summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-11-20 18:08:54 +0000
committerKarl Berry <karl@freefriends.org>2012-11-20 18:08:54 +0000
commitc5add2ea5067382269ae6f19e345fda0b9a7bd21 (patch)
tree02f512fda46d93079c9dc59c0d76f0e398150f83 /Master/tlpkg/tlperl
parent6c35e87bdc5a3f64833dbbc42e7d42e683db9d5b (diff)
perl 5.16.2, compiled without optimization for Windows (from siep)
git-svn-id: svn://tug.org/texlive/trunk@28315 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/tlperl')
-rw-r--r--Master/tlpkg/tlperl/README.TEXLIVE2
-rwxr-xr-xMaster/tlpkg/tlperl/bin/a2p.exebin106496 -> 116736 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/perl.exebin12288 -> 12288 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/perl5.16.2.exe (renamed from Master/tlpkg/tlperl/bin/perl5.14.2.exe)bin12288 -> 12288 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/perl514.dllbin1478144 -> 0 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/perl516.dllbin0 -> 1821184 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/perlglob.exebin8704 -> 8704 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/bin/wperl.exebin12288 -> 12288 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/.packlist4279
-rw-r--r--Master/tlpkg/tlperl/lib/AnyDBM_File.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/App/Cpan.pm302
-rw-r--r--Master/tlpkg/tlperl/lib/Archive/Extract.pm281
-rw-r--r--Master/tlpkg/tlperl/lib/Archive/Tar.pm84
-rw-r--r--Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm16
-rw-r--r--Master/tlpkg/tlperl/lib/Archive/Tar/File.pm115
-rw-r--r--Master/tlpkg/tlperl/lib/Attribute/Handlers.pm501
-rw-r--r--Master/tlpkg/tlperl/lib/AutoLoader.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/B.pm107
-rw-r--r--Master/tlpkg/tlperl/lib/B/Concise.pm38
-rw-r--r--Master/tlpkg/tlperl/lib/B/Debug.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/B/Deparse.pm803
-rw-r--r--Master/tlpkg/tlperl/lib/B/Lint.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/B/Lint/Debug.pm17
-rw-r--r--Master/tlpkg/tlperl/lib/B/Terse.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/B/Xref.pm52
-rw-r--r--Master/tlpkg/tlperl/lib/Benchmark.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/CGI.pm101
-rw-r--r--Master/tlpkg/tlperl/lib/CGI/Fast.pm30
-rw-r--r--Master/tlpkg/tlperl/lib/CGI/Util.pm88
-rw-r--r--Master/tlpkg/tlperl/lib/CORE.pod30
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/XSUB.h42
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/av.h2
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/charclass_invlists.h533
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/config.h2292
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/cop.h80
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/cv.h45
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/dosish.h9
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/embed.h208
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/embedvar.h467
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/feature.h127
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/form.h38
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/gv.h36
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/handy.h231
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/hv.h62
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/intrpvar.h778
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/keywords.h499
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/l1_char_class_tab.h238
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/libperl516.a (renamed from Master/tlpkg/tlperl/lib/CORE/libperl514.a)bin882018 -> 910066 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/metaconfig.h22
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/mg.h2
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/mg_data.h299
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/mg_raw.h92
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/mg_vtable.h235
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/mydtrace.h35
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/op.h130
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/op_reg_common.h8
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/opcode.h81
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/opnames.h687
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/pad.h64
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/parser.h16
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/patchlevel.h4
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perl.h911
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perlapi.h52
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perlhost.h28
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perliol.h14
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perlvars.h211
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/perly.h268
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/pp.h36
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/pp_proto.h5
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/proto.h847
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/regcharclass.h4
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/regcomp.h6
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/regexp.h19
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/regnodes.h265
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/scope.h9
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/sv.h311
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/sys/socket.h101
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/uconfig.h2294
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/unixish.h3
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/utf8.h149
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/utfebcdic.h11
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/win32.h32
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/win32iop-o.h9
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/win32iop.h10
-rw-r--r--Master/tlpkg/tlperl/lib/CORE/win32thread.h15
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN.pm84
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/CacheMgr.pm1
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Distribution.pm94
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Distroprefs.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Exception/yaml_not_installed.pm50
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Exception/yaml_process_error.pm53
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/FTP.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm48
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/HTTP/Client.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm22
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Index.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta.pm50
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/Converter.pm118
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/Feature.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/History.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/Prereqs.pm27
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/Requirements.pm680
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm44
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/Validator.pm105
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/YAML.pm62
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm439
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Shell.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS.pm38
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Backend.pm148
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Backend/RV.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Config.pm160
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Configure.pm140
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Configure/Setup.pm184
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Dist.pm20
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Autobundle.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Base.pm74
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build.pm132
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build/Constants.pm19
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Dist/MM.pm506
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Error.pm13
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/FAQ.pod8
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Hacking.pod10
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals.pm66
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants.pm165
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants/Report.pm89
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Extract.pm82
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Fetch.pm122
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Report.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Search.pm22
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source.pm346
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/Memory.pm66
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite.pm122
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm32
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Utils.pm162
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Module.pm227
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author/Fake.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Module/Fake.pm26
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Selfupdate.pm172
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Shell.pm20
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Classic.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default.pm333
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm76
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod28
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm20
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/Source.pm22
-rw-r--r--Master/tlpkg/tlperl/lib/Carp.pm111
-rw-r--r--Master/tlpkg/tlperl/lib/Carp/Heavy.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm33
-rw-r--r--Master/tlpkg/tlperl/lib/Compress/Raw/Zlib.pm187
-rw-r--r--Master/tlpkg/tlperl/lib/Compress/Zlib.pm28
-rw-r--r--Master/tlpkg/tlperl/lib/Config.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/Config.pm.orig20
-rw-r--r--Master/tlpkg/tlperl/lib/Config.pod74
-rw-r--r--Master/tlpkg/tlperl/lib/Config_heavy.pl47
-rw-r--r--Master/tlpkg/tlperl/lib/Config_heavy.pl.orig129
-rw-r--r--Master/tlpkg/tlperl/lib/Cwd.pm27
-rw-r--r--Master/tlpkg/tlperl/lib/DB.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Data/Dumper.pm103
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/DProf.pm247
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/DProf/V.pm63
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/DProf/test1_t18
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/DProf/test1_v24
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/DProf/test2_t21
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/DProf/test2_v36
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/DProf/test3_t19
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/DProf/test3_v29
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/DProf/test4_t24
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/DProf/test4_v36
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/DProf/test5_t25
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/DProf/test5_v15
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/DProf/test6_t29
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/DProf/test6_v16
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/DProf/test7_t9
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/DProf/test7_v10
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/DProf/test8_t15
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/DProf/test8_v11
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/InnerPackage.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/PPPort.pm731
-rw-r--r--Master/tlpkg/tlperl/lib/Devel/Peek.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/Digest.pm35
-rw-r--r--Master/tlpkg/tlperl/lib/Digest/SHA.pm58
-rw-r--r--Master/tlpkg/tlperl/lib/Dumpvalue.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/DynaLoader.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Encode.pm531
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/Alias.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/Encoder.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Encode/Guess.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/English.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Env.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Errno.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Exporter.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm15
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Install.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Installed.pm21
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm994
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm447
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm40
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm91
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm125
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MY.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm132
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/YAML.pm658
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Manifest.pm35
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Packlist.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm2913
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pod161
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm42
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm54
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm924
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Typemaps.pm1031
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Cmd.pm168
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm116
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm195
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm121
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/typemap75
-rw-r--r--Master/tlpkg/tlperl/lib/ExtUtils/xsubpp29
-rw-r--r--Master/tlpkg/tlperl/lib/Fatal.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/File/Basename.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/File/Copy.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/File/DosGlob.pm52
-rw-r--r--Master/tlpkg/tlperl/lib/File/Find.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/File/Glob.pm166
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/Cygwin.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/Epoc.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/Functions.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/Mac.pm27
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/OS2.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/Unix.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/VMS.pm643
-rw-r--r--Master/tlpkg/tlperl/lib/File/Spec/Win32.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/Filter/Simple.pm25
-rw-r--r--Master/tlpkg/tlperl/lib/Filter/Util/Call.pm7
-rw-r--r--Master/tlpkg/tlperl/lib/FindBin.pm41
-rw-r--r--Master/tlpkg/tlperl/lib/Getopt/Std.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/HTTP/Tiny.pm314
-rw-r--r--Master/tlpkg/tlperl/lib/Hash/Util/FieldHash.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/I18N/LangTags.pm32
-rw-r--r--Master/tlpkg/tlperl/lib/IO.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm22
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm18
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Base.pm91
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm111
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Deflate.pm23
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/FAQ.pod597
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Gzip.pm33
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm49
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Zip.pm486
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm34
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm41
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Dir.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/IO/File.pm3
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Handle.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Pipe.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Poll.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Select.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Socket.pm18
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Socket/INET.pm50
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Socket/UNIX.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Bunzip2.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Identity.pm121
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Inflate.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/AnyInflate.pm24
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/AnyUncompress.pm46
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/Base.pm150
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/Bunzip2.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/Gunzip.pm24
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/Inflate.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/RawInflate.pm16
-rw-r--r--Master/tlpkg/tlperl/lib/IO/Uncompress/Unzip.pm373
-rw-r--r--Master/tlpkg/tlperl/lib/IPC/Cmd.pm430
-rw-r--r--Master/tlpkg/tlperl/lib/IPC/Open2.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/IPC/Open3.pm238
-rw-r--r--Master/tlpkg/tlperl/lib/JSON/PP.pm21
-rw-r--r--Master/tlpkg/tlperl/lib/List/Util.pm31
-rw-r--r--Master/tlpkg/tlperl/lib/List/Util/PP.pm83
-rw-r--r--Master/tlpkg/tlperl/lib/List/Util/XS.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes.pm201
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes.pod469
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/API.pod320
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Changes.pod425
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Constants.pm133
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Constants.pod (renamed from Master/tlpkg/tlperl/lib/Locale/Constants.pod)6
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Country.pm9788
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Country.pod214
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Country_Codes.pm9552
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Country_Retired.pm429
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pm3036
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pod127
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Currency_Codes.pm3107
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Currency_Retired.pm172
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangExt.pm95
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangExt.pod116
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangExt_Codes.pm2825
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangExt_Retired.pm49
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangFam.pm95
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangFam.pod116
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangFam_Codes.pm1428
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangFam_Retired.pm49
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangVar.pm96
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangVar.pod118
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangVar_Codes.pm828
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/LangVar_Retired.pm49
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Language.pm7386
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Language.pod137
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Language_Codes.pm96273
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Language_Retired.pm176
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Script.pm2781
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Script.pod131
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Script_Codes.pm3105
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Codes/Script_Retired.pm89
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Constants.pm80
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Country.pm302
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Country.pod52
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Currency.pm276
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Currency.pod28
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Language.pm276
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Language.pod50
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Maketext.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Maketext.pod13
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Maketext/Guts.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Maketext/GutsLoader.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Maketext/TPJ13.pod4
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Script.pm276
-rw-r--r--Master/tlpkg/tlperl/lib/Locale/Script.pod35
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigFloat.pm342
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigFloat/Trace.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigInt.pm549
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigInt/CalcEmu.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigInt/Trace.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Math/BigRat.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Math/Complex.pm43
-rw-r--r--Master/tlpkg/tlperl/lib/Math/Trig.pm37
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Base.pm13
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Compat.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Config.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Cookbook.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Dumper.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/ModuleInfo.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Notes.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/Amiga.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/Default.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/EBCDIC.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/MPEiX.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/MacOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/RiscOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/Unix.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/VMS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/VOS.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/Windows.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/aix.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/cygwin.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/darwin.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/Platform/os2.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Build/PodParser.pm50
-rw-r--r--Master/tlpkg/tlperl/lib/Module/CoreList.pm32794
-rw-r--r--Master/tlpkg/tlperl/lib/Module/CoreList.pod214
-rw-r--r--Master/tlpkg/tlperl/lib/Module/CoreList/TieHashDelta.pm74
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Load.pm23
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Loaded.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Metadata.pm266
-rw-r--r--Master/tlpkg/tlperl/lib/Module/Pluggable.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Object/Accessor.pm172
-rw-r--r--Master/tlpkg/tlperl/lib/Opcode.pm10
-rw-r--r--Master/tlpkg/tlperl/lib/POSIX.pm979
-rw-r--r--Master/tlpkg/tlperl/lib/POSIX.pod15
-rw-r--r--Master/tlpkg/tlperl/lib/Params/Check.pm30
-rw-r--r--Master/tlpkg/tlperl/lib/Parse/CPAN/Meta.pm22
-rw-r--r--Master/tlpkg/tlperl/lib/PerlIO.pm29
-rw-r--r--Master/tlpkg/tlperl/lib/PerlIO/encoding.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/PerlIO/mmap.pm30
-rw-r--r--Master/tlpkg/tlperl/lib/PerlIO/scalar.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/PerlIO/via.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Checker.pm65
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Find.pm28
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Functions.pm213
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Html.pm2244
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/InputObjects.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/LaTeX.pm18
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/ParseUtils.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Parser.pm15
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc.pm1100
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/BaseTo.pm79
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/GetOptsOO.pm63
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToANSI.pm96
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToChecker.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToMan.pm595
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToNroff.pm18
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToPod.pm31
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToRtf.pm25
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTerm.pm90
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToText.pm17
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTk.pm64
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Perldoc/ToXml.pm17
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/PlainText.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Select.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple.pm34
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple.pod127
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/BlackBox.pm89
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/Checker.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/Debug.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsText.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsXML.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/HTML.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/HTMLBatch.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/LinkSection.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/Methody.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/Progress.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/PullParser.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/PullParserEndToken.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/PullParserStartToken.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/PullParserTextToken.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/PullParserToken.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/RTF.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/Search.pm16
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/SimpleTree.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/Subclassing.pod157
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/Text.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/TextContent.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/TiedOutFH.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/Transcode.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeDumb.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeSmart.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/XHTML.pm68
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Simple/XMLOutStream.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/Pod/Usage.pm23
-rw-r--r--Master/tlpkg/tlperl/lib/Safe.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/Scalar/Util.pm52
-rw-r--r--Master/tlpkg/tlperl/lib/Scalar/Util/PP.pm108
-rw-r--r--Master/tlpkg/tlperl/lib/Search/Dict.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/SelfLoader.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/Shell.pm272
-rw-r--r--Master/tlpkg/tlperl/lib/Socket.pm1062
-rw-r--r--Master/tlpkg/tlperl/lib/Storable.pm11
-rw-r--r--Master/tlpkg/tlperl/lib/Term/ANSIColor.pm32
-rw-r--r--Master/tlpkg/tlperl/lib/Term/Cap.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/Term/ReadLine.pm149
-rw-r--r--Master/tlpkg/tlperl/lib/Term/UI.pm114
-rw-r--r--Master/tlpkg/tlperl/lib/Term/UI/History.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/Text/Abbrev.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/Tie/Array.pm5
-rw-r--r--Master/tlpkg/tlperl/lib/Tie/File.pm13
-rw-r--r--Master/tlpkg/tlperl/lib/Time/HiRes.pm17
-rw-r--r--Master/tlpkg/tlperl/lib/UNIVERSAL.pm14
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate.pm190
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Korean.pm26
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Pinyin.pm5006
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Stroke.pm3765
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale.pm243
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/af.pl5
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ar.pl16
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/as.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/az.pl93
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/be.pl43
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/bg.pl45
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/bn.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ca.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cs.pl43
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cy.pl51
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/da.pl143
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/de_phone.pl51
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/eo.pl51
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es.pl11
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es_trad.pl23
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/et.pl99
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fa.pl50
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi.pl119
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi_phone.pl62
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fil.pl17
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fo.pl143
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fr.pl1
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/gu.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ha.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/haw.pl65
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hi.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hr.pl93
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hu.pl295
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hy.pl7
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ig.pl101
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/is.pl151
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ja.pl3073
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kk.pl91
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kl.pl139
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kn.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ko.pl643
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kok.pl11
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ln.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lt.pl64
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lv.pl68
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mk.pl45
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ml.pl23
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mr.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mt.pl51
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nb.pl138
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nn.pl138
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nso.pl67
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/om.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/or.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pa.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pl.pl95
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ro.pl107
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ru.pl74
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sa.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/se.pl287
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/si.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/si_dict.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sk.pl79
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sl.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sq.pl91
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sr.pl49
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv.pl167
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv_refo.pl85
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sw.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ta.pl31
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/te.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/th.pl16
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tn.pl67
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/to.pl117
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tr.pl85
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/uk.pl47
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ur.pl89
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/vi.pl419
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wae.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wo.pl55
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/yo.pl45
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh.pl415
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_big5.pl1147
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_gb.pl824
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_pin.pl1799
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_strk.pl1791
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Collate/allkeys.txt48055
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/Normalize.pm9
-rw-r--r--Master/tlpkg/tlperl/lib/Unicode/UCD.pm2218
-rw-r--r--Master/tlpkg/tlperl/lib/Win32API/File.pm18
-rw-r--r--Master/tlpkg/tlperl/lib/XSLoader.pm21
-rw-r--r--Master/tlpkg/tlperl/lib/_charnames.pm764
-rw-r--r--Master/tlpkg/tlperl/lib/abbrev.pl46
-rw-r--r--Master/tlpkg/tlperl/lib/arybase.pm98
-rw-r--r--Master/tlpkg/tlperl/lib/assert.pl63
-rw-r--r--Master/tlpkg/tlperl/lib/attributes.pm39
-rw-r--r--Master/tlpkg/tlperl/lib/auto/B/B.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/B/B.dllbin56832 -> 71168 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/Bzip2.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/Bzip2.dllbin78848 -> 101376 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/Zlib.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/Zlib.dllbin123904 -> 157696 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Cwd/Cwd.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Cwd/Cwd.dllbin12288 -> 12288 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.dllbin33792 -> 37376 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Devel/DProf/DProf.dllbin16384 -> 0 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.dllbin95744 -> 129024 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.dllbin16384 -> 18432 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.dllbin18432 -> 20992 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.dllbin45568 -> 52736 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Digest/SHA1/.packlist6
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Digest/SHA1/SHA1.dllbin17408 -> 20480 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.dllbin111104 -> 112128 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/CN/CN.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/CN/CN.dllbin743424 -> 743424 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.dllbin18944 -> 19456 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/Encode.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/Encode.dllbin31744 -> 34816 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/JP/JP.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/JP/JP.dllbin859648 -> 859648 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/KR/KR.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/KR/KR.dllbin814592 -> 815104 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/Locale/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.dllbin22528 -> 23040 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/TW/TW.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/TW/TW.dllbin760832 -> 760832 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.dllbin21504 -> 22528 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.dllbin15872 -> 16384 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/File/Glob/Glob.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/File/Glob/Glob.dllbin17408 -> 25600 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/File/Listing/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Filter/Util/Call/Call.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Filter/Util/Call/Call.dllbin13312 -> 13824 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTML/Parser/.packlist18
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/HTML/Parser/Parser.dllbin44544 -> 52736 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTML/Tagset/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTTP/Cookies/.packlist6
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTTP/Daemon/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTTP/Date/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTTP/Message/.packlist20
-rw-r--r--Master/tlpkg/tlperl/lib/auto/HTTP/Negotiate/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Hash/Util/FieldHash/FieldHash.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Hash/Util/FieldHash/FieldHash.dllbin17408 -> 18432 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Hash/Util/Util.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Hash/Util/Util.dllbin10752 -> 11264 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/IO/IO.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/IO/IO.dllbin16896 -> 19968 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/IO/String/.packlist2
-rw-r--r--Master/tlpkg/tlperl/lib/auto/LWP/.packlist66
-rw-r--r--Master/tlpkg/tlperl/lib/auto/LWP/MediaTypes/.packlist4
-rw-r--r--Master/tlpkg/tlperl/lib/auto/List/Util/Util.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/List/Util/Util.dllbin21504 -> 26112 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.dllbin14848 -> 15360 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Math/BigInt/FastCalc/FastCalc.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Math/BigInt/FastCalc/FastCalc.dllbin16384 -> 17408 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Net/HTTP/.packlist8
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Opcode/Opcode.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Opcode/Opcode.dllbin19968 -> 22528 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/POSIX.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/POSIX/POSIX.dllbin68608 -> 73728 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/flags.al9
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/handler.al9
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/mask.al9
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/new.al11
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/safe.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/CLEAR.al9
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/DELETE.al9
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/EXISTS.al9
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/FETCH.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/SCALAR.al9
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/STORE.al9
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_check.al15
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_croak.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_exist.al14
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_getsig.al17
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_init.al14
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/new.al17
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/abs.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/alarm.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/assert.al15
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/atan2.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/atexit.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/atof.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/atoi.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/atol.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/autosplit.ix173
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/bsearch.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/calloc.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/chdir.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/chmod.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/chown.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/clearerr.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/closedir.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/cos.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/creat.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/div.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/errno.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/execl.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/execle.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/execlp.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/execv.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/execve.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/execvp.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/exit.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/exp.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fabs.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fclose.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fcntl.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fdopen.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/feof.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/ferror.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fflush.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fgetc.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fgetpos.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fgets.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fileno.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fopen.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fork.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fprintf.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fputc.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fputs.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fread.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/free.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/freopen.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fscanf.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fseek.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fsetpos.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fstat.al17
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fsync.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/ftell.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/fwrite.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getc.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getchar.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getegid.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getenv.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/geteuid.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getgid.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getgrgid.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getgrnam.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getgroups.al14
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getlogin.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getpgrp.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getpid.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getppid.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getpwnam.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getpwuid.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/gets.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/getuid.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/gmtime.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/isatty.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/kill.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/labs.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/ldiv.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/link.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/load_imports.al231
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/localtime.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/log.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/longjmp.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/malloc.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/memchr.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/memcmp.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/memcpy.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/memmove.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/memset.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/mkdir.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/offsetof.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/opendir.al16
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/perror.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/pow.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/printf.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/putc.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/putchar.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/puts.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/qsort.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/raise.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/rand.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/readdir.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/realloc.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/redef.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/remove.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/rename.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/rewind.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/rewinddir.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/rmdir.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/scanf.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/setbuf.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/setjmp.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/setvbuf.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/siglongjmp.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/sigsetjmp.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/sin.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/sleep.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/sprintf.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/sqrt.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/srand.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/sscanf.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/stat.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strcat.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strchr.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strcmp.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strcpy.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strcspn.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strerror.al14
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strlen.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strncat.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strncmp.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strncpy.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strpbrk.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strrchr.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strspn.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strstr.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/strtok.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/system.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/time.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/tmpfile.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/tolower.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/toupper.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/umask.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/ungetc.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/unimpl.al14
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/unlink.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/usage.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/utime.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/vfprintf.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/vprintf.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/vsprintf.al12
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/wait.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/POSIX/waitpid.al13
-rw-r--r--Master/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.dllbin21504 -> 24064 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/PerlIO/mmap/mmap.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/PerlIO/mmap/mmap.dllbin0 -> 8704 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.dllbin13312 -> 14336 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/PerlIO/via/via.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/PerlIO/via/via.dllbin18944 -> 20480 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/SDBM_File/SDBM_File.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/SDBM_File/SDBM_File.dllbin26624 -> 29696 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Socket/Socket.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Socket/Socket.dllbin22016 -> 25088 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Storable/Storable.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Storable/Storable.dllbin75264 -> 104448 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.dllbin9216 -> 9216 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.dllbin10240 -> 10752 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.dllbin12288 -> 12800 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.dllbin18432 -> 22016 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Time/Piece/Piece.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Time/Piece/Piece.dllbin22528 -> 27136 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Tk/.packlist1324
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Canvas/Canvas.dllbin174080 -> 202240 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Compound/Compound.dllbin22016 -> 24064 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/DragDrop/Win32Site/Win32Site.dllbin12288 -> 13312 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Entry/Entry.dllbin44544 -> 51200 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Event/Event.dllbin54784 -> 65024 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/HList/HList.dllbin58368 -> 67584 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/IO/IO.dllbin10240 -> 13824 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/JPEG/JPEG.dllbin134144 -> 136192 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Listbox/Listbox.dllbin34304 -> 38912 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Menubutton/Menubutton.dllbin23040 -> 24576 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/NBFrame/NBFrame.dllbin23552 -> 27136 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/PNG/PNG.dllbin200192 -> 200704 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Pixmap/Pixmap.dllbin27648 -> 30208 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Scale/Scale.dllbin27136 -> 30208 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Scrollbar/Scrollbar.dllbin23552 -> 25600 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/TList/TList.dllbin32256 -> 36352 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Text/Text.dllbin123392 -> 136192 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/TixGrid/TixGrid.dllbin56320 -> 65536 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Tk.dllbin871936 -> 975872 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/X/X.dllbin26112 -> 34304 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Tk/Xlib/Xlib.dllbin27136 -> 32256 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/URI/.packlist104
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.dllbin542720 -> 561664 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.dllbin202752 -> 212480 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/WWW/RobotRules/.packlist4
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/API/.packlist18
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Win32/API/API.dllbin20992 -> 25600 bytes
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Win32/API/Callback/Callback.dllbin15872 -> 18944 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/Process/Info/.packlist8
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/.packlist6
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Win32/Shortcut/Shortcut.dllbin23552 -> 29696 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/TieRegistry/.packlist4
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32/Win32.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Win32/Win32.dllbin44544 -> 49664 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32API/File/File.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Win32API/File/File.dllbin71680 -> 102912 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/Win32API/Registry/.packlist8
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/Win32API/Registry/Registry.dllbin157696 -> 223744 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/arybase/arybase.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/arybase/arybase.dllbin0 -> 22016 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/attributes/attributes.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/attributes/attributes.dllbin11264 -> 12288 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/mro/mro.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/mro/mro.dllbin18944 -> 22016 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/re/re.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/re/re.dllbin344576 -> 391680 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/threads/shared/shared.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/threads/shared/shared.dllbin31744 -> 36864 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/auto/threads/threads.bs0
-rwxr-xr-xMaster/tlpkg/tlperl/lib/auto/threads/threads.dllbin30208 -> 35840 bytes
-rw-r--r--Master/tlpkg/tlperl/lib/autodie.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/autodie/exception.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/autodie/exception/system.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/autodie/hints.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/autouse.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/base.pm42
-rw-r--r--Master/tlpkg/tlperl/lib/bigfloat.pl258
-rw-r--r--Master/tlpkg/tlperl/lib/bigint.pl324
-rw-r--r--Master/tlpkg/tlperl/lib/bigint.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/bignum.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/bigrat.pl159
-rw-r--r--Master/tlpkg/tlperl/lib/bigrat.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/cacheout.pl59
-rw-r--r--Master/tlpkg/tlperl/lib/charnames.pm1245
-rw-r--r--Master/tlpkg/tlperl/lib/complete.pl124
-rw-r--r--Master/tlpkg/tlperl/lib/constant.pm25
-rw-r--r--Master/tlpkg/tlperl/lib/ctime.pl63
-rw-r--r--Master/tlpkg/tlperl/lib/diagnostics.pm66
-rw-r--r--Master/tlpkg/tlperl/lib/dotsh.pl78
-rw-r--r--Master/tlpkg/tlperl/lib/dumpvar.pl16
-rw-r--r--Master/tlpkg/tlperl/lib/encoding.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/exceptions.pl64
-rw-r--r--Master/tlpkg/tlperl/lib/fastcwd.pl47
-rw-r--r--Master/tlpkg/tlperl/lib/feature.pm334
-rw-r--r--Master/tlpkg/tlperl/lib/fields.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/find.pl54
-rw-r--r--Master/tlpkg/tlperl/lib/finddepth.pl53
-rw-r--r--Master/tlpkg/tlperl/lib/flush.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/getcwd.pl74
-rw-r--r--Master/tlpkg/tlperl/lib/getopt.pl52
-rw-r--r--Master/tlpkg/tlperl/lib/getopts.pl67
-rw-r--r--Master/tlpkg/tlperl/lib/hostname.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/if.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/importenv.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/inc/latest.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/inc/latest/private.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/locale.pm62
-rw-r--r--Master/tlpkg/tlperl/lib/look.pl54
-rw-r--r--Master/tlpkg/tlperl/lib/mro.pm12
-rw-r--r--Master/tlpkg/tlperl/lib/newgetopt.pl77
-rw-r--r--Master/tlpkg/tlperl/lib/open.pm20
-rw-r--r--Master/tlpkg/tlperl/lib/open2.pl17
-rw-r--r--Master/tlpkg/tlperl/lib/open3.pl17
-rw-r--r--Master/tlpkg/tlperl/lib/overload.pm147
-rw-r--r--Master/tlpkg/tlperl/lib/overloading.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/perl5db.pl563
-rw-r--r--Master/tlpkg/tlperl/lib/perlfaq.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/perllocal.pod88
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl.pod87
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5004delta.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5005delta.pod4
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5100delta.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5101delta.pod3
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5110delta.pod1624
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5111delta.pod365
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5112delta.pod348
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5113delta.pod558
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5114delta.pod278
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5115delta.pod327
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5120delta.pod10
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5121delta.pod5
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5122delta.pod3
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5123delta.pod3
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5124delta.pod108
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5130delta.pod133
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl51310delta.pod814
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl51311delta.pod513
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5131delta.pod287
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5132delta.pod409
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5133delta.pod667
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5134delta.pod542
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5135delta.pod592
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5136delta.pod799
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5137delta.pod945
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5138delta.pod912
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5139delta.pod646
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5140delta.pod16
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5142delta.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5143delta.pod291
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5160delta.pod4314
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5161delta.pod198
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl5162delta.pod125
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl561delta.pod7
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl56delta.pod4
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl570delta.pod899
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl571delta.pod1075
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl572delta.pod831
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl573delta.pod246
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl589delta.pod7
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl58delta.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl590delta.pod1015
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl591delta.pod323
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl592delta.pod342
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl593delta.pod551
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl594delta.pod382
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perl595delta.pod587
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlaix.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlapi.pod2168
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlapio.pod3
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlbeos.pod10
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlbook.pod11
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlboot.pod884
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlbot.pod535
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlbs2000.pod4
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlcall.pod5
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlce.pod70
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlcheat.pod118
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlcn.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlcompile.pod293
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlcygwin.pod157
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perldata.pod58
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perldbmfilter.pod1
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perldebguts.pod16
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perldebtut.pod1
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perldebug.pod88
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perldelta.pod207
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perldiag.pod1282
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perldoc.pod66
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perldtrace.pod179
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlebcdic.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlembed.pod16
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlepoc.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlexperiment.pod305
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq.pod239
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq1.pod241
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq2.pod369
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq3.pod688
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq4.pod2102
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq5.pod1082
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq6.pod769
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq7.pod739
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq8.pod962
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfaq9.pod741
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfork.pod12
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlform.pod4
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfreebsd.pod11
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlfunc.pod2051
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlgit.pod260
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlglossary.pod46
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlgpl.pod21
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlguts.pod284
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlhack.pod78
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlhacktips.pod12
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlhaiku.pod12
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlhist.pod40
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlhpux.pod29
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlhurd.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlintern.pod1860
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlinterp.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlintro.pod31
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perliol.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlipc.pod127
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlirix.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlko.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perllexwarn.pod4
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perllinux.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perllocale.pod450
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perllol.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlmacos.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlmacosx.pod16
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlmod.pod79
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlmodinstall.pod17
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlmodlib.pod1109
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlmodstyle.pod43
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlmpeix.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlmroapi.pod6
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlobj.pod1422
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlootut.pod741
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlop.pod627
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlopenbsd.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlos2.pod52
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlos390.pod4
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlos400.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlpacktut.pod3
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlperf.pod4
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlpod.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlpodspec.pod10
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlpodstyle.pod97
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlpolicy.pod62
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlport.pod15
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlpragma.pod24
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlqnx.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlre.pod365
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlreapi.pod14
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlrebackslash.pod39
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlrecharclass.pod291
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlref.pod85
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlreftut.pod4
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlrequick.pod5
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlreref.pod15
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlretut.pod78
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlriscos.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlrun.pod61
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlsec.pod1
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlsolaris.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlsource.pod121
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlsub.pod72
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlsymbian.pod4
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlsyn.pod983
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlthrtut.pod6
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perltie.pod9
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perltoc.pod12090
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perltodo.pod1278
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perltooc.pod1342
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perltoot.pod1836
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perltrap.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perltru64.pod4
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perltw.pod134
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlunicode.pod605
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlunifaq.pod3
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perluniintro.pod89
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perluniprops.pod3294
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlutil.pod25
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlvar.pod1543
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlvmesa.pod4
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlvms.pod3
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlvos.pod2
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlwin32.pod81
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlxs.pod195
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlxstut.pod49
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlxstypemap.pod699
-rw-r--r--Master/tlpkg/tlperl/lib/pwd.pl71
-rw-r--r--Master/tlpkg/tlperl/lib/re.pm8
-rw-r--r--Master/tlpkg/tlperl/lib/shellwords.pl19
-rw-r--r--Master/tlpkg/tlperl/lib/sigtrap.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/stat.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/strict.pm32
-rw-r--r--Master/tlpkg/tlperl/lib/subs.pm4
-rw-r--r--Master/tlpkg/tlperl/lib/syslog.pl201
-rw-r--r--Master/tlpkg/tlperl/lib/tainted.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/termcap.pl183
-rw-r--r--Master/tlpkg/tlperl/lib/threads.pm36
-rw-r--r--Master/tlpkg/tlperl/lib/threads/shared.pm13
-rw-r--r--Master/tlpkg/tlperl/lib/timelocal.pl23
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/Blocks.txt17
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/CaseFolding.txt21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/CombiningClass.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/Decomposition.pl163
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/Heavy.pl7007
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/Name.pl1482
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/Name.pm415
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/NamedSequences.txt13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/SpecialCasing.txt10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Age.pl98
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Bc.pl72
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Bmg.pl16
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Cf.pl767
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Digit.pl52
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Dt.pl759
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Ea.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Fold.pl20
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/GCB.pl83
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Gc.pl186
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Hst.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Isc.pl19
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Jg.pl20
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Jt.pl42
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Lb.pl206
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Lc.pl652
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Lower.pl20
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/NFCQC.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/NFDQC.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/NFKCCF.pl167
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/NFKCQC.pl48
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/NFKDQC.pl48
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Na1.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/NameAlia.pl468
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Nt.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Nv.pl989
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/PerlDeci.pl67
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/SB.pl118
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Sc.pl128
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Scx.pl773
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Tc.pl707
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Title.pl20
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Uc.pl761
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/Upper.pl20
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/WB.pl101
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/_slc.pl46
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/_stc.pl45
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/To/_suc.pl45
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/UCD.pl7960
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/AHex/N.pl16
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/AHex/Y.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/2_1.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/NA.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Age/Unassign.pl)128
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V11.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Age/1_1.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V20.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Age/2_0.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V21.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V30.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Age/3_0.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V31.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Age/3_1.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V32.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Age/3_2.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V40.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Age/4_0.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V41.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Age/4_1.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V50.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Age/5_0.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V51.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Age/5_1.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V52.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Age/5_2.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V60.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Age/6_0.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Age/V61.pl101
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Alpha/N.pl499
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Alpha/Y.pl90
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/AL.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/AN.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/B.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/BN.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/CS.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/EN.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/ES.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/ET.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/L.pl63
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRE.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRO.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/NSM.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/ON.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/PDF.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/R.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLE.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLO.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/S.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Bc/WS.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/BidiC/N.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/BidiC/Y.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/BidiM/N.pl124
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/BidiM/Y.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ASCII.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/AegeanNu.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alchemic.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alphabet.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ancient2.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientG.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientS.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arabic.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicEx.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicMa.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicP2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicPF.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicPr.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicSu.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Armenian.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arrows.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Avestan.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Balinese.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bamum.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/BamumSup.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Batak.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bengali.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/BlockEle.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomof2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomofo.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/BoxDrawi.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Brahmi.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/BrailleP.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buginese.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buhid.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Byzantin.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJK.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp3.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp4.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKCompa.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtA.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtB.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtC.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtD.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKRadic.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKStrok.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKSymbo.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif3.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif4.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif5.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnifi.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Canadian.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Carian.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Chakma.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cham.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cherokee.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini3.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini4.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combinin.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CommonIn.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CompatJa.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/ControlP.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Coptic.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Counting.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifo2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifor.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Currency.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/CypriotS.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli2.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli3.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli4.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrillic.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Deseret.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanag2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanaga.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacrit2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacrit3.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacriti.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Dingbats.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Domino.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/DominoTi.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Egyptian.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Emoticon.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose2.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose3.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose4.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclosed.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi3.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi4.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopic.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/GeneralP.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Geometri.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgia2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgian.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Glagolit.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gothic.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Greek.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/GreekExt.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gujarati.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gurmukhi.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HalfAndF.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HalfMark.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Halfwidt.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hangul.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulCo.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJ2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJ3.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJa.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulSy.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hanunoo.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hebrew.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighPUSu.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighPriv.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighSurr.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hiragana.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/IDC.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/IPAExt.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/IPAExten.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ideograp.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Imperial.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/IndicNum.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscrip2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscript.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Jamo.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/JamoExtA.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/JamoExtB.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Javanese.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kaithi.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/KanaSup.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/KanaSupp.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kanbun.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kangxi.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/KangxiRa.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kannada.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakan2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakana.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/KayahLi.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kharosht.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Khmer.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/KhmerSym.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lao.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Latin1.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx3.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx4.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx5.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinExt.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lepcha.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Letterli.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Limbu.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBI.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBS.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lisu.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/LowSurro.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lycian.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lydian.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mahjong.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MahjongT.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Malayala.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mandaic.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MathAlph.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MathOper.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mathema2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mathemat.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiM2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiMa.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Meroitic.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miao.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscArro.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscMat2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscMath.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscPict.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscSymb.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscTech.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell3.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell4.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell5.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell6.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscella.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifie2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifier.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mongolia.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Music.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MusicalS.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Myanmar.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/MyanmarE.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/NB.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Blk/NoBlock.pl)25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/NKo.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/NewTaiLu.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/NumberFo.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/OCR.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ogham.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/OlChiki.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldItali.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldPersi.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldSouth.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldTurki.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/OpticalC.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Oriya.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Osmanya.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/PUA.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/PhagsPa.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phaistos.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoenici.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoneti2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phonetic.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/PlayingC.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/PrivateU.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Punctuat.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rejang.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rumi.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/RumiNume.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Runic.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Samarita.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Saurasht.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sharada.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Shavian.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sinhala.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SmallFor.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SoraSomp.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SpacingM.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Specials.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundane2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundanes.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupArro2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupArrow.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupMathO.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPUAA.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPUAB.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPunct.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SuperAnd.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Superscr.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem3.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem4.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem5.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem6.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Suppleme.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/SylotiNa.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Syriac.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagalog.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagbanwa.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tags.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiLe.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiTham.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiViet.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiXuanJ.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Takri.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tamil.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Telugu.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thaana.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thai.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tibetan.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tifinagh.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Transpor.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/UCAS.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/UCASExt.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ugaritic.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/UnifiedC.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/VS.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/VSSup.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vai.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Variati2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Variatio.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/VedicExt.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vertical.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiRadica.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiSyllab.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/Yijing.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Blk/YijingHe.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CE/N.pl46
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CE/Y.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CI/N.pl290
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CI/Y.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWCF/N.pl590
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWCF/Y.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWCM/N.pl112
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWCM/Y.pl19
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/N.pl765
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/Y.pl51
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWL/N.pl579
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWL/Y.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWT/N.pl596
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWT/Y.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWU/N.pl595
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CWU/Y.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Cased/N.pl125
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Cased/Y.pl23
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/10.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/103.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/107.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/11.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/118.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/12.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/122.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/129.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/13.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/130.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/132.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/14.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/15.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/16.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/17.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/18.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/19.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/20.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/21.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/22.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/23.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/24.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/25.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/26.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/27.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/28.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/29.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/30.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/31.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/32.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/33.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/34.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/35.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/36.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/84.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/91.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/A.pl19
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AL.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AR.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATA.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATAR.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATB.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATBL.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/B.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BL.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BR.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC10.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC103.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC107.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC11.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC118.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC12.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC122.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC129.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC13.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC130.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC132.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC14.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC15.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC16.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC17.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC18.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC19.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC20.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC21.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC22.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC23.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC24.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC25.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC26.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC27.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC28.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC29.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC30.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC31.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC32.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC33.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC34.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC35.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC36.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC84.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC91.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DA.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DB.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/IS.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/KV.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/L.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NK.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NR.pl30
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/OV.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/R.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ccc/VR.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CompEx/N.pl87
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/CompEx/Y.pl11
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/DI/N.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/DI/Y.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dash/N.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dash/Y.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dep/N.pl22
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dep/Y.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dia/N.pl130
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dia/Y.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Com.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Enc.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fin.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Font.pl41
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fra.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Init.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Iso.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Med.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nar.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nb.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/NonCanon.pl43
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/None.pl53
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sml.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sqr.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sub.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sup.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Dt/Vert.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ea/A.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ea/F.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ea/H.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ea/N.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ea/Na.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ea/W.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ext/N.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ext/Y.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/CN.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/CR.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/EX.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/L.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/LF.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/PP.pl17
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/SM.pl45
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/T.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/V.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GCB/XX.pl86
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/C.pl127
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cc.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cf.pl11
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cn.pl128
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Co.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cs.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/L.pl81
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/LC.pl23
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ll.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lm.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lo.pl70
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lu.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/M.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mc.pl23
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Me.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mn.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/N.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nd.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Nt/De.pl)12
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nl.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/No.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/P.pl23
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pc.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pd.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pe.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pf.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pi.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Po.pl23
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ps.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/S.pl42
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sc.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sk.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sm.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/So.pl35
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Z.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zl.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zp.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zs.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GrBase/N.pl609
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GrBase/Y.pl121
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/GrExt/N.pl228
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Hex/N.pl19
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Hex/Y.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Hst/NA.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/N.pl23
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/Y.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDC/N.pl527
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDC/Y.pl96
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDS/N.pl450
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDS/Y.pl81
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDSB/N.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDSB/Y.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDST/N.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/IDST/Y.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ideo/N.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Ideo/Y.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/2_0.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/2_1.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/3_0.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/3_1.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/3_2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/4_0.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/4_1.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/5_0.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/5_1.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/5_2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/6_0.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/In/6_1.pl561
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Ain.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alaph.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alef.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beh.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beth.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Burushas.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Dal.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/DalathRi.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/E.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/FarsiYeh.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Fe.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Feh.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/FinalSem.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gaf.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gamal.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Hah.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/HamzaOnH.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/He.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heh.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/HehGoal.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heth.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaf.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaph.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Khaph.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/KnottedH.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lam.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lamadh.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Meem.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Mim.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/NoJoinin.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Noon.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nun.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nya.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Pe.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaf.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaph.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reh.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reversed.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Rohingya.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sad.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sadhe.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Seen.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Semkath.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Shin.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/SwashKaf.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/SyriacWa.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Tah.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Taw.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarb2.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarbu.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Teth.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Waw.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yeh.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehBarre.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehWithT.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yudh.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/YudhHe.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zain.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zhain.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/JoinC/N.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/JoinC/Y.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jt/C.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jt/D.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jt/R.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jt/T.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Jt/U.pl45
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/LOE/N.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/LOE/Y.pl17
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/AI.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/AL.pl112
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/B2.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/BA.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/BB.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/BK.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/CB.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/CJ.pl37
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/CL.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/CM.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/CP.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/CR.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/EX.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/GL.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/H2.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/GCB/LV.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/H3.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/GCB/LVT.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/HL.pl22
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/HY.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/ID.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/IN.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/IS.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/JL.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/JT.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/JV.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/LF.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/NL.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/NS.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/NU.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/OP.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/PO.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/PR.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/QU.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/SA.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/SG.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/SP.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/SY.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/WJ.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/XX.pl125
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lb/ZW.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lower/N.pl625
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Lower/Y.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Math/N.pl119
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Math/Y.pl46
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NChar/N.pl30
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NChar/Y.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/Y.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/N.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/Y.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/M.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/N.pl46
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/Y.pl53
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/N.pl47
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nt/Di.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nt/Nu.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/0.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/10.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/100.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/100000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000002.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/11.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/11_2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/12.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/13.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/13_2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/14.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/15.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/15_2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/16.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/17.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/17_2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/18.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/19.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_10.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_16.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_3.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_4.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_5.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_6.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_7.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_8.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_9.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/2.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/20.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/200.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/2000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/20000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/21.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/22.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/23.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/24.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/25.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/26.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/27.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/28.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/29.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_3.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_5.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/30.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/300.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/30000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/31.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/32.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/33.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/34.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/35.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/36.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/37.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/38.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/39.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_16.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_4.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_5.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_8.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/4.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/40.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/400.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/4000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/40000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/41.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/42.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/43.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/44.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/45.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/46.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/47.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/48.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/49.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/4_5.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/5.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/50.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/500.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/5000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/50000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_6.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_8.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/6.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/60.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/600.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/6000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/60000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/7.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/70.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/700.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/7000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/70000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_8.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/8.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/80.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/800.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/8000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/80000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/9.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/90.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/900.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/9000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/90000.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/9_2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/NaN.pl17
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Nv/_1_2.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OAlpha/N.pl158
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OAlpha/Y.pl157
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/ODI/N.pl23
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/ODI/Y.pl22
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OGrExt/N.pl29
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OGrExt/Y.pl28
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OIDC/N.pl17
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OIDC/Y.pl16
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OIDS/N.pl16
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OIDS/Y.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OLower/N.pl26
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OLower/Y.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OMath/N.pl113
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OMath/Y.pl112
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OUpper/N.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/OUpper/Y.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/N.pl41
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/Y.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/PatWS/N.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/PatWS/Y.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Alnum.pl93
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Any.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Assigned.pl124
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Blank.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Graph.pl124
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlSpac.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlWord.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAln.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAlp.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixBla.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixCnt.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixDig.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixGra.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixLow.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPri.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPun.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixSpa.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixUpp.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Print.pl124
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/SpacePer.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Title.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/VertSpac.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/Word.pl96
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/XPosixPu.pl23
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlIDS.pl509
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlNon.pl40
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlQuo.pl49
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XBegin.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XExtend.pl55
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XLVLVTV.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/QMark/N.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/QMark/Y.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Radical/N.pl16
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Radical/Y.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/AT.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/CL.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/EX.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/FO.pl11
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/LE.pl73
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/LO.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/SC.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/SE.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/ST.pl11
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/Sp.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/UP.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SB/XX.pl103
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SD/N.pl44
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/SD/Y.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/STerm/N.pl60
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/STerm/Y.pl11
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Arab.pl47
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armi.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armn.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Avst.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bali.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bamu.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Batk.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Beng.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bopo.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Brah.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bugi.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Buhd.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cans.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cari.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cham.pl16
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cher.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Copt.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cprt.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cyrl.pl19
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Deva.pl11
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Egyp.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Geor.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Glag.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Goth.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Gujr.pl11
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Guru.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Han.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hang.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hano.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hira.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ital.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Java.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kana.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khmr.pl16
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kthi.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lana.pl17
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lepc.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Limb.pl17
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Linb.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lyci.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lydi.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mand.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mong.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mtei.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mymr.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Nko.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ogam.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orkh.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orya.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Osma.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phag.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phli.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phnx.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Prti.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Rjng.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Runr.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Samr.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Saur.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sund.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sylo.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Syrc.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tagb.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Takr.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tale.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Talu.pl16
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tavt.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tfng.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tglg.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thaa.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thai.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ugar.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Vai.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xpeo.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xsux.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Yi.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zinh.pl9
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zyyy.pl34
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Arab.pl63
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Armi.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Armn.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Avst.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bali.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bamu.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Batk.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Beng.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bopo.pl32
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Brah.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Brai.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bugi.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Buhd.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cakm.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cans.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cari.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cham.pl16
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cher.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Copt.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cprt.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cyrl.pl19
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Deva.pl17
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Dsrt.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Egyp.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Ethi.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ethi.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Geor.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Glag.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Goth.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Grek.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Sc/Grek.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Gujr.pl26
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Guru.pl30
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Han.pl40
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hang.pl41
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hano.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hebr.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hebr.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hira.pl36
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Ital.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Java.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kali.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kana.pl34
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Khar.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khar.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Khmr.pl16
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Knda.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Sc/Knda.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kthi.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lana.pl17
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lao.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lao.pl)10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Latn.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Sc/Latn.pl)14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lepc.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Limb.pl17
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Linb.pl22
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lisu.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lyci.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lydi.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mand.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Merc.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mero.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Miao.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mlym.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mlym.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mong.pl16
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mtei.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mymr.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Nko.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Ogam.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Olck.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Orkh.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Orya.pl27
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Osma.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Phag.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Phli.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Phnx.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Prti.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Rjng.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Runr.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Samr.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sarb.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Saur.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Shaw.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Shrd.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sinh.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sinh.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sora.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sund.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sylo.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Syrc.pl21
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tagb.pl16
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Takr.pl16
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tale.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Talu.pl16
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Taml.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Sc/Taml.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tavt.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Telu.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Sc/Telu.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tfng.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tglg.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Thaa.pl19
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Thai.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tibt.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tibt.pl)8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Ugar.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Vai.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Xpeo.pl14
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Xsux.pl15
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Yi.pl19
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zinh.pl33
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zyyy.pl152
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zzzz.pl (renamed from Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zzzz.pl)128
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Space/N.pl24
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Space/Y.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Term/N.pl80
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Term/Y.pl11
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/N.pl25
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/Y.pl10
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Upper/N.pl618
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/Upper/Y.pl13
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/VS/N.pl16
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/VS/Y.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/EX.pl18
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/FO.pl11
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/KA.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/LE.pl74
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/MB.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/ML.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/MN.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/NL.pl8
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/NU.pl12
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/WB/XX.pl98
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/XIDC/N.pl534
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/XIDC/Y.pl96
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/XIDS/N.pl457
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/lib/XIDS/Y.pl81
-rw-r--r--Master/tlpkg/tlperl/lib/unicore/version2
-rw-r--r--Master/tlpkg/tlperl/lib/utf8_heavy.pl227
-rw-r--r--Master/tlpkg/tlperl/lib/validate.pl104
-rw-r--r--Master/tlpkg/tlperl/lib/version.pm2
-rw-r--r--Master/tlpkg/tlperl/lib/version.pod19
-rw-r--r--Master/tlpkg/tlperl/lib/version/Internals.pod34
-rw-r--r--Master/tlpkg/tlperl/lib/version/Requirements.pm21
-rw-r--r--Master/tlpkg/tlperl/lib/vmsish.pm6
-rw-r--r--Master/tlpkg/tlperl/lib/warnings.pm9
2241 files changed, 260855 insertions, 175585 deletions
diff --git a/Master/tlpkg/tlperl/README.TEXLIVE b/Master/tlpkg/tlperl/README.TEXLIVE
index 611946a96b5..67d7d670008 100644
--- a/Master/tlpkg/tlperl/README.TEXLIVE
+++ b/Master/tlpkg/tlperl/README.TEXLIVE
@@ -1,4 +1,4 @@
-This directory contains Perl 5.14.3 compiled for Windows.
+This directory contains Perl 5.16.2 compiled for Windows.
The only purpose of this Perl is to provide support on Windows for
Perl scripts shipped with TeX Live. It's not intended for general use.
diff --git a/Master/tlpkg/tlperl/bin/a2p.exe b/Master/tlpkg/tlperl/bin/a2p.exe
index 06e8c7a16bf..0667f67600f 100755
--- a/Master/tlpkg/tlperl/bin/a2p.exe
+++ b/Master/tlpkg/tlperl/bin/a2p.exe
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/perl.exe b/Master/tlpkg/tlperl/bin/perl.exe
index 11665670873..17c80687d96 100755
--- a/Master/tlpkg/tlperl/bin/perl.exe
+++ b/Master/tlpkg/tlperl/bin/perl.exe
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/perl5.14.2.exe b/Master/tlpkg/tlperl/bin/perl5.16.2.exe
index 11665670873..17c80687d96 100755
--- a/Master/tlpkg/tlperl/bin/perl5.14.2.exe
+++ b/Master/tlpkg/tlperl/bin/perl5.16.2.exe
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/perl514.dll b/Master/tlpkg/tlperl/bin/perl514.dll
deleted file mode 100755
index f192cbe973c..00000000000
--- a/Master/tlpkg/tlperl/bin/perl514.dll
+++ /dev/null
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/perl516.dll b/Master/tlpkg/tlperl/bin/perl516.dll
new file mode 100755
index 00000000000..f0d7573ec9b
--- /dev/null
+++ b/Master/tlpkg/tlperl/bin/perl516.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/perlglob.exe b/Master/tlpkg/tlperl/bin/perlglob.exe
index 93b6a85c42b..7185aea6d4d 100755
--- a/Master/tlpkg/tlperl/bin/perlglob.exe
+++ b/Master/tlpkg/tlperl/bin/perlglob.exe
Binary files differ
diff --git a/Master/tlpkg/tlperl/bin/wperl.exe b/Master/tlpkg/tlperl/bin/wperl.exe
index 33d6ec6819f..e38fcdfc9e6 100755
--- a/Master/tlpkg/tlperl/bin/wperl.exe
+++ b/Master/tlpkg/tlperl/bin/wperl.exe
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/.packlist b/Master/tlpkg/tlperl/lib/.packlist
index 5ad15b45e78..61180acc008 100644
--- a/Master/tlpkg/tlperl/lib/.packlist
+++ b/Master/tlpkg/tlperl/lib/.packlist
@@ -1,2198 +1,2081 @@
-x:\tlperl\bin/a2p.exe type=file
-x:\tlperl\bin/c2ph.bat type=file
-x:\tlperl\bin/config_data.bat type=file
-x:\tlperl\bin/corelist.bat type=file
-x:\tlperl\bin/cpan.bat type=file
-x:\tlperl\bin/cpan2dist.bat type=file
-x:\tlperl\bin/cpanp-run-perl.bat type=file
-x:\tlperl\bin/cpanp.bat type=file
-x:\tlperl\bin/dprofpp.bat type=file
-x:\tlperl\bin/enc2xs.bat type=file
-x:\tlperl\bin/find2perl.bat type=file
-x:\tlperl\bin/h2ph.bat type=file
-x:\tlperl\bin/h2xs.bat type=file
-x:\tlperl\bin/instmodsh.bat type=file
-x:\tlperl\bin/json_pp.bat type=file
-x:\tlperl\bin/libnetcfg.bat type=file
-x:\tlperl\bin/perl.exe from=x:\tlperl\bin/perl5.14.2.exe type=link
-x:\tlperl\bin/perl5.14.2.exe type=file
-x:\tlperl\bin/perl514.dll type=file
-x:\tlperl\bin/perlbug.bat type=file
-x:\tlperl\bin/perldoc.bat type=file
-x:\tlperl\bin/perlivp.bat type=file
-x:\tlperl\bin/perlthanks.bat from=x:\tlperl\bin/perlbug.bat type=link
-x:\tlperl\bin/piconv.bat type=file
-x:\tlperl\bin/pl2pm.bat type=file
-x:\tlperl\bin/pod2html.bat type=file
-x:\tlperl\bin/pod2latex.bat type=file
-x:\tlperl\bin/pod2man.bat type=file
-x:\tlperl\bin/pod2text.bat type=file
-x:\tlperl\bin/pod2usage.bat type=file
-x:\tlperl\bin/podchecker.bat type=file
-x:\tlperl\bin/podselect.bat type=file
-x:\tlperl\bin/prove.bat type=file
-x:\tlperl\bin/psed.bat from=x:\tlperl\bin/s2p.bat type=link
-x:\tlperl\bin/pstruct.bat from=x:\tlperl\bin/c2ph.bat type=link
-x:\tlperl\bin/ptar.bat type=file
-x:\tlperl\bin/ptardiff.bat type=file
-x:\tlperl\bin/ptargrep.bat type=file
-x:\tlperl\bin/s2p.bat type=file
-x:\tlperl\bin/shasum.bat type=file
-x:\tlperl\bin/splain.bat type=file
-x:\tlperl\bin/xsubpp.bat type=file
-x:\tlperl\lib/AnyDBM_File.pm type=file
-x:\tlperl\lib/App/Cpan.pm type=file
-x:\tlperl\lib/App/Prove.pm type=file
-x:\tlperl\lib/App/Prove/State.pm type=file
-x:\tlperl\lib/App/Prove/State/Result.pm type=file
-x:\tlperl\lib/App/Prove/State/Result/Test.pm type=file
-x:\tlperl\lib/Archive/Extract.pm type=file
-x:\tlperl\lib/Archive/Tar.pm type=file
-x:\tlperl\lib/Archive/Tar/Constant.pm type=file
-x:\tlperl\lib/Archive/Tar/File.pm type=file
-x:\tlperl\lib/Attribute/Handlers.pm type=file
-x:\tlperl\lib/AutoLoader.pm type=file
-x:\tlperl\lib/AutoSplit.pm type=file
-x:\tlperl\lib/B.pm type=file
-x:\tlperl\lib/B/Concise.pm type=file
-x:\tlperl\lib/B/Debug.pm type=file
-x:\tlperl\lib/B/Deparse.pm type=file
-x:\tlperl\lib/B/Lint.pm type=file
-x:\tlperl\lib/B/Lint/Debug.pm type=file
-x:\tlperl\lib/B/Showlex.pm type=file
-x:\tlperl\lib/B/Terse.pm type=file
-x:\tlperl\lib/B/Xref.pm type=file
-x:\tlperl\lib/Benchmark.pm type=file
-x:\tlperl\lib/CGI.pm type=file
-x:\tlperl\lib/CGI/Apache.pm type=file
-x:\tlperl\lib/CGI/Carp.pm type=file
-x:\tlperl\lib/CGI/Cookie.pm type=file
-x:\tlperl\lib/CGI/Fast.pm type=file
-x:\tlperl\lib/CGI/Pretty.pm type=file
-x:\tlperl\lib/CGI/Push.pm type=file
-x:\tlperl\lib/CGI/Switch.pm type=file
-x:\tlperl\lib/CGI/Util.pm type=file
-x:\tlperl\lib/CORE.pod type=file
-x:\tlperl\lib/CORE/EXTERN.h type=file
-x:\tlperl\lib/CORE/INTERN.h type=file
-x:\tlperl\lib/CORE/XSUB.h type=file
-x:\tlperl\lib/CORE/arpa/inet.h type=file
-x:\tlperl\lib/CORE/av.h type=file
-x:\tlperl\lib/CORE/bitcount.h type=file
-x:\tlperl\lib/CORE/config.h type=file
-x:\tlperl\lib/CORE/cop.h type=file
-x:\tlperl\lib/CORE/cv.h type=file
-x:\tlperl\lib/CORE/dirent.h type=file
-x:\tlperl\lib/CORE/dosish.h type=file
-x:\tlperl\lib/CORE/embed.h type=file
-x:\tlperl\lib/CORE/embedvar.h type=file
-x:\tlperl\lib/CORE/fakesdio.h type=file
-x:\tlperl\lib/CORE/fakethr.h type=file
-x:\tlperl\lib/CORE/form.h type=file
-x:\tlperl\lib/CORE/git_version.h type=file
-x:\tlperl\lib/CORE/gv.h type=file
-x:\tlperl\lib/CORE/handy.h type=file
-x:\tlperl\lib/CORE/hv.h type=file
-x:\tlperl\lib/CORE/intrpvar.h type=file
-x:\tlperl\lib/CORE/iperlsys.h type=file
-x:\tlperl\lib/CORE/keywords.h type=file
-x:\tlperl\lib/CORE/l1_char_class_tab.h type=file
-x:\tlperl\lib/CORE/libperl514.a type=file
-x:\tlperl\lib/CORE/malloc_ctl.h type=file
-x:\tlperl\lib/CORE/metaconfig.h type=file
-x:\tlperl\lib/CORE/mg.h type=file
-x:\tlperl\lib/CORE/mydtrace.h type=file
-x:\tlperl\lib/CORE/netdb.h type=file
-x:\tlperl\lib/CORE/nostdio.h type=file
-x:\tlperl\lib/CORE/op.h type=file
-x:\tlperl\lib/CORE/op_reg_common.h type=file
-x:\tlperl\lib/CORE/opcode.h type=file
-x:\tlperl\lib/CORE/opnames.h type=file
-x:\tlperl\lib/CORE/overload.h type=file
-x:\tlperl\lib/CORE/pad.h type=file
-x:\tlperl\lib/CORE/parser.h type=file
-x:\tlperl\lib/CORE/patchlevel.h type=file
-x:\tlperl\lib/CORE/perl.h type=file
-x:\tlperl\lib/CORE/perlapi.h type=file
-x:\tlperl\lib/CORE/perlhost.h type=file
-x:\tlperl\lib/CORE/perlio.h type=file
-x:\tlperl\lib/CORE/perliol.h type=file
-x:\tlperl\lib/CORE/perlsdio.h type=file
-x:\tlperl\lib/CORE/perlsfio.h type=file
-x:\tlperl\lib/CORE/perlvars.h type=file
-x:\tlperl\lib/CORE/perly.h type=file
-x:\tlperl\lib/CORE/pp.h type=file
-x:\tlperl\lib/CORE/pp_proto.h type=file
-x:\tlperl\lib/CORE/proto.h type=file
-x:\tlperl\lib/CORE/reentr.h type=file
-x:\tlperl\lib/CORE/regcharclass.h type=file
-x:\tlperl\lib/CORE/regcomp.h type=file
-x:\tlperl\lib/CORE/regexp.h type=file
-x:\tlperl\lib/CORE/regnodes.h type=file
-x:\tlperl\lib/CORE/scope.h type=file
-x:\tlperl\lib/CORE/sv.h type=file
-x:\tlperl\lib/CORE/sys/socket.h type=file
-x:\tlperl\lib/CORE/thread.h type=file
-x:\tlperl\lib/CORE/time64.h type=file
-x:\tlperl\lib/CORE/time64_config.h type=file
-x:\tlperl\lib/CORE/uconfig.h type=file
-x:\tlperl\lib/CORE/unixish.h type=file
-x:\tlperl\lib/CORE/utf8.h type=file
-x:\tlperl\lib/CORE/utfebcdic.h type=file
-x:\tlperl\lib/CORE/util.h type=file
-x:\tlperl\lib/CORE/uudmap.h type=file
-x:\tlperl\lib/CORE/vdir.h type=file
-x:\tlperl\lib/CORE/vmem.h type=file
-x:\tlperl\lib/CORE/warnings.h type=file
-x:\tlperl\lib/CORE/win32.h type=file
-x:\tlperl\lib/CORE/win32iop-o.h type=file
-x:\tlperl\lib/CORE/win32iop.h type=file
-x:\tlperl\lib/CORE/win32thread.h type=file
-x:\tlperl\lib/CORE/wince.h type=file
-x:\tlperl\lib/CPAN.pm type=file
-x:\tlperl\lib/CPAN/API/HOWTO.pod type=file
-x:\tlperl\lib/CPAN/Author.pm type=file
-x:\tlperl\lib/CPAN/Bundle.pm type=file
-x:\tlperl\lib/CPAN/CacheMgr.pm type=file
-x:\tlperl\lib/CPAN/Complete.pm type=file
-x:\tlperl\lib/CPAN/Debug.pm type=file
-x:\tlperl\lib/CPAN/DeferredCode.pm type=file
-x:\tlperl\lib/CPAN/Distribution.pm type=file
-x:\tlperl\lib/CPAN/Distroprefs.pm type=file
-x:\tlperl\lib/CPAN/Distrostatus.pm type=file
-x:\tlperl\lib/CPAN/Exception/RecursiveDependency.pm type=file
-x:\tlperl\lib/CPAN/Exception/blocked_urllist.pm type=file
-x:\tlperl\lib/CPAN/Exception/yaml_not_installed.pm type=file
-x:\tlperl\lib/CPAN/FTP.pm type=file
-x:\tlperl\lib/CPAN/FTP/netrc.pm type=file
-x:\tlperl\lib/CPAN/FirstTime.pm type=file
-x:\tlperl\lib/CPAN/HTTP/Client.pm type=file
-x:\tlperl\lib/CPAN/HTTP/Credentials.pm type=file
-x:\tlperl\lib/CPAN/HandleConfig.pm type=file
-x:\tlperl\lib/CPAN/Index.pm type=file
-x:\tlperl\lib/CPAN/InfoObj.pm type=file
-x:\tlperl\lib/CPAN/Kwalify.pm type=file
-x:\tlperl\lib/CPAN/Kwalify/distroprefs.dd type=file
-x:\tlperl\lib/CPAN/Kwalify/distroprefs.yml type=file
-x:\tlperl\lib/CPAN/LWP/UserAgent.pm type=file
-x:\tlperl\lib/CPAN/Meta.pm type=file
-x:\tlperl\lib/CPAN/Meta/Converter.pm type=file
-x:\tlperl\lib/CPAN/Meta/Feature.pm type=file
-x:\tlperl\lib/CPAN/Meta/History.pm type=file
-x:\tlperl\lib/CPAN/Meta/Prereqs.pm type=file
-x:\tlperl\lib/CPAN/Meta/Spec.pm type=file
-x:\tlperl\lib/CPAN/Meta/Validator.pm type=file
-x:\tlperl\lib/CPAN/Meta/YAML.pm type=file
-x:\tlperl\lib/CPAN/Mirrors.pm type=file
-x:\tlperl\lib/CPAN/Module.pm type=file
-x:\tlperl\lib/CPAN/Nox.pm type=file
-x:\tlperl\lib/CPAN/Prompt.pm type=file
-x:\tlperl\lib/CPAN/Queue.pm type=file
-x:\tlperl\lib/CPAN/Shell.pm type=file
-x:\tlperl\lib/CPAN/Tarzip.pm type=file
-x:\tlperl\lib/CPAN/URL.pm type=file
-x:\tlperl\lib/CPAN/Version.pm type=file
-x:\tlperl\lib/CPANPLUS.pm type=file
-x:\tlperl\lib/CPANPLUS/Backend.pm type=file
-x:\tlperl\lib/CPANPLUS/Backend/RV.pm type=file
-x:\tlperl\lib/CPANPLUS/Config.pm type=file
-x:\tlperl\lib/CPANPLUS/Configure.pm type=file
-x:\tlperl\lib/CPANPLUS/Configure/Setup.pm type=file
-x:\tlperl\lib/CPANPLUS/Dist.pm type=file
-x:\tlperl\lib/CPANPLUS/Dist/Autobundle.pm type=file
-x:\tlperl\lib/CPANPLUS/Dist/Base.pm type=file
-x:\tlperl\lib/CPANPLUS/Dist/Build.pm type=file
-x:\tlperl\lib/CPANPLUS/Dist/Build/Constants.pm type=file
-x:\tlperl\lib/CPANPLUS/Dist/MM.pm type=file
-x:\tlperl\lib/CPANPLUS/Dist/Sample.pm type=file
-x:\tlperl\lib/CPANPLUS/Error.pm type=file
-x:\tlperl\lib/CPANPLUS/FAQ.pod type=file
-x:\tlperl\lib/CPANPLUS/Hacking.pod type=file
-x:\tlperl\lib/CPANPLUS/Internals.pm type=file
-x:\tlperl\lib/CPANPLUS/Internals/Constants.pm type=file
-x:\tlperl\lib/CPANPLUS/Internals/Constants/Report.pm type=file
-x:\tlperl\lib/CPANPLUS/Internals/Extract.pm type=file
-x:\tlperl\lib/CPANPLUS/Internals/Fetch.pm type=file
-x:\tlperl\lib/CPANPLUS/Internals/Report.pm type=file
-x:\tlperl\lib/CPANPLUS/Internals/Search.pm type=file
-x:\tlperl\lib/CPANPLUS/Internals/Source.pm type=file
-x:\tlperl\lib/CPANPLUS/Internals/Source/Memory.pm type=file
-x:\tlperl\lib/CPANPLUS/Internals/Source/SQLite.pm type=file
-x:\tlperl\lib/CPANPLUS/Internals/Source/SQLite/Tie.pm type=file
-x:\tlperl\lib/CPANPLUS/Internals/Utils.pm type=file
-x:\tlperl\lib/CPANPLUS/Internals/Utils/Autoflush.pm type=file
-x:\tlperl\lib/CPANPLUS/Module.pm type=file
-x:\tlperl\lib/CPANPLUS/Module/Author.pm type=file
-x:\tlperl\lib/CPANPLUS/Module/Author/Fake.pm type=file
-x:\tlperl\lib/CPANPLUS/Module/Checksums.pm type=file
-x:\tlperl\lib/CPANPLUS/Module/Fake.pm type=file
-x:\tlperl\lib/CPANPLUS/Module/Signature.pm type=file
-x:\tlperl\lib/CPANPLUS/Selfupdate.pm type=file
-x:\tlperl\lib/CPANPLUS/Shell.pm type=file
-x:\tlperl\lib/CPANPLUS/Shell/Classic.pm type=file
-x:\tlperl\lib/CPANPLUS/Shell/Default.pm type=file
-x:\tlperl\lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm type=file
-x:\tlperl\lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod type=file
-x:\tlperl\lib/CPANPLUS/Shell/Default/Plugins/Remote.pm type=file
-x:\tlperl\lib/CPANPLUS/Shell/Default/Plugins/Source.pm type=file
-x:\tlperl\lib/Carp.pm type=file
-x:\tlperl\lib/Carp/Heavy.pm type=file
-x:\tlperl\lib/Class/Struct.pm type=file
-x:\tlperl\lib/Compress/Raw/Bzip2.pm type=file
-x:\tlperl\lib/Compress/Raw/Zlib.pm type=file
-x:\tlperl\lib/Compress/Zlib.pm type=file
-x:\tlperl\lib/Config.pm type=file
-x:\tlperl\lib/Config.pod type=file
-x:\tlperl\lib/Config/Extensions.pm type=file
-x:\tlperl\lib/Config_git.pl type=file
-x:\tlperl\lib/Config_heavy.pl type=file
-x:\tlperl\lib/Cwd.pm type=file
-x:\tlperl\lib/DB.pm type=file
-x:\tlperl\lib/DBM_Filter.pm type=file
-x:\tlperl\lib/DBM_Filter/compress.pm type=file
-x:\tlperl\lib/DBM_Filter/encode.pm type=file
-x:\tlperl\lib/DBM_Filter/int32.pm type=file
-x:\tlperl\lib/DBM_Filter/null.pm type=file
-x:\tlperl\lib/DBM_Filter/utf8.pm type=file
-x:\tlperl\lib/Data/Dumper.pm type=file
-x:\tlperl\lib/Devel/DProf.pm type=file
-x:\tlperl\lib/Devel/DProf/V.pm type=file
-x:\tlperl\lib/Devel/DProf/test1_t type=file
-x:\tlperl\lib/Devel/DProf/test1_v type=file
-x:\tlperl\lib/Devel/DProf/test2_t type=file
-x:\tlperl\lib/Devel/DProf/test2_v type=file
-x:\tlperl\lib/Devel/DProf/test3_t type=file
-x:\tlperl\lib/Devel/DProf/test3_v type=file
-x:\tlperl\lib/Devel/DProf/test4_t type=file
-x:\tlperl\lib/Devel/DProf/test4_v type=file
-x:\tlperl\lib/Devel/DProf/test5_t type=file
-x:\tlperl\lib/Devel/DProf/test5_v type=file
-x:\tlperl\lib/Devel/DProf/test6_t type=file
-x:\tlperl\lib/Devel/DProf/test6_v type=file
-x:\tlperl\lib/Devel/DProf/test7_t type=file
-x:\tlperl\lib/Devel/DProf/test7_v type=file
-x:\tlperl\lib/Devel/DProf/test8_t type=file
-x:\tlperl\lib/Devel/DProf/test8_v type=file
-x:\tlperl\lib/Devel/InnerPackage.pm type=file
-x:\tlperl\lib/Devel/PPPort.pm type=file
-x:\tlperl\lib/Devel/Peek.pm type=file
-x:\tlperl\lib/Devel/SelfStubber.pm type=file
-x:\tlperl\lib/Digest.pm type=file
-x:\tlperl\lib/Digest/MD5.pm type=file
-x:\tlperl\lib/Digest/SHA.pm type=file
-x:\tlperl\lib/Digest/base.pm type=file
-x:\tlperl\lib/Digest/file.pm type=file
-x:\tlperl\lib/DirHandle.pm type=file
-x:\tlperl\lib/Dumpvalue.pm type=file
-x:\tlperl\lib/DynaLoader.pm type=file
-x:\tlperl\lib/Encode.pm type=file
-x:\tlperl\lib/Encode/Alias.pm type=file
-x:\tlperl\lib/Encode/Byte.pm type=file
-x:\tlperl\lib/Encode/CJKConstants.pm type=file
-x:\tlperl\lib/Encode/CN.pm type=file
-x:\tlperl\lib/Encode/CN/HZ.pm type=file
-x:\tlperl\lib/Encode/Changes.e2x type=file
-x:\tlperl\lib/Encode/Config.pm type=file
-x:\tlperl\lib/Encode/ConfigLocal_PM.e2x type=file
-x:\tlperl\lib/Encode/EBCDIC.pm type=file
-x:\tlperl\lib/Encode/Encoder.pm type=file
-x:\tlperl\lib/Encode/Encoding.pm type=file
-x:\tlperl\lib/Encode/GSM0338.pm type=file
-x:\tlperl\lib/Encode/Guess.pm type=file
-x:\tlperl\lib/Encode/JP.pm type=file
-x:\tlperl\lib/Encode/JP/H2Z.pm type=file
-x:\tlperl\lib/Encode/JP/JIS7.pm type=file
-x:\tlperl\lib/Encode/KR.pm type=file
-x:\tlperl\lib/Encode/KR/2022_KR.pm type=file
-x:\tlperl\lib/Encode/MIME/Header.pm type=file
-x:\tlperl\lib/Encode/MIME/Header/ISO_2022_JP.pm type=file
-x:\tlperl\lib/Encode/MIME/Name.pm type=file
-x:\tlperl\lib/Encode/Makefile_PL.e2x type=file
-x:\tlperl\lib/Encode/PerlIO.pod type=file
-x:\tlperl\lib/Encode/README.e2x type=file
-x:\tlperl\lib/Encode/Supported.pod type=file
-x:\tlperl\lib/Encode/Symbol.pm type=file
-x:\tlperl\lib/Encode/TW.pm type=file
-x:\tlperl\lib/Encode/Unicode.pm type=file
-x:\tlperl\lib/Encode/Unicode/UTF7.pm type=file
-x:\tlperl\lib/Encode/_PM.e2x type=file
-x:\tlperl\lib/Encode/_T.e2x type=file
-x:\tlperl\lib/Encode/encode.h type=file
-x:\tlperl\lib/English.pm type=file
-x:\tlperl\lib/Env.pm type=file
-x:\tlperl\lib/Errno.pm type=file
-x:\tlperl\lib/Exporter.pm type=file
-x:\tlperl\lib/Exporter/Heavy.pm type=file
-x:\tlperl\lib/ExtUtils/CBuilder.pm type=file
-x:\tlperl\lib/ExtUtils/CBuilder/Base.pm type=file
-x:\tlperl\lib/ExtUtils/CBuilder/Platform/Unix.pm type=file
-x:\tlperl\lib/ExtUtils/CBuilder/Platform/VMS.pm type=file
-x:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows.pm type=file
-x:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm type=file
-x:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm type=file
-x:\tlperl\lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm type=file
-x:\tlperl\lib/ExtUtils/CBuilder/Platform/aix.pm type=file
-x:\tlperl\lib/ExtUtils/CBuilder/Platform/cygwin.pm type=file
-x:\tlperl\lib/ExtUtils/CBuilder/Platform/darwin.pm type=file
-x:\tlperl\lib/ExtUtils/CBuilder/Platform/dec_osf.pm type=file
-x:\tlperl\lib/ExtUtils/CBuilder/Platform/os2.pm type=file
-x:\tlperl\lib/ExtUtils/Command.pm type=file
-x:\tlperl\lib/ExtUtils/Command/MM.pm type=file
-x:\tlperl\lib/ExtUtils/Constant.pm type=file
-x:\tlperl\lib/ExtUtils/Constant/Base.pm type=file
-x:\tlperl\lib/ExtUtils/Constant/ProxySubs.pm type=file
-x:\tlperl\lib/ExtUtils/Constant/Utils.pm type=file
-x:\tlperl\lib/ExtUtils/Constant/XS.pm type=file
-x:\tlperl\lib/ExtUtils/Embed.pm type=file
-x:\tlperl\lib/ExtUtils/Install.pm type=file
-x:\tlperl\lib/ExtUtils/Installed.pm type=file
-x:\tlperl\lib/ExtUtils/Liblist.pm type=file
-x:\tlperl\lib/ExtUtils/Liblist/Kid.pm type=file
-x:\tlperl\lib/ExtUtils/MANIFEST.SKIP type=file
-x:\tlperl\lib/ExtUtils/MM.pm type=file
-x:\tlperl\lib/ExtUtils/MM_AIX.pm type=file
-x:\tlperl\lib/ExtUtils/MM_Any.pm type=file
-x:\tlperl\lib/ExtUtils/MM_BeOS.pm type=file
-x:\tlperl\lib/ExtUtils/MM_Cygwin.pm type=file
-x:\tlperl\lib/ExtUtils/MM_DOS.pm type=file
-x:\tlperl\lib/ExtUtils/MM_Darwin.pm type=file
-x:\tlperl\lib/ExtUtils/MM_MacOS.pm type=file
-x:\tlperl\lib/ExtUtils/MM_NW5.pm type=file
-x:\tlperl\lib/ExtUtils/MM_OS2.pm type=file
-x:\tlperl\lib/ExtUtils/MM_QNX.pm type=file
-x:\tlperl\lib/ExtUtils/MM_UWIN.pm type=file
-x:\tlperl\lib/ExtUtils/MM_Unix.pm type=file
-x:\tlperl\lib/ExtUtils/MM_VMS.pm type=file
-x:\tlperl\lib/ExtUtils/MM_VOS.pm type=file
-x:\tlperl\lib/ExtUtils/MM_Win32.pm type=file
-x:\tlperl\lib/ExtUtils/MM_Win95.pm type=file
-x:\tlperl\lib/ExtUtils/MY.pm type=file
-x:\tlperl\lib/ExtUtils/MakeMaker.pm type=file
-x:\tlperl\lib/ExtUtils/MakeMaker/Config.pm type=file
-x:\tlperl\lib/ExtUtils/MakeMaker/FAQ.pod type=file
-x:\tlperl\lib/ExtUtils/MakeMaker/Tutorial.pod type=file
-x:\tlperl\lib/ExtUtils/MakeMaker/YAML.pm type=file
-x:\tlperl\lib/ExtUtils/Manifest.pm type=file
-x:\tlperl\lib/ExtUtils/Miniperl.pm type=file
-x:\tlperl\lib/ExtUtils/Mkbootstrap.pm type=file
-x:\tlperl\lib/ExtUtils/Mksymlists.pm type=file
-x:\tlperl\lib/ExtUtils/Packlist.pm type=file
-x:\tlperl\lib/ExtUtils/ParseXS.pm type=file
-x:\tlperl\lib/ExtUtils/testlib.pm type=file
-x:\tlperl\lib/ExtUtils/typemap type=file
-x:\tlperl\lib/ExtUtils/xsubpp type=file
-x:\tlperl\lib/Fatal.pm type=file
-x:\tlperl\lib/Fcntl.pm type=file
-x:\tlperl\lib/File/Basename.pm type=file
-x:\tlperl\lib/File/CheckTree.pm type=file
-x:\tlperl\lib/File/Compare.pm type=file
-x:\tlperl\lib/File/Copy.pm type=file
-x:\tlperl\lib/File/DosGlob.pm type=file
-x:\tlperl\lib/File/Fetch.pm type=file
-x:\tlperl\lib/File/Find.pm type=file
-x:\tlperl\lib/File/Glob.pm type=file
-x:\tlperl\lib/File/GlobMapper.pm type=file
-x:\tlperl\lib/File/Path.pm type=file
-x:\tlperl\lib/File/Spec.pm type=file
-x:\tlperl\lib/File/Spec/Cygwin.pm type=file
-x:\tlperl\lib/File/Spec/Epoc.pm type=file
-x:\tlperl\lib/File/Spec/Functions.pm type=file
-x:\tlperl\lib/File/Spec/Mac.pm type=file
-x:\tlperl\lib/File/Spec/OS2.pm type=file
-x:\tlperl\lib/File/Spec/Unix.pm type=file
-x:\tlperl\lib/File/Spec/VMS.pm type=file
-x:\tlperl\lib/File/Spec/Win32.pm type=file
-x:\tlperl\lib/File/Temp.pm type=file
-x:\tlperl\lib/File/stat.pm type=file
-x:\tlperl\lib/FileCache.pm type=file
-x:\tlperl\lib/FileHandle.pm type=file
-x:\tlperl\lib/Filter/Simple.pm type=file
-x:\tlperl\lib/Filter/Util/Call.pm type=file
-x:\tlperl\lib/FindBin.pm type=file
-x:\tlperl\lib/Getopt/Long.pm type=file
-x:\tlperl\lib/Getopt/Std.pm type=file
-x:\tlperl\lib/HTTP/Tiny.pm type=file
-x:\tlperl\lib/Hash/Util.pm type=file
-x:\tlperl\lib/Hash/Util/FieldHash.pm type=file
-x:\tlperl\lib/I18N/Collate.pm type=file
-x:\tlperl\lib/I18N/LangTags.pm type=file
-x:\tlperl\lib/I18N/LangTags/Detect.pm type=file
-x:\tlperl\lib/I18N/LangTags/List.pm type=file
-x:\tlperl\lib/IO.pm type=file
-x:\tlperl\lib/IO/Compress/Adapter/Bzip2.pm type=file
-x:\tlperl\lib/IO/Compress/Adapter/Deflate.pm type=file
-x:\tlperl\lib/IO/Compress/Adapter/Identity.pm type=file
-x:\tlperl\lib/IO/Compress/Base.pm type=file
-x:\tlperl\lib/IO/Compress/Base/Common.pm type=file
-x:\tlperl\lib/IO/Compress/Bzip2.pm type=file
-x:\tlperl\lib/IO/Compress/Deflate.pm type=file
-x:\tlperl\lib/IO/Compress/Gzip.pm type=file
-x:\tlperl\lib/IO/Compress/Gzip/Constants.pm type=file
-x:\tlperl\lib/IO/Compress/RawDeflate.pm type=file
-x:\tlperl\lib/IO/Compress/Zip.pm type=file
-x:\tlperl\lib/IO/Compress/Zip/Constants.pm type=file
-x:\tlperl\lib/IO/Compress/Zlib/Constants.pm type=file
-x:\tlperl\lib/IO/Compress/Zlib/Extra.pm type=file
-x:\tlperl\lib/IO/Dir.pm type=file
-x:\tlperl\lib/IO/File.pm type=file
-x:\tlperl\lib/IO/Handle.pm type=file
-x:\tlperl\lib/IO/Pipe.pm type=file
-x:\tlperl\lib/IO/Poll.pm type=file
-x:\tlperl\lib/IO/Seekable.pm type=file
-x:\tlperl\lib/IO/Select.pm type=file
-x:\tlperl\lib/IO/Socket.pm type=file
-x:\tlperl\lib/IO/Socket/INET.pm type=file
-x:\tlperl\lib/IO/Socket/UNIX.pm type=file
-x:\tlperl\lib/IO/Uncompress/Adapter/Bunzip2.pm type=file
-x:\tlperl\lib/IO/Uncompress/Adapter/Identity.pm type=file
-x:\tlperl\lib/IO/Uncompress/Adapter/Inflate.pm type=file
-x:\tlperl\lib/IO/Uncompress/AnyInflate.pm type=file
-x:\tlperl\lib/IO/Uncompress/AnyUncompress.pm type=file
-x:\tlperl\lib/IO/Uncompress/Base.pm type=file
-x:\tlperl\lib/IO/Uncompress/Bunzip2.pm type=file
-x:\tlperl\lib/IO/Uncompress/Gunzip.pm type=file
-x:\tlperl\lib/IO/Uncompress/Inflate.pm type=file
-x:\tlperl\lib/IO/Uncompress/RawInflate.pm type=file
-x:\tlperl\lib/IO/Uncompress/Unzip.pm type=file
-x:\tlperl\lib/IO/Zlib.pm type=file
-x:\tlperl\lib/IPC/Cmd.pm type=file
-x:\tlperl\lib/IPC/Open2.pm type=file
-x:\tlperl\lib/IPC/Open3.pm type=file
-x:\tlperl\lib/JSON/PP.pm type=file
-x:\tlperl\lib/JSON/PP/Boolean.pm type=file
-x:\tlperl\lib/List/Util.pm type=file
-x:\tlperl\lib/List/Util/PP.pm type=file
-x:\tlperl\lib/List/Util/XS.pm type=file
-x:\tlperl\lib/Locale/Codes.pm type=file
-x:\tlperl\lib/Locale/Codes.pod type=file
-x:\tlperl\lib/Locale/Codes/Changes.pod type=file
-x:\tlperl\lib/Locale/Codes/Country.pm type=file
-x:\tlperl\lib/Locale/Codes/Currency.pm type=file
-x:\tlperl\lib/Locale/Codes/Language.pm type=file
-x:\tlperl\lib/Locale/Codes/Script.pm type=file
-x:\tlperl\lib/Locale/Constants.pm type=file
-x:\tlperl\lib/Locale/Constants.pod type=file
-x:\tlperl\lib/Locale/Country.pm type=file
-x:\tlperl\lib/Locale/Country.pod type=file
-x:\tlperl\lib/Locale/Currency.pm type=file
-x:\tlperl\lib/Locale/Currency.pod type=file
-x:\tlperl\lib/Locale/Language.pm type=file
-x:\tlperl\lib/Locale/Language.pod type=file
-x:\tlperl\lib/Locale/Maketext.pm type=file
-x:\tlperl\lib/Locale/Maketext.pod type=file
-x:\tlperl\lib/Locale/Maketext/Cookbook.pod type=file
-x:\tlperl\lib/Locale/Maketext/Guts.pm type=file
-x:\tlperl\lib/Locale/Maketext/GutsLoader.pm type=file
-x:\tlperl\lib/Locale/Maketext/Simple.pm type=file
-x:\tlperl\lib/Locale/Maketext/TPJ13.pod type=file
-x:\tlperl\lib/Locale/Script.pm type=file
-x:\tlperl\lib/Locale/Script.pod type=file
-x:\tlperl\lib/Log/Message.pm type=file
-x:\tlperl\lib/Log/Message/Config.pm type=file
-x:\tlperl\lib/Log/Message/Handlers.pm type=file
-x:\tlperl\lib/Log/Message/Item.pm type=file
-x:\tlperl\lib/Log/Message/Simple.pm type=file
-x:\tlperl\lib/MIME/Base64.pm type=file
-x:\tlperl\lib/MIME/QuotedPrint.pm type=file
-x:\tlperl\lib/Math/BigFloat.pm type=file
-x:\tlperl\lib/Math/BigFloat/Trace.pm type=file
-x:\tlperl\lib/Math/BigInt.pm type=file
-x:\tlperl\lib/Math/BigInt/Calc.pm type=file
-x:\tlperl\lib/Math/BigInt/CalcEmu.pm type=file
-x:\tlperl\lib/Math/BigInt/FastCalc.pm type=file
-x:\tlperl\lib/Math/BigInt/Trace.pm type=file
-x:\tlperl\lib/Math/BigRat.pm type=file
-x:\tlperl\lib/Math/Complex.pm type=file
-x:\tlperl\lib/Math/Trig.pm type=file
-x:\tlperl\lib/Memoize.pm type=file
-x:\tlperl\lib/Memoize/AnyDBM_File.pm type=file
-x:\tlperl\lib/Memoize/Expire.pm type=file
-x:\tlperl\lib/Memoize/ExpireFile.pm type=file
-x:\tlperl\lib/Memoize/ExpireTest.pm type=file
-x:\tlperl\lib/Memoize/NDBM_File.pm type=file
-x:\tlperl\lib/Memoize/SDBM_File.pm type=file
-x:\tlperl\lib/Memoize/Storable.pm type=file
-x:\tlperl\lib/Module/Build.pm type=file
-x:\tlperl\lib/Module/Build/API.pod type=file
-x:\tlperl\lib/Module/Build/Authoring.pod type=file
-x:\tlperl\lib/Module/Build/Base.pm type=file
-x:\tlperl\lib/Module/Build/Bundling.pod type=file
-x:\tlperl\lib/Module/Build/Compat.pm type=file
-x:\tlperl\lib/Module/Build/Config.pm type=file
-x:\tlperl\lib/Module/Build/ConfigData.pm type=file
-x:\tlperl\lib/Module/Build/Cookbook.pm type=file
-x:\tlperl\lib/Module/Build/Dumper.pm type=file
-x:\tlperl\lib/Module/Build/ModuleInfo.pm type=file
-x:\tlperl\lib/Module/Build/Notes.pm type=file
-x:\tlperl\lib/Module/Build/PPMMaker.pm type=file
-x:\tlperl\lib/Module/Build/Platform/Amiga.pm type=file
-x:\tlperl\lib/Module/Build/Platform/Default.pm type=file
-x:\tlperl\lib/Module/Build/Platform/EBCDIC.pm type=file
-x:\tlperl\lib/Module/Build/Platform/MPEiX.pm type=file
-x:\tlperl\lib/Module/Build/Platform/MacOS.pm type=file
-x:\tlperl\lib/Module/Build/Platform/RiscOS.pm type=file
-x:\tlperl\lib/Module/Build/Platform/Unix.pm type=file
-x:\tlperl\lib/Module/Build/Platform/VMS.pm type=file
-x:\tlperl\lib/Module/Build/Platform/VOS.pm type=file
-x:\tlperl\lib/Module/Build/Platform/Windows.pm type=file
-x:\tlperl\lib/Module/Build/Platform/aix.pm type=file
-x:\tlperl\lib/Module/Build/Platform/cygwin.pm type=file
-x:\tlperl\lib/Module/Build/Platform/darwin.pm type=file
-x:\tlperl\lib/Module/Build/Platform/os2.pm type=file
-x:\tlperl\lib/Module/Build/PodParser.pm type=file
-x:\tlperl\lib/Module/Build/Version.pm type=file
-x:\tlperl\lib/Module/Build/YAML.pm type=file
-x:\tlperl\lib/Module/CoreList.pm type=file
-x:\tlperl\lib/Module/Load.pm type=file
-x:\tlperl\lib/Module/Load/Conditional.pm type=file
-x:\tlperl\lib/Module/Loaded.pm type=file
-x:\tlperl\lib/Module/Metadata.pm type=file
-x:\tlperl\lib/Module/Pluggable.pm type=file
-x:\tlperl\lib/Module/Pluggable/Object.pm type=file
-x:\tlperl\lib/NEXT.pm type=file
-x:\tlperl\lib/Net/Cmd.pm type=file
-x:\tlperl\lib/Net/Config.pm type=file
-x:\tlperl\lib/Net/Domain.pm type=file
-x:\tlperl\lib/Net/FTP.pm type=file
-x:\tlperl\lib/Net/FTP/A.pm type=file
-x:\tlperl\lib/Net/FTP/E.pm type=file
-x:\tlperl\lib/Net/FTP/I.pm type=file
-x:\tlperl\lib/Net/FTP/L.pm type=file
-x:\tlperl\lib/Net/FTP/dataconn.pm type=file
-x:\tlperl\lib/Net/NNTP.pm type=file
-x:\tlperl\lib/Net/Netrc.pm type=file
-x:\tlperl\lib/Net/POP3.pm type=file
-x:\tlperl\lib/Net/Ping.pm type=file
-x:\tlperl\lib/Net/SMTP.pm type=file
-x:\tlperl\lib/Net/Time.pm type=file
-x:\tlperl\lib/Net/hostent.pm type=file
-x:\tlperl\lib/Net/libnetFAQ.pod type=file
-x:\tlperl\lib/Net/netent.pm type=file
-x:\tlperl\lib/Net/protoent.pm type=file
-x:\tlperl\lib/Net/servent.pm type=file
-x:\tlperl\lib/O.pm type=file
-x:\tlperl\lib/Object/Accessor.pm type=file
-x:\tlperl\lib/Opcode.pm type=file
-x:\tlperl\lib/POSIX.pm type=file
-x:\tlperl\lib/POSIX.pod type=file
-x:\tlperl\lib/Package/Constants.pm type=file
-x:\tlperl\lib/Params/Check.pm type=file
-x:\tlperl\lib/Parse/CPAN/Meta.pm type=file
-x:\tlperl\lib/Perl/OSType.pm type=file
-x:\tlperl\lib/PerlIO.pm type=file
-x:\tlperl\lib/PerlIO/encoding.pm type=file
-x:\tlperl\lib/PerlIO/scalar.pm type=file
-x:\tlperl\lib/PerlIO/via.pm type=file
-x:\tlperl\lib/PerlIO/via/QuotedPrint.pm type=file
-x:\tlperl\lib/Pod/Checker.pm type=file
-x:\tlperl\lib/Pod/Escapes.pm type=file
-x:\tlperl\lib/Pod/Find.pm type=file
-x:\tlperl\lib/Pod/Functions.pm type=file
-x:\tlperl\lib/Pod/Html.pm type=file
-x:\tlperl\lib/Pod/InputObjects.pm type=file
-x:\tlperl\lib/Pod/LaTeX.pm type=file
-x:\tlperl\lib/Pod/Man.pm type=file
-x:\tlperl\lib/Pod/ParseLink.pm type=file
-x:\tlperl\lib/Pod/ParseUtils.pm type=file
-x:\tlperl\lib/Pod/Parser.pm type=file
-x:\tlperl\lib/Pod/Perldoc.pm type=file
-x:\tlperl\lib/Pod/Perldoc/BaseTo.pm type=file
-x:\tlperl\lib/Pod/Perldoc/GetOptsOO.pm type=file
-x:\tlperl\lib/Pod/Perldoc/ToChecker.pm type=file
-x:\tlperl\lib/Pod/Perldoc/ToMan.pm type=file
-x:\tlperl\lib/Pod/Perldoc/ToNroff.pm type=file
-x:\tlperl\lib/Pod/Perldoc/ToPod.pm type=file
-x:\tlperl\lib/Pod/Perldoc/ToRtf.pm type=file
-x:\tlperl\lib/Pod/Perldoc/ToText.pm type=file
-x:\tlperl\lib/Pod/Perldoc/ToTk.pm type=file
-x:\tlperl\lib/Pod/Perldoc/ToXml.pm type=file
-x:\tlperl\lib/Pod/PlainText.pm type=file
-x:\tlperl\lib/Pod/Select.pm type=file
-x:\tlperl\lib/Pod/Simple.pm type=file
-x:\tlperl\lib/Pod/Simple.pod type=file
-x:\tlperl\lib/Pod/Simple/BlackBox.pm type=file
-x:\tlperl\lib/Pod/Simple/Checker.pm type=file
-x:\tlperl\lib/Pod/Simple/Debug.pm type=file
-x:\tlperl\lib/Pod/Simple/DumpAsText.pm type=file
-x:\tlperl\lib/Pod/Simple/DumpAsXML.pm type=file
-x:\tlperl\lib/Pod/Simple/HTML.pm type=file
-x:\tlperl\lib/Pod/Simple/HTMLBatch.pm type=file
-x:\tlperl\lib/Pod/Simple/HTMLLegacy.pm type=file
-x:\tlperl\lib/Pod/Simple/LinkSection.pm type=file
-x:\tlperl\lib/Pod/Simple/Methody.pm type=file
-x:\tlperl\lib/Pod/Simple/Progress.pm type=file
-x:\tlperl\lib/Pod/Simple/PullParser.pm type=file
-x:\tlperl\lib/Pod/Simple/PullParserEndToken.pm type=file
-x:\tlperl\lib/Pod/Simple/PullParserStartToken.pm type=file
-x:\tlperl\lib/Pod/Simple/PullParserTextToken.pm type=file
-x:\tlperl\lib/Pod/Simple/PullParserToken.pm type=file
-x:\tlperl\lib/Pod/Simple/RTF.pm type=file
-x:\tlperl\lib/Pod/Simple/Search.pm type=file
-x:\tlperl\lib/Pod/Simple/SimpleTree.pm type=file
-x:\tlperl\lib/Pod/Simple/Subclassing.pod type=file
-x:\tlperl\lib/Pod/Simple/Text.pm type=file
-x:\tlperl\lib/Pod/Simple/TextContent.pm type=file
-x:\tlperl\lib/Pod/Simple/TiedOutFH.pm type=file
-x:\tlperl\lib/Pod/Simple/Transcode.pm type=file
-x:\tlperl\lib/Pod/Simple/TranscodeDumb.pm type=file
-x:\tlperl\lib/Pod/Simple/TranscodeSmart.pm type=file
-x:\tlperl\lib/Pod/Simple/XHTML.pm type=file
-x:\tlperl\lib/Pod/Simple/XMLOutStream.pm type=file
-x:\tlperl\lib/Pod/Text.pm type=file
-x:\tlperl\lib/Pod/Text/Color.pm type=file
-x:\tlperl\lib/Pod/Text/Overstrike.pm type=file
-x:\tlperl\lib/Pod/Text/Termcap.pm type=file
-x:\tlperl\lib/Pod/Usage.pm type=file
-x:\tlperl\lib/SDBM_File.pm type=file
-x:\tlperl\lib/Safe.pm type=file
-x:\tlperl\lib/Scalar/Util.pm type=file
-x:\tlperl\lib/Scalar/Util/PP.pm type=file
-x:\tlperl\lib/Search/Dict.pm type=file
-x:\tlperl\lib/SelectSaver.pm type=file
-x:\tlperl\lib/SelfLoader.pm type=file
-x:\tlperl\lib/Shell.pm type=file
-x:\tlperl\lib/Socket.pm type=file
-x:\tlperl\lib/Storable.pm type=file
-x:\tlperl\lib/Symbol.pm type=file
-x:\tlperl\lib/Sys/Hostname.pm type=file
-x:\tlperl\lib/TAP/Base.pm type=file
-x:\tlperl\lib/TAP/Formatter/Base.pm type=file
-x:\tlperl\lib/TAP/Formatter/Color.pm type=file
-x:\tlperl\lib/TAP/Formatter/Console.pm type=file
-x:\tlperl\lib/TAP/Formatter/Console/ParallelSession.pm type=file
-x:\tlperl\lib/TAP/Formatter/Console/Session.pm type=file
-x:\tlperl\lib/TAP/Formatter/File.pm type=file
-x:\tlperl\lib/TAP/Formatter/File/Session.pm type=file
-x:\tlperl\lib/TAP/Formatter/Session.pm type=file
-x:\tlperl\lib/TAP/Harness.pm type=file
-x:\tlperl\lib/TAP/Harness/Beyond.pod type=file
-x:\tlperl\lib/TAP/Object.pm type=file
-x:\tlperl\lib/TAP/Parser.pm type=file
-x:\tlperl\lib/TAP/Parser/Aggregator.pm type=file
-x:\tlperl\lib/TAP/Parser/Grammar.pm type=file
-x:\tlperl\lib/TAP/Parser/Iterator.pm type=file
-x:\tlperl\lib/TAP/Parser/Iterator/Array.pm type=file
-x:\tlperl\lib/TAP/Parser/Iterator/Process.pm type=file
-x:\tlperl\lib/TAP/Parser/Iterator/Stream.pm type=file
-x:\tlperl\lib/TAP/Parser/IteratorFactory.pm type=file
-x:\tlperl\lib/TAP/Parser/Multiplexer.pm type=file
-x:\tlperl\lib/TAP/Parser/Result.pm type=file
-x:\tlperl\lib/TAP/Parser/Result/Bailout.pm type=file
-x:\tlperl\lib/TAP/Parser/Result/Comment.pm type=file
-x:\tlperl\lib/TAP/Parser/Result/Plan.pm type=file
-x:\tlperl\lib/TAP/Parser/Result/Pragma.pm type=file
-x:\tlperl\lib/TAP/Parser/Result/Test.pm type=file
-x:\tlperl\lib/TAP/Parser/Result/Unknown.pm type=file
-x:\tlperl\lib/TAP/Parser/Result/Version.pm type=file
-x:\tlperl\lib/TAP/Parser/Result/YAML.pm type=file
-x:\tlperl\lib/TAP/Parser/ResultFactory.pm type=file
-x:\tlperl\lib/TAP/Parser/Scheduler.pm type=file
-x:\tlperl\lib/TAP/Parser/Scheduler/Job.pm type=file
-x:\tlperl\lib/TAP/Parser/Scheduler/Spinner.pm type=file
-x:\tlperl\lib/TAP/Parser/Source.pm type=file
-x:\tlperl\lib/TAP/Parser/SourceHandler.pm type=file
-x:\tlperl\lib/TAP/Parser/SourceHandler/Executable.pm type=file
-x:\tlperl\lib/TAP/Parser/SourceHandler/File.pm type=file
-x:\tlperl\lib/TAP/Parser/SourceHandler/Handle.pm type=file
-x:\tlperl\lib/TAP/Parser/SourceHandler/Perl.pm type=file
-x:\tlperl\lib/TAP/Parser/SourceHandler/RawTAP.pm type=file
-x:\tlperl\lib/TAP/Parser/Utils.pm type=file
-x:\tlperl\lib/TAP/Parser/YAMLish/Reader.pm type=file
-x:\tlperl\lib/TAP/Parser/YAMLish/Writer.pm type=file
-x:\tlperl\lib/Term/ANSIColor.pm type=file
-x:\tlperl\lib/Term/Cap.pm type=file
-x:\tlperl\lib/Term/Complete.pm type=file
-x:\tlperl\lib/Term/ReadLine.pm type=file
-x:\tlperl\lib/Term/UI.pm type=file
-x:\tlperl\lib/Term/UI/History.pm type=file
-x:\tlperl\lib/Test.pm type=file
-x:\tlperl\lib/Test/Builder.pm type=file
-x:\tlperl\lib/Test/Builder/Module.pm type=file
-x:\tlperl\lib/Test/Builder/Tester.pm type=file
-x:\tlperl\lib/Test/Builder/Tester/Color.pm type=file
-x:\tlperl\lib/Test/Harness.pm type=file
-x:\tlperl\lib/Test/More.pm type=file
-x:\tlperl\lib/Test/Simple.pm type=file
-x:\tlperl\lib/Test/Tutorial.pod type=file
-x:\tlperl\lib/Text/Abbrev.pm type=file
-x:\tlperl\lib/Text/Balanced.pm type=file
-x:\tlperl\lib/Text/ParseWords.pm type=file
-x:\tlperl\lib/Text/Soundex.pm type=file
-x:\tlperl\lib/Text/Tabs.pm type=file
-x:\tlperl\lib/Text/Wrap.pm type=file
-x:\tlperl\lib/Thread.pm type=file
-x:\tlperl\lib/Thread/Queue.pm type=file
-x:\tlperl\lib/Thread/Semaphore.pm type=file
-x:\tlperl\lib/Tie/Array.pm type=file
-x:\tlperl\lib/Tie/File.pm type=file
-x:\tlperl\lib/Tie/Handle.pm type=file
-x:\tlperl\lib/Tie/Hash.pm type=file
-x:\tlperl\lib/Tie/Hash/NamedCapture.pm type=file
-x:\tlperl\lib/Tie/Memoize.pm type=file
-x:\tlperl\lib/Tie/RefHash.pm type=file
-x:\tlperl\lib/Tie/Scalar.pm type=file
-x:\tlperl\lib/Tie/StdHandle.pm type=file
-x:\tlperl\lib/Tie/SubstrHash.pm type=file
-x:\tlperl\lib/Time/HiRes.pm type=file
-x:\tlperl\lib/Time/Local.pm type=file
-x:\tlperl\lib/Time/Piece.pm type=file
-x:\tlperl\lib/Time/Seconds.pm type=file
-x:\tlperl\lib/Time/gmtime.pm type=file
-x:\tlperl\lib/Time/localtime.pm type=file
-x:\tlperl\lib/Time/tm.pm type=file
-x:\tlperl\lib/UNIVERSAL.pm type=file
-x:\tlperl\lib/Unicode/Collate.pm type=file
-x:\tlperl\lib/Unicode/Collate/CJK/Big5.pm type=file
-x:\tlperl\lib/Unicode/Collate/CJK/GB2312.pm type=file
-x:\tlperl\lib/Unicode/Collate/CJK/JISX0208.pm type=file
-x:\tlperl\lib/Unicode/Collate/CJK/Korean.pm type=file
-x:\tlperl\lib/Unicode/Collate/CJK/Pinyin.pm type=file
-x:\tlperl\lib/Unicode/Collate/CJK/Stroke.pm type=file
-x:\tlperl\lib/Unicode/Collate/Locale.pm type=file
-x:\tlperl\lib/Unicode/Collate/Locale/af.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/ar.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/az.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/ca.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/cs.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/cy.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/da.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/de_phone.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/eo.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/es.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/es_trad.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/et.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/fi.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/fil.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/fo.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/fr.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/ha.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/haw.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/hr.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/hu.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/hy.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/ig.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/is.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/ja.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/kk.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/kl.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/ko.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/lt.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/lv.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/mt.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/nb.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/nn.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/nso.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/om.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/pl.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/ro.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/ru.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/se.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/sk.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/sl.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/sq.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/sv.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/sw.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/tn.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/to.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/tr.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/uk.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/vi.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/wo.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/yo.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/zh.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/zh_big5.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/zh_gb.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/zh_pin.pl type=file
-x:\tlperl\lib/Unicode/Collate/Locale/zh_strk.pl type=file
-x:\tlperl\lib/Unicode/Collate/allkeys.txt type=file
-x:\tlperl\lib/Unicode/Collate/keys.txt type=file
-x:\tlperl\lib/Unicode/Normalize.pm type=file
-x:\tlperl\lib/Unicode/UCD.pm type=file
-x:\tlperl\lib/User/grent.pm type=file
-x:\tlperl\lib/User/pwent.pm type=file
-x:\tlperl\lib/Win32.pm type=file
-x:\tlperl\lib/Win32API/File.pm type=file
-x:\tlperl\lib/Win32API/File/cFile.pc type=file
-x:\tlperl\lib/Win32CORE.pm type=file
-x:\tlperl\lib/XSLoader.pm type=file
-x:\tlperl\lib/abbrev.pl type=file
-x:\tlperl\lib/assert.pl type=file
-x:\tlperl\lib/attributes.pm type=file
-x:\tlperl\lib/auto/B/B.dll type=file
-x:\tlperl\lib/auto/Compress/Raw/Bzip2/Bzip2.dll type=file
-x:\tlperl\lib/auto/Compress/Raw/Bzip2/autosplit.ix type=file
-x:\tlperl\lib/auto/Compress/Raw/Zlib/Zlib.dll type=file
-x:\tlperl\lib/auto/Compress/Raw/Zlib/autosplit.ix type=file
-x:\tlperl\lib/auto/Cwd/Cwd.dll type=file
-x:\tlperl\lib/auto/Data/Dumper/Dumper.dll type=file
-x:\tlperl\lib/auto/Devel/DProf/DProf.dll type=file
-x:\tlperl\lib/auto/Devel/PPPort/PPPort.dll type=file
-x:\tlperl\lib/auto/Devel/Peek/Peek.dll type=file
-x:\tlperl\lib/auto/Digest/MD5/MD5.dll type=file
-x:\tlperl\lib/auto/Digest/SHA/SHA.dll type=file
-x:\tlperl\lib/auto/Encode/Byte/Byte.dll type=file
-x:\tlperl\lib/auto/Encode/CN/CN.dll type=file
-x:\tlperl\lib/auto/Encode/EBCDIC/EBCDIC.dll type=file
-x:\tlperl\lib/auto/Encode/Encode.dll type=file
-x:\tlperl\lib/auto/Encode/JP/JP.dll type=file
-x:\tlperl\lib/auto/Encode/KR/KR.dll type=file
-x:\tlperl\lib/auto/Encode/Symbol/Symbol.dll type=file
-x:\tlperl\lib/auto/Encode/TW/TW.dll type=file
-x:\tlperl\lib/auto/Encode/Unicode/Unicode.dll type=file
-x:\tlperl\lib/auto/Fcntl/Fcntl.dll type=file
-x:\tlperl\lib/auto/File/Glob/Glob.dll type=file
-x:\tlperl\lib/auto/Filter/Util/Call/Call.dll type=file
-x:\tlperl\lib/auto/Hash/Util/FieldHash/FieldHash.dll type=file
-x:\tlperl\lib/auto/Hash/Util/Util.dll type=file
-x:\tlperl\lib/auto/IO/IO.dll type=file
-x:\tlperl\lib/auto/List/Util/Util.dll type=file
-x:\tlperl\lib/auto/MIME/Base64/Base64.dll type=file
-x:\tlperl\lib/auto/Math/BigInt/FastCalc/FastCalc.dll type=file
-x:\tlperl\lib/auto/Opcode/Opcode.dll type=file
-x:\tlperl\lib/auto/POSIX/POSIX.dll type=file
-x:\tlperl\lib/auto/POSIX/SigAction/flags.al type=file
-x:\tlperl\lib/auto/POSIX/SigAction/handler.al type=file
-x:\tlperl\lib/auto/POSIX/SigAction/mask.al type=file
-x:\tlperl\lib/auto/POSIX/SigAction/new.al type=file
-x:\tlperl\lib/auto/POSIX/SigAction/safe.al type=file
-x:\tlperl\lib/auto/POSIX/SigRt/CLEAR.al type=file
-x:\tlperl\lib/auto/POSIX/SigRt/DELETE.al type=file
-x:\tlperl\lib/auto/POSIX/SigRt/EXISTS.al type=file
-x:\tlperl\lib/auto/POSIX/SigRt/FETCH.al type=file
-x:\tlperl\lib/auto/POSIX/SigRt/SCALAR.al type=file
-x:\tlperl\lib/auto/POSIX/SigRt/STORE.al type=file
-x:\tlperl\lib/auto/POSIX/SigRt/_check.al type=file
-x:\tlperl\lib/auto/POSIX/SigRt/_croak.al type=file
-x:\tlperl\lib/auto/POSIX/SigRt/_exist.al type=file
-x:\tlperl\lib/auto/POSIX/SigRt/_getsig.al type=file
-x:\tlperl\lib/auto/POSIX/SigRt/_init.al type=file
-x:\tlperl\lib/auto/POSIX/SigRt/new.al type=file
-x:\tlperl\lib/auto/POSIX/abs.al type=file
-x:\tlperl\lib/auto/POSIX/alarm.al type=file
-x:\tlperl\lib/auto/POSIX/assert.al type=file
-x:\tlperl\lib/auto/POSIX/atan2.al type=file
-x:\tlperl\lib/auto/POSIX/atexit.al type=file
-x:\tlperl\lib/auto/POSIX/atof.al type=file
-x:\tlperl\lib/auto/POSIX/atoi.al type=file
-x:\tlperl\lib/auto/POSIX/atol.al type=file
-x:\tlperl\lib/auto/POSIX/autosplit.ix type=file
-x:\tlperl\lib/auto/POSIX/bsearch.al type=file
-x:\tlperl\lib/auto/POSIX/calloc.al type=file
-x:\tlperl\lib/auto/POSIX/chdir.al type=file
-x:\tlperl\lib/auto/POSIX/chmod.al type=file
-x:\tlperl\lib/auto/POSIX/chown.al type=file
-x:\tlperl\lib/auto/POSIX/clearerr.al type=file
-x:\tlperl\lib/auto/POSIX/closedir.al type=file
-x:\tlperl\lib/auto/POSIX/cos.al type=file
-x:\tlperl\lib/auto/POSIX/creat.al type=file
-x:\tlperl\lib/auto/POSIX/div.al type=file
-x:\tlperl\lib/auto/POSIX/errno.al type=file
-x:\tlperl\lib/auto/POSIX/execl.al type=file
-x:\tlperl\lib/auto/POSIX/execle.al type=file
-x:\tlperl\lib/auto/POSIX/execlp.al type=file
-x:\tlperl\lib/auto/POSIX/execv.al type=file
-x:\tlperl\lib/auto/POSIX/execve.al type=file
-x:\tlperl\lib/auto/POSIX/execvp.al type=file
-x:\tlperl\lib/auto/POSIX/exit.al type=file
-x:\tlperl\lib/auto/POSIX/exp.al type=file
-x:\tlperl\lib/auto/POSIX/fabs.al type=file
-x:\tlperl\lib/auto/POSIX/fclose.al type=file
-x:\tlperl\lib/auto/POSIX/fcntl.al type=file
-x:\tlperl\lib/auto/POSIX/fdopen.al type=file
-x:\tlperl\lib/auto/POSIX/feof.al type=file
-x:\tlperl\lib/auto/POSIX/ferror.al type=file
-x:\tlperl\lib/auto/POSIX/fflush.al type=file
-x:\tlperl\lib/auto/POSIX/fgetc.al type=file
-x:\tlperl\lib/auto/POSIX/fgetpos.al type=file
-x:\tlperl\lib/auto/POSIX/fgets.al type=file
-x:\tlperl\lib/auto/POSIX/fileno.al type=file
-x:\tlperl\lib/auto/POSIX/fopen.al type=file
-x:\tlperl\lib/auto/POSIX/fork.al type=file
-x:\tlperl\lib/auto/POSIX/fprintf.al type=file
-x:\tlperl\lib/auto/POSIX/fputc.al type=file
-x:\tlperl\lib/auto/POSIX/fputs.al type=file
-x:\tlperl\lib/auto/POSIX/fread.al type=file
-x:\tlperl\lib/auto/POSIX/free.al type=file
-x:\tlperl\lib/auto/POSIX/freopen.al type=file
-x:\tlperl\lib/auto/POSIX/fscanf.al type=file
-x:\tlperl\lib/auto/POSIX/fseek.al type=file
-x:\tlperl\lib/auto/POSIX/fsetpos.al type=file
-x:\tlperl\lib/auto/POSIX/fstat.al type=file
-x:\tlperl\lib/auto/POSIX/fsync.al type=file
-x:\tlperl\lib/auto/POSIX/ftell.al type=file
-x:\tlperl\lib/auto/POSIX/fwrite.al type=file
-x:\tlperl\lib/auto/POSIX/getc.al type=file
-x:\tlperl\lib/auto/POSIX/getchar.al type=file
-x:\tlperl\lib/auto/POSIX/getegid.al type=file
-x:\tlperl\lib/auto/POSIX/getenv.al type=file
-x:\tlperl\lib/auto/POSIX/geteuid.al type=file
-x:\tlperl\lib/auto/POSIX/getgid.al type=file
-x:\tlperl\lib/auto/POSIX/getgrgid.al type=file
-x:\tlperl\lib/auto/POSIX/getgrnam.al type=file
-x:\tlperl\lib/auto/POSIX/getgroups.al type=file
-x:\tlperl\lib/auto/POSIX/getlogin.al type=file
-x:\tlperl\lib/auto/POSIX/getpgrp.al type=file
-x:\tlperl\lib/auto/POSIX/getpid.al type=file
-x:\tlperl\lib/auto/POSIX/getppid.al type=file
-x:\tlperl\lib/auto/POSIX/getpwnam.al type=file
-x:\tlperl\lib/auto/POSIX/getpwuid.al type=file
-x:\tlperl\lib/auto/POSIX/gets.al type=file
-x:\tlperl\lib/auto/POSIX/getuid.al type=file
-x:\tlperl\lib/auto/POSIX/gmtime.al type=file
-x:\tlperl\lib/auto/POSIX/isatty.al type=file
-x:\tlperl\lib/auto/POSIX/kill.al type=file
-x:\tlperl\lib/auto/POSIX/labs.al type=file
-x:\tlperl\lib/auto/POSIX/ldiv.al type=file
-x:\tlperl\lib/auto/POSIX/link.al type=file
-x:\tlperl\lib/auto/POSIX/load_imports.al type=file
-x:\tlperl\lib/auto/POSIX/localtime.al type=file
-x:\tlperl\lib/auto/POSIX/log.al type=file
-x:\tlperl\lib/auto/POSIX/longjmp.al type=file
-x:\tlperl\lib/auto/POSIX/malloc.al type=file
-x:\tlperl\lib/auto/POSIX/memchr.al type=file
-x:\tlperl\lib/auto/POSIX/memcmp.al type=file
-x:\tlperl\lib/auto/POSIX/memcpy.al type=file
-x:\tlperl\lib/auto/POSIX/memmove.al type=file
-x:\tlperl\lib/auto/POSIX/memset.al type=file
-x:\tlperl\lib/auto/POSIX/mkdir.al type=file
-x:\tlperl\lib/auto/POSIX/offsetof.al type=file
-x:\tlperl\lib/auto/POSIX/opendir.al type=file
-x:\tlperl\lib/auto/POSIX/perror.al type=file
-x:\tlperl\lib/auto/POSIX/pow.al type=file
-x:\tlperl\lib/auto/POSIX/printf.al type=file
-x:\tlperl\lib/auto/POSIX/putc.al type=file
-x:\tlperl\lib/auto/POSIX/putchar.al type=file
-x:\tlperl\lib/auto/POSIX/puts.al type=file
-x:\tlperl\lib/auto/POSIX/qsort.al type=file
-x:\tlperl\lib/auto/POSIX/raise.al type=file
-x:\tlperl\lib/auto/POSIX/rand.al type=file
-x:\tlperl\lib/auto/POSIX/readdir.al type=file
-x:\tlperl\lib/auto/POSIX/realloc.al type=file
-x:\tlperl\lib/auto/POSIX/redef.al type=file
-x:\tlperl\lib/auto/POSIX/remove.al type=file
-x:\tlperl\lib/auto/POSIX/rename.al type=file
-x:\tlperl\lib/auto/POSIX/rewind.al type=file
-x:\tlperl\lib/auto/POSIX/rewinddir.al type=file
-x:\tlperl\lib/auto/POSIX/rmdir.al type=file
-x:\tlperl\lib/auto/POSIX/scanf.al type=file
-x:\tlperl\lib/auto/POSIX/setbuf.al type=file
-x:\tlperl\lib/auto/POSIX/setjmp.al type=file
-x:\tlperl\lib/auto/POSIX/setvbuf.al type=file
-x:\tlperl\lib/auto/POSIX/siglongjmp.al type=file
-x:\tlperl\lib/auto/POSIX/sigsetjmp.al type=file
-x:\tlperl\lib/auto/POSIX/sin.al type=file
-x:\tlperl\lib/auto/POSIX/sleep.al type=file
-x:\tlperl\lib/auto/POSIX/sprintf.al type=file
-x:\tlperl\lib/auto/POSIX/sqrt.al type=file
-x:\tlperl\lib/auto/POSIX/srand.al type=file
-x:\tlperl\lib/auto/POSIX/sscanf.al type=file
-x:\tlperl\lib/auto/POSIX/stat.al type=file
-x:\tlperl\lib/auto/POSIX/strcat.al type=file
-x:\tlperl\lib/auto/POSIX/strchr.al type=file
-x:\tlperl\lib/auto/POSIX/strcmp.al type=file
-x:\tlperl\lib/auto/POSIX/strcpy.al type=file
-x:\tlperl\lib/auto/POSIX/strcspn.al type=file
-x:\tlperl\lib/auto/POSIX/strerror.al type=file
-x:\tlperl\lib/auto/POSIX/strlen.al type=file
-x:\tlperl\lib/auto/POSIX/strncat.al type=file
-x:\tlperl\lib/auto/POSIX/strncmp.al type=file
-x:\tlperl\lib/auto/POSIX/strncpy.al type=file
-x:\tlperl\lib/auto/POSIX/strpbrk.al type=file
-x:\tlperl\lib/auto/POSIX/strrchr.al type=file
-x:\tlperl\lib/auto/POSIX/strspn.al type=file
-x:\tlperl\lib/auto/POSIX/strstr.al type=file
-x:\tlperl\lib/auto/POSIX/strtok.al type=file
-x:\tlperl\lib/auto/POSIX/system.al type=file
-x:\tlperl\lib/auto/POSIX/time.al type=file
-x:\tlperl\lib/auto/POSIX/tmpfile.al type=file
-x:\tlperl\lib/auto/POSIX/tolower.al type=file
-x:\tlperl\lib/auto/POSIX/toupper.al type=file
-x:\tlperl\lib/auto/POSIX/umask.al type=file
-x:\tlperl\lib/auto/POSIX/ungetc.al type=file
-x:\tlperl\lib/auto/POSIX/unimpl.al type=file
-x:\tlperl\lib/auto/POSIX/unlink.al type=file
-x:\tlperl\lib/auto/POSIX/usage.al type=file
-x:\tlperl\lib/auto/POSIX/utime.al type=file
-x:\tlperl\lib/auto/POSIX/vfprintf.al type=file
-x:\tlperl\lib/auto/POSIX/vprintf.al type=file
-x:\tlperl\lib/auto/POSIX/vsprintf.al type=file
-x:\tlperl\lib/auto/POSIX/wait.al type=file
-x:\tlperl\lib/auto/POSIX/waitpid.al type=file
-x:\tlperl\lib/auto/PerlIO/encoding/encoding.dll type=file
-x:\tlperl\lib/auto/PerlIO/scalar/scalar.dll type=file
-x:\tlperl\lib/auto/PerlIO/via/via.dll type=file
-x:\tlperl\lib/auto/SDBM_File/SDBM_File.dll type=file
-x:\tlperl\lib/auto/Socket/Socket.dll type=file
-x:\tlperl\lib/auto/Storable/Storable.dll type=file
-x:\tlperl\lib/auto/Sys/Hostname/Hostname.dll type=file
-x:\tlperl\lib/auto/Text/Soundex/Soundex.dll type=file
-x:\tlperl\lib/auto/Tie/Hash/NamedCapture/NamedCapture.dll type=file
-x:\tlperl\lib/auto/Time/HiRes/HiRes.dll type=file
-x:\tlperl\lib/auto/Time/Piece/Piece.dll type=file
-x:\tlperl\lib/auto/Unicode/Collate/Collate.dll type=file
-x:\tlperl\lib/auto/Unicode/Normalize/Normalize.dll type=file
-x:\tlperl\lib/auto/Win32/Win32.dll type=file
-x:\tlperl\lib/auto/Win32API/File/File.dll type=file
-x:\tlperl\lib/auto/Win32CORE/extralibs.ld type=file
-x:\tlperl\lib/auto/attributes/attributes.dll type=file
-x:\tlperl\lib/auto/mro/mro.dll type=file
-x:\tlperl\lib/auto/re/re.dll type=file
-x:\tlperl\lib/auto/sdbm/extralibs.ld type=file
-x:\tlperl\lib/auto/threads/shared/shared.dll type=file
-x:\tlperl\lib/auto/threads/threads.dll type=file
-x:\tlperl\lib/autodie.pm type=file
-x:\tlperl\lib/autodie/exception.pm type=file
-x:\tlperl\lib/autodie/exception/system.pm type=file
-x:\tlperl\lib/autodie/hints.pm type=file
-x:\tlperl\lib/autouse.pm type=file
-x:\tlperl\lib/base.pm type=file
-x:\tlperl\lib/bigfloat.pl type=file
-x:\tlperl\lib/bigint.pl type=file
-x:\tlperl\lib/bigint.pm type=file
-x:\tlperl\lib/bignum.pm type=file
-x:\tlperl\lib/bigrat.pl type=file
-x:\tlperl\lib/bigrat.pm type=file
-x:\tlperl\lib/blib.pm type=file
-x:\tlperl\lib/bytes.pm type=file
-x:\tlperl\lib/bytes_heavy.pl type=file
-x:\tlperl\lib/cacheout.pl type=file
-x:\tlperl\lib/charnames.pm type=file
-x:\tlperl\lib/complete.pl type=file
-x:\tlperl\lib/constant.pm type=file
-x:\tlperl\lib/ctime.pl type=file
-x:\tlperl\lib/deprecate.pm type=file
-x:\tlperl\lib/diagnostics.pm type=file
-x:\tlperl\lib/dotsh.pl type=file
-x:\tlperl\lib/dumpvar.pl type=file
-x:\tlperl\lib/encoding.pm type=file
-x:\tlperl\lib/encoding/warnings.pm type=file
-x:\tlperl\lib/exceptions.pl type=file
-x:\tlperl\lib/fastcwd.pl type=file
-x:\tlperl\lib/feature.pm type=file
-x:\tlperl\lib/fields.pm type=file
-x:\tlperl\lib/filetest.pm type=file
-x:\tlperl\lib/find.pl type=file
-x:\tlperl\lib/finddepth.pl type=file
-x:\tlperl\lib/flush.pl type=file
-x:\tlperl\lib/getcwd.pl type=file
-x:\tlperl\lib/getopt.pl type=file
-x:\tlperl\lib/getopts.pl type=file
-x:\tlperl\lib/hostname.pl type=file
-x:\tlperl\lib/if.pm type=file
-x:\tlperl\lib/importenv.pl type=file
-x:\tlperl\lib/inc/latest.pm type=file
-x:\tlperl\lib/inc/latest/private.pm type=file
-x:\tlperl\lib/integer.pm type=file
-x:\tlperl\lib/less.pm type=file
-x:\tlperl\lib/lib.pm type=file
-x:\tlperl\lib/locale.pm type=file
-x:\tlperl\lib/look.pl type=file
-x:\tlperl\lib/mro.pm type=file
-x:\tlperl\lib/newgetopt.pl type=file
-x:\tlperl\lib/open.pm type=file
-x:\tlperl\lib/open2.pl type=file
-x:\tlperl\lib/open3.pl type=file
-x:\tlperl\lib/ops.pm type=file
-x:\tlperl\lib/overload.pm type=file
-x:\tlperl\lib/overload/numbers.pm type=file
-x:\tlperl\lib/overloading.pm type=file
-x:\tlperl\lib/parent.pm type=file
-x:\tlperl\lib/perl5db.pl type=file
-x:\tlperl\lib/pods/a2p.pod type=file
-x:\tlperl\lib/pods/perl.pod type=file
-x:\tlperl\lib/pods/perl5004delta.pod type=file
-x:\tlperl\lib/pods/perl5005delta.pod type=file
-x:\tlperl\lib/pods/perl5100delta.pod type=file
-x:\tlperl\lib/pods/perl5101delta.pod type=file
-x:\tlperl\lib/pods/perl5110delta.pod type=file
-x:\tlperl\lib/pods/perl5111delta.pod type=file
-x:\tlperl\lib/pods/perl5112delta.pod type=file
-x:\tlperl\lib/pods/perl5113delta.pod type=file
-x:\tlperl\lib/pods/perl5114delta.pod type=file
-x:\tlperl\lib/pods/perl5115delta.pod type=file
-x:\tlperl\lib/pods/perl5120delta.pod type=file
-x:\tlperl\lib/pods/perl5121delta.pod type=file
-x:\tlperl\lib/pods/perl5122delta.pod type=file
-x:\tlperl\lib/pods/perl5123delta.pod type=file
-x:\tlperl\lib/pods/perl5130delta.pod type=file
-x:\tlperl\lib/pods/perl51310delta.pod type=file
-x:\tlperl\lib/pods/perl51311delta.pod type=file
-x:\tlperl\lib/pods/perl5131delta.pod type=file
-x:\tlperl\lib/pods/perl5132delta.pod type=file
-x:\tlperl\lib/pods/perl5133delta.pod type=file
-x:\tlperl\lib/pods/perl5134delta.pod type=file
-x:\tlperl\lib/pods/perl5135delta.pod type=file
-x:\tlperl\lib/pods/perl5136delta.pod type=file
-x:\tlperl\lib/pods/perl5137delta.pod type=file
-x:\tlperl\lib/pods/perl5138delta.pod type=file
-x:\tlperl\lib/pods/perl5139delta.pod type=file
-x:\tlperl\lib/pods/perl5140delta.pod type=file
-x:\tlperl\lib/pods/perl5141delta.pod type=file
-x:\tlperl\lib/pods/perl5142delta.pod type=file
-x:\tlperl\lib/pods/perl561delta.pod type=file
-x:\tlperl\lib/pods/perl56delta.pod type=file
-x:\tlperl\lib/pods/perl570delta.pod type=file
-x:\tlperl\lib/pods/perl571delta.pod type=file
-x:\tlperl\lib/pods/perl572delta.pod type=file
-x:\tlperl\lib/pods/perl573delta.pod type=file
-x:\tlperl\lib/pods/perl581delta.pod type=file
-x:\tlperl\lib/pods/perl582delta.pod type=file
-x:\tlperl\lib/pods/perl583delta.pod type=file
-x:\tlperl\lib/pods/perl584delta.pod type=file
-x:\tlperl\lib/pods/perl585delta.pod type=file
-x:\tlperl\lib/pods/perl586delta.pod type=file
-x:\tlperl\lib/pods/perl587delta.pod type=file
-x:\tlperl\lib/pods/perl588delta.pod type=file
-x:\tlperl\lib/pods/perl589delta.pod type=file
-x:\tlperl\lib/pods/perl58delta.pod type=file
-x:\tlperl\lib/pods/perl590delta.pod type=file
-x:\tlperl\lib/pods/perl591delta.pod type=file
-x:\tlperl\lib/pods/perl592delta.pod type=file
-x:\tlperl\lib/pods/perl593delta.pod type=file
-x:\tlperl\lib/pods/perl594delta.pod type=file
-x:\tlperl\lib/pods/perl595delta.pod type=file
-x:\tlperl\lib/pods/perlaix.pod type=file
-x:\tlperl\lib/pods/perlamiga.pod type=file
-x:\tlperl\lib/pods/perlapi.pod type=file
-x:\tlperl\lib/pods/perlapio.pod type=file
-x:\tlperl\lib/pods/perlartistic.pod type=file
-x:\tlperl\lib/pods/perlbeos.pod type=file
-x:\tlperl\lib/pods/perlbook.pod type=file
-x:\tlperl\lib/pods/perlboot.pod type=file
-x:\tlperl\lib/pods/perlbot.pod type=file
-x:\tlperl\lib/pods/perlbs2000.pod type=file
-x:\tlperl\lib/pods/perlcall.pod type=file
-x:\tlperl\lib/pods/perlce.pod type=file
-x:\tlperl\lib/pods/perlcheat.pod type=file
-x:\tlperl\lib/pods/perlclib.pod type=file
-x:\tlperl\lib/pods/perlcn.pod type=file
-x:\tlperl\lib/pods/perlcommunity.pod type=file
-x:\tlperl\lib/pods/perlcompile.pod type=file
-x:\tlperl\lib/pods/perlcygwin.pod type=file
-x:\tlperl\lib/pods/perldata.pod type=file
-x:\tlperl\lib/pods/perldbmfilter.pod type=file
-x:\tlperl\lib/pods/perldebguts.pod type=file
-x:\tlperl\lib/pods/perldebtut.pod type=file
-x:\tlperl\lib/pods/perldebug.pod type=file
-x:\tlperl\lib/pods/perldelta.pod type=file
-x:\tlperl\lib/pods/perldgux.pod type=file
-x:\tlperl\lib/pods/perldiag.pod type=file
-x:\tlperl\lib/pods/perldoc.pod type=file
-x:\tlperl\lib/pods/perldos.pod type=file
-x:\tlperl\lib/pods/perldsc.pod type=file
-x:\tlperl\lib/pods/perlebcdic.pod type=file
-x:\tlperl\lib/pods/perlembed.pod type=file
-x:\tlperl\lib/pods/perlepoc.pod type=file
-x:\tlperl\lib/pods/perlfaq.pod type=file
-x:\tlperl\lib/pods/perlfaq1.pod type=file
-x:\tlperl\lib/pods/perlfaq2.pod type=file
-x:\tlperl\lib/pods/perlfaq3.pod type=file
-x:\tlperl\lib/pods/perlfaq4.pod type=file
-x:\tlperl\lib/pods/perlfaq5.pod type=file
-x:\tlperl\lib/pods/perlfaq6.pod type=file
-x:\tlperl\lib/pods/perlfaq7.pod type=file
-x:\tlperl\lib/pods/perlfaq8.pod type=file
-x:\tlperl\lib/pods/perlfaq9.pod type=file
-x:\tlperl\lib/pods/perlfilter.pod type=file
-x:\tlperl\lib/pods/perlfork.pod type=file
-x:\tlperl\lib/pods/perlform.pod type=file
-x:\tlperl\lib/pods/perlfreebsd.pod type=file
-x:\tlperl\lib/pods/perlfunc.pod type=file
-x:\tlperl\lib/pods/perlgit.pod type=file
-x:\tlperl\lib/pods/perlglossary.pod type=file
-x:\tlperl\lib/pods/perlgpl.pod type=file
-x:\tlperl\lib/pods/perlguts.pod type=file
-x:\tlperl\lib/pods/perlhack.pod type=file
-x:\tlperl\lib/pods/perlhacktips.pod type=file
-x:\tlperl\lib/pods/perlhacktut.pod type=file
-x:\tlperl\lib/pods/perlhaiku.pod type=file
-x:\tlperl\lib/pods/perlhist.pod type=file
-x:\tlperl\lib/pods/perlhpux.pod type=file
-x:\tlperl\lib/pods/perlhurd.pod type=file
-x:\tlperl\lib/pods/perlintern.pod type=file
-x:\tlperl\lib/pods/perlinterp.pod type=file
-x:\tlperl\lib/pods/perlintro.pod type=file
-x:\tlperl\lib/pods/perliol.pod type=file
-x:\tlperl\lib/pods/perlipc.pod type=file
-x:\tlperl\lib/pods/perlirix.pod type=file
-x:\tlperl\lib/pods/perljp.pod type=file
-x:\tlperl\lib/pods/perlko.pod type=file
-x:\tlperl\lib/pods/perllexwarn.pod type=file
-x:\tlperl\lib/pods/perllinux.pod type=file
-x:\tlperl\lib/pods/perllocale.pod type=file
-x:\tlperl\lib/pods/perllol.pod type=file
-x:\tlperl\lib/pods/perlmacos.pod type=file
-x:\tlperl\lib/pods/perlmacosx.pod type=file
-x:\tlperl\lib/pods/perlmod.pod type=file
-x:\tlperl\lib/pods/perlmodinstall.pod type=file
-x:\tlperl\lib/pods/perlmodlib.pod type=file
-x:\tlperl\lib/pods/perlmodstyle.pod type=file
-x:\tlperl\lib/pods/perlmpeix.pod type=file
-x:\tlperl\lib/pods/perlmroapi.pod type=file
-x:\tlperl\lib/pods/perlnetware.pod type=file
-x:\tlperl\lib/pods/perlnewmod.pod type=file
-x:\tlperl\lib/pods/perlnumber.pod type=file
-x:\tlperl\lib/pods/perlobj.pod type=file
-x:\tlperl\lib/pods/perlop.pod type=file
-x:\tlperl\lib/pods/perlopenbsd.pod type=file
-x:\tlperl\lib/pods/perlopentut.pod type=file
-x:\tlperl\lib/pods/perlos2.pod type=file
-x:\tlperl\lib/pods/perlos390.pod type=file
-x:\tlperl\lib/pods/perlos400.pod type=file
-x:\tlperl\lib/pods/perlpacktut.pod type=file
-x:\tlperl\lib/pods/perlperf.pod type=file
-x:\tlperl\lib/pods/perlplan9.pod type=file
-x:\tlperl\lib/pods/perlpod.pod type=file
-x:\tlperl\lib/pods/perlpodspec.pod type=file
-x:\tlperl\lib/pods/perlpodstyle.pod type=file
-x:\tlperl\lib/pods/perlpolicy.pod type=file
-x:\tlperl\lib/pods/perlport.pod type=file
-x:\tlperl\lib/pods/perlpragma.pod type=file
-x:\tlperl\lib/pods/perlqnx.pod type=file
-x:\tlperl\lib/pods/perlre.pod type=file
-x:\tlperl\lib/pods/perlreapi.pod type=file
-x:\tlperl\lib/pods/perlrebackslash.pod type=file
-x:\tlperl\lib/pods/perlrecharclass.pod type=file
-x:\tlperl\lib/pods/perlref.pod type=file
-x:\tlperl\lib/pods/perlreftut.pod type=file
-x:\tlperl\lib/pods/perlreguts.pod type=file
-x:\tlperl\lib/pods/perlrequick.pod type=file
-x:\tlperl\lib/pods/perlreref.pod type=file
-x:\tlperl\lib/pods/perlretut.pod type=file
-x:\tlperl\lib/pods/perlriscos.pod type=file
-x:\tlperl\lib/pods/perlrun.pod type=file
-x:\tlperl\lib/pods/perlsec.pod type=file
-x:\tlperl\lib/pods/perlsolaris.pod type=file
-x:\tlperl\lib/pods/perlsource.pod type=file
-x:\tlperl\lib/pods/perlstyle.pod type=file
-x:\tlperl\lib/pods/perlsub.pod type=file
-x:\tlperl\lib/pods/perlsymbian.pod type=file
-x:\tlperl\lib/pods/perlsyn.pod type=file
-x:\tlperl\lib/pods/perlthrtut.pod type=file
-x:\tlperl\lib/pods/perltie.pod type=file
-x:\tlperl\lib/pods/perltoc.pod type=file
-x:\tlperl\lib/pods/perltodo.pod type=file
-x:\tlperl\lib/pods/perltooc.pod type=file
-x:\tlperl\lib/pods/perltoot.pod type=file
-x:\tlperl\lib/pods/perltrap.pod type=file
-x:\tlperl\lib/pods/perltru64.pod type=file
-x:\tlperl\lib/pods/perltw.pod type=file
-x:\tlperl\lib/pods/perlunicode.pod type=file
-x:\tlperl\lib/pods/perlunifaq.pod type=file
-x:\tlperl\lib/pods/perluniintro.pod type=file
-x:\tlperl\lib/pods/perluniprops.pod type=file
-x:\tlperl\lib/pods/perlunitut.pod type=file
-x:\tlperl\lib/pods/perlutil.pod type=file
-x:\tlperl\lib/pods/perluts.pod type=file
-x:\tlperl\lib/pods/perlvar.pod type=file
-x:\tlperl\lib/pods/perlvmesa.pod type=file
-x:\tlperl\lib/pods/perlvms.pod type=file
-x:\tlperl\lib/pods/perlvos.pod type=file
-x:\tlperl\lib/pods/perlwin32.pod type=file
-x:\tlperl\lib/pods/perlxs.pod type=file
-x:\tlperl\lib/pods/perlxstut.pod type=file
-x:\tlperl\lib/pwd.pl type=file
-x:\tlperl\lib/re.pm type=file
-x:\tlperl\lib/shellwords.pl type=file
-x:\tlperl\lib/sigtrap.pm type=file
-x:\tlperl\lib/sort.pm type=file
-x:\tlperl\lib/stat.pl type=file
-x:\tlperl\lib/strict.pm type=file
-x:\tlperl\lib/subs.pm type=file
-x:\tlperl\lib/syslog.pl type=file
-x:\tlperl\lib/tainted.pl type=file
-x:\tlperl\lib/termcap.pl type=file
-x:\tlperl\lib/threads.pm type=file
-x:\tlperl\lib/threads/shared.pm type=file
-x:\tlperl\lib/timelocal.pl type=file
-x:\tlperl\lib/unicore/Blocks.txt type=file
-x:\tlperl\lib/unicore/CaseFolding.txt type=file
-x:\tlperl\lib/unicore/CombiningClass.pl type=file
-x:\tlperl\lib/unicore/Decomposition.pl type=file
-x:\tlperl\lib/unicore/Heavy.pl type=file
-x:\tlperl\lib/unicore/Name.pl type=file
-x:\tlperl\lib/unicore/NamedSequences.txt type=file
-x:\tlperl\lib/unicore/SpecialCasing.txt type=file
-x:\tlperl\lib/unicore/To/Age.pl type=file
-x:\tlperl\lib/unicore/To/Bc.pl type=file
-x:\tlperl\lib/unicore/To/Bmg.pl type=file
-x:\tlperl\lib/unicore/To/Digit.pl type=file
-x:\tlperl\lib/unicore/To/Dt.pl type=file
-x:\tlperl\lib/unicore/To/Ea.pl type=file
-x:\tlperl\lib/unicore/To/Fold.pl type=file
-x:\tlperl\lib/unicore/To/GCB.pl type=file
-x:\tlperl\lib/unicore/To/Gc.pl type=file
-x:\tlperl\lib/unicore/To/Hst.pl type=file
-x:\tlperl\lib/unicore/To/Jg.pl type=file
-x:\tlperl\lib/unicore/To/Jt.pl type=file
-x:\tlperl\lib/unicore/To/Lb.pl type=file
-x:\tlperl\lib/unicore/To/Lower.pl type=file
-x:\tlperl\lib/unicore/To/NFCQC.pl type=file
-x:\tlperl\lib/unicore/To/NFDQC.pl type=file
-x:\tlperl\lib/unicore/To/NFKCCF.pl type=file
-x:\tlperl\lib/unicore/To/NFKCQC.pl type=file
-x:\tlperl\lib/unicore/To/NFKDQC.pl type=file
-x:\tlperl\lib/unicore/To/Na1.pl type=file
-x:\tlperl\lib/unicore/To/Nt.pl type=file
-x:\tlperl\lib/unicore/To/Nv.pl type=file
-x:\tlperl\lib/unicore/To/SB.pl type=file
-x:\tlperl\lib/unicore/To/Sc.pl type=file
-x:\tlperl\lib/unicore/To/Title.pl type=file
-x:\tlperl\lib/unicore/To/Upper.pl type=file
-x:\tlperl\lib/unicore/To/WB.pl type=file
-x:\tlperl\lib/unicore/To/_slc.pl type=file
-x:\tlperl\lib/unicore/To/_stc.pl type=file
-x:\tlperl\lib/unicore/To/_suc.pl type=file
-x:\tlperl\lib/unicore/lib/AHex/N.pl type=file
-x:\tlperl\lib/unicore/lib/AHex/Y.pl type=file
-x:\tlperl\lib/unicore/lib/Age/1_1.pl type=file
-x:\tlperl\lib/unicore/lib/Age/2_0.pl type=file
-x:\tlperl\lib/unicore/lib/Age/2_1.pl type=file
-x:\tlperl\lib/unicore/lib/Age/3_0.pl type=file
-x:\tlperl\lib/unicore/lib/Age/3_1.pl type=file
-x:\tlperl\lib/unicore/lib/Age/3_2.pl type=file
-x:\tlperl\lib/unicore/lib/Age/4_0.pl type=file
-x:\tlperl\lib/unicore/lib/Age/4_1.pl type=file
-x:\tlperl\lib/unicore/lib/Age/5_0.pl type=file
-x:\tlperl\lib/unicore/lib/Age/5_1.pl type=file
-x:\tlperl\lib/unicore/lib/Age/5_2.pl type=file
-x:\tlperl\lib/unicore/lib/Age/6_0.pl type=file
-x:\tlperl\lib/unicore/lib/Age/Unassign.pl type=file
-x:\tlperl\lib/unicore/lib/Alpha/N.pl type=file
-x:\tlperl\lib/unicore/lib/Alpha/Y.pl type=file
-x:\tlperl\lib/unicore/lib/Bc/AL.pl type=file
-x:\tlperl\lib/unicore/lib/Bc/AN.pl type=file
-x:\tlperl\lib/unicore/lib/Bc/B.pl type=file
-x:\tlperl\lib/unicore/lib/Bc/BN.pl type=file
-x:\tlperl\lib/unicore/lib/Bc/CS.pl type=file
-x:\tlperl\lib/unicore/lib/Bc/EN.pl type=file
-x:\tlperl\lib/unicore/lib/Bc/ES.pl type=file
-x:\tlperl\lib/unicore/lib/Bc/ET.pl type=file
-x:\tlperl\lib/unicore/lib/Bc/L.pl type=file
-x:\tlperl\lib/unicore/lib/Bc/LRE.pl type=file
-x:\tlperl\lib/unicore/lib/Bc/LRO.pl type=file
-x:\tlperl\lib/unicore/lib/Bc/NSM.pl type=file
-x:\tlperl\lib/unicore/lib/Bc/ON.pl type=file
-x:\tlperl\lib/unicore/lib/Bc/PDF.pl type=file
-x:\tlperl\lib/unicore/lib/Bc/R.pl type=file
-x:\tlperl\lib/unicore/lib/Bc/RLE.pl type=file
-x:\tlperl\lib/unicore/lib/Bc/RLO.pl type=file
-x:\tlperl\lib/unicore/lib/Bc/S.pl type=file
-x:\tlperl\lib/unicore/lib/Bc/WS.pl type=file
-x:\tlperl\lib/unicore/lib/BidiC/N.pl type=file
-x:\tlperl\lib/unicore/lib/BidiC/Y.pl type=file
-x:\tlperl\lib/unicore/lib/BidiM/N.pl type=file
-x:\tlperl\lib/unicore/lib/BidiM/Y.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/ASCII.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/AegeanNu.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Alchemic.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Alphabet.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Ancient2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/AncientG.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/AncientS.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Arabic.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/ArabicP2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/ArabicPr.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/ArabicSu.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Armenian.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Arrows.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Avestan.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Balinese.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Bamum.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/BamumSup.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Batak.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Bengali.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/BlockEle.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Bopomof2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Bopomofo.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/BoxDrawi.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Brahmi.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/BrailleP.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Buginese.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Buhid.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Byzantin.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/CJKComp2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/CJKComp3.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/CJKComp4.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/CJKCompa.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/CJKRadic.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/CJKStrok.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/CJKSymbo.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/CJKUnif2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/CJKUnif3.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/CJKUnif4.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/CJKUnif5.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/CJKUnifi.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Canadian.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Carian.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Cham.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Cherokee.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Combini2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Combini3.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Combini4.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Combinin.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/CommonIn.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/ControlP.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Coptic.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Counting.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Cuneifo2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Cuneifor.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Currency.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/CypriotS.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Cyrilli2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Cyrilli3.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Cyrilli4.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Cyrillic.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Deseret.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Devanag2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Devanaga.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Dingbats.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/DominoTi.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Egyptian.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Emoticon.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Enclose2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Enclose3.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Enclose4.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Enclosed.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Ethiopi2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Ethiopi3.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Ethiopi4.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Ethiopic.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/GeneralP.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Geometri.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Georgia2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Georgian.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Glagolit.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Gothic.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Greek.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/GreekExt.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Gujarati.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Gurmukhi.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Halfwidt.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/HangulCo.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/HangulJ2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/HangulJ3.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/HangulJa.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/HangulSy.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Hanunoo.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Hebrew.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/HighPriv.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/HighSurr.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Hiragana.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/IPAExten.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Ideograp.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Imperial.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Inscrip2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Inscript.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Javanese.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Kaithi.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/KanaSupp.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Kanbun.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/KangxiRa.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Kannada.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Katakan2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Katakana.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/KayahLi.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Kharosht.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Khmer.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/KhmerSym.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Lao.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Latin1.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/LatinEx2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/LatinEx3.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/LatinEx4.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/LatinEx5.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/LatinExt.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Lepcha.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Letterli.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Limbu.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/LinearBI.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/LinearBS.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Lisu.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/LowSurro.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Lycian.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Lydian.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/MahjongT.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Malayala.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Mandaic.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Mathema2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Mathemat.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/MeeteiMa.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Miscell2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Miscell3.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Miscell4.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Miscell5.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Miscell6.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Miscella.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Modifier.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Mongolia.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/MusicalS.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Myanmar.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/MyanmarE.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/NKo.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/NewTaiLu.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/NoBlock.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/NumberFo.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Ogham.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/OlChiki.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/OldItali.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/OldPersi.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/OldSouth.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/OldTurki.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/OpticalC.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Oriya.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Osmanya.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/PhagsPa.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Phaistos.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Phoenici.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Phoneti2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Phonetic.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/PlayingC.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/PrivateU.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Rejang.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/RumiNume.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Runic.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Samarita.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Saurasht.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Shavian.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Sinhala.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/SmallFor.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/SpacingM.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Specials.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Sundanes.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Superscr.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Supplem2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Supplem3.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Supplem4.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Supplem5.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Supplem6.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Suppleme.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/SylotiNa.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Syriac.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Tagalog.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Tagbanwa.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Tags.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/TaiLe.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/TaiTham.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/TaiViet.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/TaiXuanJ.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Tamil.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Telugu.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Thaana.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Thai.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Tibetan.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Tifinagh.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Transpor.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Ugaritic.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/UnifiedC.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Vai.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Variati2.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Variatio.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/VedicExt.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/Vertical.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/YiRadica.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/YiSyllab.pl type=file
-x:\tlperl\lib/unicore/lib/Blk/YijingHe.pl type=file
-x:\tlperl\lib/unicore/lib/CE/N.pl type=file
-x:\tlperl\lib/unicore/lib/CE/Y.pl type=file
-x:\tlperl\lib/unicore/lib/CI/N.pl type=file
-x:\tlperl\lib/unicore/lib/CI/Y.pl type=file
-x:\tlperl\lib/unicore/lib/CWCF/N.pl type=file
-x:\tlperl\lib/unicore/lib/CWCF/Y.pl type=file
-x:\tlperl\lib/unicore/lib/CWCM/N.pl type=file
-x:\tlperl\lib/unicore/lib/CWCM/Y.pl type=file
-x:\tlperl\lib/unicore/lib/CWKCF/N.pl type=file
-x:\tlperl\lib/unicore/lib/CWKCF/Y.pl type=file
-x:\tlperl\lib/unicore/lib/CWL/N.pl type=file
-x:\tlperl\lib/unicore/lib/CWL/Y.pl type=file
-x:\tlperl\lib/unicore/lib/CWT/N.pl type=file
-x:\tlperl\lib/unicore/lib/CWT/Y.pl type=file
-x:\tlperl\lib/unicore/lib/CWU/N.pl type=file
-x:\tlperl\lib/unicore/lib/CWU/Y.pl type=file
-x:\tlperl\lib/unicore/lib/Cased/N.pl type=file
-x:\tlperl\lib/unicore/lib/Cased/Y.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/10.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/103.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/107.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/11.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/118.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/12.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/122.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/129.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/13.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/130.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/132.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/14.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/15.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/16.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/17.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/18.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/19.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/20.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/21.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/22.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/23.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/24.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/25.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/26.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/27.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/28.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/29.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/30.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/31.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/32.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/33.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/34.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/35.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/36.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/84.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/91.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/A.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/AL.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/AR.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/ATA.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/ATAR.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/ATB.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/ATBL.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/B.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/BL.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/BR.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/DA.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/DB.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/IS.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/KV.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/L.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/NK.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/NR.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/OV.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/R.pl type=file
-x:\tlperl\lib/unicore/lib/Ccc/VR.pl type=file
-x:\tlperl\lib/unicore/lib/CompEx/N.pl type=file
-x:\tlperl\lib/unicore/lib/CompEx/Y.pl type=file
-x:\tlperl\lib/unicore/lib/DI/N.pl type=file
-x:\tlperl\lib/unicore/lib/DI/Y.pl type=file
-x:\tlperl\lib/unicore/lib/Dash/N.pl type=file
-x:\tlperl\lib/unicore/lib/Dash/Y.pl type=file
-x:\tlperl\lib/unicore/lib/Dep/N.pl type=file
-x:\tlperl\lib/unicore/lib/Dep/Y.pl type=file
-x:\tlperl\lib/unicore/lib/Dia/N.pl type=file
-x:\tlperl\lib/unicore/lib/Dia/Y.pl type=file
-x:\tlperl\lib/unicore/lib/Dt/Com.pl type=file
-x:\tlperl\lib/unicore/lib/Dt/Enc.pl type=file
-x:\tlperl\lib/unicore/lib/Dt/Fin.pl type=file
-x:\tlperl\lib/unicore/lib/Dt/Font.pl type=file
-x:\tlperl\lib/unicore/lib/Dt/Fra.pl type=file
-x:\tlperl\lib/unicore/lib/Dt/Init.pl type=file
-x:\tlperl\lib/unicore/lib/Dt/Iso.pl type=file
-x:\tlperl\lib/unicore/lib/Dt/Med.pl type=file
-x:\tlperl\lib/unicore/lib/Dt/Nar.pl type=file
-x:\tlperl\lib/unicore/lib/Dt/Nb.pl type=file
-x:\tlperl\lib/unicore/lib/Dt/NonCanon.pl type=file
-x:\tlperl\lib/unicore/lib/Dt/None.pl type=file
-x:\tlperl\lib/unicore/lib/Dt/Sml.pl type=file
-x:\tlperl\lib/unicore/lib/Dt/Sqr.pl type=file
-x:\tlperl\lib/unicore/lib/Dt/Sub.pl type=file
-x:\tlperl\lib/unicore/lib/Dt/Sup.pl type=file
-x:\tlperl\lib/unicore/lib/Dt/Vert.pl type=file
-x:\tlperl\lib/unicore/lib/Ea/A.pl type=file
-x:\tlperl\lib/unicore/lib/Ea/F.pl type=file
-x:\tlperl\lib/unicore/lib/Ea/H.pl type=file
-x:\tlperl\lib/unicore/lib/Ea/N.pl type=file
-x:\tlperl\lib/unicore/lib/Ea/Na.pl type=file
-x:\tlperl\lib/unicore/lib/Ea/W.pl type=file
-x:\tlperl\lib/unicore/lib/Ext/N.pl type=file
-x:\tlperl\lib/unicore/lib/Ext/Y.pl type=file
-x:\tlperl\lib/unicore/lib/GCB/CN.pl type=file
-x:\tlperl\lib/unicore/lib/GCB/CR.pl type=file
-x:\tlperl\lib/unicore/lib/GCB/EX.pl type=file
-x:\tlperl\lib/unicore/lib/GCB/L.pl type=file
-x:\tlperl\lib/unicore/lib/GCB/LF.pl type=file
-x:\tlperl\lib/unicore/lib/GCB/LV.pl type=file
-x:\tlperl\lib/unicore/lib/GCB/LVT.pl type=file
-x:\tlperl\lib/unicore/lib/GCB/PP.pl type=file
-x:\tlperl\lib/unicore/lib/GCB/SM.pl type=file
-x:\tlperl\lib/unicore/lib/GCB/T.pl type=file
-x:\tlperl\lib/unicore/lib/GCB/V.pl type=file
-x:\tlperl\lib/unicore/lib/GCB/XX.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/C.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Cc.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Cf.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Cn.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Co.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Cs.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/L.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/LC.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Ll.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Lm.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Lo.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Lu.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/M.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Mc.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Me.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Mn.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/N.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Nl.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/No.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/P.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Pd.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Pe.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Pf.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Pi.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Po.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Ps.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/S.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Sc.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Sk.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Sm.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/So.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Z.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Zl.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Zp.pl type=file
-x:\tlperl\lib/unicore/lib/Gc/Zs.pl type=file
-x:\tlperl\lib/unicore/lib/GrBase/N.pl type=file
-x:\tlperl\lib/unicore/lib/GrBase/Y.pl type=file
-x:\tlperl\lib/unicore/lib/GrExt/N.pl type=file
-x:\tlperl\lib/unicore/lib/Hex/N.pl type=file
-x:\tlperl\lib/unicore/lib/Hex/Y.pl type=file
-x:\tlperl\lib/unicore/lib/Hst/NA.pl type=file
-x:\tlperl\lib/unicore/lib/Hyphen/N.pl type=file
-x:\tlperl\lib/unicore/lib/Hyphen/Y.pl type=file
-x:\tlperl\lib/unicore/lib/IDC/N.pl type=file
-x:\tlperl\lib/unicore/lib/IDC/Y.pl type=file
-x:\tlperl\lib/unicore/lib/IDS/N.pl type=file
-x:\tlperl\lib/unicore/lib/IDS/Y.pl type=file
-x:\tlperl\lib/unicore/lib/IDSB/N.pl type=file
-x:\tlperl\lib/unicore/lib/IDSB/Y.pl type=file
-x:\tlperl\lib/unicore/lib/IDST/N.pl type=file
-x:\tlperl\lib/unicore/lib/IDST/Y.pl type=file
-x:\tlperl\lib/unicore/lib/Ideo/N.pl type=file
-x:\tlperl\lib/unicore/lib/Ideo/Y.pl type=file
-x:\tlperl\lib/unicore/lib/In/2_0.pl type=file
-x:\tlperl\lib/unicore/lib/In/2_1.pl type=file
-x:\tlperl\lib/unicore/lib/In/3_0.pl type=file
-x:\tlperl\lib/unicore/lib/In/3_1.pl type=file
-x:\tlperl\lib/unicore/lib/In/3_2.pl type=file
-x:\tlperl\lib/unicore/lib/In/4_0.pl type=file
-x:\tlperl\lib/unicore/lib/In/4_1.pl type=file
-x:\tlperl\lib/unicore/lib/In/5_0.pl type=file
-x:\tlperl\lib/unicore/lib/In/5_1.pl type=file
-x:\tlperl\lib/unicore/lib/In/5_2.pl type=file
-x:\tlperl\lib/unicore/lib/In/6_0.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Ain.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Alaph.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Alef.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Beh.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Beth.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Burushas.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Dal.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/DalathRi.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/E.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/FarsiYeh.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Fe.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Feh.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/FinalSem.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Gaf.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Gamal.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Hah.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/He.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Heh.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/HehGoal.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Heth.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Kaf.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Kaph.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Khaph.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/KnottedH.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Lam.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Lamadh.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Meem.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Mim.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/NoJoinin.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Noon.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Nun.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Nya.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Pe.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Qaf.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Qaph.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Reh.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Reversed.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Sad.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Sadhe.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Seen.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Semkath.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Shin.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/SwashKaf.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/SyriacWa.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Tah.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Taw.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/TehMarb2.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/TehMarbu.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Teth.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Waw.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Yeh.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/YehBarre.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/YehWithT.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Yudh.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/YudhHe.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Zain.pl type=file
-x:\tlperl\lib/unicore/lib/Jg/Zhain.pl type=file
-x:\tlperl\lib/unicore/lib/JoinC/N.pl type=file
-x:\tlperl\lib/unicore/lib/JoinC/Y.pl type=file
-x:\tlperl\lib/unicore/lib/Jt/C.pl type=file
-x:\tlperl\lib/unicore/lib/Jt/D.pl type=file
-x:\tlperl\lib/unicore/lib/Jt/R.pl type=file
-x:\tlperl\lib/unicore/lib/Jt/T.pl type=file
-x:\tlperl\lib/unicore/lib/Jt/U.pl type=file
-x:\tlperl\lib/unicore/lib/LOE/N.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/AI.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/AL.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/B2.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/BA.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/BB.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/BK.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/CB.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/CL.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/CM.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/CP.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/EX.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/GL.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/HY.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/ID.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/IN.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/IS.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/NL.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/NS.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/NU.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/OP.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/PO.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/PR.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/QU.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/SA.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/SG.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/SP.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/SY.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/WJ.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/XX.pl type=file
-x:\tlperl\lib/unicore/lib/Lb/ZW.pl type=file
-x:\tlperl\lib/unicore/lib/Lower/N.pl type=file
-x:\tlperl\lib/unicore/lib/Lower/Y.pl type=file
-x:\tlperl\lib/unicore/lib/Math/N.pl type=file
-x:\tlperl\lib/unicore/lib/Math/Y.pl type=file
-x:\tlperl\lib/unicore/lib/NChar/N.pl type=file
-x:\tlperl\lib/unicore/lib/NChar/Y.pl type=file
-x:\tlperl\lib/unicore/lib/NFCQC/Y.pl type=file
-x:\tlperl\lib/unicore/lib/NFDQC/N.pl type=file
-x:\tlperl\lib/unicore/lib/NFDQC/Y.pl type=file
-x:\tlperl\lib/unicore/lib/NFKCQC/M.pl type=file
-x:\tlperl\lib/unicore/lib/NFKCQC/N.pl type=file
-x:\tlperl\lib/unicore/lib/NFKCQC/Y.pl type=file
-x:\tlperl\lib/unicore/lib/NFKDQC/N.pl type=file
-x:\tlperl\lib/unicore/lib/Nt/De.pl type=file
-x:\tlperl\lib/unicore/lib/Nt/Di.pl type=file
-x:\tlperl\lib/unicore/lib/Nt/Nu.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/0.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/1.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/10.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/100.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/1000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/10000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/100000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/10000000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/10000002.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/11.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/11_2.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/12.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/13.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/13_2.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/14.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/15.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/15_2.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/16.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/17.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/17_2.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/18.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/19.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/1_10.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/1_16.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/1_2.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/1_3.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/1_4.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/1_5.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/1_6.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/1_7.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/1_8.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/1_9.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/2.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/20.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/200.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/2000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/20000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/21.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/22.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/23.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/24.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/25.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/26.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/27.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/28.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/29.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/2_3.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/2_5.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/3.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/30.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/300.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/3000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/30000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/31.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/32.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/33.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/34.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/35.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/36.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/37.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/38.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/39.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/3_16.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/3_2.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/3_4.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/3_5.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/3_8.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/4.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/40.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/400.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/4000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/40000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/41.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/42.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/43.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/44.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/45.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/46.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/47.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/48.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/49.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/4_5.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/5.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/50.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/500.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/5000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/50000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/5_2.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/5_6.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/5_8.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/6.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/60.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/600.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/6000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/60000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/7.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/70.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/700.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/7000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/70000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/7_2.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/7_8.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/8.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/80.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/800.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/8000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/80000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/9.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/90.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/900.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/9000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/90000.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/9_2.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/NaN.pl type=file
-x:\tlperl\lib/unicore/lib/Nv/_1_2.pl type=file
-x:\tlperl\lib/unicore/lib/OAlpha/N.pl type=file
-x:\tlperl\lib/unicore/lib/OAlpha/Y.pl type=file
-x:\tlperl\lib/unicore/lib/ODI/N.pl type=file
-x:\tlperl\lib/unicore/lib/ODI/Y.pl type=file
-x:\tlperl\lib/unicore/lib/OGrExt/N.pl type=file
-x:\tlperl\lib/unicore/lib/OGrExt/Y.pl type=file
-x:\tlperl\lib/unicore/lib/OIDC/N.pl type=file
-x:\tlperl\lib/unicore/lib/OIDC/Y.pl type=file
-x:\tlperl\lib/unicore/lib/OIDS/N.pl type=file
-x:\tlperl\lib/unicore/lib/OIDS/Y.pl type=file
-x:\tlperl\lib/unicore/lib/OLower/N.pl type=file
-x:\tlperl\lib/unicore/lib/OLower/Y.pl type=file
-x:\tlperl\lib/unicore/lib/OMath/N.pl type=file
-x:\tlperl\lib/unicore/lib/OMath/Y.pl type=file
-x:\tlperl\lib/unicore/lib/OUpper/N.pl type=file
-x:\tlperl\lib/unicore/lib/OUpper/Y.pl type=file
-x:\tlperl\lib/unicore/lib/PatSyn/N.pl type=file
-x:\tlperl\lib/unicore/lib/PatSyn/Y.pl type=file
-x:\tlperl\lib/unicore/lib/PatWS/N.pl type=file
-x:\tlperl\lib/unicore/lib/PatWS/Y.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/Alnum.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/Any.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/Assigned.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/Blank.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/Graph.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/PerlSpac.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/PerlWord.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/PosixAln.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/PosixAlp.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/PosixBla.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/PosixCnt.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/PosixDig.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/PosixGra.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/PosixLow.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/PosixPri.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/PosixPun.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/PosixSpa.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/PosixUpp.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/Print.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/SpacePer.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/Title.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/VertSpac.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/Word.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/XPosixPu.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/_XBegin.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/_XExtend.pl type=file
-x:\tlperl\lib/unicore/lib/Perl/_XLVLVTV.pl type=file
-x:\tlperl\lib/unicore/lib/QMark/N.pl type=file
-x:\tlperl\lib/unicore/lib/QMark/Y.pl type=file
-x:\tlperl\lib/unicore/lib/Radical/N.pl type=file
-x:\tlperl\lib/unicore/lib/Radical/Y.pl type=file
-x:\tlperl\lib/unicore/lib/SB/AT.pl type=file
-x:\tlperl\lib/unicore/lib/SB/CL.pl type=file
-x:\tlperl\lib/unicore/lib/SB/EX.pl type=file
-x:\tlperl\lib/unicore/lib/SB/FO.pl type=file
-x:\tlperl\lib/unicore/lib/SB/LE.pl type=file
-x:\tlperl\lib/unicore/lib/SB/LO.pl type=file
-x:\tlperl\lib/unicore/lib/SB/SC.pl type=file
-x:\tlperl\lib/unicore/lib/SB/SE.pl type=file
-x:\tlperl\lib/unicore/lib/SB/ST.pl type=file
-x:\tlperl\lib/unicore/lib/SB/Sp.pl type=file
-x:\tlperl\lib/unicore/lib/SB/UP.pl type=file
-x:\tlperl\lib/unicore/lib/SB/XX.pl type=file
-x:\tlperl\lib/unicore/lib/SD/N.pl type=file
-x:\tlperl\lib/unicore/lib/SD/Y.pl type=file
-x:\tlperl\lib/unicore/lib/STerm/N.pl type=file
-x:\tlperl\lib/unicore/lib/STerm/Y.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Arab.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Armi.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Armn.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Avst.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Bali.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Bamu.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Batk.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Beng.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Bopo.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Brah.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Bugi.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Buhd.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Cans.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Cari.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Cham.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Cher.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Copt.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Cprt.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Cyrl.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Deva.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Egyp.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Ethi.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Geor.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Glag.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Goth.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Grek.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Gujr.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Guru.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Han.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Hang.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Hano.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Hebr.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Hira.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Ital.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Java.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Kana.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Khar.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Khmr.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Knda.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Kthi.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Lana.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Lao.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Latn.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Lepc.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Limb.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Linb.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Lyci.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Lydi.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Mand.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Mlym.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Mong.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Mtei.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Mymr.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Nko.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Ogam.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Orkh.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Orya.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Osma.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Phag.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Phli.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Phnx.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Prti.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Rjng.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Runr.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Samr.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Saur.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Sinh.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Sund.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Sylo.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Syrc.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Tagb.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Tale.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Talu.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Taml.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Tavt.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Telu.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Tfng.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Tglg.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Thaa.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Thai.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Tibt.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Ugar.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Vai.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Xpeo.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Xsux.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Yi.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Zinh.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Zyyy.pl type=file
-x:\tlperl\lib/unicore/lib/Sc/Zzzz.pl type=file
-x:\tlperl\lib/unicore/lib/Space/N.pl type=file
-x:\tlperl\lib/unicore/lib/Space/Y.pl type=file
-x:\tlperl\lib/unicore/lib/Term/N.pl type=file
-x:\tlperl\lib/unicore/lib/Term/Y.pl type=file
-x:\tlperl\lib/unicore/lib/UIdeo/N.pl type=file
-x:\tlperl\lib/unicore/lib/UIdeo/Y.pl type=file
-x:\tlperl\lib/unicore/lib/Upper/N.pl type=file
-x:\tlperl\lib/unicore/lib/Upper/Y.pl type=file
-x:\tlperl\lib/unicore/lib/VS/N.pl type=file
-x:\tlperl\lib/unicore/lib/VS/Y.pl type=file
-x:\tlperl\lib/unicore/lib/WB/EX.pl type=file
-x:\tlperl\lib/unicore/lib/WB/FO.pl type=file
-x:\tlperl\lib/unicore/lib/WB/KA.pl type=file
-x:\tlperl\lib/unicore/lib/WB/LE.pl type=file
-x:\tlperl\lib/unicore/lib/WB/MB.pl type=file
-x:\tlperl\lib/unicore/lib/WB/ML.pl type=file
-x:\tlperl\lib/unicore/lib/WB/MN.pl type=file
-x:\tlperl\lib/unicore/lib/WB/NL.pl type=file
-x:\tlperl\lib/unicore/lib/WB/NU.pl type=file
-x:\tlperl\lib/unicore/lib/WB/XX.pl type=file
-x:\tlperl\lib/unicore/lib/XIDC/N.pl type=file
-x:\tlperl\lib/unicore/lib/XIDC/Y.pl type=file
-x:\tlperl\lib/unicore/lib/XIDS/N.pl type=file
-x:\tlperl\lib/unicore/lib/XIDS/Y.pl type=file
-x:\tlperl\lib/unicore/version type=file
-x:\tlperl\lib/utf8.pm type=file
-x:\tlperl\lib/utf8_heavy.pl type=file
-x:\tlperl\lib/validate.pl type=file
-x:\tlperl\lib/vars.pm type=file
-x:\tlperl\lib/version.pm type=file
-x:\tlperl\lib/version.pod type=file
-x:\tlperl\lib/version/Internals.pod type=file
-x:\tlperl\lib/version/Requirements.pm type=file
-x:\tlperl\lib/vmsish.pm type=file
-x:\tlperl\lib/warnings.pm type=file
-x:\tlperl\lib/warnings/register.pm type=file
+c:\perl\bin/a2p.exe type=file
+c:\perl\bin/c2ph.bat type=file
+c:\perl\bin/config_data.bat type=file
+c:\perl\bin/corelist.bat type=file
+c:\perl\bin/cpan.bat type=file
+c:\perl\bin/cpan2dist.bat type=file
+c:\perl\bin/cpanp-run-perl.bat type=file
+c:\perl\bin/cpanp.bat type=file
+c:\perl\bin/enc2xs.bat type=file
+c:\perl\bin/find2perl.bat type=file
+c:\perl\bin/h2ph.bat type=file
+c:\perl\bin/h2xs.bat type=file
+c:\perl\bin/instmodsh.bat type=file
+c:\perl\bin/json_pp.bat type=file
+c:\perl\bin/libnetcfg.bat type=file
+c:\perl\bin/perl.exe from=c:\perl\bin/perl5.16.2.exe type=link
+c:\perl\bin/perl5.16.2.exe type=file
+c:\perl\bin/perl516.dll type=file
+c:\perl\bin/perlbug.bat type=file
+c:\perl\bin/perldoc.bat type=file
+c:\perl\bin/perlivp.bat type=file
+c:\perl\bin/perlthanks.bat from=c:\perl\bin/perlbug.bat type=link
+c:\perl\bin/piconv.bat type=file
+c:\perl\bin/pl2pm.bat type=file
+c:\perl\bin/pod2html.bat type=file
+c:\perl\bin/pod2latex.bat type=file
+c:\perl\bin/pod2man.bat type=file
+c:\perl\bin/pod2text.bat type=file
+c:\perl\bin/pod2usage.bat type=file
+c:\perl\bin/podchecker.bat type=file
+c:\perl\bin/podselect.bat type=file
+c:\perl\bin/prove.bat type=file
+c:\perl\bin/psed.bat from=c:\perl\bin/s2p.bat type=link
+c:\perl\bin/pstruct.bat from=c:\perl\bin/c2ph.bat type=link
+c:\perl\bin/ptar.bat type=file
+c:\perl\bin/ptardiff.bat type=file
+c:\perl\bin/ptargrep.bat type=file
+c:\perl\bin/s2p.bat type=file
+c:\perl\bin/shasum.bat type=file
+c:\perl\bin/splain.bat type=file
+c:\perl\bin/xsubpp.bat type=file
+c:\perl\bin/zipdetails.bat type=file
+c:\perl\lib/AnyDBM_File.pm type=file
+c:\perl\lib/App/Cpan.pm type=file
+c:\perl\lib/App/Prove.pm type=file
+c:\perl\lib/App/Prove/State.pm type=file
+c:\perl\lib/App/Prove/State/Result.pm type=file
+c:\perl\lib/App/Prove/State/Result/Test.pm type=file
+c:\perl\lib/Archive/Extract.pm type=file
+c:\perl\lib/Archive/Tar.pm type=file
+c:\perl\lib/Archive/Tar/Constant.pm type=file
+c:\perl\lib/Archive/Tar/File.pm type=file
+c:\perl\lib/Attribute/Handlers.pm type=file
+c:\perl\lib/AutoLoader.pm type=file
+c:\perl\lib/AutoSplit.pm type=file
+c:\perl\lib/B.pm type=file
+c:\perl\lib/B/Concise.pm type=file
+c:\perl\lib/B/Debug.pm type=file
+c:\perl\lib/B/Deparse.pm type=file
+c:\perl\lib/B/Lint.pm type=file
+c:\perl\lib/B/Lint/Debug.pm type=file
+c:\perl\lib/B/Showlex.pm type=file
+c:\perl\lib/B/Terse.pm type=file
+c:\perl\lib/B/Xref.pm type=file
+c:\perl\lib/Benchmark.pm type=file
+c:\perl\lib/CGI.pm type=file
+c:\perl\lib/CGI/Apache.pm type=file
+c:\perl\lib/CGI/Carp.pm type=file
+c:\perl\lib/CGI/Cookie.pm type=file
+c:\perl\lib/CGI/Fast.pm type=file
+c:\perl\lib/CGI/Pretty.pm type=file
+c:\perl\lib/CGI/Push.pm type=file
+c:\perl\lib/CGI/Switch.pm type=file
+c:\perl\lib/CGI/Util.pm type=file
+c:\perl\lib/CORE.pod type=file
+c:\perl\lib/CORE/EXTERN.h type=file
+c:\perl\lib/CORE/INTERN.h type=file
+c:\perl\lib/CORE/XSUB.h type=file
+c:\perl\lib/CORE/arpa/inet.h type=file
+c:\perl\lib/CORE/av.h type=file
+c:\perl\lib/CORE/bitcount.h type=file
+c:\perl\lib/CORE/charclass_invlists.h type=file
+c:\perl\lib/CORE/config.h type=file
+c:\perl\lib/CORE/cop.h type=file
+c:\perl\lib/CORE/cv.h type=file
+c:\perl\lib/CORE/dirent.h type=file
+c:\perl\lib/CORE/dosish.h type=file
+c:\perl\lib/CORE/embed.h type=file
+c:\perl\lib/CORE/embedvar.h type=file
+c:\perl\lib/CORE/fakesdio.h type=file
+c:\perl\lib/CORE/fakethr.h type=file
+c:\perl\lib/CORE/feature.h type=file
+c:\perl\lib/CORE/form.h type=file
+c:\perl\lib/CORE/git_version.h type=file
+c:\perl\lib/CORE/gv.h type=file
+c:\perl\lib/CORE/handy.h type=file
+c:\perl\lib/CORE/hv.h type=file
+c:\perl\lib/CORE/intrpvar.h type=file
+c:\perl\lib/CORE/iperlsys.h type=file
+c:\perl\lib/CORE/keywords.h type=file
+c:\perl\lib/CORE/l1_char_class_tab.h type=file
+c:\perl\lib/CORE/libperl516.a type=file
+c:\perl\lib/CORE/malloc_ctl.h type=file
+c:\perl\lib/CORE/metaconfig.h type=file
+c:\perl\lib/CORE/mg.h type=file
+c:\perl\lib/CORE/mg_data.h type=file
+c:\perl\lib/CORE/mg_raw.h type=file
+c:\perl\lib/CORE/mg_vtable.h type=file
+c:\perl\lib/CORE/mydtrace.h type=file
+c:\perl\lib/CORE/netdb.h type=file
+c:\perl\lib/CORE/nostdio.h type=file
+c:\perl\lib/CORE/op.h type=file
+c:\perl\lib/CORE/op_reg_common.h type=file
+c:\perl\lib/CORE/opcode.h type=file
+c:\perl\lib/CORE/opnames.h type=file
+c:\perl\lib/CORE/overload.h type=file
+c:\perl\lib/CORE/pad.h type=file
+c:\perl\lib/CORE/parser.h type=file
+c:\perl\lib/CORE/patchlevel.h type=file
+c:\perl\lib/CORE/perl.h type=file
+c:\perl\lib/CORE/perlapi.h type=file
+c:\perl\lib/CORE/perlhost.h type=file
+c:\perl\lib/CORE/perlio.h type=file
+c:\perl\lib/CORE/perliol.h type=file
+c:\perl\lib/CORE/perlsdio.h type=file
+c:\perl\lib/CORE/perlsfio.h type=file
+c:\perl\lib/CORE/perlvars.h type=file
+c:\perl\lib/CORE/perly.h type=file
+c:\perl\lib/CORE/pp.h type=file
+c:\perl\lib/CORE/pp_proto.h type=file
+c:\perl\lib/CORE/proto.h type=file
+c:\perl\lib/CORE/reentr.h type=file
+c:\perl\lib/CORE/regcharclass.h type=file
+c:\perl\lib/CORE/regcomp.h type=file
+c:\perl\lib/CORE/regexp.h type=file
+c:\perl\lib/CORE/regnodes.h type=file
+c:\perl\lib/CORE/scope.h type=file
+c:\perl\lib/CORE/sv.h type=file
+c:\perl\lib/CORE/sys/socket.h type=file
+c:\perl\lib/CORE/thread.h type=file
+c:\perl\lib/CORE/time64.h type=file
+c:\perl\lib/CORE/time64_config.h type=file
+c:\perl\lib/CORE/uconfig.h type=file
+c:\perl\lib/CORE/unixish.h type=file
+c:\perl\lib/CORE/utf8.h type=file
+c:\perl\lib/CORE/utfebcdic.h type=file
+c:\perl\lib/CORE/util.h type=file
+c:\perl\lib/CORE/uudmap.h type=file
+c:\perl\lib/CORE/vdir.h type=file
+c:\perl\lib/CORE/vmem.h type=file
+c:\perl\lib/CORE/warnings.h type=file
+c:\perl\lib/CORE/win32.h type=file
+c:\perl\lib/CORE/win32iop-o.h type=file
+c:\perl\lib/CORE/win32iop.h type=file
+c:\perl\lib/CORE/win32thread.h type=file
+c:\perl\lib/CORE/wince.h type=file
+c:\perl\lib/CPAN.pm type=file
+c:\perl\lib/CPAN/API/HOWTO.pod type=file
+c:\perl\lib/CPAN/Author.pm type=file
+c:\perl\lib/CPAN/Bundle.pm type=file
+c:\perl\lib/CPAN/CacheMgr.pm type=file
+c:\perl\lib/CPAN/Complete.pm type=file
+c:\perl\lib/CPAN/Debug.pm type=file
+c:\perl\lib/CPAN/DeferredCode.pm type=file
+c:\perl\lib/CPAN/Distribution.pm type=file
+c:\perl\lib/CPAN/Distroprefs.pm type=file
+c:\perl\lib/CPAN/Distrostatus.pm type=file
+c:\perl\lib/CPAN/Exception/RecursiveDependency.pm type=file
+c:\perl\lib/CPAN/Exception/blocked_urllist.pm type=file
+c:\perl\lib/CPAN/Exception/yaml_not_installed.pm type=file
+c:\perl\lib/CPAN/Exception/yaml_process_error.pm type=file
+c:\perl\lib/CPAN/FTP.pm type=file
+c:\perl\lib/CPAN/FTP/netrc.pm type=file
+c:\perl\lib/CPAN/FirstTime.pm type=file
+c:\perl\lib/CPAN/HTTP/Client.pm type=file
+c:\perl\lib/CPAN/HTTP/Credentials.pm type=file
+c:\perl\lib/CPAN/HandleConfig.pm type=file
+c:\perl\lib/CPAN/Index.pm type=file
+c:\perl\lib/CPAN/InfoObj.pm type=file
+c:\perl\lib/CPAN/Kwalify.pm type=file
+c:\perl\lib/CPAN/Kwalify/distroprefs.dd type=file
+c:\perl\lib/CPAN/Kwalify/distroprefs.yml type=file
+c:\perl\lib/CPAN/LWP/UserAgent.pm type=file
+c:\perl\lib/CPAN/Meta.pm type=file
+c:\perl\lib/CPAN/Meta/Converter.pm type=file
+c:\perl\lib/CPAN/Meta/Feature.pm type=file
+c:\perl\lib/CPAN/Meta/History.pm type=file
+c:\perl\lib/CPAN/Meta/Prereqs.pm type=file
+c:\perl\lib/CPAN/Meta/Requirements.pm type=file
+c:\perl\lib/CPAN/Meta/Spec.pm type=file
+c:\perl\lib/CPAN/Meta/Validator.pm type=file
+c:\perl\lib/CPAN/Meta/YAML.pm type=file
+c:\perl\lib/CPAN/Mirrors.pm type=file
+c:\perl\lib/CPAN/Module.pm type=file
+c:\perl\lib/CPAN/Nox.pm type=file
+c:\perl\lib/CPAN/Prompt.pm type=file
+c:\perl\lib/CPAN/Queue.pm type=file
+c:\perl\lib/CPAN/Shell.pm type=file
+c:\perl\lib/CPAN/Tarzip.pm type=file
+c:\perl\lib/CPAN/URL.pm type=file
+c:\perl\lib/CPAN/Version.pm type=file
+c:\perl\lib/CPANPLUS.pm type=file
+c:\perl\lib/CPANPLUS/Backend.pm type=file
+c:\perl\lib/CPANPLUS/Backend/RV.pm type=file
+c:\perl\lib/CPANPLUS/Config.pm type=file
+c:\perl\lib/CPANPLUS/Configure.pm type=file
+c:\perl\lib/CPANPLUS/Configure/Setup.pm type=file
+c:\perl\lib/CPANPLUS/Dist.pm type=file
+c:\perl\lib/CPANPLUS/Dist/Autobundle.pm type=file
+c:\perl\lib/CPANPLUS/Dist/Base.pm type=file
+c:\perl\lib/CPANPLUS/Dist/Build.pm type=file
+c:\perl\lib/CPANPLUS/Dist/Build/Constants.pm type=file
+c:\perl\lib/CPANPLUS/Dist/MM.pm type=file
+c:\perl\lib/CPANPLUS/Dist/Sample.pm type=file
+c:\perl\lib/CPANPLUS/Error.pm type=file
+c:\perl\lib/CPANPLUS/FAQ.pod type=file
+c:\perl\lib/CPANPLUS/Hacking.pod type=file
+c:\perl\lib/CPANPLUS/Internals.pm type=file
+c:\perl\lib/CPANPLUS/Internals/Constants.pm type=file
+c:\perl\lib/CPANPLUS/Internals/Constants/Report.pm type=file
+c:\perl\lib/CPANPLUS/Internals/Extract.pm type=file
+c:\perl\lib/CPANPLUS/Internals/Fetch.pm type=file
+c:\perl\lib/CPANPLUS/Internals/Report.pm type=file
+c:\perl\lib/CPANPLUS/Internals/Search.pm type=file
+c:\perl\lib/CPANPLUS/Internals/Source.pm type=file
+c:\perl\lib/CPANPLUS/Internals/Source/Memory.pm type=file
+c:\perl\lib/CPANPLUS/Internals/Source/SQLite.pm type=file
+c:\perl\lib/CPANPLUS/Internals/Source/SQLite/Tie.pm type=file
+c:\perl\lib/CPANPLUS/Internals/Utils.pm type=file
+c:\perl\lib/CPANPLUS/Internals/Utils/Autoflush.pm type=file
+c:\perl\lib/CPANPLUS/Module.pm type=file
+c:\perl\lib/CPANPLUS/Module/Author.pm type=file
+c:\perl\lib/CPANPLUS/Module/Author/Fake.pm type=file
+c:\perl\lib/CPANPLUS/Module/Checksums.pm type=file
+c:\perl\lib/CPANPLUS/Module/Fake.pm type=file
+c:\perl\lib/CPANPLUS/Module/Signature.pm type=file
+c:\perl\lib/CPANPLUS/Selfupdate.pm type=file
+c:\perl\lib/CPANPLUS/Shell.pm type=file
+c:\perl\lib/CPANPLUS/Shell/Classic.pm type=file
+c:\perl\lib/CPANPLUS/Shell/Default.pm type=file
+c:\perl\lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm type=file
+c:\perl\lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod type=file
+c:\perl\lib/CPANPLUS/Shell/Default/Plugins/Remote.pm type=file
+c:\perl\lib/CPANPLUS/Shell/Default/Plugins/Source.pm type=file
+c:\perl\lib/Carp.pm type=file
+c:\perl\lib/Carp/Heavy.pm type=file
+c:\perl\lib/Class/Struct.pm type=file
+c:\perl\lib/Compress/Raw/Bzip2.pm type=file
+c:\perl\lib/Compress/Raw/Zlib.pm type=file
+c:\perl\lib/Compress/Zlib.pm type=file
+c:\perl\lib/Config.pm type=file
+c:\perl\lib/Config.pod type=file
+c:\perl\lib/Config/Extensions.pm type=file
+c:\perl\lib/Config_git.pl type=file
+c:\perl\lib/Config_heavy.pl type=file
+c:\perl\lib/Cwd.pm type=file
+c:\perl\lib/DB.pm type=file
+c:\perl\lib/DBM_Filter.pm type=file
+c:\perl\lib/DBM_Filter/compress.pm type=file
+c:\perl\lib/DBM_Filter/encode.pm type=file
+c:\perl\lib/DBM_Filter/int32.pm type=file
+c:\perl\lib/DBM_Filter/null.pm type=file
+c:\perl\lib/DBM_Filter/utf8.pm type=file
+c:\perl\lib/Data/Dumper.pm type=file
+c:\perl\lib/Devel/InnerPackage.pm type=file
+c:\perl\lib/Devel/PPPort.pm type=file
+c:\perl\lib/Devel/Peek.pm type=file
+c:\perl\lib/Devel/SelfStubber.pm type=file
+c:\perl\lib/Digest.pm type=file
+c:\perl\lib/Digest/MD5.pm type=file
+c:\perl\lib/Digest/SHA.pm type=file
+c:\perl\lib/Digest/base.pm type=file
+c:\perl\lib/Digest/file.pm type=file
+c:\perl\lib/DirHandle.pm type=file
+c:\perl\lib/Dumpvalue.pm type=file
+c:\perl\lib/DynaLoader.pm type=file
+c:\perl\lib/Encode.pm type=file
+c:\perl\lib/Encode/Alias.pm type=file
+c:\perl\lib/Encode/Byte.pm type=file
+c:\perl\lib/Encode/CJKConstants.pm type=file
+c:\perl\lib/Encode/CN.pm type=file
+c:\perl\lib/Encode/CN/HZ.pm type=file
+c:\perl\lib/Encode/Changes.e2x type=file
+c:\perl\lib/Encode/Config.pm type=file
+c:\perl\lib/Encode/ConfigLocal_PM.e2x type=file
+c:\perl\lib/Encode/EBCDIC.pm type=file
+c:\perl\lib/Encode/Encoder.pm type=file
+c:\perl\lib/Encode/Encoding.pm type=file
+c:\perl\lib/Encode/GSM0338.pm type=file
+c:\perl\lib/Encode/Guess.pm type=file
+c:\perl\lib/Encode/JP.pm type=file
+c:\perl\lib/Encode/JP/H2Z.pm type=file
+c:\perl\lib/Encode/JP/JIS7.pm type=file
+c:\perl\lib/Encode/KR.pm type=file
+c:\perl\lib/Encode/KR/2022_KR.pm type=file
+c:\perl\lib/Encode/MIME/Header.pm type=file
+c:\perl\lib/Encode/MIME/Header/ISO_2022_JP.pm type=file
+c:\perl\lib/Encode/MIME/Name.pm type=file
+c:\perl\lib/Encode/Makefile_PL.e2x type=file
+c:\perl\lib/Encode/PerlIO.pod type=file
+c:\perl\lib/Encode/README.e2x type=file
+c:\perl\lib/Encode/Supported.pod type=file
+c:\perl\lib/Encode/Symbol.pm type=file
+c:\perl\lib/Encode/TW.pm type=file
+c:\perl\lib/Encode/Unicode.pm type=file
+c:\perl\lib/Encode/Unicode/UTF7.pm type=file
+c:\perl\lib/Encode/_PM.e2x type=file
+c:\perl\lib/Encode/_T.e2x type=file
+c:\perl\lib/Encode/encode.h type=file
+c:\perl\lib/English.pm type=file
+c:\perl\lib/Env.pm type=file
+c:\perl\lib/Errno.pm type=file
+c:\perl\lib/Exporter.pm type=file
+c:\perl\lib/Exporter/Heavy.pm type=file
+c:\perl\lib/ExtUtils/CBuilder.pm type=file
+c:\perl\lib/ExtUtils/CBuilder/Base.pm type=file
+c:\perl\lib/ExtUtils/CBuilder/Platform/Unix.pm type=file
+c:\perl\lib/ExtUtils/CBuilder/Platform/VMS.pm type=file
+c:\perl\lib/ExtUtils/CBuilder/Platform/Windows.pm type=file
+c:\perl\lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm type=file
+c:\perl\lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm type=file
+c:\perl\lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm type=file
+c:\perl\lib/ExtUtils/CBuilder/Platform/aix.pm type=file
+c:\perl\lib/ExtUtils/CBuilder/Platform/cygwin.pm type=file
+c:\perl\lib/ExtUtils/CBuilder/Platform/darwin.pm type=file
+c:\perl\lib/ExtUtils/CBuilder/Platform/dec_osf.pm type=file
+c:\perl\lib/ExtUtils/CBuilder/Platform/os2.pm type=file
+c:\perl\lib/ExtUtils/Command.pm type=file
+c:\perl\lib/ExtUtils/Command/MM.pm type=file
+c:\perl\lib/ExtUtils/Constant.pm type=file
+c:\perl\lib/ExtUtils/Constant/Base.pm type=file
+c:\perl\lib/ExtUtils/Constant/ProxySubs.pm type=file
+c:\perl\lib/ExtUtils/Constant/Utils.pm type=file
+c:\perl\lib/ExtUtils/Constant/XS.pm type=file
+c:\perl\lib/ExtUtils/Embed.pm type=file
+c:\perl\lib/ExtUtils/Install.pm type=file
+c:\perl\lib/ExtUtils/Installed.pm type=file
+c:\perl\lib/ExtUtils/Liblist.pm type=file
+c:\perl\lib/ExtUtils/Liblist/Kid.pm type=file
+c:\perl\lib/ExtUtils/MANIFEST.SKIP type=file
+c:\perl\lib/ExtUtils/MM.pm type=file
+c:\perl\lib/ExtUtils/MM_AIX.pm type=file
+c:\perl\lib/ExtUtils/MM_Any.pm type=file
+c:\perl\lib/ExtUtils/MM_BeOS.pm type=file
+c:\perl\lib/ExtUtils/MM_Cygwin.pm type=file
+c:\perl\lib/ExtUtils/MM_DOS.pm type=file
+c:\perl\lib/ExtUtils/MM_Darwin.pm type=file
+c:\perl\lib/ExtUtils/MM_MacOS.pm type=file
+c:\perl\lib/ExtUtils/MM_NW5.pm type=file
+c:\perl\lib/ExtUtils/MM_OS2.pm type=file
+c:\perl\lib/ExtUtils/MM_QNX.pm type=file
+c:\perl\lib/ExtUtils/MM_UWIN.pm type=file
+c:\perl\lib/ExtUtils/MM_Unix.pm type=file
+c:\perl\lib/ExtUtils/MM_VMS.pm type=file
+c:\perl\lib/ExtUtils/MM_VOS.pm type=file
+c:\perl\lib/ExtUtils/MM_Win32.pm type=file
+c:\perl\lib/ExtUtils/MM_Win95.pm type=file
+c:\perl\lib/ExtUtils/MY.pm type=file
+c:\perl\lib/ExtUtils/MakeMaker.pm type=file
+c:\perl\lib/ExtUtils/MakeMaker/Config.pm type=file
+c:\perl\lib/ExtUtils/MakeMaker/FAQ.pod type=file
+c:\perl\lib/ExtUtils/MakeMaker/Tutorial.pod type=file
+c:\perl\lib/ExtUtils/Manifest.pm type=file
+c:\perl\lib/ExtUtils/Miniperl.pm type=file
+c:\perl\lib/ExtUtils/Mkbootstrap.pm type=file
+c:\perl\lib/ExtUtils/Mksymlists.pm type=file
+c:\perl\lib/ExtUtils/Packlist.pm type=file
+c:\perl\lib/ExtUtils/ParseXS.pm type=file
+c:\perl\lib/ExtUtils/ParseXS.pod type=file
+c:\perl\lib/ExtUtils/ParseXS/Constants.pm type=file
+c:\perl\lib/ExtUtils/ParseXS/CountLines.pm type=file
+c:\perl\lib/ExtUtils/ParseXS/Utilities.pm type=file
+c:\perl\lib/ExtUtils/Typemaps.pm type=file
+c:\perl\lib/ExtUtils/Typemaps/Cmd.pm type=file
+c:\perl\lib/ExtUtils/Typemaps/InputMap.pm type=file
+c:\perl\lib/ExtUtils/Typemaps/OutputMap.pm type=file
+c:\perl\lib/ExtUtils/Typemaps/Type.pm type=file
+c:\perl\lib/ExtUtils/testlib.pm type=file
+c:\perl\lib/ExtUtils/typemap type=file
+c:\perl\lib/ExtUtils/xsubpp type=file
+c:\perl\lib/Fatal.pm type=file
+c:\perl\lib/Fcntl.pm type=file
+c:\perl\lib/File/Basename.pm type=file
+c:\perl\lib/File/CheckTree.pm type=file
+c:\perl\lib/File/Compare.pm type=file
+c:\perl\lib/File/Copy.pm type=file
+c:\perl\lib/File/DosGlob.pm type=file
+c:\perl\lib/File/Fetch.pm type=file
+c:\perl\lib/File/Find.pm type=file
+c:\perl\lib/File/Glob.pm type=file
+c:\perl\lib/File/GlobMapper.pm type=file
+c:\perl\lib/File/Path.pm type=file
+c:\perl\lib/File/Spec.pm type=file
+c:\perl\lib/File/Spec/Cygwin.pm type=file
+c:\perl\lib/File/Spec/Epoc.pm type=file
+c:\perl\lib/File/Spec/Functions.pm type=file
+c:\perl\lib/File/Spec/Mac.pm type=file
+c:\perl\lib/File/Spec/OS2.pm type=file
+c:\perl\lib/File/Spec/Unix.pm type=file
+c:\perl\lib/File/Spec/VMS.pm type=file
+c:\perl\lib/File/Spec/Win32.pm type=file
+c:\perl\lib/File/Temp.pm type=file
+c:\perl\lib/File/stat.pm type=file
+c:\perl\lib/FileCache.pm type=file
+c:\perl\lib/FileHandle.pm type=file
+c:\perl\lib/Filter/Simple.pm type=file
+c:\perl\lib/Filter/Util/Call.pm type=file
+c:\perl\lib/FindBin.pm type=file
+c:\perl\lib/Getopt/Long.pm type=file
+c:\perl\lib/Getopt/Std.pm type=file
+c:\perl\lib/HTTP/Tiny.pm type=file
+c:\perl\lib/Hash/Util.pm type=file
+c:\perl\lib/Hash/Util/FieldHash.pm type=file
+c:\perl\lib/I18N/Collate.pm type=file
+c:\perl\lib/I18N/LangTags.pm type=file
+c:\perl\lib/I18N/LangTags/Detect.pm type=file
+c:\perl\lib/I18N/LangTags/List.pm type=file
+c:\perl\lib/IO.pm type=file
+c:\perl\lib/IO/Compress/Adapter/Bzip2.pm type=file
+c:\perl\lib/IO/Compress/Adapter/Deflate.pm type=file
+c:\perl\lib/IO/Compress/Adapter/Identity.pm type=file
+c:\perl\lib/IO/Compress/Base.pm type=file
+c:\perl\lib/IO/Compress/Base/Common.pm type=file
+c:\perl\lib/IO/Compress/Bzip2.pm type=file
+c:\perl\lib/IO/Compress/Deflate.pm type=file
+c:\perl\lib/IO/Compress/FAQ.pod type=file
+c:\perl\lib/IO/Compress/Gzip.pm type=file
+c:\perl\lib/IO/Compress/Gzip/Constants.pm type=file
+c:\perl\lib/IO/Compress/RawDeflate.pm type=file
+c:\perl\lib/IO/Compress/Zip.pm type=file
+c:\perl\lib/IO/Compress/Zip/Constants.pm type=file
+c:\perl\lib/IO/Compress/Zlib/Constants.pm type=file
+c:\perl\lib/IO/Compress/Zlib/Extra.pm type=file
+c:\perl\lib/IO/Dir.pm type=file
+c:\perl\lib/IO/File.pm type=file
+c:\perl\lib/IO/Handle.pm type=file
+c:\perl\lib/IO/Pipe.pm type=file
+c:\perl\lib/IO/Poll.pm type=file
+c:\perl\lib/IO/Seekable.pm type=file
+c:\perl\lib/IO/Select.pm type=file
+c:\perl\lib/IO/Socket.pm type=file
+c:\perl\lib/IO/Socket/INET.pm type=file
+c:\perl\lib/IO/Socket/UNIX.pm type=file
+c:\perl\lib/IO/Uncompress/Adapter/Bunzip2.pm type=file
+c:\perl\lib/IO/Uncompress/Adapter/Identity.pm type=file
+c:\perl\lib/IO/Uncompress/Adapter/Inflate.pm type=file
+c:\perl\lib/IO/Uncompress/AnyInflate.pm type=file
+c:\perl\lib/IO/Uncompress/AnyUncompress.pm type=file
+c:\perl\lib/IO/Uncompress/Base.pm type=file
+c:\perl\lib/IO/Uncompress/Bunzip2.pm type=file
+c:\perl\lib/IO/Uncompress/Gunzip.pm type=file
+c:\perl\lib/IO/Uncompress/Inflate.pm type=file
+c:\perl\lib/IO/Uncompress/RawInflate.pm type=file
+c:\perl\lib/IO/Uncompress/Unzip.pm type=file
+c:\perl\lib/IO/Zlib.pm type=file
+c:\perl\lib/IPC/Cmd.pm type=file
+c:\perl\lib/IPC/Open2.pm type=file
+c:\perl\lib/IPC/Open3.pm type=file
+c:\perl\lib/JSON/PP.pm type=file
+c:\perl\lib/JSON/PP/Boolean.pm type=file
+c:\perl\lib/List/Util.pm type=file
+c:\perl\lib/List/Util/XS.pm type=file
+c:\perl\lib/Locale/Codes.pm type=file
+c:\perl\lib/Locale/Codes.pod type=file
+c:\perl\lib/Locale/Codes/API.pod type=file
+c:\perl\lib/Locale/Codes/Changes.pod type=file
+c:\perl\lib/Locale/Codes/Constants.pm type=file
+c:\perl\lib/Locale/Codes/Constants.pod type=file
+c:\perl\lib/Locale/Codes/Country.pm type=file
+c:\perl\lib/Locale/Codes/Country.pod type=file
+c:\perl\lib/Locale/Codes/Country_Codes.pm type=file
+c:\perl\lib/Locale/Codes/Country_Retired.pm type=file
+c:\perl\lib/Locale/Codes/Currency.pm type=file
+c:\perl\lib/Locale/Codes/Currency.pod type=file
+c:\perl\lib/Locale/Codes/Currency_Codes.pm type=file
+c:\perl\lib/Locale/Codes/Currency_Retired.pm type=file
+c:\perl\lib/Locale/Codes/LangExt.pm type=file
+c:\perl\lib/Locale/Codes/LangExt.pod type=file
+c:\perl\lib/Locale/Codes/LangExt_Codes.pm type=file
+c:\perl\lib/Locale/Codes/LangExt_Retired.pm type=file
+c:\perl\lib/Locale/Codes/LangFam.pm type=file
+c:\perl\lib/Locale/Codes/LangFam.pod type=file
+c:\perl\lib/Locale/Codes/LangFam_Codes.pm type=file
+c:\perl\lib/Locale/Codes/LangFam_Retired.pm type=file
+c:\perl\lib/Locale/Codes/LangVar.pm type=file
+c:\perl\lib/Locale/Codes/LangVar.pod type=file
+c:\perl\lib/Locale/Codes/LangVar_Codes.pm type=file
+c:\perl\lib/Locale/Codes/LangVar_Retired.pm type=file
+c:\perl\lib/Locale/Codes/Language.pm type=file
+c:\perl\lib/Locale/Codes/Language.pod type=file
+c:\perl\lib/Locale/Codes/Language_Codes.pm type=file
+c:\perl\lib/Locale/Codes/Language_Retired.pm type=file
+c:\perl\lib/Locale/Codes/Script.pm type=file
+c:\perl\lib/Locale/Codes/Script.pod type=file
+c:\perl\lib/Locale/Codes/Script_Codes.pm type=file
+c:\perl\lib/Locale/Codes/Script_Retired.pm type=file
+c:\perl\lib/Locale/Country.pm type=file
+c:\perl\lib/Locale/Country.pod type=file
+c:\perl\lib/Locale/Currency.pm type=file
+c:\perl\lib/Locale/Currency.pod type=file
+c:\perl\lib/Locale/Language.pm type=file
+c:\perl\lib/Locale/Language.pod type=file
+c:\perl\lib/Locale/Maketext.pm type=file
+c:\perl\lib/Locale/Maketext.pod type=file
+c:\perl\lib/Locale/Maketext/Cookbook.pod type=file
+c:\perl\lib/Locale/Maketext/Guts.pm type=file
+c:\perl\lib/Locale/Maketext/GutsLoader.pm type=file
+c:\perl\lib/Locale/Maketext/Simple.pm type=file
+c:\perl\lib/Locale/Maketext/TPJ13.pod type=file
+c:\perl\lib/Locale/Script.pm type=file
+c:\perl\lib/Locale/Script.pod type=file
+c:\perl\lib/Log/Message.pm type=file
+c:\perl\lib/Log/Message/Config.pm type=file
+c:\perl\lib/Log/Message/Handlers.pm type=file
+c:\perl\lib/Log/Message/Item.pm type=file
+c:\perl\lib/Log/Message/Simple.pm type=file
+c:\perl\lib/MIME/Base64.pm type=file
+c:\perl\lib/MIME/QuotedPrint.pm type=file
+c:\perl\lib/Math/BigFloat.pm type=file
+c:\perl\lib/Math/BigFloat/Trace.pm type=file
+c:\perl\lib/Math/BigInt.pm type=file
+c:\perl\lib/Math/BigInt/Calc.pm type=file
+c:\perl\lib/Math/BigInt/CalcEmu.pm type=file
+c:\perl\lib/Math/BigInt/FastCalc.pm type=file
+c:\perl\lib/Math/BigInt/Trace.pm type=file
+c:\perl\lib/Math/BigRat.pm type=file
+c:\perl\lib/Math/Complex.pm type=file
+c:\perl\lib/Math/Trig.pm type=file
+c:\perl\lib/Memoize.pm type=file
+c:\perl\lib/Memoize/AnyDBM_File.pm type=file
+c:\perl\lib/Memoize/Expire.pm type=file
+c:\perl\lib/Memoize/ExpireFile.pm type=file
+c:\perl\lib/Memoize/ExpireTest.pm type=file
+c:\perl\lib/Memoize/NDBM_File.pm type=file
+c:\perl\lib/Memoize/SDBM_File.pm type=file
+c:\perl\lib/Memoize/Storable.pm type=file
+c:\perl\lib/Module/Build.pm type=file
+c:\perl\lib/Module/Build/API.pod type=file
+c:\perl\lib/Module/Build/Authoring.pod type=file
+c:\perl\lib/Module/Build/Base.pm type=file
+c:\perl\lib/Module/Build/Bundling.pod type=file
+c:\perl\lib/Module/Build/Compat.pm type=file
+c:\perl\lib/Module/Build/Config.pm type=file
+c:\perl\lib/Module/Build/ConfigData.pm type=file
+c:\perl\lib/Module/Build/Cookbook.pm type=file
+c:\perl\lib/Module/Build/Dumper.pm type=file
+c:\perl\lib/Module/Build/ModuleInfo.pm type=file
+c:\perl\lib/Module/Build/Notes.pm type=file
+c:\perl\lib/Module/Build/PPMMaker.pm type=file
+c:\perl\lib/Module/Build/Platform/Amiga.pm type=file
+c:\perl\lib/Module/Build/Platform/Default.pm type=file
+c:\perl\lib/Module/Build/Platform/EBCDIC.pm type=file
+c:\perl\lib/Module/Build/Platform/MPEiX.pm type=file
+c:\perl\lib/Module/Build/Platform/MacOS.pm type=file
+c:\perl\lib/Module/Build/Platform/RiscOS.pm type=file
+c:\perl\lib/Module/Build/Platform/Unix.pm type=file
+c:\perl\lib/Module/Build/Platform/VMS.pm type=file
+c:\perl\lib/Module/Build/Platform/VOS.pm type=file
+c:\perl\lib/Module/Build/Platform/Windows.pm type=file
+c:\perl\lib/Module/Build/Platform/aix.pm type=file
+c:\perl\lib/Module/Build/Platform/cygwin.pm type=file
+c:\perl\lib/Module/Build/Platform/darwin.pm type=file
+c:\perl\lib/Module/Build/Platform/os2.pm type=file
+c:\perl\lib/Module/Build/PodParser.pm type=file
+c:\perl\lib/Module/Build/Version.pm type=file
+c:\perl\lib/Module/Build/YAML.pm type=file
+c:\perl\lib/Module/CoreList.pm type=file
+c:\perl\lib/Module/CoreList.pod type=file
+c:\perl\lib/Module/CoreList/TieHashDelta.pm type=file
+c:\perl\lib/Module/Load.pm type=file
+c:\perl\lib/Module/Load/Conditional.pm type=file
+c:\perl\lib/Module/Loaded.pm type=file
+c:\perl\lib/Module/Metadata.pm type=file
+c:\perl\lib/Module/Pluggable.pm type=file
+c:\perl\lib/Module/Pluggable/Object.pm type=file
+c:\perl\lib/NEXT.pm type=file
+c:\perl\lib/Net/Cmd.pm type=file
+c:\perl\lib/Net/Config.pm type=file
+c:\perl\lib/Net/Domain.pm type=file
+c:\perl\lib/Net/FTP.pm type=file
+c:\perl\lib/Net/FTP/A.pm type=file
+c:\perl\lib/Net/FTP/E.pm type=file
+c:\perl\lib/Net/FTP/I.pm type=file
+c:\perl\lib/Net/FTP/L.pm type=file
+c:\perl\lib/Net/FTP/dataconn.pm type=file
+c:\perl\lib/Net/NNTP.pm type=file
+c:\perl\lib/Net/Netrc.pm type=file
+c:\perl\lib/Net/POP3.pm type=file
+c:\perl\lib/Net/Ping.pm type=file
+c:\perl\lib/Net/SMTP.pm type=file
+c:\perl\lib/Net/Time.pm type=file
+c:\perl\lib/Net/hostent.pm type=file
+c:\perl\lib/Net/libnetFAQ.pod type=file
+c:\perl\lib/Net/netent.pm type=file
+c:\perl\lib/Net/protoent.pm type=file
+c:\perl\lib/Net/servent.pm type=file
+c:\perl\lib/O.pm type=file
+c:\perl\lib/Object/Accessor.pm type=file
+c:\perl\lib/Opcode.pm type=file
+c:\perl\lib/POSIX.pm type=file
+c:\perl\lib/POSIX.pod type=file
+c:\perl\lib/Package/Constants.pm type=file
+c:\perl\lib/Params/Check.pm type=file
+c:\perl\lib/Parse/CPAN/Meta.pm type=file
+c:\perl\lib/Perl/OSType.pm type=file
+c:\perl\lib/PerlIO.pm type=file
+c:\perl\lib/PerlIO/encoding.pm type=file
+c:\perl\lib/PerlIO/mmap.pm type=file
+c:\perl\lib/PerlIO/scalar.pm type=file
+c:\perl\lib/PerlIO/via.pm type=file
+c:\perl\lib/PerlIO/via/QuotedPrint.pm type=file
+c:\perl\lib/Pod/Checker.pm type=file
+c:\perl\lib/Pod/Escapes.pm type=file
+c:\perl\lib/Pod/Find.pm type=file
+c:\perl\lib/Pod/Functions.pm type=file
+c:\perl\lib/Pod/Html.pm type=file
+c:\perl\lib/Pod/InputObjects.pm type=file
+c:\perl\lib/Pod/LaTeX.pm type=file
+c:\perl\lib/Pod/Man.pm type=file
+c:\perl\lib/Pod/ParseLink.pm type=file
+c:\perl\lib/Pod/ParseUtils.pm type=file
+c:\perl\lib/Pod/Parser.pm type=file
+c:\perl\lib/Pod/Perldoc.pm type=file
+c:\perl\lib/Pod/Perldoc/BaseTo.pm type=file
+c:\perl\lib/Pod/Perldoc/GetOptsOO.pm type=file
+c:\perl\lib/Pod/Perldoc/ToANSI.pm type=file
+c:\perl\lib/Pod/Perldoc/ToChecker.pm type=file
+c:\perl\lib/Pod/Perldoc/ToMan.pm type=file
+c:\perl\lib/Pod/Perldoc/ToNroff.pm type=file
+c:\perl\lib/Pod/Perldoc/ToPod.pm type=file
+c:\perl\lib/Pod/Perldoc/ToRtf.pm type=file
+c:\perl\lib/Pod/Perldoc/ToTerm.pm type=file
+c:\perl\lib/Pod/Perldoc/ToText.pm type=file
+c:\perl\lib/Pod/Perldoc/ToTk.pm type=file
+c:\perl\lib/Pod/Perldoc/ToXml.pm type=file
+c:\perl\lib/Pod/PlainText.pm type=file
+c:\perl\lib/Pod/Select.pm type=file
+c:\perl\lib/Pod/Simple.pm type=file
+c:\perl\lib/Pod/Simple.pod type=file
+c:\perl\lib/Pod/Simple/BlackBox.pm type=file
+c:\perl\lib/Pod/Simple/Checker.pm type=file
+c:\perl\lib/Pod/Simple/Debug.pm type=file
+c:\perl\lib/Pod/Simple/DumpAsText.pm type=file
+c:\perl\lib/Pod/Simple/DumpAsXML.pm type=file
+c:\perl\lib/Pod/Simple/HTML.pm type=file
+c:\perl\lib/Pod/Simple/HTMLBatch.pm type=file
+c:\perl\lib/Pod/Simple/HTMLLegacy.pm type=file
+c:\perl\lib/Pod/Simple/LinkSection.pm type=file
+c:\perl\lib/Pod/Simple/Methody.pm type=file
+c:\perl\lib/Pod/Simple/Progress.pm type=file
+c:\perl\lib/Pod/Simple/PullParser.pm type=file
+c:\perl\lib/Pod/Simple/PullParserEndToken.pm type=file
+c:\perl\lib/Pod/Simple/PullParserStartToken.pm type=file
+c:\perl\lib/Pod/Simple/PullParserTextToken.pm type=file
+c:\perl\lib/Pod/Simple/PullParserToken.pm type=file
+c:\perl\lib/Pod/Simple/RTF.pm type=file
+c:\perl\lib/Pod/Simple/Search.pm type=file
+c:\perl\lib/Pod/Simple/SimpleTree.pm type=file
+c:\perl\lib/Pod/Simple/Subclassing.pod type=file
+c:\perl\lib/Pod/Simple/Text.pm type=file
+c:\perl\lib/Pod/Simple/TextContent.pm type=file
+c:\perl\lib/Pod/Simple/TiedOutFH.pm type=file
+c:\perl\lib/Pod/Simple/Transcode.pm type=file
+c:\perl\lib/Pod/Simple/TranscodeDumb.pm type=file
+c:\perl\lib/Pod/Simple/TranscodeSmart.pm type=file
+c:\perl\lib/Pod/Simple/XHTML.pm type=file
+c:\perl\lib/Pod/Simple/XMLOutStream.pm type=file
+c:\perl\lib/Pod/Text.pm type=file
+c:\perl\lib/Pod/Text/Color.pm type=file
+c:\perl\lib/Pod/Text/Overstrike.pm type=file
+c:\perl\lib/Pod/Text/Termcap.pm type=file
+c:\perl\lib/Pod/Usage.pm type=file
+c:\perl\lib/SDBM_File.pm type=file
+c:\perl\lib/Safe.pm type=file
+c:\perl\lib/Scalar/Util.pm type=file
+c:\perl\lib/Search/Dict.pm type=file
+c:\perl\lib/SelectSaver.pm type=file
+c:\perl\lib/SelfLoader.pm type=file
+c:\perl\lib/Socket.pm type=file
+c:\perl\lib/Storable.pm type=file
+c:\perl\lib/Symbol.pm type=file
+c:\perl\lib/Sys/Hostname.pm type=file
+c:\perl\lib/TAP/Base.pm type=file
+c:\perl\lib/TAP/Formatter/Base.pm type=file
+c:\perl\lib/TAP/Formatter/Color.pm type=file
+c:\perl\lib/TAP/Formatter/Console.pm type=file
+c:\perl\lib/TAP/Formatter/Console/ParallelSession.pm type=file
+c:\perl\lib/TAP/Formatter/Console/Session.pm type=file
+c:\perl\lib/TAP/Formatter/File.pm type=file
+c:\perl\lib/TAP/Formatter/File/Session.pm type=file
+c:\perl\lib/TAP/Formatter/Session.pm type=file
+c:\perl\lib/TAP/Harness.pm type=file
+c:\perl\lib/TAP/Harness/Beyond.pod type=file
+c:\perl\lib/TAP/Object.pm type=file
+c:\perl\lib/TAP/Parser.pm type=file
+c:\perl\lib/TAP/Parser/Aggregator.pm type=file
+c:\perl\lib/TAP/Parser/Grammar.pm type=file
+c:\perl\lib/TAP/Parser/Iterator.pm type=file
+c:\perl\lib/TAP/Parser/Iterator/Array.pm type=file
+c:\perl\lib/TAP/Parser/Iterator/Process.pm type=file
+c:\perl\lib/TAP/Parser/Iterator/Stream.pm type=file
+c:\perl\lib/TAP/Parser/IteratorFactory.pm type=file
+c:\perl\lib/TAP/Parser/Multiplexer.pm type=file
+c:\perl\lib/TAP/Parser/Result.pm type=file
+c:\perl\lib/TAP/Parser/Result/Bailout.pm type=file
+c:\perl\lib/TAP/Parser/Result/Comment.pm type=file
+c:\perl\lib/TAP/Parser/Result/Plan.pm type=file
+c:\perl\lib/TAP/Parser/Result/Pragma.pm type=file
+c:\perl\lib/TAP/Parser/Result/Test.pm type=file
+c:\perl\lib/TAP/Parser/Result/Unknown.pm type=file
+c:\perl\lib/TAP/Parser/Result/Version.pm type=file
+c:\perl\lib/TAP/Parser/Result/YAML.pm type=file
+c:\perl\lib/TAP/Parser/ResultFactory.pm type=file
+c:\perl\lib/TAP/Parser/Scheduler.pm type=file
+c:\perl\lib/TAP/Parser/Scheduler/Job.pm type=file
+c:\perl\lib/TAP/Parser/Scheduler/Spinner.pm type=file
+c:\perl\lib/TAP/Parser/Source.pm type=file
+c:\perl\lib/TAP/Parser/SourceHandler.pm type=file
+c:\perl\lib/TAP/Parser/SourceHandler/Executable.pm type=file
+c:\perl\lib/TAP/Parser/SourceHandler/File.pm type=file
+c:\perl\lib/TAP/Parser/SourceHandler/Handle.pm type=file
+c:\perl\lib/TAP/Parser/SourceHandler/Perl.pm type=file
+c:\perl\lib/TAP/Parser/SourceHandler/RawTAP.pm type=file
+c:\perl\lib/TAP/Parser/Utils.pm type=file
+c:\perl\lib/TAP/Parser/YAMLish/Reader.pm type=file
+c:\perl\lib/TAP/Parser/YAMLish/Writer.pm type=file
+c:\perl\lib/Term/ANSIColor.pm type=file
+c:\perl\lib/Term/Cap.pm type=file
+c:\perl\lib/Term/Complete.pm type=file
+c:\perl\lib/Term/ReadLine.pm type=file
+c:\perl\lib/Term/UI.pm type=file
+c:\perl\lib/Term/UI/History.pm type=file
+c:\perl\lib/Test.pm type=file
+c:\perl\lib/Test/Builder.pm type=file
+c:\perl\lib/Test/Builder/Module.pm type=file
+c:\perl\lib/Test/Builder/Tester.pm type=file
+c:\perl\lib/Test/Builder/Tester/Color.pm type=file
+c:\perl\lib/Test/Harness.pm type=file
+c:\perl\lib/Test/More.pm type=file
+c:\perl\lib/Test/Simple.pm type=file
+c:\perl\lib/Test/Tutorial.pod type=file
+c:\perl\lib/Text/Abbrev.pm type=file
+c:\perl\lib/Text/Balanced.pm type=file
+c:\perl\lib/Text/ParseWords.pm type=file
+c:\perl\lib/Text/Soundex.pm type=file
+c:\perl\lib/Text/Tabs.pm type=file
+c:\perl\lib/Text/Wrap.pm type=file
+c:\perl\lib/Thread.pm type=file
+c:\perl\lib/Thread/Queue.pm type=file
+c:\perl\lib/Thread/Semaphore.pm type=file
+c:\perl\lib/Tie/Array.pm type=file
+c:\perl\lib/Tie/File.pm type=file
+c:\perl\lib/Tie/Handle.pm type=file
+c:\perl\lib/Tie/Hash.pm type=file
+c:\perl\lib/Tie/Hash/NamedCapture.pm type=file
+c:\perl\lib/Tie/Memoize.pm type=file
+c:\perl\lib/Tie/RefHash.pm type=file
+c:\perl\lib/Tie/Scalar.pm type=file
+c:\perl\lib/Tie/StdHandle.pm type=file
+c:\perl\lib/Tie/SubstrHash.pm type=file
+c:\perl\lib/Time/HiRes.pm type=file
+c:\perl\lib/Time/Local.pm type=file
+c:\perl\lib/Time/Piece.pm type=file
+c:\perl\lib/Time/Seconds.pm type=file
+c:\perl\lib/Time/gmtime.pm type=file
+c:\perl\lib/Time/localtime.pm type=file
+c:\perl\lib/Time/tm.pm type=file
+c:\perl\lib/UNIVERSAL.pm type=file
+c:\perl\lib/Unicode/Collate.pm type=file
+c:\perl\lib/Unicode/Collate/CJK/Big5.pm type=file
+c:\perl\lib/Unicode/Collate/CJK/GB2312.pm type=file
+c:\perl\lib/Unicode/Collate/CJK/JISX0208.pm type=file
+c:\perl\lib/Unicode/Collate/CJK/Korean.pm type=file
+c:\perl\lib/Unicode/Collate/CJK/Pinyin.pm type=file
+c:\perl\lib/Unicode/Collate/CJK/Stroke.pm type=file
+c:\perl\lib/Unicode/Collate/Locale.pm type=file
+c:\perl\lib/Unicode/Collate/Locale/af.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/ar.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/as.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/az.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/be.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/bg.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/bn.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/ca.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/cs.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/cy.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/da.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/de_phone.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/eo.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/es.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/es_trad.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/et.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/fa.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/fi.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/fi_phone.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/fil.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/fo.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/fr.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/gu.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/ha.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/haw.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/hi.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/hr.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/hu.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/hy.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/ig.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/is.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/ja.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/kk.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/kl.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/kn.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/ko.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/kok.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/ln.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/lt.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/lv.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/mk.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/ml.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/mr.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/mt.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/nb.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/nn.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/nso.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/om.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/or.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/pa.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/pl.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/ro.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/ru.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/sa.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/se.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/si.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/si_dict.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/sk.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/sl.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/sq.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/sr.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/sv.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/sv_refo.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/ta.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/te.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/th.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/tn.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/to.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/tr.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/uk.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/ur.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/vi.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/wae.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/wo.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/yo.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/zh.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/zh_big5.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/zh_gb.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/zh_pin.pl type=file
+c:\perl\lib/Unicode/Collate/Locale/zh_strk.pl type=file
+c:\perl\lib/Unicode/Collate/allkeys.txt type=file
+c:\perl\lib/Unicode/Collate/keys.txt type=file
+c:\perl\lib/Unicode/Normalize.pm type=file
+c:\perl\lib/Unicode/UCD.pm type=file
+c:\perl\lib/User/grent.pm type=file
+c:\perl\lib/User/pwent.pm type=file
+c:\perl\lib/Win32.pm type=file
+c:\perl\lib/Win32API/File.pm type=file
+c:\perl\lib/Win32API/File/cFile.pc type=file
+c:\perl\lib/Win32CORE.pm type=file
+c:\perl\lib/XSLoader.pm type=file
+c:\perl\lib/_charnames.pm type=file
+c:\perl\lib/arybase.pm type=file
+c:\perl\lib/attributes.pm type=file
+c:\perl\lib/auto/B/B.bs type=file
+c:\perl\lib/auto/B/B.dll type=file
+c:\perl\lib/auto/Compress/Raw/Bzip2/Bzip2.bs type=file
+c:\perl\lib/auto/Compress/Raw/Bzip2/Bzip2.dll type=file
+c:\perl\lib/auto/Compress/Raw/Bzip2/autosplit.ix type=file
+c:\perl\lib/auto/Compress/Raw/Zlib/Zlib.bs type=file
+c:\perl\lib/auto/Compress/Raw/Zlib/Zlib.dll type=file
+c:\perl\lib/auto/Compress/Raw/Zlib/autosplit.ix type=file
+c:\perl\lib/auto/Cwd/Cwd.bs type=file
+c:\perl\lib/auto/Cwd/Cwd.dll type=file
+c:\perl\lib/auto/Data/Dumper/Dumper.bs type=file
+c:\perl\lib/auto/Data/Dumper/Dumper.dll type=file
+c:\perl\lib/auto/Devel/PPPort/PPPort.bs type=file
+c:\perl\lib/auto/Devel/PPPort/PPPort.dll type=file
+c:\perl\lib/auto/Devel/Peek/Peek.bs type=file
+c:\perl\lib/auto/Devel/Peek/Peek.dll type=file
+c:\perl\lib/auto/Digest/MD5/MD5.bs type=file
+c:\perl\lib/auto/Digest/MD5/MD5.dll type=file
+c:\perl\lib/auto/Digest/SHA/SHA.bs type=file
+c:\perl\lib/auto/Digest/SHA/SHA.dll type=file
+c:\perl\lib/auto/Encode/Byte/Byte.bs type=file
+c:\perl\lib/auto/Encode/Byte/Byte.dll type=file
+c:\perl\lib/auto/Encode/CN/CN.bs type=file
+c:\perl\lib/auto/Encode/CN/CN.dll type=file
+c:\perl\lib/auto/Encode/EBCDIC/EBCDIC.bs type=file
+c:\perl\lib/auto/Encode/EBCDIC/EBCDIC.dll type=file
+c:\perl\lib/auto/Encode/Encode.bs type=file
+c:\perl\lib/auto/Encode/Encode.dll type=file
+c:\perl\lib/auto/Encode/JP/JP.bs type=file
+c:\perl\lib/auto/Encode/JP/JP.dll type=file
+c:\perl\lib/auto/Encode/KR/KR.bs type=file
+c:\perl\lib/auto/Encode/KR/KR.dll type=file
+c:\perl\lib/auto/Encode/Symbol/Symbol.bs type=file
+c:\perl\lib/auto/Encode/Symbol/Symbol.dll type=file
+c:\perl\lib/auto/Encode/TW/TW.bs type=file
+c:\perl\lib/auto/Encode/TW/TW.dll type=file
+c:\perl\lib/auto/Encode/Unicode/Unicode.bs type=file
+c:\perl\lib/auto/Encode/Unicode/Unicode.dll type=file
+c:\perl\lib/auto/Fcntl/Fcntl.bs type=file
+c:\perl\lib/auto/Fcntl/Fcntl.dll type=file
+c:\perl\lib/auto/File/Glob/Glob.bs type=file
+c:\perl\lib/auto/File/Glob/Glob.dll type=file
+c:\perl\lib/auto/Filter/Util/Call/Call.bs type=file
+c:\perl\lib/auto/Filter/Util/Call/Call.dll type=file
+c:\perl\lib/auto/Hash/Util/FieldHash/FieldHash.bs type=file
+c:\perl\lib/auto/Hash/Util/FieldHash/FieldHash.dll type=file
+c:\perl\lib/auto/Hash/Util/Util.bs type=file
+c:\perl\lib/auto/Hash/Util/Util.dll type=file
+c:\perl\lib/auto/IO/IO.bs type=file
+c:\perl\lib/auto/IO/IO.dll type=file
+c:\perl\lib/auto/List/Util/Util.bs type=file
+c:\perl\lib/auto/List/Util/Util.dll type=file
+c:\perl\lib/auto/MIME/Base64/Base64.bs type=file
+c:\perl\lib/auto/MIME/Base64/Base64.dll type=file
+c:\perl\lib/auto/Math/BigInt/FastCalc/FastCalc.bs type=file
+c:\perl\lib/auto/Math/BigInt/FastCalc/FastCalc.dll type=file
+c:\perl\lib/auto/Opcode/Opcode.bs type=file
+c:\perl\lib/auto/Opcode/Opcode.dll type=file
+c:\perl\lib/auto/POSIX/POSIX.bs type=file
+c:\perl\lib/auto/POSIX/POSIX.dll type=file
+c:\perl\lib/auto/PerlIO/encoding/encoding.bs type=file
+c:\perl\lib/auto/PerlIO/encoding/encoding.dll type=file
+c:\perl\lib/auto/PerlIO/mmap/mmap.bs type=file
+c:\perl\lib/auto/PerlIO/mmap/mmap.dll type=file
+c:\perl\lib/auto/PerlIO/scalar/scalar.bs type=file
+c:\perl\lib/auto/PerlIO/scalar/scalar.dll type=file
+c:\perl\lib/auto/PerlIO/via/via.bs type=file
+c:\perl\lib/auto/PerlIO/via/via.dll type=file
+c:\perl\lib/auto/SDBM_File/SDBM_File.bs type=file
+c:\perl\lib/auto/SDBM_File/SDBM_File.dll type=file
+c:\perl\lib/auto/Socket/Socket.bs type=file
+c:\perl\lib/auto/Socket/Socket.dll type=file
+c:\perl\lib/auto/Storable/Storable.bs type=file
+c:\perl\lib/auto/Storable/Storable.dll type=file
+c:\perl\lib/auto/Sys/Hostname/Hostname.bs type=file
+c:\perl\lib/auto/Sys/Hostname/Hostname.dll type=file
+c:\perl\lib/auto/Text/Soundex/Soundex.bs type=file
+c:\perl\lib/auto/Text/Soundex/Soundex.dll type=file
+c:\perl\lib/auto/Tie/Hash/NamedCapture/NamedCapture.bs type=file
+c:\perl\lib/auto/Tie/Hash/NamedCapture/NamedCapture.dll type=file
+c:\perl\lib/auto/Time/HiRes/HiRes.bs type=file
+c:\perl\lib/auto/Time/HiRes/HiRes.dll type=file
+c:\perl\lib/auto/Time/Piece/Piece.bs type=file
+c:\perl\lib/auto/Time/Piece/Piece.dll type=file
+c:\perl\lib/auto/Unicode/Collate/Collate.bs type=file
+c:\perl\lib/auto/Unicode/Collate/Collate.dll type=file
+c:\perl\lib/auto/Unicode/Normalize/Normalize.bs type=file
+c:\perl\lib/auto/Unicode/Normalize/Normalize.dll type=file
+c:\perl\lib/auto/Win32/Win32.bs type=file
+c:\perl\lib/auto/Win32/Win32.dll type=file
+c:\perl\lib/auto/Win32API/File/File.bs type=file
+c:\perl\lib/auto/Win32API/File/File.dll type=file
+c:\perl\lib/auto/Win32CORE/extralibs.ld type=file
+c:\perl\lib/auto/arybase/arybase.bs type=file
+c:\perl\lib/auto/arybase/arybase.dll type=file
+c:\perl\lib/auto/attributes/attributes.bs type=file
+c:\perl\lib/auto/attributes/attributes.dll type=file
+c:\perl\lib/auto/mro/mro.bs type=file
+c:\perl\lib/auto/mro/mro.dll type=file
+c:\perl\lib/auto/re/re.bs type=file
+c:\perl\lib/auto/re/re.dll type=file
+c:\perl\lib/auto/sdbm/extralibs.ld type=file
+c:\perl\lib/auto/threads/shared/shared.bs type=file
+c:\perl\lib/auto/threads/shared/shared.dll type=file
+c:\perl\lib/auto/threads/threads.bs type=file
+c:\perl\lib/auto/threads/threads.dll type=file
+c:\perl\lib/autodie.pm type=file
+c:\perl\lib/autodie/exception.pm type=file
+c:\perl\lib/autodie/exception/system.pm type=file
+c:\perl\lib/autodie/hints.pm type=file
+c:\perl\lib/autouse.pm type=file
+c:\perl\lib/base.pm type=file
+c:\perl\lib/bigint.pm type=file
+c:\perl\lib/bignum.pm type=file
+c:\perl\lib/bigrat.pm type=file
+c:\perl\lib/blib.pm type=file
+c:\perl\lib/bytes.pm type=file
+c:\perl\lib/bytes_heavy.pl type=file
+c:\perl\lib/charnames.pm type=file
+c:\perl\lib/constant.pm type=file
+c:\perl\lib/deprecate.pm type=file
+c:\perl\lib/diagnostics.pm type=file
+c:\perl\lib/dumpvar.pl type=file
+c:\perl\lib/encoding.pm type=file
+c:\perl\lib/encoding/warnings.pm type=file
+c:\perl\lib/feature.pm type=file
+c:\perl\lib/fields.pm type=file
+c:\perl\lib/filetest.pm type=file
+c:\perl\lib/if.pm type=file
+c:\perl\lib/inc/latest.pm type=file
+c:\perl\lib/inc/latest/private.pm type=file
+c:\perl\lib/integer.pm type=file
+c:\perl\lib/less.pm type=file
+c:\perl\lib/lib.pm type=file
+c:\perl\lib/locale.pm type=file
+c:\perl\lib/mro.pm type=file
+c:\perl\lib/open.pm type=file
+c:\perl\lib/ops.pm type=file
+c:\perl\lib/overload.pm type=file
+c:\perl\lib/overload/numbers.pm type=file
+c:\perl\lib/overloading.pm type=file
+c:\perl\lib/parent.pm type=file
+c:\perl\lib/perl5db.pl type=file
+c:\perl\lib/perlfaq.pm type=file
+c:\perl\lib/pods/a2p.pod type=file
+c:\perl\lib/pods/perl.pod type=file
+c:\perl\lib/pods/perl5004delta.pod type=file
+c:\perl\lib/pods/perl5005delta.pod type=file
+c:\perl\lib/pods/perl5100delta.pod type=file
+c:\perl\lib/pods/perl5101delta.pod type=file
+c:\perl\lib/pods/perl5120delta.pod type=file
+c:\perl\lib/pods/perl5121delta.pod type=file
+c:\perl\lib/pods/perl5122delta.pod type=file
+c:\perl\lib/pods/perl5123delta.pod type=file
+c:\perl\lib/pods/perl5124delta.pod type=file
+c:\perl\lib/pods/perl5140delta.pod type=file
+c:\perl\lib/pods/perl5141delta.pod type=file
+c:\perl\lib/pods/perl5142delta.pod type=file
+c:\perl\lib/pods/perl5143delta.pod type=file
+c:\perl\lib/pods/perl5160delta.pod type=file
+c:\perl\lib/pods/perl5161delta.pod type=file
+c:\perl\lib/pods/perl5162delta.pod type=file
+c:\perl\lib/pods/perl561delta.pod type=file
+c:\perl\lib/pods/perl56delta.pod type=file
+c:\perl\lib/pods/perl581delta.pod type=file
+c:\perl\lib/pods/perl582delta.pod type=file
+c:\perl\lib/pods/perl583delta.pod type=file
+c:\perl\lib/pods/perl584delta.pod type=file
+c:\perl\lib/pods/perl585delta.pod type=file
+c:\perl\lib/pods/perl586delta.pod type=file
+c:\perl\lib/pods/perl587delta.pod type=file
+c:\perl\lib/pods/perl588delta.pod type=file
+c:\perl\lib/pods/perl589delta.pod type=file
+c:\perl\lib/pods/perl58delta.pod type=file
+c:\perl\lib/pods/perlaix.pod type=file
+c:\perl\lib/pods/perlamiga.pod type=file
+c:\perl\lib/pods/perlapi.pod type=file
+c:\perl\lib/pods/perlapio.pod type=file
+c:\perl\lib/pods/perlartistic.pod type=file
+c:\perl\lib/pods/perlbeos.pod type=file
+c:\perl\lib/pods/perlbook.pod type=file
+c:\perl\lib/pods/perlboot.pod type=file
+c:\perl\lib/pods/perlbot.pod type=file
+c:\perl\lib/pods/perlbs2000.pod type=file
+c:\perl\lib/pods/perlcall.pod type=file
+c:\perl\lib/pods/perlce.pod type=file
+c:\perl\lib/pods/perlcheat.pod type=file
+c:\perl\lib/pods/perlclib.pod type=file
+c:\perl\lib/pods/perlcn.pod type=file
+c:\perl\lib/pods/perlcommunity.pod type=file
+c:\perl\lib/pods/perlcygwin.pod type=file
+c:\perl\lib/pods/perldata.pod type=file
+c:\perl\lib/pods/perldbmfilter.pod type=file
+c:\perl\lib/pods/perldebguts.pod type=file
+c:\perl\lib/pods/perldebtut.pod type=file
+c:\perl\lib/pods/perldebug.pod type=file
+c:\perl\lib/pods/perldelta.pod type=file
+c:\perl\lib/pods/perldgux.pod type=file
+c:\perl\lib/pods/perldiag.pod type=file
+c:\perl\lib/pods/perldoc.pod type=file
+c:\perl\lib/pods/perldos.pod type=file
+c:\perl\lib/pods/perldsc.pod type=file
+c:\perl\lib/pods/perldtrace.pod type=file
+c:\perl\lib/pods/perlebcdic.pod type=file
+c:\perl\lib/pods/perlembed.pod type=file
+c:\perl\lib/pods/perlepoc.pod type=file
+c:\perl\lib/pods/perlexperiment.pod type=file
+c:\perl\lib/pods/perlfaq.pod type=file
+c:\perl\lib/pods/perlfaq1.pod type=file
+c:\perl\lib/pods/perlfaq2.pod type=file
+c:\perl\lib/pods/perlfaq3.pod type=file
+c:\perl\lib/pods/perlfaq4.pod type=file
+c:\perl\lib/pods/perlfaq5.pod type=file
+c:\perl\lib/pods/perlfaq6.pod type=file
+c:\perl\lib/pods/perlfaq7.pod type=file
+c:\perl\lib/pods/perlfaq8.pod type=file
+c:\perl\lib/pods/perlfaq9.pod type=file
+c:\perl\lib/pods/perlfilter.pod type=file
+c:\perl\lib/pods/perlfork.pod type=file
+c:\perl\lib/pods/perlform.pod type=file
+c:\perl\lib/pods/perlfreebsd.pod type=file
+c:\perl\lib/pods/perlfunc.pod type=file
+c:\perl\lib/pods/perlgit.pod type=file
+c:\perl\lib/pods/perlglossary.pod type=file
+c:\perl\lib/pods/perlgpl.pod type=file
+c:\perl\lib/pods/perlguts.pod type=file
+c:\perl\lib/pods/perlhack.pod type=file
+c:\perl\lib/pods/perlhacktips.pod type=file
+c:\perl\lib/pods/perlhacktut.pod type=file
+c:\perl\lib/pods/perlhaiku.pod type=file
+c:\perl\lib/pods/perlhist.pod type=file
+c:\perl\lib/pods/perlhpux.pod type=file
+c:\perl\lib/pods/perlhurd.pod type=file
+c:\perl\lib/pods/perlintern.pod type=file
+c:\perl\lib/pods/perlinterp.pod type=file
+c:\perl\lib/pods/perlintro.pod type=file
+c:\perl\lib/pods/perliol.pod type=file
+c:\perl\lib/pods/perlipc.pod type=file
+c:\perl\lib/pods/perlirix.pod type=file
+c:\perl\lib/pods/perljp.pod type=file
+c:\perl\lib/pods/perlko.pod type=file
+c:\perl\lib/pods/perllexwarn.pod type=file
+c:\perl\lib/pods/perllinux.pod type=file
+c:\perl\lib/pods/perllocale.pod type=file
+c:\perl\lib/pods/perllol.pod type=file
+c:\perl\lib/pods/perlmacos.pod type=file
+c:\perl\lib/pods/perlmacosx.pod type=file
+c:\perl\lib/pods/perlmod.pod type=file
+c:\perl\lib/pods/perlmodinstall.pod type=file
+c:\perl\lib/pods/perlmodlib.pod type=file
+c:\perl\lib/pods/perlmodstyle.pod type=file
+c:\perl\lib/pods/perlmpeix.pod type=file
+c:\perl\lib/pods/perlmroapi.pod type=file
+c:\perl\lib/pods/perlnetware.pod type=file
+c:\perl\lib/pods/perlnewmod.pod type=file
+c:\perl\lib/pods/perlnumber.pod type=file
+c:\perl\lib/pods/perlobj.pod type=file
+c:\perl\lib/pods/perlootut.pod type=file
+c:\perl\lib/pods/perlop.pod type=file
+c:\perl\lib/pods/perlopenbsd.pod type=file
+c:\perl\lib/pods/perlopentut.pod type=file
+c:\perl\lib/pods/perlos2.pod type=file
+c:\perl\lib/pods/perlos390.pod type=file
+c:\perl\lib/pods/perlos400.pod type=file
+c:\perl\lib/pods/perlpacktut.pod type=file
+c:\perl\lib/pods/perlperf.pod type=file
+c:\perl\lib/pods/perlplan9.pod type=file
+c:\perl\lib/pods/perlpod.pod type=file
+c:\perl\lib/pods/perlpodspec.pod type=file
+c:\perl\lib/pods/perlpodstyle.pod type=file
+c:\perl\lib/pods/perlpolicy.pod type=file
+c:\perl\lib/pods/perlport.pod type=file
+c:\perl\lib/pods/perlpragma.pod type=file
+c:\perl\lib/pods/perlqnx.pod type=file
+c:\perl\lib/pods/perlre.pod type=file
+c:\perl\lib/pods/perlreapi.pod type=file
+c:\perl\lib/pods/perlrebackslash.pod type=file
+c:\perl\lib/pods/perlrecharclass.pod type=file
+c:\perl\lib/pods/perlref.pod type=file
+c:\perl\lib/pods/perlreftut.pod type=file
+c:\perl\lib/pods/perlreguts.pod type=file
+c:\perl\lib/pods/perlrequick.pod type=file
+c:\perl\lib/pods/perlreref.pod type=file
+c:\perl\lib/pods/perlretut.pod type=file
+c:\perl\lib/pods/perlriscos.pod type=file
+c:\perl\lib/pods/perlrun.pod type=file
+c:\perl\lib/pods/perlsec.pod type=file
+c:\perl\lib/pods/perlsolaris.pod type=file
+c:\perl\lib/pods/perlsource.pod type=file
+c:\perl\lib/pods/perlstyle.pod type=file
+c:\perl\lib/pods/perlsub.pod type=file
+c:\perl\lib/pods/perlsymbian.pod type=file
+c:\perl\lib/pods/perlsyn.pod type=file
+c:\perl\lib/pods/perlthrtut.pod type=file
+c:\perl\lib/pods/perltie.pod type=file
+c:\perl\lib/pods/perltoc.pod type=file
+c:\perl\lib/pods/perltodo.pod type=file
+c:\perl\lib/pods/perltooc.pod type=file
+c:\perl\lib/pods/perltoot.pod type=file
+c:\perl\lib/pods/perltrap.pod type=file
+c:\perl\lib/pods/perltru64.pod type=file
+c:\perl\lib/pods/perltw.pod type=file
+c:\perl\lib/pods/perlunicode.pod type=file
+c:\perl\lib/pods/perlunifaq.pod type=file
+c:\perl\lib/pods/perluniintro.pod type=file
+c:\perl\lib/pods/perluniprops.pod type=file
+c:\perl\lib/pods/perlunitut.pod type=file
+c:\perl\lib/pods/perlutil.pod type=file
+c:\perl\lib/pods/perluts.pod type=file
+c:\perl\lib/pods/perlvar.pod type=file
+c:\perl\lib/pods/perlvmesa.pod type=file
+c:\perl\lib/pods/perlvms.pod type=file
+c:\perl\lib/pods/perlvos.pod type=file
+c:\perl\lib/pods/perlwin32.pod type=file
+c:\perl\lib/pods/perlxs.pod type=file
+c:\perl\lib/pods/perlxstut.pod type=file
+c:\perl\lib/pods/perlxstypemap.pod type=file
+c:\perl\lib/re.pm type=file
+c:\perl\lib/sigtrap.pm type=file
+c:\perl\lib/sort.pm type=file
+c:\perl\lib/strict.pm type=file
+c:\perl\lib/subs.pm type=file
+c:\perl\lib/threads.pm type=file
+c:\perl\lib/threads/shared.pm type=file
+c:\perl\lib/unicore/Blocks.txt type=file
+c:\perl\lib/unicore/CaseFolding.txt type=file
+c:\perl\lib/unicore/CombiningClass.pl type=file
+c:\perl\lib/unicore/Decomposition.pl type=file
+c:\perl\lib/unicore/Heavy.pl type=file
+c:\perl\lib/unicore/Name.pl type=file
+c:\perl\lib/unicore/Name.pm type=file
+c:\perl\lib/unicore/NamedSequences.txt type=file
+c:\perl\lib/unicore/SpecialCasing.txt type=file
+c:\perl\lib/unicore/To/Age.pl type=file
+c:\perl\lib/unicore/To/Bc.pl type=file
+c:\perl\lib/unicore/To/Bmg.pl type=file
+c:\perl\lib/unicore/To/Cf.pl type=file
+c:\perl\lib/unicore/To/Digit.pl type=file
+c:\perl\lib/unicore/To/Ea.pl type=file
+c:\perl\lib/unicore/To/Fold.pl type=file
+c:\perl\lib/unicore/To/GCB.pl type=file
+c:\perl\lib/unicore/To/Gc.pl type=file
+c:\perl\lib/unicore/To/Hst.pl type=file
+c:\perl\lib/unicore/To/Isc.pl type=file
+c:\perl\lib/unicore/To/Jg.pl type=file
+c:\perl\lib/unicore/To/Jt.pl type=file
+c:\perl\lib/unicore/To/Lb.pl type=file
+c:\perl\lib/unicore/To/Lc.pl type=file
+c:\perl\lib/unicore/To/Lower.pl type=file
+c:\perl\lib/unicore/To/NFCQC.pl type=file
+c:\perl\lib/unicore/To/NFDQC.pl type=file
+c:\perl\lib/unicore/To/NFKCCF.pl type=file
+c:\perl\lib/unicore/To/NFKCQC.pl type=file
+c:\perl\lib/unicore/To/NFKDQC.pl type=file
+c:\perl\lib/unicore/To/Na1.pl type=file
+c:\perl\lib/unicore/To/NameAlia.pl type=file
+c:\perl\lib/unicore/To/Nt.pl type=file
+c:\perl\lib/unicore/To/Nv.pl type=file
+c:\perl\lib/unicore/To/PerlDeci.pl type=file
+c:\perl\lib/unicore/To/SB.pl type=file
+c:\perl\lib/unicore/To/Sc.pl type=file
+c:\perl\lib/unicore/To/Scx.pl type=file
+c:\perl\lib/unicore/To/Tc.pl type=file
+c:\perl\lib/unicore/To/Title.pl type=file
+c:\perl\lib/unicore/To/Uc.pl type=file
+c:\perl\lib/unicore/To/Upper.pl type=file
+c:\perl\lib/unicore/To/WB.pl type=file
+c:\perl\lib/unicore/UCD.pl type=file
+c:\perl\lib/unicore/lib/AHex/Y.pl type=file
+c:\perl\lib/unicore/lib/Age/NA.pl type=file
+c:\perl\lib/unicore/lib/Age/V11.pl type=file
+c:\perl\lib/unicore/lib/Age/V20.pl type=file
+c:\perl\lib/unicore/lib/Age/V21.pl type=file
+c:\perl\lib/unicore/lib/Age/V30.pl type=file
+c:\perl\lib/unicore/lib/Age/V31.pl type=file
+c:\perl\lib/unicore/lib/Age/V32.pl type=file
+c:\perl\lib/unicore/lib/Age/V40.pl type=file
+c:\perl\lib/unicore/lib/Age/V41.pl type=file
+c:\perl\lib/unicore/lib/Age/V50.pl type=file
+c:\perl\lib/unicore/lib/Age/V51.pl type=file
+c:\perl\lib/unicore/lib/Age/V52.pl type=file
+c:\perl\lib/unicore/lib/Age/V60.pl type=file
+c:\perl\lib/unicore/lib/Age/V61.pl type=file
+c:\perl\lib/unicore/lib/Alpha/Y.pl type=file
+c:\perl\lib/unicore/lib/Bc/AL.pl type=file
+c:\perl\lib/unicore/lib/Bc/AN.pl type=file
+c:\perl\lib/unicore/lib/Bc/B.pl type=file
+c:\perl\lib/unicore/lib/Bc/BN.pl type=file
+c:\perl\lib/unicore/lib/Bc/CS.pl type=file
+c:\perl\lib/unicore/lib/Bc/EN.pl type=file
+c:\perl\lib/unicore/lib/Bc/ES.pl type=file
+c:\perl\lib/unicore/lib/Bc/ET.pl type=file
+c:\perl\lib/unicore/lib/Bc/L.pl type=file
+c:\perl\lib/unicore/lib/Bc/LRE.pl type=file
+c:\perl\lib/unicore/lib/Bc/LRO.pl type=file
+c:\perl\lib/unicore/lib/Bc/NSM.pl type=file
+c:\perl\lib/unicore/lib/Bc/ON.pl type=file
+c:\perl\lib/unicore/lib/Bc/PDF.pl type=file
+c:\perl\lib/unicore/lib/Bc/R.pl type=file
+c:\perl\lib/unicore/lib/Bc/RLE.pl type=file
+c:\perl\lib/unicore/lib/Bc/RLO.pl type=file
+c:\perl\lib/unicore/lib/Bc/S.pl type=file
+c:\perl\lib/unicore/lib/Bc/WS.pl type=file
+c:\perl\lib/unicore/lib/BidiC/Y.pl type=file
+c:\perl\lib/unicore/lib/BidiM/Y.pl type=file
+c:\perl\lib/unicore/lib/Blk/ASCII.pl type=file
+c:\perl\lib/unicore/lib/Blk/AegeanNu.pl type=file
+c:\perl\lib/unicore/lib/Blk/Alchemic.pl type=file
+c:\perl\lib/unicore/lib/Blk/Alphabet.pl type=file
+c:\perl\lib/unicore/lib/Blk/Ancient2.pl type=file
+c:\perl\lib/unicore/lib/Blk/AncientG.pl type=file
+c:\perl\lib/unicore/lib/Blk/AncientS.pl type=file
+c:\perl\lib/unicore/lib/Blk/Arabic.pl type=file
+c:\perl\lib/unicore/lib/Blk/ArabicEx.pl type=file
+c:\perl\lib/unicore/lib/Blk/ArabicMa.pl type=file
+c:\perl\lib/unicore/lib/Blk/ArabicP2.pl type=file
+c:\perl\lib/unicore/lib/Blk/ArabicPF.pl type=file
+c:\perl\lib/unicore/lib/Blk/ArabicSu.pl type=file
+c:\perl\lib/unicore/lib/Blk/Armenian.pl type=file
+c:\perl\lib/unicore/lib/Blk/Arrows.pl type=file
+c:\perl\lib/unicore/lib/Blk/Avestan.pl type=file
+c:\perl\lib/unicore/lib/Blk/Balinese.pl type=file
+c:\perl\lib/unicore/lib/Blk/Bamum.pl type=file
+c:\perl\lib/unicore/lib/Blk/BamumSup.pl type=file
+c:\perl\lib/unicore/lib/Blk/Batak.pl type=file
+c:\perl\lib/unicore/lib/Blk/Bengali.pl type=file
+c:\perl\lib/unicore/lib/Blk/BlockEle.pl type=file
+c:\perl\lib/unicore/lib/Blk/Bopomof2.pl type=file
+c:\perl\lib/unicore/lib/Blk/Bopomofo.pl type=file
+c:\perl\lib/unicore/lib/Blk/BoxDrawi.pl type=file
+c:\perl\lib/unicore/lib/Blk/Brahmi.pl type=file
+c:\perl\lib/unicore/lib/Blk/Buginese.pl type=file
+c:\perl\lib/unicore/lib/Blk/Buhid.pl type=file
+c:\perl\lib/unicore/lib/Blk/Byzantin.pl type=file
+c:\perl\lib/unicore/lib/Blk/CJK.pl type=file
+c:\perl\lib/unicore/lib/Blk/CJKComp2.pl type=file
+c:\perl\lib/unicore/lib/Blk/CJKComp3.pl type=file
+c:\perl\lib/unicore/lib/Blk/CJKComp4.pl type=file
+c:\perl\lib/unicore/lib/Blk/CJKCompa.pl type=file
+c:\perl\lib/unicore/lib/Blk/CJKExtA.pl type=file
+c:\perl\lib/unicore/lib/Blk/CJKExtB.pl type=file
+c:\perl\lib/unicore/lib/Blk/CJKExtC.pl type=file
+c:\perl\lib/unicore/lib/Blk/CJKExtD.pl type=file
+c:\perl\lib/unicore/lib/Blk/CJKRadic.pl type=file
+c:\perl\lib/unicore/lib/Blk/CJKStrok.pl type=file
+c:\perl\lib/unicore/lib/Blk/CJKSymbo.pl type=file
+c:\perl\lib/unicore/lib/Blk/Carian.pl type=file
+c:\perl\lib/unicore/lib/Blk/Chakma.pl type=file
+c:\perl\lib/unicore/lib/Blk/Cham.pl type=file
+c:\perl\lib/unicore/lib/Blk/Cherokee.pl type=file
+c:\perl\lib/unicore/lib/Blk/CompatJa.pl type=file
+c:\perl\lib/unicore/lib/Blk/ControlP.pl type=file
+c:\perl\lib/unicore/lib/Blk/Coptic.pl type=file
+c:\perl\lib/unicore/lib/Blk/Counting.pl type=file
+c:\perl\lib/unicore/lib/Blk/Cuneifo2.pl type=file
+c:\perl\lib/unicore/lib/Blk/Cuneifor.pl type=file
+c:\perl\lib/unicore/lib/Blk/Currency.pl type=file
+c:\perl\lib/unicore/lib/Blk/CypriotS.pl type=file
+c:\perl\lib/unicore/lib/Blk/Cyrilli2.pl type=file
+c:\perl\lib/unicore/lib/Blk/Cyrilli3.pl type=file
+c:\perl\lib/unicore/lib/Blk/Cyrilli4.pl type=file
+c:\perl\lib/unicore/lib/Blk/Cyrillic.pl type=file
+c:\perl\lib/unicore/lib/Blk/Devanag2.pl type=file
+c:\perl\lib/unicore/lib/Blk/Devanaga.pl type=file
+c:\perl\lib/unicore/lib/Blk/Diacrit2.pl type=file
+c:\perl\lib/unicore/lib/Blk/Diacrit3.pl type=file
+c:\perl\lib/unicore/lib/Blk/Diacriti.pl type=file
+c:\perl\lib/unicore/lib/Blk/Dingbats.pl type=file
+c:\perl\lib/unicore/lib/Blk/Domino.pl type=file
+c:\perl\lib/unicore/lib/Blk/Egyptian.pl type=file
+c:\perl\lib/unicore/lib/Blk/Emoticon.pl type=file
+c:\perl\lib/unicore/lib/Blk/Enclose2.pl type=file
+c:\perl\lib/unicore/lib/Blk/Enclose3.pl type=file
+c:\perl\lib/unicore/lib/Blk/Enclose4.pl type=file
+c:\perl\lib/unicore/lib/Blk/Enclosed.pl type=file
+c:\perl\lib/unicore/lib/Blk/Ethiopi2.pl type=file
+c:\perl\lib/unicore/lib/Blk/Ethiopi3.pl type=file
+c:\perl\lib/unicore/lib/Blk/Ethiopi4.pl type=file
+c:\perl\lib/unicore/lib/Blk/Ethiopic.pl type=file
+c:\perl\lib/unicore/lib/Blk/Geometri.pl type=file
+c:\perl\lib/unicore/lib/Blk/Georgia2.pl type=file
+c:\perl\lib/unicore/lib/Blk/Georgian.pl type=file
+c:\perl\lib/unicore/lib/Blk/Glagolit.pl type=file
+c:\perl\lib/unicore/lib/Blk/Gothic.pl type=file
+c:\perl\lib/unicore/lib/Blk/Greek.pl type=file
+c:\perl\lib/unicore/lib/Blk/GreekExt.pl type=file
+c:\perl\lib/unicore/lib/Blk/Gujarati.pl type=file
+c:\perl\lib/unicore/lib/Blk/Gurmukhi.pl type=file
+c:\perl\lib/unicore/lib/Blk/HalfAndF.pl type=file
+c:\perl\lib/unicore/lib/Blk/HalfMark.pl type=file
+c:\perl\lib/unicore/lib/Blk/Hangul.pl type=file
+c:\perl\lib/unicore/lib/Blk/Hanunoo.pl type=file
+c:\perl\lib/unicore/lib/Blk/Hebrew.pl type=file
+c:\perl\lib/unicore/lib/Blk/HighPUSu.pl type=file
+c:\perl\lib/unicore/lib/Blk/HighSurr.pl type=file
+c:\perl\lib/unicore/lib/Blk/Hiragana.pl type=file
+c:\perl\lib/unicore/lib/Blk/IDC.pl type=file
+c:\perl\lib/unicore/lib/Blk/IPAExt.pl type=file
+c:\perl\lib/unicore/lib/Blk/Imperial.pl type=file
+c:\perl\lib/unicore/lib/Blk/IndicNum.pl type=file
+c:\perl\lib/unicore/lib/Blk/Inscrip2.pl type=file
+c:\perl\lib/unicore/lib/Blk/Inscript.pl type=file
+c:\perl\lib/unicore/lib/Blk/Jamo.pl type=file
+c:\perl\lib/unicore/lib/Blk/JamoExtA.pl type=file
+c:\perl\lib/unicore/lib/Blk/JamoExtB.pl type=file
+c:\perl\lib/unicore/lib/Blk/Javanese.pl type=file
+c:\perl\lib/unicore/lib/Blk/Kaithi.pl type=file
+c:\perl\lib/unicore/lib/Blk/KanaSup.pl type=file
+c:\perl\lib/unicore/lib/Blk/Kanbun.pl type=file
+c:\perl\lib/unicore/lib/Blk/Kangxi.pl type=file
+c:\perl\lib/unicore/lib/Blk/Kannada.pl type=file
+c:\perl\lib/unicore/lib/Blk/Katakan2.pl type=file
+c:\perl\lib/unicore/lib/Blk/Katakana.pl type=file
+c:\perl\lib/unicore/lib/Blk/Kharosht.pl type=file
+c:\perl\lib/unicore/lib/Blk/Khmer.pl type=file
+c:\perl\lib/unicore/lib/Blk/KhmerSym.pl type=file
+c:\perl\lib/unicore/lib/Blk/Lao.pl type=file
+c:\perl\lib/unicore/lib/Blk/Latin1.pl type=file
+c:\perl\lib/unicore/lib/Blk/LatinEx2.pl type=file
+c:\perl\lib/unicore/lib/Blk/LatinEx3.pl type=file
+c:\perl\lib/unicore/lib/Blk/LatinEx4.pl type=file
+c:\perl\lib/unicore/lib/Blk/LatinEx5.pl type=file
+c:\perl\lib/unicore/lib/Blk/LatinExt.pl type=file
+c:\perl\lib/unicore/lib/Blk/Lepcha.pl type=file
+c:\perl\lib/unicore/lib/Blk/Letterli.pl type=file
+c:\perl\lib/unicore/lib/Blk/Limbu.pl type=file
+c:\perl\lib/unicore/lib/Blk/LinearBI.pl type=file
+c:\perl\lib/unicore/lib/Blk/LinearBS.pl type=file
+c:\perl\lib/unicore/lib/Blk/LowSurro.pl type=file
+c:\perl\lib/unicore/lib/Blk/Lycian.pl type=file
+c:\perl\lib/unicore/lib/Blk/Lydian.pl type=file
+c:\perl\lib/unicore/lib/Blk/Mahjong.pl type=file
+c:\perl\lib/unicore/lib/Blk/Malayala.pl type=file
+c:\perl\lib/unicore/lib/Blk/Mandaic.pl type=file
+c:\perl\lib/unicore/lib/Blk/MathAlph.pl type=file
+c:\perl\lib/unicore/lib/Blk/MathOper.pl type=file
+c:\perl\lib/unicore/lib/Blk/MeeteiM2.pl type=file
+c:\perl\lib/unicore/lib/Blk/MeeteiMa.pl type=file
+c:\perl\lib/unicore/lib/Blk/Meroitic.pl type=file
+c:\perl\lib/unicore/lib/Blk/Miao.pl type=file
+c:\perl\lib/unicore/lib/Blk/MiscArro.pl type=file
+c:\perl\lib/unicore/lib/Blk/MiscMat2.pl type=file
+c:\perl\lib/unicore/lib/Blk/MiscMath.pl type=file
+c:\perl\lib/unicore/lib/Blk/MiscPict.pl type=file
+c:\perl\lib/unicore/lib/Blk/MiscSymb.pl type=file
+c:\perl\lib/unicore/lib/Blk/MiscTech.pl type=file
+c:\perl\lib/unicore/lib/Blk/Modifie2.pl type=file
+c:\perl\lib/unicore/lib/Blk/Modifier.pl type=file
+c:\perl\lib/unicore/lib/Blk/Mongolia.pl type=file
+c:\perl\lib/unicore/lib/Blk/Music.pl type=file
+c:\perl\lib/unicore/lib/Blk/Myanmar.pl type=file
+c:\perl\lib/unicore/lib/Blk/MyanmarE.pl type=file
+c:\perl\lib/unicore/lib/Blk/NB.pl type=file
+c:\perl\lib/unicore/lib/Blk/NKo.pl type=file
+c:\perl\lib/unicore/lib/Blk/NewTaiLu.pl type=file
+c:\perl\lib/unicore/lib/Blk/NumberFo.pl type=file
+c:\perl\lib/unicore/lib/Blk/OCR.pl type=file
+c:\perl\lib/unicore/lib/Blk/Ogham.pl type=file
+c:\perl\lib/unicore/lib/Blk/OldItali.pl type=file
+c:\perl\lib/unicore/lib/Blk/OldPersi.pl type=file
+c:\perl\lib/unicore/lib/Blk/OldTurki.pl type=file
+c:\perl\lib/unicore/lib/Blk/Oriya.pl type=file
+c:\perl\lib/unicore/lib/Blk/Osmanya.pl type=file
+c:\perl\lib/unicore/lib/Blk/PUA.pl type=file
+c:\perl\lib/unicore/lib/Blk/PhagsPa.pl type=file
+c:\perl\lib/unicore/lib/Blk/Phaistos.pl type=file
+c:\perl\lib/unicore/lib/Blk/Phoenici.pl type=file
+c:\perl\lib/unicore/lib/Blk/Phoneti2.pl type=file
+c:\perl\lib/unicore/lib/Blk/Phonetic.pl type=file
+c:\perl\lib/unicore/lib/Blk/PlayingC.pl type=file
+c:\perl\lib/unicore/lib/Blk/Punctuat.pl type=file
+c:\perl\lib/unicore/lib/Blk/Rejang.pl type=file
+c:\perl\lib/unicore/lib/Blk/Rumi.pl type=file
+c:\perl\lib/unicore/lib/Blk/Runic.pl type=file
+c:\perl\lib/unicore/lib/Blk/Samarita.pl type=file
+c:\perl\lib/unicore/lib/Blk/Saurasht.pl type=file
+c:\perl\lib/unicore/lib/Blk/Sharada.pl type=file
+c:\perl\lib/unicore/lib/Blk/Sinhala.pl type=file
+c:\perl\lib/unicore/lib/Blk/SmallFor.pl type=file
+c:\perl\lib/unicore/lib/Blk/SoraSomp.pl type=file
+c:\perl\lib/unicore/lib/Blk/Specials.pl type=file
+c:\perl\lib/unicore/lib/Blk/Sundane2.pl type=file
+c:\perl\lib/unicore/lib/Blk/Sundanes.pl type=file
+c:\perl\lib/unicore/lib/Blk/SupArro2.pl type=file
+c:\perl\lib/unicore/lib/Blk/SupArrow.pl type=file
+c:\perl\lib/unicore/lib/Blk/SupMathO.pl type=file
+c:\perl\lib/unicore/lib/Blk/SupPUAA.pl type=file
+c:\perl\lib/unicore/lib/Blk/SupPUAB.pl type=file
+c:\perl\lib/unicore/lib/Blk/SupPunct.pl type=file
+c:\perl\lib/unicore/lib/Blk/SuperAnd.pl type=file
+c:\perl\lib/unicore/lib/Blk/SylotiNa.pl type=file
+c:\perl\lib/unicore/lib/Blk/Syriac.pl type=file
+c:\perl\lib/unicore/lib/Blk/Tagalog.pl type=file
+c:\perl\lib/unicore/lib/Blk/Tagbanwa.pl type=file
+c:\perl\lib/unicore/lib/Blk/Tags.pl type=file
+c:\perl\lib/unicore/lib/Blk/TaiLe.pl type=file
+c:\perl\lib/unicore/lib/Blk/TaiTham.pl type=file
+c:\perl\lib/unicore/lib/Blk/TaiViet.pl type=file
+c:\perl\lib/unicore/lib/Blk/TaiXuanJ.pl type=file
+c:\perl\lib/unicore/lib/Blk/Takri.pl type=file
+c:\perl\lib/unicore/lib/Blk/Tamil.pl type=file
+c:\perl\lib/unicore/lib/Blk/Telugu.pl type=file
+c:\perl\lib/unicore/lib/Blk/Thaana.pl type=file
+c:\perl\lib/unicore/lib/Blk/Thai.pl type=file
+c:\perl\lib/unicore/lib/Blk/Tibetan.pl type=file
+c:\perl\lib/unicore/lib/Blk/Tifinagh.pl type=file
+c:\perl\lib/unicore/lib/Blk/Transpor.pl type=file
+c:\perl\lib/unicore/lib/Blk/UCAS.pl type=file
+c:\perl\lib/unicore/lib/Blk/UCASExt.pl type=file
+c:\perl\lib/unicore/lib/Blk/Ugaritic.pl type=file
+c:\perl\lib/unicore/lib/Blk/VS.pl type=file
+c:\perl\lib/unicore/lib/Blk/VSSup.pl type=file
+c:\perl\lib/unicore/lib/Blk/Vai.pl type=file
+c:\perl\lib/unicore/lib/Blk/VedicExt.pl type=file
+c:\perl\lib/unicore/lib/Blk/Vertical.pl type=file
+c:\perl\lib/unicore/lib/Blk/YiRadica.pl type=file
+c:\perl\lib/unicore/lib/Blk/YiSyllab.pl type=file
+c:\perl\lib/unicore/lib/Blk/Yijing.pl type=file
+c:\perl\lib/unicore/lib/CE/Y.pl type=file
+c:\perl\lib/unicore/lib/CI/Y.pl type=file
+c:\perl\lib/unicore/lib/CWCF/Y.pl type=file
+c:\perl\lib/unicore/lib/CWCM/Y.pl type=file
+c:\perl\lib/unicore/lib/CWKCF/Y.pl type=file
+c:\perl\lib/unicore/lib/CWL/Y.pl type=file
+c:\perl\lib/unicore/lib/CWT/Y.pl type=file
+c:\perl\lib/unicore/lib/CWU/Y.pl type=file
+c:\perl\lib/unicore/lib/Cased/Y.pl type=file
+c:\perl\lib/unicore/lib/Ccc/A.pl type=file
+c:\perl\lib/unicore/lib/Ccc/AL.pl type=file
+c:\perl\lib/unicore/lib/Ccc/AR.pl type=file
+c:\perl\lib/unicore/lib/Ccc/ATA.pl type=file
+c:\perl\lib/unicore/lib/Ccc/ATAR.pl type=file
+c:\perl\lib/unicore/lib/Ccc/ATB.pl type=file
+c:\perl\lib/unicore/lib/Ccc/B.pl type=file
+c:\perl\lib/unicore/lib/Ccc/BL.pl type=file
+c:\perl\lib/unicore/lib/Ccc/BR.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC10.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC103.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC107.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC11.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC118.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC12.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC122.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC129.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC13.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC130.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC132.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC14.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC15.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC16.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC17.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC18.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC19.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC20.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC21.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC22.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC23.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC24.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC25.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC26.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC27.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC28.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC29.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC30.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC31.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC32.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC33.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC34.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC35.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC36.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC84.pl type=file
+c:\perl\lib/unicore/lib/Ccc/CCC91.pl type=file
+c:\perl\lib/unicore/lib/Ccc/DA.pl type=file
+c:\perl\lib/unicore/lib/Ccc/DB.pl type=file
+c:\perl\lib/unicore/lib/Ccc/IS.pl type=file
+c:\perl\lib/unicore/lib/Ccc/KV.pl type=file
+c:\perl\lib/unicore/lib/Ccc/L.pl type=file
+c:\perl\lib/unicore/lib/Ccc/NK.pl type=file
+c:\perl\lib/unicore/lib/Ccc/NR.pl type=file
+c:\perl\lib/unicore/lib/Ccc/OV.pl type=file
+c:\perl\lib/unicore/lib/Ccc/R.pl type=file
+c:\perl\lib/unicore/lib/Ccc/VR.pl type=file
+c:\perl\lib/unicore/lib/CompEx/Y.pl type=file
+c:\perl\lib/unicore/lib/DI/Y.pl type=file
+c:\perl\lib/unicore/lib/Dash/Y.pl type=file
+c:\perl\lib/unicore/lib/Dep/Y.pl type=file
+c:\perl\lib/unicore/lib/Dia/Y.pl type=file
+c:\perl\lib/unicore/lib/Dt/Com.pl type=file
+c:\perl\lib/unicore/lib/Dt/Enc.pl type=file
+c:\perl\lib/unicore/lib/Dt/Fin.pl type=file
+c:\perl\lib/unicore/lib/Dt/Font.pl type=file
+c:\perl\lib/unicore/lib/Dt/Fra.pl type=file
+c:\perl\lib/unicore/lib/Dt/Init.pl type=file
+c:\perl\lib/unicore/lib/Dt/Iso.pl type=file
+c:\perl\lib/unicore/lib/Dt/Med.pl type=file
+c:\perl\lib/unicore/lib/Dt/Nar.pl type=file
+c:\perl\lib/unicore/lib/Dt/Nb.pl type=file
+c:\perl\lib/unicore/lib/Dt/NonCanon.pl type=file
+c:\perl\lib/unicore/lib/Dt/None.pl type=file
+c:\perl\lib/unicore/lib/Dt/Sml.pl type=file
+c:\perl\lib/unicore/lib/Dt/Sqr.pl type=file
+c:\perl\lib/unicore/lib/Dt/Sub.pl type=file
+c:\perl\lib/unicore/lib/Dt/Sup.pl type=file
+c:\perl\lib/unicore/lib/Dt/Vert.pl type=file
+c:\perl\lib/unicore/lib/Ea/A.pl type=file
+c:\perl\lib/unicore/lib/Ea/F.pl type=file
+c:\perl\lib/unicore/lib/Ea/H.pl type=file
+c:\perl\lib/unicore/lib/Ea/N.pl type=file
+c:\perl\lib/unicore/lib/Ea/Na.pl type=file
+c:\perl\lib/unicore/lib/Ea/W.pl type=file
+c:\perl\lib/unicore/lib/Ext/Y.pl type=file
+c:\perl\lib/unicore/lib/GCB/CN.pl type=file
+c:\perl\lib/unicore/lib/GCB/EX.pl type=file
+c:\perl\lib/unicore/lib/GCB/SM.pl type=file
+c:\perl\lib/unicore/lib/GCB/XX.pl type=file
+c:\perl\lib/unicore/lib/Gc/C.pl type=file
+c:\perl\lib/unicore/lib/Gc/Cc.pl type=file
+c:\perl\lib/unicore/lib/Gc/Cf.pl type=file
+c:\perl\lib/unicore/lib/Gc/Cn.pl type=file
+c:\perl\lib/unicore/lib/Gc/Co.pl type=file
+c:\perl\lib/unicore/lib/Gc/Cs.pl type=file
+c:\perl\lib/unicore/lib/Gc/L.pl type=file
+c:\perl\lib/unicore/lib/Gc/LC.pl type=file
+c:\perl\lib/unicore/lib/Gc/Ll.pl type=file
+c:\perl\lib/unicore/lib/Gc/Lm.pl type=file
+c:\perl\lib/unicore/lib/Gc/Lo.pl type=file
+c:\perl\lib/unicore/lib/Gc/Lu.pl type=file
+c:\perl\lib/unicore/lib/Gc/M.pl type=file
+c:\perl\lib/unicore/lib/Gc/Mc.pl type=file
+c:\perl\lib/unicore/lib/Gc/Me.pl type=file
+c:\perl\lib/unicore/lib/Gc/Mn.pl type=file
+c:\perl\lib/unicore/lib/Gc/N.pl type=file
+c:\perl\lib/unicore/lib/Gc/Nd.pl type=file
+c:\perl\lib/unicore/lib/Gc/Nl.pl type=file
+c:\perl\lib/unicore/lib/Gc/No.pl type=file
+c:\perl\lib/unicore/lib/Gc/P.pl type=file
+c:\perl\lib/unicore/lib/Gc/Pc.pl type=file
+c:\perl\lib/unicore/lib/Gc/Pd.pl type=file
+c:\perl\lib/unicore/lib/Gc/Pe.pl type=file
+c:\perl\lib/unicore/lib/Gc/Pf.pl type=file
+c:\perl\lib/unicore/lib/Gc/Pi.pl type=file
+c:\perl\lib/unicore/lib/Gc/Po.pl type=file
+c:\perl\lib/unicore/lib/Gc/Ps.pl type=file
+c:\perl\lib/unicore/lib/Gc/S.pl type=file
+c:\perl\lib/unicore/lib/Gc/Sc.pl type=file
+c:\perl\lib/unicore/lib/Gc/Sk.pl type=file
+c:\perl\lib/unicore/lib/Gc/Sm.pl type=file
+c:\perl\lib/unicore/lib/Gc/So.pl type=file
+c:\perl\lib/unicore/lib/Gc/Z.pl type=file
+c:\perl\lib/unicore/lib/Gc/Zl.pl type=file
+c:\perl\lib/unicore/lib/Gc/Zp.pl type=file
+c:\perl\lib/unicore/lib/Gc/Zs.pl type=file
+c:\perl\lib/unicore/lib/GrBase/Y.pl type=file
+c:\perl\lib/unicore/lib/Hex/Y.pl type=file
+c:\perl\lib/unicore/lib/Hst/NA.pl type=file
+c:\perl\lib/unicore/lib/Hyphen/Y.pl type=file
+c:\perl\lib/unicore/lib/IDC/Y.pl type=file
+c:\perl\lib/unicore/lib/IDS/Y.pl type=file
+c:\perl\lib/unicore/lib/IDSB/Y.pl type=file
+c:\perl\lib/unicore/lib/IDST/Y.pl type=file
+c:\perl\lib/unicore/lib/Ideo/Y.pl type=file
+c:\perl\lib/unicore/lib/In/2_0.pl type=file
+c:\perl\lib/unicore/lib/In/2_1.pl type=file
+c:\perl\lib/unicore/lib/In/3_0.pl type=file
+c:\perl\lib/unicore/lib/In/3_1.pl type=file
+c:\perl\lib/unicore/lib/In/3_2.pl type=file
+c:\perl\lib/unicore/lib/In/4_0.pl type=file
+c:\perl\lib/unicore/lib/In/4_1.pl type=file
+c:\perl\lib/unicore/lib/In/5_0.pl type=file
+c:\perl\lib/unicore/lib/In/5_1.pl type=file
+c:\perl\lib/unicore/lib/In/5_2.pl type=file
+c:\perl\lib/unicore/lib/In/6_0.pl type=file
+c:\perl\lib/unicore/lib/In/6_1.pl type=file
+c:\perl\lib/unicore/lib/Jg/Ain.pl type=file
+c:\perl\lib/unicore/lib/Jg/Alaph.pl type=file
+c:\perl\lib/unicore/lib/Jg/Alef.pl type=file
+c:\perl\lib/unicore/lib/Jg/Beh.pl type=file
+c:\perl\lib/unicore/lib/Jg/Beth.pl type=file
+c:\perl\lib/unicore/lib/Jg/Burushas.pl type=file
+c:\perl\lib/unicore/lib/Jg/Dal.pl type=file
+c:\perl\lib/unicore/lib/Jg/DalathRi.pl type=file
+c:\perl\lib/unicore/lib/Jg/E.pl type=file
+c:\perl\lib/unicore/lib/Jg/FarsiYeh.pl type=file
+c:\perl\lib/unicore/lib/Jg/Fe.pl type=file
+c:\perl\lib/unicore/lib/Jg/Feh.pl type=file
+c:\perl\lib/unicore/lib/Jg/FinalSem.pl type=file
+c:\perl\lib/unicore/lib/Jg/Gaf.pl type=file
+c:\perl\lib/unicore/lib/Jg/Gamal.pl type=file
+c:\perl\lib/unicore/lib/Jg/Hah.pl type=file
+c:\perl\lib/unicore/lib/Jg/HamzaOnH.pl type=file
+c:\perl\lib/unicore/lib/Jg/He.pl type=file
+c:\perl\lib/unicore/lib/Jg/Heh.pl type=file
+c:\perl\lib/unicore/lib/Jg/HehGoal.pl type=file
+c:\perl\lib/unicore/lib/Jg/Heth.pl type=file
+c:\perl\lib/unicore/lib/Jg/Kaf.pl type=file
+c:\perl\lib/unicore/lib/Jg/Kaph.pl type=file
+c:\perl\lib/unicore/lib/Jg/Khaph.pl type=file
+c:\perl\lib/unicore/lib/Jg/KnottedH.pl type=file
+c:\perl\lib/unicore/lib/Jg/Lam.pl type=file
+c:\perl\lib/unicore/lib/Jg/Lamadh.pl type=file
+c:\perl\lib/unicore/lib/Jg/Meem.pl type=file
+c:\perl\lib/unicore/lib/Jg/Mim.pl type=file
+c:\perl\lib/unicore/lib/Jg/NoJoinin.pl type=file
+c:\perl\lib/unicore/lib/Jg/Noon.pl type=file
+c:\perl\lib/unicore/lib/Jg/Nun.pl type=file
+c:\perl\lib/unicore/lib/Jg/Nya.pl type=file
+c:\perl\lib/unicore/lib/Jg/Pe.pl type=file
+c:\perl\lib/unicore/lib/Jg/Qaf.pl type=file
+c:\perl\lib/unicore/lib/Jg/Qaph.pl type=file
+c:\perl\lib/unicore/lib/Jg/Reh.pl type=file
+c:\perl\lib/unicore/lib/Jg/Reversed.pl type=file
+c:\perl\lib/unicore/lib/Jg/Rohingya.pl type=file
+c:\perl\lib/unicore/lib/Jg/Sad.pl type=file
+c:\perl\lib/unicore/lib/Jg/Sadhe.pl type=file
+c:\perl\lib/unicore/lib/Jg/Seen.pl type=file
+c:\perl\lib/unicore/lib/Jg/Semkath.pl type=file
+c:\perl\lib/unicore/lib/Jg/Shin.pl type=file
+c:\perl\lib/unicore/lib/Jg/SwashKaf.pl type=file
+c:\perl\lib/unicore/lib/Jg/SyriacWa.pl type=file
+c:\perl\lib/unicore/lib/Jg/Tah.pl type=file
+c:\perl\lib/unicore/lib/Jg/Taw.pl type=file
+c:\perl\lib/unicore/lib/Jg/TehMarbu.pl type=file
+c:\perl\lib/unicore/lib/Jg/Teth.pl type=file
+c:\perl\lib/unicore/lib/Jg/Waw.pl type=file
+c:\perl\lib/unicore/lib/Jg/Yeh.pl type=file
+c:\perl\lib/unicore/lib/Jg/YehBarre.pl type=file
+c:\perl\lib/unicore/lib/Jg/YehWithT.pl type=file
+c:\perl\lib/unicore/lib/Jg/Yudh.pl type=file
+c:\perl\lib/unicore/lib/Jg/YudhHe.pl type=file
+c:\perl\lib/unicore/lib/Jg/Zain.pl type=file
+c:\perl\lib/unicore/lib/Jg/Zhain.pl type=file
+c:\perl\lib/unicore/lib/JoinC/Y.pl type=file
+c:\perl\lib/unicore/lib/Jt/C.pl type=file
+c:\perl\lib/unicore/lib/Jt/D.pl type=file
+c:\perl\lib/unicore/lib/Jt/R.pl type=file
+c:\perl\lib/unicore/lib/Jt/T.pl type=file
+c:\perl\lib/unicore/lib/Jt/U.pl type=file
+c:\perl\lib/unicore/lib/LOE/Y.pl type=file
+c:\perl\lib/unicore/lib/Lb/AI.pl type=file
+c:\perl\lib/unicore/lib/Lb/AL.pl type=file
+c:\perl\lib/unicore/lib/Lb/B2.pl type=file
+c:\perl\lib/unicore/lib/Lb/BA.pl type=file
+c:\perl\lib/unicore/lib/Lb/BB.pl type=file
+c:\perl\lib/unicore/lib/Lb/BK.pl type=file
+c:\perl\lib/unicore/lib/Lb/CB.pl type=file
+c:\perl\lib/unicore/lib/Lb/CJ.pl type=file
+c:\perl\lib/unicore/lib/Lb/CL.pl type=file
+c:\perl\lib/unicore/lib/Lb/CM.pl type=file
+c:\perl\lib/unicore/lib/Lb/CP.pl type=file
+c:\perl\lib/unicore/lib/Lb/CR.pl type=file
+c:\perl\lib/unicore/lib/Lb/EX.pl type=file
+c:\perl\lib/unicore/lib/Lb/GL.pl type=file
+c:\perl\lib/unicore/lib/Lb/H2.pl type=file
+c:\perl\lib/unicore/lib/Lb/H3.pl type=file
+c:\perl\lib/unicore/lib/Lb/HL.pl type=file
+c:\perl\lib/unicore/lib/Lb/HY.pl type=file
+c:\perl\lib/unicore/lib/Lb/ID.pl type=file
+c:\perl\lib/unicore/lib/Lb/IN.pl type=file
+c:\perl\lib/unicore/lib/Lb/IS.pl type=file
+c:\perl\lib/unicore/lib/Lb/JL.pl type=file
+c:\perl\lib/unicore/lib/Lb/JT.pl type=file
+c:\perl\lib/unicore/lib/Lb/JV.pl type=file
+c:\perl\lib/unicore/lib/Lb/LF.pl type=file
+c:\perl\lib/unicore/lib/Lb/NL.pl type=file
+c:\perl\lib/unicore/lib/Lb/NS.pl type=file
+c:\perl\lib/unicore/lib/Lb/NU.pl type=file
+c:\perl\lib/unicore/lib/Lb/OP.pl type=file
+c:\perl\lib/unicore/lib/Lb/PO.pl type=file
+c:\perl\lib/unicore/lib/Lb/PR.pl type=file
+c:\perl\lib/unicore/lib/Lb/QU.pl type=file
+c:\perl\lib/unicore/lib/Lb/SA.pl type=file
+c:\perl\lib/unicore/lib/Lb/SG.pl type=file
+c:\perl\lib/unicore/lib/Lb/SP.pl type=file
+c:\perl\lib/unicore/lib/Lb/SY.pl type=file
+c:\perl\lib/unicore/lib/Lb/WJ.pl type=file
+c:\perl\lib/unicore/lib/Lb/XX.pl type=file
+c:\perl\lib/unicore/lib/Lb/ZW.pl type=file
+c:\perl\lib/unicore/lib/Lower/Y.pl type=file
+c:\perl\lib/unicore/lib/Math/Y.pl type=file
+c:\perl\lib/unicore/lib/NChar/Y.pl type=file
+c:\perl\lib/unicore/lib/NFCQC/Y.pl type=file
+c:\perl\lib/unicore/lib/NFDQC/N.pl type=file
+c:\perl\lib/unicore/lib/NFDQC/Y.pl type=file
+c:\perl\lib/unicore/lib/NFKCQC/M.pl type=file
+c:\perl\lib/unicore/lib/NFKCQC/N.pl type=file
+c:\perl\lib/unicore/lib/NFKCQC/Y.pl type=file
+c:\perl\lib/unicore/lib/NFKDQC/N.pl type=file
+c:\perl\lib/unicore/lib/Nt/Di.pl type=file
+c:\perl\lib/unicore/lib/Nt/Nu.pl type=file
+c:\perl\lib/unicore/lib/Nv/0.pl type=file
+c:\perl\lib/unicore/lib/Nv/1.pl type=file
+c:\perl\lib/unicore/lib/Nv/10.pl type=file
+c:\perl\lib/unicore/lib/Nv/100.pl type=file
+c:\perl\lib/unicore/lib/Nv/1000.pl type=file
+c:\perl\lib/unicore/lib/Nv/10000.pl type=file
+c:\perl\lib/unicore/lib/Nv/100000.pl type=file
+c:\perl\lib/unicore/lib/Nv/10000000.pl type=file
+c:\perl\lib/unicore/lib/Nv/10000002.pl type=file
+c:\perl\lib/unicore/lib/Nv/11.pl type=file
+c:\perl\lib/unicore/lib/Nv/11_2.pl type=file
+c:\perl\lib/unicore/lib/Nv/12.pl type=file
+c:\perl\lib/unicore/lib/Nv/13.pl type=file
+c:\perl\lib/unicore/lib/Nv/13_2.pl type=file
+c:\perl\lib/unicore/lib/Nv/14.pl type=file
+c:\perl\lib/unicore/lib/Nv/15.pl type=file
+c:\perl\lib/unicore/lib/Nv/15_2.pl type=file
+c:\perl\lib/unicore/lib/Nv/16.pl type=file
+c:\perl\lib/unicore/lib/Nv/17.pl type=file
+c:\perl\lib/unicore/lib/Nv/17_2.pl type=file
+c:\perl\lib/unicore/lib/Nv/18.pl type=file
+c:\perl\lib/unicore/lib/Nv/19.pl type=file
+c:\perl\lib/unicore/lib/Nv/1_10.pl type=file
+c:\perl\lib/unicore/lib/Nv/1_16.pl type=file
+c:\perl\lib/unicore/lib/Nv/1_2.pl type=file
+c:\perl\lib/unicore/lib/Nv/1_3.pl type=file
+c:\perl\lib/unicore/lib/Nv/1_4.pl type=file
+c:\perl\lib/unicore/lib/Nv/1_5.pl type=file
+c:\perl\lib/unicore/lib/Nv/1_6.pl type=file
+c:\perl\lib/unicore/lib/Nv/1_7.pl type=file
+c:\perl\lib/unicore/lib/Nv/1_8.pl type=file
+c:\perl\lib/unicore/lib/Nv/1_9.pl type=file
+c:\perl\lib/unicore/lib/Nv/2.pl type=file
+c:\perl\lib/unicore/lib/Nv/20.pl type=file
+c:\perl\lib/unicore/lib/Nv/200.pl type=file
+c:\perl\lib/unicore/lib/Nv/2000.pl type=file
+c:\perl\lib/unicore/lib/Nv/20000.pl type=file
+c:\perl\lib/unicore/lib/Nv/21.pl type=file
+c:\perl\lib/unicore/lib/Nv/22.pl type=file
+c:\perl\lib/unicore/lib/Nv/23.pl type=file
+c:\perl\lib/unicore/lib/Nv/24.pl type=file
+c:\perl\lib/unicore/lib/Nv/25.pl type=file
+c:\perl\lib/unicore/lib/Nv/26.pl type=file
+c:\perl\lib/unicore/lib/Nv/27.pl type=file
+c:\perl\lib/unicore/lib/Nv/28.pl type=file
+c:\perl\lib/unicore/lib/Nv/29.pl type=file
+c:\perl\lib/unicore/lib/Nv/2_3.pl type=file
+c:\perl\lib/unicore/lib/Nv/2_5.pl type=file
+c:\perl\lib/unicore/lib/Nv/3.pl type=file
+c:\perl\lib/unicore/lib/Nv/30.pl type=file
+c:\perl\lib/unicore/lib/Nv/300.pl type=file
+c:\perl\lib/unicore/lib/Nv/3000.pl type=file
+c:\perl\lib/unicore/lib/Nv/30000.pl type=file
+c:\perl\lib/unicore/lib/Nv/31.pl type=file
+c:\perl\lib/unicore/lib/Nv/32.pl type=file
+c:\perl\lib/unicore/lib/Nv/33.pl type=file
+c:\perl\lib/unicore/lib/Nv/34.pl type=file
+c:\perl\lib/unicore/lib/Nv/35.pl type=file
+c:\perl\lib/unicore/lib/Nv/36.pl type=file
+c:\perl\lib/unicore/lib/Nv/37.pl type=file
+c:\perl\lib/unicore/lib/Nv/38.pl type=file
+c:\perl\lib/unicore/lib/Nv/39.pl type=file
+c:\perl\lib/unicore/lib/Nv/3_16.pl type=file
+c:\perl\lib/unicore/lib/Nv/3_2.pl type=file
+c:\perl\lib/unicore/lib/Nv/3_4.pl type=file
+c:\perl\lib/unicore/lib/Nv/3_5.pl type=file
+c:\perl\lib/unicore/lib/Nv/3_8.pl type=file
+c:\perl\lib/unicore/lib/Nv/4.pl type=file
+c:\perl\lib/unicore/lib/Nv/40.pl type=file
+c:\perl\lib/unicore/lib/Nv/400.pl type=file
+c:\perl\lib/unicore/lib/Nv/4000.pl type=file
+c:\perl\lib/unicore/lib/Nv/40000.pl type=file
+c:\perl\lib/unicore/lib/Nv/41.pl type=file
+c:\perl\lib/unicore/lib/Nv/42.pl type=file
+c:\perl\lib/unicore/lib/Nv/43.pl type=file
+c:\perl\lib/unicore/lib/Nv/44.pl type=file
+c:\perl\lib/unicore/lib/Nv/45.pl type=file
+c:\perl\lib/unicore/lib/Nv/46.pl type=file
+c:\perl\lib/unicore/lib/Nv/47.pl type=file
+c:\perl\lib/unicore/lib/Nv/48.pl type=file
+c:\perl\lib/unicore/lib/Nv/49.pl type=file
+c:\perl\lib/unicore/lib/Nv/4_5.pl type=file
+c:\perl\lib/unicore/lib/Nv/5.pl type=file
+c:\perl\lib/unicore/lib/Nv/50.pl type=file
+c:\perl\lib/unicore/lib/Nv/500.pl type=file
+c:\perl\lib/unicore/lib/Nv/5000.pl type=file
+c:\perl\lib/unicore/lib/Nv/50000.pl type=file
+c:\perl\lib/unicore/lib/Nv/5_2.pl type=file
+c:\perl\lib/unicore/lib/Nv/5_6.pl type=file
+c:\perl\lib/unicore/lib/Nv/5_8.pl type=file
+c:\perl\lib/unicore/lib/Nv/6.pl type=file
+c:\perl\lib/unicore/lib/Nv/60.pl type=file
+c:\perl\lib/unicore/lib/Nv/600.pl type=file
+c:\perl\lib/unicore/lib/Nv/6000.pl type=file
+c:\perl\lib/unicore/lib/Nv/60000.pl type=file
+c:\perl\lib/unicore/lib/Nv/7.pl type=file
+c:\perl\lib/unicore/lib/Nv/70.pl type=file
+c:\perl\lib/unicore/lib/Nv/700.pl type=file
+c:\perl\lib/unicore/lib/Nv/7000.pl type=file
+c:\perl\lib/unicore/lib/Nv/70000.pl type=file
+c:\perl\lib/unicore/lib/Nv/7_2.pl type=file
+c:\perl\lib/unicore/lib/Nv/7_8.pl type=file
+c:\perl\lib/unicore/lib/Nv/8.pl type=file
+c:\perl\lib/unicore/lib/Nv/80.pl type=file
+c:\perl\lib/unicore/lib/Nv/800.pl type=file
+c:\perl\lib/unicore/lib/Nv/8000.pl type=file
+c:\perl\lib/unicore/lib/Nv/80000.pl type=file
+c:\perl\lib/unicore/lib/Nv/9.pl type=file
+c:\perl\lib/unicore/lib/Nv/90.pl type=file
+c:\perl\lib/unicore/lib/Nv/900.pl type=file
+c:\perl\lib/unicore/lib/Nv/9000.pl type=file
+c:\perl\lib/unicore/lib/Nv/90000.pl type=file
+c:\perl\lib/unicore/lib/Nv/9_2.pl type=file
+c:\perl\lib/unicore/lib/Nv/NaN.pl type=file
+c:\perl\lib/unicore/lib/Nv/_1_2.pl type=file
+c:\perl\lib/unicore/lib/PatSyn/Y.pl type=file
+c:\perl\lib/unicore/lib/PatWS/Y.pl type=file
+c:\perl\lib/unicore/lib/Perl/Alnum.pl type=file
+c:\perl\lib/unicore/lib/Perl/Any.pl type=file
+c:\perl\lib/unicore/lib/Perl/Assigned.pl type=file
+c:\perl\lib/unicore/lib/Perl/Blank.pl type=file
+c:\perl\lib/unicore/lib/Perl/Graph.pl type=file
+c:\perl\lib/unicore/lib/Perl/PerlSpac.pl type=file
+c:\perl\lib/unicore/lib/Perl/PerlWord.pl type=file
+c:\perl\lib/unicore/lib/Perl/PosixAln.pl type=file
+c:\perl\lib/unicore/lib/Perl/PosixAlp.pl type=file
+c:\perl\lib/unicore/lib/Perl/PosixBla.pl type=file
+c:\perl\lib/unicore/lib/Perl/PosixCnt.pl type=file
+c:\perl\lib/unicore/lib/Perl/PosixDig.pl type=file
+c:\perl\lib/unicore/lib/Perl/PosixGra.pl type=file
+c:\perl\lib/unicore/lib/Perl/PosixLow.pl type=file
+c:\perl\lib/unicore/lib/Perl/PosixPri.pl type=file
+c:\perl\lib/unicore/lib/Perl/PosixPun.pl type=file
+c:\perl\lib/unicore/lib/Perl/PosixSpa.pl type=file
+c:\perl\lib/unicore/lib/Perl/PosixUpp.pl type=file
+c:\perl\lib/unicore/lib/Perl/Print.pl type=file
+c:\perl\lib/unicore/lib/Perl/SpacePer.pl type=file
+c:\perl\lib/unicore/lib/Perl/Title.pl type=file
+c:\perl\lib/unicore/lib/Perl/VertSpac.pl type=file
+c:\perl\lib/unicore/lib/Perl/Word.pl type=file
+c:\perl\lib/unicore/lib/Perl/XPosixPu.pl type=file
+c:\perl\lib/unicore/lib/Perl/_PerlIDS.pl type=file
+c:\perl\lib/unicore/lib/Perl/_PerlNon.pl type=file
+c:\perl\lib/unicore/lib/Perl/_PerlQuo.pl type=file
+c:\perl\lib/unicore/lib/Perl/_XBegin.pl type=file
+c:\perl\lib/unicore/lib/Perl/_XExtend.pl type=file
+c:\perl\lib/unicore/lib/Perl/_XLVLVTV.pl type=file
+c:\perl\lib/unicore/lib/QMark/Y.pl type=file
+c:\perl\lib/unicore/lib/Radical/Y.pl type=file
+c:\perl\lib/unicore/lib/SB/AT.pl type=file
+c:\perl\lib/unicore/lib/SB/CL.pl type=file
+c:\perl\lib/unicore/lib/SB/EX.pl type=file
+c:\perl\lib/unicore/lib/SB/FO.pl type=file
+c:\perl\lib/unicore/lib/SB/LE.pl type=file
+c:\perl\lib/unicore/lib/SB/LO.pl type=file
+c:\perl\lib/unicore/lib/SB/SC.pl type=file
+c:\perl\lib/unicore/lib/SB/SE.pl type=file
+c:\perl\lib/unicore/lib/SB/ST.pl type=file
+c:\perl\lib/unicore/lib/SB/Sp.pl type=file
+c:\perl\lib/unicore/lib/SB/UP.pl type=file
+c:\perl\lib/unicore/lib/SB/XX.pl type=file
+c:\perl\lib/unicore/lib/SD/Y.pl type=file
+c:\perl\lib/unicore/lib/STerm/Y.pl type=file
+c:\perl\lib/unicore/lib/Sc/Arab.pl type=file
+c:\perl\lib/unicore/lib/Sc/Armn.pl type=file
+c:\perl\lib/unicore/lib/Sc/Beng.pl type=file
+c:\perl\lib/unicore/lib/Sc/Bopo.pl type=file
+c:\perl\lib/unicore/lib/Sc/Buhd.pl type=file
+c:\perl\lib/unicore/lib/Sc/Cprt.pl type=file
+c:\perl\lib/unicore/lib/Sc/Deva.pl type=file
+c:\perl\lib/unicore/lib/Sc/Geor.pl type=file
+c:\perl\lib/unicore/lib/Sc/Gujr.pl type=file
+c:\perl\lib/unicore/lib/Sc/Guru.pl type=file
+c:\perl\lib/unicore/lib/Sc/Han.pl type=file
+c:\perl\lib/unicore/lib/Sc/Hang.pl type=file
+c:\perl\lib/unicore/lib/Sc/Hano.pl type=file
+c:\perl\lib/unicore/lib/Sc/Hira.pl type=file
+c:\perl\lib/unicore/lib/Sc/Kana.pl type=file
+c:\perl\lib/unicore/lib/Sc/Kthi.pl type=file
+c:\perl\lib/unicore/lib/Sc/Linb.pl type=file
+c:\perl\lib/unicore/lib/Sc/Mand.pl type=file
+c:\perl\lib/unicore/lib/Sc/Mong.pl type=file
+c:\perl\lib/unicore/lib/Sc/Orya.pl type=file
+c:\perl\lib/unicore/lib/Sc/Phag.pl type=file
+c:\perl\lib/unicore/lib/Sc/Syrc.pl type=file
+c:\perl\lib/unicore/lib/Sc/Tagb.pl type=file
+c:\perl\lib/unicore/lib/Sc/Takr.pl type=file
+c:\perl\lib/unicore/lib/Sc/Tglg.pl type=file
+c:\perl\lib/unicore/lib/Sc/Thaa.pl type=file
+c:\perl\lib/unicore/lib/Sc/Yi.pl type=file
+c:\perl\lib/unicore/lib/Sc/Zinh.pl type=file
+c:\perl\lib/unicore/lib/Sc/Zyyy.pl type=file
+c:\perl\lib/unicore/lib/Scx/Arab.pl type=file
+c:\perl\lib/unicore/lib/Scx/Armi.pl type=file
+c:\perl\lib/unicore/lib/Scx/Armn.pl type=file
+c:\perl\lib/unicore/lib/Scx/Avst.pl type=file
+c:\perl\lib/unicore/lib/Scx/Bali.pl type=file
+c:\perl\lib/unicore/lib/Scx/Bamu.pl type=file
+c:\perl\lib/unicore/lib/Scx/Batk.pl type=file
+c:\perl\lib/unicore/lib/Scx/Beng.pl type=file
+c:\perl\lib/unicore/lib/Scx/Bopo.pl type=file
+c:\perl\lib/unicore/lib/Scx/Brah.pl type=file
+c:\perl\lib/unicore/lib/Scx/Brai.pl type=file
+c:\perl\lib/unicore/lib/Scx/Bugi.pl type=file
+c:\perl\lib/unicore/lib/Scx/Buhd.pl type=file
+c:\perl\lib/unicore/lib/Scx/Cakm.pl type=file
+c:\perl\lib/unicore/lib/Scx/Cans.pl type=file
+c:\perl\lib/unicore/lib/Scx/Cari.pl type=file
+c:\perl\lib/unicore/lib/Scx/Cham.pl type=file
+c:\perl\lib/unicore/lib/Scx/Cher.pl type=file
+c:\perl\lib/unicore/lib/Scx/Copt.pl type=file
+c:\perl\lib/unicore/lib/Scx/Cprt.pl type=file
+c:\perl\lib/unicore/lib/Scx/Cyrl.pl type=file
+c:\perl\lib/unicore/lib/Scx/Deva.pl type=file
+c:\perl\lib/unicore/lib/Scx/Dsrt.pl type=file
+c:\perl\lib/unicore/lib/Scx/Egyp.pl type=file
+c:\perl\lib/unicore/lib/Scx/Ethi.pl type=file
+c:\perl\lib/unicore/lib/Scx/Geor.pl type=file
+c:\perl\lib/unicore/lib/Scx/Glag.pl type=file
+c:\perl\lib/unicore/lib/Scx/Goth.pl type=file
+c:\perl\lib/unicore/lib/Scx/Grek.pl type=file
+c:\perl\lib/unicore/lib/Scx/Gujr.pl type=file
+c:\perl\lib/unicore/lib/Scx/Guru.pl type=file
+c:\perl\lib/unicore/lib/Scx/Han.pl type=file
+c:\perl\lib/unicore/lib/Scx/Hang.pl type=file
+c:\perl\lib/unicore/lib/Scx/Hano.pl type=file
+c:\perl\lib/unicore/lib/Scx/Hebr.pl type=file
+c:\perl\lib/unicore/lib/Scx/Hira.pl type=file
+c:\perl\lib/unicore/lib/Scx/Ital.pl type=file
+c:\perl\lib/unicore/lib/Scx/Java.pl type=file
+c:\perl\lib/unicore/lib/Scx/Kali.pl type=file
+c:\perl\lib/unicore/lib/Scx/Kana.pl type=file
+c:\perl\lib/unicore/lib/Scx/Khar.pl type=file
+c:\perl\lib/unicore/lib/Scx/Khmr.pl type=file
+c:\perl\lib/unicore/lib/Scx/Knda.pl type=file
+c:\perl\lib/unicore/lib/Scx/Kthi.pl type=file
+c:\perl\lib/unicore/lib/Scx/Lana.pl type=file
+c:\perl\lib/unicore/lib/Scx/Lao.pl type=file
+c:\perl\lib/unicore/lib/Scx/Latn.pl type=file
+c:\perl\lib/unicore/lib/Scx/Lepc.pl type=file
+c:\perl\lib/unicore/lib/Scx/Limb.pl type=file
+c:\perl\lib/unicore/lib/Scx/Linb.pl type=file
+c:\perl\lib/unicore/lib/Scx/Lisu.pl type=file
+c:\perl\lib/unicore/lib/Scx/Lyci.pl type=file
+c:\perl\lib/unicore/lib/Scx/Lydi.pl type=file
+c:\perl\lib/unicore/lib/Scx/Mand.pl type=file
+c:\perl\lib/unicore/lib/Scx/Merc.pl type=file
+c:\perl\lib/unicore/lib/Scx/Mero.pl type=file
+c:\perl\lib/unicore/lib/Scx/Miao.pl type=file
+c:\perl\lib/unicore/lib/Scx/Mlym.pl type=file
+c:\perl\lib/unicore/lib/Scx/Mong.pl type=file
+c:\perl\lib/unicore/lib/Scx/Mtei.pl type=file
+c:\perl\lib/unicore/lib/Scx/Mymr.pl type=file
+c:\perl\lib/unicore/lib/Scx/Nko.pl type=file
+c:\perl\lib/unicore/lib/Scx/Ogam.pl type=file
+c:\perl\lib/unicore/lib/Scx/Olck.pl type=file
+c:\perl\lib/unicore/lib/Scx/Orkh.pl type=file
+c:\perl\lib/unicore/lib/Scx/Orya.pl type=file
+c:\perl\lib/unicore/lib/Scx/Osma.pl type=file
+c:\perl\lib/unicore/lib/Scx/Phag.pl type=file
+c:\perl\lib/unicore/lib/Scx/Phli.pl type=file
+c:\perl\lib/unicore/lib/Scx/Phnx.pl type=file
+c:\perl\lib/unicore/lib/Scx/Prti.pl type=file
+c:\perl\lib/unicore/lib/Scx/Rjng.pl type=file
+c:\perl\lib/unicore/lib/Scx/Runr.pl type=file
+c:\perl\lib/unicore/lib/Scx/Samr.pl type=file
+c:\perl\lib/unicore/lib/Scx/Sarb.pl type=file
+c:\perl\lib/unicore/lib/Scx/Saur.pl type=file
+c:\perl\lib/unicore/lib/Scx/Shaw.pl type=file
+c:\perl\lib/unicore/lib/Scx/Shrd.pl type=file
+c:\perl\lib/unicore/lib/Scx/Sinh.pl type=file
+c:\perl\lib/unicore/lib/Scx/Sora.pl type=file
+c:\perl\lib/unicore/lib/Scx/Sund.pl type=file
+c:\perl\lib/unicore/lib/Scx/Sylo.pl type=file
+c:\perl\lib/unicore/lib/Scx/Syrc.pl type=file
+c:\perl\lib/unicore/lib/Scx/Tagb.pl type=file
+c:\perl\lib/unicore/lib/Scx/Takr.pl type=file
+c:\perl\lib/unicore/lib/Scx/Tale.pl type=file
+c:\perl\lib/unicore/lib/Scx/Talu.pl type=file
+c:\perl\lib/unicore/lib/Scx/Taml.pl type=file
+c:\perl\lib/unicore/lib/Scx/Tavt.pl type=file
+c:\perl\lib/unicore/lib/Scx/Telu.pl type=file
+c:\perl\lib/unicore/lib/Scx/Tfng.pl type=file
+c:\perl\lib/unicore/lib/Scx/Tglg.pl type=file
+c:\perl\lib/unicore/lib/Scx/Thaa.pl type=file
+c:\perl\lib/unicore/lib/Scx/Thai.pl type=file
+c:\perl\lib/unicore/lib/Scx/Tibt.pl type=file
+c:\perl\lib/unicore/lib/Scx/Ugar.pl type=file
+c:\perl\lib/unicore/lib/Scx/Vai.pl type=file
+c:\perl\lib/unicore/lib/Scx/Xpeo.pl type=file
+c:\perl\lib/unicore/lib/Scx/Xsux.pl type=file
+c:\perl\lib/unicore/lib/Scx/Yi.pl type=file
+c:\perl\lib/unicore/lib/Scx/Zinh.pl type=file
+c:\perl\lib/unicore/lib/Scx/Zyyy.pl type=file
+c:\perl\lib/unicore/lib/Scx/Zzzz.pl type=file
+c:\perl\lib/unicore/lib/Space/Y.pl type=file
+c:\perl\lib/unicore/lib/Term/Y.pl type=file
+c:\perl\lib/unicore/lib/UIdeo/Y.pl type=file
+c:\perl\lib/unicore/lib/Upper/Y.pl type=file
+c:\perl\lib/unicore/lib/VS/Y.pl type=file
+c:\perl\lib/unicore/lib/WB/FO.pl type=file
+c:\perl\lib/unicore/lib/WB/KA.pl type=file
+c:\perl\lib/unicore/lib/WB/LE.pl type=file
+c:\perl\lib/unicore/lib/WB/MB.pl type=file
+c:\perl\lib/unicore/lib/WB/ML.pl type=file
+c:\perl\lib/unicore/lib/WB/MN.pl type=file
+c:\perl\lib/unicore/lib/WB/NL.pl type=file
+c:\perl\lib/unicore/lib/WB/NU.pl type=file
+c:\perl\lib/unicore/lib/WB/XX.pl type=file
+c:\perl\lib/unicore/lib/XIDC/Y.pl type=file
+c:\perl\lib/unicore/lib/XIDS/Y.pl type=file
+c:\perl\lib/unicore/version type=file
+c:\perl\lib/utf8.pm type=file
+c:\perl\lib/utf8_heavy.pl type=file
+c:\perl\lib/vars.pm type=file
+c:\perl\lib/version.pm type=file
+c:\perl\lib/version.pod type=file
+c:\perl\lib/version/Internals.pod type=file
+c:\perl\lib/version/Requirements.pm type=file
+c:\perl\lib/vmsish.pm type=file
+c:\perl\lib/warnings.pm type=file
+c:\perl\lib/warnings/register.pm type=file
diff --git a/Master/tlpkg/tlperl/lib/AnyDBM_File.pm b/Master/tlpkg/tlperl/lib/AnyDBM_File.pm
index d73abab0f9e..4153af2de2d 100644
--- a/Master/tlpkg/tlperl/lib/AnyDBM_File.pm
+++ b/Master/tlpkg/tlperl/lib/AnyDBM_File.pm
@@ -1,7 +1,9 @@
package AnyDBM_File;
+use warnings;
+use strict;
use 5.006_001;
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our @ISA = qw(NDBM_File DB_File GDBM_File SDBM_File ODBM_File) unless @ISA;
my $mod;
@@ -13,7 +15,8 @@ for $mod (@ISA) {
}
die "No DBM package was successfully found or installed";
-#return 0;
+
+__END__
=head1 NAME
@@ -39,7 +42,7 @@ can still do so, but new ones can reorder @ISA:
Having multiple DBM implementations makes it trivial to copy database formats:
- use POSIX; use NDBM_File; use DB_File;
+ use Fcntl; use NDBM_File; use DB_File;
tie %newhash, 'DB_File', $new_filename, O_CREAT|O_RDWR;
tie %oldhash, 'NDBM_File', $old_filename, 1, 0;
%newhash = %oldhash;
diff --git a/Master/tlpkg/tlperl/lib/App/Cpan.pm b/Master/tlpkg/tlperl/lib/App/Cpan.pm
index cfc12908e52..0fce3d3ec15 100644
--- a/Master/tlpkg/tlperl/lib/App/Cpan.pm
+++ b/Master/tlpkg/tlperl/lib/App/Cpan.pm
@@ -19,11 +19,11 @@ App::Cpan - easily interact with CPAN from the command line
# use local::lib
cpan -l module_name [ module_name ... ]
-
+
# with just the dot, install from the distribution in the
# current directory
cpan .
-
+
# without arguments, starts CPAN.pm shell
cpan
@@ -73,7 +73,7 @@ to install a module even if its tests fail. When you use this option,
=item -F
-Turn off CPAN.pm's attempts to lock anything. You should be careful with
+Turn off CPAN.pm's attempts to lock anything. You should be careful with
this since you might end up with multiple scripts trying to muck in the
same directory. This isn't so much of a concern if you're loading a special
config with C<-j>, and that config sets up its own work directories.
@@ -105,7 +105,7 @@ Install the specified modules.
=item -j Config.pm
Load the file that has the CPAN configuration data. This should have the
-same format as the standard F<CPAN/Config.pm> file, which defines
+same format as the standard F<CPAN/Config.pm> file, which defines
C<$CPAN::Config> as an anonymous hash.
=item -J
@@ -188,27 +188,27 @@ use File::Basename;
use Getopt::Std;
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Internal constants
use constant TRUE => 1;
use constant FALSE => 0;
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# The return values
-use constant HEY_IT_WORKED => 0;
+use constant HEY_IT_WORKED => 0;
use constant I_DONT_KNOW_WHAT_HAPPENED => 1; # 0b0000_0001
use constant ITS_NOT_MY_FAULT => 2;
use constant THE_PROGRAMMERS_AN_IDIOT => 4;
use constant A_MODULE_FAILED_TO_INSTALL => 8;
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# set up the order of options that we layer over CPAN::Shell
BEGIN { # most of this should be in methods
use vars qw( @META_OPTIONS $Default %CPAN_METHODS @CPAN_OPTIONS @option_order
%Method_table %Method_table_index );
-
+
@META_OPTIONS = qw( h v g G C A D O l L a r j: J );
$Default = 'default';
@@ -227,7 +227,7 @@ $Default = 'default';
@option_order = ( @META_OPTIONS, @CPAN_OPTIONS );
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# map switches to the subroutines in this script, along with other information.
# use this stuff instead of hard-coded indices and values
sub NO_ARGS () { 0 }
@@ -249,7 +249,7 @@ sub GOOD_EXIT () { 0 }
# options that do their one thing
g => [ \&_download, NO_ARGS, GOOD_EXIT, 'Download the latest distro' ],
G => [ \&_gitify, NO_ARGS, GOOD_EXIT, 'Down and gitify the latest distro' ],
-
+
C => [ \&_show_Changes, ARGS, GOOD_EXIT, 'Showing Changes file' ],
A => [ \&_show_Author, ARGS, GOOD_EXIT, 'Showing Author' ],
D => [ \&_show_Details, ARGS, GOOD_EXIT, 'Showing Details' ],
@@ -278,7 +278,7 @@ sub GOOD_EXIT () { 0 }
);
}
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# finally, do some argument processing
sub _stupid_interface_hack_for_non_rtfmers
@@ -286,17 +286,17 @@ sub _stupid_interface_hack_for_non_rtfmers
no warnings 'uninitialized';
shift @ARGV if( $ARGV[0] eq 'install' and @ARGV > 1 )
}
-
+
sub _process_options
{
my %options;
-
+
# if no arguments, just drop into the shell
if( 0 == @ARGV ) { CPAN::shell(); exit 0 }
else
{
Getopt::Std::getopts(
- join( '', @option_order ), \%options );
+ join( '', @option_order ), \%options );
\%options;
}
}
@@ -304,7 +304,7 @@ sub _process_options
sub _process_setup_options
{
my( $class, $options ) = @_;
-
+
if( $options->{j} )
{
$Method_table{j}[ $Method_table_index{code} ]->( $options->{j} );
@@ -318,7 +318,7 @@ sub _process_setup_options
write_file => 0,
);
}
-
+
if( $options->{F} )
{
$Method_table{F}[ $Method_table_index{code} ]->( $options->{F} );
@@ -328,7 +328,7 @@ sub _process_setup_options
my $option_count = grep { $options->{$_} } @option_order;
no warnings 'uninitialized';
$option_count -= $options->{'f'}; # don't count force
-
+
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# if there are no options, set -i (this line fixes RT ticket 16915)
$options->{i}++ unless $option_count;
@@ -339,7 +339,7 @@ sub _process_setup_options
Just do it.
-The C<run> method returns 0 on success and a postive number on
+The C<run> method returns 0 on success and a postive number on
failure. See the section on EXIT CODES for details on the values.
=cut
@@ -367,10 +367,10 @@ sub run
$class->_process_setup_options( $options );
OPTION: foreach my $option ( @option_order )
- {
+ {
next unless $options->{$option};
- my( $sub, $takes_args, $description ) =
+ my( $sub, $takes_args, $description ) =
map { $Method_table{$option}[ $Method_table_index{$_} ] }
qw( code takes_args );
@@ -382,7 +382,7 @@ sub run
$logger->info( "$description -- ignoring other arguments" )
if( @ARGV && ! $takes_args );
-
+
$return_value = $sub->( \ @ARGV, $options );
last;
@@ -402,33 +402,33 @@ sub DESTROY { 1 }
sub _init_logger
{
my $log4perl_loaded = eval "require Log::Log4perl; 1";
-
+
unless( $log4perl_loaded )
{
$logger = Local::Null::Logger->new;
return $logger;
}
-
+
my $LEVEL = $ENV{CPANSCRIPT_LOGLEVEL} || 'INFO';
-
+
Log::Log4perl::init( \ <<"HERE" );
log4perl.rootLogger=$LEVEL, A1
log4perl.appender.A1=Log::Log4perl::Appender::Screen
log4perl.appender.A1.layout=PatternLayout
log4perl.appender.A1.layout.ConversionPattern=%m%n
HERE
-
+
$logger = Log::Log4perl->get_logger( 'App::Cpan' );
}
-
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
- # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
sub _default
{
my( $args, $options ) = @_;
-
+
my $switch = '';
# choose the option that we're going to use
@@ -458,12 +458,12 @@ sub _default
if( $options->{f} ) { sub { CPAN::Shell->force( $method, @_ ) } }
else { sub { CPAN::Shell->$method( @_ ) } }
};
-
+
# How do I handle exit codes for multiple arguments?
my $errors = 0;
-
- foreach my $arg ( @$args )
- {
+
+ foreach my $arg ( @$args )
+ {
_clear_cpanpm_output();
$action->( $arg );
@@ -473,7 +473,7 @@ sub _default
$errors ? I_DONT_KNOW_WHAT_HAPPENED : HEY_IT_WORKED;
}
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
=for comment
@@ -488,7 +488,7 @@ my $scalar = '';
sub _hook_into_CPANpm_report
{
no warnings 'redefine';
-
+
*CPAN::Shell::myprint = sub {
my($self,$what) = @_;
$scalar .= $what if defined $what;
@@ -500,15 +500,15 @@ sub _hook_into_CPANpm_report
*CPAN::Shell::mywarn = sub {
my($self,$what) = @_;
$scalar .= $what if defined $what;
- $self->print_ornamented($what,
+ $self->print_ornamented($what,
$CPAN::Config->{colorize_warn}||'bold red on_white'
);
};
}
-
+
sub _clear_cpanpm_output { $scalar = '' }
-
+
sub _get_cpanpm_output { $scalar }
BEGIN {
@@ -522,9 +522,9 @@ my @skip_lines = (
sub _get_cpanpm_last_line
{
open my($fh), "<", \ $scalar;
-
+
my @lines = <$fh>;
-
+
# This is a bit ugly. Once we examine a line, we have to
# examine the line before it and go through all of the same
# regexes. I could do something fancy, but this works.
@@ -538,9 +538,9 @@ sub _get_cpanpm_last_line
}
}
}
-
+
$logger->debug( "Last interesting line of CPAN.pm output is:\n\t$lines[-1]" );
-
+
$lines[-1];
}
}
@@ -548,28 +548,28 @@ sub _get_cpanpm_last_line
BEGIN {
my $epic_fail_words = join '|',
qw( Error stop(?:ping)? problems force not unsupported fail(?:ed)? );
-
+
sub _cpanpm_output_indicates_failure
{
my $last_line = _get_cpanpm_last_line();
-
+
my $result = $last_line =~ /\b(?:$epic_fail_words)\b/i;
$result || ();
}
}
-
+
sub _cpanpm_output_indicates_success
{
my $last_line = _get_cpanpm_last_line();
-
+
my $result = $last_line =~ /\b(?:\s+-- OK|PASS)\b/;
$result || ();
}
-
+
sub _cpanpm_output_is_vague
{
- return FALSE if
- _cpanpm_output_indicates_failure() ||
+ return FALSE if
+ _cpanpm_output_indicates_failure() ||
_cpanpm_output_indicates_success();
return TRUE;
@@ -577,24 +577,24 @@ sub _cpanpm_output_is_vague
}
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
sub _print_help
{
$logger->info( "Use perldoc to read the documentation" );
exec "perldoc $0";
}
-
+
sub _print_version
{
- $logger->info(
+ $logger->info(
"$0 script version $VERSION, CPAN.pm version " . CPAN->VERSION );
return HEY_IT_WORKED;
}
-
+
sub _create_autobundle
{
- $logger->info(
+ $logger->info(
"Creating autobundle in $CPAN::Config->{cpan_home}/Bundle" );
CPAN::Shell->autobundle;
@@ -621,24 +621,24 @@ sub _upgrade
}
sub _load_config # -j
- {
+ {
my $file = shift || '';
-
+
# should I clear out any existing config here?
$CPAN::Config = {};
delete $INC{'CPAN/Config.pm'};
croak( "Config file [$file] does not exist!\n" ) unless -e $file;
-
+
my $rc = eval "require '$file'";
# CPAN::HandleConfig::require_myconfig_or_config looks for this
$INC{'CPAN/MyConfig.pm'} = 'fake out!';
-
+
# CPAN::HandleConfig::load looks for this
$CPAN::Config_loaded = 'fake out';
-
+
croak( "Could not load [$file]: $@\n") unless $rc;
-
+
return HEY_IT_WORKED;
}
@@ -646,60 +646,60 @@ sub _dump_config
{
my $args = shift;
require Data::Dumper;
-
+
my $fh = $args->[0] || \*STDOUT;
-
- my $dd = Data::Dumper->new(
- [$CPAN::Config],
- ['$CPAN::Config']
+
+ my $dd = Data::Dumper->new(
+ [$CPAN::Config],
+ ['$CPAN::Config']
);
-
+
print $fh $dd->Dump, "\n1;\n__END__\n";
-
+
return HEY_IT_WORKED;
}
sub _lock_lobotomy
{
no warnings 'redefine';
-
+
*CPAN::_flock = sub { 1 };
*CPAN::checklock = sub { 1 };
return HEY_IT_WORKED;
}
-
+
sub _download
- {
+ {
my $args = shift;
-
+
local $CPAN::DEBUG = 1;
-
+
my %paths;
-
+
foreach my $module ( @$args )
{
$logger->info( "Checking $module" );
my $path = CPAN::Shell->expand( "Module", $module )->cpan_file;
-
+
$logger->debug( "Inst file would be $path\n" );
-
+
$paths{$module} = _get_file( _make_path( $path ) );
}
-
+
return \%paths;
}
sub _make_path { join "/", qw(authors id), $_[0] }
-
+
sub _get_file
{
my $path = shift;
-
+
my $loaded = eval "require LWP::Simple; 1;";
croak "You need LWP::Simple to use features that fetch files from CPAN\n"
unless $loaded;
-
+
my $file = substr $path, rindex( $path, '/' ) + 1;
my $store_path = catfile( cwd(), $file );
$logger->debug( "Store path is $store_path" );
@@ -717,13 +717,13 @@ sub _get_file
sub _gitify
{
my $args = shift;
-
+
my $loaded = eval "require Archive::Extract; 1;";
croak "You need Archive::Extract to use features that gitify distributions\n"
unless $loaded;
-
+
my $starting_dir = cwd();
-
+
foreach my $module ( @$args )
{
$logger->info( "Checking $module" );
@@ -731,23 +731,23 @@ sub _gitify
my $store_paths = _download( [ $module ] );
$logger->debug( "gitify Store path is $store_paths->{$module}" );
- my $dirname = dirname( $store_paths->{$module} );
-
+ my $dirname = dirname( $store_paths->{$module} );
+
my $ae = Archive::Extract->new( archive => $store_paths->{$module} );
$ae->extract( to => $dirname );
-
+
chdir $ae->extract_path;
-
+
my $git = $ENV{GIT_COMMAND} || '/usr/local/bin/git';
croak "Could not find $git" unless -e $git;
croak "$git is not executable" unless -x $git;
-
+
# can we do this in Pure Perl?
system( $git, 'init' );
system( $git, qw( add . ) );
system( $git, qw( commit -a -m ), 'initial import' );
}
-
+
chdir $starting_dir;
return HEY_IT_WORKED;
@@ -756,42 +756,42 @@ sub _gitify
sub _show_Changes
{
my $args = shift;
-
+
foreach my $arg ( @$args )
{
$logger->info( "Checking $arg\n" );
-
+
my $module = eval { CPAN::Shell->expand( "Module", $arg ) };
my $out = _get_cpanpm_output();
-
+
next unless eval { $module->inst_file };
#next if $module->uptodate;
-
+
( my $id = $module->id() ) =~ s/::/\-/;
-
+
my $url = "http://search.cpan.org/~" . lc( $module->userid ) . "/" .
$id . "-" . $module->cpan_version() . "/";
-
+
#print "URL: $url\n";
_get_changes_file($url);
}
return HEY_IT_WORKED;
- }
-
+ }
+
sub _get_changes_file
{
croak "Reading Changes files requires LWP::Simple and URI\n"
unless eval "require LWP::Simple; require URI; 1";
-
+
my $url = shift;
my $content = LWP::Simple::get( $url );
$logger->info( "Got $url ..." ) if defined $content;
#print $content;
-
+
my( $change_link ) = $content =~ m|<a href="(.*?)">Changes</a>|gi;
-
+
my $changes_url = URI->new_abs( $change_link, $url );
$logger->debug( "Change link is: $changes_url" );
@@ -801,11 +801,11 @@ sub _get_changes_file
return HEY_IT_WORKED;
}
-
+
sub _show_Author
- {
+ {
my $args = shift;
-
+
foreach my $arg ( @$args )
{
my $module = CPAN::Shell->expand( "Module", $arg );
@@ -814,29 +814,29 @@ sub _show_Author
$logger->info( "Didn't find a $arg module, so no author!" );
next;
}
-
+
my $author = CPAN::Shell->expand( "Author", $module->userid );
-
+
next unless $module->userid;
-
- printf "%-25s %-8s %-25s %s\n",
+
+ printf "%-25s %-8s %-25s %s\n",
$arg, $module->userid, $author->email, $author->fullname;
}
return HEY_IT_WORKED;
- }
+ }
sub _show_Details
{
my $args = shift;
-
+
foreach my $arg ( @$args )
{
my $module = CPAN::Shell->expand( "Module", $arg );
my $author = CPAN::Shell->expand( "Author", $module->userid );
-
+
next unless $module->userid;
-
+
print "$arg\n", "-" x 73, "\n\t";
print join "\n\t",
$module->description ? $module->description : "(no description)",
@@ -848,26 +848,26 @@ sub _show_Details
$author->fullname . " (" . $module->userid . ")",
$author->email;
print "\n\n";
-
+
}
-
+
return HEY_IT_WORKED;
- }
+ }
sub _show_out_of_date
{
my @modules = CPAN::Shell->expand( "Module", "/./" );
-
+
printf "%-40s %6s %6s\n", "Module Name", "Local", "CPAN";
print "-" x 73, "\n";
-
+
foreach my $module ( @modules )
{
next unless $module->inst_file;
next if $module->uptodate;
printf "%-40s %.4f %.4f\n",
- $module->id,
- $module->inst_version ? $module->inst_version : '',
+ $module->id,
+ $module->inst_version ? $module->inst_version : '',
$module->cpan_version;
}
@@ -879,71 +879,71 @@ sub _show_author_mods
my $args = shift;
my %hash = map { lc $_, 1 } @$args;
-
+
my @modules = CPAN::Shell->expand( "Module", "/./" );
-
+
foreach my $module ( @modules )
{
next unless exists $hash{ lc $module->userid };
print $module->id, "\n";
}
-
+
return HEY_IT_WORKED;
}
-
+
sub _list_all_mods
{
require File::Find;
-
+
my $args = shift;
-
-
+
+
my $fh = \*STDOUT;
-
+
INC: foreach my $inc ( @INC )
- {
+ {
my( $wanted, $reporter ) = _generator();
File::Find::find( { wanted => $wanted }, $inc );
-
+
my $count = 0;
FILE: foreach my $file ( @{ $reporter->() } )
{
my $version = _parse_version_safely( $file );
-
+
my $module_name = _path_to_module( $inc, $file );
next FILE unless defined $module_name;
-
+
print $fh "$module_name\t$version\n";
-
+
#last if $count++ > 5;
}
}
return HEY_IT_WORKED;
}
-
+
sub _generator
- {
+ {
my @files = ();
-
- sub { push @files,
- File::Spec->canonpath( $File::Find::name )
+
+ sub { push @files,
+ File::Spec->canonpath( $File::Find::name )
if m/\A\w+\.pm\z/ },
sub { \@files },
}
-
+
sub _parse_version_safely # stolen from PAUSE's mldistwatch, but refactored
{
my( $file ) = @_;
-
+
local $/ = "\n";
local $_; # don't mess with the $_ in the map calling this
-
+
return unless open FILE, "<$file";
my $in_pod = 0;
my $version;
- while( <FILE> )
+ while( <FILE> )
{
chomp;
$in_pod = /^=(?!cut)/ ? 1 : /^=cut/ ? 0 : $in_pod;
@@ -951,22 +951,22 @@ sub _parse_version_safely # stolen from PAUSE's mldistwatch, but refactored
next unless /([\$*])(([\w\:\']*)\bVERSION)\b.*\=/;
my( $sigil, $var ) = ( $1, $2 );
-
+
$version = _eval_version( $_, $sigil, $var );
last;
}
close FILE;
return 'undef' unless defined $version;
-
+
return $version;
}
sub _eval_version
{
my( $line, $sigil, $var ) = @_;
-
- my $eval = qq{
+
+ my $eval = qq{
package ExtUtils::MakeMaker::_version;
local $sigil$var;
@@ -974,7 +974,7 @@ sub _eval_version
$line
}; \$$var
};
-
+
my $version = do {
local $^W = 0;
no strict;
@@ -988,16 +988,16 @@ sub _path_to_module
{
my( $inc, $path ) = @_;
return if length $path< length $inc;
-
+
my $module_path = substr( $path, length $inc );
$module_path =~ s/\.pm\z//;
-
+
# XXX: this is cheating and doesn't handle everything right
my @dirs = grep { ! /\W/ } File::Spec->splitdir( $module_path );
shift @dirs;
-
+
my $module_name = join "::", @dirs;
-
+
return $module_name;
}
@@ -1007,7 +1007,7 @@ sub _path_to_module
=head1 EXIT VALUES
-The script exits with zero if it thinks that everything worked, or a
+The script exits with zero if it thinks that everything worked, or a
positive number if it thinks that something failed. Note, however, that
in some cases it has to divine a failure by the output of things it does
not control. For now, the exit codes are vague:
diff --git a/Master/tlpkg/tlperl/lib/Archive/Extract.pm b/Master/tlpkg/tlperl/lib/Archive/Extract.pm
index a6fa3fb195c..4a0727f6eeb 100644
--- a/Master/tlpkg/tlperl/lib/Archive/Extract.pm
+++ b/Master/tlpkg/tlperl/lib/Archive/Extract.pm
@@ -16,6 +16,7 @@ use Locale::Maketext::Simple Style => 'gettext';
### solaris has silly /bin/tar output ###
use constant ON_SOLARIS => $^O eq 'solaris' ? 1 : 0;
use constant ON_NETBSD => $^O eq 'netbsd' ? 1 : 0;
+use constant ON_FREEBSD => $^O eq 'freebsd' ? 1 : 0;
use constant FILE_EXISTS => sub { -e $_[0] ? 1 : 0 };
### VMS may require quoting upper case command options
@@ -26,7 +27,7 @@ use constant ON_WIN32 => $^O eq 'MSWin32' ? 1 : 0;
### we can't use this extraction method, because of missing
### modules/binaries:
-use constant METHOD_NA => [];
+use constant METHOD_NA => [];
### If these are changed, update @TYPES and the new() POD
use constant TGZ => 'tgz';
@@ -40,11 +41,11 @@ use constant LZMA => 'lzma';
use constant XZ => 'xz';
use constant TXZ => 'txz';
-use vars qw[$VERSION $PREFER_BIN $PROGRAMS $WARN $DEBUG
+use vars qw[$VERSION $PREFER_BIN $PROGRAMS $WARN $DEBUG
$_ALLOW_BIN $_ALLOW_PURE_PERL $_ALLOW_TAR_ITER
];
-$VERSION = '0.48';
+$VERSION = '0.58';
$PREFER_BIN = 0;
$WARN = 1;
$DEBUG = 0;
@@ -53,7 +54,7 @@ $_ALLOW_BIN = 1; # allow binary extractors
$_ALLOW_TAR_ITER = 1; # try to use Archive::Tar->iter if available
# same as all constants
-my @Types = ( TGZ, TAR, GZ, ZIP, BZ2, TBZ, Z, LZMA, XZ, TXZ );
+my @Types = ( TGZ, TAR, GZ, ZIP, BZ2, TBZ, Z, LZMA, XZ, TXZ );
local $Params::Check::VERBOSE = $Params::Check::VERBOSE = 1;
@@ -113,9 +114,9 @@ Archive::Extract - A generic archive extracting mechanism
Archive::Extract is a generic archive extraction mechanism.
It allows you to extract any archive file of the type .tar, .tar.gz,
-.gz, .Z, tar.bz2, .tbz, .bz2, .zip, .xz,, .txz, .tar.xz or .lzma
-without having to worry how it
-does so, or use different interfaces for each type by using either
+.gz, .Z, tar.bz2, .tbz, .bz2, .zip, .xz,, .txz, .tar.xz or .lzma
+without having to worry how it
+does so, or use different interfaces for each type by using either
perl modules, or commandline tools on your system.
See the C<HOW IT WORKS> section further down for details.
@@ -126,10 +127,10 @@ See the C<HOW IT WORKS> section further down for details.
### see what /bin/programs are available ###
$PROGRAMS = {};
for my $pgm (qw[tar unzip gzip bunzip2 uncompress unlzma unxz]) {
- if ( $pgm eq 'unzip' and ON_NETBSD ) {
+ if ( $pgm eq 'unzip' and ( ON_NETBSD or ON_FREEBSD ) ) {
local $IPC::Cmd::INSTANCES = 1;
my @possibles = can_run($pgm);
- ($PROGRAMS->{$pgm}) = grep { m!/usr/pkg/! } can_run($pgm);
+ ($PROGRAMS->{$pgm}) = grep { ON_NETBSD ? m!/usr/pkg/! : m!/usr/local! } can_run($pgm);
next;
}
$PROGRAMS->{$pgm} = can_run($pgm);
@@ -160,7 +161,7 @@ my $Mapping = { # binary program # pure perl module
};
### build accessors ###
- for my $method( keys %$tmpl,
+ for my $method( keys %$tmpl,
qw[_extractor _gunzip_to files extract_path],
) {
no strict 'refs';
@@ -244,7 +245,7 @@ Returns a C<Archive::Extract> object on success, or false on failure.
sub new {
my $class = shift;
my %hash = @_;
-
+
### see above why we use subs here and generate the template;
### it's basically to not re-use arrayrefs
my %utmpl = map { $_ => $tmpl->{$_}->() } keys %$tmpl;
@@ -257,23 +258,23 @@ Returns a C<Archive::Extract> object on success, or false on failure.
### figure out the type, if it wasn't already specified ###
unless ( $parsed->{type} ) {
$parsed->{type} =
- $ar =~ /.+?\.(?:tar\.gz|tgz)$/i ? TGZ :
- $ar =~ /.+?\.gz$/i ? GZ :
- $ar =~ /.+?\.tar$/i ? TAR :
- $ar =~ /.+?\.(zip|jar|par)$/i ? ZIP :
- $ar =~ /.+?\.(?:tbz2?|tar\.bz2?)$/i ? TBZ :
- $ar =~ /.+?\.bz2$/i ? BZ2 :
- $ar =~ /.+?\.Z$/ ? Z :
- $ar =~ /.+?\.lzma$/ ? LZMA :
- $ar =~ /.+?\.(?:txz|tar\.xz)$/i ? TXZ :
- $ar =~ /.+?\.xz$/ ? XZ :
+ $ar =~ /.+?\.(?:tar\.gz|tgz)$/i ? TGZ :
+ $ar =~ /.+?\.gz$/i ? GZ :
+ $ar =~ /.+?\.tar$/i ? TAR :
+ $ar =~ /.+?\.(zip|jar|ear|war|par)$/i ? ZIP :
+ $ar =~ /.+?\.(?:tbz2?|tar\.bz2?)$/i ? TBZ :
+ $ar =~ /.+?\.bz2$/i ? BZ2 :
+ $ar =~ /.+?\.Z$/ ? Z :
+ $ar =~ /.+?\.lzma$/ ? LZMA :
+ $ar =~ /.+?\.(?:txz|tar\.xz)$/i ? TXZ :
+ $ar =~ /.+?\.xz$/ ? XZ :
'';
}
bless $parsed, $class;
- ### don't know what type of file it is
+ ### don't know what type of file it is
### XXX this *has* to be an object call, not a package call
return $parsed->_error(loc("Cannot determine file type for '%1'",
$parsed->{archive} )) unless $parsed->{type};
@@ -287,11 +288,11 @@ Extracts the archive represented by the C<Archive::Extract> object to
the path of your choice as specified by the C<to> argument. Defaults to
C<cwd()>.
-Since C<.gz> files never hold a directory, but only a single file; if
-the C<to> argument is an existing directory, the file is extracted
-there, with its C<.gz> suffix stripped.
-If the C<to> argument is not an existing directory, the C<to> argument
-is understood to be a filename, if the archive type is C<gz>.
+Since C<.gz> files never hold a directory, but only a single file; if
+the C<to> argument is an existing directory, the file is extracted
+there, with its C<.gz> suffix stripped.
+If the C<to> argument is not an existing directory, the C<to> argument
+is understood to be a filename, if the archive type is C<gz>.
In the case that you did not specify a C<to> argument, the output
file will be the name of the archive file, stripped from its C<.gz>
suffix, in the current working directory.
@@ -340,7 +341,7 @@ sub extract {
check( $tmpl, \%hash ) or return;
- ### so 'to' could be a file or a dir, depending on whether it's a .gz
+ ### so 'to' could be a file or a dir, depending on whether it's a .gz
### file, or basically anything else.
### so, check that, then act accordingly.
### set an accessor specifically so _gunzip can know what file to extract
@@ -348,12 +349,12 @@ sub extract {
my $dir;
{ ### a foo.gz file
if( $self->is_gz or $self->is_bz2 or $self->is_Z or $self->is_lzma or $self->is_xz ) {
-
+
my $cp = $self->archive; $cp =~ s/\.(?:gz|bz2?|Z|lzma|xz)$//i;
-
+
### to is a dir?
if ( -d $to ) {
- $dir = $to;
+ $dir = $to;
$self->_gunzip_to( basename($cp) );
### then it's a filename
@@ -394,7 +395,7 @@ sub extract {
### ../lib/Archive/Extract.pm line 742. (rt #19815)
$self->files( [] );
- ### find out the dispatch methods needed for this type of
+ ### find out the dispatch methods needed for this type of
### archive. Do a $self->is_XXX to figure out the type, then
### get the hashref with bin + pure perl dispatchers.
my ($map) = map { $Mapping->{$_} } grep { $self->$_ } keys %$Mapping;
@@ -403,30 +404,30 @@ sub extract {
my @methods;
push @methods, $map->{'pp'} if $_ALLOW_PURE_PERL;
push @methods, $map->{'bin'} if $_ALLOW_BIN;
-
+
### reverse it if we prefer bin extractors
@methods = reverse @methods if $PREFER_BIN;
my($na, $fail);
for my $method (@methods) {
$self->debug( "# Extracting with ->$method\n" );
-
+
my $rv = $self->$method;
-
+
### a positive extraction
if( $rv and $rv ne METHOD_NA ) {
$self->debug( "# Extraction succeeded\n" );
$self->_extractor($method);
last;
-
+
### method is not available
- } elsif ( $rv and $rv eq METHOD_NA ) {
+ } elsif ( $rv and $rv eq METHOD_NA ) {
$self->debug( "# Extraction method not available\n" );
- $na++;
+ $na++;
} else {
$self->debug( "# Extraction method failed\n" );
$fail++;
- }
+ }
}
### warn something went wrong if we didn't get an extractor
@@ -434,10 +435,10 @@ sub extract {
my $diag = $fail ? loc("Extract failed due to errors") :
$na ? loc("Extract failed; no extractors available") :
'';
-
+
$self->_error($diag);
$ok = 0;
- }
+ }
}
### and chdir back ###
@@ -566,7 +567,7 @@ sub bin_gzip { return $PROGRAMS->{'gzip'} if $PROGRAMS->{'gzip'} }
sub bin_unzip { return $PROGRAMS->{'unzip'} if $PROGRAMS->{'unzip'} }
sub bin_tar { return $PROGRAMS->{'tar'} if $PROGRAMS->{'tar'} }
sub bin_bunzip2 { return $PROGRAMS->{'bunzip2'} if $PROGRAMS->{'bunzip2'} }
-sub bin_uncompress { return $PROGRAMS->{'uncompress'}
+sub bin_uncompress { return $PROGRAMS->{'uncompress'}
if $PROGRAMS->{'uncompress'} }
sub bin_unlzma { return $PROGRAMS->{'unlzma'} if $PROGRAMS->{'unlzma'} }
sub bin_unxz { return $PROGRAMS->{'unxz'} if $PROGRAMS->{'unxz'} }
@@ -586,7 +587,7 @@ sub have_old_bunzip2 {
### no bunzip2? no old bunzip2 either :)
return unless $self->bin_bunzip2;
- ### if we can't run this, we can't be sure if it's too old or not
+ ### if we can't run this, we can't be sure if it's too old or not
### XXX stupid stupid stupid bunzip2 doesn't understand --version
### is not a request to extract data:
### $ bunzip2 --version
@@ -597,7 +598,7 @@ sub have_old_bunzip2 {
### $ echo $?
### 1
### HATEFUL!
-
+
### double hateful: bunzip2 --version also hangs if input is a pipe
### See #32370: Archive::Extract will hang if stdin is a pipe [+PATCH]
### So, we have to provide *another* argument which is a fake filename,
@@ -605,7 +606,7 @@ sub have_old_bunzip2 {
### *sigh*
### Even if the file exists, it won't clobber or change it.
my $buffer;
- scalar run(
+ scalar run(
command => [$self->bin_bunzip2, '--version', 'NoSuchFile'],
verbose => 0,
buffer => \$buffer
@@ -613,7 +614,7 @@ sub have_old_bunzip2 {
### no output
return unless $buffer;
-
+
my ($version) = $buffer =~ /version \s+ (\d+)/ix;
return 1 if $version < 1;
@@ -636,73 +637,77 @@ sub have_old_bunzip2 {
### if this is gnu tar we are running, we need to use --force-local
push @ExtraTarFlags, '--force-local' if `$cmd --version` =~ /gnu tar/i;
- }
+ }
### use /bin/tar to extract ###
sub _untar_bin {
my $self = shift;
-
+
### check for /bin/tar ###
### check for /bin/gzip if we need it ###
### if any of the binaries are not available, return NA
- { my $diag = not $self->bin_tar ?
+ { my $diag = not $self->bin_tar ?
loc("No '%1' program found", '/bin/tar') :
- $self->is_tgz && !$self->bin_gzip ?
+ $self->is_tgz && !$self->bin_gzip ?
loc("No '%1' program found", '/bin/gzip') :
$self->is_tbz && !$self->bin_bunzip2 ?
loc("No '%1' program found", '/bin/bunzip2') :
$self->is_txz && !$self->bin_unxz ?
loc("No '%1' program found", '/bin/unxz') :
'';
-
+
if( $diag ) {
$self->_error( $diag );
return METHOD_NA;
}
- }
-
+ }
+
### XXX figure out how to make IPC::Run do this in one call --
### currently i don't know how to get output of a command after a pipe
### trapped in a scalar. Mailed barries about this 5th of june 2004.
-
+
### see what command we should run, based on whether
### it's a .tgz or .tar
-
+
+ ### GNU tar can't handled VMS filespecs, but VMSTAR can handle Unix filespecs.
+ my $archive = $self->archive;
+ $archive = VMS::Filespec::unixify($archive) if ON_VMS;
+
### XXX solaris tar and bsdtar are having different outputs
### depending whether you run with -x or -t
### compensate for this insanity by running -t first, then -x
- { my $cmd =
- $self->is_tgz ? [$self->bin_gzip, '-cdf', $self->archive, '|',
+ { my $cmd =
+ $self->is_tgz ? [$self->bin_gzip, '-cdf', $archive, '|',
$self->bin_tar, '-tf', '-'] :
- $self->is_tbz ? [$self->bin_bunzip2, '-cd', $self->archive, '|',
+ $self->is_tbz ? [$self->bin_bunzip2, '-cd', $archive, '|',
$self->bin_tar, '-tf', '-'] :
- $self->is_txz ? [$self->bin_unxz, '-cd', $self->archive, '|',
+ $self->is_txz ? [$self->bin_unxz, '-cd', $archive, '|',
$self->bin_tar, '-tf', '-'] :
- [$self->bin_tar, @ExtraTarFlags, '-tf', $self->archive];
-
- ### run the command
+ [$self->bin_tar, @ExtraTarFlags, '-tf', $archive];
+
+ ### run the command
### newer versions of 'tar' (1.21 and up) now print record size
- ### to STDERR as well if v OR t is given (used to be both). This
+ ### to STDERR as well if v OR t is given (used to be both). This
### is a 'feature' according to the changelog, so we must now only
### inspect STDOUT, otherwise, failures like these occur:
- ### nntp.perl.org/group/perl.cpan.testers/2009/02/msg3230366.html
+ ### http://www.cpantesters.org/cpan/report/3230366
my $buffer = '';
my @out = run( command => $cmd,
buffer => \$buffer,
verbose => $DEBUG );
- ### command was unsuccessful
- unless( $out[0] ) {
+ ### command was unsuccessful
+ unless( $out[0] ) {
return $self->_error(loc(
"Error listing contents of archive '%1': %2",
- $self->archive, $buffer ));
+ $archive, $buffer ));
}
-
+
### no buffers available?
if( !IPC::Cmd->can_capture_buffer and !$buffer ) {
- $self->_error( $self->_no_buffer_files( $self->archive ) );
-
+ $self->_error( $self->_no_buffer_files( $archive ) );
+
} else {
### if we're on solaris we /might/ be using /bin/tar, which has
### a weird output format... we might also be using
@@ -715,46 +720,46 @@ sub have_old_bunzip2 {
\s+ [\d,.]+ \s bytes,
\s+ [\d,.]+ \s tape \s blocks
|x ? $1 : $_);
-
+
### only STDOUT, see above. Sometimes, extra whitespace
### is present, so make sure we only pick lines with
### a length
- } grep { length } map { split $/, $_ } @{$out[3]};
-
+ } grep { length } map { split $/, $_ } join '', @{$out[3]};
+
### store the files that are in the archive ###
$self->files(\@files);
}
}
-
+
### now actually extract it ###
- { my $cmd =
- $self->is_tgz ? [$self->bin_gzip, '-cdf', $self->archive, '|',
+ { my $cmd =
+ $self->is_tgz ? [$self->bin_gzip, '-cdf', $archive, '|',
$self->bin_tar, '-xf', '-'] :
- $self->is_tbz ? [$self->bin_bunzip2, '-cd', $self->archive, '|',
+ $self->is_tbz ? [$self->bin_bunzip2, '-cd', $archive, '|',
$self->bin_tar, '-xf', '-'] :
- $self->is_txz ? [$self->bin_unxz, '-cd', $self->archive, '|',
+ $self->is_txz ? [$self->bin_unxz, '-cd', $archive, '|',
$self->bin_tar, '-xf', '-'] :
- [$self->bin_tar, @ExtraTarFlags, '-xf', $self->archive];
-
+ [$self->bin_tar, @ExtraTarFlags, '-xf', $archive];
+
my $buffer = '';
unless( scalar run( command => $cmd,
buffer => \$buffer,
verbose => $DEBUG )
) {
return $self->_error(loc("Error extracting archive '%1': %2",
- $self->archive, $buffer ));
+ $archive, $buffer ));
}
-
+
### we might not have them, due to lack of buffers
if( $self->files ) {
### now that we've extracted, figure out where we extracted to
my $dir = $self->__get_extract_dir( $self->files );
-
+
### store the extraction dir ###
$self->extract_path( $dir );
}
}
-
+
### we got here, no error happened
return 1;
}
@@ -773,7 +778,7 @@ sub _untar_at {
### so users don't have to even think about this variable. If they
### do, they still get their set value outside of this call.
local $Archive::Tar::WARN = $Archive::Tar::WARN;
-
+
### we definitely need Archive::Tar, so load that first
{ my $use_list = { 'Archive::Tar' => '0.0' };
@@ -782,7 +787,7 @@ sub _untar_at {
$self->_error(loc("You do not have '%1' installed - " .
"Please install it as soon as possible.",
'Archive::Tar'));
-
+
return METHOD_NA;
}
}
@@ -804,7 +809,7 @@ sub _untar_at {
"You do not have '%1' installed - Please ".
"install it as soon as possible.", $which)
);
-
+
return METHOD_NA;
}
@@ -813,10 +818,10 @@ sub _untar_at {
unless( can_load( modules => $use_list ) ) {
$self->_error(loc(
"You do not have '%1' installed - Please " .
- "install it as soon as possible.",
+ "install it as soon as possible.",
'IO::Uncompress::Bunzip2')
);
-
+
return METHOD_NA;
}
@@ -831,10 +836,10 @@ sub _untar_at {
unless( can_load( modules => $use_list ) ) {
$self->_error(loc(
"You do not have '%1' installed - Please " .
- "install it as soon as possible.",
+ "install it as soon as possible.",
'IO::Uncompress::UnXz')
);
-
+
return METHOD_NA;
}
@@ -865,26 +870,26 @@ sub _untar_at {
my $next;
unless ( $next = Archive::Tar->iter( @read ) ) {
return $self->_error(loc(
- "Unable to read '%1': %2", $self->archive,
+ "Unable to read '%1': %2", $self->archive,
$Archive::Tar::error));
}
while ( my $file = $next->() ) {
push @files, $file->full_path;
-
+
$file->extract or return $self->_error(loc(
- "Unable to read '%1': %2",
+ "Unable to read '%1': %2",
$self->archive,
$Archive::Tar::error));
}
-
- ### older version, read the archive into memory
+
+ ### older version, read the archive into memory
} else {
my $tar = Archive::Tar->new();
unless( $tar->read( @read ) ) {
- return $self->_error(loc("Unable to read '%1': %2",
+ return $self->_error(loc("Unable to read '%1': %2",
$self->archive, $Archive::Tar::error));
}
@@ -900,7 +905,7 @@ sub _untar_at {
{ local $^W; # quell 'splice() offset past end of array' warnings
# on older versions of A::T
- ### older archive::tar always returns $self, return value
+ ### older archive::tar always returns $self, return value
### slightly fux0r3d because of it.
$tar->extract or return $self->_error(loc(
"Unable to extract '%1': %2",
@@ -1063,7 +1068,7 @@ sub _unzip_bin {
unless( $self->bin_unzip ) {
$self->_error(loc("No '%1' program found", '/bin/unzip'));
return METHOD_NA;
- }
+ }
### first, get the files.. it must be 2 different commands with 'unzip' :(
{ ### on VMS, capital letter options have to be quoted. This is
@@ -1071,7 +1076,7 @@ sub _unzip_bin {
### Subject: [patch@31735]Archive Extract fix on VMS.
my $opt = ON_VMS ? '"-Z"' : '-Z';
my $cmd = [ $self->bin_unzip, $opt, '-1', $self->archive ];
-
+
my $buffer = '';
unless( scalar run( command => $cmd,
verbose => $DEBUG,
@@ -1086,6 +1091,10 @@ sub _unzip_bin {
$self->_error( $self->_no_buffer_files( $self->archive ) );
} else {
+ ### Annoyingly, pesky MSWin32 can either have 'native' tools
+ ### which have \r\n line endings or Cygwin-based tools which
+ ### have \n line endings. Jan Dubois suggested using this fix
+ local $/ = ON_WIN32 ? qr/\r?\n/ : "\n";
$self->files( [split $/, $buffer] );
}
}
@@ -1120,7 +1129,7 @@ sub _unzip_az {
unless( can_load( modules => $use_list ) ) {
$self->_error(loc("You do not have '%1' installed - Please " .
"install it as soon as possible.", 'Archive::Zip'));
- return METHOD_NA;
+ return METHOD_NA;
}
my $zip = Archive::Zip->new();
@@ -1130,8 +1139,8 @@ sub _unzip_az {
}
my @files;
-
-
+
+
### Address: #43278: Explicitly tell Archive::Zip where to put the files:
### "In my BackPAN indexing, Archive::Zip was extracting things
### in my script's directory instead of the current working directory.
@@ -1139,21 +1148,21 @@ sub _unzip_az {
### eventually calls File::Spec::Win32::rel2abs which on Windows might
### call Cwd::getdcwd. getdcwd returns the wrong directory in my
### case, even though I think I'm on the same drive.
- ###
+ ###
### To fix this, I pass the optional second argument to
### extractMember using the cwd from Archive::Extract." --bdfoy
## store cwd() before looping; calls to cwd() can be expensive, and
### it won't change during the loop
my $extract_dir = cwd();
-
+
### have to extract every member individually ###
for my $member ($zip->members) {
push @files, $member->{fileName};
### file to extract to, to avoid the above problem
my $to = File::Spec->catfile( $extract_dir, $member->{fileName} );
-
+
unless( $zip->extractMember($member, $to) == &Archive::Zip::AZ_OK ) {
return $self->_error(loc("Extraction of '%1' from '%2' failed",
$member->{fileName}, $self->archive ));
@@ -1185,27 +1194,27 @@ sub __get_extract_dir {
### which was the problem in bug #23999
my $res = -d $files->[$pos]
? File::Spec->catdir( $files->[$pos], '' )
- : File::Spec->catdir( dirname( $files->[$pos] ) );
+ : File::Spec->catdir( dirname( $files->[$pos] ) );
$$dir = $res;
}
- ### if the first and last dir don't match, make sure the
+ ### if the first and last dir don't match, make sure the
### dirname is not set wrongly
my $dir;
-
+
### dirs are the same, so we know for sure what the extract dir is
if( $dir1 eq $dir2 ) {
$dir = $dir1;
-
+
### dirs are different.. do they share the base dir?
### if so, use that, if not, fall back to '.'
} else {
my $base1 = [ File::Spec->splitdir( $dir1 ) ]->[0];
my $base2 = [ File::Spec->splitdir( $dir2 ) ]->[0];
-
- $dir = File::Spec->rel2abs( $base1 eq $base2 ? $base1 : '.' );
- }
+
+ $dir = File::Spec->rel2abs( $base1 eq $base2 ? $base1 : '.' );
+ }
return File::Spec->rel2abs( $dir );
}
@@ -1223,12 +1232,12 @@ sub _bunzip2_bin {
unless( $self->bin_bunzip2 ) {
$self->_error(loc("No '%1' program found", '/bin/bunzip2'));
return METHOD_NA;
- }
+ }
my $fh = FileHandle->new('>'. $self->_gunzip_to) or
return $self->_error(loc("Could not open '%1' for writing: %2",
$self->_gunzip_to, $! ));
-
+
### guard against broken bunzip2. See ->have_old_bunzip2()
### for details
if( $self->have_old_bunzip2 and $self->archive !~ /\.bz2$/i ) {
@@ -1252,7 +1261,7 @@ sub _bunzip2_bin {
if( !IPC::Cmd->can_capture_buffer and !$buffer ) {
$self->_error( $self->_no_buffer_content( $self->archive ) );
}
-
+
$self->_print($fh, $buffer) if defined $buffer;
close $fh;
@@ -1268,31 +1277,31 @@ sub _bunzip2_bin {
### extractor..
# sub _bunzip2_cz1 {
# my $self = shift;
-#
+#
# my $use_list = { 'IO::Uncompress::Bunzip2' => '0.0' };
# unless( can_load( modules => $use_list ) ) {
# return $self->_error(loc("You do not have '%1' installed - Please " .
# "install it as soon as possible.",
# 'IO::Uncompress::Bunzip2'));
# }
-#
+#
# my $bz = IO::Uncompress::Bunzip2->new( $self->archive ) or
# return $self->_error(loc("Unable to open '%1': %2",
# $self->archive,
# $IO::Uncompress::Bunzip2::Bunzip2Error));
-#
+#
# my $fh = FileHandle->new('>'. $self->_gunzip_to) or
# return $self->_error(loc("Could not open '%1' for writing: %2",
# $self->_gunzip_to, $! ));
-#
+#
# my $buffer;
# $fh->print($buffer) while $bz->read($buffer) > 0;
# $fh->close;
-#
+#
# ### set what files where extract, and where they went ###
# $self->files( [$self->_gunzip_to] );
# $self->extract_path( File::Spec->rel2abs(cwd()) );
-#
+#
# return 1;
# }
@@ -1304,7 +1313,7 @@ sub _bunzip2_bz2 {
$self->_error(loc("You do not have '%1' installed - Please " .
"install it as soon as possible.",
'IO::Uncompress::Bunzip2'));
- return METHOD_NA;
+ return METHOD_NA;
}
IO::Uncompress::Bunzip2::bunzip2($self->archive => $self->_gunzip_to)
@@ -1373,7 +1382,7 @@ sub _unxz_cz {
$self->_error(loc("You do not have '%1' installed - Please " .
"install it as soon as possible.",
'IO::Uncompress::UnXz'));
- return METHOD_NA;
+ return METHOD_NA;
}
IO::Uncompress::UnXz::unxz($self->archive => $self->_gunzip_to)
@@ -1402,7 +1411,7 @@ sub _unlzma_bin {
unless( $self->bin_unlzma ) {
$self->_error(loc("No '%1' program found", '/bin/unlzma'));
return METHOD_NA;
- }
+ }
my $fh = FileHandle->new('>'. $self->_gunzip_to) or
return $self->_error(loc("Could not open '%1' for writing: %2",
@@ -1467,7 +1476,7 @@ sub _unlzma_cz {
else {
$self->_error(loc("You do not have '%1' or '%2' installed - Please " .
"install it as soon as possible.", 'Compress::unLZMA', 'IO::Uncompress::UnLzma'));
- return METHOD_NA;
+ return METHOD_NA;
}
### set what files where extract, and where they went ###
@@ -1499,7 +1508,7 @@ sub _error {
push @{$self->_error_msg}, $error;
push @{$self->_error_msg_long}, $lerror;
-
+
### set $Archive::Extract::WARN to 0 to disable printing
### of errors
if( $WARN ) {
@@ -1513,12 +1522,12 @@ sub error {
my $self = shift;
### make sure we have a fallback aref
- my $aref = do {
- shift()
- ? $self->_error_msg_long
- : $self->_error_msg
+ my $aref = do {
+ shift()
+ ? $self->_error_msg_long
+ : $self->_error_msg
} || [];
-
+
return join $/, @$aref;
}
@@ -1578,7 +1587,7 @@ C<Archive::Extract> will not be able to extract the archive for you.
=head2 Supporting Very Large Files
C<Archive::Extract> can use either pure perl modules or command line
-programs under the hood. Some of the pure perl modules (like
+programs under the hood. Some of the pure perl modules (like
C<Archive::Tar> and Compress::unLZMA) take the entire contents of the archive into memory,
which may not be feasible on your system. Consider setting the global
variable C<$Archive::Extract::PREFER_BIN> to C<1>, which will prefer
@@ -1588,7 +1597,7 @@ See the C<GLOBAL VARIABLES> section below for details.
=head2 Bunzip2 support of arbitrary extensions.
-Older versions of C</bin/bunzip2> do not support arbitrary file
+Older versions of C</bin/bunzip2> do not support arbitrary file
extensions and insist on a C<.bz2> suffix. Although we do our best
to guard against this, if you experience a bunzip2 error, it may
be related to this. For details, please see the C<have_old_bunzip2>
@@ -1639,7 +1648,7 @@ the type, rather than blindly trust the suffix.
=item Thread safety
Currently, C<Archive::Extract> does a C<chdir> to the extraction dir before
-extraction, and a C<chdir> back again after. This is not necessarily
+extraction, and a C<chdir> back again after. This is not necessarily
thread safe. See C<rt.cpan.org> bug C<#45671> for details.
=back
@@ -1654,7 +1663,7 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=cut
diff --git a/Master/tlpkg/tlperl/lib/Archive/Tar.pm b/Master/tlpkg/tlperl/lib/Archive/Tar.pm
index 0a35cf77cc7..4ed3ae0386e 100644
--- a/Master/tlpkg/tlperl/lib/Archive/Tar.pm
+++ b/Master/tlpkg/tlperl/lib/Archive/Tar.pm
@@ -31,7 +31,7 @@ use vars qw[$DEBUG $error $VERSION $WARN $FOLLOW_SYMLINK $CHOWN $CHMOD
$DEBUG = 0;
$WARN = 1;
$FOLLOW_SYMLINK = 0;
-$VERSION = "1.76";
+$VERSION = "1.82";
$CHOWN = 1;
$CHMOD = 1;
$SAME_PERMISSIONS = $> == 0 ? 1 : 0;
@@ -68,6 +68,9 @@ Archive::Tar - module for manipulations of tar archives
$tar->add_data('file/baz.txt', 'This is the contents now');
$tar->rename('oldname', 'new/file/name');
+ $tar->chown('/', 'root');
+ $tar->chown('/', 'root:root');
+ $tar->chmod('/tmp', '1777');
$tar->write('files.tar'); # plain tar
$tar->write('files.tgz', COMPRESS_GZIP); # gzip compressed
@@ -168,6 +171,14 @@ very big archives, and are only interested in the first few files.
Can be set to a regular expression. Only files with names that match
the expression will be read.
+=item md5
+
+Set to 1 and the md5sum of files will be returned (instead of file data)
+ my $iter = Archive::Tar->iter( $file, 1, {md5 => 1} );
+ while( my $f = $iter->() ) {
+ print $f->data . "\t" . $f->full_path . $/;
+ }
+
=item extract
If set to true, immediately extract entries when reading them. This
@@ -306,6 +317,7 @@ sub _read_tar {
my $count = $opts->{limit} || 0;
my $filter = $opts->{filter};
+ my $md5 = $opts->{md5} || 0; # cdrake
my $filter_cb = $opts->{filter_cb};
my $extract = $opts->{extract} || 0;
@@ -332,7 +344,7 @@ sub _read_tar {
$self->_error( qq[Cannot read compressed format in tar-mode] );
return;
}
-
+
### size is < HEAD, which means a corrupted file, as the minimum
### length is _at least_ HEAD
if (length $chunk != HEAD) {
@@ -399,8 +411,14 @@ sub _read_tar {
$data = $entry->get_content_by_ref;
my $skip = 0;
+ my $ctx; # cdrake
### skip this entry if we're filtering
- if ($filter && $entry->name !~ $filter) {
+
+ if($md5) { # cdrake
+ $ctx = Digest::MD5->new; # cdrake
+ $skip=5; # cdrake
+
+ } elsif ($filter && $entry->name !~ $filter) {
$skip = 1;
### skip this entry if it's a pax header. This is a special file added
@@ -415,11 +433,12 @@ sub _read_tar {
if ($skip) {
#
# Since we're skipping, do not allocate memory for the
- # whole file. Read it 64 BLOCKS at a time. Do not
+ # whole file. Read it 64 BLOCKS at a time. Do not
# complete the skip yet because maybe what we read is a
# longlink and it won't get skipped after all
#
my $amt = $block;
+ my $fsz=$entry->size; # cdrake
while ($amt > 0) {
$$data = '';
my $this = 64 * BLOCK;
@@ -430,9 +449,11 @@ sub _read_tar {
next LOOP;
}
$amt -= $this;
+ $fsz -= $this; # cdrake
+ substr ($$data, $fsz) = "" if ($fsz<0); # remove external junk prior to md5 # cdrake
+ $ctx->add($$data) if($skip==5); # cdrake
}
- ### throw away trailing garbage ###
- substr ($$data, $entry->size) = "" if defined $$data && $block < 64 * BLOCK;
+ $$data = $ctx->hexdigest if($skip==5 && !$entry->is_longlink && !$entry->is_unknown && !$entry->is_label ) ; # cdrake
} else {
### just read everything into memory
@@ -1082,6 +1103,45 @@ sub rename {
return $entry->rename( $new );
}
+=head2 $tar->chmod( $file, $mode )
+
+Change mode of $file to $mode.
+
+Returns true on success and false on failure.
+
+=cut
+
+sub chmod {
+ my $self = shift;
+ my $file = shift; return unless defined $file;
+ my $mode = shift; return unless defined $mode && $mode =~ /^[0-7]{1,4}$/;
+ my @args = ("$mode");
+
+ my $entry = $self->_find_entry( $file ) or return;
+ my $x = $entry->chmod( @args );
+ return $x;
+}
+
+=head2 $tar->chown( $file, $uname [, $gname] )
+
+Change owner $file to $uname and $gname.
+
+Returns true on success and false on failure.
+
+=cut
+
+sub chown {
+ my $self = shift;
+ my $file = shift; return unless defined $file;
+ my $uname = shift; return unless defined $uname;
+ my @args = ($uname);
+ push(@args, shift);
+
+ my $entry = $self->_find_entry( $file ) or return;
+ my $x = $entry->chown( @args );
+ return $x;
+}
+
=head2 $tar->remove (@filenamelist)
Removes any entries with names matching any of the given filenames
@@ -1645,7 +1705,7 @@ Example usage:
sub iter {
my $class = shift;
my $filename = shift or return;
- my $compressed = shift or 0;
+ my $compressed = shift || 0;
my $opts = shift || {};
### get a handle to read from.
@@ -1930,7 +1990,7 @@ doing.
=head2 $Archive::Tar::ZERO_PAD_NUMBERS
This variable holds a boolean indicating if we will create
-zero padded numbers for C<size>, C<mtime> and C<checksum>.
+zero padded numbers for C<size>, C<mtime> and C<checksum>.
The default is C<0>, indicating that we will create space padded
numbers. Added for compatibility with C<busybox> implementations.
@@ -2114,7 +2174,7 @@ encoded in a different way.
=head1 CAVEATS
-The AIX tar does not fill all unused space in the tar archive with 0x00.
+The AIX tar does not fill all unused space in the tar archive with 0x00.
This sometimes leads to warning messages from C<Archive::Tar>.
Invalid header block at offset nnn
@@ -2126,14 +2186,14 @@ of AIX, all of which should be coming out in the 4th quarter of 2009:
AIX 5.3 TL8 SP8
AIX 5.3 TL9 SP5
AIX 5.3 TL10 SP2
-
+
AIX 6.1 TL0 SP11
AIX 6.1 TL1 SP7
AIX 6.1 TL2 SP6
AIX 6.1 TL3 SP3
-The IBM APAR number for this problem is IZ50240 (Reported component ID:
-5765G0300 / AIX 5.3). It is possible to get an ifix for that problem.
+The IBM APAR number for this problem is IZ50240 (Reported component ID:
+5765G0300 / AIX 5.3). It is possible to get an ifix for that problem.
If you need an ifix please contact your local IBM AIX support.
=head1 TODO
diff --git a/Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm b/Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm
index abeb824a050..1bea5ce12d7 100644
--- a/Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm
+++ b/Master/tlpkg/tlperl/lib/Archive/Tar/Constant.pm
@@ -2,8 +2,8 @@ package Archive::Tar::Constant;
BEGIN {
require Exporter;
-
- $VERSION = '1.76';
+
+ $VERSION = '1.82';
@ISA = qw[Exporter];
require Time::Local if $^O eq "MacOS";
@@ -51,12 +51,12 @@ use constant MODE => do { 0666 & (0777 & ~umask) };
use constant STRIP_MODE => sub { shift() & 0777 };
use constant CHECK_SUM => " ";
-use constant UNPACK => 'A100 A8 A8 A8 A12 A12 A8 A1 A100 A6 A2 A32 A32 A8 A8 A155 x12';
+use constant UNPACK => 'A100 A8 A8 A8 a12 A12 A8 A1 A100 A6 A2 A32 A32 A8 A8 A155 x12'; # cdrake - size must be a12 - not A12 - or else screws up huge file sizes (>8gb)
use constant PACK => 'a100 a8 a8 a8 a12 a12 A8 a1 a100 a6 a2 a32 a32 a8 a8 a155 x12';
use constant NAME_LENGTH => 100;
use constant PREFIX_LENGTH => 155;
-use constant TIME_OFFSET => ($^O eq "MacOS") ? Time::Local::timelocal(0,0,0,1,0,70) : 0;
+use constant TIME_OFFSET => ($^O eq "MacOS") ? Time::Local::timelocal(0,0,0,1,0,70) : 0;
use constant MAGIC => "ustar";
use constant TAR_VERSION => "00";
use constant LONGLINK_NAME => '././@LongLink';
@@ -65,14 +65,14 @@ use constant PAX_HEADER => 'pax_global_header';
### allow ZLIB to be turned off using ENV: DEBUG only
use constant ZLIB => do { !$ENV{'PERL5_AT_NO_ZLIB'} and
eval { require IO::Zlib };
- $ENV{'PERL5_AT_NO_ZLIB'} || $@ ? 0 : 1
+ $ENV{'PERL5_AT_NO_ZLIB'} || $@ ? 0 : 1
};
- ### allow BZIP to be turned off using ENV: DEBUG only
+ ### allow BZIP to be turned off using ENV: DEBUG only
use constant BZIP => do { !$ENV{'PERL5_AT_NO_BZIP'} and
eval { require IO::Uncompress::Bunzip2;
require IO::Compress::Bzip2; };
- $ENV{'PERL5_AT_NO_BZIP'} || $@ ? 0 : 1
+ $ENV{'PERL5_AT_NO_BZIP'} || $@ ? 0 : 1
};
use constant GZIP_MAGIC_NUM => qr/^(?:\037\213|\037\235)/;
@@ -81,6 +81,6 @@ use constant BZIP_MAGIC_NUM => qr/^BZh\d/;
use constant CAN_CHOWN => sub { ($> == 0 and $^O ne "MacOS" and $^O ne "MSWin32") };
use constant CAN_READLINK => ($^O ne 'MSWin32' and $^O !~ /RISC(?:[ _])?OS/i and $^O ne 'VMS');
use constant ON_UNIX => ($^O ne 'MSWin32' and $^O ne 'MacOS' and $^O ne 'VMS');
-use constant ON_VMS => $^O eq 'VMS';
+use constant ON_VMS => $^O eq 'VMS';
1;
diff --git a/Master/tlpkg/tlperl/lib/Archive/Tar/File.pm b/Master/tlpkg/tlperl/lib/Archive/Tar/File.pm
index 8604ab83247..9067de10863 100644
--- a/Master/tlpkg/tlperl/lib/Archive/Tar/File.pm
+++ b/Master/tlpkg/tlperl/lib/Archive/Tar/File.pm
@@ -13,26 +13,27 @@ use Archive::Tar::Constant;
use vars qw[@ISA $VERSION];
#@ISA = qw[Archive::Tar];
-$VERSION = '1.76';
+$VERSION = '1.82';
### set value to 1 to oct() it during the unpack ###
+
my $tmpl = [
- name => 0, # string
- mode => 1, # octal
- uid => 1, # octal
- gid => 1, # octal
- size => 1, # octal
- mtime => 1, # octal
- chksum => 1, # octal
- type => 0, # character
- linkname => 0, # string
- magic => 0, # string
- version => 0, # 2 bytes
- uname => 0, # string
- gname => 0, # string
- devmajor => 1, # octal
- devminor => 1, # octal
- prefix => 0,
+ name => 0, # string A100
+ mode => 1, # octal A8
+ uid => 1, # octal A8
+ gid => 1, # octal A8
+ size => 0, # octal # cdrake - not *always* octal.. A12
+ mtime => 1, # octal A12
+ chksum => 1, # octal A8
+ type => 0, # character A1
+ linkname => 0, # string A100
+ magic => 0, # string A6
+ version => 0, # 2 bytes A2
+ uname => 0, # string A32
+ gname => 0, # string A32
+ devmajor => 1, # octal A8
+ devminor => 1, # octal A8
+ prefix => 0, # A155 x 12
### end UNPACK items ###
raw => 0, # the raw data chunk
@@ -214,8 +215,20 @@ sub _new_from_chunk {
### makes it start at 0 actually... :) ###
my $i = -1;
my %entry = map {
- $tmpl->[++$i] => $tmpl->[++$i] ? oct $_ : $_
- } map { /^([^\0]*)/ } unpack( UNPACK, $chunk );
+ my ($s,$v)=($tmpl->[++$i],$tmpl->[++$i]); # cdrake
+ ($_)=($_=~/^([^\0]*)/) unless($s eq 'size'); # cdrake
+ $s=> $v ? oct $_ : $_ # cdrake
+ # $tmpl->[++$i] => $tmpl->[++$i] ? oct $_ : $_ # removed by cdrake - mucks up binary sizes >8gb
+ } unpack( UNPACK, $chunk ); # cdrake
+ # } map { /^([^\0]*)/ } unpack( UNPACK, $chunk ); # old - replaced now by cdrake
+
+
+ if(substr($entry{'size'}, 0, 1) eq "\x80") { # binary size extension for files >8gigs (> octal 77777777777777) # cdrake
+ my @sz=unpack("aCSNN",$entry{'size'}); $entry{'size'}=$sz[4]+(2**32)*$sz[3]+$sz[2]*(2**64); # Use the low 80 bits (should use the upper 15 as well, but as at year 2011, that seems unlikley to ever be needed - the numbers are just too big...) # cdrake
+ } else { # cdrake
+ ($entry{'size'})=($entry{'size'}=~/^([^\0]*)/); $entry{'size'}=oct $entry{'size'}; # cdrake
+ } # cdrake
+
my $obj = bless { %entry, %args }, $class;
@@ -236,23 +249,23 @@ sub _new_from_chunk {
sub _new_from_file {
my $class = shift;
- my $path = shift;
-
+ my $path = shift;
+
### path has to at least exist
return unless defined $path;
-
+
my $type = __PACKAGE__->_filetype($path);
my $data = '';
- READ: {
+ READ: {
unless ($type == DIR ) {
my $fh = IO::File->new;
-
+
unless( $fh->open($path) ) {
### dangling symlinks are fine, stop reading but continue
### creating the object
last READ if $type == SYMLINK;
-
+
### otherwise, return from this function --
### anything that's *not* a symlink should be
### resolvable
@@ -405,7 +418,7 @@ sub _prefix_and_file {
sub _filetype {
my $self = shift;
my $file = shift;
-
+
return unless defined $file;
return SYMLINK if (-l $file); # Symlink
@@ -442,7 +455,7 @@ sub _downgrade_to_plainfile {
=head2 $bool = $file->extract( [ $alternative_name ] )
-Extract this object, optionally to an alternative name.
+Extract this object, optionally to an alternative name.
See C<< Archive::Tar->extract_file >> for details.
@@ -452,9 +465,9 @@ Returns true on success and false on failure.
sub extract {
my $self = shift;
-
+
local $Carp::CarpLevel += 1;
-
+
return Archive::Tar->_extract_file( $self, @_ );
}
@@ -576,7 +589,7 @@ Returns true on success and false on failure.
sub rename {
my $self = shift;
my $path = shift;
-
+
return unless defined $path;
my ($prefix,$file) = $self->_prefix_and_file( $path );
@@ -587,6 +600,48 @@ sub rename {
return 1;
}
+=head2 $bool = $file->chmod $mode)
+
+Change mode of $file to $mode. The mode can be a string or a number
+which is interpreted as octal whether or not a leading 0 is given.
+
+Returns true on success and false on failure.
+
+=cut
+
+sub chmod {
+ my $self = shift;
+ my $mode = shift; return unless defined $mode && $mode =~ /^[0-7]{1,4}$/;
+ $self->{mode} = oct($mode);
+ return 1;
+}
+
+=head2 $bool = $file->chown( $user [, $group])
+
+Change owner of $file to $user. If a $group is given that is changed
+as well. You can also pass a single parameter with a colon separating the
+use and group as in 'root:wheel'.
+
+Returns true on success and false on failure.
+
+=cut
+
+sub chown {
+ my $self = shift;
+ my $uname = shift;
+ return unless defined $uname;
+ my $gname;
+ if (-1 != index($uname, ':')) {
+ ($uname, $gname) = split(/:/, $uname);
+ } else {
+ $gname = shift if @_ > 0;
+ }
+
+ $self->uname( $uname );
+ $self->gname( $gname ) if $gname;
+ return 1;
+}
+
=head1 Convenience methods
To quickly check the type of a C<Archive::Tar::File> object, you can
diff --git a/Master/tlpkg/tlperl/lib/Attribute/Handlers.pm b/Master/tlpkg/tlperl/lib/Attribute/Handlers.pm
index b0cb8e21af6..36f6e2e81c9 100644
--- a/Master/tlpkg/tlperl/lib/Attribute/Handlers.pm
+++ b/Master/tlpkg/tlperl/lib/Attribute/Handlers.pm
@@ -4,7 +4,7 @@ use Carp;
use warnings;
use strict;
use vars qw($VERSION $AUTOLOAD);
-$VERSION = '0.89'; # remember to update version in POD!
+$VERSION = '0.93'; # remember to update version in POD!
# $DB::single=1;
my %symcache;
@@ -266,68 +266,68 @@ Attribute::Handlers - Simpler definition of attribute handlers
=head1 VERSION
-This document describes version 0.89 of Attribute::Handlers,
-released April 5, 2010.
+This document describes version 0.93 of Attribute::Handlers,
+released July 20, 2011.
=head1 SYNOPSIS
- package MyClass;
- require 5.006;
- use Attribute::Handlers;
- no warnings 'redefine';
+ package MyClass;
+ require 5.006;
+ use Attribute::Handlers;
+ no warnings 'redefine';
- sub Good : ATTR(SCALAR) {
- my ($package, $symbol, $referent, $attr, $data) = @_;
+ sub Good : ATTR(SCALAR) {
+ my ($package, $symbol, $referent, $attr, $data) = @_;
- # Invoked for any scalar variable with a :Good attribute,
- # provided the variable was declared in MyClass (or
- # a derived class) or typed to MyClass.
+ # Invoked for any scalar variable with a :Good attribute,
+ # provided the variable was declared in MyClass (or
+ # a derived class) or typed to MyClass.
- # Do whatever to $referent here (executed in CHECK phase).
- ...
- }
+ # Do whatever to $referent here (executed in CHECK phase).
+ ...
+ }
- sub Bad : ATTR(SCALAR) {
- # Invoked for any scalar variable with a :Bad attribute,
- # provided the variable was declared in MyClass (or
- # a derived class) or typed to MyClass.
- ...
- }
+ sub Bad : ATTR(SCALAR) {
+ # Invoked for any scalar variable with a :Bad attribute,
+ # provided the variable was declared in MyClass (or
+ # a derived class) or typed to MyClass.
+ ...
+ }
- sub Good : ATTR(ARRAY) {
- # Invoked for any array variable with a :Good attribute,
- # provided the variable was declared in MyClass (or
- # a derived class) or typed to MyClass.
- ...
- }
+ sub Good : ATTR(ARRAY) {
+ # Invoked for any array variable with a :Good attribute,
+ # provided the variable was declared in MyClass (or
+ # a derived class) or typed to MyClass.
+ ...
+ }
- sub Good : ATTR(HASH) {
- # Invoked for any hash variable with a :Good attribute,
- # provided the variable was declared in MyClass (or
- # a derived class) or typed to MyClass.
- ...
- }
+ sub Good : ATTR(HASH) {
+ # Invoked for any hash variable with a :Good attribute,
+ # provided the variable was declared in MyClass (or
+ # a derived class) or typed to MyClass.
+ ...
+ }
- sub Ugly : ATTR(CODE) {
- # Invoked for any subroutine declared in MyClass (or a
- # derived class) with an :Ugly attribute.
- ...
- }
+ sub Ugly : ATTR(CODE) {
+ # Invoked for any subroutine declared in MyClass (or a
+ # derived class) with an :Ugly attribute.
+ ...
+ }
- sub Omni : ATTR {
- # Invoked for any scalar, array, hash, or subroutine
- # with an :Omni attribute, provided the variable or
- # subroutine was declared in MyClass (or a derived class)
- # or the variable was typed to MyClass.
- # Use ref($_[2]) to determine what kind of referent it was.
- ...
- }
+ sub Omni : ATTR {
+ # Invoked for any scalar, array, hash, or subroutine
+ # with an :Omni attribute, provided the variable or
+ # subroutine was declared in MyClass (or a derived class)
+ # or the variable was typed to MyClass.
+ # Use ref($_[2]) to determine what kind of referent it was.
+ ...
+ }
- use Attribute::Handlers autotie => { Cycle => Tie::Cycle };
+ use Attribute::Handlers autotie => { Cycle => Tie::Cycle };
- my $next : Cycle(['A'..'Z']);
+ my $next : Cycle(['A'..'Z']);
=head1 DESCRIPTION
@@ -349,7 +349,8 @@ attribute C<:ATTR>. For example:
use Attribute::Handlers;
sub Loud :ATTR {
- my ($package, $symbol, $referent, $attr, $data, $phase, $filename, $linenum) = @_;
+ my ($package, $symbol, $referent, $attr, $data, $phase,
+ $filename, $linenum) = @_;
print STDERR
ref($referent), " ",
*{$symbol}{NAME}, " ",
@@ -364,9 +365,9 @@ This creates a handler for the attribute C<:Loud> in the class LoudDecl.
Thereafter, any subroutine declared with a C<:Loud> attribute in the class
LoudDecl:
- package LoudDecl;
-
- sub foo: Loud {...}
+ package LoudDecl;
+
+ sub foo: Loud {...}
causes the above handler to be invoked, and passed:
@@ -409,11 +410,11 @@ the line number in this file.
Likewise, declaring any variables with the C<:Loud> attribute within the
package:
- package LoudDecl;
+ package LoudDecl;
- my $foo :Loud;
- my @foo :Loud;
- my %foo :Loud;
+ my $foo :Loud;
+ my @foo :Loud;
+ my %foo :Loud;
will cause the handler to be called with a similar argument list (except,
of course, that C<$_[2]> will be a reference to the variable).
@@ -436,7 +437,7 @@ then a reference to an array containing the string
C<"turn it up to 11, man!"> would be passed as the last argument.
Attribute::Handlers makes strenuous efforts to convert
-the data argument (C<$_[4]>) to a useable form before passing it to
+the data argument (C<$_[4]>) to a usable form before passing it to
the handler (but see L<"Non-interpretive attribute handlers">).
If those efforts succeed, the interpreted data is passed in an array
reference; if they fail, the raw data is passed as a string.
@@ -444,7 +445,7 @@ For example, all of these:
sub foo :Loud(till=>ears=>are=>bleeding) {...}
sub foo :Loud(qw/till ears are bleeding/) {...}
- sub foo :Loud(qw/my, ears, are, bleeding/) {...}
+ sub foo :Loud(qw/till, ears, are, bleeding/) {...}
sub foo :Loud(till,ears,are,bleeding) {...}
causes it to pass C<['till','ears','are','bleeding']> as the handler's
@@ -474,11 +475,11 @@ Regardless of the package in which it is declared, if a lexical variable is
ascribed an attribute, the handler that is invoked is the one belonging to
the package to which it is typed. For example, the following declarations:
- package OtherClass;
+ package OtherClass;
- my LoudDecl $loudobj : Loud;
- my LoudDecl @loudobjs : Loud;
- my LoudDecl %loudobjex : Loud;
+ my LoudDecl $loudobj : Loud;
+ my LoudDecl @loudobjs : Loud;
+ my LoudDecl %loudobjex : Loud;
causes the LoudDecl::Loud handler to be invoked (even if OtherClass also
defines a handler for C<:Loud> attributes).
@@ -491,40 +492,40 @@ given the name of a built-in type (C<SCALAR>, C<ARRAY>, C<HASH>, or C<CODE>),
the handler is only applied to declarations of that type. For example,
the following definition:
- package LoudDecl;
+ package LoudDecl;
- sub RealLoud :ATTR(SCALAR) { print "Yeeeeow!" }
+ sub RealLoud :ATTR(SCALAR) { print "Yeeeeow!" }
creates an attribute handler that applies only to scalars:
- package Painful;
- use base LoudDecl;
+ package Painful;
+ use base LoudDecl;
- my $metal : RealLoud; # invokes &LoudDecl::RealLoud
- my @metal : RealLoud; # error: unknown attribute
- my %metal : RealLoud; # error: unknown attribute
- sub metal : RealLoud {...} # error: unknown attribute
+ my $metal : RealLoud; # invokes &LoudDecl::RealLoud
+ my @metal : RealLoud; # error: unknown attribute
+ my %metal : RealLoud; # error: unknown attribute
+ sub metal : RealLoud {...} # error: unknown attribute
You can, of course, declare separate handlers for these types as well
(but you'll need to specify C<no warnings 'redefine'> to do it quietly):
- package LoudDecl;
- use Attribute::Handlers;
- no warnings 'redefine';
+ package LoudDecl;
+ use Attribute::Handlers;
+ no warnings 'redefine';
- sub RealLoud :ATTR(SCALAR) { print "Yeeeeow!" }
- sub RealLoud :ATTR(ARRAY) { print "Urrrrrrrrrr!" }
- sub RealLoud :ATTR(HASH) { print "Arrrrrgggghhhhhh!" }
- sub RealLoud :ATTR(CODE) { croak "Real loud sub torpedoed" }
+ sub RealLoud :ATTR(SCALAR) { print "Yeeeeow!" }
+ sub RealLoud :ATTR(ARRAY) { print "Urrrrrrrrrr!" }
+ sub RealLoud :ATTR(HASH) { print "Arrrrrgggghhhhhh!" }
+ sub RealLoud :ATTR(CODE) { croak "Real loud sub torpedoed" }
You can also explicitly indicate that a single handler is meant to be
used for all types of referents like so:
- package LoudDecl;
- use Attribute::Handlers;
+ package LoudDecl;
+ use Attribute::Handlers;
- sub SeriousLoud :ATTR(ANY) { warn "Hearing loss imminent" }
+ sub SeriousLoud :ATTR(ANY) { warn "Hearing loss imminent" }
(I.e. C<ATTR(ANY)> is a synonym for C<:ATTR>).
@@ -532,20 +533,20 @@ used for all types of referents like so:
=head2 Non-interpretive attribute handlers
Occasionally the strenuous efforts Attribute::Handlers makes to convert
-the data argument (C<$_[4]>) to a useable form before passing it to
+the data argument (C<$_[4]>) to a usable form before passing it to
the handler get in the way.
You can turn off that eagerness-to-help by declaring
an attribute handler with the keyword C<RAWDATA>. For example:
- sub Raw : ATTR(RAWDATA) {...}
- sub Nekkid : ATTR(SCALAR,RAWDATA) {...}
- sub Au::Naturale : ATTR(RAWDATA,ANY) {...}
+ sub Raw : ATTR(RAWDATA) {...}
+ sub Nekkid : ATTR(SCALAR,RAWDATA) {...}
+ sub Au::Naturale : ATTR(RAWDATA,ANY) {...}
Then the handler makes absolutely no attempt to interpret the data it
receives and simply passes it as a string:
- my $power : Raw(1..100); # handlers receives "1..100"
+ my $power : Raw(1..100); # handlers receives "1..100"
=head2 Phase-specific attribute handlers
@@ -559,11 +560,11 @@ other points in the program's compilation or execution, by explicitly
stating the phase (or phases) in which you wish the attribute handler to
be called. For example:
- sub Early :ATTR(SCALAR,BEGIN) {...}
- sub Normal :ATTR(SCALAR,CHECK) {...}
- sub Late :ATTR(SCALAR,INIT) {...}
- sub Final :ATTR(SCALAR,END) {...}
- sub Bookends :ATTR(SCALAR,BEGIN,END) {...}
+ sub Early :ATTR(SCALAR,BEGIN) {...}
+ sub Normal :ATTR(SCALAR,CHECK) {...}
+ sub Late :ATTR(SCALAR,INIT) {...}
+ sub Final :ATTR(SCALAR,END) {...}
+ sub Bookends :ATTR(SCALAR,BEGIN,END) {...}
As the last example indicates, a handler may be set up to be (re)called in
two or more phases. The phase name is passed as the handler's final argument.
@@ -578,24 +579,24 @@ subsequently defined C<BEGIN> blocks are executed).
Attributes make an excellent and intuitive interface through which to tie
variables. For example:
- use Attribute::Handlers;
- use Tie::Cycle;
-
- sub UNIVERSAL::Cycle : ATTR(SCALAR) {
- my ($package, $symbol, $referent, $attr, $data, $phase) = @_;
- $data = [ $data ] unless ref $data eq 'ARRAY';
- tie $$referent, 'Tie::Cycle', $data;
- }
-
- # and thereafter...
-
- package main;
+ use Attribute::Handlers;
+ use Tie::Cycle;
+
+ sub UNIVERSAL::Cycle : ATTR(SCALAR) {
+ my ($package, $symbol, $referent, $attr, $data, $phase) = @_;
+ $data = [ $data ] unless ref $data eq 'ARRAY';
+ tie $$referent, 'Tie::Cycle', $data;
+ }
- my $next : Cycle('A'..'Z'); # $next is now a tied variable
+ # and thereafter...
- while (<>) {
- print $next;
- }
+ package main;
+
+ my $next : Cycle('A'..'Z'); # $next is now a tied variable
+
+ while (<>) {
+ print $next;
+ }
Note that, because the C<Cycle> attribute receives its arguments in the
C<$data> variable, if the attribute is given a list of arguments, C<$data>
@@ -604,16 +605,16 @@ single argument directly. Since Tie::Cycle requires its cycling values to
be passed as an array reference, this means that we need to wrap
non-array-reference arguments in an array constructor:
- $data = [ $data ] unless ref $data eq 'ARRAY';
+ $data = [ $data ] unless ref $data eq 'ARRAY';
Typically, however, things are the other way around: the tieable class expects
its arguments as a flattened list, so the attribute looks like:
- sub UNIVERSAL::Cycle : ATTR(SCALAR) {
- my ($package, $symbol, $referent, $attr, $data, $phase) = @_;
- my @data = ref $data eq 'ARRAY' ? @$data : $data;
- tie $$referent, 'Tie::Whatever', @data;
- }
+ sub UNIVERSAL::Cycle : ATTR(SCALAR) {
+ my ($package, $symbol, $referent, $attr, $data, $phase) = @_;
+ my @data = ref $data eq 'ARRAY' ? @$data : $data;
+ tie $$referent, 'Tie::Whatever', @data;
+ }
This software pattern is so widely applicable that Attribute::Handlers
@@ -621,16 +622,17 @@ provides a way to automate it: specifying C<'autotie'> in the
C<use Attribute::Handlers> statement. So, the cycling example,
could also be written:
- use Attribute::Handlers autotie => { Cycle => 'Tie::Cycle' };
+ use Attribute::Handlers autotie => { Cycle => 'Tie::Cycle' };
- # and thereafter...
+ # and thereafter...
- package main;
+ package main;
- my $next : Cycle(['A'..'Z']); # $next is now a tied variable
+ my $next : Cycle(['A'..'Z']); # $next is now a tied variable
- while (<>) {
- print $next;
+ while (<>) {
+ print $next;
+ }
Note that we now have to pass the cycling values as an array reference,
since the C<autotie> mechanism passes C<tie> a list of arguments as a list
@@ -646,28 +648,29 @@ Attribute::Handlers takes care of that automagically. You can even pass
arguments to the module's C<import> subroutine, by appending them to the
class name. For example:
- use Attribute::Handlers
- autotie => { Dir => 'Tie::Dir qw(DIR_UNLINK)' };
+ use Attribute::Handlers
+ autotie => { Dir => 'Tie::Dir qw(DIR_UNLINK)' };
If the attribute name is unqualified, the attribute is installed in the
current package. Otherwise it is installed in the qualifier's package:
- package Here;
-
- use Attribute::Handlers autotie => {
- Other::Good => Tie::SecureHash, # tie attr installed in Other::
- Bad => Tie::Taxes, # tie attr installed in Here::
- UNIVERSAL::Ugly => Software::Patent # tie attr installed everywhere
- };
+ package Here;
+
+ use Attribute::Handlers autotie => {
+ Other::Good => Tie::SecureHash, # tie attr installed in Other::
+ Bad => Tie::Taxes, # tie attr installed in Here::
+ UNIVERSAL::Ugly => Software::Patent # tie attr installed everywhere
+ };
Autoties are most commonly used in the module to which they actually tie,
and need to export their attributes to any module that calls them. To
facilitate this, Attribute::Handlers recognizes a special "pseudo-class" --
C<__CALLER__>, which may be specified as the qualifier of an attribute:
- package Tie::Me::Kangaroo:Down::Sport;
-
- use Attribute::Handlers autotie => { '__CALLER__::Roo' => __PACKAGE__ };
+ package Tie::Me::Kangaroo:Down::Sport;
+
+ use Attribute::Handlers autotie =>
+ { '__CALLER__::Roo' => __PACKAGE__ };
This causes Attribute::Handlers to define the C<Roo> attribute in the package
that imports the Tie::Me::Kangaroo:Down::Sport module.
@@ -682,166 +685,166 @@ to the TIESCALAR, TIEHASH, etc. that ties it.
The C<autotie> mechanism supports this too. The following code:
- use Attribute::Handlers autotieref => { Selfish => Tie::Selfish };
- my $var : Selfish(@args);
+ use Attribute::Handlers autotieref => { Selfish => Tie::Selfish };
+ my $var : Selfish(@args);
has the same effect as:
- tie my $var, 'Tie::Selfish', @args;
+ tie my $var, 'Tie::Selfish', @args;
But when C<"autotieref"> is used instead of C<"autotie">:
- use Attribute::Handlers autotieref => { Selfish => Tie::Selfish };
- my $var : Selfish(@args);
+ use Attribute::Handlers autotieref => { Selfish => Tie::Selfish };
+ my $var : Selfish(@args);
the effect is to pass the C<tie> call an extra reference to the variable
being tied:
- tie my $var, 'Tie::Selfish', \$var, @args;
+ tie my $var, 'Tie::Selfish', \$var, @args;
=head1 EXAMPLES
-If the class shown in L<SYNOPSIS> were placed in the MyClass.pm
+If the class shown in L</SYNOPSIS> were placed in the MyClass.pm
module, then the following code:
- package main;
- use MyClass;
+ package main;
+ use MyClass;
- my MyClass $slr :Good :Bad(1**1-1) :Omni(-vorous);
+ my MyClass $slr :Good :Bad(1**1-1) :Omni(-vorous);
- package SomeOtherClass;
- use base MyClass;
+ package SomeOtherClass;
+ use base MyClass;
- sub tent { 'acle' }
+ sub tent { 'acle' }
- sub fn :Ugly(sister) :Omni('po',tent()) {...}
- my @arr :Good :Omni(s/cie/nt/);
- my %hsh :Good(q/bye/) :Omni(q/bus/);
+ sub fn :Ugly(sister) :Omni('po',tent()) {...}
+ my @arr :Good :Omni(s/cie/nt/);
+ my %hsh :Good(q/bye/) :Omni(q/bus/);
would cause the following handlers to be invoked:
- # my MyClass $slr :Good :Bad(1**1-1) :Omni(-vorous);
-
- MyClass::Good:ATTR(SCALAR)( 'MyClass', # class
- 'LEXICAL', # no typeglob
- \$slr, # referent
- 'Good', # attr name
- undef # no attr data
- 'CHECK', # compiler phase
- );
-
- MyClass::Bad:ATTR(SCALAR)( 'MyClass', # class
- 'LEXICAL', # no typeglob
- \$slr, # referent
- 'Bad', # attr name
- 0 # eval'd attr data
- 'CHECK', # compiler phase
- );
-
- MyClass::Omni:ATTR(SCALAR)( 'MyClass', # class
- 'LEXICAL', # no typeglob
- \$slr, # referent
- 'Omni', # attr name
- '-vorous' # eval'd attr data
- 'CHECK', # compiler phase
- );
-
-
- # sub fn :Ugly(sister) :Omni('po',tent()) {...}
-
- MyClass::UGLY:ATTR(CODE)( 'SomeOtherClass', # class
- \*SomeOtherClass::fn, # typeglob
- \&SomeOtherClass::fn, # referent
- 'Ugly', # attr name
- 'sister' # eval'd attr data
- 'CHECK', # compiler phase
- );
-
- MyClass::Omni:ATTR(CODE)( 'SomeOtherClass', # class
- \*SomeOtherClass::fn, # typeglob
- \&SomeOtherClass::fn, # referent
- 'Omni', # attr name
- ['po','acle'] # eval'd attr data
- 'CHECK', # compiler phase
- );
-
-
- # my @arr :Good :Omni(s/cie/nt/);
-
- MyClass::Good:ATTR(ARRAY)( 'SomeOtherClass', # class
- 'LEXICAL', # no typeglob
- \@arr, # referent
- 'Good', # attr name
- undef # no attr data
- 'CHECK', # compiler phase
- );
-
- MyClass::Omni:ATTR(ARRAY)( 'SomeOtherClass', # class
- 'LEXICAL', # no typeglob
- \@arr, # referent
- 'Omni', # attr name
- "" # eval'd attr data
- 'CHECK', # compiler phase
- );
-
-
- # my %hsh :Good(q/bye) :Omni(q/bus/);
-
- MyClass::Good:ATTR(HASH)( 'SomeOtherClass', # class
- 'LEXICAL', # no typeglob
- \%hsh, # referent
- 'Good', # attr name
- 'q/bye' # raw attr data
- 'CHECK', # compiler phase
- );
-
- MyClass::Omni:ATTR(HASH)( 'SomeOtherClass', # class
- 'LEXICAL', # no typeglob
- \%hsh, # referent
- 'Omni', # attr name
- 'bus' # eval'd attr data
- 'CHECK', # compiler phase
- );
+ # my MyClass $slr :Good :Bad(1**1-1) :Omni(-vorous);
+
+ MyClass::Good:ATTR(SCALAR)( 'MyClass', # class
+ 'LEXICAL', # no typeglob
+ \$slr, # referent
+ 'Good', # attr name
+ undef # no attr data
+ 'CHECK', # compiler phase
+ );
+
+ MyClass::Bad:ATTR(SCALAR)( 'MyClass', # class
+ 'LEXICAL', # no typeglob
+ \$slr, # referent
+ 'Bad', # attr name
+ 0 # eval'd attr data
+ 'CHECK', # compiler phase
+ );
+
+ MyClass::Omni:ATTR(SCALAR)( 'MyClass', # class
+ 'LEXICAL', # no typeglob
+ \$slr, # referent
+ 'Omni', # attr name
+ '-vorous' # eval'd attr data
+ 'CHECK', # compiler phase
+ );
+
+
+ # sub fn :Ugly(sister) :Omni('po',tent()) {...}
+
+ MyClass::UGLY:ATTR(CODE)( 'SomeOtherClass', # class
+ \*SomeOtherClass::fn, # typeglob
+ \&SomeOtherClass::fn, # referent
+ 'Ugly', # attr name
+ 'sister' # eval'd attr data
+ 'CHECK', # compiler phase
+ );
+
+ MyClass::Omni:ATTR(CODE)( 'SomeOtherClass', # class
+ \*SomeOtherClass::fn, # typeglob
+ \&SomeOtherClass::fn, # referent
+ 'Omni', # attr name
+ ['po','acle'] # eval'd attr data
+ 'CHECK', # compiler phase
+ );
+
+
+ # my @arr :Good :Omni(s/cie/nt/);
+
+ MyClass::Good:ATTR(ARRAY)( 'SomeOtherClass', # class
+ 'LEXICAL', # no typeglob
+ \@arr, # referent
+ 'Good', # attr name
+ undef # no attr data
+ 'CHECK', # compiler phase
+ );
+
+ MyClass::Omni:ATTR(ARRAY)( 'SomeOtherClass', # class
+ 'LEXICAL', # no typeglob
+ \@arr, # referent
+ 'Omni', # attr name
+ "" # eval'd attr data
+ 'CHECK', # compiler phase
+ );
+
+
+ # my %hsh :Good(q/bye) :Omni(q/bus/);
+
+ MyClass::Good:ATTR(HASH)( 'SomeOtherClass', # class
+ 'LEXICAL', # no typeglob
+ \%hsh, # referent
+ 'Good', # attr name
+ 'q/bye' # raw attr data
+ 'CHECK', # compiler phase
+ );
+
+ MyClass::Omni:ATTR(HASH)( 'SomeOtherClass', # class
+ 'LEXICAL', # no typeglob
+ \%hsh, # referent
+ 'Omni', # attr name
+ 'bus' # eval'd attr data
+ 'CHECK', # compiler phase
+ );
Installing handlers into UNIVERSAL, makes them...err..universal.
For example:
- package Descriptions;
- use Attribute::Handlers;
+ package Descriptions;
+ use Attribute::Handlers;
- my %name;
- sub name { return $name{$_[2]}||*{$_[1]}{NAME} }
+ my %name;
+ sub name { return $name{$_[2]}||*{$_[1]}{NAME} }
- sub UNIVERSAL::Name :ATTR {
- $name{$_[2]} = $_[4];
- }
+ sub UNIVERSAL::Name :ATTR {
+ $name{$_[2]} = $_[4];
+ }
- sub UNIVERSAL::Purpose :ATTR {
- print STDERR "Purpose of ", &name, " is $_[4]\n";
- }
+ sub UNIVERSAL::Purpose :ATTR {
+ print STDERR "Purpose of ", &name, " is $_[4]\n";
+ }
- sub UNIVERSAL::Unit :ATTR {
- print STDERR &name, " measured in $_[4]\n";
- }
+ sub UNIVERSAL::Unit :ATTR {
+ print STDERR &name, " measured in $_[4]\n";
+ }
Let's you write:
- use Descriptions;
+ use Descriptions;
- my $capacity : Name(capacity)
- : Purpose(to store max storage capacity for files)
- : Unit(Gb);
+ my $capacity : Name(capacity)
+ : Purpose(to store max storage capacity for files)
+ : Unit(Gb);
- package Other;
+ package Other;
- sub foo : Purpose(to foo all data before barring it) { }
+ sub foo : Purpose(to foo all data before barring it) { }
- # etc.
+ # etc.
=head1 UTILITY FUNCTIONS
@@ -851,7 +854,7 @@ This module offers a single utility function, C<findsym()>.
=item findsym
- my $symbol = Attribute::Handlers::findsym($package, $referent);
+ my $symbol = Attribute::Handlers::findsym($package, $referent);
The function looks in the symbol table of C<$package> for the typeglob for
C<$referent>, which is a reference to a variable or subroutine (SCALAR, ARRAY,
diff --git a/Master/tlpkg/tlperl/lib/AutoLoader.pm b/Master/tlpkg/tlperl/lib/AutoLoader.pm
index d7c99514202..8dab836ab30 100644
--- a/Master/tlpkg/tlperl/lib/AutoLoader.pm
+++ b/Master/tlpkg/tlperl/lib/AutoLoader.pm
@@ -15,7 +15,7 @@ BEGIN {
$is_epoc = $^O eq 'epoc';
$is_vms = $^O eq 'VMS';
$is_macos = $^O eq 'MacOS';
- $VERSION = '5.71';
+ $VERSION = '5.72';
}
AUTOLOAD {
@@ -376,7 +376,7 @@ can benefit from bug fixes.
This package has the same copyright and license as the perl core:
Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2011
by Larry Wall and others
All rights reserved.
@@ -400,8 +400,8 @@ This package has the same copyright and license as the perl core:
You should also have received a copy of the GNU General Public License
along with this program in the file named "Copying". If not, write to the
- Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA or visit their web page on the internet at
+ Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301, USA or visit their web page on the internet at
http://www.gnu.org/copyleft/gpl.html.
For those of you that choose to use the GNU General Public License,
diff --git a/Master/tlpkg/tlperl/lib/B.pm b/Master/tlpkg/tlperl/lib/B.pm
index 063eb401ae5..75ead53a15f 100644
--- a/Master/tlpkg/tlperl/lib/B.pm
+++ b/Master/tlpkg/tlperl/lib/B.pm
@@ -15,7 +15,7 @@ require Exporter;
# walkoptree comes from B.xs
BEGIN {
- $B::VERSION = '1.29';
+ $B::VERSION = '1.35';
@B::EXPORT_OK = ();
# Our BOOT code needs $VERSION set, and will append to @EXPORT_OK.
@@ -347,11 +347,11 @@ B - The Perl Compiler Backend
=head1 DESCRIPTION
The C<B> module supplies classes which allow a Perl program to delve
-into its own innards. It is the module used to implement the
-"backends" of the Perl compiler. Usage of the compiler does not
+into its own innards. It is the module used to implement the
+"backends" of the Perl compiler. Usage of the compiler does not
require knowledge of this module: see the F<O> module for the
-user-visible part. The C<B> module is of use to those who want to
-write new compiler backends. This documentation assumes that the
+user-visible part. The C<B> module is of use to those who want to
+write new compiler backends. This documentation assumes that the
reader knows a fair amount about perl's internals including such
things as SVs, OPs and the internal symbol table and syntax tree
of a program.
@@ -394,12 +394,12 @@ Returns the SV object corresponding to the C variable C<sv_no>.
Takes a reference to any Perl value, and turns the referred-to value
into an object in the appropriate B::OP-derived or B::SV-derived
-class. Apart from functions such as C<main_root>, this is the primary
+class. Apart from functions such as C<main_root>, this is the primary
way to get an initial "handle" on an internal perl data structure
which can then be followed with the other access methods.
The returned object will only be valid as long as the underlying OPs
-and SVs continue to exist. Do not attempt to use the object after the
+and SVs continue to exist. Do not attempt to use the object after the
underlying structures are freed.
=item amagic_generation
@@ -458,10 +458,10 @@ For example:
# Walk CGI's symbol table calling print_subs on each symbol.
# Recurse only into CGI::Util::
- walksymtable(\%CGI::, 'print_subs', sub { $_[0] eq 'CGI::Util::' },
- 'CGI::');
+ walksymtable(\%CGI::, 'print_subs',
+ sub { $_[0] eq 'CGI::Util::' }, 'CGI::');
-print_subs() is a B::GV method you have declared. Also see L<"B::GV
+print_subs() is a B::GV method you have declared. Also see L<"B::GV
Methods">, below.
=back
@@ -486,15 +486,15 @@ Returns the starting op of the main part of the Perl program.
=item walkoptree(OP, METHOD)
Does a tree-walk of the syntax tree based at OP and calls METHOD on
-each op it visits. Each node is visited before its children. If
+each op it visits. Each node is visited before its children. If
C<walkoptree_debug> (see below) has been called to turn debugging on then
the method C<walkoptree_debug> is called on each op before METHOD is
called.
=item walkoptree_debug(DEBUG)
-Returns the current debugging flag for C<walkoptree>. If the optional
-DEBUG argument is non-zero, it sets the debugging flag to that. See
+Returns the current debugging flag for C<walkoptree>. If the optional
+DEBUG argument is non-zero, it sets the debugging flag to that. See
the description of C<walkoptree> above for what the debugging flag
does.
@@ -519,7 +519,7 @@ Casts I to the internal I32 type used by that perl.
=item minus_c
-Does the equivalent of the C<-c> command-line option. Obviously, this
+Does the equivalent of the C<-c> command-line option. Obviously, this
is only useful in a BEGIN block or else the flag is set too late.
=item cstring(STR)
@@ -535,7 +535,7 @@ be used as a string in Perl source code.
=item class(OBJ)
Returns the class of an object without the part of the classname
-preceding the first C<"::">. This is used to turn C<"B::UNOP"> into
+preceding the first C<"::">. This is used to turn C<"B::UNOP"> into
C<"UNOP"> for example.
=item threadsv_names
@@ -572,7 +572,7 @@ or '&PL_sv_undef').
The C structures used by Perl's internals to hold SV and OP
information (PVIV, AV, HV, ..., OP, SVOP, UNOP, ...) are modelled on a
class hierarchy and the C<B> module gives access to them via a true
-object hierarchy. Structure fields which point to other objects
+object hierarchy. Structure fields which point to other objects
(whether types of SV or types of OP) are represented by the C<B>
module as Perl objects of the appropriate class.
@@ -580,18 +580,18 @@ The bulk of the C<B> module is the methods for accessing fields of
these structures.
Note that all access is read-only. You cannot modify the internals by
-using this module. Also, note that the B::OP and B::SV objects created
+using this module. Also, note that the B::OP and B::SV objects created
by this module are only valid for as long as the underlying objects
exist; their creation doesn't increase the reference counts of the
-underlying objects. Trying to access the fields of a freed object will
+underlying objects. Trying to access the fields of a freed object will
give incomprehensible results, or worse.
=head2 SV-RELATED CLASSES
B::IV, B::NV, B::RV, B::PV, B::PVIV, B::PVNV, B::PVMG, B::BM (5.9.5 and
-earlier), B::PVLV, B::AV, B::HV, B::CV, B::GV, B::FM, B::IO. These classes
+earlier), B::PVLV, B::AV, B::HV, B::CV, B::GV, B::FM, B::IO. These classes
correspond in the obvious way to the underlying C structures of similar names.
-The inheritance hierarchy mimics the underlying C "inheritance". For the
+The inheritance hierarchy mimics the underlying C "inheritance". For the
5.10.x branch, (I<ie> 5.10.0, 5.10.1 I<etc>) this is:
B::SV
@@ -661,8 +661,8 @@ references, and a new type B::REGEXP is introduced, giving this structure:
Access methods correspond to the underlying C macros for field access,
usually with the leading "class indication" prefix removed (Sv, Av,
-Hv, ...). The leading prefix is only left in cases where its removal
-would cause a clash in method name. For example, C<GvREFCNT> stays
+Hv, ...). The leading prefix is only left in cases where its removal
+would cause a clash in method name. For example, C<GvREFCNT> stays
as-is since its abbreviation would clash with the "superclass" method
C<REFCNT> (corresponding to the C function C<SvREFCNT>).
@@ -677,8 +677,8 @@ C<REFCNT> (corresponding to the C function C<SvREFCNT>).
=item object_2svref
Returns a reference to the regular scalar corresponding to this
-B::SV object. In other words, this method is the inverse operation
-to the svref_2object() subroutine. This scalar and other data it points
+B::SV object. In other words, this method is the inverse operation
+to the svref_2object() subroutine. This scalar and other data it points
at should be considered read-only: modifying them is neither safe nor
guaranteed to have a sensible effect.
@@ -691,8 +691,8 @@ guaranteed to have a sensible effect.
=item IV
Returns the value of the IV, I<interpreted as
-a signed integer>. This will be misleading
-if C<FLAGS & SVf_IVisUV>. Perhaps you want the
+a signed integer>. This will be misleading
+if C<FLAGS & SVf_IVisUV>. Perhaps you want the
C<int_value> method instead?
=item IVX
@@ -736,7 +736,7 @@ unsigned.
=item PV
-This method is the one you usually want. It constructs a
+This method is the one you usually want. It constructs a
string using the length and offset information in the struct:
for ordinary scalars it will return the string that you'd see
from Perl, even if it contains null characters.
@@ -748,14 +748,24 @@ a reference.
=item PVX
-This method is less often useful. It assumes that the string
+This method is less often useful. It assumes that the string
stored in the struct is null-terminated, and disregards the
length information.
It is the appropriate method to use if you need to get the name
-of a lexical variable from a padname array. Lexical variable names
+of a lexical variable from a padname array. Lexical variable names
are always stored with a null terminator, and the length field
-(SvCUR) is overloaded for other purposes and can't be relied on here.
+(CUR) is overloaded for other purposes and can't be relied on here.
+
+=item CUR
+
+This method returns the internal length field, which consists of the number
+of internal bytes, not necessarily the number of logical characters.
+
+=item LEN
+
+This method returns the number of bytes allocated (via malloc) for storing
+the string. This is 0 if the scalar does not "own" the string.
=back
@@ -883,6 +893,15 @@ If you're working with globs at runtime, and need to disambiguate
=head2 B::IO Methods
+B::IO objects derive from IO objects and you will get more information from
+the IO object itself.
+
+For example:
+
+ $gvio = B::svref_2object(\*main::stdin)->IO;
+ $IO = $gvio->object_2svref();
+ $fd = $IO->fileno();
+
=over 4
=item LINES
@@ -909,14 +928,29 @@ If you're working with globs at runtime, and need to disambiguate
=item IoTYPE
+A character symbolizing the type of IO Handle.
+
+ - STDIN/OUT
+ I STDIN/OUT/ERR
+ < read-only
+ > write-only
+ a append
+ + read and write
+ s socket
+ | pipe
+ I IMPLICIT
+ # NUMERIC
+ space closed handle
+ \0 closed internal handle
+
=item IoFLAGS
=item IsSTD
-Takes one arguments ( 'stdin' | 'stdout' | 'stderr' ) and returns true
+Takes one argument ( 'stdin' | 'stdout' | 'stderr' ) and returns true
if the IoIFP of the object is equal to the handle whose name was
-passed as argument ( i.e. $io->IsSTD('stderr') is true if
-IoIFP($io) == PerlIO_stdin() ).
+passed as argument; i.e., $io->IsSTD('stderr') is true if
+IoIFP($io) == PerlIO_stderr().
=back
@@ -942,7 +976,8 @@ if running under Perl 5.9
=item AvFLAGS
-This method returns the AV specific flags. In Perl 5.9 these are now stored
+This method returns the AV specific
+flags. In Perl 5.9 these are now stored
in with the main SV flags, so this method is no longer present.
=back
@@ -1010,7 +1045,7 @@ C<B::OP>, C<B::UNOP>, C<B::BINOP>, C<B::LOGOP>, C<B::LISTOP>, C<B::PMOP>,
C<B::SVOP>, C<B::PADOP>, C<B::PVOP>, C<B::LOOP>, C<B::COP>.
These classes correspond in the obvious way to the underlying C
-structures of similar names. The inheritance hierarchy mimics the
+structures of similar names. The inheritance hierarchy mimics the
underlying C "inheritance":
B::OP
@@ -1176,6 +1211,8 @@ Only when perl was compiled with ithreads.
=item stashpv
+=item stashlen
+
=item file
=item cop_seq
diff --git a/Master/tlpkg/tlperl/lib/B/Concise.pm b/Master/tlpkg/tlperl/lib/B/Concise.pm
index 014a4df84d1..6db2e0ce95c 100644
--- a/Master/tlpkg/tlperl/lib/B/Concise.pm
+++ b/Master/tlpkg/tlperl/lib/B/Concise.pm
@@ -14,7 +14,7 @@ use warnings; # uses #3 and #4, since warnings uses Carp
use Exporter (); # use #5
-our $VERSION = "0.83";
+our $VERSION = "0.89";
our @ISA = qw(Exporter);
our @EXPORT_OK = qw( set_style set_style_standard add_callback
concise_subref concise_cv concise_main
@@ -595,12 +595,13 @@ our %priv; # used to display each opcode's BASEOP.op_private values
$priv{$_}{128} = "LVINTRO"
for ("pos", "substr", "vec", "threadsv", "gvsv", "rv2sv", "rv2hv", "rv2gv",
"rv2av", "rv2arylen", "aelem", "helem", "aslice", "hslice", "padsv",
- "padav", "padhv", "enteriter");
+ "padav", "padhv", "enteriter", "entersub");
$priv{$_}{64} = "REFC" for ("leave", "leavesub", "leavesublv", "leavewrite");
$priv{"aassign"}{64} = "COMMON";
$priv{"aassign"}{32} = $] < 5.009 ? "PHASH" : "STATE";
$priv{"sassign"}{32} = "STATE";
$priv{"sassign"}{64} = "BKWARD";
+$priv{"sassign"}{128}= "CV2GV";
$priv{$_}{64} = "RTIME" for ("match", "subst", "substcont", "qr");
@{$priv{"trans"}}{1,2,4,8,16,64} = ("<UTF", ">UTF", "IDENT", "SQUASH", "DEL",
"COMPL", "GROWS");
@@ -611,12 +612,16 @@ $priv{$_}{4} = "DREFed" for (qw(rv2sv rv2av rv2hv));
@{$priv{$_}}{32,64,96} = ("DREFAV", "DREFHV", "DREFSV")
for (qw(rv2gv rv2sv padsv aelem helem));
$priv{$_}{16} = "STATE" for ("padav", "padhv", "padsv");
-@{$priv{"entersub"}}{16,32,64} = ("DBG","TARG","NOMOD");
-@{$priv{$_}}{4,8,128} = ("INARGS","AMPER","NO()") for ("entersub", "rv2cv");
+@{$priv{rv2gv}}{4,16} = qw "NOINIT FAKE";
+@{$priv{"entersub"}}{1,4,16,32,64} = qw( INARGS TARG DBG DEREF );
+@{$priv{rv2cv}}{1,8,128} = ("CONST","AMPER","NO()");
$priv{"gv"}{32} = "EARLYCV";
$priv{"aelem"}{16} = $priv{"helem"}{16} = "LVDEFER";
$priv{$_}{16} = "OURINTR" for ("gvsv", "rv2sv", "rv2av", "rv2hv", "r2gv",
"enteriter");
+$priv{$_}{8} = 'LVSUB' for qw(rv2av rv2gv rv2hv padav padhv aelem helem
+ aslice hslice av2arylen keys rkeys substr pos vec);
+$priv{substr}{16} = 'REPL1ST';
$priv{$_}{16} = "TARGMY"
for (map(($_,"s$_"),"chop", "chomp"),
map(($_,"i_$_"), "postinc", "postdec", "multiply", "divide", "modulo",
@@ -630,7 +635,8 @@ $priv{$_}{16} = "TARGMY"
"exec", "kill", "getppid", "getpgrp", "setpgrp", "getpriority",
"setpriority", "time", "sleep");
$priv{$_}{4} = "REVERSED" for ("enteriter", "iter");
-@{$priv{"const"}}{4,8,16,32,64,128} = ("SHORT","STRICT","ENTERED",'$[',"BARE","WARN");
+@{$priv{"const"}}{2,4,8,16,64,128} =
+ ("NOVER","SHORT","STRICT","ENTERED","BARE","WARN");
$priv{"flip"}{64} = $priv{"flop"}{64} = "LINENUM";
$priv{"list"}{64} = "GUESSED";
$priv{"delete"}{64} = "SLICE";
@@ -643,10 +649,10 @@ $priv{"threadsv"}{64} = "SVREFd";
$priv{"exit"}{128} = "VMS";
$priv{$_}{2} = "FTACCESS"
for ("ftrread", "ftrwrite", "ftrexec", "fteread", "ftewrite", "fteexec");
-$priv{"entereval"}{2} = "HAS_HH";
+@{$priv{"entereval"}}{2,4,8,16} = qw "HAS_HH UNI BYTES COPHH";
if ($] >= 5.009) {
# Stacked filetests are post 5.8.x
- $priv{$_}{4} = "FTSTACKED"
+ @{$priv{$_}}{4,8,16} = ("FTSTACKED","FTSTACKING","FTAFTERt")
for ("ftrread", "ftrwrite", "ftrexec", "fteread", "ftewrite", "fteexec",
"ftis", "fteowned", "ftrowned", "ftzero", "ftsize", "ftmtime",
"ftatime", "ftctime", "ftsock", "ftchr", "ftblk", "ftfile", "ftdir",
@@ -656,13 +662,15 @@ if ($] >= 5.009) {
$priv{$_}{2} = "GREPLEX"
for ("mapwhile", "mapstart", "grepwhile", "grepstart");
}
+$priv{$_}{128} = '+1' for qw "caller wantarray runcv";
+@{$priv{coreargs}}{1,2,64,128} = ('DREF1','DREF2','$MOD','MARK');
our %hints; # used to display each COP's op_hints values
# strict refs, subs, vars
-@hints{2,512,1024} = ('$', '&', '*');
-# integers, locale, bytes, arybase
-@hints{1,4,8,16,32} = ('i', 'l', 'b', '[');
+@hints{2,512,1024,32,64,128} = ('$', '&', '*', 'x$', 'x&', 'x*');
+# integers, locale, bytes
+@hints{1,4,8,16} = ('i', 'l', 'b');
# block scope, localise %^H, $^OPEN (in), $^OPEN (out)
@hints{256,131072,262144,524288} = ('{','%','<','>');
# overload new integer, float, binary, string, re
@@ -850,9 +858,7 @@ sub concise_op {
my $ln = $op->line;
$loc .= ":$ln";
my($stash, $cseq) = ($op->stash->NAME, $op->cop_seq - $cop_seq_base);
- my $arybase = $op->arybase;
- $arybase = $arybase ? ' $[=' . $arybase : "";
- $h{arg} = "($label$stash $cseq $loc$arybase)";
+ $h{arg} = "($label$stash $cseq $loc)";
if ($show_src) {
fill_srclines($pathnm) unless exists $srclines{$pathnm};
# Would love to retain Jim's use of // but this code needs to be
@@ -1255,7 +1261,7 @@ usual convention for Arabic numerals, and the default.
=item B<-littleendian>
-Print seqence numbers with the least significant digit first. This is
+Print sequence numbers with the least significant digit first. This is
obviously mutually exclusive with bigendian.
=back
@@ -1541,10 +1547,12 @@ string if this is not a COP. Here are the symbols used:
$ strict refs
& strict subs
* strict vars
+ x$ explicit use/no strict refs
+ x& explicit use/no strict subs
+ x* explicit use/no strict vars
i integers
l locale
b bytes
- [ arybase
{ block scope
% localise %^H
< open in
diff --git a/Master/tlpkg/tlperl/lib/B/Debug.pm b/Master/tlpkg/tlperl/lib/B/Debug.pm
index 17f026d9fa8..fb8db3ff20b 100644
--- a/Master/tlpkg/tlperl/lib/B/Debug.pm
+++ b/Master/tlpkg/tlperl/lib/B/Debug.pm
@@ -1,6 +1,6 @@
package B::Debug;
-our $VERSION = '1.16';
+our $VERSION = '1.17';
use strict;
require 5.006;
@@ -414,6 +414,6 @@ Copyright (c) 2008, 2010 Reini Urban
distribution. You should also have received a copy of the GNU General
Public License, in the file named "Copying". If not, you can get one
from the Perl distribution or else write to the Free Software Foundation,
- Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
=cut
diff --git a/Master/tlpkg/tlperl/lib/B/Deparse.pm b/Master/tlpkg/tlperl/lib/B/Deparse.pm
index f3c304f8263..b0f172d61b3 100644
--- a/Master/tlpkg/tlperl/lib/B/Deparse.pm
+++ b/Master/tlpkg/tlperl/lib/B/Deparse.pm
@@ -14,29 +14,28 @@ use B qw(class main_root main_start main_cv svref_2object opnumber perlstring
OPf_KIDS OPf_REF OPf_STACKED OPf_SPECIAL OPf_MOD
OPpLVAL_INTRO OPpOUR_INTRO OPpENTERSUB_AMPER OPpSLICE OPpCONST_BARE
OPpTRANS_SQUASH OPpTRANS_DELETE OPpTRANS_COMPLEMENT OPpTARGET_MY
- OPpCONST_ARYBASE OPpEXISTS_SUB OPpSORT_NUMERIC OPpSORT_INTEGER
+ OPpEXISTS_SUB OPpSORT_NUMERIC OPpSORT_INTEGER
OPpSORT_REVERSE
SVf_IOK SVf_NOK SVf_ROK SVf_POK SVpad_OUR SVf_FAKE SVs_RMG SVs_SMG
CVf_METHOD CVf_LVALUE
PMf_KEEP PMf_GLOBAL PMf_CONTINUE PMf_EVAL PMf_ONCE
- PMf_MULTILINE PMf_SINGLELINE PMf_FOLD PMf_EXTENDED),
- ($] < 5.008004 ? () : 'OPpSORT_INPLACE'),
- ($] < 5.008006 ? () : qw(OPpSORT_DESCEND OPpITER_REVERSED)),
- ($] < 5.008009 ? () : qw(OPpCONST_NOVER OPpPAD_STATE)),
- ($] < 5.009 ? 'PMf_SKIPWHITE' : qw(RXf_SKIPWHITE)),
- ($] < 5.011 ? 'CVf_LOCKED' : 'OPpREVERSE_INPLACE'),
- ($] < 5.013 ? () : 'PMf_NONDESTRUCT');
-$VERSION = "1.04";
+ PMf_MULTILINE PMf_SINGLELINE PMf_FOLD PMf_EXTENDED);
+$VERSION = '1.14_01';
use strict;
use vars qw/$AUTOLOAD/;
use warnings ();
+require feature;
BEGIN {
+ # List version-specific constants here.
# Easiest way to keep this code portable between version looks to
# be to fake up a dummy constant that will never actually be true.
foreach (qw(OPpSORT_INPLACE OPpSORT_DESCEND OPpITER_REVERSED OPpCONST_NOVER
- OPpPAD_STATE RXf_SKIPWHITE CVf_LOCKED OPpREVERSE_INPLACE
- PMf_NONDESTRUCT)) {
+ OPpPAD_STATE PMf_SKIPWHITE RXf_SKIPWHITE
+ RXf_PMf_CHARSET RXf_PMf_KEEPCOPY
+ CVf_LOCKED OPpREVERSE_INPLACE OPpSUBSTR_REPL_FIRST
+ PMf_NONDESTRUCT OPpCONST_ARYBASE OPpEVAL_BYTES)) {
+ eval { import B $_ };
no strict 'refs';
*{$_} = sub () {0} unless *{$_}{CODE};
}
@@ -47,10 +46,10 @@ BEGIN {
# - fixed reference constants (\"str")
# - handle empty programs gracefully
# - handle infinite loops (for (;;) {}, while (1) {})
-# - differentiate between `for my $x ...' and `my $x; for $x ...'
+# - differentiate between 'for my $x ...' and 'my $x; for $x ...'
# - various minor cleanups
# - moved globals into an object
-# - added `-u', like B::C
+# - added '-u', like B::C
# - package declarations using cop_stash
# - subs, formats and code sorted by cop_seq
# Changes between 0.51 and 0.52:
@@ -58,10 +57,10 @@ BEGIN {
# - added documentation
# Changes between 0.52 and 0.53:
# - many changes adding precedence contexts and associativity
-# - added `-p' and `-s' output style options
+# - added '-p' and '-s' output style options
# - various other minor fixes
# Changes between 0.53 and 0.54:
-# - added support for new `for (1..100)' optimization,
+# - added support for new 'for (1..100)' optimization,
# thanks to Gisle Aas
# Changes between 0.54 and 0.55:
# - added support for new qr// construct
@@ -70,16 +69,16 @@ BEGIN {
# - tested on base/*.t, cmd/*.t, comp/*.t, io/*.t
# - fixed $# on non-lexicals broken in last big rewrite
# - added temporary fix for change in opcode of OP_STRINGIFY
-# - fixed problem in 0.54's for() patch in `for (@ary)'
+# - fixed problem in 0.54's for() patch in 'for (@ary)'
# - fixed precedence in conditional of ?:
-# - tweaked list paren elimination in `my($x) = @_'
+# - tweaked list paren elimination in 'my($x) = @_'
# - made continue-block detection trickier wrt. null ops
# - fixed various prototype problems in pp_entersub
# - added support for sub prototypes that never get GVs
# - added unquoting for special filehandle first arg in truncate
-# - print doubled rv2gv (a bug) as `*{*GV}' instead of illegal `**GV'
+# - print doubled rv2gv (a bug) as '*{*GV}' instead of illegal '**GV'
# - added semicolons at the ends of blocks
-# - added -l `#line' declaration option -- fixes cmd/subval.t 27,28
+# - added -l '#line' declaration option -- fixes cmd/subval.t 27,28
# Changes between 0.56 and 0.561:
# - fixed multiply-declared my var in pp_truncate (thanks to Sarathy)
# - used new B.pm symbolic constants (done by Nick Ing-Simmons)
@@ -92,7 +91,7 @@ BEGIN {
# Changes after 0.57:
# - added parens in \&foo (patch by Albert Dvornik)
# Changes between 0.57 and 0.58:
-# - fixed `0' statements that weren't being printed
+# - fixed '0' statements that weren't being printed
# - added methods for use from other programs
# (based on patches from James Duncan and Hugo van der Sanden)
# - added -si and -sT to control indenting (also based on a patch from Hugo)
@@ -104,7 +103,7 @@ BEGIN {
# Changes between 0.58 and 0.59
# - added support for Chip's OP_METHOD_NAMED
# - added support for Ilya's OPpTARGET_MY optimization
-# - elided arrows before `()' subscripts when possible
+# - elided arrows before '()' subscripts when possible
# Changes between 0.59 and 0.60
# - support for method attributes was added
# - some warnings fixed
@@ -154,7 +153,7 @@ BEGIN {
# - configurable syntax highlighting: ANSI color, HTML, TeX, etc.
# - more style options: brace style, hex vs. octal, quotes, ...
# - print big ints as hex/octal instead of decimal (heuristic?)
-# - handle `my $x if 0'?
+# - handle 'my $x if 0'?
# - version using op_next instead of op_first/sibling?
# - avoid string copies (pass arrays, one big join?)
# - here-docs?
@@ -220,7 +219,8 @@ BEGIN {
# CV for current sub (or main program) being deparsed
#
# curcvlex:
-# Cached hash of lexical variables for curcv: keys are names,
+# Cached hash of lexical variables for curcv: keys are
+# names prefixed with "m" or "o" (representing my/our), and
# each value is an array of pairs, indicating the cop_seq of scopes
# in which a var of that name is valid.
#
@@ -243,7 +243,8 @@ BEGIN {
#
# subs_declared
# keys are names of subs for which we've printed declarations.
-# That means we can omit parentheses from the arguments.
+# That means we can omit parentheses from the arguments. It also means we
+# need to put CORE:: on core functions of the same name.
#
# subs_deparsed
# Keeps track of fully qualified names of all deparsed subs.
@@ -251,7 +252,7 @@ BEGIN {
# parens: -p
# linenums: -l
# unquote: -q
-# cuddle: ` ' or `\n', depending on -sC
+# cuddle: ' ' or '\n', depending on -sC
# indent_size: -si
# use_tabs: -sT
# ex_const: -sv
@@ -265,7 +266,7 @@ BEGIN {
# they're inside an expression or at statement level, etc. (see
# chart below). When ops with children call deparse on them, they pass
# along their precedence. Fractional values are used to implement
-# associativity (`($x + $y) + $z' => `$x + $y + $y') and related
+# associativity ('($x + $y) + $z' => '$x + $y + $y') and related
# parentheses hacks. The major disadvantage of this scheme is that
# it doesn't know about right sides and left sides, so say if you
# assign a listop to a variable, it can't tell it's allowed to leave
@@ -305,7 +306,7 @@ BEGIN {
# \cS - steal parens (see maybe_parens_unop)
# \n - newline and indent
# \t - increase indent
-# \b - decrease indent (`outdent')
+# \b - decrease indent ('outdent')
# \f - flush left (no indent)
# \cK - kill following semicolon, if any
@@ -471,7 +472,7 @@ sub begin_is_use {
}
sub stash_subs {
- my ($self, $pack) = @_;
+ my ($self, $pack, $seen) = @_;
my (@ret, $stash);
if (!defined $pack) {
$pack = '';
@@ -482,6 +483,10 @@ sub stash_subs {
no strict 'refs';
$stash = \%{"main::$pack"};
}
+ return
+ if ($seen ||= {})->{
+ $INC{"overload.pm"} ? overload::StrVal($stash) : $stash
+ }++;
my %stash = svref_2object($stash)->ARRAY;
while (my ($key, $val) = each %stash) {
my $class = class($val);
@@ -520,9 +525,7 @@ sub stash_subs {
$self->todo($cv, 1);
}
if (class($val->HV) ne "SPECIAL" && $key =~ /::$/) {
- $self->stash_subs($pack . $key)
- unless $pack eq '' && $key eq 'main::';
- # avoid infinite recursion
+ $self->stash_subs($pack . $key, $seen);
}
}
}
@@ -706,6 +709,11 @@ sub coderef2text {
return $self->indent($self->deparse_sub(svref_2object($sub)));
}
+my %strict_bits = do {
+ local $^H;
+ map +($_ => strict::bits($_)), qw/refs subs vars/
+};
+
sub ambient_pragmas {
my $self = shift;
my ($arybase, $hint_bits, $warning_bits, $hinthash) = (0, 0);
@@ -718,7 +726,7 @@ sub ambient_pragmas {
require strict;
if ($val eq 'none') {
- $hint_bits &= ~strict::bits(qw/refs subs vars/);
+ $hint_bits &= $strict_bits{$_} for qw/refs subs vars/;
next();
}
@@ -732,11 +740,15 @@ sub ambient_pragmas {
else {
@names = split' ', $val;
}
- $hint_bits |= strict::bits(@names);
+ $hint_bits |= $strict_bits{$_} for @names;
}
elsif ($name eq '$[') {
- $arybase = $val;
+ if (OPpCONST_ARYBASE) {
+ $arybase = $val;
+ } else {
+ croak "\$[ can't be non-zero on this perl" unless $val == 0;
+ }
}
elsif ($name eq 'integer'
@@ -948,7 +960,7 @@ sub is_state {
return $name eq "nextstate" || $name eq "dbstate" || $name eq "setstate";
}
-sub is_miniwhile { # check for one-line loop (`foo() while $y--')
+sub is_miniwhile { # check for one-line loop ('foo() while $y--')
my $op = shift;
return (!null($op) and null($op->sibling)
and $op->name eq "null" and class($op) eq "UNOP"
@@ -1008,7 +1020,7 @@ sub maybe_parens {
}
}
-# same as above, but get around the `if it looks like a function' rule
+# same as above, but get around the 'if it looks like a function' rule
sub maybe_parens_unop {
my $self = shift;
my($name, $kid, $cx) = @_;
@@ -1017,18 +1029,19 @@ sub maybe_parens_unop {
if ($name eq "umask" && $kid =~ /^\d+$/) {
$kid = sprintf("%#o", $kid);
}
- return "$name($kid)";
+ return $self->keyword($name) . "($kid)";
} else {
$kid = $self->deparse($kid, 16);
if ($name eq "umask" && $kid =~ /^\d+$/) {
$kid = sprintf("%#o", $kid);
}
+ $name = $self->keyword($name);
if (substr($kid, 0, 1) eq "\cS") {
# use kid's parens
return $name . substr($kid, 1);
} elsif (substr($kid, 0, 1) eq "(") {
# avoid looks-like-a-function trap with extra parens
- # (`+' can lead to ambiguities)
+ # ('+' can lead to ambiguities)
return "$name(" . $kid . ")";
} else {
return "$name $kid";
@@ -1093,7 +1106,9 @@ sub maybe_my {
my $self = shift;
my($op, $cx, $text) = @_;
if ($op->private & OPpLVAL_INTRO and not $self->{'avoid_local'}{$$op}) {
- my $my = $op->private & OPpPAD_STATE ? "state" : "my";
+ my $my = $op->private & OPpPAD_STATE
+ ? $self->keyword("state")
+ : "my";
if (want_scalar($op)) {
return "$my $text";
} else {
@@ -1247,32 +1262,35 @@ BEGIN { map($globalnames{$_}++, "SIG", "STDIN", "STDOUT", "STDERR", "INC",
sub gv_name {
my $self = shift;
my $gv = shift;
+ my $raw = shift;
Carp::confess() unless ref($gv) eq "B::GV";
my $stash = $gv->STASH->NAME;
- my $name = $gv->SAFENAME;
+ my $name = $raw ? $gv->NAME : $gv->SAFENAME;
if ($stash eq 'main' && $name =~ /^::/) {
$stash = '::';
}
- elsif (($stash eq 'main' && $globalnames{$name})
+ elsif (($stash eq 'main'
+ && ($globalnames{$name} || $name =~ /^[^A-Za-z_:]/))
or ($stash eq $self->{'curstash'} && !$globalnames{$name}
&& ($stash eq 'main' || $name !~ /::/))
- or $name =~ /^[^A-Za-z_:]/)
+ )
{
$stash = "";
} else {
$stash = $stash . "::";
}
- if ($name =~ /^(\^..|{)/) {
+ if (!$raw and $name =~ /^(\^..|{)/) {
$name = "{$name}"; # ${^WARNING_BITS}, etc and ${
}
return $stash . $name;
}
# Return the name to use for a stash variable.
-# If a lexical with the same name is in scope, it may need to be
+# If a lexical with the same name is in scope, or
+# if strictures are enabled, it may need to be
# fully-qualified.
sub stash_variable {
- my ($self, $prefix, $name) = @_;
+ my ($self, $prefix, $name, $cx) = @_;
return "$prefix$name" if $name =~ /::/;
@@ -1281,13 +1299,55 @@ sub stash_variable {
return "$prefix$name";
}
+ if ($name =~ /^[^\w+-]$/) {
+ if (defined $cx && $cx == 26) {
+ if ($prefix eq '@') {
+ return "$prefix\{$name}";
+ }
+ elsif ($name eq '#') { return '${#}' } # "${#}a" vs "$#a"
+ }
+ if ($prefix eq '$#') {
+ return "\$#{$name}";
+ }
+ }
+
+ return $prefix . $self->maybe_qualify($prefix, $name);
+}
+
+# Return just the name, without the prefix. It may be returned as a quoted
+# string. The second return value is a boolean indicating that.
+sub stash_variable_name {
+ my($self, $prefix, $gv) = @_;
+ my $name = $self->gv_name($gv, 1);
+ $name = $self->maybe_qualify($prefix,$name);
+ if ($name =~ /^(?:\S|(?!\d)[\ca-\cz]?(?:\w|::)*|\d+)\z/) {
+ $name =~ s/^([\ca-\cz])/'^'.($1|'@')/e;
+ $name =~ /^(\^..|{)/ and $name = "{$name}";
+ return $name, 0; # not quoted
+ }
+ else {
+ single_delim("q", "'", $name), 1;
+ }
+}
+
+sub maybe_qualify {
+ my ($self,$prefix,$name) = @_;
my $v = ($prefix eq '$#' ? '@' : $prefix) . $name;
- return $prefix .$self->{'curstash'}.'::'. $name if $self->lex_in_scope($v);
- return "$prefix$name";
+ return $name if !$prefix || $name =~ /::/;
+ return $self->{'curstash'}.'::'. $name
+ if
+ $name =~ /^(?!\d)\w/ # alphabetic
+ && $v !~ /^\$[ab]\z/ # not $a or $b
+ && !$globalnames{$name} # not a global name
+ && $self->{hints} & $strict_bits{vars} # strict vars
+ && !$self->lex_in_scope($v,1) # no "our"
+ or $self->lex_in_scope($v); # conflicts with "my" variable
+ return $name;
}
sub lex_in_scope {
- my ($self, $name) = @_;
+ my ($self, $name, $our) = @_;
+ substr $name, 0, 0, = $our ? 'o' : 'm'; # our/my
$self->populate_curcvlex() if !defined $self->{'curcvlex'};
return 0 if !defined($self->{'curcop'});
@@ -1311,7 +1371,6 @@ sub populate_curcvlex {
for (my $i=0; $i<@ns; ++$i) {
next if class($ns[$i]) eq "SPECIAL";
- next if $ns[$i]->FLAGS & SVpad_OUR; # Skip "our" vars
if (class($ns[$i]) eq "PV") {
# Probably that pesky lexical @_
next;
@@ -1322,7 +1381,9 @@ sub populate_curcvlex {
? (0, 999999)
: ($ns[$i]->COP_SEQ_RANGE_LOW, $ns[$i]->COP_SEQ_RANGE_HIGH);
- push @{$self->{'curcvlex'}{$name}}, [$seq_st, $seq_en];
+ push @{$self->{'curcvlex'}{
+ ($ns[$i]->FLAGS & SVpad_OUR ? 'o' : 'm') . $name
+ }}, [$seq_st, $seq_en];
}
}
}
@@ -1388,6 +1449,14 @@ sub seq_subs {
return @text;
}
+sub _features_from_bundle {
+ my ($hints, $hh) = @_;
+ foreach (@{$feature::feature_bundle{@feature::hint_bundles[$hints >> $feature::hint_shift]}}) {
+ $hh->{$feature::feature{$_}} = 1;
+ }
+ return $hh;
+}
+
# Notice how subs and formats are inserted between statements here;
# also $[ assignments and pragmas.
sub pp_nextstate {
@@ -1402,7 +1471,7 @@ sub pp_nextstate {
$self->{'curstash'} = $stash;
}
- if ($self->{'arybase'} != $op->arybase) {
+ if (OPpCONST_ARYBASE && $self->{'arybase'} != $op->arybase) {
push @text, '$[ = '. $op->arybase .";\n";
$self->{'arybase'} = $op->arybase;
}
@@ -1429,17 +1498,47 @@ sub pp_nextstate {
}
my $hints = $] < 5.008009 ? $op->private : $op->hints;
+ my $old_hints = $self->{'hints'};
if ($self->{'hints'} != $hints) {
push @text, declare_hints($self->{'hints'}, $hints);
$self->{'hints'} = $hints;
}
- # hack to check that the hint hash hasn't changed
- if ($] > 5.009 &&
- "@{[sort %{$self->{'hinthash'} || {}}]}"
- ne "@{[sort %{$op->hints_hash->HASH || {}}]}") {
- push @text, declare_hinthash($self->{'hinthash'}, $op->hints_hash->HASH, $self->{indent_size});
- $self->{'hinthash'} = $op->hints_hash->HASH;
+ my $newhh;
+ if ($] > 5.009) {
+ $newhh = $op->hints_hash->HASH;
+ }
+
+ if ($] >= 5.015006) {
+ # feature bundle hints
+ my $from = $old_hints & $feature::hint_mask;
+ my $to = $ hints & $feature::hint_mask;
+ if ($from != $to) {
+ if ($to == $feature::hint_mask) {
+ if ($self->{'hinthash'}) {
+ delete $self->{'hinthash'}{$_}
+ for grep /^feature_/, keys %{$self->{'hinthash'}};
+ }
+ else { $self->{'hinthash'} = {} }
+ $self->{'hinthash'}
+ = _features_from_bundle($from, $self->{'hinthash'});
+ }
+ else {
+ my $bundle =
+ $feature::hint_bundles[$to >> $feature::hint_shift];
+ $bundle =~ s/(\d[13579])\z/$1+1/e; # 5.11 => 5.12
+ push @text, "no feature;\n",
+ "use feature ':$bundle';\n";
+ }
+ }
+ }
+
+ if ($] > 5.009) {
+ push @text, declare_hinthash(
+ $self->{'hinthash'}, $newhh,
+ $self->{indent_size}, $self->{hints},
+ );
+ $self->{'hinthash'} = $newhh;
}
# This should go after of any branches that add statements, to
@@ -1486,32 +1585,77 @@ my %ignored_hints = (
'open<' => 1,
'open>' => 1,
':' => 1,
+ 'strict/refs' => 1,
+ 'strict/subs' => 1,
+ 'strict/vars' => 1,
);
+my %rev_feature;
+
sub declare_hinthash {
- my ($from, $to, $indent) = @_;
+ my ($from, $to, $indent, $hints) = @_;
+ my $doing_features =
+ ($hints & $feature::hint_mask) == $feature::hint_mask;
my @decls;
- for my $key (keys %$to) {
+ my @features;
+ my @unfeatures; # bugs?
+ for my $key (sort keys %$to) {
next if $ignored_hints{$key};
- if (!defined $from->{$key} or $from->{$key} ne $to->{$key}) {
- push @decls, qq(\$^H{'$key'} = q($to->{$key}););
+ my $is_feature = $key =~ /^feature_/ && $^V ge 5.15.6;
+ next if $is_feature and not $doing_features;
+ if (!exists $from->{$key} or $from->{$key} ne $to->{$key}) {
+ push(@features, $key), next if $is_feature;
+ push @decls,
+ qq(\$^H{) . single_delim("q", "'", $key) . qq(} = )
+ . (
+ defined $to->{$key}
+ ? single_delim("q", "'", $to->{$key})
+ : 'undef'
+ )
+ . qq(;);
}
}
- for my $key (keys %$from) {
+ for my $key (sort keys %$from) {
next if $ignored_hints{$key};
+ my $is_feature = $key =~ /^feature_/ && $^V ge 5.15.6;
+ next if $is_feature and not $doing_features;
if (!exists $to->{$key}) {
+ push(@unfeatures, $key), next if $is_feature;
push @decls, qq(delete \$^H{'$key'};);
}
}
- @decls or return '';
- return join("\n" . (" " x $indent), "BEGIN {", @decls) . "\n}\n";
+ my @ret;
+ if (@features || @unfeatures) {
+ if (!%rev_feature) { %rev_feature = reverse %feature::feature }
+ }
+ if (@features) {
+ push @ret, "use feature "
+ . join(", ", map "'$rev_feature{$_}'", @features) . ";\n";
+ }
+ if (@unfeatures) {
+ push @ret, "no feature "
+ . join(", ", map "'$rev_feature{$_}'", @unfeatures)
+ . ";\n";
+ }
+ @decls and
+ push @ret,
+ join("\n" . (" " x $indent), "BEGIN {", @decls) . "\n}\n";
+ return @ret;
}
sub hint_pragmas {
my ($bits) = @_;
- my @pragmas;
+ my (@pragmas, @strict);
push @pragmas, "integer" if $bits & 0x1;
- push @pragmas, "strict 'refs'" if $bits & 0x2;
+ for (sort keys %strict_bits) {
+ push @strict, "'$_'" if $bits & $strict_bits{$_};
+ }
+ if (@strict == keys %strict_bits) {
+ push @pragmas, "strict";
+ }
+ elsif (@strict) {
+ push @pragmas, "strict " . join ', ', @strict;
+ }
push @pragmas, "bytes" if $bits & 0x8;
return @pragmas;
}
@@ -1521,10 +1665,52 @@ sub pp_setstate { pp_nextstate(@_) }
sub pp_unstack { return "" } # see also leaveloop
+my %feature_keywords = (
+ # keyword => 'feature',
+ state => 'state',
+ say => 'say',
+ given => 'switch',
+ when => 'switch',
+ default => 'switch',
+ break => 'switch',
+ evalbytes=>'evalbytes',
+ __SUB__ => '__SUB__',
+ fc => 'fc',
+);
+
+sub keyword {
+ my $self = shift;
+ my $name = shift;
+ return $name if $name =~ /^CORE::/; # just in case
+ if (exists $feature_keywords{$name}) {
+ my $hh;
+ my $hints = $self->{hints} & $feature::hint_mask;
+ if ($hints && $hints != $feature::hint_mask) {
+ $hh = _features_from_bundle($hints);
+ }
+ elsif ($hints) { $hh = $self->{'hinthash'} }
+ return "CORE::$name"
+ if !$hh
+ || !$hh->{"feature_$feature_keywords{$name}"}
+ }
+ if (
+ $name !~ /^(?:chom?p|do|exec|glob|s(?:elect|ystem))\z/
+ && !defined eval{prototype "CORE::$name"}
+ ) { return $name }
+ if (
+ exists $self->{subs_declared}{$name}
+ or
+ exists &{"$self->{curstash}::$name"}
+ ) {
+ return "CORE::$name"
+ }
+ return $name;
+}
+
sub baseop {
my $self = shift;
my($op, $cx, $name) = @_;
- return $name;
+ return $self->keyword($name);
}
sub pp_stub {
@@ -1569,7 +1755,13 @@ sub pfixop {
my($op, $cx, $name, $prec, $flags) = (@_, 0);
my $kid = $op->first;
$kid = $self->deparse($kid, $prec);
- return $self->maybe_parens(($flags & POSTFIX) ? "$kid$name" : "$name$kid",
+ return $self->maybe_parens(($flags & POSTFIX)
+ ? "$kid$name"
+ # avoid confusion with filetests
+ : $name eq '-'
+ && $kid =~ /^[a-zA-Z](?!\w)/
+ ? "$name($kid)"
+ : "$name$kid",
$cx, $prec);
}
@@ -1600,7 +1792,7 @@ sub pp_not {
my $self = shift;
my($op, $cx) = @_;
if ($cx <= 4) {
- $self->pfixop($op, $cx, "not ", 4);
+ $self->listop($op, $cx, "not", $op->first);
} else {
$self->pfixop($op, $cx, "!", 21);
}
@@ -1608,7 +1800,7 @@ sub pp_not {
sub unop {
my $self = shift;
- my($op, $cx, $name) = @_;
+ my($op, $cx, $name, $nollafr) = @_;
my $kid;
if ($op->flags & OPf_KIDS) {
$kid = $op->first;
@@ -1624,9 +1816,18 @@ sub unop {
$kid = $kid->first;
}
+ if ($nollafr) {
+ ($kid = $self->deparse($kid, 16)) =~ s/^\cS//;
+ return $self->maybe_parens(
+ $self->keyword($name) . " $kid", $cx, 16
+ );
+ }
return $self->maybe_parens_unop($name, $kid, $cx);
} else {
- return $name . ($op->flags & OPf_SPECIAL ? "()" : "");
+ return $self->maybe_parens(
+ $self->keyword($name) . ($op->flags & OPf_SPECIAL ? "()" : ""),
+ $cx, 16,
+ );
}
}
@@ -1659,6 +1860,7 @@ sub pp_chr { maybe_targmy(@_, \&unop, "chr") }
sub pp_each { unop(@_, "each") }
sub pp_values { unop(@_, "values") }
sub pp_keys { unop(@_, "keys") }
+{ no strict 'refs'; *{"pp_r$_"} = *{"pp_$_"} for qw< keys each values >; }
sub pp_boolkeys {
# no name because its an optimisation op that has no keyword
unop(@_,"");
@@ -1700,8 +1902,17 @@ sub pp_gmtime { unop(@_, "gmtime") }
sub pp_alarm { unop(@_, "alarm") }
sub pp_sleep { maybe_targmy(@_, \&unop, "sleep") }
-sub pp_dofile { unop(@_, "do") }
-sub pp_entereval { unop(@_, "eval") }
+sub pp_dofile {
+ my $code = unop(@_, "do", 1); # llafr does not apply
+ if ($code =~ s/^((?:CORE::)?do) \{/$1({/) { $code .= ')' }
+ $code;
+}
+sub pp_entereval {
+ unop(
+ @_,
+ $_[1]->private & OPpEVAL_BYTES ? $_[0]->keyword('evalbytes') : "eval"
+ )
+}
sub pp_ghbyname { unop(@_, "gethostbyname") }
sub pp_gnbyname { unop(@_, "getnetbyname") }
@@ -1718,11 +1929,7 @@ sub pp_ggrgid { unop(@_, "getgrgid") }
sub pp_lock { unop(@_, "lock") }
sub pp_continue { unop(@_, "continue"); }
-sub pp_break {
- my ($self, $op) = @_;
- return "" if $op->flags & OPf_SPECIAL;
- unop(@_, "break");
-}
+sub pp_break { unop(@_, "break"); }
sub givwhen {
my $self = shift;
@@ -1731,7 +1938,7 @@ sub givwhen {
my $enterop = $op->first;
my ($head, $block);
if ($enterop->flags & OPf_SPECIAL) {
- $head = "default";
+ $head = $self->keyword("default");
$block = $self->deparse($enterop->first, 0);
}
else {
@@ -1746,8 +1953,8 @@ sub givwhen {
"\b}\cK";
}
-sub pp_leavegiven { givwhen(@_, "given"); }
-sub pp_leavewhen { givwhen(@_, "when"); }
+sub pp_leavegiven { givwhen(@_, $_[0]->keyword("given")); }
+sub pp_leavewhen { givwhen(@_, $_[0]->keyword("when")); }
sub pp_exists {
my $self = shift;
@@ -1804,9 +2011,16 @@ sub pp_require {
my $name = $self->const_sv($op->first)->PV;
$name =~ s[/][::]g;
$name =~ s/\.pm//g;
- return "$opname $name";
+ return $self->maybe_parens("$opname $name", $cx, 16);
} else {
- $self->unop($op, $cx, $op->first->private & OPpCONST_NOVER ? "no" : $opname);
+ $self->unop(
+ $op, $cx,
+ $op->first->name eq 'const'
+ && $op->first->private & OPpCONST_NOVER
+ ? "no"
+ : $opname,
+ 1, # llafr does not apply
+ );
}
}
@@ -1931,33 +2145,38 @@ sub pp_lcfirst { dq_unop(@_, "lcfirst") }
sub pp_uc { dq_unop(@_, "uc") }
sub pp_lc { dq_unop(@_, "lc") }
sub pp_quotemeta { maybe_targmy(@_, \&dq_unop, "quotemeta") }
+sub pp_fc { dq_unop(@_, "fc") }
sub loopex {
my $self = shift;
my ($op, $cx, $name) = @_;
if (class($op) eq "PVOP") {
- return "$name " . $op->pv;
+ $name .= " " . $op->pv;
} elsif (class($op) eq "OP") {
- return $name;
+ # no-op
} elsif (class($op) eq "UNOP") {
- # Note -- loop exits are actually exempt from the
- # looks-like-a-func rule, but a few extra parens won't hurt
- return $self->maybe_parens_unop($name, $op->first, $cx);
+ (my $kid = $self->deparse($op->first, 16)) =~ s/^\cS//;
+ $name .= " $kid";
}
+ return $self->maybe_parens($name, $cx, 16);
}
sub pp_last { loopex(@_, "last") }
sub pp_next { loopex(@_, "next") }
sub pp_redo { loopex(@_, "redo") }
sub pp_goto { loopex(@_, "goto") }
-sub pp_dump { loopex(@_, "dump") }
+sub pp_dump { loopex(@_, "CORE::dump") }
sub ftst {
my $self = shift;
my($op, $cx, $name) = @_;
if (class($op) eq "UNOP") {
- # Genuine `-X' filetests are exempt from the LLAFR, but not
- # l?stat(); for the sake of clarity, give'em all parens
+ # Genuine '-X' filetests are exempt from the LLAFR, but not
+ # l?stat()
+ if ($name =~ /^-/) {
+ (my $kid = $self->deparse($op->first, 16)) =~ s/^\cS//;
+ return $self->maybe_parens("$name $kid", $cx, 16);
+ }
return $self->maybe_parens_unop($name, $op->first, $cx);
} elsif (class($op) =~ /^(SV|PAD)OP$/) {
return $self->maybe_parens_func($name, $self->pp_gv($op, 1), $cx, 16);
@@ -2006,7 +2225,7 @@ sub assoc_class {
my $op = shift;
my $name = $op->name;
if ($name eq "concat" and $op->first->name eq "concat") {
- # avoid spurious `=' -- see comment in pp_concat
+ # avoid spurious '=' -- see comment in pp_concat
return "concat";
}
if ($name eq "null" and class($op) eq "UNOP"
@@ -2023,7 +2242,7 @@ sub assoc_class {
return $name . ($op->flags & OPf_STACKED ? "=" : "");
}
-# Left associative operators, like `+', for which
+# Left associative operators, like '+', for which
# $a + $b + $c is equivalent to ($a + $b) + $c
BEGIN {
@@ -2054,7 +2273,7 @@ sub deparse_binop_left {
}
}
-# Right associative operators, like `=', for which
+# Right associative operators, like '=', for which
# $a = $b = $c is equivalent to $a = ($b = $c)
BEGIN {
@@ -2161,9 +2380,9 @@ sub pp_smartmatch {
}
}
-# `.' is special because concats-of-concats are optimized to save copying
+# '.' is special because concats-of-concats are optimized to save copying
# by making all but the first concat stacked. The effect is as if the
-# programmer had written `($a . $b) .= $c', except legal.
+# programmer had written '($a . $b) .= $c', except legal.
sub pp_concat { maybe_targmy(@_, \&real_concat) }
sub real_concat {
my $self = shift;
@@ -2181,7 +2400,7 @@ sub real_concat {
return $self->maybe_parens("$left .$eq $right", $cx, $prec);
}
-# `x' is weird when the left arg is a list
+# 'x' is weird when the left arg is a list
sub pp_repeat {
my $self = shift;
my($op, $cx) = @_;
@@ -2277,20 +2496,41 @@ sub pp_andassign { logassignop(@_, "&&=") }
sub pp_orassign { logassignop(@_, "||=") }
sub pp_dorassign { logassignop(@_, "//=") }
+sub rv2gv_or_string {
+ my($self,$op) = @_;
+ if ($op->name eq "gv") { # could be open("open") or open("###")
+ my($name,$quoted) =
+ $self->stash_variable_name("", $self->gv_or_padgv($op));
+ $quoted ? $name : "*$name";
+ }
+ else {
+ $self->deparse($op, 6);
+ }
+}
+
sub listop {
my $self = shift;
- my($op, $cx, $name) = @_;
+ my($op, $cx, $name, $kid, $nollafr) = @_;
my(@exprs);
my $parens = ($cx >= 5) || $self->{'parens'};
- my $kid = $op->first->sibling;
- return $name if null $kid;
+ $kid ||= $op->first->sibling;
+ # If there are no arguments, add final parentheses (or parenthesize the
+ # whole thing if the llafr does not apply) to account for cases like
+ # (return)+1 or setpgrp()+1. When the llafr does not apply, we use a
+ # precedence of 6 (< comma), as "return, 1" does not need parentheses.
+ if (null $kid) {
+ return $nollafr
+ ? $self->maybe_parens($self->keyword($name), $cx, 7)
+ : $self->keyword($name) . '()' x (7 < $cx);
+ }
my $first;
$name = "socketpair" if $name eq "sockpair";
+ my $fullname = $self->keyword($name);
my $proto = prototype("CORE::$name");
if (defined $proto
&& $proto =~ /^;?\*/
- && $kid->name eq "rv2gv") {
- $first = $self->deparse($kid->first, 6);
+ && $kid->name eq "rv2gv" && !($kid->private & OPpLVAL_INTRO)) {
+ $first = $self->rv2gv_or_string($kid->first);
}
else {
$first = $self->deparse($kid, 6);
@@ -2298,29 +2538,43 @@ sub listop {
if ($name eq "chmod" && $first =~ /^\d+$/) {
$first = sprintf("%#o", $first);
}
- $first = "+$first" if not $parens and substr($first, 0, 1) eq "(";
+ $first = "+$first"
+ if not $parens and not $nollafr and substr($first, 0, 1) eq "(";
push @exprs, $first;
$kid = $kid->sibling;
- if (defined $proto && $proto =~ /^\*\*/ && $kid->name eq "rv2gv") {
- push @exprs, $self->deparse($kid->first, 6);
+ if (defined $proto && $proto =~ /^\*\*/ && $kid->name eq "rv2gv"
+ && !($kid->private & OPpLVAL_INTRO)) {
+ push @exprs, $first = $self->rv2gv_or_string($kid->first);
$kid = $kid->sibling;
}
for (; !null($kid); $kid = $kid->sibling) {
push @exprs, $self->deparse($kid, 6);
}
if ($name eq "reverse" && ($op->private & OPpREVERSE_INPLACE)) {
- return "$exprs[0] = $name" . ($parens ? "($exprs[0])" : " $exprs[0]");
+ return "$exprs[0] = $fullname"
+ . ($parens ? "($exprs[0])" : " $exprs[0]");
}
- if ($parens) {
- return "$name(" . join(", ", @exprs) . ")";
+ if ($parens && $nollafr) {
+ return "($fullname " . join(", ", @exprs) . ")";
+ } elsif ($parens) {
+ return "$fullname(" . join(", ", @exprs) . ")";
} else {
- return "$name " . join(", ", @exprs);
+ return "$fullname " . join(", ", @exprs);
}
}
sub pp_bless { listop(@_, "bless") }
sub pp_atan2 { maybe_targmy(@_, \&listop, "atan2") }
-sub pp_substr { maybe_local(@_, listop(@_, "substr")) }
+sub pp_substr {
+ my ($self,$op,$cx) = @_;
+ if ($op->private & OPpSUBSTR_REPL_FIRST) {
+ return
+ listop($self, $op, 7, "substr", $op->first->sibling->sibling)
+ . " = "
+ . $self->deparse($op->first->sibling, 7);
+ }
+ maybe_local(@_, listop(@_, "substr"))
+}
sub pp_vec { maybe_local(@_, listop(@_, "vec")) }
sub pp_index { maybe_targmy(@_, \&listop, "index") }
sub pp_rindex { maybe_targmy(@_, \&listop, "rindex") }
@@ -2336,9 +2590,7 @@ sub pp_unshift { maybe_targmy(@_, \&listop, "unshift") }
sub pp_reverse { listop(@_, "reverse") }
sub pp_warn { listop(@_, "warn") }
sub pp_die { listop(@_, "die") }
-# Actually, return is exempt from the LLAFR (see examples in this very
-# module!), but for consistency's sake, ignore that fact
-sub pp_return { listop(@_, "return") }
+sub pp_return { listop(@_, "return", undef, 1) } # llafr does not apply
sub pp_open { listop(@_, "open") }
sub pp_pipe_op { listop(@_, "pipe") }
sub pp_tie { listop(@_, "tie") }
@@ -2404,13 +2656,13 @@ sub pp_syscall { listop(@_, "syscall") }
sub pp_glob {
my $self = shift;
my($op, $cx) = @_;
- if ($op->flags & OPf_SPECIAL) {
- return $self->deparse($op->first->sibling);
- }
my $text = $self->dq($op->first->sibling); # skip pushmark
+ my $keyword =
+ $op->flags & OPf_SPECIAL ? 'glob' : $self->keyword('glob');
if ($text =~ /^\$?(\w|::|\`)+$/ # could look like a readline
- or $text =~ /[<>]/) {
- return 'glob(' . single_delim('qq', '"', $text) . ')';
+ or $keyword =~ /^CORE::/
+ or $text =~ /[<>]/) {
+ return "$keyword(" . single_delim('qq', '"', $text) . ')';
} else {
return '<' . $text . '>';
}
@@ -2435,10 +2687,11 @@ sub pp_truncate {
$fh = "+$fh" if not $parens and substr($fh, 0, 1) eq "(";
}
my $len = $self->deparse($kid->sibling, 6);
+ my $name = $self->keyword('truncate');
if ($parens) {
- return "truncate($fh, $len)";
+ return "$name($fh, $len)";
} else {
- return "truncate $fh, $len";
+ return "$name $fh, $len";
}
}
@@ -2446,7 +2699,7 @@ sub indirop {
my $self = shift;
my($op, $cx, $name) = @_;
my($expr, @exprs);
- my $kid = $op->first->sibling;
+ my $firstkid = my $kid = $op->first->sibling;
my $indir = "";
if ($op->flags & OPf_STACKED) {
$indir = $kid;
@@ -2470,19 +2723,20 @@ sub indirop {
$indir = '{$b cmp $a} ';
}
for (; !null($kid); $kid = $kid->sibling) {
- $expr = $self->deparse($kid, 6);
+ $expr = $self->deparse($kid, !$indir && $kid == $firstkid && $name eq "sort" && $firstkid->name eq "entersub" ? 16 : 6);
push @exprs, $expr;
}
- my $name2 = $name;
+ my $name2;
if ($name eq "sort" && $op->private & OPpSORT_REVERSE) {
- $name2 = 'reverse sort';
+ $name2 = $self->keyword('reverse') . ' ' . $self->keyword('sort');
}
+ else { $name2 = $self->keyword($name) }
if ($name eq "sort" && ($op->private & OPpSORT_INPLACE)) {
return "$exprs[0] = $name2 $indir $exprs[0]";
}
my $args = $indir . join(", ", @exprs);
- if ($indir ne "" and $name eq "sort") {
+ if ($indir ne "" && $name eq "sort") {
# We don't want to say "sort(f 1, 2, 3)", since perl -w will
# give bareword warnings in that case. Therefore if context
# requires, we'll put parens around the outside "(sort f 1, 2,
@@ -2494,6 +2748,13 @@ sub indirop {
} else {
return "$name2 $args";
}
+ } elsif (
+ !$indir && $name eq "sort"
+ && $op->first->sibling->name eq 'entersub'
+ ) {
+ # We cannot say sort foo(bar), as foo will be interpreted as a
+ # comparison routine. We have to say sort(...) in that case.
+ return "$name2($args)";
} else {
return $self->maybe_parens_func($name2, $args, $cx, 5);
}
@@ -2535,6 +2796,7 @@ sub pp_list {
my($op, $cx) = @_;
my($expr, @exprs);
my $kid = $op->first->sibling; # skip pushmark
+ return '' if class($kid) eq 'NULL';
my $lop;
my $local = "either"; # could be local(...), my(...), state(...) or our(...)
for ($lop = $kid; !null($lop); $lop = $lop->sibling) {
@@ -2712,7 +2974,7 @@ sub loop_common {
$var = "\$" . $self->deparse($var, 1);
}
$body = $kid->first->first->sibling; # skip OP_AND and OP_ITER
- if (!is_state $body->first and $body->first->name ne "stub") {
+ if (!is_state $body->first and $body->first->name !~ /^(?:stub|leave|scope)$/) {
confess unless $var eq '$_';
$body = $body->first;
return $self->deparse($body, 2) . " foreach ($ary)";
@@ -2786,10 +3048,9 @@ sub pp_leavetry {
return "eval {\n\t" . $self->pp_leave(@_) . "\n\b}";
}
-BEGIN { eval "sub OP_CONST () {" . opnumber("const") . "}" }
-BEGIN { eval "sub OP_STRINGIFY () {" . opnumber("stringify") . "}" }
-BEGIN { eval "sub OP_RV2SV () {" . opnumber("rv2sv") . "}" }
-BEGIN { eval "sub OP_LIST () {" . opnumber("list") . "}" }
+BEGIN { for (qw[ const stringify rv2sv list glob ]) {
+ eval "sub OP_\U$_ () { " . opnumber($_) . "}"
+}}
sub pp_null {
my $self = shift;
@@ -2807,6 +3068,14 @@ sub pp_null {
return $self->pp_scope($op->first, $cx);
} elsif ($op->targ == OP_STRINGIFY) {
return $self->dquote($op, $cx);
+ } elsif ($op->targ == OP_GLOB) {
+ return $self->pp_glob(
+ $op->first # entersub
+ ->first # ex-list
+ ->first # pushmark
+ ->sibling, # glob
+ $cx
+ );
} elsif (!null($op->first->sibling) and
$op->first->sibling->name eq "readline" and
$op->first->sibling->flags & OPf_STACKED) {
@@ -2877,7 +3146,7 @@ sub pp_gvsv {
my($op, $cx) = @_;
my $gv = $self->gv_or_padgv($op);
return $self->maybe_local($op, $cx, $self->stash_variable("\$",
- $self->gv_name($gv)));
+ $self->gv_name($gv), $cx));
}
sub pp_gv {
@@ -2887,22 +3156,23 @@ sub pp_gv {
return $self->gv_name($gv);
}
+sub pp_aelemfast_lex {
+ my $self = shift;
+ my($op, $cx) = @_;
+ my $name = $self->padname($op->targ);
+ $name =~ s/^@/\$/;
+ return $name . "[" . ($op->private + $self->{'arybase'}) . "]";
+}
+
sub pp_aelemfast {
my $self = shift;
my($op, $cx) = @_;
- my $name;
- if ($op->flags & OPf_SPECIAL) { # optimised PADAV
- $name = $self->padname($op->targ);
- $name =~ s/^@/\$/;
- }
- else {
- my $gv = $self->gv_or_padgv($op);
- $name = $self->gv_name($gv);
- $name = $self->{'curstash'}."::$name"
- if $name !~ /::/ && $self->lex_in_scope('@'.$name);
- $name = '$' . $name;
- }
+ # optimised PADAV, pre 5.15
+ return $self->pp_aelemfast_lex(@_) if ($op->flags & OPf_SPECIAL);
+ my $gv = $self->gv_or_padgv($op);
+ my($name,$quoted) = $self->stash_variable_name('@',$gv);
+ $name = $quoted ? "$name->" : '$' . $name;
return $name . "[" . ($op->private + $self->{'arybase'}) . "]";
}
@@ -2916,7 +3186,7 @@ sub rv2x {
}
my $kid = $op->first;
if ($kid->name eq "gv") {
- return $self->stash_variable($type, $self->deparse($kid, 0));
+ return $self->stash_variable($type, $self->deparse($kid, 0), $cx);
} elsif (is_scalar $kid) {
my $str = $self->deparse($kid, 0);
if ($str =~ /^\$([^\w\d])\z/) {
@@ -3025,13 +3295,15 @@ sub elem_or_slice_array_name
} elsif (is_scope($array)) { # ${expr}[0]
return "{" . $self->deparse($array, 0) . "}";
} elsif ($array->name eq "gv") {
- $array = $self->gv_name($self->gv_or_padgv($array));
- if ($array !~ /::/) {
- my $prefix = ($left eq '[' ? '@' : '%');
- $array = $self->{curstash}.'::'.$array
- if $self->lex_in_scope($prefix . $array);
+ ($array, my $quoted) =
+ $self->stash_variable_name(
+ $left eq '[' ? '@' : '%', $self->gv_or_padgv($array)
+ );
+ if (!$allow_arrow && $quoted) {
+ # This cannot happen.
+ die "Invalid variable name $array for slice";
}
- return $array;
+ return $quoted ? "$array->" : $array;
} elsif (!$allow_arrow || is_scalar $array) { # $x[0], $$x[0], ...
return $self->deparse($array, 24);
} else {
@@ -3089,7 +3361,8 @@ sub elem {
}
if (my $array_name=$self->elem_or_slice_array_name
($array, $left, $padname, 1)) {
- return "\$" . $array_name . $left . $idx . $right;
+ return ($array_name =~ /->\z/ ? $array_name : "\$" . $array_name)
+ . $left . $idx . $right;
} else {
# $x[20][3]{hi} or expr->[20]
my $arrow = is_subscriptable($array) ? "" : "->";
@@ -3177,7 +3450,7 @@ sub _method {
# doesn't get flattened by the append_elem that adds the method,
# making a (object, arg1, arg2, ...) list where the object
# usually is. This can be distinguished from
- # `($obj, $arg1, $arg2)->meth()' (which is legal if $arg2 is an
+ # '($obj, $arg1, $arg2)->meth()' (which is legal if $arg2 is an
# object) because in the later the list is in scalar context
# as the left side of -> always is, while in the former
# the list is in list context as method arguments always are.
@@ -3192,7 +3465,7 @@ sub _method {
} else {
$obj = $kid;
$kid = $kid->sibling;
- for (; !null ($kid->sibling) && $kid->name ne "method_named";
+ for (; !null ($kid->sibling) && $kid->name!~/^method(?:_named)?\z/;
$kid = $kid->sibling) {
push @exprs, $kid
}
@@ -3211,7 +3484,8 @@ sub _method {
}
return { method => $meth, variable_method => ref($meth),
- object => $obj, args => \@exprs };
+ object => $obj, args => \@exprs },
+ $cx;
}
# compat function only
@@ -3222,12 +3496,22 @@ sub method {
}
sub e_method {
- my ($self, $info) = @_;
+ my ($self, $info, $cx) = @_;
my $obj = $self->deparse($info->{object}, 24);
my $meth = $info->{method};
$meth = $self->deparse($meth, 1) if $info->{variable_method};
my $args = join(", ", map { $self->deparse($_, 6) } @{$info->{args}} );
+ if ($info->{object}->name eq 'scope' && want_list $info->{object}) {
+ # method { $object }
+ # This must be deparsed this way to preserve list context
+ # of $object.
+ my $need_paren = $cx >= 6;
+ return '(' x $need_paren
+ . $meth . substr($obj,2) # chop off the "do"
+ . " $args"
+ . ')' x $need_paren;
+ }
my $kid = $obj . "->" . $meth;
if (length $args) {
return $kid . "(" . $args . ")"; # parens mandatory
@@ -3310,7 +3594,7 @@ sub check_proto {
}
}
}
- return "&" if $proto and !$doneok; # too few args and no `;'
+ return "&" if $proto and !$doneok; # too few args and no ';'
return "&" if @args; # too many args
return ("", join ", ", @reals);
}
@@ -3390,13 +3674,14 @@ sub pp_entersub {
$args = join(", ", map($self->deparse($_, 6), @exprs));
}
if ($prefix or $amper) {
+ if ($kid eq '&') { $kid = "{$kid}" } # &{&} cannot be written as &&
if ($op->flags & OPf_STACKED) {
return $prefix . $amper . $kid . "(" . $args . ")";
} else {
return $prefix . $amper. $kid;
}
} else {
- # It's a syntax error to call CORE::GLOBAL::foo without a prefix,
+ # It's a syntax error to call CORE::GLOBAL::foo with a prefix,
# so it must have been translated from a keyword call. Translate
# it back.
$kid =~ s/^CORE::GLOBAL:://;
@@ -3732,6 +4017,16 @@ sub const {
}
return "{" . join(", ", @elts) . "}";
} elsif (class($ref) eq "CV") {
+ BEGIN {
+ if ($] > 5.0150051) {
+ require overloading;
+ unimport overloading;
+ }
+ }
+ if ($] > 5.0150051 && $self->{curcv} &&
+ $self->{curcv}->object_2svref == $ref->object_2svref) {
+ return $self->keyword("__SUB__");
+ }
return "sub " . $self->deparse_sub($ref);
}
if ($ref->FLAGS & SVs_SMG) {
@@ -3785,7 +4080,7 @@ sub pp_const {
if ($op->private & OPpCONST_ARYBASE) {
return '$[';
}
-# if ($op->private & OPpCONST_BARE) { # trouble with `=>' autoquoting
+# if ($op->private & OPpCONST_BARE) { # trouble with '=>' autoquoting
# return $self->const_sv($op)->PV;
# }
my $sv = $self->const_sv($op);
@@ -3820,6 +4115,8 @@ sub dq {
return '\l' . $self->dq($op->first->sibling);
} elsif ($type eq "quotemeta") {
return '\Q' . $self->dq($op->first->sibling) . '\E';
+ } elsif ($type eq "fc") {
+ return '\F' . $self->dq($op->first->sibling) . '\E';
} elsif ($type eq "join") {
return $self->deparse($op->last, 26); # was join($", @ary)
} else {
@@ -3833,7 +4130,10 @@ sub pp_backtick {
# skip pushmark if it exists (readpipe() vs ``)
my $child = $op->first->sibling->isa('B::NULL')
? $op->first : $op->first->sibling;
- return single_delim("qx", '`', $self->dq($child));
+ if ($self->pure_string($child)) {
+ return single_delim("qx", '`', $self->dq($child, 1));
+ }
+ unop($self, @_, "readpipe");
}
sub dquote {
@@ -3859,7 +4159,7 @@ sub double_delim {
if (($succeed, $to) = balanced_delim($to) and $succeed) {
return "$from$to";
} else {
- for $delim ('/', '"', '#') { # note no `'' -- s''' is special
+ for $delim ('/', '"', '#') { # note no "'" -- s''' is special
return "$from$delim$to$delim" if index($to, $delim) == -1;
}
$to =~ s[/][\\/]g;
@@ -4138,10 +4438,14 @@ sub re_dq {
return '\l' . $self->re_dq($op->first->sibling, $extended);
} elsif ($type eq "quotemeta") {
return '\Q' . $self->re_dq($op->first->sibling, $extended) . '\E';
+ } elsif ($type eq "fc") {
+ return '\F' . $self->re_dq($op->first->sibling, $extended) . '\E';
} elsif ($type eq "join") {
return $self->deparse($op->last, 26); # was join($", @ary)
} else {
- return $self->deparse($op, 26);
+ my $ret = $self->deparse($op, 26);
+ $ret =~ s/^\$([(|)])\z/\${$1}/; # $( $| $) need braces
+ return $ret;
}
}
@@ -4150,10 +4454,10 @@ sub pure_string {
return 0 if null $op;
my $type = $op->name;
- if ($type eq 'const') {
+ if ($type eq 'const' || $type eq 'av2arylen') {
return 1;
}
- elsif ($type =~ /^[ul]c(first)?$/ || $type eq 'quotemeta') {
+ elsif ($type =~ /^(?:[ul]c(first)?|fc)$/ || $type eq 'quotemeta') {
return $self->pure_string($op->first->sibling);
}
elsif ($type eq 'join') {
@@ -4175,9 +4479,12 @@ sub pure_string {
return 1;
}
elsif ($type eq "null" and $op->can('first') and not null $op->first and
- $op->first->name eq "null" and $op->first->can('first')
+ ($op->first->name eq "null" and $op->first->can('first')
and not null $op->first->first and
- $op->first->first->name eq "aelemfast") {
+ $op->first->first->name eq "aelemfast"
+ or
+ $op->first->name =~ /^aelemfast(?:_lex)?\z/
+ )) {
return 1;
}
else {
@@ -4216,6 +4523,38 @@ sub pp_regcomp {
return (($self->regcomp($op, $cx, 0))[0]);
}
+sub re_flags {
+ my ($self, $op) = @_;
+ my $flags = '';
+ my $pmflags = $op->pmflags;
+ $flags .= "g" if $pmflags & PMf_GLOBAL;
+ $flags .= "i" if $pmflags & PMf_FOLD;
+ $flags .= "m" if $pmflags & PMf_MULTILINE;
+ $flags .= "o" if $pmflags & PMf_KEEP;
+ $flags .= "s" if $pmflags & PMf_SINGLELINE;
+ $flags .= "x" if $pmflags & PMf_EXTENDED;
+ $flags .= "p" if $pmflags & RXf_PMf_KEEPCOPY;
+ if (my $charset = $pmflags & RXf_PMf_CHARSET) {
+ # Hardcoding this is fragile, but B does not yet export the
+ # constants we need.
+ $flags .= qw(d l u a aa)[$charset >> 5]
+ }
+ # The /d flag is indicated by 0; only show it if necessary.
+ elsif ($self->{hinthash} and
+ $self->{hinthash}{reflags_charset}
+ || $self->{hinthash}{feature_unicode}
+ or $self->{hints} & $feature::hint_mask
+ && ($self->{hints} & $feature::hint_mask)
+ != $feature::hint_mask
+ && do {
+ $self->{hints} & $feature::hint_uni8bit;
+ }
+ ) {
+ $flags .= 'd';
+ }
+ $flags;
+}
+
# osmic acid -- see osmium tetroxide
my %matchwords;
@@ -4234,7 +4573,8 @@ sub matchop {
$kid = $kid->sibling;
}
my $quote = 1;
- my $extended = ($op->pmflags & PMf_EXTENDED);
+ my $pmflags = $op->pmflags;
+ my $extended = ($pmflags & PMf_EXTENDED);
my $rhs_bound_to_defsv;
if (null $kid) {
my $unbacked = re_unback($op->precomp);
@@ -4247,18 +4587,18 @@ sub matchop {
carp("found ".$kid->name." where regcomp expected");
} else {
($re, $quote) = $self->regcomp($kid, 21, $extended);
- $rhs_bound_to_defsv = 1 if $kid->first->first->flags & OPf_SPECIAL;
+ my $matchop = $kid->first->first;
+ if ($matchop->name =~ /^(?:match|transr?|subst)\z/
+ && $matchop->flags & OPf_SPECIAL) {
+ $rhs_bound_to_defsv = 1;
+ }
}
my $flags = "";
- $flags .= "c" if $op->pmflags & PMf_CONTINUE;
- $flags .= "g" if $op->pmflags & PMf_GLOBAL;
- $flags .= "i" if $op->pmflags & PMf_FOLD;
- $flags .= "m" if $op->pmflags & PMf_MULTILINE;
- $flags .= "o" if $op->pmflags & PMf_KEEP;
- $flags .= "s" if $op->pmflags & PMf_SINGLELINE;
- $flags .= "x" if $op->pmflags & PMf_EXTENDED;
+ $flags .= "c" if $pmflags & PMf_CONTINUE;
+ $flags .= $self->re_flags($op);
+ $flags = join '', sort split //, $flags;
$flags = $matchwords{$flags} if $matchwords{$flags};
- if ($op->pmflags & PMf_ONCE) { # only one kind of delimiter works here
+ if ($pmflags & PMf_ONCE) { # only one kind of delimiter works here
$re =~ s/\?/\\?/g;
$re = "?$re?";
} elsif ($quote) {
@@ -4282,6 +4622,8 @@ sub pp_match { matchop(@_, "m", "/") }
sub pp_pushre { matchop(@_, "m", "/") }
sub pp_qr { matchop(@_, "qr", "") }
+sub pp_runcv { unop(@_, "__SUB__"); }
+
sub pp_split {
my $self = shift;
my($op, $cx) = @_;
@@ -4301,7 +4643,7 @@ sub pp_split {
} elsif (!ref($replroot) and $replroot > 0) {
$gv = $self->padval($replroot);
}
- $ary = $self->stash_variable('@', $self->gv_name($gv)) if $gv;
+ $ary = $self->stash_variable('@', $self->gv_name($gv), $cx) if $gv;
for (; !null($kid); $kid = $kid->sibling) {
push @exprs, $self->deparse($kid, 6);
@@ -4332,7 +4674,7 @@ my %substwords;
map($substwords{join "", sort split //, $_} = $_, 'ego', 'egoism', 'em',
'es', 'ex', 'exes', 'gee', 'go', 'goes', 'ie', 'ism', 'iso', 'me',
'meese', 'meso', 'mig', 'mix', 'os', 'ox', 'oxime', 'see', 'seem',
- 'seg', 'sex', 'sig', 'six', 'smog', 'sog', 'some', 'xi',
+ 'seg', 'sex', 'sig', 'six', 'smog', 'sog', 'some', 'xi', 'rogue',
'sir', 'rise', 'smore', 'more', 'seer', 'rome', 'gore', 'grim', 'grime',
'or', 'rose', 'rosie');
@@ -4347,6 +4689,7 @@ sub pp_subst {
$kid = $kid->sibling;
}
my $flags = "";
+ my $pmflags = $op->pmflags;
if (null($op->pmreplroot)) {
$repl = $self->dq($kid);
$kid = $kid->sibling;
@@ -4356,13 +4699,13 @@ sub pp_subst {
$repl = $repl->first;
$flags .= "e";
}
- if ($op->pmflags & PMf_EVAL) {
+ if ($pmflags & PMf_EVAL) {
$repl = $self->deparse($repl->first, 0);
} else {
$repl = $self->dq($repl);
}
}
- my $extended = ($op->pmflags & PMf_EXTENDED);
+ my $extended = ($pmflags & PMf_EXTENDED);
if (null $kid) {
my $unbacked = re_unback($op->precomp);
if ($extended) {
@@ -4374,14 +4717,10 @@ sub pp_subst {
} else {
($re) = $self->regcomp($kid, 1, $extended);
}
- $flags .= "e" if $op->pmflags & PMf_EVAL;
- $flags .= "r" if $op->pmflags & PMf_NONDESTRUCT;
- $flags .= "g" if $op->pmflags & PMf_GLOBAL;
- $flags .= "i" if $op->pmflags & PMf_FOLD;
- $flags .= "m" if $op->pmflags & PMf_MULTILINE;
- $flags .= "o" if $op->pmflags & PMf_KEEP;
- $flags .= "s" if $op->pmflags & PMf_SINGLELINE;
- $flags .= "x" if $extended;
+ $flags .= "r" if $pmflags & PMf_NONDESTRUCT;
+ $flags .= "e" if $pmflags & PMf_EVAL;
+ $flags .= $self->re_flags($op);
+ $flags = join '', sort split //, $flags;
$flags = $substwords{$flags} if $substwords{$flags};
if ($binop) {
return $self->maybe_parens("$var =~ s"
@@ -4408,18 +4747,18 @@ B<perl> B<-MO=Deparse>[B<,-d>][B<,-f>I<FILE>][B<,-p>][B<,-q>][B<,-l>]
B::Deparse is a backend module for the Perl compiler that generates
perl source code, based on the internal compiled structure that perl
-itself creates after parsing a program. The output of B::Deparse won't
+itself creates after parsing a program. The output of B::Deparse won't
be exactly the same as the original source, since perl doesn't keep
track of comments or whitespace, and there isn't a one-to-one
correspondence between perl's syntactical constructions and their
-compiled form, but it will often be close. When you use the B<-p>
+compiled form, but it will often be close. When you use the B<-p>
option, the output also includes parentheses even when they are not
required by precedence, which can make it easy to see if perl is
parsing your expressions the way you intended.
While B::Deparse goes to some lengths to try to figure out what your
original program was doing, some parts of the language can still trip
-it up; it still fails even on some parts of Perl's own test suite. If
+it up; it still fails even on some parts of Perl's own test suite. If
you encounter a failure other than the most common ones described in
the BUGS section below, you can help contribute to B::Deparse's
ongoing development by submitting a bug report with a small
@@ -4436,7 +4775,7 @@ the '-MO=Deparse', separated by a comma but not any white space.
Output data values (when they appear as constants) using Data::Dumper.
Without this option, B::Deparse will use some simple routines of its
-own for the same purpose. Currently, Data::Dumper is better for some
+own for the same purpose. Currently, Data::Dumper is better for some
kinds of data (such as complex structures with sharing and
self-reference) while the built-in routines are better for others
(such as odd floating-point values).
@@ -4444,8 +4783,9 @@ self-reference) while the built-in routines are better for others
=item B<-f>I<FILE>
Normally, B::Deparse deparses the main code of a program, and all the subs
-defined in the same file. To include subs defined in other files, pass the
-B<-f> option with the filename. You can pass the B<-f> option several times, to
+defined in the same file. To include subs defined in
+other files, pass the B<-f> option with the filename.
+You can pass the B<-f> option several times, to
include more than one secondary file. (Most of the time you don't want to
use it at all.) You can also use this option to include subs which are
defined in the scope of a B<#line> directive with two parameters.
@@ -4457,11 +4797,11 @@ locations of the original code.
=item B<-p>
-Print extra parentheses. Without this option, B::Deparse includes
+Print extra parentheses. Without this option, B::Deparse includes
parentheses in its output only when they are needed, based on the
-structure of your program. With B<-p>, it uses parentheses (almost)
-whenever they would be legal. This can be useful if you are used to
-LISP, or if you want to see how perl parses your input. If you say
+structure of your program. With B<-p>, it uses parentheses (almost)
+whenever they would be legal. This can be useful if you are used to
+LISP, or if you want to see how perl parses your input. If you say
if ($var & 0x7f == 65) {print "Gimme an A!"}
print ($which ? $a : $b), "\n";
@@ -4480,8 +4820,8 @@ perl optimized away a constant value).
=item B<-P>
-Disable prototype checking. With this option, all function calls are
-deparsed as if no prototype was defined for them. In other words,
+Disable prototype checking. With this option, all function calls are
+deparsed as if no prototype was defined for them. In other words,
perl -MO=Deparse,-P -e 'sub foo (\@) { 1 } foo @x'
@@ -4497,7 +4837,7 @@ making clear how the parameters are actually passed to C<foo>.
=item B<-q>
Expand double-quoted strings into the corresponding combinations of
-concatenation, uc, ucfirst, lc, lcfirst, quotemeta, and join. For
+concatenation, uc, ucfirst, lc, lcfirst, quotemeta, and join. For
instance, print
print "Hello, $world, @ladies, \u$gentlemen\E, \u\L$me!";
@@ -4509,21 +4849,21 @@ as
Note that the expanded form represents the way perl handles such
constructions internally -- this option actually turns off the reverse
-translation that B::Deparse usually does. On the other hand, note that
+translation that B::Deparse usually does. On the other hand, note that
C<$x = "$y"> is not the same as C<$x = $y>: the former makes the value
of $y into a string before doing the assignment.
=item B<-s>I<LETTERS>
-Tweak the style of B::Deparse's output. The letters should follow
-directly after the 's', with no space or punctuation. The following
+Tweak the style of B::Deparse's output. The letters should follow
+directly after the 's', with no space or punctuation. The following
options are available:
=over 4
=item B<C>
-Cuddle C<elsif>, C<else>, and C<continue> blocks. For example, print
+Cuddle C<elsif>, C<else>, and C<continue> blocks. For example, print
if (...) {
...
@@ -4544,11 +4884,11 @@ The default is not to cuddle.
=item B<i>I<NUMBER>
-Indent lines by multiples of I<NUMBER> columns. The default is 4 columns.
+Indent lines by multiples of I<NUMBER> columns. The default is 4 columns.
=item B<T>
-Use tabs for each 8 columns of indent. The default is to use only spaces.
+Use tabs for each 8 columns of indent. The default is to use only spaces.
For instance, if the style options are B<-si4T>, a line that's indented
3 times will be preceded by one tab and four spaces; if the options were
B<-si8T>, the same line would be preceded by three tabs.
@@ -4557,14 +4897,14 @@ B<-si8T>, the same line would be preceded by three tabs.
Print I<STRING> for the value of a constant that can't be determined
because it was optimized away (mnemonic: this happens when a constant
-is used in B<v>oid context). The end of the string is marked by a period.
+is used in B<v>oid context). The end of the string is marked by a period.
The string should be a valid perl expression, generally a constant.
Note that unless it's a number, it probably needs to be quoted, and on
-a command line quotes need to be protected from the shell. Some
+a command line quotes need to be protected from the shell. Some
conventional values include 0, 1, 42, '', 'foo', and
'Useless use of constant omitted' (which may need to be
B<-sv"'Useless use of constant omitted'.">
-or something similar depending on your shell). The default is '???'.
+or something similar depending on your shell). The default is '???'.
If you're using B::Deparse on a module or other file that's require'd,
you shouldn't use a value that evaluates to false, since the customary
true constant at the end of a module will be in void context when the
@@ -4575,8 +4915,8 @@ file is compiled as a main program.
=item B<-x>I<LEVEL>
Expand conventional syntax constructions into equivalent ones that expose
-their internal operation. I<LEVEL> should be a digit, with higher values
-meaning more expansion. As with B<-q>, this actually involves turning off
+their internal operation. I<LEVEL> should be a digit, with higher values
+meaning more expansion. As with B<-q>, this actually involves turning off
special cases in B::Deparse's normal operations.
If I<LEVEL> is at least 3, C<for> loops will be translated into equivalent
@@ -4657,7 +4997,7 @@ programs.
$deparse = B::Deparse->new(OPTIONS)
Create an object to store the state of a deparsing operation and any
-options. The options are the same as those that can be given on the
+options. The options are the same as those that can be given on the
command line (see L</OPTIONS>); options that are separated by commas
after B<-MO=Deparse> should be given as separate strings.
@@ -4666,7 +5006,7 @@ after B<-MO=Deparse> should be given as separate strings.
$deparse->ambient_pragmas(strict => 'all', '$[' => $[);
The compilation of a subroutine can be affected by a few compiler
-directives, B<pragmas>. These are:
+directives, B<pragmas>. These are:
=over 4
@@ -4703,15 +5043,15 @@ use re;
Ordinarily, if you use B::Deparse on a subroutine which has
been compiled in the presence of one or more of these pragmas,
the output will include statements to turn on the appropriate
-directives. So if you then compile the code returned by coderef2text,
+directives. So if you then compile the code returned by coderef2text,
it will behave the same way as the subroutine which you deparsed.
However, you may know that you intend to use the results in a
-particular context, where some pragmas are already in scope. In
+particular context, where some pragmas are already in scope. In
this case, you use the B<ambient_pragmas> method to describe the
assumptions you wish to make.
-Not all of the options currently have any useful effect. See
+Not all of the options currently have any useful effect. See
L</BUGS> for more details.
The parameters it accepts are:
@@ -4721,7 +5061,7 @@ The parameters it accepts are:
=item strict
Takes a string, possibly containing several values separated
-by whitespace. The special values "all" and "none" mean what you'd
+by whitespace. The special values "all" and "none" mean what you'd
expect.
$deparse->ambient_pragmas(strict => 'subs refs');
@@ -4729,6 +5069,7 @@ expect.
=item $[
Takes a number, the value of the array base $[.
+Cannot be non-zero on Perl 5.15.3 or later.
=item bytes
@@ -4742,7 +5083,7 @@ be in the ambient scope, otherwise not.
=item re
Takes a string, possibly containing a whitespace-separated list of
-values. The values "all" and "none" are special. It's also permissible
+values. The values "all" and "none" are special. It's also permissible
to pass an array reference here.
$deparser->ambient_pragmas(re => 'eval');
@@ -4751,14 +5092,14 @@ to pass an array reference here.
=item warnings
Takes a string, possibly containing a whitespace-separated list of
-values. The values "all" and "none" are special, again. It's also
+values. The values "all" and "none" are special, again. It's also
permissible to pass an array reference here.
$deparser->ambient_pragmas(warnings => [qw[void io]]);
If one of the values is the string "FATAL", then all the warnings
in that list will be considered fatal, just as with the B<warnings>
-pragma itself. Should you need to specify that some warnings are
+pragma itself. Should you need to specify that some warnings are
fatal, and others are merely enabled, you can pass the B<warnings>
parameter twice:
@@ -4803,10 +5144,10 @@ stored in the special hash %^H.
Return source code for the body of a subroutine (a block, optionally
preceded by a prototype in parens), given a reference to the
-sub. Because a subroutine can have no names, or more than one name,
+sub. Because a subroutine can have no names, or more than one name,
this method doesn't return a complete subroutine definition -- if you
want to eval the result, you should prepend "sub subname ", or "sub "
-for an anonymous function constructor. Unless the sub was defined in
+for an anonymous function constructor. Unless the sub was defined in
the main:: package, the code will include a package declaration.
=head1 BUGS
@@ -4816,7 +5157,8 @@ the main:: package, the code will include a package declaration.
=item *
The only pragmas to be completely supported are: C<use warnings>,
-C<use strict 'refs'>, C<use bytes>, and C<use integer>. (C<$[>, which
+C<use strict>, C<use bytes>, C<use integer>
+and C<use feature>. (C<$[>, which
behaves like a pragma, is also supported.)
Excepting those listed above, we're currently unable to guarantee that
@@ -4831,7 +5173,7 @@ than in the input file.
In fact, the above is a specific instance of a more general problem:
we can't guarantee to produce BEGIN blocks or C<use> declarations in
-exactly the right place. So if you use a module which affects compilation
+exactly the right place. So if you use a module which affects compilation
(such as by over-riding keywords, overloading constants or whatever)
then the output code might not work as intended.
@@ -4840,14 +5182,6 @@ from the Perl core to fix.
=item *
-If a keyword is over-ridden, and your program explicitly calls
-the built-in version by using CORE::keyword, the output of B::Deparse
-will not reflect this. If you run the resulting code, it will call
-the over-ridden version rather than the built-in one. (Maybe there
-should be an option to B<always> print keyword calls as C<CORE::name>.)
-
-=item *
-
Some constants don't print correctly either with or without B<-d>.
For instance, neither B::Deparse nor Data::Dumper know how to print
dual-valued scalars correctly, as in:
@@ -4865,7 +5199,8 @@ produced is already ordinary Perl which shouldn't be filtered again.
=item *
-Optimised away statements are rendered as '???'. This includes statements that
+Optimised away statements are rendered as
+'???'. This includes statements that
have a compile-time side-effect, such as the obscure
my $x if 0;
@@ -4879,7 +5214,7 @@ which is not, consequently, deparsed correctly.
=item *
Lexical (my) variables declared in scopes external to a subroutine
-appear in code2ref output text as package variables. This is a tricky
+appear in code2ref output text as package variables. This is a tricky
problem, as perl has no native facility for referring to a lexical variable
defined within a different scope, although L<PadWalker> is a good start.
diff --git a/Master/tlpkg/tlperl/lib/B/Lint.pm b/Master/tlpkg/tlperl/lib/B/Lint.pm
index a38ee323d0d..a080af778df 100644
--- a/Master/tlpkg/tlperl/lib/B/Lint.pm
+++ b/Master/tlpkg/tlperl/lib/B/Lint.pm
@@ -1,6 +1,6 @@
package B::Lint;
-our $VERSION = '1.13'; ## no critic
+our $VERSION = '1.14'; ## no critic
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/B/Lint/Debug.pm b/Master/tlpkg/tlperl/lib/B/Lint/Debug.pm
index 1a4bf31f7f6..6ba09708cbf 100644
--- a/Master/tlpkg/tlperl/lib/B/Lint/Debug.pm
+++ b/Master/tlpkg/tlperl/lib/B/Lint/Debug.pm
@@ -1,6 +1,6 @@
package B::Lint::Debug;
-our $VERSION = '1.12';
+our $VERSION = '1.14';
=head1 NAME
@@ -13,13 +13,15 @@ should not be loaded unless you're debugging.
=cut
-package B::SPECIAL;
+package # hide from PAUSE
+ B::SPECIAL;
use overload '""' => sub {
my $self = shift @_;
"SPECIAL($$self)";
};
-package B::OP;
+package # hide from PAUSE
+ B::OP;
use overload '""' => sub {
my $self = shift @_;
my $class = ref $self;
@@ -28,7 +30,8 @@ use overload '""' => sub {
"$class($name)";
};
-package B::SVOP;
+package # hide from PAUSE
+ B::SVOP;
use overload '""' => sub {
my $self = shift @_;
my $class = ref $self;
@@ -37,7 +40,8 @@ use overload '""' => sub {
"$class($name," . $self->sv . "," . $self->gv . ")";
};
-package B::SPECIAL;
+package # hide from PAUSE
+ B::SPECIAL;
sub DESTROY { }
our $AUTOLOAD;
@@ -45,7 +49,8 @@ sub AUTOLOAD {
my $cx = 0;
print "AUTOLOAD $AUTOLOAD\n";
- package DB;
+ package # hide from PAUSE
+ DB;
while ( my @stuff = caller $cx ) {
print "$cx: [@DB::args] [@stuff]\n";
diff --git a/Master/tlpkg/tlperl/lib/B/Terse.pm b/Master/tlpkg/tlperl/lib/B/Terse.pm
index 562c58abd83..8e551c5a62f 100644
--- a/Master/tlpkg/tlperl/lib/B/Terse.pm
+++ b/Master/tlpkg/tlperl/lib/B/Terse.pm
@@ -1,6 +1,6 @@
package B::Terse;
-our $VERSION = '1.05';
+our $VERSION = '1.06';
use strict;
use B qw(class @specialsv_name);
@@ -78,7 +78,15 @@ B::Terse - Walk Perl syntax tree, printing terse info about ops
=head1 DESCRIPTION
-This version of B::Terse is really just a wrapper that calls B::Concise
+This module prints the contents of the parse tree, but without as much
+information as L<B::Debug>. For comparison, C<print "Hello, world.">
+produced 96 lines of output from B::Debug, but only 6 from B::Terse.
+
+This module is useful for people who are writing their own back end,
+or who are learning about the Perl internals. It's not useful to the
+average programmer.
+
+This version of B::Terse is really just a wrapper that calls L<B::Concise>
with the B<-terse> option. It is provided for compatibility with old scripts
(and habits) but using B::Concise directly is now recommended instead.
diff --git a/Master/tlpkg/tlperl/lib/B/Xref.pm b/Master/tlpkg/tlperl/lib/B/Xref.pm
index 64e677ccb82..f3a362c3f6a 100644
--- a/Master/tlpkg/tlperl/lib/B/Xref.pm
+++ b/Master/tlpkg/tlperl/lib/B/Xref.pm
@@ -1,6 +1,6 @@
package B::Xref;
-our $VERSION = '1.02';
+our $VERSION = '1.03';
=head1 NAME
@@ -48,6 +48,56 @@ letter "i". Subroutine and method calls are indicated by the character
"&". Subroutine definitions are indicated by "s" and format
definitions by "f".
+For instance, here's part of the report from the I<pod2man> program that
+comes with Perl:
+
+ Subroutine clear_noremap
+ Package (lexical)
+ $ready_to_print i1069, 1079
+ Package main
+ $& 1086
+ $. 1086
+ $0 1086
+ $1 1087
+ $2 1085, 1085
+ $3 1085, 1085
+ $ARGV 1086
+ %HTML_Escapes 1085, 1085
+
+This shows the variables used in the subroutine C<clear_noremap>. The
+variable C<$ready_to_print> is a my() (lexical) variable,
+B<i>ntroduced (first declared with my()) on line 1069, and used on
+line 1079. The variable C<$&> from the main package is used on 1086,
+and so on.
+
+A line number may be prefixed by a single letter:
+
+=over 4
+
+=item i
+
+Lexical variable introduced (declared with my()) for the first time.
+
+=item &
+
+Subroutine or method call.
+
+=item s
+
+Subroutine defined.
+
+=item r
+
+Format defined.
+
+=back
+
+The most useful option the cross referencer has is to save the report
+to a separate file. For instance, to save the report on
+I<myperlprogram> to the file I<report>:
+
+ $ perl -MO=Xref,-oreport myperlprogram
+
=head1 OPTIONS
Option words are separated by commas (not whitespace) and follow the
diff --git a/Master/tlpkg/tlperl/lib/Benchmark.pm b/Master/tlpkg/tlperl/lib/Benchmark.pm
index 39bf041968d..8fc9799736f 100644
--- a/Master/tlpkg/tlperl/lib/Benchmark.pm
+++ b/Master/tlpkg/tlperl/lib/Benchmark.pm
@@ -385,7 +385,7 @@ code and therefore the difference might end up being E<lt> 0.
=head1 SEE ALSO
-L<Devel::DProf> - a Perl code profiler
+L<Devel::NYTProf> - a Perl code profiler
=head1 AUTHORS
@@ -440,7 +440,7 @@ our(@ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS, $VERSION);
clearcache clearallcache disablecache enablecache);
%EXPORT_TAGS=( all => [ @EXPORT, @EXPORT_OK ] ) ;
-$VERSION = 1.12;
+$VERSION = 1.13;
# --- ':hireswallclock' special handling
diff --git a/Master/tlpkg/tlperl/lib/CGI.pm b/Master/tlpkg/tlperl/lib/CGI.pm
index eed7e6b5ee2..6084f0f89e9 100644
--- a/Master/tlpkg/tlperl/lib/CGI.pm
+++ b/Master/tlpkg/tlperl/lib/CGI.pm
@@ -1,5 +1,5 @@
package CGI;
-require 5.006;
+require 5.008001;
use Carp 'croak';
# See the bottom of this file for the POD documentation. Search for the
@@ -20,7 +20,7 @@ use Carp 'croak';
# The revision is no longer being updated since moving to git.
$CGI::revision = '$Id: CGI.pm,v 1.266 2009/07/30 16:32:34 lstein Exp $';
-$CGI::VERSION='3.52';
+$CGI::VERSION='3.59';
# HARD-CODED LOCATION FOR FILE UPLOAD TEMPORARY FILES.
# UNCOMMENT THIS ONLY IF YOU KNOW WHAT YOU'RE DOING.
@@ -386,7 +386,7 @@ sub new {
# user is still holding any reference to them as well.
sub DESTROY {
my $self = shift;
- if ($OS eq 'WINDOWS') {
+ if ($OS eq 'WINDOWS' || $OS eq 'VMS') {
for my $href (values %{$self->{'.tmpfiles'}}) {
$href->{hndl}->DESTROY if defined $href->{hndl};
$href->{name}->DESTROY if defined $href->{name};
@@ -525,7 +525,7 @@ sub init {
# if we get called more than once, we want to initialize
# ourselves from the original query (which may be gone
# if it was read from STDIN originally.)
- if (defined(@QUERY_PARAM) && !defined($initializer)) {
+ if (@QUERY_PARAM && !defined($initializer)) {
for my $name (@QUERY_PARAM) {
my $val = $QUERY_PARAM{$name}; # always an arrayref;
$self->param('-name'=>$name,'-value'=> $val);
@@ -648,9 +648,9 @@ sub init {
last METHOD;
}
- # If method is GET or HEAD, fetch the query from
+ # If method is GET, HEAD or DELETE, fetch the query from
# the environment.
- if ($is_xforms || $meth=~/^(GET|HEAD)$/) {
+ if ($is_xforms || $meth=~/^(GET|HEAD|DELETE)$/) {
if ($MOD_PERL) {
$query_string = $self->r->args;
} else {
@@ -664,14 +664,6 @@ sub init {
if ( $content_length > 0 ) {
$self->read_from_client(\$query_string,$content_length,0);
}
- elsif (not defined $ENV{CONTENT_LENGTH}) {
- $self->read_from_stdin(\$query_string);
- # should this be PUTDATA in case of PUT ?
- my($param) = $meth . 'DATA' ;
- $self->add_parameter($param) ;
- push (@{$self->{param}{$param}},$query_string);
- undef $query_string ;
- }
# Some people want to have their cake and eat it too!
# Uncomment this line to have the contents of the query string
# APPENDED to the POST data.
@@ -1024,47 +1016,6 @@ sub read_from_client {
}
END_OF_FUNC
-'read_from_stdin' => <<'END_OF_FUNC',
-# Read data from stdin until all is read
-sub read_from_stdin {
- my($self, $buff) = @_;
- local $^W=0; # prevent a warning
-
- #
- # TODO: loop over STDIN until all is read
- #
-
- my($eoffound) = 0;
- my($localbuf) = '';
- my($tempbuf) = '';
- my($bufsiz) = 1024;
- my($res);
- while ($eoffound == 0) {
- if ( $MOD_PERL ) {
- $res = $self->r->read($tempbuf, $bufsiz, 0)
- }
- else {
- $res = read(\*STDIN, $tempbuf, $bufsiz);
- }
-
- if ( !defined($res) ) {
- # TODO: how to do error reporting ?
- $eoffound = 1;
- last;
- }
- if ( $res == 0 ) {
- $eoffound = 1;
- last;
- }
- $localbuf .= $tempbuf;
- }
-
- $$buff = $localbuf;
-
- return $res;
-}
-END_OF_FUNC
-
'delete' => <<'END_OF_FUNC',
#### Method: delete
# Deletes the named parameter entirely.
@@ -2856,7 +2807,6 @@ sub url {
my $query_str = $self->query_string;
my $rewrite_in_use = $request_uri && $request_uri !~ /^\Q$script_name/;
- undef $path if $rewrite_in_use && $rewrite; # path not valid when rewriting active
my $uri = $rewrite && $request_uri ? $request_uri : $script_name;
$uri =~ s/\?.*$//s; # remove query string
@@ -3531,11 +3481,11 @@ sub read_from_cmdline {
if ($DEBUG && @ARGV) {
@words = @ARGV;
} elsif ($DEBUG > 1) {
- require "shellwords.pl";
+ require Text::ParseWords;
print STDERR "(offline mode: enter name=value pairs on standard input; press ^D or ^Z when done)\n";
chomp(@lines = <STDIN>); # remove newlines
$input = join(" ",@lines);
- @words = &shellwords($input);
+ @words = &Text::ParseWords::old_shellwords($input);
}
for (@words) {
s/\\=/%3D/g;
@@ -4524,7 +4474,7 @@ HTML "standards".
$query = CGI->new;
-This will parse the input (from both POST and GET methods) and store
+This will parse the input (from POST, GET and DELETE methods) and store
it into a perl5 object called $query.
Any filehandles from file uploads will have their position reset to
@@ -5566,13 +5516,13 @@ place to put HTML extensions, such as colors and wallpaper patterns.
=head2 ENDING THE HTML DOCUMENT:
- print end_html
+ print $q->end_html;
This ends an HTML document by printing the </body></html> tags.
=head2 CREATING A SELF-REFERENCING URL THAT PRESERVES STATE INFORMATION:
- $myself = self_url;
+ $myself = $q->self_url;
print q(<a href="$myself">I'm talking to myself.</a>);
self_url() will return a URL, that, when selected, will reinvoke
@@ -5581,7 +5531,7 @@ useful when you want to jump around within the document using
internal anchors but you don't want to disrupt the current contents
of the form(s). Something like this will do the trick.
- $myself = self_url;
+ $myself = $q->self_url;
print "<a href=\"$myself#table1\">See table 1</a>";
print "<a href=\"$myself#table2\">See table 2</a>";
print "<a href=\"$myself#yourself\">See for yourself</a>";
@@ -5591,7 +5541,10 @@ method instead.
You can also retrieve the unprocessed query string with query_string():
- $the_string = query_string;
+ $the_string = $q->query_string();
+
+The behavior of calling query_string is currently undefined when the HTTP method is
+something other than GET.
=head2 OBTAINING THE SCRIPT'S URL
@@ -5653,9 +5606,7 @@ If Apache's mod_rewrite is turned on, then the script name and path
info probably won't match the request that the user sent. Set
-rewrite=>1 (default) to return URLs that match what the user sent
(the original request URI). Set -rewrite=>0 to return URLs that match
-the URL after mod_rewrite's rules have run. Because the additional
-path information only makes sense in the context of the rewritten URL,
--rewrite is set to false when you request path info in the URL.
+the URL after mod_rewrite's rules have run.
=back
@@ -7950,7 +7901,7 @@ C<:cgi-lib> and C<:standard> method:
=head2 Cgi-lib functions that are available in CGI.pm
-In compatability mode, the following cgi-lib.pl functions are
+In compatibility mode, the following cgi-lib.pl functions are
available for your use:
ReadParse()
@@ -7991,15 +7942,15 @@ available for your use:
=head1 AUTHOR INFORMATION
-The CGI.pm distribution is copyright 1995-2007, Lincoln D. Stein. It is
-distributed under GPL and the Artistic License 2.0.
+The CGI.pm distribution is copyright 1995-2007, Lincoln D. Stein. It is
+distributed under GPL and the Artistic License 2.0. It is currently
+maintained by Mark Stosberg with help from many contributors.
-Address bug reports and comments to: lstein@cshl.org. When sending
-bug reports, please provide the version of CGI.pm, the version of
-Perl, the name and version of your Web server, and the name and
-version of the operating system you are using. If the problem is even
-remotely browser dependent, please provide information about the
-affected browsers as well.
+Address bug reports and comments to: https://rt.cpan.org/Public/Dist/Display.html?Queue=CGI.pm
+When sending bug reports, please provide the version of CGI.pm, the version of
+Perl, the name and version of your Web server, and the name and version of the
+operating system you are using. If the problem is even remotely browser
+dependent, please provide information about the affected browsers as well.
=head1 CREDITS
diff --git a/Master/tlpkg/tlperl/lib/CGI/Fast.pm b/Master/tlpkg/tlperl/lib/CGI/Fast.pm
index e31dac3f50f..288d854a9d5 100644
--- a/Master/tlpkg/tlperl/lib/CGI/Fast.pm
+++ b/Master/tlpkg/tlperl/lib/CGI/Fast.pm
@@ -19,7 +19,7 @@ local $^W = 1;
# wish, but if you redistribute a modified version, please attach a note
# listing the modifications you have made.
-$CGI::Fast::VERSION='1.08';
+$CGI::Fast::VERSION='1.09';
use CGI;
use FCGI;
@@ -43,27 +43,23 @@ sub save_request {
# in this package variable.
use vars qw($Ext_Request);
BEGIN {
- # If ENV{FCGI_SOCKET_PATH} is given, explicitly open the socket,
- # and keep the request handle around from which to call Accept().
- if ($ENV{FCGI_SOCKET_PATH}) {
- my $path = $ENV{FCGI_SOCKET_PATH};
- my $backlog = $ENV{FCGI_LISTEN_QUEUE} || 100;
- my $socket = FCGI::OpenSocket( $path, $backlog );
- $Ext_Request = FCGI::Request( \*STDIN, \*STDOUT, \*STDERR,
- \%ENV, $socket, 1 );
- }
+ # If ENV{FCGI_SOCKET_PATH} is given, explicitly open the socket.
+ if ($ENV{FCGI_SOCKET_PATH}) {
+ my $path = $ENV{FCGI_SOCKET_PATH};
+ my $backlog = $ENV{FCGI_LISTEN_QUEUE} || 100;
+ my $socket = FCGI::OpenSocket( $path, $backlog );
+ $Ext_Request = FCGI::Request( \*STDIN, \*STDOUT, \*STDERR,
+ \%ENV, $socket, 1 );
+ }
+ else {
+ $Ext_Request = FCGI::Request();
+ }
}
-# New is slightly different in that it calls FCGI's
-# accept() method.
sub new {
my ($self, $initializer, @param) = @_;
unless (defined $initializer) {
- if ($Ext_Request) {
- return undef unless $Ext_Request->Accept() >= 0;
- } else {
- return undef unless FCGI::accept() >= 0;
- }
+ return undef unless $Ext_Request->Accept() >= 0;
}
CGI->_reset_globals;
$self->_setup_symbols(@CGI::SAVED_SYMBOLS) if @CGI::SAVED_SYMBOLS;
diff --git a/Master/tlpkg/tlperl/lib/CGI/Util.pm b/Master/tlpkg/tlperl/lib/CGI/Util.pm
index ef95c9f0189..b059281d8e5 100644
--- a/Master/tlpkg/tlperl/lib/CGI/Util.pm
+++ b/Master/tlpkg/tlperl/lib/CGI/Util.pm
@@ -1,18 +1,17 @@
package CGI::Util;
-
+require 5.008001;
use strict;
-use vars qw($VERSION @EXPORT_OK @ISA @A2E @E2A);
require Exporter;
-@ISA = qw(Exporter);
-@EXPORT_OK = qw(rearrange rearrange_header make_attributes unescape escape
+our @ISA = qw(Exporter);
+our @EXPORT_OK = qw(rearrange rearrange_header make_attributes unescape escape
expires ebcdic2ascii ascii2ebcdic);
-$VERSION = '3.51';
+our $VERSION = '3.53';
use constant EBCDIC => "\t" ne "\011";
# (ord('^') == 95) for codepage 1047 as on os390, vmesa
-@A2E = (
+our @A2E = (
0, 1, 2, 3, 55, 45, 46, 47, 22, 5, 21, 11, 12, 13, 14, 15,
16, 17, 18, 19, 60, 61, 50, 38, 24, 25, 63, 39, 28, 29, 30, 31,
64, 90,127,123, 91,108, 80,125, 77, 93, 92, 78,107, 96, 75, 97,
@@ -30,7 +29,7 @@ use constant EBCDIC => "\t" ne "\011";
68, 69, 66, 70, 67, 71,156, 72, 84, 81, 82, 83, 88, 85, 86, 87,
140, 73,205,206,203,207,204,225,112,221,222,219,220,141,142,223
);
-@E2A = (
+our @E2A = (
0, 1, 2, 3,156, 9,134,127,151,141,142, 11, 12, 13, 14, 15,
16, 17, 18, 19,157, 10, 8,135, 24, 25,146,143, 28, 29, 30, 31,
128,129,130,131,132,133, 23, 27,136,137,138,139,140, 5, 6, 7,
@@ -162,47 +161,10 @@ sub simple_escape {
}
sub utf8_chr {
- my $c = shift(@_);
- if ($] >= 5.006){
- require utf8;
- my $u = chr($c);
- utf8::encode($u); # drop utf8 flag
- return $u;
- }
- if ($c < 0x80) {
- return sprintf("%c", $c);
- } elsif ($c < 0x800) {
- return sprintf("%c%c", 0xc0 | ($c >> 6), 0x80 | ($c & 0x3f));
- } elsif ($c < 0x10000) {
- return sprintf("%c%c%c",
- 0xe0 | ($c >> 12),
- 0x80 | (($c >> 6) & 0x3f),
- 0x80 | ( $c & 0x3f));
- } elsif ($c < 0x200000) {
- return sprintf("%c%c%c%c",
- 0xf0 | ($c >> 18),
- 0x80 | (($c >> 12) & 0x3f),
- 0x80 | (($c >> 6) & 0x3f),
- 0x80 | ( $c & 0x3f));
- } elsif ($c < 0x4000000) {
- return sprintf("%c%c%c%c%c",
- 0xf8 | ($c >> 24),
- 0x80 | (($c >> 18) & 0x3f),
- 0x80 | (($c >> 12) & 0x3f),
- 0x80 | (($c >> 6) & 0x3f),
- 0x80 | ( $c & 0x3f));
-
- } elsif ($c < 0x80000000) {
- return sprintf("%c%c%c%c%c%c",
- 0xfc | ($c >> 30),
- 0x80 | (($c >> 24) & 0x3f),
- 0x80 | (($c >> 18) & 0x3f),
- 0x80 | (($c >> 12) & 0x3f),
- 0x80 | (($c >> 6) & 0x3f),
- 0x80 | ( $c & 0x3f));
- } else {
- return utf8_chr(0xfffd);
- }
+ my $c = shift(@_);
+ my $u = chr($c);
+ utf8::encode($u); # drop utf8 flag
+ return $u;
}
# unescape URL-encoded data
@@ -236,7 +198,7 @@ sub unescape {
# We cannot use the %u escapes, they were rejected by W3C, so the official
# way is %XX-escaped utf-8 encoding.
# Naturally, Unicode strings have to be converted to their utf-8 byte
-# representation. (No action is required on 5.6.)
+# representation.
# Byte strings were traditionally used directly as a sequence of octets.
# This worked if they actually represented binary data (i.e. in CGI::Compress).
# This also worked if these byte strings were actually utf-8 encoded; e.g.,
@@ -245,39 +207,13 @@ sub unescape {
# was always so and cannot be fixed without breaking the binary data case.
# -- Stepan Kasal <skasal@redhat.com>
#
-if ($] == 5.008) {
- package utf8;
-
- no warnings 'redefine'; # needed for Perl 5.8.1+
-
- my $is_utf8_redefinition = <<'EOR';
- sub is_utf8 {
- my ($text) = @_;
-
- my $ctext = pack q{C0a*}, $text;
-
- return ($text ne $ctext) && ($ctext =~ m/^(
- [\x09\x0A\x0D\x20-\x7E]
- | [\xC2-\xDF][\x80-\xBF]
- | \xE0[\xA0-\xBF][\x80-\xBF]
- | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}
- | \xED[\x80-\x9F][\x80-\xBF]
- | \xF0[\x90-\xBF][\x80-\xBF]{2}
- | [\xF1-\xF3][\x80-\xBF]{3}
- | \xF4[\x80-\x8F][\x80-\xBF]{2}
- )*$/xo);
- }
-EOR
-
- eval $is_utf8_redefinition;
-}
sub escape {
# If we being called in an OO-context, discard the first argument.
shift() if @_ > 1 and ( ref($_[0]) || (defined $_[1] && $_[0] eq $CGI::DefaultClass));
my $toencode = shift;
return undef unless defined($toencode);
- utf8::encode($toencode) if ($] >= 5.008 && utf8::is_utf8($toencode));
+ utf8::encode($toencode) if utf8::is_utf8($toencode);
if (EBCDIC) {
$toencode=~s/([^a-zA-Z0-9_.~-])/uc sprintf("%%%02x",$E2A[ord($1)])/eg;
} else {
diff --git a/Master/tlpkg/tlperl/lib/CORE.pod b/Master/tlpkg/tlperl/lib/CORE.pod
index c917bba44a0..ec6a8047a4d 100644
--- a/Master/tlpkg/tlperl/lib/CORE.pod
+++ b/Master/tlpkg/tlperl/lib/CORE.pod
@@ -1,6 +1,6 @@
=head1 NAME
-CORE - Pseudo-namespace for Perl's core routines
+CORE - Namespace for Perl's core routines
=head1 SYNOPSIS
@@ -10,16 +10,40 @@ CORE - Pseudo-namespace for Perl's core routines
print hex("0x50"),"\n"; # prints 1
print CORE::hex("0x50"),"\n"; # prints 80
+ CORE::say "yes"; # prints yes
+
+ BEGIN { *shove = \&CORE::push; }
+ shove @array, 1,2,3; # pushes on to @array
=head1 DESCRIPTION
The C<CORE> namespace gives access to the original built-in functions of
-Perl. There is no C<CORE> package, and therefore you do not need to use or
-require an hypothetical "CORE" module prior to accessing routines in this
+Perl. The C<CORE> package is built into
+Perl, and therefore you do not need to use or
+require a hypothetical "CORE" module prior to accessing routines in this
namespace.
A list of the built-in functions in Perl can be found in L<perlfunc>.
+For all Perl keywords, a C<CORE::> prefix will force the built-in function
+to be used, even if it has been overridden or would normally require the
+L<feature> pragma. Despite appearances, this has nothing to do with the
+CORE package, but is part of Perl's syntax.
+
+For many Perl functions, the CORE package contains real subroutines. This
+feature is new in Perl 5.16. You can take references to these and make
+aliases. However, some can only be called as barewords; i.e., you cannot
+use ampersand syntax (C<&foo>) or call them through references. See the
+C<shove> example above. These subroutines exist for all overridable
+keywords, except for C<dump> and the infix operators. Calling with
+ampersand syntax and through references does not work for the following
+functions, as they have special syntax that cannot always be translated
+into a simple list (e.g., C<eof> vs C<eof()>):
+
+C<chdir>, C<chomp>, C<chop>, C<each>, C<eof>, C<exec>, C<keys>, C<lstat>,
+C<pop>, C<push>, C<shift>, C<splice>, C<stat>, C<system>, C<truncate>,
+C<unlink>, C<unshift>, C<values>
+
=head1 OVERRIDING CORE FUNCTIONS
To override a Perl built-in routine with your own version, you need to
diff --git a/Master/tlpkg/tlperl/lib/CORE/XSUB.h b/Master/tlpkg/tlperl/lib/CORE/XSUB.h
index a2cfccd8db2..4e439f17feb 100644
--- a/Master/tlpkg/tlperl/lib/CORE/XSUB.h
+++ b/Master/tlpkg/tlperl/lib/CORE/XSUB.h
@@ -48,7 +48,15 @@ Used to access elements on the XSUB's stack.
=for apidoc AmU||XS
Macro to declare an XSUB and its C parameter list. This is handled by
-C<xsubpp>.
+C<xsubpp>. It is the same as using the more explicit XS_EXTERNAL macro.
+
+=for apidoc AmU||XS_INTERNAL
+Macro to declare an XSUB and its C parameter list without exporting the symbols.
+This is handled by C<xsubpp> and generally preferable over exporting the XSUB
+symbols unnecessarily.
+
+=for apidoc AmU||XS_EXTERNAL
+Macro to declare an XSUB and its C parameter list explicitly exporting the symbols.
=for apidoc Ams||dAX
Sets up the C<ax> variable.
@@ -107,27 +115,46 @@ is a lexical $_ in scope.
* Don't forget to change the __attribute__unused__ version of XS()
* below too if you change XSPROTO() here.
*/
+
+/* XS_INTERNAL is the explicit static-linkage variant of the default
+ * XS macro.
+ *
+ * XS_EXTERNAL is the same as XS_INTERNAL except it does not include
+ * "STATIC", ie. it exports XSUB symbols. You probably don't want that.
+ */
+
#define XSPROTO(name) void name(pTHX_ CV* cv)
#undef XS
+#undef XS_EXTERNAL
+#undef XS_INTERNAL
#if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
-# define XS(name) __declspec(dllexport) XSPROTO(name)
+# define XS_EXTERNAL(name) __declspec(dllexport) XSPROTO(name)
+# define XS_INTERNAL(name) STATIC XSPROTO(name)
#endif
#if defined(__SYMBIAN32__)
-# define XS(name) EXPORT_C XSPROTO(name)
+# define XS_EXTERNAL(name) EXPORT_C XSPROTO(name)
+# define XS_INTERNAL(name) EXPORT_C STATIC XSPROTO(name)
#endif
-#ifndef XS
+#ifndef XS_EXTERNAL
# if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
-# define XS(name) void name(pTHX_ CV* cv __attribute__unused__)
+# define XS_EXTERNAL(name) void name(pTHX_ CV* cv __attribute__unused__)
+# define XS_INTERNAL(name) STATIC void name(pTHX_ CV* cv __attribute__unused__)
# else
# ifdef __cplusplus
-# define XS(name) extern "C" XSPROTO(name)
+# define XS_EXTERNAL(name) extern "C" XSPROTO(name)
+# define XS_INTERNAL(name) static XSPROTO(name)
# else
-# define XS(name) XSPROTO(name)
+# define XS_EXTERNAL(name) XSPROTO(name)
+# define XS_INTERNAL(name) STATIC XSPROTO(name)
# endif
# endif
#endif
+/* We do export xsub symbols by default for the public XS macro.
+ * Try explicitly using XS_INTERNAL/XS_EXTERNAL instead, please. */
+#define XS(name) XS_EXTERNAL(name)
+
#define dAX const I32 ax = (I32)(MARK - PL_stack_base + 1)
#define dAXMARK \
@@ -367,7 +394,6 @@ Rethrows a previously caught exception. See L<perlguts/"Exception Handling">.
# define VTBL_sv &PL_vtbl_sv
# define VTBL_env &PL_vtbl_env
# define VTBL_envelem &PL_vtbl_envelem
-# define VTBL_sig &PL_vtbl_sig
# define VTBL_sigelem &PL_vtbl_sigelem
# define VTBL_pack &PL_vtbl_pack
# define VTBL_packelem &PL_vtbl_packelem
diff --git a/Master/tlpkg/tlperl/lib/CORE/av.h b/Master/tlpkg/tlperl/lib/CORE/av.h
index de54fa92826..8d18d25af15 100644
--- a/Master/tlpkg/tlperl/lib/CORE/av.h
+++ b/Master/tlpkg/tlperl/lib/CORE/av.h
@@ -83,6 +83,8 @@ Same as C<av_len()>. Deprecated, use C<av_len()> instead.
Creates a new AV. The reference count is set to 1.
+Perl equivalent: C<my @array;>.
+
=cut
*/
diff --git a/Master/tlpkg/tlperl/lib/CORE/charclass_invlists.h b/Master/tlpkg/tlperl/lib/CORE/charclass_invlists.h
new file mode 100644
index 00000000000..368410fd378
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CORE/charclass_invlists.h
@@ -0,0 +1,533 @@
+/* -*- buffer-read-only: t -*-
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ * This file is built by regen/mk_invlists.pl from Unicode::UCD.
+ * Any changes made here will be lost!
+ */
+
+/* See the generating file for comments */
+
+
+UV Latin1_invlist[] = {
+ 2, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 0, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 256,
+ 0
+};
+
+UV AboveLatin1_invlist[] = {
+ 1, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 256
+};
+
+UV ASCII_invlist[] = {
+ 2, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 0, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 128,
+ 0
+};
+
+UV L1Cased_invlist[] = {
+ 16, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 65,
+ 91,
+ 97,
+ 123,
+ 170,
+ 171,
+ 181,
+ 182,
+ 186,
+ 187,
+ 192,
+ 215,
+ 216,
+ 247,
+ 248,
+ 443
+};
+
+UV VertSpace_invlist[] = {
+ 6, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 10,
+ 14,
+ 133,
+ 134,
+ 8232,
+ 8234
+};
+
+UV PerlSpace_invlist[] = {
+ 6, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 9,
+ 11,
+ 12,
+ 14,
+ 32,
+ 33
+};
+
+UV XPerlSpace_invlist[] = {
+ 24, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 9,
+ 11,
+ 12,
+ 14,
+ 32,
+ 33,
+ 133,
+ 134,
+ 160,
+ 161,
+ 5760,
+ 5761,
+ 6158,
+ 6159,
+ 8192,
+ 8203,
+ 8232,
+ 8234,
+ 8239,
+ 8240,
+ 8287,
+ 8288,
+ 12288,
+ 12289
+};
+
+UV PosixAlnum_invlist[] = {
+ 6, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 48,
+ 58,
+ 65,
+ 91,
+ 97,
+ 123
+};
+
+UV L1PosixAlnum_invlist[] = {
+ 18, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 48,
+ 58,
+ 65,
+ 91,
+ 97,
+ 123,
+ 170,
+ 171,
+ 181,
+ 182,
+ 186,
+ 187,
+ 192,
+ 215,
+ 216,
+ 247,
+ 248,
+ 706
+};
+
+UV PosixAlpha_invlist[] = {
+ 4, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 65,
+ 91,
+ 97,
+ 123
+};
+
+UV L1PosixAlpha_invlist[] = {
+ 16, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 65,
+ 91,
+ 97,
+ 123,
+ 170,
+ 171,
+ 181,
+ 182,
+ 186,
+ 187,
+ 192,
+ 215,
+ 216,
+ 247,
+ 248,
+ 706
+};
+
+UV PosixBlank_invlist[] = {
+ 4, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 9,
+ 10,
+ 32,
+ 33
+};
+
+UV XPosixBlank_invlist[] = {
+ 18, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 9,
+ 10,
+ 32,
+ 33,
+ 160,
+ 161,
+ 5760,
+ 5761,
+ 6158,
+ 6159,
+ 8192,
+ 8203,
+ 8239,
+ 8240,
+ 8287,
+ 8288,
+ 12288,
+ 12289
+};
+
+UV PosixCntrl_invlist[] = {
+ 4, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 0, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 32,
+ 127,
+ 128,
+ 0
+};
+
+UV XPosixCntrl_invlist[] = {
+ 4, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 0, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 32,
+ 127,
+ 160,
+ 0
+};
+
+UV PosixDigit_invlist[] = {
+ 2, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 48,
+ 58
+};
+
+UV PosixGraph_invlist[] = {
+ 2, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 33,
+ 127
+};
+
+UV L1PosixGraph_invlist[] = {
+ 4, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 33,
+ 127,
+ 161,
+ 888
+};
+
+UV PosixLower_invlist[] = {
+ 2, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 97,
+ 123
+};
+
+UV L1PosixLower_invlist[] = {
+ 12, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 97,
+ 123,
+ 170,
+ 171,
+ 181,
+ 182,
+ 186,
+ 187,
+ 223,
+ 247,
+ 248,
+ 256
+};
+
+UV PosixPrint_invlist[] = {
+ 2, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 32,
+ 127
+};
+
+UV L1PosixPrint_invlist[] = {
+ 4, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 32,
+ 127,
+ 160,
+ 888
+};
+
+UV PosixPunct_invlist[] = {
+ 8, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 33,
+ 48,
+ 58,
+ 65,
+ 91,
+ 97,
+ 123,
+ 127
+};
+
+UV L1PosixPunct_invlist[] = {
+ 20, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 33,
+ 48,
+ 58,
+ 65,
+ 91,
+ 97,
+ 123,
+ 127,
+ 161,
+ 162,
+ 167,
+ 168,
+ 171,
+ 172,
+ 182,
+ 184,
+ 187,
+ 188,
+ 191,
+ 192
+};
+
+UV PosixSpace_invlist[] = {
+ 4, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 9,
+ 14,
+ 32,
+ 33
+};
+
+UV XPosixSpace_invlist[] = {
+ 22, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 9,
+ 14,
+ 32,
+ 33,
+ 133,
+ 134,
+ 160,
+ 161,
+ 5760,
+ 5761,
+ 6158,
+ 6159,
+ 8192,
+ 8203,
+ 8232,
+ 8234,
+ 8239,
+ 8240,
+ 8287,
+ 8288,
+ 12288,
+ 12289
+};
+
+UV PosixUpper_invlist[] = {
+ 2, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 65,
+ 91
+};
+
+UV L1PosixUpper_invlist[] = {
+ 6, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 65,
+ 91,
+ 192,
+ 215,
+ 216,
+ 223
+};
+
+UV PosixWord_invlist[] = {
+ 8, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 48,
+ 58,
+ 65,
+ 91,
+ 95,
+ 96,
+ 97,
+ 123
+};
+
+UV L1PosixWord_invlist[] = {
+ 20, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 48,
+ 58,
+ 65,
+ 91,
+ 95,
+ 96,
+ 97,
+ 123,
+ 170,
+ 171,
+ 181,
+ 182,
+ 186,
+ 187,
+ 192,
+ 215,
+ 216,
+ 247,
+ 248,
+ 706
+};
+
+UV PosixXDigit_invlist[] = {
+ 6, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 48,
+ 58,
+ 65,
+ 71,
+ 97,
+ 103
+};
+
+UV XPosixXDigit_invlist[] = {
+ 12, /* Number of elements */
+ 0, /* Current iteration position */
+ 1064334010, /* Version and data structure type */
+ 1, /* 0 if this is the first element of the list proper;
+ 1 if the next element is the first */
+ 48,
+ 58,
+ 65,
+ 71,
+ 97,
+ 103,
+ 65296,
+ 65306,
+ 65313,
+ 65319,
+ 65345,
+ 65351
+};
+
+/* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/config.h b/Master/tlpkg/tlperl/lib/CORE/config.h
index 8a65c234e73..c9fb7ad382f 100644
--- a/Master/tlpkg/tlperl/lib/CORE/config.h
+++ b/Master/tlpkg/tlperl/lib/CORE/config.h
@@ -9,7 +9,7 @@
/* Package name : perl5
* Source directory :
- * Configuration time: Fri May 18 10:52:25 2012
+ * Configuration time: Fri Nov 16 21:24:42 2012
* Configured by : siepo
* Target system :
*/
@@ -879,46 +879,18 @@
#define _V(args) ()
#endif
-/* INTSIZE:
- * This symbol contains the value of sizeof(int) so that the C
- * preprocessor can make decisions based on it.
- */
-/* LONGSIZE:
- * This symbol contains the value of sizeof(long) so that the C
- * preprocessor can make decisions based on it.
- */
-/* SHORTSIZE:
- * This symbol contains the value of sizeof(short) so that the C
- * preprocessor can make decisions based on it.
- */
-#define INTSIZE 4 /**/
-#define LONGSIZE 4 /**/
-#define SHORTSIZE 2 /**/
-
-/* MULTIARCH:
- * This symbol, if defined, signifies that the build
- * process will produce some binary files that are going to be
- * used in a cross-platform environment. This is the case for
- * example with the NeXT "fat" binaries that contain executables
- * for several CPUs.
+/* OSNAME:
+ * This symbol contains the name of the operating system, as determined
+ * by Configure. You shouldn't rely on it too much; the specific
+ * feature tests from Configure are generally more reliable.
*/
-/*#define MULTIARCH / **/
-
-/* HAS_QUAD:
- * This symbol, if defined, tells that there's a 64-bit integer type,
- * Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one
- * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T.
+/* OSVERS:
+ * This symbol contains the version of the operating system, as determined
+ * by Configure. You shouldn't rely on it too much; the specific
+ * feature tests from Configure are generally more reliable.
*/
-#define HAS_QUAD /**/
-#ifdef HAS_QUAD
-# define Quad_t long long /**/
-# define Uquad_t unsigned long long /**/
-# define QUADKIND 3 /**/
-# define QUAD_IS_INT 1
-# define QUAD_IS_LONG 2
-# define QUAD_IS_LONG_LONG 3
-# define QUAD_IS_INT64_T 4
-#endif
+#define OSNAME "MSWin32" /**/
+#define OSVERS "5.1" /**/
/* USE_CROSS_COMPILE:
* This symbol, if defined, indicates that Perl is being cross-compiled.
@@ -932,6 +904,15 @@
#define PERL_TARGETARCH "" /**/
#endif
+/* MULTIARCH:
+ * This symbol, if defined, signifies that the build
+ * process will produce some binary files that are going to be
+ * used in a cross-platform environment. This is the case for
+ * example with the NeXT "fat" binaries that contain executables
+ * for several CPUs.
+ */
+/*#define MULTIARCH / **/
+
/* MEM_ALIGNBYTES:
* This symbol contains the number of bytes required to align a
* double, or a long double when applicable. Usual values are 2,
@@ -956,7 +937,7 @@
* This symbol contains the ~name expanded version of ARCHLIB, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-#define ARCHLIB "x:\\tlperl\\lib" /**/
+#define ARCHLIB "c:\\perl\\lib" /**/
/*#define ARCHLIB_EXP "" / **/
/* ARCHNAME:
@@ -979,9 +960,25 @@
* This symbol, if defined, indicates that we'd like to relocate entries
* in @INC at run time based on the location of the perl binary.
*/
-#define BIN "x:\\tlperl\\bin" /**/
-#define BIN_EXP "x:\\tlperl\\bin" /**/
-#define PERL_RELOCATABLE_INC "undef" /**/
+#define BIN "c:\\perl\\bin" /**/
+#define BIN_EXP "c:\\perl\\bin" /**/
+/*#define PERL_RELOCATABLE_INC / **/
+
+/* INTSIZE:
+ * This symbol contains the value of sizeof(int) so that the C
+ * preprocessor can make decisions based on it.
+ */
+/* LONGSIZE:
+ * This symbol contains the value of sizeof(long) so that the C
+ * preprocessor can make decisions based on it.
+ */
+/* SHORTSIZE:
+ * This symbol contains the value of sizeof(short) so that the C
+ * preprocessor can make decisions based on it.
+ */
+#define INTSIZE 4 /**/
+#define LONGSIZE 4 /**/
+#define SHORTSIZE 2 /**/
/* BYTEORDER:
* This symbol holds the hexadecimal constant defined in byteorder,
@@ -1032,6 +1029,64 @@
*/
#define CHARBITS 8 /**/
+/* CAT2:
+ * This macro concatenates 2 tokens together.
+ */
+/* STRINGIFY:
+ * This macro surrounds its token with double quotes.
+ */
+#if 42 == 1
+#define CAT2(a,b) a/**/b
+#define STRINGIFY(a) "a"
+#endif
+#if 42 == 42
+#define PeRl_CaTiFy(a, b) a ## b
+#define PeRl_StGiFy(a) #a
+#define CAT2(a,b) PeRl_CaTiFy(a,b)
+#define StGiFy(a) PeRl_StGiFy(a)
+#define STRINGIFY(a) PeRl_StGiFy(a)
+#endif
+#if 42 != 1 && 42 != 42
+#include "Bletch: How does this C preprocessor concatenate tokens?"
+#endif
+
+/* CPPSTDIN:
+ * This symbol contains the first part of the string which will invoke
+ * the C preprocessor on the standard input and produce to standard
+ * output. Typical value of "cc -E" or "/lib/cpp", but it can also
+ * call a wrapper. See CPPRUN.
+ */
+/* CPPMINUS:
+ * This symbol contains the second part of the string which will invoke
+ * the C preprocessor on the standard input and produce to standard
+ * output. This symbol will have the value "-" if CPPSTDIN needs a minus
+ * to specify standard input, otherwise the value is "".
+ */
+/* CPPRUN:
+ * This symbol contains the string which will invoke a C preprocessor on
+ * the standard input and produce to standard output. It needs to end
+ * with CPPLAST, after all other preprocessor flags have been specified.
+ * The main difference with CPPSTDIN is that this program will never be a
+ * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
+ * available directly to the user. Note that it may well be different from
+ * the preprocessor used to compile the C program.
+ */
+/* CPPLAST:
+ * This symbol is intended to be used along with CPPRUN in the same manner
+ * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
+ */
+#define CPPSTDIN "gcc -E"
+#define CPPMINUS "-"
+#define CPPRUN "gcc -E"
+#define CPPLAST ""
+
+/* HAS_ACCESS:
+ * This manifest constant lets the C program know that the access()
+ * system call is available to check for accessibility using real UID/GID.
+ * (always present on UNIX.)
+ */
+#define HAS_ACCESS /**/
+
/* HAS_ACCESSX:
* This symbol, if defined, indicates that the accessx routine is
* available to do extended access checks.
@@ -1051,6 +1106,43 @@
/*#define HAS_ASCTIME_R / **/
#define ASCTIME_R_PROTO 0 /**/
+/* HASATTRIBUTE_FORMAT:
+ * Can we handle GCC attribute for checking printf-style formats
+ */
+/* PRINTF_FORMAT_NULL_OK:
+ * Allows __printf__ format to be null when checking printf-style
+ */
+/* HASATTRIBUTE_MALLOC:
+ * Can we handle GCC attribute for malloc-style functions.
+ */
+/* HASATTRIBUTE_NONNULL:
+ * Can we handle GCC attribute for nonnull function parms.
+ */
+/* HASATTRIBUTE_NORETURN:
+ * Can we handle GCC attribute for functions that do not return
+ */
+/* HASATTRIBUTE_PURE:
+ * Can we handle GCC attribute for pure functions
+ */
+/* HASATTRIBUTE_UNUSED:
+ * Can we handle GCC attribute for unused variables and arguments
+ */
+/* HASATTRIBUTE_DEPRECATED:
+ * Can we handle GCC attribute for marking deprecated APIs
+ */
+/* HASATTRIBUTE_WARN_UNUSED_RESULT:
+ * Can we handle GCC attribute for warning on unused results
+ */
+/*#define HASATTRIBUTE_DEPRECATED / **/
+/*#define HASATTRIBUTE_FORMAT / **/
+/*#define PRINTF_FORMAT_NULL_OK / **/
+/*#define HASATTRIBUTE_NORETURN / **/
+/*#define HASATTRIBUTE_MALLOC / **/
+/*#define HASATTRIBUTE_NONNULL / **/
+/*#define HASATTRIBUTE_PURE / **/
+/*#define HASATTRIBUTE_UNUSED / **/
+/*#define HASATTRIBUTE_WARN_UNUSED_RESULT / **/
+
/* CASTI32:
* This symbol is defined if the C compiler can cast negative
* or large floating point numbers to 32-bit ints.
@@ -1078,6 +1170,17 @@
*/
/*#define VOID_CLOSEDIR / **/
+/* HASCONST:
+ * This symbol, if defined, indicates that this C compiler knows about
+ * the const type. There is no need to actually test for that symbol
+ * within your programs. The mere use of the "const" keyword will
+ * trigger the necessary tests.
+ */
+#define HASCONST /**/
+#ifndef HASCONST
+#define const
+#endif
+
/* HAS_CRYPT_R:
* This symbol, if defined, indicates that the crypt_r routine
* is available to crypt re-entrantly.
@@ -1091,6 +1194,17 @@
/*#define HAS_CRYPT_R / **/
#define CRYPT_R_PROTO 0 /**/
+/* HAS_CSH:
+ * This symbol, if defined, indicates that the C-shell exists.
+ */
+/* CSH:
+ * This symbol, if defined, contains the full pathname of csh.
+ */
+/*#define HAS_CSH / **/
+#ifdef HAS_CSH
+#define CSH "" /**/
+#endif
+
/* HAS_CTERMID_R:
* This symbol, if defined, indicates that the ctermid_r routine
* is available to ctermid re-entrantly.
@@ -1117,6 +1231,26 @@
/*#define HAS_CTIME_R / **/
#define CTIME_R_PROTO 0 /**/
+/* SETUID_SCRIPTS_ARE_SECURE_NOW:
+ * This symbol, if defined, indicates that the bug that prevents
+ * setuid scripts from being secure is not present in this kernel.
+ */
+/* DOSUID:
+ * This symbol, if defined, indicates that the C program should
+ * check the script that it is executing for setuid/setgid bits, and
+ * attempt to emulate setuid/setgid on systems that have disabled
+ * setuid #! scripts because the kernel can't do it securely.
+ * It is up to the package designer to make sure that this emulation
+ * is done securely. Among other things, it should do an fstat on
+ * the script it just opened to make sure it really is a setuid/setgid
+ * script, it should make sure the arguments passed correspond exactly
+ * to the argument on the #! line, and it should not trust any
+ * subprocesses to which it must pass the filename rather than the
+ * file descriptor of the script to be executed.
+ */
+/*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/
+/*#define DOSUID / **/
+
/* HAS_DRAND48_R:
* This symbol, if defined, indicates that the drand48_r routine
* is available to drand48 re-entrantly.
@@ -1130,12 +1264,26 @@
/*#define HAS_DRAND48_R / **/
#define DRAND48_R_PROTO 0 /**/
+/* HAS_DRAND48_PROTO:
+ * This symbol, if defined, indicates that the system provides
+ * a prototype for the drand48() function. Otherwise, it is up
+ * to the program to supply one. A good guess is
+ * extern double drand48(void);
+ */
+/*#define HAS_DRAND48_PROTO / **/
+
/* HAS_EACCESS:
* This symbol, if defined, indicates that the eaccess routine is
* available to do extended access checks.
*/
/*#define HAS_EACCESS / **/
+/* HAS_ENDGRENT:
+ * This symbol, if defined, indicates that the getgrent routine is
+ * available for finalizing sequential access of the group database.
+ */
+/*#define HAS_ENDGRENT / **/
+
/* HAS_ENDGRENT_R:
* This symbol, if defined, indicates that the endgrent_r routine
* is available to endgrent re-entrantly.
@@ -1149,6 +1297,12 @@
/*#define HAS_ENDGRENT_R / **/
#define ENDGRENT_R_PROTO 0 /**/
+/* HAS_ENDHOSTENT:
+ * This symbol, if defined, indicates that the endhostent() routine is
+ * available to close whatever was being used for host queries.
+ */
+/*#define HAS_ENDHOSTENT / **/
+
/* HAS_ENDHOSTENT_R:
* This symbol, if defined, indicates that the endhostent_r routine
* is available to endhostent re-entrantly.
@@ -1162,6 +1316,12 @@
/*#define HAS_ENDHOSTENT_R / **/
#define ENDHOSTENT_R_PROTO 0 /**/
+/* HAS_ENDNETENT:
+ * This symbol, if defined, indicates that the endnetent() routine is
+ * available to close whatever was being used for network queries.
+ */
+/*#define HAS_ENDNETENT / **/
+
/* HAS_ENDNETENT_R:
* This symbol, if defined, indicates that the endnetent_r routine
* is available to endnetent re-entrantly.
@@ -1175,6 +1335,12 @@
/*#define HAS_ENDNETENT_R / **/
#define ENDNETENT_R_PROTO 0 /**/
+/* HAS_ENDPROTOENT:
+ * This symbol, if defined, indicates that the endprotoent() routine is
+ * available to close whatever was being used for protocol queries.
+ */
+/*#define HAS_ENDPROTOENT / **/
+
/* HAS_ENDPROTOENT_R:
* This symbol, if defined, indicates that the endprotoent_r routine
* is available to endprotoent re-entrantly.
@@ -1188,6 +1354,12 @@
/*#define HAS_ENDPROTOENT_R / **/
#define ENDPROTOENT_R_PROTO 0 /**/
+/* HAS_ENDPWENT:
+ * This symbol, if defined, indicates that the getgrent routine is
+ * available for finalizing sequential access of the passwd database.
+ */
+/*#define HAS_ENDPWENT / **/
+
/* HAS_ENDPWENT_R:
* This symbol, if defined, indicates that the endpwent_r routine
* is available to endpwent re-entrantly.
@@ -1201,6 +1373,12 @@
/*#define HAS_ENDPWENT_R / **/
#define ENDPWENT_R_PROTO 0 /**/
+/* HAS_ENDSERVENT:
+ * This symbol, if defined, indicates that the endservent() routine is
+ * available to close whatever was being used for service queries.
+ */
+/*#define HAS_ENDSERVENT / **/
+
/* HAS_ENDSERVENT_R:
* This symbol, if defined, indicates that the endservent_r routine
* is available to endservent re-entrantly.
@@ -1220,6 +1398,12 @@
*/
#define HAS_FD_SET /**/
+/* FLEXFILENAMES:
+ * This symbol, if defined, indicates that the system supports filenames
+ * longer than 14 characters.
+ */
+#define FLEXFILENAMES /**/
+
/* Gconvert:
* This preprocessor macro is defined to convert a floating point
* number to a string without a trailing decimal point. This
@@ -1237,6 +1421,12 @@
*/
#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
+/* HAS_GETGRENT:
+ * This symbol, if defined, indicates that the getgrent routine is
+ * available for sequential access of the group database.
+ */
+/*#define HAS_GETGRENT / **/
+
/* HAS_GETGRENT_R:
* This symbol, if defined, indicates that the getgrent_r routine
* is available to getgrent re-entrantly.
@@ -1276,6 +1466,53 @@
/*#define HAS_GETGRNAM_R / **/
#define GETGRNAM_R_PROTO 0 /**/
+/* HAS_GETHOSTBYADDR:
+ * This symbol, if defined, indicates that the gethostbyaddr() routine is
+ * available to look up hosts by their IP addresses.
+ */
+#define HAS_GETHOSTBYADDR /**/
+
+/* HAS_GETHOSTBYNAME:
+ * This symbol, if defined, indicates that the gethostbyname() routine is
+ * available to look up host names in some data base or other.
+ */
+#define HAS_GETHOSTBYNAME /**/
+
+/* HAS_GETHOSTENT:
+ * This symbol, if defined, indicates that the gethostent() routine is
+ * available to look up host names in some data base or another.
+ */
+/*#define HAS_GETHOSTENT / **/
+
+/* HAS_GETHOSTNAME:
+ * This symbol, if defined, indicates that the C program may use the
+ * gethostname() routine to derive the host name. See also HAS_UNAME
+ * and PHOSTNAME.
+ */
+/* HAS_UNAME:
+ * This symbol, if defined, indicates that the C program may use the
+ * uname() routine to derive the host name. See also HAS_GETHOSTNAME
+ * and PHOSTNAME.
+ */
+/* PHOSTNAME:
+ * This symbol, if defined, indicates the command to feed to the
+ * popen() routine to derive the host name. See also HAS_GETHOSTNAME
+ * and HAS_UNAME. Note that the command uses a fully qualified path,
+ * so that it is safe even if used by a process with super-user
+ * privileges.
+ */
+/* HAS_PHOSTNAME:
+ * This symbol, if defined, indicates that the C program may use the
+ * contents of PHOSTNAME as a command to feed to the popen() routine
+ * to derive the host name.
+ */
+#define HAS_GETHOSTNAME /**/
+#define HAS_UNAME /**/
+/*#define HAS_PHOSTNAME / **/
+#ifdef HAS_PHOSTNAME
+#define PHOSTNAME "" /* How to get the host name */
+#endif
+
/* HAS_GETHOSTBYADDR_R:
* This symbol, if defined, indicates that the gethostbyaddr_r routine
* is available to gethostbyaddr re-entrantly.
@@ -1315,6 +1552,14 @@
/*#define HAS_GETHOSTENT_R / **/
#define GETHOSTENT_R_PROTO 0 /**/
+/* HAS_GETHOST_PROTOS:
+ * This symbol, if defined, indicates that <netdb.h> includes
+ * prototypes for gethostent(), gethostbyname(), and
+ * gethostbyaddr(). Otherwise, it is up to the program to guess
+ * them. See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define HAS_GETHOST_PROTOS /**/
+
/* HAS_GETLOGIN_R:
* This symbol, if defined, indicates that the getlogin_r routine
* is available to getlogin re-entrantly.
@@ -1328,6 +1573,24 @@
/*#define HAS_GETLOGIN_R / **/
#define GETLOGIN_R_PROTO 0 /**/
+/* HAS_GETNETBYADDR:
+ * This symbol, if defined, indicates that the getnetbyaddr() routine is
+ * available to look up networks by their IP addresses.
+ */
+/*#define HAS_GETNETBYADDR / **/
+
+/* HAS_GETNETBYNAME:
+ * This symbol, if defined, indicates that the getnetbyname() routine is
+ * available to look up networks by their names.
+ */
+/*#define HAS_GETNETBYNAME / **/
+
+/* HAS_GETNETENT:
+ * This symbol, if defined, indicates that the getnetent() routine is
+ * available to look up network names in some data base or another.
+ */
+/*#define HAS_GETNETENT / **/
+
/* HAS_GETNETBYADDR_R:
* This symbol, if defined, indicates that the getnetbyaddr_r routine
* is available to getnetbyaddr re-entrantly.
@@ -1367,6 +1630,14 @@
/*#define HAS_GETNETENT_R / **/
#define GETNETENT_R_PROTO 0 /**/
+/* HAS_GETNET_PROTOS:
+ * This symbol, if defined, indicates that <netdb.h> includes
+ * prototypes for getnetent(), getnetbyname(), and
+ * getnetbyaddr(). Otherwise, it is up to the program to guess
+ * them. See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+/*#define HAS_GETNET_PROTOS / **/
+
/* HAS_GETPAGESIZE:
* This symbol, if defined, indicates that the getpagesize system call
* is available to get system page size, which is the granularity of
@@ -1374,6 +1645,34 @@
*/
/*#define HAS_GETPAGESIZE / **/
+/* HAS_GETPROTOENT:
+ * This symbol, if defined, indicates that the getprotoent() routine is
+ * available to look up protocols in some data base or another.
+ */
+/*#define HAS_GETPROTOENT / **/
+
+/* HAS_GETPGRP:
+ * This symbol, if defined, indicates that the getpgrp routine is
+ * available to get the current process group.
+ */
+/* USE_BSD_GETPGRP:
+ * This symbol, if defined, indicates that getpgrp needs one
+ * arguments whereas USG one needs none.
+ */
+/*#define HAS_GETPGRP / **/
+/*#define USE_BSD_GETPGRP / **/
+
+/* HAS_GETPROTOBYNAME:
+ * This symbol, if defined, indicates that the getprotobyname()
+ * routine is available to look up protocols by their name.
+ */
+/* HAS_GETPROTOBYNUMBER:
+ * This symbol, if defined, indicates that the getprotobynumber()
+ * routine is available to look up protocols by their number.
+ */
+#define HAS_GETPROTOBYNAME /**/
+#define HAS_GETPROTOBYNUMBER /**/
+
/* HAS_GETPROTOBYNAME_R:
* This symbol, if defined, indicates that the getprotobyname_r routine
* is available to getprotobyname re-entrantly.
@@ -1413,6 +1712,21 @@
/*#define HAS_GETPROTOENT_R / **/
#define GETPROTOENT_R_PROTO 0 /**/
+/* HAS_GETPROTO_PROTOS:
+ * This symbol, if defined, indicates that <netdb.h> includes
+ * prototypes for getprotoent(), getprotobyname(), and
+ * getprotobyaddr(). Otherwise, it is up to the program to guess
+ * them. See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define HAS_GETPROTO_PROTOS /**/
+
+/* HAS_GETPWENT:
+ * This symbol, if defined, indicates that the getpwent routine is
+ * available for sequential access of the passwd database.
+ * If this is not available, the older getpw() function may be available.
+ */
+/*#define HAS_GETPWENT / **/
+
/* HAS_GETPWENT_R:
* This symbol, if defined, indicates that the getpwent_r routine
* is available to getpwent re-entrantly.
@@ -1452,6 +1766,12 @@
/*#define HAS_GETPWUID_R / **/
#define GETPWUID_R_PROTO 0 /**/
+/* HAS_GETSERVENT:
+ * This symbol, if defined, indicates that the getservent() routine is
+ * available to look up network services in some data base or another.
+ */
+/*#define HAS_GETSERVENT / **/
+
/* HAS_GETSERVBYNAME_R:
* This symbol, if defined, indicates that the getservbyname_r routine
* is available to getservbyname re-entrantly.
@@ -1491,6 +1811,14 @@
/*#define HAS_GETSERVENT_R / **/
#define GETSERVENT_R_PROTO 0 /**/
+/* HAS_GETSERV_PROTOS:
+ * This symbol, if defined, indicates that <netdb.h> includes
+ * prototypes for getservent(), getservbyname(), and
+ * getservbyaddr(). Otherwise, it is up to the program to guess
+ * them. See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#define HAS_GETSERV_PROTOS /**/
+
/* HAS_GETSPNAM_R:
* This symbol, if defined, indicates that the getspnam_r routine
* is available to getspnam re-entrantly.
@@ -1504,6 +1832,17 @@
/*#define HAS_GETSPNAM_R / **/
#define GETSPNAM_R_PROTO 0 /**/
+/* HAS_GETSERVBYNAME:
+ * This symbol, if defined, indicates that the getservbyname()
+ * routine is available to look up services by their name.
+ */
+/* HAS_GETSERVBYPORT:
+ * This symbol, if defined, indicates that the getservbyport()
+ * routine is available to look up services by their port.
+ */
+#define HAS_GETSERVBYNAME /**/
+#define HAS_GETSERVBYPORT /**/
+
/* HAS_GMTIME_R:
* This symbol, if defined, indicates that the gmtime_r routine
* is available to gmtime re-entrantly.
@@ -1527,6 +1866,31 @@
# define _GNU_SOURCE
#endif
+/* HAS_HTONL:
+ * This symbol, if defined, indicates that the htonl() routine (and
+ * friends htons() ntohl() ntohs()) are available to do network
+ * order byte swapping.
+ */
+/* HAS_HTONS:
+ * This symbol, if defined, indicates that the htons() routine (and
+ * friends htonl() ntohl() ntohs()) are available to do network
+ * order byte swapping.
+ */
+/* HAS_NTOHL:
+ * This symbol, if defined, indicates that the ntohl() routine (and
+ * friends htonl() htons() ntohs()) are available to do network
+ * order byte swapping.
+ */
+/* HAS_NTOHS:
+ * This symbol, if defined, indicates that the ntohs() routine (and
+ * friends htonl() htons() ntohl()) are available to do network
+ * order byte swapping.
+ */
+#define HAS_HTONL /**/
+#define HAS_HTONS /**/
+#define HAS_NTOHL /**/
+#define HAS_NTOHS /**/
+
/* HAS_ISASCII:
* This manifest constant lets the C program know that isascii
* is available.
@@ -1566,6 +1930,72 @@
/*#define HAS_LOCALTIME_R / **/
#define LOCALTIME_R_PROTO 0 /**/
+/* HAS_LONG_DOUBLE:
+ * This symbol will be defined if the C compiler supports long
+ * doubles.
+ */
+/* LONG_DOUBLESIZE:
+ * This symbol contains the size of a long double, so that the
+ * C preprocessor can make decisions based on it. It is only
+ * defined if the system supports long doubles.
+ */
+#define HAS_LONG_DOUBLE /**/
+#ifdef HAS_LONG_DOUBLE
+#define LONG_DOUBLESIZE 12 /**/
+#endif
+
+/* HAS_LONG_LONG:
+ * This symbol will be defined if the C compiler supports long long.
+ */
+/* LONGLONGSIZE:
+ * This symbol contains the size of a long long, so that the
+ * C preprocessor can make decisions based on it. It is only
+ * defined if the system supports long long.
+ */
+/*#define HAS_LONG_LONG / **/
+#ifdef HAS_LONG_LONG
+#define LONGLONGSIZE 8 /**/
+#endif
+
+/* HAS_LSEEK_PROTO:
+ * This symbol, if defined, indicates that the system provides
+ * a prototype for the lseek() function. Otherwise, it is up
+ * to the program to supply one. A good guess is
+ * extern off_t lseek(int, off_t, int);
+ */
+#define HAS_LSEEK_PROTO /**/
+
+/* HAS_MEMCHR:
+ * This symbol, if defined, indicates that the memchr routine is available
+ * to locate characters within a C string.
+ */
+#define HAS_MEMCHR /**/
+
+/* HAS_MKSTEMP:
+ * This symbol, if defined, indicates that the mkstemp routine is
+ * available to exclusively create and open a uniquely named
+ * temporary file.
+ */
+/*#define HAS_MKSTEMP / **/
+
+/* HAS_MMAP:
+ * This symbol, if defined, indicates that the mmap system call is
+ * available to map a file into memory.
+ */
+/* Mmap_t:
+ * This symbol holds the return type of the mmap() system call
+ * (and simultaneously the type of the first argument).
+ * Usually set to 'void *' or 'caddr_t'.
+ */
+/*#define HAS_MMAP / **/
+#define Mmap_t void * /**/
+
+/* HAS_MSG:
+ * This symbol, if defined, indicates that the entire msg*(2) library is
+ * supported (IPC mechanism based on message queues).
+ */
+/*#define HAS_MSG / **/
+
/* HAS_OPEN3:
* This manifest constant lets the C program know that the three
* argument form of open(2) is available.
@@ -1669,6 +2099,18 @@
*/
#define HAS_SANE_MEMCMP /**/
+/* HAS_SEM:
+ * This symbol, if defined, indicates that the entire sem*(2) library is
+ * supported.
+ */
+/*#define HAS_SEM / **/
+
+/* HAS_SETGRENT:
+ * This symbol, if defined, indicates that the setgrent routine is
+ * available for initializing sequential access of the group database.
+ */
+/*#define HAS_SETGRENT / **/
+
/* HAS_SETGRENT_R:
* This symbol, if defined, indicates that the setgrent_r routine
* is available to setgrent re-entrantly.
@@ -1682,6 +2124,12 @@
/*#define HAS_SETGRENT_R / **/
#define SETGRENT_R_PROTO 0 /**/
+/* HAS_SETHOSTENT:
+ * This symbol, if defined, indicates that the sethostent() routine is
+ * available.
+ */
+/*#define HAS_SETHOSTENT / **/
+
/* HAS_SETHOSTENT_R:
* This symbol, if defined, indicates that the sethostent_r routine
* is available to sethostent re-entrantly.
@@ -1708,6 +2156,12 @@
/*#define HAS_SETLOCALE_R / **/
#define SETLOCALE_R_PROTO 0 /**/
+/* HAS_SETNETENT:
+ * This symbol, if defined, indicates that the setnetent() routine is
+ * available.
+ */
+/*#define HAS_SETNETENT / **/
+
/* HAS_SETNETENT_R:
* This symbol, if defined, indicates that the setnetent_r routine
* is available to setnetent re-entrantly.
@@ -1721,6 +2175,24 @@
/*#define HAS_SETNETENT_R / **/
#define SETNETENT_R_PROTO 0 /**/
+/* HAS_SETPROTOENT:
+ * This symbol, if defined, indicates that the setprotoent() routine is
+ * available.
+ */
+/*#define HAS_SETPROTOENT / **/
+
+/* HAS_SETPGRP:
+ * This symbol, if defined, indicates that the setpgrp routine is
+ * available to set the current process group.
+ */
+/* USE_BSD_SETPGRP:
+ * This symbol, if defined, indicates that setpgrp needs two
+ * arguments whereas USG one needs none. See also HAS_SETPGID
+ * for a POSIX interface.
+ */
+/*#define HAS_SETPGRP / **/
+/*#define USE_BSD_SETPGRP / **/
+
/* HAS_SETPROTOENT_R:
* This symbol, if defined, indicates that the setprotoent_r routine
* is available to setprotoent re-entrantly.
@@ -1734,6 +2206,12 @@
/*#define HAS_SETPROTOENT_R / **/
#define SETPROTOENT_R_PROTO 0 /**/
+/* HAS_SETPWENT:
+ * This symbol, if defined, indicates that the setpwent routine is
+ * available for initializing sequential access of the passwd database.
+ */
+/*#define HAS_SETPWENT / **/
+
/* HAS_SETPWENT_R:
* This symbol, if defined, indicates that the setpwent_r routine
* is available to setpwent re-entrantly.
@@ -1747,6 +2225,12 @@
/*#define HAS_SETPWENT_R / **/
#define SETPWENT_R_PROTO 0 /**/
+/* HAS_SETSERVENT:
+ * This symbol, if defined, indicates that the setservent() routine is
+ * available.
+ */
+/*#define HAS_SETSERVENT / **/
+
/* HAS_SETSERVENT_R:
* This symbol, if defined, indicates that the setservent_r routine
* is available to setservent re-entrantly.
@@ -1760,6 +2244,33 @@
/*#define HAS_SETSERVENT_R / **/
#define SETSERVENT_R_PROTO 0 /**/
+/* HAS_SETVBUF:
+ * This symbol, if defined, indicates that the setvbuf routine is
+ * available to change buffering on an open stdio stream.
+ * to a line-buffered mode.
+ */
+#define HAS_SETVBUF /**/
+
+/* HAS_SHM:
+ * This symbol, if defined, indicates that the entire shm*(2) library is
+ * supported.
+ */
+/*#define HAS_SHM / **/
+
+/* Shmat_t:
+ * This symbol holds the return type of the shmat() system call.
+ * Usually set to 'void *' or 'char *'.
+ */
+/* HAS_SHMAT_PROTOTYPE:
+ * This symbol, if defined, indicates that the sys/shm.h includes
+ * a prototype for shmat(). Otherwise, it is up to the program to
+ * guess one. Shmat_t shmat(int, Shmat_t, int) is a good guess,
+ * but not always right so it should be emitted by the program only
+ * when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
+ */
+#define Shmat_t void * /**/
+/*#define HAS_SHMAT_PROTOTYPE / **/
+
/* HAS_SIGACTION:
* This symbol, if defined, indicates that Vr4's sigaction() routine
* is available.
@@ -1797,6 +2308,74 @@
#define Siglongjmp(buf,retval) longjmp((buf),(retval))
#endif
+/* HAS_SOCKET:
+ * This symbol, if defined, indicates that the BSD socket interface is
+ * supported.
+ */
+/* HAS_SOCKETPAIR:
+ * This symbol, if defined, indicates that the BSD socketpair() call is
+ * supported.
+ */
+/* HAS_MSG_CTRUNC:
+ * This symbol, if defined, indicates that the MSG_CTRUNC is supported.
+ * Checking just with #ifdef might not be enough because this symbol
+ * has been known to be an enum.
+ */
+/* HAS_MSG_DONTROUTE:
+ * This symbol, if defined, indicates that the MSG_DONTROUTE is supported.
+ * Checking just with #ifdef might not be enough because this symbol
+ * has been known to be an enum.
+ */
+/* HAS_MSG_OOB:
+ * This symbol, if defined, indicates that the MSG_OOB is supported.
+ * Checking just with #ifdef might not be enough because this symbol
+ * has been known to be an enum.
+ */
+/* HAS_MSG_PEEK:
+ * This symbol, if defined, indicates that the MSG_PEEK is supported.
+ * Checking just with #ifdef might not be enough because this symbol
+ * has been known to be an enum.
+ */
+/* HAS_MSG_PROXY:
+ * This symbol, if defined, indicates that the MSG_PROXY is supported.
+ * Checking just with #ifdef might not be enough because this symbol
+ * has been known to be an enum.
+ */
+/* HAS_SCM_RIGHTS:
+ * This symbol, if defined, indicates that the SCM_RIGHTS is supported.
+ * Checking just with #ifdef might not be enough because this symbol
+ * has been known to be an enum.
+ */
+/* HAS_SOCKADDR_SA_LEN:
+ * This symbol, if defined, indicates that the struct sockaddr
+ * structure has a member called sa_len, indicating the length of
+ * the structure.
+ */
+/* HAS_SOCKADDR_IN6:
+ * This symbol, if defined, indicates the availability of
+ * struct sockaddr_in6;
+ */
+/* HAS_SIN6_SCOPE_ID:
+ * This symbol, if defined, indicates that the struct sockaddr_in6
+ * structure has a member called sin6_scope_id.
+ */
+/* HAS_IPV6_MREQ:
+ * This symbol, if defined, indicates the availability of
+ * struct ipv6_mreq;
+ */
+#define HAS_SOCKET /**/
+/*#define HAS_SOCKETPAIR / **/
+/*#define HAS_SOCKADDR_SA_LEN / **/
+/*#define HAS_MSG_CTRUNC / **/
+/*#define HAS_MSG_DONTROUTE / **/
+/*#define HAS_MSG_OOB / **/
+/*#define HAS_MSG_PEEK / **/
+/*#define HAS_MSG_PROXY / **/
+/*#define HAS_SCM_RIGHTS / **/
+/*#define HAS_SOCKADDR_IN6 / **/
+#define HAS_SIN6_SCOPE_ID /**/
+/*#define HAS_IPV6_MREQ / **/
+
/* HAS_SRAND48_R:
* This symbol, if defined, indicates that the srand48_r routine
* is available to srand48 re-entrantly.
@@ -1823,6 +2402,35 @@
/*#define HAS_SRANDOM_R / **/
#define SRANDOM_R_PROTO 0 /**/
+/* USE_STAT_BLOCKS:
+ * This symbol is defined if this system has a stat structure declaring
+ * st_blksize and st_blocks.
+ */
+#ifndef USE_STAT_BLOCKS
+/*#define USE_STAT_BLOCKS / **/
+#endif
+
+/* HAS_STATIC_INLINE:
+ * This symbol, if defined, indicates that the C compiler supports
+ * C99-style static inline. That is, the function can't be called
+ * from another translation unit.
+ */
+/* PERL_STATIC_INLINE:
+ * This symbol gives the best-guess incantation to use for static
+ * inline functions. If HAS_STATIC_INLINE is defined, this will
+ * give C99-style inline. If HAS_STATIC_INLINE is not defined,
+ * this will give a plain 'static'. It will always be defined
+ * to something that gives static linkage.
+ * Possibilities include
+ * static inline (c99)
+ * static __inline__ (gcc -ansi)
+ * static __inline (MSVC)
+ * static _inline (older MSVC)
+ * static (c89 compilers)
+ */
+#define HAS_STATIC_INLINE /**/
+#define PERL_STATIC_INLINE static __inline__ /**/
+
/* USE_STDIO_PTR:
* This symbol is defined if the _ptr and _cnt fields (or similar)
* of the stdio FILE structure can be used to access the stdio buffer
@@ -1893,6 +2501,32 @@
#define FILE_bufsiz(fp) ((fp)->_cnt + (fp)->_ptr - (fp)->_base)
#endif
+/* USE_STRUCT_COPY:
+ * This symbol, if defined, indicates that this C compiler knows how
+ * to copy structures. If undefined, you'll need to use a block copy
+ * routine of some sort instead.
+ */
+#define USE_STRUCT_COPY /**/
+
+/* HAS_STRERROR:
+ * This symbol, if defined, indicates that the strerror routine is
+ * available to translate error numbers to strings. See the writeup
+ * of Strerror() in this file before you try to define your own.
+ */
+/* HAS_SYS_ERRLIST:
+ * This symbol, if defined, indicates that the sys_errlist array is
+ * available to translate error numbers to strings. The extern int
+ * sys_nerr gives the size of that table.
+ */
+/* Strerror:
+ * This preprocessor symbol is defined as a macro if strerror() is
+ * not available to translate error numbers to strings but sys_errlist[]
+ * array is there.
+ */
+#define HAS_STRERROR /**/
+#define HAS_SYS_ERRLIST /**/
+#define Strerror(e) strerror(e)
+
/* HAS_STRERROR_R:
* This symbol, if defined, indicates that the strerror_r routine
* is available to strerror re-entrantly.
@@ -1906,6 +2540,30 @@
/*#define HAS_STRERROR_R / **/
#define STRERROR_R_PROTO 0 /**/
+/* HAS_STRTOUL:
+ * This symbol, if defined, indicates that the strtoul routine is
+ * available to provide conversion of strings to unsigned long.
+ */
+#define HAS_STRTOUL /**/
+
+/* HAS_TIME:
+ * This symbol, if defined, indicates that the time() routine exists.
+ */
+/* Time_t:
+ * This symbol holds the type returned by time(). It can be long,
+ * or time_t on BSD sites (in which case <sys/types.h> should be
+ * included).
+ */
+#define HAS_TIME /**/
+#define Time_t time_t /* Time type */
+
+/* HAS_TIMES:
+ * This symbol, if defined, indicates that the times() routine exists.
+ * Note that this became obsolete on some systems (SUNOS), which now
+ * use getrusage(). It may be necessary to include <sys/times.h>.
+ */
+#define HAS_TIMES /**/
+
/* HAS_TMPNAM_R:
* This symbol, if defined, indicates that the tmpnam_r routine
* is available to tmpnam re-entrantly.
@@ -1932,886 +2590,6 @@
/*#define HAS_TTYNAME_R / **/
#define TTYNAME_R_PROTO 0 /**/
-/* HAS_VPRINTF:
- * This symbol, if defined, indicates that the vprintf routine is available
- * to printf with a pointer to an argument list. If unavailable, you
- * may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- * This symbol is defined if this system has vsprintf() returning type
- * (char*). The trend seems to be to declare it as "int vsprintf()". It
- * is up to the package author to declare vsprintf correctly based on the
- * symbol.
- */
-#define HAS_VPRINTF /**/
-/*#define USE_CHAR_VSPRINTF / **/
-
-/* DOUBLESIZE:
- * This symbol contains the size of a double, so that the C preprocessor
- * can make decisions based on it.
- */
-#define DOUBLESIZE 8 /**/
-
-/* I_MACH_CTHREADS:
- * This symbol, if defined, indicates to the C program that it should
- * include <mach/cthreads.h>.
- */
-/*#define I_MACH_CTHREADS / **/
-
-/* I_PTHREAD:
- * This symbol, if defined, indicates to the C program that it should
- * include <pthread.h>.
- */
-/*#define I_PTHREAD / **/
-
-/* I_SYS_ACCESS:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/access.h>.
- */
-/*#define I_SYS_ACCESS / **/
-
-/* I_SYS_SECURITY:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/security.h>.
- */
-/*#define I_SYS_SECURITY / **/
-
-/* I_TIME:
- * This symbol, if defined, indicates to the C program that it should
- * include <time.h>.
- */
-/* I_SYS_TIME:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/time.h>.
- */
-/* I_SYS_TIME_KERNEL:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/time.h> with KERNEL defined.
- */
-/* HAS_TM_TM_ZONE:
- * This symbol, if defined, indicates to the C program that
- * the struct tm has a tm_zone field.
- */
-/* HAS_TM_TM_GMTOFF:
- * This symbol, if defined, indicates to the C program that
- * the struct tm has a tm_gmtoff field.
- */
-#define I_TIME /**/
-/*#define I_SYS_TIME / **/
-/*#define I_SYS_TIME_KERNEL / **/
-/*#define HAS_TM_TM_ZONE / **/
-/*#define HAS_TM_TM_GMTOFF / **/
-
-/* PERL_INC_VERSION_LIST:
- * This variable specifies the list of subdirectories in over
- * which perl.c:incpush() and lib/lib.pm will automatically
- * search when adding directories to @INC, in a format suitable
- * for a C initialization string. See the inc_version_list entry
- * in Porting/Glossary for more details.
- */
-/*#define PERL_INC_VERSION_LIST 0 / **/
-
-/* INSTALL_USR_BIN_PERL:
- * This symbol, if defined, indicates that Perl is to be installed
- * also as /usr/bin/perl.
- */
-/*#define INSTALL_USR_BIN_PERL / **/
-
-/* VAL_O_NONBLOCK:
- * This symbol is to be used during open() or fcntl(F_SETFL) to turn on
- * non-blocking I/O for the file descriptor. Note that there is no way
- * back, i.e. you cannot turn it blocking again this way. If you wish to
- * alternatively switch between blocking and non-blocking, use the
- * ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
- */
-/* VAL_EAGAIN:
- * This symbol holds the errno error code set by read() when no data was
- * present on the non-blocking file descriptor.
- */
-/* RD_NODATA:
- * This symbol holds the return code from read() when no data is present
- * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
- * not defined, then you can't distinguish between no data and EOF by
- * issuing a read(). You'll have to find another way to tell for sure!
- */
-/* EOF_NONBLOCK:
- * This symbol, if defined, indicates to the C program that a read() on
- * a non-blocking file descriptor will return 0 on EOF, and not the value
- * held in RD_NODATA (-1 usually, in that case!).
- */
-#define VAL_O_NONBLOCK O_NONBLOCK
-#define VAL_EAGAIN EAGAIN
-#define RD_NODATA -1
-#define EOF_NONBLOCK
-
-/* PERL_OTHERLIBDIRS:
- * This variable contains a colon-separated set of paths for the perl
- * binary to search for additional library files or modules.
- * These directories will be tacked to the end of @INC.
- * Perl will automatically search below each path for version-
- * and architecture-specific directories. See PERL_INC_VERSION_LIST
- * for more details.
- */
-/*#define PERL_OTHERLIBDIRS "" / **/
-
-/* PRIVLIB:
- * This symbol contains the name of the private library for this package.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world. The program
- * should be prepared to do ~ expansion.
- */
-/* PRIVLIB_EXP:
- * This symbol contains the ~name expanded version of PRIVLIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define PRIVLIB "x:\\tlperl\\lib" /**/
-#define PRIVLIB_EXP (win32_get_privlib(PERL_VERSION_STRING, NULL)) /**/
-
-/* PTRSIZE:
- * This symbol contains the size of a pointer, so that the C preprocessor
- * can make decisions based on it. It will be sizeof(void *) if
- * the compiler supports (void *); otherwise it will be
- * sizeof(char *).
- */
-#define PTRSIZE 4 /**/
-
-/* Drand01:
- * This macro is to be used to generate uniformly distributed
- * random numbers over the range [0., 1.[. You may have to supply
- * an 'extern double drand48();' in your program since SunOS 4.1.3
- * doesn't provide you with anything relevant in its headers.
- * See HAS_DRAND48_PROTO.
- */
-/* Rand_seed_t:
- * This symbol defines the type of the argument of the
- * random seed function.
- */
-/* seedDrand01:
- * This symbol defines the macro to be used in seeding the
- * random number generator (see Drand01).
- */
-/* RANDBITS:
- * This symbol indicates how many bits are produced by the
- * function used to generate normalized random numbers.
- * Values include 15, 16, 31, and 48.
- */
-#define Drand01() (rand()/(double)((unsigned)1<<RANDBITS)) /**/
-#define Rand_seed_t unsigned /**/
-#define seedDrand01(x) srand((Rand_seed_t)x) /**/
-#define RANDBITS 15 /**/
-
-/* SITEARCH:
- * This symbol contains the name of the private library for this package.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world. The program
- * should be prepared to do ~ expansion.
- * The standard distribution will put nothing in this directory.
- * After perl has been installed, users may install their own local
- * architecture-dependent modules in this directory with
- * MakeMaker Makefile.PL
- * or equivalent. See INSTALL for details.
- */
-/* SITEARCH_EXP:
- * This symbol contains the ~name expanded version of SITEARCH, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define SITEARCH "x:\\tlperl\\site\\lib" /**/
-/*#define SITEARCH_EXP "" / **/
-
-/* SITELIB:
- * This symbol contains the name of the private library for this package.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world. The program
- * should be prepared to do ~ expansion.
- * The standard distribution will put nothing in this directory.
- * After perl has been installed, users may install their own local
- * architecture-independent modules in this directory with
- * MakeMaker Makefile.PL
- * or equivalent. See INSTALL for details.
- */
-/* SITELIB_EXP:
- * This symbol contains the ~name expanded version of SITELIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* SITELIB_STEM:
- * This define is SITELIB_EXP with any trailing version-specific component
- * removed. The elements in inc_version_list (inc_version_list.U) can
- * be tacked onto this variable to generate a list of directories to search.
- */
-#define SITELIB "x:\\tlperl\\site\\lib" /**/
-#define SITELIB_EXP (win32_get_sitelib(PERL_VERSION_STRING, NULL)) /**/
-#define SITELIB_STEM "" /**/
-
-/* SSize_t:
- * This symbol holds the type used by functions that return
- * a count of bytes or an error condition. It must be a signed type.
- * It is usually ssize_t, but may be long or int, etc.
- * It may be necessary to include <sys/types.h> or <unistd.h>
- * to get any typedef'ed information.
- * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
- */
-#define SSize_t int /* signed count of bytes */
-
-/* USE_ITHREADS:
- * This symbol, if defined, indicates that Perl should be built to
- * use the interpreter-based threading implementation.
- */
-/* USE_5005THREADS:
- * This symbol, if defined, indicates that Perl should be built to
- * use the 5.005-based threading implementation.
- * Only valid up to 5.8.x.
- */
-/* OLD_PTHREADS_API:
- * This symbol, if defined, indicates that Perl should
- * be built to use the old draft POSIX threads API.
- */
-/* USE_REENTRANT_API:
- * This symbol, if defined, indicates that Perl should
- * try to use the various _r versions of library functions.
- * This is extremely experimental.
- */
-/*#define USE_5005THREADS / **/
-#define USE_ITHREADS /**/
-#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
-#define USE_THREADS /* until src is revised*/
-#endif
-/*#define OLD_PTHREADS_API / **/
-/*#define USE_REENTRANT_API / **/
-
-/* PERL_VENDORARCH:
- * If defined, this symbol contains the name of a private library.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world.
- * It may have a ~ on the front.
- * The standard distribution will put nothing in this directory.
- * Vendors who distribute perl may wish to place their own
- * architecture-dependent modules and extensions in this directory with
- * MakeMaker Makefile.PL INSTALLDIRS=vendor
- * or equivalent. See INSTALL for details.
- */
-/* PERL_VENDORARCH_EXP:
- * This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/*#define PERL_VENDORARCH "" / **/
-/*#define PERL_VENDORARCH_EXP "" / **/
-
-/* PERL_VENDORLIB_EXP:
- * This symbol contains the ~name expanded version of VENDORLIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* PERL_VENDORLIB_STEM:
- * This define is PERL_VENDORLIB_EXP with any trailing version-specific component
- * removed. The elements in inc_version_list (inc_version_list.U) can
- * be tacked onto this variable to generate a list of directories to search.
- */
-/*#define PERL_VENDORLIB_EXP "" / **/
-/*#define PERL_VENDORLIB_STEM "" / **/
-
-/* HAS_STATIC_INLINE:
- * This symbol, if defined, indicates that the C compiler supports
- * C99-style static inline. That is, the function can't be called
- * from another translation unit.
- */
-/* PERL_STATIC_INLINE:
- * This symbol gives the best-guess incantation to use for static
- * inline functions. If HAS_STATIC_INLINE is defined, this will
- * give C99-style inline. If HAS_STATIC_INLINE is not defined,
- * this will give a plain 'static'. It will always be defined
- * to something that gives static linkage.
- * Possibilities include
- * static inline (c99)
- * static __inline__ (gcc -ansi)
- * static __inline (MSVC)
- * static _inline (older MSVC)
- * static (c89 compilers)
- */
-#define HAS_STATIC_INLINE /**/
-#define PERL_STATIC_INLINE static __inline__ /**/
-
-/* EBCDIC:
- * This symbol, if defined, indicates that this system uses
- * EBCDIC encoding.
- */
-/*#define EBCDIC / **/
-
-/* OSNAME:
- * This symbol contains the name of the operating system, as determined
- * by Configure. You shouldn't rely on it too much; the specific
- * feature tests from Configure are generally more reliable.
- */
-/* OSVERS:
- * This symbol contains the version of the operating system, as determined
- * by Configure. You shouldn't rely on it too much; the specific
- * feature tests from Configure are generally more reliable.
- */
-#define OSNAME "MSWin32" /**/
-#define OSVERS "5.1" /**/
-
-/* CAT2:
- * This macro concatenates 2 tokens together.
- */
-/* STRINGIFY:
- * This macro surrounds its token with double quotes.
- */
-#if 42 == 1
-#define CAT2(a,b) a/**/b
-#define STRINGIFY(a) "a"
-#endif
-#if 42 == 42
-#define PeRl_CaTiFy(a, b) a ## b
-#define PeRl_StGiFy(a) #a
-#define CAT2(a,b) PeRl_CaTiFy(a,b)
-#define StGiFy(a) PeRl_StGiFy(a)
-#define STRINGIFY(a) PeRl_StGiFy(a)
-#endif
-#if 42 != 1 && 42 != 42
-#include "Bletch: How does this C preprocessor concatenate tokens?"
-#endif
-
-/* CPPSTDIN:
- * This symbol contains the first part of the string which will invoke
- * the C preprocessor on the standard input and produce to standard
- * output. Typical value of "cc -E" or "/lib/cpp", but it can also
- * call a wrapper. See CPPRUN.
- */
-/* CPPMINUS:
- * This symbol contains the second part of the string which will invoke
- * the C preprocessor on the standard input and produce to standard
- * output. This symbol will have the value "-" if CPPSTDIN needs a minus
- * to specify standard input, otherwise the value is "".
- */
-/* CPPRUN:
- * This symbol contains the string which will invoke a C preprocessor on
- * the standard input and produce to standard output. It needs to end
- * with CPPLAST, after all other preprocessor flags have been specified.
- * The main difference with CPPSTDIN is that this program will never be a
- * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
- * available directly to the user. Note that it may well be different from
- * the preprocessor used to compile the C program.
- */
-/* CPPLAST:
- * This symbol is intended to be used along with CPPRUN in the same manner
- * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
- */
-#define CPPSTDIN "gcc -E"
-#define CPPMINUS "-"
-#define CPPRUN "gcc -E"
-#define CPPLAST ""
-
-/* HAS_ACCESS:
- * This manifest constant lets the C program know that the access()
- * system call is available to check for accessibility using real UID/GID.
- * (always present on UNIX.)
- */
-#define HAS_ACCESS /**/
-
-/* HASATTRIBUTE_FORMAT:
- * Can we handle GCC attribute for checking printf-style formats
- */
-/* PRINTF_FORMAT_NULL_OK:
- * Allows __printf__ format to be null when checking printf-style
- */
-/* HASATTRIBUTE_MALLOC:
- * Can we handle GCC attribute for malloc-style functions.
- */
-/* HASATTRIBUTE_NONNULL:
- * Can we handle GCC attribute for nonnull function parms.
- */
-/* HASATTRIBUTE_NORETURN:
- * Can we handle GCC attribute for functions that do not return
- */
-/* HASATTRIBUTE_PURE:
- * Can we handle GCC attribute for pure functions
- */
-/* HASATTRIBUTE_UNUSED:
- * Can we handle GCC attribute for unused variables and arguments
- */
-/* HASATTRIBUTE_DEPRECATED:
- * Can we handle GCC attribute for marking deprecated APIs
- */
-/* HASATTRIBUTE_WARN_UNUSED_RESULT:
- * Can we handle GCC attribute for warning on unused results
- */
-/*#define HASATTRIBUTE_DEPRECATED / **/
-/*#define HASATTRIBUTE_FORMAT / **/
-/*#define PRINTF_FORMAT_NULL_OK / **/
-/*#define HASATTRIBUTE_NORETURN / **/
-/*#define HASATTRIBUTE_MALLOC / **/
-/*#define HASATTRIBUTE_NONNULL / **/
-/*#define HASATTRIBUTE_PURE / **/
-/*#define HASATTRIBUTE_UNUSED / **/
-/*#define HASATTRIBUTE_WARN_UNUSED_RESULT / **/
-
-/* HASCONST:
- * This symbol, if defined, indicates that this C compiler knows about
- * the const type. There is no need to actually test for that symbol
- * within your programs. The mere use of the "const" keyword will
- * trigger the necessary tests.
- */
-#define HASCONST /**/
-#ifndef HASCONST
-#define const
-#endif
-
-/* HAS_CSH:
- * This symbol, if defined, indicates that the C-shell exists.
- */
-/* CSH:
- * This symbol, if defined, contains the full pathname of csh.
- */
-/*#define HAS_CSH / **/
-#ifdef HAS_CSH
-#define CSH "" /**/
-#endif
-
-/* SETUID_SCRIPTS_ARE_SECURE_NOW:
- * This symbol, if defined, indicates that the bug that prevents
- * setuid scripts from being secure is not present in this kernel.
- */
-/* DOSUID:
- * This symbol, if defined, indicates that the C program should
- * check the script that it is executing for setuid/setgid bits, and
- * attempt to emulate setuid/setgid on systems that have disabled
- * setuid #! scripts because the kernel can't do it securely.
- * It is up to the package designer to make sure that this emulation
- * is done securely. Among other things, it should do an fstat on
- * the script it just opened to make sure it really is a setuid/setgid
- * script, it should make sure the arguments passed correspond exactly
- * to the argument on the #! line, and it should not trust any
- * subprocesses to which it must pass the filename rather than the
- * file descriptor of the script to be executed.
- */
-/*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/
-/*#define DOSUID / **/
-
-/* HAS_ENDGRENT:
- * This symbol, if defined, indicates that the getgrent routine is
- * available for finalizing sequential access of the group database.
- */
-/*#define HAS_ENDGRENT / **/
-
-/* HAS_ENDHOSTENT:
- * This symbol, if defined, indicates that the endhostent() routine is
- * available to close whatever was being used for host queries.
- */
-/*#define HAS_ENDHOSTENT / **/
-
-/* HAS_ENDNETENT:
- * This symbol, if defined, indicates that the endnetent() routine is
- * available to close whatever was being used for network queries.
- */
-/*#define HAS_ENDNETENT / **/
-
-/* HAS_ENDPROTOENT:
- * This symbol, if defined, indicates that the endprotoent() routine is
- * available to close whatever was being used for protocol queries.
- */
-/*#define HAS_ENDPROTOENT / **/
-
-/* HAS_ENDPWENT:
- * This symbol, if defined, indicates that the getgrent routine is
- * available for finalizing sequential access of the passwd database.
- */
-/*#define HAS_ENDPWENT / **/
-
-/* HAS_ENDSERVENT:
- * This symbol, if defined, indicates that the endservent() routine is
- * available to close whatever was being used for service queries.
- */
-/*#define HAS_ENDSERVENT / **/
-
-/* FLEXFILENAMES:
- * This symbol, if defined, indicates that the system supports filenames
- * longer than 14 characters.
- */
-#define FLEXFILENAMES /**/
-
-/* HAS_GETGRENT:
- * This symbol, if defined, indicates that the getgrent routine is
- * available for sequential access of the group database.
- */
-/*#define HAS_GETGRENT / **/
-
-/* HAS_GETHOSTBYADDR:
- * This symbol, if defined, indicates that the gethostbyaddr() routine is
- * available to look up hosts by their IP addresses.
- */
-#define HAS_GETHOSTBYADDR /**/
-
-/* HAS_GETHOSTBYNAME:
- * This symbol, if defined, indicates that the gethostbyname() routine is
- * available to look up host names in some data base or other.
- */
-#define HAS_GETHOSTBYNAME /**/
-
-/* HAS_GETHOSTENT:
- * This symbol, if defined, indicates that the gethostent() routine is
- * available to look up host names in some data base or another.
- */
-/*#define HAS_GETHOSTENT / **/
-
-/* HAS_GETHOSTNAME:
- * This symbol, if defined, indicates that the C program may use the
- * gethostname() routine to derive the host name. See also HAS_UNAME
- * and PHOSTNAME.
- */
-/* HAS_UNAME:
- * This symbol, if defined, indicates that the C program may use the
- * uname() routine to derive the host name. See also HAS_GETHOSTNAME
- * and PHOSTNAME.
- */
-/* PHOSTNAME:
- * This symbol, if defined, indicates the command to feed to the
- * popen() routine to derive the host name. See also HAS_GETHOSTNAME
- * and HAS_UNAME. Note that the command uses a fully qualified path,
- * so that it is safe even if used by a process with super-user
- * privileges.
- */
-/* HAS_PHOSTNAME:
- * This symbol, if defined, indicates that the C program may use the
- * contents of PHOSTNAME as a command to feed to the popen() routine
- * to derive the host name.
- */
-#define HAS_GETHOSTNAME /**/
-#define HAS_UNAME /**/
-/*#define HAS_PHOSTNAME / **/
-#ifdef HAS_PHOSTNAME
-#define PHOSTNAME "" /* How to get the host name */
-#endif
-
-/* HAS_GETNETBYADDR:
- * This symbol, if defined, indicates that the getnetbyaddr() routine is
- * available to look up networks by their IP addresses.
- */
-/*#define HAS_GETNETBYADDR / **/
-
-/* HAS_GETNETBYNAME:
- * This symbol, if defined, indicates that the getnetbyname() routine is
- * available to look up networks by their names.
- */
-/*#define HAS_GETNETBYNAME / **/
-
-/* HAS_GETNETENT:
- * This symbol, if defined, indicates that the getnetent() routine is
- * available to look up network names in some data base or another.
- */
-/*#define HAS_GETNETENT / **/
-
-/* HAS_GETPROTOENT:
- * This symbol, if defined, indicates that the getprotoent() routine is
- * available to look up protocols in some data base or another.
- */
-/*#define HAS_GETPROTOENT / **/
-
-/* HAS_GETPGRP:
- * This symbol, if defined, indicates that the getpgrp routine is
- * available to get the current process group.
- */
-/* USE_BSD_GETPGRP:
- * This symbol, if defined, indicates that getpgrp needs one
- * arguments whereas USG one needs none.
- */
-/*#define HAS_GETPGRP / **/
-/*#define USE_BSD_GETPGRP / **/
-
-/* HAS_GETPROTOBYNAME:
- * This symbol, if defined, indicates that the getprotobyname()
- * routine is available to look up protocols by their name.
- */
-/* HAS_GETPROTOBYNUMBER:
- * This symbol, if defined, indicates that the getprotobynumber()
- * routine is available to look up protocols by their number.
- */
-#define HAS_GETPROTOBYNAME /**/
-#define HAS_GETPROTOBYNUMBER /**/
-
-/* HAS_GETPWENT:
- * This symbol, if defined, indicates that the getpwent routine is
- * available for sequential access of the passwd database.
- * If this is not available, the older getpw() function may be available.
- */
-/*#define HAS_GETPWENT / **/
-
-/* HAS_GETSERVENT:
- * This symbol, if defined, indicates that the getservent() routine is
- * available to look up network services in some data base or another.
- */
-/*#define HAS_GETSERVENT / **/
-
-/* HAS_GETSERVBYNAME:
- * This symbol, if defined, indicates that the getservbyname()
- * routine is available to look up services by their name.
- */
-/* HAS_GETSERVBYPORT:
- * This symbol, if defined, indicates that the getservbyport()
- * routine is available to look up services by their port.
- */
-#define HAS_GETSERVBYNAME /**/
-#define HAS_GETSERVBYPORT /**/
-
-/* HAS_HTONL:
- * This symbol, if defined, indicates that the htonl() routine (and
- * friends htons() ntohl() ntohs()) are available to do network
- * order byte swapping.
- */
-/* HAS_HTONS:
- * This symbol, if defined, indicates that the htons() routine (and
- * friends htonl() ntohl() ntohs()) are available to do network
- * order byte swapping.
- */
-/* HAS_NTOHL:
- * This symbol, if defined, indicates that the ntohl() routine (and
- * friends htonl() htons() ntohs()) are available to do network
- * order byte swapping.
- */
-/* HAS_NTOHS:
- * This symbol, if defined, indicates that the ntohs() routine (and
- * friends htonl() htons() ntohl()) are available to do network
- * order byte swapping.
- */
-#define HAS_HTONL /**/
-#define HAS_HTONS /**/
-#define HAS_NTOHL /**/
-#define HAS_NTOHS /**/
-
-/* HAS_LONG_DOUBLE:
- * This symbol will be defined if the C compiler supports long
- * doubles.
- */
-/* LONG_DOUBLESIZE:
- * This symbol contains the size of a long double, so that the
- * C preprocessor can make decisions based on it. It is only
- * defined if the system supports long doubles.
- */
-#define HAS_LONG_DOUBLE /**/
-#ifdef HAS_LONG_DOUBLE
-#define LONG_DOUBLESIZE 12 /**/
-#endif
-
-/* HAS_LONG_LONG:
- * This symbol will be defined if the C compiler supports long long.
- */
-/* LONGLONGSIZE:
- * This symbol contains the size of a long long, so that the
- * C preprocessor can make decisions based on it. It is only
- * defined if the system supports long long.
- */
-/*#define HAS_LONG_LONG / **/
-#ifdef HAS_LONG_LONG
-#define LONGLONGSIZE 8 /**/
-#endif
-
-/* HAS_MEMCHR:
- * This symbol, if defined, indicates that the memchr routine is available
- * to locate characters within a C string.
- */
-#define HAS_MEMCHR /**/
-
-/* HAS_MKSTEMP:
- * This symbol, if defined, indicates that the mkstemp routine is
- * available to exclusively create and open a uniquely named
- * temporary file.
- */
-/*#define HAS_MKSTEMP / **/
-
-/* HAS_MMAP:
- * This symbol, if defined, indicates that the mmap system call is
- * available to map a file into memory.
- */
-/* Mmap_t:
- * This symbol holds the return type of the mmap() system call
- * (and simultaneously the type of the first argument).
- * Usually set to 'void *' or 'caddr_t'.
- */
-/*#define HAS_MMAP / **/
-#define Mmap_t void * /**/
-
-/* HAS_MSG:
- * This symbol, if defined, indicates that the entire msg*(2) library is
- * supported (IPC mechanism based on message queues).
- */
-/*#define HAS_MSG / **/
-
-/* HAS_SEM:
- * This symbol, if defined, indicates that the entire sem*(2) library is
- * supported.
- */
-/*#define HAS_SEM / **/
-
-/* HAS_SETGRENT:
- * This symbol, if defined, indicates that the setgrent routine is
- * available for initializing sequential access of the group database.
- */
-/*#define HAS_SETGRENT / **/
-
-/* HAS_SETHOSTENT:
- * This symbol, if defined, indicates that the sethostent() routine is
- * available.
- */
-/*#define HAS_SETHOSTENT / **/
-
-/* HAS_SETNETENT:
- * This symbol, if defined, indicates that the setnetent() routine is
- * available.
- */
-/*#define HAS_SETNETENT / **/
-
-/* HAS_SETPROTOENT:
- * This symbol, if defined, indicates that the setprotoent() routine is
- * available.
- */
-/*#define HAS_SETPROTOENT / **/
-
-/* HAS_SETPGRP:
- * This symbol, if defined, indicates that the setpgrp routine is
- * available to set the current process group.
- */
-/* USE_BSD_SETPGRP:
- * This symbol, if defined, indicates that setpgrp needs two
- * arguments whereas USG one needs none. See also HAS_SETPGID
- * for a POSIX interface.
- */
-/*#define HAS_SETPGRP / **/
-/*#define USE_BSD_SETPGRP / **/
-
-/* HAS_SETPWENT:
- * This symbol, if defined, indicates that the setpwent routine is
- * available for initializing sequential access of the passwd database.
- */
-/*#define HAS_SETPWENT / **/
-
-/* HAS_SETSERVENT:
- * This symbol, if defined, indicates that the setservent() routine is
- * available.
- */
-/*#define HAS_SETSERVENT / **/
-
-/* HAS_SETVBUF:
- * This symbol, if defined, indicates that the setvbuf routine is
- * available to change buffering on an open stdio stream.
- * to a line-buffered mode.
- */
-#define HAS_SETVBUF /**/
-
-/* HAS_SHM:
- * This symbol, if defined, indicates that the entire shm*(2) library is
- * supported.
- */
-/*#define HAS_SHM / **/
-
-/* Shmat_t:
- * This symbol holds the return type of the shmat() system call.
- * Usually set to 'void *' or 'char *'.
- */
-/* HAS_SHMAT_PROTOTYPE:
- * This symbol, if defined, indicates that the sys/shm.h includes
- * a prototype for shmat(). Otherwise, it is up to the program to
- * guess one. Shmat_t shmat(int, Shmat_t, int) is a good guess,
- * but not always right so it should be emitted by the program only
- * when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
- */
-#define Shmat_t void * /**/
-/*#define HAS_SHMAT_PROTOTYPE / **/
-
-/* HAS_SOCKET:
- * This symbol, if defined, indicates that the BSD socket interface is
- * supported.
- */
-/* HAS_SOCKETPAIR:
- * This symbol, if defined, indicates that the BSD socketpair() call is
- * supported.
- */
-/* HAS_MSG_CTRUNC:
- * This symbol, if defined, indicates that the MSG_CTRUNC is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_MSG_DONTROUTE:
- * This symbol, if defined, indicates that the MSG_DONTROUTE is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_MSG_OOB:
- * This symbol, if defined, indicates that the MSG_OOB is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_MSG_PEEK:
- * This symbol, if defined, indicates that the MSG_PEEK is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_MSG_PROXY:
- * This symbol, if defined, indicates that the MSG_PROXY is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_SCM_RIGHTS:
- * This symbol, if defined, indicates that the SCM_RIGHTS is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_SOCKADDR_SA_LEN:
- * This symbol, if defined, indicates that the struct sockaddr
- * structure has a member called sa_len, indicating the length of
- * the structure.
- */
-/* HAS_SIN6_SCOPE_ID:
- * This symbol, if defined, indicates that the struct sockaddr_in6
- * structure has a member called sin6_scope_id.
- */
-#define HAS_SOCKET /**/
-/*#define HAS_SOCKETPAIR / **/
-/*#define HAS_SOCKADDR_SA_LEN / **/
-/*#define HAS_MSG_CTRUNC / **/
-/*#define HAS_MSG_DONTROUTE / **/
-/*#define HAS_MSG_OOB / **/
-/*#define HAS_MSG_PEEK / **/
-/*#define HAS_MSG_PROXY / **/
-/*#define HAS_SCM_RIGHTS / **/
-#define HAS_SIN6_SCOPE_ID /**/
-
-/* USE_STAT_BLOCKS:
- * This symbol is defined if this system has a stat structure declaring
- * st_blksize and st_blocks.
- */
-#ifndef USE_STAT_BLOCKS
-/*#define USE_STAT_BLOCKS / **/
-#endif
-
-/* USE_STRUCT_COPY:
- * This symbol, if defined, indicates that this C compiler knows how
- * to copy structures. If undefined, you'll need to use a block copy
- * routine of some sort instead.
- */
-#define USE_STRUCT_COPY /**/
-
-/* HAS_STRERROR:
- * This symbol, if defined, indicates that the strerror routine is
- * available to translate error numbers to strings. See the writeup
- * of Strerror() in this file before you try to define your own.
- */
-/* HAS_SYS_ERRLIST:
- * This symbol, if defined, indicates that the sys_errlist array is
- * available to translate error numbers to strings. The extern int
- * sys_nerr gives the size of that table.
- */
-/* Strerror:
- * This preprocessor symbol is defined as a macro if strerror() is
- * not available to translate error numbers to strings but sys_errlist[]
- * array is there.
- */
-#define HAS_STRERROR /**/
-#define HAS_SYS_ERRLIST /**/
-#define Strerror(e) strerror(e)
-
-/* HAS_STRTOUL:
- * This symbol, if defined, indicates that the strtoul routine is
- * available to provide conversion of strings to unsigned long.
- */
-#define HAS_STRTOUL /**/
-
/* HAS_UNION_SEMUN:
* This symbol, if defined, indicates that the union semun is
* defined by including <sys/sem.h>. If not, the user code
@@ -2862,6 +2640,64 @@
#define volatile
#endif
+/* HAS_VPRINTF:
+ * This symbol, if defined, indicates that the vprintf routine is available
+ * to printf with a pointer to an argument list. If unavailable, you
+ * may need to write your own, probably in terms of _doprnt().
+ */
+/* USE_CHAR_VSPRINTF:
+ * This symbol is defined if this system has vsprintf() returning type
+ * (char*). The trend seems to be to declare it as "int vsprintf()". It
+ * is up to the package author to declare vsprintf correctly based on the
+ * symbol.
+ */
+#define HAS_VPRINTF /**/
+/*#define USE_CHAR_VSPRINTF / **/
+
+/* DOUBLESIZE:
+ * This symbol contains the size of a double, so that the C preprocessor
+ * can make decisions based on it.
+ */
+#define DOUBLESIZE 8 /**/
+
+/* EBCDIC:
+ * This symbol, if defined, indicates that this system uses
+ * EBCDIC encoding.
+ */
+/*#define EBCDIC / **/
+
+/* Fpos_t:
+ * This symbol holds the type used to declare file positions in libc.
+ * It can be fpos_t, long, uint, etc... It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+#define Fpos_t fpos_t /* File position type */
+
+/* Gid_t_f:
+ * This symbol defines the format string used for printing a Gid_t.
+ */
+#define Gid_t_f "ld" /**/
+
+/* Gid_t_sign:
+ * This symbol holds the signedess of a Gid_t.
+ * 1 for unsigned, -1 for signed.
+ */
+#define Gid_t_sign -1 /* GID sign */
+
+/* Gid_t_size:
+ * This symbol holds the size of a Gid_t in bytes.
+ */
+#define Gid_t_size 4 /* GID size */
+
+/* Gid_t:
+ * This symbol holds the return type of getgid() and the type of
+ * argument to setrgid() and related functions. Typically,
+ * it is the type of group ids in the kernel. It can be int, ushort,
+ * gid_t, etc... It may be necessary to include <sys/types.h> to get
+ * any typedef'ed information.
+ */
+#define Gid_t gid_t /* Type for getgid(), etc... */
+
/* I_DIRENT:
* This symbol, if defined, indicates to the C program that it should
* include <dirent.h>. Using this symbol also triggers the definition
@@ -2893,6 +2729,12 @@
/*#define I_GRP / **/
/*#define GRPASSWD / **/
+/* I_MACH_CTHREADS:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <mach/cthreads.h>.
+ */
+/*#define I_MACH_CTHREADS / **/
+
/* I_NDBM:
* This symbol, if defined, indicates that <ndbm.h> exists and should
* be included.
@@ -2944,6 +2786,12 @@
*/
/*#define I_NET_ERRNO / **/
+/* I_PTHREAD:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <pthread.h>.
+ */
+/*#define I_PTHREAD / **/
+
/* I_PWD:
* This symbol, if defined, indicates to the C program that it should
* include <pwd.h>.
@@ -2990,12 +2838,50 @@
/*#define PWGECOS / **/
/*#define PWPASSWD / **/
+/* I_SYS_ACCESS:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/access.h>.
+ */
+/*#define I_SYS_ACCESS / **/
+
+/* I_SYS_SECURITY:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/security.h>.
+ */
+/*#define I_SYS_SECURITY / **/
+
/* I_SYSUIO:
* This symbol, if defined, indicates that <sys/uio.h> exists and
* should be included.
*/
/*#define I_SYSUIO / **/
+/* I_TIME:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <time.h>.
+ */
+/* I_SYS_TIME:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/time.h>.
+ */
+/* I_SYS_TIME_KERNEL:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/time.h> with KERNEL defined.
+ */
+/* HAS_TM_TM_ZONE:
+ * This symbol, if defined, indicates to the C program that
+ * the struct tm has a tm_zone field.
+ */
+/* HAS_TM_TM_GMTOFF:
+ * This symbol, if defined, indicates to the C program that
+ * the struct tm has a tm_gmtoff field.
+ */
+#define I_TIME /**/
+/*#define I_SYS_TIME / **/
+/*#define I_SYS_TIME_KERNEL / **/
+/*#define HAS_TM_TM_ZONE / **/
+/*#define HAS_TM_TM_GMTOFF / **/
+
/* I_STDARG:
* This symbol, if defined, indicates that <stdarg.h> exists and should
* be included.
@@ -3007,6 +2893,36 @@
#define I_STDARG /**/
/*#define I_VARARGS / **/
+/* PERL_INC_VERSION_LIST:
+ * This variable specifies the list of subdirectories in over
+ * which perl.c:incpush() and lib/lib.pm will automatically
+ * search when adding directories to @INC, in a format suitable
+ * for a C initialization string. See the inc_version_list entry
+ * in Porting/Glossary for more details.
+ */
+/*#define PERL_INC_VERSION_LIST 0 / **/
+
+/* INSTALL_USR_BIN_PERL:
+ * This symbol, if defined, indicates that Perl is to be installed
+ * also as /usr/bin/perl.
+ */
+/*#define INSTALL_USR_BIN_PERL / **/
+
+/* Off_t:
+ * This symbol holds the type used to declare offsets in the kernel.
+ * It can be int, long, off_t, etc... It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+/* LSEEKSIZE:
+ * This symbol holds the number of bytes used by the Off_t.
+ */
+/* Off_t_size:
+ * This symbol holds the number of bytes used by the Off_t.
+ */
+#define Off_t long long /* <offset> type */
+#define LSEEKSIZE 8 /* <offset> size */
+#define Off_t_size 8 /* <offset> size */
+
/* Free_t:
* This variable contains the return type of free(). It is usually
* void, but occasionally int.
@@ -3027,6 +2943,92 @@
*/
/*#define MYMALLOC / **/
+/* Mode_t:
+ * This symbol holds the type used to declare file modes
+ * for systems calls. It is usually mode_t, but may be
+ * int or unsigned short. It may be necessary to include <sys/types.h>
+ * to get any typedef'ed information.
+ */
+#define Mode_t mode_t /* file mode parameter for system calls */
+
+/* VAL_O_NONBLOCK:
+ * This symbol is to be used during open() or fcntl(F_SETFL) to turn on
+ * non-blocking I/O for the file descriptor. Note that there is no way
+ * back, i.e. you cannot turn it blocking again this way. If you wish to
+ * alternatively switch between blocking and non-blocking, use the
+ * ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
+ */
+/* VAL_EAGAIN:
+ * This symbol holds the errno error code set by read() when no data was
+ * present on the non-blocking file descriptor.
+ */
+/* RD_NODATA:
+ * This symbol holds the return code from read() when no data is present
+ * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
+ * not defined, then you can't distinguish between no data and EOF by
+ * issuing a read(). You'll have to find another way to tell for sure!
+ */
+/* EOF_NONBLOCK:
+ * This symbol, if defined, indicates to the C program that a read() on
+ * a non-blocking file descriptor will return 0 on EOF, and not the value
+ * held in RD_NODATA (-1 usually, in that case!).
+ */
+#define VAL_O_NONBLOCK O_NONBLOCK
+#define VAL_EAGAIN EAGAIN
+#define RD_NODATA -1
+#define EOF_NONBLOCK
+
+/* Netdb_host_t:
+ * This symbol holds the type used for the 1st argument
+ * to gethostbyaddr().
+ */
+/* Netdb_hlen_t:
+ * This symbol holds the type used for the 2nd argument
+ * to gethostbyaddr().
+ */
+/* Netdb_name_t:
+ * This symbol holds the type used for the argument to
+ * gethostbyname().
+ */
+/* Netdb_net_t:
+ * This symbol holds the type used for the 1st argument to
+ * getnetbyaddr().
+ */
+#define Netdb_host_t char * /**/
+#define Netdb_hlen_t int /**/
+#define Netdb_name_t char * /**/
+#define Netdb_net_t long /**/
+
+/* PERL_OTHERLIBDIRS:
+ * This variable contains a colon-separated set of paths for the perl
+ * binary to search for additional library files or modules.
+ * These directories will be tacked to the end of @INC.
+ * Perl will automatically search below each path for version-
+ * and architecture-specific directories. See PERL_INC_VERSION_LIST
+ * for more details.
+ */
+/*#define PERL_OTHERLIBDIRS "" / **/
+
+/* Pid_t:
+ * This symbol holds the type used to declare process ids in the kernel.
+ * It can be int, uint, pid_t, etc... It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+#define Pid_t int /* PID type */
+
+/* PRIVLIB:
+ * This symbol contains the name of the private library for this package.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world. The program
+ * should be prepared to do ~ expansion.
+ */
+/* PRIVLIB_EXP:
+ * This symbol contains the ~name expanded version of PRIVLIB, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define PRIVLIB "c:\\perl\\lib" /**/
+#define PRIVLIB_EXP (win32_get_privlib(PERL_VERSION_STRING, NULL)) /**/
+
/* CAN_PROTOTYPE:
* If defined, this macro indicates that the C compiler can handle
* function prototypes.
@@ -3045,6 +3047,65 @@
#define _(args) ()
#endif
+/* PTRSIZE:
+ * This symbol contains the size of a pointer, so that the C preprocessor
+ * can make decisions based on it. It will be sizeof(void *) if
+ * the compiler supports (void *); otherwise it will be
+ * sizeof(char *).
+ */
+#define PTRSIZE 4 /**/
+
+/* HAS_QUAD:
+ * This symbol, if defined, tells that there's a 64-bit integer type,
+ * Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one
+ * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T,
+ * or QUAD_IS___INT64.
+ */
+#define HAS_QUAD /**/
+#ifdef HAS_QUAD
+# define Quad_t long long /**/
+# define Uquad_t unsigned long long /**/
+# define QUADKIND 3 /**/
+# define QUAD_IS_INT 1
+# define QUAD_IS_LONG 2
+# define QUAD_IS_LONG_LONG 3
+# define QUAD_IS_INT64_T 4
+# define QUAD_IS___INT64 5
+#endif
+
+/* Drand01:
+ * This macro is to be used to generate uniformly distributed
+ * random numbers over the range [0., 1.[. You may have to supply
+ * an 'extern double drand48();' in your program since SunOS 4.1.3
+ * doesn't provide you with anything relevant in its headers.
+ * See HAS_DRAND48_PROTO.
+ */
+/* Rand_seed_t:
+ * This symbol defines the type of the argument of the
+ * random seed function.
+ */
+/* seedDrand01:
+ * This symbol defines the macro to be used in seeding the
+ * random number generator (see Drand01).
+ */
+/* RANDBITS:
+ * This symbol indicates how many bits are produced by the
+ * function used to generate normalized random numbers.
+ * Values include 15, 16, 31, and 48.
+ */
+#define Drand01() (rand()/(double)((unsigned)1<<RANDBITS)) /**/
+#define Rand_seed_t unsigned /**/
+#define seedDrand01(x) srand((Rand_seed_t)x) /**/
+#define RANDBITS 15 /**/
+
+/* Select_fd_set_t:
+ * This symbol holds the type used for the 2nd, 3rd, and 4th
+ * arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET
+ * is defined, and 'int *' otherwise. This is only useful if you
+ * have select(), of course.
+ */
+#define Select_fd_set_t Perl_fd_set * /**/
+
/* SH_PATH:
* This symbol contains the full pathname to the shell used on this
* on this system to execute Bourne shell scripts. Usually, this will be
@@ -3094,12 +3155,162 @@
#define SIG_NUM 0, 1, 2, 21, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0 /**/
#define SIG_SIZE 27 /**/
+/* SITEARCH:
+ * This symbol contains the name of the private library for this package.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world. The program
+ * should be prepared to do ~ expansion.
+ * The standard distribution will put nothing in this directory.
+ * After perl has been installed, users may install their own local
+ * architecture-dependent modules in this directory with
+ * MakeMaker Makefile.PL
+ * or equivalent. See INSTALL for details.
+ */
+/* SITEARCH_EXP:
+ * This symbol contains the ~name expanded version of SITEARCH, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define SITEARCH "c:\\perl\\site\\lib" /**/
+/*#define SITEARCH_EXP "" / **/
+
+/* SITELIB:
+ * This symbol contains the name of the private library for this package.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world. The program
+ * should be prepared to do ~ expansion.
+ * The standard distribution will put nothing in this directory.
+ * After perl has been installed, users may install their own local
+ * architecture-independent modules in this directory with
+ * MakeMaker Makefile.PL
+ * or equivalent. See INSTALL for details.
+ */
+/* SITELIB_EXP:
+ * This symbol contains the ~name expanded version of SITELIB, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/* SITELIB_STEM:
+ * This define is SITELIB_EXP with any trailing version-specific component
+ * removed. The elements in inc_version_list (inc_version_list.U) can
+ * be tacked onto this variable to generate a list of directories to search.
+ */
+#define SITELIB "c:\\perl\\site\\lib" /**/
+#define SITELIB_EXP (win32_get_sitelib(PERL_VERSION_STRING, NULL)) /**/
+#define SITELIB_STEM "" /**/
+
+/* Size_t_size:
+ * This symbol holds the size of a Size_t in bytes.
+ */
+#define Size_t_size 4 /**/
+
+/* Size_t:
+ * This symbol holds the type used to declare length parameters
+ * for string functions. It is usually size_t, but may be
+ * unsigned long, int, etc. It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+#define Size_t size_t /* length parameter for string functions */
+
+/* Sock_size_t:
+ * This symbol holds the type used for the size argument of
+ * various socket calls (just the base type, not the pointer-to).
+ */
+#define Sock_size_t int /**/
+
+/* SSize_t:
+ * This symbol holds the type used by functions that return
+ * a count of bytes or an error condition. It must be a signed type.
+ * It is usually ssize_t, but may be long or int, etc.
+ * It may be necessary to include <sys/types.h> or <unistd.h>
+ * to get any typedef'ed information.
+ * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
+ */
+#define SSize_t int /* signed count of bytes */
+
/* STDCHAR:
* This symbol is defined to be the type of char used in stdio.h.
* It has the values "unsigned char" or "char".
*/
#define STDCHAR char /**/
+/* Uid_t_f:
+ * This symbol defines the format string used for printing a Uid_t.
+ */
+#define Uid_t_f "ld" /**/
+
+/* Uid_t_sign:
+ * This symbol holds the signedess of a Uid_t.
+ * 1 for unsigned, -1 for signed.
+ */
+#define Uid_t_sign -1 /* UID sign */
+
+/* Uid_t_size:
+ * This symbol holds the size of a Uid_t in bytes.
+ */
+#define Uid_t_size 4 /* UID size */
+
+/* Uid_t:
+ * This symbol holds the type used to declare user ids in the kernel.
+ * It can be int, ushort, uid_t, etc... It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+#define Uid_t uid_t /* UID type */
+
+/* USE_ITHREADS:
+ * This symbol, if defined, indicates that Perl should be built to
+ * use the interpreter-based threading implementation.
+ */
+/* USE_5005THREADS:
+ * This symbol, if defined, indicates that Perl should be built to
+ * use the 5.005-based threading implementation.
+ * Only valid up to 5.8.x.
+ */
+/* OLD_PTHREADS_API:
+ * This symbol, if defined, indicates that Perl should
+ * be built to use the old draft POSIX threads API.
+ */
+/* USE_REENTRANT_API:
+ * This symbol, if defined, indicates that Perl should
+ * try to use the various _r versions of library functions.
+ * This is extremely experimental.
+ */
+/*#define USE_5005THREADS / **/
+#define USE_ITHREADS /**/
+#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
+#define USE_THREADS /* until src is revised*/
+#endif
+/*#define OLD_PTHREADS_API / **/
+/*#define USE_REENTRANT_API / **/
+
+/* PERL_VENDORARCH:
+ * If defined, this symbol contains the name of a private library.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world.
+ * It may have a ~ on the front.
+ * The standard distribution will put nothing in this directory.
+ * Vendors who distribute perl may wish to place their own
+ * architecture-dependent modules and extensions in this directory with
+ * MakeMaker Makefile.PL INSTALLDIRS=vendor
+ * or equivalent. See INSTALL for details.
+ */
+/* PERL_VENDORARCH_EXP:
+ * This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/*#define PERL_VENDORARCH "" / **/
+/*#define PERL_VENDORARCH_EXP "" / **/
+
+/* PERL_VENDORLIB_EXP:
+ * This symbol contains the ~name expanded version of VENDORLIB, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/* PERL_VENDORLIB_STEM:
+ * This define is PERL_VENDORLIB_EXP with any trailing version-specific component
+ * removed. The elements in inc_version_list (inc_version_list.U) can
+ * be tacked onto this variable to generate a list of directories to search.
+ */
+/*#define PERL_VENDORLIB_EXP "" / **/
+/*#define PERL_VENDORLIB_STEM "" / **/
+
/* VOIDFLAGS:
* This symbol indicates how much support of the void type is given by this
* compiler. What various bits mean:
@@ -3489,6 +3700,12 @@
*/
/*#define HAS_INT64_T / **/
+/* HAS_ISBLANK:
+ * This manifest constant lets the C program know that isblank
+ * is available.
+ */
+/*#define HAS_ISBLANK / **/
+
/* HAS_ISFINITE:
* This symbol, if defined, indicates that the isfinite routine is
* available to check whether a double is finite (non-infinity non-NaN).
@@ -4085,6 +4302,12 @@
*/
/*#define I_SOCKS / **/
+/* I_STDBOOL:
+ * This symbol, if defined, indicates that <stdbool.h> exists and
+ * can be included.
+ */
+/*#define I_STDBOOL / **/
+
/* I_SUNMATH:
* This symbol, if defined, indicates that <sunmath.h> exists and
* should be included.
@@ -4354,6 +4577,16 @@
*/
#define SELECT_MIN_BITS 32 /**/
+/* ST_INO_SIZE:
+ * This variable contains the size of struct stat's st_ino in bytes.
+ */
+/* ST_INO_SIGN:
+ * This symbol holds the signedess of struct stat's st_ino.
+ * 1 for unsigned, -1 for signed.
+ */
+#define ST_INO_SIGN 1 /* st_ino sign */
+#define ST_INO_SIZE 4 /* st_ino size */
+
/* STARTPERL:
* This variable contains the string to put in front of a perl
* script to make sure (one hopes) that it runs with perl and not
@@ -4435,6 +4668,13 @@
/*#define USE_FAST_STDIO / **/
#endif
+/* USE_KERN_PROC_PATHNAME:
+ * This symbol, if defined, indicates that we can use sysctl with
+ * KERN_PROC_PATHNAME to get a full path for the executable, and hence
+ * convert $^X to an absolute path.
+ */
+/*#define USE_KERN_PROC_PATHNAME / **/
+
/* USE_LARGE_FILES:
* This symbol, if defined, indicates that large file support
* should be used when available.
@@ -4467,6 +4707,13 @@
#define MULTIPLICITY /**/
#endif
+/* USE_NSGETEXECUTABLEPATH:
+ * This symbol, if defined, indicates that we can use _NSGetExecutablePath
+ * and realpath to get a full path for the executable, and hence convert
+ * $^X to an absolute path.
+ */
+/*#define USE_NSGETEXECUTABLEPATH / **/
+
/* USE_PERLIO:
* This symbol, if defined, indicates that the PerlIO abstraction should
* be used throughout. If not defined, stdio should be
@@ -4484,203 +4731,4 @@
/*#define USE_SOCKS / **/
#endif
-/* HAS_DRAND48_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the drand48() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern double drand48(void);
- */
-/*#define HAS_DRAND48_PROTO / **/
-
-/* HAS_GETHOST_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for gethostent(), gethostbyname(), and
- * gethostbyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#define HAS_GETHOST_PROTOS /**/
-
-/* HAS_GETNET_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for getnetent(), getnetbyname(), and
- * getnetbyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define HAS_GETNET_PROTOS / **/
-
-/* HAS_GETPROTO_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for getprotoent(), getprotobyname(), and
- * getprotobyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#define HAS_GETPROTO_PROTOS /**/
-
-/* HAS_GETSERV_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for getservent(), getservbyname(), and
- * getservbyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#define HAS_GETSERV_PROTOS /**/
-
-/* HAS_LSEEK_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the lseek() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern off_t lseek(int, off_t, int);
- */
-#define HAS_LSEEK_PROTO /**/
-
-/* Netdb_host_t:
- * This symbol holds the type used for the 1st argument
- * to gethostbyaddr().
- */
-/* Netdb_hlen_t:
- * This symbol holds the type used for the 2nd argument
- * to gethostbyaddr().
- */
-/* Netdb_name_t:
- * This symbol holds the type used for the argument to
- * gethostbyname().
- */
-/* Netdb_net_t:
- * This symbol holds the type used for the 1st argument to
- * getnetbyaddr().
- */
-#define Netdb_host_t char * /**/
-#define Netdb_hlen_t int /**/
-#define Netdb_name_t char * /**/
-#define Netdb_net_t long /**/
-
-/* Select_fd_set_t:
- * This symbol holds the type used for the 2nd, 3rd, and 4th
- * arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET
- * is defined, and 'int *' otherwise. This is only useful if you
- * have select(), of course.
- */
-#define Select_fd_set_t Perl_fd_set * /**/
-
-/* Sock_size_t:
- * This symbol holds the type used for the size argument of
- * various socket calls (just the base type, not the pointer-to).
- */
-#define Sock_size_t int /**/
-
-/* HAS_TIME:
- * This symbol, if defined, indicates that the time() routine exists.
- */
-/* Time_t:
- * This symbol holds the type returned by time(). It can be long,
- * or time_t on BSD sites (in which case <sys/types.h> should be
- * included).
- */
-#define HAS_TIME /**/
-#define Time_t time_t /* Time type */
-
-/* HAS_TIMES:
- * This symbol, if defined, indicates that the times() routine exists.
- * Note that this became obsolete on some systems (SUNOS), which now
- * use getrusage(). It may be necessary to include <sys/times.h>.
- */
-#define HAS_TIMES /**/
-
-/* Fpos_t:
- * This symbol holds the type used to declare file positions in libc.
- * It can be fpos_t, long, uint, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Fpos_t fpos_t /* File position type */
-
-/* Gid_t_f:
- * This symbol defines the format string used for printing a Gid_t.
- */
-#define Gid_t_f "ld" /**/
-
-/* Gid_t_sign:
- * This symbol holds the signedess of a Gid_t.
- * 1 for unsigned, -1 for signed.
- */
-#define Gid_t_sign -1 /* GID sign */
-
-/* Gid_t_size:
- * This symbol holds the size of a Gid_t in bytes.
- */
-#define Gid_t_size 4 /* GID size */
-
-/* Gid_t:
- * This symbol holds the return type of getgid() and the type of
- * argument to setrgid() and related functions. Typically,
- * it is the type of group ids in the kernel. It can be int, ushort,
- * gid_t, etc... It may be necessary to include <sys/types.h> to get
- * any typedef'ed information.
- */
-#define Gid_t gid_t /* Type for getgid(), etc... */
-
-/* Off_t:
- * This symbol holds the type used to declare offsets in the kernel.
- * It can be int, long, off_t, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-/* LSEEKSIZE:
- * This symbol holds the number of bytes used by the Off_t.
- */
-/* Off_t_size:
- * This symbol holds the number of bytes used by the Off_t.
- */
-#define Off_t long long /* <offset> type */
-#define LSEEKSIZE 8 /* <offset> size */
-#define Off_t_size 8 /* <offset> size */
-
-/* Mode_t:
- * This symbol holds the type used to declare file modes
- * for systems calls. It is usually mode_t, but may be
- * int or unsigned short. It may be necessary to include <sys/types.h>
- * to get any typedef'ed information.
- */
-#define Mode_t mode_t /* file mode parameter for system calls */
-
-/* Pid_t:
- * This symbol holds the type used to declare process ids in the kernel.
- * It can be int, uint, pid_t, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Pid_t int /* PID type */
-
-/* Size_t_size:
- * This symbol holds the size of a Size_t in bytes.
- */
-#define Size_t_size 4 /**/
-
-/* Size_t:
- * This symbol holds the type used to declare length parameters
- * for string functions. It is usually size_t, but may be
- * unsigned long, int, etc. It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Size_t size_t /* length parameter for string functions */
-
-/* Uid_t_f:
- * This symbol defines the format string used for printing a Uid_t.
- */
-#define Uid_t_f "ld" /**/
-
-/* Uid_t_sign:
- * This symbol holds the signedess of a Uid_t.
- * 1 for unsigned, -1 for signed.
- */
-#define Uid_t_sign -1 /* UID sign */
-
-/* Uid_t_size:
- * This symbol holds the size of a Uid_t in bytes.
- */
-#define Uid_t_size 4 /* UID size */
-
-/* Uid_t:
- * This symbol holds the type used to declare user ids in the kernel.
- * It can be int, ushort, uid_t, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Uid_t uid_t /* UID type */
-
#endif
diff --git a/Master/tlpkg/tlperl/lib/CORE/cop.h b/Master/tlpkg/tlperl/lib/CORE/cop.h
index ad0ee9b7239..0cfeb447146 100644
--- a/Master/tlpkg/tlperl/lib/CORE/cop.h
+++ b/Master/tlpkg/tlperl/lib/CORE/cop.h
@@ -138,7 +138,7 @@ typedef struct jmpenv JMPENV;
PerlProc_longjmp(PL_top_env->je_buf, (v)); \
if ((v) == 2) \
PerlProc_exit(STATUS_EXIT); \
- PerlIO_printf(PerlIO_stderr(), "panic: top_env\n"); \
+ PerlIO_printf(PerlIO_stderr(), "panic: top_env, v=%d\n", (int)v); \
PerlProc_exit(1); \
} STMT_END
@@ -389,6 +389,7 @@ struct cop {
#ifdef USE_ITHREADS
char * cop_stashpv; /* package line was compiled in */
char * cop_file; /* file name the following line # is from */
+ I32 cop_stashlen; /* negative for UTF8 */
#else
HV * cop_stash; /* package line was compiled in */
GV * cop_filegv; /* file the following line # is from */
@@ -428,14 +429,32 @@ struct cop {
# define CopSTASHPV(c) ((c)->cop_stashpv)
# ifdef NETWARE
-# define CopSTASHPV_set(c,pv) ((c)->cop_stashpv = ((pv) ? savepv(pv) : NULL))
+# define CopSTASHPV_set(c,pv,n) ((c)->cop_stashpv = \
+ ((pv) ? savepvn(pv,n) : NULL))
# else
-# define CopSTASHPV_set(c,pv) ((c)->cop_stashpv = savesharedpv(pv))
+# define CopSTASHPV_set(c,pv,n) ((c)->cop_stashpv = (pv) \
+ ? savesharedpvn(pv,n) : NULL)
# endif
-# define CopSTASH(c) (CopSTASHPV(c) \
- ? gv_stashpv(CopSTASHPV(c),GV_ADD) : NULL)
-# define CopSTASH_set(c,hv) CopSTASHPV_set(c, (hv) ? HvNAME_get(hv) : NULL)
+# define CopSTASH_len_set(c,n) ((c)->cop_stashlen = (n))
+# define CopSTASH_len(c) ((c)->cop_stashlen)
+
+# define CopSTASH(c) (CopSTASHPV(c) \
+ ? gv_stashpvn(CopSTASHPV(c), \
+ CopSTASH_len(c) < 0 \
+ ? -CopSTASH_len(c) \
+ : CopSTASH_len(c), \
+ GV_ADD|SVf_UTF8*(CopSTASH_len(c) < 0) \
+ ) \
+ : NULL)
+# define CopSTASH_set(c,hv) (CopSTASHPV_set(c, \
+ (hv) ? HvNAME_get(hv) : NULL, \
+ (hv) ? HvNAMELEN(hv) : 0), \
+ CopSTASH_len_set(c, \
+ (hv) ? HvNAMEUTF8(hv) \
+ ? -HvNAMELEN(hv) \
+ : HvNAMELEN(hv) \
+ : 0))
# define CopSTASH_eq(c,hv) ((hv) && stashpv_hvname_match(c,hv))
# ifdef NETWARE
# define CopSTASH_free(c) SAVECOPSTASH_FREE(c)
@@ -542,7 +561,9 @@ be zero.
#define cop_hints_2hv(cop, flags) \
cophh_2hv(CopHINTHASH_get(cop), flags)
-#define CopLABEL(c) Perl_fetch_cop_label(aTHX_ (c), NULL, NULL)
+#define CopLABEL(c) Perl_cop_fetch_label(aTHX_ (c), NULL, NULL)
+#define CopLABEL_len(c,len) Perl_cop_fetch_label(aTHX_ (c), len, NULL)
+#define CopLABEL_len_flags(c,len,flags) Perl_cop_fetch_label(aTHX_ (c), len, flags)
#define CopLABEL_alloc(pv) ((pv)?savepv(pv):NULL)
#define CopSTASH_ne(c,hv) (!CopSTASH_eq(c,hv))
@@ -554,30 +575,6 @@ be zero.
/* OutCopFILE() is CopFILE for output (caller, die, warn, etc.) */
#define OutCopFILE(c) CopFILE(c)
-/* If $[ is non-zero, it's stored in cop_hints under the key "$[", and
- HINT_ARYBASE is set to indicate this.
- Setting it is inefficient due to the need to create 2 mortal SVs, but as
- using $[ is highly discouraged, no sane Perl code will be using it. */
-#define CopARYBASE_get(c) \
- ((CopHINTS_get(c) & HINT_ARYBASE) \
- ? SvIV(cop_hints_fetch_pvs((c), "$[", 0)) \
- : 0)
-#define CopARYBASE_set(c, b) STMT_START { \
- if (b || ((c)->cop_hints & HINT_ARYBASE)) { \
- (c)->cop_hints |= HINT_ARYBASE; \
- if ((c) == &PL_compiling) { \
- SV *val = newSViv(b); \
- (void)hv_stores(GvHV(PL_hintgv), "$[", val); \
- mg_set(val); \
- PL_hints |= HINT_ARYBASE; \
- } else { \
- CopHINTHASH_set((c), \
- cophh_store_pvs(CopHINTHASH_get((c)), "$[", \
- sv_2mortal(newSViv(b)), 0)); \
- } \
- } \
- } STMT_END
-
/* FIXME NATIVE_HINTS if this is changed from op_private (see perl.h) */
#define CopHINTS_get(c) ((c)->cop_hints + 0)
#define CopHINTS_set(c, h) STMT_START { \
@@ -633,9 +630,18 @@ struct block_format {
#define PUSHSUB(cx) \
+ { \
+ /* If the context is indeterminate, then only the lvalue */ \
+ /* flags that the caller also has are applicable. */ \
+ U8 phlags = \
+ (PL_op->op_flags & OPf_WANT) \
+ ? OPpENTERSUB_LVAL_MASK \
+ : !(PL_op->op_private & OPpENTERSUB_LVAL_MASK) \
+ ? 0 : Perl_was_lvalue_sub(aTHX); \
PUSHSUB_BASE(cx) \
cx->blk_u16 = PL_op->op_private & \
- (OPpLVAL_INTRO|OPpENTERSUB_INARGS);
+ (phlags|OPpDEREF); \
+ }
/* variant for use by OP_DBSTATE, where op_private holds hint bits */
#define PUSHSUB_DB(cx) \
@@ -782,6 +788,8 @@ struct block_loop {
: (SV**)NULL)
#define CxLABEL(c) (0 + CopLABEL((c)->blk_oldcop))
+#define CxLABEL_len(c,len) (0 + CopLABEL_len((c)->blk_oldcop, len))
+#define CxLABEL_len_flags(c,len,flags) (0 + CopLABEL_len_flags((c)->blk_oldcop, len, flags))
#define CxHASARGS(c) (((c)->cx_type & CXp_HASARGS) == CXp_HASARGS)
#define CxLVAL(c) (0 + (c)->blk_u16)
@@ -1174,18 +1182,18 @@ typedef struct stackinfo PERL_SI;
=head1 Multicall Functions
=for apidoc Ams||dMULTICALL
-Declare local variables for a multicall. See L<perlcall/Lightweight Callbacks>.
+Declare local variables for a multicall. See L<perlcall/LIGHTWEIGHT CALLBACKS>.
=for apidoc Ams||PUSH_MULTICALL
Opening bracket for a lightweight callback.
-See L<perlcall/Lightweight Callbacks>.
+See L<perlcall/LIGHTWEIGHT CALLBACKS>.
=for apidoc Ams||MULTICALL
-Make a lightweight callback. See L<perlcall/Lightweight Callbacks>.
+Make a lightweight callback. See L<perlcall/LIGHTWEIGHT CALLBACKS>.
=for apidoc Ams||POP_MULTICALL
Closing bracket for a lightweight callback.
-See L<perlcall/Lightweight Callbacks>.
+See L<perlcall/LIGHTWEIGHT CALLBACKS>.
=cut
*/
diff --git a/Master/tlpkg/tlperl/lib/CORE/cv.h b/Master/tlpkg/tlperl/lib/CORE/cv.h
index 6fdf5cbaf2a..a3b9865c48e 100644
--- a/Master/tlpkg/tlperl/lib/CORE/cv.h
+++ b/Master/tlpkg/tlperl/lib/CORE/cv.h
@@ -8,7 +8,7 @@
*
*/
-/* This structure must the beginning of XPVFM in sv.h */
+/* This structure must match the beginning of XPVFM in sv.h */
struct xpvcv {
_XPV_HEAD;
@@ -26,8 +26,16 @@ Null CV pointer.
=head1 CV Manipulation Functions
+This section documents functions to manipulate CVs which are code-values,
+or subroutines. For more information, see L<perlguts>.
+
=for apidoc Am|HV*|CvSTASH|CV* cv
-Returns the stash of the CV.
+Returns the stash of the CV. A stash is the symbol table hash, containing
+the package-scoped variables in the package where the subroutine was defined.
+For more information, see L<perlguts>.
+
+This also has a special use with XS AUTOLOAD subs.
+See L<perlguts/Autoloading with XSUBs>.
=cut
*/
@@ -46,9 +54,11 @@ Returns the stash of the CV.
#define CvGV_set(cv,gv) Perl_cvgv_set(aTHX_ cv, gv)
#define CvFILE(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_file
#ifdef USE_ITHREADS
-# define CvFILE_set_from_cop(sv, cop) (CvFILE(sv) = savepv(CopFILE(cop)))
+# define CvFILE_set_from_cop(sv, cop) \
+ (CvFILE(sv) = savepv(CopFILE(cop)), CvDYNFILE_on(sv))
#else
-# define CvFILE_set_from_cop(sv, cop) (CvFILE(sv) = CopFILE(cop))
+# define CvFILE_set_from_cop(sv, cop) \
+ (CvFILE(sv) = CopFILE(cop), CvDYNFILE_off(sv))
#endif
#define CvFILEGV(sv) (gv_fetchfile(CvFILE(sv)))
#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
@@ -64,6 +74,23 @@ Returns the stash of the CV.
#define CvFLAGS(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_flags
#define CvOUTSIDE_SEQ(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_outside_seq
+/* These two are sometimes called on non-CVs */
+#define CvPROTO(sv) \
+ ( \
+ SvPOK(sv) \
+ ? SvTYPE(sv) == SVt_PVCV && CvAUTOLOAD(sv) \
+ ? SvEND(sv)+1 : SvPVX_const(sv) \
+ : NULL \
+ )
+#define CvPROTOLEN(sv) \
+ ( \
+ SvPOK(sv) \
+ ? SvTYPE(sv) == SVt_PVCV && CvAUTOLOAD(sv) \
+ ? SvLEN(sv)-SvCUR(sv)-2 \
+ : SvCUR(sv) \
+ : 0 \
+ )
+
#define CVf_METHOD 0x0001 /* CV is explicitly marked as a method */
#define CVf_LVALUE 0x0002 /* CV return value can be used as lvalue */
#define CVf_CONST 0x0004 /* inlinable sub */
@@ -78,6 +105,8 @@ Returns the stash of the CV.
#define CVf_NODEBUG 0x0200 /* no DB::sub indirection for this CV
(esp. useful for special XSUBs) */
#define CVf_CVGV_RC 0x0400 /* CvGV is reference counted */
+#define CVf_DYNFILE 0x1000 /* The filename isn't static */
+#define CVf_AUTOLOAD 0x2000 /* SvPVX contains AUTOLOADed sub name */
/* This symbol for optimised communication between toke.c and op.c: */
#define CVf_BUILTIN_ATTRS (CVf_METHOD|CVf_LVALUE)
@@ -135,6 +164,14 @@ Returns the stash of the CV.
#define CvCVGV_RC_on(cv) (CvFLAGS(cv) |= CVf_CVGV_RC)
#define CvCVGV_RC_off(cv) (CvFLAGS(cv) &= ~CVf_CVGV_RC)
+#define CvDYNFILE(cv) (CvFLAGS(cv) & CVf_DYNFILE)
+#define CvDYNFILE_on(cv) (CvFLAGS(cv) |= CVf_DYNFILE)
+#define CvDYNFILE_off(cv) (CvFLAGS(cv) &= ~CVf_DYNFILE)
+
+#define CvAUTOLOAD(cv) (CvFLAGS(cv) & CVf_AUTOLOAD)
+#define CvAUTOLOAD_on(cv) (CvFLAGS(cv) |= CVf_AUTOLOAD)
+#define CvAUTOLOAD_off(cv) (CvFLAGS(cv) &= ~CVf_AUTOLOAD)
+
/* Flags for newXS_flags */
#define XS_DYNAMIC_FILENAME 0x01 /* The filename isn't static */
diff --git a/Master/tlpkg/tlperl/lib/CORE/dosish.h b/Master/tlpkg/tlperl/lib/CORE/dosish.h
index 59bf122859b..e9c59fa5468 100644
--- a/Master/tlpkg/tlperl/lib/CORE/dosish.h
+++ b/Master/tlpkg/tlperl/lib/CORE/dosish.h
@@ -52,7 +52,9 @@
#endif /* DJGPP */
#ifndef PERL_SYS_TERM_BODY
-# define PERL_SYS_TERM_BODY() HINTS_REFCNT_TERM; OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM
+# define PERL_SYS_TERM_BODY() \
+ HINTS_REFCNT_TERM; OP_CHECK_MUTEX_TERM; \
+ OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM
#endif
#define dXSUB_SYS
@@ -88,12 +90,7 @@
* information.
*/
#if defined(WIN64) || defined(USE_LARGE_FILES)
-# if defined(__BORLANDC__) /* buk */
-# include <sys\stat.h>
-# define Stat_t struct stati64
-# else
#define Stat_t struct _stati64
-# endif
#else
#if defined(UNDER_CE)
#define Stat_t struct xcestat
diff --git a/Master/tlpkg/tlperl/lib/CORE/embed.h b/Master/tlpkg/tlperl/lib/CORE/embed.h
index 04b32d18089..f7db1e06135 100644
--- a/Master/tlpkg/tlperl/lib/CORE/embed.h
+++ b/Master/tlpkg/tlperl/lib/CORE/embed.h
@@ -28,7 +28,10 @@
#define Gv_AMupdate(a,b) Perl_Gv_AMupdate(aTHX_ a,b)
#define _to_uni_fold_flags(a,b,c,d) Perl__to_uni_fold_flags(aTHX_ a,b,c,d)
-#define _to_utf8_fold_flags(a,b,c,d) Perl__to_utf8_fold_flags(aTHX_ a,b,c,d)
+#define _to_utf8_fold_flags(a,b,c,d,e) Perl__to_utf8_fold_flags(aTHX_ a,b,c,d,e)
+#define _to_utf8_lower_flags(a,b,c,d,e) Perl__to_utf8_lower_flags(aTHX_ a,b,c,d,e)
+#define _to_utf8_title_flags(a,b,c,d,e) Perl__to_utf8_title_flags(aTHX_ a,b,c,d,e)
+#define _to_utf8_upper_flags(a,b,c,d,e) Perl__to_utf8_upper_flags(aTHX_ a,b,c,d,e)
#define amagic_call(a,b,c,d) Perl_amagic_call(aTHX_ a,b,c,d)
#define amagic_deref_call(a,b) Perl_amagic_deref_call(aTHX_ a,b)
#define apply_attrs_string(a,b,c,d) Perl_apply_attrs_string(aTHX_ a,b,c,d)
@@ -78,6 +81,7 @@
#define croak_xs_usage(a,b) Perl_croak_xs_usage(aTHX_ a,b)
#define custom_op_desc(a) Perl_custom_op_desc(aTHX_ a)
#define custom_op_name(a) Perl_custom_op_name(aTHX_ a)
+#define cv_clone(a) Perl_cv_clone(aTHX_ a)
#define cv_const_sv(a) Perl_cv_const_sv(aTHX_ a)
#define cv_get_call_checker(a,b,c) Perl_cv_get_call_checker(aTHX_ a,b,c)
#define cv_set_call_checker(a,b,c) Perl_cv_set_call_checker(aTHX_ a,b,c)
@@ -160,7 +164,9 @@
#define grok_numeric_radix(a,b) Perl_grok_numeric_radix(aTHX_ a,b)
#define grok_oct(a,b,c,d) Perl_grok_oct(aTHX_ a,b,c,d)
#define gv_add_by_type(a,b) Perl_gv_add_by_type(aTHX_ a,b)
-#define gv_autoload4(a,b,c,d) Perl_gv_autoload4(aTHX_ a,b,c,d)
+#define gv_autoload_pv(a,b,c) Perl_gv_autoload_pv(aTHX_ a,b,c)
+#define gv_autoload_pvn(a,b,c,d) Perl_gv_autoload_pvn(aTHX_ a,b,c,d)
+#define gv_autoload_sv(a,b,c) Perl_gv_autoload_sv(aTHX_ a,b,c)
#define gv_check(a) Perl_gv_check(aTHX_ a)
#define gv_const_sv(a) Perl_gv_const_sv(aTHX_ a)
#define gv_dump(a) Perl_gv_dump(aTHX_ a)
@@ -168,17 +174,25 @@
#define gv_efullname4(a,b,c,d) Perl_gv_efullname4(aTHX_ a,b,c,d)
#define gv_fetchfile(a) Perl_gv_fetchfile(aTHX_ a)
#define gv_fetchfile_flags(a,b,c) Perl_gv_fetchfile_flags(aTHX_ a,b,c)
-#define gv_fetchmeth(a,b,c,d) Perl_gv_fetchmeth(aTHX_ a,b,c,d)
-#define gv_fetchmeth_autoload(a,b,c,d) Perl_gv_fetchmeth_autoload(aTHX_ a,b,c,d)
+#define gv_fetchmeth_pv(a,b,c,d) Perl_gv_fetchmeth_pv(aTHX_ a,b,c,d)
+#define gv_fetchmeth_pv_autoload(a,b,c,d) Perl_gv_fetchmeth_pv_autoload(aTHX_ a,b,c,d)
+#define gv_fetchmeth_pvn(a,b,c,d,e) Perl_gv_fetchmeth_pvn(aTHX_ a,b,c,d,e)
+#define gv_fetchmeth_pvn_autoload(a,b,c,d,e) Perl_gv_fetchmeth_pvn_autoload(aTHX_ a,b,c,d,e)
+#define gv_fetchmeth_sv(a,b,c,d) Perl_gv_fetchmeth_sv(aTHX_ a,b,c,d)
+#define gv_fetchmeth_sv_autoload(a,b,c,d) Perl_gv_fetchmeth_sv_autoload(aTHX_ a,b,c,d)
#define gv_fetchmethod_autoload(a,b,c) Perl_gv_fetchmethod_autoload(aTHX_ a,b,c)
-#define gv_fetchmethod_flags(a,b,c) Perl_gv_fetchmethod_flags(aTHX_ a,b,c)
+#define gv_fetchmethod_pv_flags(a,b,c) Perl_gv_fetchmethod_pv_flags(aTHX_ a,b,c)
+#define gv_fetchmethod_pvn_flags(a,b,c,d) Perl_gv_fetchmethod_pvn_flags(aTHX_ a,b,c,d)
+#define gv_fetchmethod_sv_flags(a,b,c) Perl_gv_fetchmethod_sv_flags(aTHX_ a,b,c)
#define gv_fetchpv(a,b,c) Perl_gv_fetchpv(aTHX_ a,b,c)
#define gv_fetchpvn_flags(a,b,c,d) Perl_gv_fetchpvn_flags(aTHX_ a,b,c,d)
#define gv_fetchsv(a,b,c) Perl_gv_fetchsv(aTHX_ a,b,c)
#define gv_fullname(a,b) Perl_gv_fullname(aTHX_ a,b)
#define gv_fullname4(a,b,c,d) Perl_gv_fullname4(aTHX_ a,b,c,d)
#define gv_handler(a,b) Perl_gv_handler(aTHX_ a,b)
-#define gv_init(a,b,c,d,e) Perl_gv_init(aTHX_ a,b,c,d,e)
+#define gv_init_pv(a,b,c,d) Perl_gv_init_pv(aTHX_ a,b,c,d)
+#define gv_init_pvn(a,b,c,d,e) Perl_gv_init_pvn(aTHX_ a,b,c,d,e)
+#define gv_init_sv(a,b,c,d) Perl_gv_init_sv(aTHX_ a,b,c,d)
#define gv_name_set(a,b,c,d) Perl_gv_name_set(aTHX_ a,b,c,d)
#define gv_stashpv(a,b) Perl_gv_stashpv(aTHX_ a,b)
#define gv_stashpvn(a,b,c) Perl_gv_stashpvn(aTHX_ a,b,c)
@@ -236,6 +250,7 @@
#define is_utf8_alpha(a) Perl_is_utf8_alpha(aTHX_ a)
#define is_utf8_ascii(a) Perl_is_utf8_ascii(aTHX_ a)
#define is_utf8_char Perl_is_utf8_char
+#define is_utf8_char_buf Perl_is_utf8_char_buf
#define is_utf8_cntrl(a) Perl_is_utf8_cntrl(aTHX_ a)
#define is_utf8_digit(a) Perl_is_utf8_digit(aTHX_ a)
#define is_utf8_graph(a) Perl_is_utf8_graph(aTHX_ a)
@@ -301,8 +316,6 @@
#define my_failure_exit() Perl_my_failure_exit(aTHX)
#define my_fflush_all() Perl_my_fflush_all(aTHX)
#define my_fork Perl_my_fork
-#define my_pclose(a) Perl_my_pclose(aTHX_ a)
-#define my_popen(a,b) Perl_my_popen(aTHX_ a,b)
#define my_popen_list(a,b,c) Perl_my_popen_list(aTHX_ a,b,c)
#define my_setenv(a,b) Perl_my_setenv(aTHX_ a,b)
#define my_socketpair Perl_my_socketpair
@@ -317,12 +330,13 @@
#define newBINOP(a,b,c,d) Perl_newBINOP(aTHX_ a,b,c,d)
#define newCONDOP(a,b,c,d) Perl_newCONDOP(aTHX_ a,b,c,d)
#define newCONSTSUB(a,b,c) Perl_newCONSTSUB(aTHX_ a,b,c)
+#define newCONSTSUB_flags(a,b,c,d,e) Perl_newCONSTSUB_flags(aTHX_ a,b,c,d,e)
#define newCVREF(a,b) Perl_newCVREF(aTHX_ a,b)
#define newFOROP(a,b,c,d,e) Perl_newFOROP(aTHX_ a,b,c,d,e)
#define newGIVENOP(a,b,c) Perl_newGIVENOP(aTHX_ a,b,c)
#define newGVOP(a,b,c) Perl_newGVOP(aTHX_ a,b,c)
#define newGVREF(a,b) Perl_newGVREF(aTHX_ a,b)
-#define newGVgen(a) Perl_newGVgen(aTHX_ a)
+#define newGVgen_flags(a,b) Perl_newGVgen_flags(aTHX_ a,b)
#define newHVREF(a) Perl_newHVREF(aTHX_ a)
#define newHVhv(a) Perl_newHVhv(aTHX_ a)
#define newLISTOP(a,b,c,d) Perl_newLISTOP(aTHX_ a,b,c,d)
@@ -375,7 +389,6 @@
#define op_dump(a) Perl_op_dump(aTHX_ a)
#define op_free(a) Perl_op_free(aTHX_ a)
#define op_linklist(a) Perl_op_linklist(aTHX_ a)
-#define op_lvalue(a,b) Perl_op_lvalue(aTHX_ a,b)
#define op_null(a) Perl_op_null(aTHX_ a)
#define op_prepend_elem(a,b,c) Perl_op_prepend_elem(aTHX_ a,b,c)
#define op_refcnt_lock() Perl_op_refcnt_lock(aTHX)
@@ -383,7 +396,17 @@
#define op_scope(a) Perl_op_scope(aTHX_ a)
#define pack_cat(a,b,c,d,e,f,g) Perl_pack_cat(aTHX_ a,b,c,d,e,f,g)
#define packlist(a,b,c,d,e) Perl_packlist(aTHX_ a,b,c,d,e)
-#define pad_findmy(a,b,c) Perl_pad_findmy(aTHX_ a,b,c)
+#define pad_add_anon(a,b) Perl_pad_add_anon(aTHX_ a,b)
+#define pad_add_name_pv(a,b,c,d) Perl_pad_add_name_pv(aTHX_ a,b,c,d)
+#define pad_add_name_pvn(a,b,c,d,e) Perl_pad_add_name_pvn(aTHX_ a,b,c,d,e)
+#define pad_add_name_sv(a,b,c,d) Perl_pad_add_name_sv(aTHX_ a,b,c,d)
+#define pad_alloc(a,b) Perl_pad_alloc(aTHX_ a,b)
+#define pad_compname_type(a) Perl_pad_compname_type(aTHX_ a)
+#define pad_findmy_pv(a,b) Perl_pad_findmy_pv(aTHX_ a,b)
+#define pad_findmy_pvn(a,b,c) Perl_pad_findmy_pvn(aTHX_ a,b,c)
+#define pad_findmy_sv(a,b) Perl_pad_findmy_sv(aTHX_ a,b)
+#define pad_new(a) Perl_pad_new(aTHX_ a)
+#define pad_tidy(a) Perl_pad_tidy(aTHX_ a)
#define parse_arithexpr(a) Perl_parse_arithexpr(aTHX_ a)
#define parse_barestmt(a) Perl_parse_barestmt(aTHX_ a)
#define parse_block(a) Perl_parse_block(aTHX_ a)
@@ -537,8 +560,14 @@
#define sv_dec(a) Perl_sv_dec(aTHX_ a)
#define sv_dec_nomg(a) Perl_sv_dec_nomg(aTHX_ a)
#define sv_derived_from(a,b) Perl_sv_derived_from(aTHX_ a,b)
+#define sv_derived_from_pv(a,b,c) Perl_sv_derived_from_pv(aTHX_ a,b,c)
+#define sv_derived_from_pvn(a,b,c,d) Perl_sv_derived_from_pvn(aTHX_ a,b,c,d)
+#define sv_derived_from_sv(a,b,c) Perl_sv_derived_from_sv(aTHX_ a,b,c)
#define sv_destroyable(a) Perl_sv_destroyable(aTHX_ a)
#define sv_does(a,b) Perl_sv_does(aTHX_ a,b)
+#define sv_does_pv(a,b,c) Perl_sv_does_pv(aTHX_ a,b,c)
+#define sv_does_pvn(a,b,c,d) Perl_sv_does_pvn(aTHX_ a,b,c,d)
+#define sv_does_sv(a,b,c) Perl_sv_does_sv(aTHX_ a,b,c)
#define sv_dump(a) Perl_sv_dump(aTHX_ a)
#define sv_eq_flags(a,b,c) Perl_sv_eq_flags(aTHX_ a,b,c)
#define sv_force_normal_flags(a,b) Perl_sv_force_normal_flags(aTHX_ a,b)
@@ -632,9 +661,6 @@
#define to_uni_upper(a,b,c) Perl_to_uni_upper(aTHX_ a,b,c)
#define to_uni_upper_lc(a) Perl_to_uni_upper_lc(aTHX_ a)
#define to_utf8_case(a,b,c,d,e,f) Perl_to_utf8_case(aTHX_ a,b,c,d,e,f)
-#define to_utf8_lower(a,b,c) Perl_to_utf8_lower(aTHX_ a,b,c)
-#define to_utf8_title(a,b,c) Perl_to_utf8_title(aTHX_ a,b,c)
-#define to_utf8_upper(a,b,c) Perl_to_utf8_upper(aTHX_ a,b,c)
#define unpack_str(a,b,c,d,e,f,g,h) Perl_unpack_str(aTHX_ a,b,c,d,e,f,g,h)
#define unpackstring(a,b,c,d,e) Perl_unpackstring(aTHX_ a,b,c,d,e)
#define unsharepvn(a,b,c) Perl_unsharepvn(aTHX_ a,b,c)
@@ -646,10 +672,14 @@
#define utf8_length(a,b) Perl_utf8_length(aTHX_ a,b)
#define utf8_to_bytes(a,b) Perl_utf8_to_bytes(aTHX_ a,b)
#define utf8_to_uvchr(a,b) Perl_utf8_to_uvchr(aTHX_ a,b)
+#define utf8_to_uvchr_buf(a,b,c) Perl_utf8_to_uvchr_buf(aTHX_ a,b,c)
#define utf8_to_uvuni(a,b) Perl_utf8_to_uvuni(aTHX_ a,b)
+#define utf8_to_uvuni_buf(a,b,c) Perl_utf8_to_uvuni_buf(aTHX_ a,b,c)
#define utf8n_to_uvuni(a,b,c,d) Perl_utf8n_to_uvuni(aTHX_ a,b,c,d)
#define uvchr_to_utf8_flags(a,b,c) Perl_uvchr_to_utf8_flags(aTHX_ a,b,c)
#define uvuni_to_utf8_flags(a,b,c) Perl_uvuni_to_utf8_flags(aTHX_ a,b,c)
+#define valid_utf8_to_uvchr(a,b) Perl_valid_utf8_to_uvchr(aTHX_ a,b)
+#define valid_utf8_to_uvuni(a,b) Perl_valid_utf8_to_uvuni(aTHX_ a,b)
#define vcmp(a,b) Perl_vcmp(aTHX_ a,b)
#define vcroak(a,b) Perl_vcroak(aTHX_ a,b)
#define vdeb(a,b) Perl_vdeb(aTHX_ a,b)
@@ -670,7 +700,10 @@
#ifndef PERL_IMPLICIT_CONTEXT
#define warner Perl_warner
#endif
-#define whichsig(a) Perl_whichsig(aTHX_ a)
+#define whichsig_pv(a) Perl_whichsig_pv(aTHX_ a)
+#define whichsig_pvn(a,b) Perl_whichsig_pvn(aTHX_ a,b)
+#define whichsig_sv(a) Perl_whichsig_sv(aTHX_ a)
+#define wrap_op_checker(a,b,c) Perl_wrap_op_checker(aTHX_ a,b,c)
#if !(defined(HAS_SIGACTION) && defined(SA_SIGINFO))
#define csighandler Perl_csighandler
#endif
@@ -693,10 +726,15 @@
#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
#define my_chsize(a,b) Perl_my_chsize(aTHX_ a,b)
#endif
+#if !defined(PERL_IMPLICIT_SYS)
+#define my_pclose(a) Perl_my_pclose(aTHX_ a)
+#define my_popen(a,b) Perl_my_popen(aTHX_ a,b)
+#endif
#if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
#define my_bcopy Perl_my_bcopy
#endif
#if defined(DEBUGGING)
+#define pad_setsv(a,b) Perl_pad_setsv(aTHX_ a,b)
#define pad_sv(a) Perl_pad_sv(aTHX_ a)
#endif
#if defined(DUMP_FDS)
@@ -747,6 +785,9 @@
#define warn_nocontext Perl_warn_nocontext
#define warner_nocontext Perl_warner_nocontext
#endif
+#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C)
+#define _is_utf8_quotemeta(a) Perl__is_utf8_quotemeta(aTHX_ a)
+#endif
#if defined(PERL_MAD)
#define newFORM(a,b,c) Perl_newFORM(aTHX_ a,b,c)
#define newMYSUB(a,b,c,d,e) Perl_newMYSUB(aTHX_ a,b,c,d,e)
@@ -816,10 +857,7 @@
#define do_spawn_nowait(a) Perl_do_spawn_nowait(aTHX_ a)
#endif
#if defined(PERL_CORE) || defined(PERL_EXT)
-#define _append_range_to_invlist(a,b,c) Perl__append_range_to_invlist(aTHX_ a,b,c)
-#define _new_invlist(a) Perl__new_invlist(aTHX_ a)
-#define _swash_inversion_hash(a) Perl__swash_inversion_hash(aTHX_ a)
-#define _swash_to_invlist(a) Perl__swash_to_invlist(aTHX_ a)
+#define _is_utf8__perl_idstart(a) Perl__is_utf8__perl_idstart(aTHX_ a)
#define av_reify(a) Perl_av_reify(aTHX_ a)
#define is_utf8_X_L(a) Perl_is_utf8_X_L(aTHX_ a)
#define is_utf8_X_LV(a) Perl_is_utf8_X_LV(aTHX_ a)
@@ -831,7 +869,6 @@
#define is_utf8_X_extend(a) Perl_is_utf8_X_extend(aTHX_ a)
#define is_utf8_X_non_hangul(a) Perl_is_utf8_X_non_hangul(aTHX_ a)
#define is_utf8_X_prepend(a) Perl_is_utf8_X_prepend(aTHX_ a)
-#define mod(a,b) Perl_mod(aTHX_ a,b)
#define op_clear(a) Perl_op_clear(aTHX_ a)
#define qerror(a) Perl_qerror(aTHX_ a)
#define reg_named_buff(a,b,c,d) Perl_reg_named_buff(aTHX_ a,b,c,d)
@@ -866,27 +903,33 @@
#define regcurly(a) S_regcurly(aTHX_ a)
# endif
# if defined(PERL_IN_REGCOMP_C)
+#define _append_range_to_invlist(a,b,c) S__append_range_to_invlist(aTHX_ a,b,c)
+#define _invlist_array_init(a,b) S__invlist_array_init(aTHX_ a,b)
+#define _new_invlist_C_array(a) S__new_invlist_C_array(aTHX_ a)
#define add_alternate(a,b,c) S_add_alternate(aTHX_ a,b,c)
#define add_cp_to_invlist(a,b) S_add_cp_to_invlist(aTHX_ a,b)
#define add_data S_add_data
-#define add_range_to_invlist(a,b,c) S_add_range_to_invlist(aTHX_ a,b,c)
#define checkposixcc(a) S_checkposixcc(aTHX_ a)
#define cl_and S_cl_and
#define cl_anything S_cl_anything
#define cl_init S_cl_init
#define cl_is_anything S_cl_is_anything
#define cl_or S_cl_or
+#define get_invlist_iter_addr(a) S_get_invlist_iter_addr(aTHX_ a)
+#define get_invlist_len_addr(a) S_get_invlist_len_addr(aTHX_ a)
+#define get_invlist_version_id_addr(a) S_get_invlist_version_id_addr(aTHX_ a)
+#define get_invlist_zero_addr(a) S_get_invlist_zero_addr(aTHX_ a)
#define invlist_array(a) S_invlist_array(aTHX_ a)
-#define invlist_destroy(a) S_invlist_destroy(aTHX_ a)
+#define invlist_clone(a) S_invlist_clone(aTHX_ a)
#define invlist_extend(a,b) S_invlist_extend(aTHX_ a,b)
-#define invlist_intersection(a,b) S_invlist_intersection(aTHX_ a,b)
+#define invlist_iterinit(a) S_invlist_iterinit(aTHX_ a)
+#define invlist_iternext(a,b,c) S_invlist_iternext(aTHX_ a,b,c)
#define invlist_len(a) S_invlist_len(aTHX_ a)
#define invlist_max(a) S_invlist_max(aTHX_ a)
+#define invlist_search(a,b) S_invlist_search(aTHX_ a,b)
#define invlist_set_len(a,b) S_invlist_set_len(aTHX_ a,b)
-#define invlist_set_max(a,b) S_invlist_set_max(aTHX_ a,b)
#define invlist_trim(a) S_invlist_trim(aTHX_ a)
-#define invlist_union(a,b) S_invlist_union(aTHX_ a,b)
-#define join_exact(a,b,c,d,e,f) S_join_exact(aTHX_ a,b,c,d,e,f)
+#define join_exact(a,b,c,d,e,f,g) S_join_exact(aTHX_ a,b,c,d,e,f,g)
#define make_trie(a,b,c,d,e,f,g,h) S_make_trie(aTHX_ a,b,c,d,e,f,g,h)
#define make_trie_failtable(a,b,c,d) S_make_trie_failtable(aTHX_ a,b,c,d)
#define nextchar(a) S_nextchar(aTHX_ a)
@@ -911,7 +954,23 @@
#define set_regclass_bit_fold(a,b,c,d,e) S_set_regclass_bit_fold(aTHX_ a,b,c,d,e)
#define study_chunk(a,b,c,d,e,f,g,h,i,j,k) S_study_chunk(aTHX_ a,b,c,d,e,f,g,h,i,j,k)
# endif
+# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
+#define _core_swash_init(a,b,c,d,e,f,g,h) Perl__core_swash_init(aTHX_ a,b,c,d,e,f,g,h)
+#define _invlist_contents(a) Perl__invlist_contents(aTHX_ a)
+# endif
+# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
+#define _add_range_to_invlist(a,b,c) Perl__add_range_to_invlist(aTHX_ a,b,c)
+#define _invlist_intersection_maybe_complement_2nd(a,b,c,d) Perl__invlist_intersection_maybe_complement_2nd(aTHX_ a,b,c,d)
+#define _invlist_invert(a) Perl__invlist_invert(aTHX_ a)
+#define _invlist_invert_prop(a) Perl__invlist_invert_prop(aTHX_ a)
+#define _invlist_populate_swatch(a,b,c,d) Perl__invlist_populate_swatch(aTHX_ a,b,c,d)
+#define _invlist_union_maybe_complement_2nd(a,b,c,d) Perl__invlist_union_maybe_complement_2nd(aTHX_ a,b,c,d)
+#define _new_invlist(a) Perl__new_invlist(aTHX_ a)
+#define _swash_inversion_hash(a) Perl__swash_inversion_hash(aTHX_ a)
+#define _swash_to_invlist(a) Perl__swash_to_invlist(aTHX_ a)
+# endif
# if defined(PERL_IN_REGEXEC_C)
+#define core_regclass_swash(a,b,c,d,e) S_core_regclass_swash(aTHX_ a,b,c,d,e)
#define find_byclass(a,b,c,d,e) S_find_byclass(aTHX_ a,b,c,d,e)
#define reg_check_named_buff_matched(a,b) S_reg_check_named_buff_matched(aTHX_ a,b)
#define regcppop(a) S_regcppop(aTHX_ a)
@@ -928,12 +987,16 @@
#define reghop4 S_reghop4
# endif
# endif
+# if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
+#define _to_fold_latin1(a,b,c,d) Perl__to_fold_latin1(aTHX_ a,b,c,d)
+# endif
# if defined(PERL_OLD_COPY_ON_WRITE)
#define sv_setsv_cow(a,b) Perl_sv_setsv_cow(aTHX_ a,b)
# endif
#endif
#ifdef PERL_CORE
#define allocmy(a,b,c) Perl_allocmy(aTHX_ a,b,c)
+#define amagic_is_enabled(a) Perl_amagic_is_enabled(aTHX_ a)
#define apply(a,b,c) Perl_apply(aTHX_ a,b,c)
#define bind_match(a,b,c) Perl_bind_match(aTHX_ a,b,c)
#define block_end(a,b) Perl_block_end(aTHX_ a,b)
@@ -946,6 +1009,7 @@
#define ck_anoncode(a) Perl_ck_anoncode(aTHX_ a)
#define ck_bitop(a) Perl_ck_bitop(aTHX_ a)
#define ck_chdir(a) Perl_ck_chdir(aTHX_ a)
+#define ck_cmp(a) Perl_ck_cmp(aTHX_ a)
#define ck_concat(a) Perl_ck_concat(aTHX_ a)
#define ck_defined(a) Perl_ck_defined(aTHX_ a)
#define ck_delete(a) Perl_ck_delete(aTHX_ a)
@@ -962,6 +1026,7 @@
#define ck_grep(a) Perl_ck_grep(aTHX_ a)
#define ck_index(a) Perl_ck_index(aTHX_ a)
#define ck_join(a) Perl_ck_join(aTHX_ a)
+#define ck_length(a) Perl_ck_length(aTHX_ a)
#define ck_lfun(a) Perl_ck_lfun(aTHX_ a)
#define ck_listiob(a) Perl_ck_listiob(aTHX_ a)
#define ck_match(a) Perl_ck_match(aTHX_ a)
@@ -984,12 +1049,13 @@
#define ck_subr(a) Perl_ck_subr(aTHX_ a)
#define ck_substr(a) Perl_ck_substr(aTHX_ a)
#define ck_svconst(a) Perl_ck_svconst(aTHX_ a)
+#define ck_tell(a) Perl_ck_tell(aTHX_ a)
#define ck_trunc(a) Perl_ck_trunc(aTHX_ a)
-#define ck_unpack(a) Perl_ck_unpack(aTHX_ a)
#define convert(a,b,c) Perl_convert(aTHX_ a,b,c)
+#define core_prototype(a,b,c,d) Perl_core_prototype(aTHX_ a,b,c,d)
+#define coresub_op(a,b,c) Perl_coresub_op(aTHX_ a,b,c)
#define create_eval_scope(a) Perl_create_eval_scope(aTHX_ a)
-#define cv_ckproto_len(a,b,c,d) Perl_cv_ckproto_len(aTHX_ a,b,c,d)
-#define cv_clone(a) Perl_cv_clone(aTHX_ a)
+#define cv_ckproto_len_flags(a,b,c,d,e) Perl_cv_ckproto_len_flags(aTHX_ a,b,c,d,e)
#define cvgv_set(a,b) Perl_cvgv_set(aTHX_ a,b)
#define cvstash_set(a,b) Perl_cvstash_set(aTHX_ a,b)
#define deb_stack_all() Perl_deb_stack_all(aTHX)
@@ -999,6 +1065,7 @@
#define do_dump_pad(a,b,c,d) Perl_do_dump_pad(aTHX_ a,b,c,d)
#define do_eof(a) Perl_do_eof(aTHX_ a)
#define do_execfree() Perl_do_execfree(aTHX)
+#define do_ncmp(a,b) Perl_do_ncmp(aTHX_ a,b)
#define do_print(a,b) Perl_do_print(aTHX_ a,b)
#define do_readline() Perl_do_readline(aTHX)
#define do_seek(a,b,c) Perl_do_seek(aTHX_ a,b,c)
@@ -1012,6 +1079,8 @@
#define dump_all_perl(a) Perl_dump_all_perl(aTHX_ a)
#define dump_packsubs_perl(a,b) Perl_dump_packsubs_perl(aTHX_ a,b)
#define dump_sub_perl(a,b) Perl_dump_sub_perl(aTHX_ a,b)
+#define finalize_optree(a) Perl_finalize_optree(aTHX_ a)
+#define find_rundefsv2(a,b) Perl_find_rundefsv2(aTHX_ a,b)
#define find_script(a,b,c,d) Perl_find_script(aTHX_ a,b,c,d)
#define free_tied_hv_pool() Perl_free_tied_hv_pool(aTHX)
#define get_hash_seed() Perl_get_hash_seed(aTHX)
@@ -1025,7 +1094,6 @@
#define intro_my() Perl_intro_my(aTHX)
#define invert(a) Perl_invert(aTHX_ a)
#define io_close(a,b) Perl_io_close(aTHX_ a,b)
-#define is_gv_magical_sv(a,b) Perl_is_gv_magical_sv(aTHX_ a,b)
#define jmaybe(a) Perl_jmaybe(aTHX_ a)
#define keyword(a,b,c) Perl_keyword(aTHX_ a,b,c)
#define list(a) Perl_list(aTHX_ a)
@@ -1078,6 +1146,7 @@
#define magic_setutf8(a,b) Perl_magic_setutf8(aTHX_ a,b)
#define magic_setuvar(a,b) Perl_magic_setuvar(aTHX_ a,b)
#define magic_setvec(a,b) Perl_magic_setvec(aTHX_ a,b)
+#define magic_setvstring(a,b) Perl_magic_setvstring(aTHX_ a,b)
#define magic_sizepack(a,b) Perl_magic_sizepack(aTHX_ a,b)
#define magic_wipepack(a,b) Perl_magic_wipepack(aTHX_ a,b)
#define mg_localize(a,b,c) Perl_mg_localize(aTHX_ a,b,c)
@@ -1091,23 +1160,19 @@
#define my_stat_flags(a) Perl_my_stat_flags(aTHX_ a)
#define my_swabn Perl_my_swabn
#define my_unexec() Perl_my_unexec(aTHX)
+#define newATTRSUB_flags(a,b,c,d,e,f) Perl_newATTRSUB_flags(aTHX_ a,b,c,d,e,f)
+#define newXS_len_flags(a,b,c,d,e,f,g) Perl_newXS_len_flags(aTHX_ a,b,c,d,e,f,g)
#define nextargv(a) Perl_nextargv(aTHX_ a)
#define oopsAV(a) Perl_oopsAV(aTHX_ a)
#define oopsHV(a) Perl_oopsHV(aTHX_ a)
#define op_const_sv(a,b) Perl_op_const_sv(aTHX_ a,b)
#define package_version(a) Perl_package_version(aTHX_ a)
-#define pad_add_anon(a,b) Perl_pad_add_anon(aTHX_ a,b)
-#define pad_add_name(a,b,c,d,e) Perl_pad_add_name(aTHX_ a,b,c,d,e)
-#define pad_alloc(a,b) Perl_pad_alloc(aTHX_ a,b)
#define pad_block_start(a) Perl_pad_block_start(aTHX_ a)
-#define pad_compname_type(a) Perl_pad_compname_type(aTHX_ a)
#define pad_fixup_inner_anons(a,b,c) Perl_pad_fixup_inner_anons(aTHX_ a,b,c)
#define pad_free(a) Perl_pad_free(aTHX_ a)
#define pad_leavemy() Perl_pad_leavemy(aTHX)
-#define pad_new(a) Perl_pad_new(aTHX_ a)
#define pad_push(a,b) Perl_pad_push(aTHX_ a,b)
#define pad_swipe(a,b) Perl_pad_swipe(aTHX_ a,b)
-#define pad_tidy(a) Perl_pad_tidy(aTHX_ a)
#define parse_unicode_opts(a) Perl_parse_unicode_opts(aTHX_ a)
#define parser_free(a) Perl_parser_free(aTHX_ a)
#define peep(a) Perl_peep(aTHX_ a)
@@ -1136,6 +1201,8 @@
#define sv_clean_objs() Perl_sv_clean_objs(aTHX)
#define sv_del_backref(a,b) Perl_sv_del_backref(aTHX_ a,b)
#define sv_free_arenas() Perl_sv_free_arenas(aTHX)
+#define sv_ref(a,b,c) Perl_sv_ref(aTHX_ a,b,c)
+#define sv_sethek(a,b) Perl_sv_sethek(aTHX_ a,b)
#ifndef PERL_IMPLICIT_CONTEXT
#define tied_method Perl_tied_method
#endif
@@ -1145,6 +1212,8 @@
#define watch(a) Perl_watch(aTHX_ a)
#define write_to_stderr(a) Perl_write_to_stderr(aTHX_ a)
#define yyerror(a) Perl_yyerror(aTHX_ a)
+#define yyerror_pv(a,b) Perl_yyerror_pv(aTHX_ a,b)
+#define yyerror_pvn(a,b,c) Perl_yyerror_pvn(aTHX_ a,b,c)
#define yyparse(a) Perl_yyparse(aTHX_ a)
#define yyunlex() Perl_yyunlex(aTHX)
# if !(defined(DEBUGGING))
@@ -1203,7 +1272,6 @@
# endif
# if defined(DEBUGGING)
#define get_debug_opts(a,b) Perl_get_debug_opts(aTHX_ a,b)
-#define pad_setsv(a,b) Perl_pad_setsv(aTHX_ a,b)
# if defined(PERL_IN_PAD_C)
#define cv_dump(a,b) S_cv_dump(aTHX_ a,b)
# endif
@@ -1268,13 +1336,11 @@
#define deb_curcv(a) S_deb_curcv(aTHX_ a)
#define debprof(a) S_debprof(aTHX_ a)
#define pm_description(a) S_pm_description(aTHX_ a)
-#define sequence(a) S_sequence(aTHX_ a)
#define sequence_num(a) S_sequence_num(aTHX_ a)
-#define sequence_tail(a) S_sequence_tail(aTHX_ a)
# endif
# if defined(PERL_IN_GV_C)
-#define gv_get_super_pkg(a,b) S_gv_get_super_pkg(aTHX_ a,b)
-#define gv_init_sv(a,b) S_gv_init_sv(aTHX_ a,b)
+#define gv_get_super_pkg(a,b,c) S_gv_get_super_pkg(aTHX_ a,b,c)
+#define gv_init_svtype(a,b) S_gv_init_svtype(aTHX_ a,b)
#define gv_magicalize_isa(a) S_gv_magicalize_isa(aTHX_ a)
#define gv_magicalize_overload(a) S_gv_magicalize_overload(aTHX_ a)
#define require_tie_mod(a,b,c,d,e) S_require_tie_mod(aTHX_ a,b,c,d,e)
@@ -1285,6 +1351,7 @@
#define hsplit(a) S_hsplit(aTHX_ a)
#define hv_auxinit S_hv_auxinit
#define hv_delete_common(a,b,c,d,e,f,g) S_hv_delete_common(aTHX_ a,b,c,d,e,f,g)
+#define hv_free_ent_ret(a,b) S_hv_free_ent_ret(aTHX_ a,b)
#define hv_magic_check S_hv_magic_check
#define hv_notallowed(a,b,c,d) S_hv_notallowed(aTHX_ a,b,c,d)
#define new_he() S_new_he(aTHX)
@@ -1305,8 +1372,11 @@
#define save_magic(a,b) S_save_magic(aTHX_ a,b)
#define unwind_handler_stack(a) S_unwind_handler_stack(aTHX_ a)
# endif
+# if defined(PERL_IN_MG_C) || defined(PERL_IN_PP_C)
+#define translate_substr_offsets(a,b,c,d,e,f,g) Perl_translate_substr_offsets(aTHX_ a,b,c,d,e,f,g)
+# endif
# if defined(PERL_IN_MRO_C)
-#define mro_clean_isarev(a,b,c,d) S_mro_clean_isarev(aTHX_ a,b,c,d)
+#define mro_clean_isarev(a,b,c,d,e) S_mro_clean_isarev(aTHX_ a,b,c,d,e)
#define mro_gather_and_rename(a,b,c,d,e) S_mro_gather_and_rename(aTHX_ a,b,c,d,e)
#define mro_get_linear_isa_dfs(a,b) S_mro_get_linear_isa_dfs(aTHX_ a,b)
# endif
@@ -1314,18 +1384,21 @@
#define mulexp10 S_mulexp10
# endif
# if defined(PERL_IN_OP_C)
+#define aassign_common_vars(a) S_aassign_common_vars(aTHX_ a)
#define apply_attrs(a,b,c,d) S_apply_attrs(aTHX_ a,b,c,d)
#define apply_attrs_my(a,b,c,d) S_apply_attrs_my(aTHX_ a,b,c,d)
-#define bad_type(a,b,c,d) S_bad_type(aTHX_ a,b,c,d)
+#define bad_type_pv(a,b,c,d,e) S_bad_type_pv(aTHX_ a,b,c,d,e)
+#define bad_type_sv(a,b,c,d,e) S_bad_type_sv(aTHX_ a,b,c,d,e)
#define cop_free(a) S_cop_free(aTHX_ a)
#define dup_attrlist(a) S_dup_attrlist(aTHX_ a)
+#define finalize_op(a) S_finalize_op(aTHX_ a)
#define find_and_forget_pmops(a) S_find_and_forget_pmops(aTHX_ a)
#define fold_constants(a) S_fold_constants(aTHX_ a)
#define force_list(a) S_force_list(aTHX_ a)
#define gen_constant_list(a) S_gen_constant_list(aTHX_ a)
#define gv_ename(a) S_gv_ename(aTHX_ a)
+#define inplace_aassign(a) S_inplace_aassign(aTHX_ a)
#define is_handle_constructor S_is_handle_constructor
-#define is_inplace_av(a,b) S_is_inplace_av(aTHX_ a,b)
#define is_list_assignment(a) S_is_list_assignment(aTHX_ a)
#define listkids(a) S_listkids(aTHX_ a)
#define looks_like_bool(a) S_looks_like_bool(aTHX_ a)
@@ -1336,6 +1409,8 @@
#define new_logop(a,b,c,d) S_new_logop(aTHX_ a,b,c,d)
#define no_bareword_allowed(a) S_no_bareword_allowed(aTHX_ a)
#define no_fh_allowed(a) S_no_fh_allowed(aTHX_ a)
+#define op_integerize(a) S_op_integerize(aTHX_ a)
+#define op_std_init(a) S_op_std_init(aTHX_ a)
#define opt_scalarhv(a) S_opt_scalarhv(aTHX_ a)
#define pmtrans(a,b,c) S_pmtrans(aTHX_ a,b,c)
#define process_special_blocks(a,b,c) S_process_special_blocks(aTHX_ a,b,c)
@@ -1347,13 +1422,18 @@
#define scalarseq(a) S_scalarseq(aTHX_ a)
#define search_const(a) S_search_const(aTHX_ a)
#define simplify_sort(a) S_simplify_sort(aTHX_ a)
-#define too_few_arguments(a,b) S_too_few_arguments(aTHX_ a,b)
-#define too_many_arguments(a,b) S_too_many_arguments(aTHX_ a,b)
+#define too_few_arguments_pv(a,b,c) S_too_few_arguments_pv(aTHX_ a,b,c)
+#define too_few_arguments_sv(a,b,c) S_too_few_arguments_sv(aTHX_ a,b,c)
+#define too_many_arguments_pv(a,b,c) S_too_many_arguments_pv(aTHX_ a,b,c)
+#define too_many_arguments_sv(a,b,c) S_too_many_arguments_sv(aTHX_ a,b,c)
+# endif
+# if defined(PERL_IN_OP_C) || defined(PERL_IN_SV_C)
+#define report_redefined_cv(a,b,c) Perl_report_redefined_cv(aTHX_ a,b,c)
# endif
# if defined(PERL_IN_PAD_C)
-#define pad_add_name_sv(a,b,c,d) S_pad_add_name_sv(aTHX_ a,b,c,d)
+#define pad_alloc_name(a,b,c,d) S_pad_alloc_name(aTHX_ a,b,c,d)
#define pad_check_dup(a,b,c) S_pad_check_dup(aTHX_ a,b,c)
-#define pad_findlex(a,b,c,d,e,f,g) S_pad_findlex(aTHX_ a,b,c,d,e,f,g)
+#define pad_findlex(a,b,c,d,e,f,g,h,i) S_pad_findlex(aTHX_ a,b,c,d,e,f,g,h,i)
#define pad_reset() S_pad_reset(aTHX)
# endif
# if defined(PERL_IN_PERL_C)
@@ -1367,12 +1447,14 @@
#define init_perllib() S_init_perllib(aTHX)
#define init_postdump_symbols(a,b,c) S_init_postdump_symbols(aTHX_ a,b,c)
#define init_predump_symbols() S_init_predump_symbols(aTHX)
+#define mayberelocate(a,b,c) S_mayberelocate(aTHX_ a,b,c)
+#define minus_v() S_minus_v(aTHX)
#define my_exit_jump() S_my_exit_jump(aTHX)
#define nuke_stacks() S_nuke_stacks(aTHX)
-#define open_script(a,b,c,d) S_open_script(aTHX_ a,b,c,d)
+#define open_script(a,b,c) S_open_script(aTHX_ a,b,c)
#define parse_body(a,b) S_parse_body(aTHX_ a,b)
#define run_body(a) S_run_body(aTHX_ a)
-#define usage(a) S_usage(aTHX_ a)
+#define usage() S_usage(aTHX)
# endif
# if defined(PERL_IN_PP_C)
#define do_chomp(a,b,c) S_do_chomp(aTHX_ a,b,c)
@@ -1380,16 +1462,17 @@
#define refto(a) S_refto(aTHX_ a)
# endif
# if defined(PERL_IN_PP_CTL_C)
+#define adjust_stack_on_leave(a,b,c,d,e) S_adjust_stack_on_leave(aTHX_ a,b,c,d,e)
#define check_type_and_open(a) S_check_type_and_open(aTHX_ a)
#define destroy_matcher(a) S_destroy_matcher(aTHX_ a)
-#define do_smartmatch(a,b) S_do_smartmatch(aTHX_ a,b)
+#define do_smartmatch(a,b,c) S_do_smartmatch(aTHX_ a,b,c)
#define docatch(a) S_docatch(aTHX_ a)
-#define doeval(a,b,c,d) S_doeval(aTHX_ a,b,c,d)
-#define dofindlabel(a,b,c,d) S_dofindlabel(aTHX_ a,b,c,d)
+#define doeval(a,b,c,d,e) S_doeval(aTHX_ a,b,c,d,e)
+#define dofindlabel(a,b,c,d,e,f) S_dofindlabel(aTHX_ a,b,c,d,e,f)
#define doparseform(a) S_doparseform(aTHX_ a)
#define dopoptoeval(a) S_dopoptoeval(aTHX_ a)
#define dopoptogiven(a) S_dopoptogiven(aTHX_ a)
-#define dopoptolabel(a) S_dopoptolabel(aTHX_ a)
+#define dopoptolabel(a,b,c) S_dopoptolabel(aTHX_ a,b,c)
#define dopoptoloop(a) S_dopoptoloop(aTHX_ a)
#define dopoptosub_at(a,b) S_dopoptosub_at(aTHX_ a,b)
#define dopoptowhen(a) S_dopoptowhen(aTHX_ a)
@@ -1462,11 +1545,10 @@
#define sv_pos_u2b_cached(a,b,c,d,e,f,g) S_sv_pos_u2b_cached(aTHX_ a,b,c,d,e,f,g)
#define sv_pos_u2b_forwards S_sv_pos_u2b_forwards
#define sv_pos_u2b_midway S_sv_pos_u2b_midway
-#define sv_unglob(a) S_sv_unglob(aTHX_ a)
+#define sv_unglob(a,b) S_sv_unglob(aTHX_ a,b)
#define uiv_2buf S_uiv_2buf
#define utf8_mg_len_cache_update(a,b,c) S_utf8_mg_len_cache_update(aTHX_ a,b,c)
#define utf8_mg_pos_cache_update(a,b,c,d,e) S_utf8_mg_pos_cache_update(aTHX_ a,b,c,d,e)
-#define varname(a,b,c,d,e,f) S_varname(aTHX_ a,b,c,d,e,f)
#define visit(a,b,c) S_visit(aTHX_ a,b,c)
# if defined(PERL_OLD_COPY_ON_WRITE)
#define sv_release_COW(a,b,c) S_sv_release_COW(aTHX_ a,b,c)
@@ -1477,6 +1559,9 @@
#define unreferenced_to_tmp_stack(a) S_unreferenced_to_tmp_stack(aTHX_ a)
# endif
# endif
+# if defined(PERL_IN_SV_C) || defined (PERL_IN_OP_C)
+#define varname(a,b,c,d,e,f) Perl_varname(aTHX_ a,b,c,d,e,f)
+# endif
# if defined(PERL_IN_TOKE_C)
#define ao(a) S_ao(aTHX_ a)
#define check_uni() S_check_uni(aTHX)
@@ -1514,7 +1599,7 @@
#define tokenize_use(a,b) S_tokenize_use(aTHX_ a,b)
#define tokeq(a) S_tokeq(aTHX_ a)
#define update_debugger_info(a,b,c) S_update_debugger_info(aTHX_ a,b,c)
-#define yywarn(a) S_yywarn(aTHX_ a)
+#define yywarn(a,b) S_yywarn(aTHX_ a,b)
# if defined(PERL_MAD)
#define curmad(a,b) S_curmad(aTHX_ a,b)
#define skipspace0(a) S_skipspace0(aTHX_ a)
@@ -1524,12 +1609,17 @@
# endif
# endif
# if defined(PERL_IN_UNIVERSAL_C)
-#define isa_lookup(a,b) S_isa_lookup(aTHX_ a,b)
+#define isa_lookup(a,b,c,d) S_isa_lookup(aTHX_ a,b,c,d)
# endif
# if defined(PERL_IN_UTF8_C)
+#define check_locale_boundary_crossing(a,b,c,d) S_check_locale_boundary_crossing(aTHX_ a,b,c,d)
#define is_utf8_char_slow S_is_utf8_char_slow
#define is_utf8_common(a,b,c) S_is_utf8_common(aTHX_ a,b,c)
-#define swash_get(a,b,c) S_swash_get(aTHX_ a,b,c)
+#define swatch_get(a,b,c) S_swatch_get(aTHX_ a,b,c)
+#define to_lower_latin1(a,b,c) S_to_lower_latin1(aTHX_ a,b,c)
+# endif
+# if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C)
+#define _to_upper_title_latin1(a,b,c,d) Perl__to_upper_title_latin1(aTHX_ a,b,c,d)
# endif
# if defined(PERL_IN_UTIL_C)
#define ckwarn_common(a) S_ckwarn_common(aTHX_ a)
diff --git a/Master/tlpkg/tlperl/lib/CORE/embedvar.h b/Master/tlpkg/tlperl/lib/CORE/embedvar.h
index bb179fdcf44..24d99e96104 100644
--- a/Master/tlpkg/tlperl/lib/CORE/embedvar.h
+++ b/Master/tlpkg/tlperl/lib/CORE/embedvar.h
@@ -40,6 +40,8 @@
# define vTHX PERL_GET_INTERP
# endif
+#define PL_ASCII (vTHX->IASCII)
+#define PL_AboveLatin1 (vTHX->IAboveLatin1)
#define PL_Argv (vTHX->IArgv)
#define PL_Cmd (vTHX->ICmd)
#define PL_DBcv (vTHX->IDBcv)
@@ -51,17 +53,47 @@
#define PL_DBtrace (vTHX->IDBtrace)
#define PL_Dir (vTHX->IDir)
#define PL_Env (vTHX->IEnv)
+#define PL_L1Cased (vTHX->IL1Cased)
+#define PL_L1PosixAlnum (vTHX->IL1PosixAlnum)
+#define PL_L1PosixAlpha (vTHX->IL1PosixAlpha)
+#define PL_L1PosixGraph (vTHX->IL1PosixGraph)
+#define PL_L1PosixLower (vTHX->IL1PosixLower)
+#define PL_L1PosixPrint (vTHX->IL1PosixPrint)
+#define PL_L1PosixPunct (vTHX->IL1PosixPunct)
+#define PL_L1PosixUpper (vTHX->IL1PosixUpper)
+#define PL_L1PosixWord (vTHX->IL1PosixWord)
#define PL_LIO (vTHX->ILIO)
+#define PL_Latin1 (vTHX->ILatin1)
#define PL_Mem (vTHX->IMem)
#define PL_MemParse (vTHX->IMemParse)
#define PL_MemShared (vTHX->IMemShared)
#define PL_OpPtr (vTHX->IOpPtr)
#define PL_OpSlab (vTHX->IOpSlab)
#define PL_OpSpace (vTHX->IOpSpace)
+#define PL_PerlSpace (vTHX->IPerlSpace)
+#define PL_PosixAlnum (vTHX->IPosixAlnum)
+#define PL_PosixAlpha (vTHX->IPosixAlpha)
+#define PL_PosixBlank (vTHX->IPosixBlank)
+#define PL_PosixCntrl (vTHX->IPosixCntrl)
+#define PL_PosixDigit (vTHX->IPosixDigit)
+#define PL_PosixGraph (vTHX->IPosixGraph)
+#define PL_PosixLower (vTHX->IPosixLower)
+#define PL_PosixPrint (vTHX->IPosixPrint)
+#define PL_PosixPunct (vTHX->IPosixPunct)
+#define PL_PosixSpace (vTHX->IPosixSpace)
+#define PL_PosixUpper (vTHX->IPosixUpper)
+#define PL_PosixWord (vTHX->IPosixWord)
+#define PL_PosixXDigit (vTHX->IPosixXDigit)
#define PL_Proc (vTHX->IProc)
#define PL_Sock (vTHX->ISock)
#define PL_StdIO (vTHX->IStdIO)
#define PL_Sv (vTHX->ISv)
+#define PL_VertSpace (vTHX->IVertSpace)
+#define PL_XPerlSpace (vTHX->IXPerlSpace)
+#define PL_XPosixBlank (vTHX->IXPosixBlank)
+#define PL_XPosixCntrl (vTHX->IXPosixCntrl)
+#define PL_XPosixSpace (vTHX->IXPosixSpace)
+#define PL_XPosixXDigit (vTHX->IXPosixXDigit)
#define PL_Xpv (vTHX->IXpv)
#define PL_amagic_generation (vTHX->Iamagic_generation)
#define PL_an (vTHX->Ian)
@@ -117,6 +149,10 @@
#define PL_defoutgv (vTHX->Idefoutgv)
#define PL_defstash (vTHX->Idefstash)
#define PL_delaymagic (vTHX->Idelaymagic)
+#define PL_delaymagic_egid (vTHX->Idelaymagic_egid)
+#define PL_delaymagic_euid (vTHX->Idelaymagic_euid)
+#define PL_delaymagic_gid (vTHX->Idelaymagic_gid)
+#define PL_delaymagic_uid (vTHX->Idelaymagic_uid)
#define PL_destroyhook (vTHX->Idestroyhook)
#define PL_diehook (vTHX->Idiehook)
#define PL_doswitches (vTHX->Idoswitches)
@@ -126,13 +162,11 @@
#define PL_e_script (vTHX->Ie_script)
#define PL_efloatbuf (vTHX->Iefloatbuf)
#define PL_efloatsize (vTHX->Iefloatsize)
-#define PL_egid (vTHX->Iegid)
#define PL_encoding (vTHX->Iencoding)
#define PL_endav (vTHX->Iendav)
#define PL_envgv (vTHX->Ienvgv)
#define PL_errgv (vTHX->Ierrgv)
#define PL_errors (vTHX->Ierrors)
-#define PL_euid (vTHX->Ieuid)
#define PL_eval_root (vTHX->Ieval_root)
#define PL_eval_start (vTHX->Ieval_start)
#define PL_evalseq (vTHX->Ievalseq)
@@ -147,9 +181,9 @@
#define PL_formtarget (vTHX->Iformtarget)
#define PL_generation (vTHX->Igeneration)
#define PL_gensym (vTHX->Igensym)
-#define PL_gid (vTHX->Igid)
#define PL_glob_index (vTHX->Iglob_index)
#define PL_globalstash (vTHX->Iglobalstash)
+#define PL_globhook (vTHX->Iglobhook)
#define PL_hash_seed (vTHX->Ihash_seed)
#define PL_hintgv (vTHX->Ihintgv)
#define PL_hints (vTHX->Ihints)
@@ -171,7 +205,6 @@
#define PL_last_swash_tmps (vTHX->Ilast_swash_tmps)
#define PL_lastfd (vTHX->Ilastfd)
#define PL_lastgotoprobe (vTHX->Ilastgotoprobe)
-#define PL_lastscream (vTHX->Ilastscream)
#define PL_laststatval (vTHX->Ilaststatval)
#define PL_laststype (vTHX->Ilaststype)
#define PL_localizing (vTHX->Ilocalizing)
@@ -187,7 +220,6 @@
#define PL_markstack_ptr (vTHX->Imarkstack_ptr)
#define PL_max_intro_pending (vTHX->Imax_intro_pending)
#define PL_maxo (vTHX->Imaxo)
-#define PL_maxscream (vTHX->Imaxscream)
#define PL_maxsysfd (vTHX->Imaxsysfd)
#define PL_memory_debug_header (vTHX->Imemory_debug_header)
#define PL_mess_sv (vTHX->Imess_sv)
@@ -234,7 +266,6 @@
#define PL_perlio (vTHX->Iperlio)
#define PL_phase (vTHX->Iphase)
#define PL_pidstatus (vTHX->Ipidstatus)
-#define PL_ppid (vTHX->Ippid)
#define PL_preambleav (vTHX->Ipreambleav)
#define PL_profiledata (vTHX->Iprofiledata)
#define PL_psig_name (vTHX->Ipsig_name)
@@ -268,8 +299,6 @@
#define PL_scopestack_ix (vTHX->Iscopestack_ix)
#define PL_scopestack_max (vTHX->Iscopestack_max)
#define PL_scopestack_name (vTHX->Iscopestack_name)
-#define PL_screamfirst (vTHX->Iscreamfirst)
-#define PL_screamnext (vTHX->Iscreamnext)
#define PL_secondgv (vTHX->Isecondgv)
#define PL_sharehook (vTHX->Isharehook)
#define PL_sig_pending (vTHX->Isig_pending)
@@ -321,7 +350,6 @@
#define PL_tmps_stack (vTHX->Itmps_stack)
#define PL_top_env (vTHX->Itop_env)
#define PL_toptarget (vTHX->Itoptarget)
-#define PL_uid (vTHX->Iuid)
#define PL_unicode (vTHX->Iunicode)
#define PL_unitcheckav (vTHX->Iunitcheckav)
#define PL_unitcheckav_save (vTHX->Iunitcheckav_save)
@@ -339,8 +367,6 @@
#define PL_utf8_X_prepend (vTHX->Iutf8_X_prepend)
#define PL_utf8_alnum (vTHX->Iutf8_alnum)
#define PL_utf8_alpha (vTHX->Iutf8_alpha)
-#define PL_utf8_ascii (vTHX->Iutf8_ascii)
-#define PL_utf8_cntrl (vTHX->Iutf8_cntrl)
#define PL_utf8_digit (vTHX->Iutf8_digit)
#define PL_utf8_foldable (vTHX->Iutf8_foldable)
#define PL_utf8_foldclosures (vTHX->Iutf8_foldclosures)
@@ -349,11 +375,10 @@
#define PL_utf8_idstart (vTHX->Iutf8_idstart)
#define PL_utf8_lower (vTHX->Iutf8_lower)
#define PL_utf8_mark (vTHX->Iutf8_mark)
-#define PL_utf8_perl_space (vTHX->Iutf8_perl_space)
-#define PL_utf8_perl_word (vTHX->Iutf8_perl_word)
-#define PL_utf8_posix_digit (vTHX->Iutf8_posix_digit)
+#define PL_utf8_perl_idstart (vTHX->Iutf8_perl_idstart)
#define PL_utf8_print (vTHX->Iutf8_print)
#define PL_utf8_punct (vTHX->Iutf8_punct)
+#define PL_utf8_quotemeta (vTHX->Iutf8_quotemeta)
#define PL_utf8_space (vTHX->Iutf8_space)
#define PL_utf8_tofold (vTHX->Iutf8_tofold)
#define PL_utf8_tolower (vTHX->Iutf8_tolower)
@@ -370,355 +395,16 @@
#define PL_watchok (vTHX->Iwatchok)
#define PL_xmlfp (vTHX->Ixmlfp)
-#else /* !MULTIPLICITY */
-
-/* case 1 above */
-
-#define PL_IArgv PL_Argv
-#define PL_ICmd PL_Cmd
-#define PL_IDBcv PL_DBcv
-#define PL_IDBgv PL_DBgv
-#define PL_IDBline PL_DBline
-#define PL_IDBsignal PL_DBsignal
-#define PL_IDBsingle PL_DBsingle
-#define PL_IDBsub PL_DBsub
-#define PL_IDBtrace PL_DBtrace
-#define PL_IDir PL_Dir
-#define PL_IEnv PL_Env
-#define PL_ILIO PL_LIO
-#define PL_IMem PL_Mem
-#define PL_IMemParse PL_MemParse
-#define PL_IMemShared PL_MemShared
-#define PL_IOpPtr PL_OpPtr
-#define PL_IOpSlab PL_OpSlab
-#define PL_IOpSpace PL_OpSpace
-#define PL_IProc PL_Proc
-#define PL_ISock PL_Sock
-#define PL_IStdIO PL_StdIO
-#define PL_ISv PL_Sv
-#define PL_IXpv PL_Xpv
-#define PL_Iamagic_generation PL_amagic_generation
-#define PL_Ian PL_an
-#define PL_Iapiversion PL_apiversion
-#define PL_Iargvgv PL_argvgv
-#define PL_Iargvout_stack PL_argvout_stack
-#define PL_Iargvoutgv PL_argvoutgv
-#define PL_Ibasetime PL_basetime
-#define PL_Ibeginav PL_beginav
-#define PL_Ibeginav_save PL_beginav_save
-#define PL_Iblockhooks PL_blockhooks
-#define PL_Ibody_arenas PL_body_arenas
-#define PL_Ibody_roots PL_body_roots
-#define PL_Ibodytarget PL_bodytarget
-#define PL_Ibreakable_sub_gen PL_breakable_sub_gen
-#define PL_Icheckav PL_checkav
-#define PL_Icheckav_save PL_checkav_save
-#define PL_Ichopset PL_chopset
-#define PL_Iclocktick PL_clocktick
-#define PL_Icollation_ix PL_collation_ix
-#define PL_Icollation_name PL_collation_name
-#define PL_Icollation_standard PL_collation_standard
-#define PL_Icollxfrm_base PL_collxfrm_base
-#define PL_Icollxfrm_mult PL_collxfrm_mult
-#define PL_Icolors PL_colors
-#define PL_Icolorset PL_colorset
-#define PL_Icompcv PL_compcv
-#define PL_Icompiling PL_compiling
-#define PL_Icomppad PL_comppad
-#define PL_Icomppad_name PL_comppad_name
-#define PL_Icomppad_name_fill PL_comppad_name_fill
-#define PL_Icomppad_name_floor PL_comppad_name_floor
-#define PL_Icop_seqmax PL_cop_seqmax
-#define PL_Icryptseen PL_cryptseen
-#define PL_Icurcop PL_curcop
-#define PL_Icurcopdb PL_curcopdb
-#define PL_Icurpad PL_curpad
-#define PL_Icurpm PL_curpm
-#define PL_Icurstack PL_curstack
-#define PL_Icurstackinfo PL_curstackinfo
-#define PL_Icurstash PL_curstash
-#define PL_Icurstname PL_curstname
-#define PL_Icustom_op_descs PL_custom_op_descs
-#define PL_Icustom_op_names PL_custom_op_names
-#define PL_Icustom_ops PL_custom_ops
-#define PL_Icv_has_eval PL_cv_has_eval
-#define PL_Idbargs PL_dbargs
-#define PL_Idebstash PL_debstash
-#define PL_Idebug PL_debug
-#define PL_Idebug_pad PL_debug_pad
-#define PL_Idef_layerlist PL_def_layerlist
-#define PL_Idefgv PL_defgv
-#define PL_Idefoutgv PL_defoutgv
-#define PL_Idefstash PL_defstash
-#define PL_Idelaymagic PL_delaymagic
-#define PL_Idestroyhook PL_destroyhook
-#define PL_Idiehook PL_diehook
-#define PL_Idoswitches PL_doswitches
-#define PL_Idowarn PL_dowarn
-#define PL_Idumper_fd PL_dumper_fd
-#define PL_Idumpindent PL_dumpindent
-#define PL_Ie_script PL_e_script
-#define PL_Iefloatbuf PL_efloatbuf
-#define PL_Iefloatsize PL_efloatsize
-#define PL_Iegid PL_egid
-#define PL_Iencoding PL_encoding
-#define PL_Iendav PL_endav
-#define PL_Ienvgv PL_envgv
-#define PL_Ierrgv PL_errgv
-#define PL_Ierrors PL_errors
-#define PL_Ieuid PL_euid
-#define PL_Ieval_root PL_eval_root
-#define PL_Ieval_start PL_eval_start
-#define PL_Ievalseq PL_evalseq
-#define PL_Iexit_flags PL_exit_flags
-#define PL_Iexitlist PL_exitlist
-#define PL_Iexitlistlen PL_exitlistlen
-#define PL_Ifdpid PL_fdpid
-#define PL_Ifilemode PL_filemode
-#define PL_Ifirstgv PL_firstgv
-#define PL_Iforkprocess PL_forkprocess
-#define PL_Iformfeed PL_formfeed
-#define PL_Iformtarget PL_formtarget
-#define PL_Igeneration PL_generation
-#define PL_Igensym PL_gensym
-#define PL_Igid PL_gid
-#define PL_Iglob_index PL_glob_index
-#define PL_Iglobalstash PL_globalstash
-#define PL_Ihash_seed PL_hash_seed
-#define PL_Ihintgv PL_hintgv
-#define PL_Ihints PL_hints
-#define PL_Ihv_fetch_ent_mh PL_hv_fetch_ent_mh
-#define PL_Iin_clean_all PL_in_clean_all
-#define PL_Iin_clean_objs PL_in_clean_objs
-#define PL_Iin_eval PL_in_eval
-#define PL_Iin_load_module PL_in_load_module
-#define PL_Iincgv PL_incgv
-#define PL_Iinitav PL_initav
-#define PL_Iinplace PL_inplace
-#define PL_Iisarev PL_isarev
-#define PL_Iknown_layers PL_known_layers
-#define PL_Ilast_in_gv PL_last_in_gv
-#define PL_Ilast_swash_hv PL_last_swash_hv
-#define PL_Ilast_swash_key PL_last_swash_key
-#define PL_Ilast_swash_klen PL_last_swash_klen
-#define PL_Ilast_swash_slen PL_last_swash_slen
-#define PL_Ilast_swash_tmps PL_last_swash_tmps
-#define PL_Ilastfd PL_lastfd
-#define PL_Ilastgotoprobe PL_lastgotoprobe
-#define PL_Ilastscream PL_lastscream
-#define PL_Ilaststatval PL_laststatval
-#define PL_Ilaststype PL_laststype
-#define PL_Ilocalizing PL_localizing
-#define PL_Ilocalpatches PL_localpatches
-#define PL_Ilockhook PL_lockhook
-#define PL_Imadskills PL_madskills
-#define PL_Imain_cv PL_main_cv
-#define PL_Imain_root PL_main_root
-#define PL_Imain_start PL_main_start
-#define PL_Imainstack PL_mainstack
-#define PL_Imarkstack PL_markstack
-#define PL_Imarkstack_max PL_markstack_max
-#define PL_Imarkstack_ptr PL_markstack_ptr
-#define PL_Imax_intro_pending PL_max_intro_pending
-#define PL_Imaxo PL_maxo
-#define PL_Imaxscream PL_maxscream
-#define PL_Imaxsysfd PL_maxsysfd
-#define PL_Imemory_debug_header PL_memory_debug_header
-#define PL_Imess_sv PL_mess_sv
-#define PL_Imin_intro_pending PL_min_intro_pending
-#define PL_Iminus_E PL_minus_E
-#define PL_Iminus_F PL_minus_F
-#define PL_Iminus_a PL_minus_a
-#define PL_Iminus_c PL_minus_c
-#define PL_Iminus_l PL_minus_l
-#define PL_Iminus_n PL_minus_n
-#define PL_Iminus_p PL_minus_p
-#define PL_Imodcount PL_modcount
-#define PL_Imodglobal PL_modglobal
-#define PL_Imy_cxt_keys PL_my_cxt_keys
-#define PL_Imy_cxt_list PL_my_cxt_list
-#define PL_Imy_cxt_size PL_my_cxt_size
-#define PL_Ina PL_na
-#define PL_Inomemok PL_nomemok
-#define PL_Inumeric_local PL_numeric_local
-#define PL_Inumeric_name PL_numeric_name
-#define PL_Inumeric_radix_sv PL_numeric_radix_sv
-#define PL_Inumeric_standard PL_numeric_standard
-#define PL_Iofsgv PL_ofsgv
-#define PL_Ioldname PL_oldname
-#define PL_Iop PL_op
-#define PL_Iop_mask PL_op_mask
-#define PL_Iopfreehook PL_opfreehook
-#define PL_Iopsave PL_opsave
-#define PL_Iorigalen PL_origalen
-#define PL_Iorigargc PL_origargc
-#define PL_Iorigargv PL_origargv
-#define PL_Iorigenviron PL_origenviron
-#define PL_Iorigfilename PL_origfilename
-#define PL_Iors_sv PL_ors_sv
-#define PL_Iosname PL_osname
-#define PL_Ipad_reset_pending PL_pad_reset_pending
-#define PL_Ipadix PL_padix
-#define PL_Ipadix_floor PL_padix_floor
-#define PL_Iparser PL_parser
-#define PL_Ipatchlevel PL_patchlevel
-#define PL_Ipeepp PL_peepp
-#define PL_Iperl_destruct_level PL_perl_destruct_level
-#define PL_Iperldb PL_perldb
-#define PL_Iperlio PL_perlio
-#define PL_Iphase PL_phase
-#define PL_Ipidstatus PL_pidstatus
-#define PL_Ippid PL_ppid
-#define PL_Ipreambleav PL_preambleav
-#define PL_Iprofiledata PL_profiledata
-#define PL_Ipsig_name PL_psig_name
-#define PL_Ipsig_pend PL_psig_pend
-#define PL_Ipsig_ptr PL_psig_ptr
-#define PL_Iptr_table PL_ptr_table
-#define PL_Ireentrant_buffer PL_reentrant_buffer
-#define PL_Ireentrant_retint PL_reentrant_retint
-#define PL_Ireg_state PL_reg_state
-#define PL_Iregdummy PL_regdummy
-#define PL_Iregex_pad PL_regex_pad
-#define PL_Iregex_padav PL_regex_padav
-#define PL_Ireginterp_cnt PL_reginterp_cnt
-#define PL_Iregistered_mros PL_registered_mros
-#define PL_Iregmatch_slab PL_regmatch_slab
-#define PL_Iregmatch_state PL_regmatch_state
-#define PL_Irehash_seed PL_rehash_seed
-#define PL_Irehash_seed_set PL_rehash_seed_set
-#define PL_Ireplgv PL_replgv
-#define PL_Irestartjmpenv PL_restartjmpenv
-#define PL_Irestartop PL_restartop
-#define PL_Irpeepp PL_rpeepp
-#define PL_Irs PL_rs
-#define PL_Irunops PL_runops
-#define PL_Isavebegin PL_savebegin
-#define PL_Isavestack PL_savestack
-#define PL_Isavestack_ix PL_savestack_ix
-#define PL_Isavestack_max PL_savestack_max
-#define PL_Isawampersand PL_sawampersand
-#define PL_Iscopestack PL_scopestack
-#define PL_Iscopestack_ix PL_scopestack_ix
-#define PL_Iscopestack_max PL_scopestack_max
-#define PL_Iscopestack_name PL_scopestack_name
-#define PL_Iscreamfirst PL_screamfirst
-#define PL_Iscreamnext PL_screamnext
-#define PL_Isecondgv PL_secondgv
-#define PL_Isharehook PL_sharehook
-#define PL_Isig_pending PL_sig_pending
-#define PL_Isighandlerp PL_sighandlerp
-#define PL_Isignalhook PL_signalhook
-#define PL_Isignals PL_signals
-#define PL_Islab_count PL_slab_count
-#define PL_Islabs PL_slabs
-#define PL_Isort_RealCmp PL_sort_RealCmp
-#define PL_Isortcop PL_sortcop
-#define PL_Isortstash PL_sortstash
-#define PL_Isplitstr PL_splitstr
-#define PL_Isrand_called PL_srand_called
-#define PL_Istack_base PL_stack_base
-#define PL_Istack_max PL_stack_max
-#define PL_Istack_sp PL_stack_sp
-#define PL_Istart_env PL_start_env
-#define PL_Istashcache PL_stashcache
-#define PL_Istatbuf PL_statbuf
-#define PL_Istatcache PL_statcache
-#define PL_Istatgv PL_statgv
-#define PL_Istatname PL_statname
-#define PL_Istatusvalue PL_statusvalue
-#define PL_Istatusvalue_posix PL_statusvalue_posix
-#define PL_Istatusvalue_vms PL_statusvalue_vms
-#define PL_Istderrgv PL_stderrgv
-#define PL_Istdingv PL_stdingv
-#define PL_Istrtab PL_strtab
-#define PL_Isub_generation PL_sub_generation
-#define PL_Isubline PL_subline
-#define PL_Isubname PL_subname
-#define PL_Isv_arenaroot PL_sv_arenaroot
-#define PL_Isv_count PL_sv_count
-#define PL_Isv_no PL_sv_no
-#define PL_Isv_objcount PL_sv_objcount
-#define PL_Isv_root PL_sv_root
-#define PL_Isv_serial PL_sv_serial
-#define PL_Isv_undef PL_sv_undef
-#define PL_Isv_yes PL_sv_yes
-#define PL_Isys_intern PL_sys_intern
-#define PL_Itaint_warn PL_taint_warn
-#define PL_Itainted PL_tainted
-#define PL_Itainting PL_tainting
-#define PL_Ithreadhook PL_threadhook
-#define PL_Itimesbuf PL_timesbuf
-#define PL_Itmps_floor PL_tmps_floor
-#define PL_Itmps_ix PL_tmps_ix
-#define PL_Itmps_max PL_tmps_max
-#define PL_Itmps_stack PL_tmps_stack
-#define PL_Itop_env PL_top_env
-#define PL_Itoptarget PL_toptarget
-#define PL_Iuid PL_uid
-#define PL_Iunicode PL_unicode
-#define PL_Iunitcheckav PL_unitcheckav
-#define PL_Iunitcheckav_save PL_unitcheckav_save
-#define PL_Iunlockhook PL_unlockhook
-#define PL_Iunsafe PL_unsafe
-#define PL_Iutf8_X_L PL_utf8_X_L
-#define PL_Iutf8_X_LV PL_utf8_X_LV
-#define PL_Iutf8_X_LVT PL_utf8_X_LVT
-#define PL_Iutf8_X_LV_LVT_V PL_utf8_X_LV_LVT_V
-#define PL_Iutf8_X_T PL_utf8_X_T
-#define PL_Iutf8_X_V PL_utf8_X_V
-#define PL_Iutf8_X_begin PL_utf8_X_begin
-#define PL_Iutf8_X_extend PL_utf8_X_extend
-#define PL_Iutf8_X_non_hangul PL_utf8_X_non_hangul
-#define PL_Iutf8_X_prepend PL_utf8_X_prepend
-#define PL_Iutf8_alnum PL_utf8_alnum
-#define PL_Iutf8_alpha PL_utf8_alpha
-#define PL_Iutf8_ascii PL_utf8_ascii
-#define PL_Iutf8_cntrl PL_utf8_cntrl
-#define PL_Iutf8_digit PL_utf8_digit
-#define PL_Iutf8_foldable PL_utf8_foldable
-#define PL_Iutf8_foldclosures PL_utf8_foldclosures
-#define PL_Iutf8_graph PL_utf8_graph
-#define PL_Iutf8_idcont PL_utf8_idcont
-#define PL_Iutf8_idstart PL_utf8_idstart
-#define PL_Iutf8_lower PL_utf8_lower
-#define PL_Iutf8_mark PL_utf8_mark
-#define PL_Iutf8_perl_space PL_utf8_perl_space
-#define PL_Iutf8_perl_word PL_utf8_perl_word
-#define PL_Iutf8_posix_digit PL_utf8_posix_digit
-#define PL_Iutf8_print PL_utf8_print
-#define PL_Iutf8_punct PL_utf8_punct
-#define PL_Iutf8_space PL_utf8_space
-#define PL_Iutf8_tofold PL_utf8_tofold
-#define PL_Iutf8_tolower PL_utf8_tolower
-#define PL_Iutf8_totitle PL_utf8_totitle
-#define PL_Iutf8_toupper PL_utf8_toupper
-#define PL_Iutf8_upper PL_utf8_upper
-#define PL_Iutf8_xdigit PL_utf8_xdigit
-#define PL_Iutf8_xidcont PL_utf8_xidcont
-#define PL_Iutf8_xidstart PL_utf8_xidstart
-#define PL_Iutf8cache PL_utf8cache
-#define PL_Iutf8locale PL_utf8locale
-#define PL_Iwarnhook PL_warnhook
-#define PL_Iwatchaddr PL_watchaddr
-#define PL_Iwatchok PL_watchok
-#define PL_Ixmlfp PL_xmlfp
-
-
#endif /* MULTIPLICITY */
#if defined(PERL_GLOBAL_STRUCT)
-#define PL_No (my_vars->GNo)
-#define PL_GNo (my_vars->GNo)
-#define PL_Yes (my_vars->GYes)
-#define PL_GYes (my_vars->GYes)
#define PL_appctx (my_vars->Gappctx)
#define PL_Gappctx (my_vars->Gappctx)
-#define PL_charclass (my_vars->Gcharclass)
-#define PL_Gcharclass (my_vars->Gcharclass)
#define PL_check (my_vars->Gcheck)
#define PL_Gcheck (my_vars->Gcheck)
+#define PL_check_mutex (my_vars->Gcheck_mutex)
+#define PL_Gcheck_mutex (my_vars->Gcheck_mutex)
#define PL_csighandlerp (my_vars->Gcsighandlerp)
#define PL_Gcsighandlerp (my_vars->Gcsighandlerp)
#define PL_curinterp (my_vars->Gcurinterp)
@@ -729,16 +415,8 @@
#define PL_Gdollarzero_mutex (my_vars->Gdollarzero_mutex)
#define PL_fold_locale (my_vars->Gfold_locale)
#define PL_Gfold_locale (my_vars->Gfold_locale)
-#define PL_global_struct_size (my_vars->Gglobal_struct_size)
-#define PL_Gglobal_struct_size (my_vars->Gglobal_struct_size)
-#define PL_hexdigit (my_vars->Ghexdigit)
-#define PL_Ghexdigit (my_vars->Ghexdigit)
#define PL_hints_mutex (my_vars->Ghints_mutex)
#define PL_Ghints_mutex (my_vars->Ghints_mutex)
-#define PL_interp_size (my_vars->Ginterp_size)
-#define PL_Ginterp_size (my_vars->Ginterp_size)
-#define PL_interp_size_5_10_0 (my_vars->Ginterp_size_5_10_0)
-#define PL_Ginterp_size_5_10_0 (my_vars->Ginterp_size_5_10_0)
#define PL_keyword_plugin (my_vars->Gkeyword_plugin)
#define PL_Gkeyword_plugin (my_vars->Gkeyword_plugin)
#define PL_malloc_mutex (my_vars->Gmalloc_mutex)
@@ -755,8 +433,6 @@
#define PL_Gop_seq (my_vars->Gop_seq)
#define PL_op_sequence (my_vars->Gop_sequence)
#define PL_Gop_sequence (my_vars->Gop_sequence)
-#define PL_patleave (my_vars->Gpatleave)
-#define PL_Gpatleave (my_vars->Gpatleave)
#define PL_perlio_debug_fd (my_vars->Gperlio_debug_fd)
#define PL_Gperlio_debug_fd (my_vars->Gperlio_debug_fd)
#define PL_perlio_fd_refcnt (my_vars->Gperlio_fd_refcnt)
@@ -767,14 +443,10 @@
#define PL_Gperlio_mutex (my_vars->Gperlio_mutex)
#define PL_ppaddr (my_vars->Gppaddr)
#define PL_Gppaddr (my_vars->Gppaddr)
-#define PL_revision (my_vars->Grevision)
-#define PL_Grevision (my_vars->Grevision)
-#define PL_runops_dbg (my_vars->Grunops_dbg)
-#define PL_Grunops_dbg (my_vars->Grunops_dbg)
-#define PL_runops_std (my_vars->Grunops_std)
-#define PL_Grunops_std (my_vars->Grunops_std)
+#ifdef OS2
#define PL_sh_path (my_vars->Gsh_path)
#define PL_Gsh_path (my_vars->Gsh_path)
+#endif
#define PL_sig_defaulting (my_vars->Gsig_defaulting)
#define PL_Gsig_defaulting (my_vars->Gsig_defaulting)
#define PL_sig_handlers_initted (my_vars->Gsig_handlers_initted)
@@ -785,8 +457,6 @@
#define PL_Gsig_trapped (my_vars->Gsig_trapped)
#define PL_sigfpe_saved (my_vars->Gsigfpe_saved)
#define PL_Gsigfpe_saved (my_vars->Gsigfpe_saved)
-#define PL_subversion (my_vars->Gsubversion)
-#define PL_Gsubversion (my_vars->Gsubversion)
#define PL_sv_placeholder (my_vars->Gsv_placeholder)
#define PL_Gsv_placeholder (my_vars->Gsv_placeholder)
#define PL_thr_key (my_vars->Gthr_key)
@@ -795,62 +465,11 @@
#define PL_Gtimesbase (my_vars->Gtimesbase)
#define PL_use_safe_putenv (my_vars->Guse_safe_putenv)
#define PL_Guse_safe_putenv (my_vars->Guse_safe_putenv)
-#define PL_version (my_vars->Gversion)
-#define PL_Gversion (my_vars->Gversion)
#define PL_veto_cleanup (my_vars->Gveto_cleanup)
#define PL_Gveto_cleanup (my_vars->Gveto_cleanup)
#define PL_watch_pvx (my_vars->Gwatch_pvx)
#define PL_Gwatch_pvx (my_vars->Gwatch_pvx)
-#else /* !PERL_GLOBAL_STRUCT */
-
-#define PL_GNo PL_No
-#define PL_GYes PL_Yes
-#define PL_Gappctx PL_appctx
-#define PL_Gcharclass PL_charclass
-#define PL_Gcheck PL_check
-#define PL_Gcsighandlerp PL_csighandlerp
-#define PL_Gcurinterp PL_curinterp
-#define PL_Gdo_undump PL_do_undump
-#define PL_Gdollarzero_mutex PL_dollarzero_mutex
-#define PL_Gfold_locale PL_fold_locale
-#define PL_Gglobal_struct_size PL_global_struct_size
-#define PL_Ghexdigit PL_hexdigit
-#define PL_Ghints_mutex PL_hints_mutex
-#define PL_Ginterp_size PL_interp_size
-#define PL_Ginterp_size_5_10_0 PL_interp_size_5_10_0
-#define PL_Gkeyword_plugin PL_keyword_plugin
-#define PL_Gmalloc_mutex PL_malloc_mutex
-#define PL_Gmmap_page_size PL_mmap_page_size
-#define PL_Gmy_ctx_mutex PL_my_ctx_mutex
-#define PL_Gmy_cxt_index PL_my_cxt_index
-#define PL_Gop_mutex PL_op_mutex
-#define PL_Gop_seq PL_op_seq
-#define PL_Gop_sequence PL_op_sequence
-#define PL_Gpatleave PL_patleave
-#define PL_Gperlio_debug_fd PL_perlio_debug_fd
-#define PL_Gperlio_fd_refcnt PL_perlio_fd_refcnt
-#define PL_Gperlio_fd_refcnt_size PL_perlio_fd_refcnt_size
-#define PL_Gperlio_mutex PL_perlio_mutex
-#define PL_Gppaddr PL_ppaddr
-#define PL_Grevision PL_revision
-#define PL_Grunops_dbg PL_runops_dbg
-#define PL_Grunops_std PL_runops_std
-#define PL_Gsh_path PL_sh_path
-#define PL_Gsig_defaulting PL_sig_defaulting
-#define PL_Gsig_handlers_initted PL_sig_handlers_initted
-#define PL_Gsig_ignoring PL_sig_ignoring
-#define PL_Gsig_trapped PL_sig_trapped
-#define PL_Gsigfpe_saved PL_sigfpe_saved
-#define PL_Gsubversion PL_subversion
-#define PL_Gsv_placeholder PL_sv_placeholder
-#define PL_Gthr_key PL_thr_key
-#define PL_Gtimesbase PL_timesbase
-#define PL_Guse_safe_putenv PL_use_safe_putenv
-#define PL_Gversion PL_version
-#define PL_Gveto_cleanup PL_veto_cleanup
-#define PL_Gwatch_pvx PL_watch_pvx
-
#endif /* PERL_GLOBAL_STRUCT */
/* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/feature.h b/Master/tlpkg/tlperl/lib/CORE/feature.h
new file mode 100644
index 00000000000..dc9696ec9c3
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CORE/feature.h
@@ -0,0 +1,127 @@
+/* -*- buffer-read-only: t -*-
+ !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ This file is built by regen/feature.pl.
+ Any changes made here will be lost!
+ */
+
+
+#if defined(PERL_CORE) || defined (PERL_EXT)
+
+#define HINT_FEATURE_SHIFT 26
+
+#define FEATURE_BUNDLE_DEFAULT 0
+#define FEATURE_BUNDLE_510 1
+#define FEATURE_BUNDLE_511 2
+#define FEATURE_BUNDLE_515 3
+#define FEATURE_BUNDLE_CUSTOM (HINT_FEATURE_MASK >> HINT_FEATURE_SHIFT)
+
+#define CURRENT_HINTS \
+ (PL_curcop == &PL_compiling ? PL_hints : PL_curcop->cop_hints)
+#define CURRENT_FEATURE_BUNDLE \
+ ((CURRENT_HINTS & HINT_FEATURE_MASK) >> HINT_FEATURE_SHIFT)
+
+/* Avoid using ... && Perl_feature_is_enabled(...) as that triggers a bug in
+ the HP-UX cc on PA-RISC */
+#define FEATURE_IS_ENABLED(name) \
+ ((CURRENT_HINTS \
+ & HINT_LOCALIZE_HH) \
+ ? Perl_feature_is_enabled(aTHX_ STR_WITH_LEN(name)) : FALSE)
+/* The longest string we pass in. */
+#define MAX_FEATURE_LEN (sizeof("evalbytes")-1)
+
+#define FEATURE_FC_IS_ENABLED \
+ ( \
+ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_515 \
+ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+ FEATURE_IS_ENABLED("fc")) \
+ )
+
+#define FEATURE_SAY_IS_ENABLED \
+ ( \
+ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_515) \
+ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+ FEATURE_IS_ENABLED("say")) \
+ )
+
+#define FEATURE_STATE_IS_ENABLED \
+ ( \
+ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_515) \
+ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+ FEATURE_IS_ENABLED("state")) \
+ )
+
+#define FEATURE_SWITCH_IS_ENABLED \
+ ( \
+ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_515) \
+ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+ FEATURE_IS_ENABLED("switch")) \
+ )
+
+#define FEATURE_EVALBYTES_IS_ENABLED \
+ ( \
+ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_515 \
+ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+ FEATURE_IS_ENABLED("evalbytes")) \
+ )
+
+#define FEATURE_ARYBASE_IS_ENABLED \
+ ( \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_511 \
+ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+ FEATURE_IS_ENABLED("arybase")) \
+ )
+
+#define FEATURE___SUB___IS_ENABLED \
+ ( \
+ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_515 \
+ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+ FEATURE_IS_ENABLED("__SUB__")) \
+ )
+
+#define FEATURE_UNIEVAL_IS_ENABLED \
+ ( \
+ CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_515 \
+ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+ FEATURE_IS_ENABLED("unieval")) \
+ )
+
+#define FEATURE_UNICODE_IS_ENABLED \
+ ( \
+ (CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_511 && \
+ CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_515) \
+ || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+ FEATURE_IS_ENABLED("unicode")) \
+ )
+
+
+#endif /* PERL_CORE or PERL_EXT */
+
+#ifdef PERL_IN_OP_C
+PERL_STATIC_INLINE void
+S_enable_feature_bundle(pTHX_ SV *ver)
+{
+ SV *comp_ver = sv_newmortal();
+ PL_hints = (PL_hints &~ HINT_FEATURE_MASK)
+ | (
+ (sv_setnv(comp_ver, 5.015),
+ vcmp(ver, upg_version(comp_ver, FALSE)) >= 0)
+ ? FEATURE_BUNDLE_515 :
+ (sv_setnv(comp_ver, 5.011),
+ vcmp(ver, upg_version(comp_ver, FALSE)) >= 0)
+ ? FEATURE_BUNDLE_511 :
+ (sv_setnv(comp_ver, 5.009005),
+ vcmp(ver, upg_version(comp_ver, FALSE)) >= 0)
+ ? FEATURE_BUNDLE_510 :
+ FEATURE_BUNDLE_DEFAULT
+ ) << HINT_FEATURE_SHIFT;
+ /* special case */
+ assert(PL_curcop == &PL_compiling);
+ if (FEATURE_UNICODE_IS_ENABLED) PL_hints |= HINT_UNI_8_BIT;
+ else PL_hints &= ~HINT_UNI_8_BIT;
+}
+#endif /* PERL_IN_OP_C */
+
+/* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/form.h b/Master/tlpkg/tlperl/lib/CORE/form.h
index 114d6d4475f..7ddeb715edf 100644
--- a/Master/tlpkg/tlperl/lib/CORE/form.h
+++ b/Master/tlpkg/tlperl/lib/CORE/form.h
@@ -1,27 +1,27 @@
/* form.h
*
- * Copyright (C) 1991, 1992, 1993, 2000, 2004 by Larry Wall and others
+ * Copyright (C) 1991, 1992, 1993, 2000, 2004, 2011 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
*/
-#define FF_END 0
-#define FF_LINEMARK 1
-#define FF_LITERAL 2
-#define FF_SKIP 3
-#define FF_FETCH 4
-#define FF_CHECKNL 5
-#define FF_CHECKCHOP 6
-#define FF_SPACE 7
-#define FF_HALFSPACE 8
-#define FF_ITEM 9
-#define FF_CHOP 10
-#define FF_LINEGLOB 11
-#define FF_DECIMAL 12
-#define FF_NEWLINE 13
-#define FF_BLANK 14
-#define FF_MORE 15
-#define FF_0DECIMAL 16
-#define FF_LINESNGL 17
+#define FF_END 0 /* tidy up, then return */
+#define FF_LINEMARK 1 /* start (or end) of a line */
+#define FF_LITERAL 2 /* append <arg> literal chars */
+#define FF_SKIP 3 /* skip <arg> chars in format */
+#define FF_FETCH 4 /* get next item and set field size to <arg> */
+#define FF_CHECKNL 5 /* find max len of item (up to \n) that fits field */
+#define FF_CHECKCHOP 6 /* like CHECKNL, but up to highest split point */
+#define FF_SPACE 7 /* append padding space (diff of field, item size) */
+#define FF_HALFSPACE 8 /* like FF_SPACE, but only append half as many */
+#define FF_ITEM 9 /* append a text item, while blanking ctrl chars */
+#define FF_CHOP 10 /* (for ^*) chop the current item */
+#define FF_LINEGLOB 11 /* process @* */
+#define FF_DECIMAL 12 /* do @##, ^##, where <arg>=(precision|flags) */
+#define FF_NEWLINE 13 /* delete trailing spaces, then append \n */
+#define FF_BLANK 14 /* for arg==0: do '~'; for arg>0 : do '~~' */
+#define FF_MORE 15 /* replace long end of string with '...' */
+#define FF_0DECIMAL 16 /* like FF_DECIMAL but for 0### */
+#define FF_LINESNGL 17 /* process ^* */
diff --git a/Master/tlpkg/tlperl/lib/CORE/gv.h b/Master/tlpkg/tlperl/lib/CORE/gv.h
index ab5c7889872..a3932620163 100644
--- a/Master/tlpkg/tlperl/lib/CORE/gv.h
+++ b/Master/tlpkg/tlperl/lib/CORE/gv.h
@@ -56,6 +56,7 @@ struct gp {
}))
# define GvNAME_get(gv) ({ assert(GvNAME_HEK(gv)); (char *)HEK_KEY(GvNAME_HEK(gv)); })
# define GvNAMELEN_get(gv) ({ assert(GvNAME_HEK(gv)); HEK_LEN(GvNAME_HEK(gv)); })
+# define GvNAMEUTF8(gv) ({ assert(GvNAME_HEK(gv)); HEK_UTF8(GvNAME_HEK(gv)); })
#else
# define GvGP(gv) (0+(gv)->sv_u.svu_gp)
# define GvGP_set(gv,gp) ((gv)->sv_u.svu_gp = (gp))
@@ -64,6 +65,7 @@ struct gp {
# define GvNAME_HEK(gv) (GvXPVGV(gv)->xiv_u.xivu_namehek)
# define GvNAME_get(gv) HEK_KEY(GvNAME_HEK(gv))
# define GvNAMELEN_get(gv) HEK_LEN(GvNAME_HEK(gv))
+# define GvNAMEUTF8(gv) HEK_UTF8(GvNAME_HEK(gv))
#endif
#define GvNAME(gv) GvNAME_get(gv)
@@ -133,6 +135,9 @@ Return the SV from the GV.
#define GvEGV(gv) (GvGP(gv)->gp_egv)
#define GvEGVx(gv) (isGV_with_GP(gv) ? GvEGV(gv) : NULL)
#define GvENAME(gv) GvNAME(GvEGV(gv) ? GvEGV(gv) : gv)
+#define GvENAMELEN(gv) GvNAMELEN(GvEGV(gv) ? GvEGV(gv) : gv)
+#define GvENAMEUTF8(gv) GvNAMEUTF8(GvEGV(gv) ? GvEGV(gv) : gv)
+#define GvENAME_HEK(gv) GvNAME_HEK(GvEGV(gv) ? GvEGV(gv) : gv)
#define GvESTASH(gv) GvSTASH(GvEGV(gv) ? GvEGV(gv) : gv)
#define GVf_INTRO 0x01
@@ -145,9 +150,6 @@ Return the SV from the GV.
#define GVf_IMPORTED_HV 0x40
#define GVf_IMPORTED_CV 0x80
-/* Temporary flag for the tie $handle deprecation warnings. */
-#define GVf_TIEWARNED 0x100
-
#define GvINTRO(gv) (GvFLAGS(gv) & GVf_INTRO)
#define GvINTRO_on(gv) (GvFLAGS(gv) |= GVf_INTRO)
#define GvINTRO_off(gv) (GvFLAGS(gv) &= ~GVf_INTRO)
@@ -203,7 +205,8 @@ Return the SV from the GV.
#define GV_ADD 0x01 /* add, if symbol not already there
For gv_name_set, adding a HEK for the first
time, so don't try to free what's there. */
-#define GV_ADDMULTI 0x02 /* add, pretending it has been added already */
+#define GV_ADDMULTI 0x02 /* add, pretending it has been added
+ already; used also by gv_init_* */
#define GV_ADDWARN 0x04 /* add, but warn if symbol wasn't already there */
#define GV_ADDINEVAL 0x08 /* add, as though we're doing so within an eval */
#define GV_NOINIT 0x10 /* add, but don't init symbol, if type != PVGV */
@@ -216,17 +219,36 @@ Return the SV from the GV.
package (so skip checks for :: and ') */
#define GV_AUTOLOAD 0x100 /* gv_fetchmethod_flags() should AUTOLOAD */
#define GV_CROAK 0x200 /* gv_fetchmethod_flags() should croak */
+#define GV_ADDMG 0x400 /* add if magical */
+#define GV_NO_SVGMAGIC 0x800 /* Skip get-magic on an SV argument;
+ used only by gv_fetchsv(_nomg) */
+
+/* Flags for gv_autoload_*/
+#define GV_AUTOLOAD_ISMETHOD 1 /* autoloading a method? */
/* SVf_UTF8 (more accurately the return value from SvUTF8) is also valid
- as a flag to gv_fetch_pvn_flags, so ensure it lies outside this range.
+ as a flag to various gv_* functions, so ensure it lies
+ outside this range.
*/
-#define GV_NOADD_MASK (SVf_UTF8|GV_NOADD_NOINIT|GV_NOEXPAND|GV_NOTQUAL)
-/* The bit flags that don't cause gv_fetchpv() to add a symbol if not found */
+#define GV_NOADD_MASK \
+ (SVf_UTF8|GV_NOADD_NOINIT|GV_NOEXPAND|GV_NOTQUAL|GV_ADDMG|GV_NO_SVGMAGIC)
+/* The bit flags that don't cause gv_fetchpv() to add a symbol if not
+ found (with the exception GV_ADDMG, which *might* cause the symbol
+ to be added) */
#define gv_fullname3(sv,gv,prefix) gv_fullname4(sv,gv,prefix,TRUE)
#define gv_efullname3(sv,gv,prefix) gv_efullname4(sv,gv,prefix,TRUE)
#define gv_fetchmethod(stash, name) gv_fetchmethod_autoload(stash, name, TRUE)
+#define gv_fetchsv_nomg(n,f,t) gv_fetchsv(n,(f)|GV_NO_SVGMAGIC,t)
+#define gv_init(gv,stash,name,len,multi) \
+ gv_init_pvn(gv,stash,name,len,GV_ADDMULTI*!!(multi))
+#define gv_fetchmeth(stash,name,len,level) gv_fetchmeth_pvn(stash, name, len, level, 0)
+#define gv_fetchmeth_autoload(stash,name,len,level) gv_fetchmeth_pvn_autoload(stash, name, len, level, 0)
+#define gv_fetchmethod_flags(stash,name,flags) gv_fetchmethod_pv_flags(stash, name, flags)
+#define gv_autoload4(stash, name, len, method) \
+ gv_autoload_pvn(stash, name, len, !!(method))
+#define newGVgen(pack) newGVgen_flags(pack, 0)
#define gv_AVadd(gv) gv_add_by_type((gv), SVt_PVAV)
#define gv_HVadd(gv) gv_add_by_type((gv), SVt_PVHV)
diff --git a/Master/tlpkg/tlperl/lib/CORE/handy.h b/Master/tlpkg/tlperl/lib/CORE/handy.h
index 6541c95c357..c90a8764dd3 100644
--- a/Master/tlpkg/tlperl/lib/CORE/handy.h
+++ b/Master/tlpkg/tlperl/lib/CORE/handy.h
@@ -70,10 +70,13 @@ Null SV pointer. (No longer available when C<PERL_CORE> is defined.)
#define MUTABLE_IO(p) ((IO *)MUTABLE_PTR(p))
#define MUTABLE_SV(p) ((SV *)MUTABLE_PTR(p))
-/* XXX Configure ought to have a test for a boolean type, if I can
- just figure out all the headers such a test needs.
- Andy Dougherty August 1996
-*/
+#ifdef I_STDBOOL
+# include <stdbool.h>
+# ifndef HAS_BOOL
+# define HAS_BOOL 1
+# endif
+#endif
+
/* bool is built-in for g++-2.6.3 and later, which might be used
for extensions. <_G_config.h> defines _G_HAVE_BOOL, but we can't
be sure _G_config.h will be included before this file. _G_config.h
@@ -112,9 +115,10 @@ Null SV pointer. (No longer available when C<PERL_CORE> is defined.)
/* a simple (bool) cast may not do the right thing: if bool is defined
* as char for example, then the cast from int is implementation-defined
+ * (bool)!!(cbool) in a ternary triggers a bug in xlc on AIX
*/
-#define cBOOL(cbool) ((bool)!!(cbool))
+#define cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0)
/* Try to figure out __func__ or __FUNCTION__ equivalent, if any.
* XXX Should really be a Configure probe, with HAS__FUNCTION__
@@ -470,7 +474,7 @@ There are three variants for all the functions in this section. The base ones
operate using the character set of the platform Perl is running on. The ones
with an C<_A> suffix operate on the ASCII character set, and the ones with an
C<_L1> suffix operate on the full Latin1 character set. All are unaffected by
-locale
+locale and by C<use bytes>.
For ASCII platforms, the base function with no suffix and the one with the
C<_A> suffix are identical. The function with the C<_L1> suffix imposes the
@@ -559,27 +563,38 @@ patched there. The file as of this writing is cpan/Devel-PPPort/parts/inc/misc
*/
-/* FITS_IN_8_BITS(c) returns true if c occupies no more than 8 bits. It is
- * designed to be hopefully bomb-proof, making sure that no bits of
- * information are lost even on a 64-bit machine, but to get the compiler to
- * optimize it out if possible. This is because Configure makes sure that the
- * machine has an 8-bit byte, so if c is stored in a byte, the sizeof()
- * guarantees that this evaluates to a constant true at compile time. The use
- * of the mask instead of '< 256' keeps gcc from complaining that it is alway
- * true, when c's storage class is a byte. Use U64TYPE because U64 is known
- * only in the perl core, and this macro can be called from outside that */
+/* Specify the widest unsigned type on the platform. Use U64TYPE because U64
+ * is known only in the perl core, and this macro can be called from outside
+ * that */
#ifdef HAS_QUAD
-# define FITS_IN_8_BITS(c) ((sizeof(c) == 1) || (((U64TYPE)(c) & 0xFF) == (U64TYPE)(c)))
+# define WIDEST_UTYPE U64TYPE
+#else
+# define WIDEST_UTYPE U32
+#endif
+
+/* FITS_IN_8_BITS(c) returns true if c doesn't have a bit set other than in
+ * the lower 8. It is designed to be hopefully bomb-proof, making sure that no
+ * bits of information are lost even on a 64-bit machine, but to get the
+ * compiler to optimize it out if possible. This is because Configure makes
+ * sure that the machine has an 8-bit byte, so if c is stored in a byte, the
+ * sizeof() guarantees that this evaluates to a constant true at compile time.
+ */
+#define FITS_IN_8_BITS(c) ((sizeof(c) == 1) || !(((WIDEST_UTYPE)(c)) & ~0xFF))
+
+#ifdef EBCDIC
+# define isASCII(c) (FITS_IN_8_BITS(c) && (NATIVE_TO_UNI((U8) (c)) < 128))
#else
-# define FITS_IN_8_BITS(c) ((sizeof(c) == 1) || (((U32)(c) & 0xFF) == (U32)(c)))
+# define isASCII(c) ((WIDEST_UTYPE)(c) < 128)
#endif
-#define isASCII(c) (FITS_IN_8_BITS(c) ? NATIVE_TO_UNI((U8) c) <= 127 : 0)
#define isASCII_A(c) isASCII(c)
+#define isASCII_L1(c) isASCII(c)
/* ASCII range only */
#ifdef H_PERL /* If have access to perl.h, lookup in its table */
-/* Bits for PL_charclass[] */
+/* Bits for PL_charclass[]. These use names used in l1_char_class_tab.h but
+ * their actual definitions are here. If that has a name not used here, it
+ * won't compile. */
# define _CC_ALNUMC_A (1<<0)
# define _CC_ALNUMC_L1 (1<<1)
# define _CC_ALPHA_A (1<<2)
@@ -611,8 +626,12 @@ patched there. The file as of this writing is cpan/Devel-PPPort/parts/inc/misc
# define _CC_WORDCHAR_L1 (1<<28)
# define _CC_XDIGIT_A (1<<29)
# define _CC_NONLATIN1_FOLD (1<<30)
-/* Unused
- * (1<<31)
+# define _CC_QUOTEMETA (1U<<31) /* 1U keeps Solaris from griping */
+/* Unused: None
+ * If more are needed, can give up some of the above. The first ones to go
+ * would be those that require just two tests to verify, either there are two
+ * code points, like BLANK_A, or occupy a single range like OCTAL_A, DIGIT_A,
+ * UPPER_A, and LOWER_A.
*/
# ifdef DOINIT
@@ -643,8 +662,9 @@ EXTCONST U32 PL_charclass[];
/* Either participates in a fold with a character above 255, or is a
* multi-char fold */
# define _HAS_NONLATIN1_FOLD_CLOSURE_ONLY_FOR_USE_BY_REGCOMP_DOT_C_AND_REGEXEC_DOT_C(c) ((! cBOOL(FITS_IN_8_BITS(c))) || (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_NONLATIN1_FOLD))
+# define _isQUOTEMETA(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_QUOTEMETA))
#else /* No perl.h. */
-# define isOCTAL_A(c) ((c) >= '0' && (c) <= '9')
+# define isOCTAL_A(c) ((c) <= '7' && (c) >= '0')
# ifdef EBCDIC
# define isALNUMC_A(c) (isASCII(c) && isALNUMC(c))
# define isALPHA_A(c) (isASCII(c) && isALPHA(c))
@@ -665,8 +685,8 @@ EXTCONST U32 PL_charclass[];
# define isALNUMC_A(c) (isALPHA_A(c) || isDIGIT_A(c))
# define isALPHA_A(c) (isUPPER_A(c) || isLOWER_A(c))
# define isBLANK_A(c) ((c) == ' ' || (c) == '\t')
-# define isCNTRL_A(c) (FITS_IN_8_BITS(c) ? ((U8) (c) < ' ' || (c) == 127) : 0)
-# define isDIGIT_A(c) ((c) >= '0' && (c) <= '9')
+# define isCNTRL_A(c) (FITS_IN_8_BITS(c) && ((U8) (c) < ' ' || (c) == 127))
+# define isDIGIT_A(c) ((c) <= '9' && (c) >= '0')
# define isGRAPH_A(c) (isWORDCHAR_A(c) || isPUNCT_A(c))
# define isIDFIRST_A(c) (isALPHA_A(c) || (c) == '_')
# define isLOWER_A(c) ((c) >= 'a' && (c) <= 'z')
@@ -674,9 +694,9 @@ EXTCONST U32 PL_charclass[];
# define isPSXSPC_A(c) (isSPACE_A(c) || (c) == '\v')
# define isPUNCT_A(c) (((c) >= 33 && (c) <= 47) || ((c) >= 58 && (c) <= 64) || ((c) >= 91 && (c) <= 96) || ((c) >= 123 && (c) <= 126))
# define isSPACE_A(c) ((c) == ' ' || (c) == '\t' || (c) == '\n' || (c) =='\r' || (c) == '\f')
-# define isUPPER_A(c) ((c) >= 'A' && (c) <= 'Z')
+# define isUPPER_A(c) ((c) <= 'Z' && (c) >= 'A')
# define isWORDCHAR_A(c) (isALPHA_A(c) || isDIGIT_A(c) || (c) == '_')
-# define isXDIGIT_A(c) (isDIGIT_A(c) || ((c) >= 'a' && (c) <= 'f') || ((c) >= 'A' && (c) <= 'F'))
+# define isXDIGIT_A(c) (isDIGIT_A(c) || ((c) >= 'a' && (c) <= 'f') || ((c) <= 'F' && (c) >= 'A'))
# endif
#endif /* ASCII range definitions */
@@ -792,6 +812,8 @@ EXTCONST U32 PL_charclass[];
# define isIDFIRST_LC(c) \
(NXIsAlpha((unsigned int)(c)) || (char)(c) == '_')
# define isALPHA_LC(c) NXIsAlpha((unsigned int)(c))
+# define isASCII_LC(c) isASCII((unsigned int)(c))
+# define isBLANK_LC(c) isBLANK((unsigned int)(c))
# define isSPACE_LC(c) NXIsSpace((unsigned int)(c))
# define isDIGIT_LC(c) NXIsDigit((unsigned int)(c))
# define isUPPER_LC(c) NXIsUpper((unsigned int)(c))
@@ -808,9 +830,23 @@ EXTCONST U32 PL_charclass[];
# if defined(CTYPE256) || (!defined(isascii) && !defined(HAS_ISASCII))
+/* Note that the foo_LC() macros in this case generally are defined only on
+ * code points 0-256, and give undefined, unwarned results if called with
+ * values outside that range */
+
# define isALNUM_LC(c) (isalnum((unsigned char)(c)) || (char)(c) == '_')
# define isIDFIRST_LC(c) (isalpha((unsigned char)(c)) || (char)(c) == '_')
# define isALPHA_LC(c) isalpha((unsigned char)(c))
+# ifdef HAS_ISASCII
+# define isASCII_LC(c) isascii((unsigned char)(c))
+# else
+# define isASCII_LC(c) isASCII((unsigned char)(c))
+# endif
+# ifdef HAS_ISBLANK
+# define isBLANK_LC(c) isblank((unsigned char)(c))
+# else
+# define isBLANK_LC(c) isBLANK((unsigned char)(c))
+# endif
# define isSPACE_LC(c) isspace((unsigned char)(c))
# define isDIGIT_LC(c) isdigit((unsigned char)(c))
# define isUPPER_LC(c) isupper((unsigned char)(c))
@@ -828,6 +864,12 @@ EXTCONST U32 PL_charclass[];
# define isALNUM_LC(c) (isascii(c) && (isalnum(c) || (c) == '_'))
# define isIDFIRST_LC(c) (isascii(c) && (isalpha(c) || (c) == '_'))
# define isALPHA_LC(c) (isascii(c) && isalpha(c))
+# define isASCII_LC(c) isascii(c)
+# ifdef HAS_ISBLANK
+# define isBLANK_LC(c) (isascii(c) && isblank(c))
+# else
+# define isBLANK_LC(c) isBLANK(c)
+# endif
# define isSPACE_LC(c) (isascii(c) && isspace(c))
# define isDIGIT_LC(c) (isascii(c) && isdigit(c))
# define isUPPER_LC(c) (isascii(c) && isupper(c))
@@ -844,27 +886,39 @@ EXTCONST U32 PL_charclass[];
#endif /* USE_NEXT_CTYPE */
#define isPSXSPC_LC(c) (isSPACE_LC(c) || (c) == '\v')
-#define isBLANK_LC(c) isBLANK(c) /* could be wrong */
-
-#define isALNUM_uni(c) is_uni_alnum(c)
-#define isIDFIRST_uni(c) is_uni_idfirst(c)
-#define isALPHA_uni(c) is_uni_alpha(c)
-#define isSPACE_uni(c) is_uni_space(c)
-#define isDIGIT_uni(c) is_uni_digit(c)
-#define isUPPER_uni(c) is_uni_upper(c)
-#define isLOWER_uni(c) is_uni_lower(c)
-#define isASCII_uni(c) is_uni_ascii(c)
-#define isCNTRL_uni(c) is_uni_cntrl(c)
-#define isGRAPH_uni(c) is_uni_graph(c)
-#define isPRINT_uni(c) is_uni_print(c)
-#define isPUNCT_uni(c) is_uni_punct(c)
-#define isXDIGIT_uni(c) is_uni_xdigit(c)
+
+/* For use in the macros just below. If the input is Latin1, use the Latin1
+ * (_L1) version of the macro; otherwise use the function. Won't compile if
+ * 'c' isn't unsigned, as won't match function prototype. The macros do bounds
+ * checking, so have duplicate checks here, so could create versions of the
+ * macros that don't, but experiments show that gcc optimizes them out anyway.
+ */
+#define generic_uni(macro, function, c) ((c) < 256 \
+ ? CAT2(macro, _L1)(c) \
+ : function(c))
+/* Note that all ignore 'use bytes' */
+
+#define isALNUM_uni(c) generic_uni(isWORDCHAR, is_uni_alnum, c)
+#define isIDFIRST_uni(c) generic_uni(isIDFIRST, is_uni_idfirst, c)
+#define isALPHA_uni(c) generic_uni(isALPHA, is_uni_alpha, c)
+#define isSPACE_uni(c) generic_uni(isSPACE, is_uni_space, c)
+#define isDIGIT_uni(c) generic_uni(isDIGIT, is_uni_digit, c)
+#define isUPPER_uni(c) generic_uni(isUPPER, is_uni_upper, c)
+#define isLOWER_uni(c) generic_uni(isLOWER, is_uni_lower, c)
+#define isASCII_uni(c) isASCII(c)
+/* All controls are in Latin1 */
+#define isCNTRL_uni(c) ((c) < 256 && isCNTRL_L1(c))
+#define isGRAPH_uni(c) generic_uni(isGRAPH, is_uni_graph, c)
+#define isPRINT_uni(c) generic_uni(isPRINT, is_uni_print, c)
+#define isPUNCT_uni(c) generic_uni(isPUNCT, is_uni_punct, c)
+#define isXDIGIT_uni(c) generic_uni(isXDIGIT, is_uni_xdigit, c)
#define toUPPER_uni(c,s,l) to_uni_upper(c,s,l)
#define toTITLE_uni(c,s,l) to_uni_title(c,s,l)
#define toLOWER_uni(c,s,l) to_uni_lower(c,s,l)
#define toFOLD_uni(c,s,l) to_uni_fold(c,s,l)
-#define isPSXSPC_uni(c) (isSPACE_uni(c) ||(c) == '\f')
+/* Posix and regular space differ only in U+000B, which is in Latin1 */
+#define isPSXSPC_uni(c) ((c) < 256 ? isPSXSPC_L1(c) : isSPACE_uni(c))
#define isBLANK_uni(c) isBLANK(c) /* could be wrong */
#define isALNUM_LC_uvchr(c) (c < 256 ? isALNUM_LC(c) : is_uni_alnum_lc(c))
@@ -882,44 +936,75 @@ EXTCONST U32 PL_charclass[];
#define isPSXSPC_LC_uni(c) (isSPACE_LC_uni(c) ||(c) == '\f')
#define isBLANK_LC_uni(c) isBLANK(c) /* could be wrong */
-#define isALNUM_utf8(p) is_utf8_alnum(p)
+/* For use in the macros just below. If the input is ASCII, use the ASCII (_A)
+ * version of the macro; if the input is in the upper Latin1 range, use the
+ * Latin1 (_L1) version of the macro, after converting from utf8; otherwise use
+ * the function. This relies on the fact that ASCII characters have the same
+ * representation whether utf8 or not */
+#define generic_utf8(macro, function, p) (isASCII(*(p)) \
+ ? CAT2(CAT2(macro,_),A)(*(p)) \
+ : (UTF8_IS_DOWNGRADEABLE_START(*(p))) \
+ ? CAT2(macro, _L1) \
+ (TWO_BYTE_UTF8_TO_UNI(*(p), \
+ *((p)+1))) \
+ : function(p))
+
+/* Note that all assume that the utf8 has been validated, and ignore 'use
+ * bytes' */
+
+#define isALNUM_utf8(p) generic_utf8(isWORDCHAR, is_utf8_alnum, p)
/* To prevent S_scan_word in toke.c from hanging, we have to make sure that
* IDFIRST is an alnum. See
- * http://rt.perl.org/rt3/Ticket/Display.html?id=74022
- * for more detail than you ever wanted to know about. This used to be not the
- * XID version, but we decided to go with the more modern Unicode definition */
-#define isIDFIRST_utf8(p) (is_utf8_xidfirst(p) && is_utf8_alnum(p))
-#define isIDCONT_utf8(p) is_utf8_xidcont(p)
-#define isALPHA_utf8(p) is_utf8_alpha(p)
-#define isSPACE_utf8(p) is_utf8_space(p)
-#define isDIGIT_utf8(p) is_utf8_digit(p)
-#define isUPPER_utf8(p) is_utf8_upper(p)
-#define isLOWER_utf8(p) is_utf8_lower(p)
-#define isASCII_utf8(p) is_utf8_ascii(p)
-#define isCNTRL_utf8(p) is_utf8_cntrl(p)
-#define isGRAPH_utf8(p) is_utf8_graph(p)
-#define isPRINT_utf8(p) is_utf8_print(p)
-#define isPUNCT_utf8(p) is_utf8_punct(p)
-#define isXDIGIT_utf8(p) is_utf8_xdigit(p)
+ * http://rt.perl.org/rt3/Ticket/Display.html?id=74022 for more detail than you
+ * ever wanted to know about. XXX It is unclear if this should extend to
+ * isIDFIRST_uni() which it hasn't so far. (In the ASCII range, there isn't a
+ * difference.) This used to be not the XID version, but we decided to go with
+ * the more modern Unicode definition */
+#define isIDFIRST_utf8(p) (isASCII(*(p)) \
+ ? isIDFIRST_A(*(p)) \
+ : (UTF8_IS_DOWNGRADEABLE_START(*(p))) \
+ ? isIDFIRST_L1(TWO_BYTE_UTF8_TO_UNI(*(p), \
+ *((p)+1)))\
+ : Perl__is_utf8__perl_idstart(aTHX_ p))
+#define isIDCONT_utf8(p) generic_utf8(isWORDCHAR, is_utf8_xidcont, p)
+#define isALPHA_utf8(p) generic_utf8(isALPHA, is_utf8_alpha, p)
+#define isSPACE_utf8(p) generic_utf8(isSPACE, is_utf8_space, p)
+#define isDIGIT_utf8(p) generic_utf8(isDIGIT, is_utf8_digit, p)
+#define isUPPER_utf8(p) generic_utf8(isUPPER, is_utf8_upper, p)
+#define isLOWER_utf8(p) generic_utf8(isLOWER, is_utf8_lower, p)
+/* Because ASCII is invariant under utf8, the non-utf8 macro works */
+#define isASCII_utf8(p) isASCII(p)
+#define isCNTRL_utf8(p) generic_utf8(isCNTRL, is_utf8_cntrl, p)
+#define isGRAPH_utf8(p) generic_utf8(isGRAPH, is_utf8_graph, p)
+#define isPRINT_utf8(p) generic_utf8(isPRINT, is_utf8_print, p)
+#define isPUNCT_utf8(p) generic_utf8(isPUNCT, is_utf8_punct, p)
+#define isXDIGIT_utf8(p) generic_utf8(isXDIGIT, is_utf8_xdigit, p)
#define toUPPER_utf8(p,s,l) to_utf8_upper(p,s,l)
#define toTITLE_utf8(p,s,l) to_utf8_title(p,s,l)
#define toLOWER_utf8(p,s,l) to_utf8_lower(p,s,l)
-#define isPSXSPC_utf8(c) (isSPACE_utf8(c) ||(c) == '\f')
+/* Posix and regular space differ only in U+000B, which is in ASCII (and hence
+ * Latin1 */
+#define isPSXSPC_utf8(p) ((isASCII(*(p))) \
+ ? isPSXSPC_A(*(p)) \
+ : (UTF8_IS_DOWNGRADEABLE_START(*(p)) \
+ ? isPSXSPC_L1(TWO_BYTE_UTF8_TO_UNI(*(p), \
+ *((p)+1)))\
+ : isSPACE_utf8(p)))
#define isBLANK_utf8(c) isBLANK(c) /* could be wrong */
-#define isALNUM_LC_utf8(p) isALNUM_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isIDFIRST_LC_utf8(p) isIDFIRST_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isALPHA_LC_utf8(p) isALPHA_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isSPACE_LC_utf8(p) isSPACE_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isDIGIT_LC_utf8(p) isDIGIT_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isUPPER_LC_utf8(p) isUPPER_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isLOWER_LC_utf8(p) isLOWER_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isALNUMC_LC_utf8(p) isALNUMC_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isCNTRL_LC_utf8(p) isCNTRL_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isGRAPH_LC_utf8(p) isGRAPH_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isPRINT_LC_utf8(p) isPRINT_LC_uvchr(utf8_to_uvchr(p, 0))
-#define isPUNCT_LC_utf8(p) isPUNCT_LC_uvchr(utf8_to_uvchr(p, 0))
+#define isALNUM_LC_utf8(p) isALNUM_LC_uvchr(valid_utf8_to_uvchr(p, 0))
+#define isIDFIRST_LC_utf8(p) isIDFIRST_LC_uvchr(valid_utf8_to_uvchr(p, 0))
+#define isALPHA_LC_utf8(p) isALPHA_LC_uvchr(valid_utf8_to_uvchr(p, 0))
+#define isSPACE_LC_utf8(p) isSPACE_LC_uvchr(valid_utf8_to_uvchr(p, 0))
+#define isDIGIT_LC_utf8(p) isDIGIT_LC_uvchr(valid_utf8_to_uvchr(p, 0))
+#define isUPPER_LC_utf8(p) isUPPER_LC_uvchr(valid_utf8_to_uvchr(p, 0))
+#define isLOWER_LC_utf8(p) isLOWER_LC_uvchr(valid_utf8_to_uvchr(p, 0))
+#define isALNUMC_LC_utf8(p) isALNUMC_LC_uvchr(valid_utf8_to_uvchr(p, 0))
+#define isCNTRL_LC_utf8(p) isCNTRL_LC_uvchr(valid_utf8_to_uvchr(p, 0))
+#define isGRAPH_LC_utf8(p) isGRAPH_LC_uvchr(valid_utf8_to_uvchr(p, 0))
+#define isPRINT_LC_utf8(p) isPRINT_LC_uvchr(valid_utf8_to_uvchr(p, 0))
+#define isPUNCT_LC_utf8(p) isPUNCT_LC_uvchr(valid_utf8_to_uvchr(p, 0))
#define isPSXSPC_LC_utf8(c) (isSPACE_LC_utf8(c) ||(c) == '\f')
#define isBLANK_LC_utf8(c) isBLANK(c) /* could be wrong */
@@ -954,7 +1039,7 @@ The XSUB-writer's interface to the C C<malloc> function.
In 5.9.3, Newx() and friends replace the older New() API, and drops
the first parameter, I<x>, a debug aid which allowed callers to identify
themselves. This aid has been superseded by a new build option,
-PERL_MEM_LOG (see L<perlhack/PERL_MEM_LOG>). The older API is still
+PERL_MEM_LOG (see L<perlhacktips/PERL_MEM_LOG>). The older API is still
there for use in XS modules supporting older perls.
=for apidoc Am|void|Newxc|void* ptr|int nitems|type|cast
diff --git a/Master/tlpkg/tlperl/lib/CORE/hv.h b/Master/tlpkg/tlperl/lib/CORE/hv.h
index eae1e70df65..05245d58a7f 100644
--- a/Master/tlpkg/tlperl/lib/CORE/hv.h
+++ b/Master/tlpkg/tlperl/lib/CORE/hv.h
@@ -127,30 +127,23 @@ struct xpvhv {
# define PERL_HASH_SEED 0
# endif
#endif
-#define PERL_HASH(hash,str,len) \
- STMT_START { \
- register const char * const s_PeRlHaSh_tmp = str; \
- register const unsigned char *s_PeRlHaSh = (const unsigned char *)s_PeRlHaSh_tmp; \
- register I32 i_PeRlHaSh = len; \
- register U32 hash_PeRlHaSh = PERL_HASH_SEED; \
- while (i_PeRlHaSh--) { \
- hash_PeRlHaSh += *s_PeRlHaSh++; \
- hash_PeRlHaSh += (hash_PeRlHaSh << 10); \
- hash_PeRlHaSh ^= (hash_PeRlHaSh >> 6); \
- } \
- hash_PeRlHaSh += (hash_PeRlHaSh << 3); \
- hash_PeRlHaSh ^= (hash_PeRlHaSh >> 11); \
- (hash) = (hash_PeRlHaSh + (hash_PeRlHaSh << 15)); \
- } STMT_END
+
+#define PERL_HASH(hash,str,len) PERL_HASH_INTERNAL_(hash,str,len,0)
/* Only hv.c and mod_perl should be doing this. */
#ifdef PERL_HASH_INTERNAL_ACCESS
-#define PERL_HASH_INTERNAL(hash,str,len) \
+#define PERL_HASH_INTERNAL(hash,str,len) PERL_HASH_INTERNAL_(hash,str,len,1)
+#endif
+
+/* Common base for PERL_HASH and PERL_HASH_INTERNAL that parameterises
+ * the source of the seed. Not for direct use outside of hv.c. */
+
+#define PERL_HASH_INTERNAL_(hash,str,len,internal) \
STMT_START { \
register const char * const s_PeRlHaSh_tmp = str; \
register const unsigned char *s_PeRlHaSh = (const unsigned char *)s_PeRlHaSh_tmp; \
register I32 i_PeRlHaSh = len; \
- register U32 hash_PeRlHaSh = PL_rehash_seed; \
+ register U32 hash_PeRlHaSh = (internal ? PL_rehash_seed : PERL_HASH_SEED); \
while (i_PeRlHaSh--) { \
hash_PeRlHaSh += *s_PeRlHaSh++; \
hash_PeRlHaSh += (hash_PeRlHaSh << 10); \
@@ -160,7 +153,6 @@ struct xpvhv {
hash_PeRlHaSh ^= (hash_PeRlHaSh >> 11); \
(hash) = (hash_PeRlHaSh + (hash_PeRlHaSh << 15)); \
} STMT_END
-#endif
/*
=head1 Hash Manipulation Functions
@@ -183,6 +175,12 @@ Null HV pointer.
Returns the package name of a stash, or NULL if C<stash> isn't a stash.
See C<SvSTASH>, C<CvSTASH>.
+=for apidoc Am|STRLEN|HvNAMELEN|HV *stash
+Returns the length of the stash's name.
+
+=for apidoc Am|unsigned char|HvNAMEUTF8|HV *stash
+Returns true if the name is in UTF8 encoding.
+
=for apidoc Am|char*|HvENAME|HV* stash
Returns the effective name of a stash, or NULL if there is none. The
effective name represents a location in the symbol table where this stash
@@ -191,6 +189,12 @@ A stash that is no longer in the symbol table has no effective name. This
name is preferable to C<HvNAME> for use in MRO linearisations and isa
caches.
+=for apidoc Am|STRLEN|HvENAMELEN|HV *stash
+Returns the length of the stash's effective name.
+
+=for apidoc Am|unsigned char|HvENAMEUTF8|HV *stash
+Returns true if the effective name is in UTF8 encoding.
+
=for apidoc Am|void*|HeKEY|HE* he
Returns the actual pointer stored in the key slot of the hash entry. The
pointer may be either C<char*> or C<SV*>, depending on the value of
@@ -266,7 +270,9 @@ C<SV*>.
#define HvRITER_get(hv) (SvOOK(hv) ? HvAUX(hv)->xhv_riter : -1)
#define HvEITER_get(hv) (SvOOK(hv) ? HvAUX(hv)->xhv_eiter : NULL)
#define HvNAME(hv) HvNAME_get(hv)
+#define HvNAMELEN(hv) HvNAMELEN_get(hv)
#define HvENAME(hv) HvENAME_get(hv)
+#define HvENAMELEN(hv) HvENAMELEN_get(hv)
/* Checking that hv is a valid package stash is the
caller's responsibility */
@@ -274,8 +280,6 @@ C<SV*>.
? HvAUX(hv)->xhv_mro_meta \
: Perl_mro_meta_init(aTHX_ hv))
-/* FIXME - all of these should use a UTF8 aware API, which should also involve
- getting the length. */
#define HvNAME_HEK_NN(hv) \
( \
HvAUX(hv)->xhv_name_count \
@@ -291,6 +295,9 @@ C<SV*>.
#define HvNAMELEN_get(hv) \
((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvNAME_HEK_NN(hv)) \
? HEK_LEN(HvNAME_HEK_NN(hv)) : 0)
+#define HvNAMEUTF8(hv) \
+ ((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvNAME_HEK_NN(hv)) \
+ ? HEK_UTF8(HvNAME_HEK_NN(hv)) : 0)
#define HvENAME_HEK_NN(hv) \
( \
HvAUX(hv)->xhv_name_count > 0 ? HvAUX(hv)->xhv_name_u.xhvnameu_names[0] : \
@@ -301,11 +308,14 @@ C<SV*>.
#define HvENAME_HEK(hv) \
(SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name ? HvENAME_HEK_NN(hv) : NULL)
#define HvENAME_get(hv) \
- ((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvENAME_HEK_NN(hv)) \
+ ((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvAUX(hv)->xhv_name_count != -1) \
? HEK_KEY(HvENAME_HEK_NN(hv)) : NULL)
#define HvENAMELEN_get(hv) \
- ((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvENAME_HEK_NN(hv)) \
+ ((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvAUX(hv)->xhv_name_count != -1) \
? HEK_LEN(HvENAME_HEK_NN(hv)) : 0)
+#define HvENAMEUTF8(hv) \
+ ((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvAUX(hv)->xhv_name_count != -1) \
+ ? HEK_UTF8(HvENAME_HEK_NN(hv)) : 0)
/* the number of keys (including any placeholders) */
#define XHvTOTALKEYS(xhv) ((xhv)->xhv_keys)
@@ -442,9 +452,8 @@ C<SV*>.
#define hv_magic(hv, gv, how) sv_magic(MUTABLE_SV(hv), MUTABLE_SV(gv), how, NULL, 0)
#define hv_undef(hv) Perl_hv_undef_flags(aTHX_ hv, 0)
-/* available as a function in hv.c */
-#define Perl_sharepvn(sv, len, hash) HEK_KEY(share_hek(sv, len, hash))
-#define sharepvn(sv, len, hash) Perl_sharepvn(sv, len, hash)
+#define Perl_sharepvn(pv, len, hash) HEK_KEY(share_hek(pv, len, hash))
+#define sharepvn(pv, len, hash) Perl_sharepvn(pv, len, hash)
#define share_hek_hek(hek) \
(++(((struct shared_he *)(((char *)hek) \
@@ -500,6 +509,9 @@ struct refcounted_he;
/* flags for the refcounted_he API */
#define REFCOUNTED_HE_KEY_UTF8 0x00000001
+#ifdef PERL_CORE
+# define REFCOUNTED_HE_EXISTS 0x00000002
+#endif
#ifdef PERL_CORE
diff --git a/Master/tlpkg/tlperl/lib/CORE/intrpvar.h b/Master/tlpkg/tlperl/lib/CORE/intrpvar.h
index 824bf20820b..cc9e46ededd 100644
--- a/Master/tlpkg/tlperl/lib/CORE/intrpvar.h
+++ b/Master/tlpkg/tlperl/lib/CORE/intrpvar.h
@@ -17,11 +17,9 @@
* Don't forget to re-run regen/embed.pl to propagate changes! */
-/* New variables must be added to the very end for binary compatibility.
- * XSUB.h provides wrapper functions via perlapi.h that make this
- * irrelevant, but not all code may be expected to #include XSUB.h. */
+/* New variables must be added to the very end for binary compatibility. */
-/* Don't forget to add your variable also to perl_clone()! */
+/* Don't forget to add your variable also to perl_clone()! (in sv.c) */
/* The 'I' prefix is only needed for vars that need appropriate #defines
* generated when built with or without MULTIPLICITY. It is also used
@@ -32,43 +30,43 @@
*
* Important ones in the first cache line (if alignment is done right) */
-PERLVAR(Istack_sp, SV **) /* top of the stack */
+PERLVAR(I, stack_sp, SV **) /* top of the stack */
#ifdef OP_IN_REGISTER
-PERLVAR(Iopsave, OP *)
+PERLVAR(I, opsave, OP *)
#else
-PERLVAR(Iop, OP *) /* currently executing op */
+PERLVAR(I, op, OP *) /* currently executing op */
#endif
-PERLVAR(Icurpad, SV **) /* active pad (lexicals+tmps) */
+PERLVAR(I, curpad, SV **) /* active pad (lexicals+tmps) */
-PERLVAR(Istack_base, SV **)
-PERLVAR(Istack_max, SV **)
+PERLVAR(I, stack_base, SV **)
+PERLVAR(I, stack_max, SV **)
-PERLVAR(Iscopestack, I32 *) /* scopes we've ENTERed */
+PERLVAR(I, scopestack, I32 *) /* scopes we've ENTERed */
/* name of the scopes we've ENTERed. Only used with -DDEBUGGING, but needs to be
present always, as -DDEUBGGING must be binary compatible with non. */
-PERLVARI(Iscopestack_name, const char * *, NULL)
-PERLVAR(Iscopestack_ix, I32)
-PERLVAR(Iscopestack_max,I32)
+PERLVARI(I, scopestack_name, const char * *, NULL)
+PERLVAR(I, scopestack_ix, I32)
+PERLVAR(I, scopestack_max, I32)
-PERLVAR(Isavestack, ANY *) /* items that need to be restored when
+PERLVAR(I, savestack, ANY *) /* items that need to be restored when
LEAVEing scopes we've ENTERed */
-PERLVAR(Isavestack_ix, I32)
-PERLVAR(Isavestack_max, I32)
-
-PERLVAR(Itmps_stack, SV **) /* mortals we've made */
-PERLVARI(Itmps_ix, I32, -1)
-PERLVARI(Itmps_floor, I32, -1)
-PERLVAR(Itmps_max, I32)
-PERLVAR(Imodcount, I32) /* how much op_lvalue()ification in
+PERLVAR(I, savestack_ix, I32)
+PERLVAR(I, savestack_max, I32)
+
+PERLVAR(I, tmps_stack, SV **) /* mortals we've made */
+PERLVARI(I, tmps_ix, I32, -1)
+PERLVARI(I, tmps_floor, I32, -1)
+PERLVAR(I, tmps_max, I32)
+PERLVAR(I, modcount, I32) /* how much op_lvalue()ification in
assignment? */
-PERLVAR(Imarkstack, I32 *) /* stack_sp locations we're
+PERLVAR(I, markstack, I32 *) /* stack_sp locations we're
remembering */
-PERLVAR(Imarkstack_ptr, I32 *)
-PERLVAR(Imarkstack_max, I32 *)
+PERLVAR(I, markstack_ptr, I32 *)
+PERLVAR(I, markstack_max, I32 *)
-PERLVAR(ISv, SV *) /* used to hold temporary values */
-PERLVAR(IXpv, XPV *) /* used to hold temporary values */
+PERLVAR(I, Sv, SV *) /* used to hold temporary values */
+PERLVAR(I, Xpv, XPV *) /* used to hold temporary values */
/*
=for apidoc Amn|STRLEN|PL_na
@@ -81,21 +79,21 @@ C<SvPV_nolen> macro.
=cut
*/
-PERLVAR(Ina, STRLEN) /* for use in SvPV when length is
+PERLVAR(I, na, STRLEN) /* for use in SvPV when length is
Not Applicable */
/* stat stuff */
-PERLVAR(Istatbuf, Stat_t)
-PERLVAR(Istatcache, Stat_t) /* _ */
-PERLVAR(Istatgv, GV *)
-PERLVARI(Istatname, SV *, NULL)
+PERLVAR(I, statbuf, Stat_t)
+PERLVAR(I, statcache, Stat_t) /* _ */
+PERLVAR(I, statgv, GV *)
+PERLVARI(I, statname, SV *, NULL)
#ifdef HAS_TIMES
-PERLVAR(Itimesbuf, struct tms)
+PERLVAR(I, timesbuf, struct tms)
#endif
/* Fields used by magic variables such as $@, $/ and so on */
-PERLVAR(Icurpm, PMOP *) /* what to do \ interps in REs from */
+PERLVAR(I, curpm, PMOP *) /* what to do \ interps in REs from */
/*
=for apidoc mn|SV*|PL_rs
@@ -113,64 +111,60 @@ The glob containing the output field separator - C<*,> in Perl space.
=cut
*/
-PERLVAR(Irs, SV *) /* input record separator $/ */
-PERLVAR(Ilast_in_gv, GV *) /* GV used in last <FH> */
-PERLVAR(Iofsgv, GV *) /* GV of output field separator *, */
-PERLVAR(Idefoutgv, GV *) /* default FH for output */
-PERLVARI(Ichopset, const char *, " \n-") /* $: */
-PERLVAR(Iformtarget, SV *)
-PERLVAR(Ibodytarget, SV *)
-PERLVAR(Itoptarget, SV *)
+PERLVAR(I, rs, SV *) /* input record separator $/ */
+PERLVAR(I, last_in_gv, GV *) /* GV used in last <FH> */
+PERLVAR(I, ofsgv, GV *) /* GV of output field separator *, */
+PERLVAR(I, defoutgv, GV *) /* default FH for output */
+PERLVARI(I, chopset, const char *, " \n-") /* $: */
+PERLVAR(I, formtarget, SV *)
+PERLVAR(I, bodytarget, SV *)
+PERLVAR(I, toptarget, SV *)
/* Stashes */
-PERLVAR(Idefstash, HV *) /* main symbol table */
-PERLVAR(Icurstash, HV *) /* symbol table for current package */
-
-PERLVAR(Irestartop, OP *) /* propagating an error from croak? */
-PERLVAR(Irestartjmpenv, JMPENV *) /* target frame for longjmp in die */
-PERLVAR(Icurcop, COP *)
-PERLVAR(Icurstack, AV *) /* THE STACK */
-PERLVAR(Icurstackinfo, PERL_SI *) /* current stack + context */
-PERLVAR(Imainstack, AV *) /* the stack when nothing funny is
+PERLVAR(I, defstash, HV *) /* main symbol table */
+PERLVAR(I, curstash, HV *) /* symbol table for current package */
+
+PERLVAR(I, restartop, OP *) /* propagating an error from croak? */
+PERLVAR(I, restartjmpenv, JMPENV *) /* target frame for longjmp in die */
+PERLVAR(I, curcop, COP *)
+PERLVAR(I, curstack, AV *) /* THE STACK */
+PERLVAR(I, curstackinfo, PERL_SI *) /* current stack + context */
+PERLVAR(I, mainstack, AV *) /* the stack when nothing funny is
happening */
-PERLVAR(Itop_env, JMPENV *) /* ptr to current sigjmp environment */
-PERLVAR(Istart_env, JMPENV) /* empty startup sigjmp environment */
-PERLVARI(Ierrors, SV *, NULL) /* outstanding queued errors */
+PERLVAR(I, top_env, JMPENV *) /* ptr to current sigjmp environment */
+PERLVAR(I, start_env, JMPENV) /* empty startup sigjmp environment */
+PERLVARI(I, errors, SV *, NULL) /* outstanding queued errors */
/* statics "owned" by various functions */
-PERLVAR(Ihv_fetch_ent_mh, HE*) /* owned by hv_fetch_ent() */
+PERLVAR(I, hv_fetch_ent_mh, HE*) /* owned by hv_fetch_ent() */
-PERLVAR(Ilastgotoprobe, OP*) /* from pp_ctl.c */
+PERLVAR(I, lastgotoprobe, OP*) /* from pp_ctl.c */
/* sort stuff */
-PERLVAR(Isortcop, OP *) /* user defined sort routine */
-PERLVAR(Isortstash, HV *) /* which is in some package or other */
-PERLVAR(Ifirstgv, GV *) /* $a */
-PERLVAR(Isecondgv, GV *) /* $b */
+PERLVAR(I, sortcop, OP *) /* user defined sort routine */
+PERLVAR(I, sortstash, HV *) /* which is in some package or other */
+PERLVAR(I, firstgv, GV *) /* $a */
+PERLVAR(I, secondgv, GV *) /* $b */
/* float buffer */
-PERLVAR(Iefloatbuf, char *)
-PERLVAR(Iefloatsize, STRLEN)
+PERLVAR(I, efloatbuf, char *)
+PERLVAR(I, efloatsize, STRLEN)
/* regex stuff */
-PERLVAR(Iscreamfirst, I32 *)
-PERLVAR(Iscreamnext, I32 *)
-PERLVAR(Ilastscream, SV *)
-
-PERLVAR(Ireg_state, struct re_save_state)
+PERLVAR(I, reg_state, struct re_save_state)
-PERLVAR(Iregdummy, regnode) /* from regcomp.c */
+PERLVAR(I, regdummy, regnode) /* from regcomp.c */
-PERLVARI(Idumpindent, U16, 4) /* number of blanks per dump
+PERLVARI(I, dumpindent, U16, 4) /* number of blanks per dump
indentation level */
-PERLVAR(Iutf8locale, bool) /* utf8 locale detected */
-PERLVARI(Irehash_seed_set, bool, FALSE) /* 582 hash initialized? */
+PERLVAR(I, utf8locale, bool) /* utf8 locale detected */
+PERLVARI(I, rehash_seed_set, bool, FALSE) /* 582 hash initialized? */
-PERLVARA(Icolors,6, char *) /* from regcomp.c */
+PERLVARA(I, colors,6, char *) /* from regcomp.c */
/*
=for apidoc Amn|peep_t|PL_peepp
@@ -193,7 +187,7 @@ convenient to wrap the L</PL_rpeepp> hook.
=cut
*/
-PERLVARI(Ipeepp, peep_t, Perl_peep)
+PERLVARI(I, peepp, peep_t, Perl_peep)
/*
=for apidoc Amn|peep_t|PL_rpeepp
@@ -217,7 +211,7 @@ to wrap the L</PL_peepp> hook.
=cut
*/
-PERLVARI(Irpeepp, peep_t, Perl_rpeep)
+PERLVARI(I, rpeepp, peep_t, Perl_rpeep)
/*
=for apidoc Amn|Perl_ophook_t|PL_opfreehook
@@ -231,61 +225,62 @@ When you replace this variable, it is considered a good practice to store the po
=cut
*/
-PERLVARI(Iopfreehook, Perl_ophook_t, 0) /* op_free() hook */
+PERLVARI(I, opfreehook, Perl_ophook_t, 0) /* op_free() hook */
-PERLVARI(Imaxscream, I32, -1)
-PERLVARI(Ireginterp_cnt,I32, 0) /* Whether "Regexp" was interpolated. */
-PERLVARI(Iwatchaddr, char **, 0)
-PERLVAR(Iwatchok, char *)
+PERLVARI(I, watchaddr, char **, 0)
+PERLVAR(I, watchok, char *)
/* the currently active slab in a chain of slabs of regmatch states,
* and the currently active state within that slab */
-PERLVARI(Iregmatch_slab, regmatch_slab *, NULL)
-PERLVAR(Iregmatch_state, regmatch_state *)
+PERLVARI(I, regmatch_slab, regmatch_slab *, NULL)
+PERLVAR(I, regmatch_state, regmatch_state *)
/* Put anything new that is pointer aligned here. */
-PERLVAR(Idelaymagic, U16) /* ($<,$>) = ... */
-PERLVAR(Ilocalizing, U8) /* are we processing a local() list? */
-PERLVAR(Icolorset, bool) /* from regcomp.c */
-PERLVAR(Iin_eval, U8) /* trap "fatal" errors? */
-PERLVAR(Itainted, bool) /* using variables controlled by $< */
-
-/* current phase the interpreter is in */
-PERLVARI(Iphase, enum perl_phase, PERL_PHASE_CONSTRUCT)
+PERLVAR(I, delaymagic, U16) /* ($<,$>) = ... */
+PERLVAR(I, localizing, U8) /* are we processing a local() list? */
+PERLVAR(I, colorset, bool) /* from regcomp.c */
+PERLVAR(I, in_eval, U8) /* trap "fatal" errors? */
+PERLVAR(I, tainted, bool) /* using variables controlled by $< */
+PERLVAR(I, tainting, bool) /* doing taint checks */
/* This value may be set when embedding for full cleanup */
/* 0=none, 1=full, 2=full with checks */
/* mod_perl is special, and also assigns a meaning -1 */
-PERLVARI(Iperl_destruct_level, signed char, 0)
+PERLVARI(I, perl_destruct_level, signed char, 0)
+
+/* current phase the interpreter is in */
+PERLVARI(I, phase, enum perl_phase, PERL_PHASE_CONSTRUCT)
+
+PERLVAR(I, perldb, U32)
-PERLVAR(Iperldb, U32)
+PERLVAR(I, signals, U32) /* Using which pre-5.8 signals */
/* pseudo environmental stuff */
-PERLVAR(Iorigargc, int)
-PERLVAR(Iorigargv, char **)
-PERLVAR(Ienvgv, GV *)
-PERLVAR(Iincgv, GV *)
-PERLVAR(Ihintgv, GV *)
-PERLVAR(Iorigfilename, char *)
-PERLVAR(Idiehook, SV *)
-PERLVAR(Iwarnhook, SV *)
+PERLVAR(I, origargc, int)
+PERLVAR(I, origargv, char **)
+PERLVAR(I, envgv, GV *)
+PERLVAR(I, incgv, GV *)
+PERLVAR(I, hintgv, GV *)
+PERLVAR(I, origfilename, char *)
+PERLVAR(I, diehook, SV *)
+PERLVAR(I, warnhook, SV *)
/* switches */
-PERLVAR(Ipatchlevel, SV *)
-PERLVAR(Iapiversion, SV *)
-PERLVAR(Ilocalpatches, const char * const *)
-PERLVARI(Isplitstr, const char *, " ")
-
-PERLVAR(Iminus_c, bool)
-PERLVAR(Iminus_n, bool)
-PERLVAR(Iminus_p, bool)
-PERLVAR(Iminus_l, bool)
-PERLVAR(Iminus_a, bool)
-PERLVAR(Iminus_F, bool)
-PERLVAR(Idoswitches, bool)
-PERLVAR(Iminus_E, bool)
+PERLVAR(I, patchlevel, SV *)
+PERLVAR(I, apiversion, SV *)
+PERLVAR(I, localpatches, const char * const *)
+PERLVARI(I, splitstr, const char *, " ")
+
+PERLVAR(I, minus_c, bool)
+PERLVAR(I, minus_n, bool)
+PERLVAR(I, minus_p, bool)
+PERLVAR(I, minus_l, bool)
+PERLVAR(I, minus_a, bool)
+PERLVAR(I, minus_F, bool)
+PERLVAR(I, doswitches, bool)
+PERLVAR(I, minus_E, bool)
/*
@@ -296,52 +291,50 @@ The C variable which corresponds to Perl's $^W warning variable.
=cut
*/
-PERLVAR(Idowarn, U8)
- /* Space for a U8 */
-PERLVAR(Isawampersand, bool) /* must save all match strings */
-PERLVAR(Iunsafe, bool)
-PERLVAR(Iexit_flags, U8) /* was exit() unexpected, etc. */
-PERLVAR(Isrand_called, bool)
-/* Part of internal state, but makes the 16th 1 byte variable in a row. */
-PERLVAR(Itainting, bool) /* doing taint checks */
-PERLVARI(Iin_load_module, bool, FALSE) /* to prevent recursions in PerlIO_find_layer */
-PERLVAR(Iinplace, char *)
-PERLVAR(Ie_script, SV *)
+PERLVAR(I, dowarn, U8)
+PERLVAR(I, sawampersand, bool) /* must save all match strings */
+PERLVAR(I, unsafe, bool)
+PERLVAR(I, exit_flags, U8) /* was exit() unexpected, etc. */
+
+PERLVARI(I, reginterp_cnt, I32, 0) /* Whether "Regexp" was interpolated. */
+
+PERLVAR(I, inplace, char *)
+PERLVAR(I, e_script, SV *)
/* magical thingies */
-PERLVAR(Ibasetime, Time_t) /* $^T */
-PERLVAR(Iformfeed, SV *) /* $^L */
+PERLVAR(I, basetime, Time_t) /* $^T */
+PERLVAR(I, formfeed, SV *) /* $^L */
-PERLVARI(Imaxsysfd, I32, MAXSYSFD)
+PERLVARI(I, maxsysfd, I32, MAXSYSFD)
/* top fd to pass to subprocesses */
-PERLVAR(Istatusvalue, I32) /* $? */
+PERLVAR(I, statusvalue, I32) /* $? */
#ifdef VMS
-PERLVAR(Istatusvalue_vms,U32)
+PERLVAR(I, statusvalue_vms, U32)
#else
-PERLVAR(Istatusvalue_posix,I32)
+PERLVAR(I, statusvalue_posix, I32)
#endif
-PERLVARI(Isig_pending, int,0) /* Number if highest signal pending */
-PERLVAR(Ipsig_pend, int *) /* per-signal "count" of pending */
+PERLVARI(I, sig_pending, int, 0) /* Number if highest signal pending */
+PERLVAR(I, psig_pend, int *) /* per-signal "count" of pending */
/* shortcuts to various I/O objects */
-PERLVAR(Istdingv, GV *) /* *STDIN */
-PERLVAR(Istderrgv, GV *) /* *STDERR */
-PERLVAR(Idefgv, GV *)
-PERLVAR(Iargvgv, GV *) /* *ARGV */
-PERLVAR(Iargvoutgv, GV *) /* *ARGVOUT */
-PERLVAR(Iargvout_stack, AV *)
+PERLVAR(I, stdingv, GV *) /* *STDIN */
+PERLVAR(I, stderrgv, GV *) /* *STDERR */
+PERLVAR(I, defgv, GV *)
+PERLVAR(I, argvgv, GV *) /* *ARGV */
+PERLVAR(I, argvoutgv, GV *) /* *ARGVOUT */
+PERLVAR(I, argvout_stack, AV *)
/* shortcuts to regexp stuff */
-PERLVAR(Ireplgv, GV *) /* *^R */
+PERLVAR(I, replgv, GV *) /* *^R */
/* shortcuts to misc objects */
-PERLVAR(Ierrgv, GV *) /* *@ */
+PERLVAR(I, errgv, GV *) /* *@ */
/* shortcuts to debugging objects */
-PERLVAR(IDBgv, GV *) /* *DB::DB */
-PERLVAR(IDBline, GV *) /* *DB::line */
+PERLVAR(I, DBgv, GV *) /* *DB::DB */
+PERLVAR(I, DBline, GV *) /* *DB::line */
/*
=for apidoc mn|GV *|PL_DBsub
@@ -365,71 +358,71 @@ variable. See C<PL_DBsingle>.
=cut
*/
-PERLVAR(IDBsub, GV *) /* *DB::sub */
-PERLVAR(IDBsingle, SV *) /* $DB::single */
-PERLVAR(IDBtrace, SV *) /* $DB::trace */
-PERLVAR(IDBsignal, SV *) /* $DB::signal */
-PERLVAR(Idbargs, AV *) /* args to call listed by caller function */
+PERLVAR(I, DBsub, GV *) /* *DB::sub */
+PERLVAR(I, DBsingle, SV *) /* $DB::single */
+PERLVAR(I, DBtrace, SV *) /* $DB::trace */
+PERLVAR(I, DBsignal, SV *) /* $DB::signal */
+PERLVAR(I, dbargs, AV *) /* args to call listed by caller function */
/* symbol tables */
-PERLVAR(Idebstash, HV *) /* symbol table for perldb package */
-PERLVAR(Iglobalstash, HV *) /* global keyword overrides imported here */
-PERLVAR(Icurstname, SV *) /* name of current package */
-PERLVAR(Ibeginav, AV *) /* names of BEGIN subroutines */
-PERLVAR(Iendav, AV *) /* names of END subroutines */
-PERLVAR(Iunitcheckav, AV *) /* names of UNITCHECK subroutines */
-PERLVAR(Icheckav, AV *) /* names of CHECK subroutines */
-PERLVAR(Iinitav, AV *) /* names of INIT subroutines */
-PERLVAR(Istrtab, HV *) /* shared string table */
-PERLVARI(Isub_generation,U32,1) /* incr to invalidate method cache */
+PERLVAR(I, debstash, HV *) /* symbol table for perldb package */
+PERLVAR(I, globalstash, HV *) /* global keyword overrides imported here */
+PERLVAR(I, curstname, SV *) /* name of current package */
+PERLVAR(I, beginav, AV *) /* names of BEGIN subroutines */
+PERLVAR(I, endav, AV *) /* names of END subroutines */
+PERLVAR(I, unitcheckav, AV *) /* names of UNITCHECK subroutines */
+PERLVAR(I, checkav, AV *) /* names of CHECK subroutines */
+PERLVAR(I, initav, AV *) /* names of INIT subroutines */
+PERLVAR(I, strtab, HV *) /* shared string table */
+PERLVARI(I, sub_generation, U32, 1) /* incr to invalidate method cache */
/* funky return mechanisms */
-PERLVAR(Iforkprocess, int) /* so do_open |- can return proc# */
+PERLVAR(I, forkprocess, int) /* so do_open |- can return proc# */
/* memory management */
-PERLVAR(Isv_count, I32) /* how many SV* are currently allocated */
-PERLVAR(Isv_objcount, I32) /* how many objects are currently allocated */
-PERLVAR(Isv_root, SV*) /* storage for SVs belonging to interp */
-PERLVAR(Isv_arenaroot, SV*) /* list of areas for garbage collection */
+PERLVAR(I, sv_count, I32) /* how many SV* are currently allocated */
+PERLVAR(I, sv_objcount, I32) /* how many objects are currently allocated */
+PERLVAR(I, sv_root, SV *) /* storage for SVs belonging to interp */
+PERLVAR(I, sv_arenaroot, SV *) /* list of areas for garbage collection */
/* subprocess state */
-PERLVAR(Ifdpid, AV *) /* keep fd-to-pid mappings for my_popen */
+PERLVAR(I, fdpid, AV *) /* keep fd-to-pid mappings for my_popen */
/* internal state */
-PERLVARI(Iop_mask, char *, NULL) /* masked operations for safe evals */
+PERLVARI(I, op_mask, char *, NULL) /* masked operations for safe evals */
/* current interpreter roots */
-PERLVAR(Imain_cv, CV *)
-PERLVAR(Imain_root, OP *)
-PERLVAR(Imain_start, OP *)
-PERLVAR(Ieval_root, OP *)
-PERLVAR(Ieval_start, OP *)
+PERLVAR(I, main_cv, CV *)
+PERLVAR(I, main_root, OP *)
+PERLVAR(I, main_start, OP *)
+PERLVAR(I, eval_root, OP *)
+PERLVAR(I, eval_start, OP *)
/* runtime control stuff */
-PERLVARI(Icurcopdb, COP *, NULL)
+PERLVARI(I, curcopdb, COP *, NULL)
-PERLVAR(Ifilemode, int) /* so nextargv() can preserve mode */
-PERLVAR(Ilastfd, int) /* what to preserve mode on */
-PERLVAR(Ioldname, char *) /* what to preserve mode on */
-PERLVAR(IArgv, const char **) /* stuff to free from do_aexec, vfork safe */
-PERLVAR(ICmd, char *) /* stuff to free from do_aexec, vfork safe */
+PERLVAR(I, filemode, int) /* so nextargv() can preserve mode */
+PERLVAR(I, lastfd, int) /* what to preserve mode on */
+PERLVAR(I, oldname, char *) /* what to preserve mode on */
+PERLVAR(I, Argv, const char **) /* stuff to free from do_aexec, vfork safe */
+PERLVAR(I, Cmd, char *) /* stuff to free from do_aexec, vfork safe */
/* Elements in this array have ';' appended and are injected as a single line
into the tokeniser. You can't put any (literal) newlines into any program
you stuff in into this array, as the point where it's injected is expecting
a single physical line. */
-PERLVAR(Ipreambleav, AV *)
-PERLVAR(Imess_sv, SV *)
-PERLVAR(Iors_sv, SV *) /* output record separator $\ */
+PERLVAR(I, preambleav, AV *)
+PERLVAR(I, mess_sv, SV *)
+PERLVAR(I, ors_sv, SV *) /* output record separator $\ */
/* statics moved here for shared library purposes */
-PERLVARI(Igensym, I32, 0) /* next symbol for getsym() to define */
-PERLVARI(Icv_has_eval, bool, FALSE) /* PL_compcv includes an entereval or similar */
-PERLVAR(Itaint_warn, bool) /* taint warns instead of dying */
-PERLVARI(Ilaststype, U16, OP_STAT)
-PERLVARI(Ilaststatval, int, -1)
+PERLVARI(I, gensym, I32, 0) /* next symbol for getsym() to define */
+PERLVARI(I, cv_has_eval, bool, FALSE) /* PL_compcv includes an entereval or similar */
+PERLVAR(I, taint_warn, bool) /* taint warns instead of dying */
+PERLVARI(I, laststype, U16, OP_STAT)
+PERLVARI(I, laststatval, int, -1)
/* interpreter atexit processing */
-PERLVARI(Iexitlistlen, I32, 0) /* length of same */
-PERLVARI(Iexitlist, PerlExitListEntry *, NULL)
+PERLVARI(I, exitlistlen, I32, 0) /* length of same */
+PERLVARI(I, exitlist, PerlExitListEntry *, NULL)
/* list of exit functions */
/*
@@ -444,38 +437,38 @@ prefixed by the package name of the extension that owns the data.
=cut
*/
-PERLVAR(Imodglobal, HV *) /* per-interp module data */
+PERLVAR(I, modglobal, HV *) /* per-interp module data */
/* these used to be in global before 5.004_68 */
-PERLVARI(Iprofiledata, U32 *, NULL) /* table of ops, counts */
+PERLVARI(I, profiledata, U32 *, NULL) /* table of ops, counts */
-PERLVAR(Icompiling, COP) /* compiling/done executing marker */
+PERLVAR(I, compiling, COP) /* compiling/done executing marker */
-PERLVAR(Icompcv, CV *) /* currently compiling subroutine */
-PERLVAR(Icomppad, AV *) /* storage for lexically scoped temporaries */
-PERLVAR(Icomppad_name, AV *) /* variable names for "my" variables */
-PERLVAR(Icomppad_name_fill, I32) /* last "introduced" variable offset */
-PERLVAR(Icomppad_name_floor, I32) /* start of vars in innermost block */
+PERLVAR(I, compcv, CV *) /* currently compiling subroutine */
+PERLVAR(I, comppad, AV *) /* storage for lexically scoped temporaries */
+PERLVAR(I, comppad_name, AV *) /* variable names for "my" variables */
+PERLVAR(I, comppad_name_fill, I32) /* last "introduced" variable offset */
+PERLVAR(I, comppad_name_floor, I32) /* start of vars in innermost block */
#ifdef HAVE_INTERP_INTERN
-PERLVAR(Isys_intern, struct interp_intern)
+PERLVAR(I, sys_intern, struct interp_intern)
/* platform internals */
#endif
/* more statics moved here */
-PERLVAR(IDBcv, CV *) /* from perl.c */
-PERLVARI(Igeneration, int, 100) /* from op.c */
+PERLVAR(I, DBcv, CV *) /* from perl.c */
+PERLVARI(I, generation, int, 100) /* from op.c */
-PERLVARI(Iin_clean_objs,bool, FALSE) /* from sv.c */
-PERLVARI(Iin_clean_all, bool, FALSE) /* ptrs to freed SVs now legal */
-PERLVAR(Inomemok, bool) /* let malloc context handle nomem */
-PERLVARI(Isavebegin, bool, FALSE) /* save BEGINs for compiler */
+PERLVARI(I, in_clean_objs,bool, FALSE) /* from sv.c */
+PERLVARI(I, in_clean_all, bool, FALSE) /* ptrs to freed SVs now legal */
+PERLVAR(I, nomemok, bool) /* let malloc context handle nomem */
+PERLVARI(I, savebegin, bool, FALSE) /* save BEGINs for compiler */
-PERLVAR(Iuid, Uid_t) /* current real user id */
-PERLVAR(Ieuid, Uid_t) /* current effective user id */
-PERLVAR(Igid, Gid_t) /* current real group id */
-PERLVAR(Iegid, Gid_t) /* current effective group id */
-PERLVARI(Ian, U32, 0) /* malloc sequence number */
+PERLVAR(I, delaymagic_uid, Uid_t) /* current real user id, only for delaymagic */
+PERLVAR(I, delaymagic_euid, Uid_t) /* current effective user id, only for delaymagic */
+PERLVAR(I, delaymagic_gid, Gid_t) /* current real group id, only for delaymagic */
+PERLVAR(I, delaymagic_egid, Gid_t) /* current effective group id, only for delaymagic */
+PERLVARI(I, an, U32, 0) /* malloc sequence number */
#ifdef DEBUGGING
/* exercise wrap-around */
@@ -483,26 +476,26 @@ PERLVARI(Ian, U32, 0) /* malloc sequence number */
#else
#define PERL_COP_SEQMAX 0
#endif
-PERLVARI(Icop_seqmax, U32, PERL_COP_SEQMAX) /* statement sequence number */
+PERLVARI(I, cop_seqmax, U32, PERL_COP_SEQMAX) /* statement sequence number */
#undef PERL_COP_SEQMAX
-PERLVARI(Ievalseq, U32, 0) /* eval sequence number */
-PERLVAR(Iorigalen, U32)
-PERLVAR(Iorigenviron, char **)
+PERLVARI(I, evalseq, U32, 0) /* eval sequence number */
+PERLVAR(I, origalen, U32)
+PERLVAR(I, origenviron, char **)
#ifdef PERL_USES_PL_PIDSTATUS
-PERLVAR(Ipidstatus, HV *) /* pid-to-status mappings for waitpid */
+PERLVAR(I, pidstatus, HV *) /* pid-to-status mappings for waitpid */
#endif
-PERLVAR(Iosname, char *) /* operating system */
+PERLVAR(I, osname, char *) /* operating system */
-PERLVAR(Isighandlerp, Sighandler_t)
+PERLVAR(I, sighandlerp, Sighandler_t)
-PERLVARA(Ibody_roots, PERL_ARENA_ROOTS_SIZE, void*) /* array of body roots */
+PERLVARA(I, body_roots, PERL_ARENA_ROOTS_SIZE, void*) /* array of body roots */
-PERLVAR(Iunicode, U32) /* Unicode features: $ENV{PERL_UNICODE} or -C */
+PERLVAR(I, unicode, U32) /* Unicode features: $ENV{PERL_UNICODE} or -C */
-PERLVARI(Imaxo, int, MAXO) /* maximum number of ops */
+PERLVARI(I, maxo, int, MAXO) /* maximum number of ops */
-PERLVARI(Irunops, runops_proc_t, RUNOPS_DEFAULT)
+PERLVARI(I, runops, runops_proc_t, RUNOPS_DEFAULT)
/*
=for apidoc Amn|SV|PL_sv_undef
@@ -519,35 +512,35 @@ C<&PL_sv_yes>.
=cut
*/
-PERLVAR(Isv_undef, SV)
-PERLVAR(Isv_no, SV)
-PERLVAR(Isv_yes, SV)
+PERLVAR(I, sv_undef, SV)
+PERLVAR(I, sv_no, SV)
+PERLVAR(I, sv_yes, SV)
-PERLVAR(Isubname, SV *) /* name of current subroutine */
+PERLVAR(I, subname, SV *) /* name of current subroutine */
-PERLVAR(Isubline, I32) /* line this subroutine began on */
-PERLVAR(Imin_intro_pending, I32) /* start of vars to introduce */
+PERLVAR(I, subline, I32) /* line this subroutine began on */
+PERLVAR(I, min_intro_pending, I32) /* start of vars to introduce */
-PERLVAR(Imax_intro_pending, I32) /* end of vars to introduce */
-PERLVAR(Ipadix, I32) /* max used index in current "register" pad */
+PERLVAR(I, max_intro_pending, I32) /* end of vars to introduce */
+PERLVAR(I, padix, I32) /* max used index in current "register" pad */
-PERLVAR(Ipadix_floor, I32) /* how low may inner block reset padix */
+PERLVAR(I, padix_floor, I32) /* how low may inner block reset padix */
-PERLVAR(Ihints, U32) /* pragma-tic compile-time flags */
+PERLVAR(I, hints, U32) /* pragma-tic compile-time flags */
-PERLVAR(Idebug, VOL U32) /* flags given to -D switch */
+PERLVAR(I, debug, VOL U32) /* flags given to -D switch */
/* Perl_Ibreakable_sub_generation_ptr was too long for VMS, hence "gen" */
-PERLVARI(Ibreakable_sub_gen, U32, 0)
+PERLVARI(I, breakable_sub_gen, U32, 0)
-PERLVARI(Iamagic_generation, long, 0)
+PERLVARI(I, amagic_generation, long, 0)
#ifdef USE_LOCALE_COLLATE
-PERLVAR(Icollation_name,char *) /* Name of current collation */
-PERLVAR(Icollxfrm_base, Size_t) /* Basic overhead in *xfrm() */
-PERLVARI(Icollxfrm_mult,Size_t, 2) /* Expansion factor in *xfrm() */
-PERLVARI(Icollation_ix, U32, 0) /* Collation generation index */
-PERLVARI(Icollation_standard, bool, TRUE)
+PERLVAR(I, collation_name, char *) /* Name of current collation */
+PERLVAR(I, collxfrm_base, Size_t) /* Basic overhead in *xfrm() */
+PERLVARI(I, collxfrm_mult,Size_t, 2) /* Expansion factor in *xfrm() */
+PERLVARI(I, collation_ix, U32, 0) /* Collation generation index */
+PERLVARI(I, collation_standard, bool, TRUE)
/* Assume simple collation */
#endif /* USE_LOCALE_COLLATE */
@@ -557,103 +550,144 @@ PERLVARI(Icollation_standard, bool, TRUE)
#else
# define PERL___I 1
#endif
-PERLVARI(Iutf8cache, I8, PERL___I) /* Is the utf8 caching code enabled? */
+PERLVARI(I, utf8cache, I8, PERL___I) /* Is the utf8 caching code enabled? */
#undef PERL___I
#ifdef USE_LOCALE_NUMERIC
-PERLVARI(Inumeric_standard, bool, TRUE)
+PERLVARI(I, numeric_standard, bool, TRUE)
/* Assume simple numerics */
-PERLVARI(Inumeric_local, bool, TRUE)
+PERLVARI(I, numeric_local, bool, TRUE)
/* Assume local numerics */
-PERLVAR(Inumeric_name, char *) /* Name of current numeric locale */
+PERLVAR(I, numeric_name, char *) /* Name of current numeric locale */
+PERLVAR(I, numeric_radix_sv, SV *) /* The radix separator if not '.' */
+
#endif /* !USE_LOCALE_NUMERIC */
-/* utf8 character classes */
-PERLVAR(Iutf8_alnum, SV *)
-PERLVAR(Iutf8_ascii, SV *)
-PERLVAR(Iutf8_alpha, SV *)
-PERLVAR(Iutf8_space, SV *)
-PERLVAR(Iutf8_perl_space, SV *)
-PERLVAR(Iutf8_perl_word, SV *)
-PERLVAR(Iutf8_posix_digit, SV *)
-PERLVAR(Iutf8_cntrl, SV *)
-PERLVAR(Iutf8_graph, SV *)
-PERLVAR(Iutf8_digit, SV *)
-PERLVAR(Iutf8_upper, SV *)
-PERLVAR(Iutf8_lower, SV *)
-PERLVAR(Iutf8_print, SV *)
-PERLVAR(Iutf8_punct, SV *)
-PERLVAR(Iutf8_xdigit, SV *)
-PERLVAR(Iutf8_mark, SV *)
-PERLVAR(Iutf8_X_begin, SV *)
-PERLVAR(Iutf8_X_extend, SV *)
-PERLVAR(Iutf8_X_prepend, SV *)
-PERLVAR(Iutf8_X_non_hangul, SV *)
-PERLVAR(Iutf8_X_L, SV *)
-PERLVAR(Iutf8_X_LV, SV *)
-PERLVAR(Iutf8_X_LVT, SV *)
-PERLVAR(Iutf8_X_T, SV *)
-PERLVAR(Iutf8_X_V, SV *)
-PERLVAR(Iutf8_X_LV_LVT_V, SV *)
-PERLVAR(Iutf8_toupper, SV *)
-PERLVAR(Iutf8_totitle, SV *)
-PERLVAR(Iutf8_tolower, SV *)
-PERLVAR(Iutf8_tofold, SV *)
-PERLVAR(Ilast_swash_hv, HV *)
-PERLVAR(Ilast_swash_tmps, U8 *)
-PERLVAR(Ilast_swash_slen, STRLEN)
-PERLVARA(Ilast_swash_key,10, U8)
-PERLVAR(Ilast_swash_klen, U8) /* Only needs to store 0-10 */
+/* Unicode inversion lists */
+PERLVAR(I, ASCII, SV *)
+PERLVAR(I, Latin1, SV *)
+PERLVAR(I, AboveLatin1, SV *)
+
+PERLVAR(I, PerlSpace, SV *)
+PERLVAR(I, XPerlSpace, SV *)
+
+PERLVAR(I, L1PosixAlnum,SV *)
+PERLVAR(I, PosixAlnum, SV *)
+
+PERLVAR(I, L1PosixAlpha,SV *)
+PERLVAR(I, PosixAlpha, SV *)
+
+PERLVAR(I, PosixBlank, SV *)
+PERLVAR(I, XPosixBlank, SV *)
+
+PERLVAR(I, L1Cased, SV *)
+
+PERLVAR(I, PosixCntrl, SV *)
+PERLVAR(I, XPosixCntrl, SV *)
+
+PERLVAR(I, PosixDigit, SV *)
+
+PERLVAR(I, L1PosixGraph,SV *)
+PERLVAR(I, PosixGraph, SV *)
+
+PERLVAR(I, L1PosixLower,SV *)
+PERLVAR(I, PosixLower, SV *)
+
+PERLVAR(I, L1PosixPrint,SV *)
+PERLVAR(I, PosixPrint, SV *)
+
+PERLVAR(I, L1PosixPunct,SV *)
+PERLVAR(I, PosixPunct, SV *)
+
+PERLVAR(I, PosixSpace, SV *)
+PERLVAR(I, XPosixSpace, SV *)
+
+PERLVAR(I, L1PosixUpper,SV *)
+PERLVAR(I, PosixUpper, SV *)
+
+PERLVAR(I, L1PosixWord, SV *)
+PERLVAR(I, PosixWord, SV *)
+
+PERLVAR(I, PosixXDigit, SV *)
+PERLVAR(I, XPosixXDigit, SV *)
+
+PERLVAR(I, VertSpace, SV *)
+
+/* utf8 character class swashes */
+PERLVAR(I, utf8_alnum, SV *)
+PERLVAR(I, utf8_alpha, SV *)
+PERLVAR(I, utf8_space, SV *)
+PERLVAR(I, utf8_graph, SV *)
+PERLVAR(I, utf8_digit, SV *)
+PERLVAR(I, utf8_upper, SV *)
+PERLVAR(I, utf8_lower, SV *)
+PERLVAR(I, utf8_print, SV *)
+PERLVAR(I, utf8_punct, SV *)
+PERLVAR(I, utf8_xdigit, SV *)
+PERLVAR(I, utf8_mark, SV *)
+PERLVAR(I, utf8_X_begin, SV *)
+PERLVAR(I, utf8_X_extend, SV *)
+PERLVAR(I, utf8_X_prepend, SV *)
+PERLVAR(I, utf8_X_non_hangul, SV *)
+PERLVAR(I, utf8_X_L, SV *)
+PERLVAR(I, utf8_X_LV, SV *)
+PERLVAR(I, utf8_X_LVT, SV *)
+PERLVAR(I, utf8_X_T, SV *)
+PERLVAR(I, utf8_X_V, SV *)
+PERLVAR(I, utf8_X_LV_LVT_V, SV *)
+PERLVAR(I, utf8_toupper, SV *)
+PERLVAR(I, utf8_totitle, SV *)
+PERLVAR(I, utf8_tolower, SV *)
+PERLVAR(I, utf8_tofold, SV *)
+PERLVAR(I, utf8_quotemeta, SV *)
+PERLVAR(I, last_swash_hv, HV *)
+PERLVAR(I, last_swash_tmps, U8 *)
+PERLVAR(I, last_swash_slen, STRLEN)
+PERLVARA(I, last_swash_key,12, U8)
+PERLVAR(I, last_swash_klen, U8) /* Only needs to store 0-12 */
#ifdef FCRYPT
-PERLVARI(Icryptseen, bool, FALSE) /* has fast crypt() been initialized? */
+PERLVARI(I, cryptseen, bool, FALSE) /* has fast crypt() been initialized? */
#endif
-PERLVAR(Ipad_reset_pending, bool) /* reset pad on next attempted alloc */
-
-PERLVARI(Iglob_index, int, 0)
+PERLVAR(I, pad_reset_pending, bool) /* reset pad on next attempted alloc */
+PERLVAR(I, srand_called, bool)
+PERLVARI(I, in_load_module, bool, FALSE) /* to prevent recursions in PerlIO_find_layer */
-
-PERLVAR(Iparser, yy_parser *) /* current parser state */
+PERLVAR(I, parser, yy_parser *) /* current parser state */
/* Array of signal handlers, indexed by signal number, through which the C
signal handler dispatches. */
-PERLVAR(Ipsig_ptr, SV**)
+PERLVAR(I, psig_ptr, SV **)
/* Array of names of signals, indexed by signal number, for (re)use as the first
argument to a signal handler. Only one block of memory is allocated for
both psig_name and psig_ptr. */
-PERLVAR(Ipsig_name, SV**)
+PERLVAR(I, psig_name, SV **)
#if defined(PERL_IMPLICIT_SYS)
-PERLVAR(IMem, struct IPerlMem*)
-PERLVAR(IMemShared, struct IPerlMem*)
-PERLVAR(IMemParse, struct IPerlMem*)
-PERLVAR(IEnv, struct IPerlEnv*)
-PERLVAR(IStdIO, struct IPerlStdIO*)
-PERLVAR(ILIO, struct IPerlLIO*)
-PERLVAR(IDir, struct IPerlDir*)
-PERLVAR(ISock, struct IPerlSock*)
-PERLVAR(IProc, struct IPerlProc*)
+PERLVAR(I, Mem, struct IPerlMem *)
+PERLVAR(I, MemShared, struct IPerlMem *)
+PERLVAR(I, MemParse, struct IPerlMem *)
+PERLVAR(I, Env, struct IPerlEnv *)
+PERLVAR(I, StdIO, struct IPerlStdIO *)
+PERLVAR(I, LIO, struct IPerlLIO *)
+PERLVAR(I, Dir, struct IPerlDir *)
+PERLVAR(I, Sock, struct IPerlSock *)
+PERLVAR(I, Proc, struct IPerlProc *)
#endif
-PERLVAR(Iptr_table, PTR_TBL_t*)
-PERLVARI(Ibeginav_save, AV*, NULL) /* save BEGIN{}s when compiling */
-
-PERLVAR(Ibody_arenas, void*) /* pointer to list of body-arenas */
-
+PERLVAR(I, ptr_table, PTR_TBL_t *)
+PERLVARI(I, beginav_save, AV *, NULL) /* save BEGIN{}s when compiling */
-#ifdef USE_LOCALE_NUMERIC
-
-PERLVAR(Inumeric_radix_sv, SV *) /* The radix separator if not '.' */
+PERLVAR(I, body_arenas, void *) /* pointer to list of body-arenas */
-#endif
#if defined(USE_ITHREADS)
-PERLVAR(Iregex_pad, SV**) /* Shortcut into the array of
+PERLVAR(I, regex_pad, SV **) /* Shortcut into the array of
regex_padav */
-PERLVAR(Iregex_padav, AV*) /* All regex objects, indexed via the
+PERLVAR(I, regex_padav, AV *) /* All regex objects, indexed via the
values in op_pmoffset of pmop.
Entry 0 is an SV whose PV is a
"packed" list of IVs listing
@@ -661,136 +695,134 @@ PERLVAR(Iregex_padav, AV*) /* All regex objects, indexed via the
#endif
#ifdef USE_REENTRANT_API
-PERLVAR(Ireentrant_buffer, REENTR*) /* here we store the _r buffers */
+PERLVAR(I, reentrant_buffer, REENTR *) /* here we store the _r buffers */
#endif
-PERLVAR(Icustom_op_names, HV*) /* Names of user defined ops */
-PERLVAR(Icustom_op_descs, HV*) /* Descriptions of user defined ops */
+PERLVAR(I, custom_op_names, HV *) /* Names of user defined ops */
+PERLVAR(I, custom_op_descs, HV *) /* Descriptions of user defined ops */
#ifdef PERLIO_LAYERS
-PERLVARI(Iperlio, PerlIOl *,NULL)
-PERLVARI(Iknown_layers, PerlIO_list_t *,NULL)
-PERLVARI(Idef_layerlist, PerlIO_list_t *,NULL)
+PERLVARI(I, perlio, PerlIOl *, NULL)
+PERLVARI(I, known_layers, PerlIO_list_t *, NULL)
+PERLVARI(I, def_layerlist, PerlIO_list_t *, NULL)
#endif
-PERLVARI(Iencoding, SV*, NULL) /* character encoding */
-
-PERLVAR(Idebug_pad, struct perl_debug_pad) /* always needed because of the re extension */
+PERLVARI(I, encoding, SV *, NULL) /* character encoding */
-PERLVAR(Iutf8_idstart, SV *)
-PERLVAR(Iutf8_idcont, SV *)
-PERLVAR(Iutf8_xidstart, SV *)
-PERLVAR(Iutf8_xidcont, SV *)
+PERLVAR(I, debug_pad, struct perl_debug_pad) /* always needed because of the re extension */
-PERLVAR(Isort_RealCmp, SVCOMPARE_t)
+PERLVAR(I, utf8_idstart, SV *)
+PERLVAR(I, utf8_idcont, SV *)
+PERLVAR(I, utf8_xidstart, SV *)
+PERLVAR(I, utf8_perl_idstart, SV *)
+PERLVAR(I, utf8_xidcont, SV *)
-PERLVARI(Icheckav_save, AV*, NULL) /* save CHECK{}s when compiling */
-PERLVARI(Iunitcheckav_save, AV*, NULL) /* save UNITCHECK{}s when compiling */
+PERLVAR(I, sort_RealCmp, SVCOMPARE_t)
-PERLVARI(Iclocktick, long, 0) /* this many times() ticks in a second */
+PERLVARI(I, checkav_save, AV *, NULL) /* save CHECK{}s when compiling */
+PERLVARI(I, unitcheckav_save, AV *, NULL)
+ /* save UNITCHECK{}s when compiling */
-PERLVAR(Isignals, U32) /* Using which pre-5.8 signals */
+PERLVARI(I, clocktick, long, 0) /* this many times() ticks in a second */
-PERLVAR(Ireentrant_retint, int) /* Integer return value from reentrant functions */
-
-PERLVAR(Istashcache, HV *) /* Cache to speed up S_method_common */
+PERLVAR(I, stashcache, HV *) /* Cache to speed up S_method_common */
/* Hooks to shared SVs and locks. */
-PERLVARI(Isharehook, share_proc_t, Perl_sv_nosharing)
-PERLVARI(Ilockhook, share_proc_t, Perl_sv_nosharing)
+PERLVARI(I, sharehook, share_proc_t, Perl_sv_nosharing)
+PERLVARI(I, lockhook, share_proc_t, Perl_sv_nosharing)
#ifdef NO_MATHOMS
# define PERL_UNLOCK_HOOK Perl_sv_nosharing
#else
/* This reference ensures that the mathoms are linked with perl */
# define PERL_UNLOCK_HOOK Perl_sv_nounlocking
#endif
-PERLVARI(Iunlockhook, share_proc_t, PERL_UNLOCK_HOOK)
+PERLVARI(I, unlockhook, share_proc_t, PERL_UNLOCK_HOOK)
+
+PERLVARI(I, threadhook, thrhook_proc_t, Perl_nothreadhook)
-PERLVARI(Ithreadhook, thrhook_proc_t, Perl_nothreadhook)
+/* Can shared object be destroyed */
+PERLVARI(I, destroyhook, destroyable_proc_t, Perl_sv_destroyable)
#ifndef PERL_MICRO
-PERLVARI(Isignalhook, despatch_signals_proc_t, Perl_despatch_signals)
+PERLVARI(I, signalhook, despatch_signals_proc_t, Perl_despatch_signals)
#endif
-PERLVARI(Ihash_seed, UV, 0) /* Hash initializer */
+PERLVARI(I, hash_seed, UV, 0) /* Hash initializer */
+
+PERLVARI(I, rehash_seed, UV, 0) /* 582 hash initializer */
+
+PERLVARI(I, isarev, HV *, NULL) /* Reverse map of @ISA dependencies */
+
+/* Register of known Method Resolution Orders.
+ What this actually points to is an implementation detail (it may change to
+ a structure incorporating a reference count - use mro_get_from_name to
+ retrieve a C<struct mro_alg *> */
+PERLVAR(I, registered_mros, HV *)
+
+/* Compile-time block start/end hooks */
+PERLVAR(I, blockhooks, AV *)
+
+/* Everything that folds to a given character, for case insensitivity regex
+ * matching */
+PERLVARI(I, utf8_foldclosures, HV *, NULL)
+
+/* List of characters that participate in folds (except marks, etc in
+ * multi-char folds) */
+PERLVARI(I, utf8_foldable, SV *, NULL)
+
+PERLVAR(I, custom_ops, HV *) /* custom op registrations */
-PERLVARI(Irehash_seed, UV, 0) /* 582 hash initializer */
+/* Hook for File::Glob */
+PERLVARI(I, globhook, globhook_t, NULL)
-PERLVARI(Iisarev, HV*, NULL) /* Reverse map of @ISA dependencies */
+PERLVARI(I, glob_index, int, 0)
+PERLVAR(I, reentrant_retint, int) /* Integer return value from reentrant functions */
/* The last unconditional member of the interpreter structure when 5.10.0 was
released. The offset of the end of this is baked into a global variable in
any shared perl library which will allow a sanity test in future perl
releases. */
-#define PERL_LAST_5_10_0_INTERP_MEMBER Iisarev
+#define PERL_LAST_5_16_0_INTERP_MEMBER Ireentrant_retint
#ifdef PERL_IMPLICIT_CONTEXT
-PERLVARI(Imy_cxt_size, int, 0) /* size of PL_my_cxt_list */
-PERLVARI(Imy_cxt_list, void **, NULL) /* per-module array of MY_CXT pointers */
+PERLVARI(I, my_cxt_list, void **, NULL) /* per-module array of MY_CXT pointers */
+PERLVARI(I, my_cxt_size, int, 0) /* size of PL_my_cxt_list */
# ifdef PERL_GLOBAL_STRUCT_PRIVATE
-PERLVARI(Imy_cxt_keys, const char **, NULL) /* per-module array of pointers to MY_CXT_KEY constants */
+PERLVARI(I, my_cxt_keys, const char **, NULL) /* per-module array of pointers to MY_CXT_KEY constants */
# endif
#endif
#ifdef PERL_TRACK_MEMPOOL
/* For use with the memory debugging code in util.c */
-PERLVAR(Imemory_debug_header, struct perl_memory_debug_header)
+PERLVAR(I, memory_debug_header, struct perl_memory_debug_header)
#endif
#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
/* File descriptor to talk to the child which dumps scalars. */
-PERLVARI(Idumper_fd, int, -1)
-#endif
-
-/* Stores the PPID */
-#ifdef THREADS_HAVE_PIDS
-PERLVARI(Ippid, IV, 0)
+PERLVARI(I, dumper_fd, int, -1)
#endif
#ifdef PERL_MAD
-PERLVARI(Imadskills, bool, FALSE) /* preserve all syntactic info */
+PERLVARI(I, madskills, bool, FALSE) /* preserve all syntactic info */
/* (MAD = Misc Attribute Decoration) */
-PERLVARI(Ixmlfp, PerlIO *,NULL)
+PERLVARI(I, xmlfp, PerlIO *, NULL)
#endif
#ifdef PL_OP_SLAB_ALLOC
-PERLVAR(IOpPtr,I32 **)
-PERLVARI(IOpSpace,I32,0)
-PERLVAR(IOpSlab,I32 *)
+PERLVAR(I, OpPtr, I32 **)
+PERLVARI(I, OpSpace, I32, 0)
+PERLVAR(I, OpSlab, I32 *)
#endif
#ifdef PERL_DEBUG_READONLY_OPS
-PERLVARI(Islabs, I32**, NULL) /* Array of slabs that have been allocated */
-PERLVARI(Islab_count, U32, 0) /* Size of the array */
+PERLVARI(I, slabs, I32**, NULL) /* Array of slabs that have been allocated */
+PERLVARI(I, slab_count, U32, 0) /* Size of the array */
#endif
-/* Can shared object be destroyed */
-PERLVARI(Idestroyhook, destroyable_proc_t, Perl_sv_destroyable)
-
#ifdef DEBUG_LEAKING_SCALARS
-PERLVARI(Isv_serial, U32, 0) /* SV serial number, used in sv.c */
+PERLVARI(I, sv_serial, U32, 0) /* SV serial number, used in sv.c */
#endif
-/* Register of known Method Resolution Orders.
- What this actually points to is an implementation detail (it may change to
- a structure incorporating a reference count - use mro_get_from_name to
- retrieve a C<struct mro_alg *> */
-PERLVAR(Iregistered_mros, HV *)
-
-/* Compile-time block start/end hooks */
-PERLVAR(Iblockhooks, AV *)
-
-
-/* Everything that folds to a given character, for case insensitivity regex
- * matching */
-PERLVARI(Iutf8_foldclosures, HV *, NULL)
-
-/* List of characters that participate in folds (except marks, etc in
- * multi-char folds) */
-PERLVARI(Iutf8_foldable, HV *, NULL)
-
-PERLVAR(Icustom_ops, HV *) /* custom op registrations */
-
/* If you are adding a U8 or U16, check to see if there are 'Space' comments
* above on where there are gaps which currently will be structure padding. */
diff --git a/Master/tlpkg/tlperl/lib/CORE/keywords.h b/Master/tlpkg/tlperl/lib/CORE/keywords.h
index b821121780b..5ebde874ff7 100644
--- a/Master/tlpkg/tlperl/lib/CORE/keywords.h
+++ b/Master/tlpkg/tlperl/lib/CORE/keywords.h
@@ -19,254 +19,257 @@
#define KEY___PACKAGE__ 3
#define KEY___DATA__ 4
#define KEY___END__ 5
-#define KEY_AUTOLOAD 6
-#define KEY_BEGIN 7
-#define KEY_UNITCHECK 8
-#define KEY_CORE 9
-#define KEY_DESTROY 10
-#define KEY_END 11
-#define KEY_INIT 12
-#define KEY_CHECK 13
-#define KEY_abs 14
-#define KEY_accept 15
-#define KEY_alarm 16
-#define KEY_and 17
-#define KEY_atan2 18
-#define KEY_bind 19
-#define KEY_binmode 20
-#define KEY_bless 21
-#define KEY_break 22
-#define KEY_caller 23
-#define KEY_chdir 24
-#define KEY_chmod 25
-#define KEY_chomp 26
-#define KEY_chop 27
-#define KEY_chown 28
-#define KEY_chr 29
-#define KEY_chroot 30
-#define KEY_close 31
-#define KEY_closedir 32
-#define KEY_cmp 33
-#define KEY_connect 34
-#define KEY_continue 35
-#define KEY_cos 36
-#define KEY_crypt 37
-#define KEY_dbmclose 38
-#define KEY_dbmopen 39
-#define KEY_default 40
-#define KEY_defined 41
-#define KEY_delete 42
-#define KEY_die 43
-#define KEY_do 44
-#define KEY_dump 45
-#define KEY_each 46
-#define KEY_else 47
-#define KEY_elsif 48
-#define KEY_endgrent 49
-#define KEY_endhostent 50
-#define KEY_endnetent 51
-#define KEY_endprotoent 52
-#define KEY_endpwent 53
-#define KEY_endservent 54
-#define KEY_eof 55
-#define KEY_eq 56
-#define KEY_eval 57
-#define KEY_exec 58
-#define KEY_exists 59
-#define KEY_exit 60
-#define KEY_exp 61
-#define KEY_fcntl 62
-#define KEY_fileno 63
-#define KEY_flock 64
-#define KEY_for 65
-#define KEY_foreach 66
-#define KEY_fork 67
-#define KEY_format 68
-#define KEY_formline 69
-#define KEY_ge 70
-#define KEY_getc 71
-#define KEY_getgrent 72
-#define KEY_getgrgid 73
-#define KEY_getgrnam 74
-#define KEY_gethostbyaddr 75
-#define KEY_gethostbyname 76
-#define KEY_gethostent 77
-#define KEY_getlogin 78
-#define KEY_getnetbyaddr 79
-#define KEY_getnetbyname 80
-#define KEY_getnetent 81
-#define KEY_getpeername 82
-#define KEY_getpgrp 83
-#define KEY_getppid 84
-#define KEY_getpriority 85
-#define KEY_getprotobyname 86
-#define KEY_getprotobynumber 87
-#define KEY_getprotoent 88
-#define KEY_getpwent 89
-#define KEY_getpwnam 90
-#define KEY_getpwuid 91
-#define KEY_getservbyname 92
-#define KEY_getservbyport 93
-#define KEY_getservent 94
-#define KEY_getsockname 95
-#define KEY_getsockopt 96
-#define KEY_given 97
-#define KEY_glob 98
-#define KEY_gmtime 99
-#define KEY_goto 100
-#define KEY_grep 101
-#define KEY_gt 102
-#define KEY_hex 103
-#define KEY_if 104
-#define KEY_index 105
-#define KEY_int 106
-#define KEY_ioctl 107
-#define KEY_join 108
-#define KEY_keys 109
-#define KEY_kill 110
-#define KEY_last 111
-#define KEY_lc 112
-#define KEY_lcfirst 113
-#define KEY_le 114
-#define KEY_length 115
-#define KEY_link 116
-#define KEY_listen 117
-#define KEY_local 118
-#define KEY_localtime 119
-#define KEY_lock 120
-#define KEY_log 121
-#define KEY_lstat 122
-#define KEY_lt 123
-#define KEY_m 124
-#define KEY_map 125
-#define KEY_mkdir 126
-#define KEY_msgctl 127
-#define KEY_msgget 128
-#define KEY_msgrcv 129
-#define KEY_msgsnd 130
-#define KEY_my 131
-#define KEY_ne 132
-#define KEY_next 133
-#define KEY_no 134
-#define KEY_not 135
-#define KEY_oct 136
-#define KEY_open 137
-#define KEY_opendir 138
-#define KEY_or 139
-#define KEY_ord 140
-#define KEY_our 141
-#define KEY_pack 142
-#define KEY_package 143
-#define KEY_pipe 144
-#define KEY_pop 145
-#define KEY_pos 146
-#define KEY_print 147
-#define KEY_printf 148
-#define KEY_prototype 149
-#define KEY_push 150
-#define KEY_q 151
-#define KEY_qq 152
-#define KEY_qr 153
-#define KEY_quotemeta 154
-#define KEY_qw 155
-#define KEY_qx 156
-#define KEY_rand 157
-#define KEY_read 158
-#define KEY_readdir 159
-#define KEY_readline 160
-#define KEY_readlink 161
-#define KEY_readpipe 162
-#define KEY_recv 163
-#define KEY_redo 164
-#define KEY_ref 165
-#define KEY_rename 166
-#define KEY_require 167
-#define KEY_reset 168
-#define KEY_return 169
-#define KEY_reverse 170
-#define KEY_rewinddir 171
-#define KEY_rindex 172
-#define KEY_rmdir 173
-#define KEY_s 174
-#define KEY_say 175
-#define KEY_scalar 176
-#define KEY_seek 177
-#define KEY_seekdir 178
-#define KEY_select 179
-#define KEY_semctl 180
-#define KEY_semget 181
-#define KEY_semop 182
-#define KEY_send 183
-#define KEY_setgrent 184
-#define KEY_sethostent 185
-#define KEY_setnetent 186
-#define KEY_setpgrp 187
-#define KEY_setpriority 188
-#define KEY_setprotoent 189
-#define KEY_setpwent 190
-#define KEY_setservent 191
-#define KEY_setsockopt 192
-#define KEY_shift 193
-#define KEY_shmctl 194
-#define KEY_shmget 195
-#define KEY_shmread 196
-#define KEY_shmwrite 197
-#define KEY_shutdown 198
-#define KEY_sin 199
-#define KEY_sleep 200
-#define KEY_socket 201
-#define KEY_socketpair 202
-#define KEY_sort 203
-#define KEY_splice 204
-#define KEY_split 205
-#define KEY_sprintf 206
-#define KEY_sqrt 207
-#define KEY_srand 208
-#define KEY_stat 209
-#define KEY_state 210
-#define KEY_study 211
-#define KEY_sub 212
-#define KEY_substr 213
-#define KEY_symlink 214
-#define KEY_syscall 215
-#define KEY_sysopen 216
-#define KEY_sysread 217
-#define KEY_sysseek 218
-#define KEY_system 219
-#define KEY_syswrite 220
-#define KEY_tell 221
-#define KEY_telldir 222
-#define KEY_tie 223
-#define KEY_tied 224
-#define KEY_time 225
-#define KEY_times 226
-#define KEY_tr 227
-#define KEY_truncate 228
-#define KEY_uc 229
-#define KEY_ucfirst 230
-#define KEY_umask 231
-#define KEY_undef 232
-#define KEY_unless 233
-#define KEY_unlink 234
-#define KEY_unpack 235
-#define KEY_unshift 236
-#define KEY_untie 237
-#define KEY_until 238
-#define KEY_use 239
-#define KEY_utime 240
-#define KEY_values 241
-#define KEY_vec 242
-#define KEY_wait 243
-#define KEY_waitpid 244
-#define KEY_wantarray 245
-#define KEY_warn 246
-#define KEY_when 247
-#define KEY_while 248
-#define KEY_write 249
-#define KEY_x 250
-#define KEY_xor 251
-#define KEY_y 252
+#define KEY___SUB__ 6
+#define KEY_AUTOLOAD 7
+#define KEY_BEGIN 8
+#define KEY_UNITCHECK 9
+#define KEY_CORE 10
+#define KEY_DESTROY 11
+#define KEY_END 12
+#define KEY_INIT 13
+#define KEY_CHECK 14
+#define KEY_abs 15
+#define KEY_accept 16
+#define KEY_alarm 17
+#define KEY_and 18
+#define KEY_atan2 19
+#define KEY_bind 20
+#define KEY_binmode 21
+#define KEY_bless 22
+#define KEY_break 23
+#define KEY_caller 24
+#define KEY_chdir 25
+#define KEY_chmod 26
+#define KEY_chomp 27
+#define KEY_chop 28
+#define KEY_chown 29
+#define KEY_chr 30
+#define KEY_chroot 31
+#define KEY_close 32
+#define KEY_closedir 33
+#define KEY_cmp 34
+#define KEY_connect 35
+#define KEY_continue 36
+#define KEY_cos 37
+#define KEY_crypt 38
+#define KEY_dbmclose 39
+#define KEY_dbmopen 40
+#define KEY_default 41
+#define KEY_defined 42
+#define KEY_delete 43
+#define KEY_die 44
+#define KEY_do 45
+#define KEY_dump 46
+#define KEY_each 47
+#define KEY_else 48
+#define KEY_elsif 49
+#define KEY_endgrent 50
+#define KEY_endhostent 51
+#define KEY_endnetent 52
+#define KEY_endprotoent 53
+#define KEY_endpwent 54
+#define KEY_endservent 55
+#define KEY_eof 56
+#define KEY_eq 57
+#define KEY_eval 58
+#define KEY_evalbytes 59
+#define KEY_exec 60
+#define KEY_exists 61
+#define KEY_exit 62
+#define KEY_exp 63
+#define KEY_fc 64
+#define KEY_fcntl 65
+#define KEY_fileno 66
+#define KEY_flock 67
+#define KEY_for 68
+#define KEY_foreach 69
+#define KEY_fork 70
+#define KEY_format 71
+#define KEY_formline 72
+#define KEY_ge 73
+#define KEY_getc 74
+#define KEY_getgrent 75
+#define KEY_getgrgid 76
+#define KEY_getgrnam 77
+#define KEY_gethostbyaddr 78
+#define KEY_gethostbyname 79
+#define KEY_gethostent 80
+#define KEY_getlogin 81
+#define KEY_getnetbyaddr 82
+#define KEY_getnetbyname 83
+#define KEY_getnetent 84
+#define KEY_getpeername 85
+#define KEY_getpgrp 86
+#define KEY_getppid 87
+#define KEY_getpriority 88
+#define KEY_getprotobyname 89
+#define KEY_getprotobynumber 90
+#define KEY_getprotoent 91
+#define KEY_getpwent 92
+#define KEY_getpwnam 93
+#define KEY_getpwuid 94
+#define KEY_getservbyname 95
+#define KEY_getservbyport 96
+#define KEY_getservent 97
+#define KEY_getsockname 98
+#define KEY_getsockopt 99
+#define KEY_given 100
+#define KEY_glob 101
+#define KEY_gmtime 102
+#define KEY_goto 103
+#define KEY_grep 104
+#define KEY_gt 105
+#define KEY_hex 106
+#define KEY_if 107
+#define KEY_index 108
+#define KEY_int 109
+#define KEY_ioctl 110
+#define KEY_join 111
+#define KEY_keys 112
+#define KEY_kill 113
+#define KEY_last 114
+#define KEY_lc 115
+#define KEY_lcfirst 116
+#define KEY_le 117
+#define KEY_length 118
+#define KEY_link 119
+#define KEY_listen 120
+#define KEY_local 121
+#define KEY_localtime 122
+#define KEY_lock 123
+#define KEY_log 124
+#define KEY_lstat 125
+#define KEY_lt 126
+#define KEY_m 127
+#define KEY_map 128
+#define KEY_mkdir 129
+#define KEY_msgctl 130
+#define KEY_msgget 131
+#define KEY_msgrcv 132
+#define KEY_msgsnd 133
+#define KEY_my 134
+#define KEY_ne 135
+#define KEY_next 136
+#define KEY_no 137
+#define KEY_not 138
+#define KEY_oct 139
+#define KEY_open 140
+#define KEY_opendir 141
+#define KEY_or 142
+#define KEY_ord 143
+#define KEY_our 144
+#define KEY_pack 145
+#define KEY_package 146
+#define KEY_pipe 147
+#define KEY_pop 148
+#define KEY_pos 149
+#define KEY_print 150
+#define KEY_printf 151
+#define KEY_prototype 152
+#define KEY_push 153
+#define KEY_q 154
+#define KEY_qq 155
+#define KEY_qr 156
+#define KEY_quotemeta 157
+#define KEY_qw 158
+#define KEY_qx 159
+#define KEY_rand 160
+#define KEY_read 161
+#define KEY_readdir 162
+#define KEY_readline 163
+#define KEY_readlink 164
+#define KEY_readpipe 165
+#define KEY_recv 166
+#define KEY_redo 167
+#define KEY_ref 168
+#define KEY_rename 169
+#define KEY_require 170
+#define KEY_reset 171
+#define KEY_return 172
+#define KEY_reverse 173
+#define KEY_rewinddir 174
+#define KEY_rindex 175
+#define KEY_rmdir 176
+#define KEY_s 177
+#define KEY_say 178
+#define KEY_scalar 179
+#define KEY_seek 180
+#define KEY_seekdir 181
+#define KEY_select 182
+#define KEY_semctl 183
+#define KEY_semget 184
+#define KEY_semop 185
+#define KEY_send 186
+#define KEY_setgrent 187
+#define KEY_sethostent 188
+#define KEY_setnetent 189
+#define KEY_setpgrp 190
+#define KEY_setpriority 191
+#define KEY_setprotoent 192
+#define KEY_setpwent 193
+#define KEY_setservent 194
+#define KEY_setsockopt 195
+#define KEY_shift 196
+#define KEY_shmctl 197
+#define KEY_shmget 198
+#define KEY_shmread 199
+#define KEY_shmwrite 200
+#define KEY_shutdown 201
+#define KEY_sin 202
+#define KEY_sleep 203
+#define KEY_socket 204
+#define KEY_socketpair 205
+#define KEY_sort 206
+#define KEY_splice 207
+#define KEY_split 208
+#define KEY_sprintf 209
+#define KEY_sqrt 210
+#define KEY_srand 211
+#define KEY_stat 212
+#define KEY_state 213
+#define KEY_study 214
+#define KEY_sub 215
+#define KEY_substr 216
+#define KEY_symlink 217
+#define KEY_syscall 218
+#define KEY_sysopen 219
+#define KEY_sysread 220
+#define KEY_sysseek 221
+#define KEY_system 222
+#define KEY_syswrite 223
+#define KEY_tell 224
+#define KEY_telldir 225
+#define KEY_tie 226
+#define KEY_tied 227
+#define KEY_time 228
+#define KEY_times 229
+#define KEY_tr 230
+#define KEY_truncate 231
+#define KEY_uc 232
+#define KEY_ucfirst 233
+#define KEY_umask 234
+#define KEY_undef 235
+#define KEY_unless 236
+#define KEY_unlink 237
+#define KEY_unpack 238
+#define KEY_unshift 239
+#define KEY_untie 240
+#define KEY_until 241
+#define KEY_use 242
+#define KEY_utime 243
+#define KEY_values 244
+#define KEY_vec 245
+#define KEY_wait 246
+#define KEY_waitpid 247
+#define KEY_wantarray 248
+#define KEY_warn 249
+#define KEY_when 250
+#define KEY_while 251
+#define KEY_write 252
+#define KEY_x 253
+#define KEY_xor 254
+#define KEY_y 255
/* Generated from:
- * 28d95638560707fb8bee100dab74c90107c3e000f635e3bd310d4e2501d3b073 regen/keywords.pl
+ * e5a540774760ea54c761ef17ee4a153cc264e9a700b817d561e390730c457406 regen/keywords.pl
* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/l1_char_class_tab.h b/Master/tlpkg/tlperl/lib/CORE/l1_char_class_tab.h
index d43f87ad777..d649c89d8a7 100644
--- a/Master/tlpkg/tlperl/lib/CORE/l1_char_class_tab.h
+++ b/Master/tlpkg/tlperl/lib/CORE/l1_char_class_tab.h
@@ -1,58 +1,58 @@
/* -*- buffer-read-only: t -*-
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- * This file is built by regen/mk_PL_charclass.pl from
- * lib/unicore/CaseFolding.txt.
+ * This file is built by regen/mk_PL_charclass.pl from property definitions
+ * and lib/unicore/CaseFolding.txt.
* Any changes made here will be lost!
*/
-/* U+00 NUL */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+01 SOH */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+02 STX */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+03 ETX */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+04 EOT */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+05 ENQ */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+06 ACK */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+07 BEL */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+08 BS */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+09 HT */ _CC_BLANK_A|_CC_BLANK_L1|_CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1,
-/* U+0A LF */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1,
-/* U+0B VT */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1,
-/* U+0C FF */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1,
-/* U+0D CR */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1,
-/* U+0E SO */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+0F SI */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+10 DLE */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+11 DC1 */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+12 DC2 */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+13 DC3 */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+14 DC4 */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+15 NAK */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+16 SYN */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+17 ETB */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+18 CAN */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+19 EOM */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+1A SUB */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+1B ESC */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+1C FS */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+1D GS */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+1E RS */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+1F US */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+20 SPACE */ _CC_BLANK_A|_CC_BLANK_L1|_CC_CHARNAME_CONT|_CC_PRINT_A|_CC_PRINT_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1,
-/* U+21 '!' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+22 '"' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+23 '#' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+24 '$' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+25 '%' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+26 '&' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+27 ''' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+28 '(' */ _CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+29 ')' */ _CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+2A '*' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+2B '+' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+2C ',' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+2D '-' */ _CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+2E '.' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+2F '/' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+00 NUL */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+01 SOH */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+02 STX */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+03 ETX */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+04 EOT */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+05 ENQ */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+06 ACK */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+07 BEL */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+08 BS */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+09 HT */ _CC_BLANK_A|_CC_BLANK_L1|_CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1|_CC_QUOTEMETA,
+/* U+0A LF */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1|_CC_QUOTEMETA,
+/* U+0B VT */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_QUOTEMETA,
+/* U+0C FF */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1|_CC_QUOTEMETA,
+/* U+0D CR */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1|_CC_QUOTEMETA,
+/* U+0E SO */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+0F SI */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+10 DLE */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+11 DC1 */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+12 DC2 */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+13 DC3 */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+14 DC4 */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+15 NAK */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+16 SYN */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+17 ETB */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+18 CAN */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+19 EOM */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+1A SUB */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+1B ESC */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+1C FS */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+1D GS */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+1E RS */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+1F US */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+20 SPACE */ _CC_BLANK_A|_CC_BLANK_L1|_CC_CHARNAME_CONT|_CC_PRINT_A|_CC_PRINT_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1|_CC_QUOTEMETA,
+/* U+21 '!' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+22 '"' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+23 '#' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+24 '$' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+25 '%' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+26 '&' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+27 ''' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+28 '(' */ _CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+29 ')' */ _CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+2A '*' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+2B '+' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+2C ',' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+2D '-' */ _CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+2E '.' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+2F '/' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
/* U+30 '0' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
/* U+31 '1' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
/* U+32 '2' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
@@ -63,13 +63,13 @@
/* U+37 '7' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
/* U+38 '8' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
/* U+39 '9' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+3A ':' */ _CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+3B ';' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+3C '<' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+3D '=' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+3E '>' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+3F '?' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+40 '@' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+3A ':' */ _CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+3B ';' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+3C '<' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+3D '=' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+3E '>' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+3F '?' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+40 '@' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
/* U+41 'A' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
/* U+42 'B' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
/* U+43 'C' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
@@ -96,12 +96,12 @@
/* U+58 'X' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
/* U+59 'Y' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
/* U+5A 'Z' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+5B '[' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+5C '\' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+5D ']' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+5E '^' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+5B '[' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+5C '\' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+5D ']' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+5E '^' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
/* U+5F '_' */ _CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+60 '`' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
+/* U+60 '`' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
/* U+61 'a' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
/* U+62 'b' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
/* U+63 'c' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
@@ -128,75 +128,75 @@
/* U+78 'x' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
/* U+79 'y' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
/* U+7A 'z' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+7B '{' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+7C '|' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+7D '}' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+7E '~' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+7F DEL */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+80 PAD */ _CC_CNTRL_L1,
-/* U+81 HOP */ _CC_CNTRL_L1,
-/* U+82 BPH */ _CC_CNTRL_L1,
-/* U+83 NBH */ _CC_CNTRL_L1,
-/* U+84 IND */ _CC_CNTRL_L1,
-/* U+85 NEL */ _CC_CNTRL_L1|_CC_PSXSPC_L1|_CC_SPACE_L1,
-/* U+86 SSA */ _CC_CNTRL_L1,
-/* U+87 ESA */ _CC_CNTRL_L1,
-/* U+88 HTS */ _CC_CNTRL_L1,
-/* U+89 HTJ */ _CC_CNTRL_L1,
-/* U+8A VTS */ _CC_CNTRL_L1,
-/* U+8B PLD */ _CC_CNTRL_L1,
-/* U+8C PLU */ _CC_CNTRL_L1,
-/* U+8D RI */ _CC_CNTRL_L1,
-/* U+8E SS2 */ _CC_CNTRL_L1,
-/* U+8F SS3 */ _CC_CNTRL_L1,
-/* U+90 DCS */ _CC_CNTRL_L1,
-/* U+91 PU1 */ _CC_CNTRL_L1,
-/* U+92 PU2 */ _CC_CNTRL_L1,
-/* U+93 STS */ _CC_CNTRL_L1,
-/* U+94 CCH */ _CC_CNTRL_L1,
-/* U+95 MW */ _CC_CNTRL_L1,
-/* U+96 SPA */ _CC_CNTRL_L1,
-/* U+97 EPA */ _CC_CNTRL_L1,
-/* U+98 SOS */ _CC_CNTRL_L1,
-/* U+99 SGC */ _CC_CNTRL_L1,
-/* U+9A SCI */ _CC_CNTRL_L1,
-/* U+9B CSI */ _CC_CNTRL_L1,
-/* U+9C ST */ _CC_CNTRL_L1,
-/* U+9D OSC */ _CC_CNTRL_L1,
-/* U+9E PM */ _CC_CNTRL_L1,
-/* U+9F APC */ _CC_CNTRL_L1,
-/* U+A0 NO-BREAK SPACE */ _CC_BLANK_L1|_CC_CHARNAME_CONT|_CC_PRINT_L1|_CC_PSXSPC_L1|_CC_SPACE_L1,
-/* U+A1 INVERTED EXCLAMATION MARK */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1,
-/* U+A2 CENT SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+A3 POUND SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+A4 CURRENCY SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+A5 YEN SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+A6 BROKEN BAR */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+A7 SECTION SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+7B '{' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+7C '|' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+7D '}' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+7E '~' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+7F DEL */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+80 PAD */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+81 HOP */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+82 BPH */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+83 NBH */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+84 IND */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+85 NEL */ _CC_CNTRL_L1|_CC_PSXSPC_L1|_CC_SPACE_L1|_CC_QUOTEMETA,
+/* U+86 SSA */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+87 ESA */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+88 HTS */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+89 HTJ */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+8A VTS */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+8B PLD */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+8C PLU */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+8D RI */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+8E SS2 */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+8F SS3 */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+90 DCS */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+91 PU1 */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+92 PU2 */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+93 STS */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+94 CCH */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+95 MW */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+96 SPA */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+97 EPA */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+98 SOS */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+99 SGC */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+9A SCI */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+9B CSI */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+9C ST */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+9D OSC */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+9E PM */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+9F APC */ _CC_CNTRL_L1|_CC_QUOTEMETA,
+/* U+A0 NO-BREAK SPACE */ _CC_BLANK_L1|_CC_CHARNAME_CONT|_CC_PRINT_L1|_CC_PSXSPC_L1|_CC_SPACE_L1|_CC_QUOTEMETA,
+/* U+A1 INVERTED EXCLAMATION MARK */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+A2 CENT SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_QUOTEMETA,
+/* U+A3 POUND SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_QUOTEMETA,
+/* U+A4 CURRENCY SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_QUOTEMETA,
+/* U+A5 YEN SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_QUOTEMETA,
+/* U+A6 BROKEN BAR */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_QUOTEMETA,
+/* U+A7 SECTION SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1|_CC_QUOTEMETA,
/* U+A8 DIAERESIS */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+A9 COPYRIGHT SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+A9 COPYRIGHT SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_QUOTEMETA,
/* U+AA FEMININE ORDINAL INDICATOR */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1,
-/* U+AC NOT SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+AD SOFT HYPHEN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+AE REGISTERED SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1|_CC_QUOTEMETA,
+/* U+AC NOT SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_QUOTEMETA,
+/* U+AD SOFT HYPHEN */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_QUOTEMETA,
+/* U+AE REGISTERED SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_QUOTEMETA,
/* U+AF MACRON */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+B0 DEGREE SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+B1 PLUS-MINUS SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+B0 DEGREE SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_QUOTEMETA,
+/* U+B1 PLUS-MINUS SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_QUOTEMETA,
/* U+B2 SUPERSCRIPT TWO */ _CC_GRAPH_L1|_CC_PRINT_L1,
/* U+B3 SUPERSCRIPT THREE */ _CC_GRAPH_L1|_CC_PRINT_L1,
/* U+B4 ACUTE ACCENT */ _CC_GRAPH_L1|_CC_PRINT_L1,
/* U+B5 MICRO SIGN */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+B6 PILCROW SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+B6 PILCROW SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1|_CC_QUOTEMETA,
/* U+B7 MIDDLE DOT */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1,
/* U+B8 CEDILLA */ _CC_GRAPH_L1|_CC_PRINT_L1,
/* U+B9 SUPERSCRIPT ONE */ _CC_GRAPH_L1|_CC_PRINT_L1,
/* U+BA MASCULINE ORDINAL INDICATOR */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1,
+/* U+BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1|_CC_QUOTEMETA,
/* U+BC VULGAR FRACTION ONE QUARTER */ _CC_GRAPH_L1|_CC_PRINT_L1,
/* U+BD VULGAR FRACTION ONE HALF */ _CC_GRAPH_L1|_CC_PRINT_L1,
/* U+BE VULGAR FRACTION THREE QUARTERS */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+BF INVERTED QUESTION MARK */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1,
+/* U+BF INVERTED QUESTION MARK */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1|_CC_QUOTEMETA,
/* U+C0 A WITH GRAVE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
/* U+C1 A WITH ACUTE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
/* U+C2 A WITH CIRCUMFLEX */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
@@ -220,7 +220,7 @@
/* U+D4 O WITH CIRCUMFLEX */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
/* U+D5 O WITH TILDE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
/* U+D6 O WITH DIAERESIS */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+D7 MULTIPLICATION SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+D7 MULTIPLICATION SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_QUOTEMETA,
/* U+D8 O WITH STROKE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
/* U+D9 U WITH GRAVE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
/* U+DA U WITH ACUTE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
@@ -252,7 +252,7 @@
/* U+F4 o with circumflex */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
/* U+F5 o with tilde */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
/* U+F6 o with diaeresis */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+F7 DIVISION SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
+/* U+F7 DIVISION SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_QUOTEMETA,
/* U+F8 o with stroke */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
/* U+F9 u with grave */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
/* U+FA u with acute */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
diff --git a/Master/tlpkg/tlperl/lib/CORE/libperl514.a b/Master/tlpkg/tlperl/lib/CORE/libperl516.a
index 534fd81f84f..b6a9b6b4ef5 100644
--- a/Master/tlpkg/tlperl/lib/CORE/libperl514.a
+++ b/Master/tlpkg/tlperl/lib/CORE/libperl516.a
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/CORE/metaconfig.h b/Master/tlpkg/tlperl/lib/CORE/metaconfig.h
index 95aba26b87e..7fb867edeb4 100644
--- a/Master/tlpkg/tlperl/lib/CORE/metaconfig.h
+++ b/Master/tlpkg/tlperl/lib/CORE/metaconfig.h
@@ -1,7 +1,7 @@
/* This is a placeholder file for symbols that should be exported
* into config_h.SH and Porting/Glossary. See also metaconfig.SH
*
- * First version was created from the part in handy.h (which includes this)
+ * First version was created from the part in handy.h
* H.Merijn Brand 21 Dec 2010 (Tux)
*
* Mentioned variables are forced to be included into config_h.SH
@@ -11,34 +11,24 @@
* in Configure, this is the way to force them into availability.
*
* CHARBITS
- * GMTIME_MAX
- * GMTIME_MIN
* HAS_ASCTIME64
* HAS_CTIME64
* HAS_DIFFTIME64
- * HAS_GETADDRINFO
- * HAS_GETNAMEINFO
* HAS_GMTIME64
- * HAS_INETNTOP
- * HAS_INETPTON
+ * HAS_ISBLANK
* HAS_LOCALTIME64
+ * HAS_IPV6_MREQ
* HAS_MKTIME64
* HAS_PRCTL
* HAS_PSEUDOFORK
- * HAS_SIN6_SCOPE_ID
- * HAS_SOCKADDR_SA_LEN
* HAS_TIMEGM
+ * HAS_SOCKADDR_IN6
* I16SIZE
- * I32SIZE
* I64SIZE
* I8SIZE
- * LOCALTIME_MAX
- * LOCALTIME_MIN
* LOCALTIME_R_NEEDS_TZSET
- * U16SIZE
- * U32SIZE
- * U64SIZE
* U8SIZE
- * USE_DTRACE
+ * USE_KERN_PROC_PATHNAME
+ * USE_NSGETEXECUTABLEPATH
*
*/
diff --git a/Master/tlpkg/tlperl/lib/CORE/mg.h b/Master/tlpkg/tlperl/lib/CORE/mg.h
index 848f735d6cb..53ef6287513 100644
--- a/Master/tlpkg/tlperl/lib/CORE/mg.h
+++ b/Master/tlpkg/tlperl/lib/CORE/mg.h
@@ -61,6 +61,8 @@ struct magic {
#define SvTIED_obj(sv,mg) \
((mg)->mg_obj ? (mg)->mg_obj : sv_2mortal(newRV(sv)))
+#define whichsig(pv) whichsig_pv(pv)
+
/*
* Local variables:
* c-indentation-style: bsd
diff --git a/Master/tlpkg/tlperl/lib/CORE/mg_data.h b/Master/tlpkg/tlperl/lib/CORE/mg_data.h
new file mode 100644
index 00000000000..10b10682488
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CORE/mg_data.h
@@ -0,0 +1,299 @@
+{
+ /* sv '\0' Special scalar variable */
+ want_vtbl_sv | PERL_MAGIC_READONLY_ACCEPTABLE,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* arylen '#' Array length ($#ary) */
+ want_vtbl_arylen | PERL_MAGIC_VALUE_MAGIC,
+ 0,
+ /* rhash '%' extra data for restricted hashes */
+ magic_vtable_max | PERL_MAGIC_VALUE_MAGIC,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* pos '.' pos() lvalue */
+ want_vtbl_pos | PERL_MAGIC_VALUE_MAGIC,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* symtab ':' extra data for symbol tables */
+ magic_vtable_max | PERL_MAGIC_VALUE_MAGIC,
+ 0,
+ /* backref '<' for weak ref data */
+ want_vtbl_backref | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC,
+ 0,
+ 0,
+ 0,
+ /* arylen_p '@' to move arylen out of XPVAV */
+ magic_vtable_max | PERL_MAGIC_VALUE_MAGIC,
+ /* overload 'A' %OVERLOAD hash */
+ want_vtbl_amagic,
+ /* bm 'B' Boyer-Moore (fast string search) */
+ want_vtbl_regexp | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC,
+ 0,
+ /* regdata 'D' Regex match position data (@+ and @- vars) */
+ want_vtbl_regdata,
+ /* env 'E' %ENV hash */
+ want_vtbl_env,
+ 0,
+ /* study 'G' study()ed string */
+ want_vtbl_regexp | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC,
+ /* hints 'H' %^H hash */
+ want_vtbl_hints,
+ /* isa 'I' @ISA array */
+ want_vtbl_isa,
+ 0,
+ 0,
+ /* dbfile 'L' Debugger %_<filename */
+ magic_vtable_max,
+ 0,
+ 0,
+ 0,
+ /* tied 'P' Tied array or hash */
+ want_vtbl_pack | PERL_MAGIC_VALUE_MAGIC,
+ 0,
+ 0,
+ /* sig 'S' %SIG hash */
+ magic_vtable_max,
+ 0,
+ /* uvar 'U' Available for use by extensions */
+ want_vtbl_uvar,
+ /* vstring 'V' SV was vstring literal */
+ want_vtbl_vstring | PERL_MAGIC_VALUE_MAGIC,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* checkcall ']' inlining/mutation of call to this CV */
+ magic_vtable_max | PERL_MAGIC_VALUE_MAGIC,
+ 0,
+ 0,
+ 0,
+ /* overload_elem 'a' %OVERLOAD hash element */
+ want_vtbl_amagicelem,
+ 0,
+ /* overload_table 'c' Holds overload table (AMT) on stash */
+ want_vtbl_ovrld,
+ /* regdatum 'd' Regex match position data element */
+ want_vtbl_regdatum,
+ /* envelem 'e' %ENV hash element */
+ want_vtbl_envelem,
+ /* fm 'f' Formline ('compiled' format) */
+ want_vtbl_regdata | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC,
+ /* regex_global 'g' m//g target */
+ want_vtbl_mglob | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC,
+ /* hintselem 'h' %^H hash element */
+ want_vtbl_hintselem,
+ /* isaelem 'i' @ISA array element */
+ want_vtbl_isaelem,
+ 0,
+ /* nkeys 'k' scalar(keys()) lvalue */
+ want_vtbl_nkeys | PERL_MAGIC_VALUE_MAGIC,
+ /* dbline 'l' Debugger %_<filename element */
+ want_vtbl_dbline,
+ 0,
+ 0,
+ /* collxfrm 'o' Locale transformation */
+ want_vtbl_collxfrm | PERL_MAGIC_VALUE_MAGIC,
+ /* tiedelem 'p' Tied array or hash element */
+ want_vtbl_packelem,
+ /* tiedscalar 'q' Tied scalar or handle */
+ want_vtbl_packelem,
+ /* qr 'r' precompiled qr// regex */
+ want_vtbl_regexp | PERL_MAGIC_VALUE_MAGIC,
+ /* sigelem 's' %SIG hash element */
+ want_vtbl_sigelem,
+ /* taint 't' Taintedness */
+ want_vtbl_taint | PERL_MAGIC_VALUE_MAGIC,
+ 0,
+ /* vec 'v' vec() lvalue */
+ want_vtbl_vec | PERL_MAGIC_VALUE_MAGIC,
+ /* utf8 'w' Cached UTF-8 information */
+ want_vtbl_utf8 | PERL_MAGIC_VALUE_MAGIC,
+ /* substr 'x' substr() lvalue */
+ want_vtbl_substr | PERL_MAGIC_VALUE_MAGIC,
+ /* defelem 'y' Shadow "foreach" iterator variable / smart parameter vivification */
+ want_vtbl_defelem | PERL_MAGIC_VALUE_MAGIC,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* ext '~' Available for use by extensions */
+ magic_vtable_max,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0
+}
diff --git a/Master/tlpkg/tlperl/lib/CORE/mg_raw.h b/Master/tlpkg/tlperl/lib/CORE/mg_raw.h
new file mode 100644
index 00000000000..f4e174247bd
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CORE/mg_raw.h
@@ -0,0 +1,92 @@
+/* -*- buffer-read-only: t -*-
+ *
+ * mg_raw.h
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ * This file is built by regen/mg_vtable.pl.
+ * Any changes made here will be lost!
+ */
+
+ { '\0', "want_vtbl_sv | PERL_MAGIC_READONLY_ACCEPTABLE",
+ "/* sv '\\0' Special scalar variable */" },
+ { '#', "want_vtbl_arylen | PERL_MAGIC_VALUE_MAGIC",
+ "/* arylen '#' Array length ($#ary) */" },
+ { '%', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC",
+ "/* rhash '%' extra data for restricted hashes */" },
+ { '.', "want_vtbl_pos | PERL_MAGIC_VALUE_MAGIC",
+ "/* pos '.' pos() lvalue */" },
+ { ':', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC",
+ "/* symtab ':' extra data for symbol tables */" },
+ { '<', "want_vtbl_backref | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC",
+ "/* backref '<' for weak ref data */" },
+ { '@', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC",
+ "/* arylen_p '@' to move arylen out of XPVAV */" },
+ { 'A', "want_vtbl_amagic",
+ "/* overload 'A' %OVERLOAD hash */" },
+ { 'a', "want_vtbl_amagicelem",
+ "/* overload_elem 'a' %OVERLOAD hash element */" },
+ { 'B', "want_vtbl_regexp | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC",
+ "/* bm 'B' Boyer-Moore (fast string search) */" },
+ { 'c', "want_vtbl_ovrld",
+ "/* overload_table 'c' Holds overload table (AMT) on stash */" },
+ { 'D', "want_vtbl_regdata",
+ "/* regdata 'D' Regex match position data (@+ and @- vars) */" },
+ { 'd', "want_vtbl_regdatum",
+ "/* regdatum 'd' Regex match position data element */" },
+ { 'E', "want_vtbl_env",
+ "/* env 'E' %ENV hash */" },
+ { 'e', "want_vtbl_envelem",
+ "/* envelem 'e' %ENV hash element */" },
+ { 'f', "want_vtbl_regdata | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC",
+ "/* fm 'f' Formline ('compiled' format) */" },
+ { 'G', "want_vtbl_regexp | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC",
+ "/* study 'G' study()ed string */" },
+ { 'g', "want_vtbl_mglob | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC",
+ "/* regex_global 'g' m//g target */" },
+ { 'H', "want_vtbl_hints",
+ "/* hints 'H' %^H hash */" },
+ { 'h', "want_vtbl_hintselem",
+ "/* hintselem 'h' %^H hash element */" },
+ { 'I', "want_vtbl_isa",
+ "/* isa 'I' @ISA array */" },
+ { 'i', "want_vtbl_isaelem",
+ "/* isaelem 'i' @ISA array element */" },
+ { 'k', "want_vtbl_nkeys | PERL_MAGIC_VALUE_MAGIC",
+ "/* nkeys 'k' scalar(keys()) lvalue */" },
+ { 'L', "magic_vtable_max",
+ "/* dbfile 'L' Debugger %_<filename */" },
+ { 'l', "want_vtbl_dbline",
+ "/* dbline 'l' Debugger %_<filename element */" },
+ { 'o', "want_vtbl_collxfrm | PERL_MAGIC_VALUE_MAGIC",
+ "/* collxfrm 'o' Locale transformation */" },
+ { 'P', "want_vtbl_pack | PERL_MAGIC_VALUE_MAGIC",
+ "/* tied 'P' Tied array or hash */" },
+ { 'p', "want_vtbl_packelem",
+ "/* tiedelem 'p' Tied array or hash element */" },
+ { 'q', "want_vtbl_packelem",
+ "/* tiedscalar 'q' Tied scalar or handle */" },
+ { 'r', "want_vtbl_regexp | PERL_MAGIC_VALUE_MAGIC",
+ "/* qr 'r' precompiled qr// regex */" },
+ { 'S', "magic_vtable_max",
+ "/* sig 'S' %SIG hash */" },
+ { 's', "want_vtbl_sigelem",
+ "/* sigelem 's' %SIG hash element */" },
+ { 't', "want_vtbl_taint | PERL_MAGIC_VALUE_MAGIC",
+ "/* taint 't' Taintedness */" },
+ { 'U', "want_vtbl_uvar",
+ "/* uvar 'U' Available for use by extensions */" },
+ { 'V', "want_vtbl_vstring | PERL_MAGIC_VALUE_MAGIC",
+ "/* vstring 'V' SV was vstring literal */" },
+ { 'v', "want_vtbl_vec | PERL_MAGIC_VALUE_MAGIC",
+ "/* vec 'v' vec() lvalue */" },
+ { 'w', "want_vtbl_utf8 | PERL_MAGIC_VALUE_MAGIC",
+ "/* utf8 'w' Cached UTF-8 information */" },
+ { 'x', "want_vtbl_substr | PERL_MAGIC_VALUE_MAGIC",
+ "/* substr 'x' substr() lvalue */" },
+ { 'y', "want_vtbl_defelem | PERL_MAGIC_VALUE_MAGIC",
+ "/* defelem 'y' Shadow \"foreach\" iterator variable / smart parameter vivification */" },
+ { ']', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC",
+ "/* checkcall ']' inlining/mutation of call to this CV */" },
+ { '~', "magic_vtable_max",
+ "/* ext '~' Available for use by extensions */" },
+
+/* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/mg_vtable.h b/Master/tlpkg/tlperl/lib/CORE/mg_vtable.h
new file mode 100644
index 00000000000..12f2fa35f32
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CORE/mg_vtable.h
@@ -0,0 +1,235 @@
+/* -*- buffer-read-only: t -*-
+ *
+ * mg_vtable.h
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ * This file is built by regen/mg_vtable.pl.
+ * Any changes made here will be lost!
+ */
+
+/* These constants should be used in preference to raw characters
+ * when using magic. Note that some perl guts still assume
+ * certain character properties of these constants, namely that
+ * isUPPER() and toLOWER() may do useful mappings.
+ */
+
+#define PERL_MAGIC_sv '\0' /* Special scalar variable */
+#define PERL_MAGIC_arylen '#' /* Array length ($#ary) */
+#define PERL_MAGIC_rhash '%' /* extra data for restricted hashes */
+#define PERL_MAGIC_pos '.' /* pos() lvalue */
+#define PERL_MAGIC_symtab ':' /* extra data for symbol tables */
+#define PERL_MAGIC_backref '<' /* for weak ref data */
+#define PERL_MAGIC_arylen_p '@' /* to move arylen out of XPVAV */
+#define PERL_MAGIC_overload 'A' /* %OVERLOAD hash */
+#define PERL_MAGIC_overload_elem 'a' /* %OVERLOAD hash element */
+#define PERL_MAGIC_bm 'B' /* Boyer-Moore (fast string search) */
+#define PERL_MAGIC_overload_table 'c' /* Holds overload table (AMT) on stash */
+#define PERL_MAGIC_regdata 'D' /* Regex match position data
+ (@+ and @- vars) */
+#define PERL_MAGIC_regdatum 'd' /* Regex match position data element */
+#define PERL_MAGIC_env 'E' /* %ENV hash */
+#define PERL_MAGIC_envelem 'e' /* %ENV hash element */
+#define PERL_MAGIC_fm 'f' /* Formline ('compiled' format) */
+#define PERL_MAGIC_study 'G' /* study()ed string */
+#define PERL_MAGIC_regex_global 'g' /* m//g target */
+#define PERL_MAGIC_hints 'H' /* %^H hash */
+#define PERL_MAGIC_hintselem 'h' /* %^H hash element */
+#define PERL_MAGIC_isa 'I' /* @ISA array */
+#define PERL_MAGIC_isaelem 'i' /* @ISA array element */
+#define PERL_MAGIC_nkeys 'k' /* scalar(keys()) lvalue */
+#define PERL_MAGIC_dbfile 'L' /* Debugger %_<filename */
+#define PERL_MAGIC_dbline 'l' /* Debugger %_<filename element */
+#define PERL_MAGIC_shared 'N' /* Shared between threads */
+#define PERL_MAGIC_shared_scalar 'n' /* Shared between threads */
+#define PERL_MAGIC_collxfrm 'o' /* Locale transformation */
+#define PERL_MAGIC_tied 'P' /* Tied array or hash */
+#define PERL_MAGIC_tiedelem 'p' /* Tied array or hash element */
+#define PERL_MAGIC_tiedscalar 'q' /* Tied scalar or handle */
+#define PERL_MAGIC_qr 'r' /* precompiled qr// regex */
+#define PERL_MAGIC_sig 'S' /* %SIG hash */
+#define PERL_MAGIC_sigelem 's' /* %SIG hash element */
+#define PERL_MAGIC_taint 't' /* Taintedness */
+#define PERL_MAGIC_uvar 'U' /* Available for use by extensions */
+#define PERL_MAGIC_uvar_elem 'u' /* Reserved for use by extensions */
+#define PERL_MAGIC_vstring 'V' /* SV was vstring literal */
+#define PERL_MAGIC_vec 'v' /* vec() lvalue */
+#define PERL_MAGIC_utf8 'w' /* Cached UTF-8 information */
+#define PERL_MAGIC_substr 'x' /* substr() lvalue */
+#define PERL_MAGIC_defelem 'y' /* Shadow "foreach" iterator variable /
+ smart parameter vivification */
+#define PERL_MAGIC_checkcall ']' /* inlining/mutation of call to this CV */
+#define PERL_MAGIC_ext '~' /* Available for use by extensions */
+
+enum { /* pass one of these to get_vtbl */
+ want_vtbl_amagic,
+ want_vtbl_amagicelem,
+ want_vtbl_arylen,
+ want_vtbl_arylen_p,
+ want_vtbl_backref,
+ want_vtbl_collxfrm,
+ want_vtbl_dbline,
+ want_vtbl_defelem,
+ want_vtbl_env,
+ want_vtbl_envelem,
+ want_vtbl_hints,
+ want_vtbl_hintselem,
+ want_vtbl_isa,
+ want_vtbl_isaelem,
+ want_vtbl_mglob,
+ want_vtbl_nkeys,
+ want_vtbl_ovrld,
+ want_vtbl_pack,
+ want_vtbl_packelem,
+ want_vtbl_pos,
+ want_vtbl_regdata,
+ want_vtbl_regdatum,
+ want_vtbl_regexp,
+ want_vtbl_sigelem,
+ want_vtbl_substr,
+ want_vtbl_sv,
+ want_vtbl_taint,
+ want_vtbl_utf8,
+ want_vtbl_uvar,
+ want_vtbl_vec,
+ want_vtbl_vstring,
+ magic_vtable_max
+};
+
+#ifdef DOINIT
+EXTCONST char *PL_magic_vtable_names[magic_vtable_max] = {
+ "amagic",
+ "amagicelem",
+ "arylen",
+ "arylen_p",
+ "backref",
+ "collxfrm",
+ "dbline",
+ "defelem",
+ "env",
+ "envelem",
+ "hints",
+ "hintselem",
+ "isa",
+ "isaelem",
+ "mglob",
+ "nkeys",
+ "ovrld",
+ "pack",
+ "packelem",
+ "pos",
+ "regdata",
+ "regdatum",
+ "regexp",
+ "sigelem",
+ "substr",
+ "sv",
+ "taint",
+ "utf8",
+ "uvar",
+ "vec",
+ "vstring"
+};
+#else
+EXTCONST char *PL_magic_vtable_names[magic_vtable_max];
+#endif
+
+/* These all need to be 0, not NULL, as NULL can be (void*)0, which is a
+ * pointer to data, whereas we're assigning pointers to functions, which are
+ * not the same beast. ANSI doesn't allow the assignment from one to the other.
+ * (although most, but not all, compilers are prepared to do it)
+ */
+
+/* order is:
+ get
+ set
+ len
+ clear
+ free
+ copy
+ dup
+ local
+*/
+
+#ifdef DOINIT
+EXT_MGVTBL PL_magic_vtables[magic_vtable_max] = {
+ { 0, Perl_magic_setamagic, 0, 0, Perl_magic_setamagic, 0, 0, 0 },
+ { 0, Perl_magic_setamagic, 0, 0, Perl_magic_setamagic, 0, 0, 0 },
+ { (int (*)(pTHX_ SV *, MAGIC *))Perl_magic_getarylen, Perl_magic_setarylen, 0, 0, 0, 0, 0, 0 },
+ { 0, 0, 0, 0, Perl_magic_freearylen_p, 0, 0, 0 },
+ { 0, 0, 0, 0, Perl_magic_killbackrefs, 0, 0, 0 },
+#ifdef USE_LOCALE_COLLATE
+ { 0, Perl_magic_setcollxfrm, 0, 0, 0, 0, 0, 0 },
+#else
+ { 0, 0, 0, 0, 0, 0, 0, 0 },
+#endif
+ { 0, Perl_magic_setdbline, 0, 0, 0, 0, 0, 0 },
+ { Perl_magic_getdefelem, Perl_magic_setdefelem, 0, 0, 0, 0, 0, 0 },
+ { 0, Perl_magic_set_all_env, 0, Perl_magic_clear_all_env, 0, 0, 0, 0 },
+ { 0, Perl_magic_setenv, 0, Perl_magic_clearenv, 0, 0, 0, 0 },
+ { 0, 0, 0, Perl_magic_clearhints, 0, 0, 0, 0 },
+ { 0, Perl_magic_sethint, 0, Perl_magic_clearhint, 0, 0, 0, 0 },
+ { 0, Perl_magic_setisa, 0, Perl_magic_clearisa, 0, 0, 0, 0 },
+ { 0, Perl_magic_setisa, 0, 0, 0, 0, 0, 0 },
+ { 0, Perl_magic_setmglob, 0, 0, 0, 0, 0, 0 },
+ { Perl_magic_getnkeys, Perl_magic_setnkeys, 0, 0, 0, 0, 0, 0 },
+ { 0, 0, 0, 0, Perl_magic_freeovrld, 0, 0, 0 },
+ { 0, 0, Perl_magic_sizepack, Perl_magic_wipepack, 0, 0, 0, 0 },
+ { Perl_magic_getpack, Perl_magic_setpack, 0, Perl_magic_clearpack, 0, 0, 0, 0 },
+ { Perl_magic_getpos, Perl_magic_setpos, 0, 0, 0, 0, 0, 0 },
+ { 0, 0, Perl_magic_regdata_cnt, 0, 0, 0, 0, 0 },
+ { Perl_magic_regdatum_get, Perl_magic_regdatum_set, 0, 0, 0, 0, 0, 0 },
+ { 0, Perl_magic_setregexp, 0, 0, 0, 0, 0, 0 },
+#ifndef PERL_MICRO
+ { Perl_magic_getsig, Perl_magic_setsig, 0, Perl_magic_clearsig, 0, 0, 0, 0 },
+#else
+ { 0, 0, 0, 0, 0, 0, 0, 0 },
+#endif
+ { Perl_magic_getsubstr, Perl_magic_setsubstr, 0, 0, 0, 0, 0, 0 },
+ { Perl_magic_get, Perl_magic_set, Perl_magic_len, 0, 0, 0, 0, 0 },
+ { Perl_magic_gettaint, Perl_magic_settaint, 0, 0, 0, 0, 0, 0 },
+ { 0, Perl_magic_setutf8, 0, 0, 0, 0, 0, 0 },
+ { Perl_magic_getuvar, Perl_magic_setuvar, 0, 0, 0, 0, 0, 0 },
+ { Perl_magic_getvec, Perl_magic_setvec, 0, 0, 0, 0, 0, 0 },
+ { 0, Perl_magic_setvstring, 0, 0, 0, 0, 0, 0 }
+};
+#else
+EXT_MGVTBL PL_magic_vtables[magic_vtable_max];
+#endif
+
+#define want_vtbl_bm want_vtbl_regexp
+#define want_vtbl_fm want_vtbl_regexp
+
+#define PL_vtbl_amagic PL_magic_vtables[want_vtbl_amagic]
+#define PL_vtbl_amagicelem PL_magic_vtables[want_vtbl_amagicelem]
+#define PL_vtbl_arylen PL_magic_vtables[want_vtbl_arylen]
+#define PL_vtbl_arylen_p PL_magic_vtables[want_vtbl_arylen_p]
+#define PL_vtbl_backref PL_magic_vtables[want_vtbl_backref]
+#define PL_vtbl_bm PL_magic_vtables[want_vtbl_bm]
+#define PL_vtbl_collxfrm PL_magic_vtables[want_vtbl_collxfrm]
+#define PL_vtbl_dbline PL_magic_vtables[want_vtbl_dbline]
+#define PL_vtbl_defelem PL_magic_vtables[want_vtbl_defelem]
+#define PL_vtbl_env PL_magic_vtables[want_vtbl_env]
+#define PL_vtbl_envelem PL_magic_vtables[want_vtbl_envelem]
+#define PL_vtbl_fm PL_magic_vtables[want_vtbl_fm]
+#define PL_vtbl_hints PL_magic_vtables[want_vtbl_hints]
+#define PL_vtbl_hintselem PL_magic_vtables[want_vtbl_hintselem]
+#define PL_vtbl_isa PL_magic_vtables[want_vtbl_isa]
+#define PL_vtbl_isaelem PL_magic_vtables[want_vtbl_isaelem]
+#define PL_vtbl_mglob PL_magic_vtables[want_vtbl_mglob]
+#define PL_vtbl_nkeys PL_magic_vtables[want_vtbl_nkeys]
+#define PL_vtbl_ovrld PL_magic_vtables[want_vtbl_ovrld]
+#define PL_vtbl_pack PL_magic_vtables[want_vtbl_pack]
+#define PL_vtbl_packelem PL_magic_vtables[want_vtbl_packelem]
+#define PL_vtbl_pos PL_magic_vtables[want_vtbl_pos]
+#define PL_vtbl_regdata PL_magic_vtables[want_vtbl_regdata]
+#define PL_vtbl_regdatum PL_magic_vtables[want_vtbl_regdatum]
+#define PL_vtbl_regexp PL_magic_vtables[want_vtbl_regexp]
+#define PL_vtbl_sigelem PL_magic_vtables[want_vtbl_sigelem]
+#define PL_vtbl_substr PL_magic_vtables[want_vtbl_substr]
+#define PL_vtbl_sv PL_magic_vtables[want_vtbl_sv]
+#define PL_vtbl_taint PL_magic_vtables[want_vtbl_taint]
+#define PL_vtbl_utf8 PL_magic_vtables[want_vtbl_utf8]
+#define PL_vtbl_uvar PL_magic_vtables[want_vtbl_uvar]
+#define PL_vtbl_vec PL_magic_vtables[want_vtbl_vec]
+#define PL_vtbl_vstring PL_magic_vtables[want_vtbl_vstring]
+
+/* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/mydtrace.h b/Master/tlpkg/tlperl/lib/CORE/mydtrace.h
index 75e6918015d..5a2e35fe7fc 100644
--- a/Master/tlpkg/tlperl/lib/CORE/mydtrace.h
+++ b/Master/tlpkg/tlperl/lib/CORE/mydtrace.h
@@ -1,6 +1,6 @@
/* mydtrace.h
*
- * Copyright (C) 2008, by Larry Wall and others
+ * Copyright (C) 2008, 2010, 2011 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
@@ -13,21 +13,50 @@
# include "perldtrace.h"
-# define ENTRY_PROBE(func, file, line, stash) \
+# if defined(STAP_PROBE_ADDR) && !defined(DEBUGGING)
+
+/* SystemTap 1.2 uses a construct that chokes on passing a char array
+ * as a char *, in this case hek_key in struct hek. Workaround it
+ * with a temporary.
+ */
+
+# define ENTRY_PROBE(func, file, line, stash) \
+ if (PERL_SUB_ENTRY_ENABLED()) { \
+ const char *tmp_func = func; \
+ PERL_SUB_ENTRY(tmp_func, file, line, stash); \
+ }
+
+# define RETURN_PROBE(func, file, line, stash) \
+ if (PERL_SUB_RETURN_ENABLED()) { \
+ const char *tmp_func = func; \
+ PERL_SUB_RETURN(tmp_func, file, line, stash); \
+ }
+
+# else
+
+# define ENTRY_PROBE(func, file, line, stash) \
if (PERL_SUB_ENTRY_ENABLED()) { \
PERL_SUB_ENTRY(func, file, line, stash); \
}
-# define RETURN_PROBE(func, file, line, stash) \
+# define RETURN_PROBE(func, file, line, stash) \
if (PERL_SUB_RETURN_ENABLED()) { \
PERL_SUB_RETURN(func, file, line, stash); \
}
+# endif
+
+# define PHASE_CHANGE_PROBE(new_phase, old_phase) \
+ if (PERL_PHASE_CHANGE_ENABLED()) { \
+ PERL_PHASE_CHANGE(new_phase, old_phase); \
+ }
+
#else
/* NOPs */
# define ENTRY_PROBE(func, file, line, stash)
# define RETURN_PROBE(func, file, line, stash)
+# define PHASE_CHANGE_PROBE(new_phase, old_phase)
#endif
diff --git a/Master/tlpkg/tlperl/lib/CORE/op.h b/Master/tlpkg/tlperl/lib/CORE/op.h
index ae6989acb89..05cd323d694 100644
--- a/Master/tlpkg/tlperl/lib/CORE/op.h
+++ b/Master/tlpkg/tlperl/lib/CORE/op.h
@@ -130,14 +130,12 @@ Deprecated. Use C<GIMME_V> instead.
defined()*/
/* On OP_DBSTATE, indicates breakpoint
* (runtime property) */
- /* On OP_AELEMFAST, indicates pad var */
/* On OP_REQUIRE, was seen as CORE::require */
- /* On OP_ENTERWHEN, there's no condition */
- /* On OP_BREAK, an implicit break */
+ /* On OP_(ENTER|LEAVE)WHEN, there's
+ no condition */
/* On OP_SMARTMATCH, an implicit smartmatch */
/* On OP_ANONHASH and OP_ANONLIST, create a
reference to the new anon hash or array */
- /* On OP_ENTER, store caller context */
/* On OP_HELEM and OP_HSLICE, localization will be followed
by assignment, so do not wipe the target if it is special
(e.g. a glob or a magic SV) */
@@ -146,7 +144,10 @@ Deprecated. Use C<GIMME_V> instead.
that was optimised away, so it should
not be bound via =~ */
/* On OP_CONST, from a constant CV */
- /* On OP_GLOB, use Perl glob function */
+ /* On OP_GLOB, two meanings:
+ - Before ck_glob, called as CORE::glob
+ - After ck_glob, use Perl glob function
+ */
/* old names; don't use in new code, but don't break them, either */
#define OPf_LIST OPf_WANT_LIST
@@ -159,12 +160,19 @@ Deprecated. Use C<GIMME_V> instead.
: G_SCALAR) \
: dowantarray())
-/* NOTE: OP_NEXTSTATE and OP_DBSTATE (i.e. COPs) carry lower
- * bits of PL_hints in op_private */
+/* Lower bits of op_private often carry the number of arguments, as
+ * set by newBINOP, newUNOP and ck_fun */
+
+/* NOTE: OP_NEXTSTATE and OP_DBSTATE (i.e. COPs) carry NATIVE_HINTS
+ * in op_private */
/* Private for lvalues */
#define OPpLVAL_INTRO 128 /* Lvalue must be localized or lvalue sub */
+/* Private for OPs with TARGLEX */
+ /* (lower bits may carry MAXARG) */
+#define OPpTARGET_MY 16 /* Target is PADMY. */
+
/* Private for OP_LEAVE, OP_LEAVESUB, OP_LEAVESUBLV and OP_LEAVEWRITE */
#define OPpREFCOUNTED 64 /* op_targ carries a refcount */
@@ -197,24 +205,35 @@ Deprecated. Use C<GIMME_V> instead.
#define OPpDEREF_AV 32 /* Want ref to AV. */
#define OPpDEREF_HV 64 /* Want ref to HV. */
#define OPpDEREF_SV (32|64) /* Want ref to SV. */
-/* Private for OP_RV2SV, OP_RV2AV, OP_RV2AV */
-#define OPpDEREFed 4 /* prev op was OPpDEREF */
+
/* OP_ENTERSUB only */
#define OPpENTERSUB_DB 16 /* Debug subroutine. */
-#define OPpENTERSUB_HASTARG 32 /* Called from OP tree. */
-#define OPpENTERSUB_NOMOD 64 /* Immune to op_lvalue() for :attrlist. */
- /* OP_ENTERSUB and OP_RV2CV only */
+#define OPpENTERSUB_HASTARG 4 /* Called from OP tree. */
+#define OPpENTERSUB_INARGS 1 /* Lval used as arg to a sub. */
+/* used by OPpDEREF (32|64) */
+/* used by HINT_STRICT_SUBS 2 */
+ /* Mask for OP_ENTERSUB flags, the absence of which must be propagated
+ in dynamic context */
+#define OPpENTERSUB_LVAL_MASK (OPpLVAL_INTRO|OPpENTERSUB_INARGS)
+
+ /* OP_RV2CV only */
#define OPpENTERSUB_AMPER 8 /* Used & form to call. */
#define OPpENTERSUB_NOPAREN 128 /* bare sub call (without parens) */
-#define OPpENTERSUB_INARGS 4 /* Lval used as arg to a sub. */
+#define OPpMAY_RETURN_CONSTANT 1 /* If a constant sub, return the constant */
+
/* OP_GV only */
#define OPpEARLY_CV 32 /* foo() called before sub foo was parsed */
/* OP_?ELEM only */
#define OPpLVAL_DEFER 16 /* Defer creation of array/hash elem */
- /* OP_RV2?V, OP_GVSV, OP_ENTERITER only */
+ /* OP_RV2[SAH]V, OP_GVSV, OP_ENTERITER only */
#define OPpOUR_INTRO 16 /* Variable was in an our() */
- /* OP_RV2[AGH]V, OP_PAD[AH]V, OP_[AH]ELEM */
+ /* OP_RV2[AGH]V, OP_PAD[AH]V, OP_[AH]ELEM, OP_[AH]SLICE OP_AV2ARYLEN,
+ OP_R?KEYS, OP_SUBSTR, OP_POS, OP_VEC */
#define OPpMAYBE_LVSUB 8 /* We might be an lvalue to return */
+
+ /* OP_SUBSTR only */
+#define OPpSUBSTR_REPL_FIRST 16 /* 1st arg is replacement string */
+
/* OP_PADSV only */
#define OPpPAD_STATE 16 /* is a "state" pad */
/* for OP_RV2?V, lower bits carry hints (currently only HINT_STRICT_REFS) */
@@ -223,13 +242,7 @@ Deprecated. Use C<GIMME_V> instead.
#define OPpDONT_INIT_GV 4 /* Call gv_fetchpv with GV_NOINIT */
/* (Therefore will return whatever is currently in the symbol table, not
guaranteed to be a PVGV) */
-
- /* OP_RV2CV only */
-#define OPpMAY_RETURN_CONSTANT 1 /* If a constant sub, return the constant */
-
-/* Private for OPs with TARGLEX */
- /* (lower bits may carry MAXARG) */
-#define OPpTARGET_MY 16 /* Target is PADMY. */
+#define OPpALLOW_FAKE 16 /* OK to return fake glob */
/* Private for OP_ENTERITER and OP_ITER */
#define OPpITER_REVERSED 4 /* for (reverse ...) */
@@ -240,7 +253,6 @@ Deprecated. Use C<GIMME_V> instead.
#define OPpCONST_SHORTCIRCUIT 4 /* eg the constant 5 in (5 || foo) */
#define OPpCONST_STRICT 8 /* bareword subject to strict 'subs' */
#define OPpCONST_ENTERED 16 /* Has been entered as symbol. */
-#define OPpCONST_ARYBASE 32 /* Was a $[ translated to constant. */
#define OPpCONST_BARE 64 /* Was a bare word (filehandle?). */
#define OPpCONST_WARNING 128 /* Was a $^W translated to constant. */
@@ -281,14 +293,33 @@ Deprecated. Use C<GIMME_V> instead.
/* Private for OP_FTXXX */
#define OPpFT_ACCESS 2 /* use filetest 'access' */
-#define OPpFT_STACKED 4 /* stacked filetest, as in "-f -x $f" */
+#define OPpFT_STACKED 4 /* stacked filetest, as "-f" in "-f -x $f" */
+#define OPpFT_STACKING 8 /* stacking filetest, as "-x" in "-f -x $f" */
+#define OPpFT_AFTER_t 16 /* previous op was -t */
/* Private for OP_(MAP|GREP)(WHILE|START) */
#define OPpGREP_LEX 2 /* iterate over lexical $_ */
/* Private for OP_ENTEREVAL */
#define OPpEVAL_HAS_HH 2 /* Does it have a copy of %^H */
+#define OPpEVAL_UNICODE 4
+#define OPpEVAL_BYTES 8
+#define OPpEVAL_COPHH 16 /* Construct %^H from cop hints */
+/* Private for OP_CALLER, OP_WANTARRAY and OP_RUNCV */
+#define OPpOFFBYONE 128 /* Treat caller(1) as caller(2) */
+
+/* Private for OP_COREARGS */
+/* These must not conflict with OPpDONT_INIT_GV or OPpALLOW_FAKE.
+ See pp.c:S_rv2gv. */
+#define OPpCOREARGS_DEREF1 1 /* Arg 1 is a handle constructor */
+#define OPpCOREARGS_DEREF2 2 /* Arg 2 is a handle constructor */
+#define OPpCOREARGS_SCALARMOD 64 /* \$ rather than \[$@%*] */
+#define OPpCOREARGS_PUSHMARK 128 /* Call pp_pushmark */
+
+/* Private for OP_(LAST|REDO|NEXT|GOTO|DUMP) */
+#define OPpPV_IS_UTF8 128 /* label is in UTF8 */
+
struct op {
BASEOP
};
@@ -337,7 +368,10 @@ struct pmop {
union {
OP * op_pmreplstart; /* Only used in OP_SUBST */
#ifdef USE_ITHREADS
- char * op_pmstashpv; /* Only used in OP_MATCH, with PMf_ONCE set */
+ struct {
+ char * op_pmstashpv; /* Only used in OP_MATCH, with PMf_ONCE set */
+ U32 op_pmstashflags; /* currently only SVf_UTF8 or 0 */
+ } op_pmstashthr;
#else
HV * op_pmstash;
#endif
@@ -407,19 +441,27 @@ struct pmop {
#ifdef USE_ITHREADS
# define PmopSTASHPV(o) \
- (((o)->op_pmflags & PMf_ONCE) ? (o)->op_pmstashstartu.op_pmstashpv : NULL)
+ (((o)->op_pmflags & PMf_ONCE) ? (o)->op_pmstashstartu.op_pmstashthr.op_pmstashpv : NULL)
# if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
# define PmopSTASHPV_set(o,pv) ({ \
assert((o)->op_pmflags & PMf_ONCE); \
- ((o)->op_pmstashstartu.op_pmstashpv = savesharedpv(pv)); \
+ ((o)->op_pmstashstartu.op_pmstashthr.op_pmstashpv = savesharedpv(pv)); \
})
# else
# define PmopSTASHPV_set(o,pv) \
- ((o)->op_pmstashstartu.op_pmstashpv = savesharedpv(pv))
+ ((o)->op_pmstashstartu.op_pmstashthr.op_pmstashpv = savesharedpv(pv))
# endif
-# define PmopSTASH(o) (PmopSTASHPV(o) \
- ? gv_stashpv((o)->op_pmstashstartu.op_pmstashpv,GV_ADD) : NULL)
-# define PmopSTASH_set(o,hv) PmopSTASHPV_set(o, ((hv) ? HvNAME_get(hv) : NULL))
+# define PmopSTASH_flags(o) ((o)->op_pmstashstartu.op_pmstashthr.op_pmstashflags)
+# define PmopSTASH_flags_set(o,flags) ((o)->op_pmstashstartu.op_pmstashthr.op_pmstashflags = flags)
+# define PmopSTASH(o) (PmopSTASHPV(o) \
+ ? gv_stashpv((o)->op_pmstashstartu.op_pmstashthr.op_pmstashpv, \
+ GV_ADD | PmopSTASH_flags(o)) : NULL)
+# define PmopSTASH_set(o,hv) (PmopSTASHPV_set(o, (hv) ? HvNAME_get(hv) : NULL), \
+ PmopSTASH_flags_set(o, \
+ ((hv) && HvNAME_HEK(hv) && \
+ HvNAMEUTF8(hv)) \
+ ? SVf_UTF8 \
+ : 0))
# define PmopSTASH_free(o) PerlMemShared_free(PmopSTASHPV(o))
#else
@@ -538,7 +580,7 @@ struct loop {
# define Nullop ((OP*)NULL)
#endif
-/* Lowest byte-and-a-bit of PL_opargs */
+/* Lowest byte of PL_opargs */
#define OA_MARK 1
#define OA_FOLDCONST 2
#define OA_RETSCALAR 4
@@ -642,7 +684,7 @@ least an C<UNOP>.
/* no longer used anywhere in core */
#ifndef PERL_CORE
#define cv_ckproto(cv, gv, p) \
- cv_ckproto_len((cv), (gv), (p), (p) ? strlen(p) : 0)
+ cv_ckproto_len_flags((cv), (gv), (p), (p) ? strlen(p) : 0, 0)
#endif
#ifdef PERL_CORE
@@ -763,6 +805,12 @@ preprocessing token; the type of I<arg> depends on I<which>.
#define RV2CVOPCV_MARK_EARLY 0x00000001
#define RV2CVOPCV_RETURN_NAME_GV 0x00000002
+#define op_lvalue(op,t) Perl_op_lvalue_flags(aTHX_ op,t,0)
+
+/* flags for op_lvalue_flags */
+
+#define OP_LVALUE_NO_CROAK 1
+
/*
=head1 Custom Operators
@@ -955,6 +1003,22 @@ struct token {
*/
/*
+=head1 Hook manipulation
+*/
+
+#ifdef USE_ITHREADS
+# define OP_CHECK_MUTEX_INIT MUTEX_INIT(&PL_check_mutex)
+# define OP_CHECK_MUTEX_LOCK MUTEX_LOCK(&PL_check_mutex)
+# define OP_CHECK_MUTEX_UNLOCK MUTEX_UNLOCK(&PL_check_mutex)
+# define OP_CHECK_MUTEX_TERM MUTEX_DESTROY(&PL_check_mutex)
+#else
+# define OP_CHECK_MUTEX_INIT NOOP
+# define OP_CHECK_MUTEX_LOCK NOOP
+# define OP_CHECK_MUTEX_UNLOCK NOOP
+# define OP_CHECK_MUTEX_TERM NOOP
+#endif
+
+/*
* Local variables:
* c-indentation-style: bsd
* c-basic-offset: 4
diff --git a/Master/tlpkg/tlperl/lib/CORE/op_reg_common.h b/Master/tlpkg/tlperl/lib/CORE/op_reg_common.h
index 4c3fe2c42c2..4e173504c5d 100644
--- a/Master/tlpkg/tlperl/lib/CORE/op_reg_common.h
+++ b/Master/tlpkg/tlperl/lib/CORE/op_reg_common.h
@@ -2,7 +2,7 @@
*
* Definitions common to by op.h and regexp.h
*
- * Copyright (C) 2010 by Larry Wall and others
+ * Copyright (C) 2010, 2011 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
@@ -48,9 +48,9 @@ typedef enum {
#define _RXf_PMf_CHARSET_SHIFT ((RXf_PMf_STD_PMMOD_SHIFT)+5)
#define RXf_PMf_CHARSET (7 << (_RXf_PMf_CHARSET_SHIFT)) /* 3 bits */
-/* embed.pl doesn't yet know how to handle static inline functions, so
- manually decorate them here with gcc-style attributes.
-*/
+/* Manually decorate these functions here with gcc-style attributes just to
+ * avoid making the regex_charset typedef global, which it would need to be for
+ * proto.h to understand it */
PERL_STATIC_INLINE void
set_regex_charset(U32 * const flags, const regex_charset cs)
__attribute__nonnull__(1);
diff --git a/Master/tlpkg/tlperl/lib/CORE/opcode.h b/Master/tlpkg/tlperl/lib/CORE/opcode.h
index 4f0e1c658a4..0a9628da928 100644
--- a/Master/tlpkg/tlperl/lib/CORE/opcode.h
+++ b/Master/tlpkg/tlperl/lib/CORE/opcode.h
@@ -18,12 +18,15 @@
#define Perl_pp_scalar Perl_pp_null
#define Perl_pp_padany Perl_unimplemented_op
#define Perl_pp_regcmaybe Perl_pp_null
+#define Perl_pp_transr Perl_pp_trans
#define Perl_pp_chomp Perl_pp_chop
#define Perl_pp_schomp Perl_pp_schop
#define Perl_pp_i_preinc Perl_pp_preinc
-#define Perl_pp_i_predec Perl_pp_predec
+#define Perl_pp_predec Perl_pp_preinc
+#define Perl_pp_i_predec Perl_pp_preinc
#define Perl_pp_i_postinc Perl_pp_postinc
-#define Perl_pp_i_postdec Perl_pp_postdec
+#define Perl_pp_postdec Perl_pp_postinc
+#define Perl_pp_i_postdec Perl_pp_postinc
#define Perl_pp_slt Perl_pp_sle
#define Perl_pp_sgt Perl_pp_sle
#define Perl_pp_sge Perl_pp_sle
@@ -35,6 +38,7 @@
#define Perl_pp_hex Perl_pp_oct
#define Perl_pp_rindex Perl_pp_index
#define Perl_pp_lcfirst Perl_pp_ucfirst
+#define Perl_pp_aelemfast_lex Perl_pp_aelemfast
#define Perl_pp_avalues Perl_pp_akeys
#define Perl_pp_values Perl_do_kv
#define Perl_pp_keys Perl_do_kv
@@ -138,7 +142,6 @@
#define Perl_pp_custom Perl_unimplemented_op
#define Perl_pp_reach Perl_pp_rkeys
#define Perl_pp_rvalues Perl_pp_rkeys
-#define Perl_pp_transr Perl_pp_trans
START_EXTERN_C
#ifndef DOINIT
@@ -181,6 +184,7 @@ EXTCONST char* const PL_op_name[] = {
"subst",
"substcont",
"trans",
+ "transr",
"sassign",
"aassign",
"chop",
@@ -273,6 +277,7 @@ EXTCONST char* const PL_op_name[] = {
"quotemeta",
"rv2av",
"aelemfast",
+ "aelemfast_lex",
"aelem",
"aslice",
"aeach",
@@ -514,7 +519,9 @@ EXTCONST char* const PL_op_name[] = {
"reach",
"rkeys",
"rvalues",
- "transr",
+ "coreargs",
+ "runcv",
+ "fc",
};
#endif
@@ -558,6 +565,7 @@ EXTCONST char* const PL_op_desc[] = {
"substitution (s///)",
"substitution iterator",
"transliteration (tr///)",
+ "transliteration (tr///)",
"scalar assignment",
"list assignment",
"chop",
@@ -650,6 +658,7 @@ EXTCONST char* const PL_op_desc[] = {
"quotemeta",
"array dereference",
"constant array element",
+ "constant lexical array element",
"array element",
"array slice",
"each on array",
@@ -891,7 +900,9 @@ EXTCONST char* const PL_op_desc[] = {
"each on reference",
"keys on reference",
"values on reference",
- "transliteration (tr///)",
+ "CORE:: subroutine",
+ "__SUB__",
+ "fc",
};
#endif
@@ -949,6 +960,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
Perl_pp_subst,
Perl_pp_substcont,
Perl_pp_trans,
+ Perl_pp_transr, /* implemented by Perl_pp_trans */
Perl_pp_sassign,
Perl_pp_aassign,
Perl_pp_chop,
@@ -961,12 +973,12 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
Perl_pp_pos,
Perl_pp_preinc,
Perl_pp_i_preinc, /* implemented by Perl_pp_preinc */
- Perl_pp_predec,
- Perl_pp_i_predec, /* implemented by Perl_pp_predec */
+ Perl_pp_predec, /* implemented by Perl_pp_preinc */
+ Perl_pp_i_predec, /* implemented by Perl_pp_preinc */
Perl_pp_postinc,
Perl_pp_i_postinc, /* implemented by Perl_pp_postinc */
- Perl_pp_postdec,
- Perl_pp_i_postdec, /* implemented by Perl_pp_postdec */
+ Perl_pp_postdec, /* implemented by Perl_pp_postinc */
+ Perl_pp_i_postdec, /* implemented by Perl_pp_postinc */
Perl_pp_pow,
Perl_pp_multiply,
Perl_pp_i_multiply,
@@ -1041,6 +1053,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
Perl_pp_quotemeta,
Perl_pp_rv2av,
Perl_pp_aelemfast,
+ Perl_pp_aelemfast_lex, /* implemented by Perl_pp_aelemfast */
Perl_pp_aelem,
Perl_pp_aslice,
Perl_pp_aeach,
@@ -1282,7 +1295,9 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
Perl_pp_reach, /* implemented by Perl_pp_rkeys */
Perl_pp_rkeys,
Perl_pp_rvalues, /* implemented by Perl_pp_rkeys */
- Perl_pp_transr, /* implemented by Perl_pp_trans */
+ Perl_pp_coreargs,
+ Perl_pp_runcv,
+ Perl_pp_fc,
}
#endif
#ifdef PERL_PPADDR_INITED
@@ -1337,6 +1352,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
Perl_ck_match, /* subst */
Perl_ck_null, /* substcont */
Perl_ck_match, /* trans */
+ Perl_ck_match, /* transr */
Perl_ck_sassign, /* sassign */
Perl_ck_null, /* aassign */
Perl_ck_spair, /* chop */
@@ -1371,14 +1387,14 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
Perl_ck_fun, /* stringify */
Perl_ck_bitop, /* left_shift */
Perl_ck_bitop, /* right_shift */
- Perl_ck_null, /* lt */
- Perl_ck_null, /* i_lt */
- Perl_ck_null, /* gt */
- Perl_ck_null, /* i_gt */
- Perl_ck_null, /* le */
- Perl_ck_null, /* i_le */
- Perl_ck_null, /* ge */
- Perl_ck_null, /* i_ge */
+ Perl_ck_cmp, /* lt */
+ Perl_ck_cmp, /* i_lt */
+ Perl_ck_cmp, /* gt */
+ Perl_ck_cmp, /* i_gt */
+ Perl_ck_cmp, /* le */
+ Perl_ck_cmp, /* i_le */
+ Perl_ck_cmp, /* ge */
+ Perl_ck_cmp, /* i_ge */
Perl_ck_null, /* eq */
Perl_ck_null, /* i_eq */
Perl_ck_null, /* ne */
@@ -1412,12 +1428,12 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
Perl_ck_fun, /* hex */
Perl_ck_fun, /* oct */
Perl_ck_fun, /* abs */
- Perl_ck_fun, /* length */
+ Perl_ck_length, /* length */
Perl_ck_substr, /* substr */
Perl_ck_fun, /* vec */
Perl_ck_index, /* index */
Perl_ck_index, /* rindex */
- Perl_ck_fun, /* sprintf */
+ Perl_ck_lfun, /* sprintf */
Perl_ck_fun, /* formline */
Perl_ck_fun, /* ord */
Perl_ck_fun, /* chr */
@@ -1429,6 +1445,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
Perl_ck_fun, /* quotemeta */
Perl_ck_rvconst, /* rv2av */
Perl_ck_null, /* aelemfast */
+ Perl_ck_null, /* aelemfast_lex */
Perl_ck_null, /* aelem */
Perl_ck_null, /* aslice */
Perl_ck_each, /* aeach */
@@ -1443,7 +1460,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
Perl_ck_null, /* helem */
Perl_ck_null, /* hslice */
Perl_ck_fun, /* boolkeys */
- Perl_ck_unpack, /* unpack */
+ Perl_ck_fun, /* unpack */
Perl_ck_fun, /* pack */
Perl_ck_split, /* split */
Perl_ck_join, /* join */
@@ -1531,8 +1548,8 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
Perl_ck_fun, /* sysread */
Perl_ck_fun, /* syswrite */
Perl_ck_eof, /* eof */
- Perl_ck_fun, /* tell */
- Perl_ck_fun, /* seek */
+ Perl_ck_tell, /* tell */
+ Perl_ck_tell, /* seek */
Perl_ck_trunc, /* truncate */
Perl_ck_fun, /* fcntl */
Perl_ck_fun, /* ioctl */
@@ -1670,7 +1687,9 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
Perl_ck_each, /* reach */
Perl_ck_each, /* rkeys */
Perl_ck_each, /* rvalues */
- Perl_ck_match, /* transr */
+ Perl_ck_null, /* coreargs */
+ Perl_ck_null, /* runcv */
+ Perl_ck_fun, /* fc */
}
#endif
#ifdef PERL_CHECK_INITED
@@ -1719,6 +1738,7 @@ EXTCONST U32 PL_opargs[] = {
0x00001544, /* subst */
0x00000344, /* substcont */
0x00001804, /* trans */
+ 0x00001804, /* transr */
0x00000004, /* sassign */
0x00022208, /* aassign */
0x00002b0d, /* chop */
@@ -1811,6 +1831,7 @@ EXTCONST U32 PL_opargs[] = {
0x00009b8e, /* quotemeta */
0x00000148, /* rv2av */
0x00013604, /* aelemfast */
+ 0x00013040, /* aelemfast_lex */
0x00013204, /* aelem */
0x00023401, /* aslice */
0x00003b00, /* aeach */
@@ -1825,7 +1846,7 @@ EXTCONST U32 PL_opargs[] = {
0x00014204, /* helem */
0x00024401, /* hslice */
0x00004b00, /* boolkeys */
- 0x00091400, /* unpack */
+ 0x00091480, /* unpack */
0x0002140d, /* pack */
0x00111408, /* split */
0x0002140d, /* join */
@@ -1932,8 +1953,8 @@ EXTCONST U32 PL_opargs[] = {
0x01116404, /* ssockopt */
0x00006b04, /* getsockname */
0x00006b04, /* getpeername */
- 0x00006c80, /* lstat */
- 0x00006c80, /* stat */
+ 0x0000ec80, /* lstat */
+ 0x0000ec80, /* stat */
0x00006c84, /* ftrread */
0x00006c84, /* ftrwrite */
0x00006c84, /* ftrexec */
@@ -2010,7 +2031,7 @@ EXTCONST U32 PL_opargs[] = {
0x00009bc0, /* require */
0x00001140, /* dofile */
0x00000604, /* hintseval */
- 0x00001b40, /* entereval */
+ 0x00009bc0, /* entereval */
0x00001100, /* leaveeval */
0x00000340, /* entertry */
0x00000400, /* leavetry */
@@ -2052,7 +2073,9 @@ EXTCONST U32 PL_opargs[] = {
0x00001b00, /* reach */
0x00001b08, /* rkeys */
0x00001b08, /* rvalues */
- 0x00001804, /* transr */
+ 0x00000600, /* coreargs */
+ 0x00000004, /* runcv */
+ 0x00009b8e, /* fc */
};
#endif
diff --git a/Master/tlpkg/tlperl/lib/CORE/opnames.h b/Master/tlpkg/tlperl/lib/CORE/opnames.h
index f3fab8b1f86..8b6a39a1619 100644
--- a/Master/tlpkg/tlperl/lib/CORE/opnames.h
+++ b/Master/tlpkg/tlperl/lib/CORE/opnames.h
@@ -50,348 +50,353 @@ typedef enum opcode {
OP_SUBST = 33,
OP_SUBSTCONT = 34,
OP_TRANS = 35,
- OP_SASSIGN = 36,
- OP_AASSIGN = 37,
- OP_CHOP = 38,
- OP_SCHOP = 39,
- OP_CHOMP = 40,
- OP_SCHOMP = 41,
- OP_DEFINED = 42,
- OP_UNDEF = 43,
- OP_STUDY = 44,
- OP_POS = 45,
- OP_PREINC = 46,
- OP_I_PREINC = 47,
- OP_PREDEC = 48,
- OP_I_PREDEC = 49,
- OP_POSTINC = 50,
- OP_I_POSTINC = 51,
- OP_POSTDEC = 52,
- OP_I_POSTDEC = 53,
- OP_POW = 54,
- OP_MULTIPLY = 55,
- OP_I_MULTIPLY = 56,
- OP_DIVIDE = 57,
- OP_I_DIVIDE = 58,
- OP_MODULO = 59,
- OP_I_MODULO = 60,
- OP_REPEAT = 61,
- OP_ADD = 62,
- OP_I_ADD = 63,
- OP_SUBTRACT = 64,
- OP_I_SUBTRACT = 65,
- OP_CONCAT = 66,
- OP_STRINGIFY = 67,
- OP_LEFT_SHIFT = 68,
- OP_RIGHT_SHIFT = 69,
- OP_LT = 70,
- OP_I_LT = 71,
- OP_GT = 72,
- OP_I_GT = 73,
- OP_LE = 74,
- OP_I_LE = 75,
- OP_GE = 76,
- OP_I_GE = 77,
- OP_EQ = 78,
- OP_I_EQ = 79,
- OP_NE = 80,
- OP_I_NE = 81,
- OP_NCMP = 82,
- OP_I_NCMP = 83,
- OP_SLT = 84,
- OP_SGT = 85,
- OP_SLE = 86,
- OP_SGE = 87,
- OP_SEQ = 88,
- OP_SNE = 89,
- OP_SCMP = 90,
- OP_BIT_AND = 91,
- OP_BIT_XOR = 92,
- OP_BIT_OR = 93,
- OP_NEGATE = 94,
- OP_I_NEGATE = 95,
- OP_NOT = 96,
- OP_COMPLEMENT = 97,
- OP_SMARTMATCH = 98,
- OP_ATAN2 = 99,
- OP_SIN = 100,
- OP_COS = 101,
- OP_RAND = 102,
- OP_SRAND = 103,
- OP_EXP = 104,
- OP_LOG = 105,
- OP_SQRT = 106,
- OP_INT = 107,
- OP_HEX = 108,
- OP_OCT = 109,
- OP_ABS = 110,
- OP_LENGTH = 111,
- OP_SUBSTR = 112,
- OP_VEC = 113,
- OP_INDEX = 114,
- OP_RINDEX = 115,
- OP_SPRINTF = 116,
- OP_FORMLINE = 117,
- OP_ORD = 118,
- OP_CHR = 119,
- OP_CRYPT = 120,
- OP_UCFIRST = 121,
- OP_LCFIRST = 122,
- OP_UC = 123,
- OP_LC = 124,
- OP_QUOTEMETA = 125,
- OP_RV2AV = 126,
- OP_AELEMFAST = 127,
- OP_AELEM = 128,
- OP_ASLICE = 129,
- OP_AEACH = 130,
- OP_AKEYS = 131,
- OP_AVALUES = 132,
- OP_EACH = 133,
- OP_VALUES = 134,
- OP_KEYS = 135,
- OP_DELETE = 136,
- OP_EXISTS = 137,
- OP_RV2HV = 138,
- OP_HELEM = 139,
- OP_HSLICE = 140,
- OP_BOOLKEYS = 141,
- OP_UNPACK = 142,
- OP_PACK = 143,
- OP_SPLIT = 144,
- OP_JOIN = 145,
- OP_LIST = 146,
- OP_LSLICE = 147,
- OP_ANONLIST = 148,
- OP_ANONHASH = 149,
- OP_SPLICE = 150,
- OP_PUSH = 151,
- OP_POP = 152,
- OP_SHIFT = 153,
- OP_UNSHIFT = 154,
- OP_SORT = 155,
- OP_REVERSE = 156,
- OP_GREPSTART = 157,
- OP_GREPWHILE = 158,
- OP_MAPSTART = 159,
- OP_MAPWHILE = 160,
- OP_RANGE = 161,
- OP_FLIP = 162,
- OP_FLOP = 163,
- OP_AND = 164,
- OP_OR = 165,
- OP_XOR = 166,
- OP_DOR = 167,
- OP_COND_EXPR = 168,
- OP_ANDASSIGN = 169,
- OP_ORASSIGN = 170,
- OP_DORASSIGN = 171,
- OP_METHOD = 172,
- OP_ENTERSUB = 173,
- OP_LEAVESUB = 174,
- OP_LEAVESUBLV = 175,
- OP_CALLER = 176,
- OP_WARN = 177,
- OP_DIE = 178,
- OP_RESET = 179,
- OP_LINESEQ = 180,
- OP_NEXTSTATE = 181,
- OP_DBSTATE = 182,
- OP_UNSTACK = 183,
- OP_ENTER = 184,
- OP_LEAVE = 185,
- OP_SCOPE = 186,
- OP_ENTERITER = 187,
- OP_ITER = 188,
- OP_ENTERLOOP = 189,
- OP_LEAVELOOP = 190,
- OP_RETURN = 191,
- OP_LAST = 192,
- OP_NEXT = 193,
- OP_REDO = 194,
- OP_DUMP = 195,
- OP_GOTO = 196,
- OP_EXIT = 197,
- OP_METHOD_NAMED = 198,
- OP_ENTERGIVEN = 199,
- OP_LEAVEGIVEN = 200,
- OP_ENTERWHEN = 201,
- OP_LEAVEWHEN = 202,
- OP_BREAK = 203,
- OP_CONTINUE = 204,
- OP_OPEN = 205,
- OP_CLOSE = 206,
- OP_PIPE_OP = 207,
- OP_FILENO = 208,
- OP_UMASK = 209,
- OP_BINMODE = 210,
- OP_TIE = 211,
- OP_UNTIE = 212,
- OP_TIED = 213,
- OP_DBMOPEN = 214,
- OP_DBMCLOSE = 215,
- OP_SSELECT = 216,
- OP_SELECT = 217,
- OP_GETC = 218,
- OP_READ = 219,
- OP_ENTERWRITE = 220,
- OP_LEAVEWRITE = 221,
- OP_PRTF = 222,
- OP_PRINT = 223,
- OP_SAY = 224,
- OP_SYSOPEN = 225,
- OP_SYSSEEK = 226,
- OP_SYSREAD = 227,
- OP_SYSWRITE = 228,
- OP_EOF = 229,
- OP_TELL = 230,
- OP_SEEK = 231,
- OP_TRUNCATE = 232,
- OP_FCNTL = 233,
- OP_IOCTL = 234,
- OP_FLOCK = 235,
- OP_SEND = 236,
- OP_RECV = 237,
- OP_SOCKET = 238,
- OP_SOCKPAIR = 239,
- OP_BIND = 240,
- OP_CONNECT = 241,
- OP_LISTEN = 242,
- OP_ACCEPT = 243,
- OP_SHUTDOWN = 244,
- OP_GSOCKOPT = 245,
- OP_SSOCKOPT = 246,
- OP_GETSOCKNAME = 247,
- OP_GETPEERNAME = 248,
- OP_LSTAT = 249,
- OP_STAT = 250,
- OP_FTRREAD = 251,
- OP_FTRWRITE = 252,
- OP_FTREXEC = 253,
- OP_FTEREAD = 254,
- OP_FTEWRITE = 255,
- OP_FTEEXEC = 256,
- OP_FTIS = 257,
- OP_FTSIZE = 258,
- OP_FTMTIME = 259,
- OP_FTATIME = 260,
- OP_FTCTIME = 261,
- OP_FTROWNED = 262,
- OP_FTEOWNED = 263,
- OP_FTZERO = 264,
- OP_FTSOCK = 265,
- OP_FTCHR = 266,
- OP_FTBLK = 267,
- OP_FTFILE = 268,
- OP_FTDIR = 269,
- OP_FTPIPE = 270,
- OP_FTSUID = 271,
- OP_FTSGID = 272,
- OP_FTSVTX = 273,
- OP_FTLINK = 274,
- OP_FTTTY = 275,
- OP_FTTEXT = 276,
- OP_FTBINARY = 277,
- OP_CHDIR = 278,
- OP_CHOWN = 279,
- OP_CHROOT = 280,
- OP_UNLINK = 281,
- OP_CHMOD = 282,
- OP_UTIME = 283,
- OP_RENAME = 284,
- OP_LINK = 285,
- OP_SYMLINK = 286,
- OP_READLINK = 287,
- OP_MKDIR = 288,
- OP_RMDIR = 289,
- OP_OPEN_DIR = 290,
- OP_READDIR = 291,
- OP_TELLDIR = 292,
- OP_SEEKDIR = 293,
- OP_REWINDDIR = 294,
- OP_CLOSEDIR = 295,
- OP_FORK = 296,
- OP_WAIT = 297,
- OP_WAITPID = 298,
- OP_SYSTEM = 299,
- OP_EXEC = 300,
- OP_KILL = 301,
- OP_GETPPID = 302,
- OP_GETPGRP = 303,
- OP_SETPGRP = 304,
- OP_GETPRIORITY = 305,
- OP_SETPRIORITY = 306,
- OP_TIME = 307,
- OP_TMS = 308,
- OP_LOCALTIME = 309,
- OP_GMTIME = 310,
- OP_ALARM = 311,
- OP_SLEEP = 312,
- OP_SHMGET = 313,
- OP_SHMCTL = 314,
- OP_SHMREAD = 315,
- OP_SHMWRITE = 316,
- OP_MSGGET = 317,
- OP_MSGCTL = 318,
- OP_MSGSND = 319,
- OP_MSGRCV = 320,
- OP_SEMOP = 321,
- OP_SEMGET = 322,
- OP_SEMCTL = 323,
- OP_REQUIRE = 324,
- OP_DOFILE = 325,
- OP_HINTSEVAL = 326,
- OP_ENTEREVAL = 327,
- OP_LEAVEEVAL = 328,
- OP_ENTERTRY = 329,
- OP_LEAVETRY = 330,
- OP_GHBYNAME = 331,
- OP_GHBYADDR = 332,
- OP_GHOSTENT = 333,
- OP_GNBYNAME = 334,
- OP_GNBYADDR = 335,
- OP_GNETENT = 336,
- OP_GPBYNAME = 337,
- OP_GPBYNUMBER = 338,
- OP_GPROTOENT = 339,
- OP_GSBYNAME = 340,
- OP_GSBYPORT = 341,
- OP_GSERVENT = 342,
- OP_SHOSTENT = 343,
- OP_SNETENT = 344,
- OP_SPROTOENT = 345,
- OP_SSERVENT = 346,
- OP_EHOSTENT = 347,
- OP_ENETENT = 348,
- OP_EPROTOENT = 349,
- OP_ESERVENT = 350,
- OP_GPWNAM = 351,
- OP_GPWUID = 352,
- OP_GPWENT = 353,
- OP_SPWENT = 354,
- OP_EPWENT = 355,
- OP_GGRNAM = 356,
- OP_GGRGID = 357,
- OP_GGRENT = 358,
- OP_SGRENT = 359,
- OP_EGRENT = 360,
- OP_GETLOGIN = 361,
- OP_SYSCALL = 362,
- OP_LOCK = 363,
- OP_ONCE = 364,
- OP_CUSTOM = 365,
- OP_REACH = 366,
- OP_RKEYS = 367,
- OP_RVALUES = 368,
- OP_TRANSR = 369,
+ OP_TRANSR = 36,
+ OP_SASSIGN = 37,
+ OP_AASSIGN = 38,
+ OP_CHOP = 39,
+ OP_SCHOP = 40,
+ OP_CHOMP = 41,
+ OP_SCHOMP = 42,
+ OP_DEFINED = 43,
+ OP_UNDEF = 44,
+ OP_STUDY = 45,
+ OP_POS = 46,
+ OP_PREINC = 47,
+ OP_I_PREINC = 48,
+ OP_PREDEC = 49,
+ OP_I_PREDEC = 50,
+ OP_POSTINC = 51,
+ OP_I_POSTINC = 52,
+ OP_POSTDEC = 53,
+ OP_I_POSTDEC = 54,
+ OP_POW = 55,
+ OP_MULTIPLY = 56,
+ OP_I_MULTIPLY = 57,
+ OP_DIVIDE = 58,
+ OP_I_DIVIDE = 59,
+ OP_MODULO = 60,
+ OP_I_MODULO = 61,
+ OP_REPEAT = 62,
+ OP_ADD = 63,
+ OP_I_ADD = 64,
+ OP_SUBTRACT = 65,
+ OP_I_SUBTRACT = 66,
+ OP_CONCAT = 67,
+ OP_STRINGIFY = 68,
+ OP_LEFT_SHIFT = 69,
+ OP_RIGHT_SHIFT = 70,
+ OP_LT = 71,
+ OP_I_LT = 72,
+ OP_GT = 73,
+ OP_I_GT = 74,
+ OP_LE = 75,
+ OP_I_LE = 76,
+ OP_GE = 77,
+ OP_I_GE = 78,
+ OP_EQ = 79,
+ OP_I_EQ = 80,
+ OP_NE = 81,
+ OP_I_NE = 82,
+ OP_NCMP = 83,
+ OP_I_NCMP = 84,
+ OP_SLT = 85,
+ OP_SGT = 86,
+ OP_SLE = 87,
+ OP_SGE = 88,
+ OP_SEQ = 89,
+ OP_SNE = 90,
+ OP_SCMP = 91,
+ OP_BIT_AND = 92,
+ OP_BIT_XOR = 93,
+ OP_BIT_OR = 94,
+ OP_NEGATE = 95,
+ OP_I_NEGATE = 96,
+ OP_NOT = 97,
+ OP_COMPLEMENT = 98,
+ OP_SMARTMATCH = 99,
+ OP_ATAN2 = 100,
+ OP_SIN = 101,
+ OP_COS = 102,
+ OP_RAND = 103,
+ OP_SRAND = 104,
+ OP_EXP = 105,
+ OP_LOG = 106,
+ OP_SQRT = 107,
+ OP_INT = 108,
+ OP_HEX = 109,
+ OP_OCT = 110,
+ OP_ABS = 111,
+ OP_LENGTH = 112,
+ OP_SUBSTR = 113,
+ OP_VEC = 114,
+ OP_INDEX = 115,
+ OP_RINDEX = 116,
+ OP_SPRINTF = 117,
+ OP_FORMLINE = 118,
+ OP_ORD = 119,
+ OP_CHR = 120,
+ OP_CRYPT = 121,
+ OP_UCFIRST = 122,
+ OP_LCFIRST = 123,
+ OP_UC = 124,
+ OP_LC = 125,
+ OP_QUOTEMETA = 126,
+ OP_RV2AV = 127,
+ OP_AELEMFAST = 128,
+ OP_AELEMFAST_LEX = 129,
+ OP_AELEM = 130,
+ OP_ASLICE = 131,
+ OP_AEACH = 132,
+ OP_AKEYS = 133,
+ OP_AVALUES = 134,
+ OP_EACH = 135,
+ OP_VALUES = 136,
+ OP_KEYS = 137,
+ OP_DELETE = 138,
+ OP_EXISTS = 139,
+ OP_RV2HV = 140,
+ OP_HELEM = 141,
+ OP_HSLICE = 142,
+ OP_BOOLKEYS = 143,
+ OP_UNPACK = 144,
+ OP_PACK = 145,
+ OP_SPLIT = 146,
+ OP_JOIN = 147,
+ OP_LIST = 148,
+ OP_LSLICE = 149,
+ OP_ANONLIST = 150,
+ OP_ANONHASH = 151,
+ OP_SPLICE = 152,
+ OP_PUSH = 153,
+ OP_POP = 154,
+ OP_SHIFT = 155,
+ OP_UNSHIFT = 156,
+ OP_SORT = 157,
+ OP_REVERSE = 158,
+ OP_GREPSTART = 159,
+ OP_GREPWHILE = 160,
+ OP_MAPSTART = 161,
+ OP_MAPWHILE = 162,
+ OP_RANGE = 163,
+ OP_FLIP = 164,
+ OP_FLOP = 165,
+ OP_AND = 166,
+ OP_OR = 167,
+ OP_XOR = 168,
+ OP_DOR = 169,
+ OP_COND_EXPR = 170,
+ OP_ANDASSIGN = 171,
+ OP_ORASSIGN = 172,
+ OP_DORASSIGN = 173,
+ OP_METHOD = 174,
+ OP_ENTERSUB = 175,
+ OP_LEAVESUB = 176,
+ OP_LEAVESUBLV = 177,
+ OP_CALLER = 178,
+ OP_WARN = 179,
+ OP_DIE = 180,
+ OP_RESET = 181,
+ OP_LINESEQ = 182,
+ OP_NEXTSTATE = 183,
+ OP_DBSTATE = 184,
+ OP_UNSTACK = 185,
+ OP_ENTER = 186,
+ OP_LEAVE = 187,
+ OP_SCOPE = 188,
+ OP_ENTERITER = 189,
+ OP_ITER = 190,
+ OP_ENTERLOOP = 191,
+ OP_LEAVELOOP = 192,
+ OP_RETURN = 193,
+ OP_LAST = 194,
+ OP_NEXT = 195,
+ OP_REDO = 196,
+ OP_DUMP = 197,
+ OP_GOTO = 198,
+ OP_EXIT = 199,
+ OP_METHOD_NAMED = 200,
+ OP_ENTERGIVEN = 201,
+ OP_LEAVEGIVEN = 202,
+ OP_ENTERWHEN = 203,
+ OP_LEAVEWHEN = 204,
+ OP_BREAK = 205,
+ OP_CONTINUE = 206,
+ OP_OPEN = 207,
+ OP_CLOSE = 208,
+ OP_PIPE_OP = 209,
+ OP_FILENO = 210,
+ OP_UMASK = 211,
+ OP_BINMODE = 212,
+ OP_TIE = 213,
+ OP_UNTIE = 214,
+ OP_TIED = 215,
+ OP_DBMOPEN = 216,
+ OP_DBMCLOSE = 217,
+ OP_SSELECT = 218,
+ OP_SELECT = 219,
+ OP_GETC = 220,
+ OP_READ = 221,
+ OP_ENTERWRITE = 222,
+ OP_LEAVEWRITE = 223,
+ OP_PRTF = 224,
+ OP_PRINT = 225,
+ OP_SAY = 226,
+ OP_SYSOPEN = 227,
+ OP_SYSSEEK = 228,
+ OP_SYSREAD = 229,
+ OP_SYSWRITE = 230,
+ OP_EOF = 231,
+ OP_TELL = 232,
+ OP_SEEK = 233,
+ OP_TRUNCATE = 234,
+ OP_FCNTL = 235,
+ OP_IOCTL = 236,
+ OP_FLOCK = 237,
+ OP_SEND = 238,
+ OP_RECV = 239,
+ OP_SOCKET = 240,
+ OP_SOCKPAIR = 241,
+ OP_BIND = 242,
+ OP_CONNECT = 243,
+ OP_LISTEN = 244,
+ OP_ACCEPT = 245,
+ OP_SHUTDOWN = 246,
+ OP_GSOCKOPT = 247,
+ OP_SSOCKOPT = 248,
+ OP_GETSOCKNAME = 249,
+ OP_GETPEERNAME = 250,
+ OP_LSTAT = 251,
+ OP_STAT = 252,
+ OP_FTRREAD = 253,
+ OP_FTRWRITE = 254,
+ OP_FTREXEC = 255,
+ OP_FTEREAD = 256,
+ OP_FTEWRITE = 257,
+ OP_FTEEXEC = 258,
+ OP_FTIS = 259,
+ OP_FTSIZE = 260,
+ OP_FTMTIME = 261,
+ OP_FTATIME = 262,
+ OP_FTCTIME = 263,
+ OP_FTROWNED = 264,
+ OP_FTEOWNED = 265,
+ OP_FTZERO = 266,
+ OP_FTSOCK = 267,
+ OP_FTCHR = 268,
+ OP_FTBLK = 269,
+ OP_FTFILE = 270,
+ OP_FTDIR = 271,
+ OP_FTPIPE = 272,
+ OP_FTSUID = 273,
+ OP_FTSGID = 274,
+ OP_FTSVTX = 275,
+ OP_FTLINK = 276,
+ OP_FTTTY = 277,
+ OP_FTTEXT = 278,
+ OP_FTBINARY = 279,
+ OP_CHDIR = 280,
+ OP_CHOWN = 281,
+ OP_CHROOT = 282,
+ OP_UNLINK = 283,
+ OP_CHMOD = 284,
+ OP_UTIME = 285,
+ OP_RENAME = 286,
+ OP_LINK = 287,
+ OP_SYMLINK = 288,
+ OP_READLINK = 289,
+ OP_MKDIR = 290,
+ OP_RMDIR = 291,
+ OP_OPEN_DIR = 292,
+ OP_READDIR = 293,
+ OP_TELLDIR = 294,
+ OP_SEEKDIR = 295,
+ OP_REWINDDIR = 296,
+ OP_CLOSEDIR = 297,
+ OP_FORK = 298,
+ OP_WAIT = 299,
+ OP_WAITPID = 300,
+ OP_SYSTEM = 301,
+ OP_EXEC = 302,
+ OP_KILL = 303,
+ OP_GETPPID = 304,
+ OP_GETPGRP = 305,
+ OP_SETPGRP = 306,
+ OP_GETPRIORITY = 307,
+ OP_SETPRIORITY = 308,
+ OP_TIME = 309,
+ OP_TMS = 310,
+ OP_LOCALTIME = 311,
+ OP_GMTIME = 312,
+ OP_ALARM = 313,
+ OP_SLEEP = 314,
+ OP_SHMGET = 315,
+ OP_SHMCTL = 316,
+ OP_SHMREAD = 317,
+ OP_SHMWRITE = 318,
+ OP_MSGGET = 319,
+ OP_MSGCTL = 320,
+ OP_MSGSND = 321,
+ OP_MSGRCV = 322,
+ OP_SEMOP = 323,
+ OP_SEMGET = 324,
+ OP_SEMCTL = 325,
+ OP_REQUIRE = 326,
+ OP_DOFILE = 327,
+ OP_HINTSEVAL = 328,
+ OP_ENTEREVAL = 329,
+ OP_LEAVEEVAL = 330,
+ OP_ENTERTRY = 331,
+ OP_LEAVETRY = 332,
+ OP_GHBYNAME = 333,
+ OP_GHBYADDR = 334,
+ OP_GHOSTENT = 335,
+ OP_GNBYNAME = 336,
+ OP_GNBYADDR = 337,
+ OP_GNETENT = 338,
+ OP_GPBYNAME = 339,
+ OP_GPBYNUMBER = 340,
+ OP_GPROTOENT = 341,
+ OP_GSBYNAME = 342,
+ OP_GSBYPORT = 343,
+ OP_GSERVENT = 344,
+ OP_SHOSTENT = 345,
+ OP_SNETENT = 346,
+ OP_SPROTOENT = 347,
+ OP_SSERVENT = 348,
+ OP_EHOSTENT = 349,
+ OP_ENETENT = 350,
+ OP_EPROTOENT = 351,
+ OP_ESERVENT = 352,
+ OP_GPWNAM = 353,
+ OP_GPWUID = 354,
+ OP_GPWENT = 355,
+ OP_SPWENT = 356,
+ OP_EPWENT = 357,
+ OP_GGRNAM = 358,
+ OP_GGRGID = 359,
+ OP_GGRENT = 360,
+ OP_SGRENT = 361,
+ OP_EGRENT = 362,
+ OP_GETLOGIN = 363,
+ OP_SYSCALL = 364,
+ OP_LOCK = 365,
+ OP_ONCE = 366,
+ OP_CUSTOM = 367,
+ OP_REACH = 368,
+ OP_RKEYS = 369,
+ OP_RVALUES = 370,
+ OP_COREARGS = 371,
+ OP_RUNCV = 372,
+ OP_FC = 373,
OP_max
} opcode;
-#define MAXO 370
+#define MAXO 374
-/* the OP_IS_(SOCKET|FILETEST) macros are optimized to a simple range
- check because all the member OPs are contiguous in opcode.pl
- <OPS> table. opcode.pl verifies the range contiguity. */
+/* the OP_IS_* macros are optimized to a simple range check because
+ all the member OPs are contiguous in regen/opcodes table.
+ opcode.pl verifies the range contiguity, or generates an OR-equals
+ expression */
#define OP_IS_SOCKET(op) \
((op) >= OP_SEND && (op) <= OP_GETPEERNAME)
@@ -402,4 +407,10 @@ typedef enum opcode {
#define OP_IS_FILETEST_ACCESS(op) \
((op) >= OP_FTRREAD && (op) <= OP_FTEEXEC)
+#define OP_IS_NUMCOMPARE(op) \
+ ((op) >= OP_LT && (op) <= OP_I_NCMP)
+
+#define OP_IS_DIRHOP(op) \
+ ((op) >= OP_READDIR && (op) <= OP_CLOSEDIR)
+
/* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/pad.h b/Master/tlpkg/tlperl/lib/CORE/pad.h
index dec267ae27b..aa6521ff9b2 100644
--- a/Master/tlpkg/tlperl/lib/CORE/pad.h
+++ b/Master/tlpkg/tlperl/lib/CORE/pad.h
@@ -1,6 +1,7 @@
/* pad.h
*
- * Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 by Larry Wall and others
+ * Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008,
+ * 2009, 2010, 2011 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
@@ -10,7 +11,9 @@
* variables, op targets and constants.
*/
-
+/*
+=head1 Pad Data Structures
+*/
/* a padlist is currently just an AV; but that might change,
@@ -118,15 +121,12 @@ typedef enum {
padtidy_FORMAT /* or a format */
} padtidy_type;
-#ifdef PERL_CORE
+/* flags for pad_add_name_pvn. */
-/* flags for pad_add_name. SVf_UTF8 will also be valid in the future. */
-
-# define padadd_OUR 0x01 /* our declaration. */
-# define padadd_STATE 0x02 /* state declaration. */
-# define padadd_NO_DUP_CHECK 0x04 /* skip warning on dups. */
-
-#endif
+#define padadd_OUR 0x01 /* our declaration. */
+#define padadd_STATE 0x02 /* state declaration. */
+#define padadd_NO_DUP_CHECK 0x04 /* skip warning on dups. */
+#define padadd_UTF8_NAME SVf_UTF8 /* name is UTF-8 encoded. */
/* ASSERT_CURPAD_LEGAL and ASSERT_CURPAD_ACTIVE respectively determine
* whether PL_comppad and PL_curpad are consistent and whether they have
@@ -309,8 +309,7 @@ ling pad (lvalue) to C<gen>. Note that C<SvUV_set> is hijacked for this purpose
#define PAD_COMPNAME_SV(po) (*av_fetch(PL_comppad_name, (po), FALSE))
#define PAD_COMPNAME_FLAGS(po) SvFLAGS(PAD_COMPNAME_SV(po))
-#define PAD_COMPNAME_FLAGS_isOUR(po) \
- ((PAD_COMPNAME_FLAGS(po) & (SVpad_NAME|SVpad_OUR)) == (SVpad_NAME|SVpad_OUR))
+#define PAD_COMPNAME_FLAGS_isOUR(po) SvPAD_OUR(PAD_COMPNAME_SV(po))
#define PAD_COMPNAME_PV(po) SvPV_nolen(PAD_COMPNAME_SV(po))
#define PAD_COMPNAME_TYPE(po) pad_compname_type(po)
@@ -324,27 +323,12 @@ ling pad (lvalue) to C<gen>. Note that C<SvUV_set> is hijacked for this purpose
/*
-=for apidoc m|void|PAD_DUP|PADLIST dstpad|PADLIST srcpad|CLONE_PARAMS* param
-Clone a padlist.
-
=for apidoc m|void|PAD_CLONE_VARS|PerlInterpreter *proto_perl|CLONE_PARAMS* param
Clone the state variables associated with running and compiling pads.
=cut
*/
-
-#define PAD_DUP(dstpad, srcpad, param) \
- if ((srcpad) && !AvREAL(srcpad)) { \
- /* XXX padlists are real, but pretend to be not */ \
- AvREAL_on(srcpad); \
- (dstpad) = av_dup_inc((srcpad), param); \
- AvREAL_off(srcpad); \
- AvREAL_off(dstpad); \
- } \
- else \
- (dstpad) = av_dup_inc((srcpad), param);
-
/* NB - we set PL_comppad to null unless it points at a value that
* has already been dup'ed, ie it points to part of an active padlist.
* Otherwise PL_comppad ends up being a leaked scalar in code like
@@ -354,7 +338,7 @@ Clone the state variables associated with running and compiling pads.
* sub's CV or padlist. */
#define PAD_CLONE_VARS(proto_perl, param) \
- PL_comppad = MUTABLE_AV(ptr_table_fetch(PL_ptr_table, proto_perl->Icomppad)); \
+ PL_comppad = av_dup(proto_perl->Icomppad, param); \
PL_curpad = PL_comppad ? AvARRAY(PL_comppad) : NULL; \
PL_comppad_name = av_dup(proto_perl->Icomppad_name, param); \
PL_comppad_name_fill = proto_perl->Icomppad_name_fill; \
@@ -367,6 +351,30 @@ Clone the state variables associated with running and compiling pads.
PL_cop_seqmax = proto_perl->Icop_seqmax;
/*
+=for apidoc Am|PADOFFSET|pad_add_name_pvs|const char *name|U32 flags|HV *typestash|HV *ourstash
+
+Exactly like L</pad_add_name_pvn>, but takes a literal string instead
+of a string/length pair.
+
+=cut
+*/
+
+#define pad_add_name_pvs(name,flags,typestash,ourstash) \
+ Perl_pad_add_name_pvn(aTHX_ STR_WITH_LEN(name), flags, typestash, ourstash)
+
+/*
+=for apidoc Am|PADOFFSET|pad_findmy_pvs|const char *name|U32 flags
+
+Exactly like L</pad_findmy_pvn>, but takes a literal string instead
+of a string/length pair.
+
+=cut
+*/
+
+#define pad_findmy_pvs(name,flags) \
+ Perl_pad_findmy_pvn(aTHX_ STR_WITH_LEN(name), flags)
+
+/*
* Local variables:
* c-indentation-style: bsd
* c-basic-offset: 4
diff --git a/Master/tlpkg/tlperl/lib/CORE/parser.h b/Master/tlpkg/tlperl/lib/CORE/parser.h
index 17ced8f073a..1e9c71d3ce8 100644
--- a/Master/tlpkg/tlperl/lib/CORE/parser.h
+++ b/Master/tlpkg/tlperl/lib/CORE/parser.h
@@ -1,12 +1,12 @@
/* parser.h
*
- * Copyright (c) 2006, 2007, Larry Wall and others
+ * Copyright (c) 2006, 2007, 2009, 2010, 2011 Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
* This file defines the layout of the parser object used by the parser
- * and lexer (perly.c, toke,c).
+ * and lexer (perly.c, toke.c).
*/
#define YYEMPTY (-2)
@@ -105,15 +105,25 @@ typedef struct yy_parser {
COP *saved_curcop; /* the previous PL_curcop */
char tokenbuf[256];
- bool in_pod; /* lexer is within a =pod section */
U8 lex_fakeeof; /* precedence at which to fake EOF */
+ U8 lex_flags;
+ PERL_BITFIELD16 in_pod:1; /* lexer is within a =pod section */
+ PERL_BITFIELD16 filtered:1; /* source filters in evalbytes */
} yy_parser;
/* flags for lexer API */
#define LEX_STUFF_UTF8 0x00000001
#define LEX_KEEP_PREVIOUS 0x00000002
+
#ifdef PERL_CORE
# define LEX_START_SAME_FILTER 0x00000001
+# define LEX_IGNORE_UTF8_HINTS 0x00000002
+# define LEX_EVALBYTES 0x00000004
+# define LEX_START_COPIED 0x00000008
+# define LEX_DONT_CLOSE_RSFP 0x00000010
+# define LEX_START_FLAGS \
+ (LEX_START_SAME_FILTER|LEX_START_COPIED \
+ |LEX_IGNORE_UTF8_HINTS|LEX_EVALBYTES|LEX_DONT_CLOSE_RSFP)
#endif
/* flags for parser API */
diff --git a/Master/tlpkg/tlperl/lib/CORE/patchlevel.h b/Master/tlpkg/tlperl/lib/CORE/patchlevel.h
index 5dc2a53beb1..9937f98155a 100644
--- a/Master/tlpkg/tlperl/lib/CORE/patchlevel.h
+++ b/Master/tlpkg/tlperl/lib/CORE/patchlevel.h
@@ -14,7 +14,7 @@
* exactly on the third column */
#define PERL_REVISION 5 /* age */
-#define PERL_VERSION 14 /* epoch */
+#define PERL_VERSION 16 /* epoch */
#define PERL_SUBVERSION 2 /* generation */
/* The following numbers describe the earliest compatible version of
@@ -35,7 +35,7 @@
changing them should not be necessary.
*/
#define PERL_API_REVISION 5
-#define PERL_API_VERSION 14
+#define PERL_API_VERSION 16
#define PERL_API_SUBVERSION 0
/*
XXX Note: The selection of non-default Configure options, such
diff --git a/Master/tlpkg/tlperl/lib/CORE/perl.h b/Master/tlpkg/tlperl/lib/CORE/perl.h
index facdacfbf49..e532af2637c 100644
--- a/Master/tlpkg/tlperl/lib/CORE/perl.h
+++ b/Master/tlpkg/tlperl/lib/CORE/perl.h
@@ -354,11 +354,12 @@
#endif
#define NOOP /*EMPTY*/(void)0
-#if !defined(HASATTRIBUTE_UNUSED) && defined(__cplusplus)
-#define dNOOP /*EMPTY*/(void)0 /* Older g++ has no __attribute((unused))__ */
-#else
-#define dNOOP extern int /*@unused@*/ Perl___notused PERL_UNUSED_DECL
-#endif
+/* cea2e8a9dd23747f accidentally lost the comment originally from the first
+ check in of thread.h, explaining why we need dNOOP at all: */
+/* Rats: if dTHR is just blank then the subsequent ";" throws an error */
+/* Declaring a *function*, instead of a variable, ensures that we don't rely
+ on being able to suppress "unused" warnings. */
+#define dNOOP extern int Perl___notused(void)
#ifndef pTHX
/* Don't bother defining tTHX and sTHX; using them outside
@@ -490,9 +491,6 @@ register struct op *Perl_op asm(stringify(OP_IN_REGISTER));
# endif
#endif
-#define WITH_THX(s) STMT_START { dTHX; s; } STMT_END
-#define WITH_THR(s) WITH_THX(s)
-
#ifndef BYTEORDER /* Should never happen -- byteorder is in config.h */
# define BYTEORDER 0x1234
#endif
@@ -976,17 +974,6 @@ EXTERN_C int usleep(unsigned int);
#define PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
#endif
-/* Cannot include embed.h here on Win32 as win32.h has not
- yet been included and defines some config variables e.g. HAVE_INTERP_INTERN
- */
-#if !defined(PERL_FOR_X2P) && !(defined(WIN32)||defined(VMS))
-# include "embed.h"
-# ifndef PERL_MAD
-# undef op_getmad
-# define op_getmad(arg,pegop,slot) NOOP
-# endif
-#endif
-
#define MEM_SIZE Size_t
/* Round all values passed to malloc up, by default to a multiple of
@@ -1242,7 +1229,7 @@ EXTERN_C int usleep(unsigned int);
# define _SOCKADDR_LEN
#endif
-#if defined(HAS_SOCKET) && !defined(VMS) && !defined(WIN32) /* VMS/WIN32 handle sockets via vmsish.h/win32.h */
+#if defined(HAS_SOCKET) && !defined(WIN32) /* WIN32 handles sockets via win32.h */
# include <sys/socket.h>
# if defined(USE_SOCKS) && defined(I_SOCKS)
# if !defined(INCLUDE_PROTOTYPES)
@@ -1368,11 +1355,20 @@ EXTERN_C char *crypt(const char *, const char *);
#ifdef PERL_CORE
# define DEFSV (0 + GvSVn(PL_defgv))
+# define DEFSV_set(sv) \
+ (SvREFCNT_dec(GvSV(PL_defgv)), GvSV(PL_defgv) = SvREFCNT_inc(sv))
+# define SAVE_DEFSV \
+ ( \
+ save_gp(PL_defgv, 0), \
+ GvINTRO_off(PL_defgv), \
+ SAVEGENERICSV(GvSV(PL_defgv)), \
+ GvSV(PL_defgv) = NULL \
+ )
#else
# define DEFSV GvSVn(PL_defgv)
+# define DEFSV_set(sv) (GvSV(PL_defgv) = (sv))
+# define SAVE_DEFSV SAVESPTR(GvSV(PL_defgv))
#endif
-#define DEFSV_set(sv) (GvSV(PL_defgv) = (sv))
-#define SAVE_DEFSV SAVESPTR(GvSV(PL_defgv))
#define ERRHV GvHV(PL_errgv) /* XXX unused, here for compatibility */
@@ -2583,11 +2579,6 @@ typedef struct clone_params CLONE_PARAMS;
#if defined(VMS)
# include "vmsish.h"
-# include "embed.h"
-# ifndef PERL_MAD
-# undef op_getmad
-# define op_getmad(arg,pegop,slot) NOOP
-# endif
# define ISHISH "vms"
#endif
@@ -2617,11 +2608,6 @@ typedef struct clone_params CLONE_PARAMS;
#ifdef __SYMBIAN32__
# include "symbian/symbianish.h"
-# include "embed.h"
-# ifndef PERL_MAD
-# undef op_getmad
-# define op_getmad(arg,pegop,slot) NOOP
-# endif
# define ISHISH "symbian"
#endif
@@ -2778,11 +2764,7 @@ freeing any remaining Perl interpreters.
# define MAXPATHLEN (PATH_MAX+1)
# endif
# else
-# ifdef _POSIX_PATH_MAX
-# define MAXPATHLEN _POSIX_PATH_MAX
-# else
-# define MAXPATHLEN 1024 /* Err on the large side. */
-# endif
+# define MAXPATHLEN 1024 /* Err on the large side. */
# endif
#endif
@@ -3210,6 +3192,18 @@ typedef pthread_key_t perl_key;
#define SVfARG(p) ((void*)(p))
+#ifndef HEKf
+# define HEKf "2p"
+#endif
+
+/* Not ideal, but we cannot easily include a number in an already-numeric
+ * format sequence. */
+#ifndef HEKf256
+# define HEKf256 "3p"
+#endif
+
+#define HEKfARG(p) ((void*)(p))
+
#ifdef PERL_CORE
/* not used; but needed for backward compatibility with XS code? - RMB */
# undef VDf
@@ -3856,63 +3850,6 @@ Gid_t getegid (void);
where, (long)PL_scopestack_ix, (long)PL_savestack_ix, \
__FILE__, __LINE__));
-
-
-
-/* These constants should be used in preference to raw characters
- * when using magic. Note that some perl guts still assume
- * certain character properties of these constants, namely that
- * isUPPER() and toLOWER() may do useful mappings.
- *
- * Update the magic_names table in dump.c when adding/amending these
- */
-
-#define PERL_MAGIC_sv '\0' /* Special scalar variable */
-#define PERL_MAGIC_overload 'A' /* %OVERLOAD hash */
-#define PERL_MAGIC_overload_elem 'a' /* %OVERLOAD hash element */
-#define PERL_MAGIC_overload_table 'c' /* Holds overload table (AMT) on stash */
-#define PERL_MAGIC_bm 'B' /* Boyer-Moore (fast string search) */
-#define PERL_MAGIC_regdata 'D' /* Regex match position data
- (@+ and @- vars) */
-#define PERL_MAGIC_regdatum 'd' /* Regex match position data element */
-#define PERL_MAGIC_env 'E' /* %ENV hash */
-#define PERL_MAGIC_envelem 'e' /* %ENV hash element */
-#define PERL_MAGIC_fm 'f' /* Formline ('compiled' format) */
-#define PERL_MAGIC_regex_global 'g' /* m//g target / study()ed string */
-#define PERL_MAGIC_hints 'H' /* %^H hash */
-#define PERL_MAGIC_hintselem 'h' /* %^H hash element */
-#define PERL_MAGIC_isa 'I' /* @ISA array */
-#define PERL_MAGIC_isaelem 'i' /* @ISA array element */
-#define PERL_MAGIC_nkeys 'k' /* scalar(keys()) lvalue */
-#define PERL_MAGIC_dbfile 'L' /* Debugger %_<filename */
-#define PERL_MAGIC_dbline 'l' /* Debugger %_<filename element */
-#define PERL_MAGIC_shared 'N' /* Shared between threads */
-#define PERL_MAGIC_shared_scalar 'n' /* Shared between threads */
-#define PERL_MAGIC_collxfrm 'o' /* Locale transformation */
-#define PERL_MAGIC_tied 'P' /* Tied array or hash */
-#define PERL_MAGIC_tiedelem 'p' /* Tied array or hash element */
-#define PERL_MAGIC_tiedscalar 'q' /* Tied scalar or handle */
-#define PERL_MAGIC_qr 'r' /* precompiled qr// regex */
-#define PERL_MAGIC_sig 'S' /* %SIG hash */
-#define PERL_MAGIC_sigelem 's' /* %SIG hash element */
-#define PERL_MAGIC_taint 't' /* Taintedness */
-#define PERL_MAGIC_uvar 'U' /* Available for use by extensions */
-#define PERL_MAGIC_uvar_elem 'u' /* Reserved for use by extensions */
-#define PERL_MAGIC_vec 'v' /* vec() lvalue */
-#define PERL_MAGIC_vstring 'V' /* SV was vstring literal */
-#define PERL_MAGIC_utf8 'w' /* Cached UTF-8 information */
-#define PERL_MAGIC_substr 'x' /* substr() lvalue */
-#define PERL_MAGIC_defelem 'y' /* Shadow "foreach" iterator variable /
- smart parameter vivification */
-#define PERL_MAGIC_arylen '#' /* Array length ($#ary) */
-#define PERL_MAGIC_pos '.' /* pos() lvalue */
-#define PERL_MAGIC_backref '<' /* for weak ref data */
-#define PERL_MAGIC_symtab ':' /* extra data for symbol tables */
-#define PERL_MAGIC_rhash '%' /* extra data for restricted hashes */
-#define PERL_MAGIC_arylen_p '@' /* to move arylen out of XPVAV */
-#define PERL_MAGIC_ext '~' /* Available for use by extensions */
-#define PERL_MAGIC_checkcall ']' /* inlining/mutation of call to this CV */
-
#if defined(DEBUGGING) && defined(I_ASSERT)
# include <assert.h>
#endif
@@ -4257,11 +4194,25 @@ extern char ** environ; /* environment variables supplied via exec */
# endif
#endif
+#define PERL_PATCHLEVEL_H_IMPLICIT
+#include "patchlevel.h"
+#undef PERL_PATCHLEVEL_H_IMPLICIT
+
+#define PERL_VERSION_STRING STRINGIFY(PERL_REVISION) "." \
+ STRINGIFY(PERL_VERSION) "." \
+ STRINGIFY(PERL_SUBVERSION)
+
+#define PERL_API_VERSION_STRING STRINGIFY(PERL_API_REVISION) "." \
+ STRINGIFY(PERL_API_VERSION) "." \
+ STRINGIFY(PERL_API_SUBVERSION)
+
START_EXTERN_C
/* handy constants */
EXTCONST char PL_warn_uninit[]
INIT("Use of uninitialized value%s%s%s");
+EXTCONST char PL_warn_uninit_sv[]
+ INIT("Use of uninitialized value%"SVf"%s%s");
EXTCONST char PL_warn_nosemi[]
INIT("Semicolon seems to be missing");
EXTCONST char PL_warn_reserved[]
@@ -4301,21 +4252,53 @@ EXTCONST char PL_no_localize_ref[]
EXTCONST char PL_memory_wrap[]
INIT("panic: memory wrap");
+EXTCONST char PL_Yes[]
+ INIT("1");
+EXTCONST char PL_No[]
+ INIT("");
+EXTCONST char PL_hexdigit[]
+ INIT("0123456789abcdef0123456789ABCDEF");
+
+/* This is constant on most architectures, a global on OS/2 */
+#ifndef OS2
+EXTCONST char PL_sh_path[]
+ INIT(SH_PATH); /* full path of shell */
+#endif
+
#ifdef CSH
EXTCONST char PL_cshname[]
INIT(CSH);
# define PL_cshlen (sizeof(CSH "") - 1)
#endif
+/* These are baked at compile time into any shared perl library.
+ In future releases this will allow us in main() to sanity test the
+ library we're linking against. */
+
+EXTCONST U8 PL_revision
+ INIT(PERL_REVISION);
+EXTCONST U8 PL_version
+ INIT(PERL_VERSION);
+EXTCONST U8 PL_subversion
+ INIT(PERL_SUBVERSION);
+
EXTCONST char PL_uuemap[65]
INIT("`!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_");
#ifdef DOINIT
EXTCONST char PL_uudmap[256] =
-#include "uudmap.h"
+# ifdef PERL_MICRO
+# include "uuudmap.h"
+# else
+# include "uudmap.h"
+# endif
;
EXTCONST char PL_bitcount[256] =
-# include "bitcount.h"
+# ifdef PERL_MICRO
+# include "ubitcount.h"
+#else
+# include "bitcount.h"
+# endif
;
EXTCONST char* const PL_sig_name[] = { SIG_NAME };
EXTCONST int PL_sig_num[] = { SIG_NUM };
@@ -4649,12 +4632,24 @@ EXTCONST char PL_bincompat_options[] =
# ifdef FAKE_THREADS
" FAKE_THREADS"
# endif
+# ifdef FCRYPT
+ " FCRYPT"
+# endif
+# ifdef HAS_TIMES
+ " HAS_TIMES"
+# endif
+# ifdef HAVE_INTERP_INTERN
+ " HAVE_INTERP_INTERN"
+# endif
# ifdef MULTIPLICITY
" MULTIPLICITY"
# endif
# ifdef MYMALLOC
" MYMALLOC"
# endif
+# ifdef PERLIO_LAYERS
+ " PERLIO_LAYERS"
+# endif
# ifdef PERL_DEBUG_READONLY_OPS
" PERL_DEBUG_READONLY_OPS"
# endif
@@ -4670,6 +4665,9 @@ EXTCONST char PL_bincompat_options[] =
# ifdef PERL_MAD
" PERL_MAD"
# endif
+# ifdef PERL_MICRO
+ " PERL_MICRO"
+# endif
# ifdef PERL_NEED_APPCTX
" PERL_NEED_APPCTX"
# endif
@@ -4691,9 +4689,6 @@ EXTCONST char PL_bincompat_options[] =
# ifdef PL_OP_SLAB_ALLOC
" PL_OP_SLAB_ALLOC"
# endif
-# ifdef THREADS_HAVE_PIDS
- " THREADS_HAVE_PIDS"
-# endif
# ifdef USE_64_BIT_ALL
" USE_64_BIT_ALL"
# endif
@@ -4709,6 +4704,12 @@ EXTCONST char PL_bincompat_options[] =
# ifdef USE_LARGE_FILES
" USE_LARGE_FILES"
# endif
+# ifdef USE_LOCALE_COLLATE
+ " USE_LOCALE_COLLATE"
+# endif
+# ifdef USE_LOCALE_NUMERIC
+ " USE_LOCALE_NUMERIC"
+# endif
# ifdef USE_LONG_DOUBLE
" USE_LONG_DOUBLE"
# endif
@@ -4727,17 +4728,23 @@ EXTCONST char PL_bincompat_options[] =
# ifdef VMS_DO_SOCKETS
" VMS_DO_SOCKETS"
# endif
-# ifdef VMS_WE_ARE_CASE_SENSITIVE
- " VMS_SYMBOL_CASE_AS_IS"
-# endif
# ifdef VMS_SHORTEN_LONG_SYMBOLS
" VMS_SHORTEN_LONG_SYMBOLS"
# endif
+# ifdef VMS_WE_ARE_CASE_SENSITIVE
+ " VMS_SYMBOL_CASE_AS_IS"
+# endif
"";
#else
EXTCONST char PL_bincompat_options[];
#endif
+#ifndef PERL_SET_PHASE
+# define PERL_SET_PHASE(new_phase) \
+ PHASE_CHANGE_PROBE(PL_phase_names[new_phase], PL_phase_names[PL_phase]); \
+ PL_phase = new_phase;
+#endif
+
/* The interpreter phases. If these ever change, PL_phase_names right below will
* need to be updated accordingly. */
enum perl_phase {
@@ -4803,44 +4810,6 @@ typedef enum {
/* update exp_name[] in toke.c if adding to this enum */
} expectation;
-enum { /* pass one of these to get_vtbl */
- want_vtbl_sv,
- want_vtbl_env,
- want_vtbl_envelem,
- want_vtbl_sig,
- want_vtbl_sigelem,
- want_vtbl_pack,
- want_vtbl_packelem,
- want_vtbl_dbline,
- want_vtbl_isa,
- want_vtbl_isaelem,
- want_vtbl_arylen,
- want_vtbl_glob,
- want_vtbl_mglob,
- want_vtbl_nkeys,
- want_vtbl_taint,
- want_vtbl_substr,
- want_vtbl_vec,
- want_vtbl_pos,
- want_vtbl_bm,
- want_vtbl_fm,
- want_vtbl_uvar,
- want_vtbl_defelem,
- want_vtbl_regexp,
- want_vtbl_collxfrm,
- want_vtbl_amagic,
- want_vtbl_amagicelem,
- want_vtbl_regdata,
- want_vtbl_regdatum,
- want_vtbl_backref,
- want_vtbl_utf8,
- want_vtbl_symtab,
- want_vtbl_arylen_p,
- want_vtbl_hintselem,
- want_vtbl_hints
-};
-
-
/* Hints are now stored in a dedicated U32, so the bottom 8 bits are no longer
special and there is no need for HINT_PRIVATE_MASK for COPs
However, bitops store HINT_INTEGER in their op_private. */
@@ -4848,9 +4817,11 @@ enum { /* pass one of these to get_vtbl */
#define HINT_STRICT_REFS 0x00000002 /* strict pragma */
#define HINT_LOCALE 0x00000004 /* locale pragma */
#define HINT_BYTES 0x00000008 /* bytes pragma */
-#define HINT_ARYBASE 0x00000010 /* $[ is non-zero */
- /* Note: 20,40,80 used for NATIVE_HINTS */
- /* currently defined by vms/vmsish.h */
+#define HINT_LOCALE_NOT_CHARS 0x00000010 /* locale ':not_characters' pragma */
+
+#define HINT_EXPLICIT_STRICT_REFS 0x00000020 /* strict.pm */
+#define HINT_EXPLICIT_STRICT_SUBS 0x00000040 /* strict.pm */
+#define HINT_EXPLICIT_STRICT_VARS 0x00000080 /* strict.pm */
#define HINT_BLOCK_SCOPE 0x00000100
#define HINT_STRICT_SUBS 0x00000200 /* strict pragma */
@@ -4877,6 +4848,14 @@ enum { /* pass one of these to get_vtbl */
#define HINT_RE_FLAGS 0x02000000 /* re '/xism' pragma */
+#define HINT_FEATURE_MASK 0x1c000000 /* 3 bits for feature bundles */
+
+ /* Note: Used for NATIVE_HINTS, currently
+ defined by vms/vmsish.h:
+ 0x40000000
+ 0x80000000
+ */
+
/* The following are stored in $^H{sort}, not in PL_hints */
#define HINT_SORT_SORT_BITS 0x000000FF /* allow 256 different ones */
#define HINT_SORT_QUICKSORT 0x00000001
@@ -4925,19 +4904,14 @@ typedef void (*XSINIT_t) (pTHX);
typedef void (*ATEXIT_t) (pTHX_ void*);
typedef void (*XSUBADDR_t) (pTHX_ CV *);
-/* Set up PERLVAR macros for populating structs */
-#define PERLVAR(var,type) type var;
-#define PERLVARA(var,n,type) type var[n];
-#define PERLVARI(var,type,init) type var;
-#define PERLVARIC(var,type,init) type var;
-#define PERLVARISC(var,init) const char var[sizeof(init)];
-
typedef OP* (*Perl_ppaddr_t)(pTHX);
typedef OP* (*Perl_check_t) (pTHX_ OP*);
typedef void(*Perl_ophook_t)(pTHX_ OP*);
typedef int (*Perl_keyword_plugin_t)(pTHX_ char*, STRLEN, OP**);
typedef void(*Perl_cpeep_t)(pTHX_ OP *, OP *);
+typedef void(*globhook_t)(pTHX);
+
#define KEYWORD_PLUGIN_DECLINE 0
#define KEYWORD_PLUGIN_STMT 1
#define KEYWORD_PLUGIN_EXPR 2
@@ -4958,63 +4932,79 @@ typedef struct exitlistentry {
# define FAKE_DEFAULT_SIGNAL_HANDLERS
#endif
-#define PERL_PATCHLEVEL_H_IMPLICIT
-#include "patchlevel.h"
-#undef PERL_PATCHLEVEL_H_IMPLICIT
-
-#define PERL_VERSION_STRING STRINGIFY(PERL_REVISION) "." \
- STRINGIFY(PERL_VERSION) "." \
- STRINGIFY(PERL_SUBVERSION)
-
-#define PERL_API_VERSION_STRING STRINGIFY(PERL_API_REVISION) "." \
- STRINGIFY(PERL_API_VERSION) "." \
- STRINGIFY(PERL_API_SUBVERSION)
+#if !defined(MULTIPLICITY)
-#ifdef PERL_GLOBAL_STRUCT
-struct perl_vars {
-# include "perlvars.h"
+struct interpreter {
+ char broiled;
};
-# ifdef PERL_CORE
-# ifndef PERL_GLOBAL_STRUCT_PRIVATE
-EXT struct perl_vars PL_Vars;
-EXT struct perl_vars *PL_VarsPtr INIT(&PL_Vars);
-# undef PERL_GET_VARS
-# define PERL_GET_VARS() PL_VarsPtr
-# endif /* !PERL_GLOBAL_STRUCT_PRIVATE */
-# else /* PERL_CORE */
-# if !defined(__GNUC__) || !defined(WIN32)
-EXT
-# endif /* WIN32 */
-struct perl_vars *PL_VarsPtr;
-# define PL_Vars (*((PL_VarsPtr) \
- ? PL_VarsPtr : (PL_VarsPtr = Perl_GetVars(aTHX))))
-# endif /* PERL_CORE */
-#endif /* PERL_GLOBAL_STRUCT */
+#else
-#if defined(MULTIPLICITY)
/* If we have multiple interpreters define a struct
holding variables which must be per-interpreter
If we don't have threads anything that would have
be per-thread is per-interpreter.
*/
+/* Set up PERLVAR macros for populating structs */
+# define PERLVAR(prefix,var,type) type prefix##var;
+# define PERLVARA(prefix,var,n,type) type prefix##var[n];
+# define PERLVARI(prefix,var,type,init) type prefix##var;
+# define PERLVARIC(prefix,var,type,init) type prefix##var;
+
struct interpreter {
# include "intrpvar.h"
};
-#else
-struct interpreter {
- char broiled;
+EXTCONST U16 PL_interp_size
+ INIT(sizeof(struct interpreter));
+
+# define PERL_INTERPRETER_SIZE_UPTO_MEMBER(member) \
+ STRUCT_OFFSET(struct interpreter, member) + \
+ sizeof(((struct interpreter*)0)->member)
+
+/* This will be useful for subsequent releases, because this has to be the
+ same in your libperl as in main(), else you have a mismatch and must abort.
+*/
+EXTCONST U16 PL_interp_size_5_16_0
+ INIT(PERL_INTERPRETER_SIZE_UPTO_MEMBER(PERL_LAST_5_16_0_INTERP_MEMBER));
+
+
+# ifdef PERL_GLOBAL_STRUCT
+/* MULTIPLICITY is automatically defined when PERL_GLOBAL_STRUCT is defined,
+ hence it's safe and sane to nest this within #ifdef MULTIPLICITY */
+
+struct perl_vars {
+# include "perlvars.h"
};
-#endif /* MULTIPLICITY */
+
+EXTCONST U16 PL_global_struct_size
+ INIT(sizeof(struct perl_vars));
+
+# ifdef PERL_CORE
+# ifndef PERL_GLOBAL_STRUCT_PRIVATE
+EXT struct perl_vars PL_Vars;
+EXT struct perl_vars *PL_VarsPtr INIT(&PL_Vars);
+# undef PERL_GET_VARS
+# define PERL_GET_VARS() PL_VarsPtr
+# endif /* !PERL_GLOBAL_STRUCT_PRIVATE */
+# else /* PERL_CORE */
+# if !defined(__GNUC__) || !defined(WIN32)
+EXT
+# endif /* WIN32 */
+struct perl_vars *PL_VarsPtr;
+# define PL_Vars (*((PL_VarsPtr) \
+ ? PL_VarsPtr : (PL_VarsPtr = Perl_GetVars(aTHX))))
+# endif /* PERL_CORE */
+# endif /* PERL_GLOBAL_STRUCT */
/* Done with PERLVAR macros for now ... */
-#undef PERLVAR
-#undef PERLVARA
-#undef PERLVARI
-#undef PERLVARIC
-#undef PERLVARISC
+# undef PERLVAR
+# undef PERLVARA
+# undef PERLVARI
+# undef PERLVARIC
+
+#endif /* MULTIPLICITY */
struct tempsym; /* defined in pp_pack.c */
@@ -5059,11 +5049,10 @@ struct tempsym; /* defined in pp_pack.c */
* these include variables that would have been their struct-s
*/
-#define PERLVAR(var,type) EXT type PL_##var;
-#define PERLVARA(var,n,type) EXT type PL_##var[n];
-#define PERLVARI(var,type,init) EXT type PL_##var INIT(init);
-#define PERLVARIC(var,type,init) EXTCONST type PL_##var INIT(init);
-#define PERLVARISC(var,init) EXTCONST char PL_##var[sizeof(init)] INIT(init);
+#define PERLVAR(prefix,var,type) EXT type PL_##var;
+#define PERLVARA(prefix,var,n,type) EXT type PL_##var[n];
+#define PERLVARI(prefix,var,type,init) EXT type PL_##var INIT(init);
+#define PERLVARIC(prefix,var,type,init) EXTCONST type PL_##var INIT(init);
#if !defined(MULTIPLICITY)
START_EXTERN_C
@@ -5076,13 +5065,13 @@ END_EXTERN_C
# undef PL_na
#endif
-#if defined(WIN32)
-/* Now all the config stuff is setup we can include embed.h */
-# include "embed.h"
-# ifndef PERL_MAD
-# undef op_getmad
-# define op_getmad(arg,pegop,slot) NOOP
-# endif
+/* Now all the config stuff is setup we can include embed.h
+ In particular, need the relevant *ish file included already, as it may
+ define HAVE_INTERP_INTERN */
+#include "embed.h"
+#ifndef PERL_MAD
+# undef op_getmad
+# define op_getmad(arg,pegop,slot) NOOP
#endif
#ifndef PERL_GLOBAL_STRUCT
@@ -5100,6 +5089,14 @@ END_EXTERN_C
START_EXTERN_C
+/* dummy variables that hold pointers to both runops functions, thus forcing
+ * them *both* to get linked in (useful for Peek.xs, debugging etc) */
+
+EXTCONST runops_proc_t PL_runops_std
+ INIT(Perl_runops_standard);
+EXTCONST runops_proc_t PL_runops_dbg
+ INIT(Perl_runops_debug);
+
/* PERL_GLOBAL_STRUCT_PRIVATE wants to keep global data like the
* magic vtables const, but this is incompatible with SWIG which
* does want to modify the vtables. */
@@ -5109,459 +5106,71 @@ START_EXTERN_C
# define EXT_MGVTBL EXT MGVTBL
#endif
+#define PERL_MAGIC_READONLY_ACCEPTABLE 0x40
+#define PERL_MAGIC_VALUE_MAGIC 0x80
+#define PERL_MAGIC_VTABLE_MASK 0x3F
+#define PERL_MAGIC_TYPE_READONLY_ACCEPTABLE(t) \
+ (PL_magic_data[(U8)(t)] & PERL_MAGIC_READONLY_ACCEPTABLE)
+#define PERL_MAGIC_TYPE_IS_VALUE_MAGIC(t) \
+ (PL_magic_data[(U8)(t)] & PERL_MAGIC_VALUE_MAGIC)
+
+#include "mg_vtable.h"
+
#ifdef DOINIT
-# define MGVTBL_SET(var,a,b,c,d,e,f,g,h) EXT_MGVTBL var = {a,b,c,d,e,f,g,h}
-/* Like MGVTBL_SET but with the get magic having a const MG* */
-# define MGVTBL_SET_CONST_MAGIC_GET(var,a,b,c,d,e,f,g,h) EXT_MGVTBL var \
- = {(int (*)(pTHX_ SV *, MAGIC *))a,b,c,d,e,f,g,h}
+EXTCONST U8 PL_magic_data[256] =
+# ifdef PERL_MICRO
+# include "umg_data.h"
+# else
+# include "mg_data.h"
+# endif
+;
#else
-# define MGVTBL_SET(var,a,b,c,d,e,f,g,h) EXT_MGVTBL var
-# define MGVTBL_SET_CONST_MAGIC_GET(var,a,b,c,d,e,f,g,h) EXT_MGVTBL var
+EXTCONST U8 PL_magic_data[256];
#endif
-/* These all need to be 0, not NULL, as NULL can be (void*)0, which is a
- * pointer to data, whereas we're assigning pointers to functions, which are
- * not the same beast. ANSI doesn't allow the assignment from one to the other.
- * (although most, but not all, compilers are prepared to do it)
- */
+#ifdef DOINIT
+ /* NL BD IV NV PV PI PN MG RX GV LV AV HV CV FM IO */
+EXTCONST bool
+PL_valid_types_IVX[] = { 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0 };
+EXTCONST bool
+PL_valid_types_NVX[] = { 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0 };
+EXTCONST bool
+PL_valid_types_PVX[] = { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1 };
+EXTCONST bool
+PL_valid_types_RV[] = { 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1 };
+EXTCONST bool
+PL_valid_types_IV_set[] = { 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1 };
+EXTCONST bool
+PL_valid_types_NV_set[] = { 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 };
-/* args are:
- vtable
- get
- set
- len
- clear
- free
- copy
- dup
- local
-*/
+#else
-MGVTBL_SET(
- PL_vtbl_sv,
- Perl_magic_get,
- Perl_magic_set,
- Perl_magic_len,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_env,
- 0,
- Perl_magic_set_all_env,
- 0,
- Perl_magic_clear_all_env,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_envelem,
- 0,
- Perl_magic_setenv,
- 0,
- Perl_magic_clearenv,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_sig,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
+EXTCONST bool PL_valid_types_IVX[];
+EXTCONST bool PL_valid_types_NVX[];
+EXTCONST bool PL_valid_types_PVX[];
+EXTCONST bool PL_valid_types_RV[];
+EXTCONST bool PL_valid_types_IV_set[];
+EXTCONST bool PL_valid_types_NV_set[];
-#ifdef PERL_MICRO
-MGVTBL_SET(
- PL_vtbl_sigelem,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
+#endif
-#else
-MGVTBL_SET(
- PL_vtbl_sigelem,
- Perl_magic_getsig,
- Perl_magic_setsig,
- 0,
- Perl_magic_clearsig,
- 0,
- 0,
- 0,
- 0
-);
-#endif
-
-MGVTBL_SET(
- PL_vtbl_pack,
- 0,
- 0,
- Perl_magic_sizepack,
- Perl_magic_wipepack,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_packelem,
- Perl_magic_getpack,
- Perl_magic_setpack,
- 0,
- Perl_magic_clearpack,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_dbline,
- 0,
- Perl_magic_setdbline,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_isa,
- 0,
- Perl_magic_setisa,
- 0,
- Perl_magic_clearisa,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_isaelem,
- 0,
- Perl_magic_setisa,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET_CONST_MAGIC_GET(
- PL_vtbl_arylen,
- Perl_magic_getarylen,
- Perl_magic_setarylen,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_arylen_p,
- 0,
- 0,
- 0,
- 0,
- Perl_magic_freearylen_p,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_mglob,
- 0,
- Perl_magic_setmglob,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_nkeys,
- Perl_magic_getnkeys,
- Perl_magic_setnkeys,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_taint,
- Perl_magic_gettaint,
- Perl_magic_settaint,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_substr,
- Perl_magic_getsubstr,
- Perl_magic_setsubstr,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_vec,
- Perl_magic_getvec,
- Perl_magic_setvec,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_pos,
- Perl_magic_getpos,
- Perl_magic_setpos,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_bm,
- 0,
- Perl_magic_setregexp,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_fm,
- 0,
- Perl_magic_setregexp,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_uvar,
- Perl_magic_getuvar,
- Perl_magic_setuvar,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_defelem,
- Perl_magic_getdefelem,
- Perl_magic_setdefelem,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_regexp,
- 0,
- Perl_magic_setregexp,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_regdata,
- 0,
- 0,
- Perl_magic_regdata_cnt,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_regdatum,
- Perl_magic_regdatum_get,
- Perl_magic_regdatum_set,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_amagic,
- 0,
- Perl_magic_setamagic,
- 0,
- 0,
- Perl_magic_setamagic,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_amagicelem,
- 0,
- Perl_magic_setamagic,
- 0,
- 0,
- Perl_magic_setamagic,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_backref,
- 0,
- 0,
- 0,
- 0,
- Perl_magic_killbackrefs,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_ovrld,
- 0,
- 0,
- 0,
- 0,
- Perl_magic_freeovrld,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_utf8,
- 0,
- Perl_magic_setutf8,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-#ifdef USE_LOCALE_COLLATE
-MGVTBL_SET(
- PL_vtbl_collxfrm,
- 0,
- Perl_magic_setcollxfrm,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
-);
-#endif
-
-MGVTBL_SET(
- PL_vtbl_hintselem,
- 0,
- Perl_magic_sethint,
- 0,
- Perl_magic_clearhint,
- 0,
- 0,
- 0,
- 0
-);
-
-MGVTBL_SET(
- PL_vtbl_hints,
- 0,
- 0,
- 0,
- Perl_magic_clearhints,
- 0,
- 0,
- 0,
- 0
-);
#include "overload.h"
END_EXTERN_C
struct am_table {
- U32 flags;
+ U8 flags;
+ U8 fallback;
+ U16 spare;
U32 was_ok_sub;
long was_ok_am;
- long fallback;
CV* table[NofAMmeth];
};
struct am_table_short {
- U32 flags;
+ U8 flags;
+ U8 fallback;
+ U16 spare;
U32 was_ok_sub;
long was_ok_am;
};
@@ -5657,11 +5266,23 @@ typedef struct am_table_short AMTS;
#define SET_NUMERIC_LOCAL() \
set_numeric_local();
+/* Returns non-zero If the plain locale pragma without a parameter is in effect
+ */
#define IN_LOCALE_RUNTIME (CopHINTS_get(PL_curcop) & HINT_LOCALE)
+
+/* Returns non-zero If either form of the locale pragma is in effect */
+#define IN_SOME_LOCALE_FORM_RUNTIME \
+ (CopHINTS_get(PL_curcop) & (HINT_LOCALE|HINT_LOCALE_NOT_CHARS))
+
#define IN_LOCALE_COMPILETIME (PL_hints & HINT_LOCALE)
+#define IN_SOME_LOCALE_FORM_COMPILETIME \
+ (PL_hints & (HINT_LOCALE|HINT_LOCALE_NOT_CHARS))
#define IN_LOCALE \
(IN_PERL_COMPILETIME ? IN_LOCALE_COMPILETIME : IN_LOCALE_RUNTIME)
+#define IN_SOME_LOCALE_FORM \
+ (IN_PERL_COMPILETIME ? IN_SOME_LOCALE_FORM_COMPILETIME \
+ : IN_SOME_LOCALE_FORM_RUNTIME)
#define STORE_NUMERIC_LOCAL_SET_STANDARD() \
bool was_local = PL_numeric_local && IN_LOCALE; \
@@ -5881,10 +5502,12 @@ typedef struct am_table_short AMTS;
* the interpreter goes away.) */
# define MY_CXT_INIT \
my_cxt_t *my_cxtp = \
- (my_cxt_t*)Perl_my_cxt_init(aTHX_ MY_CXT_INIT_ARG, sizeof(my_cxt_t))
+ (my_cxt_t*)Perl_my_cxt_init(aTHX_ MY_CXT_INIT_ARG, sizeof(my_cxt_t)); \
+ PERL_UNUSED_VAR(my_cxtp)
# define MY_CXT_INIT_INTERP(my_perl) \
my_cxt_t *my_cxtp = \
- (my_cxt_t*)Perl_my_cxt_init(my_perl, MY_CXT_INIT_ARG, sizeof(my_cxt_t))
+ (my_cxt_t*)Perl_my_cxt_init(my_perl, MY_CXT_INIT_ARG, sizeof(my_cxt_t)); \
+ PERL_UNUSED_VAR(my_cxtp)
/* This declaration should be used within all functions that use the
* interpreter-local data. */
@@ -5901,7 +5524,7 @@ typedef struct am_table_short AMTS;
/* This macro must be used to access members of the my_cxt_t structure.
- * e.g. MYCXT.some_data */
+ * e.g. MY_CXT.some_data */
# define MY_CXT (*my_cxtp)
/* Judicious use of these macros can reduce the number of times dMY_CXT
@@ -6005,6 +5628,8 @@ int flock(int fd, int op);
#define PERL_SCAN_ALLOW_UNDERSCORES 0x01 /* grok_??? accept _ in numbers */
#define PERL_SCAN_DISALLOW_PREFIX 0x02 /* grok_??? reject 0x in hex etc */
#define PERL_SCAN_SILENT_ILLDIGIT 0x04 /* grok_??? not warn about illegal digits */
+#define PERL_SCAN_SILENT_NON_PORTABLE 0x08 /* grok_??? not warn about very large
+ numbers which are <= UV_MAX */
/* Output flags: */
#define PERL_SCAN_GREATER_THAN_UV_MAX 0x02 /* should this merge with above? */
@@ -6147,14 +5772,6 @@ extern void moncontrol(int);
#define PERL_PV_PRETTY_DUMP PERL_PV_PRETTY_ELLIPSES|PERL_PV_PRETTY_QUOTE
#define PERL_PV_PRETTY_REGPROP PERL_PV_PRETTY_ELLIPSES|PERL_PV_PRETTY_LTGT|PERL_PV_ESCAPE_RE|PERL_PV_ESCAPE_NONASCII
-#ifdef PERL_CORE
-# define FEATURE_IS_ENABLED(name) \
- ((0 != (PL_hints & HINT_LOCALIZE_HH)) \
- && Perl_feature_is_enabled(aTHX_ STR_WITH_LEN(name)))
-/* The longest string we pass in. */
-# define MAX_FEATURE_LEN (sizeof("unicode_strings")-1)
-#endif
-
/*
(KEEP THIS LAST IN perl.h!)
diff --git a/Master/tlpkg/tlperl/lib/CORE/perlapi.h b/Master/tlpkg/tlperl/lib/CORE/perlapi.h
index d7d55d6d97e..80425c368cf 100644
--- a/Master/tlpkg/tlperl/lib/CORE/perlapi.h
+++ b/Master/tlpkg/tlperl/lib/CORE/perlapi.h
@@ -28,14 +28,11 @@ START_EXTERN_C
#undef PERLVARA
#undef PERLVARI
#undef PERLVARIC
-#undef PERLVARISC
-#define PERLVAR(v,t) EXTERN_C t* Perl_##v##_ptr(pTHX);
-#define PERLVARA(v,n,t) typedef t PL_##v##_t[n]; \
- EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX);
-#define PERLVARI(v,t,i) PERLVAR(v,t)
-#define PERLVARIC(v,t,i) PERLVAR(v, const t)
-#define PERLVARISC(v,i) typedef const char PL_##v##_t[sizeof(i)]; \
- EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX);
+#define PERLVAR(p,v,t) EXTERN_C t* Perl_##p##v##_ptr(pTHX);
+#define PERLVARA(p,v,n,t) typedef t PL_##v##_t[n]; \
+ EXTERN_C PL_##v##_t* Perl_##p##v##_ptr(pTHX);
+#define PERLVARI(p,v,t,i) PERLVAR(p,v,t)
+#define PERLVARIC(p,v,t,i) PERLVAR(p,v, const t)
#include "perlvars.h"
@@ -43,7 +40,6 @@ START_EXTERN_C
#undef PERLVARA
#undef PERLVARI
#undef PERLVARIC
-#undef PERLVARISC
END_EXTERN_C
@@ -66,11 +62,10 @@ EXTCONST void * const PL_force_link_funcs[] = {
#undef PERLVARA
#undef PERLVARI
#undef PERLVARIC
-#define PERLVAR(v,t) (void*)Perl_##v##_ptr,
-#define PERLVARA(v,n,t) PERLVAR(v,t)
-#define PERLVARI(v,t,i) PERLVAR(v,t)
-#define PERLVARIC(v,t,i) PERLVAR(v,t)
-#define PERLVARISC(v,i) PERLVAR(v,char)
+#define PERLVAR(p,v,t) (void*)Perl_##p##v##_ptr,
+#define PERLVARA(p,v,n,t) PERLVAR(p,v,t)
+#define PERLVARI(p,v,t,i) PERLVAR(p,v,t)
+#define PERLVARIC(p,v,t,i) PERLVAR(p,v,t)
/* In Tru64 (__DEC && __osf__) the cc option -std1 causes that one
* cannot cast between void pointers and function pointers without
@@ -95,7 +90,6 @@ EXTCONST void * const PL_force_link_funcs[] = {
#undef PERLVARA
#undef PERLVARI
#undef PERLVARIC
-#undef PERLVARISC
};
#endif /* DOINIT */
@@ -105,16 +99,12 @@ END_EXTERN_C
#else /* !PERL_CORE */
-#undef PL_No
-#define PL_No (*Perl_GNo_ptr(NULL))
-#undef PL_Yes
-#define PL_Yes (*Perl_GYes_ptr(NULL))
#undef PL_appctx
#define PL_appctx (*Perl_Gappctx_ptr(NULL))
-#undef PL_charclass
-#define PL_charclass (*Perl_Gcharclass_ptr(NULL))
#undef PL_check
#define PL_check (*Perl_Gcheck_ptr(NULL))
+#undef PL_check_mutex
+#define PL_check_mutex (*Perl_Gcheck_mutex_ptr(NULL))
#undef PL_csighandlerp
#define PL_csighandlerp (*Perl_Gcsighandlerp_ptr(NULL))
#undef PL_curinterp
@@ -125,16 +115,8 @@ END_EXTERN_C
#define PL_dollarzero_mutex (*Perl_Gdollarzero_mutex_ptr(NULL))
#undef PL_fold_locale
#define PL_fold_locale (*Perl_Gfold_locale_ptr(NULL))
-#undef PL_global_struct_size
-#define PL_global_struct_size (*Perl_Gglobal_struct_size_ptr(NULL))
-#undef PL_hexdigit
-#define PL_hexdigit (*Perl_Ghexdigit_ptr(NULL))
#undef PL_hints_mutex
#define PL_hints_mutex (*Perl_Ghints_mutex_ptr(NULL))
-#undef PL_interp_size
-#define PL_interp_size (*Perl_Ginterp_size_ptr(NULL))
-#undef PL_interp_size_5_10_0
-#define PL_interp_size_5_10_0 (*Perl_Ginterp_size_5_10_0_ptr(NULL))
#undef PL_keyword_plugin
#define PL_keyword_plugin (*Perl_Gkeyword_plugin_ptr(NULL))
#undef PL_malloc_mutex
@@ -151,8 +133,6 @@ END_EXTERN_C
#define PL_op_seq (*Perl_Gop_seq_ptr(NULL))
#undef PL_op_sequence
#define PL_op_sequence (*Perl_Gop_sequence_ptr(NULL))
-#undef PL_patleave
-#define PL_patleave (*Perl_Gpatleave_ptr(NULL))
#undef PL_perlio_debug_fd
#define PL_perlio_debug_fd (*Perl_Gperlio_debug_fd_ptr(NULL))
#undef PL_perlio_fd_refcnt
@@ -163,12 +143,6 @@ END_EXTERN_C
#define PL_perlio_mutex (*Perl_Gperlio_mutex_ptr(NULL))
#undef PL_ppaddr
#define PL_ppaddr (*Perl_Gppaddr_ptr(NULL))
-#undef PL_revision
-#define PL_revision (*Perl_Grevision_ptr(NULL))
-#undef PL_runops_dbg
-#define PL_runops_dbg (*Perl_Grunops_dbg_ptr(NULL))
-#undef PL_runops_std
-#define PL_runops_std (*Perl_Grunops_std_ptr(NULL))
#undef PL_sh_path
#define PL_sh_path (*Perl_Gsh_path_ptr(NULL))
#undef PL_sig_defaulting
@@ -181,8 +155,6 @@ END_EXTERN_C
#define PL_sig_trapped (*Perl_Gsig_trapped_ptr(NULL))
#undef PL_sigfpe_saved
#define PL_sigfpe_saved (*Perl_Gsigfpe_saved_ptr(NULL))
-#undef PL_subversion
-#define PL_subversion (*Perl_Gsubversion_ptr(NULL))
#undef PL_sv_placeholder
#define PL_sv_placeholder (*Perl_Gsv_placeholder_ptr(NULL))
#undef PL_thr_key
@@ -191,8 +163,6 @@ END_EXTERN_C
#define PL_timesbase (*Perl_Gtimesbase_ptr(NULL))
#undef PL_use_safe_putenv
#define PL_use_safe_putenv (*Perl_Guse_safe_putenv_ptr(NULL))
-#undef PL_version
-#define PL_version (*Perl_Gversion_ptr(NULL))
#undef PL_veto_cleanup
#define PL_veto_cleanup (*Perl_Gveto_cleanup_ptr(NULL))
#undef PL_watch_pvx
diff --git a/Master/tlpkg/tlperl/lib/CORE/perlhost.h b/Master/tlpkg/tlperl/lib/CORE/perlhost.h
index 0240044c114..e8f5fb4928e 100644
--- a/Master/tlpkg/tlperl/lib/CORE/perlhost.h
+++ b/Master/tlpkg/tlperl/lib/CORE/perlhost.h
@@ -840,21 +840,6 @@ PerlStdIOFdupopen(struct IPerlStdIO* piPerl, FILE* pf)
int fileno = win32_dup(win32_fileno(pf));
/* open the file in the same mode */
-#ifdef __BORLANDC__
- if((pf)->flags & _F_READ) {
- mode[0] = 'r';
- mode[1] = 0;
- }
- else if((pf)->flags & _F_WRIT) {
- mode[0] = 'a';
- mode[1] = 0;
- }
- else if((pf)->flags & _F_RDWR) {
- mode[0] = 'r';
- mode[1] = '+';
- mode[2] = 0;
- }
-#else
if((pf)->_flag & _IOREAD) {
mode[0] = 'r';
mode[1] = 0;
@@ -868,7 +853,6 @@ PerlStdIOFdupopen(struct IPerlStdIO* piPerl, FILE* pf)
mode[1] = '+';
mode[2] = 0;
}
-#endif
/* it appears that the binmode is attached to the
* file descriptor so binmode files will be handled
@@ -1710,7 +1694,6 @@ static THREAD_RET_TYPE
win32_start_child(LPVOID arg)
{
PerlInterpreter *my_perl = (PerlInterpreter*)arg;
- GV *tmpgv;
int status;
HWND parent_message_hwnd;
#ifdef PERL_SYNC_FORK
@@ -1722,18 +1705,11 @@ win32_start_child(LPVOID arg)
PERL_SET_THX(my_perl);
win32_checkTLS(my_perl);
- /* set $$ to pseudo id */
#ifdef PERL_SYNC_FORK
w32_pseudo_id = id;
#else
w32_pseudo_id = GetCurrentThreadId();
#endif
- if (tmpgv = gv_fetchpv("$", TRUE, SVt_PV)) {
- SV *sv = GvSV(tmpgv);
- SvREADONLY_off(sv);
- sv_setiv(sv, -(IV)w32_pseudo_id);
- SvREADONLY_on(sv);
- }
#ifdef PERL_USES_PL_PIDSTATUS
hv_clear(PL_pidstatus);
#endif
@@ -1781,6 +1757,10 @@ restart:
LEAVE;
FREETMPS;
PL_curstash = PL_defstash;
+ if (PL_curstash != PL_defstash) {
+ SvREFCNT_dec(PL_curstash);
+ PL_curstash = (HV *)SvREFCNT_inc(PL_defstash);
+ }
if (PL_endav && !PL_minus_c)
call_list(oldscope, PL_endav);
status = STATUS_EXIT;
diff --git a/Master/tlpkg/tlperl/lib/CORE/perliol.h b/Master/tlpkg/tlperl/lib/CORE/perliol.h
index a51f99b9039..3bce866f490 100644
--- a/Master/tlpkg/tlperl/lib/CORE/perliol.h
+++ b/Master/tlpkg/tlperl/lib/CORE/perliol.h
@@ -113,9 +113,6 @@ EXTPERLIO PerlIO_funcs PerlIO_utf8;
EXTPERLIO PerlIO_funcs PerlIO_byte;
EXTPERLIO PerlIO_funcs PerlIO_raw;
EXTPERLIO PerlIO_funcs PerlIO_pending;
-#ifdef HAS_MMAP
-EXTPERLIO PerlIO_funcs PerlIO_mmap;
-#endif
#ifdef WIN32
EXTPERLIO PerlIO_funcs PerlIO_win32;
#endif
@@ -223,17 +220,6 @@ PERL_EXPORT_C SSize_t PerlIOCrlf_unread(pTHX_ PerlIO *f, const void *vbuf, Siz
PERL_EXPORT_C SSize_t PerlIOCrlf_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
PERL_EXPORT_C SSize_t PerlIOCrlf_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
-/* Mmap */
-PERL_EXPORT_C IV PerlIOMmap_close(pTHX_ PerlIO *f);
-PERL_EXPORT_C PerlIO * PerlIOMmap_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags);
-PERL_EXPORT_C IV PerlIOMmap_fill(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOMmap_flush(pTHX_ PerlIO *f);
-PERL_EXPORT_C STDCHAR * PerlIOMmap_get_base(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOMmap_map(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV PerlIOMmap_unmap(pTHX_ PerlIO *f);
-PERL_EXPORT_C SSize_t PerlIOMmap_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
-PERL_EXPORT_C SSize_t PerlIOMmap_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
-
/* Pending */
PERL_EXPORT_C IV PerlIOPending_close(pTHX_ PerlIO *f);
PERL_EXPORT_C IV PerlIOPending_fill(pTHX_ PerlIO *f);
diff --git a/Master/tlpkg/tlperl/lib/CORE/perlvars.h b/Master/tlpkg/tlperl/lib/CORE/perlvars.h
index 1a44e22e4e9..20c3882fc8d 100644
--- a/Master/tlpkg/tlperl/lib/CORE/perlvars.h
+++ b/Master/tlpkg/tlperl/lib/CORE/perlvars.h
@@ -10,6 +10,11 @@
/*
=head1 Global Variables
+
+These variables are global to an entire process. They are shared between
+all interpreters and all threads in a process.
+
+=cut
*/
/* Don't forget to re-run regen/embed.pl to propagate changes! */
@@ -24,165 +29,138 @@
* the appropriate export list for win32. */
/* global state */
-PERLVAR(Gcurinterp, PerlInterpreter *)
+#if defined(USE_ITHREADS)
+PERLVAR(G, op_mutex, perl_mutex) /* Mutex for op refcounting */
+#endif
+PERLVAR(G, curinterp, PerlInterpreter *)
/* currently running interpreter
* (initial parent interpreter under
* useithreads) */
#if defined(USE_ITHREADS)
-PERLVAR(Gthr_key, perl_key) /* key to retrieve per-thread struct */
+PERLVAR(G, thr_key, perl_key) /* key to retrieve per-thread struct */
#endif
-/* constants (these are not literals to facilitate pointer comparisons)
- * (PERLVARISC really does create variables, despite its looks) */
-PERLVARISC(GYes, "1")
-PERLVARISC(GNo, "")
-PERLVARISC(Ghexdigit, "0123456789abcdef0123456789ABCDEF")
-PERLVARISC(Gpatleave, "\\.^$@dDwWsSbB+*?|()-nrtfeaxc0123456789[{]}")
-
/* XXX does anyone even use this? */
-PERLVARI(Gdo_undump, bool, FALSE) /* -u or dump seen? */
+PERLVARI(G, do_undump, bool, FALSE) /* -u or dump seen? */
-#if defined(MYMALLOC) && defined(USE_ITHREADS)
-PERLVAR(Gmalloc_mutex, perl_mutex) /* Mutex for malloc */
+#ifndef PERL_USE_SAFE_PUTENV
+PERLVARI(G, use_safe_putenv, bool, TRUE)
#endif
-#if defined(USE_ITHREADS)
-PERLVAR(Gop_mutex, perl_mutex) /* Mutex for op refcounting */
+#if defined(FAKE_PERSISTENT_SIGNAL_HANDLERS)||defined(FAKE_DEFAULT_SIGNAL_HANDLERS)
+PERLVARI(G, sig_handlers_initted, int, 0)
#endif
-
-#ifdef USE_ITHREADS
-PERLVAR(Gdollarzero_mutex, perl_mutex) /* Modifying $0 */
+#ifdef FAKE_PERSISTENT_SIGNAL_HANDLERS
+PERLVARA(G, sig_ignoring, SIG_SIZE, int)
+ /* which signals we are ignoring */
+#endif
+#ifdef FAKE_DEFAULT_SIGNAL_HANDLERS
+PERLVARA(G, sig_defaulting, SIG_SIZE, int)
#endif
-
-/* This is constant on most architectures, a global on OS/2 */
-#ifdef OS2
-# define PERL___C
-#else
-# define PERL___C const
+/* XXX signals are process-wide anyway, so we
+ * ignore the implications of this for threading */
+#ifndef HAS_SIGACTION
+PERLVARI(G, sig_trapped, int, 0)
#endif
-PERLVARI(Gsh_path, PERL___C char *, SH_PATH) /* full path of shell */
-#undef PERL___C
#ifndef PERL_MICRO
/* If Perl has to ignore SIGPFE, this is its saved state.
* See perl.h macros PERL_FPU_INIT and PERL_FPU_{PRE,POST}_EXEC. */
-PERLVAR(Gsigfpe_saved, Sighandler_t)
-#endif
-
-/* Restricted hashes placeholder value.
- * The contents are never used, only the address. */
-PERLVAR(Gsv_placeholder, SV)
-
-#ifndef PERL_MICRO
-PERLVARI(Gcsighandlerp, Sighandler_t, Perl_csighandler) /* Pointer to C-level sighandler */
+PERLVAR(G, sigfpe_saved, Sighandler_t)
+PERLVARI(G, csighandlerp, Sighandler_t, Perl_csighandler)
+ /* Pointer to C-level sighandler */
#endif
-#ifndef PERL_USE_SAFE_PUTENV
-PERLVARI(Guse_safe_putenv, int, 1)
+/* This is constant on most architectures, a global on OS/2 */
+#ifdef OS2
+PERLVARI(G, sh_path, char *, SH_PATH) /* full path of shell */
#endif
#ifdef USE_PERLIO
-PERLVARI(Gperlio_fd_refcnt, int*, 0) /* Pointer to array of fd refcounts. */
-PERLVARI(Gperlio_fd_refcnt_size, int, 0) /* Size of the array */
-PERLVARI(Gperlio_debug_fd, int, 0) /* the fd to write perlio debug into, 0 means not set yet */
-#endif
-#ifdef HAS_MMAP
-PERLVARI(Gmmap_page_size, IV, 0)
-#endif
+# if defined(USE_ITHREADS)
+PERLVAR(G, perlio_mutex, perl_mutex) /* Mutex for perlio fd refcounts */
+# endif
-#if defined(FAKE_PERSISTENT_SIGNAL_HANDLERS)||defined(FAKE_DEFAULT_SIGNAL_HANDLERS)
-PERLVARI(Gsig_handlers_initted, int, 0)
+PERLVARI(G, perlio_fd_refcnt, int *, 0) /* Pointer to array of fd refcounts. */
+PERLVARI(G, perlio_fd_refcnt_size, int, 0) /* Size of the array */
+PERLVARI(G, perlio_debug_fd, int, 0) /* the fd to write perlio debug into, 0 means not set yet */
#endif
-#ifdef FAKE_PERSISTENT_SIGNAL_HANDLERS
-PERLVARA(Gsig_ignoring, SIG_SIZE, int) /* which signals we are ignoring */
-#endif
-#ifdef FAKE_DEFAULT_SIGNAL_HANDLERS
-PERLVARA(Gsig_defaulting, SIG_SIZE, int)
+
+#ifdef HAS_MMAP
+PERLVARI(G, mmap_page_size, IV, 0)
#endif
-/* XXX signals are process-wide anyway, so we
- * ignore the implications of this for threading */
-#ifndef HAS_SIGACTION
-PERLVARI(Gsig_trapped, int, 0)
+#if defined(USE_ITHREADS)
+PERLVAR(G, hints_mutex, perl_mutex) /* Mutex for refcounted he refcounting */
#endif
#ifdef DEBUGGING
-PERLVAR(Gwatch_pvx, char*)
+PERLVAR(G, watch_pvx, char *)
#endif
+/*
+=for apidoc AmU|Perl_check_t *|PL_check
+
+Array, indexed by opcode, of functions that will be called for the "check"
+phase of optree building during compilation of Perl code. For most (but
+not all) types of op, once the op has been initially built and populated
+with child ops it will be filtered through the check function referenced
+by the appropriate element of this array. The new op is passed in as the
+sole argument to the check function, and the check function returns the
+completed op. The check function may (as the name suggests) check the op
+for validity and signal errors. It may also initialise or modify parts of
+the ops, or perform more radical surgery such as adding or removing child
+ops, or even throw the op away and return a different op in its place.
+
+This array of function pointers is a convenient place to hook into the
+compilation process. An XS module can put its own custom check function
+in place of any of the standard ones, to influence the compilation of a
+particular type of op. However, a custom check function must never fully
+replace a standard check function (or even a custom check function from
+another module). A module modifying checking must instead B<wrap> the
+preexisting check function. A custom check function must be selective
+about when to apply its custom behaviour. In the usual case where
+it decides not to do anything special with an op, it must chain the
+preexisting op function. Check functions are thus linked in a chain,
+with the core's base checker at the end.
+
+For thread safety, modules should not write directly to this array.
+Instead, use the function L</wrap_op_checker>.
+
+=cut
+*/
+
+#if defined(USE_ITHREADS)
+PERLVAR(G, check_mutex, perl_mutex) /* Mutex for PL_check */
+#endif
#ifdef PERL_GLOBAL_STRUCT
-PERLVAR(Gppaddr, Perl_ppaddr_t*) /* or opcode.h */
-PERLVAR(Gcheck, Perl_check_t *) /* or opcode.h */
-PERLVARA(Gfold_locale, 256, unsigned char) /* or perl.h */
-PERLVARA(Gcharclass, 256, U32)
+PERLVAR(G, ppaddr, Perl_ppaddr_t *) /* or opcode.h */
+PERLVAR(G, check, Perl_check_t *) /* or opcode.h */
+PERLVARA(G, fold_locale, 256, unsigned char) /* or perl.h */
#endif
#ifdef PERL_NEED_APPCTX
-PERLVAR(Gappctx, void*) /* the application context */
+PERLVAR(G, appctx, void*) /* the application context */
#endif
-PERLVAR(Gop_sequence, HV*) /* dump.c */
-PERLVARI(Gop_seq, UV, 0) /* dump.c */
-
#if defined(HAS_TIMES) && defined(PERL_NEED_TIMESBASE)
-PERLVAR(Gtimesbase, struct tms)
+PERLVAR(G, timesbase, struct tms)
#endif
/* allocate a unique index to every module that calls MY_CXT_INIT */
#ifdef PERL_IMPLICIT_CONTEXT
# ifdef USE_ITHREADS
-PERLVAR(Gmy_ctx_mutex, perl_mutex)
+PERLVAR(G, my_ctx_mutex, perl_mutex)
# endif
-PERLVARI(Gmy_cxt_index, int, 0)
-#endif
-
-#if defined(USE_ITHREADS)
-PERLVAR(Ghints_mutex, perl_mutex) /* Mutex for refcounted he refcounting */
-#endif
-
-#if defined(USE_ITHREADS)
-PERLVAR(Gperlio_mutex, perl_mutex) /* Mutex for perlio fd refcounts */
+PERLVARI(G, my_cxt_index, int, 0)
#endif
/* this is currently set without MUTEX protection, so keep it a type which
* can be set atomically (ie not a bit field) */
-PERLVARI(Gveto_cleanup, int, FALSE) /* exit without cleanup */
-
-/* dummy variables that hold pointers to both runops functions, thus forcing
- * them *both* to get linked in (useful for Peek.xs, debugging etc) */
-
-PERLVARI(Grunops_std, runops_proc_t, Perl_runops_standard)
-PERLVARI(Grunops_dbg, runops_proc_t, Perl_runops_debug)
-
-
-/* These are baked at compile time into any shared perl library.
- In future 5.10.x releases this will allow us in main() to sanity test the
- library we're linking against. */
-
-PERLVARI(Grevision, U8, PERL_REVISION)
-PERLVARI(Gversion, U8, PERL_VERSION)
-PERLVARI(Gsubversion, U8, PERL_SUBVERSION)
-
-#if defined(MULTIPLICITY)
-# define PERL_INTERPRETER_SIZE_UPTO_MEMBER(member) \
- STRUCT_OFFSET(struct interpreter, member) + \
- sizeof(((struct interpreter*)0)->member)
-
-/* These might be useful. */
-PERLVARI(Ginterp_size, U16, sizeof(struct interpreter))
-#if defined(PERL_GLOBAL_STRUCT)
-PERLVARI(Gglobal_struct_size, U16, sizeof(struct perl_vars))
-#endif
-
-/* This will be useful for subsequent releases, because this has to be the
- same in your libperl as in main(), else you have a mismatch and must abort.
-*/
-PERLVARI(Ginterp_size_5_10_0, U16,
- PERL_INTERPRETER_SIZE_UPTO_MEMBER(PERL_LAST_5_10_0_INTERP_MEMBER))
-#endif
+PERLVARI(G, veto_cleanup, int, FALSE) /* exit without cleanup */
/*
=for apidoc AmUx|Perl_keyword_plugin_t|PL_keyword_plugin
@@ -237,4 +215,19 @@ the Perl core) will normally return C<KEYWORD_PLUGIN_DECLINE>.
=cut
*/
-PERLVARI(Gkeyword_plugin, Perl_keyword_plugin_t, Perl_keyword_plugin_standard)
+PERLVARI(G, keyword_plugin, Perl_keyword_plugin_t, Perl_keyword_plugin_standard)
+
+PERLVAR(G, op_sequence, HV *) /* dump.c */
+PERLVARI(G, op_seq, UV, 0) /* dump.c */
+
+#ifdef USE_ITHREADS
+PERLVAR(G, dollarzero_mutex, perl_mutex) /* Modifying $0 */
+#endif
+
+/* Restricted hashes placeholder value.
+ * The contents are never used, only the address. */
+PERLVAR(G, sv_placeholder, SV)
+
+#if defined(MYMALLOC) && defined(USE_ITHREADS)
+PERLVAR(G, malloc_mutex, perl_mutex) /* Mutex for malloc */
+#endif
diff --git a/Master/tlpkg/tlperl/lib/CORE/perly.h b/Master/tlpkg/tlperl/lib/CORE/perly.h
index 6c282bfae14..7cbdd2f0670 100644
--- a/Master/tlpkg/tlperl/lib/CORE/perly.h
+++ b/Master/tlpkg/tlperl/lib/CORE/perly.h
@@ -59,71 +59,72 @@
PMFUNC = 268,
PRIVATEREF = 269,
QWLIST = 270,
- FUNC0SUB = 271,
- UNIOPSUB = 272,
- LSTOPSUB = 273,
- PLUGEXPR = 274,
- PLUGSTMT = 275,
- LABEL = 276,
- FORMAT = 277,
- SUB = 278,
- ANONSUB = 279,
- PACKAGE = 280,
- USE = 281,
- WHILE = 282,
- UNTIL = 283,
- IF = 284,
- UNLESS = 285,
- ELSE = 286,
- ELSIF = 287,
- CONTINUE = 288,
- FOR = 289,
- GIVEN = 290,
- WHEN = 291,
- DEFAULT = 292,
- LOOPEX = 293,
- DOTDOT = 294,
- YADAYADA = 295,
- FUNC0 = 296,
- FUNC1 = 297,
- FUNC = 298,
- UNIOP = 299,
- LSTOP = 300,
- RELOP = 301,
- EQOP = 302,
- MULOP = 303,
- ADDOP = 304,
- DOLSHARP = 305,
- DO = 306,
- HASHBRACK = 307,
- NOAMP = 308,
- LOCAL = 309,
- MY = 310,
- MYSUB = 311,
- REQUIRE = 312,
- COLONATTR = 313,
- PREC_LOW = 314,
- DOROP = 315,
- OROP = 316,
- ANDOP = 317,
- NOTOP = 318,
- ASSIGNOP = 319,
- DORDOR = 320,
- OROR = 321,
- ANDAND = 322,
- BITOROP = 323,
- BITANDOP = 324,
- SHIFTOP = 325,
- MATCHOP = 326,
- REFGEN = 327,
- UMINUS = 328,
- POWOP = 329,
- POSTDEC = 330,
- POSTINC = 331,
- PREDEC = 332,
- PREINC = 333,
- ARROW = 334,
- PEG = 335
+ FUNC0OP = 271,
+ FUNC0SUB = 272,
+ UNIOPSUB = 273,
+ LSTOPSUB = 274,
+ PLUGEXPR = 275,
+ PLUGSTMT = 276,
+ LABEL = 277,
+ FORMAT = 278,
+ SUB = 279,
+ ANONSUB = 280,
+ PACKAGE = 281,
+ USE = 282,
+ WHILE = 283,
+ UNTIL = 284,
+ IF = 285,
+ UNLESS = 286,
+ ELSE = 287,
+ ELSIF = 288,
+ CONTINUE = 289,
+ FOR = 290,
+ GIVEN = 291,
+ WHEN = 292,
+ DEFAULT = 293,
+ LOOPEX = 294,
+ DOTDOT = 295,
+ YADAYADA = 296,
+ FUNC0 = 297,
+ FUNC1 = 298,
+ FUNC = 299,
+ UNIOP = 300,
+ LSTOP = 301,
+ RELOP = 302,
+ EQOP = 303,
+ MULOP = 304,
+ ADDOP = 305,
+ DOLSHARP = 306,
+ DO = 307,
+ HASHBRACK = 308,
+ NOAMP = 309,
+ LOCAL = 310,
+ MY = 311,
+ MYSUB = 312,
+ REQUIRE = 313,
+ COLONATTR = 314,
+ PREC_LOW = 315,
+ DOROP = 316,
+ OROP = 317,
+ ANDOP = 318,
+ NOTOP = 319,
+ ASSIGNOP = 320,
+ DORDOR = 321,
+ OROR = 322,
+ ANDAND = 323,
+ BITOROP = 324,
+ BITANDOP = 325,
+ SHIFTOP = 326,
+ MATCHOP = 327,
+ REFGEN = 328,
+ UMINUS = 329,
+ POWOP = 330,
+ POSTDEC = 331,
+ POSTINC = 332,
+ PREDEC = 333,
+ PREINC = 334,
+ ARROW = 335,
+ PEG = 336
};
#endif
/* Tokens. */
@@ -140,71 +141,72 @@
#define PMFUNC 268
#define PRIVATEREF 269
#define QWLIST 270
-#define FUNC0SUB 271
-#define UNIOPSUB 272
-#define LSTOPSUB 273
-#define PLUGEXPR 274
-#define PLUGSTMT 275
-#define LABEL 276
-#define FORMAT 277
-#define SUB 278
-#define ANONSUB 279
-#define PACKAGE 280
-#define USE 281
-#define WHILE 282
-#define UNTIL 283
-#define IF 284
-#define UNLESS 285
-#define ELSE 286
-#define ELSIF 287
-#define CONTINUE 288
-#define FOR 289
-#define GIVEN 290
-#define WHEN 291
-#define DEFAULT 292
-#define LOOPEX 293
-#define DOTDOT 294
-#define YADAYADA 295
-#define FUNC0 296
-#define FUNC1 297
-#define FUNC 298
-#define UNIOP 299
-#define LSTOP 300
-#define RELOP 301
-#define EQOP 302
-#define MULOP 303
-#define ADDOP 304
-#define DOLSHARP 305
-#define DO 306
-#define HASHBRACK 307
-#define NOAMP 308
-#define LOCAL 309
-#define MY 310
-#define MYSUB 311
-#define REQUIRE 312
-#define COLONATTR 313
-#define PREC_LOW 314
-#define DOROP 315
-#define OROP 316
-#define ANDOP 317
-#define NOTOP 318
-#define ASSIGNOP 319
-#define DORDOR 320
-#define OROR 321
-#define ANDAND 322
-#define BITOROP 323
-#define BITANDOP 324
-#define SHIFTOP 325
-#define MATCHOP 326
-#define REFGEN 327
-#define UMINUS 328
-#define POWOP 329
-#define POSTDEC 330
-#define POSTINC 331
-#define PREDEC 332
-#define PREINC 333
-#define ARROW 334
-#define PEG 335
+#define FUNC0OP 271
+#define FUNC0SUB 272
+#define UNIOPSUB 273
+#define LSTOPSUB 274
+#define PLUGEXPR 275
+#define PLUGSTMT 276
+#define LABEL 277
+#define FORMAT 278
+#define SUB 279
+#define ANONSUB 280
+#define PACKAGE 281
+#define USE 282
+#define WHILE 283
+#define UNTIL 284
+#define IF 285
+#define UNLESS 286
+#define ELSE 287
+#define ELSIF 288
+#define CONTINUE 289
+#define FOR 290
+#define GIVEN 291
+#define WHEN 292
+#define DEFAULT 293
+#define LOOPEX 294
+#define DOTDOT 295
+#define YADAYADA 296
+#define FUNC0 297
+#define FUNC1 298
+#define FUNC 299
+#define UNIOP 300
+#define LSTOP 301
+#define RELOP 302
+#define EQOP 303
+#define MULOP 304
+#define ADDOP 305
+#define DOLSHARP 306
+#define DO 307
+#define HASHBRACK 308
+#define NOAMP 309
+#define LOCAL 310
+#define MY 311
+#define MYSUB 312
+#define REQUIRE 313
+#define COLONATTR 314
+#define PREC_LOW 315
+#define DOROP 316
+#define OROP 317
+#define ANDOP 318
+#define NOTOP 319
+#define ASSIGNOP 320
+#define DORDOR 321
+#define OROR 322
+#define ANDAND 323
+#define BITOROP 324
+#define BITANDOP 325
+#define SHIFTOP 326
+#define MATCHOP 327
+#define REFGEN 328
+#define UMINUS 329
+#define POWOP 330
+#define POSTDEC 331
+#define POSTINC 332
+#define PREDEC 333
+#define PREINC 334
+#define ARROW 335
+#define PEG 336
@@ -229,7 +231,7 @@ typedef union YYSTYPE
TOKEN* tkval;
#endif
}
-/* Line 1489 of yacc.c. */
+/* Line 1529 of yacc.c. */
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
@@ -240,6 +242,6 @@ typedef union YYSTYPE
/* Generated from:
- * bd41fc813e5d2d23ff7edef2ab1ef88bbb054176476b7d989db7522dce1c9328 perly.y
- * dc72db91baa0a3c17a6c95718e5ad70e9ac7b75919df1317df7fe6c3f1649239 regen_perly.pl
+ * 047d7d5048e78a17bc586b7bb9a0f0e9dedd5cd43b30e486482b1ff8f955ddcb perly.y
+ * 53f57d7143a42b3c008841a14d158bcf9cab64b2904b07ef5e95051fe9a8a875 regen_perly.pl
* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/pp.h b/Master/tlpkg/tlperl/lib/CORE/pp.h
index 5cde92b047e..63b22340f9e 100644
--- a/Master/tlpkg/tlperl/lib/CORE/pp.h
+++ b/Master/tlpkg/tlperl/lib/CORE/pp.h
@@ -345,15 +345,7 @@ Does not use C<TARG>. See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
#define dPOPXiirl(X) IV right = POPi; IV left = CAT2(X,i)
#define USE_LEFT(sv) \
- (SvOK(sv) || SvGMAGICAL(sv) || !(PL_op->op_flags & OPf_STACKED))
-#define dPOPXnnrl_ul(X) \
- NV right = POPn; \
- SV *leftsv = CAT2(X,s); \
- NV left = USE_LEFT(leftsv) ? SvNV(leftsv) : 0.0
-#define dPOPXiirl_ul(X) \
- IV right = POPi; \
- SV *leftsv = CAT2(X,s); \
- IV left = USE_LEFT(leftsv) ? SvIV(leftsv) : 0
+ (SvOK(sv) || !(PL_op->op_flags & OPf_STACKED))
#define dPOPXiirl_ul_nomg(X) \
IV right = (sp--, SvIV_nomg(TOPp1s)); \
SV *leftsv = CAT2(X,s); \
@@ -361,17 +353,13 @@ Does not use C<TARG>. See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
#define dPOPPOPssrl dPOPXssrl(POP)
#define dPOPPOPnnrl dPOPXnnrl(POP)
-#define dPOPPOPnnrl_ul dPOPXnnrl_ul(POP)
#define dPOPPOPiirl dPOPXiirl(POP)
-#define dPOPPOPiirl_ul dPOPXiirl_ul(POP)
#define dPOPTOPssrl dPOPXssrl(TOP)
#define dPOPTOPnnrl dPOPXnnrl(TOP)
-#define dPOPTOPnnrl_ul dPOPXnnrl_ul(TOP)
#define dPOPTOPnnrl_nomg \
NV right = SvNV_nomg(TOPs); NV left = (sp--, SvNV_nomg(TOPs))
#define dPOPTOPiirl dPOPXiirl(TOP)
-#define dPOPTOPiirl_ul dPOPXiirl_ul(TOP)
#define dPOPTOPiirl_ul_nomg dPOPXiirl_ul_nomg(TOP)
#define dPOPTOPiirl_nomg \
IV right = SvIV_nomg(TOPs); IV left = (sp--, SvIV_nomg(TOPs))
@@ -448,8 +436,12 @@ Does not use C<TARG>. See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
SETTARG; \
PUTBACK; \
if (jump) { \
+ OP *jump_o = NORMAL->op_next; \
+ while (jump_o->op_type == OP_NULL) \
+ jump_o = jump_o->op_next; \
+ assert(jump_o->op_type == OP_ENTERSUB); \
PL_markstack_ptr--; \
- return NORMAL->op_next->op_next; \
+ return jump_o->op_next; \
} \
return NORMAL; \
} \
@@ -492,12 +484,28 @@ True if this op will be the return value of an lvalue subroutine
)
#ifdef PERL_CORE
+
/* These are just for Perl_tied_method(), which is not part of the public API.
Use 0x04 rather than the next available bit, to help the compiler if the
architecture can generate more efficient instructions. */
# define TIED_METHOD_MORTALIZE_NOT_NEEDED 0x04
# define TIED_METHOD_ARGUMENTS_ON_STACK 0x08
# define TIED_METHOD_SAY 0x10
+
+/* Used in various places that need to dereference a glob or globref */
+# define MAYBE_DEREF_GV_flags(sv,phlags) \
+ ( \
+ (void)(phlags & SV_GMAGIC && (SvGETMAGIC(sv),0)), \
+ isGV_with_GP(sv) \
+ ? (GV *)sv \
+ : SvROK(sv) && SvTYPE(SvRV(sv)) <= SVt_PVLV && \
+ (SvGETMAGIC(SvRV(sv)), isGV_with_GP(SvRV(sv))) \
+ ? (GV *)SvRV(sv) \
+ : NULL \
+ )
+# define MAYBE_DEREF_GV(sv) MAYBE_DEREF_GV_flags(sv,SV_GMAGIC)
+# define MAYBE_DEREF_GV_nomg(sv) MAYBE_DEREF_GV_flags(sv,0)
+
#endif
/*
diff --git a/Master/tlpkg/tlperl/lib/CORE/pp_proto.h b/Master/tlpkg/tlperl/lib/CORE/pp_proto.h
index 2b01d6b0b66..52011dadd3d 100644
--- a/Master/tlpkg/tlperl/lib/CORE/pp_proto.h
+++ b/Master/tlpkg/tlperl/lib/CORE/pp_proto.h
@@ -42,6 +42,7 @@ PERL_CALLCONV OP *Perl_pp_concat(pTHX);
PERL_CALLCONV OP *Perl_pp_cond_expr(pTHX);
PERL_CALLCONV OP *Perl_pp_const(pTHX);
PERL_CALLCONV OP *Perl_pp_continue(pTHX);
+PERL_CALLCONV OP *Perl_pp_coreargs(pTHX);
PERL_CALLCONV OP *Perl_pp_crypt(pTHX);
PERL_CALLCONV OP *Perl_pp_dbmopen(pTHX);
PERL_CALLCONV OP *Perl_pp_dbstate(pTHX);
@@ -65,6 +66,7 @@ PERL_CALLCONV OP *Perl_pp_eq(pTHX);
PERL_CALLCONV OP *Perl_pp_exec(pTHX);
PERL_CALLCONV OP *Perl_pp_exists(pTHX);
PERL_CALLCONV OP *Perl_pp_exit(pTHX);
+PERL_CALLCONV OP *Perl_pp_fc(pTHX);
PERL_CALLCONV OP *Perl_pp_fileno(pTHX);
PERL_CALLCONV OP *Perl_pp_flip(pTHX);
PERL_CALLCONV OP *Perl_pp_flock(pTHX);
@@ -166,10 +168,8 @@ PERL_CALLCONV OP *Perl_pp_padhv(pTHX);
PERL_CALLCONV OP *Perl_pp_padsv(pTHX);
PERL_CALLCONV OP *Perl_pp_pipe_op(pTHX);
PERL_CALLCONV OP *Perl_pp_pos(pTHX);
-PERL_CALLCONV OP *Perl_pp_postdec(pTHX);
PERL_CALLCONV OP *Perl_pp_postinc(pTHX);
PERL_CALLCONV OP *Perl_pp_pow(pTHX);
-PERL_CALLCONV OP *Perl_pp_predec(pTHX);
PERL_CALLCONV OP *Perl_pp_preinc(pTHX);
PERL_CALLCONV OP *Perl_pp_print(pTHX);
PERL_CALLCONV OP *Perl_pp_prototype(pTHX);
@@ -200,6 +200,7 @@ PERL_CALLCONV OP *Perl_pp_rewinddir(pTHX);
PERL_CALLCONV OP *Perl_pp_right_shift(pTHX);
PERL_CALLCONV OP *Perl_pp_rkeys(pTHX);
PERL_CALLCONV OP *Perl_pp_rmdir(pTHX);
+PERL_CALLCONV OP *Perl_pp_runcv(pTHX);
PERL_CALLCONV OP *Perl_pp_rv2av(pTHX);
PERL_CALLCONV OP *Perl_pp_rv2cv(pTHX);
PERL_CALLCONV OP *Perl_pp_rv2gv(pTHX);
diff --git a/Master/tlpkg/tlperl/lib/CORE/proto.h b/Master/tlpkg/tlperl/lib/CORE/proto.h
index 0b46a791149..143eee0e3e3 100644
--- a/Master/tlpkg/tlperl/lib/CORE/proto.h
+++ b/Master/tlpkg/tlperl/lib/CORE/proto.h
@@ -23,38 +23,42 @@ PERL_CALLCONV int Perl_Gv_AMupdate(pTHX_ HV* stash, bool destructing)
assert(stash)
PERL_CALLCONV const char * Perl_PerlIO_context_layers(pTHX_ const char *mode);
-PERL_CALLCONV void Perl__append_range_to_invlist(pTHX_ HV* const invlist, const UV start, const UV end)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT__APPEND_RANGE_TO_INVLIST \
- assert(invlist)
-
-PERL_CALLCONV HV* Perl__new_invlist(pTHX_ IV initial_size)
- __attribute__warn_unused_result__;
-
-PERL_CALLCONV HV* Perl__swash_inversion_hash(pTHX_ SV* const swash)
+PERL_CALLCONV bool Perl__is_utf8__perl_idstart(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT__SWASH_INVERSION_HASH \
- assert(swash)
-
-PERL_CALLCONV HV* Perl__swash_to_invlist(pTHX_ SV* const swash)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT__SWASH_TO_INVLIST \
- assert(swash)
+#define PERL_ARGS_ASSERT__IS_UTF8__PERL_IDSTART \
+ assert(p)
-PERL_CALLCONV UV Perl__to_uni_fold_flags(pTHX_ UV c, U8 *p, STRLEN *lenp, U8 flags)
+PERL_CALLCONV UV Perl__to_uni_fold_flags(pTHX_ UV c, U8 *p, STRLEN *lenp, const bool flags)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
#define PERL_ARGS_ASSERT__TO_UNI_FOLD_FLAGS \
assert(p); assert(lenp)
-PERL_CALLCONV UV Perl__to_utf8_fold_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, U8 flags)
+PERL_CALLCONV UV Perl__to_utf8_fold_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, U8 flags, bool* tainted_ptr)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT__TO_UTF8_FOLD_FLAGS \
assert(p); assert(ustrp)
+PERL_CALLCONV UV Perl__to_utf8_lower_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, const bool flags, bool* tainted_ptr)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT__TO_UTF8_LOWER_FLAGS \
+ assert(p); assert(ustrp)
+
+PERL_CALLCONV UV Perl__to_utf8_title_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, const bool flags, bool* tainted_ptr)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT__TO_UTF8_TITLE_FLAGS \
+ assert(p); assert(ustrp)
+
+PERL_CALLCONV UV Perl__to_utf8_upper_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, const bool flags, bool* tainted_ptr)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT__TO_UTF8_UPPER_FLAGS \
+ assert(p); assert(ustrp)
+
PERL_CALLCONV PADOFFSET Perl_allocmy(pTHX_ const char *const name, const STRLEN len, const U32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_ALLOCMY \
@@ -71,6 +75,7 @@ PERL_CALLCONV SV * Perl_amagic_deref_call(pTHX_ SV *ref, int method)
#define PERL_ARGS_ASSERT_AMAGIC_DEREF_CALL \
assert(ref)
+PERL_CALLCONV bool Perl_amagic_is_enabled(pTHX_ int method);
PERL_CALLCONV I32 Perl_apply(pTHX_ I32 type, SV** mark, SV** sp)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
@@ -304,6 +309,12 @@ PERL_CALLCONV OP * Perl_ck_chdir(pTHX_ OP *o)
#define PERL_ARGS_ASSERT_CK_CHDIR \
assert(o)
+PERL_CALLCONV OP * Perl_ck_cmp(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_CMP \
+ assert(o)
+
PERL_CALLCONV OP * Perl_ck_concat(pTHX_ OP *o)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
@@ -334,6 +345,13 @@ PERL_CALLCONV OP * Perl_ck_each(pTHX_ OP *o)
#define PERL_ARGS_ASSERT_CK_EACH \
assert(o)
+PERL_CALLCONV OP* Perl_ck_entersub_args_core(pTHX_ OP *entersubop, GV *namegv, SV *protosv)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_CORE \
+ assert(entersubop); assert(namegv); assert(protosv)
+
PERL_CALLCONV OP* Perl_ck_entersub_args_list(pTHX_ OP *entersubop)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_LIST \
@@ -419,6 +437,12 @@ PERL_CALLCONV OP * Perl_ck_join(pTHX_ OP *o)
#define PERL_ARGS_ASSERT_CK_JOIN \
assert(o)
+PERL_CALLCONV OP * Perl_ck_length(pTHX_ OP *o)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_LENGTH \
+ assert(o)
+
PERL_CALLCONV OP * Perl_ck_lfun(pTHX_ OP *o)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
@@ -551,16 +575,16 @@ PERL_CALLCONV OP * Perl_ck_svconst(pTHX_ OP *o)
#define PERL_ARGS_ASSERT_CK_SVCONST \
assert(o)
-PERL_CALLCONV OP * Perl_ck_trunc(pTHX_ OP *o)
+PERL_CALLCONV OP * Perl_ck_tell(pTHX_ OP *o)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_TRUNC \
+#define PERL_ARGS_ASSERT_CK_TELL \
assert(o)
-PERL_CALLCONV OP * Perl_ck_unpack(pTHX_ OP *o)
+PERL_CALLCONV OP * Perl_ck_trunc(pTHX_ OP *o)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_UNPACK \
+#define PERL_ARGS_ASSERT_CK_TRUNC \
assert(o)
PERL_CALLCONV void Perl_ck_warner(pTHX_ U32 err, const char* pat, ...)
@@ -580,6 +604,27 @@ PERL_CALLCONV bool Perl_ckwarn_d(pTHX_ U32 w);
PERL_CALLCONV OP* Perl_convert(pTHX_ I32 optype, I32 flags, OP* o)
__attribute__warn_unused_result__;
+PERL_CALLCONV const char * Perl_cop_fetch_label(pTHX_ COP *const cop, STRLEN *len, U32 *flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_COP_FETCH_LABEL \
+ assert(cop)
+
+PERL_CALLCONV void Perl_cop_store_label(pTHX_ COP *const cop, const char *label, STRLEN len, U32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_COP_STORE_LABEL \
+ assert(cop); assert(label)
+
+PERL_CALLCONV SV * Perl_core_prototype(pTHX_ SV *sv, const char *name, const int code, int * const opnum)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_CORE_PROTOTYPE \
+ assert(name)
+
+PERL_CALLCONV OP * Perl_coresub_op(pTHX_ SV *coreargssv, const int code, const int opnum)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CORESUB_OP \
+ assert(coreargssv)
+
PERL_CALLCONV PERL_CONTEXT* Perl_create_eval_scope(pTHX_ U32 flags);
PERL_CALLCONV void Perl_croak(pTHX_ const char* pat, ...)
__attribute__noreturn__
@@ -625,9 +670,9 @@ PERL_CALLCONV const XOP * Perl_custom_op_xop(pTHX_ const OP *o)
#define PERL_ARGS_ASSERT_CUSTOM_OP_XOP \
assert(o)
-PERL_CALLCONV void Perl_cv_ckproto_len(pTHX_ const CV* cv, const GV* gv, const char* p, const STRLEN len)
+PERL_CALLCONV void Perl_cv_ckproto_len_flags(pTHX_ const CV* cv, const GV* gv, const char* p, const STRLEN len, const U32 flags)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CV_CKPROTO_LEN \
+#define PERL_ARGS_ASSERT_CV_CKPROTO_LEN_FLAGS \
assert(cv)
PERL_CALLCONV CV* Perl_cv_clone(pTHX_ CV* proto)
@@ -776,6 +821,13 @@ PERL_CALLCONV void Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, const MAGIC
#define PERL_ARGS_ASSERT_DO_MAGIC_DUMP \
assert(file); assert(mg)
+PERL_CALLCONV I32 Perl_do_ncmp(pTHX_ SV *const left, SV *const right)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_DO_NCMP \
+ assert(left); assert(right)
+
PERL_CALLCONV void Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, const OP *o)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_DO_OP_DUMP \
@@ -950,11 +1002,6 @@ PERL_CALLCONV bool Perl_feature_is_enabled(pTHX_ const char *const name, STRLEN
#define PERL_ARGS_ASSERT_FEATURE_IS_ENABLED \
assert(name)
-PERL_CALLCONV const char * Perl_fetch_cop_label(pTHX_ COP *const cop, STRLEN *len, U32 *flags)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FETCH_COP_LABEL \
- assert(cop)
-
PERL_CALLCONV SV* Perl_filter_add(pTHX_ filter_t funcp, SV* datasv);
PERL_CALLCONV void Perl_filter_del(pTHX_ filter_t funcp)
__attribute__nonnull__(pTHX_1);
@@ -967,10 +1014,20 @@ PERL_CALLCONV I32 Perl_filter_read(pTHX_ int idx, SV *buf_sv, int maxlen)
#define PERL_ARGS_ASSERT_FILTER_READ \
assert(buf_sv)
+PERL_CALLCONV void Perl_finalize_optree(pTHX_ OP* o)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_FINALIZE_OPTREE \
+ assert(o)
+
PERL_CALLCONV CV* Perl_find_runcv(pTHX_ U32 *db_seqp)
__attribute__warn_unused_result__;
PERL_CALLCONV SV* Perl_find_rundefsv(pTHX);
+PERL_CALLCONV SV* Perl_find_rundefsv2(pTHX_ CV *cv, U32 seq)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_FIND_RUNDEFSV2 \
+ assert(cv)
+
PERL_CALLCONV PADOFFSET Perl_find_rundefsvoffset(pTHX)
__attribute__deprecated__;
@@ -1122,12 +1179,28 @@ PERL_CALLCONV UV Perl_grok_oct(pTHX_ const char* start, STRLEN* len_p, I32* flag
/* PERL_CALLCONV GV* Perl_gv_HVadd(pTHX_ GV *gv); */
/* PERL_CALLCONV GV* Perl_gv_IOadd(pTHX_ GV* gv); */
PERL_CALLCONV GV* Perl_gv_add_by_type(pTHX_ GV *gv, svtype type);
-PERL_CALLCONV GV* Perl_gv_autoload4(pTHX_ HV* stash, const char* name, STRLEN len, I32 method)
+/* PERL_CALLCONV GV* gv_autoload4(pTHX_ HV* stash, const char* name, STRLEN len, I32 method)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_2); */
+
+PERL_CALLCONV GV* Perl_gv_autoload_pv(pTHX_ HV* stash, const char* namepv, U32 flags)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_GV_AUTOLOAD4 \
+#define PERL_ARGS_ASSERT_GV_AUTOLOAD_PV \
+ assert(namepv)
+
+PERL_CALLCONV GV* Perl_gv_autoload_pvn(pTHX_ HV* stash, const char* name, STRLEN len, U32 flags)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GV_AUTOLOAD_PVN \
assert(name)
+PERL_CALLCONV GV* Perl_gv_autoload_sv(pTHX_ HV* stash, SV* namesv, U32 flags)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GV_AUTOLOAD_SV \
+ assert(namesv)
+
PERL_CALLCONV void Perl_gv_check(pTHX_ const HV* stash)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_GV_CHECK \
@@ -1172,16 +1245,42 @@ PERL_CALLCONV GV* Perl_gv_fetchfile_flags(pTHX_ const char *const name, const ST
#define PERL_ARGS_ASSERT_GV_FETCHFILE_FLAGS \
assert(name)
-PERL_CALLCONV GV* Perl_gv_fetchmeth(pTHX_ HV* stash, const char* name, STRLEN len, I32 level)
+/* PERL_CALLCONV GV* gv_fetchmeth(pTHX_ HV* stash, const char* name, STRLEN len, I32 level)
+ __attribute__nonnull__(pTHX_2); */
+
+/* PERL_CALLCONV GV* gv_fetchmeth_autoload(pTHX_ HV* stash, const char* name, STRLEN len, I32 level)
+ __attribute__nonnull__(pTHX_2); */
+
+PERL_CALLCONV GV* Perl_gv_fetchmeth_pv(pTHX_ HV* stash, const char* name, I32 level, U32 flags)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GV_FETCHMETH_PV \
+ assert(name)
+
+PERL_CALLCONV GV* Perl_gv_fetchmeth_pv_autoload(pTHX_ HV* stash, const char* name, I32 level, U32 flags)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_GV_FETCHMETH \
+#define PERL_ARGS_ASSERT_GV_FETCHMETH_PV_AUTOLOAD \
assert(name)
-PERL_CALLCONV GV* Perl_gv_fetchmeth_autoload(pTHX_ HV* stash, const char* name, STRLEN len, I32 level)
+PERL_CALLCONV GV* Perl_gv_fetchmeth_pvn(pTHX_ HV* stash, const char* name, STRLEN len, I32 level, U32 flags)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_GV_FETCHMETH_AUTOLOAD \
+#define PERL_ARGS_ASSERT_GV_FETCHMETH_PVN \
assert(name)
+PERL_CALLCONV GV* Perl_gv_fetchmeth_pvn_autoload(pTHX_ HV* stash, const char* name, STRLEN len, I32 level, U32 flags)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GV_FETCHMETH_PVN_AUTOLOAD \
+ assert(name)
+
+PERL_CALLCONV GV* Perl_gv_fetchmeth_sv(pTHX_ HV* stash, SV* namesv, I32 level, U32 flags)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GV_FETCHMETH_SV \
+ assert(namesv)
+
+PERL_CALLCONV GV* Perl_gv_fetchmeth_sv_autoload(pTHX_ HV* stash, SV* namesv, I32 level, U32 flags)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GV_FETCHMETH_SV_AUTOLOAD \
+ assert(namesv)
+
/* PERL_CALLCONV GV* Perl_gv_fetchmethod(pTHX_ HV* stash, const char* name)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2); */
@@ -1194,12 +1293,24 @@ PERL_CALLCONV GV* Perl_gv_fetchmethod_autoload(pTHX_ HV* stash, const char* name
#define PERL_ARGS_ASSERT_GV_FETCHMETHOD_AUTOLOAD \
assert(stash); assert(name)
-PERL_CALLCONV GV* Perl_gv_fetchmethod_flags(pTHX_ HV* stash, const char* name, U32 flags)
+PERL_CALLCONV GV* Perl_gv_fetchmethod_pv_flags(pTHX_ HV* stash, const char* name, U32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GV_FETCHMETHOD_PV_FLAGS \
+ assert(stash); assert(name)
+
+PERL_CALLCONV GV* Perl_gv_fetchmethod_pvn_flags(pTHX_ HV* stash, const char* name, const STRLEN len, U32 flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_GV_FETCHMETHOD_FLAGS \
+#define PERL_ARGS_ASSERT_GV_FETCHMETHOD_PVN_FLAGS \
assert(stash); assert(name)
+PERL_CALLCONV GV* Perl_gv_fetchmethod_sv_flags(pTHX_ HV* stash, SV* namesv, U32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GV_FETCHMETHOD_SV_FLAGS \
+ assert(stash); assert(namesv)
+
PERL_CALLCONV GV* Perl_gv_fetchpv(pTHX_ const char *nambeg, I32 add, const svtype sv_type)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_GV_FETCHPV \
@@ -1236,12 +1347,28 @@ PERL_CALLCONV void Perl_gv_fullname4(pTHX_ SV* sv, const GV* gv, const char* pre
PERL_CALLCONV CV* Perl_gv_handler(pTHX_ HV* stash, I32 id)
__attribute__warn_unused_result__;
-PERL_CALLCONV void Perl_gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi)
+/* PERL_CALLCONV void gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_3); */
+
+PERL_CALLCONV void Perl_gv_init_pv(pTHX_ GV* gv, HV* stash, const char* name, U32 flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_GV_INIT \
+#define PERL_ARGS_ASSERT_GV_INIT_PV \
assert(gv); assert(name)
+PERL_CALLCONV void Perl_gv_init_pvn(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, U32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_GV_INIT_PVN \
+ assert(gv); assert(name)
+
+PERL_CALLCONV void Perl_gv_init_sv(pTHX_ GV* gv, HV* stash, SV* namesv, U32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_GV_INIT_SV \
+ assert(gv); assert(namesv)
+
PERL_CALLCONV void Perl_gv_name_set(pTHX_ GV* gv, const char *name, U32 len, U32 flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
@@ -1506,12 +1633,6 @@ PERL_CALLCONV bool Perl_is_ascii_string(const U8 *s, STRLEN len)
#define PERL_ARGS_ASSERT_IS_ASCII_STRING \
assert(s)
-PERL_CALLCONV bool Perl_is_gv_magical_sv(pTHX_ SV *const name_sv, U32 flags)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_GV_MAGICAL_SV \
- assert(name_sv)
-
PERL_CALLCONV I32 Perl_is_lvalue_sub(pTHX)
__attribute__warn_unused_result__;
@@ -1698,10 +1819,17 @@ PERL_CALLCONV bool Perl_is_utf8_ascii(pTHX_ const U8 *p)
assert(p)
PERL_CALLCONV STRLEN Perl_is_utf8_char(const U8 *s)
+ __attribute__deprecated__
__attribute__nonnull__(1);
#define PERL_ARGS_ASSERT_IS_UTF8_CHAR \
assert(s)
+PERL_CALLCONV STRLEN Perl_is_utf8_char_buf(const U8 *buf, const U8 *buf_end)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_IS_UTF8_CHAR_BUF \
+ assert(buf); assert(buf_end)
+
PERL_CALLCONV bool Perl_is_utf8_cntrl(pTHX_ const U8 *p)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
@@ -2187,6 +2315,12 @@ PERL_CALLCONV int Perl_magic_setvec(pTHX_ SV* sv, MAGIC* mg)
#define PERL_ARGS_ASSERT_MAGIC_SETVEC \
assert(sv); assert(mg)
+PERL_CALLCONV int Perl_magic_setvstring(pTHX_ SV* sv, MAGIC* mg)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MAGIC_SETVSTRING \
+ assert(sv); assert(mg)
+
PERL_CALLCONV U32 Perl_magic_sizepack(pTHX_ SV* sv, MAGIC* mg)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
@@ -2279,7 +2413,6 @@ PERL_CALLCONV void Perl_mini_mktime(pTHX_ struct tm *ptm)
#define PERL_ARGS_ASSERT_MINI_MKTIME \
assert(ptm)
-PERL_CALLCONV OP* Perl_mod(pTHX_ OP* o, I32 type);
PERL_CALLCONV int Perl_mode_from_discipline(pTHX_ const char* s, STRLEN len);
PERL_CALLCONV void * Perl_more_bodies(pTHX_ const svtype sv_type, const size_t body_size, const size_t arena_size);
PERL_CALLCONV const char* Perl_moreswitches(pTHX_ const char* s)
@@ -2374,13 +2507,6 @@ PERL_CALLCONV I32 Perl_my_fflush_all(pTHX);
PERL_CALLCONV Pid_t Perl_my_fork(void);
/* PERL_CALLCONV I32 Perl_my_lstat(pTHX); */
PERL_CALLCONV I32 Perl_my_lstat_flags(pTHX_ const U32 flags);
-PERL_CALLCONV I32 Perl_my_pclose(pTHX_ PerlIO* ptr);
-PERL_CALLCONV PerlIO* Perl_my_popen(pTHX_ const char* cmd, const char* mode)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MY_POPEN \
- assert(cmd); assert(mode)
-
PERL_CALLCONV PerlIO* Perl_my_popen_list(pTHX_ const char* mode, int n, SV ** args)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_3);
@@ -2430,6 +2556,7 @@ PERL_CALLCONV OP* Perl_newASSIGNOP(pTHX_ I32 flags, OP* left, I32 optype, OP* ri
__attribute__warn_unused_result__;
PERL_CALLCONV CV* Perl_newATTRSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block);
+PERL_CALLCONV CV* Perl_newATTRSUB_flags(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block, U32 flags);
/* PERL_CALLCONV AV* Perl_newAV(pTHX)
__attribute__warn_unused_result__; */
@@ -2452,6 +2579,7 @@ PERL_CALLCONV OP* Perl_newCONDOP(pTHX_ I32 flags, OP* first, OP* trueop, OP* fal
assert(first)
PERL_CALLCONV CV* Perl_newCONSTSUB(pTHX_ HV* stash, const char* name, SV* sv);
+PERL_CALLCONV CV* Perl_newCONSTSUB_flags(pTHX_ HV* stash, const char* name, STRLEN len, U32 flags, SV* sv);
PERL_CALLCONV OP* Perl_newCVREF(pTHX_ I32 flags, OP* o)
__attribute__malloc__
__attribute__warn_unused_result__;
@@ -2487,11 +2615,14 @@ PERL_CALLCONV OP* Perl_newGVREF(pTHX_ I32 type, OP* o)
__attribute__malloc__
__attribute__warn_unused_result__;
-PERL_CALLCONV GV* Perl_newGVgen(pTHX_ const char* pack)
+/* PERL_CALLCONV GV* newGVgen(pTHX_ const char* pack)
+ __attribute__nonnull__(pTHX_1); */
+
+PERL_CALLCONV GV* Perl_newGVgen_flags(pTHX_ const char* pack, U32 flags)
__attribute__malloc__
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_NEWGVGEN \
+#define PERL_ARGS_ASSERT_NEWGVGEN_FLAGS \
assert(pack)
/* PERL_CALLCONV HV* Perl_newHV(pTHX)
@@ -2689,6 +2820,12 @@ PERL_CALLCONV CV * Perl_newXS_flags(pTHX_ const char *name, XSUBADDR_t subaddr,
#define PERL_ARGS_ASSERT_NEWXS_FLAGS \
assert(subaddr); assert(filename)
+PERL_CALLCONV CV * Perl_newXS_len_flags(pTHX_ const char *name, STRLEN len, XSUBADDR_t subaddr, const char *const filename, const char *const proto, SV **const_svp, U32 flags)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_NEWXS_LEN_FLAGS \
+ assert(subaddr); assert(filename)
+
PERL_CALLCONV void Perl_new_collate(pTHX_ const char* newcoll);
PERL_CALLCONV void Perl_new_ctype(pTHX_ const char* newctype)
__attribute__nonnull__(pTHX_1);
@@ -2765,7 +2902,8 @@ PERL_CALLCONV OP* Perl_op_linklist(pTHX_ OP *o)
#define PERL_ARGS_ASSERT_OP_LINKLIST \
assert(o)
-PERL_CALLCONV OP* Perl_op_lvalue(pTHX_ OP* o, I32 type);
+/* PERL_CALLCONV OP* op_lvalue(pTHX_ OP* o, I32 type); */
+PERL_CALLCONV OP* Perl_op_lvalue_flags(pTHX_ OP* o, I32 type, U32 flags);
PERL_CALLCONV void Perl_op_null(pTHX_ OP* o)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_OP_NULL \
@@ -2799,14 +2937,24 @@ PERL_CALLCONV void Perl_packlist(pTHX_ SV *cat, const char *pat, const char *pat
#define PERL_ARGS_ASSERT_PACKLIST \
assert(cat); assert(pat); assert(patend); assert(beglist); assert(endlist)
-PERL_CALLCONV PADOFFSET Perl_pad_add_anon(pTHX_ SV* sv, OPCODE op_type)
+PERL_CALLCONV PADOFFSET Perl_pad_add_anon(pTHX_ CV* func, I32 optype)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_PAD_ADD_ANON \
- assert(sv)
+ assert(func)
+
+PERL_CALLCONV PADOFFSET Perl_pad_add_name_pv(pTHX_ const char *name, const U32 flags, HV *typestash, HV *ourstash)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PAD_ADD_NAME_PV \
+ assert(name)
+
+PERL_CALLCONV PADOFFSET Perl_pad_add_name_pvn(pTHX_ const char *namepv, STRLEN namelen, U32 flags, HV *typestash, HV *ourstash)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PAD_ADD_NAME_PVN \
+ assert(namepv)
-PERL_CALLCONV PADOFFSET Perl_pad_add_name(pTHX_ const char *name, const STRLEN len, const U32 flags, HV *typestash, HV *ourstash)
+PERL_CALLCONV PADOFFSET Perl_pad_add_name_sv(pTHX_ SV *name, U32 flags, HV *typestash, HV *ourstash)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PAD_ADD_NAME \
+#define PERL_ARGS_ASSERT_PAD_ADD_NAME_SV \
assert(name)
PERL_CALLCONV PADOFFSET Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype);
@@ -2814,10 +2962,19 @@ PERL_CALLCONV void Perl_pad_block_start(pTHX_ int full);
PERL_CALLCONV HV* Perl_pad_compname_type(pTHX_ const PADOFFSET po)
__attribute__warn_unused_result__;
-PERL_CALLCONV PADOFFSET Perl_pad_findmy(pTHX_ const char* name, STRLEN len, U32 flags)
- __attribute__warn_unused_result__
+PERL_CALLCONV PADOFFSET Perl_pad_findmy_pv(pTHX_ const char* name, U32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PAD_FINDMY_PV \
+ assert(name)
+
+PERL_CALLCONV PADOFFSET Perl_pad_findmy_pvn(pTHX_ const char* namepv, STRLEN namelen, U32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PAD_FINDMY_PVN \
+ assert(namepv)
+
+PERL_CALLCONV PADOFFSET Perl_pad_findmy_sv(pTHX_ SV* name, U32 flags)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PAD_FINDMY \
+#define PERL_ARGS_ASSERT_PAD_FINDMY_SV \
assert(name)
PERL_CALLCONV void Perl_pad_fixup_inner_anons(pTHX_ PADLIST *padlist, CV *old_cv, CV *new_cv)
@@ -3141,7 +3298,7 @@ PERL_CALLCONV void Perl_regprop(pTHX_ const regexp *prog, SV* sv, const regnode*
#define PERL_ARGS_ASSERT_REGPROP \
assert(sv); assert(o)
-PERL_CALLCONV void Perl_repeatcpy(char* to, const char* from, I32 len, I32 count)
+PERL_CALLCONV void Perl_repeatcpy(char* to, const char* from, I32 len, IV count)
__attribute__nonnull__(1)
__attribute__nonnull__(2);
#define PERL_ARGS_ASSERT_REPEATCPY \
@@ -3399,10 +3556,7 @@ PERL_CALLCONV char* Perl_savesharedpv(pTHX_ const char* pv)
PERL_CALLCONV char* Perl_savesharedpvn(pTHX_ const char *const pv, const STRLEN len)
__attribute__malloc__
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SAVESHAREDPVN \
- assert(pv)
+ __attribute__warn_unused_result__;
PERL_CALLCONV char* Perl_savesharedsvpv(pTHX_ SV *sv)
__attribute__malloc__
@@ -3516,12 +3670,6 @@ PERL_CALLCONV bool Perl_stashpv_hvname_match(pTHX_ const COP *c, const HV *hv)
#define PERL_ARGS_ASSERT_STASHPV_HVNAME_MATCH \
assert(c); assert(hv)
-PERL_CALLCONV void Perl_store_cop_label(pTHX_ COP *const cop, const char *label, STRLEN len, U32 flags)
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_STORE_COP_LABEL \
- assert(cop); assert(label)
-
PERL_CALLCONV NV Perl_str_to_version(pTHX_ SV *sv)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
@@ -3569,7 +3717,7 @@ PERL_CALLCONV char* Perl_sv_2pv_flags(pTHX_ SV *const sv, STRLEN *const lp, cons
#define PERL_ARGS_ASSERT_SV_2PV_NOLEN \
assert(sv)
-PERL_CALLCONV char* Perl_sv_2pvbyte(pTHX_ SV *const sv, STRLEN *const lp)
+PERL_CALLCONV char* Perl_sv_2pvbyte(pTHX_ SV *sv, STRLEN *const lp)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_2PVBYTE \
assert(sv)
@@ -3580,7 +3728,7 @@ PERL_CALLCONV char* Perl_sv_2pvbyte(pTHX_ SV *const sv, STRLEN *const lp)
#define PERL_ARGS_ASSERT_SV_2PVBYTE_NOLEN \
assert(sv)
-PERL_CALLCONV char* Perl_sv_2pvutf8(pTHX_ SV *const sv, STRLEN *const lp)
+PERL_CALLCONV char* Perl_sv_2pvutf8(pTHX_ SV *sv, STRLEN *const lp)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_2PVUTF8 \
assert(sv)
@@ -3730,6 +3878,27 @@ PERL_CALLCONV bool Perl_sv_derived_from(pTHX_ SV* sv, const char *const name)
#define PERL_ARGS_ASSERT_SV_DERIVED_FROM \
assert(sv); assert(name)
+PERL_CALLCONV bool Perl_sv_derived_from_pv(pTHX_ SV* sv, const char *const name, U32 flags)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_DERIVED_FROM_PV \
+ assert(sv); assert(name)
+
+PERL_CALLCONV bool Perl_sv_derived_from_pvn(pTHX_ SV* sv, const char *const name, const STRLEN len, U32 flags)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_DERIVED_FROM_PVN \
+ assert(sv); assert(name)
+
+PERL_CALLCONV bool Perl_sv_derived_from_sv(pTHX_ SV* sv, SV *namesv, U32 flags)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_DERIVED_FROM_SV \
+ assert(sv); assert(namesv)
+
PERL_CALLCONV bool Perl_sv_destroyable(pTHX_ SV *sv);
PERL_CALLCONV bool Perl_sv_does(pTHX_ SV* sv, const char *const name)
__attribute__warn_unused_result__
@@ -3738,6 +3907,27 @@ PERL_CALLCONV bool Perl_sv_does(pTHX_ SV* sv, const char *const name)
#define PERL_ARGS_ASSERT_SV_DOES \
assert(sv); assert(name)
+PERL_CALLCONV bool Perl_sv_does_pv(pTHX_ SV* sv, const char *const name, U32 flags)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_DOES_PV \
+ assert(sv); assert(name)
+
+PERL_CALLCONV bool Perl_sv_does_pvn(pTHX_ SV* sv, const char *const name, const STRLEN len, U32 flags)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_DOES_PVN \
+ assert(sv); assert(name)
+
+PERL_CALLCONV bool Perl_sv_does_sv(pTHX_ SV* sv, SV* namesv, U32 flags)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_DOES_SV \
+ assert(sv); assert(namesv)
+
PERL_CALLCONV void Perl_sv_dump(pTHX_ SV* sv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_DUMP \
@@ -3908,6 +4098,11 @@ PERL_CALLCONV char* Perl_sv_recode_to_utf8(pTHX_ SV* sv, SV *encoding)
#define PERL_ARGS_ASSERT_SV_RECODE_TO_UTF8 \
assert(sv); assert(encoding)
+PERL_CALLCONV SV* Perl_sv_ref(pTHX_ SV *dst, const SV *const sv, const int ob)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_REF \
+ assert(sv)
+
PERL_CALLCONV const char* Perl_sv_reftype(pTHX_ const SV *const sv, const int ob)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
@@ -3931,6 +4126,11 @@ PERL_CALLCONV SV* Perl_sv_rvweaken(pTHX_ SV *const sv)
#define PERL_ARGS_ASSERT_SV_RVWEAKEN \
assert(sv)
+PERL_CALLCONV void Perl_sv_sethek(pTHX_ SV *const sv, const HEK *const hek)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_SETHEK \
+ assert(sv)
+
PERL_CALLCONV void Perl_sv_setiv(pTHX_ SV *const sv, const IV num)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_SETIV \
@@ -4190,6 +4390,7 @@ PERL_CALLCONV UV Perl_swash_fetch(pTHX_ SV *swash, const U8 *ptr, bool do_utf8)
assert(swash); assert(ptr)
PERL_CALLCONV SV* Perl_swash_init(pTHX_ const char* pkg, const char* name, SV* listsv, I32 minbits, I32 none)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3);
@@ -4270,22 +4471,24 @@ PERL_CALLCONV UV Perl_to_utf8_case(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, S
/* PERL_CALLCONV UV Perl_to_utf8_fold(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2); */
+#define PERL_ARGS_ASSERT_TO_UTF8_FOLD \
+ assert(p); assert(ustrp)
-PERL_CALLCONV UV Perl_to_utf8_lower(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
+/* PERL_CALLCONV UV Perl_to_utf8_lower(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
+ __attribute__nonnull__(pTHX_2); */
#define PERL_ARGS_ASSERT_TO_UTF8_LOWER \
assert(p); assert(ustrp)
-PERL_CALLCONV UV Perl_to_utf8_title(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
+/* PERL_CALLCONV UV Perl_to_utf8_title(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
+ __attribute__nonnull__(pTHX_2); */
#define PERL_ARGS_ASSERT_TO_UTF8_TITLE \
assert(p); assert(ustrp)
-PERL_CALLCONV UV Perl_to_utf8_upper(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
+/* PERL_CALLCONV UV Perl_to_utf8_upper(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
+ __attribute__nonnull__(pTHX_2); */
#define PERL_ARGS_ASSERT_TO_UTF8_UPPER \
assert(p); assert(ustrp)
@@ -4358,15 +4561,29 @@ PERL_CALLCONV U8* Perl_utf8_to_bytes(pTHX_ U8 *s, STRLEN *len)
assert(s); assert(len)
PERL_CALLCONV UV Perl_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen)
+ __attribute__deprecated__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_UTF8_TO_UVCHR \
assert(s)
+PERL_CALLCONV UV Perl_utf8_to_uvchr_buf(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_UTF8_TO_UVCHR_BUF \
+ assert(s); assert(send)
+
PERL_CALLCONV UV Perl_utf8_to_uvuni(pTHX_ const U8 *s, STRLEN *retlen)
+ __attribute__deprecated__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_UTF8_TO_UVUNI \
assert(s)
+PERL_CALLCONV UV Perl_utf8_to_uvuni_buf(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_UTF8_TO_UVUNI_BUF \
+ assert(s); assert(send)
+
PERL_CALLCONV UV Perl_utf8n_to_uvuni(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_UTF8N_TO_UVUNI \
@@ -4387,6 +4604,16 @@ PERL_CALLCONV U8* Perl_uvuni_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags)
#define PERL_ARGS_ASSERT_UVUNI_TO_UTF8_FLAGS \
assert(d)
+PERL_CALLCONV UV Perl_valid_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_VALID_UTF8_TO_UVCHR \
+ assert(s)
+
+PERL_CALLCONV UV Perl_valid_utf8_to_uvuni(pTHX_ const U8 *s, STRLEN *retlen)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_VALID_UTF8_TO_UVUNI \
+ assert(s)
+
PERL_CALLCONV int Perl_vcmp(pTHX_ SV *lhv, SV *rhv)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
@@ -4411,7 +4638,8 @@ PERL_CALLCONV void Perl_vivify_defelem(pTHX_ SV* sv)
#define PERL_ARGS_ASSERT_VIVIFY_DEFELEM \
assert(sv)
-PERL_CALLCONV void Perl_vivify_ref(pTHX_ SV* sv, U32 to_what)
+PERL_CALLCONV SV* Perl_vivify_ref(pTHX_ SV* sv, U32 to_what)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_VIVIFY_REF \
assert(sv)
@@ -4485,16 +4713,38 @@ PERL_CALLCONV void Perl_warner(pTHX_ U32 err, const char* pat, ...)
#define PERL_ARGS_ASSERT_WARNER \
assert(pat)
+PERL_CALLCONV I32 Perl_was_lvalue_sub(pTHX)
+ __attribute__warn_unused_result__;
+
PERL_CALLCONV void Perl_watch(pTHX_ char** addr)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_WATCH \
assert(addr)
-PERL_CALLCONV I32 Perl_whichsig(pTHX_ const char* sig)
+/* PERL_CALLCONV I32 whichsig(pTHX_ const char* sig)
+ __attribute__nonnull__(pTHX_1); */
+
+PERL_CALLCONV I32 Perl_whichsig_pv(pTHX_ const char* sig)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_WHICHSIG_PV \
+ assert(sig)
+
+PERL_CALLCONV I32 Perl_whichsig_pvn(pTHX_ const char* sig, STRLEN len)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_WHICHSIG \
+#define PERL_ARGS_ASSERT_WHICHSIG_PVN \
assert(sig)
+PERL_CALLCONV I32 Perl_whichsig_sv(pTHX_ SV* sigsv)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_WHICHSIG_SV \
+ assert(sigsv)
+
+PERL_CALLCONV void Perl_wrap_op_checker(pTHX_ Optype opcode, Perl_check_t new_checker, Perl_check_t *old_checker_p)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_WRAP_OP_CHECKER \
+ assert(new_checker); assert(old_checker_p)
+
PERL_CALLCONV void Perl_write_to_stderr(pTHX_ SV* msv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_WRITE_TO_STDERR \
@@ -4516,6 +4766,16 @@ PERL_CALLCONV int Perl_yyerror(pTHX_ const char *const s)
#define PERL_ARGS_ASSERT_YYERROR \
assert(s)
+PERL_CALLCONV int Perl_yyerror_pv(pTHX_ const char *const s, U32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_YYERROR_PV \
+ assert(s)
+
+PERL_CALLCONV int Perl_yyerror_pvn(pTHX_ const char *const s, STRLEN len, U32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_YYERROR_PVN \
+ assert(s)
+
PERL_CALLCONV int Perl_yylex(pTHX);
PERL_CALLCONV int Perl_yyparse(pTHX_ int gramtype);
PERL_CALLCONV void Perl_yyunlex(pTHX);
@@ -4677,6 +4937,15 @@ STATIC PerlIO * S_doopen_pm(pTHX_ SV *name)
# endif
#endif
+#if !defined(PERL_IMPLICIT_SYS)
+PERL_CALLCONV I32 Perl_my_pclose(pTHX_ PerlIO* ptr);
+PERL_CALLCONV PerlIO* Perl_my_popen(pTHX_ const char* cmd, const char* mode)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MY_POPEN \
+ assert(cmd); assert(mode)
+
+#endif
#if !defined(PERL_IS_MINIPERL)
# if defined(PERL_IN_PERL_C)
STATIC SV * S_incpush_if_exists(pTHX_ AV *const av, SV *dir, SV *const stem)
@@ -4995,8 +5264,6 @@ PERL_CALLCONV void Perl_pending_Slabs_to_ro(pTHX);
#if defined(PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION)
/* PERL_CALLCONV bool Perl_do_exec(pTHX_ const char* cmd)
__attribute__nonnull__(pTHX_1); */
-#define PERL_ARGS_ASSERT_DO_EXEC \
- assert(cmd)
#endif
#if defined(PERL_DONT_CREATE_GVSV)
@@ -5242,9 +5509,7 @@ STATIC SV* S_pm_description(pTHX_ const PMOP *pm)
#define PERL_ARGS_ASSERT_PM_DESCRIPTION \
assert(pm)
-STATIC void S_sequence(pTHX_ const OP *o);
STATIC UV S_sequence_num(pTHX_ const OP *o);
-STATIC void S_sequence_tail(pTHX_ const OP *o);
# if defined(PERL_MAD)
STATIC void S_xmldump_attr(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
__attribute__format__(__printf__,pTHX_3,pTHX_4)
@@ -5255,7 +5520,7 @@ STATIC void S_xmldump_attr(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
# endif
#endif
-#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C)
+#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_SCOPE_C)
PERL_CALLCONV void Perl_hv_kill_backrefs(pTHX_ HV *hv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_HV_KILL_BACKREFS \
@@ -5263,14 +5528,14 @@ PERL_CALLCONV void Perl_hv_kill_backrefs(pTHX_ HV *hv)
#endif
#if defined(PERL_IN_GV_C)
-STATIC HV* S_gv_get_super_pkg(pTHX_ const char* name, I32 namelen)
+STATIC HV* S_gv_get_super_pkg(pTHX_ const char* name, I32 namelen, U32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_GV_GET_SUPER_PKG \
assert(name)
-STATIC void S_gv_init_sv(pTHX_ GV *gv, const svtype sv_type)
+STATIC void S_gv_init_svtype(pTHX_ GV *gv, const svtype sv_type)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GV_INIT_SV \
+#define PERL_ARGS_ASSERT_GV_INIT_SVTYPE \
assert(gv)
STATIC void S_gv_magicalize_isa(pTHX_ GV *gv)
@@ -5322,6 +5587,11 @@ STATIC struct xpvhv_aux* S_hv_auxinit(HV *hv)
assert(hv)
STATIC SV* S_hv_delete_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen, int k_flags, I32 d_flags, U32 hash);
+STATIC SV* S_hv_free_ent_ret(pTHX_ HV *hv, HE *entryK)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_HV_FREE_ENT_RET \
+ assert(hv)
+
STATIC void S_hv_magic_check(HV *hv, bool *needs_copy, bool *needs_store)
__attribute__nonnull__(1)
__attribute__nonnull__(2)
@@ -5367,6 +5637,14 @@ PERL_CALLCONV void Perl_sv_kill_backrefs(pTHX_ SV *const sv, AV *const av)
assert(sv)
#endif
+#if defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C)
+PERL_CALLCONV SV* Perl_hfree_next_entry(pTHX_ HV *hv, STRLEN *indexp)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_HFREE_NEXT_ENTRY \
+ assert(hv); assert(indexp)
+
+#endif
#if defined(PERL_IN_LOCALE_C)
# if defined(USE_LOCALE_NUMERIC) || defined(USE_LOCALE_COLLATE)
STATIC char* S_stdize_locale(pTHX_ char* locs)
@@ -5399,8 +5677,16 @@ STATIC void S_save_magic(pTHX_ I32 mgs_ix, SV *sv)
STATIC void S_unwind_handler_stack(pTHX_ const void *p);
#endif
+#if defined(PERL_IN_MG_C) || defined(PERL_IN_PP_C)
+PERL_CALLCONV bool Perl_translate_substr_offsets(pTHX_ STRLEN curlen, IV pos1_iv, bool pos1_is_uv, IV len_iv, bool len_is_uv, STRLEN *posp, STRLEN *lenp)
+ __attribute__nonnull__(pTHX_6)
+ __attribute__nonnull__(pTHX_7);
+#define PERL_ARGS_ASSERT_TRANSLATE_SUBSTR_OFFSETS \
+ assert(posp); assert(lenp)
+
+#endif
#if defined(PERL_IN_MRO_C)
-STATIC void S_mro_clean_isarev(pTHX_ HV * const isa, const char * const name, const STRLEN len, HV * const exceptions)
+STATIC void S_mro_clean_isarev(pTHX_ HV * const isa, const char * const name, const STRLEN len, HV * const exceptions, U32 flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_MRO_CLEAN_ISAREV \
@@ -5423,6 +5709,7 @@ STATIC AV* S_mro_get_linear_isa_dfs(pTHX_ HV* stash, U32 level)
STATIC NV S_mulexp10(NV value, I32 exponent);
#endif
#if defined(PERL_IN_OP_C)
+PERL_STATIC_INLINE bool S_aassign_common_vars(pTHX_ OP* o);
STATIC void S_apply_attrs(pTHX_ HV *stash, SV *target, OP *attrs, bool for_my)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
@@ -5436,13 +5723,20 @@ STATIC void S_apply_attrs_my(pTHX_ HV *stash, OP *target, OP *attrs, OP **imopsp
#define PERL_ARGS_ASSERT_APPLY_ATTRS_MY \
assert(stash); assert(target); assert(imopsp)
-STATIC void S_bad_type(pTHX_ I32 n, const char *t, const char *name, const OP *kid)
+STATIC void S_bad_type_pv(pTHX_ I32 n, const char *t, const char *name, U32 flags, const OP *kid)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_BAD_TYPE \
+ __attribute__nonnull__(pTHX_5);
+#define PERL_ARGS_ASSERT_BAD_TYPE_PV \
assert(t); assert(name); assert(kid)
+STATIC void S_bad_type_sv(pTHX_ I32 n, const char *t, SV *namesv, U32 flags, const OP *kid)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_5);
+#define PERL_ARGS_ASSERT_BAD_TYPE_SV \
+ assert(t); assert(namesv); assert(kid)
+
STATIC void S_cop_free(pTHX_ COP *cop)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_COP_FREE \
@@ -5453,6 +5747,11 @@ STATIC OP * S_dup_attrlist(pTHX_ OP *o)
#define PERL_ARGS_ASSERT_DUP_ATTRLIST \
assert(o)
+STATIC void S_finalize_op(pTHX_ OP* o)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_FINALIZE_OP \
+ assert(o)
+
STATIC void S_find_and_forget_pmops(pTHX_ OP *o)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_FIND_AND_FORGET_PMOPS \
@@ -5465,22 +5764,22 @@ STATIC OP* S_fold_constants(pTHX_ OP *o)
STATIC OP* S_force_list(pTHX_ OP* arg);
STATIC OP* S_gen_constant_list(pTHX_ OP* o);
-STATIC const char* S_gv_ename(pTHX_ GV *gv)
+STATIC SV* S_gv_ename(pTHX_ GV *gv)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_GV_ENAME \
assert(gv)
+STATIC void S_inplace_aassign(pTHX_ OP* o)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INPLACE_AASSIGN \
+ assert(o)
+
STATIC bool S_is_handle_constructor(const OP *o, I32 numargs)
__attribute__warn_unused_result__
__attribute__nonnull__(1);
#define PERL_ARGS_ASSERT_IS_HANDLE_CONSTRUCTOR \
assert(o)
-STATIC OP* S_is_inplace_av(pTHX_ OP* o, OP* oright)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_INPLACE_AV \
- assert(o)
-
STATIC I32 S_is_list_assignment(pTHX_ const OP *o)
__attribute__warn_unused_result__;
@@ -5511,7 +5810,7 @@ STATIC OP* S_new_logop(pTHX_ I32 type, I32 flags, OP **firstp, OP **otherp)
#define PERL_ARGS_ASSERT_NEW_LOGOP \
assert(firstp); assert(otherp)
-STATIC void S_no_bareword_allowed(pTHX_ const OP *o)
+STATIC void S_no_bareword_allowed(pTHX_ OP *o)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_NO_BAREWORD_ALLOWED \
assert(o)
@@ -5522,6 +5821,16 @@ STATIC OP* S_no_fh_allowed(pTHX_ OP *o)
#define PERL_ARGS_ASSERT_NO_FH_ALLOWED \
assert(o)
+PERL_STATIC_INLINE OP* S_op_integerize(pTHX_ OP *o)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_OP_INTEGERIZE \
+ assert(o)
+
+PERL_STATIC_INLINE OP* S_op_std_init(pTHX_ OP *o)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_OP_STD_INIT \
+ assert(o)
+
STATIC OP* S_opt_scalarhv(pTHX_ OP* rep_op)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_OPT_SCALARHV \
@@ -5544,10 +5853,7 @@ STATIC void S_process_special_blocks(pTHX_ const char *const fullname, GV *const
STATIC OP* S_ref_array_or_hash(pTHX_ OP* cond);
STATIC OP* S_refkids(pTHX_ OP* o, I32 type);
STATIC bool S_scalar_mod_type(const OP *o, I32 type)
- __attribute__warn_unused_result__
- __attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_SCALAR_MOD_TYPE \
- assert(o)
+ __attribute__warn_unused_result__;
STATIC OP* S_scalarboolean(pTHX_ OP *o)
__attribute__nonnull__(pTHX_1);
@@ -5567,20 +5873,33 @@ STATIC void S_simplify_sort(pTHX_ OP *o)
#define PERL_ARGS_ASSERT_SIMPLIFY_SORT \
assert(o)
-STATIC OP* S_too_few_arguments(pTHX_ OP *o, const char* name)
+STATIC OP* S_too_few_arguments_pv(pTHX_ OP *o, const char* name, U32 flags)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_TOO_FEW_ARGUMENTS \
+#define PERL_ARGS_ASSERT_TOO_FEW_ARGUMENTS_PV \
assert(o); assert(name)
-STATIC OP* S_too_many_arguments(pTHX_ OP *o, const char* name)
+STATIC OP* S_too_few_arguments_sv(pTHX_ OP *o, SV* namesv, U32 flags)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_TOO_MANY_ARGUMENTS \
+#define PERL_ARGS_ASSERT_TOO_FEW_ARGUMENTS_SV \
+ assert(o); assert(namesv)
+
+STATIC OP* S_too_many_arguments_pv(pTHX_ OP *o, const char* name, U32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_TOO_MANY_ARGUMENTS_PV \
assert(o); assert(name)
+STATIC OP* S_too_many_arguments_sv(pTHX_ OP *o, SV* namesv, U32 flags)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_TOO_MANY_ARGUMENTS_SV \
+ assert(o); assert(namesv)
+
# if defined(USE_ITHREADS)
STATIC void S_forget_pmop(pTHX_ PMOP *const o, U32 flags)
__attribute__nonnull__(pTHX_1);
@@ -5589,24 +5908,32 @@ STATIC void S_forget_pmop(pTHX_ PMOP *const o, U32 flags)
# endif
#endif
+#if defined(PERL_IN_OP_C) || defined(PERL_IN_SV_C)
+PERL_CALLCONV void Perl_report_redefined_cv(pTHX_ const SV *name, const CV *old_cv, SV * const *new_const_svp)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REPORT_REDEFINED_CV \
+ assert(name); assert(old_cv)
+
+#endif
#if defined(PERL_IN_PAD_C)
-STATIC PADOFFSET S_pad_add_name_sv(pTHX_ SV *namesv, const U32 flags, HV *typestash, HV *ourstash)
+STATIC PADOFFSET S_pad_alloc_name(pTHX_ SV *namesv, U32 flags, HV *typestash, HV *ourstash)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PAD_ADD_NAME_SV \
+#define PERL_ARGS_ASSERT_PAD_ALLOC_NAME \
assert(namesv)
-STATIC void S_pad_check_dup(pTHX_ SV *name, const U32 flags, const HV *ourstash)
+STATIC void S_pad_check_dup(pTHX_ SV *name, U32 flags, const HV *ourstash)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_PAD_CHECK_DUP \
assert(name)
-STATIC PADOFFSET S_pad_findlex(pTHX_ const char *name, const CV* cv, U32 seq, int warn, SV** out_capture, SV** out_name_sv, int *out_flags)
+STATIC PADOFFSET S_pad_findlex(pTHX_ const char *namepv, STRLEN namelen, U32 flags, const CV* cv, U32 seq, int warn, SV** out_capture, SV** out_name_sv, int *out_flags)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_6)
- __attribute__nonnull__(pTHX_7);
+ __attribute__nonnull__(pTHX_4)
+ __attribute__nonnull__(pTHX_8)
+ __attribute__nonnull__(pTHX_9);
#define PERL_ARGS_ASSERT_PAD_FINDLEX \
- assert(name); assert(cv); assert(out_name_sv); assert(out_flags)
+ assert(namepv); assert(cv); assert(out_name_sv); assert(out_flags)
STATIC void S_pad_reset(pTHX);
#endif
@@ -5638,25 +5965,30 @@ STATIC void S_init_postdump_symbols(pTHX_ int argc, char **argv, char **env)
assert(argv)
STATIC void S_init_predump_symbols(pTHX);
+STATIC SV* S_mayberelocate(pTHX_ const char *const dir, STRLEN len, U32 flags)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_MAYBERELOCATE \
+ assert(dir)
+
+STATIC void S_minus_v(pTHX)
+ __attribute__noreturn__;
+
STATIC void S_my_exit_jump(pTHX)
__attribute__noreturn__;
STATIC void S_nuke_stacks(pTHX);
-STATIC int S_open_script(pTHX_ const char *scriptname, bool dosearch, bool *suidscript, PerlIO **rsfpp)
+STATIC PerlIO * S_open_script(pTHX_ const char *scriptname, bool dosearch, bool *suidscript)
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
+ __attribute__nonnull__(pTHX_3);
#define PERL_ARGS_ASSERT_OPEN_SCRIPT \
- assert(scriptname); assert(suidscript); assert(rsfpp)
+ assert(scriptname); assert(suidscript)
STATIC void* S_parse_body(pTHX_ char **env, XSINIT_t xsinit);
STATIC void S_run_body(pTHX_ I32 oldscope)
__attribute__noreturn__;
-STATIC void S_usage(pTHX_ const char *name)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_USAGE \
- assert(name)
+STATIC void S_usage(pTHX)
+ __attribute__noreturn__;
#endif
#if defined(PERL_IN_PP_C)
@@ -5685,6 +6017,13 @@ PERL_CALLCONV GV* Perl_softref2xv(pTHX_ SV *const sv, const char *const what, co
#endif
#if defined(PERL_IN_PP_CTL_C)
+STATIC SV ** S_adjust_stack_on_leave(pTHX_ SV **newsp, SV **sp, SV **mark, I32 gimme, U32 flags)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_ADJUST_STACK_ON_LEAVE \
+ assert(newsp); assert(sp); assert(mark)
+
STATIC PerlIO * S_check_type_and_open(pTHX_ SV *name)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
@@ -5696,17 +6035,17 @@ STATIC void S_destroy_matcher(pTHX_ PMOP* matcher)
#define PERL_ARGS_ASSERT_DESTROY_MATCHER \
assert(matcher)
-STATIC OP* S_do_smartmatch(pTHX_ HV* seen_this, HV* seen_other);
+STATIC OP* S_do_smartmatch(pTHX_ HV* seen_this, HV* seen_other, const bool copied);
STATIC OP* S_docatch(pTHX_ OP *o)
__attribute__warn_unused_result__;
-STATIC bool S_doeval(pTHX_ int gimme, OP** startop, CV* outside, U32 seq);
-STATIC OP* S_dofindlabel(pTHX_ OP *o, const char *label, OP **opstack, OP **oplimit)
+STATIC bool S_doeval(pTHX_ int gimme, OP** startop, CV* outside, U32 seq, HV* hh);
+STATIC OP* S_dofindlabel(pTHX_ OP *o, const char *label, STRLEN len, U32 flags, OP **opstack, OP **oplimit)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3)
- __attribute__nonnull__(pTHX_4);
+ __attribute__nonnull__(pTHX_5)
+ __attribute__nonnull__(pTHX_6);
#define PERL_ARGS_ASSERT_DOFINDLABEL \
assert(o); assert(label); assert(opstack); assert(oplimit)
@@ -5721,7 +6060,7 @@ STATIC I32 S_dopoptoeval(pTHX_ I32 startingblock)
STATIC I32 S_dopoptogiven(pTHX_ I32 startingblock)
__attribute__warn_unused_result__;
-STATIC I32 S_dopoptolabel(pTHX_ const char *label)
+STATIC I32 S_dopoptolabel(pTHX_ const char *label, STRLEN len, U32 flags)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_DOPOPTOLABEL \
@@ -5958,13 +6297,30 @@ STATIC SV * S_space_join_names_mortal(pTHX_ char *const *array)
#endif
#if defined(PERL_IN_REGCOMP_C)
+STATIC void S__append_range_to_invlist(pTHX_ SV* const invlist, const UV start, const UV end)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__APPEND_RANGE_TO_INVLIST \
+ assert(invlist)
+
+PERL_STATIC_INLINE UV* S__invlist_array_init(pTHX_ SV* const invlist, const bool will_have_0)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__INVLIST_ARRAY_INIT \
+ assert(invlist)
+
+STATIC SV* S__new_invlist_C_array(pTHX_ UV* list)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__NEW_INVLIST_C_ARRAY \
+ assert(list)
+
STATIC void S_add_alternate(pTHX_ AV** alternate_ptr, U8* string, STRLEN len)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_ADD_ALTERNATE \
assert(alternate_ptr); assert(string)
-PERL_STATIC_INLINE HV* S_add_cp_to_invlist(pTHX_ HV* invlist, const UV cp)
+PERL_STATIC_INLINE SV* S_add_cp_to_invlist(pTHX_ SV* invlist, const UV cp)
__attribute__warn_unused_result__;
STATIC U32 S_add_data(struct RExC_state_t *pRExC_state, U32 n, const char *s)
@@ -5974,9 +6330,6 @@ STATIC U32 S_add_data(struct RExC_state_t *pRExC_state, U32 n, const char *s)
#define PERL_ARGS_ASSERT_ADD_DATA \
assert(pRExC_state); assert(s)
-STATIC HV* S_add_range_to_invlist(pTHX_ HV* invlist, const UV start, const UV end)
- __attribute__warn_unused_result__;
-
STATIC void S_checkposixcc(pTHX_ struct RExC_state_t *pRExC_state)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_CHECKPOSIXCC \
@@ -6013,69 +6366,95 @@ STATIC void S_cl_or(const struct RExC_state_t *pRExC_state, struct regnode_charc
#define PERL_ARGS_ASSERT_CL_OR \
assert(pRExC_state); assert(cl); assert(or_with)
-PERL_STATIC_INLINE UV* S_invlist_array(pTHX_ HV* const invlist)
+PERL_STATIC_INLINE UV* S_get_invlist_iter_addr(pTHX_ SV* invlist)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GET_INVLIST_ITER_ADDR \
+ assert(invlist)
+
+PERL_STATIC_INLINE UV* S_get_invlist_len_addr(pTHX_ SV* invlist)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GET_INVLIST_LEN_ADDR \
+ assert(invlist)
+
+PERL_STATIC_INLINE UV* S_get_invlist_version_id_addr(pTHX_ SV* invlist)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GET_INVLIST_VERSION_ID_ADDR \
+ assert(invlist)
+
+PERL_STATIC_INLINE UV* S_get_invlist_zero_addr(pTHX_ SV* invlist)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GET_INVLIST_ZERO_ADDR \
+ assert(invlist)
+
+PERL_STATIC_INLINE UV* S_invlist_array(pTHX_ SV* const invlist)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_INVLIST_ARRAY \
assert(invlist)
-PERL_STATIC_INLINE void S_invlist_destroy(pTHX_ HV* const invlist)
+PERL_STATIC_INLINE SV* S_invlist_clone(pTHX_ SV* const invlist)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_INVLIST_DESTROY \
+#define PERL_ARGS_ASSERT_INVLIST_CLONE \
assert(invlist)
-STATIC void S_invlist_extend(pTHX_ HV* const invlist, const UV len)
+STATIC void S_invlist_extend(pTHX_ SV* const invlist, const UV len)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_INVLIST_EXTEND \
assert(invlist)
-STATIC HV* S_invlist_intersection(pTHX_ HV* const a, HV* const b)
+PERL_STATIC_INLINE void S_invlist_iterinit(pTHX_ SV* invlist)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_ITERINIT \
+ assert(invlist)
+
+STATIC bool S_invlist_iternext(pTHX_ SV* invlist, UV* start, UV* end)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_INVLIST_INTERSECTION \
- assert(a); assert(b)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_INVLIST_ITERNEXT \
+ assert(invlist); assert(start); assert(end)
-PERL_STATIC_INLINE UV S_invlist_len(pTHX_ HV* const invlist)
+PERL_STATIC_INLINE UV S_invlist_len(pTHX_ SV* const invlist)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_INVLIST_LEN \
assert(invlist)
-PERL_STATIC_INLINE UV S_invlist_max(pTHX_ HV* const invlist)
+PERL_STATIC_INLINE UV S_invlist_max(pTHX_ SV* const invlist)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_INVLIST_MAX \
assert(invlist)
-PERL_STATIC_INLINE void S_invlist_set_len(pTHX_ HV* const invlist, const UV len)
+STATIC IV S_invlist_search(pTHX_ SV* const invlist, const UV cp)
+ __attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_INVLIST_SET_LEN \
+#define PERL_ARGS_ASSERT_INVLIST_SEARCH \
assert(invlist)
-PERL_STATIC_INLINE void S_invlist_set_max(pTHX_ HV* const invlist, const UV max)
+PERL_STATIC_INLINE void S_invlist_set_len(pTHX_ SV* const invlist, const UV len)
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_INVLIST_SET_MAX \
+#define PERL_ARGS_ASSERT_INVLIST_SET_LEN \
assert(invlist)
-PERL_STATIC_INLINE void S_invlist_trim(pTHX_ HV* const invlist)
+PERL_STATIC_INLINE void S_invlist_trim(pTHX_ SV* const invlist)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_INVLIST_TRIM \
assert(invlist)
-STATIC HV* S_invlist_union(pTHX_ HV* const a, HV* const b)
- __attribute__warn_unused_result__
- __attribute__nonnull__(pTHX_1)
- __attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_INVLIST_UNION \
- assert(a); assert(b)
-
-STATIC U32 S_join_exact(pTHX_ struct RExC_state_t *pRExC_state, regnode *scan, I32 *min, U32 flags, regnode *val, U32 depth)
+STATIC U32 S_join_exact(pTHX_ struct RExC_state_t *pRExC_state, regnode *scan, UV *min_subtract, bool *has_exactf_sharp_s, U32 flags, regnode *val, U32 depth)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
#define PERL_ARGS_ASSERT_JOIN_EXACT \
- assert(pRExC_state); assert(scan); assert(min)
+ assert(pRExC_state); assert(scan); assert(min_subtract); assert(has_exactf_sharp_s)
STATIC I32 S_make_trie(pTHX_ struct RExC_state_t *pRExC_state, regnode *startbranch, regnode *first, regnode *last, regnode *tail, U32 word_count, U32 flags, U32 depth)
__attribute__nonnull__(pTHX_1)
@@ -6202,7 +6581,7 @@ STATIC void S_scan_commit(pTHX_ const struct RExC_state_t *pRExC_state, struct s
#define PERL_ARGS_ASSERT_SCAN_COMMIT \
assert(pRExC_state); assert(data); assert(minlenp)
-PERL_STATIC_INLINE U8 S_set_regclass_bit(pTHX_ struct RExC_state_t* pRExC_state, regnode* node, const U8 value, HV** invlist_ptr, AV** alternate_ptr)
+PERL_STATIC_INLINE U8 S_set_regclass_bit(pTHX_ struct RExC_state_t* pRExC_state, regnode* node, const U8 value, SV** invlist_ptr, AV** alternate_ptr)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_4)
@@ -6210,7 +6589,7 @@ PERL_STATIC_INLINE U8 S_set_regclass_bit(pTHX_ struct RExC_state_t* pRExC_state,
#define PERL_ARGS_ASSERT_SET_REGCLASS_BIT \
assert(pRExC_state); assert(node); assert(invlist_ptr); assert(alternate_ptr)
-STATIC U8 S_set_regclass_bit_fold(pTHX_ struct RExC_state_t *pRExC_state, regnode* node, const U8 value, HV** invlist_ptr, AV** alternate_ptr)
+STATIC U8 S_set_regclass_bit_fold(pTHX_ struct RExC_state_t *pRExC_state, regnode* node, const U8 value, SV** invlist_ptr, AV** alternate_ptr)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
__attribute__nonnull__(pTHX_4)
@@ -6228,7 +6607,90 @@ STATIC I32 S_study_chunk(pTHX_ struct RExC_state_t *pRExC_state, regnode **scanp
assert(pRExC_state); assert(scanp); assert(minlenp); assert(deltap); assert(last)
#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
+PERL_CALLCONV SV* Perl__core_swash_init(pTHX_ const char* pkg, const char* name, SV* listsv, I32 minbits, I32 none, bool return_if_undef, SV* invlist, bool passed_in_invlist_has_user_defined_property)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT__CORE_SWASH_INIT \
+ assert(pkg); assert(name); assert(listsv)
+
+PERL_CALLCONV SV* Perl__invlist_contents(pTHX_ SV* const invlist)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__INVLIST_CONTENTS \
+ assert(invlist)
+
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
+PERL_CALLCONV SV* Perl__add_range_to_invlist(pTHX_ SV* invlist, const UV start, const UV end)
+ __attribute__warn_unused_result__;
+
+/* PERL_CALLCONV void _invlist_intersection(pTHX_ SV* const a, SV* const b, SV** i)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3); */
+
+PERL_CALLCONV void Perl__invlist_intersection_maybe_complement_2nd(pTHX_ SV* const a, SV* const b, bool complement_b, SV** i)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT__INVLIST_INTERSECTION_MAYBE_COMPLEMENT_2ND \
+ assert(b); assert(i)
+
+PERL_CALLCONV void Perl__invlist_invert(pTHX_ SV* const invlist)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__INVLIST_INVERT \
+ assert(invlist)
+
+PERL_CALLCONV void Perl__invlist_invert_prop(pTHX_ SV* const invlist)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__INVLIST_INVERT_PROP \
+ assert(invlist)
+
+PERL_CALLCONV void Perl__invlist_populate_swatch(pTHX_ SV* const invlist, const UV start, const UV end, U8* swatch)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT__INVLIST_POPULATE_SWATCH \
+ assert(invlist); assert(swatch)
+
+/* PERL_CALLCONV void _invlist_subtract(pTHX_ SV* const a, SV* const b, SV** result)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3); */
+
+/* PERL_CALLCONV void _invlist_union(pTHX_ SV* const a, SV* const b, SV** output)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3); */
+
+PERL_CALLCONV void Perl__invlist_union_maybe_complement_2nd(pTHX_ SV* const a, SV* const b, bool complement_b, SV** output)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT__INVLIST_UNION_MAYBE_COMPLEMENT_2ND \
+ assert(b); assert(output)
+
+PERL_CALLCONV SV* Perl__new_invlist(pTHX_ IV initial_size)
+ __attribute__warn_unused_result__;
+
+PERL_CALLCONV HV* Perl__swash_inversion_hash(pTHX_ SV* const swash)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__SWASH_INVERSION_HASH \
+ assert(swash)
+
+PERL_CALLCONV SV* Perl__swash_to_invlist(pTHX_ SV* const swash)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__SWASH_TO_INVLIST \
+ assert(swash)
+
+#endif
#if defined(PERL_IN_REGEXEC_C)
+STATIC SV* S_core_regclass_swash(pTHX_ const regexp *prog, const struct regnode *node, bool doinit, SV **listsvp, SV **altsvp)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_CORE_REGCLASS_SWASH \
+ assert(node)
+
STATIC char* S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, const char *strend, regmatch_info *reginfo)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1)
@@ -6431,7 +6893,7 @@ STATIC STRLEN S_sv_pos_u2b_midway(const U8 *const start, const U8 *send, STRLEN
#define PERL_ARGS_ASSERT_SV_POS_U2B_MIDWAY \
assert(start); assert(send)
-STATIC void S_sv_unglob(pTHX_ SV *const sv)
+PERL_STATIC_INLINE void S_sv_unglob(pTHX_ SV *const sv, U32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_SV_UNGLOB \
assert(sv)
@@ -6455,9 +6917,6 @@ STATIC void S_utf8_mg_pos_cache_update(pTHX_ SV *const sv, MAGIC **const mgp, co
#define PERL_ARGS_ASSERT_UTF8_MG_POS_CACHE_UPDATE \
assert(sv); assert(mgp)
-STATIC SV * S_varname(pTHX_ const GV *const gv, const char gvtype, PADOFFSET targ, const SV *const keyname, I32 aindex, int subscript_type)
- __attribute__warn_unused_result__;
-
STATIC I32 S_visit(pTHX_ SVFUNC_t f, const U32 flags, const U32 mask)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_VISIT \
@@ -6494,6 +6953,11 @@ STATIC void S_unreferenced_to_tmp_stack(pTHX_ AV *const unreferenced)
# endif
#endif
+#if defined(PERL_IN_SV_C) || defined (PERL_IN_OP_C)
+PERL_CALLCONV SV * Perl_varname(pTHX_ const GV *const gv, const char gvtype, PADOFFSET targ, const SV *const keyname, I32 aindex, int subscript_type)
+ __attribute__warn_unused_result__;
+
+#endif
#if defined(PERL_IN_TOKE_C)
STATIC int S_ao(pTHX_ int toketype);
STATIC void S_check_uni(pTHX);
@@ -6668,7 +7132,7 @@ STATIC SV* S_tokeq(pTHX_ SV *sv)
assert(sv)
STATIC void S_update_debugger_info(pTHX_ SV *orig_sv, const char *const buf, STRLEN len);
-STATIC int S_yywarn(pTHX_ const char *const s)
+STATIC int S_yywarn(pTHX_ const char *const s, U32 flags)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_YYWARN \
assert(s)
@@ -6694,7 +7158,7 @@ STATIC void S_start_force(pTHX_ int where);
# endif
#endif
#if defined(PERL_IN_UNIVERSAL_C)
-STATIC bool S_isa_lookup(pTHX_ HV *stash, const char * const name)
+STATIC bool S_isa_lookup(pTHX_ HV *stash, const char * const name, STRLEN len, U32 flags)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_ISA_LOOKUP \
@@ -6702,6 +7166,14 @@ STATIC bool S_isa_lookup(pTHX_ HV *stash, const char * const name)
#endif
#if defined(PERL_IN_UTF8_C)
+STATIC UV S_check_locale_boundary_crossing(pTHX_ const U8* const p, const UV result, U8* const ustrp, STRLEN *lenp)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_CHECK_LOCALE_BOUNDARY_CROSSING \
+ assert(p); assert(ustrp); assert(lenp)
+
STATIC STRLEN S_is_utf8_char_slow(const U8 *s, const STRLEN len)
__attribute__warn_unused_result__
__attribute__nonnull__(1);
@@ -6716,12 +7188,37 @@ STATIC bool S_is_utf8_common(pTHX_ const U8 *const p, SV **swash, const char * c
#define PERL_ARGS_ASSERT_IS_UTF8_COMMON \
assert(p); assert(swash); assert(swashname)
-STATIC SV* S_swash_get(pTHX_ SV* swash, UV start, UV span)
+STATIC SV* S_swatch_get(pTHX_ SV* swash, UV start, UV span)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SWASH_GET \
+#define PERL_ARGS_ASSERT_SWATCH_GET \
assert(swash)
+STATIC U8 S_to_lower_latin1(pTHX_ const U8 c, U8 *p, STRLEN *lenp)
+ __attribute__warn_unused_result__;
+
+#endif
+#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C)
+PERL_CALLCONV bool Perl__is_utf8_quotemeta(pTHX_ const U8 *p)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__IS_UTF8_QUOTEMETA \
+ assert(p)
+
+PERL_CALLCONV UV Perl__to_upper_title_latin1(pTHX_ const U8 c, U8 *p, STRLEN *lenp, const char S_or_s)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT__TO_UPPER_TITLE_LATIN1 \
+ assert(p); assert(lenp)
+
+#endif
+#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
+PERL_CALLCONV UV Perl__to_fold_latin1(pTHX_ const U8 c, U8 *p, STRLEN *lenp, const bool flags)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT__TO_FOLD_LATIN1 \
+ assert(p); assert(lenp)
+
#endif
#if defined(PERL_IN_UTIL_C)
STATIC bool S_ckwarn_common(pTHX_ U32 w);
@@ -7050,7 +7547,7 @@ PERL_CALLCONV OP* Perl_newPADOP(pTHX_ I32 type, I32 flags, SV* sv)
#define PERL_ARGS_ASSERT_NEWPADOP \
assert(sv)
-PERL_CALLCONV AV* Perl_padlist_dup(pTHX_ AV *const srcpad, CLONE_PARAMS *const param)
+PERL_CALLCONV AV* Perl_padlist_dup(pTHX_ AV *srcpad, CLONE_PARAMS *param)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_2);
#define PERL_ARGS_ASSERT_PADLIST_DUP \
diff --git a/Master/tlpkg/tlperl/lib/CORE/regcharclass.h b/Master/tlpkg/tlperl/lib/CORE/regcharclass.h
index 47d4b41925b..5e233ea730e 100644
--- a/Master/tlpkg/tlperl/lib/CORE/regcharclass.h
+++ b/Master/tlpkg/tlperl/lib/CORE/regcharclass.h
@@ -2,7 +2,7 @@
*
* regcharclass.h
*
- * Copyright (C) 2007 by Larry Wall and others
+ * Copyright (C) 2007, 2011 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
@@ -359,7 +359,7 @@
0x2029 == cp ) ) ) ) ) )
/*
- TRICKYFOLD: Problematic fold case letters.
+ TRICKYFOLD: Problematic fold case letters. When adding to this list, also should add them to regcomp.c and fold_grind.t
0x00DF # LATIN SMALL LETTER SHARP S
0x0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
diff --git a/Master/tlpkg/tlperl/lib/CORE/regcomp.h b/Master/tlpkg/tlperl/lib/CORE/regcomp.h
index c8f593b78d8..e1e9fdb22bf 100644
--- a/Master/tlpkg/tlperl/lib/CORE/regcomp.h
+++ b/Master/tlpkg/tlperl/lib/CORE/regcomp.h
@@ -311,6 +311,8 @@ struct regnode_charclass_class {
* are done to share them, as described below. If necessary, the ANYOF_LOCALE
* and ANYOF_CLASS bits could be shared with a space penalty for locale nodes,
* but this isn't quite so easy, as the optimizer also uses ANYOF_CLASS.
+ * Another option would be to push them into new nodes. E.g. there could be an
+ * ANYOF_LOCALE node that would be in place of the flag of the same name.
* Once the planned change to compile all the above-latin1 code points is done,
* then the UNICODE_ALL bit can be freed up, with a small performance penalty.
* If flags need to be added that are applicable to the synthetic start class
@@ -492,6 +494,7 @@ struct regnode_charclass_class {
#define REG_SEEN_VERBARG 0x00000080
#define REG_SEEN_CUTGROUP 0x00000100
#define REG_SEEN_RUN_ON_COMMENT 0x00000200
+#define REG_SEEN_EXACTF_SHARP_S 0x00000400
START_EXTERN_C
@@ -836,7 +839,8 @@ re.pm, especially to the documentation.
#ifdef DEBUGGING
-#define GET_RE_DEBUG_FLAGS_DECL VOL IV re_debug_flags = 0; GET_RE_DEBUG_FLAGS;
+#define GET_RE_DEBUG_FLAGS_DECL VOL IV re_debug_flags \
+ PERL_UNUSED_DECL = 0; GET_RE_DEBUG_FLAGS;
#define RE_PV_COLOR_DECL(rpv,rlen,isuni,dsv,pv,l,m,c1,c2) \
const char * const rpv = \
diff --git a/Master/tlpkg/tlperl/lib/CORE/regexp.h b/Master/tlpkg/tlperl/lib/CORE/regexp.h
index 5776a9023a7..78fec5781a0 100644
--- a/Master/tlpkg/tlperl/lib/CORE/regexp.h
+++ b/Master/tlpkg/tlperl/lib/CORE/regexp.h
@@ -55,6 +55,15 @@ typedef struct regexp_paren_pair {
I32 end;
} regexp_paren_pair;
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
+#define _invlist_union(a, b, output) _invlist_union_maybe_complement_2nd(a, b, FALSE, output)
+#define _invlist_intersection(a, b, output) _invlist_intersection_maybe_complement_2nd(a, b, FALSE, output)
+
+/* Subtracting b from a leaves in a everything that was there that isn't in b,
+ * that is the intersection of a with b's complement */
+#define _invlist_subtract(a, b, output) _invlist_intersection_maybe_complement_2nd(a, b, TRUE, output)
+#endif
+
/*
The regexp/REGEXP struct, see L<perlreapi> for further documentation
on the individual fields. The struct is ordered so that the most
@@ -298,9 +307,10 @@ and check for NULL.
* unshared area without affecting binary compatibility */
#define RXf_BASE_SHIFT (_RXf_PMf_SHIFT_NEXT+1)
-/* embed.pl doesn't yet know how to handle static inline functions, so
- manually decorate them here with gcc-style attributes.
-*/
+/* Manually decorate this function with gcc-style attributes just to
+ * avoid having to restructure the header files and their called order,
+ * as proto.h would have to be included before this file, and isn't */
+
PERL_STATIC_INLINE const char *
get_regex_charset_name(const U32 flags, STRLEN* const lenp)
__attribute__warn_unused_result__;
@@ -326,7 +336,6 @@ get_regex_charset_name(const U32 flags, STRLEN* const lenp)
default:
return "?"; /* Unknown */
}
- return "?"; /* Unknown */
}
/* Anchor and GPOS related stuff */
@@ -380,7 +389,7 @@ get_regex_charset_name(const U32 flags, STRLEN* const lenp)
#define RXf_START_ONLY (1<<(RXf_BASE_SHIFT+19)) /* Pattern is /^/ */
#define RXf_SKIPWHITE (1<<(RXf_BASE_SHIFT+20)) /* Pattern is for a split / / */
#define RXf_WHITE (1<<(RXf_BASE_SHIFT+21)) /* Pattern is /\s+/ */
-#define RXf_NULL (1<<(RXf_BASE_SHIFT+22)) /* Pattern is // */
+#define RXf_NULL (1U<<(RXf_BASE_SHIFT+22)) /* Pattern is // */
#if RXf_BASE_SHIFT+22 > 31
# error Too many RXf_PMf bits used. See regnodes.h for any spare in middle
#endif
diff --git a/Master/tlpkg/tlperl/lib/CORE/regnodes.h b/Master/tlpkg/tlperl/lib/CORE/regnodes.h
index 931761beb8c..14bac24cb24 100644
--- a/Master/tlpkg/tlperl/lib/CORE/regnodes.h
+++ b/Master/tlpkg/tlperl/lib/CORE/regnodes.h
@@ -6,8 +6,8 @@
/* Regops and State definitions */
-#define REGNODE_MAX 111
-#define REGMATCH_STATE_MAX 151
+#define REGNODE_MAX 112
+#define REGMATCH_STATE_MAX 152
#define END 0 /* 0000 End of program. */
#define SUCCEED 1 /* 0x01 Return from a subroutine, basically. */
@@ -58,69 +58,70 @@
#define BRANCH 46 /* 0x2e Match this alternative, or the next... */
#define BACK 47 /* 0x2f Match "", "next" ptr points backward. */
#define EXACT 48 /* 0x30 Match this string (preceded by length). */
-#define EXACTF 49 /* 0x31 Match this string, folded, native charset semantics for non-utf8 (prec. by length). */
-#define EXACTFL 50 /* 0x32 Match this string, folded in locale (w/len). */
-#define EXACTFU 51 /* 0x33 Match this string, folded, Unicode semantics for non-utf8 (prec. by length). */
-#define EXACTFA 52 /* 0x34 Match this string, folded, Unicode semantics for non-utf8, but no ASCII-range character matches outside ASCII (prec. by length),. */
-#define NOTHING 53 /* 0x35 Match empty string. */
-#define TAIL 54 /* 0x36 Match empty string. Can jump here from outside. */
-#define STAR 55 /* 0x37 Match this (simple) thing 0 or more times. */
-#define PLUS 56 /* 0x38 Match this (simple) thing 1 or more times. */
-#define CURLY 57 /* 0x39 Match this simple thing {n,m} times. */
-#define CURLYN 58 /* 0x3a Capture next-after-this simple thing */
-#define CURLYM 59 /* 0x3b Capture this medium-complex thing {n,m} times. */
-#define CURLYX 60 /* 0x3c Match this complex thing {n,m} times. */
-#define WHILEM 61 /* 0x3d Do curly processing and see if rest matches. */
-#define OPEN 62 /* 0x3e Mark this point in input as start of */
-#define CLOSE 63 /* 0x3f Analogous to OPEN. */
-#define REF 64 /* 0x40 Match some already matched string */
-#define REFF 65 /* 0x41 Match already matched string, folded using native charset semantics for non-utf8 */
-#define REFFL 66 /* 0x42 Match already matched string, folded in loc. */
-#define REFFU 67 /* 0x43 Match already matched string, folded using unicode semantics for non-utf8 */
-#define REFFA 68 /* 0x44 Match already matched string, folded using unicode semantics for non-utf8, no mixing ASCII, non-ASCII */
-#define NREF 69 /* 0x45 Match some already matched string */
-#define NREFF 70 /* 0x46 Match already matched string, folded using native charset semantics for non-utf8 */
-#define NREFFL 71 /* 0x47 Match already matched string, folded in loc. */
-#define NREFFU 72 /* 0x48 Match already matched string, folded using unicode semantics for non-utf8 */
-#define NREFFA 73 /* 0x49 Match already matched string, folded using unicode semantics for non-utf8, no mixing ASCII, non-ASCII */
-#define IFMATCH 74 /* 0x4a Succeeds if the following matches. */
-#define UNLESSM 75 /* 0x4b Fails if the following matches. */
-#define SUSPEND 76 /* 0x4c "Independent" sub-RE. */
-#define IFTHEN 77 /* 0x4d Switch, should be preceded by switcher . */
-#define GROUPP 78 /* 0x4e Whether the group matched. */
-#define LONGJMP 79 /* 0x4f Jump far away. */
-#define BRANCHJ 80 /* 0x50 BRANCH with long offset. */
-#define EVAL 81 /* 0x51 Execute some Perl code. */
-#define MINMOD 82 /* 0x52 Next operator is not greedy. */
-#define LOGICAL 83 /* 0x53 Next opcode should set the flag only. */
-#define RENUM 84 /* 0x54 Group with independently numbered parens. */
-#define TRIE 85 /* 0x55 Match many EXACT(F[ALU]?)? at once. flags==type */
-#define TRIEC 86 /* 0x56 Same as TRIE, but with embedded charclass data */
-#define AHOCORASICK 87 /* 0x57 Aho Corasick stclass. flags==type */
-#define AHOCORASICKC 88 /* 0x58 Same as AHOCORASICK, but with embedded charclass data */
-#define GOSUB 89 /* 0x59 recurse to paren arg1 at (signed) ofs arg2 */
-#define GOSTART 90 /* 0x5a recurse to start of pattern */
-#define NGROUPP 91 /* 0x5b Whether the group matched. */
-#define INSUBP 92 /* 0x5c Whether we are in a specific recurse. */
-#define DEFINEP 93 /* 0x5d Never execute directly. */
-#define ENDLIKE 94 /* 0x5e Used only for the type field of verbs */
-#define OPFAIL 95 /* 0x5f Same as (?!) */
-#define ACCEPT 96 /* 0x60 Accepts the current matched string. */
-#define VERB 97 /* 0x61 Used only for the type field of verbs */
-#define PRUNE 98 /* 0x62 Pattern fails at this startpoint if no-backtracking through this */
-#define MARKPOINT 99 /* 0x63 Push the current location for rollback by cut. */
-#define SKIP 100 /* 0x64 On failure skip forward (to the mark) before retrying */
-#define COMMIT 101 /* 0x65 Pattern fails outright if backtracking through this */
-#define CUTGROUP 102 /* 0x66 On failure go to the next alternation in the group */
-#define KEEPS 103 /* 0x67 $& begins here. */
-#define LNBREAK 104 /* 0x68 generic newline pattern */
-#define VERTWS 105 /* 0x69 vertical whitespace (Perl 6) */
-#define NVERTWS 106 /* 0x6a not vertical whitespace (Perl 6) */
-#define HORIZWS 107 /* 0x6b horizontal whitespace (Perl 6) */
-#define NHORIZWS 108 /* 0x6c not horizontal whitespace (Perl 6) */
-#define FOLDCHAR 109 /* 0x6d codepoint with tricky case folding properties. */
-#define OPTIMIZED 110 /* 0x6e Placeholder for dump. */
-#define PSEUDO 111 /* 0x6f Pseudo opcode for internal use. */
+#define EXACTF 49 /* 0x31 Match this non-UTF-8 string (not guaranteed to be folded) using /id rules (w/len). */
+#define EXACTFL 50 /* 0x32 Match this string (not guaranteed to be folded) using /il rules (w/len). */
+#define EXACTFU 51 /* 0x33 Match this string (folded iff in UTF-8, length in folding doesn't change if not in UTF-8) using /iu rules (w/len). */
+#define EXACTFU_SS 52 /* 0x34 Match this string (folded iff in UTF-8, length in folding may change even if not in UTF-8) using /iu rules (w/len). */
+#define EXACTFU_TRICKYFOLD 53 /* 0x35 Match this folded UTF-8 string using /iu rules */
+#define EXACTFA 54 /* 0x36 Match this string (not guaranteed to be folded) using /iaa rules (w/len). */
+#define NOTHING 55 /* 0x37 Match empty string. */
+#define TAIL 56 /* 0x38 Match empty string. Can jump here from outside. */
+#define STAR 57 /* 0x39 Match this (simple) thing 0 or more times. */
+#define PLUS 58 /* 0x3a Match this (simple) thing 1 or more times. */
+#define CURLY 59 /* 0x3b Match this simple thing {n,m} times. */
+#define CURLYN 60 /* 0x3c Capture next-after-this simple thing */
+#define CURLYM 61 /* 0x3d Capture this medium-complex thing {n,m} times. */
+#define CURLYX 62 /* 0x3e Match this complex thing {n,m} times. */
+#define WHILEM 63 /* 0x3f Do curly processing and see if rest matches. */
+#define OPEN 64 /* 0x40 Mark this point in input as start of */
+#define CLOSE 65 /* 0x41 Analogous to OPEN. */
+#define REF 66 /* 0x42 Match some already matched string */
+#define REFF 67 /* 0x43 Match already matched string, folded using native charset semantics for non-utf8 */
+#define REFFL 68 /* 0x44 Match already matched string, folded in loc. */
+#define REFFU 69 /* 0x45 Match already matched string, folded using unicode semantics for non-utf8 */
+#define REFFA 70 /* 0x46 Match already matched string, folded using unicode semantics for non-utf8, no mixing ASCII, non-ASCII */
+#define NREF 71 /* 0x47 Match some already matched string */
+#define NREFF 72 /* 0x48 Match already matched string, folded using native charset semantics for non-utf8 */
+#define NREFFL 73 /* 0x49 Match already matched string, folded in loc. */
+#define NREFFU 74 /* 0x4a Match already matched string, folded using unicode semantics for non-utf8 */
+#define NREFFA 75 /* 0x4b Match already matched string, folded using unicode semantics for non-utf8, no mixing ASCII, non-ASCII */
+#define IFMATCH 76 /* 0x4c Succeeds if the following matches. */
+#define UNLESSM 77 /* 0x4d Fails if the following matches. */
+#define SUSPEND 78 /* 0x4e "Independent" sub-RE. */
+#define IFTHEN 79 /* 0x4f Switch, should be preceded by switcher . */
+#define GROUPP 80 /* 0x50 Whether the group matched. */
+#define LONGJMP 81 /* 0x51 Jump far away. */
+#define BRANCHJ 82 /* 0x52 BRANCH with long offset. */
+#define EVAL 83 /* 0x53 Execute some Perl code. */
+#define MINMOD 84 /* 0x54 Next operator is not greedy. */
+#define LOGICAL 85 /* 0x55 Next opcode should set the flag only. */
+#define RENUM 86 /* 0x56 Group with independently numbered parens. */
+#define TRIE 87 /* 0x57 Match many EXACT(F[ALU]?)? at once. flags==type */
+#define TRIEC 88 /* 0x58 Same as TRIE, but with embedded charclass data */
+#define AHOCORASICK 89 /* 0x59 Aho Corasick stclass. flags==type */
+#define AHOCORASICKC 90 /* 0x5a Same as AHOCORASICK, but with embedded charclass data */
+#define GOSUB 91 /* 0x5b recurse to paren arg1 at (signed) ofs arg2 */
+#define GOSTART 92 /* 0x5c recurse to start of pattern */
+#define NGROUPP 93 /* 0x5d Whether the group matched. */
+#define INSUBP 94 /* 0x5e Whether we are in a specific recurse. */
+#define DEFINEP 95 /* 0x5f Never execute directly. */
+#define ENDLIKE 96 /* 0x60 Used only for the type field of verbs */
+#define OPFAIL 97 /* 0x61 Same as (?!) */
+#define ACCEPT 98 /* 0x62 Accepts the current matched string. */
+#define VERB 99 /* 0x63 Used only for the type field of verbs */
+#define PRUNE 100 /* 0x64 Pattern fails at this startpoint if no-backtracking through this */
+#define MARKPOINT 101 /* 0x65 Push the current location for rollback by cut. */
+#define SKIP 102 /* 0x66 On failure skip forward (to the mark) before retrying */
+#define COMMIT 103 /* 0x67 Pattern fails outright if backtracking through this */
+#define CUTGROUP 104 /* 0x68 On failure go to the next alternation in the group */
+#define KEEPS 105 /* 0x69 $& begins here. */
+#define LNBREAK 106 /* 0x6a generic newline pattern */
+#define VERTWS 107 /* 0x6b vertical whitespace (Perl 6) */
+#define NVERTWS 108 /* 0x6c not vertical whitespace (Perl 6) */
+#define HORIZWS 109 /* 0x6d horizontal whitespace (Perl 6) */
+#define NHORIZWS 110 /* 0x6e not horizontal whitespace (Perl 6) */
+#define OPTIMIZED 111 /* 0x6f Placeholder for dump. */
+#define PSEUDO 112 /* 0x70 Pseudo opcode for internal use. */
/* ------------ States ------------- */
#define TRIE_next (REGNODE_MAX + 1) /* state for TRIE */
#define TRIE_next_fail (REGNODE_MAX + 2) /* state for TRIE */
@@ -221,6 +222,8 @@ EXTCONST U8 PL_regkind[] = {
EXACT, /* EXACTF */
EXACT, /* EXACTFL */
EXACT, /* EXACTFU */
+ EXACT, /* EXACTFU_SS */
+ EXACT, /* EXACTFU_TRICKYFOLD */
EXACT, /* EXACTFA */
NOTHING, /* NOTHING */
NOTHING, /* TAIL */
@@ -278,7 +281,6 @@ EXTCONST U8 PL_regkind[] = {
NVERTWS, /* NVERTWS */
HORIZWS, /* HORIZWS */
NHORIZWS, /* NHORIZWS */
- FOLDCHAR, /* FOLDCHAR */
NOTHING, /* OPTIMIZED */
PSEUDO, /* PSEUDO */
/* ------------ States ------------- */
@@ -381,6 +383,8 @@ static const U8 regarglen[] = {
0, /* EXACTF */
0, /* EXACTFL */
0, /* EXACTFU */
+ 0, /* EXACTFU_SS */
+ 0, /* EXACTFU_TRICKYFOLD */
0, /* EXACTFA */
0, /* NOTHING */
0, /* TAIL */
@@ -438,7 +442,6 @@ static const U8 regarglen[] = {
0, /* NVERTWS */
0, /* HORIZWS */
0, /* NHORIZWS */
- EXTRA_SIZE(struct regnode_1), /* FOLDCHAR */
0, /* OPTIMIZED */
0, /* PSEUDO */
};
@@ -498,6 +501,8 @@ static const char reg_off_by_arg[] = {
0, /* EXACTF */
0, /* EXACTFL */
0, /* EXACTFU */
+ 0, /* EXACTFU_SS */
+ 0, /* EXACTFU_TRICKYFOLD */
0, /* EXACTFA */
0, /* NOTHING */
0, /* TAIL */
@@ -555,7 +560,6 @@ static const char reg_off_by_arg[] = {
0, /* NVERTWS */
0, /* HORIZWS */
0, /* NHORIZWS */
- 0, /* FOLDCHAR */
0, /* OPTIMIZED */
0, /* PSEUDO */
};
@@ -620,66 +624,67 @@ EXTCONST char * const PL_reg_name[] = {
"EXACTF", /* 0x31 */
"EXACTFL", /* 0x32 */
"EXACTFU", /* 0x33 */
- "EXACTFA", /* 0x34 */
- "NOTHING", /* 0x35 */
- "TAIL", /* 0x36 */
- "STAR", /* 0x37 */
- "PLUS", /* 0x38 */
- "CURLY", /* 0x39 */
- "CURLYN", /* 0x3a */
- "CURLYM", /* 0x3b */
- "CURLYX", /* 0x3c */
- "WHILEM", /* 0x3d */
- "OPEN", /* 0x3e */
- "CLOSE", /* 0x3f */
- "REF", /* 0x40 */
- "REFF", /* 0x41 */
- "REFFL", /* 0x42 */
- "REFFU", /* 0x43 */
- "REFFA", /* 0x44 */
- "NREF", /* 0x45 */
- "NREFF", /* 0x46 */
- "NREFFL", /* 0x47 */
- "NREFFU", /* 0x48 */
- "NREFFA", /* 0x49 */
- "IFMATCH", /* 0x4a */
- "UNLESSM", /* 0x4b */
- "SUSPEND", /* 0x4c */
- "IFTHEN", /* 0x4d */
- "GROUPP", /* 0x4e */
- "LONGJMP", /* 0x4f */
- "BRANCHJ", /* 0x50 */
- "EVAL", /* 0x51 */
- "MINMOD", /* 0x52 */
- "LOGICAL", /* 0x53 */
- "RENUM", /* 0x54 */
- "TRIE", /* 0x55 */
- "TRIEC", /* 0x56 */
- "AHOCORASICK", /* 0x57 */
- "AHOCORASICKC", /* 0x58 */
- "GOSUB", /* 0x59 */
- "GOSTART", /* 0x5a */
- "NGROUPP", /* 0x5b */
- "INSUBP", /* 0x5c */
- "DEFINEP", /* 0x5d */
- "ENDLIKE", /* 0x5e */
- "OPFAIL", /* 0x5f */
- "ACCEPT", /* 0x60 */
- "VERB", /* 0x61 */
- "PRUNE", /* 0x62 */
- "MARKPOINT", /* 0x63 */
- "SKIP", /* 0x64 */
- "COMMIT", /* 0x65 */
- "CUTGROUP", /* 0x66 */
- "KEEPS", /* 0x67 */
- "LNBREAK", /* 0x68 */
- "VERTWS", /* 0x69 */
- "NVERTWS", /* 0x6a */
- "HORIZWS", /* 0x6b */
- "NHORIZWS", /* 0x6c */
- "FOLDCHAR", /* 0x6d */
- "OPTIMIZED", /* 0x6e */
- "PSEUDO", /* 0x6f */
+ "EXACTFU_SS", /* 0x34 */
+ "EXACTFU_TRICKYFOLD", /* 0x35 */
+ "EXACTFA", /* 0x36 */
+ "NOTHING", /* 0x37 */
+ "TAIL", /* 0x38 */
+ "STAR", /* 0x39 */
+ "PLUS", /* 0x3a */
+ "CURLY", /* 0x3b */
+ "CURLYN", /* 0x3c */
+ "CURLYM", /* 0x3d */
+ "CURLYX", /* 0x3e */
+ "WHILEM", /* 0x3f */
+ "OPEN", /* 0x40 */
+ "CLOSE", /* 0x41 */
+ "REF", /* 0x42 */
+ "REFF", /* 0x43 */
+ "REFFL", /* 0x44 */
+ "REFFU", /* 0x45 */
+ "REFFA", /* 0x46 */
+ "NREF", /* 0x47 */
+ "NREFF", /* 0x48 */
+ "NREFFL", /* 0x49 */
+ "NREFFU", /* 0x4a */
+ "NREFFA", /* 0x4b */
+ "IFMATCH", /* 0x4c */
+ "UNLESSM", /* 0x4d */
+ "SUSPEND", /* 0x4e */
+ "IFTHEN", /* 0x4f */
+ "GROUPP", /* 0x50 */
+ "LONGJMP", /* 0x51 */
+ "BRANCHJ", /* 0x52 */
+ "EVAL", /* 0x53 */
+ "MINMOD", /* 0x54 */
+ "LOGICAL", /* 0x55 */
+ "RENUM", /* 0x56 */
+ "TRIE", /* 0x57 */
+ "TRIEC", /* 0x58 */
+ "AHOCORASICK", /* 0x59 */
+ "AHOCORASICKC", /* 0x5a */
+ "GOSUB", /* 0x5b */
+ "GOSTART", /* 0x5c */
+ "NGROUPP", /* 0x5d */
+ "INSUBP", /* 0x5e */
+ "DEFINEP", /* 0x5f */
+ "ENDLIKE", /* 0x60 */
+ "OPFAIL", /* 0x61 */
+ "ACCEPT", /* 0x62 */
+ "VERB", /* 0x63 */
+ "PRUNE", /* 0x64 */
+ "MARKPOINT", /* 0x65 */
+ "SKIP", /* 0x66 */
+ "COMMIT", /* 0x67 */
+ "CUTGROUP", /* 0x68 */
+ "KEEPS", /* 0x69 */
+ "LNBREAK", /* 0x6a */
+ "VERTWS", /* 0x6b */
+ "NVERTWS", /* 0x6c */
+ "HORIZWS", /* 0x6d */
+ "NHORIZWS", /* 0x6e */
+ "OPTIMIZED", /* 0x6f */
+ "PSEUDO", /* 0x70 */
/* ------------ States ------------- */
"TRIE_next", /* REGNODE_MAX +0x01 */
"TRIE_next_fail", /* REGNODE_MAX +0x02 */
@@ -784,7 +789,7 @@ EXTCONST U8 PL_varies[] __attribute__deprecated__ = {
EXTCONST U8 PL_varies_bitmask[];
#else
EXTCONST U8 PL_varies_bitmask[] = {
- 0x00, 0x00, 0x40, 0x00, 0x00, 0xE0, 0x80, 0x3F, 0xFF, 0x33, 0x01, 0x00, 0x00, 0x00
+ 0x00, 0x00, 0x40, 0x00, 0x00, 0xE0, 0x00, 0xFE, 0xFC, 0xCF, 0x04, 0x00, 0x00, 0x00, 0x00
};
#endif /* DOINIT */
@@ -808,7 +813,7 @@ EXTCONST U8 PL_simple[] __attribute__deprecated__ = {
EXTCONST U8 PL_simple_bitmask[];
#else
EXTCONST U8 PL_simple_bitmask[] = {
- 0x00, 0x00, 0xBC, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E
+ 0x00, 0x00, 0xBC, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00
};
#endif /* DOINIT */
diff --git a/Master/tlpkg/tlperl/lib/CORE/scope.h b/Master/tlpkg/tlperl/lib/CORE/scope.h
index 113f4e8d717..38da244169f 100644
--- a/Master/tlpkg/tlperl/lib/CORE/scope.h
+++ b/Master/tlpkg/tlperl/lib/CORE/scope.h
@@ -49,7 +49,6 @@
#define SAVEt_BOOL 38
#define SAVEt_SET_SVFLAGS 39
#define SAVEt_SAVESWITCHSTACK 40
-#define SAVEt_COP_ARYBASE 41
#define SAVEt_RE_STATE 42
#define SAVEt_COMPILE_WARNINGS 43
#define SAVEt_STACK_CXPOS 44
@@ -218,8 +217,6 @@ scope has the given name. Name must be a literal string.
PL_curstackinfo->si_stack = (t); \
} STMT_END
-#define SAVECOPARYBASE(c) save_pushi32ptr(CopARYBASE_get(c), c, SAVEt_COP_ARYBASE);
-
/* Need to do the cop warnings like this, rather than a "SAVEFREESHAREDPV",
because realloc() means that the value can actually change. Possibly
could have done savefreesharedpvREF, but this way actually seems cleaner,
@@ -238,8 +235,10 @@ scope has the given name. Name must be a literal string.
#define SAVEPARSER(p) save_pushptr((p), SAVEt_PARSER)
#ifdef USE_ITHREADS
-# define SAVECOPSTASH(c) SAVEPPTR(CopSTASHPV(c))
-# define SAVECOPSTASH_FREE(c) SAVESHAREDPV(CopSTASHPV(c))
+# define SAVECOPSTASH(c) (SAVEPPTR(CopSTASHPV(c)), \
+ SAVEI32(CopSTASH_len(c)))
+# define SAVECOPSTASH_FREE(c) (SAVESHAREDPV(CopSTASHPV(c)), \
+ SAVEI32(CopSTASH_len(c)))
# define SAVECOPFILE(c) SAVEPPTR(CopFILE(c))
# define SAVECOPFILE_FREE(c) SAVESHAREDPV(CopFILE(c))
#else
diff --git a/Master/tlpkg/tlperl/lib/CORE/sv.h b/Master/tlpkg/tlperl/lib/CORE/sv.h
index 7f466754142..7f79c016479 100644
--- a/Master/tlpkg/tlperl/lib/CORE/sv.h
+++ b/Master/tlpkg/tlperl/lib/CORE/sv.h
@@ -65,6 +65,11 @@ typedef enum {
SVt_LAST /* keep last in enum. used to size arrays */
} svtype;
+/* *** any alterations to the SV types above need to be reflected in
+ * SVt_MASK and the various PL_valid_types_* tables */
+
+#define SVt_MASK 0xf /* smallest bitmask that covers all types */
+
#ifndef PERL_CORE
/* Although Fast Boyer Moore tables are now being stored in PVGVs, for most
purposes eternal code wanting to consider PVBM probably needs to think of
@@ -304,10 +309,10 @@ perform the upgrade if necessary. See C<svtype>.
subroutine in another package. Set the
CvIMPORTED_CV_ON() if it needs to be
expanded to a real GV */
-
-#define SVs_PADSTALE 0x00010000 /* lexical has gone out of scope */
-#define SVpad_STATE 0x00010000 /* pad name is a "state" var */
-#define SVs_PADTMP 0x00020000 /* in use as tmp */
+/* 0x00010000 *** FREE SLOT */
+#define SVs_PADTMP 0x00020000 /* in use as tmp; only if ! SVs_PADMY */
+#define SVs_PADSTALE 0x00020000 /* lexical has gone out of scope;
+ only valid for SVs_PADMY */
#define SVpad_TYPED 0x00020000 /* pad name is a Typed Lexical */
#define SVs_PADMY 0x00040000 /* in use a "my" variable */
#define SVpad_OUR 0x00040000 /* pad name is "our" instead of "my" */
@@ -317,7 +322,7 @@ perform the upgrade if necessary. See C<svtype>.
#define SVs_SMG 0x00400000 /* has magical set method */
#define SVs_RMG 0x00800000 /* has random magical methods */
-#define SVf_FAKE 0x01000000 /* 0: glob or lexical is just a copy
+#define SVf_FAKE 0x01000000 /* 0: glob is just a copy
1: SV head arena wasn't malloc()ed
2: in conjunction with SVf_READONLY
marks a shared hash key scalar
@@ -367,8 +372,21 @@ perform the upgrade if necessary. See C<svtype>.
/* PVHV */
#define SVphv_SHAREKEYS 0x20000000 /* PVHV keys live on shared string table */
-/* PVNV, PVMG, presumably only inside pads */
-#define SVpad_NAME 0x40000000 /* This SV is a name in the PAD, so
+
+/* PVNV, PVMG only, and only used in pads. Should be safe to test on any scalar
+ SV, as the core is careful to avoid setting both.
+
+ SVf_POK, SVp_POK also set:
+ 0x00004400 Normal
+ 0x0000C400 Studied (SvSCREAM)
+ 0x40004400 FBM compiled (SvVALID)
+ 0x4000C400 pad name.
+
+ 0x00008000 GV with GP
+ 0x00008800 RV with PCS imported
+*/
+#define SVpad_NAME (SVp_SCREAM|SVpbm_VALID)
+ /* This SV is a name in the PAD, so
SVpad_TYPED, SVpad_OUR and SVpad_STATE
apply */
/* PVAV */
@@ -378,11 +396,10 @@ perform the upgrade if necessary. See C<svtype>.
/* This is only set true on a PVGV when it's playing "PVBM", but is tested for
on any regular scalar (anything <= PVLV) */
#define SVpbm_VALID 0x40000000
-/* ??? */
+/* Only used in toke.c on an SV stored in PL_lex_repl */
#define SVrepl_EVAL 0x40000000 /* Replacement part of s///e */
/* IV, PVIV, PVNV, PVMG, PVGV and (I assume) PVLV */
-/* Presumably IVs aren't stored in pads */
#define SVf_IVisUV 0x80000000 /* use XPVUV instead of XPVIV */
/* PVAV */
#define SVpav_REIFY 0x80000000 /* can become real */
@@ -392,6 +409,8 @@ perform the upgrade if necessary. See C<svtype>.
#define SVpbm_TAIL 0x80000000
/* RV upwards. However, SVf_ROK and SVp_IOK are exclusive */
#define SVprv_WEAKREF 0x80000000 /* Weak reference */
+/* pad name vars only */
+#define SVpad_STATE 0x80000000 /* pad name is a "state" var */
#define _XPV_HEAD \
HV* xmg_stash; /* class package */ \
@@ -407,8 +426,7 @@ union _xnvu {
U32 xhigh;
} xpad_cop_seq; /* used by pad.c for cop_sequence */
struct {
- U32 xbm_previous; /* how many characters in string before rare? */
- U8 xbm_flags;
+ I32 xbm_useful;
U8 xbm_rare; /* rarest character in string */
} xbm_s; /* fields from PVBM */
};
@@ -416,13 +434,13 @@ union _xnvu {
union _xivu {
IV xivu_iv; /* integer value */
UV xivu_uv;
- I32 xivu_i32; /* BmUSEFUL */
HEK * xivu_namehek; /* xpvlv, xpvgv: GvNAME */
};
union _xmgu {
MAGIC* xmg_magic; /* linked list of magicalness */
HV* xmg_ourstash; /* Stash for our (when SvPAD_OUR is true) */
+ STRLEN xmg_hash_index; /* used while freeing hash entries */
};
struct xpv {
@@ -465,6 +483,7 @@ struct xpvlv {
SV* xlv_targ;
char xlv_type; /* k=keys .=pos x=substr v=vec /=join/re
* y=alem/helem/iter t=tie T=tied HE */
+ char xlv_flags; /* 1 = negative offset 2 = negative len */
};
/* This structure works in 3 ways - regular scalar, GV with GP, or fast
@@ -654,20 +673,23 @@ Dereferences an RV to return the SV.
=for apidoc Am|IV|SvIVX|SV* sv
Returns the raw value in the SV's IV slot, without checks or conversions.
-Only use when you are sure SvIOK is true. See also C<SvIV()>.
+Only use when you are sure SvIOK is true. See also C<SvIV()>.
=for apidoc Am|UV|SvUVX|SV* sv
Returns the raw value in the SV's UV slot, without checks or conversions.
-Only use when you are sure SvIOK is true. See also C<SvUV()>.
+Only use when you are sure SvIOK is true. See also C<SvUV()>.
=for apidoc Am|NV|SvNVX|SV* sv
Returns the raw value in the SV's NV slot, without checks or conversions.
-Only use when you are sure SvNOK is true. See also C<SvNV()>.
+Only use when you are sure SvNOK is true. See also C<SvNV()>.
=for apidoc Am|char*|SvPVX|SV* sv
Returns a pointer to the physical string in the SV. The SV must contain a
string.
+This is also used to store the name of an autoloaded subroutine in an XS
+AUTOLOAD routine. See L<perlguts/Autoloading with XSUBs>.
+
=for apidoc Am|STRLEN|SvCUR|SV* sv
Returns the length of the string which is in the SV. See C<SvLEN>.
@@ -676,9 +698,14 @@ Returns the size of the string buffer in the SV, not including any part
attributable to C<SvOOK>. See C<SvCUR>.
=for apidoc Am|char*|SvEND|SV* sv
-Returns a pointer to the last character in the string which is in the SV.
+Returns a pointer to the spot just after the last character in
+the string which is in the SV, where there is usually a trailing
+null (even though Perl scalars do not strictly require it).
See C<SvCUR>. Access the character as *(SvEND(sv)).
+Warning: If C<SvCUR> is equal to C<SvLEN>, then C<SvEND> points to
+unallocated memory.
+
=for apidoc Am|HV*|SvSTASH|SV* sv
Returns the stash of the SV.
@@ -779,7 +806,8 @@ Set the actual length of the string which is in the SV. See C<SvIV_set>.
/*
=for apidoc Am|U32|SvUTF8|SV* sv
-Returns a U32 value indicating whether the SV contains UTF-8 encoded data.
+Returns a U32 value indicating the UTF-8 status of an SV. If things are set-up
+properly, this indicates whether or not the SV contains UTF-8 encoded data.
Call this after SvPV() in case any call to string overloading updates the
internal flag.
@@ -788,7 +816,8 @@ Turn on the UTF-8 status of an SV (the data is not changed, just the flag).
Do not use frivolously.
=for apidoc Am|void|SvUTF8_off|SV *sv
-Unsets the UTF-8 status of an SV.
+Unsets the UTF-8 status of an SV (the data is not changed, just the flag).
+Do not use frivolously.
=for apidoc Am|void|SvPOK_only_UTF8|SV* sv
Tells an SV that it is a string and disables all other OK bits,
@@ -823,7 +852,7 @@ in gv.h: */
? mg_find(sv,PERL_MAGIC_vstring) : NULL)
#define SvOOK(sv) (SvFLAGS(sv) & SVf_OOK)
-#define SvOOK_on(sv) ((void)SvIOK_off(sv), SvFLAGS(sv) |= SVf_OOK)
+#define SvOOK_on(sv) (SvFLAGS(sv) |= SVf_OOK)
#define SvOOK_off(sv) ((void)(SvOOK(sv) && sv_backoff(sv)))
#define SvFAKE(sv) (SvFLAGS(sv) & SVf_FAKE)
@@ -869,10 +898,12 @@ in gv.h: */
/*
=for apidoc Am|U32|SvGAMAGIC|SV* sv
-Returns true if the SV has get magic or overloading. If either is true then
+Returns true if the SV has get magic or
+overloading. If either is true then
the scalar is active data, and has the potential to return a new value every
-time it is accessed. Hence you must be careful to only read it once per user
-logical operation and work with that returned value. If neither is true then
+time it is accessed. Hence you must be careful to
+only read it once per user logical operation and work
+with that returned value. If neither is true then
the scalar's value cannot change unless written to.
=cut
@@ -894,17 +925,43 @@ the scalar's value cannot change unless written to.
#define SvTHINKFIRST(sv) (SvFLAGS(sv) & SVf_THINKFIRST)
-#define SvPADSTALE(sv) (SvFLAGS(sv) & SVs_PADSTALE)
-#define SvPADSTALE_on(sv) (SvFLAGS(sv) |= SVs_PADSTALE)
-#define SvPADSTALE_off(sv) (SvFLAGS(sv) &= ~SVs_PADSTALE)
-
-#define SvPADTMP(sv) (SvFLAGS(sv) & SVs_PADTMP)
-#define SvPADTMP_on(sv) (SvFLAGS(sv) |= SVs_PADTMP)
-#define SvPADTMP_off(sv) (SvFLAGS(sv) &= ~SVs_PADTMP)
-
#define SvPADMY(sv) (SvFLAGS(sv) & SVs_PADMY)
#define SvPADMY_on(sv) (SvFLAGS(sv) |= SVs_PADMY)
+/* SVs_PADTMP and SVs_PADSTALE share the same bit, mediated by SVs_PADMY */
+
+#define SvPADTMP(sv) ((SvFLAGS(sv) & (SVs_PADMY|SVs_PADTMP)) == SVs_PADTMP)
+#define SvPADSTALE(sv) ((SvFLAGS(sv) & (SVs_PADMY|SVs_PADSTALE)) \
+ == (SVs_PADMY|SVs_PADSTALE))
+
+#if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
+# define SvPADTMP_on(sv) ({ \
+ SV *const _svpad = MUTABLE_SV(sv); \
+ assert(!(SvFLAGS(_svpad) & SVs_PADMY)); \
+ SvFLAGS(_svpad) |= SVs_PADTMP; \
+ })
+# define SvPADTMP_off(sv) ({ \
+ SV *const _svpad = MUTABLE_SV(sv); \
+ assert(!(SvFLAGS(_svpad) & SVs_PADMY)); \
+ SvFLAGS(_svpad) &= ~SVs_PADTMP; \
+ })
+# define SvPADSTALE_on(sv) ({ \
+ SV *const _svpad = MUTABLE_SV(sv); \
+ assert(SvFLAGS(_svpad) & SVs_PADMY); \
+ SvFLAGS(_svpad) |= SVs_PADSTALE; \
+ })
+# define SvPADSTALE_off(sv) ({ \
+ SV *const _svpad = MUTABLE_SV(sv); \
+ assert(SvFLAGS(_svpad) & SVs_PADMY); \
+ SvFLAGS(_svpad) &= ~SVs_PADSTALE; \
+ })
+#else
+# define SvPADTMP_on(sv) (SvFLAGS(sv) |= SVs_PADTMP)
+# define SvPADTMP_off(sv) (SvFLAGS(sv) &= ~SVs_PADTMP)
+# define SvPADSTALE_on(sv) (SvFLAGS(sv) |= SVs_PADSTALE)
+# define SvPADSTALE_off(sv) (SvFLAGS(sv) &= ~SVs_PADSTALE)
+#endif
+
#define SvTEMP(sv) (SvFLAGS(sv) & SVs_TEMP)
#define SvTEMP_on(sv) (SvFLAGS(sv) |= SVs_TEMP)
#define SvTEMP_off(sv) (SvFLAGS(sv) &= ~SVs_TEMP)
@@ -1003,9 +1060,6 @@ the scalar's value cannot change unless written to.
((XPVMG*) SvANY(sv))->xmg_u.xmg_ourstash = st; \
} STMT_END
-#ifdef PERL_DEBUG_COW
-#else
-#endif
#define SvRVx(sv) SvRV(sv)
#ifdef PERL_DEBUG_COW
@@ -1041,9 +1095,7 @@ the scalar's value cannot change unless written to.
/* These get expanded inside other macros that already use a variable _sv */
# define SvPVX(sv) \
(*({ SV *const _svpvx = MUTABLE_SV(sv); \
- assert(SvTYPE(_svpvx) >= SVt_PV); \
- assert(SvTYPE(_svpvx) != SVt_PVAV); \
- assert(SvTYPE(_svpvx) != SVt_PVHV); \
+ assert(PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]); \
assert(!isGV_with_GP(_svpvx)); \
assert(!(SvTYPE(_svpvx) == SVt_PVIO \
&& !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))); \
@@ -1051,9 +1103,7 @@ the scalar's value cannot change unless written to.
}))
# define SvCUR(sv) \
(*({ const SV *const _svcur = (const SV *)(sv); \
- assert(SvTYPE(_svcur) >= SVt_PV); \
- assert(SvTYPE(_svcur) != SVt_PVAV); \
- assert(SvTYPE(_svcur) != SVt_PVHV); \
+ assert(PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]); \
assert(!isGV_with_GP(_svcur)); \
assert(!(SvTYPE(_svcur) == SVt_PVIO \
&& !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))); \
@@ -1061,47 +1111,25 @@ the scalar's value cannot change unless written to.
}))
# define SvIVX(sv) \
(*({ const SV *const _svivx = (const SV *)(sv); \
- assert(SvTYPE(_svivx) == SVt_IV || SvTYPE(_svivx) >= SVt_PVIV); \
- assert(SvTYPE(_svivx) != SVt_PVAV); \
- assert(SvTYPE(_svivx) != SVt_PVHV); \
- assert(SvTYPE(_svivx) != SVt_PVCV); \
- assert(SvTYPE(_svivx) != SVt_PVFM); \
- assert(SvTYPE(_svivx) != SVt_PVIO); \
- assert(SvTYPE(_svivx) != SVt_REGEXP); \
+ assert(PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]); \
assert(!isGV_with_GP(_svivx)); \
&(((XPVIV*) MUTABLE_PTR(SvANY(_svivx)))->xiv_iv); \
}))
# define SvUVX(sv) \
(*({ const SV *const _svuvx = (const SV *)(sv); \
- assert(SvTYPE(_svuvx) == SVt_IV || SvTYPE(_svuvx) >= SVt_PVIV); \
- assert(SvTYPE(_svuvx) != SVt_PVAV); \
- assert(SvTYPE(_svuvx) != SVt_PVHV); \
- assert(SvTYPE(_svuvx) != SVt_PVCV); \
- assert(SvTYPE(_svuvx) != SVt_PVFM); \
- assert(SvTYPE(_svuvx) != SVt_PVIO); \
- assert(SvTYPE(_svuvx) != SVt_REGEXP); \
+ assert(PL_valid_types_IVX[SvTYPE(_svuvx) & SVt_MASK]); \
assert(!isGV_with_GP(_svuvx)); \
&(((XPVUV*) MUTABLE_PTR(SvANY(_svuvx)))->xuv_uv); \
}))
# define SvNVX(sv) \
(*({ const SV *const _svnvx = (const SV *)(sv); \
- assert(SvTYPE(_svnvx) == SVt_NV || SvTYPE(_svnvx) >= SVt_PVNV); \
- assert(SvTYPE(_svnvx) != SVt_PVAV); \
- assert(SvTYPE(_svnvx) != SVt_PVHV); \
- assert(SvTYPE(_svnvx) != SVt_PVCV); \
- assert(SvTYPE(_svnvx) != SVt_PVFM); \
- assert(SvTYPE(_svnvx) != SVt_PVIO); \
- assert(SvTYPE(_svnvx) != SVt_REGEXP); \
+ assert(PL_valid_types_NVX[SvTYPE(_svnvx) & SVt_MASK]); \
assert(!isGV_with_GP(_svnvx)); \
&(((XPVNV*) MUTABLE_PTR(SvANY(_svnvx)))->xnv_u.xnv_nv); \
}))
# define SvRV(sv) \
(*({ SV *const _svrv = MUTABLE_SV(sv); \
- assert(SvTYPE(_svrv) >= SVt_PV || SvTYPE(_svrv) == SVt_IV); \
- assert(SvTYPE(_svrv) != SVt_PVAV); \
- assert(SvTYPE(_svrv) != SVt_PVHV); \
- assert(SvTYPE(_svrv) != SVt_PVCV); \
- assert(SvTYPE(_svrv) != SVt_PVFM); \
+ assert(PL_valid_types_RV[SvTYPE(_svrv) & SVt_MASK]); \
assert(!isGV_with_GP(_svrv)); \
assert(!(SvTYPE(_svrv) == SVt_PVIO \
&& !(IoFLAGS(_svrv) & IOf_FAKE_DIRP))); \
@@ -1109,11 +1137,7 @@ the scalar's value cannot change unless written to.
}))
# define SvRV_const(sv) \
({ const SV *const _svrv = (const SV *)(sv); \
- assert(SvTYPE(_svrv) >= SVt_PV || SvTYPE(_svrv) == SVt_IV); \
- assert(SvTYPE(_svrv) != SVt_PVAV); \
- assert(SvTYPE(_svrv) != SVt_PVHV); \
- assert(SvTYPE(_svrv) != SVt_PVCV); \
- assert(SvTYPE(_svrv) != SVt_PVFM); \
+ assert(PL_valid_types_RV[SvTYPE(_svrv) & SVt_MASK]); \
assert(!isGV_with_GP(_svrv)); \
assert(!(SvTYPE(_svrv) == SVt_PVIO \
&& !(IoFLAGS(_svrv) & IOf_FAKE_DIRP))); \
@@ -1174,40 +1198,30 @@ the scalar's value cannot change unless written to.
STMT_START {if (!SvIOKp(sv) && (SvNOK(sv) || SvPOK(sv))) \
(void) SvIV_nomg(sv); } STMT_END
#define SvIV_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \
- assert(SvTYPE(sv) != SVt_PVAV); \
- assert(SvTYPE(sv) != SVt_PVHV); \
- assert(SvTYPE(sv) != SVt_PVCV); \
+ STMT_START { \
+ assert(PL_valid_types_IV_set[SvTYPE(sv) & SVt_MASK]); \
assert(!isGV_with_GP(sv)); \
(((XPVIV*) SvANY(sv))->xiv_iv = (val)); } STMT_END
#define SvNV_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) == SVt_NV || SvTYPE(sv) >= SVt_PVNV); \
- assert(SvTYPE(sv) != SVt_PVAV); assert(SvTYPE(sv) != SVt_PVHV); \
- assert(SvTYPE(sv) != SVt_PVCV); assert(SvTYPE(sv) != SVt_PVFM); \
- assert(SvTYPE(sv) != SVt_PVIO); \
+ STMT_START { \
+ assert(PL_valid_types_NV_set[SvTYPE(sv) & SVt_MASK]); \
assert(!isGV_with_GP(sv)); \
(((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
#define SvPV_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
- assert(SvTYPE(sv) != SVt_PVAV); \
- assert(SvTYPE(sv) != SVt_PVHV); \
+ STMT_START { \
+ assert(PL_valid_types_PVX[SvTYPE(sv) & SVt_MASK]); \
assert(!isGV_with_GP(sv)); \
assert(!(SvTYPE(sv) == SVt_PVIO \
&& !(IoFLAGS(sv) & IOf_FAKE_DIRP))); \
((sv)->sv_u.svu_pv = (val)); } STMT_END
#define SvUV_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \
- assert(SvTYPE(sv) != SVt_PVAV); \
- assert(SvTYPE(sv) != SVt_PVHV); \
- assert(SvTYPE(sv) != SVt_PVCV); \
+ STMT_START { \
+ assert(PL_valid_types_IV_set[SvTYPE(sv) & SVt_MASK]); \
assert(!isGV_with_GP(sv)); \
(((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
#define SvRV_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) >= SVt_PV || SvTYPE(sv) == SVt_IV); \
- assert(SvTYPE(sv) != SVt_PVAV); \
- assert(SvTYPE(sv) != SVt_PVHV); \
- assert(SvTYPE(sv) != SVt_PVCV); \
- assert(SvTYPE(sv) != SVt_PVFM); \
+ STMT_START { \
+ assert(PL_valid_types_RV[SvTYPE(sv) & SVt_MASK]); \
assert(!isGV_with_GP(sv)); \
assert(!(SvTYPE(sv) == SVt_PVIO \
&& !(IoFLAGS(sv) & IOf_FAKE_DIRP))); \
@@ -1219,17 +1233,15 @@ the scalar's value cannot change unless written to.
STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
(((XPVMG*) SvANY(sv))->xmg_stash = (val)); } STMT_END
#define SvCUR_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
- assert(SvTYPE(sv) != SVt_PVAV); \
- assert(SvTYPE(sv) != SVt_PVHV); \
+ STMT_START { \
+ assert(PL_valid_types_PVX[SvTYPE(sv) & SVt_MASK]); \
assert(!isGV_with_GP(sv)); \
assert(!(SvTYPE(sv) == SVt_PVIO \
&& !(IoFLAGS(sv) & IOf_FAKE_DIRP))); \
(((XPV*) SvANY(sv))->xpv_cur = (val)); } STMT_END
#define SvLEN_set(sv, val) \
- STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
- assert(SvTYPE(sv) != SVt_PVAV); \
- assert(SvTYPE(sv) != SVt_PVHV); \
+ STMT_START { \
+ assert(PL_valid_types_PVX[SvTYPE(sv) & SVt_MASK]); \
assert(!isGV_with_GP(sv)); \
assert(!(SvTYPE(sv) == SVt_PVIO \
&& !(IoFLAGS(sv) & IOf_FAKE_DIRP))); \
@@ -1280,42 +1292,34 @@ the scalar's value cannot change unless written to.
} STMT_END
#endif
-#define PERL_FBM_TABLE_OFFSET 1 /* Number of bytes between EOS and table */
+#ifndef PERL_CORE
+# define BmFLAGS(sv) (SvTAIL(sv) ? FBMcf_TAIL : 0)
+#endif
-/* SvPOKp not SvPOK in the assertion because the string can be tainted! eg
- perl -T -e '/$^X/'
-*/
#if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-# define BmFLAGS(sv) \
- (*({ SV *const _bmflags = MUTABLE_SV(sv); \
- assert(SvTYPE(_bmflags) == SVt_PVGV); \
- assert(SvVALID(_bmflags)); \
- &(((XPVGV*) SvANY(_bmflags))->xnv_u.xbm_s.xbm_flags); \
- }))
# define BmRARE(sv) \
(*({ SV *const _bmrare = MUTABLE_SV(sv); \
- assert(SvTYPE(_bmrare) == SVt_PVGV); \
+ assert(SvTYPE(_bmrare) == SVt_PVMG); \
assert(SvVALID(_bmrare)); \
- &(((XPVGV*) SvANY(_bmrare))->xnv_u.xbm_s.xbm_rare); \
+ &(((XPVMG*) SvANY(_bmrare))->xnv_u.xbm_s.xbm_rare); \
}))
# define BmUSEFUL(sv) \
(*({ SV *const _bmuseful = MUTABLE_SV(sv); \
- assert(SvTYPE(_bmuseful) == SVt_PVGV); \
+ assert(SvTYPE(_bmuseful) == SVt_PVMG); \
assert(SvVALID(_bmuseful)); \
assert(!SvIOK(_bmuseful)); \
- &(((XPVGV*) SvANY(_bmuseful))->xiv_u.xivu_i32); \
+ &(((XPVMG*) SvANY(_bmuseful))->xnv_u.xbm_s.xbm_useful); \
}))
# define BmPREVIOUS(sv) \
(*({ SV *const _bmprevious = MUTABLE_SV(sv); \
- assert(SvTYPE(_bmprevious) == SVt_PVGV); \
+ assert(SvTYPE(_bmprevious) == SVt_PVMG); \
assert(SvVALID(_bmprevious)); \
- &(((XPVGV*) SvANY(_bmprevious))->xnv_u.xbm_s.xbm_previous); \
+ &(((XPVMG*) SvANY(_bmprevious))->xiv_u.xivu_uv); \
}))
#else
-# define BmFLAGS(sv) ((XPVGV*) SvANY(sv))->xnv_u.xbm_s.xbm_flags
-# define BmRARE(sv) ((XPVGV*) SvANY(sv))->xnv_u.xbm_s.xbm_rare
-# define BmUSEFUL(sv) ((XPVGV*) SvANY(sv))->xiv_u.xivu_i32
-# define BmPREVIOUS(sv) ((XPVGV*) SvANY(sv))->xnv_u.xbm_s.xbm_previous
+# define BmRARE(sv) ((XPVMG*) SvANY(sv))->xnv_u.xbm_s.xbm_rare
+# define BmUSEFUL(sv) ((XPVMG*) SvANY(sv))->xnv_u.xbm_s.xbm_useful
+# define BmPREVIOUS(sv) ((XPVMG*) SvANY(sv))->xiv_u.xivu_uv
#endif
@@ -1325,6 +1329,7 @@ the scalar's value cannot change unless written to.
#define LvTARG(sv) ((XPVLV*) SvANY(sv))->xlv_targ
#define LvTARGOFF(sv) ((XPVLV*) SvANY(sv))->xlv_targoff
#define LvTARGLEN(sv) ((XPVLV*) SvANY(sv))->xlv_targlen
+#define LvFLAGS(sv) ((XPVLV*) SvANY(sv))->xlv_flags
#define IoIFP(sv) (sv)->sv_u.svu_fp
#define IoOFP(sv) ((XPVIO*) SvANY(sv))->xio_ofp
@@ -1357,22 +1362,26 @@ the scalar's value cannot change unless written to.
/*
=for apidoc Am|bool|SvTAINTED|SV* sv
-Checks to see if an SV is tainted. Returns TRUE if it is, FALSE if
+Checks to see if an SV is tainted. Returns TRUE if it is, FALSE if
not.
=for apidoc Am|void|SvTAINTED_on|SV* sv
Marks an SV as tainted if tainting is enabled.
=for apidoc Am|void|SvTAINTED_off|SV* sv
-Untaints an SV. Be I<very> careful with this routine, as it short-circuits
-some of Perl's fundamental security features. XS module authors should not
+Untaints an SV. Be I<very> careful with this routine, as it short-circuits
+some of Perl's fundamental security features. XS module authors should not
use this function unless they fully understand all the implications of
unconditionally untainting the value. Untainting should be done in the
standard perl fashion, via a carefully crafted regexp, rather than directly
untainting variables.
=for apidoc Am|void|SvTAINT|SV* sv
-Taints an SV if tainting is enabled.
+Taints an SV if tainting is enabled, and if some input to the current
+expression is tainted--usually a variable, but possibly also implicit
+inputs such as locale settings. C<SvTAINT> propagates that taintedness to
+the outputs of an expression in a pessimistic fashion; i.e., without paying
+attention to precisely which outputs are influenced by which inputs.
=cut
*/
@@ -1400,18 +1409,18 @@ directly.
=for apidoc Am|char*|SvPV_force_nomg|SV* sv|STRLEN len
Like C<SvPV> but will force the SV into containing just a string
(C<SvPOK_only>). You want force if you are going to update the C<SvPVX>
-directly. Doesn't process magic.
+directly. Doesn't process magic.
=for apidoc Am|char*|SvPV|SV* sv|STRLEN len
Returns a pointer to the string in the SV, or a stringified form of
the SV if the SV does not contain a string. The SV may cache the
-stringified version becoming C<SvPOK>. Handles 'get' magic. See also
+stringified version becoming C<SvPOK>. Handles 'get' magic. See also
C<SvPVx> for a version which guarantees to evaluate sv only once.
=for apidoc Am|char*|SvPVx|SV* sv|STRLEN len
A version of C<SvPV> which guarantees to evaluate C<sv> only once.
Only use this if C<sv> is an expression with side effects, otherwise use the
-more efficient C<SvPVX>.
+more efficient C<SvPV>.
=for apidoc Am|char*|SvPV_nomg|SV* sv|STRLEN len
Like C<SvPV> but doesn't process magic.
@@ -1425,27 +1434,29 @@ stringified form becoming C<SvPOK>. Handles 'get' magic.
Like C<SvPV_nolen> but doesn't process magic.
=for apidoc Am|IV|SvIV|SV* sv
-Coerces the given SV to an integer and returns it. See C<SvIVx> for a
+Coerces the given SV to an integer and returns it. See C<SvIVx> for a
version which guarantees to evaluate sv only once.
=for apidoc Am|IV|SvIV_nomg|SV* sv
Like C<SvIV> but doesn't process magic.
=for apidoc Am|IV|SvIVx|SV* sv
-Coerces the given SV to an integer and returns it. Guarantees to evaluate
-C<sv> only once. Only use this if C<sv> is an expression with side effects,
+Coerces the given SV to an integer and returns it.
+Guarantees to evaluate C<sv> only once. Only use
+this if C<sv> is an expression with side effects,
otherwise use the more efficient C<SvIV>.
=for apidoc Am|NV|SvNV|SV* sv
-Coerce the given SV to a double and return it. See C<SvNVx> for a version
+Coerce the given SV to a double and return it. See C<SvNVx> for a version
which guarantees to evaluate sv only once.
=for apidoc Am|NV|SvNV_nomg|SV* sv
Like C<SvNV> but doesn't process magic.
=for apidoc Am|NV|SvNVx|SV* sv
-Coerces the given SV to a double and returns it. Guarantees to evaluate
-C<sv> only once. Only use this if C<sv> is an expression with side effects,
+Coerces the given SV to a double and returns it.
+Guarantees to evaluate C<sv> only once. Only use
+this if C<sv> is an expression with side effects,
otherwise use the more efficient C<SvNV>.
=for apidoc Am|UV|SvUV|SV* sv
@@ -1456,8 +1467,9 @@ for a version which guarantees to evaluate sv only once.
Like C<SvUV> but doesn't process magic.
=for apidoc Am|UV|SvUVx|SV* sv
-Coerces the given SV to an unsigned integer and returns it. Guarantees to
-C<sv> only once. Only use this if C<sv> is an expression with side effects,
+Coerces the given SV to an unsigned integer and
+returns it. Guarantees to C<sv> only once. Only
+use this if C<sv> is an expression with side effects,
otherwise use the more efficient C<SvUV>.
=for apidoc Am|bool|SvTRUE|SV* sv
@@ -1509,9 +1521,9 @@ Guarantees to evaluate sv only once; use the more efficient C<SvPVbyte>
otherwise.
=for apidoc Am|bool|SvIsCOW|SV* sv
-Returns a boolean indicating whether the SV is Copy-On-Write. (either shared
+Returns a boolean indicating whether the SV is Copy-On-Write (either shared
hash key scalars, or full Copy On Write scalars if 5.9.0 is configured for
-COW)
+COW).
=for apidoc Am|bool|SvIsCOW_shared_hash|SV* sv
Returns a boolean indicating whether the SV is Copy-On-Write shared hash key
@@ -1531,7 +1543,7 @@ Like C<sv_catsv> but doesn't process magic.
=for apidoc Amdb|STRLEN|sv_utf8_upgrade_nomg|NN SV *sv
-Like sv_utf8_upgrade, but doesn't do magic on C<sv>
+Like sv_utf8_upgrade, but doesn't do magic on C<sv>.
=cut
*/
@@ -1735,8 +1747,9 @@ Like sv_utf8_upgrade, but doesn't do magic on C<sv>
# define SvTRUEx(sv) ((PL_Sv = (sv)), SvTRUE(PL_Sv))
#endif /* __GNU__ */
-#define SvIsCOW(sv) ((SvFLAGS(sv) & (SVf_FAKE | SVf_READONLY)) == \
- (SVf_FAKE | SVf_READONLY))
+#define SvIsCOW(sv) ((SvFLAGS(sv) & (SVf_FAKE | SVf_READONLY)) == \
+ (SVf_FAKE | SVf_READONLY) && !isGV_with_GP(sv) \
+ && SvTYPE(sv) != SVt_REGEXP)
#define SvIsCOW_shared_hash(sv) (SvIsCOW(sv) && SvLEN(sv) == 0)
#define SvSHARED_HEK_FROM_PV(pvx) \
@@ -1765,6 +1778,12 @@ Like sv_utf8_upgrade, but doesn't do magic on C<sv>
/* if (after resolving magic etc), the SV is found to be overloaded,
* don't call the overload magic, just return as-is */
#define SV_SKIP_OVERLOAD 8192
+/* It is not yet clear whether we want this as an API, or what the
+ * constants should be named. */
+#ifdef PERL_CORE
+# define SV_CATBYTES 16384
+# define SV_CATUTF8 32768
+#endif
/* The core is safe for this COW optimisation. XS code on CPAN may not be.
So only default to doing the COW setup if we're in the core.
@@ -1802,7 +1821,7 @@ Like sv_utf8_upgrade, but doesn't do magic on C<sv>
#else
# define SvRELEASE_IVX(sv) 0
/* This little game brought to you by the need to shut this warning up:
-mg.c: In function `Perl_magic_get':
+mg.c: In function 'Perl_magic_get':
mg.c:1024: warning: left-hand operand of comma expression has no effect
*/
# define SvRELEASE_IVX_(sv) /**/
@@ -1898,7 +1917,7 @@ more than once.
=for apidoc Am|void|SvSetSV_nosteal|SV* dsv|SV* ssv
Calls a non-destructive version of C<sv_setsv> if dsv is not the same as
-ssv. May evaluate arguments more than once.
+ssv. May evaluate arguments more than once.
=for apidoc Am|void|SvSetMagicSV|SV* dsb|SV* ssv
Like C<SvSetSV>, but does any set magic required afterwards.
@@ -1934,7 +1953,7 @@ Returns a pointer to the character buffer.
#define SvUNLOCK(sv) PL_unlockhook(aTHX_ sv)
#define SvDESTROYABLE(sv) PL_destroyhook(aTHX_ sv)
-#define SvGETMAGIC(x) STMT_START { if (SvGMAGICAL(x)) mg_get(x); } STMT_END
+#define SvGETMAGIC(x) ((void)(SvGMAGICAL(x) && mg_get(x)))
#define SvSETMAGIC(x) STMT_START { if (SvSMAGICAL(x)) mg_set(x); } STMT_END
#define SvSetSV_and(dst,src,finally) \
@@ -1971,6 +1990,16 @@ Returns a pointer to the character buffer.
#define SvIMMORTAL(sv) ((sv)==&PL_sv_undef || (sv)==&PL_sv_yes || (sv)==&PL_sv_no || (sv)==&PL_sv_placeholder)
+/*
+=for apidoc Am|SV *|boolSV|bool b
+
+Returns a true SV if C<b> is a true value, or a false SV if C<b> is 0.
+
+See also C<PL_sv_yes> and C<PL_sv_no>.
+
+=cut
+*/
+
#define boolSV(b) ((b) ? &PL_sv_yes : &PL_sv_no)
#define isGV(sv) (SvTYPE(sv) == SVt_PVGV)
@@ -2027,9 +2056,9 @@ C<SvUTF8_on> on the new SV. Implemented as a wrapper around C<newSVpvn_flags>.
Reads into I<len> the offset from SvPVX back to the true start of the
allocated buffer, which will be non-zero if C<sv_chop> has been used to
-efficiently remove characters from start of the buffer. Implemented as a
+efficiently remove characters from start of the buffer. Implemented as a
macro, which takes the address of I<len>, which must be of type C<STRLEN>.
-Evaluates I<sv> more than once. Sets I<len> to 0 if C<SvOOK(sv)> is false.
+Evaluates I<sv> more than once. Sets I<len> to 0 if C<SvOOK(sv)> is false.
=cut
*/
diff --git a/Master/tlpkg/tlperl/lib/CORE/sys/socket.h b/Master/tlpkg/tlperl/lib/CORE/sys/socket.h
index 3b92b13d546..26a92c78dd4 100644
--- a/Master/tlpkg/tlperl/lib/CORE/sys/socket.h
+++ b/Master/tlpkg/tlperl/lib/CORE/sys/socket.h
@@ -30,11 +30,17 @@
# include <ws2tcpip.h>
# ifndef SIO_GET_INTERFACE_LIST_EX
+
+# ifndef MSG_WAITALL
+# define MSG_WAITALL 0x8
+# endif
+
/* The ws2tcpip.h header included in VC6 doesn't define the
* sin6_scope_id member of sockaddr_in6. We define our own
* version and redefine sockaddr_in6 to point to this one
* instead for compiling e.g. Socket.xs.
*/
+
struct my_sockaddr_in6 {
short sin6_family; /* AF_INET6 */
u_short sin6_port; /* Transport level port number */
@@ -71,11 +77,106 @@
(x)->sin6_scope_id = 0; \
}
+# ifndef IPV6_HDRINCL
+# define IPV6_HDRINCL 2
+# endif
+# ifndef IPV6_UNICAST_HOPS
+# define IPV6_UNICAST_HOPS 4
+# endif
+# ifndef IPV6_MULTICAST_IF
+# define IPV6_MULTICAST_IF 9
+# endif
+# ifndef IPV6_MULTICAST_HOPS
+# define IPV6_MULTICAST_HOPS 10
+# endif
+# ifndef IPV6_MULTICAST_LOOP
+# define IPV6_MULTICAST_LOOP 11
+# endif
+# ifndef IPV6_ADD_MEMBERSHIP
+# define IPV6_ADD_MEMBERSHIP 12
+# endif
+# ifndef IPV6_DROP_MEMBERSHIP
+# define IPV6_DROP_MEMBERSHIP 13
+# endif
+# ifndef IPV6_JOIN_GROUP
+# define IPV6_JOIN_GROUP IPV6_ADD_MEMBERSHIP
+# endif
+# ifndef IPV6_LEAVE_GROUP
+# define IPV6_LEAVE_GROUP IPV6_DROP_MEMBERSHIP
+# endif
+# ifndef IPV6_PKTINFO
+# define IPV6_PKTINFO 19
+# endif
+# ifndef IPV6_HOPLIMIT
+# define IPV6_HOPLIMIT 21
+# endif
+# ifndef IPV6_PROTECTION_LEVEL
+# define IPV6_PROTECTION_LEVEL 23
+# endif
+
+ /* The ws2tcpip.h header included in MinGW includes ipv6_mreq already */
+# ifndef __GNUC__
+ typedef struct ipv6_mreq {
+ struct in_addr6 ipv6mr_multiaddr;
+ unsigned int ipv6mr_interface;
+ } IPV6_MREQ;
+# endif
+
+# ifndef EAI_AGAIN
+# define EAI_AGAIN WSATRY_AGAIN
+# endif
+# ifndef EAI_BADFLAGS
+# define EAI_BADFLAGS WSAEINVAL
+# endif
+# ifndef EAI_FAIL
+# define EAI_FAIL WSANO_RECOVERY
+# endif
+# ifndef EAI_FAMILY
+# define EAI_FAMILY WSAEAFNOSUPPORT
+# endif
+# ifndef EAI_MEMORY
+# define EAI_MEMORY WSA_NOT_ENOUGH_MEMORY
+# endif
+# ifndef EAI_NODATA
+# define EAI_NODATA WSANO_DATA
+# endif
+# ifndef EAI_NONAME
+# define EAI_NONAME WSAHOST_NOT_FOUND
+# endif
+# ifndef EAI_SERVICE
+# define EAI_SERVICE WSATYPE_NOT_FOUND
+# endif
+# ifndef EAI_SOCKTYPE
+# define EAI_SOCKTYPE WSAESOCKTNOSUPPORT
+# endif
+
+# ifndef NI_NOFQDN
+# define NI_NOFQDN 0x01
+# endif
+# ifndef NI_NUMERICHOST
+# define NI_NUMERICHOST 0x02
+# endif
+# ifndef NI_NAMEREQD
+# define NI_NAMEREQD 0x04
+# endif
+# ifndef NI_NUMERICSERV
+# define NI_NUMERICSERV 0x08
+# endif
+# ifndef NI_DGRAM
+# define NI_DGRAM 0x10
+# endif
+
# endif
# endif
#endif
+/* Early Platform SDKs have an incorrect definition of EAI_NODATA */
+#if (EAI_NODATA == EAI_NONAME)
+# undef EAI_NODATA
+# define EAI_NODATA WSANO_DATA
+#endif
+
#include "win32.h"
#ifdef __cplusplus
diff --git a/Master/tlpkg/tlperl/lib/CORE/uconfig.h b/Master/tlpkg/tlperl/lib/CORE/uconfig.h
index 506cebea816..20b1f23f022 100644
--- a/Master/tlpkg/tlperl/lib/CORE/uconfig.h
+++ b/Master/tlpkg/tlperl/lib/CORE/uconfig.h
@@ -88,7 +88,7 @@
* of significant digits in a double precision number. If this
* symbol is not defined, a guess of 15 is usually pretty good.
*/
-/*#define HAS_DBL_DIG / * */
+/*#define HAS_DBL_DIG / **/
/* HAS_DIFFTIME:
* This symbol, if defined, indicates that the difftime routine is
@@ -879,46 +879,18 @@
#define _V(args) ()
#endif
-/* INTSIZE:
- * This symbol contains the value of sizeof(int) so that the C
- * preprocessor can make decisions based on it.
- */
-/* LONGSIZE:
- * This symbol contains the value of sizeof(long) so that the C
- * preprocessor can make decisions based on it.
- */
-/* SHORTSIZE:
- * This symbol contains the value of sizeof(short) so that the C
- * preprocessor can make decisions based on it.
- */
-#define INTSIZE 4 /**/
-#define LONGSIZE 4 /**/
-#define SHORTSIZE 2 /**/
-
-/* MULTIARCH:
- * This symbol, if defined, signifies that the build
- * process will produce some binary files that are going to be
- * used in a cross-platform environment. This is the case for
- * example with the NeXT "fat" binaries that contain executables
- * for several CPUs.
+/* OSNAME:
+ * This symbol contains the name of the operating system, as determined
+ * by Configure. You shouldn't rely on it too much; the specific
+ * feature tests from Configure are generally more reliable.
*/
-/*#define MULTIARCH / **/
-
-/* HAS_QUAD:
- * This symbol, if defined, tells that there's a 64-bit integer type,
- * Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one
- * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T.
+/* OSVERS:
+ * This symbol contains the version of the operating system, as determined
+ * by Configure. You shouldn't rely on it too much; the specific
+ * feature tests from Configure are generally more reliable.
*/
-/*#define HAS_QUAD / **/
-#ifdef HAS_QUAD
-# define Quad_t int64_t /**/
-# define Uquad_t uint64_t /**/
-# define QUADKIND 4 /**/
-# define QUAD_IS_INT 1
-# define QUAD_IS_LONG 2
-# define QUAD_IS_LONG_LONG 3
-# define QUAD_IS_INT64_T 4
-#endif
+#define OSNAME "unknown" /**/
+#define OSVERS "unknown" /**/
/* USE_CROSS_COMPILE:
* This symbol, if defined, indicates that Perl is being cross-compiled.
@@ -932,6 +904,15 @@
#define PERL_TARGETARCH "" /**/
#endif
+/* MULTIARCH:
+ * This symbol, if defined, signifies that the build
+ * process will produce some binary files that are going to be
+ * used in a cross-platform environment. This is the case for
+ * example with the NeXT "fat" binaries that contain executables
+ * for several CPUs.
+ */
+/*#define MULTIARCH / **/
+
/* MEM_ALIGNBYTES:
* This symbol contains the number of bytes required to align a
* double, or a long double when applicable. Usual values are 2,
@@ -956,8 +937,8 @@
* This symbol contains the ~name expanded version of ARCHLIB, to be used
* in programs that are not prepared to deal with ~ expansion at run-time.
*/
-/*#define ARCHLIB "/usr/local/lib/perl5/5.14/unknown" / **/
-/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.14/unknown" / **/
+/*#define ARCHLIB "/usr/local/lib/perl5/5.16/unknown" / **/
+/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.16/unknown" / **/
/* ARCHNAME:
* This symbol holds a string representing the architecture name.
@@ -981,7 +962,23 @@
*/
#define BIN "/usr/local/bin" /**/
#define BIN_EXP "/usr/local/bin" /**/
-#define PERL_RELOCATABLE_INC "undef" /**/
+/*#define PERL_RELOCATABLE_INC / **/
+
+/* INTSIZE:
+ * This symbol contains the value of sizeof(int) so that the C
+ * preprocessor can make decisions based on it.
+ */
+/* LONGSIZE:
+ * This symbol contains the value of sizeof(long) so that the C
+ * preprocessor can make decisions based on it.
+ */
+/* SHORTSIZE:
+ * This symbol contains the value of sizeof(short) so that the C
+ * preprocessor can make decisions based on it.
+ */
+#define INTSIZE 4 /**/
+#define LONGSIZE 4 /**/
+#define SHORTSIZE 2 /**/
/* BYTEORDER:
* This symbol holds the hexadecimal constant defined in byteorder,
@@ -1032,6 +1029,64 @@
*/
#define CHARBITS 8 /**/
+/* CAT2:
+ * This macro concatenates 2 tokens together.
+ */
+/* STRINGIFY:
+ * This macro surrounds its token with double quotes.
+ */
+#if 42 == 1
+#define CAT2(a,b) a/**/b
+#define STRINGIFY(a) "a"
+#endif
+#if 42 == 42
+#define PeRl_CaTiFy(a, b) a ## b
+#define PeRl_StGiFy(a) #a
+#define CAT2(a,b) PeRl_CaTiFy(a,b)
+#define StGiFy(a) PeRl_StGiFy(a)
+#define STRINGIFY(a) PeRl_StGiFy(a)
+#endif
+#if 42 != 1 && 42 != 42
+#include "Bletch: How does this C preprocessor concatenate tokens?"
+#endif
+
+/* CPPSTDIN:
+ * This symbol contains the first part of the string which will invoke
+ * the C preprocessor on the standard input and produce to standard
+ * output. Typical value of "cc -E" or "/lib/cpp", but it can also
+ * call a wrapper. See CPPRUN.
+ */
+/* CPPMINUS:
+ * This symbol contains the second part of the string which will invoke
+ * the C preprocessor on the standard input and produce to standard
+ * output. This symbol will have the value "-" if CPPSTDIN needs a minus
+ * to specify standard input, otherwise the value is "".
+ */
+/* CPPRUN:
+ * This symbol contains the string which will invoke a C preprocessor on
+ * the standard input and produce to standard output. It needs to end
+ * with CPPLAST, after all other preprocessor flags have been specified.
+ * The main difference with CPPSTDIN is that this program will never be a
+ * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
+ * available directly to the user. Note that it may well be different from
+ * the preprocessor used to compile the C program.
+ */
+/* CPPLAST:
+ * This symbol is intended to be used along with CPPRUN in the same manner
+ * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
+ */
+#define CPPSTDIN "cc -E"
+#define CPPMINUS "-"
+#define CPPRUN "cc -E"
+#define CPPLAST "-"
+
+/* HAS_ACCESS:
+ * This manifest constant lets the C program know that the access()
+ * system call is available to check for accessibility using real UID/GID.
+ * (always present on UNIX.)
+ */
+/*#define HAS_ACCESS / **/
+
/* HAS_ACCESSX:
* This symbol, if defined, indicates that the accessx routine is
* available to do extended access checks.
@@ -1051,6 +1106,43 @@
/*#define HAS_ASCTIME_R / **/
#define ASCTIME_R_PROTO 0 /**/
+/* HASATTRIBUTE_FORMAT:
+ * Can we handle GCC attribute for checking printf-style formats
+ */
+/* PRINTF_FORMAT_NULL_OK:
+ * Allows __printf__ format to be null when checking printf-style
+ */
+/* HASATTRIBUTE_MALLOC:
+ * Can we handle GCC attribute for malloc-style functions.
+ */
+/* HASATTRIBUTE_NONNULL:
+ * Can we handle GCC attribute for nonnull function parms.
+ */
+/* HASATTRIBUTE_NORETURN:
+ * Can we handle GCC attribute for functions that do not return
+ */
+/* HASATTRIBUTE_PURE:
+ * Can we handle GCC attribute for pure functions
+ */
+/* HASATTRIBUTE_UNUSED:
+ * Can we handle GCC attribute for unused variables and arguments
+ */
+/* HASATTRIBUTE_DEPRECATED:
+ * Can we handle GCC attribute for marking deprecated APIs
+ */
+/* HASATTRIBUTE_WARN_UNUSED_RESULT:
+ * Can we handle GCC attribute for warning on unused results
+ */
+/*#define HASATTRIBUTE_DEPRECATED / **/
+/*#define HASATTRIBUTE_FORMAT / **/
+/*#define PRINTF_FORMAT_NULL_OK / **/
+/*#define HASATTRIBUTE_NORETURN / **/
+/*#define HASATTRIBUTE_MALLOC / **/
+/*#define HASATTRIBUTE_NONNULL / **/
+/*#define HASATTRIBUTE_PURE / **/
+/*#define HASATTRIBUTE_UNUSED / **/
+/*#define HASATTRIBUTE_WARN_UNUSED_RESULT / **/
+
/* CASTI32:
* This symbol is defined if the C compiler can cast negative
* or large floating point numbers to 32-bit ints.
@@ -1078,6 +1170,17 @@
*/
/*#define VOID_CLOSEDIR / **/
+/* HASCONST:
+ * This symbol, if defined, indicates that this C compiler knows about
+ * the const type. There is no need to actually test for that symbol
+ * within your programs. The mere use of the "const" keyword will
+ * trigger the necessary tests.
+ */
+/*#define HASCONST / **/
+#ifndef HASCONST
+#define const
+#endif
+
/* HAS_CRYPT_R:
* This symbol, if defined, indicates that the crypt_r routine
* is available to crypt re-entrantly.
@@ -1091,6 +1194,17 @@
/*#define HAS_CRYPT_R / **/
#define CRYPT_R_PROTO 0 /**/
+/* HAS_CSH:
+ * This symbol, if defined, indicates that the C-shell exists.
+ */
+/* CSH:
+ * This symbol, if defined, contains the full pathname of csh.
+ */
+/*#define HAS_CSH / **/
+#ifdef HAS_CSH
+#define CSH "" /**/
+#endif
+
/* HAS_CTERMID_R:
* This symbol, if defined, indicates that the ctermid_r routine
* is available to ctermid re-entrantly.
@@ -1117,6 +1231,26 @@
/*#define HAS_CTIME_R / **/
#define CTIME_R_PROTO 0 /**/
+/* SETUID_SCRIPTS_ARE_SECURE_NOW:
+ * This symbol, if defined, indicates that the bug that prevents
+ * setuid scripts from being secure is not present in this kernel.
+ */
+/* DOSUID:
+ * This symbol, if defined, indicates that the C program should
+ * check the script that it is executing for setuid/setgid bits, and
+ * attempt to emulate setuid/setgid on systems that have disabled
+ * setuid #! scripts because the kernel can't do it securely.
+ * It is up to the package designer to make sure that this emulation
+ * is done securely. Among other things, it should do an fstat on
+ * the script it just opened to make sure it really is a setuid/setgid
+ * script, it should make sure the arguments passed correspond exactly
+ * to the argument on the #! line, and it should not trust any
+ * subprocesses to which it must pass the filename rather than the
+ * file descriptor of the script to be executed.
+ */
+/*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/
+/*#define DOSUID / **/
+
/* HAS_DRAND48_R:
* This symbol, if defined, indicates that the drand48_r routine
* is available to drand48 re-entrantly.
@@ -1130,12 +1264,26 @@
/*#define HAS_DRAND48_R / **/
#define DRAND48_R_PROTO 0 /**/
+/* HAS_DRAND48_PROTO:
+ * This symbol, if defined, indicates that the system provides
+ * a prototype for the drand48() function. Otherwise, it is up
+ * to the program to supply one. A good guess is
+ * extern double drand48(void);
+ */
+/*#define HAS_DRAND48_PROTO / **/
+
/* HAS_EACCESS:
* This symbol, if defined, indicates that the eaccess routine is
* available to do extended access checks.
*/
/*#define HAS_EACCESS / **/
+/* HAS_ENDGRENT:
+ * This symbol, if defined, indicates that the getgrent routine is
+ * available for finalizing sequential access of the group database.
+ */
+/*#define HAS_ENDGRENT / **/
+
/* HAS_ENDGRENT_R:
* This symbol, if defined, indicates that the endgrent_r routine
* is available to endgrent re-entrantly.
@@ -1149,6 +1297,12 @@
/*#define HAS_ENDGRENT_R / **/
#define ENDGRENT_R_PROTO 0 /**/
+/* HAS_ENDHOSTENT:
+ * This symbol, if defined, indicates that the endhostent() routine is
+ * available to close whatever was being used for host queries.
+ */
+/*#define HAS_ENDHOSTENT / **/
+
/* HAS_ENDHOSTENT_R:
* This symbol, if defined, indicates that the endhostent_r routine
* is available to endhostent re-entrantly.
@@ -1162,6 +1316,12 @@
/*#define HAS_ENDHOSTENT_R / **/
#define ENDHOSTENT_R_PROTO 0 /**/
+/* HAS_ENDNETENT:
+ * This symbol, if defined, indicates that the endnetent() routine is
+ * available to close whatever was being used for network queries.
+ */
+/*#define HAS_ENDNETENT / **/
+
/* HAS_ENDNETENT_R:
* This symbol, if defined, indicates that the endnetent_r routine
* is available to endnetent re-entrantly.
@@ -1175,6 +1335,12 @@
/*#define HAS_ENDNETENT_R / **/
#define ENDNETENT_R_PROTO 0 /**/
+/* HAS_ENDPROTOENT:
+ * This symbol, if defined, indicates that the endprotoent() routine is
+ * available to close whatever was being used for protocol queries.
+ */
+/*#define HAS_ENDPROTOENT / **/
+
/* HAS_ENDPROTOENT_R:
* This symbol, if defined, indicates that the endprotoent_r routine
* is available to endprotoent re-entrantly.
@@ -1188,6 +1354,12 @@
/*#define HAS_ENDPROTOENT_R / **/
#define ENDPROTOENT_R_PROTO 0 /**/
+/* HAS_ENDPWENT:
+ * This symbol, if defined, indicates that the getgrent routine is
+ * available for finalizing sequential access of the passwd database.
+ */
+/*#define HAS_ENDPWENT / **/
+
/* HAS_ENDPWENT_R:
* This symbol, if defined, indicates that the endpwent_r routine
* is available to endpwent re-entrantly.
@@ -1201,6 +1373,12 @@
/*#define HAS_ENDPWENT_R / **/
#define ENDPWENT_R_PROTO 0 /**/
+/* HAS_ENDSERVENT:
+ * This symbol, if defined, indicates that the endservent() routine is
+ * available to close whatever was being used for service queries.
+ */
+/*#define HAS_ENDSERVENT / **/
+
/* HAS_ENDSERVENT_R:
* This symbol, if defined, indicates that the endservent_r routine
* is available to endservent re-entrantly.
@@ -1220,6 +1398,12 @@
*/
/*#define HAS_FD_SET / **/
+/* FLEXFILENAMES:
+ * This symbol, if defined, indicates that the system supports filenames
+ * longer than 14 characters.
+ */
+/*#define FLEXFILENAMES / **/
+
/* Gconvert:
* This preprocessor macro is defined to convert a floating point
* number to a string without a trailing decimal point. This
@@ -1237,6 +1421,12 @@
*/
#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
+/* HAS_GETGRENT:
+ * This symbol, if defined, indicates that the getgrent routine is
+ * available for sequential access of the group database.
+ */
+/*#define HAS_GETGRENT / **/
+
/* HAS_GETGRENT_R:
* This symbol, if defined, indicates that the getgrent_r routine
* is available to getgrent re-entrantly.
@@ -1276,6 +1466,53 @@
/*#define HAS_GETGRNAM_R / **/
#define GETGRNAM_R_PROTO 0 /**/
+/* HAS_GETHOSTBYADDR:
+ * This symbol, if defined, indicates that the gethostbyaddr() routine is
+ * available to look up hosts by their IP addresses.
+ */
+/*#define HAS_GETHOSTBYADDR / **/
+
+/* HAS_GETHOSTBYNAME:
+ * This symbol, if defined, indicates that the gethostbyname() routine is
+ * available to look up host names in some data base or other.
+ */
+/*#define HAS_GETHOSTBYNAME / **/
+
+/* HAS_GETHOSTENT:
+ * This symbol, if defined, indicates that the gethostent() routine is
+ * available to look up host names in some data base or another.
+ */
+/*#define HAS_GETHOSTENT / **/
+
+/* HAS_GETHOSTNAME:
+ * This symbol, if defined, indicates that the C program may use the
+ * gethostname() routine to derive the host name. See also HAS_UNAME
+ * and PHOSTNAME.
+ */
+/* HAS_UNAME:
+ * This symbol, if defined, indicates that the C program may use the
+ * uname() routine to derive the host name. See also HAS_GETHOSTNAME
+ * and PHOSTNAME.
+ */
+/* PHOSTNAME:
+ * This symbol, if defined, indicates the command to feed to the
+ * popen() routine to derive the host name. See also HAS_GETHOSTNAME
+ * and HAS_UNAME. Note that the command uses a fully qualified path,
+ * so that it is safe even if used by a process with super-user
+ * privileges.
+ */
+/* HAS_PHOSTNAME:
+ * This symbol, if defined, indicates that the C program may use the
+ * contents of PHOSTNAME as a command to feed to the popen() routine
+ * to derive the host name.
+ */
+/*#define HAS_GETHOSTNAME / **/
+/*#define HAS_UNAME / **/
+/*#define HAS_PHOSTNAME / **/
+#ifdef HAS_PHOSTNAME
+#define PHOSTNAME "/bin/hostname" /* How to get the host name */
+#endif
+
/* HAS_GETHOSTBYADDR_R:
* This symbol, if defined, indicates that the gethostbyaddr_r routine
* is available to gethostbyaddr re-entrantly.
@@ -1315,6 +1552,14 @@
/*#define HAS_GETHOSTENT_R / **/
#define GETHOSTENT_R_PROTO 0 /**/
+/* HAS_GETHOST_PROTOS:
+ * This symbol, if defined, indicates that <netdb.h> includes
+ * prototypes for gethostent(), gethostbyname(), and
+ * gethostbyaddr(). Otherwise, it is up to the program to guess
+ * them. See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+/*#define HAS_GETHOST_PROTOS / **/
+
/* HAS_GETLOGIN_R:
* This symbol, if defined, indicates that the getlogin_r routine
* is available to getlogin re-entrantly.
@@ -1328,6 +1573,24 @@
/*#define HAS_GETLOGIN_R / **/
#define GETLOGIN_R_PROTO 0 /**/
+/* HAS_GETNETBYADDR:
+ * This symbol, if defined, indicates that the getnetbyaddr() routine is
+ * available to look up networks by their IP addresses.
+ */
+/*#define HAS_GETNETBYADDR / **/
+
+/* HAS_GETNETBYNAME:
+ * This symbol, if defined, indicates that the getnetbyname() routine is
+ * available to look up networks by their names.
+ */
+/*#define HAS_GETNETBYNAME / **/
+
+/* HAS_GETNETENT:
+ * This symbol, if defined, indicates that the getnetent() routine is
+ * available to look up network names in some data base or another.
+ */
+/*#define HAS_GETNETENT / **/
+
/* HAS_GETNETBYADDR_R:
* This symbol, if defined, indicates that the getnetbyaddr_r routine
* is available to getnetbyaddr re-entrantly.
@@ -1367,6 +1630,14 @@
/*#define HAS_GETNETENT_R / **/
#define GETNETENT_R_PROTO 0 /**/
+/* HAS_GETNET_PROTOS:
+ * This symbol, if defined, indicates that <netdb.h> includes
+ * prototypes for getnetent(), getnetbyname(), and
+ * getnetbyaddr(). Otherwise, it is up to the program to guess
+ * them. See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+/*#define HAS_GETNET_PROTOS / **/
+
/* HAS_GETPAGESIZE:
* This symbol, if defined, indicates that the getpagesize system call
* is available to get system page size, which is the granularity of
@@ -1374,6 +1645,34 @@
*/
/*#define HAS_GETPAGESIZE / **/
+/* HAS_GETPROTOENT:
+ * This symbol, if defined, indicates that the getprotoent() routine is
+ * available to look up protocols in some data base or another.
+ */
+/*#define HAS_GETPROTOENT / **/
+
+/* HAS_GETPGRP:
+ * This symbol, if defined, indicates that the getpgrp routine is
+ * available to get the current process group.
+ */
+/* USE_BSD_GETPGRP:
+ * This symbol, if defined, indicates that getpgrp needs one
+ * arguments whereas USG one needs none.
+ */
+/*#define HAS_GETPGRP / **/
+/*#define USE_BSD_GETPGRP / **/
+
+/* HAS_GETPROTOBYNAME:
+ * This symbol, if defined, indicates that the getprotobyname()
+ * routine is available to look up protocols by their name.
+ */
+/* HAS_GETPROTOBYNUMBER:
+ * This symbol, if defined, indicates that the getprotobynumber()
+ * routine is available to look up protocols by their number.
+ */
+/*#define HAS_GETPROTOBYNAME / **/
+/*#define HAS_GETPROTOBYNUMBER / **/
+
/* HAS_GETPROTOBYNAME_R:
* This symbol, if defined, indicates that the getprotobyname_r routine
* is available to getprotobyname re-entrantly.
@@ -1413,6 +1712,21 @@
/*#define HAS_GETPROTOENT_R / **/
#define GETPROTOENT_R_PROTO 0 /**/
+/* HAS_GETPROTO_PROTOS:
+ * This symbol, if defined, indicates that <netdb.h> includes
+ * prototypes for getprotoent(), getprotobyname(), and
+ * getprotobyaddr(). Otherwise, it is up to the program to guess
+ * them. See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+/*#define HAS_GETPROTO_PROTOS / **/
+
+/* HAS_GETPWENT:
+ * This symbol, if defined, indicates that the getpwent routine is
+ * available for sequential access of the passwd database.
+ * If this is not available, the older getpw() function may be available.
+ */
+/*#define HAS_GETPWENT / **/
+
/* HAS_GETPWENT_R:
* This symbol, if defined, indicates that the getpwent_r routine
* is available to getpwent re-entrantly.
@@ -1452,6 +1766,12 @@
/*#define HAS_GETPWUID_R / **/
#define GETPWUID_R_PROTO 0 /**/
+/* HAS_GETSERVENT:
+ * This symbol, if defined, indicates that the getservent() routine is
+ * available to look up network services in some data base or another.
+ */
+/*#define HAS_GETSERVENT / **/
+
/* HAS_GETSERVBYNAME_R:
* This symbol, if defined, indicates that the getservbyname_r routine
* is available to getservbyname re-entrantly.
@@ -1491,6 +1811,14 @@
/*#define HAS_GETSERVENT_R / **/
#define GETSERVENT_R_PROTO 0 /**/
+/* HAS_GETSERV_PROTOS:
+ * This symbol, if defined, indicates that <netdb.h> includes
+ * prototypes for getservent(), getservbyname(), and
+ * getservbyaddr(). Otherwise, it is up to the program to guess
+ * them. See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+/*#define HAS_GETSERV_PROTOS / **/
+
/* HAS_GETSPNAM_R:
* This symbol, if defined, indicates that the getspnam_r routine
* is available to getspnam re-entrantly.
@@ -1504,6 +1832,17 @@
/*#define HAS_GETSPNAM_R / **/
#define GETSPNAM_R_PROTO 0 /**/
+/* HAS_GETSERVBYNAME:
+ * This symbol, if defined, indicates that the getservbyname()
+ * routine is available to look up services by their name.
+ */
+/* HAS_GETSERVBYPORT:
+ * This symbol, if defined, indicates that the getservbyport()
+ * routine is available to look up services by their port.
+ */
+/*#define HAS_GETSERVBYNAME / **/
+/*#define HAS_GETSERVBYPORT / **/
+
/* HAS_GMTIME_R:
* This symbol, if defined, indicates that the gmtime_r routine
* is available to gmtime re-entrantly.
@@ -1527,6 +1866,31 @@
# define _GNU_SOURCE
#endif
+/* HAS_HTONL:
+ * This symbol, if defined, indicates that the htonl() routine (and
+ * friends htons() ntohl() ntohs()) are available to do network
+ * order byte swapping.
+ */
+/* HAS_HTONS:
+ * This symbol, if defined, indicates that the htons() routine (and
+ * friends htonl() ntohl() ntohs()) are available to do network
+ * order byte swapping.
+ */
+/* HAS_NTOHL:
+ * This symbol, if defined, indicates that the ntohl() routine (and
+ * friends htonl() htons() ntohs()) are available to do network
+ * order byte swapping.
+ */
+/* HAS_NTOHS:
+ * This symbol, if defined, indicates that the ntohs() routine (and
+ * friends htonl() htons() ntohl()) are available to do network
+ * order byte swapping.
+ */
+/*#define HAS_HTONL / **/
+/*#define HAS_HTONS / **/
+/*#define HAS_NTOHL / **/
+/*#define HAS_NTOHS / **/
+
/* HAS_ISASCII:
* This manifest constant lets the C program know that isascii
* is available.
@@ -1566,6 +1930,72 @@
/*#define HAS_LOCALTIME_R / **/
#define LOCALTIME_R_PROTO 0 /**/
+/* HAS_LONG_DOUBLE:
+ * This symbol will be defined if the C compiler supports long
+ * doubles.
+ */
+/* LONG_DOUBLESIZE:
+ * This symbol contains the size of a long double, so that the
+ * C preprocessor can make decisions based on it. It is only
+ * defined if the system supports long doubles.
+ */
+/*#define HAS_LONG_DOUBLE / **/
+#ifdef HAS_LONG_DOUBLE
+#define LONG_DOUBLESIZE 8 /**/
+#endif
+
+/* HAS_LONG_LONG:
+ * This symbol will be defined if the C compiler supports long long.
+ */
+/* LONGLONGSIZE:
+ * This symbol contains the size of a long long, so that the
+ * C preprocessor can make decisions based on it. It is only
+ * defined if the system supports long long.
+ */
+/*#define HAS_LONG_LONG / **/
+#ifdef HAS_LONG_LONG
+#define LONGLONGSIZE 8 /**/
+#endif
+
+/* HAS_LSEEK_PROTO:
+ * This symbol, if defined, indicates that the system provides
+ * a prototype for the lseek() function. Otherwise, it is up
+ * to the program to supply one. A good guess is
+ * extern off_t lseek(int, off_t, int);
+ */
+/*#define HAS_LSEEK_PROTO / **/
+
+/* HAS_MEMCHR:
+ * This symbol, if defined, indicates that the memchr routine is available
+ * to locate characters within a C string.
+ */
+#define HAS_MEMCHR /**/
+
+/* HAS_MKSTEMP:
+ * This symbol, if defined, indicates that the mkstemp routine is
+ * available to exclusively create and open a uniquely named
+ * temporary file.
+ */
+/*#define HAS_MKSTEMP / **/
+
+/* HAS_MMAP:
+ * This symbol, if defined, indicates that the mmap system call is
+ * available to map a file into memory.
+ */
+/* Mmap_t:
+ * This symbol holds the return type of the mmap() system call
+ * (and simultaneously the type of the first argument).
+ * Usually set to 'void *' or 'caddr_t'.
+ */
+/*#define HAS_MMAP / **/
+#define Mmap_t void * /**/
+
+/* HAS_MSG:
+ * This symbol, if defined, indicates that the entire msg*(2) library is
+ * supported (IPC mechanism based on message queues).
+ */
+/*#define HAS_MSG / **/
+
/* HAS_OPEN3:
* This manifest constant lets the C program know that the three
* argument form of open(2) is available.
@@ -1669,6 +2099,18 @@
*/
/*#define HAS_SANE_MEMCMP / **/
+/* HAS_SEM:
+ * This symbol, if defined, indicates that the entire sem*(2) library is
+ * supported.
+ */
+/*#define HAS_SEM / **/
+
+/* HAS_SETGRENT:
+ * This symbol, if defined, indicates that the setgrent routine is
+ * available for initializing sequential access of the group database.
+ */
+/*#define HAS_SETGRENT / **/
+
/* HAS_SETGRENT_R:
* This symbol, if defined, indicates that the setgrent_r routine
* is available to setgrent re-entrantly.
@@ -1682,6 +2124,12 @@
/*#define HAS_SETGRENT_R / **/
#define SETGRENT_R_PROTO 0 /**/
+/* HAS_SETHOSTENT:
+ * This symbol, if defined, indicates that the sethostent() routine is
+ * available.
+ */
+/*#define HAS_SETHOSTENT / **/
+
/* HAS_SETHOSTENT_R:
* This symbol, if defined, indicates that the sethostent_r routine
* is available to sethostent re-entrantly.
@@ -1708,6 +2156,12 @@
/*#define HAS_SETLOCALE_R / **/
#define SETLOCALE_R_PROTO 0 /**/
+/* HAS_SETNETENT:
+ * This symbol, if defined, indicates that the setnetent() routine is
+ * available.
+ */
+/*#define HAS_SETNETENT / **/
+
/* HAS_SETNETENT_R:
* This symbol, if defined, indicates that the setnetent_r routine
* is available to setnetent re-entrantly.
@@ -1721,6 +2175,24 @@
/*#define HAS_SETNETENT_R / **/
#define SETNETENT_R_PROTO 0 /**/
+/* HAS_SETPROTOENT:
+ * This symbol, if defined, indicates that the setprotoent() routine is
+ * available.
+ */
+/*#define HAS_SETPROTOENT / **/
+
+/* HAS_SETPGRP:
+ * This symbol, if defined, indicates that the setpgrp routine is
+ * available to set the current process group.
+ */
+/* USE_BSD_SETPGRP:
+ * This symbol, if defined, indicates that setpgrp needs two
+ * arguments whereas USG one needs none. See also HAS_SETPGID
+ * for a POSIX interface.
+ */
+/*#define HAS_SETPGRP / **/
+/*#define USE_BSD_SETPGRP / **/
+
/* HAS_SETPROTOENT_R:
* This symbol, if defined, indicates that the setprotoent_r routine
* is available to setprotoent re-entrantly.
@@ -1734,6 +2206,12 @@
/*#define HAS_SETPROTOENT_R / **/
#define SETPROTOENT_R_PROTO 0 /**/
+/* HAS_SETPWENT:
+ * This symbol, if defined, indicates that the setpwent routine is
+ * available for initializing sequential access of the passwd database.
+ */
+/*#define HAS_SETPWENT / **/
+
/* HAS_SETPWENT_R:
* This symbol, if defined, indicates that the setpwent_r routine
* is available to setpwent re-entrantly.
@@ -1747,6 +2225,12 @@
/*#define HAS_SETPWENT_R / **/
#define SETPWENT_R_PROTO 0 /**/
+/* HAS_SETSERVENT:
+ * This symbol, if defined, indicates that the setservent() routine is
+ * available.
+ */
+/*#define HAS_SETSERVENT / **/
+
/* HAS_SETSERVENT_R:
* This symbol, if defined, indicates that the setservent_r routine
* is available to setservent re-entrantly.
@@ -1760,6 +2244,33 @@
/*#define HAS_SETSERVENT_R / **/
#define SETSERVENT_R_PROTO 0 /**/
+/* HAS_SETVBUF:
+ * This symbol, if defined, indicates that the setvbuf routine is
+ * available to change buffering on an open stdio stream.
+ * to a line-buffered mode.
+ */
+/*#define HAS_SETVBUF / **/
+
+/* HAS_SHM:
+ * This symbol, if defined, indicates that the entire shm*(2) library is
+ * supported.
+ */
+/*#define HAS_SHM / **/
+
+/* Shmat_t:
+ * This symbol holds the return type of the shmat() system call.
+ * Usually set to 'void *' or 'char *'.
+ */
+/* HAS_SHMAT_PROTOTYPE:
+ * This symbol, if defined, indicates that the sys/shm.h includes
+ * a prototype for shmat(). Otherwise, it is up to the program to
+ * guess one. Shmat_t shmat(int, Shmat_t, int) is a good guess,
+ * but not always right so it should be emitted by the program only
+ * when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
+ */
+#define Shmat_t void * /**/
+/*#define HAS_SHMAT_PROTOTYPE / **/
+
/* HAS_SIGACTION:
* This symbol, if defined, indicates that Vr4's sigaction() routine
* is available.
@@ -1797,6 +2308,74 @@
#define Siglongjmp(buf,retval) longjmp((buf),(retval))
#endif
+/* HAS_SOCKET:
+ * This symbol, if defined, indicates that the BSD socket interface is
+ * supported.
+ */
+/* HAS_SOCKETPAIR:
+ * This symbol, if defined, indicates that the BSD socketpair() call is
+ * supported.
+ */
+/* HAS_MSG_CTRUNC:
+ * This symbol, if defined, indicates that the MSG_CTRUNC is supported.
+ * Checking just with #ifdef might not be enough because this symbol
+ * has been known to be an enum.
+ */
+/* HAS_MSG_DONTROUTE:
+ * This symbol, if defined, indicates that the MSG_DONTROUTE is supported.
+ * Checking just with #ifdef might not be enough because this symbol
+ * has been known to be an enum.
+ */
+/* HAS_MSG_OOB:
+ * This symbol, if defined, indicates that the MSG_OOB is supported.
+ * Checking just with #ifdef might not be enough because this symbol
+ * has been known to be an enum.
+ */
+/* HAS_MSG_PEEK:
+ * This symbol, if defined, indicates that the MSG_PEEK is supported.
+ * Checking just with #ifdef might not be enough because this symbol
+ * has been known to be an enum.
+ */
+/* HAS_MSG_PROXY:
+ * This symbol, if defined, indicates that the MSG_PROXY is supported.
+ * Checking just with #ifdef might not be enough because this symbol
+ * has been known to be an enum.
+ */
+/* HAS_SCM_RIGHTS:
+ * This symbol, if defined, indicates that the SCM_RIGHTS is supported.
+ * Checking just with #ifdef might not be enough because this symbol
+ * has been known to be an enum.
+ */
+/* HAS_SOCKADDR_SA_LEN:
+ * This symbol, if defined, indicates that the struct sockaddr
+ * structure has a member called sa_len, indicating the length of
+ * the structure.
+ */
+/* HAS_SOCKADDR_IN6:
+ * This symbol, if defined, indicates the availability of
+ * struct sockaddr_in6;
+ */
+/* HAS_SIN6_SCOPE_ID:
+ * This symbol, if defined, indicates that the struct sockaddr_in6
+ * structure has a member called sin6_scope_id.
+ */
+/* HAS_IPV6_MREQ:
+ * This symbol, if defined, indicates the availability of
+ * struct ipv6_mreq;
+ */
+/*#define HAS_SOCKET / **/
+/*#define HAS_SOCKETPAIR / **/
+/*#define HAS_SOCKADDR_SA_LEN / **/
+/*#define HAS_MSG_CTRUNC / **/
+/*#define HAS_MSG_DONTROUTE / **/
+/*#define HAS_MSG_OOB / **/
+/*#define HAS_MSG_PEEK / **/
+/*#define HAS_MSG_PROXY / **/
+/*#define HAS_SCM_RIGHTS / **/
+/*#define HAS_SOCKADDR_IN6 / **/
+/*#define HAS_SIN6_SCOPE_ID / **/
+/*#define HAS_IPV6_MREQ / **/
+
/* HAS_SRAND48_R:
* This symbol, if defined, indicates that the srand48_r routine
* is available to srand48 re-entrantly.
@@ -1823,6 +2402,35 @@
/*#define HAS_SRANDOM_R / **/
#define SRANDOM_R_PROTO 0 /**/
+/* USE_STAT_BLOCKS:
+ * This symbol is defined if this system has a stat structure declaring
+ * st_blksize and st_blocks.
+ */
+#ifndef USE_STAT_BLOCKS
+/*#define USE_STAT_BLOCKS / **/
+#endif
+
+/* HAS_STATIC_INLINE:
+ * This symbol, if defined, indicates that the C compiler supports
+ * C99-style static inline. That is, the function can't be called
+ * from another translation unit.
+ */
+/* PERL_STATIC_INLINE:
+ * This symbol gives the best-guess incantation to use for static
+ * inline functions. If HAS_STATIC_INLINE is defined, this will
+ * give C99-style inline. If HAS_STATIC_INLINE is not defined,
+ * this will give a plain 'static'. It will always be defined
+ * to something that gives static linkage.
+ * Possibilities include
+ * static inline (c99)
+ * static __inline__ (gcc -ansi)
+ * static __inline (MSVC)
+ * static _inline (older MSVC)
+ * static (c89 compilers)
+ */
+/*#define HAS_STATIC_INLINE / **/
+#define PERL_STATIC_INLINE static /**/
+
/* USE_STDIO_PTR:
* This symbol is defined if the _ptr and _cnt fields (or similar)
* of the stdio FILE structure can be used to access the stdio buffer
@@ -1893,6 +2501,32 @@
#define FILE_bufsiz(fp) ((fp)->_IO_read_end - (fp)->_IO_read_base)
#endif
+/* USE_STRUCT_COPY:
+ * This symbol, if defined, indicates that this C compiler knows how
+ * to copy structures. If undefined, you'll need to use a block copy
+ * routine of some sort instead.
+ */
+/*#define USE_STRUCT_COPY / **/
+
+/* HAS_STRERROR:
+ * This symbol, if defined, indicates that the strerror routine is
+ * available to translate error numbers to strings. See the writeup
+ * of Strerror() in this file before you try to define your own.
+ */
+/* HAS_SYS_ERRLIST:
+ * This symbol, if defined, indicates that the sys_errlist array is
+ * available to translate error numbers to strings. The extern int
+ * sys_nerr gives the size of that table.
+ */
+/* Strerror:
+ * This preprocessor symbol is defined as a macro if strerror() is
+ * not available to translate error numbers to strings but sys_errlist[]
+ * array is there.
+ */
+/*#define HAS_STRERROR / **/
+/*#define HAS_SYS_ERRLIST / **/
+#define Strerror(e) strerror(e)
+
/* HAS_STRERROR_R:
* This symbol, if defined, indicates that the strerror_r routine
* is available to strerror re-entrantly.
@@ -1906,6 +2540,30 @@
/*#define HAS_STRERROR_R / **/
#define STRERROR_R_PROTO 0 /**/
+/* HAS_STRTOUL:
+ * This symbol, if defined, indicates that the strtoul routine is
+ * available to provide conversion of strings to unsigned long.
+ */
+#define HAS_STRTOUL /**/
+
+/* HAS_TIME:
+ * This symbol, if defined, indicates that the time() routine exists.
+ */
+/* Time_t:
+ * This symbol holds the type returned by time(). It can be long,
+ * or time_t on BSD sites (in which case <sys/types.h> should be
+ * included).
+ */
+#define HAS_TIME /**/
+#define Time_t time_t /* Time type */
+
+/* HAS_TIMES:
+ * This symbol, if defined, indicates that the times() routine exists.
+ * Note that this became obsolete on some systems (SUNOS), which now
+ * use getrusage(). It may be necessary to include <sys/times.h>.
+ */
+/*#define HAS_TIMES / **/
+
/* HAS_TMPNAM_R:
* This symbol, if defined, indicates that the tmpnam_r routine
* is available to tmpnam re-entrantly.
@@ -1932,886 +2590,6 @@
/*#define HAS_TTYNAME_R / **/
#define TTYNAME_R_PROTO 0 /**/
-/* HAS_VPRINTF:
- * This symbol, if defined, indicates that the vprintf routine is available
- * to printf with a pointer to an argument list. If unavailable, you
- * may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- * This symbol is defined if this system has vsprintf() returning type
- * (char*). The trend seems to be to declare it as "int vsprintf()". It
- * is up to the package author to declare vsprintf correctly based on the
- * symbol.
- */
-#define HAS_VPRINTF /**/
-/*#define USE_CHAR_VSPRINTF / **/
-
-/* DOUBLESIZE:
- * This symbol contains the size of a double, so that the C preprocessor
- * can make decisions based on it.
- */
-#define DOUBLESIZE 8 /**/
-
-/* I_MACH_CTHREADS:
- * This symbol, if defined, indicates to the C program that it should
- * include <mach/cthreads.h>.
- */
-/*#define I_MACH_CTHREADS / **/
-
-/* I_PTHREAD:
- * This symbol, if defined, indicates to the C program that it should
- * include <pthread.h>.
- */
-/*#define I_PTHREAD / **/
-
-/* I_SYS_ACCESS:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/access.h>.
- */
-/*#define I_SYS_ACCESS / **/
-
-/* I_SYS_SECURITY:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/security.h>.
- */
-/*#define I_SYS_SECURITY / **/
-
-/* I_TIME:
- * This symbol, if defined, indicates to the C program that it should
- * include <time.h>.
- */
-/* I_SYS_TIME:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/time.h>.
- */
-/* I_SYS_TIME_KERNEL:
- * This symbol, if defined, indicates to the C program that it should
- * include <sys/time.h> with KERNEL defined.
- */
-/* HAS_TM_TM_ZONE:
- * This symbol, if defined, indicates to the C program that
- * the struct tm has a tm_zone field.
- */
-/* HAS_TM_TM_GMTOFF:
- * This symbol, if defined, indicates to the C program that
- * the struct tm has a tm_gmtoff field.
- */
-#define I_TIME /**/
-/*#define I_SYS_TIME / **/
-/*#define I_SYS_TIME_KERNEL / **/
-/*#define HAS_TM_TM_ZONE / **/
-/*#define HAS_TM_TM_GMTOFF / **/
-
-/* PERL_INC_VERSION_LIST:
- * This variable specifies the list of subdirectories in over
- * which perl.c:incpush() and lib/lib.pm will automatically
- * search when adding directories to @INC, in a format suitable
- * for a C initialization string. See the inc_version_list entry
- * in Porting/Glossary for more details.
- */
-/*#define PERL_INC_VERSION_LIST NULL / **/
-
-/* INSTALL_USR_BIN_PERL:
- * This symbol, if defined, indicates that Perl is to be installed
- * also as /usr/bin/perl.
- */
-/*#define INSTALL_USR_BIN_PERL / **/
-
-/* VAL_O_NONBLOCK:
- * This symbol is to be used during open() or fcntl(F_SETFL) to turn on
- * non-blocking I/O for the file descriptor. Note that there is no way
- * back, i.e. you cannot turn it blocking again this way. If you wish to
- * alternatively switch between blocking and non-blocking, use the
- * ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
- */
-/* VAL_EAGAIN:
- * This symbol holds the errno error code set by read() when no data was
- * present on the non-blocking file descriptor.
- */
-/* RD_NODATA:
- * This symbol holds the return code from read() when no data is present
- * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
- * not defined, then you can't distinguish between no data and EOF by
- * issuing a read(). You'll have to find another way to tell for sure!
- */
-/* EOF_NONBLOCK:
- * This symbol, if defined, indicates to the C program that a read() on
- * a non-blocking file descriptor will return 0 on EOF, and not the value
- * held in RD_NODATA (-1 usually, in that case!).
- */
-#define VAL_O_NONBLOCK O_NONBLOCK
-#define VAL_EAGAIN EAGAIN
-#define RD_NODATA -1
-#undef EOF_NONBLOCK
-
-/* PERL_OTHERLIBDIRS:
- * This variable contains a colon-separated set of paths for the perl
- * binary to search for additional library files or modules.
- * These directories will be tacked to the end of @INC.
- * Perl will automatically search below each path for version-
- * and architecture-specific directories. See PERL_INC_VERSION_LIST
- * for more details.
- */
-/*#define PERL_OTHERLIBDIRS " " / **/
-
-/* PRIVLIB:
- * This symbol contains the name of the private library for this package.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world. The program
- * should be prepared to do ~ expansion.
- */
-/* PRIVLIB_EXP:
- * This symbol contains the ~name expanded version of PRIVLIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define PRIVLIB "/usr/local/lib/perl5/5.14" /**/
-#define PRIVLIB_EXP "/usr/local/lib/perl5/5.14" /**/
-
-/* PTRSIZE:
- * This symbol contains the size of a pointer, so that the C preprocessor
- * can make decisions based on it. It will be sizeof(void *) if
- * the compiler supports (void *); otherwise it will be
- * sizeof(char *).
- */
-#define PTRSIZE 4 /**/
-
-/* Drand01:
- * This macro is to be used to generate uniformly distributed
- * random numbers over the range [0., 1.[. You may have to supply
- * an 'extern double drand48();' in your program since SunOS 4.1.3
- * doesn't provide you with anything relevant in its headers.
- * See HAS_DRAND48_PROTO.
- */
-/* Rand_seed_t:
- * This symbol defines the type of the argument of the
- * random seed function.
- */
-/* seedDrand01:
- * This symbol defines the macro to be used in seeding the
- * random number generator (see Drand01).
- */
-/* RANDBITS:
- * This symbol indicates how many bits are produced by the
- * function used to generate normalized random numbers.
- * Values include 15, 16, 31, and 48.
- */
-#define Drand01() ((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15)) /**/
-#define Rand_seed_t int /**/
-#define seedDrand01(x) srand((Rand_seed_t)x) /**/
-#define RANDBITS 48 /**/
-
-/* SITEARCH:
- * This symbol contains the name of the private library for this package.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world. The program
- * should be prepared to do ~ expansion.
- * The standard distribution will put nothing in this directory.
- * After perl has been installed, users may install their own local
- * architecture-dependent modules in this directory with
- * MakeMaker Makefile.PL
- * or equivalent. See INSTALL for details.
- */
-/* SITEARCH_EXP:
- * This symbol contains the ~name expanded version of SITEARCH, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/*#define SITEARCH "/usr/local/lib/perl5/5.14/unknown" / **/
-/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.14/unknown" / **/
-
-/* SITELIB:
- * This symbol contains the name of the private library for this package.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world. The program
- * should be prepared to do ~ expansion.
- * The standard distribution will put nothing in this directory.
- * After perl has been installed, users may install their own local
- * architecture-independent modules in this directory with
- * MakeMaker Makefile.PL
- * or equivalent. See INSTALL for details.
- */
-/* SITELIB_EXP:
- * This symbol contains the ~name expanded version of SITELIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* SITELIB_STEM:
- * This define is SITELIB_EXP with any trailing version-specific component
- * removed. The elements in inc_version_list (inc_version_list.U) can
- * be tacked onto this variable to generate a list of directories to search.
- */
-#define SITELIB "/usr/local/lib/perl5/5.14" /**/
-#define SITELIB_EXP "/usr/local/lib/perl5/5.14" /**/
-#define SITELIB_STEM "/usr/local/lib/perl5" /**/
-
-/* SSize_t:
- * This symbol holds the type used by functions that return
- * a count of bytes or an error condition. It must be a signed type.
- * It is usually ssize_t, but may be long or int, etc.
- * It may be necessary to include <sys/types.h> or <unistd.h>
- * to get any typedef'ed information.
- * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
- */
-#define SSize_t int /* signed count of bytes */
-
-/* USE_ITHREADS:
- * This symbol, if defined, indicates that Perl should be built to
- * use the interpreter-based threading implementation.
- */
-/* USE_5005THREADS:
- * This symbol, if defined, indicates that Perl should be built to
- * use the 5.005-based threading implementation.
- * Only valid up to 5.8.x.
- */
-/* OLD_PTHREADS_API:
- * This symbol, if defined, indicates that Perl should
- * be built to use the old draft POSIX threads API.
- */
-/* USE_REENTRANT_API:
- * This symbol, if defined, indicates that Perl should
- * try to use the various _r versions of library functions.
- * This is extremely experimental.
- */
-/*#define USE_5005THREADS / **/
-/*#define USE_ITHREADS / **/
-#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
-#define USE_THREADS /* until src is revised*/
-#endif
-/*#define OLD_PTHREADS_API / **/
-/*#define USE_REENTRANT_API / **/
-
-/* PERL_VENDORARCH:
- * If defined, this symbol contains the name of a private library.
- * The library is private in the sense that it needn't be in anyone's
- * execution path, but it should be accessible by the world.
- * It may have a ~ on the front.
- * The standard distribution will put nothing in this directory.
- * Vendors who distribute perl may wish to place their own
- * architecture-dependent modules and extensions in this directory with
- * MakeMaker Makefile.PL INSTALLDIRS=vendor
- * or equivalent. See INSTALL for details.
- */
-/* PERL_VENDORARCH_EXP:
- * This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/*#define PERL_VENDORARCH "" / **/
-/*#define PERL_VENDORARCH_EXP "" / **/
-
-/* PERL_VENDORLIB_EXP:
- * This symbol contains the ~name expanded version of VENDORLIB, to be used
- * in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* PERL_VENDORLIB_STEM:
- * This define is PERL_VENDORLIB_EXP with any trailing version-specific component
- * removed. The elements in inc_version_list (inc_version_list.U) can
- * be tacked onto this variable to generate a list of directories to search.
- */
-/*#define PERL_VENDORLIB_EXP "" / **/
-/*#define PERL_VENDORLIB_STEM "" / **/
-
-/* HAS_STATIC_INLINE:
- * This symbol, if defined, indicates that the C compiler supports
- * C99-style static inline. That is, the function can't be called
- * from another translation unit.
- */
-/* PERL_STATIC_INLINE:
- * This symbol gives the best-guess incantation to use for static
- * inline functions. If HAS_STATIC_INLINE is defined, this will
- * give C99-style inline. If HAS_STATIC_INLINE is not defined,
- * this will give a plain 'static'. It will always be defined
- * to something that gives static linkage.
- * Possibilities include
- * static inline (c99)
- * static __inline__ (gcc -ansi)
- * static __inline (MSVC)
- * static _inline (older MSVC)
- * static (c89 compilers)
- */
-/*#define HAS_STATIC_INLINE / **/
-#define PERL_STATIC_INLINE static /**/
-
-/* EBCDIC:
- * This symbol, if defined, indicates that this system uses
- * EBCDIC encoding.
- */
-/*#define EBCDIC / **/
-
-/* OSNAME:
- * This symbol contains the name of the operating system, as determined
- * by Configure. You shouldn't rely on it too much; the specific
- * feature tests from Configure are generally more reliable.
- */
-/* OSVERS:
- * This symbol contains the version of the operating system, as determined
- * by Configure. You shouldn't rely on it too much; the specific
- * feature tests from Configure are generally more reliable.
- */
-#define OSNAME "unknown" /**/
-#define OSVERS "unknown" /**/
-
-/* CAT2:
- * This macro concatenates 2 tokens together.
- */
-/* STRINGIFY:
- * This macro surrounds its token with double quotes.
- */
-#if 42 == 1
-#define CAT2(a,b) a/**/b
-#define STRINGIFY(a) "a"
-#endif
-#if 42 == 42
-#define PeRl_CaTiFy(a, b) a ## b
-#define PeRl_StGiFy(a) #a
-#define CAT2(a,b) PeRl_CaTiFy(a,b)
-#define StGiFy(a) PeRl_StGiFy(a)
-#define STRINGIFY(a) PeRl_StGiFy(a)
-#endif
-#if 42 != 1 && 42 != 42
-#include "Bletch: How does this C preprocessor concatenate tokens?"
-#endif
-
-/* CPPSTDIN:
- * This symbol contains the first part of the string which will invoke
- * the C preprocessor on the standard input and produce to standard
- * output. Typical value of "cc -E" or "/lib/cpp", but it can also
- * call a wrapper. See CPPRUN.
- */
-/* CPPMINUS:
- * This symbol contains the second part of the string which will invoke
- * the C preprocessor on the standard input and produce to standard
- * output. This symbol will have the value "-" if CPPSTDIN needs a minus
- * to specify standard input, otherwise the value is "".
- */
-/* CPPRUN:
- * This symbol contains the string which will invoke a C preprocessor on
- * the standard input and produce to standard output. It needs to end
- * with CPPLAST, after all other preprocessor flags have been specified.
- * The main difference with CPPSTDIN is that this program will never be a
- * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
- * available directly to the user. Note that it may well be different from
- * the preprocessor used to compile the C program.
- */
-/* CPPLAST:
- * This symbol is intended to be used along with CPPRUN in the same manner
- * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
- */
-#define CPPSTDIN "cc -E"
-#define CPPMINUS "-"
-#define CPPRUN "cc -E"
-#define CPPLAST "-"
-
-/* HAS_ACCESS:
- * This manifest constant lets the C program know that the access()
- * system call is available to check for accessibility using real UID/GID.
- * (always present on UNIX.)
- */
-/*#define HAS_ACCESS / **/
-
-/* HASATTRIBUTE_FORMAT:
- * Can we handle GCC attribute for checking printf-style formats
- */
-/* PRINTF_FORMAT_NULL_OK:
- * Allows __printf__ format to be null when checking printf-style
- */
-/* HASATTRIBUTE_MALLOC:
- * Can we handle GCC attribute for malloc-style functions.
- */
-/* HASATTRIBUTE_NONNULL:
- * Can we handle GCC attribute for nonnull function parms.
- */
-/* HASATTRIBUTE_NORETURN:
- * Can we handle GCC attribute for functions that do not return
- */
-/* HASATTRIBUTE_PURE:
- * Can we handle GCC attribute for pure functions
- */
-/* HASATTRIBUTE_UNUSED:
- * Can we handle GCC attribute for unused variables and arguments
- */
-/* HASATTRIBUTE_DEPRECATED:
- * Can we handle GCC attribute for marking deprecated APIs
- */
-/* HASATTRIBUTE_WARN_UNUSED_RESULT:
- * Can we handle GCC attribute for warning on unused results
- */
-/*#define HASATTRIBUTE_DEPRECATED / **/
-/*#define HASATTRIBUTE_FORMAT / **/
-/*#define PRINTF_FORMAT_NULL_OK / **/
-/*#define HASATTRIBUTE_NORETURN / **/
-/*#define HASATTRIBUTE_MALLOC / **/
-/*#define HASATTRIBUTE_NONNULL / **/
-/*#define HASATTRIBUTE_PURE / **/
-/*#define HASATTRIBUTE_UNUSED / **/
-/*#define HASATTRIBUTE_WARN_UNUSED_RESULT / **/
-
-/* HASCONST:
- * This symbol, if defined, indicates that this C compiler knows about
- * the const type. There is no need to actually test for that symbol
- * within your programs. The mere use of the "const" keyword will
- * trigger the necessary tests.
- */
-/*#define HASCONST / **/
-#ifndef HASCONST
-#define const
-#endif
-
-/* HAS_CSH:
- * This symbol, if defined, indicates that the C-shell exists.
- */
-/* CSH:
- * This symbol, if defined, contains the full pathname of csh.
- */
-/*#define HAS_CSH / **/
-#ifdef HAS_CSH
-#define CSH "" /**/
-#endif
-
-/* SETUID_SCRIPTS_ARE_SECURE_NOW:
- * This symbol, if defined, indicates that the bug that prevents
- * setuid scripts from being secure is not present in this kernel.
- */
-/* DOSUID:
- * This symbol, if defined, indicates that the C program should
- * check the script that it is executing for setuid/setgid bits, and
- * attempt to emulate setuid/setgid on systems that have disabled
- * setuid #! scripts because the kernel can't do it securely.
- * It is up to the package designer to make sure that this emulation
- * is done securely. Among other things, it should do an fstat on
- * the script it just opened to make sure it really is a setuid/setgid
- * script, it should make sure the arguments passed correspond exactly
- * to the argument on the #! line, and it should not trust any
- * subprocesses to which it must pass the filename rather than the
- * file descriptor of the script to be executed.
- */
-/*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/
-/*#define DOSUID / **/
-
-/* HAS_ENDGRENT:
- * This symbol, if defined, indicates that the getgrent routine is
- * available for finalizing sequential access of the group database.
- */
-/*#define HAS_ENDGRENT / **/
-
-/* HAS_ENDHOSTENT:
- * This symbol, if defined, indicates that the endhostent() routine is
- * available to close whatever was being used for host queries.
- */
-/*#define HAS_ENDHOSTENT / **/
-
-/* HAS_ENDNETENT:
- * This symbol, if defined, indicates that the endnetent() routine is
- * available to close whatever was being used for network queries.
- */
-/*#define HAS_ENDNETENT / **/
-
-/* HAS_ENDPROTOENT:
- * This symbol, if defined, indicates that the endprotoent() routine is
- * available to close whatever was being used for protocol queries.
- */
-/*#define HAS_ENDPROTOENT / **/
-
-/* HAS_ENDPWENT:
- * This symbol, if defined, indicates that the getgrent routine is
- * available for finalizing sequential access of the passwd database.
- */
-/*#define HAS_ENDPWENT / **/
-
-/* HAS_ENDSERVENT:
- * This symbol, if defined, indicates that the endservent() routine is
- * available to close whatever was being used for service queries.
- */
-/*#define HAS_ENDSERVENT / **/
-
-/* FLEXFILENAMES:
- * This symbol, if defined, indicates that the system supports filenames
- * longer than 14 characters.
- */
-/*#define FLEXFILENAMES / **/
-
-/* HAS_GETGRENT:
- * This symbol, if defined, indicates that the getgrent routine is
- * available for sequential access of the group database.
- */
-/*#define HAS_GETGRENT / **/
-
-/* HAS_GETHOSTBYADDR:
- * This symbol, if defined, indicates that the gethostbyaddr() routine is
- * available to look up hosts by their IP addresses.
- */
-/*#define HAS_GETHOSTBYADDR / **/
-
-/* HAS_GETHOSTBYNAME:
- * This symbol, if defined, indicates that the gethostbyname() routine is
- * available to look up host names in some data base or other.
- */
-/*#define HAS_GETHOSTBYNAME / **/
-
-/* HAS_GETHOSTENT:
- * This symbol, if defined, indicates that the gethostent() routine is
- * available to look up host names in some data base or another.
- */
-/*#define HAS_GETHOSTENT / **/
-
-/* HAS_GETHOSTNAME:
- * This symbol, if defined, indicates that the C program may use the
- * gethostname() routine to derive the host name. See also HAS_UNAME
- * and PHOSTNAME.
- */
-/* HAS_UNAME:
- * This symbol, if defined, indicates that the C program may use the
- * uname() routine to derive the host name. See also HAS_GETHOSTNAME
- * and PHOSTNAME.
- */
-/* PHOSTNAME:
- * This symbol, if defined, indicates the command to feed to the
- * popen() routine to derive the host name. See also HAS_GETHOSTNAME
- * and HAS_UNAME. Note that the command uses a fully qualified path,
- * so that it is safe even if used by a process with super-user
- * privileges.
- */
-/* HAS_PHOSTNAME:
- * This symbol, if defined, indicates that the C program may use the
- * contents of PHOSTNAME as a command to feed to the popen() routine
- * to derive the host name.
- */
-/*#define HAS_GETHOSTNAME / **/
-/*#define HAS_UNAME / **/
-/*#define HAS_PHOSTNAME / **/
-#ifdef HAS_PHOSTNAME
-#define PHOSTNAME "/bin/hostname" /* How to get the host name */
-#endif
-
-/* HAS_GETNETBYADDR:
- * This symbol, if defined, indicates that the getnetbyaddr() routine is
- * available to look up networks by their IP addresses.
- */
-/*#define HAS_GETNETBYADDR / **/
-
-/* HAS_GETNETBYNAME:
- * This symbol, if defined, indicates that the getnetbyname() routine is
- * available to look up networks by their names.
- */
-/*#define HAS_GETNETBYNAME / **/
-
-/* HAS_GETNETENT:
- * This symbol, if defined, indicates that the getnetent() routine is
- * available to look up network names in some data base or another.
- */
-/*#define HAS_GETNETENT / **/
-
-/* HAS_GETPROTOENT:
- * This symbol, if defined, indicates that the getprotoent() routine is
- * available to look up protocols in some data base or another.
- */
-/*#define HAS_GETPROTOENT / **/
-
-/* HAS_GETPGRP:
- * This symbol, if defined, indicates that the getpgrp routine is
- * available to get the current process group.
- */
-/* USE_BSD_GETPGRP:
- * This symbol, if defined, indicates that getpgrp needs one
- * arguments whereas USG one needs none.
- */
-/*#define HAS_GETPGRP / **/
-/*#define USE_BSD_GETPGRP / **/
-
-/* HAS_GETPROTOBYNAME:
- * This symbol, if defined, indicates that the getprotobyname()
- * routine is available to look up protocols by their name.
- */
-/* HAS_GETPROTOBYNUMBER:
- * This symbol, if defined, indicates that the getprotobynumber()
- * routine is available to look up protocols by their number.
- */
-/*#define HAS_GETPROTOBYNAME / **/
-/*#define HAS_GETPROTOBYNUMBER / **/
-
-/* HAS_GETPWENT:
- * This symbol, if defined, indicates that the getpwent routine is
- * available for sequential access of the passwd database.
- * If this is not available, the older getpw() function may be available.
- */
-/*#define HAS_GETPWENT / **/
-
-/* HAS_GETSERVENT:
- * This symbol, if defined, indicates that the getservent() routine is
- * available to look up network services in some data base or another.
- */
-/*#define HAS_GETSERVENT / **/
-
-/* HAS_GETSERVBYNAME:
- * This symbol, if defined, indicates that the getservbyname()
- * routine is available to look up services by their name.
- */
-/* HAS_GETSERVBYPORT:
- * This symbol, if defined, indicates that the getservbyport()
- * routine is available to look up services by their port.
- */
-/*#define HAS_GETSERVBYNAME / **/
-/*#define HAS_GETSERVBYPORT / **/
-
-/* HAS_HTONL:
- * This symbol, if defined, indicates that the htonl() routine (and
- * friends htons() ntohl() ntohs()) are available to do network
- * order byte swapping.
- */
-/* HAS_HTONS:
- * This symbol, if defined, indicates that the htons() routine (and
- * friends htonl() ntohl() ntohs()) are available to do network
- * order byte swapping.
- */
-/* HAS_NTOHL:
- * This symbol, if defined, indicates that the ntohl() routine (and
- * friends htonl() htons() ntohs()) are available to do network
- * order byte swapping.
- */
-/* HAS_NTOHS:
- * This symbol, if defined, indicates that the ntohs() routine (and
- * friends htonl() htons() ntohl()) are available to do network
- * order byte swapping.
- */
-/*#define HAS_HTONL / **/
-/*#define HAS_HTONS / **/
-/*#define HAS_NTOHL / **/
-/*#define HAS_NTOHS / **/
-
-/* HAS_LONG_DOUBLE:
- * This symbol will be defined if the C compiler supports long
- * doubles.
- */
-/* LONG_DOUBLESIZE:
- * This symbol contains the size of a long double, so that the
- * C preprocessor can make decisions based on it. It is only
- * defined if the system supports long doubles.
- */
-/*#define HAS_LONG_DOUBLE / **/
-#ifdef HAS_LONG_DOUBLE
-#define LONG_DOUBLESIZE 8 /**/
-#endif
-
-/* HAS_LONG_LONG:
- * This symbol will be defined if the C compiler supports long long.
- */
-/* LONGLONGSIZE:
- * This symbol contains the size of a long long, so that the
- * C preprocessor can make decisions based on it. It is only
- * defined if the system supports long long.
- */
-/*#define HAS_LONG_LONG / **/
-#ifdef HAS_LONG_LONG
-#define LONGLONGSIZE 8 /**/
-#endif
-
-/* HAS_MEMCHR:
- * This symbol, if defined, indicates that the memchr routine is available
- * to locate characters within a C string.
- */
-#define HAS_MEMCHR /**/
-
-/* HAS_MKSTEMP:
- * This symbol, if defined, indicates that the mkstemp routine is
- * available to exclusively create and open a uniquely named
- * temporary file.
- */
-/*#define HAS_MKSTEMP / **/
-
-/* HAS_MMAP:
- * This symbol, if defined, indicates that the mmap system call is
- * available to map a file into memory.
- */
-/* Mmap_t:
- * This symbol holds the return type of the mmap() system call
- * (and simultaneously the type of the first argument).
- * Usually set to 'void *' or 'caddr_t'.
- */
-/*#define HAS_MMAP / **/
-#define Mmap_t void * /**/
-
-/* HAS_MSG:
- * This symbol, if defined, indicates that the entire msg*(2) library is
- * supported (IPC mechanism based on message queues).
- */
-/*#define HAS_MSG / **/
-
-/* HAS_SEM:
- * This symbol, if defined, indicates that the entire sem*(2) library is
- * supported.
- */
-/*#define HAS_SEM / **/
-
-/* HAS_SETGRENT:
- * This symbol, if defined, indicates that the setgrent routine is
- * available for initializing sequential access of the group database.
- */
-/*#define HAS_SETGRENT / **/
-
-/* HAS_SETHOSTENT:
- * This symbol, if defined, indicates that the sethostent() routine is
- * available.
- */
-/*#define HAS_SETHOSTENT / **/
-
-/* HAS_SETNETENT:
- * This symbol, if defined, indicates that the setnetent() routine is
- * available.
- */
-/*#define HAS_SETNETENT / **/
-
-/* HAS_SETPROTOENT:
- * This symbol, if defined, indicates that the setprotoent() routine is
- * available.
- */
-/*#define HAS_SETPROTOENT / **/
-
-/* HAS_SETPGRP:
- * This symbol, if defined, indicates that the setpgrp routine is
- * available to set the current process group.
- */
-/* USE_BSD_SETPGRP:
- * This symbol, if defined, indicates that setpgrp needs two
- * arguments whereas USG one needs none. See also HAS_SETPGID
- * for a POSIX interface.
- */
-/*#define HAS_SETPGRP / **/
-/*#define USE_BSD_SETPGRP / **/
-
-/* HAS_SETPWENT:
- * This symbol, if defined, indicates that the setpwent routine is
- * available for initializing sequential access of the passwd database.
- */
-/*#define HAS_SETPWENT / **/
-
-/* HAS_SETSERVENT:
- * This symbol, if defined, indicates that the setservent() routine is
- * available.
- */
-/*#define HAS_SETSERVENT / **/
-
-/* HAS_SETVBUF:
- * This symbol, if defined, indicates that the setvbuf routine is
- * available to change buffering on an open stdio stream.
- * to a line-buffered mode.
- */
-/*#define HAS_SETVBUF / **/
-
-/* HAS_SHM:
- * This symbol, if defined, indicates that the entire shm*(2) library is
- * supported.
- */
-/*#define HAS_SHM / **/
-
-/* Shmat_t:
- * This symbol holds the return type of the shmat() system call.
- * Usually set to 'void *' or 'char *'.
- */
-/* HAS_SHMAT_PROTOTYPE:
- * This symbol, if defined, indicates that the sys/shm.h includes
- * a prototype for shmat(). Otherwise, it is up to the program to
- * guess one. Shmat_t shmat(int, Shmat_t, int) is a good guess,
- * but not always right so it should be emitted by the program only
- * when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
- */
-#define Shmat_t void * /**/
-/*#define HAS_SHMAT_PROTOTYPE / **/
-
-/* HAS_SOCKET:
- * This symbol, if defined, indicates that the BSD socket interface is
- * supported.
- */
-/* HAS_SOCKETPAIR:
- * This symbol, if defined, indicates that the BSD socketpair() call is
- * supported.
- */
-/* HAS_MSG_CTRUNC:
- * This symbol, if defined, indicates that the MSG_CTRUNC is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_MSG_DONTROUTE:
- * This symbol, if defined, indicates that the MSG_DONTROUTE is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_MSG_OOB:
- * This symbol, if defined, indicates that the MSG_OOB is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_MSG_PEEK:
- * This symbol, if defined, indicates that the MSG_PEEK is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_MSG_PROXY:
- * This symbol, if defined, indicates that the MSG_PROXY is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_SCM_RIGHTS:
- * This symbol, if defined, indicates that the SCM_RIGHTS is supported.
- * Checking just with #ifdef might not be enough because this symbol
- * has been known to be an enum.
- */
-/* HAS_SOCKADDR_SA_LEN:
- * This symbol, if defined, indicates that the struct sockaddr
- * structure has a member called sa_len, indicating the length of
- * the structure.
- */
-/* HAS_SIN6_SCOPE_ID:
- * This symbol, if defined, indicates that the struct sockaddr_in6
- * structure has a member called sin6_scope_id.
- */
-/*#define HAS_SOCKET / **/
-/*#define HAS_SOCKETPAIR / **/
-/*#define HAS_SOCKADDR_SA_LEN / **/
-/*#define HAS_MSG_CTRUNC / **/
-/*#define HAS_MSG_DONTROUTE / **/
-/*#define HAS_MSG_OOB / **/
-/*#define HAS_MSG_PEEK / **/
-/*#define HAS_MSG_PROXY / **/
-/*#define HAS_SCM_RIGHTS / **/
-/*#define HAS_SIN6_SCOPE_ID / **/
-
-/* USE_STAT_BLOCKS:
- * This symbol is defined if this system has a stat structure declaring
- * st_blksize and st_blocks.
- */
-#ifndef USE_STAT_BLOCKS
-/*#define USE_STAT_BLOCKS / **/
-#endif
-
-/* USE_STRUCT_COPY:
- * This symbol, if defined, indicates that this C compiler knows how
- * to copy structures. If undefined, you'll need to use a block copy
- * routine of some sort instead.
- */
-/*#define USE_STRUCT_COPY / **/
-
-/* HAS_STRERROR:
- * This symbol, if defined, indicates that the strerror routine is
- * available to translate error numbers to strings. See the writeup
- * of Strerror() in this file before you try to define your own.
- */
-/* HAS_SYS_ERRLIST:
- * This symbol, if defined, indicates that the sys_errlist array is
- * available to translate error numbers to strings. The extern int
- * sys_nerr gives the size of that table.
- */
-/* Strerror:
- * This preprocessor symbol is defined as a macro if strerror() is
- * not available to translate error numbers to strings but sys_errlist[]
- * array is there.
- */
-/*#define HAS_STRERROR / **/
-/*#define HAS_SYS_ERRLIST / **/
-#define Strerror(e) strerror(e)
-
-/* HAS_STRTOUL:
- * This symbol, if defined, indicates that the strtoul routine is
- * available to provide conversion of strings to unsigned long.
- */
-#define HAS_STRTOUL /**/
-
/* HAS_UNION_SEMUN:
* This symbol, if defined, indicates that the union semun is
* defined by including <sys/sem.h>. If not, the user code
@@ -2862,6 +2640,64 @@
#define volatile
#endif
+/* HAS_VPRINTF:
+ * This symbol, if defined, indicates that the vprintf routine is available
+ * to printf with a pointer to an argument list. If unavailable, you
+ * may need to write your own, probably in terms of _doprnt().
+ */
+/* USE_CHAR_VSPRINTF:
+ * This symbol is defined if this system has vsprintf() returning type
+ * (char*). The trend seems to be to declare it as "int vsprintf()". It
+ * is up to the package author to declare vsprintf correctly based on the
+ * symbol.
+ */
+#define HAS_VPRINTF /**/
+/*#define USE_CHAR_VSPRINTF / **/
+
+/* DOUBLESIZE:
+ * This symbol contains the size of a double, so that the C preprocessor
+ * can make decisions based on it.
+ */
+#define DOUBLESIZE 8 /**/
+
+/* EBCDIC:
+ * This symbol, if defined, indicates that this system uses
+ * EBCDIC encoding.
+ */
+/*#define EBCDIC / **/
+
+/* Fpos_t:
+ * This symbol holds the type used to declare file positions in libc.
+ * It can be fpos_t, long, uint, etc... It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+#define Fpos_t int /* File position type */
+
+/* Gid_t_f:
+ * This symbol defines the format string used for printing a Gid_t.
+ */
+#define Gid_t_f "lu" /**/
+
+/* Gid_t_sign:
+ * This symbol holds the signedess of a Gid_t.
+ * 1 for unsigned, -1 for signed.
+ */
+#define Gid_t_sign 1 /* GID sign */
+
+/* Gid_t_size:
+ * This symbol holds the size of a Gid_t in bytes.
+ */
+#define Gid_t_size 4 /* GID size */
+
+/* Gid_t:
+ * This symbol holds the return type of getgid() and the type of
+ * argument to setrgid() and related functions. Typically,
+ * it is the type of group ids in the kernel. It can be int, ushort,
+ * gid_t, etc... It may be necessary to include <sys/types.h> to get
+ * any typedef'ed information.
+ */
+#define Gid_t int /* Type for getgid(), etc... */
+
/* I_DIRENT:
* This symbol, if defined, indicates to the C program that it should
* include <dirent.h>. Using this symbol also triggers the definition
@@ -2893,6 +2729,12 @@
/*#define I_GRP / **/
/*#define GRPASSWD / **/
+/* I_MACH_CTHREADS:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <mach/cthreads.h>.
+ */
+/*#define I_MACH_CTHREADS / **/
+
/* I_NDBM:
* This symbol, if defined, indicates that <ndbm.h> exists and should
* be included.
@@ -2944,6 +2786,12 @@
*/
/*#define I_NET_ERRNO / **/
+/* I_PTHREAD:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <pthread.h>.
+ */
+/*#define I_PTHREAD / **/
+
/* I_PWD:
* This symbol, if defined, indicates to the C program that it should
* include <pwd.h>.
@@ -2990,12 +2838,50 @@
/*#define PWGECOS / **/
/*#define PWPASSWD / **/
+/* I_SYS_ACCESS:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/access.h>.
+ */
+/*#define I_SYS_ACCESS / **/
+
+/* I_SYS_SECURITY:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/security.h>.
+ */
+/*#define I_SYS_SECURITY / **/
+
/* I_SYSUIO:
* This symbol, if defined, indicates that <sys/uio.h> exists and
* should be included.
*/
/*#define I_SYSUIO / **/
+/* I_TIME:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <time.h>.
+ */
+/* I_SYS_TIME:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/time.h>.
+ */
+/* I_SYS_TIME_KERNEL:
+ * This symbol, if defined, indicates to the C program that it should
+ * include <sys/time.h> with KERNEL defined.
+ */
+/* HAS_TM_TM_ZONE:
+ * This symbol, if defined, indicates to the C program that
+ * the struct tm has a tm_zone field.
+ */
+/* HAS_TM_TM_GMTOFF:
+ * This symbol, if defined, indicates to the C program that
+ * the struct tm has a tm_gmtoff field.
+ */
+#define I_TIME /**/
+/*#define I_SYS_TIME / **/
+/*#define I_SYS_TIME_KERNEL / **/
+/*#define HAS_TM_TM_ZONE / **/
+/*#define HAS_TM_TM_GMTOFF / **/
+
/* I_STDARG:
* This symbol, if defined, indicates that <stdarg.h> exists and should
* be included.
@@ -3007,6 +2893,36 @@
#define I_STDARG /**/
/*#define I_VARARGS / **/
+/* PERL_INC_VERSION_LIST:
+ * This variable specifies the list of subdirectories in over
+ * which perl.c:incpush() and lib/lib.pm will automatically
+ * search when adding directories to @INC, in a format suitable
+ * for a C initialization string. See the inc_version_list entry
+ * in Porting/Glossary for more details.
+ */
+/*#define PERL_INC_VERSION_LIST NULL / **/
+
+/* INSTALL_USR_BIN_PERL:
+ * This symbol, if defined, indicates that Perl is to be installed
+ * also as /usr/bin/perl.
+ */
+/*#define INSTALL_USR_BIN_PERL / **/
+
+/* Off_t:
+ * This symbol holds the type used to declare offsets in the kernel.
+ * It can be int, long, off_t, etc... It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+/* LSEEKSIZE:
+ * This symbol holds the number of bytes used by the Off_t.
+ */
+/* Off_t_size:
+ * This symbol holds the number of bytes used by the Off_t.
+ */
+#define Off_t int /* <offset> type */
+#define LSEEKSIZE 4 /* <offset> size */
+#define Off_t_size 4 /* <offset> size */
+
/* Free_t:
* This variable contains the return type of free(). It is usually
* void, but occasionally int.
@@ -3027,6 +2943,92 @@
*/
/*#define MYMALLOC / **/
+/* Mode_t:
+ * This symbol holds the type used to declare file modes
+ * for systems calls. It is usually mode_t, but may be
+ * int or unsigned short. It may be necessary to include <sys/types.h>
+ * to get any typedef'ed information.
+ */
+#define Mode_t int /* file mode parameter for system calls */
+
+/* VAL_O_NONBLOCK:
+ * This symbol is to be used during open() or fcntl(F_SETFL) to turn on
+ * non-blocking I/O for the file descriptor. Note that there is no way
+ * back, i.e. you cannot turn it blocking again this way. If you wish to
+ * alternatively switch between blocking and non-blocking, use the
+ * ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
+ */
+/* VAL_EAGAIN:
+ * This symbol holds the errno error code set by read() when no data was
+ * present on the non-blocking file descriptor.
+ */
+/* RD_NODATA:
+ * This symbol holds the return code from read() when no data is present
+ * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
+ * not defined, then you can't distinguish between no data and EOF by
+ * issuing a read(). You'll have to find another way to tell for sure!
+ */
+/* EOF_NONBLOCK:
+ * This symbol, if defined, indicates to the C program that a read() on
+ * a non-blocking file descriptor will return 0 on EOF, and not the value
+ * held in RD_NODATA (-1 usually, in that case!).
+ */
+#define VAL_O_NONBLOCK O_NONBLOCK
+#define VAL_EAGAIN EAGAIN
+#define RD_NODATA -1
+#undef EOF_NONBLOCK
+
+/* Netdb_host_t:
+ * This symbol holds the type used for the 1st argument
+ * to gethostbyaddr().
+ */
+/* Netdb_hlen_t:
+ * This symbol holds the type used for the 2nd argument
+ * to gethostbyaddr().
+ */
+/* Netdb_name_t:
+ * This symbol holds the type used for the argument to
+ * gethostbyname().
+ */
+/* Netdb_net_t:
+ * This symbol holds the type used for the 1st argument to
+ * getnetbyaddr().
+ */
+#define Netdb_host_t const char * /**/
+#define Netdb_hlen_t int /**/
+#define Netdb_name_t const char * /**/
+#define Netdb_net_t unsigned long /**/
+
+/* PERL_OTHERLIBDIRS:
+ * This variable contains a colon-separated set of paths for the perl
+ * binary to search for additional library files or modules.
+ * These directories will be tacked to the end of @INC.
+ * Perl will automatically search below each path for version-
+ * and architecture-specific directories. See PERL_INC_VERSION_LIST
+ * for more details.
+ */
+/*#define PERL_OTHERLIBDIRS " " / **/
+
+/* Pid_t:
+ * This symbol holds the type used to declare process ids in the kernel.
+ * It can be int, uint, pid_t, etc... It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+#define Pid_t int /* PID type */
+
+/* PRIVLIB:
+ * This symbol contains the name of the private library for this package.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world. The program
+ * should be prepared to do ~ expansion.
+ */
+/* PRIVLIB_EXP:
+ * This symbol contains the ~name expanded version of PRIVLIB, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define PRIVLIB "/usr/local/lib/perl5/5.16" /**/
+#define PRIVLIB_EXP "/usr/local/lib/perl5/5.16" /**/
+
/* CAN_PROTOTYPE:
* If defined, this macro indicates that the C compiler can handle
* function prototypes.
@@ -3045,6 +3047,65 @@
#define _(args) ()
#endif
+/* PTRSIZE:
+ * This symbol contains the size of a pointer, so that the C preprocessor
+ * can make decisions based on it. It will be sizeof(void *) if
+ * the compiler supports (void *); otherwise it will be
+ * sizeof(char *).
+ */
+#define PTRSIZE 4 /**/
+
+/* HAS_QUAD:
+ * This symbol, if defined, tells that there's a 64-bit integer type,
+ * Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one
+ * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T,
+ * or QUAD_IS___INT64.
+ */
+/*#define HAS_QUAD / **/
+#ifdef HAS_QUAD
+# define Quad_t int64_t /**/
+# define Uquad_t uint64_t /**/
+# define QUADKIND 4 /**/
+# define QUAD_IS_INT 1
+# define QUAD_IS_LONG 2
+# define QUAD_IS_LONG_LONG 3
+# define QUAD_IS_INT64_T 4
+# define QUAD_IS___INT64 5
+#endif
+
+/* Drand01:
+ * This macro is to be used to generate uniformly distributed
+ * random numbers over the range [0., 1.[. You may have to supply
+ * an 'extern double drand48();' in your program since SunOS 4.1.3
+ * doesn't provide you with anything relevant in its headers.
+ * See HAS_DRAND48_PROTO.
+ */
+/* Rand_seed_t:
+ * This symbol defines the type of the argument of the
+ * random seed function.
+ */
+/* seedDrand01:
+ * This symbol defines the macro to be used in seeding the
+ * random number generator (see Drand01).
+ */
+/* RANDBITS:
+ * This symbol indicates how many bits are produced by the
+ * function used to generate normalized random numbers.
+ * Values include 15, 16, 31, and 48.
+ */
+#define Drand01() ((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15)) /**/
+#define Rand_seed_t int /**/
+#define seedDrand01(x) srand((Rand_seed_t)x) /**/
+#define RANDBITS 48 /**/
+
+/* Select_fd_set_t:
+ * This symbol holds the type used for the 2nd, 3rd, and 4th
+ * arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET
+ * is defined, and 'int *' otherwise. This is only useful if you
+ * have select(), of course.
+ */
+#define Select_fd_set_t int /**/
+
/* SH_PATH:
* This symbol contains the full pathname to the shell used on this
* on this system to execute Bourne shell scripts. Usually, this will be
@@ -3094,12 +3155,162 @@
#define SIG_NUM 0 /**/
#define SIG_SIZE 1 /**/
+/* SITEARCH:
+ * This symbol contains the name of the private library for this package.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world. The program
+ * should be prepared to do ~ expansion.
+ * The standard distribution will put nothing in this directory.
+ * After perl has been installed, users may install their own local
+ * architecture-dependent modules in this directory with
+ * MakeMaker Makefile.PL
+ * or equivalent. See INSTALL for details.
+ */
+/* SITEARCH_EXP:
+ * This symbol contains the ~name expanded version of SITEARCH, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/*#define SITEARCH "/usr/local/lib/perl5/5.16/unknown" / **/
+/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.16/unknown" / **/
+
+/* SITELIB:
+ * This symbol contains the name of the private library for this package.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world. The program
+ * should be prepared to do ~ expansion.
+ * The standard distribution will put nothing in this directory.
+ * After perl has been installed, users may install their own local
+ * architecture-independent modules in this directory with
+ * MakeMaker Makefile.PL
+ * or equivalent. See INSTALL for details.
+ */
+/* SITELIB_EXP:
+ * This symbol contains the ~name expanded version of SITELIB, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/* SITELIB_STEM:
+ * This define is SITELIB_EXP with any trailing version-specific component
+ * removed. The elements in inc_version_list (inc_version_list.U) can
+ * be tacked onto this variable to generate a list of directories to search.
+ */
+#define SITELIB "/usr/local/lib/perl5/5.16" /**/
+#define SITELIB_EXP "/usr/local/lib/perl5/5.16" /**/
+#define SITELIB_STEM "/usr/local/lib/perl5" /**/
+
+/* Size_t_size:
+ * This symbol holds the size of a Size_t in bytes.
+ */
+#define Size_t_size 4 /**/
+
+/* Size_t:
+ * This symbol holds the type used to declare length parameters
+ * for string functions. It is usually size_t, but may be
+ * unsigned long, int, etc. It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+#define Size_t size_t /* length parameter for string functions */
+
+/* Sock_size_t:
+ * This symbol holds the type used for the size argument of
+ * various socket calls (just the base type, not the pointer-to).
+ */
+#define Sock_size_t int /**/
+
+/* SSize_t:
+ * This symbol holds the type used by functions that return
+ * a count of bytes or an error condition. It must be a signed type.
+ * It is usually ssize_t, but may be long or int, etc.
+ * It may be necessary to include <sys/types.h> or <unistd.h>
+ * to get any typedef'ed information.
+ * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
+ */
+#define SSize_t int /* signed count of bytes */
+
/* STDCHAR:
* This symbol is defined to be the type of char used in stdio.h.
* It has the values "unsigned char" or "char".
*/
#define STDCHAR char /**/
+/* Uid_t_f:
+ * This symbol defines the format string used for printing a Uid_t.
+ */
+#define Uid_t_f "lu" /**/
+
+/* Uid_t_sign:
+ * This symbol holds the signedess of a Uid_t.
+ * 1 for unsigned, -1 for signed.
+ */
+#define Uid_t_sign 1 /* UID sign */
+
+/* Uid_t_size:
+ * This symbol holds the size of a Uid_t in bytes.
+ */
+#define Uid_t_size 4 /* UID size */
+
+/* Uid_t:
+ * This symbol holds the type used to declare user ids in the kernel.
+ * It can be int, ushort, uid_t, etc... It may be necessary to include
+ * <sys/types.h> to get any typedef'ed information.
+ */
+#define Uid_t int /* UID type */
+
+/* USE_ITHREADS:
+ * This symbol, if defined, indicates that Perl should be built to
+ * use the interpreter-based threading implementation.
+ */
+/* USE_5005THREADS:
+ * This symbol, if defined, indicates that Perl should be built to
+ * use the 5.005-based threading implementation.
+ * Only valid up to 5.8.x.
+ */
+/* OLD_PTHREADS_API:
+ * This symbol, if defined, indicates that Perl should
+ * be built to use the old draft POSIX threads API.
+ */
+/* USE_REENTRANT_API:
+ * This symbol, if defined, indicates that Perl should
+ * try to use the various _r versions of library functions.
+ * This is extremely experimental.
+ */
+/*#define USE_5005THREADS / **/
+/*#define USE_ITHREADS / **/
+#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
+#define USE_THREADS /* until src is revised*/
+#endif
+/*#define OLD_PTHREADS_API / **/
+/*#define USE_REENTRANT_API / **/
+
+/* PERL_VENDORARCH:
+ * If defined, this symbol contains the name of a private library.
+ * The library is private in the sense that it needn't be in anyone's
+ * execution path, but it should be accessible by the world.
+ * It may have a ~ on the front.
+ * The standard distribution will put nothing in this directory.
+ * Vendors who distribute perl may wish to place their own
+ * architecture-dependent modules and extensions in this directory with
+ * MakeMaker Makefile.PL INSTALLDIRS=vendor
+ * or equivalent. See INSTALL for details.
+ */
+/* PERL_VENDORARCH_EXP:
+ * This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/*#define PERL_VENDORARCH "" / **/
+/*#define PERL_VENDORARCH_EXP "" / **/
+
+/* PERL_VENDORLIB_EXP:
+ * This symbol contains the ~name expanded version of VENDORLIB, to be used
+ * in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/* PERL_VENDORLIB_STEM:
+ * This define is PERL_VENDORLIB_EXP with any trailing version-specific component
+ * removed. The elements in inc_version_list (inc_version_list.U) can
+ * be tacked onto this variable to generate a list of directories to search.
+ */
+/*#define PERL_VENDORLIB_EXP "" / **/
+/*#define PERL_VENDORLIB_STEM "" / **/
+
/* VOIDFLAGS:
* This symbol indicates how much support of the void type is given by this
* compiler. What various bits mean:
@@ -3489,6 +3700,12 @@
*/
/*#define HAS_INT64_T / **/
+/* HAS_ISBLANK:
+ * This manifest constant lets the C program know that isblank
+ * is available.
+ */
+/*#define HAS_ISBLANK / **/
+
/* HAS_ISFINITE:
* This symbol, if defined, indicates that the isfinite routine is
* available to check whether a double is finite (non-infinity non-NaN).
@@ -4085,6 +4302,12 @@
*/
/*#define I_SOCKS / **/
+/* I_STDBOOL:
+ * This symbol, if defined, indicates that <stdbool.h> exists and
+ * can be included.
+ */
+/*#define I_STDBOOL / **/
+
/* I_SUNMATH:
* This symbol, if defined, indicates that <sunmath.h> exists and
* should be included.
@@ -4354,6 +4577,16 @@
*/
#define SELECT_MIN_BITS 32 /**/
+/* ST_INO_SIZE:
+ * This variable contains the size of struct stat's st_ino in bytes.
+ */
+/* ST_INO_SIGN:
+ * This symbol holds the signedess of struct stat's st_ino.
+ * 1 for unsigned, -1 for signed.
+ */
+#define ST_INO_SIGN 1 /* st_ino sign */
+#define ST_INO_SIZE 4 /* st_ino size */
+
/* STARTPERL:
* This variable contains the string to put in front of a perl
* script to make sure (one hopes) that it runs with perl and not
@@ -4435,6 +4668,13 @@
/*#define USE_FAST_STDIO / **/
#endif
+/* USE_KERN_PROC_PATHNAME:
+ * This symbol, if defined, indicates that we can use sysctl with
+ * KERN_PROC_PATHNAME to get a full path for the executable, and hence
+ * convert $^X to an absolute path.
+ */
+/*#define USE_KERN_PROC_PATHNAME / **/
+
/* USE_LARGE_FILES:
* This symbol, if defined, indicates that large file support
* should be used when available.
@@ -4467,6 +4707,13 @@
/*#define MULTIPLICITY / **/
#endif
+/* USE_NSGETEXECUTABLEPATH:
+ * This symbol, if defined, indicates that we can use _NSGetExecutablePath
+ * and realpath to get a full path for the executable, and hence convert
+ * $^X to an absolute path.
+ */
+/*#define USE_NSGETEXECUTABLEPATH / **/
+
/* USE_PERLIO:
* This symbol, if defined, indicates that the PerlIO abstraction should
* be used throughout. If not defined, stdio should be
@@ -4484,208 +4731,9 @@
/*#define USE_SOCKS / **/
#endif
-/* HAS_DRAND48_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the drand48() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern double drand48(void);
- */
-/*#define HAS_DRAND48_PROTO / **/
-
-/* HAS_GETHOST_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for gethostent(), gethostbyname(), and
- * gethostbyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define HAS_GETHOST_PROTOS / **/
-
-/* HAS_GETNET_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for getnetent(), getnetbyname(), and
- * getnetbyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define HAS_GETNET_PROTOS / **/
-
-/* HAS_GETPROTO_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for getprotoent(), getprotobyname(), and
- * getprotobyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define HAS_GETPROTO_PROTOS / **/
-
-/* HAS_GETSERV_PROTOS:
- * This symbol, if defined, indicates that <netdb.h> includes
- * prototypes for getservent(), getservbyname(), and
- * getservbyaddr(). Otherwise, it is up to the program to guess
- * them. See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define HAS_GETSERV_PROTOS / **/
-
-/* HAS_LSEEK_PROTO:
- * This symbol, if defined, indicates that the system provides
- * a prototype for the lseek() function. Otherwise, it is up
- * to the program to supply one. A good guess is
- * extern off_t lseek(int, off_t, int);
- */
-/*#define HAS_LSEEK_PROTO / **/
-
-/* Netdb_host_t:
- * This symbol holds the type used for the 1st argument
- * to gethostbyaddr().
- */
-/* Netdb_hlen_t:
- * This symbol holds the type used for the 2nd argument
- * to gethostbyaddr().
- */
-/* Netdb_name_t:
- * This symbol holds the type used for the argument to
- * gethostbyname().
- */
-/* Netdb_net_t:
- * This symbol holds the type used for the 1st argument to
- * getnetbyaddr().
- */
-#define Netdb_host_t const char * /**/
-#define Netdb_hlen_t int /**/
-#define Netdb_name_t const char * /**/
-#define Netdb_net_t unsigned long /**/
-
-/* Select_fd_set_t:
- * This symbol holds the type used for the 2nd, 3rd, and 4th
- * arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET
- * is defined, and 'int *' otherwise. This is only useful if you
- * have select(), of course.
- */
-#define Select_fd_set_t int /**/
-
-/* Sock_size_t:
- * This symbol holds the type used for the size argument of
- * various socket calls (just the base type, not the pointer-to).
- */
-#define Sock_size_t int /**/
-
-/* HAS_TIME:
- * This symbol, if defined, indicates that the time() routine exists.
- */
-/* Time_t:
- * This symbol holds the type returned by time(). It can be long,
- * or time_t on BSD sites (in which case <sys/types.h> should be
- * included).
- */
-#define HAS_TIME /**/
-#define Time_t time_t /* Time type */
-
-/* HAS_TIMES:
- * This symbol, if defined, indicates that the times() routine exists.
- * Note that this became obsolete on some systems (SUNOS), which now
- * use getrusage(). It may be necessary to include <sys/times.h>.
- */
-/*#define HAS_TIMES / **/
-
-/* Fpos_t:
- * This symbol holds the type used to declare file positions in libc.
- * It can be fpos_t, long, uint, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Fpos_t int /* File position type */
-
-/* Gid_t_f:
- * This symbol defines the format string used for printing a Gid_t.
- */
-#define Gid_t_f "lu" /**/
-
-/* Gid_t_sign:
- * This symbol holds the signedess of a Gid_t.
- * 1 for unsigned, -1 for signed.
- */
-#define Gid_t_sign 1 /* GID sign */
-
-/* Gid_t_size:
- * This symbol holds the size of a Gid_t in bytes.
- */
-#define Gid_t_size 4 /* GID size */
-
-/* Gid_t:
- * This symbol holds the return type of getgid() and the type of
- * argument to setrgid() and related functions. Typically,
- * it is the type of group ids in the kernel. It can be int, ushort,
- * gid_t, etc... It may be necessary to include <sys/types.h> to get
- * any typedef'ed information.
- */
-#define Gid_t int /* Type for getgid(), etc... */
-
-/* Off_t:
- * This symbol holds the type used to declare offsets in the kernel.
- * It can be int, long, off_t, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-/* LSEEKSIZE:
- * This symbol holds the number of bytes used by the Off_t.
- */
-/* Off_t_size:
- * This symbol holds the number of bytes used by the Off_t.
- */
-#define Off_t int /* <offset> type */
-#define LSEEKSIZE 4 /* <offset> size */
-#define Off_t_size 4 /* <offset> size */
-
-/* Mode_t:
- * This symbol holds the type used to declare file modes
- * for systems calls. It is usually mode_t, but may be
- * int or unsigned short. It may be necessary to include <sys/types.h>
- * to get any typedef'ed information.
- */
-#define Mode_t int /* file mode parameter for system calls */
-
-/* Pid_t:
- * This symbol holds the type used to declare process ids in the kernel.
- * It can be int, uint, pid_t, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Pid_t int /* PID type */
-
-/* Size_t_size:
- * This symbol holds the size of a Size_t in bytes.
- */
-#define Size_t_size 4 /* */
-
-/* Size_t:
- * This symbol holds the type used to declare length parameters
- * for string functions. It is usually size_t, but may be
- * unsigned long, int, etc. It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Size_t size_t /* length parameter for string functions */
-
-/* Uid_t_f:
- * This symbol defines the format string used for printing a Uid_t.
- */
-#define Uid_t_f "lu" /**/
-
-/* Uid_t_sign:
- * This symbol holds the signedess of a Uid_t.
- * 1 for unsigned, -1 for signed.
- */
-#define Uid_t_sign 1 /* UID sign */
-
-/* Uid_t_size:
- * This symbol holds the size of a Uid_t in bytes.
- */
-#define Uid_t_size 4 /* UID size */
-
-/* Uid_t:
- * This symbol holds the type used to declare user ids in the kernel.
- * It can be int, ushort, uid_t, etc... It may be necessary to include
- * <sys/types.h> to get any typedef'ed information.
- */
-#define Uid_t int /* UID type */
-
#endif
/* Generated from:
- * 323778627146f2762cd41f4dd1db6659f59006ec9bcaaf6bcc645d0380dda938 config_h.SH
- * 2cf3a76ed7acc1c0fee31fb6f5117eef18b28c542aa7225a22c84ed74b710c83 uconfig.sh
+ * d9b6a68b192c72c0695b560fae6e4916b381f55df5fdf7911b0ef434840f092e config_h.SH
+ * 2678333a6d6676f8aa39b7011bf5133dce5be453df10a8d04cb3187103a10caf uconfig.sh
* ex: set ro: */
diff --git a/Master/tlpkg/tlperl/lib/CORE/unixish.h b/Master/tlpkg/tlperl/lib/CORE/unixish.h
index 6ad95c2dc8c..781b0494a51 100644
--- a/Master/tlpkg/tlperl/lib/CORE/unixish.h
+++ b/Master/tlpkg/tlperl/lib/CORE/unixish.h
@@ -133,7 +133,8 @@
#ifndef PERL_SYS_TERM_BODY
# define PERL_SYS_TERM_BODY() \
- HINTS_REFCNT_TERM; OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM;
+ HINTS_REFCNT_TERM; OP_CHECK_MUTEX_TERM; \
+ OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM;
#endif
diff --git a/Master/tlpkg/tlperl/lib/CORE/utf8.h b/Master/tlpkg/tlperl/lib/CORE/utf8.h
index c40fb5883e1..8b5700dd619 100644
--- a/Master/tlpkg/tlperl/lib/CORE/utf8.h
+++ b/Master/tlpkg/tlperl/lib/CORE/utf8.h
@@ -1,6 +1,7 @@
/* utf8.h
*
- * Copyright (C) 2000, 2001, 2002, 2005, 2006, 2007, 2009 by Larry Wall and others
+ * Copyright (C) 2000, 2001, 2002, 2005, 2006, 2007, 2009,
+ * 2010, 2011 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
@@ -16,8 +17,16 @@
# define USE_UTF8_IN_NAMES (PL_hints & HINT_UTF8)
#endif
+/* For to_utf8_fold_flags, q.v. */
+#define FOLD_FLAGS_LOCALE 0x1
+#define FOLD_FLAGS_FULL 0x2
+
#define to_uni_fold(c, p, lenp) _to_uni_fold_flags(c, p, lenp, 1)
-#define to_utf8_fold(c, p, lenp) _to_utf8_fold_flags(c, p, lenp, 1)
+#define to_utf8_fold(c, p, lenp) _to_utf8_fold_flags(c, p, lenp, \
+ FOLD_FLAGS_FULL, NULL)
+#define to_utf8_lower(a,b,c) _to_utf8_lower_flags(a,b,c,0, NULL)
+#define to_utf8_upper(a,b,c) _to_utf8_upper_flags(a,b,c,0, NULL)
+#define to_utf8_title(a,b,c) _to_utf8_title_flags(a,b,c,0, NULL)
/* Source backward compatibility. */
#define uvuni_to_utf8(d, uv) uvuni_to_utf8_flags(d, uv, 0)
@@ -27,6 +36,8 @@
foldEQ_utf8_flags(s1, pe1, l1, u1, s2, pe2, l2, u2, 0)
#define FOLDEQ_UTF8_NOMIX_ASCII (1 << 0)
#define FOLDEQ_UTF8_LOCALE (1 << 1)
+#define FOLDEQ_S1_ALREADY_FOLDED (1 << 2)
+#define FOLDEQ_S2_ALREADY_FOLDED (1 << 3)
/*
=for apidoc ibcmp_utf8
@@ -58,7 +69,8 @@ EXTCONST unsigned char PL_utf8skip[] = {
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* bogus */
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, /* scripts */
3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,6,6, /* cjk etc. */
-7,13, /* Perl extended (not UTF-8). Up to 72bit allowed (64-bit + reserved). */
+7,13, /* Perl extended (not official UTF-8). Up to 72bit allowed (64-bit +
+ reserved). */
};
#else
EXTCONST unsigned char PL_utf8skip[];
@@ -127,12 +139,12 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
*/
#define UNI_IS_INVARIANT(c) (((UV)c) < 0x80)
-/* Note that C0 and C1 are invalid in legal UTF8, so the lower bound of the
- * below might ought to be C2 */
-#define UTF8_IS_START(c) (((U8)c) >= 0xc0)
+#define UTF8_IS_START(c) (((U8)c) >= 0xc2)
#define UTF8_IS_CONTINUATION(c) (((U8)c) >= 0x80 && (((U8)c) <= 0xbf))
#define UTF8_IS_CONTINUED(c) (((U8)c) & 0x80)
-#define UTF8_IS_DOWNGRADEABLE_START(c) (((U8)c & 0xfc) == 0xc0)
+
+/* Masking with 0xfe allows low bit to be 0 or 1; thus this matches 0xc[23] */
+#define UTF8_IS_DOWNGRADEABLE_START(c) (((U8)c & 0xfe) == 0xc2)
#define UTF_START_MARK(len) (((len) > 7) ? 0xFF : (0xFE << (7-(len))))
#define UTF_START_MASK(len) (((len) >= 7) ? 0x00 : (0x1F >> ((len)-2)))
@@ -141,6 +153,12 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
#define UTF_ACCUMULATION_SHIFT 6
#define UTF_CONTINUATION_MASK ((U8)0x3f)
+/* This sets the UTF_CONTINUATION_MASK in the upper bits of a word. If a value
+ * is anded with it, and the result is non-zero, then using the original value
+ * in UTF8_ACCUMULATE will overflow, shifting bits off the left */
+#define UTF_ACCUMULATION_OVERFLOW_MASK \
+ (((UV) UTF_CONTINUATION_MASK) << ((sizeof(UV) * CHARBITS) - UTF_ACCUMULATION_SHIFT))
+
#ifdef HAS_QUAD
#define UNISKIP(uv) ( (uv) < 0x80 ? 1 : \
(uv) < 0x800 ? 2 : \
@@ -201,17 +219,18 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
#define UTF8_EIGHT_BIT_LO(c) UTF8_TWO_BYTE_LO((U8)(c))
/*
- * Note: we try to be careful never to call the isXXX_utf8() functions
- * unless we're pretty sure we've seen the beginning of a UTF-8 or UTFEBCDIC
- * character. Otherwise we risk loading in the heavy-duty swash_init and
- * swash_fetch routines unnecessarily.
+ * 'UTF' is whether or not p is encoded in UTF8. The names 'foo_lazy_if' stem
+ * from an earlier version of these macros in which they didn't call the
+ * foo_utf8() macros (i.e. were 'lazy') unless they decided that *p is the
+ * beginning of a utf8 character. Now that foo_utf8() determines that itself,
+ * no need to do it again here
*/
-#define isIDFIRST_lazy_if(p,c) ((IN_BYTES || (!c || ! UTF8_IS_START(*((const U8*)p)))) \
- ? isIDFIRST(*(p)) \
- : isIDFIRST_utf8((const U8*)p))
-#define isALNUM_lazy_if(p,c) ((IN_BYTES || (!c || ! UTF8_IS_START(*((const U8*)p)))) \
- ? isALNUM(*(p)) \
- : isALNUM_utf8((const U8*)p))
+#define isIDFIRST_lazy_if(p,UTF) ((IN_BYTES || !UTF ) \
+ ? isIDFIRST(*(p)) \
+ : isIDFIRST_utf8((const U8*)p))
+#define isALNUM_lazy_if(p,UTF) ((IN_BYTES || (!UTF )) \
+ ? isALNUM(*(p)) \
+ : isALNUM_utf8((const U8*)p))
#define isIDFIRST_lazy(p) isIDFIRST_lazy_if(p,1)
#define isALNUM_lazy(p) isALNUM_lazy_if(p,1)
@@ -238,8 +257,10 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
#define IN_BYTES (CopHINTS_get(PL_curcop) & HINT_BYTES)
#define DO_UTF8(sv) (SvUTF8(sv) && !IN_BYTES)
-#define IN_UNI_8_BIT ( (CopHINTS_get(PL_curcop) & HINT_UNI_8_BIT) \
- && ! IN_LOCALE_RUNTIME && ! IN_BYTES)
+#define IN_UNI_8_BIT \
+ (CopHINTS_get(PL_curcop) & (HINT_UNI_8_BIT|HINT_LOCALE_NOT_CHARS) \
+ && ! IN_LOCALE_RUNTIME && ! IN_BYTES)
+
#define UTF8_ALLOW_EMPTY 0x0001 /* Allow a zero length string */
@@ -306,7 +327,7 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
*/
#ifdef EBCDIC /* Both versions assume well-formed UTF8 */
# define UTF8_IS_SURROGATE(s) (*(s) == UTF_TO_NATIVE(0xF1) \
- && (*((s) +1) == UTF_TO_NATIVE(0xB6)) || *((s) + 1) == UTF_TO_NATIVE(0xB7))
+ && ((*((s) +1) == UTF_TO_NATIVE(0xB6)) || *((s) + 1) == UTF_TO_NATIVE(0xB7)))
#else
# define UTF8_IS_SURROGATE(s) (*(s) == 0xED && *((s) + 1) >= 0xA0)
#endif
@@ -454,39 +475,37 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
toLOWER((input)[1]) == 's')
#define SHARP_S_SKIP 2
-#ifdef EBCDIC
-/* IS_UTF8_CHAR() is not ported to EBCDIC */
-#else
-#define IS_UTF8_CHAR_1(p) \
+#ifndef EBCDIC
+# define IS_UTF8_CHAR_1(p) \
((p)[0] <= 0x7F)
-#define IS_UTF8_CHAR_2(p) \
+# define IS_UTF8_CHAR_2(p) \
((p)[0] >= 0xC2 && (p)[0] <= 0xDF && \
(p)[1] >= 0x80 && (p)[1] <= 0xBF)
-#define IS_UTF8_CHAR_3a(p) \
+# define IS_UTF8_CHAR_3a(p) \
((p)[0] == 0xE0 && \
(p)[1] >= 0xA0 && (p)[1] <= 0xBF && \
(p)[2] >= 0x80 && (p)[2] <= 0xBF)
-#define IS_UTF8_CHAR_3b(p) \
+# define IS_UTF8_CHAR_3b(p) \
((p)[0] >= 0xE1 && (p)[0] <= 0xEC && \
(p)[1] >= 0x80 && (p)[1] <= 0xBF && \
(p)[2] >= 0x80 && (p)[2] <= 0xBF)
-#define IS_UTF8_CHAR_3c(p) \
+# define IS_UTF8_CHAR_3c(p) \
((p)[0] == 0xED && \
(p)[1] >= 0x80 && (p)[1] <= 0xBF && \
(p)[2] >= 0x80 && (p)[2] <= 0xBF)
-/* In IS_UTF8_CHAR_3c(p) one could use
- * (p)[1] >= 0x80 && (p)[1] <= 0x9F
- * if one wanted to exclude surrogates. */
-#define IS_UTF8_CHAR_3d(p) \
+ /* In IS_UTF8_CHAR_3c(p) one could use
+ * (p)[1] >= 0x80 && (p)[1] <= 0x9F
+ * if one wanted to exclude surrogates. */
+# define IS_UTF8_CHAR_3d(p) \
((p)[0] >= 0xEE && (p)[0] <= 0xEF && \
(p)[1] >= 0x80 && (p)[1] <= 0xBF && \
(p)[2] >= 0x80 && (p)[2] <= 0xBF)
-#define IS_UTF8_CHAR_4a(p) \
+# define IS_UTF8_CHAR_4a(p) \
((p)[0] == 0xF0 && \
(p)[1] >= 0x90 && (p)[1] <= 0xBF && \
(p)[2] >= 0x80 && (p)[2] <= 0xBF && \
(p)[3] >= 0x80 && (p)[3] <= 0xBF)
-#define IS_UTF8_CHAR_4b(p) \
+# define IS_UTF8_CHAR_4b(p) \
((p)[0] >= 0xF1 && (p)[0] <= 0xF3 && \
(p)[1] >= 0x80 && (p)[1] <= 0xBF && \
(p)[2] >= 0x80 && (p)[2] <= 0xBF && \
@@ -499,18 +518,18 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
* since that is not needed (and that would not be strict
* UTF-8, anyway). The "slow path" in Perl_is_utf8_char()
* will take care of the "extended UTF-8". */
-#define IS_UTF8_CHAR_4c(p) \
+# define IS_UTF8_CHAR_4c(p) \
((p)[0] >= 0xF4 && (p)[0] <= 0xF7 && \
(p)[1] >= 0x80 && (p)[1] <= 0xBF && \
(p)[2] >= 0x80 && (p)[2] <= 0xBF && \
(p)[3] >= 0x80 && (p)[3] <= 0xBF)
-#define IS_UTF8_CHAR_3(p) \
+# define IS_UTF8_CHAR_3(p) \
(IS_UTF8_CHAR_3a(p) || \
IS_UTF8_CHAR_3b(p) || \
IS_UTF8_CHAR_3c(p) || \
IS_UTF8_CHAR_3d(p))
-#define IS_UTF8_CHAR_4(p) \
+# define IS_UTF8_CHAR_4(p) \
(IS_UTF8_CHAR_4a(p) || \
IS_UTF8_CHAR_4b(p) || \
IS_UTF8_CHAR_4c(p))
@@ -520,13 +539,65 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
* (2) it allows code points past U+10FFFF.
* The Perl_is_utf8_char() full "slow" code will handle the Perl
* "extended UTF-8". */
-#define IS_UTF8_CHAR(p, n) \
+# define IS_UTF8_CHAR(p, n) \
((n) == 1 ? IS_UTF8_CHAR_1(p) : \
(n) == 2 ? IS_UTF8_CHAR_2(p) : \
(n) == 3 ? IS_UTF8_CHAR_3(p) : \
(n) == 4 ? IS_UTF8_CHAR_4(p) : 0)
-#define IS_UTF8_CHAR_FAST(n) ((n) <= 4)
+# define IS_UTF8_CHAR_FAST(n) ((n) <= 4)
+
+#else /* EBCDIC */
+
+/* This is an attempt to port IS_UTF8_CHAR to EBCDIC based on eyeballing.
+ * untested. If want to exclude surrogates and above-Unicode, see the
+ * definitions for UTF8_IS_SURROGATE and UTF8_IS_SUPER */
+# define IS_UTF8_CHAR_1(p) \
+ (NATIVE_TO_ASCII((p)[0]) <= 0x9F)
+# define IS_UTF8_CHAR_2(p) \
+ (NATIVE_TO_I8((p)[0]) >= 0xC5 && NATIVE_TO_I8((p)[0]) <= 0xDF && \
+ NATIVE_TO_I8((p)[1]) >= 0xA0 && NATIVE_TO_I8((p)[1]) <= 0xBF)
+# define IS_UTF8_CHAR_3(p) \
+ (NATIVE_TO_I8((p)[0]) == 0xE1 && NATIVE_TO_I8((p)[1]) <= 0xEF && \
+ NATIVE_TO_I8((p)[1]) >= 0xA0 && NATIVE_TO_I8((p)[1]) <= 0xBF && \
+ NATIVE_TO_I8((p)[2]) >= 0xA0 && NATIVE_TO_I8((p)[2]) <= 0xBF)
+# define IS_UTF8_CHAR_4a(p) \
+ (NATIVE_TO_I8((p)[0]) == 0xF0 && \
+ NATIVE_TO_I8((p)[1]) >= 0xB0 && NATIVE_TO_I8((p)[1]) <= 0xBF && \
+ NATIVE_TO_I8((p)[2]) >= 0xA0 && NATIVE_TO_I8((p)[2]) <= 0xBF && \
+ NATIVE_TO_I8((p)[3]) >= 0xA0 && NATIVE_TO_I8((p)[3]) <= 0xBF)
+# define IS_UTF8_CHAR_4b(p) \
+ (NATIVE_TO_I8((p)[0]) >= 0xF1 && NATIVE_TO_I8((p)[0]) <= 0xF7 && \
+ NATIVE_TO_I8((p)[1]) >= 0xA0 && NATIVE_TO_I8((p)[1]) <= 0xBF && \
+ NATIVE_TO_I8((p)[2]) >= 0xA0 && NATIVE_TO_I8((p)[2]) <= 0xBF && \
+ NATIVE_TO_I8((p)[3]) >= 0xA0 && NATIVE_TO_I8((p)[3]) <= 0xBF)
+# define IS_UTF8_CHAR_5a(p) \
+ (NATIVE_TO_I8((p)[0]) == 0xF8 && \
+ NATIVE_TO_I8((p)[1]) >= 0xA8 && NATIVE_TO_I8((p)[1]) <= 0xBF && \
+ NATIVE_TO_I8((p)[1]) >= 0xA0 && NATIVE_TO_I8((p)[1]) <= 0xBF && \
+ NATIVE_TO_I8((p)[2]) >= 0xA0 && NATIVE_TO_I8((p)[2]) <= 0xBF && \
+ NATIVE_TO_I8((p)[3]) >= 0xA0 && NATIVE_TO_I8((p)[3]) <= 0xBF)
+# define IS_UTF8_CHAR_5b(p) \
+ (NATIVE_TO_I8((p)[0]) >= 0xF9 && NATIVE_TO_I8((p)[1]) <= 0xFB && \
+ NATIVE_TO_I8((p)[1]) >= 0xA0 && NATIVE_TO_I8((p)[1]) <= 0xBF && \
+ NATIVE_TO_I8((p)[1]) >= 0xA0 && NATIVE_TO_I8((p)[1]) <= 0xBF && \
+ NATIVE_TO_I8((p)[2]) >= 0xA0 && NATIVE_TO_I8((p)[2]) <= 0xBF && \
+ NATIVE_TO_I8((p)[3]) >= 0xA0 && NATIVE_TO_I8((p)[3]) <= 0xBF)
+
+# define IS_UTF8_CHAR_4(p) \
+ (IS_UTF8_CHAR_4a(p) || \
+ IS_UTF8_CHAR_4b(p))
+# define IS_UTF8_CHAR_5(p) \
+ (IS_UTF8_CHAR_5a(p) || \
+ IS_UTF8_CHAR_5b(p))
+# define IS_UTF8_CHAR(p, n) \
+ ((n) == 1 ? IS_UTF8_CHAR_1(p) : \
+ (n) == 2 ? IS_UTF8_CHAR_2(p) : \
+ (n) == 3 ? IS_UTF8_CHAR_3(p) : \
+ (n) == 4 ? IS_UTF8_CHAR_4(p) : \
+ (n) == 5 ? IS_UTF8_CHAR_5(p) : 0)
+
+# define IS_UTF8_CHAR_FAST(n) ((n) <= 5)
#endif /* IS_UTF8_CHAR() for UTF-8 */
diff --git a/Master/tlpkg/tlperl/lib/CORE/utfebcdic.h b/Master/tlpkg/tlperl/lib/CORE/utfebcdic.h
index a9197a9bef9..eff444e7fde 100644
--- a/Master/tlpkg/tlperl/lib/CORE/utfebcdic.h
+++ b/Master/tlpkg/tlperl/lib/CORE/utfebcdic.h
@@ -1,7 +1,7 @@
/* utfebcdic.h
*
- * Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007, 2009 by Larry Wall,
- * Nick Ing-Simmons, and others
+ * Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007, 2009,
+ * 2010, 2011 by Larry Wall, Nick Ing-Simmons, and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
@@ -544,7 +544,9 @@ END_EXTERN_C
#define ASCII_TO_NATIVE(ch) PL_a2e[(U8)(ch)]
/* Transform after encoding, essentially converts to/from I8 */
#define NATIVE_TO_UTF(ch) PL_e2utf[(U8)(ch)] /* to I8 */
+#define NATIVE_TO_I8(ch) NATIVE_TO_UTF(ch) /* synonym */
#define UTF_TO_NATIVE(ch) PL_utf2e[(U8)(ch)] /* from I8 */
+#define I8_TO_NATIVE(ch) UTF_TO_NATIVE(ch) /* synonym */
/* Transform in wide UV char space */
#define NATIVE_TO_UNI(ch) (((ch) > 255) ? (ch) : NATIVE_TO_ASCII(ch))
#define UNI_TO_NATIVE(ch) (((ch) > 255) ? (ch) : ASCII_TO_NATIVE(ch))
@@ -582,10 +584,11 @@ END_EXTERN_C
#define UNI_IS_INVARIANT(c) ((c) < 0xA0)
/* UTF-EBCDIC semantic macros - transform back into I8 and then compare */
-#define UTF8_IS_START(c) (NATIVE_TO_UTF(c) >= 0xA0 && (NATIVE_TO_UTF(c) & 0xE0) != 0xA0)
+
+#define UTF8_IS_START(c) (NATIVE_TO_UTF(c) >= 0xC5 && NATIVE_TO_UTF(c) != 0xE0)
#define UTF8_IS_CONTINUATION(c) ((NATIVE_TO_UTF(c) & 0xE0) == 0xA0)
#define UTF8_IS_CONTINUED(c) (NATIVE_TO_UTF(c) >= 0xA0)
-#define UTF8_IS_DOWNGRADEABLE_START(c) (NATIVE_TO_UTF(c) >= 0xA0 && (NATIVE_TO_UTF(c) & 0xF8) == 0xC0)
+#define UTF8_IS_DOWNGRADEABLE_START(c) (NATIVE_TO_UTF(c) >= 0xC5 && NATIVE_TO_UTF(c) <= 0xC7)
#define UTF_START_MARK(len) (((len) > 7) ? 0xFF : ((U8)(0xFE << (7-(len)))))
#define UTF_START_MASK(len) (((len) >= 6) ? 0x01 : (0x1F >> ((len)-2)))
diff --git a/Master/tlpkg/tlperl/lib/CORE/win32.h b/Master/tlpkg/tlperl/lib/CORE/win32.h
index 4c58b8c2520..e906266a4ad 100644
--- a/Master/tlpkg/tlperl/lib/CORE/win32.h
+++ b/Master/tlpkg/tlperl/lib/CORE/win32.h
@@ -200,38 +200,6 @@ struct utsname {
# define PERL_BITFIELD32 unsigned int
#endif
-#ifdef __BORLANDC__ /* Borland C++ */
-
-#if (__BORLANDC__ <= 0x520)
-#define _access access
-#define _chdir chdir
-#endif
-
-#define _getpid getpid
-#define wcsicmp _wcsicmp
-#include <sys/types.h>
-
-#ifndef DllMain
-#define DllMain DllEntryPoint
-#endif
-
-#pragma warn -8004 /* "'foo' is assigned a value that is never used" */
-#pragma warn -8008 /* "condition is always true/false" */
-#pragma warn -8012 /* "comparing signed and unsigned values" */
-#pragma warn -8027 /* "functions containing %s are not expanded inline" */
-#pragma warn -8057 /* "parameter 'foo' is never used" */
-#pragma warn -8060 /* "possibly incorrect assignment" */
-#pragma warn -8066 /* "unreachable code" */
-#pragma warn -8071 /* "conversion may lose significant digits" */
-#pragma warn -8080 /* "'foo' is declared but never used" */
-
-/* Borland C thinks that a pointer to a member variable is 12 bytes in size. */
-#define PERL_MEMBER_PTR_SIZE 12
-
-#define isnan _isnan
-
-#endif
-
#ifdef _MSC_VER /* Microsoft Visual C++ */
#ifndef UNDER_CE
diff --git a/Master/tlpkg/tlperl/lib/CORE/win32iop-o.h b/Master/tlpkg/tlperl/lib/CORE/win32iop-o.h
index 57b073ba874..6633f7a76ba 100644
--- a/Master/tlpkg/tlperl/lib/CORE/win32iop-o.h
+++ b/Master/tlpkg/tlperl/lib/CORE/win32iop-o.h
@@ -178,15 +178,6 @@ END_EXTERN_C
#undef uname
#undef wait
-#ifdef __BORLANDC__
-#undef ungetc
-#undef getc
-#undef putc
-#undef getchar
-#undef putchar
-#undef fileno
-#endif
-
#define stderr win32_stderr()
#define stdout win32_stdout()
#define stdin win32_stdin()
diff --git a/Master/tlpkg/tlperl/lib/CORE/win32iop.h b/Master/tlpkg/tlperl/lib/CORE/win32iop.h
index 45207900de5..373e3e37ce9 100644
--- a/Master/tlpkg/tlperl/lib/CORE/win32iop.h
+++ b/Master/tlpkg/tlperl/lib/CORE/win32iop.h
@@ -190,15 +190,7 @@ END_EXTERN_C
#undef uname
#undef wait
-#ifdef __BORLANDC__
-#undef ungetc
-#undef getc
-#undef putc
-#undef getchar
-#undef putchar
-#endif
-
-#if defined(__MINGW32__) || defined(__BORLANDC__)
+#if defined(__MINGW32__)
#undef fileno
#endif
diff --git a/Master/tlpkg/tlperl/lib/CORE/win32thread.h b/Master/tlpkg/tlperl/lib/CORE/win32thread.h
index c6f93097ffa..9af3aa3ea2b 100644
--- a/Master/tlpkg/tlperl/lib/CORE/win32thread.h
+++ b/Master/tlpkg/tlperl/lib/CORE/win32thread.h
@@ -109,10 +109,9 @@ typedef HANDLE perl_mutex;
/* XXX Docs mention that the RTL versions of thread creation routines
* should be used, but that advice only seems applicable when the RTL
- * is not in a DLL. RTL DLLs in both Borland and VC seem to do all of
- * the init/deinit required upon DLL_THREAD_ATTACH/DETACH. So we seem
- * to be completely safe using straight Win32 API calls, rather than
- * the much braindamaged RTL calls.
+ * is not in a DLL. RTL DLLs seem to do all of the init/deinit required
+ * upon DLL_THREAD_ATTACH/DETACH. So we seem to be completely safe using
+ * straight Win32 API calls, rather than the much braindamaged RTL calls.
*
* _beginthread() in the RTLs call CloseHandle() just after the thread
* function returns, which means: 1) we have a race on our hands
@@ -123,11 +122,7 @@ typedef HANDLE perl_mutex;
*/
#ifdef USE_RTL_THREAD_API
# include <process.h>
-# if defined(__BORLANDC__)
- /* Borland RTL doesn't allow a return value from thread function! */
-# define THREAD_RET_TYPE void _USERENTRY
-# define THREAD_RET_CAST(p) ((void)(thr->i.retv = (void *)(p)))
-# elif defined (_MSC_VER)
+# if defined (_MSC_VER)
# define THREAD_RET_TYPE unsigned __stdcall
# define THREAD_RET_CAST(p) ((unsigned)(p))
# else
@@ -145,7 +140,7 @@ typedef THREAD_RET_TYPE thread_func_t(void *);
START_EXTERN_C
-#if defined(PERLDLL) && defined(USE_DECLSPEC_THREAD) && (!defined(__BORLANDC__) || defined(_DLL))
+#if defined(PERLDLL) && defined(USE_DECLSPEC_THREAD)
extern __declspec(thread) void *PL_current_context;
#define PERL_SET_CONTEXT(t) (PL_current_context = t)
#define PERL_GET_CONTEXT PL_current_context
diff --git a/Master/tlpkg/tlperl/lib/CPAN.pm b/Master/tlpkg/tlperl/lib/CPAN.pm
index f83e2985e00..4e1f2a30186 100644
--- a/Master/tlpkg/tlperl/lib/CPAN.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN.pm
@@ -2,7 +2,7 @@
# vim: ts=4 sts=4 sw=4:
use strict;
package CPAN;
-$CPAN::VERSION = '1.9600_01';
+$CPAN::VERSION = '1.9800';
$CPAN::VERSION =~ s/_//;
# we need to run chdir all over and we would get at wrong libraries
@@ -37,6 +37,7 @@ use CPAN::Shell;
use CPAN::LWP::UserAgent;
use CPAN::Exception::RecursiveDependency;
use CPAN::Exception::yaml_not_installed;
+use CPAN::Exception::yaml_process_error;
use Carp ();
use Config ();
@@ -1069,7 +1070,7 @@ sub has_usable {
# don't die, because we may need
# Archive::Tar to upgrade
}
-
+
}
},
],
@@ -1469,14 +1470,14 @@ mentioned four. Each of the four entities is implemented as a class
with slightly differing methods for displaying an object.
Arguments to these commands are either strings exactly matching
-the identification string of an object, or regular expressions
+the identification string of an object, or regular expressions
matched case-insensitively against various attributes of the
objects. The parser only recognizes a regular expression when you
enclose it with slashes.
The principle is that the number of objects found influences how an
item is displayed. If the search finds one item, the result is
-displayed with the rather verbose method C<as_string>, but if
+displayed with the rather verbose method C<as_string>, but if
more than one is found, each object is displayed with the terse method
C<as_glimpse>.
@@ -1588,7 +1589,7 @@ being executed within the distribution file's working directory.
C<readme> displays the README file of the associated distribution.
C<Look> gets and untars (if not yet done) the distribution file,
changes to the appropriate directory and opens a subshell process in
-that directory. C<perldoc> displays the module's pod documentation
+that directory. C<perldoc> displays the module's pod documentation
in html or plain text format.
=item C<ls> author
@@ -1699,8 +1700,11 @@ literal backslash.
C<autobundle> writes a bundle file into the
C<$CPAN::Config-E<gt>{cpan_home}/Bundle> directory. The file contains
a list of all modules that are both available from CPAN and currently
-installed within @INC. The name of the bundle file is based on the
-current date and a counter.
+installed within @INC. Duplicates of each distribution are suppressed.
+The name of the bundle file is based on the current date and a
+counter.
+
+Return value: path to the written file.
=head2 hosts
@@ -1718,10 +1722,35 @@ mkmyconfig() writes your own CPAN::MyConfig file into your C<~/.cpan/>
directory so that you can save your own preferences instead of the
system-wide ones.
+=head2 r [Module|/Regexp/]...
+
+scans current perl installation for modules that have a newer version
+available on CPAN and provides a list of them. If called without
+argument, all potential upgrades are listed; if called with arguments
+the list is filtered to the modules and regexps given as arguments.
+
+The listing looks something like this:
+
+ Package namespace installed latest in CPAN file
+ CPAN 1.94_64 1.9600 ANDK/CPAN-1.9600.tar.gz
+ CPAN::Reporter 1.1801 1.1902 DAGOLDEN/CPAN-Reporter-1.1902.tar.gz
+ YAML 0.70 0.73 INGY/YAML-0.73.tar.gz
+ YAML::Syck 1.14 1.17 AVAR/YAML-Syck-1.17.tar.gz
+ YAML::Tiny 1.44 1.50 ADAMK/YAML-Tiny-1.50.tar.gz
+ CGI 3.43 3.55 MARKSTOS/CGI.pm-3.55.tar.gz
+ Module::Build::YAML 1.40 1.41 DAGOLDEN/Module-Build-0.3800.tar.gz
+ TAP::Parser::Result::YAML 3.22 3.23 ANDYA/Test-Harness-3.23.tar.gz
+ YAML::XS 0.34 0.35 INGY/YAML-LibYAML-0.35.tar.gz
+
+It suppresses duplicates in the column C<in CPAN file> such that
+distributions with many upgradeable modules are listed only once.
+
+Note that the list is not sorted.
+
=head2 recent ***EXPERIMENTAL COMMAND***
The C<recent> command downloads a list of recent uploads to CPAN and
-displays them I<slowly>. While the command is running, a $SIG{INT}
+displays them I<slowly>. While the command is running, a $SIG{INT}
exits the loop after displaying the current item.
B<Note>: This command requires XML::LibXML installed.
@@ -1776,7 +1805,7 @@ approach will likely remain.
B<Note>: See also L<recent>
-=head2 upgrade [Module|/Regex/]...
+=head2 upgrade [Module|/Regexp/]...
The C<upgrade> command first runs an C<r> command with the given
arguments and then installs the newest versions of all modules that
@@ -1895,7 +1924,7 @@ Example:
o conf shell
If KEY starts and ends with a slash, the string in between is
-treated as a regular expression and only keys matching this regex
+treated as a regular expression and only keys matching this regexp
are displayed
Example:
@@ -1998,7 +2027,7 @@ currently defined:
inactivity_timeout breaks interactive Makefile.PLs or Build.PLs
after this many seconds inactivity. Set to 0 to
disable timeouts.
- index_expire refetch index files after this many days
+ index_expire refetch index files after this many days
inhibit_startup_message
if true, suppress the startup message
keep_source_where directory in which to keep the source (if we do)
@@ -2192,7 +2221,7 @@ randomness into the URL selection.
Since CPAN.pm version 1.88_51 modules declared as C<build_requires> by
a distribution are treated differently depending on the config
variable C<build_requires_install_policy>. By setting
-C<build_requires_install_policy> to C<no>, such a module is not
+C<build_requires_install_policy> to C<no>, such a module is not
installed. It is only built and tested, and then kept in the list of
tested but uninstalled modules. As such, it is available during the
build of the dependent module by integrating the path to the
@@ -2246,7 +2275,7 @@ temporarily override assorted C<CPAN.pm> configuration variables
=item
-specify dependencies the original maintainer forgot
+specify dependencies the original maintainer forgot
=item
@@ -2583,7 +2612,7 @@ needs. You have been warned:-)
=head1 PROGRAMMER'S INTERFACE
-If you do not enter the shell, shell commands are
+If you do not enter the shell, shell commands are
available both as methods (C<CPAN::Shell-E<gt>install(...)>) and as
functions in the calling package (C<install(...)>). Before calling low-level
commands, it makes sense to initialize components of CPAN you need, e.g.:
@@ -2596,9 +2625,20 @@ High-level commands do such initializations automatically.
There's currently only one class that has a stable interface -
CPAN::Shell. All commands that are available in the CPAN shell are
-methods of the class CPAN::Shell. Each of the commands that produce
-listings of modules (C<r>, C<autobundle>, C<u>) also return a list of
-the IDs of all modules within the list.
+methods of the class CPAN::Shell. The arguments on the commandline are
+passed as arguments to the method.
+
+So if you take for example the shell command
+
+ notest install A B C
+
+the actually executed command is
+
+ CPAN::Shell->notest("install","A","B","C");
+
+Each of the commands that produce listings of modules (C<r>,
+C<autobundle>, C<u>) also return a list of the IDs of all modules
+within the list.
=over 2
@@ -2650,7 +2690,7 @@ all modules that need updating. First a quick and dirty way:
If you don't want any output should all modules be
up to date, parse the output of above command for the regular
expression C</modules are up to date/> and decide to mail the output
-only if it doesn't match.
+only if it doesn't match.
If you prefer to do it more in a programmerish style in one single
process, something like this may better suit you:
@@ -2837,7 +2877,7 @@ cancellation can be avoided by letting C<force> run the C<install> for
you.
This install method only has the power to install the distribution if
-there are no dependencies in the way. To install an object along with all
+there are no dependencies in the way. To install an object along with all
its dependencies, use CPAN::Shell->install.
Note that install() gives no meaningful return value. See uptodate().
@@ -3231,7 +3271,7 @@ the software producing the indices on CPAN, the mirroring process on CPAN,
packaging, configuration, synchronicity, and even (gasp!) due to bugs
within the CPAN.pm module itself.
-For debugging the code of CPAN.pm itself in interactive mode, some
+For debugging the code of CPAN.pm itself in interactive mode, some
debugging aid can be turned on for most packages within
CPAN.pm with one of
@@ -3387,7 +3427,7 @@ Maintaining a bundle definition file means keeping track of two
things: dependencies and interactivity. CPAN.pm sometimes fails on
calculating dependencies because not all modules define all MakeMaker
attributes correctly, so a bundle definition file should specify
-prerequisites as early as possible. On the other hand, it's
+prerequisites as early as possible. On the other hand, it's
annoying that so many distributions need some interactive configuring. So
what you can try to accomplish in your private bundle file is to have the
packages that need to be configured early in the file and the gentle
@@ -3432,7 +3472,7 @@ need Net::FTP.
=item One-way visibility
-One-way visibility means these firewalls try to make themselves
+One-way visibility means these firewalls try to make themselves
invisible to users inside the firewall. An FTP data connection is
normally created by sending your IP address to the remote server and then
listening for the return connection. But the remote server will not be able to
diff --git a/Master/tlpkg/tlperl/lib/CPAN/CacheMgr.pm b/Master/tlpkg/tlperl/lib/CPAN/CacheMgr.pm
index b9b4eeb32bf..23e756e75b2 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/CacheMgr.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/CacheMgr.pm
@@ -49,6 +49,7 @@ sub tidyup {
$self->_clean_cache($toremove);
return if $CPAN::Signal;
}
+ $self->{FIFO} = [];
}
#-> sub CPAN::CacheMgr::dir ;
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Distribution.pm b/Master/tlpkg/tlperl/lib/CPAN/Distribution.pm
index 637ab277d96..32648ecc1ff 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Distribution.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Distribution.pm
@@ -8,7 +8,7 @@ use CPAN::InfoObj;
use File::Path ();
@CPAN::Distribution::ISA = qw(CPAN::InfoObj);
use vars qw($VERSION);
-$VERSION = "1.9602_01";
+$VERSION = "1.9602";
# Accessors
sub cpan_comment {
@@ -158,7 +158,7 @@ sub tested_ok_but_not_installed {
||
$self->{install}->failed
)
- );
+ );
}
@@ -741,7 +741,7 @@ sub choose_MM_or_MB {
$prefer_installer = CPAN::HandleConfig->prefs_lookup(
$self, q{prefer_installer}
);
- # M::B <= 0.35 left a DATA handle open that
+ # M::B <= 0.35 left a DATA handle open that
# causes problems upgrading M::B on Windows
close *Module::Build::Version::DATA
if fileno *Module::Build::Version::DATA;
@@ -777,6 +777,12 @@ sub choose_MM_or_MB {
sub store_persistent_state {
my($self) = @_;
my $dir = $self->{build_dir};
+ unless (defined $dir && length $dir) {
+ my $id = $self->id;
+ $CPAN::Frontend->mywarnonce("build_dir of $id is not known, ".
+ "will not store persistent state\n");
+ return;
+ }
unless (File::Spec->canonpath(File::Basename::dirname($dir))
eq File::Spec->canonpath($CPAN::Config->{build_dir})) {
$CPAN::Frontend->mywarnonce("Directory '$dir' not below $CPAN::Config->{build_dir}, ".
@@ -859,7 +865,7 @@ sub try_download {
}
}
my $countedpatches = @$patches == 1 ? "1 patch" : (scalar @$patches . " patches");
- $CPAN::Frontend->myprint("Going to apply $countedpatches:\n");
+ $CPAN::Frontend->myprint("Applying $countedpatches:\n");
my $patches_dir = $CPAN::Config->{patches_dir};
for my $patch (@$patches) {
if ($patches_dir && !File::Spec->file_name_is_absolute($patch)) {
@@ -1845,7 +1851,7 @@ is part of the perl-%s distribution. To install that, you need to run
delete $self->{force_update};
return;
}
- $CPAN::Frontend->myprint("\n CPAN.pm: Going to build ".$self->id."\n\n");
+ $CPAN::Frontend->myprint("\n CPAN.pm: Building ".$self->id."\n\n");
$self->debug("Changed directory to $builddir") if $CPAN::DEBUG;
if ($^O eq 'MacOS') {
@@ -2886,8 +2892,8 @@ sub read_yaml {
if $CPAN::DEBUG;
$self->debug($yaml) if $CPAN::DEBUG && $yaml;
# MYMETA.yml is static and authoritative by definition
- if ( $meta_file =~ /MYMETA\.yml/ ) {
- return $yaml;
+ if ( $meta_file =~ /MYMETA\.yml/ ) {
+ return $yaml;
}
# META.yml is authoritative only if dynamic_config is defined and false
if ( defined $yaml->{dynamic_config} && ! $yaml->{dynamic_config} ) {
@@ -3167,7 +3173,7 @@ sub test {
# bypass actual tests if "trust_test_report_history" and have a report
my $have_tested_fcn;
if ( $CPAN::Config->{trust_test_report_history}
- && $CPAN::META->has_inst("CPAN::Reporter::History")
+ && $CPAN::META->has_inst("CPAN::Reporter::History")
&& ( $have_tested_fcn = CPAN::Reporter::History->can("have_tested" ))) {
if ( my @reports = $have_tested_fcn->( dist => $self->base_id ) ) {
# Do nothing if grade was DISCARD
@@ -3287,43 +3293,43 @@ sub test {
sub _make_test_illuminate_prereqs {
my($self) = @_;
- my @prereq;
-
- # local $CPAN::DEBUG = 16; # Distribution
- for my $m (keys %{$self->{sponsored_mods}}) {
- next unless $self->{sponsored_mods}{$m} > 0;
- my $m_obj = CPAN::Shell->expand("Module",$m) or next;
- # XXX we need available_version which reflects
- # $ENV{PERL5LIB} so that already tested but not yet
- # installed modules are counted.
- my $available_version = $m_obj->available_version;
- my $available_file = $m_obj->available_file;
- if ($available_version &&
- !CPAN::Version->vlt($available_version,$self->{prereq_pm}{$m})
- ) {
- CPAN->debug("m[$m] good enough available_version[$available_version]")
- if $CPAN::DEBUG;
- } elsif ($available_file
- && (
- !$self->{prereq_pm}{$m}
- ||
- $self->{prereq_pm}{$m} == 0
- )
- ) {
- # lex Class::Accessor::Chained::Fast which has no $VERSION
- CPAN->debug("m[$m] have available_file[$available_file]")
- if $CPAN::DEBUG;
- } else {
- push @prereq, $m;
- }
- }
+ my @prereq;
+
+ # local $CPAN::DEBUG = 16; # Distribution
+ for my $m (keys %{$self->{sponsored_mods}}) {
+ next unless $self->{sponsored_mods}{$m} > 0;
+ my $m_obj = CPAN::Shell->expand("Module",$m) or next;
+ # XXX we need available_version which reflects
+ # $ENV{PERL5LIB} so that already tested but not yet
+ # installed modules are counted.
+ my $available_version = $m_obj->available_version;
+ my $available_file = $m_obj->available_file;
+ if ($available_version &&
+ !CPAN::Version->vlt($available_version,$self->{prereq_pm}{$m})
+ ) {
+ CPAN->debug("m[$m] good enough available_version[$available_version]")
+ if $CPAN::DEBUG;
+ } elsif ($available_file
+ && (
+ !$self->{prereq_pm}{$m}
+ ||
+ $self->{prereq_pm}{$m} == 0
+ )
+ ) {
+ # lex Class::Accessor::Chained::Fast which has no $VERSION
+ CPAN->debug("m[$m] have available_file[$available_file]")
+ if $CPAN::DEBUG;
+ } else {
+ push @prereq, $m;
+ }
+ }
my $but;
- if (@prereq) {
- my $cnt = @prereq;
- my $which = join ",", @prereq;
+ if (@prereq) {
+ my $cnt = @prereq;
+ my $which = join ",", @prereq;
$but = $cnt == 1 ? "one dependency not OK ($which)" :
- "$cnt dependencies missing ($which)";
- }
+ "$cnt dependencies missing ($which)";
+ }
$but;
}
@@ -3669,7 +3675,7 @@ sub perldoc {
$CPAN::Frontend->myprint(qq{
Function system("@args")
returned status $estatus (wstat $wstatus)
- });
+ });
}
}
else {
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Distroprefs.pm b/Master/tlpkg/tlperl/lib/CPAN/Distroprefs.pm
index e1be9cdf749..61c389ed2d3 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Distroprefs.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Distroprefs.pm
@@ -169,7 +169,7 @@ sub find {
file => $_, ext => $ext, dir => $dir
});
# copied from CPAN.pm; is this ever actually possible?
- redo unless -f $result->abs;
+ redo unless -f $result->abs;
my $load_method = $self->_load_method($loader, $result);
my @prefs = eval { $self->$load_method($loader, $result) };
@@ -314,7 +314,7 @@ __END__
CPAN::Distroprefs -- read and match distroprefs
-=head1 SYNOPSIS
+=head1 SYNOPSIS
use CPAN::Distroprefs;
@@ -381,7 +381,7 @@ All results share some common attributes:
C<success>, C<warning>, or C<fatal>
-=head3 file
+=head3 file
the file from which these prefs were read, or to which this error refers (relative filename)
@@ -413,7 +413,7 @@ Success results contain:
an arrayref of CPAN::Distroprefs::Pref objects
-=head1 PREFS
+=head1 PREFS
CPAN::Distroprefs::Pref objects represent individual distroprefs documents.
They are constructed automatically as part of C<success> results from C<find()>.
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Exception/yaml_not_installed.pm b/Master/tlpkg/tlperl/lib/CPAN/Exception/yaml_not_installed.pm
index e1259e5397d..1e7fa83a53b 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Exception/yaml_not_installed.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Exception/yaml_not_installed.pm
@@ -20,54 +20,4 @@ sub as_string {
"'$self->{module}' not installed, cannot $self->{during} '$self->{file}'\n";
}
-package CPAN::Exception::yaml_process_error;
-use strict;
-use overload '""' => "as_string";
-
-use vars qw(
- $VERSION
-);
-$VERSION = "5.5";
-
-
-sub new {
- my($class,$module,$file,$during,$error) = @_;
- # my $at = Carp::longmess(""); # XXX find something more beautiful
- bless { module => $module,
- file => $file,
- during => $during,
- error => $error,
- # at => $at,
- }, $class;
-}
-
-sub as_string {
- my($self) = shift;
- if ($self->{during}) {
- if ($self->{file}) {
- if ($self->{module}) {
- if ($self->{error}) {
- return "Alert: While trying to '$self->{during}' YAML file\n".
- " '$self->{file}'\n".
- "with '$self->{module}' the following error was encountered:\n".
- " $self->{error}\n";
- } else {
- return "Alert: While trying to '$self->{during}' YAML file\n".
- " '$self->{file}'\n".
- "with '$self->{module}' some unknown error was encountered\n";
- }
- } else {
- return "Alert: While trying to '$self->{during}' YAML file\n".
- " '$self->{file}'\n".
- "some unknown error was encountered\n";
- }
- } else {
- return "Alert: While trying to '$self->{during}' some YAML file\n".
- "some unknown error was encountered\n";
- }
- } else {
- return "Alert: unknown error encountered\n";
- }
-}
-
1;
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Exception/yaml_process_error.pm b/Master/tlpkg/tlperl/lib/CPAN/Exception/yaml_process_error.pm
new file mode 100644
index 00000000000..ae8c14ebebe
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CPAN/Exception/yaml_process_error.pm
@@ -0,0 +1,53 @@
+# -*- Mode: cperl; coding: utf-8; cperl-indent-level: 4 -*-
+# vim: ts=4 sts=4 sw=4:
+package CPAN::Exception::yaml_process_error;
+use strict;
+use overload '""' => "as_string";
+
+use vars qw(
+ $VERSION
+);
+$VERSION = "5.5";
+
+
+sub new {
+ my($class,$module,$file,$during,$error) = @_;
+ # my $at = Carp::longmess(""); # XXX find something more beautiful
+ bless { module => $module,
+ file => $file,
+ during => $during,
+ error => $error,
+ # at => $at,
+ }, $class;
+}
+
+sub as_string {
+ my($self) = shift;
+ if ($self->{during}) {
+ if ($self->{file}) {
+ if ($self->{module}) {
+ if ($self->{error}) {
+ return "Alert: While trying to '$self->{during}' YAML file\n".
+ " '$self->{file}'\n".
+ "with '$self->{module}' the following error was encountered:\n".
+ " $self->{error}\n";
+ } else {
+ return "Alert: While trying to '$self->{during}' YAML file\n".
+ " '$self->{file}'\n".
+ "with '$self->{module}' some unknown error was encountered\n";
+ }
+ } else {
+ return "Alert: While trying to '$self->{during}' YAML file\n".
+ " '$self->{file}'\n".
+ "some unknown error was encountered\n";
+ }
+ } else {
+ return "Alert: While trying to '$self->{during}' some YAML file\n".
+ "some unknown error was encountered\n";
+ }
+ } else {
+ return "Alert: unknown error encountered\n";
+ }
+}
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/CPAN/FTP.pm b/Master/tlpkg/tlperl/lib/CPAN/FTP.pm
index 4f233814e54..997e141be5a 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/FTP.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/FTP.pm
@@ -21,6 +21,11 @@ $VERSION = "5.5005";
sub _ftp_statistics {
my($self,$fh) = @_;
my $locktype = $fh ? LOCK_EX : LOCK_SH;
+ # XXX On Windows flock() implements mandatory locking, so we can
+ # XXX only use shared locking to still allow _yaml_load_file() to
+ # XXX read from the file using a different filehandle.
+ $locktype = LOCK_SH if $^O eq "MSWin32";
+
$fh ||= FileHandle->new;
my $file = File::Spec->catfile($CPAN::Config->{cpan_home},"FTPstats.yml");
mkpath dirname $file;
@@ -56,6 +61,7 @@ sub _ftp_statistics {
$CPAN::Frontend->mydie($@);
}
}
+ CPAN::_flock($fh, LOCK_UN);
return $stats->[0];
}
@@ -567,7 +573,7 @@ sub hostdleasy { #called from hostdlxxx
$ThesiteURL = $ro_url;
return $l;
}
- # If request is for a compressed file and we can find the
+ # If request is for a compressed file and we can find the
# uncompressed file also, return the path of the uncompressed file
# otherwise, decompress it and return the resulting path
if ($l =~ /(.+)\.gz$/) {
@@ -975,7 +981,7 @@ ftp config variable with
Trying with external ftp to get
'$url'
$netrc_explain
- Going to send the dialog
+ Sending the dialog
$dialog
}
);
@@ -1014,7 +1020,7 @@ $dialog
$CPAN::Frontend->myprint(qq{
Trying with external ftp to get
$url
- Going to send the dialog
+ Sending the dialog
$dialog
}
);
diff --git a/Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm b/Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm
index 667bdca2f9a..5030ef9b838 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/FirstTime.pm
@@ -202,8 +202,8 @@ Preferred method for determining the current working directory?
=item halt_on_failure
Normally, CPAN.pm continues processing the full list of targets and
-dependencies, even if one of them fails. However, you can specify
-that CPAN should halt after the first failure.
+dependencies, even if one of them fails. However, you can specify
+that CPAN should halt after the first failure.
Do you want to halt on failure (yes/no)?
@@ -339,7 +339,7 @@ Your choice:
Parameters for the './Build install' command? Typical frequently used
setting:
- --uninst 1 # uninstall conflicting files
+ --uninst 1 # uninstall conflicting files
# (but do NOT use with local::lib or INSTALL_BASE)
Your choice:
@@ -781,8 +781,8 @@ sub init {
if ( $args{autoconfig} ) {
$auto_config = 1;
} elsif ($matcher) {
- $auto_config = 0;
- } else {
+ $auto_config = 0;
+ } else {
my $_conf = prompt($prompts{auto_config}, "yes");
$auto_config = ($_conf and $_conf =~ /^y/i) ? 1 : 0;
}
@@ -795,7 +795,7 @@ sub init {
my $i_am_mad = 0;
# silent prompting -- just quietly use default
*_real_prompt = sub { return $_[1] };
- }
+ }
#
# bootstrap local::lib or sudo
@@ -993,8 +993,8 @@ sub init {
my_dflt_prompt(makepl_arg => "", $matcher);
my_dflt_prompt(make_arg => "", $matcher);
if ( $CPAN::Config->{makepl_arg} =~ /LIBS=|INC=/ ) {
- $CPAN::Frontend->mywarn(
- "Warning: Using LIBS or INC in makepl_arg will likely break distributions\n" .
+ $CPAN::Frontend->mywarn(
+ "Warning: Using LIBS or INC in makepl_arg will likely break distributions\n" .
"that specify their own LIBS or INC options in Makefile.PL.\n"
);
}
@@ -1224,9 +1224,9 @@ sub init {
);
}
else {
- $CPAN::Frontend->myprint(
- "Autoconfigured everything but 'urllist'.\n"
- );
+ $CPAN::Frontend->myprint(
+ "Autoconfigured everything but 'urllist'.\n"
+ );
_do_pick_mirrors();
}
}
@@ -1247,8 +1247,8 @@ sub init {
$CPAN::Frontend->myprint(
"Skipping local::lib bootstrap because 'urllist' is not configured.\n"
);
- }
- else {
+ }
+ else {
$CPAN::Frontend->myprint("\nAttempting to bootstrap local::lib...\n");
$CPAN::Frontend->myprint("\nWriting $configpm for bootstrap...\n");
delete $CPAN::Config->{install_help}; # temporary only
@@ -1268,11 +1268,11 @@ sub init {
$CPAN::Frontend->myprint("From the CPAN Shell, you might try 'look local::lib' and \n"
. "run 'perl Makefile --bootstrap' and see if that is successful. Then\n"
. "restart your CPAN client\n"
- );
+ );
}
else {
_local_lib_config();
- }
+ }
}
}
@@ -1515,7 +1515,7 @@ ALERT: 'make' is an essential tool for building perl Modules.
Please make sure you have 'make' (or some equivalent) working.
HERE
- if ($^O eq "MSWin32") {
+ if ($^O eq "MSWin32") {
$CPAN::Frontend->mywarn(<<"HERE");
Windows users may want to follow this procedure when back in the CPAN shell:
@@ -1528,7 +1528,7 @@ substitute. You can then revisit this dialog with
o conf init make
HERE
- }
+ }
}
sub init_cpan_home {
@@ -1657,7 +1657,7 @@ sub my_prompt_loop {
# (2) We don't have a copy at all
# (2a) If we are allowed to connect, we try to get a new copy. If it succeeds,
# we use it, otherwise, we warn about failure
-# (2b) If we aren't allowed to connect,
+# (2b) If we aren't allowed to connect,
sub conf_sites {
my %args = @_;
@@ -1732,7 +1732,7 @@ HERE
}
else {
$CPAN::Frontend->mywarn(<<'HERE');
-You will need to provide CPAN mirror URLs yourself or set
+You will need to provide CPAN mirror URLs yourself or set
'o conf connect_to_internet_ok 1' and try again.
HERE
}
@@ -1851,7 +1851,9 @@ sub auto_mirrored_by {
my $local = shift or return;
local $|=1;
$CPAN::Frontend->myprint("Looking for CPAN mirrors near you (please be patient)\n");
- my $mirrors = CPAN::Mirrors->new($local);
+ my $mirrors = CPAN::Mirrors->new;
+ $mirrors->parse_mirrored_by($local);
+
my $cnt = 0;
my @best = $mirrors->best_mirrors(
how_many => 3,
@@ -1860,9 +1862,11 @@ sub auto_mirrored_by {
if ($cnt++>60) { $cnt=0; $CPAN::Frontend->myprint("\n"); }
},
);
+
my $urllist = [ map { $_->http } @best ];
push @$urllist, grep { /^file:/ } @{$CPAN::Config->{urllist}};
$CPAN::Frontend->myprint(" done!\n\n");
+
return $urllist
}
@@ -1998,8 +2002,8 @@ later if you\'re sure it\'s right.\n},
sub _print_urllist {
my ($which) = @_;
$CPAN::Frontend->myprint("$which urllist\n");
- for ( @{$CPAN::Config->{urllist} || []} ) {
- $CPAN::Frontend->myprint(" $_\n")
+ for ( @{$CPAN::Config->{urllist} || []} ) {
+ $CPAN::Frontend->myprint(" $_\n")
};
}
diff --git a/Master/tlpkg/tlperl/lib/CPAN/HTTP/Client.pm b/Master/tlpkg/tlperl/lib/CPAN/HTTP/Client.pm
index 52de7fe237c..c5eb0f6a435 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/HTTP/Client.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/HTTP/Client.pm
@@ -31,8 +31,8 @@ sub mirror {
my($self, $uri, $path) = @_;
my $want_proxy = $self->_want_proxy($uri);
- my $http = HTTP::Tiny->new(
- $want_proxy ? (proxy => $self->{proxy}) : ()
+ my $http = HTTP::Tiny->new(
+ $want_proxy ? (proxy => $self->{proxy}) : ()
);
my ($response, %headers);
@@ -112,7 +112,7 @@ sub _get_challenge {
my $auth_list = $response->{headers}(lc $auth_header);
return unless defined $auth_list;
$auth_list = [$auth_list] unless ref $auth_list;
-
+
for my $challenge (@$auth_list) {
$challenge =~ tr/,/;/; # "," is used to separate auth-params!!
($challenge) = $self->split_header_words($challenge);
diff --git a/Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm b/Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm
index 58ccbe50e5d..09c42efee08 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/HandleConfig.pm
@@ -265,11 +265,11 @@ sub commit {
my($self,@args) = @_;
CPAN->debug("args[@args]") if $CPAN::DEBUG;
if ($CPAN::RUN_DEGRADED) {
- $CPAN::Frontend->mydie(
- "'o conf commit' disabled in ".
- "degraded mode. Maybe try\n".
- " !undef \$CPAN::RUN_DEGRADED\n"
- );
+ $CPAN::Frontend->mydie(
+ "'o conf commit' disabled in ".
+ "degraded mode. Maybe try\n".
+ " !undef \$CPAN::RUN_DEGRADED\n"
+ );
}
my ($configpm, $must_reload);
@@ -474,13 +474,13 @@ sub init {
sub require_myconfig_or_config () {
if ( $INC{"CPAN/MyConfig.pm"} || _try_loading("CPAN::MyConfig", cpan_home())) {
return $INC{"CPAN/MyConfig.pm"};
- }
+ }
elsif ( $INC{"CPAN/Config.pm"} || _try_loading("CPAN::Config") ) {
return $INC{"CPAN/Config.pm"};
- }
+ }
else {
return q{};
- }
+ }
}
# Load a module, but ignore "can't locate..." errors
@@ -495,8 +495,8 @@ sub _try_loading {
if ( -f File::Spec->catfile($dir, $file) ) {
unshift @INC, $dir;
last;
+ }
}
- }
eval { require $file };
my $err_myconfig = $@;
@@ -515,7 +515,7 @@ sub cpan_home_dir_candidates {
if ($^O ne 'darwin') {
push @dirs, File::HomeDir->my_data;
# my_data is ~/Library/Application Support on darwin,
- # which causes issues in the toolchain.
+ # which causes issues in the toolchain.
}
push @dirs, File::HomeDir->my_home;
}
@@ -592,7 +592,7 @@ sub make_new_config {
Old configuration file $configpm
moved to $configpm_bak
END
- }
+ }
}
my $fh = FileHandle->new;
if ($fh->open(">$configpm")) {
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Index.pm b/Master/tlpkg/tlperl/lib/CPAN/Index.pm
index 4fcde8c390d..af98d7bf15c 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Index.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Index.pm
@@ -132,7 +132,7 @@ sub reanimate_build_dir {
return;
}
$CPAN::Frontend->myprint
- (sprintf("Going to read %d yaml file%s from %s/\n",
+ (sprintf("Reading %d yaml file%s from %s/\n",
scalar @candidates,
@candidates==1 ? "" : "s",
$CPAN::Config->{build_dir}
@@ -231,7 +231,7 @@ sub rd_authindex {
return unless defined $index_target;
return if CPAN::_sqlite_running();
my @lines;
- $CPAN::Frontend->myprint("Going to read '$index_target'\n");
+ $CPAN::Frontend->myprint("Reading '$index_target'\n");
local(*FH);
tie *FH, 'CPAN::Tarzip', $index_target;
local($/) = "\n";
@@ -271,7 +271,7 @@ sub rd_modpacks {
my($self, $index_target) = @_;
return unless defined $index_target;
return if CPAN::_sqlite_running();
- $CPAN::Frontend->myprint("Going to read '$index_target'\n");
+ $CPAN::Frontend->myprint("Reading '$index_target'\n");
my $fh = CPAN::Tarzip->TIEHANDLE($index_target);
local $_;
CPAN->debug(sprintf "start[%d]", time) if $CPAN::DEBUG;
@@ -494,7 +494,7 @@ sub rd_modlist {
my($cl,$index_target) = @_;
return unless defined $index_target;
return if CPAN::_sqlite_running();
- $CPAN::Frontend->myprint("Going to read '$index_target'\n");
+ $CPAN::Frontend->myprint("Reading '$index_target'\n");
my $fh = CPAN::Tarzip->TIEHANDLE($index_target);
local $_;
my $slurp = "";
@@ -556,7 +556,7 @@ sub write_metadata_cache {
$cache->{last_time} = $LAST_TIME;
$cache->{DATE_OF_02} = $DATE_OF_02;
$cache->{PROTOCOL} = PROTOCOL;
- $CPAN::Frontend->myprint("Going to write $metadata_file\n");
+ $CPAN::Frontend->myprint("Writing $metadata_file\n");
eval { Storable::nstore($cache, $metadata_file) };
$CPAN::Frontend->mywarn($@) if $@; # ?? missing "\n" after $@ in mywarn ??
}
@@ -569,7 +569,7 @@ sub read_metadata_cache {
return unless $CPAN::META->has_usable("Storable");
my $metadata_file = File::Spec->catfile($CPAN::Config->{cpan_home},"Metadata");
return unless -r $metadata_file and -f $metadata_file;
- $CPAN::Frontend->myprint("Going to read '$metadata_file'\n");
+ $CPAN::Frontend->myprint("Reading '$metadata_file'\n");
my $cache;
eval { $cache = Storable::retrieve($metadata_file) };
$CPAN::Frontend->mywarn($@) if $@; # ?? missing "\n" after $@ in mywarn ??
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Meta.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta.pm
index ef798559fb4..f8185983a42 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Meta.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta.pm
@@ -2,10 +2,7 @@ use 5.006;
use strict;
use warnings;
package CPAN::Meta;
-BEGIN {
- $CPAN::Meta::VERSION = '2.110440';
-}
-# ABSTRACT: the distribution metadata for a CPAN dist
+our $VERSION = '2.120630'; # VERSION
use Carp qw(carp croak);
@@ -13,7 +10,9 @@ use CPAN::Meta::Feature;
use CPAN::Meta::Prereqs;
use CPAN::Meta::Converter;
use CPAN::Meta::Validator;
-use Parse::CPAN::Meta 1.44 ();
+use Parse::CPAN::Meta 1.4400 ();
+
+BEGIN { *_dclone = \&CPAN::Meta::Converter::_dclone }
BEGIN {
@@ -47,7 +46,7 @@ BEGIN {
my $value = $_[0]{ $attr };
croak "$attr must be called in list context"
unless wantarray;
- return @{ Storable::dclone($value) } if ref $value;
+ return @{ _dclone($value) } if ref $value;
return $value;
};
}
@@ -73,7 +72,7 @@ BEGIN {
(my $subname = $attr) =~ s/-/_/;
*$subname = sub {
my $value = $_[0]{ $attr };
- return Storable::dclone($value) if $value;
+ return _dclone($value) if $value;
return {};
};
}
@@ -87,7 +86,7 @@ sub custom_keys {
sub custom {
my ($self, $attr) = @_;
my $value = $self->{$attr};
- return Storable::dclone($value) if ref $value;
+ return _dclone($value) if ref $value;
return $value;
}
@@ -215,7 +214,6 @@ sub save {
}
-# XXX Do we need this if we always upconvert? -- dagolden, 2010-04-14
sub meta_spec_version {
my ($self) = @_;
return $self->meta_spec->{version};
@@ -290,10 +288,7 @@ sub feature {
sub as_struct {
my ($self, $options) = @_;
- my $backend = Parse::CPAN::Meta->json_backend();
- my $struct = $backend->new->decode(
- $backend->new->convert_blessed->encode($self)
- );
+ my $struct = _dclone($self);
if ( $options->{version} ) {
my $cmc = CPAN::Meta::Converter->new( $struct );
$struct = $cmc->convert( version => $options->{version} );
@@ -308,7 +303,7 @@ sub as_string {
my $version = $options->{version} || '2';
my $struct;
- if ( $self->version ne $version ) {
+ if ( $self->meta_spec_version ne $version ) {
my $cmc = CPAN::Meta::Converter->new( $self->as_struct );
$struct = $cmc->convert( version => $version );
}
@@ -339,6 +334,8 @@ sub TO_JSON {
1;
+# ABSTRACT: the distribution metadata for a CPAN dist
+
=pod
@@ -349,7 +346,7 @@ CPAN::Meta - the distribution metadata for a CPAN dist
=head1 VERSION
-version 2.110440
+version 2.120630
=head1 SYNOPSIS
@@ -644,6 +641,10 @@ particular keys may be retrieved with the C<custom> method.
If a custom key refers to a data structure, a deep clone is returned.
+=for Pod::Coverage TO_JSON abstract author authors custom custom_keys description dynamic_config
+generated_by keywords license licenses meta_spec name no_index
+optional_features prereqs provides release_status resources version
+
=head1 BUGS
Please report any bugs or feature using the CPAN Request Tracker.
@@ -667,6 +668,25 @@ L<CPAN::Meta::Validator>
=back
+=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
+
+=head1 SUPPORT
+
+=head2 Bugs / Feature Requests
+
+Please report any bugs or feature requests through the issue tracker
+at L<http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta>.
+You will be notified automatically of any progress on your issue.
+
+=head2 Source Code
+
+This is open source software. The code repository is available for
+public review and contribution under the terms of the license.
+
+L<http://github.com/dagolden/cpan-meta>
+
+ git clone git://github.com/dagolden/cpan-meta.git
+
=head1 AUTHORS
=over 4
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Meta/Converter.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta/Converter.pm
index 2c6ce857d3d..0348e55504e 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Meta/Converter.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/Converter.pm
@@ -2,15 +2,29 @@ use 5.006;
use strict;
use warnings;
package CPAN::Meta::Converter;
-BEGIN {
- $CPAN::Meta::Converter::VERSION = '2.110440';
-}
-# ABSTRACT: Convert CPAN distribution metadata structures
+our $VERSION = '2.120630'; # VERSION
use CPAN::Meta::Validator;
-use Storable qw/dclone/;
-use version 0.82 ();
+use CPAN::Meta::Requirements;
+use version 0.88 ();
+use Parse::CPAN::Meta 1.4400 ();
+
+sub _dclone {
+ my $ref = shift;
+
+ # if an object is in the data structure and doesn't specify how to
+ # turn itself into JSON, we just stringify the object. That does the
+ # right thing for typical things that might be there, like version objects,
+ # Path::Class objects, etc.
+ no warnings 'once';
+ local *UNIVERSAL::TO_JSON = sub { return "$_[0]" };
+
+ my $backend = Parse::CPAN::Meta->json_backend();
+ return $backend->new->utf8->decode(
+ $backend->new->utf8->allow_blessed->convert_blessed->encode($ref)
+ );
+}
my %known_specs = (
'2' => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec',
@@ -134,15 +148,18 @@ my @valid_licenses_2 = qw(
unknown
);
+# The "old" values were defined by Module::Build, and were often vague. I have
+# made the decisions below based on reading Module::Build::API and how clearly
+# it specifies the version of the license.
my %license_map_2 = (
- ( map { $_ => $_ } @valid_licenses_2 ),
- apache => 'apache_2_0',
- artistic => 'artistic_1',
- artistic2 => 'artistic_2',
- gpl => 'gpl_1',
- lgpl => 'lgpl_2_1',
- mozilla => 'mozilla_1_0',
- perl => 'perl_5',
+ (map { $_ => $_ } @valid_licenses_2),
+ apache => 'apache_2_0', # clearly stated as 2.0
+ artistic => 'artistic_1', # clearly stated as 1
+ artistic2 => 'artistic_2', # clearly stated as 2
+ gpl => 'open_source', # we don't know which GPL; punt
+ lgpl => 'open_source', # we don't know which LGPL; punt
+ mozilla => 'open_source', # we don't know which MPL; punt
+ perl => 'perl_5', # clearly Perl 5
restrictive => 'restricted',
);
@@ -300,7 +317,10 @@ sub _clean_version {
return 0 if ! length $element;
return 0 if ( $element eq 'undef' || $element eq '<undef>' );
- if ( my $v = eval { version->new($element) } ) {
+ my $v = eval { version->new($element) };
+ # XXX check defined $v and not just $v because version objects leak memory
+ # in boolean context -- dagolden, 2012-02-03
+ if ( defined $v ) {
return $v->is_qv ? $v->normal : $element;
}
else {
@@ -308,29 +328,36 @@ sub _clean_version {
}
}
+sub _bad_version_hook {
+ my ($v) = @_;
+ $v =~ s{[a-z]+$}{}; # strip trailing alphabetics
+ my $vobj = eval { version->parse($v) };
+ return defined($vobj) ? $vobj : version->parse(0); # or give up
+}
+
sub _version_map {
my ($element) = @_;
- return undef unless defined $element;
+ return unless defined $element;
if ( ref $element eq 'HASH' ) {
- my $new_map = {};
- for my $k ( keys %$element ) {
+ # XXX turn this into CPAN::Meta::Requirements with bad version hook
+ # and then turn it back into a hash
+ my $new_map = CPAN::Meta::Requirements->new(
+ { bad_version_hook => sub { version->new(0) } } # punt
+ );
+ while ( my ($k,$v) = each %$element ) {
next unless _is_module_name($k);
- my $value = $element->{$k};
- if ( ! ( defined $value && length $value ) ) {
- $new_map->{$k} = 0;
- }
- elsif ( $value eq 'undef' || $value eq '<undef>' ) {
- $new_map->{$k} = 0;
+ if ( !defined($v) || !length($v) || $v eq 'undef' || $v eq '<undef>' ) {
+ $v = 0;
}
- elsif ( _is_module_name( $value ) ) { # some weird, old META have this
- $new_map->{$k} = 0;
- $new_map->{$value} = 0;
- }
- else {
- $new_map->{$k} = _clean_version($value);
+ # some weird, old META have bad yml with module => module
+ # so check if value is like a module name and not like a version
+ if ( _is_module_name($v) && ! version::is_lax($v) ) {
+ $new_map->add_minimum($k => 0);
+ $new_map->add_minimum($v => 0);
}
+ $new_map->add_string_requirement($k => $v);
}
- return $new_map;
+ return $new_map->as_string_hash;
}
elsif ( ref $element eq 'ARRAY' ) {
my $hashref = { map { $_ => 0 } @$element };
@@ -413,9 +440,8 @@ sub _get_build_requires {
my $test_h = _extract_prereqs($_[2]->{prereqs}, qw(test requires)) || {};
my $build_h = _extract_prereqs($_[2]->{prereqs}, qw(build requires)) || {};
- require Version::Requirements;
- my $test_req = Version::Requirements->from_string_hash($test_h);
- my $build_req = Version::Requirements->from_string_hash($build_h);
+ my $test_req = CPAN::Meta::Requirements->from_string_hash($test_h);
+ my $build_req = CPAN::Meta::Requirements->from_string_hash($build_h);
$test_req->add_requirements($build_req)->as_string_hash;
}
@@ -423,12 +449,12 @@ sub _get_build_requires {
sub _extract_prereqs {
my ($prereqs, $phase, $type) = @_;
return unless ref $prereqs eq 'HASH';
- return $prereqs->{$phase}{$type};
+ return scalar _version_map($prereqs->{$phase}{$type});
}
sub _downgrade_optional_features {
my (undef, undef, $meta) = @_;
- return undef unless exists $meta->{optional_features};
+ return unless exists $meta->{optional_features};
my $origin = $meta->{optional_features};
my $features = {};
for my $name ( keys %$origin ) {
@@ -449,7 +475,7 @@ sub _downgrade_optional_features {
sub _upgrade_optional_features {
my (undef, undef, $meta) = @_;
- return undef unless exists $meta->{optional_features};
+ return unless exists $meta->{optional_features};
my $origin = $meta->{optional_features};
my $features = {};
for my $name ( keys %$origin ) {
@@ -545,7 +571,7 @@ my $resource2_upgrade = {
return unless $item;
if ( $item =~ m{^mailto:(.*)$} ) { return { mailto => $1 } }
elsif( _is_urlish($item) ) { return { web => $item } }
- else { return undef }
+ else { return }
},
repository => sub { return _is_urlish($_[0]) ? { url => $_[0] } : undef },
':custom' => \&_prefix_custom,
@@ -553,7 +579,7 @@ my $resource2_upgrade = {
sub _upgrade_resources_2 {
my (undef, undef, $meta, $version) = @_;
- return undef unless exists $meta->{resources};
+ return unless exists $meta->{resources};
return _convert($meta->{resources}, $resource2_upgrade);
}
@@ -591,7 +617,7 @@ my $resources2_cleanup = {
sub _cleanup_resources_2 {
my ($resources, $key, $meta, $to_version) = @_;
- return undef unless $resources && ref $resources eq 'HASH';
+ return unless $resources && ref $resources eq 'HASH';
return _convert($resources, $resources2_cleanup, $to_version);
}
@@ -605,7 +631,7 @@ my $resource1_spec = {
sub _resources_1_3 {
my (undef, undef, $meta, $version) = @_;
- return undef unless exists $meta->{resources};
+ return unless exists $meta->{resources};
return _convert($meta->{resources}, $resource1_spec);
}
@@ -618,7 +644,7 @@ sub _resources_1_2 {
$resources->{license} = $meta->license_url
if _is_urlish($meta->{license_url});
}
- return undef unless keys %$resources;
+ return unless keys %$resources;
return _convert($resources, $resource1_spec);
}
@@ -632,7 +658,7 @@ my $resource_downgrade_spec = {
sub _downgrade_resources {
my (undef, undef, $meta, $version) = @_;
- return undef unless exists $meta->{resources};
+ return unless exists $meta->{resources};
return _convert($meta->{resources}, $resource_downgrade_spec);
}
@@ -1187,7 +1213,7 @@ sub convert {
my $new_version = $args->{version} || $HIGHEST;
my ($old_version) = $self->{spec};
- my $converted = dclone $self->{data};
+ my $converted = _dclone($self->{data});
if ( $old_version == $new_version ) {
$converted = _convert( $converted, $cleanup{$old_version}, $old_version );
@@ -1232,6 +1258,8 @@ sub convert {
1;
+# ABSTRACT: Convert CPAN distribution metadata structures
+
=pod
@@ -1242,7 +1270,7 @@ CPAN::Meta::Converter - Convert CPAN distribution metadata structures
=head1 VERSION
-version 2.110440
+version 2.120630
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Meta/Feature.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta/Feature.pm
index d3575e5e7e8..cd7689e9a67 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Meta/Feature.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/Feature.pm
@@ -2,10 +2,7 @@ use 5.006;
use strict;
use warnings;
package CPAN::Meta::Feature;
-BEGIN {
- $CPAN::Meta::Feature::VERSION = '2.110440';
-}
-# ABSTRACT: an optional feature provided by a CPAN distribution
+our $VERSION = '2.120630'; # VERSION
use CPAN::Meta::Prereqs;
@@ -33,6 +30,8 @@ sub prereqs { $_[0]{prereqs} }
1;
+# ABSTRACT: an optional feature provided by a CPAN distribution
+
=pod
@@ -43,7 +42,7 @@ CPAN::Meta::Feature - an optional feature provided by a CPAN distribution
=head1 VERSION
-version 2.110440
+version 2.120630
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Meta/History.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta/History.pm
index ab036907a49..001686e1b70 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Meta/History.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/History.pm
@@ -3,12 +3,12 @@ use 5.006;
use strict;
use warnings;
package CPAN::Meta::History;
-BEGIN {
- $CPAN::Meta::History::VERSION = '2.110440';
-}
-# ABSTRACT: history of CPAN Meta Spec changes
+our $VERSION = '2.120630'; # VERSION
+
1;
+# ABSTRACT: history of CPAN Meta Spec changes
+
__END__
@@ -20,7 +20,7 @@ CPAN::Meta::History - history of CPAN Meta Spec changes
=head1 VERSION
-version 2.110440
+version 2.120630
=head1 DESCRIPTION
@@ -242,7 +242,7 @@ Added 'resources' field with subkeys 'homepage', 'license', and
=item *
-Added 'optional_features' field as an alterate under 'recommends'.
+Added 'optional_features' field as an alternate under 'recommends'.
Includes 'description', 'requires', 'build_requires', 'conflicts',
'requires_packages', 'requires_os' and 'excluded_os' as valid subkeys
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Meta/Prereqs.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta/Prereqs.pm
index 4fc20939abd..640a299a01d 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Meta/Prereqs.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/Prereqs.pm
@@ -2,15 +2,12 @@ use 5.006;
use strict;
use warnings;
package CPAN::Meta::Prereqs;
-BEGIN {
- $CPAN::Meta::Prereqs::VERSION = '2.110440';
-}
-# ABSTRACT: a set of distribution prerequisites by phase and type
+our $VERSION = '2.120630'; # VERSION
use Carp qw(confess);
use Scalar::Util qw(blessed);
-use Version::Requirements 0.101020; # finalize
+use CPAN::Meta::Requirements;
sub __legal_phases { qw(configure build test runtime develop) }
@@ -38,7 +35,7 @@ sub new {
next TYPE unless keys %$spec;
- $guts{prereqs}{$phase}{$type} = Version::Requirements->from_string_hash(
+ $guts{prereqs}{$phase}{$type} = CPAN::Meta::Requirements->from_string_hash(
$spec
);
}
@@ -62,7 +59,7 @@ sub requirements_for {
confess "requested requirements for unknown type: $type";
}
- my $req = ($self->{prereqs}{$phase}{$type} ||= Version::Requirements->new);
+ my $req = ($self->{prereqs}{$phase}{$type} ||= CPAN::Meta::Requirements->new);
$req->finalize if $self->is_finalized;
@@ -81,7 +78,7 @@ sub with_merged_prereqs {
for my $phase ($self->__legal_phases) {
for my $type ($self->__legal_types) {
- my $req = Version::Requirements->new;
+ my $req = CPAN::Meta::Requirements->new;
for my $prereq (@prereq_objs) {
my $this_req = $prereq->requirements_for($phase, $type);
@@ -140,6 +137,8 @@ sub clone {
1;
+# ABSTRACT: a set of distribution prerequisites by phase and type
+
=pod
@@ -150,7 +149,7 @@ CPAN::Meta::Prereqs - a set of distribution prerequisites by phase and type
=head1 VERSION
-version 2.110440
+version 2.120630
=head1 DESCRIPTION
@@ -190,10 +189,10 @@ dumping the whole set into a structure or string.
my $requirements = $prereqs->requirements_for( $phase, $type );
-This method returns a L<Version::Requirements> object for the given phase/type
-combination. If no prerequisites are registered for that combination, a new
-Version::Requirements object will be returned, and it may be added to as
-needed.
+This method returns a L<CPAN::Meta::Requirements> object for the given
+phase/type combination. If no prerequisites are registered for that
+combination, a new CPAN::Meta::Requirements object will be returned, and it may
+be added to as needed.
If C<$phase> or C<$type> are undefined or otherwise invalid, an exception will
be raised.
@@ -216,7 +215,7 @@ will not alter them.
This method returns a hashref containing structures suitable for dumping into a
distmeta data structure. It is made up of hashes and strings, only; there will
-be no Prereqs, Version::Requirements, or C<version> objects inside it.
+be no Prereqs, CPAN::Meta::Requirements, or C<version> objects inside it.
=head2 is_finalized
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Meta/Requirements.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta/Requirements.pm
new file mode 100644
index 00000000000..483a8448a5b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/Requirements.pm
@@ -0,0 +1,680 @@
+use strict;
+use warnings;
+package CPAN::Meta::Requirements;
+our $VERSION = '2.120630'; # VERSION
+# ABSTRACT: a set of version requirements for a CPAN dist
+
+
+use Carp ();
+use Scalar::Util ();
+use version 0.77 (); # the ->parse method
+
+
+my @valid_options = qw( bad_version_hook );
+
+sub new {
+ my ($class, $options) = @_;
+ $options ||= {};
+ Carp::croak "Argument to $class\->new() must be a hash reference"
+ unless ref $options eq 'HASH';
+ my %self = map {; $_ => $options->{$_}} @valid_options;
+
+ return bless \%self => $class;
+}
+
+sub _version_object {
+ my ($self, $version) = @_;
+
+ my $vobj;
+
+ eval {
+ $vobj = (! defined $version) ? version->parse(0)
+ : (! Scalar::Util::blessed($version)) ? version->parse($version)
+ : $version;
+ };
+
+ if ( my $err = $@ ) {
+ my $hook = $self->{bad_version_hook};
+ $vobj = eval { $hook->($version) }
+ if ref $hook eq 'CODE';
+ unless (Scalar::Util::blessed($vobj) && $vobj->isa("version")) {
+ $err =~ s{ at .* line \d+.*$}{};
+ die "Can't convert '$version': $err";
+ }
+ }
+
+ # ensure no leading '.'
+ if ( $vobj =~ m{\A\.} ) {
+ $vobj = version->parse("0$vobj");
+ }
+
+ # ensure normal v-string form
+ if ( $vobj->is_qv ) {
+ $vobj = version->parse($vobj->normal);
+ }
+
+ return $vobj;
+}
+
+
+BEGIN {
+ for my $type (qw(minimum maximum exclusion exact_version)) {
+ my $method = "with_$type";
+ my $to_add = $type eq 'exact_version' ? $type : "add_$type";
+
+ my $code = sub {
+ my ($self, $name, $version) = @_;
+
+ $version = $self->_version_object( $version );
+
+ $self->__modify_entry_for($name, $method, $version);
+
+ return $self;
+ };
+
+ no strict 'refs';
+ *$to_add = $code;
+ }
+}
+
+
+sub add_requirements {
+ my ($self, $req) = @_;
+
+ for my $module ($req->required_modules) {
+ my $modifiers = $req->__entry_for($module)->as_modifiers;
+ for my $modifier (@$modifiers) {
+ my ($method, @args) = @$modifier;
+ $self->$method($module => @args);
+ };
+ }
+
+ return $self;
+}
+
+
+sub accepts_module {
+ my ($self, $module, $version) = @_;
+
+ $version = $self->_version_object( $version );
+
+ return 1 unless my $range = $self->__entry_for($module);
+ return $range->_accepts($version);
+}
+
+
+sub clear_requirement {
+ my ($self, $module) = @_;
+
+ return $self unless $self->__entry_for($module);
+
+ Carp::confess("can't clear requirements on finalized requirements")
+ if $self->is_finalized;
+
+ delete $self->{requirements}{ $module };
+
+ return $self;
+}
+
+
+sub required_modules { keys %{ $_[0]{requirements} } }
+
+
+sub clone {
+ my ($self) = @_;
+ my $new = (ref $self)->new;
+
+ return $new->add_requirements($self);
+}
+
+sub __entry_for { $_[0]{requirements}{ $_[1] } }
+
+sub __modify_entry_for {
+ my ($self, $name, $method, $version) = @_;
+
+ my $fin = $self->is_finalized;
+ my $old = $self->__entry_for($name);
+
+ Carp::confess("can't add new requirements to finalized requirements")
+ if $fin and not $old;
+
+ my $new = ($old || 'CPAN::Meta::Requirements::_Range::Range')
+ ->$method($version);
+
+ Carp::confess("can't modify finalized requirements")
+ if $fin and $old->as_string ne $new->as_string;
+
+ $self->{requirements}{ $name } = $new;
+}
+
+
+sub is_simple {
+ my ($self) = @_;
+ for my $module ($self->required_modules) {
+ # XXX: This is a complete hack, but also entirely correct.
+ return if $self->__entry_for($module)->as_string =~ /\s/;
+ }
+
+ return 1;
+}
+
+
+sub is_finalized { $_[0]{finalized} }
+
+
+sub finalize { $_[0]{finalized} = 1 }
+
+
+sub as_string_hash {
+ my ($self) = @_;
+
+ my %hash = map {; $_ => $self->{requirements}{$_}->as_string }
+ $self->required_modules;
+
+ return \%hash;
+}
+
+
+my %methods_for_op = (
+ '==' => [ qw(exact_version) ],
+ '!=' => [ qw(add_exclusion) ],
+ '>=' => [ qw(add_minimum) ],
+ '<=' => [ qw(add_maximum) ],
+ '>' => [ qw(add_minimum add_exclusion) ],
+ '<' => [ qw(add_maximum add_exclusion) ],
+);
+
+sub add_string_requirement {
+ my ($self, $module, $req) = @_;
+
+ my @parts = split qr{\s*,\s*}, $req;
+ for my $part (@parts) {
+ my ($op, $ver) = $part =~ m{\A\s*(==|>=|>|<=|<|!=)\s*(.*)\z};
+
+ if (! defined $op) {
+ $self->add_minimum($module => $part);
+ } else {
+ Carp::confess("illegal requirement string: $req")
+ unless my $methods = $methods_for_op{ $op };
+
+ $self->$_($module => $ver) for @$methods;
+ }
+ }
+}
+
+
+sub from_string_hash {
+ my ($class, $hash) = @_;
+
+ my $self = $class->new;
+
+ for my $module (keys %$hash) {
+ $self->add_string_requirement($module, $hash->{ $module });
+ }
+
+ return $self;
+}
+
+##############################################################
+
+{
+ package
+ CPAN::Meta::Requirements::_Range::Exact;
+ sub _new { bless { version => $_[1] } => $_[0] }
+
+ sub _accepts { return $_[0]{version} == $_[1] }
+
+ sub as_string { return "== $_[0]{version}" }
+
+ sub as_modifiers { return [ [ exact_version => $_[0]{version} ] ] }
+
+ sub _clone {
+ (ref $_[0])->_new( version->new( $_[0]{version} ) )
+ }
+
+ sub with_exact_version {
+ my ($self, $version) = @_;
+
+ return $self->_clone if $self->_accepts($version);
+
+ Carp::confess("illegal requirements: unequal exact version specified");
+ }
+
+ sub with_minimum {
+ my ($self, $minimum) = @_;
+ return $self->_clone if $self->{version} >= $minimum;
+ Carp::confess("illegal requirements: minimum above exact specification");
+ }
+
+ sub with_maximum {
+ my ($self, $maximum) = @_;
+ return $self->_clone if $self->{version} <= $maximum;
+ Carp::confess("illegal requirements: maximum below exact specification");
+ }
+
+ sub with_exclusion {
+ my ($self, $exclusion) = @_;
+ return $self->_clone unless $exclusion == $self->{version};
+ Carp::confess("illegal requirements: excluded exact specification");
+ }
+}
+
+##############################################################
+
+{
+ package
+ CPAN::Meta::Requirements::_Range::Range;
+
+ sub _self { ref($_[0]) ? $_[0] : (bless { } => $_[0]) }
+
+ sub _clone {
+ return (bless { } => $_[0]) unless ref $_[0];
+
+ my ($s) = @_;
+ my %guts = (
+ (exists $s->{minimum} ? (minimum => version->new($s->{minimum})) : ()),
+ (exists $s->{maximum} ? (maximum => version->new($s->{maximum})) : ()),
+
+ (exists $s->{exclusions}
+ ? (exclusions => [ map { version->new($_) } @{ $s->{exclusions} } ])
+ : ()),
+ );
+
+ bless \%guts => ref($s);
+ }
+
+ sub as_modifiers {
+ my ($self) = @_;
+ my @mods;
+ push @mods, [ add_minimum => $self->{minimum} ] if exists $self->{minimum};
+ push @mods, [ add_maximum => $self->{maximum} ] if exists $self->{maximum};
+ push @mods, map {; [ add_exclusion => $_ ] } @{$self->{exclusions} || []};
+ return \@mods;
+ }
+
+ sub as_string {
+ my ($self) = @_;
+
+ return 0 if ! keys %$self;
+
+ return "$self->{minimum}" if (keys %$self) == 1 and exists $self->{minimum};
+
+ my @exclusions = @{ $self->{exclusions} || [] };
+
+ my @parts;
+
+ for my $pair (
+ [ qw( >= > minimum ) ],
+ [ qw( <= < maximum ) ],
+ ) {
+ my ($op, $e_op, $k) = @$pair;
+ if (exists $self->{$k}) {
+ my @new_exclusions = grep { $_ != $self->{ $k } } @exclusions;
+ if (@new_exclusions == @exclusions) {
+ push @parts, "$op $self->{ $k }";
+ } else {
+ push @parts, "$e_op $self->{ $k }";
+ @exclusions = @new_exclusions;
+ }
+ }
+ }
+
+ push @parts, map {; "!= $_" } @exclusions;
+
+ return join q{, }, @parts;
+ }
+
+ sub with_exact_version {
+ my ($self, $version) = @_;
+ $self = $self->_clone;
+
+ Carp::confess("illegal requirements: exact specification outside of range")
+ unless $self->_accepts($version);
+
+ return CPAN::Meta::Requirements::_Range::Exact->_new($version);
+ }
+
+ sub _simplify {
+ my ($self) = @_;
+
+ if (defined $self->{minimum} and defined $self->{maximum}) {
+ if ($self->{minimum} == $self->{maximum}) {
+ Carp::confess("illegal requirements: excluded all values")
+ if grep { $_ == $self->{minimum} } @{ $self->{exclusions} || [] };
+
+ return CPAN::Meta::Requirements::_Range::Exact->_new($self->{minimum})
+ }
+
+ Carp::confess("illegal requirements: minimum exceeds maximum")
+ if $self->{minimum} > $self->{maximum};
+ }
+
+ # eliminate irrelevant exclusions
+ if ($self->{exclusions}) {
+ my %seen;
+ @{ $self->{exclusions} } = grep {
+ (! defined $self->{minimum} or $_ >= $self->{minimum})
+ and
+ (! defined $self->{maximum} or $_ <= $self->{maximum})
+ and
+ ! $seen{$_}++
+ } @{ $self->{exclusions} };
+ }
+
+ return $self;
+ }
+
+ sub with_minimum {
+ my ($self, $minimum) = @_;
+ $self = $self->_clone;
+
+ if (defined (my $old_min = $self->{minimum})) {
+ $self->{minimum} = (sort { $b cmp $a } ($minimum, $old_min))[0];
+ } else {
+ $self->{minimum} = $minimum;
+ }
+
+ return $self->_simplify;
+ }
+
+ sub with_maximum {
+ my ($self, $maximum) = @_;
+ $self = $self->_clone;
+
+ if (defined (my $old_max = $self->{maximum})) {
+ $self->{maximum} = (sort { $a cmp $b } ($maximum, $old_max))[0];
+ } else {
+ $self->{maximum} = $maximum;
+ }
+
+ return $self->_simplify;
+ }
+
+ sub with_exclusion {
+ my ($self, $exclusion) = @_;
+ $self = $self->_clone;
+
+ push @{ $self->{exclusions} ||= [] }, $exclusion;
+
+ return $self->_simplify;
+ }
+
+ sub _accepts {
+ my ($self, $version) = @_;
+
+ return if defined $self->{minimum} and $version < $self->{minimum};
+ return if defined $self->{maximum} and $version > $self->{maximum};
+ return if defined $self->{exclusions}
+ and grep { $version == $_ } @{ $self->{exclusions} };
+
+ return 1;
+ }
+}
+
+1;
+
+__END__
+=pod
+
+=head1 NAME
+
+CPAN::Meta::Requirements - a set of version requirements for a CPAN dist
+
+=head1 VERSION
+
+version 2.120630
+
+=head1 SYNOPSIS
+
+ use CPAN::Meta::Requirements;
+
+ my $build_requires = CPAN::Meta::Requirements->new;
+
+ $build_requires->add_minimum('Library::Foo' => 1.208);
+
+ $build_requires->add_minimum('Library::Foo' => 2.602);
+
+ $build_requires->add_minimum('Module::Bar' => 'v1.2.3');
+
+ $METAyml->{build_requires} = $build_requires->as_string_hash;
+
+=head1 DESCRIPTION
+
+A CPAN::Meta::Requirements object models a set of version constraints like
+those specified in the F<META.yml> or F<META.json> files in CPAN distributions.
+It can be built up by adding more and more constraints, and it will reduce them
+to the simplest representation.
+
+Logically impossible constraints will be identified immediately by thrown
+exceptions.
+
+=head1 METHODS
+
+=head2 new
+
+ my $req = CPAN::Meta::Requirements->new;
+
+This returns a new CPAN::Meta::Requirements object. It takes an optional
+hash reference argument. The following keys are supported:
+
+=over 4
+
+=item *
+
+<bad_version_hook> -- if provided, when a version cannot be parsed into
+
+a version object, this code reference will be called with the invalid version
+string as an argument. It must return a valid version object.
+
+=back
+
+All other keys are ignored.
+
+=head2 add_minimum
+
+ $req->add_minimum( $module => $version );
+
+This adds a new minimum version requirement. If the new requirement is
+redundant to the existing specification, this has no effect.
+
+Minimum requirements are inclusive. C<$version> is required, along with any
+greater version number.
+
+This method returns the requirements object.
+
+=head2 add_maximum
+
+ $req->add_maximum( $module => $version );
+
+This adds a new maximum version requirement. If the new requirement is
+redundant to the existing specification, this has no effect.
+
+Maximum requirements are inclusive. No version strictly greater than the given
+version is allowed.
+
+This method returns the requirements object.
+
+=head2 add_exclusion
+
+ $req->add_exclusion( $module => $version );
+
+This adds a new excluded version. For example, you might use these three
+method calls:
+
+ $req->add_minimum( $module => '1.00' );
+ $req->add_maximum( $module => '1.82' );
+
+ $req->add_exclusion( $module => '1.75' );
+
+Any version between 1.00 and 1.82 inclusive would be acceptable, except for
+1.75.
+
+This method returns the requirements object.
+
+=head2 exact_version
+
+ $req->exact_version( $module => $version );
+
+This sets the version required for the given module to I<exactly> the given
+version. No other version would be considered acceptable.
+
+This method returns the requirements object.
+
+=head2 add_requirements
+
+ $req->add_requirements( $another_req_object );
+
+This method adds all the requirements in the given CPAN::Meta::Requirements object
+to the requirements object on which it was called. If there are any conflicts,
+an exception is thrown.
+
+This method returns the requirements object.
+
+=head2 accepts_module
+
+ my $bool = $req->accepts_modules($module => $version);
+
+Given an module and version, this method returns true if the version
+specification for the module accepts the provided version. In other words,
+given:
+
+ Module => '>= 1.00, < 2.00'
+
+We will accept 1.00 and 1.75 but not 0.50 or 2.00.
+
+For modules that do not appear in the requirements, this method will return
+true.
+
+=head2 clear_requirement
+
+ $req->clear_requirement( $module );
+
+This removes the requirement for a given module from the object.
+
+This method returns the requirements object.
+
+=head2 required_modules
+
+This method returns a list of all the modules for which requirements have been
+specified.
+
+=head2 clone
+
+ $req->clone;
+
+This method returns a clone of the invocant. The clone and the original object
+can then be changed independent of one another.
+
+=head2 is_simple
+
+This method returns true if and only if all requirements are inclusive minimums
+-- that is, if their string expression is just the version number.
+
+=head2 is_finalized
+
+This method returns true if the requirements have been finalized by having the
+C<finalize> method called on them.
+
+=head2 finalize
+
+This method marks the requirements finalized. Subsequent attempts to change
+the requirements will be fatal, I<if> they would result in a change. If they
+would not alter the requirements, they have no effect.
+
+If a finalized set of requirements is cloned, the cloned requirements are not
+also finalized.
+
+=head2 as_string_hash
+
+This returns a reference to a hash describing the requirements using the
+strings in the F<META.yml> specification.
+
+For example after the following program:
+
+ my $req = CPAN::Meta::Requirements->new;
+
+ $req->add_minimum('CPAN::Meta::Requirements' => 0.102);
+
+ $req->add_minimum('Library::Foo' => 1.208);
+
+ $req->add_maximum('Library::Foo' => 2.602);
+
+ $req->add_minimum('Module::Bar' => 'v1.2.3');
+
+ $req->add_exclusion('Module::Bar' => 'v1.2.8');
+
+ $req->exact_version('Xyzzy' => '6.01');
+
+ my $hashref = $req->as_string_hash;
+
+C<$hashref> would contain:
+
+ {
+ 'CPAN::Meta::Requirements' => '0.102',
+ 'Library::Foo' => '>= 1.208, <= 2.206',
+ 'Module::Bar' => '>= v1.2.3, != v1.2.8',
+ 'Xyzzy' => '== 6.01',
+ }
+
+=head2 add_string_requirement
+
+ $req->add_string_requirement('Library::Foo' => '>= 1.208, <= 2.206');
+
+This method parses the passed in string and adds the appropriate requirement
+for the given module. It understands version ranges as described in the
+L<CPAN::Meta::Spec/Version Ranges>. For example:
+
+=over 4
+
+=item 1.3
+
+=item >= 1.3
+
+=item <= 1.3
+
+=item == 1.3
+
+=item ! 1.3
+
+=item > 1.3
+
+=item < 1.3
+
+=item >= 1.3, ! 1.5, <= 2.0
+
+A version number without an operator is equivalent to specifying a minimum
+(C<E<gt>=>). Extra whitespace is allowed.
+
+=back
+
+=head2 from_string_hash
+
+ my $req = CPAN::Meta::Requirements->from_string_hash( \%hash );
+
+This is an alternate constructor for a CPAN::Meta::Requirements object. It takes
+a hash of module names and version requirement strings and returns a new
+CPAN::Meta::Requirements object.
+
+=head1 AUTHORS
+
+=over 4
+
+=item *
+
+David Golden <dagolden@cpan.org>
+
+=item *
+
+Ricardo Signes <rjbs@cpan.org>
+
+=back
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2010 by David Golden and Ricardo Signes.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm
index 8f94c718cb4..07d32246411 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm
@@ -3,12 +3,12 @@ use 5.006;
use strict;
use warnings;
package CPAN::Meta::Spec;
-BEGIN {
- $CPAN::Meta::Spec::VERSION = '2.110440';
-}
-# ABSTRACT: specification for CPAN distribution metadata
+our $VERSION = '2.120630'; # VERSION
+
1;
+# ABSTRACT: specification for CPAN distribution metadata
+
__END__
@@ -20,7 +20,7 @@ CPAN::Meta::Spec - specification for CPAN distribution metadata
=head1 VERSION
-version 2.110440
+version 2.120630
=head1 SYNOPSIS
@@ -31,6 +31,7 @@ version 2.110440
. "building, testing, and installing Perl modules. "
. "It is meant to ... blah blah blah ...",
version => '0.36',
+ release_status => 'stable',
author => [
'Ken Williams <kwilliams@cpan.org>',
'Module-Build List <module-build@perl.org>', # additional contact
@@ -505,12 +506,12 @@ Valid subkeys are as follows:
=item file
A I<List> of relative paths to files. Paths B<must be> specified with
-unix convetions.
+unix conventions.
=item directory
A I<List> of relative paths to directories. Paths B<must be> specified
-with unix convetions.
+with unix conventions.
[ Note: previous editions of the spec had C<dir> instead of C<directory> ]
@@ -565,13 +566,13 @@ This entry is required and has the same structure as that of the
C<L</prereqs>> key. It provides a list of package requirements
that must be satisfied for the feature to be supported or enabled.
-There is one crucial restriction: the preqreqs of an optional feature
+There is one crucial restriction: the prereqs of an optional feature
B<must not> include C<configure> phase prereqs.
=back
Consumers B<must not> include optional features as prerequisites without
-explict instruction from users (whether via interactive prompting,
+explicit instruction from users (whether via interactive prompting,
a function parameter or a configuration value, etc. ).
If an optional feature is used by a consumer to add additional
@@ -663,8 +664,9 @@ the distribution. The values are Maps with the following valid subkeys:
=item file
-This field is required. The value must contain a relative file path
-from the root of the distribution to the module containing the package.
+This field is required. The value must contain a Unix-style relative
+file path from the root of the distribution to the module containing the
+package.
=item version
@@ -680,12 +682,12 @@ Example:
license => [ 'http://dev.perl.org/licenses/' ],
homepage => 'http://sourceforge.net/projects/module-build',
bugtracker => {
- web => 'http://github.com/dagolden/cpan-meta-spec/issues',
+ web => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
mailto => 'meta-bugs@example.com',
},
repository => {
- url => 'git://github.com/dagolden/cpan-meta-spec.git',
- web => 'http://github.com/dagolden/cpan-meta-spec',
+ url => 'git://github.com/dagolden/cpan-meta.git',
+ web => 'http://github.com/dagolden/cpan-meta',
type => 'git',
},
x_twitter => 'http://twitter.com/cpan_linked/',
@@ -1027,10 +1029,10 @@ if both are found.
=head2 Extracting Version Numbers from Perl Modules
To get the version number from a Perl module, consumers should use the
-C<< MM->parse_version($file) >> method provided by L<ExtUtils::MakeMaker> or
-the L<Module::Build::ModuleInfo> module provided with L<Module::Build>. For
-example, for the module given by C<$mod>, the version may be retrieved in one
-of the following ways:
+C<< MM->parse_version($file) >> method provided by
+L<ExtUtils::MakeMaker> or L<Module::Metadata>. For example, for the
+module given by C<$mod>, the version may be retrieved in one of the
+following ways:
# via ExtUtils::MakeMaker
my $file = MM->_installed_file_for_module($mod);
@@ -1039,14 +1041,14 @@ of the following ways:
The private C<_installed_file_for_module> method may be replaced with
other methods for locating a module in C<@INC>.
- # via Module::Build
- my $info = Module::Build::ModuleInfo->new_from_module($mod);
+ # via Module::Metadata
+ my $info = Module::Metadata->new_from_module($mod);
my $version = $info->version;
If only a filename is available, the following approach may be used:
# via Module::Build
- my $info = Module::Build::ModuleInfo->new_from_file($file);
+ my $info = Module::Metadata->new_from_file($file);
my $version = $info->version;
=head2 Comparing Version Numbers
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Meta/Validator.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta/Validator.pm
index a203621ab8f..1bb53592275 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Meta/Validator.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/Validator.pm
@@ -2,10 +2,7 @@ use 5.006;
use strict;
use warnings;
package CPAN::Meta::Validator;
-BEGIN {
- $CPAN::Meta::Validator::VERSION = '2.110440';
-}
-# ABSTRACT: validate CPAN distribution metadata structures
+our $VERSION = '2.120630'; # VERSION
#--------------------------------------------------------------------------#
@@ -692,7 +689,7 @@ my %v1_licenses = (
'apache' => 'http://apache.org/licenses/LICENSE-2.0',
'artistic' => 'http://opensource.org/licenses/artistic-license.php',
'artistic_2' => 'http://opensource.org/licenses/artistic-license-2.0.php',
- 'lgpl' => 'http://www.opensource.org/licenses/lgpl-license.phpt',
+ 'lgpl' => 'http://www.opensource.org/licenses/lgpl-license.php',
'bsd' => 'http://www.opensource.org/licenses/bsd-license.php',
'gpl' => 'http://www.opensource.org/licenses/gpl-license.php',
'mit' => 'http://opensource.org/licenses/mit-license.php',
@@ -829,6 +826,8 @@ sub _error {
1;
+# ABSTRACT: validate CPAN distribution metadata structures
+
=pod
@@ -839,7 +838,7 @@ CPAN::Meta::Validator - validate CPAN distribution metadata structures
=head1 VERSION
-version 2.110440
+version 2.120630
=head1 SYNOPSIS
@@ -881,87 +880,143 @@ is valid.
Returns a list of errors seen during validation.
-=begin internals
+=begin :internals
=head2 Check Methods
=over
-=item * check_map($spec,$data)
+=item *
+
+check_map($spec,$data)
Checks whether a map (or hash) part of the data structure conforms to the
appropriate specification definition.
-=item * check_list($spec,$data)
+
+=item *
+
+check_list($spec,$data)
Checks whether a list (or array) part of the data structure conforms to
the appropriate specification definition.
-=item * check_lazylist($spec,$data)
+
+=item *
+
+check_lazylist($spec,$data)
Checks whether a list conforms, but converts strings to a single-element list
+
=back
=head2 Validator Methods
=over
-=item * header($self,$key,$value)
+=item *
+
+header($self,$key,$value)
Validates that the header is valid.
-Note: No longer used as we now read the data structure, not the file.=item * url($self,$key,$value)
+Note: No longer used as we now read the data structure, not the file.
+
+=item *
+
+url($self,$key,$value)
Validates that a given value is in an acceptable URL format
-=item * urlspec($self,$key,$value)
+
+=item *
+
+urlspec($self,$key,$value)
Validates that the URL to a META specification is a known one.
-=item * string_or_undef($self,$key,$value)
+
+=item *
+
+string_or_undef($self,$key,$value)
Validates that the value is either a string or an undef value. Bit of a
catchall function for parts of the data structure that are completely user
defined.
-=item * string($self,$key,$value)
+
+=item *
+
+string($self,$key,$value)
Validates that a string exists for the given key.
-=item * file($self,$key,$value)
+
+=item *
+
+file($self,$key,$value)
Validate that a file is passed for the given key. This may be made more
thorough in the future. For now it acts like \&string.
-=item * exversion($self,$key,$value)
+
+=item *
+
+exversion($self,$key,$value)
Validates a list of versions, e.g. '<= 5, >=2, ==3, !=4, >1, <6, 0'.
-=item * version($self,$key,$value)
+
+=item *
+
+version($self,$key,$value)
Validates a single version string. Versions of the type '5.8.8' and '0.00_00'
are both valid. A leading 'v' like 'v1.2.3' is also valid.
-=item * boolean($self,$key,$value)
+
+=item *
+
+boolean($self,$key,$value)
Validates for a boolean value. Currently these values are '1', '0', 'true',
'false', however the latter 2 may be removed.
-=item * license($self,$key,$value)
+
+=item *
+
+license($self,$key,$value)
Validates that a value is given for the license. Returns 1 if an known license
type, or 2 if a value is given but the license type is not a recommended one.
-=item * custom_1($self,$key,$value)
+
+=item *
+
+custom_1($self,$key,$value)
Validates that the given key is in CamelCase, to indicate a user defined
keyword and only has characters in the class [-_a-zA-Z]. In version 1.X
of the spec, this was only explicitly stated for 'resources'.
-=item * custom_2($self,$key,$value)
+
+=item *
+
+custom_2($self,$key,$value)
Validates that the given key begins with 'x_' or 'X_', to indicate a user
defined keyword and only has characters in the class [-_a-zA-Z]
-=item * identifier($self,$key,$value)
+
+=item *
+
+identifier($self,$key,$value)
Validates that key is in an acceptable format for the META specification,
for an identifier, i.e. any that matches the regular expression
qr/[a-z][a-z_]/i.
-=item * module($self,$key,$value)
+
+=item *
+
+module($self,$key,$value)
Validates that a given key is in an acceptable module name format, e.g.
'Test::CPAN::Meta::Version'.
+
=back
-=end internals
+=end :internals
+
+=for Pod::Coverage anything boolean check_lazylist check_list custom_1 custom_2 exversion file
+identifier license module phase relation release_status string string_or_undef
+url urlspec version header check_map
=head1 BUGS
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Meta/YAML.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta/YAML.pm
index 2e94a180840..ba8a702f74d 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Meta/YAML.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/YAML.pm
@@ -1,6 +1,6 @@
package CPAN::Meta::YAML;
-BEGIN {
- $CPAN::Meta::YAML::VERSION = '0.003';
+{
+ $CPAN::Meta::YAML::VERSION = '0.007';
}
use strict;
@@ -459,7 +459,7 @@ sub _write_scalar {
$string =~ s/([\x00-\x1f])/\\$UNPRINTABLE[ord($1)]/g;
return qq|"$string"|;
}
- if ( $string =~ /(?:^\W|\s)/ or $QUOTE{$string} ) {
+ if ( $string =~ /(?:^\W|\s|:\z)/ or $QUOTE{$string} ) {
return "'$string'";
}
return $string;
@@ -610,12 +610,13 @@ sub LoadFile {
# Use Scalar::Util if possible, otherwise emulate it
BEGIN {
+ local $@;
eval {
require Scalar::Util;
- *refaddr = *Scalar::Util::refaddr;
};
- eval <<'END_PERL' if $@;
-# Failed to load Scalar::Util
+ if ( $@ or $Scalar::Util::VERSION < 1.18 ) {
+ eval <<'END_PERL' if $@;
+# Scalar::Util failed to load or too old
sub refaddr {
my $pkg = ref($_[0]) or return undef;
if ( !! UNIVERSAL::can($_[0], 'can') ) {
@@ -629,7 +630,9 @@ sub refaddr {
$i;
}
END_PERL
-
+ } else {
+ *refaddr = *Scalar::Util::refaddr;
+ }
}
1;
@@ -644,26 +647,26 @@ CPAN::Meta::YAML - Read and write a subset of YAML for CPAN Meta files
=head1 VERSION
-version 0.003
+version 0.007
=head1 SYNOPSIS
use CPAN::Meta::YAML;
- # methods for files
- $yaml = CPAN::Meta::YAML->read('META.yml');
- $yaml->write('MYMETA.yml');
-
- # methods for strings
- $yaml_text = $yaml->write_string;
- $yaml = CPAN::Meta::YAML->read_string($yaml_text);
+ # reading a META file
+ open $fh, "<:utf8", "META.yml";
+ $yaml_text = do { local $/; <$fh> };
+ $yaml = CPAN::Meta::YAML->read_string($yaml_text)
+ or die CPAN::Meta::YAML->errstr;
# finding the metadata
- my $meta = $yaml->[0];
+ $meta = $yaml->[0];
- # handling errors
- $yaml->write($file)
+ # writing a META file
+ $yaml_text = $yaml->write_string
or die CPAN::Meta::YAML->errstr;
+ open $fh, ">:utf8", "META.yml";
+ print $fh $yaml_text;
=head1 DESCRIPTION
@@ -671,6 +674,10 @@ This module implements a subset of the YAML specification for use in reading
and writing CPAN metadata files like F<META.yml> and F<MYMETA.yml>. It should
not be used for any other general YAML parsing or generation task.
+NOTE: F<META.yml> (and F<MYMETA.yml>) files should be UTF-8 encoded. Users are
+responsible for proper encoding and decoding. In particular, the C<read> and
+C<write> methods do B<not> support UTF-8 and should not be used.
+
=head1 SUPPORT
This module is currently derived from L<YAML::Tiny> by Adam Kennedy. If
@@ -682,6 +689,25 @@ L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=YAML-Tiny>
L<YAML::Tiny>, L<YAML>, L<YAML::XS>
+=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders
+
+=head1 SUPPORT
+
+=head2 Bugs / Feature Requests
+
+Please report any bugs or feature requests through the issue tracker
+at L<http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta-YAML>.
+You will be notified automatically of any progress on your issue.
+
+=head2 Source Code
+
+This is open source software. The code repository is available for
+public review and contribution under the terms of the license.
+
+L<https://github.com/dagolden/cpan-meta-yaml>
+
+ git clone https://github.com/dagolden/cpan-meta-yaml.git
+
=head1 AUTHORS
=over 4
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm b/Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm
index 3582b0acb4c..daafc1dbaf1 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Mirrors.pm
@@ -1,5 +1,37 @@
# -*- Mode: cperl; coding: utf-8; cperl-indent-level: 4 -*-
# vim: ts=4 sts=4 sw=4:
+=head1 NAME
+
+CPAN::Mirrors - Get CPAN miror information and select a fast one
+
+=head1 SYNOPSIS
+
+ use CPAN::Mirrors;
+
+ my $mirrors = CPAN::Mirrors->new;
+ $mirrors->parse_from_file( $mirrored_by_file );
+
+ my $seen = {};
+
+ my $best_continent = $mirrors->find_best_continents( { seen => $seen } );
+ my @mirrors = $mirrors->get_mirrors_by_continents( $best_continent );
+
+ my $callback = sub {
+ my( $m ) = @_;
+ printf "%s = %s\n", $m->hostname, $m->rtt
+ };
+ $mirrors->get_mirrors_timings( \@mirrors, $seen, $callback );
+
+ @mirrors = sort { $a->rtt <=> $b->rtt } @mirrors;
+
+ print "Best mirrors are ", map( { $_->rtt } @mirrors[0..3] ), "\n";
+
+=head1 DESCRIPTION
+
+=over
+
+=cut
+
package CPAN::Mirrors;
use strict;
use vars qw($VERSION $urllist $silent);
@@ -10,31 +42,55 @@ use FileHandle;
use Fcntl ":flock";
use Net::Ping ();
+=item new( LOCAL_FILE_NAME )
+
+=cut
+
sub new {
my ($class, $file) = @_;
- my $self = bless {
- mirrors => [],
- geography => {},
+ my $self = bless {
+ mirrors => [],
+ geography => {},
}, $class;
+ if( defined $file ) {
+ $self->parse_mirrored_by( $file );
+ }
+
+ return $self
+}
+
+sub parse_mirrored_by {
+ my ($self, $file) = @_;
my $handle = FileHandle->new;
- $handle->open($file)
+ $handle->open($file)
or croak "Couldn't open $file: $!";
flock $handle, LOCK_SH;
$self->_parse($file,$handle);
flock $handle, LOCK_UN;
$handle->close;
+}
- # populate continents & countries
+=item continents()
- return $self
-}
+Return a list of continents based on those defined in F<MIRRORED.BY>.
+
+=cut
sub continents {
my ($self) = @_;
return keys %{$self->{geography}};
}
+=item countries( [CONTINENTS] )
+
+Return a list of countries based on those defined in F<MIRRORED.BY>.
+It only returns countries for the continents you specify (as defined
+in C<continents>). If you don't specify any continents, it returns all
+of the countries listed in F<MIRRORED.BY>.
+
+=cut
+
sub countries {
my ($self, @continents) = @_;
@continents = $self->continents unless @continents;
@@ -45,6 +101,15 @@ sub countries {
return @countries;
}
+=item mirrors( [COUNTRIES] )
+
+Return a list of mirrors based on those defined in F<MIRRORED.BY>.
+It only returns mirrors for the countries you specify (as defined
+in C<countries>). If you don't specify any countries, it returns all
+of the mirrors listed in F<MIRRORED.BY>.
+
+=cut
+
sub mirrors {
my ($self, @countries) = @_;
return @{$self->{mirrors}} unless @countries;
@@ -56,118 +121,300 @@ sub mirrors {
return @found;
}
+=item get_mirrors_by_countries( [COUNTRIES] )
+
+A more sensible synonym for mirrors.
+
+=cut
+
+sub get_mirrors_by_countries { &mirrors }
+
+=item get_mirrors_by_continents( [CONTINENTS] )
+
+Return a list of mirrors for all of continents you specify. If you don't
+specify any continents, it returns all of the mirrors.
+
+=cut
+
+sub get_mirrors_by_continents {
+ my ($self, $continents ) = @_;
+
+ $self->mirrors( $self->get_countries_by_continents( @$continents ) );
+ }
+
+=item get_countries_by_continents( [CONTINENTS] )
+
+A more sensible synonym for countries.
+
+=cut
+sub get_countries_by_continents { &countries }
+
+=item best_mirrors
+
+C<best_mirrors> checks for the best mirrors based on the list of
+continents you pass, or, without that, all continents, as defined
+by C<CPAN::Mirrored::By>. It pings each mirror, up to the value of
+C<how_many>. In list context, it returns up to C<how_many> mirror.
+In scalar context, it returns the single best mirror.
+
+Arguments
+
+ how_many - the number of mirrors to return. Default: 1
+ callback - a callback for find_best_continents
+ verbose - true or false on all the whining and moaning. Default: false
+ continents - an array ref of the continents to check
+
+If you don't specify the continents, C<best_mirrors> calls
+C<find_best_continents> to get the list of continents to check.
+
+=cut
+
sub best_mirrors {
my ($self, %args) = @_;
- my $how_many = $args{how_many} || 1;
- my $callback = $args{callback};
- my $verbose = $args{verbose};
- my $conts = $args{continents} || [];
- $conts = [$conts] unless ref $conts;
+ my $how_many = $args{how_many} || 1;
+ my $callback = $args{callback};
+ my $verbose = defined $args{verbose} ? $args{verbose} : 0;
+ my $continents = $args{continents} || [];
+ $continents = [$continents] unless ref $continents;
# Old Net::Ping did not do timings at all
return "http://www.cpan.org/" unless Net::Ping->VERSION gt '2.13';
my $seen = {};
- if ( ! @$conts ) {
+ if ( ! @$continents ) {
print "Searching for the best continent ...\n" if $verbose;
- my @best = $self->_find_best_continent($seen, $verbose, $callback);
+ my @best_continents = $self->find_best_continents(
+ seen => $seen,
+ verbose => $verbose,
+ callback => $callback,
+ );
# Only add enough continents to find enough mirrors
my $count = 0;
- for my $c ( @best ) {
- push @$conts, $c;
- $count += $self->mirrors( $self->countries($c) );
+ for my $continent ( @best_continents ) {
+ push @$continents, $continent;
+ $count += $self->mirrors( $self->countries($continent) );
last if $count >= $how_many;
}
}
- print "Scanning " . join(", ", @$conts) . " ...\n" if $verbose;
+ print "Scanning " . join(", ", @$continents) . " ...\n" if $verbose;
+
+ my $trial_mirrors = $self->get_n_random_mirrors_by_continents( 3 * $how_many, $continents->[0] );
+
+ my $timings = $self->get_mirrors_timings( $trial_mirrors, $seen, $callback );
+ return [] unless @$timings;
+
+ $how_many = @$timings if $how_many > @$timings;
+
+ return wantarray ? @{$timings}[0 .. $how_many-1] : $timings->[0];
+}
+
+=item get_n_random_mirrors_by_continents( N, [CONTINENTS]
+
+Returns up to N random mirrors for the specified continents. Specify the
+continents as an array reference.
+
+=cut
+
+sub get_n_random_mirrors_by_continents {
+ my( $self, $n, $continents ) = @_;
+ $n ||= 3;
+ $continents = [ $continents ] unless ref $continents;
- my @timings;
- my @long_list = $self->mirrors($self->countries(@$conts));
- my $long_list_size = ( $how_many > 10 ? $how_many : 10 );
- if ( @long_list > $long_list_size ) {
- @long_list = map {$_->[0]}
- sort {$a->[1] <=> $b->[1]}
- map {[$_, rand]} @long_list;
- splice @long_list, $long_list_size; # truncate
+ if ( $n <= 0 ) {
+ return wantarray ? () : [];
}
- for my $m ( @long_list ) {
- next unless $m->http;
- my $hostname = $m->hostname;
- if ( $seen->{$hostname} ) {
- push @timings, $seen->{$hostname}
- if defined $seen->{$hostname}[1];
+ my @long_list = $self->get_mirrors_by_continents( $continents );
+
+ if ( $n eq '*' or $n > @long_list ) {
+ return wantarray ? @long_list : \@long_list;
+ }
+
+ @long_list = map {$_->[0]}
+ sort {$a->[1] <=> $b->[1]}
+ map {[$_, rand]} @long_list;
+
+ splice @long_list, $n; # truncate
+
+ \@long_list;
+}
+
+=item get_mirrors_timings( MIRROR_LIST, SEEN, CALLBACK );
+
+Pings the listed mirrors and returns a list of mirrors sorted
+in ascending ping times.
+
+=cut
+
+sub get_mirrors_timings {
+ my( $self, $mirror_list, $seen, $callback ) = @_;
+
+ $seen = {} unless defined $seen;
+ croak "The mirror list argument must be an array reference"
+ unless ref $mirror_list eq ref [];
+ croak "The seen argument must be a hash reference"
+ unless ref $seen eq ref {};
+ croak "callback must be a subroutine"
+ if( defined $callback and ref $callback ne ref sub {} );
+
+ my $timings = [];
+ for my $m ( @$mirror_list ) {
+ $seen->{$m->hostname} = $m;
+ next unless eval{ $m->http };
+
+ if( $self->_try_a_ping( $seen, $m, ) ) {
+ my $ping = $m->ping;
+ next unless defined $ping;
+ push @$timings, $m;
+ $callback->( $m ) if $callback;
}
else {
- my $ping = $m->ping;
- next unless defined $ping;
- push @timings, [$m, $ping];
- $callback->($m,$ping) if $callback;
+ push @$timings, $seen->{$m->hostname}
+ if defined $seen->{$m->hostname}->rtt;
}
}
- return unless @timings;
-
- $how_many = @timings if $how_many > @timings;
- my @best =
- map { $_->[0] }
- sort { $a->[1] <=> $b->[1] } @timings;
- return wantarray ? @best[0 .. $how_many-1] : $best[0];
+ my @best = sort {
+ if( defined $a->rtt and defined $b->rtt ) {
+ $a->rtt <=> $b->rtt
+ }
+ elsif( defined $a->rtt and ! defined $b->rtt ) {
+ return -1;
+ }
+ elsif( ! defined $a->rtt and defined $b->rtt ) {
+ return 1;
+ }
+ elsif( ! defined $a->rtt and ! defined $b->rtt ) {
+ return 0;
+ }
+
+ } @$timings;
+
+ return wantarray ? @best : \@best;
}
-sub _find_best_continent {
- my ($self, $seen, $verbose, $callback) = @_;
+=item find_best_continents( HASH_REF );
+
+C<find_best_continents> goes through each continent and pings C<N> random
+mirrors on that continent. It then orders the continents by ascending
+median ping time. In list context, it returns the ordered list of
+continent. In scalar context, it returns the same list as an anonymous
+array.
+
+Arguments:
+
+ n - the number of hosts to ping for each continent. Default: 3
+ seen - a hashref of cached hostname ping times
+ verbose - true or false for noisy or quiet. Default: false
+ callback - a subroutine to run after each ping.
+ ping_cache_limit - how long, in seconds, to reuse previous ping times.
+ Default: 1 day
+
+The C<seen> hash has hostnames as keys and anonymous arrays as values. The
+anonymous array is a triplet of a C<CPAN::Mirrored::By> object, a ping
+time, and the epoch time for the measurement.
+
+The callback subroutine gets the C<CPAN::Mirrored::By> object, the ping
+time, and measurement time (the same things in the C<seen> hashref) as arguments.
+C<find_best_continents> doesn't care what the callback does and ignores the return
+value.
- my %median;
+=cut
+
+sub find_best_continents {
+ my ($self, %args) = @_;
+
+ $args{n} ||= 3;
+ $args{verbose} = 0 unless defined $args{verbose};
+ $args{seen} = {} unless defined $args{seen};
+ croak "The seen argument must be a hash reference"
+ unless ref $args{seen} eq ref {};
+ $args{ping_cache_limit} = 24 * 60 * 60
+ unless defined $args{ping_cache_time};
+ croak "callback must be a subroutine"
+ if( defined $args{callback} and ref $args{callback} ne ref sub {} );
+
+ my %medians;
CONT: for my $c ( $self->continents ) {
+ print "Testing $c\n" if $args{verbose};
my @mirrors = $self->mirrors( $self->countries($c) );
+
next CONT unless @mirrors;
- my $sample = 3;
- my $n = (@mirrors < $sample) ? @mirrors : $sample;
+ my $n = (@mirrors < $args{n}) ? @mirrors : $args{n};
+
my @tests;
- RANDOM: while ( @mirrors && @tests < $n ) {
+ my $tries = 0;
+ RANDOM: while ( @mirrors && @tests < $n && $tries++ < 15 ) {
my $m = splice( @mirrors, int(rand(@mirrors)), 1 );
- my $ping = $m->ping;
- $callback->($m,$ping) if $callback;
- # record undef so we don't try again
- $seen->{$m->hostname} = [$m, $ping];
- next RANDOM unless defined $ping;
- push @tests, $ping;
- }
- next CONT unless @tests;
- @tests = sort { $a <=> $b } @tests;
- if ( @tests == 1 ) {
- $median{$c} = $tests[0];
- }
- elsif ( @tests % 2 ) {
- $median{$c} = $tests[ int(@tests / 2) ];
- }
- else {
- my $mid_high = int(@tests/2);
- $median{$c} = ($tests[$mid_high-1] + $tests[$mid_high])/2;
+ if( $self->_try_a_ping( $args{seen}, $m, $args{ping_cache_limit} ) ) {
+ $self->get_mirrors_timings( [ $m ], @args{qw(seen callback)} );
+ next RANDOM unless defined $args{seen}{$m->hostname}->rtt;
+ }
+ printf "\t%s -> %0.2f ms\n",
+ $m->hostname,
+ join ' ', 1000 * $args{seen}{$m->hostname}->rtt
+ if $args{verbose};
+
+ push @tests, $args{seen}{$m->hostname}->rtt;
}
+
+ my $median = $self->_get_median_ping_time( \@tests, $args{verbose} );
+ $medians{$c} = $median if defined $median;
}
- my @best_cont = sort { $median{$a} <=> $median{$b} } keys %median ;
+ my @best_cont = sort { $medians{$a} <=> $medians{$b} } keys %medians;
- if ( $verbose ) {
+ if ( $args{verbose} ) {
print "Median result by continent:\n";
for my $c ( @best_cont ) {
- printf( " %d ms %s\n", int($median{$c}*1000+.5), $c );
+ printf( " %4d ms %s\n", int($medians{$c}*1000+.5), $c );
}
}
return wantarray ? @best_cont : $best_cont[0];
}
+# retry if
+sub _try_a_ping {
+ my ($self, $seen, $mirror, $ping_cache_limit ) = @_;
+
+ ( ! exists $seen->{$mirror->hostname} )
+ or
+ (
+ ! defined $seen->{$mirror->hostname}->rtt
+ or
+ time - $seen->{$mirror->hostname}->rtt > $ping_cache_limit
+ )
+}
+
+sub _get_median_ping_time {
+ my ($self, $tests, $verbose ) = @_;
+
+ my @sorted = sort { $a <=> $b } @$tests;
+
+ my $median = do {
+ if ( @sorted == 0 ) { undef }
+ elsif ( @sorted == 1 ) { $sorted[0] }
+ elsif ( @sorted % 2 ) { $sorted[ int(@sorted / 2) ] }
+ else {
+ my $mid_high = int(@sorted/2);
+ ($sorted[$mid_high-1] + $sorted[$mid_high])/2;
+ }
+ };
+
+ printf "\t-->median time: %0.2f ms\n", $median * 1000 if $verbose;
+
+ return $median;
+}
+
# Adapted from Parse::CPAN::MirroredBy by Adam Kennedy
sub _parse {
my ($self, $file, $handle) = @_;
my $output = $self->{mirrors};
- my $geo = $self->{geography};
+ my $geo = $self->{geography};
local $/ = "\012";
my $line = 0;
@@ -193,7 +440,7 @@ sub _parse {
$mirror ||= {};
if ( $prop eq 'dst_location' ) {
my (@location,$continent,$country);
- @location = (split /\s*,\s*/, $value)
+ @location = (split /\s*,\s*/, $value)
and ($continent, $country) = @location[-1,-2];
$continent =~ s/\s\(.*//;
$continent =~ s/\W+$//; # if Jarkko doesn't know latitude/longitude
@@ -244,35 +491,61 @@ sub new {
$arg ||= {};
bless $arg, $self;
}
-sub hostname { shift->{hostname} }
-sub continent { shift->{continent} }
-sub country { shift->{country} }
-sub http { shift->{http} || '' }
-sub ftp { shift->{ftp} || '' }
-sub rsync { shift->{rsync} || '' }
-
-sub url {
+sub hostname { shift->{hostname} }
+sub continent { shift->{continent} }
+sub country { shift->{country} }
+sub http { shift->{http} || '' }
+sub ftp { shift->{ftp} || '' }
+sub rsync { shift->{rsync} || '' }
+sub rtt { shift->{rtt} }
+sub ping_time { shift->{ping_time} }
+
+sub url {
my $self = shift;
return $self->{http} || $self->{ftp};
}
sub ping {
my $self = shift;
+
my $ping = Net::Ping->new("tcp",1);
my ($proto) = $self->url =~ m{^([^:]+)};
my $port = $proto eq 'http' ? 80 : 21;
return unless $port;
- if ( $ping->can('port_number') ) {
- $ping->port_number($port);
+
+ if ( $ping->can('port_number') ) {
+ $ping->port_number($port);
}
else {
$ping->{'port_num'} = $port;
}
+
$ping->hires(1) if $ping->can('hires');
my ($alive,$rtt) = $ping->ping($self->hostname);
- return $alive ? $rtt : undef;
+
+ $self->{rtt} = $alive ? $rtt : undef;
+ $self->{ping_time} = time;
+
+ $self->rtt;
}
1;
+=back
+
+=head1 AUTHOR
+
+Andreas Koenig C<< <andk@cpan.org> >>, David Golden C<< <dagolden@cpan.org> >>,
+brian d foy C<< <bdfoy@cpan.org> >>
+
+=head1 LICENSE
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See L<http://www.perl.com/perl/misc/Artistic.html>
+
+
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Shell.pm b/Master/tlpkg/tlperl/lib/CPAN/Shell.pm
index 9effb0d2e70..21441df653f 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Shell.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Shell.pm
@@ -653,7 +653,7 @@ sub mkmyconfig {
"CPAN::MyConfig already exists as $configpm.\n" .
"Running configuration again...\n"
);
- require CPAN::FirstTime;
+ require CPAN::FirstTime;
CPAN::FirstTime::init($configpm);
}
else {
@@ -1221,6 +1221,7 @@ sub autobundle {
$fh->close;
$CPAN::Frontend->myprint("\nWrote bundle file
$to\n\n");
+ return $to;
}
#-> sub CPAN::Shell::expandany ;
@@ -1684,7 +1685,7 @@ sub rematein {
if ($meth =~ /^($needs_recursion_protection)$/) {
# it would be silly to check for recursion for look or dump
# (we are in CPAN::Shell::rematein)
- CPAN->debug("Going to test against recursion") if $CPAN::DEBUG;
+ CPAN->debug("Testing against recursion") if $CPAN::DEBUG;
eval { $obj->color_cmd_tmps(0,1); };
if ($@) {
if (ref $@
@@ -1847,7 +1848,7 @@ sub recent {
my($self) = @_;
if ($CPAN::META->has_inst("XML::LibXML")) {
my $url = $CPAN::Defaultrecent;
- $CPAN::Frontend->myprint("Going to fetch '$url'\n");
+ $CPAN::Frontend->myprint("Fetching '$url'\n");
unless ($CPAN::META->has_usable("LWP")) {
$CPAN::Frontend->mydie("LWP not installed; cannot continue");
}
@@ -1935,7 +1936,7 @@ sub smoke {
my $distros = $self->recent;
DISTRO: for my $distro (@$distros) {
next if $distro =~ m|/Bundle-|; # XXX crude heuristic to skip bundles
- $CPAN::Frontend->myprint(sprintf "Going to download and test '$distro'\n");
+ $CPAN::Frontend->myprint(sprintf "Downloading and testing '$distro'\n");
{
my $skip = 0;
local $SIG{INT} = sub { $skip = 1 };
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS.pm b/Master/tlpkg/tlperl/lib/CPANPLUS.pm
index b0122572651..e1fc6ef8ad3 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS.pm
@@ -13,7 +13,7 @@ BEGIN {
use vars qw( @EXPORT @ISA $VERSION );
@EXPORT = qw( shell fetch get install );
@ISA = qw( Exporter );
- $VERSION = "0.9103"; #have to hardcode or cpan.org gets unhappy
+ $VERSION = "0.9121"; #have to hardcode or cpan.org gets unhappy
}
### purely for backward compatibility, so we can call it from the commandline:
@@ -124,21 +124,21 @@ that use this API.
=head2 GENERAL USAGE
-This is the document you are currently reading. It describes
-basic usage and background information. Its main purpose is to
+This is the document you are currently reading. It describes
+basic usage and background information. Its main purpose is to
assist the user who wants to learn how to invoke CPANPLUS
and install modules from the commandline and to point you
to more indepth reading if required.
=head2 API REFERENCE
-The C<CPANPLUS> API is meant to let you programmatically
+The C<CPANPLUS> API is meant to let you programmatically
interact with the C<CPAN> mirrors. The documentation in
L<CPANPLUS::Backend> shows you how to create an object
capable of interacting with those mirrors, letting you
create & retrieve module objects.
L<CPANPLUS::Module> shows you how you can use these module
-objects to perform actions like installing and testing.
+objects to perform actions like installing and testing.
The default shell, documented in L<CPANPLUS::Shell::Default>
is also scriptable. You can use its API to dispatch calls
@@ -150,7 +150,7 @@ from your script to the CPANPLUS Shell.
=head2 STARTING AN INTERACTIVE SHELL
-You can start an interactive shell by running either of
+You can start an interactive shell by running either of
the two following commands:
$ cpanp
@@ -158,34 +158,34 @@ the two following commands:
$ perl -MCPANPLUS -eshell
All commands available are listed in the interactive shells
-help menu. See C<cpanp -h> or L<CPANPLUS::Shell::Default>
-for instructions on using the default shell.
+help menu. See C<cpanp -h> or L<CPANPLUS::Shell::Default>
+for instructions on using the default shell.
=head2 CHOOSE A SHELL
By running C<cpanp> without arguments, you will start up
-the shell specified in your config, which defaults to
+the shell specified in your config, which defaults to
L<CPANPLUS::Shell::Default>. There are more shells available.
-C<CPANPLUS> itself ships with an emulation shell called
-L<CPANPLUS::Shell::Classic> that looks and feels just like
+C<CPANPLUS> itself ships with an emulation shell called
+L<CPANPLUS::Shell::Classic> that looks and feels just like
the old C<CPAN.pm> shell.
You can start this shell by typing:
$ perl -MCPANPLUS -e'shell Classic'
-Even more shells may be available from C<CPAN>.
+Even more shells may be available from C<CPAN>.
Note that if you have changed your default shell in your
-configuration, that shell will be used instead. If for
-some reason there was an error with your specified shell,
+configuration, that shell will be used instead. If for
+some reason there was an error with your specified shell,
you will be given the default shell.
=head2 BUILDING PACKAGES
-C<cpan2dist> is a commandline tool to convert any distribution
+C<cpan2dist> is a commandline tool to convert any distribution
from C<CPAN> into a package in the format of your choice, like
-for example C<.deb> or C<FreeBSD ports>.
+for example C<.deb> or C<FreeBSD ports>.
See C<cpan2dist -h> for details.
@@ -238,10 +238,10 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-The CPAN++ interface (of which this module is a part of) is copyright (c)
+The CPAN++ interface (of which this module is a part of) is copyright (c)
2001 - 2007, Jos Boumans E<lt>kane@cpan.orgE<gt>. All rights reserved.
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=head1 SEE ALSO
@@ -256,7 +256,7 @@ L<CPANPLUS::Shell::Default>, L<CPANPLUS::FAQ>, L<CPANPLUS::Backend>, L<CPANPLUS:
I<bug-cpanplus@rt.cpan.org>
=item * Questions & suggestions:
-I<cpanplus-devel@lists.sourceforge.net>
+I<bug-cpanplus@rt.cpan.org>
=back
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Backend.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Backend.pm
index 43e73b7b1fe..bb11f473618 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Backend.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Backend.pm
@@ -36,7 +36,7 @@ $ENV{'PERL5_CPANPLUS_IS_VERSION'} = __PACKAGE__->VERSION;
=head1 NAME
-CPANPLUS::Backend
+CPANPLUS::Backend - programmer's interface to CPANPLUS
=head1 SYNOPSIS
@@ -66,7 +66,7 @@ When C<CPANPLUS::Backend> is loaded, which is necessary for just
about every <CPANPLUS> operation, the environment variable
C<PERL5_CPANPLUS_IS_RUNNING> is set to the current process id.
-Additionally, the environment variable C<PERL5_CPANPLUS_IS_VERSION>
+Additionally, the environment variable C<PERL5_CPANPLUS_IS_VERSION>
will be set to the version of C<CPANPLUS::Backend>.
This information might be useful somehow to spawned processes.
@@ -134,13 +134,13 @@ sub module_tree {
my @rv;
for my $name ( grep { defined } @_) {
- ### From John Malmberg: This is failing on VMS
- ### because ODS-2 does not retain the case of
+ ### From John Malmberg: This is failing on VMS
+ ### because ODS-2 does not retain the case of
### filenames that are created.
- ### The problem is the filename is being converted
- ### to a module name and then looked up in the
+ ### The problem is the filename is being converted
+ ### to a module name and then looked up in the
### %$modtree hash.
- ###
+ ###
### As a fix, we do a search on VMS instead --
### more cpu cycles, but it gets around the case
### problem --kane
@@ -152,7 +152,7 @@ sub module_tree {
)
: $modtree->{$name}
};
-
+
push @rv, $modobj || '';
}
return @rv == 1 ? $rv[0] : @rv;
@@ -397,7 +397,7 @@ for my $func (qw[fetch extract install readme files distributions]) {
return CPANPLUS::Backend::RV->new(
function => $func,
- ok => !$flag,
+ ok => ( !$flag ? 1 : 0 ),
rv => $href,
args => \%hash,
);
@@ -418,6 +418,8 @@ C<parse_module>;
=item Text-Bastardize
+=item Text/Bastardize.pm
+
=item Text-Bastardize-1.06
=item AYRNIEU/Text-Bastardize
@@ -444,7 +446,7 @@ would give back a C<CPANPLUS::Module> object of that version.
Even if the version on CPAN is currently higher.
The last three are examples of PATH resolution. In the first, we supply
-an absolute path to the unwrapped distribution. In the second the
+an absolute path to the unwrapped distribution. In the second the
distribution is relative to the current working directory.
In the third, we will use the current working directory.
@@ -483,7 +485,7 @@ sub parse_module {
error(loc("Can not parse module string from reference '%1'", $mod ));
return;
}
-
+
### check only for allowed characters in a module name
unless( $mod =~ /[^\w:]/ ) {
@@ -516,17 +518,17 @@ sub parse_module {
);
### better guess for the version
- $modobj->version( $modobj->package_version )
+ $modobj->version( $modobj->package_version )
if defined $modobj->package_version;
-
+
### better guess at module name, if possible
if ( my $pkgname = $modobj->package_name ) {
$pkgname =~ s/-/::/g;
-
+
### no sense replacing it unless we changed something
- $modobj->module( $pkgname )
+ $modobj->module( $pkgname )
if ($pkgname ne $modobj->package_name) || $pkgname !~ /-/;
- }
+ }
$modobj->status->fetch( $parent );
$modobj->status->extract( $dir );
@@ -549,27 +551,37 @@ sub parse_module {
UNKNOWN_DL_LOCATION ),
author => CPANPLUS::Module::Author::Fake->new
);
-
+
### set the fetch_from accessor so we know to by pass the
### usual mirrors
$modobj->status->_fetch_from( $mod );
-
+
### better guess for the version
- $modobj->version( $modobj->package_version )
+ $modobj->version( $modobj->package_version )
if defined $modobj->package_version;
-
+
### better guess at module name, if possible
if ( my $pkgname = $modobj->package_name ) {
$pkgname =~ s/-/::/g;
-
+
### no sense replacing it unless we changed something
- $modobj->module( $pkgname )
+ $modobj->module( $pkgname )
if ($pkgname ne $modobj->package_name) || $pkgname !~ /-/;
- }
-
- return $modobj;
+ }
+
+ return $modobj;
+ }
+
+ # Stolen from cpanminus to support 'Module/Install.pm'
+ # type input
+ if ( ( my $tmpmod = $mod ) =~ s/\.pm$//i ) {
+ my ($volume, $dirs, $file) = File::Spec->splitpath( $tmpmod );
+ $tmpmod = join '::', grep { $_ } File::Spec->splitdir( $dirs ), $file;
+ ### perhaps we can find it in the module tree?
+ my $maybe = $self->module_tree( $tmpmod );
+ return $maybe if IS_MODOBJ->( module => $maybe );
}
-
+
### perhaps we can find it's a third party module?
{ my $modobj = CPANPLUS::Module::Fake->new(
module => $mod,
@@ -582,7 +594,7 @@ sub parse_module {
);
if( $modobj->is_third_party ) {
my $info = $modobj->third_party_information;
-
+
$modobj->author->author( $info->{author} );
$modobj->author->email( $info->{author_url} );
$modobj->description( $info->{url} );
@@ -595,30 +607,30 @@ sub parse_module {
error( loc("%1 is not a proper distribution name!", $mod) );
return;
}
-
+
### there's wonky uris out there, like this:
### E/EY/EYCK/Net/Lite/Net-Lite-FTP-0.091
### compensate for that
my $author;
### you probably have an A/AB/ABC/....../Dist.tgz type uri
- if( (defined $parts[0] and length $parts[0] == 1) and
+ if( (defined $parts[0] and length $parts[0] == 1) and
(defined $parts[1] and length $parts[1] == 2) and
$parts[2] =~ /^$parts[0]/i and $parts[2] =~ /^$parts[1]/i
- ) {
+ ) {
splice @parts, 0, 2; # remove the first 2 entries from the list
- $author = shift @parts; # this is the actual author name then
+ $author = shift @parts; # this is the actual author name then
### we''ll assume a ABC/..../Dist.tgz
} else {
$author = shift @parts || '';
}
- my($pkg, $version, $ext, $full) =
+ my($pkg, $version, $ext, $full) =
$self->_split_package_string( package => $dist );
-
+
### translate a distribution into a module name ###
- my $guess = $pkg;
- $guess =~ s/-/::/g if $guess;
+ my $guess = $pkg;
+ $guess =~ s/-/::/g if $guess;
my $maybe = $self->module_tree( $guess );
if( IS_MODOBJ->( module => $maybe ) ) {
@@ -648,18 +660,18 @@ sub parse_module {
} else {
$auth_obj = $maybe->author;
$path = $maybe->path;
- }
-
+ }
+
if( $maybe->package_name eq $pkg ) {
-
+
my $modobj = CPANPLUS::Module::Fake->new(
module => $maybe->module,
version => $version,
### no extension? use the extension the original package
### had instead
- package => do { $ext
- ? $full
- : $full .'.'. $maybe->package_extension
+ package => do { $ext
+ ? $full
+ : $full .'.'. $maybe->package_extension
},
path => $path,
author => $auth_obj,
@@ -669,27 +681,27 @@ sub parse_module {
### you asked for a specific version?
### assume our $maybe is the one you wanted,
- ### and fix up the version..
+ ### and fix up the version..
} else {
-
+
my $modobj = $maybe->clone;
$modobj->version( $version );
- $modobj->package(
- $maybe->package_name .'-'.
- $version .'.'.
- $maybe->package_extension
+ $modobj->package(
+ $maybe->package_name .'-'.
+ $version .'.'.
+ $maybe->package_extension
);
-
+
### you wanted a specific author, but it's not the one
### from the module tree? we'll fix it up
if( $author and $author ne $modobj->author->cpanid ) {
$modobj->author( $auth_obj );
$modobj->path( $path );
}
-
+
return $modobj;
}
-
+
### you didn't care about a version, so just return the object then
} elsif ( !$version ) {
return $maybe;
@@ -734,7 +746,7 @@ sub parse_module {
# This should catch edge-cases where the package name
# is unrelated to the modules it contains.
- my ($modobj) = grep { $_->package_name eq $mod }
+ my ($modobj) = grep { $_->package_name eq $mod }
$self->search( type => 'package', allow => [ qr/^\Q$mod\E/ ], );
return $modobj if IS_MODOBJ->( module => $modobj );
@@ -829,7 +841,7 @@ modules they are in our @INC.
=item * C<load>
This resets the cache of modules we've attempted to load, but failed.
-This enables you to load them again after a failed load, if they
+This enables you to load them again after a failed load, if they
somehow have become available.
=item * C<all>
@@ -904,7 +916,7 @@ The location where to create the local mirror.
=item index_files
Enable/disable fetching of index files. You can disable fetching of the
-index files if you don't plan to use the local mirror as your primary
+index files if you don't plan to use the local mirror as your primary
site, or if you'd like up-to-date index files be fetched from elsewhere.
Defaults to true.
@@ -1014,7 +1026,7 @@ different or on a different machine by issuing the following commands:
### using the default shell:
CPAN Terminal> i file://path/to/Snapshot_XXYY.pm
-
+
### using the API
$modobj = $cb->parse_module( module => 'file://path/to/Snapshot_XXYY.pm' );
$modobj->install;
@@ -1077,7 +1089,7 @@ sub autobundle {
error( loc( "Could not open '%1' for writing: %2", $file, $! ) );
return;
}
-
+
### make sure we load the module tree *before* doing this, as it
### starts to chdir all over the place
$self->module_tree;
@@ -1139,7 +1151,7 @@ EOF
=head2 $bool = $cb->save_state
Explicit command to save memory state to disk. This can be used to save
-information to disk about where a module was extracted, the result of
+information to disk about where a module was extracted, the result of
C<make test>, etc. This will then be re-loaded into memory when a new
session starts.
@@ -1150,7 +1162,7 @@ source engine). The default storage engine supports this option.
Most users will not need this command, but it can handy for automated
systems like setting up CPAN smoke testers.
-The method will return true if it managed to save the state to disk,
+The method will return true if it managed to save the state to disk,
or false if it did not.
=cut
@@ -1168,7 +1180,7 @@ sub save_state {
=head1 CUSTOM MODULE SOURCES
-Besides the sources as provided by the general C<CPAN> mirrors, it's
+Besides the sources as provided by the general C<CPAN> mirrors, it's
possible to add your own sources list to your C<CPANPLUS> index.
The methodology behind this works much like C<Debian's apt-sources>.
@@ -1195,13 +1207,13 @@ sub list_custom_sources {
=head2 $local_index = $cb->add_custom_source( uri => URI, [verbose => BOOL] );
-Adds an C<URI> to your own sources list and mirrors its index. See the
+Adds an C<URI> to your own sources list and mirrors its index. See the
documentation on C<< $cb->update_custom_source >> on how this is done.
Returns the full path to the local index on success, or false on failure.
Note that when adding a new C<URI>, the change to the in-memory tree is
-not saved until you rebuild or save the tree to disk again. You can do
+not saved until you rebuild or save the tree to disk again. You can do
this using the C<< $cb->reload_indices >> method.
=cut
@@ -1250,14 +1262,14 @@ users to index it.
For details, see the C<< $cb->write_custom_source_index >> method below.
All packages that are added via this mechanism will be attributed to the
-author with C<CPANID> C<LOCAL>. You can use this id to search for all
+author with C<CPANID> C<LOCAL>. You can use this id to search for all
added packages.
=cut
sub update_custom_source {
my $self = shift;
-
+
### if it mentions /remote/, the request is to update a single uri,
### not all the ones we have, so dispatch appropriately
my $rv = grep( /remote/i, @_)
@@ -1265,11 +1277,11 @@ sub update_custom_source {
: $self->__update_custom_module_sources( @_ );
return $rv;
-}
+}
=head2 $file = $cb->write_custom_source_index( path => /path/to/package/root, [to => /path/to/index/file, verbose => BOOL] );
-Writes the index for a custom repository root. Most users will not have to
+Writes the index for a custom repository root. Most users will not have to
worry about this, but administrators of a repository will need to make sure
their indexes are up to date.
@@ -1278,7 +1290,7 @@ root, which you can specify with the C<path> argument. You can override this
location by specifying the C<to> argument, but in normal operation, that should
not be required.
-Once the index file is written, users can then add the C<URI> pointing to
+Once the index file is written, users can then add the C<URI> pointing to
the repository to their custom list of sources and start using it right away. See the C<< $cb->add_custom_source >> method for user details.
=cut
@@ -1301,15 +1313,15 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-The CPAN++ interface (of which this module is a part of) is copyright (c)
+The CPAN++ interface (of which this module is a part of) is copyright (c)
2001 - 2007, Jos Boumans E<lt>kane@cpan.orgE<gt>. All rights reserved.
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=head1 SEE ALSO
-L<CPANPLUS::Configure>, L<CPANPLUS::Module>, L<CPANPLUS::Module::Author>,
+L<CPANPLUS::Configure>, L<CPANPLUS::Module>, L<CPANPLUS::Module::Author>,
L<CPANPLUS::Selfupdate>
=cut
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Backend/RV.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Backend/RV.pm
index e861a093a27..4a7dec12f0d 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Backend/RV.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Backend/RV.pm
@@ -19,7 +19,7 @@ local $Params::Check::VERBOSE = 1;
=head1 NAME
-CPANPLUS::Backend::RV
+CPANPLUS::Backend::RV - return value objects
=head1 SYNOPSIS
@@ -117,7 +117,7 @@ sub _ok { return shift->ok }
### this allows people to not have to explicitly say
### if( $rv->ok ) { foo() }
### XXX add an explicit stringify, so it doesn't fall back to "bool"? :(
-use overload bool => \&_ok,
+use overload bool => \&_ok,
# '""' => \&_stringify,
fallback => 1;
@@ -133,10 +133,10 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-The CPAN++ interface (of which this module is a part of) is copyright (c)
+The CPAN++ interface (of which this module is a part of) is copyright (c)
2001 - 2007, Jos Boumans E<lt>kane@cpan.orgE<gt>. All rights reserved.
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=cut
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Config.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Config.pm
index 5cf11d3e732..e148b8fca75 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Config.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Config.pm
@@ -18,25 +18,26 @@ use File::Basename qw[dirname];
use IPC::Cmd qw[can_run];
use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
use Module::Load::Conditional qw[check_install];
+use version;
=pod
=head1 NAME
-CPANPLUS::Config
+CPANPLUS::Config - configuration defaults and heuristics for CPANPLUS
=head1 SYNOPSIS
### conf object via CPANPLUS::Backend;
$cb = CPANPLUS::Backend->new;
$conf = $cb->configure_object;
-
+
### or as a standalone object
$conf = CPANPLUS::Configure->new;
### values in 'conf' section
- $verbose = $conf->get_conf( 'verbose' );
+ $verbose = $conf->get_conf( 'verbose' );
$conf->set_conf( verbose => 1 );
### values in 'program' section
@@ -45,7 +46,7 @@ CPANPLUS::Config
=head1 DESCRIPTION
-This module contains defaults and heuristics for configuration
+This module contains defaults and heuristics for configuration
information for CPANPLUS. To change any of these values, please
see the documentation in C<CPANPLUS::Configure>.
@@ -62,7 +63,7 @@ my $Conf = {
'_fetch' => {
'blacklist' => [ 'ftp' ],
},
-
+
### _source, _build and _mirror are supposed to be static
### no changes should be needed unless pause/cpan changes
'_source' => {
@@ -139,7 +140,7 @@ An example entry would like this:
'host' => 'ftp.funet.fi'
}
];
-
+
=item allow_build_interactivity
Boolean flag to indicate whether 'perl Makefile.PL' and similar
@@ -149,6 +150,19 @@ are run interactively or not. Defaults to 'true'.
$Conf->{'conf'}->{'allow_build_interactivity'} = 1;
+=item allow_unknown_prereqs
+
+Boolean flag to indicate that unresolvable prereqs are acceptable.
+If C<true> then only warnings will be issued (the behaviour before 0.9114)
+when a module is unresolvable from any our sources (CPAN and/or
+C<custom_sources>). If C<false> then an unresolvable prereq will fail
+during the C<prepare> stage of distribution installation.
+Defaults to C<true>.
+
+=cut
+
+ $Conf->{'conf'}->{'allow_unknown_prereqs'} = 1;
+
=item base
The directory CPANPLUS keeps all its build and state information in.
@@ -199,7 +213,7 @@ Defaults to 'false'.
=item dist_type
Default distribution type to use when building packages. See C<cpan2dist>
-or C<CPANPLUS::Dist> for details. An empty string will not use any
+or C<CPANPLUS::Dist> for details. An empty string will not use any
package building software. Defaults to an empty string.
=cut
@@ -214,7 +228,7 @@ when sending emails. Defaults to an C<example.com> address.
=cut
$Conf->{'conf'}->{'email'} = DEFAULT_EMAIL;
-
+
=item enable_custom_sources
Boolean flag indicating whether custom sources should be enabled or
@@ -231,7 +245,7 @@ Defaults to C<true>
=item extractdir
-String containing the directory where fetched archives should be
+String containing the directory where fetched archives should be
extracted. An empty string will use a directory under your C<base>
directory. Defaults to an empty string.
@@ -241,7 +255,7 @@ directory. Defaults to an empty string.
=item fetchdir
-String containing the directory where fetched archives should be
+String containing the directory where fetched archives should be
stored. An empty string will use a directory under your C<base>
directory. Defaults to an empty string.
@@ -303,7 +317,7 @@ installed, 'false' otherwise.
=cut
- $Conf->{'conf'}->{'md5'} = (
+ $Conf->{'conf'}->{'md5'} = (
check_install( module => 'Digest::SHA' ) ? 1 : 0 );
=item no_update
@@ -326,8 +340,8 @@ Defaults to 'true'.
=item prefer_bin
-A boolean indicating whether or not to prefer command line programs
-over perl modules. Defaults to 'false' unless you do not have
+A boolean indicating whether or not to prefer command line programs
+over perl modules. Defaults to 'false' unless you do not have
C<Compress::Zlib> installed (as that would mean we could not extract
C<.tar.gz> files)
@@ -335,22 +349,22 @@ C<.tar.gz> files)
### if we dont have c::zlib, we'll need to use /bin/tar or we
### can not extract any files. Good time to change the default
- $Conf->{'conf'}->{'prefer_bin'} =
+ $Conf->{'conf'}->{'prefer_bin'} =
(eval {require Compress::Zlib; 1} ? 0 : 1 );
=item prefer_makefile
-A boolean indicating whether or not prefer a C<Makefile.PL> over a
+A boolean indicating whether or not prefer a C<Makefile.PL> over a
C<Build.PL> file if both are present. Defaults to 'true', unless
the perl version is at least 5.10.1 or appropriate versions of L<Module::Build>
and L<CPANPLUS::Dist::Build> are available.
=cut
- $Conf->{'conf'}->{'prefer_makefile'} =
- ( $] >= 5.010001 or
+ $Conf->{'conf'}->{'prefer_makefile'} =
+ ( $] >= 5.010001 or
( check_install( module => 'Module::Build', version => '0.32' ) and
- check_install( module => INSTALLER_BUILD, version => '0.24' ) )
+ check_install( module => INSTALLER_BUILD, version => '0.60' ) )
? 0 : 1 );
=item prereqs
@@ -382,7 +396,7 @@ Defaults to C<CPANPLUS::Shell::Default>, the default CPANPLUS shell.
=item show_startup_tip
-A boolean indicating whether or not to show start up tips in the
+A boolean indicating whether or not to show start up tips in the
interactive shell. Defaults to 'true'.
=cut
@@ -392,14 +406,14 @@ interactive shell. Defaults to 'true'.
=item signature
A boolean indicating whether or not check signatures if packages are
-signed. Defaults to 'true' if you have C<gpg> or C<Crypt::OpenPGP>
+signed. Defaults to 'true' if you have C<gpg> or C<Crypt::OpenPGP>
installed, 'false' otherwise.
=cut
$Conf->{'conf'}->{'signature'} = do {
check_install( module => 'Module::Signature', version => '0.06' )
- and ( can_run('gpg') ||
+ and ( can_run('gpg') ||
check_install(module => 'Crypt::OpenPGP')
);
} ? 1 : 0;
@@ -417,12 +431,12 @@ Defaults to 'false'.
A boolean indicating whether or not to use C<Storable> to write compiled
source file information to disk. This makes for faster startup and look
-up times, but takes extra diskspace. Defaults to 'true' if you have
+up times, but takes extra diskspace. Defaults to 'true' if you have
C<Storable> installed and 'false' if you don't.
=cut
- $Conf->{'conf'}->{'storable'} =
+ $Conf->{'conf'}->{'storable'} =
( check_install( module => 'Storable' ) ? 1 : 0 );
=item timeout
@@ -437,7 +451,7 @@ Defaults to 300.
=item verbose
A boolean indicating whether or not C<CPANPLUS> runs in verbose mode.
-Defaults to 'true' if you have the environment variable
+Defaults to 'true' if you have the environment variable
C<PERL5_CPANPLUS_VERBOSE> set to true, 'false' otherwise.
It is recommended you run with verbose enabled, but it is disabled
@@ -464,7 +478,7 @@ C<CPANPLUS::Internals::Source>. Default to C<CPANPLUS::Internals::Source::Memory
=cut
- $Conf->{'conf'}->{'source_engine'} = DEFAULT_SOURCE_ENGINE;
+ $Conf->{'conf'}->{'source_engine'} = DEFAULT_SOURCE_ENGINE;
=item cpantest_reporter_args
@@ -474,14 +488,14 @@ set it to:
{ transport => 'Net::SMTP::TLS',
transport_args => [ User => 'Joe', Password => '123' ],
- }
+ }
=cut
$Conf->{'conf'}->{'cpantest_reporter_args'} = {};
=back
-
+
=head2 Section 'program'
=cut
@@ -510,7 +524,7 @@ program used to build perl or failing that, a C<make> in your path.
=cut
- $Conf->{'program'}->{'make'} =
+ $Conf->{'program'}->{'make'} =
can_run($Config{'make'}) || can_run('make');
=item pager
@@ -520,7 +534,7 @@ $ENV{PAGER}, 'less' or 'more' programs, in that order.
=cut
- $Conf->{'program'}->{'pager'} =
+ $Conf->{'program'}->{'pager'} =
$ENV{'PAGER'} || can_run('less') || can_run('more');
### no one uses this feature anyway, and it's only working for EU::MM
@@ -534,14 +548,14 @@ $ENV{SHELL} setting, or $ENV{COMSPEC} on Windows.
=cut
- $Conf->{'program'}->{'shell'} = $^O eq 'MSWin32'
- ? $ENV{COMSPEC}
+ $Conf->{'program'}->{'shell'} = $^O eq 'MSWin32'
+ ? $ENV{COMSPEC}
: $ENV{SHELL};
=item sudo
A string holding the path to your C<sudo> binary if your install path
-requires super user permissions. Looks for C<sudo> in your path, or
+requires super user permissions. Looks for C<sudo> in your path, or
remains empty if you do not require super user permissions to install.
=cut
@@ -550,19 +564,19 @@ remains empty if you do not require super user permissions to install.
### let's assume you dont need sudo,
### unless one of the below criteria tells us otherwise
my $sudo = undef;
-
+
### you're a normal user, you might need sudo
if( $> ) {
-
+
### check for all install dirs!
### you have write permissions to the installdir,
### you don't need sudo
- if( -w $Config{'installsitelib'} && -w $Config{'installsitebin'} ) {
-
+ if( -w $Config{'installsitelib'} && -w $Config{'installsitebin'} ) {
+
### installsiteman3dir is a 5.8'ism.. don't check
- ### it on 5.6.x...
+ ### it on 5.6.x...
if( defined $Config{'installsiteman3dir'} ) {
- $sudo = -w $Config{'installsiteman3dir'}
+ $sudo = -w $Config{'installsiteman3dir'}
? undef
: can_run('sudo');
} else {
@@ -572,36 +586,38 @@ remains empty if you do not require super user permissions to install.
### you have PERL_MM_OPT set to some alternate
### install place. You probably have write permissions
### to that
- } elsif ( $ENV{'PERL_MM_OPT'} and
+ } elsif ( $ENV{'PERL_MM_OPT'} and
$ENV{'PERL_MM_OPT'} =~ /INSTALL|LIB|PREFIX/
) {
$sudo = undef;
### you probably don't have write permissions
- } else {
+ } else {
$sudo = can_run('sudo');
}
- }
-
+ }
+
### and return the value
$sudo;
};
=item perlwrapper
+B<DEPRECATED>
+
A string holding the path to the C<cpanp-run-perl> utility bundled
with CPANPLUS, which is used to enable autoflushing in spawned processes.
=cut
- ### perlwrapper that allows us to turn on autoflushing
- $Conf->{'program'}->{'perlwrapper'} = sub {
+ ### perlwrapper that allows us to turn on autoflushing
+ $Conf->{'program'}->{'perlwrapper'} = sub {
my $name = 'cpanp-run-perl';
my @bins = do{
require Config;
my $ver = $Config::Config{version};
-
+
### if we are running with 'versiononly' enabled,
### all binaries will have the perlversion appended
### ie, cpanp will become cpanp5.9.5
@@ -618,17 +634,17 @@ with CPANPLUS, which is used to enable autoflushing in spawned processes.
my $path;
BIN: for my $bin (@bins) {
-
+
### parallel to your cpanp/cpanp-boxed
my $maybe = File::Spec->rel2abs(
File::Spec->catfile( dirname($0), $bin )
- );
+ );
$path = $maybe and last BIN if -f $maybe;
-
+
### parallel to your CPANPLUS.pm:
### $INC{cpanplus}/../bin/cpanp-run-perl
$maybe = File::Spec->rel2abs(
- File::Spec->catfile(
+ File::Spec->catfile(
dirname($INC{'CPANPLUS.pm'}),
'..', # lib dir
'bin', # bin dir
@@ -636,14 +652,14 @@ with CPANPLUS, which is used to enable autoflushing in spawned processes.
)
);
$path = $maybe and last BIN if -f $maybe;
-
+
### you installed CPANPLUS in a custom prefix,
### so go parallel to /that/. PREFIX=/tmp/cp
### would put cpanp-run-perl in /tmp/cp/bin and
### CPANPLUS.pm in
### /tmp/cp/lib/perl5/site_perl/5.8.8
$maybe = File::Spec->rel2abs(
- File::Spec->catfile(
+ File::Spec->catfile(
dirname( $INC{'CPANPLUS.pm'} ),
'..', '..', '..', '..', # 4x updir
'bin', # bin dir
@@ -660,8 +676,8 @@ with CPANPLUS, which is used to enable autoflushing in spawned processes.
### prefer anything that's found in the path paralel to your $^X
for my $dir (File::Spec->rel2abs( dirname($^X) ),
split(/\Q$Config::Config{path_sep}\E/, $ENV{PATH}),
- File::Spec->curdir,
- ) {
+ File::Spec->curdir,
+ ) {
### On VMS the path could be in UNIX format, and we
### currently need it to be in VMS format
@@ -670,15 +686,21 @@ with CPANPLUS, which is used to enable autoflushing in spawned processes.
$maybe = File::Spec->catfile( $dir, $bin );
$path = $maybe and last BIN if -f $maybe;
}
- }
-
+ }
+
### we should have a $path by now ideally, if so return it
return $path if defined $path;
-
+
+ ### CPANPLUS::Dist::MM doesn't require this anymore
+ ### but CPANPLUS::Dist::Build might if it is less than 0.60
+ my $cpdb = check_install( module => INSTALLER_BUILD );
+ return '' unless
+ $cpdb and eval { version->parse($cpdb->{version}) < version->parse('0.60') };
+
### if not, warn about it and give sensible default.
- ### XXX try to be a no-op instead then..
+ ### XXX try to be a no-op instead then..
### cross your fingers...
- ### pass '-P' to perl: "run program through C
+ ### pass '-P' to perl: "run program through C
### preprocessor before compilation"
### XXX using -P actually changes the way some Makefile.PLs
### are executed, so don't do that... --kane
@@ -690,13 +712,13 @@ with CPANPLUS, which is used to enable autoflushing in spawned processes.
"From the default shell, you can do this by typing:\n\n".
" %3\n".
" %4\n",
- $name, 'perlwrapper',
+ $name, 'perlwrapper',
's program perlwrapper FULL_PATH_TO_CPANP_RUN_PERL',
's save'
- ));
+ ));
return '';
}->();
-
+
=back
=cut
@@ -719,12 +741,12 @@ sub new {
### now store it in the parent object
$obj->$acc( $subobj );
}
-
+
$obj->_clean_up_paths;
-
+
### shut up IPC::Cmd warning about not findin IPC::Run on win32
$IPC::Cmd::WARN = 0;
-
+
return $obj;
}
@@ -743,18 +765,18 @@ sub _clean_up_paths {
### patch from Steve Hay, 13nd of June 2007
### msg-id: <467012A4.6060705@uk.radan.com>
- ### windows directories are not allowed to end with
+ ### windows directories are not allowed to end with
### a space, so any occurrence of '\w\s+/\w+' means
### we're dealing with arguments, not directory
### names.
if ($path =~ /^(.*?)(\s+\/.*$)/) {
($prog, $args) = ($1, $2);
-
+
### otherwise, there are no arguments
} else {
($prog, $args) = ($path, '');
}
-
+
$prog = Win32::GetShortPathName( $prog );
$self->program->$pgm( $prog . $args );
}
@@ -778,10 +800,10 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-The CPAN++ interface (of which this module is a part of) is copyright (c)
+The CPAN++ interface (of which this module is a part of) is copyright (c)
2001 - 2007, Jos Boumans E<lt>kane@cpan.orgE<gt>. All rights reserved.
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Configure.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Configure.pm
index ba1ca0785ac..04a08753d55 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Configure.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Configure.pm
@@ -26,12 +26,12 @@ $VERSION = $CPANPLUS::Internals::VERSION = $CPANPLUS::Internals::VERSION;
### the config options.
for my $meth ( qw[conf _lib _perl5lib]) {
no strict 'refs';
-
+
*$meth = sub {
my $self = shift;
$self->{'_'.$meth} = $_[0] if @_;
return $self->{'_'.$meth};
- }
+ }
}
@@ -39,7 +39,7 @@ for my $meth ( qw[conf _lib _perl5lib]) {
=head1 NAME
-CPANPLUS::Configure
+CPANPLUS::Configure - configuration for CPANPLUS
=head1 SYNOPSIS
@@ -74,7 +74,7 @@ a method call on a C<CPANPLUS::Backend> object.
=item load_configs
-Controls whether or not additional user configurations are to be loaded
+Controls whether or not additional user configurations are to be loaded
or not. Defaults to C<true>.
=back
@@ -89,7 +89,7 @@ or not. Defaults to C<true>.
sub new {
my $class = shift;
my %hash = @_;
-
+
### XXX pass on options to ->init() like rescan?
my ($load);
my $tmpl = {
@@ -99,7 +99,7 @@ or not. Defaults to C<true>.
check( $tmpl, \%hash ) or (
warn Params::Check->last_error, return
);
-
+
$Config ||= CPANPLUS::Config->new;
my $self = bless {}, $class;
$self->conf( $Config );
@@ -108,11 +108,11 @@ or not. Defaults to C<true>.
### these can override things in the default config
$self->init if $load;
- ### after processing the config files, check what
+ ### after processing the config files, check what
### @INC and PERL5LIB are set to.
$self->_lib( \@INC );
$self->_perl5lib( $ENV{'PERL5LIB'} );
-
+
return $self;
}
}
@@ -143,21 +143,21 @@ Returns true on success, false on failure.
my $self = shift;
my $obj = $self->conf;
my %hash = @_;
-
+
my ($rescan);
my $tmpl = {
rescan => { default => 0, store => \$rescan },
};
-
+
check( $tmpl, \%hash ) or (
warn Params::Check->last_error, return
- );
-
+ );
+
### if the base dir is changed, we have to rescan it
### for any CPANPLUS::Config::* files as well, so keep
### track of it
my $cur_base = $self->get_conf('base');
-
+
### warn if we find an old style config specified
### via environment variables
{ my $env = ENV_CPANPLUS_CONFIG;
@@ -169,17 +169,17 @@ Returns true on success, false on failure.
"in the default shell to use custom config files.",
$env, "CPANPLUS::Configure->save", 's save'));
}
- }
-
+ }
+
{ ### make sure that the homedir is included now
local @INC = ( LIB_DIR->($cur_base), @INC );
-
+
### only set it up once
- if( !$loaded++ or $rescan ) {
+ if( !$loaded++ or $rescan ) {
### find plugins & extra configs
### check $home/.cpanplus/lib as well
require Module::Pluggable;
-
+
Module::Pluggable->import(
search_path => ['CPANPLUS::Config'],
search_dirs => [ LIB_DIR->($cur_base) ],
@@ -187,54 +187,54 @@ Returns true on success, false on failure.
sub_name => 'configs'
);
}
-
-
+
+
### do system config, user config, rest.. in that order
### apparently, on a 2nd invocation of -->configs, a
### ::ISA::CACHE package can appear.. that's bad...
- my %confs = map { $_ => $_ }
+ my %confs = map { $_ => $_ }
grep { $_ !~ /::ISA::/ } __PACKAGE__->configs;
- my @confs = grep { defined }
+ my @confs = grep { defined }
map { delete $confs{$_} } CONFIG_SYSTEM, CONFIG_USER;
- push @confs, sort keys %confs;
-
+ push @confs, sort keys %confs;
+
for my $plugin ( @confs ) {
msg(loc("Found config '%1'", $plugin),0);
-
- ### if we already did this the /last/ time around dont
+
+ ### if we already did this the /last/ time around dont
### run the setup agian.
if( my $loc = Module::Loaded::is_loaded( $plugin ) ) {
msg(loc(" Already loaded '%1' (%2)", $plugin, $loc), 0);
next;
} else {
msg(loc(" Loading config '%1'", $plugin),0);
-
+
if( eval { load $plugin; 1 } ) {
- msg(loc(" Loaded '%1' (%2)",
+ msg(loc(" Loaded '%1' (%2)",
$plugin, Module::Loaded::is_loaded( $plugin ) ), 0);
} else {
error(loc(" Error loading '%1': %2", $plugin, $@));
- }
- }
-
+ }
+ }
+
if( $@ ) {
error(loc("Could not load '%1': %2", $plugin, $@));
next;
- }
-
+ }
+
my $sub = $plugin->can('setup');
$sub->( $self ) if $sub;
}
}
-
+
### did one of the plugins change the base dir? then we should
### scan the dirs again
if( $cur_base ne $self->get_conf('base') ) {
msg(loc("Base dir changed from '%1' to '%2', rescanning",
$cur_base, $self->get_conf('base')), 0);
$self->init( @_, rescan => 1 );
- }
-
+ }
+
### clean up the paths once more, just in case
$obj->_clean_up_paths;
@@ -244,10 +244,10 @@ Returns true on success, false on failure.
my %inc = map { $_ => $_ } @INC;
for my $l ( @$lib ) {
push @INC, $l unless $inc{$l};
- }
+ }
$self->_lib( \@INC );
}
-
+
return 1;
}
}
@@ -265,7 +265,7 @@ Returns true if the file can be saved, false otherwise.
sub can_save {
my $self = shift;
my $file = shift || CONFIG_USER_FILE->();
-
+
return 1 unless -e $file;
chmod 0644, $file;
@@ -284,7 +284,7 @@ be attempted to be saved in the system wide directory.
If no argument is provided, it will default to your personal
config.
-Returns the full path to the file if the config was saved,
+Returns the full path to the file if the config was saved,
false otherwise.
=cut
@@ -298,12 +298,12 @@ sub _config_pm_to_file {
### so figure out where to save them based on their type
my $file;
if( $pm eq CONFIG_USER ) {
- $file = CONFIG_USER_FILE->();
+ $file = CONFIG_USER_FILE->();
} elsif ( $pm eq CONFIG_SYSTEM ) {
$file = CONFIG_SYSTEM_FILE->();
-
- ### third party file
+
+ ### third party file
} else {
my $cfg_pkg = CONFIG . '::';
unless( $pm =~ /^$cfg_pkg/ ) {
@@ -311,13 +311,13 @@ sub _config_pm_to_file {
"WARNING: Your config package '%1' is not in the '%2' ".
"namespace and will not be automatically detected by %3",
$pm, $cfg_pkg, 'CPANPLUS'
- ));
- }
-
+ ));
+ }
+
$file = File::Spec->catfile(
$dir,
split( '::', $pm )
- ) . '.pm';
+ ) . '.pm';
}
return $file;
@@ -328,16 +328,16 @@ sub save {
my $self = shift;
my $pm = shift || CONFIG_USER;
my $savedir = shift || '';
-
+
my $file = $self->_config_pm_to_file( $pm, $savedir ) or return;
my $dir = dirname( $file );
-
+
unless( -d $dir ) {
$self->_mkdir( dir => $dir ) or (
error(loc("Can not create directory '%1' to save config to",$dir)),
return
)
- }
+ }
return unless $self->can_save($file);
### find only accessors that are not private
@@ -345,18 +345,18 @@ sub save {
### for dumping the values
use Data::Dumper;
-
+
my @lines;
for my $acc ( @acc ) {
-
+
push @lines, "### $acc section", $/;
-
+
for my $key ( $self->conf->$acc->ls_accessors ) {
my $val = Dumper( $self->conf->$acc->$key );
-
+
$val =~ s/\$VAR1\s+=\s+//;
$val =~ s/;\n//;
-
+
push @lines, '$'. "conf->set_${acc}( $key => $val );", $/;
}
push @lines, $/,$/;
@@ -368,13 +368,13 @@ sub save {
### use a variable to make sure the pod parser doesn't snag it
my $is = '=';
my $time = gmtime;
-
-
+
+
my $msg = <<_END_OF_CONFIG_;
###############################################
-###
-### Configuration structure for $pm
-###
+###
+### Configuration structure for $pm
+###
###############################################
#last changed: $time GMT
@@ -399,11 +399,11 @@ use strict;
sub setup {
my \$conf = shift;
-
+
$str
- return 1;
-}
+ return 1;
+}
1;
@@ -447,7 +447,7 @@ sub options {
my %seen;
return sort grep { !$seen{$_}++ }
- map { $_->$type->ls_accessors if $_->can($type) }
+ map { $_->$type->ls_accessors if $_->can($type) }
$self->conf;
return;
}
@@ -546,9 +546,9 @@ sub AUTOLOAD {
### cpanplus 0.04x; we renamed ->_get_build('base') to
### ->get_conf('base')
} elsif ( $type eq '_build' and $key eq 'base' ) {
- return $self->get_conf($key);
-
- } else {
+ return $self->get_conf($key);
+
+ } else {
error( loc(q[No such key '%1' in field '%2'], $key, $type) );
return;
}
@@ -564,7 +564,7 @@ sub AUTOLOAD {
if( $conf->can($type) and $conf->$type->can($key) ) {
$conf->$type->$key( $val );
-
+
} else {
error( loc(q[No such key '%1' in field '%2'], $key, $type) );
return;
@@ -613,10 +613,10 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-The CPAN++ interface (of which this module is a part of) is copyright (c)
+The CPAN++ interface (of which this module is a part of) is copyright (c)
2001 - 2007, Jos Boumans E<lt>kane@cpan.orgE<gt>. All rights reserved.
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Configure/Setup.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Configure/Setup.pm
index b6f34f2a521..7720d853083 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Configure/Setup.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Configure/Setup.pm
@@ -60,20 +60,20 @@ sub new {
my $obj = $class->SUPER::new( keys %$tmpl );
for my $acc ( $obj->ls_accessors ) {
$obj->$acc( $args->{$acc} );
- }
-
+ }
+
### otherwise there's a circular use ###
load CPANPLUS::Configure;
load CPANPLUS::Backend;
$obj->configure_object( CPANPLUS::Configure->new() )
unless $obj->configure_object;
-
+
$obj->backend( CPANPLUS::Backend->new( $obj->configure_object ) )
unless $obj->backend;
### use empty string in case user only has T::R::Stub -- it complains
- $obj->term( Term::ReadLine->new('') )
+ $obj->term( Term::ReadLine->new('') )
unless $obj->term;
### enable autoreply if that was passed ###
@@ -85,10 +85,10 @@ sub new {
sub init {
my $self = shift;
my $term = $self->term;
-
+
### default setting, unless changed
$self->config_type( CONFIG_USER ) unless $self->config_type;
-
+
my $save = loc('Save & exit');
my $exit = loc('Quit without saving');
my @map = (
@@ -99,45 +99,45 @@ sub init {
[ loc('Setup FTP/Email settings') => '_setup_ftp' ],
[ loc('Setup basic preferences') => '_setup_conf' ],
[ loc('Setup installer settings') => '_setup_installer' ],
- [ loc('Select mirrors'), => '_setup_hosts' ],
- [ loc('Edit configuration file') => '_edit' ],
+ [ loc('Select mirrors'), => '_setup_hosts' ],
+ [ loc('Edit configuration file') => '_edit' ],
[ $save => '_save' ],
- [ $exit => 1 ],
+ [ $exit => 1 ],
);
my @keys = map { $_->[0] } @map; # sorted keys
my %map = map { @$_ } @map; # lookup hash
-
+
PICK_SECTION: {
print loc("
-=================> MAIN MENU <=================
-
+=================> MAIN MENU <=================
+
Welcome to the CPANPLUS configuration. Please select which
parts you wish to configure
Defaults are taken from your current configuration.
If you would save now, your settings would be written to:
-
+
%1
-
+
", $self->config_type );
-
+
my $choice = $term->get_reply(
prompt => "Section to configure:",
choices => \@keys,
default => $keys[0]
- );
-
+ );
+
### exit configuration?
if( $choice eq $exit ) {
print loc("
Quitting setup, changes will not be saved.
");
return 1;
- }
-
+ }
+
my $method = $map{$choice};
-
+
my $rv = $self->$method or print loc("
There was an error setting up this section. You might want to try again
");
@@ -146,14 +146,14 @@ There was an error setting up this section. You might want to try again
if( $choice eq $save and $rv ) {
print loc("
Quitting setup, changes are saved to '%1'
- ", $self->config_type
+ ", $self->config_type
);
return 1;
}
### otherwise, present choice again
redo PICK_SECTION;
- }
+ }
return 1;
}
@@ -168,22 +168,22 @@ sub _save_where {
ASK_CONFIG_TYPE: {
-
- print loc( q[
+
+ print loc( q[
Where would you like to save your CPANPLUS Configuration file?
-If you want to configure CPANPLUS for this user only,
+If you want to configure CPANPLUS for this user only,
select the '%1' option.
The file will then be saved in your homedirectory.
-If you are the system administrator of this machine,
-and would like to make this config available globally,
+If you are the system administrator of this machine,
+and would like to make this config available globally,
select the '%2' option.
-The file will be then be saved in your CPANPLUS
+The file will be then be saved in your CPANPLUS
installation directory.
], CONFIG_USER, CONFIG_SYSTEM );
-
+
### ask what config type we should save to
my $type = $term->get_reply(
@@ -191,19 +191,19 @@ installation directory.
default => $self->config_type || CONFIG_USER,
choices => [CONFIG_USER, CONFIG_SYSTEM],
);
-
+
my $file = $conf->_config_pm_to_file( $type );
-
+
### can we save to this file?
unless( $conf->can_save( $file ) ) {
error(loc(
"Can not save to file '%1'-- please check permissions " .
- "and try again", $file
+ "and try again", $file
));
-
+
redo ASK_CONFIG_FILE;
- }
-
+ }
+
### you already have the file -- are we allowed to overwrite
### or should we try again?
if ( -e $file and -w _ ) {
@@ -214,18 +214,18 @@ I see you already have this file:
The file will not be overwritten until you explicitly save it.
], $file );
-
- redo ASK_CONFIG_TYPE
+
+ redo ASK_CONFIG_TYPE
unless $term->ask_yn(
prompt => loc( "Do you wish to use this file?"),
default => 'n',
);
}
-
+
print $/, loc("Using '%1' as your configuration type", $type);
-
+
return $self->config_type($type);
- }
+ }
}
@@ -237,10 +237,10 @@ sub _setup_base {
my $base = $conf->get_conf('base');
my $home = File::Spec->catdir( $self->_home_dir, DOT_CPANPLUS );
-
+
print loc("
CPANPLUS needs a directory of its own to cache important index
-files and maybe keep a temporary mirror of CPAN files.
+files and maybe keep a temporary mirror of CPAN files.
This may be a site-wide directory or a personal directory.
For a single-user installation, we suggest using your home directory.
@@ -266,7 +266,7 @@ For a single-user installation, we suggest using your home directory.
print loc("
I see you already have a directory:
%1
-
+
"), $where;
my $yn = $term->ask_yn(
@@ -338,7 +338,7 @@ First of all, I'd like to create this directory.
print loc(q[
Your CPANPLUS build and cache directory has been set to:
%1
-
+
], $where);
return 1;
@@ -422,7 +422,7 @@ is required for the 'from' field, so choose wisely.
unless (grep { $_ eq $current } @choices) {
unshift @choices, $current;
}
-
+
my $email = $term->get_reply(
prompt => loc('Which email address shall I use?'),
default => $current || $choices[0],
@@ -434,7 +434,7 @@ is required for the 'from' field, so choose wisely.
$email = $term->get_reply(
prompt => loc('Email address: '),
);
-
+
unless( $self->_valid_email($email) ) {
print loc("
You did not enter a valid email address, please try again!
@@ -448,7 +448,7 @@ You did not enter a valid email address, please try again!
print loc("
Your 'email' is now:
%1
-
+
", $email);
$conf->set_conf( email => $email );
@@ -481,16 +481,16 @@ like '%1'.
PROGRAM: {
print "\n", loc("Where can I find your '%1' utility? ".
"(Enter a single space to disable)", $prog ), "\n";
-
+
my $loc = $term->get_reply(
prompt => "Path to your '$prog'",
default => $conf->get_program( $prog ),
- );
-
- ### empty line clears it
+ );
+
+ ### empty line clears it
my $cmd = $loc =~ /^\s*$/ ? undef : $loc;
my ($bin) = $cmd =~ /^(\S+)/;
-
+
### did you provide a valid program ?
if( $bin and not can_run( $bin ) ) {
print "\n";
@@ -505,27 +505,27 @@ like '%1'.
'make'
);
print loc("Please provide one!");
-
+
### show win32 where to download
- if ( $^O eq 'MSWin32' ) {
+ if ( $^O eq 'MSWin32' ) {
print loc("You can get '%1' from:", NMAKE);
print "\t". NMAKE_URL ."\n";
}
print "\n";
- redo PROGRAM;
+ redo PROGRAM;
}
$conf->set_program( $prog => $cmd );
print $cmd
- ? loc( "Your '%1' utility has been set to '%2'.",
+ ? loc( "Your '%1' utility has been set to '%2'.",
$prog, $cmd )
- : loc( "Your '%1' has been disabled.", $prog );
+ : loc( "Your '%1' has been disabled.", $prog );
print "\n";
}
}
-
+
return 1;
-}
+}
sub _setup_installer {
my $self = shift;
@@ -533,7 +533,7 @@ sub _setup_installer {
my $conf = $self->configure_object;
my $none = 'None';
- {
+ {
print loc("
CPANPLUS uses binary programs as well as Perl modules to accomplish
various tasks. Normally, CPANPLUS will prefer the use of Perl modules
@@ -543,7 +543,7 @@ You can change this setting by making CPANPLUS prefer the use of
certain binary programs if they are available.
");
-
+
### default to using binaries if we don't have compress::zlib only
### -- it'll get very noisy otherwise
my $type = 'prefer_bin';
@@ -670,7 +670,7 @@ Again, if you don't understand this question, just press ENTER.
Some modules provide both a Build.PL (Module::Build) and a Makefile.PL
(ExtUtils::MakeMaker). By default, CPANPLUS prefers Makefile.PL.
-Module::Build support is not bundled standard with CPANPLUS, but
+Module::Build support is not bundled standard with CPANPLUS, but
requires you to install 'CPANPLUS::Dist::Build' from CPAN.
Although Module::Build is a pure perl solution, which means you will
@@ -722,10 +722,10 @@ pathnames to be added to your @INC, quoting any with embedded whitespace.
$conf->set_conf( $type => $lib );
}
-
+
return 1;
-}
-
+}
+
sub _setup_conf {
my $self = shift;
@@ -834,37 +834,37 @@ Otherwise, select ASK to have us ask your permission to install them.
");
my $type = 'prereqs';
-
+
my @map = (
- [ PREREQ_IGNORE, # conf value
- loc('No, do not install prerequisites'), # UI Value
+ [ PREREQ_IGNORE, # conf value
+ loc('No, do not install prerequisites'), # UI Value
loc("I won't install prerequisites") # diag message
],
[ PREREQ_INSTALL,
- loc('Yes, please install prerequisites'),
- loc("I will install prerequisites")
+ loc('Yes, please install prerequisites'),
+ loc("I will install prerequisites")
],
- [ PREREQ_ASK,
- loc('Ask me before installing a prerequisite'),
- loc("I will ask permission to install")
+ [ PREREQ_ASK,
+ loc('Ask me before installing a prerequisite'),
+ loc("I will ask permission to install")
],
- [ PREREQ_BUILD,
+ [ PREREQ_BUILD,
loc('Build prerequisites, but do not install them'),
loc( "I will only build, but not install prerequisites" )
],
);
-
+
my %reply = map { $_->[1] => $_->[0] } @map; # choice => value
my %diag = map { $_->[1] => $_->[2] } @map; # choice => diag message
my %conf = map { $_->[0] => $_->[1] } @map; # value => ui choice
-
+
my $reply = $term->get_reply(
prompt => loc('Follow prerequisites?'),
default => $conf{ $conf->get_conf( $type ) },
choices => [ @conf{ sort keys %conf } ],
);
print "\n";
-
+
my $value = $reply{ $reply };
my $diag = $diag{ $reply };
@@ -880,7 +880,7 @@ CPANPLUS can do for you later);
");
my $type = 'md5';
-
+
my $yn = $term->ask_yn(
prompt => loc("Shall I use the MD5 checksums?"),
default => $conf->get_conf( $type ),
@@ -894,7 +894,7 @@ CPANPLUS can do for you later);
}
-
+
{ ###########################################
## sally sells seashells by the seashore ##
###########################################
@@ -909,7 +909,7 @@ please enter the full name for your shell module.
my $type = 'shell';
my $other = 'Other';
my @choices = (qw| CPANPLUS::Shell::Default
- CPANPLUS::Shell::Classic |,
+ CPANPLUS::Shell::Classic |,
$other );
my $default = $conf->get_conf($type);
@@ -929,9 +929,9 @@ please enter the full name for your shell module.
);
unless( check_install( module => $reply ) ) {
- print "\n",
+ print "\n",
loc("Could not find '$reply' in your path " .
- "-- please try again"),
+ "-- please try again"),
"\n";
redo SHELL;
}
@@ -973,8 +973,8 @@ Would you like to do this?
###################
print loc("
-
-To limit the amount of RAM used by CPANPLUS, you can use the SQLite
+
+To limit the amount of RAM used by CPANPLUS, you can use the SQLite
source backend instead. Note that it is currently still experimental.
Would you like to do this?
@@ -1197,26 +1197,26 @@ are done.
}
CHOICE: {
-
+
### doesn't play nice with Term::UI :(
### should make t::ui figure out pager opens
#$self->_pager_open; # host lists might be long
-
+
print loc("
You can enter multiple sites by separating them by a space.
For example:
1 4 2 5
- ");
-
+ ");
+
my @reply = $term->get_reply(
prompt => loc('Please pick a site: '),
- choices => [sort(keys %map),
+ choices => [sort(keys %map),
qw|Custom View Up Quit|],
default => $default,
multi => 1,
);
#$self->_pager_close;
-
+
goto COUNTRY if grep { $_ eq 'Up' } @reply;
goto CUSTOM if grep { $_ eq 'Custom' } @reply;
@@ -1646,8 +1646,8 @@ post-configuration editing of the config file
sub _save {
my $self = shift;
my $conf = $self->configure_object;
-
+
return $conf->save( $self->config_type );
-}
+}
1;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist.pm
index 20c74fcd4ad..5df2ef0c64f 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist.pm
@@ -22,7 +22,7 @@ local $Params::Check::VERBOSE = 1;
=head1 NAME
-CPANPLUS::Dist
+CPANPLUS::Dist - base class for plugins
=head1 SYNOPSIS
@@ -313,7 +313,7 @@ sub find_configure_requires {
defaults => $mod->status->$meth || {},
);
- my @possibles = do { defined $mod->status->extract
+ my @possibles = do { defined $mod->status->extract
? ( META_JSON->( $mod->status->extract ),
META_YML->( $mod->status->extract ) )
: ()
@@ -363,7 +363,7 @@ sub find_mymeta_requires {
defaults => $mod->status->$meth || {},
);
- my @possibles = do { defined $mod->status->extract
+ my @possibles = do { defined $mod->status->extract
? ( MYMETA_JSON->( $mod->status->extract ),
MYMETA_YML->( $mod->status->extract ) )
: ()
@@ -418,6 +418,9 @@ sub _prereqs_from_meta_file {
### Parse::CPAN::Meta uses exceptions for errors
### hash returned in list context!!!
+
+ local $ENV{PERL_JSON_BACKEND};
+
my ($doc) = eval { Parse::CPAN::Meta::LoadFile( $meta ) };
unless( $doc ) {
@@ -465,6 +468,9 @@ sub _prereqs_from_meta_json {
### Parse::CPAN::Meta uses exceptions for errors
### hash returned in list context!!!
+
+ local $ENV{PERL_JSON_BACKEND};
+
my ($doc) = eval { Parse::CPAN::Meta->load_file( $meta ) };
unless( $doc ) {
@@ -523,7 +529,7 @@ sub _resolve_prereqs {
my $conf = $cb->configure_object;
my %hash = @_;
- my ($prereqs, $format, $verbose, $target, $force, $prereq_build);
+ my ($prereqs, $format, $verbose, $target, $force, $prereq_build,$tolerant);
my $tmpl = {
### XXX perhaps this should not be required, since it may not be
### packaged, just installed...
@@ -543,6 +549,8 @@ sub _resolve_prereqs {
target => { default => '', store => \$target,
allow => ['',qw[create ignore install]] },
prereq_build => { default => 0, store => \$prereq_build },
+ tolerant => { default => $conf->get_conf('allow_unknown_prereqs'),
+ store => \$tolerant },
};
check( $tmpl, \%hash ) or return;
@@ -594,6 +602,8 @@ sub _resolve_prereqs {
### list of module objects + desired versions
my @install_me;
+ my $flag;
+
for my $mod ( @sorted_prereqs ) {
( my $version = $prereqs->{$mod} ) =~ s#[^0-9\._]+##g;
@@ -626,6 +636,7 @@ sub _resolve_prereqs {
my $core = $sub->( $mod );
unless ( defined $core ) {
error( loc( "No such module '%1' found on CPAN", $mod ) );
+ $flag++ unless $tolerant;
next;
}
if ( $cb->_vcmp( $version, $core ) > 0 ) {
@@ -684,7 +695,6 @@ sub _resolve_prereqs {
}
}
- my $flag;
for my $aref (@install_me) {
my($modobj,$version) = @$aref;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Autobundle.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Autobundle.pm
index 9561dd9f325..546f1ba6382 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Autobundle.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Autobundle.pm
@@ -10,7 +10,7 @@ use base qw[CPANPLUS::Dist::Base];
=head1 NAME
-CPANPLUS::Dist::Autobundle
+CPANPLUS::Dist::Autobundle - distribution class for installation snapshots
=head1 SYNOPSIS
@@ -29,13 +29,13 @@ All modules as mentioned in the snapshot will be installed on your system.
sub init {
my $dist = shift;
my $status = $dist->status;
-
+
$status->mk_accessors(
qw[prepared created installed _prepare_args _create_args _install_args]
);
-
+
return 1;
-}
+}
sub prepare {
my $dist = shift;
@@ -50,11 +50,11 @@ sub prepare {
sub create {
my $dist = shift;
my $self = $dist->parent;
-
+
### we're also the cpan_dist, since we don't need to have anything
- ### prepared
- $dist = $self->status->dist_cpan if $self->status->dist_cpan;
- $self->status->dist_cpan( $dist ) unless $self->status->dist_cpan;
+ ### prepared
+ $dist = $self->status->dist_cpan if $self->status->dist_cpan;
+ $self->status->dist_cpan( $dist ) unless $self->status->dist_cpan;
my $cb = $self->parent;
my $conf = $cb->configure_object;
@@ -62,25 +62,25 @@ sub create {
my( $force, $verbose, $prereq_target, $prereq_format, $prereq_build);
- my $args = do {
+ my $args = do {
local $Params::Check::ALLOW_UNKNOWN = 1;
my $tmpl = {
- force => { default => $conf->get_conf('force'),
+ force => { default => $conf->get_conf('force'),
store => \$force },
- verbose => { default => $conf->get_conf('verbose'),
+ verbose => { default => $conf->get_conf('verbose'),
store => \$verbose },
- prereq_target => { default => '', store => \$prereq_target },
+ prereq_target => { default => '', store => \$prereq_target },
### don't set the default prereq format to 'makemaker' -- wrong!
prereq_format => { #default => $self->status->installer_type,
default => '',
- store => \$prereq_format },
- prereq_build => { default => 0, store => \$prereq_build },
- };
+ store => \$prereq_format },
+ prereq_build => { default => 0, store => \$prereq_build },
+ };
check( $tmpl, \%hash ) or return;
};
-
+
### maybe we already ran a create on this object? ###
return 1 if $dist->status->created && !$force;
@@ -90,7 +90,7 @@ sub create {
msg(loc("Resolving prerequisites mentioned in the bundle"), $verbose);
### this will set the directory back to the start
- ### dir, so we must chdir /again/
+ ### dir, so we must chdir /again/
my $ok = $dist->_resolve_prereqs(
format => $prereq_format,
verbose => $verbose,
@@ -107,7 +107,7 @@ sub create {
sub install {
my $dist = shift;
my %args = @_;
-
+
### store the arguments, so ->install can use them in recursive loops ###
$dist->status->_install_args( \%args );
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Base.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Base.pm
index 904ab172266..8e4e02f1f50 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Base.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Base.pm
@@ -19,13 +19,13 @@ CPANPLUS::Dist::Base - Base class for custom distribution classes
sub prepare {
my $dist = shift;
-
+
### do the 'standard' things
$dist->SUPER::prepare( @_ ) or return;
-
+
### do MY_IMPLEMENTATION specific things
...
-
+
### don't forget to set the status!
return $dist->status->prepared( $SUCCESS ? 1 : 0 );
}
@@ -34,7 +34,7 @@ CPANPLUS::Dist::Base - Base class for custom distribution classes
=head1 DESCRIPTION
CPANPLUS::Dist::Base functions as a base class for all custom
-distribution implementations. It does all the mundane work
+distribution implementations. It does all the mundane work
CPANPLUS would have done without a custom distribution, so you
can override just the parts you need to make your own implementation
work.
@@ -50,7 +50,7 @@ class are called:
$dist->prepare; # find/write meta information
$dist->create; # write the distribution file
$dist->install; # install the distribution file
-
+
$dist->uninstall; # remove the distribution (OPTIONAL)
=head1 METHODS
@@ -64,8 +64,8 @@ override.
=cut
-sub methods {
- return qw[format_available init prepare create install uninstall]
+sub methods {
+ return qw[format_available init prepare create install uninstall]
}
=head2 $bool = $Class->format_available
@@ -82,7 +82,7 @@ Simply return true if the request can proceed and false if it can not.
The C<CPANPLUS::Dist::Base> implementation always returns true.
-=cut
+=cut
sub format_available { return 1 }
@@ -91,21 +91,21 @@ sub format_available { return 1 }
This method is called just after the new dist object is set up and
before the C<prepare> method is called. This is the time to set up
-the object so it can be used with your class.
+the object so it can be used with your class.
For example, you might want to add extra accessors to the C<status>
object, which you might do as follows:
$dist->status->mk_accessors( qw[my_implementation_accessor] );
-The C<status> object is implemented as an instance of the
-C<Object::Accessor> class. Please refer to its documentation for
+The C<status> object is implemented as an instance of the
+C<Object::Accessor> class. Please refer to its documentation for
details.
Return true if the initialization was successful, and false if it was
not.
-The C<CPANPLUS::Dist::Base> implementation does not alter your object
+The C<CPANPLUS::Dist::Base> implementation does not alter your object
and always returns true.
=cut
@@ -116,14 +116,14 @@ sub init { return 1; }
This runs the preparation step of your distribution. This step is meant
to set up the environment so the C<create> step can create the actual
-distribution(file).
-A C<prepare> call in the standard C<ExtUtils::MakeMaker> distribution
+distribution(file).
+A C<prepare> call in the standard C<ExtUtils::MakeMaker> distribution
would, for example, run C<perl Makefile.PL> to find the dependencies
-for a distribution. For a C<debian> distribution, this is where you
+for a distribution. For a C<debian> distribution, this is where you
would write all the metafiles required for the C<dpkg-*> tools.
The C<CPANPLUS::Dist::Base> implementation simply calls the underlying
-distribution class (Typically C<CPANPLUS::Dist::MM> or
+distribution class (Typically C<CPANPLUS::Dist::MM> or
C<CPANPLUS::Dist::Build>).
Sets C<< $dist->status->prepared >> to the return value of this function.
@@ -131,7 +131,7 @@ If you override this method, you should make sure to set this value.
=cut
-sub prepare {
+sub prepare {
### just in case you already did a create call for this module object
### just via a different dist object
my $dist = shift;
@@ -147,18 +147,18 @@ sub prepare {
=head2 $bool = $dist->create
This runs the creation step of your distribution. This step is meant
-to follow up on the C<prepare> call, that set up your environment so
-the C<create> step can create the actual distribution(file).
-A C<create> call in the standard C<ExtUtils::MakeMaker> distribution
+to follow up on the C<prepare> call, that set up your environment so
+the C<create> step can create the actual distribution(file).
+A C<create> call in the standard C<ExtUtils::MakeMaker> distribution
would, for example, run C<make> and C<make test> to build and test
-a distribution. For a C<debian> distribution, this is where you
+a distribution. For a C<debian> distribution, this is where you
would create the actual C<.deb> file using C<dpkg>.
The C<CPANPLUS::Dist::Base> implementation simply calls the underlying
-distribution class (Typically C<CPANPLUS::Dist::MM> or
+distribution class (Typically C<CPANPLUS::Dist::MM> or
C<CPANPLUS::Dist::Build>).
-Sets C<< $dist->status->dist >> to the location of the created
+Sets C<< $dist->status->dist >> to the location of the created
distribution.
If you override this method, you should make sure to set this value.
@@ -167,7 +167,7 @@ If you override this method, you should make sure to set this value.
=cut
-sub create {
+sub create {
### just in case you already did a create call for this module object
### just via a different dist object
my $dist = shift;
@@ -193,13 +193,13 @@ sub create {
This runs the install step of your distribution. This step is meant
to follow up on the C<create> call, which prepared a distribution(file)
to install.
-A C<create> call in the standard C<ExtUtils::MakeMaker> distribution
+A C<create> call in the standard C<ExtUtils::MakeMaker> distribution
would, for example, run C<make install> to copy the distribution files
-to their final destination. For a C<debian> distribution, this is where
+to their final destination. For a C<debian> distribution, this is where
you would run C<dpkg --install> on the created C<.deb> file.
The C<CPANPLUS::Dist::Base> implementation simply calls the underlying
-distribution class (Typically C<CPANPLUS::Dist::MM> or
+distribution class (Typically C<CPANPLUS::Dist::MM> or
C<CPANPLUS::Dist::Build>).
Sets C<< $dist->status->installed >> to the return value of this function.
@@ -207,12 +207,12 @@ If you override this method, you should make sure to set this value.
=cut
-sub install {
+sub install {
### just in case you already did a create call for this module object
### just via a different dist object
my $dist = shift;
my $self = $dist->parent;
- my $dist_cpan = $self->status->dist_cpan;
+ my $dist_cpan = $self->status->dist_cpan;
my $cb = $self->parent;
my $conf = $cb->configure_object;
@@ -223,14 +223,14 @@ sub install {
=head2 $bool = $dist->uninstall
This runs the uninstall step of your distribution. This step is meant
-to remove the distribution from the file system.
-A C<uninstall> call in the standard C<ExtUtils::MakeMaker> distribution
-would, for example, run C<make uninstall> to remove the distribution
-files the file system. For a C<debian> distribution, this is where you
+to remove the distribution from the file system.
+A C<uninstall> call in the standard C<ExtUtils::MakeMaker> distribution
+would, for example, run C<make uninstall> to remove the distribution
+files the file system. For a C<debian> distribution, this is where you
would run C<dpkg --uninstall PACKAGE>.
The C<CPANPLUS::Dist::Base> implementation simply calls the underlying
-distribution class (Typically C<CPANPLUS::Dist::MM> or
+distribution class (Typically C<CPANPLUS::Dist::MM> or
C<CPANPLUS::Dist::Build>).
Sets C<< $dist->status->uninstalled >> to the return value of this function.
@@ -238,12 +238,12 @@ If you override this method, you should make sure to set this value.
=cut
-sub uninstall {
+sub uninstall {
### just in case you already did a create call for this module object
### just via a different dist object
my $dist = shift;
my $self = $dist->parent;
- my $dist_cpan = $self->status->dist_cpan;
+ my $dist_cpan = $self->status->dist_cpan;
my $cb = $self->parent;
my $conf = $cb->configure_object;
@@ -251,7 +251,7 @@ sub uninstall {
$dist->status->uninstalled( $dist_cpan->uninstall( @_ ) );
}
-1;
+1;
# Local variables:
# c-indentation-style: bsd
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build.pm
index 164bcb0a9ec..702d606115b 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build.pm
@@ -10,7 +10,7 @@ use CPANPLUS::Internals::Constants;
### these constants were exported by CPANPLUS::Internals::Constants
### in previous versions.. they do the same though. If we want to have
### a normal 'use' here, up the dependency to CPANPLUS 0.056 or higher
-BEGIN {
+BEGIN {
require CPANPLUS::Dist::Build::Constants;
CPANPLUS::Dist::Build::Constants->import()
if not __PACKAGE__->can('BUILD') && __PACKAGE__->can('BUILD_DIR');
@@ -30,7 +30,7 @@ use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
local $Params::Check::VERBOSE = 1;
-$VERSION = '0.54';
+$VERSION = '0.62';
=pod
@@ -44,8 +44,8 @@ CPANPLUS::Dist::Build - CPANPLUS plugin to install packages that use Build.PL
format => 'CPANPLUS::Dist::Build',
module => $modobj,
);
-
- $build->prepare; # runs Build.PL
+
+ $build->prepare; # runs Build.PL
$build->create; # runs build && build test
$build->install; # runs build install
@@ -58,7 +58,7 @@ Using this package, you can create, install and uninstall perl
modules. It inherits from C<CPANPLUS::Dist>.
Normal users won't have to worry about the interface to this module,
-as it functions transparently as a plug-in to C<CPANPLUS> and will
+as it functions transparently as a plug-in to C<CPANPLUS> and will
just C<Do The Right Thing> when it's loaded.
=head1 ACCESSORS
@@ -104,7 +104,7 @@ This gets set after C<perl Build.PL>
=item C<distdir ()>
Full path to the directory in which the C<prepare> call took place,
-set after a call to C<prepare>.
+set after a call to C<prepare>.
=item C<created ()>
@@ -184,11 +184,11 @@ sub init {
=head2 $bool = $dist->prepare([perl => '/path/to/perl', buildflags => 'EXTRA=FLAGS', force => BOOL, verbose => BOOL])
-C<prepare> prepares a distribution, running C<Build.PL>
+C<prepare> prepares a distribution, running C<Build.PL>
and establishing any prerequisites this
distribution has.
-The variable C<PERL5_CPANPLUS_IS_EXECUTING> will be set to the full path
+The variable C<PERL5_CPANPLUS_IS_EXECUTING> will be set to the full path
of the C<Build.PL> that is being executed. This enables any code inside
the C<Build.PL> to know that it is being installed via CPANPLUS.
@@ -232,9 +232,9 @@ sub prepare {
perl => { default => $^X, store => \$perl },
buildflags => { default => $conf->get_conf('buildflags'),
store => \$buildflags },
- prereq_target => { default => '', store => \$prereq_target },
+ prereq_target => { default => '', store => \$prereq_target },
prereq_format => { default => '',
- store => \$prereq_format },
+ store => \$prereq_format },
prereq_build => { default => 0, store => \$prereq_build },
};
@@ -269,7 +269,8 @@ sub prepare {
my @buildflags = $dist->_buildflags_as_list( $buildflags );
$dist->status->_buildflags( $buildflags );
- my $fail;
+ my $fail; my $prereq_fail;
+ my $status = { };
RUN: {
# 0.85_01
### we resolve 'configure requires' here, so we can run the 'perl
@@ -281,7 +282,7 @@ sub prepare {
### containing a makefile.pl/build.pl for test purposes?
my $safe_ver = version->new('0.85_01');
if ( version->new($CPANPLUS::Internals::VERSION) >= $safe_ver )
- { my $configure_requires = $dist->find_configure_requires;
+ { my $configure_requires = $dist->find_configure_requires;
my $ok = $dist->_resolve_prereqs(
format => $prereq_format,
verbose => $verbose,
@@ -289,18 +290,19 @@ sub prepare {
target => $prereq_target,
force => $force,
prereq_build => $prereq_build,
- );
-
+ );
+
unless( $ok ) {
-
+
#### use $dist->flush to reset the cache ###
error( loc( "Unable to satisfy '%1' for '%2' " .
- "-- aborting install",
- 'configure_requires', $self->module ) );
+ "-- aborting install",
+ 'configure_requires', $self->module ) );
$dist->status->prepared(0);
- $fail++;
+ $prereq_fail++;
+ $fail++;
last RUN;
- }
+ }
### end of prereq resolving ###
}
@@ -310,14 +312,18 @@ sub prepare {
my $env = ENV_CPANPLUS_IS_EXECUTING;
local $ENV{$env} = BUILD_PL->( $dir );
- my $run_perl = $conf->get_program('perlwrapper');
- my $cmd = [$perl, $run_perl, BUILD_PL->($dir), @buildflags];
+ my @run_perl = ( '-e', CPDB_PERL_WRAPPER );
+ my $cmd = [$perl, @run_perl, BUILD_PL->($dir), @buildflags];
unless ( scalar run( command => $cmd,
buffer => \$prep_output,
- verbose => $verbose )
+ verbose => $verbose )
) {
error( loc( "Build.PL failed: %1", $prep_output ) );
+ if ( $conf->get_conf('cpantest') ) {
+ $status->{stage} = 'prepare';
+ $status->{capture} = $prep_output;
+ }
$fail++; last RUN;
}
@@ -325,19 +331,20 @@ sub prepare {
my $prereqs = $self->status->prereqs;
- $prereqs ||= $dist->_find_prereqs( verbose => $verbose,
- dir => $dir,
+ $prereqs ||= $dist->_find_prereqs( verbose => $verbose,
+ dir => $dir,
perl => $perl,
buildflags => $buildflags );
}
-
+
### send out test report? ###
- if( $fail and $conf->get_conf('cpantest') ) {
- $cb->_send_report(
+ if( $fail and $conf->get_conf('cpantest') and not $prereq_fail ) {
+ $cb->_send_report(
module => $self,
failed => $fail,
buffer => CPANPLUS::Error->stack_as_string,
+ status => $status,
verbose => $verbose,
force => $force,
) or error(loc("Failed to send test report for '%1'",
@@ -370,7 +377,7 @@ sub _find_prereqs {
buildflags => { default => $conf->get_conf('buildflags'),
store => \$buildflags },
};
-
+
my $args = check( $tmpl, \%hash ) or return;
my $prereqs = {};
@@ -389,11 +396,11 @@ sub _find_prereqs {
my @buildflags = $dist->_buildflags_as_list( $buildflags );
# Use the new Build action 'prereq_data'
- my $run_perl = $conf->get_program('perlwrapper');
+ my @run_perl = ( '-e', CPDB_PERL_WRAPPER );
- unless ( scalar run( command => [$perl, $run_perl, BUILD->($dir), 'prereq_data', @buildflags],
+ unless ( scalar run( command => [$perl, @run_perl, BUILD->($dir), 'prereq_data', @buildflags],
buffer => \$content,
- verbose => 0 )
+ verbose => 0 )
) {
error( loc( "Build 'prereq_data' failed: %1 %2", $!, $content ) );
#return;
@@ -413,7 +420,7 @@ sub _find_prereqs {
error( loc( "Cannot open '%1': %2", $file, $! ) );
return;
}
-
+
$content = do { local $/; <$fh> };
}
@@ -511,7 +518,7 @@ sub create {
prereq_format => { #default => $self->status->installer_type,
default => '',
store => \$prereq_format },
- prereq_build => { default => 0, store => \$prereq_build },
+ prereq_build => { default => 0, store => \$prereq_build },
};
$args = check( $tmpl, \%hash ) or return;
@@ -567,9 +574,10 @@ sub create {
$dist->status->_buildflags( $buildflags );
my $fail; my $prereq_fail; my $test_fail;
+ my $status = { };
RUN: {
- my $run_perl = $conf->get_program('perlwrapper');
+ my @run_perl = ( '-e', CPDB_PERL_WRAPPER );
### this will set the directory back to the start
### dir, so we must chdir /again/
@@ -601,15 +609,19 @@ sub create {
$cmd = [$perl, BUILD->($dir), @buildflags];
}
else {
- $cmd = [$perl, $run_perl, BUILD->($dir), @buildflags];
+ $cmd = [$perl, @run_perl, BUILD->($dir), @buildflags];
}
unless ( scalar run( command => $cmd,
buffer => \$captured,
- verbose => $verbose )
+ verbose => $verbose )
) {
error( loc( "MAKE failed:\n%1", $captured ) );
$dist->status->build(0);
+ if ( $conf->get_conf('cpantest') ) {
+ $status->{stage} = 'build';
+ $status->{capture} = $captured;
+ }
$fail++; last RUN;
}
@@ -620,8 +632,8 @@ sub create {
### add this directory to your lib ###
$self->add_to_includepath();
- ### this buffer will not include what tests failed due to a
- ### M::B/Test::Harness bug. Reported as #9793 with patch
+ ### this buffer will not include what tests failed due to a
+ ### M::B/Test::Harness bug. Reported as #9793 with patch
### against 0.2607 on 26/1/2005
unless( $skiptest ) {
my $test_output;
@@ -629,13 +641,13 @@ sub create {
$cmd = [$perl, BUILD->($dir), "test", @buildflags];
}
else {
- $cmd = [$perl, $run_perl, BUILD->($dir), "test", @buildflags];
+ $cmd = [$perl, @run_perl, BUILD->($dir), "test", @buildflags];
}
unless ( scalar run( command => $cmd,
buffer => \$test_output,
- verbose => $verbose )
+ verbose => $verbose )
) {
- error( loc( "MAKE TEST failed:\n%1 ", $test_output ) );
+ error( loc( "MAKE TEST failed:\n%1 ", $test_output ), ( $verbose ? 0 : 1 ) );
### mark specifically *test* failure.. so we dont
### send success on force...
@@ -645,16 +657,23 @@ sub create {
$self, $@ )
) {
$dist->status->test(0);
+ if ( $conf->get_conf('cpantest') ) {
+ $status->{stage} = 'test';
+ $status->{capture} = $test_output;
+ }
$fail++; last RUN;
}
- }
+ }
else {
msg( loc( "MAKE TEST passed:\n%1", $test_output ), 0 );
- #msg( $test_output, 0 );
$dist->status->test(1);
+ if ( $conf->get_conf('cpantest') ) {
+ $status->{stage} = 'test';
+ $status->{capture} = $test_output;
+ }
}
- }
+ }
else {
msg(loc("Tests skipped"), $verbose);
}
@@ -670,6 +689,7 @@ sub create {
module => $self,
failed => $test_fail || $fail,
buffer => CPANPLUS::Error->stack_as_string,
+ status => $status,
verbose => $verbose,
force => $force,
tests_skipped => $skiptest,
@@ -702,7 +722,7 @@ sub install {
my $conf = $cb->configure_object;
my %hash = @_;
-
+
my $verbose; my $perl; my $force; my $buildflags;
{ local $Params::Check::ALLOW_UNKNOWN = 1;
my $tmpl = {
@@ -714,7 +734,7 @@ sub install {
store => \$buildflags },
perl => { default => $^X, store => \$perl },
};
-
+
my $args = check( $tmpl, \%hash ) or return;
$dist->status->_install_args( $args );
}
@@ -733,7 +753,7 @@ sub install {
}
### value set and false -- means failure ###
- if( defined $self->status->installed &&
+ if( defined $self->status->installed &&
!$self->status->installed && !$force
) {
error( loc( "Module '%1' has failed to install before this session " .
@@ -743,7 +763,7 @@ sub install {
my $fail;
my @buildflags = $dist->_buildflags_as_list( $buildflags );
- my $run_perl = $conf->get_program('perlwrapper');
+ my @run_perl = ( '-e', CPDB_PERL_WRAPPER );
### hmm, how is this going to deal with sudo?
### for now, check effective uid, if it's not root,
@@ -758,11 +778,19 @@ sub install {
$cmd = [$perl, BUILD->($dir), "install", @buildflags];
}
else {
- $cmd = [$perl, $run_perl, BUILD->($dir), "install", @buildflags];
+ $cmd = [$perl, @run_perl, BUILD->($dir), "install", @buildflags];
}
- my $sudo = $conf->get_program('sudo');
- unshift @$cmd, $sudo if $sudo;
+ ### Detect local::lib type behaviour. Do not use 'sudo' in these cases
+ my $sudo = $conf->get_program('sudo');
+ SUDO: {
+ ### Actual local::lib in use
+ last SUDO if defined $ENV{PERL_MB_OPT} and $ENV{PERL_MB_OPT} =~ m!install_base!;
+ ### 'buildflags' is configured with '--install_base'
+ last SUDO if scalar grep { m!install_base! } @buildflags;
+ ### oh well 'sudo make me a sandwich'
+ unshift @$cmd, $sudo;
+ }
my $buffer;
unless( scalar run( command => $cmd,
@@ -778,7 +806,7 @@ sub install {
$cmd = [$perl, BUILD->($dir), "install", @buildflags];
}
else {
- $cmd = [$perl, $run_perl, BUILD->($dir), "install", @buildflags];
+ $cmd = [$perl, @run_perl, BUILD->($dir), "install", @buildflags];
}
unless( scalar run( command => $cmd,
buffer => \$install_output,
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build/Constants.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build/Constants.pm
index ba1ca8665c0..c0fa040ffc5 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build/Constants.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/Build/Constants.pm
@@ -8,28 +8,31 @@ BEGIN {
require Exporter;
use vars qw[$VERSION @ISA @EXPORT];
-
- $VERSION = '0.54';
+
+ $VERSION = '0.62';
@ISA = qw[Exporter];
- @EXPORT = qw[ BUILD_DIR BUILD ];
+ @EXPORT = qw[ BUILD_DIR BUILD CPDB_PERL_WRAPPER];
}
use constant BUILD_DIR => sub { return @_
? File::Spec->catdir($_[0], '_build')
: '_build';
- };
+ };
use constant BUILD => sub { my $file = @_
? File::Spec->catfile($_[0], 'Build')
: 'Build';
-
+
### on VMS, '.com' is appended when
### creating the Build file
- $file .= '.com' if $^O eq 'VMS';
-
+ $file .= '.com' if $^O eq 'VMS';
+
return $file;
};
-
+
+
+use constant CPDB_PERL_WRAPPER => 'use strict; BEGIN { my $old = select STDERR; $|++; select $old; $|++; $0 = shift(@ARGV); my $rv = do($0); die $@ if $@; }';
+
1;
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/MM.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/MM.pm
index b2205e46f0b..cd428691bcf 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/MM.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Dist/MM.pm
@@ -23,12 +23,12 @@ local $Params::Check::VERBOSE = 1;
=head1 NAME
-CPANPLUS::Dist::MM
+CPANPLUS::Dist::MM - distribution class for MakeMaker related modules
=head1 SYNOPSIS
$mm = CPANPLUS::Dist::MM->new( module => $modobj );
-
+
$mm->create; # runs make && make test
$mm->install; # runs make install
@@ -37,7 +37,7 @@ CPANPLUS::Dist::MM
C<CPANPLUS::Dist::MM> is a distribution class for MakeMaker related
modules.
-Using this package, you can create, install and uninstall perl
+Using this package, you can create, install and uninstall perl
modules. It inherits from C<CPANPLUS::Dist>.
=head1 ACCESSORS
@@ -55,7 +55,7 @@ this module.
=back
-=head1 STATUS ACCESSORS
+=head1 STATUS ACCESSORS
All accessors can be accessed as follows:
$mm->status->ACCESSOR
@@ -64,7 +64,7 @@ All accessors can be accessed as follows:
=item makefile ()
-Location of the Makefile (or Build file).
+Location of the Makefile (or Build file).
Set to 0 explicitly if something went wrong.
=item make ()
@@ -73,7 +73,7 @@ BOOL indicating if the C<make> (or C<Build>) command was successful.
=item test ()
-BOOL indicating if the C<make test> (or C<Build test>) command was
+BOOL indicating if the C<make test> (or C<Build test>) command was
successful.
=item prepared ()
@@ -84,7 +84,7 @@ This gets set after C<perl Makefile.PL>
=item distdir ()
Full path to the directory in which the C<prepare> call took place,
-set after a call to C<prepare>.
+set after a call to C<prepare>.
=item created ()
@@ -126,39 +126,39 @@ to create and install modules in your environment.
### check if the format is available ###
sub format_available {
my $dist = shift;
-
+
### we might be called as $class->format_available =/
require CPANPLUS::Internals;
- my $cb = CPANPLUS::Internals->_retrieve_id(
+ my $cb = CPANPLUS::Internals->_retrieve_id(
CPANPLUS::Internals->_last_id );
my $conf = $cb->configure_object;
-
+
my $mod = "ExtUtils::MakeMaker";
unless( can_load( modules => { $mod => 0.0 } ) ) {
error( loc( "You do not have '%1' -- '%2' not available",
- $mod, __PACKAGE__ ) );
+ $mod, __PACKAGE__ ) );
return;
}
-
+
for my $pgm ( qw[make] ) {
- unless( $conf->get_program( $pgm ) ) {
+ unless( $conf->get_program( $pgm ) ) {
error(loc(
"You do not have '%1' in your path -- '%2' not available\n" .
- "Please check your config entry for '%1'",
+ "Please check your config entry for '%1'",
$pgm, __PACKAGE__ , $pgm
- ));
+ ));
return;
}
}
- return 1;
+ return 1;
}
=pod
=head2 $bool = $dist->init();
-Sets up the C<CPANPLUS::Dist::MM> object for use.
+Sets up the C<CPANPLUS::Dist::MM> object for use.
Effectively creates all the needed status accessors.
Called automatically whenever you create a new C<CPANPLUS::Dist> object.
@@ -168,24 +168,24 @@ Called automatically whenever you create a new C<CPANPLUS::Dist> object.
sub init {
my $dist = shift;
my $status = $dist->status;
-
+
$status->mk_accessors(qw[makefile make test created installed uninstalled
bin_make _prepare_args _create_args _install_args]
);
-
+
return 1;
-}
+}
=pod
=head2 $bool = $dist->prepare([perl => '/path/to/perl', makemakerflags => 'EXTRA=FLAGS', force => BOOL, verbose => BOOL])
-C<prepare> preps a distribution for installation. This means it will
+C<prepare> preps a distribution for installation. This means it will
run C<perl Makefile.PL> and determine what prerequisites this distribution
declared.
-If you set C<force> to true, it will go over all the stages of the
-C<prepare> process again, ignoring any previously cached results.
+If you set C<force> to true, it will go over all the stages of the
+C<prepare> process again, ignoring any previously cached results.
When running C<perl Makefile.PL>, the environment variable
C<PERL5_CPANPLUS_IS_EXECUTING> will be set to the full path of the
@@ -204,11 +204,11 @@ sub prepare {
### just via a different dist object
my $dist = shift;
my $self = $dist->parent;
-
+
### we're also the cpan_dist, since we don't need to have anything
- ### prepared
- $dist = $self->status->dist_cpan if $self->status->dist_cpan;
- $self->status->dist_cpan( $dist ) unless $self->status->dist_cpan;
+ ### prepared
+ $dist = $self->status->dist_cpan if $self->status->dist_cpan;
+ $self->status->dist_cpan( $dist ) unless $self->status->dist_cpan;
my $cb = $self->parent;
my $conf = $cb->configure_object;
@@ -219,7 +219,7 @@ sub prepare {
error( loc( "No dir found to operate on!" ) );
return;
}
-
+
my $args;
my( $force, $verbose, $perl, @mmflags, $prereq_target, $prereq_format,
$prereq_build );
@@ -229,34 +229,34 @@ sub prepare {
makemakerflags => { default =>
$conf->get_conf('makemakerflags') || '',
store => \$mmflags[0] },
- force => { default => $conf->get_conf('force'),
+ force => { default => $conf->get_conf('force'),
store => \$force },
- verbose => { default => $conf->get_conf('verbose'),
+ verbose => { default => $conf->get_conf('verbose'),
store => \$verbose },
- prereq_target => { default => '', store => \$prereq_target },
+ prereq_target => { default => '', store => \$prereq_target },
prereq_format => { default => '',
- store => \$prereq_format },
- prereq_build => { default => 0, store => \$prereq_build },
- };
+ store => \$prereq_format },
+ prereq_build => { default => 0, store => \$prereq_build },
+ };
$args = check( $tmpl, \%hash ) or return;
}
-
-
+
+
### maybe we already ran a create on this object? ###
return 1 if $dist->status->prepared && !$force;
-
+
### store the arguments, so ->install can use them in recursive loops ###
$dist->status->_prepare_args( $args );
-
+
### chdir to work directory ###
my $orig = cwd();
unless( $cb->_chdir( dir => $dir ) ) {
error( loc( "Could not chdir to build directory '%1'", $dir ) );
return;
}
-
- my $fail;
+
+ my $fail;
RUN: {
### we resolve 'configure requires' here, so we can run the 'perl
@@ -266,7 +266,7 @@ sub prepare {
### on this step or failure
### XXX make a separate tarball to test for this scenario: simply
### containing a makefile.pl/build.pl for test purposes?
- { my $configure_requires = $dist->find_configure_requires;
+ { my $configure_requires = $dist->find_configure_requires;
my $ok = $dist->_resolve_prereqs(
format => $prereq_format,
verbose => $verbose,
@@ -274,116 +274,104 @@ sub prepare {
target => $prereq_target,
force => $force,
prereq_build => $prereq_build,
- );
-
+ );
+
unless( $ok ) {
-
+
#### use $dist->flush to reset the cache ###
error( loc( "Unable to satisfy '%1' for '%2' " .
- "-- aborting install",
- 'configure_requires', $self->module ) );
+ "-- aborting install",
+ 'configure_requires', $self->module ) );
$dist->status->prepared(0);
- $fail++;
+ $fail++;
last RUN;
- }
+ }
### end of prereq resolving ###
}
-
- ### don't run 'perl makefile.pl' again if there's a makefile already
+
+ ### don't run 'perl makefile.pl' again if there's a makefile already
if( -e MAKEFILE->() && (-M MAKEFILE->() < -M $dir) && !$force ) {
msg(loc("'%1' already exists, not running '%2 %3' again ".
" unless you force",
MAKEFILE->(), $perl, MAKEFILE_PL->() ), $verbose );
-
+
} else {
unless( -e MAKEFILE_PL->() ) {
msg(loc("No '%1' found - attempting to generate one",
MAKEFILE_PL->() ), $verbose );
-
- $dist->write_makefile_pl(
- verbose => $verbose,
- force => $force
+
+ $dist->write_makefile_pl(
+ verbose => $verbose,
+ force => $force
);
-
+
### bail out if there's no makefile.pl ###
unless( -e MAKEFILE_PL->() ) {
- error( loc( "Could not find '%1' - cannot continue",
+ error( loc( "Could not find '%1' - cannot continue",
MAKEFILE_PL->() ) );
-
+
### mark that we screwed up ###
$dist->status->makefile(0);
$fail++; last RUN;
}
- }
-
+ }
+
### you can turn off running this verbose by changing
### the config setting below, although it is really not
### recommended
- my $run_verbose = $verbose ||
+ my $run_verbose = $verbose ||
$conf->get_conf('allow_build_interactivity') ||
0;
-
+
### this makes MakeMaker use defaults if possible, according
### to schwern. See ticket 8047 for details.
- local $ENV{PERL_MM_USE_DEFAULT} = 1 unless $run_verbose;
-
+ local $ENV{PERL_MM_USE_DEFAULT} = 1 unless $run_verbose;
+
### turn off our PERL5OPT so no modules from CPANPLUS::inc get
### included in the makefile.pl -- it should build without
### also, modules that run in taint mode break if we leave
### our code ref in perl5opt
### XXX we've removed the ENV settings from cp::inc, so only need
### to reset the @INC
- #local $ENV{PERL5OPT} = CPANPLUS::inc->original_perl5opt || '';
-
+ #local $ENV{PERL5OPT} = CPANPLUS::inc->original_perl5opt || '';
+
### make sure it's a string, so that mmflags that have more than
### one key value pair are passed as is, rather than as:
### perl Makefile.PL "key=val key=>val"
-
-
+
+
#### XXX this needs to be the absolute path to the Makefile.PL
### since cpanp-run-perl uses 'do' to execute the file, and do()
### checks your @INC.. so, if there's _another_ makefile.pl in
### your @INC, it will execute that one...
my $makefile_pl = MAKEFILE_PL->( $cb->_safe_path( path => $dir ) );
-
+
### setting autoflush to true fixes issue from rt #8047
### XXX this means that we need to keep the path to CPANPLUS
### in @INC, stopping us from resolving dependencies on CPANPLUS
### at bootstrap time properly.
- ### XXX this fails under ipc::run due to the extra quotes,
- ### but it works in ipc::open3. however, ipc::open3 doesn't work
- ### on win32/cygwin. XXX TODO get a windows box and sort this out
- # my $cmd = qq[$perl -MEnglish -le ] .
- # QUOTE_PERL_ONE_LINER->(
- # qq[\$OUTPUT_AUTOFLUSH++,do(q($makefile_pl))]
- # )
- # . $mmflags;
-
- # my $flush = OPT_AUTOFLUSH;
- # my $cmd = "$perl $flush $makefile_pl $mmflags";
-
- my $run_perl = $conf->get_program('perlwrapper');
- my $cmd = [$perl, $run_perl, $makefile_pl, @mmflags];
+ my @run_perl = ( '-e', PERL_WRAPPER );
+ my $cmd = [$perl, @run_perl, $makefile_pl, @mmflags];
### set ENV var to tell underlying code this is what we're
### executing.
- my $captured;
+ my $captured;
my $rv = do {
my $env = ENV_CPANPLUS_IS_EXECUTING;
local $ENV{$env} = $makefile_pl;
scalar run( command => $cmd,
buffer => \$captured,
- verbose => $run_verbose, # may be interactive
+ verbose => $run_verbose, # may be interactive
);
};
-
+
unless( $rv ) {
error( loc( "Could not run '%1 %2': %3 -- cannot continue",
$perl, MAKEFILE_PL->(), $captured ) );
-
+
$dist->status->makefile(0);
$fail++; last RUN;
}
@@ -391,7 +379,7 @@ sub prepare {
### put the output on the stack, don't print it
msg( $captured, 0 );
}
-
+
### so, nasty feature in Module::Build, that when a Makefile.PL
### is a disguised Build.PL, it generates a Build file, not a
### Makefile. this breaks everything :( see rt bug #19741
@@ -407,39 +395,50 @@ sub prepare {
"$^X ".MAKEFILE_PL->(), MAKEFILE->(), BUILD_PL->(),
'Module::Build', MAKEFILE_PL->(), 'Build', MAKEFILE->(),
'prefer_makefile', BUILD_PL->()
- ));
-
+ ));
+
$fail++, last RUN;
}
-
+
### if we got here, we managed to make a 'makefile' ###
- $dist->status->makefile( MAKEFILE->($dir) );
-
+ $dist->status->makefile( MAKEFILE->($dir) );
+
+ ### Make (haha) sure that Makefile.PL is older than the Makefile
+ ### we just generated.
+ eval {
+ my $makestat = ( stat MAKEFILE->( $dir ) )[9];
+ my $mplstat = ( stat MAKEFILE_PL->( $cb->_safe_path( path => $dir ) ) )[9];
+ if ( $makestat < $mplstat ) {
+ my $ftime = $makestat - 60;
+ utime $ftime, $ftime, MAKEFILE_PL->( $cb->_safe_path( path => $dir ) );
+ }
+ };
+
### start resolving prereqs ###
my $prereqs = $self->status->prereqs;
-
+
### a hashref of prereqs on success, undef on failure ###
- $prereqs ||= $dist->_find_prereqs(
+ $prereqs ||= $dist->_find_prereqs(
verbose => $verbose,
- file => $dist->status->makefile
+ file => $dist->status->makefile
);
-
+
unless( $prereqs ) {
- error( loc( "Unable to scan '%1' for prereqs",
+ error( loc( "Unable to scan '%1' for prereqs",
$dist->status->makefile ) );
$fail++; last RUN;
}
}
-
+
unless( $cb->_chdir( dir => $orig ) ) {
error( loc( "Could not chdir back to start dir '%1'", $orig ) );
- }
-
+ }
+
### save where we wrote this stuff -- same as extract dir in normal
### installer circumstances
$dist->status->distdir( $self->status->extract );
-
+
return $dist->status->prepared( $fail ? 0 : 1);
}
@@ -467,28 +466,28 @@ sub _find_prereqs {
verbose => { default => $conf->get_conf('verbose'), store => \$verbose },
file => { required => 1, allow => FILE_READABLE, store => \$file },
};
-
- my $args = check( $tmpl, \%hash ) or return;
+
+ my $args = check( $tmpl, \%hash ) or return;
### see if we got prereqs from MYMETA
my $prereqs = $dist->find_mymeta_requires();
-
+
### we found some prereqs, we'll trust MYMETA
### but we do need to run it through the callback
return $cb->_callbacks->filter_prereqs->( $cb, $prereqs ) if keys %$prereqs;
-
+
my $fh = FileHandle->new();
unless( $fh->open( $file ) ) {
error( loc( "Cannot open '%1': %2", $file, $! ) );
return;
}
-
+
my %p;
while( local $_ = <$fh> ) {
- my ($found) = m|^[\#]\s+PREREQ_PM\s+=>\s+(.+)|;
-
+ my ($found) = m|^[\#]\s+PREREQ_PM\s+=>\s+(.+)|;
+
next unless $found;
-
+
while( $found =~ m/(?:\s)([\w\:]+)=>(?:q\[(.*?)\],?|undef)/g ) {
if( defined $p{$1} ) {
my $ver = $cb->_version_to_number(version => $2);
@@ -496,7 +495,7 @@ sub _find_prereqs {
if $cb->_vcmp( $ver, $p{$1} ) > 0;
}
else {
- $p{$1} = $cb->_version_to_number(version => $2);
+ $p{$1} = $cb->_version_to_number(version => $2);
}
}
last;
@@ -505,23 +504,23 @@ sub _find_prereqs {
my $href = $cb->_callbacks->filter_prereqs->( $cb, \%p );
$self->status->prereqs( $href );
-
+
### just to make sure it's not the same reference ###
- return { %$href };
-}
+ return { %$href };
+}
=pod
=head2 $bool = $dist->create([perl => '/path/to/perl', make => '/path/to/make', makeflags => 'EXTRA=FLAGS', prereq_target => TARGET, skiptest => BOOL, force => BOOL, verbose => BOOL])
-C<create> creates the files necessary for installation. This means
-it will run C<make> and C<make test>. This will also scan for and
-attempt to satisfy any prerequisites the module may have.
+C<create> creates the files necessary for installation. This means
+it will run C<make> and C<make test>. This will also scan for and
+attempt to satisfy any prerequisites the module may have.
If you set C<skiptest> to true, it will skip the C<make test> stage.
-If you set C<force> to true, it will go over all the stages of the
-C<make> process again, ignoring any previously cached results. It
-will also ignore a bad return value from C<make test> and still allow
+If you set C<force> to true, it will go over all the stages of the
+C<make> process again, ignoring any previously cached results. It
+will also ignore a bad return value from C<make test> and still allow
the operation to return true.
Returns true on success and false on failure.
@@ -536,11 +535,11 @@ sub create {
### just via a different dist object
my $dist = shift;
my $self = $dist->parent;
-
+
### we're also the cpan_dist, since we don't need to have anything
- ### prepared
- $dist = $self->status->dist_cpan if $self->status->dist_cpan;
- $self->status->dist_cpan( $dist ) unless $self->status->dist_cpan;
+ ### prepared
+ $dist = $self->status->dist_cpan if $self->status->dist_cpan;
+ $self->status->dist_cpan( $dist ) unless $self->status->dist_cpan;
my $cb = $self->parent;
my $conf = $cb->configure_object;
@@ -551,63 +550,64 @@ sub create {
error( loc( "No dir found to operate on!" ) );
return;
}
-
+
my $args;
- my( $force, $verbose, $make, $makeflags, $skiptest, $prereq_target, $perl,
+ my( $force, $verbose, $make, $makeflags, $skiptest, $prereq_target, $perl,
@mmflags, $prereq_format, $prereq_build);
{ local $Params::Check::ALLOW_UNKNOWN = 1;
my $tmpl = {
perl => { default => $^X, store => \$perl },
- force => { default => $conf->get_conf('force'),
+ force => { default => $conf->get_conf('force'),
store => \$force },
- verbose => { default => $conf->get_conf('verbose'),
+ verbose => { default => $conf->get_conf('verbose'),
store => \$verbose },
- make => { default => $conf->get_program('make'),
+ make => { default => $conf->get_program('make'),
store => \$make },
- makeflags => { default => $conf->get_conf('makeflags'),
+ makeflags => { default => $conf->get_conf('makeflags'),
store => \$makeflags },
- skiptest => { default => $conf->get_conf('skiptest'),
+ skiptest => { default => $conf->get_conf('skiptest'),
store => \$skiptest },
- prereq_target => { default => '', store => \$prereq_target },
+ prereq_target => { default => '', store => \$prereq_target },
### don't set the default prereq format to 'makemaker' -- wrong!
prereq_format => { #default => $self->status->installer_type,
default => '',
- store => \$prereq_format },
- prereq_build => { default => 0, store => \$prereq_build },
- };
+ store => \$prereq_format },
+ prereq_build => { default => 0, store => \$prereq_build },
+ };
$args = check( $tmpl, \%hash ) or return;
}
-
+
### maybe we already ran a create on this object?
### make sure we add to include path again, just in case we came from
### ->save_state, at which point we need to restore @INC/$PERL5LIB
if( $dist->status->created && !$force ) {
$self->add_to_includepath;
return 1;
- }
-
+ }
+
### store the arguments, so ->install can use them in recursive loops ###
$dist->status->_create_args( $args );
-
+
unless( $dist->status->prepared ) {
error( loc( "You have not successfully prepared a '%2' distribution ".
"yet -- cannot create yet", __PACKAGE__ ) );
return;
}
-
-
+
+
### chdir to work directory ###
my $orig = cwd();
unless( $cb->_chdir( dir => $dir ) ) {
error( loc( "Could not chdir to build directory '%1'", $dir ) );
return;
}
-
+
my $fail; my $prereq_fail; my $test_fail;
+ my $status = { };
RUN: {
### this will set the directory back to the start
- ### dir, so we must chdir /again/
+ ### dir, so we must chdir /again/
my $ok = $dist->_resolve_prereqs(
format => $prereq_format,
verbose => $verbose,
@@ -616,40 +616,44 @@ sub create {
force => $force,
prereq_build => $prereq_build,
);
-
+
unless( $cb->_chdir( dir => $dir ) ) {
error( loc( "Could not chdir to build directory '%1'", $dir ) );
return;
- }
-
+ }
+
unless( $ok ) {
-
+
#### use $dist->flush to reset the cache ###
error( loc( "Unable to satisfy prerequisites for '%1' " .
- "-- aborting install", $self->module ) );
+ "-- aborting install", $self->module ) );
$dist->status->make(0);
$fail++; $prereq_fail++;
last RUN;
- }
- ### end of prereq resolving ###
-
+ }
+ ### end of prereq resolving ###
+
my $captured;
- ### 'make' section ###
+ ### 'make' section ###
if( -d BLIB->($dir) && (-M BLIB->($dir) < -M $dir) && !$force ) {
msg(loc("Already ran '%1' for this module [%2] -- " .
- "not running again unless you force",
+ "not running again unless you force",
$make, $self->module ), $verbose );
} else {
unless(scalar run( command => [$make, $makeflags],
buffer => \$captured,
- verbose => $verbose )
+ verbose => $verbose )
) {
error( loc( "MAKE failed: %1 %2", $!, $captured ) );
+ if ( $conf->get_conf('cpantest') ) {
+ $status->{stage} = 'build';
+ $status->{capture} = $captured;
+ }
$dist->status->make(0);
$fail++; last RUN;
}
-
+
### put the output on the stack, don't print it
msg( $captured, 0 );
@@ -657,12 +661,12 @@ sub create {
### add this directory to your lib ###
$self->add_to_includepath();
-
+
### dont bail out here, there's a conditional later on
#last RUN if $skiptest;
}
-
- ### 'make test' section ###
+
+ ### 'make test' section ###
unless( $skiptest ) {
### turn off our PERL5OPT so no modules from CPANPLUS::inc get
@@ -673,16 +677,16 @@ sub create {
#local $ENV{PERL5OPT} = CPANPLUS::inc->original_perl5opt || '';
### you can turn off running this verbose by changing
- ### the config setting below, although it is really not
+ ### the config setting below, although it is really not
### recommended
- my $run_verbose =
- $verbose ||
+ my $run_verbose =
+ $verbose ||
$conf->get_conf('allow_build_interactivity') ||
0;
- ### XXX need to add makeflags here too?
+ ### XXX need to add makeflags here too?
### yes, but they should really be split out -- see bug #4143
- if( scalar run(
+ if( scalar run(
command => [$make, 'test', $makeflags],
buffer => \$captured,
verbose => $run_verbose,
@@ -695,47 +699,59 @@ sub create {
} else {
msg( loc( "MAKE TEST passed: %1", $captured ), 0 );
}
-
+
+ if ( $conf->get_conf('cpantest') ) {
+ $status->{stage} = 'test';
+ $status->{capture} = $captured;
+ }
+
$dist->status->test(1);
} else {
- error( loc( "MAKE TEST failed: %1", $captured ) );
-
+ error( loc( "MAKE TEST failed: %1", $captured ), ( $run_verbose ? 0 : 1 ) );
+
+ if ( $conf->get_conf('cpantest') ) {
+ $status->{stage} = 'test';
+ $status->{capture} = $captured;
+ }
+
### send out error report here? or do so at a higher level?
### --higher level --kane.
$dist->status->test(0);
-
+
### mark specifically *test* failure.. so we dont
### send success on force...
$test_fail++;
-
+
if( !$force and !$cb->_callbacks->proceed_on_test_failure->(
- $self, $captured )
+ $self, $captured )
) {
- $fail++; last RUN;
+ $fail++; last RUN;
}
}
}
} #</RUN>
-
+
unless( $cb->_chdir( dir => $orig ) ) {
error( loc( "Could not chdir back to start dir '%1'", $orig ) );
- }
-
+ }
+
+ ### TODO: Add $stage to _send_report()
### send out test report?
### only do so if the failure is this module, not its prereq
if( $conf->get_conf('cpantest') and not $prereq_fail) {
- $cb->_send_report(
+ $cb->_send_report(
module => $self,
failed => $test_fail || $fail,
buffer => CPANPLUS::Error->stack_as_string,
+ status => $status,
verbose => $verbose,
force => $force,
) or error(loc("Failed to send test report for '%1'",
$self->module ) );
- }
-
+ }
+
return $dist->status->created( $fail ? 0 : 1);
-}
+}
=pod
@@ -744,7 +760,7 @@ sub create {
C<install> runs the following command:
make install
-Returns true on success, false on failure.
+Returns true on success, false on failure.
=cut
@@ -754,64 +770,64 @@ sub install {
### to the same module object
my $dist = shift();
my $self = $dist->parent;
- $dist = $self->status->dist_cpan if $self->status->dist_cpan;
-
+ $dist = $self->status->dist_cpan if $self->status->dist_cpan;
+
my $cb = $self->parent;
my $conf = $cb->configure_object;
my %hash = @_;
-
-
+
+
unless( $dist->status->created ) {
error(loc("You have not successfully created a '%2' distribution yet " .
"-- cannot install yet", __PACKAGE__ ));
return;
}
-
+
my $dir;
unless( $dir = $self->status->extract ) {
error( loc( "No dir found to operate on!" ) );
return;
}
-
+
my $args;
my($force,$verbose,$make,$makeflags);
{ local $Params::Check::ALLOW_UNKNOWN = 1;
my $tmpl = {
- force => { default => $conf->get_conf('force'),
+ force => { default => $conf->get_conf('force'),
store => \$force },
- verbose => { default => $conf->get_conf('verbose'),
+ verbose => { default => $conf->get_conf('verbose'),
store => \$verbose },
- make => { default => $conf->get_program('make'),
+ make => { default => $conf->get_program('make'),
store => \$make },
- makeflags => { default => $conf->get_conf('makeflags'),
+ makeflags => { default => $conf->get_conf('makeflags'),
store => \$makeflags },
- };
-
+ };
+
$args = check( $tmpl, \%hash ) or return;
}
### value set and false -- means failure ###
- if( defined $self->status->installed &&
- !$self->status->installed && !$force
+ if( defined $self->status->installed &&
+ !$self->status->installed && !$force
) {
error( loc( "Module '%1' has failed to install before this session " .
"-- aborting install", $self->module ) );
return;
}
-
+
$dist->status->_install_args( $args );
-
+
my $orig = cwd();
unless( $cb->_chdir( dir => $dir ) ) {
error( loc( "Could not chdir to build directory '%1'", $dir ) );
return;
}
-
+
my $fail; my $captured;
-
+
### 'make install' section ###
- ### XXX need makeflags here too?
+ ### XXX need makeflags here too?
### yes, but they should really be split out.. see bug #4143
my $cmd = [$make, 'install', $makeflags];
my $sudo = $conf->get_program('sudo');
@@ -821,33 +837,33 @@ sub install {
unless(scalar run( command => $cmd,
verbose => $verbose,
buffer => \$captured,
- ) ) {
+ ) ) {
error( loc( "MAKE INSTALL failed: %1 %2", $!, $captured ) );
- $fail++;
- }
+ $fail++;
+ }
### put the output on the stack, don't print it
msg( $captured, 0 );
-
+
unless( $cb->_chdir( dir => $orig ) ) {
error( loc( "Could not chdir back to start dir '%1'", $orig ) );
- }
-
+ }
+
return $dist->status->installed( $fail ? 0 : 1 );
-
+
}
=pod
=head2 $bool = $dist->write_makefile_pl([force => BOOL, verbose => BOOL])
-This routine can write a C<Makefile.PL> from the information in a
+This routine can write a C<Makefile.PL> from the information in a
module object. It is used to write a C<Makefile.PL> when the original
author forgot it (!!).
Returns 1 on success and false on failure.
-The file gets written to the directory the module's been extracted
+The file gets written to the directory the module's been extracted
to.
=cut
@@ -857,9 +873,9 @@ sub write_makefile_pl {
### just via a different dist object
my $dist = shift;
my $self = $dist->parent;
- $dist = $self->status->dist_cpan if $self->status->dist_cpan;
- $self->status->dist_cpan( $dist ) unless $self->status->dist_cpan;
-
+ $dist = $self->status->dist_cpan if $self->status->dist_cpan;
+ $self->status->dist_cpan( $dist ) unless $self->status->dist_cpan;
+
my $cb = $self->parent;
my $conf = $cb->configure_object;
my %hash = @_;
@@ -869,23 +885,23 @@ sub write_makefile_pl {
error( loc( "No dir found to operate on!" ) );
return;
}
-
+
my ($force, $verbose);
my $tmpl = {
- force => { default => $conf->get_conf('force'),
+ force => { default => $conf->get_conf('force'),
store => \$force },
- verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
- };
+ verbose => { default => $conf->get_conf('verbose'),
+ store => \$verbose },
+ };
+
+ my $args = check( $tmpl, \%hash ) or return;
- my $args = check( $tmpl, \%hash ) or return;
-
my $file = MAKEFILE_PL->($dir);
if( -s $file && !$force ) {
- msg(loc("Already created '%1' - not doing so again without force",
+ msg(loc("Already created '%1' - not doing so again without force",
$file ), $verbose );
return 1;
- }
+ }
### due to a bug with AS perl 5.8.4 built 810 (and maybe others)
### opening files with content in them already does nasty things;
@@ -899,58 +915,58 @@ sub write_makefile_pl {
error( loc( "Could not create file '%1': %2", $file, $! ) );
return;
}
-
+
my $mf = MAKEFILE_PL->();
my $name = $self->module;
my $version = $self->version;
my $author = $self->author->author;
my $href = $self->status->prereqs;
- my $prereqs = join ",\n", map {
- (' ' x 25) . "'$_'\t=> '$href->{$_}'"
- } keys %$href;
- $prereqs ||= ''; # just in case there are none;
-
+ my $prereqs = join ",\n", map {
+ (' ' x 25) . "'$_'\t=> '$href->{$_}'"
+ } keys %$href;
+ $prereqs ||= ''; # just in case there are none;
+
print $fh qq|
### Auto-generated $mf by CPANPLUS ###
-
+
use ExtUtils::MakeMaker;
-
+
WriteMakefile(
NAME => '$name',
VERSION => '$version',
AUTHOR => '$author',
PREREQ_PM => {
-$prereqs
+$prereqs
},
);
- \n|;
-
+ \n|;
+
$fh->close;
return 1;
-}
-
+}
+
sub dist_dir {
### just in case you already did a call for this module object
### just via a different dist object
my $dist = shift;
my $self = $dist->parent;
- $dist = $self->status->dist_cpan if $self->status->dist_cpan;
- $self->status->dist_cpan( $dist ) unless $self->status->dist_cpan;
-
+ $dist = $self->status->dist_cpan if $self->status->dist_cpan;
+ $self->status->dist_cpan( $dist ) unless $self->status->dist_cpan;
+
my $cb = $self->parent;
my $conf = $cb->configure_object;
my %hash = @_;
-
+
my $make; my $verbose;
{ local $Params::Check::ALLOW_UNKNOWN = 1;
my $tmpl = {
make => { default => $conf->get_program('make'),
- store => \$make },
- verbose => { default => $conf->get_conf('verbose'),
+ store => \$make },
+ verbose => { default => $conf->get_conf('verbose'),
store => \$verbose },
- };
-
- check( $tmpl, \%hash ) or return;
+ };
+
+ check( $tmpl, \%hash ) or return;
}
@@ -959,7 +975,7 @@ sub dist_dir {
error( loc( "No dir found to operate on!" ) );
return;
}
-
+
### chdir to work directory ###
my $orig = cwd();
unless( $cb->_chdir( dir => $dir ) ) {
@@ -968,14 +984,14 @@ sub dist_dir {
}
my $fail; my $distdir;
- TRY: {
+ TRY: {
$dist->prepare( @_ ) or (++$fail, last TRY);
- my $captured;
+ my $captured;
unless(scalar run( command => [$make, 'distdir'],
buffer => \$captured,
- verbose => $verbose )
+ verbose => $verbose )
) {
error( loc( "MAKE DISTDIR failed: %1 %2", $!, $captured ) );
++$fail, last TRY;
@@ -998,7 +1014,7 @@ sub dist_dir {
return if $fail;
return $distdir;
-}
+}
1;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Error.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Error.pm
index c42435f1922..968cead5605 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Error.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Error.pm
@@ -8,7 +8,7 @@ use Log::Message private => 0;;
=head1 NAME
-CPANPLUS::Error
+CPANPLUS::Error - error handling for CPANPLUS
=head1 SYNOPSIS
@@ -79,17 +79,17 @@ BEGIN {
for my $func ( @EXPORT ) {
no strict 'refs';
-
+
my $prefix = 'cp_';
my $name = $func;
$name =~ s/^$prefix//g;
-
+
*$func = sub {
my $msg = shift;
-
+
### no point storing non-messages
return unless defined $msg;
-
+
$log->store(
message => $msg,
tag => uc $name,
@@ -143,7 +143,8 @@ local $| = 1;
$ERROR_FH = \*STDERR;
$MSG_FH = \*STDOUT;
-package Log::Message::Handlers;
+package # Hide from Pause
+ Log::Message::Handlers;
use Carp ();
{
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/FAQ.pod b/Master/tlpkg/tlperl/lib/CPANPLUS/FAQ.pod
index 82bb57aaf47..00c186ab0d7 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/FAQ.pod
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/FAQ.pod
@@ -2,6 +2,10 @@
=head1 NAME
+CPANPLUS::FAQ - CPANPLUS Frequently Asked Questions
+
+=head1 NAME
+
CPANPLUS::FAQ
=head1 DESCRIPTION
@@ -20,10 +24,10 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-The CPAN++ interface (of which this module is a part of) is copyright (c)
+The CPAN++ interface (of which this module is a part of) is copyright (c)
2001 - 2007, Jos Boumans E<lt>kane@cpan.orgE<gt>. All rights reserved.
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=cut
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Hacking.pod b/Master/tlpkg/tlperl/lib/CPANPLUS/Hacking.pod
index 6a754fb25ee..c226b071691 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Hacking.pod
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Hacking.pod
@@ -2,7 +2,7 @@
=head1 NAME
-CPANPLUS::Hacking
+CPANPLUS::Hacking - developing CPANPLUS
=head1 DESCRIPTION
@@ -14,8 +14,8 @@ features or patches to CPANPLUS.
=head1 OBTAINING CPANPLUS
-Checkout CPANPLUS from its Subversion repository at
-L<http://oss.dwim.org/cpanplus-devel> .
+Checkout CPANPLUS from its GIT repository at
+L<https://github.com/jib/cpanplus-devel> .
=head1 INSTALLING CPANPLUS
@@ -73,7 +73,7 @@ better than not reporting it at all. Before you do so though, make
sure you have the B<latest> development snapshot, and the bug still
persists there. If so, report the bug to this address:
- cpanplus-devel@lists.sourceforge.net
+ bug-cpanplus@rt.cpan.org
A good C<patch> would have the following characteristics:
@@ -115,7 +115,7 @@ We prefer patches in the following format:
=item * Including patches for code + tests + docs
-=item * Sent per mail to cpanplus-devel@lists.sourceforge.net
+=item * Sent per mail to bug-cpanplus@rt.cpan.org
=item * With subject containing C<[PATCH]> + description of the patch
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals.pm
index 4756421a4ad..e9f97bfa2a1 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals.pm
@@ -42,13 +42,13 @@ use vars qw[@ISA $VERSION];
CPANPLUS::Internals::Report
];
-$VERSION = "0.9103";
+$VERSION = "0.9121";
=pod
=head1 NAME
-CPANPLUS::Internals
+CPANPLUS::Internals - CPANPLUS internals
=head1 SYNOPSIS
@@ -109,7 +109,7 @@ Returns the object on success, or dies on failure.
### if extra callbacks are added, don't forget to update the
### 02-internals.t test script with them!
my $callback_map = {
- ### name default value
+ ### name default value
install_prerequisite => 1, # install prereqs when 'ask' is set?
edit_test_report => 0, # edit the prepared test report?
send_test_report => 1, # send the test report?
@@ -121,7 +121,7 @@ Returns the object on success, or dies on failure.
proceed_on_test_failure => sub { return 0 },
munge_dist_metafile => sub { return $_[1] },
};
-
+
my $status = Object::Accessor->new;
$status->mk_accessors(qw[pending_prereqs]);
@@ -169,14 +169,14 @@ Returns the object on success, or dies on failure.
for my $name ( $callback->ls_accessors ) {
my $rv = ref $callback_map->{$name} ? 'sub return value' :
$callback_map->{$name} ? 'true' : 'false';
-
+
$args->_callbacks->$name(
sub { msg(loc("DEFAULT '%1' HANDLER RETURNING '%2'",
- $name, $rv), $args->_conf->get_conf('debug'));
- return ref $callback_map->{$name}
+ $name, $rv), $args->_conf->get_conf('debug'));
+ return ref $callback_map->{$name}
? $callback_map->{$name}->( @_ )
: $callback_map->{$name};
- }
+ }
);
}
@@ -199,24 +199,24 @@ Returns the object on success, or dies on failure.
}
### different source engines available now, so set them here
- { my $store = $conf->get_conf( 'source_engine' )
+ { my $store = $conf->get_conf( 'source_engine' )
|| DEFAULT_SOURCE_ENGINE;
unless( can_load( modules => { $store => '0.0' }, verbose => 1 ) ) {
error( loc( "Could not load source engine '%1'", $store ) );
-
+
if( $store ne DEFAULT_SOURCE_ENGINE ) {
msg( loc("Falling back to %1", DEFAULT_SOURCE_ENGINE), 1 );
-
+
load DEFAULT_SOURCE_ENGINE;
-
+
base->import( DEFAULT_SOURCE_ENGINE );
} else {
return;
- }
+ }
} else {
base->import( $store );
- }
+ }
}
return $args;
@@ -268,7 +268,7 @@ be flushed.
### File::Fetch's method fail list
} elsif ( $what eq 'methods' ) {
- ### still fucking p4 :( ###
+ ### still unbelievably p4 :( ###
$File'Fetch::METHOD_FAIL = $File'Fetch::METHOD_FAIL = {};
### blow away the m::l::c cache, so modules can be (re)loaded
@@ -293,7 +293,7 @@ be flushed.
### if extra callbacks are added, don't forget to update the
### 02-internals.t test script with them!
-=pod
+=pod
=head2 $bool = $internals->_register_callback( name => CALLBACK_NAME, code => CODEREF );
@@ -312,20 +312,20 @@ the prerequisite and false to skip it.
=item send_test_report
Is called when the user should be prompted if he wishes to send the
-test report. Should return a boolean indicating true to send the
+test report. Should return a boolean indicating true to send the
test report and false to skip it.
=item munge_test_report
Is called when the test report message has been composed, giving
-the user a chance to programatically alter it. Should return the
+the user a chance to programatically alter it. Should return the
(munged) message to be sent.
=item edit_test_report
Is called when the user should be prompted to edit test reports
-about to be sent out by Test::Reporter. Should return a boolean
-indicating true to edit the test report in an editor and false
+about to be sent out by Test::Reporter. Should return a boolean
+indicating true to edit the test report in an editor and false
to skip it.
=item proceed_on_test_failure
@@ -365,36 +365,36 @@ written to the metafile.
}
# =head2 $bool = $internals->_add_callback( name => CALLBACK_NAME, code => CODEREF );
-#
+#
# Adds a new callback to be used from anywhere in the system. If the callback
# is already known, an error is raised and false is returned. If the callback
# is not yet known, it is added, and the corresponding coderef is registered
# using the
-#
+#
# =cut
-#
+#
# sub _add_callback {
# my $self = shift or return;
# my %hash = @_;
-#
+#
# my ($name,$code);
# my $tmpl = {
# name => { required => 1, store => \$name, },
# code => { required => 1, allow => IS_CODEREF,
# store => \$code },
# };
-#
+#
# check( $tmpl, \%hash ) or return;
-#
+#
# if( $callback->can( $name ) ) {
# error(loc("Callback '%1' is already registered"));
# return;
# }
-#
+#
# $callback->mk_accessor( $name );
-#
+#
# $self->_register_callback( name => $name, code => $code ) or return;
-#
+#
# return 1;
# }
@@ -424,14 +424,14 @@ sub _add_to_includepath {
check( $tmpl, \%hash ) or return;
my $s = $Config{'path_sep'};
-
+
### only add if it's not added yet
for my $lib (@$dirs) {
push @INC, $lib unless grep { $_ eq $lib } @INC;
#
- ### it will be complaining if $ENV{PERL5LIB] is not defined (yet).
- local $^W;
- $ENV{'PERL5LIB'} .= $s . $lib
+ ### it will be complaining if $ENV{PERL5LIB] is not defined (yet).
+ local $^W;
+ $ENV{'PERL5LIB'} .= $s . $lib
unless $ENV{'PERL5LIB'} =~ qr|\Q$s$lib\E|;
}
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants.pm
index 443d5a4ca8a..bd48a1db8c6 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants.pm
@@ -21,10 +21,10 @@ sub constants { @EXPORT };
use constant INSTALLER_BUILD
=> 'CPANPLUS::Dist::Build';
-use constant INSTALLER_MM => 'CPANPLUS::Dist::MM';
-use constant INSTALLER_SAMPLE
+use constant INSTALLER_MM => 'CPANPLUS::Dist::MM';
+use constant INSTALLER_SAMPLE
=> 'CPANPLUS::Dist::Sample';
-use constant INSTALLER_BASE => 'CPANPLUS::Dist::Base';
+use constant INSTALLER_BASE => 'CPANPLUS::Dist::Base';
use constant INSTALLER_AUTOBUNDLE
=> 'CPANPLUS::Dist::Autobundle';
@@ -50,26 +50,26 @@ use constant ON_NETWARE => $^O eq 'NetWare';
use constant ON_CYGWIN => $^O eq 'cygwin';
use constant ON_VMS => $^O eq 'VMS';
-use constant DOT_CPANPLUS => ON_VMS ? '_cpanplus' : '.cpanplus';
+use constant DOT_CPANPLUS => ON_VMS ? '_cpanplus' : '.cpanplus';
use constant OPT_AUTOFLUSH => '-MCPANPLUS::Internals::Utils::Autoflush';
use constant UNKNOWN_DL_LOCATION
- => 'UNKNOWN-ORIGIN';
+ => 'UNKNOWN-ORIGIN';
use constant NMAKE => 'nmake.exe';
-use constant NMAKE_URL =>
+use constant NMAKE_URL =>
'ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe';
-use constant INSTALL_VIA_PACKAGE_MANAGER
+use constant INSTALL_VIA_PACKAGE_MANAGER
=> sub { my $fmt = $_[0] or return;
return 1 if $fmt ne INSTALLER_BUILD and
$fmt ne INSTALLER_MM;
- };
+ };
use constant IS_CODEREF => sub { ref $_[-1] eq 'CODE' };
-use constant IS_MODOBJ => sub { UNIVERSAL::isa($_[-1],
- 'CPANPLUS::Module') };
+use constant IS_MODOBJ => sub { UNIVERSAL::isa($_[-1],
+ 'CPANPLUS::Module') };
use constant IS_FAKE_MODOBJ => sub { UNIVERSAL::isa($_[-1],
'CPANPLUS::Module::Fake') };
use constant IS_AUTHOBJ => sub { UNIVERSAL::isa($_[-1],
@@ -83,48 +83,48 @@ use constant IS_CONFOBJ => sub { UNIVERSAL::isa($_[-1],
use constant IS_RVOBJ => sub { UNIVERSAL::isa($_[-1],
'CPANPLUS::Backend::RV') };
-
+
use constant IS_INTERNALS_OBJ
=> sub { UNIVERSAL::isa($_[-1],
- 'CPANPLUS::Internals') };
-
-use constant IS_FILE => sub { return 1 if -e $_[-1] };
+ 'CPANPLUS::Internals') };
+
+use constant IS_FILE => sub { return 1 if -e $_[-1] };
-use constant FILE_EXISTS => sub {
+use constant FILE_EXISTS => sub {
my $file = $_[-1];
return 1 if IS_FILE->($file);
- local $Carp::CarpLevel =
+ local $Carp::CarpLevel =
$Carp::CarpLevel+2;
error(loc( q[File '%1' does not exist],
$file));
return;
- };
+ };
-use constant FILE_READABLE => sub {
+use constant FILE_READABLE => sub {
my $file = $_[-1];
return 1 if -e $file && -r _;
- local $Carp::CarpLevel =
+ local $Carp::CarpLevel =
$Carp::CarpLevel+2;
error( loc( q[File '%1' is not readable ].
q[or does not exist], $file));
return;
- };
+ };
use constant IS_DIR => sub { return 1 if -d $_[-1] };
-use constant DIR_EXISTS => sub {
+use constant DIR_EXISTS => sub {
my $dir = $_[-1];
return 1 if IS_DIR->($dir);
- local $Carp::CarpLevel =
- $Carp::CarpLevel+2;
+ local $Carp::CarpLevel =
+ $Carp::CarpLevel+2;
error(loc(q[Dir '%1' does not exist],
$dir));
return;
- };
-
- ### On VMS, if the $Config{make} is either MMK
+ };
+
+ ### On VMS, if the $Config{make} is either MMK
### or MMS, then the makefile is 'DESCRIP.MMS'.
use constant MAKEFILE => sub { my $file =
- (ON_VMS and
+ (ON_VMS and
$Config::Config{make} =~ /MM[S|K]/i)
? 'DESCRIP.MMS'
: 'Makefile';
@@ -132,27 +132,27 @@ use constant MAKEFILE => sub { my $file =
return @_
? File::Spec->catfile( @_, $file )
: $file;
- };
+ };
use constant MAKEFILE_PL => sub { return @_
? File::Spec->catfile( @_,
'Makefile.PL' )
: 'Makefile.PL';
- };
+ };
use constant BUILD_PL => sub { return @_
? File::Spec->catfile( @_,
'Build.PL' )
: 'Build.PL';
};
-
+
use constant META_YML => sub { return @_
? File::Spec->catfile( @_, 'META.yml' )
: 'META.yml';
- };
+ };
use constant MYMETA_YML => sub { return @_
? File::Spec->catfile( @_, 'MYMETA.yml' )
: 'MYMETA.yml';
- };
+ };
use constant META_JSON => sub { return @_
? File::Spec->catfile( @_, 'META.json' )
@@ -167,41 +167,41 @@ use constant MYMETA_JSON => sub { return @_
use constant BLIB => sub { return @_
? File::Spec->catfile(@_, 'blib')
: 'blib';
- };
+ };
use constant LIB => 'lib';
use constant LIB_DIR => sub { return @_
? File::Spec->catdir(@_, LIB)
: LIB;
- };
-use constant AUTO => 'auto';
+ };
+use constant AUTO => 'auto';
use constant LIB_AUTO_DIR => sub { return @_
? File::Spec->catdir(@_, LIB, AUTO)
: File::Spec->catdir(LIB, AUTO)
- };
+ };
use constant ARCH => 'arch';
use constant ARCH_DIR => sub { return @_
? File::Spec->catdir(@_, ARCH)
: ARCH;
- };
+ };
use constant ARCH_AUTO_DIR => sub { return @_
? File::Spec->catdir(@_,ARCH,AUTO)
: File::Spec->catdir(ARCH,AUTO)
- };
+ };
use constant BLIB_LIBDIR => sub { return @_
? File::Spec->catdir(
@_, BLIB->(), LIB )
: File::Spec->catdir( BLIB->(), LIB );
- };
+ };
-use constant CONFIG_USER_LIB_DIR => sub {
+use constant CONFIG_USER_LIB_DIR => sub {
require CPANPLUS::Internals::Utils;
LIB_DIR->(
CPANPLUS::Internals::Utils->_home_dir,
DOT_CPANPLUS
);
- };
+ };
use constant CONFIG_USER_FILE => sub {
File::Spec->catfile(
CONFIG_USER_LIB_DIR->(),
@@ -214,13 +214,13 @@ use constant CONFIG_SYSTEM_FILE => sub {
my $dir = File::Basename::dirname(
$INC{'CPANPLUS/Internals.pm'}
);
-
+
### XXX use constants
- File::Spec->catfile(
+ File::Spec->catfile(
$dir, qw[Config System.pm]
);
- };
-
+ };
+
use constant README => sub { my $obj = $_[0];
my $pkg = $obj->package_name;
$pkg .= '-' . $obj->package_version .
@@ -234,8 +234,8 @@ use constant META => sub { my $obj = $_[0];
$pkg .= '-' . $obj->package_version .
'.' . META_EXT;
return $pkg;
- };
-
+ };
+
use constant OPEN_FILE => sub {
my($file, $mode) = (@_, '');
my $fh;
@@ -245,23 +245,23 @@ use constant OPEN_FILE => sub {
$file, $!));
return $fh if $fh;
return;
- };
-
-use constant OPEN_DIR => sub {
+ };
+
+use constant OPEN_DIR => sub {
my $dir = shift;
my $dh;
opendir $dh, $dir or error(loc(
"Could not open dir '%1': %2", $dir, $!
));
-
+
return $dh if $dh;
return;
};
-use constant READ_DIR => sub {
+use constant READ_DIR => sub {
my $dir = shift;
my $dh = OPEN_DIR->( $dir ) or return;
-
+
### exclude . and ..
my @files = grep { $_ !~ /^\.{1,2}/ }
readdir($dh);
@@ -271,27 +271,27 @@ use constant READ_DIR => sub {
if( ON_VMS ) {
s/(?<!\^)\.$// for @files;
}
-
+
return @files;
- };
+ };
-use constant STRIP_GZ_SUFFIX
+use constant STRIP_GZ_SUFFIX
=> sub {
my $file = $_[0] or return;
$file =~ s/.gz$//i;
return $file;
- };
-
+ };
+
use constant CHECKSUMS => 'CHECKSUMS';
use constant PGP_HEADER => '-----BEGIN PGP SIGNED MESSAGE-----';
use constant ENV_CPANPLUS_CONFIG
=> 'PERL5_CPANPLUS_CONFIG';
use constant ENV_CPANPLUS_IS_EXECUTING
=> 'PERL5_CPANPLUS_IS_EXECUTING';
-use constant DEFAULT_EMAIL => 'cpanplus@example.com';
+use constant DEFAULT_EMAIL => 'cpanplus@example.com';
use constant CPANPLUS_UA => sub { ### for the version number ###
require CPANPLUS::Internals;
- "CPANPLUS/$CPANPLUS::Internals::VERSION"
+ "CPANPLUS/$CPANPLUS::Internals::VERSION"
};
use constant TESTERS_URL => sub {
'http://cpantesters.org/distro/'.
@@ -301,15 +301,15 @@ use constant TESTERS_DETAILS_URL
=> sub {
'http://cpantesters.org/distro/'.
uc(substr($_[0],0,1)) .'/'. $_[0];
- };
+ };
-use constant CREATE_FILE_URI
- => sub {
+use constant CREATE_FILE_URI
+ => sub {
my $dir = $_[0] or return;
- return $dir =~ m|^/|
+ return $dir =~ m|^/|
? 'file://' . $dir
- : 'file:///' . $dir;
- };
+ : 'file:///' . $dir;
+ };
use constant EMPTY_DSLIP => ' ';
@@ -318,64 +318,65 @@ use constant CUSTOM_AUTHOR_ID
use constant DOT_SHELL_DEFAULT_RC
=> '.shell-default.rc';
-
+
use constant SOURCE_SQLITE_DB
=> 'db.sql';
-use constant PREREQ_IGNORE => 0;
+use constant PREREQ_IGNORE => 0;
use constant PREREQ_INSTALL => 1;
use constant PREREQ_ASK => 2;
use constant PREREQ_BUILD => 3;
use constant BOOLEANS => [0,1];
-use constant CALLING_FUNCTION
+use constant CALLING_FUNCTION
=> sub { my $lvl = $_[0] || 0;
- return join '::', (caller(2+$lvl))[3]
+ return join '::', (caller(2+$lvl))[3]
};
use constant PERL_CORE => 'perl';
+use constant PERL_WRAPPER => 'use strict; BEGIN { my $old = select STDERR; $|++; select $old; $|++; $0 = shift(@ARGV); my $rv = do($0); die $@ if $@; }';
use constant STORABLE_EXT => '.stored';
use constant GET_XS_FILES => sub { my $dir = $_[0] or return;
require File::Find;
my @files;
- File::Find::find(
+ File::Find::find(
sub { push @files, $File::Find::name
if $File::Find::name =~ /\.xs$/i
}, $dir );
-
+
return @files;
- };
+ };
-use constant INSTALL_LOG_FILE
+use constant INSTALL_LOG_FILE
=> sub { my $obj = shift or return;
my $name = $obj->name; $name =~ s/::/-/g;
$name .= '-'. $obj->version;
$name .= '-'. scalar(time) . '.log';
return $name;
- };
+ };
-use constant ON_OLD_CYGWIN => do { ON_CYGWIN and $] < 5.008
+use constant ON_OLD_CYGWIN => do { ON_CYGWIN and $] < 5.008
? loc(
"Your perl version for %1 is too low; ".
"Require %2 or higher for this function",
$^O, '5.8.0' )
- : '';
+ : '';
};
### XXX these 2 are probably obsolete -- check & remove;
-use constant DOT_EXISTS => '.exists';
+use constant DOT_EXISTS => '.exists';
-use constant QUOTE_PERL_ONE_LINER
+use constant QUOTE_PERL_ONE_LINER
=> sub { my $line = shift or return;
### use double quotes on these systems
- return qq["$line"]
+ return qq["$line"]
if ON_WIN32 || ON_NETWARE || ON_VMS;
### single quotes on the rest
return qq['$line'];
- };
+ };
-1;
+1;
# Local variables:
# c-indentation-style: bsd
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants/Report.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants/Report.pm
index abdb3c98dd0..294de692369 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants/Report.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Constants/Report.pm
@@ -100,7 +100,7 @@ use constant UNSUPPORTED_OS
return 1;
}
return 0;
- };
+ };
use constant PERL_VERSION_TOO_LOW
=> sub {
@@ -116,7 +116,7 @@ use constant PERL_VERSION_TOO_LOW
return 1;
}
return 0;
- };
+ };
use constant NO_TESTS_DEFINED
=> sub {
@@ -125,10 +125,10 @@ use constant NO_TESTS_DEFINED
/(No tests defined( for [\w:]+ extension)?\.)/
and $buffer !~ /\*\.t/m and
$buffer !~ /test\.pl/m
- ) {
- return $1
+ ) {
+ return $1
}
-
+
return;
};
@@ -149,8 +149,8 @@ use constant MISSING_PREREQS_LIST
my @list = map { s/.pm$//; s|/|::|g; $_ }
($last =~
m/\bCan\'t locate (\S+) in \@INC/g);
-
- ### make sure every missing prereq is only
+
+ ### make sure every missing prereq is only
### listed once
{ my %seen;
@list = grep { !$seen{$_}++ } @list
@@ -162,7 +162,7 @@ use constant MISSING_PREREQS_LIST
use constant MISSING_EXTLIBS_LIST
=> sub {
my $buffer = shift;
- my @list =
+ my @list =
($buffer =~
m/No library found for -l([-\w]+)/g);
@@ -175,9 +175,9 @@ use constant REPORT_MESSAGE_HEADER
return << ".";
Dear $author,
-
+
This is a computer-generated error report created automatically by
-CPANPLUS, version $version. Testers personal comments may appear
+CPANPLUS, version $version. Testers personal comments may appear
at the end of this report.
.
@@ -200,15 +200,32 @@ $buffer
.
};
+use constant REPORT_MESSAGE_PASS_HEADER
+ => sub {
+ my($stage, $buffer) = @_;
+ return << ".";
+
+Thank you for uploading your work to CPAN. Congratulations!
+All tests were successful.
+
+TEST RESULTS:
+
+Below is the error stack from stage '$stage':
+
+$buffer
+
+.
+ };
+
use constant REPORT_MISSING_PREREQS
=> sub {
my ($author,$email,@missing) = @_;
- $author = ($author && $email)
- ? "$author ($email)"
+ $author = ($author && $email)
+ ? "$author ($email)"
: 'Your Name Here';
-
+
my $modules = join "\n", @missing;
- my $prereqs = join "\n",
+ my $prereqs = join "\n",
map {"\t'$_'\t=> '0',".
" # or a minimum working version"}
@missing;
@@ -242,7 +259,7 @@ use constant REPORT_MISSING_TESTS
return << ".";
RECOMMENDATIONS:
-It would be very helpful if you could include even a simple test
+It would be very helpful if you could include even a simple test
script in the next release, so people can verify which platforms
can successfully install them, as well as avoid regression bugs?
@@ -266,7 +283,7 @@ Thanks! :-)
.
};
-use constant REPORT_LOADED_PREREQS
+use constant REPORT_LOADED_PREREQS
=> sub {
my $mod = shift;
my $cb = $mod->parent;
@@ -274,13 +291,13 @@ use constant REPORT_LOADED_PREREQS
### not every prereq may be coming from CPAN
### so maybe we wont find it in our module
- ### tree at all...
+ ### tree at all...
### skip ones that cant be found in teh list
### as reported in #12723
my @prq = grep { defined }
map { $cb->module_tree($_) }
sort keys %$prq;
-
+
### no prereqs?
return '' unless @prq;
@@ -288,27 +305,27 @@ use constant REPORT_LOADED_PREREQS
my $str = << ".";
PREREQUISITES:
-Here is a list of prerequisites you specified and versions we
+Here is a list of prerequisites you specified and versions we
managed to load:
-
+
.
- $str .= join '',
- map { sprintf "\t%s %-30s %8s %8s\n",
+ $str .= join '',
+ map { sprintf "\t%s %-30s %8s %8s\n",
@$_
-
+
} [' ', 'Module Name', 'Have', 'Want'],
map { my $want = $prq->{$_->name};
- [ do { $_->is_uptodate(
+ [ do { $_->is_uptodate(
version => $want
- ) ? ' ' : '!'
+ ) ? ' ' : '!'
},
$_->name,
$_->installed_version,
$want
],
### might be empty entries in there
- } grep { $_ } @prq;
-
+ } grep { $_ } @prq;
+
return $str;
};
@@ -348,23 +365,23 @@ use constant REPORT_TOOLCHAIN_VERSIONS
Perl module toolchain versions installed:
.
- $str .= join '',
- map { sprintf "\t%-30s %8s\n",
+ $str .= join '',
+ map { sprintf "\t%-30s %8s\n",
@$_
-
+
} ['Module Name', 'Have'],
map {
[ $_->name,
$_->installed_version,
],
### might be empty entries in there
- } @toolchain;
-
+ } @toolchain;
+
return $str;
};
-use constant REPORT_TESTS_SKIPPED
+use constant REPORT_TESTS_SKIPPED
=> sub {
return << ".";
@@ -376,7 +393,7 @@ use constant REPORT_TESTS_SKIPPED
.
};
-
+
use constant REPORT_MESSAGE_FOOTER
=> sub {
return << ".";
@@ -384,7 +401,7 @@ use constant REPORT_MESSAGE_FOOTER
******************************** NOTE ********************************
The comments above are created mechanically, possibly without manual
checking by the sender. As there are many people performing automatic
-tests on each upload to CPAN, it is likely that you will receive
+tests on each upload to CPAN, it is likely that you will receive
identical messages about the same problem.
If you believe that the message is mistaken, please reply to the first
@@ -393,7 +410,7 @@ it personally. We appreciate your patience. :)
**********************************************************************
Additional comments:
-
+
.
};
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Extract.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Extract.pm
index f30911bab88..2f8b730ca54 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Extract.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Extract.pm
@@ -19,21 +19,21 @@ local $Params::Check::VERBOSE = 1;
=head1 NAME
-CPANPLUS::Internals::Extract
+CPANPLUS::Internals::Extract - internals for archive extraction
=head1 SYNOPSIS
### for source files ###
$self->_gunzip( file => 'foo.gz', output => 'blah.txt' );
-
+
### for modules/packages ###
- $dir = $self->_extract( module => $modobj,
+ $dir = $self->_extract( module => $modobj,
extractdir => '/some/where' );
=head1 DESCRIPTION
CPANPLUS::Internals::Extract extracts compressed files for CPANPLUS.
-It can do this by either a pure perl solution (preferred) with the
+It can do this by either a pure perl solution (preferred) with the
use of C<Archive::Tar> and C<Compress::Zlib>, or with binaries, like
C<gzip> and C<tar>.
@@ -47,7 +47,7 @@ The flow looks like this:
=head2 $dir = _extract( module => $modobj, [perl => '/path/to/perl', extractdir => '/path/to/extract/to', prefer_bin => BOOL, verbose => BOOL, force => BOOL] )
C<_extract> will take a module object and extract it to C<extractdir>
-if provided, or the default location which is obtained from your
+if provided, or the default location which is obtained from your
config.
The file name is obtained by looking at C<< $modobj->status->fetch >>
@@ -67,7 +67,7 @@ A C<CPANPLUS::Module> object. This is required.
=item extractdir
-The directory to extract the archive to. By default this looks
+The directory to extract the archive to. By default this looks
something like:
/CPANPLUS_BASE/PERL_VERSION/BUILD/MODULE_NAME
@@ -105,26 +105,26 @@ sub _extract {
my $self = shift;
my $conf = $self->configure_object;
my %hash = @_;
-
+
local $Params::Check::ALLOW_UNKNOWN = 1;
-
+
my( $mod, $verbose, $force );
my $tmpl = {
- force => { default => $conf->get_conf('force'),
+ force => { default => $conf->get_conf('force'),
store => \$force },
- verbose => { default => $conf->get_conf('verbose'),
+ verbose => { default => $conf->get_conf('verbose'),
store => \$verbose },
prefer_bin => { default => $conf->get_conf('prefer_bin') },
extractdir => { default => $conf->get_conf('extractdir') },
module => { required => 1, allow => IS_MODOBJ, store => \$mod },
perl => { default => $^X },
};
-
+
my $args = check( $tmpl, \%hash ) or return;
-
+
### did we already extract it ? ###
my $loc = $mod->status->extract();
-
+
if( $loc && !$force ) {
msg(loc("Already extracted '%1' to '%2'. ".
"Won't extract again without force",
@@ -135,7 +135,7 @@ sub _extract {
### did we already fetch the file? ###
my $file = $mod->status->fetch();
unless( -s $file ) {
- error( loc( "File '%1' has zero size: cannot extract", $file ) );
+ error( loc( "File '%1' has zero size: cannot extract", $file ) );
return;
}
@@ -146,7 +146,7 @@ sub _extract {
$self->_perl_version( perl => $args->{'perl'} ),
$conf->_get_build('moddir'),
);
-
+
### delegate to Archive::Extract ###
### set up some flags for archive::extract ###
local $Archive::Extract::PREFER_BIN = $args->{'prefer_bin'};
@@ -160,7 +160,7 @@ sub _extract {
$file, $to, $ae->error ) );
return;
}
-
+
### if ->files is not filled, we dont know what the hell was
### extracted.. try to offer a suggestion and bail :(
unless ( $ae->files ) {
@@ -168,65 +168,65 @@ sub _extract {
"files from the archive. Install '%2' and ensure ".
"it works properly and try again",
$ae->is_zip ? 'Archive::Zip' : 'Archive::Tar' ) );
- return;
- }
-
-
- ### print out what files we extracted ###
- msg(loc("Extracted '%1'",$_),$verbose) for @{$ae->files};
-
+ return;
+ }
+
+
+ ### print out what files we extracted ###
+ msg(loc("Extracted '%1'",$_),$verbose) for @{$ae->files};
+
### set them all to be +w for the owner, so we don't get permission
### denied for overwriting files that are just +r
-
+
### this is too rigorous -- just change to +w for the owner [cpan #13358]
#chmod 0755, map { File::Spec->rel2abs( File::Spec->catdir($to, $_) ) }
# @{$ae->files};
-
- for my $file ( @{$ae->files} ) {
+
+ for my $file ( @{$ae->files} ) {
my $path = File::Spec->rel2abs( File::Spec->catfile($to, $file) );
-
+
$self->_mode_plus_w( file => $path );
}
-
+
### check the return value for the extracted path ###
### Make an educated guess if we didn't get an extract_path
### back
- ### XXX apparently some people make their own dists and they
- ### pack up '.' which means the leading directory is '.'
+ ### XXX apparently some people make their own dists and they
+ ### pack up '.' which means the leading directory is '.'
### and only the second directory is the actual module directory
- ### so, we'll have to check if our educated guess exists first,
+ ### so, we'll have to check if our educated guess exists first,
### then see if the extract path works.. and if nothing works...
### well, then we really don't know.
my $dir;
for my $try (
- File::Spec->rel2abs(
- ### _safe_path must be called before catdir because catdir on
+ File::Spec->rel2abs(
+ ### _safe_path must be called before catdir because catdir on
### VMS currently will not handle the extra dots in the directories.
- File::Spec->catdir( $self->_safe_path( path => $to ) ,
+ File::Spec->catdir( $self->_safe_path( path => $to ) ,
$self->_safe_path( path =>
- $mod->package_name .'-'.
+ $mod->package_name .'-'.
$mod->package_version
) ) ) ,
File::Spec->rel2abs( $ae->extract_path ),
) {
($dir = $try) && last if -d $try;
}
-
+
### test if the dir exists ###
unless( $dir && -d $dir ) {
error(loc("Unable to determine extract dir for '%1'",$mod->module));
return;
-
- } else {
+
+ } else {
msg(loc("Extracted '%1' to '%2'", $mod->module, $dir), $verbose);
-
+
### register where we extracted the files to,
### also store what files were extracted
- $mod->status->extract( $dir );
+ $mod->status->extract( $dir );
$mod->status->files( $ae->files );
}
-
+
### also, figure out what kind of install we're dealing with ###
$mod->get_installer_type();
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Fetch.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Fetch.pm
index 7dcb3c366bb..f8a232e1f8e 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Fetch.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Fetch.pm
@@ -19,7 +19,7 @@ $Params::Check::VERBOSE = 1;
=head1 NAME
-CPANPLUS::Internals::Fetch
+CPANPLUS::Internals::Fetch - internals for fetching files
=head1 SYNOPSIS
@@ -148,62 +148,62 @@ sub _fetch {
### do we already have the file? if so, can we use the cached version,
### or do we need to refetch?
if( -e $local_file ) {
-
+
my $unlink = 0;
my $use_cached = 0;
-
+
### if force is in effect, we have to refetch
if( $force ) {
$unlink++
-
- ### if you provided a ttl, and it was exceeded, we'll refetch,
+
+ ### if you provided a ttl, and it was exceeded, we'll refetch,
} elsif( $ttl and ([stat $local_file]->[9] + $ttl > time) ) {
msg(loc("Using cached file '%1' on disk; ".
"ttl (%2s) is not exceeded",
$local_file, $ttl), $verbose );
-
+
$use_cached++;
### if you provided a ttl, and the above conditional didn't match,
### we exceeded the ttl, so we refetch
} elsif ( $ttl ) {
$unlink++;
-
+
### otherwise we can use the cached version
} else {
$use_cached++;
- }
+ }
if( $unlink ) {
### some fetches will fail if the files exist already, so let's
### delete them first
1 while unlink $local_file;
-
+
msg(loc("Could not delete %1, some methods may " .
"fail to force a download", $local_file), $verbose)
if -e $local_file;
-
+
} else {
-
+
### store where we fetched it ###
$modobj->status->fetch( $local_file );
-
+
return $local_file;
}
}
}
- ### we got a custom URI
+ ### we got a custom URI
if ( $fetch_from ) {
my $abs = $self->__file_fetch( from => $fetch_from,
to => $local_path,
verbose => $verbose );
-
+
unless( $abs ) {
error(loc("Unable to download '%1'", $fetch_from));
return;
- }
+ }
### store where we fetched it ###
$modobj->status->fetch( $abs );
@@ -222,18 +222,18 @@ sub _fetch {
return;
}
}
-
+
### see if we even have a host or a method to use to download with ###
my $found_host;
my @maybe_bad_host;
-
+
HOST: {
- ### F*CKING PIECE OF F*CKING p4 SHIT makes
+ ### F*CKING PIECE OF F*CKING p4 SHIT makes
### '$File :: Fetch::SOME_VAR'
### into a meta variable and starts substituting the file name...
### GRAAAAAAAAAAAAAAAAAAAAAAH!
### use ' to combat it!
-
+
### set up some flags for File::Fetch ###
local $File'Fetch::BLACKLIST = $conf->_get_fetch('blacklist');
local $File'Fetch::TIMEOUT = $conf->get_conf('timeout');
@@ -242,41 +242,41 @@ sub _fetch {
local $File'Fetch::FROM_EMAIL = $conf->get_conf('email');
local $File'Fetch::PREFER_BIN = $conf->get_conf('prefer_bin');
local $File'Fetch::WARN = $verbose;
-
-
+
+
### loop over all hosts we have ###
for my $host ( @{$conf->get_conf('hosts')} ) {
$found_host++;
-
+
my $where;
### file:// uris are special and need parsing
- if( $host->{'scheme'} eq 'file' ) {
-
+ if( $host->{'scheme'} eq 'file' ) {
+
### the full path in the native format of the OS
- my $host_spec =
+ my $host_spec =
File::Spec->file_name_is_absolute( $host->{'path'} )
? $host->{'path'}
: File::Spec->rel2abs( $host->{'path'} );
-
+
### there might be volumes involved on vms/win32
if( ON_WIN32 or ON_VMS ) {
-
- ### now extract the volume in order to be Win32 and
+
+ ### now extract the volume in order to be Win32 and
### VMS friendly.
### 'no_file' indicates that there's no file part
### of this path, so we only get 2 bits returned.
my ($vol, $host_path) = File::Spec->splitpath(
- $host_spec, 'no_file'
+ $host_spec, 'no_file'
);
-
+
### and split up the directories
my @host_dirs = File::Spec->splitdir( $host_path );
-
- ### if we got a volume we pretend its a directory for
+
+ ### if we got a volume we pretend its a directory for
### the sake of the file:// url
if( defined $vol and $vol ) {
-
+
### D:\foo\bar needs to be encoded as D|\foo\bar
### For details, see the following link:
### http://en.wikipedia.org/wiki/File://
@@ -284,89 +284,89 @@ sub _fetch {
### descriptors but it does address VMS volume
### descriptors, however wikipedia covers a bit of
### history regarding win32
- $vol =~ s/:$/|/ if ON_WIN32;
-
+ $vol =~ s/:$/|/ if ON_WIN32;
+
$vol =~ s/:// if ON_VMS;
-
+
### XXX i'm not sure what cases this is addressing.
### this comes straight from dmq's file:// patches
### for win32. --kane
### According to dmq, the best summary is:
### "if file:// urls dont look right on VMS reuse
### the win32 logic and see if that fixes things"
-
+
### first element not empty? Might happen on VMS.
### prepend the volume in that case.
if( $host_dirs[0] ) {
unshift @host_dirs, $vol;
-
+
### element empty? reuse it to store the volume
### encoded as a directory name. (Win32/VMS)
} else {
$host_dirs[0] = $vol;
- }
+ }
}
-
+
### now it's in UNIX format, which is the same format
### as used for URIs
- $host_spec = File::Spec::Unix->catdir( @host_dirs );
+ $host_spec = File::Spec::Unix->catdir( @host_dirs );
}
- ### now create the file:// uri from the components
+ ### now create the file:// uri from the components
$where = CREATE_FILE_URI->(
File::Spec::Unix->catfile(
$host->{'host'} || '',
$host_spec,
$remote_file,
- )
- );
+ )
+ );
### its components will be in unix format, for a http://,
### ftp:// or any other style of URI
- } else {
+ } else {
my $mirror_path = File::Spec::Unix->catfile(
$host->{'path'}, $remote_file
);
-
+
my %args = ( scheme => $host->{scheme},
host => $host->{host},
path => $mirror_path,
);
-
+
$where = $self->_host_to_uri( %args );
}
-
- my $abs = $self->__file_fetch( from => $where,
+
+ my $abs = $self->__file_fetch( from => $where,
to => $local_path,
- verbose => $verbose );
-
+ verbose => $verbose );
+
### we got a path back?
if( $abs ) {
### store where we fetched it ###
$modobj->status->fetch( $abs );
-
+
### this host is good, the previous ones are apparently
### not, so mark them as such.
$self->_add_fail_host( host => $_ ) for @maybe_bad_host;
-
+
return $abs;
}
-
+
### so we tried to get the file but didn't actually fetch it --
- ### there's a chance this host is bad. mark it as such and
- ### actually flag it back if we manage to get the file
+ ### there's a chance this host is bad. mark it as such and
+ ### actually flag it back if we manage to get the file
### somewhere else
push @maybe_bad_host, $host;
}
}
-
+
$found_host
? error(loc("Fetch failed: host list exhausted " .
"-- are you connected today?"))
: error(loc("No hosts found to download from " .
"-- check your config"));
}
-
+
return;
}
@@ -382,7 +382,7 @@ sub __file_fetch {
verbose => { default => $conf->get_conf('verbose'),
store => \$verbose },
};
-
+
check( $tmpl, \%hash ) or return;
msg(loc("Trying to get '%1'", $where ), $verbose );
@@ -400,10 +400,10 @@ sub __file_fetch {
} else {
my $abs = File::Spec->rel2abs( $file );
-
+
### so TTLs will work
$self->_update_timestamp( file => $abs );
-
+
return $abs;
}
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Report.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Report.pm
index 73a2d297e2d..6e3cd5641dc 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Report.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Report.pm
@@ -20,7 +20,7 @@ require CPANPLUS::Internals;
=head1 NAME
-CPANPLUS::Internals::Report
+CPANPLUS::Internals::Report - internals for sending test reports
=head1 SYNOPSIS
@@ -297,11 +297,12 @@ sub _send_report {
### check arguments ###
my ($buffer, $failed, $mod, $verbose, $force, $address, $save,
- $tests_skipped );
+ $tests_skipped, $status );
my $tmpl = {
module => { required => 1, store => \$mod, allow => IS_MODOBJ },
buffer => { required => 1, store => \$buffer },
failed => { required => 1, store => \$failed },
+ status => { default => {}, store => \$status, strict_type => 1 },
address => { default => CPAN_TESTERS_EMAIL, store => \$address },
save => { default => 0, store => \$save },
verbose => { default => $conf->get_conf('verbose'),
@@ -471,8 +472,9 @@ sub _send_report {
return 1 if $cp_conf =~ /\bmaketest_only\b/i
and ($stage !~ /\btest\b/);
+ my $capture = ( $status && defined $status->{capture} ? $status->{capture} : $buffer );
### the bit where we inform what went wrong
- $message .= REPORT_MESSAGE_FAIL_HEADER->( $stage, $buffer );
+ $message .= REPORT_MESSAGE_FAIL_HEADER->( $stage, $capture );
### was it missing prereqs? ###
if( my @missing = MISSING_PREREQS_LIST->($buffer) ) {
@@ -507,8 +509,34 @@ sub _send_report {
$message .= REPORT_TESTS_SKIPPED->();
} elsif( $grade eq GRADE_NA) {
+ my $capture = ( $status && defined $status->{capture} ? $status->{capture} : $buffer );
+
+ ### add the reason for the NA to the buffer
+ $capture = join $/, $capture, map {
+ '[' . $_->tag . '] [' . $_->when . '] ' .
+ $_->message } ( CPANPLUS::Error->stack )[-1];
+
### the bit where we inform what went wrong
- $message .= REPORT_MESSAGE_FAIL_HEADER->( $stage, $buffer );
+ $message .= REPORT_MESSAGE_FAIL_HEADER->( $stage, $capture );
+
+ ### add a list of what modules have been loaded of your prereqs list
+ $message .= REPORT_LOADED_PREREQS->($mod);
+
+ ### add a list of versions of toolchain modules
+ $message .= REPORT_TOOLCHAIN_VERSIONS->($mod);
+
+ ### the footer
+ $message .= REPORT_MESSAGE_FOOTER->();
+
+ } elsif ( $grade eq GRADE_PASS and ( $status and defined $status->{capture} ) ) {
+ ### the bit where we inform what went right
+ $message .= REPORT_MESSAGE_PASS_HEADER->( $stage, $status->{capture} );
+
+ ### add a list of what modules have been loaded of your prereqs list
+ $message .= REPORT_LOADED_PREREQS->($mod);
+
+ ### add a list of versions of toolchain modules
+ $message .= REPORT_TOOLCHAIN_VERSIONS->($mod);
### the footer
$message .= REPORT_MESSAGE_FOOTER->();
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Search.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Search.pm
index a93626b618e..6a5a6cf9a48 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Search.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Search.pm
@@ -19,7 +19,7 @@ $Params::Check::VERBOSE = 1;
=head1 NAME
-CPANPLUS::Internals::Search
+CPANPLUS::Internals::Search - internals for searching for modules
=head1 SYNOPSIS
@@ -163,7 +163,7 @@ sub _search_module_tree {
} or return;
### a list of module objects was supplied
- if( @$mods ) {
+ if( @$mods ) {
local $Params::Check::VERBOSE = 0;
my @rv;
@@ -242,7 +242,7 @@ sub _search_author_tree {
my $args = check( $tmpl, \%hash ) or return;
- if( @$authors ) {
+ if( @$authors ) {
local $Params::Check::VERBOSE = 0;
my @rv;
@@ -258,7 +258,7 @@ sub _search_author_tree {
my @rv = $self->_source_search_author_tree(
allow => $list,
type => $type,
- );
+ );
return \@rv;
}
}
@@ -302,18 +302,18 @@ sub _all_installed {
for my $dir (@INC ) {
next if $dir eq '.';
- ### not a directory after all
+ ### not a directory after all
### may be coderef or some such
next unless -d $dir;
### make sure to clean up the directories just in case,
### as we're making assumptions about the length
### This solves rt.cpan issue #19738
-
- ### John M. notes: On VMS cannonpath can not currently handle
+
+ ### John M. notes: On VMS cannonpath can not currently handle
### the $dir values that are in UNIX format.
$dir = File::Spec->canonpath( $dir ) unless ON_VMS;
-
+
### have to use F::S::Unix on VMS, or things will break
my $file_spec = ON_VMS ? 'File::Spec::Unix' : 'File::Spec';
@@ -328,15 +328,15 @@ sub _all_installed {
### make sure it's in Unix format, as it
### may be in VMS format on VMS;
- $mod = VMS::Filespec::unixify( $mod ) if ON_VMS;
-
+ $mod = VMS::Filespec::unixify( $mod ) if ON_VMS;
+
$mod = substr($mod, length($dir) + 1, -3);
$mod = join '::', $file_spec->splitdir($mod);
return if $seen{$mod}++;
my $modobj = $self->module_tree($mod);
-
+
### separate return, a list context return with one ''
### in it, is also true!
return unless $modobj;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source.pm
index 96370046255..1f75535fa65 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source.pm
@@ -21,22 +21,22 @@ use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
$Params::Check::VERBOSE = 1;
### list of methods the parent class must implement
-{ for my $sub ( qw[_init_trees _finalize_trees
+{ for my $sub ( qw[_init_trees _finalize_trees
_standard_trees_completed _custom_trees_completed
_add_module_object _add_author_object _save_state
- ]
+ ]
) {
no strict 'refs';
- *$sub = sub {
+ *$sub = sub {
my $self = shift;
my $class = ref $self || $self;
-
- require Carp;
- Carp::croak( loc( "Class %1 must implement method '%2'",
+
+ require Carp;
+ Carp::croak( loc( "Class %1 must implement method '%2'",
$class, $sub ) );
}
}
-}
+}
{
my $recurse; # flag to prevent recursive calls to *_tree functions
@@ -74,7 +74,7 @@ $Params::Check::VERBOSE = 1;
=head1 NAME
-CPANPLUS::Internals::Source
+CPANPLUS::Internals::Source - internals for updating source files
=head1 SYNOPSIS
@@ -98,14 +98,14 @@ The flow looks like this:
$cb->_check_trees
$cb->__check_uptodate
$cb->_update_source
- $cb->__update_custom_module_sources
+ $cb->__update_custom_module_sources
$cb->__update_custom_module_source
$cb->_build_trees
### engine methods
{ $cb->_init_trees;
$cb->_standard_trees_completed
$cb->_custom_trees_completed
- }
+ }
$cb->__create_author_tree
### engine methods
{ $cb->_add_author_object }
@@ -113,7 +113,7 @@ The flow looks like this:
$cb->__create_dslip_tree
### engine methods
{ $cb->_add_module_object }
- $cb->__create_custom_module_entries
+ $cb->__create_custom_module_entries
$cb->_dslip_defs
@@ -177,43 +177,43 @@ sub _build_trees {
) or do {
error( loc("Could not initialize trees" ) );
return;
- };
+ };
### return if we weren't able to build the trees ###
return unless $self->_mtree && $self->_atree;
-
+
### did we get everything from a stored state? if not,
### process them now.
if( not $self->_standard_trees_completed ) {
-
+
### first, prep the author tree
$self->__create_author_tree(
uptodate => $uptodate,
path => $path,
- verbose => $verbose,
+ verbose => $verbose,
) or return;
### and now the module tree
$self->_create_mod_tree(
uptodate => $uptodate,
path => $path,
- verbose => $verbose,
+ verbose => $verbose,
) or return;
}
-
+
### XXX unpleasant hack. since custom sources uses ->parse_module, we
- ### already have a special module object with extra meta data. that
+ ### already have a special module object with extra meta data. that
### doesn't gelwell with the sqlite storage engine. So, we check 'normal'
### trees from separate trees, so the engine can treat them differently.
### Effectively this means that with the SQLite engine, for now, custom
### sources are continuously reparsed =/ -kane
if( not $self->_custom_trees_completed ) {
-
+
### update them if the other sources are also deemed out of date
if( $conf->get_conf('enable_custom_sources') ) {
- $self->__update_custom_module_sources( verbose => $verbose )
+ $self->__update_custom_module_sources( verbose => $verbose )
or error(loc("Could not update custom module sources"));
- }
+ }
### add custom sources here if enabled
if( $conf->get_conf('enable_custom_sources') ) {
@@ -226,13 +226,13 @@ sub _build_trees {
$self->_finalize_trees(
path => $path,
uptodate => $uptodate,
- verbose => $verbose,
+ verbose => $verbose,
use_stored => $use_stored,
) or do {
error(loc( "Could not finalize trees" ));
return;
- };
-
+ };
+
### still necessary? can only run one instance now ###
### will probably stay that way --kane
# my $id = $self->_store_id( $self );
@@ -320,7 +320,7 @@ sub _check_trees {
### as well
### RT #47820: Don't try to update custom sources if they are disabled
### in the configuration.
- $self->__update_custom_module_sources( verbose => $verbose )
+ $self->__update_custom_module_sources( verbose => $verbose )
if $conf->get_conf('enable_custom_sources') and ( $update_source or !$uptodate );
return $uptodate;
@@ -389,7 +389,7 @@ sub __check_uptodate {
if ( $flag or $args->{'update_source'} ) {
if ( $self->_update_source( name => $args->{'name'} ) ) {
- return 0; # return 0 so 'uptodate' will be set to 0, meaning no
+ return 0; # return 0 so 'uptodate' will be set to 0, meaning no
# use of previously stored hashrefs!
} else {
msg( loc("Unable to update source, attempting to get away with using old source file!"), $args->{verbose} );
@@ -549,6 +549,16 @@ sub __create_author_tree {
### don't need it anymore ###
unlink $out;
+ my ($tot,$prce,$prc,$idx);
+
+ $args->{verbose}
+ and local $|=1,
+ $tot = scalar(split /\n/, $cont),
+ ($prce, $prc, $idx) = (int $tot / 25, 0, 0);
+
+ $args->{verbose}
+ and print "\t0%";
+
for ( split /\n/, $cont ) {
my($id, $name, $email) = m/^alias \s+
(\S+) \s+
@@ -561,8 +571,24 @@ sub __create_author_tree {
cpanid => $id, #authors CPAN ID
) or error( loc("Could not add author '%1'", $name ) );
+ $args->{verbose}
+ and (
+ $idx++,
+
+ ($idx==$prce
+ and ($prc+=4,$idx=0,print ".")),
+
+ (($prc % 10)
+ or $idx
+ or print $prc,'%')
+ );
+
}
+ $args->{verbose}
+ and print "\n";
+
+
return $self->_atree;
} #__create_author_tree
@@ -636,9 +662,17 @@ sub _create_mod_tree {
### don't need it anymore ###
unlink $out;
- my($past_header, $count);
- for ( split /\n/, $content ) {
+ my($past_header, $count, $tot, $prce, $prc, $idx);
+
+ $args->{verbose}
+ and local $|=1,
+ $tot = scalar(split /\n/, $content),
+ ($prce, $prc, $idx) = (int $tot / 25, 0, 0);
+
+ $args->{verbose}
+ and print "\t0%";
+ for ( split /\n/, $content ) {
### quick hack to read past the header of the file ###
### this is still rather evil... fix some time - Kane
if( m|^\s*$| ) {
@@ -647,11 +681,11 @@ sub _create_mod_tree {
return;
}
$past_header = 1;
- }
-
+ }
+
### we're still in the header -- find the amount of lines we expect
unless( $past_header ) {
-
+
### if the line count doesn't match what we expect, bail out
### this should address: #45644: detect broken index
$count = $1 if /^Line-Count:\s+(\d+)/;
@@ -661,12 +695,12 @@ sub _create_mod_tree {
"contains only %3 lines!",
$count, $file, $lines ));
return;
- }
+ }
}
### still in the header, keep moving
next;
}
-
+
### skip empty lines ###
next unless /\S/;
chomp;
@@ -704,7 +738,7 @@ sub _create_mod_tree {
? $dslip_tree->{ $data[0] }->{$item}
: ' ';
}
-
+
### XXX this could be sped up if we used author names, not author
### objects in creation, and then look them up in the author tree
### when needed. This will need a fix to all the places that create
@@ -713,9 +747,9 @@ sub _create_mod_tree {
### callback to store the individual object
$self->_add_module_object(
module => $data[0], # full module name
- version => ($data[1] eq 'undef' # version number
- ? '0.0'
- : $data[1]),
+ version => ($data[1] eq 'undef' # version number
+ ? '0.0'
+ : $data[1]),
path => File::Spec::Unix->catfile(
$conf->_get_mirror('base'),
$data[2],
@@ -730,8 +764,23 @@ sub _create_mod_tree {
mtime => '',
) or error( loc( "Could not add module '%1'", $data[0] ) );
+ $args->{verbose}
+ and (
+ $idx++,
+
+ ($idx==$prce
+ and ($prc+=4,$idx=0,print ".")),
+
+ (($prc % 10)
+ or $idx
+ or print $prc,'%')
+ );
+
} #for
+ $args->{verbose}
+ and print "\n";
+
return $self->_mtree;
} #_create_mod_tree
@@ -822,9 +871,9 @@ sub __create_dslip_tree {
### use this regex to make sure dslips with ';' in them don't cause
### parser errors
my ($ds_one, $ds_two) = ($in =~ m|.+}\s+
- (\$(?:CPAN::Modulelist::)?cols.*?)
- (\$(?:CPAN::Modulelist::)?data.*)
- |sx);
+ (\$(?:CPAN::Modulelist::)?cols.*?)
+ (\$(?:CPAN::Modulelist::)?data.*)
+ |sx);
### eval them into existence ###
### still not too fond of this solution - kane ###
@@ -925,7 +974,7 @@ sub _dslip_defs {
return $aref;
}
-=head2 $file = $cb->_add_custom_module_source( uri => URI, [verbose => BOOL] );
+=head2 $file = $cb->_add_custom_module_source( uri => URI, [verbose => BOOL] );
Adds a custom source index and updates it based on the provided URI.
@@ -937,16 +986,16 @@ sub _add_custom_module_source {
my $self = shift;
my $conf = $self->configure_object;
my %hash = @_;
-
+
my($verbose,$uri);
- my $tmpl = {
+ my $tmpl = {
verbose => { default => $conf->get_conf('verbose'),
store => \$verbose },
uri => { required => 1, store => \$uri }
};
-
+
check( $tmpl, \%hash ) or return;
-
+
### what index file should we use on disk?
my $index = $self->__custom_module_source_index_file( uri => $uri );
@@ -954,29 +1003,29 @@ sub _add_custom_module_source {
if( IS_FILE->( $index ) ) {
msg(loc("Source '%1' already added", $uri));
return 1;
- }
-
- ### do we need to create the targe dir?
+ }
+
+ ### do we need to create the targe dir?
{ my $dir = dirname( $index );
unless( IS_DIR->( $dir ) ) {
$self->_mkdir( dir => $dir ) or return
}
- }
-
+ }
+
### write the file
my $fh = OPEN_FILE->( $index => '>' ) or do {
error(loc("Could not open index file for '%1'", $uri));
return;
};
-
- ### basically we 'touched' it. Check the return value, may be
+
+ ### basically we 'touched' it. Check the return value, may be
### important on win32 and similar OS, where there's file length
### limits
close $fh or do {
error(loc("Could not write index file to disk for '%1'", $uri));
return;
- };
-
+ };
+
$self->__update_custom_module_source(
remote => $uri,
local => $index,
@@ -985,9 +1034,9 @@ sub _add_custom_module_source {
### we faild to update it, we probably have an empty
### possibly silly filename on disk now -- remove it
1 while unlink $index;
- return;
+ return;
};
-
+
return $index;
}
@@ -1002,24 +1051,24 @@ sub __custom_module_source_index_file {
my $self = shift;
my $conf = $self->configure_object;
my %hash = @_;
-
+
my($verbose,$uri);
- my $tmpl = {
+ my $tmpl = {
uri => { required => 1, store => \$uri }
};
-
+
check( $tmpl, \%hash ) or return;
-
+
my $index = File::Spec->catfile(
$conf->get_conf('base'),
- $conf->_get_build('custom_sources'),
+ $conf->_get_build('custom_sources'),
$self->_uri_encode( uri => $uri ),
- );
+ );
return $index;
}
-=head2 $file = $cb->_remove_custom_module_source( uri => URI, [verbose => BOOL] );
+=head2 $file = $cb->_remove_custom_module_source( uri => URI, [verbose => BOOL] );
Removes a custom index file based on the URI provided.
@@ -1031,19 +1080,19 @@ sub _remove_custom_module_source {
my $self = shift;
my $conf = $self->configure_object;
my %hash = @_;
-
+
my($verbose,$uri);
- my $tmpl = {
+ my $tmpl = {
verbose => { default => $conf->get_conf('verbose'),
store => \$verbose },
uri => { required => 1, store => \$uri }
};
-
+
check( $tmpl, \%hash ) or return;
### use uri => local, instead of the other way around
my %files = reverse $self->__list_custom_module_sources;
-
+
### On VMS the case of key to %files can be either exact or lower case
### XXX abstract this lookup out? --kane
my $file = $files{ $uri };
@@ -1053,15 +1102,15 @@ sub _remove_custom_module_source {
error(loc("No such custom source '%1'", $uri));
return;
};
-
+
1 while unlink $file;
-
+
if( IS_FILE->( $file ) ) {
error(loc("Could not remove index file '%1' for custom source '%2'",
$file, $uri));
return;
- }
-
+ }
+
msg(loc("Successfully removed index file for '%1'", $uri), $verbose);
return $file;
@@ -1081,12 +1130,12 @@ Returns a list of key value pairs as follows:
sub __list_custom_module_sources {
my $self = shift;
my $conf = $self->configure_object;
-
+
my($verbose);
- my $tmpl = {
+ my $tmpl = {
verbose => { default => $conf->get_conf('verbose'),
store => \$verbose },
- };
+ };
my $dir = File::Spec->catdir(
$conf->get_conf('base'),
@@ -1097,16 +1146,16 @@ sub __list_custom_module_sources {
msg(loc("No '%1' dir, skipping custom sources", $dir), $verbose);
return;
}
-
+
### unencode the files
### skip ones starting with # though
- my %files = map {
- my $org = $_;
- my $dec = $self->_uri_decode( uri => $_ );
+ my %files = map {
+ my $org = $_;
+ my $dec = $self->_uri_decode( uri => $_ );
File::Spec->catfile( $dir, $org ) => $dec
- } grep { $_ !~ /^#/ } READ_DIR->( $dir );
+ } grep { $_ !~ /^#/ } READ_DIR->( $dir );
- return %files;
+ return %files;
}
=head2 $bool = $cb->__update_custom_module_sources( [verbose => BOOL] );
@@ -1124,35 +1173,35 @@ sub __update_custom_module_sources {
my $self = shift;
my $conf = $self->configure_object;
my %hash = @_;
-
+
my $verbose;
- my $tmpl = {
+ my $tmpl = {
verbose => { default => $conf->get_conf('verbose'),
store => \$verbose }
};
-
+
check( $tmpl, \%hash ) or return;
-
+
my %files = $self->__list_custom_module_sources;
-
- ### uptodate check has been done a few levels up.
+
+ ### uptodate check has been done a few levels up.
my $fail;
while( my($local,$remote) = each %files ) {
-
+
$self->__update_custom_module_source(
remote => $remote,
local => $local,
verbose => $verbose,
- ) or ( $fail++, next );
+ ) or ( $fail++, next );
}
-
+
error(loc("Failed updating one or more remote sources files")) if $fail;
-
+
return if $fail;
return 1;
}
-=head2 $ok = $cb->__update_custom_module_source
+=head2 $ok = $cb->__update_custom_module_source
Attempts to update all the index files to your custom module sources.
@@ -1167,9 +1216,9 @@ sub __update_custom_module_source {
my $self = shift;
my $conf = $self->configure_object;
my %hash = @_;
-
+
my($verbose,$local,$remote);
- my $tmpl = {
+ my $tmpl = {
verbose => { default => $conf->get_conf('verbose'),
store => \$verbose },
local => { store => \$local, allow => FILE_EXISTS },
@@ -1179,7 +1228,7 @@ sub __update_custom_module_source {
check( $tmpl, \%hash ) or return;
msg( loc("Updating sources from '%1'", $remote), $verbose);
-
+
### if you didn't provide a local file, we'll look in your custom
### dir to find the local encoded version for you
$local ||= do {
@@ -1187,7 +1236,7 @@ sub __update_custom_module_source {
my %files = reverse $self->__list_custom_module_sources or do {
error(loc("No custom modules sources defined -- need '%1' argument",
'local'));
- return;
+ return;
};
### On VMS the case of key to %files can be either exact or lower case
@@ -1200,68 +1249,69 @@ sub __update_custom_module_source {
error(loc("Remote source '%1' unknown -- needs '%2' argument",
$remote, 'local'));
return;
- };
+ };
};
-
+
my $uri = join '/', $remote, $conf->_get_source('custom_index');
- my $ff = File::Fetch->new( uri => $uri );
+ my $ff = File::Fetch->new( uri => $uri );
### tempdir doesn't clean up by default, as opposed to tempfile()
### so add it explicitly.
my $dir = tempdir( CLEANUP => 1 );
-
- my $res = do { local $File::Fetch::WARN = 0;
+
+ my $res = do {
local $File::Fetch::WARN = 0;
+ local $File::Fetch::TIMEOUT = $conf->get_conf('timeout');
$ff->fetch( to => $dir );
- };
+ };
### couldn't get the file
unless( $res ) {
-
+
### it's not a local scheme, so can't auto index
unless( $ff->scheme eq 'file' ) {
error(loc("Could not update sources from '%1': %2",
$remote, $ff->error ));
- return;
-
+ return;
+
### it's a local uri, we can index it ourselves
} else {
msg(loc("No index file found at '%1', generating one",
$ff->uri), $verbose );
-
+
### ON VMS, if you are working with a UNIX file specification,
### you need currently use the UNIX variants of the File::Spec.
my $ff_path = do {
my $file_class = 'File::Spec';
$file_class .= '::Unix' if ON_VMS;
$file_class->catdir( File::Spec::Unix->splitdir( $ff->path ) );
- };
+ };
$self->__write_custom_module_index(
path => $ff_path,
to => $local,
verbose => $verbose,
) or return;
-
+
### XXX don't write that here, __write_custom_module_index
### already prints this out
#msg(loc("Index file written to '%1'", $to), $verbose);
}
-
+
### copy it to the real spot and update its timestamp
- } else {
+ } else {
$self->_move( file => $res, to => $local ) or return;
$self->_update_timestamp( file => $local );
-
+
msg(loc("Index file saved to '%1'", $local), $verbose);
}
-
+
return $local;
}
=head2 $bool = $cb->__write_custom_module_index( path => /path/to/packages, [to => /path/to/index/file, verbose => BOOL] )
-Scans the C<path> you provided for packages and writes an index with all
+Scans the C<path> you provided for packages and writes an index with all
the available packages to C<$path/packages.txt>. If you'd like the index
to be written to a different file, provide the C<to> argument.
@@ -1273,29 +1323,29 @@ sub __write_custom_module_index {
my $self = shift;
my $conf = $self->configure_object;
my %hash = @_;
-
+
my ($verbose, $path, $to);
- my $tmpl = {
+ my $tmpl = {
verbose => { default => $conf->get_conf('verbose'),
store => \$verbose },
path => { required => 1, allow => DIR_EXISTS, store => \$path },
to => { store => \$to },
};
-
- check( $tmpl, \%hash ) or return;
+
+ check( $tmpl, \%hash ) or return;
### no explicit to? then we'll use our default
$to ||= File::Spec->catfile( $path, $conf->_get_source('custom_index') );
my @files;
require File::Find;
- File::Find::find( sub {
+ File::Find::find( sub {
### let's see if A::E can even parse it
my $ae = do {
local $Archive::Extract::WARN = 0;
local $Archive::Extract::WARN = 0;
- Archive::Extract->new( archive => $File::Find::name )
- } or return;
+ Archive::Extract->new( archive => $File::Find::name )
+ } or return;
### it's a type A::E recognize, so we can add it
$ae->type or return;
@@ -1305,11 +1355,11 @@ sub __write_custom_module_index {
### path, so we have to strip it ourselves
### make sure to remove the leading slash as well.
my $copy = $File::Find::name;
- my $re = quotemeta($path);
+ my $re = quotemeta($path);
$copy =~ s|^$re[\\/]?||i;
-
+
push @files, $copy;
-
+
}, $path );
### does the dir exist? if not, create it.
@@ -1317,80 +1367,80 @@ sub __write_custom_module_index {
unless( IS_DIR->( $dir ) ) {
$self->_mkdir( dir => $dir ) or return
}
- }
+ }
### create the index file
my $fh = OPEN_FILE->( $to => '>' ) or return;
-
+
print $fh "$_\n" for @files;
close $fh;
-
+
msg(loc("Successfully written index file to '%1'", $to), $verbose);
-
+
return $to;
}
-=head2 $bool = $cb->__create_custom_module_entries( [verbose => BOOL] )
+=head2 $bool = $cb->__create_custom_module_entries( [verbose => BOOL] )
Creates entries in the module tree based upon the files as returned
by C<__list_custom_module_sources>.
Returns true on success, false on failure.
-=cut
+=cut
### use $auth_obj as a persistent version, so we don't have to recreate
### modules all the time
-{ my $auth_obj;
+{ my $auth_obj;
sub __create_custom_module_entries {
my $self = shift;
my $conf = $self->configure_object;
my %hash = @_;
-
+
my $verbose;
my $tmpl = {
verbose => { default => $conf->get_conf('verbose'), store => \$verbose },
};
-
+
check( $tmpl, \%hash ) or return undef;
-
- my %files = $self->__list_custom_module_sources;
-
+
+ my %files = $self->__list_custom_module_sources;
+
while( my($file,$name) = each %files ) {
-
+
msg(loc("Adding packages from custom source '%1'", $name), $verbose);
-
+
my $fh = OPEN_FILE->( $file ) or next;
-
+
while( local $_ = <$fh> ) {
chomp;
next if /^#/;
next unless /\S+/;
-
+
### join on / -- it's a URI after all!
my $parse = join '/', $name, $_;
-
+
### try to make a module object out of it
my $mod = $self->parse_module( module => $parse ) or (
error(loc("Could not parse '%1'", $_)),
next
);
-
+
### mark this object with a custom author
$auth_obj ||= do {
my $id = CUSTOM_AUTHOR_ID;
-
+
### if the object is being created for the first time,
### make sure there's an entry in the author tree as
### well, so we can search on the CPAN ID
- $self->author_tree->{ $id } =
- CPANPLUS::Module::Author::Fake->new( cpanid => $id );
+ $self->author_tree->{ $id } =
+ CPANPLUS::Module::Author::Fake->new( cpanid => $id );
};
-
+
$mod->author( $auth_obj );
-
+
### and now add it to the module tree -- this MAY
### override things of course
if( my $old_mod = $self->module_tree( $mod->module ) ) {
@@ -1401,15 +1451,15 @@ Returns true on success, false on failure.
msg(loc("About to overwrite module tree entry for '%1' with '%2'",
$mod->module, $mod->package), $verbose);
}
-
+
### mark where it came from
$mod->description( loc("Custom source from '%1'",$name) );
-
+
### store it in the module tree
$self->module_tree->{ $mod->module } = $mod;
}
}
-
+
return 1;
}
}
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/Memory.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/Memory.pm
index cb3fd4f1e76..d589bbd1d8b 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/Memory.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/Memory.pm
@@ -22,7 +22,7 @@ use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
$Params::Check::VERBOSE = 1;
-=head1 NAME
+=head1 NAME
CPANPLUS::Internals::Source::Memory - In memory implementation
@@ -36,7 +36,7 @@ CPANPLUS::Internals::Source::Memory - In memory implementation
my $self = shift;
my $conf = $self->configure_object;
my %hash = @_;
-
+
my($path,$uptodate,$verbose,$use_stored);
my $tmpl = {
path => { default => $conf->get_conf('base'), store => \$path },
@@ -44,21 +44,21 @@ CPANPLUS::Internals::Source::Memory - In memory implementation
uptodate => { required => 1, store => \$uptodate },
use_stored => { default => 1, store => \$use_stored },
};
-
+
check( $tmpl, \%hash ) or return;
-
+
### retrieve the stored source files ###
my $stored = $self->__memory_retrieve_source(
path => $path,
uptodate => $uptodate && $use_stored,
verbose => $verbose,
) || {};
-
+
### we got this from storable if $stored has keys..
$from_storable = keys %$stored ? 1 : 0;
-
+
### set up the trees
- $self->_atree( $stored->{_atree} || {} );
+ $self->_atree( $stored->{_atree} || {} );
$self->_mtree( $stored->{_mtree} || {} );
return 1;
@@ -71,7 +71,7 @@ CPANPLUS::Internals::Source::Memory - In memory implementation
my $self = shift;
my $conf = $self->configure_object;
my %hash = @_;
-
+
my($path,$uptodate,$verbose);
my $tmpl = {
path => { default => $conf->get_conf('base'), store => \$path },
@@ -79,34 +79,34 @@ CPANPLUS::Internals::Source::Memory - In memory implementation
uptodate => { required => 1, store => \$uptodate },
};
- { local $Params::Check::ALLOW_UNKNOWN = 1;
+ { local $Params::Check::ALLOW_UNKNOWN = 1;
check( $tmpl, \%hash ) or return;
}
-
+
### write the stored files to disk, so we can keep using them
### from now on, till they become invalid
### write them if the original sources weren't uptodate, or
### we didn't just load storable files
$self->__memory_save_source() if !$uptodate or not $from_storable;
-
+
return 1;
}
-
+
### saves current memory state
sub _save_state {
my $self = shift;
return $self->_finalize_trees( @_, uptodate => 0 );
- }
+ }
}
sub _add_author_object {
my $self = shift;
my %hash = @_;
-
+
my $class;
my $tmpl = {
class => { default => 'CPANPLUS::Module::Author', store => \$class },
- map { $_ => { required => 1 } }
+ map { $_ => { required => 1 } }
qw[ author cpanid email ]
};
@@ -114,9 +114,9 @@ sub _add_author_object {
local $Params::Check::NO_DUPLICATES = 1;
check( $tmpl, \%hash ) or return;
};
-
+
my $obj = $class->new( %$href, _id => $self->_id );
-
+
$self->author_tree->{ $href->{'cpanid'} } = $obj or return;
return $obj;
@@ -126,10 +126,10 @@ sub _add_module_object {
my $self = shift;
my %hash = @_;
- my $class;
+ my $class;
my $tmpl = {
class => { default => 'CPANPLUS::Module', store => \$class },
- map { $_ => { required => 1 } }
+ map { $_ => { required => 1 } }
qw[ module version path comment author package description dslip mtime ]
};
@@ -137,30 +137,30 @@ sub _add_module_object {
local $Params::Check::NO_DUPLICATES = 1;
check( $tmpl, \%hash ) or return;
};
-
+
my $obj = $class->new( %$href, _id => $self->_id );
-
+
### Every module get's stored as a module object ###
$self->module_tree->{ $href->{module} } = $obj or return;
- return $obj;
+ return $obj;
}
{ my %map = (
_source_search_module_tree => [ module_tree => 'CPANPLUS::Module' ],
_source_search_author_tree => [ author_tree => 'CPANPLUS::Module::Author' ],
- );
+ );
while( my($sub, $aref) = each %map ) {
no strict 'refs';
-
+
my($meth, $class) = @$aref;
-
+
*$sub = sub {
my $self = shift;
my $conf = $self->configure_object;
my %hash = @_;
-
+
my($authors,$list,$verbose,$type);
my $tmpl = {
data => { default => [],
@@ -172,9 +172,9 @@ sub _add_module_object {
type => { required => 1, allow => [$class->accessors()],
store => \$type },
};
-
- my $args = check( $tmpl, \%hash ) or return;
-
+
+ my $args = check( $tmpl, \%hash ) or return;
+
my @rv;
for my $obj ( values %{ $self->$meth } ) {
#push @rv, $auth if check(
@@ -182,8 +182,8 @@ sub _add_module_object {
# { $type => $auth->$type }
# );
push @rv, $obj if allow( $obj->$type() => $list );
- }
-
+ }
+
return @rv;
}
}
@@ -343,7 +343,7 @@ sub __memory_storable_file {
: 0;
return unless $storable;
-
+
### $stored is the name of the frozen data structure ###
### changed to use File::Spec->catfile -jmb
my $stored = File::Spec->rel2abs(
@@ -351,7 +351,7 @@ sub __memory_storable_file {
$path, #base dir
$conf->_get_source('stored') #file
. '.s' .
- $Storable::VERSION #the version of storable
+ $Storable::VERSION #the version of storable
. '.c' .
$self->VERSION #the version of CPANPLUS
. STORABLE_EXT #append a suffix
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite.pm
index 556be6456d5..47bdbebfd77 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite.pm
@@ -18,7 +18,7 @@ use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
use constant TXN_COMMIT => 1000;
-=head1 NAME
+=head1 NAME
CPANPLUS::Internals::Source::SQLite - SQLite implementation
@@ -27,23 +27,23 @@ CPANPLUS::Internals::Source::SQLite - SQLite implementation
{ my $Dbh;
my $DbFile;
- sub __sqlite_file {
+ sub __sqlite_file {
return $DbFile if $DbFile;
my $self = shift;
my $conf = $self->configure_object;
- $DbFile = File::Spec->catdir(
+ $DbFile = File::Spec->catdir(
$conf->get_conf('base'),
SOURCE_SQLITE_DB
);
-
+
return $DbFile;
};
- sub __sqlite_dbh {
+ sub __sqlite_dbh {
return $Dbh if $Dbh;
-
+
my $self = shift;
$Dbh = DBIx::Simple->connect(
"dbi:SQLite:dbname=" . $self->__sqlite_file,
@@ -53,7 +53,7 @@ CPANPLUS::Internals::Source::SQLite - SQLite implementation
#$Dbh->dbh->trace(1);
$Dbh->query(qq{PRAGMA synchronous = OFF});
- return $Dbh;
+ return $Dbh;
};
sub __sqlite_disconnect {
@@ -70,7 +70,7 @@ CPANPLUS::Internals::Source::SQLite - SQLite implementation
my $self = shift;
my $conf = $self->configure_object;
my %hash = @_;
-
+
my($path,$uptodate,$verbose,$use_stored);
my $tmpl = {
path => { default => $conf->get_conf('base'), store => \$path },
@@ -78,60 +78,60 @@ CPANPLUS::Internals::Source::SQLite - SQLite implementation
uptodate => { required => 1, store => \$uptodate },
use_stored => { default => 1, store => \$use_stored },
};
-
+
check( $tmpl, \%hash ) or return;
### if it's not uptodate, or the file doesn't exist, we need to create
### a new sqlite db
- if( not $uptodate or not -e $self->__sqlite_file ) {
+ if( not $uptodate or not -e $self->__sqlite_file ) {
$used_old_copy = 0;
### chuck the file
$self->__sqlite_disconnect;
1 while unlink $self->__sqlite_file;
-
+
### and create a new one
$self->__sqlite_create_db or do {
error(loc("Could not create new SQLite DB"));
- return;
- }
+ return;
+ }
} else {
$used_old_copy = 1;
- }
-
+ }
+
### set up the author tree
{ my %at;
tie %at, 'CPANPLUS::Internals::Source::SQLite::Tie',
- dbh => $self->__sqlite_dbh, table => 'author',
+ dbh => $self->__sqlite_dbh, table => 'author',
key => 'cpanid', cb => $self;
-
+
$self->_atree( \%at );
}
### set up the author tree
{ my %mt;
tie %mt, 'CPANPLUS::Internals::Source::SQLite::Tie',
- dbh => $self->__sqlite_dbh, table => 'module',
+ dbh => $self->__sqlite_dbh, table => 'module',
key => 'module', cb => $self;
$self->_mtree( \%mt );
}
-
+
### start a transaction
$self->__sqlite_dbh->query('BEGIN');
-
- return 1;
-
+
+ return 1;
+
}
-
+
sub _standard_trees_completed { return $used_old_copy }
sub _custom_trees_completed { return }
### finish transaction
sub _finalize_trees { $_[0]->__sqlite_dbh->commit; return 1 }
### saves current memory state, but not implemented in sqlite
- sub _save_state {
- error(loc("%1 has not implemented writing state to disk", __PACKAGE__));
+ sub _save_state {
+ error(loc("%1 has not implemented writing state to disk", __PACKAGE__));
return;
}
}
@@ -145,7 +145,7 @@ CPANPLUS::Internals::Source::SQLite - SQLite implementation
class => { default => 'CPANPLUS::Module::Author', store => \$class },
map { $_ => { required => 1 } } @keys
};
-
+
### dbix::simple's expansion of (??) is REALLY expensive, so do it manually
my $ph = join ',', map { '?' } @keys;
@@ -154,9 +154,9 @@ CPANPLUS::Internals::Source::SQLite - SQLite implementation
my $self = shift;
my %hash = @_;
my $dbh = $self->__sqlite_dbh;
-
+
my $href = do {
- local $Params::Check::NO_DUPLICATES = 1;
+ local $Params::Check::NO_DUPLICATES = 1;
local $Params::Check::SANITY_CHECK_TEMPLATE = 0;
check( $tmpl, \%hash ) or return;
};
@@ -167,15 +167,15 @@ CPANPLUS::Internals::Source::SQLite - SQLite implementation
$dbh->commit or error( $dbh->error ); # commit previous transaction
$dbh->begin_work or error( $dbh->error ); # and start a new one
}
-
- $dbh->query(
+
+ $dbh->query(
"INSERT INTO author (". join(',',keys(%$href)) .") VALUES ($ph)",
values %$href
) or do {
error( $dbh->error );
return;
};
-
+
return 1;
}
}
@@ -183,13 +183,13 @@ CPANPLUS::Internals::Source::SQLite - SQLite implementation
{ my $txn_count = 0;
### XXX move this outside the sub, so we only compute it once
- my $class;
+ my $class;
my @keys = qw[ module version path comment author package description dslip mtime ];
my $tmpl = {
class => { default => 'CPANPLUS::Module', store => \$class },
map { $_ => { required => 1 } } @keys
};
-
+
### dbix::simple's expansion of (??) is REALLY expensive, so do it manually
my $ph = join ',', map { '?' } @keys;
@@ -197,13 +197,13 @@ CPANPLUS::Internals::Source::SQLite - SQLite implementation
my $self = shift;
my %hash = @_;
my $dbh = $self->__sqlite_dbh;
-
+
my $href = do {
local $Params::Check::NO_DUPLICATES = 1;
local $Params::Check::SANITY_CHECK_TEMPLATE = 0;
check( $tmpl, \%hash ) or return;
};
-
+
### fix up author to be 'plain' string
$href->{'author'} = $href->{'author'}->cpanid;
@@ -213,35 +213,35 @@ CPANPLUS::Internals::Source::SQLite - SQLite implementation
$dbh->commit or error( $dbh->error ); # commit previous transaction
$dbh->begin_work or error( $dbh->error ); # and start a new one
}
-
- $dbh->query(
- "INSERT INTO module (". join(',',keys(%$href)) .") VALUES ($ph)",
+
+ $dbh->query(
+ "INSERT INTO module (". join(',',keys(%$href)) .") VALUES ($ph)",
values %$href
) or do {
error( $dbh->error );
return;
};
-
+
return 1;
}
}
{ my %map = (
- _source_search_module_tree
+ _source_search_module_tree
=> [ module => module => 'CPANPLUS::Module' ],
- _source_search_author_tree
+ _source_search_author_tree
=> [ author => cpanid => 'CPANPLUS::Module::Author' ],
- );
+ );
while( my($sub, $aref) = each %map ) {
no strict 'refs';
-
+
my($table, $key, $class) = @$aref;
*$sub = sub {
my $self = shift;
my %hash = @_;
my $dbh = $self->__sqlite_dbh;
-
+
my($list,$type);
my $tmpl = {
allow => { required => 1, default => [ ], strict_type => 1,
@@ -249,19 +249,19 @@ CPANPLUS::Internals::Source::SQLite - SQLite implementation
type => { required => 1, allow => [$class->accessors()],
store => \$type },
};
-
+
check( $tmpl, \%hash ) or return;
-
-
+
+
### we aliased 'module' to 'name', so change that here too
$type = 'module' if $type eq 'name';
-
+
my $res = $dbh->query( "SELECT * from $table" );
-
+
my $meth = $table .'_tree';
- my @rv = map { $self->$meth( $_->{$key} ) }
+ my @rv = map { $self->$meth( $_->{$key} ) }
grep { allow( $_->{$type} => $list ) } $res->hashes;
-
+
return @rv;
}
}
@@ -272,29 +272,29 @@ CPANPLUS::Internals::Source::SQLite - SQLite implementation
sub __sqlite_create_db {
my $self = shift;
my $dbh = $self->__sqlite_dbh;
-
+
### we can ignore the result/error; not all sqlite implementations
- ### support this
+ ### support this
$dbh->query( qq[
DROP TABLE IF EXISTS author;
\n]
) or do {
msg( $dbh->error );
- };
+ };
$dbh->query( qq[
DROP TABLE IF EXISTS module;
\n]
) or do {
msg( $dbh->error );
- };
+ };
+
-
$dbh->query( qq[
/* the author information */
CREATE TABLE author (
id INTEGER PRIMARY KEY AUTOINCREMENT,
-
+
author varchar(255),
email varchar(255),
cpanid varchar(255)
@@ -310,7 +310,7 @@ sub __sqlite_create_db {
/* the module information */
CREATE TABLE module (
id INTEGER PRIMARY KEY AUTOINCREMENT,
-
+
module varchar(255),
version varchar(255),
path varchar(255),
@@ -321,13 +321,13 @@ sub __sqlite_create_db {
dslip varchar(255),
mtime varchar(255)
);
-
+
\n]
) or do {
error( $dbh->error );
return;
- };
+ };
$dbh->query( qq[
/* the module index */
@@ -368,7 +368,7 @@ sub __sqlite_create_db {
return;
};
- return 1;
+ return 1;
}
1;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm
index f908c9803e4..7208e00ee11 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm
@@ -26,7 +26,7 @@ push @ISA, 'Tie::StdHash';
sub TIEHASH {
my $class = shift;
my %hash = @_;
-
+
my $tmpl = {
dbh => { required => 1 },
table => { required => 1 },
@@ -34,12 +34,12 @@ sub TIEHASH {
cb => { required => 1 },
offset => { default => 0 },
};
-
+
my $args = check( $tmpl, \%hash ) or return;
my $obj = bless { %$args, store => {} } , $class;
return $obj;
-}
+}
sub FETCH {
my $self = shift;
@@ -47,28 +47,28 @@ sub FETCH {
my $dbh = $self->{dbh};
my $cb = $self->{cb};
my $table = $self->{table};
-
-
+
+
### did we look this one up before?
if( my $obj = $self->{store}->{$key} ) {
return $obj;
}
-
+
my $res = $dbh->query(
"SELECT * from $table where $self->{key} = ?", $key
) or do {
error( $dbh->error );
return;
};
-
+
my $href = $res->hash;
-
+
### get rid of the primary key
delete $href->{'id'};
-
+
### no results?
return unless keys %$href;
-
+
### expand author if needed
### XXX no longer generic :(
if( $table eq 'module' ) {
@@ -80,16 +80,16 @@ sub FETCH {
author => 'CPANPLUS::Module::Author',
}->{ $table };
- my $obj = $self->{store}->{$key} = $class->new( %$href, _id => $cb->_id );
-
+ my $obj = $self->{store}->{$key} = $class->new( %$href, _id => $cb->_id );
+
return $obj;
}
-sub STORE {
+sub STORE {
my $self = shift;
my $key = shift;
my $val = shift;
-
+
$self->{store}->{$key} = $val;
}
@@ -104,7 +104,7 @@ sub FIRSTKEY {
);
$self->{offset} = 0;
-
+
my $key = $res->flat->[0];
return $key;
@@ -130,7 +130,7 @@ sub NEXTKEY {
sub EXISTS { !!$_[0]->FETCH( $_[1] ) }
-sub SCALAR {
+sub SCALAR {
my $self = shift;
my $dbh = $self->{'dbh'};
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Utils.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Utils.pm
index 31abaffed4d..e9651ed45fd 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Utils.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Internals/Utils.pm
@@ -10,6 +10,7 @@ use File::Copy;
use Params::Check qw[check];
use Module::Load::Conditional qw[can_load];
use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
+use version;
local $Params::Check::VERBOSE = 1;
@@ -17,7 +18,7 @@ local $Params::Check::VERBOSE = 1;
=head1 NAME
-CPANPLUS::Internals::Utils
+CPANPLUS::Internals::Utils - convenience functions for CPANPLUS
=head1 SYNOPSIS
@@ -59,7 +60,7 @@ sub _mkdir {
my $args = check( $tmpl, \%hash ) or (
error(loc( Params::Check->last_error ) ), return
- );
+ );
unless( can_load( modules => { 'File::Path' => 0.0 } ) ) {
error( loc("Could not use File::Path! This module should be core!") );
@@ -162,20 +163,20 @@ sub _perl_version {
};
check( $tmpl, \%hash ) or return;
-
+
my $perl_version;
### special perl, or the one we are running under?
if( $perl eq $^X ) {
- ### just load the config
+ ### just load the config
require Config;
$perl_version = $Config::Config{version};
-
+
} else {
my $cmd = $perl .
' -MConfig -eprint+Config::config_vars+version';
($perl_version) = (`$cmd` =~ /version='(.*)'/);
}
-
+
return $perl_version if defined $perl_version;
return;
}
@@ -199,7 +200,11 @@ sub _version_to_number {
check( $tmpl, \%hash ) or return;
- return $version if $version =~ /^\.?\d/;
+ $version =~ s!_!!g; # *sigh*
+ return $version if $version =~ /^\d*(?:\.\d+)?$/;
+ if ( my ($vers) = $version =~ /^(v?\d+(?:\.\d+(?:\.\d+)?)?)/ ) {
+ return eval { version->parse($vers)->numify };
+ }
return '0.0';
}
@@ -282,7 +287,7 @@ Returns true on success, false on failure.
sub _copy {
my $self = shift;
my %hash = @_;
-
+
my($from,$to);
my $tmpl = {
file =>{ required => 1, allow => [IS_FILE,IS_DIR],
@@ -311,28 +316,28 @@ Returns true on success, false on failure.
sub _mode_plus_w {
my $self = shift;
my %hash = @_;
-
+
require File::stat;
-
+
my $file;
my $tmpl = {
file => { required => 1, allow => IS_FILE, store => \$file },
};
-
+
check( $tmpl, \%hash ) or return;
-
+
### set the mode to +w for a file and +wx for a dir
my $x = File::stat::stat( $file );
my $mask = -d $file ? 0100 : 0200;
-
+
if( $x and chmod( $x->mode|$mask, $file ) ) {
return 1;
- } else {
+ } else {
error(loc("Failed to '%1' '%2': '%3'", 'chmod +w', $file, $!));
return;
}
-}
+}
=head2 $uri = $cb->_host_to_uri( scheme => SCHEME, host => HOST, path => PATH );
@@ -345,23 +350,23 @@ Returns the uri on success, and false on failure
sub _host_to_uri {
my $self = shift;
my %hash = @_;
-
+
my($scheme, $host, $path);
my $tmpl = {
scheme => { required => 1, store => \$scheme },
host => { default => 'localhost', store => \$host },
path => { default => '', store => \$path },
- };
+ };
check( $tmpl, \%hash ) or return;
### it's an URI, so unixify the path.
### VMS has a special method for just that
$path = ON_VMS
- ? VMS::Filespec::unixify($path)
+ ? VMS::Filespec::unixify($path)
: File::Spec::Unix->catdir( File::Spec->splitdir( $path ) );
- return "$scheme://" . File::Spec::Unix->catdir( $host, $path );
+ return "$scheme://" . File::Spec::Unix->catdir( $host, $path );
}
=head2 $cb->_vcmp( VERSION, VERSION );
@@ -373,8 +378,9 @@ Normalizes the versions passed and does a '<=>' on them, returning the result.
sub _vcmp {
my $self = shift;
my ($x, $y) = @_;
-
- s/_//g foreach $x, $y;
+
+ $x = $self->_version_to_number(version => $x);
+ $y = $self->_version_to_number(version => $y);
return $x <=> $y;
}
@@ -399,7 +405,7 @@ sub _home_dir {
=head2 $path = $cb->_safe_path( path => $path );
-Returns a path that's safe to us on Win32 and VMS.
+Returns a path that's safe to us on Win32 and VMS.
Only cleans up the path on Win32 if the path exists.
@@ -409,36 +415,36 @@ On VMS, it encodes dots to _ using C<VMS::Filespec::vmsify>
sub _safe_path {
my $self = shift;
-
+
my %hash = @_;
-
+
my $path;
my $tmpl = {
path => { required => 1, store => \$path },
- };
+ };
check( $tmpl, \%hash ) or return;
-
+
if( ON_WIN32 ) {
- ### only need to fix it up if there's spaces in the path
+ ### only need to fix it up if there's spaces in the path
return $path unless $path =~ /\s+/;
-
+
### clean up paths if we are on win32
return Win32::GetShortPathName( $path ) || $path;
} elsif ( ON_VMS ) {
### XXX According to John Malmberg, there's an VMS issue:
### catdir on VMS can not currently deal with directory components
- ### with dots in them.
- ### Fixing this is a a three step procedure, which will work for
- ### VMS in its traditional ODS-2 mode, and it will also work if
+ ### with dots in them.
+ ### Fixing this is a a three step procedure, which will work for
+ ### VMS in its traditional ODS-2 mode, and it will also work if
### VMS is in the ODS-5 mode that is being implemented.
### If the path is already in VMS syntax, assume that we are done.
-
+
### VMS format is a path with a trailing ']' or ':'
return $path if $path =~ /\:|\]$/;
- ### 1. Make sure that the value to be converted, $path is
+ ### 1. Make sure that the value to be converted, $path is
### in UNIX directory syntax by appending a '/' to it.
$path .= '/' unless $path =~ m|/$|;
@@ -448,17 +454,17 @@ sub _safe_path {
### filename translation, as filename translation leaves one dot.
$path = VMS::Filespec::vmsify( $path );
- ### 3. Use $path = File::Spec->splitdir( VMS::Filespec::vmsify(
+ ### 3. Use $path = File::Spec->splitdir( VMS::Filespec::vmsify(
### $path . '/') to remove the directory delimiters.
### From John Malmberg:
### File::Spec->catdir will put the path back together.
- ### The '/' trick only works if the string is a directory name
- ### with UNIX style directory delimiters or no directory delimiters.
+ ### The '/' trick only works if the string is a directory name
+ ### with UNIX style directory delimiters or no directory delimiters.
### It is to force vmsify to treat the input specification as UNIX.
###
### There is a VMS::Filespec::unixpath() to do the appending of the '/'
- ### to the specification, which will do a VMS::Filespec::vmsify()
+ ### to the specification, which will do a VMS::Filespec::vmsify()
### if needed.
### However it is not a good idea to call vmsify() on a pathname
### returned by unixify(), and it is not a good idea to call unixify()
@@ -469,14 +475,14 @@ sub _safe_path {
### trip, but not ones containing filenames.
$path = File::Spec->catdir( File::Spec->splitdir( $path ) )
}
-
+
return $path;
}
=head2 ($pkg, $version, $ext) = $cb->_split_package_string( package => PACKAGE_STRING );
-Splits the name of a CPAN package string up into its package, version
+Splits the name of a CPAN package string up into its package, version
and extension parts.
For example, C<Foo-Bar-1.2.tar.gz> would return the following parts:
@@ -488,27 +494,27 @@ For example, C<Foo-Bar-1.2.tar.gz> would return the following parts:
=cut
{ my $del_re = qr/[-_\+]/i; # delimiter between elements
- my $pkg_re = qr/[a-z] # any letters followed by
+ my $pkg_re = qr/[a-z] # any letters followed by
[a-z\d]* # any letters, numbers
(?i:\.pm)? # followed by '.pm'--authors do this :(
(?: # optionally repeating:
$del_re # followed by a delimiter
- [a-z] # any letters followed by
- [a-z\d]* # any letters, numbers
+ [a-z] # any letters followed by
+ [a-z\d]* # any letters, numbers
(?i:\.pm)? # followed by '.pm'--authors do this :(
)*
- /xi;
-
+ /xi;
+
my $ver_re = qr/[a-z]*\d*?[a-z]* # contains a digit and possibly letters
(?: # however, some start with a . only :(
[-._] # followed by a delimiter
[a-z\d]+ # and more digits and or letters
)*?
/xi;
-
+
my $ext_re = qr/[a-z] # a letter, followed by
[a-z\d]* # letters and or digits, optionally
- (?:
+ (?:
\. # followed by a dot and letters
[a-z\d]+ # and or digits (like .tar.bz2)
)? # optionally
@@ -521,20 +527,20 @@ For example, C<Foo-Bar-1.2.tar.gz> would return the following parts:
($ext_re) # extension,
)? # optional, but requires version
/xi;
-
+
### composed regex for CPAN packages
my $full_re = qr/
^
( # the whole thing
($pkg_re+) # package
- (?:
+ (?:
$del_re # delimiter
$ver_ext_re # version + extension
)?
)
- $
+ $
/xi;
-
+
### composed regex for perl packages
my $perl = PERL_CORE;
my $perl_re = qr/
@@ -546,97 +552,97 @@ For example, C<Foo-Bar-1.2.tar.gz> would return the following parts:
)?
)
$
- /xi;
+ /xi;
sub _split_package_string {
my $self = shift;
my %hash = @_;
-
+
my $str;
my $tmpl = { package => { required => 1, store => \$str } };
check( $tmpl, \%hash ) or return;
-
-
- ### 2 different regexes, one for the 'perl' package,
- ### one for ordinary CPAN packages.. try them both,
+
+
+ ### 2 different regexes, one for the 'perl' package,
+ ### one for ordinary CPAN packages.. try them both,
### first match wins.
for my $re ( $full_re, $perl_re ) {
-
+
### try the next if the match fails
$str =~ $re or next;
my $full = $1 || '';
- my $pkg = $2 || '';
+ my $pkg = $2 || '';
my $ver = $3 || '';
my $ext = $4 || '';
### this regex resets the capture markers!
### strip the trailing delimiter
$pkg =~ s/$del_re$//;
-
+
### strip the .pm package suffix some authors insist on adding
$pkg =~ s/\.pm$//i;
return ($pkg, $ver, $ext, $full );
}
-
+
return;
}
}
{ my %escapes = map {
chr($_) => sprintf("%%%02X", $_)
- } 0 .. 255;
-
+ } 0 .. 255;
+
sub _uri_encode {
my $self = shift;
my %hash = @_;
-
+
my $str;
my $tmpl = {
uri => { store => \$str, required => 1 }
};
-
+
check( $tmpl, \%hash ) or return;
### XXX taken straight from URI::Encode
### Default unsafe characters. RFC 2732 ^(uric - reserved)
$str =~ s|([^A-Za-z0-9\-_.!~*'()])|$escapes{$1}|g;
-
- return $str;
+
+ return $str;
}
-
-
+
+
sub _uri_decode {
my $self = shift;
my %hash = @_;
-
+
my $str;
my $tmpl = {
uri => { store => \$str, required => 1 }
};
-
+
check( $tmpl, \%hash ) or return;
-
+
### XXX use unencode routine in utils?
- $str =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg;
-
- return $str;
+ $str =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg;
+
+ return $str;
}
}
sub _update_timestamp {
my $self = shift;
my %hash = @_;
-
+
my $file;
my $tmpl = {
file => { required => 1, store => \$file, allow => FILE_EXISTS }
};
-
+
check( $tmpl, \%hash ) or return;
-
+
### `touch` the file, so windoze knows it's new -jmb
### works on *nix too, good fix -Kane
### make sure it is writable first, otherwise the `touch` will fail
@@ -646,7 +652,7 @@ sub _update_timestamp {
error( loc("Couldn't touch %1", $file) );
return;
}
-
+
return 1;
}
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Module.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Module.pm
index 8d237efc050..4d470c6a71c 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Module.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Module.pm
@@ -27,7 +27,7 @@ $Params::Check::VERBOSE = 1;
=head1 NAME
-CPANPLUS::Module
+CPANPLUS::Module - CPAN module objects for CPANPLUS
=head1 SYNOPSIS
@@ -87,9 +87,9 @@ my $tmpl = {
### autogenerate accessors ###
for my $key ( keys %$tmpl ) {
no strict 'refs';
-
+
my $sub = $rename{$key} || $key;
-
+
*{__PACKAGE__."::$sub"} = sub {
$_[0]->{$key} = $_[1] if @_ > 1;
return $_[0]->{$key};
@@ -153,7 +153,7 @@ module -- again, only registered modules have this.
=cut
sub dslip {
- my $self = shift;
+ my $self = shift;
### if this module has relevant dslip info, return it
return $self->_dslip if $self->_dslip ne EMPTY_DSLIP;
@@ -163,7 +163,7 @@ sub dslip {
for my $mod ( $self->contains ) {
return $mod->_dslip if $mod->_dslip ne EMPTY_DSLIP;
}
-
+
### ok, really no dslip info found, return the default
return EMPTY_DSLIP;
}
@@ -334,7 +334,7 @@ sub new {
sub status {
my $self = shift;
return $self->_status if $self->_status;
-
+
my $acc = Object::Accessor->new;
$acc->mk_accessors( qw[ installer_type dist_cpan dist prereqs
signature extract fetch readme uninstall
@@ -395,19 +395,19 @@ with C<Bundle::>.
=head2 $mod->is_autobundle;
Returns a boolean indicating if the module you are looking at, is
-actually an autobundle as generated by C<< $cb->autobundle >>.
+actually an autobundle as generated by C<< $cb->autobundle >>.
=head2 $mod->is_third_party
-Returns a boolean indicating whether the package is a known third-party
-module (i.e. it's not provided by the standard Perl distribution and
+Returns a boolean indicating whether the package is a known third-party
+module (i.e. it's not provided by the standard Perl distribution and
is not available on the CPAN, but on a third party software provider).
See L<Module::ThirdParty> for more details.
=head2 $mod->third_party_information
Returns a reference to a hash with more information about a third-party
-module. See the documentation about C<module_information()> in
+module. See the documentation about C<module_information()> in
L<Module::ThirdParty> for more details.
=cut
@@ -417,22 +417,22 @@ L<Module::ThirdParty> for more details.
name => 0,
version => 1,
extension => 2,
- );
-
+ );
+
while ( my($type, $index) = each %map ) {
my $name = 'package_' . $type;
-
+
no strict 'refs';
*$name = sub {
my $self = shift;
my $val = shift || $self->package;
my @res = $self->parent->_split_package_string( package => $val );
-
+
### return the corresponding index from the result
return $res[$index] if @res;
return;
};
- }
+ }
sub package_is_perl_core {
my $self = shift;
@@ -441,8 +441,8 @@ L<Module::ThirdParty> for more details.
### check if the package looks like a perl core package
return 1 if $self->package_name eq PERL_CORE;
- ### address #44562: ::Module->package_is_perl_code : problem comparing
- ### version strings -- use $cb->_vcmp to avoid warnings when version
+ ### address #44562: ::Module->package_is_perl_code : problem comparing
+ ### version strings -- use $cb->_vcmp to avoid warnings when version
### have _ in them
my $core = $self->module_is_supplied_with_perl_core;
@@ -450,10 +450,10 @@ L<Module::ThirdParty> for more details.
if (defined $core) {
### if the package is newer than installed, then it's dual-lifed
return if $cb->_vcmp($self->version, $self->installed_version) > 0;
-
- ### if the package is newer or equal to the corelist,
+
+ ### if the package is newer or equal to the corelist,
### then it's dual-lifed
- return if $cb->_vcmp( $self->version, $core ) >= 0;
+ return if $cb->_vcmp( $self->version, $core ) >= 0;
### otherwise, it's older than corelist, thus unsuitable.
return 1;
@@ -475,9 +475,9 @@ L<Module::ThirdParty> for more details.
### check Module::CoreList to see if it's a core package
require Module::CoreList;
-
- ### Address #41157: Module::module_is_supplied_with_perl_core()
- ### broken for perl 5.10: Module::CoreList's version key for the
+
+ ### Address #41157: Module::module_is_supplied_with_perl_core()
+ ### broken for perl 5.10: Module::CoreList's version key for the
### hash has a different number of trailing zero than $] aka
### $PERL_VERSION.
@@ -493,13 +493,13 @@ L<Module::ThirdParty> for more details.
### make sure Bundle-Foo also gets flagged as bundle
sub is_bundle {
my $self = shift;
-
+
### cpan'd bundle
return 1 if $self->module =~ /^bundle(?:-|::)/i;
-
+
### autobundle
return 1 if $self->is_autobundle;
-
+
### neither
return;
}
@@ -516,16 +516,16 @@ L<Module::ThirdParty> for more details.
sub is_third_party {
my $self = shift;
-
+
return unless can_load( modules => { 'Module::ThirdParty' => 0 } );
-
+
return Module::ThirdParty::is_3rd_party( $self->name );
}
sub third_party_information {
my $self = shift;
- return unless $self->is_third_party;
+ return unless $self->is_third_party;
return Module::ThirdParty::module_information( $self->name );
}
@@ -543,15 +543,15 @@ a fake C<CPANPLUS::Module::Author> object.
{ ### accessors dont change during run time, so only compute once
my @acc = grep !/status/, __PACKAGE__->accessors();
-
+
sub clone {
my $self = shift;
-
+
### clone the object ###
my %data = map { $_ => $self->$_ } @acc;
-
+
my $obj = CPANPLUS::Module::Fake->new( %data );
-
+
return $obj;
}
}
@@ -574,13 +574,13 @@ sub fetch {
my %args = ( module => $self );
### if a custom fetch location got specified before, add that here
- $args{fetch_from} = $self->status->_fetch_from
+ $args{fetch_from} = $self->status->_fetch_from
if $self->status->_fetch_from;
my $where = $cb->_fetch( @_, %args ) or return;
### do an md5 check ###
- if( !$self->status->_fetch_from and
+ if( !$self->status->_fetch_from and
$cb->configure_object->get_conf('md5') and
$self->package ne CHECKSUMS
) {
@@ -613,16 +613,16 @@ sub extract {
$self->module) );
return;
}
-
+
### can't extract these, so just use the basedir for the file
if( $self->is_autobundle ) {
-
+
### this is expected to be set after an extract call
$self->get_installer_type;
-
+
return $self->status->extract( dirname( $self->status->fetch ) );
}
-
+
return $cb->_extract( @_, module => $self );
}
@@ -649,16 +649,16 @@ sub get_installer_type {
prefer_makefile => { default => $conf->get_conf('prefer_makefile'),
store => \$prefer_makefile, allow => BOOLEANS },
verbose => { default => $conf->get_conf('verbose'),
- store => \$verbose },
+ store => \$verbose },
};
check( $tmpl, \%hash ) or return;
my $type;
-
+
### autobundles use their own installer, so return that
if( $self->is_autobundle ) {
- $type = INSTALLER_AUTOBUNDLE;
+ $type = INSTALLER_AUTOBUNDLE;
} else {
my $extract = $self->status->extract();
@@ -669,15 +669,18 @@ sub get_installer_type {
));
return;
}
-
+
### check if it's a makemaker or a module::build type dist ###
my $found_build = -e BUILD_PL->( $extract );
my $found_makefile = -e MAKEFILE_PL->( $extract );
-
+
$type = INSTALLER_BUILD if !$prefer_makefile && $found_build;
$type = INSTALLER_BUILD if $found_build && !$found_makefile;
$type = INSTALLER_MM if $prefer_makefile && $found_makefile;
$type = INSTALLER_MM if $found_makefile && !$found_build;
+ # Special case Module::Build to always use INSTALLER_MM
+ $type = INSTALLER_MM if $self->package =~ m{^Module-Build-\d};
+
}
### ok, so it's a 'build' installer, but you don't /have/ module build
@@ -685,22 +688,22 @@ sub get_installer_type {
if( $type and $type eq INSTALLER_BUILD and (
not CPANPLUS::Dist->has_dist_type( INSTALLER_BUILD )
or not $cb->module_tree( INSTALLER_BUILD )
- ->is_uptodate( version => '0.24' )
+ ->is_uptodate( version => '0.60' )
) ) {
-
+
### XXX this is for recording purposes only. We *have* to install
### these before even creating a dist object, or we'll get an error
### saying 'no such dist type';
### XXX duplicated from CPANPLUS::Selfupdate. fix somehow?
my $href = $self->status->configure_requires || {};
- my $deps = { INSTALLER_BUILD, '0.24', %$href };
-
+ my $deps = { INSTALLER_BUILD, '0.60', %$href };
+
$self->status->configure_requires( $deps );
-
+
msg(loc("This module requires '%1' and '%2' to be installed first. ".
"Adding these modules to your prerequisites list",
'Module::Build', INSTALLER_BUILD
- ), $verbose );
+ ), $verbose );
### ok, actually we found neither ###
@@ -747,7 +750,7 @@ sub dist {
format => { default => $conf->get_conf('dist_type') ||
$self->status->installer_type,
store => \$type },
- target => { default => TARGET_CREATE, store => \$target },
+ target => { default => TARGET_CREATE, store => \$target },
args => { default => {}, store => \$args },
};
@@ -761,20 +764,20 @@ sub dist {
### XXX we _could_ do this for any type we dont have actually...
if( $type eq INSTALLER_BUILD ) {
msg(loc("Bootstrapping installer '%1'", $type));
-
+
### don't propagate the format, it's the one we're trying to
### bootstrap, so it'll be an infinite loop if we do
-
+
$cb->module_tree( $type )->install( target => $target, %$args ) or
do {
error(loc("Could not bootstrap installer '%1' -- ".
"can not continue", $type));
- return;
+ return;
};
-
+
### re-scan for available modules now
CPANPLUS::Dist->rescan_dist_types;
-
+
unless( CPANPLUS::Dist->has_dist_type( $type ) ) {
error(loc("Newly installed installer type '%1' should be ".
"available, but is not! -- aborting", $type));
@@ -782,40 +785,40 @@ sub dist {
} else {
msg(loc("Installer '%1' successfully bootstrapped", $type));
}
-
+
### some other plugin you dont have. Abort
} else {
error(loc("Installer type '%1' not found. Please verify your ".
"installation -- aborting", $type ));
return;
- }
+ }
}
- ### make sure we don't overwrite it, just in case we came
+ ### make sure we don't overwrite it, just in case we came
### back from a ->save_state. This allows restoration to
- ### work correctly
+ ### work correctly
my( $dist, $dist_cpan );
-
+
unless( $dist = $self->status->dist ) {
$dist = $type->new( module => $self ) or return;
$self->status->dist( $dist );
}
-
+
unless( $dist_cpan = $self->status->dist_cpan ) {
-
+
$dist_cpan = $type eq $self->status->installer_type
? $self->status->dist
- : $self->status->installer_type->new( module => $self );
+ : $self->status->installer_type->new( module => $self );
$self->status->dist_cpan( $dist_cpan );
}
-
-
+
+
DIST: {
### just wanted the $dist object?
last DIST if $target eq TARGET_INIT;
-
+
### first prepare the dist
$dist->prepare( %$args ) or return;
$self->status->prepared(1);
@@ -834,7 +837,7 @@ sub dist {
=head2 $bool = $mod->prepare( )
-Convenience method around C<install()> that prepares a module
+Convenience method around C<install()> that prepares a module
without actually building it. This is equivalent to invoking C<install>
with C<target> set to C<prepare>
@@ -842,22 +845,22 @@ Returns true on success, false on failure.
=cut
-sub prepare {
+sub prepare {
my $self = shift;
return $self->install( @_, target => TARGET_PREPARE );
}
=head2 $bool = $mod->create( )
-Convenience method around C<install()> that creates a module.
-This is equivalent to invoking C<install> with C<target> set to
+Convenience method around C<install()> that creates a module.
+This is equivalent to invoking C<install> with C<target> set to
C<create>
Returns true on success, false on failure.
=cut
-sub create {
+sub create {
my $self = shift;
return $self->install( @_, target => TARGET_CREATE );
}
@@ -923,7 +926,7 @@ sub install {
}
- ### if this target isn't 'install', we will need to at least 'create'
+ ### if this target isn't 'install', we will need to at least 'create'
### every prereq, so it can build
### XXX prereq_target of 'prepare' will do weird things here, and is
### not supported.
@@ -964,7 +967,7 @@ sub install {
$self->version, $self->package ) );
}
return;
-
+
### it might be a known 3rd party module
} elsif ( $self->is_third_party ) {
my $info = $self->third_party_information;
@@ -978,7 +981,7 @@ sub install {
$self->name, $self->name, $info->{name}, $info->{author},
$info->{url}
));
-
+
return;
}
@@ -1028,10 +1031,10 @@ sub install {
"-- Not trusting this module, aborting install",
$self->module ) );
$self->status->signature(0);
-
+
### send out test report on broken sig
if( $conf->get_conf('cpantest') ) {
- $cb->_send_report(
+ $cb->_send_report(
module => $self,
failed => 1,
buffer => CPANPLUS::Error->stack_as_string,
@@ -1039,8 +1042,8 @@ sub install {
force => $args->{force},
) or error(loc("Failed to send test report for '%1'",
$self->module ) );
- }
-
+ }
+
return;
} else {
@@ -1065,8 +1068,8 @@ sub install {
}
}
- my $dist = $self->dist( format => $format,
- target => $target,
+ my $dist = $self->dist( format => $format,
+ target => $target,
args => $args );
unless( $dist ) {
error( loc( "Unable to create a new distribution object for '%1' " .
@@ -1105,7 +1108,7 @@ sub bundle_modules {
}
my @files;
-
+
### autobundles are special files generated by CPANPLUS. If we can
### read the file, we can determine the prereqs
if( $self->is_autobundle ) {
@@ -1114,11 +1117,11 @@ sub bundle_modules {
error(loc("Don't know where '%1' was fetched to", $self->package));
return;
}
-
+
push @files, $where
-
+
### regular bundle::* upload
- } else {
+ } else {
my $dir;
unless( $dir = $self->status->extract ) {
error(loc("Don't know where '%1' was extracted to", $self->module));
@@ -1188,7 +1191,7 @@ success and returns false on failure.
sub readme {
my $self = shift;
- my $conf = $self->parent->configure_object;
+ my $conf = $self->parent->configure_object;
### did we already dl the readme once? ###
return $self->status->readme() if $self->status->readme();
@@ -1207,10 +1210,10 @@ sub readme {
my $file;
{ ### disable checksum fetches on readme downloads
-
+
my $tmp = $conf->get_conf( 'md5' );
$conf->set_conf( md5 => 0 );
-
+
$file = $obj->fetch;
$conf->set_conf( md5 => $tmp );
@@ -1275,7 +1278,7 @@ Returns a boolean indicating if this module is uptodate or not.
#local @INC = CPANPLUS::inc->original_inc;
my $self = shift;
-
+
### make sure check_install is not looking in %INC, as
### that may contain some of our sneakily loaded modules
### that aren't installed as such. -- kane
@@ -1288,6 +1291,10 @@ Returns a boolean indicating if this module is uptodate or not.
@_,
);
+ ### Don't trust modules which are the result of @INC hooks
+ ### FatPacker uses this trickery and it causes WTF moments
+ return $alt_rv if defined $href->{dir} && ref $href->{dir};
+
return $href->{$key} || $alt_rv;
}
}
@@ -1349,7 +1356,7 @@ sub details {
=head2 @list = $self->contains()
-Returns a list of module objects that represent the modules also
+Returns a list of module objects that represent the modules also
present in the package of this module.
For example, for C<Archive::Tar> this might return:
@@ -1366,7 +1373,7 @@ sub contains {
my $pkg = $self->package;
my @mods = $cb->search( type => 'package', allow => [qr/^$pkg$/] );
-
+
return @mods;
}
@@ -1491,10 +1498,10 @@ sub uninstall {
# error( loc( "Could not remove '%1': %2", $dir, $! ) )
# unless $^O eq 'MSWin32';
#}
-
+
my @cmd = ($^X, "-e", "rmdir q[$dir]");
unshift @cmd, $sudo if $sudo;
-
+
my $buffer;
unless ( run( command => \@cmd,
verbose => $verbose,
@@ -1619,19 +1626,19 @@ sub _extutils_installed {
my @libs;
for my $lib ( @{ $conf->get_conf('lib') } ) {
require Config;
-
+
### and just the standard dir
push @libs, $lib;
-
+
### figure out what an MM prefix expands to. Basically, it's the
- ### site install target from %Config, ie: /opt/lib/perl5/site_perl/5.8.8
+ ### site install target from %Config, ie: /opt/lib/perl5/site_perl/5.8.8
### minus the site wide prefix, ie: /opt
### this lets users add the dir they have set as their EU::MM PREFIX
### to our 'lib' config and it Just Works
### the arch specific dir, ie:
- ### /opt/lib/perl5/site_perl/5.8.8/darwin-2level
+ ### /opt/lib/perl5/site_perl/5.8.8/darwin-2level
### XXX is this the right thing to do?
-
+
### we add all 6 dir combos for prefixes:
### /foo/lib
### /foo/lib/arch
@@ -1641,7 +1648,7 @@ sub _extutils_installed {
### /foo/vendor/lib/arch
for my $href ( @config_names ) {
for my $key ( qw[lib arch] ) {
-
+
### look up the config value -- use EXP for the EXPANDED
### version, so no ~ etc are found in there
my $dir = $Config::Config{ $href->{ $key } .'exp' } or next;
@@ -1653,15 +1660,15 @@ sub _extutils_installed {
### remove the prefix from it, so we can append to our $lib
$dir =~ s/^\Q$prefix\E//;
-
+
### do the appending
push @libs, File::Spec->catdir( $lib, $dir );
-
+
}
}
- }
+ }
- my $inst;
+ my $inst;
unless( $inst = ExtUtils::Installed->new( extra_libs => \@libs ) ) {
error( loc("Could not create an '%1' object", 'ExtUtils::Installed' ) );
@@ -1694,15 +1701,15 @@ You can reset C<@INC> and C<$PERL5LIB> to its original state when you
started the program, by calling:
$self->parent->flush('lib');
-
+
=cut
sub add_to_includepath {
my $self = shift;
my $cb = $self->parent;
-
+
if( my $dir = $self->status->extract ) {
-
+
$cb->_add_to_includepath(
directories => [
File::Spec->catdir(BLIB->($dir), LIB),
@@ -1710,7 +1717,7 @@ sub add_to_includepath {
BLIB->($dir),
]
) or return;
-
+
} else {
error(loc( "No extract dir registered for '%1' -- can not add ".
"add builddir to search path!", $self->module ));
@@ -1769,7 +1776,7 @@ sub best_path_to_module_build {
# CPANPLUS::inc->path_to('Module::Build') eq
# CPANPLUS::inc->installer_path )
# ) {
-#
+#
# ### if the module being installed is *not* Module::Build
# ### itself -- as that would undoubtedly be newer -- add
# ### the path to the installers to @INC
@@ -1798,10 +1805,10 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-The CPAN++ interface (of which this module is a part of) is copyright (c)
+The CPAN++ interface (of which this module is a part of) is copyright (c)
2001 - 2007, Jos Boumans E<lt>kane@cpan.orgE<gt>. All rights reserved.
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=cut
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author.pm
index 0daac6716d7..9ce12ebfde2 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author.pm
@@ -13,7 +13,7 @@ local $Params::Check::VERBOSE = 1;
=head1 NAME
-CPANPLUS::Module::Author
+CPANPLUS::Module::Author - CPAN author object for CPANPLUS
=head1 SYNOPSIS
@@ -195,7 +195,7 @@ sub distributions {
my $dist = CPANPLUS::Module::Fake->new(
module => do { my $m = $mod->package_name( $name );
$m =~ s/-/::/g; $m;
- },
+ },
version => $mod->package_version( $name ),
package => $name,
path => $mod->path, # same author after all
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author/Fake.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author/Fake.pm
index 3156c5c7abb..0c844714981 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author/Fake.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Author/Fake.pm
@@ -17,7 +17,7 @@ $Params::Check::VERBOSE = 1;
=head1 NAME
-CPANPLUS::Module::Author::Fake
+CPANPLUS::Module::Author::Fake - dummy author object for CPANPLUS
=head1 SYNOPSIS
@@ -63,7 +63,7 @@ sub new {
unless( $obj->_id ) {
error(loc("No '%1' specified -- No CPANPLUS object associated!",'_id'));
return;
- }
+ }
### rebless object ###
return bless $obj, $class;
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm
index 3f9561e2dfe..8dde1cc0554 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm
@@ -19,7 +19,7 @@ $Params::Check::VERBOSE = 1;
=head1 NAME
-CPANPLUS::Module::Checksums
+CPANPLUS::Module::Checksums - checking the checksum of a distribution
=head1 SYNOPSIS
@@ -28,7 +28,7 @@ CPANPLUS::Module::Checksums
=head1 DESCRIPTION
-This is a class that provides functions for checking the checksum
+This is a class that provides functions for checking the checksum
of a distribution. Should not be loaded directly, but used via the
interface provided via C<CPANPLUS::Module>.
@@ -102,7 +102,7 @@ sub _validate_checksum {
} else {
msg(loc("Archive size is not known for '%1'",$self->package),$verbose);
}
-
+
my $sha = $href->{ $self->package }->{'sha256'};
unless( defined $sha ) {
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Fake.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Fake.pm
index 84d0233cf83..b0db1dae109 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Fake.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Fake.pm
@@ -17,7 +17,7 @@ $Params::Check::VERBOSE = 1;
=head1 NAME
-CPANPLUS::Module::Fake
+CPANPLUS::Module::Fake - fake module object for internal use
=head1 SYNOPSIS
@@ -49,9 +49,9 @@ are required.
sub new {
my $class = shift;
my %hash = @_;
-
+
local $Params::Check::ALLOW_UNKNOWN = 1;
-
+
my $tmpl = {
module => { required => 1 },
path => { required => 1 },
@@ -59,22 +59,22 @@ sub new {
_id => { default => CPANPLUS::Internals->_last_id },
author => { default => '' },
};
-
+
my $args = check( $tmpl, \%hash ) or return;
-
- $args->{author} ||= CPANPLUS::Module::Author::Fake->new(
+
+ $args->{author} ||= CPANPLUS::Module::Author::Fake->new(
_id => $args->{_id} );
-
+
my $obj = CPANPLUS::Module->new( %$args ) or return;
-
+
unless( $obj->_id ) {
error(loc("No '%1' specified -- No CPANPLUS object associated!",'_id'));
return;
- }
-
+ }
+
### rebless object ###
- return bless $obj, $class;
-}
+ return bless $obj, $class;
+}
1;
@@ -83,4 +83,4 @@ sub new {
# c-basic-offset: 4
# indent-tabs-mode: nil
# End:
-# vim: expandtab shiftwidth=4:
+# vim: expandtab shiftwidth=4:
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Selfupdate.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Selfupdate.pm
index 6f2015c504c..26d3dc81f5b 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Selfupdate.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Selfupdate.pm
@@ -13,25 +13,25 @@ $Params::Check::VERBOSE = 1;
=head1 NAME
-CPANPLUS::Selfupdate
+CPANPLUS::Selfupdate - self-updating for CPANPLUS
=head1 SYNOPSIS
$su = $cb->selfupdate_object;
-
+
@feats = $su->list_features;
@feats = $su->list_enabled_features;
-
+
@mods = map { $su->modules_for_feature( $_ ) } @feats;
@mods = $su->list_core_dependencies;
@mods = $su->list_core_modules;
-
+
for ( @mods ) {
print $_->name " should be version " . $_->version_required;
- print "Installed version is not uptodate!"
+ print "Installed version is not uptodate!"
unless $_->is_installed_version_sufficient;
}
-
+
$ok = $su->selfupdate( update => 'all', latest => 0 );
=cut
@@ -49,8 +49,8 @@ CPANPLUS::Selfupdate
'Module::Load' => '0.10',
'Module::Load::Conditional' => '0.38', # returns dir for loaded
# modules
- 'version' => '0.73', # needed for M::L::C
- # addresses #24630 and
+ 'version' => '0.77', # needed for M::L::C
+ # addresses #24630 and
# #24675
# Address ~0 overflow issue
'Params::Check' => '0.22',
@@ -68,10 +68,10 @@ CPANPLUS::Selfupdate
'Module::Loaded' => '0.01',
'Parse::CPAN::Meta' => '1.4200', # config_requires support
'ExtUtils::Install' => '1.42', # uninstall outside @INC
- ( check_install( module => 'CPANPLUS::Dist::Build' )
- ? ( 'CPANPLUS::Dist::Build' => '0.24' ) : () ),
+ ( check_install( module => 'CPANPLUS::Dist::Build' )
+ ? ( 'CPANPLUS::Dist::Build' => '0.60' ) : () ),
},
-
+
features => {
# config_key_name => [
# sub { } to list module key/value pairs
@@ -80,29 +80,29 @@ CPANPLUS::Selfupdate
prefer_makefile => [
sub {
my $cb = shift;
- $cb->configure_object->get_conf('prefer_makefile')
+ $cb->configure_object->get_conf('prefer_makefile')
? { }
- : { 'CPANPLUS::Dist::Build' => '0.24' };
+ : { 'CPANPLUS::Dist::Build' => '0.60' };
},
sub { return 1 }, # always enabled
- ],
+ ],
cpantest => [
{ 'Test::Reporter' => '1.34',
'Parse::CPAN::Meta' => '1.4200'
},
- sub {
+ sub {
my $cb = shift;
return $cb->configure_object->get_conf('cpantest');
},
- ],
+ ],
dist_type => [
- sub {
+ sub {
my $cb = shift;
my $dist = $cb->configure_object->get_conf('dist_type');
return { $dist => '0.0' } if $dist;
return;
- },
- sub {
+ },
+ sub {
my $cb = shift;
return $cb->configure_object->get_conf('dist_type');
},
@@ -111,17 +111,17 @@ CPANPLUS::Selfupdate
md5 => [
{
'Digest::SHA' => '0.0',
- },
- sub {
+ },
+ sub {
my $cb = shift;
return $cb->configure_object->get_conf('md5');
},
],
shell => [
- sub {
+ sub {
my $cb = shift;
my $dist = $cb->configure_object->get_conf('shell');
-
+
### we bundle these shells, so don't bother having a dep
### on them... If we don't do this, CPAN.pm actually detects
### a recursive dependency and breaks (see #26077).
@@ -130,9 +130,9 @@ CPANPLUS::Selfupdate
return if $dist eq SHELL_DEFAULT or $dist eq SHELL_CLASSIC;
return { $dist => '0.0' } if $dist;
return;
- },
+ },
sub { return 1 },
- ],
+ ],
signature => [
sub {
my $cb = shift;
@@ -146,19 +146,19 @@ CPANPLUS::Selfupdate
### this change due to this ticket: #26914
# and $cb->configure_object->get_conf('prefer_bin');
- return {
- 'Crypt::OpenPGP' => '0.0',
+ return {
+ 'Crypt::OpenPGP' => '0.0',
'Module::Signature' => '0.06',
};
- },
+ },
sub {
my $cb = shift;
return $cb->configure_object->get_conf('signature');
},
],
storable => [
- { 'Storable' => '0.0' },
- sub {
+ { 'Storable' => '0.0' },
+ sub {
my $cb = shift;
return $cb->configure_object->get_conf('storable');
},
@@ -170,10 +170,10 @@ CPANPLUS::Selfupdate
sub {
my $cb = shift;
my $conf = $cb->configure_object;
- return $conf->get_conf('source_engine')
+ return $conf->get_conf('source_engine')
eq 'CPANPLUS::Internals::Source::SQLite'
- },
- ],
+ },
+ ],
},
core => {
'CPANPLUS' => '0.0',
@@ -196,35 +196,35 @@ sub new {
my $class = shift;
my $cb = shift or return;
return bless sub { $cb }, $class;
-}
+}
{ ### cache to find the relevant modules
my $cache = {
- core
+ core
=> sub { my $self = shift;
core => [ $self->list_core_modules ] },
-
- dependencies
+
+ dependencies
=> sub { my $self = shift;
dependencies => [ $self->list_core_dependencies ] },
- enabled_features
+ enabled_features
=> sub { my $self = shift;
map { $_ => [ $self->modules_for_feature( $_ ) ] }
- $self->list_enabled_features
+ $self->list_enabled_features
},
features
=> sub { my $self = shift;
map { $_ => [ $self->modules_for_feature( $_ ) ] }
- $self->list_features
+ $self->list_features
},
### make sure to do 'core' first, in case
### we are out of date ourselves
all => [ qw|core dependencies enabled_features| ],
};
-
-
+
+
=head2 @cat = $self->list_categories
Returns a list of categories that the C<selfupdate> method accepts.
@@ -237,14 +237,14 @@ See C<selfupdate> for details.
=head2 %list = $self->list_modules_to_update( update => "core|dependencies|enabled_features|features|all", [latest => BOOL] )
-List which modules C<selfupdate> would upgrade. You can update either
+List which modules C<selfupdate> would upgrade. You can update either
the core (CPANPLUS itself), the core dependencies, all features you have
currently turned on, or all features available, or everything.
The C<latest> option determines whether it should update to the latest
version on CPAN, or if the minimal required version for CPANPLUS is
good enough.
-
+
Returns a hash of feature names and lists of module objects to be
upgraded based on the category you provided. For example:
@@ -254,40 +254,40 @@ Would return:
( core => [ $module_object_for_cpanplus ] );
-=cut
-
+=cut
+
sub list_modules_to_update {
my $self = shift;
my $cb = $self->();
my $conf = $cb->configure_object;
my %hash = @_;
-
+
my($type, $latest);
my $tmpl = {
update => { required => 1, store => \$type,
allow => [ keys %$cache ], },
- latest => { default => 0, store => \$latest, allow => BOOLEANS },
- };
-
+ latest => { default => 0, store => \$latest, allow => BOOLEANS },
+ };
+
{ local $Params::Check::ALLOW_UNKNOWN = 1;
check( $tmpl, \%hash ) or return;
}
-
+
my $ref = $cache->{$type};
- ### a list of ( feature1 => \@mods, feature2 => \@mods, etc )
+ ### a list of ( feature1 => \@mods, feature2 => \@mods, etc )
my %list = UNIVERSAL::isa( $ref, 'ARRAY' )
? map { $cache->{$_}->( $self ) } @$ref
: $ref->( $self );
### filter based on whether we need the latest ones or not
- for my $aref ( values %list ) {
- $aref = [ $latest
+ for my $aref ( values %list ) {
+ $aref = [ $latest
? grep { !$_->is_uptodate } @$aref
: grep { !$_->is_installed_version_sufficient } @$aref
];
}
-
+
return %list;
}
@@ -310,21 +310,21 @@ Returns true on success, false on error.
my $cb = $self->();
my $conf = $cb->configure_object;
my %hash = @_;
-
+
my $force;
my $tmpl = {
force => { default => $conf->get_conf('force'), store => \$force },
- };
-
+ };
+
{ local $Params::Check::ALLOW_UNKNOWN = 1;
check( $tmpl, \%hash ) or return;
}
-
+
my %list = $self->list_modules_to_update( %hash ) or return;
### just the modules please
my @mods = map { @$_ } values %list;
-
+
my $flag;
for my $mod ( @mods ) {
unless( $mod->install( force => $force ) ) {
@@ -332,10 +332,10 @@ Returns true on success, false on error.
error(loc("Failed to update module '%1'", $mod->name));
}
}
-
+
return if $flag;
return 1;
- }
+ }
}
@@ -360,19 +360,19 @@ CPANPLUS installation.
sub list_enabled_features {
my $self = shift;
my $cb = $self->();
-
+
my @enabled;
for my $feat ( $self->list_features ) {
my $ref = $self->_get_config->{'features'}->{$feat}->[1];
push @enabled, $feat if $ref->($cb);
}
-
+
return @enabled;
}
=head2 @mods = $self->modules_for_feature( FEATURE [,AS_HASH] )
-Returns a list of C<CPANPLUS::Selfupdate::Module> objects which
+Returns a list of C<CPANPLUS::Selfupdate::Module> objects which
represent the modules required to support this feature.
For a list of features, call the C<list_features> method.
@@ -388,18 +388,18 @@ sub modules_for_feature {
my $feature = shift or return;
my $as_hash = shift || 0;
my $cb = $self->();
-
+
unless( exists $self->_get_config->{'features'}->{$feature} ) {
error(loc("Unknown feature '%1'", $feature));
return;
}
-
+
my $ref = $self->_get_config->{'features'}->{$feature}->[0];
-
+
### it's either a list of modules/versions or a subroutine that
### returns a list of modules/versions
my $href = UNIVERSAL::isa( $ref, 'HASH' ) ? $ref : $ref->( $cb );
-
+
return unless $href; # nothing needed for the feature?
return $href if $as_hash;
@@ -409,7 +409,7 @@ sub modules_for_feature {
=head2 @mods = $self->list_core_dependencies( [AS_HASH] )
-Returns a list of C<CPANPLUS::Selfupdate::Module> objects which
+Returns a list of C<CPANPLUS::Selfupdate::Module> objects which
represent the modules that comprise the core dependencies of CPANPLUS.
If the C<AS_HASH> argument is provided, no module objects are
@@ -430,7 +430,7 @@ sub list_core_dependencies {
=head2 @mods = $self->list_core_modules( [AS_HASH] )
-Returns a list of C<CPANPLUS::Selfupdate::Module> objects which
+Returns a list of C<CPANPLUS::Selfupdate::Module> objects which
represent the modules that comprise the core of CPANPLUS.
If the C<AS_HASH> argument is provided, no module objects are
@@ -453,14 +453,14 @@ sub _hashref_to_module {
my $self = shift;
my $cb = $self->();
my $href = shift or return;
-
- return map {
+
+ return map {
CPANPLUS::Selfupdate::Module->new(
$cb->module_tree($_) => $href->{$_}
)
} keys %$href;
-}
-
+}
+
=head1 CPANPLUS::Selfupdate::Module
@@ -474,22 +474,22 @@ that return module objects.
{ package CPANPLUS::Selfupdate::Module;
use base 'CPANPLUS::Module';
-
+
### stores module name -> cpanplus required version
### XXX only can deal with 1 pair!
my %Cache = ();
my $Acc = 'version_required';
-
+
sub new {
my $class = shift;
my $mod = shift or return;
my $ver = shift; return unless defined $ver;
-
+
my $obj = $mod->clone; # clone the module object
bless $obj, $class; # rebless it to our class
-
+
$obj->$Acc( $ver );
-
+
return $obj;
}
@@ -498,12 +498,12 @@ that return module objects.
Returns the version of this module required for CPANPLUS.
=cut
-
+
sub version_required {
my $self = shift;
$Cache{ $self->name } = shift() if @_;
return $Cache{ $self->name };
- }
+ }
=head2 $bool = $mod->is_installed_version_sufficient
@@ -512,13 +512,13 @@ for CPANPLUS, or false if it is not.
=cut
-
+
sub is_installed_version_sufficient {
my $self = shift;
return $self->is_uptodate( version => $self->$Acc );
}
-}
+}
1;
@@ -534,10 +534,10 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-The CPAN++ interface (of which this module is a part of) is copyright (c)
+The CPAN++ interface (of which this module is a part of) is copyright (c)
2001 - 2007, Jos Boumans E<lt>kane@cpan.orgE<gt>. All rights reserved.
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=cut
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell.pm
index e3eb181c6dc..04735275121 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell.pm
@@ -20,7 +20,7 @@ $DEFAULT = SHELL_DEFAULT;
=head1 NAME
-CPANPLUS::Shell
+CPANPLUS::Shell - base class for CPANPLUS shells
=head1 SYNOPSIS
@@ -56,17 +56,17 @@ sub import {
### find out what shell we're supposed to load ###
$SHELL = $option
? $class . '::' . $option
- : do { ### XXX this should offer to reconfigure
+ : do { ### XXX this should offer to reconfigure
### CPANPLUS, somehow. --rs
### XXX load Configure only if we really have to
### as that means any $Conf passed later on will
- ### be ignored in favour of the one that was
+ ### be ignored in favour of the one that was
### retrieved via ->new --kane
- my $conf = CPANPLUS::Configure->new() or
+ my $conf = CPANPLUS::Configure->new() or
die loc("No configuration available -- aborting") . $/;
$conf->get_conf('shell') || $DEFAULT;
};
-
+
### load the shell, fall back to the default if required
### and die if even that doesn't work
EVAL: {
@@ -294,13 +294,13 @@ sub _pager_close {
my $self = shift;
print @_;
}
-
+
sub __printf {
my $self = shift;
my $fmt = shift;
-
+
### MUST specify $fmt as a separate param, and not as part
- ### of @_, as it will then miss the $fmt and return the
+ ### of @_, as it will then miss the $fmt and return the
### number of elements in the list... =/ --kane
$self->__print( sprintf( $fmt, @_ ) );
}
@@ -320,10 +320,10 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-The CPAN++ interface (of which this module is a part of) is copyright (c)
+The CPAN++ interface (of which this module is a part of) is copyright (c)
2001 - 2007, Jos Boumans E<lt>kane@cpan.orgE<gt>. All rights reserved.
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Classic.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Classic.pm
index 08c03bcf383..089d3de16bd 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Classic.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Classic.pm
@@ -1207,10 +1207,10 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-The CPAN++ interface (of which this module is a part of) is copyright (c)
+The CPAN++ interface (of which this module is a part of) is copyright (c)
2001 - 2007, Jos Boumans E<lt>kane@cpan.orgE<gt>. All rights reserved.
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default.pm
index 35c02aff2b7..56dce061ae3 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default.pm
@@ -26,7 +26,7 @@ local $Data::Dumper::Indent = 1; # for dumpering from !
BEGIN {
use vars qw[ $VERSION @ISA ];
@ISA = qw[ CPANPLUS::Shell::_Base::ReadLine ];
- $VERSION = "0.9103";
+ $VERSION = "0.9121";
}
load CPANPLUS::Shell;
@@ -56,6 +56,7 @@ my $map = {
'u' => '_uninstall',
'/' => '_meta', # undocumented for now
'c' => '_reports',
+ 'e' => '_reload_shell',
};
### free letters: e g j k n y ###
@@ -73,7 +74,7 @@ my $Prompt = $Brand . '> ';
=head1 NAME
-CPANPLUS::Shell::Default
+CPANPLUS::Shell::Default - the default CPANPLUS shell
=head1 SYNOPSIS
@@ -119,8 +120,8 @@ CPANPLUS::Shell::Default
cpanp> r Acme::Foo # view Acme::Foo's README file
cpanp> o # get a list of all installed modules that
# are out of date
- cpanp> o 1..3 # list uptodateness from a previous search
-
+ cpanp> o 1..3 # list uptodateness from a previous search
+
cpanp> s conf # show config settings
cpanp> s conf md5 1 # enable md5 checks
cpanp> s program # show program settings
@@ -141,9 +142,10 @@ CPANPLUS::Shell::Default
cpanp> w # show last search results again
cpanp> q # quit the shell
+ cpanp> e # exit the shell and reload
cpanp> /plugins # list available plugins
- cpanp> /? PLUGIN # list help test of <PLUGIN>
+ cpanp> /? PLUGIN # list help test of <PLUGIN>
### common options:
cpanp> i ... --skiptest # skip tests
@@ -250,11 +252,11 @@ sub _input_loop {
} continue {
### clear the sigint count
$self->_signals->{INT}{count}--
- if $self->_signals->{INT}{count};
-
+ if $self->_signals->{INT}{count};
+
### reset the 'install prereq?' cached answer
- $self->settings->{'install_all_prereqs'} = undef;
-
+ $self->settings->{'install_all_prereqs'} = undef;
+
}
return 1;
@@ -280,7 +282,7 @@ sub dispatch_on_input {
$self->noninteractive($noninteractive) if defined $noninteractive;
my $rv = 1;
-
+
my @cmds = split ';', $string;
while( my $input = shift @cmds ) {
@@ -304,9 +306,9 @@ sub dispatch_on_input {
if( $input and $input !~ s/^\s+// ) {
$self->__print( loc("Could not understand command: %1\n".
"Possibly missing command before argument(s)?\n",
- $org_input) );
+ $org_input) );
return;
- }
+ }
### allow overrides from the config file ###
if( defined $rc->{$key} ) {
@@ -343,9 +345,9 @@ sub dispatch_on_input {
if( $key eq 'z' or
($key eq 's' and $input =~ /^\s*edit/)
) {
- $self->__print( "\n",
+ $self->__print( "\n",
loc( "Command '%1' not supported over remote connection",
- join ' ', $key, $input
+ join ' ', $key, $input
), "\n\n" );
} else {
@@ -377,7 +379,7 @@ sub dispatch_on_input {
unless grep {$key eq $_} qw[! m a v w x p s b / ? h];
### keep track of failures
- $rv *= defined eval { $self->$method(
+ $rv *= defined eval { $self->$method(
modules => \@mods,
options => $options,
input => $input,
@@ -502,7 +504,7 @@ sub __display_results {
} else {
$self->__print( loc("No results to display"), "\n" );
}
-
+
return 1;
}
@@ -514,7 +516,7 @@ sub _quit {
if defined $rc->{'logout'};
$self->__print( loc("Exiting CPANPLUS shell"), "\n" );
-
+
return 1;
}
@@ -529,21 +531,22 @@ sub _quit {
sub _help {
my $self = shift;
my %hash = @_;
-
+
my $input;
{ local $Params::Check::ALLOW_UNKNOWN = 1;
-
+
my $tmpl = {
input => { required => 0, store => \$input }
};
-
+
my $args = check( $tmpl, \%hash ) or return;
}
-
+
@help = (
loc('[General]' ),
loc(' h | ? # display help' ),
loc(' q # exit' ),
+loc(' e # exit and reload' ),
loc(' v # version information' ),
loc('[Search]' ),
loc(' a AUTHOR ... # search by author(s)' ),
@@ -584,7 +587,7 @@ loc(' /plugins # list available plugins' ),
loc(' /? [PLUGIN NAME] # show usage for (a particular) plugin(s)' ),
) unless @help;
-
+
$self->_pager_open if (@help >= $self->_term_rowcount);
### XXX: functional placeholder for actual 'detailed' help.
$self->__print( "Detailed help for the command '$input' is " .
@@ -592,7 +595,7 @@ loc(' /? [PLUGIN NAME] # show usage for (a particular) plugin(s)' ),
$self->__print( map {"$_\n"} @help );
$self->__print( $/ );
$self->_pager_close;
-
+
return 1;
}
}
@@ -760,7 +763,7 @@ sub _fetch {
$self->__print( "\n" );
}
$self->_pager_close;
-
+
return 1 if $rv;
return;
}
@@ -860,16 +863,16 @@ sub _reload_indices {
}
my $rv = $cb->reload_indices( %$opts );
-
+
### so the update failed, but you didnt give it any options either
if( !$rv and !(keys %$opts) ) {
$self->__print(
"\nFailure may be due to corrupt source files\n" .
"Try this:\n\tx --update_source\n\n" );
}
-
+
return $rv;
-
+
}
sub _install {
@@ -906,20 +909,20 @@ sub _install {
$self->__print( $prompt, $mod->module, " (".$mod->version.")", "\n" );
my $log_length = length CPANPLUS::Error->stack_as_string;
-
+
### store the status for look up when we're done with all
### install calls
$status->{$mod} = $mod->install( %$opts, target => $target );
-
+
### would you like a log file of what happened?
if( $conf->get_conf('write_install_logs') ) {
if ( ON_WIN32 and !check_install(
- module => 'IPC::Run', version => 0.55 )
+ module => 'IPC::Run', version => 0.55 )
) {
- error(loc("IPC::Run version '%1' is required on MSWin32"
- . " in order to capture buffers."
- . " The logfile generated may not contain"
+ error(loc("IPC::Run version '%1' is required on MSWin32"
+ . " in order to capture buffers."
+ . " The logfile generated may not contain"
. " any useful data, until it is installed", 0.55));
}
@@ -930,26 +933,26 @@ sub _install {
### create the dir if it doesn't exit yet
$cb->_mkdir( dir => $dir ) unless -d $dir;
- my $file = File::Spec->catfile(
+ my $file = File::Spec->catfile(
$dir,
- INSTALL_LOG_FILE->( $mod )
+ INSTALL_LOG_FILE->( $mod )
);
if ( open my $fh, ">$file" ) {
my $stack = CPANPLUS::Error->stack_as_string;
### remove everything in the log that was there *before*
### we started this install
substr( $stack, 0, $log_length, '' );
-
+
print $fh $stack;
close $fh;
-
- $self->__print(
+
+ $self->__print(
loc("*** Install log written to:\n %1\n\n", $file)
);
- } else {
+ } else {
warn "Could not open '$file': $!\n";
next;
- }
+ }
}
}
@@ -961,7 +964,7 @@ sub _install {
$self->__print(
loc("Module '%1' %tense(%2,past) successfully\n",
$mod->module, $action)
- );
+ );
} else {
$flag++;
$self->__print(
@@ -981,8 +984,8 @@ sub _install {
loc("Problem %tense(%1,present) one or more modules", $action)
);
$self->__print( "\n" );
-
- $self->__print(
+
+ $self->__print(
loc("*** You can view the complete error buffer by pressing ".
"'%1' ***\n", 'p')
) unless $conf->get_conf('verbose') || $self->noninteractive;
@@ -1001,13 +1004,13 @@ sub __ask_about_install {
$Shell->__print( loc("Module '%1' requires '%2' to be installed",
$mod->module, $prereq->module ) );
$Shell->__print( "\n\n" );
-
+
### previously cached answer?
return $Shell->settings->{'install_all_prereqs'}
if defined $Shell->settings->{'install_all_prereqs'};
-
-
- $Shell->__print(
+
+
+ $Shell->__print(
loc( "If you don't wish to see this question anymore\n".
"you can disable it by entering the following ".
"commands on the prompt:\n '%1'",
@@ -1025,9 +1028,9 @@ sub __ask_about_install {
default => $yes,
);
- ### if 'all' or 'none', save this, so we can apply it to
+ ### if 'all' or 'none', save this, so we can apply it to
### other prereqs in this chain.
- $Shell->settings->{'install_all_prereqs'} =
+ $Shell->settings->{'install_all_prereqs'} =
$reply eq $all ? 1 :
$reply eq $none ? 0 :
undef;
@@ -1064,7 +1067,7 @@ sub __ask_about_edit_test_report {
my $term = $Shell->term;
$Shell->__print( "\n" );
- $Shell->__print(
+ $Shell->__print(
loc("Test report prepared for module '%1'. You can edit this ".
"report if you would like", $mod->module ) );
$Shell->__print("\n\n");
@@ -1082,11 +1085,11 @@ sub __ask_about_test_failure {
my $term = $Shell->term;
$Shell->__print( "\n" );
- $Shell->__print(
+ $Shell->__print(
loc( "The tests for '%1' failed. Would you like me to proceed ".
"anyway or should we abort?", $mod->module ) );
$Shell->__print( "\n\n" );
-
+
my $bool = $term->ask_yn(
prompt => loc("Proceed anyway?"),
default => 'n',
@@ -1125,7 +1128,7 @@ sub _details {
my @list = sort { $a->module cmp $b->module } $mod->contains;
unless( $href ) {
- $self->__print(
+ $self->__print(
loc("No details for %1 - it might be outdated.",
$mod->module), "\n" );
next;
@@ -1135,11 +1138,11 @@ sub _details {
for my $item ( sort keys %$href ) {
$self->__printf( $format, $item, $href->{$item} );
}
-
+
my $showed;
for my $item ( @list ) {
$self->__printf(
- $cformat, ($showed ? '' : 'Contains:'),
+ $cformat, ($showed ? '' : 'Contains:'),
$item->module, $item->version
);
$showed++;
@@ -1199,7 +1202,7 @@ sub _set_conf {
### possible options
### XXX hard coded, not optimal :(
my %types = (
- reconfigure => '',
+ reconfigure => '',
save => q([user | system | boxed]),
edit => '',
program => q([key => val]),
@@ -1238,8 +1241,8 @@ sub _set_conf {
user => CONFIG_USER,
system => CONFIG_SYSTEM,
boxed => CONFIG_BOXED,
- }->{ $key } || CONFIG_USER;
-
+ }->{ $key } || CONFIG_USER;
+
### boxed is special, so let's get its value from %INC
### so we can tell it where to save
### XXX perhaps this logic should be generic for all
@@ -1248,15 +1251,15 @@ sub _set_conf {
if( $where eq CONFIG_BOXED ) {
my $file = join( '/', split( '::', CONFIG_BOXED ) ) . '.pm';
my $file_re = quotemeta($file);
-
+
my $path = $INC{$file} || '';
- $path =~ s/$file_re$//;
+ $path =~ s/$file_re$//;
$dir = $path;
- }
-
+ }
+
my $rv = $cb->configure_object->save( $where => $dir );
- $self->__print(
+ $self->__print(
$rv
? loc("Configuration successfully saved to %1\n (%2)\n",
$where, $rv)
@@ -1272,7 +1275,7 @@ sub _set_conf {
my $where = {
user => CONFIG_USER,
system => CONFIG_SYSTEM,
- }->{ $key } || CONFIG_USER;
+ }->{ $key } || CONFIG_USER;
my $file = $conf->_config_pm_to_file( $where );
system($editor,$file);
@@ -1290,35 +1293,35 @@ sub _set_conf {
return 1;
} elsif ( $type eq 'mirrors' ) {
-
- $self->__print(
+
+ $self->__print(
loc("Readonly list of mirrors (in order of preference):\n\n" ) );
-
+
my $i;
for my $host ( @{$conf->get_conf('hosts')} ) {
my $uri = $cb->_host_to_uri( %$host );
-
+
$i++;
$self->__print( "\t[$i] $uri\n" );
}
-
+
$self->__print(
loc("\nTo edit this list, please type: '%1'\n", 's edit') );
} elsif ( $type eq 'selfupdate' ) {
- my %valid = map { $_ => $_ }
- $cb->selfupdate_object->list_categories;
+ my %valid = map { $_ => $_ }
+ $cb->selfupdate_object->list_categories;
unless( $valid{$key} ) {
$self->__print(
loc( "To update your current CPANPLUS installation, ".
"choose one of the these options:\n%1",
- ( join $/, map {
+ ( join $/, map {
sprintf "\ts selfupdate %-17s " .
- "[--latest=0] [--dryrun]", $_
- } sort keys %valid )
+ "[--latest=0] [--dryrun]", $_
+ } sort keys %valid )
)
- );
+ );
} else {
my %update_args = (
update => $key,
@@ -1331,35 +1334,35 @@ sub _set_conf {
->list_modules_to_update( %update_args );
$self->__print(loc("The following updates will take place:"),$/.$/);
-
+
for my $feature ( sort keys %list ) {
my $aref = $list{$feature};
-
+
### is it a 'feature' or a built in?
$self->__print(
- $valid{$feature}
+ $valid{$feature}
? " " . ucfirst($feature) . ":\n"
: " Modules for '$feature' support:\n"
);
-
- ### show what modules would be installed
+
+ ### show what modules would be installed
$self->__print(
scalar @$aref
- ? map { sprintf " %-42s %-6s -> %-6s \n",
+ ? map { sprintf " %-42s %-6s -> %-6s \n",
$_->name, $_->installed_version, $_->version
- } @$aref
+ } @$aref
: " No upgrades required\n"
- );
+ );
$self->__print( $/ );
}
-
-
- unless( $opts->{'dryrun'} ) {
+
+
+ unless( $opts->{'dryrun'} ) {
$self->__print( loc("Updating your CPANPLUS installation\n") );
$cb->selfupdate_object->selfupdate( %update_args );
}
}
-
+
} else {
if ( $type eq 'program' or $type eq 'conf' ) {
@@ -1367,7 +1370,7 @@ sub _set_conf {
my $format = {
conf => '%-25s %s',
program => '%-12s %s',
- }->{ $type };
+ }->{ $type };
unless( $key ) {
my @list = grep { $_ ne 'hosts' }
@@ -1386,7 +1389,7 @@ sub _set_conf {
}
} elsif ( $key eq 'hosts' or $key eq 'lib' ) {
- $self->__print(
+ $self->__print(
loc( "Setting %1 is not trivial.\n" .
"It is suggested you use '%2' and edit the " .
"configuration file manually", $key, 's edit')
@@ -1402,8 +1405,8 @@ sub _set_conf {
$self->__print( loc("Unknown type '%1'",$type || 'EMPTY' ) );
$self->__print( $/ );
$self->__print( loc("Try one of the following:") );
- $self->__print( $/, join $/,
- map { sprintf "\t%-11s %s", $_, $types{$_} }
+ $self->__print( $/, join $/,
+ map { sprintf "\t%-11s %s", $_, $types{$_} }
sort keys %types );
}
}
@@ -1491,7 +1494,7 @@ sub _autobundle {
my $where = $cb->autobundle( %$opts );
- $self->__print(
+ $self->__print(
$where
? loc("Wrote autobundle to '%1'", $where)
: loc("Could not create autobundle" )
@@ -1550,25 +1553,25 @@ should use the same package manager to uninstall them
### then report whether all this went ok or not ###
for my $mod (@$mods) {
if( $mod->status->uninstall ) {
- $self->__print(
+ $self->__print(
loc("Module '%1' %tense(uninstall,past) successfully\n",
$mod->module ) );
} else {
$flag++;
- $self->__print(
+ $self->__print(
loc("Error %tense(uninstall,present) '%1'\n", $mod->module) );
}
}
if( !$flag ) {
- $self->__print(
+ $self->__print(
loc("All modules %tense(uninstall,past) successfully"), "\n" );
} else {
- $self->__print(
+ $self->__print(
loc("Problem %tense(uninstall,present) one or more modules" ),
"\n" );
-
- $self->__print(
+
+ $self->__print(
loc("*** You can view the complete error buffer by pressing '%1'".
"***\n", 'p') ) unless $conf->get_conf('verbose');
}
@@ -1617,13 +1620,13 @@ sub _reports {
my %seen;
for my $href (@list ) {
- $self->__print(
+ $self->__print(
"[" . $mod->author->cpanid .'/'. $href->{'dist'} . "]\n"
) unless $seen{ $href->{'dist'} }++;
- $self->__printf(
- $format,
- $href->{'grade'},
+ $self->__printf(
+ $format,
+ $href->{'grade'},
$href->{'platform'},
($href->{'details'} ? '(*)' : '')
);
@@ -1641,62 +1644,62 @@ sub _reports {
### Load plugins
{ my @PluginModules;
- my %Dispatch = (
- showtip => [ __PACKAGE__, '_show_random_tip'],
- plugins => [ __PACKAGE__, '_list_plugins' ],
+ my %Dispatch = (
+ showtip => [ __PACKAGE__, '_show_random_tip'],
+ plugins => [ __PACKAGE__, '_list_plugins' ],
'?' => [ __PACKAGE__, '_plugins_usage' ],
- );
+ );
sub plugin_modules { return @PluginModules }
sub plugin_table { return %Dispatch }
-
+
my $init_done;
sub _plugins_init {
### only initialize once
return if $init_done++;
-
+
### find all plugins first
if( check_install( module => 'Module::Pluggable', version => '2.4') ) {
require Module::Pluggable;
-
+
my $only_re = __PACKAGE__ . '::Plugins::\w+$';
-
+
Module::Pluggable->import(
sub_name => '_plugins',
search_path => __PACKAGE__,
only => qr/$only_re/,
#except => [ INSTALLER_MM, INSTALLER_SAMPLE ]
);
-
+
push @PluginModules, __PACKAGE__->_plugins;
}
-
+
### now try to load them
for my $p ( __PACKAGE__->plugin_modules ) {
my %map = eval { load $p; $p->import; $p->plugins };
error(loc("Could not load plugin '$p': $@")), next if $@;
-
+
### register each plugin
while( my($name, $func) = each %map ) {
-
+
if( not length $name or not length $func ) {
error(loc("Empty plugin name or dispatch function detected"));
next;
- }
-
+ }
+
if( exists( $Dispatch{$name} ) ) {
- error(loc("'%1' is already registered by '%2'",
+ error(loc("'%1' is already registered by '%2'",
$name, $Dispatch{$name}->[0]));
- next;
+ next;
}
-
+
### register name, package and function
$Dispatch{$name} = [ $p, $func ];
}
}
}
-
+
### dispatch a plugin command to its function
sub _meta {
my $self = shift;
@@ -1704,69 +1707,69 @@ sub _reports {
my $cb = $self->backend;
my $term = $self->term;
my $conf = $cb->configure_object;
-
+
my $opts; my $input;
{ local $Params::Check::ALLOW_UNKNOWN = 1;
-
+
my $tmpl = {
options => { default => { }, store => \$opts },
input => { default => '', store => \$input },
};
-
+
check( $tmpl, \%hash ) or return;
}
-
+
$input =~ s/\s*(\S+)\s*//;
my $cmd = $1;
-
+
### look up the command, or go to the default
my $aref = $Dispatch{ $cmd } || [ __PACKAGE__, '_plugin_default' ];
-
+
my($pkg,$func) = @$aref;
-
+
my $rv = eval { $pkg->$func( $self, $cb, $cmd, $input, $opts ) };
-
+
error( $@ ) if $@;
### return $rv instead, so input loop can be terminated?
return 1;
}
-
+
sub _plugin_default { error(loc("No such plugin command")) }
}
-### plugin commands
-{ my $help_format = " /%-21s # %s\n";
-
+### plugin commands
+{ my $help_format = " /%-21s # %s\n";
+
sub _list_plugins {
my $self = shift;
-
+
$self->__print( loc("Available plugins:\n") );
$self->__print( loc(" List usage by using: /? PLUGIN_NAME\n" ) );
$self->__print( $/ );
-
+
my %table = __PACKAGE__->plugin_table;
for my $name( sort keys %table ) {
my $pkg = $table{$name}->[0];
my $this = __PACKAGE__;
-
+
my $who = $pkg eq $this
? "Standard Plugin"
: do { my $v = $self->_format_version($pkg->VERSION) || '';
$pkg =~ s/^$this/../;
- sprintf "Provided by: %-30s %-10s", $pkg, $v;
+ sprintf "Provided by: %-30s %-10s", $pkg, $v;
};
-
+
$self->__printf( $help_format, $name, $who );
- }
-
+ }
+
$self->__print( $/.$/ );
-
+
$self->__print(
" Write your own plugins? Read the documentation of:\n" .
" CPANPLUS::Shell::Default::Plugins::HOWTO\n" );
-
- $self->__print( $/ );
+
+ $self->__print( $/ );
}
sub _list_plugins_help {
@@ -1776,7 +1779,7 @@ sub _reports {
### registered as a plugin too
sub _show_random_tip_help {
return sprintf $help_format, 'showtip', loc("show usage tips" );
- }
+ }
sub _plugins_usage {
my $self = shift;
@@ -1785,9 +1788,9 @@ sub _reports {
my $cmd = shift;
my $input = shift;
my %table = $self->plugin_table;
-
+
my @list = length $input ? split /\s+/, $input : sort keys %table;
-
+
for my $name( @list ) {
### no such plugin? skip
@@ -1795,21 +1798,21 @@ sub _reports {
my $pkg = $table{$name}->[0];
my $func = $table{$name}->[1] . '_help';
-
+
if ( my $sub = $pkg->can( $func ) ) {
eval { $self->__print( $sub->() ) };
error( $@ ) if $@;
-
+
} else {
$self->__print(" No usage for '$name' -- try perldoc $pkg");
}
-
+
$self->__print( $/ );
- }
-
- $self->__print( $/.$/ );
+ }
+
+ $self->__print( $/.$/ );
}
-
+
sub _plugins_usage_help {
return sprintf $help_format, '? [NAME ...]',
loc("show usage for plugins");
@@ -1856,8 +1859,8 @@ sub _read_configuration_from_rc {
eval { $href = Config::Auto::parse( $rc_file, format => 'space' ) };
- $self->__print(
- loc( "Unable to read in config file '%1': %2", $rc_file, $@ )
+ $self->__print(
+ loc( "Unable to read in config file '%1': %2", $rc_file, $@ )
) if $@;
}
@@ -1867,34 +1870,38 @@ sub _read_configuration_from_rc {
{ my @tips = (
loc( "You can update CPANPLUS by running: '%1'", 's selfupdate' ),
loc( "You can install modules by URL using '%1'", 'i URL' ),
- loc( "You can turn off these tips using '%1'",
+ loc( "You can turn off these tips using '%1'",
's conf show_startup_tip 0' ),
loc( "You can use wildcards like '%1' and '%2' on search results",
'*', '2..5' ) ,
loc( "You can use plugins. Type '%1' to list available plugins",
'/plugins' ),
- loc( "You can show all your out of date modules using '%1'", 'o' ),
+ loc( "You can show all your out of date modules using '%1'", 'o' ),
loc( "Many operations take options, like '%1', '%2' or '%3'",
'--verbose', '--force', '--skiptest' ),
loc( "The documentation in %1 and %2 is very useful",
"CPANPLUS::Module", "CPANPLUS::Backend" ),
loc( "You can type '%1' for help and '%2' to exit", 'h', 'q' ),
- loc( "You can run an interactive setup using '%1'", 's reconfigure' ),
+ loc( "You can run an interactive setup using '%1'", 's reconfigure' ),
loc( "You can add custom sources to your index. See '%1' for details",
'/cs --help' ),
loc( "CPANPLUS now has an experimental SQLite backend. You can enable ".
"it via: '%1'. Update dependencies via '%2'",
's conf source_engine CPANPLUS::Internals::Source::SQLite; s save',
- 's selfupdate enabled_features ' ),
+ 's selfupdate enabled_features ' ),
);
-
+
sub _show_random_tip {
my $self = shift;
- $self->__print( $/, "Did you know...\n ",
+ $self->__print( $/, "Did you know...\n ",
$tips[ int rand scalar @tips ], $/ );
return 1;
}
-}
+}
+
+sub _reload_shell {
+ { exec ($^X, '-MCPANPLUS', '-e', 'shell') }; print STDERR "couldn't exec foo: $!";
+}
1;
@@ -1912,10 +1919,10 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-The CPAN++ interface (of which this module is a part of) is copyright (c)
+The CPAN++ interface (of which this module is a part of) is copyright (c)
2001 - 2007, Jos Boumans E<lt>kane@cpan.orgE<gt>. All rights reserved.
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm
index 7b546819075..b602a547ac3 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm
@@ -9,7 +9,7 @@ use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
=head1 NAME
-CPANPLUS::Shell::Default::Plugins::CustomSource
+CPANPLUS::Shell::Default::Plugins::CustomSource - add custom sources to CPANPLUS
=head1 SYNOPSIS
@@ -18,10 +18,10 @@ CPANPLUS::Shell::Default::Plugins::CustomSource
### add a new custom source
CPAN Terminal> /cs --add file:///path/to/releases
-
- ### list all your custom sources by
+
+ ### list all your custom sources by
CPAN Terminal> /cs --list
-
+
### display the contents of a custom source by URI or ID
CPAN Terminal> /cs --contents file:///path/to/releases
CPAN Terminal> /cs --contents 1
@@ -29,11 +29,11 @@ CPANPLUS::Shell::Default::Plugins::CustomSource
### Update a custom source by URI or ID
CPAN Terminal> /cs --update file:///path/to/releases
CPAN Terminal> /cs --update 1
-
+
### Remove a custom source by URI or ID
CPAN Terminal> /cs --remove file:///path/to/releases
CPAN Terminal> /cs --remove 1
-
+
### Write an index file for a custom source, to share
### with 3rd parties or remote users
CPAN Terminal> /cs --write file:///path/to/releases
@@ -44,13 +44,13 @@ CPANPLUS::Shell::Default::Plugins::CustomSource
=head1 DESCRIPTION
-This is a C<CPANPLUS::Shell::Default> plugin that can add
-custom sources to your CPANPLUS installation. This is a
+This is a C<CPANPLUS::Shell::Default> plugin that can add
+custom sources to your CPANPLUS installation. This is a
wrapper around the C<custom module sources> code as outlined
in L<CPANPLUS::Backend/CUSTOM MODULE SOURCES>.
This allows you to extend your index of available modules
-beyond what's available on C<CPAN> with your own local
+beyond what's available on C<CPAN> with your own local
distributions, or ones offered by third parties.
=cut
@@ -68,8 +68,8 @@ sub _uri_from_cache {
my $self = shift;
my $input = shift or return;
- ### you gave us a search number
- my $uri = $input =~ /^\d+$/
+ ### you gave us a search number
+ my $uri = $input =~ /^\d+$/
? $Index[ $input - 1 ] # remember, off by 1!
: $input;
@@ -79,13 +79,13 @@ sub _uri_from_cache {
### VMS can lower case all files, so make sure we check that too
my $local = $files{ $uri };
$local = $files{ lc $uri } if !$local && ON_VMS;
-
+
if( $local ) {
- return wantarray
+ return wantarray
? ($uri, $local)
: $uri;
}
-
+
### couldn't resolve the input
error(loc("Unknown URI/index: '%1'", $input));
return;
@@ -93,11 +93,11 @@ sub _uri_from_cache {
sub _list_custom_sources {
my $class = shift;
-
+
my %files = $Cb->list_custom_sources;
-
+
$Shell->__print( loc("Your remote sources:"), $/ ) if keys %files;
-
+
my $i = 0;
while(my($local,$remote) = each %files) {
$Shell->__printf( " [%2d] %s\n", ++$i, $remote );
@@ -105,7 +105,7 @@ sub _list_custom_sources {
### remember, off by 1!
push @Index, $remote;
}
-
+
$Shell->__print( $/ );
}
@@ -117,7 +117,7 @@ sub _list_contents {
unless( $uri ) {
error(loc("--contents needs URI parameter"));
return;
- }
+ }
my $fh = OPEN_FILE->( $local ) or return;
@@ -139,45 +139,45 @@ sub custom_source {
} elsif ( $opts->{'contents'} ) {
$class->_list_contents( $input );
-
- } elsif ( $opts->{'add'} ) {
+
+ } elsif ( $opts->{'add'} ) {
unless( $input ) {
error(loc("--add needs URI parameter"));
return;
- }
-
- $cb->add_custom_source( uri => $input )
+ }
+
+ $cb->add_custom_source( uri => $input )
and $shell->__print(loc("Added remote source '%1'", $input), $/);
-
+
$Shell->__print($/, loc("Remote source contains:"), $/, $/);
$class->_list_contents( $input );
-
+
} elsif ( $opts->{'remove'} ) {
my($uri,$local) = $class->_uri_from_cache( $input );
unless( $uri ) {
error(loc("--remove needs URI parameter"));
return;
- }
-
- 1 while unlink $local;
-
+ }
+
+ 1 while unlink $local;
+
$shell->__print( loc("Removed remote source '%1'", $uri), $/ );
} elsif ( $opts->{'update'} ) {
### did we get input? if so, it's a remote part
my $uri = $class->_uri_from_cache( $input );
- $cb->update_custom_source( $uri ? ( remote => $uri ) : () )
- and do { $shell->__print( loc("Updated remote sources"), $/ ) };
+ $cb->update_custom_source( $uri ? ( remote => $uri ) : () )
+ and do { $shell->__print( loc("Updated remote sources"), $/ ) };
} elsif ( $opts->{'write'} ) {
$cb->write_custom_source_index( path => $input ) and
- $shell->__print( loc("Wrote remote source index for '%1'", $input), $/);
-
+ $shell->__print( loc("Wrote remote source index for '%1'", $input), $/);
+
} else {
error(loc("Unrecognized command, see '%1' for help", '/? cs'));
}
-
+
return;
}
@@ -192,10 +192,10 @@ sub custom_source_help {
' /cs --remove URI | INDEX # remove source' . $/ .
' /cs --contents URI | INDEX # show packages from source'. $/ .
' /cs --update [URI | INDEX] # update source index' . $/ .
- ' /cs --write PATH # write source index' . $/
- );
+ ' /cs --write PATH # write source index' . $/
+ );
}
1;
-
+
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod
index ca765f9e0ac..8000aac9884 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod
@@ -5,20 +5,20 @@ CPANPLUS::Shell::Default::Plugins::HOWTO -- documentation on how to write your o
=head1 SYNOPSIS
package CPANPLUS::Shell::Default::Plugins::MyPlugin;
-
+
### return command => method mapping
sub plugins { ( myplugin1 => 'mp1', myplugin2 => 'mp2' ) }
-
+
### method called when the command '/myplugin1' is issued
sub mp1 { .... }
### method called when the command '/? myplugin1' is issued
sub mp1_help { return "Help Text" }
-
+
=head1 DESCRIPTION
-This pod text explains how to write your own plugins for
-C<CPANPLUS::Shell::Default>.
+This pod text explains how to write your own plugins for
+C<CPANPLUS::Shell::Default>.
=head1 HOWTO
@@ -34,18 +34,18 @@ C<.pm> file.
=head2 Registering Plugin Commands
To register any plugin commands, a list of key value pairs must be returned
-by a C<plugins> method in your package. The keys are the commands you wish
+by a C<plugins> method in your package. The keys are the commands you wish
to register, the values are the methods in the plugin package you wish to have
called when the command is issued.
For example, a simple 'Hello, World!' plugin:
package CPANPLUS::Shell::Default::Plugins::HW;
-
+
sub plugins { return ( helloworld => 'hw' ) };
-
+
sub hw { print "Hello, world!\n" }
-
+
When the user in the default shell now issues the C</helloworld> command,
this command will be dispatched to the plugin, and its C<hw> method will
be called
@@ -60,7 +60,7 @@ For example, extending the above example, when a user calls C</? helloworld>,
the function C<hw_help> will be called, which might look like this:
sub hw_help { " /helloworld # prints "Hello, world!\n" }
-
+
If you dont provide a corresponding _help function to your commands, the
default shell will handle it gracefully, but the user will be stuck without
usage information on your commands, so it's considered undesirable to omit
@@ -90,8 +90,8 @@ are all positional:
For example, the following command:
/helloworld bob --nofoo --bar=2 joe
-
-Would yield the following arguments:
+
+Would yield the following arguments:
sub hw {
my $class = shift; # CPANPLUS::Shell::Default::Plugins::HW
@@ -115,10 +115,10 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-The CPAN++ interface (of which this module is a part of) is copyright (c)
+The CPAN++ interface (of which this module is a part of) is copyright (c)
2001 - 2007, Jos Boumans E<lt>kane@cpan.orgE<gt>. All rights reserved.
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm
index d2b829abded..9d14a5976dc 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm
@@ -9,7 +9,7 @@ use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
=head1 NAME
-CPANPLUS::Shell::Default::Plugins::Remote
+CPANPLUS::Shell::Default::Plugins::Remote - connect to a remote CPANPLUS
=head1 SYNOPSIS
@@ -29,17 +29,17 @@ like this:
CPAN Terminal> /connect --user=my_user --pass=secret localhost 1337
Connection accepted
-
+
Successfully connected to 'localhost' on port '11337'
-
+
Note that no output will appear until a command has completed
-- this may take a while
CPAN Terminal@localhost> o; i *
-
+
[....]
-
+
CPAN Terminal@localhost> /disconnect
CPAN Terminal>
@@ -139,7 +139,7 @@ sub disconnect {
}
sub connect_help {
- return loc(
+ return loc(
" /connect [HOST PORT] # Connect to the remote machine,\n" .
" # defaults taken from your config\n" .
" --user=USER # Optional username\n" .
@@ -151,8 +151,8 @@ sub disconnect_help {
" /disconnect # Disconnect from the remote server" );
}
-1;
-
+1;
+
=pod
=head1 BUG REPORTS
@@ -165,10 +165,10 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-The CPAN++ interface (of which this module is a part of) is copyright (c)
+The CPAN++ interface (of which this module is a part of) is copyright (c)
2001 - 2007, Jos Boumans E<lt>kane@cpan.orgE<gt>. All rights reserved.
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/Source.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/Source.pm
index 889b3d3d9bd..74c3582ffb4 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/Source.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Shell/Default/Plugins/Source.pm
@@ -6,7 +6,7 @@ use Locale::Maketext::Simple Class => 'CPANPLUS', Style => 'gettext';
=head1 NAME
-CPANPLUS::Shell::Default::Plugins::Source
+CPANPLUS::Shell::Default::Plugins::Source - read in CPANPLUS commands
=head1 SYNOPSIS
@@ -23,12 +23,12 @@ A sample file might look like this:
# first, update all the source files
x --update_source
- # find all of my modules that are on the CPAN
+ # find all of my modules that are on the CPAN
# test them, and store the error log
a ^KANE$'
t *
p /home/kane/cpan-autotest/log
-
+
# and inform us we're good to go
! print "Autotest complete, log stored; please enter your commands!"
@@ -48,20 +48,20 @@ sub source {
my $input = shift || '';
my $opts = shift || {};
my $verbose = $cb->configure_object->get_conf('verbose');
-
+
for my $file ( split /\s+/, $input ) {
- my $fh = FileHandle->new("$file") or(
+ my $fh = FileHandle->new("$file") or(
error(loc("Could not open file '%1': %2", $file, $!)),
next
);
-
+
while( my $line = <$fh> ) {
chomp $line;
-
+
next if $line !~ /\S+/; # skip empty/whitespace only lines
next if $line =~ /^#/; # skip comments
-
- msg(loc("Dispatching '%1'", $line), $verbose);
+
+ msg(loc("Dispatching '%1'", $line), $verbose);
return 1 if $shell->dispatch_on_input( input => $line );
}
}
@@ -86,10 +86,10 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-The CPAN++ interface (of which this module is a part of) is copyright (c)
+The CPAN++ interface (of which this module is a part of) is copyright (c)
2001 - 2007, Jos Boumans E<lt>kane@cpan.orgE<gt>. All rights reserved.
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/Carp.pm b/Master/tlpkg/tlperl/lib/Carp.pm
index 77fc2a1e2c1..51df862dd5b 100644
--- a/Master/tlpkg/tlperl/lib/Carp.pm
+++ b/Master/tlpkg/tlperl/lib/Carp.pm
@@ -1,9 +1,30 @@
package Carp;
+{ use 5.006; }
use strict;
use warnings;
-our $VERSION = '1.20';
+BEGIN {
+ no strict "refs";
+ if(exists($::{"utf8::"}) && exists(*{$::{"utf8::"}}{HASH}->{"is_utf8"}) &&
+ defined(*{*{$::{"utf8::"}}{HASH}->{"is_utf8"}}{CODE})) {
+ *is_utf8 = \&{"utf8::is_utf8"};
+ } else {
+ *is_utf8 = sub { 0 };
+ }
+}
+
+BEGIN {
+ no strict "refs";
+ if(exists($::{"utf8::"}) && exists(*{$::{"utf8::"}}{HASH}->{"downgrade"}) &&
+ defined(*{*{$::{"utf8::"}}{HASH}->{"downgrade"}}{CODE})) {
+ *downgrade = \&{"utf8::downgrade"};
+ } else {
+ *downgrade = sub {};
+ }
+}
+
+our $VERSION = '1.26';
our $MaxEvalLen = 0;
our $Verbose = 0;
@@ -81,13 +102,29 @@ sub confess { die longmess @_ }
sub carp { warn shortmess @_ }
sub cluck { warn longmess @_ }
+BEGIN {
+ if("$]" >= 5.015002 || ("$]" >= 5.014002 && "$]" < 5.015) ||
+ ("$]" >= 5.012005 && "$]" < 5.013)) {
+ *CALLER_OVERRIDE_CHECK_OK = sub () { 1 };
+ } else {
+ *CALLER_OVERRIDE_CHECK_OK = sub () { 0 };
+ }
+}
+
sub caller_info {
my $i = shift(@_) + 1;
my %call_info;
my $cgc = _cgc();
{
+ # Some things override caller() but forget to implement the
+ # @DB::args part of it, which we need. We check for this by
+ # pre-populating @DB::args with a sentinel which no-one else
+ # has the address of, so that we can detect whether @DB::args
+ # has been properly populated. However, on earlier versions
+ # of perl this check tickles a bug in CORE::caller() which
+ # leaks memory. So we only check on fixed perls.
+ @DB::args = \$i if CALLER_OVERRIDE_CHECK_OK;
package DB;
- @DB::args = \$i; # A sentinel, which no-one else has the address of
@call_info{
qw(pack file line sub has_args wantarray evaltext is_require) }
= $cgc ? $cgc->($i) : caller($i);
@@ -100,14 +137,19 @@ sub caller_info {
my $sub_name = Carp::get_subname( \%call_info );
if ( $call_info{has_args} ) {
my @args;
- if ( @DB::args == 1
+ if (CALLER_OVERRIDE_CHECK_OK && @DB::args == 1
&& ref $DB::args[0] eq ref \$i
&& $DB::args[0] == \$i ) {
@DB::args = (); # Don't let anyone see the address of $i
local $@;
my $where = eval {
my $func = $cgc or return '';
- my $gv = B::svref_2object($func)->GV;
+ my $gv =
+ *{
+ ( $::{"B::"} || return '') # B stash
+ ->{svref_2object} || return '' # entry in stash
+ }{CODE} # coderef in entry
+ ->($func)->GV;
my $package = $gv->STASH->NAME;
my $subname = $gv->NAME;
return unless defined $package && defined $subname;
@@ -115,7 +157,7 @@ sub caller_info {
# returning CORE::GLOBAL::caller isn't useful for tracing the cause:
return if $package eq 'CORE::GLOBAL' && $subname eq 'caller';
" in &${package}::$subname";
- } // '';
+ } || '';
@args
= "** Incomplete caller override detected$where; \@DB::args were not set **";
}
@@ -146,16 +188,20 @@ sub format_arg {
$arg = str_len_trim( $arg, $MaxArgLen );
# Quote it?
+ # Downgrade, and use [0-9] rather than \d, to avoid loading
+ # Unicode tables, which would be liable to fail if we're
+ # processing a syntax error.
+ downgrade($arg, 1);
$arg = "'$arg'" unless $arg =~ /^-?[0-9.]+\z/;
- } # 0-9, not \d, as \d will try to
- else { # load Unicode tables
+ }
+ else {
$arg = 'undef';
}
# The following handling of "control chars" is direct from
# the original code - it is broken on Unicode though.
# Suggestions?
- utf8::is_utf8($arg)
+ is_utf8($arg)
or $arg =~ s/([[:cntrl:]]|[[:^ascii:]])/sprintf("\\x{%x}",ord($1))/eg;
return $arg;
}
@@ -240,7 +286,18 @@ sub ret_backtrace {
}
my %i = caller_info($i);
- $mess = "$err at $i{file} line $i{line}$tid_msg\n";
+ $mess = "$err at $i{file} line $i{line}$tid_msg";
+ if( defined $. ) {
+ local $@ = '';
+ local $SIG{__DIE__};
+ eval {
+ CORE::die;
+ };
+ if($@ =~ /^Died at .*(, <.*?> line \d+).$/ ) {
+ $mess .= $1;
+ }
+ }
+ $mess .= "\.\n";
while ( my %i = caller_info( ++$i ) ) {
$mess .= "\t$i{sub_name} called at $i{file} line $i{line}$tid_msg\n";
@@ -261,7 +318,7 @@ sub ret_summary {
}
my %i = caller_info($i);
- return "$err at $i{file} line $i{line}$tid_msg\n";
+ return "$err at $i{file} line $i{line}$tid_msg\.\n";
}
sub short_error_loc {
@@ -345,6 +402,18 @@ sub trusts_directly {
: @{"$class\::ISA"};
}
+if(!defined($warnings::VERSION) ||
+ do { no warnings "numeric"; $warnings::VERSION < 1.03 }) {
+ # Very old versions of warnings.pm import from Carp. This can go
+ # wrong due to the circular dependency. If Carp is invoked before
+ # warnings, then Carp starts by loading warnings, then warnings
+ # tries to import from Carp, and gets nothing because Carp is in
+ # the process of loading and hasn't defined its import method yet.
+ # So we work around that by manually exporting to warnings here.
+ no strict "refs";
+ *{"warnings::$_"} = \&$_ foreach @EXPORT;
+}
+
1;
__END__
@@ -576,3 +645,25 @@ The Carp routines don't handle exception objects currently.
If called with a first argument that is a reference, they simply
call die() or warn(), as appropriate.
+=head1 SEE ALSO
+
+L<Carp::Always>,
+L<Carp::Clan>
+
+=head1 AUTHOR
+
+The Carp module first appeared in Larry Wall's perl 5.000 distribution.
+Since then it has been modified by several of the perl 5 porters.
+Andrew Main (Zefram) <zefram@fysh.org> divested Carp into an independent
+distribution.
+
+=head1 COPYRIGHT
+
+Copyright (C) 1994-2012 Larry Wall
+
+Copyright (C) 2011, 2012 Andrew Main (Zefram) <zefram@fysh.org>
+
+=head1 LICENSE
+
+This module is free software; you can redistribute it and/or modify it
+under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Carp/Heavy.pm b/Master/tlpkg/tlperl/lib/Carp/Heavy.pm
index 38f95d8a5aa..3147d9b27a7 100644
--- a/Master/tlpkg/tlperl/lib/Carp/Heavy.pm
+++ b/Master/tlpkg/tlperl/lib/Carp/Heavy.pm
@@ -1,10 +1,13 @@
-package Carp;
+package Carp::Heavy;
-# On one line so MakeMaker will see it.
-use Carp; our $VERSION = $Carp::VERSION;
+use Carp ();
+
+our $VERSION = '1.26';
1;
-# Most of the machinery of Carp used to be there.
+# Most of the machinery of Carp used to be here.
# It has been moved in Carp.pm now, but this placeholder remains for
# the benefit of modules that like to preload Carp::Heavy directly.
+# This must load Carp, because some modules rely on the historical
+# behaviour of Carp::Heavy loading Carp.
diff --git a/Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm b/Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm
index 9aadba333b0..43a5fbcc5bb 100644
--- a/Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm
+++ b/Master/tlpkg/tlperl/lib/Compress/Raw/Bzip2.pm
@@ -4,7 +4,7 @@ package Compress::Raw::Bzip2;
use strict ;
use warnings ;
-require 5.004 ;
+require 5.006 ;
require Exporter;
use AutoLoader;
use Carp ;
@@ -12,7 +12,7 @@ use Carp ;
use bytes ;
our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD);
-$VERSION = '2.033';
+$VERSION = '2.048';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -91,6 +91,31 @@ or do {
# return wantarray ? ($obj, $status) : $obj;
#}
+sub Compress::Raw::Bzip2::STORABLE_freeze
+{
+ my $type = ref shift;
+ croak "Cannot freeze $type object\n";
+}
+
+sub Compress::Raw::Bzip2::STORABLE_thaw
+{
+ my $type = ref shift;
+ croak "Cannot thaw $type object\n";
+}
+
+sub Compress::Raw::Bunzip2::STORABLE_freeze
+{
+ my $type = ref shift;
+ croak "Cannot freeze $type object\n";
+}
+
+sub Compress::Raw::Bunzip2::STORABLE_thaw
+{
+ my $type = ref shift;
+ croak "Cannot thaw $type object\n";
+}
+
+
package Compress::Raw::Bzip2;
1;
@@ -334,7 +359,7 @@ The following bzip2 constants are exported by this module
L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
L<Archive::Tar|Archive::Tar>,
@@ -354,7 +379,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2012 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Compress/Raw/Zlib.pm b/Master/tlpkg/tlperl/lib/Compress/Raw/Zlib.pm
index 8b17dcc9f39..3a4bcfffda6 100644
--- a/Master/tlpkg/tlperl/lib/Compress/Raw/Zlib.pm
+++ b/Master/tlpkg/tlperl/lib/Compress/Raw/Zlib.pm
@@ -1,33 +1,66 @@
package Compress::Raw::Zlib;
-require 5.004 ;
+require 5.006 ;
require Exporter;
use AutoLoader;
use Carp ;
-#use Parse::Parameters;
-
use strict ;
use warnings ;
use bytes ;
-our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD);
+our ($VERSION, $XS_VERSION, @ISA, @EXPORT, %EXPORT_TAGS, @EXPORT_OK, $AUTOLOAD, %DEFLATE_CONSTANTS, @DEFLATE_CONSTANTS );
-$VERSION = '2.033';
+$VERSION = '2.048';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@ISA = qw(Exporter);
+%EXPORT_TAGS = ( flush => [qw{
+ Z_NO_FLUSH
+ Z_PARTIAL_FLUSH
+ Z_SYNC_FLUSH
+ Z_FULL_FLUSH
+ Z_FINISH
+ Z_BLOCK
+ }],
+ level => [qw{
+ Z_NO_COMPRESSION
+ Z_BEST_SPEED
+ Z_BEST_COMPRESSION
+ Z_DEFAULT_COMPRESSION
+ }],
+ strategy => [qw{
+ Z_FILTERED
+ Z_HUFFMAN_ONLY
+ Z_RLE
+ Z_FIXED
+ Z_DEFAULT_STRATEGY
+ }],
+ status => [qw{
+ Z_OK
+ Z_STREAM_END
+ Z_NEED_DICT
+ Z_ERRNO
+ Z_STREAM_ERROR
+ Z_DATA_ERROR
+ Z_MEM_ERROR
+ Z_BUF_ERROR
+ Z_VERSION_ERROR
+ }],
+ );
+
+%DEFLATE_CONSTANTS = %EXPORT_TAGS;
+
# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.
+@DEFLATE_CONSTANTS =
@EXPORT = qw(
- adler32 crc32
-
ZLIB_VERSION
ZLIB_VERNUM
- DEF_WBITS
+
OS_CODE
MAX_MEM_LEVEL
@@ -68,6 +101,8 @@ $VERSION = eval $VERSION;
WANT_GZIP_OR_ZLIB
);
+push @EXPORT, qw(crc32 adler32 DEF_WBITS);
+
use constant WANT_GZIP => 16;
use constant WANT_GZIP_OR_ZLIB => 32;
@@ -383,6 +418,19 @@ sub Compress::Raw::Zlib::Deflate::new
}
+sub Compress::Raw::Zlib::deflateStream::STORABLE_freeze
+{
+ my $type = ref shift;
+ croak "Cannot freeze $type object\n";
+}
+
+sub Compress::Raw::Zlib::deflateStream::STORABLE_thaw
+{
+ my $type = ref shift;
+ croak "Cannot thaw $type object\n";
+}
+
+
sub Compress::Raw::Zlib::Inflate::new
{
my $pkg = shift ;
@@ -420,6 +468,18 @@ sub Compress::Raw::Zlib::Inflate::new
$got->value('Dictionary')) ;
}
+sub Compress::Raw::Zlib::inflateStream::STORABLE_freeze
+{
+ my $type = ref shift;
+ croak "Cannot freeze $type object\n";
+}
+
+sub Compress::Raw::Zlib::inflateStream::STORABLE_thaw
+{
+ my $type = ref shift;
+ croak "Cannot thaw $type object\n";
+}
+
sub Compress::Raw::Zlib::InflateScan::new
{
my $pkg = shift ;
@@ -580,6 +640,7 @@ Compress::Raw::Zlib - Low-Level Interface to zlib compression library
$crc = crc32_combine($adler1, $adler2, $len2)
my $version = Compress::Raw::Zlib::zlib_version();
+ my $flags = Compress::Raw::Zlib::zlibCompileFlags();
=head1 DESCRIPTION
@@ -1241,6 +1302,17 @@ These functions allow checksums to be merged.
Returns the version of the zlib library.
+=head2 my $flags = Compress::Raw::Zlib::zlibCompileFlags();
+
+Returns the flags indicating compile-time options that were used to build
+the zlib library. See the zlib documentation for a description of the flags
+returned by C<zlibCompileFlags>.
+
+Note that when the zlib sources are built along with this module the
+C<sprintf> flags (bits 24, 25 and 26) should be ignored.
+
+If you are using zlib 1.2.0 or older, C<zlibCompileFlags> will return 0.
+
=head1 The LimitOutput option.
By default C<< $i->inflate($input, $output) >> will uncompress I<all> data
@@ -1384,6 +1456,101 @@ to access .zip files, there are other perl modules available that will
do all the hard work for you. Check out C<Archive::Zip>,
C<IO::Compress::Zip> and C<IO::Uncompress::Unzip>.
+=head1 FAQ
+
+=head2 Compatibility with Unix compress/uncompress.
+
+This module is not compatible with Unix C<compress>.
+
+If you have the C<uncompress> program available, you can use this to read
+compressed files
+
+ open F, "uncompress -c $filename |";
+ while (<F>)
+ {
+ ...
+
+Alternatively, if you have the C<gunzip> program available, you can use
+this to read compressed files
+
+ open F, "gunzip -c $filename |";
+ while (<F>)
+ {
+ ...
+
+and this to write compress files, if you have the C<compress> program
+available
+
+ open F, "| compress -c $filename ";
+ print F "data";
+ ...
+ close F ;
+
+=head2 Accessing .tar.Z files
+
+See previous FAQ item.
+
+If the C<Archive::Tar> module is installed and either the C<uncompress> or
+C<gunzip> programs are available, you can use one of these workarounds to
+read C<.tar.Z> files.
+
+Firstly with C<uncompress>
+
+ use strict;
+ use warnings;
+ use Archive::Tar;
+
+ open F, "uncompress -c $filename |";
+ my $tar = Archive::Tar->new(*F);
+ ...
+
+and this with C<gunzip>
+
+ use strict;
+ use warnings;
+ use Archive::Tar;
+
+ open F, "gunzip -c $filename |";
+ my $tar = Archive::Tar->new(*F);
+ ...
+
+Similarly, if the C<compress> program is available, you can use this to
+write a C<.tar.Z> file
+
+ use strict;
+ use warnings;
+ use Archive::Tar;
+ use IO::File;
+
+ my $fh = new IO::File "| compress -c >$filename";
+ my $tar = Archive::Tar->new();
+ ...
+ $tar->write($fh);
+ $fh->close ;
+
+=head2 Zlib Library Version Support
+
+By default C<Compress::Raw::Zlib> will build with a private copy of version
+1.2.5 of the zlib library. (See the F<README> file for details of
+how to override this behaviour)
+
+If you decide to use a different version of the zlib library, you need to be
+aware of the following issues
+
+=over 5
+
+=item *
+
+First off, you must have zlib 1.0.5 or better.
+
+=item *
+
+You need to have zlib 1.2.1 or better if you want to use the C<-Merge>
+option with C<IO::Compress::Gzip>, C<IO::Compress::Deflate> and
+C<IO::Compress::RawDeflate>.
+
+=back
+
=head1 CONSTANTS
All the I<zlib> constants are automatically imported when you make use
@@ -1393,7 +1560,7 @@ of I<Compress::Raw::Zlib>.
L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
L<Archive::Tar|Archive::Tar>,
@@ -1422,7 +1589,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2012 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Compress/Zlib.pm b/Master/tlpkg/tlperl/lib/Compress/Zlib.pm
index db206366b51..db13bb03860 100644
--- a/Master/tlpkg/tlperl/lib/Compress/Zlib.pm
+++ b/Master/tlpkg/tlperl/lib/Compress/Zlib.pm
@@ -1,23 +1,23 @@
package Compress::Zlib;
-require 5.004 ;
+require 5.006 ;
require Exporter;
use Carp ;
use IO::Handle ;
use Scalar::Util qw(dualvar);
-use IO::Compress::Base::Common 2.033 ;
-use Compress::Raw::Zlib 2.033 ;
-use IO::Compress::Gzip 2.033 ;
-use IO::Uncompress::Gunzip 2.033 ;
+use IO::Compress::Base::Common 2.048 ;
+use Compress::Raw::Zlib 2.048 ;
+use IO::Compress::Gzip 2.048 ;
+use IO::Uncompress::Gunzip 2.048 ;
use strict ;
use warnings ;
use bytes ;
our ($VERSION, $XS_VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-$VERSION = '2.033';
+$VERSION = '2.048';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -87,15 +87,16 @@ sub _set_gzerr_undef
_set_gzerr(@_);
return undef;
}
+
sub _save_gzerr
{
my $gz = shift ;
my $test_eof = shift ;
my $value = $gz->errorNo() || 0 ;
+ my $eof = $gz->eof() ;
if ($test_eof) {
- #my $gz = $self->[0] ;
# gzread uses Z_STREAM_END to denote a successful end
$value = Z_STREAM_END() if $gz->eof() && $value == 0 ;
}
@@ -162,13 +163,14 @@ sub Compress::Zlib::gzFile::gzread
my $len = defined $_[1] ? $_[1] : 4096 ;
+ my $gz = $self->[0] ;
if ($self->gzeof() || $len == 0) {
# Zap the output buffer to match ver 1 behaviour.
$_[0] = "" ;
+ _save_gzerr($gz, 1);
return 0 ;
}
- my $gz = $self->[0] ;
my $status = $gz->read($_[0], $len) ;
_save_gzerr($gz, 1);
return $status ;
@@ -451,7 +453,7 @@ sub inflate
package Compress::Zlib ;
-use IO::Compress::Gzip::Constants 2.033 ;
+use IO::Compress::Gzip::Constants 2.048 ;
sub memGzip($)
{
@@ -576,7 +578,7 @@ sub memGunzip($)
substr($$string, 0, 8) = '';
return _set_gzerr_undef(Z_DATA_ERROR())
unless $len == length($output) and
- $crc == crc32($output);
+ $crc == Compress::Raw::Zlib::crc32($output);
}
else
{
@@ -698,7 +700,7 @@ enhancements/changes have been made to the C<gzopen> interface:
=item 1
-If you want to to open either STDIN or STDOUT with C<gzopen>, you can now
+If you want to open either STDIN or STDOUT with C<gzopen>, you can now
optionally use the special filename "C<->" as a synonym for C<\*STDIN> and
C<\*STDOUT>.
@@ -1447,7 +1449,7 @@ of I<Compress::Zlib>.
L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
L<Archive::Tar|Archive::Tar>,
@@ -1476,7 +1478,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 1995-2011 Paul Marquess. All rights reserved.
+Copyright (c) 1995-2012 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Config.pm b/Master/tlpkg/tlperl/lib/Config.pm
index 2c05af8a161..2000dffc07e 100644
--- a/Master/tlpkg/tlperl/lib/Config.pm
+++ b/Master/tlpkg/tlperl/lib/Config.pm
@@ -54,11 +54,11 @@ sub import {
return;
}
-die "Perl lib version (5.14.2) doesn't match executable '$0' version ($])"
+die "Perl lib version (5.16.2) doesn't match executable '$0' version ($])"
unless $^V;
-$^V eq 5.14.2
- or die "Perl lib version (5.14.2) doesn't match executable '$0' version (" .
+$^V eq 5.16.2
+ or die "Perl lib version (5.16.2) doesn't match executable '$0' version (" .
sprintf("v%vd",$^V) . ")";
@@ -111,5 +111,5 @@ tie %Config, 'Config', {
so => 'dll',
useithreads => 'define',
usevendorprefix => undef,
- version => '5.14.2',
+ version => '5.16.2',
};
diff --git a/Master/tlpkg/tlperl/lib/Config.pm.orig b/Master/tlpkg/tlperl/lib/Config.pm.orig
index b4a3087e763..599da3989ca 100644
--- a/Master/tlpkg/tlperl/lib/Config.pm.orig
+++ b/Master/tlpkg/tlperl/lib/Config.pm.orig
@@ -54,11 +54,11 @@ sub import {
return;
}
-die "Perl lib version (5.14.2) doesn't match executable '$0' version ($])"
+die "Perl lib version (5.16.2) doesn't match executable '$0' version ($])"
unless $^V;
-$^V eq 5.14.2
- or die "Perl lib version (5.14.2) doesn't match executable '$0' version (" .
+$^V eq 5.16.2
+ or die "Perl lib version (5.16.2) doesn't match executable '$0' version (" .
sprintf("v%vd",$^V) . ")";
@@ -83,7 +83,7 @@ sub AUTOLOAD {
# tie returns the object, so the value returned to require will be true.
tie %Config, 'Config', {
- archlibexp => 'x:\\tlperl\\lib',
+ archlibexp => 'c:\\perl\\lib',
archname => 'MSWin32-x86-multi-thread',
cc => 'gcc',
d_readlink => undef,
@@ -95,16 +95,16 @@ tie %Config, 'Config', {
inc_version_list => '',
intsize => '4',
ldlibpthname => '',
- libpth => 'C:\\MinGW\\lib',
+ libpth => 'X:\\MinGW\\lib',
osname => 'MSWin32',
osvers => '5.1',
path_sep => ';',
- privlibexp => 'x:\\tlperl\\lib',
- scriptdir => 'x:\\tlperl\\bin',
- sitearchexp => 'x:\\tlperl\\site\\lib',
- sitelibexp => 'x:\\tlperl\\site\\lib',
+ privlibexp => 'c:\\perl\\lib',
+ scriptdir => 'c:\\perl\\bin',
+ sitearchexp => 'c:\\perl\\site\\lib',
+ sitelibexp => 'c:\\perl\\site\\lib',
so => 'dll',
useithreads => 'define',
usevendorprefix => undef,
- version => '5.14.2',
+ version => '5.16.2',
};
diff --git a/Master/tlpkg/tlperl/lib/Config.pod b/Master/tlpkg/tlperl/lib/Config.pod
index c4bcd0f14f0..c14aa382366 100644
--- a/Master/tlpkg/tlperl/lib/Config.pod
+++ b/Master/tlpkg/tlperl/lib/Config.pod
@@ -41,7 +41,7 @@ http://perl5.git.perl.org/perl.git/blob/HEAD:/Porting/Glossary
=item myconfig()
Returns a textual summary of the major perl configuration values.
-See also C<-V> in L<perlrun/Switches>.
+See also C<-V> in L<perlrun/Command Switches>.
=item config_sh()
@@ -61,7 +61,7 @@ printed on a separate line in the form:
name='value';
Names which are unknown are output as C<name='UNKNOWN';>.
-See also C<-V:name> in L<perlrun/Switches>.
+See also C<-V:name> in L<perlrun/Command Switches>.
=item bincompat_options()
@@ -621,8 +621,8 @@ From F<Options.U>:
This variable contains the number of command-line arguments
passed to Configure, as reported by the shell in the $# variable.
-The individual arguments are stored as variables config_argc1,
-config_argc2, etc.
+The individual arguments are stored as variables config_arg1,
+config_arg2, etc.
=item C<config_args>
@@ -2214,6 +2214,13 @@ From F<d_int64_t.U>:
This symbol will be defined if the C compiler supports int64_t.
+=item C<d_ipv6_mreq>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the HAS_IPV6_MREQ symbol, which
+indicates the availability of a struct ipv6_mreq.
+
=item C<d_isascii>
From F<d_isascii.U>:
@@ -2221,6 +2228,13 @@ From F<d_isascii.U>:
This variable conditionally defines the C<HAS_ISASCII> constant,
which indicates to the C program that isascii() is available.
+=item C<d_isblank>
+
+From F<d_isblank.U>:
+
+This variable conditionally defines the C<HAS_ISBLANK> constant,
+which indicates to the C program that isblank() is available.
+
=item C<d_isfinite>
From F<d_isfinite.U>:
@@ -3560,6 +3574,13 @@ This variable conditionally defines the C<HAS_SNPRINTF> symbol, which
indicates to the C program that the snprintf () library function
is available.
+=item C<d_sockaddr_in6>
+
+From F<d_socket.U>:
+
+This variable conditionally defines the HAS_SOCKADDR_IN6 symbol, which
+indicates the availability of a struct sockaddr_in6.
+
=item C<d_sockaddr_sa_len>
From F<d_socket.U>:
@@ -5378,6 +5399,14 @@ This variable conditionally defines the C<I_STDARG> symbol, which
indicates to the C program that <stdarg.h> exists and should
be included.
+=item C<i_stdbool>
+
+From F<i_stdbool.U>:
+
+This variable conditionally defines the C<I_STDBOOL> symbol, which
+indicates to the C program that <stdbool.h> exists and should
+be included.
+
=item C<i_stddef>
From F<i_stddef.U>:
@@ -6091,6 +6120,14 @@ libraries for dynamic loading. On some systems, it is C<ld>.
On C<ELF> systems, it should be $cc. Mostly, we'll try to respect
the hint file setting.
+=item C<ld_can_script>
+
+From F<dlsrc.U>:
+
+This variable shows if the loader accepts scripts in the form of
+-Wl,--version-script=F<ld.script>. This is currently only supported
+for C<GNU> ld on C<ELF> in dynamic loading builds.
+
=item C<lddlflags>
From F<dlsrc.U>:
@@ -7976,6 +8013,19 @@ long or int. It is used by functions that return a count
of bytes or an error condition. It must be a signed type.
We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
+=item C<st_ino_sign>
+
+From F<st_ino_def.U>:
+
+This variable contains the signedness of struct stat's st_ino.
+1 for unsigned, -1 for signed.
+
+=item C<st_ino_size>
+
+From F<st_ino_def.U>:
+
+This variable contains the size of struct stat's st_ino in bytes.
+
=item C<startperl>
From F<startperl.U>:
@@ -8411,6 +8461,14 @@ This variable conditionally defines the C<USE_ITHREADS> symbol,
and indicates that Perl should be built to use the interpreter-based
threading implementation.
+=item C<usekernprocpathname>
+
+From F<usekernprocpathname.U>:
+
+This variable, indicates that we can use sysctl with
+C<KERN_PROC_PATHNAME> to get a full path for the executable, and hence
+convert $^X to an absolute path.
+
=item C<uselargefiles>
From F<uselfs.U>:
@@ -8465,6 +8523,14 @@ From F<usenm.U>:
This variable contains C<true> or C<false> depending whether the
nm extraction is wanted or not.
+=item C<usensgetexecutablepath>
+
+From F<usensgetexecutablepath.U>:
+
+This symbol, if defined, indicates that we can use _NSGetExecutablePath
+and realpath to get a full path for the executable, and hence convert
+$^X to an absolute path.
+
=item C<useopcode>
From F<Extensions.U>:
diff --git a/Master/tlpkg/tlperl/lib/Config_heavy.pl b/Master/tlpkg/tlperl/lib/Config_heavy.pl
index d7aa3528699..16d50afc6ee 100644
--- a/Master/tlpkg/tlperl/lib/Config_heavy.pl
+++ b/Master/tlpkg/tlperl/lib/Config_heavy.pl
@@ -142,15 +142,15 @@ Header=''
Id='\$Id'
Locker=''
Log='\$Log'
-PATCHLEVEL='14'
+PATCHLEVEL='16'
PERL_API_REVISION='5'
PERL_API_SUBVERSION='0'
-PERL_API_VERSION='14'
+PERL_API_VERSION='16'
PERL_CONFIG_SH='true'
PERL_PATCHLEVEL=''
PERL_REVISION='5'
PERL_SUBVERSION='2'
-PERL_VERSION='14'
+PERL_VERSION='16'
RCSfile='\$RCSfile'
Revision='\$Revision'
SUBVERSION='2'
@@ -166,8 +166,8 @@ ansi2knr=''
aphostname=''
api_revision='5'
api_subversion='0'
-api_version='14'
-api_versionstring='5.14.0'
+api_version='16'
+api_versionstring='5.16.0'
ar='ar'
archlib='$rootdir\\lib'
archlibexp='$rootdir\\lib'
@@ -189,14 +189,14 @@ cat='type'
cc='gcc'
cccdlflags=' '
ccdlflags=' '
-ccflags=' -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields'
+ccflags=' -s -O0 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields'
ccflags_uselargefiles=''
ccname='gcc'
ccsymbols=''
ccversion=''
cf_by='siepo'
cf_email='tex-live\@tug.org'
-cf_time='Fri May 18 10:52:25 2012'
+cf_time='Fri Nov 16 21:24:42 2012'
charbits='8'
chgrp=''
chmod=''
@@ -417,7 +417,9 @@ d_inetaton='undef'
d_inetntop='undef'
d_inetpton='undef'
d_int64_t='undef'
+d_ipv6_mreq='undef'
d_isascii='define'
+d_isblank='undef'
d_isfinite='undef'
d_isinf='undef'
d_isnan='define'
@@ -581,6 +583,7 @@ d_sigsetjmp='undef'
d_sin6_scope_id='define'
d_sitearch='define'
d_snprintf='define'
+d_sockaddr_in6='undef'
d_sockaddr_sa_len='undef'
d_sockatmark='undef'
d_sockatmarkproto='undef'
@@ -686,7 +689,7 @@ doublesize='8'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
drand48_r_proto='0'
dtrace=''
-dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash IO List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize Win32 Win32API/File XS/APItest XS/Typemap attributes mro re threads threads/shared'
+dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash IO List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize Win32 Win32API/File XS/APItest XS/Typemap arybase attributes mro re threads threads/shared'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
@@ -701,7 +704,7 @@ endservent_r_proto='0'
eunicefix=':'
exe_ext='.exe'
expr='expr'
-extensions='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B B/Debug B/Deparse B/Lint CGI CPAN CPAN/Meta CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS Fcntl File/CheckTree File/Fetch File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags IO IO/Compress IO/Zlib IPC/Cmd IPC/Open2 IPC/Open3 JSON/PP List/Util Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable NEXT Net/Ping Object/Accessor Opcode POSIX Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/encoding PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Escapes Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple SDBM_File Safe SelfLoader Shell Socket Storable Sys/Hostname Term/ANSIColor Term/Cap Term/UI Test Test/Harness Test/Simple Text/Balanced Text/ParseWords Text/Soundex Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize Version/Requirements Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader attributes autodie autouse base bignum constant encoding/warnings if lib libnet mro parent podlators re threads threads/shared'
+extensions='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B B/Debug B/Deparse B/Lint CGI CPAN CPAN/Meta CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS Fcntl File/CheckTree File/Fetch File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags IO IO/Compress IO/Zlib IPC/Cmd IPC/Open3 JSON/PP List/Util Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable NEXT Net/Ping Object/Accessor Opcode POSIX Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Escapes Pod/Functions Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Term/UI Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Soundex Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize Version/Requirements Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader arybase attributes autodie autouse base bignum constant encoding/warnings if lib libnet mro parent perlfaq podlators re threads threads/shared'
extern_C='extern'
extras=''
fflushNULL='define'
@@ -811,6 +814,7 @@ i_sgtty='undef'
i_shadow='undef'
i_socks='undef'
i_stdarg='define'
+i_stdbool='undef'
i_stddef='define'
i_stdlib='define'
i_string='define'
@@ -895,7 +899,7 @@ issymlink=''
ivdformat='"ld"'
ivsize='4'
ivtype='long'
-known_extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize VMS/DCLsym VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap attributes mro re threads threads/shared'
+known_extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize VMS/DCLsym VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap arybase attributes mro re threads threads/shared'
ksh=''
ld='g++'
lddlflags='-mdll -s -L"$rootdir\\lib\\CORE" -L"$mingdir\\lib"'
@@ -905,7 +909,7 @@ ldlibpthname=''
less='less'
lib_ext='.a'
libc=''
-libperl='libperl514.a'
+libperl='libperl516.a'
libpth='$mingdir\\lib'
libs='-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32'
libsdirs=''
@@ -968,7 +972,7 @@ netdb_net_type='long'
nm='nm'
nm_opt=''
nm_so_opt=''
-nonxs_ext='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B/Debug B/Deparse B/Lint CGI CPAN CPAN/Meta CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Devel/SelfStubber Digest Dumpvalue Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS File/CheckTree File/Fetch File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Zlib IPC/Cmd IPC/Open2 IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable NEXT Net/Ping Object/Accessor Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Escapes Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple Safe SelfLoader Shell Term/ANSIColor Term/Cap Term/UI Test Test/Harness Test/Simple Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local Version/Requirements XSLoader autodie autouse base bignum constant encoding/warnings if lib libnet parent podlators'
+nonxs_ext='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B/Debug B/Deparse B/Lint CGI CPAN CPAN/Meta CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Carp Devel/SelfStubber Digest Dumpvalue Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS File/CheckTree File/Fetch File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable NEXT Net/Ping Object/Accessor Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Escapes Pod/Functions Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Term/UI Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local Version/Requirements XSLoader autodie autouse base bignum constant encoding/warnings if lib libnet parent perlfaq podlators'
nroff=''
nvEUformat='"E"'
nvFUformat='"F"'
@@ -983,7 +987,7 @@ nvtype='double'
o_nonblock='O_NONBLOCK'
obj_ext='.o'
old_pthread_create_joinable=''
-optimize='-s -O2'
+optimize='-s -O0'
orderlib='false'
osname='MSWin32'
osvers='5.1'
@@ -991,7 +995,7 @@ otherlibdirs=''
package='perl5'
pager='more /e'
passcat=''
-patchlevel='14'
+patchlevel='16'
path_sep=';'
perl5=''
perl='perl'
@@ -1109,6 +1113,8 @@ srand48_r_proto='0'
srandom_r_proto='0'
src=''
ssizetype='int'
+st_ino_sign='1'
+st_ino_size='4'
startperl='#!perl'
startsh='#!/bin/sh'
static_ext='Win32CORE'
@@ -1163,6 +1169,7 @@ usedl='define'
usedtrace='undef'
usefaststdio='undef'
useithreads='define'
+usekernprocpathname='undef'
uselargefiles='define'
uselongdouble='undef'
usemallocwrap='define'
@@ -1170,6 +1177,7 @@ usemorebits='undef'
usemultiplicity='define'
usemymalloc='n'
usenm='false'
+usensgetexecutablepath='undef'
useopcode='true'
useperlio='define'
useposix='true'
@@ -1210,8 +1218,8 @@ vendorprefix=''
vendorprefixexp=''
vendorscript=''
vendorscriptexp=''
-version='5.14.2'
-version_patchlevel_string='version 14 subversion 2'
+version='5.16.2'
+version_patchlevel_string='version 16 subversion 2'
versiononly='undef'
vi=''
voidflags='15'
@@ -1222,16 +1230,15 @@ zcat=''
zip='zip'
!END!
-my $i = 0;
-foreach my $c (4,3,2) { $i |= ord($c); $i <<= 8 }
-$i |= ord(1);
+my $i = ord(4);
+foreach my $c (3,2,1) { $i <<= 8; $i |= ord($c); }
our $byteorder = join('', unpack('aaaa', pack('L!', $i)));
s/(byteorder=)(['"]).*?\2/$1$2$Config::byteorder$2/m;
my $config_sh_len = length $_;
our $Config_SH_expanded = "\n$_" . << 'EOVIRTUAL';
-ccflags_nolargefiles=' -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields'
+ccflags_nolargefiles=' -s -O0 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields'
ldflags_nolargefiles="-s -L\"$rootdir\\lib\\CORE\" -L\"$mingdir\\lib\""
libs_nolargefiles='-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32'
libswanted_nolargefiles=''
diff --git a/Master/tlpkg/tlperl/lib/Config_heavy.pl.orig b/Master/tlpkg/tlperl/lib/Config_heavy.pl.orig
index 0982fa51149..6cf57b127e3 100644
--- a/Master/tlpkg/tlperl/lib/Config_heavy.pl.orig
+++ b/Master/tlpkg/tlperl/lib/Config_heavy.pl.orig
@@ -137,15 +137,15 @@ Header=''
Id='$Id'
Locker=''
Log='$Log'
-PATCHLEVEL='14'
+PATCHLEVEL='16'
PERL_API_REVISION='5'
PERL_API_SUBVERSION='0'
-PERL_API_VERSION='14'
+PERL_API_VERSION='16'
PERL_CONFIG_SH='true'
PERL_PATCHLEVEL=''
PERL_REVISION='5'
PERL_SUBVERSION='2'
-PERL_VERSION='14'
+PERL_VERSION='16'
RCSfile='$RCSfile'
Revision='$Revision'
SUBVERSION='2'
@@ -161,11 +161,11 @@ ansi2knr=''
aphostname=''
api_revision='5'
api_subversion='0'
-api_version='14'
-api_versionstring='5.14.0'
+api_version='16'
+api_versionstring='5.16.0'
ar='ar'
-archlib='x:\tlperl\lib'
-archlibexp='x:\tlperl\lib'
+archlib='c:\perl\lib'
+archlibexp='c:\perl\lib'
archname64=''
archname='MSWin32-x86-multi-thread'
archobjs=''
@@ -173,8 +173,8 @@ asctime_r_proto='0'
awk='awk'
baserev='5'
bash=''
-bin='x:\tlperl\bin'
-binexp='x:\tlperl\bin'
+bin='c:\perl\bin'
+binexp='c:\perl\bin'
bison=''
byacc='byacc'
byteorder='1234'
@@ -184,14 +184,14 @@ cat='type'
cc='gcc'
cccdlflags=' '
ccdlflags=' '
-ccflags=' -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields'
+ccflags=' -s -O0 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields'
ccflags_uselargefiles=''
ccname='gcc'
ccsymbols=''
ccversion=''
cf_by='siepo'
cf_email='tex-live@tug.org'
-cf_time='Fri May 18 10:52:25 2012'
+cf_time='Fri Nov 16 21:24:42 2012'
charbits='8'
chgrp=''
chmod=''
@@ -412,7 +412,9 @@ d_inetaton='undef'
d_inetntop='undef'
d_inetpton='undef'
d_int64_t='undef'
+d_ipv6_mreq='undef'
d_isascii='define'
+d_isblank='undef'
d_isfinite='undef'
d_isinf='undef'
d_isnan='define'
@@ -576,6 +578,7 @@ d_sigsetjmp='undef'
d_sin6_scope_id='define'
d_sitearch='define'
d_snprintf='define'
+d_sockaddr_in6='undef'
d_sockaddr_sa_len='undef'
d_sockatmark='undef'
d_sockatmarkproto='undef'
@@ -681,7 +684,7 @@ doublesize='8'
drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
drand48_r_proto='0'
dtrace=''
-dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash IO List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize Win32 Win32API/File XS/APItest XS/Typemap attributes mro re threads threads/shared'
+dynamic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash IO List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize Win32 Win32API/File XS/APItest XS/Typemap arybase attributes mro re threads threads/shared'
eagain='EAGAIN'
ebcdic='undef'
echo='echo'
@@ -696,7 +699,7 @@ endservent_r_proto='0'
eunicefix=':'
exe_ext='.exe'
expr='expr'
-extensions='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B B/Debug B/Deparse B/Lint CGI CPAN CPAN/Meta CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS Fcntl File/CheckTree File/Fetch File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags IO IO/Compress IO/Zlib IPC/Cmd IPC/Open2 IPC/Open3 JSON/PP List/Util Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable NEXT Net/Ping Object/Accessor Opcode POSIX Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/encoding PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Escapes Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple SDBM_File Safe SelfLoader Shell Socket Storable Sys/Hostname Term/ANSIColor Term/Cap Term/UI Test Test/Harness Test/Simple Text/Balanced Text/ParseWords Text/Soundex Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize Version/Requirements Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader attributes autodie autouse base bignum constant encoding/warnings if lib libnet mro parent podlators re threads threads/shared'
+extensions='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B B/Debug B/Deparse B/Lint CGI CPAN CPAN/Meta CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Carp Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/PPPort Devel/Peek Devel/SelfStubber Digest Digest/MD5 Digest/SHA Dumpvalue Encode Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS Fcntl File/CheckTree File/Fetch File/Glob File/Path File/Temp FileCache Filter/Simple Filter/Util/Call Getopt/Long HTTP/Tiny Hash/Util Hash/Util/FieldHash I18N/Collate I18N/LangTags IO IO/Compress IO/Zlib IPC/Cmd IPC/Open3 JSON/PP List/Util Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple MIME/Base64 Math/BigInt Math/BigInt/FastCalc Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable NEXT Net/Ping Object/Accessor Opcode POSIX Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via PerlIO/via/QuotedPrint Pod/Escapes Pod/Functions Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple SDBM_File Safe Search/Dict SelfLoader Socket Storable Sys/Hostname Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Term/UI Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Soundex Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Hash/NamedCapture Tie/Memoize Tie/RefHash Time/HiRes Time/Local Time/Piece Unicode/Collate Unicode/Normalize Version/Requirements Win32 Win32API/File Win32CORE XS/APItest XS/Typemap XSLoader arybase attributes autodie autouse base bignum constant encoding/warnings if lib libnet mro parent perlfaq podlators re threads threads/shared'
extern_C='extern'
extras=''
fflushNULL='define'
@@ -806,6 +809,7 @@ i_sgtty='undef'
i_shadow='undef'
i_socks='undef'
i_stdarg='define'
+i_stdbool='undef'
i_stddef='define'
i_stdlib='define'
i_string='define'
@@ -852,26 +856,26 @@ i_vfork='undef'
ignore_versioned_solibs=''
inc_version_list=''
inc_version_list_init='0'
-incpath='C:\MinGW\include'
+incpath='X:\MinGW\include'
inews=''
initialinstalllocation=''
-installarchlib='x:\tlperl\lib'
-installbin='x:\tlperl\bin'
+installarchlib='c:\perl\lib'
+installbin='c:\perl\bin'
installhtml1dir=''
installhtml3dir=''
-installhtmldir='x:\tlperl\html'
-installhtmlhelpdir='x:\tlperl\htmlhelp'
-installman1dir='x:\tlperl\man\man1'
-installman3dir='x:\tlperl\man\man3'
-installprefix='x:\tlperl'
-installprefixexp='x:\tlperl'
-installprivlib='x:\tlperl\lib'
-installscript='x:\tlperl\bin'
-installsitearch='x:\tlperl\site\lib'
-installsitebin='x:\tlperl\bin'
+installhtmldir='c:\perl\html'
+installhtmlhelpdir='c:\perl\htmlhelp'
+installman1dir='c:\perl\man\man1'
+installman3dir='c:\perl\man\man3'
+installprefix='c:\perl'
+installprefixexp='c:\perl'
+installprivlib='c:\perl\lib'
+installscript='c:\perl\bin'
+installsitearch='c:\perl\site\lib'
+installsitebin='c:\perl\bin'
installsitehtml1dir=''
installsitehtml3dir=''
-installsitelib='x:\tlperl\site\lib'
+installsitelib='c:\perl\site\lib'
installsiteman1dir=''
installsiteman3dir=''
installsitescript=''
@@ -890,18 +894,18 @@ issymlink=''
ivdformat='"ld"'
ivsize='4'
ivtype='long'
-known_extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize VMS/DCLsym VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap attributes mro re threads threads/shared'
+known_extensions='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File ODBM_File Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize VMS/DCLsym VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap arybase attributes mro re threads threads/shared'
ksh=''
ld='g++'
-lddlflags='-mdll -s -L"x:\tlperl\lib\CORE" -L"C:\MinGW\lib"'
-ldflags='-s -L"x:\tlperl\lib\CORE" -L"C:\MinGW\lib"'
+lddlflags='-mdll -s -L"c:\perl\lib\CORE" -L"X:\MinGW\lib"'
+ldflags='-s -L"c:\perl\lib\CORE" -L"X:\MinGW\lib"'
ldflags_uselargefiles=''
ldlibpthname=''
less='less'
lib_ext='.a'
libc=''
-libperl='libperl514.a'
-libpth='C:\MinGW\lib'
+libperl='libperl516.a'
+libpth='X:\MinGW\lib'
libs='-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32'
libsdirs=''
libsfiles=''
@@ -936,11 +940,11 @@ make_set_make='#'
mallocobj='malloc.o'
mallocsrc='malloc.c'
malloctype='void *'
-man1dir='x:\tlperl\man\man1'
-man1direxp='x:\tlperl\man\man1'
+man1dir='c:\perl\man\man1'
+man1direxp='c:\perl\man\man1'
man1ext='1'
-man3dir='x:\tlperl\man\man3'
-man3direxp='x:\tlperl\man\man3'
+man3dir='c:\perl\man\man3'
+man3direxp='c:\perl\man\man3'
man3ext='3'
mips_type=''
mistrustnm=''
@@ -963,7 +967,7 @@ netdb_net_type='long'
nm='nm'
nm_opt=''
nm_so_opt=''
-nonxs_ext='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B/Debug B/Deparse B/Lint CGI CPAN CPAN/Meta CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Devel/SelfStubber Digest Dumpvalue Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS File/CheckTree File/Fetch File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Zlib IPC/Cmd IPC/Open2 IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable NEXT Net/Ping Object/Accessor Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Escapes Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple Safe SelfLoader Shell Term/ANSIColor Term/Cap Term/UI Test Test/Harness Test/Simple Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local Version/Requirements XSLoader autodie autouse base bignum constant encoding/warnings if lib libnet parent podlators'
+nonxs_ext='Archive/Extract Archive/Tar Attribute/Handlers AutoLoader B/Debug B/Deparse B/Lint CGI CPAN CPAN/Meta CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Carp Devel/SelfStubber Digest Dumpvalue Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS File/CheckTree File/Fetch File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable NEXT Net/Ping Object/Accessor Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Escapes Pod/Functions Pod/Html Pod/LaTeX Pod/Parser Pod/Perldoc Pod/Simple Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Term/UI Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local Version/Requirements XSLoader autodie autouse base bignum constant encoding/warnings if lib libnet parent perlfaq podlators'
nroff=''
nvEUformat='"E"'
nvFUformat='"F"'
@@ -978,7 +982,7 @@ nvtype='double'
o_nonblock='O_NONBLOCK'
obj_ext='.o'
old_pthread_create_joinable=''
-optimize='-s -O2'
+optimize='-s -O0'
orderlib='false'
osname='MSWin32'
osvers='5.1'
@@ -986,7 +990,7 @@ otherlibdirs=''
package='perl5'
pager='more /e'
passcat=''
-patchlevel='14'
+patchlevel='16'
path_sep=';'
perl5=''
perl='perl'
@@ -994,17 +998,17 @@ perl_patchlevel=''
perl_static_inline='static __inline__'
perladmin=''
perllibs='-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32'
-perlpath='x:\tlperl\bin\perl.exe'
+perlpath='c:\perl\bin\perl.exe'
pg=''
phostname='hostname'
pidtype='int'
plibpth=''
pmake=''
pr=''
-prefix='x:\tlperl'
-prefixexp='x:\tlperl'
-privlib='x:\tlperl\lib'
-privlibexp='x:\tlperl\lib'
+prefix='c:\perl'
+prefixexp='c:\perl'
+privlib='c:\perl\lib'
+privlibexp='c:\perl\lib'
procselfexe=''
prototype='define'
ptrsize='4'
@@ -1042,8 +1046,8 @@ sPRIu64='"lu"'
sPRIx64='"lx"'
sSCNfldbl='"f"'
sched_yield=''
-scriptdir='x:\tlperl\bin'
-scriptdirexp='x:\tlperl\bin'
+scriptdir='c:\perl\bin'
+scriptdirexp='c:\perl\bin'
sed='sed'
seedfunc='srand'
selectminbits='32'
@@ -1070,23 +1074,23 @@ sig_num='0 1 2 21 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 20
sig_num_init='0, 1, 2, 21, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0'
sig_size='27'
signal_t='void'
-sitearch='x:\tlperl\site\lib'
-sitearchexp='x:\tlperl\site\lib'
-sitebin='x:\tlperl\site\bin'
-sitebinexp='x:\tlperl\site\bin'
+sitearch='c:\perl\site\lib'
+sitearchexp='c:\perl\site\lib'
+sitebin='c:\perl\site\bin'
+sitebinexp='c:\perl\site\bin'
sitehtml1dir=''
sitehtml1direxp=''
sitehtml3dir=''
sitehtml3direxp=''
-sitelib='x:\tlperl\site\lib'
+sitelib='c:\perl\site\lib'
sitelib_stem=''
-sitelibexp='x:\tlperl\site\lib'
+sitelibexp='c:\perl\site\lib'
siteman1dir=''
siteman1direxp=''
siteman3dir=''
siteman3direxp=''
-siteprefix='x:\tlperl\site'
-siteprefixexp='x:\tlperl\site'
+siteprefix='c:\perl\site'
+siteprefixexp='c:\perl\site'
sitescript=''
sitescriptexp=''
sizesize='4'
@@ -1104,6 +1108,8 @@ srand48_r_proto='0'
srandom_r_proto='0'
src=''
ssizetype='int'
+st_ino_sign='1'
+st_ino_size='4'
startperl='#!perl'
startsh='#!/bin/sh'
static_ext='Win32CORE'
@@ -1158,6 +1164,7 @@ usedl='define'
usedtrace='undef'
usefaststdio='undef'
useithreads='define'
+usekernprocpathname='undef'
uselargefiles='define'
uselongdouble='undef'
usemallocwrap='define'
@@ -1165,6 +1172,7 @@ usemorebits='undef'
usemultiplicity='define'
usemymalloc='n'
usenm='false'
+usensgetexecutablepath='undef'
useopcode='true'
useperlio='define'
useposix='true'
@@ -1205,8 +1213,8 @@ vendorprefix=''
vendorprefixexp=''
vendorscript=''
vendorscriptexp=''
-version='5.14.2'
-version_patchlevel_string='version 14 subversion 2'
+version='5.16.2'
+version_patchlevel_string='version 16 subversion 2'
versiononly='undef'
vi=''
voidflags='15'
@@ -1217,17 +1225,16 @@ zcat=''
zip='zip'
!END!
-my $i = 0;
-foreach my $c (4,3,2) { $i |= ord($c); $i <<= 8 }
-$i |= ord(1);
+my $i = ord(4);
+foreach my $c (3,2,1) { $i <<= 8; $i |= ord($c); }
our $byteorder = join('', unpack('aaaa', pack('L!', $i)));
s/(byteorder=)(['"]).*?\2/$1$2$Config::byteorder$2/m;
my $config_sh_len = length $_;
our $Config_SH_expanded = "\n$_" . << 'EOVIRTUAL';
-ccflags_nolargefiles=' -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields'
-ldflags_nolargefiles='-s -L"x:\tlperl\lib\CORE" -L"C:\MinGW\lib"'
+ccflags_nolargefiles=' -s -O0 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields'
+ldflags_nolargefiles='-s -L"c:\perl\lib\CORE" -L"X:\MinGW\lib"'
libs_nolargefiles='-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32'
libswanted_nolargefiles=''
EOVIRTUAL
diff --git a/Master/tlpkg/tlperl/lib/Cwd.pm b/Master/tlpkg/tlperl/lib/Cwd.pm
index 4683e103b82..a48d20547f8 100644
--- a/Master/tlpkg/tlperl/lib/Cwd.pm
+++ b/Master/tlpkg/tlperl/lib/Cwd.pm
@@ -42,7 +42,7 @@ available.
my $cwd = cwd();
-The cwd() is the most natural form for the current architecture. For
+The cwd() is the most natural form for the current architecture. For
most systems it is identical to `pwd` (but without the trailing line
terminator).
@@ -57,9 +57,9 @@ chdir() you back into. If fastcwd encounters a problem it will return
undef but will probably leave you in a different directory. For a
measure of extra security, if everything appears to have worked, the
fastcwd() function will check that it leaves you in the same directory
-that it started in. If it has changed it will C<die> with the message
+that it started in. If it has changed it will C<die> with the message
"Unstable directory path, current directory changed
-unexpectedly". That should never happen.
+unexpectedly". That should never happen.
=item fastgetcwd
@@ -136,8 +136,8 @@ modules wherever portability is a concern.
=item *
Actually, on Mac OS, the C<getcwd()>, C<fastgetcwd()> and C<fastcwd()>
-functions are all aliases for the C<cwd()> function, which, on Mac OS,
-calls `pwd`. Likewise, the C<abs_path()> function is an alias for
+functions are all aliases for the C<cwd()> function, which, on Mac OS,
+calls `pwd`. Likewise, the C<abs_path()> function is an alias for
C<fast_abs_path()>.
=back
@@ -171,9 +171,9 @@ use strict;
use Exporter;
use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
-$VERSION = '3.36';
+$VERSION = '3.39_02';
my $xs_version = $VERSION;
-$VERSION = eval $VERSION;
+$VERSION =~ tr/_//;
@ISA = qw/ Exporter /;
@EXPORT = qw(cwd getcwd fastcwd fastgetcwd);
@@ -253,9 +253,6 @@ eval {
}
};
-# Must be after the DynaLoader stuff:
-$VERSION = eval $VERSION;
-
# Big nasty table of function aliases
my %METHOD_MAP =
(
@@ -582,6 +579,7 @@ sub _perl_abs_path
unless (opendir(PARENT, $dotdots))
{
# probably a permissions issue. Try the native command.
+ require File::Spec;
return File::Spec->rel2abs( $start, _backtick_pwd() );
}
unless (@cst = stat($dotdots))
@@ -755,7 +753,14 @@ sub _win32_cwd_simple {
}
sub _win32_cwd {
- if (eval 'defined &DynaLoader::boot_DynaLoader') {
+ # Need to avoid taking any sort of reference to the typeglob or the code in
+ # the optree, so that this tests the runtime state of things, as the
+ # ExtUtils::MakeMaker tests for "miniperl" need to be able to fake things at
+ # runtime by deleting the subroutine. *foo{THING} syntax on a symbol table
+ # lookup avoids needing a string eval, which has been reported to cause
+ # problems (for reasons that we haven't been able to get to the bottom of -
+ # rt.cpan.org #56225)
+ if (*{$DynaLoader::{boot_DynaLoader}}{CODE}) {
$ENV{'PWD'} = Win32::GetCwd();
}
else { # miniperl
diff --git a/Master/tlpkg/tlperl/lib/DB.pm b/Master/tlpkg/tlperl/lib/DB.pm
index 16ff99afa52..03f2b21e03b 100644
--- a/Master/tlpkg/tlperl/lib/DB.pm
+++ b/Master/tlpkg/tlperl/lib/DB.pm
@@ -41,7 +41,7 @@ BEGIN {
$DB::subname = ''; # currently executing sub (fullly qualified name)
$DB::lineno = ''; # current line number
- $DB::VERSION = $DB::VERSION = '1.03';
+ $DB::VERSION = $DB::VERSION = '1.04';
# initialize private globals to avoid warnings
@@ -258,7 +258,7 @@ sub backtrace {
} elsif ($s eq '(eval)') {
$s = "eval {...}";
}
- $f = "file `$f'" unless $f eq '-e';
+ $f = "file '$f'" unless $f eq '-e';
push @ret, "$w&$s$a from $f line $l";
last if $DB::signal;
}
diff --git a/Master/tlpkg/tlperl/lib/Data/Dumper.pm b/Master/tlpkg/tlperl/lib/Data/Dumper.pm
index 1c68c987563..a0992776137 100644
--- a/Master/tlpkg/tlperl/lib/Data/Dumper.pm
+++ b/Master/tlpkg/tlperl/lib/Data/Dumper.pm
@@ -9,7 +9,9 @@
package Data::Dumper;
-$VERSION = '2.130_02'; # Don't forget to set version and release date in POD!
+BEGIN {
+ $VERSION = '2.135_06'; # Don't forget to set version and release
+} # date in POD!
#$| = 1;
@@ -29,12 +31,12 @@ BEGIN {
# toggled on load failure.
eval {
require XSLoader;
- };
- $Useperl = 1 if $@;
+ XSLoader::load( 'Data::Dumper' );
+ 1
+ }
+ or $Useperl = 1;
}
-XSLoader::load( 'Data::Dumper' ) unless $Useperl;
-
# module vars and their defaults
$Indent = 2 unless defined $Indent;
$Purity = 0 unless defined $Purity;
@@ -101,26 +103,39 @@ sub new {
return bless($s, $c);
}
-if ($] >= 5.008) {
- # Packed numeric addresses take less memory. Plus pack is faster than sprintf
- *init_refaddr_format = sub {};
+# Packed numeric addresses take less memory. Plus pack is faster than sprintf
+
+# Most users of current versions of Data::Dumper will be 5.008 or later.
+# Anyone on 5.6.1 and 5.6.2 upgrading will be rare (particularly judging by
+# the bug reports from users on those platforms), so for the common case avoid
+# complexity, and avoid even compiling the unneeded code.
- *format_refaddr = sub {
+sub init_refaddr_format {
+}
+
+sub format_refaddr {
require Scalar::Util;
pack "J", Scalar::Util::refaddr(shift);
- };
-} else {
- *init_refaddr_format = sub {
- require Config;
- my $f = $Config::Config{uvxformat};
- $f =~ tr/"//d;
- our $refaddr_format = "0x%" . $f;
- };
-
- *format_refaddr = sub {
- require Scalar::Util;
- sprintf our $refaddr_format, Scalar::Util::refaddr(shift);
- }
+};
+
+if ($] < 5.008) {
+ eval <<'EOC' or die;
+ no warnings 'redefine';
+ my $refaddr_format;
+ sub init_refaddr_format {
+ require Config;
+ my $f = $Config::Config{uvxformat};
+ $f =~ tr/"//d;
+ $refaddr_format = "0x%" . $f;
+ }
+
+ sub format_refaddr {
+ require Scalar::Util;
+ sprintf $refaddr_format, Scalar::Util::refaddr(shift);
+ }
+
+ 1
+EOC
}
#
@@ -255,6 +270,10 @@ sub _quote {
return "'" . $val . "'";
}
+# Old Perls (5.14-) have trouble resetting vstring magic when it is no
+# longer valid.
+use constant _bad_vsmg => defined &_vstring && (_vstring(~v0)||'') eq "v0";
+
#
# twist, toil and turn;
# and recurse, of course.
@@ -367,10 +386,11 @@ sub _dump {
} else {
$pat = "$val";
}
- $pat =~ s,/,\\/,g;
+ $pat =~ s <(\\.)|/> { $1 || '\\/' }ge;
$out .= "qr/$pat/";
}
- elsif ($realtype eq 'SCALAR' || $realtype eq 'REF') {
+ elsif ($realtype eq 'SCALAR' || $realtype eq 'REF'
+ || $realtype eq 'VSTRING') {
if ($realpack) {
$out .= 'do{\\(my $o = ' . $s->_dump($$val, "\${$name}") . ')}';
}
@@ -475,6 +495,7 @@ sub _dump {
else { # simple scalar
my $ref = \$_[1];
+ my $v;
# first, catalog the scalar
if ($name ne '') {
$id = format_refaddr($ref);
@@ -490,14 +511,20 @@ sub _dump {
$s->{seen}{$id} = ["\\$name", $ref];
}
}
- if (ref($ref) eq 'GLOB' or "$ref" =~ /=GLOB\([^()]+\)$/) { # glob
+ $ref = \$val;
+ if (ref($ref) eq 'GLOB') { # glob
my $name = substr($val, 1);
- if ($name =~ /^[A-Za-z_][\w:]*$/) {
+ if ($name =~ /^[A-Za-z_][\w:]*$/ && $name ne 'main::') {
$name =~ s/^main::/::/;
$sname = $name;
}
else {
- $sname = $s->_dump($name, "");
+ $sname = $s->_dump(
+ $name eq 'main::' || $] < 5.007 && $name eq "main::\0"
+ ? ''
+ : $name,
+ "",
+ );
$sname = '{' . $sname . '}';
}
if ($s->{purity}) {
@@ -520,6 +547,14 @@ sub _dump {
elsif (!defined($val)) {
$out .= "undef";
}
+ elsif (defined &_vstring and $v = _vstring($val)
+ and !_bad_vsmg || eval $v eq $val) {
+ $out .= $v;
+ }
+ elsif (!defined &_vstring
+ and ref $ref eq 'VSTRING' || eval{Scalar::Util::isvstring($val)}) {
+ $out .= sprintf "%vd", $val;
+ }
elsif ($val =~ /^(?:0|-?[1-9]\d{0,8})\z/) { # safe decimal number
$out .= $val;
}
@@ -1106,20 +1141,20 @@ distribution for more examples.)
print($@) if $@;
print Dumper($boo), Dumper($bar); # pretty print (no array indices)
- $Data::Dumper::Terse = 1; # don't output names where feasible
- $Data::Dumper::Indent = 0; # turn off all pretty print
+ $Data::Dumper::Terse = 1; # don't output names where feasible
+ $Data::Dumper::Indent = 0; # turn off all pretty print
print Dumper($boo), "\n";
- $Data::Dumper::Indent = 1; # mild pretty print
+ $Data::Dumper::Indent = 1; # mild pretty print
print Dumper($boo);
- $Data::Dumper::Indent = 3; # pretty print with array indices
+ $Data::Dumper::Indent = 3; # pretty print with array indices
print Dumper($boo);
- $Data::Dumper::Useqq = 1; # print strings in double quotes
+ $Data::Dumper::Useqq = 1; # print strings in double quotes
print Dumper($boo);
- $Data::Dumper::Pair = " : "; # specify hash key/value separator
+ $Data::Dumper::Pair = " : "; # specify hash key/value separator
print Dumper($boo);
@@ -1297,7 +1332,7 @@ modify it under the same terms as Perl itself.
=head1 VERSION
-Version 2.130_02 (Dec 20 2010)
+Version 2.135_06 (March 20 2012)
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/Devel/DProf.pm b/Master/tlpkg/tlperl/lib/Devel/DProf.pm
deleted file mode 100644
index 62485a9f3cb..00000000000
--- a/Master/tlpkg/tlperl/lib/Devel/DProf.pm
+++ /dev/null
@@ -1,247 +0,0 @@
-use 5.006_001;
-
-=head1 NAME
-
-Devel::DProf - a B<DEPRECATED> Perl code profiler
-
-=head1 SYNOPSIS
-
- perl -d:DProf test.pl
-
-=head1 ACHTUNG!
-
-C<Devel::DProf> is B<DEPRECATED> and will be removed from a future version of
-Perl. We strongly recommend that you install and use L<Devel::NYTProf> instead,
-as it offers significantly improved profiling and reporting.
-
-=head1 DESCRIPTION
-
-The Devel::DProf package is a Perl code profiler. This will collect
-information on the execution time of a Perl script and of the subs in that
-script. This information can be used to determine which subroutines are
-using the most time and which subroutines are being called most often. This
-information can also be used to create an execution graph of the script,
-showing subroutine relationships.
-
-To profile a Perl script run the perl interpreter with the B<-d> debugging
-switch. The profiler uses the debugging hooks. So to profile script
-F<test.pl> the following command should be used:
-
- perl -d:DProf test.pl
-
-When the script terminates (or when the output buffer is filled) the
-profiler will dump the profile information to a file called
-F<tmon.out>. A tool like I<dprofpp> can be used to interpret the
-information which is in that profile. The following command will
-print the top 15 subroutines which used the most time:
-
- dprofpp
-
-To print an execution graph of the subroutines in the script use the
-following command:
-
- dprofpp -T
-
-Consult L<dprofpp> for other options.
-
-=head1 PROFILE FORMAT
-
-The old profile is a text file which looks like this:
-
- #fOrTyTwO
- $hz=100;
- $XS_VERSION='DProf 19970606';
- # All values are given in HZ
- $rrun_utime=2; $rrun_stime=0; $rrun_rtime=7
- PART2
- + 26 28 566822884 DynaLoader::import
- - 26 28 566822884 DynaLoader::import
- + 27 28 566822885 main::bar
- - 27 28 566822886 main::bar
- + 27 28 566822886 main::baz
- + 27 28 566822887 main::bar
- - 27 28 566822888 main::bar
- [....]
-
-The first line is the magic number. The second line is the hertz value, or
-clock ticks, of the machine where the profile was collected. The third line
-is the name and version identifier of the tool which created the profile.
-The fourth line is a comment. The fifth line contains three variables
-holding the user time, system time, and realtime of the process while it was
-being profiled. The sixth line indicates the beginning of the sub
-entry/exit profile section.
-
-The columns in B<PART2> are:
-
- sub entry(+)/exit(-) mark
- app's user time at sub entry/exit mark, in ticks
- app's system time at sub entry/exit mark, in ticks
- app's realtime at sub entry/exit mark, in ticks
- fully-qualified sub name, when possible
-
-With newer perls another format is used, which may look like this:
-
- #fOrTyTwO
- $hz=10000;
- $XS_VERSION='DProf 19971213';
- # All values are given in HZ
- $over_utime=5917; $over_stime=0; $over_rtime=5917;
- $over_tests=10000;
- $rrun_utime=1284; $rrun_stime=0; $rrun_rtime=1284;
- $total_marks=6;
-
- PART2
- @ 406 0 406
- & 2 main bar
- + 2
- @ 456 0 456
- - 2
- @ 1 0 1
- & 3 main baz
- + 3
- @ 141 0 141
- + 2
- @ 141 0 141
- - 2
- @ 1 0 1
- & 4 main foo
- + 4
- @ 142 0 142
- + & Devel::DProf::write
- @ 5 0 5
- - & Devel::DProf::write
-
-(with high value of $ENV{PERL_DPROF_TICKS}).
-
-New C<$over_*> values show the measured overhead of making $over_tests
-calls to the profiler These values are used by the profiler to
-subtract the overhead from the runtimes.
-
-Lines starting with C<@> mark the amount of time passed since the
-previous C<@> line. The numbers following the C<@> are integer tick
-counts representing user, system, and real time. Divide these numbers
-by the $hz value in the header to get seconds.
-
-Lines starting with C<&> map subroutine identifiers (an integer) to
-subroutine packages and names. These should only occur once per
-subroutine.
-
-Lines starting with C<+> or C<-> mark normal entering and exit of
-subroutines. The number following is a reference to a subroutine
-identifier.
-
-Lines starting with C<*> mark where subroutines are entered by C<goto
-&subr>, but note that the return will still be marked as coming from
-the original sub. The sequence might look like this:
-
- + 5
- * 6
- - 5
-
-Lines starting with C</> is like C<-> but mark where subroutines are
-exited by dying. Example:
-
- + 5
- + 6
- / 6
- / 5
-
-Finally you might find C<@> time stamp marks surrounded by C<+ &
-Devel::DProf::write> and C<- & Devel::DProf::write> lines. These 3
-lines are outputted when printing of the mark above actually consumed
-measurable time.
-
-=head1 AUTOLOAD
-
-When Devel::DProf finds a call to an C<&AUTOLOAD> subroutine it looks at the
-C<$AUTOLOAD> variable to find the real name of the sub being called. See
-L<perlsub/"Autoloading">.
-
-=head1 ENVIRONMENT
-
-C<PERL_DPROF_BUFFER> sets size of output buffer in words. Defaults to 2**14.
-
-C<PERL_DPROF_TICKS> sets number of ticks per second on some systems where
-a replacement for times() is used. Defaults to the value of C<HZ> macro.
-
-C<PERL_DPROF_OUT_FILE_NAME> sets the name of the output file. If not set,
-defaults to tmon.out.
-
-=head1 BUGS
-
-Builtin functions cannot be measured by Devel::DProf.
-
-With a newer Perl DProf relies on the fact that the numeric slot of
-$DB::sub contains an address of a subroutine. Excessive manipulation
-of this variable may overwrite this slot, as in
-
- $DB::sub = 'current_sub';
- ...
- $addr = $DB::sub + 0;
-
-will set this numeric slot to numeric value of the string
-C<current_sub>, i.e., to C<0>. This will cause a segfault on the exit
-from this subroutine. Note that the first assignment above does not
-change the numeric slot (it will I<mark> it as invalid, but will not
-write over it).
-
-Another problem is that if a subroutine exits using goto(LABEL),
-last(LABEL) or next(LABEL) then perl may crash or Devel::DProf will die
-with the error:
-
- panic: Devel::DProf inconsistent subroutine return
-
-For example, this code will break under Devel::DProf:
-
- sub foo {
- last FOO;
- }
- FOO: {
- foo();
- }
-
-A pattern like this is used by Test::More's skip() function, for
-example. See L<perldiag> for more details.
-
-=head1 SEE ALSO
-
-L<perl>, L<dprofpp>, times(2)
-
-=cut
-
-# This sub is needed for calibration.
-package Devel::DProf;
-
-sub NONESUCH_noxs {
- return $Devel::DProf::VERSION;
-}
-
-{
- package DB;
-
- #
- # As of perl5.003_20, &DB::sub stub is not needed (some versions
- # even had problems if stub was redefined with XS version).
- #
-
- # disable DB single-stepping
- BEGIN { $single = 0; }
-
- # This sub is needed during startup.
- sub DB {
- # print "nonXS DBDB\n";
- }
-}
-
-use XSLoader ();
-
-$Devel::DProf::VERSION = '20110228.00'; # this version not authorized by
- # Dean Roehrich. See "Changes" file.
-
-use if $] >= 5.013, 'deprecate';
-
-sub import {
- XSLoader::load 'Devel::DProf', $Devel::DProf::VERSION;
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/Devel/DProf/V.pm b/Master/tlpkg/tlperl/lib/Devel/DProf/V.pm
deleted file mode 100644
index e613f6f4410..00000000000
--- a/Master/tlpkg/tlperl/lib/Devel/DProf/V.pm
+++ /dev/null
@@ -1,63 +0,0 @@
-package V;
-
-use Getopt::Std 'getopts';
-getopts('vp:d:');
-
-require Exporter;
-@ISA = 'Exporter';
-
-@EXPORT = qw( dprofpp $opt_v $results $expected report @results );
-@EXPORT_OK = qw( notok ok $num );
-
-$num = 0;
-$results = $expected = '';
-$perl = $opt_p || $^X;
-$dpp = $opt_d || '../../utils/dprofpp';
-$dpp .= '.com' if $^O eq 'VMS';
-
-print "\nperl: $perl\n" if $opt_v;
-if( ! -f $perl ){ die "Where's Perl?" }
-if( ! -f $dpp ) {
- ($dpp = $^X) =~ s@(^.*)[/|\\].*@$1/dprofpp@;
- die "Where's dprofpp?" if( ! -f $dpp );
-}
-
-sub dprofpp {
- my $switches = shift;
-
- open( D, "$perl \"-I../lib\" $dpp \"$switches\" 2> err |" ) || warn "$0: Can't run. $!\n";
- @results = <D>;
- close D;
-
- open( D, "<err" ) || warn "$0: Can't open: $!\n";
- @err = <D>;
- close D;
- push( @results, @err ) if @err;
-
- $results = qq{@results};
- # ignore Loader (Dyna/Auto etc), leave newline
- $results =~ s/^\w+Loader::import//;
- $results =~ s/\n /\n/gm;
- $results;
-}
-
-sub report {
- $num = shift;
- my $sub = shift;
- my $x;
-
- $x = &$sub;
- $x ? &ok : &notok;
-}
-
-sub ok {
- print "ok $num\n";
-}
-
-sub notok {
- print "not ok $num\n";
- print "\nResult\n{$results}\n";
- print "Expected\n{$expected}\n";
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/Devel/DProf/test1_t b/Master/tlpkg/tlperl/lib/Devel/DProf/test1_t
deleted file mode 100644
index d504cd55365..00000000000
--- a/Master/tlpkg/tlperl/lib/Devel/DProf/test1_t
+++ /dev/null
@@ -1,18 +0,0 @@
-sub foo {
- print "in sub foo\n";
- bar();
-}
-
-sub bar {
- print "in sub bar\n";
-}
-
-sub baz {
- print "in sub baz\n";
- bar();
- foo();
-}
-
-bar();
-baz();
-foo();
diff --git a/Master/tlpkg/tlperl/lib/Devel/DProf/test1_v b/Master/tlpkg/tlperl/lib/Devel/DProf/test1_v
deleted file mode 100644
index 542a503414e..00000000000
--- a/Master/tlpkg/tlperl/lib/Devel/DProf/test1_v
+++ /dev/null
@@ -1,24 +0,0 @@
-# perl
-
-use V;
-
-dprofpp( '-T' );
-$expected =
-qq{main::bar
-main::baz
- main::bar
- main::foo
- main::bar
-main::foo
- main::bar
-};
-report 1, sub { $expected eq $results };
-
-dprofpp('-TF');
-report 2, sub { $expected eq $results };
-
-dprofpp( '-t' );
-report 3, sub { $expected eq $results };
-
-dprofpp('-tF');
-report 4, sub { $expected eq $results };
diff --git a/Master/tlpkg/tlperl/lib/Devel/DProf/test2_t b/Master/tlpkg/tlperl/lib/Devel/DProf/test2_t
deleted file mode 100644
index edc46c527e6..00000000000
--- a/Master/tlpkg/tlperl/lib/Devel/DProf/test2_t
+++ /dev/null
@@ -1,21 +0,0 @@
-sub foo {
- print "in sub foo\n";
- bar();
-}
-
-sub bar {
- print "in sub bar\n";
-}
-
-sub baz {
- print "in sub baz\n";
- bar();
- bar();
- bar();
- foo();
-}
-
-bar();
-bar();
-baz();
-foo();
diff --git a/Master/tlpkg/tlperl/lib/Devel/DProf/test2_v b/Master/tlpkg/tlperl/lib/Devel/DProf/test2_v
deleted file mode 100644
index 8b775b31315..00000000000
--- a/Master/tlpkg/tlperl/lib/Devel/DProf/test2_v
+++ /dev/null
@@ -1,36 +0,0 @@
-# perl
-
-use V;
-
-dprofpp( '-T' );
-$expected =
-qq{main::bar
-main::bar
-main::baz
- main::bar
- main::bar
- main::bar
- main::foo
- main::bar
-main::foo
- main::bar
-};
-report 5, sub { $expected eq $results };
-
-dprofpp('-TF');
-report 6, sub { $expected eq $results };
-
-dprofpp( '-t' );
-$expected =
-qq{main::bar (2x)
-main::baz
- main::bar (3x)
- main::foo
- main::bar
-main::foo
- main::bar
-};
-report 7, sub { $expected eq $results };
-
-dprofpp('-tF');
-report 8, sub { $expected eq $results };
diff --git a/Master/tlpkg/tlperl/lib/Devel/DProf/test3_t b/Master/tlpkg/tlperl/lib/Devel/DProf/test3_t
deleted file mode 100644
index a5327f4d7ad..00000000000
--- a/Master/tlpkg/tlperl/lib/Devel/DProf/test3_t
+++ /dev/null
@@ -1,19 +0,0 @@
-sub foo {
- print "in sub foo\n";
- exit(0);
- bar();
-}
-
-sub bar {
- print "in sub bar\n";
-}
-
-sub baz {
- print "in sub baz\n";
- bar();
- foo();
-}
-
-bar();
-baz();
-foo();
diff --git a/Master/tlpkg/tlperl/lib/Devel/DProf/test3_v b/Master/tlpkg/tlperl/lib/Devel/DProf/test3_v
deleted file mode 100644
index df7543e2b80..00000000000
--- a/Master/tlpkg/tlperl/lib/Devel/DProf/test3_v
+++ /dev/null
@@ -1,29 +0,0 @@
-# perl
-
-use V;
-
-dprofpp( '-T' );
-$e1 = $expected =
-qq{main::bar
-main::baz
- main::bar
- main::foo
-};
-report 9, sub { $expected eq $results };
-
-dprofpp('-TF');
-$e2 = $expected =
-qq{main::bar
-main::baz
- main::bar
- main::foo
-};
-report 10, sub { $expected eq $results };
-
-dprofpp( '-t' );
-$expected = $e1;
-report 11, sub { 1 };
-
-dprofpp('-tF');
-$expected = $e2;
-report 12, sub { $expected eq $results };
diff --git a/Master/tlpkg/tlperl/lib/Devel/DProf/test4_t b/Master/tlpkg/tlperl/lib/Devel/DProf/test4_t
deleted file mode 100644
index 729968270aa..00000000000
--- a/Master/tlpkg/tlperl/lib/Devel/DProf/test4_t
+++ /dev/null
@@ -1,24 +0,0 @@
-sub foo {
- print "in sub foo\n";
- bar();
-}
-
-sub bar {
- print "in sub bar\n";
-}
-
-sub baz {
- print "in sub baz\n";
- bar();
- bar();
- bar();
- foo();
-}
-
-bar();
-
-eval { fork };
-
-bar();
-baz();
-foo();
diff --git a/Master/tlpkg/tlperl/lib/Devel/DProf/test4_v b/Master/tlpkg/tlperl/lib/Devel/DProf/test4_v
deleted file mode 100644
index d9677ff7853..00000000000
--- a/Master/tlpkg/tlperl/lib/Devel/DProf/test4_v
+++ /dev/null
@@ -1,36 +0,0 @@
-# perl
-
-use V;
-
-dprofpp( '-T' );
-$expected =
-qq{main::bar
-main::bar
-main::baz
- main::bar
- main::bar
- main::bar
- main::foo
- main::bar
-main::foo
- main::bar
-};
-report 13, sub { $expected eq $results };
-
-dprofpp('-TF');
-report 14, sub { $expected eq $results };
-
-dprofpp( '-t' );
-$expected =
-qq{main::bar (2x)
-main::baz
- main::bar (3x)
- main::foo
- main::bar
-main::foo
- main::bar
-};
-report 15, sub { $expected eq $results };
-
-dprofpp('-tF');
-report 16, sub { $expected eq $results };
diff --git a/Master/tlpkg/tlperl/lib/Devel/DProf/test5_t b/Master/tlpkg/tlperl/lib/Devel/DProf/test5_t
deleted file mode 100644
index 0b1113757fd..00000000000
--- a/Master/tlpkg/tlperl/lib/Devel/DProf/test5_t
+++ /dev/null
@@ -1,25 +0,0 @@
-# Test that dprof doesn't break
-# &bar; used as &bar(@_);
-
-sub foo1 {
- print "in foo1(@_)\n";
- bar(@_);
-}
-sub foo2 {
- print "in foo2(@_)\n";
- &bar;
-}
-sub bar {
- print "in bar(@_)\n";
- if( @_ > 0 ){
- &yeppers;
- }
-}
-sub yeppers {
- print "rest easy\n";
-}
-
-
-&foo1( A );
-&foo2( B );
-
diff --git a/Master/tlpkg/tlperl/lib/Devel/DProf/test5_v b/Master/tlpkg/tlperl/lib/Devel/DProf/test5_v
deleted file mode 100644
index 9e9298c6896..00000000000
--- a/Master/tlpkg/tlperl/lib/Devel/DProf/test5_v
+++ /dev/null
@@ -1,15 +0,0 @@
-# perl
-
-use V;
-
-dprofpp( '-T' );
-$expected =
-qq{main::foo1
- main::bar
- main::yeppers
-main::foo2
- main::bar
- main::yeppers
-};
-report 17, sub { $expected eq $results };
-
diff --git a/Master/tlpkg/tlperl/lib/Devel/DProf/test6_t b/Master/tlpkg/tlperl/lib/Devel/DProf/test6_t
deleted file mode 100644
index 7b8bf4a722b..00000000000
--- a/Master/tlpkg/tlperl/lib/Devel/DProf/test6_t
+++ /dev/null
@@ -1,29 +0,0 @@
-sub foo {
- my $x;
- my $y;
- print "in sub foo\n";
- for( $x = 1; $x < 100; ++$x ){
- bar();
- for( $y = 1; $y < 100; ++$y ){
- }
- }
-}
-
-sub bar {
- my $x;
- print "in sub bar\n";
- for( $x = 1; $x < 100; ++$x ){
- }
- die "bar exiting";
-}
-
-sub baz {
- print "in sub baz\n";
- eval { bar(); };
- eval { foo(); };
-}
-
-eval { bar(); };
-baz();
-eval { foo(); };
-
diff --git a/Master/tlpkg/tlperl/lib/Devel/DProf/test6_v b/Master/tlpkg/tlperl/lib/Devel/DProf/test6_v
deleted file mode 100644
index 2f651ea7945..00000000000
--- a/Master/tlpkg/tlperl/lib/Devel/DProf/test6_v
+++ /dev/null
@@ -1,16 +0,0 @@
-# perl
-
-use V;
-
-dprofpp( '-T' );
-$expected =
-qq{main::bar
-main::baz
- main::bar
- main::foo
- main::bar
-main::foo
- main::bar
-};
-report 18, sub { $expected eq $results };
-
diff --git a/Master/tlpkg/tlperl/lib/Devel/DProf/test7_t b/Master/tlpkg/tlperl/lib/Devel/DProf/test7_t
deleted file mode 100644
index 56dbfd341c4..00000000000
--- a/Master/tlpkg/tlperl/lib/Devel/DProf/test7_t
+++ /dev/null
@@ -1,9 +0,0 @@
-BEGIN {
- print "in BEGIN\n";
-}
-
-sub foo {
- print "in sub foo\n";
-}
-
-foo();
diff --git a/Master/tlpkg/tlperl/lib/Devel/DProf/test7_v b/Master/tlpkg/tlperl/lib/Devel/DProf/test7_v
deleted file mode 100644
index 1d19fe5cd52..00000000000
--- a/Master/tlpkg/tlperl/lib/Devel/DProf/test7_v
+++ /dev/null
@@ -1,10 +0,0 @@
-# perl
-
-use V;
-
-dprofpp( '-T' );
-$expected =
-qq{main::BEGIN
-main::foo
-};
-report 19, sub { $expected eq $results };
diff --git a/Master/tlpkg/tlperl/lib/Devel/DProf/test8_t b/Master/tlpkg/tlperl/lib/Devel/DProf/test8_t
deleted file mode 100644
index 6154c8a5307..00000000000
--- a/Master/tlpkg/tlperl/lib/Devel/DProf/test8_t
+++ /dev/null
@@ -1,15 +0,0 @@
-sub foo {
- print "in sub foo\n";
-}
-
-sub bar {
- print "in sub bar\n";
- $^P -= 0x40;
-}
-
-foo();
-$^P -= 0x40;
-foo();
-$^P += 0x40;
-bar();
-$^P += 0x40;
diff --git a/Master/tlpkg/tlperl/lib/Devel/DProf/test8_v b/Master/tlpkg/tlperl/lib/Devel/DProf/test8_v
deleted file mode 100644
index d5de3087fea..00000000000
--- a/Master/tlpkg/tlperl/lib/Devel/DProf/test8_v
+++ /dev/null
@@ -1,11 +0,0 @@
-# perl
-
-use V;
-
-dprofpp( '-t' );
-$expected =
-qq{main::foo (2x)
-main::bar
-};
-
-report 20, sub { $expected eq $results };
diff --git a/Master/tlpkg/tlperl/lib/Devel/InnerPackage.pm b/Master/tlpkg/tlperl/lib/Devel/InnerPackage.pm
index 614a59a85e5..69f8dcaa447 100644
--- a/Master/tlpkg/tlperl/lib/Devel/InnerPackage.pm
+++ b/Master/tlpkg/tlperl/lib/Devel/InnerPackage.pm
@@ -4,7 +4,7 @@ use strict;
use base qw(Exporter);
use vars qw($VERSION @EXPORT_OK);
-$VERSION = '0.3';
+$VERSION = '0.4';
@EXPORT_OK = qw(list_packages);
=pod
@@ -83,12 +83,12 @@ sub list_packages {
sub _loaded {
my ($class, $name) = @_;
- no strict 'refs';
+ no strict 'refs';
# Handle by far the two most common cases
# This is very fast and handles 99% of cases.
return 1 if defined ${"${name}::VERSION"};
- return 1 if defined @{"${name}::ISA"};
+ return 1 if @{"${name}::ISA"};
# Are there any symbol table entries other than other namespaces
foreach ( keys %{"${name}::"} ) {
diff --git a/Master/tlpkg/tlperl/lib/Devel/PPPort.pm b/Master/tlpkg/tlperl/lib/Devel/PPPort.pm
index 5d786f12a50..3748c48b6db 100644
--- a/Master/tlpkg/tlperl/lib/Devel/PPPort.pm
+++ b/Master/tlpkg/tlperl/lib/Devel/PPPort.pm
@@ -12,13 +12,13 @@
#
################################################################################
#
-# $Revision: 65 $
+# $Revision: 67 $
# $Author: mhx $
-# $Date: 2009/06/12 04:10:36 +0200 $
+# $Date: 2010/03/07 13:15:41 +0100 $
#
################################################################################
#
-# Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+# Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
# Version 2.x, Copyright (C) 2001, Paul Marquess.
# Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
#
@@ -49,7 +49,7 @@ C<Devel::PPPort> contains a single function, called C<WriteFile>. Its
only purpose is to write the F<ppport.h> C header file. This file
contains a series of macros and, if explicitly requested, functions that
allow XS modules to be built using older versions of Perl. Currently,
-Perl versions from 5.003 to 5.10.0 are supported.
+Perl versions from 5.003 to 5.11.5 are supported.
This module is used by C<h2xs> to write the file F<ppport.h>.
@@ -103,7 +103,7 @@ Otherwise it returns a false value.
=head1 COMPATIBILITY
-F<ppport.h> supports Perl versions from 5.003 to 5.10.0
+F<ppport.h> supports Perl versions from 5.003 to 5.11.5
in threaded and non-threaded configurations.
=head2 Provided Perl compatibility API
@@ -165,6 +165,8 @@ in older Perl releases:
G_METHOD
get_av
get_cv
+ get_cvn_flags
+ get_cvs
get_hv
get_sv
grok_bin
@@ -175,6 +177,7 @@ in older Perl releases:
grok_oct
gv_fetchpvn_flags
gv_fetchpvs
+ gv_fetchsv
gv_stashpvn
gv_stashpvs
GvSVn
@@ -208,7 +211,9 @@ in older Perl releases:
IVTYPE
load_module
memEQ
+ memEQs
memNE
+ memNEs
MoveD
mPUSHi
mPUSHn
@@ -237,6 +242,7 @@ in older Perl releases:
newSVpvn_utf8
newSVpvs
newSVpvs_flags
+ newSVpvs_share
newSVuv
Newx
Newxc
@@ -585,34 +591,214 @@ Perl below which it is unsupported:
=over 4
-=item perl 5.11.0
+=item perl 5.14.0
- HeUTF8
+ BhkDISABLE
+ BhkENABLE
+ BhkENTRY_set
MULTICALL
PERL_SYS_TERM
POP_MULTICALL
PUSH_MULTICALL
+ XopDISABLE
+ XopENABLE
+ XopENTRY
+ XopENTRY_set
+ cophh_new_empty
+ my_lstat
+ my_stat
+ ref
+ stashpv_hvname_match
+
+=item perl 5.13.10
+
+ foldEQ_utf8_flags
+ is_utf8_xidcont
+ is_utf8_xidfirst
+
+=item perl 5.13.8
+
+ foldEQ_latin1
+ mg_findext
+ parse_arithexpr
+ parse_fullexpr
+ parse_listexpr
+ parse_termexpr
+ sv_unmagicext
+
+=item perl 5.13.7
+
+ HvENAME
+ OP_CLASS
+ SvPV_nomg_nolen
+ XopFLAGS
+ amagic_deref_call
+ bytes_cmp_utf8
+ cop_hints_2hv
+ cop_hints_fetch_pv
+ cop_hints_fetch_pvn
+ cop_hints_fetch_pvs
+ cop_hints_fetch_sv
+ cophh_2hv
+ cophh_copy
+ cophh_delete_pv
+ cophh_delete_pvn
+ cophh_delete_pvs
+ cophh_delete_sv
+ cophh_fetch_pv
+ cophh_fetch_pvn
+ cophh_fetch_pvs
+ cophh_fetch_sv
+ cophh_free
+ cophh_store_pv
+ cophh_store_pvn
+ cophh_store_pvs
+ cophh_store_sv
+ custom_op_register
+ custom_op_xop
+ newFOROP
+ newWHILEOP
+ op_lvalue
+ op_scope
+ parse_barestmt
+ parse_block
+ parse_label
+
+=item perl 5.13.6
+
+ LINKLIST
+ SvTRUE_nomg
+ ck_entersub_args_list
+ ck_entersub_args_proto
+ ck_entersub_args_proto_or_list
+ cv_get_call_checker
+ cv_set_call_checker
+ isWORDCHAR
+ lex_stuff_pv
+ mg_free_type
+ newSVpv_share
+ op_append_elem
+ op_append_list
+ op_contextualize
+ op_linklist
+ op_prepend_elem
+ parse_stmtseq
+ rv2cv_op_cv
+ savesharedpvs
+ savesharedsvpv
+ sv_2bool_flags
+ sv_catpv_flags
+ sv_catpv_nomg
+ sv_catpvs_flags
+ sv_catpvs_mg
+ sv_catpvs_nomg
+ sv_cmp_flags
+ sv_cmp_locale_flags
+ sv_collxfrm_flags
+ sv_eq_flags
+ sv_setpvs_mg
+ sv_setref_pvs
+
+=item perl 5.13.5
+
+ PL_rpeepp
+ caller_cx
+ isOCTAL
+ lex_stuff_pvs
+ parse_fullstmt
+
+=item perl 5.13.4
+
+ XS_APIVERSION_BOOTCHECK
+
+=item perl 5.13.3
+
+ blockhook_register
+ croak_no_modify
+
+=item perl 5.13.2
+
+ SvNV_nomg
+ find_rundefsv
+ foldEQ
+ foldEQ_locale
+ foldEQ_utf8
+ hv_fill
+ sv_dec_nomg
+ sv_inc_nomg
+
+=item perl 5.13.1
+
+ croak_sv
+ die_sv
+ mess_sv
+ sv_2nv_flags
+ warn_sv
+
+=item perl 5.11.5
+
+ sv_pos_u2b_flags
+
+=item perl 5.11.4
+
+ prescan_version
+
+=item perl 5.11.2
+
+ PL_keyword_plugin
+ lex_bufutf8
+ lex_discard_to
+ lex_grow_linestr
+ lex_next_chunk
+ lex_peek_unichar
+ lex_read_space
+ lex_read_to
+ lex_read_unichar
+ lex_stuff_pvn
+ lex_stuff_sv
+ lex_unstuff
+ pad_findmy
+
+=item perl 5.11.1
+
+ ck_warner
+ ck_warner_d
+ is_utf8_perl_space
+ is_utf8_perl_word
+ is_utf8_posix_digit
+
+=item perl 5.11.0
+
+ Gv_AMupdate
+ PL_opfreehook
SvOOK_offset
av_iter_p
- croak_xs_usage
fetch_cop_label
+ gv_add_by_type
gv_fetchmethod_flags
- hv_assert
+ is_ascii_string
+ pregfree2
+ save_adelete
+ save_aelem_flags
+ save_hdelete
+ save_helem_flags
+ sv_utf8_upgrade_flags_grow
+
+=item perl 5.10.1
+
+ HeUTF8
+ croak_xs_usage
mro_get_from_name
mro_get_private_data
mro_register
mro_set_mro
mro_set_private_data
- pad_sv
- pregfree2
- ref
- save_adelete
- save_helem_flags
+ save_hints
save_padsv_and_mortalize
+ save_pushi32ptr
save_pushptr
- stashpv_hvname_match
+ save_pushptrptr
sv_insert_flags
- sv_utf8_upgrade_flags_grow
=item perl 5.10.0
@@ -625,13 +811,14 @@ Perl below which it is unsupported:
=item perl 5.9.5
+ PL_parser
Perl_signbit
SvRX
SvRXOK
av_create_and_push
av_create_and_unshift_one
- get_cvn_flags
gv_fetchfile_flags
+ lex_start
mro_get_linear_isa
mro_method_changed_in
my_dirfd
@@ -659,6 +846,7 @@ Perl below which it is unsupported:
PerlIO_context_layers
gv_name_set
+ hv_copy_hints_hv
my_vsnprintf
newXS_flags
regclass_swash
@@ -685,9 +873,7 @@ Perl below which it is unsupported:
is_utf8_string_loclen
newGIVENOP
newSVhek
- newSVpvs_share
newWHENOP
- newWHILEOP
savepvs
sortsv_flags
vverify
@@ -696,7 +882,6 @@ Perl below which it is unsupported:
SvPVbyte_force
find_rundefsvoffset
- gv_fetchsv
op_refcnt_lock
op_refcnt_unlock
savesvpv
@@ -748,6 +933,9 @@ Perl below which it is unsupported:
=item perl 5.7.3
+ OP_DESC
+ OP_NAME
+ PL_peepp
PerlIO_clearerr
PerlIO_close
PerlIO_eof
@@ -911,8 +1099,6 @@ Perl below which it is unsupported:
init_i18nl14n
is_uni_alnum
is_uni_alnum_lc
- is_uni_alnumc
- is_uni_alnumc_lc
is_uni_alpha
is_uni_alpha_lc
is_uni_ascii
@@ -938,7 +1124,6 @@ Perl below which it is unsupported:
is_uni_xdigit
is_uni_xdigit_lc
is_utf8_alnum
- is_utf8_alnumc
is_utf8_alpha
is_utf8_ascii
is_utf8_char
@@ -1043,6 +1228,7 @@ Perl below which it is unsupported:
runops_debug
runops_standard
save_iv
+ save_op
screaminstr
sv_iv
sv_nv
@@ -1155,7 +1341,7 @@ Version 3.x was ported back to CPAN by Marcus Holland-Moritz.
=head1 COPYRIGHT
-Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
Version 2.x, Copyright (C) 2001, Paul Marquess.
@@ -1175,7 +1361,7 @@ package Devel::PPPort;
use strict;
use vars qw($VERSION $data);
-$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.19 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
+$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.20 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
sub _init_data
{
@@ -1262,7 +1448,7 @@ SKIP
|>=head1 COMPATIBILITY
|>
|>This version of F<ppport.h> is designed to support operation with Perl
-|>installations back to 5.003, and has been tested up to 5.10.0.
+|>installations back to 5.003, and has been tested up to 5.11.5.
|>
|>=head1 OPTIONS
|>
@@ -1564,7 +1750,7 @@ SKIP
|>
|>=head1 COPYRIGHT
|>
-|>Version 3.x, Copyright (c) 2004-2009, Marcus Holland-Moritz.
+|>Version 3.x, Copyright (c) 2004-2010, Marcus Holland-Moritz.
|>
|>Version 2.x, Copyright (C) 2001, Paul Marquess.
|>
@@ -1653,6 +1839,12 @@ my %API = map { /^(\w+)\|([^|]*)\|([^|]*)\|(\w*)$/
: die "invalid spec: $_" } qw(
AvFILLp|5.004050||p
AvFILL|||
+BhkDISABLE||5.014000|
+BhkENABLE||5.014000|
+BhkENTRY_set||5.014000|
+BhkENTRY|||
+BhkFLAGS|||
+CALL_BLOCK_HOOKS|||
CLASS|||n
CPERLscope|5.005000||p
CX_CURPAD_SAVE|||
@@ -1673,7 +1865,7 @@ Copy|||
CvPADLIST|||
CvSTASH|||
CvWEAKOUTSIDE|||
-DEFSV_set|5.011000||p
+DEFSV_set|5.010001||p
DEFSV|5.004050||p
END_EXTERN_C|5.005000||p
ENTER|||
@@ -1695,7 +1887,7 @@ G_VOID||5.004000|
GetVars|||
GvSVn|5.009003||p
GvSV|||
-Gv_AMupdate|||
+Gv_AMupdate||5.011000|
HEf_SVKEY||5.004000|
HeHASH||5.004000|
HeKEY||5.004000|
@@ -1704,8 +1896,9 @@ HePV||5.004000|
HeSVKEY_force||5.004000|
HeSVKEY_set||5.004000|
HeSVKEY||5.004000|
-HeUTF8||5.011000|
+HeUTF8||5.010001|
HeVAL||5.004000|
+HvENAME||5.013007|
HvNAMELEN_get|5.009003||p
HvNAME_get|5.009003||p
HvNAME|||
@@ -1724,9 +1917,10 @@ IVSIZE|5.006000||p
IVTYPE|5.006000||p
IVdf|5.006000||p
LEAVE|||
+LINKLIST||5.013006|
LVRET|||
MARK|||
-MULTICALL||5.011000|
+MULTICALL||5.014000|
MY_CXT_CLONE|5.009002||p
MY_CXT_INIT|5.007003||p
MY_CXT|5.007003||p
@@ -1746,6 +1940,9 @@ Nullch|||
Nullcv|||
Nullhv|||
Nullsv|||
+OP_CLASS||5.013007|
+OP_DESC||5.007003|
+OP_NAME||5.007003|
ORIGMARK|||
PAD_BASE_SV|||
PAD_CLONE_VARS|||
@@ -1767,7 +1964,7 @@ PAD_SV|||
PERLIO_FUNCS_CAST|5.009003||p
PERLIO_FUNCS_DECL|5.009003||p
PERL_ABS|5.008001||p
-PERL_BCDVERSION|5.011000||p
+PERL_BCDVERSION|5.014000||p
PERL_GCC_BRACE_GROUPS_FORBIDDEN|5.008001||p
PERL_HASH|5.004000||p
PERL_INT_MAX|5.004000||p
@@ -1785,10 +1982,10 @@ PERL_MAGIC_envelem|5.007002||p
PERL_MAGIC_env|5.007002||p
PERL_MAGIC_ext|5.007002||p
PERL_MAGIC_fm|5.007002||p
-PERL_MAGIC_glob|5.011000||p
+PERL_MAGIC_glob|5.014000||p
PERL_MAGIC_isaelem|5.007002||p
PERL_MAGIC_isa|5.007002||p
-PERL_MAGIC_mutex|5.011000||p
+PERL_MAGIC_mutex|5.014000||p
PERL_MAGIC_nkeys|5.007002||p
PERL_MAGIC_overload_elem|5.007002||p
PERL_MAGIC_overload_table|5.007002||p
@@ -1840,7 +2037,7 @@ PERL_SIGNALS_UNSAFE_FLAG|5.008001||p
PERL_SUBVERSION|5.006000||p
PERL_SYS_INIT3||5.006000|
PERL_SYS_INIT|||
-PERL_SYS_TERM||5.011000|
+PERL_SYS_TERM||5.014000|
PERL_UCHAR_MAX|5.004000||p
PERL_UCHAR_MIN|5.004000||p
PERL_UINT_MAX|5.004000||p
@@ -1862,10 +2059,10 @@ PL_DBsingle|||pn
PL_DBsub|||pn
PL_DBtrace|||pn
PL_Sv|5.005000||p
-PL_bufend|5.011000||p
-PL_bufptr|5.011000||p
+PL_bufend|5.014000||p
+PL_bufptr|5.014000||p
PL_compiling|5.004050||p
-PL_copline|5.011000||p
+PL_copline|5.014000||p
PL_curcop|5.004050||p
PL_curstash|5.004050||p
PL_debstash|5.004050||p
@@ -1874,27 +2071,31 @@ PL_diehook|5.004050||p
PL_dirty|5.004050||p
PL_dowarn|||pn
PL_errgv|5.004050||p
-PL_error_count|5.011000||p
-PL_expect|5.011000||p
+PL_error_count|5.014000||p
+PL_expect|5.014000||p
PL_hexdigit|5.005000||p
PL_hints|5.005000||p
-PL_in_my_stash|5.011000||p
-PL_in_my|5.011000||p
+PL_in_my_stash|5.014000||p
+PL_in_my|5.014000||p
+PL_keyword_plugin||5.011002|
PL_last_in_gv|||n
PL_laststatval|5.005000||p
-PL_lex_state|5.011000||p
-PL_lex_stuff|5.011000||p
-PL_linestr|5.011000||p
+PL_lex_state|5.014000||p
+PL_lex_stuff|5.014000||p
+PL_linestr|5.014000||p
PL_modglobal||5.005000|n
PL_na|5.004050||pn
PL_no_modify|5.006000||p
PL_ofsgv|||n
-PL_parser|5.009005||p
+PL_opfreehook||5.011000|n
+PL_parser|5.009005|5.009005|p
+PL_peepp||5.007003|n
PL_perl_destruct_level|5.004050||p
PL_perldb|5.004050||p
PL_ppaddr|5.006000||p
-PL_rsfp_filters|5.004050||p
-PL_rsfp|5.004050||p
+PL_rpeepp||5.013005|n
+PL_rsfp_filters|5.014000||p
+PL_rsfp|5.014000||p
PL_rs|||n
PL_signals|5.008001||p
PL_stack_base|5.004050||p
@@ -1907,8 +2108,8 @@ PL_sv_undef|5.004050||pn
PL_sv_yes|5.004050||pn
PL_tainted|5.004050||p
PL_tainting|5.004050||p
-PL_tokenbuf|5.011000||p
-POP_MULTICALL||5.011000|
+PL_tokenbuf|5.014000||p
+POP_MULTICALL||5.014000|
POPi|||n
POPl|||n
POPn|||n
@@ -1923,7 +2124,7 @@ PTR2nat|5.009003||p
PTR2ul|5.007001||p
PTRV|5.006000||p
PUSHMARK|||
-PUSH_MULTICALL||5.011000|
+PUSH_MULTICALL||5.014000|
PUSHi|||
PUSHmortal|5.009002||p
PUSHn|||
@@ -2034,6 +2235,7 @@ SvNOK_on|||
SvNOKp|||
SvNOK|||
SvNVX|||
+SvNV_nomg||5.013002|
SvNV_set|||
SvNVx|||
SvNV|||
@@ -2067,6 +2269,7 @@ SvPV_nolen_const|5.009003||p
SvPV_nolen|5.006000||p
SvPV_nomg_const_nolen|5.009003||p
SvPV_nomg_const|5.009003||p
+SvPV_nomg_nolen||5.013007|
SvPV_nomg|5.007002||p
SvPV_renew|5.009003||p
SvPV_set|||
@@ -2112,6 +2315,7 @@ SvTAINTED_off||5.004000|
SvTAINTED_on||5.004000|
SvTAINTED||5.004000|
SvTAINT|||
+SvTRUE_nomg||5.013006|
SvTRUE|||
SvTYPE|||
SvUNLOCK||5.007003|
@@ -2139,7 +2343,7 @@ UVuf|5.006000||p
UVxf|5.006000||p
WARN_ALL|5.006000||p
WARN_AMBIGUOUS|5.006000||p
-WARN_ASSERTIONS|5.011000||p
+WARN_ASSERTIONS|5.014000||p
WARN_BAREWORD|5.006000||p
WARN_CLOSED|5.006000||p
WARN_CLOSURE|5.006000||p
@@ -2211,37 +2415,52 @@ XST_mPV|||
XST_mUNDEF|||
XST_mUV|5.008001||p
XST_mYES|||
+XS_APIVERSION_BOOTCHECK||5.013004|
XS_VERSION_BOOTCHECK|||
XS_VERSION|||
XSprePUSH|5.006000||p
XS|||
+XopDISABLE||5.014000|
+XopENABLE||5.014000|
+XopENTRY_set||5.014000|
+XopENTRY||5.014000|
+XopFLAGS||5.013007|
ZeroD|5.009002||p
Zero|||
_aMY_CXT|5.007003||p
+_append_range_to_invlist|||
+_new_invlist|||
_pMY_CXT|5.007003||p
+_swash_inversion_hash|||
+_swash_to_invlist|||
aMY_CXT_|5.007003||p
aMY_CXT|5.007003||p
-aTHXR_|5.011000||p
-aTHXR|5.011000||p
+aTHXR_|5.014000||p
+aTHXR|5.014000||p
aTHX_|5.006000||p
aTHX|5.006000||p
+add_alternate|||
+add_cp_to_invlist|||
add_data|||n
+add_range_to_invlist|||
+add_utf16_textfilter|||
addmad|||
allocmy|||
amagic_call|||
amagic_cmp_locale|||
amagic_cmp|||
+amagic_deref_call||5.013007|
amagic_i_ncmp|||
amagic_ncmp|||
+anonymise_cv_maybe|||
any_dup|||
ao|||
-append_elem|||
-append_list|||
append_madprops|||
apply_attrs_my|||
apply_attrs_string||5.006001|
apply_attrs|||
apply|||
+assert_uft8_cache_coherent|||
atfork_lock||5.007003|n
atfork_unlock||5.007003|n
av_arylen_p||5.009003|
@@ -2269,10 +2488,12 @@ bind_match|||
block_end|||
block_gimme||5.004000|
block_start|||
+blockhook_register||5.013003|
boolSV|5.004000||p
boot_core_PerlIO|||
boot_core_UNIVERSAL|||
boot_core_mro|||
+bytes_cmp_utf8||5.013007|
bytes_from_utf8||5.007001|
bytes_to_uni|||n
bytes_to_utf8||5.006001|
@@ -2282,6 +2503,7 @@ call_list||5.004000|
call_method|5.006000||p
call_pv|5.006000||p
call_sv|5.006000||p
+caller_cx||5.013005|
calloc||5.007002|n
cando|||
cast_i32||5.006000|
@@ -2290,76 +2512,73 @@ cast_ulong||5.006000|
cast_uv||5.006000|
check_type_and_open|||
check_uni|||
+check_utf8_print|||
checkcomma|||
checkposixcc|||
ckWARN|5.006000||p
-ck_anoncode|||
-ck_bitop|||
-ck_concat|||
-ck_defined|||
-ck_delete|||
-ck_die|||
-ck_each|||
-ck_eof|||
-ck_eval|||
-ck_exec|||
-ck_exists|||
-ck_exit|||
-ck_ftst|||
-ck_fun|||
-ck_glob|||
-ck_grep|||
-ck_index|||
-ck_join|||
-ck_lfun|||
-ck_listiob|||
-ck_match|||
-ck_method|||
-ck_null|||
-ck_open|||
-ck_readline|||
-ck_repeat|||
-ck_require|||
-ck_return|||
-ck_rfun|||
-ck_rvconst|||
-ck_sassign|||
-ck_select|||
-ck_shift|||
-ck_sort|||
-ck_spair|||
-ck_split|||
-ck_subr|||
-ck_substr|||
-ck_svconst|||
-ck_trunc|||
-ck_unpack|||
+ck_entersub_args_list||5.013006|
+ck_entersub_args_proto_or_list||5.013006|
+ck_entersub_args_proto||5.013006|
+ck_warner_d||5.011001|v
+ck_warner||5.011001|v
+ckwarn_common|||
ckwarn_d||5.009003|
ckwarn||5.009003|
cl_and|||n
cl_anything|||n
-cl_init_zero|||n
cl_init|||n
cl_is_anything|||n
cl_or|||n
clear_placeholders|||
+clone_params_del|||n
+clone_params_new|||n
closest_cop|||
convert|||
cop_free|||
+cop_hints_2hv||5.013007|
+cop_hints_fetch_pvn||5.013007|
+cop_hints_fetch_pvs||5.013007|
+cop_hints_fetch_pv||5.013007|
+cop_hints_fetch_sv||5.013007|
+cophh_2hv||5.013007|
+cophh_copy||5.013007|
+cophh_delete_pvn||5.013007|
+cophh_delete_pvs||5.013007|
+cophh_delete_pv||5.013007|
+cophh_delete_sv||5.013007|
+cophh_fetch_pvn||5.013007|
+cophh_fetch_pvs||5.013007|
+cophh_fetch_pv||5.013007|
+cophh_fetch_sv||5.013007|
+cophh_free||5.013007|
+cophh_new_empty||5.014000|
+cophh_store_pvn||5.013007|
+cophh_store_pvs||5.013007|
+cophh_store_pv||5.013007|
+cophh_store_sv||5.013007|
cr_textfilter|||
create_eval_scope|||
+croak_no_modify||5.013003|
croak_nocontext|||vn
-croak_xs_usage||5.011000|
+croak_sv||5.013001|
+croak_xs_usage||5.010001|
croak|||v
csighandler||5.009003|n
curmad|||
+curse|||
custom_op_desc||5.007003|
custom_op_name||5.007003|
+custom_op_register||5.013007|
+custom_op_xop||5.013007|
cv_ckproto_len|||
cv_clone|||
cv_const_sv||5.004000|
cv_dump|||
+cv_get_call_checker||5.013006|
+cv_set_call_checker||5.013006|
cv_undef|||
+cvgv_set|||
+cvstash_set|||
cx_dump||5.005000|
cx_dup|||
cxinc|||
@@ -2374,7 +2593,7 @@ dNOOP|5.006000||p
dORIGMARK|||
dSP|||
dTHR|5.004050||p
-dTHXR|5.011000||p
+dTHXR|5.014000||p
dTHXa|5.006000||p
dTHXoa|5.006000||p
dTHX|5.006000||p
@@ -2397,13 +2616,13 @@ debug_start_match|||
deb||5.007003|v
del_sv|||
delete_eval_scope|||
-delimcpy||5.004000|
-deprecate_old|||
-deprecate|||
+delimcpy||5.004000|n
+deprecate_commaless_var_list|||
despatch_signals||5.007001|
destroy_matcher|||
die_nocontext|||vn
-die_where|||
+die_sv||5.013001|
+die_unwind|||
die|||v
dirp_dup|||
div128|||
@@ -2413,8 +2632,8 @@ do_aexec|||
do_aspawn|||
do_binmode||5.004050|
do_chomp|||
-do_chop|||
do_close|||
+do_delete_local|||
do_dump_pad|||
do_eof|||
do_exec3|||
@@ -2426,7 +2645,6 @@ do_hv_dump||5.006000|
do_ipcctl|||
do_ipcget|||
do_join|||
-do_kv|||
do_magic_dump||5.006000|
do_msgrcv|||
do_msgsnd|||
@@ -2478,6 +2696,7 @@ dopoptowhen|||
doref||5.009003|
dounwind|||
dowantarray|||
+dump_all_perl|||
dump_all||5.006000|
dump_eval||5.006000|
dump_exec_pos|||
@@ -2485,7 +2704,9 @@ dump_fds|||
dump_form||5.006000|
dump_indent||5.006000|v
dump_mstats|||
+dump_packsubs_perl|||
dump_packsubs||5.006000|
+dump_sub_perl|||
dump_sub||5.006000|
dump_sv_child|||
dump_trie_interim_list|||
@@ -2515,14 +2736,21 @@ find_hash_subscript|||
find_in_my_stash|||
find_runcv||5.008001|
find_rundefsvoffset||5.009002|
+find_rundefsv||5.013002|
find_script|||
find_uninit_var|||
first_symbol|||n
+foldEQ_latin1||5.013008|n
+foldEQ_locale||5.013002|n
+foldEQ_utf8_flags||5.013010|
+foldEQ_utf8||5.013002|
+foldEQ||5.013002|n
fold_constants|||
forbid_setid|||
force_ident|||
force_list|||
force_next|||
+force_strict_version|||
force_version|||
force_word|||
forget_pmop|||
@@ -2534,17 +2762,16 @@ free_global_struct|||
free_tied_hv_pool|||
free_tmps|||
gen_constant_list|||
-get_arena|||
get_aux_mg|||
get_av|5.006000||p
get_context||5.006000|n
-get_cvn_flags||5.009005|
+get_cvn_flags|5.009005||p
+get_cvs|5.011000||p
get_cv|5.006000||p
get_db_sub|||
get_debug_opts|||
get_hash_seed|||
get_hv|5.006000||p
-get_isa_hash|||
get_mstats|||
get_no_modify|||
get_num|||
@@ -2564,6 +2791,8 @@ gp_dup|||
gp_free|||
gp_ref|||
grok_bin|5.007003||p
+grok_bslash_c|||
+grok_bslash_o|||
grok_hex|5.007003||p
grok_number|5.007002||p
grok_numeric_radix|5.007002||p
@@ -2573,6 +2802,7 @@ gv_AVadd|||
gv_HVadd|||
gv_IOadd|||
gv_SVadd|||
+gv_add_by_type||5.011000|
gv_autoload4||5.004000|
gv_check|||
gv_const_sv||5.009003|
@@ -2591,7 +2821,7 @@ gv_fetchmeth|||
gv_fetchpvn_flags|5.009002||p
gv_fetchpvs|5.009004||p
gv_fetchpv|||
-gv_fetchsv||5.009002|
+gv_fetchsv|5.009002||p
gv_fullname3||5.004000|
gv_fullname4||5.006001|
gv_fullname|||
@@ -2599,34 +2829,40 @@ gv_get_super_pkg|||
gv_handler||5.007001|
gv_init_sv|||
gv_init|||
+gv_magicalize_isa|||
+gv_magicalize_overload|||
gv_name_set||5.009004|
gv_stashpvn|5.004000||p
gv_stashpvs|5.009003||p
gv_stashpv|||
gv_stashsv|||
+gv_try_downgrade|||
he_dup|||
hek_dup|||
hfreeentries|||
hsplit|||
-hv_assert||5.011000|
+hv_assert|||
hv_auxinit|||n
hv_backreferences_p|||
hv_clear_placeholders||5.009001|
hv_clear|||
hv_common_key_len||5.010000|
hv_common||5.010000|
-hv_copy_hints_hv|||
+hv_copy_hints_hv||5.009004|
hv_delayfree_ent||5.004000|
hv_delete_common|||
hv_delete_ent||5.004000|
hv_delete|||
hv_eiter_p||5.009003|
hv_eiter_set||5.009003|
+hv_ename_add|||
+hv_ename_delete|||
hv_exists_ent||5.004000|
hv_exists|||
hv_fetch_ent||5.004000|
hv_fetchs|5.009003||p
hv_fetch|||
+hv_fill||5.013002|
hv_free_ent||5.004000|
hv_iterinit|||
hv_iterkeysv||5.004000|
@@ -2651,6 +2887,7 @@ hv_store_ent||5.004000|
hv_store_flags||5.008000|
hv_stores|5.009004||p
hv_store|||
+hv_undef_flags|||
hv_undef|||
ibcmp_locale||5.004000|
ibcmp_utf8||5.007003|
@@ -2661,6 +2898,7 @@ incpush_use_sep|||
incpush|||
ingroup|||
init_argv_symbols|||
+init_dbargs|||
init_debugger|||
init_global_struct|||
init_i18nl10n||5.006000|
@@ -2673,14 +2911,25 @@ init_postdump_symbols|||
init_predump_symbols|||
init_stacks||5.005000|
init_tm||5.007002|
-instr|||
+instr|||n
intro_my|||
intuit_method|||
intuit_more|||
invert|||
+invlist_array|||
+invlist_destroy|||
+invlist_extend|||
+invlist_intersection|||
+invlist_len|||
+invlist_max|||
+invlist_set_array|||
+invlist_set_len|||
+invlist_set_max|||
+invlist_trim|||
+invlist_union|||
+invoke_exception_hook|||
io_close|||
isALNUMC|5.006000||p
-isALNUM|||
isALPHA|||
isASCII|5.006000||p
isBLANK|5.006001||p
@@ -2689,20 +2938,22 @@ isDIGIT|||
isGRAPH|5.006000||p
isGV_with_GP|5.009004||p
isLOWER|||
+isOCTAL||5.013005|
isPRINT|5.004000||p
isPSXSPC|5.006001||p
isPUNCT|5.006000||p
isSPACE|||
isUPPER|||
+isWORDCHAR||5.013006|
isXDIGIT|5.006000||p
is_an_int|||
+is_ascii_string||5.011000|n
is_gv_magical_sv|||
is_handle_constructor|||n
+is_inplace_av|||
is_list_assignment|||
is_lvalue_sub||5.007001|
is_uni_alnum_lc||5.006000|
-is_uni_alnumc_lc||5.006000|
-is_uni_alnumc||5.006000|
is_uni_alnum||5.006000|
is_uni_alpha_lc||5.006000|
is_uni_alpha||5.006000|
@@ -2728,12 +2979,21 @@ is_uni_upper_lc||5.006000|
is_uni_upper||5.006000|
is_uni_xdigit_lc||5.006000|
is_uni_xdigit||5.006000|
-is_utf8_alnumc||5.006000|
+is_utf8_X_LVT|||
+is_utf8_X_LV_LVT_V|||
+is_utf8_X_LV|||
+is_utf8_X_L|||
+is_utf8_X_T|||
+is_utf8_X_V|||
+is_utf8_X_begin|||
+is_utf8_X_extend|||
+is_utf8_X_non_hangul|||
+is_utf8_X_prepend|||
is_utf8_alnum||5.006000|
is_utf8_alpha||5.006000|
is_utf8_ascii||5.006000|
is_utf8_char_slow|||n
-is_utf8_char||5.006000|
+is_utf8_char||5.006000|n
is_utf8_cntrl||5.006000|
is_utf8_common|||
is_utf8_digit||5.006000|
@@ -2742,24 +3002,41 @@ is_utf8_idcont||5.008000|
is_utf8_idfirst||5.006000|
is_utf8_lower||5.006000|
is_utf8_mark||5.006000|
+is_utf8_perl_space||5.011001|
+is_utf8_perl_word||5.011001|
+is_utf8_posix_digit||5.011001|
is_utf8_print||5.006000|
is_utf8_punct||5.006000|
is_utf8_space||5.006000|
-is_utf8_string_loclen||5.009003|
-is_utf8_string_loc||5.008001|
-is_utf8_string||5.006001|
+is_utf8_string_loclen||5.009003|n
+is_utf8_string_loc||5.008001|n
+is_utf8_string||5.006001|n
is_utf8_upper||5.006000|
is_utf8_xdigit||5.006000|
+is_utf8_xidcont||5.013010|
+is_utf8_xidfirst||5.013010|
isa_lookup|||
items|||n
ix|||n
jmaybe|||
join_exact|||
+keyword_plugin_standard|||
keyword|||
leave_scope|||
-lex_end|||
-lex_start|||
-linklist|||
+lex_bufutf8||5.011002|
+lex_discard_to||5.011002|
+lex_grow_linestr||5.011002|
+lex_next_chunk||5.011002|
+lex_peek_unichar||5.011002|
+lex_read_space||5.011002|
+lex_read_to||5.011002|
+lex_read_unichar||5.011002|
+lex_start||5.009005|
+lex_stuff_pvn||5.011002|
+lex_stuff_pvs||5.013005|
+lex_stuff_pv||5.013006|
+lex_stuff_sv||5.011002|
+lex_unstuff||5.011002|
listkids|||
list|||
load_module_nocontext|||vn
@@ -2771,18 +3048,19 @@ lop|||
mPUSHi|5.009002||p
mPUSHn|5.009002||p
mPUSHp|5.009002||p
-mPUSHs|5.011000||p
+mPUSHs|5.010001||p
mPUSHu|5.009002||p
mXPUSHi|5.009002||p
mXPUSHn|5.009002||p
mXPUSHp|5.009002||p
-mXPUSHs|5.011000||p
+mXPUSHs|5.010001||p
mXPUSHu|5.009002||p
mad_free|||
madlex|||
madparse|||
magic_clear_all_env|||
magic_clearenv|||
+magic_clearhints|||
magic_clearhint|||
magic_clearisa|||
magic_clearpack|||
@@ -2804,7 +3082,8 @@ magic_getvec|||
magic_get|||
magic_killbackrefs|||
magic_len|||
-magic_methcall|||
+magic_methcall1|||
+magic_methcall|||v
magic_methpack|||
magic_nextpack|||
magic_regdata_cnt|||
@@ -2843,19 +3122,24 @@ malloc||5.007002|n
markstack_grow|||
matcher_matches_sv|||
measure_struct|||
+memEQs|5.009005||p
memEQ|5.004000||p
+memNEs|5.009005||p
memNE|5.004000||p
mem_collxfrm|||
mem_log_common|||n
mess_alloc|||
mess_nocontext|||vn
+mess_sv||5.013001|
mess||5.006000|v
method_common|||
mfree||5.007002|n
mg_clear|||
mg_copy|||
mg_dup|||
+mg_findext||5.013008|
mg_find|||
+mg_free_type||5.013006|
mg_free|||
mg_get|||
mg_length||5.005000|
@@ -2871,19 +3155,23 @@ mod|||
more_bodies|||
more_sv|||
moreswitches|||
-mro_get_from_name||5.011000|
+mro_clean_isarev|||
+mro_gather_and_rename|||
+mro_get_from_name||5.010001|
mro_get_linear_isa_dfs|||
mro_get_linear_isa||5.009005|
-mro_get_private_data||5.011000|
+mro_get_private_data||5.010001|
mro_isa_changed_in|||
mro_meta_dup|||
mro_meta_init|||
mro_method_changed_in||5.009005|
-mro_register||5.011000|
-mro_set_mro||5.011000|
-mro_set_private_data||5.011000|
+mro_package_moved|||
+mro_register||5.010001|
+mro_set_mro||5.010001|
+mro_set_private_data||5.010001|
mul128|||
mulexp10|||n
+munge_qwlist_to_paren_list|||
my_atof2||5.007002|
my_atof||5.006000|
my_attrs|||
@@ -2925,7 +3213,8 @@ my_letoh64|||n
my_letohi|||n
my_letohl|||n
my_letohs|||n
-my_lstat|||
+my_lstat_flags|||
+my_lstat||5.014000|
my_memcmp||5.004000|n
my_memset|||n
my_ntohl|||
@@ -2936,7 +3225,8 @@ my_setenv|||
my_snprintf|5.009004||pvn
my_socketpair||5.007003|n
my_sprintf|5.009003||pvn
-my_stat|||
+my_stat_flags|||
+my_stat||5.014000|
my_strftime||5.007002|
my_strlcat|5.009004||pn
my_strlcpy|5.009004||pn
@@ -2959,7 +3249,7 @@ newCONSTSUB|5.004050||p
newCVREF|||
newDEFSVOP|||
newFORM|||
-newFOROP|||
+newFOROP||5.013007|
newGIVENOP||5.009003|
newGIVWHENOP|||
newGP|||
@@ -2996,14 +3286,15 @@ newSV_type|5.009005||p
newSVhek||5.009003|
newSViv|||
newSVnv|||
+newSVpv_share||5.013006|
newSVpvf_nocontext|||vn
newSVpvf||5.004000|v
-newSVpvn_flags|5.011000||p
+newSVpvn_flags|5.010001||p
newSVpvn_share|5.007001||p
-newSVpvn_utf8|5.011000||p
+newSVpvn_utf8|5.010001||p
newSVpvn|5.004050||p
-newSVpvs_flags|5.011000||p
-newSVpvs_share||5.009003|
+newSVpvs_flags|5.010001||p
+newSVpvs_share|5.009003||p
newSVpvs|5.009003||p
newSVpv|||
newSVrv|||
@@ -3013,7 +3304,7 @@ newSV|||
newTOKEN|||
newUNOP|||
newWHENOP||5.009003|
-newWHILEOP||5.009003|
+newWHILEOP||5.013007|
newXS_flags||5.009004|
newXSproto||5.006000|
newXS||5.006000|
@@ -3029,7 +3320,7 @@ new_warnings_bitfield|||
next_symbol|||
nextargv|||
nextchar|||
-ninstr|||
+ninstr|||n
no_bareword_allowed|||
no_fh_allowed|||
no_op|||
@@ -3037,22 +3328,29 @@ not_a_number|||
nothreadhook||5.008000|
nuke_stacks|||
num_overflow|||n
-offer_nice_chunk|||
oopsAV|||
oopsHV|||
+op_append_elem||5.013006|
+op_append_list||5.013006|
op_clear|||
op_const_sv|||
+op_contextualize||5.013006|
op_dump||5.006000|
op_free|||
op_getmad_weak|||
op_getmad|||
+op_linklist||5.013006|
+op_lvalue||5.013007|
op_null||5.007002|
+op_prepend_elem||5.013006|
op_refcnt_dec|||
op_refcnt_inc|||
op_refcnt_lock||5.009002|
op_refcnt_unlock||5.009002|
+op_scope||5.013007|
op_xmldump|||
open_script|||
+opt_scalarhv|||
pMY_CXT_|5.007003||p
pMY_CXT|5.007003||p
pTHX_|5.006000||p
@@ -3060,16 +3358,18 @@ pTHX|5.006000||p
packWARN|5.007003||p
pack_cat||5.007003|
pack_rec|||
+package_version|||
package|||
packlist||5.008001|
pad_add_anon|||
+pad_add_name_sv|||
pad_add_name|||
pad_alloc|||
pad_block_start|||
pad_check_dup|||
pad_compname_type|||
pad_findlex|||
-pad_findmy|||
+pad_findmy||5.011002|
pad_fixup_inner_anons|||
pad_free|||
pad_leavemy|||
@@ -3078,11 +3378,20 @@ pad_peg|||n
pad_push|||
pad_reset|||
pad_setsv|||
-pad_sv||5.011000|
+pad_sv|||
pad_swipe|||
pad_tidy|||
-pad_undef|||
+padlist_dup|||
+parse_arithexpr||5.013008|
+parse_barestmt||5.013007|
+parse_block||5.013007|
parse_body|||
+parse_fullexpr||5.013008|
+parse_fullstmt||5.013005|
+parse_label||5.013007|
+parse_listexpr||5.013008|
+parse_stmtseq||5.013006|
+parse_termexpr||5.013008|
parse_unicode_opts|||
parser_dup|||
parser_free|||
@@ -3100,18 +3409,18 @@ perl_parse||5.006000|n
perl_run|||n
pidgone|||
pm_description|||
-pmflag|||
pmop_dump||5.006000|
pmop_xmldump|||
pmruntime|||
pmtrans|||
pop_scope|||
+populate_isa|||v
pregcomp||5.009005|
pregexec|||
pregfree2||5.011000|
pregfree|||
-prepend_elem|||
prepend_madprops|||
+prescan_version||5.011004|
printbuf|||
printf_nocontext|||vn
process_special_blocks|||
@@ -3143,14 +3452,20 @@ reentrant_retry|||vn
reentrant_size|||
ref_array_or_hash|||
refcounted_he_chain_2hv|||
-refcounted_he_fetch|||
+refcounted_he_fetch_pvn|||
+refcounted_he_fetch_pvs|||
+refcounted_he_fetch_pv|||
+refcounted_he_fetch_sv|||
refcounted_he_free|||
-refcounted_he_new_common|||
-refcounted_he_new|||
+refcounted_he_inc|||
+refcounted_he_new_pvn|||
+refcounted_he_new_pvs|||
+refcounted_he_new_pv|||
+refcounted_he_new_sv|||
refcounted_he_value|||
refkids|||
refto|||
-ref||5.011000|
+ref||5.014000|
reg_check_named_buff_matched|||
reg_named_buff_all||5.009005|
reg_named_buff_exists||5.009005|
@@ -3177,7 +3492,7 @@ regclass_swash||5.009004|
regclass|||
regcppop|||
regcppush|||
-regcurly|||n
+regcurly|||
regdump_extflags|||
regdump||5.005000|
regdupe_internal|||
@@ -3201,13 +3516,15 @@ regtry|||
reguni|||
regwhite|||n
reg|||
-repeatcpy|||
+repeatcpy|||n
report_evil_fh|||
report_uninit|||
+report_wrongway_fh|||
require_pv||5.006000|
require_tie_mod|||
restore_magic|||
-rninstr|||
+rninstr|||n
+rpeep|||
rsignal_restore|||
rsignal_save|||
rsignal_state||5.004000|
@@ -3216,6 +3533,7 @@ run_body|||
run_user_filter|||
runops_debug||5.005000|
runops_standard||5.005000|
+rv2cv_op_cv||5.013006|
rvpv_dup|||
rxres_free|||
rxres_restore|||
@@ -3229,6 +3547,7 @@ save_I16||5.004000|
save_I32|||
save_I8||5.006000|
save_adelete||5.011000|
+save_aelem_flags||5.011000|
save_aelem||5.004050|
save_alloc||5.006000|
save_aptr|||
@@ -3245,10 +3564,11 @@ save_generic_pvref||5.006001|
save_generic_svref||5.005030|
save_gp||5.004000|
save_hash|||
+save_hdelete||5.011000|
save_hek_flags|||n
save_helem_flags||5.011000|
save_helem||5.004050|
-save_hints|||
+save_hints||5.010001|
save_hptr|||
save_int|||
save_item|||
@@ -3259,13 +3579,13 @@ save_long|||
save_magic|||
save_mortalizesv||5.007001|
save_nogv|||
-save_op|||
-save_padsv_and_mortalize||5.011000|
+save_op||5.005000|
+save_padsv_and_mortalize||5.010001|
save_pptr|||
-save_pushi32ptr|||
+save_pushi32ptr||5.010001|
save_pushptri32ptr|||
-save_pushptrptr|||
-save_pushptr||5.011000|
+save_pushptrptr||5.010001|
+save_pushptr||5.010001|
save_re_context||5.006000|
save_scalar_at|||
save_scalar|||
@@ -3278,7 +3598,9 @@ savepvn|||
savepvs||5.009003|
savepv|||
savesharedpvn||5.009005|
+savesharedpvs||5.013006|
savesharedpv||5.007003|
+savesharedsvpv||5.013006|
savestack_grow_cnt||5.008001|
savestack_grow|||
savesvpv||5.009002|
@@ -3306,7 +3628,6 @@ scan_trans|||
scan_version||5.009001|
scan_vstring||5.009005|
scan_word|||
-scope|||
screaminstr||5.005000|
search_const|||
seed||5.008001|
@@ -3317,6 +3638,8 @@ set_context||5.006000|n
set_numeric_local||5.006000|
set_numeric_radix||5.006000|
set_numeric_standard||5.006000|
+set_regclass_bit_fold|||
+set_regclass_bit|||
setdefout|||
share_hek_flags|||
share_hek||5.004000|
@@ -3339,7 +3662,7 @@ stack_grow|||
start_force|||
start_glob|||
start_subparse||5.004000|
-stashpv_hvname_match||5.011000|
+stashpv_hvname_match||5.014000|
stdize_locale|||
store_cop_label|||
strEQ|||
@@ -3357,6 +3680,7 @@ sub_crush_depth|||
sublex_done|||
sublex_push|||
sublex_start|||
+sv_2bool_flags||5.013006|
sv_2bool|||
sv_2cv|||
sv_2io|||
@@ -3366,7 +3690,7 @@ sv_2iv_flags||5.009001|
sv_2iv|||
sv_2mortal|||
sv_2num|||
-sv_2nv|||
+sv_2nv_flags||5.013001|
sv_2pv_flags|5.007002||p
sv_2pv_nolen|5.006000||p
sv_2pvbyte_nolen|5.006000||p
@@ -3381,7 +3705,9 @@ sv_add_backref|||
sv_backoff|||
sv_bless|||
sv_cat_decode||5.008001|
+sv_catpv_flags||5.013006|
sv_catpv_mg|5.004050||p
+sv_catpv_nomg||5.013006|
sv_catpvf_mg_nocontext|||pvn
sv_catpvf_mg|5.006000|5.004000|pv
sv_catpvf_nocontext|||vn
@@ -3390,6 +3716,9 @@ sv_catpvn_flags||5.007002|
sv_catpvn_mg|5.004050||p
sv_catpvn_nomg|5.007002||p
sv_catpvn|||
+sv_catpvs_flags||5.013006|
+sv_catpvs_mg||5.013006|
+sv_catpvs_nomg||5.013006|
sv_catpvs|5.009003||p
sv_catpv|||
sv_catsv_flags||5.007002|
@@ -3397,24 +3726,33 @@ sv_catsv_mg|5.004050||p
sv_catsv_nomg|5.007002||p
sv_catsv|||
sv_catxmlpvn|||
+sv_catxmlpv|||
sv_catxmlsv|||
sv_chop|||
sv_clean_all|||
sv_clean_objs|||
sv_clear|||
+sv_cmp_flags||5.013006|
+sv_cmp_locale_flags||5.013006|
sv_cmp_locale||5.004000|
sv_cmp|||
+sv_collxfrm_flags||5.013006|
sv_collxfrm|||
+sv_compile_2op_is_broken|||
sv_compile_2op||5.008001|
sv_copypv||5.007003|
+sv_dec_nomg||5.013002|
sv_dec|||
sv_del_backref|||
sv_derived_from||5.004000|
sv_destroyable||5.010000|
sv_does||5.009004|
sv_dump|||
+sv_dup_common|||
sv_dup_inc_multiple|||
+sv_dup_inc|||
sv_dup|||
+sv_eq_flags||5.013006|
sv_eq|||
sv_exp_grow|||
sv_force_normal_flags||5.007001|
@@ -3425,8 +3763,9 @@ sv_free|||
sv_gets||5.004000|
sv_grow|||
sv_i_ncmp|||
+sv_inc_nomg||5.013002|
sv_inc|||
-sv_insert_flags||5.011000|
+sv_insert_flags||5.010001|
sv_insert|||
sv_isa|||
sv_isobject|||
@@ -3434,7 +3773,7 @@ sv_iv||5.005000|
sv_kill_backrefs|||
sv_len_utf8||5.006000|
sv_len|||
-sv_magic_portable|5.011000|5.004000|p
+sv_magic_portable|5.014000|5.004000|p
sv_magicext||5.007003|
sv_magic|||
sv_mortalcopy|||
@@ -3449,6 +3788,7 @@ sv_peek||5.005000|
sv_pos_b2u_midway|||
sv_pos_b2u||5.006000|
sv_pos_u2b_cached|||
+sv_pos_u2b_flags||5.011005|
sv_pos_u2b_forwards|||n
sv_pos_u2b_midway|||n
sv_pos_u2b||5.006000|
@@ -3483,11 +3823,13 @@ sv_setpviv_mg||5.008001|
sv_setpviv||5.008001|
sv_setpvn_mg|5.004050||p
sv_setpvn|||
+sv_setpvs_mg||5.013006|
sv_setpvs|5.009004||p
sv_setpv|||
sv_setref_iv|||
sv_setref_nv|||
sv_setref_pvn|||
+sv_setref_pvs||5.013006|
sv_setref_pv|||
sv_setref_uv||5.007001|
sv_setsv_cow|||
@@ -3502,6 +3844,7 @@ sv_taint||5.004000|
sv_true||5.005000|
sv_unglob|||
sv_uni_display||5.007003|
+sv_unmagicext||5.013008|
sv_unmagic|||
sv_unref_flags||5.007001|
sv_unref|||
@@ -3527,7 +3870,6 @@ sv_vsetpvf|5.006000|5.004000|p
sv_xmlpeek|||
svtype|||
swallow_bom|||
-swap_match_buff|||
swash_fetch||5.007002|
swash_get|||
swash_init||5.006000|
@@ -3539,6 +3881,7 @@ sys_intern_init|||
sys_term||5.010000|n
taint_env|||
taint_proper|||
+tied_method|||v
tmps_grow||5.006000|
toLOWER|||
toUPPER|||
@@ -3563,11 +3906,14 @@ tokeq|||
tokereport|||
too_few_arguments|||
too_many_arguments|||
+try_amagic_bin|||
+try_amagic_un|||
uiv_2buf|||n
unlnk|||
unpack_rec|||
unpack_str||5.007003|
unpackstring||5.008001|
+unreferenced_to_tmp_stack|||
unshare_hek_or_pvn|||
unshare_hek|||
unsharepvn||5.004000|
@@ -3575,11 +3921,13 @@ unwind_handler_stack|||
update_debugger_info|||
upg_version||5.009005|
usage|||
+utf16_textfilter|||
utf16_to_utf8_reversed||5.006001|
utf16_to_utf8||5.006001|
utf8_distance||5.006000|
utf8_hop||5.006000|
utf8_length||5.007001|
+utf8_mg_len_cache_update|||
utf8_mg_pos_cache_update|||
utf8_to_bytes||5.006001|
utf8_to_uvchr||5.007001|
@@ -3596,9 +3944,6 @@ varname|||
vcmp||5.009000|
vcroak||5.006000|
vdeb||5.007003|
-vdie_common|||
-vdie_croak_common|||
-vdie|||
vform||5.006000|
visit|||
vivify_defelem|||
@@ -3614,24 +3959,32 @@ vwarner||5.006000|
vwarn||5.006000|
wait4pid|||
warn_nocontext|||vn
+warn_sv||5.013001|
warner_nocontext|||vn
warner|5.006000|5.004000|pv
warn|||v
watch|||
whichsig|||
+with_queued_errors|||
write_no_mem|||
write_to_stderr|||
+xmldump_all_perl|||
xmldump_all|||
xmldump_attr|||
xmldump_eval|||
xmldump_form|||
xmldump_indent|||v
+xmldump_packsubs_perl|||
xmldump_packsubs|||
+xmldump_sub_perl|||
xmldump_sub|||
xmldump_vindent|||
+xs_apiversion_bootcheck|||
+xs_version_bootcheck|||
yyerror|||
yylex|||
yyparse|||
+yyunlex|||
yywarn|||
);
@@ -4865,6 +5218,14 @@ __DATA__
#endif
#endif
+#ifndef memEQs
+# define memEQs(s1, l, s2) \
+ (sizeof(s2)-1 == l && memEQ(s1, (s2 ""), (sizeof(s2)-1)))
+#endif
+
+#ifndef memNEs
+# define memNEs(s1, l, s2) !memEQs(s1, l, s2)
+#endif
#ifndef MoveD
# define MoveD(s,d,n,t) memmove((char*)(d),(char*)(s), (n) * sizeof(t))
#endif
@@ -5233,11 +5594,11 @@ typedef OP* (CPERLscope(*Perl_check_t)) (pTHX_ OP*);
#endif
#ifndef isASCII
-# define isASCII(c) ((c) <= 127)
+# define isASCII(c) ((U8) (c) <= 127)
#endif
#ifndef isCNTRL
-# define isCNTRL(c) ((c) < ' ' || (c) == 127)
+# define isCNTRL(c) ((U8) (c) < ' ' || (c) == 127)
#endif
#ifndef isGRAPH
@@ -6520,6 +6881,12 @@ DPPP_(my_sv_setpvf_mg_nocontext)(SV *sv, const char *pat, ...)
} STMT_END
#endif
+/* Hint: newSVpvn_share
+ * The SVs created by this function only mimic the behaviour of
+ * shared PVs without really being shared. Only use if you know
+ * what you're doing.
+ */
+
#ifndef newSVpvn_share
#if defined(NEED_newSVpvn_share)
@@ -6572,6 +6939,17 @@ DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash)
#ifndef isGV_with_GP
# define isGV_with_GP(gv) isGV(gv)
#endif
+
+#ifndef gv_fetchpvn_flags
+# define gv_fetchpvn_flags(name, len, flags, svt) gv_fetchpv(name, flags, svt)
+#endif
+
+#ifndef gv_fetchsv
+# define gv_fetchsv(name, flags, svt) gv_fetchpv(SvPV_nolen_const(name), flags, svt)
+#endif
+#ifndef get_cvn_flags
+# define get_cvn_flags(name, namelen, flags) get_cv(name, flags)
+#endif
#ifndef WARN_ALL
# define WARN_ALL 0
#endif
@@ -6820,6 +7198,10 @@ DPPP_(my_warner)(U32 err, const char *pat, ...)
# define newSVpvs_flags(str, flags) newSVpvn_flags(str "", sizeof(str) - 1, flags)
#endif
+#ifndef newSVpvs_share
+# define newSVpvs_share(str) newSVpvn_share(str "", sizeof(str) - 1, 0)
+#endif
+
#ifndef sv_catpvs
# define sv_catpvs(sv, str) sv_catpvn(sv, str "", sizeof(str) - 1)
#endif
@@ -6835,10 +7217,6 @@ DPPP_(my_warner)(U32 err, const char *pat, ...)
#ifndef hv_stores
# define hv_stores(hv, key, val) hv_store(hv, key "", sizeof(key) - 1, val, 0)
#endif
-#ifndef gv_fetchpvn_flags
-# define gv_fetchpvn_flags(name, len, flags, svt) gv_fetchpv(name, flags, svt)
-#endif
-
#ifndef gv_fetchpvs
# define gv_fetchpvs(name, flags, svt) gv_fetchpvn_flags(name "", sizeof(name) - 1, flags, svt)
#endif
@@ -6846,6 +7224,9 @@ DPPP_(my_warner)(U32 err, const char *pat, ...)
#ifndef gv_stashpvs
# define gv_stashpvs(name, flags) gv_stashpvn(name "", sizeof(name) - 1, flags)
#endif
+#ifndef get_cvs
+# define get_cvs(name, flags) get_cvn_flags(name "", sizeof(name)-1, flags)
+#endif
#ifndef SvGETMAGIC
# define SvGETMAGIC(x) STMT_START { if (SvGMAGICAL(x)) mg_get(x); } STMT_END
#endif
diff --git a/Master/tlpkg/tlperl/lib/Devel/Peek.pm b/Master/tlpkg/tlperl/lib/Devel/Peek.pm
index ab0d5eb7608..d066c9d8bc5 100644
--- a/Master/tlpkg/tlperl/lib/Devel/Peek.pm
+++ b/Master/tlpkg/tlperl/lib/Devel/Peek.pm
@@ -3,7 +3,7 @@
package Devel::Peek;
-$VERSION = '1.07';
+$VERSION = '1.08';
$XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -139,7 +139,7 @@ When perl is compiled with support for memory footprint debugging
Use mstat() function to emit a memory state statistic to the terminal.
For more information on the format of output of mstat() see
-L<perldebguts/Using C<$ENV{PERL_DEBUG_MSTATS}>>.
+L<perldebguts/Using $ENV{PERL_DEBUG_MSTATS}>.
Three additional functions allow access to this statistic from Perl.
First, use C<mstats_fillhash(%hash)> to get the information contained
@@ -152,9 +152,10 @@ Two additional fields C<free>, C<used> contain array references which
provide per-bucket count of free and used chunks. Two other fields
C<mem_size>, C<available_size> contain array references which provide
the information about the allocated size and usable size of chunks in
-each bucket. Again, see L<perldebguts/Using C<$ENV{PERL_DEBUG_MSTATS}>>
+each bucket. Again, see L<perldebguts/Using $ENV{PERL_DEBUG_MSTATS}>
for details.
+
Keep in mind that only the first several "odd-numbered" buckets are
used, so the information on size of the "odd-numbered" buckets which are
not used is probably meaningless.
@@ -410,7 +411,7 @@ The output:
IV = 42
This shows C<$a> is a reference pointing to an SV. That SV is a PVHV, a
-hash. Fields RITER and EITER are used by C<L<each>>.
+hash. Fields RITER and EITER are used by C<L<perlfunc/each>>.
The "quality" of a hash is defined as the total number of comparisons needed
to access every element once, relative to the expected number needed for a
diff --git a/Master/tlpkg/tlperl/lib/Digest.pm b/Master/tlpkg/tlperl/lib/Digest.pm
index 384dfc82668..c3355a8bd44 100644
--- a/Master/tlpkg/tlperl/lib/Digest.pm
+++ b/Master/tlpkg/tlperl/lib/Digest.pm
@@ -3,7 +3,7 @@ package Digest;
use strict;
use vars qw($VERSION %MMAP $AUTOLOAD);
-$VERSION = "1.16";
+$VERSION = "1.17";
%MMAP = (
"SHA-1" => [["Digest::SHA", 1], "Digest::SHA1", ["Digest::SHA2", 1]],
@@ -16,7 +16,7 @@ $VERSION = "1.16";
"CRC-16" => [["Digest::CRC", type => "crc16"]],
"CRC-32" => [["Digest::CRC", type => "crc32"]],
"CRC-CCITT" => [["Digest::CRC", type => "crcccitt"]],
- "RIPEMD-160" => "Crypt::PIPEMD160",
+ "RIPEMD-160" => "Crypt::RIPEMD160",
);
sub new
@@ -24,24 +24,27 @@ sub new
shift; # class ignored
my $algorithm = shift;
my $impl = $MMAP{$algorithm} || do {
- $algorithm =~ s/\W+//;
- "Digest::$algorithm";
+ $algorithm =~ s/\W+//g;
+ "Digest::$algorithm";
};
$impl = [$impl] unless ref($impl);
+ local $@; # don't clobber it for our caller
my $err;
for (@$impl) {
- my $class = $_;
- my @args;
- ($class, @args) = @$class if ref($class);
- no strict 'refs';
- unless (exists ${"$class\::"}{"VERSION"}) {
- eval "require $class";
- if ($@) {
- $err ||= $@;
- next;
- }
- }
- return $class->new(@args, @_);
+ my $class = $_;
+ my @args;
+ ($class, @args) = @$class if ref($class);
+ no strict 'refs';
+ unless (exists ${"$class\::"}{"VERSION"}) {
+ my $pm_file = $class . ".pm";
+ $pm_file =~ s{::}{/}g;
+ eval { require $pm_file };
+ if ($@) {
+ $err ||= $@;
+ next;
+ }
+ }
+ return $class->new(@args, @_);
}
die $err;
}
diff --git a/Master/tlpkg/tlperl/lib/Digest/SHA.pm b/Master/tlpkg/tlperl/lib/Digest/SHA.pm
index f809ce3afbc..d8cc56136be 100644
--- a/Master/tlpkg/tlperl/lib/Digest/SHA.pm
+++ b/Master/tlpkg/tlperl/lib/Digest/SHA.pm
@@ -7,7 +7,7 @@ use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
use Fcntl;
use integer;
-$VERSION = '5.61';
+$VERSION = '5.71';
require Exporter;
require DynaLoader;
@@ -28,19 +28,16 @@ require DynaLoader;
sha512224 sha512224_base64 sha512224_hex
sha512256 sha512256_base64 sha512256_hex);
-# If possible, inherit from Digest::base (which depends on MIME::Base64)
-
-*addfile = \&Addfile;
+# If possible, inherit from Digest::base
eval {
- require MIME::Base64;
require Digest::base;
push(@ISA, 'Digest::base');
};
-if ($@) {
- *hexdigest = \&Hexdigest;
- *b64digest = \&B64digest;
-}
+
+*addfile = \&Addfile;
+*hexdigest = \&Hexdigest;
+*b64digest = \&B64digest;
# The following routines aren't time-critical, so they can be left in Perl
@@ -84,6 +81,7 @@ sub add_bits {
$nbits = length($data);
$data = pack("B*", $data);
}
+ $nbits = length($data) * 8 if $nbits > length($data) * 8;
shawrite($data, $nbits, $$self);
return($self);
}
@@ -91,8 +89,9 @@ sub add_bits {
sub _bail {
my $msg = shift;
+ $msg .= ": $!";
require Carp;
- Carp::croak("$msg: $!");
+ Carp::croak($msg);
}
sub _addfile { # this is "addfile" from Digest::base 1.00
@@ -115,7 +114,7 @@ sub Addfile {
return(_addfile($self, $file)) unless ref(\$file) eq 'SCALAR';
$mode = defined($mode) ? $mode : "";
- my ($binary, $portable) = map { $_ eq $mode } ("b", "p");
+ my ($binary, $portable, $BITS) = map { $_ eq $mode } ("b", "p", "0");
## Always interpret "-" to mean STDIN; otherwise use
## sysopen to handle full range of POSIX file names
@@ -123,8 +122,19 @@ sub Addfile {
$file eq '-' and open(FH, '< -')
or sysopen(FH, $file, O_RDONLY)
or _bail('Open failed');
- binmode(FH) if $binary || $portable;
+ if ($BITS) {
+ my ($n, $buf) = (0, "");
+ while (($n = read(FH, $buf, 4096))) {
+ $buf =~ s/[^01]//g;
+ $self->add_bits($buf);
+ }
+ _bail("Read failed") unless defined $n;
+ close(FH);
+ return($self);
+ }
+
+ binmode(FH) if $binary || $portable;
unless ($portable && -T $file) {
$self->_addfile(*FH);
close(FH);
@@ -514,15 +524,20 @@ argument to one of the following values:
"p" use portable mode
-The "p" mode is handy since it ensures that the digest value of
-I<$filename> will be the same when computed on different operating
-systems. It accomplishes this by internally translating all newlines in
-text files to UNIX format before calculating the digest. Binary files
-are read in raw mode with no translation whatsoever.
+ "0" use BITS mode
+
+The "p" mode ensures that the digest value of I<$filename> will be the
+same when computed on different operating systems. It accomplishes
+this by internally translating all newlines in text files to UNIX format
+before calculating the digest. Binary files are read in raw mode with
+no translation whatsoever.
-For a fuller discussion of newline formats, refer to CPAN module
-L<File::LocalizeNewlines>. Its "universal line separator" regex forms
-the basis of I<addfile>'s portable mode processing.
+The BITS mode ("0") interprets the contents of I<$filename> as a logical
+stream of bits, where each ASCII '0' or '1' character represents a 0 or
+1 bit, respectively. All other characters are ignored. This provides
+a convenient way to calculate the digest values of partial-byte data by
+using files, rather than having to write programs using the I<add_bits>
+method.
=item B<dump($filename)>
@@ -672,6 +687,7 @@ The author is particularly grateful to
Chris Carey
Alexandr Ciornii
Jim Doble
+ Thomas Drugeon
Julius Duque
Jeffrey Friedl
Robert Gilmour
@@ -691,7 +707,7 @@ darkness and moored it in so perfect a calm and in so brilliant a light"
=head1 COPYRIGHT AND LICENSE
-Copyright (C) 2003-2011 Mark Shelor
+Copyright (C) 2003-2012 Mark Shelor
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Dumpvalue.pm b/Master/tlpkg/tlperl/lib/Dumpvalue.pm
index f3cde0b8960..ca40548ce56 100644
--- a/Master/tlpkg/tlperl/lib/Dumpvalue.pm
+++ b/Master/tlpkg/tlperl/lib/Dumpvalue.pm
@@ -1,7 +1,7 @@
use 5.006_001; # for (defined ref) and $#$v and our
package Dumpvalue;
use strict;
-our $VERSION = '1.16';
+our $VERSION = '1.17';
our(%address, $stab, @stab, %stab, %subs);
# documentation nits, handle complex data structures better by chromatic
@@ -15,7 +15,7 @@ our(%address, $stab, @stab, %stab, %subs);
# (IZ) changes for objectification:
# c) quote() renamed to method set_quote();
# d) unctrlSet() renamed to method set_unctrl();
-# f) Compiles with `use strict', but in two places no strict refs is needed:
+# f) Compiles with 'use strict', but in two places no strict refs is needed:
# maybe more problems are waiting...
my %defaults = (
@@ -299,7 +299,7 @@ sub set_unctrl {
if ($in eq 'unctrl' or $in eq 'quote') {
$self->{unctrl} = $in;
} else {
- print "Unknown value for `unctrl'.\n";
+ print "Unknown value for 'unctrl'.\n";
}
}
$self->{unctrl};
diff --git a/Master/tlpkg/tlperl/lib/DynaLoader.pm b/Master/tlpkg/tlperl/lib/DynaLoader.pm
index 44b1c1735f6..eb246992fad 100644
--- a/Master/tlpkg/tlperl/lib/DynaLoader.pm
+++ b/Master/tlpkg/tlperl/lib/DynaLoader.pm
@@ -16,7 +16,7 @@ package DynaLoader;
# Tim.Bunce@ig.co.uk, August 1994
BEGIN {
- $VERSION = '1.13';
+ $VERSION = '1.14';
}
use Config;
diff --git a/Master/tlpkg/tlperl/lib/Encode.pm b/Master/tlpkg/tlperl/lib/Encode.pm
index a8f06341d15..171b2da0568 100644
--- a/Master/tlpkg/tlperl/lib/Encode.pm
+++ b/Master/tlpkg/tlperl/lib/Encode.pm
@@ -1,11 +1,11 @@
#
-# $Id: Encode.pm,v 2.42 2010/12/31 22:48:10 dankogai Exp $
+# $Id: Encode.pm,v 2.44 2011/08/09 07:49:44 dankogai Exp dankogai $
#
package Encode;
use strict;
use warnings;
-our $VERSION = sprintf "%d.%02d_01", q$Revision: 2.42 $ =~ /(\d+)/g;
-sub DEBUG () { 0 }
+our $VERSION = sprintf "%d.%02d", q$Revision: 2.44 $ =~ /(\d+)/g;
+use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
use XSLoader ();
XSLoader::load( __PACKAGE__, $VERSION );
@@ -68,7 +68,7 @@ sub encodings {
}
else {
%enc = %Encoding;
- for my $mod ( map { m/::/o ? $_ : "Encode::$_" } @_ ) {
+ for my $mod ( map { m/::/ ? $_ : "Encode::$_" } @_ ) {
DEBUG and warn $mod;
for my $enc ( keys %ExtModule ) {
$ExtModule{$enc} eq $mod and $enc{$enc} = $mod;
@@ -101,6 +101,8 @@ sub define_encoding {
sub getEncoding {
my ( $class, $name, $skip_external ) = @_;
+ $name =~ s/\s+//g; # https://rt.cpan.org/Ticket/Display.html?id=65796
+
ref($name) && $name->can('renew') and return $name;
exists $Encoding{$name} and return $Encoding{$name};
my $lc = lc $name;
@@ -334,8 +336,8 @@ sub predefine_encodings {
$Encode::Encoding{utf8} =
bless { Name => "utf8" } => "Encode::utf8";
$Encode::Encoding{"utf-8-strict"} =
- bless { Name => "utf-8-strict", strict_utf8 => 1 } =>
- "Encode::utf8";
+ bless { Name => "utf-8-strict", strict_utf8 => 1 }
+ => "Encode::utf8";
}
}
@@ -345,7 +347,7 @@ __END__
=head1 NAME
-Encode - character encodings
+Encode - character encodings in Perl
=head1 SYNOPSIS
@@ -353,10 +355,10 @@ Encode - character encodings
=head2 Table of Contents
-Encode consists of a collection of modules whose details are too big
-to fit in one document. This POD itself explains the top-level APIs
+Encode consists of a collection of modules whose details are too extensive
+to fit in one document. This one itself explains the top-level APIs
and general topics at a glance. For other topics and more details,
-see the PODs below:
+see the documentation for these modules:
Name Description
--------------------------------------------------------
@@ -371,26 +373,26 @@ see the PODs below:
=head1 DESCRIPTION
-The C<Encode> module provides the interfaces between Perl's strings
+The C<Encode> module provides the interface between Perl strings
and the rest of the system. Perl strings are sequences of
-B<characters>.
+I<characters>.
-The repertoire of characters that Perl can represent is at least that
+The repertoire of characters that Perl can represent is a superset of those
defined by the Unicode Consortium. On most platforms the ordinal
-values of the characters (as returned by C<ord(ch)>) is the "Unicode
-codepoint" for the character (the exceptions are those platforms where
-the legacy encoding is some variant of EBCDIC rather than a super-set
-of ASCII - see L<perlebcdic>).
-
-Traditionally, computer data has been moved around in 8-bit chunks
-often called "bytes". These chunks are also known as "octets" in
-networking standards. Perl is widely used to manipulate data of many
-types - not only strings of characters representing human or computer
-languages but also "binary" data being the machine's representation of
-numbers, pixels in an image - or just about anything.
+values of a character as returned by C<ord(I<S>)> is the I<Unicode
+codepoint> for that character. The exceptions are platforms where
+the legacy encoding is some variant of EBCDIC rather than a superset
+of ASCII; see L<perlebcdic>.
+
+During recent history, data is moved around a computer in 8-bit chunks,
+often called "bytes" but also known as "octets" in standards documents.
+Perl is widely used to manipulate data of many types: not only strings of
+characters representing human or computer languages, but also "binary"
+data, being the machine's representation of numbers, pixels in an image, or
+just about anything.
When Perl is processing "binary data", the programmer wants Perl to
-process "sequences of bytes". This is not a problem for Perl - as a
+process "sequences of bytes". This is not a problem for Perl: because a
byte has 256 possible values, it easily fits in Perl's much larger
"logical character".
@@ -400,94 +402,95 @@ byte has 256 possible values, it easily fits in Perl's much larger
=item *
-I<character>: a character in the range 0..(2**32-1) (or more).
-(What Perl's strings are made of.)
+I<character>: a character in the range 0 .. 2**32-1 (or more);
+what Perl's strings are made of.
=item *
-I<byte>: a character in the range 0..255
-(A special case of a Perl character.)
+I<byte>: a character in the range 0..255;
+A special case of a Perl character.
=item *
-I<octet>: 8 bits of data, with ordinal values 0..255
-(Term for bytes passed to or from a non-Perl context, e.g. a disk file.)
+I<octet>: 8 bits of data, with ordinal values 0..255;
+Term for bytes passed to or from a non-Perl context, such as a disk file.
=back
-=head1 PERL ENCODING API
+=head1 THE PERL ENCODING API
=over 2
-=item $octets = encode(ENCODING, $string [, CHECK])
+=item $octets = encode(ENCODING, STRING[, CHECK])
-Encodes a string from Perl's internal form into I<ENCODING> and returns
-a sequence of octets. ENCODING can be either a canonical name or
-an alias. For encoding names and aliases, see L</"Defining Aliases">.
-For CHECK, see L</"Handling Malformed Data">.
+Encodes the scalar value I<STRING> from Perl's internal form into
+I<ENCODING> and returns a sequence of octets. I<ENCODING> can be either a
+canonical name or an alias. For encoding names and aliases, see
+L</"Defining Aliases">. For CHECK, see L</"Handling Malformed Data">.
-For example, to convert a string from Perl's internal format to
-iso-8859-1 (also known as Latin1),
+For example, to convert a string from Perl's internal format into
+ISO-8859-1, also known as Latin1:
$octets = encode("iso-8859-1", $string);
B<CAVEAT>: When you run C<$octets = encode("utf8", $string)>, then
-$octets B<may not be equal to> $string. Though they both contain the
-same data, the UTF8 flag for $octets is B<always> off. When you
-encode anything, UTF8 flag of the result is always off, even when it
-contains completely valid utf8 string. See L</"The UTF8 flag"> below.
+$octets I<might not be equal to> $string. Though both contain the
+same data, the UTF8 flag for $octets is I<always> off. When you
+encode anything, the UTF8 flag on the result is always off, even when it
+contains a completely valid utf8 string. See L</"The UTF8 flag"> below.
-If the $string is C<undef> then C<undef> is returned.
+If the $string is C<undef>, then C<undef> is returned.
-=item $string = decode(ENCODING, $octets [, CHECK])
+=item $string = decode(ENCODING, OCTETS[, CHECK])
-Decodes a sequence of octets assumed to be in I<ENCODING> into Perl's
-internal form and returns the resulting string. As in encode(),
-ENCODING can be either a canonical name or an alias. For encoding names
-and aliases, see L</"Defining Aliases">. For CHECK, see
-L</"Handling Malformed Data">.
+This function returns the string that results from decoding the scalar
+value I<OCTETS>, assumed to be a sequence of octets in I<ENCODING>, into
+Perl's internal form. The returns the resulting string. As with encode(),
+I<ENCODING> can be either a canonical name or an alias. For encoding names
+and aliases, see L</"Defining Aliases">; for I<CHECK>, see L</"Handling
+Malformed Data">.
-For example, to convert ISO-8859-1 data to a string in Perl's internal format:
+For example, to convert ISO-8859-1 data into a string in Perl's
+internal format:
$string = decode("iso-8859-1", $octets);
B<CAVEAT>: When you run C<$string = decode("utf8", $octets)>, then $string
-B<may not be equal to> $octets. Though they both contain the same data,
-the UTF8 flag for $string is on unless $octets entirely consists of
-ASCII data (or EBCDIC on EBCDIC machines). See L</"The UTF8 flag">
+I<might not be equal to> $octets. Though both contain the same data, the
+UTF8 flag for $string is on unless $octets consists entirely of ASCII data
+on ASCII machines or EBCDIC on EBCDIC machines. See L</"The UTF8 flag">
below.
-If the $string is C<undef> then C<undef> is returned.
+If the $string is C<undef>, then C<undef> is returned.
=item [$obj =] find_encoding(ENCODING)
-Returns the I<encoding object> corresponding to ENCODING. Returns
-undef if no matching ENCODING is find.
-
-This object is what actually does the actual (en|de)coding.
+Returns the I<encoding object> corresponding to I<ENCODING>. Returns
+C<undef> if no matching I<ENCODING> is find. The returned object is
+what does the actual encoding or decoding.
$utf8 = decode($name, $bytes);
is in fact
- $utf8 = do{
- $obj = find_encoding($name);
- croak qq(encoding "$name" not found) unless ref $obj;
- $obj->decode($bytes)
- };
+ $utf8 = do {
+ $obj = find_encoding($name);
+ croak qq(encoding "$name" not found) unless ref $obj;
+ $obj->decode($bytes);
+ };
with more error checking.
-Therefore you can save time by reusing this object as follows;
+You can therefore save time by reusing this object as follows;
- my $enc = find_encoding("iso-8859-1");
- while(<>){
- my $utf8 = $enc->decode($_);
- # and do someting with $utf8;
- }
+ my $enc = find_encoding("iso-8859-1");
+ while(<>) {
+ my $utf8 = $enc->decode($_);
+ ... # now do something with $utf8;
+ }
Besides C<< ->decode >> and C<< ->encode >>, other methods are
-available as well. For instance, C<< -> name >> returns the canonical
+available as well. For instance, C<< ->name >> returns the canonical
name of the encoding object.
find_encoding("latin1")->name; # iso-8859-1
@@ -496,9 +499,9 @@ See L<Encode::Encoding> for details.
=item [$length =] from_to($octets, FROM_ENC, TO_ENC [, CHECK])
-Converts B<in-place> data between two encodings. The data in $octets
-must be encoded as octets and not as characters in Perl's internal
-format. For example, to convert ISO-8859-1 data to Microsoft's CP1250
+Converts I<in-place> data between two encodings. The data in $octets
+must be encoded as octets and I<not> as characters in Perl's internal
+format. For example, to convert ISO-8859-1 data into Microsoft's CP1250
encoding:
from_to($octets, "iso-8859-1", "cp1250");
@@ -507,54 +510,53 @@ and to convert it back:
from_to($octets, "cp1250", "iso-8859-1");
-Note that because the conversion happens in place, the data to be
-converted cannot be a string constant; it must be a scalar variable.
+Because the conversion happens in place, the data to be
+converted cannot be a string constant: it must be a scalar variable.
-from_to() returns the length of the converted string in octets on
-success, I<undef> on error.
+from_to() returns the length of the converted string in octets on success,
+and C<undef> on error.
-B<CAVEAT>: The following operations look the same but are not quite so;
+B<CAVEAT>: The following operations may look the same, but are not:
from_to($data, "iso-8859-1", "utf8"); #1
$data = decode("iso-8859-1", $data); #2
-Both #1 and #2 make $data consist of a completely valid UTF-8 string
-but only #2 turns UTF8 flag on. #1 is equivalent to
+Both #1 and #2 make $data consist of a completely valid UTF-8 string,
+but only #2 turns the UTF8 flag on. #1 is equivalent to:
$data = encode("utf8", decode("iso-8859-1", $data));
See L</"The UTF8 flag"> below.
-Also note that
+Also note that:
from_to($octets, $from, $to, $check);
-is equivalent to
+is equivalent t:o
$octets = encode($to, decode($from, $octets), $check);
-Yes, it does not respect the $check during decoding. It is
-deliberately done that way. If you need minute control, C<decode>
-then C<encode> as follows;
+Yes, it does I<not> respect the $check during decoding. It is
+deliberately done that way. If you need minute control, use C<decode>
+followed by C<encode> as follows:
$octets = encode($to, decode($from, $octets, $check_from), $check_to);
=item $octets = encode_utf8($string);
-Equivalent to C<$octets = encode("utf8", $string);> The characters
-that comprise $string are encoded in Perl's internal format and the
-result is returned as a sequence of octets. All possible
-characters have a UTF-8 representation so this function cannot fail.
-
+Equivalent to C<$octets = encode("utf8", $string)>. The characters in
+$string are encoded in Perl's internal format, and the result is returned
+as a sequence of octets. Because all possible characters in Perl have a
+(loose, not strict) UTF-8 representation, this function cannot fail.
=item $string = decode_utf8($octets [, CHECK]);
-equivalent to C<$string = decode("utf8", $octets [, CHECK])>.
-The sequence of octets represented by
-$octets is decoded from UTF-8 into a sequence of logical
-characters. Not all sequences of octets form valid UTF-8 encodings, so
-it is possible for this call to fail. For CHECK, see
-L</"Handling Malformed Data">.
+Equivalent to C<$string = decode("utf8", $octets [, CHECK])>.
+The sequence of octets represented by $octets is decoded
+from UTF-8 into a sequence of logical characters.
+Because not all sequences of octets are valid UTF-8,
+it is quite possible for this function to fail.
+For CHECK, see L</"Handling Malformed Data">.
=back
@@ -563,17 +565,17 @@ L</"Handling Malformed Data">.
use Encode;
@list = Encode->encodings();
-Returns a list of the canonical names of the available encodings that
-are loaded. To get a list of all available encodings including the
-ones that are not loaded yet, say
+Returns a list of canonical names of available encodings that have already
+been loaded. To get a list of all available encodings including those that
+have not yet been loaded, say:
@all_encodings = Encode->encodings(":all");
-Or you can give the name of a specific module.
+Or you can give the name of a specific module:
@with_jp = Encode->encodings("Encode::JP");
-When "::" is not in the name, "Encode::" is assumed.
+When "C<::>" is not in the name, "C<Encode::>" is assumed.
@ebcdic = Encode->encodings("EBCDIC");
@@ -586,36 +588,36 @@ To add a new alias to a given encoding, use:
use Encode;
use Encode::Alias;
- define_alias(newName => ENCODING);
+ define_alias(NEWNAME => ENCODING);
-After that, newName can be used as an alias for ENCODING.
-ENCODING may be either the name of an encoding or an
-I<encoding object>
+After that, I<NEWNAME> can be used as an alias for I<ENCODING>.
+<ENCODING> may be either the name of an encoding or an
+I<encoding object>.
-But before you do so, make sure the alias is nonexistent with
+Before you do that, first make sure the alias is nonexistent using
C<resolve_alias()>, which returns the canonical name thereof.
-i.e.
+For example:
Encode::resolve_alias("latin1") eq "iso-8859-1" # true
Encode::resolve_alias("iso-8859-12") # false; nonexistent
Encode::resolve_alias($name) eq $name # true if $name is canonical
resolve_alias() does not need C<use Encode::Alias>; it can be
-exported via C<use Encode qw(resolve_alias)>.
+imported via C<use Encode qw(resolve_alias)>.
See L<Encode::Alias> for details.
=head2 Finding IANA Character Set Registry names
The canonical name of a given encoding does not necessarily agree with
-IANA IANA Character Set Registry, commonly seen as C<< Content-Type:
-text/plain; charset=I<whatever> >>. For most cases canonical names
-work but sometimes it does not (notably 'utf-8-strict').
+IANA Character Set Registry, commonly seen as C<< Content-Type:
+text/plain; charset=I<WHATEVER> >>. For most cases, the canonical name
+works, but sometimes it does not, most notably with "utf-8-strict".
-Therefore as of Encode version 2.21, a new method C<mime_name()> is added.
+As of C<Encode> version 2.21, a new method C<mime_name()> is thereforeadded.
use Encode;
- my $enc = find_encoding('UTF-8');
+ my $enc = find_encoding("UTF-8");
warn $enc->name; # utf-8-strict
warn $enc->mime_name; # UTF-8
@@ -623,44 +625,60 @@ See also: L<Encode::Encoding>
=head1 Encoding via PerlIO
-If your perl supports I<PerlIO> (which is the default), you can use a
-PerlIO layer to decode and encode directly via a filehandle. The
-following two examples are totally identical in their functionality.
-
- # via PerlIO
- open my $in, "<:encoding(shiftjis)", $infile or die;
- open my $out, ">:encoding(euc-jp)", $outfile or die;
- while(<$in>){ print $out $_; }
+If your perl supports C<PerlIO> (which is the default), you can use a
+C<PerlIO> layer to decode and encode directly via a filehandle. The
+following two examples are fully identical in functionality:
+
+ ### Version 1 via PerlIO
+ open(INPUT, "< :encoding(shiftjis)", $infile)
+ || die "Can't open < $infile for reading: $!";
+ open(OUTPUT, "> :encoding(euc-jp)", $outfile)
+ || die "Can't open > $output for writing: $!";
+ while (<INPUT>) { # auto decodes $_
+ print OUTPUT; # auto encodes $_
+ }
+ close(INPUT) || die "can't close $infile: $!";
+ close(OUTPUT) || die "can't close $outfile: $!";
+
+ ### Version 2 via from_to()
+ open(INPUT, "< :raw", $infile)
+ || die "Can't open < $infile for reading: $!";
+ open(OUTPUT, "> :raw", $outfile)
+ || die "Can't open > $output for writing: $!";
+
+ while (<INPUT>) {
+ from_to($_, "shiftjis", "euc-jp", 1); # switch encoding
+ print OUTPUT; # emit raw (but properly encoded) data
+ }
+ close(INPUT) || die "can't close $infile: $!";
+ close(OUTPUT) || die "can't close $outfile: $!";
- # via from_to
- open my $in, "<", $infile or die;
- open my $out, ">", $outfile or die;
- while(<$in>){
- from_to($_, "shiftjis", "euc-jp", 1);
- print $out $_;
- }
+In the first version above, you let the appropriate encoding layer
+handle the conversion. In the second, you explicitly translate
+from one encoding to the other.
-Unfortunately, it may be that encodings are PerlIO-savvy. You can check
-if your encoding is supported by PerlIO by calling the C<perlio_ok>
-method.
+Unfortunately, it may be that encodings are C<PerlIO>-savvy. You can check
+to see whether your encoding is supported by C<PerlIO> by invoking the
+C<perlio_ok> method on it:
- Encode::perlio_ok("hz"); # False
- find_encoding("euc-cn")->perlio_ok; # True where PerlIO is available
+ Encode::perlio_ok("hz"); # false
+ find_encoding("euc-cn")->perlio_ok; # true wherever PerlIO is available
- use Encode qw(perlio_ok); # exported upon request
+ use Encode qw(perlio_ok); # imported upon request
perlio_ok("euc-jp")
-Fortunately, all encodings that come with Encode core are PerlIO-savvy
-except for hz and ISO-2022-kr. For gory details, see
+Fortunately, all encodings that come with C<Encode> core are C<PerlIO>-savvy
+except for "hz" and "ISO-2022-kr". For the gory details, see
L<Encode::Encoding> and L<Encode::PerlIO>.
=head1 Handling Malformed Data
-The optional I<CHECK> argument tells Encode what to do when it
-encounters malformed data. Without CHECK, Encode::FB_DEFAULT ( == 0 )
-is assumed.
+The optional I<CHECK> argument tells C<Encode> what to do when
+encountering malformed data. Without I<CHECK>, C<Encode::FB_DEFAULT>
+(== 0) is assumed.
-As of version 2.12 Encode supports coderef values for CHECK. See below.
+As of version 2.12, C<Encode> supports coderef values for C<CHECK>;
+see below.
=over 2
@@ -677,39 +695,39 @@ Now here is the list of I<CHECK> values available
=item I<CHECK> = Encode::FB_DEFAULT ( == 0)
-If I<CHECK> is 0, (en|de)code will put a I<substitution character> in
-place of a malformed character. When you encode, E<lt>subcharE<gt>
-will be used. When you decode the code point C<0xFFFD> is used. If
-the data is supposed to be UTF-8, an optional lexical warning
-(category utf8) is given.
+If I<CHECK> is 0, encoding and decoding replace any malformed character
+with a I<substitution character>. When you encode, I<SUBCHAR> is used.
+When you decode, the Unicode REPLACEMENT CHARACTER, code point U+FFFD, is
+used. If the data is supposed to be UTF-8, an optional lexical warning of
+warning category C<"utf8"> is given.
=item I<CHECK> = Encode::FB_CROAK ( == 1)
-If I<CHECK> is 1, methods will die on error immediately with an error
-message. Therefore, when I<CHECK> is set to 1, you should trap the
-error with eval{} unless you really want to let it die.
+If I<CHECK> is 1, methods immediately die with an error
+message. Therefore, when I<CHECK> is 1, you should trap
+exceptions with C<eval{}>, unless you really want to let it C<die>.
=item I<CHECK> = Encode::FB_QUIET
-If I<CHECK> is set to Encode::FB_QUIET, (en|de)code will immediately
+If I<CHECK> is set to C<Encode::FB_QUIET>, encoding and decoding immediately
return the portion of the data that has been processed so far when an
-error occurs. The data argument will be overwritten with everything
-after that point (that is, the unprocessed part of data). This is
-handy when you have to call decode repeatedly in the case where your
+error occurs. The data argument is overwritten with everything
+after that point; that is, the unprocessed portion of the data. This is
+handy when you have to call C<decode> repeatedly in the case where your
source data may contain partial multi-byte character sequences,
-(i.e. you are reading with a fixed-width buffer). Here is a sample
-code that does exactly this:
+(that is, you are reading with a fixed-width buffer). Here's some sample
+code to do exactly that:
- my $buffer = ''; my $string = '';
- while(read $fh, $buffer, 256, length($buffer)){
- $string .= decode($encoding, $buffer, Encode::FB_QUIET);
- # $buffer now contains the unprocessed partial character
- }
+ my($buffer, $string) = ("", "");
+ while (read($fh, $buffer, 256, length($buffer))) {
+ $string .= decode($encoding, $buffer, Encode::FB_QUIET);
+ # $buffer now contains the unprocessed partial character
+ }
=item I<CHECK> = Encode::FB_WARN
-This is the same as above, except that it warns on error. Handy when
-you are debugging the mode above.
+This is the same as C<FB_QUIET> above, except that instead of being silent
+on errors, it issues a warning. This is handy for when you are debugging.
=item perlqq mode (I<CHECK> = Encode::FB_PERLQQ)
@@ -717,26 +735,26 @@ you are debugging the mode above.
=item XML charref mode (I<CHECK> = Encode::FB_XMLCREF)
-For encodings that are implemented by Encode::XS, CHECK ==
-Encode::FB_PERLQQ turns (en|de)code into C<perlqq> fallback mode.
+For encodings that are implemented by the C<Encode::XS> module, C<CHECK> C<==>
+C<Encode::FB_PERLQQ> puts C<encode> and C<decode> into C<perlqq> fallback mode.
-When you decode, C<\xI<HH>> will be inserted for a malformed character,
-where I<HH> is the hex representation of the octet that could not be
-decoded to utf8. And when you encode, C<\x{I<HHHH>}> will be inserted,
-where I<HHHH> is the Unicode ID of the character that cannot be found
-in the character repertoire of the encoding.
+When you decode, C<\xI<HH>> is inserted for a malformed character, where
+I<HH> is the hex representation of the octet that could not be decoded to
+utf8. When you encode, C<\x{I<HHHH>}> will be inserted, where I<HHHH> is
+the Unicode code point (in any number of hex digits) of the character that
+cannot be found in the character repertoire of the encoding.
-HTML/XML character reference modes are about the same, in place of
-C<\x{I<HHHH>}>, HTML uses C<&#I<NNN>;> where I<NNN> is a decimal number and
+The HTML/XML character reference modes are about the same. In place of
+C<\x{I<HHHH>}>, HTML uses C<&#I<NNN>;> where I<NNN> is a decimal number, and
XML uses C<&#xI<HHHH>;> where I<HHHH> is the hexadecimal number.
-In Encode 2.10 or later, C<LEAVE_SRC> is also implied.
+In C<Encode> 2.10 or later, C<LEAVE_SRC> is also implied.
=item The bitmask
-These modes are actually set via a bitmask. Here is how the FB_XX
-constants are laid out. You can import the FB_XX constants via
-C<use Encode qw(:fallbacks)>; you can import the generic bitmask
+These modes are all actually set via a bitmask. Here is how the C<FB_I<XXX>>
+constants are laid out. You can import the C<FB_I<XXX>> constants via
+C<use Encode qw(:fallbacks)>, and you can import the generic bitmask
constants via C<use Encode qw(:fallback_all)>.
FB_DEFAULT FB_CROAK FB_QUIET FB_WARN FB_PERLQQ
@@ -754,44 +772,43 @@ constants via C<use Encode qw(:fallback_all)>.
=item Encode::LEAVE_SRC
-If the C<Encode::LEAVE_SRC> bit is not set, but I<CHECK> is, then the second
-argument to C<encode()> or C<decode()> may be assigned to by the functions. If
-you're not interested in this, then bitwise-or the bitmask with it.
+If the C<Encode::LEAVE_SRC> bit is I<not> set but I<CHECK> is set, then the
+second argument to encode() or decode() will be overwritten in place.
+If you're not interested in this, then bitwise-OR it with the bitmask.
=back
=head2 coderef for CHECK
-As of Encode 2.12 CHECK can also be a code reference which takes the
-ord value of unmapped caharacter as an argument and returns a string
-that represents the fallback character. For instance,
+As of C<Encode> 2.12, C<CHECK> can also be a code reference which takes the
+ordinal value of the unmapped caharacter as an argument and returns a string
+that represents the fallback character. For instance:
$ascii = encode("ascii", $utf8, sub{ sprintf "<U+%04X>", shift });
-Acts like FB_PERLQQ but E<lt>U+I<XXXX>E<gt> is used instead of
-\x{I<XXXX>}.
+Acts like C<FB_PERLQQ> but U+I<XXXX> is used instead of C<\x{I<XXXX>}>.
=head1 Defining Encodings
To define a new encoding, use:
use Encode qw(define_encoding);
- define_encoding($object, 'canonicalName' [, alias...]);
+ define_encoding($object, CANONICAL_NAME [, alias...]);
-I<canonicalName> will be associated with I<$object>. The object
+I<CANONICAL_NAME> will be associated with I<$object>. The object
should provide the interface described in L<Encode::Encoding>.
-If more than two arguments are provided then additional
-arguments are taken as aliases for I<$object>.
+If more than two arguments are provided, additional
+arguments are considered aliases for I<$object>.
-See L<Encode::Encoding> for more details.
+See L<Encode::Encoding> for details.
=head1 The UTF8 flag
-Before the introduction of Unicode support in perl, The C<eq> operator
+Before the introduction of Unicode support in Perl, The C<eq> operator
just compared the strings represented by two scalars. Beginning with
-perl 5.8, C<eq> compares two strings with simultaneous consideration of
-I<the UTF8 flag>. To explain why we made it so, I will quote page 402 of
-C<Programming Perl, 3rd ed.>
+Perl 5.8, C<eq> compares two strings with simultaneous consideration of
+I<the UTF8 flag>. To explain why we made it so, I quote from page 402 of
+I<Programming Perl, 3rd ed.>
=over 2
@@ -817,28 +834,27 @@ byte-oriented Perl and a character-oriented Perl.
=back
-Back when C<Programming Perl, 3rd ed.> was written, not even Perl 5.6.0
-was born and many features documented in the book remained
-unimplemented for a long time. Perl 5.8 corrected this and the introduction
-of the UTF8 flag is one of them. You can think of this perl notion as of a
-byte-oriented mode (UTF8 flag off) and a character-oriented mode (UTF8
-flag on).
+When I<Programming Perl, 3rd ed.> was written, not even Perl 5.6.0 had been
+born yet, many features documented in the book remained unimplemented for a
+long time. Perl 5.8 corrected much of this, and the introduction of the
+UTF8 flag is one of them. You can think of there being two fundamentally
+different kinds of strings and string-operations in Perl: one a
+byte-oriented mode for when the internal UTF8 flag is off, and the other a
+character-oriented mode for when the internal UTF8 flag is on.
-Here is how Encode takes care of the UTF8 flag.
+Here is how C<Encode> handles the UTF8 flag.
=over 2
=item *
-When you encode, the resulting UTF8 flag is always off.
+When you I<encode>, the resulting UTF8 flag is always B<off>.
=item *
-When you decode, the resulting UTF8 flag is on unless you can
-unambiguously represent data. Here is the definition of
-dis-ambiguity.
-
-After C<$utf8 = decode('foo', $octet);>,
+When you I<decode>, the resulting UTF8 flag is B<on>--I<unless> you can
+unambiguously represent data. Here is what we mean by "unambiguously".
+After C<$utf8 = decode("foo", $octet)>,
When $octet is... The UTF8 flag in $utf8 is
---------------------------------------------
@@ -847,50 +863,53 @@ After C<$utf8 = decode('foo', $octet);>,
In any other Encoding ON
---------------------------------------------
-As you see, there is one exception, In ASCII. That way you can assume
-Goal #1. And with Encode Goal #2 is assumed but you still have to be
-careful in such cases mentioned in B<CAVEAT> paragraphs.
+As you see, there is one exception: in ASCII. That way you can assume
+Goal #1. And with C<Encode>, Goal #2 is assumed but you still have to be
+careful in the cases mentioned in the B<CAVEAT> paragraphs above.
-This UTF8 flag is not visible in perl scripts, exactly for the same
-reason you cannot (or you I<don't have to>) see if a scalar contains a
-string, integer, or floating point number. But you can still peek
-and poke these if you will. See the section below.
+This UTF8 flag is not visible in Perl scripts, exactly for the same reason
+you cannot (or rather, you I<don't have to>) see whether a scalar contains
+a string, an integer, or a floating-point number. But you can still peek
+and poke these if you will. See the next section.
=back
=head2 Messing with Perl's Internals
The following API uses parts of Perl's internals in the current
-implementation. As such, they are efficient but may change.
+implementation. As such, they are efficient but may change in a future
+release.
=over 2
=item is_utf8(STRING [, CHECK])
-[INTERNAL] Tests whether the UTF8 flag is turned on in the STRING.
-If CHECK is true, also checks the data in STRING for being well-formed
+[INTERNAL] Tests whether the UTF8 flag is turned on in the I<STRING>.
+If I<CHECK> is true, also checks whether I<STRING> contains well-formed
UTF-8. Returns true if successful, false otherwise.
-As of perl 5.8.1, L<utf8> also has utf8::is_utf8().
+As of Perl 5.8.1, L<utf8> also has the C<utf8::is_utf8> function.
=item _utf8_on(STRING)
-[INTERNAL] Turns on the UTF8 flag in STRING. The data in STRING is
-B<not> checked for being well-formed UTF-8. Do not use unless you
-B<know> that the STRING is well-formed UTF-8. Returns the previous
-state of the UTF8 flag (so please don't treat the return value as
-indicating success or failure), or C<undef> if STRING is not a string.
+[INTERNAL] Turns the I<STRING>'s internal UTF8 flag B<on>. The I<STRING>
+is I<not> checked for containing only well-formed UTF-8. Do not use this
+unless you I<know with absolute certainty> that the STRING holds only
+well-formed UTF-8. Returns the previous state of the UTF8 flag (so please
+don't treat the return value as indicating success or failure), or C<undef>
+if I<STRING> is not a string.
-This function does not work on tainted values.
+B<NOTE>: For security reasons, this function does not work on tainted values.
=item _utf8_off(STRING)
-[INTERNAL] Turns off the UTF8 flag in STRING. Do not use frivolously.
-Returns the previous state of the UTF8 flag (so please don't treat the
-return value as indicating success or failure), or C<undef> if STRING is
-not a string.
+[INTERNAL] Turns the I<STRING>'s internal UTF8 flag B<off>. Do not use
+frivolously. Returns the previous state of the UTF8 flag, or C<undef> if
+I<STRING> is not a string. Do not treat the return value as indicative of
+success or failure, because that isn't what it means: it is only the
+previous setting.
-This function does not work on tainted values.
+B<NOTE>: For security reasons, this function does not work on tainted values.
=back
@@ -900,49 +919,57 @@ This function does not work on tainted values.
of numbers in the range 0 .. 2**32-1 (or in the case of 64-bit
computers, 0 .. 2**64-1) -- Programming Perl, 3rd ed.
-That has been the perl's notion of UTF-8 but official UTF-8 is more
-strict; Its ranges is much narrower (0 .. 10FFFF), some sequences are
-not allowed (i.e. Those used in the surrogate pair, 0xFFFE, et al).
+That has historically been Perl's notion of UTF-8, as that is how UTF-8 was
+first conceived by Ken Thompson when he invented it. However, thanks to
+later revisions to the applicable standards, official UTF-8 is now rather
+stricter than that. For example, its range is much narrower (0 .. 0x10_FFFF
+to cover only 21 bits instead of 32 or 64 bits) and some sequences
+are not allowed, like those used in surrogate pairs, the 31 non-character
+code points 0xFDD0 .. 0xFDEF, the last two code points in I<any> plane
+(0xI<XX>_FFFE and 0xI<XX>_FFFF), all non-shortest encodings, etc.
-Now that is overruled by Larry Wall himself.
+The former default in which Perl would always use a loose interpretation of
+UTF-8 has now been overruled:
From: Larry Wall <larry@wall.org>
Date: December 04, 2004 11:51:58 JST
To: perl-unicode@perl.org
Subject: Re: Make Encode.pm support the real UTF-8
Message-Id: <20041204025158.GA28754@wall.org>
-
+
On Fri, Dec 03, 2004 at 10:12:12PM +0000, Tim Bunce wrote:
: I've no problem with 'utf8' being perl's unrestricted uft8 encoding,
: but "UTF-8" is the name of the standard and should give the
: corresponding behaviour.
-
+
For what it's worth, that's how I've always kept them straight in my
head.
-
+
Also for what it's worth, Perl 6 will mostly default to strict but
make it easy to switch back to lax.
-
+
Larry
-Do you copy? As of Perl 5.8.7, B<UTF-8> means strict, official UTF-8
-while B<utf8> means liberal, lax, version thereof. And Encode version
-2.10 or later thus groks the difference between C<UTF-8> and C"utf8".
+Got that? As of Perl 5.8.7, B<"UTF-8"> means UTF-8 in its current
+sense, which is conservative and strict and security-conscious, whereas
+B<"utf8"> means UTF-8 in its former sense, which was liberal and loose and
+lax. C<Encode> version 2.10 or later thus groks this subtle but critically
+important distinction between C<"UTF-8"> and C<"utf8">.
encode("utf8", "\x{FFFF_FFFF}", 1); # okay
encode("UTF-8", "\x{FFFF_FFFF}", 1); # croaks
-C<UTF-8> in Encode is actually a canonical name for C<utf-8-strict>.
-Yes, the hyphen between "UTF" and "8" is important. Without it Encode
-goes "liberal"
+In the C<Encode> module, C<"UTF-8"> is actually a canonical name for
+C<"utf-8-strict">. That hyphen between the C<"UTF"> and the C<"8"> is
+critical; without it, C<Encode> goes "liberal" and (perhaps overly-)permissive:
find_encoding("UTF-8")->name # is 'utf-8-strict'
find_encoding("utf-8")->name # ditto. names are case insensitive
- find_encoding("utf_8")->name # ditto. "_" are treated as "-"
+ find_encoding("utf_8")->name # ditto. "_" are treated as "-"
find_encoding("UTF8")->name # is 'utf8'.
-The UTF8 flag is internally called UTF8, without a hyphen. It indicates
-whether a string is internally encoded as utf8, also without a hypen.
+Perl's internal UTF8 flag is called "UTF8", without a hyphen. It indicates
+whether a string is internally encoded as "utf8", also without a hyphen.
=head1 SEE ALSO
@@ -958,18 +985,18 @@ the Perl Unicode Mailing List E<lt>perl-unicode@perl.orgE<gt>
=head1 MAINTAINER
-This project was originated by Nick Ing-Simmons and later maintained
-by Dan Kogai E<lt>dankogai@dan.co.jpE<gt>. See AUTHORS for a full
-list of people involved. For any questions, use
-E<lt>perl-unicode@perl.orgE<gt> so we can all share.
+This project was originated by the late Nick Ing-Simmons and later
+maintained by Dan Kogai I<< <dankogai@dan.co.jp> >>. See AUTHORS
+for a full list of people involved. For any questions, send mail to
+I<< <perl-unicode@perl.org> >> so that we can all share.
-While Dan Kogai retains the copyright as a maintainer, the credit
-should go to all those involoved. See AUTHORS for those submitted
-codes.
+While Dan Kogai retains the copyright as a maintainer, credit
+should go to all those involved. See AUTHORS for a list of those
+who submitted code to the project.
=head1 COPYRIGHT
-Copyright 2002-2006 Dan Kogai E<lt>dankogai@dan.co.jpE<gt>
+Copyright 2002-2011 Dan Kogai I<< <dankogai@dan.co.jp> >>.
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Encode/Alias.pm b/Master/tlpkg/tlperl/lib/Encode/Alias.pm
index f517a5a75a8..d744cc5e933 100644
--- a/Master/tlpkg/tlperl/lib/Encode/Alias.pm
+++ b/Master/tlpkg/tlperl/lib/Encode/Alias.pm
@@ -2,8 +2,8 @@ package Encode::Alias;
use strict;
use warnings;
no warnings 'redefine';
-our $VERSION = do { my @r = ( q$Revision: 2.13 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-sub DEBUG () { 0 }
+our $VERSION = do { my @r = ( q$Revision: 2.15 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
use base qw(Exporter);
@@ -206,7 +206,7 @@ sub init_aliases {
# Mac Mappings
# predefined in *.ucm; unneeded
# define_alias( qr/\bmacIcelandic$/i => '"macIceland"');
- define_alias( qr/^mac_(.*)$/i => '"mac$1"' );
+ define_alias( qr/^(?:x[_-])?mac[_-](.*)$/i => '"mac$1"' );
# http://rt.cpan.org/Ticket/Display.html?id=36326
define_alias( qr/^macintosh$/i => '"MacRoman"' );
diff --git a/Master/tlpkg/tlperl/lib/Encode/Encoder.pm b/Master/tlpkg/tlperl/lib/Encode/Encoder.pm
index f7194f81ac4..9a46d367436 100644
--- a/Master/tlpkg/tlperl/lib/Encode/Encoder.pm
+++ b/Master/tlpkg/tlperl/lib/Encode/Encoder.pm
@@ -1,17 +1,17 @@
#
-# $Id: Encoder.pm,v 2.1 2006/05/03 18:24:10 dankogai Exp $
+# $Id: Encoder.pm,v 2.2 2011/08/09 07:49:44 dankogai Exp dankogai $
#
package Encode::Encoder;
use strict;
use warnings;
-our $VERSION = do { my @r = ( q$Revision: 2.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
require Exporter;
our @ISA = qw(Exporter);
our @EXPORT_OK = qw ( encoder );
our $AUTOLOAD;
-sub DEBUG () { 0 }
+use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
use Encode qw(encode decode find_encoding from_to);
use Carp;
diff --git a/Master/tlpkg/tlperl/lib/Encode/Guess.pm b/Master/tlpkg/tlperl/lib/Encode/Guess.pm
index 9636a8ad8a5..31ec58f4fca 100644
--- a/Master/tlpkg/tlperl/lib/Encode/Guess.pm
+++ b/Master/tlpkg/tlperl/lib/Encode/Guess.pm
@@ -2,10 +2,10 @@ package Encode::Guess;
use strict;
use warnings;
use Encode qw(:fallbacks find_encoding);
-our $VERSION = do { my @r = ( q$Revision: 2.4 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
my $Canon = 'Guess';
-sub DEBUG () { 0 }
+use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
our %DEF_SUSPECTS = map { $_ => find_encoding($_) } qw(ascii utf8);
$Encode::Encoding{$Canon} = bless {
Name => $Canon,
diff --git a/Master/tlpkg/tlperl/lib/English.pm b/Master/tlpkg/tlperl/lib/English.pm
index c11fbed9eba..1f1e85d47fd 100644
--- a/Master/tlpkg/tlperl/lib/English.pm
+++ b/Master/tlpkg/tlperl/lib/English.pm
@@ -1,6 +1,6 @@
package English;
-our $VERSION = '1.04';
+our $VERSION = '1.05';
require Exporter;
@ISA = qw(Exporter);
@@ -139,7 +139,7 @@ sub import {
@COMPLETE_EXPORT = ( @MINIMAL_EXPORT, @MATCH_EXPORT ) ;
-# The ground of all being. @ARG is deprecated (5.005 makes @_ lexical)
+# The ground of all being.
*ARG = *_ ;
diff --git a/Master/tlpkg/tlperl/lib/Env.pm b/Master/tlpkg/tlperl/lib/Env.pm
index d770533bd2d..bb1f0b381fd 100644
--- a/Master/tlpkg/tlperl/lib/Env.pm
+++ b/Master/tlpkg/tlperl/lib/Env.pm
@@ -1,6 +1,6 @@
package Env;
-our $VERSION = '1.02';
+our $VERSION = '1.03';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/Errno.pm b/Master/tlpkg/tlperl/lib/Errno.pm
index ce583674850..e55c1d92b02 100644
--- a/Master/tlpkg/tlperl/lib/Errno.pm
+++ b/Master/tlpkg/tlperl/lib/Errno.pm
@@ -12,7 +12,7 @@ use strict;
"MSWin32-x86-multi-thread-5.1" or
die "Errno architecture (MSWin32-x86-multi-thread-5.1) does not match executable architecture ($Config{'archname'}-$Config{'osvers'})";
-our $VERSION = "1.13";
+our $VERSION = "1.15";
$VERSION = eval $VERSION;
our @ISA = 'Exporter';
diff --git a/Master/tlpkg/tlperl/lib/Exporter.pm b/Master/tlpkg/tlperl/lib/Exporter.pm
index a371714e764..40af2206158 100644
--- a/Master/tlpkg/tlperl/lib/Exporter.pm
+++ b/Master/tlpkg/tlperl/lib/Exporter.pm
@@ -9,7 +9,7 @@ require 5.006;
our $Debug = 0;
our $ExportLevel = 0;
our $Verbose ||= 0;
-our $VERSION = '5.64_03';
+our $VERSION = '5.66';
our (%Cache);
sub as_heavy {
@@ -44,7 +44,6 @@ sub import {
my $export_cache = ($Cache{$pkg} ||= {});
my $args = @_ or @_ = @$exports;
- local $_;
if ($args and not %$export_cache) {
s/^&//, $export_cache->{$_} = 1
foreach (@$exports, @{"$pkg\::EXPORT_OK"});
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm
index 969b3596832..aff607d7ee1 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder.pm
@@ -6,7 +6,7 @@ use File::Basename ();
use Perl::OSType qw/os_type/;
use vars qw($VERSION @ISA);
-$VERSION = '0.280203';
+$VERSION = '0.280206';
$VERSION = eval $VERSION;
# We only use this once - don't waste a symbol table entry on it.
@@ -265,10 +265,23 @@ other platform-specific issues. Ilya Zakharevich has contributed
fixes for OS/2; John E. Malmberg and Peter Prymmer have done likewise
for VMS.
+=head1 SUPPORT
+
+ExtUtils::CBuilder is maintained as part of the Perl 5 core. Please
+submit any bug reports via the F<perlbug> tool included with Perl 5.
+Bug reports will be included in the Perl 5 ticket system at
+L<http://rt.perl.org>.
+
+The Perl 5 source code is available at <http://perl5.git.perl.org/perl.git>
+and ExtUtils-CBuilder may be found in the F<dist/ExtUtils-CBuilder> directory
+of the repository.
+
=head1 AUTHOR
Ken Williams, kwilliams@cpan.org
+Additional contributions by The Perl 5 Porters.
+
=head1 COPYRIGHT
Copyright (c) 2003-2005 Ken Williams. All rights reserved.
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm
index b57231272a6..6d983cd2f48 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Base.pm
@@ -12,7 +12,7 @@ use IPC::Cmd qw(can_run);
use File::Temp qw(tempfile);
use vars qw($VERSION);
-$VERSION = '0.280203';
+$VERSION = '0.280206';
# More details about C/C++ compilers:
# http://developers.sun.com/sunstudio/documentation/product/compiler.jsp
@@ -40,11 +40,13 @@ sub new {
$self->{config}{$k} = $v unless exists $self->{config}{$k};
}
$self->{config}{cc} = $ENV{CC} if defined $ENV{CC};
- $self->{config}{ccflags} = $ENV{CFLAGS} if defined $ENV{CFLAGS};
+ $self->{config}{ccflags} = join(" ", $self->{config}{ccflags}, $ENV{CFLAGS})
+ if defined $ENV{CFLAGS};
$self->{config}{cxx} = $ENV{CXX} if defined $ENV{CXX};
$self->{config}{cxxflags} = $ENV{CXXFLAGS} if defined $ENV{CXXFLAGS};
$self->{config}{ld} = $ENV{LD} if defined $ENV{LD};
- $self->{config}{ldflags} = $ENV{LDFLAGS} if defined $ENV{LDFLAGS};
+ $self->{config}{ldflags} = join(" ", $self->{config}{ldflags}, $ENV{LDFLAGS})
+ if defined $ENV{LDFLAGS};
unless ( exists $self->{config}{cxx} ) {
my ($ccpath, $ccbase, $ccsfx ) = fileparse($self->{config}{cc}, qr/\.[^.]*/);
@@ -64,7 +66,7 @@ sub new {
}
unless ( exists $self->{config}{cxx} ) {
$self->{config}{cxx} = $self->{config}{cc};
- my $cflags = $self->{config}{cflags};
+ my $cflags = $self->{config}{ccflags};
$self->{config}{cxxflags} = '-x c++';
$self->{config}{cxxflags} .= " $cflags" if defined $cflags;
}
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm
index c8610b3841c..4bc71939f6e 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Unix.pm
@@ -4,7 +4,7 @@ use strict;
use ExtUtils::CBuilder::Base;
use vars qw($VERSION @ISA);
-$VERSION = '0.280203';
+$VERSION = '0.280206';
@ISA = qw(ExtUtils::CBuilder::Base);
sub link_executable {
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm
index 7e3120dc008..47238e8b025 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/VMS.pm
@@ -4,7 +4,7 @@ use strict;
use ExtUtils::CBuilder::Base;
use vars qw($VERSION @ISA);
-$VERSION = '0.280203';
+$VERSION = '0.280206';
@ISA = qw(ExtUtils::CBuilder::Base);
use File::Spec::Functions qw(catfile catdir);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm
index 6e7d52384e5..080f2b4be71 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows.pm
@@ -10,7 +10,7 @@ use ExtUtils::CBuilder::Base;
use IO::File;
use vars qw($VERSION @ISA);
-$VERSION = '0.280203';
+$VERSION = '0.280206';
@ISA = qw(ExtUtils::CBuilder::Base);
=begin comment
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
index 46938661253..01acec5d530 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
@@ -1,7 +1,7 @@
package ExtUtils::CBuilder::Platform::Windows::BCC;
use vars qw($VERSION);
-$VERSION = '0.280203';
+$VERSION = '0.280206';
sub format_compiler_cmd {
my ($self, %spec) = @_;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
index afeeb7cd838..ccc575fb58f 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
@@ -1,7 +1,7 @@
package ExtUtils::CBuilder::Platform::Windows::GCC;
use vars qw($VERSION);
-$VERSION = '0.280203';
+$VERSION = '0.280206';
sub format_compiler_cmd {
my ($self, %spec) = @_;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
index ad0695b5ae0..a847699ea64 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
@@ -1,7 +1,7 @@
package ExtUtils::CBuilder::Platform::Windows::MSVC;
use vars qw($VERSION);
-$VERSION = '0.280203';
+$VERSION = '0.280206';
sub arg_exec_file {
my ($self, $file) = @_;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm
index 358cf8516f8..2ed318b8854 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/aix.pm
@@ -5,7 +5,7 @@ use ExtUtils::CBuilder::Platform::Unix;
use File::Spec;
use vars qw($VERSION @ISA);
-$VERSION = '0.280203';
+$VERSION = '0.280206';
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
sub need_prelink { 1 }
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm
index b1069296213..b30497ec8d6 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/cygwin.pm
@@ -5,7 +5,7 @@ use File::Spec;
use ExtUtils::CBuilder::Platform::Unix;
use vars qw($VERSION @ISA);
-$VERSION = '0.280203';
+$VERSION = '0.280206';
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
# TODO: If a specific exe_file name is requested, if the exe created
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm
index 3a30e6f333b..62eddd7b014 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/darwin.pm
@@ -4,7 +4,7 @@ use strict;
use ExtUtils::CBuilder::Platform::Unix;
use vars qw($VERSION @ISA);
-$VERSION = '0.280203';
+$VERSION = '0.280206';
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
sub compile {
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
index 5d0a7fd5020..587dbbd097f 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
@@ -6,7 +6,7 @@ use File::Spec;
use vars qw($VERSION @ISA);
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
-$VERSION = '0.280203';
+$VERSION = '0.280206';
sub link_executable {
my $self = shift;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm
index 828a9571682..531a812e358 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/CBuilder/Platform/os2.pm
@@ -4,7 +4,7 @@ use strict;
use ExtUtils::CBuilder::Platform::Unix;
use vars qw($VERSION @ISA);
-$VERSION = '0.280203';
+$VERSION = '0.280206';
@ISA = qw(ExtUtils::CBuilder::Platform::Unix);
sub need_prelink { 1 }
@@ -57,9 +57,9 @@ sub extra_link_args_after_prelink {
my ($self, %args) = @_;
my @DEF = grep /\.def$/i, @{$args{prelink_res}};
- die "More than one .def files created by `prelink' stage" if @DEF > 1;
+ die "More than one .def files created by 'prelink' stage" if @DEF > 1;
# XXXX No "$how" argument here, so how to test for dynamic link?
- die "No .def file created by `prelink' stage"
+ die "No .def file created by 'prelink' stage"
unless @DEF or not @{$args{prelink_res}};
my @after_libs = ($OS2::is_aout ? ()
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm
index 40bf780deab..8d82ee49b12 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Command/MM.pm
@@ -8,9 +8,9 @@ use warnings;
require Exporter;
our @ISA = qw(Exporter);
-our @EXPORT = qw(test_harness pod2man perllocal_install uninstall
+our @EXPORT = qw(test_harness pod2man perllocal_install uninstall
warn_if_old_packlist);
-our $VERSION = '6.57_05';
+our $VERSION = '6.63_02';
my $Is_VMS = $^O eq 'VMS';
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Install.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Install.pm
index 3b030a511af..7e4cd7fade0 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Install.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Install.pm
@@ -38,11 +38,11 @@ ExtUtils::Install - install files from here to there
=head1 VERSION
-1.55
+1.58
=cut
-$VERSION = '1.56'; # <---- dont forget to update the POD section just above this line!
+$VERSION = '1.58'; # <---- dont forget to update the POD section just above this line!
$VERSION = eval $VERSION;
=pod
@@ -73,10 +73,10 @@ has occured.
If this value is defined but false then such an operation has
ocurred, but should not impact later operations.
-=begin _private
-
=over
+=begin _private
+
=item _chmod($$;$)
Wrapper to chmod() for debugging and error trapping.
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Installed.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Installed.pm
index 9cb1fc10d75..b4b7f7580fa 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Installed.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Installed.pm
@@ -17,7 +17,7 @@ my $DOSISH = ($^O =~ /^(MSWin\d\d|os2|dos|mint)$/);
require VMS::Filespec if $Is_VMS;
use vars qw($VERSION);
-$VERSION = '1.999_001';
+$VERSION = '1.999002';
$VERSION = eval $VERSION;
sub _is_prefix {
@@ -162,7 +162,9 @@ sub new {
}
{
my %dupe;
- @{$self->{':private:'}{LIBDIRS}} = grep { -e $_ && !$dupe{$_}++ }
+ @{$self->{':private:'}{LIBDIRS}} =
+ grep { $_ ne '.' || ! $args{skip_cwd} }
+ grep { -e $_ && !$dupe{$_}++ }
@{$self->{':private:'}{EXTRA}}, @{$self->{':private:'}{INC}};
}
@@ -327,7 +329,7 @@ ExtUtils::Installed - Inventory management of installed modules
=head1 SYNOPSIS
use ExtUtils::Installed;
- my ($inst) = ExtUtils::Installed->new();
+ my ($inst) = ExtUtils::Installed->new( skip_cwd => 1 );
my (@modules) = $inst->modules();
my (@missing) = $inst->validate("DBI");
my $all_files = $inst->files("DBI");
@@ -369,6 +371,11 @@ information from C<%Config::Config> and the default module search
paths C<@INC>. The packlists are read using the
L<ExtUtils::Packlist> module.
+If the named parameter C<skip_cwd> is true, the current directory C<.> will
+be stripped from C<@INC> before searching for .packlists. This keeps
+ExtUtils::Installed from finding modules installed in other perls that
+happen to be located below the current directory.
+
If the named parameter C<config_override> is specified,
it should be a reference to a hash which contains all information
usually found in C<%Config::Config>. For example, you can obtain
@@ -376,7 +383,8 @@ the configuration information for a separate perl installation and
pass that in.
my $yoda_cfg = get_fake_config('yoda');
- my $yoda_inst = ExtUtils::Installed->new(config_override=>$yoda_cfg);
+ my $yoda_inst =
+ ExtUtils::Installed->new(config_override=>$yoda_cfg);
Similarly, the parameter C<inc_override> may be a reference to an
array which is used in place of the default module search paths
@@ -389,10 +397,11 @@ from C<@INC>.
B<Note>: You probably do not want to use these options alone, almost always
you will want to set both together.
-The parameter c<extra_libs> can be used to specify B<additional> paths to
+The parameter C<extra_libs> can be used to specify B<additional> paths to
search for installed modules. For instance
- my $installed = ExtUtils::Installed->new(extra_libs=>["/my/lib/path"]);
+ my $installed =
+ ExtUtils::Installed->new(extra_libs=>["/my/lib/path"]);
This should only be necessary if C</my/lib/path> is not in PERL5LIB.
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm
index 2184c4a6d7d..a2ef4268d1d 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist.pm
@@ -2,7 +2,7 @@ package ExtUtils::Liblist;
use strict;
-our $VERSION = '6.57_05';
+our $VERSION = '6.63_02';
use File::Spec;
require ExtUtils::Liblist::Kid;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm
index cf4826fe36f..eddcc72c749 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Liblist/Kid.pm
@@ -6,214 +6,241 @@ package ExtUtils::Liblist::Kid;
# $self is not a Makemaker.
use 5.006;
+
# Broken out of MakeMaker from version 4.11
use strict;
-our $VERSION = 6.57_05;
+use warnings;
+our $VERSION = '6.63_02';
-use Config;
+use ExtUtils::MakeMaker::Config;
use Cwd 'cwd';
use File::Basename;
use File::Spec;
sub ext {
- if ($^O eq 'VMS') { return &_vms_ext; }
- elsif($^O eq 'MSWin32') { return &_win32_ext; }
- else { return &_unix_os2_ext; }
+ if ( $^O eq 'VMS' ) { return &_vms_ext; }
+ elsif ( $^O eq 'MSWin32' ) { return &_win32_ext; }
+ else { return &_unix_os2_ext; }
}
sub _unix_os2_ext {
- my($self,$potential_libs, $verbose, $give_libs) = @_;
+ my ( $self, $potential_libs, $verbose, $give_libs ) = @_;
$verbose ||= 0;
- if ($^O =~ 'os2' and $Config{perllibs}) {
- # Dynamic libraries are not transitive, so we may need including
- # the libraries linked against perl.dll again.
+ if ( $^O =~ 'os2' and $Config{perllibs} ) {
+
+ # Dynamic libraries are not transitive, so we may need including
+ # the libraries linked against perl.dll again.
- $potential_libs .= " " if $potential_libs;
- $potential_libs .= $Config{perllibs};
+ $potential_libs .= " " if $potential_libs;
+ $potential_libs .= $Config{perllibs};
}
- return ("", "", "", "", ($give_libs ? [] : ())) unless $potential_libs;
+ return ( "", "", "", "", ( $give_libs ? [] : () ) ) unless $potential_libs;
warn "Potential libraries are '$potential_libs':\n" if $verbose;
- my($so) = $Config{so};
- my($libs) = defined $Config{perllibs} ? $Config{perllibs} : $Config{libs};
+ my ( $so ) = $Config{so};
+ my ( $libs ) = defined $Config{perllibs} ? $Config{perllibs} : $Config{libs};
my $Config_libext = $Config{lib_ext} || ".a";
my $Config_dlext = $Config{dlext};
-
# compute $extralibs, $bsloadlibs and $ldloadlibs from
# $potential_libs
# this is a rewrite of Andy Dougherty's extliblist in perl
- my(@searchpath); # from "-L/path" entries in $potential_libs
- my(@libpath) = split " ", $Config{'libpth'};
- my(@ldloadlibs, @bsloadlibs, @extralibs, @ld_run_path, %ld_run_path_seen);
- my(@libs, %libs_seen);
- my($fullname, @fullname);
- my($pwd) = cwd(); # from Cwd.pm
- my($found) = 0;
-
- foreach my $thislib (split ' ', $potential_libs) {
-
- # Handle possible linker path arguments.
- if ($thislib =~ s/^(-[LR]|-Wl,-R)//){ # save path flag type
- my($ptype) = $1;
- unless (-d $thislib){
- warn "$ptype$thislib ignored, directory does not exist\n"
- if $verbose;
- next;
- }
- my($rtype) = $ptype;
- if (($ptype eq '-R') or ($ptype eq '-Wl,-R')) {
- if ($Config{'lddlflags'} =~ /-Wl,-R/) {
- $rtype = '-Wl,-R';
- } elsif ($Config{'lddlflags'} =~ /-R/) {
- $rtype = '-R';
- }
- }
- unless (File::Spec->file_name_is_absolute($thislib)) {
- warn "Warning: $ptype$thislib changed to $ptype$pwd/$thislib\n";
- $thislib = $self->catdir($pwd,$thislib);
- }
- push(@searchpath, $thislib);
- push(@extralibs, "$ptype$thislib");
- push(@ldloadlibs, "$rtype$thislib");
- next;
- }
-
- # Handle possible library arguments.
- unless ($thislib =~ s/^-l//){
- warn "Unrecognized argument in LIBS ignored: '$thislib'\n";
- next;
- }
-
- my($found_lib)=0;
- foreach my $thispth (@searchpath, @libpath) {
-
- # Try to find the full name of the library. We need this to
- # determine whether it's a dynamically-loadable library or not.
- # This tends to be subject to various os-specific quirks.
- # For gcc-2.6.2 on linux (March 1995), DLD can not load
- # .sa libraries, with the exception of libm.sa, so we
- # deliberately skip them.
- if (@fullname =
- $self->lsdir($thispth,"^\Qlib$thislib.$so.\E[0-9]+")){
- # Take care that libfoo.so.10 wins against libfoo.so.9.
- # Compare two libraries to find the most recent version
- # number. E.g. if you have libfoo.so.9.0.7 and
- # libfoo.so.10.1, first convert all digits into two
- # decimal places. Then we'll add ".00" to the shorter
- # strings so that we're comparing strings of equal length
- # Thus we'll compare libfoo.so.09.07.00 with
- # libfoo.so.10.01.00. Some libraries might have letters
- # in the version. We don't know what they mean, but will
- # try to skip them gracefully -- we'll set any letter to
- # '0'. Finally, sort in reverse so we can take the
- # first element.
-
- #TODO: iterate through the directory instead of sorting
-
- $fullname = "$thispth/" .
- (sort { my($ma) = $a;
- my($mb) = $b;
- $ma =~ tr/A-Za-z/0/s;
- $ma =~ s/\b(\d)\b/0$1/g;
- $mb =~ tr/A-Za-z/0/s;
- $mb =~ s/\b(\d)\b/0$1/g;
- while (length($ma) < length($mb)) { $ma .= ".00"; }
- while (length($mb) < length($ma)) { $mb .= ".00"; }
- # Comparison deliberately backwards
- $mb cmp $ma;} @fullname)[0];
- } elsif (-f ($fullname="$thispth/lib$thislib.$so")
- && (($Config{'dlsrc'} ne "dl_dld.xs") || ($thislib eq "m"))){
- } elsif (-f ($fullname="$thispth/lib${thislib}_s$Config_libext")
- && ($Config{'archname'} !~ /RM\d\d\d-svr4/)
- && ($thislib .= "_s") ){ # we must explicitly use _s version
- } elsif (-f ($fullname="$thispth/lib$thislib$Config_libext")){
- } elsif (defined($Config_dlext)
- && -f ($fullname="$thispth/lib$thislib.$Config_dlext")){
- } elsif (-f ($fullname="$thispth/$thislib$Config_libext")){
- } elsif (-f ($fullname="$thispth/lib$thislib.dll$Config_libext")){
- } elsif (-f ($fullname="$thispth/Slib$thislib$Config_libext")){
- } elsif ($^O eq 'dgux'
- && -l ($fullname="$thispth/lib$thislib$Config_libext")
- && readlink($fullname) =~ /^elink:/s) {
- # Some of DG's libraries look like misconnected symbolic
- # links, but development tools can follow them. (They
- # look like this:
- #
- # libm.a -> elink:${SDE_PATH:-/usr}/sde/\
- # ${TARGET_BINARY_INTERFACE:-m88kdgux}/usr/lib/libm.a
- #
- # , the compilation tools expand the environment variables.)
- } else {
- warn "$thislib not found in $thispth\n" if $verbose;
- next;
- }
- warn "'-l$thislib' found at $fullname\n" if $verbose;
- push @libs, $fullname unless $libs_seen{$fullname}++;
- $found++;
- $found_lib++;
-
- # Now update library lists
-
- # what do we know about this library...
- my $is_dyna = ($fullname !~ /\Q$Config_libext\E\z/);
- my $in_perl = ($libs =~ /\B-l\Q${thislib}\E\b/s);
+ my ( @searchpath ); # from "-L/path" entries in $potential_libs
+ my ( @libpath ) = split " ", $Config{'libpth'};
+ my ( @ldloadlibs, @bsloadlibs, @extralibs, @ld_run_path, %ld_run_path_seen );
+ my ( @libs, %libs_seen );
+ my ( $fullname, @fullname );
+ my ( $pwd ) = cwd(); # from Cwd.pm
+ my ( $found ) = 0;
+
+ foreach my $thislib ( split ' ', $potential_libs ) {
+
+ # Handle possible linker path arguments.
+ if ( $thislib =~ s/^(-[LR]|-Wl,-R)// ) { # save path flag type
+ my ( $ptype ) = $1;
+ unless ( -d $thislib ) {
+ warn "$ptype$thislib ignored, directory does not exist\n"
+ if $verbose;
+ next;
+ }
+ my ( $rtype ) = $ptype;
+ if ( ( $ptype eq '-R' ) or ( $ptype eq '-Wl,-R' ) ) {
+ if ( $Config{'lddlflags'} =~ /-Wl,-R/ ) {
+ $rtype = '-Wl,-R';
+ }
+ elsif ( $Config{'lddlflags'} =~ /-R/ ) {
+ $rtype = '-R';
+ }
+ }
+ unless ( File::Spec->file_name_is_absolute( $thislib ) ) {
+ warn "Warning: $ptype$thislib changed to $ptype$pwd/$thislib\n";
+ $thislib = $self->catdir( $pwd, $thislib );
+ }
+ push( @searchpath, $thislib );
+ push( @extralibs, "$ptype$thislib" );
+ push( @ldloadlibs, "$rtype$thislib" );
+ next;
+ }
+
+ # Handle possible library arguments.
+ unless ( $thislib =~ s/^-l// ) {
+ warn "Unrecognized argument in LIBS ignored: '$thislib'\n";
+ next;
+ }
+
+ my ( $found_lib ) = 0;
+ foreach my $thispth ( @searchpath, @libpath ) {
+
+ # Try to find the full name of the library. We need this to
+ # determine whether it's a dynamically-loadable library or not.
+ # This tends to be subject to various os-specific quirks.
+ # For gcc-2.6.2 on linux (March 1995), DLD can not load
+ # .sa libraries, with the exception of libm.sa, so we
+ # deliberately skip them.
+ if ( @fullname = $self->lsdir( $thispth, "^\Qlib$thislib.$so.\E[0-9]+" ) ) {
+
+ # Take care that libfoo.so.10 wins against libfoo.so.9.
+ # Compare two libraries to find the most recent version
+ # number. E.g. if you have libfoo.so.9.0.7 and
+ # libfoo.so.10.1, first convert all digits into two
+ # decimal places. Then we'll add ".00" to the shorter
+ # strings so that we're comparing strings of equal length
+ # Thus we'll compare libfoo.so.09.07.00 with
+ # libfoo.so.10.01.00. Some libraries might have letters
+ # in the version. We don't know what they mean, but will
+ # try to skip them gracefully -- we'll set any letter to
+ # '0'. Finally, sort in reverse so we can take the
+ # first element.
+
+ #TODO: iterate through the directory instead of sorting
+
+ $fullname = "$thispth/" . (
+ sort {
+ my ( $ma ) = $a;
+ my ( $mb ) = $b;
+ $ma =~ tr/A-Za-z/0/s;
+ $ma =~ s/\b(\d)\b/0$1/g;
+ $mb =~ tr/A-Za-z/0/s;
+ $mb =~ s/\b(\d)\b/0$1/g;
+ while ( length( $ma ) < length( $mb ) ) { $ma .= ".00"; }
+ while ( length( $mb ) < length( $ma ) ) { $mb .= ".00"; }
+
+ # Comparison deliberately backwards
+ $mb cmp $ma;
+ } @fullname
+ )[0];
+ }
+ elsif ( -f ( $fullname = "$thispth/lib$thislib.$so" )
+ && ( ( $Config{'dlsrc'} ne "dl_dld.xs" ) || ( $thislib eq "m" ) ) )
+ {
+ }
+ elsif (-f ( $fullname = "$thispth/lib${thislib}_s$Config_libext" )
+ && ( $Config{'archname'} !~ /RM\d\d\d-svr4/ )
+ && ( $thislib .= "_s" ) )
+ { # we must explicitly use _s version
+ }
+ elsif ( -f ( $fullname = "$thispth/lib$thislib$Config_libext" ) ) {
+ }
+ elsif ( defined( $Config_dlext )
+ && -f ( $fullname = "$thispth/lib$thislib.$Config_dlext" ) )
+ {
+ }
+ elsif ( -f ( $fullname = "$thispth/$thislib$Config_libext" ) ) {
+ }
+ elsif ( -f ( $fullname = "$thispth/lib$thislib.dll$Config_libext" ) ) {
+ }
+ elsif ( -f ( $fullname = "$thispth/Slib$thislib$Config_libext" ) ) {
+ }
+ elsif ($^O eq 'dgux'
+ && -l ( $fullname = "$thispth/lib$thislib$Config_libext" )
+ && readlink( $fullname ) =~ /^elink:/s )
+ {
+
+ # Some of DG's libraries look like misconnected symbolic
+ # links, but development tools can follow them. (They
+ # look like this:
+ #
+ # libm.a -> elink:${SDE_PATH:-/usr}/sde/\
+ # ${TARGET_BINARY_INTERFACE:-m88kdgux}/usr/lib/libm.a
+ #
+ # , the compilation tools expand the environment variables.)
+ }
+ else {
+ warn "$thislib not found in $thispth\n" if $verbose;
+ next;
+ }
+ warn "'-l$thislib' found at $fullname\n" if $verbose;
+ push @libs, $fullname unless $libs_seen{$fullname}++;
+ $found++;
+ $found_lib++;
+
+ # Now update library lists
+
+ # what do we know about this library...
+ my $is_dyna = ( $fullname !~ /\Q$Config_libext\E\z/ );
+ my $in_perl = ( $libs =~ /\B-l\Q${thislib}\E\b/s );
# include the path to the lib once in the dynamic linker path
# but only if it is a dynamic lib and not in Perl itself
- my($fullnamedir) = dirname($fullname);
+ my ( $fullnamedir ) = dirname( $fullname );
push @ld_run_path, $fullnamedir
- if $is_dyna && !$in_perl &&
- !$ld_run_path_seen{$fullnamedir}++;
-
- # Do not add it into the list if it is already linked in
- # with the main perl executable.
- # We have to special-case the NeXT, because math and ndbm
- # are both in libsys_s
- unless ($in_perl ||
- ($Config{'osname'} eq 'next' &&
- ($thislib eq 'm' || $thislib eq 'ndbm')) ){
- push(@extralibs, "-l$thislib");
- }
-
- # We might be able to load this archive file dynamically
- if ( ($Config{'dlsrc'} =~ /dl_next/ && $Config{'osvers'} lt '4_0')
- || ($Config{'dlsrc'} =~ /dl_dld/) )
- {
- # We push -l$thislib instead of $fullname because
- # it avoids hardwiring a fixed path into the .bs file.
- # Mkbootstrap will automatically add dl_findfile() to
- # the .bs file if it sees a name in the -l format.
- # USE THIS, when dl_findfile() is fixed:
- # push(@bsloadlibs, "-l$thislib");
- # OLD USE WAS while checking results against old_extliblist
- push(@bsloadlibs, "$fullname");
- } else {
- if ($is_dyna){
+ if $is_dyna
+ && !$in_perl
+ && !$ld_run_path_seen{$fullnamedir}++;
+
+ # Do not add it into the list if it is already linked in
+ # with the main perl executable.
+ # We have to special-case the NeXT, because math and ndbm
+ # are both in libsys_s
+ unless (
+ $in_perl
+ || ( $Config{'osname'} eq 'next'
+ && ( $thislib eq 'm' || $thislib eq 'ndbm' ) )
+ )
+ {
+ push( @extralibs, "-l$thislib" );
+ }
+
+ # We might be able to load this archive file dynamically
+ if ( ( $Config{'dlsrc'} =~ /dl_next/ && $Config{'osvers'} lt '4_0' )
+ || ( $Config{'dlsrc'} =~ /dl_dld/ ) )
+ {
+
+ # We push -l$thislib instead of $fullname because
+ # it avoids hardwiring a fixed path into the .bs file.
+ # Mkbootstrap will automatically add dl_findfile() to
+ # the .bs file if it sees a name in the -l format.
+ # USE THIS, when dl_findfile() is fixed:
+ # push(@bsloadlibs, "-l$thislib");
+ # OLD USE WAS while checking results against old_extliblist
+ push( @bsloadlibs, "$fullname" );
+ }
+ else {
+ if ( $is_dyna ) {
+
# For SunOS4, do not add in this shared library if
# it is already linked in the main perl executable
- push(@ldloadlibs, "-l$thislib")
- unless ($in_perl and $^O eq 'sunos');
- } else {
- push(@ldloadlibs, "-l$thislib");
- }
- }
- last; # found one here so don't bother looking further
- }
- warn "Note (probably harmless): "
- ."No library found for -l$thislib\n"
- unless $found_lib>0;
+ push( @ldloadlibs, "-l$thislib" )
+ unless ( $in_perl and $^O eq 'sunos' );
+ }
+ else {
+ push( @ldloadlibs, "-l$thislib" );
+ }
+ }
+ last; # found one here so don't bother looking further
+ }
+ warn "Note (probably harmless): " . "No library found for -l$thislib\n"
+ unless $found_lib > 0;
}
- unless( $found ) {
- return ('','','','', ($give_libs ? \@libs : ()));
+ unless ( $found ) {
+ return ( '', '', '', '', ( $give_libs ? \@libs : () ) );
}
else {
- return ("@extralibs", "@bsloadlibs", "@ldloadlibs",
- join(":",@ld_run_path), ($give_libs ? \@libs : ()));
+ return ( "@extralibs", "@bsloadlibs", "@ldloadlibs", join( ":", @ld_run_path ), ( $give_libs ? \@libs : () ) );
}
}
@@ -221,329 +248,378 @@ sub _win32_ext {
require Text::ParseWords;
- my($self, $potential_libs, $verbose, $give_libs) = @_;
+ my ( $self, $potential_libs, $verbose, $give_libs ) = @_;
$verbose ||= 0;
# If user did not supply a list, we punt.
# (caller should probably use the list in $Config{libs})
- return ("", "", "", "", ($give_libs ? [] : ())) unless $potential_libs;
-
- my $cc = $Config{cc};
- my $VC = $cc =~ /^cl/i;
- my $BC = $cc =~ /^bcc/i;
- my $GC = $cc =~ /^gcc/i;
- my $so = $Config{'so'};
- my $libs = $Config{'perllibs'};
- my $libpth = $Config{'libpth'};
- my $libext = $Config{'lib_ext'} || ".lib";
- my(@libs, %libs_seen);
-
- if ($libs and $potential_libs !~ /:nodefault/i) {
- # If Config.pm defines a set of default libs, we always
- # tack them on to the user-supplied list, unless the user
- # specified :nodefault
-
- $potential_libs .= " " if $potential_libs;
- $potential_libs .= $libs;
- }
- warn "Potential libraries are '$potential_libs':\n" if $verbose;
+ return ( "", "", "", "", ( $give_libs ? [] : () ) ) unless $potential_libs;
- # normalize to forward slashes
- $libpth =~ s,\\,/,g;
- $potential_libs =~ s,\\,/,g;
+ # TODO: make this use MM_Win32.pm's compiler detection
+ my %libs_seen;
+ my @extralibs;
+ my $cc = $Config{cc} || '';
+ my $VC = $cc =~ /\bcl\b/i;
+ my $GC = $cc =~ /\bgcc\b/i;
- # compute $extralibs from $potential_libs
+ my $libext = _win32_lib_extensions();
+ my @searchpath = ( '' ); # from "-L/path" entries in $potential_libs
+ my @libpath = _win32_default_search_paths( $VC, $GC );
+ my $pwd = cwd(); # from Cwd.pm
+ my $search = 1;
- my @searchpath; # from "-L/path" in $potential_libs
- my @libpath = Text::ParseWords::quotewords('\s+', 0, $libpth);
- my @extralibs;
- my $pwd = cwd(); # from Cwd.pm
- my $lib = '';
- my $found = 0;
- my $search = 1;
- my($fullname);
+ # compute @extralibs from $potential_libs
+ my @lib_search_list = _win32_make_lib_search_list( $potential_libs, $verbose );
+ for ( @lib_search_list ) {
- # add "$Config{installarchlib}/CORE" to default search path
- push @libpath, "$Config{installarchlib}/CORE";
+ my $thislib = $_;
- if ($VC and exists $ENV{LIB} and $ENV{LIB}) {
- push @libpath, split /;/, $ENV{LIB};
- }
+ # see if entry is a flag
+ if ( /^:\w+$/ ) {
+ $search = 0 if lc eq ':nosearch';
+ $search = 1 if lc eq ':search';
+ _debug( "Ignoring unknown flag '$thislib'\n", $verbose ) if !/^:(no)?(search|default)$/i;
+ next;
+ }
+
+ # if searching is disabled, do compiler-specific translations
+ unless ( $search ) {
+ s/^-l(.+)$/$1.lib/ unless $GC;
+ s/^-L/-libpath:/ if $VC;
+ push( @extralibs, $_ );
+ next;
+ }
- foreach (Text::ParseWords::quotewords('\s+', 0, $potential_libs)){
+ # handle possible linker path arguments
+ if ( s/^-L// and not -d ) {
+ _debug( "$thislib ignored, directory does not exist\n", $verbose );
+ next;
+ }
+ elsif ( -d ) {
+ unless ( File::Spec->file_name_is_absolute( $_ ) ) {
+ warn "Warning: '$thislib' changed to '-L$pwd/$_'\n";
+ $_ = $self->catdir( $pwd, $_ );
+ }
+ push( @searchpath, $_ );
+ next;
+ }
- my $thislib = $_;
+ my @paths = ( @searchpath, @libpath );
+ my ( $fullname, $path ) = _win32_search_file( $thislib, $libext, \@paths, $verbose, $GC );
- # see if entry is a flag
- if (/^:\w+$/) {
- $search = 0 if lc eq ':nosearch';
- $search = 1 if lc eq ':search';
- warn "Ignoring unknown flag '$thislib'\n"
- if $verbose and !/^:(no)?(search|default)$/i;
- next;
- }
-
- # if searching is disabled, do compiler-specific translations
- unless ($search) {
- s/^-l(.+)$/$1.lib/ unless $GC;
- s/^-L/-libpath:/ if $VC;
- push(@extralibs, $_);
- $found++;
- next;
- }
-
- # handle possible linker path arguments
- if (s/^-L// and not -d) {
- warn "$thislib ignored, directory does not exist\n"
- if $verbose;
- next;
- }
- elsif (-d) {
- unless (File::Spec->file_name_is_absolute($_)) {
- warn "Warning: '$thislib' changed to '-L$pwd/$_'\n";
- $_ = $self->catdir($pwd,$_);
- }
- push(@searchpath, $_);
- next;
- }
-
- # handle possible library arguments
- if (s/^-l// and $GC and !/^lib/i) {
- $_ = "lib$_";
- }
- $_ .= $libext if !/\Q$libext\E$/i;
-
- my $secondpass = 0;
- LOOKAGAIN:
-
- # look for the file itself
- if (-f) {
- warn "'$thislib' found as '$_'\n" if $verbose;
- $found++;
- push(@extralibs, $_);
- next;
- }
-
- my $found_lib = 0;
- foreach my $thispth (@searchpath, @libpath){
- unless (-f ($fullname="$thispth\\$_")) {
- warn "'$thislib' not found as '$fullname'\n" if $verbose;
- next;
- }
- warn "'$thislib' found as '$fullname'\n" if $verbose;
- $found++;
- $found_lib++;
- push(@extralibs, $fullname);
- push @libs, $fullname unless $libs_seen{$fullname}++;
- last;
- }
-
- # do another pass with (or without) leading 'lib' if they used -l
- if (!$found_lib and $thislib =~ /^-l/ and !$secondpass++) {
- if ($GC) {
- goto LOOKAGAIN if s/^lib//i;
- }
- elsif (!/^lib/i) {
- $_ = "lib$_";
- goto LOOKAGAIN;
- }
- }
-
- # give up
- warn "Note (probably harmless): "
- ."No library found for $thislib\n"
- unless $found_lib>0;
+ if ( !$fullname ) {
+ warn "Note (probably harmless): No library found for $thislib\n";
+ next;
+ }
+ _debug( "'$thislib' found as '$fullname'\n", $verbose );
+ push( @extralibs, $fullname );
+ $libs_seen{$fullname} = 1 if $path; # why is this a special case?
}
- return ('','','','', ($give_libs ? \@libs : ())) unless $found;
+ my @libs = keys %libs_seen;
+
+ return ( '', '', '', '', ( $give_libs ? \@libs : () ) ) unless @extralibs;
# make sure paths with spaces are properly quoted
- @extralibs = map { (/\s/ && !/^".*"$/) ? qq["$_"] : $_ } @extralibs;
- @libs = map { (/\s/ && !/^".*"$/) ? qq["$_"] : $_ } @libs;
- $lib = join(' ',@extralibs);
+ @extralibs = map { /\s/ ? qq["$_"] : $_ } @extralibs;
+ @libs = map { /\s/ ? qq["$_"] : $_ } @libs;
+
+ my $lib = join( ' ', @extralibs );
# normalize back to backward slashes (to help braindead tools)
# XXX this may break equally braindead GNU tools that don't understand
# backslashes, either. Seems like one can't win here. Cursed be CP/M.
$lib =~ s,/,\\,g;
- warn "Result: $lib\n" if $verbose;
- wantarray ? ($lib, '', $lib, '', ($give_libs ? \@libs : ())) : $lib;
+ _debug( "Result: $lib\n", $verbose );
+ wantarray ? ( $lib, '', $lib, '', ( $give_libs ? \@libs : () ) ) : $lib;
}
+sub _win32_make_lib_search_list {
+ my ( $potential_libs, $verbose ) = @_;
-sub _vms_ext {
- my($self, $potential_libs, $verbose, $give_libs) = @_;
- $verbose ||= 0;
-
- my(@crtls,$crtlstr);
- @crtls = ( ($Config{'ldflags'} =~ m-/Debug-i ? $Config{'dbgprefix'} : '')
- . 'PerlShr/Share' );
- push(@crtls, grep { not /\(/ } split /\s+/, $Config{'perllibs'});
- push(@crtls, grep { not /\(/ } split /\s+/, $Config{'libc'});
- # In general, we pass through the basic libraries from %Config unchanged.
- # The one exception is that if we're building in the Perl source tree, and
- # a library spec could be resolved via a logical name, we go to some trouble
- # to insure that the copy in the local tree is used, rather than one to
- # which a system-wide logical may point.
- if ($self->{PERL_SRC}) {
- my($locspec,$type);
- foreach my $lib (@crtls) {
- if (($locspec,$type) = $lib =~ m{^([\w\$-]+)(/\w+)?} and $locspec =~ /perl/i) {
- if (lc $type eq '/share') { $locspec .= $Config{'exe_ext'}; }
- elsif (lc $type eq '/library') { $locspec .= $Config{'lib_ext'}; }
- else { $locspec .= $Config{'obj_ext'}; }
- $locspec = $self->catfile($self->{PERL_SRC},$locspec);
- $lib = "$locspec$type" if -e $locspec;
- }
- }
- }
- $crtlstr = @crtls ? join(' ',@crtls) : '';
-
- unless ($potential_libs) {
- warn "Result:\n\tEXTRALIBS: \n\tLDLOADLIBS: $crtlstr\n" if $verbose;
- return ('', '', $crtlstr, '', ($give_libs ? [] : ()));
- }
-
- my(%found,@fndlibs,$ldlib);
- my $cwd = cwd();
- my($so,$lib_ext,$obj_ext) = @Config{'so','lib_ext','obj_ext'};
- # List of common Unix library names and their VMS equivalents
- # (VMS equivalent of '' indicates that the library is automatically
- # searched by the linker, and should be skipped here.)
- my(@flibs, %libs_seen);
- my %libmap = ( 'm' => '', 'f77' => '', 'F77' => '', 'V77' => '', 'c' => '',
- 'malloc' => '', 'crypt' => '', 'resolv' => '', 'c_s' => '',
- 'socket' => '', 'X11' => 'DECW$XLIBSHR',
- 'Xt' => 'DECW$XTSHR', 'Xm' => 'DECW$XMLIBSHR',
- 'Xmu' => 'DECW$XMULIBSHR');
- if ($Config{'vms_cc_type'} ne 'decc') { $libmap{'curses'} = 'VAXCCURSE'; }
-
- warn "Potential libraries are '$potential_libs'\n" if $verbose;
-
- # First, sort out directories and library names in the input
- my(@dirs, @libs);
- foreach my $lib (split ' ',$potential_libs) {
- push(@dirs,$1), next if $lib =~ /^-L(.*)/;
- push(@dirs,$lib), next if $lib =~ /[:>\]]$/;
- push(@dirs,$lib), next if -d $lib;
- push(@libs,$1), next if $lib =~ /^-l(.*)/;
- push(@libs,$lib);
- }
- push(@dirs,split(' ',$Config{'libpth'}));
-
- # Now make sure we've got VMS-syntax absolute directory specs
- # (We don't, however, check whether someone's hidden a relative
- # path in a logical name.)
- foreach my $dir (@dirs) {
- unless (-d $dir) {
- warn "Skipping nonexistent Directory $dir\n" if $verbose > 1;
- $dir = '';
- next;
- }
- warn "Resolving directory $dir\n" if $verbose;
- if (File::Spec->file_name_is_absolute($dir)) {
- $dir = $self->fixpath($dir,1);
- }
- else {
- $dir = $self->catdir($cwd,$dir);
+ # If Config.pm defines a set of default libs, we always
+ # tack them on to the user-supplied list, unless the user
+ # specified :nodefault
+ my $libs = $Config{'perllibs'};
+ $potential_libs = join( ' ', $potential_libs, $libs ) if $libs and $potential_libs !~ /:nodefault/i;
+ _debug( "Potential libraries are '$potential_libs':\n", $verbose );
+
+ $potential_libs =~ s,\\,/,g; # normalize to forward slashes
+
+ my @list = Text::ParseWords::quotewords( '\s+', 0, $potential_libs );
+
+ return @list;
+}
+
+sub _win32_default_search_paths {
+ my ( $VC, $GC ) = @_;
+
+ my $libpth = $Config{'libpth'} || '';
+ $libpth =~ s,\\,/,g; # normalize to forward slashes
+
+ my @libpath = Text::ParseWords::quotewords( '\s+', 0, $libpth );
+ push @libpath, "$Config{installarchlib}/CORE"; # add "$Config{installarchlib}/CORE" to default search path
+
+ push @libpath, split /;/, $ENV{LIB} if $VC and $ENV{LIB};
+ push @libpath, split /;/, $ENV{LIBRARY_PATH} if $GC and $ENV{LIBRARY_PATH};
+
+ return @libpath;
+}
+
+sub _win32_search_file {
+ my ( $thislib, $libext, $paths, $verbose, $GC ) = @_;
+
+ my @file_list = _win32_build_file_list( $thislib, $GC, $libext );
+
+ for my $lib_file ( @file_list ) {
+ for my $path ( @{$paths} ) {
+ my $fullname = $lib_file;
+ $fullname = "$path\\$fullname" if $path;
+
+ return ( $fullname, $path ) if -f $fullname;
+
+ _debug( "'$thislib' not found as '$fullname'\n", $verbose );
+ }
}
- }
- @dirs = grep { length($_) } @dirs;
- unshift(@dirs,''); # Check each $lib without additions first
-
- LIB: foreach my $lib (@libs) {
- if (exists $libmap{$lib}) {
- next unless length $libmap{$lib};
- $lib = $libmap{$lib};
+
+ return;
+}
+
+sub _win32_build_file_list {
+ my ( $lib, $GC, $extensions ) = @_;
+
+ my @pre_fixed = _win32_build_prefixed_list( $lib, $GC );
+ return map _win32_attach_extensions( $_, $extensions ), @pre_fixed;
+}
+
+sub _win32_build_prefixed_list {
+ my ( $lib, $GC ) = @_;
+
+ return $lib if $lib !~ s/^-l//;
+ return $lib if $lib =~ /^lib/ and !$GC;
+
+ ( my $no_prefix = $lib ) =~ s/^lib//i;
+ $lib = "lib$lib" if $no_prefix eq $lib;
+
+ return ( $lib, $no_prefix ) if $GC;
+ return ( $no_prefix, $lib );
+}
+
+sub _win32_attach_extensions {
+ my ( $lib, $extensions ) = @_;
+ return map _win32_try_attach_extension( $lib, $_ ), @{$extensions};
+}
+
+sub _win32_try_attach_extension {
+ my ( $lib, $extension ) = @_;
+
+ return $lib if $lib =~ /\Q$extension\E$/i;
+ return "$lib$extension";
+}
+
+sub _win32_lib_extensions {
+ my %extensions;
+ $extensions{ $Config{'lib_ext'} } = 1 if $Config{'lib_ext'};
+ $extensions{".lib"} = 1;
+ return [ keys %extensions ];
+}
+
+sub _debug {
+ my ( $message, $verbose ) = @_;
+ return if !$verbose;
+ warn $message;
+ return;
+}
+
+sub _vms_ext {
+ my ( $self, $potential_libs, $verbose, $give_libs ) = @_;
+ $verbose ||= 0;
+
+ my ( @crtls, $crtlstr );
+ @crtls = ( ( $Config{'ldflags'} =~ m-/Debug-i ? $Config{'dbgprefix'} : '' ) . 'PerlShr/Share' );
+ push( @crtls, grep { not /\(/ } split /\s+/, $Config{'perllibs'} );
+ push( @crtls, grep { not /\(/ } split /\s+/, $Config{'libc'} );
+
+ # In general, we pass through the basic libraries from %Config unchanged.
+ # The one exception is that if we're building in the Perl source tree, and
+ # a library spec could be resolved via a logical name, we go to some trouble
+ # to insure that the copy in the local tree is used, rather than one to
+ # which a system-wide logical may point.
+ if ( $self->{PERL_SRC} ) {
+ my ( $locspec, $type );
+ foreach my $lib ( @crtls ) {
+ if ( ( $locspec, $type ) = $lib =~ m{^([\w\$-]+)(/\w+)?} and $locspec =~ /perl/i ) {
+ if ( lc $type eq '/share' ) { $locspec .= $Config{'exe_ext'}; }
+ elsif ( lc $type eq '/library' ) { $locspec .= $Config{'lib_ext'}; }
+ else { $locspec .= $Config{'obj_ext'}; }
+ $locspec = $self->catfile( $self->{PERL_SRC}, $locspec );
+ $lib = "$locspec$type" if -e $locspec;
+ }
+ }
}
+ $crtlstr = @crtls ? join( ' ', @crtls ) : '';
- my(@variants,$cand);
- my($ctype) = '';
+ unless ( $potential_libs ) {
+ warn "Result:\n\tEXTRALIBS: \n\tLDLOADLIBS: $crtlstr\n" if $verbose;
+ return ( '', '', $crtlstr, '', ( $give_libs ? [] : () ) );
+ }
- # If we don't have a file type, consider it a possibly abbreviated name and
- # check for common variants. We try these first to grab libraries before
- # a like-named executable image (e.g. -lperl resolves to perlshr.exe
- # before perl.exe).
- if ($lib !~ /\.[^:>\]]*$/) {
- push(@variants,"${lib}shr","${lib}rtl","${lib}lib");
- push(@variants,"lib$lib") if $lib !~ /[:>\]]/;
+ my ( %found, @fndlibs, $ldlib );
+ my $cwd = cwd();
+ my ( $so, $lib_ext, $obj_ext ) = @Config{ 'so', 'lib_ext', 'obj_ext' };
+
+ # List of common Unix library names and their VMS equivalents
+ # (VMS equivalent of '' indicates that the library is automatically
+ # searched by the linker, and should be skipped here.)
+ my ( @flibs, %libs_seen );
+ my %libmap = (
+ 'm' => '',
+ 'f77' => '',
+ 'F77' => '',
+ 'V77' => '',
+ 'c' => '',
+ 'malloc' => '',
+ 'crypt' => '',
+ 'resolv' => '',
+ 'c_s' => '',
+ 'socket' => '',
+ 'X11' => 'DECW$XLIBSHR',
+ 'Xt' => 'DECW$XTSHR',
+ 'Xm' => 'DECW$XMLIBSHR',
+ 'Xmu' => 'DECW$XMULIBSHR'
+ );
+ if ( $Config{'vms_cc_type'} ne 'decc' ) { $libmap{'curses'} = 'VAXCCURSE'; }
+
+ warn "Potential libraries are '$potential_libs'\n" if $verbose;
+
+ # First, sort out directories and library names in the input
+ my ( @dirs, @libs );
+ foreach my $lib ( split ' ', $potential_libs ) {
+ push( @dirs, $1 ), next if $lib =~ /^-L(.*)/;
+ push( @dirs, $lib ), next if $lib =~ /[:>\]]$/;
+ push( @dirs, $lib ), next if -d $lib;
+ push( @libs, $1 ), next if $lib =~ /^-l(.*)/;
+ push( @libs, $lib );
}
- push(@variants,$lib);
- warn "Looking for $lib\n" if $verbose;
- foreach my $variant (@variants) {
- my($fullname, $name);
-
- foreach my $dir (@dirs) {
- my($type);
-
- $name = "$dir$variant";
- warn "\tChecking $name\n" if $verbose > 2;
- $fullname = VMS::Filespec::rmsexpand($name);
- if (defined $fullname and -f $fullname) {
- # It's got its own suffix, so we'll have to figure out the type
- if ($fullname =~ /(?:$so|exe)$/i) { $type = 'SHR'; }
- elsif ($fullname =~ /(?:$lib_ext|olb)$/i) { $type = 'OLB'; }
- elsif ($fullname =~ /(?:$obj_ext|obj)$/i) {
- warn "Note (probably harmless): "
- ."Plain object file $fullname found in library list\n";
- $type = 'OBJ';
- }
- else {
- warn "Note (probably harmless): "
- ."Unknown library type for $fullname; assuming shared\n";
- $type = 'SHR';
- }
+ push( @dirs, split( ' ', $Config{'libpth'} ) );
+
+ # Now make sure we've got VMS-syntax absolute directory specs
+ # (We don't, however, check whether someone's hidden a relative
+ # path in a logical name.)
+ foreach my $dir ( @dirs ) {
+ unless ( -d $dir ) {
+ warn "Skipping nonexistent Directory $dir\n" if $verbose > 1;
+ $dir = '';
+ next;
}
- elsif (-f ($fullname = VMS::Filespec::rmsexpand($name,$so)) or
- -f ($fullname = VMS::Filespec::rmsexpand($name,'.exe'))) {
- $type = 'SHR';
- $name = $fullname unless $fullname =~ /exe;?\d*$/i;
+ warn "Resolving directory $dir\n" if $verbose;
+ if ( File::Spec->file_name_is_absolute( $dir ) ) {
+ $dir = $self->fixpath( $dir, 1 );
}
- elsif (not length($ctype) and # If we've got a lib already,
- # don't bother
- ( -f ($fullname = VMS::Filespec::rmsexpand($name,$lib_ext)) or
- -f ($fullname = VMS::Filespec::rmsexpand($name,'.olb')))) {
- $type = 'OLB';
- $name = $fullname unless $fullname =~ /olb;?\d*$/i;
+ else {
+ $dir = $self->catdir( $cwd, $dir );
}
- elsif (not length($ctype) and # If we've got a lib already,
- # don't bother
- ( -f ($fullname = VMS::Filespec::rmsexpand($name,$obj_ext)) or
- -f ($fullname = VMS::Filespec::rmsexpand($name,'.obj')))) {
- warn "Note (probably harmless): "
- ."Plain object file $fullname found in library list\n";
- $type = 'OBJ';
- $name = $fullname unless $fullname =~ /obj;?\d*$/i;
+ }
+ @dirs = grep { length( $_ ) } @dirs;
+ unshift( @dirs, '' ); # Check each $lib without additions first
+
+ LIB: foreach my $lib ( @libs ) {
+ if ( exists $libmap{$lib} ) {
+ next unless length $libmap{$lib};
+ $lib = $libmap{$lib};
}
- if (defined $type) {
- $ctype = $type; $cand = $name;
- last if $ctype eq 'SHR';
+
+ my ( @variants, $cand );
+ my ( $ctype ) = '';
+
+ # If we don't have a file type, consider it a possibly abbreviated name and
+ # check for common variants. We try these first to grab libraries before
+ # a like-named executable image (e.g. -lperl resolves to perlshr.exe
+ # before perl.exe).
+ if ( $lib !~ /\.[^:>\]]*$/ ) {
+ push( @variants, "${lib}shr", "${lib}rtl", "${lib}lib" );
+ push( @variants, "lib$lib" ) if $lib !~ /[:>\]]/;
+ }
+ push( @variants, $lib );
+ warn "Looking for $lib\n" if $verbose;
+ foreach my $variant ( @variants ) {
+ my ( $fullname, $name );
+
+ foreach my $dir ( @dirs ) {
+ my ( $type );
+
+ $name = "$dir$variant";
+ warn "\tChecking $name\n" if $verbose > 2;
+ $fullname = VMS::Filespec::rmsexpand( $name );
+ if ( defined $fullname and -f $fullname ) {
+
+ # It's got its own suffix, so we'll have to figure out the type
+ if ( $fullname =~ /(?:$so|exe)$/i ) { $type = 'SHR'; }
+ elsif ( $fullname =~ /(?:$lib_ext|olb)$/i ) { $type = 'OLB'; }
+ elsif ( $fullname =~ /(?:$obj_ext|obj)$/i ) {
+ warn "Note (probably harmless): " . "Plain object file $fullname found in library list\n";
+ $type = 'OBJ';
+ }
+ else {
+ warn "Note (probably harmless): " . "Unknown library type for $fullname; assuming shared\n";
+ $type = 'SHR';
+ }
+ }
+ elsif (-f ( $fullname = VMS::Filespec::rmsexpand( $name, $so ) )
+ or -f ( $fullname = VMS::Filespec::rmsexpand( $name, '.exe' ) ) )
+ {
+ $type = 'SHR';
+ $name = $fullname unless $fullname =~ /exe;?\d*$/i;
+ }
+ elsif (
+ not length( $ctype ) and # If we've got a lib already,
+ # don't bother
+ ( -f ( $fullname = VMS::Filespec::rmsexpand( $name, $lib_ext ) ) or -f ( $fullname = VMS::Filespec::rmsexpand( $name, '.olb' ) ) )
+ )
+ {
+ $type = 'OLB';
+ $name = $fullname unless $fullname =~ /olb;?\d*$/i;
+ }
+ elsif (
+ not length( $ctype ) and # If we've got a lib already,
+ # don't bother
+ ( -f ( $fullname = VMS::Filespec::rmsexpand( $name, $obj_ext ) ) or -f ( $fullname = VMS::Filespec::rmsexpand( $name, '.obj' ) ) )
+ )
+ {
+ warn "Note (probably harmless): " . "Plain object file $fullname found in library list\n";
+ $type = 'OBJ';
+ $name = $fullname unless $fullname =~ /obj;?\d*$/i;
+ }
+ if ( defined $type ) {
+ $ctype = $type;
+ $cand = $name;
+ last if $ctype eq 'SHR';
+ }
+ }
+ if ( $ctype ) {
+
+ # This has to precede any other CRTLs, so just make it first
+ if ( $cand eq 'VAXCCURSE' ) { unshift @{ $found{$ctype} }, $cand; }
+ else { push @{ $found{$ctype} }, $cand; }
+ warn "\tFound as $cand (really $fullname), type $ctype\n"
+ if $verbose > 1;
+ push @flibs, $name unless $libs_seen{$fullname}++;
+ next LIB;
+ }
}
- }
- if ($ctype) {
- # This has to precede any other CRTLs, so just make it first
- if ($cand eq 'VAXCCURSE') { unshift @{$found{$ctype}}, $cand; }
- else { push @{$found{$ctype}}, $cand; }
- warn "\tFound as $cand (really $fullname), type $ctype\n"
- if $verbose > 1;
- push @flibs, $name unless $libs_seen{$fullname}++;
- next LIB;
- }
+ warn "Note (probably harmless): " . "No library found for $lib\n";
}
- warn "Note (probably harmless): "
- ."No library found for $lib\n";
- }
-
- push @fndlibs, @{$found{OBJ}} if exists $found{OBJ};
- push @fndlibs, map { "$_/Library" } @{$found{OLB}} if exists $found{OLB};
- push @fndlibs, map { "$_/Share" } @{$found{SHR}} if exists $found{SHR};
- my $lib = join(' ',@fndlibs);
-
- $ldlib = $crtlstr ? "$lib $crtlstr" : $lib;
- warn "Result:\n\tEXTRALIBS: $lib\n\tLDLOADLIBS: $ldlib\n" if $verbose;
- wantarray ? ($lib, '', $ldlib, '', ($give_libs ? \@flibs : ())) : $lib;
+
+ push @fndlibs, @{ $found{OBJ} } if exists $found{OBJ};
+ push @fndlibs, map { "$_/Library" } @{ $found{OLB} } if exists $found{OLB};
+ push @fndlibs, map { "$_/Share" } @{ $found{SHR} } if exists $found{SHR};
+ my $lib = join( ' ', @fndlibs );
+
+ $ldlib = $crtlstr ? "$lib $crtlstr" : $lib;
+ warn "Result:\n\tEXTRALIBS: $lib\n\tLDLOADLIBS: $ldlib\n" if $verbose;
+ wantarray ? ( $lib, '', $ldlib, '', ( $give_libs ? \@flibs : () ) ) : $lib;
}
1;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm
index 945f24513b7..418eb190dd1 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM.pm
@@ -3,7 +3,7 @@ package ExtUtils::MM;
use strict;
use ExtUtils::MakeMaker::Config;
-our $VERSION = '6.57_05';
+our $VERSION = '6.63_02';
require ExtUtils::Liblist;
require ExtUtils::MakeMaker;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm
index 021238523e1..0b0547ff521 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_AIX.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_AIX;
use strict;
-our $VERSION = '6.57_05';
+our $VERSION = '6.63_02';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm
index a38f2740f7f..fd856129af3 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Any.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_Any;
use strict;
-our $VERSION = '6.57_05';
+our $VERSION = '6.63_02';
use Carp;
use File::Spec;
@@ -206,25 +206,40 @@ sub _expand_macros {
my @commands = $MM->echo($text);
my @commands = $MM->echo($text, $file);
- my @commands = $MM->echo($text, $file, $appending);
+ my @commands = $MM->echo($text, $file, \%opts);
Generates a set of @commands which print the $text to a $file.
If $file is not given, output goes to STDOUT.
-If $appending is true the $file will be appended to rather than
-overwritten.
+If $opts{append} is true the $file will be appended to rather than
+overwritten. Default is to overwrite.
+
+If $opts{allow_variables} is true, make variables of the form
+C<$(...)> will not be escaped. Other C<$> will. Default is to escape
+all C<$>.
+
+Example of use:
+
+ my $make = map "\t$_\n", $MM->echo($text, $file);
=cut
sub echo {
- my($self, $text, $file, $appending) = @_;
- $appending ||= 0;
+ my($self, $text, $file, $opts) = @_;
- my @cmds = map { '$(NOECHO) $(ECHO) '.$self->quote_literal($_) }
+ # Compatibility with old options
+ if( !ref $opts ) {
+ my $append = $opts;
+ $opts = { append => $append || 0 };
+ }
+ $opts->{allow_variables} = 0 unless defined $opts->{allow_variables};
+
+ my $ql_opts = { allow_variables => $opts->{allow_variables} };
+ my @cmds = map { '$(NOECHO) $(ECHO) '.$self->quote_literal($_, $ql_opts) }
split /\n/, $text;
if( $file ) {
- my $redirect = $appending ? '>>' : '>';
+ my $redirect = $opts->{append} ? '>>' : '>';
$cmds[0] .= " $redirect $file";
$_ .= " >> $file" foreach @cmds[1..$#cmds];
}
@@ -334,12 +349,54 @@ to include more flexible code and switches.
=head3 quote_literal I<Abstract>
my $safe_text = $MM->quote_literal($text);
+ my $safe_text = $MM->quote_literal($text, \%options);
This will quote $text so it is interpreted literally in the shell.
For example, on Unix this would escape any single-quotes in $text and
put single-quotes around the whole thing.
+If $options{allow_variables} is true it will leave C<'$(FOO)'> make
+variables untouched. If false they will be escaped like any other
+C<$>. Defaults to true.
+
+=head3 escape_dollarsigns
+
+ my $escaped_text = $MM->escape_dollarsigns($text);
+
+Escapes stray C<$> so they are not interpreted as make variables.
+
+It lets by C<$(...)>.
+
+=cut
+
+sub escape_dollarsigns {
+ my($self, $text) = @_;
+
+ # Escape dollar signs which are not starting a variable
+ $text =~ s{\$ (?!\() }{\$\$}gx;
+
+ return $text;
+}
+
+
+=head3 escape_all_dollarsigns
+
+ my $escaped_text = $MM->escape_all_dollarsigns($text);
+
+Escapes all C<$> so they are not interpreted as make variables.
+
+=cut
+
+sub escape_all_dollarsigns {
+ my($self, $text) = @_;
+
+ # Escape dollar signs
+ $text =~ s{\$}{\$\$}gx;
+
+ return $text;
+}
+
=head3 escape_newlines I<Abstract>
@@ -486,8 +543,8 @@ clean :: clean_subdirs
split /\s+/, $attribs{FILES} ;
}
- push(@files, qw[$(MAKE_APERL_FILE)
- MYMETA.yml perlmain.c tmon.out mon.out so_locations
+ push(@files, qw[$(MAKE_APERL_FILE)
+ MYMETA.json MYMETA.yml perlmain.c tmon.out mon.out so_locations
blibdirs.ts pm_to_blib pm_to_blib.ts
*$(OBJ_EXT) *$(LIB_EXT) perl.exe perl perl$(EXE_EXT)
$(BOOTSTRAP) $(BASEEXT).bso
@@ -728,6 +785,13 @@ CMD
return $manify;
}
+sub _has_cpan_meta {
+ return eval {
+ require CPAN::Meta;
+ CPAN::Meta->VERSION(2.112150);
+ 1;
+ };
+}
=head3 metafile_target
@@ -743,28 +807,111 @@ possible.
sub metafile_target {
my $self = shift;
-
- return <<'MAKE_FRAG' if $self->{NO_META};
+ return <<'MAKE_FRAG' if $self->{NO_META} or ! _has_cpan_meta();
metafile :
$(NOECHO) $(NOOP)
MAKE_FRAG
- my @metadata = $self->metafile_data(
+ my %metadata = $self->metafile_data(
$self->{META_ADD} || {},
$self->{META_MERGE} || {},
);
- my $meta = $self->metafile_file(@metadata);
- my @write_meta = $self->echo($meta, 'META_new.yml');
+
+ _fix_metadata_before_conversion( \%metadata );
+
+ # paper over validation issues, but still complain, necessary because
+ # there's no guarantee that the above will fix ALL errors
+ my $meta = eval { CPAN::Meta->create( \%metadata, { lazy_validation => 1 } ) };
+ warn $@ if $@ and
+ $@ !~ /encountered CODE.*, but JSON can only represent references to arrays or hashes/;
+
+ # use the original metadata straight if the conversion failed
+ # or if it can't be stringified.
+ if( !$meta ||
+ !eval { $meta->as_string( { version => "1.4" } ) } ||
+ !eval { $meta->as_string }
+ )
+ {
+ $meta = bless \%metadata, 'CPAN::Meta';
+ }
- return sprintf <<'MAKE_FRAG', join("\n\t", @write_meta);
+ my @write_metayml = $self->echo(
+ $meta->as_string({version => "1.4"}), 'META_new.yml'
+ );
+ my @write_metajson = $self->echo(
+ $meta->as_string(), 'META_new.json'
+ );
+
+ my $metayml = join("\n\t", @write_metayml);
+ my $metajson = join("\n\t", @write_metajson);
+ return sprintf <<'MAKE_FRAG', $metayml, $metajson;
metafile : create_distdir
$(NOECHO) $(ECHO) Generating META.yml
%s
-$(NOECHO) $(MV) META_new.yml $(DISTVNAME)/META.yml
+ $(NOECHO) $(ECHO) Generating META.json
+ %s
+ -$(NOECHO) $(MV) META_new.json $(DISTVNAME)/META.json
MAKE_FRAG
}
+=begin private
+
+=head3 _fix_metadata_before_conversion
+
+ _fix_metadata_before_conversion( \%metadata );
+
+Fixes errors in the metadata before it's handed off to CPAN::Meta for
+conversion. This hopefully results in something that can be used further
+on, no guarantee is made though.
+
+=end private
+
+=cut
+
+sub _fix_metadata_before_conversion {
+ my ( $metadata ) = @_;
+
+ # we should never be called unless this already passed but
+ # prefer to be defensive in case somebody else calls this
+
+ return unless _has_cpan_meta;
+
+ my $bad_version = $metadata->{version} &&
+ !CPAN::Meta::Validator->new->version( 'version', $metadata->{version} );
+
+ # just delete all invalid versions
+ if( $bad_version ) {
+ warn "Can't parse version '$metadata->{version}'\n";
+ $metadata->{version} = '';
+ }
+
+ my $validator = CPAN::Meta::Validator->new( $metadata );
+ return if $validator->is_valid;
+
+ # fix non-camelcase custom resource keys (only other trick we know)
+ for my $error ( $validator->errors ) {
+ my ( $key ) = ( $error =~ /Custom resource '(.*)' must be in CamelCase./ );
+ next if !$key;
+
+ # first try to remove all non-alphabetic chars
+ ( my $new_key = $key ) =~ s/[^_a-zA-Z]//g;
+
+ # if that doesn't work, uppercase first one
+ $new_key = ucfirst $new_key if !$validator->custom_1( $new_key );
+
+ # copy to new key if that worked
+ $metadata->{resources}{$new_key} = $metadata->{resources}{$key}
+ if $validator->custom_1( $new_key );
+
+ # and delete old one in any case
+ delete $metadata->{resources}{$key};
+ }
+
+ return;
+}
+
=begin private
@@ -816,57 +963,16 @@ sub metafile_data {
my $self = shift;
my($meta_add, $meta_merge) = @_;
- # The order in which standard meta keys should be written.
- my @meta_order = qw(
- name
- version
- abstract
- author
- license
- distribution_type
-
- configure_requires
- build_requires
- requires
-
- resources
-
- provides
- no_index
-
- generated_by
- meta-spec
- );
-
- # Check the original args so we can tell between the user setting it
- # to an empty hash and it just being initialized.
- my $configure_requires;
- if( $self->{ARGS}{CONFIGURE_REQUIRES} ) {
- $configure_requires = $self->{CONFIGURE_REQUIRES};
- } else {
- $configure_requires = {
- 'ExtUtils::MakeMaker' => 0,
- };
- }
- my $build_requires;
- if( $self->{ARGS}{BUILD_REQUIRES} ) {
- $build_requires = $self->{BUILD_REQUIRES};
- } else {
- $build_requires = {
- 'ExtUtils::MakeMaker' => 0,
- };
- }
-
my %meta = (
+ # required
name => $self->{DISTNAME},
- version => $self->{VERSION},
- abstract => $self->{ABSTRACT},
+ version => _normalize_version($self->{VERSION}),
+ abstract => $self->{ABSTRACT} || 'unknown',
license => $self->{LICENSE} || 'unknown',
- distribution_type => $self->{PM} ? 'module' : 'script',
+ dynamic_config => 1,
- configure_requires => $configure_requires,
-
- build_requires => $build_requires,
+ # optional
+ distribution_type => $self->{PM} ? 'module' : 'script',
no_index => {
directory => [qw(t inc)]
@@ -882,8 +988,18 @@ sub metafile_data {
# The author key is required and it takes a list.
$meta{author} = defined $self->{AUTHOR} ? $self->{AUTHOR} : [];
- $meta{requires} = $self->{PREREQ_PM} if defined $self->{PREREQ_PM};
- $meta{requires}{perl} = $self->{MIN_PERL_VERSION} if $self->{MIN_PERL_VERSION};
+ # Check the original args so we can tell between the user setting it
+ # to an empty hash and it just being initialized.
+ if( $self->{ARGS}{CONFIGURE_REQUIRES} ) {
+ $meta{configure_requires}
+ = _normalize_prereqs($self->{CONFIGURE_REQUIRES});
+ } else {
+ $meta{configure_requires} = {
+ 'ExtUtils::MakeMaker' => 0,
+ };
+ }
+
+ %meta = $self->_add_requirements_to_meta( %meta );
while( my($key, $val) = each %$meta_add ) {
$meta{$key} = $val;
@@ -893,24 +1009,62 @@ sub metafile_data {
$self->_hash_merge(\%meta, $key, $val);
}
- my @meta_pairs;
+ return %meta;
+}
- # Put the standard keys first in the proper order.
- for my $key (@meta_order) {
- next unless exists $meta{$key};
- push @meta_pairs, $key, delete $meta{$key};
- }
+=begin private
+
+=cut
+
+sub _add_requirements_to_meta {
+ my ( $self, %meta ) = @_;
- # Then tack everything else onto the end, alpha sorted.
- for my $key (sort {lc $a cmp lc $b} keys %meta) {
- push @meta_pairs, $key, $meta{$key};
+ # Check the original args so we can tell between the user setting it
+ # to an empty hash and it just being initialized.
+
+ if( $self->{ARGS}{BUILD_REQUIRES} ) {
+ $meta{build_requires} = _normalize_prereqs($self->{BUILD_REQUIRES});
+ } else {
+ $meta{build_requires} = {
+ 'ExtUtils::MakeMaker' => 0,
+ };
}
- return @meta_pairs
+ $meta{requires} = _normalize_prereqs($self->{PREREQ_PM})
+ if defined $self->{PREREQ_PM};
+ $meta{requires}{perl} = _normalize_version($self->{MIN_PERL_VERSION})
+ if $self->{MIN_PERL_VERSION};
+
+ return %meta;
}
-=begin private
+sub _normalize_prereqs {
+ my ($hash) = @_;
+ my %prereqs;
+ while ( my ($k,$v) = each %$hash ) {
+ $prereqs{$k} = _normalize_version($v);
+ }
+ return \%prereqs;
+}
+
+# Adapted from Module::Build::Base
+sub _normalize_version {
+ my ($version) = @_;
+ $version = 0 unless defined $version;
+
+ if ( ref $version eq 'version' ) { # version objects
+ $version = $version->is_qv ? $version->normal : $version->stringify;
+ }
+ elsif ( $version =~ /^[^v][^.]*\.[^.]+\./ ) { # no leading v, multiple dots
+ # normalize string tuples without "v": "1.2.3" -> "v1.2.3"
+ $version = "v$version";
+ }
+ else {
+ # leave alone
+ }
+ return $version;
+}
=head3 _dump_hash
@@ -1069,16 +1223,25 @@ distdir.
sub distmeta_target {
my $self = shift;
- my $add_meta = $self->oneliner(<<'CODE', ['-MExtUtils::Manifest=maniadd']);
-eval { maniadd({q{META.yml} => q{Module meta-data (added by MakeMaker)}}) }
+ my @add_meta = (
+ $self->oneliner(<<'CODE', ['-MExtUtils::Manifest=maniadd']),
+exit unless -e q{META.yml};
+eval { maniadd({q{META.yml} => q{Module YAML meta-data (added by MakeMaker)}}) }
or print "Could not add META.yml to MANIFEST: $${'@'}\n"
CODE
+ $self->oneliner(<<'CODE', ['-MExtUtils::Manifest=maniadd'])
+exit unless -f q{META.json};
+eval { maniadd({q{META.json} => q{Module JSON meta-data (added by MakeMaker)}}) }
+ or print "Could not add META.json to MANIFEST: $${'@'}\n"
+CODE
+ );
- my $add_meta_to_distdir = $self->cd('$(DISTVNAME)', $add_meta);
+ my @add_meta_to_distdir = map { $self->cd('$(DISTVNAME)', $_) } @add_meta;
- return sprintf <<'MAKE', $add_meta_to_distdir;
+ return sprintf <<'MAKE', @add_meta_to_distdir;
distmeta : create_distdir metafile
$(NOECHO) %s
+ $(NOECHO) %s
MAKE
@@ -1096,12 +1259,9 @@ or from internal data.
sub mymeta {
my $self = shift;
+ my $file = shift || ''; # for testing
- my $mymeta;
-
- if ( -e 'META.yml' ) {
- $mymeta = $self->_mymeta_from_meta();
- }
+ my $mymeta = $self->_mymeta_from_meta($file);
unless ( $mymeta ) {
my @metadata = $self->metafile_data(
@@ -1111,6 +1271,10 @@ sub mymeta {
$mymeta = {@metadata};
}
+ # Overwrite the non-configure dependency hashes
+
+ $mymeta = { $self->_add_requirements_to_meta( %$mymeta ) };
+
$mymeta->{dynamic_config} = 0;
return $mymeta;
@@ -1119,14 +1283,20 @@ sub mymeta {
sub _mymeta_from_meta {
my $self = shift;
+ my $metafile = shift || ''; # for testing
+
+ return unless _has_cpan_meta();
my $meta;
- eval {
- my @yaml = ExtUtils::MakeMaker::YAML::LoadFile('META.yml');
- $meta = $yaml[0];
- };
+ for my $file ( $metafile, "META.json", "META.yml" ) {
+ next unless -e $file;
+ eval {
+ $meta = CPAN::Meta->load_file($file)->as_struct( {version => "1.4"} );
+ };
+ last if $meta;
+ }
return undef unless $meta;
-
+
# META.yml before 6.25_01 cannot be trusted. META.yml lived in the source directory.
# There was a good chance the author accidentally uploaded a stale META.yml if they
# rolled their own tarball rather than using "make dist".
@@ -1138,20 +1308,9 @@ sub _mymeta_from_meta {
}
}
- # Overwrite the non-configure dependency hashs
- delete $meta->{requires};
- delete $meta->{build_requires};
- delete $meta->{recommends};
- if ( exists $self->{PREREQ_PM} ) {
- $meta->{requires} = $self->{PREREQ_PM} || {};
- }
- if ( exists $self->{BUILD_REQUIRES} ) {
- $meta->{build_requires} = $self->{BUILD_REQUIRES} || {};
- }
return $meta;
}
-
=head3 write_mymeta
$self->write_mymeta( $mymeta );
@@ -1166,18 +1325,19 @@ sub write_mymeta {
my $self = shift;
my $mymeta = shift;
- require ExtUtils::MakeMaker::YAML;
- my $mymeta_content = ExtUtils::MakeMaker::YAML::Dump($mymeta);
+ return unless _has_cpan_meta();
- open(my $myfh, ">", "MYMETA.yml")
- or die "Unable to open MYMETA.yml: $!";
- print $myfh $mymeta_content;
- close $myfh;
-
- return;
+ _fix_metadata_before_conversion( $mymeta );
+
+ # this can still blow up
+ # not sure if i should just eval this and skip file creation if it
+ # blows up
+ my $meta_obj = CPAN::Meta->new( $mymeta, { lazy_validation => 1 } );
+ $meta_obj->save( 'MYMETA.json' );
+ $meta_obj->save( 'MYMETA.yml', { version => "1.4" } );
+ return 1;
}
-
=head3 realclean (o)
Defines the realclean target.
@@ -1193,7 +1353,7 @@ sub realclean {
# Special exception for the perl core where INST_* is not in blib.
# This cleans up the files built from the ext/ directory (all XS).
if( $self->{PERL_CORE} ) {
- push @dirs, qw($(INST_AUTODIR) $(INST_ARCHAUTODIR));
+ push @dirs, qw($(INST_AUTODIR) $(INST_ARCHAUTODIR));
push @files, values %{$self->{PM}};
}
@@ -1398,7 +1558,7 @@ sub init_INST {
# perl has been built and installed. Setting INST_LIB allows
# you to build directly into, say $Config{privlibexp}.
unless ($self->{INST_LIB}){
- if ($self->{PERL_CORE}) {
+ if ($self->{PERL_CORE}) {
if (defined $Cross::platform) {
$self->{INST_LIB} = $self->{INST_ARCHLIB} =
$self->catdir($self->{PERL_LIB},"..","xlib",
@@ -1407,9 +1567,9 @@ sub init_INST {
else {
$self->{INST_LIB} = $self->{INST_ARCHLIB} = $self->{PERL_LIB};
}
- } else {
- $self->{INST_LIB} = $self->catdir($Curdir,"blib","lib");
- }
+ } else {
+ $self->{INST_LIB} = $self->catdir($Curdir,"blib","lib");
+ }
}
my @parentdir = split(/::/, $self->{PARENT_NAME});
@@ -1790,15 +1950,14 @@ sub init_VERSION {
}
-=head3 init_others
-
- $MM->init_others();
+=head3 init_tools
-Initializes the macro definitions used by tools_other() and places them
-in the $MM object.
+ $MM->init_tools();
-If there is no description, its the same as the parameter to
-WriteMakefile() documented in ExtUtils::MakeMaker.
+Initializes the simple macro definitions used by tools_other() and
+places them in the $MM object. These use conservative cross platform
+versions and should be overridden with platform specific versions for
+performance.
Defines at least these macros.
@@ -1807,11 +1966,6 @@ Defines at least these macros.
NOOP Do nothing
NOECHO Tell make not to display the command itself
- MAKEFILE
- FIRST_MAKEFILE
- MAKEFILE_OLD
- MAKE_APERL_FILE File used by MAKE_APERL
-
SHELL Program used to run shell commands
ECHO Print text adding a newline on the end
@@ -1830,7 +1984,7 @@ Defines at least these macros.
=cut
-sub init_others {
+sub init_tools {
my $self = shift;
$self->{ECHO} ||= $self->oneliner('print qq{@ARGV}', ['-l']);
@@ -1863,6 +2017,18 @@ CODE
$self->{UNINST} ||= 0;
$self->{VERBINST} ||= 0;
+ $self->{SHELL} ||= $Config{sh};
+
+ # UMASK_NULL is not used by MakeMaker but some CPAN modules
+ # make use of it.
+ $self->{UMASK_NULL} ||= "umask 0";
+
+ # Not the greatest default, but its something.
+ $self->{DEV_NULL} ||= "> /dev/null 2>&1";
+
+ $self->{NOOP} ||= '$(TRUE)';
+ $self->{NOECHO} = '@' unless defined $self->{NOECHO};
+
$self->{FIRST_MAKEFILE} ||= $self->{MAKEFILE} || 'Makefile';
$self->{MAKEFILE} ||= $self->{FIRST_MAKEFILE};
$self->{MAKEFILE_OLD} ||= $self->{MAKEFILE}.'.old';
@@ -1876,17 +2042,24 @@ CODE
$self->{MACROSTART} ||= '';
$self->{MACROEND} ||= '';
- $self->{SHELL} ||= $Config{sh};
+ return;
+}
- # UMASK_NULL is not used by MakeMaker but some CPAN modules
- # make use of it.
- $self->{UMASK_NULL} ||= "umask 0";
- # Not the greatest default, but its something.
- $self->{DEV_NULL} ||= "> /dev/null 2>&1";
+=head3 init_others
- $self->{NOOP} ||= '$(TRUE)';
- $self->{NOECHO} = '@' unless defined $self->{NOECHO};
+ $MM->init_others();
+
+Initializes the macro definitions having to do with compiling and
+linking used by tools_other() and places them in the $MM object.
+
+If there is no description, its the same as the parameter to
+WriteMakefile() documented in ExtUtils::MakeMaker.
+
+=cut
+
+sub init_others {
+ my $self = shift;
$self->{LD_RUN_PATH} = "";
@@ -1927,7 +2100,7 @@ CODE
: ($Config{usedl} ? 'dynamic' : 'static');
}
- return 1;
+ return;
}
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm
index 0eeb795e485..a31cf2320c3 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_BeOS.pm
@@ -26,7 +26,7 @@ require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '6.57_05';
+our $VERSION = '6.63_02';
=item os_flavor
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm
index d6ce3a7d68c..de6f13085ee 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Cygwin.pm
@@ -9,7 +9,7 @@ require ExtUtils::MM_Unix;
require ExtUtils::MM_Win32;
our @ISA = qw( ExtUtils::MM_Unix );
-our $VERSION = '6.57_05';
+our $VERSION = '6.63_02';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm
index 68612a80acd..d902038412b 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_DOS.pm
@@ -2,7 +2,7 @@ package ExtUtils::MM_DOS;
use strict;
-our $VERSION = 6.57_05;
+our $VERSION = '6.63_02';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm
index 20aeb791642..6d78157fe5f 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Darwin.pm
@@ -7,7 +7,7 @@ BEGIN {
our @ISA = qw( ExtUtils::MM_Unix );
}
-our $VERSION = '6.57_05';
+our $VERSION = '6.63_02';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm
index 4dcb6e55ec0..17bcde790e4 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_MacOS.pm
@@ -2,7 +2,7 @@ package ExtUtils::MM_MacOS;
use strict;
-our $VERSION = 6.57_05;
+our $VERSION = '6.63_02';
sub new {
die <<'UNSUPPORTED';
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm
index 2089e8f88c2..be1e1555576 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_NW5.pm
@@ -22,7 +22,7 @@ use strict;
use ExtUtils::MakeMaker::Config;
use File::Basename;
-our $VERSION = '6.57_05';
+our $VERSION = '6.63_02';
require ExtUtils::MM_Win32;
our @ISA = qw(ExtUtils::MM_Win32);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm
index 46d57be2933..f4ebd1e738e 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_OS2.pm
@@ -5,7 +5,7 @@ use strict;
use ExtUtils::MakeMaker qw(neatvalue);
use File::Spec;
-our $VERSION = '6.57_05';
+our $VERSION = '6.63_02';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm
index 5efd3771f39..9d1f29223d0 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_QNX.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_QNX;
use strict;
-our $VERSION = '6.57_05';
+our $VERSION = '6.63_02';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm
index 032bf35b84b..d4b9370bd1a 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_UWIN.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_UWIN;
use strict;
-our $VERSION = 6.57_05;
+our $VERSION = '6.63_02';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm
index 6964eea0883..b537393d3e1 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Unix.pm
@@ -15,7 +15,8 @@ use ExtUtils::MakeMaker qw($Verbose neatvalue);
# If we make $VERSION an our variable parse_version() breaks
use vars qw($VERSION);
-$VERSION = '6.57_05';
+$VERSION = '6.63_02';
+$VERSION = eval $VERSION;
require ExtUtils::MM_Any;
our @ISA = qw(ExtUtils::MM_Any);
@@ -1738,17 +1739,14 @@ EOP
$self->{NAME} eq "ExtUtils::MakeMaker";
}
-=item init_others
+=item init_tools
-Initializes EXTRALIBS, BSLOADLIBS, LDLOADLIBS, LIBS, LD_RUN_PATH, LD,
-OBJECT, BOOTDEP, PERLMAINCC, LDFROM, LINKTYPE, SHELL, NOOP,
-FIRST_MAKEFILE, MAKEFILE_OLD, NOECHO, RM_F, RM_RF, TEST_F,
-TOUCH, CP, MV, CHMOD, UMASK_NULL, ECHO, ECHO_N
+Initializes tools to use their common (and faster) Unix commands.
=cut
-sub init_others { # --- Initialize Other Attributes
- my($self) = shift;
+sub init_tools {
+ my $self = shift;
$self->{ECHO} ||= 'echo';
$self->{ECHO_N} ||= 'echo -n';
@@ -1764,13 +1762,13 @@ sub init_others { # --- Initialize Other Attributes
$self->{LD} ||= 'ld';
- $self->SUPER::init_others(@_);
+ return $self->SUPER::init_tools(@_);
- # After SUPER::init_others so $Config{shell} has a
+ # After SUPER::init_tools so $Config{shell} has a
# chance to get set.
$self->{SHELL} ||= '/bin/sh';
- return 1;
+ return;
}
@@ -2894,8 +2892,13 @@ sub ppd {
$author =~ s/</&lt;/g;
$author =~ s/>/&gt;/g;
- my $ppd_xml = sprintf <<'PPD_HTML', $self->{VERSION}, $abstract, $author;
-<SOFTPKG NAME="$(DISTNAME)" VERSION="%s">
+ my $ppd_file = '$(DISTNAME).ppd';
+
+ my @ppd_cmds = $self->echo(<<'PPD_HTML', $ppd_file, { append => 0, allow_variables => 1 });
+<SOFTPKG NAME="$(DISTNAME)" VERSION="$(VERSION)">
+PPD_HTML
+
+ my $ppd_xml = sprintf <<'PPD_HTML', $abstract, $author;
<ABSTRACT>%s</ABSTRACT>
<AUTHOR>%s</AUTHOR>
PPD_HTML
@@ -2957,7 +2960,7 @@ PPD_OUT
</SOFTPKG>
PPD_XML
- my @ppd_cmds = $self->echo($ppd_xml, '$(DISTNAME).ppd');
+ push @ppd_cmds, $self->echo($ppd_xml, $ppd_file, { append => 1 });
return sprintf <<'PPD_OUT', join "\n\t", @ppd_cmds;
# Creates a PPD (Perl Package Description) for a binary distribution.
@@ -3148,12 +3151,15 @@ sub oneliner {
=cut
sub quote_literal {
- my($self, $text) = @_;
+ my($self, $text, $opts) = @_;
+ $opts->{allow_variables} = 1 unless defined $opts->{allow_variables};
- # I think all we have to quote is single quotes and I think
- # this is a safe way to do it.
+ # Quote single quotes
$text =~ s{'}{'\\''}g;
+ $text = $opts->{allow_variables}
+ ? $self->escape_dollarsigns($text) : $self->escape_all_dollarsigns($text);
+
return "'$text'";
}
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm
index d6b63eba63f..c204abcb2d1 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VMS.pm
@@ -15,7 +15,7 @@ BEGIN {
use File::Basename;
-our $VERSION = '6.57_05';
+our $VERSION = '6.63_02';
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
@@ -447,21 +447,20 @@ sub init_main {
}
}
-=item init_others (override)
+=item init_tools (override)
-Provide VMS-specific forms of various utility commands, then hand
-off to the default MM_Unix method.
+Provide VMS-specific forms of various utility commands.
-DEV_NULL should probably be overriden with something.
+Sets DEV_NULL to nothing because I don't know how to do it on VMS.
-Also changes EQUALIZE_TIMESTAMP to set revision date of target file to
+Changes EQUALIZE_TIMESTAMP to set revision date of target file to
one second later than source file, since MMK interprets precisely
equal revision dates for a source and target file as a sign that the
target needs to be updated.
=cut
-sub init_others {
+sub init_tools {
my($self) = @_;
$self->{NOOP} = 'Continue';
@@ -493,17 +492,34 @@ sub init_others {
install([ from_to => {split(' ', <STDIN>)}, verbose => '$(VERBINST)', uninstall_shadows => '$(UNINST)', dir_mode => '$(PERM_DIR)' ]);
CODE
- $self->SUPER::init_others;
+ $self->{UMASK_NULL} = '! ';
- $self->{SHELL} ||= 'Posix';
+ $self->SUPER::init_tools;
- $self->{UMASK_NULL} = '! ';
+ # Use the default shell
+ $self->{SHELL} ||= 'Posix';
# Redirection on VMS goes before the command, not after as on Unix.
# $(DEV_NULL) is used once and its not worth going nuts over making
# it work. However, Unix's DEV_NULL is quite wrong for VMS.
$self->{DEV_NULL} = '';
+ return;
+}
+
+
+=item init_others (override)
+
+Provide VMS-specific forms of various compile and link commands
+
+=cut
+
+sub init_others {
+ my $self = shift;
+
+ # Must come first as we're modifying and deriving from the defaults.
+ $self->SUPER::init_others;
+
if ($self->{OBJECT} =~ /\s/) {
$self->{OBJECT} =~ s/(\\)?\n+\s+/ /g;
$self->{OBJECT} = $self->wraplist(
@@ -514,6 +530,8 @@ CODE
$self->{LDFROM} = $self->wraplist(
map $self->fixpath($_,0), split /,?\s+/, $self->{LDFROM}
);
+
+ return;
}
@@ -1753,13 +1771,21 @@ native Write command instead. Besides, its faster.
=cut
sub echo {
- my($self, $text, $file, $appending) = @_;
- $appending ||= 0;
+ my($self, $text, $file, $opts) = @_;
+
+ # Compatibility with old options
+ if( !ref $opts ) {
+ my $append = $opts;
+ $opts = { append => $append || 0 };
+ }
+ my $opencmd = $opts->{append} ? 'Open/Append' : 'Open/Write';
+
+ $opts->{allow_variables} = 0 unless defined $opts->{allow_variables};
- my $opencmd = $appending ? 'Open/Append' : 'Open/Write';
+ my $ql_opts = { allow_variables => $opts->{allow_variables} };
my @cmds = ("\$(NOECHO) $opencmd MMECHOFILE $file ");
- push @cmds, map { '$(NOECHO) Write MMECHOFILE '.$self->quote_literal($_) }
+ push @cmds, map { '$(NOECHO) Write MMECHOFILE '.$self->quote_literal($_, $ql_opts) }
split /\n/, $text;
push @cmds, '$(NOECHO) Close MMECHOFILE';
return @cmds;
@@ -1771,14 +1797,49 @@ sub echo {
=cut
sub quote_literal {
- my($self, $text) = @_;
+ my($self, $text, $opts) = @_;
+ $opts->{allow_variables} = 1 unless defined $opts->{allow_variables};
# I believe this is all we should need.
$text =~ s{"}{""}g;
+ $text = $opts->{allow_variables}
+ ? $self->escape_dollarsigns($text) : $self->escape_all_dollarsigns($text);
+
return qq{"$text"};
}
+=item escape_dollarsigns
+
+Quote, don't escape.
+
+=cut
+
+sub escape_dollarsigns {
+ my($self, $text) = @_;
+
+ # Quote dollar signs which are not starting a variable
+ $text =~ s{\$ (?!\() }{"\$"}gx;
+
+ return $text;
+}
+
+
+=item escape_all_dollarsigns
+
+Quote, don't escape.
+
+=cut
+
+sub escape_all_dollarsigns {
+ my($self, $text) = @_;
+
+ # Quote dollar signs
+ $text =~ s{\$}{"\$\"}gx;
+
+ return $text;
+}
+
=item escape_newlines
=cut
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm
index e5b60d78e38..cdc6659b7f5 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_VOS.pm
@@ -1,7 +1,7 @@
package ExtUtils::MM_VOS;
use strict;
-our $VERSION = '6.57_05';
+our $VERSION = '6.63_02';
require ExtUtils::MM_Unix;
our @ISA = qw(ExtUtils::MM_Unix);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm
index faaf219ecba..43ae9a4dd5f 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win32.pm
@@ -27,13 +27,21 @@ use ExtUtils::MakeMaker qw( neatvalue );
require ExtUtils::MM_Any;
require ExtUtils::MM_Unix;
our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '6.57_05';
+our $VERSION = '6.63_02';
$ENV{EMXSHELL} = 'sh'; # to run `commands`
-my $BORLAND = $Config{'cc'} =~ /^bcc/i ? 1 : 0;
-my $GCC = $Config{'cc'} =~ /\bgcc$/i ? 1 : 0;
-my $DLLTOOL = $Config{'dlltool'} || 'dlltool';
+my ( $BORLAND, $GCC, $DLLTOOL ) = _identify_compiler_environment( \%Config );
+
+sub _identify_compiler_environment {
+ my ( $config ) = @_;
+
+ my $BORLAND = $config->{cc} =~ /^bcc/i ? 1 : 0;
+ my $GCC = $config->{cc} =~ /\bgcc\b/i ? 1 : 0;
+ my $DLLTOOL = $config->{dlltool} || 'dlltool';
+
+ return ( $BORLAND, $GCC, $DLLTOOL );
+}
=head2 Overridden methods
@@ -133,21 +141,13 @@ sub init_DIRFILESEP {
: '\\';
}
-=item B<init_others>
+=item init_tools
-Override some of the Unix specific commands with portable
-ExtUtils::Command ones.
-
-Also provide defaults for LD and AR in case the %Config values aren't
-set.
-
-LDLOADLIBS's default is changed to $Config{libs}.
-
-Adjustments are made for Borland's quirks needing -L to come first.
+Override some of the slower, portable commands with Windows specific ones.
=cut
-sub init_others {
+sub init_tools {
my ($self) = @_;
$self->{NOOP} ||= 'rem';
@@ -157,14 +157,33 @@ sub init_others {
"\$(PERLRUN) $self->{PERL_SRC}/win32/bin/pl2bat.pl" :
'pl2bat.bat';
+ $self->SUPER::init_tools;
+
+ # Setting SHELL from $Config{sh} can break dmake. Its ok without it.
+ delete $self->{SHELL};
+
+ return;
+}
+
+
+=item init_others
+
+Override the default link and compile tools.
+
+LDLOADLIBS's default is changed to $Config{libs}.
+
+Adjustments are made for Borland's quirks needing -L to come first.
+
+=cut
+
+sub init_others {
+ my $self = shift;
+
$self->{LD} ||= 'link';
$self->{AR} ||= 'lib';
$self->SUPER::init_others;
- # Setting SHELL from $Config{sh} can break dmake. Its ok without it.
- delete $self->{SHELL};
-
$self->{LDLOADLIBS} ||= $Config{libs};
# -Lfoo must come first for Borland, so we put it in LDDLFLAGS
if ($BORLAND) {
@@ -179,7 +198,7 @@ sub init_others {
$self->{LDDLFLAGS} .= " $libpath";
}
- return 1;
+ return;
}
@@ -195,6 +214,8 @@ sub init_platform {
my($self) = shift;
$self->{MM_Win32_VERSION} = $VERSION;
+
+ return;
}
sub platform_constants {
@@ -211,6 +232,36 @@ sub platform_constants {
}
+=item constants
+
+Add MAXLINELENGTH for dmake before all the constants are output.
+
+=cut
+
+sub constants {
+ my $self = shift;
+
+ my $make_text = $self->SUPER::constants;
+ return $make_text unless $self->is_make_type('dmake');
+
+ # dmake won't read any single "line" (even those with escaped newlines)
+ # larger than a certain size which can be as small as 8k. PM_TO_BLIB
+ # on large modules like DateTime::TimeZone can create lines over 32k.
+ # So we'll crank it up to a <ironic>WHOPPING</ironic> 64k.
+ #
+ # This has to come here before all the constants and not in
+ # platform_constants which is after constants.
+ my $size = $self->{MAXLINELENGTH} || 64 * 1024;
+ my $prefix = qq{
+# Get dmake to read long commands like PM_TO_BLIB
+MAXLINELENGTH = $size
+
+};
+
+ return $prefix . $make_text;
+}
+
+
=item special_targets
Add .USESHELL target for dmake.
@@ -445,22 +496,34 @@ sub oneliner {
sub quote_literal {
- my($self, $text) = @_;
-
- # I don't know if this is correct, but it seems to work on
- # Win98's command.com
- $text =~ s{"}{\\"}g;
-
- # dmake eats '{' inside double quotes and leaves alone { outside double
- # quotes; however it transforms {{ into { either inside and outside double
- # quotes. It also translates }} into }. The escaping below is not
- # 100% correct.
+ my($self, $text, $opts) = @_;
+ $opts->{allow_variables} = 1 unless defined $opts->{allow_variables};
+
+ # See: http://www.autohotkey.net/~deleyd/parameters/parameters.htm#CPP
+
+ # Apply the Microsoft C/C++ parsing rules
+ $text =~ s{\\\\"}{\\\\\\\\\\"}g; # \\" -> \\\\\"
+ $text =~ s{(?<!\\)\\"}{\\\\\\"}g; # \" -> \\\"
+ $text =~ s{(?<!\\)"}{\\"}g; # " -> \"
+ $text = qq{"$text"} if $text =~ /[ \t]/;
+
+ # Apply the Command Prompt parsing rules (cmd.exe)
+ my @text = split /("[^"]*")/, $text;
+ # We should also escape parentheses, but it breaks one-liners containing
+ # $(MACRO)s in makefiles.
+ s{([<>|&^@!])}{^$1}g foreach grep { !/^"[^"]*"$/ } @text;
+ $text = join('', @text);
+
+ # dmake expands {{ to { and }} to }.
if( $self->is_make_type('dmake') ) {
$text =~ s/{/{{/g;
- $text =~ s/}}/}}}/g;
+ $text =~ s/}/}}/g;
}
- return qq{"$text"};
+ $text = $opts->{allow_variables}
+ ? $self->escape_dollarsigns($text) : $self->escape_all_dollarsigns($text);
+
+ return $text;
}
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm
index 19f5c7d61ed..694655c1baf 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MM_Win95.pm
@@ -2,7 +2,7 @@ package ExtUtils::MM_Win95;
use strict;
-our $VERSION = '6.57_05';
+our $VERSION = '6.63_02';
require ExtUtils::MM_Win32;
our @ISA = qw(ExtUtils::MM_Win32);
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm
index 464f814f0f7..92d4da0a4b9 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MY.pm
@@ -3,7 +3,7 @@ package ExtUtils::MY;
use strict;
require ExtUtils::MM;
-our $VERSION = 6.57_05;
+our $VERSION = '6.63_02';
our @ISA = qw(ExtUtils::MM);
{
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm
index be9624e389e..3885ab00f1b 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker.pm
@@ -7,7 +7,7 @@ BEGIN {require 5.006;}
require Exporter;
use ExtUtils::MakeMaker::Config;
-use Carp ();
+use Carp;
use File::Path;
our $Verbose = 0; # exported
@@ -18,7 +18,8 @@ our @Overridable;
my @Prepend_parent;
my %Recognized_Att_Keys;
-our $VERSION = '6.57_05';
+our $VERSION = '6.63_02';
+$VERSION = eval $VERSION;
# Emulate something resembling CVS $Revision$
(our $Revision = $VERSION) =~ s{_}{};
@@ -47,13 +48,13 @@ require ExtUtils::MY; # XXX pre-5.8 versions of ExtUtils::Embed expect
sub WriteMakefile {
- Carp::croak "WriteMakefile: Need even number of args" if @_ % 2;
+ croak "WriteMakefile: Need even number of args" if @_ % 2;
require ExtUtils::MY;
my %att = @_;
_convert_compat_attrs(\%att);
-
+
_verify_att(\%att);
my $mm = MM->new(\%att);
@@ -114,7 +115,7 @@ my %Special_Sigs = (
@Att_Sigs{keys %Recognized_Att_Keys} = ('') x keys %Recognized_Att_Keys;
@Att_Sigs{keys %Special_Sigs} = values %Special_Sigs;
-sub _convert_compat_attrs {
+sub _convert_compat_attrs { #result of running several times should be same
my($att) = @_;
if (exists $att->{AUTHOR}) {
if ($att->{AUTHOR}) {
@@ -176,7 +177,7 @@ sub _format_att {
sub prompt ($;$) { ## no critic
my($mess, $def) = @_;
- Carp::confess("prompt function called without an argument")
+ confess("prompt function called without an argument")
unless defined $mess;
my $isa_tty = -t STDIN && (-t STDOUT || !(-f STDOUT || -c STDOUT)) ;
@@ -224,7 +225,7 @@ sub eval_in_subdirs {
sub eval_in_x {
my($self,$dir) = @_;
- chdir $dir or Carp::carp("Couldn't change to directory $dir: $!");
+ chdir $dir or carp("Couldn't change to directory $dir: $!");
{
package main;
@@ -401,6 +402,8 @@ sub new {
my($class,$self) = @_;
my($key);
+ _convert_compat_attrs($self) if defined $self && $self;
+
# Store the original args passed to WriteMakefile()
foreach my $k (keys %$self) {
$self->{ARGS}{$k} = $self->{$k};
@@ -408,13 +411,17 @@ sub new {
$self = {} unless defined $self;
- $self->{PREREQ_PM} ||= {};
- $self->{BUILD_REQUIRES} ||= {};
-
# Temporarily bless it into MM so it can be used as an
# object. It will be blessed into a temp package later.
bless $self, "MM";
+ # Cleanup all the module requirement bits
+ for my $key (qw(PREREQ_PM BUILD_REQUIRES CONFIGURE_REQUIRES)) {
+ $self->{$key} ||= {};
+ $self->clean_versions( $key );
+ }
+
+
if ("@ARGV" =~ /\bPREREQ_PRINT\b/) {
$self->_PREREQ_PRINT;
}
@@ -446,7 +453,7 @@ sub new {
};
if (!$perl_version_ok) {
if (!defined $perl_version_ok) {
- warn <<'END';
+ die <<'END';
Warning: MIN_PERL_VERSION is not in a recognized format.
Recommended is a quoted numerical value like '5.005' or '5.008001'.
END
@@ -515,13 +522,13 @@ END
_convert_compat_attrs(\%configure_att);
$self = { %$self, %configure_att };
} else {
- Carp::croak "Attribute 'CONFIGURE' to WriteMakefile() not a code reference\n";
+ croak "Attribute 'CONFIGURE' to WriteMakefile() not a code reference\n";
}
}
# This is for old Makefiles written pre 5.00, will go away
if ( Carp::longmess("") =~ /runsubdirpl/s ){
- Carp::carp("WARNING: Please rerun 'perl Makefile.PL' to regenerate your Makefiles\n");
+ carp("WARNING: Please rerun 'perl Makefile.PL' to regenerate your Makefiles\n");
}
my $newclass = ++$PACKNAME;
@@ -606,6 +613,7 @@ END
$self->catfile($Config{'archlibexp'}, "Config.pm")
);
+ $self->init_tools();
$self->init_others();
$self->init_platform();
$self->init_PERM();
@@ -692,11 +700,11 @@ END
}
sub WriteEmptyMakefile {
- Carp::croak "WriteEmptyMakefile: Need an even number of args" if @_ % 2;
+ croak "WriteEmptyMakefile: Need an even number of args" if @_ % 2;
my %att = @_;
my $self = MM->new(\%att);
-
+
my $new = $self->{MAKEFILE};
my $old = $self->{MAKEFILE_OLD};
if (-f $old) {
@@ -1029,9 +1037,10 @@ sub flush {
unless ($self->{NO_MYMETA}) {
# Write MYMETA.yml to communicate metadata up to the CPAN clients
- print STDOUT "Writing MYMETA.yml\n";
+ if ( $self->write_mymeta( $self->mymeta ) ) {;
+ print STDOUT "Writing MYMETA.yml and MYMETA.json\n";
+ }
- $self->write_mymeta( $self->mymeta );
}
my %keep = map { ($_ => 1) } qw(NEEDS_LINKING HAS_LINK_CODE);
if ($self->{PARENT} && !$self->{_KEEP_AFTER_FLUSH}) {
@@ -1103,6 +1112,22 @@ sub neatvalue {
return "{ ".join(', ',@m)." }";
}
+# Look for weird version numbers, warn about them and set them to 0
+# before CPAN::Meta chokes.
+sub clean_versions {
+ my($self, $key) = @_;
+
+ my $reqs = $self->{$key};
+ for my $module (keys %$reqs) {
+ my $version = $reqs->{$module};
+
+ if( !defined $version or $version !~ /^[\d_\.]+$/ ) {
+ carp "Unparsable version '$version' for prerequisite $module";
+ $reqs->{$module} = 0;
+ }
+ }
+}
+
sub selfdocument {
my($self) = @_;
my(@m);
@@ -1491,8 +1516,8 @@ the first line in the "=head1 NAME" section. $2 becomes the abstract.
=item AUTHOR
Array of strings containing name (and email address) of package author(s).
-Is used in META.yml and PPD (Perl Package Description) files for PPM (Perl
-Package Manager).
+Is used in CPAN Meta files (META.yml or META.json) and PPD
+(Perl Package Description) files for PPM (Perl Package Manager).
=item BINARY_LOCATION
@@ -1509,7 +1534,8 @@ located in the C<x86> directory relative to the PPD itself.
A hash of modules that are needed to build your module but not run it.
-This will go into the C<build_requires> field of your F<META.yml>.
+This will go into the C<build_requires> field of your CPAN Meta file.
+(F<META.yml> or F<META.json>).
The format is the same as PREREQ_PM.
@@ -1556,7 +1582,8 @@ be determined by some evaluation method.
A hash of modules that are required to run Makefile.PL itself, but not
to run your distribution.
-This will go into the C<configure_requires> field of your F<META.yml>.
+This will go into the C<configure_requires> field of your CPAN Meta file
+(F<META.yml> or F<META.json>)
Defaults to C<<< { "ExtUtils::MakeMaker" => 0 } >>>
@@ -1963,7 +1990,8 @@ may hold a name for that binary. Defaults to perl
=item META_MERGE
-A hashrefs of items to add to the F<META.yml>.
+A hashrefs of items to add to the CPAN Meta file (F<META.yml> or
+F<META.json>).
They differ in how they behave if they have the same key as the
default metadata. META_ADD will override the default value with its
@@ -2012,14 +2040,14 @@ Boolean. Attribute to inhibit descending into subdirectories.
=item NO_META
When true, suppresses the generation and addition to the MANIFEST of
-the META.yml module meta-data file during 'make distdir'.
+the META.yml and META.json module meta-data files during 'make distdir'.
Defaults to false.
=item NO_MYMETA
-When true, suppresses the generation of MYMETA.yml module meta-data file
-during 'perl Makefile.PL'.
+When true, suppresses the generation of MYMETA.yml and MYMETA.json module
+meta-data files during 'perl Makefile.PL'.
Defaults to false.
@@ -2276,7 +2304,8 @@ A hash of modules that are needed to run your module. The keys are
the module names ie. Test::More, and the minimum version is the
value. If the required version number is 0 any version will do.
-This will go into the C<requires> field of your F<META.yml>.
+This will go into the C<requires> field of your CPAN Meta file
+(F<META.yml> or F<META.json>).
PREREQ_PM => {
# Require Test::More at least 0.47
@@ -2641,8 +2670,8 @@ Copies all the files that are in the MANIFEST file to a newly created
directory with the name C<$(DISTNAME)-$(VERSION)>. If that directory
exists, it will be removed first.
-Additionally, it will create a META.yml module meta-data file in the
-distdir and add this to the distdir's MANIFEST. You can shut this
+Additionally, it will create META.yml and META.json module meta-data file
+in the distdir and add this to the distdir's MANIFEST. You can shut this
behavior off with the NO_META flag.
=item make disttest
@@ -2716,26 +2745,37 @@ An example:
);
-=head2 Module Meta-Data
+=head2 Module Meta-Data (META and MYMETA)
Long plaguing users of MakeMaker based modules has been the problem of
getting basic information about the module out of the sources
I<without> running the F<Makefile.PL> and doing a bunch of messy
-heuristics on the resulting F<Makefile>. To this end a simple module
-meta-data file has been introduced, F<META.yml>.
-
-F<META.yml> is a YAML document (see http://www.yaml.org) containing
-basic information about the module (name, version, prerequisites...)
-in an easy to read format. The format is developed and defined by the
-Module::Build developers (see
-http://module-build.sourceforge.net/META-spec.html)
-
-MakeMaker will automatically generate a F<META.yml> file for you and
-add it to your F<MANIFEST> as part of the 'distdir' target (and thus
-the 'dist' target). This is intended to seamlessly and rapidly
-populate CPAN with module meta-data. If you wish to shut this feature
-off, set the C<NO_META> C<WriteMakefile()> flag to true.
-
+heuristics on the resulting F<Makefile>. Over the years, it has become
+standard to keep this information in one or more CPAN Meta files
+distributed with each distribution.
+
+The original format of CPAN Meta files was L<YAML> and the corresponding
+file was called F<META.yml>. In 2010, version 2 of the L<CPAN::Meta::Spec>
+was released, which mandates JSON format for the metadata in order to
+overcome certain compatibility issues between YAML serializers and to
+avoid breaking older clients unable to handle a new version of the spec.
+The L<CPAN::Meta> library is now standard for accessing old and new-style
+Meta files.
+
+If L<CPAN::Meta> is installed, MakeMaker will automatically generate
+F<META.json> and F<META.yml> files for you and add them to your F<MANIFEST> as
+part of the 'distdir' target (and thus the 'dist' target). This is intended to
+seamlessly and rapidly populate CPAN with module meta-data. If you wish to
+shut this feature off, set the C<NO_META> C<WriteMakefile()> flag to true.
+
+At the 2008 QA Hackathon in Oslo, Perl module toolchain maintainers agrees
+to use the CPAN Meta format to communicate post-configuration requirements
+between toolchain components. These files, F<MYMETA.json> and F<MYMETA.yml>,
+are generated when F<Makefile.PL> generates a F<Makefile> (if L<CPAN::Meta>
+is installed). Clients like L<CPAN> or L<CPANPLUS> will read this
+files to see what prerequisites must be fulfilled before building or testing
+the distribution. If you with to shut this feature off, set the C<NO_MYMETA>
+C<WriteMakeFile()> flag to true.
=head2 Disabling an extension
@@ -2812,6 +2852,8 @@ not normally available.
L<ExtUtils::ModuleMaker> and L<Module::Starter> are both modules to
help you setup your distribution.
+L<CPAN::Meta> and L<CPAN::Meta::Spec> explain CPAN Meta files in detail.
+
=head1 AUTHORS
Andy Dougherty C<doughera@lafayette.edu>, Andreas KE<ouml>nig
@@ -2828,7 +2870,7 @@ generated Makefile along with your report.
For more up-to-date information, see L<http://www.makemaker.org>.
-Repository available at L<http://github.com/schwern/extutils-makemaker>.
+Repository available at L<https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker>.
=head1 LICENSE
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm
index a7ac47d94a6..872f8c181cf 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Config.pm
@@ -2,7 +2,7 @@ package ExtUtils::MakeMaker::Config;
use strict;
-our $VERSION = '6.57_05';
+our $VERSION = '6.63_02';
use Config ();
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod
index f3354231d1e..675c95fc11e 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/FAQ.pod
@@ -1,6 +1,6 @@
package ExtUtils::MakeMaker::FAQ;
-our $VERSION = '6.57_01';
+our $VERSION = '6.63_02';
1;
__END__
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod
index d5ff9086c36..5120271979f 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/Tutorial.pod
@@ -1,6 +1,6 @@
package ExtUtils::MakeMaker::Tutorial;
-our $VERSION = 6.57_01;
+our $VERSION = 6.63_02;
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/YAML.pm b/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/YAML.pm
deleted file mode 100644
index 7582c5781f2..00000000000
--- a/Master/tlpkg/tlperl/lib/ExtUtils/MakeMaker/YAML.pm
+++ /dev/null
@@ -1,658 +0,0 @@
-package ExtUtils::MakeMaker::YAML;
-
-use strict;
-
-# UTF Support?
-sub HAVE_UTF8 () { $] >= 5.007003 }
-BEGIN {
- if ( HAVE_UTF8 ) {
- # The string eval helps hide this from Test::MinimumVersion
- eval "require utf8;";
- die "Failed to load UTF-8 support" if $@;
- }
-
- # Class structure
- require 5.004;
- require Exporter;
- require Carp;
- $ExtUtils::MakeMaker::YAML::VERSION = '1.44';
- @ExtUtils::MakeMaker::YAML::ISA = qw{ Exporter };
- @ExtUtils::MakeMaker::YAML::EXPORT = qw{ Load Dump };
- @ExtUtils::MakeMaker::YAML::EXPORT_OK = qw{ LoadFile DumpFile freeze thaw };
-
- # Error storage
- $ExtUtils::MakeMaker::YAML::errstr = '';
-}
-
-# The character class of all characters we need to escape
-# NOTE: Inlined, since it's only used once
-# my $RE_ESCAPE = '[\\x00-\\x08\\x0b-\\x0d\\x0e-\\x1f\"\n]';
-
-# Printed form of the unprintable characters in the lowest range
-# of ASCII characters, listed by ASCII ordinal position.
-my @UNPRINTABLE = qw(
- z x01 x02 x03 x04 x05 x06 a
- x08 t n v f r x0e x0f
- x10 x11 x12 x13 x14 x15 x16 x17
- x18 x19 x1a e x1c x1d x1e x1f
-);
-
-# Printable characters for escapes
-my %UNESCAPES = (
- z => "\x00", a => "\x07", t => "\x09",
- n => "\x0a", v => "\x0b", f => "\x0c",
- r => "\x0d", e => "\x1b", '\\' => '\\',
-);
-
-# Special magic boolean words
-my %QUOTE = map { $_ => 1 } qw{
- null Null NULL
- y Y yes Yes YES n N no No NO
- true True TRUE false False FALSE
- on On ON off Off OFF
-};
-
-
-
-
-
-#####################################################################
-# Implementation
-
-# Create an empty ExtUtils::MakeMaker::YAML object
-sub new {
- my $class = shift;
- bless [ @_ ], $class;
-}
-
-# Create an object from a file
-sub read {
- my $class = ref $_[0] ? ref shift : shift;
-
- # Check the file
- my $file = shift or return $class->_error( 'You did not specify a file name' );
- return $class->_error( "File '$file' does not exist" ) unless -e $file;
- return $class->_error( "'$file' is a directory, not a file" ) unless -f _;
- return $class->_error( "Insufficient permissions to read '$file'" ) unless -r _;
-
- # Slurp in the file
- local $/ = undef;
- local *CFG;
- unless ( open(CFG, $file) ) {
- return $class->_error("Failed to open file '$file': $!");
- }
- my $contents = <CFG>;
- unless ( close(CFG) ) {
- return $class->_error("Failed to close file '$file': $!");
- }
-
- $class->read_string( $contents );
-}
-
-# Create an object from a string
-sub read_string {
- my $class = ref $_[0] ? ref shift : shift;
- my $self = bless [], $class;
- my $string = $_[0];
- unless ( defined $string ) {
- return $self->_error("Did not provide a string to load");
- }
-
- # Byte order marks
- # NOTE: Keeping this here to educate maintainers
- # my %BOM = (
- # "\357\273\277" => 'UTF-8',
- # "\376\377" => 'UTF-16BE',
- # "\377\376" => 'UTF-16LE',
- # "\377\376\0\0" => 'UTF-32LE'
- # "\0\0\376\377" => 'UTF-32BE',
- # );
- if ( $string =~ /^(?:\376\377|\377\376|\377\376\0\0|\0\0\376\377)/ ) {
- return $self->_error("Stream has a non UTF-8 BOM");
- } else {
- # Strip UTF-8 bom if found, we'll just ignore it
- $string =~ s/^\357\273\277//;
- }
-
- # Try to decode as utf8
- utf8::decode($string) if HAVE_UTF8;
-
- # Check for some special cases
- return $self unless length $string;
- unless ( $string =~ /[\012\015]+\z/ ) {
- return $self->_error("Stream does not end with newline character");
- }
-
- # Split the file into lines
- my @lines = grep { ! /^\s*(?:\#.*)?\z/ }
- split /(?:\015{1,2}\012|\015|\012)/, $string;
-
- # Strip the initial YAML header
- @lines and $lines[0] =~ /^\%YAML[: ][\d\.]+.*\z/ and shift @lines;
-
- # A nibbling parser
- while ( @lines ) {
- # Do we have a document header?
- if ( $lines[0] =~ /^---\s*(?:(.+)\s*)?\z/ ) {
- # Handle scalar documents
- shift @lines;
- if ( defined $1 and $1 !~ /^(?:\#.+|\%YAML[: ][\d\.]+)\z/ ) {
- push @$self, $self->_read_scalar( "$1", [ undef ], \@lines );
- next;
- }
- }
-
- if ( ! @lines or $lines[0] =~ /^(?:---|\.\.\.)/ ) {
- # A naked document
- push @$self, undef;
- while ( @lines and $lines[0] !~ /^---/ ) {
- shift @lines;
- }
-
- } elsif ( $lines[0] =~ /^\s*\-/ ) {
- # An array at the root
- my $document = [ ];
- push @$self, $document;
- $self->_read_array( $document, [ 0 ], \@lines );
-
- } elsif ( $lines[0] =~ /^(\s*)\S/ ) {
- # A hash at the root
- my $document = { };
- push @$self, $document;
- $self->_read_hash( $document, [ length($1) ], \@lines );
-
- } else {
- Carp::croak("ExtUtils::MakeMaker::YAML failed to classify the line '$lines[0]'");
- }
- }
-
- $self;
-}
-
-# Deparse a scalar string to the actual scalar
-sub _read_scalar {
- my ($self, $string, $indent, $lines) = @_;
-
- # Trim trailing whitespace
- $string =~ s/\s*\z//;
-
- # Explitic null/undef
- return undef if $string eq '~';
-
- # Single quote
- if ( $string =~ /^\'(.*?)\'\z/ ) {
- return '' unless defined $1;
- $string = $1;
- $string =~ s/\'\'/\'/g;
- return $string;
- }
-
- # Double quote.
- # The commented out form is simpler, but overloaded the Perl regex
- # engine due to recursion and backtracking problems on strings
- # larger than 32,000ish characters. Keep it for reference purposes.
- # if ( $string =~ /^\"((?:\\.|[^\"])*)\"\z/ ) {
- if ( $string =~ /^\"([^\\"]*(?:\\.[^\\"]*)*)\"\z/ ) {
- # Reusing the variable is a little ugly,
- # but avoids a new variable and a string copy.
- $string = $1;
- $string =~ s/\\"/"/g;
- $string =~ s/\\([never\\fartz]|x([0-9a-fA-F]{2}))/(length($1)>1)?pack("H2",$2):$UNESCAPES{$1}/gex;
- return $string;
- }
-
- # Special cases
- if ( $string =~ /^[\'\"!&]/ ) {
- Carp::croak("ExtUtils::MakeMaker::YAML does not support a feature in line '$lines->[0]'");
- }
- return {} if $string eq '{}';
- return [] if $string eq '[]';
-
- # Regular unquoted string
- return $string unless $string =~ /^[>|]/;
-
- # Error
- Carp::croak("ExtUtils::MakeMaker::YAML failed to find multi-line scalar content") unless @$lines;
-
- # Check the indent depth
- $lines->[0] =~ /^(\s*)/;
- $indent->[-1] = length("$1");
- if ( defined $indent->[-2] and $indent->[-1] <= $indent->[-2] ) {
- Carp::croak("ExtUtils::MakeMaker::YAML found bad indenting in line '$lines->[0]'");
- }
-
- # Pull the lines
- my @multiline = ();
- while ( @$lines ) {
- $lines->[0] =~ /^(\s*)/;
- last unless length($1) >= $indent->[-1];
- push @multiline, substr(shift(@$lines), length($1));
- }
-
- my $j = (substr($string, 0, 1) eq '>') ? ' ' : "\n";
- my $t = (substr($string, 1, 1) eq '-') ? '' : "\n";
- return join( $j, @multiline ) . $t;
-}
-
-# Parse an array
-sub _read_array {
- my ($self, $array, $indent, $lines) = @_;
-
- while ( @$lines ) {
- # Check for a new document
- if ( $lines->[0] =~ /^(?:---|\.\.\.)/ ) {
- while ( @$lines and $lines->[0] !~ /^---/ ) {
- shift @$lines;
- }
- return 1;
- }
-
- # Check the indent level
- $lines->[0] =~ /^(\s*)/;
- if ( length($1) < $indent->[-1] ) {
- return 1;
- } elsif ( length($1) > $indent->[-1] ) {
- Carp::croak("ExtUtils::MakeMaker::YAML found bad indenting in line '$lines->[0]'");
- }
-
- if ( $lines->[0] =~ /^(\s*\-\s+)[^\'\"]\S*\s*:(?:\s+|$)/ ) {
- # Inline nested hash
- my $indent2 = length("$1");
- $lines->[0] =~ s/-/ /;
- push @$array, { };
- $self->_read_hash( $array->[-1], [ @$indent, $indent2 ], $lines );
-
- } elsif ( $lines->[0] =~ /^\s*\-(\s*)(.+?)\s*\z/ ) {
- # Array entry with a value
- shift @$lines;
- push @$array, $self->_read_scalar( "$2", [ @$indent, undef ], $lines );
-
- } elsif ( $lines->[0] =~ /^\s*\-\s*\z/ ) {
- shift @$lines;
- unless ( @$lines ) {
- push @$array, undef;
- return 1;
- }
- if ( $lines->[0] =~ /^(\s*)\-/ ) {
- my $indent2 = length("$1");
- if ( $indent->[-1] == $indent2 ) {
- # Null array entry
- push @$array, undef;
- } else {
- # Naked indenter
- push @$array, [ ];
- $self->_read_array( $array->[-1], [ @$indent, $indent2 ], $lines );
- }
-
- } elsif ( $lines->[0] =~ /^(\s*)\S/ ) {
- push @$array, { };
- $self->_read_hash( $array->[-1], [ @$indent, length("$1") ], $lines );
-
- } else {
- Carp::croak("ExtUtils::MakeMaker::YAML failed to classify line '$lines->[0]'");
- }
-
- } elsif ( defined $indent->[-2] and $indent->[-1] == $indent->[-2] ) {
- # This is probably a structure like the following...
- # ---
- # foo:
- # - list
- # bar: value
- #
- # ... so lets return and let the hash parser handle it
- return 1;
-
- } else {
- Carp::croak("ExtUtils::MakeMaker::YAML failed to classify line '$lines->[0]'");
- }
- }
-
- return 1;
-}
-
-# Parse an array
-sub _read_hash {
- my ($self, $hash, $indent, $lines) = @_;
-
- while ( @$lines ) {
- # Check for a new document
- if ( $lines->[0] =~ /^(?:---|\.\.\.)/ ) {
- while ( @$lines and $lines->[0] !~ /^---/ ) {
- shift @$lines;
- }
- return 1;
- }
-
- # Check the indent level
- $lines->[0] =~ /^(\s*)/;
- if ( length($1) < $indent->[-1] ) {
- return 1;
- } elsif ( length($1) > $indent->[-1] ) {
- Carp::croak("ExtUtils::MakeMaker::YAML found bad indenting in line '$lines->[0]'");
- }
-
- # Get the key
- unless ( $lines->[0] =~ s/^\s*([^\'\" ][^\n]*?)\s*:(\s+|$)// ) {
- if ( $lines->[0] =~ /^\s*[?\'\"]/ ) {
- Carp::croak("ExtUtils::MakeMaker::YAML does not support a feature in line '$lines->[0]'");
- }
- Carp::croak("ExtUtils::MakeMaker::YAML failed to classify line '$lines->[0]'");
- }
- my $key = $1;
-
- # Do we have a value?
- if ( length $lines->[0] ) {
- # Yes
- $hash->{$key} = $self->_read_scalar( shift(@$lines), [ @$indent, undef ], $lines );
- } else {
- # An indent
- shift @$lines;
- unless ( @$lines ) {
- $hash->{$key} = undef;
- return 1;
- }
- if ( $lines->[0] =~ /^(\s*)-/ ) {
- $hash->{$key} = [];
- $self->_read_array( $hash->{$key}, [ @$indent, length($1) ], $lines );
- } elsif ( $lines->[0] =~ /^(\s*)./ ) {
- my $indent2 = length("$1");
- if ( $indent->[-1] >= $indent2 ) {
- # Null hash entry
- $hash->{$key} = undef;
- } else {
- $hash->{$key} = {};
- $self->_read_hash( $hash->{$key}, [ @$indent, length($1) ], $lines );
- }
- }
- }
- }
-
- return 1;
-}
-
-# Save an object to a file
-sub write {
- my $self = shift;
- my $file = shift or return $self->_error('No file name provided');
-
- # Write it to the file
- open( CFG, '>' . $file ) or return $self->_error(
- "Failed to open file '$file' for writing: $!"
- );
- print CFG $self->write_string;
- close CFG;
-
- return 1;
-}
-
-# Save an object to a string
-sub write_string {
- my $self = shift;
- return '' unless @$self;
-
- # Iterate over the documents
- my $indent = 0;
- my @lines = ();
- foreach my $cursor ( @$self ) {
- push @lines, '---';
-
- # An empty document
- if ( ! defined $cursor ) {
- # Do nothing
-
- # A scalar document
- } elsif ( ! ref $cursor ) {
- $lines[-1] .= ' ' . $self->_write_scalar( $cursor, $indent );
-
- # version object
- } elsif ( ref $cursor eq 'version' ) {
- $lines[-1] .= ' ' . $self->_write_scalar( $cursor->stringify, $indent );
-
- # A list at the root
- } elsif ( ref $cursor eq 'ARRAY' ) {
- unless ( @$cursor ) {
- $lines[-1] .= ' []';
- next;
- }
- push @lines, $self->_write_array( $cursor, $indent, {} );
-
- # A hash at the root
- } elsif ( ref $cursor eq 'HASH' ) {
- unless ( %$cursor ) {
- $lines[-1] .= ' {}';
- next;
- }
- push @lines, $self->_write_hash( $cursor, $indent, {} );
-
- } else {
- Carp::croak("Cannot serialize " . ref($cursor));
- }
- }
-
- join '', map { "$_\n" } @lines;
-}
-
-sub _write_scalar {
- my $string = $_[1];
- return '~' unless defined $string;
- return "''" unless length $string;
- if ( $string =~ /[\x00-\x08\x0b-\x0d\x0e-\x1f\"\'\n]/ ) {
- $string =~ s/\\/\\\\/g;
- $string =~ s/"/\\"/g;
- $string =~ s/\n/\\n/g;
- $string =~ s/([\x00-\x1f])/\\$UNPRINTABLE[ord($1)]/g;
- return qq|"$string"|;
- }
- if ( $string =~ /(?:^\W|\s)/ or $QUOTE{$string} ) {
- return "'$string'";
- }
- return $string;
-}
-
-sub _write_array {
- my ($self, $array, $indent, $seen) = @_;
- if ( $seen->{refaddr($array)}++ ) {
- die "ExtUtils::MakeMaker::YAML does not support circular references";
- }
- my @lines = ();
- foreach my $el ( @$array ) {
- my $line = (' ' x $indent) . '-';
- my $type = ref $el;
- if ( ! $type ) {
- $line .= ' ' . $self->_write_scalar( $el, $indent + 1 );
- push @lines, $line;
-
- # version object
- } elsif ( $type eq 'version' ) {
- $line .= ' ' . $self->_write_scalar( $el->stringify, $indent + 1 );
- push @lines, $line;
-
- } elsif ( $type eq 'ARRAY' ) {
- if ( @$el ) {
- push @lines, $line;
- push @lines, $self->_write_array( $el, $indent + 1, $seen );
- } else {
- $line .= ' []';
- push @lines, $line;
- }
-
- } elsif ( $type eq 'HASH' ) {
- if ( keys %$el ) {
- push @lines, $line;
- push @lines, $self->_write_hash( $el, $indent + 1, $seen );
- } else {
- $line .= ' {}';
- push @lines, $line;
- }
-
- } else {
- die "ExtUtils::MakeMaker::YAML does not support $type references";
- }
- }
-
- @lines;
-}
-
-sub _write_hash {
- my ($self, $hash, $indent, $seen) = @_;
- if ( $seen->{refaddr($hash)}++ ) {
- die "ExtUtils::MakeMaker::YAML does not support circular references";
- }
- my @lines = ();
- foreach my $name ( sort keys %$hash ) {
- my $el = $hash->{$name};
- my $line = (' ' x $indent) . "$name:";
- my $type = ref $el;
- if ( ! $type ) {
- $line .= ' ' . $self->_write_scalar( $el, $indent + 1 );
- push @lines, $line;
-
- # version object
- } elsif ( $type eq 'version' ) {
- $line .= ' ' . $self->_write_scalar( $el->stringify, $indent + 1 );
- push @lines, $line;
-
- } elsif ( $type eq 'ARRAY' ) {
- if ( @$el ) {
- push @lines, $line;
- push @lines, $self->_write_array( $el, $indent + 1, $seen );
- } else {
- $line .= ' []';
- push @lines, $line;
- }
-
- } elsif ( $type eq 'HASH' ) {
- if ( keys %$el ) {
- push @lines, $line;
- push @lines, $self->_write_hash( $el, $indent + 1, $seen );
- } else {
- $line .= ' {}';
- push @lines, $line;
- }
-
- } else {
- die "ExtUtils::MakeMaker::YAML does not support $type references";
- }
- }
-
- @lines;
-}
-
-# Set error
-sub _error {
- $ExtUtils::MakeMaker::YAML::errstr = $_[1];
- undef;
-}
-
-# Retrieve error
-sub errstr {
- $ExtUtils::MakeMaker::YAML::errstr;
-}
-
-
-
-
-
-#####################################################################
-# YAML Compatibility
-
-sub Dump {
- ExtUtils::MakeMaker::YAML->new(@_)->write_string;
-}
-
-sub Load {
- my $self = ExtUtils::MakeMaker::YAML->read_string(@_);
- unless ( $self ) {
- Carp::croak("Failed to load YAML document from string");
- }
- if ( wantarray ) {
- return @$self;
- } else {
- # To match YAML.pm, return the last document
- return $self->[-1];
- }
-}
-
-BEGIN {
- *freeze = *Dump;
- *thaw = *Load;
-}
-
-sub DumpFile {
- my $file = shift;
- ExtUtils::MakeMaker::YAML->new(@_)->write($file);
-}
-
-sub LoadFile {
- my $self = ExtUtils::MakeMaker::YAML->read($_[0]);
- unless ( $self ) {
- Carp::croak("Failed to load YAML document from '" . ($_[0] || '') . "'");
- }
- if ( wantarray ) {
- return @$self;
- } else {
- # Return only the last document to match YAML.pm,
- return $self->[-1];
- }
-}
-
-
-
-
-
-#####################################################################
-# Use Scalar::Util if possible, otherwise emulate it
-
-BEGIN {
- eval {
- require Scalar::Util;
- *refaddr = *Scalar::Util::refaddr;
- };
- eval <<'END_PERL' if $@;
-# Failed to load Scalar::Util
-sub refaddr {
- my $pkg = ref($_[0]) or return undef;
- if (!!UNIVERSAL::can($_[0], 'can')) {
- bless $_[0], 'Scalar::Util::Fake';
- } else {
- $pkg = undef;
- }
- "$_[0]" =~ /0x(\w+)/;
- my $i = do { local $^W; hex $1 };
- bless $_[0], $pkg if defined $pkg;
- $i;
-}
-END_PERL
-
-}
-
-1;
-
-__END__
-
-=pod
-
-=head1 NAME
-
-ExtUtils::MakeMaker::YAML - clone of YAML::Tiny
-
-=head1 SYNOPSIS
-
-See L<YAML::Tiny>
-
-=head1 AUTHOR
-
-Adam Kennedy E<lt>adamk@cpan.orgE<gt>
-
-=head1 SEE ALSO
-
-L<YAML>, L<YAML::Syck>
-
-=head1 COPYRIGHT
-
-Copyright 2006 - 2010 Adam Kennedy.
-
-This program is free software; you can redistribute
-it and/or modify it under the same terms as Perl itself.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Manifest.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Manifest.pm
index ce4314c419d..b1e61200187 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Manifest.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Manifest.pm
@@ -13,7 +13,7 @@ use vars qw($VERSION @ISA @EXPORT_OK
$Is_MacOS $Is_VMS $Is_VMS_mode $Is_VMS_lc $Is_VMS_nodot
$Debug $Verbose $Quiet $MANIFEST $DEFAULT_MSKIP);
-$VERSION = '1.58';
+$VERSION = '1.61';
@ISA=('Exporter');
@EXPORT_OK = qw(mkmanifest
manicheck filecheck fullcheck skipcheck
@@ -706,21 +706,36 @@ sub maniadd {
}
-# Sometimes MANIFESTs are missing a trailing newline. Fix this.
+# Make sure this MANIFEST is consistently written with native
+# newlines and has a terminal newline.
sub _fix_manifest {
my $manifest_file = shift;
open MANIFEST, $MANIFEST or die "Could not open $MANIFEST: $!";
-
- # Yes, we should be using seek(), but I'd like to avoid loading POSIX
- # to get SEEK_*
- my @manifest = <MANIFEST>;
+ local $/;
+ my @manifest = split /(\015\012|\012|\015)/, <MANIFEST>, -1;
close MANIFEST;
+ my $must_rewrite = "";
+ if ($manifest[-1] eq ""){
+ # sane case: last line had a terminal newline
+ pop @manifest;
+ for (my $i=1; $i<=$#manifest; $i+=2) {
+ unless ($manifest[$i] eq "\n") {
+ $must_rewrite = "not a newline at pos $i";
+ last;
+ }
+ }
+ } else {
+ $must_rewrite = "last line without newline";
+ }
- unless( $manifest[-1] =~ /\n\z/ ) {
- open MANIFEST, ">>$MANIFEST" or die "Could not open $MANIFEST: $!";
- print MANIFEST "\n";
- close MANIFEST;
+ if ( $must_rewrite ) {
+ 1 while unlink $MANIFEST; # avoid multiple versions on VMS
+ open MANIFEST, ">", $MANIFEST or die "(must_rewrite=$must_rewrite) Could not open >$MANIFEST: $!";
+ for (my $i=0; $i<=$#manifest; $i+=2) {
+ print MANIFEST "$manifest[$i]\n";
+ }
+ close MANIFEST or die "could not write $MANIFEST: $!";
}
}
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm
index 379eb118ed5..0a2cb627abe 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Miniperl.pm
@@ -94,7 +94,7 @@ main(int argc, char **argv, char **env)
PERL_UNUSED_ARG(env);
#endif
#ifndef PERL_USE_SAFE_PUTENV
- PL_use_safe_putenv = 0;
+ PL_use_safe_putenv = FALSE;
#endif /* PERL_USE_SAFE_PUTENV */
/* if user wants control of gprof profiling off by default */
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm
index fbf24156c6a..b5f19ea95ce 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Mkbootstrap.pm
@@ -3,7 +3,7 @@ package ExtUtils::Mkbootstrap;
# There's just too much Dynaloader incest here to turn on strict vars.
use strict 'refs';
-our $VERSION = '6.57_05';
+our $VERSION = '6.63_02';
require Exporter;
our @ISA = ('Exporter');
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm
index 9aac3fd74a4..f0860855923 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Mksymlists.pm
@@ -10,7 +10,7 @@ use Config;
our @ISA = qw(Exporter);
our @EXPORT = qw(&Mksymlists);
-our $VERSION = '6.57_05';
+our $VERSION = '6.63_02';
sub Mksymlists {
my(%spec) = @_;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Packlist.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Packlist.pm
index b77a556be50..a268e300d3c 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/Packlist.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Packlist.pm
@@ -5,7 +5,7 @@ use strict;
use Carp qw();
use Config;
use vars qw($VERSION $Relocations);
-$VERSION = '1.44';
+$VERSION = '1.46';
$VERSION = eval $VERSION;
# Used for generating filehandle globs. IO::File might not be available!
@@ -24,6 +24,7 @@ Make a filehandle. Same kind of idea as Symbol::gensym().
sub mkfh()
{
no strict;
+local $^W;
my $fh = \*{$fhname++};
use strict;
return($fh);
@@ -34,10 +35,10 @@ return($fh);
Works out what absolute paths in the configuration have been located at run
time relative to $^X, and generates a regexp that matches them
-=end _undocumented
-
=back
+=end _undocumented
+
=cut
sub __find_relocations
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm
index 79b39688492..883d9059311 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pm
@@ -1,109 +1,117 @@
package ExtUtils::ParseXS;
+use strict;
-use 5.006; # We use /??{}/ in regexes
+use 5.006001;
use Cwd;
use Config;
+use Exporter;
use File::Basename;
use File::Spec;
use Symbol;
-require Exporter;
-
-@ISA = qw(Exporter);
-@EXPORT_OK = qw(process_file);
-
-# use strict; # One of these days...
-
-my(@XSStack); # Stack of conditionals and INCLUDEs
-my($XSS_work_idx, $cpp_next_tmp);
-
-use vars qw($VERSION);
-$VERSION = '2.2210';
+our $VERSION;
+BEGIN {
+ $VERSION = '3.16';
+}
+use ExtUtils::ParseXS::Constants $VERSION;
+use ExtUtils::ParseXS::CountLines $VERSION;
+use ExtUtils::ParseXS::Utilities $VERSION;
$VERSION = eval $VERSION if $VERSION =~ /_/;
-use vars qw(%input_expr %output_expr $ProtoUsed @InitFileCode $FH $proto_re $Overload $errors $Fallback
- $cplusplus $hiertype $WantPrototypes $WantVersionChk $except $WantLineNumbers
- $WantOptimize $process_inout $process_argtypes @tm
- $dir $filename $filepathname %IncludedFiles
- %type_kind %proto_letter
- %targetable $BLOCK_re $lastline $lastline_no
- $Package $Prefix @line @BootCode %args_match %defaults %var_types %arg_list @proto_arg
- $processing_arg_with_types %argtype_seen @outlist %in_out %lengthof
- $proto_in_this_xsub $scope_in_this_xsub $interface $prepush_done $interface_macro $interface_macro_set
- $ProtoThisXSUB $ScopeThisXSUB $xsreturn
- @line_no $ret_type $func_header $orig_args
- ); # Add these just to get compilation to happen.
-
+use ExtUtils::ParseXS::Utilities qw(
+ standard_typemap_locations
+ trim_whitespace
+ tidy_type
+ C_string
+ valid_proto_string
+ process_typemaps
+ make_targetable
+ map_type
+ standard_XS_defs
+ assign_func_args
+ analyze_preprocessor_statements
+ set_cond
+ Warn
+ current_line_number
+ blurt
+ death
+ check_conditional_preprocessor_statements
+ escape_file_for_line_directive
+ report_typemap_failure
+);
+
+our @ISA = qw(Exporter);
+our @EXPORT_OK = qw(
+ process_file
+ report_error_count
+);
+
+# The scalars in the line below remain as 'our' variables because pulling
+# them into $self led to build problems. In most cases, strings being
+# 'eval'-ed contain the variables' names hard-coded.
+our (
+ $Package, $func_name, $Full_func_name, $pname, $ALIAS,
+);
+
+our $self = bless {} => __PACKAGE__;
sub process_file {
-
+
# Allow for $package->process_file(%hash) in the future
- my ($pkg, %args) = @_ % 2 ? @_ : (__PACKAGE__, @_);
-
- $ProtoUsed = exists $args{prototypes};
-
+ my ($pkg, %options) = @_ % 2 ? @_ : (__PACKAGE__, @_);
+
+ $self->{ProtoUsed} = exists $options{prototypes};
+
# Set defaults.
- %args = (
- # 'C++' => 0, # Doesn't seem to *do* anything...
- hiertype => 0,
- except => 0,
- prototypes => 0,
- versioncheck => 1,
- linenumbers => 1,
- optimize => 1,
- prototypes => 0,
- inout => 1,
- argtypes => 1,
- typemap => [],
- output => \*STDOUT,
- csuffix => '.c',
- %args,
- );
+ my %args = (
+ argtypes => 1,
+ csuffix => '.c',
+ except => 0,
+ hiertype => 0,
+ inout => 1,
+ linenumbers => 1,
+ optimize => 1,
+ output => \*STDOUT,
+ prototypes => 0,
+ typemap => [],
+ versioncheck => 1,
+ FH => Symbol::gensym(),
+ %options,
+ );
+ $args{except} = $args{except} ? ' TRY' : '';
# Global Constants
-
+
my ($Is_VMS, $SymSet);
if ($^O eq 'VMS') {
$Is_VMS = 1;
# Establish set of global symbols with max length 28, since xsubpp
# will later add the 'XS_' prefix.
require ExtUtils::XSSymSet;
- $SymSet = new ExtUtils::XSSymSet 28;
+ $SymSet = ExtUtils::XSSymSet->new(28);
}
- @XSStack = ({type => 'none'});
- ($XSS_work_idx, $cpp_next_tmp) = (0, "XSubPPtmpAAAA");
- @InitFileCode = ();
- $FH = Symbol::gensym();
- $proto_re = "[" . quotemeta('\$%&*@;[]_') . "]" ;
- $Overload = 0;
- $errors = 0;
- $Fallback = '&PL_sv_undef';
+ @{ $self->{XSStack} } = ({type => 'none'});
+ $self->{InitFileCode} = [ @ExtUtils::ParseXS::Constants::InitFileCode ];
+ $self->{Overload} = 0;
+ $self->{errors} = 0;
+ $self->{Fallback} = '&PL_sv_undef';
# Most of the 1500 lines below uses these globals. We'll have to
# clean this up sometime, probably. For now, we just pull them out
# of %args. -Ken
-
- $cplusplus = $args{'C++'};
- $hiertype = $args{hiertype};
- $WantPrototypes = $args{prototypes};
- $WantVersionChk = $args{versioncheck};
- $except = $args{except} ? ' TRY' : '';
- $WantLineNumbers = $args{linenumbers};
- $WantOptimize = $args{optimize};
- $process_inout = $args{inout};
- $process_argtypes = $args{argtypes};
- @tm = ref $args{typemap} ? @{$args{typemap}} : ($args{typemap});
-
- for ($args{filename}) {
- die "Missing required parameter 'filename'" unless $_;
- $filepathname = $_;
- ($dir, $filename) = (dirname($_), basename($_));
- $filepathname =~ s/\\/\\\\/g;
- $IncludedFiles{$_}++;
- }
-
- # Open the input file
- open($FH, $args{filename}) or die "cannot open $args{filename}: $!\n";
+
+ $self->{hiertype} = $args{hiertype};
+ $self->{WantPrototypes} = $args{prototypes};
+ $self->{WantVersionChk} = $args{versioncheck};
+ $self->{WantLineNumbers} = $args{linenumbers};
+ $self->{IncludedFiles} = {};
+
+ die "Missing required parameter 'filename'" unless $args{filename};
+ $self->{filepathname} = $args{filename};
+ ($self->{dir}, $self->{filename}) =
+ (dirname($args{filename}), basename($args{filename}));
+ $self->{filepathname} =~ s/\\/\\\\/g;
+ $self->{IncludedFiles}->{$args{filename}}++;
# Open the output file if given as a string. If they provide some
# other kind of reference, trust them that we can print to it.
@@ -114,194 +122,121 @@ sub process_file {
}
# Really, we shouldn't have to chdir() or select() in the first
- # place. For now, just save & restore.
+ # place. For now, just save and restore.
my $orig_cwd = cwd();
my $orig_fh = select();
-
- chdir($dir);
+
+ chdir($self->{dir});
my $pwd = cwd();
my $csuffix = $args{csuffix};
-
- if ($WantLineNumbers) {
+
+ if ($self->{WantLineNumbers}) {
my $cfile;
if ( $args{outfile} ) {
$cfile = $args{outfile};
- } else {
+ }
+ else {
$cfile = $args{filename};
$cfile =~ s/\.xs$/$csuffix/i or $cfile .= $csuffix;
}
tie(*PSEUDO_STDOUT, 'ExtUtils::ParseXS::CountLines', $cfile, $args{output});
select PSEUDO_STDOUT;
- } else {
- select $args{output};
- }
-
- foreach my $typemap (@tm) {
- die "Can't find $typemap in $pwd\n" unless -r $typemap;
}
-
- push @tm, standard_typemap_locations();
-
- foreach my $typemap (@tm) {
- next unless -f $typemap ;
- # skip directories, binary files etc.
- warn("Warning: ignoring non-text typemap file '$typemap'\n"), next
- unless -T $typemap ;
- open(TYPEMAP, $typemap)
- or warn ("Warning: could not open typemap file '$typemap': $!\n"), next;
- my $mode = 'Typemap';
- my $junk = "" ;
- my $current = \$junk;
- while (<TYPEMAP>) {
- next if /^\s* #/;
- my $line_no = $. + 1;
- if (/^INPUT\s*$/) {
- $mode = 'Input'; $current = \$junk; next;
- }
- if (/^OUTPUT\s*$/) {
- $mode = 'Output'; $current = \$junk; next;
- }
- if (/^TYPEMAP\s*$/) {
- $mode = 'Typemap'; $current = \$junk; next;
- }
- if ($mode eq 'Typemap') {
- chomp;
- my $line = $_ ;
- TrimWhitespace($_) ;
- # skip blank lines and comment lines
- next if /^$/ or /^#/ ;
- my($type,$kind, $proto) = /^\s*(.*?\S)\s+(\S+)\s*($proto_re*)\s*$/ or
- warn("Warning: File '$typemap' Line $. '$line' TYPEMAP entry needs 2 or 3 columns\n"), next;
- $type = TidyType($type) ;
- $type_kind{$type} = $kind ;
- # prototype defaults to '$'
- $proto = "\$" unless $proto ;
- warn("Warning: File '$typemap' Line $. '$line' Invalid prototype '$proto'\n")
- unless ValidProtoString($proto) ;
- $proto_letter{$type} = C_string($proto) ;
- } elsif (/^\s/) {
- $$current .= $_;
- } elsif ($mode eq 'Input') {
- s/\s+$//;
- $input_expr{$_} = '';
- $current = \$input_expr{$_};
- } else {
- s/\s+$//;
- $output_expr{$_} = '';
- $current = \$output_expr{$_};
- }
- }
- close(TYPEMAP);
- }
-
- foreach my $value (values %input_expr) {
- $value =~ s/;*\s+\z//;
- # Move C pre-processor instructions to column 1 to be strictly ANSI
- # conformant. Some pre-processors are fussy about this.
- $value =~ s/^\s+#/#/mg;
- }
- foreach my $value (values %output_expr) {
- # And again.
- $value =~ s/^\s+#/#/mg;
+ else {
+ select $args{output};
}
- my ($cast, $size);
- our $bal = qr[(?:(?>[^()]+)|\((??{ $bal })\))*]; # ()-balanced
- $cast = qr[(?:\(\s*SV\s*\*\s*\)\s*)?]; # Optional (SV*) cast
- $size = qr[,\s* (??{ $bal }) ]x; # Third arg (to setpvn)
-
- foreach my $key (keys %output_expr) {
- # We can still bootstrap compile 're', because in code re.pm is
- # available to miniperl, and does not attempt to load the XS code.
- use re 'eval';
-
- my ($t, $with_size, $arg, $sarg) =
- ($output_expr{$key} =~
- m[^ \s+ sv_set ( [iunp] ) v (n)? # Type, is_setpvn
- \s* \( \s* $cast \$arg \s* ,
- \s* ( (??{ $bal }) ) # Set from
- ( (??{ $size }) )? # Possible sizeof set-from
- \) \s* ; \s* $
- ]x);
- $targetable{$key} = [$t, $with_size, $arg, $sarg] if $t;
- }
+ $self->{typemap} = process_typemaps( $args{typemap}, $pwd );
- my $END = "!End!\n\n"; # "impossible" keyword (multiple newline)
+ my $END = "!End!\n\n"; # "impossible" keyword (multiple newline)
# Match an XS keyword
- $BLOCK_re= '\s*(' . join('|', qw(
- REQUIRE BOOT CASE PREINIT INPUT INIT CODE PPCODE
- OUTPUT CLEANUP ALIAS ATTRS PROTOTYPES PROTOTYPE
- VERSIONCHECK INCLUDE INCLUDE_COMMAND SCOPE INTERFACE
- INTERFACE_MACRO C_ARGS POSTCALL OVERLOAD FALLBACK
- )) . "|$END)\\s*:";
-
-
+ $self->{BLOCK_re} = '\s*(' .
+ join('|' => @ExtUtils::ParseXS::Constants::XSKeywords) .
+ "|$END)\\s*:";
+
our ($C_group_rex, $C_arg);
# Group in C (no support for comments or literals)
$C_group_rex = qr/ [({\[]
- (?: (?> [^()\[\]{}]+ ) | (??{ $C_group_rex }) )*
- [)}\]] /x ;
+ (?: (?> [^()\[\]{}]+ ) | (??{ $C_group_rex }) )*
+ [)}\]] /x;
# Chunk in C without comma at toplevel (no comments):
$C_arg = qr/ (?: (?> [^()\[\]{},"']+ )
- | (??{ $C_group_rex })
- | " (?: (?> [^\\"]+ )
- | \\.
- )* " # String literal
- | ' (?: (?> [^\\']+ ) | \\. )* ' # Char literal
- )* /xs;
-
+ | (??{ $C_group_rex })
+ | " (?: (?> [^\\"]+ )
+ | \\.
+ )* " # String literal
+ | ' (?: (?> [^\\']+ ) | \\. )* ' # Char literal
+ )* /xs;
+
+ # Since at this point we're ready to begin printing to the output file and
+ # reading from the input file, I want to get as much data as possible into
+ # the proto-object $self. That means assigning to $self and elements of
+ # %args referenced below this point.
+ # HOWEVER: This resulted in an error when I tried:
+ # $args{'s'} ---> $self->{s}.
+ # Use of uninitialized value in quotemeta at
+ # .../blib/lib/ExtUtils/ParseXS.pm line 733
+
+ foreach my $datum ( qw| argtypes except inout optimize | ) {
+ $self->{$datum} = $args{$datum};
+ }
+
# Identify the version of xsubpp used
- print <<EOM ;
+ print <<EOM;
/*
* This file was generated automatically by ExtUtils::ParseXS version $VERSION from the
- * contents of $filename. Do not edit this file, edit $filename instead.
+ * contents of $self->{filename}. Do not edit this file, edit $self->{filename} instead.
*
- * ANY CHANGES MADE HERE WILL BE LOST!
+ * ANY CHANGES MADE HERE WILL BE LOST!
*
*/
EOM
- print("#line 1 \"$filepathname\"\n")
- if $WantLineNumbers;
+ print("#line 1 \"" . escape_file_for_line_directive($self->{filepathname}) . "\"\n")
+ if $self->{WantLineNumbers};
+
+ # Open the input file (using $self->{filename} which
+ # is a basename'd $args{filename} due to chdir above)
+ open($self->{FH}, '<', $self->{filename}) or die "cannot open $self->{filename}: $!\n";
firstmodule:
- while (<$FH>) {
+ while (readline($self->{FH})) {
if (/^=/) {
my $podstartline = $.;
do {
- if (/^=cut\s*$/) {
- # We can't just write out a /* */ comment, as our embedded
- # POD might itself be in a comment. We can't put a /**/
- # comment inside #if 0, as the C standard says that the source
- # file is decomposed into preprocessing characters in the stage
- # before preprocessing commands are executed.
- # I don't want to leave the text as barewords, because the spec
- # isn't clear whether macros are expanded before or after
- # preprocessing commands are executed, and someone pathological
- # may just have defined one of the 3 words as a macro that does
- # something strange. Multiline strings are illegal in C, so
- # the "" we write must be a string literal. And they aren't
- # concatenated until 2 steps later, so we are safe.
- # - Nicholas Clark
- print("#if 0\n \"Skipped embedded POD.\"\n#endif\n");
- printf("#line %d \"$filepathname\"\n", $. + 1)
- if $WantLineNumbers;
- next firstmodule
- }
-
- } while (<$FH>);
+ if (/^=cut\s*$/) {
+ # We can't just write out a /* */ comment, as our embedded
+ # POD might itself be in a comment. We can't put a /**/
+ # comment inside #if 0, as the C standard says that the source
+ # file is decomposed into preprocessing characters in the stage
+ # before preprocessing commands are executed.
+ # I don't want to leave the text as barewords, because the spec
+ # isn't clear whether macros are expanded before or after
+ # preprocessing commands are executed, and someone pathological
+ # may just have defined one of the 3 words as a macro that does
+ # something strange. Multiline strings are illegal in C, so
+ # the "" we write must be a string literal. And they aren't
+ # concatenated until 2 steps later, so we are safe.
+ # - Nicholas Clark
+ print("#if 0\n \"Skipped embedded POD.\"\n#endif\n");
+ printf("#line %d \"%s\"\n", $. + 1, escape_file_for_line_directive($self->{filepathname}))
+ if $self->{WantLineNumbers};
+ next firstmodule
+ }
+
+ } while (readline($self->{FH}));
# At this point $. is at end of file so die won't state the start
# of the problem, and as we haven't yet read any lines &death won't
# show the correct line in the message either.
- die ("Error: Unterminated pod in $filename, line $podstartline\n")
- unless $lastline;
+ die ("Error: Unterminated pod in $self->{filename}, line $podstartline\n")
+ unless $self->{lastline};
}
- last if ($Package, $Prefix) =
+ last if ($Package, $self->{Prefix}) =
/^MODULE\s*=\s*[\w:]+(?:\s+PACKAGE\s*=\s*([\w:]+))?(?:\s+PREFIX\s*=\s*(\S+))?\s*$/;
-
+
print $_;
}
unless (defined $_) {
@@ -309,313 +244,259 @@ EOM
exit 0; # Not a fatal error for the caller process
}
- print 'ExtUtils::ParseXS::CountLines'->end_marker, "\n" if $WantLineNumbers;
-
- print <<"EOF";
-#ifndef PERL_UNUSED_VAR
-# define PERL_UNUSED_VAR(var) if (0) var = var
-#endif
-
-EOF
-
- print <<"EOF";
-#ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
-#define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)
-
-/* prototype to pass -Wmissing-prototypes */
-STATIC void
-S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params);
-
-STATIC void
-S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params)
-{
- const GV *const gv = CvGV(cv);
-
- PERL_ARGS_ASSERT_CROAK_XS_USAGE;
-
- if (gv) {
- const char *const gvname = GvNAME(gv);
- const HV *const stash = GvSTASH(gv);
- const char *const hvname = stash ? HvNAME(stash) : NULL;
-
- if (hvname)
- Perl_croak(aTHX_ "Usage: %s::%s(%s)", hvname, gvname, params);
- else
- Perl_croak(aTHX_ "Usage: %s(%s)", gvname, params);
- } else {
- /* Pants. I don't think that it should be possible to get here. */
- Perl_croak(aTHX_ "Usage: CODE(0x%"UVxf")(%s)", PTR2UV(cv), params);
- }
-}
-#undef PERL_ARGS_ASSERT_CROAK_XS_USAGE
-
-#ifdef PERL_IMPLICIT_CONTEXT
-#define croak_xs_usage(a,b) S_croak_xs_usage(aTHX_ a,b)
-#else
-#define croak_xs_usage S_croak_xs_usage
-#endif
-
-#endif
-
-/* NOTE: the prototype of newXSproto() is different in versions of perls,
- * so we define a portable version of newXSproto()
- */
-#ifdef newXS_flags
-#define newXSproto_portable(name, c_impl, file, proto) newXS_flags(name, c_impl, file, proto, 0)
-#else
-#define newXSproto_portable(name, c_impl, file, proto) (PL_Sv=(SV*)newXS(name, c_impl, file), sv_setpv(PL_Sv, proto), (CV*)PL_Sv)
-#endif /* !defined(newXS_flags) */
+ print 'ExtUtils::ParseXS::CountLines'->end_marker, "\n" if $self->{WantLineNumbers};
-EOF
+ standard_XS_defs();
- print 'ExtUtils::ParseXS::CountLines'->end_marker, "\n" if $WantLineNumbers;
+ print 'ExtUtils::ParseXS::CountLines'->end_marker, "\n" if $self->{WantLineNumbers};
- $lastline = $_;
- $lastline_no = $.;
+ $self->{lastline} = $_;
+ $self->{lastline_no} = $.;
+ my $BootCode_ref = [];
+ my $XSS_work_idx = 0;
+ my $cpp_next_tmp = 'XSubPPtmpAAAA';
PARAGRAPH:
- while (fetch_para()) {
+ while ($self->fetch_para()) {
+ my $outlist_ref = [];
# Print initial preprocessor statements and blank lines
- while (@line && $line[0] !~ /^[^\#]/) {
- my $line = shift(@line);
- print $line, "\n";
- next unless $line =~ /^\#\s*((if)(?:n?def)?|elsif|else|endif)\b/;
+ while (@{ $self->{line} } && $self->{line}->[0] !~ /^[^\#]/) {
+ my $ln = shift(@{ $self->{line} });
+ print $ln, "\n";
+ next unless $ln =~ /^\#\s*((if)(?:n?def)?|elsif|else|endif)\b/;
my $statement = $+;
- if ($statement eq 'if') {
- $XSS_work_idx = @XSStack;
- push(@XSStack, {type => 'if'});
- } else {
- death ("Error: `$statement' with no matching `if'")
- if $XSStack[-1]{type} ne 'if';
- if ($XSStack[-1]{varname}) {
- push(@InitFileCode, "#endif\n");
- push(@BootCode, "#endif");
- }
-
- my(@fns) = keys %{$XSStack[-1]{functions}};
- if ($statement ne 'endif') {
- # Hide the functions defined in other #if branches, and reset.
- @{$XSStack[-1]{other_functions}}{@fns} = (1) x @fns;
- @{$XSStack[-1]}{qw(varname functions)} = ('', {});
- } else {
- my($tmp) = pop(@XSStack);
- 0 while (--$XSS_work_idx
- && $XSStack[$XSS_work_idx]{type} ne 'if');
- # Keep all new defined functions
- push(@fns, keys %{$tmp->{other_functions}});
- @{$XSStack[$XSS_work_idx]{functions}}{@fns} = (1) x @fns;
- }
- }
+ ( $self, $XSS_work_idx, $BootCode_ref ) =
+ analyze_preprocessor_statements(
+ $self, $statement, $XSS_work_idx, $BootCode_ref
+ );
}
-
- next PARAGRAPH unless @line;
-
- if ($XSS_work_idx && !$XSStack[$XSS_work_idx]{varname}) {
+
+ next PARAGRAPH unless @{ $self->{line} };
+
+ if ($XSS_work_idx && !$self->{XSStack}->[$XSS_work_idx]{varname}) {
# We are inside an #if, but have not yet #defined its xsubpp variable.
print "#define $cpp_next_tmp 1\n\n";
- push(@InitFileCode, "#if $cpp_next_tmp\n");
- push(@BootCode, "#if $cpp_next_tmp");
- $XSStack[$XSS_work_idx]{varname} = $cpp_next_tmp++;
+ push(@{ $self->{InitFileCode} }, "#if $cpp_next_tmp\n");
+ push(@{ $BootCode_ref }, "#if $cpp_next_tmp");
+ $self->{XSStack}->[$XSS_work_idx]{varname} = $cpp_next_tmp++;
}
- death ("Code is not inside a function"
- ." (maybe last function was ended by a blank line "
- ." followed by a statement on column one?)")
- if $line[0] =~ /^\s/;
-
- my ($class, $externC, $static, $ellipsis, $wantRETVAL, $RETVAL_no_return);
- my (@fake_INPUT_pre); # For length(s) generated variables
- my (@fake_INPUT);
-
+ $self->death(
+ "Code is not inside a function"
+ ." (maybe last function was ended by a blank line "
+ ." followed by a statement on column one?)")
+ if $self->{line}->[0] =~ /^\s/;
+
# initialize info arrays
- undef(%args_match);
- undef(%var_types);
- undef(%defaults);
- undef(%arg_list) ;
- undef(@proto_arg) ;
- undef($processing_arg_with_types) ;
- undef(%argtype_seen) ;
- undef(@outlist) ;
- undef(%in_out) ;
- undef(%lengthof) ;
- undef($proto_in_this_xsub) ;
- undef($scope_in_this_xsub) ;
- undef($interface);
- undef($prepush_done);
- $interface_macro = 'XSINTERFACE_FUNC' ;
- $interface_macro_set = 'XSINTERFACE_FUNC_SET' ;
- $ProtoThisXSUB = $WantPrototypes ;
- $ScopeThisXSUB = 0;
- $xsreturn = 0;
-
- $_ = shift(@line);
- while (my $kwd = check_keyword("REQUIRE|PROTOTYPES|FALLBACK|VERSIONCHECK|INCLUDE(?:_COMMAND)?|SCOPE")) {
- &{"${kwd}_handler"}() ;
- next PARAGRAPH unless @line ;
- $_ = shift(@line);
+ foreach my $member (qw(args_match var_types defaults arg_list
+ argtype_seen in_out lengthof))
+ {
+ $self->{$member} = {};
}
-
- if (check_keyword("BOOT")) {
- &check_cpp;
- push (@BootCode, "#line $line_no[@line_no - @line] \"$filepathname\"")
- if $WantLineNumbers && $line[0] !~ /^\s*#\s*line\b/;
- push (@BootCode, @line, "") ;
- next PARAGRAPH ;
+ $self->{proto_arg} = [];
+ $self->{processing_arg_with_types} = undef;
+ $self->{proto_in_this_xsub} = undef;
+ $self->{scope_in_this_xsub} = undef;
+ $self->{interface} = undef;
+ $self->{interface_macro} = 'XSINTERFACE_FUNC';
+ $self->{interface_macro_set} = 'XSINTERFACE_FUNC_SET';
+ $self->{ProtoThisXSUB} = $self->{WantPrototypes};
+ $self->{ScopeThisXSUB} = 0;
+
+ my $xsreturn = 0;
+
+ $_ = shift(@{ $self->{line} });
+ while (my $kwd = $self->check_keyword("REQUIRE|PROTOTYPES|EXPORT_XSUB_SYMBOLS|FALLBACK|VERSIONCHECK|INCLUDE(?:_COMMAND)?|SCOPE")) {
+ my $method = $kwd . "_handler";
+ $self->$method($_);
+ next PARAGRAPH unless @{ $self->{line} };
+ $_ = shift(@{ $self->{line} });
}
+ if ($self->check_keyword("BOOT")) {
+ check_conditional_preprocessor_statements($self);
+ push (@{ $BootCode_ref }, "#line $self->{line_no}->[@{ $self->{line_no} } - @{ $self->{line} }] \""
+ . escape_file_for_line_directive($self->{filepathname}) . "\"")
+ if $self->{WantLineNumbers} && $self->{line}->[0] !~ /^\s*#\s*line\b/;
+ push (@{ $BootCode_ref }, @{ $self->{line} }, "");
+ next PARAGRAPH;
+ }
# extract return type, function name and arguments
- ($ret_type) = TidyType($_);
- $RETVAL_no_return = 1 if $ret_type =~ s/^NO_OUTPUT\s+//;
+ ($self->{ret_type}) = tidy_type($_);
+ my $RETVAL_no_return = 1 if $self->{ret_type} =~ s/^NO_OUTPUT\s+//;
# Allow one-line ANSI-like declaration
- unshift @line, $2
- if $process_argtypes
- and $ret_type =~ s/^(.*?\w.*?)\s*\b(\w+\s*\(.*)/$1/s;
+ unshift @{ $self->{line} }, $2
+ if $self->{argtypes}
+ and $self->{ret_type} =~ s/^(.*?\w.*?)\s*\b(\w+\s*\(.*)/$1/s;
# a function definition needs at least 2 lines
- blurt ("Error: Function definition too short '$ret_type'"), next PARAGRAPH
- unless @line ;
+ $self->blurt("Error: Function definition too short '$self->{ret_type}'"), next PARAGRAPH
+ unless @{ $self->{line} };
- $externC = 1 if $ret_type =~ s/^extern "C"\s+//;
- $static = 1 if $ret_type =~ s/^static\s+//;
+ my $externC = 1 if $self->{ret_type} =~ s/^extern "C"\s+//;
+ my $static = 1 if $self->{ret_type} =~ s/^static\s+//;
- $func_header = shift(@line);
- blurt ("Error: Cannot parse function definition from '$func_header'"), next PARAGRAPH
+ my $func_header = shift(@{ $self->{line} });
+ $self->blurt("Error: Cannot parse function definition from '$func_header'"), next PARAGRAPH
unless $func_header =~ /^(?:([\w:]*)::)?(\w+)\s*\(\s*(.*?)\s*\)\s*(const)?\s*(;\s*)?$/s;
- ($class, $func_name, $orig_args) = ($1, $2, $3) ;
+ my ($class, $orig_args);
+ ($class, $func_name, $orig_args) = ($1, $2, $3);
$class = "$4 $class" if $4;
- ($pname = $func_name) =~ s/^($Prefix)?/$Packprefix/;
- ($clean_func_name = $func_name) =~ s/^$Prefix//;
- $Full_func_name = "${Packid}_$clean_func_name";
+ ($pname = $func_name) =~ s/^($self->{Prefix})?/$self->{Packprefix}/;
+ my $clean_func_name;
+ ($clean_func_name = $func_name) =~ s/^$self->{Prefix}//;
+ $Full_func_name = "$self->{Packid}_$clean_func_name";
if ($Is_VMS) {
$Full_func_name = $SymSet->addsym($Full_func_name);
}
# Check for duplicate function definition
- for my $tmp (@XSStack) {
+ for my $tmp (@{ $self->{XSStack} }) {
next unless defined $tmp->{functions}{$Full_func_name};
- Warn("Warning: duplicate function definition '$clean_func_name' detected");
+ Warn( $self, "Warning: duplicate function definition '$clean_func_name' detected");
last;
}
- $XSStack[$XSS_work_idx]{functions}{$Full_func_name} ++ ;
- %XsubAliases = %XsubAliasValues = %Interfaces = @Attributes = ();
- $DoSetMagic = 1;
-
- $orig_args =~ s/\\\s*/ /g; # process line continuations
+ $self->{XSStack}->[$XSS_work_idx]{functions}{$Full_func_name}++;
+ %{ $self->{XsubAliases} } = ();
+ %{ $self->{XsubAliasValues} } = ();
+ %{ $self->{Interfaces} } = ();
+ @{ $self->{Attributes} } = ();
+ $self->{DoSetMagic} = 1;
+
+ $orig_args =~ s/\\\s*/ /g; # process line continuations
my @args;
- my %only_C_inlist; # Not in the signature of Perl function
- if ($process_argtypes and $orig_args =~ /\S/) {
+ my (@fake_INPUT_pre); # For length(s) generated variables
+ my (@fake_INPUT);
+ my $only_C_inlist_ref = {}; # Not in the signature of Perl function
+ if ($self->{argtypes} and $orig_args =~ /\S/) {
my $args = "$orig_args ,";
if ($args =~ /^( (??{ $C_arg }) , )* $ /x) {
- @args = ($args =~ /\G ( (??{ $C_arg }) ) , /xg);
- for ( @args ) {
- s/^\s+//;
- s/\s+$//;
- my ($arg, $default) = / ( [^=]* ) ( (?: = .* )? ) /x;
- my ($pre, $name) = ($arg =~ /(.*?) \s*
- \b ( \w+ | length\( \s*\w+\s* \) )
- \s* $ /x);
- next unless defined($pre) && length($pre);
- my $out_type = '';
- my $inout_var;
- if ($process_inout and s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\b\s*//) {
- my $type = $1;
- $out_type = $type if $type ne 'IN';
- $arg =~ s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\b\s*//;
- $pre =~ s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\b\s*//;
- }
- my $islength;
- if ($name =~ /^length\( \s* (\w+) \s* \)\z/x) {
- $name = "XSauto_length_of_$1";
- $islength = 1;
- die "Default value on length() argument: `$_'"
- if length $default;
- }
- if (length $pre or $islength) { # Has a type
- if ($islength) {
- push @fake_INPUT_pre, $arg;
- } else {
- push @fake_INPUT, $arg;
- }
- # warn "pushing '$arg'\n";
- $argtype_seen{$name}++;
- $_ = "$name$default"; # Assigns to @args
- }
- $only_C_inlist{$_} = 1 if $out_type eq "OUTLIST" or $islength;
- push @outlist, $name if $out_type =~ /OUTLIST$/;
- $in_out{$name} = $out_type if $out_type;
- }
- } else {
- @args = split(/\s*,\s*/, $orig_args);
- Warn("Warning: cannot parse argument list '$orig_args', fallback to split");
+ @args = ($args =~ /\G ( (??{ $C_arg }) ) , /xg);
+ for ( @args ) {
+ s/^\s+//;
+ s/\s+$//;
+ my ($arg, $default) = ($_ =~ m/ ( [^=]* ) ( (?: = .* )? ) /x);
+ my ($pre, $len_name) = ($arg =~ /(.*?) \s*
+ \b ( \w+ | length\( \s*\w+\s* \) )
+ \s* $ /x);
+ next unless defined($pre) && length($pre);
+ my $out_type = '';
+ my $inout_var;
+ if ($self->{inout} and s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\b\s*//) {
+ my $type = $1;
+ $out_type = $type if $type ne 'IN';
+ $arg =~ s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\b\s*//;
+ $pre =~ s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\b\s*//;
+ }
+ my $islength;
+ if ($len_name =~ /^length\( \s* (\w+) \s* \)\z/x) {
+ $len_name = "XSauto_length_of_$1";
+ $islength = 1;
+ die "Default value on length() argument: '$_'"
+ if length $default;
+ }
+ if (length $pre or $islength) { # Has a type
+ if ($islength) {
+ push @fake_INPUT_pre, $arg;
+ }
+ else {
+ push @fake_INPUT, $arg;
+ }
+ # warn "pushing '$arg'\n";
+ $self->{argtype_seen}->{$len_name}++;
+ $_ = "$len_name$default"; # Assigns to @args
+ }
+ $only_C_inlist_ref->{$_} = 1 if $out_type eq "OUTLIST" or $islength;
+ push @{ $outlist_ref }, $len_name if $out_type =~ /OUTLIST$/;
+ $self->{in_out}->{$len_name} = $out_type if $out_type;
+ }
+ }
+ else {
+ @args = split(/\s*,\s*/, $orig_args);
+ Warn( $self, "Warning: cannot parse argument list '$orig_args', fallback to split");
}
- } else {
+ }
+ else {
@args = split(/\s*,\s*/, $orig_args);
for (@args) {
- if ($process_inout and s/^(IN|IN_OUTLIST|OUTLIST|IN_OUT|OUT)\b\s*//) {
- my $out_type = $1;
- next if $out_type eq 'IN';
- $only_C_inlist{$_} = 1 if $out_type eq "OUTLIST";
- push @outlist, $name if $out_type =~ /OUTLIST$/;
- $in_out{$_} = $out_type;
- }
+ if ($self->{inout} and s/^(IN|IN_OUTLIST|OUTLIST|IN_OUT|OUT)\b\s*//) {
+ my $out_type = $1;
+ next if $out_type eq 'IN';
+ $only_C_inlist_ref->{$_} = 1 if $out_type eq "OUTLIST";
+ if ($out_type =~ /OUTLIST$/) {
+ push @{ $outlist_ref }, undef;
+ }
+ $self->{in_out}->{$_} = $out_type;
+ }
}
}
if (defined($class)) {
my $arg0 = ((defined($static) or $func_name eq 'new')
- ? "CLASS" : "THIS");
+ ? "CLASS" : "THIS");
unshift(@args, $arg0);
}
my $extra_args = 0;
- @args_num = ();
- $num_args = 0;
+ my @args_num = ();
+ my $num_args = 0;
my $report_args = '';
+ my $ellipsis;
foreach my $i (0 .. $#args) {
if ($args[$i] =~ s/\.\.\.//) {
- $ellipsis = 1;
- if ($args[$i] eq '' && $i == $#args) {
- $report_args .= ", ...";
- pop(@args);
- last;
- }
+ $ellipsis = 1;
+ if ($args[$i] eq '' && $i == $#args) {
+ $report_args .= ", ...";
+ pop(@args);
+ last;
+ }
+ }
+ if ($only_C_inlist_ref->{$args[$i]}) {
+ push @args_num, undef;
}
- if ($only_C_inlist{$args[$i]}) {
- push @args_num, undef;
- } else {
- push @args_num, ++$num_args;
- $report_args .= ", $args[$i]";
+ else {
+ push @args_num, ++$num_args;
+ $report_args .= ", $args[$i]";
}
if ($args[$i] =~ /^([^=]*[^\s=])\s*=\s*(.*)/s) {
- $extra_args++;
- $args[$i] = $1;
- $defaults{$args[$i]} = $2;
- $defaults{$args[$i]} =~ s/"/\\"/g;
+ $extra_args++;
+ $args[$i] = $1;
+ $self->{defaults}->{$args[$i]} = $2;
+ $self->{defaults}->{$args[$i]} =~ s/"/\\"/g;
}
- $proto_arg[$i+1] = '$' ;
+ $self->{proto_arg}->[$i+1] = '$';
}
- $min_args = $num_args - $extra_args;
+ my $min_args = $num_args - $extra_args;
$report_args =~ s/"/\\"/g;
$report_args =~ s/^,\s+//;
- my @func_args = @args;
- shift @func_args if defined($class);
-
- for (@func_args) {
- s/^/&/ if $in_out{$_};
- }
- $func_args = join(", ", @func_args);
- @args_match{@args} = @args_num;
+ $self->{func_args} = assign_func_args($self, \@args, $class);
+ @{ $self->{args_match} }{@args} = @args_num;
- $PPCODE = grep(/^\s*PPCODE\s*:/, @line);
- $CODE = grep(/^\s*CODE\s*:/, @line);
+ my $PPCODE = grep(/^\s*PPCODE\s*:/, @{ $self->{line} });
+ my $CODE = grep(/^\s*CODE\s*:/, @{ $self->{line} });
# Detect CODE: blocks which use ST(n)= or XST_m*(n,v)
- # to set explicit return values.
- $EXPLICIT_RETURN = ($CODE &&
- ("@line" =~ /(\bST\s*\([^;]*=) | (\bXST_m\w+\s*\()/x ));
- $ALIAS = grep(/^\s*ALIAS\s*:/, @line);
- $INTERFACE = grep(/^\s*INTERFACE\s*:/, @line);
+ # to set explicit return values.
+ my $EXPLICIT_RETURN = ($CODE &&
+ ("@{ $self->{line} }" =~ /(\bST\s*\([^;]*=) | (\bXST_m\w+\s*\()/x ));
+
+ # The $ALIAS which follows is only explicitly called within the scope of
+ # process_file(). In principle, it ought to be a lexical, i.e., 'my
+ # $ALIAS' like the other nearby variables. However, implementing that
+ # change produced a slight difference in the resulting .c output in at
+ # least two distributions: B/BD/BDFOY/Crypt-Rijndael and
+ # G/GF/GFUJI/Hash-FieldHash. The difference is, arguably, an improvement
+ # in the resulting C code. Example:
+ # 388c388
+ # < GvNAME(CvGV(cv)),
+ # ---
+ # > "Crypt::Rijndael::encrypt",
+ # But at this point we're committed to generating the *same* C code that
+ # the current version of ParseXS.pm does. So we're declaring it as 'our'.
+ $ALIAS = grep(/^\s*ALIAS\s*:/, @{ $self->{line} });
+
+ my $INTERFACE = grep(/^\s*INTERFACE\s*:/, @{ $self->{line} });
$xsreturn = 1 if $EXPLICIT_RETURN;
@@ -624,40 +505,32 @@ EOF
# print function header
print Q(<<"EOF");
#$externC
-#XS(XS_${Full_func_name}); /* prototype to pass -Wmissing-prototypes */
-#XS(XS_${Full_func_name})
+#XS_EUPXS(XS_${Full_func_name}); /* prototype to pass -Wmissing-prototypes */
+#XS_EUPXS(XS_${Full_func_name})
#[[
-##ifdef dVAR
# dVAR; dXSARGS;
-##else
-# dXSARGS;
-##endif
EOF
- print Q(<<"EOF") if $ALIAS ;
+ print Q(<<"EOF") if $ALIAS;
# dXSI32;
EOF
- print Q(<<"EOF") if $INTERFACE ;
-# dXSFUNCTION($ret_type);
+ print Q(<<"EOF") if $INTERFACE;
+# dXSFUNCTION($self->{ret_type});
EOF
- if ($ellipsis) {
- $cond = ($min_args ? qq(items < $min_args) : 0);
- } elsif ($min_args == $num_args) {
- $cond = qq(items != $min_args);
- } else {
- $cond = qq(items < $min_args || items > $num_args);
- }
- print Q(<<"EOF") if $except;
+ $self->{cond} = set_cond($ellipsis, $min_args, $num_args);
+
+ print Q(<<"EOF") if $self->{except};
# char errbuf[1024];
-# *errbuf = '\0';
+# *errbuf = '\\0';
EOF
- if($cond) {
- print Q(<<"EOF");
-# if ($cond)
+ if($self->{cond}) {
+ print Q(<<"EOF");
+# if ($self->{cond})
# croak_xs_usage(cv, "$report_args");
EOF
- } else {
+ }
+ else {
# cv likely to be unused
print Q(<<"EOF");
# PERL_UNUSED_VAR(cv); /* -W */
@@ -666,7 +539,7 @@ EOF
#gcc -Wall: if an xsub has PPCODE is used
#it is possible none of ST, XSRETURN or XSprePUSH macros are used
- #hence `ax' (setup by dXSARGS) is unused
+ #hence 'ax' (setup by dXSARGS) is unused
#XXX: could breakup the dXSARGS; into dSP;dMARK;dITEMS
#but such a move could break third-party extensions
print Q(<<"EOF") if $PPCODE;
@@ -679,199 +552,258 @@ EOF
# Now do a block of some sort.
- $condnum = 0;
- $cond = ''; # last CASE: conditional
- push(@line, "$END:");
- push(@line_no, $line_no[-1]);
+ $self->{condnum} = 0;
+ $self->{cond} = ''; # last CASE: conditional
+ push(@{ $self->{line} }, "$END:");
+ push(@{ $self->{line_no} }, $self->{line_no}->[-1]);
$_ = '';
- &check_cpp;
- while (@line) {
- &CASE_handler if check_keyword("CASE");
+ check_conditional_preprocessor_statements();
+ while (@{ $self->{line} }) {
+
+ $self->CASE_handler($_) if $self->check_keyword("CASE");
print Q(<<"EOF");
-# $except [[
+# $self->{except} [[
EOF
# do initialization of input variables
- $thisdone = 0;
- $retvaldone = 0;
- $deferred = "";
- %arg_list = () ;
- $gotRETVAL = 0;
-
- INPUT_handler() ;
- process_keyword("INPUT|PREINIT|INTERFACE_MACRO|C_ARGS|ALIAS|ATTRS|PROTOTYPE|SCOPE|OVERLOAD") ;
-
- print Q(<<"EOF") if $ScopeThisXSUB;
+ $self->{thisdone} = 0;
+ $self->{retvaldone} = 0;
+ $self->{deferred} = "";
+ %{ $self->{arg_list} } = ();
+ $self->{gotRETVAL} = 0;
+ $self->INPUT_handler($_);
+ $self->process_keyword("INPUT|PREINIT|INTERFACE_MACRO|C_ARGS|ALIAS|ATTRS|PROTOTYPE|SCOPE|OVERLOAD");
+
+ print Q(<<"EOF") if $self->{ScopeThisXSUB};
# ENTER;
# [[
EOF
-
- if (!$thisdone && defined($class)) {
- if (defined($static) or $func_name eq 'new') {
- print "\tchar *";
- $var_types{"CLASS"} = "char *";
- &generate_init("char *", 1, "CLASS");
- }
- else {
- print "\t$class *";
- $var_types{"THIS"} = "$class *";
- &generate_init("$class *", 1, "THIS");
- }
+
+ if (!$self->{thisdone} && defined($class)) {
+ if (defined($static) or $func_name eq 'new') {
+ print "\tchar *";
+ $self->{var_types}->{"CLASS"} = "char *";
+ generate_init( {
+ type => "char *",
+ num => 1,
+ var => "CLASS",
+ printed_name => undef,
+ } );
+ }
+ else {
+ print "\t$class *";
+ $self->{var_types}->{"THIS"} = "$class *";
+ generate_init( {
+ type => "$class *",
+ num => 1,
+ var => "THIS",
+ printed_name => undef,
+ } );
+ }
}
-
+
+ # These are set if OUTPUT is found and/or CODE using RETVAL
+ $self->{have_OUTPUT} = $self->{have_CODE_with_RETVAL} = 0;
+
+ my ($wantRETVAL);
# do code
if (/^\s*NOT_IMPLEMENTED_YET/) {
- print "\n\tPerl_croak(aTHX_ \"$pname: not implemented yet\");\n";
- $_ = '' ;
- } else {
- if ($ret_type ne "void") {
- print "\t" . &map_type($ret_type, 'RETVAL') . ";\n"
- if !$retvaldone;
- $args_match{"RETVAL"} = 0;
- $var_types{"RETVAL"} = $ret_type;
- print "\tdXSTARG;\n"
- if $WantOptimize and $targetable{$type_kind{$ret_type}};
- }
-
- if (@fake_INPUT or @fake_INPUT_pre) {
- unshift @line, @fake_INPUT_pre, @fake_INPUT, $_;
- $_ = "";
- $processing_arg_with_types = 1;
- INPUT_handler() ;
- }
- print $deferred;
-
- process_keyword("INIT|ALIAS|ATTRS|PROTOTYPE|INTERFACE_MACRO|INTERFACE|C_ARGS|OVERLOAD") ;
-
- if (check_keyword("PPCODE")) {
- print_section();
- death ("PPCODE must be last thing") if @line;
- print "\tLEAVE;\n" if $ScopeThisXSUB;
- print "\tPUTBACK;\n\treturn;\n";
- } elsif (check_keyword("CODE")) {
- print_section() ;
- } elsif (defined($class) and $func_name eq "DESTROY") {
- print "\n\t";
- print "delete THIS;\n";
- } else {
- print "\n\t";
- if ($ret_type ne "void") {
- print "RETVAL = ";
- $wantRETVAL = 1;
- }
- if (defined($static)) {
- if ($func_name eq 'new') {
- $func_name = "$class";
- } else {
- print "${class}::";
- }
- } elsif (defined($class)) {
- if ($func_name eq 'new') {
- $func_name .= " $class";
- } else {
- print "THIS->";
- }
- }
- $func_name =~ s/^\Q$args{'s'}//
- if exists $args{'s'};
- $func_name = 'XSFUNCTION' if $interface;
- print "$func_name($func_args);\n";
- }
+ print "\n\tPerl_croak(aTHX_ \"$pname: not implemented yet\");\n";
+ $_ = '';
}
-
+ else {
+ if ($self->{ret_type} ne "void") {
+ print "\t" . map_type($self, $self->{ret_type}, 'RETVAL') . ";\n"
+ if !$self->{retvaldone};
+ $self->{args_match}->{"RETVAL"} = 0;
+ $self->{var_types}->{"RETVAL"} = $self->{ret_type};
+ my $outputmap = $self->{typemap}->get_outputmap( ctype => $self->{ret_type} );
+ print "\tdXSTARG;\n"
+ if $self->{optimize} and $outputmap and $outputmap->targetable;
+ }
+
+ if (@fake_INPUT or @fake_INPUT_pre) {
+ unshift @{ $self->{line} }, @fake_INPUT_pre, @fake_INPUT, $_;
+ $_ = "";
+ $self->{processing_arg_with_types} = 1;
+ $self->INPUT_handler($_);
+ }
+ print $self->{deferred};
+
+ $self->process_keyword("INIT|ALIAS|ATTRS|PROTOTYPE|INTERFACE_MACRO|INTERFACE|C_ARGS|OVERLOAD");
+
+ if ($self->check_keyword("PPCODE")) {
+ $self->print_section();
+ $self->death("PPCODE must be last thing") if @{ $self->{line} };
+ print "\tLEAVE;\n" if $self->{ScopeThisXSUB};
+ print "\tPUTBACK;\n\treturn;\n";
+ }
+ elsif ($self->check_keyword("CODE")) {
+ my $consumed_code = $self->print_section();
+ if ($consumed_code =~ /\bRETVAL\b/) {
+ $self->{have_CODE_with_RETVAL} = 1;
+ }
+ }
+ elsif (defined($class) and $func_name eq "DESTROY") {
+ print "\n\t";
+ print "delete THIS;\n";
+ }
+ else {
+ print "\n\t";
+ if ($self->{ret_type} ne "void") {
+ print "RETVAL = ";
+ $wantRETVAL = 1;
+ }
+ if (defined($static)) {
+ if ($func_name eq 'new') {
+ $func_name = "$class";
+ }
+ else {
+ print "${class}::";
+ }
+ }
+ elsif (defined($class)) {
+ if ($func_name eq 'new') {
+ $func_name .= " $class";
+ }
+ else {
+ print "THIS->";
+ }
+ }
+ $func_name =~ s/^\Q$args{'s'}//
+ if exists $args{'s'};
+ $func_name = 'XSFUNCTION' if $self->{interface};
+ print "$func_name($self->{func_args});\n";
+ }
+ }
+
# do output variables
- $gotRETVAL = 0; # 1 if RETVAL seen in OUTPUT section;
- undef $RETVAL_code ; # code to set RETVAL (from OUTPUT section);
+ $self->{gotRETVAL} = 0; # 1 if RETVAL seen in OUTPUT section;
+ undef $self->{RETVAL_code} ; # code to set RETVAL (from OUTPUT section);
# $wantRETVAL set if 'RETVAL =' autogenerated
- ($wantRETVAL, $ret_type) = (0, 'void') if $RETVAL_no_return;
- undef %outargs ;
- process_keyword("POSTCALL|OUTPUT|ALIAS|ATTRS|PROTOTYPE|OVERLOAD");
-
- &generate_output($var_types{$_}, $args_match{$_}, $_, $DoSetMagic)
- for grep $in_out{$_} =~ /OUT$/, keys %in_out;
-
+ ($wantRETVAL, $self->{ret_type}) = (0, 'void') if $RETVAL_no_return;
+ undef %{ $self->{outargs} };
+
+ $self->process_keyword("POSTCALL|OUTPUT|ALIAS|ATTRS|PROTOTYPE|OVERLOAD");
+
+ # A CODE section with RETVAL, but no OUTPUT? FAIL!
+ if ($self->{have_CODE_with_RETVAL} and not $self->{have_OUTPUT} and $self->{ret_type} ne 'void') {
+ $self->Warn("Warning: Found a 'CODE' section which seems to be using 'RETVAL' but no 'OUTPUT' section.");
+ }
+
+ generate_output( {
+ type => $self->{var_types}->{$_},
+ num => $self->{args_match}->{$_},
+ var => $_,
+ do_setmagic => $self->{DoSetMagic},
+ do_push => undef,
+ } ) for grep $self->{in_out}->{$_} =~ /OUT$/, keys %{ $self->{in_out} };
+
+ my $prepush_done;
# all OUTPUT done, so now push the return value on the stack
- if ($gotRETVAL && $RETVAL_code) {
- print "\t$RETVAL_code\n";
- } elsif ($gotRETVAL || $wantRETVAL) {
- my $t = $WantOptimize && $targetable{$type_kind{$ret_type}};
- my $var = 'RETVAL';
- my $type = $ret_type;
-
- # 0: type, 1: with_size, 2: how, 3: how_size
- if ($t and not $t->[1] and $t->[0] eq 'p') {
- # PUSHp corresponds to setpvn. Treat setpv directly
- my $what = eval qq("$t->[2]");
- warn $@ if $@;
-
- print "\tsv_setpv(TARG, $what); XSprePUSH; PUSHTARG;\n";
- $prepush_done = 1;
- }
- elsif ($t) {
- my $what = eval qq("$t->[2]");
- warn $@ if $@;
-
- my $size = $t->[3];
- $size = '' unless defined $size;
- $size = eval qq("$size");
- warn $@ if $@;
- print "\tXSprePUSH; PUSH$t->[0]($what$size);\n";
- $prepush_done = 1;
- }
- else {
- # RETVAL almost never needs SvSETMAGIC()
- &generate_output($ret_type, 0, 'RETVAL', 0);
- }
+ if ($self->{gotRETVAL} && $self->{RETVAL_code}) {
+ print "\t$self->{RETVAL_code}\n";
+ }
+ elsif ($self->{gotRETVAL} || $wantRETVAL) {
+ my $outputmap = $self->{typemap}->get_outputmap( ctype => $self->{ret_type} );
+ my $t = $self->{optimize} && $outputmap && $outputmap->targetable;
+ # Although the '$var' declared in the next line is never explicitly
+ # used within this 'elsif' block, commenting it out leads to
+ # disaster, starting with the first 'eval qq' inside the 'elsif' block
+ # below.
+ # It appears that this is related to the fact that at this point the
+ # value of $t is a reference to an array whose [2] element includes
+ # '$var' as a substring:
+ # <i> <> <(IV)$var>
+ my $var = 'RETVAL';
+ my $type = $self->{ret_type};
+
+ if ($t and not $t->{with_size} and $t->{type} eq 'p') {
+ # PUSHp corresponds to setpvn. Treat setpv directly
+ my $what = eval qq("$t->{what}");
+ warn $@ if $@;
+
+ print "\tsv_setpv(TARG, $what); XSprePUSH; PUSHTARG;\n";
+ $prepush_done = 1;
+ }
+ elsif ($t) {
+ my $what = eval qq("$t->{what}");
+ warn $@ if $@;
+
+ my $tsize = $t->{what_size};
+ $tsize = '' unless defined $tsize;
+ $tsize = eval qq("$tsize");
+ warn $@ if $@;
+ print "\tXSprePUSH; PUSH$t->{type}($what$tsize);\n";
+ $prepush_done = 1;
+ }
+ else {
+ # RETVAL almost never needs SvSETMAGIC()
+ generate_output( {
+ type => $self->{ret_type},
+ num => 0,
+ var => 'RETVAL',
+ do_setmagic => 0,
+ do_push => undef,
+ } );
+ }
}
-
- $xsreturn = 1 if $ret_type ne "void";
+
+ $xsreturn = 1 if $self->{ret_type} ne "void";
my $num = $xsreturn;
- my $c = @outlist;
+ my $c = @{ $outlist_ref };
print "\tXSprePUSH;" if $c and not $prepush_done;
print "\tEXTEND(SP,$c);\n" if $c;
$xsreturn += $c;
- generate_output($var_types{$_}, $num++, $_, 0, 1) for @outlist;
-
+ generate_output( {
+ type => $self->{var_types}->{$_},
+ num => $num++,
+ var => $_,
+ do_setmagic => 0,
+ do_push => 1,
+ } ) for @{ $outlist_ref };
+
# do cleanup
- process_keyword("CLEANUP|ALIAS|ATTRS|PROTOTYPE|OVERLOAD") ;
-
- print Q(<<"EOF") if $ScopeThisXSUB;
+ $self->process_keyword("CLEANUP|ALIAS|ATTRS|PROTOTYPE|OVERLOAD");
+
+ print Q(<<"EOF") if $self->{ScopeThisXSUB};
# ]]
EOF
- print Q(<<"EOF") if $ScopeThisXSUB and not $PPCODE;
+ print Q(<<"EOF") if $self->{ScopeThisXSUB} and not $PPCODE;
# LEAVE;
EOF
-
+
# print function trailer
print Q(<<"EOF");
# ]]
EOF
- print Q(<<"EOF") if $except;
+ print Q(<<"EOF") if $self->{except};
# BEGHANDLERS
# CATCHALL
-# sprintf(errbuf, "%s: %s\\tpropagated", Xname, Xreason);
+# sprintf(errbuf, "%s: %s\\tpropagated", Xname, Xreason);
# ENDHANDLERS
EOF
- if (check_keyword("CASE")) {
- blurt ("Error: No `CASE:' at top of function")
- unless $condnum;
- $_ = "CASE: $_"; # Restore CASE: label
- next;
+ if ($self->check_keyword("CASE")) {
+ $self->blurt("Error: No 'CASE:' at top of function")
+ unless $self->{condnum};
+ $_ = "CASE: $_"; # Restore CASE: label
+ next;
}
last if $_ eq "$END:";
- death(/^$BLOCK_re/o ? "Misplaced `$1:'" : "Junk at end of function ($_)");
+ $self->death(/^$self->{BLOCK_re}/o ? "Misplaced '$1:'" : "Junk at end of function ($_)");
}
-
- print Q(<<"EOF") if $except;
+
+ print Q(<<"EOF") if $self->{except};
# if (errbuf[0])
-# Perl_croak(aTHX_ errbuf);
+# Perl_croak(aTHX_ errbuf);
EOF
-
+
if ($xsreturn) {
print Q(<<"EOF") unless $PPCODE;
# XSRETURN($xsreturn);
EOF
- } else {
+ }
+ else {
print Q(<<"EOF") unless $PPCODE;
# XSRETURN_EMPTY;
EOF
@@ -882,85 +814,84 @@ EOF
#
EOF
- our $newXS = "newXS" ;
- our $proto = "" ;
-
+ $self->{newXS} = "newXS";
+ $self->{proto} = "";
+
# Build the prototype string for the xsub
- if ($ProtoThisXSUB) {
- $newXS = "newXSproto_portable";
-
- if ($ProtoThisXSUB eq 2) {
- # User has specified empty prototype
+ if ($self->{ProtoThisXSUB}) {
+ $self->{newXS} = "newXSproto_portable";
+
+ if ($self->{ProtoThisXSUB} eq 2) {
+ # User has specified empty prototype
}
- elsif ($ProtoThisXSUB eq 1) {
- my $s = ';';
- if ($min_args < $num_args) {
- $s = '';
- $proto_arg[$min_args] .= ";" ;
- }
- push @proto_arg, "$s\@"
- if $ellipsis ;
-
- $proto = join ("", grep defined, @proto_arg);
+ elsif ($self->{ProtoThisXSUB} eq 1) {
+ my $s = ';';
+ if ($min_args < $num_args) {
+ $s = '';
+ $self->{proto_arg}->[$min_args] .= ";";
+ }
+ push @{ $self->{proto_arg} }, "$s\@"
+ if $ellipsis;
+
+ $self->{proto} = join ("", grep defined, @{ $self->{proto_arg} } );
}
else {
- # User has specified a prototype
- $proto = $ProtoThisXSUB;
+ # User has specified a prototype
+ $self->{proto} = $self->{ProtoThisXSUB};
}
- $proto = qq{, "$proto"};
+ $self->{proto} = qq{, "$self->{proto}"};
}
- if (%XsubAliases) {
- $XsubAliases{$pname} = 0
- unless defined $XsubAliases{$pname} ;
- while ( ($name, $value) = each %XsubAliases) {
- push(@InitFileCode, Q(<<"EOF"));
-# cv = ${newXS}(\"$name\", XS_$Full_func_name, file$proto);
-# XSANY.any_i32 = $value ;
+ if (%{ $self->{XsubAliases} }) {
+ $self->{XsubAliases}->{$pname} = 0
+ unless defined $self->{XsubAliases}->{$pname};
+ while ( my ($xname, $value) = each %{ $self->{XsubAliases} }) {
+ push(@{ $self->{InitFileCode} }, Q(<<"EOF"));
+# cv = $self->{newXS}(\"$xname\", XS_$Full_func_name, file$self->{proto});
+# XSANY.any_i32 = $value;
EOF
}
}
- elsif (@Attributes) {
- push(@InitFileCode, Q(<<"EOF"));
-# cv = ${newXS}(\"$pname\", XS_$Full_func_name, file$proto);
-# apply_attrs_string("$Package", cv, "@Attributes", 0);
+ elsif (@{ $self->{Attributes} }) {
+ push(@{ $self->{InitFileCode} }, Q(<<"EOF"));
+# cv = $self->{newXS}(\"$pname\", XS_$Full_func_name, file$self->{proto});
+# apply_attrs_string("$Package", cv, "@{ $self->{Attributes} }", 0);
EOF
}
- elsif ($interface) {
- while ( ($name, $value) = each %Interfaces) {
- $name = "$Package\::$name" unless $name =~ /::/;
- push(@InitFileCode, Q(<<"EOF"));
-# cv = ${newXS}(\"$name\", XS_$Full_func_name, file$proto);
-# $interface_macro_set(cv,$value) ;
+ elsif ($self->{interface}) {
+ while ( my ($yname, $value) = each %{ $self->{Interfaces} }) {
+ $yname = "$Package\::$yname" unless $yname =~ /::/;
+ push(@{ $self->{InitFileCode} }, Q(<<"EOF"));
+# cv = $self->{newXS}(\"$yname\", XS_$Full_func_name, file$self->{proto});
+# $self->{interface_macro_set}(cv,$value);
EOF
}
}
- elsif($newXS eq 'newXS'){ # work around P5NCI's empty newXS macro
- push(@InitFileCode,
- " ${newXS}(\"$pname\", XS_$Full_func_name, file$proto);\n");
+ elsif($self->{newXS} eq 'newXS'){ # work around P5NCI's empty newXS macro
+ push(@{ $self->{InitFileCode} },
+ " $self->{newXS}(\"$pname\", XS_$Full_func_name, file$self->{proto});\n");
}
else {
- push(@InitFileCode,
- " (void)${newXS}(\"$pname\", XS_$Full_func_name, file$proto);\n");
+ push(@{ $self->{InitFileCode} },
+ " (void)$self->{newXS}(\"$pname\", XS_$Full_func_name, file$self->{proto});\n");
}
- }
+ } # END 'PARAGRAPH' 'while' loop
- if ($Overload) # make it findable with fetchmethod
- {
+ if ($self->{Overload}) { # make it findable with fetchmethod
print Q(<<"EOF");
-#XS(XS_${Packid}_nil); /* prototype to pass -Wmissing-prototypes */
-#XS(XS_${Packid}_nil)
+#XS_EUPXS(XS_$self->{Packid}_nil); /* prototype to pass -Wmissing-prototypes */
+#XS_EUPXS(XS_$self->{Packid}_nil)
#{
# dXSARGS;
# XSRETURN_EMPTY;
#}
#
EOF
- unshift(@InitFileCode, <<"MAKE_FETCHMETHOD_WORK");
+ unshift(@{ $self->{InitFileCode} }, <<"MAKE_FETCHMETHOD_WORK");
/* Making a sub named "${Package}::()" allows the package */
/* to be findable via fetchmethod(), and causes */
/* overload::Overloaded("${Package}") to return true. */
- (void)${newXS}("${Package}::()", XS_${Packid}_nil, file$proto);
+ (void)$self->{newXS}("${Package}::()", XS_$self->{Packid}_nil, file$self->{proto});
MAKE_FETCHMETHOD_WORK
}
@@ -973,24 +904,20 @@ MAKE_FETCHMETHOD_WORK
EOF
print Q(<<"EOF");
-#XS(boot_$Module_cname); /* prototype to pass -Wmissing-prototypes */
-#XS(boot_$Module_cname)
+#XS_EXTERNAL(boot_$self->{Module_cname}); /* prototype to pass -Wmissing-prototypes */
+#XS_EXTERNAL(boot_$self->{Module_cname})
EOF
print Q(<<"EOF");
#[[
-##ifdef dVAR
# dVAR; dXSARGS;
-##else
-# dXSARGS;
-##endif
EOF
#Under 5.8.x and lower, newXS is declared in proto.h as expecting a non-const
#file name argument. If the wrong qualifier is used, it causes breakage with
#C++ compilers and warnings with recent gcc.
#-Wall: if there is no $Full_func_name there are no xsubs in this .xs
- #so `file' is unused
+ #so 'file' is unused
print Q(<<"EOF") if $Full_func_name;
##if (PERL_REVISION == 5 && PERL_VERSION < 9)
# char* file = __FILE__;
@@ -1009,18 +936,18 @@ EOF
##endif
EOF
- print Q(<<"EOF") if $WantVersionChk ;
-# XS_VERSION_BOOTCHECK ;
+ print Q(<<"EOF") if $self->{WantVersionChk};
+# XS_VERSION_BOOTCHECK;
#
EOF
- print Q(<<"EOF") if defined $XsubAliases or defined $Interfaces ;
+ print Q(<<"EOF") if defined $self->{xsubaliases} or defined $self->{interfaces};
# {
-# CV * cv ;
+# CV * cv;
#
EOF
- print Q(<<"EOF") if ($Overload);
+ print Q(<<"EOF") if ($self->{Overload});
# /* register the overloading (type 'A') magic */
# PL_amagic_generation++;
# /* The magic for overload gets a GV* via gv_fetchmeth as */
@@ -1028,22 +955,21 @@ EOF
# /* the "fallback" status. */
# sv_setsv(
# get_sv( "${Package}::()", TRUE ),
-# $Fallback
+# $self->{Fallback}
# );
EOF
- print @InitFileCode;
+ print @{ $self->{InitFileCode} };
- print Q(<<"EOF") if defined $XsubAliases or defined $Interfaces ;
+ print Q(<<"EOF") if defined $self->{xsubaliases} or defined $self->{interfaces};
# }
EOF
- if (@BootCode)
- {
- print "\n /* Initialisation Section */\n\n" ;
- @line = @BootCode;
- print_section();
- print "\n /* End of Initialisation Section */\n\n" ;
+ if (@{ $BootCode_ref }) {
+ print "\n /* Initialisation Section */\n\n";
+ @{ $self->{line} } = @{ $BootCode_ref };
+ $self->print_section();
+ print "\n /* End of Initialisation Section */\n\n";
}
print Q(<<'EOF');
@@ -1059,654 +985,682 @@ EOF
#
EOF
- warn("Please specify prototyping behavior for $filename (see perlxs manual)\n")
- unless $ProtoUsed ;
+ warn("Please specify prototyping behavior for $self->{filename} (see perlxs manual)\n")
+ unless $self->{ProtoUsed};
chdir($orig_cwd);
select($orig_fh);
untie *PSEUDO_STDOUT if tied *PSEUDO_STDOUT;
- close $FH;
+ close $self->{FH};
return 1;
}
-sub errors { $errors }
-
-sub standard_typemap_locations {
- # Add all the default typemap locations to the search path
- my @tm = qw(typemap);
-
- my $updir = File::Spec->updir;
- foreach my $dir (File::Spec->catdir(($updir) x 1), File::Spec->catdir(($updir) x 2),
- File::Spec->catdir(($updir) x 3), File::Spec->catdir(($updir) x 4)) {
-
- unshift @tm, File::Spec->catfile($dir, 'typemap');
- unshift @tm, File::Spec->catfile($dir, lib => ExtUtils => 'typemap');
- }
- foreach my $dir (@INC) {
- my $file = File::Spec->catfile($dir, ExtUtils => 'typemap');
- unshift @tm, $file if -e $file;
- }
- return @tm;
-}
-
-sub TrimWhitespace
-{
- $_[0] =~ s/^\s+|\s+$//go ;
-}
-
-sub TidyType
- {
- local ($_) = @_ ;
-
- # rationalise any '*' by joining them into bunches and removing whitespace
- s#\s*(\*+)\s*#$1#g;
- s#(\*+)# $1 #g ;
-
- # change multiple whitespace into a single space
- s/\s+/ /g ;
+sub report_error_count { $self->{errors} }
- # trim leading & trailing whitespace
- TrimWhitespace($_) ;
-
- $_ ;
-}
-
-# Input: ($_, @line) == unparsed input.
-# Output: ($_, @line) == (rest of line, following lines).
+# Input: ($self, $_, @{ $self->{line} }) == unparsed input.
+# Output: ($_, @{ $self->{line} }) == (rest of line, following lines).
# Return: the matched keyword if found, otherwise 0
sub check_keyword {
- $_ = shift(@line) while !/\S/ && @line;
- s/^(\s*)($_[0])\s*:\s*(?:#.*)?/$1/s && $2;
+ my $self = shift;
+ $_ = shift(@{ $self->{line} }) while !/\S/ && @{ $self->{line} };
+ s/^(\s*)($_[0])\s*:\s*(?:#.*)?/$1/s && $2;
}
sub print_section {
- # the "do" is required for right semantics
- do { $_ = shift(@line) } while !/\S/ && @line;
+ my $self = shift;
- print("#line ", $line_no[@line_no - @line -1], " \"$filepathname\"\n")
- if $WantLineNumbers && !/^\s*#\s*line\b/ && !/^#if XSubPPtmp/;
- for (; defined($_) && !/^$BLOCK_re/o; $_ = shift(@line)) {
- print "$_\n";
- }
- print 'ExtUtils::ParseXS::CountLines'->end_marker, "\n" if $WantLineNumbers;
+ # the "do" is required for right semantics
+ do { $_ = shift(@{ $self->{line} }) } while !/\S/ && @{ $self->{line} };
+
+ my $consumed_code = '';
+
+ print("#line ", $self->{line_no}->[@{ $self->{line_no} } - @{ $self->{line} } -1], " \"",
+ escape_file_for_line_directive($self->{filepathname}), "\"\n")
+ if $self->{WantLineNumbers} && !/^\s*#\s*line\b/ && !/^#if XSubPPtmp/;
+ for (; defined($_) && !/^$self->{BLOCK_re}/o; $_ = shift(@{ $self->{line} })) {
+ print "$_\n";
+ $consumed_code .= "$_\n";
+ }
+ print 'ExtUtils::ParseXS::CountLines'->end_marker, "\n" if $self->{WantLineNumbers};
+
+ return $consumed_code;
}
sub merge_section {
- my $in = '';
+ my $self = shift;
+ my $in = '';
- while (!/\S/ && @line) {
- $_ = shift(@line);
- }
+ while (!/\S/ && @{ $self->{line} }) {
+ $_ = shift(@{ $self->{line} });
+ }
- for (; defined($_) && !/^$BLOCK_re/o; $_ = shift(@line)) {
- $in .= "$_\n";
- }
- chomp $in;
- return $in;
+ for (; defined($_) && !/^$self->{BLOCK_re}/o; $_ = shift(@{ $self->{line} })) {
+ $in .= "$_\n";
}
+ chomp $in;
+ return $in;
+}
-sub process_keyword($)
- {
- my($pattern) = @_ ;
- my $kwd ;
+sub process_keyword {
+ my($self, $pattern) = @_;
- &{"${kwd}_handler"}()
- while $kwd = check_keyword($pattern) ;
+ while (my $kwd = $self->check_keyword($pattern)) {
+ my $method = $kwd . "_handler";
+ $self->$method($_);
}
+}
sub CASE_handler {
- blurt ("Error: `CASE:' after unconditional `CASE:'")
- if $condnum && $cond eq '';
- $cond = $_;
- TrimWhitespace($cond);
- print " ", ($condnum++ ? " else" : ""), ($cond ? " if ($cond)\n" : "\n");
- $_ = '' ;
+ my $self = shift;
+ $_ = shift;
+ $self->blurt("Error: 'CASE:' after unconditional 'CASE:'")
+ if $self->{condnum} && $self->{cond} eq '';
+ $self->{cond} = $_;
+ trim_whitespace($self->{cond});
+ print " ", ($self->{condnum}++ ? " else" : ""), ($self->{cond} ? " if ($self->{cond})\n" : "\n");
+ $_ = '';
}
sub INPUT_handler {
- for (; !/^$BLOCK_re/o; $_ = shift(@line)) {
+ my $self = shift;
+ $_ = shift;
+ for (; !/^$self->{BLOCK_re}/o; $_ = shift(@{ $self->{line} })) {
last if /^\s*NOT_IMPLEMENTED_YET/;
- next unless /\S/; # skip blank lines
+ next unless /\S/; # skip blank lines
- TrimWhitespace($_) ;
- my $line = $_ ;
+ trim_whitespace($_);
+ my $ln = $_;
# remove trailing semicolon if no initialisation
- s/\s*;$//g unless /[=;+].*\S/ ;
+ s/\s*;$//g unless /[=;+].*\S/;
# Process the length(foo) declarations
if (s/^([^=]*)\blength\(\s*(\w+)\s*\)\s*$/$1 XSauto_length_of_$2=NO_INIT/x) {
print "\tSTRLEN\tSTRLEN_length_of_$2;\n";
- $lengthof{$2} = $name;
- # $islengthof{$name} = $1;
- $deferred .= "\n\tXSauto_length_of_$2 = STRLEN_length_of_$2;\n";
+ $self->{lengthof}->{$2} = undef;
+ $self->{deferred} .= "\n\tXSauto_length_of_$2 = STRLEN_length_of_$2;\n";
}
# check for optional initialisation code
- my $var_init = '' ;
- $var_init = $1 if s/\s*([=;+].*)$//s ;
+ my $var_init = '';
+ $var_init = $1 if s/\s*([=;+].*)$//s;
$var_init =~ s/"/\\"/g;
+ # *sigh* It's valid to supply explicit input typemaps in the argument list...
+ my $is_overridden_typemap = $var_init =~ /ST\s*\(|\$arg\b/;
s/\s+/ /g;
my ($var_type, $var_addr, $var_name) = /^(.*?[^&\s])\s*(\&?)\s*\b(\w+)$/s
- or blurt("Error: invalid argument declaration '$line'"), next;
+ or $self->blurt("Error: invalid argument declaration '$ln'"), next;
# Check for duplicate definitions
- blurt ("Error: duplicate definition of argument '$var_name' ignored"), next
- if $arg_list{$var_name}++
- or defined $argtype_seen{$var_name} and not $processing_arg_with_types;
+ $self->blurt("Error: duplicate definition of argument '$var_name' ignored"), next
+ if $self->{arg_list}->{$var_name}++
+ or defined $self->{argtype_seen}->{$var_name} and not $self->{processing_arg_with_types};
- $thisdone |= $var_name eq "THIS";
- $retvaldone |= $var_name eq "RETVAL";
- $var_types{$var_name} = $var_type;
+ $self->{thisdone} |= $var_name eq "THIS";
+ $self->{retvaldone} |= $var_name eq "RETVAL";
+ $self->{var_types}->{$var_name} = $var_type;
# XXXX This check is a safeguard against the unfinished conversion of
# generate_init(). When generate_init() is fixed,
# one can use 2-args map_type() unconditionally.
+ my $printed_name;
if ($var_type =~ / \( \s* \* \s* \) /x) {
- # Function pointers are not yet supported with &output_init!
- print "\t" . &map_type($var_type, $var_name);
- $name_printed = 1;
- } else {
- print "\t" . &map_type($var_type);
- $name_printed = 0;
+ # Function pointers are not yet supported with output_init()!
+ print "\t" . map_type($self, $var_type, $var_name);
+ $printed_name = 1;
}
- $var_num = $args_match{$var_name};
+ else {
+ print "\t" . map_type($self, $var_type, undef);
+ $printed_name = 0;
+ }
+ $self->{var_num} = $self->{args_match}->{$var_name};
- $proto_arg[$var_num] = ProtoString($var_type)
- if $var_num ;
- $func_args =~ s/\b($var_name)\b/&$1/ if $var_addr;
+ if ($self->{var_num}) {
+ my $typemap = $self->{typemap}->get_typemap(ctype => $var_type);
+ $self->report_typemap_failure($self->{typemap}, $var_type, "death")
+ if not $typemap and not $is_overridden_typemap;
+ $self->{proto_arg}->[$self->{var_num}] = ($typemap && $typemap->proto) || "\$";
+ }
+ $self->{func_args} =~ s/\b($var_name)\b/&$1/ if $var_addr;
if ($var_init =~ /^[=;]\s*NO_INIT\s*;?\s*$/
- or $in_out{$var_name} and $in_out{$var_name} =~ /^OUT/
- and $var_init !~ /\S/) {
- if ($name_printed) {
- print ";\n";
- } else {
- print "\t$var_name;\n";
+ or $self->{in_out}->{$var_name} and $self->{in_out}->{$var_name} =~ /^OUT/
+ and $var_init !~ /\S/) {
+ if ($printed_name) {
+ print ";\n";
}
- } elsif ($var_init =~ /\S/) {
- &output_init($var_type, $var_num, $var_name, $var_init, $name_printed);
- } elsif ($var_num) {
- # generate initialization code
- &generate_init($var_type, $var_num, $var_name, $name_printed);
- } else {
+ else {
+ print "\t$var_name;\n";
+ }
+ }
+ elsif ($var_init =~ /\S/) {
+ output_init( {
+ type => $var_type,
+ num => $self->{var_num},
+ var => $var_name,
+ init => $var_init,
+ printed_name => $printed_name,
+ } );
+ }
+ elsif ($self->{var_num}) {
+ generate_init( {
+ type => $var_type,
+ num => $self->{var_num},
+ var => $var_name,
+ printed_name => $printed_name,
+ } );
+ }
+ else {
print ";\n";
}
}
}
sub OUTPUT_handler {
- for (; !/^$BLOCK_re/o; $_ = shift(@line)) {
+ my $self = shift;
+ $self->{have_OUTPUT} = 1;
+
+ $_ = shift;
+ for (; !/^$self->{BLOCK_re}/o; $_ = shift(@{ $self->{line} })) {
next unless /\S/;
if (/^\s*SETMAGIC\s*:\s*(ENABLE|DISABLE)\s*/) {
- $DoSetMagic = ($1 eq "ENABLE" ? 1 : 0);
+ $self->{DoSetMagic} = ($1 eq "ENABLE" ? 1 : 0);
next;
}
- my ($outarg, $outcode) = /^\s*(\S+)\s*(.*?)\s*$/s ;
- blurt ("Error: duplicate OUTPUT argument '$outarg' ignored"), next
- if $outargs{$outarg} ++ ;
- if (!$gotRETVAL and $outarg eq 'RETVAL') {
+ my ($outarg, $outcode) = /^\s*(\S+)\s*(.*?)\s*$/s;
+ $self->blurt("Error: duplicate OUTPUT argument '$outarg' ignored"), next
+ if $self->{outargs}->{$outarg}++;
+ if (!$self->{gotRETVAL} and $outarg eq 'RETVAL') {
# deal with RETVAL last
- $RETVAL_code = $outcode ;
- $gotRETVAL = 1 ;
- next ;
+ $self->{RETVAL_code} = $outcode;
+ $self->{gotRETVAL} = 1;
+ next;
}
- blurt ("Error: OUTPUT $outarg not an argument"), next
- unless defined($args_match{$outarg});
- blurt("Error: No input definition for OUTPUT argument '$outarg' - ignored"), next
- unless defined $var_types{$outarg} ;
- $var_num = $args_match{$outarg};
+ $self->blurt("Error: OUTPUT $outarg not an argument"), next
+ unless defined($self->{args_match}->{$outarg});
+ $self->blurt("Error: No input definition for OUTPUT argument '$outarg' - ignored"), next
+ unless defined $self->{var_types}->{$outarg};
+ $self->{var_num} = $self->{args_match}->{$outarg};
if ($outcode) {
print "\t$outcode\n";
- print "\tSvSETMAGIC(ST(" , $var_num-1 , "));\n" if $DoSetMagic;
- } else {
- &generate_output($var_types{$outarg}, $var_num, $outarg, $DoSetMagic);
+ print "\tSvSETMAGIC(ST(" , $self->{var_num} - 1 , "));\n" if $self->{DoSetMagic};
}
- delete $in_out{$outarg} # No need to auto-OUTPUT
- if exists $in_out{$outarg} and $in_out{$outarg} =~ /OUT$/;
+ else {
+ generate_output( {
+ type => $self->{var_types}->{$outarg},
+ num => $self->{var_num},
+ var => $outarg,
+ do_setmagic => $self->{DoSetMagic},
+ do_push => undef,
+ } );
+ }
+ delete $self->{in_out}->{$outarg} # No need to auto-OUTPUT
+ if exists $self->{in_out}->{$outarg} and $self->{in_out}->{$outarg} =~ /OUT$/;
}
}
-sub C_ARGS_handler() {
- my $in = merge_section();
+sub C_ARGS_handler {
+ my $self = shift;
+ $_ = shift;
+ my $in = $self->merge_section();
- TrimWhitespace($in);
- $func_args = $in;
+ trim_whitespace($in);
+ $self->{func_args} = $in;
}
-sub INTERFACE_MACRO_handler() {
- my $in = merge_section();
+sub INTERFACE_MACRO_handler {
+ my $self = shift;
+ $_ = shift;
+ my $in = $self->merge_section();
- TrimWhitespace($in);
- if ($in =~ /\s/) { # two
- ($interface_macro, $interface_macro_set) = split ' ', $in;
- } else {
- $interface_macro = $in;
- $interface_macro_set = 'UNKNOWN_CVT'; # catch later
+ trim_whitespace($in);
+ if ($in =~ /\s/) { # two
+ ($self->{interface_macro}, $self->{interface_macro_set}) = split ' ', $in;
+ }
+ else {
+ $self->{interface_macro} = $in;
+ $self->{interface_macro_set} = 'UNKNOWN_CVT'; # catch later
}
- $interface = 1; # local
- $Interfaces = 1; # global
+ $self->{interface} = 1; # local
+ $self->{interfaces} = 1; # global
}
-sub INTERFACE_handler() {
- my $in = merge_section();
+sub INTERFACE_handler {
+ my $self = shift;
+ $_ = shift;
+ my $in = $self->merge_section();
- TrimWhitespace($in);
+ trim_whitespace($in);
foreach (split /[\s,]+/, $in) {
- my $name = $_;
- $name =~ s/^$Prefix//;
- $Interfaces{$name} = $_;
+ my $iface_name = $_;
+ $iface_name =~ s/^$self->{Prefix}//;
+ $self->{Interfaces}->{$iface_name} = $_;
}
print Q(<<"EOF");
-# XSFUNCTION = $interface_macro($ret_type,cv,XSANY.any_dptr);
+# XSFUNCTION = $self->{interface_macro}($self->{ret_type},cv,XSANY.any_dptr);
EOF
- $interface = 1; # local
- $Interfaces = 1; # global
+ $self->{interface} = 1; # local
+ $self->{interfaces} = 1; # global
+}
+
+sub CLEANUP_handler {
+ my $self = shift;
+ $self->print_section();
}
-sub CLEANUP_handler() { print_section() }
-sub PREINIT_handler() { print_section() }
-sub POSTCALL_handler() { print_section() }
-sub INIT_handler() { print_section() }
+sub PREINIT_handler {
+ my $self = shift;
+ $self->print_section();
+}
-sub GetAliases
- {
- my ($line) = @_ ;
- my ($orig) = $line ;
- my ($alias) ;
- my ($value) ;
+sub POSTCALL_handler {
+ my $self = shift;
+ $self->print_section();
+}
- # Parse alias definitions
- # format is
- # alias = value alias = value ...
+sub INIT_handler {
+ my $self = shift;
+ $self->print_section();
+}
- while ($line =~ s/^\s*([\w:]+)\s*=\s*(\w+)\s*//) {
- $alias = $1 ;
- $orig_alias = $alias ;
- $value = $2 ;
+sub get_aliases {
+ my $self = shift;
+ my ($line) = @_;
+ my ($orig) = $line;
- # check for optional package definition in the alias
- $alias = $Packprefix . $alias if $alias !~ /::/ ;
+ # Parse alias definitions
+ # format is
+ # alias = value alias = value ...
- # check for duplicate alias name & duplicate value
- Warn("Warning: Ignoring duplicate alias '$orig_alias'")
- if defined $XsubAliases{$alias} ;
+ while ($line =~ s/^\s*([\w:]+)\s*=\s*(\w+)\s*//) {
+ my ($alias, $value) = ($1, $2);
+ my $orig_alias = $alias;
- Warn("Warning: Aliases '$orig_alias' and '$XsubAliasValues{$value}' have identical values")
- if $XsubAliasValues{$value} ;
+ # check for optional package definition in the alias
+ $alias = $self->{Packprefix} . $alias if $alias !~ /::/;
- $XsubAliases = 1;
- $XsubAliases{$alias} = $value ;
- $XsubAliasValues{$value} = $orig_alias ;
- }
+ # check for duplicate alias name & duplicate value
+ Warn( $self, "Warning: Ignoring duplicate alias '$orig_alias'")
+ if defined $self->{XsubAliases}->{$alias};
- blurt("Error: Cannot parse ALIAS definitions from '$orig'")
- if $line ;
+ Warn( $self, "Warning: Aliases '$orig_alias' and '$self->{XsubAliasValues}->{$value}' have identical values")
+ if $self->{XsubAliasValues}->{$value};
+
+ $self->{xsubaliases} = 1;
+ $self->{XsubAliases}->{$alias} = $value;
+ $self->{XsubAliasValues}->{$value} = $orig_alias;
}
-sub ATTRS_handler ()
- {
- for (; !/^$BLOCK_re/o; $_ = shift(@line)) {
- next unless /\S/;
- TrimWhitespace($_) ;
- push @Attributes, $_;
- }
+ blurt( $self, "Error: Cannot parse ALIAS definitions from '$orig'")
+ if $line;
+}
+
+sub ATTRS_handler {
+ my $self = shift;
+ $_ = shift;
+
+ for (; !/^$self->{BLOCK_re}/o; $_ = shift(@{ $self->{line} })) {
+ next unless /\S/;
+ trim_whitespace($_);
+ push @{ $self->{Attributes} }, $_;
}
+}
-sub ALIAS_handler ()
- {
- for (; !/^$BLOCK_re/o; $_ = shift(@line)) {
- next unless /\S/;
- TrimWhitespace($_) ;
- GetAliases($_) if $_ ;
- }
+sub ALIAS_handler {
+ my $self = shift;
+ $_ = shift;
+
+ for (; !/^$self->{BLOCK_re}/o; $_ = shift(@{ $self->{line} })) {
+ next unless /\S/;
+ trim_whitespace($_);
+ $self->get_aliases($_) if $_;
}
+}
+
+sub OVERLOAD_handler {
+ my $self = shift;
+ $_ = shift;
-sub OVERLOAD_handler()
-{
- for (; !/^$BLOCK_re/o; $_ = shift(@line)) {
+ for (; !/^$self->{BLOCK_re}/o; $_ = shift(@{ $self->{line} })) {
next unless /\S/;
- TrimWhitespace($_) ;
+ trim_whitespace($_);
while ( s/^\s*([\w:"\\)\+\-\*\/\%\<\>\.\&\|\^\!\~\{\}\=]+)\s*//) {
- $Overload = 1 unless $Overload;
- my $overload = "$Package\::(".$1 ;
- push(@InitFileCode,
- " (void)${newXS}(\"$overload\", XS_$Full_func_name, file$proto);\n");
+ $self->{Overload} = 1 unless $self->{Overload};
+ my $overload = "$Package\::(".$1;
+ push(@{ $self->{InitFileCode} },
+ " (void)$self->{newXS}(\"$overload\", XS_$Full_func_name, file$self->{proto});\n");
}
- }
+ }
}
-sub FALLBACK_handler()
-{
- # the rest of the current line should contain either TRUE,
+sub FALLBACK_handler {
+ my $self = shift;
+ $_ = shift;
+
+ # the rest of the current line should contain either TRUE,
# FALSE or UNDEF
-
- TrimWhitespace($_) ;
+
+ trim_whitespace($_);
my %map = (
- TRUE => "&PL_sv_yes", 1 => "&PL_sv_yes",
- FALSE => "&PL_sv_no", 0 => "&PL_sv_no",
- UNDEF => "&PL_sv_undef",
- ) ;
-
+ TRUE => "&PL_sv_yes", 1 => "&PL_sv_yes",
+ FALSE => "&PL_sv_no", 0 => "&PL_sv_no",
+ UNDEF => "&PL_sv_undef",
+ );
+
# check for valid FALLBACK value
- death ("Error: FALLBACK: TRUE/FALSE/UNDEF") unless exists $map{uc $_} ;
-
- $Fallback = $map{uc $_} ;
+ $self->death("Error: FALLBACK: TRUE/FALSE/UNDEF") unless exists $map{uc $_};
+
+ $self->{Fallback} = $map{uc $_};
}
-sub REQUIRE_handler ()
- {
- # the rest of the current line should contain a version number
- my ($Ver) = $_ ;
+sub REQUIRE_handler {
+ my $self = shift;
+ # the rest of the current line should contain a version number
+ my $Ver = shift;
- TrimWhitespace($Ver) ;
+ trim_whitespace($Ver);
- death ("Error: REQUIRE expects a version number")
- unless $Ver ;
+ $self->death("Error: REQUIRE expects a version number")
+ unless $Ver;
- # check that the version number is of the form n.n
- death ("Error: REQUIRE: expected a number, got '$Ver'")
- unless $Ver =~ /^\d+(\.\d*)?/ ;
+ # check that the version number is of the form n.n
+ $self->death("Error: REQUIRE: expected a number, got '$Ver'")
+ unless $Ver =~ /^\d+(\.\d*)?/;
- death ("Error: xsubpp $Ver (or better) required--this is only $VERSION.")
- unless $VERSION >= $Ver ;
- }
+ $self->death("Error: xsubpp $Ver (or better) required--this is only $VERSION.")
+ unless $VERSION >= $Ver;
+}
-sub VERSIONCHECK_handler ()
- {
- # the rest of the current line should contain either ENABLE or
- # DISABLE
+sub VERSIONCHECK_handler {
+ my $self = shift;
+ $_ = shift;
- TrimWhitespace($_) ;
+ # the rest of the current line should contain either ENABLE or
+ # DISABLE
- # check for ENABLE/DISABLE
- death ("Error: VERSIONCHECK: ENABLE/DISABLE")
- unless /^(ENABLE|DISABLE)/i ;
+ trim_whitespace($_);
- $WantVersionChk = 1 if $1 eq 'ENABLE' ;
- $WantVersionChk = 0 if $1 eq 'DISABLE' ;
+ # check for ENABLE/DISABLE
+ $self->death("Error: VERSIONCHECK: ENABLE/DISABLE")
+ unless /^(ENABLE|DISABLE)/i;
- }
+ $self->{WantVersionChk} = 1 if $1 eq 'ENABLE';
+ $self->{WantVersionChk} = 0 if $1 eq 'DISABLE';
-sub PROTOTYPE_handler ()
- {
- my $specified ;
-
- death("Error: Only 1 PROTOTYPE definition allowed per xsub")
- if $proto_in_this_xsub ++ ;
-
- for (; !/^$BLOCK_re/o; $_ = shift(@line)) {
- next unless /\S/;
- $specified = 1 ;
- TrimWhitespace($_) ;
- if ($_ eq 'DISABLE') {
- $ProtoThisXSUB = 0
- } elsif ($_ eq 'ENABLE') {
- $ProtoThisXSUB = 1
- } else {
- # remove any whitespace
- s/\s+//g ;
- death("Error: Invalid prototype '$_'")
- unless ValidProtoString($_) ;
- $ProtoThisXSUB = C_string($_) ;
- }
- }
+}
- # If no prototype specified, then assume empty prototype ""
- $ProtoThisXSUB = 2 unless $specified ;
+sub PROTOTYPE_handler {
+ my $self = shift;
+ $_ = shift;
+
+ my $specified;
- $ProtoUsed = 1 ;
+ $self->death("Error: Only 1 PROTOTYPE definition allowed per xsub")
+ if $self->{proto_in_this_xsub}++;
+ for (; !/^$self->{BLOCK_re}/o; $_ = shift(@{ $self->{line} })) {
+ next unless /\S/;
+ $specified = 1;
+ trim_whitespace($_);
+ if ($_ eq 'DISABLE') {
+ $self->{ProtoThisXSUB} = 0;
+ }
+ elsif ($_ eq 'ENABLE') {
+ $self->{ProtoThisXSUB} = 1;
+ }
+ else {
+ # remove any whitespace
+ s/\s+//g;
+ $self->death("Error: Invalid prototype '$_'")
+ unless valid_proto_string($_);
+ $self->{ProtoThisXSUB} = C_string($_);
+ }
}
-sub SCOPE_handler ()
- {
- death("Error: Only 1 SCOPE declaration allowed per xsub")
- if $scope_in_this_xsub ++ ;
+ # If no prototype specified, then assume empty prototype ""
+ $self->{ProtoThisXSUB} = 2 unless $specified;
- TrimWhitespace($_);
- death ("Error: SCOPE: ENABLE/DISABLE")
- unless /^(ENABLE|DISABLE)\b/i;
- $ScopeThisXSUB = ( uc($1) eq 'ENABLE' );
- }
+ $self->{ProtoUsed} = 1;
+}
-sub PROTOTYPES_handler ()
- {
- # the rest of the current line should contain either ENABLE or
- # DISABLE
+sub SCOPE_handler {
+ my $self = shift;
+ $_ = shift;
- TrimWhitespace($_) ;
+ $self->death("Error: Only 1 SCOPE declaration allowed per xsub")
+ if $self->{scope_in_this_xsub}++;
- # check for ENABLE/DISABLE
- death ("Error: PROTOTYPES: ENABLE/DISABLE")
- unless /^(ENABLE|DISABLE)/i ;
+ trim_whitespace($_);
+ $self->death("Error: SCOPE: ENABLE/DISABLE")
+ unless /^(ENABLE|DISABLE)\b/i;
+ $self->{ScopeThisXSUB} = ( uc($1) eq 'ENABLE' );
+}
- $WantPrototypes = 1 if $1 eq 'ENABLE' ;
- $WantPrototypes = 0 if $1 eq 'DISABLE' ;
- $ProtoUsed = 1 ;
+sub PROTOTYPES_handler {
+ my $self = shift;
+ $_ = shift;
- }
+ # the rest of the current line should contain either ENABLE or
+ # DISABLE
-sub PushXSStack
- {
- my %args = @_;
- # Save the current file context.
- push(@XSStack, {
- type => 'file',
- LastLine => $lastline,
- LastLineNo => $lastline_no,
- Line => \@line,
- LineNo => \@line_no,
- Filename => $filename,
- Filepathname => $filepathname,
- Handle => $FH,
- IsPipe => scalar($filename =~ /\|\s*$/),
- %args,
- }) ;
+ trim_whitespace($_);
- }
+ # check for ENABLE/DISABLE
+ $self->death("Error: PROTOTYPES: ENABLE/DISABLE")
+ unless /^(ENABLE|DISABLE)/i;
-sub INCLUDE_handler ()
- {
- # the rest of the current line should contain a valid filename
+ $self->{WantPrototypes} = 1 if $1 eq 'ENABLE';
+ $self->{WantPrototypes} = 0 if $1 eq 'DISABLE';
+ $self->{ProtoUsed} = 1;
+}
- TrimWhitespace($_) ;
+sub EXPORT_XSUB_SYMBOLS_handler {
+ my $self = shift;
+ $_ = shift;
- death("INCLUDE: filename missing")
- unless $_ ;
+ # the rest of the current line should contain either ENABLE or
+ # DISABLE
- death("INCLUDE: output pipe is illegal")
- if /^\s*\|/ ;
+ trim_whitespace($_);
- # simple minded recursion detector
- death("INCLUDE loop detected")
- if $IncludedFiles{$_} ;
+ # check for ENABLE/DISABLE
+ $self->death("Error: EXPORT_XSUB_SYMBOLS: ENABLE/DISABLE")
+ unless /^(ENABLE|DISABLE)/i;
- ++ $IncludedFiles{$_} unless /\|\s*$/ ;
+ my $xs_impl = $1 eq 'ENABLE' ? 'XS_EXTERNAL' : 'XS_INTERNAL';
+
+ print Q(<<"EOF");
+##undef XS_EUPXS
+##if defined(PERL_EUPXS_ALWAYS_EXPORT)
+## define XS_EUPXS(name) XS_EXTERNAL(name)
+##elif defined(PERL_EUPXS_NEVER_EXPORT)
+## define XS_EUPXS(name) XS_INTERNAL(name)
+##else
+## define XS_EUPXS(name) $xs_impl(name)
+##endif
+EOF
+}
- if (/\|\s*$/ && /^\s*perl\s/) {
- Warn("The INCLUDE directive with a command is discouraged." .
- " Use INCLUDE_COMMAND instead! In particular using 'perl'" .
- " in an 'INCLUDE: ... |' directive is not guaranteed to pick" .
- " up the correct perl. The INCLUDE_COMMAND directive allows" .
- " the use of \$^X as the currently running perl, see" .
- " 'perldoc perlxs' for details.");
- }
- PushXSStack();
+sub PushXSStack {
+ my $self = shift;
+ my %args = @_;
+ # Save the current file context.
+ push(@{ $self->{XSStack} }, {
+ type => 'file',
+ LastLine => $self->{lastline},
+ LastLineNo => $self->{lastline_no},
+ Line => $self->{line},
+ LineNo => $self->{line_no},
+ Filename => $self->{filename},
+ Filepathname => $self->{filepathname},
+ Handle => $self->{FH},
+ IsPipe => scalar($self->{filename} =~ /\|\s*$/),
+ %args,
+ });
+
+}
- $FH = Symbol::gensym();
+sub INCLUDE_handler {
+ my $self = shift;
+ $_ = shift;
+ # the rest of the current line should contain a valid filename
- # open the new file
- open ($FH, "$_") or death("Cannot open '$_': $!") ;
+ trim_whitespace($_);
- print Q(<<"EOF");
+ $self->death("INCLUDE: filename missing")
+ unless $_;
+
+ $self->death("INCLUDE: output pipe is illegal")
+ if /^\s*\|/;
+
+ # simple minded recursion detector
+ $self->death("INCLUDE loop detected")
+ if $self->{IncludedFiles}->{$_};
+
+ ++$self->{IncludedFiles}->{$_} unless /\|\s*$/;
+
+ if (/\|\s*$/ && /^\s*perl\s/) {
+ Warn( $self, "The INCLUDE directive with a command is discouraged." .
+ " Use INCLUDE_COMMAND instead! In particular using 'perl'" .
+ " in an 'INCLUDE: ... |' directive is not guaranteed to pick" .
+ " up the correct perl. The INCLUDE_COMMAND directive allows" .
+ " the use of \$^X as the currently running perl, see" .
+ " 'perldoc perlxs' for details.");
+ }
+
+ $self->PushXSStack();
+
+ $self->{FH} = Symbol::gensym();
+
+ # open the new file
+ open($self->{FH}, $_) or $self->death("Cannot open '$_': $!");
+
+ print Q(<<"EOF");
#
-#/* INCLUDE: Including '$_' from '$filename' */
+#/* INCLUDE: Including '$_' from '$self->{filename}' */
#
EOF
- $filename = $_ ;
- $filepathname = File::Spec->catfile($dir, $filename);
+ $self->{filename} = $_;
+ $self->{filepathname} = ( $^O =~ /^mswin/i )
+ ? qq($self->{dir}/$self->{filename}) # See CPAN RT #61908: gcc doesn't like backslashes on win32?
+ : File::Spec->catfile($self->{dir}, $self->{filename});
- # Prime the pump by reading the first
- # non-blank line
+ # Prime the pump by reading the first
+ # non-blank line
- # skip leading blank lines
- while (<$FH>) {
- last unless /^\s*$/ ;
- }
-
- $lastline = $_ ;
- $lastline_no = $. ;
+ # skip leading blank lines
+ while (readline($self->{FH})) {
+ last unless /^\s*$/;
}
+ $self->{lastline} = $_;
+ $self->{lastline_no} = $.;
+}
+
sub QuoteArgs {
- my $cmd = shift;
- my @args = split /\s+/, $cmd;
- $cmd = shift @args;
- for (@args) {
- $_ = q(").$_.q(") if !/^\"/ && length($_) > 0;
- }
- return join (' ', ($cmd, @args));
+ my $cmd = shift;
+ my @args = split /\s+/, $cmd;
+ $cmd = shift @args;
+ for (@args) {
+ $_ = q(").$_.q(") if !/^\"/ && length($_) > 0;
}
+ return join (' ', ($cmd, @args));
+}
-sub INCLUDE_COMMAND_handler ()
- {
- # the rest of the current line should contain a valid command
+sub INCLUDE_COMMAND_handler {
+ my $self = shift;
+ $_ = shift;
+ # the rest of the current line should contain a valid command
- TrimWhitespace($_) ;
+ trim_whitespace($_);
- $_ = QuoteArgs($_) if $^O eq 'VMS';
+ $_ = QuoteArgs($_) if $^O eq 'VMS';
- death("INCLUDE_COMMAND: command missing")
- unless $_ ;
+ $self->death("INCLUDE_COMMAND: command missing")
+ unless $_;
- death("INCLUDE_COMMAND: pipes are illegal")
- if /^\s*\|/ or /\|\s*$/ ;
+ $self->death("INCLUDE_COMMAND: pipes are illegal")
+ if /^\s*\|/ or /\|\s*$/;
- PushXSStack( IsPipe => 1 );
+ $self->PushXSStack( IsPipe => 1 );
- $FH = Symbol::gensym();
+ $self->{FH} = Symbol::gensym();
- # If $^X is used in INCLUDE_COMMAND, we know it's supposed to be
- # the same perl interpreter as we're currently running
- s/^\s*\$\^X/$^X/;
+ # If $^X is used in INCLUDE_COMMAND, we know it's supposed to be
+ # the same perl interpreter as we're currently running
+ s/^\s*\$\^X/$^X/;
- # open the new file
- open ($FH, "-|", "$_")
- or death("Cannot run command '$_' to include its output: $!") ;
+ # open the new file
+ open ($self->{FH}, "-|", $_)
+ or $self->death( $self, "Cannot run command '$_' to include its output: $!");
- print Q(<<"EOF");
+ print Q(<<"EOF");
#
-#/* INCLUDE_COMMAND: Including output of '$_' from '$filename' */
+#/* INCLUDE_COMMAND: Including output of '$_' from '$self->{filename}' */
#
EOF
- $filename = $_ ;
- $filepathname = $filename;
- $filepathname =~ s/\"/\\"/g;
+ $self->{filename} = $_;
+ $self->{filepathname} = $self->{filename};
+ #$self->{filepathname} =~ s/\"/\\"/g; # Fails? See CPAN RT #53938: MinGW Broken after 2.21
+ $self->{filepathname} =~ s/\\/\\\\/g; # Works according to reporter of #53938
- # Prime the pump by reading the first
- # non-blank line
+ # Prime the pump by reading the first
+ # non-blank line
- # skip leading blank lines
- while (<$FH>) {
- last unless /^\s*$/ ;
- }
-
- $lastline = $_ ;
- $lastline_no = $. ;
+ # skip leading blank lines
+ while (readline($self->{FH})) {
+ last unless /^\s*$/;
}
-sub PopFile()
- {
- return 0 unless $XSStack[-1]{type} eq 'file' ;
-
- my $data = pop @XSStack ;
- my $ThisFile = $filename ;
- my $isPipe = $data->{IsPipe};
-
- -- $IncludedFiles{$filename}
- unless $isPipe ;
-
- close $FH ;
-
- $FH = $data->{Handle} ;
- # $filename is the leafname, which for some reason isused for diagnostic
- # messages, whereas $filepathname is the full pathname, and is used for
- # #line directives.
- $filename = $data->{Filename} ;
- $filepathname = $data->{Filepathname} ;
- $lastline = $data->{LastLine} ;
- $lastline_no = $data->{LastLineNo} ;
- @line = @{ $data->{Line} } ;
- @line_no = @{ $data->{LineNo} } ;
-
- if ($isPipe and $? ) {
- -- $lastline_no ;
- print STDERR "Error reading from pipe '$ThisFile': $! in $filename, line $lastline_no\n" ;
- exit 1 ;
- }
+ $self->{lastline} = $_;
+ $self->{lastline_no} = $.;
+}
- print Q(<<"EOF");
-#
-#/* INCLUDE: Returning to '$filename' from '$ThisFile' */
-#
-EOF
+sub PopFile {
+ my $self = shift;
- return 1 ;
- }
+ return 0 unless $self->{XSStack}->[-1]{type} eq 'file';
-sub ValidProtoString ($)
- {
- my($string) = @_ ;
+ my $data = pop @{ $self->{XSStack} };
+ my $ThisFile = $self->{filename};
+ my $isPipe = $data->{IsPipe};
- if ( $string =~ /^$proto_re+$/ ) {
- return $string ;
- }
+ --$self->{IncludedFiles}->{$self->{filename}}
+ unless $isPipe;
- return 0 ;
- }
+ close $self->{FH};
-sub C_string ($)
- {
- my($string) = @_ ;
+ $self->{FH} = $data->{Handle};
+ # $filename is the leafname, which for some reason isused for diagnostic
+ # messages, whereas $filepathname is the full pathname, and is used for
+ # #line directives.
+ $self->{filename} = $data->{Filename};
+ $self->{filepathname} = $data->{Filepathname};
+ $self->{lastline} = $data->{LastLine};
+ $self->{lastline_no} = $data->{LastLineNo};
+ @{ $self->{line} } = @{ $data->{Line} };
+ @{ $self->{line_no} } = @{ $data->{LineNo} };
- $string =~ s[\\][\\\\]g ;
- $string ;
+ if ($isPipe and $? ) {
+ --$self->{lastline_no};
+ print STDERR "Error reading from pipe '$ThisFile': $! in $self->{filename}, line $self->{lastline_no}\n" ;
+ exit 1;
}
-sub ProtoString ($)
- {
- my ($type) = @_ ;
-
- $proto_letter{$type} or "\$" ;
- }
+ print Q(<<"EOF");
+#
+#/* INCLUDE: Returning to '$self->{filename}' from '$ThisFile' */
+#
+EOF
-sub check_cpp {
- my @cpp = grep(/^\#\s*(?:if|e\w+)/, @line);
- if (@cpp) {
- my ($cpp, $cpplevel);
- for $cpp (@cpp) {
- if ($cpp =~ /^\#\s*if/) {
- $cpplevel++;
- } elsif (!$cpplevel) {
- Warn("Warning: #else/elif/endif without #if in this function");
- print STDERR " (precede it with a blank line if the matching #if is outside the function)\n"
- if $XSStack[-1]{type} eq 'if';
- return;
- } elsif ($cpp =~ /^\#\s*endif/) {
- $cpplevel--;
- }
- }
- Warn("Warning: #if without #endif in this function") if $cpplevel;
- }
+ return 1;
}
-
sub Q {
my($text) = @_;
$text =~ s/^#//gm;
@@ -1715,480 +1669,325 @@ sub Q {
$text;
}
-# Read next xsub into @line from ($lastline, <$FH>).
+# Read next xsub into @{ $self->{line} } from ($lastline, readline($self->{FH})).
sub fetch_para {
+ my $self = shift;
+
# parse paragraph
- death ("Error: Unterminated `#if/#ifdef/#ifndef'")
- if !defined $lastline && $XSStack[-1]{type} eq 'if';
- @line = ();
- @line_no = () ;
- return PopFile() if !defined $lastline;
+ $self->death("Error: Unterminated '#if/#ifdef/#ifndef'")
+ if !defined $self->{lastline} && $self->{XSStack}->[-1]{type} eq 'if';
+ @{ $self->{line} } = ();
+ @{ $self->{line_no} } = ();
+ return $self->PopFile() if !defined $self->{lastline};
- if ($lastline =~
+ if ($self->{lastline} =~
/^MODULE\s*=\s*([\w:]+)(?:\s+PACKAGE\s*=\s*([\w:]+))?(?:\s+PREFIX\s*=\s*(\S+))?\s*$/) {
- $Module = $1;
+ my $Module = $1;
$Package = defined($2) ? $2 : ''; # keep -w happy
- $Prefix = defined($3) ? $3 : ''; # keep -w happy
- $Prefix = quotemeta $Prefix ;
- ($Module_cname = $Module) =~ s/\W/_/g;
- ($Packid = $Package) =~ tr/:/_/;
- $Packprefix = $Package;
- $Packprefix .= "::" if $Packprefix ne "";
- $lastline = "";
+ $self->{Prefix} = defined($3) ? $3 : ''; # keep -w happy
+ $self->{Prefix} = quotemeta $self->{Prefix};
+ ($self->{Module_cname} = $Module) =~ s/\W/_/g;
+ ($self->{Packid} = $Package) =~ tr/:/_/;
+ $self->{Packprefix} = $Package;
+ $self->{Packprefix} .= "::" if $self->{Packprefix} ne "";
+ $self->{lastline} = "";
}
for (;;) {
# Skip embedded PODs
- while ($lastline =~ /^=/) {
- while ($lastline = <$FH>) {
- last if ($lastline =~ /^=cut\s*$/);
+ while ($self->{lastline} =~ /^=/) {
+ while ($self->{lastline} = readline($self->{FH})) {
+ last if ($self->{lastline} =~ /^=cut\s*$/);
}
- death ("Error: Unterminated pod") unless $lastline;
- $lastline = <$FH>;
- chomp $lastline;
- $lastline =~ s/^\s+$//;
+ $self->death("Error: Unterminated pod") unless $self->{lastline};
+ $self->{lastline} = readline($self->{FH});
+ chomp $self->{lastline};
+ $self->{lastline} =~ s/^\s+$//;
}
- if ($lastline !~ /^\s*#/ ||
- # CPP directives:
- # ANSI: if ifdef ifndef elif else endif define undef
- # line error pragma
- # gcc: warning include_next
- # obj-c: import
- # others: ident (gcc notes that some cpps have this one)
- $lastline =~ /^#[ \t]*(?:(?:if|ifn?def|elif|else|endif|define|undef|pragma|error|warning|line\s+\d+|ident)\b|(?:include(?:_next)?|import)\s*["<].*[>"])/) {
- last if $lastline =~ /^\S/ && @line && $line[-1] eq "";
- push(@line, $lastline);
- push(@line_no, $lastline_no) ;
+
+ # This chunk of code strips out (and parses) embedded TYPEMAP blocks
+ # which support a HEREdoc-alike block syntax.
+ # This is special cased from the usual paragraph-handler logic
+ # due to the HEREdoc-ish syntax.
+ if ($self->{lastline} =~ /^TYPEMAP\s*:\s*<<\s*(?:(["'])(.+?)\1|([^\s'"]+))\s*;?\s*$/) {
+ my $end_marker = quotemeta(defined($1) ? $2 : $3);
+ my @tmaplines;
+ while (1) {
+ $self->{lastline} = readline($self->{FH});
+ $self->death("Error: Unterminated typemap") if not defined $self->{lastline};
+ last if $self->{lastline} =~ /^$end_marker\s*$/;
+ push @tmaplines, $self->{lastline};
+ }
+
+ my $tmapcode = join "", @tmaplines;
+ my $tmap = ExtUtils::Typemaps->new(
+ string => $tmapcode,
+ lineno_offset => ($self->current_line_number()||0)+1,
+ fake_filename => $self->{filename},
+ );
+ $self->{typemap}->merge(typemap => $tmap, replace => 1);
+
+ $self->{lastline} = "";
+ }
+
+ if ($self->{lastline} !~ /^\s*#/ ||
+ # CPP directives:
+ # ANSI: if ifdef ifndef elif else endif define undef
+ # line error pragma
+ # gcc: warning include_next
+ # obj-c: import
+ # others: ident (gcc notes that some cpps have this one)
+ $self->{lastline} =~ /^#[ \t]*(?:(?:if|ifn?def|elif|else|endif|define|undef|pragma|error|warning|line\s+\d+|ident)\b|(?:include(?:_next)?|import)\s*["<].*[>"])/) {
+ last if $self->{lastline} =~ /^\S/ && @{ $self->{line} } && $self->{line}->[-1] eq "";
+ push(@{ $self->{line} }, $self->{lastline});
+ push(@{ $self->{line_no} }, $self->{lastline_no});
}
# Read next line and continuation lines
- last unless defined($lastline = <$FH>);
- $lastline_no = $.;
+ last unless defined($self->{lastline} = readline($self->{FH}));
+ $self->{lastline_no} = $.;
my $tmp_line;
- $lastline .= $tmp_line
- while ($lastline =~ /\\$/ && defined($tmp_line = <$FH>));
+ $self->{lastline} .= $tmp_line
+ while ($self->{lastline} =~ /\\$/ && defined($tmp_line = readline($self->{FH})));
- chomp $lastline;
- $lastline =~ s/^\s+$//;
+ chomp $self->{lastline};
+ $self->{lastline} =~ s/^\s+$//;
}
- pop(@line), pop(@line_no) while @line && $line[-1] eq "";
+ pop(@{ $self->{line} }), pop(@{ $self->{line_no} }) while @{ $self->{line} } && $self->{line}->[-1] eq "";
1;
}
sub output_init {
- local($type, $num, $var, $init, $name_printed) = @_;
- local($arg) = "ST(" . ($num - 1) . ")";
+ my $argsref = shift;
+ my ($type, $num, $var, $init, $printed_name) = (
+ $argsref->{type},
+ $argsref->{num},
+ $argsref->{var},
+ $argsref->{init},
+ $argsref->{printed_name}
+ );
+ my $arg = "ST(" . ($num - 1) . ")";
if ( $init =~ /^=/ ) {
- if ($name_printed) {
+ if ($printed_name) {
eval qq/print " $init\\n"/;
- } else {
+ }
+ else {
eval qq/print "\\t$var $init\\n"/;
}
- warn $@ if $@;
- } else {
+ warn $@ if $@;
+ }
+ else {
if ( $init =~ s/^\+// && $num ) {
- &generate_init($type, $num, $var, $name_printed);
- } elsif ($name_printed) {
+ generate_init( {
+ type => $type,
+ num => $num,
+ var => $var,
+ printed_name => $printed_name,
+ } );
+ }
+ elsif ($printed_name) {
print ";\n";
$init =~ s/^;//;
- } else {
+ }
+ else {
eval qq/print "\\t$var;\\n"/;
- warn $@ if $@;
+ warn $@ if $@;
$init =~ s/^;//;
}
- $deferred .= eval qq/"\\n\\t$init\\n"/;
- warn $@ if $@;
+ $self->{deferred} .= eval qq/"\\n\\t$init\\n"/;
+ warn $@ if $@;
}
}
-sub Warn
- {
- # work out the line number
- my $line_no = $line_no[@line_no - @line -1] ;
-
- print STDERR "@_ in $filename, line $line_no\n" ;
- }
-
-sub blurt
- {
- Warn @_ ;
- $errors ++
- }
-
-sub death
- {
- Warn @_ ;
- exit 1 ;
- }
-
sub generate_init {
- local($type, $num, $var) = @_;
- local($arg) = "ST(" . ($num - 1) . ")";
- local($argoff) = $num - 1;
- local($ntype);
- local($tk);
-
- $type = TidyType($type) ;
- blurt("Error: '$type' not in typemap"), return
- unless defined($type_kind{$type});
+ my $argsref = shift;
+ my ($type, $num, $var, $printed_name) = (
+ $argsref->{type},
+ $argsref->{num},
+ $argsref->{var},
+ $argsref->{printed_name},
+ );
+ my $arg = "ST(" . ($num - 1) . ")";
+ my ($argoff, $ntype);
+ $argoff = $num - 1;
+
+ my $typemaps = $self->{typemap};
+
+ $type = tidy_type($type);
+ $self->report_typemap_failure($typemaps, $type), return
+ unless $typemaps->get_typemap(ctype => $type);
($ntype = $type) =~ s/\s*\*/Ptr/g;
+ my $subtype;
($subtype = $ntype) =~ s/(?:Array)?(?:Ptr)?$//;
- $tk = $type_kind{$type};
- $tk =~ s/OBJ$/REF/ if $func_name =~ /DESTROY$/;
- if ($tk eq 'T_PV' and exists $lengthof{$var}) {
- print "\t$var" unless $name_printed;
+ my $typem = $typemaps->get_typemap(ctype => $type);
+ my $xstype = $typem->xstype;
+ $xstype =~ s/OBJ$/REF/ if $func_name =~ /DESTROY$/;
+ if ($xstype eq 'T_PV' and exists $self->{lengthof}->{$var}) {
+ print "\t$var" unless $printed_name;
print " = ($type)SvPV($arg, STRLEN_length_of_$var);\n";
die "default value not supported with length(NAME) supplied"
- if defined $defaults{$var};
+ if defined $self->{defaults}->{$var};
return;
}
- $type =~ tr/:/_/ unless $hiertype;
- blurt("Error: No INPUT definition for type '$type', typekind '$type_kind{$type}' found"), return
- unless defined $input_expr{$tk} ;
- $expr = $input_expr{$tk};
+ $type =~ tr/:/_/ unless $self->{hiertype};
+
+ my $inputmap = $typemaps->get_inputmap(xstype => $xstype);
+ $self->blurt("Error: No INPUT definition for type '$type', typekind '" . $type->xstype . "' found"), return
+ unless defined $inputmap;
+
+ my $expr = $inputmap->cleaned_code;
+ # Note: This gruesome bit either needs heavy rethinking or documentation. I vote for the former. --Steffen
if ($expr =~ /DO_ARRAY_ELEM/) {
- blurt("Error: '$subtype' not in typemap"), return
- unless defined($type_kind{$subtype});
- blurt("Error: No INPUT definition for type '$subtype', typekind '$type_kind{$subtype}' found"), return
- unless defined $input_expr{$type_kind{$subtype}} ;
- $subexpr = $input_expr{$type_kind{$subtype}};
+ my $subtypemap = $typemaps->get_typemap(ctype => $subtype);
+ $self->report_typemap_failure($typemaps, $subtype), return
+ if not $subtypemap;
+ my $subinputmap = $typemaps->get_inputmap(xstype => $subtypemap->xstype);
+ $self->blurt("Error: No INPUT definition for type '$subtype', typekind '" . $subtypemap->xstype . "' found"), return
+ unless $subinputmap;
+ my $subexpr = $subinputmap->cleaned_code;
$subexpr =~ s/\$type/\$subtype/g;
$subexpr =~ s/ntype/subtype/g;
$subexpr =~ s/\$arg/ST(ix_$var)/g;
$subexpr =~ s/\n\t/\n\t\t/g;
$subexpr =~ s/is not of (.*\")/[arg %d] is not of $1, ix_$var + 1/g;
- $subexpr =~ s/\$var/${var}[ix_$var - $argoff]/;
+ $subexpr =~ s/\$var/${var}\[ix_$var - $argoff]/;
$expr =~ s/DO_ARRAY_ELEM/$subexpr/;
}
if ($expr =~ m#/\*.*scope.*\*/#i) { # "scope" in C comments
- $ScopeThisXSUB = 1;
+ $self->{ScopeThisXSUB} = 1;
}
- if (defined($defaults{$var})) {
+ if (defined($self->{defaults}->{$var})) {
$expr =~ s/(\t+)/$1 /g;
$expr =~ s/ /\t/g;
- if ($name_printed) {
+ if ($printed_name) {
print ";\n";
- } else {
+ }
+ else {
eval qq/print "\\t$var;\\n"/;
- warn $@ if $@;
+ warn $@ if $@;
}
- if ($defaults{$var} eq 'NO_INIT') {
- $deferred .= eval qq/"\\n\\tif (items >= $num) {\\n$expr;\\n\\t}\\n"/;
- } else {
- $deferred .= eval qq/"\\n\\tif (items < $num)\\n\\t $var = $defaults{$var};\\n\\telse {\\n$expr;\\n\\t}\\n"/;
+ if ($self->{defaults}->{$var} eq 'NO_INIT') {
+ $self->{deferred} .= eval qq/"\\n\\tif (items >= $num) {\\n$expr;\\n\\t}\\n"/;
}
- warn $@ if $@;
- } elsif ($ScopeThisXSUB or $expr !~ /^\s*\$var =/) {
- if ($name_printed) {
+ else {
+ $self->{deferred} .= eval qq/"\\n\\tif (items < $num)\\n\\t $var = $self->{defaults}->{$var};\\n\\telse {\\n$expr;\\n\\t}\\n"/;
+ }
+ warn $@ if $@;
+ }
+ elsif ($self->{ScopeThisXSUB} or $expr !~ /^\s*\$var =/) {
+ if ($printed_name) {
print ";\n";
- } else {
+ }
+ else {
eval qq/print "\\t$var;\\n"/;
- warn $@ if $@;
+ warn $@ if $@;
}
- $deferred .= eval qq/"\\n$expr;\\n"/;
- warn $@ if $@;
- } else {
+ $self->{deferred} .= eval qq/"\\n$expr;\\n"/;
+ warn $@ if $@;
+ }
+ else {
die "panic: do not know how to handle this branch for function pointers"
- if $name_printed;
+ if $printed_name;
eval qq/print "$expr;\\n"/;
- warn $@ if $@;
+ warn $@ if $@;
}
}
sub generate_output {
- local($type, $num, $var, $do_setmagic, $do_push) = @_;
- local($arg) = "ST(" . ($num - ($num != 0)) . ")";
- local($argoff) = $num - 1;
- local($ntype);
-
- $type = TidyType($type) ;
+ my $argsref = shift;
+ my ($type, $num, $var, $do_setmagic, $do_push) = (
+ $argsref->{type},
+ $argsref->{num},
+ $argsref->{var},
+ $argsref->{do_setmagic},
+ $argsref->{do_push}
+ );
+ my $arg = "ST(" . ($num - ($num != 0)) . ")";
+ my $ntype;
+
+ my $typemaps = $self->{typemap};
+
+ $type = tidy_type($type);
if ($type =~ /^array\(([^,]*),(.*)\)/) {
print "\t$arg = sv_newmortal();\n";
print "\tsv_setpvn($arg, (char *)$var, $2 * sizeof($1));\n";
print "\tSvSETMAGIC($arg);\n" if $do_setmagic;
- } else {
- blurt("Error: '$type' not in typemap"), return
- unless defined($type_kind{$type});
- blurt("Error: No OUTPUT definition for type '$type', typekind '$type_kind{$type}' found"), return
- unless defined $output_expr{$type_kind{$type}} ;
+ }
+ else {
+ my $typemap = $typemaps->get_typemap(ctype => $type);
+ $self->report_typemap_failure($typemaps, $type), return
+ if not $typemap;
+ my $outputmap = $typemaps->get_outputmap(xstype => $typemap->xstype);
+ $self->blurt("Error: No OUTPUT definition for type '$type', typekind '" . $typemap->xstype . "' found"), return
+ unless $outputmap;
($ntype = $type) =~ s/\s*\*/Ptr/g;
$ntype =~ s/\(\)//g;
+ my $subtype;
($subtype = $ntype) =~ s/(?:Array)?(?:Ptr)?$//;
- $expr = $output_expr{$type_kind{$type}};
+
+ my $expr = $outputmap->cleaned_code;
if ($expr =~ /DO_ARRAY_ELEM/) {
- blurt("Error: '$subtype' not in typemap"), return
- unless defined($type_kind{$subtype});
- blurt("Error: No OUTPUT definition for type '$subtype', typekind '$type_kind{$subtype}' found"), return
- unless defined $output_expr{$type_kind{$subtype}} ;
- $subexpr = $output_expr{$type_kind{$subtype}};
+ my $subtypemap = $typemaps->get_typemap(ctype => $subtype);
+ $self->report_typemap_failure($typemaps, $subtype), return
+ if not $subtypemap;
+ my $suboutputmap = $typemaps->get_outputmap(xstype => $subtypemap->xstype);
+ $self->blurt("Error: No OUTPUT definition for type '$subtype', typekind '" . $subtypemap->xstype . "' found"), return
+ unless $suboutputmap;
+ my $subexpr = $suboutputmap->cleaned_code;
$subexpr =~ s/ntype/subtype/g;
$subexpr =~ s/\$arg/ST(ix_$var)/g;
- $subexpr =~ s/\$var/${var}[ix_$var]/g;
+ $subexpr =~ s/\$var/${var}\[ix_$var]/g;
$subexpr =~ s/\n\t/\n\t\t/g;
$expr =~ s/DO_ARRAY_ELEM\n/$subexpr/;
eval "print qq\a$expr\a";
- warn $@ if $@;
+ warn $@ if $@;
print "\t\tSvSETMAGIC(ST(ix_$var));\n" if $do_setmagic;
- } elsif ($var eq 'RETVAL') {
+ }
+ elsif ($var eq 'RETVAL') {
if ($expr =~ /^\t\$arg = new/) {
- # We expect that $arg has refcnt 1, so we need to
- # mortalize it.
- eval "print qq\a$expr\a";
- warn $@ if $@;
- print "\tsv_2mortal(ST($num));\n";
- print "\tSvSETMAGIC(ST($num));\n" if $do_setmagic;
- } elsif ($expr =~ /^\s*\$arg\s*=/) {
- # We expect that $arg has refcnt >=1, so we need
- # to mortalize it!
- eval "print qq\a$expr\a";
- warn $@ if $@;
- print "\tsv_2mortal(ST(0));\n";
- print "\tSvSETMAGIC(ST(0));\n" if $do_setmagic;
- } else {
- # Just hope that the entry would safely write it
- # over an already mortalized value. By
- # coincidence, something like $arg = &sv_undef
- # works too.
- print "\tST(0) = sv_newmortal();\n";
- eval "print qq\a$expr\a";
- warn $@ if $@;
- # new mortals don't have set magic
+ # We expect that $arg has refcnt 1, so we need to
+ # mortalize it.
+ eval "print qq\a$expr\a";
+ warn $@ if $@;
+ print "\tsv_2mortal(ST($num));\n";
+ print "\tSvSETMAGIC(ST($num));\n" if $do_setmagic;
+ }
+ elsif ($expr =~ /^\s*\$arg\s*=/) {
+ # We expect that $arg has refcnt >=1, so we need
+ # to mortalize it!
+ eval "print qq\a$expr\a";
+ warn $@ if $@;
+ print "\tsv_2mortal(ST(0));\n";
+ print "\tSvSETMAGIC(ST(0));\n" if $do_setmagic;
+ }
+ else {
+ # Just hope that the entry would safely write it
+ # over an already mortalized value. By
+ # coincidence, something like $arg = &sv_undef
+ # works too.
+ print "\tST(0) = sv_newmortal();\n";
+ eval "print qq\a$expr\a";
+ warn $@ if $@;
+ # new mortals don't have set magic
}
- } elsif ($do_push) {
+ }
+ elsif ($do_push) {
print "\tPUSHs(sv_newmortal());\n";
$arg = "ST($num)";
eval "print qq\a$expr\a";
- warn $@ if $@;
+ warn $@ if $@;
print "\tSvSETMAGIC($arg);\n" if $do_setmagic;
- } elsif ($arg =~ /^ST\(\d+\)$/) {
+ }
+ elsif ($arg =~ /^ST\(\d+\)$/) {
eval "print qq\a$expr\a";
- warn $@ if $@;
+ warn $@ if $@;
print "\tSvSETMAGIC($arg);\n" if $do_setmagic;
}
}
}
-sub map_type {
- my($type, $varname) = @_;
-
- # C++ has :: in types too so skip this
- $type =~ tr/:/_/ unless $hiertype;
- $type =~ s/^array\(([^,]*),(.*)\).*/$1 */s;
- if ($varname) {
- if ($varname && $type =~ / \( \s* \* (?= \s* \) ) /xg) {
- (substr $type, pos $type, 0) = " $varname ";
- } else {
- $type .= "\t$varname";
- }
- }
- $type;
-}
-
-
-#########################################################
-package
- ExtUtils::ParseXS::CountLines;
-use strict;
-use vars qw($SECTION_END_MARKER);
-
-sub TIEHANDLE {
- my ($class, $cfile, $fh) = @_;
- $cfile =~ s/\\/\\\\/g;
- $SECTION_END_MARKER = qq{#line --- "$cfile"};
-
- return bless {buffer => '',
- fh => $fh,
- line_no => 1,
- }, $class;
-}
-
-sub PRINT {
- my $self = shift;
- for (@_) {
- $self->{buffer} .= $_;
- while ($self->{buffer} =~ s/^([^\n]*\n)//) {
- my $line = $1;
- ++ $self->{line_no};
- $line =~ s|^\#line\s+---(?=\s)|#line $self->{line_no}|;
- print {$self->{fh}} $line;
- }
- }
-}
-
-sub PRINTF {
- my $self = shift;
- my $fmt = shift;
- $self->PRINT(sprintf($fmt, @_));
-}
-
-sub DESTROY {
- # Not necessary if we're careful to end with a "\n"
- my $self = shift;
- print {$self->{fh}} $self->{buffer};
-}
-
-sub UNTIE {
- # This sub does nothing, but is necessary for references to be released.
-}
-
-sub end_marker {
- return $SECTION_END_MARKER;
-}
-
-
1;
-__END__
-
-=head1 NAME
-
-ExtUtils::ParseXS - converts Perl XS code into C code
-
-=head1 SYNOPSIS
-
- use ExtUtils::ParseXS qw(process_file);
-
- process_file( filename => 'foo.xs' );
-
- process_file( filename => 'foo.xs',
- output => 'bar.c',
- 'C++' => 1,
- typemap => 'path/to/typemap',
- hiertype => 1,
- except => 1,
- prototypes => 1,
- versioncheck => 1,
- linenumbers => 1,
- optimize => 1,
- prototypes => 1,
- );
-=head1 DESCRIPTION
-
-C<ExtUtils::ParseXS> will compile XS code into C code by embedding the constructs
-necessary to let C functions manipulate Perl values and creates the glue
-necessary to let Perl access those functions. The compiler uses typemaps to
-determine how to map C function parameters and variables to Perl values.
-
-The compiler will search for typemap files called I<typemap>. It will use
-the following search path to find default typemaps, with the rightmost
-typemap taking precedence.
-
- ../../../typemap:../../typemap:../typemap:typemap
-
-=head1 EXPORT
-
-None by default. C<process_file()> may be exported upon request.
-
-
-=head1 FUNCTIONS
-
-=over 4
-
-=item process_xs()
-
-This function processes an XS file and sends output to a C file.
-Named parameters control how the processing is done. The following
-parameters are accepted:
-
-=over 4
-
-=item B<C++>
-
-Adds C<extern "C"> to the C code. Default is false.
-
-=item B<hiertype>
-
-Retains C<::> in type names so that C++ hierarchical types can be
-mapped. Default is false.
-
-=item B<except>
-
-Adds exception handling stubs to the C code. Default is false.
-
-=item B<typemap>
-
-Indicates that a user-supplied typemap should take precedence over the
-default typemaps. A single typemap may be specified as a string, or
-multiple typemaps can be specified in an array reference, with the
-last typemap having the highest precedence.
-
-=item B<prototypes>
-
-Generates prototype code for all xsubs. Default is false.
-
-=item B<versioncheck>
-
-Makes sure at run time that the object file (derived from the C<.xs>
-file) and the C<.pm> files have the same version number. Default is
-true.
-
-=item B<linenumbers>
-
-Adds C<#line> directives to the C output so error messages will look
-like they came from the original XS file. Default is true.
-
-=item B<optimize>
-
-Enables certain optimizations. The only optimization that is currently
-affected is the use of I<target>s by the output C code (see L<perlguts>).
-Not optimizing may significantly slow down the generated code, but this is the way
-B<xsubpp> of 5.005 and earlier operated. Default is to optimize.
-
-=item B<inout>
-
-Enable recognition of C<IN>, C<OUT_LIST> and C<INOUT_LIST>
-declarations. Default is true.
-
-=item B<argtypes>
-
-Enable recognition of ANSI-like descriptions of function signature.
-Default is true.
-
-=item B<s>
-
-I have no clue what this does. Strips function prefixes?
-
-=back
-
-=item errors()
-
-This function returns the number of [a certain kind of] errors
-encountered during processing of the XS file.
-
-=back
-
-=head1 AUTHOR
-
-Based on xsubpp code, written by Larry Wall.
-
-Maintained by:
-
-=over 4
-
-=item *
-
-Ken Williams, <ken@mathforum.org>
-
-=item *
-
-David Golden, <dagolden@cpan.org>
-
-=back
-
-=head1 COPYRIGHT
-
-Copyright 2002-2009 by Ken Williams, David Golden and other contributors. All
-rights reserved.
-
-This library is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-Based on the ExtUtils::xsubpp code by Larry Wall and the Perl 5
-Porters, which was released under the same license terms.
-
-=head1 SEE ALSO
-
-L<perl>, ExtUtils::xsubpp, ExtUtils::MakeMaker, L<perlxs>, L<perlxstut>.
-=cut
+# vim: ts=2 sw=2 et:
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pod b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pod
new file mode 100644
index 00000000000..e0d1511e4a9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS.pod
@@ -0,0 +1,161 @@
+=head1 NAME
+
+ExtUtils::ParseXS - converts Perl XS code into C code
+
+=head1 SYNOPSIS
+
+ use ExtUtils::ParseXS qw(process_file);
+
+ process_file( filename => 'foo.xs' );
+
+ process_file( filename => 'foo.xs',
+ output => 'bar.c',
+ 'C++' => 1,
+ typemap => 'path/to/typemap',
+ hiertype => 1,
+ except => 1,
+ prototypes => 1,
+ versioncheck => 1,
+ linenumbers => 1,
+ optimize => 1,
+ prototypes => 1,
+ );
+
+=head1 DESCRIPTION
+
+C<ExtUtils::ParseXS> will compile XS code into C code by embedding the constructs
+necessary to let C functions manipulate Perl values and creates the glue
+necessary to let Perl access those functions. The compiler uses typemaps to
+determine how to map C function parameters and variables to Perl values.
+
+The compiler will search for typemap files called I<typemap>. It will use
+the following search path to find default typemaps, with the rightmost
+typemap taking precedence.
+
+ ../../../typemap:../../typemap:../typemap:typemap
+
+=head1 EXPORT
+
+None by default. C<process_file()> may be exported upon request.
+
+=head1 FUNCTIONS
+
+=over 4
+
+=item process_file()
+
+This function processes an XS file and sends output to a C file.
+Named parameters control how the processing is done. The following
+parameters are accepted:
+
+=over 4
+
+=item B<C++>
+
+Adds C<extern "C"> to the C code. Default is false.
+
+=item B<hiertype>
+
+Retains C<::> in type names so that C++ hierarchical types can be
+mapped. Default is false.
+
+=item B<except>
+
+Adds exception handling stubs to the C code. Default is false.
+
+=item B<typemap>
+
+Indicates that a user-supplied typemap should take precedence over the
+default typemaps. A single typemap may be specified as a string, or
+multiple typemaps can be specified in an array reference, with the
+last typemap having the highest precedence.
+
+=item B<prototypes>
+
+Generates prototype code for all xsubs. Default is false.
+
+=item B<versioncheck>
+
+Makes sure at run time that the object file (derived from the C<.xs>
+file) and the C<.pm> files have the same version number. Default is
+true.
+
+=item B<linenumbers>
+
+Adds C<#line> directives to the C output so error messages will look
+like they came from the original XS file. Default is true.
+
+=item B<optimize>
+
+Enables certain optimizations. The only optimization that is currently
+affected is the use of I<target>s by the output C code (see L<perlguts>).
+Not optimizing may significantly slow down the generated code, but this is the way
+B<xsubpp> of 5.005 and earlier operated. Default is to optimize.
+
+=item B<inout>
+
+Enable recognition of C<IN>, C<OUT_LIST> and C<INOUT_LIST>
+declarations. Default is true.
+
+=item B<argtypes>
+
+Enable recognition of ANSI-like descriptions of function signature.
+Default is true.
+
+=item B<s>
+
+I<Maintainer note:> I have no clue what this does. Strips function prefixes?
+
+=back
+
+=item errors()
+
+This function returns the number of [a certain kind of] errors
+encountered during processing of the XS file.
+
+=back
+
+=head1 AUTHOR
+
+Based on xsubpp code, written by Larry Wall.
+
+Maintained by:
+
+=over 4
+
+=item *
+
+Ken Williams, <ken@mathforum.org>
+
+=item *
+
+David Golden, <dagolden@cpan.org>
+
+=item *
+
+James Keenan, <jkeenan@cpan.org>
+
+=item *
+
+Steffen Mueller, <smueller@cpan.org>
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright 2002-2012 by Ken Williams, David Golden and other contributors. All
+rights reserved.
+
+This library is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+Based on the C<ExtUtils::xsubpp> code by Larry Wall and the Perl 5
+Porters, which was released under the same license terms.
+
+=head1 SEE ALSO
+
+L<perl>, ExtUtils::xsubpp, ExtUtils::MakeMaker, L<perlxs>, L<perlxstut>.
+
+=cut
+
+
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm
new file mode 100644
index 00000000000..2f822dacbe9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Constants.pm
@@ -0,0 +1,42 @@
+package ExtUtils::ParseXS::Constants;
+use strict;
+use warnings;
+use Symbol;
+
+our $VERSION = '3.16';
+
+=head1 NAME
+
+ExtUtils::ParseXS::Constants - Initialization values for some globals
+
+=head1 SYNOPSIS
+
+ use ExtUtils::ParseXS::Constants ();
+
+ $PrototypeRegexp = $ExtUtils::ParseXS::Constants::PrototypeRegexp;
+
+=head1 DESCRIPTION
+
+Initialization of certain non-subroutine variables in ExtUtils::ParseXS and some of its
+supporting packages has been moved into this package so that those values can
+be defined exactly once and then re-used in any package.
+
+Nothing is exported. Use fully qualified variable names.
+
+=cut
+
+# FIXME: THESE ARE NOT CONSTANTS!
+our @InitFileCode;
+
+# Note that to reduce maintenance, $PrototypeRegexp is used
+# by ExtUtils::Typemaps, too!
+our $PrototypeRegexp = "[" . quotemeta('\$%&*@;[]_') . "]";
+our @XSKeywords = qw(
+ REQUIRE BOOT CASE PREINIT INPUT INIT CODE PPCODE
+ OUTPUT CLEANUP ALIAS ATTRS PROTOTYPES PROTOTYPE
+ VERSIONCHECK INCLUDE INCLUDE_COMMAND SCOPE INTERFACE
+ INTERFACE_MACRO C_ARGS POSTCALL OVERLOAD FALLBACK
+ EXPORT_XSUB_SYMBOLS
+);
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm
new file mode 100644
index 00000000000..66944cd629d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/CountLines.pm
@@ -0,0 +1,54 @@
+package ExtUtils::ParseXS::CountLines;
+use strict;
+
+our $VERSION = '3.16';
+
+our $SECTION_END_MARKER;
+
+sub TIEHANDLE {
+ my ($class, $cfile, $fh) = @_;
+ $cfile =~ s/\\/\\\\/g;
+ $cfile =~ s/"/\\"/g;
+ $SECTION_END_MARKER = qq{#line --- "$cfile"};
+
+ return bless {
+ buffer => '',
+ fh => $fh,
+ line_no => 1,
+ }, $class;
+}
+
+sub PRINT {
+ my $self = shift;
+ for (@_) {
+ $self->{buffer} .= $_;
+ while ($self->{buffer} =~ s/^([^\n]*\n)//) {
+ my $line = $1;
+ ++$self->{line_no};
+ $line =~ s|^\#line\s+---(?=\s)|#line $self->{line_no}|;
+ print {$self->{fh}} $line;
+ }
+ }
+}
+
+sub PRINTF {
+ my $self = shift;
+ my $fmt = shift;
+ $self->PRINT(sprintf($fmt, @_));
+}
+
+sub DESTROY {
+ # Not necessary if we're careful to end with a "\n"
+ my $self = shift;
+ print {$self->{fh}} $self->{buffer};
+}
+
+sub UNTIE {
+ # This sub does nothing, but is necessary for references to be released.
+}
+
+sub end_marker {
+ return $SECTION_END_MARKER;
+}
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm
new file mode 100644
index 00000000000..c4172d017ee
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/ParseXS/Utilities.pm
@@ -0,0 +1,924 @@
+package ExtUtils::ParseXS::Utilities;
+use strict;
+use warnings;
+use Exporter;
+use File::Spec;
+use lib qw( lib );
+use ExtUtils::ParseXS::Constants ();
+
+our $VERSION = '3.16';
+
+our (@ISA, @EXPORT_OK);
+@ISA = qw(Exporter);
+@EXPORT_OK = qw(
+ standard_typemap_locations
+ trim_whitespace
+ tidy_type
+ C_string
+ valid_proto_string
+ process_typemaps
+ make_targetable
+ map_type
+ standard_XS_defs
+ assign_func_args
+ analyze_preprocessor_statements
+ set_cond
+ Warn
+ current_line_number
+ blurt
+ death
+ check_conditional_preprocessor_statements
+ escape_file_for_line_directive
+ report_typemap_failure
+);
+
+=head1 NAME
+
+ExtUtils::ParseXS::Utilities - Subroutines used with ExtUtils::ParseXS
+
+=head1 SYNOPSIS
+
+ use ExtUtils::ParseXS::Utilities qw(
+ standard_typemap_locations
+ trim_whitespace
+ tidy_type
+ C_string
+ valid_proto_string
+ process_typemaps
+ make_targetable
+ map_type
+ standard_XS_defs
+ assign_func_args
+ analyze_preprocessor_statements
+ set_cond
+ Warn
+ blurt
+ death
+ check_conditional_preprocessor_statements
+ escape_file_for_line_directive
+ report_typemap_failure
+ );
+
+=head1 SUBROUTINES
+
+The following functions are not considered to be part of the public interface.
+They are documented here for the benefit of future maintainers of this module.
+
+=head2 C<standard_typemap_locations()>
+
+=over 4
+
+=item * Purpose
+
+Provide a list of filepaths where F<typemap> files may be found. The
+filepaths -- relative paths to files (not just directory paths) -- appear in this list in lowest-to-highest priority.
+
+The highest priority is to look in the current directory.
+
+ 'typemap'
+
+The second and third highest priorities are to look in the parent of the
+current directory and a directory called F<lib/ExtUtils> underneath the parent
+directory.
+
+ '../typemap',
+ '../lib/ExtUtils/typemap',
+
+The fourth through ninth highest priorities are to look in the corresponding
+grandparent, great-grandparent and great-great-grandparent directories.
+
+ '../../typemap',
+ '../../lib/ExtUtils/typemap',
+ '../../../typemap',
+ '../../../lib/ExtUtils/typemap',
+ '../../../../typemap',
+ '../../../../lib/ExtUtils/typemap',
+
+The tenth and subsequent priorities are to look in directories named
+F<ExtUtils> which are subdirectories of directories found in C<@INC> --
+I<provided> a file named F<typemap> actually exists in such a directory.
+Example:
+
+ '/usr/local/lib/perl5/5.10.1/ExtUtils/typemap',
+
+However, these filepaths appear in the list returned by
+C<standard_typemap_locations()> in reverse order, I<i.e.>, lowest-to-highest.
+
+ '/usr/local/lib/perl5/5.10.1/ExtUtils/typemap',
+ '../../../../lib/ExtUtils/typemap',
+ '../../../../typemap',
+ '../../../lib/ExtUtils/typemap',
+ '../../../typemap',
+ '../../lib/ExtUtils/typemap',
+ '../../typemap',
+ '../lib/ExtUtils/typemap',
+ '../typemap',
+ 'typemap'
+
+=item * Arguments
+
+ my @stl = standard_typemap_locations( \@INC );
+
+Reference to C<@INC>.
+
+=item * Return Value
+
+Array holding list of directories to be searched for F<typemap> files.
+
+=back
+
+=cut
+
+sub standard_typemap_locations {
+ my $include_ref = shift;
+ my @tm = qw(typemap);
+
+ my $updir = File::Spec->updir();
+ foreach my $dir (
+ File::Spec->catdir(($updir) x 1),
+ File::Spec->catdir(($updir) x 2),
+ File::Spec->catdir(($updir) x 3),
+ File::Spec->catdir(($updir) x 4),
+ ) {
+ unshift @tm, File::Spec->catfile($dir, 'typemap');
+ unshift @tm, File::Spec->catfile($dir, lib => ExtUtils => 'typemap');
+ }
+ foreach my $dir (@{ $include_ref}) {
+ my $file = File::Spec->catfile($dir, ExtUtils => 'typemap');
+ unshift @tm, $file if -e $file;
+ }
+ return @tm;
+}
+
+=head2 C<trim_whitespace()>
+
+=over 4
+
+=item * Purpose
+
+Perform an in-place trimming of leading and trailing whitespace from the
+first argument provided to the function.
+
+=item * Argument
+
+ trim_whitespace($arg);
+
+=item * Return Value
+
+None. Remember: this is an I<in-place> modification of the argument.
+
+=back
+
+=cut
+
+sub trim_whitespace {
+ $_[0] =~ s/^\s+|\s+$//go;
+}
+
+=head2 C<tidy_type()>
+
+=over 4
+
+=item * Purpose
+
+Rationalize any asterisks (C<*>) by joining them into bunches, removing
+interior whitespace, then trimming leading and trailing whitespace.
+
+=item * Arguments
+
+ ($ret_type) = tidy_type($_);
+
+String to be cleaned up.
+
+=item * Return Value
+
+String cleaned up.
+
+=back
+
+=cut
+
+sub tidy_type {
+ local ($_) = @_;
+
+ # rationalise any '*' by joining them into bunches and removing whitespace
+ s#\s*(\*+)\s*#$1#g;
+ s#(\*+)# $1 #g;
+
+ # change multiple whitespace into a single space
+ s/\s+/ /g;
+
+ # trim leading & trailing whitespace
+ trim_whitespace($_);
+
+ $_;
+}
+
+=head2 C<C_string()>
+
+=over 4
+
+=item * Purpose
+
+Escape backslashes (C<\>) in prototype strings.
+
+=item * Arguments
+
+ $ProtoThisXSUB = C_string($_);
+
+String needing escaping.
+
+=item * Return Value
+
+Properly escaped string.
+
+=back
+
+=cut
+
+sub C_string {
+ my($string) = @_;
+
+ $string =~ s[\\][\\\\]g;
+ $string;
+}
+
+=head2 C<valid_proto_string()>
+
+=over 4
+
+=item * Purpose
+
+Validate prototype string.
+
+=item * Arguments
+
+String needing checking.
+
+=item * Return Value
+
+Upon success, returns the same string passed as argument.
+
+Upon failure, returns C<0>.
+
+=back
+
+=cut
+
+sub valid_proto_string {
+ my($string) = @_;
+
+ if ( $string =~ /^$ExtUtils::ParseXS::Constants::PrototypeRegexp+$/ ) {
+ return $string;
+ }
+
+ return 0;
+}
+
+=head2 C<process_typemaps()>
+
+=over 4
+
+=item * Purpose
+
+Process all typemap files.
+
+=item * Arguments
+
+ my $typemaps_object = process_typemaps( $args{typemap}, $pwd );
+
+List of two elements: C<typemap> element from C<%args>; current working
+directory.
+
+=item * Return Value
+
+Upon success, returns an L<ExtUtils::Typemaps> object.
+
+=back
+
+=cut
+
+sub process_typemaps {
+ my ($tmap, $pwd) = @_;
+
+ my @tm = ref $tmap ? @{$tmap} : ($tmap);
+
+ foreach my $typemap (@tm) {
+ die "Can't find $typemap in $pwd\n" unless -r $typemap;
+ }
+
+ push @tm, standard_typemap_locations( \@INC );
+
+ require ExtUtils::Typemaps;
+ my $typemap = ExtUtils::Typemaps->new;
+ foreach my $typemap_loc (@tm) {
+ next unless -f $typemap_loc;
+ # skip directories, binary files etc.
+ warn("Warning: ignoring non-text typemap file '$typemap_loc'\n"), next
+ unless -T $typemap_loc;
+
+ $typemap->merge(file => $typemap_loc, replace => 1);
+ }
+
+ return $typemap;
+}
+
+=head2 C<make_targetable()>
+
+=over 4
+
+=item * Purpose
+
+Populate C<%targetable>. This constitutes a refinement of the output of
+C<process_typemaps()> with respect to its fourth output, C<$output_expr_ref>.
+
+=item * Arguments
+
+ %targetable = make_targetable($output_expr_ref);
+
+Single hash reference: the fourth such ref returned by C<process_typemaps()>.
+
+=item * Return Value
+
+Hash.
+
+=back
+
+=cut
+
+sub make_targetable {
+ my $output_expr_ref = shift;
+
+ our $bal; # ()-balanced
+ $bal = qr[
+ (?:
+ (?>[^()]+)
+ |
+ \( (??{ $bal }) \)
+ )*
+ ]x;
+
+ # matches variations on (SV*)
+ my $sv_cast = qr[
+ (?:
+ \( \s* SV \s* \* \s* \) \s*
+ )?
+ ]x;
+
+ my $size = qr[ # Third arg (to setpvn)
+ , \s* (??{ $bal })
+ ]x;
+
+ my %targetable;
+ foreach my $key (keys %{ $output_expr_ref }) {
+ # We can still bootstrap compile 're', because in code re.pm is
+ # available to miniperl, and does not attempt to load the XS code.
+ use re 'eval';
+
+ my ($type, $with_size, $arg, $sarg) =
+ ($output_expr_ref->{$key} =~
+ m[^
+ \s+
+ sv_set([iunp])v(n)? # Type, is_setpvn
+ \s*
+ \( \s*
+ $sv_cast \$arg \s* , \s*
+ ( (??{ $bal }) ) # Set from
+ ( (??{ $size }) )? # Possible sizeof set-from
+ \) \s* ; \s* $
+ ]x
+ );
+ $targetable{$key} = [$type, $with_size, $arg, $sarg] if $type;
+ }
+ return %targetable;
+}
+
+=head2 C<map_type()>
+
+=over 4
+
+=item * Purpose
+
+Performs a mapping at several places inside C<PARAGRAPH> loop.
+
+=item * Arguments
+
+ $type = map_type($self, $type, $varname);
+
+List of three arguments.
+
+=item * Return Value
+
+String holding augmented version of second argument.
+
+=back
+
+=cut
+
+sub map_type {
+ my ($self, $type, $varname) = @_;
+
+ # C++ has :: in types too so skip this
+ $type =~ tr/:/_/ unless $self->{hiertype};
+ $type =~ s/^array\(([^,]*),(.*)\).*/$1 */s;
+ if ($varname) {
+ if ($type =~ / \( \s* \* (?= \s* \) ) /xg) {
+ (substr $type, pos $type, 0) = " $varname ";
+ }
+ else {
+ $type .= "\t$varname";
+ }
+ }
+ return $type;
+}
+
+=head2 C<standard_XS_defs()>
+
+=over 4
+
+=item * Purpose
+
+Writes to the C<.c> output file certain preprocessor directives and function
+headers needed in all such files.
+
+=item * Arguments
+
+None.
+
+=item * Return Value
+
+Returns true.
+
+=back
+
+=cut
+
+sub standard_XS_defs {
+ print <<"EOF";
+#ifndef PERL_UNUSED_VAR
+# define PERL_UNUSED_VAR(var) if (0) var = var
+#endif
+
+#ifndef dVAR
+# define dVAR dNOOP
+#endif
+
+
+/* This stuff is not part of the API! You have been warned. */
+#ifndef PERL_VERSION_DECIMAL
+# define PERL_VERSION_DECIMAL(r,v,s) (r*1000000 + v*1000 + s)
+#endif
+#ifndef PERL_DECIMAL_VERSION
+# define PERL_DECIMAL_VERSION \\
+ PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)
+#endif
+#ifndef PERL_VERSION_GE
+# define PERL_VERSION_GE(r,v,s) \\
+ (PERL_DECIMAL_VERSION >= PERL_VERSION_DECIMAL(r,v,s))
+#endif
+#ifndef PERL_VERSION_LE
+# define PERL_VERSION_LE(r,v,s) \\
+ (PERL_DECIMAL_VERSION <= PERL_VERSION_DECIMAL(r,v,s))
+#endif
+
+/* XS_INTERNAL is the explicit static-linkage variant of the default
+ * XS macro.
+ *
+ * XS_EXTERNAL is the same as XS_INTERNAL except it does not include
+ * "STATIC", ie. it exports XSUB symbols. You probably don't want that
+ * for anything but the BOOT XSUB.
+ *
+ * See XSUB.h in core!
+ */
+
+
+/* TODO: This might be compatible further back than 5.10.0. */
+#if PERL_VERSION_GE(5, 10, 0) && PERL_VERSION_LE(5, 15, 1)
+# undef XS_EXTERNAL
+# undef XS_INTERNAL
+# if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
+# define XS_EXTERNAL(name) __declspec(dllexport) XSPROTO(name)
+# define XS_INTERNAL(name) STATIC XSPROTO(name)
+# endif
+# if defined(__SYMBIAN32__)
+# define XS_EXTERNAL(name) EXPORT_C XSPROTO(name)
+# define XS_INTERNAL(name) EXPORT_C STATIC XSPROTO(name)
+# endif
+# ifndef XS_EXTERNAL
+# if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
+# define XS_EXTERNAL(name) void name(pTHX_ CV* cv __attribute__unused__)
+# define XS_INTERNAL(name) STATIC void name(pTHX_ CV* cv __attribute__unused__)
+# else
+# ifdef __cplusplus
+# define XS_EXTERNAL(name) extern "C" XSPROTO(name)
+# define XS_INTERNAL(name) static XSPROTO(name)
+# else
+# define XS_EXTERNAL(name) XSPROTO(name)
+# define XS_INTERNAL(name) STATIC XSPROTO(name)
+# endif
+# endif
+# endif
+#endif
+
+/* perl >= 5.10.0 && perl <= 5.15.1 */
+
+
+/* The XS_EXTERNAL macro is used for functions that must not be static
+ * like the boot XSUB of a module. If perl didn't have an XS_EXTERNAL
+ * macro defined, the best we can do is assume XS is the same.
+ * Dito for XS_INTERNAL.
+ */
+#ifndef XS_EXTERNAL
+# define XS_EXTERNAL(name) XS(name)
+#endif
+#ifndef XS_INTERNAL
+# define XS_INTERNAL(name) XS(name)
+#endif
+
+/* Now, finally, after all this mess, we want an ExtUtils::ParseXS
+ * internal macro that we're free to redefine for varying linkage due
+ * to the EXPORT_XSUB_SYMBOLS XS keyword. This is internal, use
+ * XS_EXTERNAL(name) or XS_INTERNAL(name) in your code if you need to!
+ */
+
+#undef XS_EUPXS
+#if defined(PERL_EUPXS_ALWAYS_EXPORT)
+# define XS_EUPXS(name) XS_EXTERNAL(name)
+#else
+ /* default to internal */
+# define XS_EUPXS(name) XS_INTERNAL(name)
+#endif
+
+EOF
+
+ print <<"EOF";
+#ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
+#define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)
+
+/* prototype to pass -Wmissing-prototypes */
+STATIC void
+S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params);
+
+STATIC void
+S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params)
+{
+ const GV *const gv = CvGV(cv);
+
+ PERL_ARGS_ASSERT_CROAK_XS_USAGE;
+
+ if (gv) {
+ const char *const gvname = GvNAME(gv);
+ const HV *const stash = GvSTASH(gv);
+ const char *const hvname = stash ? HvNAME(stash) : NULL;
+
+ if (hvname)
+ Perl_croak(aTHX_ "Usage: %s::%s(%s)", hvname, gvname, params);
+ else
+ Perl_croak(aTHX_ "Usage: %s(%s)", gvname, params);
+ } else {
+ /* Pants. I don't think that it should be possible to get here. */
+ Perl_croak(aTHX_ "Usage: CODE(0x%"UVxf")(%s)", PTR2UV(cv), params);
+ }
+}
+#undef PERL_ARGS_ASSERT_CROAK_XS_USAGE
+
+#ifdef PERL_IMPLICIT_CONTEXT
+#define croak_xs_usage(a,b) S_croak_xs_usage(aTHX_ a,b)
+#else
+#define croak_xs_usage S_croak_xs_usage
+#endif
+
+#endif
+
+/* NOTE: the prototype of newXSproto() is different in versions of perls,
+ * so we define a portable version of newXSproto()
+ */
+#ifdef newXS_flags
+#define newXSproto_portable(name, c_impl, file, proto) newXS_flags(name, c_impl, file, proto, 0)
+#else
+#define newXSproto_portable(name, c_impl, file, proto) (PL_Sv=(SV*)newXS(name, c_impl, file), sv_setpv(PL_Sv, proto), (CV*)PL_Sv)
+#endif /* !defined(newXS_flags) */
+
+EOF
+ return 1;
+}
+
+=head2 C<assign_func_args()>
+
+=over 4
+
+=item * Purpose
+
+Perform assignment to the C<func_args> attribute.
+
+=item * Arguments
+
+ $string = assign_func_args($self, $argsref, $class);
+
+List of three elements. Second is an array reference; third is a string.
+
+=item * Return Value
+
+String.
+
+=back
+
+=cut
+
+sub assign_func_args {
+ my ($self, $argsref, $class) = @_;
+ my @func_args = @{$argsref};
+ shift @func_args if defined($class);
+
+ for my $arg (@func_args) {
+ $arg =~ s/^/&/ if $self->{in_out}->{$arg};
+ }
+ return join(", ", @func_args);
+}
+
+=head2 C<analyze_preprocessor_statements()>
+
+=over 4
+
+=item * Purpose
+
+Within each function inside each Xsub, print to the F<.c> output file certain
+preprocessor statements.
+
+=item * Arguments
+
+ ( $self, $XSS_work_idx, $BootCode_ref ) =
+ analyze_preprocessor_statements(
+ $self, $statement, $XSS_work_idx, $BootCode_ref
+ );
+
+List of four elements.
+
+=item * Return Value
+
+Modifed values of three of the arguments passed to the function. In
+particular, the C<XSStack> and C<InitFileCode> attributes are modified.
+
+=back
+
+=cut
+
+sub analyze_preprocessor_statements {
+ my ($self, $statement, $XSS_work_idx, $BootCode_ref) = @_;
+
+ if ($statement eq 'if') {
+ $XSS_work_idx = @{ $self->{XSStack} };
+ push(@{ $self->{XSStack} }, {type => 'if'});
+ }
+ else {
+ $self->death("Error: '$statement' with no matching 'if'")
+ if $self->{XSStack}->[-1]{type} ne 'if';
+ if ($self->{XSStack}->[-1]{varname}) {
+ push(@{ $self->{InitFileCode} }, "#endif\n");
+ push(@{ $BootCode_ref }, "#endif");
+ }
+
+ my(@fns) = keys %{$self->{XSStack}->[-1]{functions}};
+ if ($statement ne 'endif') {
+ # Hide the functions defined in other #if branches, and reset.
+ @{$self->{XSStack}->[-1]{other_functions}}{@fns} = (1) x @fns;
+ @{$self->{XSStack}->[-1]}{qw(varname functions)} = ('', {});
+ }
+ else {
+ my($tmp) = pop(@{ $self->{XSStack} });
+ 0 while (--$XSS_work_idx
+ && $self->{XSStack}->[$XSS_work_idx]{type} ne 'if');
+ # Keep all new defined functions
+ push(@fns, keys %{$tmp->{other_functions}});
+ @{$self->{XSStack}->[$XSS_work_idx]{functions}}{@fns} = (1) x @fns;
+ }
+ }
+ return ($self, $XSS_work_idx, $BootCode_ref);
+}
+
+=head2 C<set_cond()>
+
+=over 4
+
+=item * Purpose
+
+=item * Arguments
+
+=item * Return Value
+
+=back
+
+=cut
+
+sub set_cond {
+ my ($ellipsis, $min_args, $num_args) = @_;
+ my $cond;
+ if ($ellipsis) {
+ $cond = ($min_args ? qq(items < $min_args) : 0);
+ }
+ elsif ($min_args == $num_args) {
+ $cond = qq(items != $min_args);
+ }
+ else {
+ $cond = qq(items < $min_args || items > $num_args);
+ }
+ return $cond;
+}
+
+=head2 C<current_line_number()>
+
+=over 4
+
+=item * Purpose
+
+Figures out the current line number in the XS file.
+
+=item * Arguments
+
+C<$self>
+
+=item * Return Value
+
+The current line number.
+
+=back
+
+=cut
+
+sub current_line_number {
+ my $self = shift;
+ my $line_number = $self->{line_no}->[@{ $self->{line_no} } - @{ $self->{line} } -1];
+ return $line_number;
+}
+
+=head2 C<Warn()>
+
+=over 4
+
+=item * Purpose
+
+=item * Arguments
+
+=item * Return Value
+
+=back
+
+=cut
+
+sub Warn {
+ my $self = shift;
+ my $warn_line_number = $self->current_line_number();
+ print STDERR "@_ in $self->{filename}, line $warn_line_number\n";
+}
+
+=head2 C<blurt()>
+
+=over 4
+
+=item * Purpose
+
+=item * Arguments
+
+=item * Return Value
+
+=back
+
+=cut
+
+sub blurt {
+ my $self = shift;
+ $self->Warn(@_);
+ $self->{errors}++
+}
+
+=head2 C<death()>
+
+=over 4
+
+=item * Purpose
+
+=item * Arguments
+
+=item * Return Value
+
+=back
+
+=cut
+
+sub death {
+ my $self = shift;
+ $self->Warn(@_);
+ exit 1;
+}
+
+=head2 C<check_conditional_preprocessor_statements()>
+
+=over 4
+
+=item * Purpose
+
+=item * Arguments
+
+=item * Return Value
+
+=back
+
+=cut
+
+sub check_conditional_preprocessor_statements {
+ my ($self) = @_;
+ my @cpp = grep(/^\#\s*(?:if|e\w+)/, @{ $self->{line} });
+ if (@cpp) {
+ my $cpplevel;
+ for my $cpp (@cpp) {
+ if ($cpp =~ /^\#\s*if/) {
+ $cpplevel++;
+ }
+ elsif (!$cpplevel) {
+ $self->Warn("Warning: #else/elif/endif without #if in this function");
+ print STDERR " (precede it with a blank line if the matching #if is outside the function)\n"
+ if $self->{XSStack}->[-1]{type} eq 'if';
+ return;
+ }
+ elsif ($cpp =~ /^\#\s*endif/) {
+ $cpplevel--;
+ }
+ }
+ $self->Warn("Warning: #if without #endif in this function") if $cpplevel;
+ }
+}
+
+=head2 C<escape_file_for_line_directive()>
+
+=over 4
+
+=item * Purpose
+
+Escapes a given code source name (typically a file name but can also
+be a command that was read from) so that double-quotes and backslashes are escaped.
+
+=item * Arguments
+
+A string.
+
+=item * Return Value
+
+A string with escapes for double-quotes and backslashes.
+
+=back
+
+=cut
+
+sub escape_file_for_line_directive {
+ my $string = shift;
+ $string =~ s/\\/\\\\/g;
+ $string =~ s/"/\\"/g;
+ return $string;
+}
+
+=head2 C<report_typemap_failure>
+
+=over 4
+
+=item * Purpose
+
+Do error reporting for missing typemaps.
+
+=item * Arguments
+
+The C<ExtUtils::ParseXS> object.
+
+An C<ExtUtils::Typemaps> object.
+
+The string that represents the C type that was not found in the typemap.
+
+Optionally, the string C<death> or C<blurt> to choose
+whether the error is immediately fatal or not. Default: C<blurt>
+
+=item * Return Value
+
+Returns nothing. Depending on the arguments, this
+may call C<death> or C<blurt>, the former of which is
+fatal.
+
+=back
+
+=cut
+
+sub report_typemap_failure {
+ my ($self, $tm, $ctype, $error_method) = @_;
+ $error_method ||= 'blurt';
+
+ my @avail_ctypes = $tm->list_mapped_ctypes;
+
+ my $err = "Could not find a typemap for C type '$ctype'.\n"
+ . "The following C types are mapped by the current typemap:\n'"
+ . join("', '", @avail_ctypes) . "'\n";
+
+ $self->$error_method($err);
+ return();
+}
+
+1;
+
+# vim: ts=2 sw=2 et:
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps.pm
new file mode 100644
index 00000000000..2bc9c8036f1
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps.pm
@@ -0,0 +1,1031 @@
+package ExtUtils::Typemaps;
+use 5.006001;
+use strict;
+use warnings;
+our $VERSION = '3.16';
+#use Carp qw(croak);
+
+require ExtUtils::ParseXS;
+require ExtUtils::ParseXS::Constants;
+require ExtUtils::Typemaps::InputMap;
+require ExtUtils::Typemaps::OutputMap;
+require ExtUtils::Typemaps::Type;
+
+=head1 NAME
+
+ExtUtils::Typemaps - Read/Write/Modify Perl/XS typemap files
+
+=head1 SYNOPSIS
+
+ # read/create file
+ my $typemap = ExtUtils::Typemaps->new(file => 'typemap');
+ # alternatively create an in-memory typemap
+ # $typemap = ExtUtils::Typemaps->new();
+ # alternatively create an in-memory typemap by parsing a string
+ # $typemap = ExtUtils::Typemaps->new(string => $sometypemap);
+
+ # add a mapping
+ $typemap->add_typemap(ctype => 'NV', xstype => 'T_NV');
+ $typemap->add_inputmap(
+ xstype => 'T_NV', code => '$var = ($type)SvNV($arg);'
+ );
+ $typemap->add_outputmap(
+ xstype => 'T_NV', code => 'sv_setnv($arg, (NV)$var);'
+ );
+ $typemap->add_string(string => $typemapstring);
+ # will be parsed and merged
+
+ # remove a mapping (same for remove_typemap and remove_outputmap...)
+ $typemap->remove_inputmap(xstype => 'SomeType');
+
+ # save a typemap to a file
+ $typemap->write(file => 'anotherfile.map');
+
+ # merge the other typemap into this one
+ $typemap->merge(typemap => $another_typemap);
+
+=head1 DESCRIPTION
+
+This module can read, modify, create and write Perl XS typemap files. If you don't know
+what a typemap is, please confer the L<perlxstut> and L<perlxs> manuals.
+
+The module is not entirely round-trip safe: For example it currently simply strips all comments.
+The order of entries in the maps is, however, preserved.
+
+We check for duplicate entries in the typemap, but do not check for missing
+C<TYPEMAP> entries for C<INPUTMAP> or C<OUTPUTMAP> entries since these might be hidden
+in a different typemap.
+
+=head1 METHODS
+
+=cut
+
+=head2 new
+
+Returns a new typemap object. Takes an optional C<file> parameter.
+If set, the given file will be read. If the file doesn't exist, an empty typemap
+is returned.
+
+Alternatively, if the C<string> parameter is given, the supplied
+string will be parsed instead of a file.
+
+=cut
+
+sub new {
+ my $class = shift;
+ my %args = @_;
+
+ if (defined $args{file} and defined $args{string}) {
+ die("Cannot handle both 'file' and 'string' arguments to constructor");
+ }
+
+ my $self = bless {
+ file => undef,
+ %args,
+ typemap_section => [],
+ typemap_lookup => {},
+ input_section => [],
+ input_lookup => {},
+ output_section => [],
+ output_lookup => {},
+ } => $class;
+
+ $self->_init();
+
+ return $self;
+}
+
+sub _init {
+ my $self = shift;
+ if (defined $self->{string}) {
+ $self->_parse(\($self->{string}), $self->{lineno_offset}, $self->{fake_filename});
+ delete $self->{string};
+ }
+ elsif (defined $self->{file} and -e $self->{file}) {
+ open my $fh, '<', $self->{file}
+ or die "Cannot open typemap file '"
+ . $self->{file} . "' for reading: $!";
+ local $/ = undef;
+ my $string = <$fh>;
+ $self->_parse(\$string, $self->{lineno_offset}, $self->{file});
+ }
+}
+
+=head2 file
+
+Get/set the file that the typemap is written to when the
+C<write> method is called.
+
+=cut
+
+sub file {
+ $_[0]->{file} = $_[1] if @_ > 1;
+ $_[0]->{file}
+}
+
+=head2 add_typemap
+
+Add a C<TYPEMAP> entry to the typemap.
+
+Required named arguments: The C<ctype> (e.g. C<ctype =E<gt> 'double'>)
+and the C<xstype> (e.g. C<xstype =E<gt> 'T_NV'>).
+
+Optional named arguments: C<replace =E<gt> 1> forces removal/replacement of
+existing C<TYPEMAP> entries of the same C<ctype>. C<skip =E<gt> 1>
+triggers a I<"first come first serve"> logic by which new entries that conflict
+with existing entries are silently ignored.
+
+As an alternative to the named parameters usage, you may pass in
+an C<ExtUtils::Typemaps::Type> object as first argument, a copy of which will be
+added to the typemap. In that case, only the C<replace> or C<skip> named parameters
+may be used after the object. Example:
+
+ $map->add_typemap($type_obj, replace => 1);
+
+=cut
+
+sub add_typemap {
+ my $self = shift;
+ my $type;
+ my %args;
+
+ if ((@_ % 2) == 1) {
+ my $orig = shift;
+ $type = $orig->new();
+ %args = @_;
+ }
+ else {
+ %args = @_;
+ my $ctype = $args{ctype};
+ die("Need ctype argument") if not defined $ctype;
+ my $xstype = $args{xstype};
+ die("Need xstype argument") if not defined $xstype;
+
+ $type = ExtUtils::Typemaps::Type->new(
+ xstype => $xstype,
+ 'prototype' => $args{'prototype'},
+ ctype => $ctype,
+ );
+ }
+
+ if ($args{skip} and $args{replace}) {
+ die("Cannot use both 'skip' and 'replace'");
+ }
+
+ if ($args{replace}) {
+ $self->remove_typemap(ctype => $type->ctype);
+ }
+ elsif ($args{skip}) {
+ return() if exists $self->{typemap_lookup}{$type->ctype};
+ }
+ else {
+ $self->validate(typemap_xstype => $type->xstype, ctype => $type->ctype);
+ }
+
+ # store
+ push @{$self->{typemap_section}}, $type;
+ # remember type for lookup, too.
+ $self->{typemap_lookup}{$type->tidy_ctype} = $#{$self->{typemap_section}};
+
+ return 1;
+}
+
+=head2 add_inputmap
+
+Add an C<INPUT> entry to the typemap.
+
+Required named arguments:
+The C<xstype> (e.g. C<xstype =E<gt> 'T_NV'>)
+and the C<code> to associate with it for input.
+
+Optional named arguments: C<replace =E<gt> 1> forces removal/replacement of
+existing C<INPUT> entries of the same C<xstype>. C<skip =E<gt> 1>
+triggers a I<"first come first serve"> logic by which new entries that conflict
+with existing entries are silently ignored.
+
+As an alternative to the named parameters usage, you may pass in
+an C<ExtUtils::Typemaps::InputMap> object as first argument, a copy of which will be
+added to the typemap. In that case, only the C<replace> or C<skip> named parameters
+may be used after the object. Example:
+
+ $map->add_inputmap($type_obj, replace => 1);
+
+=cut
+
+sub add_inputmap {
+ my $self = shift;
+ my $input;
+ my %args;
+
+ if ((@_ % 2) == 1) {
+ my $orig = shift;
+ $input = $orig->new();
+ %args = @_;
+ }
+ else {
+ %args = @_;
+ my $xstype = $args{xstype};
+ die("Need xstype argument") if not defined $xstype;
+ my $code = $args{code};
+ die("Need code argument") if not defined $code;
+
+ $input = ExtUtils::Typemaps::InputMap->new(
+ xstype => $xstype,
+ code => $code,
+ );
+ }
+
+ if ($args{skip} and $args{replace}) {
+ die("Cannot use both 'skip' and 'replace'");
+ }
+
+ if ($args{replace}) {
+ $self->remove_inputmap(xstype => $input->xstype);
+ }
+ elsif ($args{skip}) {
+ return() if exists $self->{input_lookup}{$input->xstype};
+ }
+ else {
+ $self->validate(inputmap_xstype => $input->xstype);
+ }
+
+ # store
+ push @{$self->{input_section}}, $input;
+ # remember type for lookup, too.
+ $self->{input_lookup}{$input->xstype} = $#{$self->{input_section}};
+
+ return 1;
+}
+
+=head2 add_outputmap
+
+Add an C<OUTPUT> entry to the typemap.
+Works exactly the same as C<add_inputmap>.
+
+=cut
+
+sub add_outputmap {
+ my $self = shift;
+ my $output;
+ my %args;
+
+ if ((@_ % 2) == 1) {
+ my $orig = shift;
+ $output = $orig->new();
+ %args = @_;
+ }
+ else {
+ %args = @_;
+ my $xstype = $args{xstype};
+ die("Need xstype argument") if not defined $xstype;
+ my $code = $args{code};
+ die("Need code argument") if not defined $code;
+
+ $output = ExtUtils::Typemaps::OutputMap->new(
+ xstype => $xstype,
+ code => $code,
+ );
+ }
+
+ if ($args{skip} and $args{replace}) {
+ die("Cannot use both 'skip' and 'replace'");
+ }
+
+ if ($args{replace}) {
+ $self->remove_outputmap(xstype => $output->xstype);
+ }
+ elsif ($args{skip}) {
+ return() if exists $self->{output_lookup}{$output->xstype};
+ }
+ else {
+ $self->validate(outputmap_xstype => $output->xstype);
+ }
+
+ # store
+ push @{$self->{output_section}}, $output;
+ # remember type for lookup, too.
+ $self->{output_lookup}{$output->xstype} = $#{$self->{output_section}};
+
+ return 1;
+}
+
+=head2 add_string
+
+Parses a string as a typemap and merge it into the typemap object.
+
+Required named argument: C<string> to specify the string to parse.
+
+=cut
+
+sub add_string {
+ my $self = shift;
+ my %args = @_;
+ die("Need 'string' argument") if not defined $args{string};
+
+ # no, this is not elegant.
+ my $other = ExtUtils::Typemaps->new(string => $args{string});
+ $self->merge(typemap => $other);
+}
+
+=head2 remove_typemap
+
+Removes a C<TYPEMAP> entry from the typemap.
+
+Required named argument: C<ctype> to specify the entry to remove from the typemap.
+
+Alternatively, you may pass a single C<ExtUtils::Typemaps::Type> object.
+
+=cut
+
+sub remove_typemap {
+ my $self = shift;
+ my $ctype;
+ if (@_ > 1) {
+ my %args = @_;
+ $ctype = $args{ctype};
+ die("Need ctype argument") if not defined $ctype;
+ $ctype = _tidy_type($ctype);
+ }
+ else {
+ $ctype = $_[0]->tidy_ctype;
+ }
+
+ return $self->_remove($ctype, $self->{typemap_section}, $self->{typemap_lookup});
+}
+
+=head2 remove_inputmap
+
+Removes an C<INPUT> entry from the typemap.
+
+Required named argument: C<xstype> to specify the entry to remove from the typemap.
+
+Alternatively, you may pass a single C<ExtUtils::Typemaps::InputMap> object.
+
+=cut
+
+sub remove_inputmap {
+ my $self = shift;
+ my $xstype;
+ if (@_ > 1) {
+ my %args = @_;
+ $xstype = $args{xstype};
+ die("Need xstype argument") if not defined $xstype;
+ }
+ else {
+ $xstype = $_[0]->xstype;
+ }
+
+ return $self->_remove($xstype, $self->{input_section}, $self->{input_lookup});
+}
+
+=head2 remove_inputmap
+
+Removes an C<OUTPUT> entry from the typemap.
+
+Required named argument: C<xstype> to specify the entry to remove from the typemap.
+
+Alternatively, you may pass a single C<ExtUtils::Typemaps::OutputMap> object.
+
+=cut
+
+sub remove_outputmap {
+ my $self = shift;
+ my $xstype;
+ if (@_ > 1) {
+ my %args = @_;
+ $xstype = $args{xstype};
+ die("Need xstype argument") if not defined $xstype;
+ }
+ else {
+ $xstype = $_[0]->xstype;
+ }
+
+ return $self->_remove($xstype, $self->{output_section}, $self->{output_lookup});
+}
+
+sub _remove {
+ my $self = shift;
+ my $rm = shift;
+ my $array = shift;
+ my $lookup = shift;
+
+ # Just fetch the index of the item from the lookup table
+ my $index = $lookup->{$rm};
+ return() if not defined $index;
+
+ # Nuke the item from storage
+ splice(@$array, $index, 1);
+
+ # Decrement the storage position of all items thereafter
+ foreach my $key (keys %$lookup) {
+ if ($lookup->{$key} > $index) {
+ $lookup->{$key}--;
+ }
+ }
+ return();
+}
+
+=head2 get_typemap
+
+Fetches an entry of the TYPEMAP section of the typemap.
+
+Mandatory named arguments: The C<ctype> of the entry.
+
+Returns the C<ExtUtils::Typemaps::Type>
+object for the entry if found.
+
+=cut
+
+sub get_typemap {
+ my $self = shift;
+ die("Need named parameters, got uneven number") if @_ % 2;
+
+ my %args = @_;
+ my $ctype = $args{ctype};
+ die("Need ctype argument") if not defined $ctype;
+ $ctype = _tidy_type($ctype);
+
+ my $index = $self->{typemap_lookup}{$ctype};
+ return() if not defined $index;
+ return $self->{typemap_section}[$index];
+}
+
+=head2 get_inputmap
+
+Fetches an entry of the INPUT section of the
+typemap.
+
+Mandatory named arguments: The C<xstype> of the
+entry or the C<ctype> of the typemap that can be used to find
+the C<xstype>. To wit, the following pieces of code
+are equivalent:
+
+ my $type = $typemap->get_typemap(ctype => $ctype)
+ my $input_map = $typemap->get_inputmap(xstype => $type->xstype);
+
+ my $input_map = $typemap->get_inputmap(ctype => $ctype);
+
+Returns the C<ExtUtils::Typemaps::InputMap>
+object for the entry if found.
+
+=cut
+
+sub get_inputmap {
+ my $self = shift;
+ die("Need named parameters, got uneven number") if @_ % 2;
+
+ my %args = @_;
+ my $xstype = $args{xstype};
+ my $ctype = $args{ctype};
+ die("Need xstype or ctype argument")
+ if not defined $xstype
+ and not defined $ctype;
+ die("Need xstype OR ctype arguments, not both")
+ if defined $xstype and defined $ctype;
+
+ if (defined $ctype) {
+ my $tm = $self->get_typemap(ctype => $ctype);
+ $xstype = $tm && $tm->xstype;
+ return() if not defined $xstype;
+ }
+
+ my $index = $self->{input_lookup}{$xstype};
+ return() if not defined $index;
+ return $self->{input_section}[$index];
+}
+
+=head2 get_outputmap
+
+Fetches an entry of the OUTPUT section of the
+typemap.
+
+Mandatory named arguments: The C<xstype> of the
+entry or the C<ctype> of the typemap that can be used to
+resolve the C<xstype>. (See above for an example.)
+
+Returns the C<ExtUtils::Typemaps::InputMap>
+object for the entry if found.
+
+=cut
+
+sub get_outputmap {
+ my $self = shift;
+ die("Need named parameters, got uneven number") if @_ % 2;
+
+ my %args = @_;
+ my $xstype = $args{xstype};
+ my $ctype = $args{ctype};
+ die("Need xstype or ctype argument")
+ if not defined $xstype
+ and not defined $ctype;
+ die("Need xstype OR ctype arguments, not both")
+ if defined $xstype and defined $ctype;
+
+ if (defined $ctype) {
+ my $tm = $self->get_typemap(ctype => $ctype);
+ $xstype = $tm && $tm->xstype;
+ return() if not defined $xstype;
+ }
+
+ my $index = $self->{output_lookup}{$xstype};
+ return() if not defined $index;
+ return $self->{output_section}[$index];
+}
+
+=head2 write
+
+Write the typemap to a file. Optionally takes a C<file> argument. If given, the
+typemap will be written to the specified file. If not, the typemap is written
+to the currently stored file name (see C<-E<gt>file> above, this defaults to the file
+it was read from if any).
+
+=cut
+
+sub write {
+ my $self = shift;
+ my %args = @_;
+ my $file = defined $args{file} ? $args{file} : $self->file();
+ die("write() needs a file argument (or set the file name of the typemap using the 'file' method)")
+ if not defined $file;
+
+ open my $fh, '>', $file
+ or die "Cannot open typemap file '$file' for writing: $!";
+ print $fh $self->as_string();
+ close $fh;
+}
+
+=head2 as_string
+
+Generates and returns the string form of the typemap.
+
+=cut
+
+sub as_string {
+ my $self = shift;
+ my $typemap = $self->{typemap_section};
+ my @code;
+ push @code, "TYPEMAP\n";
+ foreach my $entry (@$typemap) {
+ # type kind proto
+ # /^(.*?\S)\s+(\S+)\s*($ExtUtils::ParseXS::Constants::PrototypeRegexp*)$/o
+ push @code, $entry->ctype . "\t" . $entry->xstype
+ . ($entry->proto ne '' ? "\t".$entry->proto : '') . "\n";
+ }
+
+ my $input = $self->{input_section};
+ if (@$input) {
+ push @code, "\nINPUT\n";
+ foreach my $entry (@$input) {
+ push @code, $entry->xstype, "\n", $entry->code, "\n";
+ }
+ }
+
+ my $output = $self->{output_section};
+ if (@$output) {
+ push @code, "\nOUTPUT\n";
+ foreach my $entry (@$output) {
+ push @code, $entry->xstype, "\n", $entry->code, "\n";
+ }
+ }
+ return join '', @code;
+}
+
+=head2 as_embedded_typemap
+
+Generates and returns the string form of the typemap with the
+appropriate prefix around it for verbatim inclusion into an
+XS file as an embedded typemap. This will return a string like
+
+ TYPEMAP: <<END_OF_TYPEMAP
+ ... typemap here (see as_string) ...
+ END_OF_TYPEMAP
+
+The method takes care not to use a HERE-doc end marker that
+appears in the typemap string itself.
+
+=cut
+
+sub as_embedded_typemap {
+ my $self = shift;
+ my $string = $self->as_string;
+
+ my @ident_cand = qw(END_TYPEMAP END_OF_TYPEMAP END);
+ my $icand = 0;
+ my $cand_suffix = "";
+ while ($string =~ /^\Q$ident_cand[$icand]$cand_suffix\E\s*$/m) {
+ $icand++;
+ if ($icand == @ident_cand) {
+ $icand = 0;
+ ++$cand_suffix;
+ }
+ }
+
+ my $marker = "$ident_cand[$icand]$cand_suffix";
+ return "TYPEMAP: <<$marker;\n$string\n$marker\n";
+}
+
+=head2 merge
+
+Merges a given typemap into the object. Note that a failed merge
+operation leaves the object in an inconsistent state so clone it if necessary.
+
+Mandatory named arguments: Either C<typemap =E<gt> $another_typemap_obj>
+or C<file =E<gt> $path_to_typemap_file> but not both.
+
+Optional arguments: C<replace =E<gt> 1> to force replacement
+of existing typemap entries without warning or C<skip =E<gt> 1>
+to skip entries that exist already in the typemap.
+
+=cut
+
+sub merge {
+ my $self = shift;
+ my %args = @_;
+
+ if (exists $args{typemap} and exists $args{file}) {
+ die("Need {file} OR {typemap} argument. Not both!");
+ }
+ elsif (not exists $args{typemap} and not exists $args{file}) {
+ die("Need {file} or {typemap} argument!");
+ }
+
+ my @params;
+ push @params, 'replace' => $args{replace} if exists $args{replace};
+ push @params, 'skip' => $args{skip} if exists $args{skip};
+
+ my $typemap = $args{typemap};
+ if (not defined $typemap) {
+ $typemap = ref($self)->new(file => $args{file}, @params);
+ }
+
+ # FIXME breaking encapsulation. Add accessor code.
+ foreach my $entry (@{$typemap->{typemap_section}}) {
+ $self->add_typemap( $entry, @params );
+ }
+
+ foreach my $entry (@{$typemap->{input_section}}) {
+ $self->add_inputmap( $entry, @params );
+ }
+
+ foreach my $entry (@{$typemap->{output_section}}) {
+ $self->add_outputmap( $entry, @params );
+ }
+
+ return 1;
+}
+
+=head2 is_empty
+
+Returns a bool indicating whether this typemap is entirely empty.
+
+=cut
+
+sub is_empty {
+ my $self = shift;
+
+ return @{ $self->{typemap_section} } == 0
+ && @{ $self->{input_section} } == 0
+ && @{ $self->{output_section} } == 0;
+}
+
+=head2 list_mapped_ctypes
+
+Returns a list of the C types that are mappable by
+this typemap object.
+
+=cut
+
+sub list_mapped_ctypes {
+ my $self = shift;
+ return sort keys %{ $self->{typemap_lookup} };
+}
+
+=head2 _get_typemap_hash
+
+Returns a hash mapping the C types to the XS types:
+
+ {
+ 'char **' => 'T_PACKEDARRAY',
+ 'bool_t' => 'T_IV',
+ 'AV *' => 'T_AVREF',
+ 'InputStream' => 'T_IN',
+ 'double' => 'T_DOUBLE',
+ # ...
+ }
+
+This is documented because it is used by C<ExtUtils::ParseXS>,
+but it's not intended for general consumption. May be removed
+at any time.
+
+=cut
+
+sub _get_typemap_hash {
+ my $self = shift;
+ my $lookup = $self->{typemap_lookup};
+ my $storage = $self->{typemap_section};
+
+ my %rv;
+ foreach my $ctype (keys %$lookup) {
+ $rv{$ctype} = $storage->[ $lookup->{$ctype} ]->xstype;
+ }
+
+ return \%rv;
+}
+
+=head2 _get_inputmap_hash
+
+Returns a hash mapping the XS types (identifiers) to the
+corresponding INPUT code:
+
+ {
+ 'T_CALLBACK' => ' $var = make_perl_cb_$type($arg)
+ ',
+ 'T_OUT' => ' $var = IoOFP(sv_2io($arg))
+ ',
+ 'T_REF_IV_PTR' => ' if (sv_isa($arg, \\"${ntype}\\")) {
+ # ...
+ }
+
+This is documented because it is used by C<ExtUtils::ParseXS>,
+but it's not intended for general consumption. May be removed
+at any time.
+
+=cut
+
+sub _get_inputmap_hash {
+ my $self = shift;
+ my $lookup = $self->{input_lookup};
+ my $storage = $self->{input_section};
+
+ my %rv;
+ foreach my $xstype (keys %$lookup) {
+ $rv{$xstype} = $storage->[ $lookup->{$xstype} ]->code;
+
+ # Squash trailing whitespace to one line break
+ # This isn't strictly necessary, but makes the output more similar
+ # to the original ExtUtils::ParseXS.
+ $rv{$xstype} =~ s/\s*\z/\n/;
+ }
+
+ return \%rv;
+}
+
+
+=head2 _get_outputmap_hash
+
+Returns a hash mapping the XS types (identifiers) to the
+corresponding OUTPUT code:
+
+ {
+ 'T_CALLBACK' => ' sv_setpvn($arg, $var.context.value().chp(),
+ $var.context.value().size());
+ ',
+ 'T_OUT' => ' {
+ GV *gv = newGVgen("$Package");
+ if ( do_open(gv, "+>&", 3, FALSE, 0, 0, $var) )
+ sv_setsv(
+ $arg,
+ sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1))
+ );
+ else
+ $arg = &PL_sv_undef;
+ }
+ ',
+ # ...
+ }
+
+This is documented because it is used by C<ExtUtils::ParseXS>,
+but it's not intended for general consumption. May be removed
+at any time.
+
+=cut
+
+sub _get_outputmap_hash {
+ my $self = shift;
+ my $lookup = $self->{output_lookup};
+ my $storage = $self->{output_section};
+
+ my %rv;
+ foreach my $xstype (keys %$lookup) {
+ $rv{$xstype} = $storage->[ $lookup->{$xstype} ]->code;
+
+ # Squash trailing whitespace to one line break
+ # This isn't strictly necessary, but makes the output more similar
+ # to the original ExtUtils::ParseXS.
+ $rv{$xstype} =~ s/\s*\z/\n/;
+ }
+
+ return \%rv;
+}
+
+=head2 _get_prototype_hash
+
+Returns a hash mapping the C types of the typemap to their
+corresponding prototypes.
+
+ {
+ 'char **' => '$',
+ 'bool_t' => '$',
+ 'AV *' => '$',
+ 'InputStream' => '$',
+ 'double' => '$',
+ # ...
+ }
+
+This is documented because it is used by C<ExtUtils::ParseXS>,
+but it's not intended for general consumption. May be removed
+at any time.
+
+=cut
+
+sub _get_prototype_hash {
+ my $self = shift;
+ my $lookup = $self->{typemap_lookup};
+ my $storage = $self->{typemap_section};
+
+ my %rv;
+ foreach my $ctype (keys %$lookup) {
+ $rv{$ctype} = $storage->[ $lookup->{$ctype} ]->proto || '$';
+ }
+
+ return \%rv;
+}
+
+
+
+# make sure that the provided types wouldn't collide with what's
+# in the object already.
+sub validate {
+ my $self = shift;
+ my %args = @_;
+
+ if ( exists $args{ctype}
+ and exists $self->{typemap_lookup}{_tidy_type($args{ctype})} )
+ {
+ die("Multiple definition of ctype '$args{ctype}' in TYPEMAP section");
+ }
+
+ if ( exists $args{inputmap_xstype}
+ and exists $self->{input_lookup}{$args{inputmap_xstype}} )
+ {
+ die("Multiple definition of xstype '$args{inputmap_xstype}' in INPUTMAP section");
+ }
+
+ if ( exists $args{outputmap_xstype}
+ and exists $self->{output_lookup}{$args{outputmap_xstype}} )
+ {
+ die("Multiple definition of xstype '$args{outputmap_xstype}' in OUTPUTMAP section");
+ }
+
+ return 1;
+}
+
+sub _parse {
+ my $self = shift;
+ my $stringref = shift;
+ my $lineno_offset = shift;
+ $lineno_offset = 0 if not defined $lineno_offset;
+ my $filename = shift;
+ $filename = '<string>' if not defined $filename;
+
+ my $replace = $self->{replace};
+ my $skip = $self->{skip};
+ die "Can only replace OR skip" if $replace and $skip;
+ my @add_params;
+ push @add_params, replace => 1 if $replace;
+ push @add_params, skip => 1 if $skip;
+
+ # TODO comments should round-trip, currently ignoring
+ # TODO order of sections, multiple sections of same type
+ # Heavily influenced by ExtUtils::ParseXS
+ my $section = 'typemap';
+ my $lineno = $lineno_offset;
+ my $junk = "";
+ my $current = \$junk;
+ my @input_expr;
+ my @output_expr;
+ while ($$stringref =~ /^(.*)$/gcm) {
+ local $_ = $1;
+ ++$lineno;
+ chomp;
+ next if /^\s*#/;
+ if (/^INPUT\s*$/) {
+ $section = 'input';
+ $current = \$junk;
+ next;
+ }
+ elsif (/^OUTPUT\s*$/) {
+ $section = 'output';
+ $current = \$junk;
+ next;
+ }
+ elsif (/^TYPEMAP\s*$/) {
+ $section = 'typemap';
+ $current = \$junk;
+ next;
+ }
+
+ if ($section eq 'typemap') {
+ my $line = $_;
+ s/^\s+//; s/\s+$//;
+ next if $_ eq '' or /^#/;
+ my($type, $kind, $proto) = /^(.*?\S)\s+(\S+)\s*($ExtUtils::ParseXS::Constants::PrototypeRegexp*)$/o
+ or warn("Warning: File '$filename' Line $lineno '$line' TYPEMAP entry needs 2 or 3 columns\n"),
+ next;
+ # prototype defaults to '$'
+ $proto = '$' unless $proto;
+ warn("Warning: File '$filename' Line $lineno '$line' Invalid prototype '$proto'\n")
+ unless _valid_proto_string($proto);
+ $self->add_typemap(
+ ExtUtils::Typemaps::Type->new(
+ xstype => $kind, proto => $proto, ctype => $type
+ ),
+ @add_params
+ );
+ } elsif (/^\s/) {
+ s/\s+$//;
+ $$current .= $$current eq '' ? $_ : "\n".$_;
+ } elsif ($_ eq '') {
+ next;
+ } elsif ($section eq 'input') {
+ s/\s+$//;
+ push @input_expr, {xstype => $_, code => ''};
+ $current = \$input_expr[-1]{code};
+ } else { # output section
+ s/\s+$//;
+ push @output_expr, {xstype => $_, code => ''};
+ $current = \$output_expr[-1]{code};
+ }
+
+ } # end while lines
+
+ foreach my $inexpr (@input_expr) {
+ $self->add_inputmap( ExtUtils::Typemaps::InputMap->new(%$inexpr), @add_params );
+ }
+ foreach my $outexpr (@output_expr) {
+ $self->add_outputmap( ExtUtils::Typemaps::OutputMap->new(%$outexpr), @add_params );
+ }
+
+ return 1;
+}
+
+# taken from ExtUtils::ParseXS
+sub _tidy_type {
+ local $_ = shift;
+
+ # rationalise any '*' by joining them into bunches and removing whitespace
+ s#\s*(\*+)\s*#$1#g;
+ s#(\*+)# $1 #g ;
+
+ # trim leading & trailing whitespace
+ s/^\s+//; s/\s+$//;
+
+ # change multiple whitespace into a single space
+ s/\s+/ /g;
+
+ $_;
+}
+
+
+# taken from ExtUtils::ParseXS
+sub _valid_proto_string {
+ my $string = shift;
+ if ($string =~ /^$ExtUtils::ParseXS::Constants::PrototypeRegexp+$/o) {
+ return $string;
+ }
+
+ return 0 ;
+}
+
+# taken from ExtUtils::ParseXS (C_string)
+sub _escape_backslashes {
+ my $string = shift;
+ $string =~ s[\\][\\\\]g;
+ $string;
+}
+
+=head1 CAVEATS
+
+Inherits some evil code from C<ExtUtils::ParseXS>.
+
+=head1 SEE ALSO
+
+The parser is heavily inspired from the one in L<ExtUtils::ParseXS>.
+
+For details on typemaps: L<perlxstut>, L<perlxs>.
+
+=head1 AUTHOR
+
+Steffen Mueller C<<smueller@cpan.org>>
+
+=head1 COPYRIGHT & LICENSE
+
+Copyright 2009, 2010, 2011, 2012 Steffen Mueller
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+1;
+
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Cmd.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Cmd.pm
new file mode 100644
index 00000000000..671110fb97a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Cmd.pm
@@ -0,0 +1,168 @@
+package ExtUtils::Typemaps::Cmd;
+use 5.006001;
+use strict;
+use warnings;
+our $VERSION = '3.16';
+
+use ExtUtils::Typemaps;
+
+require Exporter;
+
+our @ISA = qw(Exporter);
+our @EXPORT = qw(embeddable_typemap);
+our %EXPORT_TAGS = (all => \@EXPORT);
+
+sub embeddable_typemap {
+ my @tms = @_;
+
+ # Get typemap objects
+ my @tm_objs = map [$_, _intuit_typemap_source($_)], @tms;
+
+ # merge or short-circuit
+ my $final_tm;
+ if (@tm_objs == 1) {
+ # just one, merge would be pointless
+ $final_tm = shift(@tm_objs)->[1];
+ }
+ else {
+ # multiple, need merge
+ $final_tm = ExtUtils::Typemaps->new;
+ foreach my $other_tm (@tm_objs) {
+ my ($tm_ident, $tm_obj) = @$other_tm;
+ eval {
+ $final_tm->merge(typemap => $tm_obj);
+ 1
+ } or do {
+ my $err = $@ || 'Zombie error';
+ die "Failed to merge typ";
+ }
+ }
+ }
+
+ # stringify for embedding
+ return $final_tm->as_embedded_typemap();
+}
+
+sub _load_module {
+ my $name = shift;
+ return eval "require $name; 1";
+}
+
+SCOPE: {
+ my %sources = (
+ module => sub {
+ my $ident = shift;
+ my $tm;
+ if (/::/) { # looks like FQ module name, try that first
+ foreach my $module ($ident, "ExtUtils::Typemaps::$ident") {
+ if (_load_module($module)) {
+ eval { $tm = $module->new }
+ and return $tm;
+ }
+ }
+ }
+ else {
+ foreach my $module ("ExtUtils::Typemaps::$ident", "$ident") {
+ if (_load_module($module)) {
+ eval { $tm = $module->new }
+ and return $tm;
+ }
+ }
+ }
+ return();
+ },
+ file => sub {
+ my $ident = shift;
+ return unless -e $ident and -r _;
+ return ExtUtils::Typemaps->new(file => $ident);
+ },
+ );
+ # Try to find typemap either from module or file
+ sub _intuit_typemap_source {
+ my $identifier = shift;
+
+ my @locate_attempts;
+ if ($identifier =~ /::/ || $identifier !~ /[^\w_]/) {
+ @locate_attempts = qw(module file);
+ }
+ else {
+ @locate_attempts = qw(file module);
+ }
+
+ foreach my $source (@locate_attempts) {
+ my $tm = $sources{$source}->($identifier);
+ return $tm if defined $tm;
+ }
+
+ die "Unable to find typemap for '$identifier': "
+ . "Tried to load both as file or module and failed.\n";
+ }
+} # end SCOPE
+
+=head1 NAME
+
+ExtUtils::Typemaps::Cmd - Quick commands for handling typemaps
+
+=head1 SYNOPSIS
+
+From XS:
+
+ INCLUDE_COMMAND: $^X -MExtUtils::Typemaps::Cmd \
+ -e "print embeddable_typemap(q{Excommunicated})"
+
+Loads C<ExtUtils::Typemaps::Excommunicated>, instantiates an object,
+and dumps it as an embeddable typemap for use directly in your XS file.
+
+=head1 DESCRIPTION
+
+This is a helper module for L<ExtUtils::Typemaps> for quick
+one-liners, specifically for inclusion of shared typemaps
+that live on CPAN into an XS file (see SYNOPSIS).
+
+For this reason, the following functions are exported by default:
+
+=head1 EXPORTED FUNCTIONS
+
+=head2 embeddable_typemap
+
+Given a list of identifiers, C<embeddable_typemap>
+tries to load typemaps from a file of the given name(s),
+or from a module that is an C<ExtUtils::Typemaps> subclass.
+
+Returns a string representation of the merged typemaps that can
+be included verbatim into XS. Example:
+
+ print embeddable_typemap(
+ "Excommunicated", "ExtUtils::Typemaps::Basic", "./typemap"
+ );
+
+This will try to load a module C<ExtUtils::Typemaps::Excommunicated>
+and use it as an C<ExtUtils::Typemaps> subclass. If that fails, it'll
+try loading C<Excommunicated> as a module, if that fails, it'll try to
+read a file called F<Excommunicated>. It'll work similarly for the
+second argument, but the third will be loaded as a file first.
+
+After loading all typemap files or modules, it will merge them in the
+specified order and dump the result as an embeddable typemap.
+
+=head1 SEE ALSO
+
+L<ExtUtils::Typemaps>
+
+L<perlxs>
+
+=head1 AUTHOR
+
+Steffen Mueller C<<smueller@cpan.org>>
+
+=head1 COPYRIGHT & LICENSE
+
+Copyright 2012 Steffen Mueller
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+1;
+
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm
new file mode 100644
index 00000000000..9e7053f2290
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/InputMap.pm
@@ -0,0 +1,116 @@
+package ExtUtils::Typemaps::InputMap;
+use 5.006001;
+use strict;
+use warnings;
+our $VERSION = '3.16';
+
+=head1 NAME
+
+ExtUtils::Typemaps::InputMap - Entry in the INPUT section of a typemap
+
+=head1 SYNOPSIS
+
+ use ExtUtils::Typemaps;
+ ...
+ my $input = $typemap->get_input_map('T_NV');
+ my $code = $input->code();
+ $input->code("...");
+
+=head1 DESCRIPTION
+
+Refer to L<ExtUtils::Typemaps> for details.
+
+=head1 METHODS
+
+=cut
+
+=head2 new
+
+Requires C<xstype> and C<code> parameters.
+
+=cut
+
+sub new {
+ my $prot = shift;
+ my $class = ref($prot)||$prot;
+ my %args = @_;
+
+ if (!ref($prot)) {
+ if (not defined $args{xstype} or not defined $args{code}) {
+ die("Need xstype and code parameters");
+ }
+ }
+
+ my $self = bless(
+ (ref($prot) ? {%$prot} : {})
+ => $class
+ );
+
+ $self->{xstype} = $args{xstype} if defined $args{xstype};
+ $self->{code} = $args{code} if defined $args{code};
+ $self->{code} =~ s/^(?=\S)/\t/mg;
+
+ return $self;
+}
+
+=head2 code
+
+Returns or sets the INPUT mapping code for this entry.
+
+=cut
+
+sub code {
+ $_[0]->{code} = $_[1] if @_ > 1;
+ return $_[0]->{code};
+}
+
+=head2 xstype
+
+Returns the name of the XS type of the INPUT map.
+
+=cut
+
+sub xstype {
+ return $_[0]->{xstype};
+}
+
+=head2 cleaned_code
+
+Returns a cleaned-up copy of the code to which certain transformations
+have been applied to make it more ANSI compliant.
+
+=cut
+
+sub cleaned_code {
+ my $self = shift;
+ my $code = $self->code;
+
+ $code =~ s/(?:;+\s*|;*\s+)\z//s;
+
+ # Move C pre-processor instructions to column 1 to be strictly ANSI
+ # conformant. Some pre-processors are fussy about this.
+ $code =~ s/^\s+#/#/mg;
+ $code =~ s/\s*\z/\n/;
+
+ return $code;
+}
+
+=head1 SEE ALSO
+
+L<ExtUtils::Typemaps>
+
+=head1 AUTHOR
+
+Steffen Mueller C<<smueller@cpan.org>>
+
+=head1 COPYRIGHT & LICENSE
+
+Copyright 2009, 2010, 2011, 2012 Steffen Mueller
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+1;
+
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm
new file mode 100644
index 00000000000..95cbbccf5c3
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/OutputMap.pm
@@ -0,0 +1,195 @@
+package ExtUtils::Typemaps::OutputMap;
+use 5.006001;
+use strict;
+use warnings;
+our $VERSION = '3.16';
+
+=head1 NAME
+
+ExtUtils::Typemaps::OutputMap - Entry in the OUTPUT section of a typemap
+
+=head1 SYNOPSIS
+
+ use ExtUtils::Typemaps;
+ ...
+ my $output = $typemap->get_output_map('T_NV');
+ my $code = $output->code();
+ $output->code("...");
+
+=head1 DESCRIPTION
+
+Refer to L<ExtUtils::Typemaps> for details.
+
+=head1 METHODS
+
+=cut
+
+=head2 new
+
+Requires C<xstype> and C<code> parameters.
+
+=cut
+
+sub new {
+ my $prot = shift;
+ my $class = ref($prot)||$prot;
+ my %args = @_;
+
+ if (!ref($prot)) {
+ if (not defined $args{xstype} or not defined $args{code}) {
+ die("Need xstype and code parameters");
+ }
+ }
+
+ my $self = bless(
+ (ref($prot) ? {%$prot} : {})
+ => $class
+ );
+
+ $self->{xstype} = $args{xstype} if defined $args{xstype};
+ $self->{code} = $args{code} if defined $args{code};
+ $self->{code} =~ s/^(?=\S)/\t/mg;
+
+ return $self;
+}
+
+=head2 code
+
+Returns or sets the OUTPUT mapping code for this entry.
+
+=cut
+
+sub code {
+ $_[0]->{code} = $_[1] if @_ > 1;
+ return $_[0]->{code};
+}
+
+=head2 xstype
+
+Returns the name of the XS type of the OUTPUT map.
+
+=cut
+
+sub xstype {
+ return $_[0]->{xstype};
+}
+
+=head2 cleaned_code
+
+Returns a cleaned-up copy of the code to which certain transformations
+have been applied to make it more ANSI compliant.
+
+=cut
+
+sub cleaned_code {
+ my $self = shift;
+ my $code = $self->code;
+
+ # Move C pre-processor instructions to column 1 to be strictly ANSI
+ # conformant. Some pre-processors are fussy about this.
+ $code =~ s/^\s+#/#/mg;
+ $code =~ s/\s*\z/\n/;
+
+ return $code;
+}
+
+=head2 targetable
+
+This is an obscure optimization that used to live in C<ExtUtils::ParseXS>
+directly.
+
+In a nutshell, this will check whether the output code
+involves calling C<set_iv>, C<set_uv>, C<set_nv>, C<set_pv> or C<set_pvn>
+to set the special C<$arg> placeholder to a new value
+B<AT THE END OF THE OUTPUT CODE>. If that is the case, the code is
+eligible for using the C<TARG>-related macros to optimize this.
+Thus the name of the method: C<targetable>.
+
+If the optimization can not be applied, this returns undef.
+If it can be applied, this method returns a hash reference containing
+the following information:
+
+ type: Any of the characters i, u, n, p
+ with_size: Bool indicating whether this is the sv_setpvn variant
+ what: The code that actually evaluates to the output scalar
+ what_size: If "with_size", this has the string length (as code,
+ not constant)
+
+=cut
+
+sub targetable {
+ my $self = shift;
+ return $self->{targetable} if exists $self->{targetable};
+
+ our $bal; # ()-balanced
+ $bal = qr[
+ (?:
+ (?>[^()]+)
+ |
+ \( (??{ $bal }) \)
+ )*
+ ]x;
+
+ # matches variations on (SV*)
+ my $sv_cast = qr[
+ (?:
+ \( \s* SV \s* \* \s* \) \s*
+ )?
+ ]x;
+
+ my $size = qr[ # Third arg (to setpvn)
+ , \s* (??{ $bal })
+ ]x;
+
+ my $code = $self->code;
+
+ # We can still bootstrap compile 're', because in code re.pm is
+ # available to miniperl, and does not attempt to load the XS code.
+ use re 'eval';
+
+ my ($type, $with_size, $arg, $sarg) =
+ ($code =~
+ m[^
+ \s+
+ sv_set([iunp])v(n)? # Type, is_setpvn
+ \s*
+ \( \s*
+ $sv_cast \$arg \s* , \s*
+ ( (??{ $bal }) ) # Set from
+ ( (??{ $size }) )? # Possible sizeof set-from
+ \) \s* ; \s* $
+ ]x
+ );
+
+ my $rv = undef;
+ if ($type) {
+ $rv = {
+ type => $type,
+ with_size => $with_size,
+ what => $arg,
+ what_size => $sarg,
+ };
+ }
+ $self->{targetable} = $rv;
+ return $rv;
+}
+
+=head1 SEE ALSO
+
+L<ExtUtils::Typemaps>
+
+=head1 AUTHOR
+
+Steffen Mueller C<<smueller@cpan.org>>
+
+=head1 COPYRIGHT & LICENSE
+
+Copyright 2009, 2010, 2011, 2012 Steffen Mueller
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+1;
+
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm
new file mode 100644
index 00000000000..b29e212d455
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/Typemaps/Type.pm
@@ -0,0 +1,121 @@
+package ExtUtils::Typemaps::Type;
+use 5.006001;
+use strict;
+use warnings;
+require ExtUtils::Typemaps;
+
+our $VERSION = '3.16';
+
+=head1 NAME
+
+ExtUtils::Typemaps::Type - Entry in the TYPEMAP section of a typemap
+
+=head1 SYNOPSIS
+
+ use ExtUtils::Typemaps;
+ ...
+ my $type = $typemap->get_type_map('char*');
+ my $input = $typemap->get_input_map($type->xstype);
+
+=head1 DESCRIPTION
+
+Refer to L<ExtUtils::Typemaps> for details.
+Object associates C<ctype> with C<xstype>, which is the index
+into the in- and output mapping tables.
+
+=head1 METHODS
+
+=cut
+
+=head2 new
+
+Requires C<xstype> and C<ctype> parameters.
+
+Optionally takes C<prototype> parameter.
+
+=cut
+
+sub new {
+ my $prot = shift;
+ my $class = ref($prot)||$prot;
+ my %args = @_;
+
+ if (!ref($prot)) {
+ if (not defined $args{xstype} or not defined $args{ctype}) {
+ die("Need xstype and ctype parameters");
+ }
+ }
+
+ my $self = bless(
+ (ref($prot) ? {%$prot} : {proto => ''})
+ => $class
+ );
+
+ $self->{xstype} = $args{xstype} if defined $args{xstype};
+ $self->{ctype} = $args{ctype} if defined $args{ctype};
+ $self->{tidy_ctype} = ExtUtils::Typemaps::_tidy_type($self->{ctype});
+ $self->{proto} = $args{'prototype'} if defined $args{'prototype'};
+
+ return $self;
+}
+
+=head2 proto
+
+Returns or sets the prototype.
+
+=cut
+
+sub proto {
+ $_[0]->{proto} = $_[1] if @_ > 1;
+ return $_[0]->{proto};
+}
+
+=head2 xstype
+
+Returns the name of the XS type that this C type is associated to.
+
+=cut
+
+sub xstype {
+ return $_[0]->{xstype};
+}
+
+=head2 ctype
+
+Returns the name of the C type as it was set on construction.
+
+=cut
+
+sub ctype {
+ return defined($_[0]->{ctype}) ? $_[0]->{ctype} : $_[0]->{tidy_ctype};
+}
+
+=head2 tidy_ctype
+
+Returns the canonicalized name of the C type.
+
+=cut
+
+sub tidy_ctype {
+ return $_[0]->{tidy_ctype};
+}
+
+=head1 SEE ALSO
+
+L<ExtUtils::Typemaps>
+
+=head1 AUTHOR
+
+Steffen Mueller C<<smueller@cpan.org>>
+
+=head1 COPYRIGHT & LICENSE
+
+Copyright 2009, 2010, 2011, 2012 Steffen Mueller
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+1;
+
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm b/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm
index 73144109262..44832ee3531 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/testlib.pm
@@ -3,7 +3,7 @@ package ExtUtils::testlib;
use strict;
use warnings;
-our $VERSION = 6.57_05;
+our $VERSION = '6.63_02';
use Cwd;
use File::Spec;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/typemap b/Master/tlpkg/tlperl/lib/ExtUtils/typemap
index c88238a48da..607c6c8f586 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/typemap
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/typemap
@@ -24,10 +24,16 @@ char ** T_PACKEDARRAY
void * T_PTR
Time_t * T_PV
SV * T_SV
+
+# These are the backwards-compatibility AV*/HV* typemaps that
+# do not decrement refcounts. Locally override with
+# "AV* T_AVREF_REFCOUNT_FIXED", "HV* T_HVREF_REFCOUNT_FIXED",
+# "CV* T_CVREF_REFCOUNT_FIXED", "SVREF T_SVREF_REFCOUNT_FIXED",
+# to get the fixed versions.
SVREF T_SVREF
+CV * T_CVREF
AV * T_AVREF
HV * T_HVREF
-CV * T_CVREF
IV T_IV
UV T_UV
@@ -70,6 +76,19 @@ T_SVREF
\"$var\");
}
} STMT_END
+T_SVREF_REFCOUNT_FIXED
+ STMT_START {
+ SV* const xsub_tmp_sv = $arg;
+ SvGETMAGIC(xsub_tmp_sv);
+ if (SvROK(xsub_tmp_sv)){
+ $var = SvRV(xsub_tmp_sv);
+ }
+ else{
+ Perl_croak(aTHX_ \"%s: %s is not a reference\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ \"$var\");
+ }
+ } STMT_END
T_AVREF
STMT_START {
SV* const xsub_tmp_sv = $arg;
@@ -83,6 +102,19 @@ T_AVREF
\"$var\");
}
} STMT_END
+T_AVREF_REFCOUNT_FIXED
+ STMT_START {
+ SV* const xsub_tmp_sv = $arg;
+ SvGETMAGIC(xsub_tmp_sv);
+ if (SvROK(xsub_tmp_sv) && SvTYPE(SvRV(xsub_tmp_sv)) == SVt_PVAV){
+ $var = (AV*)SvRV(xsub_tmp_sv);
+ }
+ else{
+ Perl_croak(aTHX_ \"%s: %s is not an ARRAY reference\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ \"$var\");
+ }
+ } STMT_END
T_HVREF
STMT_START {
SV* const xsub_tmp_sv = $arg;
@@ -96,6 +128,19 @@ T_HVREF
\"$var\");
}
} STMT_END
+T_HVREF_REFCOUNT_FIXED
+ STMT_START {
+ SV* const xsub_tmp_sv = $arg;
+ SvGETMAGIC(xsub_tmp_sv);
+ if (SvROK(xsub_tmp_sv) && SvTYPE(SvRV(xsub_tmp_sv)) == SVt_PVHV){
+ $var = (HV*)SvRV(xsub_tmp_sv);
+ }
+ else{
+ Perl_croak(aTHX_ \"%s: %s is not a HASH reference\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ \"$var\");
+ }
+ } STMT_END
T_CVREF
STMT_START {
SV* const xsub_tmp_sv = $arg;
@@ -109,6 +154,19 @@ T_CVREF
\"$var\");
}
} STMT_END
+T_CVREF_REFCOUNT_FIXED
+ STMT_START {
+ SV* const xsub_tmp_sv = $arg;
+ SvGETMAGIC(xsub_tmp_sv);
+ if (SvROK(xsub_tmp_sv) && SvTYPE(SvRV(xsub_tmp_sv)) == SVt_PVCV){
+ $var = (CV*)SvRV(xsub_tmp_sv);
+ }
+ else{
+ Perl_croak(aTHX_ \"%s: %s is not a CODE reference\",
+ ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+ \"$var\");
+ }
+ } STMT_END
T_SYSRET
$var NOT IMPLEMENTED
T_UV
@@ -217,8 +275,6 @@ T_PACKED
$var = XS_unpack_$ntype($arg)
T_PACKEDARRAY
$var = XS_unpack_$ntype($arg)
-T_CALLBACK
- $var = make_perl_cb_$type($arg)
T_ARRAY
U32 ix_$var = $argoff;
$var = $ntype(items -= $argoff);
@@ -242,12 +298,20 @@ T_SV
$arg = $var;
T_SVREF
$arg = newRV((SV*)$var);
+T_SVREF_REFCOUNT_FIXED
+ $arg = newRV_noinc((SV*)$var);
T_AVREF
$arg = newRV((SV*)$var);
+T_AVREF_REFCOUNT_FIXED
+ $arg = newRV_noinc((SV*)$var);
T_HVREF
$arg = newRV((SV*)$var);
+T_HVREF_REFCOUNT_FIXED
+ $arg = newRV_noinc((SV*)$var);
T_CVREF
$arg = newRV((SV*)$var);
+T_CVREF_REFCOUNT_FIXED
+ $arg = newRV_noinc((SV*)$var);
T_IV
sv_setiv($arg, (IV)$var);
T_UV
@@ -311,11 +375,6 @@ T_PACKED
XS_pack_$ntype($arg, $var);
T_PACKEDARRAY
XS_pack_$ntype($arg, $var, count_$ntype);
-T_DATAUNIT
- sv_setpvn($arg, $var.chp(), $var.size());
-T_CALLBACK
- sv_setpvn($arg, $var.context.value().chp(),
- $var.context.value().size());
T_ARRAY
{
U32 ix_$var;
diff --git a/Master/tlpkg/tlperl/lib/ExtUtils/xsubpp b/Master/tlpkg/tlperl/lib/ExtUtils/xsubpp
index e4e5b774d82..fa0cd50426a 100644
--- a/Master/tlpkg/tlperl/lib/ExtUtils/xsubpp
+++ b/Master/tlpkg/tlperl/lib/ExtUtils/xsubpp
@@ -1,7 +1,23 @@
-#!./miniperl
+#!perl
+use 5.006;
+use strict;
+eval {
+ require ExtUtils::ParseXS;
+ ExtUtils::ParseXS->import(
+ qw(
+ process_file
+ report_error_count
+ )
+ );
+ 1;
+}
+or do {
+ my $err = $@ || 'Zombie error';
+ my $v = $ExtUtils::ParseXS::VERSION;
+ $v = '<undef>' if not defined $v;
+ die "Failed to load or import from ExtUtils::ParseXS (version $v). Please check that ExtUtils::ParseXS is installed correctly and that the newest version will be found in your \@INC path: $err";
+};
-require 5.002;
-use ExtUtils::ParseXS qw(process_file);
use Getopt::Long;
my %args = ();
@@ -38,7 +54,7 @@ if ($args{v}) {
$args{filename} = shift @ARGV;
process_file(%args);
-exit( ExtUtils::ParseXS::errors() ? 1 : 0 );
+exit( report_error_count() ? 1 : 0 );
__END__
@@ -52,7 +68,8 @@ B<xsubpp> [B<-v>] [B<-except>] [B<-s pattern>] [B<-prototypes>] [B<-noversionche
=head1 DESCRIPTION
-This compiler is typically run by the makefiles created by L<ExtUtils::MakeMaker>.
+This compiler is typically run by the makefiles created by L<ExtUtils::MakeMaker>
+or by L<Module::Build> or other Perl module build tools.
I<xsubpp> will compile XS code into C code by embedding the constructs
necessary to let C functions manipulate Perl values and creates the glue
@@ -110,7 +127,7 @@ number.
=item B<-nolinenumbers>
-Prevents the inclusion of `#line' directives in the output.
+Prevents the inclusion of '#line' directives in the output.
=item B<-nooptimize>
diff --git a/Master/tlpkg/tlperl/lib/Fatal.pm b/Master/tlpkg/tlperl/lib/Fatal.pm
index 55b920ba5b1..aabdf781de0 100644
--- a/Master/tlpkg/tlperl/lib/Fatal.pm
+++ b/Master/tlpkg/tlperl/lib/Fatal.pm
@@ -40,7 +40,7 @@ use constant ERROR_58_HINTS => q{Non-subroutine %s hints for %s are not supporte
use constant MIN_IPC_SYS_SIMPLE_VER => 0.12;
# All the Fatal/autodie modules share the same version number.
-our $VERSION = '2.1001';
+our $VERSION = '2.10';
our $Debug ||= 0;
@@ -116,7 +116,6 @@ my %TAGS = (
':2.08' => [qw(:default)],
':2.09' => [qw(:default)],
':2.10' => [qw(:default)],
- ':2.1001' => [qw(:default)],
);
# chmod was only introduced in 2.07
diff --git a/Master/tlpkg/tlperl/lib/File/Basename.pm b/Master/tlpkg/tlperl/lib/File/Basename.pm
index 486eba1bbf6..ad98d24d194 100644
--- a/Master/tlpkg/tlperl/lib/File/Basename.pm
+++ b/Master/tlpkg/tlperl/lib/File/Basename.pm
@@ -54,7 +54,7 @@ our(@ISA, @EXPORT, $VERSION, $Fileparse_fstype, $Fileparse_igncase);
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(fileparse fileparse_set_fstype basename dirname);
-$VERSION = "2.82";
+$VERSION = "2.84";
fileparse_set_fstype($^O);
@@ -91,7 +91,7 @@ portion is removed and becomes the $suffix.
# On Unix returns ("baz", "/foo/bar/", ".txt")
fileparse("/foo/bar/baz.txt", qr/\.[^.]*/);
-If type is non-Unix (see C<fileparse_set_fstype()>) then the pattern
+If type is non-Unix (see L</fileparse_set_fstype>) then the pattern
matching for suffix removal is performed case-insensitively, since
those systems are not case-sensitive when opening existing files.
@@ -215,7 +215,7 @@ sub basename {
my($path) = shift;
# From BSD basename(1)
- # The basename utility deletes any prefix ending with the last slash `/'
+ # The basename utility deletes any prefix ending with the last slash '/'
# character present in string (after first stripping trailing slashes)
_strip_trailing_sep($path);
diff --git a/Master/tlpkg/tlperl/lib/File/Copy.pm b/Master/tlpkg/tlperl/lib/File/Copy.pm
index 1cf084bb916..cb246d645fb 100644
--- a/Master/tlpkg/tlperl/lib/File/Copy.pm
+++ b/Master/tlpkg/tlperl/lib/File/Copy.pm
@@ -9,7 +9,7 @@ package File::Copy;
use 5.006;
use strict;
-use warnings;
+use warnings; no warnings 'newline';
use File::Spec;
use Config;
# During perl build, we need File::Copy but Scalar::Util might not be built yet
@@ -22,7 +22,7 @@ sub syscopy;
sub cp;
sub mv;
-$VERSION = '2.21';
+$VERSION = '2.23';
require Exporter;
@ISA = qw(Exporter);
diff --git a/Master/tlpkg/tlperl/lib/File/DosGlob.pm b/Master/tlpkg/tlperl/lib/File/DosGlob.pm
index 90434fd467d..7e57175ca3f 100644
--- a/Master/tlpkg/tlperl/lib/File/DosGlob.pm
+++ b/Master/tlpkg/tlperl/lib/File/DosGlob.pm
@@ -9,7 +9,7 @@
package File::DosGlob;
-our $VERSION = '1.04';
+our $VERSION = '1.06';
use strict;
use warnings;
@@ -106,7 +106,6 @@ sub doglob {
#
# context (keyed by second cxix arg provided by core)
-my %iter;
my %entries;
sub glob {
@@ -116,20 +115,25 @@ sub glob {
# glob without args defaults to $_
$pat = $_ unless defined $pat;
- # extract patterns
- if ($pat =~ /\s/) {
+ # assume global context if not provided one
+ $cxix = '_G_' unless defined $cxix;
+
+ # if we're just beginning, do it all first
+ if (!$entries{$cxix}) {
+ # extract patterns
+ if ($pat =~ /\s/) {
require Text::ParseWords;
@pat = Text::ParseWords::parse_line('\s+',0,$pat);
- }
- else {
+ }
+ else {
push @pat, $pat;
- }
+ }
- # Mike Mestnik: made to do abc{1,2,3} == abc1 abc2 abc3.
- # abc3 will be the original {3} (and drop the {}).
- # abc1 abc2 will be put in @appendpat.
- # This was just the esiest way, not nearly the best.
- REHASH: {
+ # Mike Mestnik: made to do abc{1,2,3} == abc1 abc2 abc3.
+ # abc3 will be the original {3} (and drop the {}).
+ # abc1 abc2 will be put in @appendpat.
+ # This was just the easiest way, not nearly the best.
+ REHASH: {
my @appendpat = ();
for (@pat) {
# There must be a "," I.E. abc{efg} is not what we want.
@@ -139,7 +143,7 @@ sub glob {
my $tmp = "$start$match$end";
while ( $tmp =~ s/^(.*?)(?<!\\)\{(?:.*(?<!\\)\,)?(.*\Q$match\E.*?)(?:(?<!\\)\,.*)?(?<!\\)\}(.*)$/$1$2$3/ ) {
#print "Striped: $tmp\n";
- # these expansions will be preformed by the original,
+ # these expansions will be performed by the original,
# when we call REHASH.
}
push @appendpat, ("$tmp");
@@ -163,35 +167,27 @@ sub glob {
}
goto REHASH;
}
- }
- for ( @pat ) {
+ }
+ for ( @pat ) {
s/\\{/{/g;
s/\\}/}/g;
s/\\,/,/g;
- }
- #print join ("\n", @pat). "\n";
+ }
+ #print join ("\n", @pat). "\n";
- # assume global context if not provided one
- $cxix = '_G_' unless defined $cxix;
- $iter{$cxix} = 0 unless exists $iter{$cxix};
-
- # if we're just beginning, do it all first
- if ($iter{$cxix} == 0) {
- $entries{$cxix} = [doglob(1,@pat)];
- }
+ $entries{$cxix} = [doglob(1,@pat)];
+ }
# chuck it all out, quick or slow
if (wantarray) {
- delete $iter{$cxix};
return @{delete $entries{$cxix}};
}
else {
- if ($iter{$cxix} = scalar @{$entries{$cxix}}) {
+ if (scalar @{$entries{$cxix}}) {
return shift @{$entries{$cxix}};
}
else {
# return undef for EOL
- delete $iter{$cxix};
delete $entries{$cxix};
return undef;
}
diff --git a/Master/tlpkg/tlperl/lib/File/Find.pm b/Master/tlpkg/tlperl/lib/File/Find.pm
index cdcf97e0a79..f2fe20b3327 100644
--- a/Master/tlpkg/tlperl/lib/File/Find.pm
+++ b/Master/tlpkg/tlperl/lib/File/Find.pm
@@ -3,7 +3,7 @@ use 5.006;
use strict;
use warnings;
use warnings::register;
-our $VERSION = '1.19';
+our $VERSION = '1.20';
require Exporter;
require Cwd;
@@ -114,7 +114,7 @@ Causes symbolic links to be followed. Since directory trees with symbolic
links (followed) may contain files more than once and may even have
cycles, a hash has to be built up with an entry for each file.
This might be expensive both in space and time for a large
-directory tree. See I<follow_fast> and I<follow_skip> below.
+directory tree. See L</follow_fast> and L</follow_skip> below.
If either I<follow> or I<follow_fast> is in effect:
=over 6
diff --git a/Master/tlpkg/tlperl/lib/File/Glob.pm b/Master/tlpkg/tlperl/lib/File/Glob.pm
index af17cffa76b..cd15922f32e 100644
--- a/Master/tlpkg/tlperl/lib/File/Glob.pm
+++ b/Master/tlpkg/tlperl/lib/File/Glob.pm
@@ -29,14 +29,16 @@ use feature 'switch';
GLOB_NOSPACE
GLOB_QUOTE
GLOB_TILDE
- glob
bsd_glob
+ glob
) ],
);
+$EXPORT_TAGS{bsd_glob} = [@{$EXPORT_TAGS{glob}}];
+pop @{$EXPORT_TAGS{bsd_glob}}; # no "glob"
@EXPORT_OK = (@{$EXPORT_TAGS{'glob'}}, 'csh_glob');
-$VERSION = '1.13';
+$VERSION = '1.17';
sub import {
require Exporter;
@@ -50,6 +52,9 @@ sub import {
no warnings 'redefine';
*CORE::GLOBAL::glob = \&File::Glob::csh_glob;
}
+ if ($_ eq ':bsd_glob') {
+ no strict; *{caller."::glob"} = \&bsd_glob_override;
+ }
$passthrough = 1;
}
$passthrough;
@@ -70,62 +75,6 @@ sub glob {
goto &bsd_glob;
}
-## borrowed heavily from gsar's File::DosGlob
-my %iter;
-my %entries;
-
-sub csh_glob {
- my $pat = shift;
- my $cxix = shift;
- my @pat;
-
- # glob without args defaults to $_
- $pat = $_ unless defined $pat;
-
- # extract patterns
- $pat =~ s/^\s+//; # Protect against empty elements in
- $pat =~ s/\s+$//; # things like < *.c> and <*.c >.
- # These alone shouldn't trigger ParseWords.
- if ($pat =~ /\s/) {
- # XXX this is needed for compatibility with the csh
- # implementation in Perl. Need to support a flag
- # to disable this behavior.
- require Text::ParseWords;
- @pat = Text::ParseWords::parse_line('\s+',0,$pat);
- }
-
- # assume global context if not provided one
- $cxix = '_G_' unless defined $cxix;
- $iter{$cxix} = 0 unless exists $iter{$cxix};
-
- # if we're just beginning, do it all first
- if ($iter{$cxix} == 0) {
- if (@pat) {
- $entries{$cxix} = [ map { doglob($_, $DEFAULT_FLAGS) } @pat ];
- }
- else {
- $entries{$cxix} = [ doglob($pat, $DEFAULT_FLAGS) ];
- }
- }
-
- # chuck it all out, quick or slow
- if (wantarray) {
- delete $iter{$cxix};
- return @{delete $entries{$cxix}};
- }
- else {
- if ($iter{$cxix} = scalar @{$entries{$cxix}}) {
- return shift @{$entries{$cxix}};
- }
- else {
- # return undef for EOL
- delete $iter{$cxix};
- delete $entries{$cxix};
- return undef;
- }
- }
-}
-
1;
__END__
@@ -135,7 +84,7 @@ File::Glob - Perl extension for BSD glob routine
=head1 SYNOPSIS
- use File::Glob ':glob';
+ use File::Glob ':bsd_glob';
@list = bsd_glob('*.[ch]');
$homedir = bsd_glob('~gnat', GLOB_TILDE | GLOB_ERR);
@@ -178,7 +127,8 @@ Since v5.6.0, Perl's CORE::glob() is implemented in terms of bsd_glob().
Note that they don't share the same prototype--CORE::glob() only accepts
a single argument. Due to historical reasons, CORE::glob() will also
split its argument on whitespace, treating it as multiple patterns,
-whereas bsd_glob() considers them as one pattern.
+whereas bsd_glob() considers them as one pattern. But see C<:bsd_glob>
+under L</EXPORTS>, below.
=head2 META CHARACTERS
@@ -191,9 +141,55 @@ whereas bsd_glob() considers them as one pattern.
The metanotation C<a{b,c,d}e> is a shorthand for C<abe ace ade>. Left to
right order is preserved, with results of matches being sorted separately
-at a low level to preserve this order. As a special case C<{>, C<}>, and
+at a low level to preserve this order. As a special case C<{>, C<}>, and
C<{}> are passed undisturbed.
+=head2 EXPORTS
+
+See also the L</POSIX FLAGS> below, which can be exported individually.
+
+=head3 C<:bsd_glob>
+
+The C<:bsd_glob> export tag exports bsd_glob() and the constants listed
+below. It also overrides glob() in the calling package with one that
+behaves like bsd_glob() with regard to spaces (the space is treated as part
+of a file name), but supports iteration in scalar context; i.e., it
+preserves the core function's feature of returning the next item each time
+it is called.
+
+=head3 C<:glob>
+
+The C<:glob> tag, now discouraged, is the old version of C<:bsd_glob>. It
+exports the same constants and functions, but its glob() override does not
+support iteration; it returns the last file name in scalar context. That
+means this will loop forever:
+
+ use File::Glob ':glob';
+ while (my $file = <* copy.txt>) {
+ ...
+ }
+
+=head3 C<bsd_glob>
+
+This function, which is included in the two export tags listed above,
+takes one or two arguments. The first is the glob pattern. The second is
+a set of flags ORed together. The available flags are listed below under
+L</POSIX FLAGS>. If the second argument is omitted, C<GLOB_CSH> (or
+C<GLOB_CSH|GLOB_NOCASE> on VMS and DOSish systems) is used by default.
+
+=head3 C<:nocase> and C<:case>
+
+These two export tags globally modify the default flags that bsd_glob()
+and, except on VMS, Perl's built-in C<glob> operator use. C<GLOB_NOCASE>
+is turned on or off, respectively.
+
+=head3 C<csh_glob>
+
+The csh_glob() function can also be exported, but you should not use it
+directly unless you really know what you are doing. It splits the pattern
+into words and feeds each one to bsd_glob(). Perl's own glob() function
+uses this internally.
+
=head2 POSIX FLAGS
The POSIX defined flags for bsd_glob() are:
@@ -334,10 +330,10 @@ Remember that you can use a backslash to escape things.
On DOSISH systems, backslash is a valid directory separator character.
In this case, use of backslash as a quoting character (via GLOB_QUOTE)
-interferes with the use of backslash as a directory separator. The
+interferes with the use of backslash as a directory separator. The
best (simplest, most portable) solution is to use forward slashes for
-directory separators, and backslashes for quoting. However, this does
-not match "normal practice" on these systems. As a concession to user
+directory separators, and backslashes for quoting. However, this does
+not match "normal practice" on these systems. As a concession to user
expectation, therefore, backslashes (under GLOB_QUOTE) only quote the
glob metacharacters '[', ']', '{', '}', '-', '~', and backslash itself.
All other backslashes are passed through unchanged.
@@ -348,46 +344,6 @@ Win32 users should use the real slash. If you really want to use
backslashes, consider using Sarathy's File::DosGlob, which comes with
the standard Perl distribution.
-=item *
-
-Mac OS (Classic) users should note a few differences. Since
-Mac OS is not Unix, when the glob code encounters a tilde glob (e.g.
-~user) and the C<GLOB_TILDE> flag is used, it simply returns that
-pattern without doing any expansion.
-
-Glob on Mac OS is case-insensitive by default (if you don't use any
-flags). If you specify any flags at all and still want glob
-to be case-insensitive, you must include C<GLOB_NOCASE> in the flags.
-
-The path separator is ':' (aka colon), not '/' (aka slash). Mac OS users
-should be careful about specifying relative pathnames. While a full path
-always begins with a volume name, a relative pathname should always
-begin with a ':'. If specifying a volume name only, a trailing ':' is
-required.
-
-The specification of pathnames in glob patterns adheres to the usual Mac
-OS conventions: The path separator is a colon ':', not a slash '/'. A
-full path always begins with a volume name. A relative pathname on Mac
-OS must always begin with a ':', except when specifying a file or
-directory name in the current working directory, where the leading colon
-is optional. If specifying a volume name only, a trailing ':' is
-required. Due to these rules, a glob like E<lt>*:E<gt> will find all
-mounted volumes, while a glob like E<lt>*E<gt> or E<lt>:*E<gt> will find
-all files and directories in the current directory.
-
-Note that updirs in the glob pattern are resolved before the matching begins,
-i.e. a pattern like "*HD:t?p::a*" will be matched as "*HD:a*". Note also,
-that a single trailing ':' in the pattern is ignored (unless it's a volume
-name pattern like "*HD:"), i.e. a glob like E<lt>:*:E<gt> will find both
-directories I<and> files (and not, as one might expect, only directories).
-You can, however, use the C<GLOB_MARK> flag to distinguish (without a file
-test) directory names from file names.
-
-If the C<GLOB_MARK> flag is set, all directory paths will have a ':' appended.
-Since a directory like 'lib:' is I<not> a valid I<relative> path on Mac OS,
-both a leading and a trailing colon will be added, when the directory name in
-question doesn't contain any colons (e.g. 'lib' becomes ':lib:').
-
=back
=head1 SEE ALSO
@@ -422,7 +378,7 @@ following copyright:
may be used to endorse or promote products derived from this software
without specific prior written permission.
- THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
diff --git a/Master/tlpkg/tlperl/lib/File/Spec.pm b/Master/tlpkg/tlperl/lib/File/Spec.pm
index 34c527eea2f..782e28425b7 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec.pm
@@ -3,8 +3,8 @@ package File::Spec;
use strict;
use vars qw(@ISA $VERSION);
-$VERSION = '3.33';
-$VERSION = eval $VERSION;
+$VERSION = '3.39_02';
+$VERSION =~ tr/_//;
my %module = (MacOS => 'Mac',
MSWin32 => 'Win32',
@@ -199,8 +199,10 @@ X<splitpath> X<split, path>
Splits a path in to volume, directory, and filename portions. On systems
with no concept of volume, returns '' for volume.
- ($volume,$directories,$file) = File::Spec->splitpath( $path );
- ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );
+ ($volume,$directories,$file) =
+ File::Spec->splitpath( $path );
+ ($volume,$directories,$file) =
+ File::Spec->splitpath( $path, $no_file );
For systems with no syntax differentiating filenames from directories,
assumes that the last file is a path unless C<$no_file> is true or a
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/Cygwin.pm b/Master/tlpkg/tlperl/lib/File/Spec/Cygwin.pm
index 0709c6fc072..b63b85f6cda 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec/Cygwin.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec/Cygwin.pm
@@ -4,8 +4,8 @@ use strict;
use vars qw(@ISA $VERSION);
require File::Spec::Unix;
-$VERSION = '3.33';
-$VERSION = eval $VERSION;
+$VERSION = '3.39_02';
+$VERSION =~ tr/_//;
@ISA = qw(File::Spec::Unix);
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/Epoc.pm b/Master/tlpkg/tlperl/lib/File/Spec/Epoc.pm
index a3bb62b8656..50304ffed06 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec/Epoc.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec/Epoc.pm
@@ -3,8 +3,8 @@ package File::Spec::Epoc;
use strict;
use vars qw($VERSION @ISA);
-$VERSION = '3.33';
-$VERSION = eval $VERSION;
+$VERSION = '3.39_02';
+$VERSION =~ tr/_//;
require File::Spec::Unix;
@ISA = qw(File::Spec::Unix);
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/Functions.pm b/Master/tlpkg/tlperl/lib/File/Spec/Functions.pm
index 2ee8f5d2c1a..454a5b30898 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec/Functions.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec/Functions.pm
@@ -5,8 +5,8 @@ use strict;
use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION);
-$VERSION = '3.33';
-$VERSION = eval $VERSION;
+$VERSION = '3.39_02';
+$VERSION =~ tr/_//;
require Exporter;
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/Mac.pm b/Master/tlpkg/tlperl/lib/File/Spec/Mac.pm
index f47293cb2de..57d1d3efb33 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec/Mac.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec/Mac.pm
@@ -4,8 +4,8 @@ use strict;
use vars qw(@ISA $VERSION);
require File::Spec::Unix;
-$VERSION = '3.34';
-$VERSION = eval $VERSION;
+$VERSION = '3.39_02';
+$VERSION =~ tr/_//;
@ISA = qw(File::Spec::Unix);
@@ -156,13 +156,16 @@ their Unix counterparts:
Unix:
Unix->catdir("","") = "/"
Unix->catdir("",".") = "/"
- Unix->catdir("","..") = "/" # can't go beyond root
+ Unix->catdir("","..") = "/" # can't go
+ # beyond root
Unix->catdir("",".","..","..","a") = "/a"
Mac:
- Mac->catdir("","") = rootdir() # (e.g. "HD:")
+ Mac->catdir("","") = rootdir() # (e.g. "HD:")
Mac->catdir("",":") = rootdir()
- Mac->catdir("","::") = rootdir() # can't go beyond root
- Mac->catdir("",":","::","::","a") = rootdir() . "a:" # (e.g. "HD:a:")
+ Mac->catdir("","::") = rootdir() # can't go
+ # beyond root
+ Mac->catdir("",":","::","::","a") = rootdir() . "a:"
+ # (e.g. "HD:a:")
However, this approach is limited to the first arguments following
"root" (again, see C<Unix-E<gt>canonpath()> ). If there are more
@@ -400,10 +403,11 @@ the filename '' is always considered to be absolute. Note that with version
E.g.
- File::Spec->file_name_is_absolute("a"); # false (relative)
- File::Spec->file_name_is_absolute(":a:b:"); # false (relative)
- File::Spec->file_name_is_absolute("MacintoshHD:"); # true (absolute)
- File::Spec->file_name_is_absolute(""); # true (absolute)
+ File::Spec->file_name_is_absolute("a"); # false (relative)
+ File::Spec->file_name_is_absolute(":a:b:"); # false (relative)
+ File::Spec->file_name_is_absolute("MacintoshHD:");
+ # true (absolute)
+ File::Spec->file_name_is_absolute(""); # true (absolute)
=cut
@@ -440,7 +444,8 @@ sub path {
=item splitpath
($volume,$directories,$file) = File::Spec->splitpath( $path );
- ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );
+ ($volume,$directories,$file) = File::Spec->splitpath( $path,
+ $no_file );
Splits a path into volume, directory, and filename portions.
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/OS2.pm b/Master/tlpkg/tlperl/lib/File/Spec/OS2.pm
index a380dd719b7..5461cf7a701 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec/OS2.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec/OS2.pm
@@ -4,8 +4,8 @@ use strict;
use vars qw(@ISA $VERSION);
require File::Spec::Unix;
-$VERSION = '3.33';
-$VERSION = eval $VERSION;
+$VERSION = '3.39_02';
+$VERSION =~ tr/_//;
@ISA = qw(File::Spec::Unix);
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/Unix.pm b/Master/tlpkg/tlperl/lib/File/Spec/Unix.pm
index b276b213920..c150445d776 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec/Unix.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec/Unix.pm
@@ -3,8 +3,8 @@ package File::Spec::Unix;
use strict;
use vars qw($VERSION);
-$VERSION = '3.33';
-$VERSION = eval $VERSION;
+$VERSION = '3.39_02';
+$VERSION =~ tr/_//;
=head1 NAME
@@ -135,7 +135,7 @@ writable:
$ENV{TMPDIR}
/tmp
-Since perl 5.8.0, if running under taint mode, and if $ENV{TMPDIR}
+If running under taint mode, and if $ENV{TMPDIR}
is tainted, it is not used.
=cut
@@ -151,6 +151,9 @@ sub _tmpdir {
require Scalar::Util;
@dirlist = grep { ! Scalar::Util::tainted($_) } @dirlist;
}
+ elsif ($] < 5.007) { # No ${^TAINT} before 5.8
+ @dirlist = grep { eval { eval('1'.substr $_,0,0) } } @dirlist;
+ }
}
foreach (@dirlist) {
next unless defined && -d && -w _;
@@ -238,7 +241,8 @@ sub join {
=item splitpath
($volume,$directories,$file) = File::Spec->splitpath( $path );
- ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );
+ ($volume,$directories,$file) = File::Spec->splitpath( $path,
+ $no_file );
Splits a path into volume, directory, and filename portions. On systems
with no concept of volume, returns '' for volume.
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/VMS.pm b/Master/tlpkg/tlperl/lib/File/Spec/VMS.pm
index 120575a3e0f..1ababbf1350 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec/VMS.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec/VMS.pm
@@ -4,8 +4,8 @@ use strict;
use vars qw(@ISA $VERSION);
require File::Spec::Unix;
-$VERSION = '3.34';
-$VERSION = eval $VERSION;
+$VERSION = '3.39_02';
+$VERSION =~ tr/_//;
@ISA = qw(File::Spec::Unix);
@@ -27,15 +27,8 @@ there. This package overrides the implementation of these methods, not
the semantics.
The default behavior is to allow either VMS or Unix syntax on input and to
-return VMS syntax on output, even when Unix syntax was given on input.
-
-When used with a Perl of version 5.10 or greater and a CRTL possessing the
-relevant capabilities, override behavior depends on the CRTL features
-C<DECC$FILENAME_UNIX_REPORT> and C<DECC$EFS_CHARSET>. When the
-C<DECC$EFS_CHARSET> feature is enabled and the input parameters are clearly
-in Unix syntax, the output will be in Unix syntax. If
-C<DECC$FILENAME_UNIX_REPORT> is enabled and the output syntax cannot be
-determined from the input syntax, the output will be in Unix syntax.
+return VMS syntax on output unless Unix syntax has been explicity requested
+via the C<DECC$FILENAME_UNIX_REPORT> CRTL feature.
=over 4
@@ -64,23 +57,10 @@ sub _unix_rpt {
return $unix_rpt;
}
-# Need to look up the EFS character set mode. This may become a dynamic
-# mode in the future.
-sub _efs {
- my $efs;
- if ($use_feature) {
- $efs = VMS::Feature::current("efs_charset");
- } else {
- my $env_efs = $ENV{'DECC$EFS_CHARSET'} || '';
- $efs = $env_efs =~ /^[ET1]/i;
- }
- return $efs;
-}
-
=item canonpath (override)
-Removes redundant portions of file specifications according to the syntax
-detected.
+Removes redundant portions of file specifications and returns results
+in native syntax unless Unix filename reporting has been enabled.
=cut
@@ -90,37 +70,31 @@ sub canonpath {
return undef unless defined $path;
- my $efs = $self->_efs;
+ my $unix_rpt = $self->_unix_rpt;
- if ($path =~ m|/|) { # Fake Unix
+ if ($path =~ m|/|) {
my $pathify = $path =~ m|/\Z(?!\n)|;
$path = $self->SUPER::canonpath($path);
- # Do not convert to VMS when EFS character sets are in use
- return $path if $efs;
-
- if ($pathify) { return vmspath($path); }
- else { return vmsify($path); }
+ return $path if $unix_rpt;
+ $path = $pathify ? vmspath($path) : vmsify($path);
}
- else {
-
-#FIXME - efs parsing has different rules. Characters in a VMS filespec
-# are only delimiters if not preceded by '^';
- $path =~ tr/<>/[]/; # < and > ==> [ and ]
- $path =~ s/\]\[\./\.\]\[/g; # ][. ==> .][
- $path =~ s/\[000000\.\]\[/\[/g; # [000000.][ ==> [
- $path =~ s/\[000000\./\[/g; # [000000. ==> [
- $path =~ s/\.\]\[000000\]/\]/g; # .][000000] ==> ]
- $path =~ s/\.\]\[/\./g; # foo.][bar ==> foo.bar
- 1 while ($path =~ s/([\[\.])(-+)\.(-+)([\.\]])/$1$2$3$4/);
+ $path =~ s/(?<!\^)</[/; # < and > ==> [ and ]
+ $path =~ s/(?<!\^)>/]/;
+ $path =~ s/(?<!\^)\]\[\./\.\]\[/g; # ][. ==> .][
+ $path =~ s/(?<!\^)\[000000\.\]\[/\[/g; # [000000.][ ==> [
+ $path =~ s/(?<!\^)\[000000\./\[/g; # [000000. ==> [
+ $path =~ s/(?<!\^)\.\]\[000000\]/\]/g; # .][000000] ==> ]
+ $path =~ s/(?<!\^)\.\]\[/\./g; # foo.][bar ==> foo.bar
+ 1 while ($path =~ s/(?<!\^)([\[\.])(-+)\.(-+)([\.\]])/$1$2$3$4/);
# That loop does the following
# with any amount of dashes:
# .-.-. ==> .--.
# [-.-. ==> [--.
# .-.-] ==> .--]
# [-.-] ==> [--]
- 1 while ($path =~ s/([\[\.])[^\]\.]+\.-(-+)([\]\.])/$1$2$3/);
+ 1 while ($path =~ s/(?<!\^)([\[\.])[^\]\.]+\.-(-+)([\]\.])/$1$2$3/);
# That loop does the following
# with any amount (minimum 2)
# of dashes:
@@ -130,21 +104,23 @@ sub canonpath {
# [foo.--] ==> [-]
#
# And then, the remaining cases
- $path =~ s/\[\.-/[-/; # [.- ==> [-
- $path =~ s/\.[^\]\.]+\.-\./\./g; # .foo.-. ==> .
- $path =~ s/\[[^\]\.]+\.-\./\[/g; # [foo.-. ==> [
- $path =~ s/\.[^\]\.]+\.-\]/\]/g; # .foo.-] ==> ]
- $path =~ s/\[[^\]\.]+\.-\]/\[000000\]/g;# [foo.-] ==> [000000]
- $path =~ s/\[\]// unless $path eq '[]'; # [] ==>
- return $path;
- }
+ $path =~ s/(?<!\^)\[\.-/[-/; # [.- ==> [-
+ $path =~ s/(?<!\^)\.[^\]\.]+\.-\./\./g; # .foo.-. ==> .
+ $path =~ s/(?<!\^)\[[^\]\.]+\.-\./\[/g; # [foo.-. ==> [
+ $path =~ s/(?<!\^)\.[^\]\.]+\.-\]/\]/g; # .foo.-] ==> ]
+ # [foo.-] ==> [000000]
+ $path =~ s/(?<!\^)\[[^\]\.]+\.-\]/\[000000\]/g;
+ # [] ==>
+ $path =~ s/(?<!\^)\[\]// unless $path eq '[]';
+ return $unix_rpt ? unixify($path) : $path;
}
=item catdir (override)
Concatenates a list of file specifications, and returns the result as a
-directory specification. No check is made for "impossible"
-cases (e.g. elements other than the first being absolute filespecs).
+native directory specification unless the Unix filename reporting feature
+has been enabled. No check is made for "impossible" cases (e.g. elements
+other than the first being absolute filespecs).
=cut
@@ -152,171 +128,39 @@ sub catdir {
my $self = shift;
my $dir = pop;
- my $efs = $self->_efs;
my $unix_rpt = $self->_unix_rpt;
-
my @dirs = grep {defined() && length()} @_;
- if ($efs) {
- # Legacy mode removes blank entries.
- # But that breaks existing generic perl code that
- # uses a blank path at the beginning of the array
- # to indicate an absolute path.
- # So put it back if found.
- if (@_) {
- if ($_[0] eq '') {
- unshift @dirs, '';
- }
- }
- }
my $rslt;
if (@dirs) {
my $path = (@dirs == 1 ? $dirs[0] : $self->catdir(@dirs));
my ($spath,$sdir) = ($path,$dir);
+ $spath =~ s/\.dir\Z(?!\n)//i; $sdir =~ s/\.dir\Z(?!\n)//i;
- if ($efs) {
- # Extended character set in use, go into DWIM mode.
-
- # Now we need to identify what the directory is in
- # of the specification in order to merge them.
- my $path_unix = 0;
- $path_unix = 1 if ($path =~ m#/#);
- $path_unix = 1 if ($path =~ /^\.\.?$/);
- my $path_vms = 0;
- $path_vms = 1 if ($path =~ m#(?<!\^)[\[<\]:]#);
- $path_vms = 1 if ($path =~ /^--?$/);
- my $dir_unix = 0;
- $dir_unix = 1 if ($dir =~ m#/#);
- $dir_unix = 1 if ($dir =~ /^\.\.?$/);
- my $dir_vms = 0;
- $dir_vms = 1 if ($dir =~ m#(?<!\^)[\[<\]:]#);
- $dir_vms = 1 if ($dir =~ /^--?$/);
-
- my $unix_mode = 0;
- if (($path_unix != $dir_unix) && ($path_vms != $dir_vms)) {
- # Ambiguous, so if in $unix_rpt mode then assume UNIX.
- $unix_mode = 1 if $unix_rpt;
- } else {
- $unix_mode = 1 if (!$path_vms && !$dir_vms && $unix_rpt);
- $unix_mode = 1 if ($path_unix || $dir_unix);
- }
-
- if ($unix_mode) {
-
- # Fix up mixed syntax input as good as possible - GIGO
- $path = unixify($path) if $path_vms;
- $dir = unixify($dir) if $dir_vms;
-
- $rslt = $path;
- # Append a path delimiter
- $rslt .= '/' unless ($rslt =~ m#/$#);
-
- $rslt .= $dir;
- return $self->SUPER::canonpath($rslt);
- } else {
-
- #with <> possible instead of [.
- # Normalize the brackets
- # Fixme - need to not switch when preceded by ^.
- $path =~ s/</\[/g;
- $path =~ s/>/\]/g;
- $dir =~ s/</\[/g;
- $dir =~ s/>/\]/g;
-
- # Fix up mixed syntax input as good as possible - GIGO
- $path = vmsify($path) if $path_unix;
- $dir = vmsify($dir) if $dir_unix;
-
- #Possible path values: foo: [.foo] [foo] foo, and $(foo)
- #or starting with '-', or foo.dir
- #If path is foo, it needs to be converted to [.foo]
-
- # Fix up a bare path name.
- unless ($path_vms) {
- $path =~ s/\.dir\Z(?!\n)//i;
- if (($path ne '') && ($path !~ /^-/)) {
- # Non blank and not prefixed with '-', add a dot
- $path = '[.' . $path;
- } else {
- # Just start a directory.
- $path = '[' . $path;
- }
- } else {
- $path =~ s/\]$//;
- }
-
- #Possible dir values: [.dir] dir and $(foo)
-
- # No punctuation may have a trailing .dir
- unless ($dir_vms) {
- $dir =~ s/\.dir\Z(?!\n)//i;
- } else {
-
- #strip off the brackets
- $dir =~ s/^\[//;
- $dir =~ s/\]$//;
- }
+ if ($unix_rpt) {
+ $spath = unixify($spath) unless $spath =~ m#/#;
+ $sdir= unixify($sdir) unless $sdir =~ m#/#;
+ return $self->SUPER::catdir($spath, $sdir)
+ }
- #strip off the leading dot if present.
- $dir =~ s/^\.//;
+ $sdir = $self->eliminate_macros($sdir) unless $sdir =~ /^[\w\-]+\Z(?!\n)/s;
+ $rslt = $self->fixpath($self->eliminate_macros($spath)."/$sdir",1);
- # Now put the specifications together.
- if ($dir ne '') {
- # Add a separator unless this is an absolute path
- $path .= '.' if ($path ne '[');
- $rslt = $path . $dir . ']';
- } else {
- $rslt = $path . ']';
- }
- }
+ # Special case for VMS absolute directory specs: these will have
+ # had device prepended during trip through Unix syntax in
+ # eliminate_macros(), since Unix syntax has no way to express
+ # "absolute from the top of this device's directory tree".
+ if ($spath =~ /^[\[<][^.\-]/s) { $rslt =~ s/^[^\[<]+//s; }
- } else {
- # Traditional ODS-2 mode.
- $spath =~ s/\.dir\Z(?!\n)//i; $sdir =~ s/\.dir\Z(?!\n)//i;
-
- $sdir = $self->eliminate_macros($sdir)
- unless $sdir =~ /^[\w\-]+\Z(?!\n)/s;
- $rslt = $self->fixpath($self->eliminate_macros($spath)."/$sdir",1);
-
- # Special case for VMS absolute directory specs: these will have
- # had device prepended during trip through Unix syntax in
- # eliminate_macros(), since Unix syntax has no way to express
- # "absolute from the top of this device's directory tree".
- if ($spath =~ /^[\[<][^.\-]/s) { $rslt =~ s/^[^\[<]+//s; }
- }
} else {
- # Single directory, just make sure it is in directory format
- # Return an empty string on null input, and pass through macros.
+ # Single directory. Return an empty string on null input; otherwise
+ # just return a canonical path.
- if (not defined $dir or not length $dir) { $rslt = ''; }
- elsif ($dir =~ /^\$\([^\)]+\)\Z(?!\n)/s) {
- $rslt = $dir;
+ if (not defined $dir or not length $dir) {
+ $rslt = '';
} else {
- my $unix_mode = 0;
-
- if ($efs) {
- my $dir_unix = 0;
- $dir_unix = 1 if ($dir =~ m#/#);
- $dir_unix = 1 if ($dir =~ /^\.\.?$/);
- my $dir_vms = 0;
- $dir_vms = 1 if ($dir =~ m#(?<!\^)[\[<\]:]#);
- $dir_vms = 1 if ($dir =~ /^--?$/);
-
- if ($dir_vms == $dir_unix) {
- # Ambiguous, so if in $unix_rpt mode then assume UNIX.
- $unix_mode = 1 if $unix_rpt;
- } else {
- $unix_mode = 1 if $dir_unix;
- }
- }
-
- if ($unix_mode) {
- return $dir;
- } else {
- # For VMS, force it to be in directory format
- $rslt = vmspath($dir);
- }
+ $rslt = $unix_rpt ? $dir : vmspath($dir);
}
}
return $self->canonpath($rslt);
@@ -335,137 +179,32 @@ sub catfile {
my $file = $self->canonpath($tfile);
my @files = grep {defined() && length()} @_;
- my $efs = $self->_efs;
my $unix_rpt = $self->_unix_rpt;
- # Assume VMS mode
- my $unix_mode = 0;
- my $file_unix = 0;
- my $file_vms = 0;
- if ($efs) {
-
- # Now we need to identify format the file is in
- # of the specification in order to merge them.
- $file_unix = 1 if ($tfile =~ m#/#);
- $file_unix = 1 if ($tfile =~ /^\.\.?$/);
- $file_vms = 1 if ($tfile =~ m#(?<!\^)[\[<\]:]#);
- $file_vms = 1 if ($tfile =~ /^--?$/);
-
- # We may know for sure what the format is.
- if (($file_unix != $file_vms)) {
- $unix_mode = 1 if ($file_unix && $unix_rpt);
- }
- }
-
my $rslt;
if (@files) {
- # concatenate the directories.
- my $path;
- if (@files == 1) {
- $path = $files[0];
- } else {
- if ($file_vms) {
- # We need to make sure this is in VMS mode to avoid doing
- # both a vmsify and unixfy on the same path, as that may
- # lose significant data.
- my $i = @files - 1;
- my $tdir = $files[$i];
- my $tdir_vms = 0;
- my $tdir_unix = 0;
- $tdir_vms = 1 if ($tdir =~ m#(?<!\^)[\[<\]:]#);
- $tdir_unix = 1 if ($tdir =~ m#/#);
- $tdir_unix = 1 if ($tdir =~ /^\.\.?$/);
-
- if (!$tdir_vms) {
- if ($tdir_unix) {
- $tdir = vmspath($tdir);
- } else {
- $tdir =~ s/\.dir\Z(?!\n)//i;
- $tdir = '[.' . $tdir . ']';
- }
- $files[$i] = $tdir;
- }
- }
- $path = $self->catdir(@files);
- }
+ my $path = (@files == 1 ? $files[0] : $self->catdir(@files));
my $spath = $path;
- # Some thing building a VMS path in pieces may try to pass a
+ # Something building a VMS path in pieces may try to pass a
# directory name in filename format, so normalize it.
$spath =~ s/\.dir\Z(?!\n)//i;
- # if the spath ends with a directory delimiter and the file is bare,
- # then just concat them.
+ # If the spath ends with a directory delimiter and the file is bare,
+ # then just concatenate them.
if ($spath =~ /^(?<!\^)[^\)\]\/:>]+\)\Z(?!\n)/s && basename($file) eq $file) {
$rslt = "$spath$file";
} else {
- if ($efs) {
-
- # Now we need to identify what the directory is in
- # of the specification in order to merge them.
- my $spath_unix = 0;
- $spath_unix = 1 if ($spath =~ m#/#);
- $spath_unix = 1 if ($spath =~ /^\.\.?$/);
- my $spath_vms = 0;
- $spath_vms = 1 if ($spath =~ m#(?<!\^)[\[<\]:]#);
- $spath_vms = 1 if ($spath =~ /^--?$/);
-
- # Assume VMS mode
- if (($spath_unix == $spath_vms) &&
- ($file_unix == $file_vms)) {
- # Ambiguous, so if in $unix_rpt mode then assume UNIX.
- $unix_mode = 1 if $unix_rpt;
- } else {
- $unix_mode = 1
- if (($spath_unix || $file_unix) && $unix_rpt);
- }
-
- if (!$unix_mode) {
- if ($spath_vms) {
- $spath = '[' . $spath . ']' if $spath =~ /^-/;
- $rslt = vmspath($spath);
- } else {
- $rslt = '[.' . $spath . ']';
- }
- $file = vmsify($file) if ($file_unix);
- } else {
- $spath = unixify($spath) if ($spath_vms);
- $rslt = $spath;
- $file = unixify($file) if ($file_vms);
-
- # Unix merge may need a directory delimiter.
- # A null path indicates root on Unix.
- $rslt .= '/' unless ($rslt =~ m#/$#);
- }
-
- $rslt .= $file;
- $rslt =~ s/\]\[//;
-
- } else {
- # Traditional VMS Perl mode expects that this is done.
- # Note for future maintainers:
- # This is left here for compatibility with perl scripts
- # that have come to expect this behavior, even though
- # usually the Perl scripts ported to VMS have to be
- # patched because of it changing Unix syntax file
- # to VMS format.
-
- $rslt = $self->eliminate_macros($spath);
-
-
- $rslt = vmsify($rslt.((defined $rslt) &&
- ($rslt ne '') ? '/' : '').unixify($file));
- }
+ $rslt = $self->eliminate_macros($spath);
+ $rslt .= (defined($rslt) && length($rslt) ? '/' : '') . unixify($file);
+ $rslt = vmsify($rslt) unless $unix_rpt;
}
}
else {
# Only passed a single file?
- my $xfile = $file;
+ my $xfile = (defined($file) && length($file)) ? $file : '';
- # Traditional VMS perl expects this conversion.
- $xfile = vmsify($file) unless ($efs);
-
- $rslt = (defined($file) && length($file)) ? $xfile : '';
+ $rslt = $unix_rpt ? $file : vmsify($file);
}
return $self->canonpath($rslt) unless $unix_rpt;
@@ -602,7 +341,8 @@ sub file_name_is_absolute {
=item splitpath (override)
($volume,$directories,$file) = File::Spec->splitpath( $path );
- ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );
+ ($volume,$directories,$file) = File::Spec->splitpath( $path,
+ $no_file );
Passing a true value for C<$no_file> indicates that the path being
split only contains directory components, even on systems where you
@@ -614,17 +354,7 @@ between directories and files at a glance.
sub splitpath {
my($self,$path, $nofile) = @_;
my($dev,$dir,$file) = ('','','');
- my $efs = $self->_efs;
my $vmsify_path = vmsify($path);
- if ($efs) {
- my $path_vms = 0;
- $path_vms = 1 if ($path =~ m#(?<!\^)[\[<\]:]#);
- $path_vms = 1 if ($path =~ /^--?$/);
- if (!$path_vms) {
- return $self->SUPER::splitpath($path, $nofile);
- }
- $vmsify_path = $path;
- }
if ( $nofile ) {
#vmsify('d1/d2/d3') returns '[.d1.d2]d3'
@@ -653,25 +383,13 @@ sub splitdir {
my @dirs = ();
return @dirs if ( (!defined $dirspec) || ('' eq $dirspec) );
- my $efs = $self->_efs;
-
- my $dir_unix = 0;
- $dir_unix = 1 if ($dirspec =~ m#/#);
- $dir_unix = 1 if ($dirspec =~ /^\.\.?$/);
-
- # Unix filespecs in EFS mode handled by Unix routines.
- if ($efs && $dir_unix) {
- return $self->SUPER::splitdir($dirspec);
- }
-
- # FIX ME, only split for VMS delimiters not prefixed with '^'.
-
- $dirspec =~ tr/<>/[]/; # < and > ==> [ and ]
- $dirspec =~ s/\]\[\./\.\]\[/g; # ][. ==> .][
- $dirspec =~ s/\[000000\.\]\[/\[/g; # [000000.][ ==> [
- $dirspec =~ s/\[000000\./\[/g; # [000000. ==> [
- $dirspec =~ s/\.\]\[000000\]/\]/g; # .][000000] ==> ]
- $dirspec =~ s/\.\]\[/\./g; # foo.][bar ==> foo.bar
+ $dirspec =~ s/(?<!\^)</[/; # < and > ==> [ and ]
+ $dirspec =~ s/(?<!\^)>/]/;
+ $dirspec =~ s/(?<!\^)\]\[\./\.\]\[/g; # ][. ==> .][
+ $dirspec =~ s/(?<!\^)\[000000\.\]\[/\[/g; # [000000.][ ==> [
+ $dirspec =~ s/(?<!\^)\[000000\./\[/g; # [000000. ==> [
+ $dirspec =~ s/(?<!\^)\.\]\[000000\]/\]/g; # .][000000] ==> ]
+ $dirspec =~ s/(?<!\^)\.\]\[/\./g; # foo.][bar ==> foo.bar
while ($dirspec =~ s/(^|[\[\<\.])\-(\-+)($|[\]\>\.])/$1-.$2$3/g) {}
# That loop does the following
# with any amount of dashes:
@@ -696,48 +414,16 @@ Construct a complete filespec.
sub catpath {
my($self,$dev,$dir,$file) = @_;
- my $efs = $self->_efs;
- my $unix_rpt = $self->_unix_rpt;
-
- my $unix_mode = 0;
- my $dir_unix = 0;
- $dir_unix = 1 if ($dir =~ m#/#);
- $dir_unix = 1 if ($dir =~ /^\.\.?$/);
- my $dir_vms = 0;
- $dir_vms = 1 if ($dir =~ m#(?<!\^)[\[<\]:]#);
- $dir_vms = 1 if ($dir =~ /^--?$/);
-
- if ($efs && (length($dev) == 0)) {
- if ($dir_unix == $dir_vms) {
- $unix_mode = $unix_rpt;
- } else {
- $unix_mode = $dir_unix;
- }
- }
-
# We look for a volume in $dev, then in $dir, but not both
- # but only if using VMS syntax.
- if (!$unix_mode) {
- $dir = vmspath($dir) if $dir_unix;
- my ($dir_volume, $dir_dir, $dir_file) = $self->splitpath($dir);
- $dev = $dir_volume unless length $dev;
- $dir = length $dir_file ? $self->catfile($dir_dir, $dir_file) :
- $dir_dir;
- }
- if ($dev =~ m|^/+([^/]+)|) { $dev = "$1:"; }
+ my ($dir_volume, $dir_dir, $dir_file) = $self->splitpath($dir);
+ $dev = $dir_volume unless length $dev;
+ $dir = length $dir_file ? $self->catfile($dir_dir, $dir_file) : $dir_dir;
+
+ if ($dev =~ m|^(?<!\^)/+([^/]+)|) { $dev = "$1:"; }
else { $dev .= ':' unless $dev eq '' or $dev =~ /:\Z(?!\n)/; }
if (length($dev) or length($dir)) {
- if ($efs) {
- if ($unix_mode) {
- $dir .= '/' unless ($dir =~ m#/$#);
- } else {
- $dir = vmspath($dir) if (($dir =~ m#/#) || ($dir =~ /^\.\.?$/));
- $dir = "[$dir]" unless $dir =~ /^[\[<]/;
- }
- } else {
- $dir = "[$dir]" unless $dir =~ /[\[<\/]/;
- $dir = vmspath($dir);
- }
+ $dir = "[$dir]" unless $dir =~ /(?<!\^)[\[<\/]/;
+ $dir = vmspath($dir);
}
$dir = '' if length($dev) && ($dir eq '[]' || $dir eq '<>');
"$dev$dir$file";
@@ -745,92 +431,17 @@ sub catpath {
=item abs2rel (override)
-Attempt to convert a file specification to a relative specification.
-On a system with volumes, like VMS, this may not be possible.
+Attempt to convert an absolute file specification to a relative specification.
=cut
sub abs2rel {
my $self = shift;
- my($path,$base) = @_;
-
- my $efs = $self->_efs;
- my $unix_rpt = $self->_unix_rpt;
-
- # We need to identify what the directory is in
- # of the specification in order to process them
- my $path_unix = 0;
- $path_unix = 1 if ($path =~ m#/#);
- $path_unix = 1 if ($path =~ /^\.\.?$/);
- my $path_vms = 0;
- $path_vms = 1 if ($path =~ m#(?<!\^)[\[<\]:]#);
- $path_vms = 1 if ($path =~ /^--?$/);
-
- my $unix_mode = 0;
- if ($path_vms == $path_unix) {
- $unix_mode = $unix_rpt;
- } else {
- $unix_mode = $path_unix;
- }
-
- my $base_unix = 0;
- my $base_vms = 0;
-
- if (defined $base) {
- $base_unix = 1 if ($base =~ m#/#);
- $base_unix = 1 if ($base =~ /^\.\.?$/);
- $base_vms = 1 if ($base =~ m#(?<!\^)[\[<\]:]#);
- $base_vms = 1 if ($base =~ /^--?$/);
-
- if ($path_vms == $path_unix) {
- if ($base_vms == $base_unix) {
- $unix_mode = $unix_rpt;
- } else {
- $unix_mode = $base_unix;
- }
- } else {
- $unix_mode = 0 if $base_vms;
- }
- }
-
- if ($efs) {
- if ($unix_mode) {
- # We are UNIX mode.
- $base = unixpath($base) if $base_vms;
- $base = unixify($path) if $path_vms;
-
- # Here VMS is different, and in order to do this right
- # we have to take the realpath for both the path and the base
- # so that we can remove the common components.
-
- if ($path =~ m#^/#) {
- if (defined $base) {
-
- # For the shorterm, if the starting directories are
- # common, remove them.
- my $bq = qq($base);
- $bq =~ s/\$/\\\$/;
- $path =~ s/^$bq//i;
- }
- return $path;
- }
-
- return File::Spec::Unix::abs2rel( $self, $path, $base );
-
- } else {
- $base = vmspath($base) if $base_unix;
- $path = vmsify($path) if $path_unix;
- }
- }
+ return vmspath(File::Spec::Unix::abs2rel( $self, @_ ))
+ if grep m{/}, @_;
- unless (defined $base and length $base) {
- $base = $self->_cwd();
- if ($efs) {
- $base_unix = 1 if ($base =~ m#/#);
- $base_unix = 1 if ($base =~ /^\.\.?$/);
- $base = vmspath($base) if $base_unix;
- }
- }
+ my($path,$base) = @_;
+ $base = $self->_cwd() unless defined $base and length $base;
for ($path, $base) { $_ = $self->canonpath($_) }
@@ -889,57 +500,12 @@ sub rel2abs {
my $self = shift ;
my ($path,$base ) = @_;
return undef unless defined $path;
-
- my $efs = $self->_efs;
- my $unix_rpt = $self->_unix_rpt;
-
- # We need to identify what the directory is in
- # of the specification in order to process them
- my $path_unix = 0;
- $path_unix = 1 if ($path =~ m#/#);
- $path_unix = 1 if ($path =~ /^\.\.?$/);
- my $path_vms = 0;
- $path_vms = 1 if ($path =~ m#(?<!\^)[\[<\]:]#);
- $path_vms = 1 if ($path =~ /^--?$/);
-
- my $unix_mode = 0;
- if ($path_vms == $path_unix) {
- $unix_mode = $unix_rpt;
- } else {
- $unix_mode = $path_unix;
- }
-
- my $base_unix = 0;
- my $base_vms = 0;
-
- if (defined $base) {
- $base_unix = 1 if ($base =~ m#/#);
- $base_unix = 1 if ($base =~ /^\.\.?$/);
- $base_vms = 1 if ($base =~ m#(?<!\^)[\[<\]:]#);
- $base_vms = 1 if ($base =~ /^--?$/);
-
- # If we could not determine the path mode, see if we can find out
- # from the base.
- if ($path_vms == $path_unix) {
- if ($base_vms != $base_unix) {
- $unix_mode = $base_unix;
- }
- }
+ if ($path =~ m/\//) {
+ $path = ( -d $path || $path =~ m/\/\z/ # educated guessing about
+ ? vmspath($path) # whether it's a directory
+ : vmsify($path) );
}
-
- if (!$efs) {
- # Legacy behavior, convert to VMS syntax.
- $unix_mode = 0;
- if (defined $base) {
- $base = vmspath($base) if $base =~ m/\//;
- }
-
- if ($path =~ m/\//) {
- $path = ( -d $path || $path =~ m/\/\z/ # educated guessing about
- ? vmspath($path) # whether it's a directory
- : vmsify($path) );
- }
- }
+ $base = vmspath($base) if defined $base && $base =~ m/\//;
# Clean up and split up $path
if ( ! $self->file_name_is_absolute( $path ) ) {
@@ -954,20 +520,6 @@ sub rel2abs {
$base = $self->canonpath( $base ) ;
}
- if ($efs) {
- # base may have changed, so need to look up format again.
- if ($unix_mode) {
- $base_vms = 1 if ($base =~ m#(?<!\^)[\[<\]:]#);
- $base_vms = 1 if ($base =~ /^--?$/);
- $base = unixpath($base) if $base_vms;
- $base .= '/' unless ($base =~ m#/$#);
- } else {
- $base_unix = 1 if ($base =~ m#/#);
- $base_unix = 1 if ($base =~ /^\.\.?$/);
- $base = vmspath($base) if $base_unix;
- }
- }
-
# Split up paths
my ( $path_directories, $path_file ) =
($self->splitpath( $path ))[1,2] ;
@@ -978,23 +530,12 @@ sub rel2abs {
$path_directories = '' if $path_directories eq '[]' ||
$path_directories eq '<>';
my $sep = '' ;
-
- if ($efs) {
- # Merge the paths assuming that the base is absolute.
- $base_directories = $self->catdir('',
- $base_directories,
- $path_directories);
- } else {
- # Legacy behavior assumes VMS only paths
- $sep = '.'
- if ( $base_directories =~ m{[^.\]>]\Z(?!\n)} &&
- $path_directories =~ m{^[^.\[<]}s
- ) ;
- $base_directories = "$base_directories$sep$path_directories";
- $base_directories =~ s{\.?[\]>][\[<]\.?}{.};
- }
-
- $path_file = '' if ($path_file eq '.') && $unix_mode;
+ $sep = '.'
+ if ( $base_directories =~ m{[^.\]>]\Z(?!\n)} &&
+ $path_directories =~ m{^[^.\[<]}s
+ ) ;
+ $base_directories = "$base_directories$sep$path_directories";
+ $base_directories =~ s{\.?[\]>][\[<]\.?}{.};
$path = $self->catpath( $base_volume, $base_directories, $path_file );
}
@@ -1014,10 +555,6 @@ sub rel2abs {
#
# Update: MakeMaker 6.48 is still using these routines on VMS.
# so they need to be kept up to date with ExtUtils::MM_VMS.
-#
-# The traditional VMS mode using ODS-2 disks depends on these routines
-# being here. These routines should not be called in when the
-# C<DECC$EFS_CHARSET> or C<DECC$FILENAME_UNIX_REPORT> modes are enabled.
sub eliminate_macros {
my($self,$path) = @_;
diff --git a/Master/tlpkg/tlperl/lib/File/Spec/Win32.pm b/Master/tlpkg/tlperl/lib/File/Spec/Win32.pm
index 28d8510ccf6..39f5a8bb95a 100644
--- a/Master/tlpkg/tlperl/lib/File/Spec/Win32.pm
+++ b/Master/tlpkg/tlperl/lib/File/Spec/Win32.pm
@@ -5,8 +5,8 @@ use strict;
use vars qw(@ISA $VERSION);
require File::Spec::Unix;
-$VERSION = '3.33';
-$VERSION = eval $VERSION;
+$VERSION = '3.39_02';
+$VERSION =~ tr/_//;
@ISA = qw(File::Spec::Unix);
@@ -189,7 +189,8 @@ sub canonpath {
=item splitpath
($volume,$directories,$file) = File::Spec->splitpath( $path );
- ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );
+ ($volume,$directories,$file) = File::Spec->splitpath( $path,
+ $no_file );
Splits a path into volume, directory, and filename portions. Assumes that
the last file is a path unless the path ends in '\\', '\\.', '\\..'
@@ -231,7 +232,7 @@ sub splitpath {
=item splitdir
-The opposite of L<catdir()|File::Spec/catdir()>.
+The opposite of L<catdir()|File::Spec/catdir>.
@dirs = File::Spec->splitdir( $directories );
diff --git a/Master/tlpkg/tlperl/lib/Filter/Simple.pm b/Master/tlpkg/tlperl/lib/Filter/Simple.pm
index 2edd798adf3..b0068037f3f 100644
--- a/Master/tlpkg/tlperl/lib/Filter/Simple.pm
+++ b/Master/tlpkg/tlperl/lib/Filter/Simple.pm
@@ -4,7 +4,7 @@ use Text::Balanced ':ALL';
use vars qw{ $VERSION @EXPORT };
-$VERSION = '0.86';
+$VERSION = '0.88';
use Filter::Util::Call;
use Carp;
@@ -36,22 +36,31 @@ my $CUT = qr/\n=cut.*$EOP/;
my $pod_or_DATA = qr/
^=(?:head[1-4]|item) .*? $CUT
| ^=pod .*? $CUT
- | ^=for .*? $EOP
- | ^=begin \s* (\S+) .*? \n=end \s* \1 .*? $EOP
+ | ^=for .*? $CUT
+ | ^=begin .*? $CUT
| ^__(DATA|END)__\r?\n.*
/smx;
+my $variable = qr{
+ [\$*\@%]\s*
+ \{\s*(?!::)(?:\d+|[][&`'#+*./|,";%=~:?!\@<>()-]|\^[A-Z]?)\}
+ | (?:\$#?|[*\@\%]|\\&)\$*\s*
+ (?: \{\s*(?:\^(?=[A-Z_]))?(?:\w|::|'\w)*\s*\}
+ | (?:\^(?=[A-Z_]))?(?:\w|::|'\w)*
+ | (?=\{) # ${ block }
+ )
+ )
+ | \$\s*(?!::)(?:\d+|[][&`'#+*./|,";%=~:?!\@<>()-]|\^[A-Z]?)
+ }x;
my %extractor_for = (
- quotelike => [ $ws, \&extract_variable, $id, { MATCH => \&extract_quotelike } ],
+ quotelike => [ $ws, $variable, $id, { MATCH => \&extract_quotelike } ],
regex => [ $ws, $pod_or_DATA, $id, $exql ],
string => [ $ws, $pod_or_DATA, $id, $exql ],
- code => [ $ws, { DONT_MATCH => $pod_or_DATA },
- \&extract_variable,
+ code => [ $ws, { DONT_MATCH => $pod_or_DATA }, $variable,
$id, { DONT_MATCH => \&extract_quotelike } ],
code_no_comments
=> [ { DONT_MATCH => $comment },
- $ncws, { DONT_MATCH => $pod_or_DATA },
- \&extract_variable,
+ $ncws, { DONT_MATCH => $pod_or_DATA }, $variable,
$id, { DONT_MATCH => \&extract_quotelike } ],
executable => [ $ws, { DONT_MATCH => $pod_or_DATA } ],
executable_no_comments
diff --git a/Master/tlpkg/tlperl/lib/Filter/Util/Call.pm b/Master/tlpkg/tlperl/lib/Filter/Util/Call.pm
index 1d1b2618f0e..a502575a615 100644
--- a/Master/tlpkg/tlperl/lib/Filter/Util/Call.pm
+++ b/Master/tlpkg/tlperl/lib/Filter/Util/Call.pm
@@ -1,7 +1,7 @@
# Call.pm
#
-# Copyright (c) 1995-2009 Paul Marquess. All rights reserved.
+# Copyright (c) 1995-2011 Paul Marquess. All rights reserved.
#
# This program is free software; you can redistribute it and/or
# modify it under the same terms as Perl itself.
@@ -18,7 +18,7 @@ use vars qw($VERSION @ISA @EXPORT) ;
@ISA = qw(Exporter DynaLoader);
@EXPORT = qw( filter_add filter_del filter_read filter_read_exact) ;
-$VERSION = "1.08" ;
+$VERSION = "1.40" ;
sub filter_read_exact($)
{
@@ -483,8 +483,7 @@ Filter::Util::Call. Although it doesn't allow the fine control that
Filter::Util::Call does, it should be adequate for the majority of
applications. It's available at
- http://www.cpan.org/modules/by-author/Damian_Conway/Filter-Simple.tar.gz
- http://www.csse.monash.edu.au/~damian/CPAN/Filter-Simple.tar.gz
+ http://search.cpan.org/dist/Filter-Simple/
=head1 AUTHOR
diff --git a/Master/tlpkg/tlperl/lib/FindBin.pm b/Master/tlpkg/tlperl/lib/FindBin.pm
index 892d6e5d93a..cf6ecf29040 100644
--- a/Master/tlpkg/tlperl/lib/FindBin.pm
+++ b/Master/tlpkg/tlperl/lib/FindBin.pm
@@ -59,21 +59,6 @@ workaround was to force the C<BEGIN> block to be executed again:
delete $INC{'FindBin.pm'};
require FindBin;
-=head1 KNOWN BUGS
-
-If perl is invoked as
-
- perl filename
-
-and I<filename> does not have executable rights and a program called
-I<filename> exists in the users C<$ENV{PATH}> which satisfies both B<-x>
-and B<-T> then FindBin assumes that it was invoked via the
-C<$ENV{PATH}>.
-
-Workaround is to invoke perl as
-
- perl ./filename
-
=head1 AUTHORS
FindBin is supported as part of the core perl distribution. Please send bug
@@ -103,7 +88,7 @@ use File::Spec;
%EXPORT_TAGS = (ALL => [qw($Bin $Script $RealBin $RealScript $Dir $RealDir)]);
@ISA = qw(Exporter);
-$VERSION = "1.50";
+$VERSION = "1.51";
# needed for VMS-specific filename translation
@@ -145,30 +130,6 @@ sub init
}
else
{
- my $dosish = ($^O eq 'MSWin32' or $^O eq 'os2');
- unless(($script =~ m#/# || ($dosish && $script =~ m#\\#))
- && -f $script)
- {
- my $dir;
- foreach $dir (File::Spec->path)
- {
- my $scr = File::Spec->catfile($dir, $script);
-
- # $script can been found via PATH but perl could have
- # been invoked as 'perl file'. Do a dumb check to see
- # if $script is a perl program, if not then keep $script = $0
- #
- # well we actually only check that it is an ASCII file
- # we know its executable so it is probably a script
- # of some sort.
- if(-f $scr && -r _ && ($dosish || -x _) && -s _ && -T _)
- {
- $script = $scr;
- last;
- }
- }
- }
-
croak("Cannot find current script '$0'") unless(-f $script);
# Ensure $script contains the complete path in case we C<chdir>
diff --git a/Master/tlpkg/tlperl/lib/Getopt/Std.pm b/Master/tlpkg/tlperl/lib/Getopt/Std.pm
index 823bc4dd910..d4ce9a35eee 100644
--- a/Master/tlpkg/tlperl/lib/Getopt/Std.pm
+++ b/Master/tlpkg/tlperl/lib/Getopt/Std.pm
@@ -72,7 +72,7 @@ and version_mess() with the switches string as an argument.
@ISA = qw(Exporter);
@EXPORT = qw(getopt getopts);
-$VERSION = '1.06';
+$VERSION = '1.07';
# uncomment the next line to disable 1.03-backward compatibility paranoia
# $STANDARD_HELP_VERSION = 1;
@@ -147,7 +147,7 @@ sub try_exit () {
my $p = __PACKAGE__;
print {output_h()} <<EOM;
[Now continuing due to backward compatibility and excessive paranoia.
- See ``perldoc $p'' about \$$p\::STANDARD_HELP_VERSION.]
+ See 'perldoc $p' about \$$p\::STANDARD_HELP_VERSION.]
EOM
}
diff --git a/Master/tlpkg/tlperl/lib/HTTP/Tiny.pm b/Master/tlpkg/tlperl/lib/HTTP/Tiny.pm
index b4f6bd733c5..46dce742e38 100644
--- a/Master/tlpkg/tlperl/lib/HTTP/Tiny.pm
+++ b/Master/tlpkg/tlperl/lib/HTTP/Tiny.pm
@@ -1,19 +1,9 @@
# vim: ts=4 sts=4 sw=4 et:
-#
-# This file is part of HTTP-Tiny
-#
-# This software is copyright (c) 2011 by Christian Hansen.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
package HTTP::Tiny;
-BEGIN {
- $HTTP::Tiny::VERSION = '0.012';
-}
use strict;
use warnings;
# ABSTRACT: A small, simple, correct HTTP/1.1 client
+our $VERSION = '0.017'; # VERSION
use Carp ();
@@ -40,36 +30,76 @@ sub new {
for my $key ( @attributes ) {
$self->{$key} = $args{$key} if exists $args{$key}
}
+
+ # Never override proxy argument as this breaks backwards compat.
+ if (!exists $self->{proxy} && (my $http_proxy = $ENV{http_proxy})) {
+ if ($http_proxy =~ m{\Ahttp://[^/?#:@]+:\d+/?\z}) {
+ $self->{proxy} = $http_proxy;
+ }
+ else {
+ Carp::croak(qq{Environment 'http_proxy' must be in format http://<host>:<port>/\n});
+ }
+ }
+
return bless $self, $class;
}
-sub get {
- my ($self, $url, $args) = @_;
- @_ == 2 || (@_ == 3 && ref $args eq 'HASH')
- or Carp::croak(q/Usage: $http->get(URL, [HASHREF])/);
- return $self->request('GET', $url, $args || {});
+for my $sub_name ( qw/get head put post delete/ ) {
+ my $req_method = uc $sub_name;
+ no strict 'refs';
+ eval <<"HERE"; ## no critic
+ sub $sub_name {
+ my (\$self, \$url, \$args) = \@_;
+ \@_ == 2 || (\@_ == 3 && ref \$args eq 'HASH')
+ or Carp::croak(q/Usage: \$http->$sub_name(URL, [HASHREF])/ . "\n");
+ return \$self->request('$req_method', \$url, \$args || {});
+ }
+HERE
+}
+
+
+sub post_form {
+ my ($self, $url, $data, $args) = @_;
+ (@_ == 3 || @_ == 4 && ref $args eq 'HASH')
+ or Carp::croak(q/Usage: $http->post_form(URL, DATAREF, [HASHREF])/ . "\n");
+
+ my $headers = {};
+ while ( my ($key, $value) = each %{$args->{headers} || {}} ) {
+ $headers->{lc $key} = $value;
+ }
+ delete $args->{headers};
+
+ return $self->request('POST', $url, {
+ %$args,
+ content => $self->www_form_urlencode($data),
+ headers => {
+ %$headers,
+ 'content-type' => 'application/x-www-form-urlencoded'
+ },
+ }
+ );
}
sub mirror {
my ($self, $url, $file, $args) = @_;
@_ == 3 || (@_ == 4 && ref $args eq 'HASH')
- or Carp::croak(q/Usage: $http->mirror(URL, FILE, [HASHREF])/);
+ or Carp::croak(q/Usage: $http->mirror(URL, FILE, [HASHREF])/ . "\n");
if ( -e $file and my $mtime = (stat($file))[9] ) {
$args->{headers}{'if-modified-since'} ||= $self->_http_date($mtime);
}
my $tempfile = $file . int(rand(2**31));
open my $fh, ">", $tempfile
- or Carp::croak(qq/Error: Could not open temporary file $tempfile for downloading: $!/);
+ or Carp::croak(qq/Error: Could not open temporary file $tempfile for downloading: $!\n/);
binmode $fh;
$args->{data_callback} = sub { print {$fh} $_[0] };
my $response = $self->request('GET', $url, $args);
close $fh
- or Carp::croak(qq/Error: Could not close temporary file $tempfile: $!/);
+ or Carp::croak(qq/Error: Could not close temporary file $tempfile: $!\n/);
if ( $response->{success} ) {
rename $tempfile, $file
- or Carp::croak "Error replacing $file with $tempfile: $!\n";
+ or Carp::croak(qq/Error replacing $file with $tempfile: $!\n/);
my $lm = $response->{headers}{'last-modified'};
if ( $lm and my $mtime = $self->_parse_http_date($lm) ) {
utime $mtime, $mtime, $file;
@@ -86,7 +116,7 @@ my %idempotent = map { $_ => 1 } qw/GET HEAD PUT DELETE OPTIONS TRACE/;
sub request {
my ($self, $method, $url, $args) = @_;
@_ == 3 || (@_ == 4 && ref $args eq 'HASH')
- or Carp::croak(q/Usage: $http->request(METHOD, URL, [HASHREF])/);
+ or Carp::croak(q/Usage: $http->request(METHOD, URL, [HASHREF])/ . "\n");
$args ||= {}; # we keep some state in this during _request
# RFC 2616 Section 8.1.4 mandates a single retry on broken socket
@@ -112,6 +142,36 @@ sub request {
return $response;
}
+
+sub www_form_urlencode {
+ my ($self, $data) = @_;
+ (@_ == 2 && ref $data)
+ or Carp::croak(q/Usage: $http->www_form_urlencode(DATAREF)/ . "\n");
+ (ref $data eq 'HASH' || ref $data eq 'ARRAY')
+ or Carp::croak("form data must be a hash or array reference");
+
+ my @params = ref $data eq 'HASH' ? %$data : @$data;
+ @params % 2 == 0
+ or Carp::croak("form data reference must have an even number of terms\n");
+
+ my @terms;
+ while( @params ) {
+ my ($key, $value) = splice(@params, 0, 2);
+ if ( ref $value eq 'ARRAY' ) {
+ unshift @params, map { $key => $_ } @$value;
+ }
+ else {
+ push @terms, join("=", map { $self->_uri_escape($_) } $key, $value);
+ }
+ }
+
+ return join("&", sort @terms);
+}
+
+#--------------------------------------------------------------------------#
+# private methods
+#--------------------------------------------------------------------------#
+
my %DefaultPort = (
http => 80,
https => 443,
@@ -134,7 +194,7 @@ sub _request {
if ($self->{proxy}) {
$request->{uri} = "$scheme://$request->{host_port}$path_query";
- croak(qq/HTTPS via proxy is not supported/)
+ die(qq/HTTPS via proxy is not supported\n/)
if $request->{scheme} eq 'https';
$handle->connect(($self->_split_url($self->{proxy}))[0..2]);
}
@@ -192,7 +252,7 @@ sub _prepare_headers_and_cb {
my $content = $args->{content};
if ( $] ge '5.008' ) {
utf8::downgrade($content, 1)
- or Carp::croak(q/Wide character in request message body/);
+ or die(qq/Wide character in request message body\n/);
}
$request->{headers}{'content-length'} = length $content
unless $request->{headers}{'content-length'}
@@ -246,7 +306,7 @@ sub _split_url {
# URI regex adapted from the URI module
my ($scheme, $authority, $path_query) = $url =~ m<\A([^:/?#]+)://([^/?#]*)([^#]*)>
- or Carp::croak(qq/Cannot parse URL: '$url'/);
+ or die(qq/Cannot parse URL: '$url'\n/);
$scheme = lc $scheme;
$path_query = "/$path_query" unless $path_query =~ m<\A/>;
@@ -293,16 +353,36 @@ sub _parse_http_date {
};
}
+# URI escaping adapted from URI::Escape
+# c.f. http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.1
+# perl 5.6 ready UTF-8 encoding adapted from JSON::PP
+my %escapes = map { chr($_) => sprintf("%%%02X", $_) } 0..255;
+$escapes{' '}="+";
+my $unsafe_char = qr/[^A-Za-z0-9\-\._~]/;
+
+sub _uri_escape {
+ my ($self, $str) = @_;
+ if ( $] ge '5.008' ) {
+ utf8::encode($str);
+ }
+ else {
+ $str = pack("U*", unpack("C*", $str)) # UTF-8 encode a byte string
+ if ( length $str == do { use bytes; length $str } );
+ $str = pack("C*", unpack("C*", $str)); # clear UTF-8 flag
+ }
+ $str =~ s/($unsafe_char)/$escapes{$1}/ge;
+ return $str;
+}
+
package
HTTP::Tiny::Handle; # hide from PAUSE/indexers
use strict;
use warnings;
-use Carp qw[croak];
use Errno qw[EINTR EPIPE];
use IO::Socket qw[SOCK_STREAM];
-sub BUFSIZE () { 32768 }
+sub BUFSIZE () { 32768 } ## no critic
my $Printable = sub {
local $_ = shift;
@@ -333,17 +413,17 @@ my $ssl_verify_args = {
};
sub connect {
- @_ == 4 || croak(q/Usage: $handle->connect(scheme, host, port)/);
+ @_ == 4 || die(q/Usage: $handle->connect(scheme, host, port)/ . "\n");
my ($self, $scheme, $host, $port) = @_;
if ( $scheme eq 'https' ) {
eval "require IO::Socket::SSL"
unless exists $INC{'IO/Socket/SSL.pm'};
- croak(qq/IO::Socket::SSL must be installed for https support\n/)
+ die(qq/IO::Socket::SSL must be installed for https support\n/)
unless $INC{'IO/Socket/SSL.pm'};
}
elsif ( $scheme ne 'http' ) {
- croak(qq/Unsupported URL scheme '$scheme'/);
+ die(qq/Unsupported URL scheme '$scheme'\n/);
}
$self->{fh} = 'IO::Socket::INET'->new(
@@ -352,10 +432,10 @@ sub connect {
Proto => 'tcp',
Type => SOCK_STREAM,
Timeout => $self->{timeout}
- ) or croak(qq/Could not connect to '$host:$port': $@/);
+ ) or die(qq/Could not connect to '$host:$port': $@\n/);
binmode($self->{fh})
- or croak(qq/Could not binmode() socket: '$!'/);
+ or die(qq/Could not binmode() socket: '$!'\n/);
if ( $scheme eq 'https') {
IO::Socket::SSL->start_SSL($self->{fh});
@@ -372,19 +452,19 @@ sub connect {
}
sub close {
- @_ == 1 || croak(q/Usage: $handle->close()/);
+ @_ == 1 || die(q/Usage: $handle->close()/ . "\n");
my ($self) = @_;
CORE::close($self->{fh})
- or croak(qq/Could not close socket: '$!'/);
+ or die(qq/Could not close socket: '$!'\n/);
}
sub write {
- @_ == 2 || croak(q/Usage: $handle->write(buf)/);
+ @_ == 2 || die(q/Usage: $handle->write(buf)/ . "\n");
my ($self, $buf) = @_;
if ( $] ge '5.008' ) {
utf8::downgrade($buf, 1)
- or croak(q/Wide character in write()/);
+ or die(qq/Wide character in write()\n/);
}
my $len = length $buf;
@@ -394,7 +474,7 @@ sub write {
while () {
$self->can_write
- or croak(q/Timed out while waiting for socket to become ready for writing/);
+ or die(qq/Timed out while waiting for socket to become ready for writing\n/);
my $r = syswrite($self->{fh}, $buf, $len, $off);
if (defined $r) {
$len -= $r;
@@ -402,17 +482,17 @@ sub write {
last unless $len > 0;
}
elsif ($! == EPIPE) {
- croak(qq/Socket closed by remote server: $!/);
+ die(qq/Socket closed by remote server: $!\n/);
}
elsif ($! != EINTR) {
- croak(qq/Could not write to socket: '$!'/);
+ die(qq/Could not write to socket: '$!'\n/);
}
}
return $off;
}
sub read {
- @_ == 2 || @_ == 3 || croak(q/Usage: $handle->read(len [, allow_partial])/);
+ @_ == 2 || @_ == 3 || die(q/Usage: $handle->read(len [, allow_partial])/ . "\n");
my ($self, $len, $allow_partial) = @_;
my $buf = '';
@@ -426,24 +506,24 @@ sub read {
while ($len > 0) {
$self->can_read
- or croak(q/Timed out while waiting for socket to become ready for reading/);
+ or die(q/Timed out while waiting for socket to become ready for reading/ . "\n");
my $r = sysread($self->{fh}, $buf, $len, length $buf);
if (defined $r) {
last unless $r;
$len -= $r;
}
elsif ($! != EINTR) {
- croak(qq/Could not read from socket: '$!'/);
+ die(qq/Could not read from socket: '$!'\n/);
}
}
if ($len && !$allow_partial) {
- croak(q/Unexpected end of stream/);
+ die(qq/Unexpected end of stream\n/);
}
return $buf;
}
sub readline {
- @_ == 1 || croak(q/Usage: $handle->readline()/);
+ @_ == 1 || die(q/Usage: $handle->readline()/ . "\n");
my ($self) = @_;
while () {
@@ -451,23 +531,23 @@ sub readline {
return $1;
}
if (length $self->{rbuf} >= $self->{max_line_size}) {
- croak(qq/Line size exceeds the maximum allowed size of $self->{max_line_size}/);
+ die(qq/Line size exceeds the maximum allowed size of $self->{max_line_size}\n/);
}
$self->can_read
- or croak(q/Timed out while waiting for socket to become ready for reading/);
+ or die(qq/Timed out while waiting for socket to become ready for reading\n/);
my $r = sysread($self->{fh}, $self->{rbuf}, BUFSIZE, length $self->{rbuf});
if (defined $r) {
last unless $r;
}
elsif ($! != EINTR) {
- croak(qq/Could not read from socket: '$!'/);
+ die(qq/Could not read from socket: '$!'\n/);
}
}
- croak(q/Unexpected end of stream while looking for line/);
+ die(qq/Unexpected end of stream while looking for line\n/);
}
sub read_header_lines {
- @_ == 1 || @_ == 2 || croak(q/Usage: $handle->read_header_lines([headers])/);
+ @_ == 1 || @_ == 2 || die(q/Usage: $handle->read_header_lines([headers])/ . "\n");
my ($self, $headers) = @_;
$headers ||= {};
my $lines = 0;
@@ -477,7 +557,7 @@ sub read_header_lines {
my $line = $self->readline;
if (++$lines >= $self->{max_header_lines}) {
- croak(qq/Header lines exceeds maximum number allowed of $self->{max_header_lines}/);
+ die(qq/Header lines exceeds maximum number allowed of $self->{max_header_lines}\n/);
}
elsif ($line =~ /\A ([^\x00-\x1F\x7F:]+) : [\x09\x20]* ([^\x0D\x0A]*)/x) {
my ($field_name) = lc $1;
@@ -494,7 +574,7 @@ sub read_header_lines {
}
elsif ($line =~ /\A [\x09\x20]+ ([^\x0D\x0A]*)/x) {
$val
- or croak(q/Unexpected header continuation line/);
+ or die(qq/Unexpected header continuation line\n/);
next unless length $1;
$$val .= ' ' if length $$val;
$$val .= $1;
@@ -503,14 +583,14 @@ sub read_header_lines {
last;
}
else {
- croak(q/Malformed header line: / . $Printable->($line));
+ die(q/Malformed header line: / . $Printable->($line) . "\n");
}
}
return $headers;
}
sub write_request {
- @_ == 2 || croak(q/Usage: $handle->write_request(request)/);
+ @_ == 2 || die(q/Usage: $handle->write_request(request)/ . "\n");
my($self, $request) = @_;
$self->write_request_header(@{$request}{qw/method uri headers/});
$self->write_body($request) if $request->{cb};
@@ -526,7 +606,7 @@ my %HeaderCase = (
);
sub write_header_lines {
- (@_ == 2 && ref $_[1] eq 'HASH') || croak(q/Usage: $handle->write_header_lines(headers)/);
+ (@_ == 2 && ref $_[1] eq 'HASH') || die(q/Usage: $handle->write_header_lines(headers)/ . "\n");
my($self, $headers) = @_;
my $buf = '';
@@ -537,13 +617,13 @@ sub write_header_lines {
}
else {
$field_name =~ /\A $Token+ \z/xo
- or croak(q/Invalid HTTP header field name: / . $Printable->($field_name));
+ or die(q/Invalid HTTP header field name: / . $Printable->($field_name) . "\n");
$field_name =~ s/\b(\w)/\u$1/g;
$HeaderCase{lc $field_name} = $field_name;
}
for (ref $v eq 'ARRAY' ? @$v : $v) {
/[^\x0D\x0A]/
- or croak(qq/Invalid HTTP header field value ($field_name): / . $Printable->($_));
+ or die(qq/Invalid HTTP header field value ($field_name): / . $Printable->($_). "\n");
$buf .= "$field_name: $_\x0D\x0A";
}
}
@@ -552,7 +632,7 @@ sub write_header_lines {
}
sub read_body {
- @_ == 3 || croak(q/Usage: $handle->read_body(callback, response)/);
+ @_ == 3 || die(q/Usage: $handle->read_body(callback, response)/ . "\n");
my ($self, $cb, $response) = @_;
my $te = $response->{headers}{'transfer-encoding'} || '';
if ( grep { /chunked/i } ( ref $te eq 'ARRAY' ? @$te : $te ) ) {
@@ -565,7 +645,7 @@ sub read_body {
}
sub write_body {
- @_ == 2 || croak(q/Usage: $handle->write_body(request)/);
+ @_ == 2 || die(q/Usage: $handle->write_body(request)/ . "\n");
my ($self, $request) = @_;
if ($request->{headers}{'content-length'}) {
return $self->write_content_body($request);
@@ -576,7 +656,7 @@ sub write_body {
}
sub read_content_body {
- @_ == 3 || @_ == 4 || croak(q/Usage: $handle->read_content_body(callback, response, [read_length])/);
+ @_ == 3 || @_ == 4 || die(q/Usage: $handle->read_content_body(callback, response, [read_length])/ . "\n");
my ($self, $cb, $response, $content_length) = @_;
$content_length ||= $response->{headers}{'content-length'};
@@ -597,7 +677,7 @@ sub read_content_body {
}
sub write_content_body {
- @_ == 2 || croak(q/Usage: $handle->write_content_body(request)/);
+ @_ == 2 || die(q/Usage: $handle->write_content_body(request)/ . "\n");
my ($self, $request) = @_;
my ($len, $content_length) = (0, $request->{headers}{'content-length'});
@@ -609,27 +689,27 @@ sub write_content_body {
if ( $] ge '5.008' ) {
utf8::downgrade($data, 1)
- or croak(q/Wide character in write_content()/);
+ or die(qq/Wide character in write_content()\n/);
}
$len += $self->write($data);
}
$len == $content_length
- or croak(qq/Content-Length missmatch (got: $len expected: $content_length)/);
+ or die(qq/Content-Length missmatch (got: $len expected: $content_length)\n/);
return $len;
}
sub read_chunked_body {
- @_ == 3 || croak(q/Usage: $handle->read_chunked_body(callback, $response)/);
+ @_ == 3 || die(q/Usage: $handle->read_chunked_body(callback, $response)/ . "\n");
my ($self, $cb, $response) = @_;
while () {
my $head = $self->readline;
$head =~ /\A ([A-Fa-f0-9]+)/x
- or croak(q/Malformed chunk head: / . $Printable->($head));
+ or die(q/Malformed chunk head: / . $Printable->($head) . "\n");
my $len = hex($1)
or last;
@@ -637,14 +717,14 @@ sub read_chunked_body {
$self->read_content_body($cb, $response, $len);
$self->read(2) eq "\x0D\x0A"
- or croak(q/Malformed chunk: missing CRLF after chunk data/);
+ or die(qq/Malformed chunk: missing CRLF after chunk data\n/);
}
$self->read_header_lines($response->{headers});
return;
}
sub write_chunked_body {
- @_ == 2 || croak(q/Usage: $handle->write_chunked_body(request)/);
+ @_ == 2 || die(q/Usage: $handle->write_chunked_body(request)/ . "\n");
my ($self, $request) = @_;
my $len = 0;
@@ -656,7 +736,7 @@ sub write_chunked_body {
if ( $] ge '5.008' ) {
utf8::downgrade($data, 1)
- or croak(q/Wide character in write_chunked_body()/);
+ or die(qq/Wide character in write_chunked_body()\n/);
}
$len += length $data;
@@ -675,17 +755,17 @@ sub write_chunked_body {
}
sub read_response_header {
- @_ == 1 || croak(q/Usage: $handle->read_response_header()/);
+ @_ == 1 || die(q/Usage: $handle->read_response_header()/ . "\n");
my ($self) = @_;
my $line = $self->readline;
$line =~ /\A (HTTP\/(0*\d+\.0*\d+)) [\x09\x20]+ ([0-9]{3}) [\x09\x20]+ ([^\x0D\x0A]*) \x0D?\x0A/x
- or croak(q/Malformed Status-Line: / . $Printable->($line));
+ or die(q/Malformed Status-Line: / . $Printable->($line). "\n");
my ($protocol, $version, $status, $reason) = ($1, $2, $3, $4);
- croak (qq/Unsupported HTTP protocol: $protocol/)
+ die (qq/Unsupported HTTP protocol: $protocol\n/)
unless $version =~ /0*1\.0*[01]/;
return {
@@ -697,7 +777,7 @@ sub read_response_header {
}
sub write_request_header {
- @_ == 4 || croak(q/Usage: $handle->write_request_header(method, request_uri, headers)/);
+ @_ == 4 || die(q/Usage: $handle->write_request_header(method, request_uri, headers)/ . "\n");
my ($self, $method, $request_uri, $headers) = @_;
return $self->write("$method $request_uri HTTP/1.1\x0D\x0A")
@@ -711,7 +791,7 @@ sub _do_timeout {
my $fd = fileno $self->{fh};
defined $fd && $fd >= 0
- or croak(q/select(2): 'Bad file descriptor'/);
+ or die(qq/select(2): 'Bad file descriptor'\n/);
my $initial = time;
my $pending = $timeout;
@@ -725,7 +805,7 @@ sub _do_timeout {
: select(undef, $fdset, undef, $pending) ;
if ($nfound == -1) {
$! == EINTR
- or croak(qq/select(2): '$!'/);
+ or die(qq/select(2): '$!'\n/);
redo if !$timeout || ($pending = $timeout - (time - $initial)) > 0;
$nfound = 0;
}
@@ -736,13 +816,13 @@ sub _do_timeout {
}
sub can_read {
- @_ == 1 || @_ == 2 || croak(q/Usage: $handle->can_read([timeout])/);
+ @_ == 1 || @_ == 2 || die(q/Usage: $handle->can_read([timeout])/ . "\n");
my $self = shift;
return $self->_do_timeout('read', @_)
}
sub can_write {
- @_ == 1 || @_ == 2 || croak(q/Usage: $handle->can_write([timeout])/);
+ @_ == 1 || @_ == 2 || die(q/Usage: $handle->can_write([timeout])/ . "\n");
my $self = shift;
return $self->_do_timeout('write', @_)
}
@@ -760,7 +840,7 @@ HTTP::Tiny - A small, simple, correct HTTP/1.1 client
=head1 VERSION
-version 0.012
+version 0.017
=head1 SYNOPSIS
@@ -782,7 +862,7 @@ version 0.012
=head1 DESCRIPTION
-This is a very simple HTTP/1.1 client, designed primarily for doing simple GET
+This is a very simple HTTP/1.1 client, designed for doing simple GET
requests without the overhead of a large framework like L<LWP::UserAgent>.
It is more correct and more complete than L<HTTP::Lite>. It supports
@@ -801,52 +881,74 @@ This constructor returns a new HTTP::Tiny object. Valid attributes include:
=item *
-agent
+C<agent>
A user-agent string (defaults to 'HTTP::Tiny/$VERSION')
=item *
-default_headers
+C<default_headers>
A hashref of default headers to apply to requests
=item *
-max_redirect
+C<max_redirect>
Maximum number of redirects allowed (defaults to 5)
=item *
-max_size
+C<max_size>
Maximum response size (only when not using a data callback). If defined,
-responses larger than this will die with an error message
+responses larger than this will return an exception.
=item *
-proxy
+C<proxy>
-URL of a proxy server to use.
+URL of a proxy server to use (default is C<$ENV{http_proxy}> if set)
=item *
-timeout
+C<timeout>
Request timeout in seconds (default is 60)
=back
-=head2 get
+Exceptions from C<max_size>, C<timeout> or other errors will result in a
+pseudo-HTTP status code of 599 and a reason of "Internal Exception". The
+content field in the response will contain the text of the exception.
+
+=head2 get|head|put|post|delete
$response = $http->get($url);
$response = $http->get($url, \%options);
+ $response = $http->head($url);
+
+These methods are shorthand for calling C<request()> for the given method. The
+URL must have unsafe characters escaped and international domain names encoded.
+See C<request()> for valid options and a description of the response.
+
+The C<success> field of the response will be true if the status code is 2XX.
+
+=head2 post_form
-Executes a C<GET> request for the given URL. The URL must have unsafe
-characters escaped and international domain names encoded. Internally, it just
-calls C<request()> with 'GET' as the method. See C<request()> for valid
-options and a description of the response.
+ $response = $http->post_form($url, $form_data);
+ $response = $http->post_form($url, $form_data, \%options);
+
+This method executes a C<POST> request and sends the key/value pairs from a
+form data hash or array reference to the given URL with a C<content-type> of
+C<application/x-www-form-urlencoded>. See documentation for the
+C<www_form_urlencode> method for details on the encoding.
+
+The URL must have unsafe characters escaped and international domain names
+encoded. See C<request()> for valid options and a description of the response.
+Any C<content-type> header or content in the options hashref will be ignored.
+
+The C<success> field of the response will be true if the status code is 2XX.
=head2 mirror
@@ -859,11 +961,11 @@ Executes a C<GET> request for the URL and saves the response body to the file
name provided. The URL must have unsafe characters escaped and international
domain names encoded. If the file already exists, the request will includes an
C<If-Modified-Since> header with the modification timestamp of the file. You
-may specificy a different C<If-Modified-Since> header yourself in the C<<
+may specify a different C<If-Modified-Since> header yourself in the C<<
$options->{headers} >> hash.
The C<success> field of the response will be true if the status code is 2XX
-or 304 (unmodified).
+or if the status code is 304 (unmodified).
If the file was modified and the server response includes a properly
formatted C<Last-Modified> header, the file modification time will
@@ -969,6 +1071,18 @@ it will otherwise be a scalar string containing the value
On an exception during the execution of the request, the C<status> field will
contain 599, and the C<content> field will contain the text of the exception.
+=head2 www_form_urlencode
+
+ $params = $http->www_form_urlencode( $data );
+ $response = $http->get("http://example.com/query?$params");
+
+This method converts the key/value pairs from a data hash or array reference
+into a C<x-www-form-urlencoded> string. The keys and values from the data
+reference will be UTF-8 encoded and escaped per RFC 3986. If a value is an
+array reference, the key will be repeated with each of the values of the array
+reference. The key/value pairs in the resulting string will be sorted by key
+and value.
+
=for Pod::Coverage agent
default_headers
max_redirect
@@ -1009,7 +1123,7 @@ mandated by the specification. There is no automatic support for status 305
=item *
-Persistant connections are not supported. The C<Connection> header will
+Persistent connections are not supported. The C<Connection> header will
always be set to C<close>.
=item *
@@ -1027,7 +1141,9 @@ inappropriately re-transmitted.
=item *
-Proxy environment variables are not supported.
+Only the C<http_proxy> environment variable is supported in the format
+C<http://HOST:PORT/>. If a C<proxy> argument is passed to C<new> (including
+undef), then the C<http_proxy> environment variable is ignored.
=item *
@@ -1060,18 +1176,18 @@ L<LWP::UserAgent>
=head2 Bugs / Feature Requests
-Please report any bugs or feature requests by email to C<bug-http-tiny at rt.cpan.org>, or through
-the web interface at L<http://rt.cpan.org/Public/Dist/Display.html?Name=HTTP-Tiny>. You will be automatically notified of any
-progress on the request by the system.
+Please report any bugs or feature requests through the issue tracker
+at L<http://rt.cpan.org/Public/Dist/Display.html?Name=HTTP-Tiny>.
+You will be notified automatically of any progress on your issue.
=head2 Source Code
This is open source software. The code repository is available for
public review and contribution under the terms of the license.
-L<http://github.com/dagolden/p5-http-tiny/tree>
+L<https://github.com/dagolden/p5-http-tiny>
- git clone git://github.com/dagolden/p5-http-tiny.git
+ git clone https://github.com/dagolden/p5-http-tiny.git
=head1 AUTHORS
@@ -1089,7 +1205,7 @@ David Golden <dagolden@cpan.org>
=head1 COPYRIGHT AND LICENSE
-This software is copyright (c) 2011 by Christian Hansen.
+This software is copyright (c) 2012 by Christian Hansen.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
diff --git a/Master/tlpkg/tlperl/lib/Hash/Util/FieldHash.pm b/Master/tlpkg/tlperl/lib/Hash/Util/FieldHash.pm
index a13ea856d54..4f833fffb40 100644
--- a/Master/tlpkg/tlperl/lib/Hash/Util/FieldHash.pm
+++ b/Master/tlpkg/tlperl/lib/Hash/Util/FieldHash.pm
@@ -5,7 +5,7 @@ use strict;
use warnings;
use Scalar::Util qw( reftype);
-our $VERSION = '1.09';
+our $VERSION = '1.10';
require Exporter;
our @ISA = qw(Exporter);
@@ -103,7 +103,7 @@ Returns the reference address of a reference $obj. If $obj is
not a reference, returns $obj.
This function is a stand-in replacement for
-L<Scalar::Util::refaddr|Scalar::Util/refaddr>, that is, it returns
+L<Scalar::Util::refaddr|Scalar::Util/refaddr EXPR>, that is, it returns
the reference address of its argument as a numeric value. The only
difference is that C<refaddr()> returns C<undef> when given a
non-reference while C<id()> returns its argument unchanged.
@@ -217,7 +217,7 @@ in this technique, classes that can advertise themselves as "Put me
on your @ISA list and use my methods". If the other class has different
ideas about how the object body is used, there is trouble.
-For reference L<Name_hash> in L<Example 1> shows the standard implementation of
+For reference C<Name_hash> in L</Example 1> shows the standard implementation of
a simple class C<Name> in the well-known hash based way. It also demonstrates
the predictable failure to construct a common subclass C<NamedFile>
of C<Name> and the class C<IO::File> (whose objects I<must> be globrefs).
@@ -231,8 +231,8 @@ With I<inside-out> classes, each class declares a (typically lexical)
hash for each field it wants to use. The reference address of an
object is used as the hash key. By definition, the reference address
is unique to each object so this guarantees a place for each field that
-is private to the class and unique to each object. See L<Name_id> in
-L<Example 1> for a simple example.
+is private to the class and unique to each object. See C<Name_id>
+in L</Example 1> for a simple example.
In comparison to the standard implementation where the object is a
hash and the fields correspond to hash keys, here the fields correspond
@@ -494,7 +494,7 @@ class.
=item * C<Name_idhash>
-Idhash-based inside-out implementation. Like L<Name_id> it needs
+Idhash-based inside-out implementation. Like C<Name_id> it needs
a C<DESTROY> method and would need C<CLONE> for thread support.
=item * C<Name_id_reg>
diff --git a/Master/tlpkg/tlperl/lib/I18N/LangTags.pm b/Master/tlpkg/tlperl/lib/I18N/LangTags.pm
index efc12c226d8..6815a8549c8 100644
--- a/Master/tlpkg/tlperl/lib/I18N/LangTags.pm
+++ b/Master/tlpkg/tlperl/lib/I18N/LangTags.pm
@@ -19,7 +19,7 @@ require Exporter;
);
%EXPORT_TAGS = ('ALL' => \@EXPORT_OK);
-$VERSION = "0.35_01";
+$VERSION = "0.38";
sub uniq { my %seen; return grep(!($seen{$_}++), @_); } # a util function
@@ -579,16 +579,16 @@ tag ("ar") exists.
Examples:
- alternate_language_tags('no-bok') is ('nb')
- alternate_language_tags('nb') is ('no-bok')
- alternate_language_tags('he') is ('iw')
- alternate_language_tags('iw') is ('he')
- alternate_language_tags('i-hakka') is ('zh-hakka', 'x-hakka')
- alternate_language_tags('zh-hakka') is ('i-hakka', 'x-hakka')
- alternate_language_tags('en') is ()
- alternate_language_tags('x-mingo-tom') is ('i-mingo-tom')
- alternate_language_tags('x-klikitat') is ('i-klikitat')
- alternate_language_tags('i-klikitat') is ('x-klikitat')
+ alternate_language_tags('no-bok') is ('nb')
+ alternate_language_tags('nb') is ('no-bok')
+ alternate_language_tags('he') is ('iw')
+ alternate_language_tags('iw') is ('he')
+ alternate_language_tags('i-hakka') is ('zh-hakka', 'x-hakka')
+ alternate_language_tags('zh-hakka') is ('i-hakka', 'x-hakka')
+ alternate_language_tags('en') is ()
+ alternate_language_tags('x-mingo-tom') is ('i-mingo-tom')
+ alternate_language_tags('x-klikitat') is ('i-klikitat')
+ alternate_language_tags('i-klikitat') is ('x-klikitat')
This function returns empty-list if given anything other than a formally
valid language tag.
@@ -844,17 +844,17 @@ language tags with their ASCII characters shifted into Plane 14.
* L<I18N::LangTags::List|I18N::LangTags::List>
-* RFC 3066, C<ftp://ftp.isi.edu/in-notes/rfc3066.txt>, "Tags for the
+* RFC 3066, C<http://www.ietf.org/rfc/rfc3066.txt>, "Tags for the
Identification of Languages". (Obsoletes RFC 1766)
-* RFC 2277, C<ftp://ftp.isi.edu/in-notes/rfc2277.txt>, "IETF Policy on
+* RFC 2277, C<http://www.ietf.org/rfc/rfc2277.txt>, "IETF Policy on
Character Sets and Languages".
-* RFC 2231, C<ftp://ftp.isi.edu/in-notes/rfc2231.txt>, "MIME Parameter
+* RFC 2231, C<http://www.ietf.org/rfc/rfc2231.txt>, "MIME Parameter
Value and Encoded Word Extensions: Character Sets, Languages, and
Continuations".
-* RFC 2482, C<ftp://ftp.isi.edu/in-notes/rfc2482.txt>,
+* RFC 2482, C<http://www.ietf.org/rfc/rfc2482.txt>,
"Language Tagging in Unicode Plain Text".
* Locale::Codes, in
@@ -862,7 +862,7 @@ C<http://www.perl.com/CPAN/modules/by-module/Locale/>
* ISO 639-2, "Codes for the representation of names of languages",
including two-letter and three-letter codes,
-C<http://www.loc.gov/standards/iso639-2/langcodes.html>
+C<http://www.loc.gov/standards/iso639-2/php/code_list.php>
* The IANA list of registered languages (hopefully up-to-date),
C<http://www.iana.org/assignments/language-tags>
diff --git a/Master/tlpkg/tlperl/lib/IO.pm b/Master/tlpkg/tlperl/lib/IO.pm
index d6ccbfb1faa..e6f5567b9f0 100644
--- a/Master/tlpkg/tlperl/lib/IO.pm
+++ b/Master/tlpkg/tlperl/lib/IO.pm
@@ -7,7 +7,7 @@ use Carp;
use strict;
use warnings;
-our $VERSION = "1.25_04";
+our $VERSION = "1.25_06";
XSLoader::load 'IO', $VERSION;
sub import {
@@ -32,8 +32,8 @@ IO - load various IO modules
=head1 SYNOPSIS
- use IO qw(Handle File); # loads IO modules, here IO::Handle, IO::File
- use IO; # DEPRECATED
+ use IO qw(Handle File); # loads IO modules, here IO::Handle, IO::File
+ use IO; # DEPRECATED
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm
index c3718d1f0df..452e12ef483 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Bzip2.pm
@@ -4,13 +4,12 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.033 qw(:Status);
+use IO::Compress::Base::Common 2.048 qw(:Status);
-#use Compress::Bzip2 ;
-use Compress::Raw::Bzip2 2.033 ;
+use Compress::Raw::Bzip2 2.048 ;
our ($VERSION);
-$VERSION = '2.033';
+$VERSION = '2.048';
sub mkCompObject
{
@@ -18,11 +17,12 @@ sub mkCompObject
my $WorkFactor = shift ;
my $Verbosity = shift ;
+ $BlockSize100K = 1 if ! defined $BlockSize100K ;
+ $WorkFactor = 0 if ! defined $WorkFactor ;
+ $Verbosity = 0 if ! defined $Verbosity ;
+
my ($def, $status) = new Compress::Raw::Bzip2(1, $BlockSize100K,
$WorkFactor, $Verbosity);
- #my ($def, $status) = bzdeflateInit();
- #-BlockSize100K => $params->value('BlockSize100K'),
- #-WorkFactor => $params->value('WorkFactor');
return (undef, "Could not create Deflate object: $status", $status)
if $status != BZ_OK ;
@@ -39,7 +39,6 @@ sub compr
my $def = $self->{Def};
- #my ($out, $status) = $def->bzdeflate(defined ${$_[0]} ? ${$_[0]} : "") ;
my $status = $def->bzdeflate($_[0], $_[1]) ;
$self->{ErrorNo} = $status;
@@ -49,8 +48,6 @@ sub compr
return STATUS_ERROR;
}
- #${ $_[1] } .= $out if defined $out;
-
return STATUS_OK;
}
@@ -60,8 +57,6 @@ sub flush
my $def = $self->{Def};
- #my ($out, $status) = $def->bzflush($opt);
- #my $status = $def->bzflush($_[0], $opt);
my $status = $def->bzflush($_[0]);
$self->{ErrorNo} = $status;
@@ -71,7 +66,6 @@ sub flush
return STATUS_ERROR;
}
- #${ $_[0] } .= $out if defined $out ;
return STATUS_OK;
}
@@ -82,7 +76,6 @@ sub close
my $def = $self->{Def};
- #my ($out, $status) = $def->bzclose();
my $status = $def->bzclose($_[0]);
$self->{ErrorNo} = $status;
@@ -92,7 +85,6 @@ sub close
return STATUS_ERROR;
}
- #${ $_[0] } .= $out if defined $out ;
return STATUS_OK;
}
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm
index 33e56d08a04..4a99c36cf7e 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Deflate.pm
@@ -4,12 +4,18 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.033 qw(:Status);
-
-use Compress::Raw::Zlib 2.033 qw(Z_OK Z_FINISH MAX_WBITS) ;
-our ($VERSION);
-
-$VERSION = '2.033';
+use IO::Compress::Base::Common 2.048 qw(:Status);
+use Compress::Raw::Zlib 2.048 qw( !crc32 !adler32 ) ;
+
+require Exporter;
+our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, @EXPORT, %DEFLATE_CONSTANTS);
+
+$VERSION = '2.048';
+@ISA = qw(Exporter);
+@EXPORT_OK = @Compress::Raw::Zlib::DEFLATE_CONSTANTS;
+%EXPORT_TAGS = %Compress::Raw::Zlib::DEFLATE_CONSTANTS;
+@EXPORT = @EXPORT_OK;
+%DEFLATE_CONSTANTS = %EXPORT_TAGS ;
sub mkCompObject
{
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm
index 21a0be41080..c7a0031a1d4 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Adapter/Identity.pm
@@ -4,10 +4,10 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.033 qw(:Status);
+use IO::Compress::Base::Common 2.048 qw(:Status);
our ($VERSION);
-$VERSION = '2.033';
+$VERSION = '2.048';
sub mkCompObject
{
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Base.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Base.pm
index d0d585ce761..2137bbb8de2 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Base.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Base.pm
@@ -1,26 +1,26 @@
package IO::Compress::Base ;
-require 5.004 ;
+require 5.006 ;
use strict ;
use warnings;
-use IO::Compress::Base::Common 2.033 ;
+use IO::Compress::Base::Common 2.048 ;
-use IO::File ;
+use IO::File qw(SEEK_SET SEEK_END); ;
use Scalar::Util qw(blessed readonly);
#use File::Glob;
#require Exporter ;
-use Carp ;
-use Symbol;
+use Carp() ;
+use Symbol();
use bytes;
our (@ISA, $VERSION);
@ISA = qw(Exporter IO::File);
-$VERSION = '2.033';
+$VERSION = '2.048';
#Can't locate object method "SWASHNEW" via package "utf8" (perhaps you forgot to load "utf8"?) at .../ext/Compress-Zlib/Gzip/blib/lib/Compress/Zlib/Common.pm line 16.
@@ -48,7 +48,7 @@ sub croakError
{
my $self = shift ;
$self->saveErrorString(0, $_[0]);
- croak $_[0];
+ Carp::croak $_[0];
}
sub closeError
@@ -106,6 +106,14 @@ sub writeAt
return 1;
}
+sub outputPayload
+{
+
+ my $self = shift ;
+ return $self->output(@_);
+}
+
+
sub output
{
my $self = shift ;
@@ -115,9 +123,9 @@ sub output
return 1
if length $data == 0 && ! $last ;
- if ( *$self->{FilterEnvelope} ) {
+ if ( *$self->{FilterContainer} ) {
*_ = \$data;
- &{ *$self->{FilterEnvelope} }();
+ &{ *$self->{FilterContainer} }();
}
if (length $data) {
@@ -155,7 +163,7 @@ sub checkParams
'Append' => [1, 1, Parse_boolean, 0],
'BinModeIn' => [1, 1, Parse_boolean, 0],
- 'FilterEnvelope' => [1, 1, Parse_any, undef],
+ 'FilterContainer' => [1, 1, Parse_code, undef],
$self->getExtraParams(),
*$self->{OneShot} ? $self->getOneShotParams()
@@ -206,7 +214,7 @@ sub _create
my $merge = $got->value('Merge') ;
my $appendOutput = $got->value('Append') || $merge ;
*$obj->{Append} = $appendOutput;
- *$obj->{FilterEnvelope} = $got->value('FilterEnvelope') ;
+ *$obj->{FilterContainer} = $got->value('FilterContainer') ;
if ($merge)
{
@@ -275,6 +283,7 @@ sub _create
*$obj->{Header} = $obj->mkHeader($got) ;
$obj->output( *$obj->{Header} )
or return undef;
+ $obj->beforePayload();
}
else
{
@@ -392,7 +401,7 @@ sub _def
# finally the 1 to 1 and n to 1
return $obj->_singleTarget($x, 1, $input, $output, @_);
- croak "should not be here" ;
+ Carp::croak "should not be here" ;
}
sub _singleTarget
@@ -405,7 +414,7 @@ sub _singleTarget
if ($x->{oneInput})
{
$obj->getFileInfo($x->{Got}, $input)
- if isaFilename($input) and $inputIsFilename ;
+ if isaScalar($input) || (isaFilename($input) and $inputIsFilename) ;
my $z = $obj->_create($x->{Got}, @_)
or return undef ;
@@ -435,7 +444,7 @@ sub _singleTarget
else
{
$obj->getFileInfo($x->{Got}, $element)
- if $isFilename;
+ if isaScalar($element) || $isFilename;
$obj->_create($x->{Got}, @_)
or return undef ;
@@ -504,7 +513,7 @@ sub _wr2
return $count ;
}
- croak "Should not be here";
+ Carp::croak "Should not be here";
return undef;
}
@@ -518,7 +527,7 @@ sub addInterStream
{
$self->getFileInfo(*$self->{Got}, $input)
#if isaFilename($input) and $inputIsFilename ;
- if isaFilename($input) ;
+ if isaScalar($input) || isaFilename($input) ;
# TODO -- newStream needs to allow gzip/zip header to be modified
return $self->newStream();
@@ -581,7 +590,7 @@ sub syswrite
}
$] >= 5.008 and ( utf8::downgrade($$buffer, 1)
- or croak "Wide character in " . *$self->{ClassName} . "::write:");
+ or Carp::croak "Wide character in " . *$self->{ClassName} . "::write:");
if (@_ > 1) {
@@ -625,7 +634,7 @@ sub syswrite
*$self->{CompSize}->add(length $outBuffer) ;
- $self->output($outBuffer)
+ $self->outputPayload($outBuffer)
or return undef;
return $buffer_length;
@@ -679,7 +688,7 @@ sub flush
*$self->{CompSize}->add(length $outBuffer) ;
- $self->output($outBuffer)
+ $self->outputPayload($outBuffer)
or return 0;
if ( defined *$self->{FH} ) {
@@ -690,16 +699,18 @@ sub flush
return 1;
}
-sub newStream
+sub beforePayload
+{
+}
+
+sub _newStream
{
my $self = shift ;
-
+ my $got = shift;
+
$self->_writeTrailer()
or return 0 ;
- my $got = $self->checkParams('newStream', *$self->{Got}, @_)
- or return 0 ;
-
$self->ckParams($got)
or $self->croakError("newStream: $self->{Error}");
@@ -713,9 +724,35 @@ sub newStream
*$self->{UnCompSize}->reset();
*$self->{CompSize}->reset();
+ $self->beforePayload();
+
return 1 ;
}
+sub newStream
+{
+ my $self = shift ;
+
+ my $got = $self->checkParams('newStream', *$self->{Got}, @_)
+ or return 0 ;
+
+ $self->_newStream($got);
+
+# *$self->{Compress} = $self->mkComp($got)
+# or return 0;
+#
+# *$self->{Header} = $self->mkHeader($got) ;
+# $self->output(*$self->{Header} )
+# or return 0;
+#
+# *$self->{UnCompSize}->reset();
+# *$self->{CompSize}->reset();
+#
+# $self->beforePayload();
+#
+# return 1 ;
+}
+
sub reset
{
my $self = shift ;
@@ -913,7 +950,7 @@ sub input_line_number
sub _notAvailable
{
my $name = shift ;
- return sub { croak "$name Not Available: File opened only for output" ; } ;
+ return sub { Carp::croak "$name Not Available: File opened only for output" ; } ;
}
*read = _notAvailable('read');
@@ -958,7 +995,7 @@ purpose if to to be sub-classed by IO::Compress modules.
L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
L<Archive::Tar|Archive::Tar>,
@@ -974,7 +1011,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2012 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm
index 1b38c59846a..c6c38181ef8 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Base/Common.pm
@@ -11,15 +11,20 @@ use File::GlobMapper;
require Exporter;
our ($VERSION, @ISA, @EXPORT, %EXPORT_TAGS, $HAS_ENCODE);
@ISA = qw(Exporter);
-$VERSION = '2.033';
+$VERSION = '2.048';
-@EXPORT = qw( isaFilehandle isaFilename whatIsInput whatIsOutput
+@EXPORT = qw( isaFilehandle isaFilename isaScalar
+ whatIsInput whatIsOutput
isaFileGlobString cleanFileGlobString oneTarget
setBinModeInput setBinModeOutput
ckInOutParams
createSelfTiedObject
getEncoding
+ isGeMax32
+
+ MAX32
+
WANT_CODE
WANT_EXT
WANT_UNDEF
@@ -42,7 +47,16 @@ use constant STATUS_OK => 0;
use constant STATUS_ENDSTREAM => 1;
use constant STATUS_EOF => 2;
use constant STATUS_ERROR => -1;
+use constant MAX16 => 0xFFFF ;
+use constant MAX32 => 0xFFFFFFFF ;
+use constant MAX32cmp => 0xFFFFFFFF + 1 - 1; # for 5.6.x on 32-bit need to force an non-IV value
+
+sub isGeMax32
+{
+ return $_[0] >= MAX32cmp ;
+}
+
sub hasEncode()
{
if (! defined $HAS_ENCODE) {
@@ -106,6 +120,11 @@ sub isaFilehandle($)
)
}
+sub isaScalar
+{
+ return ( defined($_[0]) and ref($_[0]) eq 'SCALAR' and defined ${ $_[0] } ) ;
+}
+
sub isaFilename($)
{
return (defined $_[0] and
@@ -451,7 +470,8 @@ sub createSelfTiedObject
$EXPORT_TAGS{Parse} = [qw( ParseParameters
Parse_any Parse_unsigned Parse_signed
- Parse_boolean Parse_custom Parse_string
+ Parse_boolean Parse_string
+ Parse_code
Parse_multiple Parse_writable_scalar
)
];
@@ -463,7 +483,7 @@ use constant Parse_unsigned => 0x02;
use constant Parse_signed => 0x04;
use constant Parse_boolean => 0x08;
use constant Parse_string => 0x10;
-use constant Parse_custom => 0x12;
+use constant Parse_code => 0x20;
#use constant Parse_store_ref => 0x100 ;
use constant Parse_multiple => 0x100 ;
@@ -499,6 +519,7 @@ sub ParseParameters
#package IO::Compress::Base::Parameters;
use strict;
+
use warnings;
use Carp;
@@ -741,6 +762,13 @@ sub IO::Compress::Base::Parameters::_checkType
$$output = defined $value ? $value != 0 : 0 ;
return 1;
}
+ elsif ($type & Parse_code)
+ {
+ return $self->setError("Parameter '$key' must be a code reference, got '$value'")
+ if $validate && (! defined $value || ref $value ne 'CODE') ;
+ $$output = defined $value ? $value : "" ;
+ return 1;
+ }
elsif ($type & Parse_string)
{
$$output = defined $value ? $value : "" ;
@@ -901,9 +929,13 @@ sub add
$self->[HIGH] += $value->[HIGH] ;
$value = $value->[LOW];
}
+ elsif ($value > MAX32) {
+ $self->[HIGH] += int($value / HI_1) ;
+ $value = $value % HI_1;
+ }
my $available = MAX32 - $self->[LOW] ;
-
+
if ($value > $available) {
++ $self->[HIGH] ;
$self->[LOW] = $value - $available - 1;
@@ -911,7 +943,33 @@ sub add
else {
$self->[LOW] += $value ;
}
+}
+
+sub subtract
+{
+ my $self = shift;
+ my $value = shift;
+ if (ref $value eq 'U64') {
+
+ if ($value->[HIGH]) {
+ die "bad"
+ if $self->[HIGH] == 0 ||
+ $value->[HIGH] > $self->[HIGH] ;
+
+ $self->[HIGH] -= $value->[HIGH] ;
+ }
+
+ $value = $value->[LOW] ;
+ }
+
+ if ($value > $self->[LOW]) {
+ -- $self->[HIGH] ;
+ $self->[LOW] = MAX32 - $value + $self->[LOW] + 1 ;
+ }
+ else {
+ $self->[LOW] -= $value;
+ }
}
sub equal
@@ -923,12 +981,40 @@ sub equal
$self->[HIGH] == $other->[HIGH] ;
}
+sub gt
+{
+ my $self = shift;
+ my $other = shift;
+
+ return $self->cmp($other) > 0 ;
+}
+
+sub cmp
+{
+ my $self = shift;
+ my $other = shift ;
+
+ if ($self->[LOW] == $other->[LOW]) {
+ return $self->[HIGH] - $other->[HIGH] ;
+ }
+ else {
+ return $self->[LOW] - $other->[LOW] ;
+ }
+}
+
+
sub is64bit
{
my $self = shift;
return $self->[HIGH] > 0 ;
}
+sub isAlmost64bit
+{
+ my $self = shift;
+ return $self->[HIGH] > 0 || $self->[LOW] == MAX32 ;
+}
+
sub getPacked_V64
{
my $self = shift;
@@ -951,6 +1037,21 @@ sub pack_V64
}
+sub full32
+{
+ return $_[0] == MAX32 ;
+}
+
+sub Value_VV64
+{
+ my $buffer = shift;
+
+ my ($lo, $hi) = unpack ("V V" , $buffer);
+ no warnings 'uninitialized';
+ return $hi * HI_1 + $lo;
+}
+
+
package IO::Compress::Base::Common;
1;
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm
index 5d478d91bd2..dd9016bf834 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Bzip2.pm
@@ -5,16 +5,16 @@ use warnings;
use bytes;
require Exporter ;
-use IO::Compress::Base 2.033 ;
+use IO::Compress::Base 2.048 ;
-use IO::Compress::Base::Common 2.033 qw(createSelfTiedObject);
-use IO::Compress::Adapter::Bzip2 2.033 ;
+use IO::Compress::Base::Common 2.048 qw(createSelfTiedObject);
+use IO::Compress::Adapter::Bzip2 2.048 ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bzip2Error);
-$VERSION = '2.033';
+$VERSION = '2.048';
$Bzip2Error = '';
@ISA = qw(Exporter IO::Compress::Base);
@@ -51,7 +51,7 @@ sub getExtraParams
{
my $self = shift ;
- use IO::Compress::Base::Common 2.033 qw(:Parse);
+ use IO::Compress::Base::Common 2.048 qw(:Parse);
return (
'BlockSize100K' => [0, 1, Parse_unsigned, 1],
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Deflate.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Deflate.pm
index 20329bb4284..daa7d7aa258 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Deflate.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Deflate.pm
@@ -1,26 +1,29 @@
package IO::Compress::Deflate ;
+require 5.006 ;
+
use strict ;
use warnings;
use bytes;
require Exporter ;
-use IO::Compress::RawDeflate 2.033 ;
+use IO::Compress::RawDeflate 2.048 ();
+use IO::Compress::Adapter::Deflate 2.048 ;
-use Compress::Raw::Zlib 2.033 ;
-use IO::Compress::Zlib::Constants 2.033 ;
-use IO::Compress::Base::Common 2.033 qw(createSelfTiedObject);
+use IO::Compress::Zlib::Constants 2.048 ;
+use IO::Compress::Base::Common 2.048 qw(createSelfTiedObject);
-our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $DeflateError);
+our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $DeflateError);
-$VERSION = '2.033';
+$VERSION = '2.048';
$DeflateError = '';
@ISA = qw(Exporter IO::Compress::RawDeflate);
@EXPORT_OK = qw( $DeflateError deflate ) ;
%EXPORT_TAGS = %IO::Compress::RawDeflate::DEFLATE_CONSTANTS ;
+
push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
Exporter::export_ok_tags('all');
@@ -774,7 +777,7 @@ If the C<$z> object is associated with a file or a filehandle, C<fileno>
will return the underlying file descriptor. Once the C<close> method is
called C<fileno> will return C<undef>.
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
C<undef>.
=head2 close
@@ -884,8 +887,6 @@ These symbolic constants are used by the C<Strategy> option in the constructor.
See L<IO::Compress::FAQ|IO::Compress::FAQ/"Apache::GZip Revisited">
-
-
=head2 Working with Net::FTP
See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP">
@@ -894,7 +895,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP">
L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
L<Archive::Tar|Archive::Tar>,
@@ -923,7 +924,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2012 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/FAQ.pod b/Master/tlpkg/tlperl/lib/IO/Compress/FAQ.pod
new file mode 100644
index 00000000000..d392ff2cc91
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/FAQ.pod
@@ -0,0 +1,597 @@
+
+=head1 NAME
+
+IO::Compress::FAQ -- Frequently Asked Questions about IO::Compress
+
+=head1 DESCRIPTION
+
+Common questions answered.
+
+=head1 GENERAL
+
+=head2 Compatibility with Unix compress/uncompress.
+
+Although C<Compress::Zlib> has a pair of functions called C<compress> and
+C<uncompress>, they are I<not> related to the Unix programs of the same
+name. The C<Compress::Zlib> module is not compatible with Unix
+C<compress>.
+
+If you have the C<uncompress> program available, you can use this to read
+compressed files
+
+ open F, "uncompress -c $filename |";
+ while (<F>)
+ {
+ ...
+
+Alternatively, if you have the C<gunzip> program available, you can use
+this to read compressed files
+
+ open F, "gunzip -c $filename |";
+ while (<F>)
+ {
+ ...
+
+and this to write compress files, if you have the C<compress> program
+available
+
+ open F, "| compress -c $filename ";
+ print F "data";
+ ...
+ close F ;
+
+=head2 Accessing .tar.Z files
+
+The C<Archive::Tar> module can optionally use C<Compress::Zlib> (via the
+C<IO::Zlib> module) to access tar files that have been compressed with
+C<gzip>. Unfortunately tar files compressed with the Unix C<compress>
+utility cannot be read by C<Compress::Zlib> and so cannot be directly
+accessed by C<Archive::Tar>.
+
+If the C<uncompress> or C<gunzip> programs are available, you can use one
+of these workarounds to read C<.tar.Z> files from C<Archive::Tar>
+
+Firstly with C<uncompress>
+
+ use strict;
+ use warnings;
+ use Archive::Tar;
+
+ open F, "uncompress -c $filename |";
+ my $tar = Archive::Tar->new(*F);
+ ...
+
+and this with C<gunzip>
+
+ use strict;
+ use warnings;
+ use Archive::Tar;
+
+ open F, "gunzip -c $filename |";
+ my $tar = Archive::Tar->new(*F);
+ ...
+
+Similarly, if the C<compress> program is available, you can use this to
+write a C<.tar.Z> file
+
+ use strict;
+ use warnings;
+ use Archive::Tar;
+ use IO::File;
+
+ my $fh = new IO::File "| compress -c >$filename";
+ my $tar = Archive::Tar->new();
+ ...
+ $tar->write($fh);
+ $fh->close ;
+
+=head2 How do I recompress using a different compression?
+
+This is easier that you might expect if you realise that all the
+C<IO::Compress::*> objects are derived from C<IO::File> and that all the
+C<IO::Uncompress::*> modules can read from an C<IO::File> filehandle.
+
+So, for example, say you have a file compressed with gzip that you want to
+recompress with bzip2. Here is all that is needed to carry out the
+recompression.
+
+ use IO::Uncompress::Gunzip ':all';
+ use IO::Compress::Bzip2 ':all';
+
+ my $gzipFile = "somefile.gz";
+ my $bzipFile = "somefile.bz2";
+
+ my $gunzip = new IO::Uncompress::Gunzip $gzipFile
+ or die "Cannot gunzip $gzipFile: $GunzipError\n" ;
+
+ bzip2 $gunzip => $bzipFile
+ or die "Cannot bzip2 to $bzipFile: $Bzip2Error\n" ;
+
+Note, there is a limitation of this technique. Some compression file
+formats store extra information along with the compressed data payload. For
+example, gzip can optionally store the original filename and Zip stores a
+lot of information about the original file. If the original compressed file
+contains any of this extra information, it will not be transferred to the
+new compressed file usign the technique above.
+
+=head1 ZIP
+
+=head2 What Compression Types do IO::Compress::Zip & IO::Uncompress::Unzip support?
+
+The following compression formats are supported by C<IO::Compress::Zip> and
+C<IO::Uncompress::Unzip>
+
+=over 5
+
+=item * Store (method 0)
+
+No compression at all.
+
+=item * Deflate (method 8)
+
+This is the default compression used when creating a zip file with
+C<IO::Compress::Zip>.
+
+=item * Bzip2 (method 12)
+
+Only supported if the C<IO-Compress-Bzip2> module is installed.
+
+=item * Lzma (method 14)
+
+Only supported if the C<IO-Compress-Lzma> module is installed.
+
+=back
+
+=head2 Can I Read/Write Zip files larger the 4 Gig?
+
+Yes, both the C<IO-Compress-Zip> and C<IO-Uncompress-Unzip> modules
+support the zip feature called I<Zip64>. That allows them to read/write
+files/buffers larger than 4Gig.
+
+If you are creating a Zip file using the one-shot interface, and any of the
+input files is greater than 4Gig, a zip64 complaint zip file will be
+created.
+
+ zip "really-large-file" => "my.zip";
+
+Similarly with the one-shot interface, if the input is a buffer larger than
+4 Gig, a zip64 complaint zip file will be created.
+
+ zip \$really_large_buffer => "my.zip";
+
+The one-shot interface allows you to force the creation of a zip64 zip file
+by including the C<Zip64> option.
+
+ zip $filehandle => "my.zip", Zip64 => 1;
+
+If you want to create a zip64 zip file with the OO interface you must
+specify the C<Zip64> option.
+
+ my $zip = new IO::Compress::Zip "whatever", Zip64 => 1;
+
+When uncompressing with C<IO-Uncompress-Unzip>, it will automatically
+detect if the zip file is zip64.
+
+If you intend to manipulate the Zip64 zip files created with
+C<IO-Compress-Zip> using an external zip/unzip, make sure that it supports
+Zip64.
+
+In particular, if you are using Info-Zip you need to have zip version 3.x
+or better to update a Zip64 archive and unzip version 6.x to read a zip64
+archive.
+
+=head2 Zip Resources
+
+The primary reference for zip files is the "appnote" document available at
+L<http://www.pkware.com/documents/casestudies/APPNOTE.TXT>
+
+An alternatively is the Info-Zip appnote. This is available from
+L<ftp://ftp.info-zip.org/pub/infozip/doc/>
+
+=head1 GZIP
+
+=head2 Gzip Resources
+
+The primary reference for gzip files is RFC 1952
+L<http://www.faqs.org/rfcs/rfc1952.html>
+
+The primary site for gzip is F<http://www.gzip.org>.
+
+=head1 ZLIB
+
+=head2 Zlib Resources
+
+The primary site for the I<zlib> compression library is
+F<http://www.zlib.org>.
+
+=head1 HTTP & NETWORK
+
+=head2 Apache::GZip Revisited
+
+Below is a mod_perl Apache compression module, called C<Apache::GZip>,
+taken from
+F<http://perl.apache.org/docs/tutorials/tips/mod_perl_tricks/mod_perl_tricks.html#On_the_Fly_Compression>
+
+ package Apache::GZip;
+ #File: Apache::GZip.pm
+
+ use strict vars;
+ use Apache::Constants ':common';
+ use Compress::Zlib;
+ use IO::File;
+ use constant GZIP_MAGIC => 0x1f8b;
+ use constant OS_MAGIC => 0x03;
+
+ sub handler {
+ my $r = shift;
+ my ($fh,$gz);
+ my $file = $r->filename;
+ return DECLINED unless $fh=IO::File->new($file);
+ $r->header_out('Content-Encoding'=>'gzip');
+ $r->send_http_header;
+ return OK if $r->header_only;
+
+ tie *STDOUT,'Apache::GZip',$r;
+ print($_) while <$fh>;
+ untie *STDOUT;
+ return OK;
+ }
+
+ sub TIEHANDLE {
+ my($class,$r) = @_;
+ # initialize a deflation stream
+ my $d = deflateInit(-WindowBits=>-MAX_WBITS()) || return undef;
+
+ # gzip header -- don't ask how I found out
+ $r->print(pack("nccVcc",GZIP_MAGIC,Z_DEFLATED,0,time(),0,OS_MAGIC));
+
+ return bless { r => $r,
+ crc => crc32(undef),
+ d => $d,
+ l => 0
+ },$class;
+ }
+
+ sub PRINT {
+ my $self = shift;
+ foreach (@_) {
+ # deflate the data
+ my $data = $self->{d}->deflate($_);
+ $self->{r}->print($data);
+ # keep track of its length and crc
+ $self->{l} += length($_);
+ $self->{crc} = crc32($_,$self->{crc});
+ }
+ }
+
+ sub DESTROY {
+ my $self = shift;
+
+ # flush the output buffers
+ my $data = $self->{d}->flush;
+ $self->{r}->print($data);
+
+ # print the CRC and the total length (uncompressed)
+ $self->{r}->print(pack("LL",@{$self}{qw/crc l/}));
+ }
+
+ 1;
+
+Here's the Apache configuration entry you'll need to make use of it. Once
+set it will result in everything in the /compressed directory will be
+compressed automagically.
+
+ <Location /compressed>
+ SetHandler perl-script
+ PerlHandler Apache::GZip
+ </Location>
+
+Although at first sight there seems to be quite a lot going on in
+C<Apache::GZip>, you could sum up what the code was doing as follows --
+read the contents of the file in C<< $r->filename >>, compress it and write
+the compressed data to standard output. That's all.
+
+This code has to jump through a few hoops to achieve this because
+
+=over
+
+=item 1.
+
+The gzip support in C<Compress::Zlib> version 1.x can only work with a real
+filesystem filehandle. The filehandles used by Apache modules are not
+associated with the filesystem.
+
+=item 2.
+
+That means all the gzip support has to be done by hand - in this case by
+creating a tied filehandle to deal with creating the gzip header and
+trailer.
+
+=back
+
+C<IO::Compress::Gzip> doesn't have that filehandle limitation (this was one
+of the reasons for writing it in the first place). So if
+C<IO::Compress::Gzip> is used instead of C<Compress::Zlib> the whole tied
+filehandle code can be removed. Here is the rewritten code.
+
+ package Apache::GZip;
+
+ use strict vars;
+ use Apache::Constants ':common';
+ use IO::Compress::Gzip;
+ use IO::File;
+
+ sub handler {
+ my $r = shift;
+ my ($fh,$gz);
+ my $file = $r->filename;
+ return DECLINED unless $fh=IO::File->new($file);
+ $r->header_out('Content-Encoding'=>'gzip');
+ $r->send_http_header;
+ return OK if $r->header_only;
+
+ my $gz = new IO::Compress::Gzip '-', Minimal => 1
+ or return DECLINED ;
+
+ print $gz $_ while <$fh>;
+
+ return OK;
+ }
+
+or even more succinctly, like this, using a one-shot gzip
+
+ package Apache::GZip;
+
+ use strict vars;
+ use Apache::Constants ':common';
+ use IO::Compress::Gzip qw(gzip);
+
+ sub handler {
+ my $r = shift;
+ $r->header_out('Content-Encoding'=>'gzip');
+ $r->send_http_header;
+ return OK if $r->header_only;
+
+ gzip $r->filename => '-', Minimal => 1
+ or return DECLINED ;
+
+ return OK;
+ }
+
+ 1;
+
+The use of one-shot C<gzip> above just reads from C<< $r->filename >> and
+writes the compressed data to standard output.
+
+Note the use of the C<Minimal> option in the code above. When using gzip
+for Content-Encoding you should I<always> use this option. In the example
+above it will prevent the filename being included in the gzip header and
+make the size of the gzip data stream a slight bit smaller.
+
+=head2 Compressed files and Net::FTP
+
+The C<Net::FTP> module provides two low-level methods called C<stor> and
+C<retr> that both return filehandles. These filehandles can used with the
+C<IO::Compress/Uncompress> modules to compress or uncompress files read
+from or written to an FTP Server on the fly, without having to create a
+temporary file.
+
+Firstly, here is code that uses C<retr> to uncompressed a file as it is
+read from the FTP Server.
+
+ use Net::FTP;
+ use IO::Uncompress::Gunzip qw(:all);
+
+ my $ftp = new Net::FTP ...
+
+ my $retr_fh = $ftp->retr($compressed_filename);
+ gunzip $retr_fh => $outFilename, AutoClose => 1
+ or die "Cannot uncompress '$compressed_file': $GunzipError\n";
+
+and this to compress a file as it is written to the FTP Server
+
+ use Net::FTP;
+ use IO::Compress::Gzip qw(:all);
+
+ my $stor_fh = $ftp->stor($filename);
+ gzip "filename" => $stor_fh, AutoClose => 1
+ or die "Cannot compress '$filename': $GzipError\n";
+
+=head1 MISC
+
+=head2 Using C<InputLength> to uncompress data embedded in a larger file/buffer.
+
+A fairly common use-case is where compressed data is embedded in a larger
+file/buffer and you want to read both.
+
+As an example consider the structure of a zip file. This is a well-defined
+file format that mixes both compressed and uncompressed sections of data in
+a single file.
+
+For the purposes of this discussion you can think of a zip file as sequence
+of compressed data streams, each of which is prefixed by an uncompressed
+local header. The local header contains information about the compressed
+data stream, including the name of the compressed file and, in particular,
+the length of the compressed data stream.
+
+To illustrate how to use C<InputLength> here is a script that walks a zip
+file and prints out how many lines are in each compressed file (if you
+intend write code to walking through a zip file for real see
+L<IO::Uncompress::Unzip/"Walking through a zip file"> ). Also, although
+this example uses the zlib-based compression, the technique can be used by
+the other C<IO::Uncompress::*> modules.
+
+ use strict;
+ use warnings;
+
+ use IO::File;
+ use IO::Uncompress::RawInflate qw(:all);
+
+ use constant ZIP_LOCAL_HDR_SIG => 0x04034b50;
+ use constant ZIP_LOCAL_HDR_LENGTH => 30;
+
+ my $file = $ARGV[0] ;
+
+ my $fh = new IO::File "<$file"
+ or die "Cannot open '$file': $!\n";
+
+ while (1)
+ {
+ my $sig;
+ my $buffer;
+
+ my $x ;
+ ($x = $fh->read($buffer, ZIP_LOCAL_HDR_LENGTH)) == ZIP_LOCAL_HDR_LENGTH
+ or die "Truncated file: $!\n";
+
+ my $signature = unpack ("V", substr($buffer, 0, 4));
+
+ last unless $signature == ZIP_LOCAL_HDR_SIG;
+
+ # Read Local Header
+ my $gpFlag = unpack ("v", substr($buffer, 6, 2));
+ my $compressedMethod = unpack ("v", substr($buffer, 8, 2));
+ my $compressedLength = unpack ("V", substr($buffer, 18, 4));
+ my $uncompressedLength = unpack ("V", substr($buffer, 22, 4));
+ my $filename_length = unpack ("v", substr($buffer, 26, 2));
+ my $extra_length = unpack ("v", substr($buffer, 28, 2));
+
+ my $filename ;
+ $fh->read($filename, $filename_length) == $filename_length
+ or die "Truncated file\n";
+
+ $fh->read($buffer, $extra_length) == $extra_length
+ or die "Truncated file\n";
+
+ if ($compressedMethod != 8 && $compressedMethod != 0)
+ {
+ warn "Skipping file '$filename' - not deflated $compressedMethod\n";
+ $fh->read($buffer, $compressedLength) == $compressedLength
+ or die "Truncated file\n";
+ next;
+ }
+
+ if ($compressedMethod == 0 && $gpFlag & 8 == 8)
+ {
+ die "Streamed Stored not supported for '$filename'\n";
+ }
+
+ next if $compressedLength == 0;
+
+ # Done reading the Local Header
+
+ my $inf = new IO::Uncompress::RawInflate $fh,
+ Transparent => 1,
+ InputLength => $compressedLength
+ or die "Cannot uncompress $file [$filename]: $RawInflateError\n" ;
+
+ my $line_count = 0;
+
+ while (<$inf>)
+ {
+ ++ $line_count;
+ }
+
+ print "$filename: $line_count\n";
+ }
+
+The majority of the code above is concerned with reading the zip local
+header data. The code that I want to focus on is at the bottom.
+
+ while (1) {
+
+ # read local zip header data
+ # get $filename
+ # get $compressedLength
+
+ my $inf = new IO::Uncompress::RawInflate $fh,
+ Transparent => 1,
+ InputLength => $compressedLength
+ or die "Cannot uncompress $file [$filename]: $RawInflateError\n" ;
+
+ my $line_count = 0;
+
+ while (<$inf>)
+ {
+ ++ $line_count;
+ }
+
+ print "$filename: $line_count\n";
+ }
+
+The call to C<IO::Uncompress::RawInflate> creates a new filehandle C<$inf>
+that can be used to read from the parent filehandle C<$fh>, uncompressing
+it as it goes. The use of the C<InputLength> option will guarantee that
+I<at most> C<$compressedLength> bytes of compressed data will be read from
+the C<$fh> filehandle (The only exception is for an error case like a
+truncated file or a corrupt data stream).
+
+This means that once RawInflate is finished C<$fh> will be left at the
+byte directly after the compressed data stream.
+
+Now consider what the code looks like without C<InputLength>
+
+ while (1) {
+
+ # read local zip header data
+ # get $filename
+ # get $compressedLength
+
+ # read all the compressed data into $data
+ read($fh, $data, $compressedLength);
+
+ my $inf = new IO::Uncompress::RawInflate \$data,
+ Transparent => 1,
+ or die "Cannot uncompress $file [$filename]: $RawInflateError\n" ;
+
+ my $line_count = 0;
+
+ while (<$inf>)
+ {
+ ++ $line_count;
+ }
+
+ print "$filename: $line_count\n";
+ }
+
+The difference here is the addition of the temporary variable C<$data>.
+This is used to store a copy of the compressed data while it is being
+uncompressed.
+
+If you know that C<$compressedLength> isn't that big then using temporary
+storage won't be a problem. But if C<$compressedLength> is very large or
+you are writing an application that other people will use, and so have no
+idea how big C<$compressedLength> will be, it could be an issue.
+
+Using C<InputLength> avoids the use of temporary storage and means the
+application can cope with large compressed data streams.
+
+One final point -- obviously C<InputLength> can only be used whenever you
+know the length of the compressed data beforehand, like here with a zip
+file.
+
+=head1 SEE ALSO
+
+L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
+
+L<IO::Compress::FAQ|IO::Compress::FAQ>
+
+L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
+L<Archive::Tar|Archive::Tar>,
+L<IO::Zlib|IO::Zlib>
+
+=head1 AUTHOR
+
+This module was written by Paul Marquess, F<pmqs@cpan.org>.
+
+=head1 MODIFICATION HISTORY
+
+See the Changes file.
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright (c) 2005-2012 Paul Marquess. All rights reserved.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Gzip.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Gzip.pm
index 2a7894257d4..6530c2532de 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Gzip.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Gzip.pm
@@ -1,19 +1,19 @@
-
package IO::Compress::Gzip ;
-require 5.004 ;
+require 5.006 ;
use strict ;
use warnings;
use bytes;
+require Exporter ;
-use IO::Compress::RawDeflate 2.033 ;
+use IO::Compress::RawDeflate 2.048 () ;
+use IO::Compress::Adapter::Deflate 2.048 ;
-use Compress::Raw::Zlib 2.033 ;
-use IO::Compress::Base::Common 2.033 qw(:Status :Parse createSelfTiedObject);
-use IO::Compress::Gzip::Constants 2.033 ;
-use IO::Compress::Zlib::Extra 2.033 ;
+use IO::Compress::Base::Common 2.048 qw(:Status :Parse isaScalar createSelfTiedObject);
+use IO::Compress::Gzip::Constants 2.048 ;
+use IO::Compress::Zlib::Extra 2.048 ;
BEGIN
{
@@ -23,16 +23,15 @@ BEGIN
{ *noUTF8 = sub {} }
}
-require Exporter ;
-
-our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $GzipError);
+our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $GzipError);
-$VERSION = '2.033';
+$VERSION = '2.048';
$GzipError = '' ;
@ISA = qw(Exporter IO::Compress::RawDeflate);
@EXPORT_OK = qw( $GzipError gzip ) ;
%EXPORT_TAGS = %IO::Compress::RawDeflate::DEFLATE_CONSTANTS ;
+
push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
Exporter::export_ok_tags('all');
@@ -178,6 +177,8 @@ sub getFileInfo
my $params = shift;
my $filename = shift ;
+ return if isaScalar($filename);
+
my $defaultTime = (stat($filename))[9] ;
$params->value('Name' => $filename)
@@ -256,7 +257,7 @@ sub mkHeader
}
# HEADER CRC
- $out .= pack("v", crc32($out) & 0x00FF ) if $param->value('HeaderCRC') ;
+ $out .= pack("v", Compress::Raw::Zlib::crc32($out) & 0x00FF ) if $param->value('HeaderCRC') ;
noUTF8($out);
@@ -1086,7 +1087,7 @@ If the C<$z> object is associated with a file or a filehandle, C<fileno>
will return the underlying file descriptor. Once the C<close> method is
called C<fileno> will return C<undef>.
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
C<undef>.
=head2 close
@@ -1196,8 +1197,6 @@ These symbolic constants are used by the C<Strategy> option in the constructor.
See L<IO::Compress::FAQ|IO::Compress::FAQ/"Apache::GZip Revisited">
-
-
=head2 Working with Net::FTP
See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP">
@@ -1206,7 +1205,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP">
L<Compress::Zlib>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
L<Archive::Tar|Archive::Tar>,
@@ -1235,7 +1234,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2012 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm
index ca74d738837..c218a31445c 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Gzip/Constants.pm
@@ -9,7 +9,7 @@ require Exporter;
our ($VERSION, @ISA, @EXPORT, %GZIP_OS_Names);
our ($GZIP_FNAME_INVALID_CHAR_RE, $GZIP_FCOMMENT_INVALID_CHAR_RE);
-$VERSION = '2.033';
+$VERSION = '2.048';
@ISA = qw(Exporter);
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm b/Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm
index bb077f989c9..883a4eb2f72 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/RawDeflate.pm
@@ -7,44 +7,23 @@ use warnings;
use bytes;
-use IO::Compress::Base 2.033 ;
-use IO::Compress::Base::Common 2.033 qw(:Status createSelfTiedObject);
-use IO::Compress::Adapter::Deflate 2.033 ;
+use IO::Compress::Base 2.048 ;
+use IO::Compress::Base::Common 2.048 qw(:Status createSelfTiedObject);
+use IO::Compress::Adapter::Deflate 2.048 ;
require Exporter ;
-
our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateError);
-$VERSION = '2.033';
+$VERSION = '2.048';
$RawDeflateError = '';
@ISA = qw(Exporter IO::Compress::Base);
@EXPORT_OK = qw( $RawDeflateError rawdeflate ) ;
+push @EXPORT_OK, @IO::Compress::Adapter::Deflate::EXPORT_OK ;
+
+%EXPORT_TAGS = %IO::Compress::Adapter::Deflate::DEFLATE_CONSTANTS;
-%EXPORT_TAGS = ( flush => [qw{
- Z_NO_FLUSH
- Z_PARTIAL_FLUSH
- Z_SYNC_FLUSH
- Z_FULL_FLUSH
- Z_FINISH
- Z_BLOCK
- }],
- level => [qw{
- Z_NO_COMPRESSION
- Z_BEST_SPEED
- Z_BEST_COMPRESSION
- Z_DEFAULT_COMPRESSION
- }],
- strategy => [qw{
- Z_FILTERED
- Z_HUFFMAN_ONLY
- Z_RLE
- Z_FIXED
- Z_DEFAULT_STRATEGY
- }],
-
- );
{
my %seen;
@@ -60,7 +39,7 @@ $RawDeflateError = '';
%DEFLATE_CONSTANTS = %EXPORT_TAGS;
-push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
+#push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
Exporter::export_ok_tags('all');
@@ -142,8 +121,8 @@ sub getZlibParams
{
my $self = shift ;
- use IO::Compress::Base::Common 2.033 qw(:Parse);
- use Compress::Raw::Zlib 2.033 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
+ use IO::Compress::Base::Common 2.048 qw(:Parse);
+ use Compress::Raw::Zlib 2.048 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
return (
@@ -861,7 +840,7 @@ If the C<$z> object is associated with a file or a filehandle, C<fileno>
will return the underlying file descriptor. Once the C<close> method is
called C<fileno> will return C<undef>.
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
C<undef>.
=head2 close
@@ -971,8 +950,6 @@ These symbolic constants are used by the C<Strategy> option in the constructor.
See L<IO::Compress::FAQ|IO::Compress::FAQ/"Apache::GZip Revisited">
-
-
=head2 Working with Net::FTP
See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP">
@@ -981,7 +958,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP">
L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
L<Archive::Tar|Archive::Tar>,
@@ -1010,7 +987,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2012 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Zip.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Zip.pm
index 62acc8e1fa2..9c2780a5e06 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Zip.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Zip.pm
@@ -4,40 +4,45 @@ use strict ;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.033 qw(:Status createSelfTiedObject);
-use IO::Compress::RawDeflate 2.033 ;
-use IO::Compress::Adapter::Deflate 2.033 ;
-use IO::Compress::Adapter::Identity 2.033 ;
-use IO::Compress::Zlib::Extra 2.033 ;
-use IO::Compress::Zip::Constants 2.033 ;
+use IO::Compress::Base::Common 2.048 qw(:Status MAX32 isGeMax32 isaScalar createSelfTiedObject);
+use IO::Compress::RawDeflate 2.048 ();
+use IO::Compress::Adapter::Deflate 2.048 ;
+use IO::Compress::Adapter::Identity 2.048 ;
+use IO::Compress::Zlib::Extra 2.048 ;
+use IO::Compress::Zip::Constants 2.048 ;
+use File::Spec();
+use Config;
+
+use Compress::Raw::Zlib 2.048 ();
-use Compress::Raw::Zlib 2.033 qw(crc32) ;
BEGIN
{
eval { require IO::Compress::Adapter::Bzip2 ;
- import IO::Compress::Adapter::Bzip2 2.033 ;
+ import IO::Compress::Adapter::Bzip2 2.048 ;
require IO::Compress::Bzip2 ;
- import IO::Compress::Bzip2 2.033 ;
+ import IO::Compress::Bzip2 2.048 ;
+ } ;
+
+ eval { require IO::Compress::Adapter::Lzma ;
+ import IO::Compress::Adapter::Lzma 2.048 ;
+ require IO::Compress::Lzma ;
+ import IO::Compress::Lzma 2.048 ;
} ;
-# eval { require IO::Compress::Adapter::Lzma ;
-# import IO::Compress::Adapter::Lzma 2.020 ;
-# require IO::Compress::Lzma ;
-# import IO::Compress::Lzma 2.033 ;
-# } ;
}
require Exporter ;
-our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $ZipError);
+our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $ZipError);
-$VERSION = '2.033';
+$VERSION = '2.048';
$ZipError = '';
@ISA = qw(Exporter IO::Compress::RawDeflate);
@EXPORT_OK = qw( $ZipError zip ) ;
%EXPORT_TAGS = %IO::Compress::RawDeflate::DEFLATE_CONSTANTS ;
+
push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
$EXPORT_TAGS{zip_method} = [qw( ZIP_CM_STORE ZIP_CM_DEFLATE ZIP_CM_BZIP2 ZIP_CM_LZMA)];
@@ -51,6 +56,7 @@ sub new
my $obj = createSelfTiedObject($class, \$ZipError);
$obj->_create(undef, @_);
+
}
sub zip
@@ -59,6 +65,46 @@ sub zip
return $obj->_def(@_);
}
+sub isMethodAvailable
+{
+ my $method = shift;
+
+ # Store & Deflate are always available
+ return 1
+ if $method == ZIP_CM_STORE || $method == ZIP_CM_DEFLATE ;
+
+ return 1
+ if $method == ZIP_CM_BZIP2 and
+ defined $IO::Compress::Adapter::Bzip2::VERSION;
+
+ return 1
+ if $method == ZIP_CM_LZMA and
+ defined $IO::Compress::Adapter::Lzma::VERSION;
+
+ return 0;
+}
+
+sub beforePayload
+{
+ my $self = shift ;
+
+ if (*$self->{ZipData}{Sparse} ) {
+ my $inc = 1024 * 100 ;
+ my $NULLS = ("\x00" x $inc) ;
+ my $sparse = *$self->{ZipData}{Sparse} ;
+ *$self->{CompSize}->add( $sparse );
+ *$self->{UnCompSize}->add( $sparse );
+
+ *$self->{FH}->seek($sparse, IO::Handle::SEEK_CUR);
+
+ *$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32($NULLS, *$self->{ZipData}{CRC32})
+ for 1 .. int $sparse / $inc;
+ *$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32(substr($NULLS, 0, $sparse % $inc),
+ *$self->{ZipData}{CRC32})
+ if $sparse % $inc;
+ }
+}
+
sub mkComp
{
my $self = shift ;
@@ -71,7 +117,7 @@ sub mkComp
$got->value('Level'),
$got->value('Strategy')
);
- *$self->{ZipData}{CRC32} = crc32(undef);
+ *$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32(undef);
}
elsif (*$self->{ZipData}{Method} == ZIP_CM_DEFLATE) {
($obj, $errstr, $errno) = IO::Compress::Adapter::Deflate::mkCompObject(
@@ -87,12 +133,14 @@ sub mkComp
$got->value('WorkFactor'),
$got->value('Verbosity')
);
- *$self->{ZipData}{CRC32} = crc32(undef);
+ *$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32(undef);
+ }
+ elsif (*$self->{ZipData}{Method} == ZIP_CM_LZMA) {
+ ($obj, $errstr, $errno) = IO::Compress::Adapter::Lzma::mkRawZipCompObject($got->value('Preset'),
+ $got->value('Extreme'),
+ );
+ *$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32(undef);
}
-# elsif (*$self->{ZipData}{Method} == ZIP_CM_LZMA) {
-# ($obj, $errstr, $errno) = IO::Compress::Adapter::Lzma::mkCompObject();
-# *$self->{ZipData}{CRC32} = crc32(undef);
-# }
return $self->saveErrorString(undef, $errstr, $errno)
if ! defined $obj;
@@ -126,11 +174,57 @@ sub filterUncompressed
*$self->{ZipData}{CRC32} = *$self->{Compress}->crc32();
}
else {
- *$self->{ZipData}{CRC32} = crc32(${$_[0]}, *$self->{ZipData}{CRC32});
+ *$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32(${$_[0]}, *$self->{ZipData}{CRC32});
}
}
+sub canonicalName
+{
+ # This sub is derived from Archive::Zip::_asZipDirName
+
+ # Return the normalized name as used in a zip file (path
+ # separators become slashes, etc.).
+ # Will translate internal slashes in path components (i.e. on Macs) to
+ # underscores. Discards volume names.
+ # When $forceDir is set, returns paths with trailing slashes
+ #
+ # input output
+ # . '.'
+ # ./a a
+ # ./a/b a/b
+ # ./a/b/ a/b
+ # a/b/ a/b
+ # /a/b/ a/b
+ # c:\a\b\c.doc a/b/c.doc # on Windows
+ # "i/o maps:whatever" i_o maps/whatever # on Macs
+
+ my $name = shift;
+ my $forceDir = shift ;
+
+ my ( $volume, $directories, $file ) =
+ File::Spec->splitpath( File::Spec->canonpath($name), $forceDir );
+
+ my @dirs = map { $_ =~ s{/}{_}g; $_ }
+ File::Spec->splitdir($directories);
+
+ if ( @dirs > 0 ) { pop (@dirs) if $dirs[-1] eq '' } # remove empty component
+ push @dirs, defined($file) ? $file : '' ;
+
+ my $normalised_path = join '/', @dirs;
+
+ # Leading directory separators should not be stored in zip archives.
+ # Example:
+ # C:\a\b\c\ a/b/c
+ # C:\a\b\c.txt a/b/c.txt
+ # /a/b/c/ a/b/c
+ # /a/b/c.txt a/b/c.txt
+ $normalised_path =~ s{^/}{}; # remove leading separator
+
+ return $normalised_path;
+}
+
+
sub mkHeader
{
my $self = shift;
@@ -139,11 +233,27 @@ sub mkHeader
*$self->{ZipData}{LocalHdrOffset} = U64::clone(*$self->{ZipData}{Offset});
+ my $comment = '';
+ $comment = $param->value('Comment') || '';
+
my $filename = '';
$filename = $param->value('Name') || '';
- my $comment = '';
- $comment = $param->value('Comment') || '';
+ $filename = canonicalName($filename)
+ if length $filename && $param->value('CanonicalName') ;
+
+ if (defined *$self->{ZipData}{FilterName} ) {
+ local *_ = \$filename ;
+ &{ *$self->{ZipData}{FilterName} }() ;
+ }
+
+# if ( $param->value('UTF8') ) {
+# require Encode ;
+# $filename = Encode::encode_utf8($filename)
+# if length $filename ;
+# $comment = Encode::encode_utf8($filename)
+# if length $comment ;
+# }
my $hdr = '';
@@ -156,11 +266,12 @@ sub mkHeader
my $extFileAttr = 0 ;
# This code assumes Unix.
+ # TODO - revisit this
$extFileAttr = 0100644 << 16
if $osCode == ZIP_OS_CODE_UNIX ;
if (*$self->{ZipData}{Zip64}) {
- $empty = 0xFFFFFFFF;
+ $empty = MAX32;
my $x = '';
$x .= pack "V V", 0, 0 ; # uncompressedLength
@@ -169,7 +280,7 @@ sub mkHeader
}
if (! $param->value('Minimal')) {
- if (defined $param->value('exTime'))
+ if ($param->parsed('MTime'))
{
$extra .= mkExtendedTime($param->value('MTime'),
$param->value('ATime'),
@@ -178,10 +289,20 @@ sub mkHeader
$ctlExtra .= mkExtendedTime($param->value('MTime'));
}
- if ( $param->value('UID') && $osCode == ZIP_OS_CODE_UNIX)
+ if ( $osCode == ZIP_OS_CODE_UNIX )
{
- $extra .= mkUnix2Extra( $param->value('UID'), $param->value('GID'));
- $ctlExtra .= mkUnix2Extra();
+ if ( $param->value('want_exUnixN') )
+ {
+ my $ux3 = mkUnixNExtra( @{ $param->value('want_exUnixN') });
+ $extra .= $ux3;
+ $ctlExtra .= $ux3;
+ }
+
+ if ( $param->value('exUnix2') )
+ {
+ $extra .= mkUnix2Extra( @{ $param->value('exUnix2') });
+ $ctlExtra .= mkUnix2Extra();
+ }
}
$extFileAttr = $param->value('ExtAttr')
@@ -194,15 +315,21 @@ sub mkHeader
if defined $param->value('ExtraFieldCentral');
}
+ my $method = *$self->{ZipData}{Method} ;
my $gpFlag = 0 ;
$gpFlag |= ZIP_GP_FLAG_STREAMING_MASK
if *$self->{ZipData}{Stream} ;
- my $method = *$self->{ZipData}{Method} ;
+ $gpFlag |= ZIP_GP_FLAG_LZMA_EOS_PRESENT
+ if $method == ZIP_CM_LZMA ;
+
+ #$gpFlag |= ZIP_GP_FLAG_LANGUAGE_ENCODING
+ #if $param->value('UTF8') && length($filename) + length($comment);
my $version = $ZIP_CM_MIN_VERSIONS{$method};
$version = ZIP64_MIN_VERSION
if ZIP64_MIN_VERSION > $version && *$self->{ZipData}{Zip64};
+
my $madeBy = ($param->value('OS_Code') << 8) + $version;
my $extract = $version;
@@ -264,7 +391,7 @@ sub mkHeader
# offset to local hdr
if (*$self->{ZipData}{LocalHdrOffset}->is64bit() ) {
- $ctl .= pack 'V', 0xFFFFFFFF ;
+ $ctl .= pack 'V', MAX32 ;
}
else {
$ctl .= *$self->{ZipData}{LocalHdrOffset}->getPacked_V32() ;
@@ -278,6 +405,7 @@ sub mkHeader
*$self->{ZipData}{CentralHeader} = $ctl;
+
return $hdr;
}
@@ -307,6 +435,7 @@ sub mkTrailer
my $data = $crc32 . $sizes ;
+
my $xtrasize = *$self->{UnCompSize}->getPacked_V64() ; # Uncompressed size
$xtrasize .= *$self->{CompSize}->getPacked_V64() ; # Compressed size
@@ -331,14 +460,14 @@ sub mkTrailer
my $x = '';
# uncompressed length
- if (*$self->{UnCompSize}->is64bit() ) {
+ if (*$self->{UnCompSize}->isAlmost64bit() || *$self->{ZipData}{Zip64} > 1) {
$x .= *$self->{UnCompSize}->getPacked_V64() ;
} else {
substr($ctl, 24, 4) = *$self->{UnCompSize}->getPacked_V32() ;
}
# compressed length
- if (*$self->{CompSize}->is64bit() ) {
+ if (*$self->{CompSize}->isAlmost64bit() || *$self->{ZipData}{Zip64} > 1) {
$x .= *$self->{CompSize}->getPacked_V64() ;
} else {
substr($ctl, 20, 4) = *$self->{CompSize}->getPacked_V32() ;
@@ -406,8 +535,8 @@ sub mkFinalTrailer
$z64e .= *$self->{ZipData}{Offset}->getPacked_V64() ; # offset to end zip64 central dir
$z64e .= pack 'V', 1 ; # Total number of disks
- $cd_offset = 0xFFFFFFFF ;
- $cd_len = 0xFFFFFFFF if $cd_len >= 0xFFFFFFFF ;
+ $cd_offset = MAX32 ;
+ $cd_len = MAX32 if isGeMax32 $cd_len ;
$entries = 0xFFFF if $entries >= 0xFFFF ;
}
@@ -449,16 +578,20 @@ sub ckParams
$got->value("CTime", $timeRef->[2]);
}
- # Unix2 Extended Attribute
- if ($got->parsed('exUnix2') ) {
- my $timeRef = $got->value('exUnix2');
- if ( defined $timeRef) {
- return $self->saveErrorString(undef, "exUnix2 not a 2-element array ref")
- if ref $timeRef ne 'ARRAY' || @$timeRef != 2;
+ # Unix2/3 Extended Attribute
+ for my $name (qw(exUnix2 exUnixN))
+ {
+ if ($got->parsed($name) ) {
+ my $idRef = $got->value($name);
+ if ( defined $idRef) {
+ return $self->saveErrorString(undef, "$name not a 2-element array ref")
+ if ref $idRef ne 'ARRAY' || @$idRef != 2;
+ }
+
+ $got->value("UID", $idRef->[0]);
+ $got->value("GID", $idRef->[1]);
+ $got->value("want_$name", $idRef);
}
-
- $got->value("UID", $timeRef->[0]);
- $got->value("GID", $timeRef->[1]);
}
*$self->{ZipData}{AnyZip64} = 1
@@ -475,9 +608,8 @@ sub ckParams
! defined $IO::Compress::Adapter::Bzip2::VERSION;
return $self->saveErrorString(undef, "Lzma not available")
- if $method == ZIP_CM_LZMA ;
- #and
- #! defined $IO::Compress::Adapter::Lzma::VERSION;
+ if $method == ZIP_CM_LZMA
+ and ! defined $IO::Compress::Adapter::Lzma::VERSION;
*$self->{ZipData}{Method} = $method;
@@ -499,9 +631,28 @@ sub ckParams
if defined $IO::Compress::Bzip2::VERSION
and ! IO::Compress::Bzip2::ckParams($self, $got);
+ if ($got->parsed('Sparse') ) {
+ *$self->{ZipData}{Sparse} = $got->value('Sparse') ;
+ *$self->{ZipData}{Method} = ZIP_CM_STORE;
+ }
+
+ if ($got->parsed('FilterName')) {
+ my $v = $got->value('FilterName') ;
+ *$self->{ZipData}{FilterName} = $v
+ if ref $v eq 'CODE' ;
+ }
+
return 1 ;
}
+sub outputPayload
+{
+ my $self = shift ;
+ return 1 if *$self->{ZipData}{Sparse} ;
+ return $self->output(@_);
+}
+
+
#sub newHeader
#{
# my $self = shift ;
@@ -513,14 +664,14 @@ sub getExtraParams
{
my $self = shift ;
- use IO::Compress::Base::Common 2.033 qw(:Parse);
- use Compress::Raw::Zlib 2.033 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
+ use IO::Compress::Base::Common 2.048 qw(:Parse);
+ use Compress::Raw::Zlib 2.048 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
my @Bzip2 = ();
@Bzip2 = IO::Compress::Bzip2::getExtraParams($self)
if defined $IO::Compress::Bzip2::VERSION;
-
+
return (
# zlib behaviour
$self->getZlibParams(),
@@ -535,9 +686,13 @@ sub getExtraParams
'Comment' => [0, 1, Parse_any, ''],
'ZipComment'=> [0, 1, Parse_any, ''],
'Name' => [0, 1, Parse_any, ''],
+ 'FilterName'=> [0, 1, Parse_code, undef],
+ 'CanonicalName'=> [0, 1, Parse_boolean, 0],
+ #'UTF8' => [0, 1, Parse_boolean, 0],
'Time' => [0, 1, Parse_any, undef],
'exTime' => [0, 1, Parse_any, undef],
'exUnix2' => [0, 1, Parse_any, undef],
+ 'exUnixN' => [0, 1, Parse_any, undef],
'ExtAttr' => [0, 1, Parse_any,
$Compress::Raw::Zlib::gzip_os_code == 3
? 0100644 << 16
@@ -548,6 +703,13 @@ sub getExtraParams
'ExtraFieldLocal' => [0, 1, Parse_any, undef],
'ExtraFieldCentral'=> [0, 1, Parse_any, undef],
+ # Lzma
+ 'Preset' => [0, 1, Parse_unsigned, 6],
+ 'Extreme' => [1, 1, Parse_boolean, 0],
+
+ # For internal use only
+ 'Sparse' => [0, 1, Parse_unsigned, 0],
+
@Bzip2,
);
}
@@ -564,8 +726,31 @@ sub getFileInfo
my $params = shift;
my $filename = shift ;
- my ($mode, $uid, $gid, $atime, $mtime, $ctime)
- = (stat($filename))[2, 4,5, 8,9,10] ;
+ if (isaScalar($filename))
+ {
+ $params->value(Zip64 => 1)
+ if isGeMax32 length (${ $filename }) ;
+
+ return ;
+ }
+
+ my ($mode, $uid, $gid, $size, $atime, $mtime, $ctime) ;
+ if ( $params->parsed('StoreLinks') )
+ {
+ ($mode, $uid, $gid, $size, $atime, $mtime, $ctime)
+ = (lstat($filename))[2, 4,5,7, 8,9,10] ;
+ }
+ else
+ {
+ ($mode, $uid, $gid, $size, $atime, $mtime, $ctime)
+ = (stat($filename))[2, 4,5,7, 8,9,10] ;
+ }
+
+ $params->value(TextFlag => -T $filename )
+ if ! $params->parsed('TextFlag');
+
+ $params->value(Zip64 => 1)
+ if isGeMax32 $size ;
$params->value('Name' => $filename)
if ! $params->parsed('Name') ;
@@ -578,13 +763,21 @@ sub getFileInfo
$params->value('MTime' => $mtime) ;
$params->value('ATime' => $atime) ;
$params->value('CTime' => undef) ; # No Creation time
- $params->value("exTime", [$mtime, $atime, undef]);
+ # TODO - see if can fillout creation time on non-Unix
}
# NOTE - Unix specific code alert
- $params->value('ExtAttr' => $mode << 16)
- if ! $params->parsed('ExtAttr');
+ if (! $params->parsed('ExtAttr'))
+ {
+ use Fcntl qw(:mode) ;
+ my $attr = $mode << 16;
+ $attr |= ZIP_A_RONLY if ($mode & S_IWRITE) == 0 ;
+ $attr |= ZIP_A_DIR if ($mode & S_IFMT ) == S_IFDIR ;
+
+ $params->value('ExtAttr' => $attr);
+ }
+ $params->value('want_exUnixN', [$uid, $gid]);
$params->value('UID' => $uid) ;
$params->value('GID' => $gid) ;
@@ -625,11 +818,29 @@ sub mkUnix2Extra
$ids);
}
+sub mkUnixNExtra
+{
+ my $uid = shift;
+ my $gid = shift;
+
+ # Assumes UID/GID are 32-bit
+ my $ids ;
+ $ids .= pack "C", 1; # version
+ $ids .= pack "C", $Config{uidsize};
+ $ids .= pack "V", $uid;
+ $ids .= pack "C", $Config{gidsize};
+ $ids .= pack "V", $gid;
+
+ return IO::Compress::Zlib::Extra::mkSubField(ZIP_EXTRA_ID_INFO_ZIP_UNIXN,
+ $ids);
+}
+
# from Archive::Zip
sub _unixToDosTime # Archive::Zip::Member
{
my $time_t = shift;
+
# TODO - add something to cope with unix time < 1980
my ( $sec, $min, $hour, $mday, $mon, $year ) = localtime($time_t);
my $dt = 0;
@@ -705,11 +916,14 @@ zip files and buffers. It is not a general-purpose file archiver. If that
is what you want, check out C<Archive::Zip>.
At present three compression methods are supported by IO::Compress::Zip,
-namely Store (no compression at all), Deflate and Bzip2.
+namely Store (no compression at all), Deflate, Bzip2 and LZMA.
Note that to create Bzip2 content, the module C<IO::Compress::Bzip2> must
be installed.
+Note that to create LZMA content, the module C<IO::Compress::Lzma> must
+be installed.
+
For reading zip files/buffers, see the companion module
L<IO::Uncompress::Unzip|IO::Uncompress::Unzip>.
@@ -780,10 +994,10 @@ See L<File::GlobMapper|File::GlobMapper> for more details.
If the C<$input> parameter is any other type, C<undef> will be returned.
In addition, if C<$input> is a simple filename, the default values for
-the C<Name>, C<Time>, C<ExtAttr> and C<exTime> options will be sourced from that file.
+the C<Name>, C<Time>, C<TextFlag>, C<ExtAttr>, C<exUnixN> and C<exTime> options will be sourced from that file.
If you do not want to use these defaults they can be overridden by
-explicitly setting the C<Name>, C<Time>, C<ExtAttr> and C<exTime> options or by setting the
+explicitly setting the C<Name>, C<Time>, C<TextFlag>, C<ExtAttr>, C<exUnixN> and C<exTime> options or by setting the
C<Minimal> parameter.
=head3 The C<$output> parameter
@@ -1060,12 +1274,67 @@ This parameter defaults to 0.
Stores the contents of C<$string> in the zip filename header field.
-If C<Name> is not specified and the C<$input> parameter is a filename that
-will be used for the zip filename header field.
+If C<Name> is not specified and the C<$input> parameter is a filename, the
+value of C<$input> will be used for the zip filename header field.
If C<Name> is not specified and the C<$input> parameter is not a filename,
no zip filename field will be created.
+Note that both the C<CanonicalName> and C<FilterName> options
+can modify the value used for the zip filename header field.
+
+=item C<< CanonicalName => 0|1 >>
+
+This option controls whether the filename field in the zip header is
+I<normalized> into Unix format before being written to the zip file.
+
+It is recommended that you enable this option unless you really need
+to create a non-standard Zip file.
+
+This is what APPNOTE.TXT has to say on what should be stored in the zip
+filename header field.
+
+ The name of the file, with optional relative path.
+ The path stored should not contain a drive or
+ device letter, or a leading slash. All slashes
+ should be forward slashes '/' as opposed to
+ backwards slashes '\' for compatibility with Amiga
+ and UNIX file systems etc.
+
+This option defaults to B<false>.
+
+=item C<< FilterName => sub { ... } >>
+
+This option allow the filename field in the zip header to be modified
+before it is written to the zip file.
+
+This option takes a parameter that must be a reference to a sub. On entry
+to the sub the C<$_> variable will contain the name to be filtered. If no
+filename is available C<$_> will contain an empty string.
+
+The value of C<$_> when the sub returns will be stored in the filename
+header field.
+
+Note that if C<CanonicalName> is enabled, a
+normalized filename will be passed to the sub.
+
+If you use C<FilterName> to modify the filename, it is your responsibility
+to keep the filename in Unix format.
+
+Although this option can be used with the OO ointerface, it is of most use
+with the one-shot interface. For example, the code below shows how
+C<FilterName> can be used to remove the path component from a series of
+filenames before they are stored in C<$zipfile>.
+
+ sub compressTxtFiles
+ {
+ my $zipfile = shift ;
+ my $dir = shift ;
+
+ zip [ <$dir/*.txt> ] => $zipfile,
+ FilterName => sub { s[^$dir/][] } ;
+ }
+
=item C<< Time => $number >>
Sets the last modified time field in the zip header to $number.
@@ -1111,18 +1380,37 @@ By default no extended time field is created.
=item C<< exUnix2 => [$uid, $gid] >>
This option expects an array reference with exactly two elements: C<$uid>
-and C<$gid>. These values correspond to the numeric user ID and group ID
-of the owner of the files respectively.
+and C<$gid>. These values correspond to the numeric User ID (UID) and Group ID
+(GID) of the owner of the files respectively.
When the C<exUnix2> option is present it will trigger the creation of a
-Unix2 extra field (ID is "Ux") in the local zip. This will be populated
-with C<$uid> and C<$gid>. In addition an empty Unix2 extra field will also
-be created in the central zip header
+Unix2 extra field (ID is "Ux") in the local zip header. This will be populated
+with C<$uid> and C<$gid>. An empty Unix2 extra field will also
+be created in the central zip header.
+
+Note - The UID & GID are stored as 16-bit
+integers in the "Ux" field. Use C<< exUnixN >> if your UID or GID are
+32-bit.
If the C<Minimal> option is set to true, this option will be ignored.
By default no Unix2 extra field is created.
+=item C<< exUnixN => [$uid, $gid] >>
+
+This option expects an array reference with exactly two elements: C<$uid>
+and C<$gid>. These values correspond to the numeric User ID (UID) and Group ID
+(GID) of the owner of the files respectively.
+
+When the C<exUnixN> option is present it will trigger the creation of a
+UnixN extra field (ID is "ux") in bothe the local and central zip headers.
+This will be populated with C<$uid> and C<$gid>.
+The UID & GID are stored as 32-bit integers.
+
+If the C<Minimal> option is set to true, this option will be ignored.
+
+By default no UnixN extra field is created.
+
=item C<< Comment => $comment >>
Stores the contents of C<$comment> in the Central File Header of
@@ -1139,12 +1427,12 @@ By default, no comment field is written to the zip file.
=item C<< Method => $method >>
-Controls which compression method is used. At present three compression
-methods are supported, namely Store (no compression at all), Deflate and
-Bzip2.
+Controls which compression method is used. At present four compression
+methods are supported, namely Store (no compression at all), Deflate,
+Bzip2 and Lzma.
-The symbols, ZIP_CM_STORE, ZIP_CM_DEFLATE and ZIP_CM_BZIP2 are used to
-select the compression method.
+The symbols, ZIP_CM_STORE, ZIP_CM_DEFLATE, ZIP_CM_BZIP2 and ZIP_CM_LZMA
+are used to select the compression method.
These constants are not imported by C<IO::Compress::Zip> by default.
@@ -1156,6 +1444,10 @@ Note that to create Bzip2 content, the module C<IO::Compress::Bzip2> must
be installed. A fatal error will be thrown if you attempt to create Bzip2
content when C<IO::Compress::Bzip2> is not available.
+Note that to create Lzma content, the module C<IO::Compress::Lzma> must
+be installed. A fatal error will be thrown if you attempt to create Lzma
+content when C<IO::Compress::Lzma> is not available.
+
The default method is ZIP_CM_DEFLATE.
=item C<< Stream => 0|1 >>
@@ -1170,11 +1462,14 @@ The default is 1.
=item C<< Zip64 => 0|1 >>
-Create a Zip64 zip file/buffer. This option should only be used if you want
-to store files larger than 4 Gig.
+Create a Zip64 zip file/buffer. This option is used if you want
+to store files larger than 4 Gig.
+
+C<Zip64> will be automatically set, as needed, if working with the one-shot
+interface when the input is either a filename or a scalar reference.
If you intend to manipulate the Zip64 zip files created with this module
-using an external zip/unzip make sure that it supports Zip64.
+using an external zip/unzip, make sure that it supports Zip64.
In particular, if you are using Info-Zip you need to have zip version 3.x
or better to update a Zip64 archive and unzip version 6.x to read a zip64
@@ -1188,6 +1483,9 @@ This parameter controls the setting of a bit in the zip central header. It
is used to signal that the data stored in the zip file/buffer is probably
text.
+In one-shot mode this flag will be set to true if the Perl C<-T> operator thinks
+the file contains text.
+
The default is 0.
=item C<< ExtraFieldLocal => $data >>
@@ -1227,6 +1525,9 @@ Alternatively the list of subfields can by supplied as a scalar, thus
ExtraField => $rawdata
+In this case C<IO::Compress::Zip> will check that C<$rawdata> consists of
+zero or more conformant sub-fields.
+
The Extended Time field (ID "UT"), set using the C<exTime> option, and the
Unix2 extra field (ID "Ux), set using the C<exUnix2> option, are examples
of extra fields.
@@ -1239,7 +1540,8 @@ The maximum size of an extra field 65535 bytes.
If specified, this option will disable the creation of all extra fields
in the zip local and central headers. So the C<exTime>, C<exUnix2>,
-C<ExtraFieldLocal> and C<ExtraFieldCentral> options will be ignored.
+C<exUnixN>, C<ExtraFieldLocal> and C<ExtraFieldCentral> options will
+be ignored.
This parameter defaults to 0.
@@ -1266,6 +1568,32 @@ otherwise.
The default is 0.
+=item C<< Preset => number >>
+
+Used to choose the LZMA compression preset.
+
+Valid values are 0-9 and C<LZMA_PRESET_DEFAULT>.
+
+0 is the fastest compression with the lowest memory usage and the lowest
+compression.
+
+9 is the slowest compession with the highest memory usage but with the best
+compression.
+
+This option is only valid if the C<Method> is ZIP_CM_LZMA. It is ignored
+otherwise.
+
+Defaults to C<LZMA_PRESET_DEFAULT> (6).
+
+=item C<< Extreme => 0|1 >>
+
+Makes LZMA compression a lot slower, but a small compression gain.
+
+This option is only valid if the C<Method> is ZIP_CM_LZMA. It is ignored
+otherwise.
+
+Defaults to 0.
+
=item -Level
Defines the compression level used by zlib. The value should either be
@@ -1460,7 +1788,7 @@ If the C<$z> object is associated with a file or a filehandle, C<fileno>
will return the underlying file descriptor. Once the C<close> method is
called C<fileno> will return C<undef>.
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
C<undef>.
=head2 close
@@ -1579,8 +1907,6 @@ constructor.
See L<IO::Compress::FAQ|IO::Compress::FAQ/"Apache::GZip Revisited">
-
-
=head2 Working with Net::FTP
See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP">
@@ -1589,7 +1915,7 @@ See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP">
L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
L<Archive::Tar|Archive::Tar>,
@@ -1618,7 +1944,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2012 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm
index 44fd5e891d0..8db079cb93d 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Zip/Constants.pm
@@ -7,7 +7,7 @@ require Exporter;
our ($VERSION, @ISA, @EXPORT, %ZIP_CM_MIN_VERSIONS);
-$VERSION = '2.033';
+$VERSION = '2.048';
@ISA = qw(Exporter);
@@ -38,7 +38,9 @@ $VERSION = '2.033';
ZIP_EXTRA_ID_ZIP64
ZIP_EXTRA_ID_EXT_TIMESTAMP
ZIP_EXTRA_ID_INFO_ZIP_UNIX2
- ZIP_EXTRA_ID_INFO_ZIP_UNIXn
+ ZIP_EXTRA_ID_INFO_ZIP_UNIXN
+ ZIP_EXTRA_ID_INFO_ZIP_Upath
+ ZIP_EXTRA_ID_INFO_ZIP_Ucom
ZIP_EXTRA_ID_JAVA_EXE
ZIP_OS_CODE_UNIX
@@ -49,6 +51,12 @@ $VERSION = '2.033';
%ZIP_CM_MIN_VERSIONS
ZIP64_MIN_VERSION
+ ZIP_A_RONLY
+ ZIP_A_HIDDEN
+ ZIP_A_SYSTEM
+ ZIP_A_LABEL
+ ZIP_A_DIR
+ ZIP_A_ARCHIVE
);
# Compression types supported
@@ -72,6 +80,7 @@ use constant ZIP_IFA_TEXT_MASK => 1;
# Signatures for each of the headers
use constant ZIP_LOCAL_HDR_SIG => 0x04034b50;
use constant ZIP_DATA_HDR_SIG => 0x08074b50;
+use constant packed_ZIP_DATA_HDR_SIG => pack "V", ZIP_DATA_HDR_SIG;
use constant ZIP_CENTRAL_HDR_SIG => 0x02014b50;
use constant ZIP_END_CENTRAL_HDR_SIG => 0x06054b50;
use constant ZIP64_END_CENTRAL_REC_HDR_SIG => 0x06064b50;
@@ -86,16 +95,27 @@ use constant ZIP_OS_CODE_DEFAULT => 3;
use constant ZIP_EXTRA_ID_ZIP64 => pack "v", 1;
use constant ZIP_EXTRA_ID_EXT_TIMESTAMP => "UT";
use constant ZIP_EXTRA_ID_INFO_ZIP_UNIX2 => "Ux";
-use constant ZIP_EXTRA_ID_INFO_ZIP_UNIXn => "ux";
+use constant ZIP_EXTRA_ID_INFO_ZIP_UNIXN => "ux";
+use constant ZIP_EXTRA_ID_INFO_ZIP_Upath => "up";
+use constant ZIP_EXTRA_ID_INFO_ZIP_Ucom => "uc";
use constant ZIP_EXTRA_ID_JAVA_EXE => pack "v", 0xCAFE;
+# DOS Attributes
+use constant ZIP_A_RONLY => 0x01;
+use constant ZIP_A_HIDDEN => 0x02;
+use constant ZIP_A_SYSTEM => 0x04;
+use constant ZIP_A_LABEL => 0x08;
+use constant ZIP_A_DIR => 0x10;
+use constant ZIP_A_ARCHIVE => 0x20;
+
use constant ZIP64_MIN_VERSION => 45;
%ZIP_CM_MIN_VERSIONS = (
- ZIP_CM_STORE() => 20,
- ZIP_CM_DEFLATE() => 20,
- ZIP_CM_BZIP2() => 46,
- ZIP_CM_LZMA() => 63,
+ ZIP_CM_STORE() => 20,
+ ZIP_CM_DEFLATE() => 20,
+ ZIP_CM_BZIP2() => 46,
+ ZIP_CM_LZMA() => 63,
+ ZIP_CM_PPMD() => 63,
);
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm
index 4c2d5eb00f6..992b1b925f2 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Constants.pm
@@ -9,7 +9,7 @@ require Exporter;
our ($VERSION, @ISA, @EXPORT);
-$VERSION = '2.033';
+$VERSION = '2.048';
@ISA = qw(Exporter);
diff --git a/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm b/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm
index 3b13e291cc6..9e0be2e4b6c 100644
--- a/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Compress/Zlib/Extra.pm
@@ -1,6 +1,6 @@
package IO::Compress::Zlib::Extra;
-require 5.004 ;
+require 5.006 ;
use strict ;
use warnings;
@@ -8,9 +8,9 @@ use bytes;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS);
-$VERSION = '2.033';
+$VERSION = '2.048';
-use IO::Compress::Gzip::Constants 2.033 ;
+use IO::Compress::Gzip::Constants 2.048 ;
sub ExtraFieldError
{
@@ -98,6 +98,38 @@ sub parseRawExtra
return undef ;
}
+sub findID
+{
+ my $id_want = shift ;
+ my $data = shift;
+
+ my $XLEN = length $data ;
+
+ my $offset = 0 ;
+ while ($offset < $XLEN) {
+
+ return undef
+ if $offset + GZIP_FEXTRA_SUBFIELD_HEADER_SIZE > $XLEN ;
+
+ my $id = substr($data, $offset, GZIP_FEXTRA_SUBFIELD_ID_SIZE);
+ $offset += GZIP_FEXTRA_SUBFIELD_ID_SIZE;
+
+ my $subLen = unpack("v", substr($data, $offset,
+ GZIP_FEXTRA_SUBFIELD_LEN_SIZE));
+ $offset += GZIP_FEXTRA_SUBFIELD_LEN_SIZE ;
+
+ return undef
+ if $offset + $subLen > $XLEN ;
+
+ return substr($data, $offset, $subLen)
+ if $id eq $id_want ;
+
+ $offset += $subLen ;
+ }
+
+ return undef ;
+}
+
sub mkSubField
{
@@ -142,7 +174,6 @@ sub parseExtraField
return parseRawExtra($dataRef, undef, 1, $gzipMode);
}
- #my $data = $$dataRef;
my $data = $dataRef;
my $out = '' ;
@@ -163,7 +194,7 @@ sub parseExtraField
return ExtraFieldError("Not even number of elements")
unless @$data % 2 == 0;
- for (my $ix = 0; $ix <= length(@$data) -1 ; $ix += 2) {
+ for (my $ix = 0; $ix <= @$data -1 ; $ix += 2) {
my $bad = validateExtraFieldPair([$data->[$ix],
$data->[$ix+1]],
$strict, $gzipMode) ;
diff --git a/Master/tlpkg/tlperl/lib/IO/Dir.pm b/Master/tlpkg/tlperl/lib/IO/Dir.pm
index 74d07784668..7326d7823d4 100644
--- a/Master/tlpkg/tlperl/lib/IO/Dir.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Dir.pm
@@ -19,7 +19,7 @@ use File::stat;
use File::Spec;
@ISA = qw(Tie::Hash Exporter);
-$VERSION = "1.08";
+$VERSION = "1.10";
$VERSION = eval $VERSION;
@EXPORT_OK = qw(DIR_UNLINK);
@@ -186,7 +186,7 @@ argument which, if given, C<new> will pass to C<open>
=back
The following methods are wrappers for the directory related functions built
-into perl (the trailing `dir' has been removed from the names). See L<perlfunc>
+into perl (the trailing 'dir' has been removed from the names). See L<perlfunc>
for details of these functions.
=over 4
@@ -237,7 +237,7 @@ L<File::stat>
=head1 AUTHOR
Graham Barr. Currently maintained by the Perl Porters. Please report all
-bugs to <perl5-porters@perl.org>.
+bugs to <perlbug@perl.org>.
=head1 COPYRIGHT
diff --git a/Master/tlpkg/tlperl/lib/IO/File.pm b/Master/tlpkg/tlperl/lib/IO/File.pm
index 1162c812e3a..8b29bac2210 100644
--- a/Master/tlpkg/tlperl/lib/IO/File.pm
+++ b/Master/tlpkg/tlperl/lib/IO/File.pm
@@ -131,13 +131,12 @@ use Carp;
use Symbol;
use SelectSaver;
use IO::Seekable;
-use File::Spec;
require Exporter;
@ISA = qw(IO::Handle IO::Seekable Exporter);
-$VERSION = "1.15";
+$VERSION = "1.16";
@EXPORT = @IO::Seekable::EXPORT;
diff --git a/Master/tlpkg/tlperl/lib/IO/Handle.pm b/Master/tlpkg/tlperl/lib/IO/Handle.pm
index 6ca3c8a35d6..68e6d902e44 100644
--- a/Master/tlpkg/tlperl/lib/IO/Handle.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Handle.pm
@@ -268,7 +268,7 @@ use IO (); # Load the XS module
require Exporter;
@ISA = qw(Exporter);
-$VERSION = "1.31";
+$VERSION = "1.33";
$VERSION = eval $VERSION;
@EXPORT_OK = qw(
@@ -430,14 +430,14 @@ sub say {
print $this @_;
}
+# Special XS wrapper to make them inherit lexical hints from the caller.
+_create_getline_subs( <<'END' ) or die $@;
sub getline {
@_ == 1 or croak 'usage: $io->getline()';
my $this = shift;
return scalar <$this>;
}
-*gets = \&getline; # deprecated
-
sub getlines {
@_ == 1 or croak 'usage: $io->getlines()';
wantarray or
@@ -445,6 +445,10 @@ sub getlines {
my $this = shift;
return <$this>;
}
+1; # return true for error checking
+END
+
+*gets = \&getline; # deprecated
sub truncate {
@_ == 2 or croak 'usage: $io->truncate(LEN)';
diff --git a/Master/tlpkg/tlperl/lib/IO/Pipe.pm b/Master/tlpkg/tlperl/lib/IO/Pipe.pm
index 3b4313abb1f..684069f4b7e 100644
--- a/Master/tlpkg/tlperl/lib/IO/Pipe.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Pipe.pm
@@ -14,7 +14,7 @@ our($VERSION);
use Carp;
use Symbol;
-$VERSION = "1.14";
+$VERSION = "1.15";
sub new {
my $type = shift;
@@ -246,7 +246,7 @@ L<IO::Handle>
=head1 AUTHOR
Graham Barr. Currently maintained by the Perl Porters. Please report all
-bugs to <perl5-porters@perl.org>.
+bugs to <perlbug@perl.org>.
=head1 COPYRIGHT
diff --git a/Master/tlpkg/tlperl/lib/IO/Poll.pm b/Master/tlpkg/tlperl/lib/IO/Poll.pm
index cf7ab26f75b..47f1a135595 100644
--- a/Master/tlpkg/tlperl/lib/IO/Poll.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Poll.pm
@@ -13,7 +13,7 @@ use Exporter ();
our(@ISA, @EXPORT_OK, @EXPORT, $VERSION);
@ISA = qw(Exporter);
-$VERSION = "0.08";
+$VERSION = "0.09";
@EXPORT = qw( POLLIN
POLLOUT
@@ -198,7 +198,7 @@ L<poll(2)>, L<IO::Handle>, L<IO::Select>
=head1 AUTHOR
Graham Barr. Currently maintained by the Perl Porters. Please report all
-bugs to <perl5-porters@perl.org>.
+bugs to <perlbug@perl.org>.
=head1 COPYRIGHT
diff --git a/Master/tlpkg/tlperl/lib/IO/Select.pm b/Master/tlpkg/tlperl/lib/IO/Select.pm
index 14b9797a957..756a299c348 100644
--- a/Master/tlpkg/tlperl/lib/IO/Select.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Select.pm
@@ -11,7 +11,7 @@ use warnings::register;
use vars qw($VERSION @ISA);
require Exporter;
-$VERSION = "1.20";
+$VERSION = "1.21";
@ISA = qw(Exporter); # This is only so we can do version checking
@@ -375,7 +375,7 @@ listening for more connections on a listen socket
=head1 AUTHOR
Graham Barr. Currently maintained by the Perl Porters. Please report all
-bugs to <perl5-porters@perl.org>.
+bugs to <perlbug@perl.org>.
=head1 COPYRIGHT
diff --git a/Master/tlpkg/tlperl/lib/IO/Socket.pm b/Master/tlpkg/tlperl/lib/IO/Socket.pm
index 31fa18f95d4..529423b5fde 100644
--- a/Master/tlpkg/tlperl/lib/IO/Socket.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Socket.pm
@@ -1,3 +1,4 @@
+
# IO::Socket.pm
#
# Copyright (c) 1997-8 Graham Barr <gbarr@pobox.com>. All rights reserved.
@@ -23,7 +24,7 @@ require IO::Socket::UNIX if ($^O ne 'epoc' && $^O ne 'symbian');
@ISA = qw(IO::Handle);
-$VERSION = "1.32";
+$VERSION = "1.34";
@EXPORT_OK = qw(sockatmark);
@@ -118,7 +119,18 @@ sub connect {
my $sel = new IO::Select $sock;
undef $!;
- if (!$sel->can_write($timeout)) {
+ my($r,$w,$e) = IO::Select::select(undef,$sel,$sel,$timeout);
+ if(@$e[0]) {
+ # Windows return from select after the timeout in case of
+ # WSAECONNREFUSED(10061) if exception set is not used.
+ # This behavior is different from Linux.
+ # Using the exception
+ # set we now emulate the behavior in Linux
+ # - Karthik Rajagopalan
+ $err = $sock->getsockopt(SOL_SOCKET,SO_ERROR);
+ $@ = "connect: $err";
+ }
+ elsif(!@$w[0]) {
$err = $! || (exists &Errno::ETIMEDOUT ? &Errno::ETIMEDOUT : 1);
$@ = "connect: timeout";
}
@@ -524,7 +536,7 @@ L<Socket>, L<IO::Handle>, L<IO::Socket::INET>, L<IO::Socket::UNIX>
=head1 AUTHOR
Graham Barr. atmark() by Lincoln Stein. Currently maintained by the
-Perl Porters. Please report all bugs to <perl5-porters@perl.org>.
+Perl Porters. Please report all bugs to <perlbug@perl.org>.
=head1 COPYRIGHT
diff --git a/Master/tlpkg/tlperl/lib/IO/Socket/INET.pm b/Master/tlpkg/tlperl/lib/IO/Socket/INET.pm
index 2f0e5d1d7a6..5af70303d29 100644
--- a/Master/tlpkg/tlperl/lib/IO/Socket/INET.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Socket/INET.pm
@@ -15,7 +15,7 @@ use Exporter;
use Errno;
@ISA = qw(IO::Socket);
-$VERSION = "1.31";
+$VERSION = "1.33";
my $EINVAL = exists(&Errno::EINVAL) ? Errno::EINVAL() : 1;
@@ -338,22 +338,23 @@ In addition to the key-value pairs accepted by L<IO::Socket>,
C<IO::Socket::INET> provides.
- PeerAddr Remote host address <hostname>[:<port>]
- PeerHost Synonym for PeerAddr
- PeerPort Remote port or service <service>[(<no>)] | <no>
- LocalAddr Local host bind address hostname[:port]
- LocalHost Synonym for LocalAddr
- LocalPort Local host bind port <service>[(<no>)] | <no>
- Proto Protocol name (or number) "tcp" | "udp" | ...
- Type Socket type SOCK_STREAM | SOCK_DGRAM | ...
- Listen Queue size for listen
- ReuseAddr Set SO_REUSEADDR before binding
- Reuse Set SO_REUSEADDR before binding (deprecated, prefer ReuseAddr)
- ReusePort Set SO_REUSEPORT before binding
- Broadcast Set SO_BROADCAST before binding
- Timeout Timeout value for various operations
- MultiHomed Try all addresses for multi-homed hosts
- Blocking Determine if connection will be blocking mode
+ PeerAddr Remote host address <hostname>[:<port>]
+ PeerHost Synonym for PeerAddr
+ PeerPort Remote port or service <service>[(<no>)] | <no>
+ LocalAddr Local host bind address hostname[:port]
+ LocalHost Synonym for LocalAddr
+ LocalPort Local host bind port <service>[(<no>)] | <no>
+ Proto Protocol name (or number) "tcp" | "udp" | ...
+ Type Socket type SOCK_STREAM | SOCK_DGRAM | ...
+ Listen Queue size for listen
+ ReuseAddr Set SO_REUSEADDR before binding
+ Reuse Set SO_REUSEADDR before binding (deprecated,
+ prefer ReuseAddr)
+ ReusePort Set SO_REUSEPORT before binding
+ Broadcast Set SO_BROADCAST before binding
+ Timeout Timeout value for various operations
+ MultiHomed Try all addresses for multi-homed hosts
+ Blocking Determine if connection will be blocking mode
If C<Listen> is defined then a listen socket is created, else if the
socket type, which is derived from the protocol, is SOCK_STREAM then
@@ -397,12 +398,13 @@ Examples:
$sock = IO::Socket::INET->new('127.0.0.1:25');
- $sock = IO::Socket::INET->new(PeerPort => 9999,
- PeerAddr => inet_ntoa(INADDR_BROADCAST),
- Proto => udp,
- LocalAddr => 'localhost',
- Broadcast => 1 )
- or die "Can't bind : $@\n";
+ $sock = IO::Socket::INET->new(
+ PeerPort => 9999,
+ PeerAddr => inet_ntoa(INADDR_BROADCAST),
+ Proto => udp,
+ LocalAddr => 'localhost',
+ Broadcast => 1 )
+ or die "Can't bind : $@\n";
NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
@@ -453,7 +455,7 @@ L<Socket>, L<IO::Socket>
=head1 AUTHOR
Graham Barr. Currently maintained by the Perl Porters. Please report all
-bugs to <perl5-porters@perl.org>.
+bugs to <perlbug@perl.org>.
=head1 COPYRIGHT
diff --git a/Master/tlpkg/tlperl/lib/IO/Socket/UNIX.pm b/Master/tlpkg/tlperl/lib/IO/Socket/UNIX.pm
index baa092ba1fb..c6a10fea805 100644
--- a/Master/tlpkg/tlperl/lib/IO/Socket/UNIX.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Socket/UNIX.pm
@@ -12,7 +12,7 @@ use IO::Socket;
use Carp;
@ISA = qw(IO::Socket);
-$VERSION = "1.23";
+$VERSION = "1.24";
$VERSION = eval $VERSION;
IO::Socket::UNIX->register_domain( AF_UNIX );
@@ -132,7 +132,7 @@ L<Socket>, L<IO::Socket>
=head1 AUTHOR
Graham Barr. Currently maintained by the Perl Porters. Please report all
-bugs to <perl5-porters@perl.org>.
+bugs to <perlbug@perl.org>.
=head1 COPYRIGHT
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Bunzip2.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Bunzip2.pm
index 6703e59285a..516c5dda4f0 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Bunzip2.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Bunzip2.pm
@@ -4,12 +4,12 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.033 qw(:Status);
+use IO::Compress::Base::Common 2.048 qw(:Status);
-use Compress::Raw::Bzip2 2.033 ;
+use Compress::Raw::Bzip2 2.048 ;
our ($VERSION, @ISA);
-$VERSION = '2.033';
+$VERSION = '2.048';
sub mkUncompObject
{
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Identity.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Identity.pm
index 0705a1c9d26..5d74d042124 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Identity.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Identity.pm
@@ -4,47 +4,131 @@ use warnings;
use strict;
use bytes;
-use IO::Compress::Base::Common 2.033 qw(:Status);
+use IO::Compress::Base::Common 2.048 qw(:Status);
+use IO::Compress::Zip::Constants ;
our ($VERSION);
-$VERSION = '2.033';
+$VERSION = '2.048';
-use Compress::Raw::Zlib 2.033 ();
+use Compress::Raw::Zlib 2.048 ();
sub mkUncompObject
{
+ my $streaming = shift;
+ my $zip64 = shift;
+
my $crc32 = 1; #shift ;
my $adler32 = shift;
- bless { 'CompSize' => 0,
+ bless { 'CompSize' => new U64 , # 0,
'UnCompSize' => 0,
'wantCRC32' => $crc32,
'CRC32' => Compress::Raw::Zlib::crc32(''),
'wantADLER32'=> $adler32,
'ADLER32' => Compress::Raw::Zlib::adler32(''),
'ConsumesInput' => 1,
+ 'Streaming' => $streaming,
+ 'Zip64' => $zip64,
+ 'DataHdrSize' => $zip64 ? 24 : 16,
+ 'Pending' => '',
} ;
}
+
sub uncompr
{
my $self = shift;
+ my $in = $_[0];
my $eof = $_[2];
- if (defined ${ $_[0] } && length ${ $_[0] }) {
- $self->{CompSize} += length ${ $_[0] } ;
- $self->{UnCompSize} = $self->{CompSize} ;
-
- $self->{CRC32} = Compress::Raw::Zlib::crc32($_[0], $self->{CRC32})
- if $self->{wantCRC32};
-
- $self->{ADLER32} = Compress::Zlib::adler32($_[0], $self->{ADLER32})
- if $self->{wantADLER32};
-
- ${ $_[1] } .= ${ $_[0] };
- ${ $_[0] } = "";
+ my $len = length $$in;
+ my $remainder = '';
+
+ if (defined $$in && $len) {
+
+ if ($self->{Streaming}) {
+
+ if (length $self->{Pending}) {
+ $$in = $self->{Pending} . $$in ;
+ $len = length $$in;
+ $self->{Pending} = '';
+ }
+
+ my $ind = index($$in, "\x50\x4b\x07\x08");
+
+ if ($ind < 0) {
+ $len = length $$in;
+ if ($len >= 3 && substr($$in, -3) eq "\x50\x4b\x07") {
+ $ind = $len - 3 ;
+ }
+ elsif ($len >= 2 && substr($$in, -2) eq "\x50\x4b") {
+ $ind = $len - 2 ;
+ }
+ elsif ($len >= 1 && substr($$in, -1) eq "\x50") {
+ $ind = $len - 1 ;
+ }
+ }
+
+ if ($ind >= 0) {
+ $remainder = substr($$in, $ind) ;
+ substr($$in, $ind) = '' ;
+ }
+ }
+
+ if (length $remainder && length $remainder < $self->{DataHdrSize}) {
+ $self->{Pending} = $remainder ;
+ $remainder = '';
+ }
+ elsif (length $remainder >= $self->{DataHdrSize}) {
+ my $crc = unpack "V", substr($remainder, 4);
+ if ($crc == Compress::Raw::Zlib::crc32($$in, $self->{CRC32})) {
+ my ($l1, $l2) ;
+
+ if ($self->{Zip64}) {
+ $l1 = U64::newUnpack_V64(substr($remainder, 8));
+ $l2 = U64::newUnpack_V64(substr($remainder, 16));
+ }
+ else {
+ $l1 = U64::newUnpack_V32(substr($remainder, 8));
+ $l2 = U64::newUnpack_V32(substr($remainder, 12));
+ }
+
+ my $newLen = $self->{CompSize}->clone();
+ $newLen->add(length $$in);
+ if ($l1->equal($l2) && $l1->equal($newLen) ) {
+ $eof = 1;
+ }
+ else {
+ $$in .= substr($remainder, 0, 4) ;
+ $remainder = substr($remainder, 4);
+ #$self->{Pending} = substr($remainder, 4);
+ #$remainder = '';
+ $eof = 0;
+ }
+ }
+ else {
+ $$in .= substr($remainder, 0, 4) ;
+ $remainder = substr($remainder, 4);
+ #$self->{Pending} = substr($remainder, 4);
+ #$remainder = '';
+ $eof = 0;
+ }
+ }
+
+ if (length $$in) {
+ $self->{CompSize}->add(length $$in) ;
+
+ $self->{CRC32} = Compress::Raw::Zlib::crc32($$in, $self->{CRC32})
+ if $self->{wantCRC32};
+
+ $self->{ADLER32} = Compress::Zlib::adler32($$in, $self->{ADLER32})
+ if $self->{wantADLER32};
+ }
+
+ ${ $_[1] } .= $$in;
+ $$in = $remainder;
}
return STATUS_ENDSTREAM if $eof;
@@ -63,7 +147,6 @@ sub reset
return STATUS_OK ;
}
-
#sub count
#{
# my $self = shift ;
@@ -73,13 +156,13 @@ sub reset
sub compressedBytes
{
my $self = shift ;
- return $self->{UnCompSize} ;
+ return $self->{CompSize} ;
}
sub uncompressedBytes
{
my $self = shift ;
- return $self->{UnCompSize} ;
+ return $self->{CompSize} ;
}
sub sync
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Inflate.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Inflate.pm
index dc0365ce009..c0f3542a98a 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Inflate.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Adapter/Inflate.pm
@@ -4,11 +4,11 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.033 qw(:Status);
-use Compress::Raw::Zlib 2.033 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS);
+use IO::Compress::Base::Common 2.048 qw(:Status);
+use Compress::Raw::Zlib 2.048 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS);
our ($VERSION);
-$VERSION = '2.033';
+$VERSION = '2.048';
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyInflate.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyInflate.pm
index 796230ec92a..a6ab437159a 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyInflate.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyInflate.pm
@@ -6,22 +6,22 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.033 qw(createSelfTiedObject);
+use IO::Compress::Base::Common 2.048 qw(createSelfTiedObject);
-use IO::Uncompress::Adapter::Inflate 2.033 ();
+use IO::Uncompress::Adapter::Inflate 2.048 ();
-use IO::Uncompress::Base 2.033 ;
-use IO::Uncompress::Gunzip 2.033 ;
-use IO::Uncompress::Inflate 2.033 ;
-use IO::Uncompress::RawInflate 2.033 ;
-use IO::Uncompress::Unzip 2.033 ;
+use IO::Uncompress::Base 2.048 ;
+use IO::Uncompress::Gunzip 2.048 ;
+use IO::Uncompress::Inflate 2.048 ;
+use IO::Uncompress::RawInflate 2.048 ;
+use IO::Uncompress::Unzip 2.048 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyInflateError);
-$VERSION = '2.033';
+$VERSION = '2.048';
$AnyInflateError = '';
@ISA = qw( Exporter IO::Uncompress::Base );
@@ -48,7 +48,7 @@ sub anyinflate
sub getExtraParams
{
- use IO::Compress::Base::Common 2.033 qw(:Parse);
+ use IO::Compress::Base::Common 2.048 qw(:Parse);
return ( 'RawInflate' => [1, 1, Parse_boolean, 0] ) ;
}
@@ -856,7 +856,7 @@ If the C<$z> object is associated with a file or a filehandle, C<fileno>
will return the underlying file descriptor. Once the C<close> method is
called C<fileno> will return C<undef>.
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
C<undef>.
=head2 close
@@ -951,7 +951,7 @@ See L<IO::Uncompress::AnyInflate::FAQ|IO::Uncompress::AnyInflate::FAQ/"Compresse
L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyUncompress>
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
L<Archive::Tar|Archive::Tar>,
@@ -980,7 +980,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2012 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyUncompress.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyUncompress.pm
index 64d2fa001a8..d9a48e6a240 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyUncompress.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/AnyUncompress.pm
@@ -4,16 +4,16 @@ use strict;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.033 qw(createSelfTiedObject);
+use IO::Compress::Base::Common 2.048 qw(createSelfTiedObject);
-use IO::Uncompress::Base 2.033 ;
+use IO::Uncompress::Base 2.048 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyUncompressError);
-$VERSION = '2.033';
+$VERSION = '2.048';
$AnyUncompressError = '';
@ISA = qw( Exporter IO::Uncompress::Base );
@@ -27,22 +27,22 @@ Exporter::export_ok_tags('all');
BEGIN
{
- eval ' use IO::Uncompress::Adapter::Inflate 2.033 ;';
- eval ' use IO::Uncompress::Adapter::Bunzip2 2.033 ;';
- eval ' use IO::Uncompress::Adapter::LZO 2.033 ;';
- eval ' use IO::Uncompress::Adapter::Lzf 2.033 ;';
- eval ' use IO::Uncompress::Adapter::UnLzma 2.020 ;';
- eval ' use IO::Uncompress::Adapter::UnXz 2.020 ;';
-
- eval ' use IO::Uncompress::Bunzip2 2.033 ;';
- eval ' use IO::Uncompress::UnLzop 2.033 ;';
- eval ' use IO::Uncompress::Gunzip 2.033 ;';
- eval ' use IO::Uncompress::Inflate 2.033 ;';
- eval ' use IO::Uncompress::RawInflate 2.033 ;';
- eval ' use IO::Uncompress::Unzip 2.033 ;';
- eval ' use IO::Uncompress::UnLzf 2.033 ;';
- eval ' use IO::Uncompress::UnLzma 2.033 ;';
- eval ' use IO::Uncompress::UnXz 2.033 ;';
+ eval ' use IO::Uncompress::Adapter::Inflate 2.048 ;';
+ eval ' use IO::Uncompress::Adapter::Bunzip2 2.048 ;';
+ eval ' use IO::Uncompress::Adapter::LZO 2.048 ;';
+ eval ' use IO::Uncompress::Adapter::Lzf 2.048 ;';
+ eval ' use IO::Uncompress::Adapter::UnLzma 2.048 ;';
+ eval ' use IO::Uncompress::Adapter::UnXz 2.048 ;';
+
+ eval ' use IO::Uncompress::Bunzip2 2.048 ;';
+ eval ' use IO::Uncompress::UnLzop 2.048 ;';
+ eval ' use IO::Uncompress::Gunzip 2.048 ;';
+ eval ' use IO::Uncompress::Inflate 2.048 ;';
+ eval ' use IO::Uncompress::RawInflate 2.048 ;';
+ eval ' use IO::Uncompress::Unzip 2.048 ;';
+ eval ' use IO::Uncompress::UnLzf 2.048 ;';
+ eval ' use IO::Uncompress::UnLzma 2.048 ;';
+ eval ' use IO::Uncompress::UnXz 2.048 ;';
}
sub new
@@ -60,7 +60,7 @@ sub anyuncompress
sub getExtraParams
{
- use IO::Compress::Base::Common 2.033 qw(:Parse);
+ use IO::Compress::Base::Common 2.048 qw(:Parse);
return ( 'RawInflate' => [1, 1, Parse_boolean, 0] ,
'UnLzma' => [1, 1, Parse_boolean, 0] ) ;
}
@@ -904,7 +904,7 @@ If the C<$z> object is associated with a file or a filehandle, C<fileno>
will return the underlying file descriptor. Once the C<close> method is
called C<fileno> will return C<undef>.
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
C<undef>.
=head2 close
@@ -995,7 +995,7 @@ Same as doing this
L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
L<Archive::Tar|Archive::Tar>,
@@ -1011,7 +1011,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2012 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Base.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Base.pm
index 77e4a8c5810..cb1e15e9aef 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Base.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Base.pm
@@ -9,13 +9,12 @@ our (@ISA, $VERSION, @EXPORT_OK, %EXPORT_TAGS);
@ISA = qw(Exporter IO::File);
-$VERSION = '2.033';
+$VERSION = '2.048';
use constant G_EOF => 0 ;
use constant G_ERR => -1 ;
-use IO::Compress::Base::Common 2.033 ;
-#use Parse::Parameters ;
+use IO::Compress::Base::Common 2.048 ;
use IO::File ;
use Symbol;
@@ -25,16 +24,12 @@ use Carp ;
%EXPORT_TAGS = ( );
push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
-#Exporter::export_ok_tags('all') ;
-
-
sub smartRead
{
my $self = $_[0];
my $out = $_[1];
my $size = $_[2];
- #$$out = "" ;
$$out = "" ;
my $offset = 0 ;
@@ -48,7 +43,6 @@ sub smartRead
}
if ( length *$self->{Prime} ) {
- #$$out = substr(*$self->{Prime}, 0, $size, '') ;
$$out = substr(*$self->{Prime}, 0, $size) ;
substr(*$self->{Prime}, 0, $size) = '' ;
if (length $$out == $size) {
@@ -86,7 +80,6 @@ sub smartRead
}
if (length $$out > $size ) {
- #*$self->{Prime} = substr($$out, $size, length($$out), '');
*$self->{Prime} = substr($$out, $size, length($$out));
substr($$out, $size, length($$out)) = '';
}
@@ -97,7 +90,6 @@ sub smartRead
no warnings 'uninitialized';
my $buf = *$self->{Buffer} ;
$$buf = '' unless defined $$buf ;
- #$$out = '' unless defined $$out ;
substr($$out, $offset) = substr($$buf, *$self->{BufferOffset}, $get_size);
if (*$self->{ConsumeInput})
{ substr($$buf, 0, $get_size) = '' }
@@ -148,19 +140,38 @@ sub smartSeek
my $self = shift ;
my $offset = shift ;
my $truncate = shift;
- #print "smartSeek to $offset\n";
+ my $position = shift || SEEK_SET;
# TODO -- need to take prime into account
if (defined *$self->{FH})
- { *$self->{FH}->seek($offset, SEEK_SET) }
+ { *$self->{FH}->seek($offset, $position) }
else {
- *$self->{BufferOffset} = $offset ;
+ if ($position == SEEK_END) {
+ *$self->{BufferOffset} = length ${ *$self->{Buffer} } + $offset ;
+ }
+ elsif ($position == SEEK_CUR) {
+ *$self->{BufferOffset} += $offset ;
+ }
+ else {
+ *$self->{BufferOffset} = $offset ;
+ }
+
substr(${ *$self->{Buffer} }, *$self->{BufferOffset}) = ''
if $truncate;
return 1;
}
}
+sub smartTell
+{
+ my $self = shift ;
+
+ if (defined *$self->{FH})
+ { return *$self->{FH}->tell() }
+ else
+ { return *$self->{BufferOffset} }
+}
+
sub smartWrite
{
my $self = shift ;
@@ -199,7 +210,8 @@ sub smartEof
#
# here, but this can cause trouble if
# the filehandle is itself a tied handle, but it uses sysread.
- # Then we get into mixing buffered & non-buffered IO, which will cause trouble
+ # Then we get into mixing buffered & non-buffered IO,
+ # which will cause trouble
my $info = $self->getErrInfo();
@@ -207,7 +219,7 @@ sub smartEof
my $status = $self->smartRead(\$buffer, 1);
$self->pushBack($buffer) if length $buffer;
$self->setErrInfo($info);
-
+
return $status == 0 ;
}
elsif (defined *$self->{InputEvent})
@@ -244,8 +256,6 @@ sub saveStatus
{
my $self = shift ;
my $errno = shift() + 0 ;
- #return $errno unless $errno || ! defined *$self->{ErrorNo};
- #return $errno unless $errno ;
*$self->{ErrorNo} = $errno;
${ *$self->{Error} } = '' ;
@@ -259,12 +269,9 @@ sub saveErrorString
my $self = shift ;
my $retval = shift ;
- #return $retval if ${ *$self->{Error} };
-
${ *$self->{Error} } = shift ;
- *$self->{ErrorNo} = shift() + 0 if @_ ;
+ *$self->{ErrorNo} = @_ ? shift() + 0 : STATUS_ERROR ;
- #warn "saveErrorString: " . ${ *$self->{Error} } . " " . *$self->{Error} . "\n" ;
return $retval;
}
@@ -482,14 +489,32 @@ sub _create
return undef
unless defined $status;
- if ( ! $status) {
+ *$obj->{InNew} = 0;
+ *$obj->{Closed} = 0;
+
+ if ($status) {
+ # Need to try uncompressing to catch the case
+ # where the compressed file uncompresses to an
+ # empty string - so eof is set immediately.
+
+ my $out_buffer = '';
+
+ $status = $obj->read(\$out_buffer);
+
+ if ($status < 0) {
+ *$obj->{ReadStatus} = [ $status, $obj->error(), $obj->errorNo() ];
+ }
+
+ $obj->ungetc($out_buffer)
+ if length $out_buffer;
+ }
+ else {
return undef
unless *$obj->{Transparent};
$obj->clearError();
*$obj->{Type} = 'plain';
*$obj->{Plain} = 1;
- #$status = $obj->mkIdentityUncomp($class, $got);
$obj->pushBack(*$obj->{HeaderPending}) ;
}
@@ -706,7 +731,7 @@ sub _rd2
while (($status = $z->read($x->{buff})) > 0) {
if ($fh) {
- print $fh ${ $x->{buff} }
+ syswrite $fh, ${ $x->{buff} }
or return $z->saveErrorString(undef, "Error writing to output file: $!", $!);
${ $x->{buff} } = '' ;
}
@@ -725,7 +750,6 @@ sub _rd2
}
last if $status < 0 || $z->smartEof();
- #last if $status < 0 ;
last
unless *$self->{MultiStream};
@@ -784,7 +808,7 @@ sub readBlock
}
my $status = $self->smartRead($buff, $size) ;
- return $self->saveErrorString(STATUS_ERROR, "Error Reading Data: $!")
+ return $self->saveErrorString(STATUS_ERROR, "Error Reading Data: $!", $!)
if $status == STATUS_ERROR ;
if ($status == 0 ) {
@@ -811,7 +835,6 @@ sub _raw_read
my $self = shift ;
return G_EOF if *$self->{Closed} ;
- #return G_EOF if !length *$self->{Pending} && *$self->{EndStream} ;
return G_EOF if *$self->{EndStream} ;
my $buffer = shift ;
@@ -851,6 +874,7 @@ sub _raw_read
my $temp_buf = '';
my $outSize = 0;
my $status = $self->readBlock(\$temp_buf, *$self->{BlockSize}, $outSize) ;
+
return G_ERR
if $status == STATUS_ERROR ;
@@ -879,7 +903,7 @@ sub _raw_read
*$self->{TotalInflatedBytesRead} += $buf_len ;
*$self->{UnCompSize}->add($buf_len) ;
- $self->filterUncompressed($buffer);
+ $self->filterUncompressed($buffer, $before_len);
if (*$self->{Encoding}) {
$$buffer = *$self->{Encoding}->decode($$buffer);
@@ -889,8 +913,6 @@ sub _raw_read
if ($status == STATUS_ENDSTREAM) {
*$self->{EndStream} = 1 ;
-#$self->pushBack($temp_buf) ;
-#$temp_buf = '';
my $trailer;
my $trailer_size = *$self->{Info}{TrailerLength} ;
@@ -980,12 +1002,13 @@ sub gotoNextStream
*$self->{NewStream} = 0 ;
*$self->{EndStream} = 0 ;
+ *$self->{CompressedInputLengthDone} = undef ;
+ *$self->{CompressedInputLength} = undef ;
$self->reset();
*$self->{UnCompSize}->reset();
*$self->{CompSize}->reset();
my $magic = $self->ckMagic();
- #*$self->{EndStream} = 0 ;
if ( ! defined $magic) {
if (! *$self->{Transparent} || $self->eof())
@@ -1021,6 +1044,13 @@ sub streamCount
return scalar @{ *$self->{InfoList} } ;
}
+#sub read
+#{
+# my $status = myRead(@_);
+# return undef if $status < 0;
+# return $status;
+#}
+
sub read
{
# return codes
@@ -1030,6 +1060,13 @@ sub read
my $self = shift ;
+ if (defined *$self->{ReadStatus} ) {
+ my $status = *$self->{ReadStatus}[0];
+ $self->saveErrorString( @{ *$self->{ReadStatus} } );
+ delete *$self->{ReadStatus} ;
+ return $status ;
+ }
+
return G_EOF if *$self->{Closed} ;
my $buffer ;
@@ -1065,6 +1102,9 @@ sub read
}
}
}
+ elsif (! defined $$buffer) {
+ $$buffer = '' ;
+ }
return G_EOF if !length *$self->{Pending} && *$self->{EndStream} ;
@@ -1121,7 +1161,6 @@ sub read
*$self->{Pending} = $out_buffer;
$out_buffer = \*$self->{Pending} ;
- #substr($$buffer, $offset) = substr($$out_buffer, 0, $length, '') ;
substr($$buffer, $offset) = substr($$out_buffer, 0, $length) ;
substr($$out_buffer, 0, $length) = '' ;
@@ -1137,7 +1176,7 @@ sub _getline
if ( ! defined $/ ) {
my $data ;
1 while ($status = $self->read($data)) > 0 ;
- return $status < 0 ? \undef : \$data ;
+ return ($status, \$data);
}
# Record Mode
@@ -1145,7 +1184,7 @@ sub _getline
my $reclen = ${$/} ;
my $data ;
$status = $self->read($data, $reclen) ;
- return $status < 0 ? \undef : \$data ;
+ return ($status, \$data);
}
# Paragraph Mode
@@ -1155,47 +1194,54 @@ sub _getline
if ($paragraph =~ s/^(.*?\n\n+)//s) {
*$self->{Pending} = $paragraph ;
my $par = $1 ;
- return \$par ;
+ return (1, \$par);
}
}
- return $status < 0 ? \undef : \$paragraph;
+ return ($status, \$paragraph);
}
# $/ isn't empty, or a reference, so it's Line Mode.
{
my $line ;
- my $offset;
my $p = \*$self->{Pending} ;
-
- if (length(*$self->{Pending}) &&
- ($offset = index(*$self->{Pending}, $/)) >=0) {
- my $l = substr(*$self->{Pending}, 0, $offset + length $/ );
- substr(*$self->{Pending}, 0, $offset + length $/) = '';
- return \$l;
- }
-
while (($status = $self->read($line)) > 0 ) {
my $offset = index($line, $/);
if ($offset >= 0) {
my $l = substr($line, 0, $offset + length $/ );
substr($line, 0, $offset + length $/) = '';
$$p = $line;
- return \$l;
+ return (1, \$l);
}
}
- return $status < 0 ? \undef : \$line;
+ return ($status, \$line);
}
}
sub getline
{
my $self = shift;
+
+ if (defined *$self->{ReadStatus} ) {
+ $self->saveErrorString( @{ *$self->{ReadStatus} } );
+ delete *$self->{ReadStatus} ;
+ return undef;
+ }
+
+ return undef
+ if *$self->{Closed} || (!length *$self->{Pending} && *$self->{EndStream}) ;
+
my $current_append = *$self->{AppendOutput} ;
*$self->{AppendOutput} = 1;
- my $lineref = $self->_getline();
- $. = ++ *$self->{LineNo} if defined $$lineref ;
+
+ my ($status, $lineref) = $self->_getline();
*$self->{AppendOutput} = $current_append;
+
+ return undef
+ if $status < 0 || length $$lineref == 0 ;
+
+ $. = ++ *$self->{LineNo} ;
+
return $$lineref ;
}
@@ -1289,7 +1335,6 @@ sub close
if (defined *$self->{FH}) {
if ((! *$self->{Handle} || *$self->{AutoClose}) && ! *$self->{StdIO}) {
- #if ( *$self->{AutoClose}) {
local $.;
$! = 0 ;
$status = *$self->{FH}->close();
@@ -1420,7 +1465,6 @@ sub input_line_number
sub _notAvailable
{
my $name = shift ;
- #return sub { croak "$name Not Available" ; } ;
return sub { croak "$name Not Available: File opened only for intput" ; } ;
}
@@ -1460,7 +1504,7 @@ purpose if to to be sub-classed by IO::Uncompress modules.
L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
L<Archive::Tar|Archive::Tar>,
@@ -1476,7 +1520,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2012 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Bunzip2.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Bunzip2.pm
index 39adbef079b..f53513a7e48 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Bunzip2.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Bunzip2.pm
@@ -4,15 +4,15 @@ use strict ;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.033 qw(:Status createSelfTiedObject);
+use IO::Compress::Base::Common 2.048 qw(:Status createSelfTiedObject);
-use IO::Uncompress::Base 2.033 ;
-use IO::Uncompress::Adapter::Bunzip2 2.033 ;
+use IO::Uncompress::Base 2.048 ;
+use IO::Uncompress::Adapter::Bunzip2 2.048 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bunzip2Error);
-$VERSION = '2.033';
+$VERSION = '2.048';
$Bunzip2Error = '';
@ISA = qw( Exporter IO::Uncompress::Base );
@@ -40,7 +40,7 @@ sub getExtraParams
{
my $self = shift ;
- use IO::Compress::Base::Common 2.033 qw(:Parse);
+ use IO::Compress::Base::Common 2.048 qw(:Parse);
return (
'Verbosity' => [1, 1, Parse_boolean, 0],
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Gunzip.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Gunzip.pm
index 94fd6756d9e..bf803ae161b 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Gunzip.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Gunzip.pm
@@ -1,7 +1,7 @@
package IO::Uncompress::Gunzip ;
-require 5.004 ;
+require 5.006 ;
# for RFC1952
@@ -9,12 +9,12 @@ use strict ;
use warnings;
use bytes;
-use IO::Uncompress::RawInflate 2.033 ;
+use IO::Uncompress::RawInflate 2.048 ;
-use Compress::Raw::Zlib 2.033 qw( crc32 ) ;
-use IO::Compress::Base::Common 2.033 qw(:Status createSelfTiedObject);
-use IO::Compress::Gzip::Constants 2.033 ;
-use IO::Compress::Zlib::Extra 2.033 ;
+use Compress::Raw::Zlib 2.048 () ;
+use IO::Compress::Base::Common 2.048 qw(:Status createSelfTiedObject);
+use IO::Compress::Gzip::Constants 2.048 ;
+use IO::Compress::Zlib::Extra 2.048 ;
require Exporter ;
@@ -28,7 +28,7 @@ Exporter::export_ok_tags('all');
$GunzipError = '';
-$VERSION = '2.033';
+$VERSION = '2.048';
sub new
{
@@ -47,7 +47,7 @@ sub gunzip
sub getExtraParams
{
- use IO::Compress::Base::Common 2.033 qw(:Parse);
+ use IO::Compress::Base::Common 2.048 qw(:Parse);
return ( 'ParseExtra' => [1, 1, Parse_boolean, 0] ) ;
}
@@ -222,7 +222,7 @@ sub _readGzipHeader($)
or return $self->TruncatedHeader("FHCRC");
$HeaderCRC = unpack("v", $buffer) ;
- my $crc16 = crc32($keep) & 0xFF ;
+ my $crc16 = Compress::Raw::Zlib::crc32($keep) & 0xFF ;
return $self->HeaderError("CRC16 mismatch.")
if *$self->{Strict} && $crc16 != $HeaderCRC;
@@ -980,7 +980,7 @@ If the C<$z> object is associated with a file or a filehandle, C<fileno>
will return the underlying file descriptor. Once the C<close> method is
called C<fileno> will return C<undef>.
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
C<undef>.
=head2 close
@@ -1075,7 +1075,7 @@ See L<IO::Uncompress::Gunzip::FAQ|IO::Uncompress::Gunzip::FAQ/"Compressed files
L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
L<Archive::Tar|Archive::Tar>,
@@ -1104,7 +1104,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2012 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Inflate.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Inflate.pm
index a7b12fcde4f..7a40889fa84 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Inflate.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Inflate.pm
@@ -5,15 +5,15 @@ use strict ;
use warnings;
use bytes;
-use IO::Compress::Base::Common 2.033 qw(:Status createSelfTiedObject);
-use IO::Compress::Zlib::Constants 2.033 ;
+use IO::Compress::Base::Common 2.048 qw(:Status createSelfTiedObject);
+use IO::Compress::Zlib::Constants 2.048 ;
-use IO::Uncompress::RawInflate 2.033 ;
+use IO::Uncompress::RawInflate 2.048 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $InflateError);
-$VERSION = '2.033';
+$VERSION = '2.048';
$InflateError = '';
@ISA = qw( Exporter IO::Uncompress::RawInflate );
@@ -851,7 +851,7 @@ If the C<$z> object is associated with a file or a filehandle, C<fileno>
will return the underlying file descriptor. Once the C<close> method is
called C<fileno> will return C<undef>.
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
C<undef>.
=head2 close
@@ -946,7 +946,7 @@ See L<IO::Uncompress::Inflate::FAQ|IO::Uncompress::Inflate::FAQ/"Compressed file
L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
L<Archive::Tar|Archive::Tar>,
@@ -975,7 +975,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2012 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/RawInflate.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/RawInflate.pm
index 07d70e316c7..0372ec72e35 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/RawInflate.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/RawInflate.pm
@@ -5,16 +5,16 @@ use strict ;
use warnings;
use bytes;
-use Compress::Raw::Zlib 2.033 ;
-use IO::Compress::Base::Common 2.033 qw(:Status createSelfTiedObject);
+use Compress::Raw::Zlib 2.048 ;
+use IO::Compress::Base::Common 2.048 qw(:Status createSelfTiedObject);
-use IO::Uncompress::Base 2.033 ;
-use IO::Uncompress::Adapter::Inflate 2.033 ;
+use IO::Uncompress::Base 2.048 ;
+use IO::Uncompress::Adapter::Inflate 2.048 ;
require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $RawInflateError);
-$VERSION = '2.033';
+$VERSION = '2.048';
$RawInflateError = '';
@ISA = qw( Exporter IO::Uncompress::Base );
@@ -979,7 +979,7 @@ If the C<$z> object is associated with a file or a filehandle, C<fileno>
will return the underlying file descriptor. Once the C<close> method is
called C<fileno> will return C<undef>.
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
C<undef>.
=head2 close
@@ -1074,7 +1074,7 @@ See L<IO::Uncompress::RawInflate::FAQ|IO::Uncompress::RawInflate::FAQ/"Compresse
L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
L<Archive::Tar|Archive::Tar>,
@@ -1103,7 +1103,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2012 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IO/Uncompress/Unzip.pm b/Master/tlpkg/tlperl/lib/IO/Uncompress/Unzip.pm
index a678251a899..7b2121c4e75 100644
--- a/Master/tlpkg/tlperl/lib/IO/Uncompress/Unzip.pm
+++ b/Master/tlpkg/tlperl/lib/IO/Uncompress/Unzip.pm
@@ -1,6 +1,6 @@
package IO::Uncompress::Unzip;
-require 5.004 ;
+require 5.006 ;
# for RFC1952
@@ -8,21 +8,22 @@ use strict ;
use warnings;
use bytes;
-use IO::Uncompress::RawInflate 2.033 ;
-use IO::Compress::Base::Common 2.033 qw(:Status createSelfTiedObject);
-use IO::Uncompress::Adapter::Inflate 2.033 ;
-use IO::Uncompress::Adapter::Identity 2.033 ;
-use IO::Compress::Zlib::Extra 2.033 ;
-use IO::Compress::Zip::Constants 2.033 ;
+use IO::File;
+use IO::Uncompress::RawInflate 2.048 ;
+use IO::Compress::Base::Common 2.048 qw(:Status createSelfTiedObject);
+use IO::Uncompress::Adapter::Inflate 2.048 ;
+use IO::Uncompress::Adapter::Identity 2.048 ;
+use IO::Compress::Zlib::Extra 2.048 ;
+use IO::Compress::Zip::Constants 2.048 ;
-use Compress::Raw::Zlib 2.033 qw(crc32) ;
+use Compress::Raw::Zlib 2.048 () ;
BEGIN
{
eval { require IO::Uncompress::Adapter::Bunzip2 ;
import IO::Uncompress::Adapter::Bunzip2 } ;
-# eval { require IO::Uncompress::Adapter::UnLzma ;
-# import IO::Uncompress::Adapter::UnLzma } ;
+ eval { require IO::Uncompress::Adapter::UnLzma ;
+ import IO::Uncompress::Adapter::UnLzma } ;
}
@@ -30,7 +31,7 @@ require Exporter ;
our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnzipError, %headerLookup);
-$VERSION = '2.033';
+$VERSION = '2.048';
$UnzipError = '';
@ISA = qw(Exporter IO::Uncompress::RawInflate);
@@ -63,15 +64,16 @@ sub unzip
sub getExtraParams
{
- use IO::Compress::Base::Common 2.033 qw(:Parse);
+ use IO::Compress::Base::Common 2.048 qw(:Parse);
return (
# # Zip header fields
'Name' => [1, 1, Parse_any, undef],
-# 'Stream' => [1, 1, Parse_boolean, 1],
- # This means reading the central directory to get
+ 'Stream' => [1, 1, Parse_boolean, 0],
+
+ # TODO - This means reading the central directory to get
# 1. the local header offsets
# 2. The compressed data length
);
@@ -415,7 +417,7 @@ sub skipCentralDirectory64Rec
my $keep = $magic . $buffer ;
my ($sizeLo, $sizeHi) = unpack ("V V", $buffer);
- my $size = $sizeHi * 0xFFFFFFFF + $sizeLo;
+ my $size = $sizeHi * U64::MAX32 + $sizeLo;
$self->fastForward($size)
or return $self->TrailerError("Minimum header size is " .
@@ -473,8 +475,8 @@ sub skipEndCentralDirectory
#my $cntrlDirDiskNo = unpack ("v", substr($buffer, 6-4, 2));
#my $entriesInThisCD = unpack ("v", substr($buffer, 8-4, 2));
#my $entriesInCD = unpack ("v", substr($buffer, 10-4, 2));
- #my $sizeOfCD = unpack ("V", substr($buffer, 12-4, 2));
- #my $offsetToCD = unpack ("V", substr($buffer, 16-4, 2));
+ #my $sizeOfCD = unpack ("V", substr($buffer, 12-4, 4));
+ #my $offsetToCD = unpack ("V", substr($buffer, 16-4, 4));
my $comment_length = unpack ("v", substr($buffer, 20-4, 2));
@@ -549,9 +551,6 @@ sub _readZipHeader($)
my @EXTRA = ();
my $streamingMode = ($gpFlag & ZIP_GP_FLAG_STREAMING_MASK) ? 1 : 0 ;
- return $self->HeaderError("Streamed Stored content not supported")
- if $streamingMode && $compressedMethod == 0 ;
-
return $self->HeaderError("Encrypted content not supported")
if $gpFlag & (ZIP_GP_FLAG_ENCRYPTED_MASK|ZIP_GP_FLAG_STRONG_ENCRYPTED_MASK);
@@ -601,14 +600,14 @@ sub _readZipHeader($)
if (! $streamingMode) {
my $offset = 0 ;
- if ($uncompressedLength->get32bit() == 0xFFFFFFFF ) {
+ if (U64::full32 $uncompressedLength->get32bit() ) {
$uncompressedLength
= U64::newUnpack_V64 substr($buff, 0, 8);
$offset += 8 ;
}
- if ($compressedLength->get32bit() == 0xFFFFFFFF) {
+ if (U64::full32 $compressedLength->get32bit() ) {
$compressedLength
= U64::newUnpack_V64 substr($buff, $offset, 8);
@@ -630,7 +629,7 @@ sub _readZipHeader($)
*$self->{CompressedInputLength} = $compressedLength->get64bit();
}
- *$self->{ZipData}{CRC32} = crc32(undef);
+ *$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32(undef);
*$self->{ZipData}{Method} = $compressedMethod;
if ($compressedMethod == ZIP_CM_DEFLATE)
{
@@ -650,41 +649,41 @@ sub _readZipHeader($)
*$self->{Uncomp} = $obj;
}
-# elsif ($compressedMethod == ZIP_CM_LZMA)
-# {
-# return $self->HeaderError("Unsupported Compression format $compressedMethod")
-# if ! defined $IO::Uncompress::Adapter::UnLzma::VERSION ;
-#
-# *$self->{Type} = 'zip-lzma';
-# my $LzmaHeader;
-# $self->smartReadExact(\$LzmaHeader, 4)
-# or return $self->saveErrorString(undef, "Truncated file");
-# my ($verHi, $verLo) = unpack ("CC", substr($LzmaHeader, 0, 2));
-# my $LzmaPropertiesSize = unpack ("v", substr($LzmaHeader, 2, 2));
-#
-#
-# my $LzmaPropertyData;
-# $self->smartReadExact(\$LzmaPropertyData, $LzmaPropertiesSize)
-# or return $self->saveErrorString(undef, "Truncated file");
-# #my $LzmaInfo = unpack ("C", substr($LzmaPropertyData, 0, 1));
-# #my $LzmaDictSize = unpack ("V", substr($LzmaPropertyData, 1, 4));
-#
-# # Create an LZMA_Alone header
-# $self->pushBack($LzmaPropertyData .
-# $uncompressedLength->getPacked_V64());
-#
-# my $obj =
-# IO::Uncompress::Adapter::UnLzma::mkUncompObject();
-#
-# *$self->{Uncomp} = $obj;
-# }
- elsif ($compressedMethod == ZIP_CM_STORE)
+ elsif ($compressedMethod == ZIP_CM_LZMA)
{
- # TODO -- add support for reading uncompressed
+ return $self->HeaderError("Unsupported Compression format $compressedMethod")
+ if ! defined $IO::Uncompress::Adapter::UnLzma::VERSION ;
+
+ *$self->{Type} = 'zip-lzma';
+ my $LzmaHeader;
+ $self->smartReadExact(\$LzmaHeader, 4)
+ or return $self->saveErrorString(undef, "Truncated file");
+ my ($verHi, $verLo) = unpack ("CC", substr($LzmaHeader, 0, 2));
+ my $LzmaPropertiesSize = unpack ("v", substr($LzmaHeader, 2, 2));
+
+ my $LzmaPropertyData;
+ $self->smartReadExact(\$LzmaPropertyData, $LzmaPropertiesSize)
+ or return $self->saveErrorString(undef, "Truncated file");
+
+ if (! $streamingMode) {
+ *$self->{ZipData}{CompressedLen}->subtract(4 + $LzmaPropertiesSize) ;
+ *$self->{CompressedInputLengthRemaining} =
+ *$self->{CompressedInputLength} = *$self->{ZipData}{CompressedLen}->get64bit();
+ }
+
+ my $obj =
+ IO::Uncompress::Adapter::UnLzma::mkUncompZipObject($LzmaPropertyData);
+
+ *$self->{Uncomp} = $obj;
+ }
+ elsif ($compressedMethod == ZIP_CM_STORE)
+ {
*$self->{Type} = 'zip-stored';
- my $obj = IO::Uncompress::Adapter::Identity::mkUncompObject();
+ my $obj =
+ IO::Uncompress::Adapter::Identity::mkUncompObject($streamingMode,
+ $zip64);
*$self->{Uncomp} = $obj;
}
@@ -746,7 +745,7 @@ sub filterUncompressed
*$self->{ZipData}{CRC32} = *$self->{Uncomp}->crc32() ;
}
else {
- *$self->{ZipData}{CRC32} = crc32(${$_[0]}, *$self->{ZipData}{CRC32});
+ *$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32(${$_[0]}, *$self->{ZipData}{CRC32}, $_[1]);
}
}
@@ -772,6 +771,262 @@ sub _dosToUnixTime
return $time_t;
}
+#sub scanCentralDirectory
+#{
+# # Use cases
+# # 1 32-bit CD
+# # 2 64-bit CD
+#
+# my $self = shift ;
+#
+# my @CD = ();
+# my $offset = $self->findCentralDirectoryOffset();
+#
+# return 0
+# if ! defined $offset;
+#
+# $self->smarkSeek($offset, 0, SEEK_SET) ;
+#
+# # Now walk the Central Directory Records
+# my $buffer ;
+# while ($self->smartReadExact(\$buffer, 46) &&
+# unpack("V", $buffer) == ZIP_CENTRAL_HDR_SIG) {
+#
+# my $compressedLength = unpack ("V", substr($buffer, 20, 4));
+# my $filename_length = unpack ("v", substr($buffer, 28, 2));
+# my $extra_length = unpack ("v", substr($buffer, 30, 2));
+# my $comment_length = unpack ("v", substr($buffer, 32, 2));
+#
+# $self->smarkSeek($filename_length + $extra_length + $comment_length, 0, SEEK_CUR)
+# if $extra_length || $comment_length || $filename_length;
+# push @CD, $compressedLength ;
+# }
+#
+#}
+#
+#sub findCentralDirectoryOffset
+#{
+# my $self = shift ;
+#
+# # Most common use-case is where there is no comment, so
+# # know exactly where the end of central directory record
+# # should be.
+#
+# $self->smarkSeek(-22, 0, SEEK_END) ;
+#
+# my $buffer;
+# $self->smartReadExact(\$buffer, 22) ;
+#
+# my $zip64 = 0;
+# my $centralDirOffset ;
+# if ( unpack("V", $buffer) == ZIP_END_CENTRAL_HDR_SIG ) {
+# $centralDirOffset = unpack ("V", substr($buffer, 16, 2));
+# }
+# else {
+# die "xxxx";
+# }
+#
+# return $centralDirOffset ;
+#}
+#
+#sub is84BitCD
+#{
+# # TODO
+# my $self = shift ;
+#}
+
+
+sub skip
+{
+ my $self = shift;
+ my $size = shift;
+
+ use Fcntl qw(SEEK_CUR);
+ if (ref $size eq 'U64') {
+ $self->smartSeek($size->get64bit(), SEEK_CUR);
+ }
+ else {
+ $self->smartSeek($size, SEEK_CUR);
+ }
+
+}
+
+
+sub scanCentralDirectory
+{
+ my $self = shift;
+
+ my $here = $self->tell();
+
+ # Use cases
+ # 1 32-bit CD
+ # 2 64-bit CD
+
+ my @CD = ();
+ my $offset = $self->findCentralDirectoryOffset();
+
+ return ()
+ if ! defined $offset;
+
+ $self->smarkSeek($offset, 0, SEEK_SET) ;
+
+ # Now walk the Central Directory Records
+ my $buffer ;
+ while ($self->smartReadExact(\$buffer, 46) &&
+ unpack("V", $buffer) == ZIP_CENTRAL_HDR_SIG) {
+
+ my $compressedLength = unpack("V", substr($buffer, 20, 4));
+ my $uncompressedLength = unpack("V", substr($buffer, 24, 4));
+ my $filename_length = unpack("v", substr($buffer, 28, 2));
+ my $extra_length = unpack("v", substr($buffer, 30, 2));
+ my $comment_length = unpack("v", substr($buffer, 32, 2));
+
+ $self->skip($filename_length ) ;
+
+ my $v64 = new U64 $compressedLength ;
+
+ if (U64::full32 $compressedLength ) {
+ $self->smartReadExact(\$buffer, $extra_length) ;
+ die "xxx $offset $comment_length $filename_length $extra_length" . length($buffer)
+ if length($buffer) != $extra_length;
+ my $got = $self->get64Extra($buffer, U64::full32 $uncompressedLength);
+
+ # If not Zip64 extra field, assume size is 0xFFFFFFFF
+ $v64 = $got if defined $got;
+ }
+ else {
+ $self->skip($extra_length) ;
+ }
+
+ $self->skip($comment_length ) ;
+
+ push @CD, $v64 ;
+ }
+
+ $self->smartSeek($here, 0, SEEK_SET) ;
+
+ return @CD;
+}
+
+sub get64Extra
+{
+ my $self = shift ;
+
+ my $buffer = shift;
+ my $is_uncomp = shift ;
+
+ my $extra = IO::Compress::Zlib::Extra::findID(0x0001, $buffer);
+
+ if (! defined $extra)
+ {
+ return undef;
+ }
+ else
+ {
+ my $u64 = U64::newUnpack_V64(substr($extra, $is_uncomp ? 8 : 0)) ;
+ return $u64;
+ }
+}
+
+sub offsetFromZip64
+{
+ my $self = shift ;
+ my $here = shift;
+
+ $self->smartSeek($here - 20, 0, SEEK_SET)
+ or die "xx $!" ;
+
+ my $buffer;
+ my $got = 0;
+ $self->smartReadExact(\$buffer, 20)
+ or die "xxx $here $got $!" ;
+
+ if ( unpack("V", $buffer) == ZIP64_END_CENTRAL_LOC_HDR_SIG ) {
+ my $cd64 = U64::Value_VV64 substr($buffer, 8, 8);
+
+ $self->smartSeek($cd64, 0, SEEK_SET) ;
+
+ $self->smartReadExact(\$buffer, 4)
+ or die "xxx" ;
+
+ if ( unpack("V", $buffer) == ZIP64_END_CENTRAL_REC_HDR_SIG ) {
+
+ $self->smartReadExact(\$buffer, 8)
+ or die "xxx" ;
+ my $size = U64::Value_VV64($buffer);
+ $self->smartReadExact(\$buffer, $size)
+ or die "xxx" ;
+
+ my $cd64 = U64::Value_VV64 substr($buffer, 36, 8);
+
+ return $cd64 ;
+ }
+
+ die "zzz";
+ }
+
+ die "zzz";
+}
+
+use constant Pack_ZIP_END_CENTRAL_HDR_SIG => pack("V", ZIP_END_CENTRAL_HDR_SIG);
+
+sub findCentralDirectoryOffset
+{
+ my $self = shift ;
+
+ # Most common use-case is where there is no comment, so
+ # know exactly where the end of central directory record
+ # should be.
+
+ $self->smartSeek(-22, 0, SEEK_END) ;
+ my $here = $self->tell();
+
+ my $buffer;
+ $self->smartReadExact(\$buffer, 22)
+ or die "xxx" ;
+
+ my $zip64 = 0;
+ my $centralDirOffset ;
+ if ( unpack("V", $buffer) == ZIP_END_CENTRAL_HDR_SIG ) {
+ $centralDirOffset = unpack("V", substr($buffer, 16, 4));
+ }
+ else {
+ $self->smartSeek(0, 0, SEEK_END) ;
+
+ my $fileLen = $self->tell();
+ my $want = 0 ;
+
+ while(1) {
+ $want += 1024;
+ my $seekTo = $fileLen - $want;
+ if ($seekTo < 0 ) {
+ $seekTo = 0;
+ $want = $fileLen ;
+ }
+ $self->smartSeek( $seekTo, 0, SEEK_SET)
+ or die "xxx $!" ;
+ my $got;
+ $self->smartReadExact($buffer, $want)
+ or die "xxx " ;
+ my $pos = rindex( $buffer, Pack_ZIP_END_CENTRAL_HDR_SIG);
+
+ if ($pos >= 0) {
+ #$here = $self->tell();
+ $here = $seekTo + $pos ;
+ $centralDirOffset = unpack("V", substr($buffer, $pos + 16, 4));
+ last ;
+ }
+
+ return undef
+ if $want == $fileLen;
+ }
+ }
+
+ $centralDirOffset = $self->offsetFromZip64($here)
+ if U64::full32 $centralDirOffset ;
+
+ return $centralDirOffset ;
+}
1;
@@ -1425,7 +1680,7 @@ If the C<$z> object is associated with a file or a filehandle, C<fileno>
will return the underlying file descriptor. Once the C<close> method is
called C<fileno> will return C<undef>.
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
C<undef>.
=head2 close
@@ -1528,7 +1783,7 @@ stream at a time.
or die "Cannot open $zipfile: $UnzipError";
my $status;
- for ($status = 1; ! $u->eof(); $status = $u->nextStream())
+ for ($status = 1; $stream > 0; $status = $u->nextStream())
{
my $name = $u->getHeaderInfo()->{Name};
@@ -1557,7 +1812,7 @@ skipping to the next one.
L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
L<Archive::Tar|Archive::Tar>,
@@ -1586,7 +1841,7 @@ See the Changes file.
=head1 COPYRIGHT AND LICENSE
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2012 Paul Marquess. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/IPC/Cmd.pm b/Master/tlpkg/tlperl/lib/IPC/Cmd.pm
index 5c59277d010..99ba7bf9886 100644
--- a/Master/tlpkg/tlperl/lib/IPC/Cmd.pm
+++ b/Master/tlpkg/tlperl/lib/IPC/Cmd.pm
@@ -4,25 +4,26 @@ use strict;
BEGIN {
- use constant IS_VMS => $^O eq 'VMS' ? 1 : 0;
+ use constant IS_VMS => $^O eq 'VMS' ? 1 : 0;
use constant IS_WIN32 => $^O eq 'MSWin32' ? 1 : 0;
use constant IS_WIN98 => (IS_WIN32 and !Win32::IsWinNT()) ? 1 : 0;
use constant ALARM_CLASS => __PACKAGE__ . '::TimeOut';
use constant SPECIAL_CHARS => qw[< > | &];
- use constant QUOTE => do { IS_WIN32 ? q["] : q['] };
+ use constant QUOTE => do { IS_WIN32 ? q["] : q['] };
use Exporter ();
use vars qw[ @ISA $VERSION @EXPORT_OK $VERBOSE $DEBUG
$USE_IPC_RUN $USE_IPC_OPEN3 $CAN_USE_RUN_FORKED $WARN
- $INSTANCES
+ $INSTANCES $ALLOW_NULL_ARGS
];
- $VERSION = '0.70';
+ $VERSION = '0.76';
$VERBOSE = 0;
$DEBUG = 0;
$WARN = 1;
$USE_IPC_RUN = IS_WIN32 && !IS_WIN98;
$USE_IPC_OPEN3 = not IS_VMS;
+ $ALLOW_NULL_ARGS = 0;
$CAN_USE_RUN_FORKED = 0;
eval {
@@ -42,6 +43,7 @@ BEGIN {
}
require Carp;
+use Socket;
use File::Spec;
use Params::Check qw[check];
use Text::ParseWords (); # import ONLY if needed!
@@ -85,14 +87,14 @@ IPC::Cmd - finding and running system commands made easy
}
### check for features
- print "IPC::Open3 available: " . IPC::Cmd->can_use_ipc_open3;
- print "IPC::Run available: " . IPC::Cmd->can_use_ipc_run;
- print "Can capture buffer: " . IPC::Cmd->can_capture_buffer;
+ print "IPC::Open3 available: " . IPC::Cmd->can_use_ipc_open3;
+ print "IPC::Run available: " . IPC::Cmd->can_use_ipc_run;
+ print "Can capture buffer: " . IPC::Cmd->can_capture_buffer;
### don't have IPC::Cmd be verbose, ie don't print to stdout or
### stderr when running commands -- default is '0'
$IPC::Cmd::VERBOSE = 0;
-
+
=head1 DESCRIPTION
@@ -104,57 +106,57 @@ and if so where, whereas the C<run> function can actually execute any
of the commands you give it and give you a clear return value, as well
as adhere to your verbosity settings.
-=head1 CLASS METHODS
+=head1 CLASS METHODS
=head2 $ipc_run_version = IPC::Cmd->can_use_ipc_run( [VERBOSE] )
-Utility function that tells you if C<IPC::Run> is available.
+Utility function that tells you if C<IPC::Run> is available.
If the C<verbose> flag is passed, it will print diagnostic messages
if L<IPC::Run> can not be found or loaded.
=cut
-sub can_use_ipc_run {
+sub can_use_ipc_run {
my $self = shift;
my $verbose = shift || 0;
-
+
### IPC::Run doesn't run on win98
return if IS_WIN98;
### if we dont have ipc::run, we obviously can't use it.
return unless can_load(
- modules => { 'IPC::Run' => '0.55' },
+ modules => { 'IPC::Run' => '0.55' },
verbose => ($WARN && $verbose),
);
-
+
### otherwise, we're good to go
- return $IPC::Run::VERSION;
+ return $IPC::Run::VERSION;
}
=head2 $ipc_open3_version = IPC::Cmd->can_use_ipc_open3( [VERBOSE] )
-Utility function that tells you if C<IPC::Open3> is available.
+Utility function that tells you if C<IPC::Open3> is available.
If the verbose flag is passed, it will print diagnostic messages
if C<IPC::Open3> can not be found or loaded.
=cut
-sub can_use_ipc_open3 {
+sub can_use_ipc_open3 {
my $self = shift;
my $verbose = shift || 0;
### IPC::Open3 is not working on VMS because of a lack of fork.
return if IS_VMS;
- ### IPC::Open3 works on every non-VMS platform platform, but it can't
+ ### IPC::Open3 works on every non-VMS platform platform, but it can't
### capture buffers on win32 :(
return unless can_load(
modules => { map {$_ => '0.0'} qw|IPC::Open3 IO::Select Symbol| },
verbose => ($WARN && $verbose),
);
-
+
return $IPC::Open3::VERSION;
}
@@ -168,8 +170,8 @@ capturing buffers in it's current configuration.
sub can_capture_buffer {
my $self = shift;
- return 1 if $USE_IPC_RUN && $self->can_use_ipc_run;
- return 1 if $USE_IPC_OPEN3 && $self->can_use_ipc_open3 && !IS_WIN32;
+ return 1 if $USE_IPC_RUN && $self->can_use_ipc_run;
+ return 1 if $USE_IPC_OPEN3 && $self->can_use_ipc_open3;
return;
}
@@ -274,7 +276,7 @@ the note on buffers above.
Sets the maximum time the command is allowed to run before aborting,
using the built-in C<alarm()> call. If the timeout is triggered, the
-C<errorcode> in the return value will be set to an object of the
+C<errorcode> in the return value will be set to an object of the
C<IPC::Cmd::TimeOut> class. See the L<"error message"> section below for
details.
@@ -297,8 +299,8 @@ not.
If the first element of the return value (C<success>) was 0, then some
error occurred. This second element is the error message the command
-you requested exited with, if available. This is generally a pretty
-printed value of C<$?> or C<$@>. See C<perldoc perlvar> for details on
+you requested exited with, if available. This is generally a pretty
+printed value of C<$?> or C<$@>. See C<perldoc perlvar> for details on
what they can contain.
If the error was a timeout, the C<error message> will be prefixed with
the string C<IPC::Cmd::TimeOut>, the timeout class.
@@ -330,7 +332,7 @@ what modules or function calls to use when issuing a command.
=cut
{ my @acc = qw[ok error _fds];
-
+
### autogenerate accessors ###
for my $key ( @acc ) {
no strict 'refs';
@@ -361,7 +363,7 @@ sub install_layered_signal {
my $sig_handler = sub {
my ($called_sig_name, @sig_param) = @_;
-
+
# $s is a closure referring to real signal name
# for which this handler is being installed.
# it is used to distinguish between
@@ -397,24 +399,26 @@ sub install_layered_signal {
# and killing it with KILL
sub kill_gently {
my ($pid, $opts) = @_;
-
+
+ require POSIX;
+
$opts = {} unless $opts;
$opts->{'wait_time'} = 2 unless defined($opts->{'wait_time'});
$opts->{'first_kill_type'} = 'just_process' unless $opts->{'first_kill_type'};
$opts->{'final_kill_type'} = 'just_process' unless $opts->{'final_kill_type'};
-
+
if ($opts->{'first_kill_type'} eq 'just_process') {
kill(15, $pid);
}
elsif ($opts->{'first_kill_type'} eq 'process_group') {
kill(-15, $pid);
}
-
+
my $child_finished = 0;
my $wait_start_time = time();
while (!$child_finished && $wait_start_time + $opts->{'wait_time'} > time()) {
- my $waitpid = waitpid($pid, WNOHANG);
+ my $waitpid = waitpid($pid, POSIX::WNOHANG);
if ($waitpid eq -1) {
$child_finished = 1;
}
@@ -435,7 +439,7 @@ sub open3_run {
my ($cmd, $opts) = @_;
$opts = {} unless $opts;
-
+
my $child_in = FileHandle->new;
my $child_out = FileHandle->new;
my $child_err = FileHandle->new;
@@ -464,7 +468,7 @@ sub open3_run {
# absolutely needed to catch piped commands errors.
#
local $SIG{'PIPE'} = sub { 1; };
-
+
print $child_in $opts->{'child_stdin'};
}
close($child_in);
@@ -644,19 +648,19 @@ Specify some text that will be passed into the C<STDIN> of the executed program.
=item C<stdout_handler>
-Coderef of a subroutine to call when a portion of data is received on
+Coderef of a subroutine to call when a portion of data is received on
STDOUT from the executing program.
=item C<stderr_handler>
-Coderef of a subroutine to call when a portion of data is received on
+Coderef of a subroutine to call when a portion of data is received on
STDERR from the executing program.
=item C<discard_output>
-Discards the buffering of the standard output and standard errors for return by run_forked().
-With this option you have to use the std*_handlers to read what the command outputs.
+Discards the buffering of the standard output and standard errors for return by run_forked().
+With this option you have to use the std*_handlers to read what the command outputs.
Useful for commands that send a lot of output.
=item C<terminate_on_parent_sudden_death>
@@ -680,12 +684,12 @@ The number of seconds the program ran for before being terminated, or 0 if no ti
=item C<stdout>
-Holds the standard output of the executed command (or empty string if
+Holds the standard output of the executed command (or empty string if
there was no STDOUT output or if C<discard_output> was used; it's always defined!)
=item C<stderr>
-Holds the standard error of the executed command (or empty string if
+Holds the standard error of the executed command (or empty string if
there was no STDERR output or if C<discard_output> was used; it's always defined!)
=item C<merged>
@@ -705,6 +709,8 @@ sub run_forked {
### container to store things in
my $self = bless {}, __PACKAGE__;
+ require POSIX;
+
if (!can_use_run_forked()) {
Carp::carp("run_forked is not available: $CAN_USE_RUN_FORKED");
return;
@@ -731,7 +737,7 @@ sub run_forked {
# sockets to pass child stderr to parent
my $child_stderr_socket;
my $parent_stderr_socket;
-
+
# sockets for child -> parent internal communication
my $child_info_socket;
my $parent_info_socket;
@@ -765,19 +771,19 @@ sub run_forked {
# prepare sockets to read from child
$flags = 0;
- fcntl($child_stdout_socket, F_GETFL, $flags) || die "can't fnctl F_GETFL: $!";
- $flags |= O_NONBLOCK;
- fcntl($child_stdout_socket, F_SETFL, $flags) || die "can't fnctl F_SETFL: $!";
+ fcntl($child_stdout_socket, POSIX::F_GETFL, $flags) || die "can't fnctl F_GETFL: $!";
+ $flags |= POSIX::O_NONBLOCK;
+ fcntl($child_stdout_socket, POSIX::F_SETFL, $flags) || die "can't fnctl F_SETFL: $!";
$flags = 0;
- fcntl($child_stderr_socket, F_GETFL, $flags) || die "can't fnctl F_GETFL: $!";
- $flags |= O_NONBLOCK;
- fcntl($child_stderr_socket, F_SETFL, $flags) || die "can't fnctl F_SETFL: $!";
+ fcntl($child_stderr_socket, POSIX::F_GETFL, $flags) || die "can't fnctl F_GETFL: $!";
+ $flags |= POSIX::O_NONBLOCK;
+ fcntl($child_stderr_socket, POSIX::F_SETFL, $flags) || die "can't fnctl F_SETFL: $!";
$flags = 0;
- fcntl($child_info_socket, F_GETFL, $flags) || die "can't fnctl F_GETFL: $!";
- $flags |= O_NONBLOCK;
- fcntl($child_info_socket, F_SETFL, $flags) || die "can't fnctl F_SETFL: $!";
+ fcntl($child_info_socket, POSIX::F_GETFL, $flags) || die "can't fnctl F_GETFL: $!";
+ $flags |= POSIX::O_NONBLOCK;
+ fcntl($child_info_socket, POSIX::F_SETFL, $flags) || die "can't fnctl F_SETFL: $!";
# print "child $pid started\n";
@@ -856,7 +862,7 @@ sub run_forked {
$child_finished = 1;
}
- my $waitpid = waitpid($pid, WNOHANG);
+ my $waitpid = waitpid($pid, POSIX::WNOHANG);
# child finished, catch it's exit status
if ($waitpid ne 0 && $waitpid ne -1) {
@@ -1049,30 +1055,35 @@ sub run {
my $self = bless {}, __PACKAGE__;
my %hash = @_;
-
+
### if the user didn't provide a buffer, we'll store it here.
my $def_buf = '';
-
+
my($verbose,$cmd,$buffer,$timeout);
my $tmpl = {
verbose => { default => $VERBOSE, store => \$verbose },
buffer => { default => \$def_buf, store => \$buffer },
command => { required => 1, store => \$cmd,
- allow => sub { !ref($_[0]) or ref($_[0]) eq 'ARRAY' },
+ allow => sub { !ref($_[0]) or ref($_[0]) eq 'ARRAY' },
},
- timeout => { default => 0, store => \$timeout },
+ timeout => { default => 0, store => \$timeout },
};
-
+
unless( check( $tmpl, \%hash, $VERBOSE ) ) {
Carp::carp( loc( "Could not validate input: %1",
Params::Check->last_error ) );
return;
- };
+ };
$cmd = _quote_args_vms( $cmd ) if IS_VMS;
### strip any empty elements from $cmd if present
- $cmd = [ grep { defined && length } @$cmd ] if ref $cmd;
+ if ( $ALLOW_NULL_ARGS ) {
+ $cmd = [ grep { defined } @$cmd ] if ref $cmd;
+ }
+ else {
+ $cmd = [ grep { defined && length } @$cmd ] if ref $cmd;
+ }
my $pp_cmd = (ref $cmd ? "@$cmd" : $cmd);
print loc("Running [%1]...\n", $pp_cmd ) if $verbose;
@@ -1082,7 +1093,7 @@ sub run {
### XXX this is now being ignored. in the future, we could add diagnostic
### messages based on this logic
#my $user_provided_buffer = $buffer == \$def_buf ? 0 : 1;
-
+
### buffers that are to be captured
my( @buffer, @buff_err, @buff_out );
@@ -1090,78 +1101,81 @@ sub run {
my $_out_handler = sub {
my $buf = shift;
return unless defined $buf;
-
+
print STDOUT $buf if $verbose;
push @buffer, $buf;
push @buff_out, $buf;
};
-
+
### capture STDERR
my $_err_handler = sub {
my $buf = shift;
return unless defined $buf;
-
+
print STDERR $buf if $verbose;
push @buffer, $buf;
push @buff_err, $buf;
};
-
+
### flag to indicate we have a buffer captured
my $have_buffer = $self->can_capture_buffer ? 1 : 0;
-
+
### flag indicating if the subcall went ok
my $ok;
-
+
### dont look at previous errors:
- local $?;
+ local $?;
local $@;
local $!;
### we might be having a timeout set
- eval {
- local $SIG{ALRM} = sub { die bless sub {
- ALARM_CLASS .
+ eval {
+ local $SIG{ALRM} = sub { die bless sub {
+ ALARM_CLASS .
qq[: Command '$pp_cmd' aborted by alarm after $timeout seconds]
}, ALARM_CLASS } if $timeout;
alarm $timeout || 0;
-
+
### IPC::Run is first choice if $USE_IPC_RUN is set.
- if( $USE_IPC_RUN and $self->can_use_ipc_run( 1 ) ) {
+ if( !IS_WIN32 and $USE_IPC_RUN and $self->can_use_ipc_run( 1 ) ) {
### ipc::run handlers needs the command as a string or an array ref
-
+
$self->_debug( "# Using IPC::Run. Have buffer: $have_buffer" )
if $DEBUG;
-
+
$ok = $self->_ipc_run( $cmd, $_out_handler, $_err_handler );
-
+
### since IPC::Open3 works on all platforms, and just fails on
### win32 for capturing buffers, do that ideally
} elsif ( $USE_IPC_OPEN3 and $self->can_use_ipc_open3( 1 ) ) {
-
+
$self->_debug("# Using IPC::Open3. Have buffer: $have_buffer")
if $DEBUG;
-
+
### in case there are pipes in there;
- ### IPC::Open3 will call exec and exec will do the right thing
- $ok = $self->_open3_run(
- $cmd, $_out_handler, $_err_handler, $verbose
+ ### IPC::Open3 will call exec and exec will do the right thing
+
+ my $method = IS_WIN32 ? '_open3_run_win32' : '_open3_run';
+
+ $ok = $self->$method(
+ $cmd, $_out_handler, $_err_handler, $verbose
);
-
+
### if we are allowed to run verbose, just dispatch the system command
} else {
$self->_debug( "# Using system(). Have buffer: $have_buffer" )
if $DEBUG;
$ok = $self->_system_run( $cmd, $verbose );
}
-
+
alarm 0;
};
-
+
### restore STDIN after duping, or STDIN will be closed for
- ### this current perl process!
+ ### this current perl process!
$self->__reopen_fds( @{ $self->_fds} ) if $self->_fds;
-
+
my $err;
unless( $ok ) {
### alarm happened
@@ -1173,10 +1187,10 @@ sub run {
$err = $self->error;
}
}
-
+
### fill the buffer;
$$buffer = join '', @buffer if @buffer;
-
+
### return a list of flags and buffers (if available) in list
### context, or just a simple 'ok' in scalar
return wantarray
@@ -1184,11 +1198,88 @@ sub run {
? ($ok, $err, \@buffer, \@buff_out, \@buff_err)
: ($ok, $err )
: $ok
-
-
+
+
}
-sub _open3_run {
+sub _open3_run_win32 {
+ my $self = shift;
+ my $cmd = shift;
+ my $outhand = shift;
+ my $errhand = shift;
+
+ my $pipe = sub {
+ socketpair($_[0], $_[1], AF_UNIX, SOCK_STREAM, PF_UNSPEC)
+ or return undef;
+ shutdown($_[0], 1); # No more writing for reader
+ shutdown($_[1], 0); # No more reading for writer
+ return 1;
+ };
+
+ my $open3 = sub {
+ local (*TO_CHLD_R, *TO_CHLD_W);
+ local (*FR_CHLD_R, *FR_CHLD_W);
+ local (*FR_CHLD_ERR_R, *FR_CHLD_ERR_W);
+
+ $pipe->(*TO_CHLD_R, *TO_CHLD_W ) or die $^E;
+ $pipe->(*FR_CHLD_R, *FR_CHLD_W ) or die $^E;
+ $pipe->(*FR_CHLD_ERR_R, *FR_CHLD_ERR_W) or die $^E;
+
+ my $pid = IPC::Open3::open3('>&TO_CHLD_R', '<&FR_CHLD_W', '<&FR_CHLD_ERR_W', @_);
+
+ return ( $pid, *TO_CHLD_W, *FR_CHLD_R, *FR_CHLD_ERR_R );
+ };
+
+ $cmd = [ grep { defined && length } @$cmd ] if ref $cmd;
+ $cmd = $self->__fix_cmd_whitespace_and_special_chars( $cmd );
+
+ my ($pid, $to_chld, $fr_chld, $fr_chld_err) =
+ $open3->( ( ref $cmd ? @$cmd : $cmd ) );
+
+ my $in_sel = IO::Select->new();
+ my $out_sel = IO::Select->new();
+
+ my %objs;
+
+ $objs{ fileno( $fr_chld ) } = $outhand;
+ $objs{ fileno( $fr_chld_err ) } = $errhand;
+ $in_sel->add( $fr_chld );
+ $in_sel->add( $fr_chld_err );
+
+ close($to_chld);
+
+ while ($in_sel->count() + $out_sel->count()) {
+ my ($ins, $outs) = IO::Select::select($in_sel, $out_sel, undef);
+
+ for my $fh (@$ins) {
+ my $obj = $objs{ fileno($fh) };
+ my $buf;
+ my $bytes_read = sysread($fh, $buf, 64*1024 ); #, length($buf));
+ if (!$bytes_read) {
+ $in_sel->remove($fh);
+ }
+ else {
+ $obj->( "$buf" );
+ }
+ }
+
+ for my $fh (@$outs) {
+ }
+ }
+
+ waitpid($pid, 0);
+
+ ### some error occurred
+ if( $? ) {
+ $self->error( $self->_pp_child_error( $cmd, $? ) );
+ $self->ok( 0 );
+ return;
+ } else {
+ return $self->ok( 1 );
+ }
+}
+
+sub _open3_run {
my $self = shift;
my $cmd = shift;
my $_out_handler = shift;
@@ -1202,7 +1293,7 @@ sub _open3_run {
### define them beforehand, so we always have defined FH's
### to read from.
- use Symbol;
+ use Symbol;
my $kidout = Symbol::gensym();
my $kiderror = Symbol::gensym();
@@ -1212,20 +1303,20 @@ sub _open3_run {
### to revive the FH afterwards, as IPC::Open3 closes it.
### We'll do the same for STDOUT and STDERR. It works without
### duping them on non-unix derivatives, but not on win32.
- my @fds_to_dup = ( IS_WIN32 && !$verbose
- ? qw[STDIN STDOUT STDERR]
+ my @fds_to_dup = ( IS_WIN32 && !$verbose
+ ? qw[STDIN STDOUT STDERR]
: qw[STDIN]
);
$self->_fds( \@fds_to_dup );
$self->__dup_fds( @fds_to_dup );
-
+
### pipes have to come in a quoted string, and that clashes with
### whitespace. This sub fixes up such commands so they run properly
$cmd = $self->__fix_cmd_whitespace_and_special_chars( $cmd );
-
+
### dont stringify @$cmd, so spaces in filenames/paths are
### treated properly
- my $pid = eval {
+ my $pid = eval {
IPC::Open3::open3(
'<&STDIN',
(IS_WIN32 ? '>&STDOUT' : $kidout),
@@ -1233,8 +1324,8 @@ sub _open3_run {
( ref $cmd ? @$cmd : $cmd ),
);
};
-
- ### open3 error occurred
+
+ ### open3 error occurred
if( $@ and $@ =~ /^open3:/ ) {
$self->ok( 0 );
$self->error( $@ );
@@ -1245,10 +1336,10 @@ sub _open3_run {
### we never get the input.. so jump through
### some hoops to do it :(
my $selector = IO::Select->new(
- (IS_WIN32 ? \*STDERR : $kiderror),
- \*STDIN,
- (IS_WIN32 ? \*STDOUT : $kidout)
- );
+ (IS_WIN32 ? \*STDERR : $kiderror),
+ \*STDIN,
+ (IS_WIN32 ? \*STDOUT : $kidout)
+ );
STDOUT->autoflush(1); STDERR->autoflush(1); STDIN->autoflush(1);
$kidout->autoflush(1) if UNIVERSAL::can($kidout, 'autoflush');
@@ -1262,10 +1353,10 @@ sub _open3_run {
for my $h ( @ready ) {
my $buf;
-
+
### $len is the amount of bytes read
my $len = sysread( $h, $buf, 4096 ); # try to read 4096 bytes
-
+
### see perldoc -f sysread: it returns undef on error,
### so bail out.
if( not defined $len ) {
@@ -1293,10 +1384,10 @@ sub _open3_run {
### this current perl process!
### done in the parent call now
# $self->__reopen_fds( @fds_to_dup );
-
+
### some error occurred
if( $? ) {
- $self->error( $self->_pp_child_error( $cmd, $? ) );
+ $self->error( $self->_pp_child_error( $cmd, $? ) );
$self->ok( 0 );
return;
} else {
@@ -1306,16 +1397,16 @@ sub _open3_run {
### Text::ParseWords::shellwords() uses unix semantics. that will break
### on win32
-{ my $parse_sub = IS_WIN32
+{ my $parse_sub = IS_WIN32
? __PACKAGE__->can('_split_like_shell_win32')
: Text::ParseWords->can('shellwords');
- sub _ipc_run {
+ sub _ipc_run {
my $self = shift;
my $cmd = shift;
my $_out_handler = shift;
my $_err_handler = shift;
-
+
STDOUT->autoflush(1); STDERR->autoflush(1);
### a command like:
@@ -1335,10 +1426,10 @@ sub _open3_run {
# ['/usr/bin/tar', '-tf -']
# ]
-
- my @command;
+
+ my @command;
my $special_chars;
-
+
my $re = do { my $x = join '', SPECIAL_CHARS; qr/([$x])/ };
if( ref $cmd ) {
my $aref = [];
@@ -1362,7 +1453,7 @@ sub _open3_run {
} split( /\s*$re\s*/, $cmd );
}
- ### if there's a pipe in the command, *STDIN needs to
+ ### if there's a pipe in the command, *STDIN needs to
### be inserted *BEFORE* the pipe, to work on win32
### this also works on *nix, so we should do it when possible
### this should *also* work on multiple pipes in the command
@@ -1373,16 +1464,16 @@ sub _open3_run {
# if( $special_chars and $special_chars =~ /\|/ ) {
# ### only add STDIN the first time..
# my $i;
- # @command = map { ($_ eq '|' && not $i++)
- # ? ( \*STDIN, $_ )
- # : $_
- # } @command;
+ # @command = map { ($_ eq '|' && not $i++)
+ # ? ( \*STDIN, $_ )
+ # : $_
+ # } @command;
# } else {
# push @command, \*STDIN;
# }
-
+
# \*STDIN is already included in the @command, see a few lines up
- my $ok = eval { IPC::Run::run( @command,
+ my $ok = eval { IPC::Run::run( @command,
fileno(STDOUT).'>',
$_out_handler,
fileno(STDERR).'>',
@@ -1399,11 +1490,11 @@ sub _open3_run {
$self->ok( 0 );
### if the eval fails due to an exception, deal with it
- ### unless it's an alarm
- if( $@ and not UNIVERSAL::isa( $@, ALARM_CLASS ) ) {
+ ### unless it's an alarm
+ if( $@ and not UNIVERSAL::isa( $@, ALARM_CLASS ) ) {
$self->error( $@ );
- ### if it *is* an alarm, propagate
+ ### if it *is* an alarm, propagate
} elsif( $@ ) {
die $@;
@@ -1411,13 +1502,13 @@ sub _open3_run {
} else {
$self->error( $self->_pp_child_error( $cmd, $? ) );
}
-
+
return;
}
}
}
-sub _system_run {
+sub _system_run {
my $self = shift;
my $cmd = shift;
my $verbose = shift || 0;
@@ -1453,15 +1544,15 @@ sub _system_run {
### command has a special char in it
if( ref $cmd and grep { $sc_lookup{$_} } @$cmd ) {
-
+
### since we have special chars, we have to quote white space
### this *may* conflict with the parsing :(
my $fixed;
my @cmd = map { / / ? do { $fixed++; QUOTE.$_.QUOTE } : $_ } @$cmd;
-
+
$self->_debug( "# Quoted $fixed arguments containing whitespace" )
if $DEBUG && $fixed;
-
+
### stringify it, so the special char isn't escaped as argument
### to the program
$cmd = join ' ', @cmd;
@@ -1518,20 +1609,20 @@ sub _split_like_shell_win32 {
# into words. The algorithm below was bashed out by Randy and Ken
# (mostly Randy), and there are a lot of regression tests, so we
# should feel free to adjust if desired.
-
+
local $_ = shift;
-
+
my @argv;
return @argv unless defined() && length();
-
+
my $arg = '';
my( $i, $quote_mode ) = ( 0, 0 );
-
+
while ( $i < length() ) {
-
+
my $ch = substr( $_, $i , 1 );
my $next_ch = substr( $_, $i+1, 1 );
-
+
if ( $ch eq '\\' && $next_ch eq '"' ) {
$arg .= '"';
$i++;
@@ -1558,10 +1649,10 @@ sub _split_like_shell_win32 {
} else {
$arg .= $ch;
}
-
+
$i++;
}
-
+
push( @argv, $arg ) if defined( $arg ) && length( $arg );
return @argv;
}
@@ -1587,15 +1678,15 @@ sub _split_like_shell_win32 {
for my $name ( @fds ) {
my($redir, $fh, $glob) = @{$Map{$name}} or (
Carp::carp(loc("No such FD: '%1'", $name)), next );
-
- ### MUST use the 2-arg version of open for dup'ing for
+
+ ### MUST use the 2-arg version of open for dup'ing for
### 5.6.x compatibility. 5.8.x can use 3-arg open
- ### see perldoc5.6.2 -f open for details
+ ### see perldoc5.6.2 -f open for details
open $glob, $redir . fileno($fh) or (
Carp::carp(loc("Could not dup '$name': %1", $!)),
return
- );
-
+ );
+
### we should re-open this filehandle right now, not
### just dup it
### Use 2-arg version of open, as 5.5.x doesn't support
@@ -1607,11 +1698,11 @@ sub _split_like_shell_win32 {
);
}
}
-
+
return 1;
}
- ### reopens FDs from the cache
+ ### reopens FDs from the cache
sub __reopen_fds {
my $self = shift;
my @fds = @_;
@@ -1622,30 +1713,30 @@ sub _split_like_shell_win32 {
my($redir, $fh, $glob) = @{$Map{$name}} or (
Carp::carp(loc("No such FD: '%1'", $name)), next );
- ### MUST use the 2-arg version of open for dup'ing for
+ ### MUST use the 2-arg version of open for dup'ing for
### 5.6.x compatibility. 5.8.x can use 3-arg open
### see perldoc5.6.2 -f open for details
open( $fh, $redir . fileno($glob) ) or (
Carp::carp(loc("Could not restore '$name': %1", $!)),
return
- );
-
+ );
+
### close this FD, we're not using it anymore
- close $glob;
- }
- return 1;
-
+ close $glob;
+ }
+ return 1;
+
}
-}
+}
sub _debug {
my $self = shift;
my $msg = shift or return;
my $level = shift || 0;
-
+
local $Carp::CarpLevel += $level;
Carp::carp($msg);
-
+
return 1;
}
@@ -1654,8 +1745,8 @@ sub _pp_child_error {
my $cmd = shift or return;
my $ce = shift or return;
my $pp_cmd = ref $cmd ? "@$cmd" : $cmd;
-
-
+
+
my $str;
if( $ce == -1 ) {
### Include $! in the error message, so that the user can
@@ -1663,7 +1754,7 @@ sub _pp_child_error {
### versus 'Cannot fork' or whatever the cause was.
$str = "Failed to execute '$pp_cmd': $!";
- } elsif ( $ce & 127 ) {
+ } elsif ( $ce & 127 ) {
### some signal
$str = loc( "'%1' died with signal %d, %s coredump\n",
$pp_cmd, ($ce & 127), ($ce & 128) ? 'with' : 'without');
@@ -1672,9 +1763,9 @@ sub _pp_child_error {
### Otherwise, the command run but gave error status.
$str = "'$pp_cmd' exited with value " . ($ce >> 8);
}
-
+
$self->_debug( "# Child error '$ce' translated to: $str" ) if $DEBUG;
-
+
return $str;
}
@@ -1684,7 +1775,7 @@ sub _pp_child_error {
Returns the character used for quoting strings on this platform. This is
usually a C<'> (single quote) on most systems, but some systems use different
-quotes. For example, C<Win32> uses C<"> (double quote).
+quotes. For example, C<Win32> uses C<"> (double quote).
You can use it as follows:
@@ -1705,15 +1796,16 @@ C<run> will try to execute your command using the following logic:
=item *
If you have C<IPC::Run> installed, and the variable C<$IPC::Cmd::USE_IPC_RUN>
-is set to true (See the L<"Global Variables"> section) use that to execute
-the command. You will have the full output available in buffers, interactive commands are sure to work and you are guaranteed to have your verbosity
+is set to true (See the L<"Global Variables"> section) use that to execute
+the command. You will have the full output available in buffers, interactive commands
+are sure to work and you are guaranteed to have your verbosity
settings honored cleanly.
=item *
-Otherwise, if the variable C<$IPC::Cmd::USE_IPC_OPEN3> is set to true
+Otherwise, if the variable C<$IPC::Cmd::USE_IPC_OPEN3> is set to true
(See the L<"Global Variables"> section), try to execute the command using
-L<IPC::Open3>. Buffers will be available on all platforms except C<Win32>,
+L<IPC::Open3>. Buffers will be available on all platforms,
interactive commands will still execute cleanly, and also your verbosity
settings will be adhered to nicely;
@@ -1745,7 +1837,7 @@ commands to the screen or not. The default is 0.
=head2 $IPC::Cmd::USE_IPC_RUN
This variable controls whether IPC::Cmd will try to use L<IPC::Run>
-when available and suitable. Defaults to true if you are on C<Win32>.
+when available and suitable.
=head2 $IPC::Cmd::USE_IPC_OPEN3
@@ -1766,6 +1858,14 @@ the binary it finds in the C<PATH> when called in a list context.
Defaults to false, set to true to enable the described behaviour.
+=head2 $IPC::Cmd::ALLOW_NULL_ARGS
+
+This variable controls whether C<run> will remove any empty/null arguments
+it finds in command arguments.
+
+Defaults to false, so it will remove null arguments. Set to true to allow
+them.
+
=head1 Caveats
=over 4
@@ -1782,15 +1882,15 @@ be internally stringified before executing the command, to avoid that these
special characters are escaped and passed as arguments instead of retaining
their special meaning.
-However, if the command contained arguments that contained whitespace,
+However, if the command contained arguments that contained whitespace,
stringifying the command would loose the significance of the whitespace.
Therefore, C<IPC::Cmd> will quote any arguments containing whitespace in your
command if the command is passed as an arrayref and contains special characters.
=item Whitespace and IPC::Run
-When using C<IPC::Run>, if you provide a string as the C<command> argument,
-the string will be split on whitespace to determine the individual elements
+When using C<IPC::Run>, if you provide a string as the C<command> argument,
+the string will be split on whitespace to determine the individual elements
of your command. Although this will usually just Do What You Mean, it may
break if you have files or commands with whitespace in them.
@@ -1835,7 +1935,7 @@ bursts of output from a program, e.g. this sample,
$_ % 2 ? print STDOUT $_ : print STDERR $_;
}
-IPC::[Run|Open3] will first read all of STDOUT, then all of STDERR, meaning
+IPC::[Run|Open3] will first read all of STDOUT, then all of STDERR, meaning
the output looks like '13' on STDOUT and '24' on STDERR, instead of
1
@@ -1870,7 +1970,7 @@ Current maintainer: Chris Williams E<lt>bingos@cpan.orgE<gt>.
=head1 COPYRIGHT
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=cut
diff --git a/Master/tlpkg/tlperl/lib/IPC/Open2.pm b/Master/tlpkg/tlperl/lib/IPC/Open2.pm
index 5f555bcfa4e..9e27144571d 100644
--- a/Master/tlpkg/tlperl/lib/IPC/Open2.pm
+++ b/Master/tlpkg/tlperl/lib/IPC/Open2.pm
@@ -6,7 +6,7 @@ our ($VERSION, @ISA, @EXPORT);
require 5.000;
require Exporter;
-$VERSION = 1.03;
+$VERSION = 1.04;
@ISA = qw(Exporter);
@EXPORT = qw(open2);
@@ -114,8 +114,7 @@ require IPC::Open3;
sub open2 {
local $Carp::CarpLevel = $Carp::CarpLevel + 1;
- return IPC::Open3::_open3('open2', scalar caller,
- $_[1], $_[0], '>&STDERR', @_[2 .. $#_]);
+ return IPC::Open3::_open3('open2', $_[1], $_[0], '>&STDERR', @_[2 .. $#_]);
}
1
diff --git a/Master/tlpkg/tlperl/lib/IPC/Open3.pm b/Master/tlpkg/tlperl/lib/IPC/Open3.pm
index 7015d27a789..31c68afc5ab 100644
--- a/Master/tlpkg/tlperl/lib/IPC/Open3.pm
+++ b/Master/tlpkg/tlperl/lib/IPC/Open3.pm
@@ -9,7 +9,7 @@ require Exporter;
use Carp;
use Symbol qw(gensym qualify);
-$VERSION = 1.09;
+$VERSION = '1.12';
@ISA = qw(Exporter);
@EXPORT = qw(open3);
@@ -149,41 +149,22 @@ our $Me = 'open3 (bug)'; # you should never see this, it's always localized
# Fatal.pm needs to be fixed WRT prototypes.
-sub xfork {
- my $pid = fork;
- defined $pid or croak "$Me: fork failed: $!";
- return $pid;
-}
-
sub xpipe {
pipe $_[0], $_[1] or croak "$Me: pipe($_[0], $_[1]) failed: $!";
}
-sub xpipe_anon {
- pipe $_[0], $_[1] or croak "$Me: pipe failed: $!";
-}
-
-sub xclose_on_exec {
- require Fcntl;
- my $flags = fcntl($_[0], &Fcntl::F_GETFD, 0)
- or croak "$Me: fcntl failed: $!";
- fcntl($_[0], &Fcntl::F_SETFD, $flags|&Fcntl::FD_CLOEXEC)
- or croak "$Me: fcntl failed: $!";
-}
-
# I tried using a * prototype character for the filehandle but it still
# disallows a bareword while compiling under strict subs.
sub xopen {
- open $_[0], $_[1] or croak "$Me: open($_[0], $_[1]) failed: $!";
+ open $_[0], $_[1], @_[2..$#_] and return;
+ local $" = ', ';
+ carp "$Me: open(@_) failed: $!";
}
sub xclose {
$_[0] =~ /\A=?(\d+)\z/ ? eval { require POSIX; POSIX::close($1); } : close $_[0]
-}
-
-sub fh_is_fd {
- return $_[0] =~ /\A=?(\d+)\z/;
+ or croak "$Me: close($_[0]) failed: $!";
}
sub xfileno {
@@ -191,24 +172,19 @@ sub xfileno {
return fileno $_[0];
}
-use constant DO_SPAWN => $^O eq 'os2' || $^O eq 'MSWin32';
+use constant FORCE_DEBUG_SPAWN => 0;
+use constant DO_SPAWN => $^O eq 'os2' || $^O eq 'MSWin32' || FORCE_DEBUG_SPAWN;
sub _open3 {
local $Me = shift;
- my($package, $dad_wtr, $dad_rdr, $dad_err, @cmd) = @_;
- my($dup_wtr, $dup_rdr, $dup_err, $kidpid);
-
- if (@cmd > 1 and $cmd[0] eq '-') {
- croak "Arguments don't make sense when the command is '-'"
- }
# simulate autovivification of filehandles because
# it's too ugly to use @_ throughout to make perl do it for us
# tchrist 5-Mar-00
unless (eval {
- $dad_wtr = $_[1] = gensym unless defined $dad_wtr && length $dad_wtr;
- $dad_rdr = $_[2] = gensym unless defined $dad_rdr && length $dad_rdr;
+ $_[0] = gensym unless defined $_[0] && length $_[0];
+ $_[1] = gensym unless defined $_[1] && length $_[1];
1; })
{
# must strip crud for croak to add back, or looks ugly
@@ -216,30 +192,48 @@ sub _open3 {
croak "$Me: $@";
}
- $dad_err ||= $dad_rdr;
+ my @handles = ({ mode => '<', handle => \*STDIN },
+ { mode => '>', handle => \*STDOUT },
+ { mode => '>', handle => \*STDERR },
+ );
+
+ foreach (@handles) {
+ $_->{parent} = shift;
+ $_->{open_as} = gensym;
+ }
+
+ if (@_ > 1 and $_[0] eq '-') {
+ croak "Arguments don't make sense when the command is '-'"
+ }
- $dup_wtr = ($dad_wtr =~ s/^[<>]&//);
- $dup_rdr = ($dad_rdr =~ s/^[<>]&//);
- $dup_err = ($dad_err =~ s/^[<>]&//);
+ $handles[2]{parent} ||= $handles[1]{parent};
+ $handles[2]{dup_of_out} = $handles[1]{parent} eq $handles[2]{parent};
- # force unqualified filehandles into caller's package
- $dad_wtr = qualify $dad_wtr, $package unless fh_is_fd($dad_wtr);
- $dad_rdr = qualify $dad_rdr, $package unless fh_is_fd($dad_rdr);
- $dad_err = qualify $dad_err, $package unless fh_is_fd($dad_err);
+ my $package;
+ foreach (@handles) {
+ $_->{dup} = ($_->{parent} =~ s/^[<>]&//);
- my $kid_rdr = gensym;
- my $kid_wtr = gensym;
- my $kid_err = gensym;
+ if ($_->{parent} !~ /\A=?(\d+)\z/) {
+ # force unqualified filehandles into caller's package
+ $package //= caller 1;
+ $_->{parent} = qualify $_->{parent}, $package;
+ }
- xpipe $kid_rdr, $dad_wtr if !$dup_wtr;
- xpipe $dad_rdr, $kid_wtr if !$dup_rdr;
- xpipe $dad_err, $kid_err if !$dup_err && $dad_err ne $dad_rdr;
+ next if $_->{dup} or $_->{dup_of_out};
+ if ($_->{mode} eq '<') {
+ xpipe $_->{open_as}, $_->{parent};
+ } else {
+ xpipe $_->{parent}, $_->{open_as};
+ }
+ }
+ my $kidpid;
if (!DO_SPAWN) {
# Used to communicate exec failures.
xpipe my $stat_r, my $stat_w;
- $kidpid = xfork;
+ $kidpid = fork;
+ croak "$Me: fork failed: $!" unless defined $kidpid;
if ($kidpid == 0) { # Kid
eval {
# A tie in the parent should not be allowed to cause problems.
@@ -247,49 +241,43 @@ sub _open3 {
untie *STDOUT;
close $stat_r;
- xclose_on_exec $stat_w;
+ require Fcntl;
+ my $flags = fcntl $stat_w, &Fcntl::F_GETFD, 0;
+ croak "$Me: fcntl failed: $!" unless $flags;
+ fcntl $stat_w, &Fcntl::F_SETFD, $flags|&Fcntl::FD_CLOEXEC
+ or croak "$Me: fcntl failed: $!";
# If she wants to dup the kid's stderr onto her stdout I need to
# save a copy of her stdout before I put something else there.
- if ($dad_rdr ne $dad_err && $dup_err
- && xfileno($dad_err) == fileno(STDOUT)) {
+ if (!$handles[2]{dup_of_out} && $handles[2]{dup}
+ && xfileno($handles[2]{parent}) == fileno \*STDOUT) {
my $tmp = gensym;
- xopen($tmp, ">&$dad_err");
- $dad_err = $tmp;
+ xopen($tmp, '>&', $handles[2]{parent});
+ $handles[2]{parent} = $tmp;
}
- if ($dup_wtr) {
- xopen \*STDIN, "<&$dad_wtr" if fileno(STDIN) != xfileno($dad_wtr);
- } else {
- xclose $dad_wtr;
- xopen \*STDIN, "<&=" . fileno $kid_rdr;
- }
- if ($dup_rdr) {
- xopen \*STDOUT, ">&$dad_rdr" if fileno(STDOUT) != xfileno($dad_rdr);
- } else {
- xclose $dad_rdr;
- xopen \*STDOUT, ">&=" . fileno $kid_wtr;
- }
- if ($dad_rdr ne $dad_err) {
- if ($dup_err) {
- # I have to use a fileno here because in this one case
- # I'm doing a dup but the filehandle might be a reference
- # (from the special case above).
- xopen \*STDERR, ">&" . xfileno($dad_err)
- if fileno(STDERR) != xfileno($dad_err);
+ foreach (@handles) {
+ if ($_->{dup_of_out}) {
+ xopen \*STDERR, ">&STDOUT"
+ if defined fileno STDERR && fileno STDERR != fileno STDOUT;
+ } elsif ($_->{dup}) {
+ xopen $_->{handle}, $_->{mode} . '&', $_->{parent}
+ if fileno $_->{handle} != xfileno($_->{parent});
} else {
- xclose $dad_err;
- xopen \*STDERR, ">&=" . fileno $kid_err;
+ xclose $_->{parent};
+ xopen $_->{handle}, $_->{mode} . '&=',
+ fileno $_->{open_as};
}
- } else {
- xopen \*STDERR, ">&STDOUT" if fileno(STDERR) != fileno(STDOUT);
}
- return 0 if ($cmd[0] eq '-');
- exec @cmd or do {
+ return 1 if ($_[0] eq '-');
+ exec @_ or do {
local($")=(" ");
- croak "$Me: exec of @cmd failed";
+ croak "$Me: exec of @_ failed";
};
- };
+ } and do {
+ close $stat_w;
+ return 0;
+ };
my $bang = 0+$!;
my $err = $@;
@@ -322,52 +310,35 @@ sub _open3 {
# handled in spawn_with_handles.
my @close;
- if ($dup_wtr) {
- $kid_rdr = \*{$dad_wtr};
- push @close, $kid_rdr;
- } else {
- push @close, \*{$dad_wtr}, $kid_rdr;
- }
- if ($dup_rdr) {
- $kid_wtr = \*{$dad_rdr};
- push @close, $kid_wtr;
- } else {
- push @close, \*{$dad_rdr}, $kid_wtr;
- }
- if ($dad_rdr ne $dad_err) {
- if ($dup_err) {
- $kid_err = \*{$dad_err};
- push @close, $kid_err;
+
+ foreach (@handles) {
+ if ($_->{dup_of_out}) {
+ $_->{open_as} = $handles[1]{open_as};
+ } elsif ($_->{dup}) {
+ $_->{open_as} = $_->{parent} =~ /\A[0-9]+\z/
+ ? $_->{parent} : \*{$_->{parent}};
+ push @close, $_->{open_as};
} else {
- push @close, \*{$dad_err}, $kid_err;
+ push @close, \*{$_->{parent}}, $_->{open_as};
}
- } else {
- $kid_err = $kid_wtr;
}
require IO::Pipe;
$kidpid = eval {
- spawn_with_handles( [ { mode => 'r',
- open_as => $kid_rdr,
- handle => \*STDIN },
- { mode => 'w',
- open_as => $kid_wtr,
- handle => \*STDOUT },
- { mode => 'w',
- open_as => $kid_err,
- handle => \*STDERR },
- ], \@close, @cmd);
+ spawn_with_handles(\@handles, \@close, @_);
};
die "$Me: $@" if $@;
}
- xclose $kid_rdr if !$dup_wtr;
- xclose $kid_wtr if !$dup_rdr;
- xclose $kid_err if !$dup_err && $dad_rdr ne $dad_err;
+ foreach (@handles) {
+ next if $_->{dup} or $_->{dup_of_out};
+ xclose $_->{open_as};
+ }
+
# If the write handle is a dup give it away entirely, close my copy
# of it.
- xclose $dad_wtr if $dup_wtr;
+ xclose $handles[0]{parent} if $handles[0]{dup};
- select((select($dad_wtr), $| = 1)[0]); # unbuffer pipe
+ select((select($handles[0]{parent}), $| = 1)[0]); # unbuffer pipe
$kidpid;
}
@@ -376,43 +347,68 @@ sub open3 {
local $" = ', ';
croak "open3(@_): not enough arguments";
}
- return _open3 'open3', scalar caller, @_
+ return _open3 'open3', @_
}
sub spawn_with_handles {
my $fds = shift; # Fields: handle, mode, open_as
my $close_in_child = shift;
my ($fd, $pid, @saved_fh, $saved, %saved, @errs);
- require Fcntl;
foreach $fd (@$fds) {
$fd->{tmp_copy} = IO::Handle->new_from_fd($fd->{handle}, $fd->{mode});
- $saved{fileno $fd->{handle}} = $fd->{tmp_copy};
+ $saved{fileno $fd->{handle}} = $fd->{tmp_copy} if $fd->{tmp_copy};
}
foreach $fd (@$fds) {
bless $fd->{handle}, 'IO::Handle'
unless eval { $fd->{handle}->isa('IO::Handle') } ;
# If some of handles to redirect-to coincide with handles to
# redirect, we need to use saved variants:
- $fd->{handle}->fdopen($saved{fileno $fd->{open_as}} || $fd->{open_as},
+ $fd->{handle}->fdopen(defined fileno $fd->{open_as}
+ ? $saved{fileno $fd->{open_as}} || $fd->{open_as}
+ : $fd->{open_as},
$fd->{mode});
}
unless ($^O eq 'MSWin32') {
+ require Fcntl;
# Stderr may be redirected below, so we save the err text:
foreach $fd (@$close_in_child) {
+ next unless fileno $fd;
fcntl($fd, Fcntl::F_SETFD(), 1) or push @errs, "fcntl $fd: $!"
unless $saved{fileno $fd}; # Do not close what we redirect!
}
}
unless (@errs) {
- $pid = eval { system 1, @_ }; # 1 == P_NOWAIT
+ if (FORCE_DEBUG_SPAWN) {
+ pipe my $r, my $w or die "Pipe failed: $!";
+ $pid = fork;
+ die "Fork failed: $!" unless defined $pid;
+ if (!$pid) {
+ { no warnings; exec @_ }
+ print $w 0 + $!;
+ close $w;
+ require POSIX;
+ POSIX::_exit(255);
+ }
+ close $w;
+ my $bad = <$r>;
+ if (defined $bad) {
+ $! = $bad;
+ undef $pid;
+ }
+ } else {
+ $pid = eval { system 1, @_ }; # 1 == P_NOWAIT
+ }
push @errs, "IO::Pipe: Can't spawn-NOWAIT: $!" if !$pid || $pid < 0;
}
- foreach $fd (@$fds) {
+ # Do this in reverse, so that STDERR is restored first:
+ foreach $fd (reverse @$fds) {
$fd->{handle}->fdopen($fd->{tmp_copy}, $fd->{mode});
- $fd->{tmp_copy}->close or croak "Can't close: $!";
+ }
+ foreach (values %saved) {
+ $_->close or croak "Can't close: $!";
}
croak join "\n", @errs if @errs;
return $pid;
diff --git a/Master/tlpkg/tlperl/lib/JSON/PP.pm b/Master/tlpkg/tlperl/lib/JSON/PP.pm
index cef9f421752..2e617fc6227 100644
--- a/Master/tlpkg/tlperl/lib/JSON/PP.pm
+++ b/Master/tlpkg/tlperl/lib/JSON/PP.pm
@@ -11,7 +11,7 @@ use Carp ();
use B ();
#use Devel::Peek;
-$JSON::PP::VERSION = '2.27105';
+$JSON::PP::VERSION = '2.27200';
@JSON::PP::EXPORT = qw(encode_json decode_json from_json to_json);
@@ -1459,7 +1459,7 @@ sub incr_parse {
if ( defined wantarray ) {
- $self->{incr_mode} = INCR_M_WS;
+ $self->{incr_mode} = INCR_M_WS unless defined $self->{incr_mode};
if ( wantarray ) {
my @ret;
@@ -1470,10 +1470,10 @@ sub incr_parse {
push @ret, $self->_incr_parse( $coder, $self->{incr_text} );
unless ( !$self->{incr_nest} and $self->{incr_mode} == INCR_M_JSON ) {
- $self->{incr_mode} = INCR_M_WS;
+ $self->{incr_mode} = INCR_M_WS if $self->{incr_mode} != INCR_M_STR;
}
- } until ( !$self->{incr_text} );
+ } until ( length $self->{incr_text} >= $self->{incr_p} );
$self->{incr_parsing} = 0;
@@ -1512,6 +1512,10 @@ sub _incr_parse {
my $s = substr( $text, $p++, 1 );
if ( $s eq '"' ) {
+ if (substr( $text, $p - 2, 1 ) eq '\\' ) {
+ next;
+ }
+
if ( $self->{incr_mode} != INCR_M_STR ) {
$self->{incr_mode} = INCR_M_STR;
}
@@ -1545,6 +1549,7 @@ sub _incr_parse {
$self->{incr_p} = $p;
+ return if ( $self->{incr_mode} == INCR_M_STR and not $self->{incr_nest} );
return if ( $self->{incr_mode} == INCR_M_JSON and $self->{incr_nest} > 0 );
return '' unless ( length substr( $self->{incr_text}, 0, $p ) );
@@ -1625,9 +1630,9 @@ JSON::PP - JSON::XS compatible pure-Perl module.
=head1 VERSION
- 2.27105
+ 2.27200
-L<JSON::XS> 2.27 compatible.
+L<JSON::XS> 2.27 (~2.30) compatible.
=head1 NOTE
@@ -1826,7 +1831,7 @@ Basically, check to L<JSON> or L<JSON::XS>.
=head2 new
- $json = new JSON::PP
+ $json = JSON::PP->new
Rturns a new JSON::PP object that can be used to de/encode JSON
strings.
@@ -2804,7 +2809,7 @@ Makamaka Hannyaharamitu, E<lt>makamaka[at]cpan.orgE<gt>
=head1 COPYRIGHT AND LICENSE
-Copyright 2007-2010 by Makamaka Hannyaharamitu
+Copyright 2007-2011 by Makamaka Hannyaharamitu
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/List/Util.pm b/Master/tlpkg/tlperl/lib/List/Util.pm
index aced6b15b58..033ef505c0f 100644
--- a/Master/tlpkg/tlperl/lib/List/Util.pm
+++ b/Master/tlpkg/tlperl/lib/List/Util.pm
@@ -9,35 +9,16 @@
package List::Util;
use strict;
-use vars qw(@ISA @EXPORT_OK $VERSION $XS_VERSION $TESTING_PERL_ONLY);
require Exporter;
-@ISA = qw(Exporter);
-@EXPORT_OK = qw(first min max minstr maxstr reduce sum shuffle);
-$VERSION = "1.23";
-$XS_VERSION = $VERSION;
+our @ISA = qw(Exporter);
+our @EXPORT_OK = qw(first min max minstr maxstr reduce sum shuffle);
+our $VERSION = "1.25";
+our $XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
-eval {
- # PERL_DL_NONLAZY must be false, or any errors in loading will just
- # cause the perl code to be tested
- local $ENV{PERL_DL_NONLAZY} = 0 if $ENV{PERL_DL_NONLAZY};
- eval {
- require XSLoader;
- XSLoader::load('List::Util', $XS_VERSION);
- 1;
- } or do {
- require DynaLoader;
- local @ISA = qw(DynaLoader);
- bootstrap List::Util $XS_VERSION;
- };
-} unless $TESTING_PERL_ONLY;
-
-
-if (!defined &sum) {
- require List::Util::PP;
- List::Util::PP->import;
-}
+require XSLoader;
+XSLoader::load('List::Util', $XS_VERSION);
1;
diff --git a/Master/tlpkg/tlperl/lib/List/Util/PP.pm b/Master/tlpkg/tlperl/lib/List/Util/PP.pm
deleted file mode 100644
index 2771329b563..00000000000
--- a/Master/tlpkg/tlperl/lib/List/Util/PP.pm
+++ /dev/null
@@ -1,83 +0,0 @@
-# List::Util::PP.pm
-#
-# Copyright (c) 1997-2009 Graham Barr <gbarr@pobox.com>. All rights reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-
-package List::Util::PP;
-
-use strict;
-use warnings;
-use vars qw(@ISA @EXPORT $VERSION $a $b);
-require Exporter;
-
-@ISA = qw(Exporter);
-@EXPORT = qw(first min max minstr maxstr reduce sum shuffle);
-$VERSION = "1.23";
-$VERSION = eval $VERSION;
-
-sub reduce (&@) {
- my $code = shift;
- require Scalar::Util;
- my $type = Scalar::Util::reftype($code);
- unless($type and $type eq 'CODE') {
- require Carp;
- Carp::croak("Not a subroutine reference");
- }
- no strict 'refs';
-
- return shift unless @_ > 1;
-
- use vars qw($a $b);
-
- my $caller = caller;
- local(*{$caller."::a"}) = \my $a;
- local(*{$caller."::b"}) = \my $b;
-
- $a = shift;
- foreach (@_) {
- $b = $_;
- $a = &{$code}();
- }
-
- $a;
-}
-
-sub first (&@) {
- my $code = shift;
- require Scalar::Util;
- my $type = Scalar::Util::reftype($code);
- unless($type and $type eq 'CODE') {
- require Carp;
- Carp::croak("Not a subroutine reference");
- }
-
- foreach (@_) {
- return $_ if &{$code}();
- }
-
- undef;
-}
-
-
-sub sum (@) { reduce { $a + $b } @_ }
-
-sub min (@) { reduce { $a < $b ? $a : $b } @_ }
-
-sub max (@) { reduce { $a > $b ? $a : $b } @_ }
-
-sub minstr (@) { reduce { $a lt $b ? $a : $b } @_ }
-
-sub maxstr (@) { reduce { $a gt $b ? $a : $b } @_ }
-
-sub shuffle (@) {
- my @a=\(@_);
- my $n;
- my $i=@_;
- map {
- $n = rand($i--);
- (${$a[$n]}, $a[$n] = $a[$i])[0];
- } @_;
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/List/Util/XS.pm b/Master/tlpkg/tlperl/lib/List/Util/XS.pm
index 2dcb03a28e2..d46853ca234 100644
--- a/Master/tlpkg/tlperl/lib/List/Util/XS.pm
+++ b/Master/tlpkg/tlperl/lib/List/Util/XS.pm
@@ -1,18 +1,10 @@
package List::Util::XS;
use strict;
-use vars qw($VERSION);
use List::Util;
-$VERSION = "1.23"; # FIXUP
+our $VERSION = "1.25"; # FIXUP
$VERSION = eval $VERSION; # FIXUP
-sub _VERSION { # FIXUP
- require Carp;
- Carp::croak("You need to install Scalar-List-Utils with a C compiler to ensure the XS is compiled")
- if defined $_[1];
- $VERSION;
-}
-
1;
__END__
@@ -32,6 +24,10 @@ installed using a C compiler and that the XS version is installed.
During installation C<$List::Util::XS::VERSION> will be set to
C<undef> if the XS was not compiled.
+Starting with release 1.23_03, Scalar-List-Util is B<always> using
+the XS implementation, but for backwards compatibility, we still
+ship the C<List::Util::XS> module which just loads C<List::Util>.
+
=head1 SEE ALSO
L<Scalar::Util>, L<List::Util>, L<List::MoreUtils>
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes.pm b/Master/tlpkg/tlperl/lib/Locale/Codes.pm
index 2fe84b1994c..c6a8257c37c 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes.pm
@@ -1,7 +1,7 @@
package Locale::Codes;
# Copyright (C) 2001 Canon Research Centre Europe (CRE).
# Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2011 Sullivan Beck
+# Copyright (c) 2010-2012 Sullivan Beck
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
@@ -10,6 +10,7 @@ use warnings;
require 5.002;
use Carp;
+use Locale::Codes::Constants;
#=======================================================================
# Public Global Variables
@@ -18,7 +19,7 @@ use Carp;
# This module is not called directly... %Data is filled in by the
# calling modules.
-our($VERSION,%Data);
+our($VERSION,%Data,%Retired);
# $Data{ TYPE }{ code2id }{ CODESET } { CODE } = [ ID, I ]
# { id2code }{ CODESET } { ID } = CODE
@@ -26,17 +27,71 @@ our($VERSION,%Data);
# { alias2id }{ NAME } = [ ID, I ]
# { id } = FIRST_UNUSED_ID
# { codealias }{ CODESET } { ALIAS } = CODE
+#
+# $Retired{ TYPE }{ CODESET }{ code }{ CODE } = NAME
+# { name }{ NAME } = [CODE,NAME] (the key is lowercase)
-$VERSION='3.16';
+$VERSION='3.21';
#=======================================================================
#
-# _code2name ( TYPE,CODE,CODESET )
+# _code ( TYPE,CODE,CODESET )
#
#=======================================================================
-sub _code2name {
+sub _code {
+ return 1 if (@_ > 3);
+
my($type,$code,$codeset) = @_;
+ $code = '' if (! $code);
+
+ # Determine the codeset
+
+ $codeset = $ALL_CODESETS{$type}{'default'}
+ if (! defined($codeset) || $codeset eq '');
+ $codeset = lc($codeset);
+ return 1 if (! exists $ALL_CODESETS{$type}{'codesets'}{$codeset});
+ return (0,$code,$codeset) if (! $code);
+
+ # Determine the properties of the codeset
+
+ my($op,@args) = @{ $ALL_CODESETS{$type}{'codesets'}{$codeset} };
+
+ if ($op eq 'lc') {
+ $code = lc($code);
+
+ } elsif ($op eq 'uc') {
+ $code = uc($code);
+
+ } elsif ($op eq 'ucfirst') {
+ $code = ucfirst(lc($code));
+
+ } elsif ($op eq 'numeric') {
+ return (1) unless ($code =~ /^\d+$/);
+ my $l = $args[0];
+ $code = sprintf("%.${l}d", $code);
+ }
+
+ return (0,$code,$codeset);
+}
+
+#=======================================================================
+#
+# _code2name ( TYPE,CODE [,CODESET] [,'retired'] )
+#
+#=======================================================================
+
+sub _code2name {
+ my($type,@args) = @_;
+ my $retired = 0;
+ if (@args > 0 && $args[$#args] && $args[$#args] eq 'retired') {
+ pop(@args);
+ $retired = 1;
+ }
+
+ my($err,$code,$codeset) = _code($type,@args);
+ return undef if ($err ||
+ ! defined $code);
$code = $Data{$type}{'codealias'}{$codeset}{$code}
if (exists $Data{$type}{'codealias'}{$codeset}{$code});
@@ -46,37 +101,47 @@ sub _code2name {
my ($id,$i) = @{ $Data{$type}{'code2id'}{$codeset}{$code} };
my $name = $Data{$type}{'id2names'}{$id}[$i];
return $name;
+
+ } elsif ($retired && exists $Retired{$type}{$codeset}{'code'}{$code}) {
+ return $Retired{$type}{$codeset}{'code'}{$code};
+
} else {
- #---------------------------------------------------------------
- # no such code!
- #---------------------------------------------------------------
return undef;
}
}
#=======================================================================
#
-# _name2code ( TYPE,NAME,CODESET )
+# _name2code ( TYPE,NAME [,CODESET] [,'retired'] )
#
#=======================================================================
sub _name2code {
- my($type,$name,$codeset) = @_;
- $name = "" if (! $name);
- $name = lc($name);
+ my($type,$name,@args) = @_;
+ return undef if (! $name);
+ $name = lc($name);
+
+ my $retired = 0;
+ if (@args > 0 && $args[$#args] && $args[$#args] eq 'retired') {
+ pop(@args);
+ $retired = 1;
+ }
+
+ my($err,$tmp,$codeset) = _code($type,'',@args);
+ return undef if ($err);
if (exists $Data{$type}{'alias2id'}{$name}) {
my $id = $Data{$type}{'alias2id'}{$name}[0];
if (exists $Data{$type}{'id2code'}{$codeset}{$id}) {
return $Data{$type}{'id2code'}{$codeset}{$id};
}
+
+ } elsif ($retired && exists $Retired{$type}{$codeset}{'name'}{$name}) {
+ return $Retired{$type}{$codeset}{'name'}{$name}[0];
}
- #---------------------------------------------------------------
- # no such name!
- #---------------------------------------------------------------
return undef;
- }
+}
#=======================================================================
#
@@ -85,7 +150,15 @@ sub _name2code {
#=======================================================================
sub _code2code {
- my($type,$code,$inset,$outset) = @_;
+ my($type,@args) = @_;
+ (@args == 3) or croak "${type}_code2code() takes 3 arguments!";
+
+ my($code,$inset,$outset) = @args;
+ my($err,$tmp);
+ ($err,$code,$inset) = _code($type,$code,$inset);
+ return undef if ($err);
+ ($err,$tmp,$outset) = _code($type,'',$outset);
+ return undef if ($err);
my $name = _code2name($type,$code,$inset);
my $outcode = _name2code($type,$name,$outset);
@@ -94,31 +167,47 @@ sub _code2code {
#=======================================================================
#
-# _all_codes ( TYPE,CODESET )
+# _all_codes ( TYPE [,CODESET] [,'retired'] )
#
#=======================================================================
sub _all_codes {
- my($type,$codeset) = @_;
+ my($type,@args) = @_;
+ my $retired = 0;
+ if (@args > 0 && $args[$#args] && $args[$#args] eq 'retired') {
+ pop(@args);
+ $retired = 1;
+ }
+
+ my ($err,$tmp,$codeset) = _code($type,'',@args);
+ return () if ($err);
if (! exists $Data{$type}{'code2id'}{$codeset}) {
return ();
}
my @codes = keys %{ $Data{$type}{'code2id'}{$codeset} };
+ push(@codes,keys %{ $Retired{$type}{$codeset}{'code'} }) if ($retired);
return (sort @codes);
}
#=======================================================================
#
-# _all_names ( TYPE,CODESET )
+# _all_names ( TYPE [,CODESET] [,'retired'] )
#
#=======================================================================
sub _all_names {
- my($type,$codeset) = @_;
+ my($type,@args) = @_;
+ my $retired = 0;
+ if (@args > 0 && $args[$#args] && $args[$#args] eq 'retired') {
+ pop(@args);
+ $retired = 1;
+ }
+
+ my ($err,$tmp,$codeset) = _code($type,'',@args);
+ return () if ($err);
my @codes = _all_codes($type,$codeset);
- return () if (! @codes);
my @names;
foreach my $code (@codes) {
@@ -126,6 +215,12 @@ sub _all_names {
my $name = $Data{$type}{'id2names'}{$id}[$i];
push(@names,$name);
}
+ if ($retired) {
+ foreach my $lc (keys %{ $Retired{$type}{$codeset}{'name'} }) {
+ my $name = $Retired{$type}{$codeset}{'name'}{$lc}[1];
+ push @names,$name;
+ }
+ }
return (sort @names);
}
@@ -140,7 +235,14 @@ sub _all_names {
#=======================================================================
sub _rename {
- my($type,$code,$new_name,$codeset,$nowarn) = @_;
+ my($type,$code,$new_name,@args) = @_;
+
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if (@args && $args[$#args] eq "nowarn");
+
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($type,$code,$codeset);
if (! $codeset) {
carp "rename_$type(): unknown codeset\n" unless ($nowarn);
@@ -209,7 +311,14 @@ sub _rename {
#=======================================================================
sub _add_code {
- my($type,$code,$name,$codeset,$nowarn) = @_;
+ my($type,$code,$name,@args) = @_;
+
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if (@args && $args[$#args] eq "nowarn");
+
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($type,$code,$codeset);
if (! $codeset) {
carp "add_$type(): unknown codeset\n" unless ($nowarn);
@@ -260,7 +369,14 @@ sub _add_code {
#=======================================================================
sub _delete_code {
- my($type,$code,$codeset,$nowarn) = @_;
+ my($type,$code,@args) = @_;
+
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if (@args && $args[$#args] eq "nowarn");
+
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($type,$code,$codeset);
if (! $codeset) {
carp "delete_$type(): unknown codeset\n" unless ($nowarn);
@@ -317,6 +433,8 @@ sub _delete_code {
sub _add_alias {
my($type,$name,$new_name,$nowarn) = @_;
+ $nowarn = (defined($nowarn) && $nowarn eq "nowarn" ? 1 : 0);
+
# Check that $name is used and $new_name is new.
my($id);
@@ -356,6 +474,8 @@ sub _add_alias {
sub _delete_alias {
my($type,$name,$nowarn) = @_;
+ $nowarn = (defined($nowarn) && $nowarn eq "nowarn" ? 1 : 0);
+
# Check that $name is used.
my($id,$i);
@@ -409,7 +529,16 @@ sub _delete_alias {
#=======================================================================
sub _rename_code {
- my($type,$code,$new_code,$codeset,$nowarn) = @_;
+ my($type,$code,$new_code,@args) = @_;
+
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if (@args && $args[$#args] eq "nowarn");
+
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($type,$code,$codeset);
+ ($err,$new_code,$codeset) = _code($type,$new_code,$codeset)
+ if (! $err);
if (! $codeset) {
carp "rename_$type(): unknown codeset\n" unless ($nowarn);
@@ -481,7 +610,16 @@ sub _rename_code {
#=======================================================================
sub _add_code_alias {
- my($type,$code,$new_code,$codeset,$nowarn) = @_;
+ my($type,$code,$new_code,@args) = @_;
+
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if (@args && $args[$#args] eq "nowarn");
+
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = _code($type,$code,$codeset);
+ ($err,$new_code,$codeset) = _code($type,$new_code,$codeset)
+ if (! $err);
if (! $codeset) {
carp "add_${type}_code_alias(): unknown codeset\n" unless ($nowarn);
@@ -521,7 +659,14 @@ sub _add_code_alias {
#=======================================================================
sub _delete_code_alias {
- my($type,$code,$codeset,$nowarn) = @_;
+ my($type,$code,@args) = @_;
+
+ my $nowarn = 0;
+ $nowarn = 1, pop(@args) if (@args && $args[$#args] eq "nowarn");
+
+ my $codeset = shift(@args);
+ my $err;
+ ($err,$code,$codeset) = Locale::Codes::_code($type,$code,$codeset);
if (! $codeset) {
carp "delete_${type}_code_alias(): unknown codeset\n" unless ($nowarn);
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes.pod b/Master/tlpkg/tlperl/lib/Locale/Codes.pod
index 1baa1e647ce..df10c849a1b 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes.pod
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes.pod
@@ -6,7 +6,7 @@ Locale::Codes - a distribution of modules to handle locale codes
=head1 DESCRIPTION
-B<Locale::Codes> is a distribution containing a set of modules. The
+B<Locale-Codes> is a distribution containing a set of modules. The
modules each deal with different types of codes which identify parts
of the locale including languages, countries, currency, etc.
@@ -14,44 +14,99 @@ Currently, the following modules are included:
=over 4
-=item B<Locale::Country>
+=item B<Locale::Codes::Country, Locale::Country>
This includes support for country codes (such as those listed in ISO-3166)
to specify the country.
-=item B<Locale::Language>
+Because this module was originally distributed as Locale::Country, it is
+also available under that name.
+
+=item B<Locale::Codes::Language, Locale::Language>
This includes support for language codes (such as those listed in ISO-639)
to specify the language.
-=item B<Locale::Currency>
+Because this module was originally distributed as Locale::Language, it is
+also available under that name.
+
+=item B<Locale::Codes::Currency, Locale::Currency>
This includes support for currency codes (such as those listed in ISO-4217)
to specify the currency.
-=item B<Locale::Script>
+Because this module was originally distributed as Locale::Currency, it is
+also available under that name.
+
+=item B<Locale::Codes::Script, Locale::Script>
This includes support for script codes (such as those listed in ISO-15924)
to specify the script.
+Because this module was originally distributed as Locale::Script, it is
+also available under that name.
+
+=item B<Locale::Codes::LangExt>
+
+This includes support for language extension codes (such as those listed
+in the IANA language registry) to specify the language extension.
+
+=item B<Locale::Codes::LangVar>
+
+This includes support for language variation codes (such as those listed
+in the IANA language registry) to specify the language variation.
+
+=item B<Locale::Codes::LangFam>
+
+This includes support for language family codes (such as those listed
+in ISO 639-5) to specify families of languages.
+
=back
Each module can support an arbitrary number of code sets, and it it
not required that the relationship between these code sets be
-one-to-one. For example, the Locale::Country module supports code
-sets from ISO-3166 and the FIPS 10 standard, and they do not break the
-world down into exactly the same sets of countries. This does not
-cause any problem (though converting codes from ISO-3166 to FIPS or
-back will not work except for countries that are one-to-one).
+one-to-one. For example, the Locale::Codes::Country module supports
+code sets from ISO-3166 and the FIPS 10 standard, and they do not
+break the world down into exactly the same sets of countries. This
+does not cause any problem (though converting codes from ISO-3166 to
+FIPS or back will not work except for countries that are one-to-one).
All data in all of these modules comes directly from the original
standards (or as close to direct as possible), so it should be
up-to-date at the time of release.
-I plan on releasing a new version a couple of times a year to
-incorporate any changes made in the standards. However, I don't always
-know about changes that occur, so if any of the standards change, and
-you want a new release sooner, just email me and I'll get one out.
+I plan on releasing a new version several times a year to incorporate
+any changes made in the standards. However, I don't always know about
+changes that occur, so if any of the standards change, and you want a
+new release sooner, just email me and I'll get one out.
+
+In addition to the modules above, there are a number of support modules included
+in the distribution including:
+
+=over 4
+
+=item B<Locale::Codes>
+
+=item B<Locale::Codes::Constants>
+
+=item B<Locale::Codes::Country_codes>
+
+=item B<Locale::Codes::Language_codes>
+
+=item B<Locale::Codes::Currency_codes>
+
+=item B<Locale::Codes::Script_codes>
+
+=item B<Locale::Codes::LangExt_codes>
+
+=item B<Locale::Codes::LangVar_codes>
+
+=item B<Locale::Codes::LangFam_codes>
+
+=back
+
+These modules are not intended to be used by programmers. They contain functions
+or data that are used by the modules listed above.
=head1 NEW CODE SETS
@@ -76,11 +131,15 @@ Ideally, I'd only get data from an official source, but sometimes that
is not possible. For example the ISO standards are not typically
available for free, so I may have to get some of that data from
alternate sources that I'm confident are getting their data from the
-official source.
+official source. However, I will always be hesitant to accept a
+non-official source.
-As an example, I get some country data from the CIA World
+As an example, I used to get some country data from the CIA World
Factbook. Given the nature of the source, I'm sure they're updating
data from the official sources and I consider it "nearly" official.
+However, even in this case, I found that they were adding codes that
+were not part of the standard, so I have stopped using them as a
+source.
There are many 3rd party sites which maintain lists (many of which are
actually in a more convenient form than the official sites).
@@ -139,374 +198,56 @@ alias "North Korea" since that's a very common way to specify the
country (please don't request this... I've already added it).
On the other hand, a request to add Zaire as an alias for "Congo, The
-Democratic Republic of" may not be honored. The country's official
-name is not Zaire, so adding it as an alias violates the standard.
+Democratic Republic of" will not be honored. The country's official
+name is no longer Zaire, so adding it as an alias violates the standard.
Zaire was kept as an alias in versions prior to 3.00, but it has been
removed. Other aliases (if any) which no longer appear in any standard
+(and which are not common variations of the name in the standards)
have also been removed.
-=head1 ROUTINES
-
-As of 3.10, the interface for all of the modules listed above are
-identical (as a matter of fact, they are all just wrappers around a
-central module which does all the real work).
-
-In order to maintain the documentation for the modules consistently,
-the functions are all documented here, rather than in the documentation
-for the separate modules.
-
-The name of the function depends on the module. For example, every module
-contains a function "code2XXX" where XXX refers to the type of data
-(country, language, currency, or script). So, the Locale::Country module
-contains the function code2country, the Locale::Language module contains
-the function code2language, etc.
-
-In all of the functions below, CODE refers to a code for one element in
-the code set. For example, in the two-letter country codes from ISO 3166-1,
-the code 'fi' is used to refer to the country Finland. CODE is always
-case insensitive (though when a code is returned, it will always be in
-the case as used in the standard), so 'fi', 'FI', and 'Fi' would all
-be equivalent.
-
-CODESET refers to a constant specified in the documentation for each
-module to label the various code sets. For example, in the
-Locale::Language module, CODESET could be LOCALE_CODE_ALPHA_2 or
-LOCALE_CODE_ALPHA_3 (among others). Most functions have a default one,
-so they do not need to be specified. So the following calls are valid:
-
- code2country("fi");
- code2country("fi",LOCALE_CODE_ALPHA_2);
- code2country("fin",LOCALE_CODE_ALPHA_3);
-
-Since LOCALE_CODE_ALPHA_2 is the default code set, the first two are
-identical.
-
-=over 4
-
-=item B<code2country ( CODE [,CODESET] )>
-
-=item B<code2language( CODE [,CODESET] )>
-
-=item B<code2currency( CODE [,CODESET] )>
-
-=item B<code2script ( CODE [,CODESET] )>
-
-These functions take a code and returns a string which contains
-the name of the element identified. If the code is not a valid
-code in the CODESET specified then C<undef> will be returned.
-
-The name of the element is the name as specified in the standard,
-and as a result, different variations of an element name may
-be returned for different values of CODESET.
-
-For example, the B<alpha-2> country code set defines the two-letter
-code "bo" to be "Bolivia, Plurinational State of", whereas the
-B<alpha-3> code set defines the code 'bol' to be the country "Bolivia
-(Plurinational State of)". So:
-
- code2country('bo',LOCALE_CODE_ALPHA_2);
- => 'Bolivia, Plurinational State of'
-
- code2country('bol',LOCALE_CODE_ALPHA_3);
- => 'Bolivia (Plurinational State of)'
-
-=item B<country2code ( NAME [,CODESET] )>
-
-=item B<language2code( NAME [,CODESET] )>
-
-=item B<currency2code( NAME [,CODESET] )>
-
-=item B<script2code ( NAME [,CODESET] )>
-
-These functions takes the name of an element (or any of it's aliases)
-and returns the code that corresponds to it, if it exists. If NAME
-could not be identified as the name of one of the elements, then
-C<undef> will be returned.
-
-The name is not case sensitive. Also, any known variation of a name
-may be passed in.
-
-For example, even though the country name returned using
-LOCALE_CODE_ALPHA_2 and LOCALE_CODE_ALPHA_3 country codes for Bolivia is different,
-either country name may be passed in since for each code set, in addition to
-the alias 'Bolivia'. So:
-
- country2code('Bolivia, Plurinational State of',
- LOCALE_CODE_ALPHA_2);
- => bo
-
- country2code('Bolivia (Plurinational State of)',
- LOCALE_CODE_ALPHA_2);
- => bo
-
- country2code('Bolivia',LOCALE_CODE_ALPHA_2);
- => bo
-
-=item B<country_code2code ( CODE ,CODESET ,CODESET2 )>
-
-=item B<language_code2code( CODE ,CODESET ,CODESET2 )>
-
-=item B<currency_code2code( CODE ,CODESET ,CODESET2 )>
-
-=item B<script_code2code ( CODE ,CODESET ,CODESET2 )>
-
-These functions takes a a code from one code set, and returns the
-corresponding code from another code set. CODE must exists in the code
-set specified by CODESET and must have a corresponding code in the
-code set specified by CODESET2 or C<undef> will be returned.
-
-Both CODESETs must be explicitly entered.
-
- country_code2code('fin', LOCALE_CODE_ALPHA_3,
- LOCALE_CODE_ALPHA_2);
- => 'fi'
-
-=item B<all_country_codes ( [CODESET] )>
-
-=item B<all_language_codes( [CODESET] )>
-
-=item B<all_currency_codes( [CODESET] )>
-
-=item B<all_script_codes ( [CODESET] )>
-
-These returns a list of all code in the code set. The codes will be
-sorted.
-
-=item B<all_country_names ( [CODESET] )>
-
-=item B<all_language_names( [CODESET] )>
-
-=item B<all_currency_names( [CODESET] )>
-
-=item B<all_script_names ( [CODESET] )>
-
-These return a list of all elements names for which there is a
-corresponding code in the specified code set.
-
-The names returned are exactly as they are specified in the standard,
-and are sorted.
-
-Since not all elements are listed in all code sets, the list of
-elements may differ depending on the code set specified.
-
-=back
-
-=head1 SEMI-PRIVATE ROUTINES
-
-Additional semi-private routines which may be used to modify the
-internal data are also available. Given their status, they aren't
-exported, and so need to be called by prefixing the function name with
-the package name.
-
-=over 4
-
-=item B<Locale::Country::rename_country ( CODE ,NEW_NAME [,CODESET] )>
-
-=item B<Locale::Language::rename_language( CODE ,NEW_NAME [,CODESET] )>
-
-=item B<Locale::Currency::rename_currency( CODE ,NEW_NAME [,CODESET] )>
-
-=item B<Locale::Script::rename_script ( CODE ,NEW_NAME [,CODESET] )>
-
-These routines are used to change the official name of an element. At
-that point, the name returned by the code2XXX routine would be
-NEW_NAME instead of the name specified in the standard.
-
-The original name will remain as an alias.
-
-For example, the official country name for code 'gb' is 'United
-Kingdom'. If you want to change that, you might call:
-
- Locale::Country::rename_country('gb', 'Great Britain');
-
-This means that calling code2country('gb') will now return 'Great
-Britain' instead of 'United Kingdom'.
-
-If any error occurs, a warning is issued and 0 is returned. An error
-occurs if CODE doesn't exist in the specified code set, or if
-NEW_NAME is already in use but for a different element.
-
-If the routine succeeds, 1 is returned.
-
-=item B<Locale::Country::add_country ( CODE ,NAME [,CODESET] )>
-
-=item B<Locale::Language::add_language( CODE ,NAME [,CODESET] )>
-
-=item B<Locale::Currency::add_currency( CODE ,NAME [,CODESET] )>
-
-=item B<Locale::Script::add_script ( CODE ,NAME [,CODESET] )>
-
-These routines are used to add a new code and name to the data.
-
-Both CODE and NAME must be unused in the data set or an error
-occurs (though NAME may be used in a different data set).
-
-For example, to create the fictitious country named "Duchy of
-Grand Fenwick" with codes "gf" and "fen", use the following:
-
- Locale::Country::add_country("fe","Duchy of Grand Fenwick",
- LOCALE_CODE_ALPHA_2);
-
- Locale::Country::add_country("fen","Duchy of Grand Fenwick",
- LOCALE_CODE_ALPHA_3);
-
-The return value is 1 on success, 0 on an error.
-
-=item B<Locale::Country::delete_country ( CODE [,CODESET] )>
-
-=item B<Locale::Language::delete_language( CODE [,CODESET] )>
-
-=item B<Locale::Currency::delete_currency( CODE [,CODESET] )>
-
-=item B<Locale::Script::delete_script ( CODE [,CODESET] )>
-
-These routines are used to delete a code from the data.
-
-CODE must refer to an existing code in the code set.
-
-The return value is 1 on success, 0 on an error.
-
-=item B<Locale::Country::add_country_alias ( NAME ,NEW_NAME )>
-
-=item B<Locale::Language::add_language_alias( NAME ,NEW_NAME )>
-
-=item B<Locale::Currency::add_currency_alias( NAME ,NEW_NAME )>
-
-=item B<Locale::Script::add_script_alias ( NAME ,NEW_NAME )>
-
-These routines are used to add a new alias to the data. They do
-not alter the return value of the code2XXX function.
-
-NAME must be an existing element name, and NEW_NAME must
-be unused or an error occurs.
-
-The return value is 1 on success, 0 on an error.
-
-=item B<Locale::Country::delete_country_alias ( NAME )>
-
-=item B<Locale::Language::delete_language_alias( NAME )>
-
-=item B<Locale::Currency::delete_currency_alias( NAME )>
+=head1 DEPRECATED CODES
-=item B<Locale::Script::delete_script_alias ( NAME )>
+Occasionally, a code is deprecated, but it may still be desirable to
+have access to it.
-These routines are used to delete an alias from the data. Once
-removed, the element may not be referred to by NAME.
+Although there is no way to see every code that has ever existed and
+been deprecated (since most codesets do not have that information
+available), as of version 3.20, every code which has ever been included
+in these modules can be referenced.
-NAME must be one of a list of at least two names that may be used to
-specify an element. If the element may only be referred to by a single
-name, you'll need to use the add_XXX_alias function to add a new alias
-first, or the remove_XXX function to remove the element entirely.
-
-If the alias is used as the name in any code set, one of the other
-names will be used instead. Predicting exactly which one will
-be used requires you to know the order in which the standards
-were read, which is not reliable, so you may want to use the
-rename_XXX function to force one of the alternate names to be
-used.
-
-The return value is 1 on success, 0 on an error.
-
-=item B<Locale::Country::rename_country_code ( CODE ,NEW_CODE [,CODESET] )>
-
-=item B<Locale::Language::rename_language_code( CODE ,NEW_CODE [,CODESET] )>
-
-=item B<Locale::Currency::rename_currency_code( CODE ,NEW_CODE [,CODESET] )>
-
-=item B<Locale::Script::rename_script_code ( CODE ,NEW_CODE [,CODESET] )>
-
-These routines are used to change the official code for an element. At
-that point, the code returned by the XXX2code routine would be
-NEW_CODE instead of the code specified in the standard.
-
-NEW_CODE may either be a code that is not in use, or it may be an
-alias for CODE (in which case, CODE becomes and alias and NEW_CODE
-becomes the "real" code).
-
-The original code is kept as an alias, so that the code2XXX routines
-will work with either the code from the standard or the new code.
-
-However, the all_XXX_codes routine will only return the codes which
-are considered "real" (which means that the list of codes will now
-contain NEW_CODE, but will not contain CODE).
-
-=item B<Locale::Country::add_country_code_alias ( CODE ,NEW_CODE [,CODESET] )>
-
-=item B<Locale::Language::add_language_code_alias( CODE ,NEW_CODE [,CODESET] )>
-
-=item B<Locale::Currency::add_currency_code_alias( CODE ,NEW_CODE [,CODESET] )>
-
-=item B<Locale::Script::add_script_code_alias ( CODE ,NEW_CODE [,CODESET] )>
-
-These routines add an alias for the code. At that point, NEW_CODE and CODE
-will both work in the code2XXX routines. However, the XXX2code routines will
-still return the original code.
-
-=item B<Locale::Country::delete_country_code_alias ( CODE [,CODESET] )>
-
-=item B<Locale::Language::delete_language_code_alias( CODE [,CODESET] )>
-
-=item B<Locale::Currency::delete_currency_code_alias( CODE [,CODESET] )>
-
-=item B<Locale::Script::delete_script_code_alias ( CODE [,CODESET] )>
-
-These routines delete an alias for the code.
-
-These will only work if CODE is actually an alias. If it is the "real"
-code, it will not be deleted. You will need to use the rename_XXX_code
-function to switch the real code with one of the aliases, and then
-delete the alias.
-
-=back
-
-=head1 KNOWN BUGS AND LIMITATIONS
-
-=over 4
-
-=item B<*>
-
-Because each code set uses a slightly different list of elements, and
-they are not necessarily one-to-one, there may be some confusion
-about the relationship between codes from different code sets.
-
-For example, ISO 3166 assigns one code to the country "United States
-Minor Outlying Islands", but the FIPS 10 codes give different codes
-to different islands (Baker Island, Howland Island, etc.).
-
-This may cause some confusion... I've done the best that I could do
-to minimize it.
-
-=item B<*>
-
-Currently all names must be all ASCII. I plan on relaxing that
-limitation in the future.
-
-=back
+For more information, refer to the documentation on the code2XXX, XXX2code,
+all_XXX_codes, and all_XXX_names function in the B<Locale::Codes::API>
+documentation.
=head1 SEE ALSO
=over 4
-=item B<Locale::Constants>
+=item B<Locale::Codes::API>
-Constants for Locale codes.
+The list of functions available in each of the modules listed below.
+The APIs for each module are exactly identical.
-=item B<Locale::Country>
+=item B<Locale::Codes::Country>
Codes for identification of countries.
-=item B<Locale::Language>
+=item B<Locale::Codes::Language>
Codes for identification of languages.
-=item B<Locale::Script>
+=item B<Locale::Codes::Script>
Codes for identification of scripts.
-=item B<Locale::Currency>
+=item B<Locale::Codes::Currency>
Codes for identification of currencies and funds.
+=item B<Locale::Codes::Changes>
+
+A history of changes made to this distribution.
+
=back
=head1 AUTHOR
@@ -515,7 +256,8 @@ Locale::Country and Locale::Language were originally written by Neil
Bowers at the Canon Research Centre Europe (CRE). They maintained the
distribution from 1997 to 2001.
-Locale::Currency was originally written by Michael Hennecke.
+Locale::Currency was originally written by Michael Hennecke and was
+modified by Neil Bowers for inclusion in the distribution.
From 2001 to 2004, maintenance was continued by Neil Bowers. He
modified Locale::Currency for inclusion in the distribution. He also
@@ -524,17 +266,20 @@ added Locale::Constants and Locale::Script.
From 2004-2009, the module was unmaintained.
In 2010, maintenance was taken over by Sullivan Beck (sbeck@cpan.org)
-with Neil Bower's permission.
+with Neil Bower's permission. All problems or comments should be
+sent there. Alternately, problems can be reported using the
+perl problem tracker at:
+
+ https://rt.cpan.org/Dist/Display.html?Queue=Locale-Codes
=head1 COPYRIGHT
Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
Copyright (c) 2001 Michael Hennecke (Locale::Currency)
Copyright (c) 2001-2010 Neil Bowers
- Copyright (c) 2010-2011 Sullivan Beck
+ Copyright (c) 2010-2012 Sullivan Beck
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
=cut
-
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/API.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/API.pod
new file mode 100644
index 00000000000..1a566d2b157
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/API.pod
@@ -0,0 +1,320 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::API - a description of the callable function in each module
+
+=head1 DESCRIPTION
+
+Although there are several modules in the Locale-Codes distribution, all of them
+(as of version 3.10) use exactly the same API. As a matter of fact, each of the
+main callable modules are just wrappers around a central module which does all
+the real work.
+
+=head1 ROUTINES
+
+In order to maintain the documentation for the modules consistently,
+the functions are all documented here, rather than in the documentation
+for the separate modules.
+
+The name of the function depends on the module. For example, every module
+contains a function "code2XXX" where XXX refers to the type of data.
+The values of XXX are described in the following table:
+
+ XXX MODULE
+
+ country Locale::Codes::Country
+ language Locale::Codes::Language
+ currency Locale::Codes::Currency
+ script Locale::Codes::Script
+ langext Locale::Codes::LangExt
+ langvar Locale::Codes::LangVar
+ langfam Locale::Codes::LangFAM
+
+So, the Locale::Country module contains the function code2country, the
+Locale::Language module contains the function code2language, etc.
+
+In all of the functions below, CODE refers to a code for one element in
+the code set. For example, in the two-letter country codes from ISO 3166-1,
+the code 'fi' is used to refer to the country Finland. CODE is always
+case insensitive (though when a code is returned, it will always be in
+the case as used in the standard), so 'fi', 'FI', and 'Fi' would all
+be equivalent.
+
+CODESET refers to a constant specified in the documentation for each
+module to label the various code sets. For example, in the
+Locale::Language module, CODESET could be LOCALE_CODE_ALPHA_2 or
+LOCALE_CODE_ALPHA_3 (among others). Most functions have a default one,
+so they do not need to be specified. So the following calls are valid:
+
+ code2country("fi");
+ code2country("fi",LOCALE_CODE_ALPHA_2);
+ code2country("fin",LOCALE_CODE_ALPHA_3);
+
+Since LOCALE_CODE_ALPHA_2 is the default code set, the first two are
+identical.
+
+=over 4
+
+=item B<code2XXX ( CODE [,CODESET] [,'retired'] )>
+
+These functions take a code and returns a string which contains
+the name of the element identified. If the code is not a valid
+code in the CODESET specified then C<undef> will be returned.
+
+The name of the element is the name as specified in the standard,
+and as a result, different variations of an element name may
+be returned for different values of CODESET.
+
+For example, the B<alpha-2> country code set defines the two-letter
+code "bo" to be "Bolivia, Plurinational State of", whereas the
+B<alpha-3> code set defines the code 'bol' to be the country "Bolivia
+(Plurinational State of)". So:
+
+ code2country('bo',LOCALE_CODE_ALPHA_2);
+ => 'Bolivia, Plurinational State of'
+
+ code2country('bol',LOCALE_CODE_ALPHA_3);
+ => 'Bolivia (Plurinational State of)'
+
+By default, only active codes will be used, but if the string
+'retired' is passed in as an argument, both active and retired
+codes will be examined.
+
+=item B<XXX2code ( NAME [,CODESET] [,'retired'] )>
+
+These functions takes the name of an element (or any of it's aliases)
+and returns the code that corresponds to it, if it exists. If NAME
+could not be identified as the name of one of the elements, then
+C<undef> will be returned.
+
+The name is not case sensitive. Also, any known variation of a name
+may be passed in.
+
+For example, even though the country name returned using
+LOCALE_CODE_ALPHA_2 and LOCALE_CODE_ALPHA_3 country codes for Bolivia is different,
+either country name may be passed in since for each code set, in addition to
+the alias 'Bolivia'. So:
+
+ country2code('Bolivia, Plurinational State of',
+ LOCALE_CODE_ALPHA_2);
+ => bo
+
+ country2code('Bolivia (Plurinational State of)',
+ LOCALE_CODE_ALPHA_2);
+ => bo
+
+ country2code('Bolivia',LOCALE_CODE_ALPHA_2);
+ => bo
+
+By default, only active names will be used, but if the string
+'retired' is passed in as an argument, both active and retired
+names will be examined.
+
+=item B<XXX_code2code ( CODE ,CODESET ,CODESET2 )>
+
+These functions takes a a code from one code set, and returns the
+corresponding code from another code set. CODE must exists in the code
+set specified by CODESET and must have a corresponding code in the
+code set specified by CODESET2 or C<undef> will be returned.
+
+Both CODESETs must be explicitly entered.
+
+ country_code2code('fin', LOCALE_CODE_ALPHA_3,
+ LOCALE_CODE_ALPHA_2);
+ => 'fi'
+
+Note that this function does NOT support retired codes.
+
+=item B<all_XXX_codes ( [CODESET] [,'retired'] )>
+
+These returns a list of all code in the code set. The codes will be
+sorted.
+
+By default, only active codes will be returned, but if the string
+'retired' is passed in as an argument, both active and retired
+codes will be returned.
+
+=item B<all_XXX_names ( [CODESET] [,'retired'] )>
+
+These return a list of all elements names for which there is a
+corresponding code in the specified code set.
+
+The names returned are exactly as they are specified in the standard,
+and are sorted.
+
+Since not all elements are listed in all code sets, the list of
+elements may differ depending on the code set specified.
+
+By default, only active names will be returned, but if the string
+'retired' is passed in as an argument, both active and retired
+names will be returned.
+
+=back
+
+=head1 SEMI-PRIVATE ROUTINES
+
+Additional semi-private routines which may be used to modify the
+internal data are also available. Given their status, they aren't
+exported, and so need to be called by prefixing the function name with
+the package name.
+
+These routines do not currently work with retired codes.
+
+=over 4
+
+=item B<MODULE::rename_XXX ( CODE ,NEW_NAME [,CODESET] )>
+
+These routines are used to change the official name of an element. At
+that point, the name returned by the code2XXX routine would be
+NEW_NAME instead of the name specified in the standard.
+
+The original name will remain as an alias.
+
+For example, the official country name for code 'gb' is 'United
+Kingdom'. If you want to change that, you might call:
+
+ Locale::Codes::Country::rename_country('gb', 'Great Britain');
+
+This means that calling code2country('gb') will now return 'Great
+Britain' instead of 'United Kingdom'.
+
+If any error occurs, a warning is issued and 0 is returned. An error
+occurs if CODE doesn't exist in the specified code set, or if
+NEW_NAME is already in use but for a different element.
+
+If the routine succeeds, 1 is returned.
+
+=item B<MODULE::add_XXX ( CODE ,NAME [,CODESET] )>
+
+These routines are used to add a new code and name to the data.
+
+Both CODE and NAME must be unused in the data set or an error
+occurs (though NAME may be used in a different data set).
+
+For example, to create the fictitious country named "Duchy of
+Grand Fenwick" with codes "gf" and "fen", use the following:
+
+ Locale::Codes::Country::add_country("fe","Duchy of Grand Fenwick",
+ LOCALE_CODE_ALPHA_2);
+
+ Locale::Codes::Country::add_country("fen","Duchy of Grand Fenwick",
+ LOCALE_CODE_ALPHA_3);
+
+The return value is 1 on success, 0 on an error.
+
+=item B<MODULE::delete_XXX ( CODE [,CODESET] )>
+
+These routines are used to delete a code from the data.
+
+CODE must refer to an existing code in the code set.
+
+The return value is 1 on success, 0 on an error.
+
+=item B<MODULE::add_XXX_alias ( NAME ,NEW_NAME )>
+
+These routines are used to add a new alias to the data. They do
+not alter the return value of the code2XXX function.
+
+NAME must be an existing element name, and NEW_NAME must
+be unused or an error occurs.
+
+The return value is 1 on success, 0 on an error.
+
+=item B<MODULE::delete_XXX_alias ( NAME )>
+
+These routines are used to delete an alias from the data. Once
+removed, the element may not be referred to by NAME.
+
+NAME must be one of a list of at least two names that may be used to
+specify an element. If the element may only be referred to by a single
+name, you'll need to use the add_XXX_alias function to add a new alias
+first, or the remove_XXX function to remove the element entirely.
+
+If the alias is used as the name in any code set, one of the other
+names will be used instead. Predicting exactly which one will
+be used requires you to know the order in which the standards
+were read, which is not reliable, so you may want to use the
+rename_XXX function to force one of the alternate names to be
+used.
+
+The return value is 1 on success, 0 on an error.
+
+=item B<MODULE::rename_XXX_code ( CODE ,NEW_CODE [,CODESET] )>
+
+These routines are used to change the official code for an element. At
+that point, the code returned by the XXX2code routine would be
+NEW_CODE instead of the code specified in the standard.
+
+NEW_CODE may either be a code that is not in use, or it may be an
+alias for CODE (in which case, CODE becomes and alias and NEW_CODE
+becomes the "real" code).
+
+The original code is kept as an alias, so that the code2XXX routines
+will work with either the code from the standard or the new code.
+
+However, the all_XXX_codes routine will only return the codes which
+are considered "real" (which means that the list of codes will now
+contain NEW_CODE, but will not contain CODE).
+
+=item B<MODULE::add_XXX_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+These routines add an alias for the code. At that point, NEW_CODE and CODE
+will both work in the code2XXX routines. However, the XXX2code routines will
+still return the original code.
+
+=item B<MODULE::delete_XXX_code_alias ( CODE [,CODESET] )>
+
+These routines delete an alias for the code.
+
+These will only work if CODE is actually an alias. If it is the "real"
+code, it will not be deleted. You will need to use the rename_XXX_code
+function to switch the real code with one of the aliases, and then
+delete the alias.
+
+=back
+
+=head1 KNOWN BUGS AND LIMITATIONS
+
+=over 4
+
+=item B<*>
+
+Because each code set uses a slightly different list of elements, and
+they are not necessarily one-to-one, there may be some confusion
+about the relationship between codes from different code sets.
+
+For example, ISO 3166 assigns one code to the country "United States
+Minor Outlying Islands", but the FIPS 10 codes give different codes
+to different islands (Baker Island, Howland Island, etc.).
+
+This may cause some confusion... I've done the best that I could do
+to minimize it.
+
+=item B<*>
+
+Currently all names must be all ASCII. I plan on relaxing that
+limitation in the future.
+
+=back
+
+=head1 SEE ALSO
+
+Locale::Codes
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Changes.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/Changes.pod
index b9850ad13e3..88e91c78488 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/Changes.pod
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Changes.pod
@@ -2,13 +2,199 @@
=head1 NAME
-Locale::Codes::Changes - details important changes after 2.07
+Locale::Codes::Changes - details changes to Locale::Codes
-=head1 3.10
+=head1 SYNOPSIS
+
+This describes the changes made to modules in the Locale-Codes
+distribution. Major changes are marked with asterisks (*). For the
+most part, all modules have remained backward compatible at every
+release, but occasionally a change is made which is backward
+incompatible. These are marked with an exclamation mark (!).
+
+As of 3.00, the codes are autogenerated from the standards. With each
+release, codes will be re-generated and tested to see if any code
+changed. Any time there are any changes to the codes, it will be
+flagged below with a change: NEW CODE(s).
+
+I intend to check for new codes four times a year (March, June,
+September, December). I will also check on request, so if a code
+changes that you use, feel free to contact me. Any time there are new
+codes, I will add them to the module and release a new version.
+
+=head1 VERSION 3.22 (yyyy-mm-dd; sbeck)
+
+=head1 VERSION 3.21 (2012-03-01; sbeck)
+
+NEW CODE(s)
+
+=head1 VERSION 3.20 (2011-12-01; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Added limited support for deprecated codes>
+
+The code2XXX, XXX2code, all_XXX_codes, and all_XXX_names functions
+now support retired codes. RT 71124
+
+=item B<Fixed capitalization>
+
+The 'South Sudan' country was all caps. RT 71024
+
+=item B<Pod tests off by default>
+
+The pod tests will not run at install time. RT 71122
+
+=item B<Codesets may be specified by name>
+
+All codesets may be specified by a constant or by their name now. Previously,
+they were specified only by a constant.
+
+=item B<alias_code deprecated>
+
+The alias_code function exists for backward compatibility. It has been replaced
+by rename_country_code . The alias_code function will be removed sometime
+after September, 2013 .
+
+=item B<Code cleanup>
+
+All work is now done in the central module (Locale::Codes). Previously, some
+was still done in the wrapper modules (Locale::Codes::*) but that is gone now.
+
+=item B<Added LangFam module>
+
+Added Language Family codes (langfam) as defined in ISO 639-5.
+
+=back
+
+=head1 VERSION 3.18 (2011-08-31; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<No longer use CIA data>
+
+The CIA world added non-standard values, so I no longer use it as
+a source of data. Based on a report by Michiel Beijen.
+
+=back
+
+=head1 VERSION 3.17 (2011-06-28; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Added new types of codes>
+
+Added Language Extension codes (langext) and Language Variation codes
+(langvar) as defined in the IANA language registry.
+
+=item B<Added new codeset(s)>
+
+Added language codes from ISO 639-5
+
+Added language/script codes from the IANA language subtag
+registry
+
+=item B<Bug fixes>
+
+Fixed an uninitialized value warning. RT 67438
+
+Fixed the return value for the all_XXX_codes and all_XXX_names functions. RT 69100
+
+=item B<Reorganized code>
+
+Reorganized modules to move Locale::MODULE to Locale::Codes::MODULE to
+allow for cleaner future additions. The original four modules (Locale::Language,
+Locale::Currency, Locale::Country, Locale::Script) will continue to work, but
+all new sets of codes will be added in the Locale::Codes namespace.
+
+=back
+
+=head1 VERSION 3.16 (2011-03-01; sbeck)
+
+NEW CODE(s)
+
+=head1 VERSION 3.15 (2010-12-02; sbeck)
+
+NEW CODE(s)
=over 4
-=item B<Changed XXX_code2code behavior slightly>
+=item B<Minor fixes>
+
+Added version number to Makefile.PL/Build.PL requirement
+for POD testing modules. RT 62247
+
+Changed 'use vars' to 'our'
+
+=back
+
+=head1 VERSION 3.14 (2010-09-28; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Bug fixes>
+
+Stripped out some HTML that got included with some codes.
+
+=back
+
+=head1 VERSION 3.13 (2010-06-04; sbeck)
+
+NEW CODE(s)
+
+=head1 VERSION 3.12 (2010-04-06; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Reorganized code>
+
+Renamed test.pl to testfunc.pl to avoid causing an error
+when built as part of perl.
+
+=back
+
+=head1 VERSION 3.11 (2010-03-01; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Added new codeset(s)>
+
+Added the IANA domain names to Country
+
+=item B<Bug fixes>
+
+Fixed a problem that produced warnings with perl 5.11.5.
+Jerry D. Hedden
+
+=back
+
+=head1 VERSION 3.10 (2010-02-18; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Reorganized code>
+
+Moved support files into the Locale::Codes namespace.
+
+The work done in each of the Locale::XXX modules was virtually
+identical to each other. It has all been moved to a central module and
+the Locale::XXX modules are now just wrappers.
+
+=item B<(!) Changed XXX_code2code behavior slightly>
In previous versions, passing in the same code set for both code set
arguments would automatically return undef. For example:
@@ -78,9 +264,26 @@ The full set of routines includes:
delete_currency_code_alias
delete_script_code_alias
+=item B<New aliases>
+
+Added "UK" alias. Steve Hay
+
=back
-=head1 3.00
+=head1 VERSION 3.01 (2010-02-15; sbeck)
+
+=over 4
+
+=item B<Fixed Makefile.PL and Build.PL>
+
+They now install as core modules as they are supposed to. Reported in
+RT 54526
+
+=back
+
+=head1 VERSION 3.00 (2010-02-10; sbeck)
+
+NEW CODE(s)
=over 4
@@ -94,7 +297,7 @@ standards since then, so the data included was out-of-date.
I contacted Neil to get his permission to assume maintenance of
the module, and he kindly agreed.
-=item B<All codes are generated from standards>
+=item B<(*) (!) All codes are generated from standards>
All of the values returned by the various functions are now values
directly from the standards. This means that the values returned in
@@ -115,15 +318,15 @@ no longer supported. For example, 2.07 treated "Zaire" as an alias for
"Congo", but the country changed it's name, and "Zaire" is not in the
standard, so it has been dropped in 3.00.
-=item B<Added several code sets from standards>
+=item B<Added new codeset(s)>
+
+FIPS 10 country codes (requested in RT 1755)
-I've added the following code sets:
+Alpha-3 and Term language codes (requested in RT 11730)
- FIPS 10 country codes
- Alpha-3 and Term language codes
- Numeric currency codes
+Numeric currency codes (requested in RT 18797)
-=item B<Locale::Script changed>
+=item B<(*) (!) Locale::Script changed>
In 2.xx, Locale::Script assigned scripts to country codes, which is NOT
how it is done currently in the standards. It appears that an older version
@@ -144,13 +347,208 @@ only one set of codes supported, the code2code functions didn't apply):
so the interfaces for each type of codes are consistent.
-=item B<Dropped support for _alias_code>
+=item B<(!) Dropped support for _alias_code>
In Locale::Country, _alias_code was an allowed, but deprecated function
which was documented to be supported in the 2.xx series. I've removed it.
+=item B<(!) All functions return the standard value>
+
+code2country (and other equivalent functions) now returns the name of
+the country specified in the standard (if the different standards
+refer to the country by different variations in the name, the results
+will differ based on the CODESET)
+
+=item B<(!) rename_country function altered>
+
+The rename_country function from 2.07 would guess the CODESET (unlike
+all other functions which used a default of LOCALE_CODE_ALPHA_2). The
+guess can cause problems since (with the addition of FIPS) codes may
+appear in different codesets for different countries. The behavior has
+been changed to be the same as other functions (default to
+LOCALE_CODE_ALPHA_2).
+
=back
+=head1 VERSION 2.07 (2004-06-10; neilb)
+
+Made $_ local in the initialization code for each module
+change back-propagated from Perl distribution
+
+Removed two non ISO-8859-1 characters from language names
+change back-propagated from Perl distribution
+
+Added the following aliases, with a test case for each
+ - Burma added to Myanmar
+ - French Southern and Antarctic Lands to
+ French Southern Territories
+patch from TJ Mather
+
+"Canadian Dollar" was misspelled as "Candian Dollar"
+ - noted by Nick Cabatoff, patch from Michael Hennecke
+
+Changes to Locale::Country reflecting changes in ISO 3166
+ - added Aland Islands (ax, ala, 248)
+ - YUGOSLAVIA is now SERBIA AND MONTENEGRO
+ YU => CS
+ YUG => SCG
+ 891 => 891 (unchanged)
+ (YUGOSLAVIA retained as an alias)
+ - EAST TIMOR changed to TIMOR-LESTE
+ (old name retained as an alias)
+ - three letter code for Romania changed from ROM to ROU
+
+ZAIRE is now CONGO, THE DEMOCRATIC REPUBLIC OF THE
+ ZR => CD
+ ZAR => COD
+ 180 => 180 (unchanged)
+ (ZAIRE retained as alias)
+
+=head1 VERSION 2.06 (2002-07-15; neilb)
+
+The four modules which have data after __DATA__ weren't closing the
+DATA filehandle after reading from it, which they should. Bug and
+patch from Steve Hay.
+
+=head1 VERSION 2.05 (2002-07-08; neilb)
+
+Added three letter codes for the countries that were missing
+them. Patch from TJ Mather.
+
+Documentation bug: one of the examples used => where the
+lvalue was a constant, which isn't allowed, unless you
+put the () with the constant to force the right interpretation.
+Pointed out by TJ Mather and MYT.
+
+Updated the URL for the appendix in the CIA world factbook.
+Patch from TJ Mather.
+
+=head1 VERSION 2.04 (2002-05-23; neilb)
+
+Updated according to changes in ISO 3166-1 described
+in ISO 3166-1 newsletters V-4 and V-5, dated 2002-05-20:
+ - Kazakstan is now "Kazakhstan"
+ - Macau is now "Macao"
+The old names are retained as aliases.
+
+The alpha-2 and alpha-3 codes for East Timor have changed:
+ tp -> tl
+ tmp -> tls
+the numeric code stays 626. If you want to support the old
+codes, you can use the semi-private function alias_code().
+
+=head1 VERSION 2.03 (2002-03-24; neilb)
+
+Fixed a typo in the alias for the Vatican, reported (with patch)
+by Philip Newton.
+
+Added "Moldova" as an alias for "Moldova, Republic of"
+
+Updated Makefile.PL to include AUTHOR and ABSTRACT
+
+=head1 VERSION 2.02 (2002-03-09; neilb)
+
+Added semi-private routine rename_country() to Locale::Country,
+based on a patch from Iain Chalmers.
+
+Added test rename.t for the above function.
+
+Renamed _alias_code to be alias_code. Have retained the old
+name for backwards compatibility. Will remove it when the
+major version number next changes.
+
+=head1 VERSION 2.01 (2002-02-18; neilb)
+
+Split the documentation for all modules into separate pod files.
+
+Made sure all =over were =over 4; some were other values.
+
+The code2code() methods had one more shift than was needed.
+
+=head1 VERSION 2.00 (2002-02-17; neilb)
+
+Created Locale::Script which provides an interface to the ISO codes
+for identification of scripts (writing scripts, rather than perl style
+scripts). The codes are defined by ISO 15924, which is currently in
+final draft. Thanks to Jarkko for pointing out this new standard.
+All three code sets are supported, and a test-suite added.
+
+Added support for country name variants to Locale::Country,
+so that
+ country2code('USA')
+ country2code('United States')
+ country2code('United States of America')
+will all return 'us'. This had been in the LIMITATIONS section since
+the first version. Patch from TJ Mather with additional variants from
+me. Added test-cases for these.
+
+Added VERSION to Locale::Constants. Thanks to Jarkko for
+pointing that it was missing.
+
+Should really have bumped major version with previous release,
+since there was a change to the API.
+
+=head1 VERSION 1.06 (2001-03-04; neilb)
+
+Added Locale::Constants, which defines three symbols for identifying
+which codeset is being used:
+
+ LOCALE_CODE_ALPHA_2
+ LOCALE_CODE_ALPHA_3
+ LOCALE_CODE_NUMERIC
+
+Updated Locale::Country to support all three code sets defined by ISO
+3166. This was requested by Keith Wall. I haven't added multiple
+codeset support to the other modules yet - I'll wait until someone
+asks for them.
+
+=head1 VERSION 1.05 (2001-02-13; neilb)
+
+Added Locale::Currency, contribution from Michael Hennecke.
+
+Added test suite for it (t/currency.t) and added test cases
+to t/all.t for the all_* functions.
+
+=head1 VERSION 1.04 (2000-12-21; neilb)
+
+Fixed very minor typos from 1.03!
+
+=head1 VERSION 1.03 (2000-12-??; neilb)
+
+Updated Locale::Country:
+ - fixed spelling of a few countries
+ - added link to a relevant page from CIA world factbook
+
+Updated Locale::Language:
+ - fixed typo in the documentation (ISO 939 should be 639)
+
+=head1 VERSION 1.02 (2000-05-04; neilb)
+
+Updated Locale::Country and Locale::Language to reflect changes in the
+relevant ISO standards. These mainly reflect languages which are new
+to the relevant standard, and changes in the spelling of some country
+names.
+
+Added official URLs for the standards to the SEE ALSO sections of the
+doc for each module.
+
+Thanks to Jarkko Hietaniemi for pointing me at the pages with latest
+versions of ISO 3166 and 639.
+
+=head1 VERSION 1.00 (1998-03-09; neilb)
+
+Added Locale::Country::_alias_code() so that 'uk' can be added as the
+code for "United Kingdom", if you want it. This was prompted by Ed
+Jordan.
+
+Added a new test suite for handling this case, and extended the
+existing test-suite to include testing of the case where 'uk' hasn't
+been defined as a valid code.
+
+=head1 VERSION 0.003 (1997-05-09; neilb)
+
+First public release to CPAN
+
=head1 SEE ALSO
Locale::Codes
@@ -163,7 +561,8 @@ Currently maintained by Sullivan Beck (sbeck@cpan.org).
=head1 COPYRIGHT
- Copyright (c) 2010-2011 Sullivan Beck
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Constants.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Constants.pm
new file mode 100644
index 00000000000..64b96edde74
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Constants.pm
@@ -0,0 +1,133 @@
+package Locale::Codes::Constants;
+# Copyright (C) 2001 Canon Research Centre Europe (CRE).
+# Copyright (C) 2002-2009 Neil Bowers
+# Copyright (c) 2010-2012 Sullivan Beck
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+use strict;
+use warnings;
+
+require Exporter;
+
+#-----------------------------------------------------------------------
+# Public Global Variables
+#-----------------------------------------------------------------------
+
+our($VERSION,@ISA,@EXPORT);
+our(%ALL_CODESETS);
+
+$VERSION='3.21';
+@ISA = qw(Exporter);
+@EXPORT = qw(LOCALE_CODE_ALPHA_2
+ LOCALE_CODE_ALPHA_3
+ LOCALE_CODE_NUMERIC
+ LOCALE_CODE_FIPS
+ LOCALE_CODE_DOM
+
+ LOCALE_LANG_ALPHA_2
+ LOCALE_LANG_ALPHA_3
+ LOCALE_LANG_TERM
+
+ LOCALE_CURR_ALPHA
+ LOCALE_CURR_NUMERIC
+
+ LOCALE_SCRIPT_ALPHA
+ LOCALE_SCRIPT_NUMERIC
+
+ LOCALE_LANGEXT_ALPHA
+
+ LOCALE_LANGVAR_ALPHA
+
+ LOCALE_LANGFAM_ALPHA
+
+ %ALL_CODESETS
+ );
+
+#-----------------------------------------------------------------------
+# Constants
+#-----------------------------------------------------------------------
+
+use constant LOCALE_CODE_ALPHA_2 => 'alpha-2';
+use constant LOCALE_CODE_ALPHA_3 => 'alpha-3';
+use constant LOCALE_CODE_NUMERIC => 'numeric';
+use constant LOCALE_CODE_FIPS => 'fips-10';
+use constant LOCALE_CODE_DOM => 'dom';
+
+$ALL_CODESETS{'country'} = {
+ 'default' => 'alpha-2',
+ 'codesets' => { 'alpha-2' => ['lc'],
+ 'alpha-3' => ['lc'],
+ 'numeric' => ['numeric',3],
+ 'fips-10' => ['uc'],
+ 'dom' => ['uc'],
+ }
+ };
+
+use constant LOCALE_LANG_ALPHA_2 => 'alpha-2';
+use constant LOCALE_LANG_ALPHA_3 => 'alpha-3';
+use constant LOCALE_LANG_TERM => 'term';
+
+$ALL_CODESETS{'language'} = {
+ 'default' => 'alpha-2',
+ 'codesets' => { 'alpha-2' => ['lc'],
+ 'alpha-3' => ['lc'],
+ 'term' => ['lc'],
+ }
+ };
+
+use constant LOCALE_CURR_ALPHA => 'alpha';
+use constant LOCALE_CURR_NUMERIC => 'num';
+
+$ALL_CODESETS{'currency'} = {
+ 'default' => 'alpha',
+ 'codesets' => { 'alpha' => ['uc'],
+ 'num' => ['numeric',3],
+ }
+ };
+
+use constant LOCALE_SCRIPT_ALPHA => 'alpha';
+use constant LOCALE_SCRIPT_NUMERIC => 'num';
+
+$ALL_CODESETS{'script'} = {
+ 'default' => 'alpha',
+ 'codesets' => { 'alpha' => ['ucfirst'],
+ 'num' => ['numeric',3],
+ }
+ };
+
+use constant LOCALE_LANGEXT_ALPHA => 'alpha';
+
+$ALL_CODESETS{'langext'} = {
+ 'default' => 'alpha',
+ 'codesets' => { 'alpha' => ['lc'],
+ }
+ };
+
+use constant LOCALE_LANGVAR_ALPHA => 'alpha';
+
+$ALL_CODESETS{'langvar'} = {
+ 'default' => 'alpha',
+ 'codesets' => { 'alpha' => ['lc'],
+ }
+ };
+
+use constant LOCALE_LANGFAM_ALPHA => 'alpha';
+
+$ALL_CODESETS{'langfam'} = {
+ 'default' => 'alpha',
+ 'codesets' => { 'alpha' => ['lc'],
+ }
+ };
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: -2
+# End:
diff --git a/Master/tlpkg/tlperl/lib/Locale/Constants.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/Constants.pod
index 53b4996a968..78ded778e96 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Constants.pod
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Constants.pod
@@ -2,11 +2,11 @@
=head1 NAME
-Locale::Constants - constants for Locale codes
+Locale::Codes::Constants - constants for Locale codes
=head1 DESCRIPTION
-B<Locale::Constants> defines symbols which are used in the other
+B<Locale::Codes::Constants> defines symbols which are used in the other
modules from the Locale-Codes distribution.
You shouldn't have to C<use> this module directly yourself - it is
@@ -32,7 +32,7 @@ Currently maintained by Sullivan Beck (sbeck@cpan.org).
Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
Copyright (c) 2001-2010 Neil Bowers
- Copyright (c) 2010-2011 Sullivan Beck
+ Copyright (c) 2010-2012 Sullivan Beck
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Country.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Country.pm
index 1ec5dcd8aae..4e0056fa4d6 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/Country.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Country.pm
@@ -1,9690 +1,114 @@
package Locale::Codes::Country;
-
-# This file was automatically generated. Any changes to this file will
-# be lost the next time 'get_codes' is run.
-# Generated on: Tue Mar 1 13:37:25 EST 2011
-
-=pod
-
-=head1 NAME
-
-Locale::Codes::Country - country codes for the Locale::Country module
-
-=head1 SYNOPSIS
-
-This module contains data used by the Locale::Country module. It is
-not intended to be used directly, and contains no calleable routines.
-
-=head1 AUTHOR
-
-See Locale::Codes for full author history.
-
-Currently maintained by Sullivan Beck (sbeck@cpan.org).
-
-=head1 COPYRIGHT
-
- Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
- Copyright (c) 2001-2010 Neil Bowers
- Copyright (c) 2010-2011 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
+# Copyright (C) 2001 Canon Research Centre Europe (CRE).
+# Copyright (C) 2002-2009 Neil Bowers
+# Copyright (c) 2010-2012 Sullivan Beck
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
use strict;
use warnings;
require 5.002;
-our($VERSION);
-$VERSION='3.16';
-
-$Locale::Codes::Data{'country'}{'id'} = '0281';
-
-$Locale::Codes::Data{'country'}{'id2names'} = {
- q(0001) => [
- q(Afghanistan),
- q(Islamic State of Afghanistan),
- ],
- q(0002) => [
- q(Aland Islands),
- ],
- q(0003) => [
- q(Albania),
- q(Republic of Albania),
- ],
- q(0004) => [
- q(Algeria),
- q(People's Democratic Republic of Algeria),
- ],
- q(0005) => [
- q(American Samoa),
- q(Territory of American Samoa),
- ],
- q(0006) => [
- q(Andorra),
- q(Principality of Andorra),
- ],
- q(0007) => [
- q(Angola),
- q(Republic of Angola),
- ],
- q(0008) => [
- q(Anguilla),
- ],
- q(0009) => [
- q(Antarctica),
- ],
- q(0010) => [
- q(Antigua and Barbuda),
- ],
- q(0011) => [
- q(Argentina),
- q(Argentine Republic),
- ],
- q(0012) => [
- q(Armenia),
- q(Republic of Armenia),
- ],
- q(0013) => [
- q(Aruba),
- ],
- q(0014) => [
- q(Australia),
- q(Commonwealth of Australia),
- ],
- q(0015) => [
- q(Austria),
- q(Republic of Austria),
- ],
- q(0016) => [
- q(Azerbaijan),
- q(Republic of Azerbaijan),
- ],
- q(0017) => [
- q(Bahamas),
- q(Bahamas, The),
- q(Commonwealth of the Bahamas),
- q(The Bahamas),
- ],
- q(0018) => [
- q(Bahrain),
- q(State of Bahrain),
- ],
- q(0019) => [
- q(Bangladesh),
- q(People's Republic of Bangladesh),
- ],
- q(0020) => [
- q(Barbados),
- ],
- q(0021) => [
- q(Belarus),
- q(Republic of Belarus),
- ],
- q(0022) => [
- q(Belgium),
- q(Kingdom of Belgium),
- ],
- q(0023) => [
- q(Belize),
- ],
- q(0024) => [
- q(Benin),
- q(Republic of Benin),
- ],
- q(0025) => [
- q(Bermuda),
- ],
- q(0026) => [
- q(Bhutan),
- q(Kingdom of Bhutan),
- ],
- q(0027) => [
- q(Bolivia, Plurinational State of),
- q(Bolivia (Plurinational State of)),
- q(Bolivia),
- q(Republic of Bolivia),
- ],
- q(0028) => [
- q(Bonaire, Saint Eustatius and Saba),
- ],
- q(0029) => [
- q(Bosnia and Herzegovina),
- ],
- q(0030) => [
- q(Botswana),
- q(Republic of Botswana),
- ],
- q(0031) => [
- q(Bouvet Island),
- ],
- q(0032) => [
- q(Brazil),
- q(Federative Republic of Brazil),
- ],
- q(0033) => [
- q(British Indian Ocean Territory),
- ],
- q(0034) => [
- q(Brunei Darussalam),
- q(Brunei),
- q(Negara Brunei Darussalam),
- ],
- q(0035) => [
- q(Bulgaria),
- ],
- q(0036) => [
- q(Burkina Faso),
- ],
- q(0037) => [
- q(Burundi),
- q(Republic of Burundi),
- ],
- q(0038) => [
- q(Cambodia),
- q(Kingdom of Cambodia),
- ],
- q(0039) => [
- q(Cameroon),
- q(Republic of Cameroon),
- ],
- q(0040) => [
- q(Canada),
- ],
- q(0041) => [
- q(Cape Verde),
- q(Republic of Cape Verde),
- ],
- q(0042) => [
- q(Cayman Islands),
- ],
- q(0043) => [
- q(Central African Republic),
- ],
- q(0044) => [
- q(Chad),
- q(Republic of Chad),
- ],
- q(0045) => [
- q(Chile),
- q(Republic of Chile),
- ],
- q(0046) => [
- q(China),
- q(People's Republic of China),
- ],
- q(0047) => [
- q(Christmas Island),
- q(Territory of Christmas Island),
- ],
- q(0048) => [
- q(Cocos (Keeling) Islands),
- q(Territory of Cocos (Keeling) Islands),
- q(Keeling Islands),
- q(Cocos Islands),
- ],
- q(0049) => [
- q(Colombia),
- q(Republic of Colombia),
- ],
- q(0050) => [
- q(Comoros),
- q(Federal Islamic Republic of the Comoros),
- ],
- q(0051) => [
- q(Congo),
- q(Congo (Brazzaville)),
- q(Republic of the Congo),
- q(Congo, Republic of the),
- q(The Republic of the Congo),
- ],
- q(0052) => [
- q(Congo, The Democratic Republic of the),
- q(Democratic Republic of the Congo),
- q(Congo (Kinshasa)),
- q(Congo, Democratic Republic of the),
- q(The Democratic Republic of the Congo),
- ],
- q(0053) => [
- q(Cook Islands),
- ],
- q(0054) => [
- q(Costa Rica),
- q(Republic of Costa Rica),
- ],
- q(0055) => [
- q(Cote d'Ivoire),
- q(Republic of Cote D'Ivoire),
- ],
- q(0056) => [
- q(Croatia),
- q(Republic of Croatia),
- ],
- q(0057) => [
- q(Cuba),
- q(Republic of Cuba),
- ],
- q(0058) => [
- q(Curacao),
- ],
- q(0059) => [
- q(Cyprus),
- q(Republic of Cyprus),
- ],
- q(0060) => [
- q(Czech Republic),
- ],
- q(0061) => [
- q(Denmark),
- q(Kingdom of Denmark),
- ],
- q(0062) => [
- q(Djibouti),
- q(Republic of Djibouti),
- ],
- q(0063) => [
- q(Dominica),
- q(Commonwealth of Dominica),
- ],
- q(0064) => [
- q(Dominican Republic),
- ],
- q(0065) => [
- q(Ecuador),
- q(Republic of Ecuador),
- ],
- q(0066) => [
- q(Egypt),
- q(Arab Republic of Egypt),
- ],
- q(0067) => [
- q(El Salvador),
- q(Republic of El Salvador),
- ],
- q(0068) => [
- q(Equatorial Guinea),
- q(Republic of Equatorial Guinea),
- ],
- q(0069) => [
- q(Eritrea),
- q(State of Eritrea),
- ],
- q(0070) => [
- q(Estonia),
- q(Republic of Estonia),
- ],
- q(0071) => [
- q(Ethiopia),
- q(Federal Democratic Republic of Ethiopia),
- ],
- q(0072) => [
- q(Falkland Islands (Malvinas)),
- q(Falkland Islands (Islas Malvinas)),
- ],
- q(0073) => [
- q(Faroe Islands),
- q(Faeroe Islands),
- ],
- q(0074) => [
- q(Fiji),
- q(Republic of the Fiji Islands),
- ],
- q(0075) => [
- q(Finland),
- q(Republic of Finland),
- ],
- q(0076) => [
- q(France),
- q(French Republic),
- ],
- q(0077) => [
- q(French Guiana),
- q(Department of Guiana),
- ],
- q(0078) => [
- q(French Polynesia),
- q(Territory of French Polynesia),
- ],
- q(0079) => [
- q(French Southern Territories),
- q(French Southern and Antarctic Lands),
- q(Territory of the French Southern and Antarctic Lands),
- ],
- q(0080) => [
- q(Gabon),
- q(Gabonese Republic),
- ],
- q(0081) => [
- q(Gambia),
- q(Gambia, The),
- q(Republic of the Gambia),
- ],
- q(0082) => [
- q(Georgia),
- ],
- q(0083) => [
- q(Germany),
- q(Federal Republic of Germany),
- ],
- q(0084) => [
- q(Ghana),
- q(Republic of Ghana),
- ],
- q(0085) => [
- q(Gibraltar),
- ],
- q(0086) => [
- q(Greece),
- q(Hellenic Republic),
- ],
- q(0087) => [
- q(Greenland),
- ],
- q(0088) => [
- q(Grenada),
- ],
- q(0089) => [
- q(Guadeloupe),
- q(Department of Guadeloupe),
- ],
- q(0090) => [
- q(Guam),
- q(Territory of Guam),
- ],
- q(0091) => [
- q(Guatemala),
- q(Republic of Guatemala),
- ],
- q(0092) => [
- q(Guernsey),
- q(Bailiwick of Guernsey),
- ],
- q(0093) => [
- q(Guinea),
- q(Republic of Guinea),
- ],
- q(0094) => [
- q(Guinea-Bissau),
- q(Republic of Guinea-Bissau),
- ],
- q(0095) => [
- q(Guyana),
- q(Co-operative Republic of Guyana),
- ],
- q(0096) => [
- q(Haiti),
- q(Republic of Haiti),
- ],
- q(0097) => [
- q(Heard Island and Mcdonald Islands),
- q(Territory of Heard Island and McDonald Islands),
- ],
- q(0098) => [
- q(Holy See (Vatican City State)),
- q(Holy See),
- q(Vatican City),
- q(State of the Vatican City),
- q(Holy See (Vatican City)),
- ],
- q(0099) => [
- q(Honduras),
- q(Republic of Honduras),
- ],
- q(0100) => [
- q(Hong Kong),
- q(China, Hong Kong Special Administrative Region),
- q(Hong Kong S.A.R.),
- q(Hong Kong Special Administrative Region),
- q(Hong Kong Special Administrative Region of China),
- ],
- q(0101) => [
- q(Hungary),
- q(Republic of Hungary),
- ],
- q(0102) => [
- q(Iceland),
- q(Republic of Iceland),
- ],
- q(0103) => [
- q(India),
- q(Republic of India),
- ],
- q(0104) => [
- q(Indonesia),
- q(Republic of Indonesia),
- ],
- q(0105) => [
- q(Iran, Islamic Republic of),
- q(Iran (Islamic Republic of)),
- q(Iran),
- q(Islamic Republic of Iran),
- ],
- q(0106) => [
- q(Iraq),
- q(Republic of Iraq),
- ],
- q(0107) => [
- q(Ireland),
- ],
- q(0108) => [
- q(Isle of Man),
- ],
- q(0109) => [
- q(Israel),
- q(State of Israel),
- ],
- q(0110) => [
- q(Italy),
- q(Italian Republic),
- ],
- q(0111) => [
- q(Jamaica),
- ],
- q(0112) => [
- q(Japan),
- ],
- q(0113) => [
- q(Jersey),
- q(Bailiwick of Jersey),
- ],
- q(0114) => [
- q(Jordan),
- q(Hashemite Kingdom of Jordan),
- ],
- q(0115) => [
- q(Kazakhstan),
- q(Republic of Kazakhstan),
- q(Kazakstan),
- ],
- q(0116) => [
- q(Kenya),
- q(Republic of Kenya),
- ],
- q(0117) => [
- q(Kiribati),
- q(Republic of Kiribati),
- ],
- q(0118) => [
- q(Korea, Democratic People's Republic of),
- q(Democratic People's Republic of Korea),
- q(Korea, North),
- q(North Korea),
- ],
- q(0119) => [
- q(Korea, Republic of),
- q(Republic of Korea),
- q(Korea, South),
- q(South Korea),
- ],
- q(0120) => [
- q(Kuwait),
- q(State of Kuwait),
- ],
- q(0121) => [
- q(Kyrgyzstan),
- q(Kyrgyz Republic),
- ],
- q(0122) => [
- q(Lao People's Democratic Republic),
- q(Laos),
- ],
- q(0123) => [
- q(Latvia),
- q(Republic of Latvia),
- ],
- q(0124) => [
- q(Lebanon),
- q(Lebanese Republic),
- ],
- q(0125) => [
- q(Lesotho),
- q(Republic of Lesotho),
- ],
- q(0126) => [
- q(Liberia),
- q(Republic of Liberia),
- ],
- q(0127) => [
- q(Libyan Arab Jamahiriya),
- q(Libya),
- q(Great Socialist People's Libyan Arab Jamahiriya),
- ],
- q(0128) => [
- q(Liechtenstein),
- q(Principality of Liechtenstein),
- ],
- q(0129) => [
- q(Lithuania),
- q(Republic of Lithuania),
- ],
- q(0130) => [
- q(Luxembourg),
- q(Grand Duchy of Luxembourg),
- ],
- q(0131) => [
- q(Macao),
- q(China, Macao Special Administrative Region),
- q(Macau S.A.R),
- q(Macau Special Administrative Region),
- q(Macau),
- q(Macau S.A.R.),
- q(Macao Special Administrative Region of China),
- ],
- q(0132) => [
- q(Macedonia, The Former Yugoslav Republic of),
- q(The former Yugoslav Republic of Macedonia),
- q(Macedonia),
- q(Republic of Macedonia),
- q(Macedonia, Former Yugoslav Republic of),
- ],
- q(0133) => [
- q(Madagascar),
- q(Republic of Madagascar),
- ],
- q(0134) => [
- q(Malawi),
- q(Republic of Malawi),
- ],
- q(0135) => [
- q(Malaysia),
- ],
- q(0136) => [
- q(Maldives),
- q(Republic of Maldives),
- ],
- q(0137) => [
- q(Mali),
- q(Republic of Mali),
- ],
- q(0138) => [
- q(Malta),
- q(Republic of Malta),
- ],
- q(0139) => [
- q(Marshall Islands),
- q(Republic of the Marshall Islands),
- ],
- q(0140) => [
- q(Martinique),
- q(Department of Martinique),
- ],
- q(0141) => [
- q(Mauritania),
- q(Islamic Republic of Mauritania),
- ],
- q(0142) => [
- q(Mauritius),
- q(Republic of Mauritius),
- ],
- q(0143) => [
- q(Mayotte),
- q(Territorial Collectivity of Mayotte),
- ],
- q(0144) => [
- q(Mexico),
- q(United Mexican States),
- ],
- q(0145) => [
- q(Micronesia, Federated States of),
- q(Micronesia (Federated States of)),
- q(Federated States of Micronesia),
- ],
- q(0146) => [
- q(Moldova, Republic of),
- q(Republic of Moldova),
- q(Moldova),
- ],
- q(0147) => [
- q(Monaco),
- q(Principality of Monaco),
- ],
- q(0148) => [
- q(Mongolia),
- ],
- q(0149) => [
- q(Montenegro),
- ],
- q(0150) => [
- q(Montserrat),
- ],
- q(0151) => [
- q(Morocco),
- q(Kingdom of Morocco),
- ],
- q(0152) => [
- q(Mozambique),
- q(Republic of Mozambique),
- ],
- q(0153) => [
- q(Myanmar),
- q(Burma),
- q(Union of Burma),
- ],
- q(0154) => [
- q(Namibia),
- q(Republic of Namibia),
- ],
- q(0155) => [
- q(Nauru),
- q(Republic of Nauru),
- ],
- q(0156) => [
- q(Nepal),
- q(Kingdom of Nepal),
- ],
- q(0157) => [
- q(Netherlands),
- q(Kingdom of the Netherlands),
- ],
- q(0158) => [
- q(New Caledonia),
- q(Territory of New Caledonia and Dependencies),
- ],
- q(0159) => [
- q(New Zealand),
- ],
- q(0160) => [
- q(Nicaragua),
- q(Republic of Nicaragua),
- ],
- q(0161) => [
- q(Niger),
- q(Republic of Niger),
- ],
- q(0162) => [
- q(Nigeria),
- q(Federal Republic of Nigeria),
- ],
- q(0163) => [
- q(Niue),
- ],
- q(0164) => [
- q(Norfolk Island),
- q(Territory of Norfolk Island),
- ],
- q(0165) => [
- q(Northern Mariana Islands),
- q(Commonwealth of the Northern Mariana Islands),
- ],
- q(0166) => [
- q(Norway),
- q(Kingdom of Norway),
- ],
- q(0167) => [
- q(Oman),
- q(Sultanate of Oman),
- ],
- q(0168) => [
- q(Pakistan),
- q(Islamic Republic of Pakistan),
- ],
- q(0169) => [
- q(Palau),
- q(Republic of Palau),
- ],
- q(0170) => [
- q(Palestinian Territory, Occupied),
- q(Occupied Palestinian Territory),
- ],
- q(0171) => [
- q(Panama),
- q(Republic of Panama),
- ],
- q(0172) => [
- q(Papua New Guinea),
- q(Independent State of Papua New Guinea),
- ],
- q(0173) => [
- q(Paraguay),
- q(Republic of Paraguay),
- ],
- q(0174) => [
- q(Peru),
- q(Republic of Peru),
- ],
- q(0175) => [
- q(Philippines),
- q(Republic of the Philippines),
- ],
- q(0176) => [
- q(Pitcairn),
- q(Pitcairn Islands),
- q(Pitcairn, Henderson, Ducie and Oeno Islands),
- q(Pitcairn Island),
- ],
- q(0177) => [
- q(Poland),
- q(Republic of Poland),
- ],
- q(0178) => [
- q(Portugal),
- q(Portuguese Republic),
- ],
- q(0179) => [
- q(Puerto Rico),
- q(Commonwealth of Puerto Rico),
- ],
- q(0180) => [
- q(Qatar),
- q(State of Qatar),
- ],
- q(0181) => [
- q(Reunion),
- q(Department of Reunion),
- ],
- q(0182) => [
- q(Romania),
- ],
- q(0183) => [
- q(Russian Federation),
- q(Russia),
- ],
- q(0184) => [
- q(Rwanda),
- q(Rwandese Republic),
- ],
- q(0185) => [
- q(Saint Barthelemy),
- q(Saint-Barthelemy),
- ],
- q(0186) => [
- q(Saint Helena, Ascension and Tristan da Cunha),
- q(Saint Helena),
- ],
- q(0187) => [
- q(Saint Kitts and Nevis),
- q(Federation of Saint Kitts and Nevis),
- ],
- q(0188) => [
- q(Saint Lucia),
- ],
- q(0189) => [
- q(Saint Martin (French part)),
- q(Saint-Martin (French part)),
- q(Saint Martin),
- q(Saint-Martin),
- ],
- q(0190) => [
- q(Saint Pierre and Miquelon),
- q(Territorial Collectivity of Saint Pierre and Miquelon),
- ],
- q(0191) => [
- q(Saint Vincent and the Grenadines),
- ],
- q(0192) => [
- q(Samoa),
- q(Independent State of Samoa),
- ],
- q(0193) => [
- q(San Marino),
- q(Republic of San Marino),
- ],
- q(0194) => [
- q(Sao Tome and Principe),
- q(Democratic Republic of Sao Tome and Principe),
- ],
- q(0195) => [
- q(Saudi Arabia),
- q(Kingdom of Saudi Arabia),
- ],
- q(0196) => [
- q(Senegal),
- q(Republic of Senegal),
- ],
- q(0197) => [
- q(Serbia),
- ],
- q(0198) => [
- q(Seychelles),
- q(Republic of Seychelles),
- ],
- q(0199) => [
- q(Sierra Leone),
- q(Republic of Sierra Leone),
- ],
- q(0200) => [
- q(Singapore),
- q(Republic of Singapore),
- ],
- q(0201) => [
- q(Sint Maarten (Dutch part)),
- q(Sint Maarten),
- ],
- q(0202) => [
- q(Slovakia),
- q(Slovak Republic),
- ],
- q(0203) => [
- q(Slovenia),
- q(Republic of Slovenia),
- ],
- q(0204) => [
- q(Solomon Islands),
- ],
- q(0205) => [
- q(Somalia),
- ],
- q(0206) => [
- q(South Africa),
- q(Republic of South Africa),
- ],
- q(0207) => [
- q(South Georgia and the South Sandwich Islands),
- q(South Georgia and the Islands),
- ],
- q(0208) => [
- q(Spain),
- q(Kingdom of Spain),
- ],
- q(0209) => [
- q(Sri Lanka),
- q(Democratic Socialist Republic of Sri Lanka),
- ],
- q(0210) => [
- q(Sudan),
- q(Republic of the Sudan),
- ],
- q(0211) => [
- q(Suriname),
- q(Republic of Suriname),
- ],
- q(0212) => [
- q(Svalbard and Jan Mayen),
- q(Svalbard and Jan Mayen Islands),
- ],
- q(0213) => [
- q(Swaziland),
- q(Kingdom of Swaziland),
- ],
- q(0214) => [
- q(Sweden),
- q(Kingdom of Sweden),
- ],
- q(0215) => [
- q(Switzerland),
- q(Swiss Confederation),
- ],
- q(0216) => [
- q(Syrian Arab Republic),
- q(Syria),
- q(Golan Heights (Israeli-occupied)),
- ],
- q(0217) => [
- q(Taiwan, Province of China),
- q(Taiwan),
- ],
- q(0218) => [
- q(Tajikistan),
- q(Republic of Tajikistan),
- ],
- q(0219) => [
- q(Tanzania, United Republic of),
- q(United Republic of Tanzania),
- q(Tanzania),
- ],
- q(0220) => [
- q(Thailand),
- q(Kingdom of Thailand),
- ],
- q(0221) => [
- q(Timor-Leste),
- q(East Timor),
- ],
- q(0222) => [
- q(Togo),
- q(Togolese Republic),
- ],
- q(0223) => [
- q(Tokelau),
- ],
- q(0224) => [
- q(Tonga),
- q(Kingdom of Tonga),
- ],
- q(0225) => [
- q(Trinidad and Tobago),
- q(Republic of Trinidad and Tobago),
- ],
- q(0226) => [
- q(Tunisia),
- q(Republic of Tunisia),
- ],
- q(0227) => [
- q(Turkey),
- q(Republic of Turkey),
- ],
- q(0228) => [
- q(Turkmenistan),
- ],
- q(0229) => [
- q(Turks and Caicos Islands),
- ],
- q(0230) => [
- q(Tuvalu),
- ],
- q(0231) => [
- q(Uganda),
- ],
- q(0232) => [
- q(Ukraine),
- ],
- q(0233) => [
- q(United Arab Emirates),
- ],
- q(0234) => [
- q(United Kingdom),
- q(United Kingdom of Great Britain and Northern Ireland),
- q(Great Britain),
- q(UK),
- ],
- q(0235) => [
- q(United States),
- q(United States of America),
- q(US),
- q(USA),
- ],
- q(0236) => [
- q(United States Minor Outlying Islands),
- ],
- q(0237) => [
- q(Uruguay),
- q(Oriental Republic of Uruguay),
- ],
- q(0238) => [
- q(Uzbekistan),
- q(Republic of Uzbekistan),
- ],
- q(0239) => [
- q(Vanuatu),
- q(Republic of Vanuatu),
- ],
- q(0240) => [
- q(Venezuela, Bolivarian Republic of),
- q(Venezuela (Bolivarian Republic of)),
- q(Venezuela),
- q(Bolivarian Republic of Venezuela),
- ],
- q(0241) => [
- q(Viet Nam),
- q(Vietnam),
- q(Socialist Republic of Vietnam),
- ],
- q(0242) => [
- q(Virgin Islands, British),
- q(British Virgin Islands),
- q(Virgin Islands (UK)),
- ],
- q(0243) => [
- q(Virgin Islands, U.S.),
- q(United States Virgin Islands),
- q(Virgin Islands),
- q(Virgin Islands of the United States),
- q(Virgin Islands (US)),
- ],
- q(0244) => [
- q(Wallis and Futuna),
- q(Wallis and Futuna Islands),
- q(Territory of the Wallis and Futuna Islands),
- ],
- q(0245) => [
- q(Western Sahara),
- ],
- q(0246) => [
- q(Yemen),
- q(Republic of Yemen),
- ],
- q(0247) => [
- q(Zambia),
- q(Republic of Zambia),
- ],
- q(0248) => [
- q(Zimbabwe),
- q(Republic of Zimbabwe),
- ],
- q(0249) => [
- q(Channel Islands),
- ],
- q(0250) => [
- q(Serbia and Montenegro),
- ],
- q(0251) => [
- q(Ashmore and Cartier Islands),
- q(Territory of Ashmore and Cartier Islands),
- ],
- q(0252) => [
- q(Baker Island),
- ],
- q(0253) => [
- q(Bassas da India),
- ],
- q(0254) => [
- q(Clipperton Island),
- ],
- q(0255) => [
- q(Coral Sea Islands),
- q(Coral Sea Islands Territory),
- ],
- q(0256) => [
- q(Europa Island),
- ],
- q(0257) => [
- q(Gaza Strip),
- ],
- q(0258) => [
- q(Glorioso Islands),
- ],
- q(0259) => [
- q(Howland Island),
- ],
- q(0260) => [
- q(Jan Mayen),
- ],
- q(0261) => [
- q(Jarvis Island),
- ],
- q(0262) => [
- q(Johnston Atoll),
- ],
- q(0263) => [
- q(Juan De Nova Island),
- ],
- q(0264) => [
- q(Kingman Reef),
- ],
- q(0265) => [
- q(Midway Islands),
- ],
- q(0266) => [
- q(Navassa Island),
- ],
- q(0267) => [
- q(Netherlands Antilles),
- ],
- q(0268) => [
- q(Palmyra Atoll),
- ],
- q(0269) => [
- q(Paracel Islands),
- ],
- q(0270) => [
- q(Spratly Islands),
- ],
- q(0271) => [
- q(Svalbard),
- ],
- q(0272) => [
- q(Tromelin Island),
- ],
- q(0273) => [
- q(Wake Atoll),
- q(Wake Island),
- ],
- q(0274) => [
- q(West Bank),
- ],
- q(0275) => [
- q(Ascension Island),
- ],
- q(0276) => [
- q(European Union),
- ],
- q(0277) => [
- q(Soviet Union),
- ],
- q(0278) => [
- q(Portuguese Timor),
- ],
- q(0279) => [
- q(France, Metropolitan),
- ],
- q(0280) => [
- q(Kosovo),
- ],
-};
-
-$Locale::Codes::Data{'country'}{'alias2id'} = {
- q(afghanistan) => [
- q(0001),
- q(0),
- ],
- q(aland islands) => [
- q(0002),
- q(0),
- ],
- q(albania) => [
- q(0003),
- q(0),
- ],
- q(algeria) => [
- q(0004),
- q(0),
- ],
- q(american samoa) => [
- q(0005),
- q(0),
- ],
- q(andorra) => [
- q(0006),
- q(0),
- ],
- q(angola) => [
- q(0007),
- q(0),
- ],
- q(anguilla) => [
- q(0008),
- q(0),
- ],
- q(antarctica) => [
- q(0009),
- q(0),
- ],
- q(antigua and barbuda) => [
- q(0010),
- q(0),
- ],
- q(arab republic of egypt) => [
- q(0066),
- q(1),
- ],
- q(argentina) => [
- q(0011),
- q(0),
- ],
- q(argentine republic) => [
- q(0011),
- q(1),
- ],
- q(armenia) => [
- q(0012),
- q(0),
- ],
- q(aruba) => [
- q(0013),
- q(0),
- ],
- q(ascension island) => [
- q(0275),
- q(0),
- ],
- q(ashmore and cartier islands) => [
- q(0251),
- q(0),
- ],
- q(australia) => [
- q(0014),
- q(0),
- ],
- q(austria) => [
- q(0015),
- q(0),
- ],
- q(azerbaijan) => [
- q(0016),
- q(0),
- ],
- q(bahamas) => [
- q(0017),
- q(0),
- ],
- q(bahamas, the) => [
- q(0017),
- q(1),
- ],
- q(bahrain) => [
- q(0018),
- q(0),
- ],
- q(bailiwick of guernsey) => [
- q(0092),
- q(1),
- ],
- q(bailiwick of jersey) => [
- q(0113),
- q(1),
- ],
- q(baker island) => [
- q(0252),
- q(0),
- ],
- q(bangladesh) => [
- q(0019),
- q(0),
- ],
- q(barbados) => [
- q(0020),
- q(0),
- ],
- q(bassas da india) => [
- q(0253),
- q(0),
- ],
- q(belarus) => [
- q(0021),
- q(0),
- ],
- q(belgium) => [
- q(0022),
- q(0),
- ],
- q(belize) => [
- q(0023),
- q(0),
- ],
- q(benin) => [
- q(0024),
- q(0),
- ],
- q(bermuda) => [
- q(0025),
- q(0),
- ],
- q(bhutan) => [
- q(0026),
- q(0),
- ],
- q(bolivarian republic of venezuela) => [
- q(0240),
- q(3),
- ],
- q(bolivia) => [
- q(0027),
- q(2),
- ],
- q(bolivia (plurinational state of)) => [
- q(0027),
- q(1),
- ],
- q(bolivia, plurinational state of) => [
- q(0027),
- q(0),
- ],
- q(bonaire, saint eustatius and saba) => [
- q(0028),
- q(0),
- ],
- q(bosnia and herzegovina) => [
- q(0029),
- q(0),
- ],
- q(botswana) => [
- q(0030),
- q(0),
- ],
- q(bouvet island) => [
- q(0031),
- q(0),
- ],
- q(brazil) => [
- q(0032),
- q(0),
- ],
- q(british indian ocean territory) => [
- q(0033),
- q(0),
- ],
- q(british virgin islands) => [
- q(0242),
- q(1),
- ],
- q(brunei) => [
- q(0034),
- q(1),
- ],
- q(brunei darussalam) => [
- q(0034),
- q(0),
- ],
- q(bulgaria) => [
- q(0035),
- q(0),
- ],
- q(burkina faso) => [
- q(0036),
- q(0),
- ],
- q(burma) => [
- q(0153),
- q(1),
- ],
- q(burundi) => [
- q(0037),
- q(0),
- ],
- q(cambodia) => [
- q(0038),
- q(0),
- ],
- q(cameroon) => [
- q(0039),
- q(0),
- ],
- q(canada) => [
- q(0040),
- q(0),
- ],
- q(cape verde) => [
- q(0041),
- q(0),
- ],
- q(cayman islands) => [
- q(0042),
- q(0),
- ],
- q(central african republic) => [
- q(0043),
- q(0),
- ],
- q(chad) => [
- q(0044),
- q(0),
- ],
- q(channel islands) => [
- q(0249),
- q(0),
- ],
- q(chile) => [
- q(0045),
- q(0),
- ],
- q(china) => [
- q(0046),
- q(0),
- ],
- q(china, hong kong special administrative region) => [
- q(0100),
- q(1),
- ],
- q(china, macao special administrative region) => [
- q(0131),
- q(1),
- ],
- q(christmas island) => [
- q(0047),
- q(0),
- ],
- q(clipperton island) => [
- q(0254),
- q(0),
- ],
- q(co-operative republic of guyana) => [
- q(0095),
- q(1),
- ],
- q(cocos (keeling) islands) => [
- q(0048),
- q(0),
- ],
- q(cocos islands) => [
- q(0048),
- q(3),
- ],
- q(colombia) => [
- q(0049),
- q(0),
- ],
- q(commonwealth of australia) => [
- q(0014),
- q(1),
- ],
- q(commonwealth of dominica) => [
- q(0063),
- q(1),
- ],
- q(commonwealth of puerto rico) => [
- q(0179),
- q(1),
- ],
- q(commonwealth of the bahamas) => [
- q(0017),
- q(2),
- ],
- q(commonwealth of the northern mariana islands) => [
- q(0165),
- q(1),
- ],
- q(comoros) => [
- q(0050),
- q(0),
- ],
- q(congo) => [
- q(0051),
- q(0),
- ],
- q(congo (brazzaville)) => [
- q(0051),
- q(1),
- ],
- q(congo (kinshasa)) => [
- q(0052),
- q(2),
- ],
- q(congo, democratic republic of the) => [
- q(0052),
- q(3),
- ],
- q(congo, republic of the) => [
- q(0051),
- q(3),
- ],
- q(congo, the democratic republic of the) => [
- q(0052),
- q(0),
- ],
- q(cook islands) => [
- q(0053),
- q(0),
- ],
- q(coral sea islands) => [
- q(0255),
- q(0),
- ],
- q(coral sea islands territory) => [
- q(0255),
- q(1),
- ],
- q(costa rica) => [
- q(0054),
- q(0),
- ],
- q(cote d'ivoire) => [
- q(0055),
- q(0),
- ],
- q(croatia) => [
- q(0056),
- q(0),
- ],
- q(cuba) => [
- q(0057),
- q(0),
- ],
- q(curacao) => [
- q(0058),
- q(0),
- ],
- q(cyprus) => [
- q(0059),
- q(0),
- ],
- q(czech republic) => [
- q(0060),
- q(0),
- ],
- q(democratic people's republic of korea) => [
- q(0118),
- q(1),
- ],
- q(democratic republic of sao tome and principe) => [
- q(0194),
- q(1),
- ],
- q(democratic republic of the congo) => [
- q(0052),
- q(1),
- ],
- q(democratic socialist republic of sri lanka) => [
- q(0209),
- q(1),
- ],
- q(denmark) => [
- q(0061),
- q(0),
- ],
- q(department of guadeloupe) => [
- q(0089),
- q(1),
- ],
- q(department of guiana) => [
- q(0077),
- q(1),
- ],
- q(department of martinique) => [
- q(0140),
- q(1),
- ],
- q(department of reunion) => [
- q(0181),
- q(1),
- ],
- q(djibouti) => [
- q(0062),
- q(0),
- ],
- q(dominica) => [
- q(0063),
- q(0),
- ],
- q(dominican republic) => [
- q(0064),
- q(0),
- ],
- q(east timor) => [
- q(0221),
- q(1),
- ],
- q(ecuador) => [
- q(0065),
- q(0),
- ],
- q(egypt) => [
- q(0066),
- q(0),
- ],
- q(el salvador) => [
- q(0067),
- q(0),
- ],
- q(equatorial guinea) => [
- q(0068),
- q(0),
- ],
- q(eritrea) => [
- q(0069),
- q(0),
- ],
- q(estonia) => [
- q(0070),
- q(0),
- ],
- q(ethiopia) => [
- q(0071),
- q(0),
- ],
- q(europa island) => [
- q(0256),
- q(0),
- ],
- q(european union) => [
- q(0276),
- q(0),
- ],
- q(faeroe islands) => [
- q(0073),
- q(1),
- ],
- q(falkland islands (islas malvinas)) => [
- q(0072),
- q(1),
- ],
- q(falkland islands (malvinas)) => [
- q(0072),
- q(0),
- ],
- q(faroe islands) => [
- q(0073),
- q(0),
- ],
- q(federal democratic republic of ethiopia) => [
- q(0071),
- q(1),
- ],
- q(federal islamic republic of the comoros) => [
- q(0050),
- q(1),
- ],
- q(federal republic of germany) => [
- q(0083),
- q(1),
- ],
- q(federal republic of nigeria) => [
- q(0162),
- q(1),
- ],
- q(federated states of micronesia) => [
- q(0145),
- q(2),
- ],
- q(federation of saint kitts and nevis) => [
- q(0187),
- q(1),
- ],
- q(federative republic of brazil) => [
- q(0032),
- q(1),
- ],
- q(fiji) => [
- q(0074),
- q(0),
- ],
- q(finland) => [
- q(0075),
- q(0),
- ],
- q(france) => [
- q(0076),
- q(0),
- ],
- q(france, metropolitan) => [
- q(0279),
- q(0),
- ],
- q(french guiana) => [
- q(0077),
- q(0),
- ],
- q(french polynesia) => [
- q(0078),
- q(0),
- ],
- q(french republic) => [
- q(0076),
- q(1),
- ],
- q(french southern and antarctic lands) => [
- q(0079),
- q(1),
- ],
- q(french southern territories) => [
- q(0079),
- q(0),
- ],
- q(gabon) => [
- q(0080),
- q(0),
- ],
- q(gabonese republic) => [
- q(0080),
- q(1),
- ],
- q(gambia) => [
- q(0081),
- q(0),
- ],
- q(gambia, the) => [
- q(0081),
- q(1),
- ],
- q(gaza strip) => [
- q(0257),
- q(0),
- ],
- q(georgia) => [
- q(0082),
- q(0),
- ],
- q(germany) => [
- q(0083),
- q(0),
- ],
- q(ghana) => [
- q(0084),
- q(0),
- ],
- q(gibraltar) => [
- q(0085),
- q(0),
- ],
- q(glorioso islands) => [
- q(0258),
- q(0),
- ],
- q(golan heights (israeli-occupied)) => [
- q(0216),
- q(2),
- ],
- q(grand duchy of luxembourg) => [
- q(0130),
- q(1),
- ],
- q(great britain) => [
- q(0234),
- q(2),
- ],
- q(great socialist people's libyan arab jamahiriya) => [
- q(0127),
- q(2),
- ],
- q(greece) => [
- q(0086),
- q(0),
- ],
- q(greenland) => [
- q(0087),
- q(0),
- ],
- q(grenada) => [
- q(0088),
- q(0),
- ],
- q(guadeloupe) => [
- q(0089),
- q(0),
- ],
- q(guam) => [
- q(0090),
- q(0),
- ],
- q(guatemala) => [
- q(0091),
- q(0),
- ],
- q(guernsey) => [
- q(0092),
- q(0),
- ],
- q(guinea) => [
- q(0093),
- q(0),
- ],
- q(guinea-bissau) => [
- q(0094),
- q(0),
- ],
- q(guyana) => [
- q(0095),
- q(0),
- ],
- q(haiti) => [
- q(0096),
- q(0),
- ],
- q(hashemite kingdom of jordan) => [
- q(0114),
- q(1),
- ],
- q(heard island and mcdonald islands) => [
- q(0097),
- q(0),
- ],
- q(hellenic republic) => [
- q(0086),
- q(1),
- ],
- q(holy see) => [
- q(0098),
- q(1),
- ],
- q(holy see (vatican city state)) => [
- q(0098),
- q(0),
- ],
- q(holy see (vatican city)) => [
- q(0098),
- q(4),
- ],
- q(honduras) => [
- q(0099),
- q(0),
- ],
- q(hong kong) => [
- q(0100),
- q(0),
- ],
- q(hong kong s.a.r.) => [
- q(0100),
- q(2),
- ],
- q(hong kong special administrative region) => [
- q(0100),
- q(3),
- ],
- q(hong kong special administrative region of china) => [
- q(0100),
- q(4),
- ],
- q(howland island) => [
- q(0259),
- q(0),
- ],
- q(hungary) => [
- q(0101),
- q(0),
- ],
- q(iceland) => [
- q(0102),
- q(0),
- ],
- q(independent state of papua new guinea) => [
- q(0172),
- q(1),
- ],
- q(independent state of samoa) => [
- q(0192),
- q(1),
- ],
- q(india) => [
- q(0103),
- q(0),
- ],
- q(indonesia) => [
- q(0104),
- q(0),
- ],
- q(iran) => [
- q(0105),
- q(2),
- ],
- q(iran (islamic republic of)) => [
- q(0105),
- q(1),
- ],
- q(iran, islamic republic of) => [
- q(0105),
- q(0),
- ],
- q(iraq) => [
- q(0106),
- q(0),
- ],
- q(ireland) => [
- q(0107),
- q(0),
- ],
- q(islamic republic of iran) => [
- q(0105),
- q(3),
- ],
- q(islamic republic of mauritania) => [
- q(0141),
- q(1),
- ],
- q(islamic republic of pakistan) => [
- q(0168),
- q(1),
- ],
- q(islamic state of afghanistan) => [
- q(0001),
- q(1),
- ],
- q(isle of man) => [
- q(0108),
- q(0),
- ],
- q(israel) => [
- q(0109),
- q(0),
- ],
- q(italian republic) => [
- q(0110),
- q(1),
- ],
- q(italy) => [
- q(0110),
- q(0),
- ],
- q(jamaica) => [
- q(0111),
- q(0),
- ],
- q(jan mayen) => [
- q(0260),
- q(0),
- ],
- q(japan) => [
- q(0112),
- q(0),
- ],
- q(jarvis island) => [
- q(0261),
- q(0),
- ],
- q(jersey) => [
- q(0113),
- q(0),
- ],
- q(johnston atoll) => [
- q(0262),
- q(0),
- ],
- q(jordan) => [
- q(0114),
- q(0),
- ],
- q(juan de nova island) => [
- q(0263),
- q(0),
- ],
- q(kazakhstan) => [
- q(0115),
- q(0),
- ],
- q(kazakstan) => [
- q(0115),
- q(2),
- ],
- q(keeling islands) => [
- q(0048),
- q(2),
- ],
- q(kenya) => [
- q(0116),
- q(0),
- ],
- q(kingdom of belgium) => [
- q(0022),
- q(1),
- ],
- q(kingdom of bhutan) => [
- q(0026),
- q(1),
- ],
- q(kingdom of cambodia) => [
- q(0038),
- q(1),
- ],
- q(kingdom of denmark) => [
- q(0061),
- q(1),
- ],
- q(kingdom of morocco) => [
- q(0151),
- q(1),
- ],
- q(kingdom of nepal) => [
- q(0156),
- q(1),
- ],
- q(kingdom of norway) => [
- q(0166),
- q(1),
- ],
- q(kingdom of saudi arabia) => [
- q(0195),
- q(1),
- ],
- q(kingdom of spain) => [
- q(0208),
- q(1),
- ],
- q(kingdom of swaziland) => [
- q(0213),
- q(1),
- ],
- q(kingdom of sweden) => [
- q(0214),
- q(1),
- ],
- q(kingdom of thailand) => [
- q(0220),
- q(1),
- ],
- q(kingdom of the netherlands) => [
- q(0157),
- q(1),
- ],
- q(kingdom of tonga) => [
- q(0224),
- q(1),
- ],
- q(kingman reef) => [
- q(0264),
- q(0),
- ],
- q(kiribati) => [
- q(0117),
- q(0),
- ],
- q(korea, democratic people's republic of) => [
- q(0118),
- q(0),
- ],
- q(korea, north) => [
- q(0118),
- q(2),
- ],
- q(korea, republic of) => [
- q(0119),
- q(0),
- ],
- q(korea, south) => [
- q(0119),
- q(2),
- ],
- q(kosovo) => [
- q(0280),
- q(0),
- ],
- q(kuwait) => [
- q(0120),
- q(0),
- ],
- q(kyrgyz republic) => [
- q(0121),
- q(1),
- ],
- q(kyrgyzstan) => [
- q(0121),
- q(0),
- ],
- q(lao people's democratic republic) => [
- q(0122),
- q(0),
- ],
- q(laos) => [
- q(0122),
- q(1),
- ],
- q(latvia) => [
- q(0123),
- q(0),
- ],
- q(lebanese republic) => [
- q(0124),
- q(1),
- ],
- q(lebanon) => [
- q(0124),
- q(0),
- ],
- q(lesotho) => [
- q(0125),
- q(0),
- ],
- q(liberia) => [
- q(0126),
- q(0),
- ],
- q(libya) => [
- q(0127),
- q(1),
- ],
- q(libyan arab jamahiriya) => [
- q(0127),
- q(0),
- ],
- q(liechtenstein) => [
- q(0128),
- q(0),
- ],
- q(lithuania) => [
- q(0129),
- q(0),
- ],
- q(luxembourg) => [
- q(0130),
- q(0),
- ],
- q(macao) => [
- q(0131),
- q(0),
- ],
- q(macao special administrative region of china) => [
- q(0131),
- q(6),
- ],
- q(macau) => [
- q(0131),
- q(4),
- ],
- q(macau s.a.r) => [
- q(0131),
- q(2),
- ],
- q(macau s.a.r.) => [
- q(0131),
- q(5),
- ],
- q(macau special administrative region) => [
- q(0131),
- q(3),
- ],
- q(macedonia) => [
- q(0132),
- q(2),
- ],
- q(macedonia, former yugoslav republic of) => [
- q(0132),
- q(4),
- ],
- q(macedonia, the former yugoslav republic of) => [
- q(0132),
- q(0),
- ],
- q(madagascar) => [
- q(0133),
- q(0),
- ],
- q(malawi) => [
- q(0134),
- q(0),
- ],
- q(malaysia) => [
- q(0135),
- q(0),
- ],
- q(maldives) => [
- q(0136),
- q(0),
- ],
- q(mali) => [
- q(0137),
- q(0),
- ],
- q(malta) => [
- q(0138),
- q(0),
- ],
- q(marshall islands) => [
- q(0139),
- q(0),
- ],
- q(martinique) => [
- q(0140),
- q(0),
- ],
- q(mauritania) => [
- q(0141),
- q(0),
- ],
- q(mauritius) => [
- q(0142),
- q(0),
- ],
- q(mayotte) => [
- q(0143),
- q(0),
- ],
- q(mexico) => [
- q(0144),
- q(0),
- ],
- q(micronesia (federated states of)) => [
- q(0145),
- q(1),
- ],
- q(micronesia, federated states of) => [
- q(0145),
- q(0),
- ],
- q(midway islands) => [
- q(0265),
- q(0),
- ],
- q(moldova) => [
- q(0146),
- q(2),
- ],
- q(moldova, republic of) => [
- q(0146),
- q(0),
- ],
- q(monaco) => [
- q(0147),
- q(0),
- ],
- q(mongolia) => [
- q(0148),
- q(0),
- ],
- q(montenegro) => [
- q(0149),
- q(0),
- ],
- q(montserrat) => [
- q(0150),
- q(0),
- ],
- q(morocco) => [
- q(0151),
- q(0),
- ],
- q(mozambique) => [
- q(0152),
- q(0),
- ],
- q(myanmar) => [
- q(0153),
- q(0),
- ],
- q(namibia) => [
- q(0154),
- q(0),
- ],
- q(nauru) => [
- q(0155),
- q(0),
- ],
- q(navassa island) => [
- q(0266),
- q(0),
- ],
- q(negara brunei darussalam) => [
- q(0034),
- q(2),
- ],
- q(nepal) => [
- q(0156),
- q(0),
- ],
- q(netherlands) => [
- q(0157),
- q(0),
- ],
- q(netherlands antilles) => [
- q(0267),
- q(0),
- ],
- q(new caledonia) => [
- q(0158),
- q(0),
- ],
- q(new zealand) => [
- q(0159),
- q(0),
- ],
- q(nicaragua) => [
- q(0160),
- q(0),
- ],
- q(niger) => [
- q(0161),
- q(0),
- ],
- q(nigeria) => [
- q(0162),
- q(0),
- ],
- q(niue) => [
- q(0163),
- q(0),
- ],
- q(norfolk island) => [
- q(0164),
- q(0),
- ],
- q(north korea) => [
- q(0118),
- q(3),
- ],
- q(northern mariana islands) => [
- q(0165),
- q(0),
- ],
- q(norway) => [
- q(0166),
- q(0),
- ],
- q(occupied palestinian territory) => [
- q(0170),
- q(1),
- ],
- q(oman) => [
- q(0167),
- q(0),
- ],
- q(oriental republic of uruguay) => [
- q(0237),
- q(1),
- ],
- q(pakistan) => [
- q(0168),
- q(0),
- ],
- q(palau) => [
- q(0169),
- q(0),
- ],
- q(palestinian territory, occupied) => [
- q(0170),
- q(0),
- ],
- q(palmyra atoll) => [
- q(0268),
- q(0),
- ],
- q(panama) => [
- q(0171),
- q(0),
- ],
- q(papua new guinea) => [
- q(0172),
- q(0),
- ],
- q(paracel islands) => [
- q(0269),
- q(0),
- ],
- q(paraguay) => [
- q(0173),
- q(0),
- ],
- q(people's democratic republic of algeria) => [
- q(0004),
- q(1),
- ],
- q(people's republic of bangladesh) => [
- q(0019),
- q(1),
- ],
- q(people's republic of china) => [
- q(0046),
- q(1),
- ],
- q(peru) => [
- q(0174),
- q(0),
- ],
- q(philippines) => [
- q(0175),
- q(0),
- ],
- q(pitcairn) => [
- q(0176),
- q(0),
- ],
- q(pitcairn island) => [
- q(0176),
- q(3),
- ],
- q(pitcairn islands) => [
- q(0176),
- q(1),
- ],
- q(pitcairn, henderson, ducie and oeno islands) => [
- q(0176),
- q(2),
- ],
- q(poland) => [
- q(0177),
- q(0),
- ],
- q(portugal) => [
- q(0178),
- q(0),
- ],
- q(portuguese republic) => [
- q(0178),
- q(1),
- ],
- q(portuguese timor) => [
- q(0278),
- q(0),
- ],
- q(principality of andorra) => [
- q(0006),
- q(1),
- ],
- q(principality of liechtenstein) => [
- q(0128),
- q(1),
- ],
- q(principality of monaco) => [
- q(0147),
- q(1),
- ],
- q(puerto rico) => [
- q(0179),
- q(0),
- ],
- q(qatar) => [
- q(0180),
- q(0),
- ],
- q(republic of albania) => [
- q(0003),
- q(1),
- ],
- q(republic of angola) => [
- q(0007),
- q(1),
- ],
- q(republic of armenia) => [
- q(0012),
- q(1),
- ],
- q(republic of austria) => [
- q(0015),
- q(1),
- ],
- q(republic of azerbaijan) => [
- q(0016),
- q(1),
- ],
- q(republic of belarus) => [
- q(0021),
- q(1),
- ],
- q(republic of benin) => [
- q(0024),
- q(1),
- ],
- q(republic of bolivia) => [
- q(0027),
- q(3),
- ],
- q(republic of botswana) => [
- q(0030),
- q(1),
- ],
- q(republic of burundi) => [
- q(0037),
- q(1),
- ],
- q(republic of cameroon) => [
- q(0039),
- q(1),
- ],
- q(republic of cape verde) => [
- q(0041),
- q(1),
- ],
- q(republic of chad) => [
- q(0044),
- q(1),
- ],
- q(republic of chile) => [
- q(0045),
- q(1),
- ],
- q(republic of colombia) => [
- q(0049),
- q(1),
- ],
- q(republic of costa rica) => [
- q(0054),
- q(1),
- ],
- q(republic of cote d'ivoire) => [
- q(0055),
- q(1),
- ],
- q(republic of croatia) => [
- q(0056),
- q(1),
- ],
- q(republic of cuba) => [
- q(0057),
- q(1),
- ],
- q(republic of cyprus) => [
- q(0059),
- q(1),
- ],
- q(republic of djibouti) => [
- q(0062),
- q(1),
- ],
- q(republic of ecuador) => [
- q(0065),
- q(1),
- ],
- q(republic of el salvador) => [
- q(0067),
- q(1),
- ],
- q(republic of equatorial guinea) => [
- q(0068),
- q(1),
- ],
- q(republic of estonia) => [
- q(0070),
- q(1),
- ],
- q(republic of finland) => [
- q(0075),
- q(1),
- ],
- q(republic of ghana) => [
- q(0084),
- q(1),
- ],
- q(republic of guatemala) => [
- q(0091),
- q(1),
- ],
- q(republic of guinea) => [
- q(0093),
- q(1),
- ],
- q(republic of guinea-bissau) => [
- q(0094),
- q(1),
- ],
- q(republic of haiti) => [
- q(0096),
- q(1),
- ],
- q(republic of honduras) => [
- q(0099),
- q(1),
- ],
- q(republic of hungary) => [
- q(0101),
- q(1),
- ],
- q(republic of iceland) => [
- q(0102),
- q(1),
- ],
- q(republic of india) => [
- q(0103),
- q(1),
- ],
- q(republic of indonesia) => [
- q(0104),
- q(1),
- ],
- q(republic of iraq) => [
- q(0106),
- q(1),
- ],
- q(republic of kazakhstan) => [
- q(0115),
- q(1),
- ],
- q(republic of kenya) => [
- q(0116),
- q(1),
- ],
- q(republic of kiribati) => [
- q(0117),
- q(1),
- ],
- q(republic of korea) => [
- q(0119),
- q(1),
- ],
- q(republic of latvia) => [
- q(0123),
- q(1),
- ],
- q(republic of lesotho) => [
- q(0125),
- q(1),
- ],
- q(republic of liberia) => [
- q(0126),
- q(1),
- ],
- q(republic of lithuania) => [
- q(0129),
- q(1),
- ],
- q(republic of macedonia) => [
- q(0132),
- q(3),
- ],
- q(republic of madagascar) => [
- q(0133),
- q(1),
- ],
- q(republic of malawi) => [
- q(0134),
- q(1),
- ],
- q(republic of maldives) => [
- q(0136),
- q(1),
- ],
- q(republic of mali) => [
- q(0137),
- q(1),
- ],
- q(republic of malta) => [
- q(0138),
- q(1),
- ],
- q(republic of mauritius) => [
- q(0142),
- q(1),
- ],
- q(republic of moldova) => [
- q(0146),
- q(1),
- ],
- q(republic of mozambique) => [
- q(0152),
- q(1),
- ],
- q(republic of namibia) => [
- q(0154),
- q(1),
- ],
- q(republic of nauru) => [
- q(0155),
- q(1),
- ],
- q(republic of nicaragua) => [
- q(0160),
- q(1),
- ],
- q(republic of niger) => [
- q(0161),
- q(1),
- ],
- q(republic of palau) => [
- q(0169),
- q(1),
- ],
- q(republic of panama) => [
- q(0171),
- q(1),
- ],
- q(republic of paraguay) => [
- q(0173),
- q(1),
- ],
- q(republic of peru) => [
- q(0174),
- q(1),
- ],
- q(republic of poland) => [
- q(0177),
- q(1),
- ],
- q(republic of san marino) => [
- q(0193),
- q(1),
- ],
- q(republic of senegal) => [
- q(0196),
- q(1),
- ],
- q(republic of seychelles) => [
- q(0198),
- q(1),
- ],
- q(republic of sierra leone) => [
- q(0199),
- q(1),
- ],
- q(republic of singapore) => [
- q(0200),
- q(1),
- ],
- q(republic of slovenia) => [
- q(0203),
- q(1),
- ],
- q(republic of south africa) => [
- q(0206),
- q(1),
- ],
- q(republic of suriname) => [
- q(0211),
- q(1),
- ],
- q(republic of tajikistan) => [
- q(0218),
- q(1),
- ],
- q(republic of the congo) => [
- q(0051),
- q(2),
- ],
- q(republic of the fiji islands) => [
- q(0074),
- q(1),
- ],
- q(republic of the gambia) => [
- q(0081),
- q(2),
- ],
- q(republic of the marshall islands) => [
- q(0139),
- q(1),
- ],
- q(republic of the philippines) => [
- q(0175),
- q(1),
- ],
- q(republic of the sudan) => [
- q(0210),
- q(1),
- ],
- q(republic of trinidad and tobago) => [
- q(0225),
- q(1),
- ],
- q(republic of tunisia) => [
- q(0226),
- q(1),
- ],
- q(republic of turkey) => [
- q(0227),
- q(1),
- ],
- q(republic of uzbekistan) => [
- q(0238),
- q(1),
- ],
- q(republic of vanuatu) => [
- q(0239),
- q(1),
- ],
- q(republic of yemen) => [
- q(0246),
- q(1),
- ],
- q(republic of zambia) => [
- q(0247),
- q(1),
- ],
- q(republic of zimbabwe) => [
- q(0248),
- q(1),
- ],
- q(reunion) => [
- q(0181),
- q(0),
- ],
- q(romania) => [
- q(0182),
- q(0),
- ],
- q(russia) => [
- q(0183),
- q(1),
- ],
- q(russian federation) => [
- q(0183),
- q(0),
- ],
- q(rwanda) => [
- q(0184),
- q(0),
- ],
- q(rwandese republic) => [
- q(0184),
- q(1),
- ],
- q(saint barthelemy) => [
- q(0185),
- q(0),
- ],
- q(saint helena) => [
- q(0186),
- q(1),
- ],
- q(saint helena, ascension and tristan da cunha) => [
- q(0186),
- q(0),
- ],
- q(saint kitts and nevis) => [
- q(0187),
- q(0),
- ],
- q(saint lucia) => [
- q(0188),
- q(0),
- ],
- q(saint martin) => [
- q(0189),
- q(2),
- ],
- q(saint martin (french part)) => [
- q(0189),
- q(0),
- ],
- q(saint pierre and miquelon) => [
- q(0190),
- q(0),
- ],
- q(saint vincent and the grenadines) => [
- q(0191),
- q(0),
- ],
- q(saint-barthelemy) => [
- q(0185),
- q(1),
- ],
- q(saint-martin) => [
- q(0189),
- q(3),
- ],
- q(saint-martin (french part)) => [
- q(0189),
- q(1),
- ],
- q(samoa) => [
- q(0192),
- q(0),
- ],
- q(san marino) => [
- q(0193),
- q(0),
- ],
- q(sao tome and principe) => [
- q(0194),
- q(0),
- ],
- q(saudi arabia) => [
- q(0195),
- q(0),
- ],
- q(senegal) => [
- q(0196),
- q(0),
- ],
- q(serbia) => [
- q(0197),
- q(0),
- ],
- q(serbia and montenegro) => [
- q(0250),
- q(0),
- ],
- q(seychelles) => [
- q(0198),
- q(0),
- ],
- q(sierra leone) => [
- q(0199),
- q(0),
- ],
- q(singapore) => [
- q(0200),
- q(0),
- ],
- q(sint maarten) => [
- q(0201),
- q(1),
- ],
- q(sint maarten (dutch part)) => [
- q(0201),
- q(0),
- ],
- q(slovak republic) => [
- q(0202),
- q(1),
- ],
- q(slovakia) => [
- q(0202),
- q(0),
- ],
- q(slovenia) => [
- q(0203),
- q(0),
- ],
- q(socialist republic of vietnam) => [
- q(0241),
- q(2),
- ],
- q(solomon islands) => [
- q(0204),
- q(0),
- ],
- q(somalia) => [
- q(0205),
- q(0),
- ],
- q(south africa) => [
- q(0206),
- q(0),
- ],
- q(south georgia and the islands) => [
- q(0207),
- q(1),
- ],
- q(south georgia and the south sandwich islands) => [
- q(0207),
- q(0),
- ],
- q(south korea) => [
- q(0119),
- q(3),
- ],
- q(soviet union) => [
- q(0277),
- q(0),
- ],
- q(spain) => [
- q(0208),
- q(0),
- ],
- q(spratly islands) => [
- q(0270),
- q(0),
- ],
- q(sri lanka) => [
- q(0209),
- q(0),
- ],
- q(state of bahrain) => [
- q(0018),
- q(1),
- ],
- q(state of eritrea) => [
- q(0069),
- q(1),
- ],
- q(state of israel) => [
- q(0109),
- q(1),
- ],
- q(state of kuwait) => [
- q(0120),
- q(1),
- ],
- q(state of qatar) => [
- q(0180),
- q(1),
- ],
- q(state of the vatican city) => [
- q(0098),
- q(3),
- ],
- q(sudan) => [
- q(0210),
- q(0),
- ],
- q(sultanate of oman) => [
- q(0167),
- q(1),
- ],
- q(suriname) => [
- q(0211),
- q(0),
- ],
- q(svalbard) => [
- q(0271),
- q(0),
- ],
- q(svalbard and jan mayen) => [
- q(0212),
- q(0),
- ],
- q(svalbard and jan mayen islands) => [
- q(0212),
- q(1),
- ],
- q(swaziland) => [
- q(0213),
- q(0),
- ],
- q(sweden) => [
- q(0214),
- q(0),
- ],
- q(swiss confederation) => [
- q(0215),
- q(1),
- ],
- q(switzerland) => [
- q(0215),
- q(0),
- ],
- q(syria) => [
- q(0216),
- q(1),
- ],
- q(syrian arab republic) => [
- q(0216),
- q(0),
- ],
- q(taiwan) => [
- q(0217),
- q(1),
- ],
- q(taiwan, province of china) => [
- q(0217),
- q(0),
- ],
- q(tajikistan) => [
- q(0218),
- q(0),
- ],
- q(tanzania) => [
- q(0219),
- q(2),
- ],
- q(tanzania, united republic of) => [
- q(0219),
- q(0),
- ],
- q(territorial collectivity of mayotte) => [
- q(0143),
- q(1),
- ],
- q(territorial collectivity of saint pierre and miquelon) => [
- q(0190),
- q(1),
- ],
- q(territory of american samoa) => [
- q(0005),
- q(1),
- ],
- q(territory of ashmore and cartier islands) => [
- q(0251),
- q(1),
- ],
- q(territory of christmas island) => [
- q(0047),
- q(1),
- ],
- q(territory of cocos (keeling) islands) => [
- q(0048),
- q(1),
- ],
- q(territory of french polynesia) => [
- q(0078),
- q(1),
- ],
- q(territory of guam) => [
- q(0090),
- q(1),
- ],
- q(territory of heard island and mcdonald islands) => [
- q(0097),
- q(1),
- ],
- q(territory of new caledonia and dependencies) => [
- q(0158),
- q(1),
- ],
- q(territory of norfolk island) => [
- q(0164),
- q(1),
- ],
- q(territory of the french southern and antarctic lands) => [
- q(0079),
- q(2),
- ],
- q(territory of the wallis and futuna islands) => [
- q(0244),
- q(2),
- ],
- q(thailand) => [
- q(0220),
- q(0),
- ],
- q(the bahamas) => [
- q(0017),
- q(3),
- ],
- q(the democratic republic of the congo) => [
- q(0052),
- q(4),
- ],
- q(the former yugoslav republic of macedonia) => [
- q(0132),
- q(1),
- ],
- q(the republic of the congo) => [
- q(0051),
- q(4),
- ],
- q(timor-leste) => [
- q(0221),
- q(0),
- ],
- q(togo) => [
- q(0222),
- q(0),
- ],
- q(togolese republic) => [
- q(0222),
- q(1),
- ],
- q(tokelau) => [
- q(0223),
- q(0),
- ],
- q(tonga) => [
- q(0224),
- q(0),
- ],
- q(trinidad and tobago) => [
- q(0225),
- q(0),
- ],
- q(tromelin island) => [
- q(0272),
- q(0),
- ],
- q(tunisia) => [
- q(0226),
- q(0),
- ],
- q(turkey) => [
- q(0227),
- q(0),
- ],
- q(turkmenistan) => [
- q(0228),
- q(0),
- ],
- q(turks and caicos islands) => [
- q(0229),
- q(0),
- ],
- q(tuvalu) => [
- q(0230),
- q(0),
- ],
- q(uganda) => [
- q(0231),
- q(0),
- ],
- q(uk) => [
- q(0234),
- q(3),
- ],
- q(ukraine) => [
- q(0232),
- q(0),
- ],
- q(union of burma) => [
- q(0153),
- q(2),
- ],
- q(united arab emirates) => [
- q(0233),
- q(0),
- ],
- q(united kingdom) => [
- q(0234),
- q(0),
- ],
- q(united kingdom of great britain and northern ireland) => [
- q(0234),
- q(1),
- ],
- q(united mexican states) => [
- q(0144),
- q(1),
- ],
- q(united republic of tanzania) => [
- q(0219),
- q(1),
- ],
- q(united states) => [
- q(0235),
- q(0),
- ],
- q(united states minor outlying islands) => [
- q(0236),
- q(0),
- ],
- q(united states of america) => [
- q(0235),
- q(1),
- ],
- q(united states virgin islands) => [
- q(0243),
- q(1),
- ],
- q(uruguay) => [
- q(0237),
- q(0),
- ],
- q(us) => [
- q(0235),
- q(2),
- ],
- q(usa) => [
- q(0235),
- q(3),
- ],
- q(uzbekistan) => [
- q(0238),
- q(0),
- ],
- q(vanuatu) => [
- q(0239),
- q(0),
- ],
- q(vatican city) => [
- q(0098),
- q(2),
- ],
- q(venezuela) => [
- q(0240),
- q(2),
- ],
- q(venezuela (bolivarian republic of)) => [
- q(0240),
- q(1),
- ],
- q(venezuela, bolivarian republic of) => [
- q(0240),
- q(0),
- ],
- q(viet nam) => [
- q(0241),
- q(0),
- ],
- q(vietnam) => [
- q(0241),
- q(1),
- ],
- q(virgin islands) => [
- q(0243),
- q(2),
- ],
- q(virgin islands (uk)) => [
- q(0242),
- q(2),
- ],
- q(virgin islands (us)) => [
- q(0243),
- q(4),
- ],
- q(virgin islands of the united states) => [
- q(0243),
- q(3),
- ],
- q(virgin islands, british) => [
- q(0242),
- q(0),
- ],
- q(virgin islands, u.s.) => [
- q(0243),
- q(0),
- ],
- q(wake atoll) => [
- q(0273),
- q(0),
- ],
- q(wake island) => [
- q(0273),
- q(1),
- ],
- q(wallis and futuna) => [
- q(0244),
- q(0),
- ],
- q(wallis and futuna islands) => [
- q(0244),
- q(1),
- ],
- q(west bank) => [
- q(0274),
- q(0),
- ],
- q(western sahara) => [
- q(0245),
- q(0),
- ],
- q(yemen) => [
- q(0246),
- q(0),
- ],
- q(zambia) => [
- q(0247),
- q(0),
- ],
- q(zimbabwe) => [
- q(0248),
- q(0),
- ],
-};
-
-$Locale::Codes::Data{'country'}{'code2id'} = {
- q(alpha2) => {
- q(ad) => [
- q(0006),
- q(0),
- ],
- q(ae) => [
- q(0233),
- q(0),
- ],
- q(af) => [
- q(0001),
- q(0),
- ],
- q(ag) => [
- q(0010),
- q(0),
- ],
- q(ai) => [
- q(0008),
- q(0),
- ],
- q(al) => [
- q(0003),
- q(0),
- ],
- q(am) => [
- q(0012),
- q(0),
- ],
- q(an) => [
- q(0267),
- q(0),
- ],
- q(ao) => [
- q(0007),
- q(0),
- ],
- q(aq) => [
- q(0009),
- q(0),
- ],
- q(ar) => [
- q(0011),
- q(0),
- ],
- q(as) => [
- q(0005),
- q(0),
- ],
- q(at) => [
- q(0015),
- q(0),
- ],
- q(au) => [
- q(0014),
- q(0),
- ],
- q(aw) => [
- q(0013),
- q(0),
- ],
- q(ax) => [
- q(0002),
- q(0),
- ],
- q(az) => [
- q(0016),
- q(0),
- ],
- q(ba) => [
- q(0029),
- q(0),
- ],
- q(bb) => [
- q(0020),
- q(0),
- ],
- q(bd) => [
- q(0019),
- q(0),
- ],
- q(be) => [
- q(0022),
- q(0),
- ],
- q(bf) => [
- q(0036),
- q(0),
- ],
- q(bg) => [
- q(0035),
- q(0),
- ],
- q(bh) => [
- q(0018),
- q(0),
- ],
- q(bi) => [
- q(0037),
- q(0),
- ],
- q(bj) => [
- q(0024),
- q(0),
- ],
- q(bl) => [
- q(0185),
- q(0),
- ],
- q(bm) => [
- q(0025),
- q(0),
- ],
- q(bn) => [
- q(0034),
- q(0),
- ],
- q(bo) => [
- q(0027),
- q(0),
- ],
- q(bq) => [
- q(0028),
- q(0),
- ],
- q(br) => [
- q(0032),
- q(0),
- ],
- q(bs) => [
- q(0017),
- q(0),
- ],
- q(bt) => [
- q(0026),
- q(0),
- ],
- q(bv) => [
- q(0031),
- q(0),
- ],
- q(bw) => [
- q(0030),
- q(0),
- ],
- q(by) => [
- q(0021),
- q(0),
- ],
- q(bz) => [
- q(0023),
- q(0),
- ],
- q(ca) => [
- q(0040),
- q(0),
- ],
- q(cc) => [
- q(0048),
- q(0),
- ],
- q(cd) => [
- q(0052),
- q(0),
- ],
- q(cf) => [
- q(0043),
- q(0),
- ],
- q(cg) => [
- q(0051),
- q(0),
- ],
- q(ch) => [
- q(0215),
- q(0),
- ],
- q(ci) => [
- q(0055),
- q(0),
- ],
- q(ck) => [
- q(0053),
- q(0),
- ],
- q(cl) => [
- q(0045),
- q(0),
- ],
- q(cm) => [
- q(0039),
- q(0),
- ],
- q(cn) => [
- q(0046),
- q(0),
- ],
- q(co) => [
- q(0049),
- q(0),
- ],
- q(cr) => [
- q(0054),
- q(0),
- ],
- q(cu) => [
- q(0057),
- q(0),
- ],
- q(cv) => [
- q(0041),
- q(0),
- ],
- q(cw) => [
- q(0058),
- q(0),
- ],
- q(cx) => [
- q(0047),
- q(0),
- ],
- q(cy) => [
- q(0059),
- q(0),
- ],
- q(cz) => [
- q(0060),
- q(0),
- ],
- q(de) => [
- q(0083),
- q(0),
- ],
- q(dj) => [
- q(0062),
- q(0),
- ],
- q(dk) => [
- q(0061),
- q(0),
- ],
- q(dm) => [
- q(0063),
- q(0),
- ],
- q(do) => [
- q(0064),
- q(0),
- ],
- q(dz) => [
- q(0004),
- q(0),
- ],
- q(ec) => [
- q(0065),
- q(0),
- ],
- q(ee) => [
- q(0070),
- q(0),
- ],
- q(eg) => [
- q(0066),
- q(0),
- ],
- q(eh) => [
- q(0245),
- q(0),
- ],
- q(er) => [
- q(0069),
- q(0),
- ],
- q(es) => [
- q(0208),
- q(0),
- ],
- q(et) => [
- q(0071),
- q(0),
- ],
- q(fi) => [
- q(0075),
- q(0),
- ],
- q(fj) => [
- q(0074),
- q(0),
- ],
- q(fk) => [
- q(0072),
- q(0),
- ],
- q(fm) => [
- q(0145),
- q(0),
- ],
- q(fo) => [
- q(0073),
- q(0),
- ],
- q(fr) => [
- q(0076),
- q(0),
- ],
- q(fx) => [
- q(0279),
- q(0),
- ],
- q(ga) => [
- q(0080),
- q(0),
- ],
- q(gb) => [
- q(0234),
- q(0),
- ],
- q(gd) => [
- q(0088),
- q(0),
- ],
- q(ge) => [
- q(0082),
- q(0),
- ],
- q(gf) => [
- q(0077),
- q(0),
- ],
- q(gg) => [
- q(0092),
- q(0),
- ],
- q(gh) => [
- q(0084),
- q(0),
- ],
- q(gi) => [
- q(0085),
- q(0),
- ],
- q(gl) => [
- q(0087),
- q(0),
- ],
- q(gm) => [
- q(0081),
- q(0),
- ],
- q(gn) => [
- q(0093),
- q(0),
- ],
- q(gp) => [
- q(0089),
- q(0),
- ],
- q(gq) => [
- q(0068),
- q(0),
- ],
- q(gr) => [
- q(0086),
- q(0),
- ],
- q(gs) => [
- q(0207),
- q(0),
- ],
- q(gt) => [
- q(0091),
- q(0),
- ],
- q(gu) => [
- q(0090),
- q(0),
- ],
- q(gw) => [
- q(0094),
- q(0),
- ],
- q(gy) => [
- q(0095),
- q(0),
- ],
- q(hk) => [
- q(0100),
- q(0),
- ],
- q(hm) => [
- q(0097),
- q(0),
- ],
- q(hn) => [
- q(0099),
- q(0),
- ],
- q(hr) => [
- q(0056),
- q(0),
- ],
- q(ht) => [
- q(0096),
- q(0),
- ],
- q(hu) => [
- q(0101),
- q(0),
- ],
- q(id) => [
- q(0104),
- q(0),
- ],
- q(ie) => [
- q(0107),
- q(0),
- ],
- q(il) => [
- q(0109),
- q(0),
- ],
- q(im) => [
- q(0108),
- q(0),
- ],
- q(in) => [
- q(0103),
- q(0),
- ],
- q(io) => [
- q(0033),
- q(0),
- ],
- q(iq) => [
- q(0106),
- q(0),
- ],
- q(ir) => [
- q(0105),
- q(0),
- ],
- q(is) => [
- q(0102),
- q(0),
- ],
- q(it) => [
- q(0110),
- q(0),
- ],
- q(je) => [
- q(0113),
- q(0),
- ],
- q(jm) => [
- q(0111),
- q(0),
- ],
- q(jo) => [
- q(0114),
- q(0),
- ],
- q(jp) => [
- q(0112),
- q(0),
- ],
- q(ke) => [
- q(0116),
- q(0),
- ],
- q(kg) => [
- q(0121),
- q(0),
- ],
- q(kh) => [
- q(0038),
- q(0),
- ],
- q(ki) => [
- q(0117),
- q(0),
- ],
- q(km) => [
- q(0050),
- q(0),
- ],
- q(kn) => [
- q(0187),
- q(0),
- ],
- q(kp) => [
- q(0118),
- q(0),
- ],
- q(kr) => [
- q(0119),
- q(0),
- ],
- q(kw) => [
- q(0120),
- q(0),
- ],
- q(ky) => [
- q(0042),
- q(0),
- ],
- q(kz) => [
- q(0115),
- q(0),
- ],
- q(la) => [
- q(0122),
- q(0),
- ],
- q(lb) => [
- q(0124),
- q(0),
- ],
- q(lc) => [
- q(0188),
- q(0),
- ],
- q(li) => [
- q(0128),
- q(0),
- ],
- q(lk) => [
- q(0209),
- q(0),
- ],
- q(lr) => [
- q(0126),
- q(0),
- ],
- q(ls) => [
- q(0125),
- q(0),
- ],
- q(lt) => [
- q(0129),
- q(0),
- ],
- q(lu) => [
- q(0130),
- q(0),
- ],
- q(lv) => [
- q(0123),
- q(0),
- ],
- q(ly) => [
- q(0127),
- q(0),
- ],
- q(ma) => [
- q(0151),
- q(0),
- ],
- q(mc) => [
- q(0147),
- q(0),
- ],
- q(md) => [
- q(0146),
- q(0),
- ],
- q(me) => [
- q(0149),
- q(0),
- ],
- q(mf) => [
- q(0189),
- q(0),
- ],
- q(mg) => [
- q(0133),
- q(0),
- ],
- q(mh) => [
- q(0139),
- q(0),
- ],
- q(mk) => [
- q(0132),
- q(0),
- ],
- q(ml) => [
- q(0137),
- q(0),
- ],
- q(mm) => [
- q(0153),
- q(0),
- ],
- q(mn) => [
- q(0148),
- q(0),
- ],
- q(mo) => [
- q(0131),
- q(0),
- ],
- q(mp) => [
- q(0165),
- q(0),
- ],
- q(mq) => [
- q(0140),
- q(0),
- ],
- q(mr) => [
- q(0141),
- q(0),
- ],
- q(ms) => [
- q(0150),
- q(0),
- ],
- q(mt) => [
- q(0138),
- q(0),
- ],
- q(mu) => [
- q(0142),
- q(0),
- ],
- q(mv) => [
- q(0136),
- q(0),
- ],
- q(mw) => [
- q(0134),
- q(0),
- ],
- q(mx) => [
- q(0144),
- q(0),
- ],
- q(my) => [
- q(0135),
- q(0),
- ],
- q(mz) => [
- q(0152),
- q(0),
- ],
- q(na) => [
- q(0154),
- q(0),
- ],
- q(nc) => [
- q(0158),
- q(0),
- ],
- q(ne) => [
- q(0161),
- q(0),
- ],
- q(nf) => [
- q(0164),
- q(0),
- ],
- q(ng) => [
- q(0162),
- q(0),
- ],
- q(ni) => [
- q(0160),
- q(0),
- ],
- q(nl) => [
- q(0157),
- q(0),
- ],
- q(no) => [
- q(0166),
- q(0),
- ],
- q(np) => [
- q(0156),
- q(0),
- ],
- q(nr) => [
- q(0155),
- q(0),
- ],
- q(nu) => [
- q(0163),
- q(0),
- ],
- q(nz) => [
- q(0159),
- q(0),
- ],
- q(om) => [
- q(0167),
- q(0),
- ],
- q(pa) => [
- q(0171),
- q(0),
- ],
- q(pe) => [
- q(0174),
- q(0),
- ],
- q(pf) => [
- q(0078),
- q(0),
- ],
- q(pg) => [
- q(0172),
- q(0),
- ],
- q(ph) => [
- q(0175),
- q(0),
- ],
- q(pk) => [
- q(0168),
- q(0),
- ],
- q(pl) => [
- q(0177),
- q(0),
- ],
- q(pm) => [
- q(0190),
- q(0),
- ],
- q(pn) => [
- q(0176),
- q(0),
- ],
- q(pr) => [
- q(0179),
- q(0),
- ],
- q(ps) => [
- q(0170),
- q(0),
- ],
- q(pt) => [
- q(0178),
- q(0),
- ],
- q(pw) => [
- q(0169),
- q(0),
- ],
- q(py) => [
- q(0173),
- q(0),
- ],
- q(qa) => [
- q(0180),
- q(0),
- ],
- q(re) => [
- q(0181),
- q(0),
- ],
- q(ro) => [
- q(0182),
- q(0),
- ],
- q(rs) => [
- q(0197),
- q(0),
- ],
- q(ru) => [
- q(0183),
- q(0),
- ],
- q(rw) => [
- q(0184),
- q(0),
- ],
- q(sa) => [
- q(0195),
- q(0),
- ],
- q(sb) => [
- q(0204),
- q(0),
- ],
- q(sc) => [
- q(0198),
- q(0),
- ],
- q(sd) => [
- q(0210),
- q(0),
- ],
- q(se) => [
- q(0214),
- q(0),
- ],
- q(sg) => [
- q(0200),
- q(0),
- ],
- q(sh) => [
- q(0186),
- q(0),
- ],
- q(si) => [
- q(0203),
- q(0),
- ],
- q(sj) => [
- q(0212),
- q(0),
- ],
- q(sk) => [
- q(0202),
- q(0),
- ],
- q(sl) => [
- q(0199),
- q(0),
- ],
- q(sm) => [
- q(0193),
- q(0),
- ],
- q(sn) => [
- q(0196),
- q(0),
- ],
- q(so) => [
- q(0205),
- q(0),
- ],
- q(sr) => [
- q(0211),
- q(0),
- ],
- q(st) => [
- q(0194),
- q(0),
- ],
- q(sv) => [
- q(0067),
- q(0),
- ],
- q(sx) => [
- q(0201),
- q(0),
- ],
- q(sy) => [
- q(0216),
- q(0),
- ],
- q(sz) => [
- q(0213),
- q(0),
- ],
- q(tc) => [
- q(0229),
- q(0),
- ],
- q(td) => [
- q(0044),
- q(0),
- ],
- q(tf) => [
- q(0079),
- q(0),
- ],
- q(tg) => [
- q(0222),
- q(0),
- ],
- q(th) => [
- q(0220),
- q(0),
- ],
- q(tj) => [
- q(0218),
- q(0),
- ],
- q(tk) => [
- q(0223),
- q(0),
- ],
- q(tl) => [
- q(0221),
- q(0),
- ],
- q(tm) => [
- q(0228),
- q(0),
- ],
- q(tn) => [
- q(0226),
- q(0),
- ],
- q(to) => [
- q(0224),
- q(0),
- ],
- q(tr) => [
- q(0227),
- q(0),
- ],
- q(tt) => [
- q(0225),
- q(0),
- ],
- q(tv) => [
- q(0230),
- q(0),
- ],
- q(tw) => [
- q(0217),
- q(0),
- ],
- q(tz) => [
- q(0219),
- q(0),
- ],
- q(ua) => [
- q(0232),
- q(0),
- ],
- q(ug) => [
- q(0231),
- q(0),
- ],
- q(um) => [
- q(0236),
- q(0),
- ],
- q(us) => [
- q(0235),
- q(0),
- ],
- q(uy) => [
- q(0237),
- q(0),
- ],
- q(uz) => [
- q(0238),
- q(0),
- ],
- q(va) => [
- q(0098),
- q(0),
- ],
- q(vc) => [
- q(0191),
- q(0),
- ],
- q(ve) => [
- q(0240),
- q(0),
- ],
- q(vg) => [
- q(0242),
- q(0),
- ],
- q(vi) => [
- q(0243),
- q(0),
- ],
- q(vn) => [
- q(0241),
- q(0),
- ],
- q(vu) => [
- q(0239),
- q(0),
- ],
- q(wf) => [
- q(0244),
- q(0),
- ],
- q(ws) => [
- q(0192),
- q(0),
- ],
- q(ye) => [
- q(0246),
- q(0),
- ],
- q(yt) => [
- q(0143),
- q(0),
- ],
- q(za) => [
- q(0206),
- q(0),
- ],
- q(zm) => [
- q(0247),
- q(0),
- ],
- q(zw) => [
- q(0248),
- q(0),
- ],
- },
- q(alpha3) => {
- q(abw) => [
- q(0013),
- q(0),
- ],
- q(afg) => [
- q(0001),
- q(0),
- ],
- q(ago) => [
- q(0007),
- q(0),
- ],
- q(aia) => [
- q(0008),
- q(0),
- ],
- q(ala) => [
- q(0002),
- q(0),
- ],
- q(alb) => [
- q(0003),
- q(0),
- ],
- q(and) => [
- q(0006),
- q(0),
- ],
- q(ant) => [
- q(0267),
- q(0),
- ],
- q(are) => [
- q(0233),
- q(0),
- ],
- q(arg) => [
- q(0011),
- q(0),
- ],
- q(arm) => [
- q(0012),
- q(0),
- ],
- q(asm) => [
- q(0005),
- q(0),
- ],
- q(ata) => [
- q(0009),
- q(0),
- ],
- q(atf) => [
- q(0079),
- q(1),
- ],
- q(atg) => [
- q(0010),
- q(0),
- ],
- q(aus) => [
- q(0014),
- q(0),
- ],
- q(aut) => [
- q(0015),
- q(0),
- ],
- q(aze) => [
- q(0016),
- q(0),
- ],
- q(bdi) => [
- q(0037),
- q(0),
- ],
- q(bel) => [
- q(0022),
- q(0),
- ],
- q(ben) => [
- q(0024),
- q(0),
- ],
- q(bes) => [
- q(0028),
- q(0),
- ],
- q(bfa) => [
- q(0036),
- q(0),
- ],
- q(bgd) => [
- q(0019),
- q(0),
- ],
- q(bgr) => [
- q(0035),
- q(0),
- ],
- q(bhr) => [
- q(0018),
- q(0),
- ],
- q(bhs) => [
- q(0017),
- q(0),
- ],
- q(bih) => [
- q(0029),
- q(0),
- ],
- q(blm) => [
- q(0185),
- q(1),
- ],
- q(blr) => [
- q(0021),
- q(0),
- ],
- q(blz) => [
- q(0023),
- q(0),
- ],
- q(bmu) => [
- q(0025),
- q(0),
- ],
- q(bol) => [
- q(0027),
- q(1),
- ],
- q(bra) => [
- q(0032),
- q(0),
- ],
- q(brb) => [
- q(0020),
- q(0),
- ],
- q(brn) => [
- q(0034),
- q(0),
- ],
- q(btn) => [
- q(0026),
- q(0),
- ],
- q(bvt) => [
- q(0031),
- q(0),
- ],
- q(bwa) => [
- q(0030),
- q(0),
- ],
- q(caf) => [
- q(0043),
- q(0),
- ],
- q(can) => [
- q(0040),
- q(0),
- ],
- q(cck) => [
- q(0048),
- q(0),
- ],
- q(che) => [
- q(0215),
- q(0),
- ],
- q(chl) => [
- q(0045),
- q(0),
- ],
- q(chn) => [
- q(0046),
- q(0),
- ],
- q(civ) => [
- q(0055),
- q(0),
- ],
- q(cmr) => [
- q(0039),
- q(0),
- ],
- q(cod) => [
- q(0052),
- q(1),
- ],
- q(cog) => [
- q(0051),
- q(0),
- ],
- q(cok) => [
- q(0053),
- q(0),
- ],
- q(col) => [
- q(0049),
- q(0),
- ],
- q(com) => [
- q(0050),
- q(0),
- ],
- q(cpv) => [
- q(0041),
- q(0),
- ],
- q(cri) => [
- q(0054),
- q(0),
- ],
- q(cub) => [
- q(0057),
- q(0),
- ],
- q(cuw) => [
- q(0058),
- q(0),
- ],
- q(cxr) => [
- q(0047),
- q(0),
- ],
- q(cym) => [
- q(0042),
- q(0),
- ],
- q(cyp) => [
- q(0059),
- q(0),
- ],
- q(cze) => [
- q(0060),
- q(0),
- ],
- q(deu) => [
- q(0083),
- q(0),
- ],
- q(dji) => [
- q(0062),
- q(0),
- ],
- q(dma) => [
- q(0063),
- q(0),
- ],
- q(dnk) => [
- q(0061),
- q(0),
- ],
- q(dom) => [
- q(0064),
- q(0),
- ],
- q(dza) => [
- q(0004),
- q(0),
- ],
- q(ecu) => [
- q(0065),
- q(0),
- ],
- q(egy) => [
- q(0066),
- q(0),
- ],
- q(eri) => [
- q(0069),
- q(0),
- ],
- q(esh) => [
- q(0245),
- q(0),
- ],
- q(esp) => [
- q(0208),
- q(0),
- ],
- q(est) => [
- q(0070),
- q(0),
- ],
- q(eth) => [
- q(0071),
- q(0),
- ],
- q(fin) => [
- q(0075),
- q(0),
- ],
- q(fji) => [
- q(0074),
- q(0),
- ],
- q(flk) => [
- q(0072),
- q(0),
- ],
- q(fra) => [
- q(0076),
- q(0),
- ],
- q(fro) => [
- q(0073),
- q(1),
- ],
- q(fsm) => [
- q(0145),
- q(1),
- ],
- q(fxx) => [
- q(0279),
- q(0),
- ],
- q(gab) => [
- q(0080),
- q(0),
- ],
- q(gbr) => [
- q(0234),
- q(1),
- ],
- q(geo) => [
- q(0082),
- q(0),
- ],
- q(ggy) => [
- q(0092),
- q(0),
- ],
- q(gha) => [
- q(0084),
- q(0),
- ],
- q(gib) => [
- q(0085),
- q(0),
- ],
- q(gin) => [
- q(0093),
- q(0),
- ],
- q(glp) => [
- q(0089),
- q(0),
- ],
- q(gmb) => [
- q(0081),
- q(0),
- ],
- q(gnb) => [
- q(0094),
- q(0),
- ],
- q(gnq) => [
- q(0068),
- q(0),
- ],
- q(grc) => [
- q(0086),
- q(0),
- ],
- q(grd) => [
- q(0088),
- q(0),
- ],
- q(grl) => [
- q(0087),
- q(0),
- ],
- q(gtm) => [
- q(0091),
- q(0),
- ],
- q(guf) => [
- q(0077),
- q(0),
- ],
- q(gum) => [
- q(0090),
- q(0),
- ],
- q(guy) => [
- q(0095),
- q(0),
- ],
- q(hkg) => [
- q(0100),
- q(1),
- ],
- q(hmd) => [
- q(0097),
- q(0),
- ],
- q(hnd) => [
- q(0099),
- q(0),
- ],
- q(hrv) => [
- q(0056),
- q(0),
- ],
- q(hti) => [
- q(0096),
- q(0),
- ],
- q(hun) => [
- q(0101),
- q(0),
- ],
- q(idn) => [
- q(0104),
- q(0),
- ],
- q(imn) => [
- q(0108),
- q(0),
- ],
- q(ind) => [
- q(0103),
- q(0),
- ],
- q(iot) => [
- q(0033),
- q(0),
- ],
- q(irl) => [
- q(0107),
- q(0),
- ],
- q(irn) => [
- q(0105),
- q(1),
- ],
- q(irq) => [
- q(0106),
- q(0),
- ],
- q(isl) => [
- q(0102),
- q(0),
- ],
- q(isr) => [
- q(0109),
- q(0),
- ],
- q(ita) => [
- q(0110),
- q(0),
- ],
- q(jam) => [
- q(0111),
- q(0),
- ],
- q(jey) => [
- q(0113),
- q(0),
- ],
- q(jor) => [
- q(0114),
- q(0),
- ],
- q(jpn) => [
- q(0112),
- q(0),
- ],
- q(kaz) => [
- q(0115),
- q(0),
- ],
- q(ken) => [
- q(0116),
- q(0),
- ],
- q(kgz) => [
- q(0121),
- q(0),
- ],
- q(khm) => [
- q(0038),
- q(0),
- ],
- q(kir) => [
- q(0117),
- q(0),
- ],
- q(kna) => [
- q(0187),
- q(0),
- ],
- q(kor) => [
- q(0119),
- q(1),
- ],
- q(kwt) => [
- q(0120),
- q(0),
- ],
- q(lao) => [
- q(0122),
- q(0),
- ],
- q(lbn) => [
- q(0124),
- q(0),
- ],
- q(lbr) => [
- q(0126),
- q(0),
- ],
- q(lby) => [
- q(0127),
- q(0),
- ],
- q(lca) => [
- q(0188),
- q(0),
- ],
- q(lie) => [
- q(0128),
- q(0),
- ],
- q(lka) => [
- q(0209),
- q(0),
- ],
- q(lso) => [
- q(0125),
- q(0),
- ],
- q(ltu) => [
- q(0129),
- q(0),
- ],
- q(lux) => [
- q(0130),
- q(0),
- ],
- q(lva) => [
- q(0123),
- q(0),
- ],
- q(mac) => [
- q(0131),
- q(1),
- ],
- q(maf) => [
- q(0189),
- q(1),
- ],
- q(mar) => [
- q(0151),
- q(0),
- ],
- q(mco) => [
- q(0147),
- q(0),
- ],
- q(mda) => [
- q(0146),
- q(1),
- ],
- q(mdg) => [
- q(0133),
- q(0),
- ],
- q(mdv) => [
- q(0136),
- q(0),
- ],
- q(mex) => [
- q(0144),
- q(0),
- ],
- q(mhl) => [
- q(0139),
- q(0),
- ],
- q(mkd) => [
- q(0132),
- q(1),
- ],
- q(mli) => [
- q(0137),
- q(0),
- ],
- q(mlt) => [
- q(0138),
- q(0),
- ],
- q(mmr) => [
- q(0153),
- q(0),
- ],
- q(mne) => [
- q(0149),
- q(0),
- ],
- q(mng) => [
- q(0148),
- q(0),
- ],
- q(mnp) => [
- q(0165),
- q(0),
- ],
- q(moz) => [
- q(0152),
- q(0),
- ],
- q(mrt) => [
- q(0141),
- q(0),
- ],
- q(msr) => [
- q(0150),
- q(0),
- ],
- q(mtq) => [
- q(0140),
- q(0),
- ],
- q(mus) => [
- q(0142),
- q(0),
- ],
- q(mwi) => [
- q(0134),
- q(0),
- ],
- q(mys) => [
- q(0135),
- q(0),
- ],
- q(myt) => [
- q(0143),
- q(0),
- ],
- q(nam) => [
- q(0154),
- q(0),
- ],
- q(ncl) => [
- q(0158),
- q(0),
- ],
- q(ner) => [
- q(0161),
- q(0),
- ],
- q(nfk) => [
- q(0164),
- q(0),
- ],
- q(nga) => [
- q(0162),
- q(0),
- ],
- q(nic) => [
- q(0160),
- q(0),
- ],
- q(niu) => [
- q(0163),
- q(0),
- ],
- q(nld) => [
- q(0157),
- q(0),
- ],
- q(nor) => [
- q(0166),
- q(0),
- ],
- q(npl) => [
- q(0156),
- q(0),
- ],
- q(nru) => [
- q(0155),
- q(0),
- ],
- q(nzl) => [
- q(0159),
- q(0),
- ],
- q(omn) => [
- q(0167),
- q(0),
- ],
- q(pak) => [
- q(0168),
- q(0),
- ],
- q(pan) => [
- q(0171),
- q(0),
- ],
- q(pcn) => [
- q(0176),
- q(0),
- ],
- q(per) => [
- q(0174),
- q(0),
- ],
- q(phl) => [
- q(0175),
- q(0),
- ],
- q(plw) => [
- q(0169),
- q(0),
- ],
- q(png) => [
- q(0172),
- q(0),
- ],
- q(pol) => [
- q(0177),
- q(0),
- ],
- q(pri) => [
- q(0179),
- q(0),
- ],
- q(prk) => [
- q(0118),
- q(1),
- ],
- q(prt) => [
- q(0178),
- q(0),
- ],
- q(pry) => [
- q(0173),
- q(0),
- ],
- q(pse) => [
- q(0170),
- q(1),
- ],
- q(pyf) => [
- q(0078),
- q(0),
- ],
- q(qat) => [
- q(0180),
- q(0),
- ],
- q(reu) => [
- q(0181),
- q(0),
- ],
- q(rou) => [
- q(0182),
- q(0),
- ],
- q(rus) => [
- q(0183),
- q(0),
- ],
- q(rwa) => [
- q(0184),
- q(0),
- ],
- q(sau) => [
- q(0195),
- q(0),
- ],
- q(sdn) => [
- q(0210),
- q(0),
- ],
- q(sen) => [
- q(0196),
- q(0),
- ],
- q(sgp) => [
- q(0200),
- q(0),
- ],
- q(shn) => [
- q(0186),
- q(1),
- ],
- q(sjm) => [
- q(0212),
- q(1),
- ],
- q(slb) => [
- q(0204),
- q(0),
- ],
- q(sle) => [
- q(0199),
- q(0),
- ],
- q(slv) => [
- q(0067),
- q(0),
- ],
- q(smr) => [
- q(0193),
- q(0),
- ],
- q(som) => [
- q(0205),
- q(0),
- ],
- q(spm) => [
- q(0190),
- q(0),
- ],
- q(srb) => [
- q(0197),
- q(0),
- ],
- q(stp) => [
- q(0194),
- q(0),
- ],
- q(sur) => [
- q(0211),
- q(0),
- ],
- q(svk) => [
- q(0202),
- q(0),
- ],
- q(svn) => [
- q(0203),
- q(0),
- ],
- q(swe) => [
- q(0214),
- q(0),
- ],
- q(swz) => [
- q(0213),
- q(0),
- ],
- q(sxm) => [
- q(0201),
- q(0),
- ],
- q(syc) => [
- q(0198),
- q(0),
- ],
- q(syr) => [
- q(0216),
- q(0),
- ],
- q(tca) => [
- q(0229),
- q(0),
- ],
- q(tcd) => [
- q(0044),
- q(0),
- ],
- q(tgo) => [
- q(0222),
- q(0),
- ],
- q(tha) => [
- q(0220),
- q(0),
- ],
- q(tjk) => [
- q(0218),
- q(0),
- ],
- q(tkl) => [
- q(0223),
- q(0),
- ],
- q(tkm) => [
- q(0228),
- q(0),
- ],
- q(tls) => [
- q(0221),
- q(0),
- ],
- q(ton) => [
- q(0224),
- q(0),
- ],
- q(tto) => [
- q(0225),
- q(0),
- ],
- q(tun) => [
- q(0226),
- q(0),
- ],
- q(tur) => [
- q(0227),
- q(0),
- ],
- q(tuv) => [
- q(0230),
- q(0),
- ],
- q(twn) => [
- q(0217),
- q(1),
- ],
- q(tza) => [
- q(0219),
- q(1),
- ],
- q(uga) => [
- q(0231),
- q(0),
- ],
- q(ukr) => [
- q(0232),
- q(0),
- ],
- q(umi) => [
- q(0236),
- q(0),
- ],
- q(ury) => [
- q(0237),
- q(0),
- ],
- q(usa) => [
- q(0235),
- q(1),
- ],
- q(uzb) => [
- q(0238),
- q(0),
- ],
- q(vat) => [
- q(0098),
- q(1),
- ],
- q(vct) => [
- q(0191),
- q(0),
- ],
- q(ven) => [
- q(0240),
- q(1),
- ],
- q(vgb) => [
- q(0242),
- q(1),
- ],
- q(vir) => [
- q(0243),
- q(1),
- ],
- q(vnm) => [
- q(0241),
- q(0),
- ],
- q(vut) => [
- q(0239),
- q(0),
- ],
- q(wlf) => [
- q(0244),
- q(1),
- ],
- q(wsm) => [
- q(0192),
- q(0),
- ],
- q(yem) => [
- q(0246),
- q(0),
- ],
- q(zaf) => [
- q(0206),
- q(0),
- ],
- q(zmb) => [
- q(0247),
- q(0),
- ],
- q(zwe) => [
- q(0248),
- q(0),
- ],
- },
- q(dom) => {
- q(AC) => [
- q(0275),
- q(0),
- ],
- q(AD) => [
- q(0006),
- q(0),
- ],
- q(AE) => [
- q(0233),
- q(0),
- ],
- q(AF) => [
- q(0001),
- q(0),
- ],
- q(AG) => [
- q(0010),
- q(0),
- ],
- q(AI) => [
- q(0008),
- q(0),
- ],
- q(AL) => [
- q(0003),
- q(0),
- ],
- q(AM) => [
- q(0012),
- q(0),
- ],
- q(AN) => [
- q(0267),
- q(0),
- ],
- q(AO) => [
- q(0007),
- q(0),
- ],
- q(AQ) => [
- q(0009),
- q(0),
- ],
- q(AR) => [
- q(0011),
- q(0),
- ],
- q(AS) => [
- q(0005),
- q(0),
- ],
- q(AT) => [
- q(0015),
- q(0),
- ],
- q(AU) => [
- q(0014),
- q(0),
- ],
- q(AW) => [
- q(0013),
- q(0),
- ],
- q(AX) => [
- q(0002),
- q(0),
- ],
- q(AZ) => [
- q(0016),
- q(0),
- ],
- q(BA) => [
- q(0029),
- q(0),
- ],
- q(BB) => [
- q(0020),
- q(0),
- ],
- q(BD) => [
- q(0019),
- q(0),
- ],
- q(BE) => [
- q(0022),
- q(0),
- ],
- q(BF) => [
- q(0036),
- q(0),
- ],
- q(BG) => [
- q(0035),
- q(0),
- ],
- q(BH) => [
- q(0018),
- q(0),
- ],
- q(BI) => [
- q(0037),
- q(0),
- ],
- q(BJ) => [
- q(0024),
- q(0),
- ],
- q(BL) => [
- q(0185),
- q(0),
- ],
- q(BM) => [
- q(0025),
- q(0),
- ],
- q(BN) => [
- q(0034),
- q(0),
- ],
- q(BO) => [
- q(0027),
- q(2),
- ],
- q(BQ) => [
- q(0028),
- q(0),
- ],
- q(BR) => [
- q(0032),
- q(0),
- ],
- q(BS) => [
- q(0017),
- q(0),
- ],
- q(BT) => [
- q(0026),
- q(0),
- ],
- q(BV) => [
- q(0031),
- q(0),
- ],
- q(BW) => [
- q(0030),
- q(0),
- ],
- q(BY) => [
- q(0021),
- q(0),
- ],
- q(BZ) => [
- q(0023),
- q(0),
- ],
- q(CA) => [
- q(0040),
- q(0),
- ],
- q(CC) => [
- q(0048),
- q(0),
- ],
- q(CD) => [
- q(0052),
- q(0),
- ],
- q(CF) => [
- q(0043),
- q(0),
- ],
- q(CG) => [
- q(0051),
- q(0),
- ],
- q(CH) => [
- q(0215),
- q(0),
- ],
- q(CI) => [
- q(0055),
- q(0),
- ],
- q(CK) => [
- q(0053),
- q(0),
- ],
- q(CL) => [
- q(0045),
- q(0),
- ],
- q(CM) => [
- q(0039),
- q(0),
- ],
- q(CN) => [
- q(0046),
- q(0),
- ],
- q(CO) => [
- q(0049),
- q(0),
- ],
- q(CR) => [
- q(0054),
- q(0),
- ],
- q(CU) => [
- q(0057),
- q(0),
- ],
- q(CV) => [
- q(0041),
- q(0),
- ],
- q(CW) => [
- q(0058),
- q(0),
- ],
- q(CX) => [
- q(0047),
- q(0),
- ],
- q(CY) => [
- q(0059),
- q(0),
- ],
- q(CZ) => [
- q(0060),
- q(0),
- ],
- q(DE) => [
- q(0083),
- q(0),
- ],
- q(DJ) => [
- q(0062),
- q(0),
- ],
- q(DK) => [
- q(0061),
- q(0),
- ],
- q(DM) => [
- q(0063),
- q(0),
- ],
- q(DO) => [
- q(0064),
- q(0),
- ],
- q(DZ) => [
- q(0004),
- q(0),
- ],
- q(EC) => [
- q(0065),
- q(0),
- ],
- q(EE) => [
- q(0070),
- q(0),
- ],
- q(EG) => [
- q(0066),
- q(0),
- ],
- q(EH) => [
- q(0245),
- q(0),
- ],
- q(ER) => [
- q(0069),
- q(0),
- ],
- q(ES) => [
- q(0208),
- q(0),
- ],
- q(ET) => [
- q(0071),
- q(0),
- ],
- q(EU) => [
- q(0276),
- q(0),
- ],
- q(FI) => [
- q(0075),
- q(0),
- ],
- q(FJ) => [
- q(0074),
- q(0),
- ],
- q(FK) => [
- q(0072),
- q(0),
- ],
- q(FM) => [
- q(0145),
- q(0),
- ],
- q(FO) => [
- q(0073),
- q(0),
- ],
- q(FR) => [
- q(0076),
- q(0),
- ],
- q(FX) => [
- q(0279),
- q(0),
- ],
- q(GA) => [
- q(0080),
- q(0),
- ],
- q(GB) => [
- q(0234),
- q(0),
- ],
- q(GD) => [
- q(0088),
- q(0),
- ],
- q(GE) => [
- q(0082),
- q(0),
- ],
- q(GF) => [
- q(0077),
- q(0),
- ],
- q(GG) => [
- q(0092),
- q(0),
- ],
- q(GH) => [
- q(0084),
- q(0),
- ],
- q(GI) => [
- q(0085),
- q(0),
- ],
- q(GL) => [
- q(0087),
- q(0),
- ],
- q(GM) => [
- q(0081),
- q(0),
- ],
- q(GN) => [
- q(0093),
- q(0),
- ],
- q(GP) => [
- q(0089),
- q(0),
- ],
- q(GQ) => [
- q(0068),
- q(0),
- ],
- q(GR) => [
- q(0086),
- q(0),
- ],
- q(GS) => [
- q(0207),
- q(0),
- ],
- q(GT) => [
- q(0091),
- q(0),
- ],
- q(GU) => [
- q(0090),
- q(0),
- ],
- q(GW) => [
- q(0094),
- q(0),
- ],
- q(GY) => [
- q(0095),
- q(0),
- ],
- q(HK) => [
- q(0100),
- q(0),
- ],
- q(HM) => [
- q(0097),
- q(0),
- ],
- q(HN) => [
- q(0099),
- q(0),
- ],
- q(HR) => [
- q(0056),
- q(0),
- ],
- q(HT) => [
- q(0096),
- q(0),
- ],
- q(HU) => [
- q(0101),
- q(0),
- ],
- q(ID) => [
- q(0104),
- q(0),
- ],
- q(IE) => [
- q(0107),
- q(0),
- ],
- q(IL) => [
- q(0109),
- q(0),
- ],
- q(IM) => [
- q(0108),
- q(0),
- ],
- q(IN) => [
- q(0103),
- q(0),
- ],
- q(IO) => [
- q(0033),
- q(0),
- ],
- q(IQ) => [
- q(0106),
- q(0),
- ],
- q(IR) => [
- q(0105),
- q(0),
- ],
- q(IS) => [
- q(0102),
- q(0),
- ],
- q(IT) => [
- q(0110),
- q(0),
- ],
- q(JE) => [
- q(0113),
- q(0),
- ],
- q(JM) => [
- q(0111),
- q(0),
- ],
- q(JO) => [
- q(0114),
- q(0),
- ],
- q(JP) => [
- q(0112),
- q(0),
- ],
- q(KE) => [
- q(0116),
- q(0),
- ],
- q(KG) => [
- q(0121),
- q(0),
- ],
- q(KH) => [
- q(0038),
- q(0),
- ],
- q(KI) => [
- q(0117),
- q(0),
- ],
- q(KM) => [
- q(0050),
- q(0),
- ],
- q(KN) => [
- q(0187),
- q(0),
- ],
- q(KP) => [
- q(0118),
- q(0),
- ],
- q(KR) => [
- q(0119),
- q(0),
- ],
- q(KW) => [
- q(0120),
- q(0),
- ],
- q(KY) => [
- q(0042),
- q(0),
- ],
- q(KZ) => [
- q(0115),
- q(0),
- ],
- q(LA) => [
- q(0122),
- q(0),
- ],
- q(LB) => [
- q(0124),
- q(0),
- ],
- q(LC) => [
- q(0188),
- q(0),
- ],
- q(LI) => [
- q(0128),
- q(0),
- ],
- q(LK) => [
- q(0209),
- q(0),
- ],
- q(LR) => [
- q(0126),
- q(0),
- ],
- q(LS) => [
- q(0125),
- q(0),
- ],
- q(LT) => [
- q(0129),
- q(0),
- ],
- q(LU) => [
- q(0130),
- q(0),
- ],
- q(LV) => [
- q(0123),
- q(0),
- ],
- q(LY) => [
- q(0127),
- q(0),
- ],
- q(MA) => [
- q(0151),
- q(0),
- ],
- q(MC) => [
- q(0147),
- q(0),
- ],
- q(MD) => [
- q(0146),
- q(0),
- ],
- q(ME) => [
- q(0149),
- q(0),
- ],
- q(MF) => [
- q(0189),
- q(0),
- ],
- q(MG) => [
- q(0133),
- q(0),
- ],
- q(MH) => [
- q(0139),
- q(0),
- ],
- q(MK) => [
- q(0132),
- q(0),
- ],
- q(ML) => [
- q(0137),
- q(0),
- ],
- q(MM) => [
- q(0153),
- q(0),
- ],
- q(MN) => [
- q(0148),
- q(0),
- ],
- q(MO) => [
- q(0131),
- q(0),
- ],
- q(MP) => [
- q(0165),
- q(0),
- ],
- q(MQ) => [
- q(0140),
- q(0),
- ],
- q(MR) => [
- q(0141),
- q(0),
- ],
- q(MS) => [
- q(0150),
- q(0),
- ],
- q(MT) => [
- q(0138),
- q(0),
- ],
- q(MU) => [
- q(0142),
- q(0),
- ],
- q(MV) => [
- q(0136),
- q(0),
- ],
- q(MW) => [
- q(0134),
- q(0),
- ],
- q(MX) => [
- q(0144),
- q(0),
- ],
- q(MY) => [
- q(0135),
- q(0),
- ],
- q(MZ) => [
- q(0152),
- q(0),
- ],
- q(NA) => [
- q(0154),
- q(0),
- ],
- q(NC) => [
- q(0158),
- q(0),
- ],
- q(NE) => [
- q(0161),
- q(0),
- ],
- q(NF) => [
- q(0164),
- q(0),
- ],
- q(NG) => [
- q(0162),
- q(0),
- ],
- q(NI) => [
- q(0160),
- q(0),
- ],
- q(NL) => [
- q(0157),
- q(0),
- ],
- q(NO) => [
- q(0166),
- q(0),
- ],
- q(NP) => [
- q(0156),
- q(0),
- ],
- q(NR) => [
- q(0155),
- q(0),
- ],
- q(NU) => [
- q(0163),
- q(0),
- ],
- q(NZ) => [
- q(0159),
- q(0),
- ],
- q(OM) => [
- q(0167),
- q(0),
- ],
- q(PA) => [
- q(0171),
- q(0),
- ],
- q(PE) => [
- q(0174),
- q(0),
- ],
- q(PF) => [
- q(0078),
- q(0),
- ],
- q(PG) => [
- q(0172),
- q(0),
- ],
- q(PH) => [
- q(0175),
- q(0),
- ],
- q(PK) => [
- q(0168),
- q(0),
- ],
- q(PL) => [
- q(0177),
- q(0),
- ],
- q(PM) => [
- q(0190),
- q(0),
- ],
- q(PN) => [
- q(0176),
- q(0),
- ],
- q(PR) => [
- q(0179),
- q(0),
- ],
- q(PS) => [
- q(0170),
- q(0),
- ],
- q(PT) => [
- q(0178),
- q(0),
- ],
- q(PW) => [
- q(0169),
- q(0),
- ],
- q(PY) => [
- q(0173),
- q(0),
- ],
- q(QA) => [
- q(0180),
- q(0),
- ],
- q(RE) => [
- q(0181),
- q(0),
- ],
- q(RO) => [
- q(0182),
- q(0),
- ],
- q(RS) => [
- q(0197),
- q(0),
- ],
- q(RU) => [
- q(0183),
- q(0),
- ],
- q(RW) => [
- q(0184),
- q(0),
- ],
- q(SA) => [
- q(0195),
- q(0),
- ],
- q(SB) => [
- q(0204),
- q(0),
- ],
- q(SC) => [
- q(0198),
- q(0),
- ],
- q(SD) => [
- q(0210),
- q(0),
- ],
- q(SE) => [
- q(0214),
- q(0),
- ],
- q(SG) => [
- q(0200),
- q(0),
- ],
- q(SH) => [
- q(0186),
- q(1),
- ],
- q(SI) => [
- q(0203),
- q(0),
- ],
- q(SJ) => [
- q(0212),
- q(0),
- ],
- q(SK) => [
- q(0202),
- q(0),
- ],
- q(SL) => [
- q(0199),
- q(0),
- ],
- q(SM) => [
- q(0193),
- q(0),
- ],
- q(SN) => [
- q(0196),
- q(0),
- ],
- q(SO) => [
- q(0205),
- q(0),
- ],
- q(SR) => [
- q(0211),
- q(0),
- ],
- q(ST) => [
- q(0194),
- q(0),
- ],
- q(SU) => [
- q(0277),
- q(0),
- ],
- q(SV) => [
- q(0067),
- q(0),
- ],
- q(SX) => [
- q(0201),
- q(0),
- ],
- q(SY) => [
- q(0216),
- q(0),
- ],
- q(SZ) => [
- q(0213),
- q(0),
- ],
- q(TC) => [
- q(0229),
- q(0),
- ],
- q(TD) => [
- q(0044),
- q(0),
- ],
- q(TF) => [
- q(0079),
- q(0),
- ],
- q(TG) => [
- q(0222),
- q(0),
- ],
- q(TH) => [
- q(0220),
- q(0),
- ],
- q(TJ) => [
- q(0218),
- q(0),
- ],
- q(TK) => [
- q(0223),
- q(0),
- ],
- q(TL) => [
- q(0221),
- q(0),
- ],
- q(TM) => [
- q(0228),
- q(0),
- ],
- q(TN) => [
- q(0226),
- q(0),
- ],
- q(TO) => [
- q(0224),
- q(0),
- ],
- q(TP) => [
- q(0278),
- q(0),
- ],
- q(TR) => [
- q(0227),
- q(0),
- ],
- q(TT) => [
- q(0225),
- q(0),
- ],
- q(TV) => [
- q(0230),
- q(0),
- ],
- q(TW) => [
- q(0217),
- q(1),
- ],
- q(TZ) => [
- q(0219),
- q(0),
- ],
- q(UA) => [
- q(0232),
- q(0),
- ],
- q(UG) => [
- q(0231),
- q(0),
- ],
- q(UK) => [
- q(0234),
- q(0),
- ],
- q(UM) => [
- q(0236),
- q(0),
- ],
- q(US) => [
- q(0235),
- q(0),
- ],
- q(UY) => [
- q(0237),
- q(0),
- ],
- q(UZ) => [
- q(0238),
- q(0),
- ],
- q(VA) => [
- q(0098),
- q(0),
- ],
- q(VC) => [
- q(0191),
- q(0),
- ],
- q(VE) => [
- q(0240),
- q(0),
- ],
- q(VG) => [
- q(0242),
- q(0),
- ],
- q(VI) => [
- q(0243),
- q(0),
- ],
- q(VN) => [
- q(0241),
- q(0),
- ],
- q(VU) => [
- q(0239),
- q(0),
- ],
- q(WF) => [
- q(0244),
- q(0),
- ],
- q(WS) => [
- q(0192),
- q(0),
- ],
- q(YE) => [
- q(0246),
- q(0),
- ],
- q(YT) => [
- q(0143),
- q(0),
- ],
- q(ZA) => [
- q(0206),
- q(0),
- ],
- q(ZM) => [
- q(0247),
- q(0),
- ],
- q(ZW) => [
- q(0248),
- q(0),
- ],
- },
- q(fips) => {
- q(AA) => [
- q(0013),
- q(0),
- ],
- q(AC) => [
- q(0010),
- q(0),
- ],
- q(AE) => [
- q(0233),
- q(0),
- ],
- q(AF) => [
- q(0001),
- q(1),
- ],
- q(AG) => [
- q(0004),
- q(1),
- ],
- q(AJ) => [
- q(0016),
- q(1),
- ],
- q(AL) => [
- q(0003),
- q(1),
- ],
- q(AM) => [
- q(0012),
- q(1),
- ],
- q(AN) => [
- q(0006),
- q(1),
- ],
- q(AO) => [
- q(0007),
- q(1),
- ],
- q(AQ) => [
- q(0005),
- q(1),
- ],
- q(AR) => [
- q(0011),
- q(1),
- ],
- q(AS) => [
- q(0014),
- q(1),
- ],
- q(AT) => [
- q(0251),
- q(1),
- ],
- q(AU) => [
- q(0015),
- q(1),
- ],
- q(AV) => [
- q(0008),
- q(0),
- ],
- q(AY) => [
- q(0009),
- q(0),
- ],
- q(BA) => [
- q(0018),
- q(1),
- ],
- q(BB) => [
- q(0020),
- q(0),
- ],
- q(BC) => [
- q(0030),
- q(1),
- ],
- q(BD) => [
- q(0025),
- q(0),
- ],
- q(BE) => [
- q(0022),
- q(1),
- ],
- q(BF) => [
- q(0017),
- q(2),
- ],
- q(BG) => [
- q(0019),
- q(1),
- ],
- q(BH) => [
- q(0023),
- q(0),
- ],
- q(BK) => [
- q(0029),
- q(0),
- ],
- q(BL) => [
- q(0027),
- q(3),
- ],
- q(BM) => [
- q(0153),
- q(2),
- ],
- q(BN) => [
- q(0024),
- q(1),
- ],
- q(BO) => [
- q(0021),
- q(1),
- ],
- q(BP) => [
- q(0204),
- q(0),
- ],
- q(BQ) => [
- q(0266),
- q(0),
- ],
- q(BR) => [
- q(0032),
- q(1),
- ],
- q(BS) => [
- q(0253),
- q(0),
- ],
- q(BT) => [
- q(0026),
- q(1),
- ],
- q(BU) => [
- q(0035),
- q(0),
- ],
- q(BV) => [
- q(0031),
- q(0),
- ],
- q(BX) => [
- q(0034),
- q(2),
- ],
- q(BY) => [
- q(0037),
- q(1),
- ],
- q(CA) => [
- q(0040),
- q(0),
- ],
- q(CB) => [
- q(0038),
- q(1),
- ],
- q(CD) => [
- q(0044),
- q(1),
- ],
- q(CE) => [
- q(0209),
- q(1),
- ],
- q(CF) => [
- q(0051),
- q(2),
- ],
- q(CG) => [
- q(0052),
- q(2),
- ],
- q(CH) => [
- q(0046),
- q(1),
- ],
- q(CI) => [
- q(0045),
- q(1),
- ],
- q(CJ) => [
- q(0042),
- q(0),
- ],
- q(CK) => [
- q(0048),
- q(1),
- ],
- q(CM) => [
- q(0039),
- q(1),
- ],
- q(CN) => [
- q(0050),
- q(1),
- ],
- q(CO) => [
- q(0049),
- q(1),
- ],
- q(CQ) => [
- q(0165),
- q(1),
- ],
- q(CR) => [
- q(0255),
- q(1),
- ],
- q(CS) => [
- q(0054),
- q(1),
- ],
- q(CT) => [
- q(0043),
- q(0),
- ],
- q(CU) => [
- q(0057),
- q(1),
- ],
- q(CV) => [
- q(0041),
- q(1),
- ],
- q(CW) => [
- q(0053),
- q(0),
- ],
- q(CY) => [
- q(0059),
- q(1),
- ],
- q(DA) => [
- q(0061),
- q(1),
- ],
- q(DJ) => [
- q(0062),
- q(1),
- ],
- q(DO) => [
- q(0063),
- q(1),
- ],
- q(DQ) => [
- q(0261),
- q(0),
- ],
- q(DR) => [
- q(0064),
- q(0),
- ],
- q(EC) => [
- q(0065),
- q(1),
- ],
- q(EG) => [
- q(0066),
- q(1),
- ],
- q(EI) => [
- q(0107),
- q(0),
- ],
- q(EK) => [
- q(0068),
- q(1),
- ],
- q(EN) => [
- q(0070),
- q(1),
- ],
- q(ER) => [
- q(0069),
- q(1),
- ],
- q(ES) => [
- q(0067),
- q(1),
- ],
- q(ET) => [
- q(0071),
- q(1),
- ],
- q(EU) => [
- q(0256),
- q(0),
- ],
- q(EZ) => [
- q(0060),
- q(0),
- ],
- q(FG) => [
- q(0077),
- q(1),
- ],
- q(FI) => [
- q(0075),
- q(1),
- ],
- q(FJ) => [
- q(0074),
- q(1),
- ],
- q(FK) => [
- q(0072),
- q(1),
- ],
- q(FM) => [
- q(0145),
- q(2),
- ],
- q(FO) => [
- q(0073),
- q(0),
- ],
- q(FP) => [
- q(0078),
- q(1),
- ],
- q(FQ) => [
- q(0252),
- q(0),
- ],
- q(FR) => [
- q(0076),
- q(1),
- ],
- q(FS) => [
- q(0079),
- q(2),
- ],
- q(GA) => [
- q(0081),
- q(2),
- ],
- q(GB) => [
- q(0080),
- q(1),
- ],
- q(GG) => [
- q(0082),
- q(0),
- ],
- q(GH) => [
- q(0084),
- q(1),
- ],
- q(GI) => [
- q(0085),
- q(0),
- ],
- q(GJ) => [
- q(0088),
- q(0),
- ],
- q(GK) => [
- q(0092),
- q(1),
- ],
- q(GL) => [
- q(0087),
- q(0),
- ],
- q(GM) => [
- q(0083),
- q(1),
- ],
- q(GO) => [
- q(0258),
- q(0),
- ],
- q(GP) => [
- q(0089),
- q(1),
- ],
- q(GQ) => [
- q(0090),
- q(1),
- ],
- q(GR) => [
- q(0086),
- q(1),
- ],
- q(GT) => [
- q(0091),
- q(1),
- ],
- q(GV) => [
- q(0093),
- q(1),
- ],
- q(GY) => [
- q(0095),
- q(1),
- ],
- q(GZ) => [
- q(0257),
- q(0),
- ],
- q(HA) => [
- q(0096),
- q(1),
- ],
- q(HK) => [
- q(0100),
- q(3),
- ],
- q(HM) => [
- q(0097),
- q(1),
- ],
- q(HO) => [
- q(0099),
- q(1),
- ],
- q(HQ) => [
- q(0259),
- q(0),
- ],
- q(HR) => [
- q(0056),
- q(1),
- ],
- q(HU) => [
- q(0101),
- q(1),
- ],
- q(IC) => [
- q(0102),
- q(1),
- ],
- q(ID) => [
- q(0104),
- q(1),
- ],
- q(IM) => [
- q(0108),
- q(0),
- ],
- q(IN) => [
- q(0103),
- q(1),
- ],
- q(IO) => [
- q(0033),
- q(0),
- ],
- q(IP) => [
- q(0254),
- q(0),
- ],
- q(IR) => [
- q(0105),
- q(3),
- ],
- q(IS) => [
- q(0109),
- q(1),
- ],
- q(IT) => [
- q(0110),
- q(1),
- ],
- q(IV) => [
- q(0055),
- q(1),
- ],
- q(IZ) => [
- q(0106),
- q(1),
- ],
- q(JA) => [
- q(0112),
- q(0),
- ],
- q(JE) => [
- q(0113),
- q(1),
- ],
- q(JM) => [
- q(0111),
- q(0),
- ],
- q(JN) => [
- q(0260),
- q(0),
- ],
- q(JO) => [
- q(0114),
- q(1),
- ],
- q(JQ) => [
- q(0262),
- q(0),
- ],
- q(JU) => [
- q(0263),
- q(0),
- ],
- q(KE) => [
- q(0116),
- q(1),
- ],
- q(KG) => [
- q(0121),
- q(1),
- ],
- q(KN) => [
- q(0118),
- q(2),
- ],
- q(KQ) => [
- q(0264),
- q(0),
- ],
- q(KR) => [
- q(0117),
- q(1),
- ],
- q(KS) => [
- q(0119),
- q(2),
- ],
- q(KT) => [
- q(0047),
- q(1),
- ],
- q(KU) => [
- q(0120),
- q(1),
- ],
- q(KV) => [
- q(0280),
- q(0),
- ],
- q(KZ) => [
- q(0115),
- q(1),
- ],
- q(LA) => [
- q(0122),
- q(1),
- ],
- q(LE) => [
- q(0124),
- q(1),
- ],
- q(LG) => [
- q(0123),
- q(1),
- ],
- q(LH) => [
- q(0129),
- q(1),
- ],
- q(LI) => [
- q(0126),
- q(1),
- ],
- q(LO) => [
- q(0202),
- q(1),
- ],
- q(LQ) => [
- q(0268),
- q(0),
- ],
- q(LS) => [
- q(0128),
- q(1),
- ],
- q(LT) => [
- q(0125),
- q(1),
- ],
- q(LU) => [
- q(0130),
- q(1),
- ],
- q(LY) => [
- q(0127),
- q(2),
- ],
- q(MA) => [
- q(0133),
- q(1),
- ],
- q(MB) => [
- q(0140),
- q(1),
- ],
- q(MC) => [
- q(0131),
- q(3),
- ],
- q(MD) => [
- q(0146),
- q(2),
- ],
- q(MF) => [
- q(0143),
- q(1),
- ],
- q(MG) => [
- q(0148),
- q(0),
- ],
- q(MH) => [
- q(0150),
- q(0),
- ],
- q(MI) => [
- q(0134),
- q(1),
- ],
- q(MJ) => [
- q(0149),
- q(0),
- ],
- q(MK) => [
- q(0132),
- q(3),
- ],
- q(ML) => [
- q(0137),
- q(1),
- ],
- q(MN) => [
- q(0147),
- q(1),
- ],
- q(MO) => [
- q(0151),
- q(1),
- ],
- q(MP) => [
- q(0142),
- q(1),
- ],
- q(MQ) => [
- q(0265),
- q(0),
- ],
- q(MR) => [
- q(0141),
- q(1),
- ],
- q(MT) => [
- q(0138),
- q(1),
- ],
- q(MU) => [
- q(0167),
- q(1),
- ],
- q(MV) => [
- q(0136),
- q(1),
- ],
- q(MX) => [
- q(0144),
- q(1),
- ],
- q(MY) => [
- q(0135),
- q(0),
- ],
- q(MZ) => [
- q(0152),
- q(1),
- ],
- q(NC) => [
- q(0158),
- q(1),
- ],
- q(NE) => [
- q(0163),
- q(0),
- ],
- q(NF) => [
- q(0164),
- q(1),
- ],
- q(NG) => [
- q(0161),
- q(1),
- ],
- q(NH) => [
- q(0239),
- q(1),
- ],
- q(NI) => [
- q(0162),
- q(1),
- ],
- q(NL) => [
- q(0157),
- q(1),
- ],
- q(NO) => [
- q(0166),
- q(1),
- ],
- q(NP) => [
- q(0156),
- q(1),
- ],
- q(NR) => [
- q(0155),
- q(1),
- ],
- q(NS) => [
- q(0211),
- q(1),
- ],
- q(NT) => [
- q(0267),
- q(0),
- ],
- q(NU) => [
- q(0160),
- q(1),
- ],
- q(NZ) => [
- q(0159),
- q(0),
- ],
- q(PA) => [
- q(0173),
- q(1),
- ],
- q(PC) => [
- q(0176),
- q(2),
- ],
- q(PE) => [
- q(0174),
- q(1),
- ],
- q(PF) => [
- q(0269),
- q(0),
- ],
- q(PG) => [
- q(0270),
- q(0),
- ],
- q(PK) => [
- q(0168),
- q(1),
- ],
- q(PL) => [
- q(0177),
- q(1),
- ],
- q(PM) => [
- q(0171),
- q(1),
- ],
- q(PO) => [
- q(0178),
- q(1),
- ],
- q(PP) => [
- q(0172),
- q(1),
- ],
- q(PS) => [
- q(0169),
- q(1),
- ],
- q(PU) => [
- q(0094),
- q(1),
- ],
- q(QA) => [
- q(0180),
- q(1),
- ],
- q(RE) => [
- q(0181),
- q(1),
- ],
- q(RI) => [
- q(0197),
- q(0),
- ],
- q(RM) => [
- q(0139),
- q(1),
- ],
- q(RN) => [
- q(0189),
- q(2),
- ],
- q(RO) => [
- q(0182),
- q(0),
- ],
- q(RP) => [
- q(0175),
- q(1),
- ],
- q(RQ) => [
- q(0179),
- q(1),
- ],
- q(RS) => [
- q(0183),
- q(1),
- ],
- q(RW) => [
- q(0184),
- q(1),
- ],
- q(SA) => [
- q(0195),
- q(1),
- ],
- q(SB) => [
- q(0190),
- q(1),
- ],
- q(SC) => [
- q(0187),
- q(1),
- ],
- q(SE) => [
- q(0198),
- q(1),
- ],
- q(SF) => [
- q(0206),
- q(1),
- ],
- q(SG) => [
- q(0196),
- q(1),
- ],
- q(SH) => [
- q(0186),
- q(1),
- ],
- q(SI) => [
- q(0203),
- q(1),
- ],
- q(SL) => [
- q(0199),
- q(1),
- ],
- q(SM) => [
- q(0193),
- q(1),
- ],
- q(SN) => [
- q(0200),
- q(1),
- ],
- q(SO) => [
- q(0205),
- q(0),
- ],
- q(SP) => [
- q(0208),
- q(1),
- ],
- q(ST) => [
- q(0188),
- q(0),
- ],
- q(SU) => [
- q(0210),
- q(1),
- ],
- q(SV) => [
- q(0271),
- q(0),
- ],
- q(SW) => [
- q(0214),
- q(1),
- ],
- q(SX) => [
- q(0207),
- q(0),
- ],
- q(SY) => [
- q(0216),
- q(1),
- ],
- q(SZ) => [
- q(0215),
- q(1),
- ],
- q(TB) => [
- q(0185),
- q(0),
- ],
- q(TD) => [
- q(0225),
- q(1),
- ],
- q(TE) => [
- q(0272),
- q(0),
- ],
- q(TH) => [
- q(0220),
- q(1),
- ],
- q(TI) => [
- q(0218),
- q(1),
- ],
- q(TK) => [
- q(0229),
- q(0),
- ],
- q(TL) => [
- q(0223),
- q(0),
- ],
- q(TN) => [
- q(0224),
- q(1),
- ],
- q(TO) => [
- q(0222),
- q(1),
- ],
- q(TP) => [
- q(0194),
- q(1),
- ],
- q(TS) => [
- q(0226),
- q(1),
- ],
- q(TT) => [
- q(0221),
- q(1),
- ],
- q(TU) => [
- q(0227),
- q(1),
- ],
- q(TV) => [
- q(0230),
- q(0),
- ],
- q(TW) => [
- q(0217),
- q(1),
- ],
- q(TX) => [
- q(0228),
- q(0),
- ],
- q(TZ) => [
- q(0219),
- q(2),
- ],
- q(UC) => [
- q(0058),
- q(0),
- ],
- q(UG) => [
- q(0231),
- q(0),
- ],
- q(UK) => [
- q(0234),
- q(0),
- ],
- q(UP) => [
- q(0232),
- q(0),
- ],
- q(US) => [
- q(0235),
- q(0),
- ],
- q(UV) => [
- q(0036),
- q(0),
- ],
- q(UY) => [
- q(0237),
- q(1),
- ],
- q(UZ) => [
- q(0238),
- q(1),
- ],
- q(VC) => [
- q(0191),
- q(0),
- ],
- q(VE) => [
- q(0240),
- q(3),
- ],
- q(VI) => [
- q(0242),
- q(1),
- ],
- q(VM) => [
- q(0241),
- q(2),
- ],
- q(VQ) => [
- q(0243),
- q(3),
- ],
- q(VT) => [
- q(0098),
- q(3),
- ],
- q(WA) => [
- q(0154),
- q(1),
- ],
- q(WE) => [
- q(0274),
- q(0),
- ],
- q(WF) => [
- q(0244),
- q(2),
- ],
- q(WI) => [
- q(0245),
- q(0),
- ],
- q(WQ) => [
- q(0273),
- q(0),
- ],
- q(WS) => [
- q(0192),
- q(1),
- ],
- q(WZ) => [
- q(0213),
- q(1),
- ],
- q(YI) => [
- q(0250),
- q(0),
- ],
- q(YM) => [
- q(0246),
- q(1),
- ],
- q(ZA) => [
- q(0247),
- q(1),
- ],
- q(ZI) => [
- q(0248),
- q(1),
- ],
- },
- q(num) => {
- q(004) => [
- q(0001),
- q(0),
- ],
- q(008) => [
- q(0003),
- q(0),
- ],
- q(010) => [
- q(0009),
- q(0),
- ],
- q(012) => [
- q(0004),
- q(0),
- ],
- q(016) => [
- q(0005),
- q(0),
- ],
- q(020) => [
- q(0006),
- q(0),
- ],
- q(024) => [
- q(0007),
- q(0),
- ],
- q(028) => [
- q(0010),
- q(0),
- ],
- q(031) => [
- q(0016),
- q(0),
- ],
- q(032) => [
- q(0011),
- q(0),
- ],
- q(036) => [
- q(0014),
- q(0),
- ],
- q(040) => [
- q(0015),
- q(0),
- ],
- q(044) => [
- q(0017),
- q(0),
- ],
- q(048) => [
- q(0018),
- q(0),
- ],
- q(050) => [
- q(0019),
- q(0),
- ],
- q(051) => [
- q(0012),
- q(0),
- ],
- q(052) => [
- q(0020),
- q(0),
- ],
- q(056) => [
- q(0022),
- q(0),
- ],
- q(060) => [
- q(0025),
- q(0),
- ],
- q(064) => [
- q(0026),
- q(0),
- ],
- q(068) => [
- q(0027),
- q(1),
- ],
- q(070) => [
- q(0029),
- q(0),
- ],
- q(072) => [
- q(0030),
- q(0),
- ],
- q(074) => [
- q(0031),
- q(0),
- ],
- q(076) => [
- q(0032),
- q(0),
- ],
- q(084) => [
- q(0023),
- q(0),
- ],
- q(086) => [
- q(0033),
- q(0),
- ],
- q(090) => [
- q(0204),
- q(0),
- ],
- q(092) => [
- q(0242),
- q(1),
- ],
- q(096) => [
- q(0034),
- q(0),
- ],
- q(100) => [
- q(0035),
- q(0),
- ],
- q(104) => [
- q(0153),
- q(0),
- ],
- q(108) => [
- q(0037),
- q(0),
- ],
- q(112) => [
- q(0021),
- q(0),
- ],
- q(116) => [
- q(0038),
- q(0),
- ],
- q(120) => [
- q(0039),
- q(0),
- ],
- q(124) => [
- q(0040),
- q(0),
- ],
- q(132) => [
- q(0041),
- q(0),
- ],
- q(136) => [
- q(0042),
- q(0),
- ],
- q(140) => [
- q(0043),
- q(0),
- ],
- q(144) => [
- q(0209),
- q(0),
- ],
- q(148) => [
- q(0044),
- q(0),
- ],
- q(152) => [
- q(0045),
- q(0),
- ],
- q(156) => [
- q(0046),
- q(0),
- ],
- q(158) => [
- q(0217),
- q(1),
- ],
- q(162) => [
- q(0047),
- q(0),
- ],
- q(166) => [
- q(0048),
- q(0),
- ],
- q(170) => [
- q(0049),
- q(0),
- ],
- q(174) => [
- q(0050),
- q(0),
- ],
- q(175) => [
- q(0143),
- q(0),
- ],
- q(178) => [
- q(0051),
- q(0),
- ],
- q(180) => [
- q(0052),
- q(1),
- ],
- q(184) => [
- q(0053),
- q(0),
- ],
- q(188) => [
- q(0054),
- q(0),
- ],
- q(191) => [
- q(0056),
- q(0),
- ],
- q(192) => [
- q(0057),
- q(0),
- ],
- q(196) => [
- q(0059),
- q(0),
- ],
- q(203) => [
- q(0060),
- q(0),
- ],
- q(204) => [
- q(0024),
- q(0),
- ],
- q(208) => [
- q(0061),
- q(0),
- ],
- q(212) => [
- q(0063),
- q(0),
- ],
- q(214) => [
- q(0064),
- q(0),
- ],
- q(218) => [
- q(0065),
- q(0),
- ],
- q(222) => [
- q(0067),
- q(0),
- ],
- q(226) => [
- q(0068),
- q(0),
- ],
- q(231) => [
- q(0071),
- q(0),
- ],
- q(232) => [
- q(0069),
- q(0),
- ],
- q(233) => [
- q(0070),
- q(0),
- ],
- q(234) => [
- q(0073),
- q(1),
- ],
- q(238) => [
- q(0072),
- q(0),
- ],
- q(242) => [
- q(0074),
- q(0),
- ],
- q(246) => [
- q(0075),
- q(0),
- ],
- q(248) => [
- q(0002),
- q(0),
- ],
- q(249) => [
- q(0279),
- q(0),
- ],
- q(250) => [
- q(0076),
- q(0),
- ],
- q(254) => [
- q(0077),
- q(0),
- ],
- q(258) => [
- q(0078),
- q(0),
- ],
- q(260) => [
- q(0079),
- q(1),
- ],
- q(262) => [
- q(0062),
- q(0),
- ],
- q(266) => [
- q(0080),
- q(0),
- ],
- q(268) => [
- q(0082),
- q(0),
- ],
- q(270) => [
- q(0081),
- q(0),
- ],
- q(275) => [
- q(0170),
- q(1),
- ],
- q(276) => [
- q(0083),
- q(0),
- ],
- q(288) => [
- q(0084),
- q(0),
- ],
- q(292) => [
- q(0085),
- q(0),
- ],
- q(296) => [
- q(0117),
- q(0),
- ],
- q(300) => [
- q(0086),
- q(0),
- ],
- q(304) => [
- q(0087),
- q(0),
- ],
- q(308) => [
- q(0088),
- q(0),
- ],
- q(312) => [
- q(0089),
- q(0),
- ],
- q(316) => [
- q(0090),
- q(0),
- ],
- q(320) => [
- q(0091),
- q(0),
- ],
- q(324) => [
- q(0093),
- q(0),
- ],
- q(328) => [
- q(0095),
- q(0),
- ],
- q(332) => [
- q(0096),
- q(0),
- ],
- q(334) => [
- q(0097),
- q(0),
- ],
- q(336) => [
- q(0098),
- q(1),
- ],
- q(340) => [
- q(0099),
- q(0),
- ],
- q(344) => [
- q(0100),
- q(1),
- ],
- q(348) => [
- q(0101),
- q(0),
- ],
- q(352) => [
- q(0102),
- q(0),
- ],
- q(356) => [
- q(0103),
- q(0),
- ],
- q(360) => [
- q(0104),
- q(0),
- ],
- q(364) => [
- q(0105),
- q(1),
- ],
- q(368) => [
- q(0106),
- q(0),
- ],
- q(372) => [
- q(0107),
- q(0),
- ],
- q(376) => [
- q(0109),
- q(0),
- ],
- q(380) => [
- q(0110),
- q(0),
- ],
- q(384) => [
- q(0055),
- q(0),
- ],
- q(388) => [
- q(0111),
- q(0),
- ],
- q(392) => [
- q(0112),
- q(0),
- ],
- q(398) => [
- q(0115),
- q(0),
- ],
- q(400) => [
- q(0114),
- q(0),
- ],
- q(404) => [
- q(0116),
- q(0),
- ],
- q(408) => [
- q(0118),
- q(1),
- ],
- q(410) => [
- q(0119),
- q(1),
- ],
- q(414) => [
- q(0120),
- q(0),
- ],
- q(417) => [
- q(0121),
- q(0),
- ],
- q(418) => [
- q(0122),
- q(0),
- ],
- q(422) => [
- q(0124),
- q(0),
- ],
- q(426) => [
- q(0125),
- q(0),
- ],
- q(428) => [
- q(0123),
- q(0),
- ],
- q(430) => [
- q(0126),
- q(0),
- ],
- q(434) => [
- q(0127),
- q(0),
- ],
- q(438) => [
- q(0128),
- q(0),
- ],
- q(440) => [
- q(0129),
- q(0),
- ],
- q(442) => [
- q(0130),
- q(0),
- ],
- q(446) => [
- q(0131),
- q(1),
- ],
- q(450) => [
- q(0133),
- q(0),
- ],
- q(454) => [
- q(0134),
- q(0),
- ],
- q(458) => [
- q(0135),
- q(0),
- ],
- q(462) => [
- q(0136),
- q(0),
- ],
- q(466) => [
- q(0137),
- q(0),
- ],
- q(470) => [
- q(0138),
- q(0),
- ],
- q(474) => [
- q(0140),
- q(0),
- ],
- q(478) => [
- q(0141),
- q(0),
- ],
- q(480) => [
- q(0142),
- q(0),
- ],
- q(484) => [
- q(0144),
- q(0),
- ],
- q(492) => [
- q(0147),
- q(0),
- ],
- q(496) => [
- q(0148),
- q(0),
- ],
- q(498) => [
- q(0146),
- q(1),
- ],
- q(499) => [
- q(0149),
- q(0),
- ],
- q(500) => [
- q(0150),
- q(0),
- ],
- q(504) => [
- q(0151),
- q(0),
- ],
- q(508) => [
- q(0152),
- q(0),
- ],
- q(512) => [
- q(0167),
- q(0),
- ],
- q(516) => [
- q(0154),
- q(0),
- ],
- q(520) => [
- q(0155),
- q(0),
- ],
- q(524) => [
- q(0156),
- q(0),
- ],
- q(528) => [
- q(0157),
- q(0),
- ],
- q(530) => [
- q(0267),
- q(0),
- ],
- q(531) => [
- q(0058),
- q(0),
- ],
- q(533) => [
- q(0013),
- q(0),
- ],
- q(534) => [
- q(0201),
- q(0),
- ],
- q(535) => [
- q(0028),
- q(0),
- ],
- q(540) => [
- q(0158),
- q(0),
- ],
- q(548) => [
- q(0239),
- q(0),
- ],
- q(554) => [
- q(0159),
- q(0),
- ],
- q(558) => [
- q(0160),
- q(0),
- ],
- q(562) => [
- q(0161),
- q(0),
- ],
- q(566) => [
- q(0162),
- q(0),
- ],
- q(570) => [
- q(0163),
- q(0),
- ],
- q(574) => [
- q(0164),
- q(0),
- ],
- q(578) => [
- q(0166),
- q(0),
- ],
- q(580) => [
- q(0165),
- q(0),
- ],
- q(581) => [
- q(0236),
- q(0),
- ],
- q(583) => [
- q(0145),
- q(1),
- ],
- q(584) => [
- q(0139),
- q(0),
- ],
- q(585) => [
- q(0169),
- q(0),
- ],
- q(586) => [
- q(0168),
- q(0),
- ],
- q(591) => [
- q(0171),
- q(0),
- ],
- q(598) => [
- q(0172),
- q(0),
- ],
- q(600) => [
- q(0173),
- q(0),
- ],
- q(604) => [
- q(0174),
- q(0),
- ],
- q(608) => [
- q(0175),
- q(0),
- ],
- q(612) => [
- q(0176),
- q(0),
- ],
- q(616) => [
- q(0177),
- q(0),
- ],
- q(620) => [
- q(0178),
- q(0),
- ],
- q(624) => [
- q(0094),
- q(0),
- ],
- q(626) => [
- q(0221),
- q(0),
- ],
- q(630) => [
- q(0179),
- q(0),
- ],
- q(634) => [
- q(0180),
- q(0),
- ],
- q(638) => [
- q(0181),
- q(0),
- ],
- q(642) => [
- q(0182),
- q(0),
- ],
- q(643) => [
- q(0183),
- q(0),
- ],
- q(646) => [
- q(0184),
- q(0),
- ],
- q(652) => [
- q(0185),
- q(1),
- ],
- q(654) => [
- q(0186),
- q(1),
- ],
- q(659) => [
- q(0187),
- q(0),
- ],
- q(660) => [
- q(0008),
- q(0),
- ],
- q(662) => [
- q(0188),
- q(0),
- ],
- q(663) => [
- q(0189),
- q(1),
- ],
- q(666) => [
- q(0190),
- q(0),
- ],
- q(670) => [
- q(0191),
- q(0),
- ],
- q(674) => [
- q(0193),
- q(0),
- ],
- q(678) => [
- q(0194),
- q(0),
- ],
- q(682) => [
- q(0195),
- q(0),
- ],
- q(686) => [
- q(0196),
- q(0),
- ],
- q(688) => [
- q(0197),
- q(0),
- ],
- q(690) => [
- q(0198),
- q(0),
- ],
- q(694) => [
- q(0199),
- q(0),
- ],
- q(702) => [
- q(0200),
- q(0),
- ],
- q(703) => [
- q(0202),
- q(0),
- ],
- q(704) => [
- q(0241),
- q(0),
- ],
- q(705) => [
- q(0203),
- q(0),
- ],
- q(706) => [
- q(0205),
- q(0),
- ],
- q(710) => [
- q(0206),
- q(0),
- ],
- q(716) => [
- q(0248),
- q(0),
- ],
- q(724) => [
- q(0208),
- q(0),
- ],
- q(732) => [
- q(0245),
- q(0),
- ],
- q(736) => [
- q(0210),
- q(0),
- ],
- q(740) => [
- q(0211),
- q(0),
- ],
- q(744) => [
- q(0212),
- q(1),
- ],
- q(748) => [
- q(0213),
- q(0),
- ],
- q(752) => [
- q(0214),
- q(0),
- ],
- q(756) => [
- q(0215),
- q(0),
- ],
- q(760) => [
- q(0216),
- q(0),
- ],
- q(762) => [
- q(0218),
- q(0),
- ],
- q(764) => [
- q(0220),
- q(0),
- ],
- q(768) => [
- q(0222),
- q(0),
- ],
- q(772) => [
- q(0223),
- q(0),
- ],
- q(776) => [
- q(0224),
- q(0),
- ],
- q(780) => [
- q(0225),
- q(0),
- ],
- q(784) => [
- q(0233),
- q(0),
- ],
- q(788) => [
- q(0226),
- q(0),
- ],
- q(792) => [
- q(0227),
- q(0),
- ],
- q(795) => [
- q(0228),
- q(0),
- ],
- q(796) => [
- q(0229),
- q(0),
- ],
- q(798) => [
- q(0230),
- q(0),
- ],
- q(800) => [
- q(0231),
- q(0),
- ],
- q(804) => [
- q(0232),
- q(0),
- ],
- q(807) => [
- q(0132),
- q(1),
- ],
- q(818) => [
- q(0066),
- q(0),
- ],
- q(826) => [
- q(0234),
- q(1),
- ],
- q(830) => [
- q(0249),
- q(0),
- ],
- q(831) => [
- q(0092),
- q(0),
- ],
- q(832) => [
- q(0113),
- q(0),
- ],
- q(833) => [
- q(0108),
- q(0),
- ],
- q(834) => [
- q(0219),
- q(1),
- ],
- q(840) => [
- q(0235),
- q(1),
- ],
- q(850) => [
- q(0243),
- q(1),
- ],
- q(854) => [
- q(0036),
- q(0),
- ],
- q(858) => [
- q(0237),
- q(0),
- ],
- q(860) => [
- q(0238),
- q(0),
- ],
- q(862) => [
- q(0240),
- q(1),
- ],
- q(876) => [
- q(0244),
- q(1),
- ],
- q(882) => [
- q(0192),
- q(0),
- ],
- q(887) => [
- q(0246),
- q(0),
- ],
- q(894) => [
- q(0247),
- q(0),
- ],
- },
-};
-
-$Locale::Codes::Data{'country'}{'id2code'} = {
- q(alpha2) => {
- q(0001) => q(af),
- q(0002) => q(ax),
- q(0003) => q(al),
- q(0004) => q(dz),
- q(0005) => q(as),
- q(0006) => q(ad),
- q(0007) => q(ao),
- q(0008) => q(ai),
- q(0009) => q(aq),
- q(0010) => q(ag),
- q(0011) => q(ar),
- q(0012) => q(am),
- q(0013) => q(aw),
- q(0014) => q(au),
- q(0015) => q(at),
- q(0016) => q(az),
- q(0017) => q(bs),
- q(0018) => q(bh),
- q(0019) => q(bd),
- q(0020) => q(bb),
- q(0021) => q(by),
- q(0022) => q(be),
- q(0023) => q(bz),
- q(0024) => q(bj),
- q(0025) => q(bm),
- q(0026) => q(bt),
- q(0027) => q(bo),
- q(0028) => q(bq),
- q(0029) => q(ba),
- q(0030) => q(bw),
- q(0031) => q(bv),
- q(0032) => q(br),
- q(0033) => q(io),
- q(0034) => q(bn),
- q(0035) => q(bg),
- q(0036) => q(bf),
- q(0037) => q(bi),
- q(0038) => q(kh),
- q(0039) => q(cm),
- q(0040) => q(ca),
- q(0041) => q(cv),
- q(0042) => q(ky),
- q(0043) => q(cf),
- q(0044) => q(td),
- q(0045) => q(cl),
- q(0046) => q(cn),
- q(0047) => q(cx),
- q(0048) => q(cc),
- q(0049) => q(co),
- q(0050) => q(km),
- q(0051) => q(cg),
- q(0052) => q(cd),
- q(0053) => q(ck),
- q(0054) => q(cr),
- q(0055) => q(ci),
- q(0056) => q(hr),
- q(0057) => q(cu),
- q(0058) => q(cw),
- q(0059) => q(cy),
- q(0060) => q(cz),
- q(0061) => q(dk),
- q(0062) => q(dj),
- q(0063) => q(dm),
- q(0064) => q(do),
- q(0065) => q(ec),
- q(0066) => q(eg),
- q(0067) => q(sv),
- q(0068) => q(gq),
- q(0069) => q(er),
- q(0070) => q(ee),
- q(0071) => q(et),
- q(0072) => q(fk),
- q(0073) => q(fo),
- q(0074) => q(fj),
- q(0075) => q(fi),
- q(0076) => q(fr),
- q(0077) => q(gf),
- q(0078) => q(pf),
- q(0079) => q(tf),
- q(0080) => q(ga),
- q(0081) => q(gm),
- q(0082) => q(ge),
- q(0083) => q(de),
- q(0084) => q(gh),
- q(0085) => q(gi),
- q(0086) => q(gr),
- q(0087) => q(gl),
- q(0088) => q(gd),
- q(0089) => q(gp),
- q(0090) => q(gu),
- q(0091) => q(gt),
- q(0092) => q(gg),
- q(0093) => q(gn),
- q(0094) => q(gw),
- q(0095) => q(gy),
- q(0096) => q(ht),
- q(0097) => q(hm),
- q(0098) => q(va),
- q(0099) => q(hn),
- q(0100) => q(hk),
- q(0101) => q(hu),
- q(0102) => q(is),
- q(0103) => q(in),
- q(0104) => q(id),
- q(0105) => q(ir),
- q(0106) => q(iq),
- q(0107) => q(ie),
- q(0108) => q(im),
- q(0109) => q(il),
- q(0110) => q(it),
- q(0111) => q(jm),
- q(0112) => q(jp),
- q(0113) => q(je),
- q(0114) => q(jo),
- q(0115) => q(kz),
- q(0116) => q(ke),
- q(0117) => q(ki),
- q(0118) => q(kp),
- q(0119) => q(kr),
- q(0120) => q(kw),
- q(0121) => q(kg),
- q(0122) => q(la),
- q(0123) => q(lv),
- q(0124) => q(lb),
- q(0125) => q(ls),
- q(0126) => q(lr),
- q(0127) => q(ly),
- q(0128) => q(li),
- q(0129) => q(lt),
- q(0130) => q(lu),
- q(0131) => q(mo),
- q(0132) => q(mk),
- q(0133) => q(mg),
- q(0134) => q(mw),
- q(0135) => q(my),
- q(0136) => q(mv),
- q(0137) => q(ml),
- q(0138) => q(mt),
- q(0139) => q(mh),
- q(0140) => q(mq),
- q(0141) => q(mr),
- q(0142) => q(mu),
- q(0143) => q(yt),
- q(0144) => q(mx),
- q(0145) => q(fm),
- q(0146) => q(md),
- q(0147) => q(mc),
- q(0148) => q(mn),
- q(0149) => q(me),
- q(0150) => q(ms),
- q(0151) => q(ma),
- q(0152) => q(mz),
- q(0153) => q(mm),
- q(0154) => q(na),
- q(0155) => q(nr),
- q(0156) => q(np),
- q(0157) => q(nl),
- q(0158) => q(nc),
- q(0159) => q(nz),
- q(0160) => q(ni),
- q(0161) => q(ne),
- q(0162) => q(ng),
- q(0163) => q(nu),
- q(0164) => q(nf),
- q(0165) => q(mp),
- q(0166) => q(no),
- q(0167) => q(om),
- q(0168) => q(pk),
- q(0169) => q(pw),
- q(0170) => q(ps),
- q(0171) => q(pa),
- q(0172) => q(pg),
- q(0173) => q(py),
- q(0174) => q(pe),
- q(0175) => q(ph),
- q(0176) => q(pn),
- q(0177) => q(pl),
- q(0178) => q(pt),
- q(0179) => q(pr),
- q(0180) => q(qa),
- q(0181) => q(re),
- q(0182) => q(ro),
- q(0183) => q(ru),
- q(0184) => q(rw),
- q(0185) => q(bl),
- q(0186) => q(sh),
- q(0187) => q(kn),
- q(0188) => q(lc),
- q(0189) => q(mf),
- q(0190) => q(pm),
- q(0191) => q(vc),
- q(0192) => q(ws),
- q(0193) => q(sm),
- q(0194) => q(st),
- q(0195) => q(sa),
- q(0196) => q(sn),
- q(0197) => q(rs),
- q(0198) => q(sc),
- q(0199) => q(sl),
- q(0200) => q(sg),
- q(0201) => q(sx),
- q(0202) => q(sk),
- q(0203) => q(si),
- q(0204) => q(sb),
- q(0205) => q(so),
- q(0206) => q(za),
- q(0207) => q(gs),
- q(0208) => q(es),
- q(0209) => q(lk),
- q(0210) => q(sd),
- q(0211) => q(sr),
- q(0212) => q(sj),
- q(0213) => q(sz),
- q(0214) => q(se),
- q(0215) => q(ch),
- q(0216) => q(sy),
- q(0217) => q(tw),
- q(0218) => q(tj),
- q(0219) => q(tz),
- q(0220) => q(th),
- q(0221) => q(tl),
- q(0222) => q(tg),
- q(0223) => q(tk),
- q(0224) => q(to),
- q(0225) => q(tt),
- q(0226) => q(tn),
- q(0227) => q(tr),
- q(0228) => q(tm),
- q(0229) => q(tc),
- q(0230) => q(tv),
- q(0231) => q(ug),
- q(0232) => q(ua),
- q(0233) => q(ae),
- q(0234) => q(gb),
- q(0235) => q(us),
- q(0236) => q(um),
- q(0237) => q(uy),
- q(0238) => q(uz),
- q(0239) => q(vu),
- q(0240) => q(ve),
- q(0241) => q(vn),
- q(0242) => q(vg),
- q(0243) => q(vi),
- q(0244) => q(wf),
- q(0245) => q(eh),
- q(0246) => q(ye),
- q(0247) => q(zm),
- q(0248) => q(zw),
- q(0267) => q(an),
- q(0279) => q(fx),
- },
- q(alpha3) => {
- q(0001) => q(afg),
- q(0002) => q(ala),
- q(0003) => q(alb),
- q(0004) => q(dza),
- q(0005) => q(asm),
- q(0006) => q(and),
- q(0007) => q(ago),
- q(0008) => q(aia),
- q(0009) => q(ata),
- q(0010) => q(atg),
- q(0011) => q(arg),
- q(0012) => q(arm),
- q(0013) => q(abw),
- q(0014) => q(aus),
- q(0015) => q(aut),
- q(0016) => q(aze),
- q(0017) => q(bhs),
- q(0018) => q(bhr),
- q(0019) => q(bgd),
- q(0020) => q(brb),
- q(0021) => q(blr),
- q(0022) => q(bel),
- q(0023) => q(blz),
- q(0024) => q(ben),
- q(0025) => q(bmu),
- q(0026) => q(btn),
- q(0027) => q(bol),
- q(0028) => q(bes),
- q(0029) => q(bih),
- q(0030) => q(bwa),
- q(0031) => q(bvt),
- q(0032) => q(bra),
- q(0033) => q(iot),
- q(0034) => q(brn),
- q(0035) => q(bgr),
- q(0036) => q(bfa),
- q(0037) => q(bdi),
- q(0038) => q(khm),
- q(0039) => q(cmr),
- q(0040) => q(can),
- q(0041) => q(cpv),
- q(0042) => q(cym),
- q(0043) => q(caf),
- q(0044) => q(tcd),
- q(0045) => q(chl),
- q(0046) => q(chn),
- q(0047) => q(cxr),
- q(0048) => q(cck),
- q(0049) => q(col),
- q(0050) => q(com),
- q(0051) => q(cog),
- q(0052) => q(cod),
- q(0053) => q(cok),
- q(0054) => q(cri),
- q(0055) => q(civ),
- q(0056) => q(hrv),
- q(0057) => q(cub),
- q(0058) => q(cuw),
- q(0059) => q(cyp),
- q(0060) => q(cze),
- q(0061) => q(dnk),
- q(0062) => q(dji),
- q(0063) => q(dma),
- q(0064) => q(dom),
- q(0065) => q(ecu),
- q(0066) => q(egy),
- q(0067) => q(slv),
- q(0068) => q(gnq),
- q(0069) => q(eri),
- q(0070) => q(est),
- q(0071) => q(eth),
- q(0072) => q(flk),
- q(0073) => q(fro),
- q(0074) => q(fji),
- q(0075) => q(fin),
- q(0076) => q(fra),
- q(0077) => q(guf),
- q(0078) => q(pyf),
- q(0079) => q(atf),
- q(0080) => q(gab),
- q(0081) => q(gmb),
- q(0082) => q(geo),
- q(0083) => q(deu),
- q(0084) => q(gha),
- q(0085) => q(gib),
- q(0086) => q(grc),
- q(0087) => q(grl),
- q(0088) => q(grd),
- q(0089) => q(glp),
- q(0090) => q(gum),
- q(0091) => q(gtm),
- q(0092) => q(ggy),
- q(0093) => q(gin),
- q(0094) => q(gnb),
- q(0095) => q(guy),
- q(0096) => q(hti),
- q(0097) => q(hmd),
- q(0098) => q(vat),
- q(0099) => q(hnd),
- q(0100) => q(hkg),
- q(0101) => q(hun),
- q(0102) => q(isl),
- q(0103) => q(ind),
- q(0104) => q(idn),
- q(0105) => q(irn),
- q(0106) => q(irq),
- q(0107) => q(irl),
- q(0108) => q(imn),
- q(0109) => q(isr),
- q(0110) => q(ita),
- q(0111) => q(jam),
- q(0112) => q(jpn),
- q(0113) => q(jey),
- q(0114) => q(jor),
- q(0115) => q(kaz),
- q(0116) => q(ken),
- q(0117) => q(kir),
- q(0118) => q(prk),
- q(0119) => q(kor),
- q(0120) => q(kwt),
- q(0121) => q(kgz),
- q(0122) => q(lao),
- q(0123) => q(lva),
- q(0124) => q(lbn),
- q(0125) => q(lso),
- q(0126) => q(lbr),
- q(0127) => q(lby),
- q(0128) => q(lie),
- q(0129) => q(ltu),
- q(0130) => q(lux),
- q(0131) => q(mac),
- q(0132) => q(mkd),
- q(0133) => q(mdg),
- q(0134) => q(mwi),
- q(0135) => q(mys),
- q(0136) => q(mdv),
- q(0137) => q(mli),
- q(0138) => q(mlt),
- q(0139) => q(mhl),
- q(0140) => q(mtq),
- q(0141) => q(mrt),
- q(0142) => q(mus),
- q(0143) => q(myt),
- q(0144) => q(mex),
- q(0145) => q(fsm),
- q(0146) => q(mda),
- q(0147) => q(mco),
- q(0148) => q(mng),
- q(0149) => q(mne),
- q(0150) => q(msr),
- q(0151) => q(mar),
- q(0152) => q(moz),
- q(0153) => q(mmr),
- q(0154) => q(nam),
- q(0155) => q(nru),
- q(0156) => q(npl),
- q(0157) => q(nld),
- q(0158) => q(ncl),
- q(0159) => q(nzl),
- q(0160) => q(nic),
- q(0161) => q(ner),
- q(0162) => q(nga),
- q(0163) => q(niu),
- q(0164) => q(nfk),
- q(0165) => q(mnp),
- q(0166) => q(nor),
- q(0167) => q(omn),
- q(0168) => q(pak),
- q(0169) => q(plw),
- q(0170) => q(pse),
- q(0171) => q(pan),
- q(0172) => q(png),
- q(0173) => q(pry),
- q(0174) => q(per),
- q(0175) => q(phl),
- q(0176) => q(pcn),
- q(0177) => q(pol),
- q(0178) => q(prt),
- q(0179) => q(pri),
- q(0180) => q(qat),
- q(0181) => q(reu),
- q(0182) => q(rou),
- q(0183) => q(rus),
- q(0184) => q(rwa),
- q(0185) => q(blm),
- q(0186) => q(shn),
- q(0187) => q(kna),
- q(0188) => q(lca),
- q(0189) => q(maf),
- q(0190) => q(spm),
- q(0191) => q(vct),
- q(0192) => q(wsm),
- q(0193) => q(smr),
- q(0194) => q(stp),
- q(0195) => q(sau),
- q(0196) => q(sen),
- q(0197) => q(srb),
- q(0198) => q(syc),
- q(0199) => q(sle),
- q(0200) => q(sgp),
- q(0201) => q(sxm),
- q(0202) => q(svk),
- q(0203) => q(svn),
- q(0204) => q(slb),
- q(0205) => q(som),
- q(0206) => q(zaf),
- q(0208) => q(esp),
- q(0209) => q(lka),
- q(0210) => q(sdn),
- q(0211) => q(sur),
- q(0212) => q(sjm),
- q(0213) => q(swz),
- q(0214) => q(swe),
- q(0215) => q(che),
- q(0216) => q(syr),
- q(0217) => q(twn),
- q(0218) => q(tjk),
- q(0219) => q(tza),
- q(0220) => q(tha),
- q(0221) => q(tls),
- q(0222) => q(tgo),
- q(0223) => q(tkl),
- q(0224) => q(ton),
- q(0225) => q(tto),
- q(0226) => q(tun),
- q(0227) => q(tur),
- q(0228) => q(tkm),
- q(0229) => q(tca),
- q(0230) => q(tuv),
- q(0231) => q(uga),
- q(0232) => q(ukr),
- q(0233) => q(are),
- q(0234) => q(gbr),
- q(0235) => q(usa),
- q(0236) => q(umi),
- q(0237) => q(ury),
- q(0238) => q(uzb),
- q(0239) => q(vut),
- q(0240) => q(ven),
- q(0241) => q(vnm),
- q(0242) => q(vgb),
- q(0243) => q(vir),
- q(0244) => q(wlf),
- q(0245) => q(esh),
- q(0246) => q(yem),
- q(0247) => q(zmb),
- q(0248) => q(zwe),
- q(0267) => q(ant),
- q(0279) => q(fxx),
- },
- q(dom) => {
- q(0001) => q(AF),
- q(0002) => q(AX),
- q(0003) => q(AL),
- q(0004) => q(DZ),
- q(0005) => q(AS),
- q(0006) => q(AD),
- q(0007) => q(AO),
- q(0008) => q(AI),
- q(0009) => q(AQ),
- q(0010) => q(AG),
- q(0011) => q(AR),
- q(0012) => q(AM),
- q(0013) => q(AW),
- q(0014) => q(AU),
- q(0015) => q(AT),
- q(0016) => q(AZ),
- q(0017) => q(BS),
- q(0018) => q(BH),
- q(0019) => q(BD),
- q(0020) => q(BB),
- q(0021) => q(BY),
- q(0022) => q(BE),
- q(0023) => q(BZ),
- q(0024) => q(BJ),
- q(0025) => q(BM),
- q(0026) => q(BT),
- q(0027) => q(BO),
- q(0028) => q(BQ),
- q(0029) => q(BA),
- q(0030) => q(BW),
- q(0031) => q(BV),
- q(0032) => q(BR),
- q(0033) => q(IO),
- q(0034) => q(BN),
- q(0035) => q(BG),
- q(0036) => q(BF),
- q(0037) => q(BI),
- q(0038) => q(KH),
- q(0039) => q(CM),
- q(0040) => q(CA),
- q(0041) => q(CV),
- q(0042) => q(KY),
- q(0043) => q(CF),
- q(0044) => q(TD),
- q(0045) => q(CL),
- q(0046) => q(CN),
- q(0047) => q(CX),
- q(0048) => q(CC),
- q(0049) => q(CO),
- q(0050) => q(KM),
- q(0051) => q(CG),
- q(0052) => q(CD),
- q(0053) => q(CK),
- q(0054) => q(CR),
- q(0055) => q(CI),
- q(0056) => q(HR),
- q(0057) => q(CU),
- q(0058) => q(CW),
- q(0059) => q(CY),
- q(0060) => q(CZ),
- q(0061) => q(DK),
- q(0062) => q(DJ),
- q(0063) => q(DM),
- q(0064) => q(DO),
- q(0065) => q(EC),
- q(0066) => q(EG),
- q(0067) => q(SV),
- q(0068) => q(GQ),
- q(0069) => q(ER),
- q(0070) => q(EE),
- q(0071) => q(ET),
- q(0072) => q(FK),
- q(0073) => q(FO),
- q(0074) => q(FJ),
- q(0075) => q(FI),
- q(0076) => q(FR),
- q(0077) => q(GF),
- q(0078) => q(PF),
- q(0079) => q(TF),
- q(0080) => q(GA),
- q(0081) => q(GM),
- q(0082) => q(GE),
- q(0083) => q(DE),
- q(0084) => q(GH),
- q(0085) => q(GI),
- q(0086) => q(GR),
- q(0087) => q(GL),
- q(0088) => q(GD),
- q(0089) => q(GP),
- q(0090) => q(GU),
- q(0091) => q(GT),
- q(0092) => q(GG),
- q(0093) => q(GN),
- q(0094) => q(GW),
- q(0095) => q(GY),
- q(0096) => q(HT),
- q(0097) => q(HM),
- q(0098) => q(VA),
- q(0099) => q(HN),
- q(0100) => q(HK),
- q(0101) => q(HU),
- q(0102) => q(IS),
- q(0103) => q(IN),
- q(0104) => q(ID),
- q(0105) => q(IR),
- q(0106) => q(IQ),
- q(0107) => q(IE),
- q(0108) => q(IM),
- q(0109) => q(IL),
- q(0110) => q(IT),
- q(0111) => q(JM),
- q(0112) => q(JP),
- q(0113) => q(JE),
- q(0114) => q(JO),
- q(0115) => q(KZ),
- q(0116) => q(KE),
- q(0117) => q(KI),
- q(0118) => q(KP),
- q(0119) => q(KR),
- q(0120) => q(KW),
- q(0121) => q(KG),
- q(0122) => q(LA),
- q(0123) => q(LV),
- q(0124) => q(LB),
- q(0125) => q(LS),
- q(0126) => q(LR),
- q(0127) => q(LY),
- q(0128) => q(LI),
- q(0129) => q(LT),
- q(0130) => q(LU),
- q(0131) => q(MO),
- q(0132) => q(MK),
- q(0133) => q(MG),
- q(0134) => q(MW),
- q(0135) => q(MY),
- q(0136) => q(MV),
- q(0137) => q(ML),
- q(0138) => q(MT),
- q(0139) => q(MH),
- q(0140) => q(MQ),
- q(0141) => q(MR),
- q(0142) => q(MU),
- q(0143) => q(YT),
- q(0144) => q(MX),
- q(0145) => q(FM),
- q(0146) => q(MD),
- q(0147) => q(MC),
- q(0148) => q(MN),
- q(0149) => q(ME),
- q(0150) => q(MS),
- q(0151) => q(MA),
- q(0152) => q(MZ),
- q(0153) => q(MM),
- q(0154) => q(NA),
- q(0155) => q(NR),
- q(0156) => q(NP),
- q(0157) => q(NL),
- q(0158) => q(NC),
- q(0159) => q(NZ),
- q(0160) => q(NI),
- q(0161) => q(NE),
- q(0162) => q(NG),
- q(0163) => q(NU),
- q(0164) => q(NF),
- q(0165) => q(MP),
- q(0166) => q(NO),
- q(0167) => q(OM),
- q(0168) => q(PK),
- q(0169) => q(PW),
- q(0170) => q(PS),
- q(0171) => q(PA),
- q(0172) => q(PG),
- q(0173) => q(PY),
- q(0174) => q(PE),
- q(0175) => q(PH),
- q(0176) => q(PN),
- q(0177) => q(PL),
- q(0178) => q(PT),
- q(0179) => q(PR),
- q(0180) => q(QA),
- q(0181) => q(RE),
- q(0182) => q(RO),
- q(0183) => q(RU),
- q(0184) => q(RW),
- q(0185) => q(BL),
- q(0186) => q(SH),
- q(0187) => q(KN),
- q(0188) => q(LC),
- q(0189) => q(MF),
- q(0190) => q(PM),
- q(0191) => q(VC),
- q(0192) => q(WS),
- q(0193) => q(SM),
- q(0194) => q(ST),
- q(0195) => q(SA),
- q(0196) => q(SN),
- q(0197) => q(RS),
- q(0198) => q(SC),
- q(0199) => q(SL),
- q(0200) => q(SG),
- q(0201) => q(SX),
- q(0202) => q(SK),
- q(0203) => q(SI),
- q(0204) => q(SB),
- q(0205) => q(SO),
- q(0206) => q(ZA),
- q(0207) => q(GS),
- q(0208) => q(ES),
- q(0209) => q(LK),
- q(0210) => q(SD),
- q(0211) => q(SR),
- q(0212) => q(SJ),
- q(0213) => q(SZ),
- q(0214) => q(SE),
- q(0215) => q(CH),
- q(0216) => q(SY),
- q(0217) => q(TW),
- q(0218) => q(TJ),
- q(0219) => q(TZ),
- q(0220) => q(TH),
- q(0221) => q(TL),
- q(0222) => q(TG),
- q(0223) => q(TK),
- q(0224) => q(TO),
- q(0225) => q(TT),
- q(0226) => q(TN),
- q(0227) => q(TR),
- q(0228) => q(TM),
- q(0229) => q(TC),
- q(0230) => q(TV),
- q(0231) => q(UG),
- q(0232) => q(UA),
- q(0233) => q(AE),
- q(0234) => q(UK),
- q(0235) => q(US),
- q(0236) => q(UM),
- q(0237) => q(UY),
- q(0238) => q(UZ),
- q(0239) => q(VU),
- q(0240) => q(VE),
- q(0241) => q(VN),
- q(0242) => q(VG),
- q(0243) => q(VI),
- q(0244) => q(WF),
- q(0245) => q(EH),
- q(0246) => q(YE),
- q(0247) => q(ZM),
- q(0248) => q(ZW),
- q(0267) => q(AN),
- q(0275) => q(AC),
- q(0276) => q(EU),
- q(0277) => q(SU),
- q(0278) => q(TP),
- q(0279) => q(FX),
- },
- q(fips) => {
- q(0001) => q(AF),
- q(0003) => q(AL),
- q(0004) => q(AG),
- q(0005) => q(AQ),
- q(0006) => q(AN),
- q(0007) => q(AO),
- q(0008) => q(AV),
- q(0009) => q(AY),
- q(0010) => q(AC),
- q(0011) => q(AR),
- q(0012) => q(AM),
- q(0013) => q(AA),
- q(0014) => q(AS),
- q(0015) => q(AU),
- q(0016) => q(AJ),
- q(0017) => q(BF),
- q(0018) => q(BA),
- q(0019) => q(BG),
- q(0020) => q(BB),
- q(0021) => q(BO),
- q(0022) => q(BE),
- q(0023) => q(BH),
- q(0024) => q(BN),
- q(0025) => q(BD),
- q(0026) => q(BT),
- q(0027) => q(BL),
- q(0029) => q(BK),
- q(0030) => q(BC),
- q(0031) => q(BV),
- q(0032) => q(BR),
- q(0033) => q(IO),
- q(0034) => q(BX),
- q(0035) => q(BU),
- q(0036) => q(UV),
- q(0037) => q(BY),
- q(0038) => q(CB),
- q(0039) => q(CM),
- q(0040) => q(CA),
- q(0041) => q(CV),
- q(0042) => q(CJ),
- q(0043) => q(CT),
- q(0044) => q(CD),
- q(0045) => q(CI),
- q(0046) => q(CH),
- q(0047) => q(KT),
- q(0048) => q(CK),
- q(0049) => q(CO),
- q(0050) => q(CN),
- q(0051) => q(CF),
- q(0052) => q(CG),
- q(0053) => q(CW),
- q(0054) => q(CS),
- q(0055) => q(IV),
- q(0056) => q(HR),
- q(0057) => q(CU),
- q(0058) => q(UC),
- q(0059) => q(CY),
- q(0060) => q(EZ),
- q(0061) => q(DA),
- q(0062) => q(DJ),
- q(0063) => q(DO),
- q(0064) => q(DR),
- q(0065) => q(EC),
- q(0066) => q(EG),
- q(0067) => q(ES),
- q(0068) => q(EK),
- q(0069) => q(ER),
- q(0070) => q(EN),
- q(0071) => q(ET),
- q(0072) => q(FK),
- q(0073) => q(FO),
- q(0074) => q(FJ),
- q(0075) => q(FI),
- q(0076) => q(FR),
- q(0077) => q(FG),
- q(0078) => q(FP),
- q(0079) => q(FS),
- q(0080) => q(GB),
- q(0081) => q(GA),
- q(0082) => q(GG),
- q(0083) => q(GM),
- q(0084) => q(GH),
- q(0085) => q(GI),
- q(0086) => q(GR),
- q(0087) => q(GL),
- q(0088) => q(GJ),
- q(0089) => q(GP),
- q(0090) => q(GQ),
- q(0091) => q(GT),
- q(0092) => q(GK),
- q(0093) => q(GV),
- q(0094) => q(PU),
- q(0095) => q(GY),
- q(0096) => q(HA),
- q(0097) => q(HM),
- q(0098) => q(VT),
- q(0099) => q(HO),
- q(0100) => q(HK),
- q(0101) => q(HU),
- q(0102) => q(IC),
- q(0103) => q(IN),
- q(0104) => q(ID),
- q(0105) => q(IR),
- q(0106) => q(IZ),
- q(0107) => q(EI),
- q(0108) => q(IM),
- q(0109) => q(IS),
- q(0110) => q(IT),
- q(0111) => q(JM),
- q(0112) => q(JA),
- q(0113) => q(JE),
- q(0114) => q(JO),
- q(0115) => q(KZ),
- q(0116) => q(KE),
- q(0117) => q(KR),
- q(0118) => q(KN),
- q(0119) => q(KS),
- q(0120) => q(KU),
- q(0121) => q(KG),
- q(0122) => q(LA),
- q(0123) => q(LG),
- q(0124) => q(LE),
- q(0125) => q(LT),
- q(0126) => q(LI),
- q(0127) => q(LY),
- q(0128) => q(LS),
- q(0129) => q(LH),
- q(0130) => q(LU),
- q(0131) => q(MC),
- q(0132) => q(MK),
- q(0133) => q(MA),
- q(0134) => q(MI),
- q(0135) => q(MY),
- q(0136) => q(MV),
- q(0137) => q(ML),
- q(0138) => q(MT),
- q(0139) => q(RM),
- q(0140) => q(MB),
- q(0141) => q(MR),
- q(0142) => q(MP),
- q(0143) => q(MF),
- q(0144) => q(MX),
- q(0145) => q(FM),
- q(0146) => q(MD),
- q(0147) => q(MN),
- q(0148) => q(MG),
- q(0149) => q(MJ),
- q(0150) => q(MH),
- q(0151) => q(MO),
- q(0152) => q(MZ),
- q(0153) => q(BM),
- q(0154) => q(WA),
- q(0155) => q(NR),
- q(0156) => q(NP),
- q(0157) => q(NL),
- q(0158) => q(NC),
- q(0159) => q(NZ),
- q(0160) => q(NU),
- q(0161) => q(NG),
- q(0162) => q(NI),
- q(0163) => q(NE),
- q(0164) => q(NF),
- q(0165) => q(CQ),
- q(0166) => q(NO),
- q(0167) => q(MU),
- q(0168) => q(PK),
- q(0169) => q(PS),
- q(0171) => q(PM),
- q(0172) => q(PP),
- q(0173) => q(PA),
- q(0174) => q(PE),
- q(0175) => q(RP),
- q(0176) => q(PC),
- q(0177) => q(PL),
- q(0178) => q(PO),
- q(0179) => q(RQ),
- q(0180) => q(QA),
- q(0181) => q(RE),
- q(0182) => q(RO),
- q(0183) => q(RS),
- q(0184) => q(RW),
- q(0185) => q(TB),
- q(0186) => q(SH),
- q(0187) => q(SC),
- q(0188) => q(ST),
- q(0189) => q(RN),
- q(0190) => q(SB),
- q(0191) => q(VC),
- q(0192) => q(WS),
- q(0193) => q(SM),
- q(0194) => q(TP),
- q(0195) => q(SA),
- q(0196) => q(SG),
- q(0197) => q(RI),
- q(0198) => q(SE),
- q(0199) => q(SL),
- q(0200) => q(SN),
- q(0202) => q(LO),
- q(0203) => q(SI),
- q(0204) => q(BP),
- q(0205) => q(SO),
- q(0206) => q(SF),
- q(0207) => q(SX),
- q(0208) => q(SP),
- q(0209) => q(CE),
- q(0210) => q(SU),
- q(0211) => q(NS),
- q(0213) => q(WZ),
- q(0214) => q(SW),
- q(0215) => q(SZ),
- q(0216) => q(SY),
- q(0217) => q(TW),
- q(0218) => q(TI),
- q(0219) => q(TZ),
- q(0220) => q(TH),
- q(0221) => q(TT),
- q(0222) => q(TO),
- q(0223) => q(TL),
- q(0224) => q(TN),
- q(0225) => q(TD),
- q(0226) => q(TS),
- q(0227) => q(TU),
- q(0228) => q(TX),
- q(0229) => q(TK),
- q(0230) => q(TV),
- q(0231) => q(UG),
- q(0232) => q(UP),
- q(0233) => q(AE),
- q(0234) => q(UK),
- q(0235) => q(US),
- q(0237) => q(UY),
- q(0238) => q(UZ),
- q(0239) => q(NH),
- q(0240) => q(VE),
- q(0241) => q(VM),
- q(0242) => q(VI),
- q(0243) => q(VQ),
- q(0244) => q(WF),
- q(0245) => q(WI),
- q(0246) => q(YM),
- q(0247) => q(ZA),
- q(0248) => q(ZI),
- q(0250) => q(YI),
- q(0251) => q(AT),
- q(0252) => q(FQ),
- q(0253) => q(BS),
- q(0254) => q(IP),
- q(0255) => q(CR),
- q(0256) => q(EU),
- q(0257) => q(GZ),
- q(0258) => q(GO),
- q(0259) => q(HQ),
- q(0260) => q(JN),
- q(0261) => q(DQ),
- q(0262) => q(JQ),
- q(0263) => q(JU),
- q(0264) => q(KQ),
- q(0265) => q(MQ),
- q(0266) => q(BQ),
- q(0267) => q(NT),
- q(0268) => q(LQ),
- q(0269) => q(PF),
- q(0270) => q(PG),
- q(0271) => q(SV),
- q(0272) => q(TE),
- q(0273) => q(WQ),
- q(0274) => q(WE),
- q(0280) => q(KV),
- },
- q(num) => {
- q(0001) => q(004),
- q(0002) => q(248),
- q(0003) => q(008),
- q(0004) => q(012),
- q(0005) => q(016),
- q(0006) => q(020),
- q(0007) => q(024),
- q(0008) => q(660),
- q(0009) => q(010),
- q(0010) => q(028),
- q(0011) => q(032),
- q(0012) => q(051),
- q(0013) => q(533),
- q(0014) => q(036),
- q(0015) => q(040),
- q(0016) => q(031),
- q(0017) => q(044),
- q(0018) => q(048),
- q(0019) => q(050),
- q(0020) => q(052),
- q(0021) => q(112),
- q(0022) => q(056),
- q(0023) => q(084),
- q(0024) => q(204),
- q(0025) => q(060),
- q(0026) => q(064),
- q(0027) => q(068),
- q(0028) => q(535),
- q(0029) => q(070),
- q(0030) => q(072),
- q(0031) => q(074),
- q(0032) => q(076),
- q(0033) => q(086),
- q(0034) => q(096),
- q(0035) => q(100),
- q(0036) => q(854),
- q(0037) => q(108),
- q(0038) => q(116),
- q(0039) => q(120),
- q(0040) => q(124),
- q(0041) => q(132),
- q(0042) => q(136),
- q(0043) => q(140),
- q(0044) => q(148),
- q(0045) => q(152),
- q(0046) => q(156),
- q(0047) => q(162),
- q(0048) => q(166),
- q(0049) => q(170),
- q(0050) => q(174),
- q(0051) => q(178),
- q(0052) => q(180),
- q(0053) => q(184),
- q(0054) => q(188),
- q(0055) => q(384),
- q(0056) => q(191),
- q(0057) => q(192),
- q(0058) => q(531),
- q(0059) => q(196),
- q(0060) => q(203),
- q(0061) => q(208),
- q(0062) => q(262),
- q(0063) => q(212),
- q(0064) => q(214),
- q(0065) => q(218),
- q(0066) => q(818),
- q(0067) => q(222),
- q(0068) => q(226),
- q(0069) => q(232),
- q(0070) => q(233),
- q(0071) => q(231),
- q(0072) => q(238),
- q(0073) => q(234),
- q(0074) => q(242),
- q(0075) => q(246),
- q(0076) => q(250),
- q(0077) => q(254),
- q(0078) => q(258),
- q(0079) => q(260),
- q(0080) => q(266),
- q(0081) => q(270),
- q(0082) => q(268),
- q(0083) => q(276),
- q(0084) => q(288),
- q(0085) => q(292),
- q(0086) => q(300),
- q(0087) => q(304),
- q(0088) => q(308),
- q(0089) => q(312),
- q(0090) => q(316),
- q(0091) => q(320),
- q(0092) => q(831),
- q(0093) => q(324),
- q(0094) => q(624),
- q(0095) => q(328),
- q(0096) => q(332),
- q(0097) => q(334),
- q(0098) => q(336),
- q(0099) => q(340),
- q(0100) => q(344),
- q(0101) => q(348),
- q(0102) => q(352),
- q(0103) => q(356),
- q(0104) => q(360),
- q(0105) => q(364),
- q(0106) => q(368),
- q(0107) => q(372),
- q(0108) => q(833),
- q(0109) => q(376),
- q(0110) => q(380),
- q(0111) => q(388),
- q(0112) => q(392),
- q(0113) => q(832),
- q(0114) => q(400),
- q(0115) => q(398),
- q(0116) => q(404),
- q(0117) => q(296),
- q(0118) => q(408),
- q(0119) => q(410),
- q(0120) => q(414),
- q(0121) => q(417),
- q(0122) => q(418),
- q(0123) => q(428),
- q(0124) => q(422),
- q(0125) => q(426),
- q(0126) => q(430),
- q(0127) => q(434),
- q(0128) => q(438),
- q(0129) => q(440),
- q(0130) => q(442),
- q(0131) => q(446),
- q(0132) => q(807),
- q(0133) => q(450),
- q(0134) => q(454),
- q(0135) => q(458),
- q(0136) => q(462),
- q(0137) => q(466),
- q(0138) => q(470),
- q(0139) => q(584),
- q(0140) => q(474),
- q(0141) => q(478),
- q(0142) => q(480),
- q(0143) => q(175),
- q(0144) => q(484),
- q(0145) => q(583),
- q(0146) => q(498),
- q(0147) => q(492),
- q(0148) => q(496),
- q(0149) => q(499),
- q(0150) => q(500),
- q(0151) => q(504),
- q(0152) => q(508),
- q(0153) => q(104),
- q(0154) => q(516),
- q(0155) => q(520),
- q(0156) => q(524),
- q(0157) => q(528),
- q(0158) => q(540),
- q(0159) => q(554),
- q(0160) => q(558),
- q(0161) => q(562),
- q(0162) => q(566),
- q(0163) => q(570),
- q(0164) => q(574),
- q(0165) => q(580),
- q(0166) => q(578),
- q(0167) => q(512),
- q(0168) => q(586),
- q(0169) => q(585),
- q(0170) => q(275),
- q(0171) => q(591),
- q(0172) => q(598),
- q(0173) => q(600),
- q(0174) => q(604),
- q(0175) => q(608),
- q(0176) => q(612),
- q(0177) => q(616),
- q(0178) => q(620),
- q(0179) => q(630),
- q(0180) => q(634),
- q(0181) => q(638),
- q(0182) => q(642),
- q(0183) => q(643),
- q(0184) => q(646),
- q(0185) => q(652),
- q(0186) => q(654),
- q(0187) => q(659),
- q(0188) => q(662),
- q(0189) => q(663),
- q(0190) => q(666),
- q(0191) => q(670),
- q(0192) => q(882),
- q(0193) => q(674),
- q(0194) => q(678),
- q(0195) => q(682),
- q(0196) => q(686),
- q(0197) => q(688),
- q(0198) => q(690),
- q(0199) => q(694),
- q(0200) => q(702),
- q(0201) => q(534),
- q(0202) => q(703),
- q(0203) => q(705),
- q(0204) => q(090),
- q(0205) => q(706),
- q(0206) => q(710),
- q(0208) => q(724),
- q(0209) => q(144),
- q(0210) => q(736),
- q(0211) => q(740),
- q(0212) => q(744),
- q(0213) => q(748),
- q(0214) => q(752),
- q(0215) => q(756),
- q(0216) => q(760),
- q(0217) => q(158),
- q(0218) => q(762),
- q(0219) => q(834),
- q(0220) => q(764),
- q(0221) => q(626),
- q(0222) => q(768),
- q(0223) => q(772),
- q(0224) => q(776),
- q(0225) => q(780),
- q(0226) => q(788),
- q(0227) => q(792),
- q(0228) => q(795),
- q(0229) => q(796),
- q(0230) => q(798),
- q(0231) => q(800),
- q(0232) => q(804),
- q(0233) => q(784),
- q(0234) => q(826),
- q(0235) => q(840),
- q(0236) => q(581),
- q(0237) => q(858),
- q(0238) => q(860),
- q(0239) => q(548),
- q(0240) => q(862),
- q(0241) => q(704),
- q(0242) => q(092),
- q(0243) => q(850),
- q(0244) => q(876),
- q(0245) => q(732),
- q(0246) => q(887),
- q(0247) => q(894),
- q(0248) => q(716),
- q(0249) => q(830),
- q(0267) => q(530),
- q(0279) => q(249),
- },
-};
+require Exporter;
+use Carp;
+use Locale::Codes;
+use Locale::Codes::Constants;
+use Locale::Codes::Country_Codes;
+use Locale::Codes::Country_Retired;
+
+#=======================================================================
+# Public Global Variables
+#=======================================================================
+
+our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
+
+$VERSION='3.21';
+@ISA = qw(Exporter);
+@EXPORT = qw(code2country
+ country2code
+ all_country_codes
+ all_country_names
+ country_code2code
+ LOCALE_CODE_ALPHA_2
+ LOCALE_CODE_ALPHA_3
+ LOCALE_CODE_NUMERIC
+ LOCALE_CODE_FIPS
+ LOCALE_CODE_DOM
+ );
+
+sub code2country {
+ return Locale::Codes::_code2name('country',@_);
+}
+
+sub country2code {
+ return Locale::Codes::_name2code('country',@_);
+}
+
+sub country_code2code {
+ return Locale::Codes::_code2code('country',@_);
+}
+
+sub all_country_codes {
+ return Locale::Codes::_all_codes('country',@_);
+}
+
+sub all_country_names {
+ return Locale::Codes::_all_names('country',@_);
+}
+
+sub rename_country {
+ return Locale::Codes::_rename('country',@_);
+}
+
+sub add_country {
+ return Locale::Codes::_add_code('country',@_);
+}
+
+sub delete_country {
+ return Locale::Codes::_delete_code('country',@_);
+}
+
+sub add_country_alias {
+ return Locale::Codes::_add_alias('country',@_);
+}
+
+sub delete_country_alias {
+ return Locale::Codes::_delete_alias('country',@_);
+}
+
+sub rename_country_code {
+ return Locale::Codes::_rename_code('country',@_);
+}
+
+sub add_country_code_alias {
+ return Locale::Codes::_add_code_alias('country',@_);
+}
+
+sub delete_country_code_alias {
+ return Locale::Codes::_delete_code_alias('country',@_);
+}
+
+#=======================================================================
+#
+# Old function for backward compatibility
+#
+#=======================================================================
+
+sub alias_code {
+ my($alias,$code,@args) = @_;
+ my $success = rename_country_code($code,$alias,@args);
+ return 0 if (! $success);
+ return $alias;
+}
1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: -2
+# End:
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Country.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/Country.pod
new file mode 100644
index 00000000000..c559c37bf4e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Country.pod
@@ -0,0 +1,214 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::Country - standard codes for country identification
+
+=head1 SYNOPSIS
+
+ use Locale::Codes::Country;
+
+ $country = code2country('jp' [,CODESET]); # $country gets 'Japan'
+ $code = country2code('Norway' [,CODESET]); # $code gets 'no'
+
+ @codes = all_country_codes( [CODESET]);
+ @names = all_country_names();
+
+ # semi-private routines
+ Locale::Codes::Country::alias_code('uk' => 'gb');
+ Locale::Codes::Country::rename_country('gb' => 'Great Britain');
+
+=head1 DESCRIPTION
+
+The C<Locale::Codes::Country> module provides access to several code sets
+that can be used for identifying countries, such as those defined in
+ISO 3166-1.
+
+Most of the routines take an optional additional argument which
+specifies the code set to use. If not specified, the default ISO
+3166-1 two-letter codes will be used.
+
+=head1 SUPPORTED CODE SETS
+
+There are several different code sets you can use for identifying
+countries. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $country = code2country('jp','alpha-2');
+ $country = code2country('jp',LOCALE_CODE_ALPHA_2);
+
+The codesets currently supported are:
+
+=over 4
+
+=item B<alpha-2, LOCALE_CODE_ALPHA_2>
+
+This is the set of two-letter (lowercase) codes from ISO 3166-1, such
+as 'tv' for Tuvalu.
+
+This is the default code set.
+
+=item B<alpha-3, LOCALE_CODE_ALPHA_3>
+
+This is the set of three-letter (lowercase) codes from ISO 3166-1,
+such as 'brb' for Barbados. These codes are actually defined and
+maintained by the U.N. Statistics division.
+
+=item B<numeric, LOCALE_CODE_NUMERIC>
+
+This is the set of three-digit numeric codes from ISO 3166-1, such as
+064 for Bhutan. These codes are actually defined and maintained by the
+U.N. Statistics division.
+
+If a 2-digit code is entered, it is converted to 3 digits by prepending
+a 0.
+
+=item B<fips-10, LOCALE_CODE_FIPS>
+
+The FIPS 10 data are two-letter (uppercase) codes assigned by the
+National Geospatial-Intelligence Agency.
+
+=item B<dom, LOCALE_CODE_DOM>
+
+The IANA is responsible for assigning two-letter (uppercase) top-level
+domain names to each country.
+
+=back
+
+=head1 ROUTINES
+
+=over 4
+
+=item B<code2country ( CODE [,CODESET] )>
+
+=item B<country2code ( NAME [,CODESET] )>
+
+=item B<country_code2code ( CODE ,CODESET ,CODESET2 )>
+
+=item B<all_country_codes ( [CODESET] )>
+
+=item B<all_country_names ( [CODESET] )>
+
+=item B<Locale::Codes::Country::rename_country ( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Codes::Country::add_country ( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Codes::Country::delete_country ( CODE [,CODESET] )>
+
+=item B<Locale::Codes::Country::add_country_alias ( NAME ,NEW_NAME )>
+
+=item B<Locale::Codes::Country::delete_country_alias ( NAME )>
+
+=item B<Locale::Codes::Country::rename_country_code ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::Country::add_country_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::Country::delete_country_code_alias ( CODE [,CODESET] )>
+
+These routines are all documented in the Locale::Codes::API man page.
+
+=item B<alias_code ( ALIAS, CODE [,CODESET] )>
+
+Version 2.07 included 2 functions for modifying the internal data:
+rename_country and alias_code. Both of these could be used only to
+modify the internal data for country codes.
+
+As of 3.10, the internal data for all types of codes can be modified.
+
+The alias_code function is preserved for backwards compatibility, but
+the following two are identical:
+
+ alias_code(ALIAS,CODE [,CODESET]);
+ rename_country_code(CODE,ALIAS [,CODESET]);
+
+and the latter should be used for consistency.
+
+The alias_code function is deprecated and will be removed at some point
+in the future.
+
+B<Note:> this function was previously called _alias_code, but the
+leading underscore has been dropped. The old name was supported for
+all 2.X releases, but has been dropped as of 3.00.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Codes>
+
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
+=item B<Locale::SubCountry>
+
+ISO codes for country sub-divisions (states, counties, provinces,
+etc), as defined in ISO 3166-2. This module is not part of the
+Locale-Codes distribution, but is available from CPAN in
+CPAN/modules/by-module/Locale/
+
+=item B<http://www.iso.org/iso/country_codes>
+
+Official home page for the ISO 3166 maintenance agency.
+
+Unfortunately, they do not make the actual ISO available for free,
+so I cannot check the alpha-3 and numerical codes here.
+
+=item B<http://www.iso.org/iso/list-en1-semic-3.txt>
+
+The source of ISO 3166-1 two-letter codes used by this
+module.
+
+=item B<http://unstats.un.org/unsd/methods/m49/m49alpha.htm>
+
+The source of the official ISO 3166-1 three-letter codes and
+three-digit codes.
+
+For some reason, this table is incomplete! Several countries are
+missing from it, and I cannot find them anywhere on the UN site. I
+get as much of the data from here as I can.
+
+=item B<http://earth-info.nga.mil/gns/html/digraphs.htm>
+
+The official list of the FIPS 10 codes.
+
+=item B<http://www.iana.org/domains/>
+
+Official source of the top-level domain names.
+
+=item B<https://www.cia.gov/library/publications/the-world-factbook/appendix/print_appendix-d.html>
+
+The World Factbook maintained by the CIA is a potential source of
+the data. Unfortunately, it adds/preserves non-standard codes, so it is no
+longer used as a source of data.
+
+=item B<http://www.statoids.com/wab.html>
+
+Another unofficial source of data. Currently, it is not used to get
+data, but the notes and explanatory material were very useful for
+understanding discrepancies between the sources.
+
+=back
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Country_Codes.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Country_Codes.pm
new file mode 100644
index 00000000000..8f172c9a123
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Country_Codes.pm
@@ -0,0 +1,9552 @@
+package Locale::Codes::Country_Codes;
+
+# This file was automatically generated. Any changes to this file will
+# be lost the next time 'get_codes' is run.
+# Generated on: Thu Mar 1 08:06:53 EST 2012
+
+=pod
+
+=head1 NAME
+
+Locale::Codes::Country_Codes - country codes for the Locale::Codes::Country module
+
+=head1 SYNOPSIS
+
+This module contains data used by the Locale::Codes::Country module. It is
+not intended to be used directly, and contains no calleable routines.
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+require 5.002;
+
+our($VERSION);
+$VERSION='3.21';
+
+$Locale::Codes::Data{'country'}{'id'} = '0282';
+
+$Locale::Codes::Data{'country'}{'id2names'} = {
+ q(0001) => [
+ q(Afghanistan),
+ q(Islamic State of Afghanistan),
+ ],
+ q(0002) => [
+ q(Aland Islands),
+ ],
+ q(0003) => [
+ q(Albania),
+ q(Republic of Albania),
+ ],
+ q(0004) => [
+ q(Algeria),
+ q(People's Democratic Republic of Algeria),
+ ],
+ q(0005) => [
+ q(American Samoa),
+ q(Territory of American Samoa),
+ ],
+ q(0006) => [
+ q(Andorra),
+ q(Principality of Andorra),
+ ],
+ q(0007) => [
+ q(Angola),
+ q(Republic of Angola),
+ ],
+ q(0008) => [
+ q(Anguilla),
+ ],
+ q(0009) => [
+ q(Antarctica),
+ ],
+ q(0010) => [
+ q(Antigua and Barbuda),
+ ],
+ q(0011) => [
+ q(Argentina),
+ q(Argentine Republic),
+ ],
+ q(0012) => [
+ q(Armenia),
+ q(Republic of Armenia),
+ ],
+ q(0013) => [
+ q(Aruba),
+ ],
+ q(0014) => [
+ q(Australia),
+ q(Commonwealth of Australia),
+ ],
+ q(0015) => [
+ q(Austria),
+ q(Republic of Austria),
+ ],
+ q(0016) => [
+ q(Azerbaijan),
+ q(Republic of Azerbaijan),
+ ],
+ q(0017) => [
+ q(Bahamas),
+ q(Bahamas, The),
+ q(Commonwealth of the Bahamas),
+ q(The Bahamas),
+ ],
+ q(0018) => [
+ q(Bahrain),
+ q(State of Bahrain),
+ ],
+ q(0019) => [
+ q(Bangladesh),
+ q(People's Republic of Bangladesh),
+ ],
+ q(0020) => [
+ q(Barbados),
+ ],
+ q(0021) => [
+ q(Belarus),
+ q(Republic of Belarus),
+ ],
+ q(0022) => [
+ q(Belgium),
+ q(Kingdom of Belgium),
+ ],
+ q(0023) => [
+ q(Belize),
+ ],
+ q(0024) => [
+ q(Benin),
+ q(Republic of Benin),
+ ],
+ q(0025) => [
+ q(Bermuda),
+ ],
+ q(0026) => [
+ q(Bhutan),
+ q(Kingdom of Bhutan),
+ ],
+ q(0027) => [
+ q(Bolivia, Plurinational State of),
+ q(Bolivia (Plurinational State of)),
+ q(Bolivia),
+ q(Republic of Bolivia),
+ ],
+ q(0028) => [
+ q(Bonaire, Saint Eustatius and Saba),
+ ],
+ q(0029) => [
+ q(Bosnia and Herzegovina),
+ ],
+ q(0030) => [
+ q(Botswana),
+ q(Republic of Botswana),
+ ],
+ q(0031) => [
+ q(Bouvet Island),
+ ],
+ q(0032) => [
+ q(Brazil),
+ q(Federative Republic of Brazil),
+ ],
+ q(0033) => [
+ q(British Indian Ocean Territory),
+ ],
+ q(0034) => [
+ q(Brunei Darussalam),
+ q(Brunei),
+ q(Negara Brunei Darussalam),
+ ],
+ q(0035) => [
+ q(Bulgaria),
+ ],
+ q(0036) => [
+ q(Burkina Faso),
+ ],
+ q(0037) => [
+ q(Burundi),
+ q(Republic of Burundi),
+ ],
+ q(0038) => [
+ q(Cambodia),
+ q(Kingdom of Cambodia),
+ ],
+ q(0039) => [
+ q(Cameroon),
+ q(Republic of Cameroon),
+ ],
+ q(0040) => [
+ q(Canada),
+ ],
+ q(0041) => [
+ q(Cape Verde),
+ q(Republic of Cape Verde),
+ ],
+ q(0042) => [
+ q(Cayman Islands),
+ ],
+ q(0043) => [
+ q(Central African Republic),
+ ],
+ q(0044) => [
+ q(Chad),
+ q(Republic of Chad),
+ ],
+ q(0045) => [
+ q(Chile),
+ q(Republic of Chile),
+ ],
+ q(0046) => [
+ q(China),
+ q(People's Republic of China),
+ ],
+ q(0047) => [
+ q(Christmas Island),
+ q(Territory of Christmas Island),
+ ],
+ q(0048) => [
+ q(Cocos (Keeling) Islands),
+ q(Territory of Cocos (Keeling) Islands),
+ q(Keeling Islands),
+ q(Cocos Islands),
+ ],
+ q(0049) => [
+ q(Colombia),
+ q(Republic of Colombia),
+ ],
+ q(0050) => [
+ q(Comoros),
+ q(Federal Islamic Republic of the Comoros),
+ ],
+ q(0051) => [
+ q(Congo),
+ q(Congo (Brazzaville)),
+ q(Republic of the Congo),
+ q(Congo, Republic of the),
+ q(The Republic of the Congo),
+ ],
+ q(0052) => [
+ q(Congo, The Democratic Republic of the),
+ q(Democratic Republic of the Congo),
+ q(Congo (Kinshasa)),
+ q(Congo, Democratic Republic of the),
+ q(The Democratic Republic of the Congo),
+ ],
+ q(0053) => [
+ q(Cook Islands),
+ ],
+ q(0054) => [
+ q(Costa Rica),
+ q(Republic of Costa Rica),
+ ],
+ q(0055) => [
+ q(Cote d'Ivoire),
+ q(Republic of Cote D'Ivoire),
+ ],
+ q(0056) => [
+ q(Croatia),
+ q(Republic of Croatia),
+ ],
+ q(0057) => [
+ q(Cuba),
+ q(Republic of Cuba),
+ ],
+ q(0058) => [
+ q(Curacao),
+ ],
+ q(0059) => [
+ q(Cyprus),
+ q(Republic of Cyprus),
+ ],
+ q(0060) => [
+ q(Czech Republic),
+ ],
+ q(0061) => [
+ q(Denmark),
+ q(Kingdom of Denmark),
+ ],
+ q(0062) => [
+ q(Djibouti),
+ q(Republic of Djibouti),
+ ],
+ q(0063) => [
+ q(Dominica),
+ q(Commonwealth of Dominica),
+ ],
+ q(0064) => [
+ q(Dominican Republic),
+ ],
+ q(0065) => [
+ q(Ecuador),
+ q(Republic of Ecuador),
+ ],
+ q(0066) => [
+ q(Egypt),
+ q(Arab Republic of Egypt),
+ ],
+ q(0067) => [
+ q(El Salvador),
+ q(Republic of El Salvador),
+ ],
+ q(0068) => [
+ q(Equatorial Guinea),
+ q(Republic of Equatorial Guinea),
+ ],
+ q(0069) => [
+ q(Eritrea),
+ q(State of Eritrea),
+ ],
+ q(0070) => [
+ q(Estonia),
+ q(Republic of Estonia),
+ ],
+ q(0071) => [
+ q(Ethiopia),
+ q(Federal Democratic Republic of Ethiopia),
+ ],
+ q(0072) => [
+ q(Falkland Islands (Malvinas)),
+ q(Falkland Islands (Islas Malvinas)),
+ ],
+ q(0073) => [
+ q(Faroe Islands),
+ q(Faeroe Islands),
+ ],
+ q(0074) => [
+ q(Fiji),
+ q(Republic of the Fiji Islands),
+ ],
+ q(0075) => [
+ q(Finland),
+ q(Republic of Finland),
+ ],
+ q(0076) => [
+ q(France),
+ q(French Republic),
+ ],
+ q(0077) => [
+ q(French Guiana),
+ q(Department of Guiana),
+ ],
+ q(0078) => [
+ q(French Polynesia),
+ q(Territory of French Polynesia),
+ ],
+ q(0079) => [
+ q(French Southern Territories),
+ q(French Southern and Antarctic Lands),
+ q(Territory of the French Southern and Antarctic Lands),
+ ],
+ q(0080) => [
+ q(Gabon),
+ q(Gabonese Republic),
+ ],
+ q(0081) => [
+ q(Gambia),
+ q(Gambia, The),
+ q(Republic of the Gambia),
+ ],
+ q(0082) => [
+ q(Georgia),
+ ],
+ q(0083) => [
+ q(Germany),
+ q(Federal Republic of Germany),
+ ],
+ q(0084) => [
+ q(Ghana),
+ q(Republic of Ghana),
+ ],
+ q(0085) => [
+ q(Gibraltar),
+ ],
+ q(0086) => [
+ q(Greece),
+ q(Hellenic Republic),
+ ],
+ q(0087) => [
+ q(Greenland),
+ ],
+ q(0088) => [
+ q(Grenada),
+ ],
+ q(0089) => [
+ q(Guadeloupe),
+ q(Department of Guadeloupe),
+ ],
+ q(0090) => [
+ q(Guam),
+ q(Territory of Guam),
+ ],
+ q(0091) => [
+ q(Guatemala),
+ q(Republic of Guatemala),
+ ],
+ q(0092) => [
+ q(Guernsey),
+ q(Bailiwick of Guernsey),
+ ],
+ q(0093) => [
+ q(Guinea),
+ q(Republic of Guinea),
+ ],
+ q(0094) => [
+ q(Guinea-Bissau),
+ q(Republic of Guinea-Bissau),
+ ],
+ q(0095) => [
+ q(Guyana),
+ q(Co-operative Republic of Guyana),
+ ],
+ q(0096) => [
+ q(Haiti),
+ q(Republic of Haiti),
+ ],
+ q(0097) => [
+ q(Heard Island and Mcdonald Islands),
+ q(Territory of Heard Island and McDonald Islands),
+ ],
+ q(0098) => [
+ q(Holy See (Vatican City State)),
+ q(Holy See),
+ q(Vatican City),
+ q(State of the Vatican City),
+ q(Holy See (Vatican City)),
+ ],
+ q(0099) => [
+ q(Honduras),
+ q(Republic of Honduras),
+ ],
+ q(0100) => [
+ q(Hong Kong),
+ q(China, Hong Kong Special Administrative Region),
+ q(Hong Kong S.A.R.),
+ q(Hong Kong Special Administrative Region),
+ q(Hong Kong Special Administrative Region of China),
+ ],
+ q(0101) => [
+ q(Hungary),
+ q(Republic of Hungary),
+ ],
+ q(0102) => [
+ q(Iceland),
+ q(Republic of Iceland),
+ ],
+ q(0103) => [
+ q(India),
+ q(Republic of India),
+ ],
+ q(0104) => [
+ q(Indonesia),
+ q(Republic of Indonesia),
+ ],
+ q(0105) => [
+ q(Iran, Islamic Republic of),
+ q(Iran (Islamic Republic of)),
+ q(Iran),
+ q(Islamic Republic of Iran),
+ ],
+ q(0106) => [
+ q(Iraq),
+ q(Republic of Iraq),
+ ],
+ q(0107) => [
+ q(Ireland),
+ ],
+ q(0108) => [
+ q(Isle of Man),
+ ],
+ q(0109) => [
+ q(Israel),
+ q(State of Israel),
+ ],
+ q(0110) => [
+ q(Italy),
+ q(Italian Republic),
+ ],
+ q(0111) => [
+ q(Jamaica),
+ ],
+ q(0112) => [
+ q(Japan),
+ ],
+ q(0113) => [
+ q(Jersey),
+ q(Bailiwick of Jersey),
+ ],
+ q(0114) => [
+ q(Jordan),
+ q(Hashemite Kingdom of Jordan),
+ ],
+ q(0115) => [
+ q(Kazakhstan),
+ q(Republic of Kazakhstan),
+ q(Kazakstan),
+ ],
+ q(0116) => [
+ q(Kenya),
+ q(Republic of Kenya),
+ ],
+ q(0117) => [
+ q(Kiribati),
+ q(Republic of Kiribati),
+ ],
+ q(0118) => [
+ q(Korea, Democratic People's Republic of),
+ q(Democratic People's Republic of Korea),
+ q(Korea, North),
+ q(North Korea),
+ ],
+ q(0119) => [
+ q(Korea, Republic of),
+ q(Republic of Korea),
+ q(Korea, South),
+ q(South Korea),
+ ],
+ q(0120) => [
+ q(Kuwait),
+ q(State of Kuwait),
+ ],
+ q(0121) => [
+ q(Kyrgyzstan),
+ q(Kyrgyz Republic),
+ ],
+ q(0122) => [
+ q(Lao People's Democratic Republic),
+ q(Laos),
+ ],
+ q(0123) => [
+ q(Latvia),
+ q(Republic of Latvia),
+ ],
+ q(0124) => [
+ q(Lebanon),
+ q(Lebanese Republic),
+ ],
+ q(0125) => [
+ q(Lesotho),
+ q(Republic of Lesotho),
+ ],
+ q(0126) => [
+ q(Liberia),
+ q(Republic of Liberia),
+ ],
+ q(0127) => [
+ q(Libya),
+ q(Great Socialist People's Libyan Arab Jamahiriya),
+ ],
+ q(0128) => [
+ q(Liechtenstein),
+ q(Principality of Liechtenstein),
+ ],
+ q(0129) => [
+ q(Lithuania),
+ q(Republic of Lithuania),
+ ],
+ q(0130) => [
+ q(Luxembourg),
+ q(Grand Duchy of Luxembourg),
+ ],
+ q(0131) => [
+ q(Macao),
+ q(China, Macao Special Administrative Region),
+ q(Macau S.A.R),
+ q(Macau Special Administrative Region),
+ q(Macau S.A.R.),
+ q(Macau),
+ q(Macao Special Administrative Region of China),
+ ],
+ q(0132) => [
+ q(Macedonia, The Former Yugoslav Republic of),
+ q(The former Yugoslav Republic of Macedonia),
+ q(Macedonia),
+ q(Republic of Macedonia),
+ q(Macedonia, Former Yugoslav Republic of),
+ ],
+ q(0133) => [
+ q(Madagascar),
+ q(Republic of Madagascar),
+ ],
+ q(0134) => [
+ q(Malawi),
+ q(Republic of Malawi),
+ ],
+ q(0135) => [
+ q(Malaysia),
+ ],
+ q(0136) => [
+ q(Maldives),
+ q(Republic of Maldives),
+ ],
+ q(0137) => [
+ q(Mali),
+ q(Republic of Mali),
+ ],
+ q(0138) => [
+ q(Malta),
+ q(Republic of Malta),
+ ],
+ q(0139) => [
+ q(Marshall Islands),
+ q(Republic of the Marshall Islands),
+ ],
+ q(0140) => [
+ q(Martinique),
+ q(Department of Martinique),
+ ],
+ q(0141) => [
+ q(Mauritania),
+ q(Islamic Republic of Mauritania),
+ ],
+ q(0142) => [
+ q(Mauritius),
+ q(Republic of Mauritius),
+ ],
+ q(0143) => [
+ q(Mayotte),
+ q(Territorial Collectivity of Mayotte),
+ ],
+ q(0144) => [
+ q(Mexico),
+ q(United Mexican States),
+ ],
+ q(0145) => [
+ q(Micronesia, Federated States of),
+ q(Micronesia (Federated States of)),
+ q(Federated States of Micronesia),
+ ],
+ q(0146) => [
+ q(Moldova, Republic of),
+ q(Republic of Moldova),
+ q(Moldova),
+ ],
+ q(0147) => [
+ q(Monaco),
+ q(Principality of Monaco),
+ ],
+ q(0148) => [
+ q(Mongolia),
+ ],
+ q(0149) => [
+ q(Montenegro),
+ ],
+ q(0150) => [
+ q(Montserrat),
+ ],
+ q(0151) => [
+ q(Morocco),
+ q(Kingdom of Morocco),
+ ],
+ q(0152) => [
+ q(Mozambique),
+ q(Republic of Mozambique),
+ ],
+ q(0153) => [
+ q(Myanmar),
+ q(Burma),
+ q(Union of Burma),
+ ],
+ q(0154) => [
+ q(Namibia),
+ q(Republic of Namibia),
+ ],
+ q(0155) => [
+ q(Nauru),
+ q(Republic of Nauru),
+ ],
+ q(0156) => [
+ q(Nepal),
+ q(Kingdom of Nepal),
+ ],
+ q(0157) => [
+ q(Netherlands),
+ q(Kingdom of the Netherlands),
+ ],
+ q(0158) => [
+ q(New Caledonia),
+ q(Territory of New Caledonia and Dependencies),
+ ],
+ q(0159) => [
+ q(New Zealand),
+ ],
+ q(0160) => [
+ q(Nicaragua),
+ q(Republic of Nicaragua),
+ ],
+ q(0161) => [
+ q(Niger),
+ q(Republic of Niger),
+ ],
+ q(0162) => [
+ q(Nigeria),
+ q(Federal Republic of Nigeria),
+ ],
+ q(0163) => [
+ q(Niue),
+ ],
+ q(0164) => [
+ q(Norfolk Island),
+ q(Territory of Norfolk Island),
+ ],
+ q(0165) => [
+ q(Northern Mariana Islands),
+ q(Commonwealth of the Northern Mariana Islands),
+ ],
+ q(0166) => [
+ q(Norway),
+ q(Kingdom of Norway),
+ ],
+ q(0167) => [
+ q(Oman),
+ q(Sultanate of Oman),
+ ],
+ q(0168) => [
+ q(Pakistan),
+ q(Islamic Republic of Pakistan),
+ ],
+ q(0169) => [
+ q(Palau),
+ q(Republic of Palau),
+ ],
+ q(0170) => [
+ q(Palestinian Territory, Occupied),
+ q(Occupied Palestinian Territory),
+ ],
+ q(0171) => [
+ q(Panama),
+ q(Republic of Panama),
+ ],
+ q(0172) => [
+ q(Papua New Guinea),
+ q(Independent State of Papua New Guinea),
+ ],
+ q(0173) => [
+ q(Paraguay),
+ q(Republic of Paraguay),
+ ],
+ q(0174) => [
+ q(Peru),
+ q(Republic of Peru),
+ ],
+ q(0175) => [
+ q(Philippines),
+ q(Republic of the Philippines),
+ ],
+ q(0176) => [
+ q(Pitcairn),
+ q(Pitcairn Islands),
+ q(Pitcairn, Henderson, Ducie and Oeno Islands),
+ q(Pitcairn Island),
+ ],
+ q(0177) => [
+ q(Poland),
+ q(Republic of Poland),
+ ],
+ q(0178) => [
+ q(Portugal),
+ q(Portuguese Republic),
+ ],
+ q(0179) => [
+ q(Puerto Rico),
+ q(Commonwealth of Puerto Rico),
+ ],
+ q(0180) => [
+ q(Qatar),
+ q(State of Qatar),
+ ],
+ q(0181) => [
+ q(Reunion),
+ q(Department of Reunion),
+ ],
+ q(0182) => [
+ q(Romania),
+ ],
+ q(0183) => [
+ q(Russian Federation),
+ q(Russia),
+ ],
+ q(0184) => [
+ q(Rwanda),
+ q(Rwandese Republic),
+ ],
+ q(0185) => [
+ q(Saint Barthelemy),
+ q(Saint-Barthelemy),
+ ],
+ q(0186) => [
+ q(Saint Helena, Ascension and Tristan da Cunha),
+ q(Saint Helena),
+ ],
+ q(0187) => [
+ q(Saint Kitts and Nevis),
+ q(Federation of Saint Kitts and Nevis),
+ ],
+ q(0188) => [
+ q(Saint Lucia),
+ ],
+ q(0189) => [
+ q(Saint Martin (French part)),
+ q(Saint-Martin (French part)),
+ q(Saint-Martin),
+ q(Saint Martin),
+ ],
+ q(0190) => [
+ q(Saint Pierre and Miquelon),
+ q(Territorial Collectivity of Saint Pierre and Miquelon),
+ ],
+ q(0191) => [
+ q(Saint Vincent and the Grenadines),
+ ],
+ q(0192) => [
+ q(Samoa),
+ q(Independent State of Samoa),
+ ],
+ q(0193) => [
+ q(San Marino),
+ q(Republic of San Marino),
+ ],
+ q(0194) => [
+ q(Sao Tome and Principe),
+ q(Democratic Republic of Sao Tome and Principe),
+ ],
+ q(0195) => [
+ q(Saudi Arabia),
+ q(Kingdom of Saudi Arabia),
+ ],
+ q(0196) => [
+ q(Senegal),
+ q(Republic of Senegal),
+ ],
+ q(0197) => [
+ q(Serbia),
+ ],
+ q(0198) => [
+ q(Seychelles),
+ q(Republic of Seychelles),
+ ],
+ q(0199) => [
+ q(Sierra Leone),
+ q(Republic of Sierra Leone),
+ ],
+ q(0200) => [
+ q(Singapore),
+ q(Republic of Singapore),
+ ],
+ q(0201) => [
+ q(Sint Maarten (Dutch part)),
+ ],
+ q(0202) => [
+ q(Slovakia),
+ q(Slovak Republic),
+ ],
+ q(0203) => [
+ q(Slovenia),
+ q(Republic of Slovenia),
+ ],
+ q(0204) => [
+ q(Solomon Islands),
+ ],
+ q(0205) => [
+ q(Somalia),
+ ],
+ q(0206) => [
+ q(South Africa),
+ q(Republic of South Africa),
+ ],
+ q(0207) => [
+ q(South Georgia and the South Sandwich Islands),
+ q(South Georgia and the Islands),
+ ],
+ q(0208) => [
+ q(South Sudan),
+ ],
+ q(0209) => [
+ q(Spain),
+ q(Kingdom of Spain),
+ ],
+ q(0210) => [
+ q(Sri Lanka),
+ q(Democratic Socialist Republic of Sri Lanka),
+ ],
+ q(0211) => [
+ q(Sudan),
+ q(Republic of the Sudan),
+ ],
+ q(0212) => [
+ q(Suriname),
+ q(Republic of Suriname),
+ ],
+ q(0213) => [
+ q(Svalbard and Jan Mayen),
+ q(Svalbard and Jan Mayen Islands),
+ ],
+ q(0214) => [
+ q(Swaziland),
+ q(Kingdom of Swaziland),
+ ],
+ q(0215) => [
+ q(Sweden),
+ q(Kingdom of Sweden),
+ ],
+ q(0216) => [
+ q(Switzerland),
+ q(Swiss Confederation),
+ ],
+ q(0217) => [
+ q(Syrian Arab Republic),
+ q(Syria),
+ q(Golan Heights (Israeli-occupied)),
+ ],
+ q(0218) => [
+ q(Taiwan, Province of China),
+ q(Taiwan),
+ ],
+ q(0219) => [
+ q(Tajikistan),
+ q(Republic of Tajikistan),
+ ],
+ q(0220) => [
+ q(Tanzania, United Republic of),
+ q(United Republic of Tanzania),
+ q(Tanzania),
+ ],
+ q(0221) => [
+ q(Thailand),
+ q(Kingdom of Thailand),
+ ],
+ q(0222) => [
+ q(Timor-Leste),
+ q(East Timor),
+ ],
+ q(0223) => [
+ q(Togo),
+ q(Togolese Republic),
+ ],
+ q(0224) => [
+ q(Tokelau),
+ ],
+ q(0225) => [
+ q(Tonga),
+ q(Kingdom of Tonga),
+ ],
+ q(0226) => [
+ q(Trinidad and Tobago),
+ q(Republic of Trinidad and Tobago),
+ ],
+ q(0227) => [
+ q(Tunisia),
+ q(Republic of Tunisia),
+ ],
+ q(0228) => [
+ q(Turkey),
+ q(Republic of Turkey),
+ ],
+ q(0229) => [
+ q(Turkmenistan),
+ ],
+ q(0230) => [
+ q(Turks and Caicos Islands),
+ ],
+ q(0231) => [
+ q(Tuvalu),
+ ],
+ q(0232) => [
+ q(Uganda),
+ ],
+ q(0233) => [
+ q(Ukraine),
+ ],
+ q(0234) => [
+ q(United Arab Emirates),
+ ],
+ q(0235) => [
+ q(United Kingdom),
+ q(United Kingdom of Great Britain and Northern Ireland),
+ q(Great Britain),
+ q(UK),
+ ],
+ q(0236) => [
+ q(United States),
+ q(United States of America),
+ q(US),
+ q(USA),
+ ],
+ q(0237) => [
+ q(United States Minor Outlying Islands),
+ ],
+ q(0238) => [
+ q(Uruguay),
+ q(Oriental Republic of Uruguay),
+ ],
+ q(0239) => [
+ q(Uzbekistan),
+ q(Republic of Uzbekistan),
+ ],
+ q(0240) => [
+ q(Vanuatu),
+ q(Republic of Vanuatu),
+ ],
+ q(0241) => [
+ q(Venezuela, Bolivarian Republic of),
+ q(Venezuela (Bolivarian Republic of)),
+ q(Venezuela),
+ q(Bolivarian Republic of Venezuela),
+ ],
+ q(0242) => [
+ q(Viet Nam),
+ q(Vietnam),
+ q(Socialist Republic of Vietnam),
+ ],
+ q(0243) => [
+ q(Virgin Islands, British),
+ q(British Virgin Islands),
+ q(Virgin Islands (UK)),
+ ],
+ q(0244) => [
+ q(Virgin Islands, U.S.),
+ q(United States Virgin Islands),
+ q(Virgin Islands),
+ q(Virgin Islands of the United States),
+ q(Virgin Islands (US)),
+ ],
+ q(0245) => [
+ q(Wallis and Futuna),
+ q(Wallis and Futuna Islands),
+ q(Territory of the Wallis and Futuna Islands),
+ ],
+ q(0246) => [
+ q(Western Sahara),
+ ],
+ q(0247) => [
+ q(Yemen),
+ q(Republic of Yemen),
+ ],
+ q(0248) => [
+ q(Zambia),
+ q(Republic of Zambia),
+ ],
+ q(0249) => [
+ q(Zimbabwe),
+ q(Republic of Zimbabwe),
+ ],
+ q(0250) => [
+ q(Channel Islands),
+ ],
+ q(0251) => [
+ q(Sark),
+ ],
+ q(0252) => [
+ q(Serbia and Montenegro),
+ ],
+ q(0253) => [
+ q(Ashmore and Cartier Islands),
+ q(Territory of Ashmore and Cartier Islands),
+ ],
+ q(0254) => [
+ q(Baker Island),
+ ],
+ q(0255) => [
+ q(Bassas da India),
+ ],
+ q(0256) => [
+ q(Clipperton Island),
+ ],
+ q(0257) => [
+ q(Coral Sea Islands),
+ q(Coral Sea Islands Territory),
+ ],
+ q(0258) => [
+ q(Europa Island),
+ ],
+ q(0259) => [
+ q(Gaza Strip),
+ ],
+ q(0260) => [
+ q(Glorioso Islands),
+ ],
+ q(0261) => [
+ q(Howland Island),
+ ],
+ q(0262) => [
+ q(Jan Mayen),
+ ],
+ q(0263) => [
+ q(Jarvis Island),
+ ],
+ q(0264) => [
+ q(Johnston Atoll),
+ ],
+ q(0265) => [
+ q(Juan De Nova Island),
+ ],
+ q(0266) => [
+ q(Kingman Reef),
+ ],
+ q(0267) => [
+ q(Midway Islands),
+ ],
+ q(0268) => [
+ q(Navassa Island),
+ ],
+ q(0269) => [
+ q(Netherlands Antilles),
+ ],
+ q(0270) => [
+ q(Palmyra Atoll),
+ ],
+ q(0271) => [
+ q(Paracel Islands),
+ ],
+ q(0272) => [
+ q(Spratly Islands),
+ ],
+ q(0273) => [
+ q(Svalbard),
+ ],
+ q(0274) => [
+ q(Tromelin Island),
+ ],
+ q(0275) => [
+ q(Wake Atoll),
+ ],
+ q(0276) => [
+ q(West Bank),
+ ],
+ q(0277) => [
+ q(Ascension Island),
+ ],
+ q(0278) => [
+ q(Bonaire, Sint Eustatius and Saba),
+ ],
+ q(0279) => [
+ q(European Union),
+ ],
+ q(0280) => [
+ q(Soviet Union),
+ ],
+ q(0281) => [
+ q(Portuguese Timor),
+ ],
+};
+
+$Locale::Codes::Data{'country'}{'alias2id'} = {
+ q(afghanistan) => [
+ q(0001),
+ q(0),
+ ],
+ q(aland islands) => [
+ q(0002),
+ q(0),
+ ],
+ q(albania) => [
+ q(0003),
+ q(0),
+ ],
+ q(algeria) => [
+ q(0004),
+ q(0),
+ ],
+ q(american samoa) => [
+ q(0005),
+ q(0),
+ ],
+ q(andorra) => [
+ q(0006),
+ q(0),
+ ],
+ q(angola) => [
+ q(0007),
+ q(0),
+ ],
+ q(anguilla) => [
+ q(0008),
+ q(0),
+ ],
+ q(antarctica) => [
+ q(0009),
+ q(0),
+ ],
+ q(antigua and barbuda) => [
+ q(0010),
+ q(0),
+ ],
+ q(arab republic of egypt) => [
+ q(0066),
+ q(1),
+ ],
+ q(argentina) => [
+ q(0011),
+ q(0),
+ ],
+ q(argentine republic) => [
+ q(0011),
+ q(1),
+ ],
+ q(armenia) => [
+ q(0012),
+ q(0),
+ ],
+ q(aruba) => [
+ q(0013),
+ q(0),
+ ],
+ q(ascension island) => [
+ q(0277),
+ q(0),
+ ],
+ q(ashmore and cartier islands) => [
+ q(0253),
+ q(0),
+ ],
+ q(australia) => [
+ q(0014),
+ q(0),
+ ],
+ q(austria) => [
+ q(0015),
+ q(0),
+ ],
+ q(azerbaijan) => [
+ q(0016),
+ q(0),
+ ],
+ q(bahamas) => [
+ q(0017),
+ q(0),
+ ],
+ q(bahamas, the) => [
+ q(0017),
+ q(1),
+ ],
+ q(bahrain) => [
+ q(0018),
+ q(0),
+ ],
+ q(bailiwick of guernsey) => [
+ q(0092),
+ q(1),
+ ],
+ q(bailiwick of jersey) => [
+ q(0113),
+ q(1),
+ ],
+ q(baker island) => [
+ q(0254),
+ q(0),
+ ],
+ q(bangladesh) => [
+ q(0019),
+ q(0),
+ ],
+ q(barbados) => [
+ q(0020),
+ q(0),
+ ],
+ q(bassas da india) => [
+ q(0255),
+ q(0),
+ ],
+ q(belarus) => [
+ q(0021),
+ q(0),
+ ],
+ q(belgium) => [
+ q(0022),
+ q(0),
+ ],
+ q(belize) => [
+ q(0023),
+ q(0),
+ ],
+ q(benin) => [
+ q(0024),
+ q(0),
+ ],
+ q(bermuda) => [
+ q(0025),
+ q(0),
+ ],
+ q(bhutan) => [
+ q(0026),
+ q(0),
+ ],
+ q(bolivarian republic of venezuela) => [
+ q(0241),
+ q(3),
+ ],
+ q(bolivia) => [
+ q(0027),
+ q(2),
+ ],
+ q(bolivia (plurinational state of)) => [
+ q(0027),
+ q(1),
+ ],
+ q(bolivia, plurinational state of) => [
+ q(0027),
+ q(0),
+ ],
+ q(bonaire, saint eustatius and saba) => [
+ q(0028),
+ q(0),
+ ],
+ q(bonaire, sint eustatius and saba) => [
+ q(0278),
+ q(0),
+ ],
+ q(bosnia and herzegovina) => [
+ q(0029),
+ q(0),
+ ],
+ q(botswana) => [
+ q(0030),
+ q(0),
+ ],
+ q(bouvet island) => [
+ q(0031),
+ q(0),
+ ],
+ q(brazil) => [
+ q(0032),
+ q(0),
+ ],
+ q(british indian ocean territory) => [
+ q(0033),
+ q(0),
+ ],
+ q(british virgin islands) => [
+ q(0243),
+ q(1),
+ ],
+ q(brunei) => [
+ q(0034),
+ q(1),
+ ],
+ q(brunei darussalam) => [
+ q(0034),
+ q(0),
+ ],
+ q(bulgaria) => [
+ q(0035),
+ q(0),
+ ],
+ q(burkina faso) => [
+ q(0036),
+ q(0),
+ ],
+ q(burma) => [
+ q(0153),
+ q(1),
+ ],
+ q(burundi) => [
+ q(0037),
+ q(0),
+ ],
+ q(cambodia) => [
+ q(0038),
+ q(0),
+ ],
+ q(cameroon) => [
+ q(0039),
+ q(0),
+ ],
+ q(canada) => [
+ q(0040),
+ q(0),
+ ],
+ q(cape verde) => [
+ q(0041),
+ q(0),
+ ],
+ q(cayman islands) => [
+ q(0042),
+ q(0),
+ ],
+ q(central african republic) => [
+ q(0043),
+ q(0),
+ ],
+ q(chad) => [
+ q(0044),
+ q(0),
+ ],
+ q(channel islands) => [
+ q(0250),
+ q(0),
+ ],
+ q(chile) => [
+ q(0045),
+ q(0),
+ ],
+ q(china) => [
+ q(0046),
+ q(0),
+ ],
+ q(china, hong kong special administrative region) => [
+ q(0100),
+ q(1),
+ ],
+ q(china, macao special administrative region) => [
+ q(0131),
+ q(1),
+ ],
+ q(christmas island) => [
+ q(0047),
+ q(0),
+ ],
+ q(clipperton island) => [
+ q(0256),
+ q(0),
+ ],
+ q(co-operative republic of guyana) => [
+ q(0095),
+ q(1),
+ ],
+ q(cocos (keeling) islands) => [
+ q(0048),
+ q(0),
+ ],
+ q(cocos islands) => [
+ q(0048),
+ q(3),
+ ],
+ q(colombia) => [
+ q(0049),
+ q(0),
+ ],
+ q(commonwealth of australia) => [
+ q(0014),
+ q(1),
+ ],
+ q(commonwealth of dominica) => [
+ q(0063),
+ q(1),
+ ],
+ q(commonwealth of puerto rico) => [
+ q(0179),
+ q(1),
+ ],
+ q(commonwealth of the bahamas) => [
+ q(0017),
+ q(2),
+ ],
+ q(commonwealth of the northern mariana islands) => [
+ q(0165),
+ q(1),
+ ],
+ q(comoros) => [
+ q(0050),
+ q(0),
+ ],
+ q(congo) => [
+ q(0051),
+ q(0),
+ ],
+ q(congo (brazzaville)) => [
+ q(0051),
+ q(1),
+ ],
+ q(congo (kinshasa)) => [
+ q(0052),
+ q(2),
+ ],
+ q(congo, democratic republic of the) => [
+ q(0052),
+ q(3),
+ ],
+ q(congo, republic of the) => [
+ q(0051),
+ q(3),
+ ],
+ q(congo, the democratic republic of the) => [
+ q(0052),
+ q(0),
+ ],
+ q(cook islands) => [
+ q(0053),
+ q(0),
+ ],
+ q(coral sea islands) => [
+ q(0257),
+ q(0),
+ ],
+ q(coral sea islands territory) => [
+ q(0257),
+ q(0),
+ ],
+ q(costa rica) => [
+ q(0054),
+ q(0),
+ ],
+ q(cote d'ivoire) => [
+ q(0055),
+ q(0),
+ ],
+ q(croatia) => [
+ q(0056),
+ q(0),
+ ],
+ q(cuba) => [
+ q(0057),
+ q(0),
+ ],
+ q(curacao) => [
+ q(0058),
+ q(0),
+ ],
+ q(cyprus) => [
+ q(0059),
+ q(0),
+ ],
+ q(czech republic) => [
+ q(0060),
+ q(0),
+ ],
+ q(democratic people's republic of korea) => [
+ q(0118),
+ q(1),
+ ],
+ q(democratic republic of sao tome and principe) => [
+ q(0194),
+ q(1),
+ ],
+ q(democratic republic of the congo) => [
+ q(0052),
+ q(1),
+ ],
+ q(democratic socialist republic of sri lanka) => [
+ q(0210),
+ q(1),
+ ],
+ q(denmark) => [
+ q(0061),
+ q(0),
+ ],
+ q(department of guadeloupe) => [
+ q(0089),
+ q(1),
+ ],
+ q(department of guiana) => [
+ q(0077),
+ q(1),
+ ],
+ q(department of martinique) => [
+ q(0140),
+ q(1),
+ ],
+ q(department of reunion) => [
+ q(0181),
+ q(1),
+ ],
+ q(djibouti) => [
+ q(0062),
+ q(0),
+ ],
+ q(dominica) => [
+ q(0063),
+ q(0),
+ ],
+ q(dominican republic) => [
+ q(0064),
+ q(0),
+ ],
+ q(east timor) => [
+ q(0222),
+ q(1),
+ ],
+ q(ecuador) => [
+ q(0065),
+ q(0),
+ ],
+ q(egypt) => [
+ q(0066),
+ q(0),
+ ],
+ q(el salvador) => [
+ q(0067),
+ q(0),
+ ],
+ q(equatorial guinea) => [
+ q(0068),
+ q(0),
+ ],
+ q(eritrea) => [
+ q(0069),
+ q(0),
+ ],
+ q(estonia) => [
+ q(0070),
+ q(0),
+ ],
+ q(ethiopia) => [
+ q(0071),
+ q(0),
+ ],
+ q(europa island) => [
+ q(0258),
+ q(0),
+ ],
+ q(european union) => [
+ q(0279),
+ q(0),
+ ],
+ q(faeroe islands) => [
+ q(0073),
+ q(1),
+ ],
+ q(falkland islands (islas malvinas)) => [
+ q(0072),
+ q(1),
+ ],
+ q(falkland islands (malvinas)) => [
+ q(0072),
+ q(0),
+ ],
+ q(faroe islands) => [
+ q(0073),
+ q(0),
+ ],
+ q(federal democratic republic of ethiopia) => [
+ q(0071),
+ q(1),
+ ],
+ q(federal islamic republic of the comoros) => [
+ q(0050),
+ q(1),
+ ],
+ q(federal republic of germany) => [
+ q(0083),
+ q(1),
+ ],
+ q(federal republic of nigeria) => [
+ q(0162),
+ q(1),
+ ],
+ q(federated states of micronesia) => [
+ q(0145),
+ q(2),
+ ],
+ q(federation of saint kitts and nevis) => [
+ q(0187),
+ q(1),
+ ],
+ q(federative republic of brazil) => [
+ q(0032),
+ q(1),
+ ],
+ q(fiji) => [
+ q(0074),
+ q(0),
+ ],
+ q(finland) => [
+ q(0075),
+ q(0),
+ ],
+ q(france) => [
+ q(0076),
+ q(0),
+ ],
+ q(french guiana) => [
+ q(0077),
+ q(0),
+ ],
+ q(french polynesia) => [
+ q(0078),
+ q(0),
+ ],
+ q(french republic) => [
+ q(0076),
+ q(1),
+ ],
+ q(french southern and antarctic lands) => [
+ q(0079),
+ q(1),
+ ],
+ q(french southern territories) => [
+ q(0079),
+ q(0),
+ ],
+ q(gabon) => [
+ q(0080),
+ q(0),
+ ],
+ q(gabonese republic) => [
+ q(0080),
+ q(1),
+ ],
+ q(gambia) => [
+ q(0081),
+ q(0),
+ ],
+ q(gambia, the) => [
+ q(0081),
+ q(1),
+ ],
+ q(gaza strip) => [
+ q(0259),
+ q(0),
+ ],
+ q(georgia) => [
+ q(0082),
+ q(0),
+ ],
+ q(germany) => [
+ q(0083),
+ q(0),
+ ],
+ q(ghana) => [
+ q(0084),
+ q(0),
+ ],
+ q(gibraltar) => [
+ q(0085),
+ q(0),
+ ],
+ q(glorioso islands) => [
+ q(0260),
+ q(0),
+ ],
+ q(golan heights (israeli-occupied)) => [
+ q(0217),
+ q(2),
+ ],
+ q(grand duchy of luxembourg) => [
+ q(0130),
+ q(1),
+ ],
+ q(great britain) => [
+ q(0235),
+ q(2),
+ ],
+ q(great socialist people's libyan arab jamahiriya) => [
+ q(0127),
+ q(1),
+ ],
+ q(greece) => [
+ q(0086),
+ q(0),
+ ],
+ q(greenland) => [
+ q(0087),
+ q(0),
+ ],
+ q(grenada) => [
+ q(0088),
+ q(0),
+ ],
+ q(guadeloupe) => [
+ q(0089),
+ q(0),
+ ],
+ q(guam) => [
+ q(0090),
+ q(0),
+ ],
+ q(guatemala) => [
+ q(0091),
+ q(0),
+ ],
+ q(guernsey) => [
+ q(0092),
+ q(0),
+ ],
+ q(guinea) => [
+ q(0093),
+ q(0),
+ ],
+ q(guinea-bissau) => [
+ q(0094),
+ q(0),
+ ],
+ q(guyana) => [
+ q(0095),
+ q(0),
+ ],
+ q(haiti) => [
+ q(0096),
+ q(0),
+ ],
+ q(hashemite kingdom of jordan) => [
+ q(0114),
+ q(1),
+ ],
+ q(heard island and mcdonald islands) => [
+ q(0097),
+ q(0),
+ ],
+ q(hellenic republic) => [
+ q(0086),
+ q(1),
+ ],
+ q(holy see) => [
+ q(0098),
+ q(1),
+ ],
+ q(holy see (vatican city state)) => [
+ q(0098),
+ q(0),
+ ],
+ q(holy see (vatican city)) => [
+ q(0098),
+ q(4),
+ ],
+ q(honduras) => [
+ q(0099),
+ q(0),
+ ],
+ q(hong kong) => [
+ q(0100),
+ q(0),
+ ],
+ q(hong kong s.a.r.) => [
+ q(0100),
+ q(2),
+ ],
+ q(hong kong special administrative region) => [
+ q(0100),
+ q(3),
+ ],
+ q(hong kong special administrative region of china) => [
+ q(0100),
+ q(4),
+ ],
+ q(howland island) => [
+ q(0261),
+ q(0),
+ ],
+ q(hungary) => [
+ q(0101),
+ q(0),
+ ],
+ q(iceland) => [
+ q(0102),
+ q(0),
+ ],
+ q(independent state of papua new guinea) => [
+ q(0172),
+ q(1),
+ ],
+ q(independent state of samoa) => [
+ q(0192),
+ q(1),
+ ],
+ q(india) => [
+ q(0103),
+ q(0),
+ ],
+ q(indonesia) => [
+ q(0104),
+ q(0),
+ ],
+ q(iran) => [
+ q(0105),
+ q(2),
+ ],
+ q(iran (islamic republic of)) => [
+ q(0105),
+ q(1),
+ ],
+ q(iran, islamic republic of) => [
+ q(0105),
+ q(0),
+ ],
+ q(iraq) => [
+ q(0106),
+ q(0),
+ ],
+ q(ireland) => [
+ q(0107),
+ q(0),
+ ],
+ q(islamic republic of iran) => [
+ q(0105),
+ q(3),
+ ],
+ q(islamic republic of mauritania) => [
+ q(0141),
+ q(1),
+ ],
+ q(islamic republic of pakistan) => [
+ q(0168),
+ q(1),
+ ],
+ q(islamic state of afghanistan) => [
+ q(0001),
+ q(1),
+ ],
+ q(isle of man) => [
+ q(0108),
+ q(0),
+ ],
+ q(israel) => [
+ q(0109),
+ q(0),
+ ],
+ q(italian republic) => [
+ q(0110),
+ q(1),
+ ],
+ q(italy) => [
+ q(0110),
+ q(0),
+ ],
+ q(jamaica) => [
+ q(0111),
+ q(0),
+ ],
+ q(jan mayen) => [
+ q(0262),
+ q(0),
+ ],
+ q(japan) => [
+ q(0112),
+ q(0),
+ ],
+ q(jarvis island) => [
+ q(0263),
+ q(0),
+ ],
+ q(jersey) => [
+ q(0113),
+ q(0),
+ ],
+ q(johnston atoll) => [
+ q(0264),
+ q(0),
+ ],
+ q(jordan) => [
+ q(0114),
+ q(0),
+ ],
+ q(juan de nova island) => [
+ q(0265),
+ q(0),
+ ],
+ q(kazakhstan) => [
+ q(0115),
+ q(0),
+ ],
+ q(kazakstan) => [
+ q(0115),
+ q(2),
+ ],
+ q(keeling islands) => [
+ q(0048),
+ q(2),
+ ],
+ q(kenya) => [
+ q(0116),
+ q(0),
+ ],
+ q(kingdom of belgium) => [
+ q(0022),
+ q(1),
+ ],
+ q(kingdom of bhutan) => [
+ q(0026),
+ q(1),
+ ],
+ q(kingdom of cambodia) => [
+ q(0038),
+ q(1),
+ ],
+ q(kingdom of denmark) => [
+ q(0061),
+ q(1),
+ ],
+ q(kingdom of morocco) => [
+ q(0151),
+ q(1),
+ ],
+ q(kingdom of nepal) => [
+ q(0156),
+ q(1),
+ ],
+ q(kingdom of norway) => [
+ q(0166),
+ q(1),
+ ],
+ q(kingdom of saudi arabia) => [
+ q(0195),
+ q(1),
+ ],
+ q(kingdom of spain) => [
+ q(0209),
+ q(1),
+ ],
+ q(kingdom of swaziland) => [
+ q(0214),
+ q(1),
+ ],
+ q(kingdom of sweden) => [
+ q(0215),
+ q(1),
+ ],
+ q(kingdom of thailand) => [
+ q(0221),
+ q(1),
+ ],
+ q(kingdom of the netherlands) => [
+ q(0157),
+ q(1),
+ ],
+ q(kingdom of tonga) => [
+ q(0225),
+ q(1),
+ ],
+ q(kingman reef) => [
+ q(0266),
+ q(0),
+ ],
+ q(kiribati) => [
+ q(0117),
+ q(0),
+ ],
+ q(korea, democratic people's republic of) => [
+ q(0118),
+ q(0),
+ ],
+ q(korea, north) => [
+ q(0118),
+ q(2),
+ ],
+ q(korea, republic of) => [
+ q(0119),
+ q(0),
+ ],
+ q(korea, south) => [
+ q(0119),
+ q(2),
+ ],
+ q(kuwait) => [
+ q(0120),
+ q(0),
+ ],
+ q(kyrgyz republic) => [
+ q(0121),
+ q(1),
+ ],
+ q(kyrgyzstan) => [
+ q(0121),
+ q(0),
+ ],
+ q(lao people's democratic republic) => [
+ q(0122),
+ q(0),
+ ],
+ q(laos) => [
+ q(0122),
+ q(1),
+ ],
+ q(latvia) => [
+ q(0123),
+ q(0),
+ ],
+ q(lebanese republic) => [
+ q(0124),
+ q(1),
+ ],
+ q(lebanon) => [
+ q(0124),
+ q(0),
+ ],
+ q(lesotho) => [
+ q(0125),
+ q(0),
+ ],
+ q(liberia) => [
+ q(0126),
+ q(0),
+ ],
+ q(libya) => [
+ q(0127),
+ q(0),
+ ],
+ q(liechtenstein) => [
+ q(0128),
+ q(0),
+ ],
+ q(lithuania) => [
+ q(0129),
+ q(0),
+ ],
+ q(luxembourg) => [
+ q(0130),
+ q(0),
+ ],
+ q(macao) => [
+ q(0131),
+ q(0),
+ ],
+ q(macao special administrative region of china) => [
+ q(0131),
+ q(6),
+ ],
+ q(macau) => [
+ q(0131),
+ q(5),
+ ],
+ q(macau s.a.r) => [
+ q(0131),
+ q(2),
+ ],
+ q(macau s.a.r.) => [
+ q(0131),
+ q(4),
+ ],
+ q(macau special administrative region) => [
+ q(0131),
+ q(3),
+ ],
+ q(macedonia) => [
+ q(0132),
+ q(2),
+ ],
+ q(macedonia, former yugoslav republic of) => [
+ q(0132),
+ q(4),
+ ],
+ q(macedonia, the former yugoslav republic of) => [
+ q(0132),
+ q(0),
+ ],
+ q(madagascar) => [
+ q(0133),
+ q(0),
+ ],
+ q(malawi) => [
+ q(0134),
+ q(0),
+ ],
+ q(malaysia) => [
+ q(0135),
+ q(0),
+ ],
+ q(maldives) => [
+ q(0136),
+ q(0),
+ ],
+ q(mali) => [
+ q(0137),
+ q(0),
+ ],
+ q(malta) => [
+ q(0138),
+ q(0),
+ ],
+ q(marshall islands) => [
+ q(0139),
+ q(0),
+ ],
+ q(martinique) => [
+ q(0140),
+ q(0),
+ ],
+ q(mauritania) => [
+ q(0141),
+ q(0),
+ ],
+ q(mauritius) => [
+ q(0142),
+ q(0),
+ ],
+ q(mayotte) => [
+ q(0143),
+ q(0),
+ ],
+ q(mexico) => [
+ q(0144),
+ q(0),
+ ],
+ q(micronesia (federated states of)) => [
+ q(0145),
+ q(1),
+ ],
+ q(micronesia, federated states of) => [
+ q(0145),
+ q(0),
+ ],
+ q(midway islands) => [
+ q(0267),
+ q(0),
+ ],
+ q(moldova) => [
+ q(0146),
+ q(2),
+ ],
+ q(moldova, republic of) => [
+ q(0146),
+ q(0),
+ ],
+ q(monaco) => [
+ q(0147),
+ q(0),
+ ],
+ q(mongolia) => [
+ q(0148),
+ q(0),
+ ],
+ q(montenegro) => [
+ q(0149),
+ q(0),
+ ],
+ q(montserrat) => [
+ q(0150),
+ q(0),
+ ],
+ q(morocco) => [
+ q(0151),
+ q(0),
+ ],
+ q(mozambique) => [
+ q(0152),
+ q(0),
+ ],
+ q(myanmar) => [
+ q(0153),
+ q(0),
+ ],
+ q(namibia) => [
+ q(0154),
+ q(0),
+ ],
+ q(nauru) => [
+ q(0155),
+ q(0),
+ ],
+ q(navassa island) => [
+ q(0268),
+ q(0),
+ ],
+ q(negara brunei darussalam) => [
+ q(0034),
+ q(2),
+ ],
+ q(nepal) => [
+ q(0156),
+ q(0),
+ ],
+ q(netherlands) => [
+ q(0157),
+ q(0),
+ ],
+ q(netherlands antilles) => [
+ q(0269),
+ q(0),
+ ],
+ q(new caledonia) => [
+ q(0158),
+ q(0),
+ ],
+ q(new zealand) => [
+ q(0159),
+ q(0),
+ ],
+ q(nicaragua) => [
+ q(0160),
+ q(0),
+ ],
+ q(niger) => [
+ q(0161),
+ q(0),
+ ],
+ q(nigeria) => [
+ q(0162),
+ q(0),
+ ],
+ q(niue) => [
+ q(0163),
+ q(0),
+ ],
+ q(norfolk island) => [
+ q(0164),
+ q(0),
+ ],
+ q(north korea) => [
+ q(0118),
+ q(3),
+ ],
+ q(northern mariana islands) => [
+ q(0165),
+ q(0),
+ ],
+ q(norway) => [
+ q(0166),
+ q(0),
+ ],
+ q(occupied palestinian territory) => [
+ q(0170),
+ q(1),
+ ],
+ q(oman) => [
+ q(0167),
+ q(0),
+ ],
+ q(oriental republic of uruguay) => [
+ q(0238),
+ q(1),
+ ],
+ q(pakistan) => [
+ q(0168),
+ q(0),
+ ],
+ q(palau) => [
+ q(0169),
+ q(0),
+ ],
+ q(palestinian territory, occupied) => [
+ q(0170),
+ q(0),
+ ],
+ q(palmyra atoll) => [
+ q(0270),
+ q(0),
+ ],
+ q(panama) => [
+ q(0171),
+ q(0),
+ ],
+ q(papua new guinea) => [
+ q(0172),
+ q(0),
+ ],
+ q(paracel islands) => [
+ q(0271),
+ q(0),
+ ],
+ q(paraguay) => [
+ q(0173),
+ q(0),
+ ],
+ q(people's democratic republic of algeria) => [
+ q(0004),
+ q(1),
+ ],
+ q(people's republic of bangladesh) => [
+ q(0019),
+ q(1),
+ ],
+ q(people's republic of china) => [
+ q(0046),
+ q(1),
+ ],
+ q(peru) => [
+ q(0174),
+ q(0),
+ ],
+ q(philippines) => [
+ q(0175),
+ q(0),
+ ],
+ q(pitcairn) => [
+ q(0176),
+ q(0),
+ ],
+ q(pitcairn island) => [
+ q(0176),
+ q(3),
+ ],
+ q(pitcairn islands) => [
+ q(0176),
+ q(1),
+ ],
+ q(pitcairn, henderson, ducie and oeno islands) => [
+ q(0176),
+ q(2),
+ ],
+ q(poland) => [
+ q(0177),
+ q(0),
+ ],
+ q(portugal) => [
+ q(0178),
+ q(0),
+ ],
+ q(portuguese republic) => [
+ q(0178),
+ q(1),
+ ],
+ q(portuguese timor) => [
+ q(0281),
+ q(0),
+ ],
+ q(principality of andorra) => [
+ q(0006),
+ q(1),
+ ],
+ q(principality of liechtenstein) => [
+ q(0128),
+ q(1),
+ ],
+ q(principality of monaco) => [
+ q(0147),
+ q(1),
+ ],
+ q(puerto rico) => [
+ q(0179),
+ q(0),
+ ],
+ q(qatar) => [
+ q(0180),
+ q(0),
+ ],
+ q(republic of albania) => [
+ q(0003),
+ q(1),
+ ],
+ q(republic of angola) => [
+ q(0007),
+ q(1),
+ ],
+ q(republic of armenia) => [
+ q(0012),
+ q(1),
+ ],
+ q(republic of austria) => [
+ q(0015),
+ q(1),
+ ],
+ q(republic of azerbaijan) => [
+ q(0016),
+ q(1),
+ ],
+ q(republic of belarus) => [
+ q(0021),
+ q(1),
+ ],
+ q(republic of benin) => [
+ q(0024),
+ q(1),
+ ],
+ q(republic of bolivia) => [
+ q(0027),
+ q(3),
+ ],
+ q(republic of botswana) => [
+ q(0030),
+ q(1),
+ ],
+ q(republic of burundi) => [
+ q(0037),
+ q(1),
+ ],
+ q(republic of cameroon) => [
+ q(0039),
+ q(1),
+ ],
+ q(republic of cape verde) => [
+ q(0041),
+ q(1),
+ ],
+ q(republic of chad) => [
+ q(0044),
+ q(1),
+ ],
+ q(republic of chile) => [
+ q(0045),
+ q(1),
+ ],
+ q(republic of colombia) => [
+ q(0049),
+ q(1),
+ ],
+ q(republic of costa rica) => [
+ q(0054),
+ q(1),
+ ],
+ q(republic of cote d'ivoire) => [
+ q(0055),
+ q(1),
+ ],
+ q(republic of croatia) => [
+ q(0056),
+ q(1),
+ ],
+ q(republic of cuba) => [
+ q(0057),
+ q(1),
+ ],
+ q(republic of cyprus) => [
+ q(0059),
+ q(1),
+ ],
+ q(republic of djibouti) => [
+ q(0062),
+ q(1),
+ ],
+ q(republic of ecuador) => [
+ q(0065),
+ q(1),
+ ],
+ q(republic of el salvador) => [
+ q(0067),
+ q(1),
+ ],
+ q(republic of equatorial guinea) => [
+ q(0068),
+ q(1),
+ ],
+ q(republic of estonia) => [
+ q(0070),
+ q(1),
+ ],
+ q(republic of finland) => [
+ q(0075),
+ q(1),
+ ],
+ q(republic of ghana) => [
+ q(0084),
+ q(1),
+ ],
+ q(republic of guatemala) => [
+ q(0091),
+ q(1),
+ ],
+ q(republic of guinea) => [
+ q(0093),
+ q(1),
+ ],
+ q(republic of guinea-bissau) => [
+ q(0094),
+ q(1),
+ ],
+ q(republic of haiti) => [
+ q(0096),
+ q(1),
+ ],
+ q(republic of honduras) => [
+ q(0099),
+ q(1),
+ ],
+ q(republic of hungary) => [
+ q(0101),
+ q(1),
+ ],
+ q(republic of iceland) => [
+ q(0102),
+ q(1),
+ ],
+ q(republic of india) => [
+ q(0103),
+ q(1),
+ ],
+ q(republic of indonesia) => [
+ q(0104),
+ q(1),
+ ],
+ q(republic of iraq) => [
+ q(0106),
+ q(1),
+ ],
+ q(republic of kazakhstan) => [
+ q(0115),
+ q(1),
+ ],
+ q(republic of kenya) => [
+ q(0116),
+ q(1),
+ ],
+ q(republic of kiribati) => [
+ q(0117),
+ q(1),
+ ],
+ q(republic of korea) => [
+ q(0119),
+ q(1),
+ ],
+ q(republic of latvia) => [
+ q(0123),
+ q(1),
+ ],
+ q(republic of lesotho) => [
+ q(0125),
+ q(1),
+ ],
+ q(republic of liberia) => [
+ q(0126),
+ q(1),
+ ],
+ q(republic of lithuania) => [
+ q(0129),
+ q(1),
+ ],
+ q(republic of macedonia) => [
+ q(0132),
+ q(3),
+ ],
+ q(republic of madagascar) => [
+ q(0133),
+ q(1),
+ ],
+ q(republic of malawi) => [
+ q(0134),
+ q(1),
+ ],
+ q(republic of maldives) => [
+ q(0136),
+ q(1),
+ ],
+ q(republic of mali) => [
+ q(0137),
+ q(1),
+ ],
+ q(republic of malta) => [
+ q(0138),
+ q(1),
+ ],
+ q(republic of mauritius) => [
+ q(0142),
+ q(1),
+ ],
+ q(republic of moldova) => [
+ q(0146),
+ q(1),
+ ],
+ q(republic of mozambique) => [
+ q(0152),
+ q(1),
+ ],
+ q(republic of namibia) => [
+ q(0154),
+ q(1),
+ ],
+ q(republic of nauru) => [
+ q(0155),
+ q(1),
+ ],
+ q(republic of nicaragua) => [
+ q(0160),
+ q(1),
+ ],
+ q(republic of niger) => [
+ q(0161),
+ q(1),
+ ],
+ q(republic of palau) => [
+ q(0169),
+ q(1),
+ ],
+ q(republic of panama) => [
+ q(0171),
+ q(1),
+ ],
+ q(republic of paraguay) => [
+ q(0173),
+ q(1),
+ ],
+ q(republic of peru) => [
+ q(0174),
+ q(1),
+ ],
+ q(republic of poland) => [
+ q(0177),
+ q(1),
+ ],
+ q(republic of san marino) => [
+ q(0193),
+ q(1),
+ ],
+ q(republic of senegal) => [
+ q(0196),
+ q(1),
+ ],
+ q(republic of seychelles) => [
+ q(0198),
+ q(1),
+ ],
+ q(republic of sierra leone) => [
+ q(0199),
+ q(1),
+ ],
+ q(republic of singapore) => [
+ q(0200),
+ q(1),
+ ],
+ q(republic of slovenia) => [
+ q(0203),
+ q(1),
+ ],
+ q(republic of south africa) => [
+ q(0206),
+ q(1),
+ ],
+ q(republic of suriname) => [
+ q(0212),
+ q(1),
+ ],
+ q(republic of tajikistan) => [
+ q(0219),
+ q(1),
+ ],
+ q(republic of the congo) => [
+ q(0051),
+ q(2),
+ ],
+ q(republic of the fiji islands) => [
+ q(0074),
+ q(1),
+ ],
+ q(republic of the gambia) => [
+ q(0081),
+ q(2),
+ ],
+ q(republic of the marshall islands) => [
+ q(0139),
+ q(1),
+ ],
+ q(republic of the philippines) => [
+ q(0175),
+ q(1),
+ ],
+ q(republic of the sudan) => [
+ q(0211),
+ q(1),
+ ],
+ q(republic of trinidad and tobago) => [
+ q(0226),
+ q(1),
+ ],
+ q(republic of tunisia) => [
+ q(0227),
+ q(1),
+ ],
+ q(republic of turkey) => [
+ q(0228),
+ q(1),
+ ],
+ q(republic of uzbekistan) => [
+ q(0239),
+ q(1),
+ ],
+ q(republic of vanuatu) => [
+ q(0240),
+ q(1),
+ ],
+ q(republic of yemen) => [
+ q(0247),
+ q(1),
+ ],
+ q(republic of zambia) => [
+ q(0248),
+ q(1),
+ ],
+ q(republic of zimbabwe) => [
+ q(0249),
+ q(1),
+ ],
+ q(reunion) => [
+ q(0181),
+ q(0),
+ ],
+ q(romania) => [
+ q(0182),
+ q(0),
+ ],
+ q(russia) => [
+ q(0183),
+ q(1),
+ ],
+ q(russian federation) => [
+ q(0183),
+ q(0),
+ ],
+ q(rwanda) => [
+ q(0184),
+ q(0),
+ ],
+ q(rwandese republic) => [
+ q(0184),
+ q(1),
+ ],
+ q(saint barthelemy) => [
+ q(0185),
+ q(0),
+ ],
+ q(saint helena) => [
+ q(0186),
+ q(1),
+ ],
+ q(saint helena, ascension and tristan da cunha) => [
+ q(0186),
+ q(0),
+ ],
+ q(saint kitts and nevis) => [
+ q(0187),
+ q(0),
+ ],
+ q(saint lucia) => [
+ q(0188),
+ q(0),
+ ],
+ q(saint martin) => [
+ q(0189),
+ q(3),
+ ],
+ q(saint martin (french part)) => [
+ q(0189),
+ q(0),
+ ],
+ q(saint pierre and miquelon) => [
+ q(0190),
+ q(0),
+ ],
+ q(saint vincent and the grenadines) => [
+ q(0191),
+ q(0),
+ ],
+ q(saint-barthelemy) => [
+ q(0185),
+ q(1),
+ ],
+ q(saint-martin) => [
+ q(0189),
+ q(2),
+ ],
+ q(saint-martin (french part)) => [
+ q(0189),
+ q(1),
+ ],
+ q(samoa) => [
+ q(0192),
+ q(0),
+ ],
+ q(san marino) => [
+ q(0193),
+ q(0),
+ ],
+ q(sao tome and principe) => [
+ q(0194),
+ q(0),
+ ],
+ q(sark) => [
+ q(0251),
+ q(0),
+ ],
+ q(saudi arabia) => [
+ q(0195),
+ q(0),
+ ],
+ q(senegal) => [
+ q(0196),
+ q(0),
+ ],
+ q(serbia) => [
+ q(0197),
+ q(0),
+ ],
+ q(serbia and montenegro) => [
+ q(0252),
+ q(0),
+ ],
+ q(seychelles) => [
+ q(0198),
+ q(0),
+ ],
+ q(sierra leone) => [
+ q(0199),
+ q(0),
+ ],
+ q(singapore) => [
+ q(0200),
+ q(0),
+ ],
+ q(sint maarten (dutch part)) => [
+ q(0201),
+ q(0),
+ ],
+ q(slovak republic) => [
+ q(0202),
+ q(1),
+ ],
+ q(slovakia) => [
+ q(0202),
+ q(0),
+ ],
+ q(slovenia) => [
+ q(0203),
+ q(0),
+ ],
+ q(socialist republic of vietnam) => [
+ q(0242),
+ q(2),
+ ],
+ q(solomon islands) => [
+ q(0204),
+ q(0),
+ ],
+ q(somalia) => [
+ q(0205),
+ q(0),
+ ],
+ q(south africa) => [
+ q(0206),
+ q(0),
+ ],
+ q(south georgia and the islands) => [
+ q(0207),
+ q(1),
+ ],
+ q(south georgia and the south sandwich islands) => [
+ q(0207),
+ q(0),
+ ],
+ q(south korea) => [
+ q(0119),
+ q(3),
+ ],
+ q(south sudan) => [
+ q(0208),
+ q(0),
+ ],
+ q(soviet union) => [
+ q(0280),
+ q(0),
+ ],
+ q(spain) => [
+ q(0209),
+ q(0),
+ ],
+ q(spratly islands) => [
+ q(0272),
+ q(0),
+ ],
+ q(sri lanka) => [
+ q(0210),
+ q(0),
+ ],
+ q(state of bahrain) => [
+ q(0018),
+ q(1),
+ ],
+ q(state of eritrea) => [
+ q(0069),
+ q(1),
+ ],
+ q(state of israel) => [
+ q(0109),
+ q(1),
+ ],
+ q(state of kuwait) => [
+ q(0120),
+ q(1),
+ ],
+ q(state of qatar) => [
+ q(0180),
+ q(1),
+ ],
+ q(state of the vatican city) => [
+ q(0098),
+ q(3),
+ ],
+ q(sudan) => [
+ q(0211),
+ q(0),
+ ],
+ q(sultanate of oman) => [
+ q(0167),
+ q(1),
+ ],
+ q(suriname) => [
+ q(0212),
+ q(0),
+ ],
+ q(svalbard) => [
+ q(0273),
+ q(0),
+ ],
+ q(svalbard and jan mayen) => [
+ q(0213),
+ q(0),
+ ],
+ q(svalbard and jan mayen islands) => [
+ q(0213),
+ q(1),
+ ],
+ q(swaziland) => [
+ q(0214),
+ q(0),
+ ],
+ q(sweden) => [
+ q(0215),
+ q(0),
+ ],
+ q(swiss confederation) => [
+ q(0216),
+ q(1),
+ ],
+ q(switzerland) => [
+ q(0216),
+ q(0),
+ ],
+ q(syria) => [
+ q(0217),
+ q(1),
+ ],
+ q(syrian arab republic) => [
+ q(0217),
+ q(0),
+ ],
+ q(taiwan) => [
+ q(0218),
+ q(1),
+ ],
+ q(taiwan, province of china) => [
+ q(0218),
+ q(0),
+ ],
+ q(tajikistan) => [
+ q(0219),
+ q(0),
+ ],
+ q(tanzania) => [
+ q(0220),
+ q(2),
+ ],
+ q(tanzania, united republic of) => [
+ q(0220),
+ q(0),
+ ],
+ q(territorial collectivity of mayotte) => [
+ q(0143),
+ q(1),
+ ],
+ q(territorial collectivity of saint pierre and miquelon) => [
+ q(0190),
+ q(1),
+ ],
+ q(territory of american samoa) => [
+ q(0005),
+ q(1),
+ ],
+ q(territory of ashmore and cartier islands) => [
+ q(0253),
+ q(0),
+ ],
+ q(territory of christmas island) => [
+ q(0047),
+ q(1),
+ ],
+ q(territory of cocos (keeling) islands) => [
+ q(0048),
+ q(1),
+ ],
+ q(territory of french polynesia) => [
+ q(0078),
+ q(1),
+ ],
+ q(territory of guam) => [
+ q(0090),
+ q(1),
+ ],
+ q(territory of heard island and mcdonald islands) => [
+ q(0097),
+ q(1),
+ ],
+ q(territory of new caledonia and dependencies) => [
+ q(0158),
+ q(1),
+ ],
+ q(territory of norfolk island) => [
+ q(0164),
+ q(1),
+ ],
+ q(territory of the french southern and antarctic lands) => [
+ q(0079),
+ q(2),
+ ],
+ q(territory of the wallis and futuna islands) => [
+ q(0245),
+ q(2),
+ ],
+ q(thailand) => [
+ q(0221),
+ q(0),
+ ],
+ q(the bahamas) => [
+ q(0017),
+ q(3),
+ ],
+ q(the democratic republic of the congo) => [
+ q(0052),
+ q(4),
+ ],
+ q(the former yugoslav republic of macedonia) => [
+ q(0132),
+ q(1),
+ ],
+ q(the republic of the congo) => [
+ q(0051),
+ q(4),
+ ],
+ q(timor-leste) => [
+ q(0222),
+ q(0),
+ ],
+ q(togo) => [
+ q(0223),
+ q(0),
+ ],
+ q(togolese republic) => [
+ q(0223),
+ q(1),
+ ],
+ q(tokelau) => [
+ q(0224),
+ q(0),
+ ],
+ q(tonga) => [
+ q(0225),
+ q(0),
+ ],
+ q(trinidad and tobago) => [
+ q(0226),
+ q(0),
+ ],
+ q(tromelin island) => [
+ q(0274),
+ q(0),
+ ],
+ q(tunisia) => [
+ q(0227),
+ q(0),
+ ],
+ q(turkey) => [
+ q(0228),
+ q(0),
+ ],
+ q(turkmenistan) => [
+ q(0229),
+ q(0),
+ ],
+ q(turks and caicos islands) => [
+ q(0230),
+ q(0),
+ ],
+ q(tuvalu) => [
+ q(0231),
+ q(0),
+ ],
+ q(uganda) => [
+ q(0232),
+ q(0),
+ ],
+ q(uk) => [
+ q(0235),
+ q(3),
+ ],
+ q(ukraine) => [
+ q(0233),
+ q(0),
+ ],
+ q(union of burma) => [
+ q(0153),
+ q(2),
+ ],
+ q(united arab emirates) => [
+ q(0234),
+ q(0),
+ ],
+ q(united kingdom) => [
+ q(0235),
+ q(0),
+ ],
+ q(united kingdom of great britain and northern ireland) => [
+ q(0235),
+ q(1),
+ ],
+ q(united mexican states) => [
+ q(0144),
+ q(1),
+ ],
+ q(united republic of tanzania) => [
+ q(0220),
+ q(1),
+ ],
+ q(united states) => [
+ q(0236),
+ q(0),
+ ],
+ q(united states minor outlying islands) => [
+ q(0237),
+ q(0),
+ ],
+ q(united states of america) => [
+ q(0236),
+ q(1),
+ ],
+ q(united states virgin islands) => [
+ q(0244),
+ q(1),
+ ],
+ q(uruguay) => [
+ q(0238),
+ q(0),
+ ],
+ q(us) => [
+ q(0236),
+ q(2),
+ ],
+ q(usa) => [
+ q(0236),
+ q(3),
+ ],
+ q(uzbekistan) => [
+ q(0239),
+ q(0),
+ ],
+ q(vanuatu) => [
+ q(0240),
+ q(0),
+ ],
+ q(vatican city) => [
+ q(0098),
+ q(2),
+ ],
+ q(venezuela) => [
+ q(0241),
+ q(2),
+ ],
+ q(venezuela (bolivarian republic of)) => [
+ q(0241),
+ q(1),
+ ],
+ q(venezuela, bolivarian republic of) => [
+ q(0241),
+ q(0),
+ ],
+ q(viet nam) => [
+ q(0242),
+ q(0),
+ ],
+ q(vietnam) => [
+ q(0242),
+ q(1),
+ ],
+ q(virgin islands) => [
+ q(0244),
+ q(2),
+ ],
+ q(virgin islands (uk)) => [
+ q(0243),
+ q(2),
+ ],
+ q(virgin islands (us)) => [
+ q(0244),
+ q(4),
+ ],
+ q(virgin islands of the united states) => [
+ q(0244),
+ q(3),
+ ],
+ q(virgin islands, british) => [
+ q(0243),
+ q(0),
+ ],
+ q(virgin islands, u.s.) => [
+ q(0244),
+ q(0),
+ ],
+ q(wake atoll) => [
+ q(0275),
+ q(0),
+ ],
+ q(wallis and futuna) => [
+ q(0245),
+ q(0),
+ ],
+ q(wallis and futuna islands) => [
+ q(0245),
+ q(1),
+ ],
+ q(west bank) => [
+ q(0276),
+ q(0),
+ ],
+ q(western sahara) => [
+ q(0246),
+ q(0),
+ ],
+ q(yemen) => [
+ q(0247),
+ q(0),
+ ],
+ q(zambia) => [
+ q(0248),
+ q(0),
+ ],
+ q(zimbabwe) => [
+ q(0249),
+ q(0),
+ ],
+};
+
+$Locale::Codes::Data{'country'}{'code2id'} = {
+ q(alpha-2) => {
+ q(ad) => [
+ q(0006),
+ q(0),
+ ],
+ q(ae) => [
+ q(0234),
+ q(0),
+ ],
+ q(af) => [
+ q(0001),
+ q(0),
+ ],
+ q(ag) => [
+ q(0010),
+ q(0),
+ ],
+ q(ai) => [
+ q(0008),
+ q(0),
+ ],
+ q(al) => [
+ q(0003),
+ q(0),
+ ],
+ q(am) => [
+ q(0012),
+ q(0),
+ ],
+ q(ao) => [
+ q(0007),
+ q(0),
+ ],
+ q(aq) => [
+ q(0009),
+ q(0),
+ ],
+ q(ar) => [
+ q(0011),
+ q(0),
+ ],
+ q(as) => [
+ q(0005),
+ q(0),
+ ],
+ q(at) => [
+ q(0015),
+ q(0),
+ ],
+ q(au) => [
+ q(0014),
+ q(0),
+ ],
+ q(aw) => [
+ q(0013),
+ q(0),
+ ],
+ q(ax) => [
+ q(0002),
+ q(0),
+ ],
+ q(az) => [
+ q(0016),
+ q(0),
+ ],
+ q(ba) => [
+ q(0029),
+ q(0),
+ ],
+ q(bb) => [
+ q(0020),
+ q(0),
+ ],
+ q(bd) => [
+ q(0019),
+ q(0),
+ ],
+ q(be) => [
+ q(0022),
+ q(0),
+ ],
+ q(bf) => [
+ q(0036),
+ q(0),
+ ],
+ q(bg) => [
+ q(0035),
+ q(0),
+ ],
+ q(bh) => [
+ q(0018),
+ q(0),
+ ],
+ q(bi) => [
+ q(0037),
+ q(0),
+ ],
+ q(bj) => [
+ q(0024),
+ q(0),
+ ],
+ q(bl) => [
+ q(0185),
+ q(0),
+ ],
+ q(bm) => [
+ q(0025),
+ q(0),
+ ],
+ q(bn) => [
+ q(0034),
+ q(0),
+ ],
+ q(bo) => [
+ q(0027),
+ q(0),
+ ],
+ q(bq) => [
+ q(0028),
+ q(0),
+ ],
+ q(br) => [
+ q(0032),
+ q(0),
+ ],
+ q(bs) => [
+ q(0017),
+ q(0),
+ ],
+ q(bt) => [
+ q(0026),
+ q(0),
+ ],
+ q(bv) => [
+ q(0031),
+ q(0),
+ ],
+ q(bw) => [
+ q(0030),
+ q(0),
+ ],
+ q(by) => [
+ q(0021),
+ q(0),
+ ],
+ q(bz) => [
+ q(0023),
+ q(0),
+ ],
+ q(ca) => [
+ q(0040),
+ q(0),
+ ],
+ q(cc) => [
+ q(0048),
+ q(0),
+ ],
+ q(cd) => [
+ q(0052),
+ q(0),
+ ],
+ q(cf) => [
+ q(0043),
+ q(0),
+ ],
+ q(cg) => [
+ q(0051),
+ q(0),
+ ],
+ q(ch) => [
+ q(0216),
+ q(0),
+ ],
+ q(ci) => [
+ q(0055),
+ q(0),
+ ],
+ q(ck) => [
+ q(0053),
+ q(0),
+ ],
+ q(cl) => [
+ q(0045),
+ q(0),
+ ],
+ q(cm) => [
+ q(0039),
+ q(0),
+ ],
+ q(cn) => [
+ q(0046),
+ q(0),
+ ],
+ q(co) => [
+ q(0049),
+ q(0),
+ ],
+ q(cr) => [
+ q(0054),
+ q(0),
+ ],
+ q(cu) => [
+ q(0057),
+ q(0),
+ ],
+ q(cv) => [
+ q(0041),
+ q(0),
+ ],
+ q(cw) => [
+ q(0058),
+ q(0),
+ ],
+ q(cx) => [
+ q(0047),
+ q(0),
+ ],
+ q(cy) => [
+ q(0059),
+ q(0),
+ ],
+ q(cz) => [
+ q(0060),
+ q(0),
+ ],
+ q(de) => [
+ q(0083),
+ q(0),
+ ],
+ q(dj) => [
+ q(0062),
+ q(0),
+ ],
+ q(dk) => [
+ q(0061),
+ q(0),
+ ],
+ q(dm) => [
+ q(0063),
+ q(0),
+ ],
+ q(do) => [
+ q(0064),
+ q(0),
+ ],
+ q(dz) => [
+ q(0004),
+ q(0),
+ ],
+ q(ec) => [
+ q(0065),
+ q(0),
+ ],
+ q(ee) => [
+ q(0070),
+ q(0),
+ ],
+ q(eg) => [
+ q(0066),
+ q(0),
+ ],
+ q(eh) => [
+ q(0246),
+ q(0),
+ ],
+ q(er) => [
+ q(0069),
+ q(0),
+ ],
+ q(es) => [
+ q(0209),
+ q(0),
+ ],
+ q(et) => [
+ q(0071),
+ q(0),
+ ],
+ q(fi) => [
+ q(0075),
+ q(0),
+ ],
+ q(fj) => [
+ q(0074),
+ q(0),
+ ],
+ q(fk) => [
+ q(0072),
+ q(0),
+ ],
+ q(fm) => [
+ q(0145),
+ q(0),
+ ],
+ q(fo) => [
+ q(0073),
+ q(0),
+ ],
+ q(fr) => [
+ q(0076),
+ q(0),
+ ],
+ q(ga) => [
+ q(0080),
+ q(0),
+ ],
+ q(gb) => [
+ q(0235),
+ q(0),
+ ],
+ q(gd) => [
+ q(0088),
+ q(0),
+ ],
+ q(ge) => [
+ q(0082),
+ q(0),
+ ],
+ q(gf) => [
+ q(0077),
+ q(0),
+ ],
+ q(gg) => [
+ q(0092),
+ q(0),
+ ],
+ q(gh) => [
+ q(0084),
+ q(0),
+ ],
+ q(gi) => [
+ q(0085),
+ q(0),
+ ],
+ q(gl) => [
+ q(0087),
+ q(0),
+ ],
+ q(gm) => [
+ q(0081),
+ q(0),
+ ],
+ q(gn) => [
+ q(0093),
+ q(0),
+ ],
+ q(gp) => [
+ q(0089),
+ q(0),
+ ],
+ q(gq) => [
+ q(0068),
+ q(0),
+ ],
+ q(gr) => [
+ q(0086),
+ q(0),
+ ],
+ q(gs) => [
+ q(0207),
+ q(0),
+ ],
+ q(gt) => [
+ q(0091),
+ q(0),
+ ],
+ q(gu) => [
+ q(0090),
+ q(0),
+ ],
+ q(gw) => [
+ q(0094),
+ q(0),
+ ],
+ q(gy) => [
+ q(0095),
+ q(0),
+ ],
+ q(hk) => [
+ q(0100),
+ q(0),
+ ],
+ q(hm) => [
+ q(0097),
+ q(0),
+ ],
+ q(hn) => [
+ q(0099),
+ q(0),
+ ],
+ q(hr) => [
+ q(0056),
+ q(0),
+ ],
+ q(ht) => [
+ q(0096),
+ q(0),
+ ],
+ q(hu) => [
+ q(0101),
+ q(0),
+ ],
+ q(id) => [
+ q(0104),
+ q(0),
+ ],
+ q(ie) => [
+ q(0107),
+ q(0),
+ ],
+ q(il) => [
+ q(0109),
+ q(0),
+ ],
+ q(im) => [
+ q(0108),
+ q(0),
+ ],
+ q(in) => [
+ q(0103),
+ q(0),
+ ],
+ q(io) => [
+ q(0033),
+ q(0),
+ ],
+ q(iq) => [
+ q(0106),
+ q(0),
+ ],
+ q(ir) => [
+ q(0105),
+ q(0),
+ ],
+ q(is) => [
+ q(0102),
+ q(0),
+ ],
+ q(it) => [
+ q(0110),
+ q(0),
+ ],
+ q(je) => [
+ q(0113),
+ q(0),
+ ],
+ q(jm) => [
+ q(0111),
+ q(0),
+ ],
+ q(jo) => [
+ q(0114),
+ q(0),
+ ],
+ q(jp) => [
+ q(0112),
+ q(0),
+ ],
+ q(ke) => [
+ q(0116),
+ q(0),
+ ],
+ q(kg) => [
+ q(0121),
+ q(0),
+ ],
+ q(kh) => [
+ q(0038),
+ q(0),
+ ],
+ q(ki) => [
+ q(0117),
+ q(0),
+ ],
+ q(km) => [
+ q(0050),
+ q(0),
+ ],
+ q(kn) => [
+ q(0187),
+ q(0),
+ ],
+ q(kp) => [
+ q(0118),
+ q(0),
+ ],
+ q(kr) => [
+ q(0119),
+ q(0),
+ ],
+ q(kw) => [
+ q(0120),
+ q(0),
+ ],
+ q(ky) => [
+ q(0042),
+ q(0),
+ ],
+ q(kz) => [
+ q(0115),
+ q(0),
+ ],
+ q(la) => [
+ q(0122),
+ q(0),
+ ],
+ q(lb) => [
+ q(0124),
+ q(0),
+ ],
+ q(lc) => [
+ q(0188),
+ q(0),
+ ],
+ q(li) => [
+ q(0128),
+ q(0),
+ ],
+ q(lk) => [
+ q(0210),
+ q(0),
+ ],
+ q(lr) => [
+ q(0126),
+ q(0),
+ ],
+ q(ls) => [
+ q(0125),
+ q(0),
+ ],
+ q(lt) => [
+ q(0129),
+ q(0),
+ ],
+ q(lu) => [
+ q(0130),
+ q(0),
+ ],
+ q(lv) => [
+ q(0123),
+ q(0),
+ ],
+ q(ly) => [
+ q(0127),
+ q(0),
+ ],
+ q(ma) => [
+ q(0151),
+ q(0),
+ ],
+ q(mc) => [
+ q(0147),
+ q(0),
+ ],
+ q(md) => [
+ q(0146),
+ q(0),
+ ],
+ q(me) => [
+ q(0149),
+ q(0),
+ ],
+ q(mf) => [
+ q(0189),
+ q(0),
+ ],
+ q(mg) => [
+ q(0133),
+ q(0),
+ ],
+ q(mh) => [
+ q(0139),
+ q(0),
+ ],
+ q(mk) => [
+ q(0132),
+ q(0),
+ ],
+ q(ml) => [
+ q(0137),
+ q(0),
+ ],
+ q(mm) => [
+ q(0153),
+ q(0),
+ ],
+ q(mn) => [
+ q(0148),
+ q(0),
+ ],
+ q(mo) => [
+ q(0131),
+ q(0),
+ ],
+ q(mp) => [
+ q(0165),
+ q(0),
+ ],
+ q(mq) => [
+ q(0140),
+ q(0),
+ ],
+ q(mr) => [
+ q(0141),
+ q(0),
+ ],
+ q(ms) => [
+ q(0150),
+ q(0),
+ ],
+ q(mt) => [
+ q(0138),
+ q(0),
+ ],
+ q(mu) => [
+ q(0142),
+ q(0),
+ ],
+ q(mv) => [
+ q(0136),
+ q(0),
+ ],
+ q(mw) => [
+ q(0134),
+ q(0),
+ ],
+ q(mx) => [
+ q(0144),
+ q(0),
+ ],
+ q(my) => [
+ q(0135),
+ q(0),
+ ],
+ q(mz) => [
+ q(0152),
+ q(0),
+ ],
+ q(na) => [
+ q(0154),
+ q(0),
+ ],
+ q(nc) => [
+ q(0158),
+ q(0),
+ ],
+ q(ne) => [
+ q(0161),
+ q(0),
+ ],
+ q(nf) => [
+ q(0164),
+ q(0),
+ ],
+ q(ng) => [
+ q(0162),
+ q(0),
+ ],
+ q(ni) => [
+ q(0160),
+ q(0),
+ ],
+ q(nl) => [
+ q(0157),
+ q(0),
+ ],
+ q(no) => [
+ q(0166),
+ q(0),
+ ],
+ q(np) => [
+ q(0156),
+ q(0),
+ ],
+ q(nr) => [
+ q(0155),
+ q(0),
+ ],
+ q(nu) => [
+ q(0163),
+ q(0),
+ ],
+ q(nz) => [
+ q(0159),
+ q(0),
+ ],
+ q(om) => [
+ q(0167),
+ q(0),
+ ],
+ q(pa) => [
+ q(0171),
+ q(0),
+ ],
+ q(pe) => [
+ q(0174),
+ q(0),
+ ],
+ q(pf) => [
+ q(0078),
+ q(0),
+ ],
+ q(pg) => [
+ q(0172),
+ q(0),
+ ],
+ q(ph) => [
+ q(0175),
+ q(0),
+ ],
+ q(pk) => [
+ q(0168),
+ q(0),
+ ],
+ q(pl) => [
+ q(0177),
+ q(0),
+ ],
+ q(pm) => [
+ q(0190),
+ q(0),
+ ],
+ q(pn) => [
+ q(0176),
+ q(0),
+ ],
+ q(pr) => [
+ q(0179),
+ q(0),
+ ],
+ q(ps) => [
+ q(0170),
+ q(0),
+ ],
+ q(pt) => [
+ q(0178),
+ q(0),
+ ],
+ q(pw) => [
+ q(0169),
+ q(0),
+ ],
+ q(py) => [
+ q(0173),
+ q(0),
+ ],
+ q(qa) => [
+ q(0180),
+ q(0),
+ ],
+ q(re) => [
+ q(0181),
+ q(0),
+ ],
+ q(ro) => [
+ q(0182),
+ q(0),
+ ],
+ q(rs) => [
+ q(0197),
+ q(0),
+ ],
+ q(ru) => [
+ q(0183),
+ q(0),
+ ],
+ q(rw) => [
+ q(0184),
+ q(0),
+ ],
+ q(sa) => [
+ q(0195),
+ q(0),
+ ],
+ q(sb) => [
+ q(0204),
+ q(0),
+ ],
+ q(sc) => [
+ q(0198),
+ q(0),
+ ],
+ q(sd) => [
+ q(0211),
+ q(0),
+ ],
+ q(se) => [
+ q(0215),
+ q(0),
+ ],
+ q(sg) => [
+ q(0200),
+ q(0),
+ ],
+ q(sh) => [
+ q(0186),
+ q(0),
+ ],
+ q(si) => [
+ q(0203),
+ q(0),
+ ],
+ q(sj) => [
+ q(0213),
+ q(0),
+ ],
+ q(sk) => [
+ q(0202),
+ q(0),
+ ],
+ q(sl) => [
+ q(0199),
+ q(0),
+ ],
+ q(sm) => [
+ q(0193),
+ q(0),
+ ],
+ q(sn) => [
+ q(0196),
+ q(0),
+ ],
+ q(so) => [
+ q(0205),
+ q(0),
+ ],
+ q(sr) => [
+ q(0212),
+ q(0),
+ ],
+ q(ss) => [
+ q(0208),
+ q(0),
+ ],
+ q(st) => [
+ q(0194),
+ q(0),
+ ],
+ q(sv) => [
+ q(0067),
+ q(0),
+ ],
+ q(sx) => [
+ q(0201),
+ q(0),
+ ],
+ q(sy) => [
+ q(0217),
+ q(0),
+ ],
+ q(sz) => [
+ q(0214),
+ q(0),
+ ],
+ q(tc) => [
+ q(0230),
+ q(0),
+ ],
+ q(td) => [
+ q(0044),
+ q(0),
+ ],
+ q(tf) => [
+ q(0079),
+ q(0),
+ ],
+ q(tg) => [
+ q(0223),
+ q(0),
+ ],
+ q(th) => [
+ q(0221),
+ q(0),
+ ],
+ q(tj) => [
+ q(0219),
+ q(0),
+ ],
+ q(tk) => [
+ q(0224),
+ q(0),
+ ],
+ q(tl) => [
+ q(0222),
+ q(0),
+ ],
+ q(tm) => [
+ q(0229),
+ q(0),
+ ],
+ q(tn) => [
+ q(0227),
+ q(0),
+ ],
+ q(to) => [
+ q(0225),
+ q(0),
+ ],
+ q(tr) => [
+ q(0228),
+ q(0),
+ ],
+ q(tt) => [
+ q(0226),
+ q(0),
+ ],
+ q(tv) => [
+ q(0231),
+ q(0),
+ ],
+ q(tw) => [
+ q(0218),
+ q(0),
+ ],
+ q(tz) => [
+ q(0220),
+ q(0),
+ ],
+ q(ua) => [
+ q(0233),
+ q(0),
+ ],
+ q(ug) => [
+ q(0232),
+ q(0),
+ ],
+ q(um) => [
+ q(0237),
+ q(0),
+ ],
+ q(us) => [
+ q(0236),
+ q(0),
+ ],
+ q(uy) => [
+ q(0238),
+ q(0),
+ ],
+ q(uz) => [
+ q(0239),
+ q(0),
+ ],
+ q(va) => [
+ q(0098),
+ q(0),
+ ],
+ q(vc) => [
+ q(0191),
+ q(0),
+ ],
+ q(ve) => [
+ q(0241),
+ q(0),
+ ],
+ q(vg) => [
+ q(0243),
+ q(0),
+ ],
+ q(vi) => [
+ q(0244),
+ q(0),
+ ],
+ q(vn) => [
+ q(0242),
+ q(0),
+ ],
+ q(vu) => [
+ q(0240),
+ q(0),
+ ],
+ q(wf) => [
+ q(0245),
+ q(0),
+ ],
+ q(ws) => [
+ q(0192),
+ q(0),
+ ],
+ q(ye) => [
+ q(0247),
+ q(0),
+ ],
+ q(yt) => [
+ q(0143),
+ q(0),
+ ],
+ q(za) => [
+ q(0206),
+ q(0),
+ ],
+ q(zm) => [
+ q(0248),
+ q(0),
+ ],
+ q(zw) => [
+ q(0249),
+ q(0),
+ ],
+ },
+ q(alpha-3) => {
+ q(abw) => [
+ q(0013),
+ q(0),
+ ],
+ q(afg) => [
+ q(0001),
+ q(0),
+ ],
+ q(ago) => [
+ q(0007),
+ q(0),
+ ],
+ q(aia) => [
+ q(0008),
+ q(0),
+ ],
+ q(ala) => [
+ q(0002),
+ q(0),
+ ],
+ q(alb) => [
+ q(0003),
+ q(0),
+ ],
+ q(and) => [
+ q(0006),
+ q(0),
+ ],
+ q(are) => [
+ q(0234),
+ q(0),
+ ],
+ q(arg) => [
+ q(0011),
+ q(0),
+ ],
+ q(arm) => [
+ q(0012),
+ q(0),
+ ],
+ q(asm) => [
+ q(0005),
+ q(0),
+ ],
+ q(atg) => [
+ q(0010),
+ q(0),
+ ],
+ q(aus) => [
+ q(0014),
+ q(0),
+ ],
+ q(aut) => [
+ q(0015),
+ q(0),
+ ],
+ q(aze) => [
+ q(0016),
+ q(0),
+ ],
+ q(bdi) => [
+ q(0037),
+ q(0),
+ ],
+ q(bel) => [
+ q(0022),
+ q(0),
+ ],
+ q(ben) => [
+ q(0024),
+ q(0),
+ ],
+ q(bes) => [
+ q(0028),
+ q(0),
+ ],
+ q(bfa) => [
+ q(0036),
+ q(0),
+ ],
+ q(bgd) => [
+ q(0019),
+ q(0),
+ ],
+ q(bgr) => [
+ q(0035),
+ q(0),
+ ],
+ q(bhr) => [
+ q(0018),
+ q(0),
+ ],
+ q(bhs) => [
+ q(0017),
+ q(0),
+ ],
+ q(bih) => [
+ q(0029),
+ q(0),
+ ],
+ q(blm) => [
+ q(0185),
+ q(1),
+ ],
+ q(blr) => [
+ q(0021),
+ q(0),
+ ],
+ q(blz) => [
+ q(0023),
+ q(0),
+ ],
+ q(bmu) => [
+ q(0025),
+ q(0),
+ ],
+ q(bol) => [
+ q(0027),
+ q(1),
+ ],
+ q(bra) => [
+ q(0032),
+ q(0),
+ ],
+ q(brb) => [
+ q(0020),
+ q(0),
+ ],
+ q(brn) => [
+ q(0034),
+ q(0),
+ ],
+ q(btn) => [
+ q(0026),
+ q(0),
+ ],
+ q(bwa) => [
+ q(0030),
+ q(0),
+ ],
+ q(caf) => [
+ q(0043),
+ q(0),
+ ],
+ q(can) => [
+ q(0040),
+ q(0),
+ ],
+ q(che) => [
+ q(0216),
+ q(0),
+ ],
+ q(chl) => [
+ q(0045),
+ q(0),
+ ],
+ q(chn) => [
+ q(0046),
+ q(0),
+ ],
+ q(civ) => [
+ q(0055),
+ q(0),
+ ],
+ q(cmr) => [
+ q(0039),
+ q(0),
+ ],
+ q(cod) => [
+ q(0052),
+ q(1),
+ ],
+ q(cog) => [
+ q(0051),
+ q(0),
+ ],
+ q(cok) => [
+ q(0053),
+ q(0),
+ ],
+ q(col) => [
+ q(0049),
+ q(0),
+ ],
+ q(com) => [
+ q(0050),
+ q(0),
+ ],
+ q(cpv) => [
+ q(0041),
+ q(0),
+ ],
+ q(cri) => [
+ q(0054),
+ q(0),
+ ],
+ q(cub) => [
+ q(0057),
+ q(0),
+ ],
+ q(cuw) => [
+ q(0058),
+ q(0),
+ ],
+ q(cym) => [
+ q(0042),
+ q(0),
+ ],
+ q(cyp) => [
+ q(0059),
+ q(0),
+ ],
+ q(cze) => [
+ q(0060),
+ q(0),
+ ],
+ q(deu) => [
+ q(0083),
+ q(0),
+ ],
+ q(dji) => [
+ q(0062),
+ q(0),
+ ],
+ q(dma) => [
+ q(0063),
+ q(0),
+ ],
+ q(dnk) => [
+ q(0061),
+ q(0),
+ ],
+ q(dom) => [
+ q(0064),
+ q(0),
+ ],
+ q(dza) => [
+ q(0004),
+ q(0),
+ ],
+ q(ecu) => [
+ q(0065),
+ q(0),
+ ],
+ q(egy) => [
+ q(0066),
+ q(0),
+ ],
+ q(eri) => [
+ q(0069),
+ q(0),
+ ],
+ q(esh) => [
+ q(0246),
+ q(0),
+ ],
+ q(esp) => [
+ q(0209),
+ q(0),
+ ],
+ q(est) => [
+ q(0070),
+ q(0),
+ ],
+ q(eth) => [
+ q(0071),
+ q(0),
+ ],
+ q(fin) => [
+ q(0075),
+ q(0),
+ ],
+ q(fji) => [
+ q(0074),
+ q(0),
+ ],
+ q(flk) => [
+ q(0072),
+ q(0),
+ ],
+ q(fra) => [
+ q(0076),
+ q(0),
+ ],
+ q(fro) => [
+ q(0073),
+ q(1),
+ ],
+ q(fsm) => [
+ q(0145),
+ q(1),
+ ],
+ q(gab) => [
+ q(0080),
+ q(0),
+ ],
+ q(gbr) => [
+ q(0235),
+ q(1),
+ ],
+ q(geo) => [
+ q(0082),
+ q(0),
+ ],
+ q(ggy) => [
+ q(0092),
+ q(0),
+ ],
+ q(gha) => [
+ q(0084),
+ q(0),
+ ],
+ q(gib) => [
+ q(0085),
+ q(0),
+ ],
+ q(gin) => [
+ q(0093),
+ q(0),
+ ],
+ q(glp) => [
+ q(0089),
+ q(0),
+ ],
+ q(gmb) => [
+ q(0081),
+ q(0),
+ ],
+ q(gnb) => [
+ q(0094),
+ q(0),
+ ],
+ q(gnq) => [
+ q(0068),
+ q(0),
+ ],
+ q(grc) => [
+ q(0086),
+ q(0),
+ ],
+ q(grd) => [
+ q(0088),
+ q(0),
+ ],
+ q(grl) => [
+ q(0087),
+ q(0),
+ ],
+ q(gtm) => [
+ q(0091),
+ q(0),
+ ],
+ q(guf) => [
+ q(0077),
+ q(0),
+ ],
+ q(gum) => [
+ q(0090),
+ q(0),
+ ],
+ q(guy) => [
+ q(0095),
+ q(0),
+ ],
+ q(hkg) => [
+ q(0100),
+ q(1),
+ ],
+ q(hnd) => [
+ q(0099),
+ q(0),
+ ],
+ q(hrv) => [
+ q(0056),
+ q(0),
+ ],
+ q(hti) => [
+ q(0096),
+ q(0),
+ ],
+ q(hun) => [
+ q(0101),
+ q(0),
+ ],
+ q(idn) => [
+ q(0104),
+ q(0),
+ ],
+ q(imn) => [
+ q(0108),
+ q(0),
+ ],
+ q(ind) => [
+ q(0103),
+ q(0),
+ ],
+ q(irl) => [
+ q(0107),
+ q(0),
+ ],
+ q(irn) => [
+ q(0105),
+ q(1),
+ ],
+ q(irq) => [
+ q(0106),
+ q(0),
+ ],
+ q(isl) => [
+ q(0102),
+ q(0),
+ ],
+ q(isr) => [
+ q(0109),
+ q(0),
+ ],
+ q(ita) => [
+ q(0110),
+ q(0),
+ ],
+ q(jam) => [
+ q(0111),
+ q(0),
+ ],
+ q(jey) => [
+ q(0113),
+ q(0),
+ ],
+ q(jor) => [
+ q(0114),
+ q(0),
+ ],
+ q(jpn) => [
+ q(0112),
+ q(0),
+ ],
+ q(kaz) => [
+ q(0115),
+ q(0),
+ ],
+ q(ken) => [
+ q(0116),
+ q(0),
+ ],
+ q(kgz) => [
+ q(0121),
+ q(0),
+ ],
+ q(khm) => [
+ q(0038),
+ q(0),
+ ],
+ q(kir) => [
+ q(0117),
+ q(0),
+ ],
+ q(kna) => [
+ q(0187),
+ q(0),
+ ],
+ q(kor) => [
+ q(0119),
+ q(1),
+ ],
+ q(kwt) => [
+ q(0120),
+ q(0),
+ ],
+ q(lao) => [
+ q(0122),
+ q(0),
+ ],
+ q(lbn) => [
+ q(0124),
+ q(0),
+ ],
+ q(lbr) => [
+ q(0126),
+ q(0),
+ ],
+ q(lby) => [
+ q(0127),
+ q(0),
+ ],
+ q(lca) => [
+ q(0188),
+ q(0),
+ ],
+ q(lie) => [
+ q(0128),
+ q(0),
+ ],
+ q(lka) => [
+ q(0210),
+ q(0),
+ ],
+ q(lso) => [
+ q(0125),
+ q(0),
+ ],
+ q(ltu) => [
+ q(0129),
+ q(0),
+ ],
+ q(lux) => [
+ q(0130),
+ q(0),
+ ],
+ q(lva) => [
+ q(0123),
+ q(0),
+ ],
+ q(mac) => [
+ q(0131),
+ q(1),
+ ],
+ q(maf) => [
+ q(0189),
+ q(1),
+ ],
+ q(mar) => [
+ q(0151),
+ q(0),
+ ],
+ q(mco) => [
+ q(0147),
+ q(0),
+ ],
+ q(mda) => [
+ q(0146),
+ q(1),
+ ],
+ q(mdg) => [
+ q(0133),
+ q(0),
+ ],
+ q(mdv) => [
+ q(0136),
+ q(0),
+ ],
+ q(mex) => [
+ q(0144),
+ q(0),
+ ],
+ q(mhl) => [
+ q(0139),
+ q(0),
+ ],
+ q(mkd) => [
+ q(0132),
+ q(1),
+ ],
+ q(mli) => [
+ q(0137),
+ q(0),
+ ],
+ q(mlt) => [
+ q(0138),
+ q(0),
+ ],
+ q(mmr) => [
+ q(0153),
+ q(0),
+ ],
+ q(mne) => [
+ q(0149),
+ q(0),
+ ],
+ q(mng) => [
+ q(0148),
+ q(0),
+ ],
+ q(mnp) => [
+ q(0165),
+ q(0),
+ ],
+ q(moz) => [
+ q(0152),
+ q(0),
+ ],
+ q(mrt) => [
+ q(0141),
+ q(0),
+ ],
+ q(msr) => [
+ q(0150),
+ q(0),
+ ],
+ q(mtq) => [
+ q(0140),
+ q(0),
+ ],
+ q(mus) => [
+ q(0142),
+ q(0),
+ ],
+ q(mwi) => [
+ q(0134),
+ q(0),
+ ],
+ q(mys) => [
+ q(0135),
+ q(0),
+ ],
+ q(myt) => [
+ q(0143),
+ q(0),
+ ],
+ q(nam) => [
+ q(0154),
+ q(0),
+ ],
+ q(ncl) => [
+ q(0158),
+ q(0),
+ ],
+ q(ner) => [
+ q(0161),
+ q(0),
+ ],
+ q(nfk) => [
+ q(0164),
+ q(0),
+ ],
+ q(nga) => [
+ q(0162),
+ q(0),
+ ],
+ q(nic) => [
+ q(0160),
+ q(0),
+ ],
+ q(niu) => [
+ q(0163),
+ q(0),
+ ],
+ q(nld) => [
+ q(0157),
+ q(0),
+ ],
+ q(nor) => [
+ q(0166),
+ q(0),
+ ],
+ q(npl) => [
+ q(0156),
+ q(0),
+ ],
+ q(nru) => [
+ q(0155),
+ q(0),
+ ],
+ q(nzl) => [
+ q(0159),
+ q(0),
+ ],
+ q(omn) => [
+ q(0167),
+ q(0),
+ ],
+ q(pak) => [
+ q(0168),
+ q(0),
+ ],
+ q(pan) => [
+ q(0171),
+ q(0),
+ ],
+ q(pcn) => [
+ q(0176),
+ q(0),
+ ],
+ q(per) => [
+ q(0174),
+ q(0),
+ ],
+ q(phl) => [
+ q(0175),
+ q(0),
+ ],
+ q(plw) => [
+ q(0169),
+ q(0),
+ ],
+ q(png) => [
+ q(0172),
+ q(0),
+ ],
+ q(pol) => [
+ q(0177),
+ q(0),
+ ],
+ q(pri) => [
+ q(0179),
+ q(0),
+ ],
+ q(prk) => [
+ q(0118),
+ q(1),
+ ],
+ q(prt) => [
+ q(0178),
+ q(0),
+ ],
+ q(pry) => [
+ q(0173),
+ q(0),
+ ],
+ q(pse) => [
+ q(0170),
+ q(1),
+ ],
+ q(pyf) => [
+ q(0078),
+ q(0),
+ ],
+ q(qat) => [
+ q(0180),
+ q(0),
+ ],
+ q(reu) => [
+ q(0181),
+ q(0),
+ ],
+ q(rou) => [
+ q(0182),
+ q(0),
+ ],
+ q(rus) => [
+ q(0183),
+ q(0),
+ ],
+ q(rwa) => [
+ q(0184),
+ q(0),
+ ],
+ q(sau) => [
+ q(0195),
+ q(0),
+ ],
+ q(sdn) => [
+ q(0211),
+ q(0),
+ ],
+ q(sen) => [
+ q(0196),
+ q(0),
+ ],
+ q(sgp) => [
+ q(0200),
+ q(0),
+ ],
+ q(shn) => [
+ q(0186),
+ q(1),
+ ],
+ q(sjm) => [
+ q(0213),
+ q(1),
+ ],
+ q(slb) => [
+ q(0204),
+ q(0),
+ ],
+ q(sle) => [
+ q(0199),
+ q(0),
+ ],
+ q(slv) => [
+ q(0067),
+ q(0),
+ ],
+ q(smr) => [
+ q(0193),
+ q(0),
+ ],
+ q(som) => [
+ q(0205),
+ q(0),
+ ],
+ q(spm) => [
+ q(0190),
+ q(0),
+ ],
+ q(srb) => [
+ q(0197),
+ q(0),
+ ],
+ q(ssd) => [
+ q(0208),
+ q(0),
+ ],
+ q(stp) => [
+ q(0194),
+ q(0),
+ ],
+ q(sur) => [
+ q(0212),
+ q(0),
+ ],
+ q(svk) => [
+ q(0202),
+ q(0),
+ ],
+ q(svn) => [
+ q(0203),
+ q(0),
+ ],
+ q(swe) => [
+ q(0215),
+ q(0),
+ ],
+ q(swz) => [
+ q(0214),
+ q(0),
+ ],
+ q(sxm) => [
+ q(0201),
+ q(0),
+ ],
+ q(syc) => [
+ q(0198),
+ q(0),
+ ],
+ q(syr) => [
+ q(0217),
+ q(0),
+ ],
+ q(tca) => [
+ q(0230),
+ q(0),
+ ],
+ q(tcd) => [
+ q(0044),
+ q(0),
+ ],
+ q(tgo) => [
+ q(0223),
+ q(0),
+ ],
+ q(tha) => [
+ q(0221),
+ q(0),
+ ],
+ q(tjk) => [
+ q(0219),
+ q(0),
+ ],
+ q(tkl) => [
+ q(0224),
+ q(0),
+ ],
+ q(tkm) => [
+ q(0229),
+ q(0),
+ ],
+ q(tls) => [
+ q(0222),
+ q(0),
+ ],
+ q(ton) => [
+ q(0225),
+ q(0),
+ ],
+ q(tto) => [
+ q(0226),
+ q(0),
+ ],
+ q(tun) => [
+ q(0227),
+ q(0),
+ ],
+ q(tur) => [
+ q(0228),
+ q(0),
+ ],
+ q(tuv) => [
+ q(0231),
+ q(0),
+ ],
+ q(tza) => [
+ q(0220),
+ q(1),
+ ],
+ q(uga) => [
+ q(0232),
+ q(0),
+ ],
+ q(ukr) => [
+ q(0233),
+ q(0),
+ ],
+ q(ury) => [
+ q(0238),
+ q(0),
+ ],
+ q(usa) => [
+ q(0236),
+ q(1),
+ ],
+ q(uzb) => [
+ q(0239),
+ q(0),
+ ],
+ q(vat) => [
+ q(0098),
+ q(1),
+ ],
+ q(vct) => [
+ q(0191),
+ q(0),
+ ],
+ q(ven) => [
+ q(0241),
+ q(1),
+ ],
+ q(vgb) => [
+ q(0243),
+ q(1),
+ ],
+ q(vir) => [
+ q(0244),
+ q(1),
+ ],
+ q(vnm) => [
+ q(0242),
+ q(0),
+ ],
+ q(vut) => [
+ q(0240),
+ q(0),
+ ],
+ q(wlf) => [
+ q(0245),
+ q(1),
+ ],
+ q(wsm) => [
+ q(0192),
+ q(0),
+ ],
+ q(yem) => [
+ q(0247),
+ q(0),
+ ],
+ q(zaf) => [
+ q(0206),
+ q(0),
+ ],
+ q(zmb) => [
+ q(0248),
+ q(0),
+ ],
+ q(zwe) => [
+ q(0249),
+ q(0),
+ ],
+ },
+ q(dom) => {
+ q(AC) => [
+ q(0277),
+ q(0),
+ ],
+ q(AD) => [
+ q(0006),
+ q(0),
+ ],
+ q(AE) => [
+ q(0234),
+ q(0),
+ ],
+ q(AF) => [
+ q(0001),
+ q(0),
+ ],
+ q(AG) => [
+ q(0010),
+ q(0),
+ ],
+ q(AI) => [
+ q(0008),
+ q(0),
+ ],
+ q(AL) => [
+ q(0003),
+ q(0),
+ ],
+ q(AM) => [
+ q(0012),
+ q(0),
+ ],
+ q(AN) => [
+ q(0269),
+ q(0),
+ ],
+ q(AO) => [
+ q(0007),
+ q(0),
+ ],
+ q(AQ) => [
+ q(0009),
+ q(0),
+ ],
+ q(AR) => [
+ q(0011),
+ q(0),
+ ],
+ q(AS) => [
+ q(0005),
+ q(0),
+ ],
+ q(AT) => [
+ q(0015),
+ q(0),
+ ],
+ q(AU) => [
+ q(0014),
+ q(0),
+ ],
+ q(AW) => [
+ q(0013),
+ q(0),
+ ],
+ q(AX) => [
+ q(0002),
+ q(0),
+ ],
+ q(AZ) => [
+ q(0016),
+ q(0),
+ ],
+ q(BA) => [
+ q(0029),
+ q(0),
+ ],
+ q(BB) => [
+ q(0020),
+ q(0),
+ ],
+ q(BD) => [
+ q(0019),
+ q(0),
+ ],
+ q(BE) => [
+ q(0022),
+ q(0),
+ ],
+ q(BF) => [
+ q(0036),
+ q(0),
+ ],
+ q(BG) => [
+ q(0035),
+ q(0),
+ ],
+ q(BH) => [
+ q(0018),
+ q(0),
+ ],
+ q(BI) => [
+ q(0037),
+ q(0),
+ ],
+ q(BJ) => [
+ q(0024),
+ q(0),
+ ],
+ q(BL) => [
+ q(0185),
+ q(0),
+ ],
+ q(BM) => [
+ q(0025),
+ q(0),
+ ],
+ q(BN) => [
+ q(0034),
+ q(0),
+ ],
+ q(BO) => [
+ q(0027),
+ q(2),
+ ],
+ q(BQ) => [
+ q(0278),
+ q(0),
+ ],
+ q(BR) => [
+ q(0032),
+ q(0),
+ ],
+ q(BS) => [
+ q(0017),
+ q(0),
+ ],
+ q(BT) => [
+ q(0026),
+ q(0),
+ ],
+ q(BV) => [
+ q(0031),
+ q(0),
+ ],
+ q(BW) => [
+ q(0030),
+ q(0),
+ ],
+ q(BY) => [
+ q(0021),
+ q(0),
+ ],
+ q(BZ) => [
+ q(0023),
+ q(0),
+ ],
+ q(CA) => [
+ q(0040),
+ q(0),
+ ],
+ q(CC) => [
+ q(0048),
+ q(0),
+ ],
+ q(CD) => [
+ q(0052),
+ q(0),
+ ],
+ q(CF) => [
+ q(0043),
+ q(0),
+ ],
+ q(CG) => [
+ q(0051),
+ q(0),
+ ],
+ q(CH) => [
+ q(0216),
+ q(0),
+ ],
+ q(CI) => [
+ q(0055),
+ q(0),
+ ],
+ q(CK) => [
+ q(0053),
+ q(0),
+ ],
+ q(CL) => [
+ q(0045),
+ q(0),
+ ],
+ q(CM) => [
+ q(0039),
+ q(0),
+ ],
+ q(CN) => [
+ q(0046),
+ q(0),
+ ],
+ q(CO) => [
+ q(0049),
+ q(0),
+ ],
+ q(CR) => [
+ q(0054),
+ q(0),
+ ],
+ q(CU) => [
+ q(0057),
+ q(0),
+ ],
+ q(CV) => [
+ q(0041),
+ q(0),
+ ],
+ q(CW) => [
+ q(0058),
+ q(0),
+ ],
+ q(CX) => [
+ q(0047),
+ q(0),
+ ],
+ q(CY) => [
+ q(0059),
+ q(0),
+ ],
+ q(CZ) => [
+ q(0060),
+ q(0),
+ ],
+ q(DE) => [
+ q(0083),
+ q(0),
+ ],
+ q(DJ) => [
+ q(0062),
+ q(0),
+ ],
+ q(DK) => [
+ q(0061),
+ q(0),
+ ],
+ q(DM) => [
+ q(0063),
+ q(0),
+ ],
+ q(DO) => [
+ q(0064),
+ q(0),
+ ],
+ q(DZ) => [
+ q(0004),
+ q(0),
+ ],
+ q(EC) => [
+ q(0065),
+ q(0),
+ ],
+ q(EE) => [
+ q(0070),
+ q(0),
+ ],
+ q(EG) => [
+ q(0066),
+ q(0),
+ ],
+ q(EH) => [
+ q(0246),
+ q(0),
+ ],
+ q(ER) => [
+ q(0069),
+ q(0),
+ ],
+ q(ES) => [
+ q(0209),
+ q(0),
+ ],
+ q(ET) => [
+ q(0071),
+ q(0),
+ ],
+ q(EU) => [
+ q(0279),
+ q(0),
+ ],
+ q(FI) => [
+ q(0075),
+ q(0),
+ ],
+ q(FJ) => [
+ q(0074),
+ q(0),
+ ],
+ q(FK) => [
+ q(0072),
+ q(0),
+ ],
+ q(FM) => [
+ q(0145),
+ q(0),
+ ],
+ q(FO) => [
+ q(0073),
+ q(0),
+ ],
+ q(FR) => [
+ q(0076),
+ q(0),
+ ],
+ q(GA) => [
+ q(0080),
+ q(0),
+ ],
+ q(GB) => [
+ q(0235),
+ q(0),
+ ],
+ q(GD) => [
+ q(0088),
+ q(0),
+ ],
+ q(GE) => [
+ q(0082),
+ q(0),
+ ],
+ q(GF) => [
+ q(0077),
+ q(0),
+ ],
+ q(GG) => [
+ q(0092),
+ q(0),
+ ],
+ q(GH) => [
+ q(0084),
+ q(0),
+ ],
+ q(GI) => [
+ q(0085),
+ q(0),
+ ],
+ q(GL) => [
+ q(0087),
+ q(0),
+ ],
+ q(GM) => [
+ q(0081),
+ q(0),
+ ],
+ q(GN) => [
+ q(0093),
+ q(0),
+ ],
+ q(GP) => [
+ q(0089),
+ q(0),
+ ],
+ q(GQ) => [
+ q(0068),
+ q(0),
+ ],
+ q(GR) => [
+ q(0086),
+ q(0),
+ ],
+ q(GS) => [
+ q(0207),
+ q(0),
+ ],
+ q(GT) => [
+ q(0091),
+ q(0),
+ ],
+ q(GU) => [
+ q(0090),
+ q(0),
+ ],
+ q(GW) => [
+ q(0094),
+ q(0),
+ ],
+ q(GY) => [
+ q(0095),
+ q(0),
+ ],
+ q(HK) => [
+ q(0100),
+ q(0),
+ ],
+ q(HM) => [
+ q(0097),
+ q(0),
+ ],
+ q(HN) => [
+ q(0099),
+ q(0),
+ ],
+ q(HR) => [
+ q(0056),
+ q(0),
+ ],
+ q(HT) => [
+ q(0096),
+ q(0),
+ ],
+ q(HU) => [
+ q(0101),
+ q(0),
+ ],
+ q(ID) => [
+ q(0104),
+ q(0),
+ ],
+ q(IE) => [
+ q(0107),
+ q(0),
+ ],
+ q(IL) => [
+ q(0109),
+ q(0),
+ ],
+ q(IM) => [
+ q(0108),
+ q(0),
+ ],
+ q(IN) => [
+ q(0103),
+ q(0),
+ ],
+ q(IO) => [
+ q(0033),
+ q(0),
+ ],
+ q(IQ) => [
+ q(0106),
+ q(0),
+ ],
+ q(IR) => [
+ q(0105),
+ q(0),
+ ],
+ q(IS) => [
+ q(0102),
+ q(0),
+ ],
+ q(IT) => [
+ q(0110),
+ q(0),
+ ],
+ q(JE) => [
+ q(0113),
+ q(0),
+ ],
+ q(JM) => [
+ q(0111),
+ q(0),
+ ],
+ q(JO) => [
+ q(0114),
+ q(0),
+ ],
+ q(JP) => [
+ q(0112),
+ q(0),
+ ],
+ q(KE) => [
+ q(0116),
+ q(0),
+ ],
+ q(KG) => [
+ q(0121),
+ q(0),
+ ],
+ q(KH) => [
+ q(0038),
+ q(0),
+ ],
+ q(KI) => [
+ q(0117),
+ q(0),
+ ],
+ q(KM) => [
+ q(0050),
+ q(0),
+ ],
+ q(KN) => [
+ q(0187),
+ q(0),
+ ],
+ q(KP) => [
+ q(0118),
+ q(0),
+ ],
+ q(KR) => [
+ q(0119),
+ q(0),
+ ],
+ q(KW) => [
+ q(0120),
+ q(0),
+ ],
+ q(KY) => [
+ q(0042),
+ q(0),
+ ],
+ q(KZ) => [
+ q(0115),
+ q(0),
+ ],
+ q(LA) => [
+ q(0122),
+ q(0),
+ ],
+ q(LB) => [
+ q(0124),
+ q(0),
+ ],
+ q(LC) => [
+ q(0188),
+ q(0),
+ ],
+ q(LI) => [
+ q(0128),
+ q(0),
+ ],
+ q(LK) => [
+ q(0210),
+ q(0),
+ ],
+ q(LR) => [
+ q(0126),
+ q(0),
+ ],
+ q(LS) => [
+ q(0125),
+ q(0),
+ ],
+ q(LT) => [
+ q(0129),
+ q(0),
+ ],
+ q(LU) => [
+ q(0130),
+ q(0),
+ ],
+ q(LV) => [
+ q(0123),
+ q(0),
+ ],
+ q(LY) => [
+ q(0127),
+ q(0),
+ ],
+ q(MA) => [
+ q(0151),
+ q(0),
+ ],
+ q(MC) => [
+ q(0147),
+ q(0),
+ ],
+ q(MD) => [
+ q(0146),
+ q(0),
+ ],
+ q(ME) => [
+ q(0149),
+ q(0),
+ ],
+ q(MF) => [
+ q(0189),
+ q(0),
+ ],
+ q(MG) => [
+ q(0133),
+ q(0),
+ ],
+ q(MH) => [
+ q(0139),
+ q(0),
+ ],
+ q(MK) => [
+ q(0132),
+ q(0),
+ ],
+ q(ML) => [
+ q(0137),
+ q(0),
+ ],
+ q(MM) => [
+ q(0153),
+ q(0),
+ ],
+ q(MN) => [
+ q(0148),
+ q(0),
+ ],
+ q(MO) => [
+ q(0131),
+ q(0),
+ ],
+ q(MP) => [
+ q(0165),
+ q(0),
+ ],
+ q(MQ) => [
+ q(0140),
+ q(0),
+ ],
+ q(MR) => [
+ q(0141),
+ q(0),
+ ],
+ q(MS) => [
+ q(0150),
+ q(0),
+ ],
+ q(MT) => [
+ q(0138),
+ q(0),
+ ],
+ q(MU) => [
+ q(0142),
+ q(0),
+ ],
+ q(MV) => [
+ q(0136),
+ q(0),
+ ],
+ q(MW) => [
+ q(0134),
+ q(0),
+ ],
+ q(MX) => [
+ q(0144),
+ q(0),
+ ],
+ q(MY) => [
+ q(0135),
+ q(0),
+ ],
+ q(MZ) => [
+ q(0152),
+ q(0),
+ ],
+ q(NA) => [
+ q(0154),
+ q(0),
+ ],
+ q(NC) => [
+ q(0158),
+ q(0),
+ ],
+ q(NE) => [
+ q(0161),
+ q(0),
+ ],
+ q(NF) => [
+ q(0164),
+ q(0),
+ ],
+ q(NG) => [
+ q(0162),
+ q(0),
+ ],
+ q(NI) => [
+ q(0160),
+ q(0),
+ ],
+ q(NL) => [
+ q(0157),
+ q(0),
+ ],
+ q(NO) => [
+ q(0166),
+ q(0),
+ ],
+ q(NP) => [
+ q(0156),
+ q(0),
+ ],
+ q(NR) => [
+ q(0155),
+ q(0),
+ ],
+ q(NU) => [
+ q(0163),
+ q(0),
+ ],
+ q(NZ) => [
+ q(0159),
+ q(0),
+ ],
+ q(OM) => [
+ q(0167),
+ q(0),
+ ],
+ q(PA) => [
+ q(0171),
+ q(0),
+ ],
+ q(PE) => [
+ q(0174),
+ q(0),
+ ],
+ q(PF) => [
+ q(0078),
+ q(0),
+ ],
+ q(PG) => [
+ q(0172),
+ q(0),
+ ],
+ q(PH) => [
+ q(0175),
+ q(0),
+ ],
+ q(PK) => [
+ q(0168),
+ q(0),
+ ],
+ q(PL) => [
+ q(0177),
+ q(0),
+ ],
+ q(PM) => [
+ q(0190),
+ q(0),
+ ],
+ q(PN) => [
+ q(0176),
+ q(0),
+ ],
+ q(PR) => [
+ q(0179),
+ q(0),
+ ],
+ q(PS) => [
+ q(0170),
+ q(0),
+ ],
+ q(PT) => [
+ q(0178),
+ q(0),
+ ],
+ q(PW) => [
+ q(0169),
+ q(0),
+ ],
+ q(PY) => [
+ q(0173),
+ q(0),
+ ],
+ q(QA) => [
+ q(0180),
+ q(0),
+ ],
+ q(RE) => [
+ q(0181),
+ q(0),
+ ],
+ q(RO) => [
+ q(0182),
+ q(0),
+ ],
+ q(RS) => [
+ q(0197),
+ q(0),
+ ],
+ q(RU) => [
+ q(0183),
+ q(0),
+ ],
+ q(RW) => [
+ q(0184),
+ q(0),
+ ],
+ q(SA) => [
+ q(0195),
+ q(0),
+ ],
+ q(SB) => [
+ q(0204),
+ q(0),
+ ],
+ q(SC) => [
+ q(0198),
+ q(0),
+ ],
+ q(SD) => [
+ q(0211),
+ q(0),
+ ],
+ q(SE) => [
+ q(0215),
+ q(0),
+ ],
+ q(SG) => [
+ q(0200),
+ q(0),
+ ],
+ q(SH) => [
+ q(0186),
+ q(1),
+ ],
+ q(SI) => [
+ q(0203),
+ q(0),
+ ],
+ q(SJ) => [
+ q(0213),
+ q(0),
+ ],
+ q(SK) => [
+ q(0202),
+ q(0),
+ ],
+ q(SL) => [
+ q(0199),
+ q(0),
+ ],
+ q(SM) => [
+ q(0193),
+ q(0),
+ ],
+ q(SN) => [
+ q(0196),
+ q(0),
+ ],
+ q(SO) => [
+ q(0205),
+ q(0),
+ ],
+ q(SR) => [
+ q(0212),
+ q(0),
+ ],
+ q(SS) => [
+ q(0208),
+ q(0),
+ ],
+ q(ST) => [
+ q(0194),
+ q(0),
+ ],
+ q(SU) => [
+ q(0280),
+ q(0),
+ ],
+ q(SV) => [
+ q(0067),
+ q(0),
+ ],
+ q(SX) => [
+ q(0201),
+ q(0),
+ ],
+ q(SY) => [
+ q(0217),
+ q(0),
+ ],
+ q(SZ) => [
+ q(0214),
+ q(0),
+ ],
+ q(TC) => [
+ q(0230),
+ q(0),
+ ],
+ q(TD) => [
+ q(0044),
+ q(0),
+ ],
+ q(TF) => [
+ q(0079),
+ q(0),
+ ],
+ q(TG) => [
+ q(0223),
+ q(0),
+ ],
+ q(TH) => [
+ q(0221),
+ q(0),
+ ],
+ q(TJ) => [
+ q(0219),
+ q(0),
+ ],
+ q(TK) => [
+ q(0224),
+ q(0),
+ ],
+ q(TL) => [
+ q(0222),
+ q(0),
+ ],
+ q(TM) => [
+ q(0229),
+ q(0),
+ ],
+ q(TN) => [
+ q(0227),
+ q(0),
+ ],
+ q(TO) => [
+ q(0225),
+ q(0),
+ ],
+ q(TP) => [
+ q(0281),
+ q(0),
+ ],
+ q(TR) => [
+ q(0228),
+ q(0),
+ ],
+ q(TT) => [
+ q(0226),
+ q(0),
+ ],
+ q(TV) => [
+ q(0231),
+ q(0),
+ ],
+ q(TW) => [
+ q(0218),
+ q(0),
+ ],
+ q(TZ) => [
+ q(0220),
+ q(0),
+ ],
+ q(UA) => [
+ q(0233),
+ q(0),
+ ],
+ q(UG) => [
+ q(0232),
+ q(0),
+ ],
+ q(UK) => [
+ q(0235),
+ q(0),
+ ],
+ q(UM) => [
+ q(0237),
+ q(0),
+ ],
+ q(US) => [
+ q(0236),
+ q(0),
+ ],
+ q(UY) => [
+ q(0238),
+ q(0),
+ ],
+ q(UZ) => [
+ q(0239),
+ q(0),
+ ],
+ q(VA) => [
+ q(0098),
+ q(0),
+ ],
+ q(VC) => [
+ q(0191),
+ q(0),
+ ],
+ q(VE) => [
+ q(0241),
+ q(0),
+ ],
+ q(VG) => [
+ q(0243),
+ q(0),
+ ],
+ q(VI) => [
+ q(0244),
+ q(0),
+ ],
+ q(VN) => [
+ q(0242),
+ q(0),
+ ],
+ q(VU) => [
+ q(0240),
+ q(0),
+ ],
+ q(WF) => [
+ q(0245),
+ q(0),
+ ],
+ q(WS) => [
+ q(0192),
+ q(0),
+ ],
+ q(YE) => [
+ q(0247),
+ q(0),
+ ],
+ q(YT) => [
+ q(0143),
+ q(0),
+ ],
+ q(ZA) => [
+ q(0206),
+ q(0),
+ ],
+ q(ZM) => [
+ q(0248),
+ q(0),
+ ],
+ q(ZW) => [
+ q(0249),
+ q(0),
+ ],
+ },
+ q(fips-10) => {
+ q(AA) => [
+ q(0013),
+ q(0),
+ ],
+ q(AC) => [
+ q(0010),
+ q(0),
+ ],
+ q(AE) => [
+ q(0234),
+ q(0),
+ ],
+ q(AF) => [
+ q(0001),
+ q(0),
+ ],
+ q(AG) => [
+ q(0004),
+ q(0),
+ ],
+ q(AJ) => [
+ q(0016),
+ q(0),
+ ],
+ q(AL) => [
+ q(0003),
+ q(0),
+ ],
+ q(AM) => [
+ q(0012),
+ q(0),
+ ],
+ q(AN) => [
+ q(0006),
+ q(0),
+ ],
+ q(AO) => [
+ q(0007),
+ q(0),
+ ],
+ q(AQ) => [
+ q(0005),
+ q(0),
+ ],
+ q(AR) => [
+ q(0011),
+ q(0),
+ ],
+ q(AS) => [
+ q(0014),
+ q(0),
+ ],
+ q(AT) => [
+ q(0253),
+ q(0),
+ ],
+ q(AU) => [
+ q(0015),
+ q(0),
+ ],
+ q(AV) => [
+ q(0008),
+ q(0),
+ ],
+ q(AY) => [
+ q(0009),
+ q(0),
+ ],
+ q(BA) => [
+ q(0018),
+ q(0),
+ ],
+ q(BB) => [
+ q(0020),
+ q(0),
+ ],
+ q(BC) => [
+ q(0030),
+ q(0),
+ ],
+ q(BD) => [
+ q(0025),
+ q(0),
+ ],
+ q(BE) => [
+ q(0022),
+ q(0),
+ ],
+ q(BF) => [
+ q(0017),
+ q(1),
+ ],
+ q(BG) => [
+ q(0019),
+ q(0),
+ ],
+ q(BH) => [
+ q(0023),
+ q(0),
+ ],
+ q(BK) => [
+ q(0029),
+ q(0),
+ ],
+ q(BL) => [
+ q(0027),
+ q(2),
+ ],
+ q(BM) => [
+ q(0153),
+ q(1),
+ ],
+ q(BN) => [
+ q(0024),
+ q(0),
+ ],
+ q(BO) => [
+ q(0021),
+ q(0),
+ ],
+ q(BP) => [
+ q(0204),
+ q(0),
+ ],
+ q(BQ) => [
+ q(0268),
+ q(0),
+ ],
+ q(BR) => [
+ q(0032),
+ q(0),
+ ],
+ q(BS) => [
+ q(0255),
+ q(0),
+ ],
+ q(BT) => [
+ q(0026),
+ q(0),
+ ],
+ q(BU) => [
+ q(0035),
+ q(0),
+ ],
+ q(BV) => [
+ q(0031),
+ q(0),
+ ],
+ q(BX) => [
+ q(0034),
+ q(1),
+ ],
+ q(BY) => [
+ q(0037),
+ q(0),
+ ],
+ q(CA) => [
+ q(0040),
+ q(0),
+ ],
+ q(CB) => [
+ q(0038),
+ q(0),
+ ],
+ q(CD) => [
+ q(0044),
+ q(0),
+ ],
+ q(CE) => [
+ q(0210),
+ q(0),
+ ],
+ q(CF) => [
+ q(0051),
+ q(1),
+ ],
+ q(CG) => [
+ q(0052),
+ q(2),
+ ],
+ q(CH) => [
+ q(0046),
+ q(0),
+ ],
+ q(CI) => [
+ q(0045),
+ q(0),
+ ],
+ q(CJ) => [
+ q(0042),
+ q(0),
+ ],
+ q(CK) => [
+ q(0048),
+ q(0),
+ ],
+ q(CM) => [
+ q(0039),
+ q(0),
+ ],
+ q(CN) => [
+ q(0050),
+ q(0),
+ ],
+ q(CO) => [
+ q(0049),
+ q(0),
+ ],
+ q(CQ) => [
+ q(0165),
+ q(0),
+ ],
+ q(CR) => [
+ q(0257),
+ q(0),
+ ],
+ q(CS) => [
+ q(0054),
+ q(0),
+ ],
+ q(CT) => [
+ q(0043),
+ q(0),
+ ],
+ q(CU) => [
+ q(0057),
+ q(0),
+ ],
+ q(CV) => [
+ q(0041),
+ q(0),
+ ],
+ q(CW) => [
+ q(0053),
+ q(0),
+ ],
+ q(CY) => [
+ q(0059),
+ q(0),
+ ],
+ q(DA) => [
+ q(0061),
+ q(0),
+ ],
+ q(DJ) => [
+ q(0062),
+ q(0),
+ ],
+ q(DO) => [
+ q(0063),
+ q(0),
+ ],
+ q(DQ) => [
+ q(0263),
+ q(0),
+ ],
+ q(DR) => [
+ q(0064),
+ q(0),
+ ],
+ q(EC) => [
+ q(0065),
+ q(0),
+ ],
+ q(EG) => [
+ q(0066),
+ q(0),
+ ],
+ q(EI) => [
+ q(0107),
+ q(0),
+ ],
+ q(EK) => [
+ q(0068),
+ q(0),
+ ],
+ q(EN) => [
+ q(0070),
+ q(0),
+ ],
+ q(ER) => [
+ q(0069),
+ q(0),
+ ],
+ q(ES) => [
+ q(0067),
+ q(0),
+ ],
+ q(ET) => [
+ q(0071),
+ q(0),
+ ],
+ q(EU) => [
+ q(0258),
+ q(0),
+ ],
+ q(EZ) => [
+ q(0060),
+ q(0),
+ ],
+ q(FG) => [
+ q(0077),
+ q(0),
+ ],
+ q(FI) => [
+ q(0075),
+ q(0),
+ ],
+ q(FJ) => [
+ q(0074),
+ q(0),
+ ],
+ q(FK) => [
+ q(0072),
+ q(1),
+ ],
+ q(FM) => [
+ q(0145),
+ q(2),
+ ],
+ q(FO) => [
+ q(0073),
+ q(0),
+ ],
+ q(FP) => [
+ q(0078),
+ q(0),
+ ],
+ q(FQ) => [
+ q(0254),
+ q(0),
+ ],
+ q(FR) => [
+ q(0076),
+ q(0),
+ ],
+ q(FS) => [
+ q(0079),
+ q(1),
+ ],
+ q(GA) => [
+ q(0081),
+ q(1),
+ ],
+ q(GB) => [
+ q(0080),
+ q(0),
+ ],
+ q(GG) => [
+ q(0082),
+ q(0),
+ ],
+ q(GH) => [
+ q(0084),
+ q(0),
+ ],
+ q(GI) => [
+ q(0085),
+ q(0),
+ ],
+ q(GJ) => [
+ q(0088),
+ q(0),
+ ],
+ q(GK) => [
+ q(0092),
+ q(0),
+ ],
+ q(GL) => [
+ q(0087),
+ q(0),
+ ],
+ q(GM) => [
+ q(0083),
+ q(0),
+ ],
+ q(GO) => [
+ q(0260),
+ q(0),
+ ],
+ q(GP) => [
+ q(0089),
+ q(0),
+ ],
+ q(GQ) => [
+ q(0090),
+ q(0),
+ ],
+ q(GR) => [
+ q(0086),
+ q(0),
+ ],
+ q(GT) => [
+ q(0091),
+ q(0),
+ ],
+ q(GV) => [
+ q(0093),
+ q(0),
+ ],
+ q(GY) => [
+ q(0095),
+ q(0),
+ ],
+ q(GZ) => [
+ q(0259),
+ q(0),
+ ],
+ q(HA) => [
+ q(0096),
+ q(0),
+ ],
+ q(HK) => [
+ q(0100),
+ q(2),
+ ],
+ q(HM) => [
+ q(0097),
+ q(0),
+ ],
+ q(HO) => [
+ q(0099),
+ q(0),
+ ],
+ q(HQ) => [
+ q(0261),
+ q(0),
+ ],
+ q(HR) => [
+ q(0056),
+ q(0),
+ ],
+ q(HU) => [
+ q(0101),
+ q(0),
+ ],
+ q(IC) => [
+ q(0102),
+ q(0),
+ ],
+ q(ID) => [
+ q(0104),
+ q(0),
+ ],
+ q(IM) => [
+ q(0108),
+ q(0),
+ ],
+ q(IN) => [
+ q(0103),
+ q(0),
+ ],
+ q(IO) => [
+ q(0033),
+ q(0),
+ ],
+ q(IP) => [
+ q(0256),
+ q(0),
+ ],
+ q(IR) => [
+ q(0105),
+ q(2),
+ ],
+ q(IS) => [
+ q(0109),
+ q(0),
+ ],
+ q(IT) => [
+ q(0110),
+ q(0),
+ ],
+ q(IV) => [
+ q(0055),
+ q(0),
+ ],
+ q(IZ) => [
+ q(0106),
+ q(0),
+ ],
+ q(JA) => [
+ q(0112),
+ q(0),
+ ],
+ q(JE) => [
+ q(0113),
+ q(0),
+ ],
+ q(JM) => [
+ q(0111),
+ q(0),
+ ],
+ q(JN) => [
+ q(0262),
+ q(0),
+ ],
+ q(JO) => [
+ q(0114),
+ q(0),
+ ],
+ q(JQ) => [
+ q(0264),
+ q(0),
+ ],
+ q(JU) => [
+ q(0265),
+ q(0),
+ ],
+ q(KE) => [
+ q(0116),
+ q(0),
+ ],
+ q(KG) => [
+ q(0121),
+ q(0),
+ ],
+ q(KN) => [
+ q(0118),
+ q(2),
+ ],
+ q(KQ) => [
+ q(0266),
+ q(0),
+ ],
+ q(KR) => [
+ q(0117),
+ q(0),
+ ],
+ q(KS) => [
+ q(0119),
+ q(2),
+ ],
+ q(KT) => [
+ q(0047),
+ q(0),
+ ],
+ q(KU) => [
+ q(0120),
+ q(0),
+ ],
+ q(KZ) => [
+ q(0115),
+ q(0),
+ ],
+ q(LA) => [
+ q(0122),
+ q(1),
+ ],
+ q(LE) => [
+ q(0124),
+ q(0),
+ ],
+ q(LG) => [
+ q(0123),
+ q(0),
+ ],
+ q(LH) => [
+ q(0129),
+ q(0),
+ ],
+ q(LI) => [
+ q(0126),
+ q(0),
+ ],
+ q(LO) => [
+ q(0202),
+ q(0),
+ ],
+ q(LQ) => [
+ q(0270),
+ q(0),
+ ],
+ q(LS) => [
+ q(0128),
+ q(0),
+ ],
+ q(LT) => [
+ q(0125),
+ q(0),
+ ],
+ q(LU) => [
+ q(0130),
+ q(0),
+ ],
+ q(LY) => [
+ q(0127),
+ q(0),
+ ],
+ q(MA) => [
+ q(0133),
+ q(0),
+ ],
+ q(MB) => [
+ q(0140),
+ q(0),
+ ],
+ q(MC) => [
+ q(0131),
+ q(2),
+ ],
+ q(MD) => [
+ q(0146),
+ q(2),
+ ],
+ q(MF) => [
+ q(0143),
+ q(0),
+ ],
+ q(MG) => [
+ q(0148),
+ q(0),
+ ],
+ q(MH) => [
+ q(0150),
+ q(0),
+ ],
+ q(MI) => [
+ q(0134),
+ q(0),
+ ],
+ q(MK) => [
+ q(0132),
+ q(2),
+ ],
+ q(ML) => [
+ q(0137),
+ q(0),
+ ],
+ q(MN) => [
+ q(0147),
+ q(0),
+ ],
+ q(MO) => [
+ q(0151),
+ q(0),
+ ],
+ q(MP) => [
+ q(0142),
+ q(0),
+ ],
+ q(MQ) => [
+ q(0267),
+ q(0),
+ ],
+ q(MR) => [
+ q(0141),
+ q(0),
+ ],
+ q(MT) => [
+ q(0138),
+ q(0),
+ ],
+ q(MU) => [
+ q(0167),
+ q(0),
+ ],
+ q(MV) => [
+ q(0136),
+ q(0),
+ ],
+ q(MX) => [
+ q(0144),
+ q(0),
+ ],
+ q(MY) => [
+ q(0135),
+ q(0),
+ ],
+ q(MZ) => [
+ q(0152),
+ q(0),
+ ],
+ q(NC) => [
+ q(0158),
+ q(0),
+ ],
+ q(NE) => [
+ q(0163),
+ q(0),
+ ],
+ q(NF) => [
+ q(0164),
+ q(0),
+ ],
+ q(NG) => [
+ q(0161),
+ q(0),
+ ],
+ q(NH) => [
+ q(0240),
+ q(0),
+ ],
+ q(NI) => [
+ q(0162),
+ q(0),
+ ],
+ q(NL) => [
+ q(0157),
+ q(0),
+ ],
+ q(NO) => [
+ q(0166),
+ q(0),
+ ],
+ q(NP) => [
+ q(0156),
+ q(0),
+ ],
+ q(NR) => [
+ q(0155),
+ q(0),
+ ],
+ q(NS) => [
+ q(0212),
+ q(0),
+ ],
+ q(NT) => [
+ q(0269),
+ q(0),
+ ],
+ q(NU) => [
+ q(0160),
+ q(0),
+ ],
+ q(NZ) => [
+ q(0159),
+ q(0),
+ ],
+ q(PA) => [
+ q(0173),
+ q(0),
+ ],
+ q(PC) => [
+ q(0176),
+ q(1),
+ ],
+ q(PE) => [
+ q(0174),
+ q(0),
+ ],
+ q(PF) => [
+ q(0271),
+ q(0),
+ ],
+ q(PG) => [
+ q(0272),
+ q(0),
+ ],
+ q(PK) => [
+ q(0168),
+ q(0),
+ ],
+ q(PL) => [
+ q(0177),
+ q(0),
+ ],
+ q(PM) => [
+ q(0171),
+ q(0),
+ ],
+ q(PO) => [
+ q(0178),
+ q(0),
+ ],
+ q(PP) => [
+ q(0172),
+ q(0),
+ ],
+ q(PS) => [
+ q(0169),
+ q(0),
+ ],
+ q(PU) => [
+ q(0094),
+ q(0),
+ ],
+ q(QA) => [
+ q(0180),
+ q(0),
+ ],
+ q(RE) => [
+ q(0181),
+ q(0),
+ ],
+ q(RM) => [
+ q(0139),
+ q(0),
+ ],
+ q(RO) => [
+ q(0182),
+ q(0),
+ ],
+ q(RP) => [
+ q(0175),
+ q(0),
+ ],
+ q(RQ) => [
+ q(0179),
+ q(0),
+ ],
+ q(RS) => [
+ q(0183),
+ q(1),
+ ],
+ q(RW) => [
+ q(0184),
+ q(0),
+ ],
+ q(SA) => [
+ q(0195),
+ q(0),
+ ],
+ q(SB) => [
+ q(0190),
+ q(0),
+ ],
+ q(SC) => [
+ q(0187),
+ q(0),
+ ],
+ q(SE) => [
+ q(0198),
+ q(0),
+ ],
+ q(SF) => [
+ q(0206),
+ q(0),
+ ],
+ q(SG) => [
+ q(0196),
+ q(0),
+ ],
+ q(SH) => [
+ q(0186),
+ q(1),
+ ],
+ q(SI) => [
+ q(0203),
+ q(0),
+ ],
+ q(SL) => [
+ q(0199),
+ q(0),
+ ],
+ q(SM) => [
+ q(0193),
+ q(0),
+ ],
+ q(SN) => [
+ q(0200),
+ q(0),
+ ],
+ q(SO) => [
+ q(0205),
+ q(0),
+ ],
+ q(SP) => [
+ q(0209),
+ q(0),
+ ],
+ q(ST) => [
+ q(0188),
+ q(0),
+ ],
+ q(SU) => [
+ q(0211),
+ q(0),
+ ],
+ q(SV) => [
+ q(0273),
+ q(0),
+ ],
+ q(SW) => [
+ q(0215),
+ q(0),
+ ],
+ q(SX) => [
+ q(0207),
+ q(0),
+ ],
+ q(SY) => [
+ q(0217),
+ q(1),
+ ],
+ q(SZ) => [
+ q(0216),
+ q(0),
+ ],
+ q(TD) => [
+ q(0226),
+ q(0),
+ ],
+ q(TE) => [
+ q(0274),
+ q(0),
+ ],
+ q(TH) => [
+ q(0221),
+ q(0),
+ ],
+ q(TI) => [
+ q(0219),
+ q(0),
+ ],
+ q(TK) => [
+ q(0230),
+ q(0),
+ ],
+ q(TL) => [
+ q(0224),
+ q(0),
+ ],
+ q(TN) => [
+ q(0225),
+ q(0),
+ ],
+ q(TO) => [
+ q(0223),
+ q(0),
+ ],
+ q(TP) => [
+ q(0194),
+ q(0),
+ ],
+ q(TS) => [
+ q(0227),
+ q(0),
+ ],
+ q(TT) => [
+ q(0222),
+ q(1),
+ ],
+ q(TU) => [
+ q(0228),
+ q(0),
+ ],
+ q(TV) => [
+ q(0231),
+ q(0),
+ ],
+ q(TW) => [
+ q(0218),
+ q(1),
+ ],
+ q(TX) => [
+ q(0229),
+ q(0),
+ ],
+ q(TZ) => [
+ q(0220),
+ q(2),
+ ],
+ q(UG) => [
+ q(0232),
+ q(0),
+ ],
+ q(UK) => [
+ q(0235),
+ q(0),
+ ],
+ q(UP) => [
+ q(0233),
+ q(0),
+ ],
+ q(US) => [
+ q(0236),
+ q(0),
+ ],
+ q(UV) => [
+ q(0036),
+ q(0),
+ ],
+ q(UY) => [
+ q(0238),
+ q(0),
+ ],
+ q(UZ) => [
+ q(0239),
+ q(0),
+ ],
+ q(VC) => [
+ q(0191),
+ q(0),
+ ],
+ q(VE) => [
+ q(0241),
+ q(2),
+ ],
+ q(VI) => [
+ q(0243),
+ q(1),
+ ],
+ q(VM) => [
+ q(0242),
+ q(1),
+ ],
+ q(VQ) => [
+ q(0244),
+ q(2),
+ ],
+ q(VT) => [
+ q(0098),
+ q(2),
+ ],
+ q(WA) => [
+ q(0154),
+ q(0),
+ ],
+ q(WE) => [
+ q(0276),
+ q(0),
+ ],
+ q(WF) => [
+ q(0245),
+ q(0),
+ ],
+ q(WI) => [
+ q(0246),
+ q(0),
+ ],
+ q(WQ) => [
+ q(0275),
+ q(0),
+ ],
+ q(WS) => [
+ q(0192),
+ q(0),
+ ],
+ q(WZ) => [
+ q(0214),
+ q(0),
+ ],
+ q(YI) => [
+ q(0252),
+ q(0),
+ ],
+ q(YM) => [
+ q(0247),
+ q(0),
+ ],
+ q(ZA) => [
+ q(0248),
+ q(0),
+ ],
+ q(ZI) => [
+ q(0249),
+ q(0),
+ ],
+ },
+ q(numeric) => {
+ q(004) => [
+ q(0001),
+ q(0),
+ ],
+ q(008) => [
+ q(0003),
+ q(0),
+ ],
+ q(012) => [
+ q(0004),
+ q(0),
+ ],
+ q(016) => [
+ q(0005),
+ q(0),
+ ],
+ q(020) => [
+ q(0006),
+ q(0),
+ ],
+ q(024) => [
+ q(0007),
+ q(0),
+ ],
+ q(028) => [
+ q(0010),
+ q(0),
+ ],
+ q(031) => [
+ q(0016),
+ q(0),
+ ],
+ q(032) => [
+ q(0011),
+ q(0),
+ ],
+ q(036) => [
+ q(0014),
+ q(0),
+ ],
+ q(040) => [
+ q(0015),
+ q(0),
+ ],
+ q(044) => [
+ q(0017),
+ q(0),
+ ],
+ q(048) => [
+ q(0018),
+ q(0),
+ ],
+ q(050) => [
+ q(0019),
+ q(0),
+ ],
+ q(051) => [
+ q(0012),
+ q(0),
+ ],
+ q(052) => [
+ q(0020),
+ q(0),
+ ],
+ q(056) => [
+ q(0022),
+ q(0),
+ ],
+ q(060) => [
+ q(0025),
+ q(0),
+ ],
+ q(064) => [
+ q(0026),
+ q(0),
+ ],
+ q(068) => [
+ q(0027),
+ q(1),
+ ],
+ q(070) => [
+ q(0029),
+ q(0),
+ ],
+ q(072) => [
+ q(0030),
+ q(0),
+ ],
+ q(076) => [
+ q(0032),
+ q(0),
+ ],
+ q(084) => [
+ q(0023),
+ q(0),
+ ],
+ q(090) => [
+ q(0204),
+ q(0),
+ ],
+ q(092) => [
+ q(0243),
+ q(1),
+ ],
+ q(096) => [
+ q(0034),
+ q(0),
+ ],
+ q(100) => [
+ q(0035),
+ q(0),
+ ],
+ q(104) => [
+ q(0153),
+ q(0),
+ ],
+ q(108) => [
+ q(0037),
+ q(0),
+ ],
+ q(112) => [
+ q(0021),
+ q(0),
+ ],
+ q(116) => [
+ q(0038),
+ q(0),
+ ],
+ q(120) => [
+ q(0039),
+ q(0),
+ ],
+ q(124) => [
+ q(0040),
+ q(0),
+ ],
+ q(132) => [
+ q(0041),
+ q(0),
+ ],
+ q(136) => [
+ q(0042),
+ q(0),
+ ],
+ q(140) => [
+ q(0043),
+ q(0),
+ ],
+ q(144) => [
+ q(0210),
+ q(0),
+ ],
+ q(148) => [
+ q(0044),
+ q(0),
+ ],
+ q(152) => [
+ q(0045),
+ q(0),
+ ],
+ q(156) => [
+ q(0046),
+ q(0),
+ ],
+ q(170) => [
+ q(0049),
+ q(0),
+ ],
+ q(174) => [
+ q(0050),
+ q(0),
+ ],
+ q(175) => [
+ q(0143),
+ q(0),
+ ],
+ q(178) => [
+ q(0051),
+ q(0),
+ ],
+ q(180) => [
+ q(0052),
+ q(1),
+ ],
+ q(184) => [
+ q(0053),
+ q(0),
+ ],
+ q(188) => [
+ q(0054),
+ q(0),
+ ],
+ q(191) => [
+ q(0056),
+ q(0),
+ ],
+ q(192) => [
+ q(0057),
+ q(0),
+ ],
+ q(196) => [
+ q(0059),
+ q(0),
+ ],
+ q(203) => [
+ q(0060),
+ q(0),
+ ],
+ q(204) => [
+ q(0024),
+ q(0),
+ ],
+ q(208) => [
+ q(0061),
+ q(0),
+ ],
+ q(212) => [
+ q(0063),
+ q(0),
+ ],
+ q(214) => [
+ q(0064),
+ q(0),
+ ],
+ q(218) => [
+ q(0065),
+ q(0),
+ ],
+ q(222) => [
+ q(0067),
+ q(0),
+ ],
+ q(226) => [
+ q(0068),
+ q(0),
+ ],
+ q(231) => [
+ q(0071),
+ q(0),
+ ],
+ q(232) => [
+ q(0069),
+ q(0),
+ ],
+ q(233) => [
+ q(0070),
+ q(0),
+ ],
+ q(234) => [
+ q(0073),
+ q(1),
+ ],
+ q(238) => [
+ q(0072),
+ q(0),
+ ],
+ q(242) => [
+ q(0074),
+ q(0),
+ ],
+ q(246) => [
+ q(0075),
+ q(0),
+ ],
+ q(248) => [
+ q(0002),
+ q(0),
+ ],
+ q(250) => [
+ q(0076),
+ q(0),
+ ],
+ q(254) => [
+ q(0077),
+ q(0),
+ ],
+ q(258) => [
+ q(0078),
+ q(0),
+ ],
+ q(262) => [
+ q(0062),
+ q(0),
+ ],
+ q(266) => [
+ q(0080),
+ q(0),
+ ],
+ q(268) => [
+ q(0082),
+ q(0),
+ ],
+ q(270) => [
+ q(0081),
+ q(0),
+ ],
+ q(275) => [
+ q(0170),
+ q(1),
+ ],
+ q(276) => [
+ q(0083),
+ q(0),
+ ],
+ q(288) => [
+ q(0084),
+ q(0),
+ ],
+ q(292) => [
+ q(0085),
+ q(0),
+ ],
+ q(296) => [
+ q(0117),
+ q(0),
+ ],
+ q(300) => [
+ q(0086),
+ q(0),
+ ],
+ q(304) => [
+ q(0087),
+ q(0),
+ ],
+ q(308) => [
+ q(0088),
+ q(0),
+ ],
+ q(312) => [
+ q(0089),
+ q(0),
+ ],
+ q(316) => [
+ q(0090),
+ q(0),
+ ],
+ q(320) => [
+ q(0091),
+ q(0),
+ ],
+ q(324) => [
+ q(0093),
+ q(0),
+ ],
+ q(328) => [
+ q(0095),
+ q(0),
+ ],
+ q(332) => [
+ q(0096),
+ q(0),
+ ],
+ q(336) => [
+ q(0098),
+ q(1),
+ ],
+ q(340) => [
+ q(0099),
+ q(0),
+ ],
+ q(344) => [
+ q(0100),
+ q(1),
+ ],
+ q(348) => [
+ q(0101),
+ q(0),
+ ],
+ q(352) => [
+ q(0102),
+ q(0),
+ ],
+ q(356) => [
+ q(0103),
+ q(0),
+ ],
+ q(360) => [
+ q(0104),
+ q(0),
+ ],
+ q(364) => [
+ q(0105),
+ q(1),
+ ],
+ q(368) => [
+ q(0106),
+ q(0),
+ ],
+ q(372) => [
+ q(0107),
+ q(0),
+ ],
+ q(376) => [
+ q(0109),
+ q(0),
+ ],
+ q(380) => [
+ q(0110),
+ q(0),
+ ],
+ q(384) => [
+ q(0055),
+ q(0),
+ ],
+ q(388) => [
+ q(0111),
+ q(0),
+ ],
+ q(392) => [
+ q(0112),
+ q(0),
+ ],
+ q(398) => [
+ q(0115),
+ q(0),
+ ],
+ q(400) => [
+ q(0114),
+ q(0),
+ ],
+ q(404) => [
+ q(0116),
+ q(0),
+ ],
+ q(408) => [
+ q(0118),
+ q(1),
+ ],
+ q(410) => [
+ q(0119),
+ q(1),
+ ],
+ q(414) => [
+ q(0120),
+ q(0),
+ ],
+ q(417) => [
+ q(0121),
+ q(0),
+ ],
+ q(418) => [
+ q(0122),
+ q(0),
+ ],
+ q(422) => [
+ q(0124),
+ q(0),
+ ],
+ q(426) => [
+ q(0125),
+ q(0),
+ ],
+ q(428) => [
+ q(0123),
+ q(0),
+ ],
+ q(430) => [
+ q(0126),
+ q(0),
+ ],
+ q(434) => [
+ q(0127),
+ q(0),
+ ],
+ q(438) => [
+ q(0128),
+ q(0),
+ ],
+ q(440) => [
+ q(0129),
+ q(0),
+ ],
+ q(442) => [
+ q(0130),
+ q(0),
+ ],
+ q(446) => [
+ q(0131),
+ q(1),
+ ],
+ q(450) => [
+ q(0133),
+ q(0),
+ ],
+ q(454) => [
+ q(0134),
+ q(0),
+ ],
+ q(458) => [
+ q(0135),
+ q(0),
+ ],
+ q(462) => [
+ q(0136),
+ q(0),
+ ],
+ q(466) => [
+ q(0137),
+ q(0),
+ ],
+ q(470) => [
+ q(0138),
+ q(0),
+ ],
+ q(474) => [
+ q(0140),
+ q(0),
+ ],
+ q(478) => [
+ q(0141),
+ q(0),
+ ],
+ q(480) => [
+ q(0142),
+ q(0),
+ ],
+ q(484) => [
+ q(0144),
+ q(0),
+ ],
+ q(492) => [
+ q(0147),
+ q(0),
+ ],
+ q(496) => [
+ q(0148),
+ q(0),
+ ],
+ q(498) => [
+ q(0146),
+ q(1),
+ ],
+ q(499) => [
+ q(0149),
+ q(0),
+ ],
+ q(500) => [
+ q(0150),
+ q(0),
+ ],
+ q(504) => [
+ q(0151),
+ q(0),
+ ],
+ q(508) => [
+ q(0152),
+ q(0),
+ ],
+ q(512) => [
+ q(0167),
+ q(0),
+ ],
+ q(516) => [
+ q(0154),
+ q(0),
+ ],
+ q(520) => [
+ q(0155),
+ q(0),
+ ],
+ q(524) => [
+ q(0156),
+ q(0),
+ ],
+ q(528) => [
+ q(0157),
+ q(0),
+ ],
+ q(531) => [
+ q(0058),
+ q(0),
+ ],
+ q(533) => [
+ q(0013),
+ q(0),
+ ],
+ q(534) => [
+ q(0201),
+ q(0),
+ ],
+ q(535) => [
+ q(0028),
+ q(0),
+ ],
+ q(540) => [
+ q(0158),
+ q(0),
+ ],
+ q(548) => [
+ q(0240),
+ q(0),
+ ],
+ q(554) => [
+ q(0159),
+ q(0),
+ ],
+ q(558) => [
+ q(0160),
+ q(0),
+ ],
+ q(562) => [
+ q(0161),
+ q(0),
+ ],
+ q(566) => [
+ q(0162),
+ q(0),
+ ],
+ q(570) => [
+ q(0163),
+ q(0),
+ ],
+ q(574) => [
+ q(0164),
+ q(0),
+ ],
+ q(578) => [
+ q(0166),
+ q(0),
+ ],
+ q(580) => [
+ q(0165),
+ q(0),
+ ],
+ q(583) => [
+ q(0145),
+ q(1),
+ ],
+ q(584) => [
+ q(0139),
+ q(0),
+ ],
+ q(585) => [
+ q(0169),
+ q(0),
+ ],
+ q(586) => [
+ q(0168),
+ q(0),
+ ],
+ q(591) => [
+ q(0171),
+ q(0),
+ ],
+ q(598) => [
+ q(0172),
+ q(0),
+ ],
+ q(600) => [
+ q(0173),
+ q(0),
+ ],
+ q(604) => [
+ q(0174),
+ q(0),
+ ],
+ q(608) => [
+ q(0175),
+ q(0),
+ ],
+ q(612) => [
+ q(0176),
+ q(0),
+ ],
+ q(616) => [
+ q(0177),
+ q(0),
+ ],
+ q(620) => [
+ q(0178),
+ q(0),
+ ],
+ q(624) => [
+ q(0094),
+ q(0),
+ ],
+ q(626) => [
+ q(0222),
+ q(0),
+ ],
+ q(630) => [
+ q(0179),
+ q(0),
+ ],
+ q(634) => [
+ q(0180),
+ q(0),
+ ],
+ q(638) => [
+ q(0181),
+ q(0),
+ ],
+ q(642) => [
+ q(0182),
+ q(0),
+ ],
+ q(643) => [
+ q(0183),
+ q(0),
+ ],
+ q(646) => [
+ q(0184),
+ q(0),
+ ],
+ q(652) => [
+ q(0185),
+ q(1),
+ ],
+ q(654) => [
+ q(0186),
+ q(1),
+ ],
+ q(659) => [
+ q(0187),
+ q(0),
+ ],
+ q(660) => [
+ q(0008),
+ q(0),
+ ],
+ q(662) => [
+ q(0188),
+ q(0),
+ ],
+ q(663) => [
+ q(0189),
+ q(1),
+ ],
+ q(666) => [
+ q(0190),
+ q(0),
+ ],
+ q(670) => [
+ q(0191),
+ q(0),
+ ],
+ q(674) => [
+ q(0193),
+ q(0),
+ ],
+ q(678) => [
+ q(0194),
+ q(0),
+ ],
+ q(680) => [
+ q(0251),
+ q(0),
+ ],
+ q(682) => [
+ q(0195),
+ q(0),
+ ],
+ q(686) => [
+ q(0196),
+ q(0),
+ ],
+ q(688) => [
+ q(0197),
+ q(0),
+ ],
+ q(690) => [
+ q(0198),
+ q(0),
+ ],
+ q(694) => [
+ q(0199),
+ q(0),
+ ],
+ q(702) => [
+ q(0200),
+ q(0),
+ ],
+ q(703) => [
+ q(0202),
+ q(0),
+ ],
+ q(704) => [
+ q(0242),
+ q(0),
+ ],
+ q(705) => [
+ q(0203),
+ q(0),
+ ],
+ q(706) => [
+ q(0205),
+ q(0),
+ ],
+ q(710) => [
+ q(0206),
+ q(0),
+ ],
+ q(716) => [
+ q(0249),
+ q(0),
+ ],
+ q(724) => [
+ q(0209),
+ q(0),
+ ],
+ q(728) => [
+ q(0208),
+ q(0),
+ ],
+ q(729) => [
+ q(0211),
+ q(0),
+ ],
+ q(732) => [
+ q(0246),
+ q(0),
+ ],
+ q(740) => [
+ q(0212),
+ q(0),
+ ],
+ q(744) => [
+ q(0213),
+ q(1),
+ ],
+ q(748) => [
+ q(0214),
+ q(0),
+ ],
+ q(752) => [
+ q(0215),
+ q(0),
+ ],
+ q(756) => [
+ q(0216),
+ q(0),
+ ],
+ q(760) => [
+ q(0217),
+ q(0),
+ ],
+ q(762) => [
+ q(0219),
+ q(0),
+ ],
+ q(764) => [
+ q(0221),
+ q(0),
+ ],
+ q(768) => [
+ q(0223),
+ q(0),
+ ],
+ q(772) => [
+ q(0224),
+ q(0),
+ ],
+ q(776) => [
+ q(0225),
+ q(0),
+ ],
+ q(780) => [
+ q(0226),
+ q(0),
+ ],
+ q(784) => [
+ q(0234),
+ q(0),
+ ],
+ q(788) => [
+ q(0227),
+ q(0),
+ ],
+ q(792) => [
+ q(0228),
+ q(0),
+ ],
+ q(795) => [
+ q(0229),
+ q(0),
+ ],
+ q(796) => [
+ q(0230),
+ q(0),
+ ],
+ q(798) => [
+ q(0231),
+ q(0),
+ ],
+ q(800) => [
+ q(0232),
+ q(0),
+ ],
+ q(804) => [
+ q(0233),
+ q(0),
+ ],
+ q(807) => [
+ q(0132),
+ q(1),
+ ],
+ q(818) => [
+ q(0066),
+ q(0),
+ ],
+ q(826) => [
+ q(0235),
+ q(1),
+ ],
+ q(830) => [
+ q(0250),
+ q(0),
+ ],
+ q(831) => [
+ q(0092),
+ q(0),
+ ],
+ q(832) => [
+ q(0113),
+ q(0),
+ ],
+ q(833) => [
+ q(0108),
+ q(0),
+ ],
+ q(834) => [
+ q(0220),
+ q(1),
+ ],
+ q(840) => [
+ q(0236),
+ q(1),
+ ],
+ q(850) => [
+ q(0244),
+ q(1),
+ ],
+ q(854) => [
+ q(0036),
+ q(0),
+ ],
+ q(858) => [
+ q(0238),
+ q(0),
+ ],
+ q(860) => [
+ q(0239),
+ q(0),
+ ],
+ q(862) => [
+ q(0241),
+ q(1),
+ ],
+ q(876) => [
+ q(0245),
+ q(1),
+ ],
+ q(882) => [
+ q(0192),
+ q(0),
+ ],
+ q(887) => [
+ q(0247),
+ q(0),
+ ],
+ q(894) => [
+ q(0248),
+ q(0),
+ ],
+ },
+};
+
+$Locale::Codes::Data{'country'}{'id2code'} = {
+ q(alpha-2) => {
+ q(0001) => q(af),
+ q(0002) => q(ax),
+ q(0003) => q(al),
+ q(0004) => q(dz),
+ q(0005) => q(as),
+ q(0006) => q(ad),
+ q(0007) => q(ao),
+ q(0008) => q(ai),
+ q(0009) => q(aq),
+ q(0010) => q(ag),
+ q(0011) => q(ar),
+ q(0012) => q(am),
+ q(0013) => q(aw),
+ q(0014) => q(au),
+ q(0015) => q(at),
+ q(0016) => q(az),
+ q(0017) => q(bs),
+ q(0018) => q(bh),
+ q(0019) => q(bd),
+ q(0020) => q(bb),
+ q(0021) => q(by),
+ q(0022) => q(be),
+ q(0023) => q(bz),
+ q(0024) => q(bj),
+ q(0025) => q(bm),
+ q(0026) => q(bt),
+ q(0027) => q(bo),
+ q(0028) => q(bq),
+ q(0029) => q(ba),
+ q(0030) => q(bw),
+ q(0031) => q(bv),
+ q(0032) => q(br),
+ q(0033) => q(io),
+ q(0034) => q(bn),
+ q(0035) => q(bg),
+ q(0036) => q(bf),
+ q(0037) => q(bi),
+ q(0038) => q(kh),
+ q(0039) => q(cm),
+ q(0040) => q(ca),
+ q(0041) => q(cv),
+ q(0042) => q(ky),
+ q(0043) => q(cf),
+ q(0044) => q(td),
+ q(0045) => q(cl),
+ q(0046) => q(cn),
+ q(0047) => q(cx),
+ q(0048) => q(cc),
+ q(0049) => q(co),
+ q(0050) => q(km),
+ q(0051) => q(cg),
+ q(0052) => q(cd),
+ q(0053) => q(ck),
+ q(0054) => q(cr),
+ q(0055) => q(ci),
+ q(0056) => q(hr),
+ q(0057) => q(cu),
+ q(0058) => q(cw),
+ q(0059) => q(cy),
+ q(0060) => q(cz),
+ q(0061) => q(dk),
+ q(0062) => q(dj),
+ q(0063) => q(dm),
+ q(0064) => q(do),
+ q(0065) => q(ec),
+ q(0066) => q(eg),
+ q(0067) => q(sv),
+ q(0068) => q(gq),
+ q(0069) => q(er),
+ q(0070) => q(ee),
+ q(0071) => q(et),
+ q(0072) => q(fk),
+ q(0073) => q(fo),
+ q(0074) => q(fj),
+ q(0075) => q(fi),
+ q(0076) => q(fr),
+ q(0077) => q(gf),
+ q(0078) => q(pf),
+ q(0079) => q(tf),
+ q(0080) => q(ga),
+ q(0081) => q(gm),
+ q(0082) => q(ge),
+ q(0083) => q(de),
+ q(0084) => q(gh),
+ q(0085) => q(gi),
+ q(0086) => q(gr),
+ q(0087) => q(gl),
+ q(0088) => q(gd),
+ q(0089) => q(gp),
+ q(0090) => q(gu),
+ q(0091) => q(gt),
+ q(0092) => q(gg),
+ q(0093) => q(gn),
+ q(0094) => q(gw),
+ q(0095) => q(gy),
+ q(0096) => q(ht),
+ q(0097) => q(hm),
+ q(0098) => q(va),
+ q(0099) => q(hn),
+ q(0100) => q(hk),
+ q(0101) => q(hu),
+ q(0102) => q(is),
+ q(0103) => q(in),
+ q(0104) => q(id),
+ q(0105) => q(ir),
+ q(0106) => q(iq),
+ q(0107) => q(ie),
+ q(0108) => q(im),
+ q(0109) => q(il),
+ q(0110) => q(it),
+ q(0111) => q(jm),
+ q(0112) => q(jp),
+ q(0113) => q(je),
+ q(0114) => q(jo),
+ q(0115) => q(kz),
+ q(0116) => q(ke),
+ q(0117) => q(ki),
+ q(0118) => q(kp),
+ q(0119) => q(kr),
+ q(0120) => q(kw),
+ q(0121) => q(kg),
+ q(0122) => q(la),
+ q(0123) => q(lv),
+ q(0124) => q(lb),
+ q(0125) => q(ls),
+ q(0126) => q(lr),
+ q(0127) => q(ly),
+ q(0128) => q(li),
+ q(0129) => q(lt),
+ q(0130) => q(lu),
+ q(0131) => q(mo),
+ q(0132) => q(mk),
+ q(0133) => q(mg),
+ q(0134) => q(mw),
+ q(0135) => q(my),
+ q(0136) => q(mv),
+ q(0137) => q(ml),
+ q(0138) => q(mt),
+ q(0139) => q(mh),
+ q(0140) => q(mq),
+ q(0141) => q(mr),
+ q(0142) => q(mu),
+ q(0143) => q(yt),
+ q(0144) => q(mx),
+ q(0145) => q(fm),
+ q(0146) => q(md),
+ q(0147) => q(mc),
+ q(0148) => q(mn),
+ q(0149) => q(me),
+ q(0150) => q(ms),
+ q(0151) => q(ma),
+ q(0152) => q(mz),
+ q(0153) => q(mm),
+ q(0154) => q(na),
+ q(0155) => q(nr),
+ q(0156) => q(np),
+ q(0157) => q(nl),
+ q(0158) => q(nc),
+ q(0159) => q(nz),
+ q(0160) => q(ni),
+ q(0161) => q(ne),
+ q(0162) => q(ng),
+ q(0163) => q(nu),
+ q(0164) => q(nf),
+ q(0165) => q(mp),
+ q(0166) => q(no),
+ q(0167) => q(om),
+ q(0168) => q(pk),
+ q(0169) => q(pw),
+ q(0170) => q(ps),
+ q(0171) => q(pa),
+ q(0172) => q(pg),
+ q(0173) => q(py),
+ q(0174) => q(pe),
+ q(0175) => q(ph),
+ q(0176) => q(pn),
+ q(0177) => q(pl),
+ q(0178) => q(pt),
+ q(0179) => q(pr),
+ q(0180) => q(qa),
+ q(0181) => q(re),
+ q(0182) => q(ro),
+ q(0183) => q(ru),
+ q(0184) => q(rw),
+ q(0185) => q(bl),
+ q(0186) => q(sh),
+ q(0187) => q(kn),
+ q(0188) => q(lc),
+ q(0189) => q(mf),
+ q(0190) => q(pm),
+ q(0191) => q(vc),
+ q(0192) => q(ws),
+ q(0193) => q(sm),
+ q(0194) => q(st),
+ q(0195) => q(sa),
+ q(0196) => q(sn),
+ q(0197) => q(rs),
+ q(0198) => q(sc),
+ q(0199) => q(sl),
+ q(0200) => q(sg),
+ q(0201) => q(sx),
+ q(0202) => q(sk),
+ q(0203) => q(si),
+ q(0204) => q(sb),
+ q(0205) => q(so),
+ q(0206) => q(za),
+ q(0207) => q(gs),
+ q(0208) => q(ss),
+ q(0209) => q(es),
+ q(0210) => q(lk),
+ q(0211) => q(sd),
+ q(0212) => q(sr),
+ q(0213) => q(sj),
+ q(0214) => q(sz),
+ q(0215) => q(se),
+ q(0216) => q(ch),
+ q(0217) => q(sy),
+ q(0218) => q(tw),
+ q(0219) => q(tj),
+ q(0220) => q(tz),
+ q(0221) => q(th),
+ q(0222) => q(tl),
+ q(0223) => q(tg),
+ q(0224) => q(tk),
+ q(0225) => q(to),
+ q(0226) => q(tt),
+ q(0227) => q(tn),
+ q(0228) => q(tr),
+ q(0229) => q(tm),
+ q(0230) => q(tc),
+ q(0231) => q(tv),
+ q(0232) => q(ug),
+ q(0233) => q(ua),
+ q(0234) => q(ae),
+ q(0235) => q(gb),
+ q(0236) => q(us),
+ q(0237) => q(um),
+ q(0238) => q(uy),
+ q(0239) => q(uz),
+ q(0240) => q(vu),
+ q(0241) => q(ve),
+ q(0242) => q(vn),
+ q(0243) => q(vg),
+ q(0244) => q(vi),
+ q(0245) => q(wf),
+ q(0246) => q(eh),
+ q(0247) => q(ye),
+ q(0248) => q(zm),
+ q(0249) => q(zw),
+ },
+ q(alpha-3) => {
+ q(0001) => q(afg),
+ q(0002) => q(ala),
+ q(0003) => q(alb),
+ q(0004) => q(dza),
+ q(0005) => q(asm),
+ q(0006) => q(and),
+ q(0007) => q(ago),
+ q(0008) => q(aia),
+ q(0010) => q(atg),
+ q(0011) => q(arg),
+ q(0012) => q(arm),
+ q(0013) => q(abw),
+ q(0014) => q(aus),
+ q(0015) => q(aut),
+ q(0016) => q(aze),
+ q(0017) => q(bhs),
+ q(0018) => q(bhr),
+ q(0019) => q(bgd),
+ q(0020) => q(brb),
+ q(0021) => q(blr),
+ q(0022) => q(bel),
+ q(0023) => q(blz),
+ q(0024) => q(ben),
+ q(0025) => q(bmu),
+ q(0026) => q(btn),
+ q(0027) => q(bol),
+ q(0028) => q(bes),
+ q(0029) => q(bih),
+ q(0030) => q(bwa),
+ q(0032) => q(bra),
+ q(0034) => q(brn),
+ q(0035) => q(bgr),
+ q(0036) => q(bfa),
+ q(0037) => q(bdi),
+ q(0038) => q(khm),
+ q(0039) => q(cmr),
+ q(0040) => q(can),
+ q(0041) => q(cpv),
+ q(0042) => q(cym),
+ q(0043) => q(caf),
+ q(0044) => q(tcd),
+ q(0045) => q(chl),
+ q(0046) => q(chn),
+ q(0049) => q(col),
+ q(0050) => q(com),
+ q(0051) => q(cog),
+ q(0052) => q(cod),
+ q(0053) => q(cok),
+ q(0054) => q(cri),
+ q(0055) => q(civ),
+ q(0056) => q(hrv),
+ q(0057) => q(cub),
+ q(0058) => q(cuw),
+ q(0059) => q(cyp),
+ q(0060) => q(cze),
+ q(0061) => q(dnk),
+ q(0062) => q(dji),
+ q(0063) => q(dma),
+ q(0064) => q(dom),
+ q(0065) => q(ecu),
+ q(0066) => q(egy),
+ q(0067) => q(slv),
+ q(0068) => q(gnq),
+ q(0069) => q(eri),
+ q(0070) => q(est),
+ q(0071) => q(eth),
+ q(0072) => q(flk),
+ q(0073) => q(fro),
+ q(0074) => q(fji),
+ q(0075) => q(fin),
+ q(0076) => q(fra),
+ q(0077) => q(guf),
+ q(0078) => q(pyf),
+ q(0080) => q(gab),
+ q(0081) => q(gmb),
+ q(0082) => q(geo),
+ q(0083) => q(deu),
+ q(0084) => q(gha),
+ q(0085) => q(gib),
+ q(0086) => q(grc),
+ q(0087) => q(grl),
+ q(0088) => q(grd),
+ q(0089) => q(glp),
+ q(0090) => q(gum),
+ q(0091) => q(gtm),
+ q(0092) => q(ggy),
+ q(0093) => q(gin),
+ q(0094) => q(gnb),
+ q(0095) => q(guy),
+ q(0096) => q(hti),
+ q(0098) => q(vat),
+ q(0099) => q(hnd),
+ q(0100) => q(hkg),
+ q(0101) => q(hun),
+ q(0102) => q(isl),
+ q(0103) => q(ind),
+ q(0104) => q(idn),
+ q(0105) => q(irn),
+ q(0106) => q(irq),
+ q(0107) => q(irl),
+ q(0108) => q(imn),
+ q(0109) => q(isr),
+ q(0110) => q(ita),
+ q(0111) => q(jam),
+ q(0112) => q(jpn),
+ q(0113) => q(jey),
+ q(0114) => q(jor),
+ q(0115) => q(kaz),
+ q(0116) => q(ken),
+ q(0117) => q(kir),
+ q(0118) => q(prk),
+ q(0119) => q(kor),
+ q(0120) => q(kwt),
+ q(0121) => q(kgz),
+ q(0122) => q(lao),
+ q(0123) => q(lva),
+ q(0124) => q(lbn),
+ q(0125) => q(lso),
+ q(0126) => q(lbr),
+ q(0127) => q(lby),
+ q(0128) => q(lie),
+ q(0129) => q(ltu),
+ q(0130) => q(lux),
+ q(0131) => q(mac),
+ q(0132) => q(mkd),
+ q(0133) => q(mdg),
+ q(0134) => q(mwi),
+ q(0135) => q(mys),
+ q(0136) => q(mdv),
+ q(0137) => q(mli),
+ q(0138) => q(mlt),
+ q(0139) => q(mhl),
+ q(0140) => q(mtq),
+ q(0141) => q(mrt),
+ q(0142) => q(mus),
+ q(0143) => q(myt),
+ q(0144) => q(mex),
+ q(0145) => q(fsm),
+ q(0146) => q(mda),
+ q(0147) => q(mco),
+ q(0148) => q(mng),
+ q(0149) => q(mne),
+ q(0150) => q(msr),
+ q(0151) => q(mar),
+ q(0152) => q(moz),
+ q(0153) => q(mmr),
+ q(0154) => q(nam),
+ q(0155) => q(nru),
+ q(0156) => q(npl),
+ q(0157) => q(nld),
+ q(0158) => q(ncl),
+ q(0159) => q(nzl),
+ q(0160) => q(nic),
+ q(0161) => q(ner),
+ q(0162) => q(nga),
+ q(0163) => q(niu),
+ q(0164) => q(nfk),
+ q(0165) => q(mnp),
+ q(0166) => q(nor),
+ q(0167) => q(omn),
+ q(0168) => q(pak),
+ q(0169) => q(plw),
+ q(0170) => q(pse),
+ q(0171) => q(pan),
+ q(0172) => q(png),
+ q(0173) => q(pry),
+ q(0174) => q(per),
+ q(0175) => q(phl),
+ q(0176) => q(pcn),
+ q(0177) => q(pol),
+ q(0178) => q(prt),
+ q(0179) => q(pri),
+ q(0180) => q(qat),
+ q(0181) => q(reu),
+ q(0182) => q(rou),
+ q(0183) => q(rus),
+ q(0184) => q(rwa),
+ q(0185) => q(blm),
+ q(0186) => q(shn),
+ q(0187) => q(kna),
+ q(0188) => q(lca),
+ q(0189) => q(maf),
+ q(0190) => q(spm),
+ q(0191) => q(vct),
+ q(0192) => q(wsm),
+ q(0193) => q(smr),
+ q(0194) => q(stp),
+ q(0195) => q(sau),
+ q(0196) => q(sen),
+ q(0197) => q(srb),
+ q(0198) => q(syc),
+ q(0199) => q(sle),
+ q(0200) => q(sgp),
+ q(0201) => q(sxm),
+ q(0202) => q(svk),
+ q(0203) => q(svn),
+ q(0204) => q(slb),
+ q(0205) => q(som),
+ q(0206) => q(zaf),
+ q(0208) => q(ssd),
+ q(0209) => q(esp),
+ q(0210) => q(lka),
+ q(0211) => q(sdn),
+ q(0212) => q(sur),
+ q(0213) => q(sjm),
+ q(0214) => q(swz),
+ q(0215) => q(swe),
+ q(0216) => q(che),
+ q(0217) => q(syr),
+ q(0219) => q(tjk),
+ q(0220) => q(tza),
+ q(0221) => q(tha),
+ q(0222) => q(tls),
+ q(0223) => q(tgo),
+ q(0224) => q(tkl),
+ q(0225) => q(ton),
+ q(0226) => q(tto),
+ q(0227) => q(tun),
+ q(0228) => q(tur),
+ q(0229) => q(tkm),
+ q(0230) => q(tca),
+ q(0231) => q(tuv),
+ q(0232) => q(uga),
+ q(0233) => q(ukr),
+ q(0234) => q(are),
+ q(0235) => q(gbr),
+ q(0236) => q(usa),
+ q(0238) => q(ury),
+ q(0239) => q(uzb),
+ q(0240) => q(vut),
+ q(0241) => q(ven),
+ q(0242) => q(vnm),
+ q(0243) => q(vgb),
+ q(0244) => q(vir),
+ q(0245) => q(wlf),
+ q(0246) => q(esh),
+ q(0247) => q(yem),
+ q(0248) => q(zmb),
+ q(0249) => q(zwe),
+ },
+ q(dom) => {
+ q(0001) => q(AF),
+ q(0002) => q(AX),
+ q(0003) => q(AL),
+ q(0004) => q(DZ),
+ q(0005) => q(AS),
+ q(0006) => q(AD),
+ q(0007) => q(AO),
+ q(0008) => q(AI),
+ q(0009) => q(AQ),
+ q(0010) => q(AG),
+ q(0011) => q(AR),
+ q(0012) => q(AM),
+ q(0013) => q(AW),
+ q(0014) => q(AU),
+ q(0015) => q(AT),
+ q(0016) => q(AZ),
+ q(0017) => q(BS),
+ q(0018) => q(BH),
+ q(0019) => q(BD),
+ q(0020) => q(BB),
+ q(0021) => q(BY),
+ q(0022) => q(BE),
+ q(0023) => q(BZ),
+ q(0024) => q(BJ),
+ q(0025) => q(BM),
+ q(0026) => q(BT),
+ q(0027) => q(BO),
+ q(0029) => q(BA),
+ q(0030) => q(BW),
+ q(0031) => q(BV),
+ q(0032) => q(BR),
+ q(0033) => q(IO),
+ q(0034) => q(BN),
+ q(0035) => q(BG),
+ q(0036) => q(BF),
+ q(0037) => q(BI),
+ q(0038) => q(KH),
+ q(0039) => q(CM),
+ q(0040) => q(CA),
+ q(0041) => q(CV),
+ q(0042) => q(KY),
+ q(0043) => q(CF),
+ q(0044) => q(TD),
+ q(0045) => q(CL),
+ q(0046) => q(CN),
+ q(0047) => q(CX),
+ q(0048) => q(CC),
+ q(0049) => q(CO),
+ q(0050) => q(KM),
+ q(0051) => q(CG),
+ q(0052) => q(CD),
+ q(0053) => q(CK),
+ q(0054) => q(CR),
+ q(0055) => q(CI),
+ q(0056) => q(HR),
+ q(0057) => q(CU),
+ q(0058) => q(CW),
+ q(0059) => q(CY),
+ q(0060) => q(CZ),
+ q(0061) => q(DK),
+ q(0062) => q(DJ),
+ q(0063) => q(DM),
+ q(0064) => q(DO),
+ q(0065) => q(EC),
+ q(0066) => q(EG),
+ q(0067) => q(SV),
+ q(0068) => q(GQ),
+ q(0069) => q(ER),
+ q(0070) => q(EE),
+ q(0071) => q(ET),
+ q(0072) => q(FK),
+ q(0073) => q(FO),
+ q(0074) => q(FJ),
+ q(0075) => q(FI),
+ q(0076) => q(FR),
+ q(0077) => q(GF),
+ q(0078) => q(PF),
+ q(0079) => q(TF),
+ q(0080) => q(GA),
+ q(0081) => q(GM),
+ q(0082) => q(GE),
+ q(0083) => q(DE),
+ q(0084) => q(GH),
+ q(0085) => q(GI),
+ q(0086) => q(GR),
+ q(0087) => q(GL),
+ q(0088) => q(GD),
+ q(0089) => q(GP),
+ q(0090) => q(GU),
+ q(0091) => q(GT),
+ q(0092) => q(GG),
+ q(0093) => q(GN),
+ q(0094) => q(GW),
+ q(0095) => q(GY),
+ q(0096) => q(HT),
+ q(0097) => q(HM),
+ q(0098) => q(VA),
+ q(0099) => q(HN),
+ q(0100) => q(HK),
+ q(0101) => q(HU),
+ q(0102) => q(IS),
+ q(0103) => q(IN),
+ q(0104) => q(ID),
+ q(0105) => q(IR),
+ q(0106) => q(IQ),
+ q(0107) => q(IE),
+ q(0108) => q(IM),
+ q(0109) => q(IL),
+ q(0110) => q(IT),
+ q(0111) => q(JM),
+ q(0112) => q(JP),
+ q(0113) => q(JE),
+ q(0114) => q(JO),
+ q(0115) => q(KZ),
+ q(0116) => q(KE),
+ q(0117) => q(KI),
+ q(0118) => q(KP),
+ q(0119) => q(KR),
+ q(0120) => q(KW),
+ q(0121) => q(KG),
+ q(0122) => q(LA),
+ q(0123) => q(LV),
+ q(0124) => q(LB),
+ q(0125) => q(LS),
+ q(0126) => q(LR),
+ q(0127) => q(LY),
+ q(0128) => q(LI),
+ q(0129) => q(LT),
+ q(0130) => q(LU),
+ q(0131) => q(MO),
+ q(0132) => q(MK),
+ q(0133) => q(MG),
+ q(0134) => q(MW),
+ q(0135) => q(MY),
+ q(0136) => q(MV),
+ q(0137) => q(ML),
+ q(0138) => q(MT),
+ q(0139) => q(MH),
+ q(0140) => q(MQ),
+ q(0141) => q(MR),
+ q(0142) => q(MU),
+ q(0143) => q(YT),
+ q(0144) => q(MX),
+ q(0145) => q(FM),
+ q(0146) => q(MD),
+ q(0147) => q(MC),
+ q(0148) => q(MN),
+ q(0149) => q(ME),
+ q(0150) => q(MS),
+ q(0151) => q(MA),
+ q(0152) => q(MZ),
+ q(0153) => q(MM),
+ q(0154) => q(NA),
+ q(0155) => q(NR),
+ q(0156) => q(NP),
+ q(0157) => q(NL),
+ q(0158) => q(NC),
+ q(0159) => q(NZ),
+ q(0160) => q(NI),
+ q(0161) => q(NE),
+ q(0162) => q(NG),
+ q(0163) => q(NU),
+ q(0164) => q(NF),
+ q(0165) => q(MP),
+ q(0166) => q(NO),
+ q(0167) => q(OM),
+ q(0168) => q(PK),
+ q(0169) => q(PW),
+ q(0170) => q(PS),
+ q(0171) => q(PA),
+ q(0172) => q(PG),
+ q(0173) => q(PY),
+ q(0174) => q(PE),
+ q(0175) => q(PH),
+ q(0176) => q(PN),
+ q(0177) => q(PL),
+ q(0178) => q(PT),
+ q(0179) => q(PR),
+ q(0180) => q(QA),
+ q(0181) => q(RE),
+ q(0182) => q(RO),
+ q(0183) => q(RU),
+ q(0184) => q(RW),
+ q(0185) => q(BL),
+ q(0186) => q(SH),
+ q(0187) => q(KN),
+ q(0188) => q(LC),
+ q(0189) => q(MF),
+ q(0190) => q(PM),
+ q(0191) => q(VC),
+ q(0192) => q(WS),
+ q(0193) => q(SM),
+ q(0194) => q(ST),
+ q(0195) => q(SA),
+ q(0196) => q(SN),
+ q(0197) => q(RS),
+ q(0198) => q(SC),
+ q(0199) => q(SL),
+ q(0200) => q(SG),
+ q(0201) => q(SX),
+ q(0202) => q(SK),
+ q(0203) => q(SI),
+ q(0204) => q(SB),
+ q(0205) => q(SO),
+ q(0206) => q(ZA),
+ q(0207) => q(GS),
+ q(0208) => q(SS),
+ q(0209) => q(ES),
+ q(0210) => q(LK),
+ q(0211) => q(SD),
+ q(0212) => q(SR),
+ q(0213) => q(SJ),
+ q(0214) => q(SZ),
+ q(0215) => q(SE),
+ q(0216) => q(CH),
+ q(0217) => q(SY),
+ q(0218) => q(TW),
+ q(0219) => q(TJ),
+ q(0220) => q(TZ),
+ q(0221) => q(TH),
+ q(0222) => q(TL),
+ q(0223) => q(TG),
+ q(0224) => q(TK),
+ q(0225) => q(TO),
+ q(0226) => q(TT),
+ q(0227) => q(TN),
+ q(0228) => q(TR),
+ q(0229) => q(TM),
+ q(0230) => q(TC),
+ q(0231) => q(TV),
+ q(0232) => q(UG),
+ q(0233) => q(UA),
+ q(0234) => q(AE),
+ q(0235) => q(UK),
+ q(0236) => q(US),
+ q(0237) => q(UM),
+ q(0238) => q(UY),
+ q(0239) => q(UZ),
+ q(0240) => q(VU),
+ q(0241) => q(VE),
+ q(0242) => q(VN),
+ q(0243) => q(VG),
+ q(0244) => q(VI),
+ q(0245) => q(WF),
+ q(0246) => q(EH),
+ q(0247) => q(YE),
+ q(0248) => q(ZM),
+ q(0249) => q(ZW),
+ q(0269) => q(AN),
+ q(0277) => q(AC),
+ q(0278) => q(BQ),
+ q(0279) => q(EU),
+ q(0280) => q(SU),
+ q(0281) => q(TP),
+ },
+ q(fips-10) => {
+ q(0001) => q(AF),
+ q(0003) => q(AL),
+ q(0004) => q(AG),
+ q(0005) => q(AQ),
+ q(0006) => q(AN),
+ q(0007) => q(AO),
+ q(0008) => q(AV),
+ q(0009) => q(AY),
+ q(0010) => q(AC),
+ q(0011) => q(AR),
+ q(0012) => q(AM),
+ q(0013) => q(AA),
+ q(0014) => q(AS),
+ q(0015) => q(AU),
+ q(0016) => q(AJ),
+ q(0017) => q(BF),
+ q(0018) => q(BA),
+ q(0019) => q(BG),
+ q(0020) => q(BB),
+ q(0021) => q(BO),
+ q(0022) => q(BE),
+ q(0023) => q(BH),
+ q(0024) => q(BN),
+ q(0025) => q(BD),
+ q(0026) => q(BT),
+ q(0027) => q(BL),
+ q(0029) => q(BK),
+ q(0030) => q(BC),
+ q(0031) => q(BV),
+ q(0032) => q(BR),
+ q(0033) => q(IO),
+ q(0034) => q(BX),
+ q(0035) => q(BU),
+ q(0036) => q(UV),
+ q(0037) => q(BY),
+ q(0038) => q(CB),
+ q(0039) => q(CM),
+ q(0040) => q(CA),
+ q(0041) => q(CV),
+ q(0042) => q(CJ),
+ q(0043) => q(CT),
+ q(0044) => q(CD),
+ q(0045) => q(CI),
+ q(0046) => q(CH),
+ q(0047) => q(KT),
+ q(0048) => q(CK),
+ q(0049) => q(CO),
+ q(0050) => q(CN),
+ q(0051) => q(CF),
+ q(0052) => q(CG),
+ q(0053) => q(CW),
+ q(0054) => q(CS),
+ q(0055) => q(IV),
+ q(0056) => q(HR),
+ q(0057) => q(CU),
+ q(0059) => q(CY),
+ q(0060) => q(EZ),
+ q(0061) => q(DA),
+ q(0062) => q(DJ),
+ q(0063) => q(DO),
+ q(0064) => q(DR),
+ q(0065) => q(EC),
+ q(0066) => q(EG),
+ q(0067) => q(ES),
+ q(0068) => q(EK),
+ q(0069) => q(ER),
+ q(0070) => q(EN),
+ q(0071) => q(ET),
+ q(0072) => q(FK),
+ q(0073) => q(FO),
+ q(0074) => q(FJ),
+ q(0075) => q(FI),
+ q(0076) => q(FR),
+ q(0077) => q(FG),
+ q(0078) => q(FP),
+ q(0079) => q(FS),
+ q(0080) => q(GB),
+ q(0081) => q(GA),
+ q(0082) => q(GG),
+ q(0083) => q(GM),
+ q(0084) => q(GH),
+ q(0085) => q(GI),
+ q(0086) => q(GR),
+ q(0087) => q(GL),
+ q(0088) => q(GJ),
+ q(0089) => q(GP),
+ q(0090) => q(GQ),
+ q(0091) => q(GT),
+ q(0092) => q(GK),
+ q(0093) => q(GV),
+ q(0094) => q(PU),
+ q(0095) => q(GY),
+ q(0096) => q(HA),
+ q(0097) => q(HM),
+ q(0098) => q(VT),
+ q(0099) => q(HO),
+ q(0100) => q(HK),
+ q(0101) => q(HU),
+ q(0102) => q(IC),
+ q(0103) => q(IN),
+ q(0104) => q(ID),
+ q(0105) => q(IR),
+ q(0106) => q(IZ),
+ q(0107) => q(EI),
+ q(0108) => q(IM),
+ q(0109) => q(IS),
+ q(0110) => q(IT),
+ q(0111) => q(JM),
+ q(0112) => q(JA),
+ q(0113) => q(JE),
+ q(0114) => q(JO),
+ q(0115) => q(KZ),
+ q(0116) => q(KE),
+ q(0117) => q(KR),
+ q(0118) => q(KN),
+ q(0119) => q(KS),
+ q(0120) => q(KU),
+ q(0121) => q(KG),
+ q(0122) => q(LA),
+ q(0123) => q(LG),
+ q(0124) => q(LE),
+ q(0125) => q(LT),
+ q(0126) => q(LI),
+ q(0127) => q(LY),
+ q(0128) => q(LS),
+ q(0129) => q(LH),
+ q(0130) => q(LU),
+ q(0131) => q(MC),
+ q(0132) => q(MK),
+ q(0133) => q(MA),
+ q(0134) => q(MI),
+ q(0135) => q(MY),
+ q(0136) => q(MV),
+ q(0137) => q(ML),
+ q(0138) => q(MT),
+ q(0139) => q(RM),
+ q(0140) => q(MB),
+ q(0141) => q(MR),
+ q(0142) => q(MP),
+ q(0143) => q(MF),
+ q(0144) => q(MX),
+ q(0145) => q(FM),
+ q(0146) => q(MD),
+ q(0147) => q(MN),
+ q(0148) => q(MG),
+ q(0150) => q(MH),
+ q(0151) => q(MO),
+ q(0152) => q(MZ),
+ q(0153) => q(BM),
+ q(0154) => q(WA),
+ q(0155) => q(NR),
+ q(0156) => q(NP),
+ q(0157) => q(NL),
+ q(0158) => q(NC),
+ q(0159) => q(NZ),
+ q(0160) => q(NU),
+ q(0161) => q(NG),
+ q(0162) => q(NI),
+ q(0163) => q(NE),
+ q(0164) => q(NF),
+ q(0165) => q(CQ),
+ q(0166) => q(NO),
+ q(0167) => q(MU),
+ q(0168) => q(PK),
+ q(0169) => q(PS),
+ q(0171) => q(PM),
+ q(0172) => q(PP),
+ q(0173) => q(PA),
+ q(0174) => q(PE),
+ q(0175) => q(RP),
+ q(0176) => q(PC),
+ q(0177) => q(PL),
+ q(0178) => q(PO),
+ q(0179) => q(RQ),
+ q(0180) => q(QA),
+ q(0181) => q(RE),
+ q(0182) => q(RO),
+ q(0183) => q(RS),
+ q(0184) => q(RW),
+ q(0186) => q(SH),
+ q(0187) => q(SC),
+ q(0188) => q(ST),
+ q(0190) => q(SB),
+ q(0191) => q(VC),
+ q(0192) => q(WS),
+ q(0193) => q(SM),
+ q(0194) => q(TP),
+ q(0195) => q(SA),
+ q(0196) => q(SG),
+ q(0198) => q(SE),
+ q(0199) => q(SL),
+ q(0200) => q(SN),
+ q(0202) => q(LO),
+ q(0203) => q(SI),
+ q(0204) => q(BP),
+ q(0205) => q(SO),
+ q(0206) => q(SF),
+ q(0207) => q(SX),
+ q(0209) => q(SP),
+ q(0210) => q(CE),
+ q(0211) => q(SU),
+ q(0212) => q(NS),
+ q(0214) => q(WZ),
+ q(0215) => q(SW),
+ q(0216) => q(SZ),
+ q(0217) => q(SY),
+ q(0218) => q(TW),
+ q(0219) => q(TI),
+ q(0220) => q(TZ),
+ q(0221) => q(TH),
+ q(0222) => q(TT),
+ q(0223) => q(TO),
+ q(0224) => q(TL),
+ q(0225) => q(TN),
+ q(0226) => q(TD),
+ q(0227) => q(TS),
+ q(0228) => q(TU),
+ q(0229) => q(TX),
+ q(0230) => q(TK),
+ q(0231) => q(TV),
+ q(0232) => q(UG),
+ q(0233) => q(UP),
+ q(0234) => q(AE),
+ q(0235) => q(UK),
+ q(0236) => q(US),
+ q(0238) => q(UY),
+ q(0239) => q(UZ),
+ q(0240) => q(NH),
+ q(0241) => q(VE),
+ q(0242) => q(VM),
+ q(0243) => q(VI),
+ q(0244) => q(VQ),
+ q(0245) => q(WF),
+ q(0246) => q(WI),
+ q(0247) => q(YM),
+ q(0248) => q(ZA),
+ q(0249) => q(ZI),
+ q(0252) => q(YI),
+ q(0253) => q(AT),
+ q(0254) => q(FQ),
+ q(0255) => q(BS),
+ q(0256) => q(IP),
+ q(0257) => q(CR),
+ q(0258) => q(EU),
+ q(0259) => q(GZ),
+ q(0260) => q(GO),
+ q(0261) => q(HQ),
+ q(0262) => q(JN),
+ q(0263) => q(DQ),
+ q(0264) => q(JQ),
+ q(0265) => q(JU),
+ q(0266) => q(KQ),
+ q(0267) => q(MQ),
+ q(0268) => q(BQ),
+ q(0269) => q(NT),
+ q(0270) => q(LQ),
+ q(0271) => q(PF),
+ q(0272) => q(PG),
+ q(0273) => q(SV),
+ q(0274) => q(TE),
+ q(0275) => q(WQ),
+ q(0276) => q(WE),
+ },
+ q(numeric) => {
+ q(0001) => q(004),
+ q(0002) => q(248),
+ q(0003) => q(008),
+ q(0004) => q(012),
+ q(0005) => q(016),
+ q(0006) => q(020),
+ q(0007) => q(024),
+ q(0008) => q(660),
+ q(0010) => q(028),
+ q(0011) => q(032),
+ q(0012) => q(051),
+ q(0013) => q(533),
+ q(0014) => q(036),
+ q(0015) => q(040),
+ q(0016) => q(031),
+ q(0017) => q(044),
+ q(0018) => q(048),
+ q(0019) => q(050),
+ q(0020) => q(052),
+ q(0021) => q(112),
+ q(0022) => q(056),
+ q(0023) => q(084),
+ q(0024) => q(204),
+ q(0025) => q(060),
+ q(0026) => q(064),
+ q(0027) => q(068),
+ q(0028) => q(535),
+ q(0029) => q(070),
+ q(0030) => q(072),
+ q(0032) => q(076),
+ q(0034) => q(096),
+ q(0035) => q(100),
+ q(0036) => q(854),
+ q(0037) => q(108),
+ q(0038) => q(116),
+ q(0039) => q(120),
+ q(0040) => q(124),
+ q(0041) => q(132),
+ q(0042) => q(136),
+ q(0043) => q(140),
+ q(0044) => q(148),
+ q(0045) => q(152),
+ q(0046) => q(156),
+ q(0049) => q(170),
+ q(0050) => q(174),
+ q(0051) => q(178),
+ q(0052) => q(180),
+ q(0053) => q(184),
+ q(0054) => q(188),
+ q(0055) => q(384),
+ q(0056) => q(191),
+ q(0057) => q(192),
+ q(0058) => q(531),
+ q(0059) => q(196),
+ q(0060) => q(203),
+ q(0061) => q(208),
+ q(0062) => q(262),
+ q(0063) => q(212),
+ q(0064) => q(214),
+ q(0065) => q(218),
+ q(0066) => q(818),
+ q(0067) => q(222),
+ q(0068) => q(226),
+ q(0069) => q(232),
+ q(0070) => q(233),
+ q(0071) => q(231),
+ q(0072) => q(238),
+ q(0073) => q(234),
+ q(0074) => q(242),
+ q(0075) => q(246),
+ q(0076) => q(250),
+ q(0077) => q(254),
+ q(0078) => q(258),
+ q(0080) => q(266),
+ q(0081) => q(270),
+ q(0082) => q(268),
+ q(0083) => q(276),
+ q(0084) => q(288),
+ q(0085) => q(292),
+ q(0086) => q(300),
+ q(0087) => q(304),
+ q(0088) => q(308),
+ q(0089) => q(312),
+ q(0090) => q(316),
+ q(0091) => q(320),
+ q(0092) => q(831),
+ q(0093) => q(324),
+ q(0094) => q(624),
+ q(0095) => q(328),
+ q(0096) => q(332),
+ q(0098) => q(336),
+ q(0099) => q(340),
+ q(0100) => q(344),
+ q(0101) => q(348),
+ q(0102) => q(352),
+ q(0103) => q(356),
+ q(0104) => q(360),
+ q(0105) => q(364),
+ q(0106) => q(368),
+ q(0107) => q(372),
+ q(0108) => q(833),
+ q(0109) => q(376),
+ q(0110) => q(380),
+ q(0111) => q(388),
+ q(0112) => q(392),
+ q(0113) => q(832),
+ q(0114) => q(400),
+ q(0115) => q(398),
+ q(0116) => q(404),
+ q(0117) => q(296),
+ q(0118) => q(408),
+ q(0119) => q(410),
+ q(0120) => q(414),
+ q(0121) => q(417),
+ q(0122) => q(418),
+ q(0123) => q(428),
+ q(0124) => q(422),
+ q(0125) => q(426),
+ q(0126) => q(430),
+ q(0127) => q(434),
+ q(0128) => q(438),
+ q(0129) => q(440),
+ q(0130) => q(442),
+ q(0131) => q(446),
+ q(0132) => q(807),
+ q(0133) => q(450),
+ q(0134) => q(454),
+ q(0135) => q(458),
+ q(0136) => q(462),
+ q(0137) => q(466),
+ q(0138) => q(470),
+ q(0139) => q(584),
+ q(0140) => q(474),
+ q(0141) => q(478),
+ q(0142) => q(480),
+ q(0143) => q(175),
+ q(0144) => q(484),
+ q(0145) => q(583),
+ q(0146) => q(498),
+ q(0147) => q(492),
+ q(0148) => q(496),
+ q(0149) => q(499),
+ q(0150) => q(500),
+ q(0151) => q(504),
+ q(0152) => q(508),
+ q(0153) => q(104),
+ q(0154) => q(516),
+ q(0155) => q(520),
+ q(0156) => q(524),
+ q(0157) => q(528),
+ q(0158) => q(540),
+ q(0159) => q(554),
+ q(0160) => q(558),
+ q(0161) => q(562),
+ q(0162) => q(566),
+ q(0163) => q(570),
+ q(0164) => q(574),
+ q(0165) => q(580),
+ q(0166) => q(578),
+ q(0167) => q(512),
+ q(0168) => q(586),
+ q(0169) => q(585),
+ q(0170) => q(275),
+ q(0171) => q(591),
+ q(0172) => q(598),
+ q(0173) => q(600),
+ q(0174) => q(604),
+ q(0175) => q(608),
+ q(0176) => q(612),
+ q(0177) => q(616),
+ q(0178) => q(620),
+ q(0179) => q(630),
+ q(0180) => q(634),
+ q(0181) => q(638),
+ q(0182) => q(642),
+ q(0183) => q(643),
+ q(0184) => q(646),
+ q(0185) => q(652),
+ q(0186) => q(654),
+ q(0187) => q(659),
+ q(0188) => q(662),
+ q(0189) => q(663),
+ q(0190) => q(666),
+ q(0191) => q(670),
+ q(0192) => q(882),
+ q(0193) => q(674),
+ q(0194) => q(678),
+ q(0195) => q(682),
+ q(0196) => q(686),
+ q(0197) => q(688),
+ q(0198) => q(690),
+ q(0199) => q(694),
+ q(0200) => q(702),
+ q(0201) => q(534),
+ q(0202) => q(703),
+ q(0203) => q(705),
+ q(0204) => q(090),
+ q(0205) => q(706),
+ q(0206) => q(710),
+ q(0208) => q(728),
+ q(0209) => q(724),
+ q(0210) => q(144),
+ q(0211) => q(729),
+ q(0212) => q(740),
+ q(0213) => q(744),
+ q(0214) => q(748),
+ q(0215) => q(752),
+ q(0216) => q(756),
+ q(0217) => q(760),
+ q(0219) => q(762),
+ q(0220) => q(834),
+ q(0221) => q(764),
+ q(0222) => q(626),
+ q(0223) => q(768),
+ q(0224) => q(772),
+ q(0225) => q(776),
+ q(0226) => q(780),
+ q(0227) => q(788),
+ q(0228) => q(792),
+ q(0229) => q(795),
+ q(0230) => q(796),
+ q(0231) => q(798),
+ q(0232) => q(800),
+ q(0233) => q(804),
+ q(0234) => q(784),
+ q(0235) => q(826),
+ q(0236) => q(840),
+ q(0238) => q(858),
+ q(0239) => q(860),
+ q(0240) => q(548),
+ q(0241) => q(862),
+ q(0242) => q(704),
+ q(0243) => q(092),
+ q(0244) => q(850),
+ q(0245) => q(876),
+ q(0246) => q(732),
+ q(0247) => q(887),
+ q(0248) => q(894),
+ q(0249) => q(716),
+ q(0250) => q(830),
+ q(0251) => q(680),
+ },
+};
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Country_Retired.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Country_Retired.pm
new file mode 100644
index 00000000000..55f49e1353c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Country_Retired.pm
@@ -0,0 +1,429 @@
+package Locale::Codes::Country_Retired;
+
+# This file was automatically generated. Any changes to this file will
+# be lost the next time 'deprecate_codes' is run.
+# Generated on: Thu Mar 1 08:11:47 EST 2012
+
+=pod
+
+=head1 NAME
+
+Locale::Codes::Country_Retired - retired country codes for the Locale::Codes::Country module
+
+=head1 SYNOPSIS
+
+This module contains data used by the Locale::Codes::Country module. It is
+not intended to be used directly, and contains no calleable routines.
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+require 5.002;
+
+our($VERSION);
+$VERSION='3.21';
+
+$Locale::Codes::Retired{'country'}{'dom'}{'code'} = {
+ q(FX) => q(France, Metropolitan),
+ q(YU) => q(Yugoslavia ),
+};
+
+$Locale::Codes::Retired{'country'}{'alpha-2'}{'code'} = {
+ q(zr) => q(Zaire),
+ q(yu) => q(Yugoslavia),
+ q(tp) => q(East Timor),
+ q(cs) => q(Serbia and Montenegro),
+ q(fx) => q(France, Metropolitan),
+ q(an) => q(Netherlands Antilles),
+};
+
+$Locale::Codes::Retired{'country'}{'numeric'}{'code'} = {
+ q(074) => q(Bouvet Island),
+ q(334) => q(Heard Island and Mcdonald Islands),
+ q(010) => q(Antarctica),
+ q(239) => q(South Georgia and the Islands),
+ q(086) => q(British Indian Ocean Territory),
+ q(249) => q(France, Metropolitan),
+ q(581) => q(United States Minor Outlying Islands),
+ q(158) => q(Taiwan),
+ q(166) => q(Cocos (Keeling) Islands),
+ q(891) => q(Serbia and Montenegro),
+ q(162) => q(Christmas Island),
+ q(530) => q(Netherlands Antilles),
+ q(736) => q(Sudan),
+ q(260) => q(French Southern and Antarctic Lands),
+};
+
+$Locale::Codes::Retired{'country'}{'alpha-3'}{'code'} = {
+ q(tmp) => q(East Timor),
+ q(sgs) => q(South Georgia and the Islands),
+ q(ant) => q(Netherlands Antilles),
+ q(umi) => q(United States Minor Outlying Islands),
+ q(cxr) => q(Christmas Island),
+ q(rom) => q(Romania),
+ q(iot) => q(British Indian Ocean Territory),
+ q(bvt) => q(Bouvet Island),
+ q(twn) => q(Taiwan),
+ q(fxx) => q(France, Metropolitan),
+ q(scg) => q(Serbia and Montenegro),
+ q(hmd) => q(Heard Island and Mcdonald Islands),
+ q(atf) => q(French Southern and Antarctic Lands),
+ q(yug) => q(Yugoslavia),
+ q(ata) => q(Antarctica),
+ q(cck) => q(Cocos (Keeling) Islands),
+ q(zar) => q(Zaire),
+};
+
+$Locale::Codes::Retired{'country'}{'fips-10'}{'code'} = {
+ q(RN) => q(Saint Martin),
+ q(UC) => q(Curacao),
+ q(RI) => q(Serbia),
+ q(MJ) => q(Montenegro),
+ q(KV) => q(Kosovo),
+ q(TB) => q(Saint Barthelemy),
+ q(NN) => q(Sint Maarten),
+};
+
+$Locale::Codes::Retired{'country'}{'dom'}{'name'} = {
+ q(libyan arab jamahiriya) => [ q(LY), q(Libyan Arab Jamahiriya) ],
+ q(taiwan) => [ q(TW), q(Taiwan) ],
+ q(yugoslavia ) => [ q(YU), q(Yugoslavia ) ],
+ q(soviet union ) => [ q(SU), q(Soviet Union ) ],
+ q(france, metropolitan) => [ q(FX), q(France, Metropolitan) ],
+ q(bonaire, saint eustatius and saba) => [ q(BQ), q(Bonaire, Saint Eustatius and Saba) ],
+ q(saint helena, ascension and tristan da cunha) => [ q(SH), q(Saint Helena, Ascension and Tristan da Cunha) ],
+ q(saint martin) => [ q(MF), q(Saint Martin) ],
+ q(portuguese timor ) => [ q(TP), q(Portuguese Timor ) ],
+};
+
+$Locale::Codes::Retired{'country'}{'alpha-2'}{'name'} = {
+ q(netherlands antilles) => [ q(an), q(Netherlands Antilles) ],
+ q(east timor) => [ q(tl), q(East Timor) ],
+ q(virgin islands (u.s.)) => [ q(vi), q(Virgin Islands (U.S.)) ],
+ q(libyan arab jamahiriya) => [ q(ly), q(Libyan Arab Jamahiriya) ],
+ q(venezuela) => [ q(ve), q(Venezuela) ],
+ q(kazakstan) => [ q(kz), q(Kazakstan) ],
+ q(micronesia (federated states of)) => [ q(fm), q(Micronesia (Federated States of)) ],
+ q(france, metropolitan) => [ q(fx), q(France, Metropolitan) ],
+ q(bosnia and herzegowina) => [ q(ba), q(Bosnia and Herzegowina) ],
+ q(svalbard and jan mayen islands) => [ q(sj), q(Svalbard and Jan Mayen Islands) ],
+ q(heard and mc donald islands) => [ q(hm), q(Heard and Mc Donald Islands) ],
+ q(wallis and futuna islands) => [ q(wf), q(Wallis and Futuna Islands) ],
+ q(yugoslavia) => [ q(yu), q(Yugoslavia) ],
+ q(st. pierre and miquelon) => [ q(pm), q(St. Pierre and Miquelon) ],
+ q(zaire) => [ q(zr), q(Zaire) ],
+ q(virgin islands (british)) => [ q(vg), q(Virgin Islands (British)) ],
+ q(serbia and montenegro) => [ q(cs), q(Serbia and Montenegro) ],
+ q(vatican city state (holy see)) => [ q(va), q(Vatican City State (Holy See)) ],
+ q(macau) => [ q(mo), q(Macau) ],
+ q(st. helena) => [ q(sh), q(St. Helena) ],
+ q(vietnam) => [ q(vn), q(Vietnam) ],
+ q(bolivia) => [ q(bo), q(Bolivia) ],
+ q(saint helena) => [ q(sh), q(Saint Helena) ],
+ q(saint martin) => [ q(mf), q(Saint Martin) ],
+ q(iran (islamic republic of)) => [ q(ir), q(Iran (Islamic Republic of)) ],
+};
+
+$Locale::Codes::Retired{'country'}{'numeric'}{'name'} = {
+ q(netherlands antilles) => [ q(530), q(Netherlands Antilles) ],
+ q(united kingdom) => [ q(826), q(United Kingdom) ],
+ q(east timor) => [ q(626), q(East Timor) ],
+ q(libyan arab jamahiriya) => [ q(434), q(Libyan Arab Jamahiriya) ],
+ q(antarctica) => [ q(010), q(Antarctica) ],
+ q(taiwan) => [ q(158), q(Taiwan) ],
+ q(venezuela) => [ q(862), q(Venezuela) ],
+ q(taiwan, province of china) => [ q(158), q(Taiwan, Province of China) ],
+ q(south georgia and the south sandwich islands) => [ q(239), q(South Georgia and the South Sandwich Islands) ],
+ q(korea, democratic people's republic of) => [ q(408), q(Korea, Democratic People's Republic of) ],
+ q(christmas island) => [ q(162), q(Christmas Island) ],
+ q(heard island and mcdonald islands) => [ q(334), q(Heard Island and Mcdonald Islands) ],
+ q(yugoslavia) => [ q(891), q(Yugoslavia) ],
+ q(cocos (keeling) islands) => [ q(166), q(Cocos (Keeling) Islands) ],
+ q(hong kong special administrative region of china) => [ q(344), q(Hong Kong Special Administrative Region of China) ],
+ q(british indian ocean territory) => [ q(086), q(British Indian Ocean Territory) ],
+ q(virgin islands, british) => [ q(092), q(Virgin Islands, British) ],
+ q(french southern territories) => [ q(260), q(French Southern Territories) ],
+ q(faroe islands) => [ q(234), q(Faroe Islands) ],
+ q(zaire) => [ q(180), q(Zaire) ],
+ q(united states minor outlying islands) => [ q(581), q(United States Minor Outlying Islands) ],
+ q(congo, the democratic republic of the) => [ q(180), q(Congo, The Democratic Republic of the) ],
+ q(iran, islamic republic of) => [ q(364), q(Iran, Islamic Republic of) ],
+ q(serbia and montenegro) => [ q(891), q(Serbia and Montenegro) ],
+ q(macedonia, the former yugoslav republic of) => [ q(807), q(Macedonia, the Former Yugoslav Republic of) ],
+ q(macau) => [ q(446), q(Macau) ],
+ q(french southern and antarctic lands) => [ q(260), q(French Southern and Antarctic Lands) ],
+ q(hong kong) => [ q(344), q(Hong Kong) ],
+ q(macao special administrative region of china) => [ q(446), q(Macao Special Administrative Region of China) ],
+ q(palestinian territory, occupied) => [ q(275), q(Palestinian Territory, Occupied) ],
+ q(kazakstan) => [ q(398), q(Kazakstan) ],
+ q(macao) => [ q(446), q(Macao) ],
+ q(france, metropolitan) => [ q(249), q(France, Metropolitan) ],
+ q(tanzania, united republic of) => [ q(834), q(Tanzania, United Republic of) ],
+ q(bouvet island) => [ q(074), q(Bouvet Island) ],
+ q(holy see (vatican city state)) => [ q(336), q(Holy See (Vatican City State)) ],
+ q(micronesia, federated states of) => [ q(583), q(Micronesia, Federated States of) ],
+ q(moldova, republic of) => [ q(498), q(Moldova, Republic of) ],
+ q(virgin islands, u.s.) => [ q(850), q(Virgin Islands, U.S.) ],
+ q(united states) => [ q(840), q(United States) ],
+ q(korea, republic of) => [ q(410), q(Korea, Republic of) ],
+ q(vietnam) => [ q(704), q(Vietnam) ],
+ q(bolivia) => [ q(068), q(Bolivia) ],
+ q(south georgia and the islands) => [ q(239), q(South Georgia and the Islands) ],
+ q(svalbard and jan mayen) => [ q(744), q(Svalbard and Jan Mayen) ],
+ q(wallis and futuna) => [ q(876), q(Wallis and Futuna) ],
+};
+
+$Locale::Codes::Retired{'country'}{'alpha-3'}{'name'} = {
+ q(netherlands antilles) => [ q(ant), q(Netherlands Antilles) ],
+ q(united kingdom) => [ q(gbr), q(United Kingdom) ],
+ q(east timor) => [ q(tls), q(East Timor) ],
+ q(libyan arab jamahiriya) => [ q(lby), q(Libyan Arab Jamahiriya) ],
+ q(antarctica) => [ q(ata), q(Antarctica) ],
+ q(taiwan) => [ q(twn), q(Taiwan) ],
+ q(venezuela) => [ q(ven), q(Venezuela) ],
+ q(taiwan, province of china) => [ q(twn), q(Taiwan, Province of China) ],
+ q(south georgia and the south sandwich islands) => [ q(sgs), q(South Georgia and the South Sandwich Islands) ],
+ q(korea, democratic people's republic of) => [ q(prk), q(Korea, Democratic People's Republic of) ],
+ q(christmas island) => [ q(cxr), q(Christmas Island) ],
+ q(heard island and mcdonald islands) => [ q(hmd), q(Heard Island and Mcdonald Islands) ],
+ q(yugoslavia) => [ q(yug), q(Yugoslavia) ],
+ q(cocos (keeling) islands) => [ q(cck), q(Cocos (Keeling) Islands) ],
+ q(hong kong special administrative region of china) => [ q(hkg), q(Hong Kong Special Administrative Region of China) ],
+ q(british indian ocean territory) => [ q(iot), q(British Indian Ocean Territory) ],
+ q(virgin islands, british) => [ q(vgb), q(Virgin Islands, British) ],
+ q(french southern territories) => [ q(atf), q(French Southern Territories) ],
+ q(faroe islands) => [ q(fro), q(Faroe Islands) ],
+ q(zaire) => [ q(zar), q(Zaire) ],
+ q(united states minor outlying islands) => [ q(umi), q(United States Minor Outlying Islands) ],
+ q(congo, the democratic republic of the) => [ q(cod), q(Congo, The Democratic Republic of the) ],
+ q(iran, islamic republic of) => [ q(irn), q(Iran, Islamic Republic of) ],
+ q(serbia and montenegro) => [ q(scg), q(Serbia and Montenegro) ],
+ q(macedonia, the former yugoslav republic of) => [ q(mkd), q(Macedonia, the Former Yugoslav Republic of) ],
+ q(macau) => [ q(mac), q(Macau) ],
+ q(french southern and antarctic lands) => [ q(atf), q(French Southern and Antarctic Lands) ],
+ q(hong kong) => [ q(hkg), q(Hong Kong) ],
+ q(macao special administrative region of china) => [ q(mac), q(Macao Special Administrative Region of China) ],
+ q(palestinian territory, occupied) => [ q(pse), q(Palestinian Territory, Occupied) ],
+ q(kazakstan) => [ q(kaz), q(Kazakstan) ],
+ q(macao) => [ q(mac), q(Macao) ],
+ q(france, metropolitan) => [ q(fxx), q(France, Metropolitan) ],
+ q(tanzania, united republic of) => [ q(tza), q(Tanzania, United Republic of) ],
+ q(bouvet island) => [ q(bvt), q(Bouvet Island) ],
+ q(holy see (vatican city state)) => [ q(vat), q(Holy See (Vatican City State)) ],
+ q(micronesia, federated states of) => [ q(fsm), q(Micronesia, Federated States of) ],
+ q(moldova, republic of) => [ q(mda), q(Moldova, Republic of) ],
+ q(virgin islands, u.s.) => [ q(vir), q(Virgin Islands, U.S.) ],
+ q(united states) => [ q(usa), q(United States) ],
+ q(korea, republic of) => [ q(kor), q(Korea, Republic of) ],
+ q(vietnam) => [ q(vnm), q(Vietnam) ],
+ q(bolivia) => [ q(bol), q(Bolivia) ],
+ q(south georgia and the islands) => [ q(sgs), q(South Georgia and the Islands) ],
+ q(svalbard and jan mayen) => [ q(sjm), q(Svalbard and Jan Mayen) ],
+ q(wallis and futuna) => [ q(wlf), q(Wallis and Futuna) ],
+};
+
+$Locale::Codes::Retired{'country'}{'fips-10'}{'name'} = {
+ q(islamic state of afghanistan) => [ q(AF), q(Islamic State of Afghanistan) ],
+ q(department of guiana) => [ q(FG), q(Department of Guiana) ],
+ q(territorial collectivity of saint pierre and miquelon) => [ q(SB), q(Territorial Collectivity of Saint Pierre and Miquelon) ],
+ q(union of burma) => [ q(BM), q(Union of Burma) ],
+ q(republic of iceland) => [ q(IC), q(Republic of Iceland) ],
+ q(republic of cote d'ivoire) => [ q(IV), q(Republic of Cote D'Ivoire) ],
+ q(arab republic of egypt) => [ q(EG), q(Arab Republic of Egypt) ],
+ q(federal democratic republic of ethiopia) => [ q(ET), q(Federal Democratic Republic of Ethiopia) ],
+ q(republic of tajikistan) => [ q(TI), q(Republic of Tajikistan) ],
+ q(kingdom of bhutan) => [ q(BT), q(Kingdom of Bhutan) ],
+ q(republic of guatemala) => [ q(GT), q(Republic of Guatemala) ],
+ q(republic of el salvador) => [ q(ES), q(Republic of El Salvador) ],
+ q(republic of niger) => [ q(NG), q(Republic of Niger) ],
+ q(republic of guinea-bissau) => [ q(PU), q(Republic of Guinea-Bissau) ],
+ q(republic of indonesia) => [ q(ID), q(Republic of Indonesia) ],
+ q(republic of trinidad and tobago) => [ q(TD), q(Republic of Trinidad and Tobago) ],
+ q(republic of vanuatu) => [ q(NH), q(Republic of Vanuatu) ],
+ q(federative republic of brazil) => [ q(BR), q(Federative Republic of Brazil) ],
+ q(republic of croatia) => [ q(HR), q(Republic of Croatia) ],
+ q(virgin islands of the united states) => [ q(VQ), q(Virgin Islands of the United States) ],
+ q(republic of honduras) => [ q(HO), q(Republic of Honduras) ],
+ q(republic of chile) => [ q(CI), q(Republic of Chile) ],
+ q(republic of cameroon) => [ q(CM), q(Republic of Cameroon) ],
+ q(territorial collectivity of mayotte) => [ q(MF), q(Territorial Collectivity of Mayotte) ],
+ q(kingdom of spain) => [ q(SP), q(Kingdom of Spain) ],
+ q(republic of paraguay) => [ q(PA), q(Republic of Paraguay) ],
+ q(kosovo) => [ q(KV), q(Kosovo) ],
+ q(federal republic of germany) => [ q(GM), q(Federal Republic of Germany) ],
+ q(republic of cyprus) => [ q(CY), q(Republic of Cyprus) ],
+ q(hong kong special administrative region) => [ q(HK), q(Hong Kong Special Administrative Region) ],
+ q(kingdom of norway) => [ q(NO), q(Kingdom of Norway) ],
+ q(republic of suriname) => [ q(NS), q(Republic of Suriname) ],
+ q(commonwealth of the northern mariana islands) => [ q(CQ), q(Commonwealth of the Northern Mariana Islands) ],
+ q(swiss confederation) => [ q(SZ), q(Swiss Confederation) ],
+ q(republic of djibouti) => [ q(DJ), q(Republic of Djibouti) ],
+ q(republic of haiti) => [ q(HA), q(Republic of Haiti) ],
+ q(republic of the gambia) => [ q(GA), q(Republic of the Gambia) ],
+ q(state of israel) => [ q(IS), q(State of Israel) ],
+ q(islamic republic of mauritania) => [ q(MR), q(Islamic Republic of Mauritania) ],
+ q(united mexican states) => [ q(MX), q(United Mexican States) ],
+ q(territory of cocos (keeling) islands) => [ q(CK), q(Territory of Cocos (Keeling) Islands) ],
+ q(republic of malawi) => [ q(MI), q(Republic of Malawi) ],
+ q(kingdom of tonga) => [ q(TN), q(Kingdom of Tonga) ],
+ q(togolese republic) => [ q(TO), q(Togolese Republic) ],
+ q(bolivarian republic of venezuela) => [ q(VE), q(Bolivarian Republic of Venezuela) ],
+ q(republic of albania) => [ q(AL), q(Republic of Albania) ],
+ q(republic of hungary) => [ q(HU), q(Republic of Hungary) ],
+ q(republic of namibia) => [ q(WA), q(Republic of Namibia) ],
+ q(commonwealth of puerto rico) => [ q(RQ), q(Commonwealth of Puerto Rico) ],
+ q(principality of monaco) => [ q(MN), q(Principality of Monaco) ],
+ q(socialist republic of vietnam) => [ q(VM), q(Socialist Republic of Vietnam) ],
+ q(federation of saint kitts and nevis) => [ q(SC), q(Federation of Saint Kitts and Nevis) ],
+ q(republic of estonia) => [ q(EN), q(Republic of Estonia) ],
+ q(department of reunion) => [ q(RE), q(Department of Reunion) ],
+ q(islamic republic of pakistan) => [ q(PK), q(Islamic Republic of Pakistan) ],
+ q(kingdom of thailand) => [ q(TH), q(Kingdom of Thailand) ],
+ q(kingdom of denmark) => [ q(DA), q(Kingdom of Denmark) ],
+ q(saint barthelemy) => [ q(TB), q(Saint Barthelemy) ],
+ q(territory of ashmore and cartier islands) => [ q(AT), q(Territory of Ashmore and Cartier Islands) ],
+ q(republic of yemen) => [ q(YM), q(Republic of Yemen) ],
+ q(republic of finland) => [ q(FI), q(Republic of Finland) ],
+ q(republic of lithuania) => [ q(LH), q(Republic of Lithuania) ],
+ q(republic of cape verde) => [ q(CV), q(Republic of Cape Verde) ],
+ q(portuguese republic) => [ q(PO), q(Portuguese Republic) ],
+ q(republic of senegal) => [ q(SG), q(Republic of Senegal) ],
+ q(principality of andorra) => [ q(AN), q(Principality of Andorra) ],
+ q(great socialist people's libyan arab jamahiriya) => [ q(LY), q(Great Socialist People's Libyan Arab Jamahiriya) ],
+ q(republic of mozambique) => [ q(MZ), q(Republic of Mozambique) ],
+ q(territory of guam) => [ q(GQ), q(Territory of Guam) ],
+ q(republic of austria) => [ q(AU), q(Republic of Austria) ],
+ q(republic of botswana) => [ q(BC), q(Republic of Botswana) ],
+ q(territory of heard island and mcdonald islands) => [ q(HM), q(Territory of Heard Island and McDonald Islands) ],
+ q(republic of bolivia) => [ q(BL), q(Republic of Bolivia) ],
+ q(republic of kazakhstan) => [ q(KZ), q(Republic of Kazakhstan) ],
+ q(department of martinique) => [ q(MB), q(Department of Martinique) ],
+ q(oriental republic of uruguay) => [ q(UY), q(Oriental Republic of Uruguay) ],
+ q(republic of costa rica) => [ q(CS), q(Republic of Costa Rica) ],
+ q(state of eritrea) => [ q(ER), q(State of Eritrea) ],
+ q(republic of belarus) => [ q(BO), q(Republic of Belarus) ],
+ q(slovak republic) => [ q(LO), q(Slovak Republic) ],
+ q(republic of angola) => [ q(AO), q(Republic of Angola) ],
+ q(republic of panama) => [ q(PM), q(Republic of Panama) ],
+ q(territory of new caledonia and dependencies) => [ q(NC), q(Territory of New Caledonia and Dependencies) ],
+ q(state of qatar) => [ q(QA), q(State of Qatar) ],
+ q(kingdom of swaziland) => [ q(WZ), q(Kingdom of Swaziland) ],
+ q(republic of palau) => [ q(PS), q(Republic of Palau) ],
+ q(territory of the french southern and antarctic lands) => [ q(FS), q(Territory of the French Southern and Antarctic Lands) ],
+ q(democratic republic of sao tome and principe) => [ q(TP), q(Democratic Republic of Sao Tome and Principe) ],
+ q(islamic republic of iran) => [ q(IR), q(Islamic Republic of Iran) ],
+ q(montenegro) => [ q(MJ), q(Montenegro) ],
+ q(commonwealth of australia) => [ q(AS), q(Commonwealth of Australia) ],
+ q(people's republic of china) => [ q(CH), q(People's Republic of China) ],
+ q(republic of sierra leone) => [ q(SL), q(Republic of Sierra Leone) ],
+ q(republic of the fiji islands) => [ q(FJ), q(Republic of the Fiji Islands) ],
+ q(serbia) => [ q(RI), q(Serbia) ],
+ q(territory of norfolk island) => [ q(NF), q(Territory of Norfolk Island) ],
+ q(republic of zambia) => [ q(ZA), q(Republic of Zambia) ],
+ q(republic of tunisia) => [ q(TS), q(Republic of Tunisia) ],
+ q(republic of peru) => [ q(PE), q(Republic of Peru) ],
+ q(republic of slovenia) => [ q(SI), q(Republic of Slovenia) ],
+ q(republic of the congo) => [ q(CF), q(Republic of the Congo) ],
+ q(republic of liberia) => [ q(LI), q(Republic of Liberia) ],
+ q(republic of equatorial guinea) => [ q(EK), q(Republic of Equatorial Guinea) ],
+ q(macau special administrative region) => [ q(MC), q(Macau Special Administrative Region) ],
+ q(republic of san marino) => [ q(SM), q(Republic of San Marino) ],
+ q(republic of guinea) => [ q(GV), q(Republic of Guinea) ],
+ q(commonwealth of dominica) => [ q(DO), q(Commonwealth of Dominica) ],
+ q(federal republic of nigeria) => [ q(NI), q(Federal Republic of Nigeria) ],
+ q(italian republic) => [ q(IT), q(Italian Republic) ],
+ q(kingdom of cambodia) => [ q(CB), q(Kingdom of Cambodia) ],
+ q(pitcairn, henderson, ducie and oeno islands) => [ q(PC), q(Pitcairn, Henderson, Ducie and Oeno Islands) ],
+ q(kingdom of belgium) => [ q(BE), q(Kingdom of Belgium) ],
+ q(kingdom of sweden) => [ q(SW), q(Kingdom of Sweden) ],
+ q(bailiwick of guernsey) => [ q(GK), q(Bailiwick of Guernsey) ],
+ q(democratic socialist republic of sri lanka) => [ q(CE), q(Democratic Socialist Republic of Sri Lanka) ],
+ q(republic of maldives) => [ q(MV), q(Republic of Maldives) ],
+ q(republic of mali) => [ q(ML), q(Republic of Mali) ],
+ q(republic of south africa) => [ q(SF), q(Republic of South Africa) ],
+ q(sultanate of oman) => [ q(MU), q(Sultanate of Oman) ],
+ q(territory of american samoa) => [ q(AQ), q(Territory of American Samoa) ],
+ q(rwandese republic) => [ q(RW), q(Rwandese Republic) ],
+ q(republic of latvia) => [ q(LG), q(Republic of Latvia) ],
+ q(independent state of papua new guinea) => [ q(PP), q(Independent State of Papua New Guinea) ],
+ q(republic of nicaragua) => [ q(NU), q(Republic of Nicaragua) ],
+ q(republic of the philippines) => [ q(RP), q(Republic of the Philippines) ],
+ q(french republic) => [ q(FR), q(French Republic) ],
+ q(grand duchy of luxembourg) => [ q(LU), q(Grand Duchy of Luxembourg) ],
+ q(bailiwick of jersey) => [ q(JE), q(Bailiwick of Jersey) ],
+ q(republic of macedonia) => [ q(MK), q(Republic of Macedonia) ],
+ q(state of the vatican city) => [ q(VT), q(State of the Vatican City) ],
+ q(people's democratic republic of algeria) => [ q(AG), q(People's Democratic Republic of Algeria) ],
+ q(republic of kiribati) => [ q(KR), q(Republic of Kiribati) ],
+ q(kingdom of nepal) => [ q(NP), q(Kingdom of Nepal) ],
+ q(republic of cuba) => [ q(CU), q(Republic of Cuba) ],
+ q(saint martin) => [ q(RN), q(Saint Martin) ],
+ q(kingdom of the netherlands) => [ q(NL), q(Kingdom of the Netherlands) ],
+ q(republic of the marshall islands) => [ q(RM), q(Republic of the Marshall Islands) ],
+ q(people's republic of bangladesh) => [ q(BG), q(People's Republic of Bangladesh) ],
+ q(republic of madagascar) => [ q(MA), q(Republic of Madagascar) ],
+ q(kingdom of morocco) => [ q(MO), q(Kingdom of Morocco) ],
+ q(republic of the sudan) => [ q(SU), q(Republic of the Sudan) ],
+ q(co-operative republic of guyana) => [ q(GY), q(Co-operative Republic of Guyana) ],
+ q(republic of ghana) => [ q(GH), q(Republic of Ghana) ],
+ q(state of bahrain) => [ q(BA), q(State of Bahrain) ],
+ q(republic of chad) => [ q(CD), q(Republic of Chad) ],
+ q(gabonese republic) => [ q(GB), q(Gabonese Republic) ],
+ q(coral sea islands territory) => [ q(CR), q(Coral Sea Islands Territory) ],
+ q(argentine republic) => [ q(AR), q(Argentine Republic) ],
+ q(republic of poland) => [ q(PL), q(Republic of Poland) ],
+ q(republic of zimbabwe) => [ q(ZI), q(Republic of Zimbabwe) ],
+ q(kyrgyz republic) => [ q(KG), q(Kyrgyz Republic) ],
+ q(republic of azerbaijan) => [ q(AJ), q(Republic of Azerbaijan) ],
+ q(republic of malta) => [ q(MT), q(Republic of Malta) ],
+ q(hellenic republic) => [ q(GR), q(Hellenic Republic) ],
+ q(republic of armenia) => [ q(AM), q(Republic of Armenia) ],
+ q(kingdom of saudi arabia) => [ q(SA), q(Kingdom of Saudi Arabia) ],
+ q(curacao) => [ q(UC), q(Curacao) ],
+ q(republic of benin) => [ q(BN), q(Republic of Benin) ],
+ q(territory of french polynesia) => [ q(FP), q(Territory of French Polynesia) ],
+ q(republic of ecuador) => [ q(EC), q(Republic of Ecuador) ],
+ q(republic of lesotho) => [ q(LT), q(Republic of Lesotho) ],
+ q(hashemite kingdom of jordan) => [ q(JO), q(Hashemite Kingdom of Jordan) ],
+ q(republic of burundi) => [ q(BY), q(Republic of Burundi) ],
+ q(republic of uzbekistan) => [ q(UZ), q(Republic of Uzbekistan) ],
+ q(territory of the wallis and futuna islands) => [ q(WF), q(Territory of the Wallis and Futuna Islands) ],
+ q(sint maarten) => [ q(NN), q(Sint Maarten) ],
+ q(lebanese republic) => [ q(LE), q(Lebanese Republic) ],
+ q(state of kuwait) => [ q(KU), q(State of Kuwait) ],
+ q(department of guadeloupe) => [ q(GP), q(Department of Guadeloupe) ],
+ q(republic of colombia) => [ q(CO), q(Republic of Colombia) ],
+ q(republic of singapore) => [ q(SN), q(Republic of Singapore) ],
+ q(republic of turkey) => [ q(TU), q(Republic of Turkey) ],
+ q(republic of seychelles) => [ q(SE), q(Republic of Seychelles) ],
+ q(republic of iraq) => [ q(IZ), q(Republic of Iraq) ],
+ q(republic of india) => [ q(IN), q(Republic of India) ],
+ q(independent state of samoa) => [ q(WS), q(Independent State of Samoa) ],
+ q(republic of nauru) => [ q(NR), q(Republic of Nauru) ],
+ q(territory of christmas island) => [ q(KT), q(Territory of Christmas Island) ],
+ q(negara brunei darussalam) => [ q(BX), q(Negara Brunei Darussalam) ],
+ q(commonwealth of the bahamas) => [ q(BF), q(Commonwealth of the Bahamas) ],
+ q(republic of mauritius) => [ q(MP), q(Republic of Mauritius) ],
+ q(federal islamic republic of the comoros) => [ q(CN), q(Federal Islamic Republic of the Comoros) ],
+ q(republic of kenya) => [ q(KE), q(Republic of Kenya) ],
+ q(principality of liechtenstein) => [ q(LS), q(Principality of Liechtenstein) ],
+};
+
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pm
index a2eb6cac9c0..b6b4e7a144d 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pm
@@ -1,2954 +1,98 @@
package Locale::Codes::Currency;
-
-# This file was automatically generated. Any changes to this file will
-# be lost the next time 'get_codes' is run.
-# Generated on: Tue Mar 1 14:45:12 EST 2011
-
-=pod
-
-=head1 NAME
-
-Locale::Codes::Currency - currency codes for the Locale::Currency module
-
-=head1 SYNOPSIS
-
-This module contains data used by the Locale::Currency module. It is
-not intended to be used directly, and contains no calleable routines.
-
-=head1 AUTHOR
-
-See Locale::Codes for full author history.
-
-Currently maintained by Sullivan Beck (sbeck@cpan.org).
-
-=head1 COPYRIGHT
-
- Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
- Copyright (c) 2001-2010 Neil Bowers
- Copyright (c) 2010-2011 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
+# Copyright (C) 2001 Canon Research Centre Europe (CRE).
+# Copyright (C) 2002-2009 Neil Bowers
+# Copyright (c) 2010-2012 Sullivan Beck
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
use strict;
use warnings;
require 5.002;
-our($VERSION);
-$VERSION='3.16';
-
-$Locale::Codes::Data{'currency'}{'id'} = '0171';
-
-$Locale::Codes::Data{'currency'}{'id2names'} = {
- q(0001) => [
- q(Afghani),
- ],
- q(0002) => [
- q(Euro),
- ],
- q(0003) => [
- q(Lek),
- ],
- q(0004) => [
- q(Algerian Dinar),
- ],
- q(0005) => [
- q(US Dollar),
- ],
- q(0006) => [
- q(Kwanza),
- ],
- q(0007) => [
- q(East Caribbean Dollar),
- ],
- q(0008) => [
- q(Argentine Peso),
- ],
- q(0009) => [
- q(Armenian Dram),
- ],
- q(0010) => [
- q(Aruban Guilder),
- ],
- q(0011) => [
- q(Australian Dollar),
- ],
- q(0012) => [
- q(Azerbaijanian Manat),
- ],
- q(0013) => [
- q(Bahamian Dollar),
- ],
- q(0014) => [
- q(Bahraini Dinar),
- ],
- q(0015) => [
- q(Taka),
- ],
- q(0016) => [
- q(Barbados Dollar),
- ],
- q(0017) => [
- q(Belarussian Ruble),
- ],
- q(0018) => [
- q(Belize Dollar),
- ],
- q(0019) => [
- q(CFA Franc BCEAO),
- ],
- q(0020) => [
- q(Bermudian Dollar),
- ],
- q(0021) => [
- q(Ngultrum),
- ],
- q(0022) => [
- q(Indian Rupee),
- ],
- q(0023) => [
- q(Boliviano),
- ],
- q(0024) => [
- q(Mvdol),
- ],
- q(0025) => [
- q(Convertible Mark),
- ],
- q(0026) => [
- q(Pula),
- ],
- q(0027) => [
- q(Norwegian Krone),
- ],
- q(0028) => [
- q(Brazilian Real),
- ],
- q(0029) => [
- q(Brunei Dollar),
- ],
- q(0030) => [
- q(Bulgarian Lev),
- ],
- q(0031) => [
- q(Burundi Franc),
- ],
- q(0032) => [
- q(Riel),
- ],
- q(0033) => [
- q(CFA Franc BEAC),
- ],
- q(0034) => [
- q(Canadian Dollar),
- ],
- q(0035) => [
- q(Cape Verde Escudo),
- ],
- q(0036) => [
- q(Cayman Islands Dollar),
- ],
- q(0037) => [
- q(Unidades de fomento),
- ],
- q(0038) => [
- q(Chilean Peso),
- ],
- q(0039) => [
- q(Yuan Renminbi),
- ],
- q(0040) => [
- q(Colombian Peso),
- ],
- q(0041) => [
- q(Unidad de Valor Real),
- ],
- q(0042) => [
- q(Comoro Franc),
- ],
- q(0043) => [
- q(Congolese Franc),
- ],
- q(0044) => [
- q(New Zealand Dollar),
- ],
- q(0045) => [
- q(Costa Rican Colon),
- ],
- q(0046) => [
- q(Croatian Kuna),
- ],
- q(0047) => [
- q(Peso Convertible),
- ],
- q(0048) => [
- q(Cuban Peso),
- ],
- q(0049) => [
- q(Netherlands Antillean Guilder),
- ],
- q(0050) => [
- q(Czech Koruna),
- ],
- q(0051) => [
- q(Danish Krone),
- ],
- q(0052) => [
- q(Djibouti Franc),
- ],
- q(0053) => [
- q(Dominican Peso),
- ],
- q(0054) => [
- q(Egyptian Pound),
- ],
- q(0055) => [
- q(El Salvador Colon),
- ],
- q(0056) => [
- q(Nakfa),
- ],
- q(0057) => [
- q(Ethiopian Birr),
- ],
- q(0058) => [
- q(Falkland Islands Pound),
- ],
- q(0059) => [
- q(Fiji Dollar),
- ],
- q(0060) => [
- q(CFP Franc),
- ],
- q(0061) => [
- q(Dalasi),
- ],
- q(0062) => [
- q(Lari),
- ],
- q(0063) => [
- q(Cedi),
- ],
- q(0064) => [
- q(Gibraltar Pound),
- ],
- q(0065) => [
- q(Quetzal),
- ],
- q(0066) => [
- q(Pound Sterling),
- ],
- q(0067) => [
- q(Guinea Franc),
- ],
- q(0068) => [
- q(Guyana Dollar),
- ],
- q(0069) => [
- q(Gourde),
- ],
- q(0070) => [
- q(Lempira),
- ],
- q(0071) => [
- q(Hong Kong Dollar),
- ],
- q(0072) => [
- q(Forint),
- ],
- q(0073) => [
- q(Iceland Krona),
- ],
- q(0074) => [
- q(Rupiah),
- ],
- q(0075) => [
- q(Iranian Rial),
- ],
- q(0076) => [
- q(Iraqi Dinar),
- ],
- q(0077) => [
- q(New Israeli Sheqel),
- ],
- q(0078) => [
- q(Jamaican Dollar),
- ],
- q(0079) => [
- q(Yen),
- ],
- q(0080) => [
- q(Jordanian Dinar),
- ],
- q(0081) => [
- q(Tenge),
- ],
- q(0082) => [
- q(Kenyan Shilling),
- ],
- q(0083) => [
- q(North Korean Won),
- ],
- q(0084) => [
- q(Won),
- ],
- q(0085) => [
- q(Kuwaiti Dinar),
- ],
- q(0086) => [
- q(Som),
- ],
- q(0087) => [
- q(Kip),
- ],
- q(0088) => [
- q(Latvian Lats),
- ],
- q(0089) => [
- q(Lebanese Pound),
- ],
- q(0090) => [
- q(Loti),
- ],
- q(0091) => [
- q(Rand),
- ],
- q(0092) => [
- q(Liberian Dollar),
- ],
- q(0093) => [
- q(Libyan Dinar),
- ],
- q(0094) => [
- q(Swiss Franc),
- ],
- q(0095) => [
- q(Lithuanian Litas),
- ],
- q(0096) => [
- q(Pataca),
- ],
- q(0097) => [
- q(Denar),
- ],
- q(0098) => [
- q(Malagasy Ariary),
- ],
- q(0099) => [
- q(Kwacha),
- ],
- q(0100) => [
- q(Malaysian Ringgit),
- ],
- q(0101) => [
- q(Rufiyaa),
- ],
- q(0102) => [
- q(Ouguiya),
- ],
- q(0103) => [
- q(Mauritius Rupee),
- ],
- q(0104) => [
- q(Mexican Peso),
- ],
- q(0105) => [
- q(Mexican Unidad de Inversion (UDI)),
- ],
- q(0106) => [
- q(Moldovan Leu),
- ],
- q(0107) => [
- q(Tugrik),
- ],
- q(0108) => [
- q(Moroccan Dirham),
- ],
- q(0109) => [
- q(Metical),
- ],
- q(0110) => [
- q(Kyat),
- ],
- q(0111) => [
- q(Namibia Dollar),
- ],
- q(0112) => [
- q(Nepalese Rupee),
- ],
- q(0113) => [
- q(Cordoba Oro),
- ],
- q(0114) => [
- q(Naira),
- ],
- q(0115) => [
- q(Rial Omani),
- ],
- q(0116) => [
- q(Pakistan Rupee),
- ],
- q(0117) => [
- q(Balboa),
- ],
- q(0118) => [
- q(Kina),
- ],
- q(0119) => [
- q(Guarani),
- ],
- q(0120) => [
- q(Nuevo Sol),
- ],
- q(0121) => [
- q(Philippine Peso),
- ],
- q(0122) => [
- q(Zloty),
- ],
- q(0123) => [
- q(Qatari Rial),
- ],
- q(0124) => [
- q(Leu),
- ],
- q(0125) => [
- q(Russian Ruble),
- ],
- q(0126) => [
- q(Rwanda Franc),
- ],
- q(0127) => [
- q(Saint Helena Pound),
- ],
- q(0128) => [
- q(Tala),
- ],
- q(0129) => [
- q(Dobra),
- ],
- q(0130) => [
- q(Saudi Riyal),
- ],
- q(0131) => [
- q(Serbian Dinar),
- ],
- q(0132) => [
- q(Seychelles Rupee),
- ],
- q(0133) => [
- q(Leone),
- ],
- q(0134) => [
- q(Singapore Dollar),
- ],
- q(0135) => [
- q(Sucre),
- ],
- q(0136) => [
- q(Solomon Islands Dollar),
- ],
- q(0137) => [
- q(Somali Shilling),
- ],
- q(0138) => [
- q(Sri Lanka Rupee),
- ],
- q(0139) => [
- q(Sudanese Pound),
- ],
- q(0140) => [
- q(Surinam Dollar),
- ],
- q(0141) => [
- q(Lilangeni),
- ],
- q(0142) => [
- q(Swedish Krona),
- ],
- q(0143) => [
- q(WIR Euro),
- ],
- q(0144) => [
- q(WIR Franc),
- ],
- q(0145) => [
- q(Syrian Pound),
- ],
- q(0146) => [
- q(New Taiwan Dollar),
- ],
- q(0147) => [
- q(Somoni),
- ],
- q(0148) => [
- q(Tanzanian Shilling),
- ],
- q(0149) => [
- q(Baht),
- ],
- q(0150) => [
- q(Pa'anga),
- ],
- q(0151) => [
- q(Trinidad and Tobago Dollar),
- ],
- q(0152) => [
- q(Tunisian Dinar),
- ],
- q(0153) => [
- q(Turkish Lira),
- ],
- q(0154) => [
- q(New Manat),
- ],
- q(0155) => [
- q(Uganda Shilling),
- ],
- q(0156) => [
- q(Hryvnia),
- ],
- q(0157) => [
- q(UAE Dirham),
- ],
- q(0158) => [
- q(US Dollar (Next day)),
- ],
- q(0159) => [
- q(US Dollar (Same day)),
- ],
- q(0160) => [
- q(Uruguay Peso en Unidades Indexadas (URUIURUI)),
- ],
- q(0161) => [
- q(Peso Uruguayo),
- ],
- q(0162) => [
- q(Uzbekistan Sum),
- ],
- q(0163) => [
- q(Vatu),
- ],
- q(0164) => [
- q(Bolivar Fuerte),
- ],
- q(0165) => [
- q(Dong),
- ],
- q(0166) => [
- q(Yemeni Rial),
- ],
- q(0167) => [
- q(Zambian Kwacha),
- ],
- q(0168) => [
- q(Zimbabwe Dollar),
- ],
- q(0169) => [
- q(Gold),
- ],
- q(0170) => [
- q(SDR (Special Drawing Right)),
- ],
-};
-
-$Locale::Codes::Data{'currency'}{'alias2id'} = {
- q(afghani) => [
- q(0001),
- q(0),
- ],
- q(algerian dinar) => [
- q(0004),
- q(0),
- ],
- q(argentine peso) => [
- q(0008),
- q(0),
- ],
- q(armenian dram) => [
- q(0009),
- q(0),
- ],
- q(aruban guilder) => [
- q(0010),
- q(0),
- ],
- q(australian dollar) => [
- q(0011),
- q(0),
- ],
- q(azerbaijanian manat) => [
- q(0012),
- q(0),
- ],
- q(bahamian dollar) => [
- q(0013),
- q(0),
- ],
- q(bahraini dinar) => [
- q(0014),
- q(0),
- ],
- q(baht) => [
- q(0149),
- q(0),
- ],
- q(balboa) => [
- q(0117),
- q(0),
- ],
- q(barbados dollar) => [
- q(0016),
- q(0),
- ],
- q(belarussian ruble) => [
- q(0017),
- q(0),
- ],
- q(belize dollar) => [
- q(0018),
- q(0),
- ],
- q(bermudian dollar) => [
- q(0020),
- q(0),
- ],
- q(bolivar fuerte) => [
- q(0164),
- q(0),
- ],
- q(boliviano) => [
- q(0023),
- q(0),
- ],
- q(brazilian real) => [
- q(0028),
- q(0),
- ],
- q(brunei dollar) => [
- q(0029),
- q(0),
- ],
- q(bulgarian lev) => [
- q(0030),
- q(0),
- ],
- q(burundi franc) => [
- q(0031),
- q(0),
- ],
- q(canadian dollar) => [
- q(0034),
- q(0),
- ],
- q(cape verde escudo) => [
- q(0035),
- q(0),
- ],
- q(cayman islands dollar) => [
- q(0036),
- q(0),
- ],
- q(cedi) => [
- q(0063),
- q(0),
- ],
- q(cfa franc bceao) => [
- q(0019),
- q(0),
- ],
- q(cfa franc beac) => [
- q(0033),
- q(0),
- ],
- q(cfp franc) => [
- q(0060),
- q(0),
- ],
- q(chilean peso) => [
- q(0038),
- q(0),
- ],
- q(colombian peso) => [
- q(0040),
- q(0),
- ],
- q(comoro franc) => [
- q(0042),
- q(0),
- ],
- q(congolese franc) => [
- q(0043),
- q(0),
- ],
- q(convertible mark) => [
- q(0025),
- q(0),
- ],
- q(cordoba oro) => [
- q(0113),
- q(0),
- ],
- q(costa rican colon) => [
- q(0045),
- q(0),
- ],
- q(croatian kuna) => [
- q(0046),
- q(0),
- ],
- q(cuban peso) => [
- q(0048),
- q(0),
- ],
- q(czech koruna) => [
- q(0050),
- q(0),
- ],
- q(dalasi) => [
- q(0061),
- q(0),
- ],
- q(danish krone) => [
- q(0051),
- q(0),
- ],
- q(denar) => [
- q(0097),
- q(0),
- ],
- q(djibouti franc) => [
- q(0052),
- q(0),
- ],
- q(dobra) => [
- q(0129),
- q(0),
- ],
- q(dominican peso) => [
- q(0053),
- q(0),
- ],
- q(dong) => [
- q(0165),
- q(0),
- ],
- q(east caribbean dollar) => [
- q(0007),
- q(0),
- ],
- q(egyptian pound) => [
- q(0054),
- q(0),
- ],
- q(el salvador colon) => [
- q(0055),
- q(0),
- ],
- q(ethiopian birr) => [
- q(0057),
- q(0),
- ],
- q(euro) => [
- q(0002),
- q(0),
- ],
- q(falkland islands pound) => [
- q(0058),
- q(0),
- ],
- q(fiji dollar) => [
- q(0059),
- q(0),
- ],
- q(forint) => [
- q(0072),
- q(0),
- ],
- q(gibraltar pound) => [
- q(0064),
- q(0),
- ],
- q(gold) => [
- q(0169),
- q(0),
- ],
- q(gourde) => [
- q(0069),
- q(0),
- ],
- q(guarani) => [
- q(0119),
- q(0),
- ],
- q(guinea franc) => [
- q(0067),
- q(0),
- ],
- q(guyana dollar) => [
- q(0068),
- q(0),
- ],
- q(hong kong dollar) => [
- q(0071),
- q(0),
- ],
- q(hryvnia) => [
- q(0156),
- q(0),
- ],
- q(iceland krona) => [
- q(0073),
- q(0),
- ],
- q(indian rupee) => [
- q(0022),
- q(0),
- ],
- q(iranian rial) => [
- q(0075),
- q(0),
- ],
- q(iraqi dinar) => [
- q(0076),
- q(0),
- ],
- q(jamaican dollar) => [
- q(0078),
- q(0),
- ],
- q(jordanian dinar) => [
- q(0080),
- q(0),
- ],
- q(kenyan shilling) => [
- q(0082),
- q(0),
- ],
- q(kina) => [
- q(0118),
- q(0),
- ],
- q(kip) => [
- q(0087),
- q(0),
- ],
- q(kuwaiti dinar) => [
- q(0085),
- q(0),
- ],
- q(kwacha) => [
- q(0099),
- q(0),
- ],
- q(kwanza) => [
- q(0006),
- q(0),
- ],
- q(kyat) => [
- q(0110),
- q(0),
- ],
- q(lari) => [
- q(0062),
- q(0),
- ],
- q(latvian lats) => [
- q(0088),
- q(0),
- ],
- q(lebanese pound) => [
- q(0089),
- q(0),
- ],
- q(lek) => [
- q(0003),
- q(0),
- ],
- q(lempira) => [
- q(0070),
- q(0),
- ],
- q(leone) => [
- q(0133),
- q(0),
- ],
- q(leu) => [
- q(0124),
- q(0),
- ],
- q(liberian dollar) => [
- q(0092),
- q(0),
- ],
- q(libyan dinar) => [
- q(0093),
- q(0),
- ],
- q(lilangeni) => [
- q(0141),
- q(0),
- ],
- q(lithuanian litas) => [
- q(0095),
- q(0),
- ],
- q(loti) => [
- q(0090),
- q(0),
- ],
- q(malagasy ariary) => [
- q(0098),
- q(0),
- ],
- q(malaysian ringgit) => [
- q(0100),
- q(0),
- ],
- q(mauritius rupee) => [
- q(0103),
- q(0),
- ],
- q(metical) => [
- q(0109),
- q(0),
- ],
- q(mexican peso) => [
- q(0104),
- q(0),
- ],
- q(mexican unidad de inversion (udi)) => [
- q(0105),
- q(0),
- ],
- q(moldovan leu) => [
- q(0106),
- q(0),
- ],
- q(moroccan dirham) => [
- q(0108),
- q(0),
- ],
- q(mvdol) => [
- q(0024),
- q(0),
- ],
- q(naira) => [
- q(0114),
- q(0),
- ],
- q(nakfa) => [
- q(0056),
- q(0),
- ],
- q(namibia dollar) => [
- q(0111),
- q(0),
- ],
- q(nepalese rupee) => [
- q(0112),
- q(0),
- ],
- q(netherlands antillean guilder) => [
- q(0049),
- q(0),
- ],
- q(new israeli sheqel) => [
- q(0077),
- q(0),
- ],
- q(new manat) => [
- q(0154),
- q(0),
- ],
- q(new taiwan dollar) => [
- q(0146),
- q(0),
- ],
- q(new zealand dollar) => [
- q(0044),
- q(0),
- ],
- q(ngultrum) => [
- q(0021),
- q(0),
- ],
- q(north korean won) => [
- q(0083),
- q(0),
- ],
- q(norwegian krone) => [
- q(0027),
- q(0),
- ],
- q(nuevo sol) => [
- q(0120),
- q(0),
- ],
- q(ouguiya) => [
- q(0102),
- q(0),
- ],
- q(pa'anga) => [
- q(0150),
- q(0),
- ],
- q(pakistan rupee) => [
- q(0116),
- q(0),
- ],
- q(pataca) => [
- q(0096),
- q(0),
- ],
- q(peso convertible) => [
- q(0047),
- q(0),
- ],
- q(peso uruguayo) => [
- q(0161),
- q(0),
- ],
- q(philippine peso) => [
- q(0121),
- q(0),
- ],
- q(pound sterling) => [
- q(0066),
- q(0),
- ],
- q(pula) => [
- q(0026),
- q(0),
- ],
- q(qatari rial) => [
- q(0123),
- q(0),
- ],
- q(quetzal) => [
- q(0065),
- q(0),
- ],
- q(rand) => [
- q(0091),
- q(0),
- ],
- q(rial omani) => [
- q(0115),
- q(0),
- ],
- q(riel) => [
- q(0032),
- q(0),
- ],
- q(rufiyaa) => [
- q(0101),
- q(0),
- ],
- q(rupiah) => [
- q(0074),
- q(0),
- ],
- q(russian ruble) => [
- q(0125),
- q(0),
- ],
- q(rwanda franc) => [
- q(0126),
- q(0),
- ],
- q(saint helena pound) => [
- q(0127),
- q(0),
- ],
- q(saudi riyal) => [
- q(0130),
- q(0),
- ],
- q(sdr (special drawing right)) => [
- q(0170),
- q(0),
- ],
- q(serbian dinar) => [
- q(0131),
- q(0),
- ],
- q(seychelles rupee) => [
- q(0132),
- q(0),
- ],
- q(singapore dollar) => [
- q(0134),
- q(0),
- ],
- q(solomon islands dollar) => [
- q(0136),
- q(0),
- ],
- q(som) => [
- q(0086),
- q(0),
- ],
- q(somali shilling) => [
- q(0137),
- q(0),
- ],
- q(somoni) => [
- q(0147),
- q(0),
- ],
- q(sri lanka rupee) => [
- q(0138),
- q(0),
- ],
- q(sucre) => [
- q(0135),
- q(0),
- ],
- q(sudanese pound) => [
- q(0139),
- q(0),
- ],
- q(surinam dollar) => [
- q(0140),
- q(0),
- ],
- q(swedish krona) => [
- q(0142),
- q(0),
- ],
- q(swiss franc) => [
- q(0094),
- q(0),
- ],
- q(syrian pound) => [
- q(0145),
- q(0),
- ],
- q(taka) => [
- q(0015),
- q(0),
- ],
- q(tala) => [
- q(0128),
- q(0),
- ],
- q(tanzanian shilling) => [
- q(0148),
- q(0),
- ],
- q(tenge) => [
- q(0081),
- q(0),
- ],
- q(trinidad and tobago dollar) => [
- q(0151),
- q(0),
- ],
- q(tugrik) => [
- q(0107),
- q(0),
- ],
- q(tunisian dinar) => [
- q(0152),
- q(0),
- ],
- q(turkish lira) => [
- q(0153),
- q(0),
- ],
- q(uae dirham) => [
- q(0157),
- q(0),
- ],
- q(uganda shilling) => [
- q(0155),
- q(0),
- ],
- q(unidad de valor real) => [
- q(0041),
- q(0),
- ],
- q(unidades de fomento) => [
- q(0037),
- q(0),
- ],
- q(uruguay peso en unidades indexadas (uruiurui)) => [
- q(0160),
- q(0),
- ],
- q(us dollar) => [
- q(0005),
- q(0),
- ],
- q(us dollar (next day)) => [
- q(0158),
- q(0),
- ],
- q(us dollar (same day)) => [
- q(0159),
- q(0),
- ],
- q(uzbekistan sum) => [
- q(0162),
- q(0),
- ],
- q(vatu) => [
- q(0163),
- q(0),
- ],
- q(wir euro) => [
- q(0143),
- q(0),
- ],
- q(wir franc) => [
- q(0144),
- q(0),
- ],
- q(won) => [
- q(0084),
- q(0),
- ],
- q(yemeni rial) => [
- q(0166),
- q(0),
- ],
- q(yen) => [
- q(0079),
- q(0),
- ],
- q(yuan renminbi) => [
- q(0039),
- q(0),
- ],
- q(zambian kwacha) => [
- q(0167),
- q(0),
- ],
- q(zimbabwe dollar) => [
- q(0168),
- q(0),
- ],
- q(zloty) => [
- q(0122),
- q(0),
- ],
-};
-
-$Locale::Codes::Data{'currency'}{'code2id'} = {
- q(alpha) => {
- q(AED) => [
- q(0157),
- q(0),
- ],
- q(AFN) => [
- q(0001),
- q(0),
- ],
- q(ALL) => [
- q(0003),
- q(0),
- ],
- q(AMD) => [
- q(0009),
- q(0),
- ],
- q(ANG) => [
- q(0049),
- q(0),
- ],
- q(AOA) => [
- q(0006),
- q(0),
- ],
- q(ARS) => [
- q(0008),
- q(0),
- ],
- q(AUD) => [
- q(0011),
- q(0),
- ],
- q(AWG) => [
- q(0010),
- q(0),
- ],
- q(AZN) => [
- q(0012),
- q(0),
- ],
- q(BAM) => [
- q(0025),
- q(0),
- ],
- q(BBD) => [
- q(0016),
- q(0),
- ],
- q(BDT) => [
- q(0015),
- q(0),
- ],
- q(BGN) => [
- q(0030),
- q(0),
- ],
- q(BHD) => [
- q(0014),
- q(0),
- ],
- q(BIF) => [
- q(0031),
- q(0),
- ],
- q(BMD) => [
- q(0020),
- q(0),
- ],
- q(BND) => [
- q(0029),
- q(0),
- ],
- q(BOB) => [
- q(0023),
- q(0),
- ],
- q(BOV) => [
- q(0024),
- q(0),
- ],
- q(BRL) => [
- q(0028),
- q(0),
- ],
- q(BSD) => [
- q(0013),
- q(0),
- ],
- q(BTN) => [
- q(0021),
- q(0),
- ],
- q(BWP) => [
- q(0026),
- q(0),
- ],
- q(BYR) => [
- q(0017),
- q(0),
- ],
- q(BZD) => [
- q(0018),
- q(0),
- ],
- q(CAD) => [
- q(0034),
- q(0),
- ],
- q(CDF) => [
- q(0043),
- q(0),
- ],
- q(CHE) => [
- q(0143),
- q(0),
- ],
- q(CHF) => [
- q(0094),
- q(0),
- ],
- q(CHW) => [
- q(0144),
- q(0),
- ],
- q(CLF) => [
- q(0037),
- q(0),
- ],
- q(CLP) => [
- q(0038),
- q(0),
- ],
- q(CNY) => [
- q(0039),
- q(0),
- ],
- q(COP) => [
- q(0040),
- q(0),
- ],
- q(COU) => [
- q(0041),
- q(0),
- ],
- q(CRC) => [
- q(0045),
- q(0),
- ],
- q(CUC) => [
- q(0047),
- q(0),
- ],
- q(CUP) => [
- q(0048),
- q(0),
- ],
- q(CVE) => [
- q(0035),
- q(0),
- ],
- q(CZK) => [
- q(0050),
- q(0),
- ],
- q(DJF) => [
- q(0052),
- q(0),
- ],
- q(DKK) => [
- q(0051),
- q(0),
- ],
- q(DOP) => [
- q(0053),
- q(0),
- ],
- q(DZD) => [
- q(0004),
- q(0),
- ],
- q(EGP) => [
- q(0054),
- q(0),
- ],
- q(ERN) => [
- q(0056),
- q(0),
- ],
- q(ETB) => [
- q(0057),
- q(0),
- ],
- q(EUR) => [
- q(0002),
- q(0),
- ],
- q(FJD) => [
- q(0059),
- q(0),
- ],
- q(FKP) => [
- q(0058),
- q(0),
- ],
- q(GBP) => [
- q(0066),
- q(0),
- ],
- q(GEL) => [
- q(0062),
- q(0),
- ],
- q(GHS) => [
- q(0063),
- q(0),
- ],
- q(GIP) => [
- q(0064),
- q(0),
- ],
- q(GMD) => [
- q(0061),
- q(0),
- ],
- q(GNF) => [
- q(0067),
- q(0),
- ],
- q(GTQ) => [
- q(0065),
- q(0),
- ],
- q(GYD) => [
- q(0068),
- q(0),
- ],
- q(HKD) => [
- q(0071),
- q(0),
- ],
- q(HNL) => [
- q(0070),
- q(0),
- ],
- q(HRK) => [
- q(0046),
- q(0),
- ],
- q(HTG) => [
- q(0069),
- q(0),
- ],
- q(HUF) => [
- q(0072),
- q(0),
- ],
- q(IDR) => [
- q(0074),
- q(0),
- ],
- q(ILS) => [
- q(0077),
- q(0),
- ],
- q(INR) => [
- q(0022),
- q(0),
- ],
- q(IQD) => [
- q(0076),
- q(0),
- ],
- q(IRR) => [
- q(0075),
- q(0),
- ],
- q(ISK) => [
- q(0073),
- q(0),
- ],
- q(JMD) => [
- q(0078),
- q(0),
- ],
- q(JOD) => [
- q(0080),
- q(0),
- ],
- q(JPY) => [
- q(0079),
- q(0),
- ],
- q(KES) => [
- q(0082),
- q(0),
- ],
- q(KGS) => [
- q(0086),
- q(0),
- ],
- q(KHR) => [
- q(0032),
- q(0),
- ],
- q(KMF) => [
- q(0042),
- q(0),
- ],
- q(KPW) => [
- q(0083),
- q(0),
- ],
- q(KRW) => [
- q(0084),
- q(0),
- ],
- q(KWD) => [
- q(0085),
- q(0),
- ],
- q(KYD) => [
- q(0036),
- q(0),
- ],
- q(KZT) => [
- q(0081),
- q(0),
- ],
- q(LAK) => [
- q(0087),
- q(0),
- ],
- q(LBP) => [
- q(0089),
- q(0),
- ],
- q(LKR) => [
- q(0138),
- q(0),
- ],
- q(LRD) => [
- q(0092),
- q(0),
- ],
- q(LSL) => [
- q(0090),
- q(0),
- ],
- q(LTL) => [
- q(0095),
- q(0),
- ],
- q(LVL) => [
- q(0088),
- q(0),
- ],
- q(LYD) => [
- q(0093),
- q(0),
- ],
- q(MAD) => [
- q(0108),
- q(0),
- ],
- q(MDL) => [
- q(0106),
- q(0),
- ],
- q(MGA) => [
- q(0098),
- q(0),
- ],
- q(MKD) => [
- q(0097),
- q(0),
- ],
- q(MMK) => [
- q(0110),
- q(0),
- ],
- q(MNT) => [
- q(0107),
- q(0),
- ],
- q(MOP) => [
- q(0096),
- q(0),
- ],
- q(MRO) => [
- q(0102),
- q(0),
- ],
- q(MUR) => [
- q(0103),
- q(0),
- ],
- q(MVR) => [
- q(0101),
- q(0),
- ],
- q(MWK) => [
- q(0099),
- q(0),
- ],
- q(MXN) => [
- q(0104),
- q(0),
- ],
- q(MXV) => [
- q(0105),
- q(0),
- ],
- q(MYR) => [
- q(0100),
- q(0),
- ],
- q(MZN) => [
- q(0109),
- q(0),
- ],
- q(NAD) => [
- q(0111),
- q(0),
- ],
- q(NGN) => [
- q(0114),
- q(0),
- ],
- q(NIO) => [
- q(0113),
- q(0),
- ],
- q(NOK) => [
- q(0027),
- q(0),
- ],
- q(NPR) => [
- q(0112),
- q(0),
- ],
- q(NZD) => [
- q(0044),
- q(0),
- ],
- q(OMR) => [
- q(0115),
- q(0),
- ],
- q(PAB) => [
- q(0117),
- q(0),
- ],
- q(PEN) => [
- q(0120),
- q(0),
- ],
- q(PGK) => [
- q(0118),
- q(0),
- ],
- q(PHP) => [
- q(0121),
- q(0),
- ],
- q(PKR) => [
- q(0116),
- q(0),
- ],
- q(PLN) => [
- q(0122),
- q(0),
- ],
- q(PYG) => [
- q(0119),
- q(0),
- ],
- q(QAR) => [
- q(0123),
- q(0),
- ],
- q(RON) => [
- q(0124),
- q(0),
- ],
- q(RSD) => [
- q(0131),
- q(0),
- ],
- q(RUB) => [
- q(0125),
- q(0),
- ],
- q(RWF) => [
- q(0126),
- q(0),
- ],
- q(SAR) => [
- q(0130),
- q(0),
- ],
- q(SBD) => [
- q(0136),
- q(0),
- ],
- q(SCR) => [
- q(0132),
- q(0),
- ],
- q(SDG) => [
- q(0139),
- q(0),
- ],
- q(SEK) => [
- q(0142),
- q(0),
- ],
- q(SGD) => [
- q(0134),
- q(0),
- ],
- q(SHP) => [
- q(0127),
- q(0),
- ],
- q(SLL) => [
- q(0133),
- q(0),
- ],
- q(SOS) => [
- q(0137),
- q(0),
- ],
- q(SRD) => [
- q(0140),
- q(0),
- ],
- q(STD) => [
- q(0129),
- q(0),
- ],
- q(SVC) => [
- q(0055),
- q(0),
- ],
- q(SYP) => [
- q(0145),
- q(0),
- ],
- q(SZL) => [
- q(0141),
- q(0),
- ],
- q(THB) => [
- q(0149),
- q(0),
- ],
- q(TJS) => [
- q(0147),
- q(0),
- ],
- q(TMT) => [
- q(0154),
- q(0),
- ],
- q(TND) => [
- q(0152),
- q(0),
- ],
- q(TOP) => [
- q(0150),
- q(0),
- ],
- q(TRY) => [
- q(0153),
- q(0),
- ],
- q(TTD) => [
- q(0151),
- q(0),
- ],
- q(TWD) => [
- q(0146),
- q(0),
- ],
- q(TZS) => [
- q(0148),
- q(0),
- ],
- q(UAH) => [
- q(0156),
- q(0),
- ],
- q(UGX) => [
- q(0155),
- q(0),
- ],
- q(USD) => [
- q(0005),
- q(0),
- ],
- q(USN) => [
- q(0158),
- q(0),
- ],
- q(USS) => [
- q(0159),
- q(0),
- ],
- q(UYI) => [
- q(0160),
- q(0),
- ],
- q(UYU) => [
- q(0161),
- q(0),
- ],
- q(UZS) => [
- q(0162),
- q(0),
- ],
- q(VEF) => [
- q(0164),
- q(0),
- ],
- q(VND) => [
- q(0165),
- q(0),
- ],
- q(VUV) => [
- q(0163),
- q(0),
- ],
- q(WST) => [
- q(0128),
- q(0),
- ],
- q(XAF) => [
- q(0033),
- q(0),
- ],
- q(XAU) => [
- q(0169),
- q(0),
- ],
- q(XCD) => [
- q(0007),
- q(0),
- ],
- q(XDR) => [
- q(0170),
- q(0),
- ],
- q(XOF) => [
- q(0019),
- q(0),
- ],
- q(XPF) => [
- q(0060),
- q(0),
- ],
- q(XSU) => [
- q(0135),
- q(0),
- ],
- q(YER) => [
- q(0166),
- q(0),
- ],
- q(ZAR) => [
- q(0091),
- q(0),
- ],
- q(ZMK) => [
- q(0167),
- q(0),
- ],
- q(ZWL) => [
- q(0168),
- q(0),
- ],
- },
- q(num) => {
- q(008) => [
- q(0003),
- q(0),
- ],
- q(012) => [
- q(0004),
- q(0),
- ],
- q(032) => [
- q(0008),
- q(0),
- ],
- q(036) => [
- q(0011),
- q(0),
- ],
- q(044) => [
- q(0013),
- q(0),
- ],
- q(048) => [
- q(0014),
- q(0),
- ],
- q(050) => [
- q(0015),
- q(0),
- ],
- q(051) => [
- q(0009),
- q(0),
- ],
- q(052) => [
- q(0016),
- q(0),
- ],
- q(060) => [
- q(0020),
- q(0),
- ],
- q(064) => [
- q(0021),
- q(0),
- ],
- q(068) => [
- q(0023),
- q(0),
- ],
- q(072) => [
- q(0026),
- q(0),
- ],
- q(084) => [
- q(0018),
- q(0),
- ],
- q(090) => [
- q(0136),
- q(0),
- ],
- q(096) => [
- q(0029),
- q(0),
- ],
- q(104) => [
- q(0110),
- q(0),
- ],
- q(108) => [
- q(0031),
- q(0),
- ],
- q(116) => [
- q(0032),
- q(0),
- ],
- q(124) => [
- q(0034),
- q(0),
- ],
- q(132) => [
- q(0035),
- q(0),
- ],
- q(136) => [
- q(0036),
- q(0),
- ],
- q(144) => [
- q(0138),
- q(0),
- ],
- q(152) => [
- q(0038),
- q(0),
- ],
- q(156) => [
- q(0039),
- q(0),
- ],
- q(170) => [
- q(0040),
- q(0),
- ],
- q(174) => [
- q(0042),
- q(0),
- ],
- q(188) => [
- q(0045),
- q(0),
- ],
- q(191) => [
- q(0046),
- q(0),
- ],
- q(192) => [
- q(0048),
- q(0),
- ],
- q(203) => [
- q(0050),
- q(0),
- ],
- q(208) => [
- q(0051),
- q(0),
- ],
- q(214) => [
- q(0053),
- q(0),
- ],
- q(222) => [
- q(0055),
- q(0),
- ],
- q(230) => [
- q(0057),
- q(0),
- ],
- q(232) => [
- q(0056),
- q(0),
- ],
- q(238) => [
- q(0058),
- q(0),
- ],
- q(242) => [
- q(0059),
- q(0),
- ],
- q(262) => [
- q(0052),
- q(0),
- ],
- q(270) => [
- q(0061),
- q(0),
- ],
- q(292) => [
- q(0064),
- q(0),
- ],
- q(320) => [
- q(0065),
- q(0),
- ],
- q(324) => [
- q(0067),
- q(0),
- ],
- q(328) => [
- q(0068),
- q(0),
- ],
- q(332) => [
- q(0069),
- q(0),
- ],
- q(340) => [
- q(0070),
- q(0),
- ],
- q(344) => [
- q(0071),
- q(0),
- ],
- q(348) => [
- q(0072),
- q(0),
- ],
- q(352) => [
- q(0073),
- q(0),
- ],
- q(356) => [
- q(0022),
- q(0),
- ],
- q(360) => [
- q(0074),
- q(0),
- ],
- q(364) => [
- q(0075),
- q(0),
- ],
- q(368) => [
- q(0076),
- q(0),
- ],
- q(376) => [
- q(0077),
- q(0),
- ],
- q(388) => [
- q(0078),
- q(0),
- ],
- q(392) => [
- q(0079),
- q(0),
- ],
- q(398) => [
- q(0081),
- q(0),
- ],
- q(400) => [
- q(0080),
- q(0),
- ],
- q(404) => [
- q(0082),
- q(0),
- ],
- q(408) => [
- q(0083),
- q(0),
- ],
- q(410) => [
- q(0084),
- q(0),
- ],
- q(414) => [
- q(0085),
- q(0),
- ],
- q(417) => [
- q(0086),
- q(0),
- ],
- q(418) => [
- q(0087),
- q(0),
- ],
- q(422) => [
- q(0089),
- q(0),
- ],
- q(426) => [
- q(0090),
- q(0),
- ],
- q(428) => [
- q(0088),
- q(0),
- ],
- q(430) => [
- q(0092),
- q(0),
- ],
- q(434) => [
- q(0093),
- q(0),
- ],
- q(440) => [
- q(0095),
- q(0),
- ],
- q(446) => [
- q(0096),
- q(0),
- ],
- q(454) => [
- q(0099),
- q(0),
- ],
- q(458) => [
- q(0100),
- q(0),
- ],
- q(462) => [
- q(0101),
- q(0),
- ],
- q(478) => [
- q(0102),
- q(0),
- ],
- q(480) => [
- q(0103),
- q(0),
- ],
- q(484) => [
- q(0104),
- q(0),
- ],
- q(496) => [
- q(0107),
- q(0),
- ],
- q(498) => [
- q(0106),
- q(0),
- ],
- q(504) => [
- q(0108),
- q(0),
- ],
- q(512) => [
- q(0115),
- q(0),
- ],
- q(516) => [
- q(0111),
- q(0),
- ],
- q(524) => [
- q(0112),
- q(0),
- ],
- q(532) => [
- q(0049),
- q(0),
- ],
- q(533) => [
- q(0010),
- q(0),
- ],
- q(548) => [
- q(0163),
- q(0),
- ],
- q(554) => [
- q(0044),
- q(0),
- ],
- q(558) => [
- q(0113),
- q(0),
- ],
- q(566) => [
- q(0114),
- q(0),
- ],
- q(578) => [
- q(0027),
- q(0),
- ],
- q(586) => [
- q(0116),
- q(0),
- ],
- q(590) => [
- q(0117),
- q(0),
- ],
- q(598) => [
- q(0118),
- q(0),
- ],
- q(600) => [
- q(0119),
- q(0),
- ],
- q(604) => [
- q(0120),
- q(0),
- ],
- q(608) => [
- q(0121),
- q(0),
- ],
- q(634) => [
- q(0123),
- q(0),
- ],
- q(643) => [
- q(0125),
- q(0),
- ],
- q(646) => [
- q(0126),
- q(0),
- ],
- q(654) => [
- q(0127),
- q(0),
- ],
- q(678) => [
- q(0129),
- q(0),
- ],
- q(682) => [
- q(0130),
- q(0),
- ],
- q(690) => [
- q(0132),
- q(0),
- ],
- q(694) => [
- q(0133),
- q(0),
- ],
- q(702) => [
- q(0134),
- q(0),
- ],
- q(704) => [
- q(0165),
- q(0),
- ],
- q(706) => [
- q(0137),
- q(0),
- ],
- q(710) => [
- q(0091),
- q(0),
- ],
- q(748) => [
- q(0141),
- q(0),
- ],
- q(752) => [
- q(0142),
- q(0),
- ],
- q(756) => [
- q(0094),
- q(0),
- ],
- q(760) => [
- q(0145),
- q(0),
- ],
- q(764) => [
- q(0149),
- q(0),
- ],
- q(776) => [
- q(0150),
- q(0),
- ],
- q(780) => [
- q(0151),
- q(0),
- ],
- q(784) => [
- q(0157),
- q(0),
- ],
- q(788) => [
- q(0152),
- q(0),
- ],
- q(800) => [
- q(0155),
- q(0),
- ],
- q(807) => [
- q(0097),
- q(0),
- ],
- q(818) => [
- q(0054),
- q(0),
- ],
- q(826) => [
- q(0066),
- q(0),
- ],
- q(834) => [
- q(0148),
- q(0),
- ],
- q(840) => [
- q(0005),
- q(0),
- ],
- q(858) => [
- q(0161),
- q(0),
- ],
- q(860) => [
- q(0162),
- q(0),
- ],
- q(882) => [
- q(0128),
- q(0),
- ],
- q(886) => [
- q(0166),
- q(0),
- ],
- q(894) => [
- q(0167),
- q(0),
- ],
- q(901) => [
- q(0146),
- q(0),
- ],
- q(931) => [
- q(0047),
- q(0),
- ],
- q(932) => [
- q(0168),
- q(0),
- ],
- q(934) => [
- q(0154),
- q(0),
- ],
- q(936) => [
- q(0063),
- q(0),
- ],
- q(937) => [
- q(0164),
- q(0),
- ],
- q(938) => [
- q(0139),
- q(0),
- ],
- q(940) => [
- q(0160),
- q(0),
- ],
- q(941) => [
- q(0131),
- q(0),
- ],
- q(943) => [
- q(0109),
- q(0),
- ],
- q(944) => [
- q(0012),
- q(0),
- ],
- q(946) => [
- q(0124),
- q(0),
- ],
- q(947) => [
- q(0143),
- q(0),
- ],
- q(948) => [
- q(0144),
- q(0),
- ],
- q(949) => [
- q(0153),
- q(0),
- ],
- q(950) => [
- q(0033),
- q(0),
- ],
- q(951) => [
- q(0007),
- q(0),
- ],
- q(952) => [
- q(0019),
- q(0),
- ],
- q(953) => [
- q(0060),
- q(0),
- ],
- q(959) => [
- q(0169),
- q(0),
- ],
- q(960) => [
- q(0170),
- q(0),
- ],
- q(968) => [
- q(0140),
- q(0),
- ],
- q(969) => [
- q(0098),
- q(0),
- ],
- q(970) => [
- q(0041),
- q(0),
- ],
- q(971) => [
- q(0001),
- q(0),
- ],
- q(972) => [
- q(0147),
- q(0),
- ],
- q(973) => [
- q(0006),
- q(0),
- ],
- q(974) => [
- q(0017),
- q(0),
- ],
- q(975) => [
- q(0030),
- q(0),
- ],
- q(976) => [
- q(0043),
- q(0),
- ],
- q(977) => [
- q(0025),
- q(0),
- ],
- q(978) => [
- q(0002),
- q(0),
- ],
- q(979) => [
- q(0105),
- q(0),
- ],
- q(980) => [
- q(0156),
- q(0),
- ],
- q(981) => [
- q(0062),
- q(0),
- ],
- q(984) => [
- q(0024),
- q(0),
- ],
- q(985) => [
- q(0122),
- q(0),
- ],
- q(986) => [
- q(0028),
- q(0),
- ],
- q(990) => [
- q(0037),
- q(0),
- ],
- q(994) => [
- q(0135),
- q(0),
- ],
- q(997) => [
- q(0158),
- q(0),
- ],
- q(998) => [
- q(0159),
- q(0),
- ],
- },
-};
-
-$Locale::Codes::Data{'currency'}{'id2code'} = {
- q(alpha) => {
- q(0001) => q(AFN),
- q(0002) => q(EUR),
- q(0003) => q(ALL),
- q(0004) => q(DZD),
- q(0005) => q(USD),
- q(0006) => q(AOA),
- q(0007) => q(XCD),
- q(0008) => q(ARS),
- q(0009) => q(AMD),
- q(0010) => q(AWG),
- q(0011) => q(AUD),
- q(0012) => q(AZN),
- q(0013) => q(BSD),
- q(0014) => q(BHD),
- q(0015) => q(BDT),
- q(0016) => q(BBD),
- q(0017) => q(BYR),
- q(0018) => q(BZD),
- q(0019) => q(XOF),
- q(0020) => q(BMD),
- q(0021) => q(BTN),
- q(0022) => q(INR),
- q(0023) => q(BOB),
- q(0024) => q(BOV),
- q(0025) => q(BAM),
- q(0026) => q(BWP),
- q(0027) => q(NOK),
- q(0028) => q(BRL),
- q(0029) => q(BND),
- q(0030) => q(BGN),
- q(0031) => q(BIF),
- q(0032) => q(KHR),
- q(0033) => q(XAF),
- q(0034) => q(CAD),
- q(0035) => q(CVE),
- q(0036) => q(KYD),
- q(0037) => q(CLF),
- q(0038) => q(CLP),
- q(0039) => q(CNY),
- q(0040) => q(COP),
- q(0041) => q(COU),
- q(0042) => q(KMF),
- q(0043) => q(CDF),
- q(0044) => q(NZD),
- q(0045) => q(CRC),
- q(0046) => q(HRK),
- q(0047) => q(CUC),
- q(0048) => q(CUP),
- q(0049) => q(ANG),
- q(0050) => q(CZK),
- q(0051) => q(DKK),
- q(0052) => q(DJF),
- q(0053) => q(DOP),
- q(0054) => q(EGP),
- q(0055) => q(SVC),
- q(0056) => q(ERN),
- q(0057) => q(ETB),
- q(0058) => q(FKP),
- q(0059) => q(FJD),
- q(0060) => q(XPF),
- q(0061) => q(GMD),
- q(0062) => q(GEL),
- q(0063) => q(GHS),
- q(0064) => q(GIP),
- q(0065) => q(GTQ),
- q(0066) => q(GBP),
- q(0067) => q(GNF),
- q(0068) => q(GYD),
- q(0069) => q(HTG),
- q(0070) => q(HNL),
- q(0071) => q(HKD),
- q(0072) => q(HUF),
- q(0073) => q(ISK),
- q(0074) => q(IDR),
- q(0075) => q(IRR),
- q(0076) => q(IQD),
- q(0077) => q(ILS),
- q(0078) => q(JMD),
- q(0079) => q(JPY),
- q(0080) => q(JOD),
- q(0081) => q(KZT),
- q(0082) => q(KES),
- q(0083) => q(KPW),
- q(0084) => q(KRW),
- q(0085) => q(KWD),
- q(0086) => q(KGS),
- q(0087) => q(LAK),
- q(0088) => q(LVL),
- q(0089) => q(LBP),
- q(0090) => q(LSL),
- q(0091) => q(ZAR),
- q(0092) => q(LRD),
- q(0093) => q(LYD),
- q(0094) => q(CHF),
- q(0095) => q(LTL),
- q(0096) => q(MOP),
- q(0097) => q(MKD),
- q(0098) => q(MGA),
- q(0099) => q(MWK),
- q(0100) => q(MYR),
- q(0101) => q(MVR),
- q(0102) => q(MRO),
- q(0103) => q(MUR),
- q(0104) => q(MXN),
- q(0105) => q(MXV),
- q(0106) => q(MDL),
- q(0107) => q(MNT),
- q(0108) => q(MAD),
- q(0109) => q(MZN),
- q(0110) => q(MMK),
- q(0111) => q(NAD),
- q(0112) => q(NPR),
- q(0113) => q(NIO),
- q(0114) => q(NGN),
- q(0115) => q(OMR),
- q(0116) => q(PKR),
- q(0117) => q(PAB),
- q(0118) => q(PGK),
- q(0119) => q(PYG),
- q(0120) => q(PEN),
- q(0121) => q(PHP),
- q(0122) => q(PLN),
- q(0123) => q(QAR),
- q(0124) => q(RON),
- q(0125) => q(RUB),
- q(0126) => q(RWF),
- q(0127) => q(SHP),
- q(0128) => q(WST),
- q(0129) => q(STD),
- q(0130) => q(SAR),
- q(0131) => q(RSD),
- q(0132) => q(SCR),
- q(0133) => q(SLL),
- q(0134) => q(SGD),
- q(0135) => q(XSU),
- q(0136) => q(SBD),
- q(0137) => q(SOS),
- q(0138) => q(LKR),
- q(0139) => q(SDG),
- q(0140) => q(SRD),
- q(0141) => q(SZL),
- q(0142) => q(SEK),
- q(0143) => q(CHE),
- q(0144) => q(CHW),
- q(0145) => q(SYP),
- q(0146) => q(TWD),
- q(0147) => q(TJS),
- q(0148) => q(TZS),
- q(0149) => q(THB),
- q(0150) => q(TOP),
- q(0151) => q(TTD),
- q(0152) => q(TND),
- q(0153) => q(TRY),
- q(0154) => q(TMT),
- q(0155) => q(UGX),
- q(0156) => q(UAH),
- q(0157) => q(AED),
- q(0158) => q(USN),
- q(0159) => q(USS),
- q(0160) => q(UYI),
- q(0161) => q(UYU),
- q(0162) => q(UZS),
- q(0163) => q(VUV),
- q(0164) => q(VEF),
- q(0165) => q(VND),
- q(0166) => q(YER),
- q(0167) => q(ZMK),
- q(0168) => q(ZWL),
- q(0169) => q(XAU),
- q(0170) => q(XDR),
- },
- q(num) => {
- q(0001) => q(971),
- q(0002) => q(978),
- q(0003) => q(008),
- q(0004) => q(012),
- q(0005) => q(840),
- q(0006) => q(973),
- q(0007) => q(951),
- q(0008) => q(032),
- q(0009) => q(051),
- q(0010) => q(533),
- q(0011) => q(036),
- q(0012) => q(944),
- q(0013) => q(044),
- q(0014) => q(048),
- q(0015) => q(050),
- q(0016) => q(052),
- q(0017) => q(974),
- q(0018) => q(084),
- q(0019) => q(952),
- q(0020) => q(060),
- q(0021) => q(064),
- q(0022) => q(356),
- q(0023) => q(068),
- q(0024) => q(984),
- q(0025) => q(977),
- q(0026) => q(072),
- q(0027) => q(578),
- q(0028) => q(986),
- q(0029) => q(096),
- q(0030) => q(975),
- q(0031) => q(108),
- q(0032) => q(116),
- q(0033) => q(950),
- q(0034) => q(124),
- q(0035) => q(132),
- q(0036) => q(136),
- q(0037) => q(990),
- q(0038) => q(152),
- q(0039) => q(156),
- q(0040) => q(170),
- q(0041) => q(970),
- q(0042) => q(174),
- q(0043) => q(976),
- q(0044) => q(554),
- q(0045) => q(188),
- q(0046) => q(191),
- q(0047) => q(931),
- q(0048) => q(192),
- q(0049) => q(532),
- q(0050) => q(203),
- q(0051) => q(208),
- q(0052) => q(262),
- q(0053) => q(214),
- q(0054) => q(818),
- q(0055) => q(222),
- q(0056) => q(232),
- q(0057) => q(230),
- q(0058) => q(238),
- q(0059) => q(242),
- q(0060) => q(953),
- q(0061) => q(270),
- q(0062) => q(981),
- q(0063) => q(936),
- q(0064) => q(292),
- q(0065) => q(320),
- q(0066) => q(826),
- q(0067) => q(324),
- q(0068) => q(328),
- q(0069) => q(332),
- q(0070) => q(340),
- q(0071) => q(344),
- q(0072) => q(348),
- q(0073) => q(352),
- q(0074) => q(360),
- q(0075) => q(364),
- q(0076) => q(368),
- q(0077) => q(376),
- q(0078) => q(388),
- q(0079) => q(392),
- q(0080) => q(400),
- q(0081) => q(398),
- q(0082) => q(404),
- q(0083) => q(408),
- q(0084) => q(410),
- q(0085) => q(414),
- q(0086) => q(417),
- q(0087) => q(418),
- q(0088) => q(428),
- q(0089) => q(422),
- q(0090) => q(426),
- q(0091) => q(710),
- q(0092) => q(430),
- q(0093) => q(434),
- q(0094) => q(756),
- q(0095) => q(440),
- q(0096) => q(446),
- q(0097) => q(807),
- q(0098) => q(969),
- q(0099) => q(454),
- q(0100) => q(458),
- q(0101) => q(462),
- q(0102) => q(478),
- q(0103) => q(480),
- q(0104) => q(484),
- q(0105) => q(979),
- q(0106) => q(498),
- q(0107) => q(496),
- q(0108) => q(504),
- q(0109) => q(943),
- q(0110) => q(104),
- q(0111) => q(516),
- q(0112) => q(524),
- q(0113) => q(558),
- q(0114) => q(566),
- q(0115) => q(512),
- q(0116) => q(586),
- q(0117) => q(590),
- q(0118) => q(598),
- q(0119) => q(600),
- q(0120) => q(604),
- q(0121) => q(608),
- q(0122) => q(985),
- q(0123) => q(634),
- q(0124) => q(946),
- q(0125) => q(643),
- q(0126) => q(646),
- q(0127) => q(654),
- q(0128) => q(882),
- q(0129) => q(678),
- q(0130) => q(682),
- q(0131) => q(941),
- q(0132) => q(690),
- q(0133) => q(694),
- q(0134) => q(702),
- q(0135) => q(994),
- q(0136) => q(090),
- q(0137) => q(706),
- q(0138) => q(144),
- q(0139) => q(938),
- q(0140) => q(968),
- q(0141) => q(748),
- q(0142) => q(752),
- q(0143) => q(947),
- q(0144) => q(948),
- q(0145) => q(760),
- q(0146) => q(901),
- q(0147) => q(972),
- q(0148) => q(834),
- q(0149) => q(764),
- q(0150) => q(776),
- q(0151) => q(780),
- q(0152) => q(788),
- q(0153) => q(949),
- q(0154) => q(934),
- q(0155) => q(800),
- q(0156) => q(980),
- q(0157) => q(784),
- q(0158) => q(997),
- q(0159) => q(998),
- q(0160) => q(940),
- q(0161) => q(858),
- q(0162) => q(860),
- q(0163) => q(548),
- q(0164) => q(937),
- q(0165) => q(704),
- q(0166) => q(886),
- q(0167) => q(894),
- q(0168) => q(932),
- q(0169) => q(959),
- q(0170) => q(960),
- },
-};
+require Exporter;
+use Carp;
+use Locale::Codes;
+use Locale::Codes::Constants;
+use Locale::Codes::Currency_Codes;
+use Locale::Codes::Currency_Retired;
+
+#=======================================================================
+# Public Global Variables
+#=======================================================================
+
+our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
+
+$VERSION='3.21';
+@ISA = qw(Exporter);
+@EXPORT = qw(code2currency
+ currency2code
+ all_currency_codes
+ all_currency_names
+ currency_code2code
+ LOCALE_CURR_ALPHA
+ LOCALE_CURR_NUMERIC
+ );
+
+sub code2currency {
+ return Locale::Codes::_code2name('currency',@_);
+}
+
+sub currency2code {
+ return Locale::Codes::_name2code('currency',@_);
+}
+
+sub currency_code2code {
+ return Locale::Codes::_code2code('currency',@_);
+}
+
+sub all_currency_codes {
+ return Locale::Codes::_all_codes('currency',@_);
+}
+
+sub all_currency_names {
+ return Locale::Codes::_all_names('currency',@_);
+}
+
+sub rename_currency {
+ return Locale::Codes::_rename('currency',@_);
+}
+
+sub add_currency {
+ return Locale::Codes::_add_code('currency',@_);
+}
+
+sub delete_currency {
+ return Locale::Codes::_delete_code('currency',@_);
+}
+
+sub add_currency_alias {
+ return Locale::Codes::_add_alias('currency',@_);
+}
+
+sub delete_currency_alias {
+ return Locale::Codes::_delete_alias('currency',@_);
+}
+
+sub rename_currency_code {
+ return Locale::Codes::_rename_code('currency',@_);
+}
+
+sub add_currency_code_alias {
+ return Locale::Codes::_add_code_alias('currency',@_);
+}
+
+sub delete_currency_code_alias {
+ return Locale::Codes::_delete_code_alias('currency',@_);
+}
1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: -2
+# End:
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pod
new file mode 100644
index 00000000000..a79b811c1d0
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Currency.pod
@@ -0,0 +1,127 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::Currency - standard codes for currency identification
+
+=head1 SYNOPSIS
+
+ use Locale::Codes::Currency;
+
+ $curr = code2currency('usd'); # $curr gets 'US Dollar'
+ $code = currency2code('Euro'); # $code gets 'eur'
+
+ @codes = all_currency_codes();
+ @names = all_currency_names();
+
+
+=head1 DESCRIPTION
+
+The C<Locale::Codes::Currency> module provides access to standard codes used
+for identifying currencies and funds, such as those defined in ISO 4217.
+
+Most of the routines take an optional additional argument which
+specifies the code set to use. If not specified, the default ISO
+4217 three-letter codes will be used.
+
+=head1 SUPPORTED CODE SETS
+
+There are several different code sets you can use for identifying
+currencies. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $curr = code2currency('usd','alpha');
+ $curr = code2currency('usd',LOCALE_CURR_ALPHA);
+
+The codesets currently supported are:
+
+=over 4
+
+=item B<alpha, LOCALE_CURR_ALPHA>
+
+This is a set of three-letter (uppercase) codes from ISO 4217 such
+as EUR for Euro.
+
+Two of the codes specified by the standard (XTS which is reserved
+for testing purposes and XXX which is for transactions where no
+currency is involved) are omitted.
+
+This is the default code set.
+
+=item B<num, LOCALE_CURR_NUMERIC>
+
+This is the set of three-digit numeric codes from ISO 4217.
+
+=back
+
+=head1 ROUTINES
+
+=over 4
+
+=item B<code2currency ( CODE [,CODESET] )>
+
+=item B<currency2code ( NAME [,CODESET] )>
+
+=item B<currency_code2code ( CODE ,CODESET ,CODESET2 )>
+
+=item B<all_currency_codes ( [CODESET] )>
+
+=item B<all_currency_names ( [CODESET] )>
+
+=item B<Locale::Codes::Currency::rename_currency ( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Codes::Currency::add_currency ( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Codes::Currency::delete_currency ( CODE [,CODESET] )>
+
+=item B<Locale::Codes::Currency::add_currency_alias ( NAME ,NEW_NAME )>
+
+=item B<Locale::Codes::Currency::delete_currency_alias ( NAME )>
+
+=item B<Locale::Codes::Currency::rename_currency_code ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::Currency::add_currency_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::Currency::delete_currency_code_alias ( CODE [,CODESET] )>
+
+These routines are all documented in the Locale::Codes::API man page.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Codes>
+
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
+=item B<http://www.iso.org/iso/support/currency_codes_list-1.htm>
+
+The ISO 4217 data.
+
+=back
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001 Michael Hennecke
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Currency_Codes.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Currency_Codes.pm
new file mode 100644
index 00000000000..aaff8601f4d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Currency_Codes.pm
@@ -0,0 +1,3107 @@
+package Locale::Codes::Currency_Codes;
+
+# This file was automatically generated. Any changes to this file will
+# be lost the next time 'get_codes' is run.
+# Generated on: Thu Mar 1 08:07:11 EST 2012
+
+=pod
+
+=head1 NAME
+
+Locale::Codes::Currency_Codes - currency codes for the Locale::Codes::Currency module
+
+=head1 SYNOPSIS
+
+This module contains data used by the Locale::Codes::Currency module. It is
+not intended to be used directly, and contains no calleable routines.
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+require 5.002;
+
+our($VERSION);
+$VERSION='3.21';
+
+$Locale::Codes::Data{'currency'}{'id'} = '0180';
+
+$Locale::Codes::Data{'currency'}{'id2names'} = {
+ q(0001) => [
+ q(Afghani),
+ ],
+ q(0002) => [
+ q(Euro),
+ ],
+ q(0003) => [
+ q(Lek),
+ ],
+ q(0004) => [
+ q(Algerian Dinar),
+ ],
+ q(0005) => [
+ q(US Dollar),
+ ],
+ q(0006) => [
+ q(Kwanza),
+ ],
+ q(0007) => [
+ q(East Caribbean Dollar),
+ ],
+ q(0008) => [
+ q(Argentine Peso),
+ ],
+ q(0009) => [
+ q(Armenian Dram),
+ ],
+ q(0010) => [
+ q(Aruban Florin),
+ ],
+ q(0011) => [
+ q(Australian Dollar),
+ ],
+ q(0012) => [
+ q(Azerbaijanian Manat),
+ ],
+ q(0013) => [
+ q(Bahamian Dollar),
+ ],
+ q(0014) => [
+ q(Bahraini Dinar),
+ ],
+ q(0015) => [
+ q(Taka),
+ ],
+ q(0016) => [
+ q(Barbados Dollar),
+ ],
+ q(0017) => [
+ q(Belarussian Ruble),
+ ],
+ q(0018) => [
+ q(Belize Dollar),
+ ],
+ q(0019) => [
+ q(CFA Franc BCEAO),
+ ],
+ q(0020) => [
+ q(Bermudian Dollar),
+ ],
+ q(0021) => [
+ q(Ngultrum),
+ ],
+ q(0022) => [
+ q(Indian Rupee),
+ ],
+ q(0023) => [
+ q(Boliviano),
+ ],
+ q(0024) => [
+ q(Mvdol),
+ ],
+ q(0025) => [
+ q(Convertible Mark),
+ ],
+ q(0026) => [
+ q(Pula),
+ ],
+ q(0027) => [
+ q(Norwegian Krone),
+ ],
+ q(0028) => [
+ q(Brazilian Real),
+ ],
+ q(0029) => [
+ q(Brunei Dollar),
+ ],
+ q(0030) => [
+ q(Bulgarian Lev),
+ ],
+ q(0031) => [
+ q(Burundi Franc),
+ ],
+ q(0032) => [
+ q(Riel),
+ ],
+ q(0033) => [
+ q(CFA Franc BEAC),
+ ],
+ q(0034) => [
+ q(Canadian Dollar),
+ ],
+ q(0035) => [
+ q(Cape Verde Escudo),
+ ],
+ q(0036) => [
+ q(Cayman Islands Dollar),
+ ],
+ q(0037) => [
+ q(Unidades de fomento),
+ ],
+ q(0038) => [
+ q(Chilean Peso),
+ ],
+ q(0039) => [
+ q(Yuan Renminbi),
+ ],
+ q(0040) => [
+ q(Colombian Peso),
+ ],
+ q(0041) => [
+ q(Unidad de Valor Real),
+ ],
+ q(0042) => [
+ q(Comoro Franc),
+ ],
+ q(0043) => [
+ q(Congolese Franc),
+ ],
+ q(0044) => [
+ q(New Zealand Dollar),
+ ],
+ q(0045) => [
+ q(Costa Rican Colon),
+ ],
+ q(0046) => [
+ q(Croatian Kuna),
+ ],
+ q(0047) => [
+ q(Peso Convertible),
+ ],
+ q(0048) => [
+ q(Cuban Peso),
+ ],
+ q(0049) => [
+ q(Netherlands Antillean Guilder),
+ ],
+ q(0050) => [
+ q(Czech Koruna),
+ ],
+ q(0051) => [
+ q(Danish Krone),
+ ],
+ q(0052) => [
+ q(Djibouti Franc),
+ ],
+ q(0053) => [
+ q(Dominican Peso),
+ ],
+ q(0054) => [
+ q(Egyptian Pound),
+ ],
+ q(0055) => [
+ q(El Salvador Colon),
+ ],
+ q(0056) => [
+ q(Nakfa),
+ ],
+ q(0057) => [
+ q(Ethiopian Birr),
+ ],
+ q(0058) => [
+ q(Falkland Islands Pound),
+ ],
+ q(0059) => [
+ q(Fiji Dollar),
+ ],
+ q(0060) => [
+ q(CFP Franc),
+ ],
+ q(0061) => [
+ q(Dalasi),
+ ],
+ q(0062) => [
+ q(Lari),
+ ],
+ q(0063) => [
+ q(Ghana Cedi),
+ ],
+ q(0064) => [
+ q(Gibraltar Pound),
+ ],
+ q(0065) => [
+ q(Quetzal),
+ ],
+ q(0066) => [
+ q(Pound Sterling),
+ ],
+ q(0067) => [
+ q(Guinea Franc),
+ ],
+ q(0068) => [
+ q(Guyana Dollar),
+ ],
+ q(0069) => [
+ q(Gourde),
+ ],
+ q(0070) => [
+ q(Lempira),
+ ],
+ q(0071) => [
+ q(Hong Kong Dollar),
+ ],
+ q(0072) => [
+ q(Forint),
+ ],
+ q(0073) => [
+ q(Iceland Krona),
+ ],
+ q(0074) => [
+ q(Rupiah),
+ ],
+ q(0075) => [
+ q(SDR (Special Drawing Right)),
+ ],
+ q(0076) => [
+ q(Iranian Rial),
+ ],
+ q(0077) => [
+ q(Iraqi Dinar),
+ ],
+ q(0078) => [
+ q(New Israeli Sheqel),
+ ],
+ q(0079) => [
+ q(Jamaican Dollar),
+ ],
+ q(0080) => [
+ q(Yen),
+ ],
+ q(0081) => [
+ q(Jordanian Dinar),
+ ],
+ q(0082) => [
+ q(Tenge),
+ ],
+ q(0083) => [
+ q(Kenyan Shilling),
+ ],
+ q(0084) => [
+ q(North Korean Won),
+ ],
+ q(0085) => [
+ q(Won),
+ ],
+ q(0086) => [
+ q(Kuwaiti Dinar),
+ ],
+ q(0087) => [
+ q(Som),
+ ],
+ q(0088) => [
+ q(Kip),
+ ],
+ q(0089) => [
+ q(Latvian Lats),
+ ],
+ q(0090) => [
+ q(Lebanese Pound),
+ ],
+ q(0091) => [
+ q(Loti),
+ ],
+ q(0092) => [
+ q(Rand),
+ ],
+ q(0093) => [
+ q(Liberian Dollar),
+ ],
+ q(0094) => [
+ q(Libyan Dinar),
+ ],
+ q(0095) => [
+ q(Swiss Franc),
+ ],
+ q(0096) => [
+ q(Lithuanian Litas),
+ ],
+ q(0097) => [
+ q(Pataca),
+ ],
+ q(0098) => [
+ q(Denar),
+ ],
+ q(0099) => [
+ q(Malagasy Ariary),
+ ],
+ q(0100) => [
+ q(Kwacha),
+ ],
+ q(0101) => [
+ q(Malaysian Ringgit),
+ ],
+ q(0102) => [
+ q(Rufiyaa),
+ ],
+ q(0103) => [
+ q(Ouguiya),
+ ],
+ q(0104) => [
+ q(Mauritius Rupee),
+ ],
+ q(0105) => [
+ q(ADB Unit of Account),
+ ],
+ q(0106) => [
+ q(Mexican Peso),
+ ],
+ q(0107) => [
+ q(Mexican Unidad de Inversion (UDI)),
+ ],
+ q(0108) => [
+ q(Moldovan Leu),
+ ],
+ q(0109) => [
+ q(Tugrik),
+ ],
+ q(0110) => [
+ q(Moroccan Dirham),
+ ],
+ q(0111) => [
+ q(Mozambique Metical),
+ ],
+ q(0112) => [
+ q(Kyat),
+ ],
+ q(0113) => [
+ q(Namibia Dollar),
+ ],
+ q(0114) => [
+ q(Nepalese Rupee),
+ ],
+ q(0115) => [
+ q(Cordoba Oro),
+ ],
+ q(0116) => [
+ q(Naira),
+ ],
+ q(0117) => [
+ q(Rial Omani),
+ ],
+ q(0118) => [
+ q(Pakistan Rupee),
+ ],
+ q(0119) => [
+ q(Balboa),
+ ],
+ q(0120) => [
+ q(Kina),
+ ],
+ q(0121) => [
+ q(Guarani),
+ ],
+ q(0122) => [
+ q(Nuevo Sol),
+ ],
+ q(0123) => [
+ q(Philippine Peso),
+ ],
+ q(0124) => [
+ q(Zloty),
+ ],
+ q(0125) => [
+ q(Qatari Rial),
+ ],
+ q(0126) => [
+ q(New Romanian Leu),
+ ],
+ q(0127) => [
+ q(Russian Ruble),
+ ],
+ q(0128) => [
+ q(Rwanda Franc),
+ ],
+ q(0129) => [
+ q(Saint Helena Pound),
+ ],
+ q(0130) => [
+ q(Tala),
+ ],
+ q(0131) => [
+ q(Dobra),
+ ],
+ q(0132) => [
+ q(Saudi Riyal),
+ ],
+ q(0133) => [
+ q(Serbian Dinar),
+ ],
+ q(0134) => [
+ q(Seychelles Rupee),
+ ],
+ q(0135) => [
+ q(Leone),
+ ],
+ q(0136) => [
+ q(Singapore Dollar),
+ ],
+ q(0137) => [
+ q(Sucre),
+ ],
+ q(0138) => [
+ q(Solomon Islands Dollar),
+ ],
+ q(0139) => [
+ q(Somali Shilling),
+ ],
+ q(0140) => [
+ q(South Sudanese Pound),
+ ],
+ q(0141) => [
+ q(Sri Lanka Rupee),
+ ],
+ q(0142) => [
+ q(Sudanese Pound),
+ ],
+ q(0143) => [
+ q(Surinam Dollar),
+ ],
+ q(0144) => [
+ q(Lilangeni),
+ ],
+ q(0145) => [
+ q(Swedish Krona),
+ ],
+ q(0146) => [
+ q(WIR Euro),
+ ],
+ q(0147) => [
+ q(WIR Franc),
+ ],
+ q(0148) => [
+ q(Syrian Pound),
+ ],
+ q(0149) => [
+ q(New Taiwan Dollar),
+ ],
+ q(0150) => [
+ q(Somoni),
+ ],
+ q(0151) => [
+ q(Tanzanian Shilling),
+ ],
+ q(0152) => [
+ q(Baht),
+ ],
+ q(0153) => [
+ q(Pa'anga),
+ ],
+ q(0154) => [
+ q(Trinidad and Tobago Dollar),
+ ],
+ q(0155) => [
+ q(Tunisian Dinar),
+ ],
+ q(0156) => [
+ q(Turkish Lira),
+ ],
+ q(0157) => [
+ q(Turkmenistan New Manat),
+ ],
+ q(0158) => [
+ q(Uganda Shilling),
+ ],
+ q(0159) => [
+ q(Hryvnia),
+ ],
+ q(0160) => [
+ q(UAE Dirham),
+ ],
+ q(0161) => [
+ q(US Dollar (Next day)),
+ ],
+ q(0162) => [
+ q(US Dollar (Same day)),
+ ],
+ q(0163) => [
+ q(Uruguay Peso en Unidades Indexadas (URUIURUI)),
+ ],
+ q(0164) => [
+ q(Peso Uruguayo),
+ ],
+ q(0165) => [
+ q(Uzbekistan Sum),
+ ],
+ q(0166) => [
+ q(Vatu),
+ ],
+ q(0167) => [
+ q(Bolivar Fuerte),
+ ],
+ q(0168) => [
+ q(Dong),
+ ],
+ q(0169) => [
+ q(Yemeni Rial),
+ ],
+ q(0170) => [
+ q(Zambian Kwacha),
+ ],
+ q(0171) => [
+ q(Zimbabwe Dollar),
+ ],
+ q(0172) => [
+ q(Bond Markets Unit European Composite Unit (EURCO)),
+ ],
+ q(0173) => [
+ q(Bond Markets Unit European Monetary Unit (E.M.U.-6)),
+ ],
+ q(0174) => [
+ q(Bond Markets Unit European Unit of Account 9 (E.U.A.-9)),
+ ],
+ q(0175) => [
+ q(Bond Markets Unit European Unit of Account 17 (E.U.A.-17)),
+ ],
+ q(0176) => [
+ q(Gold),
+ ],
+ q(0177) => [
+ q(Palladium),
+ ],
+ q(0178) => [
+ q(Platinum),
+ ],
+ q(0179) => [
+ q(Silver),
+ ],
+};
+
+$Locale::Codes::Data{'currency'}{'alias2id'} = {
+ q(adb unit of account) => [
+ q(0105),
+ q(0),
+ ],
+ q(afghani) => [
+ q(0001),
+ q(0),
+ ],
+ q(algerian dinar) => [
+ q(0004),
+ q(0),
+ ],
+ q(argentine peso) => [
+ q(0008),
+ q(0),
+ ],
+ q(armenian dram) => [
+ q(0009),
+ q(0),
+ ],
+ q(aruban florin) => [
+ q(0010),
+ q(0),
+ ],
+ q(australian dollar) => [
+ q(0011),
+ q(0),
+ ],
+ q(azerbaijanian manat) => [
+ q(0012),
+ q(0),
+ ],
+ q(bahamian dollar) => [
+ q(0013),
+ q(0),
+ ],
+ q(bahraini dinar) => [
+ q(0014),
+ q(0),
+ ],
+ q(baht) => [
+ q(0152),
+ q(0),
+ ],
+ q(balboa) => [
+ q(0119),
+ q(0),
+ ],
+ q(barbados dollar) => [
+ q(0016),
+ q(0),
+ ],
+ q(belarussian ruble) => [
+ q(0017),
+ q(0),
+ ],
+ q(belize dollar) => [
+ q(0018),
+ q(0),
+ ],
+ q(bermudian dollar) => [
+ q(0020),
+ q(0),
+ ],
+ q(bolivar fuerte) => [
+ q(0167),
+ q(0),
+ ],
+ q(boliviano) => [
+ q(0023),
+ q(0),
+ ],
+ q(bond markets unit european composite unit (eurco)) => [
+ q(0172),
+ q(0),
+ ],
+ q(bond markets unit european monetary unit (e.m.u.-6)) => [
+ q(0173),
+ q(0),
+ ],
+ q(bond markets unit european unit of account 17 (e.u.a.-17)) => [
+ q(0175),
+ q(0),
+ ],
+ q(bond markets unit european unit of account 9 (e.u.a.-9)) => [
+ q(0174),
+ q(0),
+ ],
+ q(brazilian real) => [
+ q(0028),
+ q(0),
+ ],
+ q(brunei dollar) => [
+ q(0029),
+ q(0),
+ ],
+ q(bulgarian lev) => [
+ q(0030),
+ q(0),
+ ],
+ q(burundi franc) => [
+ q(0031),
+ q(0),
+ ],
+ q(canadian dollar) => [
+ q(0034),
+ q(0),
+ ],
+ q(cape verde escudo) => [
+ q(0035),
+ q(0),
+ ],
+ q(cayman islands dollar) => [
+ q(0036),
+ q(0),
+ ],
+ q(cfa franc bceao) => [
+ q(0019),
+ q(0),
+ ],
+ q(cfa franc beac) => [
+ q(0033),
+ q(0),
+ ],
+ q(cfp franc) => [
+ q(0060),
+ q(0),
+ ],
+ q(chilean peso) => [
+ q(0038),
+ q(0),
+ ],
+ q(colombian peso) => [
+ q(0040),
+ q(0),
+ ],
+ q(comoro franc) => [
+ q(0042),
+ q(0),
+ ],
+ q(congolese franc) => [
+ q(0043),
+ q(0),
+ ],
+ q(convertible mark) => [
+ q(0025),
+ q(0),
+ ],
+ q(cordoba oro) => [
+ q(0115),
+ q(0),
+ ],
+ q(costa rican colon) => [
+ q(0045),
+ q(0),
+ ],
+ q(croatian kuna) => [
+ q(0046),
+ q(0),
+ ],
+ q(cuban peso) => [
+ q(0048),
+ q(0),
+ ],
+ q(czech koruna) => [
+ q(0050),
+ q(0),
+ ],
+ q(dalasi) => [
+ q(0061),
+ q(0),
+ ],
+ q(danish krone) => [
+ q(0051),
+ q(0),
+ ],
+ q(denar) => [
+ q(0098),
+ q(0),
+ ],
+ q(djibouti franc) => [
+ q(0052),
+ q(0),
+ ],
+ q(dobra) => [
+ q(0131),
+ q(0),
+ ],
+ q(dominican peso) => [
+ q(0053),
+ q(0),
+ ],
+ q(dong) => [
+ q(0168),
+ q(0),
+ ],
+ q(east caribbean dollar) => [
+ q(0007),
+ q(0),
+ ],
+ q(egyptian pound) => [
+ q(0054),
+ q(0),
+ ],
+ q(el salvador colon) => [
+ q(0055),
+ q(0),
+ ],
+ q(ethiopian birr) => [
+ q(0057),
+ q(0),
+ ],
+ q(euro) => [
+ q(0002),
+ q(0),
+ ],
+ q(falkland islands pound) => [
+ q(0058),
+ q(0),
+ ],
+ q(fiji dollar) => [
+ q(0059),
+ q(0),
+ ],
+ q(forint) => [
+ q(0072),
+ q(0),
+ ],
+ q(ghana cedi) => [
+ q(0063),
+ q(0),
+ ],
+ q(gibraltar pound) => [
+ q(0064),
+ q(0),
+ ],
+ q(gold) => [
+ q(0176),
+ q(0),
+ ],
+ q(gourde) => [
+ q(0069),
+ q(0),
+ ],
+ q(guarani) => [
+ q(0121),
+ q(0),
+ ],
+ q(guinea franc) => [
+ q(0067),
+ q(0),
+ ],
+ q(guyana dollar) => [
+ q(0068),
+ q(0),
+ ],
+ q(hong kong dollar) => [
+ q(0071),
+ q(0),
+ ],
+ q(hryvnia) => [
+ q(0159),
+ q(0),
+ ],
+ q(iceland krona) => [
+ q(0073),
+ q(0),
+ ],
+ q(indian rupee) => [
+ q(0022),
+ q(0),
+ ],
+ q(iranian rial) => [
+ q(0076),
+ q(0),
+ ],
+ q(iraqi dinar) => [
+ q(0077),
+ q(0),
+ ],
+ q(jamaican dollar) => [
+ q(0079),
+ q(0),
+ ],
+ q(jordanian dinar) => [
+ q(0081),
+ q(0),
+ ],
+ q(kenyan shilling) => [
+ q(0083),
+ q(0),
+ ],
+ q(kina) => [
+ q(0120),
+ q(0),
+ ],
+ q(kip) => [
+ q(0088),
+ q(0),
+ ],
+ q(kuwaiti dinar) => [
+ q(0086),
+ q(0),
+ ],
+ q(kwacha) => [
+ q(0100),
+ q(0),
+ ],
+ q(kwanza) => [
+ q(0006),
+ q(0),
+ ],
+ q(kyat) => [
+ q(0112),
+ q(0),
+ ],
+ q(lari) => [
+ q(0062),
+ q(0),
+ ],
+ q(latvian lats) => [
+ q(0089),
+ q(0),
+ ],
+ q(lebanese pound) => [
+ q(0090),
+ q(0),
+ ],
+ q(lek) => [
+ q(0003),
+ q(0),
+ ],
+ q(lempira) => [
+ q(0070),
+ q(0),
+ ],
+ q(leone) => [
+ q(0135),
+ q(0),
+ ],
+ q(liberian dollar) => [
+ q(0093),
+ q(0),
+ ],
+ q(libyan dinar) => [
+ q(0094),
+ q(0),
+ ],
+ q(lilangeni) => [
+ q(0144),
+ q(0),
+ ],
+ q(lithuanian litas) => [
+ q(0096),
+ q(0),
+ ],
+ q(loti) => [
+ q(0091),
+ q(0),
+ ],
+ q(malagasy ariary) => [
+ q(0099),
+ q(0),
+ ],
+ q(malaysian ringgit) => [
+ q(0101),
+ q(0),
+ ],
+ q(mauritius rupee) => [
+ q(0104),
+ q(0),
+ ],
+ q(mexican peso) => [
+ q(0106),
+ q(0),
+ ],
+ q(mexican unidad de inversion (udi)) => [
+ q(0107),
+ q(0),
+ ],
+ q(moldovan leu) => [
+ q(0108),
+ q(0),
+ ],
+ q(moroccan dirham) => [
+ q(0110),
+ q(0),
+ ],
+ q(mozambique metical) => [
+ q(0111),
+ q(0),
+ ],
+ q(mvdol) => [
+ q(0024),
+ q(0),
+ ],
+ q(naira) => [
+ q(0116),
+ q(0),
+ ],
+ q(nakfa) => [
+ q(0056),
+ q(0),
+ ],
+ q(namibia dollar) => [
+ q(0113),
+ q(0),
+ ],
+ q(nepalese rupee) => [
+ q(0114),
+ q(0),
+ ],
+ q(netherlands antillean guilder) => [
+ q(0049),
+ q(0),
+ ],
+ q(new israeli sheqel) => [
+ q(0078),
+ q(0),
+ ],
+ q(new romanian leu) => [
+ q(0126),
+ q(0),
+ ],
+ q(new taiwan dollar) => [
+ q(0149),
+ q(0),
+ ],
+ q(new zealand dollar) => [
+ q(0044),
+ q(0),
+ ],
+ q(ngultrum) => [
+ q(0021),
+ q(0),
+ ],
+ q(north korean won) => [
+ q(0084),
+ q(0),
+ ],
+ q(norwegian krone) => [
+ q(0027),
+ q(0),
+ ],
+ q(nuevo sol) => [
+ q(0122),
+ q(0),
+ ],
+ q(ouguiya) => [
+ q(0103),
+ q(0),
+ ],
+ q(pa'anga) => [
+ q(0153),
+ q(0),
+ ],
+ q(pakistan rupee) => [
+ q(0118),
+ q(0),
+ ],
+ q(palladium) => [
+ q(0177),
+ q(0),
+ ],
+ q(pataca) => [
+ q(0097),
+ q(0),
+ ],
+ q(peso convertible) => [
+ q(0047),
+ q(0),
+ ],
+ q(peso uruguayo) => [
+ q(0164),
+ q(0),
+ ],
+ q(philippine peso) => [
+ q(0123),
+ q(0),
+ ],
+ q(platinum) => [
+ q(0178),
+ q(0),
+ ],
+ q(pound sterling) => [
+ q(0066),
+ q(0),
+ ],
+ q(pula) => [
+ q(0026),
+ q(0),
+ ],
+ q(qatari rial) => [
+ q(0125),
+ q(0),
+ ],
+ q(quetzal) => [
+ q(0065),
+ q(0),
+ ],
+ q(rand) => [
+ q(0092),
+ q(0),
+ ],
+ q(rial omani) => [
+ q(0117),
+ q(0),
+ ],
+ q(riel) => [
+ q(0032),
+ q(0),
+ ],
+ q(rufiyaa) => [
+ q(0102),
+ q(0),
+ ],
+ q(rupiah) => [
+ q(0074),
+ q(0),
+ ],
+ q(russian ruble) => [
+ q(0127),
+ q(0),
+ ],
+ q(rwanda franc) => [
+ q(0128),
+ q(0),
+ ],
+ q(saint helena pound) => [
+ q(0129),
+ q(0),
+ ],
+ q(saudi riyal) => [
+ q(0132),
+ q(0),
+ ],
+ q(sdr (special drawing right)) => [
+ q(0075),
+ q(0),
+ ],
+ q(serbian dinar) => [
+ q(0133),
+ q(0),
+ ],
+ q(seychelles rupee) => [
+ q(0134),
+ q(0),
+ ],
+ q(silver) => [
+ q(0179),
+ q(0),
+ ],
+ q(singapore dollar) => [
+ q(0136),
+ q(0),
+ ],
+ q(solomon islands dollar) => [
+ q(0138),
+ q(0),
+ ],
+ q(som) => [
+ q(0087),
+ q(0),
+ ],
+ q(somali shilling) => [
+ q(0139),
+ q(0),
+ ],
+ q(somoni) => [
+ q(0150),
+ q(0),
+ ],
+ q(south sudanese pound) => [
+ q(0140),
+ q(0),
+ ],
+ q(sri lanka rupee) => [
+ q(0141),
+ q(0),
+ ],
+ q(sucre) => [
+ q(0137),
+ q(0),
+ ],
+ q(sudanese pound) => [
+ q(0142),
+ q(0),
+ ],
+ q(surinam dollar) => [
+ q(0143),
+ q(0),
+ ],
+ q(swedish krona) => [
+ q(0145),
+ q(0),
+ ],
+ q(swiss franc) => [
+ q(0095),
+ q(0),
+ ],
+ q(syrian pound) => [
+ q(0148),
+ q(0),
+ ],
+ q(taka) => [
+ q(0015),
+ q(0),
+ ],
+ q(tala) => [
+ q(0130),
+ q(0),
+ ],
+ q(tanzanian shilling) => [
+ q(0151),
+ q(0),
+ ],
+ q(tenge) => [
+ q(0082),
+ q(0),
+ ],
+ q(trinidad and tobago dollar) => [
+ q(0154),
+ q(0),
+ ],
+ q(tugrik) => [
+ q(0109),
+ q(0),
+ ],
+ q(tunisian dinar) => [
+ q(0155),
+ q(0),
+ ],
+ q(turkish lira) => [
+ q(0156),
+ q(0),
+ ],
+ q(turkmenistan new manat) => [
+ q(0157),
+ q(0),
+ ],
+ q(uae dirham) => [
+ q(0160),
+ q(0),
+ ],
+ q(uganda shilling) => [
+ q(0158),
+ q(0),
+ ],
+ q(unidad de valor real) => [
+ q(0041),
+ q(0),
+ ],
+ q(unidades de fomento) => [
+ q(0037),
+ q(0),
+ ],
+ q(uruguay peso en unidades indexadas (uruiurui)) => [
+ q(0163),
+ q(0),
+ ],
+ q(us dollar) => [
+ q(0005),
+ q(0),
+ ],
+ q(us dollar (next day)) => [
+ q(0161),
+ q(0),
+ ],
+ q(us dollar (same day)) => [
+ q(0162),
+ q(0),
+ ],
+ q(uzbekistan sum) => [
+ q(0165),
+ q(0),
+ ],
+ q(vatu) => [
+ q(0166),
+ q(0),
+ ],
+ q(wir euro) => [
+ q(0146),
+ q(0),
+ ],
+ q(wir franc) => [
+ q(0147),
+ q(0),
+ ],
+ q(won) => [
+ q(0085),
+ q(0),
+ ],
+ q(yemeni rial) => [
+ q(0169),
+ q(0),
+ ],
+ q(yen) => [
+ q(0080),
+ q(0),
+ ],
+ q(yuan renminbi) => [
+ q(0039),
+ q(0),
+ ],
+ q(zambian kwacha) => [
+ q(0170),
+ q(0),
+ ],
+ q(zimbabwe dollar) => [
+ q(0171),
+ q(0),
+ ],
+ q(zloty) => [
+ q(0124),
+ q(0),
+ ],
+};
+
+$Locale::Codes::Data{'currency'}{'code2id'} = {
+ q(alpha) => {
+ q(AED) => [
+ q(0160),
+ q(0),
+ ],
+ q(AFN) => [
+ q(0001),
+ q(0),
+ ],
+ q(ALL) => [
+ q(0003),
+ q(0),
+ ],
+ q(AMD) => [
+ q(0009),
+ q(0),
+ ],
+ q(ANG) => [
+ q(0049),
+ q(0),
+ ],
+ q(AOA) => [
+ q(0006),
+ q(0),
+ ],
+ q(ARS) => [
+ q(0008),
+ q(0),
+ ],
+ q(AUD) => [
+ q(0011),
+ q(0),
+ ],
+ q(AWG) => [
+ q(0010),
+ q(0),
+ ],
+ q(AZN) => [
+ q(0012),
+ q(0),
+ ],
+ q(BAM) => [
+ q(0025),
+ q(0),
+ ],
+ q(BBD) => [
+ q(0016),
+ q(0),
+ ],
+ q(BDT) => [
+ q(0015),
+ q(0),
+ ],
+ q(BGN) => [
+ q(0030),
+ q(0),
+ ],
+ q(BHD) => [
+ q(0014),
+ q(0),
+ ],
+ q(BIF) => [
+ q(0031),
+ q(0),
+ ],
+ q(BMD) => [
+ q(0020),
+ q(0),
+ ],
+ q(BND) => [
+ q(0029),
+ q(0),
+ ],
+ q(BOB) => [
+ q(0023),
+ q(0),
+ ],
+ q(BOV) => [
+ q(0024),
+ q(0),
+ ],
+ q(BRL) => [
+ q(0028),
+ q(0),
+ ],
+ q(BSD) => [
+ q(0013),
+ q(0),
+ ],
+ q(BTN) => [
+ q(0021),
+ q(0),
+ ],
+ q(BWP) => [
+ q(0026),
+ q(0),
+ ],
+ q(BYR) => [
+ q(0017),
+ q(0),
+ ],
+ q(BZD) => [
+ q(0018),
+ q(0),
+ ],
+ q(CAD) => [
+ q(0034),
+ q(0),
+ ],
+ q(CDF) => [
+ q(0043),
+ q(0),
+ ],
+ q(CHE) => [
+ q(0146),
+ q(0),
+ ],
+ q(CHF) => [
+ q(0095),
+ q(0),
+ ],
+ q(CHW) => [
+ q(0147),
+ q(0),
+ ],
+ q(CLF) => [
+ q(0037),
+ q(0),
+ ],
+ q(CLP) => [
+ q(0038),
+ q(0),
+ ],
+ q(CNY) => [
+ q(0039),
+ q(0),
+ ],
+ q(COP) => [
+ q(0040),
+ q(0),
+ ],
+ q(COU) => [
+ q(0041),
+ q(0),
+ ],
+ q(CRC) => [
+ q(0045),
+ q(0),
+ ],
+ q(CUC) => [
+ q(0047),
+ q(0),
+ ],
+ q(CUP) => [
+ q(0048),
+ q(0),
+ ],
+ q(CVE) => [
+ q(0035),
+ q(0),
+ ],
+ q(CZK) => [
+ q(0050),
+ q(0),
+ ],
+ q(DJF) => [
+ q(0052),
+ q(0),
+ ],
+ q(DKK) => [
+ q(0051),
+ q(0),
+ ],
+ q(DOP) => [
+ q(0053),
+ q(0),
+ ],
+ q(DZD) => [
+ q(0004),
+ q(0),
+ ],
+ q(EGP) => [
+ q(0054),
+ q(0),
+ ],
+ q(ERN) => [
+ q(0056),
+ q(0),
+ ],
+ q(ETB) => [
+ q(0057),
+ q(0),
+ ],
+ q(EUR) => [
+ q(0002),
+ q(0),
+ ],
+ q(FJD) => [
+ q(0059),
+ q(0),
+ ],
+ q(FKP) => [
+ q(0058),
+ q(0),
+ ],
+ q(GBP) => [
+ q(0066),
+ q(0),
+ ],
+ q(GEL) => [
+ q(0062),
+ q(0),
+ ],
+ q(GHS) => [
+ q(0063),
+ q(0),
+ ],
+ q(GIP) => [
+ q(0064),
+ q(0),
+ ],
+ q(GMD) => [
+ q(0061),
+ q(0),
+ ],
+ q(GNF) => [
+ q(0067),
+ q(0),
+ ],
+ q(GTQ) => [
+ q(0065),
+ q(0),
+ ],
+ q(GYD) => [
+ q(0068),
+ q(0),
+ ],
+ q(HKD) => [
+ q(0071),
+ q(0),
+ ],
+ q(HNL) => [
+ q(0070),
+ q(0),
+ ],
+ q(HRK) => [
+ q(0046),
+ q(0),
+ ],
+ q(HTG) => [
+ q(0069),
+ q(0),
+ ],
+ q(HUF) => [
+ q(0072),
+ q(0),
+ ],
+ q(IDR) => [
+ q(0074),
+ q(0),
+ ],
+ q(ILS) => [
+ q(0078),
+ q(0),
+ ],
+ q(INR) => [
+ q(0022),
+ q(0),
+ ],
+ q(IQD) => [
+ q(0077),
+ q(0),
+ ],
+ q(IRR) => [
+ q(0076),
+ q(0),
+ ],
+ q(ISK) => [
+ q(0073),
+ q(0),
+ ],
+ q(JMD) => [
+ q(0079),
+ q(0),
+ ],
+ q(JOD) => [
+ q(0081),
+ q(0),
+ ],
+ q(JPY) => [
+ q(0080),
+ q(0),
+ ],
+ q(KES) => [
+ q(0083),
+ q(0),
+ ],
+ q(KGS) => [
+ q(0087),
+ q(0),
+ ],
+ q(KHR) => [
+ q(0032),
+ q(0),
+ ],
+ q(KMF) => [
+ q(0042),
+ q(0),
+ ],
+ q(KPW) => [
+ q(0084),
+ q(0),
+ ],
+ q(KRW) => [
+ q(0085),
+ q(0),
+ ],
+ q(KWD) => [
+ q(0086),
+ q(0),
+ ],
+ q(KYD) => [
+ q(0036),
+ q(0),
+ ],
+ q(KZT) => [
+ q(0082),
+ q(0),
+ ],
+ q(LAK) => [
+ q(0088),
+ q(0),
+ ],
+ q(LBP) => [
+ q(0090),
+ q(0),
+ ],
+ q(LKR) => [
+ q(0141),
+ q(0),
+ ],
+ q(LRD) => [
+ q(0093),
+ q(0),
+ ],
+ q(LSL) => [
+ q(0091),
+ q(0),
+ ],
+ q(LTL) => [
+ q(0096),
+ q(0),
+ ],
+ q(LVL) => [
+ q(0089),
+ q(0),
+ ],
+ q(LYD) => [
+ q(0094),
+ q(0),
+ ],
+ q(MAD) => [
+ q(0110),
+ q(0),
+ ],
+ q(MDL) => [
+ q(0108),
+ q(0),
+ ],
+ q(MGA) => [
+ q(0099),
+ q(0),
+ ],
+ q(MKD) => [
+ q(0098),
+ q(0),
+ ],
+ q(MMK) => [
+ q(0112),
+ q(0),
+ ],
+ q(MNT) => [
+ q(0109),
+ q(0),
+ ],
+ q(MOP) => [
+ q(0097),
+ q(0),
+ ],
+ q(MRO) => [
+ q(0103),
+ q(0),
+ ],
+ q(MUR) => [
+ q(0104),
+ q(0),
+ ],
+ q(MVR) => [
+ q(0102),
+ q(0),
+ ],
+ q(MWK) => [
+ q(0100),
+ q(0),
+ ],
+ q(MXN) => [
+ q(0106),
+ q(0),
+ ],
+ q(MXV) => [
+ q(0107),
+ q(0),
+ ],
+ q(MYR) => [
+ q(0101),
+ q(0),
+ ],
+ q(MZN) => [
+ q(0111),
+ q(0),
+ ],
+ q(NAD) => [
+ q(0113),
+ q(0),
+ ],
+ q(NGN) => [
+ q(0116),
+ q(0),
+ ],
+ q(NIO) => [
+ q(0115),
+ q(0),
+ ],
+ q(NOK) => [
+ q(0027),
+ q(0),
+ ],
+ q(NPR) => [
+ q(0114),
+ q(0),
+ ],
+ q(NZD) => [
+ q(0044),
+ q(0),
+ ],
+ q(OMR) => [
+ q(0117),
+ q(0),
+ ],
+ q(PAB) => [
+ q(0119),
+ q(0),
+ ],
+ q(PEN) => [
+ q(0122),
+ q(0),
+ ],
+ q(PGK) => [
+ q(0120),
+ q(0),
+ ],
+ q(PHP) => [
+ q(0123),
+ q(0),
+ ],
+ q(PKR) => [
+ q(0118),
+ q(0),
+ ],
+ q(PLN) => [
+ q(0124),
+ q(0),
+ ],
+ q(PYG) => [
+ q(0121),
+ q(0),
+ ],
+ q(QAR) => [
+ q(0125),
+ q(0),
+ ],
+ q(RON) => [
+ q(0126),
+ q(0),
+ ],
+ q(RSD) => [
+ q(0133),
+ q(0),
+ ],
+ q(RUB) => [
+ q(0127),
+ q(0),
+ ],
+ q(RWF) => [
+ q(0128),
+ q(0),
+ ],
+ q(SAR) => [
+ q(0132),
+ q(0),
+ ],
+ q(SBD) => [
+ q(0138),
+ q(0),
+ ],
+ q(SCR) => [
+ q(0134),
+ q(0),
+ ],
+ q(SDG) => [
+ q(0142),
+ q(0),
+ ],
+ q(SEK) => [
+ q(0145),
+ q(0),
+ ],
+ q(SGD) => [
+ q(0136),
+ q(0),
+ ],
+ q(SHP) => [
+ q(0129),
+ q(0),
+ ],
+ q(SLL) => [
+ q(0135),
+ q(0),
+ ],
+ q(SOS) => [
+ q(0139),
+ q(0),
+ ],
+ q(SRD) => [
+ q(0143),
+ q(0),
+ ],
+ q(SSP) => [
+ q(0140),
+ q(0),
+ ],
+ q(STD) => [
+ q(0131),
+ q(0),
+ ],
+ q(SVC) => [
+ q(0055),
+ q(0),
+ ],
+ q(SYP) => [
+ q(0148),
+ q(0),
+ ],
+ q(SZL) => [
+ q(0144),
+ q(0),
+ ],
+ q(THB) => [
+ q(0152),
+ q(0),
+ ],
+ q(TJS) => [
+ q(0150),
+ q(0),
+ ],
+ q(TMT) => [
+ q(0157),
+ q(0),
+ ],
+ q(TND) => [
+ q(0155),
+ q(0),
+ ],
+ q(TOP) => [
+ q(0153),
+ q(0),
+ ],
+ q(TRY) => [
+ q(0156),
+ q(0),
+ ],
+ q(TTD) => [
+ q(0154),
+ q(0),
+ ],
+ q(TWD) => [
+ q(0149),
+ q(0),
+ ],
+ q(TZS) => [
+ q(0151),
+ q(0),
+ ],
+ q(UAH) => [
+ q(0159),
+ q(0),
+ ],
+ q(UGX) => [
+ q(0158),
+ q(0),
+ ],
+ q(USD) => [
+ q(0005),
+ q(0),
+ ],
+ q(USN) => [
+ q(0161),
+ q(0),
+ ],
+ q(USS) => [
+ q(0162),
+ q(0),
+ ],
+ q(UYI) => [
+ q(0163),
+ q(0),
+ ],
+ q(UYU) => [
+ q(0164),
+ q(0),
+ ],
+ q(UZS) => [
+ q(0165),
+ q(0),
+ ],
+ q(VEF) => [
+ q(0167),
+ q(0),
+ ],
+ q(VND) => [
+ q(0168),
+ q(0),
+ ],
+ q(VUV) => [
+ q(0166),
+ q(0),
+ ],
+ q(WST) => [
+ q(0130),
+ q(0),
+ ],
+ q(XAF) => [
+ q(0033),
+ q(0),
+ ],
+ q(XAG) => [
+ q(0179),
+ q(0),
+ ],
+ q(XAU) => [
+ q(0176),
+ q(0),
+ ],
+ q(XBA) => [
+ q(0172),
+ q(0),
+ ],
+ q(XBB) => [
+ q(0173),
+ q(0),
+ ],
+ q(XBC) => [
+ q(0174),
+ q(0),
+ ],
+ q(XBD) => [
+ q(0175),
+ q(0),
+ ],
+ q(XCD) => [
+ q(0007),
+ q(0),
+ ],
+ q(XDR) => [
+ q(0075),
+ q(0),
+ ],
+ q(XOF) => [
+ q(0019),
+ q(0),
+ ],
+ q(XPD) => [
+ q(0177),
+ q(0),
+ ],
+ q(XPF) => [
+ q(0060),
+ q(0),
+ ],
+ q(XPT) => [
+ q(0178),
+ q(0),
+ ],
+ q(XSU) => [
+ q(0137),
+ q(0),
+ ],
+ q(XUA) => [
+ q(0105),
+ q(0),
+ ],
+ q(YER) => [
+ q(0169),
+ q(0),
+ ],
+ q(ZAR) => [
+ q(0092),
+ q(0),
+ ],
+ q(ZMK) => [
+ q(0170),
+ q(0),
+ ],
+ q(ZWL) => [
+ q(0171),
+ q(0),
+ ],
+ },
+ q(num) => {
+ q(008) => [
+ q(0003),
+ q(0),
+ ],
+ q(012) => [
+ q(0004),
+ q(0),
+ ],
+ q(032) => [
+ q(0008),
+ q(0),
+ ],
+ q(036) => [
+ q(0011),
+ q(0),
+ ],
+ q(044) => [
+ q(0013),
+ q(0),
+ ],
+ q(048) => [
+ q(0014),
+ q(0),
+ ],
+ q(050) => [
+ q(0015),
+ q(0),
+ ],
+ q(051) => [
+ q(0009),
+ q(0),
+ ],
+ q(052) => [
+ q(0016),
+ q(0),
+ ],
+ q(060) => [
+ q(0020),
+ q(0),
+ ],
+ q(064) => [
+ q(0021),
+ q(0),
+ ],
+ q(068) => [
+ q(0023),
+ q(0),
+ ],
+ q(072) => [
+ q(0026),
+ q(0),
+ ],
+ q(084) => [
+ q(0018),
+ q(0),
+ ],
+ q(090) => [
+ q(0138),
+ q(0),
+ ],
+ q(096) => [
+ q(0029),
+ q(0),
+ ],
+ q(104) => [
+ q(0112),
+ q(0),
+ ],
+ q(108) => [
+ q(0031),
+ q(0),
+ ],
+ q(116) => [
+ q(0032),
+ q(0),
+ ],
+ q(124) => [
+ q(0034),
+ q(0),
+ ],
+ q(132) => [
+ q(0035),
+ q(0),
+ ],
+ q(136) => [
+ q(0036),
+ q(0),
+ ],
+ q(144) => [
+ q(0141),
+ q(0),
+ ],
+ q(152) => [
+ q(0038),
+ q(0),
+ ],
+ q(156) => [
+ q(0039),
+ q(0),
+ ],
+ q(170) => [
+ q(0040),
+ q(0),
+ ],
+ q(174) => [
+ q(0042),
+ q(0),
+ ],
+ q(188) => [
+ q(0045),
+ q(0),
+ ],
+ q(191) => [
+ q(0046),
+ q(0),
+ ],
+ q(192) => [
+ q(0048),
+ q(0),
+ ],
+ q(203) => [
+ q(0050),
+ q(0),
+ ],
+ q(208) => [
+ q(0051),
+ q(0),
+ ],
+ q(214) => [
+ q(0053),
+ q(0),
+ ],
+ q(222) => [
+ q(0055),
+ q(0),
+ ],
+ q(230) => [
+ q(0057),
+ q(0),
+ ],
+ q(232) => [
+ q(0056),
+ q(0),
+ ],
+ q(238) => [
+ q(0058),
+ q(0),
+ ],
+ q(242) => [
+ q(0059),
+ q(0),
+ ],
+ q(262) => [
+ q(0052),
+ q(0),
+ ],
+ q(270) => [
+ q(0061),
+ q(0),
+ ],
+ q(292) => [
+ q(0064),
+ q(0),
+ ],
+ q(320) => [
+ q(0065),
+ q(0),
+ ],
+ q(324) => [
+ q(0067),
+ q(0),
+ ],
+ q(328) => [
+ q(0068),
+ q(0),
+ ],
+ q(332) => [
+ q(0069),
+ q(0),
+ ],
+ q(340) => [
+ q(0070),
+ q(0),
+ ],
+ q(344) => [
+ q(0071),
+ q(0),
+ ],
+ q(348) => [
+ q(0072),
+ q(0),
+ ],
+ q(352) => [
+ q(0073),
+ q(0),
+ ],
+ q(356) => [
+ q(0022),
+ q(0),
+ ],
+ q(360) => [
+ q(0074),
+ q(0),
+ ],
+ q(364) => [
+ q(0076),
+ q(0),
+ ],
+ q(368) => [
+ q(0077),
+ q(0),
+ ],
+ q(376) => [
+ q(0078),
+ q(0),
+ ],
+ q(388) => [
+ q(0079),
+ q(0),
+ ],
+ q(392) => [
+ q(0080),
+ q(0),
+ ],
+ q(398) => [
+ q(0082),
+ q(0),
+ ],
+ q(400) => [
+ q(0081),
+ q(0),
+ ],
+ q(404) => [
+ q(0083),
+ q(0),
+ ],
+ q(408) => [
+ q(0084),
+ q(0),
+ ],
+ q(410) => [
+ q(0085),
+ q(0),
+ ],
+ q(414) => [
+ q(0086),
+ q(0),
+ ],
+ q(417) => [
+ q(0087),
+ q(0),
+ ],
+ q(418) => [
+ q(0088),
+ q(0),
+ ],
+ q(422) => [
+ q(0090),
+ q(0),
+ ],
+ q(426) => [
+ q(0091),
+ q(0),
+ ],
+ q(428) => [
+ q(0089),
+ q(0),
+ ],
+ q(430) => [
+ q(0093),
+ q(0),
+ ],
+ q(434) => [
+ q(0094),
+ q(0),
+ ],
+ q(440) => [
+ q(0096),
+ q(0),
+ ],
+ q(446) => [
+ q(0097),
+ q(0),
+ ],
+ q(454) => [
+ q(0100),
+ q(0),
+ ],
+ q(458) => [
+ q(0101),
+ q(0),
+ ],
+ q(462) => [
+ q(0102),
+ q(0),
+ ],
+ q(478) => [
+ q(0103),
+ q(0),
+ ],
+ q(480) => [
+ q(0104),
+ q(0),
+ ],
+ q(484) => [
+ q(0106),
+ q(0),
+ ],
+ q(496) => [
+ q(0109),
+ q(0),
+ ],
+ q(498) => [
+ q(0108),
+ q(0),
+ ],
+ q(504) => [
+ q(0110),
+ q(0),
+ ],
+ q(512) => [
+ q(0117),
+ q(0),
+ ],
+ q(516) => [
+ q(0113),
+ q(0),
+ ],
+ q(524) => [
+ q(0114),
+ q(0),
+ ],
+ q(532) => [
+ q(0049),
+ q(0),
+ ],
+ q(533) => [
+ q(0010),
+ q(0),
+ ],
+ q(548) => [
+ q(0166),
+ q(0),
+ ],
+ q(554) => [
+ q(0044),
+ q(0),
+ ],
+ q(558) => [
+ q(0115),
+ q(0),
+ ],
+ q(566) => [
+ q(0116),
+ q(0),
+ ],
+ q(578) => [
+ q(0027),
+ q(0),
+ ],
+ q(586) => [
+ q(0118),
+ q(0),
+ ],
+ q(590) => [
+ q(0119),
+ q(0),
+ ],
+ q(598) => [
+ q(0120),
+ q(0),
+ ],
+ q(600) => [
+ q(0121),
+ q(0),
+ ],
+ q(604) => [
+ q(0122),
+ q(0),
+ ],
+ q(608) => [
+ q(0123),
+ q(0),
+ ],
+ q(634) => [
+ q(0125),
+ q(0),
+ ],
+ q(643) => [
+ q(0127),
+ q(0),
+ ],
+ q(646) => [
+ q(0128),
+ q(0),
+ ],
+ q(654) => [
+ q(0129),
+ q(0),
+ ],
+ q(678) => [
+ q(0131),
+ q(0),
+ ],
+ q(682) => [
+ q(0132),
+ q(0),
+ ],
+ q(690) => [
+ q(0134),
+ q(0),
+ ],
+ q(694) => [
+ q(0135),
+ q(0),
+ ],
+ q(702) => [
+ q(0136),
+ q(0),
+ ],
+ q(704) => [
+ q(0168),
+ q(0),
+ ],
+ q(706) => [
+ q(0139),
+ q(0),
+ ],
+ q(710) => [
+ q(0092),
+ q(0),
+ ],
+ q(728) => [
+ q(0140),
+ q(0),
+ ],
+ q(748) => [
+ q(0144),
+ q(0),
+ ],
+ q(752) => [
+ q(0145),
+ q(0),
+ ],
+ q(756) => [
+ q(0095),
+ q(0),
+ ],
+ q(760) => [
+ q(0148),
+ q(0),
+ ],
+ q(764) => [
+ q(0152),
+ q(0),
+ ],
+ q(776) => [
+ q(0153),
+ q(0),
+ ],
+ q(780) => [
+ q(0154),
+ q(0),
+ ],
+ q(784) => [
+ q(0160),
+ q(0),
+ ],
+ q(788) => [
+ q(0155),
+ q(0),
+ ],
+ q(800) => [
+ q(0158),
+ q(0),
+ ],
+ q(807) => [
+ q(0098),
+ q(0),
+ ],
+ q(818) => [
+ q(0054),
+ q(0),
+ ],
+ q(826) => [
+ q(0066),
+ q(0),
+ ],
+ q(834) => [
+ q(0151),
+ q(0),
+ ],
+ q(840) => [
+ q(0005),
+ q(0),
+ ],
+ q(858) => [
+ q(0164),
+ q(0),
+ ],
+ q(860) => [
+ q(0165),
+ q(0),
+ ],
+ q(882) => [
+ q(0130),
+ q(0),
+ ],
+ q(886) => [
+ q(0169),
+ q(0),
+ ],
+ q(894) => [
+ q(0170),
+ q(0),
+ ],
+ q(901) => [
+ q(0149),
+ q(0),
+ ],
+ q(931) => [
+ q(0047),
+ q(0),
+ ],
+ q(932) => [
+ q(0171),
+ q(0),
+ ],
+ q(934) => [
+ q(0157),
+ q(0),
+ ],
+ q(936) => [
+ q(0063),
+ q(0),
+ ],
+ q(937) => [
+ q(0167),
+ q(0),
+ ],
+ q(938) => [
+ q(0142),
+ q(0),
+ ],
+ q(940) => [
+ q(0163),
+ q(0),
+ ],
+ q(941) => [
+ q(0133),
+ q(0),
+ ],
+ q(943) => [
+ q(0111),
+ q(0),
+ ],
+ q(944) => [
+ q(0012),
+ q(0),
+ ],
+ q(946) => [
+ q(0126),
+ q(0),
+ ],
+ q(947) => [
+ q(0146),
+ q(0),
+ ],
+ q(948) => [
+ q(0147),
+ q(0),
+ ],
+ q(949) => [
+ q(0156),
+ q(0),
+ ],
+ q(950) => [
+ q(0033),
+ q(0),
+ ],
+ q(951) => [
+ q(0007),
+ q(0),
+ ],
+ q(952) => [
+ q(0019),
+ q(0),
+ ],
+ q(953) => [
+ q(0060),
+ q(0),
+ ],
+ q(955) => [
+ q(0172),
+ q(0),
+ ],
+ q(956) => [
+ q(0173),
+ q(0),
+ ],
+ q(957) => [
+ q(0174),
+ q(0),
+ ],
+ q(958) => [
+ q(0175),
+ q(0),
+ ],
+ q(959) => [
+ q(0176),
+ q(0),
+ ],
+ q(960) => [
+ q(0075),
+ q(0),
+ ],
+ q(961) => [
+ q(0179),
+ q(0),
+ ],
+ q(962) => [
+ q(0178),
+ q(0),
+ ],
+ q(964) => [
+ q(0177),
+ q(0),
+ ],
+ q(965) => [
+ q(0105),
+ q(0),
+ ],
+ q(968) => [
+ q(0143),
+ q(0),
+ ],
+ q(969) => [
+ q(0099),
+ q(0),
+ ],
+ q(970) => [
+ q(0041),
+ q(0),
+ ],
+ q(971) => [
+ q(0001),
+ q(0),
+ ],
+ q(972) => [
+ q(0150),
+ q(0),
+ ],
+ q(973) => [
+ q(0006),
+ q(0),
+ ],
+ q(974) => [
+ q(0017),
+ q(0),
+ ],
+ q(975) => [
+ q(0030),
+ q(0),
+ ],
+ q(976) => [
+ q(0043),
+ q(0),
+ ],
+ q(977) => [
+ q(0025),
+ q(0),
+ ],
+ q(978) => [
+ q(0002),
+ q(0),
+ ],
+ q(979) => [
+ q(0107),
+ q(0),
+ ],
+ q(980) => [
+ q(0159),
+ q(0),
+ ],
+ q(981) => [
+ q(0062),
+ q(0),
+ ],
+ q(984) => [
+ q(0024),
+ q(0),
+ ],
+ q(985) => [
+ q(0124),
+ q(0),
+ ],
+ q(986) => [
+ q(0028),
+ q(0),
+ ],
+ q(990) => [
+ q(0037),
+ q(0),
+ ],
+ q(994) => [
+ q(0137),
+ q(0),
+ ],
+ q(997) => [
+ q(0161),
+ q(0),
+ ],
+ q(998) => [
+ q(0162),
+ q(0),
+ ],
+ },
+};
+
+$Locale::Codes::Data{'currency'}{'id2code'} = {
+ q(alpha) => {
+ q(0001) => q(AFN),
+ q(0002) => q(EUR),
+ q(0003) => q(ALL),
+ q(0004) => q(DZD),
+ q(0005) => q(USD),
+ q(0006) => q(AOA),
+ q(0007) => q(XCD),
+ q(0008) => q(ARS),
+ q(0009) => q(AMD),
+ q(0010) => q(AWG),
+ q(0011) => q(AUD),
+ q(0012) => q(AZN),
+ q(0013) => q(BSD),
+ q(0014) => q(BHD),
+ q(0015) => q(BDT),
+ q(0016) => q(BBD),
+ q(0017) => q(BYR),
+ q(0018) => q(BZD),
+ q(0019) => q(XOF),
+ q(0020) => q(BMD),
+ q(0021) => q(BTN),
+ q(0022) => q(INR),
+ q(0023) => q(BOB),
+ q(0024) => q(BOV),
+ q(0025) => q(BAM),
+ q(0026) => q(BWP),
+ q(0027) => q(NOK),
+ q(0028) => q(BRL),
+ q(0029) => q(BND),
+ q(0030) => q(BGN),
+ q(0031) => q(BIF),
+ q(0032) => q(KHR),
+ q(0033) => q(XAF),
+ q(0034) => q(CAD),
+ q(0035) => q(CVE),
+ q(0036) => q(KYD),
+ q(0037) => q(CLF),
+ q(0038) => q(CLP),
+ q(0039) => q(CNY),
+ q(0040) => q(COP),
+ q(0041) => q(COU),
+ q(0042) => q(KMF),
+ q(0043) => q(CDF),
+ q(0044) => q(NZD),
+ q(0045) => q(CRC),
+ q(0046) => q(HRK),
+ q(0047) => q(CUC),
+ q(0048) => q(CUP),
+ q(0049) => q(ANG),
+ q(0050) => q(CZK),
+ q(0051) => q(DKK),
+ q(0052) => q(DJF),
+ q(0053) => q(DOP),
+ q(0054) => q(EGP),
+ q(0055) => q(SVC),
+ q(0056) => q(ERN),
+ q(0057) => q(ETB),
+ q(0058) => q(FKP),
+ q(0059) => q(FJD),
+ q(0060) => q(XPF),
+ q(0061) => q(GMD),
+ q(0062) => q(GEL),
+ q(0063) => q(GHS),
+ q(0064) => q(GIP),
+ q(0065) => q(GTQ),
+ q(0066) => q(GBP),
+ q(0067) => q(GNF),
+ q(0068) => q(GYD),
+ q(0069) => q(HTG),
+ q(0070) => q(HNL),
+ q(0071) => q(HKD),
+ q(0072) => q(HUF),
+ q(0073) => q(ISK),
+ q(0074) => q(IDR),
+ q(0075) => q(XDR),
+ q(0076) => q(IRR),
+ q(0077) => q(IQD),
+ q(0078) => q(ILS),
+ q(0079) => q(JMD),
+ q(0080) => q(JPY),
+ q(0081) => q(JOD),
+ q(0082) => q(KZT),
+ q(0083) => q(KES),
+ q(0084) => q(KPW),
+ q(0085) => q(KRW),
+ q(0086) => q(KWD),
+ q(0087) => q(KGS),
+ q(0088) => q(LAK),
+ q(0089) => q(LVL),
+ q(0090) => q(LBP),
+ q(0091) => q(LSL),
+ q(0092) => q(ZAR),
+ q(0093) => q(LRD),
+ q(0094) => q(LYD),
+ q(0095) => q(CHF),
+ q(0096) => q(LTL),
+ q(0097) => q(MOP),
+ q(0098) => q(MKD),
+ q(0099) => q(MGA),
+ q(0100) => q(MWK),
+ q(0101) => q(MYR),
+ q(0102) => q(MVR),
+ q(0103) => q(MRO),
+ q(0104) => q(MUR),
+ q(0105) => q(XUA),
+ q(0106) => q(MXN),
+ q(0107) => q(MXV),
+ q(0108) => q(MDL),
+ q(0109) => q(MNT),
+ q(0110) => q(MAD),
+ q(0111) => q(MZN),
+ q(0112) => q(MMK),
+ q(0113) => q(NAD),
+ q(0114) => q(NPR),
+ q(0115) => q(NIO),
+ q(0116) => q(NGN),
+ q(0117) => q(OMR),
+ q(0118) => q(PKR),
+ q(0119) => q(PAB),
+ q(0120) => q(PGK),
+ q(0121) => q(PYG),
+ q(0122) => q(PEN),
+ q(0123) => q(PHP),
+ q(0124) => q(PLN),
+ q(0125) => q(QAR),
+ q(0126) => q(RON),
+ q(0127) => q(RUB),
+ q(0128) => q(RWF),
+ q(0129) => q(SHP),
+ q(0130) => q(WST),
+ q(0131) => q(STD),
+ q(0132) => q(SAR),
+ q(0133) => q(RSD),
+ q(0134) => q(SCR),
+ q(0135) => q(SLL),
+ q(0136) => q(SGD),
+ q(0137) => q(XSU),
+ q(0138) => q(SBD),
+ q(0139) => q(SOS),
+ q(0140) => q(SSP),
+ q(0141) => q(LKR),
+ q(0142) => q(SDG),
+ q(0143) => q(SRD),
+ q(0144) => q(SZL),
+ q(0145) => q(SEK),
+ q(0146) => q(CHE),
+ q(0147) => q(CHW),
+ q(0148) => q(SYP),
+ q(0149) => q(TWD),
+ q(0150) => q(TJS),
+ q(0151) => q(TZS),
+ q(0152) => q(THB),
+ q(0153) => q(TOP),
+ q(0154) => q(TTD),
+ q(0155) => q(TND),
+ q(0156) => q(TRY),
+ q(0157) => q(TMT),
+ q(0158) => q(UGX),
+ q(0159) => q(UAH),
+ q(0160) => q(AED),
+ q(0161) => q(USN),
+ q(0162) => q(USS),
+ q(0163) => q(UYI),
+ q(0164) => q(UYU),
+ q(0165) => q(UZS),
+ q(0166) => q(VUV),
+ q(0167) => q(VEF),
+ q(0168) => q(VND),
+ q(0169) => q(YER),
+ q(0170) => q(ZMK),
+ q(0171) => q(ZWL),
+ q(0172) => q(XBA),
+ q(0173) => q(XBB),
+ q(0174) => q(XBC),
+ q(0175) => q(XBD),
+ q(0176) => q(XAU),
+ q(0177) => q(XPD),
+ q(0178) => q(XPT),
+ q(0179) => q(XAG),
+ },
+ q(num) => {
+ q(0001) => q(971),
+ q(0002) => q(978),
+ q(0003) => q(008),
+ q(0004) => q(012),
+ q(0005) => q(840),
+ q(0006) => q(973),
+ q(0007) => q(951),
+ q(0008) => q(032),
+ q(0009) => q(051),
+ q(0010) => q(533),
+ q(0011) => q(036),
+ q(0012) => q(944),
+ q(0013) => q(044),
+ q(0014) => q(048),
+ q(0015) => q(050),
+ q(0016) => q(052),
+ q(0017) => q(974),
+ q(0018) => q(084),
+ q(0019) => q(952),
+ q(0020) => q(060),
+ q(0021) => q(064),
+ q(0022) => q(356),
+ q(0023) => q(068),
+ q(0024) => q(984),
+ q(0025) => q(977),
+ q(0026) => q(072),
+ q(0027) => q(578),
+ q(0028) => q(986),
+ q(0029) => q(096),
+ q(0030) => q(975),
+ q(0031) => q(108),
+ q(0032) => q(116),
+ q(0033) => q(950),
+ q(0034) => q(124),
+ q(0035) => q(132),
+ q(0036) => q(136),
+ q(0037) => q(990),
+ q(0038) => q(152),
+ q(0039) => q(156),
+ q(0040) => q(170),
+ q(0041) => q(970),
+ q(0042) => q(174),
+ q(0043) => q(976),
+ q(0044) => q(554),
+ q(0045) => q(188),
+ q(0046) => q(191),
+ q(0047) => q(931),
+ q(0048) => q(192),
+ q(0049) => q(532),
+ q(0050) => q(203),
+ q(0051) => q(208),
+ q(0052) => q(262),
+ q(0053) => q(214),
+ q(0054) => q(818),
+ q(0055) => q(222),
+ q(0056) => q(232),
+ q(0057) => q(230),
+ q(0058) => q(238),
+ q(0059) => q(242),
+ q(0060) => q(953),
+ q(0061) => q(270),
+ q(0062) => q(981),
+ q(0063) => q(936),
+ q(0064) => q(292),
+ q(0065) => q(320),
+ q(0066) => q(826),
+ q(0067) => q(324),
+ q(0068) => q(328),
+ q(0069) => q(332),
+ q(0070) => q(340),
+ q(0071) => q(344),
+ q(0072) => q(348),
+ q(0073) => q(352),
+ q(0074) => q(360),
+ q(0075) => q(960),
+ q(0076) => q(364),
+ q(0077) => q(368),
+ q(0078) => q(376),
+ q(0079) => q(388),
+ q(0080) => q(392),
+ q(0081) => q(400),
+ q(0082) => q(398),
+ q(0083) => q(404),
+ q(0084) => q(408),
+ q(0085) => q(410),
+ q(0086) => q(414),
+ q(0087) => q(417),
+ q(0088) => q(418),
+ q(0089) => q(428),
+ q(0090) => q(422),
+ q(0091) => q(426),
+ q(0092) => q(710),
+ q(0093) => q(430),
+ q(0094) => q(434),
+ q(0095) => q(756),
+ q(0096) => q(440),
+ q(0097) => q(446),
+ q(0098) => q(807),
+ q(0099) => q(969),
+ q(0100) => q(454),
+ q(0101) => q(458),
+ q(0102) => q(462),
+ q(0103) => q(478),
+ q(0104) => q(480),
+ q(0105) => q(965),
+ q(0106) => q(484),
+ q(0107) => q(979),
+ q(0108) => q(498),
+ q(0109) => q(496),
+ q(0110) => q(504),
+ q(0111) => q(943),
+ q(0112) => q(104),
+ q(0113) => q(516),
+ q(0114) => q(524),
+ q(0115) => q(558),
+ q(0116) => q(566),
+ q(0117) => q(512),
+ q(0118) => q(586),
+ q(0119) => q(590),
+ q(0120) => q(598),
+ q(0121) => q(600),
+ q(0122) => q(604),
+ q(0123) => q(608),
+ q(0124) => q(985),
+ q(0125) => q(634),
+ q(0126) => q(946),
+ q(0127) => q(643),
+ q(0128) => q(646),
+ q(0129) => q(654),
+ q(0130) => q(882),
+ q(0131) => q(678),
+ q(0132) => q(682),
+ q(0133) => q(941),
+ q(0134) => q(690),
+ q(0135) => q(694),
+ q(0136) => q(702),
+ q(0137) => q(994),
+ q(0138) => q(090),
+ q(0139) => q(706),
+ q(0140) => q(728),
+ q(0141) => q(144),
+ q(0142) => q(938),
+ q(0143) => q(968),
+ q(0144) => q(748),
+ q(0145) => q(752),
+ q(0146) => q(947),
+ q(0147) => q(948),
+ q(0148) => q(760),
+ q(0149) => q(901),
+ q(0150) => q(972),
+ q(0151) => q(834),
+ q(0152) => q(764),
+ q(0153) => q(776),
+ q(0154) => q(780),
+ q(0155) => q(788),
+ q(0156) => q(949),
+ q(0157) => q(934),
+ q(0158) => q(800),
+ q(0159) => q(980),
+ q(0160) => q(784),
+ q(0161) => q(997),
+ q(0162) => q(998),
+ q(0163) => q(940),
+ q(0164) => q(858),
+ q(0165) => q(860),
+ q(0166) => q(548),
+ q(0167) => q(937),
+ q(0168) => q(704),
+ q(0169) => q(886),
+ q(0170) => q(894),
+ q(0171) => q(932),
+ q(0172) => q(955),
+ q(0173) => q(956),
+ q(0174) => q(957),
+ q(0175) => q(958),
+ q(0176) => q(959),
+ q(0177) => q(964),
+ q(0178) => q(962),
+ q(0179) => q(961),
+ },
+};
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Currency_Retired.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Currency_Retired.pm
new file mode 100644
index 00000000000..d5c8e174cc4
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Currency_Retired.pm
@@ -0,0 +1,172 @@
+package Locale::Codes::Currency_Retired;
+
+# This file was automatically generated. Any changes to this file will
+# be lost the next time 'deprecate_codes' is run.
+# Generated on: Thu Mar 1 08:11:47 EST 2012
+
+=pod
+
+=head1 NAME
+
+Locale::Codes::Currency_Retired - retired currency codes for the Locale::Codes::Currency module
+
+=head1 SYNOPSIS
+
+This module contains data used by the Locale::Codes::Currency module. It is
+not intended to be used directly, and contains no calleable routines.
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+require 5.002;
+
+our($VERSION);
+$VERSION='3.21';
+
+$Locale::Codes::Retired{'currency'}{'num'}{'code'} = {
+};
+
+$Locale::Codes::Retired{'currency'}{'alpha'}{'code'} = {
+ q(YUM) => q(New Dinar),
+ q(SKK) => q(Slovak Koruna),
+ q(MTL) => q(Maltese Lira),
+ q(BYB) => q(Belarussian Ruble),
+ q(ATS) => q(Schilling),
+ q(NLG) => q(Netherlands Guilder),
+ q(XB5) => q(European Unit of Account 17),
+ q(CYP) => q(Cyprus Pound),
+ q(AFA) => q(Afghani),
+ q(ZAL) => q(Financial Rand),
+ q(FRF) => q(French Franc),
+ q(EEK) => q(Kroon),
+ q(TMM) => q(Manat),
+ q(ZRN) => q(New Zaire),
+ q(GHC) => q(Cedi),
+ q(XFU) => q(UIC-Franc),
+ q(TJR) => q(Tajik Ruble),
+ q(AZM) => q(Azerbaijanian Manat),
+ q(SRG) => q(Surinam Guilder),
+ q(ESP) => q(Spanish Peseta),
+ q(TPE) => q(Timor Escudo),
+ q(LUF) => q(Luxembourg Franc),
+ q(GWP) => q(Guinea-Bissau Peso),
+ q(BGL) => q(Lev),
+ q(ECV) => q(Unidad de Valor Constante (UVC)),
+ q(PTE) => q(Portuguese Escudo),
+ q(IEP) => q(Irish Pound),
+ q(UAK) => q(Karbovanets),
+ q(ECS) => q(Sucre),
+ q(MZM) => q(Metical),
+ q(RUR) => q(Russian Ruble),
+ q(XFO) => q(Gold-Franc),
+ q(MGF) => q(Malagasy Franc),
+ q(ROL) => q(Leu),
+ q(BEF) => q(Belgian Franc),
+ q(AON) => q(New Kwanza),
+ q(ZWD) => q(Zimbabwe Dollar),
+ q(FIM) => q(Markka),
+ q(SIT) => q(Tolar),
+ q(GRD) => q(Drachma),
+ q(SDD) => q(Sudanese Dinar),
+ q(AOR) => q(Kwanza Reajustado),
+ q(VEB) => q(Bolivar),
+ q(TRL) => q(Turkish Lira),
+ q(ITL) => q(Italian Lira),
+ q(DEM) => q(German Mark),
+ q(XEU) => q(ECU (until 1998-12-31)),
+ q(ADP) => q(Andorran Peseta),
+};
+
+$Locale::Codes::Retired{'currency'}{'num'}{'name'} = {
+ q(new manat) => [ q(934), q(New Manat) ],
+ q(metical) => [ q(943), q(Metical) ],
+ q(cedi) => [ q(936), q(Cedi) ],
+ q(leu) => [ q(946), q(Leu) ],
+};
+
+$Locale::Codes::Retired{'currency'}{'alpha'}{'name'} = {
+ q(irish pound) => [ q(IEP), q(Irish Pound) ],
+ q(netherlands antillian guilder) => [ q(ANG), q(Netherlands Antillian Guilder) ],
+ q(schilling) => [ q(ATS), q(Schilling) ],
+ q(uic-franc) => [ q(XFU), q(UIC-Franc) ],
+ q(netherlands guilder) => [ q(NLG), q(Netherlands Guilder) ],
+ q(mexican nuevo peso) => [ q(MXN), q(Mexican Nuevo Peso) ],
+ q(new kwanza) => [ q(AON), q(New Kwanza) ],
+ q(karbovanets) => [ q(UAK), q(Karbovanets) ],
+ q(european composite unit) => [ q(XBA), q(European Composite Unit) ],
+ q(new manat) => [ q(TMT), q(New Manat) ],
+ q(malagasy franc) => [ q(MGF), q(Malagasy Franc) ],
+ q(ecu (until 1998-12-31)) => [ q(XEU), q(ECU (until 1998-12-31)) ],
+ q(kuna) => [ q(HRK), q(Kuna) ],
+ q(german mark) => [ q(DEM), q(German Mark) ],
+ q(convertible marks) => [ q(BAM), q(Convertible Marks) ],
+ q(lev) => [ q(BGL), q(Lev) ],
+ q(drachma) => [ q(GRD), q(Drachma) ],
+ q(sdr) => [ q(XDR), q(SDR) ],
+ q(bolivar) => [ q(VEB), q(Bolivar) ],
+ q(dinar) => [ q(BHD), q(Dinar) ],
+ q(tunisian dollar) => [ q(TND), q(Tunisian Dollar) ],
+ q(andorran peseta) => [ q(ADP), q(Andorran Peseta) ],
+ q(tajik ruble) => [ q(TJR), q(Tajik Ruble) ],
+ q(metical) => [ q(MZN), q(Metical) ],
+ q(aruban guilder) => [ q(AWG), q(Aruban Guilder) ],
+ q(gold-franc) => [ q(XFO), q(Gold-Franc) ],
+ q(cyprus pound) => [ q(CYP), q(Cyprus Pound) ],
+ q(kwanza reajustado) => [ q(AOR), q(Kwanza Reajustado) ],
+ q(new zaire) => [ q(ZRN), q(New Zaire) ],
+ q(belgian franc) => [ q(BEF), q(Belgian Franc) ],
+ q(sudanese dinar) => [ q(SDD), q(Sudanese Dinar) ],
+ q(manat) => [ q(TMT), q(Manat) ],
+ q(guinea-bissau peso) => [ q(GWP), q(Guinea-Bissau Peso) ],
+ q(european unit of account 9) => [ q(XBC), q(European Unit of Account 9) ],
+ q(european unit of account 9(e.u.a.-9)) => [ q(XBC), q(European Unit of Account 9(E.U.A.-9)) ],
+ q(shekel) => [ q(ILS), q(Shekel) ],
+ q(slovak koruna) => [ q(SKK), q(Slovak Koruna) ],
+ q(portuguese escudo) => [ q(PTE), q(Portuguese Escudo) ],
+ q(bond markets units european composite unit (eurco)) => [ q(XBA), q(Bond Markets Units European Composite Unit (EURCO)) ],
+ q(new dinar) => [ q(YUM), q(New Dinar) ],
+ q(unidades de formento) => [ q(CLF), q(Unidades de Formento) ],
+ q(new leu) => [ q(RON), q(New Leu) ],
+ q(cedi) => [ q(GHS), q(Cedi) ],
+ q(unidad de valor constante (uvc)) => [ q(ECV), q(Unidad de Valor Constante (UVC)) ],
+ q(st. helena pound) => [ q(SHP), q(St. Helena Pound) ],
+ q(european unit of account 17(e.u.a.-17)) => [ q(XBD), q(European Unit of Account 17(E.U.A.-17)) ],
+ q(uruguay peso en unidades indexadas) => [ q(UYI), q(Uruguay Peso en Unidades Indexadas) ],
+ q(timor escudo) => [ q(TPE), q(Timor Escudo) ],
+ q(candian dollar) => [ q(CAD), q(Candian Dollar) ],
+ q(italian lira) => [ q(ITL), q(Italian Lira) ],
+ q(european unit of account 17) => [ q(XB5), q(European Unit of Account 17) ],
+ q(luxembourg franc) => [ q(LUF), q(Luxembourg Franc) ],
+ q(french franc) => [ q(FRF), q(French Franc) ],
+ q(maltese lira) => [ q(MTL), q(Maltese Lira) ],
+ q(markka) => [ q(FIM), q(Markka) ],
+ q(tolar) => [ q(SIT), q(Tolar) ],
+ q(european monetary unit (e.m.u.-6)) => [ q(XBB), q(European Monetary Unit (E.M.U.-6)) ],
+ q(kroon) => [ q(EEK), q(Kroon) ],
+ q(spanish peseta) => [ q(ESP), q(Spanish Peseta) ],
+ q(financial rand) => [ q(ZAL), q(Financial Rand) ],
+ q(bermudian dollar (customarily known as bermuda dollar)) => [ q(BMD), q(Bermudian Dollar (customarily known as Bermuda Dollar)) ],
+ q(surinam guilder) => [ q(SRG), q(Surinam Guilder) ],
+ q(franc congolais) => [ q(CDF), q(Franc Congolais) ],
+ q(european monetary unit) => [ q(XBB), q(European Monetary Unit) ],
+ q(leu) => [ q(RON), q(Leu) ],
+};
+
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt.pm
new file mode 100644
index 00000000000..2817fa7fc57
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt.pm
@@ -0,0 +1,95 @@
+package Locale::Codes::LangExt;
+# Copyright (c) 2011-2012 Sullivan Beck
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+use strict;
+use warnings;
+require 5.002;
+
+require Exporter;
+use Carp;
+use Locale::Codes;
+use Locale::Codes::Constants;
+use Locale::Codes::LangExt_Codes;
+use Locale::Codes::LangExt_Retired;
+
+#=======================================================================
+# Public Global Variables
+#=======================================================================
+
+our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
+
+$VERSION='3.21';
+@ISA = qw(Exporter);
+@EXPORT = qw(code2langext
+ langext2code
+ all_langext_codes
+ all_langext_names
+ langext_code2code
+ LOCALE_LANGEXT_ALPHA
+ );
+
+sub code2langext {
+ return Locale::Codes::_code2name('langext',@_);
+}
+
+sub langext2code {
+ return Locale::Codes::_name2code('langext',@_);
+}
+
+sub langext_code2code {
+ return Locale::Codes::_code2code('langext',@_);
+}
+
+sub all_langext_codes {
+ return Locale::Codes::_all_codes('langext',@_);
+}
+
+sub all_langext_names {
+ return Locale::Codes::_all_names('langext',@_);
+}
+
+sub rename_langext {
+ return Locale::Codes::_rename('langext',@_);
+}
+
+sub add_langext {
+ return Locale::Codes::_add_code('langext',@_);
+}
+
+sub delete_langext {
+ return Locale::Codes::_delete_code('langext',@_);
+}
+
+sub add_langext_alias {
+ return Locale::Codes::_add_alias('langext',@_);
+}
+
+sub delete_langext_alias {
+ return Locale::Codes::_delete_alias('langext',@_);
+}
+
+sub rename_langext_code {
+ return Locale::Codes::_rename_code('langext',@_);
+}
+
+sub add_langext_code_alias {
+ return Locale::Codes::_add_code_alias('langext',@_);
+}
+
+sub delete_langext_code_alias {
+ return Locale::Codes::_delete_code_alias('langext',@_);
+}
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: -2
+# End:
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt.pod
new file mode 100644
index 00000000000..da1421bcb36
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt.pod
@@ -0,0 +1,116 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::LangExt - standard codes for language extension identification
+
+=head1 SYNOPSIS
+
+ use Locale::Codes::LangExt;
+
+ $lext = code2langext('acm'); # $lext gets 'Mesopotamian Arabic'
+ $code = langext2code('Mesopotamian Arabic'); # $code gets 'acm'
+
+ @codes = all_langext_codes();
+ @names = all_langext_names();
+
+=head1 DESCRIPTION
+
+The C<Locale::Codes::LangExt> module provides access to standard codes
+used for identifying language extensions, such as those as defined in
+the IANA language registry.
+
+Most of the routines take an optional additional argument which
+specifies the code set to use. If not specified, the default IANA
+language registry codes will be used.
+
+=head1 SUPPORTED CODE SETS
+
+There are several different code sets you can use for identifying
+language extensions. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $lext = code2langext('acm','alpha');
+ $lext = code2langext('acm',LOCALE_LANGEXT_ALPHA);
+
+The codesets currently supported are:
+
+=over 4
+
+=item B<alpha>
+
+This is the set of three-letter (lowercase) codes from the IANA
+language registry, such as 'acm' for Mesopotamian Arabic.
+
+This is the default code set.
+
+=back
+
+=head1 ROUTINES
+
+=over 4
+
+=item B<code2langext ( CODE [,CODESET] )>
+
+=item B<langext2code ( NAME [,CODESET] )>
+
+=item B<langext_code2code ( CODE ,CODESET ,CODESET2 )>
+
+=item B<all_langext_codes ( [CODESET] )>
+
+=item B<all_langext_names ( [CODESET] )>
+
+=item B<Locale::Codes::LangExt::rename_langext ( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Codes::LangExt::add_langext ( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Codes::LangExt::delete_langext ( CODE [,CODESET] )>
+
+=item B<Locale::Codes::LangExt::add_langext_alias ( NAME ,NEW_NAME )>
+
+=item B<Locale::Codes::LangExt::delete_langext_alias ( NAME )>
+
+=item B<Locale::Codes::LangExt::rename_langext_code ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::LangExt::add_langext_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::LangExt::delete_langext_code_alias ( CODE [,CODESET] )>
+
+These routines are all documented in the Locale::Codes::API man page.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Codes>
+
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
+=item B<http://www.iana.org/assignments/language-subtag-registry>
+
+The IANA language subtag registry.
+
+=back
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 2011-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt_Codes.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt_Codes.pm
new file mode 100644
index 00000000000..a26c9c8674b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt_Codes.pm
@@ -0,0 +1,2825 @@
+package Locale::Codes::LangExt_Codes;
+
+# This file was automatically generated. Any changes to this file will
+# be lost the next time 'get_codes' is run.
+# Generated on: Thu Mar 1 08:07:43 EST 2012
+
+=pod
+
+=head1 NAME
+
+Locale::Codes::LangExt_Codes - langext codes for the Locale::Codes::LangExt module
+
+=head1 SYNOPSIS
+
+This module contains data used by the Locale::Codes::LangExt module. It is
+not intended to be used directly, and contains no calleable routines.
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+require 5.002;
+
+our($VERSION);
+$VERSION='3.21';
+
+$Locale::Codes::Data{'langext'}{'id'} = '0226';
+
+$Locale::Codes::Data{'langext'}{'id2names'} = {
+ q(0001) => [
+ q(Algerian Saharan Arabic),
+ ],
+ q(0002) => [
+ q(Tajiki Arabic),
+ ],
+ q(0003) => [
+ q(Baharna Arabic),
+ ],
+ q(0004) => [
+ q(Mesopotamian Arabic),
+ ],
+ q(0005) => [
+ q(Ta'izzi-Adeni Arabic),
+ ],
+ q(0006) => [
+ q(Hijazi Arabic),
+ ],
+ q(0007) => [
+ q(Omani Arabic),
+ ],
+ q(0008) => [
+ q(Cypriot Arabic),
+ ],
+ q(0009) => [
+ q(Dhofari Arabic),
+ ],
+ q(0010) => [
+ q(Adamorobe Sign Language),
+ ],
+ q(0011) => [
+ q(Tunisian Arabic),
+ ],
+ q(0012) => [
+ q(Saidi Arabic),
+ ],
+ q(0013) => [
+ q(Argentine Sign Language),
+ ],
+ q(0014) => [
+ q(Armenian Sign Language),
+ ],
+ q(0015) => [
+ q(Gulf Arabic),
+ ],
+ q(0016) => [
+ q(Afghan Sign Language),
+ ],
+ q(0017) => [
+ q(South Levantine Arabic),
+ ],
+ q(0018) => [
+ q(North Levantine Arabic),
+ ],
+ q(0019) => [
+ q(Sudanese Arabic),
+ ],
+ q(0020) => [
+ q(Standard Arabic),
+ ],
+ q(0021) => [
+ q(Algerian Arabic),
+ ],
+ q(0022) => [
+ q(Najdi Arabic),
+ ],
+ q(0023) => [
+ q(Moroccan Arabic),
+ ],
+ q(0024) => [
+ q(Egyptian Arabic),
+ ],
+ q(0025) => [
+ q(American Sign Language),
+ ],
+ q(0026) => [
+ q(Australian Sign Language),
+ ],
+ q(0027) => [
+ q(Algerian Sign Language),
+ ],
+ q(0028) => [
+ q(Austrian Sign Language),
+ ],
+ q(0029) => [
+ q(Australian Aborigines Sign Language),
+ ],
+ q(0030) => [
+ q(Uzbeki Arabic),
+ ],
+ q(0031) => [
+ q(Eastern Egyptian Bedawi Arabic),
+ ],
+ q(0032) => [
+ q(Hadrami Arabic),
+ ],
+ q(0033) => [
+ q(Libyan Arabic),
+ ],
+ q(0034) => [
+ q(Sanaani Arabic),
+ ],
+ q(0035) => [
+ q(North Mesopotamian Arabic),
+ ],
+ q(0036) => [
+ q(Babalia Creole Arabic),
+ ],
+ q(0037) => [
+ q(British Sign Language),
+ ],
+ q(0038) => [
+ q(Ban Khor Sign Language),
+ ],
+ q(0039) => [
+ q(Banjar),
+ ],
+ q(0040) => [
+ q(Bamako Sign Language),
+ ],
+ q(0041) => [
+ q(Bulgarian Sign Language),
+ ],
+ q(0042) => [
+ q(Bengkala Sign Language),
+ ],
+ q(0043) => [
+ q(Bacanese Malay),
+ ],
+ q(0044) => [
+ q(Berau Malay),
+ ],
+ q(0045) => [
+ q(Bolivian Sign Language),
+ ],
+ q(0046) => [
+ q(Bukit Malay),
+ ],
+ q(0047) => [
+ q(Brazilian Sign Language),
+ ],
+ q(0048) => [
+ q(Min Dong Chinese),
+ ],
+ q(0049) => [
+ q(Chadian Sign Language),
+ ],
+ q(0050) => [
+ q(Jinyu Chinese),
+ ],
+ q(0051) => [
+ q(Mandarin Chinese),
+ ],
+ q(0052) => [
+ q(Cocos Islands Malay),
+ ],
+ q(0053) => [
+ q(Pu-Xian Chinese),
+ ],
+ q(0054) => [
+ q(Catalan Sign Language),
+ q(Lengua de senas catalana),
+ q(Llengua de Signes Catalana),
+ ],
+ q(0055) => [
+ q(Chiangmai Sign Language),
+ ],
+ q(0056) => [
+ q(Czech Sign Language),
+ ],
+ q(0057) => [
+ q(Cuba Sign Language),
+ ],
+ q(0058) => [
+ q(Chilean Sign Language),
+ ],
+ q(0059) => [
+ q(Chinese Sign Language),
+ ],
+ q(0060) => [
+ q(Colombian Sign Language),
+ ],
+ q(0061) => [
+ q(Croatia Sign Language),
+ ],
+ q(0062) => [
+ q(Costa Rican Sign Language),
+ ],
+ q(0063) => [
+ q(Huizhou Chinese),
+ ],
+ q(0064) => [
+ q(Min Zhong Chinese),
+ ],
+ q(0065) => [
+ q(Dominican Sign Language),
+ ],
+ q(0066) => [
+ q(Dutch Sign Language),
+ ],
+ q(0067) => [
+ q(Danish Sign Language),
+ ],
+ q(0068) => [
+ q(Duano),
+ ],
+ q(0069) => [
+ q(Ecuadorian Sign Language),
+ ],
+ q(0070) => [
+ q(Egypt Sign Language),
+ ],
+ q(0071) => [
+ q(Salvadoran Sign Language),
+ ],
+ q(0072) => [
+ q(Estonian Sign Language),
+ ],
+ q(0073) => [
+ q(Ethiopian Sign Language),
+ ],
+ q(0074) => [
+ q(Quebec Sign Language),
+ ],
+ q(0075) => [
+ q(Finnish Sign Language),
+ ],
+ q(0076) => [
+ q(French Sign Language),
+ ],
+ q(0077) => [
+ q(Finland-Swedish Sign Language),
+ q(finlandssvenskt teckensprak),
+ q(suomenruotsalainen viittomakieli),
+ ],
+ q(0078) => [
+ q(Gan Chinese),
+ ],
+ q(0079) => [
+ q(Goan Konkani),
+ ],
+ q(0080) => [
+ q(Ghanaian Sign Language),
+ ],
+ q(0081) => [
+ q(German Sign Language),
+ ],
+ q(0082) => [
+ q(Guatemalan Sign Language),
+ ],
+ q(0083) => [
+ q(Greek Sign Language),
+ ],
+ q(0084) => [
+ q(Guinean Sign Language),
+ ],
+ q(0085) => [
+ q(Hanoi Sign Language),
+ ],
+ q(0086) => [
+ q(Haiphong Sign Language),
+ ],
+ q(0087) => [
+ q(Hakka Chinese),
+ ],
+ q(0088) => [
+ q(Honduras Sign Language),
+ ],
+ q(0089) => [
+ q(Haji),
+ ],
+ q(0090) => [
+ q(Hong Kong Sign Language),
+ q(Heung Kong Sau Yue),
+ ],
+ q(0091) => [
+ q(Ho Chi Minh City Sign Language),
+ ],
+ q(0092) => [
+ q(Hawai'i Pidgin Sign Language),
+ ],
+ q(0093) => [
+ q(Hungarian Sign Language),
+ ],
+ q(0094) => [
+ q(Hausa Sign Language),
+ ],
+ q(0095) => [
+ q(Xiang Chinese),
+ ],
+ q(0096) => [
+ q(Icelandic Sign Language),
+ ],
+ q(0097) => [
+ q(International Sign),
+ ],
+ q(0098) => [
+ q(Indonesian Sign Language),
+ ],
+ q(0099) => [
+ q(Indian Sign Language),
+ ],
+ q(0100) => [
+ q(Italian Sign Language),
+ ],
+ q(0101) => [
+ q(Irish Sign Language),
+ ],
+ q(0102) => [
+ q(Israeli Sign Language),
+ ],
+ q(0103) => [
+ q(Jakun),
+ ],
+ q(0104) => [
+ q(Jambi Malay),
+ ],
+ q(0105) => [
+ q(Jamaican Country Sign Language),
+ ],
+ q(0106) => [
+ q(Jhankot Sign Language),
+ ],
+ q(0107) => [
+ q(Jamaican Sign Language),
+ ],
+ q(0108) => [
+ q(Jordanian Sign Language),
+ ],
+ q(0109) => [
+ q(Japanese Sign Language),
+ ],
+ q(0110) => [
+ q(Jumla Sign Language),
+ ],
+ q(0111) => [
+ q(Selangor Sign Language),
+ ],
+ q(0112) => [
+ q(Konkani (individual language)),
+ ],
+ q(0113) => [
+ q(Kubu),
+ ],
+ q(0114) => [
+ q(Korean Sign Language),
+ ],
+ q(0115) => [
+ q(Kerinci),
+ ],
+ q(0116) => [
+ q(Brunei),
+ ],
+ q(0117) => [
+ q(Libyan Sign Language),
+ ],
+ q(0118) => [
+ q(Loncong),
+ ],
+ q(0119) => [
+ q(Lubu),
+ ],
+ q(0120) => [
+ q(Col),
+ ],
+ q(0121) => [
+ q(Lithuanian Sign Language),
+ ],
+ q(0122) => [
+ q(Lyons Sign Language),
+ ],
+ q(0123) => [
+ q(Latvian Sign Language),
+ ],
+ q(0124) => [
+ q(Laos Sign Language),
+ ],
+ q(0125) => [
+ q(Panamanian Sign Language),
+ q(Lengua de Senas Panamenas),
+ ],
+ q(0126) => [
+ q(Trinidad and Tobago Sign Language),
+ ],
+ q(0127) => [
+ q(Mauritian Sign Language),
+ ],
+ q(0128) => [
+ q(Latgalian),
+ ],
+ q(0129) => [
+ q(Standard Latvian),
+ ],
+ q(0130) => [
+ q(Literary Chinese),
+ ],
+ q(0131) => [
+ q(North Moluccan Malay),
+ ],
+ q(0132) => [
+ q(Maltese Sign Language),
+ ],
+ q(0133) => [
+ q(Kedah Malay),
+ ],
+ q(0134) => [
+ q(Pattani Malay),
+ ],
+ q(0135) => [
+ q(Bangka),
+ ],
+ q(0136) => [
+ q(Mexican Sign Language),
+ ],
+ q(0137) => [
+ q(Minangkabau),
+ ],
+ q(0138) => [
+ q(Min Bei Chinese),
+ ],
+ q(0139) => [
+ q(Kota Bangun Kutai Malay),
+ ],
+ q(0140) => [
+ q(Martha's Vineyard Sign Language),
+ ],
+ q(0141) => [
+ q(Yucatec Maya Sign Language),
+ ],
+ q(0142) => [
+ q(Sabah Malay),
+ ],
+ q(0143) => [
+ q(Mongolian Sign Language),
+ ],
+ q(0144) => [
+ q(Musi),
+ ],
+ q(0145) => [
+ q(Madagascar Sign Language),
+ ],
+ q(0146) => [
+ q(Monastic Sign Language),
+ ],
+ q(0147) => [
+ q(Mozambican Sign Language),
+ ],
+ q(0148) => [
+ q(Min Nan Chinese),
+ ],
+ q(0149) => [
+ q(Namibian Sign Language),
+ ],
+ q(0150) => [
+ q(Nicaraguan Sign Language),
+ ],
+ q(0151) => [
+ q(Nigerian Sign Language),
+ ],
+ q(0152) => [
+ q(Norwegian Sign Language),
+ ],
+ q(0153) => [
+ q(Nepalese Sign Language),
+ ],
+ q(0154) => [
+ q(Maritime Sign Language),
+ ],
+ q(0155) => [
+ q(New Zealand Sign Language),
+ ],
+ q(0156) => [
+ q(Old Kentish Sign Language),
+ ],
+ q(0157) => [
+ q(Orang Kanaq),
+ ],
+ q(0158) => [
+ q(Orang Seletar),
+ ],
+ q(0159) => [
+ q(Pekal),
+ ],
+ q(0160) => [
+ q(Sudanese Creole Arabic),
+ ],
+ q(0161) => [
+ q(Pakistan Sign Language),
+ ],
+ q(0162) => [
+ q(Peruvian Sign Language),
+ ],
+ q(0163) => [
+ q(Providencia Sign Language),
+ ],
+ q(0164) => [
+ q(Persian Sign Language),
+ ],
+ q(0165) => [
+ q(Plains Indian Sign Language),
+ ],
+ q(0166) => [
+ q(Central Malay),
+ ],
+ q(0167) => [
+ q(Penang Sign Language),
+ ],
+ q(0168) => [
+ q(Puerto Rican Sign Language),
+ ],
+ q(0169) => [
+ q(Polish Sign Language),
+ ],
+ q(0170) => [
+ q(Philippine Sign Language),
+ ],
+ q(0171) => [
+ q(Portuguese Sign Language),
+ ],
+ q(0172) => [
+ q(Paraguayan Sign Language),
+ q(Lengua de Senas del Paraguay),
+ ],
+ q(0173) => [
+ q(Romanian Sign Language),
+ ],
+ q(0174) => [
+ q(Rennellese Sign Language),
+ ],
+ q(0175) => [
+ q(Russian Sign Language),
+ ],
+ q(0176) => [
+ q(Saudi Arabian Sign Language),
+ ],
+ q(0177) => [
+ q(Langue des signes de Belgique Francophone),
+ q(French Belgian Sign Language),
+ ],
+ q(0178) => [
+ q(South African Sign Language),
+ ],
+ q(0179) => [
+ q(Swiss-German Sign Language),
+ ],
+ q(0180) => [
+ q(Sierra Leone Sign Language),
+ ],
+ q(0181) => [
+ q(Chadian Arabic),
+ ],
+ q(0182) => [
+ q(Swiss-Italian Sign Language),
+ ],
+ q(0183) => [
+ q(Singapore Sign Language),
+ ],
+ q(0184) => [
+ q(Sri Lankan Sign Language),
+ ],
+ q(0185) => [
+ q(Shihhi Arabic),
+ ],
+ q(0186) => [
+ q(Spanish Sign Language),
+ ],
+ q(0187) => [
+ q(Swiss-French Sign Language),
+ ],
+ q(0188) => [
+ q(Slovakian Sign Language),
+ ],
+ q(0189) => [
+ q(Congo Swahili),
+ ],
+ q(0190) => [
+ q(Swahili (individual language)),
+ q(Kiswahili),
+ ],
+ q(0191) => [
+ q(Swedish Sign Language),
+ ],
+ q(0192) => [
+ q(Al-Sayyid Bedouin Sign Language),
+ ],
+ q(0193) => [
+ q(Temuan),
+ ],
+ q(0194) => [
+ q(Tunisian Sign Language),
+ ],
+ q(0195) => [
+ q(Turkish Sign Language),
+ q(Turk Isaret Dili),
+ ],
+ q(0196) => [
+ q(Thai Sign Language),
+ ],
+ q(0197) => [
+ q(Taiwan Sign Language),
+ ],
+ q(0198) => [
+ q(Tebul Sign Language),
+ ],
+ q(0199) => [
+ q(Tanzanian Sign Language),
+ ],
+ q(0200) => [
+ q(Ugandan Sign Language),
+ ],
+ q(0201) => [
+ q(Uruguayan Sign Language),
+ ],
+ q(0202) => [
+ q(Ukrainian Sign Language),
+ ],
+ q(0203) => [
+ q(Urubu-Kaapor Sign Language),
+ q(Kaapor Sign Language),
+ ],
+ q(0204) => [
+ q(Urak Lawoi'),
+ ],
+ q(0205) => [
+ q(Northern Uzbek),
+ ],
+ q(0206) => [
+ q(Southern Uzbek),
+ ],
+ q(0207) => [
+ q(Vlaamse Gebarentaal),
+ q(Flemish Sign Language),
+ ],
+ q(0208) => [
+ q(Kaur),
+ ],
+ q(0209) => [
+ q(Tenggarong Kutai Malay),
+ ],
+ q(0210) => [
+ q(Moldova Sign Language),
+ ],
+ q(0211) => [
+ q(Venezuelan Sign Language),
+ ],
+ q(0212) => [
+ q(Valencian Sign Language),
+ q(Llengua de signes valenciana),
+ ],
+ q(0213) => [
+ q(Wu Chinese),
+ ],
+ q(0214) => [
+ q(Kenyan Sign Language),
+ ],
+ q(0215) => [
+ q(Malaysian Sign Language),
+ ],
+ q(0216) => [
+ q(Manado Malay),
+ ],
+ q(0217) => [
+ q(Moroccan Sign Language),
+ ],
+ q(0218) => [
+ q(Yiddish Sign Language),
+ ],
+ q(0219) => [
+ q(Yugoslavian Sign Language),
+ ],
+ q(0220) => [
+ q(Yue Chinese),
+ ],
+ q(0221) => [
+ q(Zimbabwe Sign Language),
+ ],
+ q(0222) => [
+ q(Malay (individual language)),
+ ],
+ q(0223) => [
+ q(Negeri Sembilan Malay),
+ ],
+ q(0224) => [
+ q(Zambian Sign Language),
+ ],
+ q(0225) => [
+ q(Standard Malay),
+ ],
+};
+
+$Locale::Codes::Data{'langext'}{'alias2id'} = {
+ q(adamorobe sign language) => [
+ q(0010),
+ q(0),
+ ],
+ q(afghan sign language) => [
+ q(0016),
+ q(0),
+ ],
+ q(al-sayyid bedouin sign language) => [
+ q(0192),
+ q(0),
+ ],
+ q(algerian arabic) => [
+ q(0021),
+ q(0),
+ ],
+ q(algerian saharan arabic) => [
+ q(0001),
+ q(0),
+ ],
+ q(algerian sign language) => [
+ q(0027),
+ q(0),
+ ],
+ q(american sign language) => [
+ q(0025),
+ q(0),
+ ],
+ q(argentine sign language) => [
+ q(0013),
+ q(0),
+ ],
+ q(armenian sign language) => [
+ q(0014),
+ q(0),
+ ],
+ q(australian aborigines sign language) => [
+ q(0029),
+ q(0),
+ ],
+ q(australian sign language) => [
+ q(0026),
+ q(0),
+ ],
+ q(austrian sign language) => [
+ q(0028),
+ q(0),
+ ],
+ q(babalia creole arabic) => [
+ q(0036),
+ q(0),
+ ],
+ q(bacanese malay) => [
+ q(0043),
+ q(0),
+ ],
+ q(baharna arabic) => [
+ q(0003),
+ q(0),
+ ],
+ q(bamako sign language) => [
+ q(0040),
+ q(0),
+ ],
+ q(ban khor sign language) => [
+ q(0038),
+ q(0),
+ ],
+ q(bangka) => [
+ q(0135),
+ q(0),
+ ],
+ q(banjar) => [
+ q(0039),
+ q(0),
+ ],
+ q(bengkala sign language) => [
+ q(0042),
+ q(0),
+ ],
+ q(berau malay) => [
+ q(0044),
+ q(0),
+ ],
+ q(bolivian sign language) => [
+ q(0045),
+ q(0),
+ ],
+ q(brazilian sign language) => [
+ q(0047),
+ q(0),
+ ],
+ q(british sign language) => [
+ q(0037),
+ q(0),
+ ],
+ q(brunei) => [
+ q(0116),
+ q(0),
+ ],
+ q(bukit malay) => [
+ q(0046),
+ q(0),
+ ],
+ q(bulgarian sign language) => [
+ q(0041),
+ q(0),
+ ],
+ q(catalan sign language) => [
+ q(0054),
+ q(0),
+ ],
+ q(central malay) => [
+ q(0166),
+ q(0),
+ ],
+ q(chadian arabic) => [
+ q(0181),
+ q(0),
+ ],
+ q(chadian sign language) => [
+ q(0049),
+ q(0),
+ ],
+ q(chiangmai sign language) => [
+ q(0055),
+ q(0),
+ ],
+ q(chilean sign language) => [
+ q(0058),
+ q(0),
+ ],
+ q(chinese sign language) => [
+ q(0059),
+ q(0),
+ ],
+ q(cocos islands malay) => [
+ q(0052),
+ q(0),
+ ],
+ q(col) => [
+ q(0120),
+ q(0),
+ ],
+ q(colombian sign language) => [
+ q(0060),
+ q(0),
+ ],
+ q(congo swahili) => [
+ q(0189),
+ q(0),
+ ],
+ q(costa rican sign language) => [
+ q(0062),
+ q(0),
+ ],
+ q(croatia sign language) => [
+ q(0061),
+ q(0),
+ ],
+ q(cuba sign language) => [
+ q(0057),
+ q(0),
+ ],
+ q(cypriot arabic) => [
+ q(0008),
+ q(0),
+ ],
+ q(czech sign language) => [
+ q(0056),
+ q(0),
+ ],
+ q(danish sign language) => [
+ q(0067),
+ q(0),
+ ],
+ q(dhofari arabic) => [
+ q(0009),
+ q(0),
+ ],
+ q(dominican sign language) => [
+ q(0065),
+ q(0),
+ ],
+ q(duano) => [
+ q(0068),
+ q(0),
+ ],
+ q(dutch sign language) => [
+ q(0066),
+ q(0),
+ ],
+ q(eastern egyptian bedawi arabic) => [
+ q(0031),
+ q(0),
+ ],
+ q(ecuadorian sign language) => [
+ q(0069),
+ q(0),
+ ],
+ q(egypt sign language) => [
+ q(0070),
+ q(0),
+ ],
+ q(egyptian arabic) => [
+ q(0024),
+ q(0),
+ ],
+ q(estonian sign language) => [
+ q(0072),
+ q(0),
+ ],
+ q(ethiopian sign language) => [
+ q(0073),
+ q(0),
+ ],
+ q(finland-swedish sign language) => [
+ q(0077),
+ q(0),
+ ],
+ q(finlandssvenskt teckensprak) => [
+ q(0077),
+ q(0),
+ ],
+ q(finnish sign language) => [
+ q(0075),
+ q(0),
+ ],
+ q(flemish sign language) => [
+ q(0207),
+ q(0),
+ ],
+ q(french belgian sign language) => [
+ q(0177),
+ q(0),
+ ],
+ q(french sign language) => [
+ q(0076),
+ q(0),
+ ],
+ q(gan chinese) => [
+ q(0078),
+ q(0),
+ ],
+ q(german sign language) => [
+ q(0081),
+ q(0),
+ ],
+ q(ghanaian sign language) => [
+ q(0080),
+ q(0),
+ ],
+ q(goan konkani) => [
+ q(0079),
+ q(0),
+ ],
+ q(greek sign language) => [
+ q(0083),
+ q(0),
+ ],
+ q(guatemalan sign language) => [
+ q(0082),
+ q(0),
+ ],
+ q(guinean sign language) => [
+ q(0084),
+ q(0),
+ ],
+ q(gulf arabic) => [
+ q(0015),
+ q(0),
+ ],
+ q(hadrami arabic) => [
+ q(0032),
+ q(0),
+ ],
+ q(haiphong sign language) => [
+ q(0086),
+ q(0),
+ ],
+ q(haji) => [
+ q(0089),
+ q(0),
+ ],
+ q(hakka chinese) => [
+ q(0087),
+ q(0),
+ ],
+ q(hanoi sign language) => [
+ q(0085),
+ q(0),
+ ],
+ q(hausa sign language) => [
+ q(0094),
+ q(0),
+ ],
+ q(hawai'i pidgin sign language) => [
+ q(0092),
+ q(0),
+ ],
+ q(heung kong sau yue) => [
+ q(0090),
+ q(0),
+ ],
+ q(hijazi arabic) => [
+ q(0006),
+ q(0),
+ ],
+ q(ho chi minh city sign language) => [
+ q(0091),
+ q(0),
+ ],
+ q(honduras sign language) => [
+ q(0088),
+ q(0),
+ ],
+ q(hong kong sign language) => [
+ q(0090),
+ q(0),
+ ],
+ q(huizhou chinese) => [
+ q(0063),
+ q(0),
+ ],
+ q(hungarian sign language) => [
+ q(0093),
+ q(0),
+ ],
+ q(icelandic sign language) => [
+ q(0096),
+ q(0),
+ ],
+ q(indian sign language) => [
+ q(0099),
+ q(0),
+ ],
+ q(indonesian sign language) => [
+ q(0098),
+ q(0),
+ ],
+ q(international sign) => [
+ q(0097),
+ q(0),
+ ],
+ q(irish sign language) => [
+ q(0101),
+ q(0),
+ ],
+ q(israeli sign language) => [
+ q(0102),
+ q(0),
+ ],
+ q(italian sign language) => [
+ q(0100),
+ q(0),
+ ],
+ q(jakun) => [
+ q(0103),
+ q(0),
+ ],
+ q(jamaican country sign language) => [
+ q(0105),
+ q(0),
+ ],
+ q(jamaican sign language) => [
+ q(0107),
+ q(0),
+ ],
+ q(jambi malay) => [
+ q(0104),
+ q(0),
+ ],
+ q(japanese sign language) => [
+ q(0109),
+ q(0),
+ ],
+ q(jhankot sign language) => [
+ q(0106),
+ q(0),
+ ],
+ q(jinyu chinese) => [
+ q(0050),
+ q(0),
+ ],
+ q(jordanian sign language) => [
+ q(0108),
+ q(0),
+ ],
+ q(jumla sign language) => [
+ q(0110),
+ q(0),
+ ],
+ q(kaapor sign language) => [
+ q(0203),
+ q(0),
+ ],
+ q(kaur) => [
+ q(0208),
+ q(0),
+ ],
+ q(kedah malay) => [
+ q(0133),
+ q(0),
+ ],
+ q(kenyan sign language) => [
+ q(0214),
+ q(0),
+ ],
+ q(kerinci) => [
+ q(0115),
+ q(0),
+ ],
+ q(kiswahili) => [
+ q(0190),
+ q(0),
+ ],
+ q(konkani (individual language)) => [
+ q(0112),
+ q(0),
+ ],
+ q(korean sign language) => [
+ q(0114),
+ q(0),
+ ],
+ q(kota bangun kutai malay) => [
+ q(0139),
+ q(0),
+ ],
+ q(kubu) => [
+ q(0113),
+ q(0),
+ ],
+ q(langue des signes de belgique francophone) => [
+ q(0177),
+ q(0),
+ ],
+ q(laos sign language) => [
+ q(0124),
+ q(0),
+ ],
+ q(latgalian) => [
+ q(0128),
+ q(0),
+ ],
+ q(latvian sign language) => [
+ q(0123),
+ q(0),
+ ],
+ q(lengua de senas catalana) => [
+ q(0054),
+ q(0),
+ ],
+ q(lengua de senas del paraguay) => [
+ q(0172),
+ q(0),
+ ],
+ q(lengua de senas panamenas) => [
+ q(0125),
+ q(0),
+ ],
+ q(libyan arabic) => [
+ q(0033),
+ q(0),
+ ],
+ q(libyan sign language) => [
+ q(0117),
+ q(0),
+ ],
+ q(literary chinese) => [
+ q(0130),
+ q(0),
+ ],
+ q(lithuanian sign language) => [
+ q(0121),
+ q(0),
+ ],
+ q(llengua de signes catalana) => [
+ q(0054),
+ q(0),
+ ],
+ q(llengua de signes valenciana) => [
+ q(0212),
+ q(0),
+ ],
+ q(loncong) => [
+ q(0118),
+ q(0),
+ ],
+ q(lubu) => [
+ q(0119),
+ q(0),
+ ],
+ q(lyons sign language) => [
+ q(0122),
+ q(0),
+ ],
+ q(madagascar sign language) => [
+ q(0145),
+ q(0),
+ ],
+ q(malay (individual language)) => [
+ q(0222),
+ q(0),
+ ],
+ q(malaysian sign language) => [
+ q(0215),
+ q(0),
+ ],
+ q(maltese sign language) => [
+ q(0132),
+ q(0),
+ ],
+ q(manado malay) => [
+ q(0216),
+ q(0),
+ ],
+ q(mandarin chinese) => [
+ q(0051),
+ q(0),
+ ],
+ q(maritime sign language) => [
+ q(0154),
+ q(0),
+ ],
+ q(martha's vineyard sign language) => [
+ q(0140),
+ q(0),
+ ],
+ q(mauritian sign language) => [
+ q(0127),
+ q(0),
+ ],
+ q(mesopotamian arabic) => [
+ q(0004),
+ q(0),
+ ],
+ q(mexican sign language) => [
+ q(0136),
+ q(0),
+ ],
+ q(min bei chinese) => [
+ q(0138),
+ q(0),
+ ],
+ q(min dong chinese) => [
+ q(0048),
+ q(0),
+ ],
+ q(min nan chinese) => [
+ q(0148),
+ q(0),
+ ],
+ q(min zhong chinese) => [
+ q(0064),
+ q(0),
+ ],
+ q(minangkabau) => [
+ q(0137),
+ q(0),
+ ],
+ q(moldova sign language) => [
+ q(0210),
+ q(0),
+ ],
+ q(monastic sign language) => [
+ q(0146),
+ q(0),
+ ],
+ q(mongolian sign language) => [
+ q(0143),
+ q(0),
+ ],
+ q(moroccan arabic) => [
+ q(0023),
+ q(0),
+ ],
+ q(moroccan sign language) => [
+ q(0217),
+ q(0),
+ ],
+ q(mozambican sign language) => [
+ q(0147),
+ q(0),
+ ],
+ q(musi) => [
+ q(0144),
+ q(0),
+ ],
+ q(najdi arabic) => [
+ q(0022),
+ q(0),
+ ],
+ q(namibian sign language) => [
+ q(0149),
+ q(0),
+ ],
+ q(negeri sembilan malay) => [
+ q(0223),
+ q(0),
+ ],
+ q(nepalese sign language) => [
+ q(0153),
+ q(0),
+ ],
+ q(new zealand sign language) => [
+ q(0155),
+ q(0),
+ ],
+ q(nicaraguan sign language) => [
+ q(0150),
+ q(0),
+ ],
+ q(nigerian sign language) => [
+ q(0151),
+ q(0),
+ ],
+ q(north levantine arabic) => [
+ q(0018),
+ q(0),
+ ],
+ q(north mesopotamian arabic) => [
+ q(0035),
+ q(0),
+ ],
+ q(north moluccan malay) => [
+ q(0131),
+ q(0),
+ ],
+ q(northern uzbek) => [
+ q(0205),
+ q(0),
+ ],
+ q(norwegian sign language) => [
+ q(0152),
+ q(0),
+ ],
+ q(old kentish sign language) => [
+ q(0156),
+ q(0),
+ ],
+ q(omani arabic) => [
+ q(0007),
+ q(0),
+ ],
+ q(orang kanaq) => [
+ q(0157),
+ q(0),
+ ],
+ q(orang seletar) => [
+ q(0158),
+ q(0),
+ ],
+ q(pakistan sign language) => [
+ q(0161),
+ q(0),
+ ],
+ q(panamanian sign language) => [
+ q(0125),
+ q(0),
+ ],
+ q(paraguayan sign language) => [
+ q(0172),
+ q(0),
+ ],
+ q(pattani malay) => [
+ q(0134),
+ q(0),
+ ],
+ q(pekal) => [
+ q(0159),
+ q(0),
+ ],
+ q(penang sign language) => [
+ q(0167),
+ q(0),
+ ],
+ q(persian sign language) => [
+ q(0164),
+ q(0),
+ ],
+ q(peruvian sign language) => [
+ q(0162),
+ q(0),
+ ],
+ q(philippine sign language) => [
+ q(0170),
+ q(0),
+ ],
+ q(plains indian sign language) => [
+ q(0165),
+ q(0),
+ ],
+ q(polish sign language) => [
+ q(0169),
+ q(0),
+ ],
+ q(portuguese sign language) => [
+ q(0171),
+ q(0),
+ ],
+ q(providencia sign language) => [
+ q(0163),
+ q(0),
+ ],
+ q(pu-xian chinese) => [
+ q(0053),
+ q(0),
+ ],
+ q(puerto rican sign language) => [
+ q(0168),
+ q(0),
+ ],
+ q(quebec sign language) => [
+ q(0074),
+ q(0),
+ ],
+ q(rennellese sign language) => [
+ q(0174),
+ q(0),
+ ],
+ q(romanian sign language) => [
+ q(0173),
+ q(0),
+ ],
+ q(russian sign language) => [
+ q(0175),
+ q(0),
+ ],
+ q(sabah malay) => [
+ q(0142),
+ q(0),
+ ],
+ q(saidi arabic) => [
+ q(0012),
+ q(0),
+ ],
+ q(salvadoran sign language) => [
+ q(0071),
+ q(0),
+ ],
+ q(sanaani arabic) => [
+ q(0034),
+ q(0),
+ ],
+ q(saudi arabian sign language) => [
+ q(0176),
+ q(0),
+ ],
+ q(selangor sign language) => [
+ q(0111),
+ q(0),
+ ],
+ q(shihhi arabic) => [
+ q(0185),
+ q(0),
+ ],
+ q(sierra leone sign language) => [
+ q(0180),
+ q(0),
+ ],
+ q(singapore sign language) => [
+ q(0183),
+ q(0),
+ ],
+ q(slovakian sign language) => [
+ q(0188),
+ q(0),
+ ],
+ q(south african sign language) => [
+ q(0178),
+ q(0),
+ ],
+ q(south levantine arabic) => [
+ q(0017),
+ q(0),
+ ],
+ q(southern uzbek) => [
+ q(0206),
+ q(0),
+ ],
+ q(spanish sign language) => [
+ q(0186),
+ q(0),
+ ],
+ q(sri lankan sign language) => [
+ q(0184),
+ q(0),
+ ],
+ q(standard arabic) => [
+ q(0020),
+ q(0),
+ ],
+ q(standard latvian) => [
+ q(0129),
+ q(0),
+ ],
+ q(standard malay) => [
+ q(0225),
+ q(0),
+ ],
+ q(sudanese arabic) => [
+ q(0019),
+ q(0),
+ ],
+ q(sudanese creole arabic) => [
+ q(0160),
+ q(0),
+ ],
+ q(suomenruotsalainen viittomakieli) => [
+ q(0077),
+ q(0),
+ ],
+ q(swahili (individual language)) => [
+ q(0190),
+ q(0),
+ ],
+ q(swedish sign language) => [
+ q(0191),
+ q(0),
+ ],
+ q(swiss-french sign language) => [
+ q(0187),
+ q(0),
+ ],
+ q(swiss-german sign language) => [
+ q(0179),
+ q(0),
+ ],
+ q(swiss-italian sign language) => [
+ q(0182),
+ q(0),
+ ],
+ q(ta'izzi-adeni arabic) => [
+ q(0005),
+ q(0),
+ ],
+ q(taiwan sign language) => [
+ q(0197),
+ q(0),
+ ],
+ q(tajiki arabic) => [
+ q(0002),
+ q(0),
+ ],
+ q(tanzanian sign language) => [
+ q(0199),
+ q(0),
+ ],
+ q(tebul sign language) => [
+ q(0198),
+ q(0),
+ ],
+ q(temuan) => [
+ q(0193),
+ q(0),
+ ],
+ q(tenggarong kutai malay) => [
+ q(0209),
+ q(0),
+ ],
+ q(thai sign language) => [
+ q(0196),
+ q(0),
+ ],
+ q(trinidad and tobago sign language) => [
+ q(0126),
+ q(0),
+ ],
+ q(tunisian arabic) => [
+ q(0011),
+ q(0),
+ ],
+ q(tunisian sign language) => [
+ q(0194),
+ q(0),
+ ],
+ q(turk isaret dili) => [
+ q(0195),
+ q(0),
+ ],
+ q(turkish sign language) => [
+ q(0195),
+ q(0),
+ ],
+ q(ugandan sign language) => [
+ q(0200),
+ q(0),
+ ],
+ q(ukrainian sign language) => [
+ q(0202),
+ q(0),
+ ],
+ q(urak lawoi') => [
+ q(0204),
+ q(0),
+ ],
+ q(urubu-kaapor sign language) => [
+ q(0203),
+ q(0),
+ ],
+ q(uruguayan sign language) => [
+ q(0201),
+ q(0),
+ ],
+ q(uzbeki arabic) => [
+ q(0030),
+ q(0),
+ ],
+ q(valencian sign language) => [
+ q(0212),
+ q(0),
+ ],
+ q(venezuelan sign language) => [
+ q(0211),
+ q(0),
+ ],
+ q(vlaamse gebarentaal) => [
+ q(0207),
+ q(0),
+ ],
+ q(wu chinese) => [
+ q(0213),
+ q(0),
+ ],
+ q(xiang chinese) => [
+ q(0095),
+ q(0),
+ ],
+ q(yiddish sign language) => [
+ q(0218),
+ q(0),
+ ],
+ q(yucatec maya sign language) => [
+ q(0141),
+ q(0),
+ ],
+ q(yue chinese) => [
+ q(0220),
+ q(0),
+ ],
+ q(yugoslavian sign language) => [
+ q(0219),
+ q(0),
+ ],
+ q(zambian sign language) => [
+ q(0224),
+ q(0),
+ ],
+ q(zimbabwe sign language) => [
+ q(0221),
+ q(0),
+ ],
+};
+
+$Locale::Codes::Data{'langext'}{'code2id'} = {
+ q(alpha) => {
+ q(aao) => [
+ q(0001),
+ q(0),
+ ],
+ q(abh) => [
+ q(0002),
+ q(0),
+ ],
+ q(abv) => [
+ q(0003),
+ q(0),
+ ],
+ q(acm) => [
+ q(0004),
+ q(0),
+ ],
+ q(acq) => [
+ q(0005),
+ q(0),
+ ],
+ q(acw) => [
+ q(0006),
+ q(0),
+ ],
+ q(acx) => [
+ q(0007),
+ q(0),
+ ],
+ q(acy) => [
+ q(0008),
+ q(0),
+ ],
+ q(adf) => [
+ q(0009),
+ q(0),
+ ],
+ q(ads) => [
+ q(0010),
+ q(0),
+ ],
+ q(aeb) => [
+ q(0011),
+ q(0),
+ ],
+ q(aec) => [
+ q(0012),
+ q(0),
+ ],
+ q(aed) => [
+ q(0013),
+ q(0),
+ ],
+ q(aen) => [
+ q(0014),
+ q(0),
+ ],
+ q(afb) => [
+ q(0015),
+ q(0),
+ ],
+ q(afg) => [
+ q(0016),
+ q(0),
+ ],
+ q(ajp) => [
+ q(0017),
+ q(0),
+ ],
+ q(apc) => [
+ q(0018),
+ q(0),
+ ],
+ q(apd) => [
+ q(0019),
+ q(0),
+ ],
+ q(arb) => [
+ q(0020),
+ q(0),
+ ],
+ q(arq) => [
+ q(0021),
+ q(0),
+ ],
+ q(ars) => [
+ q(0022),
+ q(0),
+ ],
+ q(ary) => [
+ q(0023),
+ q(0),
+ ],
+ q(arz) => [
+ q(0024),
+ q(0),
+ ],
+ q(ase) => [
+ q(0025),
+ q(0),
+ ],
+ q(asf) => [
+ q(0026),
+ q(0),
+ ],
+ q(asp) => [
+ q(0027),
+ q(0),
+ ],
+ q(asq) => [
+ q(0028),
+ q(0),
+ ],
+ q(asw) => [
+ q(0029),
+ q(0),
+ ],
+ q(auz) => [
+ q(0030),
+ q(0),
+ ],
+ q(avl) => [
+ q(0031),
+ q(0),
+ ],
+ q(ayh) => [
+ q(0032),
+ q(0),
+ ],
+ q(ayl) => [
+ q(0033),
+ q(0),
+ ],
+ q(ayn) => [
+ q(0034),
+ q(0),
+ ],
+ q(ayp) => [
+ q(0035),
+ q(0),
+ ],
+ q(bbz) => [
+ q(0036),
+ q(0),
+ ],
+ q(bfi) => [
+ q(0037),
+ q(0),
+ ],
+ q(bfk) => [
+ q(0038),
+ q(0),
+ ],
+ q(bjn) => [
+ q(0039),
+ q(0),
+ ],
+ q(bog) => [
+ q(0040),
+ q(0),
+ ],
+ q(bqn) => [
+ q(0041),
+ q(0),
+ ],
+ q(bqy) => [
+ q(0042),
+ q(0),
+ ],
+ q(btj) => [
+ q(0043),
+ q(0),
+ ],
+ q(bve) => [
+ q(0044),
+ q(0),
+ ],
+ q(bvl) => [
+ q(0045),
+ q(0),
+ ],
+ q(bvu) => [
+ q(0046),
+ q(0),
+ ],
+ q(bzs) => [
+ q(0047),
+ q(0),
+ ],
+ q(cdo) => [
+ q(0048),
+ q(0),
+ ],
+ q(cds) => [
+ q(0049),
+ q(0),
+ ],
+ q(cjy) => [
+ q(0050),
+ q(0),
+ ],
+ q(cmn) => [
+ q(0051),
+ q(0),
+ ],
+ q(coa) => [
+ q(0052),
+ q(0),
+ ],
+ q(cpx) => [
+ q(0053),
+ q(0),
+ ],
+ q(csc) => [
+ q(0054),
+ q(0),
+ ],
+ q(csd) => [
+ q(0055),
+ q(0),
+ ],
+ q(cse) => [
+ q(0056),
+ q(0),
+ ],
+ q(csf) => [
+ q(0057),
+ q(0),
+ ],
+ q(csg) => [
+ q(0058),
+ q(0),
+ ],
+ q(csl) => [
+ q(0059),
+ q(0),
+ ],
+ q(csn) => [
+ q(0060),
+ q(0),
+ ],
+ q(csq) => [
+ q(0061),
+ q(0),
+ ],
+ q(csr) => [
+ q(0062),
+ q(0),
+ ],
+ q(czh) => [
+ q(0063),
+ q(0),
+ ],
+ q(czo) => [
+ q(0064),
+ q(0),
+ ],
+ q(doq) => [
+ q(0065),
+ q(0),
+ ],
+ q(dse) => [
+ q(0066),
+ q(0),
+ ],
+ q(dsl) => [
+ q(0067),
+ q(0),
+ ],
+ q(dup) => [
+ q(0068),
+ q(0),
+ ],
+ q(ecs) => [
+ q(0069),
+ q(0),
+ ],
+ q(esl) => [
+ q(0070),
+ q(0),
+ ],
+ q(esn) => [
+ q(0071),
+ q(0),
+ ],
+ q(eso) => [
+ q(0072),
+ q(0),
+ ],
+ q(eth) => [
+ q(0073),
+ q(0),
+ ],
+ q(fcs) => [
+ q(0074),
+ q(0),
+ ],
+ q(fse) => [
+ q(0075),
+ q(0),
+ ],
+ q(fsl) => [
+ q(0076),
+ q(0),
+ ],
+ q(fss) => [
+ q(0077),
+ q(0),
+ ],
+ q(gan) => [
+ q(0078),
+ q(0),
+ ],
+ q(gom) => [
+ q(0079),
+ q(0),
+ ],
+ q(gse) => [
+ q(0080),
+ q(0),
+ ],
+ q(gsg) => [
+ q(0081),
+ q(0),
+ ],
+ q(gsm) => [
+ q(0082),
+ q(0),
+ ],
+ q(gss) => [
+ q(0083),
+ q(0),
+ ],
+ q(gus) => [
+ q(0084),
+ q(0),
+ ],
+ q(hab) => [
+ q(0085),
+ q(0),
+ ],
+ q(haf) => [
+ q(0086),
+ q(0),
+ ],
+ q(hak) => [
+ q(0087),
+ q(0),
+ ],
+ q(hds) => [
+ q(0088),
+ q(0),
+ ],
+ q(hji) => [
+ q(0089),
+ q(0),
+ ],
+ q(hks) => [
+ q(0090),
+ q(0),
+ ],
+ q(hos) => [
+ q(0091),
+ q(0),
+ ],
+ q(hps) => [
+ q(0092),
+ q(0),
+ ],
+ q(hsh) => [
+ q(0093),
+ q(0),
+ ],
+ q(hsl) => [
+ q(0094),
+ q(0),
+ ],
+ q(hsn) => [
+ q(0095),
+ q(0),
+ ],
+ q(icl) => [
+ q(0096),
+ q(0),
+ ],
+ q(ils) => [
+ q(0097),
+ q(0),
+ ],
+ q(inl) => [
+ q(0098),
+ q(0),
+ ],
+ q(ins) => [
+ q(0099),
+ q(0),
+ ],
+ q(ise) => [
+ q(0100),
+ q(0),
+ ],
+ q(isg) => [
+ q(0101),
+ q(0),
+ ],
+ q(isr) => [
+ q(0102),
+ q(0),
+ ],
+ q(jak) => [
+ q(0103),
+ q(0),
+ ],
+ q(jax) => [
+ q(0104),
+ q(0),
+ ],
+ q(jcs) => [
+ q(0105),
+ q(0),
+ ],
+ q(jhs) => [
+ q(0106),
+ q(0),
+ ],
+ q(jls) => [
+ q(0107),
+ q(0),
+ ],
+ q(jos) => [
+ q(0108),
+ q(0),
+ ],
+ q(jsl) => [
+ q(0109),
+ q(0),
+ ],
+ q(jus) => [
+ q(0110),
+ q(0),
+ ],
+ q(kgi) => [
+ q(0111),
+ q(0),
+ ],
+ q(knn) => [
+ q(0112),
+ q(0),
+ ],
+ q(kvb) => [
+ q(0113),
+ q(0),
+ ],
+ q(kvk) => [
+ q(0114),
+ q(0),
+ ],
+ q(kvr) => [
+ q(0115),
+ q(0),
+ ],
+ q(kxd) => [
+ q(0116),
+ q(0),
+ ],
+ q(lbs) => [
+ q(0117),
+ q(0),
+ ],
+ q(lce) => [
+ q(0118),
+ q(0),
+ ],
+ q(lcf) => [
+ q(0119),
+ q(0),
+ ],
+ q(liw) => [
+ q(0120),
+ q(0),
+ ],
+ q(lls) => [
+ q(0121),
+ q(0),
+ ],
+ q(lsg) => [
+ q(0122),
+ q(0),
+ ],
+ q(lsl) => [
+ q(0123),
+ q(0),
+ ],
+ q(lso) => [
+ q(0124),
+ q(0),
+ ],
+ q(lsp) => [
+ q(0125),
+ q(0),
+ ],
+ q(lst) => [
+ q(0126),
+ q(0),
+ ],
+ q(lsy) => [
+ q(0127),
+ q(0),
+ ],
+ q(ltg) => [
+ q(0128),
+ q(0),
+ ],
+ q(lvs) => [
+ q(0129),
+ q(0),
+ ],
+ q(lzh) => [
+ q(0130),
+ q(0),
+ ],
+ q(max) => [
+ q(0131),
+ q(0),
+ ],
+ q(mdl) => [
+ q(0132),
+ q(0),
+ ],
+ q(meo) => [
+ q(0133),
+ q(0),
+ ],
+ q(mfa) => [
+ q(0134),
+ q(0),
+ ],
+ q(mfb) => [
+ q(0135),
+ q(0),
+ ],
+ q(mfs) => [
+ q(0136),
+ q(0),
+ ],
+ q(min) => [
+ q(0137),
+ q(0),
+ ],
+ q(mnp) => [
+ q(0138),
+ q(0),
+ ],
+ q(mqg) => [
+ q(0139),
+ q(0),
+ ],
+ q(mre) => [
+ q(0140),
+ q(0),
+ ],
+ q(msd) => [
+ q(0141),
+ q(0),
+ ],
+ q(msi) => [
+ q(0142),
+ q(0),
+ ],
+ q(msr) => [
+ q(0143),
+ q(0),
+ ],
+ q(mui) => [
+ q(0144),
+ q(0),
+ ],
+ q(mzc) => [
+ q(0145),
+ q(0),
+ ],
+ q(mzg) => [
+ q(0146),
+ q(0),
+ ],
+ q(mzy) => [
+ q(0147),
+ q(0),
+ ],
+ q(nan) => [
+ q(0148),
+ q(0),
+ ],
+ q(nbs) => [
+ q(0149),
+ q(0),
+ ],
+ q(ncs) => [
+ q(0150),
+ q(0),
+ ],
+ q(nsi) => [
+ q(0151),
+ q(0),
+ ],
+ q(nsl) => [
+ q(0152),
+ q(0),
+ ],
+ q(nsp) => [
+ q(0153),
+ q(0),
+ ],
+ q(nsr) => [
+ q(0154),
+ q(0),
+ ],
+ q(nzs) => [
+ q(0155),
+ q(0),
+ ],
+ q(okl) => [
+ q(0156),
+ q(0),
+ ],
+ q(orn) => [
+ q(0157),
+ q(0),
+ ],
+ q(ors) => [
+ q(0158),
+ q(0),
+ ],
+ q(pel) => [
+ q(0159),
+ q(0),
+ ],
+ q(pga) => [
+ q(0160),
+ q(0),
+ ],
+ q(pks) => [
+ q(0161),
+ q(0),
+ ],
+ q(prl) => [
+ q(0162),
+ q(0),
+ ],
+ q(prz) => [
+ q(0163),
+ q(0),
+ ],
+ q(psc) => [
+ q(0164),
+ q(0),
+ ],
+ q(psd) => [
+ q(0165),
+ q(0),
+ ],
+ q(pse) => [
+ q(0166),
+ q(0),
+ ],
+ q(psg) => [
+ q(0167),
+ q(0),
+ ],
+ q(psl) => [
+ q(0168),
+ q(0),
+ ],
+ q(pso) => [
+ q(0169),
+ q(0),
+ ],
+ q(psp) => [
+ q(0170),
+ q(0),
+ ],
+ q(psr) => [
+ q(0171),
+ q(0),
+ ],
+ q(pys) => [
+ q(0172),
+ q(0),
+ ],
+ q(rms) => [
+ q(0173),
+ q(0),
+ ],
+ q(rsi) => [
+ q(0174),
+ q(0),
+ ],
+ q(rsl) => [
+ q(0175),
+ q(0),
+ ],
+ q(sdl) => [
+ q(0176),
+ q(0),
+ ],
+ q(sfb) => [
+ q(0177),
+ q(0),
+ ],
+ q(sfs) => [
+ q(0178),
+ q(0),
+ ],
+ q(sgg) => [
+ q(0179),
+ q(0),
+ ],
+ q(sgx) => [
+ q(0180),
+ q(0),
+ ],
+ q(shu) => [
+ q(0181),
+ q(0),
+ ],
+ q(slf) => [
+ q(0182),
+ q(0),
+ ],
+ q(sls) => [
+ q(0183),
+ q(0),
+ ],
+ q(sqs) => [
+ q(0184),
+ q(0),
+ ],
+ q(ssh) => [
+ q(0185),
+ q(0),
+ ],
+ q(ssp) => [
+ q(0186),
+ q(0),
+ ],
+ q(ssr) => [
+ q(0187),
+ q(0),
+ ],
+ q(svk) => [
+ q(0188),
+ q(0),
+ ],
+ q(swc) => [
+ q(0189),
+ q(0),
+ ],
+ q(swh) => [
+ q(0190),
+ q(0),
+ ],
+ q(swl) => [
+ q(0191),
+ q(0),
+ ],
+ q(syy) => [
+ q(0192),
+ q(0),
+ ],
+ q(tmw) => [
+ q(0193),
+ q(0),
+ ],
+ q(tse) => [
+ q(0194),
+ q(0),
+ ],
+ q(tsm) => [
+ q(0195),
+ q(0),
+ ],
+ q(tsq) => [
+ q(0196),
+ q(0),
+ ],
+ q(tss) => [
+ q(0197),
+ q(0),
+ ],
+ q(tsy) => [
+ q(0198),
+ q(0),
+ ],
+ q(tza) => [
+ q(0199),
+ q(0),
+ ],
+ q(ugn) => [
+ q(0200),
+ q(0),
+ ],
+ q(ugy) => [
+ q(0201),
+ q(0),
+ ],
+ q(ukl) => [
+ q(0202),
+ q(0),
+ ],
+ q(uks) => [
+ q(0203),
+ q(0),
+ ],
+ q(urk) => [
+ q(0204),
+ q(0),
+ ],
+ q(uzn) => [
+ q(0205),
+ q(0),
+ ],
+ q(uzs) => [
+ q(0206),
+ q(0),
+ ],
+ q(vgt) => [
+ q(0207),
+ q(0),
+ ],
+ q(vkk) => [
+ q(0208),
+ q(0),
+ ],
+ q(vkt) => [
+ q(0209),
+ q(0),
+ ],
+ q(vsi) => [
+ q(0210),
+ q(0),
+ ],
+ q(vsl) => [
+ q(0211),
+ q(0),
+ ],
+ q(vsv) => [
+ q(0212),
+ q(0),
+ ],
+ q(wuu) => [
+ q(0213),
+ q(0),
+ ],
+ q(xki) => [
+ q(0214),
+ q(0),
+ ],
+ q(xml) => [
+ q(0215),
+ q(0),
+ ],
+ q(xmm) => [
+ q(0216),
+ q(0),
+ ],
+ q(xms) => [
+ q(0217),
+ q(0),
+ ],
+ q(yds) => [
+ q(0218),
+ q(0),
+ ],
+ q(ysl) => [
+ q(0219),
+ q(0),
+ ],
+ q(yue) => [
+ q(0220),
+ q(0),
+ ],
+ q(zib) => [
+ q(0221),
+ q(0),
+ ],
+ q(zlm) => [
+ q(0222),
+ q(0),
+ ],
+ q(zmi) => [
+ q(0223),
+ q(0),
+ ],
+ q(zsl) => [
+ q(0224),
+ q(0),
+ ],
+ q(zsm) => [
+ q(0225),
+ q(0),
+ ],
+ },
+};
+
+$Locale::Codes::Data{'langext'}{'id2code'} = {
+ q(alpha) => {
+ q(0001) => q(aao),
+ q(0002) => q(abh),
+ q(0003) => q(abv),
+ q(0004) => q(acm),
+ q(0005) => q(acq),
+ q(0006) => q(acw),
+ q(0007) => q(acx),
+ q(0008) => q(acy),
+ q(0009) => q(adf),
+ q(0010) => q(ads),
+ q(0011) => q(aeb),
+ q(0012) => q(aec),
+ q(0013) => q(aed),
+ q(0014) => q(aen),
+ q(0015) => q(afb),
+ q(0016) => q(afg),
+ q(0017) => q(ajp),
+ q(0018) => q(apc),
+ q(0019) => q(apd),
+ q(0020) => q(arb),
+ q(0021) => q(arq),
+ q(0022) => q(ars),
+ q(0023) => q(ary),
+ q(0024) => q(arz),
+ q(0025) => q(ase),
+ q(0026) => q(asf),
+ q(0027) => q(asp),
+ q(0028) => q(asq),
+ q(0029) => q(asw),
+ q(0030) => q(auz),
+ q(0031) => q(avl),
+ q(0032) => q(ayh),
+ q(0033) => q(ayl),
+ q(0034) => q(ayn),
+ q(0035) => q(ayp),
+ q(0036) => q(bbz),
+ q(0037) => q(bfi),
+ q(0038) => q(bfk),
+ q(0039) => q(bjn),
+ q(0040) => q(bog),
+ q(0041) => q(bqn),
+ q(0042) => q(bqy),
+ q(0043) => q(btj),
+ q(0044) => q(bve),
+ q(0045) => q(bvl),
+ q(0046) => q(bvu),
+ q(0047) => q(bzs),
+ q(0048) => q(cdo),
+ q(0049) => q(cds),
+ q(0050) => q(cjy),
+ q(0051) => q(cmn),
+ q(0052) => q(coa),
+ q(0053) => q(cpx),
+ q(0054) => q(csc),
+ q(0055) => q(csd),
+ q(0056) => q(cse),
+ q(0057) => q(csf),
+ q(0058) => q(csg),
+ q(0059) => q(csl),
+ q(0060) => q(csn),
+ q(0061) => q(csq),
+ q(0062) => q(csr),
+ q(0063) => q(czh),
+ q(0064) => q(czo),
+ q(0065) => q(doq),
+ q(0066) => q(dse),
+ q(0067) => q(dsl),
+ q(0068) => q(dup),
+ q(0069) => q(ecs),
+ q(0070) => q(esl),
+ q(0071) => q(esn),
+ q(0072) => q(eso),
+ q(0073) => q(eth),
+ q(0074) => q(fcs),
+ q(0075) => q(fse),
+ q(0076) => q(fsl),
+ q(0077) => q(fss),
+ q(0078) => q(gan),
+ q(0079) => q(gom),
+ q(0080) => q(gse),
+ q(0081) => q(gsg),
+ q(0082) => q(gsm),
+ q(0083) => q(gss),
+ q(0084) => q(gus),
+ q(0085) => q(hab),
+ q(0086) => q(haf),
+ q(0087) => q(hak),
+ q(0088) => q(hds),
+ q(0089) => q(hji),
+ q(0090) => q(hks),
+ q(0091) => q(hos),
+ q(0092) => q(hps),
+ q(0093) => q(hsh),
+ q(0094) => q(hsl),
+ q(0095) => q(hsn),
+ q(0096) => q(icl),
+ q(0097) => q(ils),
+ q(0098) => q(inl),
+ q(0099) => q(ins),
+ q(0100) => q(ise),
+ q(0101) => q(isg),
+ q(0102) => q(isr),
+ q(0103) => q(jak),
+ q(0104) => q(jax),
+ q(0105) => q(jcs),
+ q(0106) => q(jhs),
+ q(0107) => q(jls),
+ q(0108) => q(jos),
+ q(0109) => q(jsl),
+ q(0110) => q(jus),
+ q(0111) => q(kgi),
+ q(0112) => q(knn),
+ q(0113) => q(kvb),
+ q(0114) => q(kvk),
+ q(0115) => q(kvr),
+ q(0116) => q(kxd),
+ q(0117) => q(lbs),
+ q(0118) => q(lce),
+ q(0119) => q(lcf),
+ q(0120) => q(liw),
+ q(0121) => q(lls),
+ q(0122) => q(lsg),
+ q(0123) => q(lsl),
+ q(0124) => q(lso),
+ q(0125) => q(lsp),
+ q(0126) => q(lst),
+ q(0127) => q(lsy),
+ q(0128) => q(ltg),
+ q(0129) => q(lvs),
+ q(0130) => q(lzh),
+ q(0131) => q(max),
+ q(0132) => q(mdl),
+ q(0133) => q(meo),
+ q(0134) => q(mfa),
+ q(0135) => q(mfb),
+ q(0136) => q(mfs),
+ q(0137) => q(min),
+ q(0138) => q(mnp),
+ q(0139) => q(mqg),
+ q(0140) => q(mre),
+ q(0141) => q(msd),
+ q(0142) => q(msi),
+ q(0143) => q(msr),
+ q(0144) => q(mui),
+ q(0145) => q(mzc),
+ q(0146) => q(mzg),
+ q(0147) => q(mzy),
+ q(0148) => q(nan),
+ q(0149) => q(nbs),
+ q(0150) => q(ncs),
+ q(0151) => q(nsi),
+ q(0152) => q(nsl),
+ q(0153) => q(nsp),
+ q(0154) => q(nsr),
+ q(0155) => q(nzs),
+ q(0156) => q(okl),
+ q(0157) => q(orn),
+ q(0158) => q(ors),
+ q(0159) => q(pel),
+ q(0160) => q(pga),
+ q(0161) => q(pks),
+ q(0162) => q(prl),
+ q(0163) => q(prz),
+ q(0164) => q(psc),
+ q(0165) => q(psd),
+ q(0166) => q(pse),
+ q(0167) => q(psg),
+ q(0168) => q(psl),
+ q(0169) => q(pso),
+ q(0170) => q(psp),
+ q(0171) => q(psr),
+ q(0172) => q(pys),
+ q(0173) => q(rms),
+ q(0174) => q(rsi),
+ q(0175) => q(rsl),
+ q(0176) => q(sdl),
+ q(0177) => q(sfb),
+ q(0178) => q(sfs),
+ q(0179) => q(sgg),
+ q(0180) => q(sgx),
+ q(0181) => q(shu),
+ q(0182) => q(slf),
+ q(0183) => q(sls),
+ q(0184) => q(sqs),
+ q(0185) => q(ssh),
+ q(0186) => q(ssp),
+ q(0187) => q(ssr),
+ q(0188) => q(svk),
+ q(0189) => q(swc),
+ q(0190) => q(swh),
+ q(0191) => q(swl),
+ q(0192) => q(syy),
+ q(0193) => q(tmw),
+ q(0194) => q(tse),
+ q(0195) => q(tsm),
+ q(0196) => q(tsq),
+ q(0197) => q(tss),
+ q(0198) => q(tsy),
+ q(0199) => q(tza),
+ q(0200) => q(ugn),
+ q(0201) => q(ugy),
+ q(0202) => q(ukl),
+ q(0203) => q(uks),
+ q(0204) => q(urk),
+ q(0205) => q(uzn),
+ q(0206) => q(uzs),
+ q(0207) => q(vgt),
+ q(0208) => q(vkk),
+ q(0209) => q(vkt),
+ q(0210) => q(vsi),
+ q(0211) => q(vsl),
+ q(0212) => q(vsv),
+ q(0213) => q(wuu),
+ q(0214) => q(xki),
+ q(0215) => q(xml),
+ q(0216) => q(xmm),
+ q(0217) => q(xms),
+ q(0218) => q(yds),
+ q(0219) => q(ysl),
+ q(0220) => q(yue),
+ q(0221) => q(zib),
+ q(0222) => q(zlm),
+ q(0223) => q(zmi),
+ q(0224) => q(zsl),
+ q(0225) => q(zsm),
+ },
+};
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt_Retired.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt_Retired.pm
new file mode 100644
index 00000000000..06d5c98d43d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangExt_Retired.pm
@@ -0,0 +1,49 @@
+package Locale::Codes::LangExt_Retired;
+
+# This file was automatically generated. Any changes to this file will
+# be lost the next time 'deprecate_codes' is run.
+# Generated on: Thu Mar 1 08:11:47 EST 2012
+
+=pod
+
+=head1 NAME
+
+Locale::Codes::LangExt_Retired - retired langext codes for the Locale::Codes::LangExt module
+
+=head1 SYNOPSIS
+
+This module contains data used by the Locale::Codes::LangExt module. It is
+not intended to be used directly, and contains no calleable routines.
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+require 5.002;
+
+our($VERSION);
+$VERSION='3.21';
+
+$Locale::Codes::Retired{'langext'}{'alpha'}{'code'} = {
+};
+
+$Locale::Codes::Retired{'langext'}{'alpha'}{'name'} = {
+};
+
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam.pm
new file mode 100644
index 00000000000..66eed230cf6
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam.pm
@@ -0,0 +1,95 @@
+package Locale::Codes::LangFam;
+# Copyright (c) 2011-2012 Sullivan Beck
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+use strict;
+use warnings;
+require 5.002;
+
+require Exporter;
+use Carp;
+use Locale::Codes;
+use Locale::Codes::Constants;
+use Locale::Codes::LangFam_Codes;
+use Locale::Codes::LangFam_Retired;
+
+#=======================================================================
+# Public Global Variables
+#=======================================================================
+
+our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
+
+$VERSION='3.21';
+@ISA = qw(Exporter);
+@EXPORT = qw(code2langfam
+ langfam2code
+ all_langfam_codes
+ all_langfam_names
+ langfam_code2code
+ LOCALE_LANGFAM_ALPHA
+ );
+
+sub code2langfam {
+ return Locale::Codes::_code2name('langfam',@_);
+}
+
+sub langfam2code {
+ return Locale::Codes::_name2code('langfam',@_);
+}
+
+sub langfam_code2code {
+ return Locale::Codes::_code2code('langfam',@_);
+}
+
+sub all_langfam_codes {
+ return Locale::Codes::_all_codes('langfam',@_);
+}
+
+sub all_langfam_names {
+ return Locale::Codes::_all_names('langfam',@_);
+}
+
+sub rename_langfam {
+ return Locale::Codes::_rename('langfam',@_);
+}
+
+sub add_langfam {
+ return Locale::Codes::_add_code('langfam',@_);
+}
+
+sub delete_langfam {
+ return Locale::Codes::_delete_code('langfam',@_);
+}
+
+sub add_langfam_alias {
+ return Locale::Codes::_add_alias('langfam',@_);
+}
+
+sub delete_langfam_alias {
+ return Locale::Codes::_delete_alias('langfam',@_);
+}
+
+sub rename_langfam_code {
+ return Locale::Codes::_rename_code('langfam',@_);
+}
+
+sub add_langfam_code_alias {
+ return Locale::Codes::_add_code_alias('langfam',@_);
+}
+
+sub delete_langfam_code_alias {
+ return Locale::Codes::_delete_code_alias('langfam',@_);
+}
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: -2
+# End:
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam.pod
new file mode 100644
index 00000000000..7faabee5b10
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam.pod
@@ -0,0 +1,116 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::LangFam - standard codes for language extension identification
+
+=head1 SYNOPSIS
+
+ use Locale::Codes::LangFam;
+
+ $lext = code2langfam('apa'); # $lext gets 'Apache languages'
+ $code = langfam2code('Apache languages'); # $code gets 'apa'
+
+ @codes = all_langfam_codes();
+ @names = all_langfam_names();
+
+=head1 DESCRIPTION
+
+The C<Locale::Codes::LangFam> module provides access to standard codes
+used for identifying language families, such as those as defined in
+ISO 639-5.
+
+Most of the routines take an optional additional argument which
+specifies the code set to use. If not specified, the default ISO 639-5
+language family codes will be used.
+
+=head1 SUPPORTED CODE SETS
+
+There are several different code sets you can use for identifying
+language families. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $lext = code2langfam('apa','alpha');
+ $lext = code2langfam('apa',LOCALE_LANGFAM_ALPHA);
+
+The codesets currently supported are:
+
+=over 4
+
+=item B<alpha>
+
+This is the set of three-letter (lowercase) codes from ISO 639-5
+such as 'apa' for Apache languages.
+
+This is the default code set.
+
+=back
+
+=head1 ROUTINES
+
+=over 4
+
+=item B<code2langfam ( CODE [,CODESET] )>
+
+=item B<langfam2code ( NAME [,CODESET] )>
+
+=item B<langfam_code2code ( CODE ,CODESET ,CODESET2 )>
+
+=item B<all_langfam_codes ( [CODESET] )>
+
+=item B<all_langfam_names ( [CODESET] )>
+
+=item B<Locale::Codes::LangFam::rename_langfam ( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Codes::LangFam::add_langfam ( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Codes::LangFam::delete_langfam ( CODE [,CODESET] )>
+
+=item B<Locale::Codes::LangFam::add_langfam_alias ( NAME ,NEW_NAME )>
+
+=item B<Locale::Codes::LangFam::delete_langfam_alias ( NAME )>
+
+=item B<Locale::Codes::LangFam::rename_langfam_code ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::LangFam::add_langfam_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::LangFam::delete_langfam_code_alias ( CODE [,CODESET] )>
+
+These routines are all documented in the Locale::Codes::API man page.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Codes>
+
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
+=item B<http://www.loc.gov/standards/iso639-5/id.php>
+
+ISO 639-5 .
+
+=back
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 2011-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam_Codes.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam_Codes.pm
new file mode 100644
index 00000000000..9f361424d7e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam_Codes.pm
@@ -0,0 +1,1428 @@
+package Locale::Codes::LangFam_Codes;
+
+# This file was automatically generated. Any changes to this file will
+# be lost the next time 'get_codes' is run.
+# Generated on: Thu Mar 1 08:08:02 EST 2012
+
+=pod
+
+=head1 NAME
+
+Locale::Codes::LangFam_Codes - langfam codes for the Locale::Codes::LangFam module
+
+=head1 SYNOPSIS
+
+This module contains data used by the Locale::Codes::LangFam module. It is
+not intended to be used directly, and contains no calleable routines.
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+require 5.002;
+
+our($VERSION);
+$VERSION='3.21';
+
+$Locale::Codes::Data{'langfam'}{'id'} = '0115';
+
+$Locale::Codes::Data{'langfam'}{'id2names'} = {
+ q(0001) => [
+ q(Austro-Asiatic languages),
+ ],
+ q(0002) => [
+ q(Afro-Asiatic languages),
+ ],
+ q(0003) => [
+ q(Algonquian languages),
+ ],
+ q(0004) => [
+ q(Atlantic-Congo languages),
+ ],
+ q(0005) => [
+ q(Apache languages),
+ ],
+ q(0006) => [
+ q(Alacalufan languages),
+ ],
+ q(0007) => [
+ q(Algic languages),
+ ],
+ q(0008) => [
+ q(Artificial languages),
+ ],
+ q(0009) => [
+ q(Athapascan languages),
+ ],
+ q(0010) => [
+ q(Arauan languages),
+ ],
+ q(0011) => [
+ q(Australian languages),
+ ],
+ q(0012) => [
+ q(Arawakan languages),
+ ],
+ q(0013) => [
+ q(Uto-Aztecan languages),
+ ],
+ q(0014) => [
+ q(Banda languages),
+ ],
+ q(0015) => [
+ q(Bamileke languages),
+ ],
+ q(0016) => [
+ q(Baltic languages),
+ ],
+ q(0017) => [
+ q(Berber languages),
+ ],
+ q(0018) => [
+ q(Bantu languages),
+ ],
+ q(0019) => [
+ q(Batak languages),
+ ],
+ q(0020) => [
+ q(Central American Indian languages),
+ ],
+ q(0021) => [
+ q(Caucasian languages),
+ ],
+ q(0022) => [
+ q(Chibchan languages),
+ ],
+ q(0023) => [
+ q(North Caucasian languages),
+ ],
+ q(0024) => [
+ q(South Caucasian languages),
+ ],
+ q(0025) => [
+ q(Chadic languages),
+ ],
+ q(0026) => [
+ q(Caddoan languages),
+ ],
+ q(0027) => [
+ q(Celtic languages),
+ ],
+ q(0028) => [
+ q(Chamic languages),
+ ],
+ q(0029) => [
+ q(Creoles and pidgins, English-based),
+ ],
+ q(0030) => [
+ q(Creoles and pidgins, French-based),
+ ],
+ q(0031) => [
+ q(Creoles and pidgins, Portuguese-based),
+ ],
+ q(0032) => [
+ q(Creoles and pidgins),
+ ],
+ q(0033) => [
+ q(Central Sudanic languages),
+ ],
+ q(0034) => [
+ q(Cushitic languages),
+ ],
+ q(0035) => [
+ q(Land Dayak languages),
+ ],
+ q(0036) => [
+ q(Mande languages),
+ ],
+ q(0037) => [
+ q(Dravidian languages),
+ ],
+ q(0038) => [
+ q(Egyptian languages),
+ ],
+ q(0039) => [
+ q(Eskimo-Aleut languages),
+ ],
+ q(0040) => [
+ q(Basque (family)),
+ ],
+ q(0041) => [
+ q(Finno-Ugrian languages),
+ ],
+ q(0042) => [
+ q(Formosan languages),
+ ],
+ q(0043) => [
+ q(Germanic languages),
+ ],
+ q(0044) => [
+ q(East Germanic languages),
+ ],
+ q(0045) => [
+ q(North Germanic languages),
+ ],
+ q(0046) => [
+ q(West Germanic languages),
+ ],
+ q(0047) => [
+ q(Greek languages),
+ ],
+ q(0048) => [
+ q(Hmong-Mien languages),
+ ],
+ q(0049) => [
+ q(Hokan languages),
+ ],
+ q(0050) => [
+ q(Armenian (family)),
+ ],
+ q(0051) => [
+ q(Indo-Iranian languages),
+ ],
+ q(0052) => [
+ q(Ijo languages),
+ ],
+ q(0053) => [
+ q(Indic languages),
+ ],
+ q(0054) => [
+ q(Indo-European languages),
+ ],
+ q(0055) => [
+ q(Iranian languages),
+ ],
+ q(0056) => [
+ q(Iroquoian languages),
+ ],
+ q(0057) => [
+ q(Italic languages),
+ ],
+ q(0058) => [
+ q(Japanese (family)),
+ ],
+ q(0059) => [
+ q(Karen languages),
+ ],
+ q(0060) => [
+ q(Kordofanian languages),
+ ],
+ q(0061) => [
+ q(Khoisan languages),
+ ],
+ q(0062) => [
+ q(Kru languages),
+ ],
+ q(0063) => [
+ q(Austronesian languages),
+ ],
+ q(0064) => [
+ q(Mon-Khmer languages),
+ ],
+ q(0065) => [
+ q(Manobo languages),
+ ],
+ q(0066) => [
+ q(Munda languages),
+ ],
+ q(0067) => [
+ q(Mayan languages),
+ ],
+ q(0068) => [
+ q(Nahuatl languages),
+ ],
+ q(0069) => [
+ q(North American Indian languages),
+ ],
+ q(0070) => [
+ q(Trans-New Guinea languages),
+ ],
+ q(0071) => [
+ q(Niger-Kordofanian languages),
+ ],
+ q(0072) => [
+ q(Nubian languages),
+ ],
+ q(0073) => [
+ q(Oto-Manguean languages),
+ ],
+ q(0074) => [
+ q(Omotic languages),
+ ],
+ q(0075) => [
+ q(Otomian languages),
+ ],
+ q(0076) => [
+ q(Papuan languages),
+ ],
+ q(0077) => [
+ q(Philippine languages),
+ ],
+ q(0078) => [
+ q(Central Malayo-Polynesian languages),
+ ],
+ q(0079) => [
+ q(Malayo-Polynesian languages),
+ ],
+ q(0080) => [
+ q(Eastern Malayo-Polynesian languages),
+ ],
+ q(0081) => [
+ q(Western Malayo-Polynesian languages),
+ ],
+ q(0082) => [
+ q(Prakrit languages),
+ ],
+ q(0083) => [
+ q(Quechuan (family)),
+ ],
+ q(0084) => [
+ q(Romance languages),
+ ],
+ q(0085) => [
+ q(South American Indian languages),
+ ],
+ q(0086) => [
+ q(Salishan languages),
+ ],
+ q(0087) => [
+ q(Eastern Sudanic languages),
+ ],
+ q(0088) => [
+ q(Semitic languages),
+ ],
+ q(0089) => [
+ q(sign languages),
+ ],
+ q(0090) => [
+ q(Siouan languages),
+ ],
+ q(0091) => [
+ q(Sino-Tibetan languages),
+ ],
+ q(0092) => [
+ q(Slavic languages),
+ ],
+ q(0093) => [
+ q(Sami languages),
+ ],
+ q(0094) => [
+ q(Songhai languages),
+ ],
+ q(0095) => [
+ q(Albanian languages),
+ ],
+ q(0096) => [
+ q(Nilo-Saharan languages),
+ ],
+ q(0097) => [
+ q(Samoyedic languages),
+ ],
+ q(0098) => [
+ q(Tai languages),
+ ],
+ q(0099) => [
+ q(Tibeto-Burman languages),
+ ],
+ q(0100) => [
+ q(Turkic languages),
+ ],
+ q(0101) => [
+ q(Tupi languages),
+ ],
+ q(0102) => [
+ q(Altaic languages),
+ ],
+ q(0103) => [
+ q(Tungus languages),
+ ],
+ q(0104) => [
+ q(Uralic languages),
+ ],
+ q(0105) => [
+ q(Wakashan languages),
+ ],
+ q(0106) => [
+ q(Sorbian languages),
+ ],
+ q(0107) => [
+ q(Mongolian languages),
+ ],
+ q(0108) => [
+ q(Na-Dene languages),
+ ],
+ q(0109) => [
+ q(Yupik languages),
+ ],
+ q(0110) => [
+ q(Chinese (family)),
+ ],
+ q(0111) => [
+ q(East Slavic languages),
+ ],
+ q(0112) => [
+ q(South Slavic languages),
+ ],
+ q(0113) => [
+ q(West Slavic languages),
+ ],
+ q(0114) => [
+ q(Zande languages),
+ ],
+};
+
+$Locale::Codes::Data{'langfam'}{'alias2id'} = {
+ q(afro-asiatic languages) => [
+ q(0002),
+ q(0),
+ ],
+ q(alacalufan languages) => [
+ q(0006),
+ q(0),
+ ],
+ q(albanian languages) => [
+ q(0095),
+ q(0),
+ ],
+ q(algic languages) => [
+ q(0007),
+ q(0),
+ ],
+ q(algonquian languages) => [
+ q(0003),
+ q(0),
+ ],
+ q(altaic languages) => [
+ q(0102),
+ q(0),
+ ],
+ q(apache languages) => [
+ q(0005),
+ q(0),
+ ],
+ q(arauan languages) => [
+ q(0010),
+ q(0),
+ ],
+ q(arawakan languages) => [
+ q(0012),
+ q(0),
+ ],
+ q(armenian (family)) => [
+ q(0050),
+ q(0),
+ ],
+ q(artificial languages) => [
+ q(0008),
+ q(0),
+ ],
+ q(athapascan languages) => [
+ q(0009),
+ q(0),
+ ],
+ q(atlantic-congo languages) => [
+ q(0004),
+ q(0),
+ ],
+ q(australian languages) => [
+ q(0011),
+ q(0),
+ ],
+ q(austro-asiatic languages) => [
+ q(0001),
+ q(0),
+ ],
+ q(austronesian languages) => [
+ q(0063),
+ q(0),
+ ],
+ q(baltic languages) => [
+ q(0016),
+ q(0),
+ ],
+ q(bamileke languages) => [
+ q(0015),
+ q(0),
+ ],
+ q(banda languages) => [
+ q(0014),
+ q(0),
+ ],
+ q(bantu languages) => [
+ q(0018),
+ q(0),
+ ],
+ q(basque (family)) => [
+ q(0040),
+ q(0),
+ ],
+ q(batak languages) => [
+ q(0019),
+ q(0),
+ ],
+ q(berber languages) => [
+ q(0017),
+ q(0),
+ ],
+ q(caddoan languages) => [
+ q(0026),
+ q(0),
+ ],
+ q(caucasian languages) => [
+ q(0021),
+ q(0),
+ ],
+ q(celtic languages) => [
+ q(0027),
+ q(0),
+ ],
+ q(central american indian languages) => [
+ q(0020),
+ q(0),
+ ],
+ q(central malayo-polynesian languages) => [
+ q(0078),
+ q(0),
+ ],
+ q(central sudanic languages) => [
+ q(0033),
+ q(0),
+ ],
+ q(chadic languages) => [
+ q(0025),
+ q(0),
+ ],
+ q(chamic languages) => [
+ q(0028),
+ q(0),
+ ],
+ q(chibchan languages) => [
+ q(0022),
+ q(0),
+ ],
+ q(chinese (family)) => [
+ q(0110),
+ q(0),
+ ],
+ q(creoles and pidgins) => [
+ q(0032),
+ q(0),
+ ],
+ q(creoles and pidgins, english-based) => [
+ q(0029),
+ q(0),
+ ],
+ q(creoles and pidgins, french-based) => [
+ q(0030),
+ q(0),
+ ],
+ q(creoles and pidgins, portuguese-based) => [
+ q(0031),
+ q(0),
+ ],
+ q(cushitic languages) => [
+ q(0034),
+ q(0),
+ ],
+ q(dravidian languages) => [
+ q(0037),
+ q(0),
+ ],
+ q(east germanic languages) => [
+ q(0044),
+ q(0),
+ ],
+ q(east slavic languages) => [
+ q(0111),
+ q(0),
+ ],
+ q(eastern malayo-polynesian languages) => [
+ q(0080),
+ q(0),
+ ],
+ q(eastern sudanic languages) => [
+ q(0087),
+ q(0),
+ ],
+ q(egyptian languages) => [
+ q(0038),
+ q(0),
+ ],
+ q(eskimo-aleut languages) => [
+ q(0039),
+ q(0),
+ ],
+ q(finno-ugrian languages) => [
+ q(0041),
+ q(0),
+ ],
+ q(formosan languages) => [
+ q(0042),
+ q(0),
+ ],
+ q(germanic languages) => [
+ q(0043),
+ q(0),
+ ],
+ q(greek languages) => [
+ q(0047),
+ q(0),
+ ],
+ q(hmong-mien languages) => [
+ q(0048),
+ q(0),
+ ],
+ q(hokan languages) => [
+ q(0049),
+ q(0),
+ ],
+ q(ijo languages) => [
+ q(0052),
+ q(0),
+ ],
+ q(indic languages) => [
+ q(0053),
+ q(0),
+ ],
+ q(indo-european languages) => [
+ q(0054),
+ q(0),
+ ],
+ q(indo-iranian languages) => [
+ q(0051),
+ q(0),
+ ],
+ q(iranian languages) => [
+ q(0055),
+ q(0),
+ ],
+ q(iroquoian languages) => [
+ q(0056),
+ q(0),
+ ],
+ q(italic languages) => [
+ q(0057),
+ q(0),
+ ],
+ q(japanese (family)) => [
+ q(0058),
+ q(0),
+ ],
+ q(karen languages) => [
+ q(0059),
+ q(0),
+ ],
+ q(khoisan languages) => [
+ q(0061),
+ q(0),
+ ],
+ q(kordofanian languages) => [
+ q(0060),
+ q(0),
+ ],
+ q(kru languages) => [
+ q(0062),
+ q(0),
+ ],
+ q(land dayak languages) => [
+ q(0035),
+ q(0),
+ ],
+ q(malayo-polynesian languages) => [
+ q(0079),
+ q(0),
+ ],
+ q(mande languages) => [
+ q(0036),
+ q(0),
+ ],
+ q(manobo languages) => [
+ q(0065),
+ q(0),
+ ],
+ q(mayan languages) => [
+ q(0067),
+ q(0),
+ ],
+ q(mon-khmer languages) => [
+ q(0064),
+ q(0),
+ ],
+ q(mongolian languages) => [
+ q(0107),
+ q(0),
+ ],
+ q(munda languages) => [
+ q(0066),
+ q(0),
+ ],
+ q(na-dene languages) => [
+ q(0108),
+ q(0),
+ ],
+ q(nahuatl languages) => [
+ q(0068),
+ q(0),
+ ],
+ q(niger-kordofanian languages) => [
+ q(0071),
+ q(0),
+ ],
+ q(nilo-saharan languages) => [
+ q(0096),
+ q(0),
+ ],
+ q(north american indian languages) => [
+ q(0069),
+ q(0),
+ ],
+ q(north caucasian languages) => [
+ q(0023),
+ q(0),
+ ],
+ q(north germanic languages) => [
+ q(0045),
+ q(0),
+ ],
+ q(nubian languages) => [
+ q(0072),
+ q(0),
+ ],
+ q(omotic languages) => [
+ q(0074),
+ q(0),
+ ],
+ q(oto-manguean languages) => [
+ q(0073),
+ q(0),
+ ],
+ q(otomian languages) => [
+ q(0075),
+ q(0),
+ ],
+ q(papuan languages) => [
+ q(0076),
+ q(0),
+ ],
+ q(philippine languages) => [
+ q(0077),
+ q(0),
+ ],
+ q(prakrit languages) => [
+ q(0082),
+ q(0),
+ ],
+ q(quechuan (family)) => [
+ q(0083),
+ q(0),
+ ],
+ q(romance languages) => [
+ q(0084),
+ q(0),
+ ],
+ q(salishan languages) => [
+ q(0086),
+ q(0),
+ ],
+ q(sami languages) => [
+ q(0093),
+ q(0),
+ ],
+ q(samoyedic languages) => [
+ q(0097),
+ q(0),
+ ],
+ q(semitic languages) => [
+ q(0088),
+ q(0),
+ ],
+ q(sign languages) => [
+ q(0089),
+ q(0),
+ ],
+ q(sino-tibetan languages) => [
+ q(0091),
+ q(0),
+ ],
+ q(siouan languages) => [
+ q(0090),
+ q(0),
+ ],
+ q(slavic languages) => [
+ q(0092),
+ q(0),
+ ],
+ q(songhai languages) => [
+ q(0094),
+ q(0),
+ ],
+ q(sorbian languages) => [
+ q(0106),
+ q(0),
+ ],
+ q(south american indian languages) => [
+ q(0085),
+ q(0),
+ ],
+ q(south caucasian languages) => [
+ q(0024),
+ q(0),
+ ],
+ q(south slavic languages) => [
+ q(0112),
+ q(0),
+ ],
+ q(tai languages) => [
+ q(0098),
+ q(0),
+ ],
+ q(tibeto-burman languages) => [
+ q(0099),
+ q(0),
+ ],
+ q(trans-new guinea languages) => [
+ q(0070),
+ q(0),
+ ],
+ q(tungus languages) => [
+ q(0103),
+ q(0),
+ ],
+ q(tupi languages) => [
+ q(0101),
+ q(0),
+ ],
+ q(turkic languages) => [
+ q(0100),
+ q(0),
+ ],
+ q(uralic languages) => [
+ q(0104),
+ q(0),
+ ],
+ q(uto-aztecan languages) => [
+ q(0013),
+ q(0),
+ ],
+ q(wakashan languages) => [
+ q(0105),
+ q(0),
+ ],
+ q(west germanic languages) => [
+ q(0046),
+ q(0),
+ ],
+ q(west slavic languages) => [
+ q(0113),
+ q(0),
+ ],
+ q(western malayo-polynesian languages) => [
+ q(0081),
+ q(0),
+ ],
+ q(yupik languages) => [
+ q(0109),
+ q(0),
+ ],
+ q(zande languages) => [
+ q(0114),
+ q(0),
+ ],
+};
+
+$Locale::Codes::Data{'langfam'}{'code2id'} = {
+ q(alpha) => {
+ q(aav) => [
+ q(0001),
+ q(0),
+ ],
+ q(afa) => [
+ q(0002),
+ q(0),
+ ],
+ q(alg) => [
+ q(0003),
+ q(0),
+ ],
+ q(alv) => [
+ q(0004),
+ q(0),
+ ],
+ q(apa) => [
+ q(0005),
+ q(0),
+ ],
+ q(aqa) => [
+ q(0006),
+ q(0),
+ ],
+ q(aql) => [
+ q(0007),
+ q(0),
+ ],
+ q(art) => [
+ q(0008),
+ q(0),
+ ],
+ q(ath) => [
+ q(0009),
+ q(0),
+ ],
+ q(auf) => [
+ q(0010),
+ q(0),
+ ],
+ q(aus) => [
+ q(0011),
+ q(0),
+ ],
+ q(awd) => [
+ q(0012),
+ q(0),
+ ],
+ q(azc) => [
+ q(0013),
+ q(0),
+ ],
+ q(bad) => [
+ q(0014),
+ q(0),
+ ],
+ q(bai) => [
+ q(0015),
+ q(0),
+ ],
+ q(bat) => [
+ q(0016),
+ q(0),
+ ],
+ q(ber) => [
+ q(0017),
+ q(0),
+ ],
+ q(bnt) => [
+ q(0018),
+ q(0),
+ ],
+ q(btk) => [
+ q(0019),
+ q(0),
+ ],
+ q(cai) => [
+ q(0020),
+ q(0),
+ ],
+ q(cau) => [
+ q(0021),
+ q(0),
+ ],
+ q(cba) => [
+ q(0022),
+ q(0),
+ ],
+ q(ccn) => [
+ q(0023),
+ q(0),
+ ],
+ q(ccs) => [
+ q(0024),
+ q(0),
+ ],
+ q(cdc) => [
+ q(0025),
+ q(0),
+ ],
+ q(cdd) => [
+ q(0026),
+ q(0),
+ ],
+ q(cel) => [
+ q(0027),
+ q(0),
+ ],
+ q(cmc) => [
+ q(0028),
+ q(0),
+ ],
+ q(cpe) => [
+ q(0029),
+ q(0),
+ ],
+ q(cpf) => [
+ q(0030),
+ q(0),
+ ],
+ q(cpp) => [
+ q(0031),
+ q(0),
+ ],
+ q(crp) => [
+ q(0032),
+ q(0),
+ ],
+ q(csu) => [
+ q(0033),
+ q(0),
+ ],
+ q(cus) => [
+ q(0034),
+ q(0),
+ ],
+ q(day) => [
+ q(0035),
+ q(0),
+ ],
+ q(dmn) => [
+ q(0036),
+ q(0),
+ ],
+ q(dra) => [
+ q(0037),
+ q(0),
+ ],
+ q(egx) => [
+ q(0038),
+ q(0),
+ ],
+ q(esx) => [
+ q(0039),
+ q(0),
+ ],
+ q(euq) => [
+ q(0040),
+ q(0),
+ ],
+ q(fiu) => [
+ q(0041),
+ q(0),
+ ],
+ q(fox) => [
+ q(0042),
+ q(0),
+ ],
+ q(gem) => [
+ q(0043),
+ q(0),
+ ],
+ q(gme) => [
+ q(0044),
+ q(0),
+ ],
+ q(gmq) => [
+ q(0045),
+ q(0),
+ ],
+ q(gmw) => [
+ q(0046),
+ q(0),
+ ],
+ q(grk) => [
+ q(0047),
+ q(0),
+ ],
+ q(hmx) => [
+ q(0048),
+ q(0),
+ ],
+ q(hok) => [
+ q(0049),
+ q(0),
+ ],
+ q(hyx) => [
+ q(0050),
+ q(0),
+ ],
+ q(iir) => [
+ q(0051),
+ q(0),
+ ],
+ q(ijo) => [
+ q(0052),
+ q(0),
+ ],
+ q(inc) => [
+ q(0053),
+ q(0),
+ ],
+ q(ine) => [
+ q(0054),
+ q(0),
+ ],
+ q(ira) => [
+ q(0055),
+ q(0),
+ ],
+ q(iro) => [
+ q(0056),
+ q(0),
+ ],
+ q(itc) => [
+ q(0057),
+ q(0),
+ ],
+ q(jpx) => [
+ q(0058),
+ q(0),
+ ],
+ q(kar) => [
+ q(0059),
+ q(0),
+ ],
+ q(kdo) => [
+ q(0060),
+ q(0),
+ ],
+ q(khi) => [
+ q(0061),
+ q(0),
+ ],
+ q(kro) => [
+ q(0062),
+ q(0),
+ ],
+ q(map) => [
+ q(0063),
+ q(0),
+ ],
+ q(mkh) => [
+ q(0064),
+ q(0),
+ ],
+ q(mno) => [
+ q(0065),
+ q(0),
+ ],
+ q(mun) => [
+ q(0066),
+ q(0),
+ ],
+ q(myn) => [
+ q(0067),
+ q(0),
+ ],
+ q(nah) => [
+ q(0068),
+ q(0),
+ ],
+ q(nai) => [
+ q(0069),
+ q(0),
+ ],
+ q(ngf) => [
+ q(0070),
+ q(0),
+ ],
+ q(nic) => [
+ q(0071),
+ q(0),
+ ],
+ q(nub) => [
+ q(0072),
+ q(0),
+ ],
+ q(omq) => [
+ q(0073),
+ q(0),
+ ],
+ q(omv) => [
+ q(0074),
+ q(0),
+ ],
+ q(oto) => [
+ q(0075),
+ q(0),
+ ],
+ q(paa) => [
+ q(0076),
+ q(0),
+ ],
+ q(phi) => [
+ q(0077),
+ q(0),
+ ],
+ q(plf) => [
+ q(0078),
+ q(0),
+ ],
+ q(poz) => [
+ q(0079),
+ q(0),
+ ],
+ q(pqe) => [
+ q(0080),
+ q(0),
+ ],
+ q(pqw) => [
+ q(0081),
+ q(0),
+ ],
+ q(pra) => [
+ q(0082),
+ q(0),
+ ],
+ q(qwe) => [
+ q(0083),
+ q(0),
+ ],
+ q(roa) => [
+ q(0084),
+ q(0),
+ ],
+ q(sai) => [
+ q(0085),
+ q(0),
+ ],
+ q(sal) => [
+ q(0086),
+ q(0),
+ ],
+ q(sdv) => [
+ q(0087),
+ q(0),
+ ],
+ q(sem) => [
+ q(0088),
+ q(0),
+ ],
+ q(sgn) => [
+ q(0089),
+ q(0),
+ ],
+ q(sio) => [
+ q(0090),
+ q(0),
+ ],
+ q(sit) => [
+ q(0091),
+ q(0),
+ ],
+ q(sla) => [
+ q(0092),
+ q(0),
+ ],
+ q(smi) => [
+ q(0093),
+ q(0),
+ ],
+ q(son) => [
+ q(0094),
+ q(0),
+ ],
+ q(sqj) => [
+ q(0095),
+ q(0),
+ ],
+ q(ssa) => [
+ q(0096),
+ q(0),
+ ],
+ q(syd) => [
+ q(0097),
+ q(0),
+ ],
+ q(tai) => [
+ q(0098),
+ q(0),
+ ],
+ q(tbq) => [
+ q(0099),
+ q(0),
+ ],
+ q(trk) => [
+ q(0100),
+ q(0),
+ ],
+ q(tup) => [
+ q(0101),
+ q(0),
+ ],
+ q(tut) => [
+ q(0102),
+ q(0),
+ ],
+ q(tuw) => [
+ q(0103),
+ q(0),
+ ],
+ q(urj) => [
+ q(0104),
+ q(0),
+ ],
+ q(wak) => [
+ q(0105),
+ q(0),
+ ],
+ q(wen) => [
+ q(0106),
+ q(0),
+ ],
+ q(xgn) => [
+ q(0107),
+ q(0),
+ ],
+ q(xnd) => [
+ q(0108),
+ q(0),
+ ],
+ q(ypk) => [
+ q(0109),
+ q(0),
+ ],
+ q(zhx) => [
+ q(0110),
+ q(0),
+ ],
+ q(zle) => [
+ q(0111),
+ q(0),
+ ],
+ q(zls) => [
+ q(0112),
+ q(0),
+ ],
+ q(zlw) => [
+ q(0113),
+ q(0),
+ ],
+ q(znd) => [
+ q(0114),
+ q(0),
+ ],
+ },
+};
+
+$Locale::Codes::Data{'langfam'}{'id2code'} = {
+ q(alpha) => {
+ q(0001) => q(aav),
+ q(0002) => q(afa),
+ q(0003) => q(alg),
+ q(0004) => q(alv),
+ q(0005) => q(apa),
+ q(0006) => q(aqa),
+ q(0007) => q(aql),
+ q(0008) => q(art),
+ q(0009) => q(ath),
+ q(0010) => q(auf),
+ q(0011) => q(aus),
+ q(0012) => q(awd),
+ q(0013) => q(azc),
+ q(0014) => q(bad),
+ q(0015) => q(bai),
+ q(0016) => q(bat),
+ q(0017) => q(ber),
+ q(0018) => q(bnt),
+ q(0019) => q(btk),
+ q(0020) => q(cai),
+ q(0021) => q(cau),
+ q(0022) => q(cba),
+ q(0023) => q(ccn),
+ q(0024) => q(ccs),
+ q(0025) => q(cdc),
+ q(0026) => q(cdd),
+ q(0027) => q(cel),
+ q(0028) => q(cmc),
+ q(0029) => q(cpe),
+ q(0030) => q(cpf),
+ q(0031) => q(cpp),
+ q(0032) => q(crp),
+ q(0033) => q(csu),
+ q(0034) => q(cus),
+ q(0035) => q(day),
+ q(0036) => q(dmn),
+ q(0037) => q(dra),
+ q(0038) => q(egx),
+ q(0039) => q(esx),
+ q(0040) => q(euq),
+ q(0041) => q(fiu),
+ q(0042) => q(fox),
+ q(0043) => q(gem),
+ q(0044) => q(gme),
+ q(0045) => q(gmq),
+ q(0046) => q(gmw),
+ q(0047) => q(grk),
+ q(0048) => q(hmx),
+ q(0049) => q(hok),
+ q(0050) => q(hyx),
+ q(0051) => q(iir),
+ q(0052) => q(ijo),
+ q(0053) => q(inc),
+ q(0054) => q(ine),
+ q(0055) => q(ira),
+ q(0056) => q(iro),
+ q(0057) => q(itc),
+ q(0058) => q(jpx),
+ q(0059) => q(kar),
+ q(0060) => q(kdo),
+ q(0061) => q(khi),
+ q(0062) => q(kro),
+ q(0063) => q(map),
+ q(0064) => q(mkh),
+ q(0065) => q(mno),
+ q(0066) => q(mun),
+ q(0067) => q(myn),
+ q(0068) => q(nah),
+ q(0069) => q(nai),
+ q(0070) => q(ngf),
+ q(0071) => q(nic),
+ q(0072) => q(nub),
+ q(0073) => q(omq),
+ q(0074) => q(omv),
+ q(0075) => q(oto),
+ q(0076) => q(paa),
+ q(0077) => q(phi),
+ q(0078) => q(plf),
+ q(0079) => q(poz),
+ q(0080) => q(pqe),
+ q(0081) => q(pqw),
+ q(0082) => q(pra),
+ q(0083) => q(qwe),
+ q(0084) => q(roa),
+ q(0085) => q(sai),
+ q(0086) => q(sal),
+ q(0087) => q(sdv),
+ q(0088) => q(sem),
+ q(0089) => q(sgn),
+ q(0090) => q(sio),
+ q(0091) => q(sit),
+ q(0092) => q(sla),
+ q(0093) => q(smi),
+ q(0094) => q(son),
+ q(0095) => q(sqj),
+ q(0096) => q(ssa),
+ q(0097) => q(syd),
+ q(0098) => q(tai),
+ q(0099) => q(tbq),
+ q(0100) => q(trk),
+ q(0101) => q(tup),
+ q(0102) => q(tut),
+ q(0103) => q(tuw),
+ q(0104) => q(urj),
+ q(0105) => q(wak),
+ q(0106) => q(wen),
+ q(0107) => q(xgn),
+ q(0108) => q(xnd),
+ q(0109) => q(ypk),
+ q(0110) => q(zhx),
+ q(0111) => q(zle),
+ q(0112) => q(zls),
+ q(0113) => q(zlw),
+ q(0114) => q(znd),
+ },
+};
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam_Retired.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam_Retired.pm
new file mode 100644
index 00000000000..940e7bef98e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangFam_Retired.pm
@@ -0,0 +1,49 @@
+package Locale::Codes::LangFam_Retired;
+
+# This file was automatically generated. Any changes to this file will
+# be lost the next time 'deprecate_codes' is run.
+# Generated on: Tue Sep 27 15:40:31 EDT 2011
+
+=pod
+
+=head1 NAME
+
+Locale::Codes::LangFam_Retired - retired langfam codes for the Locale::Codes::LangFam module
+
+=head1 SYNOPSIS
+
+This module contains data used by the Locale::Codes::LangFam module. It is
+not intended to be used directly, and contains no calleable routines.
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+require 5.002;
+
+our($VERSION);
+$VERSION='3.21';
+
+$Locale::Codes::Retired{'langfam'}{'alpha'}{'code'} = {
+};
+
+$Locale::Codes::Retired{'langfam'}{'alpha'}{'name'} = {
+};
+
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar.pm
new file mode 100644
index 00000000000..e3ec0b69d43
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar.pm
@@ -0,0 +1,96 @@
+package Locale::Codes::LangVar;
+# Copyright (c) 2011-2012 Sullivan Beck
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+use strict;
+use warnings;
+require 5.002;
+
+require Exporter;
+use Carp;
+use Locale::Codes;
+use Locale::Codes::Constants;
+use Locale::Codes::LangVar_Codes;
+use Locale::Codes::LangVar_Retired;
+
+#=======================================================================
+# Public Global Variables
+#=======================================================================
+
+our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
+
+$VERSION='3.21';
+@ISA = qw(Exporter);
+@EXPORT = qw(code2langvar
+ langvar2code
+ all_langvar_codes
+ all_langvar_names
+ langvar_code2code
+ LOCALE_LANGVAR_ALPHA
+ );
+
+sub code2langvar {
+ return Locale::Codes::_code2name('langvar',@_);
+}
+
+sub langvar2code {
+ return Locale::Codes::_name2code('langvar',@_);
+}
+
+sub langvar_code2code {
+
+ return Locale::Codes::_code2code('langvar',@_);
+}
+
+sub all_langvar_codes {
+ return Locale::Codes::_all_codes('langvar',@_);
+}
+
+sub all_langvar_names {
+ return Locale::Codes::_all_names('langvar',@_);
+}
+
+sub rename_langvar {
+ return Locale::Codes::_rename('langvar',@_);
+}
+
+sub add_langvar {
+ return Locale::Codes::_add_code('langvar',@_);
+}
+
+sub delete_langvar {
+ return Locale::Codes::_delete_code('langvar',@_);
+}
+
+sub add_langvar_alias {
+ return Locale::Codes::_add_alias('langvar',@_);
+}
+
+sub delete_langvar_alias {
+ return Locale::Codes::_delete_alias('langvar',@_);
+}
+
+sub rename_langvar_code {
+ return Locale::Codes::_rename_code('langvar',@_);
+}
+
+sub add_langvar_code_alias {
+ return Locale::Codes::_add_code_alias('langvar',@_);
+}
+
+sub delete_langvar_code_alias {
+ return Locale::Codes::_delete_code_alias('langvar',@_);
+}
+
+1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: -2
+# End:
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar.pod
new file mode 100644
index 00000000000..cb74ab7790d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar.pod
@@ -0,0 +1,118 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::LangVar - standard codes for language variation identification
+
+=head1 SYNOPSIS
+
+ use Locale::Codes::LangVar;
+
+ $lvar = code2langvar('acm'); # $lvar gets 'Mesopotamian Arabic'
+ $code = langvar2code('Mesopotamian Arabic'); # $code gets 'acm'
+
+ @codes = all_langvar_codes();
+ @names = all_langvar_names();
+
+=head1 DESCRIPTION
+
+The C<Locale::Codes::LangVar> module provides access to standard codes
+used for identifying language variations, such as those as defined in
+the IANA language registry.
+
+Most of the routines take an optional additional argument which
+specifies the code set to use. If not specified, the default IANA
+language registry codes will be used.
+
+=head1 SUPPORTED CODE SETS
+
+There are several different code sets you can use for identifying
+language variations. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $lvar = code2langvar('en','alpha-2');
+ $lvar = code2langvar('en',LOCALE_CODE_ALPHA_2);
+
+The codesets currently supported are:
+
+=over 4
+
+=item B<alpha>
+
+This is the set of alphanumeric codes from the IANA
+language registry, such as 'arevela' for Eastern Armenian.
+
+This code set is identified with the symbol C<LOCALE_LANGVAR_ALPHA>.
+
+This is the default code set.
+
+=back
+
+=head1 ROUTINES
+
+=over 4
+
+=item B<code2langvar ( CODE [,CODESET] )>
+
+=item B<langvar2code ( NAME [,CODESET] )>
+
+=item B<langvar_code2code ( CODE ,CODESET ,CODESET2 )>
+
+=item B<all_langvar_codes ( [CODESET] )>
+
+=item B<all_langvar_names ( [CODESET] )>
+
+=item B<Locale::Codes::LangVar::rename_langvar ( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Codes::LangVar::add_langvar ( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Codes::LangVar::delete_langvar ( CODE [,CODESET] )>
+
+=item B<Locale::Codes::LangVar::add_langvar_alias ( NAME ,NEW_NAME )>
+
+=item B<Locale::Codes::LangVar::delete_langvar_alias ( NAME )>
+
+=item B<Locale::Codes::LangVar::rename_langvar_code ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::LangVar::add_langvar_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::LangVar::delete_langvar_code_alias ( CODE [,CODESET] )>
+
+These routines are all documented in the Locale::Codes::API man page.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Codes>
+
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
+=item B<http://www.iana.org/assignments/language-subtag-registry>
+
+The IANA language subtag registry.
+
+=back
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 2011-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar_Codes.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar_Codes.pm
new file mode 100644
index 00000000000..38531b74db2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar_Codes.pm
@@ -0,0 +1,828 @@
+package Locale::Codes::LangVar_Codes;
+
+# This file was automatically generated. Any changes to this file will
+# be lost the next time 'get_codes' is run.
+# Generated on: Thu Mar 1 08:07:50 EST 2012
+
+=pod
+
+=head1 NAME
+
+Locale::Codes::LangVar_Codes - langvar codes for the Locale::Codes::LangVar module
+
+=head1 SYNOPSIS
+
+This module contains data used by the Locale::Codes::LangVar module. It is
+not intended to be used directly, and contains no calleable routines.
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+require 5.002;
+
+our($VERSION);
+$VERSION='3.21';
+
+$Locale::Codes::Data{'langvar'}{'id'} = '0057';
+
+$Locale::Codes::Data{'langvar'}{'id2names'} = {
+ q(0001) => [
+ q(Late Middle French (to 1606)),
+ ],
+ q(0002) => [
+ q(Early Modern French),
+ ],
+ q(0003) => [
+ q(Traditional German orthography),
+ ],
+ q(0004) => [
+ q("Academic" ("governmental") variant of Belarusian as),
+ q("Academic" ("governmental") variant of Belarusian as),
+ ],
+ q(0005) => [
+ q(Standardized Resian orthography),
+ ],
+ q(0006) => [
+ q(German orthography of 1996),
+ ],
+ q(0007) => [
+ q(ALA-LC Romanization, 1997 edition),
+ ],
+ q(0008) => [
+ q(Aluku dialect),
+ q(Boni dialect),
+ ],
+ q(0009) => [
+ q(Eastern Armenian),
+ ],
+ q(0010) => [
+ q(Western Armenian),
+ ],
+ q(0011) => [
+ q(Unified Turkic Latin Alphabet (Historical)),
+ ],
+ q(0012) => [
+ q(Buddhist Hybrid Sanskrit),
+ ],
+ q(0013) => [
+ q(Biscayan dialect of Basque),
+ ],
+ q(0014) => [
+ q(The San Giorgio dialect of Resian),
+ q(The Bila dialect of Resian),
+ ],
+ q(0015) => [
+ q(Boontling),
+ ],
+ q(0016) => [
+ q(Early Modern English (1500-1700)),
+ ],
+ q(0017) => [
+ q(International Phonetic Alphabet),
+ ],
+ q(0018) => [
+ q(Uralic Phonetic Alphabet),
+ ],
+ q(0019) => [
+ q(X-SAMPA transcription),
+ ],
+ q(0020) => [
+ q(Hepburn romanization),
+ ],
+ q(0021) => [
+ q(Norwegian in Hognorsk (High Norwegian) orthography),
+ ],
+ q(0022) => [
+ q(Epic Sanskrit),
+ ],
+ q(0023) => [
+ q(Jauer dialect of Romansh),
+ ],
+ q(0024) => [
+ q(Jyutping Cantonese Romanization),
+ ],
+ q(0025) => [
+ q(Common Cornish orthography of Revived Cornish),
+ ],
+ q(0026) => [
+ q(Classical Sanskrit),
+ ],
+ q(0027) => [
+ q(The Lipovaz dialect of Resian),
+ q(The Lipovec dialect of Resian),
+ ],
+ q(0028) => [
+ q(Post-1917 Russian orthography),
+ ],
+ q(0029) => [
+ q(Monotonic Greek),
+ ],
+ q(0030) => [
+ q(Ndyuka dialect),
+ q(Aukan dialect),
+ ],
+ q(0031) => [
+ q(Natisone dialect),
+ q(Nadiza dialect),
+ ],
+ q(0032) => [
+ q(The Gniva dialect of Resian),
+ q(The Njiva dialect of Resian),
+ ],
+ q(0033) => [
+ q(Volapük nulik),
+ q(Volapük perevidöl),
+ q(Volapük nulädik),
+ q(de Jong's Volapük),
+ q(New Volapük),
+ q(Revised Volapük),
+ q(Modern Volapük),
+ ],
+ q(0034) => [
+ q(The Oseacco dialect of Resian),
+ q(The Osojane dialect of Resian),
+ ],
+ q(0035) => [
+ q(Pamaka dialect),
+ ],
+ q(0036) => [
+ q(Petrine orthography),
+ ],
+ q(0037) => [
+ q(Pinyin romanization),
+ ],
+ q(0038) => [
+ q(Polytonic Greek),
+ ],
+ q(0039) => [
+ q(Puter idiom of Romansh),
+ ],
+ q(0040) => [
+ q(Volapük rigik),
+ q(Schleyer's Volapük),
+ q(Original Volapük),
+ q(Classic Volapük),
+ ],
+ q(0041) => [
+ q(Resian),
+ q(Resianic),
+ q(Rezijan),
+ ],
+ q(0042) => [
+ q(Rumantsch Grischun),
+ ],
+ q(0043) => [
+ q(Scottish Standard English),
+ ],
+ q(0044) => [
+ q(Scouse),
+ ],
+ q(0045) => [
+ q(The Stolvizza dialect of Resian),
+ q(The Solbica dialect of Resian),
+ ],
+ q(0046) => [
+ q(Surmiran idiom of Romansh),
+ ],
+ q(0047) => [
+ q(Sursilvan idiom of Romansh),
+ ],
+ q(0048) => [
+ q(Sutsilvan idiom of Romansh),
+ ],
+ q(0049) => [
+ q(Belarusian in Taraskievica orthography),
+ ],
+ q(0050) => [
+ q(Unified Cornish orthography of Revived Cornish),
+ ],
+ q(0051) => [
+ q(Unified Cornish Revised orthography of Revived Cornish),
+ ],
+ q(0052) => [
+ q(Ulster dialect of Scots),
+ ],
+ q(0053) => [
+ q(Vedic Sanskrit),
+ ],
+ q(0054) => [
+ q(Valencian),
+ ],
+ q(0055) => [
+ q(Vallader idiom of Romansh),
+ ],
+ q(0056) => [
+ q(Wade-Giles romanization),
+ ],
+};
+
+$Locale::Codes::Data{'langvar'}{'alias2id'} = {
+ q("academic" ("governmental") variant of belarusian as) => [
+ q(0004),
+ q(0),
+ ],
+ q(ala-lc romanization, 1997 edition) => [
+ q(0007),
+ q(0),
+ ],
+ q(aluku dialect) => [
+ q(0008),
+ q(0),
+ ],
+ q(aukan dialect) => [
+ q(0030),
+ q(0),
+ ],
+ q(belarusian in taraskievica orthography) => [
+ q(0049),
+ q(0),
+ ],
+ q(biscayan dialect of basque) => [
+ q(0013),
+ q(0),
+ ],
+ q(boni dialect) => [
+ q(0008),
+ q(0),
+ ],
+ q(boontling) => [
+ q(0015),
+ q(0),
+ ],
+ q(buddhist hybrid sanskrit) => [
+ q(0012),
+ q(0),
+ ],
+ q(classic volapük) => [
+ q(0040),
+ q(0),
+ ],
+ q(classical sanskrit) => [
+ q(0026),
+ q(0),
+ ],
+ q(common cornish orthography of revived cornish) => [
+ q(0025),
+ q(0),
+ ],
+ q(de jong's volapük) => [
+ q(0033),
+ q(0),
+ ],
+ q(early modern english (1500-1700)) => [
+ q(0016),
+ q(0),
+ ],
+ q(early modern french) => [
+ q(0002),
+ q(0),
+ ],
+ q(eastern armenian) => [
+ q(0009),
+ q(0),
+ ],
+ q(epic sanskrit) => [
+ q(0022),
+ q(0),
+ ],
+ q(german orthography of 1996) => [
+ q(0006),
+ q(0),
+ ],
+ q(hepburn romanization) => [
+ q(0020),
+ q(0),
+ ],
+ q(international phonetic alphabet) => [
+ q(0017),
+ q(0),
+ ],
+ q(jauer dialect of romansh) => [
+ q(0023),
+ q(0),
+ ],
+ q(jyutping cantonese romanization) => [
+ q(0024),
+ q(0),
+ ],
+ q(late middle french (to 1606)) => [
+ q(0001),
+ q(0),
+ ],
+ q(modern volapük) => [
+ q(0033),
+ q(0),
+ ],
+ q(monotonic greek) => [
+ q(0029),
+ q(0),
+ ],
+ q(nadiza dialect) => [
+ q(0031),
+ q(0),
+ ],
+ q(natisone dialect) => [
+ q(0031),
+ q(0),
+ ],
+ q(ndyuka dialect) => [
+ q(0030),
+ q(0),
+ ],
+ q(new volapük) => [
+ q(0033),
+ q(0),
+ ],
+ q(norwegian in hognorsk (high norwegian) orthography) => [
+ q(0021),
+ q(0),
+ ],
+ q(original volapük) => [
+ q(0040),
+ q(0),
+ ],
+ q(pamaka dialect) => [
+ q(0035),
+ q(0),
+ ],
+ q(petrine orthography) => [
+ q(0036),
+ q(0),
+ ],
+ q(pinyin romanization) => [
+ q(0037),
+ q(0),
+ ],
+ q(polytonic greek) => [
+ q(0038),
+ q(0),
+ ],
+ q(post-1917 russian orthography) => [
+ q(0028),
+ q(0),
+ ],
+ q(puter idiom of romansh) => [
+ q(0039),
+ q(0),
+ ],
+ q(resian) => [
+ q(0041),
+ q(0),
+ ],
+ q(resianic) => [
+ q(0041),
+ q(0),
+ ],
+ q(revised volapük) => [
+ q(0033),
+ q(0),
+ ],
+ q(rezijan) => [
+ q(0041),
+ q(0),
+ ],
+ q(rumantsch grischun) => [
+ q(0042),
+ q(0),
+ ],
+ q(schleyer's volapük) => [
+ q(0040),
+ q(0),
+ ],
+ q(scottish standard english) => [
+ q(0043),
+ q(0),
+ ],
+ q(scouse) => [
+ q(0044),
+ q(0),
+ ],
+ q(standardized resian orthography) => [
+ q(0005),
+ q(0),
+ ],
+ q(surmiran idiom of romansh) => [
+ q(0046),
+ q(0),
+ ],
+ q(sursilvan idiom of romansh) => [
+ q(0047),
+ q(0),
+ ],
+ q(sutsilvan idiom of romansh) => [
+ q(0048),
+ q(0),
+ ],
+ q(the bila dialect of resian) => [
+ q(0014),
+ q(0),
+ ],
+ q(the gniva dialect of resian) => [
+ q(0032),
+ q(0),
+ ],
+ q(the lipovaz dialect of resian) => [
+ q(0027),
+ q(0),
+ ],
+ q(the lipovec dialect of resian) => [
+ q(0027),
+ q(0),
+ ],
+ q(the njiva dialect of resian) => [
+ q(0032),
+ q(0),
+ ],
+ q(the oseacco dialect of resian) => [
+ q(0034),
+ q(0),
+ ],
+ q(the osojane dialect of resian) => [
+ q(0034),
+ q(0),
+ ],
+ q(the san giorgio dialect of resian) => [
+ q(0014),
+ q(0),
+ ],
+ q(the solbica dialect of resian) => [
+ q(0045),
+ q(0),
+ ],
+ q(the stolvizza dialect of resian) => [
+ q(0045),
+ q(0),
+ ],
+ q(traditional german orthography) => [
+ q(0003),
+ q(0),
+ ],
+ q(ulster dialect of scots) => [
+ q(0052),
+ q(0),
+ ],
+ q(unified cornish orthography of revived cornish) => [
+ q(0050),
+ q(0),
+ ],
+ q(unified cornish revised orthography of revived cornish) => [
+ q(0051),
+ q(0),
+ ],
+ q(unified turkic latin alphabet (historical)) => [
+ q(0011),
+ q(0),
+ ],
+ q(uralic phonetic alphabet) => [
+ q(0018),
+ q(0),
+ ],
+ q(valencian) => [
+ q(0054),
+ q(0),
+ ],
+ q(vallader idiom of romansh) => [
+ q(0055),
+ q(0),
+ ],
+ q(vedic sanskrit) => [
+ q(0053),
+ q(0),
+ ],
+ q(volapük nulik) => [
+ q(0033),
+ q(0),
+ ],
+ q(volapük nulädik) => [
+ q(0033),
+ q(0),
+ ],
+ q(volapük perevidöl) => [
+ q(0033),
+ q(0),
+ ],
+ q(volapük rigik) => [
+ q(0040),
+ q(0),
+ ],
+ q(wade-giles romanization) => [
+ q(0056),
+ q(0),
+ ],
+ q(western armenian) => [
+ q(0010),
+ q(0),
+ ],
+ q(x-sampa transcription) => [
+ q(0019),
+ q(0),
+ ],
+};
+
+$Locale::Codes::Data{'langvar'}{'code2id'} = {
+ q(alpha) => {
+ q(1606nict) => [
+ q(0001),
+ q(0),
+ ],
+ q(1694acad) => [
+ q(0002),
+ q(0),
+ ],
+ q(1901) => [
+ q(0003),
+ q(0),
+ ],
+ q(1959acad) => [
+ q(0004),
+ q(0),
+ ],
+ q(1994) => [
+ q(0005),
+ q(0),
+ ],
+ q(1996) => [
+ q(0006),
+ q(0),
+ ],
+ q(alalc97) => [
+ q(0007),
+ q(0),
+ ],
+ q(aluku) => [
+ q(0008),
+ q(0),
+ ],
+ q(arevela) => [
+ q(0009),
+ q(0),
+ ],
+ q(arevmda) => [
+ q(0010),
+ q(0),
+ ],
+ q(baku1926) => [
+ q(0011),
+ q(0),
+ ],
+ q(bauddha) => [
+ q(0012),
+ q(0),
+ ],
+ q(biscayan) => [
+ q(0013),
+ q(0),
+ ],
+ q(biske) => [
+ q(0014),
+ q(0),
+ ],
+ q(boont) => [
+ q(0015),
+ q(0),
+ ],
+ q(emodeng) => [
+ q(0016),
+ q(0),
+ ],
+ q(fonipa) => [
+ q(0017),
+ q(0),
+ ],
+ q(fonupa) => [
+ q(0018),
+ q(0),
+ ],
+ q(fonxsamp) => [
+ q(0019),
+ q(0),
+ ],
+ q(hepburn) => [
+ q(0020),
+ q(0),
+ ],
+ q(hognorsk) => [
+ q(0021),
+ q(0),
+ ],
+ q(itihasa) => [
+ q(0022),
+ q(0),
+ ],
+ q(jauer) => [
+ q(0023),
+ q(0),
+ ],
+ q(jyutping) => [
+ q(0024),
+ q(0),
+ ],
+ q(kkcor) => [
+ q(0025),
+ q(0),
+ ],
+ q(laukika) => [
+ q(0026),
+ q(0),
+ ],
+ q(lipaw) => [
+ q(0027),
+ q(0),
+ ],
+ q(luna1918) => [
+ q(0028),
+ q(0),
+ ],
+ q(monoton) => [
+ q(0029),
+ q(0),
+ ],
+ q(ndyuka) => [
+ q(0030),
+ q(0),
+ ],
+ q(nedis) => [
+ q(0031),
+ q(0),
+ ],
+ q(njiva) => [
+ q(0032),
+ q(0),
+ ],
+ q(nulik) => [
+ q(0033),
+ q(0),
+ ],
+ q(osojs) => [
+ q(0034),
+ q(0),
+ ],
+ q(pamaka) => [
+ q(0035),
+ q(0),
+ ],
+ q(petr1708) => [
+ q(0036),
+ q(0),
+ ],
+ q(pinyin) => [
+ q(0037),
+ q(0),
+ ],
+ q(polyton) => [
+ q(0038),
+ q(0),
+ ],
+ q(puter) => [
+ q(0039),
+ q(0),
+ ],
+ q(rigik) => [
+ q(0040),
+ q(0),
+ ],
+ q(rozaj) => [
+ q(0041),
+ q(0),
+ ],
+ q(rumgr) => [
+ q(0042),
+ q(0),
+ ],
+ q(scotland) => [
+ q(0043),
+ q(0),
+ ],
+ q(scouse) => [
+ q(0044),
+ q(0),
+ ],
+ q(solba) => [
+ q(0045),
+ q(0),
+ ],
+ q(surmiran) => [
+ q(0046),
+ q(0),
+ ],
+ q(sursilv) => [
+ q(0047),
+ q(0),
+ ],
+ q(sutsilv) => [
+ q(0048),
+ q(0),
+ ],
+ q(tarask) => [
+ q(0049),
+ q(0),
+ ],
+ q(uccor) => [
+ q(0050),
+ q(0),
+ ],
+ q(ucrcor) => [
+ q(0051),
+ q(0),
+ ],
+ q(ulster) => [
+ q(0052),
+ q(0),
+ ],
+ q(vaidika) => [
+ q(0053),
+ q(0),
+ ],
+ q(valencia) => [
+ q(0054),
+ q(0),
+ ],
+ q(vallader) => [
+ q(0055),
+ q(0),
+ ],
+ q(wadegile) => [
+ q(0056),
+ q(0),
+ ],
+ },
+};
+
+$Locale::Codes::Data{'langvar'}{'id2code'} = {
+ q(alpha) => {
+ q(0001) => q(1606nict),
+ q(0002) => q(1694acad),
+ q(0003) => q(1901),
+ q(0004) => q(1959acad),
+ q(0005) => q(1994),
+ q(0006) => q(1996),
+ q(0007) => q(alalc97),
+ q(0008) => q(aluku),
+ q(0009) => q(arevela),
+ q(0010) => q(arevmda),
+ q(0011) => q(baku1926),
+ q(0012) => q(bauddha),
+ q(0013) => q(biscayan),
+ q(0014) => q(biske),
+ q(0015) => q(boont),
+ q(0016) => q(emodeng),
+ q(0017) => q(fonipa),
+ q(0018) => q(fonupa),
+ q(0019) => q(fonxsamp),
+ q(0020) => q(hepburn),
+ q(0021) => q(hognorsk),
+ q(0022) => q(itihasa),
+ q(0023) => q(jauer),
+ q(0024) => q(jyutping),
+ q(0025) => q(kkcor),
+ q(0026) => q(laukika),
+ q(0027) => q(lipaw),
+ q(0028) => q(luna1918),
+ q(0029) => q(monoton),
+ q(0030) => q(ndyuka),
+ q(0031) => q(nedis),
+ q(0032) => q(njiva),
+ q(0033) => q(nulik),
+ q(0034) => q(osojs),
+ q(0035) => q(pamaka),
+ q(0036) => q(petr1708),
+ q(0037) => q(pinyin),
+ q(0038) => q(polyton),
+ q(0039) => q(puter),
+ q(0040) => q(rigik),
+ q(0041) => q(rozaj),
+ q(0042) => q(rumgr),
+ q(0043) => q(scotland),
+ q(0044) => q(scouse),
+ q(0045) => q(solba),
+ q(0046) => q(surmiran),
+ q(0047) => q(sursilv),
+ q(0048) => q(sutsilv),
+ q(0049) => q(tarask),
+ q(0050) => q(uccor),
+ q(0051) => q(ucrcor),
+ q(0052) => q(ulster),
+ q(0053) => q(vaidika),
+ q(0054) => q(valencia),
+ q(0055) => q(vallader),
+ q(0056) => q(wadegile),
+ },
+};
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar_Retired.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar_Retired.pm
new file mode 100644
index 00000000000..447325b9929
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/LangVar_Retired.pm
@@ -0,0 +1,49 @@
+package Locale::Codes::LangVar_Retired;
+
+# This file was automatically generated. Any changes to this file will
+# be lost the next time 'deprecate_codes' is run.
+# Generated on: Thu Mar 1 08:11:47 EST 2012
+
+=pod
+
+=head1 NAME
+
+Locale::Codes::LangVar_Retired - retired langvar codes for the Locale::Codes::LangVar module
+
+=head1 SYNOPSIS
+
+This module contains data used by the Locale::Codes::LangVar module. It is
+not intended to be used directly, and contains no calleable routines.
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+require 5.002;
+
+our($VERSION);
+$VERSION='3.21';
+
+$Locale::Codes::Retired{'langvar'}{'alpha'}{'code'} = {
+};
+
+$Locale::Codes::Retired{'langvar'}{'alpha'}{'name'} = {
+};
+
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Language.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Language.pm
index 141d72297c9..b23242ce91a 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/Language.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Language.pm
@@ -1,7303 +1,99 @@
package Locale::Codes::Language;
-
-# This file was automatically generated. Any changes to this file will
-# be lost the next time 'get_codes' is run.
-# Generated on: Tue Mar 1 13:38:49 EST 2011
-
-=pod
-
-=head1 NAME
-
-Locale::Codes::Language - language codes for the Locale::Language module
-
-=head1 SYNOPSIS
-
-This module contains data used by the Locale::Language module. It is
-not intended to be used directly, and contains no calleable routines.
-
-=head1 AUTHOR
-
-See Locale::Codes for full author history.
-
-Currently maintained by Sullivan Beck (sbeck@cpan.org).
-
-=head1 COPYRIGHT
-
- Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
- Copyright (c) 2001-2010 Neil Bowers
- Copyright (c) 2010-2011 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
+# Copyright (C) 2001 Canon Research Centre Europe (CRE).
+# Copyright (C) 2002-2009 Neil Bowers
+# Copyright (c) 2010-2012 Sullivan Beck
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
use strict;
use warnings;
require 5.002;
-our($VERSION);
-$VERSION='3.16';
-
-$Locale::Codes::Data{'language'}{'id'} = '0486';
-
-$Locale::Codes::Data{'language'}{'id2names'} = {
- q(0001) => [
- q(Afar),
- ],
- q(0002) => [
- q(Abkhazian),
- ],
- q(0003) => [
- q(Achinese),
- ],
- q(0004) => [
- q(Acoli),
- ],
- q(0005) => [
- q(Adangme),
- ],
- q(0006) => [
- q(Adyghe),
- q(Adygei),
- ],
- q(0007) => [
- q(Afro-Asiatic languages),
- ],
- q(0008) => [
- q(Afrihili),
- ],
- q(0009) => [
- q(Afrikaans),
- ],
- q(0010) => [
- q(Ainu),
- ],
- q(0011) => [
- q(Akan),
- ],
- q(0012) => [
- q(Akkadian),
- ],
- q(0013) => [
- q(Albanian),
- ],
- q(0014) => [
- q(Aleut),
- ],
- q(0015) => [
- q(Algonquian languages),
- ],
- q(0016) => [
- q(Southern Altai),
- ],
- q(0017) => [
- q(Amharic),
- ],
- q(0018) => [
- q(English, Old (ca.450-1100)),
- ],
- q(0019) => [
- q(Angika),
- ],
- q(0020) => [
- q(Apache languages),
- ],
- q(0021) => [
- q(Arabic),
- ],
- q(0022) => [
- q(Official Aramaic (700-300 BCE)),
- q(Imperial Aramaic (700-300 BCE)),
- ],
- q(0023) => [
- q(Aragonese),
- ],
- q(0024) => [
- q(Armenian),
- ],
- q(0025) => [
- q(Mapudungun),
- q(Mapuche),
- ],
- q(0026) => [
- q(Arapaho),
- ],
- q(0027) => [
- q(Artificial languages),
- ],
- q(0028) => [
- q(Arawak),
- ],
- q(0029) => [
- q(Assamese),
- ],
- q(0030) => [
- q(Asturian),
- q(Bable),
- q(Leonese),
- q(Asturleonese),
- ],
- q(0031) => [
- q(Athapascan languages),
- ],
- q(0032) => [
- q(Australian languages),
- ],
- q(0033) => [
- q(Avaric),
- ],
- q(0034) => [
- q(Avestan),
- ],
- q(0035) => [
- q(Awadhi),
- ],
- q(0036) => [
- q(Aymara),
- ],
- q(0037) => [
- q(Azerbaijani),
- ],
- q(0038) => [
- q(Banda languages),
- ],
- q(0039) => [
- q(Bamileke languages),
- ],
- q(0040) => [
- q(Bashkir),
- ],
- q(0041) => [
- q(Baluchi),
- ],
- q(0042) => [
- q(Bambara),
- ],
- q(0043) => [
- q(Balinese),
- ],
- q(0044) => [
- q(Basque),
- ],
- q(0045) => [
- q(Basa),
- ],
- q(0046) => [
- q(Baltic languages),
- ],
- q(0047) => [
- q(Beja),
- q(Bedawiyet),
- ],
- q(0048) => [
- q(Belarusian),
- ],
- q(0049) => [
- q(Bemba),
- ],
- q(0050) => [
- q(Bengali),
- ],
- q(0051) => [
- q(Berber languages),
- ],
- q(0052) => [
- q(Bhojpuri),
- ],
- q(0053) => [
- q(Bihari languages),
- ],
- q(0054) => [
- q(Bikol),
- ],
- q(0055) => [
- q(Bini),
- q(Edo),
- ],
- q(0056) => [
- q(Bislama),
- ],
- q(0057) => [
- q(Siksika),
- ],
- q(0058) => [
- q(Bantu (Other)),
- ],
- q(0059) => [
- q(Bosnian),
- ],
- q(0060) => [
- q(Braj),
- ],
- q(0061) => [
- q(Breton),
- ],
- q(0062) => [
- q(Batak languages),
- ],
- q(0063) => [
- q(Buriat),
- ],
- q(0064) => [
- q(Buginese),
- ],
- q(0065) => [
- q(Bulgarian),
- ],
- q(0066) => [
- q(Burmese),
- ],
- q(0067) => [
- q(Blin),
- q(Bilin),
- ],
- q(0068) => [
- q(Caddo),
- ],
- q(0069) => [
- q(Central American Indian languages),
- ],
- q(0070) => [
- q(Galibi Carib),
- ],
- q(0071) => [
- q(Catalan),
- q(Valencian),
- ],
- q(0072) => [
- q(Caucasian languages),
- ],
- q(0073) => [
- q(Cebuano),
- ],
- q(0074) => [
- q(Celtic languages),
- ],
- q(0075) => [
- q(Chamorro),
- ],
- q(0076) => [
- q(Chibcha),
- ],
- q(0077) => [
- q(Chechen),
- ],
- q(0078) => [
- q(Chagatai),
- ],
- q(0079) => [
- q(Chinese),
- ],
- q(0080) => [
- q(Chuukese),
- ],
- q(0081) => [
- q(Mari),
- ],
- q(0082) => [
- q(Chinook jargon),
- ],
- q(0083) => [
- q(Choctaw),
- ],
- q(0084) => [
- q(Chipewyan),
- q(Dene Suline),
- ],
- q(0085) => [
- q(Cherokee),
- ],
- q(0086) => [
- q(Church Slavic),
- q(Old Slavonic),
- q(Church Slavonic),
- q(Old Bulgarian),
- q(Old Church Slavonic),
- ],
- q(0087) => [
- q(Chuvash),
- ],
- q(0088) => [
- q(Cheyenne),
- ],
- q(0089) => [
- q(Chamic languages),
- ],
- q(0090) => [
- q(Coptic),
- ],
- q(0091) => [
- q(Cornish),
- ],
- q(0092) => [
- q(Corsican),
- ],
- q(0093) => [
- q(Creoles and pidgins, English based),
- ],
- q(0094) => [
- q(Creoles and pidgins, French-based ),
- ],
- q(0095) => [
- q(Creoles and pidgins, Portuguese-based ),
- ],
- q(0096) => [
- q(Cree),
- ],
- q(0097) => [
- q(Crimean Tatar),
- q(Crimean Turkish),
- ],
- q(0098) => [
- q(Creoles and pidgins ),
- ],
- q(0099) => [
- q(Kashubian),
- ],
- q(0100) => [
- q(Cushitic languages),
- ],
- q(0101) => [
- q(Czech),
- ],
- q(0102) => [
- q(Dakota),
- ],
- q(0103) => [
- q(Danish),
- ],
- q(0104) => [
- q(Dargwa),
- ],
- q(0105) => [
- q(Land Dayak languages),
- ],
- q(0106) => [
- q(Delaware),
- ],
- q(0107) => [
- q(Slave (Athapascan)),
- ],
- q(0108) => [
- q(Dogrib),
- ],
- q(0109) => [
- q(Dinka),
- ],
- q(0110) => [
- q(Divehi),
- q(Dhivehi),
- q(Maldivian),
- ],
- q(0111) => [
- q(Dogri),
- ],
- q(0112) => [
- q(Dravidian languages),
- ],
- q(0113) => [
- q(Lower Sorbian),
- ],
- q(0114) => [
- q(Duala),
- ],
- q(0115) => [
- q(Dutch, Middle (ca.1050-1350)),
- ],
- q(0116) => [
- q(Dutch),
- q(Flemish),
- ],
- q(0117) => [
- q(Dyula),
- ],
- q(0118) => [
- q(Dzongkha),
- ],
- q(0119) => [
- q(Efik),
- ],
- q(0120) => [
- q(Egyptian (Ancient)),
- ],
- q(0121) => [
- q(Ekajuk),
- ],
- q(0122) => [
- q(Elamite),
- ],
- q(0123) => [
- q(English),
- ],
- q(0124) => [
- q(English, Middle (1100-1500)),
- ],
- q(0125) => [
- q(Esperanto),
- ],
- q(0126) => [
- q(Estonian),
- ],
- q(0127) => [
- q(Ewe),
- ],
- q(0128) => [
- q(Ewondo),
- ],
- q(0129) => [
- q(Fang),
- ],
- q(0130) => [
- q(Faroese),
- ],
- q(0131) => [
- q(Fanti),
- ],
- q(0132) => [
- q(Fijian),
- ],
- q(0133) => [
- q(Filipino),
- q(Pilipino),
- ],
- q(0134) => [
- q(Finnish),
- ],
- q(0135) => [
- q(Finno-Ugrian languages),
- ],
- q(0136) => [
- q(Fon),
- ],
- q(0137) => [
- q(French),
- ],
- q(0138) => [
- q(French, Middle (ca.1400-1600)),
- ],
- q(0139) => [
- q(French, Old (842-ca.1400)),
- ],
- q(0140) => [
- q(Northern Frisian),
- ],
- q(0141) => [
- q(Eastern Frisian),
- ],
- q(0142) => [
- q(Western Frisian),
- ],
- q(0143) => [
- q(Fulah),
- ],
- q(0144) => [
- q(Friulian),
- ],
- q(0145) => [
- q(Ga),
- ],
- q(0146) => [
- q(Gayo),
- ],
- q(0147) => [
- q(Gbaya),
- ],
- q(0148) => [
- q(Germanic languages),
- ],
- q(0149) => [
- q(Georgian),
- ],
- q(0150) => [
- q(German),
- ],
- q(0151) => [
- q(Geez),
- ],
- q(0152) => [
- q(Gilbertese),
- ],
- q(0153) => [
- q(Gaelic),
- q(Scottish Gaelic),
- ],
- q(0154) => [
- q(Irish),
- ],
- q(0155) => [
- q(Galician),
- ],
- q(0156) => [
- q(Manx),
- ],
- q(0157) => [
- q(German, Middle High (ca.1050-1500)),
- ],
- q(0158) => [
- q(German, Old High (ca.750-1050)),
- ],
- q(0159) => [
- q(Gondi),
- ],
- q(0160) => [
- q(Gorontalo),
- ],
- q(0161) => [
- q(Gothic),
- ],
- q(0162) => [
- q(Grebo),
- ],
- q(0163) => [
- q(Greek, Ancient (to 1453)),
- ],
- q(0164) => [
- q(Greek, Modern (1453-)),
- q(Greek),
- ],
- q(0165) => [
- q(Guarani),
- ],
- q(0166) => [
- q(Swiss German),
- q(Alemannic),
- q(Alsatian),
- ],
- q(0167) => [
- q(Gujarati),
- ],
- q(0168) => [
- q(Gwich'in),
- ],
- q(0169) => [
- q(Haida),
- ],
- q(0170) => [
- q(Haitian),
- q(Haitian Creole),
- ],
- q(0171) => [
- q(Hausa),
- ],
- q(0172) => [
- q(Hawaiian),
- ],
- q(0173) => [
- q(Hebrew),
- ],
- q(0174) => [
- q(Herero),
- ],
- q(0175) => [
- q(Hiligaynon),
- ],
- q(0176) => [
- q(Himachali languages),
- q(Western Pahari languages),
- ],
- q(0177) => [
- q(Hindi),
- ],
- q(0178) => [
- q(Hittite),
- ],
- q(0179) => [
- q(Hmong),
- q(Mong),
- ],
- q(0180) => [
- q(Hiri Motu),
- ],
- q(0181) => [
- q(Croatian),
- ],
- q(0182) => [
- q(Upper Sorbian),
- ],
- q(0183) => [
- q(Hungarian),
- ],
- q(0184) => [
- q(Hupa),
- ],
- q(0185) => [
- q(Iban),
- ],
- q(0186) => [
- q(Igbo),
- ],
- q(0187) => [
- q(Icelandic),
- ],
- q(0188) => [
- q(Ido),
- ],
- q(0189) => [
- q(Sichuan Yi),
- q(Nuosu),
- ],
- q(0190) => [
- q(Ijo languages),
- ],
- q(0191) => [
- q(Inuktitut),
- ],
- q(0192) => [
- q(Interlingue),
- q(Occidental),
- ],
- q(0193) => [
- q(Iloko),
- ],
- q(0194) => [
- q(Interlingua (International Auxiliary Language Association)),
- ],
- q(0195) => [
- q(Indic languages),
- ],
- q(0196) => [
- q(Indonesian),
- ],
- q(0197) => [
- q(Indo-European languages),
- ],
- q(0198) => [
- q(Ingush),
- ],
- q(0199) => [
- q(Inupiaq),
- ],
- q(0200) => [
- q(Iranian languages),
- ],
- q(0201) => [
- q(Iroquoian languages),
- ],
- q(0202) => [
- q(Italian),
- ],
- q(0203) => [
- q(Javanese),
- ],
- q(0204) => [
- q(Lojban),
- ],
- q(0205) => [
- q(Japanese),
- ],
- q(0206) => [
- q(Judeo-Persian),
- ],
- q(0207) => [
- q(Judeo-Arabic),
- ],
- q(0208) => [
- q(Kara-Kalpak),
- ],
- q(0209) => [
- q(Kabyle),
- ],
- q(0210) => [
- q(Kachin),
- q(Jingpho),
- ],
- q(0211) => [
- q(Kalaallisut),
- q(Greenlandic),
- ],
- q(0212) => [
- q(Kamba),
- ],
- q(0213) => [
- q(Kannada),
- ],
- q(0214) => [
- q(Karen languages),
- ],
- q(0215) => [
- q(Kashmiri),
- ],
- q(0216) => [
- q(Kanuri),
- ],
- q(0217) => [
- q(Kawi),
- ],
- q(0218) => [
- q(Kazakh),
- ],
- q(0219) => [
- q(Kabardian),
- ],
- q(0220) => [
- q(Khasi),
- ],
- q(0221) => [
- q(Khoisan languages),
- ],
- q(0222) => [
- q(Central Khmer),
- ],
- q(0223) => [
- q(Khotanese),
- q(Sakan),
- ],
- q(0224) => [
- q(Kikuyu),
- q(Gikuyu),
- ],
- q(0225) => [
- q(Kinyarwanda),
- ],
- q(0226) => [
- q(Kirghiz),
- q(Kyrgyz),
- ],
- q(0227) => [
- q(Kimbundu),
- ],
- q(0228) => [
- q(Konkani),
- ],
- q(0229) => [
- q(Komi),
- ],
- q(0230) => [
- q(Kongo),
- ],
- q(0231) => [
- q(Korean),
- ],
- q(0232) => [
- q(Kosraean),
- ],
- q(0233) => [
- q(Kpelle),
- ],
- q(0234) => [
- q(Karachay-Balkar),
- ],
- q(0235) => [
- q(Karelian),
- ],
- q(0236) => [
- q(Kru languages),
- ],
- q(0237) => [
- q(Kurukh),
- ],
- q(0238) => [
- q(Kuanyama),
- q(Kwanyama),
- ],
- q(0239) => [
- q(Kumyk),
- ],
- q(0240) => [
- q(Kurdish),
- ],
- q(0241) => [
- q(Kutenai),
- ],
- q(0242) => [
- q(Ladino),
- ],
- q(0243) => [
- q(Lahnda),
- ],
- q(0244) => [
- q(Lamba),
- ],
- q(0245) => [
- q(Lao),
- ],
- q(0246) => [
- q(Latin),
- ],
- q(0247) => [
- q(Latvian),
- ],
- q(0248) => [
- q(Lezghian),
- ],
- q(0249) => [
- q(Limburgan),
- q(Limburger),
- q(Limburgish),
- ],
- q(0250) => [
- q(Lingala),
- ],
- q(0251) => [
- q(Lithuanian),
- ],
- q(0252) => [
- q(Mongo),
- ],
- q(0253) => [
- q(Lozi),
- ],
- q(0254) => [
- q(Luxembourgish),
- q(Letzeburgesch),
- ],
- q(0255) => [
- q(Luba-Lulua),
- ],
- q(0256) => [
- q(Luba-Katanga),
- ],
- q(0257) => [
- q(Ganda),
- ],
- q(0258) => [
- q(Luiseno),
- ],
- q(0259) => [
- q(Lunda),
- ],
- q(0260) => [
- q(Luo (Kenya and Tanzania)),
- ],
- q(0261) => [
- q(Lushai),
- ],
- q(0262) => [
- q(Macedonian),
- ],
- q(0263) => [
- q(Madurese),
- ],
- q(0264) => [
- q(Magahi),
- ],
- q(0265) => [
- q(Marshallese),
- ],
- q(0266) => [
- q(Maithili),
- ],
- q(0267) => [
- q(Makasar),
- ],
- q(0268) => [
- q(Malayalam),
- ],
- q(0269) => [
- q(Mandingo),
- ],
- q(0270) => [
- q(Maori),
- ],
- q(0271) => [
- q(Austronesian languages),
- ],
- q(0272) => [
- q(Marathi),
- ],
- q(0273) => [
- q(Masai),
- ],
- q(0274) => [
- q(Malay),
- ],
- q(0275) => [
- q(Moksha),
- ],
- q(0276) => [
- q(Mandar),
- ],
- q(0277) => [
- q(Mende),
- ],
- q(0278) => [
- q(Irish, Middle (900-1200)),
- ],
- q(0279) => [
- q(Mi'kmaq),
- q(Micmac),
- ],
- q(0280) => [
- q(Minangkabau),
- ],
- q(0281) => [
- q(Uncoded languages),
- ],
- q(0282) => [
- q(Mon-Khmer languages),
- ],
- q(0283) => [
- q(Malagasy),
- ],
- q(0284) => [
- q(Maltese),
- ],
- q(0285) => [
- q(Manchu),
- ],
- q(0286) => [
- q(Manipuri),
- ],
- q(0287) => [
- q(Manobo languages),
- ],
- q(0288) => [
- q(Mohawk),
- ],
- q(0289) => [
- q(Mongolian),
- ],
- q(0290) => [
- q(Mossi),
- ],
- q(0291) => [
- q(Multiple languages),
- ],
- q(0292) => [
- q(Munda languages),
- ],
- q(0293) => [
- q(Creek),
- ],
- q(0294) => [
- q(Mirandese),
- ],
- q(0295) => [
- q(Marwari),
- ],
- q(0296) => [
- q(Mayan languages),
- ],
- q(0297) => [
- q(Erzya),
- ],
- q(0298) => [
- q(Nahuatl languages),
- ],
- q(0299) => [
- q(North American Indian languages),
- ],
- q(0300) => [
- q(Neapolitan),
- ],
- q(0301) => [
- q(Nauru),
- ],
- q(0302) => [
- q(Navajo),
- q(Navaho),
- ],
- q(0303) => [
- q(Ndebele, South),
- q(South Ndebele),
- ],
- q(0304) => [
- q(Ndebele, North),
- q(North Ndebele),
- ],
- q(0305) => [
- q(Ndonga),
- ],
- q(0306) => [
- q(Low German),
- q(Low Saxon),
- q(German, Low),
- q(Saxon, Low),
- ],
- q(0307) => [
- q(Nepali),
- ],
- q(0308) => [
- q(Nepal Bhasa),
- q(Newari),
- ],
- q(0309) => [
- q(Nias),
- ],
- q(0310) => [
- q(Niger-Kordofanian languages),
- ],
- q(0311) => [
- q(Niuean),
- ],
- q(0312) => [
- q(Norwegian Nynorsk),
- q(Nynorsk, Norwegian),
- ],
- q(0313) => [
- q(Bokmal, Norwegian),
- q(Norwegian Bokmal),
- ],
- q(0314) => [
- q(Nogai),
- ],
- q(0315) => [
- q(Norse, Old),
- ],
- q(0316) => [
- q(Norwegian),
- ],
- q(0317) => [
- q(N'Ko),
- ],
- q(0318) => [
- q(Pedi),
- q(Sepedi),
- q(Northern Sotho),
- ],
- q(0319) => [
- q(Nubian languages),
- ],
- q(0320) => [
- q(Classical Newari),
- q(Old Newari),
- q(Classical Nepal Bhasa),
- ],
- q(0321) => [
- q(Chichewa),
- q(Chewa),
- q(Nyanja),
- ],
- q(0322) => [
- q(Nyamwezi),
- ],
- q(0323) => [
- q(Nyankole),
- ],
- q(0324) => [
- q(Nyoro),
- ],
- q(0325) => [
- q(Nzima),
- ],
- q(0326) => [
- q(Occitan (post 1500)),
- q(Provencal),
- ],
- q(0327) => [
- q(Ojibwa),
- ],
- q(0328) => [
- q(Oriya),
- ],
- q(0329) => [
- q(Oromo),
- ],
- q(0330) => [
- q(Osage),
- ],
- q(0331) => [
- q(Ossetian),
- q(Ossetic),
- ],
- q(0332) => [
- q(Turkish, Ottoman (1500-1928)),
- ],
- q(0333) => [
- q(Otomian languages),
- ],
- q(0334) => [
- q(Papuan languages),
- ],
- q(0335) => [
- q(Pangasinan),
- ],
- q(0336) => [
- q(Pahlavi),
- ],
- q(0337) => [
- q(Pampanga),
- q(Kapampangan),
- ],
- q(0338) => [
- q(Panjabi),
- q(Punjabi),
- ],
- q(0339) => [
- q(Papiamento),
- ],
- q(0340) => [
- q(Palauan),
- ],
- q(0341) => [
- q(Persian, Old (ca.600-400 B.C.)),
- ],
- q(0342) => [
- q(Persian),
- ],
- q(0343) => [
- q(Philippine languages),
- ],
- q(0344) => [
- q(Phoenician),
- ],
- q(0345) => [
- q(Pali),
- ],
- q(0346) => [
- q(Polish),
- ],
- q(0347) => [
- q(Pohnpeian),
- ],
- q(0348) => [
- q(Portuguese),
- ],
- q(0349) => [
- q(Prakrit languages),
- ],
- q(0350) => [
- q(Provencal, Old (to 1500)),
- ],
- q(0351) => [
- q(Pushto),
- q(Pashto),
- ],
- q(0352) => [
- q(Reserved for local use),
- ],
- q(0353) => [
- q(Quechua),
- ],
- q(0354) => [
- q(Rajasthani),
- ],
- q(0355) => [
- q(Rapanui),
- ],
- q(0356) => [
- q(Rarotongan),
- q(Cook Islands Maori),
- ],
- q(0357) => [
- q(Romance languages),
- ],
- q(0358) => [
- q(Romansh),
- ],
- q(0359) => [
- q(Romany),
- ],
- q(0360) => [
- q(Romanian),
- q(Moldavian),
- q(Moldovan),
- ],
- q(0361) => [
- q(Rundi),
- ],
- q(0362) => [
- q(Aromanian),
- q(Arumanian),
- q(Macedo-Romanian),
- ],
- q(0363) => [
- q(Russian),
- ],
- q(0364) => [
- q(Sandawe),
- ],
- q(0365) => [
- q(Sango),
- ],
- q(0366) => [
- q(Yakut),
- ],
- q(0367) => [
- q(South American Indian (Other)),
- ],
- q(0368) => [
- q(Salishan languages),
- ],
- q(0369) => [
- q(Samaritan Aramaic),
- ],
- q(0370) => [
- q(Sanskrit),
- ],
- q(0371) => [
- q(Sasak),
- ],
- q(0372) => [
- q(Santali),
- ],
- q(0373) => [
- q(Sicilian),
- ],
- q(0374) => [
- q(Scots),
- ],
- q(0375) => [
- q(Selkup),
- ],
- q(0376) => [
- q(Semitic languages),
- ],
- q(0377) => [
- q(Irish, Old (to 900)),
- ],
- q(0378) => [
- q(Sign Languages),
- ],
- q(0379) => [
- q(Shan),
- ],
- q(0380) => [
- q(Sidamo),
- ],
- q(0381) => [
- q(Sinhala),
- q(Sinhalese),
- ],
- q(0382) => [
- q(Siouan languages),
- ],
- q(0383) => [
- q(Sino-Tibetan languages),
- ],
- q(0384) => [
- q(Slavic languages),
- ],
- q(0385) => [
- q(Slovak),
- ],
- q(0386) => [
- q(Slovenian),
- ],
- q(0387) => [
- q(Southern Sami),
- ],
- q(0388) => [
- q(Northern Sami),
- ],
- q(0389) => [
- q(Sami languages),
- ],
- q(0390) => [
- q(Lule Sami),
- ],
- q(0391) => [
- q(Inari Sami),
- ],
- q(0392) => [
- q(Samoan),
- ],
- q(0393) => [
- q(Skolt Sami),
- ],
- q(0394) => [
- q(Shona),
- ],
- q(0395) => [
- q(Sindhi),
- ],
- q(0396) => [
- q(Soninke),
- ],
- q(0397) => [
- q(Sogdian),
- ],
- q(0398) => [
- q(Somali),
- ],
- q(0399) => [
- q(Songhai languages),
- ],
- q(0400) => [
- q(Sotho, Southern),
- ],
- q(0401) => [
- q(Spanish),
- q(Castilian),
- ],
- q(0402) => [
- q(Sardinian),
- ],
- q(0403) => [
- q(Sranan Tongo),
- ],
- q(0404) => [
- q(Serbian),
- ],
- q(0405) => [
- q(Serer),
- ],
- q(0406) => [
- q(Nilo-Saharan languages),
- ],
- q(0407) => [
- q(Swati),
- ],
- q(0408) => [
- q(Sukuma),
- ],
- q(0409) => [
- q(Sundanese),
- ],
- q(0410) => [
- q(Susu),
- ],
- q(0411) => [
- q(Sumerian),
- ],
- q(0412) => [
- q(Swahili),
- ],
- q(0413) => [
- q(Swedish),
- ],
- q(0414) => [
- q(Classical Syriac),
- ],
- q(0415) => [
- q(Syriac),
- ],
- q(0416) => [
- q(Tahitian),
- ],
- q(0417) => [
- q(Tai languages),
- ],
- q(0418) => [
- q(Tamil),
- ],
- q(0419) => [
- q(Tatar),
- ],
- q(0420) => [
- q(Telugu),
- ],
- q(0421) => [
- q(Timne),
- ],
- q(0422) => [
- q(Tereno),
- ],
- q(0423) => [
- q(Tetum),
- ],
- q(0424) => [
- q(Tajik),
- ],
- q(0425) => [
- q(Tagalog),
- ],
- q(0426) => [
- q(Thai),
- ],
- q(0427) => [
- q(Tibetan),
- ],
- q(0428) => [
- q(Tigre),
- ],
- q(0429) => [
- q(Tigrinya),
- ],
- q(0430) => [
- q(Tiv),
- ],
- q(0431) => [
- q(Tokelau),
- ],
- q(0432) => [
- q(Klingon),
- q(tlhIngan-Hol),
- ],
- q(0433) => [
- q(Tlingit),
- ],
- q(0434) => [
- q(Tamashek),
- ],
- q(0435) => [
- q(Tonga (Nyasa)),
- ],
- q(0436) => [
- q(Tonga (Tonga Islands)),
- q(Tonga),
- ],
- q(0437) => [
- q(Tok Pisin),
- ],
- q(0438) => [
- q(Tsimshian),
- ],
- q(0439) => [
- q(Tswana),
- ],
- q(0440) => [
- q(Tsonga),
- ],
- q(0441) => [
- q(Turkmen),
- ],
- q(0442) => [
- q(Tumbuka),
- ],
- q(0443) => [
- q(Tupi languages),
- ],
- q(0444) => [
- q(Turkish),
- ],
- q(0445) => [
- q(Altaic languages),
- ],
- q(0446) => [
- q(Tuvalu),
- ],
- q(0447) => [
- q(Twi),
- ],
- q(0448) => [
- q(Tuvinian),
- ],
- q(0449) => [
- q(Udmurt),
- ],
- q(0450) => [
- q(Ugaritic),
- ],
- q(0451) => [
- q(Uighur),
- q(Uyghur),
- ],
- q(0452) => [
- q(Ukrainian),
- ],
- q(0453) => [
- q(Umbundu),
- ],
- q(0454) => [
- q(Undetermined),
- ],
- q(0455) => [
- q(Urdu),
- ],
- q(0456) => [
- q(Uzbek),
- ],
- q(0457) => [
- q(Vai),
- ],
- q(0458) => [
- q(Venda),
- ],
- q(0459) => [
- q(Vietnamese),
- ],
- q(0460) => [
- q(Volapuk),
- ],
- q(0461) => [
- q(Votic),
- ],
- q(0462) => [
- q(Wakashan languages),
- ],
- q(0463) => [
- q(Walamo),
- ],
- q(0464) => [
- q(Waray),
- ],
- q(0465) => [
- q(Washo),
- ],
- q(0466) => [
- q(Welsh),
- ],
- q(0467) => [
- q(Sorbian languages),
- ],
- q(0468) => [
- q(Walloon),
- ],
- q(0469) => [
- q(Wolof),
- ],
- q(0470) => [
- q(Kalmyk),
- q(Oirat),
- ],
- q(0471) => [
- q(Xhosa),
- ],
- q(0472) => [
- q(Yao),
- ],
- q(0473) => [
- q(Yapese),
- ],
- q(0474) => [
- q(Yiddish),
- ],
- q(0475) => [
- q(Yoruba),
- ],
- q(0476) => [
- q(Yupik languages),
- ],
- q(0477) => [
- q(Zapotec),
- ],
- q(0478) => [
- q(Blissymbols),
- q(Blissymbolics),
- q(Bliss),
- ],
- q(0479) => [
- q(Zenaga),
- ],
- q(0480) => [
- q(Zhuang),
- q(Chuang),
- ],
- q(0481) => [
- q(Zande languages),
- ],
- q(0482) => [
- q(Zulu),
- ],
- q(0483) => [
- q(Zuni),
- ],
- q(0484) => [
- q(No linguistic content),
- q(Not applicable),
- ],
- q(0485) => [
- q(Zaza),
- q(Dimili),
- q(Dimli),
- q(Kirdki),
- q(Kirmanjki),
- q(Zazaki),
- ],
-};
-
-$Locale::Codes::Data{'language'}{'alias2id'} = {
- q(abkhazian) => [
- q(0002),
- q(0),
- ],
- q(achinese) => [
- q(0003),
- q(0),
- ],
- q(acoli) => [
- q(0004),
- q(0),
- ],
- q(adangme) => [
- q(0005),
- q(0),
- ],
- q(adygei) => [
- q(0006),
- q(1),
- ],
- q(adyghe) => [
- q(0006),
- q(0),
- ],
- q(afar) => [
- q(0001),
- q(0),
- ],
- q(afrihili) => [
- q(0008),
- q(0),
- ],
- q(afrikaans) => [
- q(0009),
- q(0),
- ],
- q(afro-asiatic languages) => [
- q(0007),
- q(0),
- ],
- q(ainu) => [
- q(0010),
- q(0),
- ],
- q(akan) => [
- q(0011),
- q(0),
- ],
- q(akkadian) => [
- q(0012),
- q(0),
- ],
- q(albanian) => [
- q(0013),
- q(0),
- ],
- q(alemannic) => [
- q(0166),
- q(1),
- ],
- q(aleut) => [
- q(0014),
- q(0),
- ],
- q(algonquian languages) => [
- q(0015),
- q(0),
- ],
- q(alsatian) => [
- q(0166),
- q(2),
- ],
- q(altaic languages) => [
- q(0445),
- q(0),
- ],
- q(amharic) => [
- q(0017),
- q(0),
- ],
- q(angika) => [
- q(0019),
- q(0),
- ],
- q(apache languages) => [
- q(0020),
- q(0),
- ],
- q(arabic) => [
- q(0021),
- q(0),
- ],
- q(aragonese) => [
- q(0023),
- q(0),
- ],
- q(arapaho) => [
- q(0026),
- q(0),
- ],
- q(arawak) => [
- q(0028),
- q(0),
- ],
- q(armenian) => [
- q(0024),
- q(0),
- ],
- q(aromanian) => [
- q(0362),
- q(0),
- ],
- q(artificial languages) => [
- q(0027),
- q(0),
- ],
- q(arumanian) => [
- q(0362),
- q(1),
- ],
- q(assamese) => [
- q(0029),
- q(0),
- ],
- q(asturian) => [
- q(0030),
- q(0),
- ],
- q(asturleonese) => [
- q(0030),
- q(3),
- ],
- q(athapascan languages) => [
- q(0031),
- q(0),
- ],
- q(australian languages) => [
- q(0032),
- q(0),
- ],
- q(austronesian languages) => [
- q(0271),
- q(0),
- ],
- q(avaric) => [
- q(0033),
- q(0),
- ],
- q(avestan) => [
- q(0034),
- q(0),
- ],
- q(awadhi) => [
- q(0035),
- q(0),
- ],
- q(aymara) => [
- q(0036),
- q(0),
- ],
- q(azerbaijani) => [
- q(0037),
- q(0),
- ],
- q(bable) => [
- q(0030),
- q(1),
- ],
- q(balinese) => [
- q(0043),
- q(0),
- ],
- q(baltic languages) => [
- q(0046),
- q(0),
- ],
- q(baluchi) => [
- q(0041),
- q(0),
- ],
- q(bambara) => [
- q(0042),
- q(0),
- ],
- q(bamileke languages) => [
- q(0039),
- q(0),
- ],
- q(banda languages) => [
- q(0038),
- q(0),
- ],
- q(bantu (other)) => [
- q(0058),
- q(0),
- ],
- q(basa) => [
- q(0045),
- q(0),
- ],
- q(bashkir) => [
- q(0040),
- q(0),
- ],
- q(basque) => [
- q(0044),
- q(0),
- ],
- q(batak languages) => [
- q(0062),
- q(0),
- ],
- q(bedawiyet) => [
- q(0047),
- q(1),
- ],
- q(beja) => [
- q(0047),
- q(0),
- ],
- q(belarusian) => [
- q(0048),
- q(0),
- ],
- q(bemba) => [
- q(0049),
- q(0),
- ],
- q(bengali) => [
- q(0050),
- q(0),
- ],
- q(berber languages) => [
- q(0051),
- q(0),
- ],
- q(bhojpuri) => [
- q(0052),
- q(0),
- ],
- q(bihari languages) => [
- q(0053),
- q(0),
- ],
- q(bikol) => [
- q(0054),
- q(0),
- ],
- q(bilin) => [
- q(0067),
- q(1),
- ],
- q(bini) => [
- q(0055),
- q(0),
- ],
- q(bislama) => [
- q(0056),
- q(0),
- ],
- q(blin) => [
- q(0067),
- q(0),
- ],
- q(bliss) => [
- q(0478),
- q(2),
- ],
- q(blissymbolics) => [
- q(0478),
- q(1),
- ],
- q(blissymbols) => [
- q(0478),
- q(0),
- ],
- q(bokmal, norwegian) => [
- q(0313),
- q(0),
- ],
- q(bosnian) => [
- q(0059),
- q(0),
- ],
- q(braj) => [
- q(0060),
- q(0),
- ],
- q(breton) => [
- q(0061),
- q(0),
- ],
- q(buginese) => [
- q(0064),
- q(0),
- ],
- q(bulgarian) => [
- q(0065),
- q(0),
- ],
- q(buriat) => [
- q(0063),
- q(0),
- ],
- q(burmese) => [
- q(0066),
- q(0),
- ],
- q(caddo) => [
- q(0068),
- q(0),
- ],
- q(castilian) => [
- q(0401),
- q(1),
- ],
- q(catalan) => [
- q(0071),
- q(0),
- ],
- q(caucasian languages) => [
- q(0072),
- q(0),
- ],
- q(cebuano) => [
- q(0073),
- q(0),
- ],
- q(celtic languages) => [
- q(0074),
- q(0),
- ],
- q(central american indian languages) => [
- q(0069),
- q(0),
- ],
- q(central khmer) => [
- q(0222),
- q(0),
- ],
- q(chagatai) => [
- q(0078),
- q(0),
- ],
- q(chamic languages) => [
- q(0089),
- q(0),
- ],
- q(chamorro) => [
- q(0075),
- q(0),
- ],
- q(chechen) => [
- q(0077),
- q(0),
- ],
- q(cherokee) => [
- q(0085),
- q(0),
- ],
- q(chewa) => [
- q(0321),
- q(1),
- ],
- q(cheyenne) => [
- q(0088),
- q(0),
- ],
- q(chibcha) => [
- q(0076),
- q(0),
- ],
- q(chichewa) => [
- q(0321),
- q(0),
- ],
- q(chinese) => [
- q(0079),
- q(0),
- ],
- q(chinook jargon) => [
- q(0082),
- q(0),
- ],
- q(chipewyan) => [
- q(0084),
- q(0),
- ],
- q(choctaw) => [
- q(0083),
- q(0),
- ],
- q(chuang) => [
- q(0480),
- q(1),
- ],
- q(church slavic) => [
- q(0086),
- q(0),
- ],
- q(church slavonic) => [
- q(0086),
- q(2),
- ],
- q(chuukese) => [
- q(0080),
- q(0),
- ],
- q(chuvash) => [
- q(0087),
- q(0),
- ],
- q(classical nepal bhasa) => [
- q(0320),
- q(2),
- ],
- q(classical newari) => [
- q(0320),
- q(0),
- ],
- q(classical syriac) => [
- q(0414),
- q(0),
- ],
- q(cook islands maori) => [
- q(0356),
- q(1),
- ],
- q(coptic) => [
- q(0090),
- q(0),
- ],
- q(cornish) => [
- q(0091),
- q(0),
- ],
- q(corsican) => [
- q(0092),
- q(0),
- ],
- q(cree) => [
- q(0096),
- q(0),
- ],
- q(creek) => [
- q(0293),
- q(0),
- ],
- q(creoles and pidgins ) => [
- q(0098),
- q(0),
- ],
- q(creoles and pidgins, english based) => [
- q(0093),
- q(0),
- ],
- q(creoles and pidgins, french-based ) => [
- q(0094),
- q(0),
- ],
- q(creoles and pidgins, portuguese-based ) => [
- q(0095),
- q(0),
- ],
- q(crimean tatar) => [
- q(0097),
- q(0),
- ],
- q(crimean turkish) => [
- q(0097),
- q(1),
- ],
- q(croatian) => [
- q(0181),
- q(0),
- ],
- q(cushitic languages) => [
- q(0100),
- q(0),
- ],
- q(czech) => [
- q(0101),
- q(0),
- ],
- q(dakota) => [
- q(0102),
- q(0),
- ],
- q(danish) => [
- q(0103),
- q(0),
- ],
- q(dargwa) => [
- q(0104),
- q(0),
- ],
- q(delaware) => [
- q(0106),
- q(0),
- ],
- q(dene suline) => [
- q(0084),
- q(1),
- ],
- q(dhivehi) => [
- q(0110),
- q(1),
- ],
- q(dimili) => [
- q(0485),
- q(1),
- ],
- q(dimli) => [
- q(0485),
- q(2),
- ],
- q(dinka) => [
- q(0109),
- q(0),
- ],
- q(divehi) => [
- q(0110),
- q(0),
- ],
- q(dogri) => [
- q(0111),
- q(0),
- ],
- q(dogrib) => [
- q(0108),
- q(0),
- ],
- q(dravidian languages) => [
- q(0112),
- q(0),
- ],
- q(duala) => [
- q(0114),
- q(0),
- ],
- q(dutch) => [
- q(0116),
- q(0),
- ],
- q(dutch, middle (ca.1050-1350)) => [
- q(0115),
- q(0),
- ],
- q(dyula) => [
- q(0117),
- q(0),
- ],
- q(dzongkha) => [
- q(0118),
- q(0),
- ],
- q(eastern frisian) => [
- q(0141),
- q(0),
- ],
- q(edo) => [
- q(0055),
- q(1),
- ],
- q(efik) => [
- q(0119),
- q(0),
- ],
- q(egyptian (ancient)) => [
- q(0120),
- q(0),
- ],
- q(ekajuk) => [
- q(0121),
- q(0),
- ],
- q(elamite) => [
- q(0122),
- q(0),
- ],
- q(english) => [
- q(0123),
- q(0),
- ],
- q(english, middle (1100-1500)) => [
- q(0124),
- q(0),
- ],
- q(english, old (ca.450-1100)) => [
- q(0018),
- q(0),
- ],
- q(erzya) => [
- q(0297),
- q(0),
- ],
- q(esperanto) => [
- q(0125),
- q(0),
- ],
- q(estonian) => [
- q(0126),
- q(0),
- ],
- q(ewe) => [
- q(0127),
- q(0),
- ],
- q(ewondo) => [
- q(0128),
- q(0),
- ],
- q(fang) => [
- q(0129),
- q(0),
- ],
- q(fanti) => [
- q(0131),
- q(0),
- ],
- q(faroese) => [
- q(0130),
- q(0),
- ],
- q(fijian) => [
- q(0132),
- q(0),
- ],
- q(filipino) => [
- q(0133),
- q(0),
- ],
- q(finnish) => [
- q(0134),
- q(0),
- ],
- q(finno-ugrian languages) => [
- q(0135),
- q(0),
- ],
- q(flemish) => [
- q(0116),
- q(1),
- ],
- q(fon) => [
- q(0136),
- q(0),
- ],
- q(french) => [
- q(0137),
- q(0),
- ],
- q(french, middle (ca.1400-1600)) => [
- q(0138),
- q(0),
- ],
- q(french, old (842-ca.1400)) => [
- q(0139),
- q(0),
- ],
- q(friulian) => [
- q(0144),
- q(0),
- ],
- q(fulah) => [
- q(0143),
- q(0),
- ],
- q(ga) => [
- q(0145),
- q(0),
- ],
- q(gaelic) => [
- q(0153),
- q(0),
- ],
- q(galibi carib) => [
- q(0070),
- q(0),
- ],
- q(galician) => [
- q(0155),
- q(0),
- ],
- q(ganda) => [
- q(0257),
- q(0),
- ],
- q(gayo) => [
- q(0146),
- q(0),
- ],
- q(gbaya) => [
- q(0147),
- q(0),
- ],
- q(geez) => [
- q(0151),
- q(0),
- ],
- q(georgian) => [
- q(0149),
- q(0),
- ],
- q(german) => [
- q(0150),
- q(0),
- ],
- q(german, low) => [
- q(0306),
- q(2),
- ],
- q(german, middle high (ca.1050-1500)) => [
- q(0157),
- q(0),
- ],
- q(german, old high (ca.750-1050)) => [
- q(0158),
- q(0),
- ],
- q(germanic languages) => [
- q(0148),
- q(0),
- ],
- q(gikuyu) => [
- q(0224),
- q(1),
- ],
- q(gilbertese) => [
- q(0152),
- q(0),
- ],
- q(gondi) => [
- q(0159),
- q(0),
- ],
- q(gorontalo) => [
- q(0160),
- q(0),
- ],
- q(gothic) => [
- q(0161),
- q(0),
- ],
- q(grebo) => [
- q(0162),
- q(0),
- ],
- q(greek) => [
- q(0164),
- q(1),
- ],
- q(greek, ancient (to 1453)) => [
- q(0163),
- q(0),
- ],
- q(greek, modern (1453-)) => [
- q(0164),
- q(0),
- ],
- q(greenlandic) => [
- q(0211),
- q(1),
- ],
- q(guarani) => [
- q(0165),
- q(0),
- ],
- q(gujarati) => [
- q(0167),
- q(0),
- ],
- q(gwich'in) => [
- q(0168),
- q(0),
- ],
- q(haida) => [
- q(0169),
- q(0),
- ],
- q(haitian) => [
- q(0170),
- q(0),
- ],
- q(haitian creole) => [
- q(0170),
- q(1),
- ],
- q(hausa) => [
- q(0171),
- q(0),
- ],
- q(hawaiian) => [
- q(0172),
- q(0),
- ],
- q(hebrew) => [
- q(0173),
- q(0),
- ],
- q(herero) => [
- q(0174),
- q(0),
- ],
- q(hiligaynon) => [
- q(0175),
- q(0),
- ],
- q(himachali languages) => [
- q(0176),
- q(0),
- ],
- q(hindi) => [
- q(0177),
- q(0),
- ],
- q(hiri motu) => [
- q(0180),
- q(0),
- ],
- q(hittite) => [
- q(0178),
- q(0),
- ],
- q(hmong) => [
- q(0179),
- q(0),
- ],
- q(hungarian) => [
- q(0183),
- q(0),
- ],
- q(hupa) => [
- q(0184),
- q(0),
- ],
- q(iban) => [
- q(0185),
- q(0),
- ],
- q(icelandic) => [
- q(0187),
- q(0),
- ],
- q(ido) => [
- q(0188),
- q(0),
- ],
- q(igbo) => [
- q(0186),
- q(0),
- ],
- q(ijo languages) => [
- q(0190),
- q(0),
- ],
- q(iloko) => [
- q(0193),
- q(0),
- ],
- q(imperial aramaic (700-300 bce)) => [
- q(0022),
- q(1),
- ],
- q(inari sami) => [
- q(0391),
- q(0),
- ],
- q(indic languages) => [
- q(0195),
- q(0),
- ],
- q(indo-european languages) => [
- q(0197),
- q(0),
- ],
- q(indonesian) => [
- q(0196),
- q(0),
- ],
- q(ingush) => [
- q(0198),
- q(0),
- ],
- q(interlingua (international auxiliary language association)) => [
- q(0194),
- q(0),
- ],
- q(interlingue) => [
- q(0192),
- q(0),
- ],
- q(inuktitut) => [
- q(0191),
- q(0),
- ],
- q(inupiaq) => [
- q(0199),
- q(0),
- ],
- q(iranian languages) => [
- q(0200),
- q(0),
- ],
- q(irish) => [
- q(0154),
- q(0),
- ],
- q(irish, middle (900-1200)) => [
- q(0278),
- q(0),
- ],
- q(irish, old (to 900)) => [
- q(0377),
- q(0),
- ],
- q(iroquoian languages) => [
- q(0201),
- q(0),
- ],
- q(italian) => [
- q(0202),
- q(0),
- ],
- q(japanese) => [
- q(0205),
- q(0),
- ],
- q(javanese) => [
- q(0203),
- q(0),
- ],
- q(jingpho) => [
- q(0210),
- q(1),
- ],
- q(judeo-arabic) => [
- q(0207),
- q(0),
- ],
- q(judeo-persian) => [
- q(0206),
- q(0),
- ],
- q(kabardian) => [
- q(0219),
- q(0),
- ],
- q(kabyle) => [
- q(0209),
- q(0),
- ],
- q(kachin) => [
- q(0210),
- q(0),
- ],
- q(kalaallisut) => [
- q(0211),
- q(0),
- ],
- q(kalmyk) => [
- q(0470),
- q(0),
- ],
- q(kamba) => [
- q(0212),
- q(0),
- ],
- q(kannada) => [
- q(0213),
- q(0),
- ],
- q(kanuri) => [
- q(0216),
- q(0),
- ],
- q(kapampangan) => [
- q(0337),
- q(1),
- ],
- q(kara-kalpak) => [
- q(0208),
- q(0),
- ],
- q(karachay-balkar) => [
- q(0234),
- q(0),
- ],
- q(karelian) => [
- q(0235),
- q(0),
- ],
- q(karen languages) => [
- q(0214),
- q(0),
- ],
- q(kashmiri) => [
- q(0215),
- q(0),
- ],
- q(kashubian) => [
- q(0099),
- q(0),
- ],
- q(kawi) => [
- q(0217),
- q(0),
- ],
- q(kazakh) => [
- q(0218),
- q(0),
- ],
- q(khasi) => [
- q(0220),
- q(0),
- ],
- q(khoisan languages) => [
- q(0221),
- q(0),
- ],
- q(khotanese) => [
- q(0223),
- q(0),
- ],
- q(kikuyu) => [
- q(0224),
- q(0),
- ],
- q(kimbundu) => [
- q(0227),
- q(0),
- ],
- q(kinyarwanda) => [
- q(0225),
- q(0),
- ],
- q(kirdki) => [
- q(0485),
- q(3),
- ],
- q(kirghiz) => [
- q(0226),
- q(0),
- ],
- q(kirmanjki) => [
- q(0485),
- q(4),
- ],
- q(klingon) => [
- q(0432),
- q(0),
- ],
- q(komi) => [
- q(0229),
- q(0),
- ],
- q(kongo) => [
- q(0230),
- q(0),
- ],
- q(konkani) => [
- q(0228),
- q(0),
- ],
- q(korean) => [
- q(0231),
- q(0),
- ],
- q(kosraean) => [
- q(0232),
- q(0),
- ],
- q(kpelle) => [
- q(0233),
- q(0),
- ],
- q(kru languages) => [
- q(0236),
- q(0),
- ],
- q(kuanyama) => [
- q(0238),
- q(0),
- ],
- q(kumyk) => [
- q(0239),
- q(0),
- ],
- q(kurdish) => [
- q(0240),
- q(0),
- ],
- q(kurukh) => [
- q(0237),
- q(0),
- ],
- q(kutenai) => [
- q(0241),
- q(0),
- ],
- q(kwanyama) => [
- q(0238),
- q(1),
- ],
- q(kyrgyz) => [
- q(0226),
- q(1),
- ],
- q(ladino) => [
- q(0242),
- q(0),
- ],
- q(lahnda) => [
- q(0243),
- q(0),
- ],
- q(lamba) => [
- q(0244),
- q(0),
- ],
- q(land dayak languages) => [
- q(0105),
- q(0),
- ],
- q(lao) => [
- q(0245),
- q(0),
- ],
- q(latin) => [
- q(0246),
- q(0),
- ],
- q(latvian) => [
- q(0247),
- q(0),
- ],
- q(leonese) => [
- q(0030),
- q(2),
- ],
- q(letzeburgesch) => [
- q(0254),
- q(1),
- ],
- q(lezghian) => [
- q(0248),
- q(0),
- ],
- q(limburgan) => [
- q(0249),
- q(0),
- ],
- q(limburger) => [
- q(0249),
- q(1),
- ],
- q(limburgish) => [
- q(0249),
- q(2),
- ],
- q(lingala) => [
- q(0250),
- q(0),
- ],
- q(lithuanian) => [
- q(0251),
- q(0),
- ],
- q(lojban) => [
- q(0204),
- q(0),
- ],
- q(low german) => [
- q(0306),
- q(0),
- ],
- q(low saxon) => [
- q(0306),
- q(1),
- ],
- q(lower sorbian) => [
- q(0113),
- q(0),
- ],
- q(lozi) => [
- q(0253),
- q(0),
- ],
- q(luba-katanga) => [
- q(0256),
- q(0),
- ],
- q(luba-lulua) => [
- q(0255),
- q(0),
- ],
- q(luiseno) => [
- q(0258),
- q(0),
- ],
- q(lule sami) => [
- q(0390),
- q(0),
- ],
- q(lunda) => [
- q(0259),
- q(0),
- ],
- q(luo (kenya and tanzania)) => [
- q(0260),
- q(0),
- ],
- q(lushai) => [
- q(0261),
- q(0),
- ],
- q(luxembourgish) => [
- q(0254),
- q(0),
- ],
- q(macedo-romanian) => [
- q(0362),
- q(2),
- ],
- q(macedonian) => [
- q(0262),
- q(0),
- ],
- q(madurese) => [
- q(0263),
- q(0),
- ],
- q(magahi) => [
- q(0264),
- q(0),
- ],
- q(maithili) => [
- q(0266),
- q(0),
- ],
- q(makasar) => [
- q(0267),
- q(0),
- ],
- q(malagasy) => [
- q(0283),
- q(0),
- ],
- q(malay) => [
- q(0274),
- q(0),
- ],
- q(malayalam) => [
- q(0268),
- q(0),
- ],
- q(maldivian) => [
- q(0110),
- q(2),
- ],
- q(maltese) => [
- q(0284),
- q(0),
- ],
- q(manchu) => [
- q(0285),
- q(0),
- ],
- q(mandar) => [
- q(0276),
- q(0),
- ],
- q(mandingo) => [
- q(0269),
- q(0),
- ],
- q(manipuri) => [
- q(0286),
- q(0),
- ],
- q(manobo languages) => [
- q(0287),
- q(0),
- ],
- q(manx) => [
- q(0156),
- q(0),
- ],
- q(maori) => [
- q(0270),
- q(0),
- ],
- q(mapuche) => [
- q(0025),
- q(1),
- ],
- q(mapudungun) => [
- q(0025),
- q(0),
- ],
- q(marathi) => [
- q(0272),
- q(0),
- ],
- q(mari) => [
- q(0081),
- q(0),
- ],
- q(marshallese) => [
- q(0265),
- q(0),
- ],
- q(marwari) => [
- q(0295),
- q(0),
- ],
- q(masai) => [
- q(0273),
- q(0),
- ],
- q(mayan languages) => [
- q(0296),
- q(0),
- ],
- q(mende) => [
- q(0277),
- q(0),
- ],
- q(mi'kmaq) => [
- q(0279),
- q(0),
- ],
- q(micmac) => [
- q(0279),
- q(1),
- ],
- q(minangkabau) => [
- q(0280),
- q(0),
- ],
- q(mirandese) => [
- q(0294),
- q(0),
- ],
- q(mohawk) => [
- q(0288),
- q(0),
- ],
- q(moksha) => [
- q(0275),
- q(0),
- ],
- q(moldavian) => [
- q(0360),
- q(1),
- ],
- q(moldovan) => [
- q(0360),
- q(2),
- ],
- q(mon-khmer languages) => [
- q(0282),
- q(0),
- ],
- q(mong) => [
- q(0179),
- q(1),
- ],
- q(mongo) => [
- q(0252),
- q(0),
- ],
- q(mongolian) => [
- q(0289),
- q(0),
- ],
- q(mossi) => [
- q(0290),
- q(0),
- ],
- q(multiple languages) => [
- q(0291),
- q(0),
- ],
- q(munda languages) => [
- q(0292),
- q(0),
- ],
- q(n'ko) => [
- q(0317),
- q(0),
- ],
- q(nahuatl languages) => [
- q(0298),
- q(0),
- ],
- q(nauru) => [
- q(0301),
- q(0),
- ],
- q(navaho) => [
- q(0302),
- q(1),
- ],
- q(navajo) => [
- q(0302),
- q(0),
- ],
- q(ndebele, north) => [
- q(0304),
- q(0),
- ],
- q(ndebele, south) => [
- q(0303),
- q(0),
- ],
- q(ndonga) => [
- q(0305),
- q(0),
- ],
- q(neapolitan) => [
- q(0300),
- q(0),
- ],
- q(nepal bhasa) => [
- q(0308),
- q(0),
- ],
- q(nepali) => [
- q(0307),
- q(0),
- ],
- q(newari) => [
- q(0308),
- q(1),
- ],
- q(nias) => [
- q(0309),
- q(0),
- ],
- q(niger-kordofanian languages) => [
- q(0310),
- q(0),
- ],
- q(nilo-saharan languages) => [
- q(0406),
- q(0),
- ],
- q(niuean) => [
- q(0311),
- q(0),
- ],
- q(no linguistic content) => [
- q(0484),
- q(0),
- ],
- q(nogai) => [
- q(0314),
- q(0),
- ],
- q(norse, old) => [
- q(0315),
- q(0),
- ],
- q(north american indian languages) => [
- q(0299),
- q(0),
- ],
- q(north ndebele) => [
- q(0304),
- q(1),
- ],
- q(northern frisian) => [
- q(0140),
- q(0),
- ],
- q(northern sami) => [
- q(0388),
- q(0),
- ],
- q(northern sotho) => [
- q(0318),
- q(2),
- ],
- q(norwegian) => [
- q(0316),
- q(0),
- ],
- q(norwegian bokmal) => [
- q(0313),
- q(1),
- ],
- q(norwegian nynorsk) => [
- q(0312),
- q(0),
- ],
- q(not applicable) => [
- q(0484),
- q(1),
- ],
- q(nubian languages) => [
- q(0319),
- q(0),
- ],
- q(nuosu) => [
- q(0189),
- q(1),
- ],
- q(nyamwezi) => [
- q(0322),
- q(0),
- ],
- q(nyanja) => [
- q(0321),
- q(2),
- ],
- q(nyankole) => [
- q(0323),
- q(0),
- ],
- q(nynorsk, norwegian) => [
- q(0312),
- q(1),
- ],
- q(nyoro) => [
- q(0324),
- q(0),
- ],
- q(nzima) => [
- q(0325),
- q(0),
- ],
- q(occidental) => [
- q(0192),
- q(1),
- ],
- q(occitan (post 1500)) => [
- q(0326),
- q(0),
- ],
- q(official aramaic (700-300 bce)) => [
- q(0022),
- q(0),
- ],
- q(oirat) => [
- q(0470),
- q(1),
- ],
- q(ojibwa) => [
- q(0327),
- q(0),
- ],
- q(old bulgarian) => [
- q(0086),
- q(3),
- ],
- q(old church slavonic) => [
- q(0086),
- q(4),
- ],
- q(old newari) => [
- q(0320),
- q(1),
- ],
- q(old slavonic) => [
- q(0086),
- q(1),
- ],
- q(oriya) => [
- q(0328),
- q(0),
- ],
- q(oromo) => [
- q(0329),
- q(0),
- ],
- q(osage) => [
- q(0330),
- q(0),
- ],
- q(ossetian) => [
- q(0331),
- q(0),
- ],
- q(ossetic) => [
- q(0331),
- q(1),
- ],
- q(otomian languages) => [
- q(0333),
- q(0),
- ],
- q(pahlavi) => [
- q(0336),
- q(0),
- ],
- q(palauan) => [
- q(0340),
- q(0),
- ],
- q(pali) => [
- q(0345),
- q(0),
- ],
- q(pampanga) => [
- q(0337),
- q(0),
- ],
- q(pangasinan) => [
- q(0335),
- q(0),
- ],
- q(panjabi) => [
- q(0338),
- q(0),
- ],
- q(papiamento) => [
- q(0339),
- q(0),
- ],
- q(papuan languages) => [
- q(0334),
- q(0),
- ],
- q(pashto) => [
- q(0351),
- q(1),
- ],
- q(pedi) => [
- q(0318),
- q(0),
- ],
- q(persian) => [
- q(0342),
- q(0),
- ],
- q(persian, old (ca.600-400 b.c.)) => [
- q(0341),
- q(0),
- ],
- q(philippine languages) => [
- q(0343),
- q(0),
- ],
- q(phoenician) => [
- q(0344),
- q(0),
- ],
- q(pilipino) => [
- q(0133),
- q(1),
- ],
- q(pohnpeian) => [
- q(0347),
- q(0),
- ],
- q(polish) => [
- q(0346),
- q(0),
- ],
- q(portuguese) => [
- q(0348),
- q(0),
- ],
- q(prakrit languages) => [
- q(0349),
- q(0),
- ],
- q(provencal) => [
- q(0326),
- q(1),
- ],
- q(provencal, old (to 1500)) => [
- q(0350),
- q(0),
- ],
- q(punjabi) => [
- q(0338),
- q(1),
- ],
- q(pushto) => [
- q(0351),
- q(0),
- ],
- q(quechua) => [
- q(0353),
- q(0),
- ],
- q(rajasthani) => [
- q(0354),
- q(0),
- ],
- q(rapanui) => [
- q(0355),
- q(0),
- ],
- q(rarotongan) => [
- q(0356),
- q(0),
- ],
- q(reserved for local use) => [
- q(0352),
- q(0),
- ],
- q(romance languages) => [
- q(0357),
- q(0),
- ],
- q(romanian) => [
- q(0360),
- q(0),
- ],
- q(romansh) => [
- q(0358),
- q(0),
- ],
- q(romany) => [
- q(0359),
- q(0),
- ],
- q(rundi) => [
- q(0361),
- q(0),
- ],
- q(russian) => [
- q(0363),
- q(0),
- ],
- q(sakan) => [
- q(0223),
- q(1),
- ],
- q(salishan languages) => [
- q(0368),
- q(0),
- ],
- q(samaritan aramaic) => [
- q(0369),
- q(0),
- ],
- q(sami languages) => [
- q(0389),
- q(0),
- ],
- q(samoan) => [
- q(0392),
- q(0),
- ],
- q(sandawe) => [
- q(0364),
- q(0),
- ],
- q(sango) => [
- q(0365),
- q(0),
- ],
- q(sanskrit) => [
- q(0370),
- q(0),
- ],
- q(santali) => [
- q(0372),
- q(0),
- ],
- q(sardinian) => [
- q(0402),
- q(0),
- ],
- q(sasak) => [
- q(0371),
- q(0),
- ],
- q(saxon, low) => [
- q(0306),
- q(3),
- ],
- q(scots) => [
- q(0374),
- q(0),
- ],
- q(scottish gaelic) => [
- q(0153),
- q(1),
- ],
- q(selkup) => [
- q(0375),
- q(0),
- ],
- q(semitic languages) => [
- q(0376),
- q(0),
- ],
- q(sepedi) => [
- q(0318),
- q(1),
- ],
- q(serbian) => [
- q(0404),
- q(0),
- ],
- q(serer) => [
- q(0405),
- q(0),
- ],
- q(shan) => [
- q(0379),
- q(0),
- ],
- q(shona) => [
- q(0394),
- q(0),
- ],
- q(sichuan yi) => [
- q(0189),
- q(0),
- ],
- q(sicilian) => [
- q(0373),
- q(0),
- ],
- q(sidamo) => [
- q(0380),
- q(0),
- ],
- q(sign languages) => [
- q(0378),
- q(0),
- ],
- q(siksika) => [
- q(0057),
- q(0),
- ],
- q(sindhi) => [
- q(0395),
- q(0),
- ],
- q(sinhala) => [
- q(0381),
- q(0),
- ],
- q(sinhalese) => [
- q(0381),
- q(1),
- ],
- q(sino-tibetan languages) => [
- q(0383),
- q(0),
- ],
- q(siouan languages) => [
- q(0382),
- q(0),
- ],
- q(skolt sami) => [
- q(0393),
- q(0),
- ],
- q(slave (athapascan)) => [
- q(0107),
- q(0),
- ],
- q(slavic languages) => [
- q(0384),
- q(0),
- ],
- q(slovak) => [
- q(0385),
- q(0),
- ],
- q(slovenian) => [
- q(0386),
- q(0),
- ],
- q(sogdian) => [
- q(0397),
- q(0),
- ],
- q(somali) => [
- q(0398),
- q(0),
- ],
- q(songhai languages) => [
- q(0399),
- q(0),
- ],
- q(soninke) => [
- q(0396),
- q(0),
- ],
- q(sorbian languages) => [
- q(0467),
- q(0),
- ],
- q(sotho, southern) => [
- q(0400),
- q(0),
- ],
- q(south american indian (other)) => [
- q(0367),
- q(0),
- ],
- q(south ndebele) => [
- q(0303),
- q(1),
- ],
- q(southern altai) => [
- q(0016),
- q(0),
- ],
- q(southern sami) => [
- q(0387),
- q(0),
- ],
- q(spanish) => [
- q(0401),
- q(0),
- ],
- q(sranan tongo) => [
- q(0403),
- q(0),
- ],
- q(sukuma) => [
- q(0408),
- q(0),
- ],
- q(sumerian) => [
- q(0411),
- q(0),
- ],
- q(sundanese) => [
- q(0409),
- q(0),
- ],
- q(susu) => [
- q(0410),
- q(0),
- ],
- q(swahili) => [
- q(0412),
- q(0),
- ],
- q(swati) => [
- q(0407),
- q(0),
- ],
- q(swedish) => [
- q(0413),
- q(0),
- ],
- q(swiss german) => [
- q(0166),
- q(0),
- ],
- q(syriac) => [
- q(0415),
- q(0),
- ],
- q(tagalog) => [
- q(0425),
- q(0),
- ],
- q(tahitian) => [
- q(0416),
- q(0),
- ],
- q(tai languages) => [
- q(0417),
- q(0),
- ],
- q(tajik) => [
- q(0424),
- q(0),
- ],
- q(tamashek) => [
- q(0434),
- q(0),
- ],
- q(tamil) => [
- q(0418),
- q(0),
- ],
- q(tatar) => [
- q(0419),
- q(0),
- ],
- q(telugu) => [
- q(0420),
- q(0),
- ],
- q(tereno) => [
- q(0422),
- q(0),
- ],
- q(tetum) => [
- q(0423),
- q(0),
- ],
- q(thai) => [
- q(0426),
- q(0),
- ],
- q(tibetan) => [
- q(0427),
- q(0),
- ],
- q(tigre) => [
- q(0428),
- q(0),
- ],
- q(tigrinya) => [
- q(0429),
- q(0),
- ],
- q(timne) => [
- q(0421),
- q(0),
- ],
- q(tiv) => [
- q(0430),
- q(0),
- ],
- q(tlhingan-hol) => [
- q(0432),
- q(1),
- ],
- q(tlingit) => [
- q(0433),
- q(0),
- ],
- q(tok pisin) => [
- q(0437),
- q(0),
- ],
- q(tokelau) => [
- q(0431),
- q(0),
- ],
- q(tonga) => [
- q(0436),
- q(1),
- ],
- q(tonga (nyasa)) => [
- q(0435),
- q(0),
- ],
- q(tonga (tonga islands)) => [
- q(0436),
- q(0),
- ],
- q(tsimshian) => [
- q(0438),
- q(0),
- ],
- q(tsonga) => [
- q(0440),
- q(0),
- ],
- q(tswana) => [
- q(0439),
- q(0),
- ],
- q(tumbuka) => [
- q(0442),
- q(0),
- ],
- q(tupi languages) => [
- q(0443),
- q(0),
- ],
- q(turkish) => [
- q(0444),
- q(0),
- ],
- q(turkish, ottoman (1500-1928)) => [
- q(0332),
- q(0),
- ],
- q(turkmen) => [
- q(0441),
- q(0),
- ],
- q(tuvalu) => [
- q(0446),
- q(0),
- ],
- q(tuvinian) => [
- q(0448),
- q(0),
- ],
- q(twi) => [
- q(0447),
- q(0),
- ],
- q(udmurt) => [
- q(0449),
- q(0),
- ],
- q(ugaritic) => [
- q(0450),
- q(0),
- ],
- q(uighur) => [
- q(0451),
- q(0),
- ],
- q(ukrainian) => [
- q(0452),
- q(0),
- ],
- q(umbundu) => [
- q(0453),
- q(0),
- ],
- q(uncoded languages) => [
- q(0281),
- q(0),
- ],
- q(undetermined) => [
- q(0454),
- q(0),
- ],
- q(upper sorbian) => [
- q(0182),
- q(0),
- ],
- q(urdu) => [
- q(0455),
- q(0),
- ],
- q(uyghur) => [
- q(0451),
- q(1),
- ],
- q(uzbek) => [
- q(0456),
- q(0),
- ],
- q(vai) => [
- q(0457),
- q(0),
- ],
- q(valencian) => [
- q(0071),
- q(1),
- ],
- q(venda) => [
- q(0458),
- q(0),
- ],
- q(vietnamese) => [
- q(0459),
- q(0),
- ],
- q(volapuk) => [
- q(0460),
- q(0),
- ],
- q(votic) => [
- q(0461),
- q(0),
- ],
- q(wakashan languages) => [
- q(0462),
- q(0),
- ],
- q(walamo) => [
- q(0463),
- q(0),
- ],
- q(walloon) => [
- q(0468),
- q(0),
- ],
- q(waray) => [
- q(0464),
- q(0),
- ],
- q(washo) => [
- q(0465),
- q(0),
- ],
- q(welsh) => [
- q(0466),
- q(0),
- ],
- q(western frisian) => [
- q(0142),
- q(0),
- ],
- q(western pahari languages) => [
- q(0176),
- q(1),
- ],
- q(wolof) => [
- q(0469),
- q(0),
- ],
- q(xhosa) => [
- q(0471),
- q(0),
- ],
- q(yakut) => [
- q(0366),
- q(0),
- ],
- q(yao) => [
- q(0472),
- q(0),
- ],
- q(yapese) => [
- q(0473),
- q(0),
- ],
- q(yiddish) => [
- q(0474),
- q(0),
- ],
- q(yoruba) => [
- q(0475),
- q(0),
- ],
- q(yupik languages) => [
- q(0476),
- q(0),
- ],
- q(zande languages) => [
- q(0481),
- q(0),
- ],
- q(zapotec) => [
- q(0477),
- q(0),
- ],
- q(zaza) => [
- q(0485),
- q(0),
- ],
- q(zazaki) => [
- q(0485),
- q(5),
- ],
- q(zenaga) => [
- q(0479),
- q(0),
- ],
- q(zhuang) => [
- q(0480),
- q(0),
- ],
- q(zulu) => [
- q(0482),
- q(0),
- ],
- q(zuni) => [
- q(0483),
- q(0),
- ],
-};
-
-$Locale::Codes::Data{'language'}{'code2id'} = {
- q(alpha2) => {
- q(aa) => [
- q(0001),
- q(0),
- ],
- q(ab) => [
- q(0002),
- q(0),
- ],
- q(ae) => [
- q(0034),
- q(0),
- ],
- q(af) => [
- q(0009),
- q(0),
- ],
- q(ak) => [
- q(0011),
- q(0),
- ],
- q(am) => [
- q(0017),
- q(0),
- ],
- q(an) => [
- q(0023),
- q(0),
- ],
- q(ar) => [
- q(0021),
- q(0),
- ],
- q(as) => [
- q(0029),
- q(0),
- ],
- q(av) => [
- q(0033),
- q(0),
- ],
- q(ay) => [
- q(0036),
- q(0),
- ],
- q(az) => [
- q(0037),
- q(0),
- ],
- q(ba) => [
- q(0040),
- q(0),
- ],
- q(be) => [
- q(0048),
- q(0),
- ],
- q(bg) => [
- q(0065),
- q(0),
- ],
- q(bh) => [
- q(0053),
- q(0),
- ],
- q(bi) => [
- q(0056),
- q(0),
- ],
- q(bm) => [
- q(0042),
- q(0),
- ],
- q(bn) => [
- q(0050),
- q(0),
- ],
- q(bo) => [
- q(0427),
- q(0),
- ],
- q(br) => [
- q(0061),
- q(0),
- ],
- q(bs) => [
- q(0059),
- q(0),
- ],
- q(ca) => [
- q(0071),
- q(0),
- ],
- q(ce) => [
- q(0077),
- q(0),
- ],
- q(ch) => [
- q(0075),
- q(0),
- ],
- q(co) => [
- q(0092),
- q(0),
- ],
- q(cr) => [
- q(0096),
- q(0),
- ],
- q(cs) => [
- q(0101),
- q(0),
- ],
- q(cu) => [
- q(0086),
- q(0),
- ],
- q(cv) => [
- q(0087),
- q(0),
- ],
- q(cy) => [
- q(0466),
- q(0),
- ],
- q(da) => [
- q(0103),
- q(0),
- ],
- q(de) => [
- q(0150),
- q(0),
- ],
- q(dv) => [
- q(0110),
- q(0),
- ],
- q(dz) => [
- q(0118),
- q(0),
- ],
- q(ee) => [
- q(0127),
- q(0),
- ],
- q(el) => [
- q(0164),
- q(0),
- ],
- q(en) => [
- q(0123),
- q(0),
- ],
- q(eo) => [
- q(0125),
- q(0),
- ],
- q(es) => [
- q(0401),
- q(0),
- ],
- q(et) => [
- q(0126),
- q(0),
- ],
- q(eu) => [
- q(0044),
- q(0),
- ],
- q(fa) => [
- q(0342),
- q(0),
- ],
- q(ff) => [
- q(0143),
- q(0),
- ],
- q(fi) => [
- q(0134),
- q(0),
- ],
- q(fj) => [
- q(0132),
- q(0),
- ],
- q(fo) => [
- q(0130),
- q(0),
- ],
- q(fr) => [
- q(0137),
- q(0),
- ],
- q(fy) => [
- q(0142),
- q(0),
- ],
- q(ga) => [
- q(0154),
- q(0),
- ],
- q(gd) => [
- q(0153),
- q(0),
- ],
- q(gl) => [
- q(0155),
- q(0),
- ],
- q(gn) => [
- q(0165),
- q(0),
- ],
- q(gu) => [
- q(0167),
- q(0),
- ],
- q(gv) => [
- q(0156),
- q(0),
- ],
- q(ha) => [
- q(0171),
- q(0),
- ],
- q(he) => [
- q(0173),
- q(0),
- ],
- q(hi) => [
- q(0177),
- q(0),
- ],
- q(ho) => [
- q(0180),
- q(0),
- ],
- q(hr) => [
- q(0181),
- q(0),
- ],
- q(ht) => [
- q(0170),
- q(0),
- ],
- q(hu) => [
- q(0183),
- q(0),
- ],
- q(hy) => [
- q(0024),
- q(0),
- ],
- q(hz) => [
- q(0174),
- q(0),
- ],
- q(ia) => [
- q(0194),
- q(0),
- ],
- q(id) => [
- q(0196),
- q(0),
- ],
- q(ie) => [
- q(0192),
- q(0),
- ],
- q(ig) => [
- q(0186),
- q(0),
- ],
- q(ii) => [
- q(0189),
- q(0),
- ],
- q(ik) => [
- q(0199),
- q(0),
- ],
- q(io) => [
- q(0188),
- q(0),
- ],
- q(is) => [
- q(0187),
- q(0),
- ],
- q(it) => [
- q(0202),
- q(0),
- ],
- q(iu) => [
- q(0191),
- q(0),
- ],
- q(ja) => [
- q(0205),
- q(0),
- ],
- q(jv) => [
- q(0203),
- q(0),
- ],
- q(ka) => [
- q(0149),
- q(0),
- ],
- q(kg) => [
- q(0230),
- q(0),
- ],
- q(ki) => [
- q(0224),
- q(0),
- ],
- q(kj) => [
- q(0238),
- q(0),
- ],
- q(kk) => [
- q(0218),
- q(0),
- ],
- q(kl) => [
- q(0211),
- q(0),
- ],
- q(km) => [
- q(0222),
- q(0),
- ],
- q(kn) => [
- q(0213),
- q(0),
- ],
- q(ko) => [
- q(0231),
- q(0),
- ],
- q(kr) => [
- q(0216),
- q(0),
- ],
- q(ks) => [
- q(0215),
- q(0),
- ],
- q(ku) => [
- q(0240),
- q(0),
- ],
- q(kv) => [
- q(0229),
- q(0),
- ],
- q(kw) => [
- q(0091),
- q(0),
- ],
- q(ky) => [
- q(0226),
- q(0),
- ],
- q(la) => [
- q(0246),
- q(0),
- ],
- q(lb) => [
- q(0254),
- q(0),
- ],
- q(lg) => [
- q(0257),
- q(0),
- ],
- q(li) => [
- q(0249),
- q(0),
- ],
- q(ln) => [
- q(0250),
- q(0),
- ],
- q(lo) => [
- q(0245),
- q(0),
- ],
- q(lt) => [
- q(0251),
- q(0),
- ],
- q(lu) => [
- q(0256),
- q(0),
- ],
- q(lv) => [
- q(0247),
- q(0),
- ],
- q(mg) => [
- q(0283),
- q(0),
- ],
- q(mh) => [
- q(0265),
- q(0),
- ],
- q(mi) => [
- q(0270),
- q(0),
- ],
- q(mk) => [
- q(0262),
- q(0),
- ],
- q(ml) => [
- q(0268),
- q(0),
- ],
- q(mn) => [
- q(0289),
- q(0),
- ],
- q(mr) => [
- q(0272),
- q(0),
- ],
- q(ms) => [
- q(0274),
- q(0),
- ],
- q(mt) => [
- q(0284),
- q(0),
- ],
- q(my) => [
- q(0066),
- q(0),
- ],
- q(na) => [
- q(0301),
- q(0),
- ],
- q(nb) => [
- q(0313),
- q(0),
- ],
- q(nd) => [
- q(0304),
- q(0),
- ],
- q(ne) => [
- q(0307),
- q(0),
- ],
- q(ng) => [
- q(0305),
- q(0),
- ],
- q(nl) => [
- q(0116),
- q(0),
- ],
- q(nn) => [
- q(0312),
- q(0),
- ],
- q(no) => [
- q(0316),
- q(0),
- ],
- q(nr) => [
- q(0303),
- q(0),
- ],
- q(nv) => [
- q(0302),
- q(0),
- ],
- q(ny) => [
- q(0321),
- q(0),
- ],
- q(oc) => [
- q(0326),
- q(0),
- ],
- q(oj) => [
- q(0327),
- q(0),
- ],
- q(om) => [
- q(0329),
- q(0),
- ],
- q(or) => [
- q(0328),
- q(0),
- ],
- q(os) => [
- q(0331),
- q(0),
- ],
- q(pa) => [
- q(0338),
- q(0),
- ],
- q(pi) => [
- q(0345),
- q(0),
- ],
- q(pl) => [
- q(0346),
- q(0),
- ],
- q(ps) => [
- q(0351),
- q(0),
- ],
- q(pt) => [
- q(0348),
- q(0),
- ],
- q(qu) => [
- q(0353),
- q(0),
- ],
- q(rm) => [
- q(0358),
- q(0),
- ],
- q(rn) => [
- q(0361),
- q(0),
- ],
- q(ro) => [
- q(0360),
- q(0),
- ],
- q(ru) => [
- q(0363),
- q(0),
- ],
- q(rw) => [
- q(0225),
- q(0),
- ],
- q(sa) => [
- q(0370),
- q(0),
- ],
- q(sc) => [
- q(0402),
- q(0),
- ],
- q(sd) => [
- q(0395),
- q(0),
- ],
- q(se) => [
- q(0388),
- q(0),
- ],
- q(sg) => [
- q(0365),
- q(0),
- ],
- q(si) => [
- q(0381),
- q(0),
- ],
- q(sk) => [
- q(0385),
- q(0),
- ],
- q(sl) => [
- q(0386),
- q(0),
- ],
- q(sm) => [
- q(0392),
- q(0),
- ],
- q(sn) => [
- q(0394),
- q(0),
- ],
- q(so) => [
- q(0398),
- q(0),
- ],
- q(sq) => [
- q(0013),
- q(0),
- ],
- q(sr) => [
- q(0404),
- q(0),
- ],
- q(ss) => [
- q(0407),
- q(0),
- ],
- q(st) => [
- q(0400),
- q(0),
- ],
- q(su) => [
- q(0409),
- q(0),
- ],
- q(sv) => [
- q(0413),
- q(0),
- ],
- q(sw) => [
- q(0412),
- q(0),
- ],
- q(ta) => [
- q(0418),
- q(0),
- ],
- q(te) => [
- q(0420),
- q(0),
- ],
- q(tg) => [
- q(0424),
- q(0),
- ],
- q(th) => [
- q(0426),
- q(0),
- ],
- q(ti) => [
- q(0429),
- q(0),
- ],
- q(tk) => [
- q(0441),
- q(0),
- ],
- q(tl) => [
- q(0425),
- q(0),
- ],
- q(tn) => [
- q(0439),
- q(0),
- ],
- q(to) => [
- q(0436),
- q(0),
- ],
- q(tr) => [
- q(0444),
- q(0),
- ],
- q(ts) => [
- q(0440),
- q(0),
- ],
- q(tt) => [
- q(0419),
- q(0),
- ],
- q(tw) => [
- q(0447),
- q(0),
- ],
- q(ty) => [
- q(0416),
- q(0),
- ],
- q(ug) => [
- q(0451),
- q(0),
- ],
- q(uk) => [
- q(0452),
- q(0),
- ],
- q(ur) => [
- q(0455),
- q(0),
- ],
- q(uz) => [
- q(0456),
- q(0),
- ],
- q(ve) => [
- q(0458),
- q(0),
- ],
- q(vi) => [
- q(0459),
- q(0),
- ],
- q(vo) => [
- q(0460),
- q(0),
- ],
- q(wa) => [
- q(0468),
- q(0),
- ],
- q(wo) => [
- q(0469),
- q(0),
- ],
- q(xh) => [
- q(0471),
- q(0),
- ],
- q(yi) => [
- q(0474),
- q(0),
- ],
- q(yo) => [
- q(0475),
- q(0),
- ],
- q(za) => [
- q(0480),
- q(0),
- ],
- q(zh) => [
- q(0079),
- q(0),
- ],
- q(zu) => [
- q(0482),
- q(0),
- ],
- },
- q(alpha3) => {
- q(aar) => [
- q(0001),
- q(0),
- ],
- q(abk) => [
- q(0002),
- q(0),
- ],
- q(ace) => [
- q(0003),
- q(0),
- ],
- q(ach) => [
- q(0004),
- q(0),
- ],
- q(ada) => [
- q(0005),
- q(0),
- ],
- q(ady) => [
- q(0006),
- q(0),
- ],
- q(afa) => [
- q(0007),
- q(0),
- ],
- q(afh) => [
- q(0008),
- q(0),
- ],
- q(afr) => [
- q(0009),
- q(0),
- ],
- q(ain) => [
- q(0010),
- q(0),
- ],
- q(aka) => [
- q(0011),
- q(0),
- ],
- q(akk) => [
- q(0012),
- q(0),
- ],
- q(alb) => [
- q(0013),
- q(0),
- ],
- q(ale) => [
- q(0014),
- q(0),
- ],
- q(alg) => [
- q(0015),
- q(0),
- ],
- q(alt) => [
- q(0016),
- q(0),
- ],
- q(amh) => [
- q(0017),
- q(0),
- ],
- q(ang) => [
- q(0018),
- q(0),
- ],
- q(anp) => [
- q(0019),
- q(0),
- ],
- q(apa) => [
- q(0020),
- q(0),
- ],
- q(ara) => [
- q(0021),
- q(0),
- ],
- q(arc) => [
- q(0022),
- q(0),
- ],
- q(arg) => [
- q(0023),
- q(0),
- ],
- q(arm) => [
- q(0024),
- q(0),
- ],
- q(arn) => [
- q(0025),
- q(0),
- ],
- q(arp) => [
- q(0026),
- q(0),
- ],
- q(art) => [
- q(0027),
- q(0),
- ],
- q(arw) => [
- q(0028),
- q(0),
- ],
- q(asm) => [
- q(0029),
- q(0),
- ],
- q(ast) => [
- q(0030),
- q(0),
- ],
- q(ath) => [
- q(0031),
- q(0),
- ],
- q(aus) => [
- q(0032),
- q(0),
- ],
- q(ava) => [
- q(0033),
- q(0),
- ],
- q(ave) => [
- q(0034),
- q(0),
- ],
- q(awa) => [
- q(0035),
- q(0),
- ],
- q(aym) => [
- q(0036),
- q(0),
- ],
- q(aze) => [
- q(0037),
- q(0),
- ],
- q(bad) => [
- q(0038),
- q(0),
- ],
- q(bai) => [
- q(0039),
- q(0),
- ],
- q(bak) => [
- q(0040),
- q(0),
- ],
- q(bal) => [
- q(0041),
- q(0),
- ],
- q(bam) => [
- q(0042),
- q(0),
- ],
- q(ban) => [
- q(0043),
- q(0),
- ],
- q(baq) => [
- q(0044),
- q(0),
- ],
- q(bas) => [
- q(0045),
- q(0),
- ],
- q(bat) => [
- q(0046),
- q(0),
- ],
- q(bej) => [
- q(0047),
- q(0),
- ],
- q(bel) => [
- q(0048),
- q(0),
- ],
- q(bem) => [
- q(0049),
- q(0),
- ],
- q(ben) => [
- q(0050),
- q(0),
- ],
- q(ber) => [
- q(0051),
- q(0),
- ],
- q(bho) => [
- q(0052),
- q(0),
- ],
- q(bih) => [
- q(0053),
- q(0),
- ],
- q(bik) => [
- q(0054),
- q(0),
- ],
- q(bin) => [
- q(0055),
- q(0),
- ],
- q(bis) => [
- q(0056),
- q(0),
- ],
- q(bla) => [
- q(0057),
- q(0),
- ],
- q(bnt) => [
- q(0058),
- q(0),
- ],
- q(bos) => [
- q(0059),
- q(0),
- ],
- q(bra) => [
- q(0060),
- q(0),
- ],
- q(bre) => [
- q(0061),
- q(0),
- ],
- q(btk) => [
- q(0062),
- q(0),
- ],
- q(bua) => [
- q(0063),
- q(0),
- ],
- q(bug) => [
- q(0064),
- q(0),
- ],
- q(bul) => [
- q(0065),
- q(0),
- ],
- q(bur) => [
- q(0066),
- q(0),
- ],
- q(byn) => [
- q(0067),
- q(0),
- ],
- q(cad) => [
- q(0068),
- q(0),
- ],
- q(cai) => [
- q(0069),
- q(0),
- ],
- q(car) => [
- q(0070),
- q(0),
- ],
- q(cat) => [
- q(0071),
- q(0),
- ],
- q(cau) => [
- q(0072),
- q(0),
- ],
- q(ceb) => [
- q(0073),
- q(0),
- ],
- q(cel) => [
- q(0074),
- q(0),
- ],
- q(cha) => [
- q(0075),
- q(0),
- ],
- q(chb) => [
- q(0076),
- q(0),
- ],
- q(che) => [
- q(0077),
- q(0),
- ],
- q(chg) => [
- q(0078),
- q(0),
- ],
- q(chi) => [
- q(0079),
- q(0),
- ],
- q(chk) => [
- q(0080),
- q(0),
- ],
- q(chm) => [
- q(0081),
- q(0),
- ],
- q(chn) => [
- q(0082),
- q(0),
- ],
- q(cho) => [
- q(0083),
- q(0),
- ],
- q(chp) => [
- q(0084),
- q(0),
- ],
- q(chr) => [
- q(0085),
- q(0),
- ],
- q(chu) => [
- q(0086),
- q(0),
- ],
- q(chv) => [
- q(0087),
- q(0),
- ],
- q(chy) => [
- q(0088),
- q(0),
- ],
- q(cmc) => [
- q(0089),
- q(0),
- ],
- q(cop) => [
- q(0090),
- q(0),
- ],
- q(cor) => [
- q(0091),
- q(0),
- ],
- q(cos) => [
- q(0092),
- q(0),
- ],
- q(cpe) => [
- q(0093),
- q(0),
- ],
- q(cpf) => [
- q(0094),
- q(0),
- ],
- q(cpp) => [
- q(0095),
- q(0),
- ],
- q(cre) => [
- q(0096),
- q(0),
- ],
- q(crh) => [
- q(0097),
- q(0),
- ],
- q(crp) => [
- q(0098),
- q(0),
- ],
- q(csb) => [
- q(0099),
- q(0),
- ],
- q(cus) => [
- q(0100),
- q(0),
- ],
- q(cze) => [
- q(0101),
- q(0),
- ],
- q(dak) => [
- q(0102),
- q(0),
- ],
- q(dan) => [
- q(0103),
- q(0),
- ],
- q(dar) => [
- q(0104),
- q(0),
- ],
- q(day) => [
- q(0105),
- q(0),
- ],
- q(del) => [
- q(0106),
- q(0),
- ],
- q(den) => [
- q(0107),
- q(0),
- ],
- q(dgr) => [
- q(0108),
- q(0),
- ],
- q(din) => [
- q(0109),
- q(0),
- ],
- q(div) => [
- q(0110),
- q(0),
- ],
- q(doi) => [
- q(0111),
- q(0),
- ],
- q(dra) => [
- q(0112),
- q(0),
- ],
- q(dsb) => [
- q(0113),
- q(0),
- ],
- q(dua) => [
- q(0114),
- q(0),
- ],
- q(dum) => [
- q(0115),
- q(0),
- ],
- q(dut) => [
- q(0116),
- q(0),
- ],
- q(dyu) => [
- q(0117),
- q(0),
- ],
- q(dzo) => [
- q(0118),
- q(0),
- ],
- q(efi) => [
- q(0119),
- q(0),
- ],
- q(egy) => [
- q(0120),
- q(0),
- ],
- q(eka) => [
- q(0121),
- q(0),
- ],
- q(elx) => [
- q(0122),
- q(0),
- ],
- q(eng) => [
- q(0123),
- q(0),
- ],
- q(enm) => [
- q(0124),
- q(0),
- ],
- q(epo) => [
- q(0125),
- q(0),
- ],
- q(est) => [
- q(0126),
- q(0),
- ],
- q(ewe) => [
- q(0127),
- q(0),
- ],
- q(ewo) => [
- q(0128),
- q(0),
- ],
- q(fan) => [
- q(0129),
- q(0),
- ],
- q(fao) => [
- q(0130),
- q(0),
- ],
- q(fat) => [
- q(0131),
- q(0),
- ],
- q(fij) => [
- q(0132),
- q(0),
- ],
- q(fil) => [
- q(0133),
- q(0),
- ],
- q(fin) => [
- q(0134),
- q(0),
- ],
- q(fiu) => [
- q(0135),
- q(0),
- ],
- q(fon) => [
- q(0136),
- q(0),
- ],
- q(fre) => [
- q(0137),
- q(0),
- ],
- q(frm) => [
- q(0138),
- q(0),
- ],
- q(fro) => [
- q(0139),
- q(0),
- ],
- q(frr) => [
- q(0140),
- q(0),
- ],
- q(frs) => [
- q(0141),
- q(0),
- ],
- q(fry) => [
- q(0142),
- q(0),
- ],
- q(ful) => [
- q(0143),
- q(0),
- ],
- q(fur) => [
- q(0144),
- q(0),
- ],
- q(gaa) => [
- q(0145),
- q(0),
- ],
- q(gay) => [
- q(0146),
- q(0),
- ],
- q(gba) => [
- q(0147),
- q(0),
- ],
- q(gem) => [
- q(0148),
- q(0),
- ],
- q(geo) => [
- q(0149),
- q(0),
- ],
- q(ger) => [
- q(0150),
- q(0),
- ],
- q(gez) => [
- q(0151),
- q(0),
- ],
- q(gil) => [
- q(0152),
- q(0),
- ],
- q(gla) => [
- q(0153),
- q(0),
- ],
- q(gle) => [
- q(0154),
- q(0),
- ],
- q(glg) => [
- q(0155),
- q(0),
- ],
- q(glv) => [
- q(0156),
- q(0),
- ],
- q(gmh) => [
- q(0157),
- q(0),
- ],
- q(goh) => [
- q(0158),
- q(0),
- ],
- q(gon) => [
- q(0159),
- q(0),
- ],
- q(gor) => [
- q(0160),
- q(0),
- ],
- q(got) => [
- q(0161),
- q(0),
- ],
- q(grb) => [
- q(0162),
- q(0),
- ],
- q(grc) => [
- q(0163),
- q(0),
- ],
- q(gre) => [
- q(0164),
- q(0),
- ],
- q(grn) => [
- q(0165),
- q(0),
- ],
- q(gsw) => [
- q(0166),
- q(0),
- ],
- q(guj) => [
- q(0167),
- q(0),
- ],
- q(gwi) => [
- q(0168),
- q(0),
- ],
- q(hai) => [
- q(0169),
- q(0),
- ],
- q(hat) => [
- q(0170),
- q(0),
- ],
- q(hau) => [
- q(0171),
- q(0),
- ],
- q(haw) => [
- q(0172),
- q(0),
- ],
- q(heb) => [
- q(0173),
- q(0),
- ],
- q(her) => [
- q(0174),
- q(0),
- ],
- q(hil) => [
- q(0175),
- q(0),
- ],
- q(him) => [
- q(0176),
- q(0),
- ],
- q(hin) => [
- q(0177),
- q(0),
- ],
- q(hit) => [
- q(0178),
- q(0),
- ],
- q(hmn) => [
- q(0179),
- q(0),
- ],
- q(hmo) => [
- q(0180),
- q(0),
- ],
- q(hrv) => [
- q(0181),
- q(0),
- ],
- q(hsb) => [
- q(0182),
- q(0),
- ],
- q(hun) => [
- q(0183),
- q(0),
- ],
- q(hup) => [
- q(0184),
- q(0),
- ],
- q(iba) => [
- q(0185),
- q(0),
- ],
- q(ibo) => [
- q(0186),
- q(0),
- ],
- q(ice) => [
- q(0187),
- q(0),
- ],
- q(ido) => [
- q(0188),
- q(0),
- ],
- q(iii) => [
- q(0189),
- q(0),
- ],
- q(ijo) => [
- q(0190),
- q(0),
- ],
- q(iku) => [
- q(0191),
- q(0),
- ],
- q(ile) => [
- q(0192),
- q(0),
- ],
- q(ilo) => [
- q(0193),
- q(0),
- ],
- q(ina) => [
- q(0194),
- q(0),
- ],
- q(inc) => [
- q(0195),
- q(0),
- ],
- q(ind) => [
- q(0196),
- q(0),
- ],
- q(ine) => [
- q(0197),
- q(0),
- ],
- q(inh) => [
- q(0198),
- q(0),
- ],
- q(ipk) => [
- q(0199),
- q(0),
- ],
- q(ira) => [
- q(0200),
- q(0),
- ],
- q(iro) => [
- q(0201),
- q(0),
- ],
- q(ita) => [
- q(0202),
- q(0),
- ],
- q(jav) => [
- q(0203),
- q(0),
- ],
- q(jbo) => [
- q(0204),
- q(0),
- ],
- q(jpn) => [
- q(0205),
- q(0),
- ],
- q(jpr) => [
- q(0206),
- q(0),
- ],
- q(jrb) => [
- q(0207),
- q(0),
- ],
- q(kaa) => [
- q(0208),
- q(0),
- ],
- q(kab) => [
- q(0209),
- q(0),
- ],
- q(kac) => [
- q(0210),
- q(0),
- ],
- q(kal) => [
- q(0211),
- q(0),
- ],
- q(kam) => [
- q(0212),
- q(0),
- ],
- q(kan) => [
- q(0213),
- q(0),
- ],
- q(kar) => [
- q(0214),
- q(0),
- ],
- q(kas) => [
- q(0215),
- q(0),
- ],
- q(kau) => [
- q(0216),
- q(0),
- ],
- q(kaw) => [
- q(0217),
- q(0),
- ],
- q(kaz) => [
- q(0218),
- q(0),
- ],
- q(kbd) => [
- q(0219),
- q(0),
- ],
- q(kha) => [
- q(0220),
- q(0),
- ],
- q(khi) => [
- q(0221),
- q(0),
- ],
- q(khm) => [
- q(0222),
- q(0),
- ],
- q(kho) => [
- q(0223),
- q(0),
- ],
- q(kik) => [
- q(0224),
- q(0),
- ],
- q(kin) => [
- q(0225),
- q(0),
- ],
- q(kir) => [
- q(0226),
- q(0),
- ],
- q(kmb) => [
- q(0227),
- q(0),
- ],
- q(kok) => [
- q(0228),
- q(0),
- ],
- q(kom) => [
- q(0229),
- q(0),
- ],
- q(kon) => [
- q(0230),
- q(0),
- ],
- q(kor) => [
- q(0231),
- q(0),
- ],
- q(kos) => [
- q(0232),
- q(0),
- ],
- q(kpe) => [
- q(0233),
- q(0),
- ],
- q(krc) => [
- q(0234),
- q(0),
- ],
- q(krl) => [
- q(0235),
- q(0),
- ],
- q(kro) => [
- q(0236),
- q(0),
- ],
- q(kru) => [
- q(0237),
- q(0),
- ],
- q(kua) => [
- q(0238),
- q(0),
- ],
- q(kum) => [
- q(0239),
- q(0),
- ],
- q(kur) => [
- q(0240),
- q(0),
- ],
- q(kut) => [
- q(0241),
- q(0),
- ],
- q(lad) => [
- q(0242),
- q(0),
- ],
- q(lah) => [
- q(0243),
- q(0),
- ],
- q(lam) => [
- q(0244),
- q(0),
- ],
- q(lao) => [
- q(0245),
- q(0),
- ],
- q(lat) => [
- q(0246),
- q(0),
- ],
- q(lav) => [
- q(0247),
- q(0),
- ],
- q(lez) => [
- q(0248),
- q(0),
- ],
- q(lim) => [
- q(0249),
- q(0),
- ],
- q(lin) => [
- q(0250),
- q(0),
- ],
- q(lit) => [
- q(0251),
- q(0),
- ],
- q(lol) => [
- q(0252),
- q(0),
- ],
- q(loz) => [
- q(0253),
- q(0),
- ],
- q(ltz) => [
- q(0254),
- q(0),
- ],
- q(lua) => [
- q(0255),
- q(0),
- ],
- q(lub) => [
- q(0256),
- q(0),
- ],
- q(lug) => [
- q(0257),
- q(0),
- ],
- q(lui) => [
- q(0258),
- q(0),
- ],
- q(lun) => [
- q(0259),
- q(0),
- ],
- q(luo) => [
- q(0260),
- q(0),
- ],
- q(lus) => [
- q(0261),
- q(0),
- ],
- q(mac) => [
- q(0262),
- q(0),
- ],
- q(mad) => [
- q(0263),
- q(0),
- ],
- q(mag) => [
- q(0264),
- q(0),
- ],
- q(mah) => [
- q(0265),
- q(0),
- ],
- q(mai) => [
- q(0266),
- q(0),
- ],
- q(mak) => [
- q(0267),
- q(0),
- ],
- q(mal) => [
- q(0268),
- q(0),
- ],
- q(man) => [
- q(0269),
- q(0),
- ],
- q(mao) => [
- q(0270),
- q(0),
- ],
- q(map) => [
- q(0271),
- q(0),
- ],
- q(mar) => [
- q(0272),
- q(0),
- ],
- q(mas) => [
- q(0273),
- q(0),
- ],
- q(may) => [
- q(0274),
- q(0),
- ],
- q(mdf) => [
- q(0275),
- q(0),
- ],
- q(mdr) => [
- q(0276),
- q(0),
- ],
- q(men) => [
- q(0277),
- q(0),
- ],
- q(mga) => [
- q(0278),
- q(0),
- ],
- q(mic) => [
- q(0279),
- q(0),
- ],
- q(min) => [
- q(0280),
- q(0),
- ],
- q(mis) => [
- q(0281),
- q(0),
- ],
- q(mkh) => [
- q(0282),
- q(0),
- ],
- q(mlg) => [
- q(0283),
- q(0),
- ],
- q(mlt) => [
- q(0284),
- q(0),
- ],
- q(mnc) => [
- q(0285),
- q(0),
- ],
- q(mni) => [
- q(0286),
- q(0),
- ],
- q(mno) => [
- q(0287),
- q(0),
- ],
- q(moh) => [
- q(0288),
- q(0),
- ],
- q(mon) => [
- q(0289),
- q(0),
- ],
- q(mos) => [
- q(0290),
- q(0),
- ],
- q(mul) => [
- q(0291),
- q(0),
- ],
- q(mun) => [
- q(0292),
- q(0),
- ],
- q(mus) => [
- q(0293),
- q(0),
- ],
- q(mwl) => [
- q(0294),
- q(0),
- ],
- q(mwr) => [
- q(0295),
- q(0),
- ],
- q(myn) => [
- q(0296),
- q(0),
- ],
- q(myv) => [
- q(0297),
- q(0),
- ],
- q(nah) => [
- q(0298),
- q(0),
- ],
- q(nai) => [
- q(0299),
- q(0),
- ],
- q(nap) => [
- q(0300),
- q(0),
- ],
- q(nau) => [
- q(0301),
- q(0),
- ],
- q(nav) => [
- q(0302),
- q(0),
- ],
- q(nbl) => [
- q(0303),
- q(0),
- ],
- q(nde) => [
- q(0304),
- q(0),
- ],
- q(ndo) => [
- q(0305),
- q(0),
- ],
- q(nds) => [
- q(0306),
- q(0),
- ],
- q(nep) => [
- q(0307),
- q(0),
- ],
- q(new) => [
- q(0308),
- q(0),
- ],
- q(nia) => [
- q(0309),
- q(0),
- ],
- q(nic) => [
- q(0310),
- q(0),
- ],
- q(niu) => [
- q(0311),
- q(0),
- ],
- q(nno) => [
- q(0312),
- q(0),
- ],
- q(nob) => [
- q(0313),
- q(0),
- ],
- q(nog) => [
- q(0314),
- q(0),
- ],
- q(non) => [
- q(0315),
- q(0),
- ],
- q(nor) => [
- q(0316),
- q(0),
- ],
- q(nqo) => [
- q(0317),
- q(0),
- ],
- q(nso) => [
- q(0318),
- q(0),
- ],
- q(nub) => [
- q(0319),
- q(0),
- ],
- q(nwc) => [
- q(0320),
- q(0),
- ],
- q(nya) => [
- q(0321),
- q(0),
- ],
- q(nym) => [
- q(0322),
- q(0),
- ],
- q(nyn) => [
- q(0323),
- q(0),
- ],
- q(nyo) => [
- q(0324),
- q(0),
- ],
- q(nzi) => [
- q(0325),
- q(0),
- ],
- q(oci) => [
- q(0326),
- q(0),
- ],
- q(oji) => [
- q(0327),
- q(0),
- ],
- q(ori) => [
- q(0328),
- q(0),
- ],
- q(orm) => [
- q(0329),
- q(0),
- ],
- q(osa) => [
- q(0330),
- q(0),
- ],
- q(oss) => [
- q(0331),
- q(0),
- ],
- q(ota) => [
- q(0332),
- q(0),
- ],
- q(oto) => [
- q(0333),
- q(0),
- ],
- q(paa) => [
- q(0334),
- q(0),
- ],
- q(pag) => [
- q(0335),
- q(0),
- ],
- q(pal) => [
- q(0336),
- q(0),
- ],
- q(pam) => [
- q(0337),
- q(0),
- ],
- q(pan) => [
- q(0338),
- q(0),
- ],
- q(pap) => [
- q(0339),
- q(0),
- ],
- q(pau) => [
- q(0340),
- q(0),
- ],
- q(peo) => [
- q(0341),
- q(0),
- ],
- q(per) => [
- q(0342),
- q(0),
- ],
- q(phi) => [
- q(0343),
- q(0),
- ],
- q(phn) => [
- q(0344),
- q(0),
- ],
- q(pli) => [
- q(0345),
- q(0),
- ],
- q(pol) => [
- q(0346),
- q(0),
- ],
- q(pon) => [
- q(0347),
- q(0),
- ],
- q(por) => [
- q(0348),
- q(0),
- ],
- q(pra) => [
- q(0349),
- q(0),
- ],
- q(pro) => [
- q(0350),
- q(0),
- ],
- q(pus) => [
- q(0351),
- q(0),
- ],
- q(qtz) => [
- q(0352),
- q(0),
- ],
- q(que) => [
- q(0353),
- q(0),
- ],
- q(raj) => [
- q(0354),
- q(0),
- ],
- q(rap) => [
- q(0355),
- q(0),
- ],
- q(rar) => [
- q(0356),
- q(0),
- ],
- q(roa) => [
- q(0357),
- q(0),
- ],
- q(roh) => [
- q(0358),
- q(0),
- ],
- q(rom) => [
- q(0359),
- q(0),
- ],
- q(rum) => [
- q(0360),
- q(0),
- ],
- q(run) => [
- q(0361),
- q(0),
- ],
- q(rup) => [
- q(0362),
- q(0),
- ],
- q(rus) => [
- q(0363),
- q(0),
- ],
- q(sad) => [
- q(0364),
- q(0),
- ],
- q(sag) => [
- q(0365),
- q(0),
- ],
- q(sah) => [
- q(0366),
- q(0),
- ],
- q(sai) => [
- q(0367),
- q(0),
- ],
- q(sal) => [
- q(0368),
- q(0),
- ],
- q(sam) => [
- q(0369),
- q(0),
- ],
- q(san) => [
- q(0370),
- q(0),
- ],
- q(sas) => [
- q(0371),
- q(0),
- ],
- q(sat) => [
- q(0372),
- q(0),
- ],
- q(scn) => [
- q(0373),
- q(0),
- ],
- q(sco) => [
- q(0374),
- q(0),
- ],
- q(sel) => [
- q(0375),
- q(0),
- ],
- q(sem) => [
- q(0376),
- q(0),
- ],
- q(sga) => [
- q(0377),
- q(0),
- ],
- q(sgn) => [
- q(0378),
- q(0),
- ],
- q(shn) => [
- q(0379),
- q(0),
- ],
- q(sid) => [
- q(0380),
- q(0),
- ],
- q(sin) => [
- q(0381),
- q(0),
- ],
- q(sio) => [
- q(0382),
- q(0),
- ],
- q(sit) => [
- q(0383),
- q(0),
- ],
- q(sla) => [
- q(0384),
- q(0),
- ],
- q(slo) => [
- q(0385),
- q(0),
- ],
- q(slv) => [
- q(0386),
- q(0),
- ],
- q(sma) => [
- q(0387),
- q(0),
- ],
- q(sme) => [
- q(0388),
- q(0),
- ],
- q(smi) => [
- q(0389),
- q(0),
- ],
- q(smj) => [
- q(0390),
- q(0),
- ],
- q(smn) => [
- q(0391),
- q(0),
- ],
- q(smo) => [
- q(0392),
- q(0),
- ],
- q(sms) => [
- q(0393),
- q(0),
- ],
- q(sna) => [
- q(0394),
- q(0),
- ],
- q(snd) => [
- q(0395),
- q(0),
- ],
- q(snk) => [
- q(0396),
- q(0),
- ],
- q(sog) => [
- q(0397),
- q(0),
- ],
- q(som) => [
- q(0398),
- q(0),
- ],
- q(son) => [
- q(0399),
- q(0),
- ],
- q(sot) => [
- q(0400),
- q(0),
- ],
- q(spa) => [
- q(0401),
- q(0),
- ],
- q(srd) => [
- q(0402),
- q(0),
- ],
- q(srn) => [
- q(0403),
- q(0),
- ],
- q(srp) => [
- q(0404),
- q(0),
- ],
- q(srr) => [
- q(0405),
- q(0),
- ],
- q(ssa) => [
- q(0406),
- q(0),
- ],
- q(ssw) => [
- q(0407),
- q(0),
- ],
- q(suk) => [
- q(0408),
- q(0),
- ],
- q(sun) => [
- q(0409),
- q(0),
- ],
- q(sus) => [
- q(0410),
- q(0),
- ],
- q(sux) => [
- q(0411),
- q(0),
- ],
- q(swa) => [
- q(0412),
- q(0),
- ],
- q(swe) => [
- q(0413),
- q(0),
- ],
- q(syc) => [
- q(0414),
- q(0),
- ],
- q(syr) => [
- q(0415),
- q(0),
- ],
- q(tah) => [
- q(0416),
- q(0),
- ],
- q(tai) => [
- q(0417),
- q(0),
- ],
- q(tam) => [
- q(0418),
- q(0),
- ],
- q(tat) => [
- q(0419),
- q(0),
- ],
- q(tel) => [
- q(0420),
- q(0),
- ],
- q(tem) => [
- q(0421),
- q(0),
- ],
- q(ter) => [
- q(0422),
- q(0),
- ],
- q(tet) => [
- q(0423),
- q(0),
- ],
- q(tgk) => [
- q(0424),
- q(0),
- ],
- q(tgl) => [
- q(0425),
- q(0),
- ],
- q(tha) => [
- q(0426),
- q(0),
- ],
- q(tib) => [
- q(0427),
- q(0),
- ],
- q(tig) => [
- q(0428),
- q(0),
- ],
- q(tir) => [
- q(0429),
- q(0),
- ],
- q(tiv) => [
- q(0430),
- q(0),
- ],
- q(tkl) => [
- q(0431),
- q(0),
- ],
- q(tlh) => [
- q(0432),
- q(0),
- ],
- q(tli) => [
- q(0433),
- q(0),
- ],
- q(tmh) => [
- q(0434),
- q(0),
- ],
- q(tog) => [
- q(0435),
- q(0),
- ],
- q(ton) => [
- q(0436),
- q(0),
- ],
- q(tpi) => [
- q(0437),
- q(0),
- ],
- q(tsi) => [
- q(0438),
- q(0),
- ],
- q(tsn) => [
- q(0439),
- q(0),
- ],
- q(tso) => [
- q(0440),
- q(0),
- ],
- q(tuk) => [
- q(0441),
- q(0),
- ],
- q(tum) => [
- q(0442),
- q(0),
- ],
- q(tup) => [
- q(0443),
- q(0),
- ],
- q(tur) => [
- q(0444),
- q(0),
- ],
- q(tut) => [
- q(0445),
- q(0),
- ],
- q(tvl) => [
- q(0446),
- q(0),
- ],
- q(twi) => [
- q(0447),
- q(0),
- ],
- q(tyv) => [
- q(0448),
- q(0),
- ],
- q(udm) => [
- q(0449),
- q(0),
- ],
- q(uga) => [
- q(0450),
- q(0),
- ],
- q(uig) => [
- q(0451),
- q(0),
- ],
- q(ukr) => [
- q(0452),
- q(0),
- ],
- q(umb) => [
- q(0453),
- q(0),
- ],
- q(und) => [
- q(0454),
- q(0),
- ],
- q(urd) => [
- q(0455),
- q(0),
- ],
- q(uzb) => [
- q(0456),
- q(0),
- ],
- q(vai) => [
- q(0457),
- q(0),
- ],
- q(ven) => [
- q(0458),
- q(0),
- ],
- q(vie) => [
- q(0459),
- q(0),
- ],
- q(vol) => [
- q(0460),
- q(0),
- ],
- q(vot) => [
- q(0461),
- q(0),
- ],
- q(wak) => [
- q(0462),
- q(0),
- ],
- q(wal) => [
- q(0463),
- q(0),
- ],
- q(war) => [
- q(0464),
- q(0),
- ],
- q(was) => [
- q(0465),
- q(0),
- ],
- q(wel) => [
- q(0466),
- q(0),
- ],
- q(wen) => [
- q(0467),
- q(0),
- ],
- q(wln) => [
- q(0468),
- q(0),
- ],
- q(wol) => [
- q(0469),
- q(0),
- ],
- q(xal) => [
- q(0470),
- q(0),
- ],
- q(xho) => [
- q(0471),
- q(0),
- ],
- q(yao) => [
- q(0472),
- q(0),
- ],
- q(yap) => [
- q(0473),
- q(0),
- ],
- q(yid) => [
- q(0474),
- q(0),
- ],
- q(yor) => [
- q(0475),
- q(0),
- ],
- q(ypk) => [
- q(0476),
- q(0),
- ],
- q(zap) => [
- q(0477),
- q(0),
- ],
- q(zbl) => [
- q(0478),
- q(0),
- ],
- q(zen) => [
- q(0479),
- q(0),
- ],
- q(zha) => [
- q(0480),
- q(0),
- ],
- q(znd) => [
- q(0481),
- q(0),
- ],
- q(zul) => [
- q(0482),
- q(0),
- ],
- q(zun) => [
- q(0483),
- q(0),
- ],
- q(zxx) => [
- q(0484),
- q(0),
- ],
- q(zza) => [
- q(0485),
- q(0),
- ],
- },
- q(term) => {
- q(bod) => [
- q(0427),
- q(0),
- ],
- q(ces) => [
- q(0101),
- q(0),
- ],
- q(cym) => [
- q(0466),
- q(0),
- ],
- q(deu) => [
- q(0150),
- q(0),
- ],
- q(ell) => [
- q(0164),
- q(0),
- ],
- q(eus) => [
- q(0044),
- q(0),
- ],
- q(fas) => [
- q(0342),
- q(0),
- ],
- q(fra) => [
- q(0137),
- q(0),
- ],
- q(hye) => [
- q(0024),
- q(0),
- ],
- q(isl) => [
- q(0187),
- q(0),
- ],
- q(kat) => [
- q(0149),
- q(0),
- ],
- q(mkd) => [
- q(0262),
- q(0),
- ],
- q(mri) => [
- q(0270),
- q(0),
- ],
- q(msa) => [
- q(0274),
- q(0),
- ],
- q(mya) => [
- q(0066),
- q(0),
- ],
- q(nld) => [
- q(0116),
- q(0),
- ],
- q(ron) => [
- q(0360),
- q(0),
- ],
- q(slk) => [
- q(0385),
- q(0),
- ],
- q(sqi) => [
- q(0013),
- q(0),
- ],
- q(zho) => [
- q(0079),
- q(0),
- ],
- },
-};
-
-$Locale::Codes::Data{'language'}{'id2code'} = {
- q(alpha2) => {
- q(0001) => q(aa),
- q(0002) => q(ab),
- q(0009) => q(af),
- q(0011) => q(ak),
- q(0013) => q(sq),
- q(0017) => q(am),
- q(0021) => q(ar),
- q(0023) => q(an),
- q(0024) => q(hy),
- q(0029) => q(as),
- q(0033) => q(av),
- q(0034) => q(ae),
- q(0036) => q(ay),
- q(0037) => q(az),
- q(0040) => q(ba),
- q(0042) => q(bm),
- q(0044) => q(eu),
- q(0048) => q(be),
- q(0050) => q(bn),
- q(0053) => q(bh),
- q(0056) => q(bi),
- q(0059) => q(bs),
- q(0061) => q(br),
- q(0065) => q(bg),
- q(0066) => q(my),
- q(0071) => q(ca),
- q(0075) => q(ch),
- q(0077) => q(ce),
- q(0079) => q(zh),
- q(0086) => q(cu),
- q(0087) => q(cv),
- q(0091) => q(kw),
- q(0092) => q(co),
- q(0096) => q(cr),
- q(0101) => q(cs),
- q(0103) => q(da),
- q(0110) => q(dv),
- q(0116) => q(nl),
- q(0118) => q(dz),
- q(0123) => q(en),
- q(0125) => q(eo),
- q(0126) => q(et),
- q(0127) => q(ee),
- q(0130) => q(fo),
- q(0132) => q(fj),
- q(0134) => q(fi),
- q(0137) => q(fr),
- q(0142) => q(fy),
- q(0143) => q(ff),
- q(0149) => q(ka),
- q(0150) => q(de),
- q(0153) => q(gd),
- q(0154) => q(ga),
- q(0155) => q(gl),
- q(0156) => q(gv),
- q(0164) => q(el),
- q(0165) => q(gn),
- q(0167) => q(gu),
- q(0170) => q(ht),
- q(0171) => q(ha),
- q(0173) => q(he),
- q(0174) => q(hz),
- q(0177) => q(hi),
- q(0180) => q(ho),
- q(0181) => q(hr),
- q(0183) => q(hu),
- q(0186) => q(ig),
- q(0187) => q(is),
- q(0188) => q(io),
- q(0189) => q(ii),
- q(0191) => q(iu),
- q(0192) => q(ie),
- q(0194) => q(ia),
- q(0196) => q(id),
- q(0199) => q(ik),
- q(0202) => q(it),
- q(0203) => q(jv),
- q(0205) => q(ja),
- q(0211) => q(kl),
- q(0213) => q(kn),
- q(0215) => q(ks),
- q(0216) => q(kr),
- q(0218) => q(kk),
- q(0222) => q(km),
- q(0224) => q(ki),
- q(0225) => q(rw),
- q(0226) => q(ky),
- q(0229) => q(kv),
- q(0230) => q(kg),
- q(0231) => q(ko),
- q(0238) => q(kj),
- q(0240) => q(ku),
- q(0245) => q(lo),
- q(0246) => q(la),
- q(0247) => q(lv),
- q(0249) => q(li),
- q(0250) => q(ln),
- q(0251) => q(lt),
- q(0254) => q(lb),
- q(0256) => q(lu),
- q(0257) => q(lg),
- q(0262) => q(mk),
- q(0265) => q(mh),
- q(0268) => q(ml),
- q(0270) => q(mi),
- q(0272) => q(mr),
- q(0274) => q(ms),
- q(0283) => q(mg),
- q(0284) => q(mt),
- q(0289) => q(mn),
- q(0301) => q(na),
- q(0302) => q(nv),
- q(0303) => q(nr),
- q(0304) => q(nd),
- q(0305) => q(ng),
- q(0307) => q(ne),
- q(0312) => q(nn),
- q(0313) => q(nb),
- q(0316) => q(no),
- q(0321) => q(ny),
- q(0326) => q(oc),
- q(0327) => q(oj),
- q(0328) => q(or),
- q(0329) => q(om),
- q(0331) => q(os),
- q(0338) => q(pa),
- q(0342) => q(fa),
- q(0345) => q(pi),
- q(0346) => q(pl),
- q(0348) => q(pt),
- q(0351) => q(ps),
- q(0353) => q(qu),
- q(0358) => q(rm),
- q(0360) => q(ro),
- q(0361) => q(rn),
- q(0363) => q(ru),
- q(0365) => q(sg),
- q(0370) => q(sa),
- q(0381) => q(si),
- q(0385) => q(sk),
- q(0386) => q(sl),
- q(0388) => q(se),
- q(0392) => q(sm),
- q(0394) => q(sn),
- q(0395) => q(sd),
- q(0398) => q(so),
- q(0400) => q(st),
- q(0401) => q(es),
- q(0402) => q(sc),
- q(0404) => q(sr),
- q(0407) => q(ss),
- q(0409) => q(su),
- q(0412) => q(sw),
- q(0413) => q(sv),
- q(0416) => q(ty),
- q(0418) => q(ta),
- q(0419) => q(tt),
- q(0420) => q(te),
- q(0424) => q(tg),
- q(0425) => q(tl),
- q(0426) => q(th),
- q(0427) => q(bo),
- q(0429) => q(ti),
- q(0436) => q(to),
- q(0439) => q(tn),
- q(0440) => q(ts),
- q(0441) => q(tk),
- q(0444) => q(tr),
- q(0447) => q(tw),
- q(0451) => q(ug),
- q(0452) => q(uk),
- q(0455) => q(ur),
- q(0456) => q(uz),
- q(0458) => q(ve),
- q(0459) => q(vi),
- q(0460) => q(vo),
- q(0466) => q(cy),
- q(0468) => q(wa),
- q(0469) => q(wo),
- q(0471) => q(xh),
- q(0474) => q(yi),
- q(0475) => q(yo),
- q(0480) => q(za),
- q(0482) => q(zu),
- },
- q(alpha3) => {
- q(0001) => q(aar),
- q(0002) => q(abk),
- q(0003) => q(ace),
- q(0004) => q(ach),
- q(0005) => q(ada),
- q(0006) => q(ady),
- q(0007) => q(afa),
- q(0008) => q(afh),
- q(0009) => q(afr),
- q(0010) => q(ain),
- q(0011) => q(aka),
- q(0012) => q(akk),
- q(0013) => q(alb),
- q(0014) => q(ale),
- q(0015) => q(alg),
- q(0016) => q(alt),
- q(0017) => q(amh),
- q(0018) => q(ang),
- q(0019) => q(anp),
- q(0020) => q(apa),
- q(0021) => q(ara),
- q(0022) => q(arc),
- q(0023) => q(arg),
- q(0024) => q(arm),
- q(0025) => q(arn),
- q(0026) => q(arp),
- q(0027) => q(art),
- q(0028) => q(arw),
- q(0029) => q(asm),
- q(0030) => q(ast),
- q(0031) => q(ath),
- q(0032) => q(aus),
- q(0033) => q(ava),
- q(0034) => q(ave),
- q(0035) => q(awa),
- q(0036) => q(aym),
- q(0037) => q(aze),
- q(0038) => q(bad),
- q(0039) => q(bai),
- q(0040) => q(bak),
- q(0041) => q(bal),
- q(0042) => q(bam),
- q(0043) => q(ban),
- q(0044) => q(baq),
- q(0045) => q(bas),
- q(0046) => q(bat),
- q(0047) => q(bej),
- q(0048) => q(bel),
- q(0049) => q(bem),
- q(0050) => q(ben),
- q(0051) => q(ber),
- q(0052) => q(bho),
- q(0053) => q(bih),
- q(0054) => q(bik),
- q(0055) => q(bin),
- q(0056) => q(bis),
- q(0057) => q(bla),
- q(0058) => q(bnt),
- q(0059) => q(bos),
- q(0060) => q(bra),
- q(0061) => q(bre),
- q(0062) => q(btk),
- q(0063) => q(bua),
- q(0064) => q(bug),
- q(0065) => q(bul),
- q(0066) => q(bur),
- q(0067) => q(byn),
- q(0068) => q(cad),
- q(0069) => q(cai),
- q(0070) => q(car),
- q(0071) => q(cat),
- q(0072) => q(cau),
- q(0073) => q(ceb),
- q(0074) => q(cel),
- q(0075) => q(cha),
- q(0076) => q(chb),
- q(0077) => q(che),
- q(0078) => q(chg),
- q(0079) => q(chi),
- q(0080) => q(chk),
- q(0081) => q(chm),
- q(0082) => q(chn),
- q(0083) => q(cho),
- q(0084) => q(chp),
- q(0085) => q(chr),
- q(0086) => q(chu),
- q(0087) => q(chv),
- q(0088) => q(chy),
- q(0089) => q(cmc),
- q(0090) => q(cop),
- q(0091) => q(cor),
- q(0092) => q(cos),
- q(0093) => q(cpe),
- q(0094) => q(cpf),
- q(0095) => q(cpp),
- q(0096) => q(cre),
- q(0097) => q(crh),
- q(0098) => q(crp),
- q(0099) => q(csb),
- q(0100) => q(cus),
- q(0101) => q(cze),
- q(0102) => q(dak),
- q(0103) => q(dan),
- q(0104) => q(dar),
- q(0105) => q(day),
- q(0106) => q(del),
- q(0107) => q(den),
- q(0108) => q(dgr),
- q(0109) => q(din),
- q(0110) => q(div),
- q(0111) => q(doi),
- q(0112) => q(dra),
- q(0113) => q(dsb),
- q(0114) => q(dua),
- q(0115) => q(dum),
- q(0116) => q(dut),
- q(0117) => q(dyu),
- q(0118) => q(dzo),
- q(0119) => q(efi),
- q(0120) => q(egy),
- q(0121) => q(eka),
- q(0122) => q(elx),
- q(0123) => q(eng),
- q(0124) => q(enm),
- q(0125) => q(epo),
- q(0126) => q(est),
- q(0127) => q(ewe),
- q(0128) => q(ewo),
- q(0129) => q(fan),
- q(0130) => q(fao),
- q(0131) => q(fat),
- q(0132) => q(fij),
- q(0133) => q(fil),
- q(0134) => q(fin),
- q(0135) => q(fiu),
- q(0136) => q(fon),
- q(0137) => q(fre),
- q(0138) => q(frm),
- q(0139) => q(fro),
- q(0140) => q(frr),
- q(0141) => q(frs),
- q(0142) => q(fry),
- q(0143) => q(ful),
- q(0144) => q(fur),
- q(0145) => q(gaa),
- q(0146) => q(gay),
- q(0147) => q(gba),
- q(0148) => q(gem),
- q(0149) => q(geo),
- q(0150) => q(ger),
- q(0151) => q(gez),
- q(0152) => q(gil),
- q(0153) => q(gla),
- q(0154) => q(gle),
- q(0155) => q(glg),
- q(0156) => q(glv),
- q(0157) => q(gmh),
- q(0158) => q(goh),
- q(0159) => q(gon),
- q(0160) => q(gor),
- q(0161) => q(got),
- q(0162) => q(grb),
- q(0163) => q(grc),
- q(0164) => q(gre),
- q(0165) => q(grn),
- q(0166) => q(gsw),
- q(0167) => q(guj),
- q(0168) => q(gwi),
- q(0169) => q(hai),
- q(0170) => q(hat),
- q(0171) => q(hau),
- q(0172) => q(haw),
- q(0173) => q(heb),
- q(0174) => q(her),
- q(0175) => q(hil),
- q(0176) => q(him),
- q(0177) => q(hin),
- q(0178) => q(hit),
- q(0179) => q(hmn),
- q(0180) => q(hmo),
- q(0181) => q(hrv),
- q(0182) => q(hsb),
- q(0183) => q(hun),
- q(0184) => q(hup),
- q(0185) => q(iba),
- q(0186) => q(ibo),
- q(0187) => q(ice),
- q(0188) => q(ido),
- q(0189) => q(iii),
- q(0190) => q(ijo),
- q(0191) => q(iku),
- q(0192) => q(ile),
- q(0193) => q(ilo),
- q(0194) => q(ina),
- q(0195) => q(inc),
- q(0196) => q(ind),
- q(0197) => q(ine),
- q(0198) => q(inh),
- q(0199) => q(ipk),
- q(0200) => q(ira),
- q(0201) => q(iro),
- q(0202) => q(ita),
- q(0203) => q(jav),
- q(0204) => q(jbo),
- q(0205) => q(jpn),
- q(0206) => q(jpr),
- q(0207) => q(jrb),
- q(0208) => q(kaa),
- q(0209) => q(kab),
- q(0210) => q(kac),
- q(0211) => q(kal),
- q(0212) => q(kam),
- q(0213) => q(kan),
- q(0214) => q(kar),
- q(0215) => q(kas),
- q(0216) => q(kau),
- q(0217) => q(kaw),
- q(0218) => q(kaz),
- q(0219) => q(kbd),
- q(0220) => q(kha),
- q(0221) => q(khi),
- q(0222) => q(khm),
- q(0223) => q(kho),
- q(0224) => q(kik),
- q(0225) => q(kin),
- q(0226) => q(kir),
- q(0227) => q(kmb),
- q(0228) => q(kok),
- q(0229) => q(kom),
- q(0230) => q(kon),
- q(0231) => q(kor),
- q(0232) => q(kos),
- q(0233) => q(kpe),
- q(0234) => q(krc),
- q(0235) => q(krl),
- q(0236) => q(kro),
- q(0237) => q(kru),
- q(0238) => q(kua),
- q(0239) => q(kum),
- q(0240) => q(kur),
- q(0241) => q(kut),
- q(0242) => q(lad),
- q(0243) => q(lah),
- q(0244) => q(lam),
- q(0245) => q(lao),
- q(0246) => q(lat),
- q(0247) => q(lav),
- q(0248) => q(lez),
- q(0249) => q(lim),
- q(0250) => q(lin),
- q(0251) => q(lit),
- q(0252) => q(lol),
- q(0253) => q(loz),
- q(0254) => q(ltz),
- q(0255) => q(lua),
- q(0256) => q(lub),
- q(0257) => q(lug),
- q(0258) => q(lui),
- q(0259) => q(lun),
- q(0260) => q(luo),
- q(0261) => q(lus),
- q(0262) => q(mac),
- q(0263) => q(mad),
- q(0264) => q(mag),
- q(0265) => q(mah),
- q(0266) => q(mai),
- q(0267) => q(mak),
- q(0268) => q(mal),
- q(0269) => q(man),
- q(0270) => q(mao),
- q(0271) => q(map),
- q(0272) => q(mar),
- q(0273) => q(mas),
- q(0274) => q(may),
- q(0275) => q(mdf),
- q(0276) => q(mdr),
- q(0277) => q(men),
- q(0278) => q(mga),
- q(0279) => q(mic),
- q(0280) => q(min),
- q(0281) => q(mis),
- q(0282) => q(mkh),
- q(0283) => q(mlg),
- q(0284) => q(mlt),
- q(0285) => q(mnc),
- q(0286) => q(mni),
- q(0287) => q(mno),
- q(0288) => q(moh),
- q(0289) => q(mon),
- q(0290) => q(mos),
- q(0291) => q(mul),
- q(0292) => q(mun),
- q(0293) => q(mus),
- q(0294) => q(mwl),
- q(0295) => q(mwr),
- q(0296) => q(myn),
- q(0297) => q(myv),
- q(0298) => q(nah),
- q(0299) => q(nai),
- q(0300) => q(nap),
- q(0301) => q(nau),
- q(0302) => q(nav),
- q(0303) => q(nbl),
- q(0304) => q(nde),
- q(0305) => q(ndo),
- q(0306) => q(nds),
- q(0307) => q(nep),
- q(0308) => q(new),
- q(0309) => q(nia),
- q(0310) => q(nic),
- q(0311) => q(niu),
- q(0312) => q(nno),
- q(0313) => q(nob),
- q(0314) => q(nog),
- q(0315) => q(non),
- q(0316) => q(nor),
- q(0317) => q(nqo),
- q(0318) => q(nso),
- q(0319) => q(nub),
- q(0320) => q(nwc),
- q(0321) => q(nya),
- q(0322) => q(nym),
- q(0323) => q(nyn),
- q(0324) => q(nyo),
- q(0325) => q(nzi),
- q(0326) => q(oci),
- q(0327) => q(oji),
- q(0328) => q(ori),
- q(0329) => q(orm),
- q(0330) => q(osa),
- q(0331) => q(oss),
- q(0332) => q(ota),
- q(0333) => q(oto),
- q(0334) => q(paa),
- q(0335) => q(pag),
- q(0336) => q(pal),
- q(0337) => q(pam),
- q(0338) => q(pan),
- q(0339) => q(pap),
- q(0340) => q(pau),
- q(0341) => q(peo),
- q(0342) => q(per),
- q(0343) => q(phi),
- q(0344) => q(phn),
- q(0345) => q(pli),
- q(0346) => q(pol),
- q(0347) => q(pon),
- q(0348) => q(por),
- q(0349) => q(pra),
- q(0350) => q(pro),
- q(0351) => q(pus),
- q(0352) => q(qtz),
- q(0353) => q(que),
- q(0354) => q(raj),
- q(0355) => q(rap),
- q(0356) => q(rar),
- q(0357) => q(roa),
- q(0358) => q(roh),
- q(0359) => q(rom),
- q(0360) => q(rum),
- q(0361) => q(run),
- q(0362) => q(rup),
- q(0363) => q(rus),
- q(0364) => q(sad),
- q(0365) => q(sag),
- q(0366) => q(sah),
- q(0367) => q(sai),
- q(0368) => q(sal),
- q(0369) => q(sam),
- q(0370) => q(san),
- q(0371) => q(sas),
- q(0372) => q(sat),
- q(0373) => q(scn),
- q(0374) => q(sco),
- q(0375) => q(sel),
- q(0376) => q(sem),
- q(0377) => q(sga),
- q(0378) => q(sgn),
- q(0379) => q(shn),
- q(0380) => q(sid),
- q(0381) => q(sin),
- q(0382) => q(sio),
- q(0383) => q(sit),
- q(0384) => q(sla),
- q(0385) => q(slo),
- q(0386) => q(slv),
- q(0387) => q(sma),
- q(0388) => q(sme),
- q(0389) => q(smi),
- q(0390) => q(smj),
- q(0391) => q(smn),
- q(0392) => q(smo),
- q(0393) => q(sms),
- q(0394) => q(sna),
- q(0395) => q(snd),
- q(0396) => q(snk),
- q(0397) => q(sog),
- q(0398) => q(som),
- q(0399) => q(son),
- q(0400) => q(sot),
- q(0401) => q(spa),
- q(0402) => q(srd),
- q(0403) => q(srn),
- q(0404) => q(srp),
- q(0405) => q(srr),
- q(0406) => q(ssa),
- q(0407) => q(ssw),
- q(0408) => q(suk),
- q(0409) => q(sun),
- q(0410) => q(sus),
- q(0411) => q(sux),
- q(0412) => q(swa),
- q(0413) => q(swe),
- q(0414) => q(syc),
- q(0415) => q(syr),
- q(0416) => q(tah),
- q(0417) => q(tai),
- q(0418) => q(tam),
- q(0419) => q(tat),
- q(0420) => q(tel),
- q(0421) => q(tem),
- q(0422) => q(ter),
- q(0423) => q(tet),
- q(0424) => q(tgk),
- q(0425) => q(tgl),
- q(0426) => q(tha),
- q(0427) => q(tib),
- q(0428) => q(tig),
- q(0429) => q(tir),
- q(0430) => q(tiv),
- q(0431) => q(tkl),
- q(0432) => q(tlh),
- q(0433) => q(tli),
- q(0434) => q(tmh),
- q(0435) => q(tog),
- q(0436) => q(ton),
- q(0437) => q(tpi),
- q(0438) => q(tsi),
- q(0439) => q(tsn),
- q(0440) => q(tso),
- q(0441) => q(tuk),
- q(0442) => q(tum),
- q(0443) => q(tup),
- q(0444) => q(tur),
- q(0445) => q(tut),
- q(0446) => q(tvl),
- q(0447) => q(twi),
- q(0448) => q(tyv),
- q(0449) => q(udm),
- q(0450) => q(uga),
- q(0451) => q(uig),
- q(0452) => q(ukr),
- q(0453) => q(umb),
- q(0454) => q(und),
- q(0455) => q(urd),
- q(0456) => q(uzb),
- q(0457) => q(vai),
- q(0458) => q(ven),
- q(0459) => q(vie),
- q(0460) => q(vol),
- q(0461) => q(vot),
- q(0462) => q(wak),
- q(0463) => q(wal),
- q(0464) => q(war),
- q(0465) => q(was),
- q(0466) => q(wel),
- q(0467) => q(wen),
- q(0468) => q(wln),
- q(0469) => q(wol),
- q(0470) => q(xal),
- q(0471) => q(xho),
- q(0472) => q(yao),
- q(0473) => q(yap),
- q(0474) => q(yid),
- q(0475) => q(yor),
- q(0476) => q(ypk),
- q(0477) => q(zap),
- q(0478) => q(zbl),
- q(0479) => q(zen),
- q(0480) => q(zha),
- q(0481) => q(znd),
- q(0482) => q(zul),
- q(0483) => q(zun),
- q(0484) => q(zxx),
- q(0485) => q(zza),
- },
- q(term) => {
- q(0013) => q(sqi),
- q(0024) => q(hye),
- q(0044) => q(eus),
- q(0066) => q(mya),
- q(0079) => q(zho),
- q(0101) => q(ces),
- q(0116) => q(nld),
- q(0137) => q(fra),
- q(0149) => q(kat),
- q(0150) => q(deu),
- q(0164) => q(ell),
- q(0187) => q(isl),
- q(0262) => q(mkd),
- q(0270) => q(mri),
- q(0274) => q(msa),
- q(0342) => q(fas),
- q(0360) => q(ron),
- q(0385) => q(slk),
- q(0427) => q(bod),
- q(0466) => q(cym),
- },
-};
+require Exporter;
+use Carp;
+use Locale::Codes;
+use Locale::Codes::Constants;
+use Locale::Codes::Language_Codes;
+use Locale::Codes::Language_Retired;
+
+#=======================================================================
+# Public Global Variables
+#=======================================================================
+
+our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
+
+$VERSION='3.21';
+@ISA = qw(Exporter);
+@EXPORT = qw(code2language
+ language2code
+ all_language_codes
+ all_language_names
+ language_code2code
+ LOCALE_LANG_ALPHA_2
+ LOCALE_LANG_ALPHA_3
+ LOCALE_LANG_TERM
+ );
+
+sub code2language {
+ return Locale::Codes::_code2name('language',@_);
+}
+
+sub language2code {
+ return Locale::Codes::_name2code('language',@_);
+}
+
+sub language_code2code {
+ return Locale::Codes::_code2code('language',@_);
+}
+
+sub all_language_codes {
+ return Locale::Codes::_all_codes('language',@_);
+}
+
+sub all_language_names {
+ return Locale::Codes::_all_names('language',@_);
+}
+
+sub rename_language {
+ return Locale::Codes::_rename('language',@_);
+}
+
+sub add_language {
+ return Locale::Codes::_add_code('language',@_);
+}
+
+sub delete_language {
+ return Locale::Codes::_delete_code('language',@_);
+}
+
+sub add_language_alias {
+ return Locale::Codes::_add_alias('language',@_);
+}
+
+sub delete_language_alias {
+ return Locale::Codes::_delete_alias('language',@_);
+}
+
+sub rename_language_code {
+ return Locale::Codes::_rename_code('language',@_);
+}
+
+sub add_language_code_alias {
+ return Locale::Codes::_add_code_alias('language',@_);
+}
+
+sub delete_language_code_alias {
+ return Locale::Codes::_delete_code_alias('language',@_);
+}
1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: -2
+# End:
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Language.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/Language.pod
new file mode 100644
index 00000000000..96c10884361
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Language.pod
@@ -0,0 +1,137 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::Language - standard codes for language identification
+
+=head1 SYNOPSIS
+
+ use Locale::Codes::Language;
+
+ $lang = code2language('en'); # $lang gets 'English'
+ $code = language2code('French'); # $code gets 'fr'
+
+ @codes = all_language_codes();
+ @names = all_language_names();
+
+=head1 DESCRIPTION
+
+The C<Locale::Codes::Language> module provides access to standard codes used
+for identifying languages, such as those as defined in ISO 639.
+
+Most of the routines take an optional additional argument which
+specifies the code set to use. If not specified, the default ISO
+639 two-letter codes will be used.
+
+=head1 SUPPORTED CODE SETS
+
+There are several different code sets you can use for identifying
+languages. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $lang = code2language('en','alpha-2');
+ $lang = code2language('en',LOCALE_CODE_ALPHA_2);
+
+The codesets currently supported are:
+
+=over 4
+
+=item B<alpha-2, LOCALE_LANG_ALPHA_2>
+
+This is the set of two-letter (lowercase) codes from ISO 639-1, such
+as 'he' for Hebrew. It also includes additions to this set included
+in the IANA language registry.
+
+This is the default code set.
+
+=item B<alpha-3, LOCALE_LANG_ALPHA_3>
+
+This is the set of three-letter (lowercase) bibliographic codes from
+ISO 639-2 and 639-5, such as 'heb' for Hebrew. It also includes
+additions to this set included in the IANA language registry.
+
+=item B<term, LOCALE_LANG_TERM>
+
+This is the set of three-letter (lowercase) terminologic codes from
+ISO 639.
+
+=back
+
+=head1 ROUTINES
+
+=over 4
+
+=item B<code2language ( CODE [,CODESET] )>
+
+=item B<language2code ( NAME [,CODESET] )>
+
+=item B<language_code2code ( CODE ,CODESET ,CODESET2 )>
+
+=item B<all_language_codes ( [CODESET] )>
+
+=item B<all_language_names ( [CODESET] )>
+
+=item B<Locale::Codes::Language::rename_language ( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Codes::Language::add_language ( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Codes::Language::delete_language ( CODE [,CODESET] )>
+
+=item B<Locale::Codes::Language::add_language_alias ( NAME ,NEW_NAME )>
+
+=item B<Locale::Codes::Language::delete_language_alias ( NAME )>
+
+=item B<Locale::Codes::Language::rename_language_code ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::Language::add_language_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::Language::delete_language_code_alias ( CODE [,CODESET] )>
+
+These routines are all documented in the Locale::Codes::API man page.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Codes>
+
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
+=item B<http://www.loc.gov/standards/iso639-2/>
+
+Source of the ISO 639-2 codes.
+
+=item B<http://www.loc.gov/standards/iso639-5/>
+
+Source of the ISO 639-5 codes.
+
+=item B<http://www.iana.org/assignments/language-subtag-registry>
+
+The IANA language subtag registry.
+
+=back
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Language_Codes.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Language_Codes.pm
new file mode 100644
index 00000000000..7b156fbe363
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Language_Codes.pm
@@ -0,0 +1,96273 @@
+package Locale::Codes::Language_Codes;
+
+# This file was automatically generated. Any changes to this file will
+# be lost the next time 'get_codes' is run.
+# Generated on: Thu Mar 1 08:07:05 EST 2012
+
+=pod
+
+=head1 NAME
+
+Locale::Codes::Language_Codes - language codes for the Locale::Codes::Language module
+
+=head1 SYNOPSIS
+
+This module contains data used by the Locale::Codes::Language module. It is
+not intended to be used directly, and contains no calleable routines.
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+require 5.002;
+
+our($VERSION);
+$VERSION='3.21';
+
+$Locale::Codes::Data{'language'}{'id'} = '7819';
+
+$Locale::Codes::Data{'language'}{'id2names'} = {
+ q(0001) => [
+ q(Afar),
+ ],
+ q(0002) => [
+ q(Abkhazian),
+ ],
+ q(0003) => [
+ q(Achinese),
+ ],
+ q(0004) => [
+ q(Acoli),
+ ],
+ q(0005) => [
+ q(Adangme),
+ ],
+ q(0006) => [
+ q(Adyghe),
+ q(Adygei),
+ ],
+ q(0007) => [
+ q(Afro-Asiatic languages),
+ ],
+ q(0008) => [
+ q(Afrihili),
+ ],
+ q(0009) => [
+ q(Afrikaans),
+ ],
+ q(0010) => [
+ q(Ainu),
+ q(Ainu (Japan)),
+ ],
+ q(0011) => [
+ q(Akan),
+ ],
+ q(0012) => [
+ q(Akkadian),
+ ],
+ q(0013) => [
+ q(Albanian),
+ ],
+ q(0014) => [
+ q(Aleut),
+ ],
+ q(0015) => [
+ q(Algonquian languages),
+ ],
+ q(0016) => [
+ q(Southern Altai),
+ ],
+ q(0017) => [
+ q(Amharic),
+ ],
+ q(0018) => [
+ q(English, Old (ca.450-1100)),
+ q(Old English (ca. 450-1100)),
+ ],
+ q(0019) => [
+ q(Angika),
+ ],
+ q(0020) => [
+ q(Apache languages),
+ ],
+ q(0021) => [
+ q(Arabic),
+ ],
+ q(0022) => [
+ q(Official Aramaic (700-300 BCE)),
+ q(Imperial Aramaic (700-300 BCE)),
+ ],
+ q(0023) => [
+ q(Aragonese),
+ ],
+ q(0024) => [
+ q(Armenian),
+ ],
+ q(0025) => [
+ q(Mapudungun),
+ q(Mapuche),
+ ],
+ q(0026) => [
+ q(Arapaho),
+ ],
+ q(0027) => [
+ q(Artificial languages),
+ ],
+ q(0028) => [
+ q(Arawak),
+ ],
+ q(0029) => [
+ q(Assamese),
+ ],
+ q(0030) => [
+ q(Asturian),
+ q(Bable),
+ q(Leonese),
+ q(Asturleonese),
+ ],
+ q(0031) => [
+ q(Athapascan languages),
+ ],
+ q(0032) => [
+ q(Australian languages),
+ ],
+ q(0033) => [
+ q(Avaric),
+ ],
+ q(0034) => [
+ q(Avestan),
+ ],
+ q(0035) => [
+ q(Awadhi),
+ ],
+ q(0036) => [
+ q(Aymara),
+ ],
+ q(0037) => [
+ q(Azerbaijani),
+ ],
+ q(0038) => [
+ q(Banda languages),
+ ],
+ q(0039) => [
+ q(Bamileke languages),
+ ],
+ q(0040) => [
+ q(Bashkir),
+ ],
+ q(0041) => [
+ q(Baluchi),
+ ],
+ q(0042) => [
+ q(Bambara),
+ ],
+ q(0043) => [
+ q(Balinese),
+ ],
+ q(0044) => [
+ q(Basque),
+ ],
+ q(0045) => [
+ q(Basa),
+ q(Basa (Cameroon)),
+ ],
+ q(0046) => [
+ q(Baltic languages),
+ ],
+ q(0047) => [
+ q(Beja),
+ q(Bedawiyet),
+ ],
+ q(0048) => [
+ q(Belarusian),
+ ],
+ q(0049) => [
+ q(Bemba),
+ q(Bemba (Zambia)),
+ ],
+ q(0050) => [
+ q(Bengali),
+ ],
+ q(0051) => [
+ q(Berber languages),
+ ],
+ q(0052) => [
+ q(Bhojpuri),
+ ],
+ q(0053) => [
+ q(Bihari languages),
+ ],
+ q(0054) => [
+ q(Bikol),
+ ],
+ q(0055) => [
+ q(Bini),
+ q(Edo),
+ ],
+ q(0056) => [
+ q(Bislama),
+ ],
+ q(0057) => [
+ q(Siksika),
+ ],
+ q(0058) => [
+ q(Bantu (Other)),
+ q(Bantu languages),
+ ],
+ q(0059) => [
+ q(Bosnian),
+ ],
+ q(0060) => [
+ q(Braj),
+ ],
+ q(0061) => [
+ q(Breton),
+ ],
+ q(0062) => [
+ q(Batak languages),
+ ],
+ q(0063) => [
+ q(Buriat),
+ ],
+ q(0064) => [
+ q(Buginese),
+ ],
+ q(0065) => [
+ q(Bulgarian),
+ ],
+ q(0066) => [
+ q(Burmese),
+ ],
+ q(0067) => [
+ q(Blin),
+ q(Bilin),
+ ],
+ q(0068) => [
+ q(Caddo),
+ ],
+ q(0069) => [
+ q(Central American Indian languages),
+ ],
+ q(0070) => [
+ q(Galibi Carib),
+ ],
+ q(0071) => [
+ q(Catalan),
+ q(Valencian),
+ ],
+ q(0072) => [
+ q(Caucasian languages),
+ ],
+ q(0073) => [
+ q(Cebuano),
+ ],
+ q(0074) => [
+ q(Celtic languages),
+ ],
+ q(0075) => [
+ q(Chamorro),
+ ],
+ q(0076) => [
+ q(Chibcha),
+ ],
+ q(0077) => [
+ q(Chechen),
+ ],
+ q(0078) => [
+ q(Chagatai),
+ ],
+ q(0079) => [
+ q(Chinese),
+ ],
+ q(0080) => [
+ q(Chuukese),
+ ],
+ q(0081) => [
+ q(Mari),
+ q(Mari (Russia)),
+ ],
+ q(0082) => [
+ q(Chinook jargon),
+ ],
+ q(0083) => [
+ q(Choctaw),
+ ],
+ q(0084) => [
+ q(Chipewyan),
+ q(Dene Suline),
+ ],
+ q(0085) => [
+ q(Cherokee),
+ ],
+ q(0086) => [
+ q(Church Slavic),
+ q(Old Slavonic),
+ q(Church Slavonic),
+ q(Old Bulgarian),
+ q(Old Church Slavonic),
+ ],
+ q(0087) => [
+ q(Chuvash),
+ ],
+ q(0088) => [
+ q(Cheyenne),
+ ],
+ q(0089) => [
+ q(Chamic languages),
+ ],
+ q(0090) => [
+ q(Coptic),
+ ],
+ q(0091) => [
+ q(Cornish),
+ ],
+ q(0092) => [
+ q(Corsican),
+ ],
+ q(0093) => [
+ q(Creoles and pidgins, English based),
+ q(Creoles and pidgins, English-based),
+ q(English-based creoles and pidgins),
+ ],
+ q(0094) => [
+ q(Creoles and pidgins, French-based ),
+ q(Creoles and pidgins, French-based),
+ q(French-based creoles and pidgins),
+ ],
+ q(0095) => [
+ q(Creoles and pidgins, Portuguese-based ),
+ q(Creoles and pidgins, Portuguese-based),
+ q(Portuguese-based creoles and pidgins),
+ ],
+ q(0096) => [
+ q(Cree),
+ ],
+ q(0097) => [
+ q(Crimean Tatar),
+ q(Crimean Turkish),
+ ],
+ q(0098) => [
+ q(Creoles and pidgins ),
+ q(Creoles and pidgins),
+ ],
+ q(0099) => [
+ q(Kashubian),
+ ],
+ q(0100) => [
+ q(Cushitic languages),
+ ],
+ q(0101) => [
+ q(Czech),
+ ],
+ q(0102) => [
+ q(Dakota),
+ ],
+ q(0103) => [
+ q(Danish),
+ ],
+ q(0104) => [
+ q(Dargwa),
+ ],
+ q(0105) => [
+ q(Land Dayak languages),
+ ],
+ q(0106) => [
+ q(Delaware),
+ ],
+ q(0107) => [
+ q(Slave (Athapascan)),
+ ],
+ q(0108) => [
+ q(Dogrib),
+ ],
+ q(0109) => [
+ q(Dinka),
+ ],
+ q(0110) => [
+ q(Divehi),
+ q(Dhivehi),
+ q(Maldivian),
+ ],
+ q(0111) => [
+ q(Dogri),
+ q(Dogri (macrolanguage)),
+ ],
+ q(0112) => [
+ q(Dravidian languages),
+ ],
+ q(0113) => [
+ q(Lower Sorbian),
+ ],
+ q(0114) => [
+ q(Duala),
+ ],
+ q(0115) => [
+ q(Dutch, Middle (ca.1050-1350)),
+ q(Middle Dutch (ca. 1050-1350)),
+ ],
+ q(0116) => [
+ q(Dutch),
+ q(Flemish),
+ ],
+ q(0117) => [
+ q(Dyula),
+ ],
+ q(0118) => [
+ q(Dzongkha),
+ ],
+ q(0119) => [
+ q(Efik),
+ ],
+ q(0120) => [
+ q(Egyptian (Ancient)),
+ ],
+ q(0121) => [
+ q(Ekajuk),
+ ],
+ q(0122) => [
+ q(Elamite),
+ ],
+ q(0123) => [
+ q(English),
+ ],
+ q(0124) => [
+ q(English, Middle (1100-1500)),
+ q(Middle English (1100-1500)),
+ ],
+ q(0125) => [
+ q(Esperanto),
+ ],
+ q(0126) => [
+ q(Estonian),
+ ],
+ q(0127) => [
+ q(Ewe),
+ ],
+ q(0128) => [
+ q(Ewondo),
+ ],
+ q(0129) => [
+ q(Fang),
+ q(Fang (Equatorial Guinea)),
+ ],
+ q(0130) => [
+ q(Faroese),
+ ],
+ q(0131) => [
+ q(Fanti),
+ ],
+ q(0132) => [
+ q(Fijian),
+ ],
+ q(0133) => [
+ q(Filipino),
+ q(Pilipino),
+ ],
+ q(0134) => [
+ q(Finnish),
+ ],
+ q(0135) => [
+ q(Finno-Ugrian languages),
+ ],
+ q(0136) => [
+ q(Fon),
+ ],
+ q(0137) => [
+ q(French),
+ ],
+ q(0138) => [
+ q(French, Middle (ca.1400-1600)),
+ q(Middle French (ca. 1400-1600)),
+ ],
+ q(0139) => [
+ q(French, Old (842-ca.1400)),
+ q(Old French (842-ca. 1400)),
+ ],
+ q(0140) => [
+ q(Northern Frisian),
+ ],
+ q(0141) => [
+ q(Eastern Frisian),
+ ],
+ q(0142) => [
+ q(Western Frisian),
+ ],
+ q(0143) => [
+ q(Fulah),
+ ],
+ q(0144) => [
+ q(Friulian),
+ ],
+ q(0145) => [
+ q(Ga),
+ ],
+ q(0146) => [
+ q(Gayo),
+ ],
+ q(0147) => [
+ q(Gbaya),
+ q(Gbaya (Central African Republic)),
+ ],
+ q(0148) => [
+ q(Germanic languages),
+ ],
+ q(0149) => [
+ q(Georgian),
+ ],
+ q(0150) => [
+ q(German),
+ ],
+ q(0151) => [
+ q(Geez),
+ ],
+ q(0152) => [
+ q(Gilbertese),
+ ],
+ q(0153) => [
+ q(Gaelic),
+ q(Scottish Gaelic),
+ ],
+ q(0154) => [
+ q(Irish),
+ ],
+ q(0155) => [
+ q(Galician),
+ ],
+ q(0156) => [
+ q(Manx),
+ ],
+ q(0157) => [
+ q(German, Middle High (ca.1050-1500)),
+ q(Middle High German (ca. 1050-1500)),
+ ],
+ q(0158) => [
+ q(German, Old High (ca.750-1050)),
+ q(Old High German (ca. 750-1050)),
+ ],
+ q(0159) => [
+ q(Gondi),
+ ],
+ q(0160) => [
+ q(Gorontalo),
+ ],
+ q(0161) => [
+ q(Gothic),
+ ],
+ q(0162) => [
+ q(Grebo),
+ ],
+ q(0163) => [
+ q(Greek, Ancient (to 1453)),
+ q(Ancient Greek (to 1453)),
+ ],
+ q(0164) => [
+ q(Greek, Modern (1453-)),
+ q(Modern Greek (1453-)),
+ q(Greek),
+ ],
+ q(0165) => [
+ q(Guarani),
+ ],
+ q(0166) => [
+ q(Swiss German),
+ q(Alemannic),
+ q(Alsatian),
+ ],
+ q(0167) => [
+ q(Gujarati),
+ ],
+ q(0168) => [
+ q(Gwich'in),
+ ],
+ q(0169) => [
+ q(Haida),
+ ],
+ q(0170) => [
+ q(Haitian),
+ q(Haitian Creole),
+ ],
+ q(0171) => [
+ q(Hausa),
+ ],
+ q(0172) => [
+ q(Hawaiian),
+ ],
+ q(0173) => [
+ q(Hebrew),
+ ],
+ q(0174) => [
+ q(Herero),
+ ],
+ q(0175) => [
+ q(Hiligaynon),
+ ],
+ q(0176) => [
+ q(Himachali languages),
+ q(Western Pahari languages),
+ ],
+ q(0177) => [
+ q(Hindi),
+ ],
+ q(0178) => [
+ q(Hittite),
+ ],
+ q(0179) => [
+ q(Hmong),
+ q(Mong),
+ ],
+ q(0180) => [
+ q(Hiri Motu),
+ ],
+ q(0181) => [
+ q(Croatian),
+ ],
+ q(0182) => [
+ q(Upper Sorbian),
+ ],
+ q(0183) => [
+ q(Hungarian),
+ ],
+ q(0184) => [
+ q(Hupa),
+ ],
+ q(0185) => [
+ q(Iban),
+ ],
+ q(0186) => [
+ q(Igbo),
+ ],
+ q(0187) => [
+ q(Icelandic),
+ ],
+ q(0188) => [
+ q(Ido),
+ ],
+ q(0189) => [
+ q(Sichuan Yi),
+ q(Nuosu),
+ ],
+ q(0190) => [
+ q(Ijo languages),
+ ],
+ q(0191) => [
+ q(Inuktitut),
+ ],
+ q(0192) => [
+ q(Interlingue),
+ q(Occidental),
+ ],
+ q(0193) => [
+ q(Iloko),
+ ],
+ q(0194) => [
+ q(Interlingua (International Auxiliary Language Association)),
+ ],
+ q(0195) => [
+ q(Indic languages),
+ ],
+ q(0196) => [
+ q(Indonesian),
+ ],
+ q(0197) => [
+ q(Indo-European languages),
+ ],
+ q(0198) => [
+ q(Ingush),
+ ],
+ q(0199) => [
+ q(Inupiaq),
+ ],
+ q(0200) => [
+ q(Iranian languages),
+ ],
+ q(0201) => [
+ q(Iroquoian languages),
+ ],
+ q(0202) => [
+ q(Italian),
+ ],
+ q(0203) => [
+ q(Javanese),
+ ],
+ q(0204) => [
+ q(Lojban),
+ ],
+ q(0205) => [
+ q(Japanese),
+ ],
+ q(0206) => [
+ q(Judeo-Persian),
+ ],
+ q(0207) => [
+ q(Judeo-Arabic),
+ ],
+ q(0208) => [
+ q(Kara-Kalpak),
+ ],
+ q(0209) => [
+ q(Kabyle),
+ ],
+ q(0210) => [
+ q(Kachin),
+ q(Jingpho),
+ ],
+ q(0211) => [
+ q(Kalaallisut),
+ q(Greenlandic),
+ ],
+ q(0212) => [
+ q(Kamba),
+ q(Kamba (Kenya)),
+ ],
+ q(0213) => [
+ q(Kannada),
+ ],
+ q(0214) => [
+ q(Karen languages),
+ ],
+ q(0215) => [
+ q(Kashmiri),
+ ],
+ q(0216) => [
+ q(Kanuri),
+ ],
+ q(0217) => [
+ q(Kawi),
+ ],
+ q(0218) => [
+ q(Kazakh),
+ ],
+ q(0219) => [
+ q(Kabardian),
+ ],
+ q(0220) => [
+ q(Khasi),
+ ],
+ q(0221) => [
+ q(Khoisan languages),
+ ],
+ q(0222) => [
+ q(Central Khmer),
+ ],
+ q(0223) => [
+ q(Khotanese),
+ q(Sakan),
+ ],
+ q(0224) => [
+ q(Kikuyu),
+ q(Gikuyu),
+ ],
+ q(0225) => [
+ q(Kinyarwanda),
+ ],
+ q(0226) => [
+ q(Kirghiz),
+ q(Kyrgyz),
+ ],
+ q(0227) => [
+ q(Kimbundu),
+ ],
+ q(0228) => [
+ q(Konkani),
+ q(Konkani (macrolanguage)),
+ ],
+ q(0229) => [
+ q(Komi),
+ ],
+ q(0230) => [
+ q(Kongo),
+ ],
+ q(0231) => [
+ q(Korean),
+ ],
+ q(0232) => [
+ q(Kosraean),
+ ],
+ q(0233) => [
+ q(Kpelle),
+ ],
+ q(0234) => [
+ q(Karachay-Balkar),
+ ],
+ q(0235) => [
+ q(Karelian),
+ ],
+ q(0236) => [
+ q(Kru languages),
+ ],
+ q(0237) => [
+ q(Kurukh),
+ ],
+ q(0238) => [
+ q(Kuanyama),
+ q(Kwanyama),
+ ],
+ q(0239) => [
+ q(Kumyk),
+ ],
+ q(0240) => [
+ q(Kurdish),
+ ],
+ q(0241) => [
+ q(Kutenai),
+ ],
+ q(0242) => [
+ q(Ladino),
+ ],
+ q(0243) => [
+ q(Lahnda),
+ ],
+ q(0244) => [
+ q(Lamba),
+ ],
+ q(0245) => [
+ q(Lao),
+ ],
+ q(0246) => [
+ q(Latin),
+ ],
+ q(0247) => [
+ q(Latvian),
+ ],
+ q(0248) => [
+ q(Lezghian),
+ ],
+ q(0249) => [
+ q(Limburgan),
+ q(Limburger),
+ q(Limburgish),
+ ],
+ q(0250) => [
+ q(Lingala),
+ ],
+ q(0251) => [
+ q(Lithuanian),
+ ],
+ q(0252) => [
+ q(Mongo),
+ ],
+ q(0253) => [
+ q(Lozi),
+ ],
+ q(0254) => [
+ q(Luxembourgish),
+ q(Letzeburgesch),
+ ],
+ q(0255) => [
+ q(Luba-Lulua),
+ ],
+ q(0256) => [
+ q(Luba-Katanga),
+ ],
+ q(0257) => [
+ q(Ganda),
+ ],
+ q(0258) => [
+ q(Luiseno),
+ ],
+ q(0259) => [
+ q(Lunda),
+ ],
+ q(0260) => [
+ q(Luo (Kenya and Tanzania)),
+ q(Dholuo),
+ ],
+ q(0261) => [
+ q(Lushai),
+ ],
+ q(0262) => [
+ q(Macedonian),
+ ],
+ q(0263) => [
+ q(Madurese),
+ ],
+ q(0264) => [
+ q(Magahi),
+ ],
+ q(0265) => [
+ q(Marshallese),
+ ],
+ q(0266) => [
+ q(Maithili),
+ ],
+ q(0267) => [
+ q(Makasar),
+ ],
+ q(0268) => [
+ q(Malayalam),
+ ],
+ q(0269) => [
+ q(Mandingo),
+ ],
+ q(0270) => [
+ q(Maori),
+ ],
+ q(0271) => [
+ q(Austronesian languages),
+ ],
+ q(0272) => [
+ q(Marathi),
+ ],
+ q(0273) => [
+ q(Masai),
+ ],
+ q(0274) => [
+ q(Malay),
+ q(Malay (macrolanguage)),
+ ],
+ q(0275) => [
+ q(Moksha),
+ ],
+ q(0276) => [
+ q(Mandar),
+ ],
+ q(0277) => [
+ q(Mende),
+ q(Mende (Sierra Leone)),
+ ],
+ q(0278) => [
+ q(Irish, Middle (900-1200)),
+ q(Middle Irish (900-1200)),
+ ],
+ q(0279) => [
+ q(Mi'kmaq),
+ q(Micmac),
+ ],
+ q(0280) => [
+ q(Minangkabau),
+ ],
+ q(0281) => [
+ q(Uncoded languages),
+ ],
+ q(0282) => [
+ q(Mon-Khmer languages),
+ ],
+ q(0283) => [
+ q(Malagasy),
+ ],
+ q(0284) => [
+ q(Maltese),
+ ],
+ q(0285) => [
+ q(Manchu),
+ ],
+ q(0286) => [
+ q(Manipuri),
+ ],
+ q(0287) => [
+ q(Manobo languages),
+ ],
+ q(0288) => [
+ q(Mohawk),
+ ],
+ q(0289) => [
+ q(Mongolian),
+ ],
+ q(0290) => [
+ q(Mossi),
+ ],
+ q(0291) => [
+ q(Multiple languages),
+ ],
+ q(0292) => [
+ q(Munda languages),
+ ],
+ q(0293) => [
+ q(Creek),
+ ],
+ q(0294) => [
+ q(Mirandese),
+ ],
+ q(0295) => [
+ q(Marwari),
+ ],
+ q(0296) => [
+ q(Mayan languages),
+ ],
+ q(0297) => [
+ q(Erzya),
+ ],
+ q(0298) => [
+ q(Nahuatl languages),
+ ],
+ q(0299) => [
+ q(North American Indian languages),
+ ],
+ q(0300) => [
+ q(Neapolitan),
+ ],
+ q(0301) => [
+ q(Nauru),
+ ],
+ q(0302) => [
+ q(Navajo),
+ q(Navaho),
+ ],
+ q(0303) => [
+ q(Ndebele, South),
+ q(South Ndebele),
+ ],
+ q(0304) => [
+ q(Ndebele, North),
+ q(North Ndebele),
+ ],
+ q(0305) => [
+ q(Ndonga),
+ ],
+ q(0306) => [
+ q(Low German),
+ q(Low Saxon),
+ q(German, Low),
+ q(Saxon, Low),
+ ],
+ q(0307) => [
+ q(Nepali),
+ ],
+ q(0308) => [
+ q(Nepal Bhasa),
+ q(Newari),
+ ],
+ q(0309) => [
+ q(Nias),
+ ],
+ q(0310) => [
+ q(Niger-Kordofanian languages),
+ ],
+ q(0311) => [
+ q(Niuean),
+ ],
+ q(0312) => [
+ q(Norwegian Nynorsk),
+ q(Nynorsk, Norwegian),
+ ],
+ q(0313) => [
+ q(Bokmal, Norwegian),
+ q(Norwegian Bokmal),
+ ],
+ q(0314) => [
+ q(Nogai),
+ ],
+ q(0315) => [
+ q(Norse, Old),
+ q(Old Norse),
+ ],
+ q(0316) => [
+ q(Norwegian),
+ ],
+ q(0317) => [
+ q(N'Ko),
+ ],
+ q(0318) => [
+ q(Pedi),
+ q(Sepedi),
+ q(Northern Sotho),
+ ],
+ q(0319) => [
+ q(Nubian languages),
+ ],
+ q(0320) => [
+ q(Classical Newari),
+ q(Old Newari),
+ q(Classical Nepal Bhasa),
+ ],
+ q(0321) => [
+ q(Chichewa),
+ q(Chewa),
+ q(Nyanja),
+ ],
+ q(0322) => [
+ q(Nyamwezi),
+ ],
+ q(0323) => [
+ q(Nyankole),
+ ],
+ q(0324) => [
+ q(Nyoro),
+ ],
+ q(0325) => [
+ q(Nzima),
+ ],
+ q(0326) => [
+ q(Occitan (post 1500)),
+ q(Provencal),
+ ],
+ q(0327) => [
+ q(Ojibwa),
+ ],
+ q(0328) => [
+ q(Oriya),
+ ],
+ q(0329) => [
+ q(Oromo),
+ ],
+ q(0330) => [
+ q(Osage),
+ ],
+ q(0331) => [
+ q(Ossetian),
+ q(Ossetic),
+ ],
+ q(0332) => [
+ q(Turkish, Ottoman (1500-1928)),
+ q(Ottoman Turkish (1500-1928)),
+ ],
+ q(0333) => [
+ q(Otomian languages),
+ ],
+ q(0334) => [
+ q(Papuan languages),
+ ],
+ q(0335) => [
+ q(Pangasinan),
+ ],
+ q(0336) => [
+ q(Pahlavi),
+ ],
+ q(0337) => [
+ q(Pampanga),
+ q(Kapampangan),
+ ],
+ q(0338) => [
+ q(Panjabi),
+ q(Punjabi),
+ ],
+ q(0339) => [
+ q(Papiamento),
+ ],
+ q(0340) => [
+ q(Palauan),
+ ],
+ q(0341) => [
+ q(Persian, Old (ca.600-400 B.C.)),
+ q(Old Persian (ca. 600-400 B.C.)),
+ ],
+ q(0342) => [
+ q(Persian),
+ ],
+ q(0343) => [
+ q(Philippine languages),
+ ],
+ q(0344) => [
+ q(Phoenician),
+ ],
+ q(0345) => [
+ q(Pali),
+ ],
+ q(0346) => [
+ q(Polish),
+ ],
+ q(0347) => [
+ q(Pohnpeian),
+ ],
+ q(0348) => [
+ q(Portuguese),
+ ],
+ q(0349) => [
+ q(Prakrit languages),
+ ],
+ q(0350) => [
+ q(Provencal, Old (to 1500)),
+ q(Old Provencal (to 1500)),
+ q(Old Occitan (to 1500)),
+ ],
+ q(0351) => [
+ q(Pushto),
+ q(Pashto),
+ ],
+ q(0352) => [
+ q(Reserved for local use),
+ ],
+ q(0353) => [
+ q(Quechua),
+ ],
+ q(0354) => [
+ q(Rajasthani),
+ ],
+ q(0355) => [
+ q(Rapanui),
+ ],
+ q(0356) => [
+ q(Rarotongan),
+ q(Cook Islands Maori),
+ ],
+ q(0357) => [
+ q(Romance languages),
+ ],
+ q(0358) => [
+ q(Romansh),
+ ],
+ q(0359) => [
+ q(Romany),
+ ],
+ q(0360) => [
+ q(Romanian),
+ q(Moldavian),
+ q(Moldovan),
+ ],
+ q(0361) => [
+ q(Rundi),
+ ],
+ q(0362) => [
+ q(Aromanian),
+ q(Arumanian),
+ q(Macedo-Romanian),
+ ],
+ q(0363) => [
+ q(Russian),
+ ],
+ q(0364) => [
+ q(Sandawe),
+ ],
+ q(0365) => [
+ q(Sango),
+ ],
+ q(0366) => [
+ q(Yakut),
+ ],
+ q(0367) => [
+ q(South American Indian (Other)),
+ q(South American Indian languages),
+ ],
+ q(0368) => [
+ q(Salishan languages),
+ ],
+ q(0369) => [
+ q(Samaritan Aramaic),
+ ],
+ q(0370) => [
+ q(Sanskrit),
+ ],
+ q(0371) => [
+ q(Sasak),
+ ],
+ q(0372) => [
+ q(Santali),
+ ],
+ q(0373) => [
+ q(Sicilian),
+ ],
+ q(0374) => [
+ q(Scots),
+ ],
+ q(0375) => [
+ q(Selkup),
+ ],
+ q(0376) => [
+ q(Semitic languages),
+ ],
+ q(0377) => [
+ q(Irish, Old (to 900)),
+ q(Old Irish (to 900)),
+ ],
+ q(0378) => [
+ q(Sign Languages),
+ ],
+ q(0379) => [
+ q(Shan),
+ ],
+ q(0380) => [
+ q(Sidamo),
+ ],
+ q(0381) => [
+ q(Sinhala),
+ q(Sinhalese),
+ ],
+ q(0382) => [
+ q(Siouan languages),
+ ],
+ q(0383) => [
+ q(Sino-Tibetan languages),
+ ],
+ q(0384) => [
+ q(Slavic languages),
+ ],
+ q(0385) => [
+ q(Slovak),
+ ],
+ q(0386) => [
+ q(Slovenian),
+ ],
+ q(0387) => [
+ q(Southern Sami),
+ ],
+ q(0388) => [
+ q(Northern Sami),
+ ],
+ q(0389) => [
+ q(Sami languages),
+ ],
+ q(0390) => [
+ q(Lule Sami),
+ ],
+ q(0391) => [
+ q(Inari Sami),
+ ],
+ q(0392) => [
+ q(Samoan),
+ ],
+ q(0393) => [
+ q(Skolt Sami),
+ ],
+ q(0394) => [
+ q(Shona),
+ ],
+ q(0395) => [
+ q(Sindhi),
+ ],
+ q(0396) => [
+ q(Soninke),
+ ],
+ q(0397) => [
+ q(Sogdian),
+ ],
+ q(0398) => [
+ q(Somali),
+ ],
+ q(0399) => [
+ q(Songhai languages),
+ ],
+ q(0400) => [
+ q(Sotho, Southern),
+ q(Southern Sotho),
+ ],
+ q(0401) => [
+ q(Spanish),
+ q(Castilian),
+ ],
+ q(0402) => [
+ q(Sardinian),
+ ],
+ q(0403) => [
+ q(Sranan Tongo),
+ ],
+ q(0404) => [
+ q(Serbian),
+ ],
+ q(0405) => [
+ q(Serer),
+ ],
+ q(0406) => [
+ q(Nilo-Saharan languages),
+ ],
+ q(0407) => [
+ q(Swati),
+ ],
+ q(0408) => [
+ q(Sukuma),
+ ],
+ q(0409) => [
+ q(Sundanese),
+ ],
+ q(0410) => [
+ q(Susu),
+ ],
+ q(0411) => [
+ q(Sumerian),
+ ],
+ q(0412) => [
+ q(Swahili),
+ q(Swahili (macrolanguage)),
+ ],
+ q(0413) => [
+ q(Swedish),
+ ],
+ q(0414) => [
+ q(Classical Syriac),
+ ],
+ q(0415) => [
+ q(Syriac),
+ ],
+ q(0416) => [
+ q(Tahitian),
+ ],
+ q(0417) => [
+ q(Tai languages),
+ ],
+ q(0418) => [
+ q(Tamil),
+ ],
+ q(0419) => [
+ q(Tatar),
+ ],
+ q(0420) => [
+ q(Telugu),
+ ],
+ q(0421) => [
+ q(Timne),
+ ],
+ q(0422) => [
+ q(Tereno),
+ ],
+ q(0423) => [
+ q(Tetum),
+ ],
+ q(0424) => [
+ q(Tajik),
+ ],
+ q(0425) => [
+ q(Tagalog),
+ ],
+ q(0426) => [
+ q(Thai),
+ ],
+ q(0427) => [
+ q(Tibetan),
+ ],
+ q(0428) => [
+ q(Tigre),
+ ],
+ q(0429) => [
+ q(Tigrinya),
+ ],
+ q(0430) => [
+ q(Tiv),
+ ],
+ q(0431) => [
+ q(Tokelau),
+ ],
+ q(0432) => [
+ q(Klingon),
+ q(tlhIngan-Hol),
+ ],
+ q(0433) => [
+ q(Tlingit),
+ ],
+ q(0434) => [
+ q(Tamashek),
+ ],
+ q(0435) => [
+ q(Tonga (Nyasa)),
+ ],
+ q(0436) => [
+ q(Tonga (Tonga Islands)),
+ q(Tonga),
+ ],
+ q(0437) => [
+ q(Tok Pisin),
+ ],
+ q(0438) => [
+ q(Tsimshian),
+ ],
+ q(0439) => [
+ q(Tswana),
+ ],
+ q(0440) => [
+ q(Tsonga),
+ ],
+ q(0441) => [
+ q(Turkmen),
+ ],
+ q(0442) => [
+ q(Tumbuka),
+ ],
+ q(0443) => [
+ q(Tupi languages),
+ ],
+ q(0444) => [
+ q(Turkish),
+ ],
+ q(0445) => [
+ q(Altaic languages),
+ ],
+ q(0446) => [
+ q(Tuvalu),
+ ],
+ q(0447) => [
+ q(Twi),
+ ],
+ q(0448) => [
+ q(Tuvinian),
+ ],
+ q(0449) => [
+ q(Udmurt),
+ ],
+ q(0450) => [
+ q(Ugaritic),
+ ],
+ q(0451) => [
+ q(Uighur),
+ q(Uyghur),
+ ],
+ q(0452) => [
+ q(Ukrainian),
+ ],
+ q(0453) => [
+ q(Umbundu),
+ ],
+ q(0454) => [
+ q(Undetermined),
+ ],
+ q(0455) => [
+ q(Urdu),
+ ],
+ q(0456) => [
+ q(Uzbek),
+ ],
+ q(0457) => [
+ q(Vai),
+ ],
+ q(0458) => [
+ q(Venda),
+ ],
+ q(0459) => [
+ q(Vietnamese),
+ ],
+ q(0460) => [
+ q(Volapuk),
+ ],
+ q(0461) => [
+ q(Votic),
+ ],
+ q(0462) => [
+ q(Wakashan languages),
+ ],
+ q(0463) => [
+ q(Walamo),
+ q(Wolaytta),
+ q(Wolaitta),
+ ],
+ q(0464) => [
+ q(Waray),
+ q(Waray (Philippines)),
+ ],
+ q(0465) => [
+ q(Washo),
+ ],
+ q(0466) => [
+ q(Welsh),
+ ],
+ q(0467) => [
+ q(Sorbian languages),
+ ],
+ q(0468) => [
+ q(Walloon),
+ ],
+ q(0469) => [
+ q(Wolof),
+ ],
+ q(0470) => [
+ q(Kalmyk),
+ q(Oirat),
+ ],
+ q(0471) => [
+ q(Xhosa),
+ ],
+ q(0472) => [
+ q(Yao),
+ ],
+ q(0473) => [
+ q(Yapese),
+ ],
+ q(0474) => [
+ q(Yiddish),
+ ],
+ q(0475) => [
+ q(Yoruba),
+ ],
+ q(0476) => [
+ q(Yupik languages),
+ ],
+ q(0477) => [
+ q(Zapotec),
+ ],
+ q(0478) => [
+ q(Blissymbols),
+ q(Blissymbolics),
+ q(Bliss),
+ ],
+ q(0479) => [
+ q(Zenaga),
+ ],
+ q(0480) => [
+ q(Zhuang),
+ q(Chuang),
+ ],
+ q(0481) => [
+ q(Zande languages),
+ ],
+ q(0482) => [
+ q(Zulu),
+ ],
+ q(0483) => [
+ q(Zuni),
+ ],
+ q(0484) => [
+ q(No linguistic content),
+ q(Not applicable),
+ ],
+ q(0485) => [
+ q(Zaza),
+ q(Dimili),
+ q(Dimli),
+ q(Kirdki),
+ q(Kirmanjki),
+ q(Zazaki),
+ q(Dimli (macrolanguage)),
+ q(Kirmanjki (macrolanguage)),
+ ],
+ q(0486) => [
+ q(Austro-Asiatic languages),
+ ],
+ q(0487) => [
+ q(Atlantic-Congo languages),
+ ],
+ q(0488) => [
+ q(Alacalufan languages),
+ ],
+ q(0489) => [
+ q(Algic languages),
+ ],
+ q(0490) => [
+ q(Arauan languages),
+ ],
+ q(0491) => [
+ q(Arawakan languages),
+ ],
+ q(0492) => [
+ q(Uto-Aztecan languages),
+ ],
+ q(0493) => [
+ q(Chibchan languages),
+ ],
+ q(0494) => [
+ q(North Caucasian languages),
+ ],
+ q(0495) => [
+ q(South Caucasian languages),
+ ],
+ q(0496) => [
+ q(Chadic languages),
+ ],
+ q(0497) => [
+ q(Caddoan languages),
+ ],
+ q(0498) => [
+ q(Central Sudanic languages),
+ ],
+ q(0499) => [
+ q(Mande languages),
+ ],
+ q(0500) => [
+ q(Egyptian languages),
+ ],
+ q(0501) => [
+ q(Eskimo-Aleut languages),
+ ],
+ q(0502) => [
+ q(Basque (family)),
+ ],
+ q(0503) => [
+ q(Formosan languages),
+ ],
+ q(0504) => [
+ q(East Germanic languages),
+ ],
+ q(0505) => [
+ q(North Germanic languages),
+ ],
+ q(0506) => [
+ q(West Germanic languages),
+ ],
+ q(0507) => [
+ q(Greek languages),
+ ],
+ q(0508) => [
+ q(Hmong-Mien languages),
+ ],
+ q(0509) => [
+ q(Hokan languages),
+ ],
+ q(0510) => [
+ q(Armenian (family)),
+ ],
+ q(0511) => [
+ q(Indo-Iranian languages),
+ ],
+ q(0512) => [
+ q(Italic languages),
+ ],
+ q(0513) => [
+ q(Japanese (family)),
+ ],
+ q(0514) => [
+ q(Kordofanian languages),
+ ],
+ q(0515) => [
+ q(Trans-New Guinea languages),
+ ],
+ q(0516) => [
+ q(Oto-Manguean languages),
+ ],
+ q(0517) => [
+ q(Omotic languages),
+ ],
+ q(0518) => [
+ q(Central Malayo-Polynesian languages),
+ ],
+ q(0519) => [
+ q(Malayo-Polynesian languages),
+ ],
+ q(0520) => [
+ q(Eastern Malayo-Polynesian languages),
+ ],
+ q(0521) => [
+ q(Western Malayo-Polynesian languages),
+ ],
+ q(0522) => [
+ q(Quechuan (family)),
+ ],
+ q(0523) => [
+ q(Eastern Sudanic languages),
+ ],
+ q(0524) => [
+ q(Albanian languages),
+ ],
+ q(0525) => [
+ q(Samoyedic languages),
+ ],
+ q(0526) => [
+ q(Tibeto-Burman languages),
+ ],
+ q(0527) => [
+ q(Turkic languages),
+ ],
+ q(0528) => [
+ q(Tungus languages),
+ ],
+ q(0529) => [
+ q(Uralic languages),
+ ],
+ q(0530) => [
+ q(Mongolian languages),
+ ],
+ q(0531) => [
+ q(Na-Dene languages),
+ ],
+ q(0532) => [
+ q(Chinese (family)),
+ ],
+ q(0533) => [
+ q(East Slavic languages),
+ ],
+ q(0534) => [
+ q(South Slavic languages),
+ ],
+ q(0535) => [
+ q(West Slavic languages),
+ ],
+ q(0536) => [
+ q(Serbo-Croatian),
+ ],
+ q(0537) => [
+ q(Ghotuo),
+ ],
+ q(0538) => [
+ q(Alumu-Tesu),
+ ],
+ q(0539) => [
+ q(Ari),
+ ],
+ q(0540) => [
+ q(Amal),
+ ],
+ q(0541) => [
+ q(Arbereshe Albanian),
+ ],
+ q(0542) => [
+ q(Aranadan),
+ ],
+ q(0543) => [
+ q(Ambrak),
+ ],
+ q(0544) => [
+ q(Abu' Arapesh),
+ ],
+ q(0545) => [
+ q(Arifama-Miniafia),
+ ],
+ q(0546) => [
+ q(Ankave),
+ ],
+ q(0547) => [
+ q(Afade),
+ ],
+ q(0548) => [
+ q(Aramanik),
+ ],
+ q(0549) => [
+ q(Anambe),
+ ],
+ q(0550) => [
+ q(Algerian Saharan Arabic),
+ ],
+ q(0551) => [
+ q(Para Arara),
+ ],
+ q(0552) => [
+ q(Eastern Abnaki),
+ ],
+ q(0553) => [
+ q(Aasax),
+ ],
+ q(0554) => [
+ q(Arvanitika Albanian),
+ ],
+ q(0555) => [
+ q(Abau),
+ ],
+ q(0556) => [
+ q(Solong),
+ ],
+ q(0557) => [
+ q(Mandobo Atas),
+ ],
+ q(0558) => [
+ q(Amarasi),
+ ],
+ q(0559) => [
+ q(Abe),
+ ],
+ q(0560) => [
+ q(Bankon),
+ ],
+ q(0561) => [
+ q(Ambala Ayta),
+ ],
+ q(0562) => [
+ q(Manide),
+ ],
+ q(0563) => [
+ q(Western Abnaki),
+ ],
+ q(0564) => [
+ q(Abai Sungai),
+ ],
+ q(0565) => [
+ q(Abaga),
+ ],
+ q(0566) => [
+ q(Tajiki Arabic),
+ ],
+ q(0567) => [
+ q(Abidji),
+ ],
+ q(0568) => [
+ q(Aka-Bea),
+ ],
+ q(0569) => [
+ q(Lampung Nyo),
+ ],
+ q(0570) => [
+ q(Abanyom),
+ ],
+ q(0571) => [
+ q(Abua),
+ ],
+ q(0572) => [
+ q(Abon),
+ ],
+ q(0573) => [
+ q(Abellen Ayta),
+ ],
+ q(0574) => [
+ q(Abaza),
+ ],
+ q(0575) => [
+ q(Abron),
+ ],
+ q(0576) => [
+ q(Ambonese Malay),
+ ],
+ q(0577) => [
+ q(Ambulas),
+ ],
+ q(0578) => [
+ q(Abure),
+ ],
+ q(0579) => [
+ q(Baharna Arabic),
+ ],
+ q(0580) => [
+ q(Pal),
+ ],
+ q(0581) => [
+ q(Inabaknon),
+ ],
+ q(0582) => [
+ q(Aneme Wake),
+ ],
+ q(0583) => [
+ q(Abui),
+ ],
+ q(0584) => [
+ q(Achagua),
+ ],
+ q(0585) => [
+ q(Anca),
+ ],
+ q(0586) => [
+ q(Gikyode),
+ ],
+ q(0587) => [
+ q(Saint Lucian Creole French),
+ ],
+ q(0588) => [
+ q(Aka-Cari),
+ ],
+ q(0589) => [
+ q(Aka-Kora),
+ ],
+ q(0590) => [
+ q(Akar-Bale),
+ ],
+ q(0591) => [
+ q(Mesopotamian Arabic),
+ ],
+ q(0592) => [
+ q(Achang),
+ ],
+ q(0593) => [
+ q(Eastern Acipa),
+ ],
+ q(0594) => [
+ q(Ta'izzi-Adeni Arabic),
+ ],
+ q(0595) => [
+ q(Achi),
+ ],
+ q(0596) => [
+ q(Acroa),
+ ],
+ q(0597) => [
+ q(Achterhoeks),
+ ],
+ q(0598) => [
+ q(Achuar-Shiwiar),
+ ],
+ q(0599) => [
+ q(Achumawi),
+ ],
+ q(0600) => [
+ q(Hijazi Arabic),
+ ],
+ q(0601) => [
+ q(Omani Arabic),
+ ],
+ q(0602) => [
+ q(Cypriot Arabic),
+ ],
+ q(0603) => [
+ q(Acheron),
+ ],
+ q(0604) => [
+ q(Adabe),
+ ],
+ q(0605) => [
+ q(Dzodinka),
+ ],
+ q(0606) => [
+ q(Adele),
+ ],
+ q(0607) => [
+ q(Dhofari Arabic),
+ ],
+ q(0608) => [
+ q(Andegerebinha),
+ ],
+ q(0609) => [
+ q(Adhola),
+ ],
+ q(0610) => [
+ q(Adi),
+ ],
+ q(0611) => [
+ q(Adioukrou),
+ ],
+ q(0612) => [
+ q(Galo),
+ ],
+ q(0613) => [
+ q(Adang),
+ ],
+ q(0614) => [
+ q(Abu),
+ ],
+ q(0615) => [
+ q(Adap),
+ ],
+ q(0616) => [
+ q(Adangbe),
+ ],
+ q(0617) => [
+ q(Adonara),
+ ],
+ q(0618) => [
+ q(Adamorobe Sign Language),
+ ],
+ q(0619) => [
+ q(Adnyamathanha),
+ ],
+ q(0620) => [
+ q(Aduge),
+ ],
+ q(0621) => [
+ q(Amundava),
+ ],
+ q(0622) => [
+ q(Amdo Tibetan),
+ ],
+ q(0623) => [
+ q(Adzera),
+ ],
+ q(0624) => [
+ q(Areba),
+ ],
+ q(0625) => [
+ q(Tunisian Arabic),
+ ],
+ q(0626) => [
+ q(Saidi Arabic),
+ ],
+ q(0627) => [
+ q(Argentine Sign Language),
+ ],
+ q(0628) => [
+ q(Northeast Pashayi),
+ ],
+ q(0629) => [
+ q(Haeke),
+ ],
+ q(0630) => [
+ q(Ambele),
+ ],
+ q(0631) => [
+ q(Arem),
+ ],
+ q(0632) => [
+ q(Armenian Sign Language),
+ ],
+ q(0633) => [
+ q(Aer),
+ ],
+ q(0634) => [
+ q(Eastern Arrernte),
+ ],
+ q(0635) => [
+ q(Alsea),
+ ],
+ q(0636) => [
+ q(Akeu),
+ ],
+ q(0637) => [
+ q(Ambakich),
+ ],
+ q(0638) => [
+ q(Amele),
+ ],
+ q(0639) => [
+ q(Aeka),
+ ],
+ q(0640) => [
+ q(Gulf Arabic),
+ ],
+ q(0641) => [
+ q(Andai),
+ ],
+ q(0642) => [
+ q(Putukwam),
+ ],
+ q(0643) => [
+ q(Afghan Sign Language),
+ ],
+ q(0644) => [
+ q(Akrukay),
+ ],
+ q(0645) => [
+ q(Nanubae),
+ ],
+ q(0646) => [
+ q(Defaka),
+ ],
+ q(0647) => [
+ q(Eloyi),
+ ],
+ q(0648) => [
+ q(Tapei),
+ ],
+ q(0649) => [
+ q(Afro-Seminole Creole),
+ ],
+ q(0650) => [
+ q(Afitti),
+ ],
+ q(0651) => [
+ q(Awutu),
+ ],
+ q(0652) => [
+ q(Obokuitai),
+ ],
+ q(0653) => [
+ q(Aguano),
+ ],
+ q(0654) => [
+ q(Legbo),
+ ],
+ q(0655) => [
+ q(Agatu),
+ ],
+ q(0656) => [
+ q(Agarabi),
+ ],
+ q(0657) => [
+ q(Angal),
+ ],
+ q(0658) => [
+ q(Arguni),
+ ],
+ q(0659) => [
+ q(Angor),
+ ],
+ q(0660) => [
+ q(Ngelima),
+ ],
+ q(0661) => [
+ q(Agariya),
+ ],
+ q(0662) => [
+ q(Argobba),
+ ],
+ q(0663) => [
+ q(Isarog Agta),
+ ],
+ q(0664) => [
+ q(Fembe),
+ ],
+ q(0665) => [
+ q(Angaataha),
+ ],
+ q(0666) => [
+ q(Agutaynen),
+ ],
+ q(0667) => [
+ q(Tainae),
+ ],
+ q(0668) => [
+ q(Aghem),
+ ],
+ q(0669) => [
+ q(Aguaruna),
+ ],
+ q(0670) => [
+ q(Esimbi),
+ ],
+ q(0671) => [
+ q(Central Cagayan Agta),
+ ],
+ q(0672) => [
+ q(Aguacateco),
+ ],
+ q(0673) => [
+ q(Remontado Dumagat),
+ ],
+ q(0674) => [
+ q(Kahua),
+ ],
+ q(0675) => [
+ q(Aghul),
+ ],
+ q(0676) => [
+ q(Southern Alta),
+ ],
+ q(0677) => [
+ q(Mt. Iriga Agta),
+ ],
+ q(0678) => [
+ q(Ahanta),
+ ],
+ q(0679) => [
+ q(Axamb),
+ ],
+ q(0680) => [
+ q(Qimant),
+ ],
+ q(0681) => [
+ q(Aghu),
+ ],
+ q(0682) => [
+ q(Tiagbamrin Aizi),
+ ],
+ q(0683) => [
+ q(Akha),
+ ],
+ q(0684) => [
+ q(Igo),
+ ],
+ q(0685) => [
+ q(Mobumrin Aizi),
+ ],
+ q(0686) => [
+ q(Ahan),
+ ],
+ q(0687) => [
+ q(Ahom),
+ ],
+ q(0688) => [
+ q(Aproumu Aizi),
+ ],
+ q(0689) => [
+ q(Ahirani),
+ ],
+ q(0690) => [
+ q(Ashe),
+ ],
+ q(0691) => [
+ q(Ahtena),
+ ],
+ q(0692) => [
+ q(Arosi),
+ ],
+ q(0693) => [
+ q(Ainu (China)),
+ ],
+ q(0694) => [
+ q(Ainbai),
+ ],
+ q(0695) => [
+ q(Alngith),
+ ],
+ q(0696) => [
+ q(Amara),
+ ],
+ q(0697) => [
+ q(Agi),
+ ],
+ q(0698) => [
+ q(Antigua and Barbuda Creole English),
+ ],
+ q(0699) => [
+ q(Ai-Cham),
+ ],
+ q(0700) => [
+ q(Assyrian Neo-Aramaic),
+ ],
+ q(0701) => [
+ q(Lishanid Noshan),
+ ],
+ q(0702) => [
+ q(Ake),
+ ],
+ q(0703) => [
+ q(Aimele),
+ ],
+ q(0704) => [
+ q(Aimol),
+ ],
+ q(0705) => [
+ q(Aiton),
+ ],
+ q(0706) => [
+ q(Burumakok),
+ ],
+ q(0707) => [
+ q(Aimaq),
+ ],
+ q(0708) => [
+ q(Airoran),
+ ],
+ q(0709) => [
+ q(Nataoran Amis),
+ ],
+ q(0710) => [
+ q(Arikem),
+ ],
+ q(0711) => [
+ q(Aari),
+ ],
+ q(0712) => [
+ q(Aighon),
+ ],
+ q(0713) => [
+ q(Ali),
+ ],
+ q(0714) => [
+ q(Aja (Sudan)),
+ ],
+ q(0715) => [
+ q(Aja (Benin)),
+ ],
+ q(0716) => [
+ q(Ajie),
+ ],
+ q(0717) => [
+ q(South Levantine Arabic),
+ ],
+ q(0718) => [
+ q(Judeo-Tunisian Arabic),
+ ],
+ q(0719) => [
+ q(Judeo-Moroccan Arabic),
+ ],
+ q(0720) => [
+ q(Ajawa),
+ ],
+ q(0721) => [
+ q(Amri Karbi),
+ ],
+ q(0722) => [
+ q(Batak Angkola),
+ ],
+ q(0723) => [
+ q(Mpur),
+ ],
+ q(0724) => [
+ q(Ukpet-Ehom),
+ ],
+ q(0725) => [
+ q(Akawaio),
+ ],
+ q(0726) => [
+ q(Akpa),
+ ],
+ q(0727) => [
+ q(Anakalangu),
+ ],
+ q(0728) => [
+ q(Angal Heneng),
+ ],
+ q(0729) => [
+ q(Aiome),
+ ],
+ q(0730) => [
+ q(Aka-Jeru),
+ ],
+ q(0731) => [
+ q(Aklanon),
+ ],
+ q(0732) => [
+ q(Aka-Bo),
+ ],
+ q(0733) => [
+ q(Akurio),
+ ],
+ q(0734) => [
+ q(Siwu),
+ ],
+ q(0735) => [
+ q(Ak),
+ ],
+ q(0736) => [
+ q(Araki),
+ ],
+ q(0737) => [
+ q(Akaselem),
+ ],
+ q(0738) => [
+ q(Akolet),
+ ],
+ q(0739) => [
+ q(Akum),
+ ],
+ q(0740) => [
+ q(Akhvakh),
+ ],
+ q(0741) => [
+ q(Akwa),
+ ],
+ q(0742) => [
+ q(Aka-Kede),
+ ],
+ q(0743) => [
+ q(Aka-Kol),
+ ],
+ q(0744) => [
+ q(Alabama),
+ ],
+ q(0745) => [
+ q(Alago),
+ ],
+ q(0746) => [
+ q(Qawasqar),
+ ],
+ q(0747) => [
+ q(Alladian),
+ ],
+ q(0748) => [
+ q(Alege),
+ ],
+ q(0749) => [
+ q(Alawa),
+ ],
+ q(0750) => [
+ q(Amaimon),
+ ],
+ q(0751) => [
+ q(Alangan),
+ ],
+ q(0752) => [
+ q(Alak),
+ ],
+ q(0753) => [
+ q(Allar),
+ ],
+ q(0754) => [
+ q(Amblong),
+ ],
+ q(0755) => [
+ q(Gheg Albanian),
+ ],
+ q(0756) => [
+ q(Larike-Wakasihu),
+ ],
+ q(0757) => [
+ q(Alune),
+ ],
+ q(0758) => [
+ q(Algonquin),
+ ],
+ q(0759) => [
+ q(Alutor),
+ ],
+ q(0760) => [
+ q(Tosk Albanian),
+ ],
+ q(0761) => [
+ q('Are'are),
+ ],
+ q(0762) => [
+ q(Alaba-K'abeena),
+ q(Wanbasana),
+ ],
+ q(0763) => [
+ q(Amol),
+ ],
+ q(0764) => [
+ q(Alyawarr),
+ ],
+ q(0765) => [
+ q(Alur),
+ ],
+ q(0766) => [
+ q(Amanaye),
+ ],
+ q(0767) => [
+ q(Ambo),
+ ],
+ q(0768) => [
+ q(Amahuaca),
+ ],
+ q(0769) => [
+ q(Yanesha'),
+ ],
+ q(0770) => [
+ q(Hamer-Banna),
+ ],
+ q(0771) => [
+ q(Amarag),
+ ],
+ q(0772) => [
+ q(Amis),
+ ],
+ q(0773) => [
+ q(Amdang),
+ ],
+ q(0774) => [
+ q(Ambai),
+ ],
+ q(0775) => [
+ q(War-Jaintia),
+ ],
+ q(0776) => [
+ q(Ama (Papua New Guinea)),
+ ],
+ q(0777) => [
+ q(Amanab),
+ ],
+ q(0778) => [
+ q(Amo),
+ ],
+ q(0779) => [
+ q(Alamblak),
+ ],
+ q(0780) => [
+ q(Amahai),
+ ],
+ q(0781) => [
+ q(Amarakaeri),
+ ],
+ q(0782) => [
+ q(Southern Amami-Oshima),
+ ],
+ q(0783) => [
+ q(Amto),
+ ],
+ q(0784) => [
+ q(Guerrero Amuzgo),
+ ],
+ q(0785) => [
+ q(Ambelau),
+ ],
+ q(0786) => [
+ q(Western Neo-Aramaic),
+ ],
+ q(0787) => [
+ q(Anmatyerre),
+ ],
+ q(0788) => [
+ q(Ami),
+ ],
+ q(0789) => [
+ q(Atampaya),
+ ],
+ q(0790) => [
+ q(Andaqui),
+ ],
+ q(0791) => [
+ q(Andoa),
+ ],
+ q(0792) => [
+ q(Ngas),
+ ],
+ q(0793) => [
+ q(Ansus),
+ ],
+ q(0794) => [
+ q(Xaracuu),
+ ],
+ q(0795) => [
+ q(Animere),
+ ],
+ q(0796) => [
+ q(Nend),
+ ],
+ q(0797) => [
+ q(Andi),
+ ],
+ q(0798) => [
+ q(Anor),
+ ],
+ q(0799) => [
+ q(Goemai),
+ ],
+ q(0800) => [
+ q(Anu),
+ ],
+ q(0801) => [
+ q(Anal),
+ ],
+ q(0802) => [
+ q(Obolo),
+ ],
+ q(0803) => [
+ q(Andoque),
+ ],
+ q(0804) => [
+ q(Jarawa (India)),
+ ],
+ q(0805) => [
+ q(Andh),
+ ],
+ q(0806) => [
+ q(Anserma),
+ ],
+ q(0807) => [
+ q(Antakarinya),
+ ],
+ q(0808) => [
+ q(Anuak),
+ ],
+ q(0809) => [
+ q(Denya),
+ ],
+ q(0810) => [
+ q(Anaang),
+ ],
+ q(0811) => [
+ q(Andra-Hus),
+ ],
+ q(0812) => [
+ q(Anyin),
+ ],
+ q(0813) => [
+ q(Anem),
+ ],
+ q(0814) => [
+ q(Angolar),
+ ],
+ q(0815) => [
+ q(Abom),
+ ],
+ q(0816) => [
+ q(Pemon),
+ ],
+ q(0817) => [
+ q(Andarum),
+ ],
+ q(0818) => [
+ q(Angal Enen),
+ ],
+ q(0819) => [
+ q(Bragat),
+ ],
+ q(0820) => [
+ q(Angoram),
+ ],
+ q(0821) => [
+ q(Arma),
+ ],
+ q(0822) => [
+ q(Anindilyakwa),
+ ],
+ q(0823) => [
+ q(Mufian),
+ ],
+ q(0824) => [
+ q(Arho),
+ ],
+ q(0825) => [
+ q(Alor),
+ ],
+ q(0826) => [
+ q(Omie),
+ ],
+ q(0827) => [
+ q(Bumbita Arapesh),
+ ],
+ q(0828) => [
+ q(Aore),
+ ],
+ q(0829) => [
+ q(Taikat),
+ ],
+ q(0830) => [
+ q(A'tong),
+ ],
+ q(0831) => [
+ q(Atorada),
+ ],
+ q(0832) => [
+ q(Uab Meto),
+ ],
+ q(0833) => [
+ q(Sa'a),
+ ],
+ q(0834) => [
+ q(North Levantine Arabic),
+ ],
+ q(0835) => [
+ q(Sudanese Arabic),
+ ],
+ q(0836) => [
+ q(Bukiyip),
+ ],
+ q(0837) => [
+ q(Pahanan Agta),
+ ],
+ q(0838) => [
+ q(Ampanang),
+ ],
+ q(0839) => [
+ q(Athpariya),
+ ],
+ q(0840) => [
+ q(Apiaka),
+ ],
+ q(0841) => [
+ q(Jicarilla Apache),
+ ],
+ q(0842) => [
+ q(Kiowa Apache),
+ ],
+ q(0843) => [
+ q(Lipan Apache),
+ ],
+ q(0844) => [
+ q(Mescalero-Chiricahua Apache),
+ ],
+ q(0845) => [
+ q(Apinaye),
+ ],
+ q(0846) => [
+ q(Ambul),
+ ],
+ q(0847) => [
+ q(Apma),
+ ],
+ q(0848) => [
+ q(A-Pucikwar),
+ ],
+ q(0849) => [
+ q(Arop-Lokep),
+ ],
+ q(0850) => [
+ q(Arop-Sissano),
+ ],
+ q(0851) => [
+ q(Apatani),
+ ],
+ q(0852) => [
+ q(Apurina),
+ ],
+ q(0853) => [
+ q(Alapmunte),
+ ],
+ q(0854) => [
+ q(Western Apache),
+ ],
+ q(0855) => [
+ q(Aputai),
+ ],
+ q(0856) => [
+ q(Apalai),
+ ],
+ q(0857) => [
+ q(Safeyoka),
+ ],
+ q(0858) => [
+ q(Archi),
+ ],
+ q(0859) => [
+ q(Ampari Dogon),
+ ],
+ q(0860) => [
+ q(Arigidi),
+ ],
+ q(0861) => [
+ q(Atohwaim),
+ ],
+ q(0862) => [
+ q(Northern Alta),
+ ],
+ q(0863) => [
+ q(Atakapa),
+ ],
+ q(0864) => [
+ q(Arha),
+ ],
+ q(0865) => [
+ q(Akuntsu),
+ ],
+ q(0866) => [
+ q(Standard Arabic),
+ ],
+ q(0867) => [
+ q(Arabana),
+ ],
+ q(0868) => [
+ q(Western Arrarnta),
+ ],
+ q(0869) => [
+ q(Arhuaco),
+ ],
+ q(0870) => [
+ q(Arikara),
+ ],
+ q(0871) => [
+ q(Arapaso),
+ ],
+ q(0872) => [
+ q(Arikapu),
+ ],
+ q(0873) => [
+ q(Arabela),
+ ],
+ q(0874) => [
+ q(Araona),
+ ],
+ q(0875) => [
+ q(Algerian Arabic),
+ ],
+ q(0876) => [
+ q(Karo (Brazil)),
+ ],
+ q(0877) => [
+ q(Najdi Arabic),
+ ],
+ q(0878) => [
+ q(Arua (Amazonas State)),
+ q(Arawa),
+ ],
+ q(0879) => [
+ q(Arbore),
+ ],
+ q(0880) => [
+ q(Arua (Rodonia State)),
+ ],
+ q(0881) => [
+ q(Moroccan Arabic),
+ ],
+ q(0882) => [
+ q(Egyptian Arabic),
+ ],
+ q(0883) => [
+ q(Asu (Tanzania)),
+ ],
+ q(0884) => [
+ q(Assiniboine),
+ ],
+ q(0885) => [
+ q(Casuarina Coast Asmat),
+ ],
+ q(0886) => [
+ q(Asas),
+ ],
+ q(0887) => [
+ q(American Sign Language),
+ ],
+ q(0888) => [
+ q(Australian Sign Language),
+ ],
+ q(0889) => [
+ q(Cishingini),
+ ],
+ q(0890) => [
+ q(Abishira),
+ ],
+ q(0891) => [
+ q(Buruwai),
+ ],
+ q(0892) => [
+ q(Nsari),
+ ],
+ q(0893) => [
+ q(Ashkun),
+ ],
+ q(0894) => [
+ q(Asilulu),
+ ],
+ q(0895) => [
+ q(Xingu Asurini),
+ ],
+ q(0896) => [
+ q(Dano),
+ ],
+ q(0897) => [
+ q(Algerian Sign Language),
+ ],
+ q(0898) => [
+ q(Austrian Sign Language),
+ ],
+ q(0899) => [
+ q(Asuri),
+ ],
+ q(0900) => [
+ q(Ipulo),
+ ],
+ q(0901) => [
+ q(Tocantins Asurini),
+ ],
+ q(0902) => [
+ q(Asoa),
+ ],
+ q(0903) => [
+ q(Australian Aborigines Sign Language),
+ ],
+ q(0904) => [
+ q(Muratayak),
+ ],
+ q(0905) => [
+ q(Yaosakor Asmat),
+ ],
+ q(0906) => [
+ q(As),
+ ],
+ q(0907) => [
+ q(Pele-Ata),
+ ],
+ q(0908) => [
+ q(Zaiwa),
+ ],
+ q(0909) => [
+ q(Atsahuaca),
+ ],
+ q(0910) => [
+ q(Ata Manobo),
+ ],
+ q(0911) => [
+ q(Atemble),
+ ],
+ q(0912) => [
+ q(Ivbie North-Okpela-Arhe),
+ ],
+ q(0913) => [
+ q(Attie),
+ ],
+ q(0914) => [
+ q(Atikamekw),
+ ],
+ q(0915) => [
+ q(Ati),
+ ],
+ q(0916) => [
+ q(Mt. Iraya Agta),
+ ],
+ q(0917) => [
+ q(Ata),
+ ],
+ q(0918) => [
+ q(Ashtiani),
+ ],
+ q(0919) => [
+ q(Atong),
+ ],
+ q(0920) => [
+ q(Pudtol Atta),
+ ],
+ q(0921) => [
+ q(Aralle-Tabulahan),
+ ],
+ q(0922) => [
+ q(Waimiri-Atroari),
+ ],
+ q(0923) => [
+ q(Gros Ventre),
+ ],
+ q(0924) => [
+ q(Pamplona Atta),
+ ],
+ q(0925) => [
+ q(Reel),
+ ],
+ q(0926) => [
+ q(Northern Altai),
+ ],
+ q(0927) => [
+ q(Atsugewi),
+ ],
+ q(0928) => [
+ q(Arutani),
+ ],
+ q(0929) => [
+ q(Aneityum),
+ ],
+ q(0930) => [
+ q(Arta),
+ ],
+ q(0931) => [
+ q(Asumboa),
+ ],
+ q(0932) => [
+ q(Alugu),
+ ],
+ q(0933) => [
+ q(Waorani),
+ ],
+ q(0934) => [
+ q(Anuta),
+ ],
+ q(0935) => [
+ q(=/Kx'au//'ein),
+ ],
+ q(0936) => [
+ q(Aguna),
+ ],
+ q(0937) => [
+ q(Aushi),
+ ],
+ q(0938) => [
+ q(Anuki),
+ ],
+ q(0939) => [
+ q(Awjilah),
+ ],
+ q(0940) => [
+ q(Heyo),
+ ],
+ q(0941) => [
+ q(Aulua),
+ ],
+ q(0942) => [
+ q(Asu (Nigeria)),
+ ],
+ q(0943) => [
+ q(Molmo One),
+ ],
+ q(0944) => [
+ q(Auyokawa),
+ ],
+ q(0945) => [
+ q(Makayam),
+ ],
+ q(0946) => [
+ q(Anus),
+ q(Korur),
+ ],
+ q(0947) => [
+ q(Aruek),
+ ],
+ q(0948) => [
+ q(Austral),
+ ],
+ q(0949) => [
+ q(Auye),
+ ],
+ q(0950) => [
+ q(Awyi),
+ ],
+ q(0951) => [
+ q(Aura),
+ ],
+ q(0952) => [
+ q(Awiyaana),
+ ],
+ q(0953) => [
+ q(Uzbeki Arabic),
+ ],
+ q(0954) => [
+ q(Avau),
+ ],
+ q(0955) => [
+ q(Alviri-Vidari),
+ ],
+ q(0956) => [
+ q(Avikam),
+ ],
+ q(0957) => [
+ q(Kotava),
+ ],
+ q(0958) => [
+ q(Eastern Egyptian Bedawi Arabic),
+ ],
+ q(0959) => [
+ q(Avatime),
+ ],
+ q(0960) => [
+ q(Agavotaguerra),
+ ],
+ q(0961) => [
+ q(Aushiri),
+ ],
+ q(0962) => [
+ q(Au),
+ ],
+ q(0963) => [
+ q(Avokaya),
+ ],
+ q(0964) => [
+ q(Ava-Canoeiro),
+ ],
+ q(0965) => [
+ q(Awa (Papua New Guinea)),
+ ],
+ q(0966) => [
+ q(Cicipu),
+ ],
+ q(0967) => [
+ q(Aweti),
+ ],
+ q(0968) => [
+ q(Awbono),
+ ],
+ q(0969) => [
+ q(Aekyom),
+ ],
+ q(0970) => [
+ q(Awabakal),
+ ],
+ q(0971) => [
+ q(Arawum),
+ ],
+ q(0972) => [
+ q(Awngi),
+ ],
+ q(0973) => [
+ q(Awak),
+ ],
+ q(0974) => [
+ q(Awera),
+ ],
+ q(0975) => [
+ q(South Awyu),
+ ],
+ q(0976) => [
+ q(Arawete),
+ ],
+ q(0977) => [
+ q(Central Awyu),
+ ],
+ q(0978) => [
+ q(Jair Awyu),
+ ],
+ q(0979) => [
+ q(Awun),
+ ],
+ q(0980) => [
+ q(Awara),
+ ],
+ q(0981) => [
+ q(Edera Awyu),
+ ],
+ q(0982) => [
+ q(Abipon),
+ ],
+ q(0983) => [
+ q(Mato Grosso Arara),
+ ],
+ q(0984) => [
+ q(Yaka (Central African Republic)),
+ ],
+ q(0985) => [
+ q(Middle Armenian),
+ ],
+ q(0986) => [
+ q(Xaragure),
+ ],
+ q(0987) => [
+ q(Awar),
+ ],
+ q(0988) => [
+ q(Ayizo Gbe),
+ ],
+ q(0989) => [
+ q(Southern Aymara),
+ ],
+ q(0990) => [
+ q(Ayabadhu),
+ ],
+ q(0991) => [
+ q(Ayere),
+ ],
+ q(0992) => [
+ q(Ginyanga),
+ ],
+ q(0993) => [
+ q(Hadrami Arabic),
+ ],
+ q(0994) => [
+ q(Leyigha),
+ ],
+ q(0995) => [
+ q(Akuku),
+ ],
+ q(0996) => [
+ q(Libyan Arabic),
+ ],
+ q(0997) => [
+ q(Sanaani Arabic),
+ ],
+ q(0998) => [
+ q(Ayoreo),
+ ],
+ q(0999) => [
+ q(North Mesopotamian Arabic),
+ ],
+ q(1000) => [
+ q(Ayi (Papua New Guinea)),
+ ],
+ q(1001) => [
+ q(Central Aymara),
+ ],
+ q(1002) => [
+ q(Sorsogon Ayta),
+ ],
+ q(1003) => [
+ q(Magbukun Ayta),
+ ],
+ q(1004) => [
+ q(Ayu),
+ ],
+ q(1005) => [
+ q(Tayabas Ayta),
+ ],
+ q(1006) => [
+ q(Mai Brat),
+ ],
+ q(1007) => [
+ q(Azha),
+ ],
+ q(1008) => [
+ q(South Azerbaijani),
+ ],
+ q(1009) => [
+ q(San Pedro Amuzgos Amuzgo),
+ ],
+ q(1010) => [
+ q(North Azerbaijani),
+ ],
+ q(1011) => [
+ q(Ipalapa Amuzgo),
+ ],
+ q(1012) => [
+ q(Awing),
+ ],
+ q(1013) => [
+ q(Faire Atta),
+ ],
+ q(1014) => [
+ q(Highland Puebla Nahuatl),
+ ],
+ q(1015) => [
+ q(Babatana),
+ ],
+ q(1016) => [
+ q(Bainouk-Gunyuno),
+ ],
+ q(1017) => [
+ q(Badui),
+ ],
+ q(1018) => [
+ q(Bare),
+ ],
+ q(1019) => [
+ q(Nubaca),
+ ],
+ q(1020) => [
+ q(Tuki),
+ ],
+ q(1021) => [
+ q(Bahamas Creole English),
+ ],
+ q(1022) => [
+ q(Barakai),
+ ],
+ q(1023) => [
+ q(Waimaha),
+ ],
+ q(1024) => [
+ q(Bantawa),
+ ],
+ q(1025) => [
+ q(Bavarian),
+ ],
+ q(1026) => [
+ q(Bada (Nigeria)),
+ ],
+ q(1027) => [
+ q(Vengo),
+ ],
+ q(1028) => [
+ q(Bambili-Bambui),
+ ],
+ q(1029) => [
+ q(Bamun),
+ ],
+ q(1030) => [
+ q(Batuley),
+ ],
+ q(1031) => [
+ q(Tunen),
+ ],
+ q(1032) => [
+ q(Baatonum),
+ ],
+ q(1033) => [
+ q(Barai),
+ ],
+ q(1034) => [
+ q(Batak Toba),
+ ],
+ q(1035) => [
+ q(Bau),
+ ],
+ q(1036) => [
+ q(Bangba),
+ ],
+ q(1037) => [
+ q(Baibai),
+ ],
+ q(1038) => [
+ q(Barama),
+ ],
+ q(1039) => [
+ q(Bugan),
+ ],
+ q(1040) => [
+ q(Barombi),
+ ],
+ q(1041) => [
+ q(Ghomala'),
+ ],
+ q(1042) => [
+ q(Babanki),
+ ],
+ q(1043) => [
+ q(Bats),
+ ],
+ q(1044) => [
+ q(Babango),
+ ],
+ q(1045) => [
+ q(Uneapa),
+ ],
+ q(1046) => [
+ q(Northern Bobo Madare),
+ q(Konabere),
+ ],
+ q(1047) => [
+ q(West Central Banda),
+ ],
+ q(1048) => [
+ q(Bamali),
+ ],
+ q(1049) => [
+ q(Girawa),
+ ],
+ q(1050) => [
+ q(Bakpinka),
+ ],
+ q(1051) => [
+ q(Mburku),
+ ],
+ q(1052) => [
+ q(Kulung (Nigeria)),
+ ],
+ q(1053) => [
+ q(Karnai),
+ ],
+ q(1054) => [
+ q(Baba),
+ ],
+ q(1055) => [
+ q(Bubia),
+ ],
+ q(1056) => [
+ q(Befang),
+ ],
+ q(1057) => [
+ q(Babalia Creole Arabic),
+ ],
+ q(1058) => [
+ q(Central Bai),
+ ],
+ q(1059) => [
+ q(Bainouk-Samik),
+ ],
+ q(1060) => [
+ q(Southern Balochi),
+ ],
+ q(1061) => [
+ q(North Babar),
+ ],
+ q(1062) => [
+ q(Bamenyam),
+ ],
+ q(1063) => [
+ q(Bamu),
+ ],
+ q(1064) => [
+ q(Baga Binari),
+ ],
+ q(1065) => [
+ q(Bariai),
+ ],
+ q(1066) => [
+ q(Baoule),
+ ],
+ q(1067) => [
+ q(Bardi),
+ ],
+ q(1068) => [
+ q(Bunaba),
+ ],
+ q(1069) => [
+ q(Central Bicolano),
+ ],
+ q(1070) => [
+ q(Bannoni),
+ ],
+ q(1071) => [
+ q(Bali (Nigeria)),
+ ],
+ q(1072) => [
+ q(Kaluli),
+ ],
+ q(1073) => [
+ q(Bali (Democratic Republic of Congo)),
+ ],
+ q(1074) => [
+ q(Bench),
+ ],
+ q(1075) => [
+ q(Babine),
+ ],
+ q(1076) => [
+ q(Kohumono),
+ ],
+ q(1077) => [
+ q(Bendi),
+ ],
+ q(1078) => [
+ q(Awad Bing),
+ ],
+ q(1079) => [
+ q(Shoo-Minda-Nye),
+ ],
+ q(1080) => [
+ q(Bana),
+ ],
+ q(1081) => [
+ q(Bacama),
+ ],
+ q(1082) => [
+ q(Bainouk-Gunyaamolo),
+ ],
+ q(1083) => [
+ q(Bayot),
+ ],
+ q(1084) => [
+ q(Basap),
+ ],
+ q(1085) => [
+ q(Embera-Baudo),
+ ],
+ q(1086) => [
+ q(Bunama),
+ ],
+ q(1087) => [
+ q(Bade),
+ ],
+ q(1088) => [
+ q(Biage),
+ ],
+ q(1089) => [
+ q(Bonggi),
+ ],
+ q(1090) => [
+ q(Baka (Sudan)),
+ ],
+ q(1091) => [
+ q(Burun),
+ ],
+ q(1092) => [
+ q(Bai),
+ ],
+ q(1093) => [
+ q(Budukh),
+ ],
+ q(1094) => [
+ q(Indonesian Bajau),
+ ],
+ q(1095) => [
+ q(Buduma),
+ ],
+ q(1096) => [
+ q(Baldemu),
+ ],
+ q(1097) => [
+ q(Morom),
+ ],
+ q(1098) => [
+ q(Bende),
+ ],
+ q(1099) => [
+ q(Bahnar),
+ ],
+ q(1100) => [
+ q(West Coast Bajau),
+ ],
+ q(1101) => [
+ q(Burunge),
+ ],
+ q(1102) => [
+ q(Bokoto),
+ ],
+ q(1103) => [
+ q(Oroko),
+ ],
+ q(1104) => [
+ q(Bodo Parja),
+ ],
+ q(1105) => [
+ q(Baham),
+ ],
+ q(1106) => [
+ q(Budong-Budong),
+ ],
+ q(1107) => [
+ q(Bandjalang),
+ ],
+ q(1108) => [
+ q(Badeshi),
+ ],
+ q(1109) => [
+ q(Beaver),
+ ],
+ q(1110) => [
+ q(Bebele),
+ ],
+ q(1111) => [
+ q(Iceve-Maci),
+ ],
+ q(1112) => [
+ q(Bedoanas),
+ ],
+ q(1113) => [
+ q(Byangsi),
+ ],
+ q(1114) => [
+ q(Benabena),
+ ],
+ q(1115) => [
+ q(Belait),
+ ],
+ q(1116) => [
+ q(Biali),
+ ],
+ q(1117) => [
+ q(Bekati'),
+ ],
+ q(1118) => [
+ q(Bebeli),
+ ],
+ q(1119) => [
+ q(Beami),
+ ],
+ q(1120) => [
+ q(Besoa),
+ ],
+ q(1121) => [
+ q(Beembe),
+ ],
+ q(1122) => [
+ q(Besme),
+ ],
+ q(1123) => [
+ q(Guiberoua Bete),
+ ],
+ q(1124) => [
+ q(Blagar),
+ ],
+ q(1125) => [
+ q(Daloa Bete),
+ ],
+ q(1126) => [
+ q(Betawi),
+ ],
+ q(1127) => [
+ q(Jur Modo),
+ ],
+ q(1128) => [
+ q(Beli (Papua New Guinea)),
+ ],
+ q(1129) => [
+ q(Bena (Tanzania)),
+ ],
+ q(1130) => [
+ q(Bari),
+ ],
+ q(1131) => [
+ q(Pauri Bareli),
+ ],
+ q(1132) => [
+ q(Northern Bai),
+ ],
+ q(1133) => [
+ q(Bafut),
+ ],
+ q(1134) => [
+ q(Betaf),
+ q(Tena),
+ ],
+ q(1135) => [
+ q(Bofi),
+ ],
+ q(1136) => [
+ q(Busang Kayan),
+ ],
+ q(1137) => [
+ q(Blafe),
+ ],
+ q(1138) => [
+ q(British Sign Language),
+ ],
+ q(1139) => [
+ q(Bafanji),
+ ],
+ q(1140) => [
+ q(Ban Khor Sign Language),
+ ],
+ q(1141) => [
+ q(Banda-Ndele),
+ ],
+ q(1142) => [
+ q(Mmen),
+ ],
+ q(1143) => [
+ q(Bunak),
+ ],
+ q(1144) => [
+ q(Malba Birifor),
+ ],
+ q(1145) => [
+ q(Beba),
+ ],
+ q(1146) => [
+ q(Badaga),
+ ],
+ q(1147) => [
+ q(Bazigar),
+ ],
+ q(1148) => [
+ q(Southern Bai),
+ ],
+ q(1149) => [
+ q(Balti),
+ ],
+ q(1150) => [
+ q(Gahri),
+ ],
+ q(1151) => [
+ q(Bondo),
+ ],
+ q(1152) => [
+ q(Bantayanon),
+ ],
+ q(1153) => [
+ q(Bagheli),
+ ],
+ q(1154) => [
+ q(Mahasu Pahari),
+ ],
+ q(1155) => [
+ q(Gwamhi-Wuri),
+ ],
+ q(1156) => [
+ q(Bobongko),
+ ],
+ q(1157) => [
+ q(Haryanvi),
+ ],
+ q(1158) => [
+ q(Rathwi Bareli),
+ ],
+ q(1159) => [
+ q(Bauria),
+ ],
+ q(1160) => [
+ q(Bangandu),
+ ],
+ q(1161) => [
+ q(Bugun),
+ ],
+ q(1162) => [
+ q(Giangan),
+ ],
+ q(1163) => [
+ q(Bangolan),
+ ],
+ q(1164) => [
+ q(Bit),
+ q(Buxinhua),
+ ],
+ q(1165) => [
+ q(Bo (Laos)),
+ ],
+ q(1166) => [
+ q(Baga Mboteni),
+ ],
+ q(1167) => [
+ q(Western Balochi),
+ ],
+ q(1168) => [
+ q(Baga Koga),
+ ],
+ q(1169) => [
+ q(Eastern Balochi),
+ ],
+ q(1170) => [
+ q(Bagri),
+ ],
+ q(1171) => [
+ q(Bawm Chin),
+ ],
+ q(1172) => [
+ q(Tagabawa),
+ ],
+ q(1173) => [
+ q(Bughotu),
+ ],
+ q(1174) => [
+ q(Mbongno),
+ ],
+ q(1175) => [
+ q(Warkay-Bipim),
+ ],
+ q(1176) => [
+ q(Bhatri),
+ ],
+ q(1177) => [
+ q(Balkan Gagauz Turkish),
+ ],
+ q(1178) => [
+ q(Benggoi),
+ ],
+ q(1179) => [
+ q(Banggai),
+ ],
+ q(1180) => [
+ q(Bharia),
+ ],
+ q(1181) => [
+ q(Bhili),
+ ],
+ q(1182) => [
+ q(Biga),
+ ],
+ q(1183) => [
+ q(Bhadrawahi),
+ ],
+ q(1184) => [
+ q(Bhaya),
+ ],
+ q(1185) => [
+ q(Odiai),
+ ],
+ q(1186) => [
+ q(Binandere),
+ ],
+ q(1187) => [
+ q(Bukharic),
+ ],
+ q(1188) => [
+ q(Bhilali),
+ ],
+ q(1189) => [
+ q(Bahing),
+ ],
+ q(1190) => [
+ q(Bimin),
+ ],
+ q(1191) => [
+ q(Bathari),
+ ],
+ q(1192) => [
+ q(Bohtan Neo-Aramaic),
+ ],
+ q(1193) => [
+ q(Bima),
+ ],
+ q(1194) => [
+ q(Tukang Besi South),
+ ],
+ q(1195) => [
+ q(Bara Malagasy),
+ ],
+ q(1196) => [
+ q(Buwal),
+ ],
+ q(1197) => [
+ q(Bhattiyali),
+ ],
+ q(1198) => [
+ q(Bhunjia),
+ ],
+ q(1199) => [
+ q(Bahau),
+ ],
+ q(1200) => [
+ q(Biak),
+ ],
+ q(1201) => [
+ q(Bhalay),
+ ],
+ q(1202) => [
+ q(Bhele),
+ ],
+ q(1203) => [
+ q(Bada (Indonesia)),
+ ],
+ q(1204) => [
+ q(Badimaya),
+ ],
+ q(1205) => [
+ q(Bissa),
+ q(Bisa),
+ ],
+ q(1206) => [
+ q(Bikaru),
+ ],
+ q(1207) => [
+ q(Bidiyo),
+ ],
+ q(1208) => [
+ q(Bepour),
+ ],
+ q(1209) => [
+ q(Biafada),
+ ],
+ q(1210) => [
+ q(Biangai),
+ ],
+ q(1211) => [
+ q(Vaghat-Ya-Bijim-Legeri),
+ ],
+ q(1212) => [
+ q(Bile),
+ ],
+ q(1213) => [
+ q(Bimoba),
+ ],
+ q(1214) => [
+ q(Nai),
+ ],
+ q(1215) => [
+ q(Bila),
+ ],
+ q(1216) => [
+ q(Bipi),
+ ],
+ q(1217) => [
+ q(Bisorio),
+ ],
+ q(1218) => [
+ q(Berinomo),
+ ],
+ q(1219) => [
+ q(Biete),
+ ],
+ q(1220) => [
+ q(Southern Birifor),
+ ],
+ q(1221) => [
+ q(Kol (Cameroon)),
+ ],
+ q(1222) => [
+ q(Bijori),
+ ],
+ q(1223) => [
+ q(Birhor),
+ ],
+ q(1224) => [
+ q(Baloi),
+ ],
+ q(1225) => [
+ q(Budza),
+ ],
+ q(1226) => [
+ q(Banggarla),
+ ],
+ q(1227) => [
+ q(Bariji),
+ ],
+ q(1228) => [
+ q(Bandjigali),
+ ],
+ q(1229) => [
+ q(Biao-Jiao Mien),
+ ],
+ q(1230) => [
+ q(Barzani Jewish Neo-Aramaic),
+ ],
+ q(1231) => [
+ q(Bidyogo),
+ ],
+ q(1232) => [
+ q(Bahinemo),
+ ],
+ q(1233) => [
+ q(Burji),
+ ],
+ q(1234) => [
+ q(Kanauji),
+ ],
+ q(1235) => [
+ q(Barok),
+ ],
+ q(1236) => [
+ q(Bulu (Papua New Guinea)),
+ ],
+ q(1237) => [
+ q(Bajelani),
+ ],
+ q(1238) => [
+ q(Banjar),
+ ],
+ q(1239) => [
+ q(Mid-Southern Banda),
+ ],
+ q(1240) => [
+ q(Binumarien),
+ ],
+ q(1241) => [
+ q(Bajan),
+ ],
+ q(1242) => [
+ q(Balanta-Ganja),
+ ],
+ q(1243) => [
+ q(Busuu),
+ ],
+ q(1244) => [
+ q(Bedjond),
+ ],
+ q(1245) => [
+ q(Bakwe),
+ ],
+ q(1246) => [
+ q(Banao Itneg),
+ ],
+ q(1247) => [
+ q(Bayali),
+ ],
+ q(1248) => [
+ q(Baruga),
+ ],
+ q(1249) => [
+ q(Kyak),
+ ],
+ q(1250) => [
+ q(Baka (Cameroon)),
+ ],
+ q(1251) => [
+ q(Binukid),
+ q(Talaandig),
+ ],
+ q(1252) => [
+ q(Beeke),
+ ],
+ q(1253) => [
+ q(Buraka),
+ ],
+ q(1254) => [
+ q(Bakoko),
+ ],
+ q(1255) => [
+ q(Baki),
+ ],
+ q(1256) => [
+ q(Pande),
+ ],
+ q(1257) => [
+ q(Brokskat),
+ ],
+ q(1258) => [
+ q(Berik),
+ ],
+ q(1259) => [
+ q(Kom (Cameroon)),
+ ],
+ q(1260) => [
+ q(Bukitan),
+ ],
+ q(1261) => [
+ q(Kwa'),
+ ],
+ q(1262) => [
+ q(Boko (Democratic Republic of Congo)),
+ ],
+ q(1263) => [
+ q(Bakairi),
+ ],
+ q(1264) => [
+ q(Bakumpai),
+ ],
+ q(1265) => [
+ q(Northern Sorsoganon),
+ ],
+ q(1266) => [
+ q(Boloki),
+ ],
+ q(1267) => [
+ q(Buhid),
+ ],
+ q(1268) => [
+ q(Bekwarra),
+ ],
+ q(1269) => [
+ q(Bekwel),
+ ],
+ q(1270) => [
+ q(Baikeno),
+ ],
+ q(1271) => [
+ q(Bokyi),
+ ],
+ q(1272) => [
+ q(Bungku),
+ ],
+ q(1273) => [
+ q(Bilua),
+ ],
+ q(1274) => [
+ q(Bella Coola),
+ ],
+ q(1275) => [
+ q(Bolango),
+ ],
+ q(1276) => [
+ q(Balanta-Kentohe),
+ ],
+ q(1277) => [
+ q(Buol),
+ ],
+ q(1278) => [
+ q(Balau),
+ ],
+ q(1279) => [
+ q(Kuwaa),
+ ],
+ q(1280) => [
+ q(Bolia),
+ ],
+ q(1281) => [
+ q(Bolongan),
+ ],
+ q(1282) => [
+ q(Pa'o Karen),
+ ],
+ q(1283) => [
+ q(Biloxi),
+ ],
+ q(1284) => [
+ q(Beli (Sudan)),
+ ],
+ q(1285) => [
+ q(Southern Catanduanes Bicolano),
+ ],
+ q(1286) => [
+ q(Anii),
+ ],
+ q(1287) => [
+ q(Blablanga),
+ ],
+ q(1288) => [
+ q(Baluan-Pam),
+ ],
+ q(1289) => [
+ q(Blang),
+ ],
+ q(1290) => [
+ q(Balaesang),
+ ],
+ q(1291) => [
+ q(Tai Dam),
+ ],
+ q(1292) => [
+ q(Bolo),
+ ],
+ q(1293) => [
+ q(Balangao),
+ ],
+ q(1294) => [
+ q(Mag-Indi Ayta),
+ ],
+ q(1295) => [
+ q(Notre),
+ ],
+ q(1296) => [
+ q(Balantak),
+ ],
+ q(1297) => [
+ q(Lame),
+ ],
+ q(1298) => [
+ q(Bembe),
+ ],
+ q(1299) => [
+ q(Biem),
+ ],
+ q(1300) => [
+ q(Baga Manduri),
+ ],
+ q(1301) => [
+ q(Limassa),
+ ],
+ q(1302) => [
+ q(Bom),
+ ],
+ q(1303) => [
+ q(Bamwe),
+ ],
+ q(1304) => [
+ q(Kein),
+ ],
+ q(1305) => [
+ q(Bagirmi),
+ ],
+ q(1306) => [
+ q(Bote-Majhi),
+ ],
+ q(1307) => [
+ q(Ghayavi),
+ ],
+ q(1308) => [
+ q(Bomboli),
+ ],
+ q(1309) => [
+ q(Northern Betsimisaraka Malagasy),
+ ],
+ q(1310) => [
+ q(Bina (Papua New Guinea)),
+ ],
+ q(1311) => [
+ q(Bambalang),
+ ],
+ q(1312) => [
+ q(Bulgebi),
+ ],
+ q(1313) => [
+ q(Bomu),
+ ],
+ q(1314) => [
+ q(Muinane),
+ ],
+ q(1315) => [
+ q(Bilma Kanuri),
+ ],
+ q(1316) => [
+ q(Biao Mon),
+ ],
+ q(1317) => [
+ q(Somba-Siawari),
+ ],
+ q(1318) => [
+ q(Bum),
+ ],
+ q(1319) => [
+ q(Bomwali),
+ ],
+ q(1320) => [
+ q(Baimak),
+ ],
+ q(1321) => [
+ q(Bemba (Democratic Republic of Congo)),
+ ],
+ q(1322) => [
+ q(Baramu),
+ ],
+ q(1323) => [
+ q(Bonerate),
+ ],
+ q(1324) => [
+ q(Bookan),
+ ],
+ q(1325) => [
+ q(Bontok),
+ ],
+ q(1326) => [
+ q(Banda (Indonesia)),
+ ],
+ q(1327) => [
+ q(Bintauna),
+ ],
+ q(1328) => [
+ q(Masiwang),
+ ],
+ q(1329) => [
+ q(Benga),
+ ],
+ q(1330) => [
+ q(Bangi),
+ ],
+ q(1331) => [
+ q(Eastern Tawbuid),
+ ],
+ q(1332) => [
+ q(Bierebo),
+ ],
+ q(1333) => [
+ q(Boon),
+ ],
+ q(1334) => [
+ q(Batanga),
+ ],
+ q(1335) => [
+ q(Bunun),
+ ],
+ q(1336) => [
+ q(Bantoanon),
+ ],
+ q(1337) => [
+ q(Bola),
+ ],
+ q(1338) => [
+ q(Bantik),
+ ],
+ q(1339) => [
+ q(Butmas-Tur),
+ ],
+ q(1340) => [
+ q(Bundeli),
+ ],
+ q(1341) => [
+ q(Bentong),
+ ],
+ q(1342) => [
+ q(Bonerif),
+ q(Beneraf),
+ q(Edwas),
+ ],
+ q(1343) => [
+ q(Bisis),
+ ],
+ q(1344) => [
+ q(Bangubangu),
+ ],
+ q(1345) => [
+ q(Bintulu),
+ ],
+ q(1346) => [
+ q(Beezen),
+ ],
+ q(1347) => [
+ q(Bora),
+ ],
+ q(1348) => [
+ q(Aweer),
+ ],
+ q(1349) => [
+ q(Mundabli),
+ ],
+ q(1350) => [
+ q(Bolon),
+ ],
+ q(1351) => [
+ q(Bamako Sign Language),
+ ],
+ q(1352) => [
+ q(Boma),
+ ],
+ q(1353) => [
+ q(Barbareno),
+ ],
+ q(1354) => [
+ q(Anjam),
+ ],
+ q(1355) => [
+ q(Bonjo),
+ ],
+ q(1356) => [
+ q(Bole),
+ ],
+ q(1357) => [
+ q(Berom),
+ ],
+ q(1358) => [
+ q(Bine),
+ ],
+ q(1359) => [
+ q(Tiemacewe Bozo),
+ ],
+ q(1360) => [
+ q(Bonkiman),
+ ],
+ q(1361) => [
+ q(Bogaya),
+ ],
+ q(1362) => [
+ q(Bororo),
+ ],
+ q(1363) => [
+ q(Bongo),
+ ],
+ q(1364) => [
+ q(Bondei),
+ ],
+ q(1365) => [
+ q(Tuwuli),
+ ],
+ q(1366) => [
+ q(Rema),
+ ],
+ q(1367) => [
+ q(Buamu),
+ ],
+ q(1368) => [
+ q(Bodo (Central African Republic)),
+ ],
+ q(1369) => [
+ q(Tieyaxo Bozo),
+ ],
+ q(1370) => [
+ q(Dakaka),
+ ],
+ q(1371) => [
+ q(Barbacoas),
+ ],
+ q(1372) => [
+ q(Banda-Banda),
+ ],
+ q(1373) => [
+ q(Bonggo),
+ ],
+ q(1374) => [
+ q(Botlikh),
+ ],
+ q(1375) => [
+ q(Bagupi),
+ ],
+ q(1376) => [
+ q(Binji),
+ ],
+ q(1377) => [
+ q(Orowe),
+ ],
+ q(1378) => [
+ q(Broome Pearling Lugger Pidgin),
+ ],
+ q(1379) => [
+ q(Biyom),
+ ],
+ q(1380) => [
+ q(Dzao Min),
+ ],
+ q(1381) => [
+ q(Anasi),
+ ],
+ q(1382) => [
+ q(Kaure),
+ ],
+ q(1383) => [
+ q(Banda Malay),
+ ],
+ q(1384) => [
+ q(Koronadal Blaan),
+ ],
+ q(1385) => [
+ q(Sarangani Blaan),
+ ],
+ q(1386) => [
+ q(Barrow Point),
+ ],
+ q(1387) => [
+ q(Bongu),
+ ],
+ q(1388) => [
+ q(Bian Marind),
+ ],
+ q(1389) => [
+ q(Bo (Papua New Guinea)),
+ ],
+ q(1390) => [
+ q(Palya Bareli),
+ ],
+ q(1391) => [
+ q(Bishnupriya),
+ ],
+ q(1392) => [
+ q(Bilba),
+ ],
+ q(1393) => [
+ q(Tchumbuli),
+ ],
+ q(1394) => [
+ q(Bagusa),
+ ],
+ q(1395) => [
+ q(Boko (Benin)),
+ ],
+ q(1396) => [
+ q(Bung),
+ ],
+ q(1397) => [
+ q(Baga Kaloum),
+ ],
+ q(1398) => [
+ q(Bago-Kusuntu),
+ ],
+ q(1399) => [
+ q(Baima),
+ ],
+ q(1400) => [
+ q(Bakhtiari),
+ ],
+ q(1401) => [
+ q(Bandial),
+ ],
+ q(1402) => [
+ q(Banda-Mbres),
+ ],
+ q(1403) => [
+ q(Bilakura),
+ ],
+ q(1404) => [
+ q(Wumboko),
+ ],
+ q(1405) => [
+ q(Bulgarian Sign Language),
+ ],
+ q(1406) => [
+ q(Balo),
+ ],
+ q(1407) => [
+ q(Busa),
+ ],
+ q(1408) => [
+ q(Biritai),
+ ],
+ q(1409) => [
+ q(Burusu),
+ ],
+ q(1410) => [
+ q(Bosngun),
+ ],
+ q(1411) => [
+ q(Bamukumbit),
+ ],
+ q(1412) => [
+ q(Boguru),
+ ],
+ q(1413) => [
+ q(Begbere-Ejar),
+ ],
+ q(1414) => [
+ q(Buru (Nigeria)),
+ ],
+ q(1415) => [
+ q(Baangi),
+ ],
+ q(1416) => [
+ q(Bengkala Sign Language),
+ ],
+ q(1417) => [
+ q(Bakaka),
+ ],
+ q(1418) => [
+ q(Lave),
+ ],
+ q(1419) => [
+ q(Berbice Creole Dutch),
+ ],
+ q(1420) => [
+ q(Baraamu),
+ ],
+ q(1421) => [
+ q(Bera),
+ ],
+ q(1422) => [
+ q(Baure),
+ ],
+ q(1423) => [
+ q(Brahui),
+ ],
+ q(1424) => [
+ q(Mokpwe),
+ ],
+ q(1425) => [
+ q(Bieria),
+ ],
+ q(1426) => [
+ q(Birked),
+ ],
+ q(1427) => [
+ q(Birwa),
+ ],
+ q(1428) => [
+ q(Barambu),
+ ],
+ q(1429) => [
+ q(Boruca),
+ ],
+ q(1430) => [
+ q(Brokkat),
+ ],
+ q(1431) => [
+ q(Barapasi),
+ ],
+ q(1432) => [
+ q(Breri),
+ ],
+ q(1433) => [
+ q(Birao),
+ ],
+ q(1434) => [
+ q(Baras),
+ ],
+ q(1435) => [
+ q(Bitare),
+ ],
+ q(1436) => [
+ q(Eastern Bru),
+ ],
+ q(1437) => [
+ q(Western Bru),
+ ],
+ q(1438) => [
+ q(Bellari),
+ ],
+ q(1439) => [
+ q(Bodo (India)),
+ ],
+ q(1440) => [
+ q(Burui),
+ ],
+ q(1441) => [
+ q(Bilbil),
+ ],
+ q(1442) => [
+ q(Abinomn),
+ ],
+ q(1443) => [
+ q(Brunei Bisaya),
+ ],
+ q(1444) => [
+ q(Bassari),
+ q(Oniyan),
+ ],
+ q(1445) => [
+ q(Wushi),
+ ],
+ q(1446) => [
+ q(Bauchi),
+ ],
+ q(1447) => [
+ q(Bashkardi),
+ ],
+ q(1448) => [
+ q(Kati),
+ ],
+ q(1449) => [
+ q(Bassossi),
+ ],
+ q(1450) => [
+ q(Bangwinji),
+ ],
+ q(1451) => [
+ q(Burushaski),
+ ],
+ q(1452) => [
+ q(Basa-Gumna),
+ ],
+ q(1453) => [
+ q(Busami),
+ ],
+ q(1454) => [
+ q(Barasana-Eduria),
+ ],
+ q(1455) => [
+ q(Buso),
+ ],
+ q(1456) => [
+ q(Baga Sitemu),
+ ],
+ q(1457) => [
+ q(Bassa),
+ ],
+ q(1458) => [
+ q(Bassa-Kontagora),
+ ],
+ q(1459) => [
+ q(Akoose),
+ ],
+ q(1460) => [
+ q(Basketo),
+ ],
+ q(1461) => [
+ q(Bahonsuai),
+ ],
+ q(1462) => [
+ q(Baga Sobane),
+ ],
+ q(1463) => [
+ q(Baiso),
+ ],
+ q(1464) => [
+ q(Yangkam),
+ ],
+ q(1465) => [
+ q(Sabah Bisaya),
+ ],
+ q(1466) => [
+ q(Bata),
+ ],
+ q(1467) => [
+ q(Bati (Cameroon)),
+ ],
+ q(1468) => [
+ q(Batak Dairi),
+ ],
+ q(1469) => [
+ q(Gamo-Ningi),
+ ],
+ q(1470) => [
+ q(Birgit),
+ ],
+ q(1471) => [
+ q(Gagnoa Bete),
+ ],
+ q(1472) => [
+ q(Biatah Bidayuh),
+ ],
+ q(1473) => [
+ q(Burate),
+ ],
+ q(1474) => [
+ q(Bacanese Malay),
+ ],
+ q(1475) => [
+ q(Bhatola),
+ ],
+ q(1476) => [
+ q(Batak Mandailing),
+ ],
+ q(1477) => [
+ q(Ratagnon),
+ ],
+ q(1478) => [
+ q(Rinconada Bikol),
+ ],
+ q(1479) => [
+ q(Budibud),
+ ],
+ q(1480) => [
+ q(Batek),
+ ],
+ q(1481) => [
+ q(Baetora),
+ ],
+ q(1482) => [
+ q(Batak Simalungun),
+ ],
+ q(1483) => [
+ q(Bete-Bendi),
+ ],
+ q(1484) => [
+ q(Batu),
+ ],
+ q(1485) => [
+ q(Bateri),
+ ],
+ q(1486) => [
+ q(Butuanon),
+ ],
+ q(1487) => [
+ q(Batak Karo),
+ ],
+ q(1488) => [
+ q(Bobot),
+ ],
+ q(1489) => [
+ q(Batak Alas-Kluet),
+ ],
+ q(1490) => [
+ q(Bua),
+ ],
+ q(1491) => [
+ q(Bushi),
+ ],
+ q(1492) => [
+ q(Ntcham),
+ ],
+ q(1493) => [
+ q(Beothuk),
+ ],
+ q(1494) => [
+ q(Bushoong),
+ ],
+ q(1495) => [
+ q(Younuo Bunu),
+ ],
+ q(1496) => [
+ q(Bongili),
+ ],
+ q(1497) => [
+ q(Basa-Gurmana),
+ ],
+ q(1498) => [
+ q(Bugawac),
+ ],
+ q(1499) => [
+ q(Bulu (Cameroon)),
+ ],
+ q(1500) => [
+ q(Sherbro),
+ ],
+ q(1501) => [
+ q(Terei),
+ ],
+ q(1502) => [
+ q(Busoa),
+ ],
+ q(1503) => [
+ q(Brem),
+ ],
+ q(1504) => [
+ q(Bokobaru),
+ ],
+ q(1505) => [
+ q(Bungain),
+ ],
+ q(1506) => [
+ q(Budu),
+ ],
+ q(1507) => [
+ q(Bun),
+ ],
+ q(1508) => [
+ q(Bubi),
+ ],
+ q(1509) => [
+ q(Boghom),
+ ],
+ q(1510) => [
+ q(Bullom So),
+ ],
+ q(1511) => [
+ q(Bukwen),
+ ],
+ q(1512) => [
+ q(Barein),
+ ],
+ q(1513) => [
+ q(Bube),
+ ],
+ q(1514) => [
+ q(Baelelea),
+ ],
+ q(1515) => [
+ q(Baeggu),
+ ],
+ q(1516) => [
+ q(Berau Malay),
+ ],
+ q(1517) => [
+ q(Boor),
+ ],
+ q(1518) => [
+ q(Bonkeng),
+ ],
+ q(1519) => [
+ q(Bure),
+ ],
+ q(1520) => [
+ q(Belanda Viri),
+ ],
+ q(1521) => [
+ q(Baan),
+ ],
+ q(1522) => [
+ q(Bukat),
+ ],
+ q(1523) => [
+ q(Bolivian Sign Language),
+ ],
+ q(1524) => [
+ q(Bamunka),
+ ],
+ q(1525) => [
+ q(Buna),
+ ],
+ q(1526) => [
+ q(Bolgo),
+ ],
+ q(1527) => [
+ q(Birri),
+ ],
+ q(1528) => [
+ q(Burarra),
+ ],
+ q(1529) => [
+ q(Bati (Indonesia)),
+ ],
+ q(1530) => [
+ q(Bukit Malay),
+ ],
+ q(1531) => [
+ q(Baniva),
+ ],
+ q(1532) => [
+ q(Boga),
+ ],
+ q(1533) => [
+ q(Dibole),
+ ],
+ q(1534) => [
+ q(Baybayanon),
+ ],
+ q(1535) => [
+ q(Bauzi),
+ ],
+ q(1536) => [
+ q(Bwatoo),
+ ],
+ q(1537) => [
+ q(Namosi-Naitasiri-Serua),
+ ],
+ q(1538) => [
+ q(Bwile),
+ ],
+ q(1539) => [
+ q(Bwaidoka),
+ ],
+ q(1540) => [
+ q(Bwe Karen),
+ ],
+ q(1541) => [
+ q(Boselewa),
+ ],
+ q(1542) => [
+ q(Barwe),
+ ],
+ q(1543) => [
+ q(Bishuo),
+ ],
+ q(1544) => [
+ q(Baniwa),
+ ],
+ q(1545) => [
+ q(Laa Laa Bwamu),
+ ],
+ q(1546) => [
+ q(Bauwaki),
+ ],
+ q(1547) => [
+ q(Bwela),
+ ],
+ q(1548) => [
+ q(Biwat),
+ ],
+ q(1549) => [
+ q(Wunai Bunu),
+ ],
+ q(1550) => [
+ q(Boro (Ethiopia)),
+ q(Borna (Ethiopia)),
+ ],
+ q(1551) => [
+ q(Mandobo Bawah),
+ ],
+ q(1552) => [
+ q(Southern Bobo Madare),
+ ],
+ q(1553) => [
+ q(Bura-Pabir),
+ ],
+ q(1554) => [
+ q(Bomboma),
+ ],
+ q(1555) => [
+ q(Bafaw-Balong),
+ ],
+ q(1556) => [
+ q(Buli (Ghana)),
+ ],
+ q(1557) => [
+ q(Bwa),
+ ],
+ q(1558) => [
+ q(Bu-Nao Bunu),
+ ],
+ q(1559) => [
+ q(Cwi Bwamu),
+ ],
+ q(1560) => [
+ q(Bwisi),
+ ],
+ q(1561) => [
+ q(Bauro),
+ ],
+ q(1562) => [
+ q(Belanda Bor),
+ ],
+ q(1563) => [
+ q(Molengue),
+ ],
+ q(1564) => [
+ q(Pela),
+ ],
+ q(1565) => [
+ q(Birale),
+ ],
+ q(1566) => [
+ q(Bilur),
+ ],
+ q(1567) => [
+ q(Bangala),
+ ],
+ q(1568) => [
+ q(Buhutu),
+ ],
+ q(1569) => [
+ q(Pirlatapa),
+ ],
+ q(1570) => [
+ q(Bayungu),
+ ],
+ q(1571) => [
+ q(Bukusu),
+ q(Lubukusu),
+ ],
+ q(1572) => [
+ q(Jalkunan),
+ ],
+ q(1573) => [
+ q(Mongolia Buriat),
+ ],
+ q(1574) => [
+ q(Burduna),
+ ],
+ q(1575) => [
+ q(Barikanchi),
+ ],
+ q(1576) => [
+ q(Bebil),
+ ],
+ q(1577) => [
+ q(Beele),
+ ],
+ q(1578) => [
+ q(Russia Buriat),
+ ],
+ q(1579) => [
+ q(Busam),
+ ],
+ q(1580) => [
+ q(China Buriat),
+ ],
+ q(1581) => [
+ q(Berakou),
+ ],
+ q(1582) => [
+ q(Bankagooma),
+ ],
+ q(1583) => [
+ q(Borna (Democratic Republic of Congo)),
+ ],
+ q(1584) => [
+ q(Binahari),
+ ],
+ q(1585) => [
+ q(Batak),
+ ],
+ q(1586) => [
+ q(Bikya),
+ ],
+ q(1587) => [
+ q(Ubaghara),
+ ],
+ q(1588) => [
+ q(Benyadu'),
+ ],
+ q(1589) => [
+ q(Pouye),
+ ],
+ q(1590) => [
+ q(Bete),
+ ],
+ q(1591) => [
+ q(Baygo),
+ ],
+ q(1592) => [
+ q(Bhujel),
+ ],
+ q(1593) => [
+ q(Buyu),
+ ],
+ q(1594) => [
+ q(Bina (Nigeria)),
+ ],
+ q(1595) => [
+ q(Biao),
+ ],
+ q(1596) => [
+ q(Bayono),
+ ],
+ q(1597) => [
+ q(Bidyara),
+ ],
+ q(1598) => [
+ q(Biyo),
+ ],
+ q(1599) => [
+ q(Bumaji),
+ ],
+ q(1600) => [
+ q(Basay),
+ ],
+ q(1601) => [
+ q(Baruya),
+ ],
+ q(1602) => [
+ q(Burak),
+ ],
+ q(1603) => [
+ q(Berti),
+ ],
+ q(1604) => [
+ q(Medumba),
+ ],
+ q(1605) => [
+ q(Belhariya),
+ ],
+ q(1606) => [
+ q(Qaqet),
+ ],
+ q(1607) => [
+ q(Buya),
+ ],
+ q(1608) => [
+ q(Banaro),
+ ],
+ q(1609) => [
+ q(Bandi),
+ ],
+ q(1610) => [
+ q(Andio),
+ ],
+ q(1611) => [
+ q(Southern Betsimisaraka Malagasy),
+ ],
+ q(1612) => [
+ q(Bribri),
+ ],
+ q(1613) => [
+ q(Jenaama Bozo),
+ ],
+ q(1614) => [
+ q(Boikin),
+ ],
+ q(1615) => [
+ q(Babuza),
+ ],
+ q(1616) => [
+ q(Mapos Buang),
+ ],
+ q(1617) => [
+ q(Bisu),
+ ],
+ q(1618) => [
+ q(Belize Kriol English),
+ ],
+ q(1619) => [
+ q(Nicaragua Creole English),
+ ],
+ q(1620) => [
+ q(Boano (Sulawesi)),
+ ],
+ q(1621) => [
+ q(Bolondo),
+ ],
+ q(1622) => [
+ q(Boano (Maluku)),
+ ],
+ q(1623) => [
+ q(Bozaba),
+ ],
+ q(1624) => [
+ q(Kemberano),
+ ],
+ q(1625) => [
+ q(Buli (Indonesia)),
+ ],
+ q(1626) => [
+ q(Biri),
+ ],
+ q(1627) => [
+ q(Brazilian Sign Language),
+ ],
+ q(1628) => [
+ q(Brithenig),
+ ],
+ q(1629) => [
+ q(Burmeso),
+ ],
+ q(1630) => [
+ q(Bebe),
+ ],
+ q(1631) => [
+ q(Basa (Nigeria)),
+ ],
+ q(1632) => [
+ q(Kelengazxo Bozo),
+ ],
+ q(1633) => [
+ q(Obanliku),
+ ],
+ q(1634) => [
+ q(Evant),
+ ],
+ q(1635) => [
+ q(Chorti),
+ ],
+ q(1636) => [
+ q(Garifuna),
+ ],
+ q(1637) => [
+ q(Chuj),
+ ],
+ q(1638) => [
+ q(Lehar),
+ q(Laalaa),
+ ],
+ q(1639) => [
+ q(Southern Carrier),
+ ],
+ q(1640) => [
+ q(Nivacle),
+ ],
+ q(1641) => [
+ q(Cahuarano),
+ ],
+ q(1642) => [
+ q(Chane),
+ ],
+ q(1643) => [
+ q(Kaqchikel),
+ q(Cakchiquel),
+ ],
+ q(1644) => [
+ q(Carolinian),
+ ],
+ q(1645) => [
+ q(Cemuhi),
+ ],
+ q(1646) => [
+ q(Chambri),
+ ],
+ q(1647) => [
+ q(Chacobo),
+ ],
+ q(1648) => [
+ q(Chipaya),
+ ],
+ q(1649) => [
+ q(Car Nicobarese),
+ ],
+ q(1650) => [
+ q(Tsimane),
+ ],
+ q(1651) => [
+ q(Cavinena),
+ ],
+ q(1652) => [
+ q(Callawalla),
+ ],
+ q(1653) => [
+ q(Chiquitano),
+ ],
+ q(1654) => [
+ q(Cayuga),
+ ],
+ q(1655) => [
+ q(Canichana),
+ ],
+ q(1656) => [
+ q(Cabiyari),
+ ],
+ q(1657) => [
+ q(Carapana),
+ ],
+ q(1658) => [
+ q(Carijona),
+ ],
+ q(1659) => [
+ q(Chipiajes),
+ ],
+ q(1660) => [
+ q(Chimila),
+ ],
+ q(1661) => [
+ q(Cagua),
+ ],
+ q(1662) => [
+ q(Chachi),
+ ],
+ q(1663) => [
+ q(Ede Cabe),
+ ],
+ q(1664) => [
+ q(Chavacano),
+ ],
+ q(1665) => [
+ q(Bualkhaw Chin),
+ ],
+ q(1666) => [
+ q(Nyahkur),
+ ],
+ q(1667) => [
+ q(Izora),
+ ],
+ q(1668) => [
+ q(Cashibo-Cacataibo),
+ ],
+ q(1669) => [
+ q(Cashinahua),
+ ],
+ q(1670) => [
+ q(Chayahuita),
+ ],
+ q(1671) => [
+ q(Candoshi-Shapra),
+ ],
+ q(1672) => [
+ q(Cacua),
+ ],
+ q(1673) => [
+ q(Kinabalian),
+ ],
+ q(1674) => [
+ q(Carabayo),
+ ],
+ q(1675) => [
+ q(Cauca),
+ ],
+ q(1676) => [
+ q(Chamicuro),
+ ],
+ q(1677) => [
+ q(Cafundo Creole),
+ ],
+ q(1678) => [
+ q(Chopi),
+ ],
+ q(1679) => [
+ q(Samba Daka),
+ ],
+ q(1680) => [
+ q(Atsam),
+ ],
+ q(1681) => [
+ q(Kasanga),
+ ],
+ q(1682) => [
+ q(Cutchi-Swahili),
+ ],
+ q(1683) => [
+ q(Malaccan Creole Malay),
+ ],
+ q(1684) => [
+ q(Comaltepec Chinantec),
+ ],
+ q(1685) => [
+ q(Chakma),
+ ],
+ q(1686) => [
+ q(Chaungtha),
+ ],
+ q(1687) => [
+ q(Cacaopera),
+ ],
+ q(1688) => [
+ q(Choni),
+ ],
+ q(1689) => [
+ q(Chenchu),
+ ],
+ q(1690) => [
+ q(Chiru),
+ ],
+ q(1691) => [
+ q(Chamari),
+ ],
+ q(1692) => [
+ q(Chambeali),
+ ],
+ q(1693) => [
+ q(Chodri),
+ ],
+ q(1694) => [
+ q(Churahi),
+ ],
+ q(1695) => [
+ q(Chepang),
+ ],
+ q(1696) => [
+ q(Chaudangsi),
+ ],
+ q(1697) => [
+ q(Min Dong Chinese),
+ ],
+ q(1698) => [
+ q(Cinda-Regi-Tiyal),
+ ],
+ q(1699) => [
+ q(Chadian Sign Language),
+ ],
+ q(1700) => [
+ q(Chadong),
+ ],
+ q(1701) => [
+ q(Koda),
+ ],
+ q(1702) => [
+ q(Lower Chehalis),
+ ],
+ q(1703) => [
+ q(Chamacoco),
+ ],
+ q(1704) => [
+ q(Cen),
+ ],
+ q(1705) => [
+ q(Centuum),
+ ],
+ q(1706) => [
+ q(Dijim-Bwilim),
+ ],
+ q(1707) => [
+ q(Cara),
+ ],
+ q(1708) => [
+ q(Como Karim),
+ ],
+ q(1709) => [
+ q(Falam Chin),
+ ],
+ q(1710) => [
+ q(Changriwa),
+ ],
+ q(1711) => [
+ q(Kagayanen),
+ ],
+ q(1712) => [
+ q(Chiga),
+ ],
+ q(1713) => [
+ q(Chocangacakha),
+ ],
+ q(1714) => [
+ q(Catawba),
+ ],
+ q(1715) => [
+ q(Highland Oaxaca Chontal),
+ ],
+ q(1716) => [
+ q(Tabasco Chontal),
+ ],
+ q(1717) => [
+ q(Chinook),
+ ],
+ q(1718) => [
+ q(Ojitlan Chinantec),
+ ],
+ q(1719) => [
+ q(Cahuilla),
+ ],
+ q(1720) => [
+ q(Quiotepec Chinantec),
+ ],
+ q(1721) => [
+ q(Cholon),
+ ],
+ q(1722) => [
+ q(Chuwabu),
+ ],
+ q(1723) => [
+ q(Chantyal),
+ ],
+ q(1724) => [
+ q(Ozumacin Chinantec),
+ ],
+ q(1725) => [
+ q(Cia-Cia),
+ ],
+ q(1726) => [
+ q(Ci Gbe),
+ ],
+ q(1727) => [
+ q(Chickasaw),
+ ],
+ q(1728) => [
+ q(Chimariko),
+ ],
+ q(1729) => [
+ q(Cineni),
+ ],
+ q(1730) => [
+ q(Chinali),
+ ],
+ q(1731) => [
+ q(Chitkuli Kinnauri),
+ ],
+ q(1732) => [
+ q(Cimbrian),
+ ],
+ q(1733) => [
+ q(Cinta Larga),
+ ],
+ q(1734) => [
+ q(Chiapanec),
+ ],
+ q(1735) => [
+ q(Tiri),
+ ],
+ q(1736) => [
+ q(Chippewa),
+ ],
+ q(1737) => [
+ q(Chaima),
+ ],
+ q(1738) => [
+ q(Western Cham),
+ ],
+ q(1739) => [
+ q(Chru),
+ ],
+ q(1740) => [
+ q(Upper Chehalis),
+ ],
+ q(1741) => [
+ q(Chamalal),
+ ],
+ q(1742) => [
+ q(Chokwe),
+ ],
+ q(1743) => [
+ q(Eastern Cham),
+ ],
+ q(1744) => [
+ q(Chenapian),
+ ],
+ q(1745) => [
+ q(Asheninka Pajonal),
+ ],
+ q(1746) => [
+ q(Cabecar),
+ ],
+ q(1747) => [
+ q(Shor),
+ ],
+ q(1748) => [
+ q(Chuave),
+ ],
+ q(1749) => [
+ q(Jinyu Chinese),
+ ],
+ q(1750) => [
+ q(Khumi Awa Chin),
+ ],
+ q(1751) => [
+ q(Central Kurdish),
+ ],
+ q(1752) => [
+ q(Chak),
+ ],
+ q(1753) => [
+ q(Cibak),
+ ],
+ q(1754) => [
+ q(Anufo),
+ ],
+ q(1755) => [
+ q(Kajakse),
+ ],
+ q(1756) => [
+ q(Kairak),
+ ],
+ q(1757) => [
+ q(Tayo),
+ ],
+ q(1758) => [
+ q(Chukot),
+ ],
+ q(1759) => [
+ q(Koasati),
+ ],
+ q(1760) => [
+ q(Kavalan),
+ ],
+ q(1761) => [
+ q(Caka),
+ ],
+ q(1762) => [
+ q(Cakfem-Mushere),
+ ],
+ q(1763) => [
+ q(Cakchiquel-Quiche Mixed Language),
+ ],
+ q(1764) => [
+ q(Ron),
+ ],
+ q(1765) => [
+ q(Chilcotin),
+ ],
+ q(1766) => [
+ q(Chaldean Neo-Aramaic),
+ ],
+ q(1767) => [
+ q(Lealao Chinantec),
+ ],
+ q(1768) => [
+ q(Chilisso),
+ ],
+ q(1769) => [
+ q(Chakali),
+ ],
+ q(1770) => [
+ q(Idu-Mishmi),
+ ],
+ q(1771) => [
+ q(Chala),
+ ],
+ q(1772) => [
+ q(Clallam),
+ ],
+ q(1773) => [
+ q(Lowland Oaxaca Chontal),
+ ],
+ q(1774) => [
+ q(Caluyanun),
+ ],
+ q(1775) => [
+ q(Chulym),
+ ],
+ q(1776) => [
+ q(Eastern Highland Chatino),
+ ],
+ q(1777) => [
+ q(Maa),
+ ],
+ q(1778) => [
+ q(Cerma),
+ ],
+ q(1779) => [
+ q(Classical Mongolian),
+ ],
+ q(1780) => [
+ q(Embera-Chami),
+ ],
+ q(1781) => [
+ q(Campalagian),
+ ],
+ q(1782) => [
+ q(Michigamea),
+ ],
+ q(1783) => [
+ q(Mandarin Chinese),
+ ],
+ q(1784) => [
+ q(Central Mnong),
+ ],
+ q(1785) => [
+ q(Mro Chin),
+ ],
+ q(1786) => [
+ q(Messapic),
+ ],
+ q(1787) => [
+ q(Camtho),
+ ],
+ q(1788) => [
+ q(Changthang),
+ ],
+ q(1789) => [
+ q(Chinbon Chin),
+ ],
+ q(1790) => [
+ q(Coong),
+ ],
+ q(1791) => [
+ q(Northern Qiang),
+ ],
+ q(1792) => [
+ q(Haka Chin),
+ ],
+ q(1793) => [
+ q(Ashaninka),
+ ],
+ q(1794) => [
+ q(Khumi Chin),
+ ],
+ q(1795) => [
+ q(Lalana Chinantec),
+ ],
+ q(1796) => [
+ q(Con),
+ ],
+ q(1797) => [
+ q(Central Asmat),
+ ],
+ q(1798) => [
+ q(Tepetotutla Chinantec),
+ ],
+ q(1799) => [
+ q(Chenoua),
+ ],
+ q(1800) => [
+ q(Ngawn Chin),
+ ],
+ q(1801) => [
+ q(Middle Cornish),
+ ],
+ q(1802) => [
+ q(Cocos Islands Malay),
+ ],
+ q(1803) => [
+ q(Chicomuceltec),
+ ],
+ q(1804) => [
+ q(Cocopa),
+ ],
+ q(1805) => [
+ q(Cocama-Cocamilla),
+ ],
+ q(1806) => [
+ q(Koreguaje),
+ ],
+ q(1807) => [
+ q(Colorado),
+ ],
+ q(1808) => [
+ q(Chong),
+ ],
+ q(1809) => [
+ q(Chonyi-Dzihana-Kauma),
+ q(Chichonyi-Chidzihana-Chikauma),
+ ],
+ q(1810) => [
+ q(Cochimi),
+ ],
+ q(1811) => [
+ q(Santa Teresa Cora),
+ ],
+ q(1812) => [
+ q(Columbia-Wenatchi),
+ ],
+ q(1813) => [
+ q(Comanche),
+ ],
+ q(1814) => [
+ q(Cofan),
+ ],
+ q(1815) => [
+ q(Comox),
+ ],
+ q(1816) => [
+ q(Coquille),
+ ],
+ q(1817) => [
+ q(Caquinte),
+ ],
+ q(1818) => [
+ q(Wamey),
+ ],
+ q(1819) => [
+ q(Cao Miao),
+ ],
+ q(1820) => [
+ q(Cowlitz),
+ ],
+ q(1821) => [
+ q(Nanti),
+ ],
+ q(1822) => [
+ q(Coyaima),
+ ],
+ q(1823) => [
+ q(Chochotec),
+ ],
+ q(1824) => [
+ q(Palantla Chinantec),
+ ],
+ q(1825) => [
+ q(Ucayali-Yurua Asheninka),
+ ],
+ q(1826) => [
+ q(Ajyininka Apurucayali),
+ ],
+ q(1827) => [
+ q(Cappadocian Greek),
+ ],
+ q(1828) => [
+ q(Chinese Pidgin English),
+ ],
+ q(1829) => [
+ q(Cherepon),
+ ],
+ q(1830) => [
+ q(Capiznon),
+ ],
+ q(1831) => [
+ q(Pichis Asheninka),
+ ],
+ q(1832) => [
+ q(Pu-Xian Chinese),
+ ],
+ q(1833) => [
+ q(South Ucayali Asheninka),
+ ],
+ q(1834) => [
+ q(Chuanqiandian Cluster Miao),
+ ],
+ q(1835) => [
+ q(Chilean Quechua),
+ ],
+ q(1836) => [
+ q(Chara),
+ ],
+ q(1837) => [
+ q(Island Carib),
+ ],
+ q(1838) => [
+ q(Lonwolwol),
+ ],
+ q(1839) => [
+ q(Coeur d'Alene),
+ ],
+ q(1840) => [
+ q(Caramanta),
+ ],
+ q(1841) => [
+ q(Michif),
+ ],
+ q(1842) => [
+ q(Saotomense),
+ ],
+ q(1843) => [
+ q(Southern East Cree),
+ ],
+ q(1844) => [
+ q(Plains Cree),
+ ],
+ q(1845) => [
+ q(Northern East Cree),
+ ],
+ q(1846) => [
+ q(Moose Cree),
+ ],
+ q(1847) => [
+ q(El Nayar Cora),
+ ],
+ q(1848) => [
+ q(Crow),
+ ],
+ q(1849) => [
+ q(Iyo'wujwa Chorote),
+ ],
+ q(1850) => [
+ q(Carolina Algonquian),
+ ],
+ q(1851) => [
+ q(Seselwa Creole French),
+ ],
+ q(1852) => [
+ q(Iyojwa'ja Chorote),
+ ],
+ q(1853) => [
+ q(Chaura),
+ ],
+ q(1854) => [
+ q(Chrau),
+ ],
+ q(1855) => [
+ q(Carrier),
+ ],
+ q(1856) => [
+ q(Cori),
+ ],
+ q(1857) => [
+ q(Cruzeno),
+ ],
+ q(1858) => [
+ q(Chiltepec Chinantec),
+ ],
+ q(1859) => [
+ q(Catalan Sign Language),
+ q(Lengua de senas catalana),
+ q(Llengua de Signes Catalana),
+ ],
+ q(1860) => [
+ q(Chiangmai Sign Language),
+ ],
+ q(1861) => [
+ q(Czech Sign Language),
+ ],
+ q(1862) => [
+ q(Cuba Sign Language),
+ ],
+ q(1863) => [
+ q(Chilean Sign Language),
+ ],
+ q(1864) => [
+ q(Asho Chin),
+ ],
+ q(1865) => [
+ q(Coast Miwok),
+ ],
+ q(1866) => [
+ q(Jola-Kasa),
+ ],
+ q(1867) => [
+ q(Chinese Sign Language),
+ ],
+ q(1868) => [
+ q(Central Sierra Miwok),
+ ],
+ q(1869) => [
+ q(Colombian Sign Language),
+ ],
+ q(1870) => [
+ q(Sochiapam Chinantec),
+ q(Sochiapan Chinantec),
+ ],
+ q(1871) => [
+ q(Croatia Sign Language),
+ ],
+ q(1872) => [
+ q(Costa Rican Sign Language),
+ ],
+ q(1873) => [
+ q(Southern Ohlone),
+ ],
+ q(1874) => [
+ q(Northern Ohlone),
+ ],
+ q(1875) => [
+ q(Swampy Cree),
+ ],
+ q(1876) => [
+ q(Siyin Chin),
+ ],
+ q(1877) => [
+ q(Coos),
+ ],
+ q(1878) => [
+ q(Tataltepec Chatino),
+ ],
+ q(1879) => [
+ q(Chetco),
+ ],
+ q(1880) => [
+ q(Tedim Chin),
+ ],
+ q(1881) => [
+ q(Tepinapa Chinantec),
+ ],
+ q(1882) => [
+ q(Chittagonian),
+ ],
+ q(1883) => [
+ q(Tlacoatzintepec Chinantec),
+ ],
+ q(1884) => [
+ q(Chitimacha),
+ ],
+ q(1885) => [
+ q(Chhintange),
+ ],
+ q(1886) => [
+ q(Embera-Catio),
+ ],
+ q(1887) => [
+ q(Western Highland Chatino),
+ ],
+ q(1888) => [
+ q(Northern Catanduanes Bicolano),
+ ],
+ q(1889) => [
+ q(Wayanad Chetti),
+ ],
+ q(1890) => [
+ q(Chol),
+ ],
+ q(1891) => [
+ q(Zacatepec Chatino),
+ ],
+ q(1892) => [
+ q(Cua),
+ ],
+ q(1893) => [
+ q(Cubeo),
+ ],
+ q(1894) => [
+ q(Usila Chinantec),
+ ],
+ q(1895) => [
+ q(Cung),
+ ],
+ q(1896) => [
+ q(Chuka),
+ q(Gichuka),
+ ],
+ q(1897) => [
+ q(Cuiba),
+ ],
+ q(1898) => [
+ q(Mashco Piro),
+ ],
+ q(1899) => [
+ q(San Blas Kuna),
+ ],
+ q(1900) => [
+ q(Culina),
+ q(Kulina),
+ ],
+ q(1901) => [
+ q(Cumeral),
+ ],
+ q(1902) => [
+ q(Cumanagoto),
+ ],
+ q(1903) => [
+ q(Cupeno),
+ ],
+ q(1904) => [
+ q(Cun),
+ ],
+ q(1905) => [
+ q(Chhulung),
+ ],
+ q(1906) => [
+ q(Teutila Cuicatec),
+ ],
+ q(1907) => [
+ q(Tai Ya),
+ ],
+ q(1908) => [
+ q(Cuvok),
+ ],
+ q(1909) => [
+ q(Chukwa),
+ ],
+ q(1910) => [
+ q(Tepeuxila Cuicatec),
+ ],
+ q(1911) => [
+ q(Chug),
+ ],
+ q(1912) => [
+ q(Valle Nacional Chinantec),
+ ],
+ q(1913) => [
+ q(Kabwa),
+ ],
+ q(1914) => [
+ q(Maindo),
+ ],
+ q(1915) => [
+ q(Woods Cree),
+ ],
+ q(1916) => [
+ q(Kwere),
+ ],
+ q(1917) => [
+ q(Chewong),
+ q(Cheq Wong),
+ ],
+ q(1918) => [
+ q(Kuwaataay),
+ ],
+ q(1919) => [
+ q(Nopala Chatino),
+ ],
+ q(1920) => [
+ q(Cayubaba),
+ ],
+ q(1921) => [
+ q(Cuyonon),
+ ],
+ q(1922) => [
+ q(Huizhou Chinese),
+ ],
+ q(1923) => [
+ q(Knaanic),
+ ],
+ q(1924) => [
+ q(Zenzontepec Chatino),
+ ],
+ q(1925) => [
+ q(Min Zhong Chinese),
+ ],
+ q(1926) => [
+ q(Zotung Chin),
+ ],
+ q(1927) => [
+ q(Dangaleat),
+ ],
+ q(1928) => [
+ q(Dambi),
+ ],
+ q(1929) => [
+ q(Marik),
+ ],
+ q(1930) => [
+ q(Duupa),
+ ],
+ q(1931) => [
+ q(Dan),
+ ],
+ q(1932) => [
+ q(Dagbani),
+ ],
+ q(1933) => [
+ q(Gwahatike),
+ ],
+ q(1934) => [
+ q(Day),
+ ],
+ q(1935) => [
+ q(Dar Fur Daju),
+ ],
+ q(1936) => [
+ q(Dahalo),
+ ],
+ q(1937) => [
+ q(Damakawa),
+ ],
+ q(1938) => [
+ q(Daai Chin),
+ ],
+ q(1939) => [
+ q(Nisi (India)),
+ ],
+ q(1940) => [
+ q(Dandami Maria),
+ ],
+ q(1941) => [
+ q(Daho-Doo),
+ ],
+ q(1942) => [
+ q(Dar Sila Daju),
+ ],
+ q(1943) => [
+ q(Taita),
+ q(Dawida),
+ ],
+ q(1944) => [
+ q(Davawenyo),
+ ],
+ q(1945) => [
+ q(Dayi),
+ ],
+ q(1946) => [
+ q(Dao),
+ ],
+ q(1947) => [
+ q(Bangi Me),
+ ],
+ q(1948) => [
+ q(Deno),
+ ],
+ q(1949) => [
+ q(Dadiya),
+ ],
+ q(1950) => [
+ q(Dabe),
+ ],
+ q(1951) => [
+ q(Edopi),
+ ],
+ q(1952) => [
+ q(Dogul Dom Dogon),
+ ],
+ q(1953) => [
+ q(Doka),
+ ],
+ q(1954) => [
+ q(Ida'an),
+ ],
+ q(1955) => [
+ q(Dyirbal),
+ ],
+ q(1956) => [
+ q(Duguri),
+ ],
+ q(1957) => [
+ q(Duriankere),
+ ],
+ q(1958) => [
+ q(Dulbu),
+ ],
+ q(1959) => [
+ q(Duwai),
+ ],
+ q(1960) => [
+ q(Daba),
+ ],
+ q(1961) => [
+ q(Dabarre),
+ ],
+ q(1962) => [
+ q(Bondum Dom Dogon),
+ ],
+ q(1963) => [
+ q(Dungu),
+ ],
+ q(1964) => [
+ q(Dibiyaso),
+ ],
+ q(1965) => [
+ q(Deccan),
+ ],
+ q(1966) => [
+ q(Negerhollands),
+ ],
+ q(1967) => [
+ q(Dongotono),
+ ],
+ q(1968) => [
+ q(Doondo),
+ ],
+ q(1969) => [
+ q(Fataluku),
+ ],
+ q(1970) => [
+ q(West Goodenough),
+ ],
+ q(1971) => [
+ q(Jaru),
+ ],
+ q(1972) => [
+ q(Dendi (Benin)),
+ ],
+ q(1973) => [
+ q(Dido),
+ ],
+ q(1974) => [
+ q(Donno So Dogon),
+ ],
+ q(1975) => [
+ q(Dawera-Daweloor),
+ ],
+ q(1976) => [
+ q(Dagik),
+ ],
+ q(1977) => [
+ q(Dedua),
+ ],
+ q(1978) => [
+ q(Dewoin),
+ ],
+ q(1979) => [
+ q(Dezfuli),
+ ],
+ q(1980) => [
+ q(Degema),
+ ],
+ q(1981) => [
+ q(Dehwari),
+ ],
+ q(1982) => [
+ q(Demisa),
+ ],
+ q(1983) => [
+ q(Dek),
+ ],
+ q(1984) => [
+ q(Dem),
+ ],
+ q(1985) => [
+ q(Pidgin Delaware),
+ ],
+ q(1986) => [
+ q(Dendi (Central African Republic)),
+ ],
+ q(1987) => [
+ q(Deori),
+ ],
+ q(1988) => [
+ q(Desano),
+ ],
+ q(1989) => [
+ q(Domung),
+ ],
+ q(1990) => [
+ q(Dengese),
+ ],
+ q(1991) => [
+ q(Southern Dagaare),
+ ],
+ q(1992) => [
+ q(Bunoge Dogon),
+ ],
+ q(1993) => [
+ q(Casiguran Dumagat Agta),
+ ],
+ q(1994) => [
+ q(Dagaari Dioula),
+ ],
+ q(1995) => [
+ q(Degenan),
+ ],
+ q(1996) => [
+ q(Doga),
+ ],
+ q(1997) => [
+ q(Dghwede),
+ ],
+ q(1998) => [
+ q(Northern Dagara),
+ ],
+ q(1999) => [
+ q(Dagba),
+ ],
+ q(2000) => [
+ q(Dagoman),
+ ],
+ q(2001) => [
+ q(Dogri (individual language)),
+ ],
+ q(2002) => [
+ q(Dogoso),
+ ],
+ q(2003) => [
+ q(Degaru),
+ ],
+ q(2004) => [
+ q(Doghoro),
+ ],
+ q(2005) => [
+ q(Daga),
+ ],
+ q(2006) => [
+ q(Dhundari),
+ ],
+ q(2007) => [
+ q(Dhangu),
+ ],
+ q(2008) => [
+ q(Dhimal),
+ ],
+ q(2009) => [
+ q(Dhalandji),
+ ],
+ q(2010) => [
+ q(Zemba),
+ ],
+ q(2011) => [
+ q(Dhanki),
+ ],
+ q(2012) => [
+ q(Dhodia),
+ ],
+ q(2013) => [
+ q(Dhargari),
+ ],
+ q(2014) => [
+ q(Dhaiso),
+ ],
+ q(2015) => [
+ q(Dhurga),
+ ],
+ q(2016) => [
+ q(Dehu),
+ ],
+ q(2017) => [
+ q(Dhanwar (Nepal)),
+ ],
+ q(2018) => [
+ q(Dia),
+ ],
+ q(2019) => [
+ q(South Central Dinka),
+ ],
+ q(2020) => [
+ q(Lakota Dida),
+ ],
+ q(2021) => [
+ q(Didinga),
+ ],
+ q(2022) => [
+ q(Dieri),
+ ],
+ q(2023) => [
+ q(Digo),
+ q(Chidigo),
+ ],
+ q(2024) => [
+ q(Kumiai),
+ ],
+ q(2025) => [
+ q(Dimbong),
+ ],
+ q(2026) => [
+ q(Dai),
+ ],
+ q(2027) => [
+ q(Southwestern Dinka),
+ ],
+ q(2028) => [
+ q(Dilling),
+ ],
+ q(2029) => [
+ q(Dime),
+ ],
+ q(2030) => [
+ q(Dibo),
+ ],
+ q(2031) => [
+ q(Northeastern Dinka),
+ ],
+ q(2032) => [
+ q(Dimli (individual language)),
+ ],
+ q(2033) => [
+ q(Dirim),
+ ],
+ q(2034) => [
+ q(Dimasa),
+ ],
+ q(2035) => [
+ q(Dirari),
+ ],
+ q(2036) => [
+ q(Diriku),
+ ],
+ q(2037) => [
+ q(Northwestern Dinka),
+ ],
+ q(2038) => [
+ q(Dixon Reef),
+ ],
+ q(2039) => [
+ q(Diuwe),
+ ],
+ q(2040) => [
+ q(Ding),
+ ],
+ q(2041) => [
+ q(Djinba),
+ ],
+ q(2042) => [
+ q(Dar Daju Daju),
+ ],
+ q(2043) => [
+ q(Djamindjung),
+ ],
+ q(2044) => [
+ q(Zarma),
+ ],
+ q(2045) => [
+ q(Djangun),
+ ],
+ q(2046) => [
+ q(Djinang),
+ ],
+ q(2047) => [
+ q(Djeebbana),
+ ],
+ q(2048) => [
+ q(Eastern Maroon Creole),
+ q(Businenge Tongo),
+ q(Nenge),
+ ],
+ q(2049) => [
+ q(Djiwarli),
+ ],
+ q(2050) => [
+ q(Jamsay Dogon),
+ ],
+ q(2051) => [
+ q(Djauan),
+ ],
+ q(2052) => [
+ q(Jangkang),
+ ],
+ q(2053) => [
+ q(Djambarrpuyngu),
+ ],
+ q(2054) => [
+ q(Kapriman),
+ ],
+ q(2055) => [
+ q(Djawi),
+ ],
+ q(2056) => [
+ q(Dakpakha),
+ ],
+ q(2057) => [
+ q(Dakka),
+ ],
+ q(2058) => [
+ q(Kuijau),
+ ],
+ q(2059) => [
+ q(Southeastern Dinka),
+ ],
+ q(2060) => [
+ q(Mazagway),
+ ],
+ q(2061) => [
+ q(Dolgan),
+ ],
+ q(2062) => [
+ q(Dalmatian),
+ ],
+ q(2063) => [
+ q(Darlong),
+ ],
+ q(2064) => [
+ q(Duma),
+ ],
+ q(2065) => [
+ q(Mombo Dogon),
+ ],
+ q(2066) => [
+ q(Dimir),
+ ],
+ q(2067) => [
+ q(Dugwor),
+ ],
+ q(2068) => [
+ q(Upper Kinabatangan),
+ ],
+ q(2069) => [
+ q(Domaaki),
+ ],
+ q(2070) => [
+ q(Dameli),
+ ],
+ q(2071) => [
+ q(Dama),
+ ],
+ q(2072) => [
+ q(Kemezung),
+ ],
+ q(2073) => [
+ q(East Damar),
+ ],
+ q(2074) => [
+ q(Dampelas),
+ ],
+ q(2075) => [
+ q(Dubu),
+ q(Tebi),
+ ],
+ q(2076) => [
+ q(Dumpas),
+ ],
+ q(2077) => [
+ q(Dema),
+ ],
+ q(2078) => [
+ q(Demta),
+ q(Sowari),
+ ],
+ q(2079) => [
+ q(Upper Grand Valley Dani),
+ ],
+ q(2080) => [
+ q(Daonda),
+ ],
+ q(2081) => [
+ q(Ndendeule),
+ ],
+ q(2082) => [
+ q(Dungan),
+ ],
+ q(2083) => [
+ q(Lower Grand Valley Dani),
+ ],
+ q(2084) => [
+ q(Dengka),
+ ],
+ q(2085) => [
+ q(Dzuungoo),
+ ],
+ q(2086) => [
+ q(Danaru),
+ ],
+ q(2087) => [
+ q(Mid Grand Valley Dani),
+ ],
+ q(2088) => [
+ q(Danau),
+ ],
+ q(2089) => [
+ q(Western Dani),
+ ],
+ q(2090) => [
+ q(Deni),
+ ],
+ q(2091) => [
+ q(Dom),
+ ],
+ q(2092) => [
+ q(Dobu),
+ ],
+ q(2093) => [
+ q(Northern Dong),
+ ],
+ q(2094) => [
+ q(Doe),
+ ],
+ q(2095) => [
+ q(Domu),
+ ],
+ q(2096) => [
+ q(Dong),
+ ],
+ q(2097) => [
+ q(Dondo),
+ ],
+ q(2098) => [
+ q(Doso),
+ ],
+ q(2099) => [
+ q(Toura (Papua New Guinea)),
+ ],
+ q(2100) => [
+ q(Dongo),
+ ],
+ q(2101) => [
+ q(Lukpa),
+ ],
+ q(2102) => [
+ q(Dominican Sign Language),
+ ],
+ q(2103) => [
+ q(Dori'o),
+ ],
+ q(2104) => [
+ q(Dogose),
+ ],
+ q(2105) => [
+ q(Dass),
+ ],
+ q(2106) => [
+ q(Dombe),
+ ],
+ q(2107) => [
+ q(Doyayo),
+ ],
+ q(2108) => [
+ q(Bussa),
+ ],
+ q(2109) => [
+ q(Dompo),
+ ],
+ q(2110) => [
+ q(Dorze),
+ ],
+ q(2111) => [
+ q(Papar),
+ ],
+ q(2112) => [
+ q(Dair),
+ ],
+ q(2113) => [
+ q(Minderico),
+ ],
+ q(2114) => [
+ q(Darmiya),
+ ],
+ q(2115) => [
+ q(Dolpo),
+ ],
+ q(2116) => [
+ q(Rungus),
+ ],
+ q(2117) => [
+ q(C'lela),
+ ],
+ q(2118) => [
+ q(Darling),
+ ],
+ q(2119) => [
+ q(West Damar),
+ ],
+ q(2120) => [
+ q(Daro-Matu Melanau),
+ ],
+ q(2121) => [
+ q(Dura),
+ ],
+ q(2122) => [
+ q(Dororo),
+ ],
+ q(2123) => [
+ q(Gedeo),
+ ],
+ q(2124) => [
+ q(Drents),
+ ],
+ q(2125) => [
+ q(Rukai),
+ ],
+ q(2126) => [
+ q(Darai),
+ ],
+ q(2127) => [
+ q(Dutch Sign Language),
+ ],
+ q(2128) => [
+ q(Daasanach),
+ ],
+ q(2129) => [
+ q(Disa),
+ ],
+ q(2130) => [
+ q(Danish Sign Language),
+ ],
+ q(2131) => [
+ q(Dusner),
+ ],
+ q(2132) => [
+ q(Desiya),
+ ],
+ q(2133) => [
+ q(Tadaksahak),
+ ],
+ q(2134) => [
+ q(Daur),
+ ],
+ q(2135) => [
+ q(Labuk-Kinabatangan Kadazan),
+ ],
+ q(2136) => [
+ q(Ditidaht),
+ ],
+ q(2137) => [
+ q(Ana Tinga Dogon),
+ ],
+ q(2138) => [
+ q(Tene Kan Dogon),
+ ],
+ q(2139) => [
+ q(Tomo Kan Dogon),
+ ],
+ q(2140) => [
+ q(Central Dusun),
+ ],
+ q(2141) => [
+ q(Lotud),
+ ],
+ q(2142) => [
+ q(Toro So Dogon),
+ ],
+ q(2143) => [
+ q(Toro Tegu Dogon),
+ ],
+ q(2144) => [
+ q(Tebul Ure Dogon),
+ ],
+ q(2145) => [
+ q(Dubli),
+ ],
+ q(2146) => [
+ q(Duna),
+ ],
+ q(2147) => [
+ q(Hun-Saare),
+ ],
+ q(2148) => [
+ q(Umiray Dumaget Agta),
+ ],
+ q(2149) => [
+ q(Dumbea),
+ ],
+ q(2150) => [
+ q(Duruma),
+ q(Chiduruma),
+ ],
+ q(2151) => [
+ q(Dungra Bhil),
+ ],
+ q(2152) => [
+ q(Dumun),
+ ],
+ q(2153) => [
+ q(Dhuwal),
+ ],
+ q(2154) => [
+ q(Uyajitaya),
+ ],
+ q(2155) => [
+ q(Alabat Island Agta),
+ ],
+ q(2156) => [
+ q(Dusun Deyah),
+ ],
+ q(2157) => [
+ q(Dupaninan Agta),
+ ],
+ q(2158) => [
+ q(Duano),
+ ],
+ q(2159) => [
+ q(Dusun Malang),
+ ],
+ q(2160) => [
+ q(Dii),
+ ],
+ q(2161) => [
+ q(Dumi),
+ ],
+ q(2162) => [
+ q(Drung),
+ ],
+ q(2163) => [
+ q(Duvle),
+ ],
+ q(2164) => [
+ q(Dusun Witu),
+ ],
+ q(2165) => [
+ q(Duungooma),
+ ],
+ q(2166) => [
+ q(Dicamay Agta),
+ ],
+ q(2167) => [
+ q(Duli),
+ ],
+ q(2168) => [
+ q(Duau),
+ ],
+ q(2169) => [
+ q(Diri),
+ ],
+ q(2170) => [
+ q(Walo Kumbe Dogon),
+ ],
+ q(2171) => [
+ q(Dawro),
+ ],
+ q(2172) => [
+ q(Dutton World Speedwords),
+ ],
+ q(2173) => [
+ q(Dawawa),
+ ],
+ q(2174) => [
+ q(Dyan),
+ ],
+ q(2175) => [
+ q(Dyaberdyaber),
+ ],
+ q(2176) => [
+ q(Dyugun),
+ ],
+ q(2177) => [
+ q(Villa Viciosa Agta),
+ ],
+ q(2178) => [
+ q(Djimini Senoufo),
+ ],
+ q(2179) => [
+ q(Yanda Dom Dogon),
+ ],
+ q(2180) => [
+ q(Dyangadi),
+ ],
+ q(2181) => [
+ q(Jola-Fonyi),
+ ],
+ q(2182) => [
+ q(Dyaabugay),
+ ],
+ q(2183) => [
+ q(Tunzu),
+ ],
+ q(2184) => [
+ q(Daza),
+ ],
+ q(2185) => [
+ q(Dazaga),
+ ],
+ q(2186) => [
+ q(Dzalakha),
+ ],
+ q(2187) => [
+ q(Dzando),
+ ],
+ q(2188) => [
+ q(Ebughu),
+ ],
+ q(2189) => [
+ q(Eastern Bontok),
+ ],
+ q(2190) => [
+ q(Teke-Ebo),
+ ],
+ q(2191) => [
+ q(Ebrie),
+ ],
+ q(2192) => [
+ q(Embu),
+ q(Kiembu),
+ ],
+ q(2193) => [
+ q(Eteocretan),
+ ],
+ q(2194) => [
+ q(Ecuadorian Sign Language),
+ ],
+ q(2195) => [
+ q(Eteocypriot),
+ ],
+ q(2196) => [
+ q(E),
+ ],
+ q(2197) => [
+ q(Efai),
+ ],
+ q(2198) => [
+ q(Efe),
+ ],
+ q(2199) => [
+ q(Ega),
+ ],
+ q(2200) => [
+ q(Emilian),
+ ],
+ q(2201) => [
+ q(Eggon),
+ ],
+ q(2202) => [
+ q(Ehueun),
+ ],
+ q(2203) => [
+ q(Eipomek),
+ ],
+ q(2204) => [
+ q(Eitiep),
+ ],
+ q(2205) => [
+ q(Askopan),
+ ],
+ q(2206) => [
+ q(Ejamat),
+ ],
+ q(2207) => [
+ q(Ekit),
+ ],
+ q(2208) => [
+ q(Ekari),
+ ],
+ q(2209) => [
+ q(Eki),
+ ],
+ q(2210) => [
+ q(Standard Estonian),
+ ],
+ q(2211) => [
+ q(Kol),
+ ],
+ q(2212) => [
+ q(Elip),
+ ],
+ q(2213) => [
+ q(Koti),
+ ],
+ q(2214) => [
+ q(Ekpeye),
+ ],
+ q(2215) => [
+ q(Yace),
+ ],
+ q(2216) => [
+ q(Eastern Kayah),
+ ],
+ q(2217) => [
+ q(Elepi),
+ ],
+ q(2218) => [
+ q(El Hugeirat),
+ ],
+ q(2219) => [
+ q(Nding),
+ ],
+ q(2220) => [
+ q(Elkei),
+ ],
+ q(2221) => [
+ q(Eleme),
+ ],
+ q(2222) => [
+ q(El Molo),
+ ],
+ q(2223) => [
+ q(Elpaputih),
+ ],
+ q(2224) => [
+ q(Elu),
+ ],
+ q(2225) => [
+ q(Emai-Iuleha-Ora),
+ ],
+ q(2226) => [
+ q(Embaloh),
+ ],
+ q(2227) => [
+ q(Emerillon),
+ ],
+ q(2228) => [
+ q(Eastern Meohang),
+ ],
+ q(2229) => [
+ q(Mussau-Emira),
+ ],
+ q(2230) => [
+ q(Eastern Maninkakan),
+ ],
+ q(2231) => [
+ q(Mamulique),
+ ],
+ q(2232) => [
+ q(Eman),
+ ],
+ q(2233) => [
+ q(Emok),
+ ],
+ q(2234) => [
+ q(Northern Embera),
+ ],
+ q(2235) => [
+ q(Pacific Gulf Yupik),
+ ],
+ q(2236) => [
+ q(Eastern Muria),
+ ],
+ q(2237) => [
+ q(Emplawas),
+ ],
+ q(2238) => [
+ q(Erromintxela),
+ ],
+ q(2239) => [
+ q(Epigraphic Mayan),
+ ],
+ q(2240) => [
+ q(Apali),
+ ],
+ q(2241) => [
+ q(Markweeta),
+ ],
+ q(2242) => [
+ q(En),
+ ],
+ q(2243) => [
+ q(Ende),
+ ],
+ q(2244) => [
+ q(Forest Enets),
+ ],
+ q(2245) => [
+ q(Tundra Enets),
+ ],
+ q(2246) => [
+ q(Engenni),
+ ],
+ q(2247) => [
+ q(Enggano),
+ ],
+ q(2248) => [
+ q(Enga),
+ ],
+ q(2249) => [
+ q(Emumu),
+ q(Emem),
+ ],
+ q(2250) => [
+ q(Enu),
+ ],
+ q(2251) => [
+ q(Enwan (Edu State)),
+ ],
+ q(2252) => [
+ q(Enwan (Akwa Ibom State)),
+ ],
+ q(2253) => [
+ q(Beti (Cote d'Ivoire)),
+ ],
+ q(2254) => [
+ q(Epie),
+ ],
+ q(2255) => [
+ q(Eravallan),
+ ],
+ q(2256) => [
+ q(Sie),
+ ],
+ q(2257) => [
+ q(Eruwa),
+ ],
+ q(2258) => [
+ q(Ogea),
+ ],
+ q(2259) => [
+ q(South Efate),
+ ],
+ q(2260) => [
+ q(Horpa),
+ ],
+ q(2261) => [
+ q(Erre),
+ ],
+ q(2262) => [
+ q(Ersu),
+ ],
+ q(2263) => [
+ q(Eritai),
+ ],
+ q(2264) => [
+ q(Erokwanas),
+ ],
+ q(2265) => [
+ q(Ese Ejja),
+ ],
+ q(2266) => [
+ q(Eshtehardi),
+ ],
+ q(2267) => [
+ q(North Alaskan Inupiatun),
+ ],
+ q(2268) => [
+ q(Northwest Alaska Inupiatun),
+ ],
+ q(2269) => [
+ q(Egypt Sign Language),
+ ],
+ q(2270) => [
+ q(Esuma),
+ ],
+ q(2271) => [
+ q(Salvadoran Sign Language),
+ ],
+ q(2272) => [
+ q(Estonian Sign Language),
+ ],
+ q(2273) => [
+ q(Esselen),
+ ],
+ q(2274) => [
+ q(Central Siberian Yupik),
+ ],
+ q(2275) => [
+ q(Central Yupik),
+ ],
+ q(2276) => [
+ q(Etebi),
+ ],
+ q(2277) => [
+ q(Etchemin),
+ ],
+ q(2278) => [
+ q(Ethiopian Sign Language),
+ ],
+ q(2279) => [
+ q(Eton (Vanuatu)),
+ ],
+ q(2280) => [
+ q(Eton (Cameroon)),
+ ],
+ q(2281) => [
+ q(Edolo),
+ ],
+ q(2282) => [
+ q(Yekhee),
+ ],
+ q(2283) => [
+ q(Etruscan),
+ ],
+ q(2284) => [
+ q(Ejagham),
+ ],
+ q(2285) => [
+ q(Eten),
+ ],
+ q(2286) => [
+ q(Semimi),
+ ],
+ q(2287) => [
+ q(Even),
+ ],
+ q(2288) => [
+ q(Uvbie),
+ ],
+ q(2289) => [
+ q(Evenki),
+ ],
+ q(2290) => [
+ q(Extremaduran),
+ ],
+ q(2291) => [
+ q(Eyak),
+ ],
+ q(2292) => [
+ q(Keiyo),
+ ],
+ q(2293) => [
+ q(Uzekwe),
+ ],
+ q(2294) => [
+ q(Fasu),
+ ],
+ q(2295) => [
+ q(Fa D'ambu),
+ ],
+ q(2296) => [
+ q(Wagi),
+ ],
+ q(2297) => [
+ q(Fagani),
+ ],
+ q(2298) => [
+ q(Finongan),
+ ],
+ q(2299) => [
+ q(Baissa Fali),
+ ],
+ q(2300) => [
+ q(Faiwol),
+ ],
+ q(2301) => [
+ q(Faita),
+ ],
+ q(2302) => [
+ q(Fang (Cameroon)),
+ ],
+ q(2303) => [
+ q(South Fali),
+ ],
+ q(2304) => [
+ q(Fam),
+ ],
+ q(2305) => [
+ q(Palor),
+ ],
+ q(2306) => [
+ q(Fataleka),
+ ],
+ q(2307) => [
+ q(Fayu),
+ ],
+ q(2308) => [
+ q(Fala),
+ ],
+ q(2309) => [
+ q(Southwestern Fars),
+ ],
+ q(2310) => [
+ q(Northwestern Fars),
+ ],
+ q(2311) => [
+ q(West Albay Bikol),
+ ],
+ q(2312) => [
+ q(Quebec Sign Language),
+ ],
+ q(2313) => [
+ q(Feroge),
+ ],
+ q(2314) => [
+ q(Foia Foia),
+ ],
+ q(2315) => [
+ q(Maasina Fulfulde),
+ ],
+ q(2316) => [
+ q(Fongoro),
+ ],
+ q(2317) => [
+ q(Nobiin),
+ ],
+ q(2318) => [
+ q(Fyer),
+ ],
+ q(2319) => [
+ q(Fipa),
+ ],
+ q(2320) => [
+ q(Firan),
+ ],
+ q(2321) => [
+ q(Tornedalen Finnish),
+ ],
+ q(2322) => [
+ q(Fiwaga),
+ ],
+ q(2323) => [
+ q(Kven Finnish),
+ ],
+ q(2324) => [
+ q(Kalispel-Pend d'Oreille),
+ ],
+ q(2325) => [
+ q(Foau),
+ ],
+ q(2326) => [
+ q(Fali),
+ ],
+ q(2327) => [
+ q(North Fali),
+ ],
+ q(2328) => [
+ q(Flinders Island),
+ ],
+ q(2329) => [
+ q(Fuliiru),
+ ],
+ q(2330) => [
+ q(Tsotsitaal),
+ ],
+ q(2331) => [
+ q(Fe'fe'),
+ ],
+ q(2332) => [
+ q(Far Western Muria),
+ ],
+ q(2333) => [
+ q(Fanagalo),
+ ],
+ q(2334) => [
+ q(Fania),
+ ],
+ q(2335) => [
+ q(Foodo),
+ ],
+ q(2336) => [
+ q(Foi),
+ ],
+ q(2337) => [
+ q(Foma),
+ ],
+ q(2338) => [
+ q(Fore),
+ ],
+ q(2339) => [
+ q(Siraya),
+ ],
+ q(2340) => [
+ q(Fernando Po Creole English),
+ ],
+ q(2341) => [
+ q(Fas),
+ ],
+ q(2342) => [
+ q(Cajun French),
+ ],
+ q(2343) => [
+ q(Fordata),
+ ],
+ q(2344) => [
+ q(Frankish),
+ ],
+ q(2345) => [
+ q(Arpitan),
+ q(Francoprovencal),
+ ],
+ q(2346) => [
+ q(Forak),
+ ],
+ q(2347) => [
+ q(Fortsenal),
+ ],
+ q(2348) => [
+ q(Finnish Sign Language),
+ ],
+ q(2349) => [
+ q(French Sign Language),
+ ],
+ q(2350) => [
+ q(Finland-Swedish Sign Language),
+ q(finlandssvenskt teckensprak),
+ q(suomenruotsalainen viittomakieli),
+ ],
+ q(2351) => [
+ q(Adamawa Fulfulde),
+ ],
+ q(2352) => [
+ q(Pulaar),
+ ],
+ q(2353) => [
+ q(East Futuna),
+ ],
+ q(2354) => [
+ q(Borgu Fulfulde),
+ ],
+ q(2355) => [
+ q(Pular),
+ ],
+ q(2356) => [
+ q(Western Niger Fulfulde),
+ ],
+ q(2357) => [
+ q(Bagirmi Fulfulde),
+ ],
+ q(2358) => [
+ q(Ko),
+ ],
+ q(2359) => [
+ q(Fum),
+ ],
+ q(2360) => [
+ q(Fulnio),
+ ],
+ q(2361) => [
+ q(Central-Eastern Niger Fulfulde),
+ ],
+ q(2362) => [
+ q(Futuna-Aniwa),
+ ],
+ q(2363) => [
+ q(Furu),
+ ],
+ q(2364) => [
+ q(Nigerian Fulfulde),
+ ],
+ q(2365) => [
+ q(Fuyug),
+ ],
+ q(2366) => [
+ q(Fur),
+ ],
+ q(2367) => [
+ q(Fwai),
+ ],
+ q(2368) => [
+ q(Fwe),
+ ],
+ q(2369) => [
+ q(Gabri),
+ ],
+ q(2370) => [
+ q(Mixed Great Andamanese),
+ ],
+ q(2371) => [
+ q(Gaddang),
+ ],
+ q(2372) => [
+ q(Guarequena),
+ ],
+ q(2373) => [
+ q(Gende),
+ ],
+ q(2374) => [
+ q(Gagauz),
+ ],
+ q(2375) => [
+ q(Alekano),
+ ],
+ q(2376) => [
+ q(Borei),
+ ],
+ q(2377) => [
+ q(Gadsup),
+ ],
+ q(2378) => [
+ q(Gamkonora),
+ ],
+ q(2379) => [
+ q(Galoli),
+ ],
+ q(2380) => [
+ q(Kandawo),
+ ],
+ q(2381) => [
+ q(Gan Chinese),
+ ],
+ q(2382) => [
+ q(Gants),
+ ],
+ q(2383) => [
+ q(Gal),
+ ],
+ q(2384) => [
+ q(Gata'),
+ ],
+ q(2385) => [
+ q(Galeya),
+ ],
+ q(2386) => [
+ q(Adiwasi Garasia),
+ ],
+ q(2387) => [
+ q(Kenati),
+ ],
+ q(2388) => [
+ q(Mudhili Gadaba),
+ ],
+ q(2389) => [
+ q(Nobonob),
+ ],
+ q(2390) => [
+ q(Borana-Arsi-Guji Oromo),
+ ],
+ q(2391) => [
+ q(West Central Oromo),
+ ],
+ q(2392) => [
+ q(Kaytetye),
+ ],
+ q(2393) => [
+ q(Garawa),
+ ],
+ q(2394) => [
+ q(Karadjeri),
+ ],
+ q(2395) => [
+ q(Niksek),
+ ],
+ q(2396) => [
+ q(Gaikundi),
+ ],
+ q(2397) => [
+ q(Gbanziri),
+ ],
+ q(2398) => [
+ q(Defi Gbe),
+ ],
+ q(2399) => [
+ q(Galela),
+ ],
+ q(2400) => [
+ q(Bodo Gadaba),
+ ],
+ q(2401) => [
+ q(Gaddi),
+ ],
+ q(2402) => [
+ q(Gamit),
+ ],
+ q(2403) => [
+ q(Garhwali),
+ ],
+ q(2404) => [
+ q(Mo'da),
+ ],
+ q(2405) => [
+ q(Northern Grebo),
+ ],
+ q(2406) => [
+ q(Gbaya-Bossangoa),
+ ],
+ q(2407) => [
+ q(Gbaya-Bozoum),
+ ],
+ q(2408) => [
+ q(Gbagyi),
+ ],
+ q(2409) => [
+ q(Gbesi Gbe),
+ ],
+ q(2410) => [
+ q(Gagadu),
+ ],
+ q(2411) => [
+ q(Gbanu),
+ ],
+ q(2412) => [
+ q(Eastern Xwla Gbe),
+ ],
+ q(2413) => [
+ q(Gbari),
+ ],
+ q(2414) => [
+ q(Zoroastrian Dari),
+ ],
+ q(2415) => [
+ q(Mali),
+ ],
+ q(2416) => [
+ q(Ganggalida),
+ ],
+ q(2417) => [
+ q(Galice),
+ ],
+ q(2418) => [
+ q(Guadeloupean Creole French),
+ ],
+ q(2419) => [
+ q(Grenadian Creole English),
+ ],
+ q(2420) => [
+ q(Gaina),
+ ],
+ q(2421) => [
+ q(Guianese Creole French),
+ ],
+ q(2422) => [
+ q(Colonia Tovar German),
+ ],
+ q(2423) => [
+ q(Gade Lohar),
+ ],
+ q(2424) => [
+ q(Pottangi Ollar Gadaba),
+ ],
+ q(2425) => [
+ q(Gugu Badhun),
+ ],
+ q(2426) => [
+ q(Gedaged),
+ ],
+ q(2427) => [
+ q(Gude),
+ ],
+ q(2428) => [
+ q(Guduf-Gava),
+ ],
+ q(2429) => [
+ q(Ga'dang),
+ ],
+ q(2430) => [
+ q(Gadjerawang),
+ ],
+ q(2431) => [
+ q(Gundi),
+ ],
+ q(2432) => [
+ q(Gurdjar),
+ ],
+ q(2433) => [
+ q(Gadang),
+ ],
+ q(2434) => [
+ q(Dirasha),
+ ],
+ q(2435) => [
+ q(Laal),
+ ],
+ q(2436) => [
+ q(Umanakaina),
+ ],
+ q(2437) => [
+ q(Ghodoberi),
+ ],
+ q(2438) => [
+ q(Mehri),
+ ],
+ q(2439) => [
+ q(Wipi),
+ ],
+ q(2440) => [
+ q(Gudu),
+ ],
+ q(2441) => [
+ q(Godwari),
+ ],
+ q(2442) => [
+ q(Geruma),
+ ],
+ q(2443) => [
+ q(Kire),
+ ],
+ q(2444) => [
+ q(Gboloo Grebo),
+ ],
+ q(2445) => [
+ q(Gade),
+ ],
+ q(2446) => [
+ q(Gengle),
+ ],
+ q(2447) => [
+ q(Hutterite German),
+ q(Hutterisch),
+ ],
+ q(2448) => [
+ q(Gebe),
+ ],
+ q(2449) => [
+ q(Gen),
+ ],
+ q(2450) => [
+ q(Yiwom),
+ ],
+ q(2451) => [
+ q(ut-Ma'in),
+ ],
+ q(2452) => [
+ q(Geme),
+ ],
+ q(2453) => [
+ q(Geser-Gorom),
+ ],
+ q(2454) => [
+ q(Gera),
+ ],
+ q(2455) => [
+ q(Garre),
+ ],
+ q(2456) => [
+ q(Enya),
+ ],
+ q(2457) => [
+ q(Patpatar),
+ ],
+ q(2458) => [
+ q(Gafat),
+ ],
+ q(2459) => [
+ q(Gao),
+ ],
+ q(2460) => [
+ q(Gbii),
+ ],
+ q(2461) => [
+ q(Gugadj),
+ ],
+ q(2462) => [
+ q(Guragone),
+ ],
+ q(2463) => [
+ q(Gurgula),
+ ],
+ q(2464) => [
+ q(Kungarakany),
+ ],
+ q(2465) => [
+ q(Ganglau),
+ ],
+ q(2466) => [
+ q(Eastern Gurung),
+ ],
+ q(2467) => [
+ q(Southern Gondi),
+ ],
+ q(2468) => [
+ q(Aghu Tharnggalu),
+ ],
+ q(2469) => [
+ q(Gitua),
+ ],
+ q(2470) => [
+ q(Gagu),
+ ],
+ q(2471) => [
+ q(Gogodala),
+ ],
+ q(2472) => [
+ q(Ghadames),
+ ],
+ q(2473) => [
+ q(Hiberno-Scottish Gaelic),
+ ],
+ q(2474) => [
+ q(Southern Ghale),
+ ],
+ q(2475) => [
+ q(Northern Ghale),
+ ],
+ q(2476) => [
+ q(Geko Karen),
+ ],
+ q(2477) => [
+ q(Ghulfan),
+ ],
+ q(2478) => [
+ q(Ghanongga),
+ ],
+ q(2479) => [
+ q(Ghomara),
+ ],
+ q(2480) => [
+ q(Ghera),
+ ],
+ q(2481) => [
+ q(Guhu-Samane),
+ ],
+ q(2482) => [
+ q(Kutang Ghale),
+ ],
+ q(2483) => [
+ q(Kitja),
+ ],
+ q(2484) => [
+ q(Gibanawa),
+ ],
+ q(2485) => [
+ q(Gail),
+ ],
+ q(2486) => [
+ q(Gidar),
+ ],
+ q(2487) => [
+ q(Goaria),
+ ],
+ q(2488) => [
+ q(Gimi (Eastern Highlands)),
+ ],
+ q(2489) => [
+ q(Hinukh),
+ ],
+ q(2490) => [
+ q(Gelao),
+ ],
+ q(2491) => [
+ q(Gimi (West New Britain)),
+ ],
+ q(2492) => [
+ q(Green Gelao),
+ ],
+ q(2493) => [
+ q(Red Gelao),
+ ],
+ q(2494) => [
+ q(North Giziga),
+ ],
+ q(2495) => [
+ q(Gitxsan),
+ ],
+ q(2496) => [
+ q(White Gelao),
+ ],
+ q(2497) => [
+ q(Gilima),
+ ],
+ q(2498) => [
+ q(Giyug),
+ ],
+ q(2499) => [
+ q(South Giziga),
+ ],
+ q(2500) => [
+ q(Geji),
+ ],
+ q(2501) => [
+ q(Kachi Koli),
+ ],
+ q(2502) => [
+ q(Gonja),
+ ],
+ q(2503) => [
+ q(Gujari),
+ ],
+ q(2504) => [
+ q(Guya),
+ ],
+ q(2505) => [
+ q(Ndai),
+ ],
+ q(2506) => [
+ q(Gokana),
+ ],
+ q(2507) => [
+ q(Guinea Kpelle),
+ ],
+ q(2508) => [
+ q(Bon Gula),
+ ],
+ q(2509) => [
+ q(Nanai),
+ ],
+ q(2510) => [
+ q(Northwest Pashayi),
+ ],
+ q(2511) => [
+ q(Guliguli),
+ ],
+ q(2512) => [
+ q(Gula Iro),
+ ],
+ q(2513) => [
+ q(Gilaki),
+ ],
+ q(2514) => [
+ q(Galambu),
+ ],
+ q(2515) => [
+ q(Glaro-Twabo),
+ ],
+ q(2516) => [
+ q(Gula (Chad)),
+ ],
+ q(2517) => [
+ q(Glavda),
+ ],
+ q(2518) => [
+ q(Gule),
+ ],
+ q(2519) => [
+ q(Gambera),
+ ],
+ q(2520) => [
+ q(Gula'alaa),
+ ],
+ q(2521) => [
+ q(Maghdi),
+ ],
+ q(2522) => [
+ q(Middle Low German),
+ ],
+ q(2523) => [
+ q(Gbaya-Mbodomo),
+ ],
+ q(2524) => [
+ q(Gimnime),
+ ],
+ q(2525) => [
+ q(Gumalu),
+ ],
+ q(2526) => [
+ q(Gamo),
+ ],
+ q(2527) => [
+ q(Magoma),
+ ],
+ q(2528) => [
+ q(Mycenaean Greek),
+ ],
+ q(2529) => [
+ q(Kaansa),
+ ],
+ q(2530) => [
+ q(Gangte),
+ ],
+ q(2531) => [
+ q(Guanche),
+ ],
+ q(2532) => [
+ q(Zulgo-Gemzek),
+ ],
+ q(2533) => [
+ q(Ganang),
+ ],
+ q(2534) => [
+ q(Ngangam),
+ ],
+ q(2535) => [
+ q(Lere),
+ ],
+ q(2536) => [
+ q(Gooniyandi),
+ ],
+ q(2537) => [
+ q(//Gana),
+ ],
+ q(2538) => [
+ q(Gangulu),
+ ],
+ q(2539) => [
+ q(Ginuman),
+ ],
+ q(2540) => [
+ q(Gumatj),
+ ],
+ q(2541) => [
+ q(Northern Gondi),
+ ],
+ q(2542) => [
+ q(Gana),
+ ],
+ q(2543) => [
+ q(Gureng Gureng),
+ ],
+ q(2544) => [
+ q(Guntai),
+ ],
+ q(2545) => [
+ q(Gnau),
+ ],
+ q(2546) => [
+ q(Western Bolivian Guarani),
+ ],
+ q(2547) => [
+ q(Ganzi),
+ ],
+ q(2548) => [
+ q(Guro),
+ ],
+ q(2549) => [
+ q(Playero),
+ ],
+ q(2550) => [
+ q(Gorakor),
+ ],
+ q(2551) => [
+ q(Godie),
+ ],
+ q(2552) => [
+ q(Gongduk),
+ ],
+ q(2553) => [
+ q(Gofa),
+ ],
+ q(2554) => [
+ q(Gogo),
+ ],
+ q(2555) => [
+ q(Gobasi),
+ ],
+ q(2556) => [
+ q(Gowlan),
+ ],
+ q(2557) => [
+ q(Gowli),
+ ],
+ q(2558) => [
+ q(Gola),
+ ],
+ q(2559) => [
+ q(Goan Konkani),
+ ],
+ q(2560) => [
+ q(Gone Dau),
+ ],
+ q(2561) => [
+ q(Yeretuar),
+ ],
+ q(2562) => [
+ q(Gorap),
+ ],
+ q(2563) => [
+ q(Gronings),
+ ],
+ q(2564) => [
+ q(Gavar),
+ ],
+ q(2565) => [
+ q(Gorowa),
+ ],
+ q(2566) => [
+ q(Gobu),
+ ],
+ q(2567) => [
+ q(Goundo),
+ ],
+ q(2568) => [
+ q(Gozarkhani),
+ ],
+ q(2569) => [
+ q(Gupa-Abawa),
+ ],
+ q(2570) => [
+ q(Taiap),
+ ],
+ q(2571) => [
+ q(Ga'anda),
+ ],
+ q(2572) => [
+ q(Guiqiong),
+ ],
+ q(2573) => [
+ q(Guana (Brazil)),
+ ],
+ q(2574) => [
+ q(Gor),
+ ],
+ q(2575) => [
+ q(Rajput Garasia),
+ ],
+ q(2576) => [
+ q(Guruntum-Mbaaru),
+ ],
+ q(2577) => [
+ q(Madi),
+ ],
+ q(2578) => [
+ q(Gbiri-Niragu),
+ ],
+ q(2579) => [
+ q(Ghari),
+ ],
+ q(2580) => [
+ q(Southern Grebo),
+ ],
+ q(2581) => [
+ q(Kota Marudu Talantang),
+ ],
+ q(2582) => [
+ q(Groma),
+ ],
+ q(2583) => [
+ q(Gorovu),
+ ],
+ q(2584) => [
+ q(Taznatit),
+ ],
+ q(2585) => [
+ q(Gresi),
+ ],
+ q(2586) => [
+ q(Garo),
+ ],
+ q(2587) => [
+ q(Kistane),
+ ],
+ q(2588) => [
+ q(Central Grebo),
+ ],
+ q(2589) => [
+ q(Gweda),
+ ],
+ q(2590) => [
+ q(Guriaso),
+ ],
+ q(2591) => [
+ q(Barclayville Grebo),
+ ],
+ q(2592) => [
+ q(Guramalum),
+ ],
+ q(2593) => [
+ q(Ghanaian Sign Language),
+ ],
+ q(2594) => [
+ q(German Sign Language),
+ ],
+ q(2595) => [
+ q(Gusilay),
+ ],
+ q(2596) => [
+ q(Guatemalan Sign Language),
+ ],
+ q(2597) => [
+ q(Gusan),
+ ],
+ q(2598) => [
+ q(Southwest Gbaya),
+ ],
+ q(2599) => [
+ q(Wasembo),
+ ],
+ q(2600) => [
+ q(Greek Sign Language),
+ ],
+ q(2601) => [
+ q(Guato),
+ ],
+ q(2602) => [
+ q(Gbati-ri),
+ ],
+ q(2603) => [
+ q(Shiki),
+ ],
+ q(2604) => [
+ q(Guajajara),
+ ],
+ q(2605) => [
+ q(Wayuu),
+ ],
+ q(2606) => [
+ q(Yocoboue Dida),
+ ],
+ q(2607) => [
+ q(Gurinji),
+ ],
+ q(2608) => [
+ q(Gupapuyngu),
+ ],
+ q(2609) => [
+ q(Paraguayan Guarani),
+ ],
+ q(2610) => [
+ q(Guahibo),
+ ],
+ q(2611) => [
+ q(Eastern Bolivian Guarani),
+ ],
+ q(2612) => [
+ q(Gumuz),
+ ],
+ q(2613) => [
+ q(Sea Island Creole English),
+ ],
+ q(2614) => [
+ q(Guambiano),
+ ],
+ q(2615) => [
+ q(Mbya Guarani),
+ ],
+ q(2616) => [
+ q(Guayabero),
+ ],
+ q(2617) => [
+ q(Gunwinggu),
+ ],
+ q(2618) => [
+ q(Ache),
+ ],
+ q(2619) => [
+ q(Farefare),
+ ],
+ q(2620) => [
+ q(Guinean Sign Language),
+ ],
+ q(2621) => [
+ q(Maleku Jaika),
+ ],
+ q(2622) => [
+ q(Yanomamo),
+ ],
+ q(2623) => [
+ q(Gey),
+ ],
+ q(2624) => [
+ q(Gun),
+ ],
+ q(2625) => [
+ q(Gourmanchema),
+ ],
+ q(2626) => [
+ q(Gusii),
+ q(Ekegusii),
+ ],
+ q(2627) => [
+ q(Guana (Paraguay)),
+ ],
+ q(2628) => [
+ q(Guanano),
+ ],
+ q(2629) => [
+ q(Duwet),
+ ],
+ q(2630) => [
+ q(Golin),
+ ],
+ q(2631) => [
+ q(Guaja),
+ ],
+ q(2632) => [
+ q(Gulay),
+ ],
+ q(2633) => [
+ q(Gurmana),
+ ],
+ q(2634) => [
+ q(Kuku-Yalanji),
+ ],
+ q(2635) => [
+ q(Gaviao Do Jiparana),
+ ],
+ q(2636) => [
+ q(Para Gaviao),
+ ],
+ q(2637) => [
+ q(Western Gurung),
+ ],
+ q(2638) => [
+ q(Gumawana),
+ ],
+ q(2639) => [
+ q(Guyani),
+ ],
+ q(2640) => [
+ q(Mbato),
+ ],
+ q(2641) => [
+ q(Gwa),
+ ],
+ q(2642) => [
+ q(Kalami),
+ ],
+ q(2643) => [
+ q(Gawwada),
+ ],
+ q(2644) => [
+ q(Gweno),
+ ],
+ q(2645) => [
+ q(Gowro),
+ ],
+ q(2646) => [
+ q(Moo),
+ ],
+ q(2647) => [
+ q(/Gwi),
+ ],
+ q(2648) => [
+ q(Gwandara),
+ ],
+ q(2649) => [
+ q(Gwere),
+ ],
+ q(2650) => [
+ q(Gawar-Bati),
+ ],
+ q(2651) => [
+ q(Guwamu),
+ ],
+ q(2652) => [
+ q(Kwini),
+ ],
+ q(2653) => [
+ q(Gua),
+ ],
+ q(2654) => [
+ q(We Southern),
+ ],
+ q(2655) => [
+ q(Northwest Gbaya),
+ ],
+ q(2656) => [
+ q(Garus),
+ ],
+ q(2657) => [
+ q(Kayardild),
+ ],
+ q(2658) => [
+ q(Gyem),
+ ],
+ q(2659) => [
+ q(Gungabula),
+ ],
+ q(2660) => [
+ q(Gbayi),
+ ],
+ q(2661) => [
+ q(Gyele),
+ ],
+ q(2662) => [
+ q(Gayil),
+ ],
+ q(2663) => [
+ q(Ngabere),
+ ],
+ q(2664) => [
+ q(Guyanese Creole English),
+ ],
+ q(2665) => [
+ q(Guarayu),
+ ],
+ q(2666) => [
+ q(Gunya),
+ ],
+ q(2667) => [
+ q(Ganza),
+ ],
+ q(2668) => [
+ q(Gazi),
+ ],
+ q(2669) => [
+ q(Gane),
+ ],
+ q(2670) => [
+ q(Han),
+ ],
+ q(2671) => [
+ q(Hanoi Sign Language),
+ ],
+ q(2672) => [
+ q(Gurani),
+ ],
+ q(2673) => [
+ q(Hatam),
+ ],
+ q(2674) => [
+ q(Eastern Oromo),
+ ],
+ q(2675) => [
+ q(Haiphong Sign Language),
+ ],
+ q(2676) => [
+ q(Hanga),
+ ],
+ q(2677) => [
+ q(Hahon),
+ ],
+ q(2678) => [
+ q(Hajong),
+ ],
+ q(2679) => [
+ q(Hakka Chinese),
+ ],
+ q(2680) => [
+ q(Halang),
+ ],
+ q(2681) => [
+ q(Hewa),
+ ],
+ q(2682) => [
+ q(Hangaza),
+ ],
+ q(2683) => [
+ q(Hako),
+ ],
+ q(2684) => [
+ q(Hupla),
+ ],
+ q(2685) => [
+ q(Ha),
+ ],
+ q(2686) => [
+ q(Harari),
+ ],
+ q(2687) => [
+ q(Haisla),
+ ],
+ q(2688) => [
+ q(Havu),
+ ],
+ q(2689) => [
+ q(Southern Haida),
+ ],
+ q(2690) => [
+ q(Haya),
+ ],
+ q(2691) => [
+ q(Hazaragi),
+ ],
+ q(2692) => [
+ q(Hamba),
+ ],
+ q(2693) => [
+ q(Huba),
+ ],
+ q(2694) => [
+ q(Heiban),
+ ],
+ q(2695) => [
+ q(Ancient Hebrew),
+ ],
+ q(2696) => [
+ q(Habu),
+ ],
+ q(2697) => [
+ q(Andaman Creole Hindi),
+ ],
+ q(2698) => [
+ q(Huichol),
+ ],
+ q(2699) => [
+ q(Northern Haida),
+ ],
+ q(2700) => [
+ q(Honduras Sign Language),
+ ],
+ q(2701) => [
+ q(Hadiyya),
+ ],
+ q(2702) => [
+ q(Northern Qiandong Miao),
+ ],
+ q(2703) => [
+ q(Herde),
+ ],
+ q(2704) => [
+ q(Helong),
+ ],
+ q(2705) => [
+ q(Hehe),
+ ],
+ q(2706) => [
+ q(Heiltsuk),
+ ],
+ q(2707) => [
+ q(Hemba),
+ ],
+ q(2708) => [
+ q(Hai//om),
+ ],
+ q(2709) => [
+ q(Haigwai),
+ ],
+ q(2710) => [
+ q(Hoia Hoia),
+ ],
+ q(2711) => [
+ q(Kerak),
+ ],
+ q(2712) => [
+ q(Hoyahoya),
+ ],
+ q(2713) => [
+ q(Lamang),
+ ],
+ q(2714) => [
+ q(Hibito),
+ ],
+ q(2715) => [
+ q(Hidatsa),
+ ],
+ q(2716) => [
+ q(Fiji Hindi),
+ ],
+ q(2717) => [
+ q(Kamwe),
+ ],
+ q(2718) => [
+ q(Pamosu),
+ ],
+ q(2719) => [
+ q(Hinduri),
+ ],
+ q(2720) => [
+ q(Hijuk),
+ ],
+ q(2721) => [
+ q(Seit-Kaitetu),
+ ],
+ q(2722) => [
+ q(Tsoa),
+ ],
+ q(2723) => [
+ q(Himarima),
+ ],
+ q(2724) => [
+ q(Hiw),
+ ],
+ q(2725) => [
+ q(Hixkaryana),
+ ],
+ q(2726) => [
+ q(Haji),
+ ],
+ q(2727) => [
+ q(Kahe),
+ ],
+ q(2728) => [
+ q(Hunde),
+ ],
+ q(2729) => [
+ q(Hunjara-Kaina Ke),
+ ],
+ q(2730) => [
+ q(Hong Kong Sign Language),
+ q(Heung Kong Sau Yue),
+ ],
+ q(2731) => [
+ q(Halia),
+ ],
+ q(2732) => [
+ q(Halbi),
+ ],
+ q(2733) => [
+ q(Halang Doan),
+ ],
+ q(2734) => [
+ q(Hlersu),
+ ],
+ q(2735) => [
+ q(Nga La),
+ ],
+ q(2736) => [
+ q(Hieroglyphic Luwian),
+ ],
+ q(2737) => [
+ q(Southern Mashan Hmong),
+ q(Southern Mashan Miao),
+ ],
+ q(2738) => [
+ q(Humburi Senni Songhay),
+ ],
+ q(2739) => [
+ q(Central Huishui Hmong),
+ q(Central Huishui Miao),
+ ],
+ q(2740) => [
+ q(Large Flowery Miao),
+ q(A-hmaos),
+ q(Da-Hua Miao),
+ ],
+ q(2741) => [
+ q(Eastern Huishui Hmong),
+ q(Eastern Huishui Miao),
+ ],
+ q(2742) => [
+ q(Hmong Don),
+ ],
+ q(2743) => [
+ q(Southwestern Guiyang Hmong),
+ ],
+ q(2744) => [
+ q(Southwestern Huishui Hmong),
+ q(Southwestern Huishui Miao),
+ ],
+ q(2745) => [
+ q(Northern Huishui Hmong),
+ q(Northern Huishui Miao),
+ ],
+ q(2746) => [
+ q(Ge),
+ q(Gejia),
+ ],
+ q(2747) => [
+ q(Maek),
+ ],
+ q(2748) => [
+ q(Luopohe Hmong),
+ q(Luopohe Miao),
+ ],
+ q(2749) => [
+ q(Central Mashan Hmong),
+ q(Central Mashan Miao),
+ ],
+ q(2750) => [
+ q(Northern Mashan Hmong),
+ q(Northern Mashan Miao),
+ ],
+ q(2751) => [
+ q(Eastern Qiandong Miao),
+ ],
+ q(2752) => [
+ q(Hmar),
+ ],
+ q(2753) => [
+ q(Southern Qiandong Miao),
+ ],
+ q(2754) => [
+ q(Hamtai),
+ ],
+ q(2755) => [
+ q(Hamap),
+ ],
+ q(2756) => [
+ q(Hmong Do),
+ ],
+ q(2757) => [
+ q(Western Mashan Hmong),
+ q(Western Mashan Miao),
+ ],
+ q(2758) => [
+ q(Southern Guiyang Hmong),
+ q(Southern Guiyang Miao),
+ ],
+ q(2759) => [
+ q(Hmong Shua),
+ q(Sinicized Miao),
+ ],
+ q(2760) => [
+ q(Mina (Cameroon)),
+ ],
+ q(2761) => [
+ q(Southern Hindko),
+ ],
+ q(2762) => [
+ q(Chhattisgarhi),
+ ],
+ q(2763) => [
+ q(//Ani),
+ ],
+ q(2764) => [
+ q(Hani),
+ ],
+ q(2765) => [
+ q(Hmong Njua),
+ q(Mong Leng),
+ q(Mong Njua),
+ ],
+ q(2766) => [
+ q(Hanunoo),
+ ],
+ q(2767) => [
+ q(Northern Hindko),
+ ],
+ q(2768) => [
+ q(Caribbean Hindustani),
+ ],
+ q(2769) => [
+ q(Hung),
+ ],
+ q(2770) => [
+ q(Hoava),
+ ],
+ q(2771) => [
+ q(Mari (Madang Province)),
+ ],
+ q(2772) => [
+ q(Ho),
+ ],
+ q(2773) => [
+ q(Holma),
+ ],
+ q(2774) => [
+ q(Horom),
+ ],
+ q(2775) => [
+ q(Hobyot),
+ ],
+ q(2776) => [
+ q(Holikachuk),
+ ],
+ q(2777) => [
+ q(Hadothi),
+ ],
+ q(2778) => [
+ q(Holu),
+ ],
+ q(2779) => [
+ q(Homa),
+ ],
+ q(2780) => [
+ q(Holoholo),
+ ],
+ q(2781) => [
+ q(Hopi),
+ ],
+ q(2782) => [
+ q(Horo),
+ ],
+ q(2783) => [
+ q(Ho Chi Minh City Sign Language),
+ ],
+ q(2784) => [
+ q(Hote),
+ q(Male),
+ ],
+ q(2785) => [
+ q(Hovongan),
+ ],
+ q(2786) => [
+ q(Honi),
+ ],
+ q(2787) => [
+ q(Holiya),
+ ],
+ q(2788) => [
+ q(Hozo),
+ ],
+ q(2789) => [
+ q(Hpon),
+ ],
+ q(2790) => [
+ q(Hawai'i Pidgin Sign Language),
+ ],
+ q(2791) => [
+ q(Hrangkhol),
+ ],
+ q(2792) => [
+ q(Hre),
+ ],
+ q(2793) => [
+ q(Haruku),
+ ],
+ q(2794) => [
+ q(Horned Miao),
+ ],
+ q(2795) => [
+ q(Haroi),
+ ],
+ q(2796) => [
+ q(Horuru),
+ ],
+ q(2797) => [
+ q(Hertevin),
+ ],
+ q(2798) => [
+ q(Hruso),
+ ],
+ q(2799) => [
+ q(Hunsrik),
+ ],
+ q(2800) => [
+ q(Harzani),
+ ],
+ q(2801) => [
+ q(Hungarian Sign Language),
+ ],
+ q(2802) => [
+ q(Hausa Sign Language),
+ ],
+ q(2803) => [
+ q(Xiang Chinese),
+ ],
+ q(2804) => [
+ q(Harsusi),
+ ],
+ q(2805) => [
+ q(Hoti),
+ ],
+ q(2806) => [
+ q(Minica Huitoto),
+ ],
+ q(2807) => [
+ q(Hadza),
+ ],
+ q(2808) => [
+ q(Hitu),
+ ],
+ q(2809) => [
+ q(Middle Hittite),
+ ],
+ q(2810) => [
+ q(Huambisa),
+ ],
+ q(2811) => [
+ q(=/Hua),
+ ],
+ q(2812) => [
+ q(Huaulu),
+ ],
+ q(2813) => [
+ q(San Francisco Del Mar Huave),
+ ],
+ q(2814) => [
+ q(Humene),
+ ],
+ q(2815) => [
+ q(Huachipaeri),
+ ],
+ q(2816) => [
+ q(Huilliche),
+ ],
+ q(2817) => [
+ q(Huli),
+ ],
+ q(2818) => [
+ q(Northern Guiyang Hmong),
+ q(Northern Guiyang Miao),
+ ],
+ q(2819) => [
+ q(Hulung),
+ ],
+ q(2820) => [
+ q(Hula),
+ ],
+ q(2821) => [
+ q(Hungana),
+ ],
+ q(2822) => [
+ q(Hu),
+ ],
+ q(2823) => [
+ q(Tsat),
+ ],
+ q(2824) => [
+ q(Halkomelem),
+ ],
+ q(2825) => [
+ q(Huastec),
+ ],
+ q(2826) => [
+ q(Humla),
+ ],
+ q(2827) => [
+ q(Murui Huitoto),
+ ],
+ q(2828) => [
+ q(San Mateo Del Mar Huave),
+ ],
+ q(2829) => [
+ q(Hukumina),
+ ],
+ q(2830) => [
+ q(Nupode Huitoto),
+ ],
+ q(2831) => [
+ q(Hulaula),
+ ],
+ q(2832) => [
+ q(Hunzib),
+ ],
+ q(2833) => [
+ q(Haitian Vodoun Culture Language),
+ ],
+ q(2834) => [
+ q(San Dionisio Del Mar Huave),
+ ],
+ q(2835) => [
+ q(Haveke),
+ ],
+ q(2836) => [
+ q(Sabu),
+ ],
+ q(2837) => [
+ q(Santa Maria Del Mar Huave),
+ ],
+ q(2838) => [
+ q(Wane),
+ ],
+ q(2839) => [
+ q(Hawai'i Creole English),
+ ],
+ q(2840) => [
+ q(Hwana),
+ ],
+ q(2841) => [
+ q(Hya),
+ ],
+ q(2842) => [
+ q(Iaai),
+ ],
+ q(2843) => [
+ q(Iatmul),
+ ],
+ q(2844) => [
+ q(Iapama),
+ ],
+ q(2845) => [
+ q(Purari),
+ ],
+ q(2846) => [
+ q(Ibibio),
+ ],
+ q(2847) => [
+ q(Iwaidja),
+ ],
+ q(2848) => [
+ q(Akpes),
+ ],
+ q(2849) => [
+ q(Ibanag),
+ ],
+ q(2850) => [
+ q(Ibilo),
+ ],
+ q(2851) => [
+ q(Ibaloi),
+ ],
+ q(2852) => [
+ q(Agoi),
+ ],
+ q(2853) => [
+ q(Ibino),
+ ],
+ q(2854) => [
+ q(Ibuoro),
+ ],
+ q(2855) => [
+ q(Ibu),
+ ],
+ q(2856) => [
+ q(Ibani),
+ ],
+ q(2857) => [
+ q(Ede Ica),
+ ],
+ q(2858) => [
+ q(Etkywan),
+ ],
+ q(2859) => [
+ q(Icelandic Sign Language),
+ ],
+ q(2860) => [
+ q(Islander Creole English),
+ ],
+ q(2861) => [
+ q(Idakho-Isukha-Tiriki),
+ q(Luidakho-Luisukha-Lutirichi),
+ ],
+ q(2862) => [
+ q(Indo-Portuguese),
+ ],
+ q(2863) => [
+ q(Idon),
+ ],
+ q(2864) => [
+ q(Ede Idaca),
+ ],
+ q(2865) => [
+ q(Idere),
+ ],
+ q(2866) => [
+ q(Idi),
+ ],
+ q(2867) => [
+ q(Indri),
+ ],
+ q(2868) => [
+ q(Idesa),
+ ],
+ q(2869) => [
+ q(Idate),
+ ],
+ q(2870) => [
+ q(Idoma),
+ ],
+ q(2871) => [
+ q(Amganad Ifugao),
+ ],
+ q(2872) => [
+ q(Batad Ifugao),
+ q(Ayangan Ifugao),
+ ],
+ q(2873) => [
+ q(Ife),
+ ],
+ q(2874) => [
+ q(Ifo),
+ ],
+ q(2875) => [
+ q(Tuwali Ifugao),
+ ],
+ q(2876) => [
+ q(Teke-Fuumu),
+ ],
+ q(2877) => [
+ q(Mayoyao Ifugao),
+ ],
+ q(2878) => [
+ q(Keley-I Kallahan),
+ ],
+ q(2879) => [
+ q(Ebira),
+ ],
+ q(2880) => [
+ q(Igede),
+ ],
+ q(2881) => [
+ q(Igana),
+ ],
+ q(2882) => [
+ q(Igala),
+ ],
+ q(2883) => [
+ q(Kanggape),
+ ],
+ q(2884) => [
+ q(Ignaciano),
+ ],
+ q(2885) => [
+ q(Isebe),
+ ],
+ q(2886) => [
+ q(Interglossa),
+ ],
+ q(2887) => [
+ q(Igwe),
+ ],
+ q(2888) => [
+ q(Iha Based Pidgin),
+ ],
+ q(2889) => [
+ q(Ihievbe),
+ ],
+ q(2890) => [
+ q(Iha),
+ ],
+ q(2891) => [
+ q(Izon),
+ ],
+ q(2892) => [
+ q(Biseni),
+ ],
+ q(2893) => [
+ q(Ede Ije),
+ ],
+ q(2894) => [
+ q(Kalabari),
+ ],
+ q(2895) => [
+ q(Southeast Ijo),
+ ],
+ q(2896) => [
+ q(Eastern Canadian Inuktitut),
+ ],
+ q(2897) => [
+ q(Iko),
+ ],
+ q(2898) => [
+ q(Ika),
+ ],
+ q(2899) => [
+ q(Ikulu),
+ ],
+ q(2900) => [
+ q(Olulumo-Ikom),
+ ],
+ q(2901) => [
+ q(Ikpeshi),
+ ],
+ q(2902) => [
+ q(Western Canadian Inuktitut),
+ ],
+ q(2903) => [
+ q(Iku-Gora-Ankwa),
+ ],
+ q(2904) => [
+ q(Ikwere),
+ ],
+ q(2905) => [
+ q(Ik),
+ ],
+ q(2906) => [
+ q(Ikizu),
+ ],
+ q(2907) => [
+ q(Ile Ape),
+ ],
+ q(2908) => [
+ q(Ila),
+ ],
+ q(2909) => [
+ q(Garig-Ilgar),
+ ],
+ q(2910) => [
+ q(Ili Turki),
+ ],
+ q(2911) => [
+ q(Ilongot),
+ ],
+ q(2912) => [
+ q(Iranun),
+ ],
+ q(2913) => [
+ q(International Sign),
+ ],
+ q(2914) => [
+ q(Ili'uun),
+ ],
+ q(2915) => [
+ q(Ilue),
+ ],
+ q(2916) => [
+ q(Talur),
+ ],
+ q(2917) => [
+ q(Mala Malasar),
+ ],
+ q(2918) => [
+ q(Imeraguen),
+ ],
+ q(2919) => [
+ q(Anamgura),
+ ],
+ q(2920) => [
+ q(Miluk),
+ ],
+ q(2921) => [
+ q(Imonda),
+ ],
+ q(2922) => [
+ q(Imbongu),
+ ],
+ q(2923) => [
+ q(Imroing),
+ ],
+ q(2924) => [
+ q(Marsian),
+ ],
+ q(2925) => [
+ q(Milyan),
+ ],
+ q(2926) => [
+ q(Inga),
+ ],
+ q(2927) => [
+ q(Degexit'an),
+ ],
+ q(2928) => [
+ q(Jungle Inga),
+ ],
+ q(2929) => [
+ q(Indonesian Sign Language),
+ ],
+ q(2930) => [
+ q(Minaean),
+ ],
+ q(2931) => [
+ q(Isinai),
+ ],
+ q(2932) => [
+ q(Inoke-Yate),
+ ],
+ q(2933) => [
+ q(Inapari),
+ ],
+ q(2934) => [
+ q(Indian Sign Language),
+ ],
+ q(2935) => [
+ q(Intha),
+ ],
+ q(2936) => [
+ q(Ineseno),
+ ],
+ q(2937) => [
+ q(Inor),
+ ],
+ q(2938) => [
+ q(Tuma-Irumu),
+ ],
+ q(2939) => [
+ q(Iowa-Oto),
+ ],
+ q(2940) => [
+ q(Ipili),
+ ],
+ q(2941) => [
+ q(Ipiko),
+ ],
+ q(2942) => [
+ q(Iquito),
+ ],
+ q(2943) => [
+ q(Iresim),
+ ],
+ q(2944) => [
+ q(Irarutu),
+ ],
+ q(2945) => [
+ q(Irigwe),
+ ],
+ q(2946) => [
+ q(Iraqw),
+ ],
+ q(2947) => [
+ q(Irantxe),
+ ],
+ q(2948) => [
+ q(Ir),
+ ],
+ q(2949) => [
+ q(Irula),
+ ],
+ q(2950) => [
+ q(Kamberau),
+ ],
+ q(2951) => [
+ q(Iraya),
+ ],
+ q(2952) => [
+ q(Isabi),
+ ],
+ q(2953) => [
+ q(Isconahua),
+ ],
+ q(2954) => [
+ q(Isnag),
+ ],
+ q(2955) => [
+ q(Italian Sign Language),
+ ],
+ q(2956) => [
+ q(Irish Sign Language),
+ ],
+ q(2957) => [
+ q(Esan),
+ ],
+ q(2958) => [
+ q(Nkem-Nkum),
+ ],
+ q(2959) => [
+ q(Ishkashimi),
+ ],
+ q(2960) => [
+ q(Masimasi),
+ ],
+ q(2961) => [
+ q(Isanzu),
+ ],
+ q(2962) => [
+ q(Isoko),
+ ],
+ q(2963) => [
+ q(Israeli Sign Language),
+ ],
+ q(2964) => [
+ q(Istriot),
+ ],
+ q(2965) => [
+ q(Isu (Menchum Division)),
+ ],
+ q(2966) => [
+ q(Binongan Itneg),
+ ],
+ q(2967) => [
+ q(Itene),
+ ],
+ q(2968) => [
+ q(Inlaod Itneg),
+ ],
+ q(2969) => [
+ q(Judeo-Italian),
+ ],
+ q(2970) => [
+ q(Itelmen),
+ ],
+ q(2971) => [
+ q(Itu Mbon Uzo),
+ ],
+ q(2972) => [
+ q(Itonama),
+ ],
+ q(2973) => [
+ q(Iteri),
+ ],
+ q(2974) => [
+ q(Isekiri),
+ ],
+ q(2975) => [
+ q(Maeng Itneg),
+ ],
+ q(2976) => [
+ q(Itawit),
+ ],
+ q(2977) => [
+ q(Ito),
+ ],
+ q(2978) => [
+ q(Itik),
+ ],
+ q(2979) => [
+ q(Moyadan Itneg),
+ ],
+ q(2980) => [
+ q(Itza),
+ ],
+ q(2981) => [
+ q(Iu Mien),
+ ],
+ q(2982) => [
+ q(Ibatan),
+ ],
+ q(2983) => [
+ q(Ivatan),
+ ],
+ q(2984) => [
+ q(I-Wak),
+ ],
+ q(2985) => [
+ q(Iwam),
+ ],
+ q(2986) => [
+ q(Iwur),
+ ],
+ q(2987) => [
+ q(Sepik Iwam),
+ ],
+ q(2988) => [
+ q(Ixcatec),
+ ],
+ q(2989) => [
+ q(Ixil),
+ ],
+ q(2990) => [
+ q(Iyayu),
+ ],
+ q(2991) => [
+ q(Mesaka),
+ ],
+ q(2992) => [
+ q(Yaka (Congo)),
+ ],
+ q(2993) => [
+ q(Ingrian),
+ ],
+ q(2994) => [
+ q(Izi-Ezaa-Ikwo-Mgbo),
+ ],
+ q(2995) => [
+ q(Izere),
+ ],
+ q(2996) => [
+ q(Jamamadi),
+ ],
+ q(2997) => [
+ q(Hyam),
+ ],
+ q(2998) => [
+ q(Popti'),
+ q(Jakalteko),
+ ],
+ q(2999) => [
+ q(Jahanka),
+ ],
+ q(3000) => [
+ q(Yabem),
+ ],
+ q(3001) => [
+ q(Jara),
+ ],
+ q(3002) => [
+ q(Jah Hut),
+ ],
+ q(3003) => [
+ q(Zazao),
+ ],
+ q(3004) => [
+ q(Jakun),
+ ],
+ q(3005) => [
+ q(Yalahatan),
+ ],
+ q(3006) => [
+ q(Jamaican Creole English),
+ ],
+ q(3007) => [
+ q(Yanyuwa),
+ ],
+ q(3008) => [
+ q(Yaqay),
+ ],
+ q(3009) => [
+ q(Jarawa (Nigeria)),
+ ],
+ q(3010) => [
+ q(New Caledonian Javanese),
+ ],
+ q(3011) => [
+ q(Jakati),
+ ],
+ q(3012) => [
+ q(Yaur),
+ ],
+ q(3013) => [
+ q(Jambi Malay),
+ ],
+ q(3014) => [
+ q(Yan-nhangu),
+ ],
+ q(3015) => [
+ q(Jawe),
+ ],
+ q(3016) => [
+ q(Judeo-Berber),
+ ],
+ q(3017) => [
+ q(Arandai),
+ ],
+ q(3018) => [
+ q(Nafusi),
+ ],
+ q(3019) => [
+ q(Jofotek-Bromnya),
+ ],
+ q(3020) => [
+ q(Jabuti),
+ ],
+ q(3021) => [
+ q(Jukun Takum),
+ ],
+ q(3022) => [
+ q(Jamaican Country Sign Language),
+ ],
+ q(3023) => [
+ q(Krymchak),
+ ],
+ q(3024) => [
+ q(Jad),
+ ],
+ q(3025) => [
+ q(Jadgali),
+ ],
+ q(3026) => [
+ q(Judeo-Tat),
+ ],
+ q(3027) => [
+ q(Jebero),
+ ],
+ q(3028) => [
+ q(Jerung),
+ ],
+ q(3029) => [
+ q(Jeng),
+ ],
+ q(3030) => [
+ q(Jeh),
+ ],
+ q(3031) => [
+ q(Yei),
+ ],
+ q(3032) => [
+ q(Jeri Kuo),
+ ],
+ q(3033) => [
+ q(Yelmek),
+ ],
+ q(3034) => [
+ q(Dza),
+ ],
+ q(3035) => [
+ q(Jere),
+ ],
+ q(3036) => [
+ q(Manem),
+ ],
+ q(3037) => [
+ q(Jonkor Bourmataguil),
+ ],
+ q(3038) => [
+ q(Ngbee),
+ ],
+ q(3039) => [
+ q(Judeo-Georgian),
+ ],
+ q(3040) => [
+ q(Ngomba),
+ ],
+ q(3041) => [
+ q(Jehai),
+ ],
+ q(3042) => [
+ q(Jhankot Sign Language),
+ ],
+ q(3043) => [
+ q(Jina),
+ ],
+ q(3044) => [
+ q(Jibu),
+ ],
+ q(3045) => [
+ q(Tol),
+ ],
+ q(3046) => [
+ q(Bu),
+ ],
+ q(3047) => [
+ q(Jilbe),
+ ],
+ q(3048) => [
+ q(Djingili),
+ ],
+ q(3049) => [
+ q(Shangzhai),
+ ],
+ q(3050) => [
+ q(Jiiddu),
+ ],
+ q(3051) => [
+ q(Jilim),
+ ],
+ q(3052) => [
+ q(Jimi (Cameroon)),
+ ],
+ q(3053) => [
+ q(Jiamao),
+ ],
+ q(3054) => [
+ q(Guanyinqiao),
+ ],
+ q(3055) => [
+ q(Jita),
+ ],
+ q(3056) => [
+ q(Youle Jinuo),
+ ],
+ q(3057) => [
+ q(Shuar),
+ ],
+ q(3058) => [
+ q(Buyuan Jinuo),
+ ],
+ q(3059) => [
+ q(Kubo),
+ ],
+ q(3060) => [
+ q(Labir),
+ ],
+ q(3061) => [
+ q(Ngile),
+ ],
+ q(3062) => [
+ q(Jamaican Sign Language),
+ ],
+ q(3063) => [
+ q(Dima),
+ ],
+ q(3064) => [
+ q(Zumbun),
+ ],
+ q(3065) => [
+ q(Machame),
+ ],
+ q(3066) => [
+ q(Yamdena),
+ ],
+ q(3067) => [
+ q(Jimi (Nigeria)),
+ ],
+ q(3068) => [
+ q(Jumli),
+ ],
+ q(3069) => [
+ q(Makuri Naga),
+ ],
+ q(3070) => [
+ q(Kamara),
+ ],
+ q(3071) => [
+ q(Mashi (Nigeria)),
+ ],
+ q(3072) => [
+ q(Western Juxtlahuaca Mixtec),
+ ],
+ q(3073) => [
+ q(Jangshung),
+ ],
+ q(3074) => [
+ q(Jandavra),
+ ],
+ q(3075) => [
+ q(Yangman),
+ ],
+ q(3076) => [
+ q(Janji),
+ ],
+ q(3077) => [
+ q(Yemsa),
+ ],
+ q(3078) => [
+ q(Rawat),
+ ],
+ q(3079) => [
+ q(Jaunsari),
+ ],
+ q(3080) => [
+ q(Joba),
+ ],
+ q(3081) => [
+ q(Wojenaka),
+ ],
+ q(3082) => [
+ q(Jora),
+ ],
+ q(3083) => [
+ q(Jordanian Sign Language),
+ ],
+ q(3084) => [
+ q(Jowulu),
+ ],
+ q(3085) => [
+ q(Jewish Palestinian Aramaic),
+ ],
+ q(3086) => [
+ q(Jaqaru),
+ ],
+ q(3087) => [
+ q(Jarai),
+ ],
+ q(3088) => [
+ q(Jiru),
+ ],
+ q(3089) => [
+ q(Jorto),
+ ],
+ q(3090) => [
+ q(Japreria),
+ ],
+ q(3091) => [
+ q(Japanese Sign Language),
+ ],
+ q(3092) => [
+ q(Juma),
+ ],
+ q(3093) => [
+ q(Wannu),
+ ],
+ q(3094) => [
+ q(Jurchen),
+ ],
+ q(3095) => [
+ q(Worodougou),
+ ],
+ q(3096) => [
+ q(Hone),
+ ],
+ q(3097) => [
+ q(Wapan),
+ ],
+ q(3098) => [
+ q(Jirel),
+ ],
+ q(3099) => [
+ q(Jumjum),
+ ],
+ q(3100) => [
+ q(Juang),
+ ],
+ q(3101) => [
+ q(Jiba),
+ ],
+ q(3102) => [
+ q(Hupde),
+ ],
+ q(3103) => [
+ q(Juruna),
+ ],
+ q(3104) => [
+ q(Jumla Sign Language),
+ ],
+ q(3105) => [
+ q(Jutish),
+ ],
+ q(3106) => [
+ q(Ju),
+ ],
+ q(3107) => [
+ q(Wapha),
+ ],
+ q(3108) => [
+ q(Juray),
+ ],
+ q(3109) => [
+ q(Javindo),
+ ],
+ q(3110) => [
+ q(Caribbean Javanese),
+ ],
+ q(3111) => [
+ q(Jwira-Pepesa),
+ ],
+ q(3112) => [
+ q(Jiarong),
+ ],
+ q(3113) => [
+ q(Judeo-Yemeni Arabic),
+ ],
+ q(3114) => [
+ q(Jaya),
+ ],
+ q(3115) => [
+ q(Kadara),
+ ],
+ q(3116) => [
+ q(Ketangalan),
+ ],
+ q(3117) => [
+ q(Katso),
+ ],
+ q(3118) => [
+ q(Kajaman),
+ ],
+ q(3119) => [
+ q(Kara (Central African Republic)),
+ ],
+ q(3120) => [
+ q(Karekare),
+ ],
+ q(3121) => [
+ q(Jju),
+ ],
+ q(3122) => [
+ q(Kayapa Kallahan),
+ ],
+ q(3123) => [
+ q(Xaasongaxango),
+ ],
+ q(3124) => [
+ q(Bezhta),
+ ],
+ q(3125) => [
+ q(Capanahua),
+ ],
+ q(3126) => [
+ q(Katukina),
+ ],
+ q(3127) => [
+ q(Kao),
+ ],
+ q(3128) => [
+ q(Kamayura),
+ ],
+ q(3129) => [
+ q(Kalarko),
+ ],
+ q(3130) => [
+ q(Kaxuiana),
+ ],
+ q(3131) => [
+ q(Kadiweu),
+ ],
+ q(3132) => [
+ q(Kanju),
+ ],
+ q(3133) => [
+ q(Kakauhua),
+ ],
+ q(3134) => [
+ q(Khamba),
+ ],
+ q(3135) => [
+ q(Camsa),
+ ],
+ q(3136) => [
+ q(Kaptiau),
+ ],
+ q(3137) => [
+ q(Kari),
+ ],
+ q(3138) => [
+ q(Grass Koiari),
+ ],
+ q(3139) => [
+ q(Kanembu),
+ ],
+ q(3140) => [
+ q(Iwal),
+ ],
+ q(3141) => [
+ q(Kare (Central African Republic)),
+ ],
+ q(3142) => [
+ q(Keliko),
+ ],
+ q(3143) => [
+ q(Kabiye),
+ ],
+ q(3144) => [
+ q(Kamano),
+ ],
+ q(3145) => [
+ q(Kafa),
+ ],
+ q(3146) => [
+ q(Kande),
+ ],
+ q(3147) => [
+ q(Abadi),
+ ],
+ q(3148) => [
+ q(Kabutra),
+ ],
+ q(3149) => [
+ q(Dera (Indonesia)),
+ ],
+ q(3150) => [
+ q(Kaiep),
+ ],
+ q(3151) => [
+ q(Ap Ma),
+ ],
+ q(3152) => [
+ q(Manga Kanuri),
+ ],
+ q(3153) => [
+ q(Duhwa),
+ ],
+ q(3154) => [
+ q(Khanty),
+ ],
+ q(3155) => [
+ q(Kawacha),
+ ],
+ q(3156) => [
+ q(Lubila),
+ ],
+ q(3157) => [
+ q(Ngkalmpw Kanum),
+ ],
+ q(3158) => [
+ q(Kaivi),
+ ],
+ q(3159) => [
+ q(Ukaan),
+ ],
+ q(3160) => [
+ q(Tyap),
+ ],
+ q(3161) => [
+ q(Vono),
+ ],
+ q(3162) => [
+ q(Kamantan),
+ ],
+ q(3163) => [
+ q(Kobiana),
+ ],
+ q(3164) => [
+ q(Kalanga),
+ ],
+ q(3165) => [
+ q(Kela (Papua New Guinea)),
+ ],
+ q(3166) => [
+ q(Gula (Central African Republic)),
+ ],
+ q(3167) => [
+ q(Nubi),
+ ],
+ q(3168) => [
+ q(Kinalakna),
+ ],
+ q(3169) => [
+ q(Kanga),
+ ],
+ q(3170) => [
+ q(Kamo),
+ ],
+ q(3171) => [
+ q(Katla),
+ ],
+ q(3172) => [
+ q(Koenoem),
+ ],
+ q(3173) => [
+ q(Kaian),
+ ],
+ q(3174) => [
+ q(Kami (Tanzania)),
+ ],
+ q(3175) => [
+ q(Kete),
+ ],
+ q(3176) => [
+ q(Kabwari),
+ ],
+ q(3177) => [
+ q(Kachama-Ganjule),
+ ],
+ q(3178) => [
+ q(Korandje),
+ ],
+ q(3179) => [
+ q(Konongo),
+ ],
+ q(3180) => [
+ q(Worimi),
+ ],
+ q(3181) => [
+ q(Kutu),
+ ],
+ q(3182) => [
+ q(Yankunytjatjara),
+ ],
+ q(3183) => [
+ q(Makonde),
+ ],
+ q(3184) => [
+ q(Mamusi),
+ ],
+ q(3185) => [
+ q(Seba),
+ ],
+ q(3186) => [
+ q(Tem),
+ ],
+ q(3187) => [
+ q(Kumam),
+ ],
+ q(3188) => [
+ q(Karamojong),
+ ],
+ q(3189) => [
+ q(Numee),
+ ],
+ q(3190) => [
+ q(Tsikimba),
+ ],
+ q(3191) => [
+ q(Kagoma),
+ ],
+ q(3192) => [
+ q(Kunda),
+ ],
+ q(3193) => [
+ q(Kaningdon-Nindem),
+ ],
+ q(3194) => [
+ q(Koch),
+ ],
+ q(3195) => [
+ q(Karaim),
+ ],
+ q(3196) => [
+ q(Kuy),
+ ],
+ q(3197) => [
+ q(Kadaru),
+ ],
+ q(3198) => [
+ q(Kado),
+ ],
+ q(3199) => [
+ q(Koneraw),
+ ],
+ q(3200) => [
+ q(Kam),
+ ],
+ q(3201) => [
+ q(Keder),
+ q(Keijar),
+ ],
+ q(3202) => [
+ q(Kwaja),
+ ],
+ q(3203) => [
+ q(Kabuverdianu),
+ ],
+ q(3204) => [
+ q(Kele),
+ ],
+ q(3205) => [
+ q(Keiga),
+ ],
+ q(3206) => [
+ q(Kerewe),
+ ],
+ q(3207) => [
+ q(Eastern Keres),
+ ],
+ q(3208) => [
+ q(Kpessi),
+ ],
+ q(3209) => [
+ q(Tese),
+ ],
+ q(3210) => [
+ q(Keak),
+ ],
+ q(3211) => [
+ q(Kei),
+ ],
+ q(3212) => [
+ q(Kadar),
+ ],
+ q(3213) => [
+ q(Kekchi),
+ ],
+ q(3214) => [
+ q(Kela (Democratic Republic of Congo)),
+ ],
+ q(3215) => [
+ q(Kemak),
+ ],
+ q(3216) => [
+ q(Kenyang),
+ ],
+ q(3217) => [
+ q(Kakwa),
+ ],
+ q(3218) => [
+ q(Kaikadi),
+ ],
+ q(3219) => [
+ q(Kamar),
+ ],
+ q(3220) => [
+ q(Kera),
+ ],
+ q(3221) => [
+ q(Kugbo),
+ ],
+ q(3222) => [
+ q(Ket),
+ ],
+ q(3223) => [
+ q(Akebu),
+ ],
+ q(3224) => [
+ q(Kanikkaran),
+ ],
+ q(3225) => [
+ q(West Kewa),
+ ],
+ q(3226) => [
+ q(Kukna),
+ ],
+ q(3227) => [
+ q(Kupia),
+ ],
+ q(3228) => [
+ q(Kukele),
+ ],
+ q(3229) => [
+ q(Kodava),
+ ],
+ q(3230) => [
+ q(Northwestern Kolami),
+ ],
+ q(3231) => [
+ q(Konda-Dora),
+ ],
+ q(3232) => [
+ q(Korra Koraga),
+ ],
+ q(3233) => [
+ q(Kota (India)),
+ ],
+ q(3234) => [
+ q(Koya),
+ ],
+ q(3235) => [
+ q(Kudiya),
+ ],
+ q(3236) => [
+ q(Kurichiya),
+ ],
+ q(3237) => [
+ q(Kannada Kurumba),
+ ],
+ q(3238) => [
+ q(Kemiehua),
+ ],
+ q(3239) => [
+ q(Kinnauri),
+ ],
+ q(3240) => [
+ q(Kung),
+ ],
+ q(3241) => [
+ q(Khunsari),
+ ],
+ q(3242) => [
+ q(Kuk),
+ ],
+ q(3243) => [
+ q(Koro (Cote d'Ivoire)),
+ ],
+ q(3244) => [
+ q(Korwa),
+ ],
+ q(3245) => [
+ q(Korku),
+ ],
+ q(3246) => [
+ q(Kachchi),
+ ],
+ q(3247) => [
+ q(Bilaspuri),
+ ],
+ q(3248) => [
+ q(Kanjari),
+ ],
+ q(3249) => [
+ q(Katkari),
+ ],
+ q(3250) => [
+ q(Kurmukar),
+ ],
+ q(3251) => [
+ q(Kharam Naga),
+ ],
+ q(3252) => [
+ q(Kullu Pahari),
+ ],
+ q(3253) => [
+ q(Kumaoni),
+ ],
+ q(3254) => [
+ q(Koromfe),
+ ],
+ q(3255) => [
+ q(Koyaga),
+ ],
+ q(3256) => [
+ q(Kawe),
+ ],
+ q(3257) => [
+ q(Kasseng),
+ ],
+ q(3258) => [
+ q(Kataang),
+ ],
+ q(3259) => [
+ q(Komering),
+ ],
+ q(3260) => [
+ q(Kube),
+ ],
+ q(3261) => [
+ q(Kusunda),
+ ],
+ q(3262) => [
+ q(Upper Tanudan Kalinga),
+ ],
+ q(3263) => [
+ q(Selangor Sign Language),
+ ],
+ q(3264) => [
+ q(Gamale Kham),
+ ],
+ q(3265) => [
+ q(Kaiwa),
+ ],
+ q(3266) => [
+ q(Kunggari),
+ ],
+ q(3267) => [
+ q(Karipuna),
+ ],
+ q(3268) => [
+ q(Karingani),
+ ],
+ q(3269) => [
+ q(Krongo),
+ ],
+ q(3270) => [
+ q(Kaingang),
+ ],
+ q(3271) => [
+ q(Kamoro),
+ ],
+ q(3272) => [
+ q(Abun),
+ ],
+ q(3273) => [
+ q(Kumbainggar),
+ ],
+ q(3274) => [
+ q(Somyev),
+ ],
+ q(3275) => [
+ q(Kobol),
+ ],
+ q(3276) => [
+ q(Karas),
+ ],
+ q(3277) => [
+ q(Karon Dori),
+ ],
+ q(3278) => [
+ q(Kamaru),
+ ],
+ q(3279) => [
+ q(Kyerung),
+ ],
+ q(3280) => [
+ q(Lu),
+ ],
+ q(3281) => [
+ q(Tukang Besi North),
+ ],
+ q(3282) => [
+ q(Badi Kanum),
+ ],
+ q(3283) => [
+ q(Korowai),
+ ],
+ q(3284) => [
+ q(Khuen),
+ ],
+ q(3285) => [
+ q(Khams Tibetan),
+ ],
+ q(3286) => [
+ q(Kehu),
+ ],
+ q(3287) => [
+ q(Kuturmi),
+ ],
+ q(3288) => [
+ q(Halh Mongolian),
+ ],
+ q(3289) => [
+ q(Lusi),
+ ],
+ q(3290) => [
+ q(Khandesi),
+ ],
+ q(3291) => [
+ q(Kapori),
+ q(Kapauri),
+ ],
+ q(3292) => [
+ q(Koyra Chiini Songhay),
+ ],
+ q(3293) => [
+ q(Kharia),
+ ],
+ q(3294) => [
+ q(Kasua),
+ ],
+ q(3295) => [
+ q(Khamti),
+ ],
+ q(3296) => [
+ q(Nkhumbi),
+ ],
+ q(3297) => [
+ q(Khvarshi),
+ ],
+ q(3298) => [
+ q(Khowar),
+ ],
+ q(3299) => [
+ q(Kanu),
+ ],
+ q(3300) => [
+ q(Kele (Democratic Republic of Congo)),
+ ],
+ q(3301) => [
+ q(Keapara),
+ ],
+ q(3302) => [
+ q(Kim),
+ ],
+ q(3303) => [
+ q(Koalib),
+ ],
+ q(3304) => [
+ q(Kickapoo),
+ ],
+ q(3305) => [
+ q(Koshin),
+ ],
+ q(3306) => [
+ q(Kibet),
+ ],
+ q(3307) => [
+ q(Eastern Parbate Kham),
+ ],
+ q(3308) => [
+ q(Kimaama),
+ q(Kimaghima),
+ ],
+ q(3309) => [
+ q(Kilmeri),
+ ],
+ q(3310) => [
+ q(Kitsai),
+ ],
+ q(3311) => [
+ q(Kilivila),
+ ],
+ q(3312) => [
+ q(Kariya),
+ ],
+ q(3313) => [
+ q(Karagas),
+ ],
+ q(3314) => [
+ q(Kiowa),
+ ],
+ q(3315) => [
+ q(Sheshi Kham),
+ ],
+ q(3316) => [
+ q(Kosadle),
+ q(Kosare),
+ ],
+ q(3317) => [
+ q(Kis),
+ ],
+ q(3318) => [
+ q(Agob),
+ ],
+ q(3319) => [
+ q(Kirmanjki (individual language)),
+ ],
+ q(3320) => [
+ q(Kimbu),
+ ],
+ q(3321) => [
+ q(Northeast Kiwai),
+ ],
+ q(3322) => [
+ q(Khiamniungan Naga),
+ ],
+ q(3323) => [
+ q(Kirikiri),
+ ],
+ q(3324) => [
+ q(Kisi),
+ ],
+ q(3325) => [
+ q(Mlap),
+ ],
+ q(3326) => [
+ q(Q'anjob'al),
+ q(Kanjobal),
+ ],
+ q(3327) => [
+ q(Coastal Konjo),
+ ],
+ q(3328) => [
+ q(Southern Kiwai),
+ ],
+ q(3329) => [
+ q(Kisar),
+ ],
+ q(3330) => [
+ q(Khalaj),
+ ],
+ q(3331) => [
+ q(Khmu),
+ ],
+ q(3332) => [
+ q(Khakas),
+ ],
+ q(3333) => [
+ q(Zabana),
+ ],
+ q(3334) => [
+ q(Khinalugh),
+ ],
+ q(3335) => [
+ q(Highland Konjo),
+ ],
+ q(3336) => [
+ q(Western Parbate Kham),
+ ],
+ q(3337) => [
+ q(Khang),
+ ],
+ q(3338) => [
+ q(Kunjen),
+ ],
+ q(3339) => [
+ q(Harijan Kinnauri),
+ ],
+ q(3340) => [
+ q(Pwo Eastern Karen),
+ ],
+ q(3341) => [
+ q(Western Keres),
+ ],
+ q(3342) => [
+ q(Kurudu),
+ ],
+ q(3343) => [
+ q(East Kewa),
+ ],
+ q(3344) => [
+ q(Phrae Pwo Karen),
+ ],
+ q(3345) => [
+ q(Kashaya),
+ ],
+ q(3346) => [
+ q(Ramopa),
+ ],
+ q(3347) => [
+ q(Erave),
+ ],
+ q(3348) => [
+ q(Bumthangkha),
+ ],
+ q(3349) => [
+ q(Kakanda),
+ ],
+ q(3350) => [
+ q(Kwerisa),
+ ],
+ q(3351) => [
+ q(Odoodee),
+ ],
+ q(3352) => [
+ q(Kinuku),
+ ],
+ q(3353) => [
+ q(Kakabe),
+ ],
+ q(3354) => [
+ q(Kalaktang Monpa),
+ ],
+ q(3355) => [
+ q(Mabaka Valley Kalinga),
+ ],
+ q(3356) => [
+ q(Khun),
+ ],
+ q(3357) => [
+ q(Kagulu),
+ ],
+ q(3358) => [
+ q(Kako),
+ ],
+ q(3359) => [
+ q(Kokota),
+ ],
+ q(3360) => [
+ q(Kosarek Yale),
+ ],
+ q(3361) => [
+ q(Kiong),
+ ],
+ q(3362) => [
+ q(Kon Keu),
+ ],
+ q(3363) => [
+ q(Karko),
+ ],
+ q(3364) => [
+ q(Gugubera),
+ ],
+ q(3365) => [
+ q(Kaiku),
+ ],
+ q(3366) => [
+ q(Kir-Balar),
+ ],
+ q(3367) => [
+ q(Giiwo),
+ ],
+ q(3368) => [
+ q(Koi),
+ ],
+ q(3369) => [
+ q(Tumi),
+ ],
+ q(3370) => [
+ q(Kangean),
+ ],
+ q(3371) => [
+ q(Teke-Kukuya),
+ ],
+ q(3372) => [
+ q(Kohin),
+ ],
+ q(3373) => [
+ q(Guguyimidjir),
+ ],
+ q(3374) => [
+ q(Kaska),
+ ],
+ q(3375) => [
+ q(Klamath-Modoc),
+ ],
+ q(3376) => [
+ q(Kiliwa),
+ ],
+ q(3377) => [
+ q(Kolbila),
+ ],
+ q(3378) => [
+ q(Gamilaraay),
+ ],
+ q(3379) => [
+ q(Kulung (Nepal)),
+ ],
+ q(3380) => [
+ q(Kendeje),
+ ],
+ q(3381) => [
+ q(Tagakaulo),
+ ],
+ q(3382) => [
+ q(Weliki),
+ ],
+ q(3383) => [
+ q(Kalumpang),
+ ],
+ q(3384) => [
+ q(Turkic Khalaj),
+ ],
+ q(3385) => [
+ q(Kono (Nigeria)),
+ ],
+ q(3386) => [
+ q(Kagan Kalagan),
+ ],
+ q(3387) => [
+ q(Migum),
+ ],
+ q(3388) => [
+ q(Kalenjin),
+ ],
+ q(3389) => [
+ q(Kapya),
+ ],
+ q(3390) => [
+ q(Kamasa),
+ ],
+ q(3391) => [
+ q(Rumu),
+ ],
+ q(3392) => [
+ q(Khaling),
+ ],
+ q(3393) => [
+ q(Kalasha),
+ ],
+ q(3394) => [
+ q(Nukna),
+ ],
+ q(3395) => [
+ q(Klao),
+ ],
+ q(3396) => [
+ q(Maskelynes),
+ ],
+ q(3397) => [
+ q(Lindu),
+ ],
+ q(3398) => [
+ q(Koluwawa),
+ ],
+ q(3399) => [
+ q(Kalao),
+ ],
+ q(3400) => [
+ q(Kabola),
+ ],
+ q(3401) => [
+ q(Konni),
+ ],
+ q(3402) => [
+ q(Southern Dong),
+ ],
+ q(3403) => [
+ q(Majukayang Kalinga),
+ ],
+ q(3404) => [
+ q(Bakole),
+ ],
+ q(3405) => [
+ q(Kare (Papua New Guinea)),
+ ],
+ q(3406) => [
+ q(Kate),
+ ],
+ q(3407) => [
+ q(Kalam),
+ ],
+ q(3408) => [
+ q(Kami (Nigeria)),
+ ],
+ q(3409) => [
+ q(Kumarbhag Paharia),
+ ],
+ q(3410) => [
+ q(Limos Kalinga),
+ ],
+ q(3411) => [
+ q(Lower Tanudan Kalinga),
+ ],
+ q(3412) => [
+ q(Kom (India)),
+ ],
+ q(3413) => [
+ q(Awtuw),
+ ],
+ q(3414) => [
+ q(Kwoma),
+ ],
+ q(3415) => [
+ q(Gimme),
+ ],
+ q(3416) => [
+ q(Kwama),
+ ],
+ q(3417) => [
+ q(Northern Kurdish),
+ ],
+ q(3418) => [
+ q(Kamasau),
+ ],
+ q(3419) => [
+ q(Kemtuik),
+ ],
+ q(3420) => [
+ q(Kanite),
+ ],
+ q(3421) => [
+ q(Karipuna Creole French),
+ ],
+ q(3422) => [
+ q(Komo (Democratic Republic of Congo)),
+ ],
+ q(3423) => [
+ q(Waboda),
+ ],
+ q(3424) => [
+ q(Koma),
+ ],
+ q(3425) => [
+ q(Khorasani Turkish),
+ ],
+ q(3426) => [
+ q(Dera (Nigeria)),
+ ],
+ q(3427) => [
+ q(Lubuagan Kalinga),
+ ],
+ q(3428) => [
+ q(Central Kanuri),
+ ],
+ q(3429) => [
+ q(Konda),
+ ],
+ q(3430) => [
+ q(Kankanaey),
+ ],
+ q(3431) => [
+ q(Mankanya),
+ ],
+ q(3432) => [
+ q(Koongo),
+ ],
+ q(3433) => [
+ q(Kanufi),
+ ],
+ q(3434) => [
+ q(Western Kanjobal),
+ ],
+ q(3435) => [
+ q(Kuranko),
+ ],
+ q(3436) => [
+ q(Keninjal),
+ ],
+ q(3437) => [
+ q(Kanamari),
+ ],
+ q(3438) => [
+ q(Konkani (individual language)),
+ ],
+ q(3439) => [
+ q(Kono (Sierra Leone)),
+ ],
+ q(3440) => [
+ q(Kwanja),
+ ],
+ q(3441) => [
+ q(Kintaq),
+ ],
+ q(3442) => [
+ q(Kaningra),
+ ],
+ q(3443) => [
+ q(Kensiu),
+ ],
+ q(3444) => [
+ q(Panoan Katukina),
+ ],
+ q(3445) => [
+ q(Kono (Guinea)),
+ ],
+ q(3446) => [
+ q(Tabo),
+ ],
+ q(3447) => [
+ q(Kung-Ekoka),
+ ],
+ q(3448) => [
+ q(Kendayan),
+ q(Salako),
+ ],
+ q(3449) => [
+ q(Kanyok),
+ ],
+ q(3450) => [
+ q(Kalamse),
+ ],
+ q(3451) => [
+ q(Konomala),
+ ],
+ q(3452) => [
+ q(Kpati),
+ ],
+ q(3453) => [
+ q(Kodi),
+ ],
+ q(3454) => [
+ q(Kacipo-Balesi),
+ ],
+ q(3455) => [
+ q(Kubi),
+ ],
+ q(3456) => [
+ q(Cogui),
+ q(Kogi),
+ ],
+ q(3457) => [
+ q(Koyo),
+ ],
+ q(3458) => [
+ q(Komi-Permyak),
+ ],
+ q(3459) => [
+ q(Sara Dunjo),
+ ],
+ q(3460) => [
+ q(Kol (Papua New Guinea)),
+ ],
+ q(3461) => [
+ q(Konzo),
+ ],
+ q(3462) => [
+ q(Waube),
+ ],
+ q(3463) => [
+ q(Kota (Gabon)),
+ ],
+ q(3464) => [
+ q(Lagwan),
+ ],
+ q(3465) => [
+ q(Koke),
+ ],
+ q(3466) => [
+ q(Kudu-Camo),
+ ],
+ q(3467) => [
+ q(Kugama),
+ ],
+ q(3468) => [
+ q(Coxima),
+ ],
+ q(3469) => [
+ q(Koyukon),
+ ],
+ q(3470) => [
+ q(Korak),
+ ],
+ q(3471) => [
+ q(Kutto),
+ ],
+ q(3472) => [
+ q(Mullu Kurumba),
+ ],
+ q(3473) => [
+ q(Curripaco),
+ ],
+ q(3474) => [
+ q(Koba),
+ ],
+ q(3475) => [
+ q(Komba),
+ ],
+ q(3476) => [
+ q(Kapingamarangi),
+ ],
+ q(3477) => [
+ q(Kplang),
+ ],
+ q(3478) => [
+ q(Kofei),
+ ],
+ q(3479) => [
+ q(Karaja),
+ ],
+ q(3480) => [
+ q(Kpan),
+ ],
+ q(3481) => [
+ q(Kpala),
+ ],
+ q(3482) => [
+ q(Koho),
+ ],
+ q(3483) => [
+ q(Kepkiriwat),
+ ],
+ q(3484) => [
+ q(Ikposo),
+ ],
+ q(3485) => [
+ q(Paku Karen),
+ ],
+ q(3486) => [
+ q(Korupun-Sela),
+ ],
+ q(3487) => [
+ q(Korafe-Yegha),
+ ],
+ q(3488) => [
+ q(Tehit),
+ ],
+ q(3489) => [
+ q(Karata),
+ ],
+ q(3490) => [
+ q(Kafoa),
+ ],
+ q(3491) => [
+ q(Komi-Zyrian),
+ ],
+ q(3492) => [
+ q(Kobon),
+ ],
+ q(3493) => [
+ q(Mountain Koiali),
+ ],
+ q(3494) => [
+ q(Koryak),
+ ],
+ q(3495) => [
+ q(Kupsabiny),
+ ],
+ q(3496) => [
+ q(Mum),
+ ],
+ q(3497) => [
+ q(Kovai),
+ ],
+ q(3498) => [
+ q(Doromu-Koki),
+ ],
+ q(3499) => [
+ q(Koy Sanjaq Surat),
+ ],
+ q(3500) => [
+ q(Kalagan),
+ ],
+ q(3501) => [
+ q(Kakabai),
+ ],
+ q(3502) => [
+ q(Khe),
+ ],
+ q(3503) => [
+ q(Kisankasa),
+ ],
+ q(3504) => [
+ q(Koitabu),
+ ],
+ q(3505) => [
+ q(Koromira),
+ ],
+ q(3506) => [
+ q(Kotafon Gbe),
+ ],
+ q(3507) => [
+ q(Kyenele),
+ ],
+ q(3508) => [
+ q(Khisa),
+ ],
+ q(3509) => [
+ q(Kaonde),
+ ],
+ q(3510) => [
+ q(Eastern Krahn),
+ ],
+ q(3511) => [
+ q(Kimre),
+ ],
+ q(3512) => [
+ q(Krenak),
+ ],
+ q(3513) => [
+ q(Kimaragang),
+ ],
+ q(3514) => [
+ q(Northern Kissi),
+ ],
+ q(3515) => [
+ q(Klias River Kadazan),
+ ],
+ q(3516) => [
+ q(Seroa),
+ ],
+ q(3517) => [
+ q(Okolod),
+ ],
+ q(3518) => [
+ q(Kandas),
+ ],
+ q(3519) => [
+ q(Mser),
+ ],
+ q(3520) => [
+ q(Koorete),
+ ],
+ q(3521) => [
+ q(Korana),
+ ],
+ q(3522) => [
+ q(Kumhali),
+ ],
+ q(3523) => [
+ q(Karkin),
+ ],
+ q(3524) => [
+ q(Kairui-Midiki),
+ ],
+ q(3525) => [
+ q(Panara),
+ ],
+ q(3526) => [
+ q(Koro (Vanuatu)),
+ ],
+ q(3527) => [
+ q(Kurama),
+ ],
+ q(3528) => [
+ q(Krio),
+ ],
+ q(3529) => [
+ q(Kinaray-A),
+ ],
+ q(3530) => [
+ q(Kerek),
+ ],
+ q(3531) => [
+ q(Krim),
+ ],
+ q(3532) => [
+ q(Sapo),
+ ],
+ q(3533) => [
+ q(Korop),
+ ],
+ q(3534) => [
+ q(Kru'ng 2),
+ ],
+ q(3535) => [
+ q(Gbaya (Sudan)),
+ ],
+ q(3536) => [
+ q(Tumari Kanuri),
+ ],
+ q(3537) => [
+ q(Kavet),
+ ],
+ q(3538) => [
+ q(Western Krahn),
+ ],
+ q(3539) => [
+ q(Karon),
+ ],
+ q(3540) => [
+ q(Kryts),
+ ],
+ q(3541) => [
+ q(Sota Kanum),
+ ],
+ q(3542) => [
+ q(Shuwa-Zamani),
+ ],
+ q(3543) => [
+ q(Shambala),
+ ],
+ q(3544) => [
+ q(Southern Kalinga),
+ ],
+ q(3545) => [
+ q(Kuanua),
+ ],
+ q(3546) => [
+ q(Kuni),
+ ],
+ q(3547) => [
+ q(Bafia),
+ ],
+ q(3548) => [
+ q(Kusaghe),
+ ],
+ q(3549) => [
+ q(Kolsch),
+ ],
+ q(3550) => [
+ q(Krisa),
+ q(I'saka),
+ ],
+ q(3551) => [
+ q(Uare),
+ ],
+ q(3552) => [
+ q(Kansa),
+ ],
+ q(3553) => [
+ q(Kumalu),
+ ],
+ q(3554) => [
+ q(Kumba),
+ ],
+ q(3555) => [
+ q(Kasiguranin),
+ ],
+ q(3556) => [
+ q(Kofa),
+ ],
+ q(3557) => [
+ q(Kaba),
+ ],
+ q(3558) => [
+ q(Kwaami),
+ ],
+ q(3559) => [
+ q(Borong),
+ ],
+ q(3560) => [
+ q(Southern Kisi),
+ ],
+ q(3561) => [
+ q(Winye),
+ ],
+ q(3562) => [
+ q(Khamyang),
+ ],
+ q(3563) => [
+ q(Kusu),
+ ],
+ q(3564) => [
+ q(S'gaw Karen),
+ ],
+ q(3565) => [
+ q(Kedang),
+ ],
+ q(3566) => [
+ q(Kharia Thar),
+ ],
+ q(3567) => [
+ q(Kodaku),
+ ],
+ q(3568) => [
+ q(Katua),
+ ],
+ q(3569) => [
+ q(Kambaata),
+ ],
+ q(3570) => [
+ q(Kholok),
+ ],
+ q(3571) => [
+ q(Kokata),
+ ],
+ q(3572) => [
+ q(Nubri),
+ ],
+ q(3573) => [
+ q(Kwami),
+ ],
+ q(3574) => [
+ q(Kalkutung),
+ ],
+ q(3575) => [
+ q(Karanga),
+ ],
+ q(3576) => [
+ q(North Muyu),
+ ],
+ q(3577) => [
+ q(Plapo Krumen),
+ ],
+ q(3578) => [
+ q(Kaniet),
+ ],
+ q(3579) => [
+ q(Koroshi),
+ ],
+ q(3580) => [
+ q(Kurti),
+ ],
+ q(3581) => [
+ q(Karitiana),
+ ],
+ q(3582) => [
+ q(Kuot),
+ ],
+ q(3583) => [
+ q(Kaduo),
+ ],
+ q(3584) => [
+ q(Katabaga),
+ ],
+ q(3585) => [
+ q(Kota Marudu Tinagas),
+ ],
+ q(3586) => [
+ q(South Muyu),
+ ],
+ q(3587) => [
+ q(Ketum),
+ ],
+ q(3588) => [
+ q(Kituba (Democratic Republic of Congo)),
+ ],
+ q(3589) => [
+ q(Eastern Katu),
+ ],
+ q(3590) => [
+ q(Kato),
+ ],
+ q(3591) => [
+ q(Kaxarari),
+ ],
+ q(3592) => [
+ q(Kango (Bas-Uele District)),
+ ],
+ q(3593) => [
+ q(Ju/'hoan),
+ ],
+ q(3594) => [
+ q(Kutep),
+ ],
+ q(3595) => [
+ q(Kwinsu),
+ ],
+ q(3596) => [
+ q('Auhelawa),
+ ],
+ q(3597) => [
+ q(Kuman),
+ ],
+ q(3598) => [
+ q(Western Katu),
+ ],
+ q(3599) => [
+ q(Kupa),
+ ],
+ q(3600) => [
+ q(Kushi),
+ ],
+ q(3601) => [
+ q(Kuikuro-Kalapalo),
+ ],
+ q(3602) => [
+ q(Kuria),
+ ],
+ q(3603) => [
+ q(Kepo'),
+ ],
+ q(3604) => [
+ q(Kulere),
+ ],
+ q(3605) => [
+ q(Kunama),
+ ],
+ q(3606) => [
+ q(Kumukio),
+ ],
+ q(3607) => [
+ q(Kunimaipa),
+ ],
+ q(3608) => [
+ q(Kusaal),
+ ],
+ q(3609) => [
+ q(Upper Kuskokwim),
+ ],
+ q(3610) => [
+ q(Kur),
+ ],
+ q(3611) => [
+ q(Kpagua),
+ ],
+ q(3612) => [
+ q(Kukatja),
+ ],
+ q(3613) => [
+ q(Kuuku-Ya'u),
+ ],
+ q(3614) => [
+ q(Kunza),
+ ],
+ q(3615) => [
+ q(Bagvalal),
+ ],
+ q(3616) => [
+ q(Kubu),
+ ],
+ q(3617) => [
+ q(Kove),
+ ],
+ q(3618) => [
+ q(Kui (Indonesia)),
+ ],
+ q(3619) => [
+ q(Kalabakan),
+ ],
+ q(3620) => [
+ q(Kabalai),
+ ],
+ q(3621) => [
+ q(Kuni-Boazi),
+ ],
+ q(3622) => [
+ q(Komodo),
+ ],
+ q(3623) => [
+ q(Kwang),
+ ],
+ q(3624) => [
+ q(Psikye),
+ ],
+ q(3625) => [
+ q(Korean Sign Language),
+ ],
+ q(3626) => [
+ q(Brek Karen),
+ ],
+ q(3627) => [
+ q(Kendem),
+ ],
+ q(3628) => [
+ q(Border Kuna),
+ ],
+ q(3629) => [
+ q(Dobel),
+ ],
+ q(3630) => [
+ q(Kompane),
+ ],
+ q(3631) => [
+ q(Geba Karen),
+ ],
+ q(3632) => [
+ q(Kerinci),
+ ],
+ q(3633) => [
+ q(Kunggara),
+ ],
+ q(3634) => [
+ q(Lahta Karen),
+ ],
+ q(3635) => [
+ q(Yinbaw Karen),
+ ],
+ q(3636) => [
+ q(Kola),
+ ],
+ q(3637) => [
+ q(Wersing),
+ ],
+ q(3638) => [
+ q(Parkari Koli),
+ ],
+ q(3639) => [
+ q(Yintale Karen),
+ ],
+ q(3640) => [
+ q(Tsakwambo),
+ q(Tsaukambo),
+ ],
+ q(3641) => [
+ q(Daw),
+ ],
+ q(3642) => [
+ q(Kwa),
+ ],
+ q(3643) => [
+ q(Likwala),
+ ],
+ q(3644) => [
+ q(Kwaio),
+ ],
+ q(3645) => [
+ q(Kwerba),
+ ],
+ q(3646) => [
+ q(Kwara'ae),
+ ],
+ q(3647) => [
+ q(Sara Kaba Deme),
+ ],
+ q(3648) => [
+ q(Kowiai),
+ ],
+ q(3649) => [
+ q(Awa-Cuaiquer),
+ ],
+ q(3650) => [
+ q(Kwanga),
+ ],
+ q(3651) => [
+ q(Kwakiutl),
+ ],
+ q(3652) => [
+ q(Kofyar),
+ ],
+ q(3653) => [
+ q(Kwambi),
+ ],
+ q(3654) => [
+ q(Kwangali),
+ ],
+ q(3655) => [
+ q(Kwomtari),
+ ],
+ q(3656) => [
+ q(Kodia),
+ ],
+ q(3657) => [
+ q(Kwak),
+ ],
+ q(3658) => [
+ q(Kwer),
+ ],
+ q(3659) => [
+ q(Kwese),
+ ],
+ q(3660) => [
+ q(Kwesten),
+ ],
+ q(3661) => [
+ q(Kwakum),
+ ],
+ q(3662) => [
+ q(Sara Kaba Naa),
+ ],
+ q(3663) => [
+ q(Kwinti),
+ ],
+ q(3664) => [
+ q(Khirwar),
+ ],
+ q(3665) => [
+ q(San Salvador Kongo),
+ ],
+ q(3666) => [
+ q(Kwadi),
+ ],
+ q(3667) => [
+ q(Kairiru),
+ ],
+ q(3668) => [
+ q(Krobu),
+ ],
+ q(3669) => [
+ q(Konso),
+ q(Khonso),
+ ],
+ q(3670) => [
+ q(Brunei),
+ ],
+ q(3671) => [
+ q(Kakihum),
+ ],
+ q(3672) => [
+ q(Manumanaw Karen),
+ ],
+ q(3673) => [
+ q(Karo (Ethiopia)),
+ ],
+ q(3674) => [
+ q(Keningau Murut),
+ ],
+ q(3675) => [
+ q(Kulfa),
+ ],
+ q(3676) => [
+ q(Zayein Karen),
+ ],
+ q(3677) => [
+ q(Nepali Kurux),
+ ],
+ q(3678) => [
+ q(Northern Khmer),
+ ],
+ q(3679) => [
+ q(Kanowit-Tanjong Melanau),
+ ],
+ q(3680) => [
+ q(Kanoe),
+ ],
+ q(3681) => [
+ q(Wadiyara Koli),
+ ],
+ q(3682) => [
+ q(Smarky Kanum),
+ ],
+ q(3683) => [
+ q(Koro (Papua New Guinea)),
+ ],
+ q(3684) => [
+ q(Kangjia),
+ ],
+ q(3685) => [
+ q(Koiwat),
+ ],
+ q(3686) => [
+ q(Kui (India)),
+ ],
+ q(3687) => [
+ q(Kuvi),
+ ],
+ q(3688) => [
+ q(Konai),
+ ],
+ q(3689) => [
+ q(Likuba),
+ ],
+ q(3690) => [
+ q(Kayong),
+ ],
+ q(3691) => [
+ q(Kerewo),
+ ],
+ q(3692) => [
+ q(Kwaya),
+ ],
+ q(3693) => [
+ q(Butbut Kalinga),
+ ],
+ q(3694) => [
+ q(Kyaka),
+ ],
+ q(3695) => [
+ q(Karey),
+ ],
+ q(3696) => [
+ q(Krache),
+ ],
+ q(3697) => [
+ q(Kouya),
+ ],
+ q(3698) => [
+ q(Keyagana),
+ ],
+ q(3699) => [
+ q(Karok),
+ ],
+ q(3700) => [
+ q(Kiput),
+ ],
+ q(3701) => [
+ q(Karao),
+ ],
+ q(3702) => [
+ q(Kamayo),
+ ],
+ q(3703) => [
+ q(Kalapuya),
+ ],
+ q(3704) => [
+ q(Kpatili),
+ ],
+ q(3705) => [
+ q(Northern Binukidnon),
+ ],
+ q(3706) => [
+ q(Kelon),
+ ],
+ q(3707) => [
+ q(Kang),
+ ],
+ q(3708) => [
+ q(Kenga),
+ ],
+ q(3709) => [
+ q(Kuruaya),
+ ],
+ q(3710) => [
+ q(Baram Kayan),
+ ],
+ q(3711) => [
+ q(Kayagar),
+ ],
+ q(3712) => [
+ q(Western Kayah),
+ ],
+ q(3713) => [
+ q(Kayort),
+ ],
+ q(3714) => [
+ q(Kudmali),
+ ],
+ q(3715) => [
+ q(Rapoisi),
+ ],
+ q(3716) => [
+ q(Kambaira),
+ ],
+ q(3717) => [
+ q(Kayabi),
+ ],
+ q(3718) => [
+ q(Western Karaboro),
+ ],
+ q(3719) => [
+ q(Kaibobo),
+ ],
+ q(3720) => [
+ q(Bondoukou Kulango),
+ ],
+ q(3721) => [
+ q(Kadai),
+ ],
+ q(3722) => [
+ q(Kosena),
+ ],
+ q(3723) => [
+ q(Da'a Kaili),
+ ],
+ q(3724) => [
+ q(Kikai),
+ ],
+ q(3725) => [
+ q(Kenuzi-Dongola),
+ ],
+ q(3726) => [
+ q(Kelabit),
+ ],
+ q(3727) => [
+ q(Coastal Kadazan),
+ ],
+ q(3728) => [
+ q(Kazukuru),
+ ],
+ q(3729) => [
+ q(Kayeli),
+ ],
+ q(3730) => [
+ q(Kais),
+ ],
+ q(3731) => [
+ q(Kokola),
+ ],
+ q(3732) => [
+ q(Kaningi),
+ ],
+ q(3733) => [
+ q(Kaidipang),
+ ],
+ q(3734) => [
+ q(Kaike),
+ ],
+ q(3735) => [
+ q(Karang),
+ ],
+ q(3736) => [
+ q(Sugut Dusun),
+ ],
+ q(3737) => [
+ q(Tambunan Dusun),
+ ],
+ q(3738) => [
+ q(Kayupulau),
+ ],
+ q(3739) => [
+ q(Komyandaret),
+ ],
+ q(3740) => [
+ q(Kariri-Xoco),
+ ],
+ q(3741) => [
+ q(Kamarian),
+ ],
+ q(3742) => [
+ q(Kango (Tshopo District)),
+ ],
+ q(3743) => [
+ q(Kalabra),
+ ],
+ q(3744) => [
+ q(Southern Subanen),
+ ],
+ q(3745) => [
+ q(Linear A),
+ ],
+ q(3746) => [
+ q(Lacandon),
+ ],
+ q(3747) => [
+ q(Pattani),
+ ],
+ q(3748) => [
+ q(Lafofa),
+ ],
+ q(3749) => [
+ q(Langi),
+ ],
+ q(3750) => [
+ q(Lambya),
+ ],
+ q(3751) => [
+ q(Lango (Uganda)),
+ ],
+ q(3752) => [
+ q(Laka (Nigeria)),
+ ],
+ q(3753) => [
+ q(Lalia),
+ ],
+ q(3754) => [
+ q(Laru),
+ ],
+ q(3755) => [
+ q(Laka (Chad)),
+ ],
+ q(3756) => [
+ q(Qabiao),
+ ],
+ q(3757) => [
+ q(Larteh),
+ ],
+ q(3758) => [
+ q(Lama (Togo)),
+ ],
+ q(3759) => [
+ q(Laba),
+ ],
+ q(3760) => [
+ q(Lauje),
+ ],
+ q(3761) => [
+ q(Tiwa),
+ ],
+ q(3762) => [
+ q(Lama (Myanmar)),
+ ],
+ q(3763) => [
+ q(Aribwatsa),
+ ],
+ q(3764) => [
+ q(Lui),
+ ],
+ q(3765) => [
+ q(Label),
+ ],
+ q(3766) => [
+ q(Lakkia),
+ ],
+ q(3767) => [
+ q(Lak),
+ ],
+ q(3768) => [
+ q(Tinani),
+ ],
+ q(3769) => [
+ q(Laopang),
+ ],
+ q(3770) => [
+ q(La'bi),
+ ],
+ q(3771) => [
+ q(Ladakhi),
+ ],
+ q(3772) => [
+ q(Central Bontok),
+ ],
+ q(3773) => [
+ q(Libon Bikol),
+ ],
+ q(3774) => [
+ q(Lodhi),
+ ],
+ q(3775) => [
+ q(Lamet),
+ ],
+ q(3776) => [
+ q(Laven),
+ ],
+ q(3777) => [
+ q(Wampar),
+ ],
+ q(3778) => [
+ q(Northern Lorung),
+ ],
+ q(3779) => [
+ q(Libyan Sign Language),
+ ],
+ q(3780) => [
+ q(Lachi),
+ ],
+ q(3781) => [
+ q(Labu),
+ ],
+ q(3782) => [
+ q(Lavatbura-Lamusong),
+ ],
+ q(3783) => [
+ q(Tolaki),
+ ],
+ q(3784) => [
+ q(Lawangan),
+ ],
+ q(3785) => [
+ q(Lamu-Lamu),
+ ],
+ q(3786) => [
+ q(Lardil),
+ ],
+ q(3787) => [
+ q(Legenyem),
+ ],
+ q(3788) => [
+ q(Lola),
+ ],
+ q(3789) => [
+ q(Loncong),
+ ],
+ q(3790) => [
+ q(Lubu),
+ ],
+ q(3791) => [
+ q(Luchazi),
+ ],
+ q(3792) => [
+ q(Lisela),
+ ],
+ q(3793) => [
+ q(Tungag),
+ ],
+ q(3794) => [
+ q(Western Lawa),
+ ],
+ q(3795) => [
+ q(Luhu),
+ ],
+ q(3796) => [
+ q(Lisabata-Nuniali),
+ ],
+ q(3797) => [
+ q(Idun),
+ ],
+ q(3798) => [
+ q(Luri),
+ ],
+ q(3799) => [
+ q(Lenyima),
+ ],
+ q(3800) => [
+ q(Lamja-Dengsa-Tola),
+ ],
+ q(3801) => [
+ q(Laari),
+ ],
+ q(3802) => [
+ q(Lemoro),
+ ],
+ q(3803) => [
+ q(Leelau),
+ ],
+ q(3804) => [
+ q(Kaan),
+ ],
+ q(3805) => [
+ q(Landoma),
+ ],
+ q(3806) => [
+ q(Laadan),
+ ],
+ q(3807) => [
+ q(Loo),
+ ],
+ q(3808) => [
+ q(Tso),
+ ],
+ q(3809) => [
+ q(Lufu),
+ ],
+ q(3810) => [
+ q(Lega-Shabunda),
+ ],
+ q(3811) => [
+ q(Lala-Bisa),
+ ],
+ q(3812) => [
+ q(Leco),
+ ],
+ q(3813) => [
+ q(Lendu),
+ ],
+ q(3814) => [
+ q(Lyele),
+ ],
+ q(3815) => [
+ q(Lelemi),
+ ],
+ q(3816) => [
+ q(Lengua),
+ ],
+ q(3817) => [
+ q(Lenje),
+ ],
+ q(3818) => [
+ q(Lemio),
+ ],
+ q(3819) => [
+ q(Lengola),
+ ],
+ q(3820) => [
+ q(Leipon),
+ ],
+ q(3821) => [
+ q(Lele (Democratic Republic of Congo)),
+ ],
+ q(3822) => [
+ q(Nomaande),
+ ],
+ q(3823) => [
+ q(Lenca),
+ ],
+ q(3824) => [
+ q(Leti (Cameroon)),
+ ],
+ q(3825) => [
+ q(Lepcha),
+ ],
+ q(3826) => [
+ q(Lembena),
+ ],
+ q(3827) => [
+ q(Lenkau),
+ ],
+ q(3828) => [
+ q(Lese),
+ ],
+ q(3829) => [
+ q(Lesing-Gelimi),
+ ],
+ q(3830) => [
+ q(Kara (Papua New Guinea)),
+ ],
+ q(3831) => [
+ q(Lamma),
+ ],
+ q(3832) => [
+ q(Ledo Kaili),
+ ],
+ q(3833) => [
+ q(Luang),
+ ],
+ q(3834) => [
+ q(Lemolang),
+ ],
+ q(3835) => [
+ q(Lefa),
+ ],
+ q(3836) => [
+ q(Lingua Franca Nova),
+ ],
+ q(3837) => [
+ q(Lungga),
+ ],
+ q(3838) => [
+ q(Laghu),
+ ],
+ q(3839) => [
+ q(Lugbara),
+ ],
+ q(3840) => [
+ q(Laghuu),
+ ],
+ q(3841) => [
+ q(Lengilu),
+ ],
+ q(3842) => [
+ q(Lingarak),
+ q(Neverver),
+ ],
+ q(3843) => [
+ q(Wala),
+ ],
+ q(3844) => [
+ q(Lega-Mwenga),
+ ],
+ q(3845) => [
+ q(Opuuo),
+ ],
+ q(3846) => [
+ q(Logba),
+ ],
+ q(3847) => [
+ q(Lengo),
+ ],
+ q(3848) => [
+ q(Pahi),
+ ],
+ q(3849) => [
+ q(Longgu),
+ ],
+ q(3850) => [
+ q(Ligenza),
+ ],
+ q(3851) => [
+ q(Laha (Viet Nam)),
+ ],
+ q(3852) => [
+ q(Laha (Indonesia)),
+ ],
+ q(3853) => [
+ q(Lahu Shi),
+ ],
+ q(3854) => [
+ q(Lahul Lohar),
+ ],
+ q(3855) => [
+ q(Lhomi),
+ ],
+ q(3856) => [
+ q(Lahanan),
+ ],
+ q(3857) => [
+ q(Lhokpu),
+ ],
+ q(3858) => [
+ q(Mlahso),
+ ],
+ q(3859) => [
+ q(Lo-Toga),
+ ],
+ q(3860) => [
+ q(Lahu),
+ ],
+ q(3861) => [
+ q(West-Central Limba),
+ ],
+ q(3862) => [
+ q(Likum),
+ ],
+ q(3863) => [
+ q(Hlai),
+ ],
+ q(3864) => [
+ q(Nyindrou),
+ ],
+ q(3865) => [
+ q(Likila),
+ ],
+ q(3866) => [
+ q(Limbu),
+ ],
+ q(3867) => [
+ q(Ligbi),
+ ],
+ q(3868) => [
+ q(Lihir),
+ ],
+ q(3869) => [
+ q(Lingkhim),
+ ],
+ q(3870) => [
+ q(Ligurian),
+ ],
+ q(3871) => [
+ q(Lika),
+ ],
+ q(3872) => [
+ q(Lillooet),
+ ],
+ q(3873) => [
+ q(Liki),
+ ],
+ q(3874) => [
+ q(Sekpele),
+ ],
+ q(3875) => [
+ q(Libido),
+ ],
+ q(3876) => [
+ q(Liberian English),
+ ],
+ q(3877) => [
+ q(Lisu),
+ ],
+ q(3878) => [
+ q(Logorik),
+ ],
+ q(3879) => [
+ q(Liv),
+ ],
+ q(3880) => [
+ q(Col),
+ ],
+ q(3881) => [
+ q(Liabuku),
+ ],
+ q(3882) => [
+ q(Banda-Bambari),
+ ],
+ q(3883) => [
+ q(Libinza),
+ ],
+ q(3884) => [
+ q(Rampi),
+ ],
+ q(3885) => [
+ q(Laiyolo),
+ ],
+ q(3886) => [
+ q(Li'o),
+ ],
+ q(3887) => [
+ q(Lampung Api),
+ ],
+ q(3888) => [
+ q(Lakalei),
+ ],
+ q(3889) => [
+ q(Kabras),
+ q(Lukabaras),
+ ],
+ q(3890) => [
+ q(Kucong),
+ ],
+ q(3891) => [
+ q(Lakonde),
+ ],
+ q(3892) => [
+ q(Kenyi),
+ ],
+ q(3893) => [
+ q(Lakha),
+ ],
+ q(3894) => [
+ q(Laki),
+ ],
+ q(3895) => [
+ q(Remun),
+ ],
+ q(3896) => [
+ q(Laeko-Libuat),
+ ],
+ q(3897) => [
+ q(Lakon),
+ q(Vure),
+ ],
+ q(3898) => [
+ q(Khayo),
+ q(Olukhayo),
+ ],
+ q(3899) => [
+ q(Pari),
+ ],
+ q(3900) => [
+ q(Kisa),
+ q(Olushisa),
+ ],
+ q(3901) => [
+ q(Lakota),
+ ],
+ q(3902) => [
+ q(Lokoya),
+ ],
+ q(3903) => [
+ q(Lala-Roba),
+ ],
+ q(3904) => [
+ q(Lolo),
+ ],
+ q(3905) => [
+ q(Lele (Guinea)),
+ ],
+ q(3906) => [
+ q(Ladin),
+ ],
+ q(3907) => [
+ q(Lele (Papua New Guinea)),
+ ],
+ q(3908) => [
+ q(Hermit),
+ ],
+ q(3909) => [
+ q(Lole),
+ ],
+ q(3910) => [
+ q(Lamu),
+ ],
+ q(3911) => [
+ q(Teke-Laali),
+ ],
+ q(3912) => [
+ q(Lelak),
+ ],
+ q(3913) => [
+ q(Lilau),
+ ],
+ q(3914) => [
+ q(Lasalimu),
+ ],
+ q(3915) => [
+ q(Lele (Chad)),
+ ],
+ q(3916) => [
+ q(Khlor),
+ ],
+ q(3917) => [
+ q(North Efate),
+ ],
+ q(3918) => [
+ q(Lolak),
+ ],
+ q(3919) => [
+ q(Lithuanian Sign Language),
+ ],
+ q(3920) => [
+ q(Lau),
+ ],
+ q(3921) => [
+ q(Lauan),
+ ],
+ q(3922) => [
+ q(East Limba),
+ ],
+ q(3923) => [
+ q(Merei),
+ ],
+ q(3924) => [
+ q(Limilngan),
+ ],
+ q(3925) => [
+ q(Lumun),
+ ],
+ q(3926) => [
+ q(Peve),
+ ],
+ q(3927) => [
+ q(South Lembata),
+ ],
+ q(3928) => [
+ q(Lamogai),
+ ],
+ q(3929) => [
+ q(Lambichhong),
+ ],
+ q(3930) => [
+ q(Lombi),
+ ],
+ q(3931) => [
+ q(West Lembata),
+ ],
+ q(3932) => [
+ q(Lamkang),
+ ],
+ q(3933) => [
+ q(Hano),
+ ],
+ q(3934) => [
+ q(Lamam),
+ ],
+ q(3935) => [
+ q(Lambadi),
+ ],
+ q(3936) => [
+ q(Lombard),
+ ],
+ q(3937) => [
+ q(Limbum),
+ ],
+ q(3938) => [
+ q(Lamatuka),
+ ],
+ q(3939) => [
+ q(Lamalera),
+ ],
+ q(3940) => [
+ q(Lamenu),
+ ],
+ q(3941) => [
+ q(Lomaiviti),
+ ],
+ q(3942) => [
+ q(Lake Miwok),
+ ],
+ q(3943) => [
+ q(Laimbue),
+ ],
+ q(3944) => [
+ q(Lamboya),
+ ],
+ q(3945) => [
+ q(Lumbee),
+ ],
+ q(3946) => [
+ q(Langbashe),
+ ],
+ q(3947) => [
+ q(Mbalanhu),
+ ],
+ q(3948) => [
+ q(Lundayeh),
+ q(Lun Bawang),
+ ],
+ q(3949) => [
+ q(Langobardic),
+ ],
+ q(3950) => [
+ q(Lanoh),
+ ],
+ q(3951) => [
+ q(Daantanai'),
+ ],
+ q(3952) => [
+ q(Leningitij),
+ ],
+ q(3953) => [
+ q(South Central Banda),
+ ],
+ q(3954) => [
+ q(Langam),
+ ],
+ q(3955) => [
+ q(Lorediakarkar),
+ ],
+ q(3956) => [
+ q(Lango (Sudan)),
+ ],
+ q(3957) => [
+ q(Lamnso'),
+ ],
+ q(3958) => [
+ q(Longuda),
+ ],
+ q(3959) => [
+ q(Lonzo),
+ ],
+ q(3960) => [
+ q(Loloda),
+ ],
+ q(3961) => [
+ q(Lobi),
+ ],
+ q(3962) => [
+ q(Inonhan),
+ ],
+ q(3963) => [
+ q(Saluan),
+ ],
+ q(3964) => [
+ q(Logol),
+ ],
+ q(3965) => [
+ q(Logo),
+ ],
+ q(3966) => [
+ q(Narim),
+ ],
+ q(3967) => [
+ q(Loma (Cote d'Ivoire)),
+ ],
+ q(3968) => [
+ q(Lou),
+ ],
+ q(3969) => [
+ q(Loko),
+ ],
+ q(3970) => [
+ q(Loma (Liberia)),
+ ],
+ q(3971) => [
+ q(Malawi Lomwe),
+ ],
+ q(3972) => [
+ q(Lombo),
+ ],
+ q(3973) => [
+ q(Lopa),
+ ],
+ q(3974) => [
+ q(Lobala),
+ ],
+ q(3975) => [
+ q(Teen),
+ ],
+ q(3976) => [
+ q(Loniu),
+ ],
+ q(3977) => [
+ q(Otuho),
+ ],
+ q(3978) => [
+ q(Louisiana Creole French),
+ ],
+ q(3979) => [
+ q(Lopi),
+ ],
+ q(3980) => [
+ q(Tampias Lobu),
+ ],
+ q(3981) => [
+ q(Loun),
+ ],
+ q(3982) => [
+ q(Lowa),
+ ],
+ q(3983) => [
+ q(Lelepa),
+ ],
+ q(3984) => [
+ q(Lepki),
+ ],
+ q(3985) => [
+ q(Long Phuri Naga),
+ ],
+ q(3986) => [
+ q(Lipo),
+ ],
+ q(3987) => [
+ q(Lopit),
+ ],
+ q(3988) => [
+ q(Rara Bakati'),
+ ],
+ q(3989) => [
+ q(Northern Luri),
+ ],
+ q(3990) => [
+ q(Laurentian),
+ ],
+ q(3991) => [
+ q(Laragia),
+ ],
+ q(3992) => [
+ q(Marachi),
+ q(Olumarachi),
+ ],
+ q(3993) => [
+ q(Loarki),
+ ],
+ q(3994) => [
+ q(Lari),
+ ],
+ q(3995) => [
+ q(Marama),
+ q(Olumarama),
+ ],
+ q(3996) => [
+ q(Lorang),
+ ],
+ q(3997) => [
+ q(Laro),
+ ],
+ q(3998) => [
+ q(Southern Lorung),
+ ],
+ q(3999) => [
+ q(Larantuka Malay),
+ ],
+ q(4000) => [
+ q(Larevat),
+ ],
+ q(4001) => [
+ q(Lemerig),
+ ],
+ q(4002) => [
+ q(Lasgerdi),
+ ],
+ q(4003) => [
+ q(Lishana Deni),
+ ],
+ q(4004) => [
+ q(Lusengo),
+ ],
+ q(4005) => [
+ q(Lyons Sign Language),
+ ],
+ q(4006) => [
+ q(Lish),
+ ],
+ q(4007) => [
+ q(Lashi),
+ ],
+ q(4008) => [
+ q(Latvian Sign Language),
+ ],
+ q(4009) => [
+ q(Saamia),
+ q(Olusamia),
+ ],
+ q(4010) => [
+ q(Laos Sign Language),
+ ],
+ q(4011) => [
+ q(Panamanian Sign Language),
+ q(Lengua de Senas Panamenas),
+ ],
+ q(4012) => [
+ q(Aruop),
+ ],
+ q(4013) => [
+ q(Lasi),
+ ],
+ q(4014) => [
+ q(Trinidad and Tobago Sign Language),
+ ],
+ q(4015) => [
+ q(Mauritian Sign Language),
+ ],
+ q(4016) => [
+ q(Late Middle Chinese),
+ ],
+ q(4017) => [
+ q(Latgalian),
+ ],
+ q(4018) => [
+ q(Leti (Indonesia)),
+ ],
+ q(4019) => [
+ q(Latunde),
+ ],
+ q(4020) => [
+ q(Tsotso),
+ q(Olutsotso),
+ ],
+ q(4021) => [
+ q(Tachoni),
+ q(Lutachoni),
+ ],
+ q(4022) => [
+ q(Latu),
+ ],
+ q(4023) => [
+ q(Aringa),
+ ],
+ q(4024) => [
+ q(Ludian),
+ ],
+ q(4025) => [
+ q(Luvale),
+ ],
+ q(4026) => [
+ q(Laua),
+ ],
+ q(4027) => [
+ q(Luna),
+ ],
+ q(4028) => [
+ q(Lunanakha),
+ ],
+ q(4029) => [
+ q(Olu'bo),
+ ],
+ q(4030) => [
+ q(Luimbi),
+ ],
+ q(4031) => [
+ q(Lumbu),
+ ],
+ q(4032) => [
+ q(Lucumi),
+ ],
+ q(4033) => [
+ q(Laura),
+ ],
+ q(4034) => [
+ q(Lushootseed),
+ ],
+ q(4035) => [
+ q(Lumba-Yakkha),
+ ],
+ q(4036) => [
+ q(Luwati),
+ ],
+ q(4037) => [
+ q(Luo (Cameroon)),
+ ],
+ q(4038) => [
+ q(Luyia),
+ q(Oluluyia),
+ ],
+ q(4039) => [
+ q(Southern Luri),
+ ],
+ q(4040) => [
+ q(Maku'a),
+ ],
+ q(4041) => [
+ q(Lavukaleve),
+ ],
+ q(4042) => [
+ q(Standard Latvian),
+ ],
+ q(4043) => [
+ q(Levuka),
+ ],
+ q(4044) => [
+ q(Lwalu),
+ ],
+ q(4045) => [
+ q(Lewo Eleng),
+ ],
+ q(4046) => [
+ q(Wanga),
+ q(Oluwanga),
+ ],
+ q(4047) => [
+ q(White Lachi),
+ ],
+ q(4048) => [
+ q(Eastern Lawa),
+ ],
+ q(4049) => [
+ q(Laomian),
+ ],
+ q(4050) => [
+ q(Luwo),
+ ],
+ q(4051) => [
+ q(Lewotobi),
+ ],
+ q(4052) => [
+ q(Lewo),
+ ],
+ q(4053) => [
+ q(Layakha),
+ ],
+ q(4054) => [
+ q(Lyngngam),
+ ],
+ q(4055) => [
+ q(Luyana),
+ ],
+ q(4056) => [
+ q(Literary Chinese),
+ ],
+ q(4057) => [
+ q(Litzlitz),
+ ],
+ q(4058) => [
+ q(Leinong Naga),
+ ],
+ q(4059) => [
+ q(Laz),
+ ],
+ q(4060) => [
+ q(San Jeronimo Tecoatl Mazatec),
+ ],
+ q(4061) => [
+ q(Yutanduchi Mixtec),
+ ],
+ q(4062) => [
+ q(Bo-Rukul),
+ ],
+ q(4063) => [
+ q(Mafa),
+ ],
+ q(4064) => [
+ q(Jalapa De Diaz Mazatec),
+ ],
+ q(4065) => [
+ q(Mam),
+ ],
+ q(4066) => [
+ q(Chiquihuitlan Mazatec),
+ ],
+ q(4067) => [
+ q(San Francisco Matlatzinca),
+ ],
+ q(4068) => [
+ q(Huautla Mazatec),
+ ],
+ q(4069) => [
+ q(Satere-Mawe),
+ ],
+ q(4070) => [
+ q(Mampruli),
+ ],
+ q(4071) => [
+ q(North Moluccan Malay),
+ ],
+ q(4072) => [
+ q(Central Mazahua),
+ ],
+ q(4073) => [
+ q(Higaonon),
+ ],
+ q(4074) => [
+ q(Western Bukidnon Manobo),
+ ],
+ q(4075) => [
+ q(Macushi),
+ ],
+ q(4076) => [
+ q(Dibabawon Manobo),
+ ],
+ q(4077) => [
+ q(Molale),
+ ],
+ q(4078) => [
+ q(Baba Malay),
+ ],
+ q(4079) => [
+ q(Mangseng),
+ ],
+ q(4080) => [
+ q(Ilianen Manobo),
+ ],
+ q(4081) => [
+ q(Nadeb),
+ ],
+ q(4082) => [
+ q(Malol),
+ ],
+ q(4083) => [
+ q(Maxakali),
+ ],
+ q(4084) => [
+ q(Ombamba),
+ ],
+ q(4085) => [
+ q(Macaguan),
+ ],
+ q(4086) => [
+ q(Mbo (Cameroon)),
+ ],
+ q(4087) => [
+ q(Malayo),
+ ],
+ q(4088) => [
+ q(Maisin),
+ ],
+ q(4089) => [
+ q(Nukak Maku),
+ ],
+ q(4090) => [
+ q(Sarangani Manobo),
+ ],
+ q(4091) => [
+ q(Matigsalug Manobo),
+ ],
+ q(4092) => [
+ q(Mbula-Bwazza),
+ ],
+ q(4093) => [
+ q(Mbulungish),
+ ],
+ q(4094) => [
+ q(Maring),
+ ],
+ q(4095) => [
+ q(Mari (East Sepik Province)),
+ ],
+ q(4096) => [
+ q(Memoni),
+ ],
+ q(4097) => [
+ q(Amoltepec Mixtec),
+ ],
+ q(4098) => [
+ q(Maca),
+ ],
+ q(4099) => [
+ q(Machiguenga),
+ ],
+ q(4100) => [
+ q(Bitur),
+ ],
+ q(4101) => [
+ q(Sharanahua),
+ ],
+ q(4102) => [
+ q(Itundujia Mixtec),
+ ],
+ q(4103) => [
+ q(Matses),
+ ],
+ q(4104) => [
+ q(Mapoyo),
+ ],
+ q(4105) => [
+ q(Maquiritari),
+ ],
+ q(4106) => [
+ q(Mese),
+ ],
+ q(4107) => [
+ q(Mvanip),
+ ],
+ q(4108) => [
+ q(Mbunda),
+ ],
+ q(4109) => [
+ q(Macaguaje),
+ ],
+ q(4110) => [
+ q(Malaccan Creole Portuguese),
+ ],
+ q(4111) => [
+ q(Masana),
+ ],
+ q(4112) => [
+ q(Coatlan Mixe),
+ ],
+ q(4113) => [
+ q(Makaa),
+ ],
+ q(4114) => [
+ q(Ese),
+ ],
+ q(4115) => [
+ q(Menya),
+ ],
+ q(4116) => [
+ q(Mambai),
+ ],
+ q(4117) => [
+ q(Mengisa),
+ ],
+ q(4118) => [
+ q(Cameroon Mambila),
+ ],
+ q(4119) => [
+ q(Minanibai),
+ ],
+ q(4120) => [
+ q(Mawa (Chad)),
+ ],
+ q(4121) => [
+ q(Mpiemo),
+ ],
+ q(4122) => [
+ q(South Watut),
+ ],
+ q(4123) => [
+ q(Mawan),
+ ],
+ q(4124) => [
+ q(Mada (Nigeria)),
+ ],
+ q(4125) => [
+ q(Morigi),
+ ],
+ q(4126) => [
+ q(Male (Papua New Guinea)),
+ ],
+ q(4127) => [
+ q(Mbum),
+ ],
+ q(4128) => [
+ q(Maba (Chad)),
+ ],
+ q(4129) => [
+ q(Massalat),
+ ],
+ q(4130) => [
+ q(Maguindanaon),
+ ],
+ q(4131) => [
+ q(Mamvu),
+ ],
+ q(4132) => [
+ q(Mangbetu),
+ ],
+ q(4133) => [
+ q(Mangbutu),
+ ],
+ q(4134) => [
+ q(Maltese Sign Language),
+ ],
+ q(4135) => [
+ q(Mayogo),
+ ],
+ q(4136) => [
+ q(Mbati),
+ ],
+ q(4137) => [
+ q(Mbala),
+ ],
+ q(4138) => [
+ q(Mbole),
+ ],
+ q(4139) => [
+ q(Maria (Papua New Guinea)),
+ ],
+ q(4140) => [
+ q(Mbere),
+ ],
+ q(4141) => [
+ q(Mboko),
+ ],
+ q(4142) => [
+ q(Santa Lucia Monteverde Mixtec),
+ ],
+ q(4143) => [
+ q(Mbosi),
+ ],
+ q(4144) => [
+ q(Dizin),
+ ],
+ q(4145) => [
+ q(Male (Ethiopia)),
+ ],
+ q(4146) => [
+ q(Surui Do Para),
+ ],
+ q(4147) => [
+ q(Menka),
+ ],
+ q(4148) => [
+ q(Ikobi-Mena),
+ ],
+ q(4149) => [
+ q(Mara),
+ ],
+ q(4150) => [
+ q(Melpa),
+ ],
+ q(4151) => [
+ q(Mengen),
+ ],
+ q(4152) => [
+ q(Megam),
+ ],
+ q(4153) => [
+ q(Mea),
+ ],
+ q(4154) => [
+ q(Southwestern Tlaxiaco Mixtec),
+ ],
+ q(4155) => [
+ q(Midob),
+ ],
+ q(4156) => [
+ q(Meyah),
+ ],
+ q(4157) => [
+ q(Mekeo),
+ ],
+ q(4158) => [
+ q(Central Melanau),
+ ],
+ q(4159) => [
+ q(Mangala),
+ ],
+ q(4160) => [
+ q(Kedah Malay),
+ ],
+ q(4161) => [
+ q(Miriwung),
+ ],
+ q(4162) => [
+ q(Merey),
+ ],
+ q(4163) => [
+ q(Meru),
+ ],
+ q(4164) => [
+ q(Masmaje),
+ ],
+ q(4165) => [
+ q(Mato),
+ ],
+ q(4166) => [
+ q(Motu),
+ ],
+ q(4167) => [
+ q(Mann),
+ ],
+ q(4168) => [
+ q(Maaka),
+ ],
+ q(4169) => [
+ q(Hassaniyya),
+ ],
+ q(4170) => [
+ q(Menominee),
+ ],
+ q(4171) => [
+ q(Pattani Malay),
+ ],
+ q(4172) => [
+ q(Bangka),
+ ],
+ q(4173) => [
+ q(Mba),
+ ],
+ q(4174) => [
+ q(Mendankwe-Nkwen),
+ ],
+ q(4175) => [
+ q(Morisyen),
+ ],
+ q(4176) => [
+ q(Naki),
+ ],
+ q(4177) => [
+ q(Mixifore),
+ ],
+ q(4178) => [
+ q(Matal),
+ ],
+ q(4179) => [
+ q(Wandala),
+ ],
+ q(4180) => [
+ q(Mefele),
+ ],
+ q(4181) => [
+ q(North Mofu),
+ ],
+ q(4182) => [
+ q(Putai),
+ ],
+ q(4183) => [
+ q(Marghi South),
+ ],
+ q(4184) => [
+ q(Cross River Mbembe),
+ ],
+ q(4185) => [
+ q(Mbe),
+ ],
+ q(4186) => [
+ q(Makassar Malay),
+ ],
+ q(4187) => [
+ q(Moba),
+ ],
+ q(4188) => [
+ q(Marithiel),
+ ],
+ q(4189) => [
+ q(Mexican Sign Language),
+ ],
+ q(4190) => [
+ q(Mokerang),
+ ],
+ q(4191) => [
+ q(Mbwela),
+ ],
+ q(4192) => [
+ q(Mandjak),
+ ],
+ q(4193) => [
+ q(Mulaha),
+ ],
+ q(4194) => [
+ q(Melo),
+ ],
+ q(4195) => [
+ q(Mayo),
+ ],
+ q(4196) => [
+ q(Mabaan),
+ ],
+ q(4197) => [
+ q(Mararit),
+ ],
+ q(4198) => [
+ q(Morokodo),
+ ],
+ q(4199) => [
+ q(Moru),
+ ],
+ q(4200) => [
+ q(Mango),
+ ],
+ q(4201) => [
+ q(Maklew),
+ ],
+ q(4202) => [
+ q(Mpongmpong),
+ ],
+ q(4203) => [
+ q(Makhuwa-Meetto),
+ ],
+ q(4204) => [
+ q(Lijili),
+ ],
+ q(4205) => [
+ q(Abureni),
+ ],
+ q(4206) => [
+ q(Mawes),
+ ],
+ q(4207) => [
+ q(Maleu-Kilenge),
+ ],
+ q(4208) => [
+ q(Mambae),
+ ],
+ q(4209) => [
+ q(Mbangi),
+ ],
+ q(4210) => [
+ q(Meta'),
+ ],
+ q(4211) => [
+ q(Eastern Magar),
+ ],
+ q(4212) => [
+ q(Malila),
+ ],
+ q(4213) => [
+ q(Mambwe-Lungu),
+ ],
+ q(4214) => [
+ q(Manda (Tanzania)),
+ ],
+ q(4215) => [
+ q(Mongol),
+ ],
+ q(4216) => [
+ q(Mailu),
+ ],
+ q(4217) => [
+ q(Matengo),
+ ],
+ q(4218) => [
+ q(Matumbi),
+ ],
+ q(4219) => [
+ q(Omati),
+ ],
+ q(4220) => [
+ q(Mbunga),
+ ],
+ q(4221) => [
+ q(Mbugwe),
+ ],
+ q(4222) => [
+ q(Manda (India)),
+ ],
+ q(4223) => [
+ q(Mahongwe),
+ ],
+ q(4224) => [
+ q(Mocho),
+ ],
+ q(4225) => [
+ q(Mbugu),
+ ],
+ q(4226) => [
+ q(Besisi),
+ q(Mah Meri),
+ ],
+ q(4227) => [
+ q(Mamaa),
+ ],
+ q(4228) => [
+ q(Margu),
+ ],
+ q(4229) => [
+ q(Maskoy Pidgin),
+ ],
+ q(4230) => [
+ q(Ma'di),
+ ],
+ q(4231) => [
+ q(Mogholi),
+ ],
+ q(4232) => [
+ q(Mungaka),
+ ],
+ q(4233) => [
+ q(Mauwake),
+ ],
+ q(4234) => [
+ q(Makhuwa-Moniga),
+ ],
+ q(4235) => [
+ q(Mocheno),
+ ],
+ q(4236) => [
+ q(Mashi (Zambia)),
+ ],
+ q(4237) => [
+ q(Balinese Malay),
+ ],
+ q(4238) => [
+ q(Mandan),
+ ],
+ q(4239) => [
+ q(Eastern Mari),
+ ],
+ q(4240) => [
+ q(Buru (Indonesia)),
+ ],
+ q(4241) => [
+ q(Mandahuaca),
+ ],
+ q(4242) => [
+ q(Digaro-Mishmi),
+ q(Darang Deng),
+ ],
+ q(4243) => [
+ q(Mbukushu),
+ ],
+ q(4244) => [
+ q(Maru),
+ q(Lhaovo),
+ ],
+ q(4245) => [
+ q(Ma'anyan),
+ ],
+ q(4246) => [
+ q(Mor (Mor Islands)),
+ ],
+ q(4247) => [
+ q(Miami),
+ ],
+ q(4248) => [
+ q(Atatlahuca Mixtec),
+ ],
+ q(4249) => [
+ q(Mandaic),
+ ],
+ q(4250) => [
+ q(Ocotepec Mixtec),
+ ],
+ q(4251) => [
+ q(Mofu-Gudur),
+ ],
+ q(4252) => [
+ q(San Miguel El Grande Mixtec),
+ ],
+ q(4253) => [
+ q(Chayuco Mixtec),
+ ],
+ q(4254) => [
+ q(Chigmecatitlan Mixtec),
+ ],
+ q(4255) => [
+ q(Abar),
+ ],
+ q(4256) => [
+ q(Mikasuki),
+ ],
+ q(4257) => [
+ q(Penoles Mixtec),
+ ],
+ q(4258) => [
+ q(Alacatlatzala Mixtec),
+ ],
+ q(4259) => [
+ q(Pinotepa Nacional Mixtec),
+ ],
+ q(4260) => [
+ q(Apasco-Apoala Mixtec),
+ ],
+ q(4261) => [
+ q(Miskito),
+ ],
+ q(4262) => [
+ q(Isthmus Mixe),
+ ],
+ q(4263) => [
+ q(Southern Puebla Mixtec),
+ ],
+ q(4264) => [
+ q(Cacaloxtepec Mixtec),
+ ],
+ q(4265) => [
+ q(Akoye),
+ ],
+ q(4266) => [
+ q(Mixtepec Mixtec),
+ ],
+ q(4267) => [
+ q(Ayutla Mixtec),
+ ],
+ q(4268) => [
+ q(Coatzospan Mixtec),
+ ],
+ q(4269) => [
+ q(San Juan Colorado Mixtec),
+ ],
+ q(4270) => [
+ q(Northwest Maidu),
+ ],
+ q(4271) => [
+ q(Muskum),
+ ],
+ q(4272) => [
+ q(Tu),
+ ],
+ q(4273) => [
+ q(Mwera (Nyasa)),
+ ],
+ q(4274) => [
+ q(Kim Mun),
+ ],
+ q(4275) => [
+ q(Mawak),
+ ],
+ q(4276) => [
+ q(Matukar),
+ ],
+ q(4277) => [
+ q(Mandeali),
+ ],
+ q(4278) => [
+ q(Medebur),
+ ],
+ q(4279) => [
+ q(Ma (Papua New Guinea)),
+ ],
+ q(4280) => [
+ q(Malankuravan),
+ ],
+ q(4281) => [
+ q(Malapandaram),
+ ],
+ q(4282) => [
+ q(Malaryan),
+ ],
+ q(4283) => [
+ q(Malavedan),
+ ],
+ q(4284) => [
+ q(Miship),
+ ],
+ q(4285) => [
+ q(Sauria Paharia),
+ ],
+ q(4286) => [
+ q(Manna-Dora),
+ ],
+ q(4287) => [
+ q(Mannan),
+ ],
+ q(4288) => [
+ q(Karbi),
+ ],
+ q(4289) => [
+ q(Mahali),
+ ],
+ q(4290) => [
+ q(Mahican),
+ ],
+ q(4291) => [
+ q(Majhi),
+ ],
+ q(4292) => [
+ q(Mbre),
+ ],
+ q(4293) => [
+ q(Mal Paharia),
+ ],
+ q(4294) => [
+ q(Siliput),
+ ],
+ q(4295) => [
+ q(Mawchi),
+ ],
+ q(4296) => [
+ q(Miya),
+ ],
+ q(4297) => [
+ q(Mak (China)),
+ ],
+ q(4298) => [
+ q(Dhatki),
+ ],
+ q(4299) => [
+ q(Mokilese),
+ ],
+ q(4300) => [
+ q(Byep),
+ ],
+ q(4301) => [
+ q(Mokole),
+ ],
+ q(4302) => [
+ q(Moklen),
+ ],
+ q(4303) => [
+ q(Kupang Malay),
+ ],
+ q(4304) => [
+ q(Mingang Doso),
+ ],
+ q(4305) => [
+ q(Moikodi),
+ ],
+ q(4306) => [
+ q(Bay Miwok),
+ ],
+ q(4307) => [
+ q(Malas),
+ ],
+ q(4308) => [
+ q(Silacayoapan Mixtec),
+ ],
+ q(4309) => [
+ q(Vamale),
+ ],
+ q(4310) => [
+ q(Konyanka Maninka),
+ ],
+ q(4311) => [
+ q(Mafea),
+ ],
+ q(4312) => [
+ q(Kituba (Congo)),
+ ],
+ q(4313) => [
+ q(Kinamiging Manobo),
+ ],
+ q(4314) => [
+ q(East Makian),
+ ],
+ q(4315) => [
+ q(Makasae),
+ ],
+ q(4316) => [
+ q(Malo),
+ ],
+ q(4317) => [
+ q(Mbule),
+ ],
+ q(4318) => [
+ q(Cao Lan),
+ ],
+ q(4319) => [
+ q(Malakhel),
+ ],
+ q(4320) => [
+ q(Manambu),
+ ],
+ q(4321) => [
+ q(Mal),
+ ],
+ q(4322) => [
+ q(Mape),
+ ],
+ q(4323) => [
+ q(Malimpung),
+ ],
+ q(4324) => [
+ q(Miltu),
+ ],
+ q(4325) => [
+ q(Ilwana),
+ q(Kiwilwana),
+ ],
+ q(4326) => [
+ q(Malua Bay),
+ ],
+ q(4327) => [
+ q(Mulam),
+ ],
+ q(4328) => [
+ q(Malango),
+ ],
+ q(4329) => [
+ q(Mlomp),
+ ],
+ q(4330) => [
+ q(Bargam),
+ ],
+ q(4331) => [
+ q(Western Maninkakan),
+ ],
+ q(4332) => [
+ q(Vame),
+ ],
+ q(4333) => [
+ q(Masalit),
+ ],
+ q(4334) => [
+ q(To'abaita),
+ ],
+ q(4335) => [
+ q(Motlav),
+ q(Mwotlap),
+ ],
+ q(4336) => [
+ q(Moloko),
+ ],
+ q(4337) => [
+ q(Malfaxal),
+ q(Naha'ai),
+ ],
+ q(4338) => [
+ q(Malaynon),
+ ],
+ q(4339) => [
+ q(Mama),
+ ],
+ q(4340) => [
+ q(Momina),
+ ],
+ q(4341) => [
+ q(Michoacan Mazahua),
+ ],
+ q(4342) => [
+ q(Maonan),
+ ],
+ q(4343) => [
+ q(Mae),
+ ],
+ q(4344) => [
+ q(Mundat),
+ ],
+ q(4345) => [
+ q(North Ambrym),
+ ],
+ q(4346) => [
+ q(Mehinaku),
+ ],
+ q(4347) => [
+ q(Musar),
+ ],
+ q(4348) => [
+ q(Majhwar),
+ ],
+ q(4349) => [
+ q(Mukha-Dora),
+ ],
+ q(4350) => [
+ q(Man Met),
+ ],
+ q(4351) => [
+ q(Maii),
+ ],
+ q(4352) => [
+ q(Mamanwa),
+ ],
+ q(4353) => [
+ q(Mangga Buang),
+ ],
+ q(4354) => [
+ q(Siawi),
+ ],
+ q(4355) => [
+ q(Musak),
+ ],
+ q(4356) => [
+ q(Western Xiangxi Miao),
+ ],
+ q(4357) => [
+ q(Malalamai),
+ ],
+ q(4358) => [
+ q(Mmaala),
+ ],
+ q(4359) => [
+ q(Miriti),
+ ],
+ q(4360) => [
+ q(Emae),
+ ],
+ q(4361) => [
+ q(Madak),
+ ],
+ q(4362) => [
+ q(Migaama),
+ ],
+ q(4363) => [
+ q(Mabaale),
+ ],
+ q(4364) => [
+ q(Mbula),
+ ],
+ q(4365) => [
+ q(Muna),
+ ],
+ q(4366) => [
+ q(Monde),
+ ],
+ q(4367) => [
+ q(Naba),
+ ],
+ q(4368) => [
+ q(Mundani),
+ ],
+ q(4369) => [
+ q(Eastern Mnong),
+ ],
+ q(4370) => [
+ q(Mono (Democratic Republic of Congo)),
+ ],
+ q(4371) => [
+ q(Munji),
+ ],
+ q(4372) => [
+ q(Mandinka),
+ ],
+ q(4373) => [
+ q(Tiale),
+ ],
+ q(4374) => [
+ q(Mapena),
+ ],
+ q(4375) => [
+ q(Southern Mnong),
+ ],
+ q(4376) => [
+ q(Min Bei Chinese),
+ ],
+ q(4377) => [
+ q(Minriq),
+ ],
+ q(4378) => [
+ q(Mono (USA)),
+ ],
+ q(4379) => [
+ q(Mansi),
+ ],
+ q(4380) => [
+ q(Maykulan),
+ ],
+ q(4381) => [
+ q(Mer),
+ ],
+ q(4382) => [
+ q(Rennell-Bellona),
+ ],
+ q(4383) => [
+ q(Mon),
+ ],
+ q(4384) => [
+ q(Manikion),
+ ],
+ q(4385) => [
+ q(Manyawa),
+ ],
+ q(4386) => [
+ q(Moni),
+ ],
+ q(4387) => [
+ q(Mwan),
+ ],
+ q(4388) => [
+ q(Mocovi),
+ ],
+ q(4389) => [
+ q(Mobilian),
+ ],
+ q(4390) => [
+ q(Montagnais),
+ ],
+ q(4391) => [
+ q(Mongondow),
+ ],
+ q(4392) => [
+ q(Mboi),
+ ],
+ q(4393) => [
+ q(Monzombo),
+ ],
+ q(4394) => [
+ q(Morori),
+ ],
+ q(4395) => [
+ q(Mangue),
+ ],
+ q(4396) => [
+ q(Monom),
+ ],
+ q(4397) => [
+ q(Mopan Maya),
+ ],
+ q(4398) => [
+ q(Mor (Bomberai Peninsula)),
+ ],
+ q(4399) => [
+ q(Moro),
+ ],
+ q(4400) => [
+ q(Mogum),
+ ],
+ q(4401) => [
+ q(Mohave),
+ ],
+ q(4402) => [
+ q(Moi (Congo)),
+ ],
+ q(4403) => [
+ q(Molima),
+ ],
+ q(4404) => [
+ q(Shekkacho),
+ ],
+ q(4405) => [
+ q(Mukulu),
+ q(Gergiko),
+ ],
+ q(4406) => [
+ q(Mpoto),
+ ],
+ q(4407) => [
+ q(Mullukmulluk),
+ ],
+ q(4408) => [
+ q(Mangarayi),
+ ],
+ q(4409) => [
+ q(Machinere),
+ ],
+ q(4410) => [
+ q(Majang),
+ ],
+ q(4411) => [
+ q(Marba),
+ ],
+ q(4412) => [
+ q(Maung),
+ ],
+ q(4413) => [
+ q(Mpade),
+ ],
+ q(4414) => [
+ q(Martu Wangka),
+ ],
+ q(4415) => [
+ q(Mbara (Chad)),
+ ],
+ q(4416) => [
+ q(Middle Watut),
+ ],
+ q(4417) => [
+ q(Yosondua Mixtec),
+ ],
+ q(4418) => [
+ q(Mindiri),
+ ],
+ q(4419) => [
+ q(Miu),
+ ],
+ q(4420) => [
+ q(Migabac),
+ ],
+ q(4421) => [
+ q(Matis),
+ ],
+ q(4422) => [
+ q(Vangunu),
+ ],
+ q(4423) => [
+ q(Dadibi),
+ ],
+ q(4424) => [
+ q(Mian),
+ ],
+ q(4425) => [
+ q(Makurap),
+ ],
+ q(4426) => [
+ q(Mungkip),
+ ],
+ q(4427) => [
+ q(Mapidian),
+ ],
+ q(4428) => [
+ q(Misima-Paneati),
+ ],
+ q(4429) => [
+ q(Mapia),
+ ],
+ q(4430) => [
+ q(Mpi),
+ ],
+ q(4431) => [
+ q(Maba (Indonesia)),
+ ],
+ q(4432) => [
+ q(Mbuko),
+ ],
+ q(4433) => [
+ q(Mangole),
+ ],
+ q(4434) => [
+ q(Matepi),
+ ],
+ q(4435) => [
+ q(Momuna),
+ ],
+ q(4436) => [
+ q(Kota Bangun Kutai Malay),
+ ],
+ q(4437) => [
+ q(Tlazoyaltepec Mixtec),
+ ],
+ q(4438) => [
+ q(Mariri),
+ ],
+ q(4439) => [
+ q(Mamasa),
+ ],
+ q(4440) => [
+ q(Rajah Kabunsuwan Manobo),
+ ],
+ q(4441) => [
+ q(Mbelime),
+ ],
+ q(4442) => [
+ q(South Marquesan),
+ ],
+ q(4443) => [
+ q(Moronene),
+ ],
+ q(4444) => [
+ q(Modole),
+ ],
+ q(4445) => [
+ q(Manipa),
+ ],
+ q(4446) => [
+ q(Minokok),
+ ],
+ q(4447) => [
+ q(Mander),
+ ],
+ q(4448) => [
+ q(West Makian),
+ ],
+ q(4449) => [
+ q(Mok),
+ ],
+ q(4450) => [
+ q(Mandari),
+ ],
+ q(4451) => [
+ q(Mosimo),
+ ],
+ q(4452) => [
+ q(Murupi),
+ ],
+ q(4453) => [
+ q(Mamuju),
+ ],
+ q(4454) => [
+ q(Manggarai),
+ ],
+ q(4455) => [
+ q(Malasanga),
+ ],
+ q(4456) => [
+ q(Mlabri),
+ ],
+ q(4457) => [
+ q(Marino),
+ ],
+ q(4458) => [
+ q(Maricopa),
+ ],
+ q(4459) => [
+ q(Western Magar),
+ ],
+ q(4460) => [
+ q(Martha's Vineyard Sign Language),
+ ],
+ q(4461) => [
+ q(Elseng),
+ ],
+ q(4462) => [
+ q(Mising),
+ ],
+ q(4463) => [
+ q(Mara Chin),
+ ],
+ q(4464) => [
+ q(Western Mari),
+ ],
+ q(4465) => [
+ q(Hmwaveke),
+ ],
+ q(4466) => [
+ q(Mortlockese),
+ ],
+ q(4467) => [
+ q(Merlav),
+ q(Mwerlap),
+ ],
+ q(4468) => [
+ q(Cheke Holo),
+ ],
+ q(4469) => [
+ q(Mru),
+ ],
+ q(4470) => [
+ q(Morouas),
+ ],
+ q(4471) => [
+ q(North Marquesan),
+ ],
+ q(4472) => [
+ q(Maria (India)),
+ ],
+ q(4473) => [
+ q(Maragus),
+ ],
+ q(4474) => [
+ q(Marghi Central),
+ ],
+ q(4475) => [
+ q(Mono (Cameroon)),
+ ],
+ q(4476) => [
+ q(Mangareva),
+ ],
+ q(4477) => [
+ q(Maranao),
+ ],
+ q(4478) => [
+ q(Maremgi),
+ q(Dineor),
+ ],
+ q(4479) => [
+ q(Mandaya),
+ ],
+ q(4480) => [
+ q(Marind),
+ ],
+ q(4481) => [
+ q(Masbatenyo),
+ ],
+ q(4482) => [
+ q(Sankaran Maninka),
+ ],
+ q(4483) => [
+ q(Yucatec Maya Sign Language),
+ ],
+ q(4484) => [
+ q(Musey),
+ ],
+ q(4485) => [
+ q(Mekwei),
+ ],
+ q(4486) => [
+ q(Moraid),
+ ],
+ q(4487) => [
+ q(Masikoro Malagasy),
+ ],
+ q(4488) => [
+ q(Sabah Malay),
+ ],
+ q(4489) => [
+ q(Ma (Democratic Republic of Congo)),
+ ],
+ q(4490) => [
+ q(Mansaka),
+ ],
+ q(4491) => [
+ q(Molof),
+ q(Poule),
+ ],
+ q(4492) => [
+ q(Agusan Manobo),
+ ],
+ q(4493) => [
+ q(Vures),
+ ],
+ q(4494) => [
+ q(Mombum),
+ ],
+ q(4495) => [
+ q(Maritsaua),
+ ],
+ q(4496) => [
+ q(Caac),
+ ],
+ q(4497) => [
+ q(Mongolian Sign Language),
+ ],
+ q(4498) => [
+ q(West Masela),
+ ],
+ q(4499) => [
+ q(Musom),
+ ],
+ q(4500) => [
+ q(Maslam),
+ ],
+ q(4501) => [
+ q(Mansoanka),
+ ],
+ q(4502) => [
+ q(Moresada),
+ ],
+ q(4503) => [
+ q(Aruamu),
+ ],
+ q(4504) => [
+ q(Momare),
+ ],
+ q(4505) => [
+ q(Cotabato Manobo),
+ ],
+ q(4506) => [
+ q(Anyin Morofo),
+ ],
+ q(4507) => [
+ q(Munit),
+ ],
+ q(4508) => [
+ q(Mualang),
+ ],
+ q(4509) => [
+ q(Mono (Solomon Islands)),
+ ],
+ q(4510) => [
+ q(Murik (Papua New Guinea)),
+ ],
+ q(4511) => [
+ q(Una),
+ ],
+ q(4512) => [
+ q(Munggui),
+ ],
+ q(4513) => [
+ q(Maiwa (Papua New Guinea)),
+ ],
+ q(4514) => [
+ q(Moskona),
+ ],
+ q(4515) => [
+ q(Mbe'),
+ ],
+ q(4516) => [
+ q(Montol),
+ ],
+ q(4517) => [
+ q(Mator),
+ ],
+ q(4518) => [
+ q(Matagalpa),
+ ],
+ q(4519) => [
+ q(Totontepec Mixe),
+ ],
+ q(4520) => [
+ q(Wichi Lhamtes Nocten),
+ ],
+ q(4521) => [
+ q(Muong),
+ ],
+ q(4522) => [
+ q(Mewari),
+ ],
+ q(4523) => [
+ q(Yora),
+ ],
+ q(4524) => [
+ q(Mota),
+ ],
+ q(4525) => [
+ q(Tututepec Mixtec),
+ ],
+ q(4526) => [
+ q(Asaro'o),
+ ],
+ q(4527) => [
+ q(Southern Binukidnon),
+ ],
+ q(4528) => [
+ q(Tidaa Mixtec),
+ ],
+ q(4529) => [
+ q(Nabi),
+ ],
+ q(4530) => [
+ q(Mundang),
+ ],
+ q(4531) => [
+ q(Mubi),
+ ],
+ q(4532) => [
+ q(Mbu'),
+ ],
+ q(4533) => [
+ q(Mednyj Aleut),
+ ],
+ q(4534) => [
+ q(Media Lengua),
+ ],
+ q(4535) => [
+ q(Musgu),
+ ],
+ q(4536) => [
+ q(Mundu),
+ ],
+ q(4537) => [
+ q(Musi),
+ ],
+ q(4538) => [
+ q(Mabire),
+ ],
+ q(4539) => [
+ q(Mugom),
+ ],
+ q(4540) => [
+ q(Maiwala),
+ ],
+ q(4541) => [
+ q(Nyong),
+ ],
+ q(4542) => [
+ q(Malvi),
+ ],
+ q(4543) => [
+ q(Eastern Xiangxi Miao),
+ ],
+ q(4544) => [
+ q(Murle),
+ ],
+ q(4545) => [
+ q(Western Muria),
+ ],
+ q(4546) => [
+ q(Yaaku),
+ ],
+ q(4547) => [
+ q(Muthuvan),
+ ],
+ q(4548) => [
+ q(Bo-Ung),
+ ],
+ q(4549) => [
+ q(Muyang),
+ ],
+ q(4550) => [
+ q(Mursi),
+ ],
+ q(4551) => [
+ q(Manam),
+ ],
+ q(4552) => [
+ q(Mattole),
+ ],
+ q(4553) => [
+ q(Mamboru),
+ ],
+ q(4554) => [
+ q(Marwari (Pakistan)),
+ ],
+ q(4555) => [
+ q(Peripheral Mongolian),
+ ],
+ q(4556) => [
+ q(Yucuane Mixtec),
+ ],
+ q(4557) => [
+ q(Mire),
+ ],
+ q(4558) => [
+ q(Miyako),
+ ],
+ q(4559) => [
+ q(Mekmek),
+ ],
+ q(4560) => [
+ q(Mbara (Australia)),
+ ],
+ q(4561) => [
+ q(Muya),
+ ],
+ q(4562) => [
+ q(Minaveha),
+ ],
+ q(4563) => [
+ q(Marovo),
+ ],
+ q(4564) => [
+ q(Duri),
+ ],
+ q(4565) => [
+ q(Moere),
+ ],
+ q(4566) => [
+ q(Marau),
+ ],
+ q(4567) => [
+ q(Massep),
+ ],
+ q(4568) => [
+ q(Mpotovoro),
+ ],
+ q(4569) => [
+ q(Marfa),
+ ],
+ q(4570) => [
+ q(Tagal Murut),
+ ],
+ q(4571) => [
+ q(Machinga),
+ ],
+ q(4572) => [
+ q(Meoswar),
+ ],
+ q(4573) => [
+ q(Indus Kohistani),
+ ],
+ q(4574) => [
+ q(Mesqan),
+ ],
+ q(4575) => [
+ q(Mwatebu),
+ ],
+ q(4576) => [
+ q(Juwal),
+ ],
+ q(4577) => [
+ q(Are),
+ ],
+ q(4578) => [
+ q(Mudbura),
+ ],
+ q(4579) => [
+ q(Mwera (Chimwera)),
+ ],
+ q(4580) => [
+ q(Murrinh-Patha),
+ ],
+ q(4581) => [
+ q(Aiklep),
+ ],
+ q(4582) => [
+ q(Mouk-Aria),
+ ],
+ q(4583) => [
+ q(Labo),
+ q(Ninde),
+ ],
+ q(4584) => [
+ q(Maligo),
+ ],
+ q(4585) => [
+ q(Kita Maninkakan),
+ ],
+ q(4586) => [
+ q(Sar),
+ ],
+ q(4587) => [
+ q(Nyamwanga),
+ ],
+ q(4588) => [
+ q(Central Maewo),
+ ],
+ q(4589) => [
+ q(Kala Lagaw Ya),
+ ],
+ q(4590) => [
+ q(Mun Chin),
+ ],
+ q(4591) => [
+ q(Mwimbi-Muthambi),
+ ],
+ q(4592) => [
+ q(Moken),
+ ],
+ q(4593) => [
+ q(Mittu),
+ ],
+ q(4594) => [
+ q(Mentawai),
+ ],
+ q(4595) => [
+ q(Hmong Daw),
+ ],
+ q(4596) => [
+ q(Mediak),
+ ],
+ q(4597) => [
+ q(Mosiro),
+ ],
+ q(4598) => [
+ q(Moingi),
+ ],
+ q(4599) => [
+ q(Northwest Oaxaca Mixtec),
+ ],
+ q(4600) => [
+ q(Tezoatlan Mixtec),
+ ],
+ q(4601) => [
+ q(Manyika),
+ ],
+ q(4602) => [
+ q(Modang),
+ ],
+ q(4603) => [
+ q(Mele-Fila),
+ ],
+ q(4604) => [
+ q(Malgbe),
+ ],
+ q(4605) => [
+ q(Mbangala),
+ ],
+ q(4606) => [
+ q(Mvuba),
+ ],
+ q(4607) => [
+ q(Mozarabic),
+ ],
+ q(4608) => [
+ q(Miju-Mishmi),
+ q(Geman Deng),
+ ],
+ q(4609) => [
+ q(Monumbo),
+ ],
+ q(4610) => [
+ q(Maxi Gbe),
+ ],
+ q(4611) => [
+ q(Meramera),
+ ],
+ q(4612) => [
+ q(Moi (Indonesia)),
+ ],
+ q(4613) => [
+ q(Mbowe),
+ ],
+ q(4614) => [
+ q(Tlahuitoltepec Mixe),
+ ],
+ q(4615) => [
+ q(Juquila Mixe),
+ ],
+ q(4616) => [
+ q(Murik (Malaysia)),
+ ],
+ q(4617) => [
+ q(Huitepec Mixtec),
+ ],
+ q(4618) => [
+ q(Jamiltepec Mixtec),
+ ],
+ q(4619) => [
+ q(Mada (Cameroon)),
+ ],
+ q(4620) => [
+ q(Metlatonoc Mixtec),
+ ],
+ q(4621) => [
+ q(Namo),
+ ],
+ q(4622) => [
+ q(Mahou),
+ q(Mawukakan),
+ ],
+ q(4623) => [
+ q(Southeastern Nochixtlan Mixtec),
+ ],
+ q(4624) => [
+ q(Central Masela),
+ ],
+ q(4625) => [
+ q(Mbay),
+ ],
+ q(4626) => [
+ q(Mayeka),
+ ],
+ q(4627) => [
+ q(Maramba),
+ ],
+ q(4628) => [
+ q(Myene),
+ ],
+ q(4629) => [
+ q(Bambassi),
+ ],
+ q(4630) => [
+ q(Manta),
+ ],
+ q(4631) => [
+ q(Makah),
+ ],
+ q(4632) => [
+ q(Mina (India)),
+ ],
+ q(4633) => [
+ q(Mangayat),
+ ],
+ q(4634) => [
+ q(Mamara Senoufo),
+ ],
+ q(4635) => [
+ q(Moma),
+ ],
+ q(4636) => [
+ q(Me'en),
+ ],
+ q(4637) => [
+ q(Anfillo),
+ ],
+ q(4638) => [
+ q(Piraha),
+ ],
+ q(4639) => [
+ q(Forest Maninka),
+ ],
+ q(4640) => [
+ q(Muniche),
+ ],
+ q(4641) => [
+ q(Mesmes),
+ ],
+ q(4642) => [
+ q(Munduruku),
+ ],
+ q(4643) => [
+ q(Muyuw),
+ ],
+ q(4644) => [
+ q(Masaaba),
+ ],
+ q(4645) => [
+ q(Macuna),
+ ],
+ q(4646) => [
+ q(Classical Mandaic),
+ ],
+ q(4647) => [
+ q(Santa Maria Zacatepec Mixtec),
+ ],
+ q(4648) => [
+ q(Tumzabt),
+ ],
+ q(4649) => [
+ q(Madagascar Sign Language),
+ ],
+ q(4650) => [
+ q(Malimba),
+ ],
+ q(4651) => [
+ q(Morawa),
+ ],
+ q(4652) => [
+ q(Monastic Sign Language),
+ ],
+ q(4653) => [
+ q(Wichi Lhamtes Guisnay),
+ ],
+ q(4654) => [
+ q(Ixcatlan Mazatec),
+ ],
+ q(4655) => [
+ q(Manya),
+ ],
+ q(4656) => [
+ q(Nigeria Mambila),
+ ],
+ q(4657) => [
+ q(Mazatlan Mixe),
+ ],
+ q(4658) => [
+ q(Mumuye),
+ ],
+ q(4659) => [
+ q(Mazanderani),
+ ],
+ q(4660) => [
+ q(Matipuhy),
+ ],
+ q(4661) => [
+ q(Movima),
+ ],
+ q(4662) => [
+ q(Mori Atas),
+ ],
+ q(4663) => [
+ q(Marubo),
+ ],
+ q(4664) => [
+ q(Macanese),
+ ],
+ q(4665) => [
+ q(Mintil),
+ ],
+ q(4666) => [
+ q(Inapang),
+ ],
+ q(4667) => [
+ q(Manza),
+ ],
+ q(4668) => [
+ q(Deg),
+ ],
+ q(4669) => [
+ q(Mawayana),
+ ],
+ q(4670) => [
+ q(Mozambican Sign Language),
+ ],
+ q(4671) => [
+ q(Maiadomu),
+ ],
+ q(4672) => [
+ q(Namla),
+ ],
+ q(4673) => [
+ q(Southern Nambikuara),
+ ],
+ q(4674) => [
+ q(Narak),
+ ],
+ q(4675) => [
+ q(Nijadali),
+ ],
+ q(4676) => [
+ q(Naka'ela),
+ ],
+ q(4677) => [
+ q(Nabak),
+ ],
+ q(4678) => [
+ q(Naga Pidgin),
+ ],
+ q(4679) => [
+ q(Nalu),
+ ],
+ q(4680) => [
+ q(Nakanai),
+ ],
+ q(4681) => [
+ q(Nalik),
+ ],
+ q(4682) => [
+ q(Nangikurrunggurr),
+ ],
+ q(4683) => [
+ q(Min Nan Chinese),
+ ],
+ q(4684) => [
+ q(Naaba),
+ ],
+ q(4685) => [
+ q(Nama (Namibia)),
+ ],
+ q(4686) => [
+ q(Iguta),
+ ],
+ q(4687) => [
+ q(Naasioi),
+ ],
+ q(4688) => [
+ q(Hungworo),
+ ],
+ q(4689) => [
+ q(Nawuri),
+ ],
+ q(4690) => [
+ q(Nakwi),
+ ],
+ q(4691) => [
+ q(Narrinyeri),
+ ],
+ q(4692) => [
+ q(Coatepec Nahuatl),
+ ],
+ q(4693) => [
+ q(Nyemba),
+ ],
+ q(4694) => [
+ q(Ndoe),
+ ],
+ q(4695) => [
+ q(Chang Naga),
+ ],
+ q(4696) => [
+ q(Ngbinda),
+ ],
+ q(4697) => [
+ q(Konyak Naga),
+ ],
+ q(4698) => [
+ q(Nagarchal),
+ ],
+ q(4699) => [
+ q(Ngamo),
+ ],
+ q(4700) => [
+ q(Mao Naga),
+ ],
+ q(4701) => [
+ q(Ngarinman),
+ ],
+ q(4702) => [
+ q(Nake),
+ ],
+ q(4703) => [
+ q(Ngbaka Ma'bo),
+ ],
+ q(4704) => [
+ q(Kuri),
+ ],
+ q(4705) => [
+ q(Nkukoli),
+ ],
+ q(4706) => [
+ q(Nnam),
+ ],
+ q(4707) => [
+ q(Nggem),
+ ],
+ q(4708) => [
+ q(Numana-Nunku-Gbantu-Numbu),
+ ],
+ q(4709) => [
+ q(Namibian Sign Language),
+ ],
+ q(4710) => [
+ q(Na),
+ ],
+ q(4711) => [
+ q(Rongmei Naga),
+ ],
+ q(4712) => [
+ q(Ngamambo),
+ ],
+ q(4713) => [
+ q(Southern Ngbandi),
+ ],
+ q(4714) => [
+ q(Ngura),
+ ],
+ q(4715) => [
+ q(Ningera),
+ ],
+ q(4716) => [
+ q(Iyo),
+ ],
+ q(4717) => [
+ q(Central Nicobarese),
+ ],
+ q(4718) => [
+ q(Ponam),
+ ],
+ q(4719) => [
+ q(Nachering),
+ ],
+ q(4720) => [
+ q(Yale),
+ ],
+ q(4721) => [
+ q(Notsi),
+ ],
+ q(4722) => [
+ q(Nisga'a),
+ ],
+ q(4723) => [
+ q(Central Huasteca Nahuatl),
+ ],
+ q(4724) => [
+ q(Classical Nahuatl),
+ ],
+ q(4725) => [
+ q(Northern Puebla Nahuatl),
+ ],
+ q(4726) => [
+ q(Nakara),
+ ],
+ q(4727) => [
+ q(Michoacan Nahuatl),
+ ],
+ q(4728) => [
+ q(Nambo),
+ ],
+ q(4729) => [
+ q(Nauna),
+ ],
+ q(4730) => [
+ q(Sibe),
+ ],
+ q(4731) => [
+ q(Ndaktup),
+ ],
+ q(4732) => [
+ q(Ncane),
+ ],
+ q(4733) => [
+ q(Nicaraguan Sign Language),
+ ],
+ q(4734) => [
+ q(Chothe Naga),
+ ],
+ q(4735) => [
+ q(Chumburung),
+ ],
+ q(4736) => [
+ q(Central Puebla Nahuatl),
+ ],
+ q(4737) => [
+ q(Natchez),
+ ],
+ q(4738) => [
+ q(Ndasa),
+ ],
+ q(4739) => [
+ q(Kenswei Nsei),
+ ],
+ q(4740) => [
+ q(Ndau),
+ ],
+ q(4741) => [
+ q(Nde-Nsele-Nta),
+ ],
+ q(4742) => [
+ q(Nadruvian),
+ ],
+ q(4743) => [
+ q(Ndengereko),
+ ],
+ q(4744) => [
+ q(Ndali),
+ ],
+ q(4745) => [
+ q(Samba Leko),
+ ],
+ q(4746) => [
+ q(Ndamba),
+ ],
+ q(4747) => [
+ q(Ndaka),
+ ],
+ q(4748) => [
+ q(Ndolo),
+ ],
+ q(4749) => [
+ q(Ndam),
+ ],
+ q(4750) => [
+ q(Ngundi),
+ ],
+ q(4751) => [
+ q(Ndo),
+ ],
+ q(4752) => [
+ q(Ndombe),
+ ],
+ q(4753) => [
+ q(Ndoola),
+ ],
+ q(4754) => [
+ q(Ndunga),
+ ],
+ q(4755) => [
+ q(Dugun),
+ ],
+ q(4756) => [
+ q(Ndut),
+ ],
+ q(4757) => [
+ q(Ndobo),
+ ],
+ q(4758) => [
+ q(Nduga),
+ ],
+ q(4759) => [
+ q(Lutos),
+ ],
+ q(4760) => [
+ q(Ndogo),
+ ],
+ q(4761) => [
+ q(Eastern Ngad'a),
+ ],
+ q(4762) => [
+ q(Toura (Cote d'Ivoire)),
+ ],
+ q(4763) => [
+ q(Nedebang),
+ ],
+ q(4764) => [
+ q(Nde-Gbite),
+ ],
+ q(4765) => [
+ q(Nelemwa-Nixumwak),
+ ],
+ q(4766) => [
+ q(Nefamese),
+ ],
+ q(4767) => [
+ q(Negidal),
+ ],
+ q(4768) => [
+ q(Nyenkha),
+ ],
+ q(4769) => [
+ q(Neo-Hittite),
+ ],
+ q(4770) => [
+ q(Neko),
+ ],
+ q(4771) => [
+ q(Neku),
+ ],
+ q(4772) => [
+ q(Nemi),
+ ],
+ q(4773) => [
+ q(Nengone),
+ ],
+ q(4774) => [
+ q(Na-Meo),
+ ],
+ q(4775) => [
+ q(North Central Mixe),
+ ],
+ q(4776) => [
+ q(Yahadian),
+ ],
+ q(4777) => [
+ q(Bhoti Kinnauri),
+ ],
+ q(4778) => [
+ q(Nete),
+ ],
+ q(4779) => [
+ q(Nyaheun),
+ ],
+ q(4780) => [
+ q(Neme),
+ ],
+ q(4781) => [
+ q(Neyo),
+ ],
+ q(4782) => [
+ q(Nez Perce),
+ ],
+ q(4783) => [
+ q(Dhao),
+ ],
+ q(4784) => [
+ q(Ahwai),
+ ],
+ q(4785) => [
+ q(Ayiwo),
+ q(Aiwoo),
+ ],
+ q(4786) => [
+ q(Nafaanra),
+ ],
+ q(4787) => [
+ q(Mfumte),
+ ],
+ q(4788) => [
+ q(Ngbaka),
+ ],
+ q(4789) => [
+ q(Northern Ngbandi),
+ ],
+ q(4790) => [
+ q(Ngombe (Democratic Republic of Congo)),
+ ],
+ q(4791) => [
+ q(Ngando (Central African Republic)),
+ ],
+ q(4792) => [
+ q(Ngemba),
+ ],
+ q(4793) => [
+ q(Ngbaka Manza),
+ ],
+ q(4794) => [
+ q(N/u),
+ ],
+ q(4795) => [
+ q(Ngizim),
+ ],
+ q(4796) => [
+ q(Ngie),
+ ],
+ q(4797) => [
+ q(Ngalkbun),
+ ],
+ q(4798) => [
+ q(Lomwe),
+ ],
+ q(4799) => [
+ q(Ngatik Men's Creole),
+ ],
+ q(4800) => [
+ q(Ngwo),
+ ],
+ q(4801) => [
+ q(Ngoni),
+ ],
+ q(4802) => [
+ q(Ngulu),
+ ],
+ q(4803) => [
+ q(Ngurimi),
+ q(Ngoreme),
+ ],
+ q(4804) => [
+ q(Nanggu),
+ q(Nagu),
+ ],
+ q(4805) => [
+ q(Gvoko),
+ ],
+ q(4806) => [
+ q(Ngeq),
+ ],
+ q(4807) => [
+ q(Guerrero Nahuatl),
+ ],
+ q(4808) => [
+ q(Nagumi),
+ ],
+ q(4809) => [
+ q(Ngwaba),
+ ],
+ q(4810) => [
+ q(Nggwahyi),
+ ],
+ q(4811) => [
+ q(Tibea),
+ ],
+ q(4812) => [
+ q(Ngungwel),
+ ],
+ q(4813) => [
+ q(Nhanda),
+ ],
+ q(4814) => [
+ q(Beng),
+ ],
+ q(4815) => [
+ q(Tabasco Nahuatl),
+ ],
+ q(4816) => [
+ q(Chiripa),
+ q(Ava Guarani),
+ ],
+ q(4817) => [
+ q(Eastern Huasteca Nahuatl),
+ ],
+ q(4818) => [
+ q(Nhuwala),
+ ],
+ q(4819) => [
+ q(Tetelcingo Nahuatl),
+ ],
+ q(4820) => [
+ q(Nahari),
+ ],
+ q(4821) => [
+ q(Zacatlan-Ahuacatlan-Tepetzintla Nahuatl),
+ ],
+ q(4822) => [
+ q(Isthmus-Cosoleacaque Nahuatl),
+ ],
+ q(4823) => [
+ q(Morelos Nahuatl),
+ ],
+ q(4824) => [
+ q(Central Nahuatl),
+ ],
+ q(4825) => [
+ q(Takuu),
+ ],
+ q(4826) => [
+ q(Isthmus-Pajapan Nahuatl),
+ ],
+ q(4827) => [
+ q(Huaxcaleca Nahuatl),
+ ],
+ q(4828) => [
+ q(Naro),
+ ],
+ q(4829) => [
+ q(Ometepec Nahuatl),
+ ],
+ q(4830) => [
+ q(Noone),
+ ],
+ q(4831) => [
+ q(Temascaltepec Nahuatl),
+ ],
+ q(4832) => [
+ q(Western Huasteca Nahuatl),
+ ],
+ q(4833) => [
+ q(Isthmus-Mecayapan Nahuatl),
+ ],
+ q(4834) => [
+ q(Northern Oaxaca Nahuatl),
+ ],
+ q(4835) => [
+ q(Santa Maria La Alta Nahuatl),
+ ],
+ q(4836) => [
+ q(Nakame),
+ ],
+ q(4837) => [
+ q(Ngandi),
+ ],
+ q(4838) => [
+ q(Niellim),
+ ],
+ q(4839) => [
+ q(Nek),
+ ],
+ q(4840) => [
+ q(Ngalakan),
+ ],
+ q(4841) => [
+ q(Nyiha (Tanzania)),
+ ],
+ q(4842) => [
+ q(Nii),
+ ],
+ q(4843) => [
+ q(Ngaju),
+ ],
+ q(4844) => [
+ q(Southern Nicobarese),
+ ],
+ q(4845) => [
+ q(Nila),
+ ],
+ q(4846) => [
+ q(Nilamba),
+ ],
+ q(4847) => [
+ q(Ninzo),
+ ],
+ q(4848) => [
+ q(Nganasan),
+ ],
+ q(4849) => [
+ q(Nandi),
+ ],
+ q(4850) => [
+ q(Nimboran),
+ ],
+ q(4851) => [
+ q(Nimi),
+ ],
+ q(4852) => [
+ q(Southeastern Kolami),
+ ],
+ q(4853) => [
+ q(Gilyak),
+ ],
+ q(4854) => [
+ q(Nimo),
+ ],
+ q(4855) => [
+ q(Hema),
+ ],
+ q(4856) => [
+ q(Ngiti),
+ ],
+ q(4857) => [
+ q(Ningil),
+ ],
+ q(4858) => [
+ q(Nzanyi),
+ ],
+ q(4859) => [
+ q(Nocte Naga),
+ ],
+ q(4860) => [
+ q(Ndonde Hamba),
+ ],
+ q(4861) => [
+ q(Lotha Naga),
+ ],
+ q(4862) => [
+ q(Gudanji),
+ ],
+ q(4863) => [
+ q(Njen),
+ ],
+ q(4864) => [
+ q(Njalgulgule),
+ ],
+ q(4865) => [
+ q(Angami Naga),
+ ],
+ q(4866) => [
+ q(Liangmai Naga),
+ ],
+ q(4867) => [
+ q(Ao Naga),
+ ],
+ q(4868) => [
+ q(Njerep),
+ ],
+ q(4869) => [
+ q(Nisa),
+ ],
+ q(4870) => [
+ q(Ndyuka-Trio Pidgin),
+ ],
+ q(4871) => [
+ q(Ngadjunmaya),
+ ],
+ q(4872) => [
+ q(Kunyi),
+ ],
+ q(4873) => [
+ q(Njyem),
+ ],
+ q(4874) => [
+ q(Nkoya),
+ ],
+ q(4875) => [
+ q(Khoibu Naga),
+ ],
+ q(4876) => [
+ q(Nkongho),
+ ],
+ q(4877) => [
+ q(Koireng),
+ ],
+ q(4878) => [
+ q(Duke),
+ ],
+ q(4879) => [
+ q(Inpui Naga),
+ ],
+ q(4880) => [
+ q(Nekgini),
+ ],
+ q(4881) => [
+ q(Khezha Naga),
+ ],
+ q(4882) => [
+ q(Thangal Naga),
+ ],
+ q(4883) => [
+ q(Nakai),
+ ],
+ q(4884) => [
+ q(Nokuku),
+ ],
+ q(4885) => [
+ q(Namat),
+ ],
+ q(4886) => [
+ q(Nkangala),
+ ],
+ q(4887) => [
+ q(Nkonya),
+ ],
+ q(4888) => [
+ q(Niuatoputapu),
+ ],
+ q(4889) => [
+ q(Nkami),
+ ],
+ q(4890) => [
+ q(Nukuoro),
+ ],
+ q(4891) => [
+ q(North Asmat),
+ ],
+ q(4892) => [
+ q(Nyika (Tanzania)),
+ ],
+ q(4893) => [
+ q(Bouna Kulango),
+ ],
+ q(4894) => [
+ q(Nyika (Malawi and Zambia)),
+ ],
+ q(4895) => [
+ q(Nkutu),
+ ],
+ q(4896) => [
+ q(Nkoroo),
+ ],
+ q(4897) => [
+ q(Nkari),
+ ],
+ q(4898) => [
+ q(Ngombale),
+ ],
+ q(4899) => [
+ q(Nalca),
+ ],
+ q(4900) => [
+ q(East Nyala),
+ ],
+ q(4901) => [
+ q(Gela),
+ ],
+ q(4902) => [
+ q(Grangali),
+ ],
+ q(4903) => [
+ q(Nyali),
+ ],
+ q(4904) => [
+ q(Ninia Yali),
+ ],
+ q(4905) => [
+ q(Nihali),
+ ],
+ q(4906) => [
+ q(Durango Nahuatl),
+ ],
+ q(4907) => [
+ q(Ngul),
+ ],
+ q(4908) => [
+ q(Ngarla),
+ ],
+ q(4909) => [
+ q(Nchumbulu),
+ ],
+ q(4910) => [
+ q(Orizaba Nahuatl),
+ ],
+ q(4911) => [
+ q(Nahali),
+ ],
+ q(4912) => [
+ q(Nyamal),
+ ],
+ q(4913) => [
+ q(Nalogo),
+ ],
+ q(4914) => [
+ q(Maram Naga),
+ ],
+ q(4915) => [
+ q(Big Nambas),
+ q(V'enen Taut),
+ ],
+ q(4916) => [
+ q(Ngam),
+ ],
+ q(4917) => [
+ q(Ndumu),
+ ],
+ q(4918) => [
+ q(Mzieme Naga),
+ ],
+ q(4919) => [
+ q(Tangkhul Naga),
+ ],
+ q(4920) => [
+ q(Kwasio),
+ ],
+ q(4921) => [
+ q(Monsang Naga),
+ ],
+ q(4922) => [
+ q(Nyam),
+ ],
+ q(4923) => [
+ q(Ngombe (Central African Republic)),
+ ],
+ q(4924) => [
+ q(Namakura),
+ ],
+ q(4925) => [
+ q(Ndemli),
+ ],
+ q(4926) => [
+ q(Manangba),
+ ],
+ q(4927) => [
+ q(!Xoo),
+ ],
+ q(4928) => [
+ q(Moyon Naga),
+ ],
+ q(4929) => [
+ q(Nimanbur),
+ ],
+ q(4930) => [
+ q(Nambya),
+ ],
+ q(4931) => [
+ q(Nimbari),
+ ],
+ q(4932) => [
+ q(Letemboi),
+ ],
+ q(4933) => [
+ q(Namonuito),
+ ],
+ q(4934) => [
+ q(Northeast Maidu),
+ ],
+ q(4935) => [
+ q(Ngamini),
+ ],
+ q(4936) => [
+ q(Nimoa),
+ ],
+ q(4937) => [
+ q(Nama (Papua New Guinea)),
+ ],
+ q(4938) => [
+ q(Namuyi),
+ ],
+ q(4939) => [
+ q(Nawdm),
+ ],
+ q(4940) => [
+ q(Nyangumarta),
+ ],
+ q(4941) => [
+ q(Nande),
+ ],
+ q(4942) => [
+ q(Nancere),
+ ],
+ q(4943) => [
+ q(West Ambae),
+ ],
+ q(4944) => [
+ q(Ngandyera),
+ ],
+ q(4945) => [
+ q(Ngaing),
+ ],
+ q(4946) => [
+ q(Maring Naga),
+ ],
+ q(4947) => [
+ q(Ngiemboon),
+ ],
+ q(4948) => [
+ q(North Nuaulu),
+ ],
+ q(4949) => [
+ q(Nyangatom),
+ ],
+ q(4950) => [
+ q(Nankina),
+ ],
+ q(4951) => [
+ q(Northern Rengma Naga),
+ ],
+ q(4952) => [
+ q(Namia),
+ ],
+ q(4953) => [
+ q(Ngete),
+ ],
+ q(4954) => [
+ q(Wancho Naga),
+ ],
+ q(4955) => [
+ q(Ngindo),
+ ],
+ q(4956) => [
+ q(Narungga),
+ ],
+ q(4957) => [
+ q(Ningye),
+ ],
+ q(4958) => [
+ q(Nanticoke),
+ ],
+ q(4959) => [
+ q(Dwang),
+ ],
+ q(4960) => [
+ q(Nugunu (Australia)),
+ ],
+ q(4961) => [
+ q(Southern Nuni),
+ ],
+ q(4962) => [
+ q(Ngong),
+ ],
+ q(4963) => [
+ q(Nyangga),
+ ],
+ q(4964) => [
+ q(Nda'nda'),
+ ],
+ q(4965) => [
+ q(Woun Meu),
+ ],
+ q(4966) => [
+ q(Nuk),
+ ],
+ q(4967) => [
+ q(Northern Thai),
+ ],
+ q(4968) => [
+ q(Nimadi),
+ ],
+ q(4969) => [
+ q(Nomane),
+ ],
+ q(4970) => [
+ q(Nomu),
+ ],
+ q(4971) => [
+ q(Noiri),
+ ],
+ q(4972) => [
+ q(Nonuya),
+ ],
+ q(4973) => [
+ q(Nooksack),
+ ],
+ q(4974) => [
+ q(Nocaman),
+ ],
+ q(4975) => [
+ q(Numanggang),
+ ],
+ q(4976) => [
+ q(Ngongo),
+ ],
+ q(4977) => [
+ q(Eastern Nisu),
+ ],
+ q(4978) => [
+ q(Nomatsiguenga),
+ ],
+ q(4979) => [
+ q(Ewage-Notu),
+ ],
+ q(4980) => [
+ q(Novial),
+ ],
+ q(4981) => [
+ q(Nyambo),
+ ],
+ q(4982) => [
+ q(Noy),
+ ],
+ q(4983) => [
+ q(Nayi),
+ ],
+ q(4984) => [
+ q(Nar Phu),
+ ],
+ q(4985) => [
+ q(Nupbikha),
+ ],
+ q(4986) => [
+ q(Phom Naga),
+ ],
+ q(4987) => [
+ q(Southeastern Puebla Nahuatl),
+ ],
+ q(4988) => [
+ q(Mondropolon),
+ ],
+ q(4989) => [
+ q(Pochuri Naga),
+ ],
+ q(4990) => [
+ q(Nipsan),
+ ],
+ q(4991) => [
+ q(Puimei Naga),
+ ],
+ q(4992) => [
+ q(Napu),
+ ],
+ q(4993) => [
+ q(Southern Nago),
+ ],
+ q(4994) => [
+ q(Kura Ede Nago),
+ ],
+ q(4995) => [
+ q(Ndom),
+ ],
+ q(4996) => [
+ q(Nen),
+ ],
+ q(4997) => [
+ q(Ngom),
+ ],
+ q(4998) => [
+ q(Nara),
+ ],
+ q(4999) => [
+ q(Noric),
+ ],
+ q(5000) => [
+ q(Southern Rengma Naga),
+ ],
+ q(5001) => [
+ q(Narango),
+ ],
+ q(5002) => [
+ q(Chokri Naga),
+ ],
+ q(5003) => [
+ q(Ngarluma),
+ ],
+ q(5004) => [
+ q(Narom),
+ ],
+ q(5005) => [
+ q(Norn),
+ ],
+ q(5006) => [
+ q(North Picene),
+ ],
+ q(5007) => [
+ q(Norra),
+ ],
+ q(5008) => [
+ q(Northern Kalapuya),
+ ],
+ q(5009) => [
+ q(Narua),
+ ],
+ q(5010) => [
+ q(Ngurmbur),
+ ],
+ q(5011) => [
+ q(Lala),
+ ],
+ q(5012) => [
+ q(Sangtam Naga),
+ ],
+ q(5013) => [
+ q(Nshi),
+ ],
+ q(5014) => [
+ q(Southern Nisu),
+ ],
+ q(5015) => [
+ q(Nsenga),
+ ],
+ q(5016) => [
+ q(Ngasa),
+ ],
+ q(5017) => [
+ q(Ngoshie),
+ ],
+ q(5018) => [
+ q(Nigerian Sign Language),
+ ],
+ q(5019) => [
+ q(Naskapi),
+ ],
+ q(5020) => [
+ q(Norwegian Sign Language),
+ ],
+ q(5021) => [
+ q(Sumi Naga),
+ ],
+ q(5022) => [
+ q(Nehan),
+ ],
+ q(5023) => [
+ q(Nepalese Sign Language),
+ ],
+ q(5024) => [
+ q(Northern Sierra Miwok),
+ ],
+ q(5025) => [
+ q(Maritime Sign Language),
+ ],
+ q(5026) => [
+ q(Nali),
+ ],
+ q(5027) => [
+ q(Tase Naga),
+ ],
+ q(5028) => [
+ q(Sierra Negra Nahuatl),
+ ],
+ q(5029) => [
+ q(Southwestern Nisu),
+ ],
+ q(5030) => [
+ q(Navut),
+ ],
+ q(5031) => [
+ q(Nsongo),
+ ],
+ q(5032) => [
+ q(Nasal),
+ ],
+ q(5033) => [
+ q(Nisenan),
+ ],
+ q(5034) => [
+ q(Nathembo),
+ ],
+ q(5035) => [
+ q(Natioro),
+ ],
+ q(5036) => [
+ q(Ngaanyatjarra),
+ ],
+ q(5037) => [
+ q(Ikoma-Nata-Isenye),
+ ],
+ q(5038) => [
+ q(Nateni),
+ ],
+ q(5039) => [
+ q(Ntomba),
+ ],
+ q(5040) => [
+ q(Northern Tepehuan),
+ ],
+ q(5041) => [
+ q(Delo),
+ ],
+ q(5042) => [
+ q(Natagaimas),
+ ],
+ q(5043) => [
+ q(Natugu),
+ ],
+ q(5044) => [
+ q(Nottoway),
+ ],
+ q(5045) => [
+ q(Mantsi),
+ ],
+ q(5046) => [
+ q(Natanzi),
+ ],
+ q(5047) => [
+ q(Yuaga),
+ ],
+ q(5048) => [
+ q(Nukuini),
+ ],
+ q(5049) => [
+ q(Ngala),
+ ],
+ q(5050) => [
+ q(Ngundu),
+ ],
+ q(5051) => [
+ q(Nusu),
+ ],
+ q(5052) => [
+ q(Nungali),
+ ],
+ q(5053) => [
+ q(Ndunda),
+ ],
+ q(5054) => [
+ q(Ngumbi),
+ ],
+ q(5055) => [
+ q(Nyole),
+ ],
+ q(5056) => [
+ q(Nuu-chah-nulth),
+ q(Nuuchahnulth),
+ ],
+ q(5057) => [
+ q(Nusa Laut),
+ ],
+ q(5058) => [
+ q(Niuafo'ou),
+ ],
+ q(5059) => [
+ q(Anong),
+ ],
+ q(5060) => [
+ q(Nguon),
+ ],
+ q(5061) => [
+ q(Nupe-Nupe-Tako),
+ ],
+ q(5062) => [
+ q(Nukumanu),
+ ],
+ q(5063) => [
+ q(Nukuria),
+ ],
+ q(5064) => [
+ q(Nuer),
+ ],
+ q(5065) => [
+ q(Nung (Viet Nam)),
+ ],
+ q(5066) => [
+ q(Ngbundu),
+ ],
+ q(5067) => [
+ q(Northern Nuni),
+ ],
+ q(5068) => [
+ q(Nguluwan),
+ ],
+ q(5069) => [
+ q(Mehek),
+ ],
+ q(5070) => [
+ q(Nunggubuyu),
+ ],
+ q(5071) => [
+ q(Tlamacazapa Nahuatl),
+ ],
+ q(5072) => [
+ q(Nasarian),
+ ],
+ q(5073) => [
+ q(Namiae),
+ ],
+ q(5074) => [
+ q(Nawathinehena),
+ ],
+ q(5075) => [
+ q(Nyabwa),
+ ],
+ q(5076) => [
+ q(Ngwe),
+ ],
+ q(5077) => [
+ q(Southwest Tanna),
+ ],
+ q(5078) => [
+ q(Nyamusa-Molo),
+ ],
+ q(5079) => [
+ q(Nawaru),
+ ],
+ q(5080) => [
+ q(Middle Newar),
+ ],
+ q(5081) => [
+ q(Nottoway-Meherrin),
+ ],
+ q(5082) => [
+ q(Nauete),
+ ],
+ q(5083) => [
+ q(Ngando (Democratic Republic of Congo)),
+ ],
+ q(5084) => [
+ q(Nage),
+ ],
+ q(5085) => [
+ q(Ngad'a),
+ ],
+ q(5086) => [
+ q(Nindi),
+ ],
+ q(5087) => [
+ q(South Nuaulu),
+ ],
+ q(5088) => [
+ q(Numidian),
+ ],
+ q(5089) => [
+ q(Ngawun),
+ ],
+ q(5090) => [
+ q(Naxi),
+ ],
+ q(5091) => [
+ q(Ninggerum),
+ ],
+ q(5092) => [
+ q(Narau),
+ ],
+ q(5093) => [
+ q(Nafri),
+ ],
+ q(5094) => [
+ q(Nyangbo),
+ ],
+ q(5095) => [
+ q(Nyanga-li),
+ ],
+ q(5096) => [
+ q(Nyore),
+ q(Olunyole),
+ ],
+ q(5097) => [
+ q(Nyengo),
+ ],
+ q(5098) => [
+ q(Giryama),
+ q(Kigiryama),
+ ],
+ q(5099) => [
+ q(Nyindu),
+ ],
+ q(5100) => [
+ q(Nyigina),
+ ],
+ q(5101) => [
+ q(Ama (Sudan)),
+ ],
+ q(5102) => [
+ q(Nyanga),
+ ],
+ q(5103) => [
+ q(Nyaneka),
+ ],
+ q(5104) => [
+ q(Nyeu),
+ ],
+ q(5105) => [
+ q(Nyang'i),
+ ],
+ q(5106) => [
+ q(Nayini),
+ ],
+ q(5107) => [
+ q(Nyiha (Malawi)),
+ ],
+ q(5108) => [
+ q(Nyunga),
+ ],
+ q(5109) => [
+ q(Nyawaygi),
+ ],
+ q(5110) => [
+ q(Nyungwe),
+ ],
+ q(5111) => [
+ q(Nyulnyul),
+ ],
+ q(5112) => [
+ q(Nyaw),
+ ],
+ q(5113) => [
+ q(Nganyaywana),
+ ],
+ q(5114) => [
+ q(Nyakyusa-Ngonde),
+ ],
+ q(5115) => [
+ q(Tigon Mbembe),
+ ],
+ q(5116) => [
+ q(Njebi),
+ ],
+ q(5117) => [
+ q(Nzakara),
+ ],
+ q(5118) => [
+ q(Zeme Naga),
+ ],
+ q(5119) => [
+ q(New Zealand Sign Language),
+ ],
+ q(5120) => [
+ q(Teke-Nzikou),
+ ],
+ q(5121) => [
+ q(Nzakambay),
+ ],
+ q(5122) => [
+ q(Nanga Dama Dogon),
+ ],
+ q(5123) => [
+ q(Orok),
+ ],
+ q(5124) => [
+ q(Oroch),
+ ],
+ q(5125) => [
+ q(Old Aramaic (up to 700 BCE)),
+ q(Ancient Aramaic (up to 700 BCE)),
+ ],
+ q(5126) => [
+ q(Old Avar),
+ ],
+ q(5127) => [
+ q(Obispeno),
+ ],
+ q(5128) => [
+ q(Southern Bontok),
+ ],
+ q(5129) => [
+ q(Oblo),
+ ],
+ q(5130) => [
+ q(Moabite),
+ ],
+ q(5131) => [
+ q(Obo Manobo),
+ ],
+ q(5132) => [
+ q(Old Burmese),
+ ],
+ q(5133) => [
+ q(Old Breton),
+ ],
+ q(5134) => [
+ q(Obulom),
+ ],
+ q(5135) => [
+ q(Ocaina),
+ ],
+ q(5136) => [
+ q(Old Chinese),
+ ],
+ q(5137) => [
+ q(Old Cornish),
+ ],
+ q(5138) => [
+ q(Atzingo Matlatzinca),
+ ],
+ q(5139) => [
+ q(Odut),
+ ],
+ q(5140) => [
+ q(Od),
+ ],
+ q(5141) => [
+ q(Old Dutch),
+ ],
+ q(5142) => [
+ q(Odual),
+ ],
+ q(5143) => [
+ q(Ofo),
+ ],
+ q(5144) => [
+ q(Old Frisian),
+ ],
+ q(5145) => [
+ q(Efutop),
+ ],
+ q(5146) => [
+ q(Ogbia),
+ ],
+ q(5147) => [
+ q(Ogbah),
+ ],
+ q(5148) => [
+ q(Old Georgian),
+ ],
+ q(5149) => [
+ q(Ogbogolo),
+ ],
+ q(5150) => [
+ q(Khana),
+ ],
+ q(5151) => [
+ q(Ogbronuagum),
+ ],
+ q(5152) => [
+ q(Old Hittite),
+ ],
+ q(5153) => [
+ q(Old Hungarian),
+ ],
+ q(5154) => [
+ q(Oirata),
+ ],
+ q(5155) => [
+ q(Inebu One),
+ ],
+ q(5156) => [
+ q(Northwestern Ojibwa),
+ ],
+ q(5157) => [
+ q(Central Ojibwa),
+ ],
+ q(5158) => [
+ q(Eastern Ojibwa),
+ ],
+ q(5159) => [
+ q(Old Japanese),
+ ],
+ q(5160) => [
+ q(Severn Ojibwa),
+ ],
+ q(5161) => [
+ q(Ontong Java),
+ ],
+ q(5162) => [
+ q(Western Ojibwa),
+ ],
+ q(5163) => [
+ q(Okanagan),
+ ],
+ q(5164) => [
+ q(Okobo),
+ ],
+ q(5165) => [
+ q(Okodia),
+ ],
+ q(5166) => [
+ q(Okpe (Southwestern Edo)),
+ ],
+ q(5167) => [
+ q(Koresh-e Rostam),
+ ],
+ q(5168) => [
+ q(Okiek),
+ ],
+ q(5169) => [
+ q(Oko-Juwoi),
+ ],
+ q(5170) => [
+ q(Kwamtim One),
+ ],
+ q(5171) => [
+ q(Old Kentish Sign Language),
+ ],
+ q(5172) => [
+ q(Middle Korean (10th-16th cent.)),
+ ],
+ q(5173) => [
+ q(Oki-No-Erabu),
+ ],
+ q(5174) => [
+ q(Old Korean (3rd-9th cent.)),
+ ],
+ q(5175) => [
+ q(Kirike),
+ ],
+ q(5176) => [
+ q(Oko-Eni-Osayen),
+ ],
+ q(5177) => [
+ q(Oku),
+ ],
+ q(5178) => [
+ q(Orokaiva),
+ ],
+ q(5179) => [
+ q(Okpe (Northwestern Edo)),
+ ],
+ q(5180) => [
+ q(Walungge),
+ ],
+ q(5181) => [
+ q(Mochi),
+ ],
+ q(5182) => [
+ q(Olekha),
+ ],
+ q(5183) => [
+ q(Oloma),
+ ],
+ q(5184) => [
+ q(Livvi),
+ ],
+ q(5185) => [
+ q(Olrat),
+ ],
+ q(5186) => [
+ q(Omaha-Ponca),
+ ],
+ q(5187) => [
+ q(East Ambae),
+ ],
+ q(5188) => [
+ q(Mochica),
+ ],
+ q(5189) => [
+ q(Omejes),
+ ],
+ q(5190) => [
+ q(Omagua),
+ ],
+ q(5191) => [
+ q(Omi),
+ ],
+ q(5192) => [
+ q(Omok),
+ ],
+ q(5193) => [
+ q(Ombo),
+ ],
+ q(5194) => [
+ q(Minoan),
+ ],
+ q(5195) => [
+ q(Utarmbung),
+ ],
+ q(5196) => [
+ q(Old Manipuri),
+ ],
+ q(5197) => [
+ q(Old Marathi),
+ ],
+ q(5198) => [
+ q(Omotik),
+ ],
+ q(5199) => [
+ q(Omurano),
+ ],
+ q(5200) => [
+ q(South Tairora),
+ ],
+ q(5201) => [
+ q(Old Mon),
+ ],
+ q(5202) => [
+ q(Ona),
+ ],
+ q(5203) => [
+ q(Lingao),
+ ],
+ q(5204) => [
+ q(Oneida),
+ ],
+ q(5205) => [
+ q(Olo),
+ ],
+ q(5206) => [
+ q(Onin),
+ ],
+ q(5207) => [
+ q(Onjob),
+ ],
+ q(5208) => [
+ q(Kabore One),
+ ],
+ q(5209) => [
+ q(Onobasulu),
+ ],
+ q(5210) => [
+ q(Onondaga),
+ ],
+ q(5211) => [
+ q(Sartang),
+ ],
+ q(5212) => [
+ q(Northern One),
+ ],
+ q(5213) => [
+ q(Ono),
+ ],
+ q(5214) => [
+ q(Ontenu),
+ ],
+ q(5215) => [
+ q(Unua),
+ ],
+ q(5216) => [
+ q(Old Nubian),
+ ],
+ q(5217) => [
+ q(Onin Based Pidgin),
+ ],
+ q(5218) => [
+ q(Tohono O'odham),
+ ],
+ q(5219) => [
+ q(Ong),
+ ],
+ q(5220) => [
+ q(Onge),
+ ],
+ q(5221) => [
+ q(Oorlams),
+ ],
+ q(5222) => [
+ q(Old Ossetic),
+ ],
+ q(5223) => [
+ q(Okpamheri),
+ ],
+ q(5224) => [
+ q(Kopkaka),
+ ],
+ q(5225) => [
+ q(Oksapmin),
+ ],
+ q(5226) => [
+ q(Opao),
+ ],
+ q(5227) => [
+ q(Opata),
+ ],
+ q(5228) => [
+ q(Ofaye),
+ ],
+ q(5229) => [
+ q(Oroha),
+ ],
+ q(5230) => [
+ q(Orma),
+ ],
+ q(5231) => [
+ q(Orejon),
+ ],
+ q(5232) => [
+ q(Oring),
+ ],
+ q(5233) => [
+ q(Oroqen),
+ ],
+ q(5234) => [
+ q(Orang Kanaq),
+ ],
+ q(5235) => [
+ q(Orokolo),
+ ],
+ q(5236) => [
+ q(Oruma),
+ ],
+ q(5237) => [
+ q(Orang Seletar),
+ ],
+ q(5238) => [
+ q(Adivasi Oriya),
+ ],
+ q(5239) => [
+ q(Ormuri),
+ ],
+ q(5240) => [
+ q(Old Russian),
+ ],
+ q(5241) => [
+ q(Oro Win),
+ ],
+ q(5242) => [
+ q(Oro),
+ ],
+ q(5243) => [
+ q(Ormu),
+ ],
+ q(5244) => [
+ q(Oscan),
+ ],
+ q(5245) => [
+ q(Osing),
+ ],
+ q(5246) => [
+ q(Ososo),
+ ],
+ q(5247) => [
+ q(Old Spanish),
+ ],
+ q(5248) => [
+ q(Osatu),
+ ],
+ q(5249) => [
+ q(Southern One),
+ ],
+ q(5250) => [
+ q(Old Saxon),
+ ],
+ q(5251) => [
+ q(Old Tibetan),
+ ],
+ q(5252) => [
+ q(Ot Danum),
+ ],
+ q(5253) => [
+ q(Mezquital Otomi),
+ ],
+ q(5254) => [
+ q(Oti),
+ ],
+ q(5255) => [
+ q(Old Turkish),
+ ],
+ q(5256) => [
+ q(Tilapa Otomi),
+ ],
+ q(5257) => [
+ q(Eastern Highland Otomi),
+ ],
+ q(5258) => [
+ q(Tenango Otomi),
+ ],
+ q(5259) => [
+ q(Queretaro Otomi),
+ ],
+ q(5260) => [
+ q(Otoro),
+ ],
+ q(5261) => [
+ q(Estado de Mexico Otomi),
+ ],
+ q(5262) => [
+ q(Temoaya Otomi),
+ ],
+ q(5263) => [
+ q(Otuke),
+ ],
+ q(5264) => [
+ q(Ottawa),
+ ],
+ q(5265) => [
+ q(Texcatepec Otomi),
+ ],
+ q(5266) => [
+ q(Old Tamil),
+ ],
+ q(5267) => [
+ q(Ixtenco Otomi),
+ ],
+ q(5268) => [
+ q(Tagargrent),
+ ],
+ q(5269) => [
+ q(Glio-Oubi),
+ ],
+ q(5270) => [
+ q(Oune),
+ ],
+ q(5271) => [
+ q(Old Uighur),
+ ],
+ q(5272) => [
+ q(Ouma),
+ ],
+ q(5273) => [
+ q(!O!ung),
+ ],
+ q(5274) => [
+ q(Owiniga),
+ ],
+ q(5275) => [
+ q(Old Welsh),
+ ],
+ q(5276) => [
+ q(Oy),
+ ],
+ q(5277) => [
+ q(Oyda),
+ ],
+ q(5278) => [
+ q(Wayampi),
+ ],
+ q(5279) => [
+ q(Oya'oya),
+ ],
+ q(5280) => [
+ q(Koonzime),
+ ],
+ q(5281) => [
+ q(Parecis),
+ ],
+ q(5282) => [
+ q(Pacoh),
+ ],
+ q(5283) => [
+ q(Paumari),
+ ],
+ q(5284) => [
+ q(Pagibete),
+ ],
+ q(5285) => [
+ q(Paranawat),
+ ],
+ q(5286) => [
+ q(Tenharim),
+ ],
+ q(5287) => [
+ q(Pe),
+ ],
+ q(5288) => [
+ q(Parakana),
+ ],
+ q(5289) => [
+ q(Northern Paiute),
+ ],
+ q(5290) => [
+ q(Parya),
+ ],
+ q(5291) => [
+ q(Panamint),
+ q(Timbisha),
+ ],
+ q(5292) => [
+ q(Papasena),
+ ],
+ q(5293) => [
+ q(Papitalai),
+ ],
+ q(5294) => [
+ q(Pakaasnovos),
+ ],
+ q(5295) => [
+ q(Pawnee),
+ ],
+ q(5296) => [
+ q(Pankarare),
+ ],
+ q(5297) => [
+ q(Pech),
+ ],
+ q(5298) => [
+ q(Pankararu),
+ ],
+ q(5299) => [
+ q(Paez),
+ ],
+ q(5300) => [
+ q(Patamona),
+ ],
+ q(5301) => [
+ q(Mezontla Popoloca),
+ ],
+ q(5302) => [
+ q(Coyotepec Popoloca),
+ ],
+ q(5303) => [
+ q(Paraujano),
+ ],
+ q(5304) => [
+ q(E'napa Woromaipu),
+ ],
+ q(5305) => [
+ q(Parkwa),
+ ],
+ q(5306) => [
+ q(Mak (Nigeria)),
+ ],
+ q(5307) => [
+ q(Kpasam),
+ ],
+ q(5308) => [
+ q(Papel),
+ ],
+ q(5309) => [
+ q(Badyara),
+ ],
+ q(5310) => [
+ q(Pangwa),
+ ],
+ q(5311) => [
+ q(Central Pame),
+ ],
+ q(5312) => [
+ q(Southern Pashto),
+ ],
+ q(5313) => [
+ q(Northern Pashto),
+ ],
+ q(5314) => [
+ q(Pnar),
+ ],
+ q(5315) => [
+ q(Pyu),
+ ],
+ q(5316) => [
+ q(Palu),
+ ],
+ q(5317) => [
+ q(Santa Ines Ahuatempan Popoloca),
+ ],
+ q(5318) => [
+ q(Pear),
+ ],
+ q(5319) => [
+ q(Bouyei),
+ ],
+ q(5320) => [
+ q(Picard),
+ ],
+ q(5321) => [
+ q(Ruching Palaung),
+ ],
+ q(5322) => [
+ q(Paliyan),
+ ],
+ q(5323) => [
+ q(Paniya),
+ ],
+ q(5324) => [
+ q(Pardhan),
+ ],
+ q(5325) => [
+ q(Duruwa),
+ ],
+ q(5326) => [
+ q(Parenga),
+ ],
+ q(5327) => [
+ q(Paite Chin),
+ ],
+ q(5328) => [
+ q(Pardhi),
+ ],
+ q(5329) => [
+ q(Nigerian Pidgin),
+ ],
+ q(5330) => [
+ q(Piti),
+ ],
+ q(5331) => [
+ q(Pacahuara),
+ ],
+ q(5332) => [
+ q(Panang),
+ ],
+ q(5333) => [
+ q(Pyapun),
+ ],
+ q(5334) => [
+ q(Anam),
+ ],
+ q(5335) => [
+ q(Pennsylvania German),
+ ],
+ q(5336) => [
+ q(Pa Di),
+ ],
+ q(5337) => [
+ q(Podena),
+ q(Fedan),
+ ],
+ q(5338) => [
+ q(Padoe),
+ ],
+ q(5339) => [
+ q(Plautdietsch),
+ ],
+ q(5340) => [
+ q(Kayan),
+ ],
+ q(5341) => [
+ q(Peranakan Indonesian),
+ ],
+ q(5342) => [
+ q(Eastern Pomo),
+ ],
+ q(5343) => [
+ q(Mala (Papua New Guinea)),
+ ],
+ q(5344) => [
+ q(Taje),
+ ],
+ q(5345) => [
+ q(Northeastern Pomo),
+ ],
+ q(5346) => [
+ q(Pengo),
+ ],
+ q(5347) => [
+ q(Bonan),
+ ],
+ q(5348) => [
+ q(Chichimeca-Jonaz),
+ ],
+ q(5349) => [
+ q(Northern Pomo),
+ ],
+ q(5350) => [
+ q(Penchal),
+ ],
+ q(5351) => [
+ q(Pekal),
+ ],
+ q(5352) => [
+ q(Phende),
+ ],
+ q(5353) => [
+ q(Kunja),
+ ],
+ q(5354) => [
+ q(Southern Pomo),
+ ],
+ q(5355) => [
+ q(Iranian Persian),
+ ],
+ q(5356) => [
+ q(Pemono),
+ ],
+ q(5357) => [
+ q(Petats),
+ ],
+ q(5358) => [
+ q(Petjo),
+ ],
+ q(5359) => [
+ q(Eastern Penan),
+ ],
+ q(5360) => [
+ q(Paafang),
+ ],
+ q(5361) => [
+ q(Peere),
+ ],
+ q(5362) => [
+ q(Pfaelzisch),
+ ],
+ q(5363) => [
+ q(Sudanese Creole Arabic),
+ ],
+ q(5364) => [
+ q(Pangwali),
+ ],
+ q(5365) => [
+ q(Pagi),
+ ],
+ q(5366) => [
+ q(Rerep),
+ ],
+ q(5367) => [
+ q(Primitive Irish),
+ ],
+ q(5368) => [
+ q(Paelignian),
+ ],
+ q(5369) => [
+ q(Pangseng),
+ ],
+ q(5370) => [
+ q(Pagu),
+ ],
+ q(5371) => [
+ q(Pongyong),
+ ],
+ q(5372) => [
+ q(Pa-Hng),
+ ],
+ q(5373) => [
+ q(Phudagi),
+ ],
+ q(5374) => [
+ q(Phuong),
+ ],
+ q(5375) => [
+ q(Phukha),
+ ],
+ q(5376) => [
+ q(Phake),
+ ],
+ q(5377) => [
+ q(Phalura),
+ q(Palula),
+ ],
+ q(5378) => [
+ q(Phimbi),
+ ],
+ q(5379) => [
+ q(Phunoi),
+ ],
+ q(5380) => [
+ q(Phana'),
+ ],
+ q(5381) => [
+ q(Pahari-Potwari),
+ ],
+ q(5382) => [
+ q(Phu Thai),
+ ],
+ q(5383) => [
+ q(Phuan),
+ ],
+ q(5384) => [
+ q(Pahlavani),
+ ],
+ q(5385) => [
+ q(Phangduwali),
+ ],
+ q(5386) => [
+ q(Pima Bajo),
+ ],
+ q(5387) => [
+ q(Yine),
+ ],
+ q(5388) => [
+ q(Pinji),
+ ],
+ q(5389) => [
+ q(Piaroa),
+ ],
+ q(5390) => [
+ q(Piro),
+ ],
+ q(5391) => [
+ q(Pingelapese),
+ ],
+ q(5392) => [
+ q(Pisabo),
+ ],
+ q(5393) => [
+ q(Pitcairn-Norfolk),
+ ],
+ q(5394) => [
+ q(Pini),
+ ],
+ q(5395) => [
+ q(Pijao),
+ ],
+ q(5396) => [
+ q(Yom),
+ ],
+ q(5397) => [
+ q(Powhatan),
+ ],
+ q(5398) => [
+ q(Piame),
+ ],
+ q(5399) => [
+ q(Piapoco),
+ ],
+ q(5400) => [
+ q(Pero),
+ ],
+ q(5401) => [
+ q(Piratapuyo),
+ ],
+ q(5402) => [
+ q(Pijin),
+ ],
+ q(5403) => [
+ q(Pitta Pitta),
+ ],
+ q(5404) => [
+ q(Pintupi-Luritja),
+ ],
+ q(5405) => [
+ q(Pileni),
+ q(Vaeakau-Taumako),
+ ],
+ q(5406) => [
+ q(Pimbwe),
+ ],
+ q(5407) => [
+ q(Piu),
+ ],
+ q(5408) => [
+ q(Piya-Kwonci),
+ ],
+ q(5409) => [
+ q(Pije),
+ ],
+ q(5410) => [
+ q(Pitjantjatjara),
+ ],
+ q(5411) => [
+ q(Ardhamagadhi Prakrit),
+ ],
+ q(5412) => [
+ q(Pokomo),
+ q(Kipfokomo),
+ ],
+ q(5413) => [
+ q(Paekche),
+ ],
+ q(5414) => [
+ q(Pak-Tong),
+ ],
+ q(5415) => [
+ q(Pankhu),
+ ],
+ q(5416) => [
+ q(Pakanha),
+ ],
+ q(5417) => [
+ q(Pokoot),
+ ],
+ q(5418) => [
+ q(Pukapuka),
+ ],
+ q(5419) => [
+ q(Attapady Kurumba),
+ ],
+ q(5420) => [
+ q(Pakistan Sign Language),
+ ],
+ q(5421) => [
+ q(Maleng),
+ ],
+ q(5422) => [
+ q(Paku),
+ ],
+ q(5423) => [
+ q(Miani),
+ ],
+ q(5424) => [
+ q(Polonombauk),
+ ],
+ q(5425) => [
+ q(Central Palawano),
+ ],
+ q(5426) => [
+ q(Polari),
+ ],
+ q(5427) => [
+ q(Palu'e),
+ ],
+ q(5428) => [
+ q(Pilaga),
+ ],
+ q(5429) => [
+ q(Paulohi),
+ ],
+ q(5430) => [
+ q(Polci),
+ ],
+ q(5431) => [
+ q(Kohistani Shina),
+ ],
+ q(5432) => [
+ q(Shwe Palaung),
+ ],
+ q(5433) => [
+ q(Palenquero),
+ ],
+ q(5434) => [
+ q(Oluta Popoluca),
+ ],
+ q(5435) => [
+ q(Palpa),
+ ],
+ q(5436) => [
+ q(Palaic),
+ ],
+ q(5437) => [
+ q(Palaka Senoufo),
+ ],
+ q(5438) => [
+ q(San Marcos Tlalcoyalco Popoloca),
+ ],
+ q(5439) => [
+ q(Plateau Malagasy),
+ ],
+ q(5440) => [
+ q(Palikur),
+ ],
+ q(5441) => [
+ q(Southwest Palawano),
+ ],
+ q(5442) => [
+ q(Brooke's Point Palawano),
+ ],
+ q(5443) => [
+ q(Bolyu),
+ ],
+ q(5444) => [
+ q(Paluan),
+ ],
+ q(5445) => [
+ q(Paama),
+ ],
+ q(5446) => [
+ q(Pambia),
+ ],
+ q(5447) => [
+ q(Palumata),
+ ],
+ q(5448) => [
+ q(Pwaamei),
+ ],
+ q(5449) => [
+ q(Pamona),
+ ],
+ q(5450) => [
+ q(Maharastri Prakrit),
+ ],
+ q(5451) => [
+ q(Northern Pumi),
+ ],
+ q(5452) => [
+ q(Southern Pumi),
+ ],
+ q(5453) => [
+ q(Pamlico),
+ ],
+ q(5454) => [
+ q(Lingua Franca),
+ ],
+ q(5455) => [
+ q(Pomo),
+ ],
+ q(5456) => [
+ q(Pam),
+ ],
+ q(5457) => [
+ q(Pom),
+ ],
+ q(5458) => [
+ q(Northern Pame),
+ ],
+ q(5459) => [
+ q(Paynamar),
+ ],
+ q(5460) => [
+ q(Piemontese),
+ ],
+ q(5461) => [
+ q(Tuamotuan),
+ ],
+ q(5462) => [
+ q(Mirpur Panjabi),
+ ],
+ q(5463) => [
+ q(Plains Miwok),
+ ],
+ q(5464) => [
+ q(Poumei Naga),
+ ],
+ q(5465) => [
+ q(Papuan Malay),
+ ],
+ q(5466) => [
+ q(Southern Pame),
+ ],
+ q(5467) => [
+ q(Punan Bah-Biau),
+ ],
+ q(5468) => [
+ q(Western Panjabi),
+ ],
+ q(5469) => [
+ q(Pannei),
+ ],
+ q(5470) => [
+ q(Western Penan),
+ ],
+ q(5471) => [
+ q(Pongu),
+ ],
+ q(5472) => [
+ q(Penrhyn),
+ ],
+ q(5473) => [
+ q(Aoheng),
+ ],
+ q(5474) => [
+ q(Punan Batu 1),
+ ],
+ q(5475) => [
+ q(Pinai-Hagahai),
+ ],
+ q(5476) => [
+ q(Panobo),
+ ],
+ q(5477) => [
+ q(Pancana),
+ ],
+ q(5478) => [
+ q(Pana (Burkina Faso)),
+ ],
+ q(5479) => [
+ q(Panim),
+ ],
+ q(5480) => [
+ q(Ponosakan),
+ ],
+ q(5481) => [
+ q(Pontic),
+ ],
+ q(5482) => [
+ q(Jiongnai Bunu),
+ ],
+ q(5483) => [
+ q(Pinigura),
+ ],
+ q(5484) => [
+ q(Panytyima),
+ ],
+ q(5485) => [
+ q(Phong-Kniang),
+ ],
+ q(5486) => [
+ q(Pinyin),
+ ],
+ q(5487) => [
+ q(Pana (Central African Republic)),
+ ],
+ q(5488) => [
+ q(Poqomam),
+ ],
+ q(5489) => [
+ q(Ponares),
+ ],
+ q(5490) => [
+ q(San Juan Atzingo Popoloca),
+ ],
+ q(5491) => [
+ q(Poke),
+ ],
+ q(5492) => [
+ q(Potiguara),
+ ],
+ q(5493) => [
+ q(Poqomchi'),
+ ],
+ q(5494) => [
+ q(Highland Popoluca),
+ ],
+ q(5495) => [
+ q(Pokanga),
+ ],
+ q(5496) => [
+ q(Southeastern Pomo),
+ ],
+ q(5497) => [
+ q(Central Pomo),
+ ],
+ q(5498) => [
+ q(Pwapwa),
+ ],
+ q(5499) => [
+ q(Texistepec Popoluca),
+ ],
+ q(5500) => [
+ q(Sayula Popoluca),
+ ],
+ q(5501) => [
+ q(Potawatomi),
+ ],
+ q(5502) => [
+ q(Upper Guinea Crioulo),
+ ],
+ q(5503) => [
+ q(San Felipe Otlaltepec Popoloca),
+ ],
+ q(5504) => [
+ q(Polabian),
+ ],
+ q(5505) => [
+ q(Pogolo),
+ ],
+ q(5506) => [
+ q(Pao),
+ ],
+ q(5507) => [
+ q(Papi),
+ ],
+ q(5508) => [
+ q(Paipai),
+ ],
+ q(5509) => [
+ q(Uma),
+ ],
+ q(5510) => [
+ q(Pipil),
+ q(Nicarao),
+ ],
+ q(5511) => [
+ q(Papuma),
+ ],
+ q(5512) => [
+ q(Papapana),
+ ],
+ q(5513) => [
+ q(Folopa),
+ ],
+ q(5514) => [
+ q(Pelende),
+ ],
+ q(5515) => [
+ q(Pei),
+ ],
+ q(5516) => [
+ q(Piru),
+ ],
+ q(5517) => [
+ q(San Luis Temalacayuca Popoloca),
+ ],
+ q(5518) => [
+ q(Pare),
+ ],
+ q(5519) => [
+ q(Papora),
+ ],
+ q(5520) => [
+ q(Pa'a),
+ ],
+ q(5521) => [
+ q(Malecite-Passamaquoddy),
+ ],
+ q(5522) => [
+ q(Lua'),
+ ],
+ q(5523) => [
+ q(Parachi),
+ ],
+ q(5524) => [
+ q(Parsi-Dari),
+ ],
+ q(5525) => [
+ q(Principense),
+ ],
+ q(5526) => [
+ q(Paranan),
+ ],
+ q(5527) => [
+ q(Prussian),
+ ],
+ q(5528) => [
+ q(Porohanon),
+ ],
+ q(5529) => [
+ q(Paici),
+ ],
+ q(5530) => [
+ q(Parauk),
+ ],
+ q(5531) => [
+ q(Peruvian Sign Language),
+ ],
+ q(5532) => [
+ q(Kibiri),
+ ],
+ q(5533) => [
+ q(Prasuni),
+ ],
+ q(5534) => [
+ q(Parsi),
+ ],
+ q(5535) => [
+ q(Asheninka Perene),
+ ],
+ q(5536) => [
+ q(Puri),
+ ],
+ q(5537) => [
+ q(Dari),
+ q(Afghan Persian),
+ ],
+ q(5538) => [
+ q(Phai),
+ ],
+ q(5539) => [
+ q(Puragi),
+ ],
+ q(5540) => [
+ q(Parawen),
+ ],
+ q(5541) => [
+ q(Purik),
+ ],
+ q(5542) => [
+ q(Pray 3),
+ ],
+ q(5543) => [
+ q(Providencia Sign Language),
+ ],
+ q(5544) => [
+ q(Asue Awyu),
+ ],
+ q(5545) => [
+ q(Persian Sign Language),
+ ],
+ q(5546) => [
+ q(Plains Indian Sign Language),
+ ],
+ q(5547) => [
+ q(Central Malay),
+ ],
+ q(5548) => [
+ q(Penang Sign Language),
+ ],
+ q(5549) => [
+ q(Southwest Pashayi),
+ ],
+ q(5550) => [
+ q(Southeast Pashayi),
+ ],
+ q(5551) => [
+ q(Puerto Rican Sign Language),
+ ],
+ q(5552) => [
+ q(Pauserna),
+ ],
+ q(5553) => [
+ q(Panasuan),
+ ],
+ q(5554) => [
+ q(Polish Sign Language),
+ ],
+ q(5555) => [
+ q(Philippine Sign Language),
+ ],
+ q(5556) => [
+ q(Pasi),
+ ],
+ q(5557) => [
+ q(Portuguese Sign Language),
+ ],
+ q(5558) => [
+ q(Kaulong),
+ ],
+ q(5559) => [
+ q(Central Pashto),
+ ],
+ q(5560) => [
+ q(Sauraseni Prakrit),
+ ],
+ q(5561) => [
+ q(Port Sandwich),
+ ],
+ q(5562) => [
+ q(Piscataway),
+ ],
+ q(5563) => [
+ q(Pai Tavytera),
+ ],
+ q(5564) => [
+ q(Pataxo Ha-Ha-Hae),
+ ],
+ q(5565) => [
+ q(Pintiini),
+ ],
+ q(5566) => [
+ q(Patani),
+ ],
+ q(5567) => [
+ q(Zo'e),
+ ],
+ q(5568) => [
+ q(Patep),
+ ],
+ q(5569) => [
+ q(Piamatsina),
+ ],
+ q(5570) => [
+ q(Enrekang),
+ ],
+ q(5571) => [
+ q(Bambam),
+ ],
+ q(5572) => [
+ q(Port Vato),
+ ],
+ q(5573) => [
+ q(Pentlatch),
+ ],
+ q(5574) => [
+ q(Pathiya),
+ ],
+ q(5575) => [
+ q(Western Highland Purepecha),
+ ],
+ q(5576) => [
+ q(Purum),
+ ],
+ q(5577) => [
+ q(Punan Merap),
+ ],
+ q(5578) => [
+ q(Punan Aput),
+ ],
+ q(5579) => [
+ q(Puelche),
+ ],
+ q(5580) => [
+ q(Punan Merah),
+ ],
+ q(5581) => [
+ q(Phuie),
+ ],
+ q(5582) => [
+ q(Puinave),
+ ],
+ q(5583) => [
+ q(Punan Tubu),
+ ],
+ q(5584) => [
+ q(Pu Ko),
+ ],
+ q(5585) => [
+ q(Puma),
+ ],
+ q(5586) => [
+ q(Puoc),
+ ],
+ q(5587) => [
+ q(Pulabu),
+ ],
+ q(5588) => [
+ q(Puquina),
+ ],
+ q(5589) => [
+ q(Purubora),
+ ],
+ q(5590) => [
+ q(Putoh),
+ ],
+ q(5591) => [
+ q(Punu),
+ ],
+ q(5592) => [
+ q(Puluwatese),
+ ],
+ q(5593) => [
+ q(Puare),
+ ],
+ q(5594) => [
+ q(Purisimeno),
+ ],
+ q(5595) => [
+ q(Purum Naga),
+ ],
+ q(5596) => [
+ q(Pawaia),
+ ],
+ q(5597) => [
+ q(Panawa),
+ ],
+ q(5598) => [
+ q(Gapapaiwa),
+ ],
+ q(5599) => [
+ q(Molbog),
+ ],
+ q(5600) => [
+ q(Paiwan),
+ ],
+ q(5601) => [
+ q(Pwo Western Karen),
+ ],
+ q(5602) => [
+ q(Powari),
+ ],
+ q(5603) => [
+ q(Pwo Northern Karen),
+ ],
+ q(5604) => [
+ q(Quetzaltepec Mixe),
+ ],
+ q(5605) => [
+ q(Pye Krumen),
+ ],
+ q(5606) => [
+ q(Fyam),
+ ],
+ q(5607) => [
+ q(Poyanawa),
+ ],
+ q(5608) => [
+ q(Paraguayan Sign Language),
+ q(Lengua de Senas del Paraguay),
+ ],
+ q(5609) => [
+ q(Puyuma),
+ ],
+ q(5610) => [
+ q(Pyu (Myanmar)),
+ ],
+ q(5611) => [
+ q(Pyen),
+ ],
+ q(5612) => [
+ q(Para Naga),
+ ],
+ q(5613) => [
+ q(Quapaw),
+ ],
+ q(5614) => [
+ q(Huallaga Huanuco Quechua),
+ ],
+ q(5615) => [
+ q(K'iche'),
+ q(Quiche),
+ ],
+ q(5616) => [
+ q(Calderon Highland Quichua),
+ ],
+ q(5617) => [
+ q(Lambayeque Quechua),
+ ],
+ q(5618) => [
+ q(Chimborazo Highland Quichua),
+ ],
+ q(5619) => [
+ q(South Bolivian Quechua),
+ ],
+ q(5620) => [
+ q(Quileute),
+ ],
+ q(5621) => [
+ q(Chachapoyas Quechua),
+ ],
+ q(5622) => [
+ q(North Bolivian Quechua),
+ ],
+ q(5623) => [
+ q(Sipacapense),
+ ],
+ q(5624) => [
+ q(Quinault),
+ ],
+ q(5625) => [
+ q(Southern Pastaza Quechua),
+ ],
+ q(5626) => [
+ q(Quinqui),
+ ],
+ q(5627) => [
+ q(Yanahuanca Pasco Quechua),
+ ],
+ q(5628) => [
+ q(Santiago del Estero Quichua),
+ ],
+ q(5629) => [
+ q(Sacapulteco),
+ ],
+ q(5630) => [
+ q(Tena Lowland Quichua),
+ ],
+ q(5631) => [
+ q(Yauyos Quechua),
+ ],
+ q(5632) => [
+ q(Ayacucho Quechua),
+ ],
+ q(5633) => [
+ q(Cusco Quechua),
+ ],
+ q(5634) => [
+ q(Ambo-Pasco Quechua),
+ ],
+ q(5635) => [
+ q(Cajamarca Quechua),
+ ],
+ q(5636) => [
+ q(Eastern Apurimac Quechua),
+ ],
+ q(5637) => [
+ q(Huamalies-Dos de Mayo Huanuco Quechua),
+ ],
+ q(5638) => [
+ q(Imbabura Highland Quichua),
+ ],
+ q(5639) => [
+ q(Loja Highland Quichua),
+ ],
+ q(5640) => [
+ q(Cajatambo North Lima Quechua),
+ ],
+ q(5641) => [
+ q(Margos-Yarowilca-Lauricocha Quechua),
+ ],
+ q(5642) => [
+ q(North Junin Quechua),
+ ],
+ q(5643) => [
+ q(Napo Lowland Quechua),
+ ],
+ q(5644) => [
+ q(Pacaraos Quechua),
+ ],
+ q(5645) => [
+ q(San Martin Quechua),
+ ],
+ q(5646) => [
+ q(Huaylla Wanca Quechua),
+ ],
+ q(5647) => [
+ q(Queyu),
+ ],
+ q(5648) => [
+ q(Northern Pastaza Quichua),
+ ],
+ q(5649) => [
+ q(Corongo Ancash Quechua),
+ ],
+ q(5650) => [
+ q(Classical Quechua),
+ ],
+ q(5651) => [
+ q(Huaylas Ancash Quechua),
+ ],
+ q(5652) => [
+ q(Kuman (Russia)),
+ ],
+ q(5653) => [
+ q(Sihuas Ancash Quechua),
+ ],
+ q(5654) => [
+ q(Kwalhioqua-Tlatskanai),
+ ],
+ q(5655) => [
+ q(Chiquian Ancash Quechua),
+ ],
+ q(5656) => [
+ q(Chincha Quechua),
+ ],
+ q(5657) => [
+ q(Panao Huanuco Quechua),
+ ],
+ q(5658) => [
+ q(Salasaca Highland Quichua),
+ ],
+ q(5659) => [
+ q(Northern Conchucos Ancash Quechua),
+ ],
+ q(5660) => [
+ q(Southern Conchucos Ancash Quechua),
+ ],
+ q(5661) => [
+ q(Puno Quechua),
+ ],
+ q(5662) => [
+ q(Qashqa'i),
+ ],
+ q(5663) => [
+ q(Canar Highland Quichua),
+ ],
+ q(5664) => [
+ q(Southern Qiang),
+ ],
+ q(5665) => [
+ q(Santa Ana de Tusi Pasco Quechua),
+ ],
+ q(5666) => [
+ q(Arequipa-La Union Quechua),
+ ],
+ q(5667) => [
+ q(Jauja Wanca Quechua),
+ ],
+ q(5668) => [
+ q(Quenya),
+ ],
+ q(5669) => [
+ q(Quiripi),
+ ],
+ q(5670) => [
+ q(Dungmali),
+ ],
+ q(5671) => [
+ q(Camling),
+ ],
+ q(5672) => [
+ q(Rasawa),
+ ],
+ q(5673) => [
+ q(Rade),
+ ],
+ q(5674) => [
+ q(Western Meohang),
+ ],
+ q(5675) => [
+ q(Logooli),
+ q(Lulogooli),
+ ],
+ q(5676) => [
+ q(Rabha),
+ ],
+ q(5677) => [
+ q(Ramoaaina),
+ ],
+ q(5678) => [
+ q(Tulu-Bohuai),
+ ],
+ q(5679) => [
+ q(Ralte),
+ ],
+ q(5680) => [
+ q(Canela),
+ ],
+ q(5681) => [
+ q(Riantana),
+ ],
+ q(5682) => [
+ q(Rao),
+ ],
+ q(5683) => [
+ q(Saam),
+ ],
+ q(5684) => [
+ q(Tegali),
+ ],
+ q(5685) => [
+ q(Razajerdi),
+ ],
+ q(5686) => [
+ q(Raute),
+ ],
+ q(5687) => [
+ q(Sampang),
+ ],
+ q(5688) => [
+ q(Rawang),
+ ],
+ q(5689) => [
+ q(Rang),
+ ],
+ q(5690) => [
+ q(Rapa),
+ ],
+ q(5691) => [
+ q(Rahambuu),
+ ],
+ q(5692) => [
+ q(Rumai Palaung),
+ ],
+ q(5693) => [
+ q(Northern Bontok),
+ ],
+ q(5694) => [
+ q(Miraya Bikol),
+ ],
+ q(5695) => [
+ q(Reunion Creole French),
+ ],
+ q(5696) => [
+ q(Rudbari),
+ ],
+ q(5697) => [
+ q(Rerau),
+ ],
+ q(5698) => [
+ q(Rembong),
+ ],
+ q(5699) => [
+ q(Rejang Kayan),
+ ],
+ q(5700) => [
+ q(Kara (Tanzania)),
+ ],
+ q(5701) => [
+ q(Reli),
+ ],
+ q(5702) => [
+ q(Rejang),
+ ],
+ q(5703) => [
+ q(Rendille),
+ ],
+ q(5704) => [
+ q(Remo),
+ ],
+ q(5705) => [
+ q(Rengao),
+ ],
+ q(5706) => [
+ q(Rer Bare),
+ ],
+ q(5707) => [
+ q(Reshe),
+ ],
+ q(5708) => [
+ q(Retta),
+ ],
+ q(5709) => [
+ q(Reyesano),
+ ],
+ q(5710) => [
+ q(Roria),
+ ],
+ q(5711) => [
+ q(Romano-Greek),
+ ],
+ q(5712) => [
+ q(Rangkas),
+ ],
+ q(5713) => [
+ q(Romagnol),
+ ],
+ q(5714) => [
+ q(Resigaro),
+ ],
+ q(5715) => [
+ q(Southern Roglai),
+ ],
+ q(5716) => [
+ q(Ringgou),
+ ],
+ q(5717) => [
+ q(Rohingya),
+ ],
+ q(5718) => [
+ q(Yahang),
+ ],
+ q(5719) => [
+ q(Riang (India)),
+ ],
+ q(5720) => [
+ q(Rien),
+ ],
+ q(5721) => [
+ q(Tarifit),
+ ],
+ q(5722) => [
+ q(Riang (Myanmar)),
+ ],
+ q(5723) => [
+ q(Nyaturu),
+ ],
+ q(5724) => [
+ q(Nungu),
+ ],
+ q(5725) => [
+ q(Ribun),
+ ],
+ q(5726) => [
+ q(Ritarungo),
+ ],
+ q(5727) => [
+ q(Riung),
+ ],
+ q(5728) => [
+ q(Rajong),
+ ],
+ q(5729) => [
+ q(Raji),
+ ],
+ q(5730) => [
+ q(Rajbanshi),
+ ],
+ q(5731) => [
+ q(Kraol),
+ ],
+ q(5732) => [
+ q(Rikbaktsa),
+ ],
+ q(5733) => [
+ q(Rakahanga-Manihiki),
+ ],
+ q(5734) => [
+ q(Rakhine),
+ ],
+ q(5735) => [
+ q(Marka),
+ ],
+ q(5736) => [
+ q(Rangpuri),
+ q(Kamta),
+ ],
+ q(5737) => [
+ q(Rama),
+ ],
+ q(5738) => [
+ q(Rembarunga),
+ ],
+ q(5739) => [
+ q(Carpathian Romani),
+ ],
+ q(5740) => [
+ q(Traveller Danish),
+ ],
+ q(5741) => [
+ q(Angloromani),
+ ],
+ q(5742) => [
+ q(Kalo Finnish Romani),
+ ],
+ q(5743) => [
+ q(Traveller Norwegian),
+ ],
+ q(5744) => [
+ q(Murkim),
+ ],
+ q(5745) => [
+ q(Lomavren),
+ ],
+ q(5746) => [
+ q(Romkun),
+ ],
+ q(5747) => [
+ q(Baltic Romani),
+ ],
+ q(5748) => [
+ q(Roma),
+ ],
+ q(5749) => [
+ q(Balkan Romani),
+ ],
+ q(5750) => [
+ q(Sinte Romani),
+ ],
+ q(5751) => [
+ q(Rempi),
+ ],
+ q(5752) => [
+ q(Calo),
+ ],
+ q(5753) => [
+ q(Romanian Sign Language),
+ ],
+ q(5754) => [
+ q(Domari),
+ ],
+ q(5755) => [
+ q(Tavringer Romani),
+ ],
+ q(5756) => [
+ q(Romanova),
+ ],
+ q(5757) => [
+ q(Welsh Romani),
+ ],
+ q(5758) => [
+ q(Romam),
+ ],
+ q(5759) => [
+ q(Vlax Romani),
+ ],
+ q(5760) => [
+ q(Marma),
+ ],
+ q(5761) => [
+ q(Runa),
+ ],
+ q(5762) => [
+ q(Ruund),
+ ],
+ q(5763) => [
+ q(Ronga),
+ ],
+ q(5764) => [
+ q(Ranglong),
+ ],
+ q(5765) => [
+ q(Roon),
+ ],
+ q(5766) => [
+ q(Rongpo),
+ ],
+ q(5767) => [
+ q(Rungwa),
+ ],
+ q(5768) => [
+ q(Tae'),
+ ],
+ q(5769) => [
+ q(Cacgia Roglai),
+ ],
+ q(5770) => [
+ q(Rogo),
+ ],
+ q(5771) => [
+ q(Ronji),
+ ],
+ q(5772) => [
+ q(Rombo),
+ ],
+ q(5773) => [
+ q(Northern Roglai),
+ ],
+ q(5774) => [
+ q(Romblomanon),
+ ],
+ q(5775) => [
+ q(Rotokas),
+ ],
+ q(5776) => [
+ q(Kriol),
+ ],
+ q(5777) => [
+ q(Rongga),
+ ],
+ q(5778) => [
+ q(Runga),
+ ],
+ q(5779) => [
+ q(Dela-Oenale),
+ ],
+ q(5780) => [
+ q(Repanbitip),
+ ],
+ q(5781) => [
+ q(Rapting),
+ ],
+ q(5782) => [
+ q(Ririo),
+ ],
+ q(5783) => [
+ q(Waima),
+ ],
+ q(5784) => [
+ q(Romano-Serbian),
+ ],
+ q(5785) => [
+ q(Rennellese Sign Language),
+ ],
+ q(5786) => [
+ q(Russian Sign Language),
+ ],
+ q(5787) => [
+ q(Ratahan),
+ ],
+ q(5788) => [
+ q(Rotuman),
+ ],
+ q(5789) => [
+ q(Rathawi),
+ ],
+ q(5790) => [
+ q(Gungu),
+ ],
+ q(5791) => [
+ q(Ruuli),
+ ],
+ q(5792) => [
+ q(Rusyn),
+ ],
+ q(5793) => [
+ q(Luguru),
+ ],
+ q(5794) => [
+ q(Roviana),
+ ],
+ q(5795) => [
+ q(Ruga),
+ ],
+ q(5796) => [
+ q(Rufiji),
+ ],
+ q(5797) => [
+ q(Che),
+ ],
+ q(5798) => [
+ q(Istro Romanian),
+ ],
+ q(5799) => [
+ q(Megleno Romanian),
+ ],
+ q(5800) => [
+ q(Rutul),
+ ],
+ q(5801) => [
+ q(Lanas Lobu),
+ ],
+ q(5802) => [
+ q(Mala (Nigeria)),
+ ],
+ q(5803) => [
+ q(Ruma),
+ ],
+ q(5804) => [
+ q(Rawo),
+ ],
+ q(5805) => [
+ q(Rwa),
+ ],
+ q(5806) => [
+ q(Amba (Uganda)),
+ ],
+ q(5807) => [
+ q(Rawa),
+ ],
+ q(5808) => [
+ q(Marwari (India)),
+ ],
+ q(5809) => [
+ q(Northern Amami-Oshima),
+ ],
+ q(5810) => [
+ q(Yaeyama),
+ ],
+ q(5811) => [
+ q(Central Okinawan),
+ ],
+ q(5812) => [
+ q(Saba),
+ ],
+ q(5813) => [
+ q(Buglere),
+ ],
+ q(5814) => [
+ q(Meskwaki),
+ ],
+ q(5815) => [
+ q(Sabane),
+ ],
+ q(5816) => [
+ q(Safaliba),
+ ],
+ q(5817) => [
+ q(Sahu),
+ ],
+ q(5818) => [
+ q(Sake),
+ ],
+ q(5819) => [
+ q(Sause),
+ ],
+ q(5820) => [
+ q(Sanapana),
+ ],
+ q(5821) => [
+ q(Samburu),
+ ],
+ q(5822) => [
+ q(Saraveca),
+ ],
+ q(5823) => [
+ q(Saleman),
+ ],
+ q(5824) => [
+ q(Saafi-Saafi),
+ ],
+ q(5825) => [
+ q(Sawi),
+ ],
+ q(5826) => [
+ q(Sa),
+ ],
+ q(5827) => [
+ q(Saya),
+ ],
+ q(5828) => [
+ q(Saurashtra),
+ ],
+ q(5829) => [
+ q(Ngambay),
+ ],
+ q(5830) => [
+ q(Simbo),
+ ],
+ q(5831) => [
+ q(Kele (Papua New Guinea)),
+ ],
+ q(5832) => [
+ q(Southern Samo),
+ ],
+ q(5833) => [
+ q(Saliba),
+ ],
+ q(5834) => [
+ q(Shabo),
+ ],
+ q(5835) => [
+ q(Seget),
+ ],
+ q(5836) => [
+ q(Sori-Harengan),
+ ],
+ q(5837) => [
+ q(Seti),
+ ],
+ q(5838) => [
+ q(Surbakhal),
+ ],
+ q(5839) => [
+ q(Safwa),
+ ],
+ q(5840) => [
+ q(Botolan Sambal),
+ ],
+ q(5841) => [
+ q(Sagala),
+ ],
+ q(5842) => [
+ q(Sindhi Bhil),
+ ],
+ q(5843) => [
+ q(Sabum),
+ ],
+ q(5844) => [
+ q(Sangu (Tanzania)),
+ ],
+ q(5845) => [
+ q(Sileibi),
+ ],
+ q(5846) => [
+ q(Sembakung Murut),
+ ],
+ q(5847) => [
+ q(Subiya),
+ ],
+ q(5848) => [
+ q(Kimki),
+ ],
+ q(5849) => [
+ q(Stod Bhoti),
+ ],
+ q(5850) => [
+ q(Sabine),
+ ],
+ q(5851) => [
+ q(Simba),
+ ],
+ q(5852) => [
+ q(Seberuang),
+ ],
+ q(5853) => [
+ q(Soli),
+ ],
+ q(5854) => [
+ q(Sara Kaba),
+ ],
+ q(5855) => [
+ q(Sansu),
+ ],
+ q(5856) => [
+ q(Chut),
+ ],
+ q(5857) => [
+ q(Dongxiang),
+ ],
+ q(5858) => [
+ q(San Miguel Creole French),
+ ],
+ q(5859) => [
+ q(Sanggau),
+ ],
+ q(5860) => [
+ q(Sakachep),
+ ],
+ q(5861) => [
+ q(Sri Lankan Creole Malay),
+ ],
+ q(5862) => [
+ q(Sadri),
+ ],
+ q(5863) => [
+ q(Shina),
+ ],
+ q(5864) => [
+ q(Helambu Sherpa),
+ ],
+ q(5865) => [
+ q(Sa'och),
+ ],
+ q(5866) => [
+ q(North Slavey),
+ ],
+ q(5867) => [
+ q(Shumcho),
+ ],
+ q(5868) => [
+ q(Sheni),
+ ],
+ q(5869) => [
+ q(Sha),
+ ],
+ q(5870) => [
+ q(Sicel),
+ ],
+ q(5871) => [
+ q(Toraja-Sa'dan),
+ ],
+ q(5872) => [
+ q(Shabak),
+ ],
+ q(5873) => [
+ q(Sassarese Sardinian),
+ ],
+ q(5874) => [
+ q(Surubu),
+ ],
+ q(5875) => [
+ q(Sarli),
+ ],
+ q(5876) => [
+ q(Savi),
+ ],
+ q(5877) => [
+ q(Southern Kurdish),
+ ],
+ q(5878) => [
+ q(Suundi),
+ ],
+ q(5879) => [
+ q(Sos Kundi),
+ ],
+ q(5880) => [
+ q(Saudi Arabian Sign Language),
+ ],
+ q(5881) => [
+ q(Semandang),
+ ],
+ q(5882) => [
+ q(Gallurese Sardinian),
+ ],
+ q(5883) => [
+ q(Bukar-Sadung Bidayuh),
+ ],
+ q(5884) => [
+ q(Sherdukpen),
+ ],
+ q(5885) => [
+ q(Oraon Sadri),
+ ],
+ q(5886) => [
+ q(Sened),
+ ],
+ q(5887) => [
+ q(Shuadit),
+ ],
+ q(5888) => [
+ q(Sarudu),
+ ],
+ q(5889) => [
+ q(Sibu Melanau),
+ ],
+ q(5890) => [
+ q(Sallands),
+ ],
+ q(5891) => [
+ q(Semai),
+ ],
+ q(5892) => [
+ q(Shempire Senoufo),
+ ],
+ q(5893) => [
+ q(Sechelt),
+ ],
+ q(5894) => [
+ q(Sedang),
+ ],
+ q(5895) => [
+ q(Seneca),
+ ],
+ q(5896) => [
+ q(Cebaara Senoufo),
+ ],
+ q(5897) => [
+ q(Segeju),
+ ],
+ q(5898) => [
+ q(Sena),
+ ],
+ q(5899) => [
+ q(Seri),
+ ],
+ q(5900) => [
+ q(Sene),
+ ],
+ q(5901) => [
+ q(Sekani),
+ ],
+ q(5902) => [
+ q(Nanerige Senoufo),
+ ],
+ q(5903) => [
+ q(Suarmin),
+ ],
+ q(5904) => [
+ q(Sicite Senoufo),
+ ],
+ q(5905) => [
+ q(Senara Senoufo),
+ ],
+ q(5906) => [
+ q(Serrano),
+ ],
+ q(5907) => [
+ q(Koyraboro Senni Songhai),
+ ],
+ q(5908) => [
+ q(Sentani),
+ ],
+ q(5909) => [
+ q(Serui-Laut),
+ ],
+ q(5910) => [
+ q(Nyarafolo Senoufo),
+ ],
+ q(5911) => [
+ q(Sewa Bay),
+ ],
+ q(5912) => [
+ q(Secoya),
+ ],
+ q(5913) => [
+ q(Senthang Chin),
+ ],
+ q(5914) => [
+ q(Langue des signes de Belgique Francophone),
+ q(French Belgian Sign Language),
+ ],
+ q(5915) => [
+ q(Small Flowery Miao),
+ ],
+ q(5916) => [
+ q(South African Sign Language),
+ ],
+ q(5917) => [
+ q(Sehwi),
+ ],
+ q(5918) => [
+ q(Mag-antsi Ayta),
+ ],
+ q(5919) => [
+ q(Kipsigis),
+ ],
+ q(5920) => [
+ q(Surigaonon),
+ ],
+ q(5921) => [
+ q(Segai),
+ ],
+ q(5922) => [
+ q(Swiss-German Sign Language),
+ ],
+ q(5923) => [
+ q(Shughni),
+ ],
+ q(5924) => [
+ q(Suga),
+ ],
+ q(5925) => [
+ q(Sangkong),
+ ],
+ q(5926) => [
+ q(Singa),
+ ],
+ q(5927) => [
+ q(Songa),
+ ],
+ q(5928) => [
+ q(Singpho),
+ ],
+ q(5929) => [
+ q(Sangisari),
+ ],
+ q(5930) => [
+ q(Samogitian),
+ ],
+ q(5931) => [
+ q(Brokpake),
+ ],
+ q(5932) => [
+ q(Salas),
+ ],
+ q(5933) => [
+ q(Sebat Bet Gurage),
+ ],
+ q(5934) => [
+ q(Sierra Leone Sign Language),
+ ],
+ q(5935) => [
+ q(Sanglechi),
+ ],
+ q(5936) => [
+ q(Sursurunga),
+ ],
+ q(5937) => [
+ q(Shall-Zwall),
+ ],
+ q(5938) => [
+ q(Ninam),
+ ],
+ q(5939) => [
+ q(Sonde),
+ ],
+ q(5940) => [
+ q(Kundal Shahi),
+ ],
+ q(5941) => [
+ q(Sheko),
+ ],
+ q(5942) => [
+ q(Shua),
+ ],
+ q(5943) => [
+ q(Shoshoni),
+ ],
+ q(5944) => [
+ q(Tachelhit),
+ ],
+ q(5945) => [
+ q(Shatt),
+ ],
+ q(5946) => [
+ q(Shilluk),
+ ],
+ q(5947) => [
+ q(Shendu),
+ ],
+ q(5948) => [
+ q(Shahrudi),
+ ],
+ q(5949) => [
+ q(Shanga),
+ ],
+ q(5950) => [
+ q(Shipibo-Conibo),
+ ],
+ q(5951) => [
+ q(Sala),
+ ],
+ q(5952) => [
+ q(Shi),
+ ],
+ q(5953) => [
+ q(Shuswap),
+ ],
+ q(5954) => [
+ q(Shasta),
+ ],
+ q(5955) => [
+ q(Chadian Arabic),
+ ],
+ q(5956) => [
+ q(Shehri),
+ ],
+ q(5957) => [
+ q(Shwai),
+ ],
+ q(5958) => [
+ q(She),
+ ],
+ q(5959) => [
+ q(Tachawit),
+ ],
+ q(5960) => [
+ q(Syenara Senoufo),
+ ],
+ q(5961) => [
+ q(Akkala Sami),
+ ],
+ q(5962) => [
+ q(Sebop),
+ ],
+ q(5963) => [
+ q(Simaa),
+ ],
+ q(5964) => [
+ q(Siamou),
+ ],
+ q(5965) => [
+ q(Paasaal),
+ ],
+ q(5966) => [
+ q(Zire),
+ ],
+ q(5967) => [
+ q(Shom Peng),
+ ],
+ q(5968) => [
+ q(Numbami),
+ ],
+ q(5969) => [
+ q(Sikiana),
+ ],
+ q(5970) => [
+ q(Tumulung Sisaala),
+ ],
+ q(5971) => [
+ q(Mende (Papua New Guinea)),
+ ],
+ q(5972) => [
+ q(Sikkimese),
+ ],
+ q(5973) => [
+ q(Sonia),
+ ],
+ q(5974) => [
+ q(Siri),
+ ],
+ q(5975) => [
+ q(Siuslaw),
+ ],
+ q(5976) => [
+ q(Sinagen),
+ ],
+ q(5977) => [
+ q(Sumariup),
+ ],
+ q(5978) => [
+ q(Siwai),
+ ],
+ q(5979) => [
+ q(Sumau),
+ ],
+ q(5980) => [
+ q(Sivandi),
+ ],
+ q(5981) => [
+ q(Siwi),
+ ],
+ q(5982) => [
+ q(Epena),
+ ],
+ q(5983) => [
+ q(Sajau Basap),
+ ],
+ q(5984) => [
+ q(Kildin Sami),
+ ],
+ q(5985) => [
+ q(Pite Sami),
+ ],
+ q(5986) => [
+ q(Assangori),
+ ],
+ q(5987) => [
+ q(Kemi Sami),
+ ],
+ q(5988) => [
+ q(Sajalong),
+ q(Miji),
+ ],
+ q(5989) => [
+ q(Mapun),
+ ],
+ q(5990) => [
+ q(Sindarin),
+ ],
+ q(5991) => [
+ q(Xibe),
+ ],
+ q(5992) => [
+ q(Surjapuri),
+ ],
+ q(5993) => [
+ q(Siar-Lak),
+ ],
+ q(5994) => [
+ q(Senhaja De Srair),
+ ],
+ q(5995) => [
+ q(Ter Sami),
+ ],
+ q(5996) => [
+ q(Ume Sami),
+ ],
+ q(5997) => [
+ q(Shawnee),
+ ],
+ q(5998) => [
+ q(Skagit),
+ ],
+ q(5999) => [
+ q(Saek),
+ ],
+ q(6000) => [
+ q(Sauk),
+ ],
+ q(6001) => [
+ q(Southern Sierra Miwok),
+ ],
+ q(6002) => [
+ q(Seke (Vanuatu)),
+ ],
+ q(6003) => [
+ q(Sakirabia),
+ ],
+ q(6004) => [
+ q(Sakalava Malagasy),
+ ],
+ q(6005) => [
+ q(Sikule),
+ ],
+ q(6006) => [
+ q(Sika),
+ ],
+ q(6007) => [
+ q(Seke (Nepal)),
+ ],
+ q(6008) => [
+ q(Sok),
+ ],
+ q(6009) => [
+ q(Sakam),
+ ],
+ q(6010) => [
+ q(Kolibugan Subanon),
+ ],
+ q(6011) => [
+ q(Seko Tengah),
+ ],
+ q(6012) => [
+ q(Sekapan),
+ ],
+ q(6013) => [
+ q(Sininkere),
+ ],
+ q(6014) => [
+ q(Seraiki),
+ ],
+ q(6015) => [
+ q(Maia),
+ ],
+ q(6016) => [
+ q(Sakata),
+ ],
+ q(6017) => [
+ q(Sakao),
+ ],
+ q(6018) => [
+ q(Skou),
+ ],
+ q(6019) => [
+ q(Skepi Creole Dutch),
+ ],
+ q(6020) => [
+ q(Seko Padang),
+ ],
+ q(6021) => [
+ q(Sikaiana),
+ ],
+ q(6022) => [
+ q(Sekar),
+ ],
+ q(6023) => [
+ q(Sissala),
+ ],
+ q(6024) => [
+ q(Sholaga),
+ ],
+ q(6025) => [
+ q(Swiss-Italian Sign Language),
+ ],
+ q(6026) => [
+ q(Selungai Murut),
+ ],
+ q(6027) => [
+ q(Southern Puget Sound Salish),
+ ],
+ q(6028) => [
+ q(Lower Silesian),
+ ],
+ q(6029) => [
+ q(Saluma),
+ ],
+ q(6030) => [
+ q(Salt-Yui),
+ ],
+ q(6031) => [
+ q(Pangutaran Sama),
+ ],
+ q(6032) => [
+ q(Salinan),
+ ],
+ q(6033) => [
+ q(Lamaholot),
+ ],
+ q(6034) => [
+ q(Salchuq),
+ ],
+ q(6035) => [
+ q(Salar),
+ ],
+ q(6036) => [
+ q(Singapore Sign Language),
+ ],
+ q(6037) => [
+ q(Sila),
+ ],
+ q(6038) => [
+ q(Selaru),
+ ],
+ q(6039) => [
+ q(Sialum),
+ ],
+ q(6040) => [
+ q(Salampasu),
+ ],
+ q(6041) => [
+ q(Selayar),
+ ],
+ q(6042) => [
+ q(Ma'ya),
+ ],
+ q(6043) => [
+ q(Simbari),
+ ],
+ q(6044) => [
+ q(Som),
+ ],
+ q(6045) => [
+ q(Sama),
+ ],
+ q(6046) => [
+ q(Auwe),
+ ],
+ q(6047) => [
+ q(Simbali),
+ ],
+ q(6048) => [
+ q(Samei),
+ ],
+ q(6049) => [
+ q(Bolinao),
+ ],
+ q(6050) => [
+ q(Central Sama),
+ ],
+ q(6051) => [
+ q(Musasa),
+ ],
+ q(6052) => [
+ q(Samaritan),
+ ],
+ q(6053) => [
+ q(Samo),
+ ],
+ q(6054) => [
+ q(Simeulue),
+ ],
+ q(6055) => [
+ q(Simte),
+ ],
+ q(6056) => [
+ q(Somray),
+ ],
+ q(6057) => [
+ q(Samvedi),
+ ],
+ q(6058) => [
+ q(Sumbawa),
+ ],
+ q(6059) => [
+ q(Samba),
+ ],
+ q(6060) => [
+ q(Semnani),
+ ],
+ q(6061) => [
+ q(Simeku),
+ ],
+ q(6062) => [
+ q(Sebuyau),
+ ],
+ q(6063) => [
+ q(Sinaugoro),
+ ],
+ q(6064) => [
+ q(Bau Bidayuh),
+ ],
+ q(6065) => [
+ q(Noon),
+ ],
+ q(6066) => [
+ q(Sanga (Democratic Republic of Congo)),
+ ],
+ q(6067) => [
+ q(Shinabo),
+ ],
+ q(6068) => [
+ q(Sensi),
+ ],
+ q(6069) => [
+ q(Riverain Sango),
+ ],
+ q(6070) => [
+ q(Sangil),
+ ],
+ q(6071) => [
+ q(Southern Ma'di),
+ ],
+ q(6072) => [
+ q(Siona),
+ ],
+ q(6073) => [
+ q(Snohomish),
+ ],
+ q(6074) => [
+ q(Siane),
+ ],
+ q(6075) => [
+ q(Sangu (Gabon)),
+ ],
+ q(6076) => [
+ q(Sihan),
+ ],
+ q(6077) => [
+ q(South West Bay),
+ q(Nahavaq),
+ ],
+ q(6078) => [
+ q(Senggi),
+ q(Viid),
+ ],
+ q(6079) => [
+ q(Sa'ban),
+ ],
+ q(6080) => [
+ q(Selee),
+ ],
+ q(6081) => [
+ q(Sam),
+ ],
+ q(6082) => [
+ q(Saniyo-Hiyewe),
+ ],
+ q(6083) => [
+ q(Sinsauru),
+ ],
+ q(6084) => [
+ q(Thai Song),
+ ],
+ q(6085) => [
+ q(Sobei),
+ ],
+ q(6086) => [
+ q(So (Democratic Republic of Congo)),
+ ],
+ q(6087) => [
+ q(Songoora),
+ ],
+ q(6088) => [
+ q(Songomeno),
+ ],
+ q(6089) => [
+ q(Aka),
+ ],
+ q(6090) => [
+ q(Sonha),
+ ],
+ q(6091) => [
+ q(Soi),
+ ],
+ q(6092) => [
+ q(Sokoro),
+ ],
+ q(6093) => [
+ q(Solos),
+ ],
+ q(6094) => [
+ q(Songo),
+ ],
+ q(6095) => [
+ q(Songe),
+ ],
+ q(6096) => [
+ q(Kanasi),
+ ],
+ q(6097) => [
+ q(Somrai),
+ ],
+ q(6098) => [
+ q(Seeku),
+ ],
+ q(6099) => [
+ q(Southern Thai),
+ ],
+ q(6100) => [
+ q(Sonsorol),
+ ],
+ q(6101) => [
+ q(Sowanda),
+ ],
+ q(6102) => [
+ q(So (Cameroon)),
+ ],
+ q(6103) => [
+ q(Miyobe),
+ ],
+ q(6104) => [
+ q(Temi),
+ ],
+ q(6105) => [
+ q(Sepa (Indonesia)),
+ ],
+ q(6106) => [
+ q(Sape),
+ ],
+ q(6107) => [
+ q(Saep),
+ ],
+ q(6108) => [
+ q(Sepa (Papua New Guinea)),
+ ],
+ q(6109) => [
+ q(Sian),
+ ],
+ q(6110) => [
+ q(Saponi),
+ ],
+ q(6111) => [
+ q(Sengo),
+ ],
+ q(6112) => [
+ q(Selepet),
+ ],
+ q(6113) => [
+ q(Sepen),
+ ],
+ q(6114) => [
+ q(Spokane),
+ ],
+ q(6115) => [
+ q(Supyire Senoufo),
+ ],
+ q(6116) => [
+ q(Loreto-Ucayali Spanish),
+ ],
+ q(6117) => [
+ q(Saparua),
+ ],
+ q(6118) => [
+ q(Saposa),
+ ],
+ q(6119) => [
+ q(Spiti Bhoti),
+ ],
+ q(6120) => [
+ q(Sapuan),
+ ],
+ q(6121) => [
+ q(South Picene),
+ ],
+ q(6122) => [
+ q(Sabaot),
+ ],
+ q(6123) => [
+ q(Shama-Sambuga),
+ ],
+ q(6124) => [
+ q(Shau),
+ ],
+ q(6125) => [
+ q(Suma),
+ ],
+ q(6126) => [
+ q(Susquehannock),
+ ],
+ q(6127) => [
+ q(Sorkhei),
+ ],
+ q(6128) => [
+ q(Sou),
+ ],
+ q(6129) => [
+ q(Siculo Arabic),
+ ],
+ q(6130) => [
+ q(Sri Lankan Sign Language),
+ ],
+ q(6131) => [
+ q(Soqotri),
+ ],
+ q(6132) => [
+ q(Squamish),
+ ],
+ q(6133) => [
+ q(Saruga),
+ ],
+ q(6134) => [
+ q(Sora),
+ ],
+ q(6135) => [
+ q(Logudorese Sardinian),
+ ],
+ q(6136) => [
+ q(Sara),
+ ],
+ q(6137) => [
+ q(Nafi),
+ ],
+ q(6138) => [
+ q(Sulod),
+ ],
+ q(6139) => [
+ q(Sarikoli),
+ ],
+ q(6140) => [
+ q(Siriano),
+ ],
+ q(6141) => [
+ q(Serudung Murut),
+ ],
+ q(6142) => [
+ q(Isirawa),
+ ],
+ q(6143) => [
+ q(Saramaccan),
+ ],
+ q(6144) => [
+ q(Campidanese Sardinian),
+ ],
+ q(6145) => [
+ q(Siriono),
+ ],
+ q(6146) => [
+ q(Sarsi),
+ ],
+ q(6147) => [
+ q(Sauri),
+ ],
+ q(6148) => [
+ q(Surui),
+ ],
+ q(6149) => [
+ q(Southern Sorsoganon),
+ ],
+ q(6150) => [
+ q(Serua),
+ ],
+ q(6151) => [
+ q(Sirmauri),
+ ],
+ q(6152) => [
+ q(Sera),
+ ],
+ q(6153) => [
+ q(Shahmirzadi),
+ ],
+ q(6154) => [
+ q(Southern Sama),
+ ],
+ q(6155) => [
+ q(Suba-Simbiti),
+ ],
+ q(6156) => [
+ q(Siroi),
+ ],
+ q(6157) => [
+ q(Balangingi),
+ q(Bangingih Sama),
+ ],
+ q(6158) => [
+ q(Thao),
+ ],
+ q(6159) => [
+ q(Seimat),
+ ],
+ q(6160) => [
+ q(Shihhi Arabic),
+ ],
+ q(6161) => [
+ q(Sansi),
+ ],
+ q(6162) => [
+ q(Sausi),
+ ],
+ q(6163) => [
+ q(Sunam),
+ ],
+ q(6164) => [
+ q(Western Sisaala),
+ ],
+ q(6165) => [
+ q(Semnam),
+ ],
+ q(6166) => [
+ q(Waata),
+ ],
+ q(6167) => [
+ q(Sissano),
+ ],
+ q(6168) => [
+ q(Spanish Sign Language),
+ ],
+ q(6169) => [
+ q(So'a),
+ ],
+ q(6170) => [
+ q(Swiss-French Sign Language),
+ ],
+ q(6171) => [
+ q(So),
+ ],
+ q(6172) => [
+ q(Sinasina),
+ ],
+ q(6173) => [
+ q(Susuami),
+ ],
+ q(6174) => [
+ q(Shark Bay),
+ ],
+ q(6175) => [
+ q(Samberigi),
+ ],
+ q(6176) => [
+ q(Saho),
+ ],
+ q(6177) => [
+ q(Sengseng),
+ ],
+ q(6178) => [
+ q(Settla),
+ ],
+ q(6179) => [
+ q(Northern Subanen),
+ ],
+ q(6180) => [
+ q(Sentinel),
+ ],
+ q(6181) => [
+ q(Liana-Seti),
+ ],
+ q(6182) => [
+ q(Seta),
+ ],
+ q(6183) => [
+ q(Trieng),
+ ],
+ q(6184) => [
+ q(Shelta),
+ ],
+ q(6185) => [
+ q(Bulo Stieng),
+ ],
+ q(6186) => [
+ q(Matya Samo),
+ ],
+ q(6187) => [
+ q(Arammba),
+ ],
+ q(6188) => [
+ q(Stellingwerfs),
+ ],
+ q(6189) => [
+ q(Setaman),
+ ],
+ q(6190) => [
+ q(Owa),
+ ],
+ q(6191) => [
+ q(Stoney),
+ ],
+ q(6192) => [
+ q(Southeastern Tepehuan),
+ ],
+ q(6193) => [
+ q(Saterfriesisch),
+ ],
+ q(6194) => [
+ q(Straits Salish),
+ ],
+ q(6195) => [
+ q(Shumashti),
+ ],
+ q(6196) => [
+ q(Budeh Stieng),
+ ],
+ q(6197) => [
+ q(Samtao),
+ ],
+ q(6198) => [
+ q(Silt'e),
+ ],
+ q(6199) => [
+ q(Satawalese),
+ ],
+ q(6200) => [
+ q(Sulka),
+ ],
+ q(6201) => [
+ q(Suku),
+ ],
+ q(6202) => [
+ q(Western Subanon),
+ ],
+ q(6203) => [
+ q(Suena),
+ ],
+ q(6204) => [
+ q(Suganga),
+ ],
+ q(6205) => [
+ q(Suki),
+ ],
+ q(6206) => [
+ q(Shubi),
+ ],
+ q(6207) => [
+ q(Suri),
+ ],
+ q(6208) => [
+ q(Mwaghavul),
+ ],
+ q(6209) => [
+ q(Subtiaba),
+ ],
+ q(6210) => [
+ q(Sulung),
+ ],
+ q(6211) => [
+ q(Sumbwa),
+ ],
+ q(6212) => [
+ q(Suya),
+ ],
+ q(6213) => [
+ q(Sunwar),
+ ],
+ q(6214) => [
+ q(Svan),
+ ],
+ q(6215) => [
+ q(Ulau-Suain),
+ ],
+ q(6216) => [
+ q(Vincentian Creole English),
+ ],
+ q(6217) => [
+ q(Serili),
+ ],
+ q(6218) => [
+ q(Slovakian Sign Language),
+ ],
+ q(6219) => [
+ q(Savara),
+ ],
+ q(6220) => [
+ q(Savosavo),
+ ],
+ q(6221) => [
+ q(Skalvian),
+ ],
+ q(6222) => [
+ q(Maore Comorian),
+ ],
+ q(6223) => [
+ q(Congo Swahili),
+ ],
+ q(6224) => [
+ q(Sere),
+ ],
+ q(6225) => [
+ q(Swabian),
+ ],
+ q(6226) => [
+ q(Swahili (individual language)),
+ q(Kiswahili),
+ ],
+ q(6227) => [
+ q(Sui),
+ ],
+ q(6228) => [
+ q(Sira),
+ ],
+ q(6229) => [
+ q(Malawi Sena),
+ ],
+ q(6230) => [
+ q(Swedish Sign Language),
+ ],
+ q(6231) => [
+ q(Samosa),
+ ],
+ q(6232) => [
+ q(Sawknah),
+ ],
+ q(6233) => [
+ q(Shanenawa),
+ ],
+ q(6234) => [
+ q(Suau),
+ ],
+ q(6235) => [
+ q(Sharwa),
+ ],
+ q(6236) => [
+ q(Saweru),
+ ],
+ q(6237) => [
+ q(Seluwasan),
+ ],
+ q(6238) => [
+ q(Sawila),
+ ],
+ q(6239) => [
+ q(Suwawa),
+ ],
+ q(6240) => [
+ q(Shekhawati),
+ ],
+ q(6241) => [
+ q(Sowa),
+ ],
+ q(6242) => [
+ q(Suruaha),
+ ],
+ q(6243) => [
+ q(Sarua),
+ ],
+ q(6244) => [
+ q(Suba),
+ ],
+ q(6245) => [
+ q(Sicanian),
+ ],
+ q(6246) => [
+ q(Sighu),
+ ],
+ q(6247) => [
+ q(Shixing),
+ ],
+ q(6248) => [
+ q(Southern Kalapuya),
+ ],
+ q(6249) => [
+ q(Selian),
+ ],
+ q(6250) => [
+ q(Samre),
+ ],
+ q(6251) => [
+ q(Sangir),
+ ],
+ q(6252) => [
+ q(Sorothaptic),
+ ],
+ q(6253) => [
+ q(Saaroa),
+ ],
+ q(6254) => [
+ q(Sasaru),
+ ],
+ q(6255) => [
+ q(Upper Saxon),
+ ],
+ q(6256) => [
+ q(Saxwe Gbe),
+ ],
+ q(6257) => [
+ q(Siang),
+ ],
+ q(6258) => [
+ q(Central Subanen),
+ ],
+ q(6259) => [
+ q(Seki),
+ ],
+ q(6260) => [
+ q(Sukur),
+ ],
+ q(6261) => [
+ q(Sylheti),
+ ],
+ q(6262) => [
+ q(Maya Samo),
+ ],
+ q(6263) => [
+ q(Senaya),
+ ],
+ q(6264) => [
+ q(Suoy),
+ ],
+ q(6265) => [
+ q(Sinyar),
+ ],
+ q(6266) => [
+ q(Kagate),
+ ],
+ q(6267) => [
+ q(Al-Sayyid Bedouin Sign Language),
+ ],
+ q(6268) => [
+ q(Semelai),
+ ],
+ q(6269) => [
+ q(Ngalum),
+ ],
+ q(6270) => [
+ q(Semaq Beri),
+ ],
+ q(6271) => [
+ q(Seru),
+ ],
+ q(6272) => [
+ q(Seze),
+ ],
+ q(6273) => [
+ q(Sengele),
+ ],
+ q(6274) => [
+ q(Silesian),
+ ],
+ q(6275) => [
+ q(Sula),
+ ],
+ q(6276) => [
+ q(Suabo),
+ ],
+ q(6277) => [
+ q(Isu (Fako Division)),
+ ],
+ q(6278) => [
+ q(Sawai),
+ ],
+ q(6279) => [
+ q(Lower Tanana),
+ ],
+ q(6280) => [
+ q(Tabassaran),
+ ],
+ q(6281) => [
+ q(Lowland Tarahumara),
+ ],
+ q(6282) => [
+ q(Tause),
+ ],
+ q(6283) => [
+ q(Tariana),
+ ],
+ q(6284) => [
+ q(Tapirape),
+ ],
+ q(6285) => [
+ q(Tagoi),
+ ],
+ q(6286) => [
+ q(Eastern Tamang),
+ ],
+ q(6287) => [
+ q(Tala),
+ ],
+ q(6288) => [
+ q(Tal),
+ ],
+ q(6289) => [
+ q(Tangale),
+ ],
+ q(6290) => [
+ q(Yami),
+ ],
+ q(6291) => [
+ q(Taabwa),
+ ],
+ q(6292) => [
+ q(Tamasheq),
+ ],
+ q(6293) => [
+ q(Central Tarahumara),
+ ],
+ q(6294) => [
+ q(Tay Boi),
+ ],
+ q(6295) => [
+ q(Upper Tanana),
+ ],
+ q(6296) => [
+ q(Tatuyo),
+ ],
+ q(6297) => [
+ q(Tai),
+ ],
+ q(6298) => [
+ q(Tamki),
+ ],
+ q(6299) => [
+ q(Atayal),
+ ],
+ q(6300) => [
+ q(Tocho),
+ ],
+ q(6301) => [
+ q(Aikana),
+ ],
+ q(6302) => [
+ q(Tapeba),
+ ],
+ q(6303) => [
+ q(Takia),
+ ],
+ q(6304) => [
+ q(Kaki Ae),
+ ],
+ q(6305) => [
+ q(Tanimbili),
+ ],
+ q(6306) => [
+ q(Mandara),
+ ],
+ q(6307) => [
+ q(North Tairora),
+ ],
+ q(6308) => [
+ q(Thurawal),
+ ],
+ q(6309) => [
+ q(Gaam),
+ ],
+ q(6310) => [
+ q(Tiang),
+ ],
+ q(6311) => [
+ q(Calamian Tagbanwa),
+ ],
+ q(6312) => [
+ q(Tboli),
+ ],
+ q(6313) => [
+ q(Tagbu),
+ ],
+ q(6314) => [
+ q(Barro Negro Tunebo),
+ ],
+ q(6315) => [
+ q(Tawala),
+ ],
+ q(6316) => [
+ q(Taworta),
+ q(Diebroud),
+ ],
+ q(6317) => [
+ q(Tumtum),
+ ],
+ q(6318) => [
+ q(Tanguat),
+ ],
+ q(6319) => [
+ q(Tembo (Kitembo)),
+ ],
+ q(6320) => [
+ q(Tubar),
+ ],
+ q(6321) => [
+ q(Tobo),
+ ],
+ q(6322) => [
+ q(Tagbanwa),
+ ],
+ q(6323) => [
+ q(Kapin),
+ ],
+ q(6324) => [
+ q(Tabaru),
+ ],
+ q(6325) => [
+ q(Ditammari),
+ ],
+ q(6326) => [
+ q(Ticuna),
+ ],
+ q(6327) => [
+ q(Tanacross),
+ ],
+ q(6328) => [
+ q(Datooga),
+ ],
+ q(6329) => [
+ q(Tafi),
+ ],
+ q(6330) => [
+ q(Southern Tutchone),
+ ],
+ q(6331) => [
+ q(Malinaltepec Me'phaa),
+ q(Malinaltepec Tlapanec),
+ ],
+ q(6332) => [
+ q(Tamagario),
+ ],
+ q(6333) => [
+ q(Turks And Caicos Creole English),
+ ],
+ q(6334) => [
+ q(Wara),
+ ],
+ q(6335) => [
+ q(Tchitchege),
+ ],
+ q(6336) => [
+ q(Taman (Myanmar)),
+ ],
+ q(6337) => [
+ q(Tanahmerah),
+ ],
+ q(6338) => [
+ q(Tichurong),
+ ],
+ q(6339) => [
+ q(Taungyo),
+ ],
+ q(6340) => [
+ q(Tawr Chin),
+ ],
+ q(6341) => [
+ q(Kaiy),
+ ],
+ q(6342) => [
+ q(Torres Strait Creole),
+ ],
+ q(6343) => [
+ q(T'en),
+ ],
+ q(6344) => [
+ q(Southeastern Tarahumara),
+ ],
+ q(6345) => [
+ q(Tecpatlan Totonac),
+ ],
+ q(6346) => [
+ q(Toda),
+ ],
+ q(6347) => [
+ q(Tulu),
+ ],
+ q(6348) => [
+ q(Thado Chin),
+ ],
+ q(6349) => [
+ q(Tagdal),
+ ],
+ q(6350) => [
+ q(Panchpargania),
+ ],
+ q(6351) => [
+ q(Embera-Tado),
+ ],
+ q(6352) => [
+ q(Tai Nua),
+ ],
+ q(6353) => [
+ q(Tiranige Diga Dogon),
+ ],
+ q(6354) => [
+ q(Talieng),
+ ],
+ q(6355) => [
+ q(Western Tamang),
+ ],
+ q(6356) => [
+ q(Thulung),
+ ],
+ q(6357) => [
+ q(Tomadino),
+ ],
+ q(6358) => [
+ q(Tajio),
+ ],
+ q(6359) => [
+ q(Tambas),
+ ],
+ q(6360) => [
+ q(Sur),
+ ],
+ q(6361) => [
+ q(Tondano),
+ ],
+ q(6362) => [
+ q(Teme),
+ ],
+ q(6363) => [
+ q(Tita),
+ ],
+ q(6364) => [
+ q(Todrah),
+ ],
+ q(6365) => [
+ q(Doutai),
+ ],
+ q(6366) => [
+ q(Tetun Dili),
+ ],
+ q(6367) => [
+ q(Tempasuk Dusun),
+ ],
+ q(6368) => [
+ q(Toro),
+ ],
+ q(6369) => [
+ q(Tandroy-Mahafaly Malagasy),
+ ],
+ q(6370) => [
+ q(Tadyawan),
+ ],
+ q(6371) => [
+ q(Temiar),
+ ],
+ q(6372) => [
+ q(Tetete),
+ ],
+ q(6373) => [
+ q(Terik),
+ ],
+ q(6374) => [
+ q(Tepo Krumen),
+ ],
+ q(6375) => [
+ q(Huehuetla Tepehua),
+ ],
+ q(6376) => [
+ q(Teressa),
+ ],
+ q(6377) => [
+ q(Teke-Tege),
+ ],
+ q(6378) => [
+ q(Tehuelche),
+ ],
+ q(6379) => [
+ q(Torricelli),
+ ],
+ q(6380) => [
+ q(Ibali Teke),
+ ],
+ q(6381) => [
+ q(Tama (Colombia)),
+ ],
+ q(6382) => [
+ q(Teso),
+ ],
+ q(6383) => [
+ q(Tepecano),
+ ],
+ q(6384) => [
+ q(Temein),
+ ],
+ q(6385) => [
+ q(Tengger),
+ ],
+ q(6386) => [
+ q(Soo),
+ ],
+ q(6387) => [
+ q(Teor),
+ ],
+ q(6388) => [
+ q(Tewa (USA)),
+ ],
+ q(6389) => [
+ q(Tennet),
+ ],
+ q(6390) => [
+ q(Tulishi),
+ ],
+ q(6391) => [
+ q(Tofin Gbe),
+ ],
+ q(6392) => [
+ q(Tanaina),
+ ],
+ q(6393) => [
+ q(Tefaro),
+ ],
+ q(6394) => [
+ q(Teribe),
+ ],
+ q(6395) => [
+ q(Ternate),
+ ],
+ q(6396) => [
+ q(Sagalla),
+ ],
+ q(6397) => [
+ q(Tobilung),
+ ],
+ q(6398) => [
+ q(Tigak),
+ ],
+ q(6399) => [
+ q(Ciwogai),
+ ],
+ q(6400) => [
+ q(Eastern Gorkha Tamang),
+ ],
+ q(6401) => [
+ q(Chalikha),
+ ],
+ q(6402) => [
+ q(Tangga),
+ ],
+ q(6403) => [
+ q(Tobagonian Creole English),
+ ],
+ q(6404) => [
+ q(Lawunuia),
+ ],
+ q(6405) => [
+ q(Tandaganon),
+ ],
+ q(6406) => [
+ q(Sudest),
+ ],
+ q(6407) => [
+ q(Tangoa),
+ ],
+ q(6408) => [
+ q(Tring),
+ ],
+ q(6409) => [
+ q(Tareng),
+ ],
+ q(6410) => [
+ q(Nume),
+ ],
+ q(6411) => [
+ q(Central Tagbanwa),
+ ],
+ q(6412) => [
+ q(Tanggu),
+ ],
+ q(6413) => [
+ q(Tingui-Boto),
+ ],
+ q(6414) => [
+ q(Tagwana Senoufo),
+ ],
+ q(6415) => [
+ q(Tagish),
+ ],
+ q(6416) => [
+ q(Togoyo),
+ ],
+ q(6417) => [
+ q(Tai Hang Tong),
+ ],
+ q(6418) => [
+ q(Thayore),
+ ],
+ q(6419) => [
+ q(Chitwania Tharu),
+ ],
+ q(6420) => [
+ q(Thangmi),
+ ],
+ q(6421) => [
+ q(Northern Tarahumara),
+ ],
+ q(6422) => [
+ q(Tai Long),
+ ],
+ q(6423) => [
+ q(Tharaka),
+ q(Kitharaka),
+ ],
+ q(6424) => [
+ q(Dangaura Tharu),
+ ],
+ q(6425) => [
+ q(Aheu),
+ ],
+ q(6426) => [
+ q(Thachanadan),
+ ],
+ q(6427) => [
+ q(Thompson),
+ ],
+ q(6428) => [
+ q(Kochila Tharu),
+ ],
+ q(6429) => [
+ q(Rana Tharu),
+ ],
+ q(6430) => [
+ q(Thakali),
+ ],
+ q(6431) => [
+ q(Tahltan),
+ ],
+ q(6432) => [
+ q(Thuri),
+ ],
+ q(6433) => [
+ q(Tahaggart Tamahaq),
+ ],
+ q(6434) => [
+ q(Thudam),
+ ],
+ q(6435) => [
+ q(The),
+ ],
+ q(6436) => [
+ q(Tha),
+ ],
+ q(6437) => [
+ q(Tayart Tamajeq),
+ ],
+ q(6438) => [
+ q(Tidikelt Tamazight),
+ ],
+ q(6439) => [
+ q(Tira),
+ ],
+ q(6440) => [
+ q(Tidong),
+ ],
+ q(6441) => [
+ q(Tifal),
+ ],
+ q(6442) => [
+ q(Timugon Murut),
+ ],
+ q(6443) => [
+ q(Tiene),
+ ],
+ q(6444) => [
+ q(Tilung),
+ ],
+ q(6445) => [
+ q(Tikar),
+ ],
+ q(6446) => [
+ q(Tillamook),
+ ],
+ q(6447) => [
+ q(Timbe),
+ ],
+ q(6448) => [
+ q(Tindi),
+ ],
+ q(6449) => [
+ q(Teop),
+ ],
+ q(6450) => [
+ q(Trimuris),
+ ],
+ q(6451) => [
+ q(Tiefo),
+ ],
+ q(6452) => [
+ q(Masadiit Itneg),
+ ],
+ q(6453) => [
+ q(Tinigua),
+ ],
+ q(6454) => [
+ q(Adasen),
+ ],
+ q(6455) => [
+ q(Tiwi),
+ ],
+ q(6456) => [
+ q(Southern Tiwa),
+ ],
+ q(6457) => [
+ q(Tiruray),
+ ],
+ q(6458) => [
+ q(Tai Hongjin),
+ ],
+ q(6459) => [
+ q(Tajuasohn),
+ ],
+ q(6460) => [
+ q(Tunjung),
+ ],
+ q(6461) => [
+ q(Northern Tujia),
+ ],
+ q(6462) => [
+ q(Timucua),
+ ],
+ q(6463) => [
+ q(Tonjon),
+ ],
+ q(6464) => [
+ q(Temacine Tamazight),
+ ],
+ q(6465) => [
+ q(Southern Tujia),
+ ],
+ q(6466) => [
+ q(Tjurruru),
+ ],
+ q(6467) => [
+ q(Truka),
+ ],
+ q(6468) => [
+ q(Buksa),
+ ],
+ q(6469) => [
+ q(Tukudede),
+ ],
+ q(6470) => [
+ q(Takwane),
+ ],
+ q(6471) => [
+ q(Tukumanfed),
+ ],
+ q(6472) => [
+ q(Tesaka Malagasy),
+ ],
+ q(6473) => [
+ q(Takelma),
+ ],
+ q(6474) => [
+ q(Toku-No-Shima),
+ ],
+ q(6475) => [
+ q(Tikopia),
+ ],
+ q(6476) => [
+ q(Tee),
+ ],
+ q(6477) => [
+ q(Tsakhur),
+ ],
+ q(6478) => [
+ q(Takestani),
+ ],
+ q(6479) => [
+ q(Kathoriya Tharu),
+ ],
+ q(6480) => [
+ q(Upper Necaxa Totonac),
+ ],
+ q(6481) => [
+ q(Teanu),
+ ],
+ q(6482) => [
+ q(Tangko),
+ ],
+ q(6483) => [
+ q(Takua),
+ ],
+ q(6484) => [
+ q(Southwestern Tepehuan),
+ ],
+ q(6485) => [
+ q(Tobelo),
+ ],
+ q(6486) => [
+ q(Yecuatla Totonac),
+ ],
+ q(6487) => [
+ q(Talaud),
+ ],
+ q(6488) => [
+ q(Telefol),
+ ],
+ q(6489) => [
+ q(Tofanma),
+ ],
+ q(6490) => [
+ q(Talinga-Bwisi),
+ ],
+ q(6491) => [
+ q(Taloki),
+ ],
+ q(6492) => [
+ q(Tetela),
+ ],
+ q(6493) => [
+ q(Tolomako),
+ ],
+ q(6494) => [
+ q(Talondo'),
+ ],
+ q(6495) => [
+ q(Talodi),
+ ],
+ q(6496) => [
+ q(Filomena Mata-Coahuitlan Totonac),
+ ],
+ q(6497) => [
+ q(Tai Loi),
+ ],
+ q(6498) => [
+ q(Talise),
+ ],
+ q(6499) => [
+ q(Tambotalo),
+ ],
+ q(6500) => [
+ q(Teluti),
+ ],
+ q(6501) => [
+ q(Tulehu),
+ ],
+ q(6502) => [
+ q(Taliabu),
+ ],
+ q(6503) => [
+ q(South Wemale),
+ ],
+ q(6504) => [
+ q(Khehek),
+ ],
+ q(6505) => [
+ q(Talysh),
+ ],
+ q(6506) => [
+ q(Tama (Chad)),
+ ],
+ q(6507) => [
+ q(Katbol),
+ q(Avava),
+ ],
+ q(6508) => [
+ q(Tumak),
+ ],
+ q(6509) => [
+ q(Haruai),
+ ],
+ q(6510) => [
+ q(Tremembe),
+ ],
+ q(6511) => [
+ q(Toba-Maskoy),
+ ],
+ q(6512) => [
+ q(Ternateno),
+ ],
+ q(6513) => [
+ q(Tutuba),
+ ],
+ q(6514) => [
+ q(Samarokena),
+ ],
+ q(6515) => [
+ q(Northwestern Tamang),
+ ],
+ q(6516) => [
+ q(Tamnim Citak),
+ ],
+ q(6517) => [
+ q(Tai Thanh),
+ ],
+ q(6518) => [
+ q(Taman (Indonesia)),
+ ],
+ q(6519) => [
+ q(Temoq),
+ ],
+ q(6520) => [
+ q(Tai Mene),
+ ],
+ q(6521) => [
+ q(Tumleo),
+ ],
+ q(6522) => [
+ q(Jewish Babylonian Aramaic (ca. 200-1200 CE)),
+ ],
+ q(6523) => [
+ q(Tima),
+ ],
+ q(6524) => [
+ q(Tasmate),
+ ],
+ q(6525) => [
+ q(Iau),
+ ],
+ q(6526) => [
+ q(Tembo (Motembo)),
+ ],
+ q(6527) => [
+ q(Temuan),
+ ],
+ q(6528) => [
+ q(Tami),
+ ],
+ q(6529) => [
+ q(Tamanaku),
+ ],
+ q(6530) => [
+ q(Tacana),
+ ],
+ q(6531) => [
+ q(Western Tunebo),
+ ],
+ q(6532) => [
+ q(Tanimuca-Retuara),
+ ],
+ q(6533) => [
+ q(Angosturas Tunebo),
+ ],
+ q(6534) => [
+ q(Tinoc Kallahan),
+ ],
+ q(6535) => [
+ q(Tobanga),
+ ],
+ q(6536) => [
+ q(Maiani),
+ ],
+ q(6537) => [
+ q(Tandia),
+ ],
+ q(6538) => [
+ q(Kwamera),
+ ],
+ q(6539) => [
+ q(Lenakel),
+ ],
+ q(6540) => [
+ q(Tabla),
+ ],
+ q(6541) => [
+ q(North Tanna),
+ ],
+ q(6542) => [
+ q(Toromono),
+ ],
+ q(6543) => [
+ q(Whitesands),
+ ],
+ q(6544) => [
+ q(Taino),
+ ],
+ q(6545) => [
+ q(Bedik),
+ ],
+ q(6546) => [
+ q(Tenis),
+ ],
+ q(6547) => [
+ q(Tontemboan),
+ ],
+ q(6548) => [
+ q(Tay Khang),
+ ],
+ q(6549) => [
+ q(Tangchangya),
+ ],
+ q(6550) => [
+ q(Tonsawang),
+ ],
+ q(6551) => [
+ q(Tanema),
+ ],
+ q(6552) => [
+ q(Tongwe),
+ ],
+ q(6553) => [
+ q(Tonga (Thailand)),
+ ],
+ q(6554) => [
+ q(Toba),
+ ],
+ q(6555) => [
+ q(Coyutla Totonac),
+ ],
+ q(6556) => [
+ q(Toma),
+ ],
+ q(6557) => [
+ q(Tomedes),
+ ],
+ q(6558) => [
+ q(Gizrra),
+ ],
+ q(6559) => [
+ q(Gitonga),
+ ],
+ q(6560) => [
+ q(Tonga (Zambia)),
+ ],
+ q(6561) => [
+ q(Tojolabal),
+ ],
+ q(6562) => [
+ q(Tolowa),
+ ],
+ q(6563) => [
+ q(Tombulu),
+ ],
+ q(6564) => [
+ q(Xicotepec De Juarez Totonac),
+ ],
+ q(6565) => [
+ q(Papantla Totonac),
+ ],
+ q(6566) => [
+ q(Toposa),
+ ],
+ q(6567) => [
+ q(Togbo-Vara Banda),
+ ],
+ q(6568) => [
+ q(Highland Totonac),
+ ],
+ q(6569) => [
+ q(Tho),
+ ],
+ q(6570) => [
+ q(Upper Taromi),
+ ],
+ q(6571) => [
+ q(Jemez),
+ ],
+ q(6572) => [
+ q(Tobian),
+ ],
+ q(6573) => [
+ q(Topoiyo),
+ ],
+ q(6574) => [
+ q(To),
+ ],
+ q(6575) => [
+ q(Taupota),
+ ],
+ q(6576) => [
+ q(Azoyu Me'phaa),
+ q(Azoyu Tlapanec),
+ ],
+ q(6577) => [
+ q(Tippera),
+ ],
+ q(6578) => [
+ q(Tarpia),
+ ],
+ q(6579) => [
+ q(Kula),
+ ],
+ q(6580) => [
+ q(Tapiete),
+ ],
+ q(6581) => [
+ q(Tupinikin),
+ ],
+ q(6582) => [
+ q(Tlacoapa Me'phaa),
+ q(Tlacoapa Tlapanec),
+ ],
+ q(6583) => [
+ q(Tampulma),
+ ],
+ q(6584) => [
+ q(Tupinamba),
+ ],
+ q(6585) => [
+ q(Tai Pao),
+ ],
+ q(6586) => [
+ q(Pisaflores Tepehua),
+ ],
+ q(6587) => [
+ q(Tukpa),
+ ],
+ q(6588) => [
+ q(Tupari),
+ ],
+ q(6589) => [
+ q(Tlachichilco Tepehua),
+ ],
+ q(6590) => [
+ q(Tampuan),
+ ],
+ q(6591) => [
+ q(Tanapag),
+ ],
+ q(6592) => [
+ q(Tupi),
+ ],
+ q(6593) => [
+ q(Acatepec Me'phaa),
+ q(Acatepec Tlapanec),
+ ],
+ q(6594) => [
+ q(Trumai),
+ ],
+ q(6595) => [
+ q(Tinputz),
+ ],
+ q(6596) => [
+ q(Tembe),
+ ],
+ q(6597) => [
+ q(Lehali),
+ ],
+ q(6598) => [
+ q(Turumsa),
+ ],
+ q(6599) => [
+ q(Tenino),
+ ],
+ q(6600) => [
+ q(Toaripi),
+ ],
+ q(6601) => [
+ q(Tomoip),
+ ],
+ q(6602) => [
+ q(Tunni),
+ ],
+ q(6603) => [
+ q(Torona),
+ ],
+ q(6604) => [
+ q(Western Totonac),
+ ],
+ q(6605) => [
+ q(Touo),
+ ],
+ q(6606) => [
+ q(Tonkawa),
+ ],
+ q(6607) => [
+ q(Tirahi),
+ ],
+ q(6608) => [
+ q(Terebu),
+ ],
+ q(6609) => [
+ q(Copala Triqui),
+ ],
+ q(6610) => [
+ q(Turi),
+ ],
+ q(6611) => [
+ q(East Tarangan),
+ ],
+ q(6612) => [
+ q(Trinidadian Creole English),
+ ],
+ q(6613) => [
+ q(Lishan Didan),
+ ],
+ q(6614) => [
+ q(Turaka),
+ ],
+ q(6615) => [
+ q(Trio),
+ ],
+ q(6616) => [
+ q(Toram),
+ ],
+ q(6617) => [
+ q(Traveller Scottish),
+ ],
+ q(6618) => [
+ q(Tregami),
+ ],
+ q(6619) => [
+ q(Trinitario),
+ ],
+ q(6620) => [
+ q(Tarao Naga),
+ ],
+ q(6621) => [
+ q(Kok Borok),
+ ],
+ q(6622) => [
+ q(San Martin Itunyoso Triqui),
+ ],
+ q(6623) => [
+ q(Taushiro),
+ ],
+ q(6624) => [
+ q(Chicahuaxtla Triqui),
+ ],
+ q(6625) => [
+ q(Tunggare),
+ ],
+ q(6626) => [
+ q(Turoyo),
+ ],
+ q(6627) => [
+ q(Taroko),
+ ],
+ q(6628) => [
+ q(Torwali),
+ ],
+ q(6629) => [
+ q(Tringgus-Sembaan Bidayuh),
+ ],
+ q(6630) => [
+ q(Turung),
+ ],
+ q(6631) => [
+ q(Tora),
+ ],
+ q(6632) => [
+ q(Tsaangi),
+ ],
+ q(6633) => [
+ q(Tsamai),
+ ],
+ q(6634) => [
+ q(Tswa),
+ ],
+ q(6635) => [
+ q(Tsakonian),
+ ],
+ q(6636) => [
+ q(Tunisian Sign Language),
+ ],
+ q(6637) => [
+ q(Southwestern Tamang),
+ ],
+ q(6638) => [
+ q(Tausug),
+ ],
+ q(6639) => [
+ q(Tsuvan),
+ ],
+ q(6640) => [
+ q(Tshangla),
+ ],
+ q(6641) => [
+ q(Tseku),
+ ],
+ q(6642) => [
+ q(Ts'un-Lao),
+ ],
+ q(6643) => [
+ q(Turkish Sign Language),
+ q(Turk Isaret Dili),
+ ],
+ q(6644) => [
+ q(Northern Toussian),
+ ],
+ q(6645) => [
+ q(Thai Sign Language),
+ ],
+ q(6646) => [
+ q(Akei),
+ ],
+ q(6647) => [
+ q(Taiwan Sign Language),
+ ],
+ q(6648) => [
+ q(Tondi Songway Kiini),
+ ],
+ q(6649) => [
+ q(Tsou),
+ ],
+ q(6650) => [
+ q(Tsogo),
+ ],
+ q(6651) => [
+ q(Tsishingini),
+ ],
+ q(6652) => [
+ q(Mubami),
+ ],
+ q(6653) => [
+ q(Tebul Sign Language),
+ ],
+ q(6654) => [
+ q(Purepecha),
+ ],
+ q(6655) => [
+ q(Tutelo),
+ ],
+ q(6656) => [
+ q(Gaa),
+ ],
+ q(6657) => [
+ q(Tektiteko),
+ ],
+ q(6658) => [
+ q(Tauade),
+ ],
+ q(6659) => [
+ q(Bwanabwana),
+ ],
+ q(6660) => [
+ q(Tuotomb),
+ ],
+ q(6661) => [
+ q(Tutong),
+ ],
+ q(6662) => [
+ q(Upper Ta'oih),
+ ],
+ q(6663) => [
+ q(Tobati),
+ ],
+ q(6664) => [
+ q(Tooro),
+ ],
+ q(6665) => [
+ q(Totoro),
+ ],
+ q(6666) => [
+ q(Totela),
+ ],
+ q(6667) => [
+ q(Northern Tutchone),
+ ],
+ q(6668) => [
+ q(Towei),
+ ],
+ q(6669) => [
+ q(Lower Ta'oih),
+ ],
+ q(6670) => [
+ q(Tombelala),
+ ],
+ q(6671) => [
+ q(Tawallammat Tamajaq),
+ ],
+ q(6672) => [
+ q(Tera),
+ ],
+ q(6673) => [
+ q(Northeastern Thai),
+ ],
+ q(6674) => [
+ q(Muslim Tat),
+ ],
+ q(6675) => [
+ q(Torau),
+ ],
+ q(6676) => [
+ q(Titan),
+ ],
+ q(6677) => [
+ q(Long Wat),
+ ],
+ q(6678) => [
+ q(Sikaritai),
+ ],
+ q(6679) => [
+ q(Tsum),
+ ],
+ q(6680) => [
+ q(Wiarumus),
+ ],
+ q(6681) => [
+ q(Tubatulabal),
+ ],
+ q(6682) => [
+ q(Mutu),
+ ],
+ q(6683) => [
+ q(Tuxa),
+ ],
+ q(6684) => [
+ q(Tuyuca),
+ ],
+ q(6685) => [
+ q(Central Tunebo),
+ ],
+ q(6686) => [
+ q(Tunia),
+ ],
+ q(6687) => [
+ q(Taulil),
+ ],
+ q(6688) => [
+ q(Tupuri),
+ ],
+ q(6689) => [
+ q(Tugutil),
+ ],
+ q(6690) => [
+ q(Tula),
+ ],
+ q(6691) => [
+ q(Tunica),
+ ],
+ q(6692) => [
+ q(Tucano),
+ ],
+ q(6693) => [
+ q(Tedaga),
+ ],
+ q(6694) => [
+ q(Tuscarora),
+ ],
+ q(6695) => [
+ q(Tututni),
+ ],
+ q(6696) => [
+ q(Turkana),
+ ],
+ q(6697) => [
+ q(Tuxinawa),
+ ],
+ q(6698) => [
+ q(Tugen),
+ ],
+ q(6699) => [
+ q(Turka),
+ ],
+ q(6700) => [
+ q(Vaghua),
+ ],
+ q(6701) => [
+ q(Tsuvadi),
+ ],
+ q(6702) => [
+ q(Te'un),
+ ],
+ q(6703) => [
+ q(Southeast Ambrym),
+ ],
+ q(6704) => [
+ q(Tela-Masbuar),
+ ],
+ q(6705) => [
+ q(Tavoyan),
+ ],
+ q(6706) => [
+ q(Tidore),
+ ],
+ q(6707) => [
+ q(Taveta),
+ ],
+ q(6708) => [
+ q(Tutsa Naga),
+ ],
+ q(6709) => [
+ q(Sedoa),
+ ],
+ q(6710) => [
+ q(Timor Pidgin),
+ ],
+ q(6711) => [
+ q(Twana),
+ ],
+ q(6712) => [
+ q(Western Tawbuid),
+ ],
+ q(6713) => [
+ q(Teshenawa),
+ ],
+ q(6714) => [
+ q(Twents),
+ ],
+ q(6715) => [
+ q(Tewa (Indonesia)),
+ ],
+ q(6716) => [
+ q(Northern Tiwa),
+ ],
+ q(6717) => [
+ q(Tereweng),
+ ],
+ q(6718) => [
+ q(Tai Don),
+ ],
+ q(6719) => [
+ q(Tawara),
+ ],
+ q(6720) => [
+ q(Tawang Monpa),
+ ],
+ q(6721) => [
+ q(Twendi),
+ ],
+ q(6722) => [
+ q(Tswapong),
+ ],
+ q(6723) => [
+ q(Ere),
+ ],
+ q(6724) => [
+ q(Tasawaq),
+ ],
+ q(6725) => [
+ q(Southwestern Tarahumara),
+ ],
+ q(6726) => [
+ q(Turiwara),
+ ],
+ q(6727) => [
+ q(Termanu),
+ ],
+ q(6728) => [
+ q(Tuwari),
+ ],
+ q(6729) => [
+ q(Tewe),
+ ],
+ q(6730) => [
+ q(Tawoyan),
+ ],
+ q(6731) => [
+ q(Tombonuo),
+ ],
+ q(6732) => [
+ q(Tokharian B),
+ ],
+ q(6733) => [
+ q(Tsetsaut),
+ ],
+ q(6734) => [
+ q(Totoli),
+ ],
+ q(6735) => [
+ q(Tangut),
+ ],
+ q(6736) => [
+ q(Thracian),
+ ],
+ q(6737) => [
+ q(Ikpeng),
+ ],
+ q(6738) => [
+ q(Tomini),
+ ],
+ q(6739) => [
+ q(West Tarangan),
+ ],
+ q(6740) => [
+ q(Toto),
+ ],
+ q(6741) => [
+ q(Tii),
+ ],
+ q(6742) => [
+ q(Tartessian),
+ ],
+ q(6743) => [
+ q(Tonsea),
+ ],
+ q(6744) => [
+ q(Citak),
+ ],
+ q(6745) => [
+ q(Kayapo),
+ ],
+ q(6746) => [
+ q(Tatana),
+ ],
+ q(6747) => [
+ q(Tanosy Malagasy),
+ ],
+ q(6748) => [
+ q(Tauya),
+ ],
+ q(6749) => [
+ q(Kyenga),
+ ],
+ q(6750) => [
+ q(O'du),
+ ],
+ q(6751) => [
+ q(Teke-Tsaayi),
+ ],
+ q(6752) => [
+ q(Tai Do),
+ ],
+ q(6753) => [
+ q(Thu Lao),
+ ],
+ q(6754) => [
+ q(Kombai),
+ ],
+ q(6755) => [
+ q(Thaypan),
+ ],
+ q(6756) => [
+ q(Tai Daeng),
+ ],
+ q(6757) => [
+ q(Tay Sa Pa),
+ ],
+ q(6758) => [
+ q(Tay Tac),
+ ],
+ q(6759) => [
+ q(Kua),
+ ],
+ q(6760) => [
+ q(Teke-Tyee),
+ ],
+ q(6761) => [
+ q(Tay),
+ ],
+ q(6762) => [
+ q(Tanzanian Sign Language),
+ ],
+ q(6763) => [
+ q(Tzeltal),
+ ],
+ q(6764) => [
+ q(Tz'utujil),
+ ],
+ q(6765) => [
+ q(Central Atlas Tamazight),
+ ],
+ q(6766) => [
+ q(Tugun),
+ ],
+ q(6767) => [
+ q(Tzotzil),
+ ],
+ q(6768) => [
+ q(Tabriak),
+ ],
+ q(6769) => [
+ q(Uamue),
+ ],
+ q(6770) => [
+ q(Kuan),
+ ],
+ q(6771) => [
+ q(Tairuma),
+ ],
+ q(6772) => [
+ q(Ubang),
+ ],
+ q(6773) => [
+ q(Ubi),
+ ],
+ q(6774) => [
+ q(Buhi'non Bikol),
+ ],
+ q(6775) => [
+ q(Ubir),
+ ],
+ q(6776) => [
+ q(Umbu-Ungu),
+ ],
+ q(6777) => [
+ q(Ubykh),
+ ],
+ q(6778) => [
+ q(Uda),
+ ],
+ q(6779) => [
+ q(Udihe),
+ ],
+ q(6780) => [
+ q(Muduga),
+ ],
+ q(6781) => [
+ q(Udi),
+ ],
+ q(6782) => [
+ q(Ujir),
+ ],
+ q(6783) => [
+ q(Wuzlam),
+ ],
+ q(6784) => [
+ q(Uduk),
+ ],
+ q(6785) => [
+ q(Kioko),
+ ],
+ q(6786) => [
+ q(Ufim),
+ ],
+ q(6787) => [
+ q(Kuku-Ugbanh),
+ ],
+ q(6788) => [
+ q(Ughele),
+ ],
+ q(6789) => [
+ q(Ugandan Sign Language),
+ ],
+ q(6790) => [
+ q(Ugong),
+ ],
+ q(6791) => [
+ q(Uruguayan Sign Language),
+ ],
+ q(6792) => [
+ q(Uhami),
+ ],
+ q(6793) => [
+ q(Damal),
+ ],
+ q(6794) => [
+ q(Uisai),
+ ],
+ q(6795) => [
+ q(Iyive),
+ ],
+ q(6796) => [
+ q(Tanjijili),
+ ],
+ q(6797) => [
+ q(Kaburi),
+ ],
+ q(6798) => [
+ q(Ukuriguma),
+ ],
+ q(6799) => [
+ q(Ukhwejo),
+ ],
+ q(6800) => [
+ q(Ukrainian Sign Language),
+ ],
+ q(6801) => [
+ q(Ukpe-Bayobiri),
+ ],
+ q(6802) => [
+ q(Ukwa),
+ ],
+ q(6803) => [
+ q(Urubu-Kaapor Sign Language),
+ q(Kaapor Sign Language),
+ ],
+ q(6804) => [
+ q(Ukue),
+ ],
+ q(6805) => [
+ q(Ukwuani-Aboh-Ndoni),
+ ],
+ q(6806) => [
+ q(Fungwa),
+ ],
+ q(6807) => [
+ q(Ulukwumi),
+ ],
+ q(6808) => [
+ q(Ulch),
+ ],
+ q(6809) => [
+ q(Usku),
+ q(Afra),
+ ],
+ q(6810) => [
+ q(Ulithian),
+ ],
+ q(6811) => [
+ q(Meriam),
+ ],
+ q(6812) => [
+ q(Ullatan),
+ ],
+ q(6813) => [
+ q(Ulumanda'),
+ ],
+ q(6814) => [
+ q(Unserdeutsch),
+ ],
+ q(6815) => [
+ q(Uma' Lung),
+ ],
+ q(6816) => [
+ q(Ulwa),
+ ],
+ q(6817) => [
+ q(Umatilla),
+ ],
+ q(6818) => [
+ q(Marrucinian),
+ ],
+ q(6819) => [
+ q(Umbindhamu),
+ ],
+ q(6820) => [
+ q(Umbuygamu),
+ ],
+ q(6821) => [
+ q(Ukit),
+ ],
+ q(6822) => [
+ q(Umon),
+ ],
+ q(6823) => [
+ q(Makyan Naga),
+ ],
+ q(6824) => [
+ q(Umotina),
+ ],
+ q(6825) => [
+ q(Umpila),
+ ],
+ q(6826) => [
+ q(Umbugarla),
+ ],
+ q(6827) => [
+ q(Pendau),
+ ],
+ q(6828) => [
+ q(Munsee),
+ ],
+ q(6829) => [
+ q(North Watut),
+ ],
+ q(6830) => [
+ q(Uneme),
+ ],
+ q(6831) => [
+ q(Ngarinyin),
+ ],
+ q(6832) => [
+ q(Enawene-Nawe),
+ ],
+ q(6833) => [
+ q(Unami),
+ ],
+ q(6834) => [
+ q(Worora),
+ ],
+ q(6835) => [
+ q(Mundari),
+ ],
+ q(6836) => [
+ q(Munda),
+ ],
+ q(6837) => [
+ q(Unde Kaili),
+ ],
+ q(6838) => [
+ q(Uokha),
+ ],
+ q(6839) => [
+ q(Umeda),
+ ],
+ q(6840) => [
+ q(Uripiv-Wala-Rano-Atchin),
+ ],
+ q(6841) => [
+ q(Urarina),
+ ],
+ q(6842) => [
+ q(Urubu-Kaapor),
+ q(Kaapor),
+ ],
+ q(6843) => [
+ q(Urningangg),
+ ],
+ q(6844) => [
+ q(Uru),
+ ],
+ q(6845) => [
+ q(Uradhi),
+ ],
+ q(6846) => [
+ q(Urigina),
+ ],
+ q(6847) => [
+ q(Urhobo),
+ ],
+ q(6848) => [
+ q(Urim),
+ ],
+ q(6849) => [
+ q(Urak Lawoi'),
+ ],
+ q(6850) => [
+ q(Urali),
+ ],
+ q(6851) => [
+ q(Urapmin),
+ ],
+ q(6852) => [
+ q(Uruangnirin),
+ ],
+ q(6853) => [
+ q(Ura (Papua New Guinea)),
+ ],
+ q(6854) => [
+ q(Uru-Pa-In),
+ ],
+ q(6855) => [
+ q(Lehalurup),
+ q(Loyop),
+ ],
+ q(6856) => [
+ q(Urat),
+ ],
+ q(6857) => [
+ q(Urumi),
+ ],
+ q(6858) => [
+ q(Uruava),
+ ],
+ q(6859) => [
+ q(Sop),
+ ],
+ q(6860) => [
+ q(Urimo),
+ ],
+ q(6861) => [
+ q(Orya),
+ ],
+ q(6862) => [
+ q(Uru-Eu-Wau-Wau),
+ ],
+ q(6863) => [
+ q(Usarufa),
+ ],
+ q(6864) => [
+ q(Ushojo),
+ ],
+ q(6865) => [
+ q(Usui),
+ ],
+ q(6866) => [
+ q(Usaghade),
+ ],
+ q(6867) => [
+ q(Uspanteco),
+ ],
+ q(6868) => [
+ q(Uya),
+ ],
+ q(6869) => [
+ q(Otank),
+ ],
+ q(6870) => [
+ q(Ute-Southern Paiute),
+ ],
+ q(6871) => [
+ q(Amba (Solomon Islands)),
+ ],
+ q(6872) => [
+ q(Etulo),
+ ],
+ q(6873) => [
+ q(Utu),
+ ],
+ q(6874) => [
+ q(Urum),
+ ],
+ q(6875) => [
+ q(Kulon-Pazeh),
+ ],
+ q(6876) => [
+ q(Ura (Vanuatu)),
+ ],
+ q(6877) => [
+ q(U),
+ ],
+ q(6878) => [
+ q(West Uvean),
+ ],
+ q(6879) => [
+ q(Uri),
+ ],
+ q(6880) => [
+ q(Lote),
+ ],
+ q(6881) => [
+ q(Kuku-Uwanh),
+ ],
+ q(6882) => [
+ q(Doko-Uyanga),
+ ],
+ q(6883) => [
+ q(Northern Uzbek),
+ ],
+ q(6884) => [
+ q(Southern Uzbek),
+ ],
+ q(6885) => [
+ q(Vaagri Booli),
+ ],
+ q(6886) => [
+ q(Vale),
+ ],
+ q(6887) => [
+ q(Vafsi),
+ ],
+ q(6888) => [
+ q(Vagla),
+ ],
+ q(6889) => [
+ q(Varhadi-Nagpuri),
+ ],
+ q(6890) => [
+ q(Vasekela Bushman),
+ ],
+ q(6891) => [
+ q(Vehes),
+ ],
+ q(6892) => [
+ q(Vanimo),
+ ],
+ q(6893) => [
+ q(Valman),
+ ],
+ q(6894) => [
+ q(Vao),
+ ],
+ q(6895) => [
+ q(Vaiphei),
+ ],
+ q(6896) => [
+ q(Huarijio),
+ ],
+ q(6897) => [
+ q(Vasavi),
+ ],
+ q(6898) => [
+ q(Vanuma),
+ ],
+ q(6899) => [
+ q(Varli),
+ ],
+ q(6900) => [
+ q(Wayu),
+ ],
+ q(6901) => [
+ q(Southeast Babar),
+ ],
+ q(6902) => [
+ q(Southwestern Bontok),
+ ],
+ q(6903) => [
+ q(Venetian),
+ ],
+ q(6904) => [
+ q(Veddah),
+ ],
+ q(6905) => [
+ q(Veluws),
+ ],
+ q(6906) => [
+ q(Vemgo-Mabas),
+ ],
+ q(6907) => [
+ q(Ventureno),
+ ],
+ q(6908) => [
+ q(Veps),
+ ],
+ q(6909) => [
+ q(Mom Jango),
+ ],
+ q(6910) => [
+ q(Vaghri),
+ ],
+ q(6911) => [
+ q(Vlaamse Gebarentaal),
+ q(Flemish Sign Language),
+ ],
+ q(6912) => [
+ q(Virgin Islands Creole English),
+ ],
+ q(6913) => [
+ q(Vidunda),
+ ],
+ q(6914) => [
+ q(Vili),
+ ],
+ q(6915) => [
+ q(Viemo),
+ ],
+ q(6916) => [
+ q(Vilela),
+ ],
+ q(6917) => [
+ q(Vinza),
+ ],
+ q(6918) => [
+ q(Vishavan),
+ ],
+ q(6919) => [
+ q(Viti),
+ ],
+ q(6920) => [
+ q(Iduna),
+ ],
+ q(6921) => [
+ q(Kariyarra),
+ ],
+ q(6922) => [
+ q(Ija-Zuba),
+ ],
+ q(6923) => [
+ q(Kujarge),
+ ],
+ q(6924) => [
+ q(Kaur),
+ ],
+ q(6925) => [
+ q(Kulisusu),
+ ],
+ q(6926) => [
+ q(Kamakan),
+ ],
+ q(6927) => [
+ q(Kodeoha),
+ ],
+ q(6928) => [
+ q(Korlai Creole Portuguese),
+ ],
+ q(6929) => [
+ q(Tenggarong Kutai Malay),
+ ],
+ q(6930) => [
+ q(Kurrama),
+ ],
+ q(6931) => [
+ q(Valpei),
+ ],
+ q(6932) => [
+ q(Vlaams),
+ ],
+ q(6933) => [
+ q(Martuyhunira),
+ ],
+ q(6934) => [
+ q(Mbabaram),
+ ],
+ q(6935) => [
+ q(Juxtlahuaca Mixtec),
+ ],
+ q(6936) => [
+ q(Mudu Koraga),
+ ],
+ q(6937) => [
+ q(East Masela),
+ ],
+ q(6938) => [
+ q(Mainfrankisch),
+ ],
+ q(6939) => [
+ q(Minigir),
+ ],
+ q(6940) => [
+ q(Maraghei),
+ ],
+ q(6941) => [
+ q(Miwa),
+ ],
+ q(6942) => [
+ q(Ixtayutla Mixtec),
+ ],
+ q(6943) => [
+ q(Makhuwa-Shirima),
+ ],
+ q(6944) => [
+ q(Malgana),
+ ],
+ q(6945) => [
+ q(Mitlatongo Mixtec),
+ ],
+ q(6946) => [
+ q(Soyaltepec Mazatec),
+ ],
+ q(6947) => [
+ q(Soyaltepec Mixtec),
+ ],
+ q(6948) => [
+ q(Marenje),
+ ],
+ q(6949) => [
+ q(Moksela),
+ ],
+ q(6950) => [
+ q(Muluridyi),
+ ],
+ q(6951) => [
+ q(Valley Maidu),
+ ],
+ q(6952) => [
+ q(Makhuwa),
+ ],
+ q(6953) => [
+ q(Tamazola Mixtec),
+ ],
+ q(6954) => [
+ q(Ayautla Mazatec),
+ ],
+ q(6955) => [
+ q(Mazatlan Mazatec),
+ ],
+ q(6956) => [
+ q(Vano),
+ q(Lovono),
+ ],
+ q(6957) => [
+ q(Vinmavis),
+ q(Neve'ei),
+ ],
+ q(6958) => [
+ q(Vunapu),
+ ],
+ q(6959) => [
+ q(Voro),
+ ],
+ q(6960) => [
+ q(Vera'a),
+ ],
+ q(6961) => [
+ q(Varisi),
+ ],
+ q(6962) => [
+ q(Burmbar),
+ q(Banam Bay),
+ ],
+ q(6963) => [
+ q(Moldova Sign Language),
+ ],
+ q(6964) => [
+ q(Venezuelan Sign Language),
+ ],
+ q(6965) => [
+ q(Valencian Sign Language),
+ q(Llengua de signes valenciana),
+ ],
+ q(6966) => [
+ q(Vitou),
+ ],
+ q(6967) => [
+ q(Vumbu),
+ ],
+ q(6968) => [
+ q(Vunjo),
+ ],
+ q(6969) => [
+ q(Vute),
+ ],
+ q(6970) => [
+ q(Awa (China)),
+ ],
+ q(6971) => [
+ q(Walla Walla),
+ ],
+ q(6972) => [
+ q(Wab),
+ ],
+ q(6973) => [
+ q(Wasco-Wishram),
+ ],
+ q(6974) => [
+ q(Wandamen),
+ ],
+ q(6975) => [
+ q(Walser),
+ ],
+ q(6976) => [
+ q(Wakona),
+ ],
+ q(6977) => [
+ q(Wa'ema),
+ ],
+ q(6978) => [
+ q(Watubela),
+ ],
+ q(6979) => [
+ q(Wares),
+ ],
+ q(6980) => [
+ q(Waffa),
+ ],
+ q(6981) => [
+ q(Wampanoag),
+ ],
+ q(6982) => [
+ q(Wan),
+ ],
+ q(6983) => [
+ q(Wappo),
+ ],
+ q(6984) => [
+ q(Wapishana),
+ ],
+ q(6985) => [
+ q(Wageman),
+ ],
+ q(6986) => [
+ q(Kaninuwa),
+ ],
+ q(6987) => [
+ q(Waura),
+ ],
+ q(6988) => [
+ q(Waka),
+ ],
+ q(6989) => [
+ q(Waiwai),
+ ],
+ q(6990) => [
+ q(Watam),
+ ],
+ q(6991) => [
+ q(Wayana),
+ ],
+ q(6992) => [
+ q(Wampur),
+ ],
+ q(6993) => [
+ q(Warao),
+ ],
+ q(6994) => [
+ q(Wabo),
+ ],
+ q(6995) => [
+ q(Waritai),
+ ],
+ q(6996) => [
+ q(Wanda),
+ ],
+ q(6997) => [
+ q(Vwanji),
+ ],
+ q(6998) => [
+ q(Alagwa),
+ ],
+ q(6999) => [
+ q(Waigali),
+ ],
+ q(7000) => [
+ q(Wakhi),
+ ],
+ q(7001) => [
+ q(Wa),
+ ],
+ q(7002) => [
+ q(Warlpiri),
+ ],
+ q(7003) => [
+ q(Waddar),
+ ],
+ q(7004) => [
+ q(Wagdi),
+ ],
+ q(7005) => [
+ q(Wanman),
+ ],
+ q(7006) => [
+ q(Wajarri),
+ ],
+ q(7007) => [
+ q(Woi),
+ ],
+ q(7008) => [
+ q(Yanomami),
+ ],
+ q(7009) => [
+ q(Waci Gbe),
+ ],
+ q(7010) => [
+ q(Wandji),
+ ],
+ q(7011) => [
+ q(Wadaginam),
+ ],
+ q(7012) => [
+ q(Wadjiginy),
+ ],
+ q(7013) => [
+ q(Wadjigu),
+ ],
+ q(7014) => [
+ q(Wewaw),
+ ],
+ q(7015) => [
+ q(We Western),
+ ],
+ q(7016) => [
+ q(Wedau),
+ ],
+ q(7017) => [
+ q(Weh),
+ ],
+ q(7018) => [
+ q(Kiunum),
+ ],
+ q(7019) => [
+ q(Weme Gbe),
+ ],
+ q(7020) => [
+ q(North Wemale),
+ ],
+ q(7021) => [
+ q(Westphalien),
+ ],
+ q(7022) => [
+ q(Weri),
+ ],
+ q(7023) => [
+ q(Cameroon Pidgin),
+ ],
+ q(7024) => [
+ q(Perai),
+ ],
+ q(7025) => [
+ q(Welaung),
+ ],
+ q(7026) => [
+ q(Wejewa),
+ ],
+ q(7027) => [
+ q(Yafi),
+ q(Zorop),
+ ],
+ q(7028) => [
+ q(Wagaya),
+ ],
+ q(7029) => [
+ q(Wagawaga),
+ ],
+ q(7030) => [
+ q(Wangganguru),
+ ],
+ q(7031) => [
+ q(Wahgi),
+ ],
+ q(7032) => [
+ q(Waigeo),
+ ],
+ q(7033) => [
+ q(Warrgamay),
+ ],
+ q(7034) => [
+ q(Manusela),
+ ],
+ q(7035) => [
+ q(North Wahgi),
+ ],
+ q(7036) => [
+ q(Wahau Kenyah),
+ ],
+ q(7037) => [
+ q(Wahau Kayan),
+ ],
+ q(7038) => [
+ q(Southern Toussian),
+ ],
+ q(7039) => [
+ q(Wichita),
+ ],
+ q(7040) => [
+ q(Wik-Epa),
+ ],
+ q(7041) => [
+ q(Wik-Keyangan),
+ ],
+ q(7042) => [
+ q(Wik-Ngathana),
+ ],
+ q(7043) => [
+ q(Wik-Me'anha),
+ ],
+ q(7044) => [
+ q(Minidien),
+ ],
+ q(7045) => [
+ q(Wik-Iiyanh),
+ ],
+ q(7046) => [
+ q(Wikalkan),
+ ],
+ q(7047) => [
+ q(Wilawila),
+ ],
+ q(7048) => [
+ q(Wik-Mungkan),
+ ],
+ q(7049) => [
+ q(Ho-Chunk),
+ ],
+ q(7050) => [
+ q(Wirafed),
+ ],
+ q(7051) => [
+ q(Wintu),
+ ],
+ q(7052) => [
+ q(Wiru),
+ ],
+ q(7053) => [
+ q(Muduapa),
+ ],
+ q(7054) => [
+ q(Wirangu),
+ ],
+ q(7055) => [
+ q(Wiyot),
+ ],
+ q(7056) => [
+ q(Waja),
+ ],
+ q(7057) => [
+ q(Warji),
+ ],
+ q(7058) => [
+ q(Kw'adza),
+ ],
+ q(7059) => [
+ q(Kumbaran),
+ ],
+ q(7060) => [
+ q(Wakde),
+ q(Mo),
+ ],
+ q(7061) => [
+ q(Kalanadi),
+ ],
+ q(7062) => [
+ q(Kunduvadi),
+ ],
+ q(7063) => [
+ q(Wakawaka),
+ ],
+ q(7064) => [
+ q(Walio),
+ ],
+ q(7065) => [
+ q(Mwali Comorian),
+ ],
+ q(7066) => [
+ q(Wolane),
+ ],
+ q(7067) => [
+ q(Kunbarlang),
+ ],
+ q(7068) => [
+ q(Waioli),
+ ],
+ q(7069) => [
+ q(Wailaki),
+ ],
+ q(7070) => [
+ q(Wali (Sudan)),
+ ],
+ q(7071) => [
+ q(Middle Welsh),
+ ],
+ q(7072) => [
+ q(Wolio),
+ ],
+ q(7073) => [
+ q(Wailapa),
+ ],
+ q(7074) => [
+ q(Wallisian),
+ ],
+ q(7075) => [
+ q(Wuliwuli),
+ ],
+ q(7076) => [
+ q(Wichi Lhamtes Vejoz),
+ ],
+ q(7077) => [
+ q(Walak),
+ ],
+ q(7078) => [
+ q(Wali (Ghana)),
+ ],
+ q(7079) => [
+ q(Waling),
+ ],
+ q(7080) => [
+ q(Mawa (Nigeria)),
+ ],
+ q(7081) => [
+ q(Wambaya),
+ ],
+ q(7082) => [
+ q(Wamas),
+ ],
+ q(7083) => [
+ q(Mamainde),
+ ],
+ q(7084) => [
+ q(Wambule),
+ ],
+ q(7085) => [
+ q(Waima'a),
+ ],
+ q(7086) => [
+ q(Wamin),
+ ],
+ q(7087) => [
+ q(Maiwa (Indonesia)),
+ ],
+ q(7088) => [
+ q(Waamwang),
+ ],
+ q(7089) => [
+ q(Wom (Papua New Guinea)),
+ ],
+ q(7090) => [
+ q(Wambon),
+ ],
+ q(7091) => [
+ q(Walmajarri),
+ ],
+ q(7092) => [
+ q(Mwani),
+ ],
+ q(7093) => [
+ q(Womo),
+ ],
+ q(7094) => [
+ q(Wanambre),
+ ],
+ q(7095) => [
+ q(Wantoat),
+ ],
+ q(7096) => [
+ q(Wandarang),
+ ],
+ q(7097) => [
+ q(Waneci),
+ ],
+ q(7098) => [
+ q(Wanggom),
+ ],
+ q(7099) => [
+ q(Ndzwani Comorian),
+ ],
+ q(7100) => [
+ q(Wanukaka),
+ ],
+ q(7101) => [
+ q(Wanggamala),
+ ],
+ q(7102) => [
+ q(Wano),
+ ],
+ q(7103) => [
+ q(Wanap),
+ ],
+ q(7104) => [
+ q(Usan),
+ ],
+ q(7105) => [
+ q(Tyaraity),
+ ],
+ q(7106) => [
+ q(We Northern),
+ ],
+ q(7107) => [
+ q(Wogeo),
+ ],
+ q(7108) => [
+ q(Wolani),
+ ],
+ q(7109) => [
+ q(Woleaian),
+ ],
+ q(7110) => [
+ q(Gambian Wolof),
+ ],
+ q(7111) => [
+ q(Wogamusin),
+ ],
+ q(7112) => [
+ q(Kamang),
+ ],
+ q(7113) => [
+ q(Longto),
+ ],
+ q(7114) => [
+ q(Wom (Nigeria)),
+ ],
+ q(7115) => [
+ q(Wongo),
+ ],
+ q(7116) => [
+ q(Manombai),
+ ],
+ q(7117) => [
+ q(Woria),
+ ],
+ q(7118) => [
+ q(Hanga Hundi),
+ ],
+ q(7119) => [
+ q(Wawonii),
+ ],
+ q(7120) => [
+ q(Weyto),
+ ],
+ q(7121) => [
+ q(Maco),
+ ],
+ q(7122) => [
+ q(Warapu),
+ ],
+ q(7123) => [
+ q(Warluwara),
+ ],
+ q(7124) => [
+ q(Warduji),
+ ],
+ q(7125) => [
+ q(Warungu),
+ ],
+ q(7126) => [
+ q(Wiradhuri),
+ ],
+ q(7127) => [
+ q(Wariyangga),
+ ],
+ q(7128) => [
+ q(Warlmanpa),
+ ],
+ q(7129) => [
+ q(Warumungu),
+ ],
+ q(7130) => [
+ q(Warnang),
+ ],
+ q(7131) => [
+ q(Waropen),
+ ],
+ q(7132) => [
+ q(Wardaman),
+ ],
+ q(7133) => [
+ q(Waris),
+ ],
+ q(7134) => [
+ q(Waru),
+ ],
+ q(7135) => [
+ q(Waruna),
+ ],
+ q(7136) => [
+ q(Gugu Warra),
+ ],
+ q(7137) => [
+ q(Wae Rana),
+ ],
+ q(7138) => [
+ q(Merwari),
+ ],
+ q(7139) => [
+ q(Waray (Australia)),
+ ],
+ q(7140) => [
+ q(Warembori),
+ ],
+ q(7141) => [
+ q(Wusi),
+ ],
+ q(7142) => [
+ q(Waskia),
+ ],
+ q(7143) => [
+ q(Owenia),
+ ],
+ q(7144) => [
+ q(Wasa),
+ ],
+ q(7145) => [
+ q(Wasu),
+ ],
+ q(7146) => [
+ q(Wotapuri-Katarqalai),
+ ],
+ q(7147) => [
+ q(Watiwa),
+ ],
+ q(7148) => [
+ q(Berta),
+ ],
+ q(7149) => [
+ q(Watakataui),
+ ],
+ q(7150) => [
+ q(Mewati),
+ ],
+ q(7151) => [
+ q(Wotu),
+ ],
+ q(7152) => [
+ q(Wikngenchera),
+ ],
+ q(7153) => [
+ q(Wunambal),
+ ],
+ q(7154) => [
+ q(Wudu),
+ ],
+ q(7155) => [
+ q(Wutunhua),
+ ],
+ q(7156) => [
+ q(Silimo),
+ ],
+ q(7157) => [
+ q(Wumbvu),
+ ],
+ q(7158) => [
+ q(Bungu),
+ ],
+ q(7159) => [
+ q(Wurrugu),
+ ],
+ q(7160) => [
+ q(Wutung),
+ ],
+ q(7161) => [
+ q(Wu Chinese),
+ ],
+ q(7162) => [
+ q(Wuvulu-Aua),
+ ],
+ q(7163) => [
+ q(Wulna),
+ ],
+ q(7164) => [
+ q(Wauyai),
+ ],
+ q(7165) => [
+ q(Waama),
+ ],
+ q(7166) => [
+ q(Wetamut),
+ q(Dorig),
+ ],
+ q(7167) => [
+ q(Warrwa),
+ ],
+ q(7168) => [
+ q(Wawa),
+ ],
+ q(7169) => [
+ q(Waxianghua),
+ ],
+ q(7170) => [
+ q(Wyandot),
+ ],
+ q(7171) => [
+ q(Wangaaybuwan-Ngiyambaa),
+ ],
+ q(7172) => [
+ q(Wymysorys),
+ ],
+ q(7173) => [
+ q(Wayoro),
+ ],
+ q(7174) => [
+ q(Western Fijian),
+ ],
+ q(7175) => [
+ q(Andalusian Arabic),
+ ],
+ q(7176) => [
+ q(Sambe),
+ ],
+ q(7177) => [
+ q(Kachari),
+ ],
+ q(7178) => [
+ q(Adai),
+ ],
+ q(7179) => [
+ q(Aequian),
+ ],
+ q(7180) => [
+ q(Aghwan),
+ ],
+ q(7181) => [
+ q(Kaimbe),
+ ],
+ q(7182) => [
+ q(/Xam),
+ ],
+ q(7183) => [
+ q(Xamtanga),
+ ],
+ q(7184) => [
+ q(Khao),
+ ],
+ q(7185) => [
+ q(Apalachee),
+ ],
+ q(7186) => [
+ q(Aquitanian),
+ ],
+ q(7187) => [
+ q(Karami),
+ ],
+ q(7188) => [
+ q(Kamas),
+ ],
+ q(7189) => [
+ q(Katawixi),
+ ],
+ q(7190) => [
+ q(Kauwera),
+ ],
+ q(7191) => [
+ q(Xavante),
+ ],
+ q(7192) => [
+ q(Kawaiisu),
+ ],
+ q(7193) => [
+ q(Kayan Mahakam),
+ ],
+ q(7194) => [
+ q(Kamba (Brazil)),
+ ],
+ q(7195) => [
+ q(Lower Burdekin),
+ ],
+ q(7196) => [
+ q(Bactrian),
+ ],
+ q(7197) => [
+ q(Kombio),
+ ],
+ q(7198) => [
+ q(Middle Breton),
+ ],
+ q(7199) => [
+ q(Kenaboi),
+ ],
+ q(7200) => [
+ q(Bolgarian),
+ ],
+ q(7201) => [
+ q(Kambera),
+ ],
+ q(7202) => [
+ q(Kambiwa),
+ ],
+ q(7203) => [
+ q(Kabixi),
+ ],
+ q(7204) => [
+ q(Cumbric),
+ ],
+ q(7205) => [
+ q(Camunic),
+ ],
+ q(7206) => [
+ q(Celtiberian),
+ ],
+ q(7207) => [
+ q(Cisalpine Gaulish),
+ ],
+ q(7208) => [
+ q(Chemakum),
+ q(Chimakum),
+ ],
+ q(7209) => [
+ q(Classical Armenian),
+ ],
+ q(7210) => [
+ q(Comecrudo),
+ ],
+ q(7211) => [
+ q(Cotoname),
+ ],
+ q(7212) => [
+ q(Chorasmian),
+ ],
+ q(7213) => [
+ q(Carian),
+ ],
+ q(7214) => [
+ q(Classical Tibetan),
+ ],
+ q(7215) => [
+ q(Curonian),
+ ],
+ q(7216) => [
+ q(Chuvantsy),
+ ],
+ q(7217) => [
+ q(Coahuilteco),
+ ],
+ q(7218) => [
+ q(Cayuse),
+ ],
+ q(7219) => [
+ q(Dacian),
+ ],
+ q(7220) => [
+ q(Edomite),
+ ],
+ q(7221) => [
+ q(Malayic Dayak),
+ ],
+ q(7222) => [
+ q(Eblan),
+ ],
+ q(7223) => [
+ q(Hdi),
+ ],
+ q(7224) => [
+ q(//Xegwi),
+ ],
+ q(7225) => [
+ q(Kelo),
+ ],
+ q(7226) => [
+ q(Kembayan),
+ ],
+ q(7227) => [
+ q(Epi-Olmec),
+ ],
+ q(7228) => [
+ q(Xerente),
+ ],
+ q(7229) => [
+ q(Kesawai),
+ ],
+ q(7230) => [
+ q(Xeta),
+ ],
+ q(7231) => [
+ q(Keoru-Ahia),
+ ],
+ q(7232) => [
+ q(Faliscan),
+ ],
+ q(7233) => [
+ q(Galatian),
+ ],
+ q(7234) => [
+ q(Gabrielino-Fernandeno),
+ ],
+ q(7235) => [
+ q(Galindan),
+ ],
+ q(7236) => [
+ q(Garza),
+ ],
+ q(7237) => [
+ q(Harami),
+ ],
+ q(7238) => [
+ q(Hunnic),
+ ],
+ q(7239) => [
+ q(Hadrami),
+ ],
+ q(7240) => [
+ q(Khetrani),
+ ],
+ q(7241) => [
+ q(Hernican),
+ ],
+ q(7242) => [
+ q(Hattic),
+ ],
+ q(7243) => [
+ q(Hurrian),
+ ],
+ q(7244) => [
+ q(Khua),
+ ],
+ q(7245) => [
+ q(Xiandao),
+ ],
+ q(7246) => [
+ q(Iberian),
+ ],
+ q(7247) => [
+ q(Xiri),
+ ],
+ q(7248) => [
+ q(Illyrian),
+ ],
+ q(7249) => [
+ q(Xinca),
+ ],
+ q(7250) => [
+ q(Xipinawa),
+ ],
+ q(7251) => [
+ q(Xiriana),
+ ],
+ q(7252) => [
+ q(Indus Valley Language),
+ ],
+ q(7253) => [
+ q(Xipaya),
+ ],
+ q(7254) => [
+ q(Kalkoti),
+ ],
+ q(7255) => [
+ q(Northern Nago),
+ ],
+ q(7256) => [
+ q(Kho'ini),
+ ],
+ q(7257) => [
+ q(Mendalam Kayan),
+ ],
+ q(7258) => [
+ q(Kereho),
+ ],
+ q(7259) => [
+ q(Khengkha),
+ ],
+ q(7260) => [
+ q(Kagoro),
+ ],
+ q(7261) => [
+ q(Karahawyana),
+ ],
+ q(7262) => [
+ q(Kenyan Sign Language),
+ ],
+ q(7263) => [
+ q(Kajali),
+ ],
+ q(7264) => [
+ q(Kaco'),
+ ],
+ q(7265) => [
+ q(Mainstream Kenyah),
+ ],
+ q(7266) => [
+ q(Kayan River Kayan),
+ ],
+ q(7267) => [
+ q(Kiorr),
+ ],
+ q(7268) => [
+ q(Kabatei),
+ ],
+ q(7269) => [
+ q(Koroni),
+ ],
+ q(7270) => [
+ q(Xakriaba),
+ ],
+ q(7271) => [
+ q(Kumbewaha),
+ ],
+ q(7272) => [
+ q(Kantosi),
+ ],
+ q(7273) => [
+ q(Kaamba),
+ ],
+ q(7274) => [
+ q(Kgalagadi),
+ ],
+ q(7275) => [
+ q(Kembra),
+ ],
+ q(7276) => [
+ q(Karore),
+ ],
+ q(7277) => [
+ q(Uma' Lasan),
+ ],
+ q(7278) => [
+ q(Kurtokha),
+ ],
+ q(7279) => [
+ q(Kamula),
+ ],
+ q(7280) => [
+ q(Loup B),
+ ],
+ q(7281) => [
+ q(Lycian),
+ ],
+ q(7282) => [
+ q(Lydian),
+ ],
+ q(7283) => [
+ q(Lemnian),
+ ],
+ q(7284) => [
+ q(Ligurian (Ancient)),
+ ],
+ q(7285) => [
+ q(Liburnian),
+ ],
+ q(7286) => [
+ q(Alanic),
+ ],
+ q(7287) => [
+ q(Loup A),
+ ],
+ q(7288) => [
+ q(Lepontic),
+ ],
+ q(7289) => [
+ q(Lusitanian),
+ ],
+ q(7290) => [
+ q(Cuneiform Luwian),
+ ],
+ q(7291) => [
+ q(Elymian),
+ ],
+ q(7292) => [
+ q(Mushungulu),
+ ],
+ q(7293) => [
+ q(Mbonga),
+ ],
+ q(7294) => [
+ q(Makhuwa-Marrevone),
+ ],
+ q(7295) => [
+ q(Mbudum),
+ ],
+ q(7296) => [
+ q(Median),
+ ],
+ q(7297) => [
+ q(Mingrelian),
+ ],
+ q(7298) => [
+ q(Mengaka),
+ ],
+ q(7299) => [
+ q(Kuku-Muminh),
+ ],
+ q(7300) => [
+ q(Majera),
+ ],
+ q(7301) => [
+ q(Ancient Macedonian),
+ ],
+ q(7302) => [
+ q(Malaysian Sign Language),
+ ],
+ q(7303) => [
+ q(Manado Malay),
+ ],
+ q(7304) => [
+ q(Manichaean Middle Persian),
+ ],
+ q(7305) => [
+ q(Morerebi),
+ ],
+ q(7306) => [
+ q(Kuku-Mu'inh),
+ ],
+ q(7307) => [
+ q(Kuku-Mangk),
+ ],
+ q(7308) => [
+ q(Meroitic),
+ ],
+ q(7309) => [
+ q(Moroccan Sign Language),
+ ],
+ q(7310) => [
+ q(Matbat),
+ ],
+ q(7311) => [
+ q(Kamu),
+ ],
+ q(7312) => [
+ q(Antankarana Malagasy),
+ q(Tankarana Malagasy),
+ ],
+ q(7313) => [
+ q(Tsimihety Malagasy),
+ ],
+ q(7314) => [
+ q(Maden),
+ ],
+ q(7315) => [
+ q(Mayaguduna),
+ ],
+ q(7316) => [
+ q(Mori Bawah),
+ ],
+ q(7317) => [
+ q(Ancient North Arabian),
+ ],
+ q(7318) => [
+ q(Kanakanabu),
+ ],
+ q(7319) => [
+ q(Middle Mongolian),
+ ],
+ q(7320) => [
+ q(Kuanhua),
+ ],
+ q(7321) => [
+ q(Northern Kankanay),
+ ],
+ q(7322) => [
+ q(Anglo-Norman),
+ ],
+ q(7323) => [
+ q(Kangri),
+ ],
+ q(7324) => [
+ q(Kanashi),
+ ],
+ q(7325) => [
+ q(Narragansett),
+ ],
+ q(7326) => [
+ q(O'chi'chi'),
+ ],
+ q(7327) => [
+ q(Kokoda),
+ ],
+ q(7328) => [
+ q(Soga),
+ ],
+ q(7329) => [
+ q(Kominimung),
+ ],
+ q(7330) => [
+ q(Xokleng),
+ ],
+ q(7331) => [
+ q(Komo (Sudan)),
+ ],
+ q(7332) => [
+ q(Konkomba),
+ ],
+ q(7333) => [
+ q(Xukuru),
+ ],
+ q(7334) => [
+ q(Kopar),
+ ],
+ q(7335) => [
+ q(Korubo),
+ ],
+ q(7336) => [
+ q(Kowaki),
+ ],
+ q(7337) => [
+ q(Pecheneg),
+ ],
+ q(7338) => [
+ q(Liberia Kpelle),
+ ],
+ q(7339) => [
+ q(Phrygian),
+ ],
+ q(7340) => [
+ q(Pictish),
+ ],
+ q(7341) => [
+ q(Kulina Pano),
+ ],
+ q(7342) => [
+ q(Pumpokol),
+ ],
+ q(7343) => [
+ q(Kapinawa),
+ ],
+ q(7344) => [
+ q(Pochutec),
+ ],
+ q(7345) => [
+ q(Puyo-Paekche),
+ ],
+ q(7346) => [
+ q(Mohegan-Pequot),
+ ],
+ q(7347) => [
+ q(Parthian),
+ ],
+ q(7348) => [
+ q(Pisidian),
+ ],
+ q(7349) => [
+ q(Punic),
+ ],
+ q(7350) => [
+ q(Puyo),
+ ],
+ q(7351) => [
+ q(Karakhanid),
+ ],
+ q(7352) => [
+ q(Qatabanian),
+ ],
+ q(7353) => [
+ q(Kraho),
+ ],
+ q(7354) => [
+ q(Eastern Karaboro),
+ ],
+ q(7355) => [
+ q(Kreye),
+ ],
+ q(7356) => [
+ q(Krikati-Timbira),
+ ],
+ q(7357) => [
+ q(Armazic),
+ ],
+ q(7358) => [
+ q(Arin),
+ ],
+ q(7359) => [
+ q(Raetic),
+ ],
+ q(7360) => [
+ q(Aranama-Tamique),
+ ],
+ q(7361) => [
+ q(Marriammu),
+ ],
+ q(7362) => [
+ q(Karawa),
+ ],
+ q(7363) => [
+ q(Sabaean),
+ ],
+ q(7364) => [
+ q(Tina Sambal),
+ ],
+ q(7365) => [
+ q(Scythian),
+ ],
+ q(7366) => [
+ q(Sidetic),
+ ],
+ q(7367) => [
+ q(Sempan),
+ ],
+ q(7368) => [
+ q(Shamang),
+ ],
+ q(7369) => [
+ q(Sio),
+ ],
+ q(7370) => [
+ q(Subi),
+ ],
+ q(7371) => [
+ q(South Slavey),
+ ],
+ q(7372) => [
+ q(Kasem),
+ ],
+ q(7373) => [
+ q(Sanga (Nigeria)),
+ ],
+ q(7374) => [
+ q(Solano),
+ ],
+ q(7375) => [
+ q(Silopi),
+ ],
+ q(7376) => [
+ q(Makhuwa-Saka),
+ ],
+ q(7377) => [
+ q(Sherpa),
+ ],
+ q(7378) => [
+ q(Assan),
+ ],
+ q(7379) => [
+ q(Sanuma),
+ ],
+ q(7380) => [
+ q(Sudovian),
+ ],
+ q(7381) => [
+ q(Saisiyat),
+ ],
+ q(7382) => [
+ q(Alcozauca Mixtec),
+ ],
+ q(7383) => [
+ q(Chazumba Mixtec),
+ ],
+ q(7384) => [
+ q(Katcha-Kadugli-Miri),
+ ],
+ q(7385) => [
+ q(Diuxi-Tilantongo Mixtec),
+ ],
+ q(7386) => [
+ q(Ketengban),
+ ],
+ q(7387) => [
+ q(Transalpine Gaulish),
+ ],
+ q(7388) => [
+ q(Sinicahua Mixtec),
+ ],
+ q(7389) => [
+ q(San Juan Teita Mixtec),
+ ],
+ q(7390) => [
+ q(Tijaltepec Mixtec),
+ ],
+ q(7391) => [
+ q(Magdalena Penasco Mixtec),
+ ],
+ q(7392) => [
+ q(Northern Tlaxiaco Mixtec),
+ ],
+ q(7393) => [
+ q(Tokharian A),
+ ],
+ q(7394) => [
+ q(San Miguel Piedras Mixtec),
+ ],
+ q(7395) => [
+ q(Tumshuqese),
+ ],
+ q(7396) => [
+ q(Early Tripuri),
+ ],
+ q(7397) => [
+ q(Sindihui Mixtec),
+ ],
+ q(7398) => [
+ q(Tacahua Mixtec),
+ ],
+ q(7399) => [
+ q(Cuyamecalco Mixtec),
+ ],
+ q(7400) => [
+ q(Tawande),
+ ],
+ q(7401) => [
+ q(Yoloxochitl Mixtec),
+ ],
+ q(7402) => [
+ q(Tasmanian),
+ ],
+ q(7403) => [
+ q(Alu Kurumba),
+ ],
+ q(7404) => [
+ q(Betta Kurumba),
+ ],
+ q(7405) => [
+ q(Kunigami),
+ ],
+ q(7406) => [
+ q(Jennu Kurumba),
+ ],
+ q(7407) => [
+ q(Umbrian),
+ ],
+ q(7408) => [
+ q(Kuo),
+ ],
+ q(7409) => [
+ q(Upper Umpqua),
+ ],
+ q(7410) => [
+ q(Urartian),
+ ],
+ q(7411) => [
+ q(Kuthant),
+ ],
+ q(7412) => [
+ q(Kxoe),
+ ],
+ q(7413) => [
+ q(Venetic),
+ ],
+ q(7414) => [
+ q(Kamviri),
+ ],
+ q(7415) => [
+ q(Vandalic),
+ ],
+ q(7416) => [
+ q(Volscian),
+ ],
+ q(7417) => [
+ q(Vestinian),
+ ],
+ q(7418) => [
+ q(Kwaza),
+ ],
+ q(7419) => [
+ q(Woccon),
+ ],
+ q(7420) => [
+ q(Xwela Gbe),
+ ],
+ q(7421) => [
+ q(Kwegu),
+ ],
+ q(7422) => [
+ q(Western Xwla Gbe),
+ ],
+ q(7423) => [
+ q(Written Oirat),
+ ],
+ q(7424) => [
+ q(Kwerba Mamberamo),
+ ],
+ q(7425) => [
+ q(Boro (Ghana)),
+ ],
+ q(7426) => [
+ q(Ke'o),
+ ],
+ q(7427) => [
+ q(Koropo),
+ ],
+ q(7428) => [
+ q(Tambora),
+ ],
+ q(7429) => [
+ q(Yalakalore),
+ ],
+ q(7430) => [
+ q(Zhang-Zhung),
+ ],
+ q(7431) => [
+ q(Zemgalian),
+ ],
+ q(7432) => [
+ q(Ancient Zapotec),
+ ],
+ q(7433) => [
+ q(Yaminahua),
+ ],
+ q(7434) => [
+ q(Yuhup),
+ ],
+ q(7435) => [
+ q(Pass Valley Yali),
+ ],
+ q(7436) => [
+ q(Yagua),
+ ],
+ q(7437) => [
+ q(Pume),
+ ],
+ q(7438) => [
+ q(Yaka (Democratic Republic of Congo)),
+ ],
+ q(7439) => [
+ q(Yamana),
+ ],
+ q(7440) => [
+ q(Yazgulyam),
+ ],
+ q(7441) => [
+ q(Yagnobi),
+ ],
+ q(7442) => [
+ q(Banda-Yangere),
+ ],
+ q(7443) => [
+ q(Yakama),
+ ],
+ q(7444) => [
+ q(Yalunka),
+ ],
+ q(7445) => [
+ q(Yamba),
+ ],
+ q(7446) => [
+ q(Mayangna),
+ ],
+ q(7447) => [
+ q(Yaqui),
+ ],
+ q(7448) => [
+ q(Yabarana),
+ ],
+ q(7449) => [
+ q(Nugunu (Cameroon)),
+ ],
+ q(7450) => [
+ q(Yambeta),
+ ],
+ q(7451) => [
+ q(Yuwana),
+ ],
+ q(7452) => [
+ q(Yangben),
+ ],
+ q(7453) => [
+ q(Yawalapiti),
+ ],
+ q(7454) => [
+ q(Yauma),
+ ],
+ q(7455) => [
+ q(Agwagwune),
+ ],
+ q(7456) => [
+ q(Lokaa),
+ ],
+ q(7457) => [
+ q(Yala),
+ ],
+ q(7458) => [
+ q(Yemba),
+ ],
+ q(7459) => [
+ q(Yangbye),
+ ],
+ q(7460) => [
+ q(West Yugur),
+ ],
+ q(7461) => [
+ q(Yakha),
+ ],
+ q(7462) => [
+ q(Yamphu),
+ ],
+ q(7463) => [
+ q(Hasha),
+ ],
+ q(7464) => [
+ q(Bokha),
+ ],
+ q(7465) => [
+ q(Yukuben),
+ ],
+ q(7466) => [
+ q(Yaben),
+ ],
+ q(7467) => [
+ q(Yabaana),
+ ],
+ q(7468) => [
+ q(Yabong),
+ ],
+ q(7469) => [
+ q(Yawiyo),
+ ],
+ q(7470) => [
+ q(Yaweyuha),
+ ],
+ q(7471) => [
+ q(Chesu),
+ ],
+ q(7472) => [
+ q(Lolopo),
+ ],
+ q(7473) => [
+ q(Yucuna),
+ ],
+ q(7474) => [
+ q(Chepya),
+ ],
+ q(7475) => [
+ q(Eastern Yiddish),
+ ],
+ q(7476) => [
+ q(Yangum Dey),
+ ],
+ q(7477) => [
+ q(Yidgha),
+ ],
+ q(7478) => [
+ q(Yoidik),
+ ],
+ q(7479) => [
+ q(Yiddish Sign Language),
+ ],
+ q(7480) => [
+ q(Ravula),
+ ],
+ q(7481) => [
+ q(Yeniche),
+ ],
+ q(7482) => [
+ q(Yimas),
+ ],
+ q(7483) => [
+ q(Yeni),
+ ],
+ q(7484) => [
+ q(Yevanic),
+ ],
+ q(7485) => [
+ q(Yela),
+ ],
+ q(7486) => [
+ q(Yendang),
+ ],
+ q(7487) => [
+ q(Tarok),
+ ],
+ q(7488) => [
+ q(Yeskwa),
+ ],
+ q(7489) => [
+ q(Yetfa),
+ ],
+ q(7490) => [
+ q(Yerukula),
+ ],
+ q(7491) => [
+ q(Yapunda),
+ ],
+ q(7492) => [
+ q(Yeyi),
+ ],
+ q(7493) => [
+ q(Yangum Gel),
+ ],
+ q(7494) => [
+ q(Yagomi),
+ ],
+ q(7495) => [
+ q(Gepo),
+ ],
+ q(7496) => [
+ q(Yagaria),
+ ],
+ q(7497) => [
+ q(Yagwoia),
+ ],
+ q(7498) => [
+ q(Baha Buyang),
+ ],
+ q(7499) => [
+ q(Judeo-Iraqi Arabic),
+ ],
+ q(7500) => [
+ q(Hlepho Phowa),
+ ],
+ q(7501) => [
+ q(Yinggarda),
+ ],
+ q(7502) => [
+ q(Wusa Nasu),
+ ],
+ q(7503) => [
+ q(Western Yiddish),
+ ],
+ q(7504) => [
+ q(Yidiny),
+ ],
+ q(7505) => [
+ q(Yindjibarndi),
+ ],
+ q(7506) => [
+ q(Dongshanba Lalo),
+ ],
+ q(7507) => [
+ q(Yindjilandji),
+ ],
+ q(7508) => [
+ q(Yimchungru Naga),
+ ],
+ q(7509) => [
+ q(Yinchia),
+ ],
+ q(7510) => [
+ q(Pholo),
+ ],
+ q(7511) => [
+ q(Miqie),
+ ],
+ q(7512) => [
+ q(North Awyu),
+ ],
+ q(7513) => [
+ q(Yis),
+ ],
+ q(7514) => [
+ q(Eastern Lalu),
+ ],
+ q(7515) => [
+ q(Awu),
+ ],
+ q(7516) => [
+ q(Northern Nisu),
+ ],
+ q(7517) => [
+ q(Axi Yi),
+ ],
+ q(7518) => [
+ q(Yir Yoront),
+ ],
+ q(7519) => [
+ q(Azhe),
+ ],
+ q(7520) => [
+ q(Yakan),
+ ],
+ q(7521) => [
+ q(Northern Yukaghir),
+ ],
+ q(7522) => [
+ q(Yoke),
+ ],
+ q(7523) => [
+ q(Yakaikeke),
+ ],
+ q(7524) => [
+ q(Khlula),
+ ],
+ q(7525) => [
+ q(Kap),
+ ],
+ q(7526) => [
+ q(Yasa),
+ ],
+ q(7527) => [
+ q(Yekora),
+ ],
+ q(7528) => [
+ q(Kathu),
+ ],
+ q(7529) => [
+ q(Yakoma),
+ ],
+ q(7530) => [
+ q(Yaul),
+ ],
+ q(7531) => [
+ q(Yaleba),
+ ],
+ q(7532) => [
+ q(Yele),
+ ],
+ q(7533) => [
+ q(Yelogu),
+ ],
+ q(7534) => [
+ q(Angguruk Yali),
+ ],
+ q(7535) => [
+ q(Yil),
+ ],
+ q(7536) => [
+ q(Limi),
+ ],
+ q(7537) => [
+ q(Langnian Buyang),
+ ],
+ q(7538) => [
+ q(Naluo Yi),
+ ],
+ q(7539) => [
+ q(Yalarnnga),
+ ],
+ q(7540) => [
+ q(Aribwaung),
+ ],
+ q(7541) => [
+ q(Nyalayu),
+ ],
+ q(7542) => [
+ q(Yamphe),
+ ],
+ q(7543) => [
+ q(Yambes),
+ ],
+ q(7544) => [
+ q(Southern Muji),
+ ],
+ q(7545) => [
+ q(Muda),
+ ],
+ q(7546) => [
+ q(Yameo),
+ ],
+ q(7547) => [
+ q(Yamongeri),
+ ],
+ q(7548) => [
+ q(Mili),
+ ],
+ q(7549) => [
+ q(Moji),
+ ],
+ q(7550) => [
+ q(Makwe),
+ ],
+ q(7551) => [
+ q(Iamalele),
+ ],
+ q(7552) => [
+ q(Maay),
+ ],
+ q(7553) => [
+ q(Yamna),
+ q(Sunum),
+ ],
+ q(7554) => [
+ q(Yangum Mon),
+ ],
+ q(7555) => [
+ q(Yamap),
+ ],
+ q(7556) => [
+ q(Qila Muji),
+ ],
+ q(7557) => [
+ q(Malasar),
+ ],
+ q(7558) => [
+ q(Mysian),
+ ],
+ q(7559) => [
+ q(Mator-Taygi-Karagas),
+ ],
+ q(7560) => [
+ q(Northern Muji),
+ ],
+ q(7561) => [
+ q(Muzi),
+ ],
+ q(7562) => [
+ q(Aluo),
+ ],
+ q(7563) => [
+ q(Yandruwandha),
+ ],
+ q(7564) => [
+ q(Lang'e),
+ ],
+ q(7565) => [
+ q(Yango),
+ ],
+ q(7566) => [
+ q(Yangho),
+ ],
+ q(7567) => [
+ q(Naukan Yupik),
+ ],
+ q(7568) => [
+ q(Yangulam),
+ ],
+ q(7569) => [
+ q(Yana),
+ ],
+ q(7570) => [
+ q(Yong),
+ ],
+ q(7571) => [
+ q(Yansi),
+ ],
+ q(7572) => [
+ q(Yahuna),
+ ],
+ q(7573) => [
+ q(Yoba),
+ ],
+ q(7574) => [
+ q(Yogad),
+ ],
+ q(7575) => [
+ q(Yonaguni),
+ ],
+ q(7576) => [
+ q(Yokuts),
+ ],
+ q(7577) => [
+ q(Yola),
+ ],
+ q(7578) => [
+ q(Yombe),
+ ],
+ q(7579) => [
+ q(Yongkom),
+ ],
+ q(7580) => [
+ q(Yos),
+ ],
+ q(7581) => [
+ q(Yoron),
+ ],
+ q(7582) => [
+ q(Yoy),
+ ],
+ q(7583) => [
+ q(Phala),
+ ],
+ q(7584) => [
+ q(Labo Phowa),
+ ],
+ q(7585) => [
+ q(Phola),
+ ],
+ q(7586) => [
+ q(Phupha),
+ ],
+ q(7587) => [
+ q(Phuma),
+ ],
+ q(7588) => [
+ q(Ani Phowa),
+ ],
+ q(7589) => [
+ q(Alo Phola),
+ ],
+ q(7590) => [
+ q(Phupa),
+ ],
+ q(7591) => [
+ q(Phuza),
+ ],
+ q(7592) => [
+ q(Yerakai),
+ ],
+ q(7593) => [
+ q(Yareba),
+ ],
+ q(7594) => [
+ q(Yaoure),
+ ],
+ q(7595) => [
+ q(Yari),
+ ],
+ q(7596) => [
+ q(Nenets),
+ ],
+ q(7597) => [
+ q(Nhengatu),
+ ],
+ q(7598) => [
+ q(Yerong),
+ ],
+ q(7599) => [
+ q(Yarsun),
+ ],
+ q(7600) => [
+ q(Yarawata),
+ ],
+ q(7601) => [
+ q(Yassic),
+ ],
+ q(7602) => [
+ q(Samatao),
+ ],
+ q(7603) => [
+ q(Yugoslavian Sign Language),
+ ],
+ q(7604) => [
+ q(Sani),
+ ],
+ q(7605) => [
+ q(Nisi (China)),
+ ],
+ q(7606) => [
+ q(Southern Lolopo),
+ ],
+ q(7607) => [
+ q(Sirenik Yupik),
+ ],
+ q(7608) => [
+ q(Yessan-Mayo),
+ ],
+ q(7609) => [
+ q(Sanie),
+ ],
+ q(7610) => [
+ q(Talu),
+ ],
+ q(7611) => [
+ q(Tanglang),
+ ],
+ q(7612) => [
+ q(Thopho),
+ ],
+ q(7613) => [
+ q(Yout Wam),
+ ],
+ q(7614) => [
+ q(Yucateco),
+ q(Yucatec Maya),
+ ],
+ q(7615) => [
+ q(Yugambal),
+ ],
+ q(7616) => [
+ q(Yuchi),
+ ],
+ q(7617) => [
+ q(Judeo-Tripolitanian Arabic),
+ ],
+ q(7618) => [
+ q(Yue Chinese),
+ ],
+ q(7619) => [
+ q(Havasupai-Walapai-Yavapai),
+ ],
+ q(7620) => [
+ q(Yug),
+ ],
+ q(7621) => [
+ q(Yuruti),
+ ],
+ q(7622) => [
+ q(Karkar-Yuri),
+ ],
+ q(7623) => [
+ q(Yuki),
+ ],
+ q(7624) => [
+ q(Yulu),
+ ],
+ q(7625) => [
+ q(Quechan),
+ ],
+ q(7626) => [
+ q(Bena (Nigeria)),
+ ],
+ q(7627) => [
+ q(Yukpa),
+ ],
+ q(7628) => [
+ q(Yuqui),
+ ],
+ q(7629) => [
+ q(Yurok),
+ ],
+ q(7630) => [
+ q(Yopno),
+ ],
+ q(7631) => [
+ q(Yugh),
+ ],
+ q(7632) => [
+ q(Yau (Morobe Province)),
+ ],
+ q(7633) => [
+ q(Southern Yukaghir),
+ ],
+ q(7634) => [
+ q(East Yugur),
+ ],
+ q(7635) => [
+ q(Yuracare),
+ ],
+ q(7636) => [
+ q(Yawa),
+ ],
+ q(7637) => [
+ q(Yavitero),
+ ],
+ q(7638) => [
+ q(Kalou),
+ ],
+ q(7639) => [
+ q(Western Lalu),
+ ],
+ q(7640) => [
+ q(Yawanawa),
+ ],
+ q(7641) => [
+ q(Wuding-Luquan Yi),
+ ],
+ q(7642) => [
+ q(Yawuru),
+ ],
+ q(7643) => [
+ q(Xishanba Lalo),
+ ],
+ q(7644) => [
+ q(Wumeng Nasu),
+ ],
+ q(7645) => [
+ q(Yawarawarga),
+ ],
+ q(7646) => [
+ q(Yau (Sandaun Province)),
+ ],
+ q(7647) => [
+ q(Ayizi),
+ ],
+ q(7648) => [
+ q(E'ma Buyang),
+ ],
+ q(7649) => [
+ q(Zokhuo),
+ ],
+ q(7650) => [
+ q(Sierra de Juarez Zapotec),
+ ],
+ q(7651) => [
+ q(San Juan Guelavia Zapotec),
+ ],
+ q(7652) => [
+ q(Ocotlan Zapotec),
+ ],
+ q(7653) => [
+ q(Cajonos Zapotec),
+ ],
+ q(7654) => [
+ q(Yareni Zapotec),
+ ],
+ q(7655) => [
+ q(Ayoquesco Zapotec),
+ ],
+ q(7656) => [
+ q(Zaghawa),
+ ],
+ q(7657) => [
+ q(Zangwal),
+ ],
+ q(7658) => [
+ q(Isthmus Zapotec),
+ ],
+ q(7659) => [
+ q(Zaramo),
+ ],
+ q(7660) => [
+ q(Zanaki),
+ ],
+ q(7661) => [
+ q(Zauzou),
+ ],
+ q(7662) => [
+ q(Miahuatlan Zapotec),
+ ],
+ q(7663) => [
+ q(Ozolotepec Zapotec),
+ ],
+ q(7664) => [
+ q(Aloapam Zapotec),
+ ],
+ q(7665) => [
+ q(Rincon Zapotec),
+ ],
+ q(7666) => [
+ q(Santo Domingo Albarradas Zapotec),
+ ],
+ q(7667) => [
+ q(Tabaa Zapotec),
+ ],
+ q(7668) => [
+ q(Zangskari),
+ ],
+ q(7669) => [
+ q(Yatzachi Zapotec),
+ ],
+ q(7670) => [
+ q(Mitla Zapotec),
+ ],
+ q(7671) => [
+ q(Xadani Zapotec),
+ ],
+ q(7672) => [
+ q(Zayse-Zergulla),
+ q(Zaysete),
+ ],
+ q(7673) => [
+ q(Zari),
+ ],
+ q(7674) => [
+ q(Central Berawan),
+ ],
+ q(7675) => [
+ q(East Berawan),
+ ],
+ q(7676) => [
+ q(Batui),
+ ],
+ q(7677) => [
+ q(West Berawan),
+ ],
+ q(7678) => [
+ q(Coatecas Altas Zapotec),
+ ],
+ q(7679) => [
+ q(Central Hongshuihe Zhuang),
+ ],
+ q(7680) => [
+ q(Ngazidja Comorian),
+ ],
+ q(7681) => [
+ q(Zeeuws),
+ ],
+ q(7682) => [
+ q(Zenag),
+ ],
+ q(7683) => [
+ q(Eastern Hongshuihe Zhuang),
+ ],
+ q(7684) => [
+ q(Kinga),
+ ],
+ q(7685) => [
+ q(Guibei Zhuang),
+ ],
+ q(7686) => [
+ q(Minz Zhuang),
+ ],
+ q(7687) => [
+ q(Guibian Zhuang),
+ ],
+ q(7688) => [
+ q(Magori),
+ ],
+ q(7689) => [
+ q(Zhaba),
+ ],
+ q(7690) => [
+ q(Dai Zhuang),
+ ],
+ q(7691) => [
+ q(Zhire),
+ ],
+ q(7692) => [
+ q(Nong Zhuang),
+ ],
+ q(7693) => [
+ q(Zhoa),
+ ],
+ q(7694) => [
+ q(Zia),
+ ],
+ q(7695) => [
+ q(Zimbabwe Sign Language),
+ ],
+ q(7696) => [
+ q(Zimakani),
+ ],
+ q(7697) => [
+ q(Zialo),
+ ],
+ q(7698) => [
+ q(Mesme),
+ ],
+ q(7699) => [
+ q(Zinza),
+ ],
+ q(7700) => [
+ q(Ziriya),
+ ],
+ q(7701) => [
+ q(Zigula),
+ ],
+ q(7702) => [
+ q(Zizilivakan),
+ ],
+ q(7703) => [
+ q(Kaimbulawa),
+ ],
+ q(7704) => [
+ q(Koibal),
+ ],
+ q(7705) => [
+ q(Koguryo),
+ ],
+ q(7706) => [
+ q(Khorezmian),
+ ],
+ q(7707) => [
+ q(Karankawa),
+ ],
+ q(7708) => [
+ q(Kott),
+ ],
+ q(7709) => [
+ q(Sao Paulo Kaingang),
+ ],
+ q(7710) => [
+ q(Zakhring),
+ ],
+ q(7711) => [
+ q(Kitan),
+ ],
+ q(7712) => [
+ q(Kaurna),
+ ],
+ q(7713) => [
+ q(Krevinian),
+ ],
+ q(7714) => [
+ q(Khazar),
+ ],
+ q(7715) => [
+ q(Liujiang Zhuang),
+ ],
+ q(7716) => [
+ q(Malay (individual language)),
+ ],
+ q(7717) => [
+ q(Lianshan Zhuang),
+ ],
+ q(7718) => [
+ q(Liuqian Zhuang),
+ ],
+ q(7719) => [
+ q(Manda (Australia)),
+ ],
+ q(7720) => [
+ q(Zimba),
+ ],
+ q(7721) => [
+ q(Margany),
+ ],
+ q(7722) => [
+ q(Maridan),
+ ],
+ q(7723) => [
+ q(Mangerr),
+ ],
+ q(7724) => [
+ q(Mfinu),
+ ],
+ q(7725) => [
+ q(Marti Ke),
+ ],
+ q(7726) => [
+ q(Makolkol),
+ ],
+ q(7727) => [
+ q(Negeri Sembilan Malay),
+ ],
+ q(7728) => [
+ q(Maridjabin),
+ ],
+ q(7729) => [
+ q(Mandandanyi),
+ ],
+ q(7730) => [
+ q(Madngele),
+ ],
+ q(7731) => [
+ q(Marimanindji),
+ ],
+ q(7732) => [
+ q(Mbangwe),
+ ],
+ q(7733) => [
+ q(Molo),
+ ],
+ q(7734) => [
+ q(Mpuono),
+ ],
+ q(7735) => [
+ q(Mituku),
+ ],
+ q(7736) => [
+ q(Maranunggu),
+ ],
+ q(7737) => [
+ q(Mbesa),
+ ],
+ q(7738) => [
+ q(Maringarr),
+ ],
+ q(7739) => [
+ q(Muruwari),
+ ],
+ q(7740) => [
+ q(Mbariman-Gudhinma),
+ ],
+ q(7741) => [
+ q(Mbo (Democratic Republic of Congo)),
+ ],
+ q(7742) => [
+ q(Bomitaba),
+ ],
+ q(7743) => [
+ q(Mariyedi),
+ ],
+ q(7744) => [
+ q(Mbandja),
+ ],
+ q(7745) => [
+ q(Zan Gula),
+ ],
+ q(7746) => [
+ q(Zande (individual language)),
+ ],
+ q(7747) => [
+ q(Mang),
+ ],
+ q(7748) => [
+ q(Manangkari),
+ ],
+ q(7749) => [
+ q(Mangas),
+ ],
+ q(7750) => [
+ q(Copainala Zoque),
+ ],
+ q(7751) => [
+ q(Chimalapa Zoque),
+ ],
+ q(7752) => [
+ q(Zou),
+ ],
+ q(7753) => [
+ q(Asuncion Mixtepec Zapotec),
+ ],
+ q(7754) => [
+ q(Tabasco Zoque),
+ ],
+ q(7755) => [
+ q(Rayon Zoque),
+ ],
+ q(7756) => [
+ q(Francisco Leon Zoque),
+ ],
+ q(7757) => [
+ q(Lachiguiri Zapotec),
+ ],
+ q(7758) => [
+ q(Yautepec Zapotec),
+ ],
+ q(7759) => [
+ q(Choapan Zapotec),
+ ],
+ q(7760) => [
+ q(Southeastern Ixtlan Zapotec),
+ ],
+ q(7761) => [
+ q(Petapa Zapotec),
+ ],
+ q(7762) => [
+ q(San Pedro Quiatoni Zapotec),
+ ],
+ q(7763) => [
+ q(Guevea De Humboldt Zapotec),
+ ],
+ q(7764) => [
+ q(Totomachapan Zapotec),
+ ],
+ q(7765) => [
+ q(Santa Maria Quiegolani Zapotec),
+ ],
+ q(7766) => [
+ q(Quiavicuzas Zapotec),
+ ],
+ q(7767) => [
+ q(Tlacolulita Zapotec),
+ ],
+ q(7768) => [
+ q(Lachixio Zapotec),
+ ],
+ q(7769) => [
+ q(Mixtepec Zapotec),
+ ],
+ q(7770) => [
+ q(Santa Ines Yatzechi Zapotec),
+ ],
+ q(7771) => [
+ q(Amatlan Zapotec),
+ ],
+ q(7772) => [
+ q(El Alto Zapotec),
+ ],
+ q(7773) => [
+ q(Zoogocho Zapotec),
+ ],
+ q(7774) => [
+ q(Santiago Xanica Zapotec),
+ ],
+ q(7775) => [
+ q(Coatlan Zapotec),
+ ],
+ q(7776) => [
+ q(San Vicente Coatlan Zapotec),
+ ],
+ q(7777) => [
+ q(Yalalag Zapotec),
+ ],
+ q(7778) => [
+ q(Chichicapan Zapotec),
+ ],
+ q(7779) => [
+ q(Zaniza Zapotec),
+ ],
+ q(7780) => [
+ q(San Baltazar Loxicha Zapotec),
+ ],
+ q(7781) => [
+ q(Mazaltepec Zapotec),
+ ],
+ q(7782) => [
+ q(Texmelucan Zapotec),
+ ],
+ q(7783) => [
+ q(Qiubei Zhuang),
+ ],
+ q(7784) => [
+ q(Kara (Korea)),
+ ],
+ q(7785) => [
+ q(Mirgan),
+ ],
+ q(7786) => [
+ q(Zerenkel),
+ ],
+ q(7787) => [
+ q(Zaparo),
+ ],
+ q(7788) => [
+ q(Zarphatic),
+ ],
+ q(7789) => [
+ q(Mairasi),
+ ],
+ q(7790) => [
+ q(Sarasira),
+ ],
+ q(7791) => [
+ q(Kaskean),
+ ],
+ q(7792) => [
+ q(Zambian Sign Language),
+ ],
+ q(7793) => [
+ q(Standard Malay),
+ ],
+ q(7794) => [
+ q(Southern Rincon Zapotec),
+ ],
+ q(7795) => [
+ q(Sukurum),
+ ],
+ q(7796) => [
+ q(Elotepec Zapotec),
+ ],
+ q(7797) => [
+ q(Xanaguia Zapotec),
+ ],
+ q(7798) => [
+ q(Lapaguia-Guivini Zapotec),
+ ],
+ q(7799) => [
+ q(San Agustin Mixtepec Zapotec),
+ ],
+ q(7800) => [
+ q(Santa Catarina Albarradas Zapotec),
+ ],
+ q(7801) => [
+ q(Loxicha Zapotec),
+ ],
+ q(7802) => [
+ q(Quioquitani-Quieri Zapotec),
+ ],
+ q(7803) => [
+ q(Tilquiapan Zapotec),
+ ],
+ q(7804) => [
+ q(Tejalapan Zapotec),
+ ],
+ q(7805) => [
+ q(Guila Zapotec),
+ ],
+ q(7806) => [
+ q(Zaachila Zapotec),
+ ],
+ q(7807) => [
+ q(Yatee Zapotec),
+ ],
+ q(7808) => [
+ q(Zeem),
+ ],
+ q(7809) => [
+ q(Tokano),
+ ],
+ q(7810) => [
+ q(Kumzari),
+ ],
+ q(7811) => [
+ q(Zumaya),
+ ],
+ q(7812) => [
+ q(Zay),
+ ],
+ q(7813) => [
+ q(Yongbei Zhuang),
+ ],
+ q(7814) => [
+ q(Yang Zhuang),
+ ],
+ q(7815) => [
+ q(Youjiang Zhuang),
+ ],
+ q(7816) => [
+ q(Yongnan Zhuang),
+ ],
+ q(7817) => [
+ q(Zyphe),
+ ],
+ q(7818) => [
+ q(Zuojiang Zhuang),
+ ],
+};
+
+$Locale::Codes::Data{'language'}{'alias2id'} = {
+ q(!o!ung) => [
+ q(5273),
+ q(0),
+ ],
+ q(!xoo) => [
+ q(4927),
+ q(0),
+ ],
+ q('are'are) => [
+ q(0761),
+ q(0),
+ ],
+ q('auhelawa) => [
+ q(3596),
+ q(0),
+ ],
+ q(//ani) => [
+ q(2763),
+ q(0),
+ ],
+ q(//gana) => [
+ q(2537),
+ q(0),
+ ],
+ q(//xegwi) => [
+ q(7224),
+ q(0),
+ ],
+ q(/gwi) => [
+ q(2647),
+ q(0),
+ ],
+ q(/xam) => [
+ q(7182),
+ q(0),
+ ],
+ q(=/hua) => [
+ q(2811),
+ q(0),
+ ],
+ q(=/kx'au//'ein) => [
+ q(0935),
+ q(0),
+ ],
+ q(a'tong) => [
+ q(0830),
+ q(0),
+ ],
+ q(a-hmaos) => [
+ q(2740),
+ q(0),
+ ],
+ q(a-pucikwar) => [
+ q(0848),
+ q(0),
+ ],
+ q(aari) => [
+ q(0711),
+ q(0),
+ ],
+ q(aasax) => [
+ q(0553),
+ q(0),
+ ],
+ q(abadi) => [
+ q(3147),
+ q(0),
+ ],
+ q(abaga) => [
+ q(0565),
+ q(0),
+ ],
+ q(abai sungai) => [
+ q(0564),
+ q(0),
+ ],
+ q(abanyom) => [
+ q(0570),
+ q(0),
+ ],
+ q(abar) => [
+ q(4255),
+ q(0),
+ ],
+ q(abau) => [
+ q(0555),
+ q(0),
+ ],
+ q(abaza) => [
+ q(0574),
+ q(0),
+ ],
+ q(abe) => [
+ q(0559),
+ q(0),
+ ],
+ q(abellen ayta) => [
+ q(0573),
+ q(0),
+ ],
+ q(abidji) => [
+ q(0567),
+ q(0),
+ ],
+ q(abinomn) => [
+ q(1442),
+ q(0),
+ ],
+ q(abipon) => [
+ q(0982),
+ q(0),
+ ],
+ q(abishira) => [
+ q(0890),
+ q(0),
+ ],
+ q(abkhazian) => [
+ q(0002),
+ q(0),
+ ],
+ q(abom) => [
+ q(0815),
+ q(0),
+ ],
+ q(abon) => [
+ q(0572),
+ q(0),
+ ],
+ q(abron) => [
+ q(0575),
+ q(0),
+ ],
+ q(abu) => [
+ q(0614),
+ q(0),
+ ],
+ q(abu' arapesh) => [
+ q(0544),
+ q(0),
+ ],
+ q(abua) => [
+ q(0571),
+ q(0),
+ ],
+ q(abui) => [
+ q(0583),
+ q(0),
+ ],
+ q(abun) => [
+ q(3272),
+ q(0),
+ ],
+ q(abure) => [
+ q(0578),
+ q(0),
+ ],
+ q(abureni) => [
+ q(4205),
+ q(0),
+ ],
+ q(acatepec me'phaa) => [
+ q(6593),
+ q(0),
+ ],
+ q(acatepec tlapanec) => [
+ q(6593),
+ q(0),
+ ],
+ q(achagua) => [
+ q(0584),
+ q(0),
+ ],
+ q(achang) => [
+ q(0592),
+ q(0),
+ ],
+ q(ache) => [
+ q(2618),
+ q(0),
+ ],
+ q(acheron) => [
+ q(0603),
+ q(0),
+ ],
+ q(achi) => [
+ q(0595),
+ q(0),
+ ],
+ q(achinese) => [
+ q(0003),
+ q(0),
+ ],
+ q(achterhoeks) => [
+ q(0597),
+ q(0),
+ ],
+ q(achuar-shiwiar) => [
+ q(0598),
+ q(0),
+ ],
+ q(achumawi) => [
+ q(0599),
+ q(0),
+ ],
+ q(acoli) => [
+ q(0004),
+ q(0),
+ ],
+ q(acroa) => [
+ q(0596),
+ q(0),
+ ],
+ q(adabe) => [
+ q(0604),
+ q(0),
+ ],
+ q(adai) => [
+ q(7178),
+ q(0),
+ ],
+ q(adamawa fulfulde) => [
+ q(2351),
+ q(0),
+ ],
+ q(adamorobe sign language) => [
+ q(0618),
+ q(0),
+ ],
+ q(adang) => [
+ q(0613),
+ q(0),
+ ],
+ q(adangbe) => [
+ q(0616),
+ q(0),
+ ],
+ q(adangme) => [
+ q(0005),
+ q(0),
+ ],
+ q(adap) => [
+ q(0615),
+ q(0),
+ ],
+ q(adasen) => [
+ q(6454),
+ q(0),
+ ],
+ q(adele) => [
+ q(0606),
+ q(0),
+ ],
+ q(adhola) => [
+ q(0609),
+ q(0),
+ ],
+ q(adi) => [
+ q(0610),
+ q(0),
+ ],
+ q(adioukrou) => [
+ q(0611),
+ q(0),
+ ],
+ q(adivasi oriya) => [
+ q(5238),
+ q(0),
+ ],
+ q(adiwasi garasia) => [
+ q(2386),
+ q(0),
+ ],
+ q(adnyamathanha) => [
+ q(0619),
+ q(0),
+ ],
+ q(adonara) => [
+ q(0617),
+ q(0),
+ ],
+ q(aduge) => [
+ q(0620),
+ q(0),
+ ],
+ q(adygei) => [
+ q(0006),
+ q(0),
+ ],
+ q(adyghe) => [
+ q(0006),
+ q(0),
+ ],
+ q(adzera) => [
+ q(0623),
+ q(0),
+ ],
+ q(aeka) => [
+ q(0639),
+ q(0),
+ ],
+ q(aekyom) => [
+ q(0969),
+ q(0),
+ ],
+ q(aequian) => [
+ q(7179),
+ q(0),
+ ],
+ q(aer) => [
+ q(0633),
+ q(0),
+ ],
+ q(afade) => [
+ q(0547),
+ q(0),
+ ],
+ q(afar) => [
+ q(0001),
+ q(0),
+ ],
+ q(afghan persian) => [
+ q(5537),
+ q(0),
+ ],
+ q(afghan sign language) => [
+ q(0643),
+ q(0),
+ ],
+ q(afitti) => [
+ q(0650),
+ q(0),
+ ],
+ q(afra) => [
+ q(6809),
+ q(0),
+ ],
+ q(afrihili) => [
+ q(0008),
+ q(0),
+ ],
+ q(afrikaans) => [
+ q(0009),
+ q(0),
+ ],
+ q(afro-asiatic languages) => [
+ q(0007),
+ q(0),
+ ],
+ q(afro-seminole creole) => [
+ q(0649),
+ q(0),
+ ],
+ q(agarabi) => [
+ q(0656),
+ q(0),
+ ],
+ q(agariya) => [
+ q(0661),
+ q(0),
+ ],
+ q(agatu) => [
+ q(0655),
+ q(0),
+ ],
+ q(agavotaguerra) => [
+ q(0960),
+ q(0),
+ ],
+ q(aghem) => [
+ q(0668),
+ q(0),
+ ],
+ q(aghu) => [
+ q(0681),
+ q(0),
+ ],
+ q(aghu tharnggalu) => [
+ q(2468),
+ q(0),
+ ],
+ q(aghul) => [
+ q(0675),
+ q(0),
+ ],
+ q(aghwan) => [
+ q(7180),
+ q(0),
+ ],
+ q(agi) => [
+ q(0697),
+ q(0),
+ ],
+ q(agob) => [
+ q(3318),
+ q(0),
+ ],
+ q(agoi) => [
+ q(2852),
+ q(0),
+ ],
+ q(aguacateco) => [
+ q(0672),
+ q(0),
+ ],
+ q(aguano) => [
+ q(0653),
+ q(0),
+ ],
+ q(aguaruna) => [
+ q(0669),
+ q(0),
+ ],
+ q(aguna) => [
+ q(0936),
+ q(0),
+ ],
+ q(agusan manobo) => [
+ q(4492),
+ q(0),
+ ],
+ q(agutaynen) => [
+ q(0666),
+ q(0),
+ ],
+ q(agwagwune) => [
+ q(7455),
+ q(0),
+ ],
+ q(ahan) => [
+ q(0686),
+ q(0),
+ ],
+ q(ahanta) => [
+ q(0678),
+ q(0),
+ ],
+ q(aheu) => [
+ q(6425),
+ q(0),
+ ],
+ q(ahirani) => [
+ q(0689),
+ q(0),
+ ],
+ q(ahom) => [
+ q(0687),
+ q(0),
+ ],
+ q(ahtena) => [
+ q(0691),
+ q(0),
+ ],
+ q(ahwai) => [
+ q(4784),
+ q(0),
+ ],
+ q(ai-cham) => [
+ q(0699),
+ q(0),
+ ],
+ q(aighon) => [
+ q(0712),
+ q(0),
+ ],
+ q(aikana) => [
+ q(6301),
+ q(0),
+ ],
+ q(aiklep) => [
+ q(4581),
+ q(0),
+ ],
+ q(aimaq) => [
+ q(0707),
+ q(0),
+ ],
+ q(aimele) => [
+ q(0703),
+ q(0),
+ ],
+ q(aimol) => [
+ q(0704),
+ q(0),
+ ],
+ q(ainbai) => [
+ q(0694),
+ q(0),
+ ],
+ q(ainu) => [
+ q(0010),
+ q(0),
+ ],
+ q(ainu (china)) => [
+ q(0693),
+ q(0),
+ ],
+ q(ainu (japan)) => [
+ q(0010),
+ q(1),
+ ],
+ q(aiome) => [
+ q(0729),
+ q(0),
+ ],
+ q(airoran) => [
+ q(0708),
+ q(0),
+ ],
+ q(aiton) => [
+ q(0705),
+ q(0),
+ ],
+ q(aiwoo) => [
+ q(4785),
+ q(0),
+ ],
+ q(aja (benin)) => [
+ q(0715),
+ q(0),
+ ],
+ q(aja (sudan)) => [
+ q(0714),
+ q(0),
+ ],
+ q(ajawa) => [
+ q(0720),
+ q(0),
+ ],
+ q(ajie) => [
+ q(0716),
+ q(0),
+ ],
+ q(ajyininka apurucayali) => [
+ q(1826),
+ q(0),
+ ],
+ q(ak) => [
+ q(0735),
+ q(0),
+ ],
+ q(aka) => [
+ q(6089),
+ q(0),
+ ],
+ q(aka-bea) => [
+ q(0568),
+ q(0),
+ ],
+ q(aka-bo) => [
+ q(0732),
+ q(0),
+ ],
+ q(aka-cari) => [
+ q(0588),
+ q(0),
+ ],
+ q(aka-jeru) => [
+ q(0730),
+ q(0),
+ ],
+ q(aka-kede) => [
+ q(0742),
+ q(0),
+ ],
+ q(aka-kol) => [
+ q(0743),
+ q(0),
+ ],
+ q(aka-kora) => [
+ q(0589),
+ q(0),
+ ],
+ q(akan) => [
+ q(0011),
+ q(0),
+ ],
+ q(akar-bale) => [
+ q(0590),
+ q(0),
+ ],
+ q(akaselem) => [
+ q(0737),
+ q(0),
+ ],
+ q(akawaio) => [
+ q(0725),
+ q(0),
+ ],
+ q(ake) => [
+ q(0702),
+ q(0),
+ ],
+ q(akebu) => [
+ q(3223),
+ q(0),
+ ],
+ q(akei) => [
+ q(6646),
+ q(0),
+ ],
+ q(akeu) => [
+ q(0636),
+ q(0),
+ ],
+ q(akha) => [
+ q(0683),
+ q(0),
+ ],
+ q(akhvakh) => [
+ q(0740),
+ q(0),
+ ],
+ q(akkadian) => [
+ q(0012),
+ q(0),
+ ],
+ q(akkala sami) => [
+ q(5961),
+ q(0),
+ ],
+ q(aklanon) => [
+ q(0731),
+ q(0),
+ ],
+ q(akolet) => [
+ q(0738),
+ q(0),
+ ],
+ q(akoose) => [
+ q(1459),
+ q(0),
+ ],
+ q(akoye) => [
+ q(4265),
+ q(0),
+ ],
+ q(akpa) => [
+ q(0726),
+ q(0),
+ ],
+ q(akpes) => [
+ q(2848),
+ q(0),
+ ],
+ q(akrukay) => [
+ q(0644),
+ q(0),
+ ],
+ q(akuku) => [
+ q(0995),
+ q(0),
+ ],
+ q(akum) => [
+ q(0739),
+ q(0),
+ ],
+ q(akuntsu) => [
+ q(0865),
+ q(0),
+ ],
+ q(akurio) => [
+ q(0733),
+ q(0),
+ ],
+ q(akwa) => [
+ q(0741),
+ q(0),
+ ],
+ q(al-sayyid bedouin sign language) => [
+ q(6267),
+ q(0),
+ ],
+ q(alaba-k'abeena) => [
+ q(0762),
+ q(0),
+ ],
+ q(alabama) => [
+ q(0744),
+ q(0),
+ ],
+ q(alabat island agta) => [
+ q(2155),
+ q(0),
+ ],
+ q(alacalufan languages) => [
+ q(0488),
+ q(0),
+ ],
+ q(alacatlatzala mixtec) => [
+ q(4258),
+ q(0),
+ ],
+ q(alago) => [
+ q(0745),
+ q(0),
+ ],
+ q(alagwa) => [
+ q(6998),
+ q(0),
+ ],
+ q(alak) => [
+ q(0752),
+ q(0),
+ ],
+ q(alamblak) => [
+ q(0779),
+ q(0),
+ ],
+ q(alangan) => [
+ q(0751),
+ q(0),
+ ],
+ q(alanic) => [
+ q(7286),
+ q(0),
+ ],
+ q(alapmunte) => [
+ q(0853),
+ q(0),
+ ],
+ q(alawa) => [
+ q(0749),
+ q(0),
+ ],
+ q(albanian) => [
+ q(0013),
+ q(0),
+ ],
+ q(albanian languages) => [
+ q(0524),
+ q(0),
+ ],
+ q(alcozauca mixtec) => [
+ q(7382),
+ q(0),
+ ],
+ q(alege) => [
+ q(0748),
+ q(0),
+ ],
+ q(alekano) => [
+ q(2375),
+ q(0),
+ ],
+ q(alemannic) => [
+ q(0166),
+ q(0),
+ ],
+ q(aleut) => [
+ q(0014),
+ q(0),
+ ],
+ q(algerian arabic) => [
+ q(0875),
+ q(0),
+ ],
+ q(algerian saharan arabic) => [
+ q(0550),
+ q(0),
+ ],
+ q(algerian sign language) => [
+ q(0897),
+ q(0),
+ ],
+ q(algic languages) => [
+ q(0489),
+ q(0),
+ ],
+ q(algonquian languages) => [
+ q(0015),
+ q(0),
+ ],
+ q(algonquin) => [
+ q(0758),
+ q(0),
+ ],
+ q(ali) => [
+ q(0713),
+ q(0),
+ ],
+ q(alladian) => [
+ q(0747),
+ q(0),
+ ],
+ q(allar) => [
+ q(0753),
+ q(0),
+ ],
+ q(alngith) => [
+ q(0695),
+ q(0),
+ ],
+ q(alo phola) => [
+ q(7589),
+ q(0),
+ ],
+ q(aloapam zapotec) => [
+ q(7664),
+ q(0),
+ ],
+ q(alor) => [
+ q(0825),
+ q(0),
+ ],
+ q(alsatian) => [
+ q(0166),
+ q(0),
+ ],
+ q(alsea) => [
+ q(0635),
+ q(0),
+ ],
+ q(altaic languages) => [
+ q(0445),
+ q(0),
+ ],
+ q(alu kurumba) => [
+ q(7403),
+ q(0),
+ ],
+ q(alugu) => [
+ q(0932),
+ q(0),
+ ],
+ q(alumu-tesu) => [
+ q(0538),
+ q(0),
+ ],
+ q(alune) => [
+ q(0757),
+ q(0),
+ ],
+ q(aluo) => [
+ q(7562),
+ q(0),
+ ],
+ q(alur) => [
+ q(0765),
+ q(0),
+ ],
+ q(alutor) => [
+ q(0759),
+ q(0),
+ ],
+ q(alviri-vidari) => [
+ q(0955),
+ q(0),
+ ],
+ q(alyawarr) => [
+ q(0764),
+ q(0),
+ ],
+ q(ama (papua new guinea)) => [
+ q(0776),
+ q(0),
+ ],
+ q(ama (sudan)) => [
+ q(5101),
+ q(0),
+ ],
+ q(amahai) => [
+ q(0780),
+ q(0),
+ ],
+ q(amahuaca) => [
+ q(0768),
+ q(0),
+ ],
+ q(amaimon) => [
+ q(0750),
+ q(0),
+ ],
+ q(amal) => [
+ q(0540),
+ q(0),
+ ],
+ q(amanab) => [
+ q(0777),
+ q(0),
+ ],
+ q(amanaye) => [
+ q(0766),
+ q(0),
+ ],
+ q(amara) => [
+ q(0696),
+ q(0),
+ ],
+ q(amarag) => [
+ q(0771),
+ q(0),
+ ],
+ q(amarakaeri) => [
+ q(0781),
+ q(0),
+ ],
+ q(amarasi) => [
+ q(0558),
+ q(0),
+ ],
+ q(amatlan zapotec) => [
+ q(7771),
+ q(0),
+ ],
+ q(amba (solomon islands)) => [
+ q(6871),
+ q(0),
+ ],
+ q(amba (uganda)) => [
+ q(5806),
+ q(0),
+ ],
+ q(ambai) => [
+ q(0774),
+ q(0),
+ ],
+ q(ambakich) => [
+ q(0637),
+ q(0),
+ ],
+ q(ambala ayta) => [
+ q(0561),
+ q(0),
+ ],
+ q(ambelau) => [
+ q(0785),
+ q(0),
+ ],
+ q(ambele) => [
+ q(0630),
+ q(0),
+ ],
+ q(amblong) => [
+ q(0754),
+ q(0),
+ ],
+ q(ambo) => [
+ q(0767),
+ q(0),
+ ],
+ q(ambo-pasco quechua) => [
+ q(5634),
+ q(0),
+ ],
+ q(ambonese malay) => [
+ q(0576),
+ q(0),
+ ],
+ q(ambrak) => [
+ q(0543),
+ q(0),
+ ],
+ q(ambul) => [
+ q(0846),
+ q(0),
+ ],
+ q(ambulas) => [
+ q(0577),
+ q(0),
+ ],
+ q(amdang) => [
+ q(0773),
+ q(0),
+ ],
+ q(amdo tibetan) => [
+ q(0622),
+ q(0),
+ ],
+ q(amele) => [
+ q(0638),
+ q(0),
+ ],
+ q(american sign language) => [
+ q(0887),
+ q(0),
+ ],
+ q(amganad ifugao) => [
+ q(2871),
+ q(0),
+ ],
+ q(amharic) => [
+ q(0017),
+ q(0),
+ ],
+ q(ami) => [
+ q(0788),
+ q(0),
+ ],
+ q(amis) => [
+ q(0772),
+ q(0),
+ ],
+ q(amo) => [
+ q(0778),
+ q(0),
+ ],
+ q(amol) => [
+ q(0763),
+ q(0),
+ ],
+ q(amoltepec mixtec) => [
+ q(4097),
+ q(0),
+ ],
+ q(ampanang) => [
+ q(0838),
+ q(0),
+ ],
+ q(ampari dogon) => [
+ q(0859),
+ q(0),
+ ],
+ q(amri karbi) => [
+ q(0721),
+ q(0),
+ ],
+ q(amto) => [
+ q(0783),
+ q(0),
+ ],
+ q(amundava) => [
+ q(0621),
+ q(0),
+ ],
+ q(ana tinga dogon) => [
+ q(2137),
+ q(0),
+ ],
+ q(anaang) => [
+ q(0810),
+ q(0),
+ ],
+ q(anakalangu) => [
+ q(0727),
+ q(0),
+ ],
+ q(anal) => [
+ q(0801),
+ q(0),
+ ],
+ q(anam) => [
+ q(5334),
+ q(0),
+ ],
+ q(anambe) => [
+ q(0549),
+ q(0),
+ ],
+ q(anamgura) => [
+ q(2919),
+ q(0),
+ ],
+ q(anasi) => [
+ q(1381),
+ q(0),
+ ],
+ q(anca) => [
+ q(0585),
+ q(0),
+ ],
+ q(ancient aramaic (up to 700 bce)) => [
+ q(5125),
+ q(0),
+ ],
+ q(ancient greek (to 1453)) => [
+ q(0163),
+ q(1),
+ ],
+ q(ancient hebrew) => [
+ q(2695),
+ q(0),
+ ],
+ q(ancient macedonian) => [
+ q(7301),
+ q(0),
+ ],
+ q(ancient north arabian) => [
+ q(7317),
+ q(0),
+ ],
+ q(ancient zapotec) => [
+ q(7432),
+ q(0),
+ ],
+ q(andai) => [
+ q(0641),
+ q(0),
+ ],
+ q(andalusian arabic) => [
+ q(7175),
+ q(0),
+ ],
+ q(andaman creole hindi) => [
+ q(2697),
+ q(0),
+ ],
+ q(andaqui) => [
+ q(0790),
+ q(0),
+ ],
+ q(andarum) => [
+ q(0817),
+ q(0),
+ ],
+ q(andegerebinha) => [
+ q(0608),
+ q(0),
+ ],
+ q(andh) => [
+ q(0805),
+ q(0),
+ ],
+ q(andi) => [
+ q(0797),
+ q(0),
+ ],
+ q(andio) => [
+ q(1610),
+ q(0),
+ ],
+ q(andoa) => [
+ q(0791),
+ q(0),
+ ],
+ q(andoque) => [
+ q(0803),
+ q(0),
+ ],
+ q(andra-hus) => [
+ q(0811),
+ q(0),
+ ],
+ q(aneityum) => [
+ q(0929),
+ q(0),
+ ],
+ q(anem) => [
+ q(0813),
+ q(0),
+ ],
+ q(aneme wake) => [
+ q(0582),
+ q(0),
+ ],
+ q(anfillo) => [
+ q(4637),
+ q(0),
+ ],
+ q(angaataha) => [
+ q(0665),
+ q(0),
+ ],
+ q(angal) => [
+ q(0657),
+ q(0),
+ ],
+ q(angal enen) => [
+ q(0818),
+ q(0),
+ ],
+ q(angal heneng) => [
+ q(0728),
+ q(0),
+ ],
+ q(angami naga) => [
+ q(4865),
+ q(0),
+ ],
+ q(angguruk yali) => [
+ q(7534),
+ q(0),
+ ],
+ q(angika) => [
+ q(0019),
+ q(0),
+ ],
+ q(anglo-norman) => [
+ q(7322),
+ q(0),
+ ],
+ q(angloromani) => [
+ q(5741),
+ q(0),
+ ],
+ q(angolar) => [
+ q(0814),
+ q(0),
+ ],
+ q(angor) => [
+ q(0659),
+ q(0),
+ ],
+ q(angoram) => [
+ q(0820),
+ q(0),
+ ],
+ q(angosturas tunebo) => [
+ q(6533),
+ q(0),
+ ],
+ q(ani phowa) => [
+ q(7588),
+ q(0),
+ ],
+ q(anii) => [
+ q(1286),
+ q(0),
+ ],
+ q(animere) => [
+ q(0795),
+ q(0),
+ ],
+ q(anindilyakwa) => [
+ q(0822),
+ q(0),
+ ],
+ q(anjam) => [
+ q(1354),
+ q(0),
+ ],
+ q(ankave) => [
+ q(0546),
+ q(0),
+ ],
+ q(anmatyerre) => [
+ q(0787),
+ q(0),
+ ],
+ q(anong) => [
+ q(5059),
+ q(0),
+ ],
+ q(anor) => [
+ q(0798),
+ q(0),
+ ],
+ q(anserma) => [
+ q(0806),
+ q(0),
+ ],
+ q(ansus) => [
+ q(0793),
+ q(0),
+ ],
+ q(antakarinya) => [
+ q(0807),
+ q(0),
+ ],
+ q(antankarana malagasy) => [
+ q(7312),
+ q(0),
+ ],
+ q(antigua and barbuda creole english) => [
+ q(0698),
+ q(0),
+ ],
+ q(anu) => [
+ q(0800),
+ q(0),
+ ],
+ q(anuak) => [
+ q(0808),
+ q(0),
+ ],
+ q(anufo) => [
+ q(1754),
+ q(0),
+ ],
+ q(anuki) => [
+ q(0938),
+ q(0),
+ ],
+ q(anus) => [
+ q(0946),
+ q(0),
+ ],
+ q(anuta) => [
+ q(0934),
+ q(0),
+ ],
+ q(anyin) => [
+ q(0812),
+ q(0),
+ ],
+ q(anyin morofo) => [
+ q(4506),
+ q(0),
+ ],
+ q(ao naga) => [
+ q(4867),
+ q(0),
+ ],
+ q(aoheng) => [
+ q(5473),
+ q(0),
+ ],
+ q(aore) => [
+ q(0828),
+ q(0),
+ ],
+ q(ap ma) => [
+ q(3151),
+ q(0),
+ ],
+ q(apache languages) => [
+ q(0020),
+ q(0),
+ ],
+ q(apalachee) => [
+ q(7185),
+ q(0),
+ ],
+ q(apalai) => [
+ q(0856),
+ q(0),
+ ],
+ q(apali) => [
+ q(2240),
+ q(0),
+ ],
+ q(apasco-apoala mixtec) => [
+ q(4260),
+ q(0),
+ ],
+ q(apatani) => [
+ q(0851),
+ q(0),
+ ],
+ q(apiaka) => [
+ q(0840),
+ q(0),
+ ],
+ q(apinaye) => [
+ q(0845),
+ q(0),
+ ],
+ q(apma) => [
+ q(0847),
+ q(0),
+ ],
+ q(aproumu aizi) => [
+ q(0688),
+ q(0),
+ ],
+ q(apurina) => [
+ q(0852),
+ q(0),
+ ],
+ q(aputai) => [
+ q(0855),
+ q(0),
+ ],
+ q(aquitanian) => [
+ q(7186),
+ q(0),
+ ],
+ q(arabana) => [
+ q(0867),
+ q(0),
+ ],
+ q(arabela) => [
+ q(0873),
+ q(0),
+ ],
+ q(arabic) => [
+ q(0021),
+ q(0),
+ ],
+ q(aragonese) => [
+ q(0023),
+ q(0),
+ ],
+ q(araki) => [
+ q(0736),
+ q(0),
+ ],
+ q(aralle-tabulahan) => [
+ q(0921),
+ q(0),
+ ],
+ q(aramanik) => [
+ q(0548),
+ q(0),
+ ],
+ q(arammba) => [
+ q(6187),
+ q(0),
+ ],
+ q(aranadan) => [
+ q(0542),
+ q(0),
+ ],
+ q(aranama-tamique) => [
+ q(7360),
+ q(0),
+ ],
+ q(arandai) => [
+ q(3017),
+ q(0),
+ ],
+ q(araona) => [
+ q(0874),
+ q(0),
+ ],
+ q(arapaho) => [
+ q(0026),
+ q(0),
+ ],
+ q(arapaso) => [
+ q(0871),
+ q(0),
+ ],
+ q(arauan languages) => [
+ q(0490),
+ q(0),
+ ],
+ q(arawa) => [
+ q(0878),
+ q(0),
+ ],
+ q(arawak) => [
+ q(0028),
+ q(0),
+ ],
+ q(arawakan languages) => [
+ q(0491),
+ q(0),
+ ],
+ q(arawete) => [
+ q(0976),
+ q(0),
+ ],
+ q(arawum) => [
+ q(0971),
+ q(0),
+ ],
+ q(arbereshe albanian) => [
+ q(0541),
+ q(0),
+ ],
+ q(arbore) => [
+ q(0879),
+ q(0),
+ ],
+ q(archi) => [
+ q(0858),
+ q(0),
+ ],
+ q(ardhamagadhi prakrit) => [
+ q(5411),
+ q(0),
+ ],
+ q(are) => [
+ q(4577),
+ q(0),
+ ],
+ q(areba) => [
+ q(0624),
+ q(0),
+ ],
+ q(arem) => [
+ q(0631),
+ q(0),
+ ],
+ q(arequipa-la union quechua) => [
+ q(5666),
+ q(0),
+ ],
+ q(argentine sign language) => [
+ q(0627),
+ q(0),
+ ],
+ q(argobba) => [
+ q(0662),
+ q(0),
+ ],
+ q(arguni) => [
+ q(0658),
+ q(0),
+ ],
+ q(arha) => [
+ q(0864),
+ q(0),
+ ],
+ q(arho) => [
+ q(0824),
+ q(0),
+ ],
+ q(arhuaco) => [
+ q(0869),
+ q(0),
+ ],
+ q(ari) => [
+ q(0539),
+ q(0),
+ ],
+ q(aribwatsa) => [
+ q(3763),
+ q(0),
+ ],
+ q(aribwaung) => [
+ q(7540),
+ q(0),
+ ],
+ q(arifama-miniafia) => [
+ q(0545),
+ q(0),
+ ],
+ q(arigidi) => [
+ q(0860),
+ q(0),
+ ],
+ q(arikapu) => [
+ q(0872),
+ q(0),
+ ],
+ q(arikara) => [
+ q(0870),
+ q(0),
+ ],
+ q(arikem) => [
+ q(0710),
+ q(0),
+ ],
+ q(arin) => [
+ q(7358),
+ q(0),
+ ],
+ q(aringa) => [
+ q(4023),
+ q(0),
+ ],
+ q(arma) => [
+ q(0821),
+ q(0),
+ ],
+ q(armazic) => [
+ q(7357),
+ q(0),
+ ],
+ q(armenian) => [
+ q(0024),
+ q(0),
+ ],
+ q(armenian (family)) => [
+ q(0510),
+ q(0),
+ ],
+ q(armenian sign language) => [
+ q(0632),
+ q(0),
+ ],
+ q(aromanian) => [
+ q(0362),
+ q(0),
+ ],
+ q(arop-lokep) => [
+ q(0849),
+ q(0),
+ ],
+ q(arop-sissano) => [
+ q(0850),
+ q(0),
+ ],
+ q(arosi) => [
+ q(0692),
+ q(0),
+ ],
+ q(arpitan) => [
+ q(2345),
+ q(0),
+ ],
+ q(arta) => [
+ q(0930),
+ q(0),
+ ],
+ q(artificial languages) => [
+ q(0027),
+ q(0),
+ ],
+ q(arua (amazonas state)) => [
+ q(0878),
+ q(0),
+ ],
+ q(arua (rodonia state)) => [
+ q(0880),
+ q(0),
+ ],
+ q(aruamu) => [
+ q(4503),
+ q(0),
+ ],
+ q(aruek) => [
+ q(0947),
+ q(0),
+ ],
+ q(arumanian) => [
+ q(0362),
+ q(0),
+ ],
+ q(aruop) => [
+ q(4012),
+ q(0),
+ ],
+ q(arutani) => [
+ q(0928),
+ q(0),
+ ],
+ q(arvanitika albanian) => [
+ q(0554),
+ q(0),
+ ],
+ q(as) => [
+ q(0906),
+ q(0),
+ ],
+ q(asaro'o) => [
+ q(4526),
+ q(0),
+ ],
+ q(asas) => [
+ q(0886),
+ q(0),
+ ],
+ q(ashaninka) => [
+ q(1793),
+ q(0),
+ ],
+ q(ashe) => [
+ q(0690),
+ q(0),
+ ],
+ q(asheninka pajonal) => [
+ q(1745),
+ q(0),
+ ],
+ q(asheninka perene) => [
+ q(5535),
+ q(0),
+ ],
+ q(ashkun) => [
+ q(0893),
+ q(0),
+ ],
+ q(asho chin) => [
+ q(1864),
+ q(0),
+ ],
+ q(ashtiani) => [
+ q(0918),
+ q(0),
+ ],
+ q(asilulu) => [
+ q(0894),
+ q(0),
+ ],
+ q(askopan) => [
+ q(2205),
+ q(0),
+ ],
+ q(asoa) => [
+ q(0902),
+ q(0),
+ ],
+ q(assamese) => [
+ q(0029),
+ q(0),
+ ],
+ q(assan) => [
+ q(7378),
+ q(0),
+ ],
+ q(assangori) => [
+ q(5986),
+ q(0),
+ ],
+ q(assiniboine) => [
+ q(0884),
+ q(0),
+ ],
+ q(assyrian neo-aramaic) => [
+ q(0700),
+ q(0),
+ ],
+ q(asturian) => [
+ q(0030),
+ q(0),
+ ],
+ q(asturleonese) => [
+ q(0030),
+ q(0),
+ ],
+ q(asu (nigeria)) => [
+ q(0942),
+ q(0),
+ ],
+ q(asu (tanzania)) => [
+ q(0883),
+ q(0),
+ ],
+ q(asue awyu) => [
+ q(5544),
+ q(0),
+ ],
+ q(asumboa) => [
+ q(0931),
+ q(0),
+ ],
+ q(asuncion mixtepec zapotec) => [
+ q(7753),
+ q(0),
+ ],
+ q(asuri) => [
+ q(0899),
+ q(0),
+ ],
+ q(ata) => [
+ q(0917),
+ q(0),
+ ],
+ q(ata manobo) => [
+ q(0910),
+ q(0),
+ ],
+ q(atakapa) => [
+ q(0863),
+ q(0),
+ ],
+ q(atampaya) => [
+ q(0789),
+ q(0),
+ ],
+ q(atatlahuca mixtec) => [
+ q(4248),
+ q(0),
+ ],
+ q(atayal) => [
+ q(6299),
+ q(0),
+ ],
+ q(atemble) => [
+ q(0911),
+ q(0),
+ ],
+ q(athapascan languages) => [
+ q(0031),
+ q(0),
+ ],
+ q(athpariya) => [
+ q(0839),
+ q(0),
+ ],
+ q(ati) => [
+ q(0915),
+ q(0),
+ ],
+ q(atikamekw) => [
+ q(0914),
+ q(0),
+ ],
+ q(atlantic-congo languages) => [
+ q(0487),
+ q(0),
+ ],
+ q(atohwaim) => [
+ q(0861),
+ q(0),
+ ],
+ q(atong) => [
+ q(0919),
+ q(0),
+ ],
+ q(atorada) => [
+ q(0831),
+ q(0),
+ ],
+ q(atsahuaca) => [
+ q(0909),
+ q(0),
+ ],
+ q(atsam) => [
+ q(1680),
+ q(0),
+ ],
+ q(atsugewi) => [
+ q(0927),
+ q(0),
+ ],
+ q(attapady kurumba) => [
+ q(5419),
+ q(0),
+ ],
+ q(attie) => [
+ q(0913),
+ q(0),
+ ],
+ q(atzingo matlatzinca) => [
+ q(5138),
+ q(0),
+ ],
+ q(au) => [
+ q(0962),
+ q(0),
+ ],
+ q(aulua) => [
+ q(0941),
+ q(0),
+ ],
+ q(aura) => [
+ q(0951),
+ q(0),
+ ],
+ q(aushi) => [
+ q(0937),
+ q(0),
+ ],
+ q(aushiri) => [
+ q(0961),
+ q(0),
+ ],
+ q(austral) => [
+ q(0948),
+ q(0),
+ ],
+ q(australian aborigines sign language) => [
+ q(0903),
+ q(0),
+ ],
+ q(australian languages) => [
+ q(0032),
+ q(0),
+ ],
+ q(australian sign language) => [
+ q(0888),
+ q(0),
+ ],
+ q(austrian sign language) => [
+ q(0898),
+ q(0),
+ ],
+ q(austro-asiatic languages) => [
+ q(0486),
+ q(0),
+ ],
+ q(austronesian languages) => [
+ q(0271),
+ q(0),
+ ],
+ q(auwe) => [
+ q(6046),
+ q(0),
+ ],
+ q(auye) => [
+ q(0949),
+ q(0),
+ ],
+ q(auyokawa) => [
+ q(0944),
+ q(0),
+ ],
+ q(ava guarani) => [
+ q(4816),
+ q(0),
+ ],
+ q(ava-canoeiro) => [
+ q(0964),
+ q(0),
+ ],
+ q(avaric) => [
+ q(0033),
+ q(0),
+ ],
+ q(avatime) => [
+ q(0959),
+ q(0),
+ ],
+ q(avau) => [
+ q(0954),
+ q(0),
+ ],
+ q(avava) => [
+ q(6507),
+ q(0),
+ ],
+ q(avestan) => [
+ q(0034),
+ q(0),
+ ],
+ q(avikam) => [
+ q(0956),
+ q(0),
+ ],
+ q(avokaya) => [
+ q(0963),
+ q(0),
+ ],
+ q(awa (china)) => [
+ q(6970),
+ q(0),
+ ],
+ q(awa (papua new guinea)) => [
+ q(0965),
+ q(0),
+ ],
+ q(awa-cuaiquer) => [
+ q(3649),
+ q(0),
+ ],
+ q(awabakal) => [
+ q(0970),
+ q(0),
+ ],
+ q(awad bing) => [
+ q(1078),
+ q(0),
+ ],
+ q(awadhi) => [
+ q(0035),
+ q(0),
+ ],
+ q(awak) => [
+ q(0973),
+ q(0),
+ ],
+ q(awar) => [
+ q(0987),
+ q(0),
+ ],
+ q(awara) => [
+ q(0980),
+ q(0),
+ ],
+ q(awbono) => [
+ q(0968),
+ q(0),
+ ],
+ q(aweer) => [
+ q(1348),
+ q(0),
+ ],
+ q(awera) => [
+ q(0974),
+ q(0),
+ ],
+ q(aweti) => [
+ q(0967),
+ q(0),
+ ],
+ q(awing) => [
+ q(1012),
+ q(0),
+ ],
+ q(awiyaana) => [
+ q(0952),
+ q(0),
+ ],
+ q(awjilah) => [
+ q(0939),
+ q(0),
+ ],
+ q(awngi) => [
+ q(0972),
+ q(0),
+ ],
+ q(awtuw) => [
+ q(3413),
+ q(0),
+ ],
+ q(awu) => [
+ q(7515),
+ q(0),
+ ],
+ q(awun) => [
+ q(0979),
+ q(0),
+ ],
+ q(awutu) => [
+ q(0651),
+ q(0),
+ ],
+ q(awyi) => [
+ q(0950),
+ q(0),
+ ],
+ q(axamb) => [
+ q(0679),
+ q(0),
+ ],
+ q(axi yi) => [
+ q(7517),
+ q(0),
+ ],
+ q(ayabadhu) => [
+ q(0990),
+ q(0),
+ ],
+ q(ayacucho quechua) => [
+ q(5632),
+ q(0),
+ ],
+ q(ayangan ifugao) => [
+ q(2872),
+ q(0),
+ ],
+ q(ayautla mazatec) => [
+ q(6954),
+ q(0),
+ ],
+ q(ayere) => [
+ q(0991),
+ q(0),
+ ],
+ q(ayi (papua new guinea)) => [
+ q(1000),
+ q(0),
+ ],
+ q(ayiwo) => [
+ q(4785),
+ q(0),
+ ],
+ q(ayizi) => [
+ q(7647),
+ q(0),
+ ],
+ q(ayizo gbe) => [
+ q(0988),
+ q(0),
+ ],
+ q(aymara) => [
+ q(0036),
+ q(0),
+ ],
+ q(ayoquesco zapotec) => [
+ q(7655),
+ q(0),
+ ],
+ q(ayoreo) => [
+ q(0998),
+ q(0),
+ ],
+ q(ayu) => [
+ q(1004),
+ q(0),
+ ],
+ q(ayutla mixtec) => [
+ q(4267),
+ q(0),
+ ],
+ q(azerbaijani) => [
+ q(0037),
+ q(0),
+ ],
+ q(azha) => [
+ q(1007),
+ q(0),
+ ],
+ q(azhe) => [
+ q(7519),
+ q(0),
+ ],
+ q(azoyu me'phaa) => [
+ q(6576),
+ q(0),
+ ],
+ q(azoyu tlapanec) => [
+ q(6576),
+ q(0),
+ ],
+ q(baan) => [
+ q(1521),
+ q(0),
+ ],
+ q(baangi) => [
+ q(1415),
+ q(0),
+ ],
+ q(baatonum) => [
+ q(1032),
+ q(0),
+ ],
+ q(baba) => [
+ q(1054),
+ q(0),
+ ],
+ q(baba malay) => [
+ q(4078),
+ q(0),
+ ],
+ q(babalia creole arabic) => [
+ q(1057),
+ q(0),
+ ],
+ q(babango) => [
+ q(1044),
+ q(0),
+ ],
+ q(babanki) => [
+ q(1042),
+ q(0),
+ ],
+ q(babatana) => [
+ q(1015),
+ q(0),
+ ],
+ q(babine) => [
+ q(1075),
+ q(0),
+ ],
+ q(bable) => [
+ q(0030),
+ q(0),
+ ],
+ q(babuza) => [
+ q(1615),
+ q(0),
+ ],
+ q(bacama) => [
+ q(1081),
+ q(0),
+ ],
+ q(bacanese malay) => [
+ q(1474),
+ q(0),
+ ],
+ q(bactrian) => [
+ q(7196),
+ q(0),
+ ],
+ q(bada (indonesia)) => [
+ q(1203),
+ q(0),
+ ],
+ q(bada (nigeria)) => [
+ q(1026),
+ q(0),
+ ],
+ q(badaga) => [
+ q(1146),
+ q(0),
+ ],
+ q(bade) => [
+ q(1087),
+ q(0),
+ ],
+ q(badeshi) => [
+ q(1108),
+ q(0),
+ ],
+ q(badi kanum) => [
+ q(3282),
+ q(0),
+ ],
+ q(badimaya) => [
+ q(1204),
+ q(0),
+ ],
+ q(badui) => [
+ q(1017),
+ q(0),
+ ],
+ q(badyara) => [
+ q(5309),
+ q(0),
+ ],
+ q(baeggu) => [
+ q(1515),
+ q(0),
+ ],
+ q(baelelea) => [
+ q(1514),
+ q(0),
+ ],
+ q(baetora) => [
+ q(1481),
+ q(0),
+ ],
+ q(bafanji) => [
+ q(1139),
+ q(0),
+ ],
+ q(bafaw-balong) => [
+ q(1555),
+ q(0),
+ ],
+ q(bafia) => [
+ q(3547),
+ q(0),
+ ],
+ q(bafut) => [
+ q(1133),
+ q(0),
+ ],
+ q(baga binari) => [
+ q(1064),
+ q(0),
+ ],
+ q(baga kaloum) => [
+ q(1397),
+ q(0),
+ ],
+ q(baga koga) => [
+ q(1168),
+ q(0),
+ ],
+ q(baga manduri) => [
+ q(1300),
+ q(0),
+ ],
+ q(baga mboteni) => [
+ q(1166),
+ q(0),
+ ],
+ q(baga sitemu) => [
+ q(1456),
+ q(0),
+ ],
+ q(baga sobane) => [
+ q(1462),
+ q(0),
+ ],
+ q(bagheli) => [
+ q(1153),
+ q(0),
+ ],
+ q(bagirmi) => [
+ q(1305),
+ q(0),
+ ],
+ q(bagirmi fulfulde) => [
+ q(2357),
+ q(0),
+ ],
+ q(bago-kusuntu) => [
+ q(1398),
+ q(0),
+ ],
+ q(bagri) => [
+ q(1170),
+ q(0),
+ ],
+ q(bagupi) => [
+ q(1375),
+ q(0),
+ ],
+ q(bagusa) => [
+ q(1394),
+ q(0),
+ ],
+ q(bagvalal) => [
+ q(3615),
+ q(0),
+ ],
+ q(baha buyang) => [
+ q(7498),
+ q(0),
+ ],
+ q(baham) => [
+ q(1105),
+ q(0),
+ ],
+ q(bahamas creole english) => [
+ q(1021),
+ q(0),
+ ],
+ q(baharna arabic) => [
+ q(0579),
+ q(0),
+ ],
+ q(bahau) => [
+ q(1199),
+ q(0),
+ ],
+ q(bahinemo) => [
+ q(1232),
+ q(0),
+ ],
+ q(bahing) => [
+ q(1189),
+ q(0),
+ ],
+ q(bahnar) => [
+ q(1099),
+ q(0),
+ ],
+ q(bahonsuai) => [
+ q(1461),
+ q(0),
+ ],
+ q(bai) => [
+ q(1092),
+ q(0),
+ ],
+ q(baibai) => [
+ q(1037),
+ q(0),
+ ],
+ q(baikeno) => [
+ q(1270),
+ q(0),
+ ],
+ q(baima) => [
+ q(1399),
+ q(0),
+ ],
+ q(baimak) => [
+ q(1320),
+ q(0),
+ ],
+ q(bainouk-gunyaamolo) => [
+ q(1082),
+ q(0),
+ ],
+ q(bainouk-gunyuno) => [
+ q(1016),
+ q(0),
+ ],
+ q(bainouk-samik) => [
+ q(1059),
+ q(0),
+ ],
+ q(baiso) => [
+ q(1463),
+ q(0),
+ ],
+ q(baissa fali) => [
+ q(2299),
+ q(0),
+ ],
+ q(bajan) => [
+ q(1241),
+ q(0),
+ ],
+ q(bajelani) => [
+ q(1237),
+ q(0),
+ ],
+ q(baka (cameroon)) => [
+ q(1250),
+ q(0),
+ ],
+ q(baka (sudan)) => [
+ q(1090),
+ q(0),
+ ],
+ q(bakairi) => [
+ q(1263),
+ q(0),
+ ],
+ q(bakaka) => [
+ q(1417),
+ q(0),
+ ],
+ q(bakhtiari) => [
+ q(1400),
+ q(0),
+ ],
+ q(baki) => [
+ q(1255),
+ q(0),
+ ],
+ q(bakoko) => [
+ q(1254),
+ q(0),
+ ],
+ q(bakole) => [
+ q(3404),
+ q(0),
+ ],
+ q(bakpinka) => [
+ q(1050),
+ q(0),
+ ],
+ q(bakumpai) => [
+ q(1264),
+ q(0),
+ ],
+ q(bakwe) => [
+ q(1245),
+ q(0),
+ ],
+ q(balaesang) => [
+ q(1290),
+ q(0),
+ ],
+ q(balangao) => [
+ q(1293),
+ q(0),
+ ],
+ q(balangingi) => [
+ q(6157),
+ q(0),
+ ],
+ q(balanta-ganja) => [
+ q(1242),
+ q(0),
+ ],
+ q(balanta-kentohe) => [
+ q(1276),
+ q(0),
+ ],
+ q(balantak) => [
+ q(1296),
+ q(0),
+ ],
+ q(balau) => [
+ q(1278),
+ q(0),
+ ],
+ q(baldemu) => [
+ q(1096),
+ q(0),
+ ],
+ q(bali (democratic republic of congo)) => [
+ q(1073),
+ q(0),
+ ],
+ q(bali (nigeria)) => [
+ q(1071),
+ q(0),
+ ],
+ q(balinese) => [
+ q(0043),
+ q(0),
+ ],
+ q(balinese malay) => [
+ q(4237),
+ q(0),
+ ],
+ q(balkan gagauz turkish) => [
+ q(1177),
+ q(0),
+ ],
+ q(balkan romani) => [
+ q(5749),
+ q(0),
+ ],
+ q(balo) => [
+ q(1406),
+ q(0),
+ ],
+ q(baloi) => [
+ q(1224),
+ q(0),
+ ],
+ q(balti) => [
+ q(1149),
+ q(0),
+ ],
+ q(baltic languages) => [
+ q(0046),
+ q(0),
+ ],
+ q(baltic romani) => [
+ q(5747),
+ q(0),
+ ],
+ q(baluan-pam) => [
+ q(1288),
+ q(0),
+ ],
+ q(baluchi) => [
+ q(0041),
+ q(0),
+ ],
+ q(bamako sign language) => [
+ q(1351),
+ q(0),
+ ],
+ q(bamali) => [
+ q(1048),
+ q(0),
+ ],
+ q(bambalang) => [
+ q(1311),
+ q(0),
+ ],
+ q(bambam) => [
+ q(5571),
+ q(0),
+ ],
+ q(bambara) => [
+ q(0042),
+ q(0),
+ ],
+ q(bambassi) => [
+ q(4629),
+ q(0),
+ ],
+ q(bambili-bambui) => [
+ q(1028),
+ q(0),
+ ],
+ q(bamenyam) => [
+ q(1062),
+ q(0),
+ ],
+ q(bamileke languages) => [
+ q(0039),
+ q(0),
+ ],
+ q(bamu) => [
+ q(1063),
+ q(0),
+ ],
+ q(bamukumbit) => [
+ q(1411),
+ q(0),
+ ],
+ q(bamun) => [
+ q(1029),
+ q(0),
+ ],
+ q(bamunka) => [
+ q(1524),
+ q(0),
+ ],
+ q(bamwe) => [
+ q(1303),
+ q(0),
+ ],
+ q(ban khor sign language) => [
+ q(1140),
+ q(0),
+ ],
+ q(bana) => [
+ q(1080),
+ q(0),
+ ],
+ q(banam bay) => [
+ q(6962),
+ q(0),
+ ],
+ q(banao itneg) => [
+ q(1246),
+ q(0),
+ ],
+ q(banaro) => [
+ q(1608),
+ q(0),
+ ],
+ q(banda (indonesia)) => [
+ q(1326),
+ q(0),
+ ],
+ q(banda languages) => [
+ q(0038),
+ q(0),
+ ],
+ q(banda malay) => [
+ q(1383),
+ q(0),
+ ],
+ q(banda-bambari) => [
+ q(3882),
+ q(0),
+ ],
+ q(banda-banda) => [
+ q(1372),
+ q(0),
+ ],
+ q(banda-mbres) => [
+ q(1402),
+ q(0),
+ ],
+ q(banda-ndele) => [
+ q(1141),
+ q(0),
+ ],
+ q(banda-yangere) => [
+ q(7442),
+ q(0),
+ ],
+ q(bandi) => [
+ q(1609),
+ q(0),
+ ],
+ q(bandial) => [
+ q(1401),
+ q(0),
+ ],
+ q(bandjalang) => [
+ q(1107),
+ q(0),
+ ],
+ q(bandjigali) => [
+ q(1228),
+ q(0),
+ ],
+ q(bangala) => [
+ q(1567),
+ q(0),
+ ],
+ q(bangandu) => [
+ q(1160),
+ q(0),
+ ],
+ q(bangba) => [
+ q(1036),
+ q(0),
+ ],
+ q(banggai) => [
+ q(1179),
+ q(0),
+ ],
+ q(banggarla) => [
+ q(1226),
+ q(0),
+ ],
+ q(bangi) => [
+ q(1330),
+ q(0),
+ ],
+ q(bangi me) => [
+ q(1947),
+ q(0),
+ ],
+ q(bangingih sama) => [
+ q(6157),
+ q(0),
+ ],
+ q(bangka) => [
+ q(4172),
+ q(0),
+ ],
+ q(bangolan) => [
+ q(1163),
+ q(0),
+ ],
+ q(bangubangu) => [
+ q(1344),
+ q(0),
+ ],
+ q(bangwinji) => [
+ q(1450),
+ q(0),
+ ],
+ q(baniva) => [
+ q(1531),
+ q(0),
+ ],
+ q(baniwa) => [
+ q(1544),
+ q(0),
+ ],
+ q(banjar) => [
+ q(1238),
+ q(0),
+ ],
+ q(bankagooma) => [
+ q(1582),
+ q(0),
+ ],
+ q(bankon) => [
+ q(0560),
+ q(0),
+ ],
+ q(bannoni) => [
+ q(1070),
+ q(0),
+ ],
+ q(bantawa) => [
+ q(1024),
+ q(0),
+ ],
+ q(bantayanon) => [
+ q(1152),
+ q(0),
+ ],
+ q(bantik) => [
+ q(1338),
+ q(0),
+ ],
+ q(bantoanon) => [
+ q(1336),
+ q(0),
+ ],
+ q(bantu (other)) => [
+ q(0058),
+ q(0),
+ ],
+ q(bantu languages) => [
+ q(0058),
+ q(1),
+ ],
+ q(baoule) => [
+ q(1066),
+ q(0),
+ ],
+ q(bara malagasy) => [
+ q(1195),
+ q(0),
+ ],
+ q(baraamu) => [
+ q(1420),
+ q(0),
+ ],
+ q(barai) => [
+ q(1033),
+ q(0),
+ ],
+ q(barakai) => [
+ q(1022),
+ q(0),
+ ],
+ q(baram kayan) => [
+ q(3710),
+ q(0),
+ ],
+ q(barama) => [
+ q(1038),
+ q(0),
+ ],
+ q(barambu) => [
+ q(1428),
+ q(0),
+ ],
+ q(baramu) => [
+ q(1322),
+ q(0),
+ ],
+ q(barapasi) => [
+ q(1431),
+ q(0),
+ ],
+ q(baras) => [
+ q(1434),
+ q(0),
+ ],
+ q(barasana-eduria) => [
+ q(1454),
+ q(0),
+ ],
+ q(barbacoas) => [
+ q(1371),
+ q(0),
+ ],
+ q(barbareno) => [
+ q(1353),
+ q(0),
+ ],
+ q(barclayville grebo) => [
+ q(2591),
+ q(0),
+ ],
+ q(bardi) => [
+ q(1067),
+ q(0),
+ ],
+ q(bare) => [
+ q(1018),
+ q(0),
+ ],
+ q(barein) => [
+ q(1512),
+ q(0),
+ ],
+ q(bargam) => [
+ q(4330),
+ q(0),
+ ],
+ q(bari) => [
+ q(1130),
+ q(0),
+ ],
+ q(bariai) => [
+ q(1065),
+ q(0),
+ ],
+ q(bariji) => [
+ q(1227),
+ q(0),
+ ],
+ q(barikanchi) => [
+ q(1575),
+ q(0),
+ ],
+ q(barok) => [
+ q(1235),
+ q(0),
+ ],
+ q(barombi) => [
+ q(1040),
+ q(0),
+ ],
+ q(barro negro tunebo) => [
+ q(6314),
+ q(0),
+ ],
+ q(barrow point) => [
+ q(1386),
+ q(0),
+ ],
+ q(baruga) => [
+ q(1248),
+ q(0),
+ ],
+ q(baruya) => [
+ q(1601),
+ q(0),
+ ],
+ q(barwe) => [
+ q(1542),
+ q(0),
+ ],
+ q(barzani jewish neo-aramaic) => [
+ q(1230),
+ q(0),
+ ],
+ q(basa) => [
+ q(0045),
+ q(0),
+ ],
+ q(basa (cameroon)) => [
+ q(0045),
+ q(1),
+ ],
+ q(basa (nigeria)) => [
+ q(1631),
+ q(0),
+ ],
+ q(basa-gumna) => [
+ q(1452),
+ q(0),
+ ],
+ q(basa-gurmana) => [
+ q(1497),
+ q(0),
+ ],
+ q(basap) => [
+ q(1084),
+ q(0),
+ ],
+ q(basay) => [
+ q(1600),
+ q(0),
+ ],
+ q(bashkardi) => [
+ q(1447),
+ q(0),
+ ],
+ q(bashkir) => [
+ q(0040),
+ q(0),
+ ],
+ q(basketo) => [
+ q(1460),
+ q(0),
+ ],
+ q(basque) => [
+ q(0044),
+ q(0),
+ ],
+ q(basque (family)) => [
+ q(0502),
+ q(0),
+ ],
+ q(bassa) => [
+ q(1457),
+ q(0),
+ ],
+ q(bassa-kontagora) => [
+ q(1458),
+ q(0),
+ ],
+ q(bassari) => [
+ q(1444),
+ q(0),
+ ],
+ q(bassossi) => [
+ q(1449),
+ q(0),
+ ],
+ q(bata) => [
+ q(1466),
+ q(0),
+ ],
+ q(batad ifugao) => [
+ q(2872),
+ q(0),
+ ],
+ q(batak) => [
+ q(1585),
+ q(0),
+ ],
+ q(batak alas-kluet) => [
+ q(1489),
+ q(0),
+ ],
+ q(batak angkola) => [
+ q(0722),
+ q(0),
+ ],
+ q(batak dairi) => [
+ q(1468),
+ q(0),
+ ],
+ q(batak karo) => [
+ q(1487),
+ q(0),
+ ],
+ q(batak languages) => [
+ q(0062),
+ q(0),
+ ],
+ q(batak mandailing) => [
+ q(1476),
+ q(0),
+ ],
+ q(batak simalungun) => [
+ q(1482),
+ q(0),
+ ],
+ q(batak toba) => [
+ q(1034),
+ q(0),
+ ],
+ q(batanga) => [
+ q(1334),
+ q(0),
+ ],
+ q(batek) => [
+ q(1480),
+ q(0),
+ ],
+ q(bateri) => [
+ q(1485),
+ q(0),
+ ],
+ q(bathari) => [
+ q(1191),
+ q(0),
+ ],
+ q(bati (cameroon)) => [
+ q(1467),
+ q(0),
+ ],
+ q(bati (indonesia)) => [
+ q(1529),
+ q(0),
+ ],
+ q(bats) => [
+ q(1043),
+ q(0),
+ ],
+ q(batu) => [
+ q(1484),
+ q(0),
+ ],
+ q(batui) => [
+ q(7676),
+ q(0),
+ ],
+ q(batuley) => [
+ q(1030),
+ q(0),
+ ],
+ q(bau) => [
+ q(1035),
+ q(0),
+ ],
+ q(bau bidayuh) => [
+ q(6064),
+ q(0),
+ ],
+ q(bauchi) => [
+ q(1446),
+ q(0),
+ ],
+ q(baure) => [
+ q(1422),
+ q(0),
+ ],
+ q(bauria) => [
+ q(1159),
+ q(0),
+ ],
+ q(bauro) => [
+ q(1561),
+ q(0),
+ ],
+ q(bauwaki) => [
+ q(1546),
+ q(0),
+ ],
+ q(bauzi) => [
+ q(1535),
+ q(0),
+ ],
+ q(bavarian) => [
+ q(1025),
+ q(0),
+ ],
+ q(bawm chin) => [
+ q(1171),
+ q(0),
+ ],
+ q(bay miwok) => [
+ q(4306),
+ q(0),
+ ],
+ q(bayali) => [
+ q(1247),
+ q(0),
+ ],
+ q(baybayanon) => [
+ q(1534),
+ q(0),
+ ],
+ q(baygo) => [
+ q(1591),
+ q(0),
+ ],
+ q(bayono) => [
+ q(1596),
+ q(0),
+ ],
+ q(bayot) => [
+ q(1083),
+ q(0),
+ ],
+ q(bayungu) => [
+ q(1570),
+ q(0),
+ ],
+ q(bazigar) => [
+ q(1147),
+ q(0),
+ ],
+ q(beami) => [
+ q(1119),
+ q(0),
+ ],
+ q(beaver) => [
+ q(1109),
+ q(0),
+ ],
+ q(beba) => [
+ q(1145),
+ q(0),
+ ],
+ q(bebe) => [
+ q(1630),
+ q(0),
+ ],
+ q(bebele) => [
+ q(1110),
+ q(0),
+ ],
+ q(bebeli) => [
+ q(1118),
+ q(0),
+ ],
+ q(bebil) => [
+ q(1576),
+ q(0),
+ ],
+ q(bedawiyet) => [
+ q(0047),
+ q(0),
+ ],
+ q(bedik) => [
+ q(6545),
+ q(0),
+ ],
+ q(bedjond) => [
+ q(1244),
+ q(0),
+ ],
+ q(bedoanas) => [
+ q(1112),
+ q(0),
+ ],
+ q(beeke) => [
+ q(1252),
+ q(0),
+ ],
+ q(beele) => [
+ q(1577),
+ q(0),
+ ],
+ q(beembe) => [
+ q(1121),
+ q(0),
+ ],
+ q(beezen) => [
+ q(1346),
+ q(0),
+ ],
+ q(befang) => [
+ q(1056),
+ q(0),
+ ],
+ q(begbere-ejar) => [
+ q(1413),
+ q(0),
+ ],
+ q(beja) => [
+ q(0047),
+ q(0),
+ ],
+ q(bekati') => [
+ q(1117),
+ q(0),
+ ],
+ q(bekwarra) => [
+ q(1268),
+ q(0),
+ ],
+ q(bekwel) => [
+ q(1269),
+ q(0),
+ ],
+ q(belait) => [
+ q(1115),
+ q(0),
+ ],
+ q(belanda bor) => [
+ q(1562),
+ q(0),
+ ],
+ q(belanda viri) => [
+ q(1520),
+ q(0),
+ ],
+ q(belarusian) => [
+ q(0048),
+ q(0),
+ ],
+ q(belhariya) => [
+ q(1605),
+ q(0),
+ ],
+ q(beli (papua new guinea)) => [
+ q(1128),
+ q(0),
+ ],
+ q(beli (sudan)) => [
+ q(1284),
+ q(0),
+ ],
+ q(belize kriol english) => [
+ q(1618),
+ q(0),
+ ],
+ q(bella coola) => [
+ q(1274),
+ q(0),
+ ],
+ q(bellari) => [
+ q(1438),
+ q(0),
+ ],
+ q(bemba) => [
+ q(0049),
+ q(0),
+ ],
+ q(bemba (democratic republic of congo)) => [
+ q(1321),
+ q(0),
+ ],
+ q(bemba (zambia)) => [
+ q(0049),
+ q(1),
+ ],
+ q(bembe) => [
+ q(1298),
+ q(0),
+ ],
+ q(bena (nigeria)) => [
+ q(7626),
+ q(0),
+ ],
+ q(bena (tanzania)) => [
+ q(1129),
+ q(0),
+ ],
+ q(benabena) => [
+ q(1114),
+ q(0),
+ ],
+ q(bench) => [
+ q(1074),
+ q(0),
+ ],
+ q(bende) => [
+ q(1098),
+ q(0),
+ ],
+ q(bendi) => [
+ q(1077),
+ q(0),
+ ],
+ q(beneraf) => [
+ q(1342),
+ q(0),
+ ],
+ q(beng) => [
+ q(4814),
+ q(0),
+ ],
+ q(benga) => [
+ q(1329),
+ q(0),
+ ],
+ q(bengali) => [
+ q(0050),
+ q(0),
+ ],
+ q(benggoi) => [
+ q(1178),
+ q(0),
+ ],
+ q(bengkala sign language) => [
+ q(1416),
+ q(0),
+ ],
+ q(bentong) => [
+ q(1341),
+ q(0),
+ ],
+ q(benyadu') => [
+ q(1588),
+ q(0),
+ ],
+ q(beothuk) => [
+ q(1493),
+ q(0),
+ ],
+ q(bepour) => [
+ q(1208),
+ q(0),
+ ],
+ q(bera) => [
+ q(1421),
+ q(0),
+ ],
+ q(berakou) => [
+ q(1581),
+ q(0),
+ ],
+ q(berau malay) => [
+ q(1516),
+ q(0),
+ ],
+ q(berber languages) => [
+ q(0051),
+ q(0),
+ ],
+ q(berbice creole dutch) => [
+ q(1419),
+ q(0),
+ ],
+ q(berik) => [
+ q(1258),
+ q(0),
+ ],
+ q(berinomo) => [
+ q(1218),
+ q(0),
+ ],
+ q(berom) => [
+ q(1357),
+ q(0),
+ ],
+ q(berta) => [
+ q(7148),
+ q(0),
+ ],
+ q(berti) => [
+ q(1603),
+ q(0),
+ ],
+ q(besisi) => [
+ q(4226),
+ q(0),
+ ],
+ q(besme) => [
+ q(1122),
+ q(0),
+ ],
+ q(besoa) => [
+ q(1120),
+ q(0),
+ ],
+ q(betaf) => [
+ q(1134),
+ q(0),
+ ],
+ q(betawi) => [
+ q(1126),
+ q(0),
+ ],
+ q(bete) => [
+ q(1590),
+ q(0),
+ ],
+ q(bete-bendi) => [
+ q(1483),
+ q(0),
+ ],
+ q(beti (cote d'ivoire)) => [
+ q(2253),
+ q(0),
+ ],
+ q(betta kurumba) => [
+ q(7404),
+ q(0),
+ ],
+ q(bezhta) => [
+ q(3124),
+ q(0),
+ ],
+ q(bhadrawahi) => [
+ q(1183),
+ q(0),
+ ],
+ q(bhalay) => [
+ q(1201),
+ q(0),
+ ],
+ q(bharia) => [
+ q(1180),
+ q(0),
+ ],
+ q(bhatola) => [
+ q(1475),
+ q(0),
+ ],
+ q(bhatri) => [
+ q(1176),
+ q(0),
+ ],
+ q(bhattiyali) => [
+ q(1197),
+ q(0),
+ ],
+ q(bhaya) => [
+ q(1184),
+ q(0),
+ ],
+ q(bhele) => [
+ q(1202),
+ q(0),
+ ],
+ q(bhilali) => [
+ q(1188),
+ q(0),
+ ],
+ q(bhili) => [
+ q(1181),
+ q(0),
+ ],
+ q(bhojpuri) => [
+ q(0052),
+ q(0),
+ ],
+ q(bhoti kinnauri) => [
+ q(4777),
+ q(0),
+ ],
+ q(bhujel) => [
+ q(1592),
+ q(0),
+ ],
+ q(bhunjia) => [
+ q(1198),
+ q(0),
+ ],
+ q(biafada) => [
+ q(1209),
+ q(0),
+ ],
+ q(biage) => [
+ q(1088),
+ q(0),
+ ],
+ q(biak) => [
+ q(1200),
+ q(0),
+ ],
+ q(biali) => [
+ q(1116),
+ q(0),
+ ],
+ q(bian marind) => [
+ q(1388),
+ q(0),
+ ],
+ q(biangai) => [
+ q(1210),
+ q(0),
+ ],
+ q(biao) => [
+ q(1595),
+ q(0),
+ ],
+ q(biao mon) => [
+ q(1316),
+ q(0),
+ ],
+ q(biao-jiao mien) => [
+ q(1229),
+ q(0),
+ ],
+ q(biatah bidayuh) => [
+ q(1472),
+ q(0),
+ ],
+ q(bidiyo) => [
+ q(1207),
+ q(0),
+ ],
+ q(bidyara) => [
+ q(1597),
+ q(0),
+ ],
+ q(bidyogo) => [
+ q(1231),
+ q(0),
+ ],
+ q(biem) => [
+ q(1299),
+ q(0),
+ ],
+ q(bierebo) => [
+ q(1332),
+ q(0),
+ ],
+ q(bieria) => [
+ q(1425),
+ q(0),
+ ],
+ q(biete) => [
+ q(1219),
+ q(0),
+ ],
+ q(big nambas) => [
+ q(4915),
+ q(0),
+ ],
+ q(biga) => [
+ q(1182),
+ q(0),
+ ],
+ q(bihari languages) => [
+ q(0053),
+ q(0),
+ ],
+ q(bijori) => [
+ q(1222),
+ q(0),
+ ],
+ q(bikaru) => [
+ q(1206),
+ q(0),
+ ],
+ q(bikol) => [
+ q(0054),
+ q(0),
+ ],
+ q(bikya) => [
+ q(1586),
+ q(0),
+ ],
+ q(bila) => [
+ q(1215),
+ q(0),
+ ],
+ q(bilakura) => [
+ q(1403),
+ q(0),
+ ],
+ q(bilaspuri) => [
+ q(3247),
+ q(0),
+ ],
+ q(bilba) => [
+ q(1392),
+ q(0),
+ ],
+ q(bilbil) => [
+ q(1441),
+ q(0),
+ ],
+ q(bile) => [
+ q(1212),
+ q(0),
+ ],
+ q(bilin) => [
+ q(0067),
+ q(0),
+ ],
+ q(bilma kanuri) => [
+ q(1315),
+ q(0),
+ ],
+ q(biloxi) => [
+ q(1283),
+ q(0),
+ ],
+ q(bilua) => [
+ q(1273),
+ q(0),
+ ],
+ q(bilur) => [
+ q(1566),
+ q(0),
+ ],
+ q(bima) => [
+ q(1193),
+ q(0),
+ ],
+ q(bimin) => [
+ q(1190),
+ q(0),
+ ],
+ q(bimoba) => [
+ q(1213),
+ q(0),
+ ],
+ q(bina (nigeria)) => [
+ q(1594),
+ q(0),
+ ],
+ q(bina (papua new guinea)) => [
+ q(1310),
+ q(0),
+ ],
+ q(binahari) => [
+ q(1584),
+ q(0),
+ ],
+ q(binandere) => [
+ q(1186),
+ q(0),
+ ],
+ q(bine) => [
+ q(1358),
+ q(0),
+ ],
+ q(bini) => [
+ q(0055),
+ q(0),
+ ],
+ q(binji) => [
+ q(1376),
+ q(0),
+ ],
+ q(binongan itneg) => [
+ q(2966),
+ q(0),
+ ],
+ q(bintauna) => [
+ q(1327),
+ q(0),
+ ],
+ q(bintulu) => [
+ q(1345),
+ q(0),
+ ],
+ q(binukid) => [
+ q(1251),
+ q(0),
+ ],
+ q(binumarien) => [
+ q(1240),
+ q(0),
+ ],
+ q(bipi) => [
+ q(1216),
+ q(0),
+ ],
+ q(birale) => [
+ q(1565),
+ q(0),
+ ],
+ q(birao) => [
+ q(1433),
+ q(0),
+ ],
+ q(birgit) => [
+ q(1470),
+ q(0),
+ ],
+ q(birhor) => [
+ q(1223),
+ q(0),
+ ],
+ q(biri) => [
+ q(1626),
+ q(0),
+ ],
+ q(biritai) => [
+ q(1408),
+ q(0),
+ ],
+ q(birked) => [
+ q(1426),
+ q(0),
+ ],
+ q(birri) => [
+ q(1527),
+ q(0),
+ ],
+ q(birwa) => [
+ q(1427),
+ q(0),
+ ],
+ q(bisa) => [
+ q(1205),
+ q(0),
+ ],
+ q(biseni) => [
+ q(2892),
+ q(0),
+ ],
+ q(bishnupriya) => [
+ q(1391),
+ q(0),
+ ],
+ q(bishuo) => [
+ q(1543),
+ q(0),
+ ],
+ q(bisis) => [
+ q(1343),
+ q(0),
+ ],
+ q(bislama) => [
+ q(0056),
+ q(0),
+ ],
+ q(bisorio) => [
+ q(1217),
+ q(0),
+ ],
+ q(bissa) => [
+ q(1205),
+ q(0),
+ ],
+ q(bisu) => [
+ q(1617),
+ q(0),
+ ],
+ q(bit) => [
+ q(1164),
+ q(0),
+ ],
+ q(bitare) => [
+ q(1435),
+ q(0),
+ ],
+ q(bitur) => [
+ q(4100),
+ q(0),
+ ],
+ q(biwat) => [
+ q(1548),
+ q(0),
+ ],
+ q(biyo) => [
+ q(1598),
+ q(0),
+ ],
+ q(biyom) => [
+ q(1379),
+ q(0),
+ ],
+ q(blablanga) => [
+ q(1287),
+ q(0),
+ ],
+ q(blafe) => [
+ q(1137),
+ q(0),
+ ],
+ q(blagar) => [
+ q(1124),
+ q(0),
+ ],
+ q(blang) => [
+ q(1289),
+ q(0),
+ ],
+ q(blin) => [
+ q(0067),
+ q(0),
+ ],
+ q(bliss) => [
+ q(0478),
+ q(0),
+ ],
+ q(blissymbolics) => [
+ q(0478),
+ q(0),
+ ],
+ q(blissymbols) => [
+ q(0478),
+ q(0),
+ ],
+ q(bo (laos)) => [
+ q(1165),
+ q(0),
+ ],
+ q(bo (papua new guinea)) => [
+ q(1389),
+ q(0),
+ ],
+ q(bo-rukul) => [
+ q(4062),
+ q(0),
+ ],
+ q(bo-ung) => [
+ q(4548),
+ q(0),
+ ],
+ q(boano (maluku)) => [
+ q(1622),
+ q(0),
+ ],
+ q(boano (sulawesi)) => [
+ q(1620),
+ q(0),
+ ],
+ q(bobongko) => [
+ q(1156),
+ q(0),
+ ],
+ q(bobot) => [
+ q(1488),
+ q(0),
+ ],
+ q(bodo (central african republic)) => [
+ q(1368),
+ q(0),
+ ],
+ q(bodo (india)) => [
+ q(1439),
+ q(0),
+ ],
+ q(bodo gadaba) => [
+ q(2400),
+ q(0),
+ ],
+ q(bodo parja) => [
+ q(1104),
+ q(0),
+ ],
+ q(bofi) => [
+ q(1135),
+ q(0),
+ ],
+ q(boga) => [
+ q(1532),
+ q(0),
+ ],
+ q(bogaya) => [
+ q(1361),
+ q(0),
+ ],
+ q(boghom) => [
+ q(1509),
+ q(0),
+ ],
+ q(boguru) => [
+ q(1412),
+ q(0),
+ ],
+ q(bohtan neo-aramaic) => [
+ q(1192),
+ q(0),
+ ],
+ q(boikin) => [
+ q(1614),
+ q(0),
+ ],
+ q(bokha) => [
+ q(7464),
+ q(0),
+ ],
+ q(bokmal, norwegian) => [
+ q(0313),
+ q(0),
+ ],
+ q(boko (benin)) => [
+ q(1395),
+ q(0),
+ ],
+ q(boko (democratic republic of congo)) => [
+ q(1262),
+ q(0),
+ ],
+ q(bokobaru) => [
+ q(1504),
+ q(0),
+ ],
+ q(bokoto) => [
+ q(1102),
+ q(0),
+ ],
+ q(bokyi) => [
+ q(1271),
+ q(0),
+ ],
+ q(bola) => [
+ q(1337),
+ q(0),
+ ],
+ q(bolango) => [
+ q(1275),
+ q(0),
+ ],
+ q(bole) => [
+ q(1356),
+ q(0),
+ ],
+ q(bolgarian) => [
+ q(7200),
+ q(0),
+ ],
+ q(bolgo) => [
+ q(1526),
+ q(0),
+ ],
+ q(bolia) => [
+ q(1280),
+ q(0),
+ ],
+ q(bolinao) => [
+ q(6049),
+ q(0),
+ ],
+ q(bolivian sign language) => [
+ q(1523),
+ q(0),
+ ],
+ q(bolo) => [
+ q(1292),
+ q(0),
+ ],
+ q(boloki) => [
+ q(1266),
+ q(0),
+ ],
+ q(bolon) => [
+ q(1350),
+ q(0),
+ ],
+ q(bolondo) => [
+ q(1621),
+ q(0),
+ ],
+ q(bolongan) => [
+ q(1281),
+ q(0),
+ ],
+ q(bolyu) => [
+ q(5443),
+ q(0),
+ ],
+ q(bom) => [
+ q(1302),
+ q(0),
+ ],
+ q(boma) => [
+ q(1352),
+ q(0),
+ ],
+ q(bomboli) => [
+ q(1308),
+ q(0),
+ ],
+ q(bomboma) => [
+ q(1554),
+ q(0),
+ ],
+ q(bomitaba) => [
+ q(7742),
+ q(0),
+ ],
+ q(bomu) => [
+ q(1313),
+ q(0),
+ ],
+ q(bomwali) => [
+ q(1319),
+ q(0),
+ ],
+ q(bon gula) => [
+ q(2508),
+ q(0),
+ ],
+ q(bonan) => [
+ q(5347),
+ q(0),
+ ],
+ q(bondei) => [
+ q(1364),
+ q(0),
+ ],
+ q(bondo) => [
+ q(1151),
+ q(0),
+ ],
+ q(bondoukou kulango) => [
+ q(3720),
+ q(0),
+ ],
+ q(bondum dom dogon) => [
+ q(1962),
+ q(0),
+ ],
+ q(bonerate) => [
+ q(1323),
+ q(0),
+ ],
+ q(bonerif) => [
+ q(1342),
+ q(0),
+ ],
+ q(bonggi) => [
+ q(1089),
+ q(0),
+ ],
+ q(bonggo) => [
+ q(1373),
+ q(0),
+ ],
+ q(bongili) => [
+ q(1496),
+ q(0),
+ ],
+ q(bongo) => [
+ q(1363),
+ q(0),
+ ],
+ q(bongu) => [
+ q(1387),
+ q(0),
+ ],
+ q(bonjo) => [
+ q(1355),
+ q(0),
+ ],
+ q(bonkeng) => [
+ q(1518),
+ q(0),
+ ],
+ q(bonkiman) => [
+ q(1360),
+ q(0),
+ ],
+ q(bontok) => [
+ q(1325),
+ q(0),
+ ],
+ q(bookan) => [
+ q(1324),
+ q(0),
+ ],
+ q(boon) => [
+ q(1333),
+ q(0),
+ ],
+ q(boor) => [
+ q(1517),
+ q(0),
+ ],
+ q(bora) => [
+ q(1347),
+ q(0),
+ ],
+ q(borana-arsi-guji oromo) => [
+ q(2390),
+ q(0),
+ ],
+ q(border kuna) => [
+ q(3628),
+ q(0),
+ ],
+ q(borei) => [
+ q(2376),
+ q(0),
+ ],
+ q(borgu fulfulde) => [
+ q(2354),
+ q(0),
+ ],
+ q(borna (democratic republic of congo)) => [
+ q(1583),
+ q(0),
+ ],
+ q(borna (ethiopia)) => [
+ q(1550),
+ q(0),
+ ],
+ q(boro (ethiopia)) => [
+ q(1550),
+ q(0),
+ ],
+ q(boro (ghana)) => [
+ q(7425),
+ q(0),
+ ],
+ q(borong) => [
+ q(3559),
+ q(0),
+ ],
+ q(bororo) => [
+ q(1362),
+ q(0),
+ ],
+ q(boruca) => [
+ q(1429),
+ q(0),
+ ],
+ q(boselewa) => [
+ q(1541),
+ q(0),
+ ],
+ q(bosngun) => [
+ q(1410),
+ q(0),
+ ],
+ q(bosnian) => [
+ q(0059),
+ q(0),
+ ],
+ q(bote-majhi) => [
+ q(1306),
+ q(0),
+ ],
+ q(botlikh) => [
+ q(1374),
+ q(0),
+ ],
+ q(botolan sambal) => [
+ q(5840),
+ q(0),
+ ],
+ q(bouna kulango) => [
+ q(4893),
+ q(0),
+ ],
+ q(bouyei) => [
+ q(5319),
+ q(0),
+ ],
+ q(bozaba) => [
+ q(1623),
+ q(0),
+ ],
+ q(bragat) => [
+ q(0819),
+ q(0),
+ ],
+ q(brahui) => [
+ q(1423),
+ q(0),
+ ],
+ q(braj) => [
+ q(0060),
+ q(0),
+ ],
+ q(brazilian sign language) => [
+ q(1627),
+ q(0),
+ ],
+ q(brek karen) => [
+ q(3626),
+ q(0),
+ ],
+ q(brem) => [
+ q(1503),
+ q(0),
+ ],
+ q(breri) => [
+ q(1432),
+ q(0),
+ ],
+ q(breton) => [
+ q(0061),
+ q(0),
+ ],
+ q(bribri) => [
+ q(1612),
+ q(0),
+ ],
+ q(brithenig) => [
+ q(1628),
+ q(0),
+ ],
+ q(british sign language) => [
+ q(1138),
+ q(0),
+ ],
+ q(brokkat) => [
+ q(1430),
+ q(0),
+ ],
+ q(brokpake) => [
+ q(5931),
+ q(0),
+ ],
+ q(brokskat) => [
+ q(1257),
+ q(0),
+ ],
+ q(brooke's point palawano) => [
+ q(5442),
+ q(0),
+ ],
+ q(broome pearling lugger pidgin) => [
+ q(1378),
+ q(0),
+ ],
+ q(brunei) => [
+ q(3670),
+ q(0),
+ ],
+ q(brunei bisaya) => [
+ q(1443),
+ q(0),
+ ],
+ q(bu) => [
+ q(3046),
+ q(0),
+ ],
+ q(bu-nao bunu) => [
+ q(1558),
+ q(0),
+ ],
+ q(bua) => [
+ q(1490),
+ q(0),
+ ],
+ q(bualkhaw chin) => [
+ q(1665),
+ q(0),
+ ],
+ q(buamu) => [
+ q(1367),
+ q(0),
+ ],
+ q(bube) => [
+ q(1513),
+ q(0),
+ ],
+ q(bubi) => [
+ q(1508),
+ q(0),
+ ],
+ q(bubia) => [
+ q(1055),
+ q(0),
+ ],
+ q(budeh stieng) => [
+ q(6196),
+ q(0),
+ ],
+ q(budibud) => [
+ q(1479),
+ q(0),
+ ],
+ q(budong-budong) => [
+ q(1106),
+ q(0),
+ ],
+ q(budu) => [
+ q(1506),
+ q(0),
+ ],
+ q(budukh) => [
+ q(1093),
+ q(0),
+ ],
+ q(buduma) => [
+ q(1095),
+ q(0),
+ ],
+ q(budza) => [
+ q(1225),
+ q(0),
+ ],
+ q(bugan) => [
+ q(1039),
+ q(0),
+ ],
+ q(bugawac) => [
+ q(1498),
+ q(0),
+ ],
+ q(bughotu) => [
+ q(1173),
+ q(0),
+ ],
+ q(buginese) => [
+ q(0064),
+ q(0),
+ ],
+ q(buglere) => [
+ q(5813),
+ q(0),
+ ],
+ q(bugun) => [
+ q(1161),
+ q(0),
+ ],
+ q(buhi'non bikol) => [
+ q(6774),
+ q(0),
+ ],
+ q(buhid) => [
+ q(1267),
+ q(0),
+ ],
+ q(buhutu) => [
+ q(1568),
+ q(0),
+ ],
+ q(bukar-sadung bidayuh) => [
+ q(5883),
+ q(0),
+ ],
+ q(bukat) => [
+ q(1522),
+ q(0),
+ ],
+ q(bukharic) => [
+ q(1187),
+ q(0),
+ ],
+ q(bukit malay) => [
+ q(1530),
+ q(0),
+ ],
+ q(bukitan) => [
+ q(1260),
+ q(0),
+ ],
+ q(bukiyip) => [
+ q(0836),
+ q(0),
+ ],
+ q(buksa) => [
+ q(6468),
+ q(0),
+ ],
+ q(bukusu) => [
+ q(1571),
+ q(0),
+ ],
+ q(bukwen) => [
+ q(1511),
+ q(0),
+ ],
+ q(bulgarian) => [
+ q(0065),
+ q(0),
+ ],
+ q(bulgarian sign language) => [
+ q(1405),
+ q(0),
+ ],
+ q(bulgebi) => [
+ q(1312),
+ q(0),
+ ],
+ q(buli (ghana)) => [
+ q(1556),
+ q(0),
+ ],
+ q(buli (indonesia)) => [
+ q(1625),
+ q(0),
+ ],
+ q(bullom so) => [
+ q(1510),
+ q(0),
+ ],
+ q(bulo stieng) => [
+ q(6185),
+ q(0),
+ ],
+ q(bulu (cameroon)) => [
+ q(1499),
+ q(0),
+ ],
+ q(bulu (papua new guinea)) => [
+ q(1236),
+ q(0),
+ ],
+ q(bum) => [
+ q(1318),
+ q(0),
+ ],
+ q(bumaji) => [
+ q(1599),
+ q(0),
+ ],
+ q(bumbita arapesh) => [
+ q(0827),
+ q(0),
+ ],
+ q(bumthangkha) => [
+ q(3348),
+ q(0),
+ ],
+ q(bun) => [
+ q(1507),
+ q(0),
+ ],
+ q(buna) => [
+ q(1525),
+ q(0),
+ ],
+ q(bunaba) => [
+ q(1068),
+ q(0),
+ ],
+ q(bunak) => [
+ q(1143),
+ q(0),
+ ],
+ q(bunama) => [
+ q(1086),
+ q(0),
+ ],
+ q(bundeli) => [
+ q(1340),
+ q(0),
+ ],
+ q(bung) => [
+ q(1396),
+ q(0),
+ ],
+ q(bungain) => [
+ q(1505),
+ q(0),
+ ],
+ q(bungku) => [
+ q(1272),
+ q(0),
+ ],
+ q(bungu) => [
+ q(7158),
+ q(0),
+ ],
+ q(bunoge dogon) => [
+ q(1992),
+ q(0),
+ ],
+ q(bunun) => [
+ q(1335),
+ q(0),
+ ],
+ q(buol) => [
+ q(1277),
+ q(0),
+ ],
+ q(bura-pabir) => [
+ q(1553),
+ q(0),
+ ],
+ q(burak) => [
+ q(1602),
+ q(0),
+ ],
+ q(buraka) => [
+ q(1253),
+ q(0),
+ ],
+ q(burarra) => [
+ q(1528),
+ q(0),
+ ],
+ q(burate) => [
+ q(1473),
+ q(0),
+ ],
+ q(burduna) => [
+ q(1574),
+ q(0),
+ ],
+ q(bure) => [
+ q(1519),
+ q(0),
+ ],
+ q(buriat) => [
+ q(0063),
+ q(0),
+ ],
+ q(burji) => [
+ q(1233),
+ q(0),
+ ],
+ q(burmbar) => [
+ q(6962),
+ q(0),
+ ],
+ q(burmese) => [
+ q(0066),
+ q(0),
+ ],
+ q(burmeso) => [
+ q(1629),
+ q(0),
+ ],
+ q(buru (indonesia)) => [
+ q(4240),
+ q(0),
+ ],
+ q(buru (nigeria)) => [
+ q(1414),
+ q(0),
+ ],
+ q(burui) => [
+ q(1440),
+ q(0),
+ ],
+ q(burumakok) => [
+ q(0706),
+ q(0),
+ ],
+ q(burun) => [
+ q(1091),
+ q(0),
+ ],
+ q(burunge) => [
+ q(1101),
+ q(0),
+ ],
+ q(burushaski) => [
+ q(1451),
+ q(0),
+ ],
+ q(burusu) => [
+ q(1409),
+ q(0),
+ ],
+ q(buruwai) => [
+ q(0891),
+ q(0),
+ ],
+ q(busa) => [
+ q(1407),
+ q(0),
+ ],
+ q(busam) => [
+ q(1579),
+ q(0),
+ ],
+ q(busami) => [
+ q(1453),
+ q(0),
+ ],
+ q(busang kayan) => [
+ q(1136),
+ q(0),
+ ],
+ q(bushi) => [
+ q(1491),
+ q(0),
+ ],
+ q(bushoong) => [
+ q(1494),
+ q(0),
+ ],
+ q(businenge tongo) => [
+ q(2048),
+ q(0),
+ ],
+ q(buso) => [
+ q(1455),
+ q(0),
+ ],
+ q(busoa) => [
+ q(1502),
+ q(0),
+ ],
+ q(bussa) => [
+ q(2108),
+ q(0),
+ ],
+ q(busuu) => [
+ q(1243),
+ q(0),
+ ],
+ q(butbut kalinga) => [
+ q(3693),
+ q(0),
+ ],
+ q(butmas-tur) => [
+ q(1339),
+ q(0),
+ ],
+ q(butuanon) => [
+ q(1486),
+ q(0),
+ ],
+ q(buwal) => [
+ q(1196),
+ q(0),
+ ],
+ q(buxinhua) => [
+ q(1164),
+ q(0),
+ ],
+ q(buya) => [
+ q(1607),
+ q(0),
+ ],
+ q(buyu) => [
+ q(1593),
+ q(0),
+ ],
+ q(buyuan jinuo) => [
+ q(3058),
+ q(0),
+ ],
+ q(bwa) => [
+ q(1557),
+ q(0),
+ ],
+ q(bwaidoka) => [
+ q(1539),
+ q(0),
+ ],
+ q(bwanabwana) => [
+ q(6659),
+ q(0),
+ ],
+ q(bwatoo) => [
+ q(1536),
+ q(0),
+ ],
+ q(bwe karen) => [
+ q(1540),
+ q(0),
+ ],
+ q(bwela) => [
+ q(1547),
+ q(0),
+ ],
+ q(bwile) => [
+ q(1538),
+ q(0),
+ ],
+ q(bwisi) => [
+ q(1560),
+ q(0),
+ ],
+ q(byangsi) => [
+ q(1113),
+ q(0),
+ ],
+ q(byep) => [
+ q(4300),
+ q(0),
+ ],
+ q(c'lela) => [
+ q(2117),
+ q(0),
+ ],
+ q(caac) => [
+ q(4496),
+ q(0),
+ ],
+ q(cabecar) => [
+ q(1746),
+ q(0),
+ ],
+ q(cabiyari) => [
+ q(1656),
+ q(0),
+ ],
+ q(cacaloxtepec mixtec) => [
+ q(4264),
+ q(0),
+ ],
+ q(cacaopera) => [
+ q(1687),
+ q(0),
+ ],
+ q(cacgia roglai) => [
+ q(5769),
+ q(0),
+ ],
+ q(cacua) => [
+ q(1672),
+ q(0),
+ ],
+ q(caddo) => [
+ q(0068),
+ q(0),
+ ],
+ q(caddoan languages) => [
+ q(0497),
+ q(0),
+ ],
+ q(cafundo creole) => [
+ q(1677),
+ q(0),
+ ],
+ q(cagua) => [
+ q(1661),
+ q(0),
+ ],
+ q(cahuarano) => [
+ q(1641),
+ q(0),
+ ],
+ q(cahuilla) => [
+ q(1719),
+ q(0),
+ ],
+ q(cajamarca quechua) => [
+ q(5635),
+ q(0),
+ ],
+ q(cajatambo north lima quechua) => [
+ q(5640),
+ q(0),
+ ],
+ q(cajonos zapotec) => [
+ q(7653),
+ q(0),
+ ],
+ q(cajun french) => [
+ q(2342),
+ q(0),
+ ],
+ q(caka) => [
+ q(1761),
+ q(0),
+ ],
+ q(cakchiquel) => [
+ q(1643),
+ q(0),
+ ],
+ q(cakchiquel-quiche mixed language) => [
+ q(1763),
+ q(0),
+ ],
+ q(cakfem-mushere) => [
+ q(1762),
+ q(0),
+ ],
+ q(calamian tagbanwa) => [
+ q(6311),
+ q(0),
+ ],
+ q(calderon highland quichua) => [
+ q(5616),
+ q(0),
+ ],
+ q(callawalla) => [
+ q(1652),
+ q(0),
+ ],
+ q(calo) => [
+ q(5752),
+ q(0),
+ ],
+ q(caluyanun) => [
+ q(1774),
+ q(0),
+ ],
+ q(cameroon mambila) => [
+ q(4118),
+ q(0),
+ ],
+ q(cameroon pidgin) => [
+ q(7023),
+ q(0),
+ ],
+ q(camling) => [
+ q(5671),
+ q(0),
+ ],
+ q(campalagian) => [
+ q(1781),
+ q(0),
+ ],
+ q(campidanese sardinian) => [
+ q(6144),
+ q(0),
+ ],
+ q(camsa) => [
+ q(3135),
+ q(0),
+ ],
+ q(camtho) => [
+ q(1787),
+ q(0),
+ ],
+ q(camunic) => [
+ q(7205),
+ q(0),
+ ],
+ q(canar highland quichua) => [
+ q(5663),
+ q(0),
+ ],
+ q(candoshi-shapra) => [
+ q(1671),
+ q(0),
+ ],
+ q(canela) => [
+ q(5680),
+ q(0),
+ ],
+ q(canichana) => [
+ q(1655),
+ q(0),
+ ],
+ q(cao lan) => [
+ q(4318),
+ q(0),
+ ],
+ q(cao miao) => [
+ q(1819),
+ q(0),
+ ],
+ q(capanahua) => [
+ q(3125),
+ q(0),
+ ],
+ q(capiznon) => [
+ q(1830),
+ q(0),
+ ],
+ q(cappadocian greek) => [
+ q(1827),
+ q(0),
+ ],
+ q(caquinte) => [
+ q(1817),
+ q(0),
+ ],
+ q(car nicobarese) => [
+ q(1649),
+ q(0),
+ ],
+ q(cara) => [
+ q(1707),
+ q(0),
+ ],
+ q(carabayo) => [
+ q(1674),
+ q(0),
+ ],
+ q(caramanta) => [
+ q(1840),
+ q(0),
+ ],
+ q(carapana) => [
+ q(1657),
+ q(0),
+ ],
+ q(carian) => [
+ q(7213),
+ q(0),
+ ],
+ q(caribbean hindustani) => [
+ q(2768),
+ q(0),
+ ],
+ q(caribbean javanese) => [
+ q(3110),
+ q(0),
+ ],
+ q(carijona) => [
+ q(1658),
+ q(0),
+ ],
+ q(carolina algonquian) => [
+ q(1850),
+ q(0),
+ ],
+ q(carolinian) => [
+ q(1644),
+ q(0),
+ ],
+ q(carpathian romani) => [
+ q(5739),
+ q(0),
+ ],
+ q(carrier) => [
+ q(1855),
+ q(0),
+ ],
+ q(cashibo-cacataibo) => [
+ q(1668),
+ q(0),
+ ],
+ q(cashinahua) => [
+ q(1669),
+ q(0),
+ ],
+ q(casiguran dumagat agta) => [
+ q(1993),
+ q(0),
+ ],
+ q(castilian) => [
+ q(0401),
+ q(0),
+ ],
+ q(casuarina coast asmat) => [
+ q(0885),
+ q(0),
+ ],
+ q(catalan) => [
+ q(0071),
+ q(0),
+ ],
+ q(catalan sign language) => [
+ q(1859),
+ q(0),
+ ],
+ q(catawba) => [
+ q(1714),
+ q(0),
+ ],
+ q(cauca) => [
+ q(1675),
+ q(0),
+ ],
+ q(caucasian languages) => [
+ q(0072),
+ q(0),
+ ],
+ q(cavinena) => [
+ q(1651),
+ q(0),
+ ],
+ q(cayubaba) => [
+ q(1920),
+ q(0),
+ ],
+ q(cayuga) => [
+ q(1654),
+ q(0),
+ ],
+ q(cayuse) => [
+ q(7218),
+ q(0),
+ ],
+ q(cebaara senoufo) => [
+ q(5896),
+ q(0),
+ ],
+ q(cebuano) => [
+ q(0073),
+ q(0),
+ ],
+ q(celtiberian) => [
+ q(7206),
+ q(0),
+ ],
+ q(celtic languages) => [
+ q(0074),
+ q(0),
+ ],
+ q(cemuhi) => [
+ q(1645),
+ q(0),
+ ],
+ q(cen) => [
+ q(1704),
+ q(0),
+ ],
+ q(central american indian languages) => [
+ q(0069),
+ q(0),
+ ],
+ q(central asmat) => [
+ q(1797),
+ q(0),
+ ],
+ q(central atlas tamazight) => [
+ q(6765),
+ q(0),
+ ],
+ q(central awyu) => [
+ q(0977),
+ q(0),
+ ],
+ q(central aymara) => [
+ q(1001),
+ q(0),
+ ],
+ q(central bai) => [
+ q(1058),
+ q(0),
+ ],
+ q(central berawan) => [
+ q(7674),
+ q(0),
+ ],
+ q(central bicolano) => [
+ q(1069),
+ q(0),
+ ],
+ q(central bontok) => [
+ q(3772),
+ q(0),
+ ],
+ q(central cagayan agta) => [
+ q(0671),
+ q(0),
+ ],
+ q(central dusun) => [
+ q(2140),
+ q(0),
+ ],
+ q(central grebo) => [
+ q(2588),
+ q(0),
+ ],
+ q(central hongshuihe zhuang) => [
+ q(7679),
+ q(0),
+ ],
+ q(central huasteca nahuatl) => [
+ q(4723),
+ q(0),
+ ],
+ q(central huishui hmong) => [
+ q(2739),
+ q(0),
+ ],
+ q(central huishui miao) => [
+ q(2739),
+ q(0),
+ ],
+ q(central kanuri) => [
+ q(3428),
+ q(0),
+ ],
+ q(central khmer) => [
+ q(0222),
+ q(0),
+ ],
+ q(central kurdish) => [
+ q(1751),
+ q(0),
+ ],
+ q(central maewo) => [
+ q(4588),
+ q(0),
+ ],
+ q(central malay) => [
+ q(5547),
+ q(0),
+ ],
+ q(central malayo-polynesian languages) => [
+ q(0518),
+ q(0),
+ ],
+ q(central masela) => [
+ q(4624),
+ q(0),
+ ],
+ q(central mashan hmong) => [
+ q(2749),
+ q(0),
+ ],
+ q(central mashan miao) => [
+ q(2749),
+ q(0),
+ ],
+ q(central mazahua) => [
+ q(4072),
+ q(0),
+ ],
+ q(central melanau) => [
+ q(4158),
+ q(0),
+ ],
+ q(central mnong) => [
+ q(1784),
+ q(0),
+ ],
+ q(central nahuatl) => [
+ q(4824),
+ q(0),
+ ],
+ q(central nicobarese) => [
+ q(4717),
+ q(0),
+ ],
+ q(central ojibwa) => [
+ q(5157),
+ q(0),
+ ],
+ q(central okinawan) => [
+ q(5811),
+ q(0),
+ ],
+ q(central palawano) => [
+ q(5425),
+ q(0),
+ ],
+ q(central pame) => [
+ q(5311),
+ q(0),
+ ],
+ q(central pashto) => [
+ q(5559),
+ q(0),
+ ],
+ q(central pomo) => [
+ q(5497),
+ q(0),
+ ],
+ q(central puebla nahuatl) => [
+ q(4736),
+ q(0),
+ ],
+ q(central sama) => [
+ q(6050),
+ q(0),
+ ],
+ q(central siberian yupik) => [
+ q(2274),
+ q(0),
+ ],
+ q(central sierra miwok) => [
+ q(1868),
+ q(0),
+ ],
+ q(central subanen) => [
+ q(6258),
+ q(0),
+ ],
+ q(central sudanic languages) => [
+ q(0498),
+ q(0),
+ ],
+ q(central tagbanwa) => [
+ q(6411),
+ q(0),
+ ],
+ q(central tarahumara) => [
+ q(6293),
+ q(0),
+ ],
+ q(central tunebo) => [
+ q(6685),
+ q(0),
+ ],
+ q(central yupik) => [
+ q(2275),
+ q(0),
+ ],
+ q(central-eastern niger fulfulde) => [
+ q(2361),
+ q(0),
+ ],
+ q(centuum) => [
+ q(1705),
+ q(0),
+ ],
+ q(cerma) => [
+ q(1778),
+ q(0),
+ ],
+ q(chachapoyas quechua) => [
+ q(5621),
+ q(0),
+ ],
+ q(chachi) => [
+ q(1662),
+ q(0),
+ ],
+ q(chacobo) => [
+ q(1647),
+ q(0),
+ ],
+ q(chadian arabic) => [
+ q(5955),
+ q(0),
+ ],
+ q(chadian sign language) => [
+ q(1699),
+ q(0),
+ ],
+ q(chadic languages) => [
+ q(0496),
+ q(0),
+ ],
+ q(chadong) => [
+ q(1700),
+ q(0),
+ ],
+ q(chagatai) => [
+ q(0078),
+ q(0),
+ ],
+ q(chaima) => [
+ q(1737),
+ q(0),
+ ],
+ q(chak) => [
+ q(1752),
+ q(0),
+ ],
+ q(chakali) => [
+ q(1769),
+ q(0),
+ ],
+ q(chakma) => [
+ q(1685),
+ q(0),
+ ],
+ q(chala) => [
+ q(1771),
+ q(0),
+ ],
+ q(chaldean neo-aramaic) => [
+ q(1766),
+ q(0),
+ ],
+ q(chalikha) => [
+ q(6401),
+ q(0),
+ ],
+ q(chamacoco) => [
+ q(1703),
+ q(0),
+ ],
+ q(chamalal) => [
+ q(1741),
+ q(0),
+ ],
+ q(chamari) => [
+ q(1691),
+ q(0),
+ ],
+ q(chambeali) => [
+ q(1692),
+ q(0),
+ ],
+ q(chambri) => [
+ q(1646),
+ q(0),
+ ],
+ q(chamic languages) => [
+ q(0089),
+ q(0),
+ ],
+ q(chamicuro) => [
+ q(1676),
+ q(0),
+ ],
+ q(chamorro) => [
+ q(0075),
+ q(0),
+ ],
+ q(chane) => [
+ q(1642),
+ q(0),
+ ],
+ q(chang naga) => [
+ q(4695),
+ q(0),
+ ],
+ q(changriwa) => [
+ q(1710),
+ q(0),
+ ],
+ q(changthang) => [
+ q(1788),
+ q(0),
+ ],
+ q(chantyal) => [
+ q(1723),
+ q(0),
+ ],
+ q(chara) => [
+ q(1836),
+ q(0),
+ ],
+ q(chaudangsi) => [
+ q(1696),
+ q(0),
+ ],
+ q(chaungtha) => [
+ q(1686),
+ q(0),
+ ],
+ q(chaura) => [
+ q(1853),
+ q(0),
+ ],
+ q(chavacano) => [
+ q(1664),
+ q(0),
+ ],
+ q(chayahuita) => [
+ q(1670),
+ q(0),
+ ],
+ q(chayuco mixtec) => [
+ q(4253),
+ q(0),
+ ],
+ q(chazumba mixtec) => [
+ q(7383),
+ q(0),
+ ],
+ q(che) => [
+ q(5797),
+ q(0),
+ ],
+ q(chechen) => [
+ q(0077),
+ q(0),
+ ],
+ q(cheke holo) => [
+ q(4468),
+ q(0),
+ ],
+ q(chemakum) => [
+ q(7208),
+ q(0),
+ ],
+ q(chenapian) => [
+ q(1744),
+ q(0),
+ ],
+ q(chenchu) => [
+ q(1689),
+ q(0),
+ ],
+ q(chenoua) => [
+ q(1799),
+ q(0),
+ ],
+ q(chepang) => [
+ q(1695),
+ q(0),
+ ],
+ q(chepya) => [
+ q(7474),
+ q(0),
+ ],
+ q(cheq wong) => [
+ q(1917),
+ q(0),
+ ],
+ q(cherepon) => [
+ q(1829),
+ q(0),
+ ],
+ q(cherokee) => [
+ q(0085),
+ q(0),
+ ],
+ q(chesu) => [
+ q(7471),
+ q(0),
+ ],
+ q(chetco) => [
+ q(1879),
+ q(0),
+ ],
+ q(chewa) => [
+ q(0321),
+ q(0),
+ ],
+ q(chewong) => [
+ q(1917),
+ q(0),
+ ],
+ q(cheyenne) => [
+ q(0088),
+ q(0),
+ ],
+ q(chhattisgarhi) => [
+ q(2762),
+ q(0),
+ ],
+ q(chhintange) => [
+ q(1885),
+ q(0),
+ ],
+ q(chhulung) => [
+ q(1905),
+ q(0),
+ ],
+ q(chiangmai sign language) => [
+ q(1860),
+ q(0),
+ ],
+ q(chiapanec) => [
+ q(1734),
+ q(0),
+ ],
+ q(chibcha) => [
+ q(0076),
+ q(0),
+ ],
+ q(chibchan languages) => [
+ q(0493),
+ q(0),
+ ],
+ q(chicahuaxtla triqui) => [
+ q(6624),
+ q(0),
+ ],
+ q(chichewa) => [
+ q(0321),
+ q(0),
+ ],
+ q(chichicapan zapotec) => [
+ q(7778),
+ q(0),
+ ],
+ q(chichimeca-jonaz) => [
+ q(5348),
+ q(0),
+ ],
+ q(chichonyi-chidzihana-chikauma) => [
+ q(1809),
+ q(0),
+ ],
+ q(chickasaw) => [
+ q(1727),
+ q(0),
+ ],
+ q(chicomuceltec) => [
+ q(1803),
+ q(0),
+ ],
+ q(chidigo) => [
+ q(2023),
+ q(0),
+ ],
+ q(chiduruma) => [
+ q(2150),
+ q(0),
+ ],
+ q(chiga) => [
+ q(1712),
+ q(0),
+ ],
+ q(chigmecatitlan mixtec) => [
+ q(4254),
+ q(0),
+ ],
+ q(chilcotin) => [
+ q(1765),
+ q(0),
+ ],
+ q(chilean quechua) => [
+ q(1835),
+ q(0),
+ ],
+ q(chilean sign language) => [
+ q(1863),
+ q(0),
+ ],
+ q(chilisso) => [
+ q(1768),
+ q(0),
+ ],
+ q(chiltepec chinantec) => [
+ q(1858),
+ q(0),
+ ],
+ q(chimakum) => [
+ q(7208),
+ q(0),
+ ],
+ q(chimalapa zoque) => [
+ q(7751),
+ q(0),
+ ],
+ q(chimariko) => [
+ q(1728),
+ q(0),
+ ],
+ q(chimborazo highland quichua) => [
+ q(5618),
+ q(0),
+ ],
+ q(chimila) => [
+ q(1660),
+ q(0),
+ ],
+ q(china buriat) => [
+ q(1580),
+ q(0),
+ ],
+ q(chinali) => [
+ q(1730),
+ q(0),
+ ],
+ q(chinbon chin) => [
+ q(1789),
+ q(0),
+ ],
+ q(chincha quechua) => [
+ q(5656),
+ q(0),
+ ],
+ q(chinese) => [
+ q(0079),
+ q(0),
+ ],
+ q(chinese (family)) => [
+ q(0532),
+ q(0),
+ ],
+ q(chinese pidgin english) => [
+ q(1828),
+ q(0),
+ ],
+ q(chinese sign language) => [
+ q(1867),
+ q(0),
+ ],
+ q(chinook) => [
+ q(1717),
+ q(0),
+ ],
+ q(chinook jargon) => [
+ q(0082),
+ q(0),
+ ],
+ q(chipaya) => [
+ q(1648),
+ q(0),
+ ],
+ q(chipewyan) => [
+ q(0084),
+ q(0),
+ ],
+ q(chipiajes) => [
+ q(1659),
+ q(0),
+ ],
+ q(chippewa) => [
+ q(1736),
+ q(0),
+ ],
+ q(chiquian ancash quechua) => [
+ q(5655),
+ q(0),
+ ],
+ q(chiquihuitlan mazatec) => [
+ q(4066),
+ q(0),
+ ],
+ q(chiquitano) => [
+ q(1653),
+ q(0),
+ ],
+ q(chiripa) => [
+ q(4816),
+ q(0),
+ ],
+ q(chiru) => [
+ q(1690),
+ q(0),
+ ],
+ q(chitimacha) => [
+ q(1884),
+ q(0),
+ ],
+ q(chitkuli kinnauri) => [
+ q(1731),
+ q(0),
+ ],
+ q(chittagonian) => [
+ q(1882),
+ q(0),
+ ],
+ q(chitwania tharu) => [
+ q(6419),
+ q(0),
+ ],
+ q(choapan zapotec) => [
+ q(7759),
+ q(0),
+ ],
+ q(chocangacakha) => [
+ q(1713),
+ q(0),
+ ],
+ q(chochotec) => [
+ q(1823),
+ q(0),
+ ],
+ q(choctaw) => [
+ q(0083),
+ q(0),
+ ],
+ q(chodri) => [
+ q(1693),
+ q(0),
+ ],
+ q(chokri naga) => [
+ q(5002),
+ q(0),
+ ],
+ q(chokwe) => [
+ q(1742),
+ q(0),
+ ],
+ q(chol) => [
+ q(1890),
+ q(0),
+ ],
+ q(cholon) => [
+ q(1721),
+ q(0),
+ ],
+ q(chong) => [
+ q(1808),
+ q(0),
+ ],
+ q(choni) => [
+ q(1688),
+ q(0),
+ ],
+ q(chonyi-dzihana-kauma) => [
+ q(1809),
+ q(0),
+ ],
+ q(chopi) => [
+ q(1678),
+ q(0),
+ ],
+ q(chorasmian) => [
+ q(7212),
+ q(0),
+ ],
+ q(chorti) => [
+ q(1635),
+ q(0),
+ ],
+ q(chothe naga) => [
+ q(4734),
+ q(0),
+ ],
+ q(chrau) => [
+ q(1854),
+ q(0),
+ ],
+ q(chru) => [
+ q(1739),
+ q(0),
+ ],
+ q(chuang) => [
+ q(0480),
+ q(0),
+ ],
+ q(chuanqiandian cluster miao) => [
+ q(1834),
+ q(0),
+ ],
+ q(chuave) => [
+ q(1748),
+ q(0),
+ ],
+ q(chug) => [
+ q(1911),
+ q(0),
+ ],
+ q(chuj) => [
+ q(1637),
+ q(0),
+ ],
+ q(chuka) => [
+ q(1896),
+ q(0),
+ ],
+ q(chukot) => [
+ q(1758),
+ q(0),
+ ],
+ q(chukwa) => [
+ q(1909),
+ q(0),
+ ],
+ q(chulym) => [
+ q(1775),
+ q(0),
+ ],
+ q(chumburung) => [
+ q(4735),
+ q(0),
+ ],
+ q(churahi) => [
+ q(1694),
+ q(0),
+ ],
+ q(church slavic) => [
+ q(0086),
+ q(0),
+ ],
+ q(church slavonic) => [
+ q(0086),
+ q(0),
+ ],
+ q(chut) => [
+ q(5856),
+ q(0),
+ ],
+ q(chuukese) => [
+ q(0080),
+ q(0),
+ ],
+ q(chuvantsy) => [
+ q(7216),
+ q(0),
+ ],
+ q(chuvash) => [
+ q(0087),
+ q(0),
+ ],
+ q(chuwabu) => [
+ q(1722),
+ q(0),
+ ],
+ q(ci gbe) => [
+ q(1726),
+ q(0),
+ ],
+ q(cia-cia) => [
+ q(1725),
+ q(0),
+ ],
+ q(cibak) => [
+ q(1753),
+ q(0),
+ ],
+ q(cicipu) => [
+ q(0966),
+ q(0),
+ ],
+ q(cimbrian) => [
+ q(1732),
+ q(0),
+ ],
+ q(cinda-regi-tiyal) => [
+ q(1698),
+ q(0),
+ ],
+ q(cineni) => [
+ q(1729),
+ q(0),
+ ],
+ q(cinta larga) => [
+ q(1733),
+ q(0),
+ ],
+ q(cisalpine gaulish) => [
+ q(7207),
+ q(0),
+ ],
+ q(cishingini) => [
+ q(0889),
+ q(0),
+ ],
+ q(citak) => [
+ q(6744),
+ q(0),
+ ],
+ q(ciwogai) => [
+ q(6399),
+ q(0),
+ ],
+ q(clallam) => [
+ q(1772),
+ q(0),
+ ],
+ q(classical armenian) => [
+ q(7209),
+ q(0),
+ ],
+ q(classical mandaic) => [
+ q(4646),
+ q(0),
+ ],
+ q(classical mongolian) => [
+ q(1779),
+ q(0),
+ ],
+ q(classical nahuatl) => [
+ q(4724),
+ q(0),
+ ],
+ q(classical nepal bhasa) => [
+ q(0320),
+ q(0),
+ ],
+ q(classical newari) => [
+ q(0320),
+ q(0),
+ ],
+ q(classical quechua) => [
+ q(5650),
+ q(0),
+ ],
+ q(classical syriac) => [
+ q(0414),
+ q(0),
+ ],
+ q(classical tibetan) => [
+ q(7214),
+ q(0),
+ ],
+ q(coahuilteco) => [
+ q(7217),
+ q(0),
+ ],
+ q(coast miwok) => [
+ q(1865),
+ q(0),
+ ],
+ q(coastal kadazan) => [
+ q(3727),
+ q(0),
+ ],
+ q(coastal konjo) => [
+ q(3327),
+ q(0),
+ ],
+ q(coatecas altas zapotec) => [
+ q(7678),
+ q(0),
+ ],
+ q(coatepec nahuatl) => [
+ q(4692),
+ q(0),
+ ],
+ q(coatlan mixe) => [
+ q(4112),
+ q(0),
+ ],
+ q(coatlan zapotec) => [
+ q(7775),
+ q(0),
+ ],
+ q(coatzospan mixtec) => [
+ q(4268),
+ q(0),
+ ],
+ q(cocama-cocamilla) => [
+ q(1805),
+ q(0),
+ ],
+ q(cochimi) => [
+ q(1810),
+ q(0),
+ ],
+ q(cocopa) => [
+ q(1804),
+ q(0),
+ ],
+ q(cocos islands malay) => [
+ q(1802),
+ q(0),
+ ],
+ q(coeur d'alene) => [
+ q(1839),
+ q(0),
+ ],
+ q(cofan) => [
+ q(1814),
+ q(0),
+ ],
+ q(cogui) => [
+ q(3456),
+ q(0),
+ ],
+ q(col) => [
+ q(3880),
+ q(0),
+ ],
+ q(colombian sign language) => [
+ q(1869),
+ q(0),
+ ],
+ q(colonia tovar german) => [
+ q(2422),
+ q(0),
+ ],
+ q(colorado) => [
+ q(1807),
+ q(0),
+ ],
+ q(columbia-wenatchi) => [
+ q(1812),
+ q(0),
+ ],
+ q(comaltepec chinantec) => [
+ q(1684),
+ q(0),
+ ],
+ q(comanche) => [
+ q(1813),
+ q(0),
+ ],
+ q(comecrudo) => [
+ q(7210),
+ q(0),
+ ],
+ q(como karim) => [
+ q(1708),
+ q(0),
+ ],
+ q(comox) => [
+ q(1815),
+ q(0),
+ ],
+ q(con) => [
+ q(1796),
+ q(0),
+ ],
+ q(congo swahili) => [
+ q(6223),
+ q(0),
+ ],
+ q(cook islands maori) => [
+ q(0356),
+ q(0),
+ ],
+ q(coong) => [
+ q(1790),
+ q(0),
+ ],
+ q(coos) => [
+ q(1877),
+ q(0),
+ ],
+ q(copainala zoque) => [
+ q(7750),
+ q(0),
+ ],
+ q(copala triqui) => [
+ q(6609),
+ q(0),
+ ],
+ q(coptic) => [
+ q(0090),
+ q(0),
+ ],
+ q(coquille) => [
+ q(1816),
+ q(0),
+ ],
+ q(cori) => [
+ q(1856),
+ q(0),
+ ],
+ q(cornish) => [
+ q(0091),
+ q(0),
+ ],
+ q(corongo ancash quechua) => [
+ q(5649),
+ q(0),
+ ],
+ q(corsican) => [
+ q(0092),
+ q(0),
+ ],
+ q(costa rican sign language) => [
+ q(1872),
+ q(0),
+ ],
+ q(cotabato manobo) => [
+ q(4505),
+ q(0),
+ ],
+ q(cotoname) => [
+ q(7211),
+ q(0),
+ ],
+ q(cowlitz) => [
+ q(1820),
+ q(0),
+ ],
+ q(coxima) => [
+ q(3468),
+ q(0),
+ ],
+ q(coyaima) => [
+ q(1822),
+ q(0),
+ ],
+ q(coyotepec popoloca) => [
+ q(5302),
+ q(0),
+ ],
+ q(coyutla totonac) => [
+ q(6555),
+ q(0),
+ ],
+ q(cree) => [
+ q(0096),
+ q(0),
+ ],
+ q(creek) => [
+ q(0293),
+ q(0),
+ ],
+ q(creoles and pidgins) => [
+ q(0098),
+ q(1),
+ ],
+ q(creoles and pidgins ) => [
+ q(0098),
+ q(0),
+ ],
+ q(creoles and pidgins, english based) => [
+ q(0093),
+ q(0),
+ ],
+ q(creoles and pidgins, english-based) => [
+ q(0093),
+ q(1),
+ ],
+ q(creoles and pidgins, french-based) => [
+ q(0094),
+ q(1),
+ ],
+ q(creoles and pidgins, french-based ) => [
+ q(0094),
+ q(0),
+ ],
+ q(creoles and pidgins, portuguese-based) => [
+ q(0095),
+ q(1),
+ ],
+ q(creoles and pidgins, portuguese-based ) => [
+ q(0095),
+ q(0),
+ ],
+ q(crimean tatar) => [
+ q(0097),
+ q(0),
+ ],
+ q(crimean turkish) => [
+ q(0097),
+ q(0),
+ ],
+ q(croatia sign language) => [
+ q(1871),
+ q(0),
+ ],
+ q(croatian) => [
+ q(0181),
+ q(0),
+ ],
+ q(cross river mbembe) => [
+ q(4184),
+ q(0),
+ ],
+ q(crow) => [
+ q(1848),
+ q(0),
+ ],
+ q(cruzeno) => [
+ q(1857),
+ q(0),
+ ],
+ q(cua) => [
+ q(1892),
+ q(0),
+ ],
+ q(cuba sign language) => [
+ q(1862),
+ q(0),
+ ],
+ q(cubeo) => [
+ q(1893),
+ q(0),
+ ],
+ q(cuiba) => [
+ q(1897),
+ q(0),
+ ],
+ q(culina) => [
+ q(1900),
+ q(0),
+ ],
+ q(cumanagoto) => [
+ q(1902),
+ q(0),
+ ],
+ q(cumbric) => [
+ q(7204),
+ q(0),
+ ],
+ q(cumeral) => [
+ q(1901),
+ q(0),
+ ],
+ q(cun) => [
+ q(1904),
+ q(0),
+ ],
+ q(cuneiform luwian) => [
+ q(7290),
+ q(0),
+ ],
+ q(cung) => [
+ q(1895),
+ q(0),
+ ],
+ q(cupeno) => [
+ q(1903),
+ q(0),
+ ],
+ q(curonian) => [
+ q(7215),
+ q(0),
+ ],
+ q(curripaco) => [
+ q(3473),
+ q(0),
+ ],
+ q(cusco quechua) => [
+ q(5633),
+ q(0),
+ ],
+ q(cushitic languages) => [
+ q(0100),
+ q(0),
+ ],
+ q(cutchi-swahili) => [
+ q(1682),
+ q(0),
+ ],
+ q(cuvok) => [
+ q(1908),
+ q(0),
+ ],
+ q(cuyamecalco mixtec) => [
+ q(7399),
+ q(0),
+ ],
+ q(cuyonon) => [
+ q(1921),
+ q(0),
+ ],
+ q(cwi bwamu) => [
+ q(1559),
+ q(0),
+ ],
+ q(cypriot arabic) => [
+ q(0602),
+ q(0),
+ ],
+ q(czech) => [
+ q(0101),
+ q(0),
+ ],
+ q(czech sign language) => [
+ q(1861),
+ q(0),
+ ],
+ q(da'a kaili) => [
+ q(3723),
+ q(0),
+ ],
+ q(da-hua miao) => [
+ q(2740),
+ q(0),
+ ],
+ q(daai chin) => [
+ q(1938),
+ q(0),
+ ],
+ q(daantanai') => [
+ q(3951),
+ q(0),
+ ],
+ q(daasanach) => [
+ q(2128),
+ q(0),
+ ],
+ q(daba) => [
+ q(1960),
+ q(0),
+ ],
+ q(dabarre) => [
+ q(1961),
+ q(0),
+ ],
+ q(dabe) => [
+ q(1950),
+ q(0),
+ ],
+ q(dacian) => [
+ q(7219),
+ q(0),
+ ],
+ q(dadibi) => [
+ q(4423),
+ q(0),
+ ],
+ q(dadiya) => [
+ q(1949),
+ q(0),
+ ],
+ q(daga) => [
+ q(2005),
+ q(0),
+ ],
+ q(dagaari dioula) => [
+ q(1994),
+ q(0),
+ ],
+ q(dagba) => [
+ q(1999),
+ q(0),
+ ],
+ q(dagbani) => [
+ q(1932),
+ q(0),
+ ],
+ q(dagik) => [
+ q(1976),
+ q(0),
+ ],
+ q(dagoman) => [
+ q(2000),
+ q(0),
+ ],
+ q(dahalo) => [
+ q(1936),
+ q(0),
+ ],
+ q(daho-doo) => [
+ q(1941),
+ q(0),
+ ],
+ q(dai) => [
+ q(2026),
+ q(0),
+ ],
+ q(dai zhuang) => [
+ q(7690),
+ q(0),
+ ],
+ q(dair) => [
+ q(2112),
+ q(0),
+ ],
+ q(dakaka) => [
+ q(1370),
+ q(0),
+ ],
+ q(dakka) => [
+ q(2057),
+ q(0),
+ ],
+ q(dakota) => [
+ q(0102),
+ q(0),
+ ],
+ q(dakpakha) => [
+ q(2056),
+ q(0),
+ ],
+ q(dalmatian) => [
+ q(2062),
+ q(0),
+ ],
+ q(daloa bete) => [
+ q(1125),
+ q(0),
+ ],
+ q(dama) => [
+ q(2071),
+ q(0),
+ ],
+ q(damakawa) => [
+ q(1937),
+ q(0),
+ ],
+ q(damal) => [
+ q(6793),
+ q(0),
+ ],
+ q(dambi) => [
+ q(1928),
+ q(0),
+ ],
+ q(dameli) => [
+ q(2070),
+ q(0),
+ ],
+ q(dampelas) => [
+ q(2074),
+ q(0),
+ ],
+ q(dan) => [
+ q(1931),
+ q(0),
+ ],
+ q(danaru) => [
+ q(2086),
+ q(0),
+ ],
+ q(danau) => [
+ q(2088),
+ q(0),
+ ],
+ q(dandami maria) => [
+ q(1940),
+ q(0),
+ ],
+ q(dangaleat) => [
+ q(1927),
+ q(0),
+ ],
+ q(dangaura tharu) => [
+ q(6424),
+ q(0),
+ ],
+ q(danish) => [
+ q(0103),
+ q(0),
+ ],
+ q(danish sign language) => [
+ q(2130),
+ q(0),
+ ],
+ q(dano) => [
+ q(0896),
+ q(0),
+ ],
+ q(dao) => [
+ q(1946),
+ q(0),
+ ],
+ q(daonda) => [
+ q(2080),
+ q(0),
+ ],
+ q(dar daju daju) => [
+ q(2042),
+ q(0),
+ ],
+ q(dar fur daju) => [
+ q(1935),
+ q(0),
+ ],
+ q(dar sila daju) => [
+ q(1942),
+ q(0),
+ ],
+ q(darai) => [
+ q(2126),
+ q(0),
+ ],
+ q(darang deng) => [
+ q(4242),
+ q(0),
+ ],
+ q(dargwa) => [
+ q(0104),
+ q(0),
+ ],
+ q(dari) => [
+ q(5537),
+ q(0),
+ ],
+ q(darling) => [
+ q(2118),
+ q(0),
+ ],
+ q(darlong) => [
+ q(2063),
+ q(0),
+ ],
+ q(darmiya) => [
+ q(2114),
+ q(0),
+ ],
+ q(daro-matu melanau) => [
+ q(2120),
+ q(0),
+ ],
+ q(dass) => [
+ q(2105),
+ q(0),
+ ],
+ q(datooga) => [
+ q(6328),
+ q(0),
+ ],
+ q(daur) => [
+ q(2134),
+ q(0),
+ ],
+ q(davawenyo) => [
+ q(1944),
+ q(0),
+ ],
+ q(daw) => [
+ q(3641),
+ q(0),
+ ],
+ q(dawawa) => [
+ q(2173),
+ q(0),
+ ],
+ q(dawera-daweloor) => [
+ q(1975),
+ q(0),
+ ],
+ q(dawida) => [
+ q(1943),
+ q(0),
+ ],
+ q(dawro) => [
+ q(2171),
+ q(0),
+ ],
+ q(day) => [
+ q(1934),
+ q(0),
+ ],
+ q(dayi) => [
+ q(1945),
+ q(0),
+ ],
+ q(daza) => [
+ q(2184),
+ q(0),
+ ],
+ q(dazaga) => [
+ q(2185),
+ q(0),
+ ],
+ q(deccan) => [
+ q(1965),
+ q(0),
+ ],
+ q(dedua) => [
+ q(1977),
+ q(0),
+ ],
+ q(defaka) => [
+ q(0646),
+ q(0),
+ ],
+ q(defi gbe) => [
+ q(2398),
+ q(0),
+ ],
+ q(deg) => [
+ q(4668),
+ q(0),
+ ],
+ q(degaru) => [
+ q(2003),
+ q(0),
+ ],
+ q(degema) => [
+ q(1980),
+ q(0),
+ ],
+ q(degenan) => [
+ q(1995),
+ q(0),
+ ],
+ q(degexit'an) => [
+ q(2927),
+ q(0),
+ ],
+ q(dehu) => [
+ q(2016),
+ q(0),
+ ],
+ q(dehwari) => [
+ q(1981),
+ q(0),
+ ],
+ q(dek) => [
+ q(1983),
+ q(0),
+ ],
+ q(dela-oenale) => [
+ q(5779),
+ q(0),
+ ],
+ q(delaware) => [
+ q(0106),
+ q(0),
+ ],
+ q(delo) => [
+ q(5041),
+ q(0),
+ ],
+ q(dem) => [
+ q(1984),
+ q(0),
+ ],
+ q(dema) => [
+ q(2077),
+ q(0),
+ ],
+ q(demisa) => [
+ q(1982),
+ q(0),
+ ],
+ q(demta) => [
+ q(2078),
+ q(0),
+ ],
+ q(dendi (benin)) => [
+ q(1972),
+ q(0),
+ ],
+ q(dendi (central african republic)) => [
+ q(1986),
+ q(0),
+ ],
+ q(dene suline) => [
+ q(0084),
+ q(0),
+ ],
+ q(dengese) => [
+ q(1990),
+ q(0),
+ ],
+ q(dengka) => [
+ q(2084),
+ q(0),
+ ],
+ q(deni) => [
+ q(2090),
+ q(0),
+ ],
+ q(deno) => [
+ q(1948),
+ q(0),
+ ],
+ q(denya) => [
+ q(0809),
+ q(0),
+ ],
+ q(deori) => [
+ q(1987),
+ q(0),
+ ],
+ q(dera (indonesia)) => [
+ q(3149),
+ q(0),
+ ],
+ q(dera (nigeria)) => [
+ q(3426),
+ q(0),
+ ],
+ q(desano) => [
+ q(1988),
+ q(0),
+ ],
+ q(desiya) => [
+ q(2132),
+ q(0),
+ ],
+ q(dewoin) => [
+ q(1978),
+ q(0),
+ ],
+ q(dezfuli) => [
+ q(1979),
+ q(0),
+ ],
+ q(dghwede) => [
+ q(1997),
+ q(0),
+ ],
+ q(dhaiso) => [
+ q(2014),
+ q(0),
+ ],
+ q(dhalandji) => [
+ q(2009),
+ q(0),
+ ],
+ q(dhangu) => [
+ q(2007),
+ q(0),
+ ],
+ q(dhanki) => [
+ q(2011),
+ q(0),
+ ],
+ q(dhanwar (nepal)) => [
+ q(2017),
+ q(0),
+ ],
+ q(dhao) => [
+ q(4783),
+ q(0),
+ ],
+ q(dhargari) => [
+ q(2013),
+ q(0),
+ ],
+ q(dhatki) => [
+ q(4298),
+ q(0),
+ ],
+ q(dhimal) => [
+ q(2008),
+ q(0),
+ ],
+ q(dhivehi) => [
+ q(0110),
+ q(0),
+ ],
+ q(dhodia) => [
+ q(2012),
+ q(0),
+ ],
+ q(dhofari arabic) => [
+ q(0607),
+ q(0),
+ ],
+ q(dholuo) => [
+ q(0260),
+ q(1),
+ ],
+ q(dhundari) => [
+ q(2006),
+ q(0),
+ ],
+ q(dhurga) => [
+ q(2015),
+ q(0),
+ ],
+ q(dhuwal) => [
+ q(2153),
+ q(0),
+ ],
+ q(dia) => [
+ q(2018),
+ q(0),
+ ],
+ q(dibabawon manobo) => [
+ q(4076),
+ q(0),
+ ],
+ q(dibiyaso) => [
+ q(1964),
+ q(0),
+ ],
+ q(dibo) => [
+ q(2030),
+ q(0),
+ ],
+ q(dibole) => [
+ q(1533),
+ q(0),
+ ],
+ q(dicamay agta) => [
+ q(2166),
+ q(0),
+ ],
+ q(didinga) => [
+ q(2021),
+ q(0),
+ ],
+ q(dido) => [
+ q(1973),
+ q(0),
+ ],
+ q(diebroud) => [
+ q(6316),
+ q(0),
+ ],
+ q(dieri) => [
+ q(2022),
+ q(0),
+ ],
+ q(digaro-mishmi) => [
+ q(4242),
+ q(0),
+ ],
+ q(digo) => [
+ q(2023),
+ q(0),
+ ],
+ q(dii) => [
+ q(2160),
+ q(0),
+ ],
+ q(dijim-bwilim) => [
+ q(1706),
+ q(0),
+ ],
+ q(dilling) => [
+ q(2028),
+ q(0),
+ ],
+ q(dima) => [
+ q(3063),
+ q(0),
+ ],
+ q(dimasa) => [
+ q(2034),
+ q(0),
+ ],
+ q(dimbong) => [
+ q(2025),
+ q(0),
+ ],
+ q(dime) => [
+ q(2029),
+ q(0),
+ ],
+ q(dimili) => [
+ q(0485),
+ q(0),
+ ],
+ q(dimir) => [
+ q(2066),
+ q(0),
+ ],
+ q(dimli) => [
+ q(0485),
+ q(0),
+ ],
+ q(dimli (individual language)) => [
+ q(2032),
+ q(0),
+ ],
+ q(dimli (macrolanguage)) => [
+ q(0485),
+ q(6),
+ ],
+ q(dineor) => [
+ q(4478),
+ q(0),
+ ],
+ q(ding) => [
+ q(2040),
+ q(0),
+ ],
+ q(dinka) => [
+ q(0109),
+ q(0),
+ ],
+ q(dirari) => [
+ q(2035),
+ q(0),
+ ],
+ q(dirasha) => [
+ q(2434),
+ q(0),
+ ],
+ q(diri) => [
+ q(2169),
+ q(0),
+ ],
+ q(diriku) => [
+ q(2036),
+ q(0),
+ ],
+ q(dirim) => [
+ q(2033),
+ q(0),
+ ],
+ q(disa) => [
+ q(2129),
+ q(0),
+ ],
+ q(ditammari) => [
+ q(6325),
+ q(0),
+ ],
+ q(ditidaht) => [
+ q(2136),
+ q(0),
+ ],
+ q(diuwe) => [
+ q(2039),
+ q(0),
+ ],
+ q(diuxi-tilantongo mixtec) => [
+ q(7385),
+ q(0),
+ ],
+ q(divehi) => [
+ q(0110),
+ q(0),
+ ],
+ q(dixon reef) => [
+ q(2038),
+ q(0),
+ ],
+ q(dizin) => [
+ q(4144),
+ q(0),
+ ],
+ q(djambarrpuyngu) => [
+ q(2053),
+ q(0),
+ ],
+ q(djamindjung) => [
+ q(2043),
+ q(0),
+ ],
+ q(djangun) => [
+ q(2045),
+ q(0),
+ ],
+ q(djauan) => [
+ q(2051),
+ q(0),
+ ],
+ q(djawi) => [
+ q(2055),
+ q(0),
+ ],
+ q(djeebbana) => [
+ q(2047),
+ q(0),
+ ],
+ q(djimini senoufo) => [
+ q(2178),
+ q(0),
+ ],
+ q(djinang) => [
+ q(2046),
+ q(0),
+ ],
+ q(djinba) => [
+ q(2041),
+ q(0),
+ ],
+ q(djingili) => [
+ q(3048),
+ q(0),
+ ],
+ q(djiwarli) => [
+ q(2049),
+ q(0),
+ ],
+ q(dobel) => [
+ q(3629),
+ q(0),
+ ],
+ q(dobu) => [
+ q(2092),
+ q(0),
+ ],
+ q(doe) => [
+ q(2094),
+ q(0),
+ ],
+ q(doga) => [
+ q(1996),
+ q(0),
+ ],
+ q(doghoro) => [
+ q(2004),
+ q(0),
+ ],
+ q(dogose) => [
+ q(2104),
+ q(0),
+ ],
+ q(dogoso) => [
+ q(2002),
+ q(0),
+ ],
+ q(dogri) => [
+ q(0111),
+ q(0),
+ ],
+ q(dogri (individual language)) => [
+ q(2001),
+ q(0),
+ ],
+ q(dogri (macrolanguage)) => [
+ q(0111),
+ q(1),
+ ],
+ q(dogrib) => [
+ q(0108),
+ q(0),
+ ],
+ q(dogul dom dogon) => [
+ q(1952),
+ q(0),
+ ],
+ q(doka) => [
+ q(1953),
+ q(0),
+ ],
+ q(doko-uyanga) => [
+ q(6882),
+ q(0),
+ ],
+ q(dolgan) => [
+ q(2061),
+ q(0),
+ ],
+ q(dolpo) => [
+ q(2115),
+ q(0),
+ ],
+ q(dom) => [
+ q(2091),
+ q(0),
+ ],
+ q(domaaki) => [
+ q(2069),
+ q(0),
+ ],
+ q(domari) => [
+ q(5754),
+ q(0),
+ ],
+ q(dombe) => [
+ q(2106),
+ q(0),
+ ],
+ q(dominican sign language) => [
+ q(2102),
+ q(0),
+ ],
+ q(dompo) => [
+ q(2109),
+ q(0),
+ ],
+ q(domu) => [
+ q(2095),
+ q(0),
+ ],
+ q(domung) => [
+ q(1989),
+ q(0),
+ ],
+ q(dondo) => [
+ q(2097),
+ q(0),
+ ],
+ q(dong) => [
+ q(2096),
+ q(0),
+ ],
+ q(dongo) => [
+ q(2100),
+ q(0),
+ ],
+ q(dongotono) => [
+ q(1967),
+ q(0),
+ ],
+ q(dongshanba lalo) => [
+ q(7506),
+ q(0),
+ ],
+ q(dongxiang) => [
+ q(5857),
+ q(0),
+ ],
+ q(donno so dogon) => [
+ q(1974),
+ q(0),
+ ],
+ q(doondo) => [
+ q(1968),
+ q(0),
+ ],
+ q(dori'o) => [
+ q(2103),
+ q(0),
+ ],
+ q(dorig) => [
+ q(7166),
+ q(0),
+ ],
+ q(doromu-koki) => [
+ q(3498),
+ q(0),
+ ],
+ q(dororo) => [
+ q(2122),
+ q(0),
+ ],
+ q(dorze) => [
+ q(2110),
+ q(0),
+ ],
+ q(doso) => [
+ q(2098),
+ q(0),
+ ],
+ q(doutai) => [
+ q(6365),
+ q(0),
+ ],
+ q(doyayo) => [
+ q(2107),
+ q(0),
+ ],
+ q(dravidian languages) => [
+ q(0112),
+ q(0),
+ ],
+ q(drents) => [
+ q(2124),
+ q(0),
+ ],
+ q(drung) => [
+ q(2162),
+ q(0),
+ ],
+ q(duala) => [
+ q(0114),
+ q(0),
+ ],
+ q(duano) => [
+ q(2158),
+ q(0),
+ ],
+ q(duau) => [
+ q(2168),
+ q(0),
+ ],
+ q(dubli) => [
+ q(2145),
+ q(0),
+ ],
+ q(dubu) => [
+ q(2075),
+ q(0),
+ ],
+ q(dugun) => [
+ q(4755),
+ q(0),
+ ],
+ q(duguri) => [
+ q(1956),
+ q(0),
+ ],
+ q(dugwor) => [
+ q(2067),
+ q(0),
+ ],
+ q(duhwa) => [
+ q(3153),
+ q(0),
+ ],
+ q(duke) => [
+ q(4878),
+ q(0),
+ ],
+ q(dulbu) => [
+ q(1958),
+ q(0),
+ ],
+ q(duli) => [
+ q(2167),
+ q(0),
+ ],
+ q(duma) => [
+ q(2064),
+ q(0),
+ ],
+ q(dumbea) => [
+ q(2149),
+ q(0),
+ ],
+ q(dumi) => [
+ q(2161),
+ q(0),
+ ],
+ q(dumpas) => [
+ q(2076),
+ q(0),
+ ],
+ q(dumun) => [
+ q(2152),
+ q(0),
+ ],
+ q(duna) => [
+ q(2146),
+ q(0),
+ ],
+ q(dungan) => [
+ q(2082),
+ q(0),
+ ],
+ q(dungmali) => [
+ q(5670),
+ q(0),
+ ],
+ q(dungra bhil) => [
+ q(2151),
+ q(0),
+ ],
+ q(dungu) => [
+ q(1963),
+ q(0),
+ ],
+ q(dupaninan agta) => [
+ q(2157),
+ q(0),
+ ],
+ q(dura) => [
+ q(2121),
+ q(0),
+ ],
+ q(durango nahuatl) => [
+ q(4906),
+ q(0),
+ ],
+ q(duri) => [
+ q(4564),
+ q(0),
+ ],
+ q(duriankere) => [
+ q(1957),
+ q(0),
+ ],
+ q(duruma) => [
+ q(2150),
+ q(0),
+ ],
+ q(duruwa) => [
+ q(5325),
+ q(0),
+ ],
+ q(dusner) => [
+ q(2131),
+ q(0),
+ ],
+ q(dusun deyah) => [
+ q(2156),
+ q(0),
+ ],
+ q(dusun malang) => [
+ q(2159),
+ q(0),
+ ],
+ q(dusun witu) => [
+ q(2164),
+ q(0),
+ ],
+ q(dutch) => [
+ q(0116),
+ q(0),
+ ],
+ q(dutch sign language) => [
+ q(2127),
+ q(0),
+ ],
+ q(dutch, middle (ca.1050-1350)) => [
+ q(0115),
+ q(0),
+ ],
+ q(dutton world speedwords) => [
+ q(2172),
+ q(0),
+ ],
+ q(duungooma) => [
+ q(2165),
+ q(0),
+ ],
+ q(duupa) => [
+ q(1930),
+ q(0),
+ ],
+ q(duvle) => [
+ q(2163),
+ q(0),
+ ],
+ q(duwai) => [
+ q(1959),
+ q(0),
+ ],
+ q(duwet) => [
+ q(2629),
+ q(0),
+ ],
+ q(dwang) => [
+ q(4959),
+ q(0),
+ ],
+ q(dyaabugay) => [
+ q(2182),
+ q(0),
+ ],
+ q(dyaberdyaber) => [
+ q(2175),
+ q(0),
+ ],
+ q(dyan) => [
+ q(2174),
+ q(0),
+ ],
+ q(dyangadi) => [
+ q(2180),
+ q(0),
+ ],
+ q(dyirbal) => [
+ q(1955),
+ q(0),
+ ],
+ q(dyugun) => [
+ q(2176),
+ q(0),
+ ],
+ q(dyula) => [
+ q(0117),
+ q(0),
+ ],
+ q(dza) => [
+ q(3034),
+ q(0),
+ ],
+ q(dzalakha) => [
+ q(2186),
+ q(0),
+ ],
+ q(dzando) => [
+ q(2187),
+ q(0),
+ ],
+ q(dzao min) => [
+ q(1380),
+ q(0),
+ ],
+ q(dzodinka) => [
+ q(0605),
+ q(0),
+ ],
+ q(dzongkha) => [
+ q(0118),
+ q(0),
+ ],
+ q(dzuungoo) => [
+ q(2085),
+ q(0),
+ ],
+ q(e) => [
+ q(2196),
+ q(0),
+ ],
+ q(e'ma buyang) => [
+ q(7648),
+ q(0),
+ ],
+ q(e'napa woromaipu) => [
+ q(5304),
+ q(0),
+ ],
+ q(early tripuri) => [
+ q(7396),
+ q(0),
+ ],
+ q(east ambae) => [
+ q(5187),
+ q(0),
+ ],
+ q(east berawan) => [
+ q(7675),
+ q(0),
+ ],
+ q(east damar) => [
+ q(2073),
+ q(0),
+ ],
+ q(east futuna) => [
+ q(2353),
+ q(0),
+ ],
+ q(east germanic languages) => [
+ q(0504),
+ q(0),
+ ],
+ q(east kewa) => [
+ q(3343),
+ q(0),
+ ],
+ q(east limba) => [
+ q(3922),
+ q(0),
+ ],
+ q(east makian) => [
+ q(4314),
+ q(0),
+ ],
+ q(east masela) => [
+ q(6937),
+ q(0),
+ ],
+ q(east nyala) => [
+ q(4900),
+ q(0),
+ ],
+ q(east slavic languages) => [
+ q(0533),
+ q(0),
+ ],
+ q(east tarangan) => [
+ q(6611),
+ q(0),
+ ],
+ q(east yugur) => [
+ q(7634),
+ q(0),
+ ],
+ q(eastern abnaki) => [
+ q(0552),
+ q(0),
+ ],
+ q(eastern acipa) => [
+ q(0593),
+ q(0),
+ ],
+ q(eastern apurimac quechua) => [
+ q(5636),
+ q(0),
+ ],
+ q(eastern arrernte) => [
+ q(0634),
+ q(0),
+ ],
+ q(eastern balochi) => [
+ q(1169),
+ q(0),
+ ],
+ q(eastern bolivian guarani) => [
+ q(2611),
+ q(0),
+ ],
+ q(eastern bontok) => [
+ q(2189),
+ q(0),
+ ],
+ q(eastern bru) => [
+ q(1436),
+ q(0),
+ ],
+ q(eastern canadian inuktitut) => [
+ q(2896),
+ q(0),
+ ],
+ q(eastern cham) => [
+ q(1743),
+ q(0),
+ ],
+ q(eastern egyptian bedawi arabic) => [
+ q(0958),
+ q(0),
+ ],
+ q(eastern frisian) => [
+ q(0141),
+ q(0),
+ ],
+ q(eastern gorkha tamang) => [
+ q(6400),
+ q(0),
+ ],
+ q(eastern gurung) => [
+ q(2466),
+ q(0),
+ ],
+ q(eastern highland chatino) => [
+ q(1776),
+ q(0),
+ ],
+ q(eastern highland otomi) => [
+ q(5257),
+ q(0),
+ ],
+ q(eastern hongshuihe zhuang) => [
+ q(7683),
+ q(0),
+ ],
+ q(eastern huasteca nahuatl) => [
+ q(4817),
+ q(0),
+ ],
+ q(eastern huishui hmong) => [
+ q(2741),
+ q(0),
+ ],
+ q(eastern huishui miao) => [
+ q(2741),
+ q(0),
+ ],
+ q(eastern karaboro) => [
+ q(7354),
+ q(0),
+ ],
+ q(eastern katu) => [
+ q(3589),
+ q(0),
+ ],
+ q(eastern kayah) => [
+ q(2216),
+ q(0),
+ ],
+ q(eastern keres) => [
+ q(3207),
+ q(0),
+ ],
+ q(eastern krahn) => [
+ q(3510),
+ q(0),
+ ],
+ q(eastern lalu) => [
+ q(7514),
+ q(0),
+ ],
+ q(eastern lawa) => [
+ q(4048),
+ q(0),
+ ],
+ q(eastern magar) => [
+ q(4211),
+ q(0),
+ ],
+ q(eastern malayo-polynesian languages) => [
+ q(0520),
+ q(0),
+ ],
+ q(eastern maninkakan) => [
+ q(2230),
+ q(0),
+ ],
+ q(eastern mari) => [
+ q(4239),
+ q(0),
+ ],
+ q(eastern maroon creole) => [
+ q(2048),
+ q(0),
+ ],
+ q(eastern meohang) => [
+ q(2228),
+ q(0),
+ ],
+ q(eastern mnong) => [
+ q(4369),
+ q(0),
+ ],
+ q(eastern muria) => [
+ q(2236),
+ q(0),
+ ],
+ q(eastern ngad'a) => [
+ q(4761),
+ q(0),
+ ],
+ q(eastern nisu) => [
+ q(4977),
+ q(0),
+ ],
+ q(eastern ojibwa) => [
+ q(5158),
+ q(0),
+ ],
+ q(eastern oromo) => [
+ q(2674),
+ q(0),
+ ],
+ q(eastern parbate kham) => [
+ q(3307),
+ q(0),
+ ],
+ q(eastern penan) => [
+ q(5359),
+ q(0),
+ ],
+ q(eastern pomo) => [
+ q(5342),
+ q(0),
+ ],
+ q(eastern qiandong miao) => [
+ q(2751),
+ q(0),
+ ],
+ q(eastern sudanic languages) => [
+ q(0523),
+ q(0),
+ ],
+ q(eastern tamang) => [
+ q(6286),
+ q(0),
+ ],
+ q(eastern tawbuid) => [
+ q(1331),
+ q(0),
+ ],
+ q(eastern xiangxi miao) => [
+ q(4543),
+ q(0),
+ ],
+ q(eastern xwla gbe) => [
+ q(2412),
+ q(0),
+ ],
+ q(eastern yiddish) => [
+ q(7475),
+ q(0),
+ ],
+ q(ebira) => [
+ q(2879),
+ q(0),
+ ],
+ q(eblan) => [
+ q(7222),
+ q(0),
+ ],
+ q(ebrie) => [
+ q(2191),
+ q(0),
+ ],
+ q(ebughu) => [
+ q(2188),
+ q(0),
+ ],
+ q(ecuadorian sign language) => [
+ q(2194),
+ q(0),
+ ],
+ q(ede cabe) => [
+ q(1663),
+ q(0),
+ ],
+ q(ede ica) => [
+ q(2857),
+ q(0),
+ ],
+ q(ede idaca) => [
+ q(2864),
+ q(0),
+ ],
+ q(ede ije) => [
+ q(2893),
+ q(0),
+ ],
+ q(edera awyu) => [
+ q(0981),
+ q(0),
+ ],
+ q(edo) => [
+ q(0055),
+ q(0),
+ ],
+ q(edolo) => [
+ q(2281),
+ q(0),
+ ],
+ q(edomite) => [
+ q(7220),
+ q(0),
+ ],
+ q(edopi) => [
+ q(1951),
+ q(0),
+ ],
+ q(edwas) => [
+ q(1342),
+ q(0),
+ ],
+ q(efai) => [
+ q(2197),
+ q(0),
+ ],
+ q(efe) => [
+ q(2198),
+ q(0),
+ ],
+ q(efik) => [
+ q(0119),
+ q(0),
+ ],
+ q(efutop) => [
+ q(5145),
+ q(0),
+ ],
+ q(ega) => [
+ q(2199),
+ q(0),
+ ],
+ q(eggon) => [
+ q(2201),
+ q(0),
+ ],
+ q(egypt sign language) => [
+ q(2269),
+ q(0),
+ ],
+ q(egyptian (ancient)) => [
+ q(0120),
+ q(0),
+ ],
+ q(egyptian arabic) => [
+ q(0882),
+ q(0),
+ ],
+ q(egyptian languages) => [
+ q(0500),
+ q(0),
+ ],
+ q(ehueun) => [
+ q(2202),
+ q(0),
+ ],
+ q(eipomek) => [
+ q(2203),
+ q(0),
+ ],
+ q(eitiep) => [
+ q(2204),
+ q(0),
+ ],
+ q(ejagham) => [
+ q(2284),
+ q(0),
+ ],
+ q(ejamat) => [
+ q(2206),
+ q(0),
+ ],
+ q(ekajuk) => [
+ q(0121),
+ q(0),
+ ],
+ q(ekari) => [
+ q(2208),
+ q(0),
+ ],
+ q(ekegusii) => [
+ q(2626),
+ q(0),
+ ],
+ q(eki) => [
+ q(2209),
+ q(0),
+ ],
+ q(ekit) => [
+ q(2207),
+ q(0),
+ ],
+ q(ekpeye) => [
+ q(2214),
+ q(0),
+ ],
+ q(el alto zapotec) => [
+ q(7772),
+ q(0),
+ ],
+ q(el hugeirat) => [
+ q(2218),
+ q(0),
+ ],
+ q(el molo) => [
+ q(2222),
+ q(0),
+ ],
+ q(el nayar cora) => [
+ q(1847),
+ q(0),
+ ],
+ q(elamite) => [
+ q(0122),
+ q(0),
+ ],
+ q(eleme) => [
+ q(2221),
+ q(0),
+ ],
+ q(elepi) => [
+ q(2217),
+ q(0),
+ ],
+ q(elip) => [
+ q(2212),
+ q(0),
+ ],
+ q(elkei) => [
+ q(2220),
+ q(0),
+ ],
+ q(elotepec zapotec) => [
+ q(7796),
+ q(0),
+ ],
+ q(eloyi) => [
+ q(0647),
+ q(0),
+ ],
+ q(elpaputih) => [
+ q(2223),
+ q(0),
+ ],
+ q(elseng) => [
+ q(4461),
+ q(0),
+ ],
+ q(elu) => [
+ q(2224),
+ q(0),
+ ],
+ q(elymian) => [
+ q(7291),
+ q(0),
+ ],
+ q(emae) => [
+ q(4360),
+ q(0),
+ ],
+ q(emai-iuleha-ora) => [
+ q(2225),
+ q(0),
+ ],
+ q(eman) => [
+ q(2232),
+ q(0),
+ ],
+ q(embaloh) => [
+ q(2226),
+ q(0),
+ ],
+ q(embera-baudo) => [
+ q(1085),
+ q(0),
+ ],
+ q(embera-catio) => [
+ q(1886),
+ q(0),
+ ],
+ q(embera-chami) => [
+ q(1780),
+ q(0),
+ ],
+ q(embera-tado) => [
+ q(6351),
+ q(0),
+ ],
+ q(embu) => [
+ q(2192),
+ q(0),
+ ],
+ q(emem) => [
+ q(2249),
+ q(0),
+ ],
+ q(emerillon) => [
+ q(2227),
+ q(0),
+ ],
+ q(emilian) => [
+ q(2200),
+ q(0),
+ ],
+ q(emok) => [
+ q(2233),
+ q(0),
+ ],
+ q(emplawas) => [
+ q(2237),
+ q(0),
+ ],
+ q(emumu) => [
+ q(2249),
+ q(0),
+ ],
+ q(en) => [
+ q(2242),
+ q(0),
+ ],
+ q(enawene-nawe) => [
+ q(6832),
+ q(0),
+ ],
+ q(ende) => [
+ q(2243),
+ q(0),
+ ],
+ q(enga) => [
+ q(2248),
+ q(0),
+ ],
+ q(engenni) => [
+ q(2246),
+ q(0),
+ ],
+ q(enggano) => [
+ q(2247),
+ q(0),
+ ],
+ q(english) => [
+ q(0123),
+ q(0),
+ ],
+ q(english, middle (1100-1500)) => [
+ q(0124),
+ q(0),
+ ],
+ q(english, old (ca.450-1100)) => [
+ q(0018),
+ q(0),
+ ],
+ q(english-based creoles and pidgins) => [
+ q(0093),
+ q(2),
+ ],
+ q(enrekang) => [
+ q(5570),
+ q(0),
+ ],
+ q(enu) => [
+ q(2250),
+ q(0),
+ ],
+ q(enwan (akwa ibom state)) => [
+ q(2252),
+ q(0),
+ ],
+ q(enwan (edu state)) => [
+ q(2251),
+ q(0),
+ ],
+ q(enya) => [
+ q(2456),
+ q(0),
+ ],
+ q(epena) => [
+ q(5982),
+ q(0),
+ ],
+ q(epi-olmec) => [
+ q(7227),
+ q(0),
+ ],
+ q(epie) => [
+ q(2254),
+ q(0),
+ ],
+ q(epigraphic mayan) => [
+ q(2239),
+ q(0),
+ ],
+ q(eravallan) => [
+ q(2255),
+ q(0),
+ ],
+ q(erave) => [
+ q(3347),
+ q(0),
+ ],
+ q(ere) => [
+ q(6723),
+ q(0),
+ ],
+ q(eritai) => [
+ q(2263),
+ q(0),
+ ],
+ q(erokwanas) => [
+ q(2264),
+ q(0),
+ ],
+ q(erre) => [
+ q(2261),
+ q(0),
+ ],
+ q(erromintxela) => [
+ q(2238),
+ q(0),
+ ],
+ q(ersu) => [
+ q(2262),
+ q(0),
+ ],
+ q(eruwa) => [
+ q(2257),
+ q(0),
+ ],
+ q(erzya) => [
+ q(0297),
+ q(0),
+ ],
+ q(esan) => [
+ q(2957),
+ q(0),
+ ],
+ q(ese) => [
+ q(4114),
+ q(0),
+ ],
+ q(ese ejja) => [
+ q(2265),
+ q(0),
+ ],
+ q(eshtehardi) => [
+ q(2266),
+ q(0),
+ ],
+ q(esimbi) => [
+ q(0670),
+ q(0),
+ ],
+ q(eskimo-aleut languages) => [
+ q(0501),
+ q(0),
+ ],
+ q(esperanto) => [
+ q(0125),
+ q(0),
+ ],
+ q(esselen) => [
+ q(2273),
+ q(0),
+ ],
+ q(estado de mexico otomi) => [
+ q(5261),
+ q(0),
+ ],
+ q(estonian) => [
+ q(0126),
+ q(0),
+ ],
+ q(estonian sign language) => [
+ q(2272),
+ q(0),
+ ],
+ q(esuma) => [
+ q(2270),
+ q(0),
+ ],
+ q(etchemin) => [
+ q(2277),
+ q(0),
+ ],
+ q(etebi) => [
+ q(2276),
+ q(0),
+ ],
+ q(eten) => [
+ q(2285),
+ q(0),
+ ],
+ q(eteocretan) => [
+ q(2193),
+ q(0),
+ ],
+ q(eteocypriot) => [
+ q(2195),
+ q(0),
+ ],
+ q(ethiopian sign language) => [
+ q(2278),
+ q(0),
+ ],
+ q(etkywan) => [
+ q(2858),
+ q(0),
+ ],
+ q(eton (cameroon)) => [
+ q(2280),
+ q(0),
+ ],
+ q(eton (vanuatu)) => [
+ q(2279),
+ q(0),
+ ],
+ q(etruscan) => [
+ q(2283),
+ q(0),
+ ],
+ q(etulo) => [
+ q(6872),
+ q(0),
+ ],
+ q(evant) => [
+ q(1634),
+ q(0),
+ ],
+ q(even) => [
+ q(2287),
+ q(0),
+ ],
+ q(evenki) => [
+ q(2289),
+ q(0),
+ ],
+ q(ewage-notu) => [
+ q(4979),
+ q(0),
+ ],
+ q(ewe) => [
+ q(0127),
+ q(0),
+ ],
+ q(ewondo) => [
+ q(0128),
+ q(0),
+ ],
+ q(extremaduran) => [
+ q(2290),
+ q(0),
+ ],
+ q(eyak) => [
+ q(2291),
+ q(0),
+ ],
+ q(fa d'ambu) => [
+ q(2295),
+ q(0),
+ ],
+ q(fagani) => [
+ q(2297),
+ q(0),
+ ],
+ q(faire atta) => [
+ q(1013),
+ q(0),
+ ],
+ q(faita) => [
+ q(2301),
+ q(0),
+ ],
+ q(faiwol) => [
+ q(2300),
+ q(0),
+ ],
+ q(fala) => [
+ q(2308),
+ q(0),
+ ],
+ q(falam chin) => [
+ q(1709),
+ q(0),
+ ],
+ q(fali) => [
+ q(2326),
+ q(0),
+ ],
+ q(faliscan) => [
+ q(7232),
+ q(0),
+ ],
+ q(fam) => [
+ q(2304),
+ q(0),
+ ],
+ q(fanagalo) => [
+ q(2333),
+ q(0),
+ ],
+ q(fang) => [
+ q(0129),
+ q(0),
+ ],
+ q(fang (cameroon)) => [
+ q(2302),
+ q(0),
+ ],
+ q(fang (equatorial guinea)) => [
+ q(0129),
+ q(1),
+ ],
+ q(fania) => [
+ q(2334),
+ q(0),
+ ],
+ q(fanti) => [
+ q(0131),
+ q(0),
+ ],
+ q(far western muria) => [
+ q(2332),
+ q(0),
+ ],
+ q(farefare) => [
+ q(2619),
+ q(0),
+ ],
+ q(faroese) => [
+ q(0130),
+ q(0),
+ ],
+ q(fas) => [
+ q(2341),
+ q(0),
+ ],
+ q(fasu) => [
+ q(2294),
+ q(0),
+ ],
+ q(fataleka) => [
+ q(2306),
+ q(0),
+ ],
+ q(fataluku) => [
+ q(1969),
+ q(0),
+ ],
+ q(fayu) => [
+ q(2307),
+ q(0),
+ ],
+ q(fe'fe') => [
+ q(2331),
+ q(0),
+ ],
+ q(fedan) => [
+ q(5337),
+ q(0),
+ ],
+ q(fembe) => [
+ q(0664),
+ q(0),
+ ],
+ q(fernando po creole english) => [
+ q(2340),
+ q(0),
+ ],
+ q(feroge) => [
+ q(2313),
+ q(0),
+ ],
+ q(fiji hindi) => [
+ q(2716),
+ q(0),
+ ],
+ q(fijian) => [
+ q(0132),
+ q(0),
+ ],
+ q(filipino) => [
+ q(0133),
+ q(0),
+ ],
+ q(filomena mata-coahuitlan totonac) => [
+ q(6496),
+ q(0),
+ ],
+ q(finland-swedish sign language) => [
+ q(2350),
+ q(0),
+ ],
+ q(finlandssvenskt teckensprak) => [
+ q(2350),
+ q(0),
+ ],
+ q(finnish) => [
+ q(0134),
+ q(0),
+ ],
+ q(finnish sign language) => [
+ q(2348),
+ q(0),
+ ],
+ q(finno-ugrian languages) => [
+ q(0135),
+ q(0),
+ ],
+ q(finongan) => [
+ q(2298),
+ q(0),
+ ],
+ q(fipa) => [
+ q(2319),
+ q(0),
+ ],
+ q(firan) => [
+ q(2320),
+ q(0),
+ ],
+ q(fiwaga) => [
+ q(2322),
+ q(0),
+ ],
+ q(flemish) => [
+ q(0116),
+ q(0),
+ ],
+ q(flemish sign language) => [
+ q(6911),
+ q(0),
+ ],
+ q(flinders island) => [
+ q(2328),
+ q(0),
+ ],
+ q(foau) => [
+ q(2325),
+ q(0),
+ ],
+ q(foi) => [
+ q(2336),
+ q(0),
+ ],
+ q(foia foia) => [
+ q(2314),
+ q(0),
+ ],
+ q(folopa) => [
+ q(5513),
+ q(0),
+ ],
+ q(foma) => [
+ q(2337),
+ q(0),
+ ],
+ q(fon) => [
+ q(0136),
+ q(0),
+ ],
+ q(fongoro) => [
+ q(2316),
+ q(0),
+ ],
+ q(foodo) => [
+ q(2335),
+ q(0),
+ ],
+ q(forak) => [
+ q(2346),
+ q(0),
+ ],
+ q(fordata) => [
+ q(2343),
+ q(0),
+ ],
+ q(fore) => [
+ q(2338),
+ q(0),
+ ],
+ q(forest enets) => [
+ q(2244),
+ q(0),
+ ],
+ q(forest maninka) => [
+ q(4639),
+ q(0),
+ ],
+ q(formosan languages) => [
+ q(0503),
+ q(0),
+ ],
+ q(fortsenal) => [
+ q(2347),
+ q(0),
+ ],
+ q(francisco leon zoque) => [
+ q(7756),
+ q(0),
+ ],
+ q(francoprovencal) => [
+ q(2345),
+ q(0),
+ ],
+ q(frankish) => [
+ q(2344),
+ q(0),
+ ],
+ q(french) => [
+ q(0137),
+ q(0),
+ ],
+ q(french belgian sign language) => [
+ q(5914),
+ q(0),
+ ],
+ q(french sign language) => [
+ q(2349),
+ q(0),
+ ],
+ q(french, middle (ca.1400-1600)) => [
+ q(0138),
+ q(0),
+ ],
+ q(french, old (842-ca.1400)) => [
+ q(0139),
+ q(0),
+ ],
+ q(french-based creoles and pidgins) => [
+ q(0094),
+ q(2),
+ ],
+ q(friulian) => [
+ q(0144),
+ q(0),
+ ],
+ q(fulah) => [
+ q(0143),
+ q(0),
+ ],
+ q(fuliiru) => [
+ q(2329),
+ q(0),
+ ],
+ q(fulnio) => [
+ q(2360),
+ q(0),
+ ],
+ q(fum) => [
+ q(2359),
+ q(0),
+ ],
+ q(fungwa) => [
+ q(6806),
+ q(0),
+ ],
+ q(fur) => [
+ q(2366),
+ q(0),
+ ],
+ q(furu) => [
+ q(2363),
+ q(0),
+ ],
+ q(futuna-aniwa) => [
+ q(2362),
+ q(0),
+ ],
+ q(fuyug) => [
+ q(2365),
+ q(0),
+ ],
+ q(fwai) => [
+ q(2367),
+ q(0),
+ ],
+ q(fwe) => [
+ q(2368),
+ q(0),
+ ],
+ q(fyam) => [
+ q(5606),
+ q(0),
+ ],
+ q(fyer) => [
+ q(2318),
+ q(0),
+ ],
+ q(ga) => [
+ q(0145),
+ q(0),
+ ],
+ q(ga'anda) => [
+ q(2571),
+ q(0),
+ ],
+ q(ga'dang) => [
+ q(2429),
+ q(0),
+ ],
+ q(gaa) => [
+ q(6656),
+ q(0),
+ ],
+ q(gaam) => [
+ q(6309),
+ q(0),
+ ],
+ q(gabri) => [
+ q(2369),
+ q(0),
+ ],
+ q(gabrielino-fernandeno) => [
+ q(7234),
+ q(0),
+ ],
+ q(gadang) => [
+ q(2433),
+ q(0),
+ ],
+ q(gaddang) => [
+ q(2371),
+ q(0),
+ ],
+ q(gaddi) => [
+ q(2401),
+ q(0),
+ ],
+ q(gade) => [
+ q(2445),
+ q(0),
+ ],
+ q(gade lohar) => [
+ q(2423),
+ q(0),
+ ],
+ q(gadjerawang) => [
+ q(2430),
+ q(0),
+ ],
+ q(gadsup) => [
+ q(2377),
+ q(0),
+ ],
+ q(gaelic) => [
+ q(0153),
+ q(0),
+ ],
+ q(gafat) => [
+ q(2458),
+ q(0),
+ ],
+ q(gagadu) => [
+ q(2410),
+ q(0),
+ ],
+ q(gagauz) => [
+ q(2374),
+ q(0),
+ ],
+ q(gagnoa bete) => [
+ q(1471),
+ q(0),
+ ],
+ q(gagu) => [
+ q(2470),
+ q(0),
+ ],
+ q(gahri) => [
+ q(1150),
+ q(0),
+ ],
+ q(gaikundi) => [
+ q(2396),
+ q(0),
+ ],
+ q(gail) => [
+ q(2485),
+ q(0),
+ ],
+ q(gaina) => [
+ q(2420),
+ q(0),
+ ],
+ q(gal) => [
+ q(2383),
+ q(0),
+ ],
+ q(galambu) => [
+ q(2514),
+ q(0),
+ ],
+ q(galatian) => [
+ q(7233),
+ q(0),
+ ],
+ q(galela) => [
+ q(2399),
+ q(0),
+ ],
+ q(galeya) => [
+ q(2385),
+ q(0),
+ ],
+ q(galibi carib) => [
+ q(0070),
+ q(0),
+ ],
+ q(galice) => [
+ q(2417),
+ q(0),
+ ],
+ q(galician) => [
+ q(0155),
+ q(0),
+ ],
+ q(galindan) => [
+ q(7235),
+ q(0),
+ ],
+ q(gallurese sardinian) => [
+ q(5882),
+ q(0),
+ ],
+ q(galo) => [
+ q(0612),
+ q(0),
+ ],
+ q(galoli) => [
+ q(2379),
+ q(0),
+ ],
+ q(gamale kham) => [
+ q(3264),
+ q(0),
+ ],
+ q(gambera) => [
+ q(2519),
+ q(0),
+ ],
+ q(gambian wolof) => [
+ q(7110),
+ q(0),
+ ],
+ q(gamilaraay) => [
+ q(3378),
+ q(0),
+ ],
+ q(gamit) => [
+ q(2402),
+ q(0),
+ ],
+ q(gamkonora) => [
+ q(2378),
+ q(0),
+ ],
+ q(gamo) => [
+ q(2526),
+ q(0),
+ ],
+ q(gamo-ningi) => [
+ q(1469),
+ q(0),
+ ],
+ q(gan chinese) => [
+ q(2381),
+ q(0),
+ ],
+ q(gana) => [
+ q(2542),
+ q(0),
+ ],
+ q(ganang) => [
+ q(2533),
+ q(0),
+ ],
+ q(ganda) => [
+ q(0257),
+ q(0),
+ ],
+ q(gane) => [
+ q(2669),
+ q(0),
+ ],
+ q(ganggalida) => [
+ q(2416),
+ q(0),
+ ],
+ q(ganglau) => [
+ q(2465),
+ q(0),
+ ],
+ q(gangte) => [
+ q(2530),
+ q(0),
+ ],
+ q(gangulu) => [
+ q(2538),
+ q(0),
+ ],
+ q(gants) => [
+ q(2382),
+ q(0),
+ ],
+ q(ganza) => [
+ q(2667),
+ q(0),
+ ],
+ q(ganzi) => [
+ q(2547),
+ q(0),
+ ],
+ q(gao) => [
+ q(2459),
+ q(0),
+ ],
+ q(gapapaiwa) => [
+ q(5598),
+ q(0),
+ ],
+ q(garawa) => [
+ q(2393),
+ q(0),
+ ],
+ q(garhwali) => [
+ q(2403),
+ q(0),
+ ],
+ q(garifuna) => [
+ q(1636),
+ q(0),
+ ],
+ q(garig-ilgar) => [
+ q(2909),
+ q(0),
+ ],
+ q(garo) => [
+ q(2586),
+ q(0),
+ ],
+ q(garre) => [
+ q(2455),
+ q(0),
+ ],
+ q(garus) => [
+ q(2656),
+ q(0),
+ ],
+ q(garza) => [
+ q(7236),
+ q(0),
+ ],
+ q(gata') => [
+ q(2384),
+ q(0),
+ ],
+ q(gavar) => [
+ q(2564),
+ q(0),
+ ],
+ q(gaviao do jiparana) => [
+ q(2635),
+ q(0),
+ ],
+ q(gawar-bati) => [
+ q(2650),
+ q(0),
+ ],
+ q(gawwada) => [
+ q(2643),
+ q(0),
+ ],
+ q(gayil) => [
+ q(2662),
+ q(0),
+ ],
+ q(gayo) => [
+ q(0146),
+ q(0),
+ ],
+ q(gazi) => [
+ q(2668),
+ q(0),
+ ],
+ q(gbagyi) => [
+ q(2408),
+ q(0),
+ ],
+ q(gbanu) => [
+ q(2411),
+ q(0),
+ ],
+ q(gbanziri) => [
+ q(2397),
+ q(0),
+ ],
+ q(gbari) => [
+ q(2413),
+ q(0),
+ ],
+ q(gbati-ri) => [
+ q(2602),
+ q(0),
+ ],
+ q(gbaya) => [
+ q(0147),
+ q(0),
+ ],
+ q(gbaya (central african republic)) => [
+ q(0147),
+ q(1),
+ ],
+ q(gbaya (sudan)) => [
+ q(3535),
+ q(0),
+ ],
+ q(gbaya-bossangoa) => [
+ q(2406),
+ q(0),
+ ],
+ q(gbaya-bozoum) => [
+ q(2407),
+ q(0),
+ ],
+ q(gbaya-mbodomo) => [
+ q(2523),
+ q(0),
+ ],
+ q(gbayi) => [
+ q(2660),
+ q(0),
+ ],
+ q(gbesi gbe) => [
+ q(2409),
+ q(0),
+ ],
+ q(gbii) => [
+ q(2460),
+ q(0),
+ ],
+ q(gbiri-niragu) => [
+ q(2578),
+ q(0),
+ ],
+ q(gboloo grebo) => [
+ q(2444),
+ q(0),
+ ],
+ q(ge) => [
+ q(2746),
+ q(0),
+ ],
+ q(geba karen) => [
+ q(3631),
+ q(0),
+ ],
+ q(gebe) => [
+ q(2448),
+ q(0),
+ ],
+ q(gedaged) => [
+ q(2426),
+ q(0),
+ ],
+ q(gedeo) => [
+ q(2123),
+ q(0),
+ ],
+ q(geez) => [
+ q(0151),
+ q(0),
+ ],
+ q(geji) => [
+ q(2500),
+ q(0),
+ ],
+ q(gejia) => [
+ q(2746),
+ q(0),
+ ],
+ q(geko karen) => [
+ q(2476),
+ q(0),
+ ],
+ q(gela) => [
+ q(4901),
+ q(0),
+ ],
+ q(gelao) => [
+ q(2490),
+ q(0),
+ ],
+ q(geman deng) => [
+ q(4608),
+ q(0),
+ ],
+ q(geme) => [
+ q(2452),
+ q(0),
+ ],
+ q(gen) => [
+ q(2449),
+ q(0),
+ ],
+ q(gende) => [
+ q(2373),
+ q(0),
+ ],
+ q(gengle) => [
+ q(2446),
+ q(0),
+ ],
+ q(georgian) => [
+ q(0149),
+ q(0),
+ ],
+ q(gepo) => [
+ q(7495),
+ q(0),
+ ],
+ q(gera) => [
+ q(2454),
+ q(0),
+ ],
+ q(gergiko) => [
+ q(4405),
+ q(0),
+ ],
+ q(german) => [
+ q(0150),
+ q(0),
+ ],
+ q(german sign language) => [
+ q(2594),
+ q(0),
+ ],
+ q(german, low) => [
+ q(0306),
+ q(0),
+ ],
+ q(german, middle high (ca.1050-1500)) => [
+ q(0157),
+ q(0),
+ ],
+ q(german, old high (ca.750-1050)) => [
+ q(0158),
+ q(0),
+ ],
+ q(germanic languages) => [
+ q(0148),
+ q(0),
+ ],
+ q(geruma) => [
+ q(2442),
+ q(0),
+ ],
+ q(geser-gorom) => [
+ q(2453),
+ q(0),
+ ],
+ q(gey) => [
+ q(2623),
+ q(0),
+ ],
+ q(ghadames) => [
+ q(2472),
+ q(0),
+ ],
+ q(ghanaian sign language) => [
+ q(2593),
+ q(0),
+ ],
+ q(ghanongga) => [
+ q(2478),
+ q(0),
+ ],
+ q(ghari) => [
+ q(2579),
+ q(0),
+ ],
+ q(ghayavi) => [
+ q(1307),
+ q(0),
+ ],
+ q(gheg albanian) => [
+ q(0755),
+ q(0),
+ ],
+ q(ghera) => [
+ q(2480),
+ q(0),
+ ],
+ q(ghodoberi) => [
+ q(2437),
+ q(0),
+ ],
+ q(ghomala') => [
+ q(1041),
+ q(0),
+ ],
+ q(ghomara) => [
+ q(2479),
+ q(0),
+ ],
+ q(ghotuo) => [
+ q(0537),
+ q(0),
+ ],
+ q(ghulfan) => [
+ q(2477),
+ q(0),
+ ],
+ q(giangan) => [
+ q(1162),
+ q(0),
+ ],
+ q(gibanawa) => [
+ q(2484),
+ q(0),
+ ],
+ q(gichuka) => [
+ q(1896),
+ q(0),
+ ],
+ q(gidar) => [
+ q(2486),
+ q(0),
+ ],
+ q(giiwo) => [
+ q(3367),
+ q(0),
+ ],
+ q(gikuyu) => [
+ q(0224),
+ q(0),
+ ],
+ q(gikyode) => [
+ q(0586),
+ q(0),
+ ],
+ q(gilaki) => [
+ q(2513),
+ q(0),
+ ],
+ q(gilbertese) => [
+ q(0152),
+ q(0),
+ ],
+ q(gilima) => [
+ q(2497),
+ q(0),
+ ],
+ q(gilyak) => [
+ q(4853),
+ q(0),
+ ],
+ q(gimi (eastern highlands)) => [
+ q(2488),
+ q(0),
+ ],
+ q(gimi (west new britain)) => [
+ q(2491),
+ q(0),
+ ],
+ q(gimme) => [
+ q(3415),
+ q(0),
+ ],
+ q(gimnime) => [
+ q(2524),
+ q(0),
+ ],
+ q(ginuman) => [
+ q(2539),
+ q(0),
+ ],
+ q(ginyanga) => [
+ q(0992),
+ q(0),
+ ],
+ q(girawa) => [
+ q(1049),
+ q(0),
+ ],
+ q(giryama) => [
+ q(5098),
+ q(0),
+ ],
+ q(gitonga) => [
+ q(6559),
+ q(0),
+ ],
+ q(gitua) => [
+ q(2469),
+ q(0),
+ ],
+ q(gitxsan) => [
+ q(2495),
+ q(0),
+ ],
+ q(giyug) => [
+ q(2498),
+ q(0),
+ ],
+ q(gizrra) => [
+ q(6558),
+ q(0),
+ ],
+ q(glaro-twabo) => [
+ q(2515),
+ q(0),
+ ],
+ q(glavda) => [
+ q(2517),
+ q(0),
+ ],
+ q(glio-oubi) => [
+ q(5269),
+ q(0),
+ ],
+ q(gnau) => [
+ q(2545),
+ q(0),
+ ],
+ q(goan konkani) => [
+ q(2559),
+ q(0),
+ ],
+ q(goaria) => [
+ q(2487),
+ q(0),
+ ],
+ q(gobasi) => [
+ q(2555),
+ q(0),
+ ],
+ q(gobu) => [
+ q(2566),
+ q(0),
+ ],
+ q(godie) => [
+ q(2551),
+ q(0),
+ ],
+ q(godwari) => [
+ q(2441),
+ q(0),
+ ],
+ q(goemai) => [
+ q(0799),
+ q(0),
+ ],
+ q(gofa) => [
+ q(2553),
+ q(0),
+ ],
+ q(gogo) => [
+ q(2554),
+ q(0),
+ ],
+ q(gogodala) => [
+ q(2471),
+ q(0),
+ ],
+ q(gokana) => [
+ q(2506),
+ q(0),
+ ],
+ q(gola) => [
+ q(2558),
+ q(0),
+ ],
+ q(golin) => [
+ q(2630),
+ q(0),
+ ],
+ q(gondi) => [
+ q(0159),
+ q(0),
+ ],
+ q(gone dau) => [
+ q(2560),
+ q(0),
+ ],
+ q(gongduk) => [
+ q(2552),
+ q(0),
+ ],
+ q(gonja) => [
+ q(2502),
+ q(0),
+ ],
+ q(gooniyandi) => [
+ q(2536),
+ q(0),
+ ],
+ q(gor) => [
+ q(2574),
+ q(0),
+ ],
+ q(gorakor) => [
+ q(2550),
+ q(0),
+ ],
+ q(gorap) => [
+ q(2562),
+ q(0),
+ ],
+ q(gorontalo) => [
+ q(0160),
+ q(0),
+ ],
+ q(gorovu) => [
+ q(2583),
+ q(0),
+ ],
+ q(gorowa) => [
+ q(2565),
+ q(0),
+ ],
+ q(gothic) => [
+ q(0161),
+ q(0),
+ ],
+ q(goundo) => [
+ q(2567),
+ q(0),
+ ],
+ q(gourmanchema) => [
+ q(2625),
+ q(0),
+ ],
+ q(gowlan) => [
+ q(2556),
+ q(0),
+ ],
+ q(gowli) => [
+ q(2557),
+ q(0),
+ ],
+ q(gowro) => [
+ q(2645),
+ q(0),
+ ],
+ q(gozarkhani) => [
+ q(2568),
+ q(0),
+ ],
+ q(grangali) => [
+ q(4902),
+ q(0),
+ ],
+ q(grass koiari) => [
+ q(3138),
+ q(0),
+ ],
+ q(grebo) => [
+ q(0162),
+ q(0),
+ ],
+ q(greek) => [
+ q(0164),
+ q(2),
+ ],
+ q(greek languages) => [
+ q(0507),
+ q(0),
+ ],
+ q(greek sign language) => [
+ q(2600),
+ q(0),
+ ],
+ q(greek, ancient (to 1453)) => [
+ q(0163),
+ q(0),
+ ],
+ q(greek, modern (1453-)) => [
+ q(0164),
+ q(0),
+ ],
+ q(green gelao) => [
+ q(2492),
+ q(0),
+ ],
+ q(greenlandic) => [
+ q(0211),
+ q(0),
+ ],
+ q(grenadian creole english) => [
+ q(2419),
+ q(0),
+ ],
+ q(gresi) => [
+ q(2585),
+ q(0),
+ ],
+ q(groma) => [
+ q(2582),
+ q(0),
+ ],
+ q(gronings) => [
+ q(2563),
+ q(0),
+ ],
+ q(gros ventre) => [
+ q(0923),
+ q(0),
+ ],
+ q(gua) => [
+ q(2653),
+ q(0),
+ ],
+ q(guadeloupean creole french) => [
+ q(2418),
+ q(0),
+ ],
+ q(guahibo) => [
+ q(2610),
+ q(0),
+ ],
+ q(guaja) => [
+ q(2631),
+ q(0),
+ ],
+ q(guajajara) => [
+ q(2604),
+ q(0),
+ ],
+ q(guambiano) => [
+ q(2614),
+ q(0),
+ ],
+ q(guana (brazil)) => [
+ q(2573),
+ q(0),
+ ],
+ q(guana (paraguay)) => [
+ q(2627),
+ q(0),
+ ],
+ q(guanano) => [
+ q(2628),
+ q(0),
+ ],
+ q(guanche) => [
+ q(2531),
+ q(0),
+ ],
+ q(guanyinqiao) => [
+ q(3054),
+ q(0),
+ ],
+ q(guarani) => [
+ q(0165),
+ q(0),
+ ],
+ q(guarayu) => [
+ q(2665),
+ q(0),
+ ],
+ q(guarequena) => [
+ q(2372),
+ q(0),
+ ],
+ q(guatemalan sign language) => [
+ q(2596),
+ q(0),
+ ],
+ q(guato) => [
+ q(2601),
+ q(0),
+ ],
+ q(guayabero) => [
+ q(2616),
+ q(0),
+ ],
+ q(gudanji) => [
+ q(4862),
+ q(0),
+ ],
+ q(gude) => [
+ q(2427),
+ q(0),
+ ],
+ q(gudu) => [
+ q(2440),
+ q(0),
+ ],
+ q(guduf-gava) => [
+ q(2428),
+ q(0),
+ ],
+ q(guerrero amuzgo) => [
+ q(0784),
+ q(0),
+ ],
+ q(guerrero nahuatl) => [
+ q(4807),
+ q(0),
+ ],
+ q(guevea de humboldt zapotec) => [
+ q(7763),
+ q(0),
+ ],
+ q(gugadj) => [
+ q(2461),
+ q(0),
+ ],
+ q(gugu badhun) => [
+ q(2425),
+ q(0),
+ ],
+ q(gugu warra) => [
+ q(7136),
+ q(0),
+ ],
+ q(gugubera) => [
+ q(3364),
+ q(0),
+ ],
+ q(guguyimidjir) => [
+ q(3373),
+ q(0),
+ ],
+ q(guhu-samane) => [
+ q(2481),
+ q(0),
+ ],
+ q(guianese creole french) => [
+ q(2421),
+ q(0),
+ ],
+ q(guibei zhuang) => [
+ q(7685),
+ q(0),
+ ],
+ q(guiberoua bete) => [
+ q(1123),
+ q(0),
+ ],
+ q(guibian zhuang) => [
+ q(7687),
+ q(0),
+ ],
+ q(guila zapotec) => [
+ q(7805),
+ q(0),
+ ],
+ q(guinea kpelle) => [
+ q(2507),
+ q(0),
+ ],
+ q(guinean sign language) => [
+ q(2620),
+ q(0),
+ ],
+ q(guiqiong) => [
+ q(2572),
+ q(0),
+ ],
+ q(gujarati) => [
+ q(0167),
+ q(0),
+ ],
+ q(gujari) => [
+ q(2503),
+ q(0),
+ ],
+ q(gula (central african republic)) => [
+ q(3166),
+ q(0),
+ ],
+ q(gula (chad)) => [
+ q(2516),
+ q(0),
+ ],
+ q(gula iro) => [
+ q(2512),
+ q(0),
+ ],
+ q(gula'alaa) => [
+ q(2520),
+ q(0),
+ ],
+ q(gulay) => [
+ q(2632),
+ q(0),
+ ],
+ q(gule) => [
+ q(2518),
+ q(0),
+ ],
+ q(gulf arabic) => [
+ q(0640),
+ q(0),
+ ],
+ q(guliguli) => [
+ q(2511),
+ q(0),
+ ],
+ q(gumalu) => [
+ q(2525),
+ q(0),
+ ],
+ q(gumatj) => [
+ q(2540),
+ q(0),
+ ],
+ q(gumawana) => [
+ q(2638),
+ q(0),
+ ],
+ q(gumuz) => [
+ q(2612),
+ q(0),
+ ],
+ q(gun) => [
+ q(2624),
+ q(0),
+ ],
+ q(gundi) => [
+ q(2431),
+ q(0),
+ ],
+ q(gungabula) => [
+ q(2659),
+ q(0),
+ ],
+ q(gungu) => [
+ q(5790),
+ q(0),
+ ],
+ q(guntai) => [
+ q(2544),
+ q(0),
+ ],
+ q(gunwinggu) => [
+ q(2617),
+ q(0),
+ ],
+ q(gunya) => [
+ q(2666),
+ q(0),
+ ],
+ q(gupa-abawa) => [
+ q(2569),
+ q(0),
+ ],
+ q(gupapuyngu) => [
+ q(2608),
+ q(0),
+ ],
+ q(guragone) => [
+ q(2462),
+ q(0),
+ ],
+ q(guramalum) => [
+ q(2592),
+ q(0),
+ ],
+ q(gurani) => [
+ q(2672),
+ q(0),
+ ],
+ q(gurdjar) => [
+ q(2432),
+ q(0),
+ ],
+ q(gureng gureng) => [
+ q(2543),
+ q(0),
+ ],
+ q(gurgula) => [
+ q(2463),
+ q(0),
+ ],
+ q(guriaso) => [
+ q(2590),
+ q(0),
+ ],
+ q(gurinji) => [
+ q(2607),
+ q(0),
+ ],
+ q(gurmana) => [
+ q(2633),
+ q(0),
+ ],
+ q(guro) => [
+ q(2548),
+ q(0),
+ ],
+ q(guruntum-mbaaru) => [
+ q(2576),
+ q(0),
+ ],
+ q(gusan) => [
+ q(2597),
+ q(0),
+ ],
+ q(gusii) => [
+ q(2626),
+ q(0),
+ ],
+ q(gusilay) => [
+ q(2595),
+ q(0),
+ ],
+ q(guwamu) => [
+ q(2651),
+ q(0),
+ ],
+ q(guya) => [
+ q(2504),
+ q(0),
+ ],
+ q(guyanese creole english) => [
+ q(2664),
+ q(0),
+ ],
+ q(guyani) => [
+ q(2639),
+ q(0),
+ ],
+ q(gvoko) => [
+ q(4805),
+ q(0),
+ ],
+ q(gwa) => [
+ q(2641),
+ q(0),
+ ],
+ q(gwahatike) => [
+ q(1933),
+ q(0),
+ ],
+ q(gwamhi-wuri) => [
+ q(1155),
+ q(0),
+ ],
+ q(gwandara) => [
+ q(2648),
+ q(0),
+ ],
+ q(gweda) => [
+ q(2589),
+ q(0),
+ ],
+ q(gweno) => [
+ q(2644),
+ q(0),
+ ],
+ q(gwere) => [
+ q(2649),
+ q(0),
+ ],
+ q(gwich'in) => [
+ q(0168),
+ q(0),
+ ],
+ q(gyele) => [
+ q(2661),
+ q(0),
+ ],
+ q(gyem) => [
+ q(2658),
+ q(0),
+ ],
+ q(ha) => [
+ q(2685),
+ q(0),
+ ],
+ q(habu) => [
+ q(2696),
+ q(0),
+ ],
+ q(hadiyya) => [
+ q(2701),
+ q(0),
+ ],
+ q(hadothi) => [
+ q(2777),
+ q(0),
+ ],
+ q(hadrami) => [
+ q(7239),
+ q(0),
+ ],
+ q(hadrami arabic) => [
+ q(0993),
+ q(0),
+ ],
+ q(hadza) => [
+ q(2807),
+ q(0),
+ ],
+ q(haeke) => [
+ q(0629),
+ q(0),
+ ],
+ q(hahon) => [
+ q(2677),
+ q(0),
+ ],
+ q(hai//om) => [
+ q(2708),
+ q(0),
+ ],
+ q(haida) => [
+ q(0169),
+ q(0),
+ ],
+ q(haigwai) => [
+ q(2709),
+ q(0),
+ ],
+ q(haiphong sign language) => [
+ q(2675),
+ q(0),
+ ],
+ q(haisla) => [
+ q(2687),
+ q(0),
+ ],
+ q(haitian) => [
+ q(0170),
+ q(0),
+ ],
+ q(haitian creole) => [
+ q(0170),
+ q(0),
+ ],
+ q(haitian vodoun culture language) => [
+ q(2833),
+ q(0),
+ ],
+ q(haji) => [
+ q(2726),
+ q(0),
+ ],
+ q(hajong) => [
+ q(2678),
+ q(0),
+ ],
+ q(haka chin) => [
+ q(1792),
+ q(0),
+ ],
+ q(hakka chinese) => [
+ q(2679),
+ q(0),
+ ],
+ q(hako) => [
+ q(2683),
+ q(0),
+ ],
+ q(halang) => [
+ q(2680),
+ q(0),
+ ],
+ q(halang doan) => [
+ q(2733),
+ q(0),
+ ],
+ q(halbi) => [
+ q(2732),
+ q(0),
+ ],
+ q(halh mongolian) => [
+ q(3288),
+ q(0),
+ ],
+ q(halia) => [
+ q(2731),
+ q(0),
+ ],
+ q(halkomelem) => [
+ q(2824),
+ q(0),
+ ],
+ q(hamap) => [
+ q(2755),
+ q(0),
+ ],
+ q(hamba) => [
+ q(2692),
+ q(0),
+ ],
+ q(hamer-banna) => [
+ q(0770),
+ q(0),
+ ],
+ q(hamtai) => [
+ q(2754),
+ q(0),
+ ],
+ q(han) => [
+ q(2670),
+ q(0),
+ ],
+ q(hanga) => [
+ q(2676),
+ q(0),
+ ],
+ q(hanga hundi) => [
+ q(7118),
+ q(0),
+ ],
+ q(hangaza) => [
+ q(2682),
+ q(0),
+ ],
+ q(hani) => [
+ q(2764),
+ q(0),
+ ],
+ q(hano) => [
+ q(3933),
+ q(0),
+ ],
+ q(hanoi sign language) => [
+ q(2671),
+ q(0),
+ ],
+ q(hanunoo) => [
+ q(2766),
+ q(0),
+ ],
+ q(harami) => [
+ q(7237),
+ q(0),
+ ],
+ q(harari) => [
+ q(2686),
+ q(0),
+ ],
+ q(harijan kinnauri) => [
+ q(3339),
+ q(0),
+ ],
+ q(haroi) => [
+ q(2795),
+ q(0),
+ ],
+ q(harsusi) => [
+ q(2804),
+ q(0),
+ ],
+ q(haruai) => [
+ q(6509),
+ q(0),
+ ],
+ q(haruku) => [
+ q(2793),
+ q(0),
+ ],
+ q(haryanvi) => [
+ q(1157),
+ q(0),
+ ],
+ q(harzani) => [
+ q(2800),
+ q(0),
+ ],
+ q(hasha) => [
+ q(7463),
+ q(0),
+ ],
+ q(hassaniyya) => [
+ q(4169),
+ q(0),
+ ],
+ q(hatam) => [
+ q(2673),
+ q(0),
+ ],
+ q(hattic) => [
+ q(7242),
+ q(0),
+ ],
+ q(hausa) => [
+ q(0171),
+ q(0),
+ ],
+ q(hausa sign language) => [
+ q(2802),
+ q(0),
+ ],
+ q(havasupai-walapai-yavapai) => [
+ q(7619),
+ q(0),
+ ],
+ q(haveke) => [
+ q(2835),
+ q(0),
+ ],
+ q(havu) => [
+ q(2688),
+ q(0),
+ ],
+ q(hawai'i creole english) => [
+ q(2839),
+ q(0),
+ ],
+ q(hawai'i pidgin sign language) => [
+ q(2790),
+ q(0),
+ ],
+ q(hawaiian) => [
+ q(0172),
+ q(0),
+ ],
+ q(haya) => [
+ q(2690),
+ q(0),
+ ],
+ q(hazaragi) => [
+ q(2691),
+ q(0),
+ ],
+ q(hdi) => [
+ q(7223),
+ q(0),
+ ],
+ q(hebrew) => [
+ q(0173),
+ q(0),
+ ],
+ q(hehe) => [
+ q(2705),
+ q(0),
+ ],
+ q(heiban) => [
+ q(2694),
+ q(0),
+ ],
+ q(heiltsuk) => [
+ q(2706),
+ q(0),
+ ],
+ q(helambu sherpa) => [
+ q(5864),
+ q(0),
+ ],
+ q(helong) => [
+ q(2704),
+ q(0),
+ ],
+ q(hema) => [
+ q(4855),
+ q(0),
+ ],
+ q(hemba) => [
+ q(2707),
+ q(0),
+ ],
+ q(herde) => [
+ q(2703),
+ q(0),
+ ],
+ q(herero) => [
+ q(0174),
+ q(0),
+ ],
+ q(hermit) => [
+ q(3908),
+ q(0),
+ ],
+ q(hernican) => [
+ q(7241),
+ q(0),
+ ],
+ q(hertevin) => [
+ q(2797),
+ q(0),
+ ],
+ q(heung kong sau yue) => [
+ q(2730),
+ q(0),
+ ],
+ q(hewa) => [
+ q(2681),
+ q(0),
+ ],
+ q(heyo) => [
+ q(0940),
+ q(0),
+ ],
+ q(hiberno-scottish gaelic) => [
+ q(2473),
+ q(0),
+ ],
+ q(hibito) => [
+ q(2714),
+ q(0),
+ ],
+ q(hidatsa) => [
+ q(2715),
+ q(0),
+ ],
+ q(hieroglyphic luwian) => [
+ q(2736),
+ q(0),
+ ],
+ q(higaonon) => [
+ q(4073),
+ q(0),
+ ],
+ q(highland konjo) => [
+ q(3335),
+ q(0),
+ ],
+ q(highland oaxaca chontal) => [
+ q(1715),
+ q(0),
+ ],
+ q(highland popoluca) => [
+ q(5494),
+ q(0),
+ ],
+ q(highland puebla nahuatl) => [
+ q(1014),
+ q(0),
+ ],
+ q(highland totonac) => [
+ q(6568),
+ q(0),
+ ],
+ q(hijazi arabic) => [
+ q(0600),
+ q(0),
+ ],
+ q(hijuk) => [
+ q(2720),
+ q(0),
+ ],
+ q(hiligaynon) => [
+ q(0175),
+ q(0),
+ ],
+ q(himachali languages) => [
+ q(0176),
+ q(0),
+ ],
+ q(himarima) => [
+ q(2723),
+ q(0),
+ ],
+ q(hindi) => [
+ q(0177),
+ q(0),
+ ],
+ q(hinduri) => [
+ q(2719),
+ q(0),
+ ],
+ q(hinukh) => [
+ q(2489),
+ q(0),
+ ],
+ q(hiri motu) => [
+ q(0180),
+ q(0),
+ ],
+ q(hittite) => [
+ q(0178),
+ q(0),
+ ],
+ q(hitu) => [
+ q(2808),
+ q(0),
+ ],
+ q(hiw) => [
+ q(2724),
+ q(0),
+ ],
+ q(hixkaryana) => [
+ q(2725),
+ q(0),
+ ],
+ q(hlai) => [
+ q(3863),
+ q(0),
+ ],
+ q(hlepho phowa) => [
+ q(7500),
+ q(0),
+ ],
+ q(hlersu) => [
+ q(2734),
+ q(0),
+ ],
+ q(hmar) => [
+ q(2752),
+ q(0),
+ ],
+ q(hmong) => [
+ q(0179),
+ q(0),
+ ],
+ q(hmong daw) => [
+ q(4595),
+ q(0),
+ ],
+ q(hmong do) => [
+ q(2756),
+ q(0),
+ ],
+ q(hmong don) => [
+ q(2742),
+ q(0),
+ ],
+ q(hmong njua) => [
+ q(2765),
+ q(0),
+ ],
+ q(hmong shua) => [
+ q(2759),
+ q(0),
+ ],
+ q(hmong-mien languages) => [
+ q(0508),
+ q(0),
+ ],
+ q(hmwaveke) => [
+ q(4465),
+ q(0),
+ ],
+ q(ho) => [
+ q(2772),
+ q(0),
+ ],
+ q(ho chi minh city sign language) => [
+ q(2783),
+ q(0),
+ ],
+ q(ho-chunk) => [
+ q(7049),
+ q(0),
+ ],
+ q(hoava) => [
+ q(2770),
+ q(0),
+ ],
+ q(hobyot) => [
+ q(2775),
+ q(0),
+ ],
+ q(hoia hoia) => [
+ q(2710),
+ q(0),
+ ],
+ q(hokan languages) => [
+ q(0509),
+ q(0),
+ ],
+ q(holikachuk) => [
+ q(2776),
+ q(0),
+ ],
+ q(holiya) => [
+ q(2787),
+ q(0),
+ ],
+ q(holma) => [
+ q(2773),
+ q(0),
+ ],
+ q(holoholo) => [
+ q(2780),
+ q(0),
+ ],
+ q(holu) => [
+ q(2778),
+ q(0),
+ ],
+ q(homa) => [
+ q(2779),
+ q(0),
+ ],
+ q(honduras sign language) => [
+ q(2700),
+ q(0),
+ ],
+ q(hone) => [
+ q(3096),
+ q(0),
+ ],
+ q(hong kong sign language) => [
+ q(2730),
+ q(0),
+ ],
+ q(honi) => [
+ q(2786),
+ q(0),
+ ],
+ q(hopi) => [
+ q(2781),
+ q(0),
+ ],
+ q(horned miao) => [
+ q(2794),
+ q(0),
+ ],
+ q(horo) => [
+ q(2782),
+ q(0),
+ ],
+ q(horom) => [
+ q(2774),
+ q(0),
+ ],
+ q(horpa) => [
+ q(2260),
+ q(0),
+ ],
+ q(horuru) => [
+ q(2796),
+ q(0),
+ ],
+ q(hote) => [
+ q(2784),
+ q(0),
+ ],
+ q(hoti) => [
+ q(2805),
+ q(0),
+ ],
+ q(hovongan) => [
+ q(2785),
+ q(0),
+ ],
+ q(hoyahoya) => [
+ q(2712),
+ q(0),
+ ],
+ q(hozo) => [
+ q(2788),
+ q(0),
+ ],
+ q(hpon) => [
+ q(2789),
+ q(0),
+ ],
+ q(hrangkhol) => [
+ q(2791),
+ q(0),
+ ],
+ q(hre) => [
+ q(2792),
+ q(0),
+ ],
+ q(hruso) => [
+ q(2798),
+ q(0),
+ ],
+ q(hu) => [
+ q(2822),
+ q(0),
+ ],
+ q(huachipaeri) => [
+ q(2815),
+ q(0),
+ ],
+ q(huallaga huanuco quechua) => [
+ q(5614),
+ q(0),
+ ],
+ q(huamalies-dos de mayo huanuco quechua) => [
+ q(5637),
+ q(0),
+ ],
+ q(huambisa) => [
+ q(2810),
+ q(0),
+ ],
+ q(huarijio) => [
+ q(6896),
+ q(0),
+ ],
+ q(huastec) => [
+ q(2825),
+ q(0),
+ ],
+ q(huaulu) => [
+ q(2812),
+ q(0),
+ ],
+ q(huautla mazatec) => [
+ q(4068),
+ q(0),
+ ],
+ q(huaxcaleca nahuatl) => [
+ q(4827),
+ q(0),
+ ],
+ q(huaylas ancash quechua) => [
+ q(5651),
+ q(0),
+ ],
+ q(huaylla wanca quechua) => [
+ q(5646),
+ q(0),
+ ],
+ q(huba) => [
+ q(2693),
+ q(0),
+ ],
+ q(huehuetla tepehua) => [
+ q(6375),
+ q(0),
+ ],
+ q(huichol) => [
+ q(2698),
+ q(0),
+ ],
+ q(huilliche) => [
+ q(2816),
+ q(0),
+ ],
+ q(huitepec mixtec) => [
+ q(4617),
+ q(0),
+ ],
+ q(huizhou chinese) => [
+ q(1922),
+ q(0),
+ ],
+ q(hukumina) => [
+ q(2829),
+ q(0),
+ ],
+ q(hula) => [
+ q(2820),
+ q(0),
+ ],
+ q(hulaula) => [
+ q(2831),
+ q(0),
+ ],
+ q(huli) => [
+ q(2817),
+ q(0),
+ ],
+ q(hulung) => [
+ q(2819),
+ q(0),
+ ],
+ q(humburi senni songhay) => [
+ q(2738),
+ q(0),
+ ],
+ q(humene) => [
+ q(2814),
+ q(0),
+ ],
+ q(humla) => [
+ q(2826),
+ q(0),
+ ],
+ q(hun-saare) => [
+ q(2147),
+ q(0),
+ ],
+ q(hunde) => [
+ q(2728),
+ q(0),
+ ],
+ q(hung) => [
+ q(2769),
+ q(0),
+ ],
+ q(hungana) => [
+ q(2821),
+ q(0),
+ ],
+ q(hungarian) => [
+ q(0183),
+ q(0),
+ ],
+ q(hungarian sign language) => [
+ q(2801),
+ q(0),
+ ],
+ q(hungworo) => [
+ q(4688),
+ q(0),
+ ],
+ q(hunjara-kaina ke) => [
+ q(2729),
+ q(0),
+ ],
+ q(hunnic) => [
+ q(7238),
+ q(0),
+ ],
+ q(hunsrik) => [
+ q(2799),
+ q(0),
+ ],
+ q(hunzib) => [
+ q(2832),
+ q(0),
+ ],
+ q(hupa) => [
+ q(0184),
+ q(0),
+ ],
+ q(hupde) => [
+ q(3102),
+ q(0),
+ ],
+ q(hupla) => [
+ q(2684),
+ q(0),
+ ],
+ q(hurrian) => [
+ q(7243),
+ q(0),
+ ],
+ q(hutterisch) => [
+ q(2447),
+ q(0),
+ ],
+ q(hutterite german) => [
+ q(2447),
+ q(0),
+ ],
+ q(hwana) => [
+ q(2840),
+ q(0),
+ ],
+ q(hya) => [
+ q(2841),
+ q(0),
+ ],
+ q(hyam) => [
+ q(2997),
+ q(0),
+ ],
+ q(i'saka) => [
+ q(3550),
+ q(0),
+ ],
+ q(i-wak) => [
+ q(2984),
+ q(0),
+ ],
+ q(iaai) => [
+ q(2842),
+ q(0),
+ ],
+ q(iamalele) => [
+ q(7551),
+ q(0),
+ ],
+ q(iapama) => [
+ q(2844),
+ q(0),
+ ],
+ q(iatmul) => [
+ q(2843),
+ q(0),
+ ],
+ q(iau) => [
+ q(6525),
+ q(0),
+ ],
+ q(ibali teke) => [
+ q(6380),
+ q(0),
+ ],
+ q(ibaloi) => [
+ q(2851),
+ q(0),
+ ],
+ q(iban) => [
+ q(0185),
+ q(0),
+ ],
+ q(ibanag) => [
+ q(2849),
+ q(0),
+ ],
+ q(ibani) => [
+ q(2856),
+ q(0),
+ ],
+ q(ibatan) => [
+ q(2982),
+ q(0),
+ ],
+ q(iberian) => [
+ q(7246),
+ q(0),
+ ],
+ q(ibibio) => [
+ q(2846),
+ q(0),
+ ],
+ q(ibilo) => [
+ q(2850),
+ q(0),
+ ],
+ q(ibino) => [
+ q(2853),
+ q(0),
+ ],
+ q(ibu) => [
+ q(2855),
+ q(0),
+ ],
+ q(ibuoro) => [
+ q(2854),
+ q(0),
+ ],
+ q(icelandic) => [
+ q(0187),
+ q(0),
+ ],
+ q(icelandic sign language) => [
+ q(2859),
+ q(0),
+ ],
+ q(iceve-maci) => [
+ q(1111),
+ q(0),
+ ],
+ q(ida'an) => [
+ q(1954),
+ q(0),
+ ],
+ q(idakho-isukha-tiriki) => [
+ q(2861),
+ q(0),
+ ],
+ q(idate) => [
+ q(2869),
+ q(0),
+ ],
+ q(idere) => [
+ q(2865),
+ q(0),
+ ],
+ q(idesa) => [
+ q(2868),
+ q(0),
+ ],
+ q(idi) => [
+ q(2866),
+ q(0),
+ ],
+ q(ido) => [
+ q(0188),
+ q(0),
+ ],
+ q(idoma) => [
+ q(2870),
+ q(0),
+ ],
+ q(idon) => [
+ q(2863),
+ q(0),
+ ],
+ q(idu-mishmi) => [
+ q(1770),
+ q(0),
+ ],
+ q(idun) => [
+ q(3797),
+ q(0),
+ ],
+ q(iduna) => [
+ q(6920),
+ q(0),
+ ],
+ q(ife) => [
+ q(2873),
+ q(0),
+ ],
+ q(ifo) => [
+ q(2874),
+ q(0),
+ ],
+ q(igala) => [
+ q(2882),
+ q(0),
+ ],
+ q(igana) => [
+ q(2881),
+ q(0),
+ ],
+ q(igbo) => [
+ q(0186),
+ q(0),
+ ],
+ q(igede) => [
+ q(2880),
+ q(0),
+ ],
+ q(ignaciano) => [
+ q(2884),
+ q(0),
+ ],
+ q(igo) => [
+ q(0684),
+ q(0),
+ ],
+ q(iguta) => [
+ q(4686),
+ q(0),
+ ],
+ q(igwe) => [
+ q(2887),
+ q(0),
+ ],
+ q(iha) => [
+ q(2890),
+ q(0),
+ ],
+ q(iha based pidgin) => [
+ q(2888),
+ q(0),
+ ],
+ q(ihievbe) => [
+ q(2889),
+ q(0),
+ ],
+ q(ija-zuba) => [
+ q(6922),
+ q(0),
+ ],
+ q(ijo languages) => [
+ q(0190),
+ q(0),
+ ],
+ q(ik) => [
+ q(2905),
+ q(0),
+ ],
+ q(ika) => [
+ q(2898),
+ q(0),
+ ],
+ q(ikizu) => [
+ q(2906),
+ q(0),
+ ],
+ q(iko) => [
+ q(2897),
+ q(0),
+ ],
+ q(ikobi-mena) => [
+ q(4148),
+ q(0),
+ ],
+ q(ikoma-nata-isenye) => [
+ q(5037),
+ q(0),
+ ],
+ q(ikpeng) => [
+ q(6737),
+ q(0),
+ ],
+ q(ikpeshi) => [
+ q(2901),
+ q(0),
+ ],
+ q(ikposo) => [
+ q(3484),
+ q(0),
+ ],
+ q(iku-gora-ankwa) => [
+ q(2903),
+ q(0),
+ ],
+ q(ikulu) => [
+ q(2899),
+ q(0),
+ ],
+ q(ikwere) => [
+ q(2904),
+ q(0),
+ ],
+ q(ila) => [
+ q(2908),
+ q(0),
+ ],
+ q(ile ape) => [
+ q(2907),
+ q(0),
+ ],
+ q(ili turki) => [
+ q(2910),
+ q(0),
+ ],
+ q(ili'uun) => [
+ q(2914),
+ q(0),
+ ],
+ q(ilianen manobo) => [
+ q(4080),
+ q(0),
+ ],
+ q(illyrian) => [
+ q(7248),
+ q(0),
+ ],
+ q(iloko) => [
+ q(0193),
+ q(0),
+ ],
+ q(ilongot) => [
+ q(2911),
+ q(0),
+ ],
+ q(ilue) => [
+ q(2915),
+ q(0),
+ ],
+ q(ilwana) => [
+ q(4325),
+ q(0),
+ ],
+ q(imbabura highland quichua) => [
+ q(5638),
+ q(0),
+ ],
+ q(imbongu) => [
+ q(2922),
+ q(0),
+ ],
+ q(imeraguen) => [
+ q(2918),
+ q(0),
+ ],
+ q(imonda) => [
+ q(2921),
+ q(0),
+ ],
+ q(imperial aramaic (700-300 bce)) => [
+ q(0022),
+ q(0),
+ ],
+ q(imroing) => [
+ q(2923),
+ q(0),
+ ],
+ q(inabaknon) => [
+ q(0581),
+ q(0),
+ ],
+ q(inapang) => [
+ q(4666),
+ q(0),
+ ],
+ q(inapari) => [
+ q(2933),
+ q(0),
+ ],
+ q(inari sami) => [
+ q(0391),
+ q(0),
+ ],
+ q(indian sign language) => [
+ q(2934),
+ q(0),
+ ],
+ q(indic languages) => [
+ q(0195),
+ q(0),
+ ],
+ q(indo-european languages) => [
+ q(0197),
+ q(0),
+ ],
+ q(indo-iranian languages) => [
+ q(0511),
+ q(0),
+ ],
+ q(indo-portuguese) => [
+ q(2862),
+ q(0),
+ ],
+ q(indonesian) => [
+ q(0196),
+ q(0),
+ ],
+ q(indonesian bajau) => [
+ q(1094),
+ q(0),
+ ],
+ q(indonesian sign language) => [
+ q(2929),
+ q(0),
+ ],
+ q(indri) => [
+ q(2867),
+ q(0),
+ ],
+ q(indus kohistani) => [
+ q(4573),
+ q(0),
+ ],
+ q(indus valley language) => [
+ q(7252),
+ q(0),
+ ],
+ q(inebu one) => [
+ q(5155),
+ q(0),
+ ],
+ q(ineseno) => [
+ q(2936),
+ q(0),
+ ],
+ q(inga) => [
+ q(2926),
+ q(0),
+ ],
+ q(ingrian) => [
+ q(2993),
+ q(0),
+ ],
+ q(ingush) => [
+ q(0198),
+ q(0),
+ ],
+ q(inlaod itneg) => [
+ q(2968),
+ q(0),
+ ],
+ q(inoke-yate) => [
+ q(2932),
+ q(0),
+ ],
+ q(inonhan) => [
+ q(3962),
+ q(0),
+ ],
+ q(inor) => [
+ q(2937),
+ q(0),
+ ],
+ q(inpui naga) => [
+ q(4879),
+ q(0),
+ ],
+ q(interglossa) => [
+ q(2886),
+ q(0),
+ ],
+ q(interlingua (international auxiliary language association)) => [
+ q(0194),
+ q(0),
+ ],
+ q(interlingue) => [
+ q(0192),
+ q(0),
+ ],
+ q(international sign) => [
+ q(2913),
+ q(0),
+ ],
+ q(intha) => [
+ q(2935),
+ q(0),
+ ],
+ q(inuktitut) => [
+ q(0191),
+ q(0),
+ ],
+ q(inupiaq) => [
+ q(0199),
+ q(0),
+ ],
+ q(iowa-oto) => [
+ q(2939),
+ q(0),
+ ],
+ q(ipalapa amuzgo) => [
+ q(1011),
+ q(0),
+ ],
+ q(ipiko) => [
+ q(2941),
+ q(0),
+ ],
+ q(ipili) => [
+ q(2940),
+ q(0),
+ ],
+ q(ipulo) => [
+ q(0900),
+ q(0),
+ ],
+ q(iquito) => [
+ q(2942),
+ q(0),
+ ],
+ q(ir) => [
+ q(2948),
+ q(0),
+ ],
+ q(iranian languages) => [
+ q(0200),
+ q(0),
+ ],
+ q(iranian persian) => [
+ q(5355),
+ q(0),
+ ],
+ q(irantxe) => [
+ q(2947),
+ q(0),
+ ],
+ q(iranun) => [
+ q(2912),
+ q(0),
+ ],
+ q(iraqw) => [
+ q(2946),
+ q(0),
+ ],
+ q(irarutu) => [
+ q(2944),
+ q(0),
+ ],
+ q(iraya) => [
+ q(2951),
+ q(0),
+ ],
+ q(iresim) => [
+ q(2943),
+ q(0),
+ ],
+ q(irigwe) => [
+ q(2945),
+ q(0),
+ ],
+ q(irish) => [
+ q(0154),
+ q(0),
+ ],
+ q(irish sign language) => [
+ q(2956),
+ q(0),
+ ],
+ q(irish, middle (900-1200)) => [
+ q(0278),
+ q(0),
+ ],
+ q(irish, old (to 900)) => [
+ q(0377),
+ q(0),
+ ],
+ q(iroquoian languages) => [
+ q(0201),
+ q(0),
+ ],
+ q(irula) => [
+ q(2949),
+ q(0),
+ ],
+ q(isabi) => [
+ q(2952),
+ q(0),
+ ],
+ q(isanzu) => [
+ q(2961),
+ q(0),
+ ],
+ q(isarog agta) => [
+ q(0663),
+ q(0),
+ ],
+ q(isconahua) => [
+ q(2953),
+ q(0),
+ ],
+ q(isebe) => [
+ q(2885),
+ q(0),
+ ],
+ q(isekiri) => [
+ q(2974),
+ q(0),
+ ],
+ q(ishkashimi) => [
+ q(2959),
+ q(0),
+ ],
+ q(isinai) => [
+ q(2931),
+ q(0),
+ ],
+ q(isirawa) => [
+ q(6142),
+ q(0),
+ ],
+ q(island carib) => [
+ q(1837),
+ q(0),
+ ],
+ q(islander creole english) => [
+ q(2860),
+ q(0),
+ ],
+ q(isnag) => [
+ q(2954),
+ q(0),
+ ],
+ q(isoko) => [
+ q(2962),
+ q(0),
+ ],
+ q(israeli sign language) => [
+ q(2963),
+ q(0),
+ ],
+ q(isthmus mixe) => [
+ q(4262),
+ q(0),
+ ],
+ q(isthmus zapotec) => [
+ q(7658),
+ q(0),
+ ],
+ q(isthmus-cosoleacaque nahuatl) => [
+ q(4822),
+ q(0),
+ ],
+ q(isthmus-mecayapan nahuatl) => [
+ q(4833),
+ q(0),
+ ],
+ q(isthmus-pajapan nahuatl) => [
+ q(4826),
+ q(0),
+ ],
+ q(istriot) => [
+ q(2964),
+ q(0),
+ ],
+ q(istro romanian) => [
+ q(5798),
+ q(0),
+ ],
+ q(isu (fako division)) => [
+ q(6277),
+ q(0),
+ ],
+ q(isu (menchum division)) => [
+ q(2965),
+ q(0),
+ ],
+ q(italian) => [
+ q(0202),
+ q(0),
+ ],
+ q(italian sign language) => [
+ q(2955),
+ q(0),
+ ],
+ q(italic languages) => [
+ q(0512),
+ q(0),
+ ],
+ q(itawit) => [
+ q(2976),
+ q(0),
+ ],
+ q(itelmen) => [
+ q(2970),
+ q(0),
+ ],
+ q(itene) => [
+ q(2967),
+ q(0),
+ ],
+ q(iteri) => [
+ q(2973),
+ q(0),
+ ],
+ q(itik) => [
+ q(2978),
+ q(0),
+ ],
+ q(ito) => [
+ q(2977),
+ q(0),
+ ],
+ q(itonama) => [
+ q(2972),
+ q(0),
+ ],
+ q(itu mbon uzo) => [
+ q(2971),
+ q(0),
+ ],
+ q(itundujia mixtec) => [
+ q(4102),
+ q(0),
+ ],
+ q(itza) => [
+ q(2980),
+ q(0),
+ ],
+ q(iu mien) => [
+ q(2981),
+ q(0),
+ ],
+ q(ivatan) => [
+ q(2983),
+ q(0),
+ ],
+ q(ivbie north-okpela-arhe) => [
+ q(0912),
+ q(0),
+ ],
+ q(iwaidja) => [
+ q(2847),
+ q(0),
+ ],
+ q(iwal) => [
+ q(3140),
+ q(0),
+ ],
+ q(iwam) => [
+ q(2985),
+ q(0),
+ ],
+ q(iwur) => [
+ q(2986),
+ q(0),
+ ],
+ q(ixcatec) => [
+ q(2988),
+ q(0),
+ ],
+ q(ixcatlan mazatec) => [
+ q(4654),
+ q(0),
+ ],
+ q(ixil) => [
+ q(2989),
+ q(0),
+ ],
+ q(ixtayutla mixtec) => [
+ q(6942),
+ q(0),
+ ],
+ q(ixtenco otomi) => [
+ q(5267),
+ q(0),
+ ],
+ q(iyayu) => [
+ q(2990),
+ q(0),
+ ],
+ q(iyive) => [
+ q(6795),
+ q(0),
+ ],
+ q(iyo) => [
+ q(4716),
+ q(0),
+ ],
+ q(iyo'wujwa chorote) => [
+ q(1849),
+ q(0),
+ ],
+ q(iyojwa'ja chorote) => [
+ q(1852),
+ q(0),
+ ],
+ q(izere) => [
+ q(2995),
+ q(0),
+ ],
+ q(izi-ezaa-ikwo-mgbo) => [
+ q(2994),
+ q(0),
+ ],
+ q(izon) => [
+ q(2891),
+ q(0),
+ ],
+ q(izora) => [
+ q(1667),
+ q(0),
+ ],
+ q(jabuti) => [
+ q(3020),
+ q(0),
+ ],
+ q(jad) => [
+ q(3024),
+ q(0),
+ ],
+ q(jadgali) => [
+ q(3025),
+ q(0),
+ ],
+ q(jah hut) => [
+ q(3002),
+ q(0),
+ ],
+ q(jahanka) => [
+ q(2999),
+ q(0),
+ ],
+ q(jair awyu) => [
+ q(0978),
+ q(0),
+ ],
+ q(jakalteko) => [
+ q(2998),
+ q(0),
+ ],
+ q(jakati) => [
+ q(3011),
+ q(0),
+ ],
+ q(jakun) => [
+ q(3004),
+ q(0),
+ ],
+ q(jalapa de diaz mazatec) => [
+ q(4064),
+ q(0),
+ ],
+ q(jalkunan) => [
+ q(1572),
+ q(0),
+ ],
+ q(jamaican country sign language) => [
+ q(3022),
+ q(0),
+ ],
+ q(jamaican creole english) => [
+ q(3006),
+ q(0),
+ ],
+ q(jamaican sign language) => [
+ q(3062),
+ q(0),
+ ],
+ q(jamamadi) => [
+ q(2996),
+ q(0),
+ ],
+ q(jambi malay) => [
+ q(3013),
+ q(0),
+ ],
+ q(jamiltepec mixtec) => [
+ q(4618),
+ q(0),
+ ],
+ q(jamsay dogon) => [
+ q(2050),
+ q(0),
+ ],
+ q(jandavra) => [
+ q(3074),
+ q(0),
+ ],
+ q(jangkang) => [
+ q(2052),
+ q(0),
+ ],
+ q(jangshung) => [
+ q(3073),
+ q(0),
+ ],
+ q(janji) => [
+ q(3076),
+ q(0),
+ ],
+ q(japanese) => [
+ q(0205),
+ q(0),
+ ],
+ q(japanese (family)) => [
+ q(0513),
+ q(0),
+ ],
+ q(japanese sign language) => [
+ q(3091),
+ q(0),
+ ],
+ q(japreria) => [
+ q(3090),
+ q(0),
+ ],
+ q(jaqaru) => [
+ q(3086),
+ q(0),
+ ],
+ q(jara) => [
+ q(3001),
+ q(0),
+ ],
+ q(jarai) => [
+ q(3087),
+ q(0),
+ ],
+ q(jarawa (india)) => [
+ q(0804),
+ q(0),
+ ],
+ q(jarawa (nigeria)) => [
+ q(3009),
+ q(0),
+ ],
+ q(jaru) => [
+ q(1971),
+ q(0),
+ ],
+ q(jauja wanca quechua) => [
+ q(5667),
+ q(0),
+ ],
+ q(jaunsari) => [
+ q(3079),
+ q(0),
+ ],
+ q(javanese) => [
+ q(0203),
+ q(0),
+ ],
+ q(javindo) => [
+ q(3109),
+ q(0),
+ ],
+ q(jawe) => [
+ q(3015),
+ q(0),
+ ],
+ q(jaya) => [
+ q(3114),
+ q(0),
+ ],
+ q(jebero) => [
+ q(3027),
+ q(0),
+ ],
+ q(jeh) => [
+ q(3030),
+ q(0),
+ ],
+ q(jehai) => [
+ q(3041),
+ q(0),
+ ],
+ q(jemez) => [
+ q(6571),
+ q(0),
+ ],
+ q(jenaama bozo) => [
+ q(1613),
+ q(0),
+ ],
+ q(jeng) => [
+ q(3029),
+ q(0),
+ ],
+ q(jennu kurumba) => [
+ q(7406),
+ q(0),
+ ],
+ q(jere) => [
+ q(3035),
+ q(0),
+ ],
+ q(jeri kuo) => [
+ q(3032),
+ q(0),
+ ],
+ q(jerung) => [
+ q(3028),
+ q(0),
+ ],
+ q(jewish babylonian aramaic (ca. 200-1200 ce)) => [
+ q(6522),
+ q(0),
+ ],
+ q(jewish palestinian aramaic) => [
+ q(3085),
+ q(0),
+ ],
+ q(jhankot sign language) => [
+ q(3042),
+ q(0),
+ ],
+ q(jiamao) => [
+ q(3053),
+ q(0),
+ ],
+ q(jiarong) => [
+ q(3112),
+ q(0),
+ ],
+ q(jiba) => [
+ q(3101),
+ q(0),
+ ],
+ q(jibu) => [
+ q(3044),
+ q(0),
+ ],
+ q(jicarilla apache) => [
+ q(0841),
+ q(0),
+ ],
+ q(jiiddu) => [
+ q(3050),
+ q(0),
+ ],
+ q(jilbe) => [
+ q(3047),
+ q(0),
+ ],
+ q(jilim) => [
+ q(3051),
+ q(0),
+ ],
+ q(jimi (cameroon)) => [
+ q(3052),
+ q(0),
+ ],
+ q(jimi (nigeria)) => [
+ q(3067),
+ q(0),
+ ],
+ q(jina) => [
+ q(3043),
+ q(0),
+ ],
+ q(jingpho) => [
+ q(0210),
+ q(0),
+ ],
+ q(jinyu chinese) => [
+ q(1749),
+ q(0),
+ ],
+ q(jiongnai bunu) => [
+ q(5482),
+ q(0),
+ ],
+ q(jirel) => [
+ q(3098),
+ q(0),
+ ],
+ q(jiru) => [
+ q(3088),
+ q(0),
+ ],
+ q(jita) => [
+ q(3055),
+ q(0),
+ ],
+ q(jju) => [
+ q(3121),
+ q(0),
+ ],
+ q(joba) => [
+ q(3080),
+ q(0),
+ ],
+ q(jofotek-bromnya) => [
+ q(3019),
+ q(0),
+ ],
+ q(jola-fonyi) => [
+ q(2181),
+ q(0),
+ ],
+ q(jola-kasa) => [
+ q(1866),
+ q(0),
+ ],
+ q(jonkor bourmataguil) => [
+ q(3037),
+ q(0),
+ ],
+ q(jora) => [
+ q(3082),
+ q(0),
+ ],
+ q(jordanian sign language) => [
+ q(3083),
+ q(0),
+ ],
+ q(jorto) => [
+ q(3089),
+ q(0),
+ ],
+ q(jowulu) => [
+ q(3084),
+ q(0),
+ ],
+ q(ju) => [
+ q(3106),
+ q(0),
+ ],
+ q(ju/'hoan) => [
+ q(3593),
+ q(0),
+ ],
+ q(juang) => [
+ q(3100),
+ q(0),
+ ],
+ q(judeo-arabic) => [
+ q(0207),
+ q(0),
+ ],
+ q(judeo-berber) => [
+ q(3016),
+ q(0),
+ ],
+ q(judeo-georgian) => [
+ q(3039),
+ q(0),
+ ],
+ q(judeo-iraqi arabic) => [
+ q(7499),
+ q(0),
+ ],
+ q(judeo-italian) => [
+ q(2969),
+ q(0),
+ ],
+ q(judeo-moroccan arabic) => [
+ q(0719),
+ q(0),
+ ],
+ q(judeo-persian) => [
+ q(0206),
+ q(0),
+ ],
+ q(judeo-tat) => [
+ q(3026),
+ q(0),
+ ],
+ q(judeo-tripolitanian arabic) => [
+ q(7617),
+ q(0),
+ ],
+ q(judeo-tunisian arabic) => [
+ q(0718),
+ q(0),
+ ],
+ q(judeo-yemeni arabic) => [
+ q(3113),
+ q(0),
+ ],
+ q(jukun takum) => [
+ q(3021),
+ q(0),
+ ],
+ q(juma) => [
+ q(3092),
+ q(0),
+ ],
+ q(jumjum) => [
+ q(3099),
+ q(0),
+ ],
+ q(jumla sign language) => [
+ q(3104),
+ q(0),
+ ],
+ q(jumli) => [
+ q(3068),
+ q(0),
+ ],
+ q(jungle inga) => [
+ q(2928),
+ q(0),
+ ],
+ q(juquila mixe) => [
+ q(4615),
+ q(0),
+ ],
+ q(jur modo) => [
+ q(1127),
+ q(0),
+ ],
+ q(juray) => [
+ q(3108),
+ q(0),
+ ],
+ q(jurchen) => [
+ q(3094),
+ q(0),
+ ],
+ q(juruna) => [
+ q(3103),
+ q(0),
+ ],
+ q(jutish) => [
+ q(3105),
+ q(0),
+ ],
+ q(juwal) => [
+ q(4576),
+ q(0),
+ ],
+ q(juxtlahuaca mixtec) => [
+ q(6935),
+ q(0),
+ ],
+ q(jwira-pepesa) => [
+ q(3111),
+ q(0),
+ ],
+ q(k'iche') => [
+ q(5615),
+ q(0),
+ ],
+ q(kaamba) => [
+ q(7273),
+ q(0),
+ ],
+ q(kaan) => [
+ q(3804),
+ q(0),
+ ],
+ q(kaansa) => [
+ q(2529),
+ q(0),
+ ],
+ q(kaapor) => [
+ q(6842),
+ q(0),
+ ],
+ q(kaapor sign language) => [
+ q(6803),
+ q(0),
+ ],
+ q(kaba) => [
+ q(3557),
+ q(0),
+ ],
+ q(kabalai) => [
+ q(3620),
+ q(0),
+ ],
+ q(kabardian) => [
+ q(0219),
+ q(0),
+ ],
+ q(kabatei) => [
+ q(7268),
+ q(0),
+ ],
+ q(kabixi) => [
+ q(7203),
+ q(0),
+ ],
+ q(kabiye) => [
+ q(3143),
+ q(0),
+ ],
+ q(kabola) => [
+ q(3400),
+ q(0),
+ ],
+ q(kabore one) => [
+ q(5208),
+ q(0),
+ ],
+ q(kabras) => [
+ q(3889),
+ q(0),
+ ],
+ q(kaburi) => [
+ q(6797),
+ q(0),
+ ],
+ q(kabutra) => [
+ q(3148),
+ q(0),
+ ],
+ q(kabuverdianu) => [
+ q(3203),
+ q(0),
+ ],
+ q(kabwa) => [
+ q(1913),
+ q(0),
+ ],
+ q(kabwari) => [
+ q(3176),
+ q(0),
+ ],
+ q(kabyle) => [
+ q(0209),
+ q(0),
+ ],
+ q(kachama-ganjule) => [
+ q(3177),
+ q(0),
+ ],
+ q(kachari) => [
+ q(7177),
+ q(0),
+ ],
+ q(kachchi) => [
+ q(3246),
+ q(0),
+ ],
+ q(kachi koli) => [
+ q(2501),
+ q(0),
+ ],
+ q(kachin) => [
+ q(0210),
+ q(0),
+ ],
+ q(kacipo-balesi) => [
+ q(3454),
+ q(0),
+ ],
+ q(kaco') => [
+ q(7264),
+ q(0),
+ ],
+ q(kadai) => [
+ q(3721),
+ q(0),
+ ],
+ q(kadar) => [
+ q(3212),
+ q(0),
+ ],
+ q(kadara) => [
+ q(3115),
+ q(0),
+ ],
+ q(kadaru) => [
+ q(3197),
+ q(0),
+ ],
+ q(kadiweu) => [
+ q(3131),
+ q(0),
+ ],
+ q(kado) => [
+ q(3198),
+ q(0),
+ ],
+ q(kaduo) => [
+ q(3583),
+ q(0),
+ ],
+ q(kafa) => [
+ q(3145),
+ q(0),
+ ],
+ q(kafoa) => [
+ q(3490),
+ q(0),
+ ],
+ q(kagan kalagan) => [
+ q(3386),
+ q(0),
+ ],
+ q(kagate) => [
+ q(6266),
+ q(0),
+ ],
+ q(kagayanen) => [
+ q(1711),
+ q(0),
+ ],
+ q(kagoma) => [
+ q(3191),
+ q(0),
+ ],
+ q(kagoro) => [
+ q(7260),
+ q(0),
+ ],
+ q(kagulu) => [
+ q(3357),
+ q(0),
+ ],
+ q(kahe) => [
+ q(2727),
+ q(0),
+ ],
+ q(kahua) => [
+ q(0674),
+ q(0),
+ ],
+ q(kaian) => [
+ q(3173),
+ q(0),
+ ],
+ q(kaibobo) => [
+ q(3719),
+ q(0),
+ ],
+ q(kaidipang) => [
+ q(3733),
+ q(0),
+ ],
+ q(kaiep) => [
+ q(3150),
+ q(0),
+ ],
+ q(kaikadi) => [
+ q(3218),
+ q(0),
+ ],
+ q(kaike) => [
+ q(3734),
+ q(0),
+ ],
+ q(kaiku) => [
+ q(3365),
+ q(0),
+ ],
+ q(kaimbe) => [
+ q(7181),
+ q(0),
+ ],
+ q(kaimbulawa) => [
+ q(7703),
+ q(0),
+ ],
+ q(kaingang) => [
+ q(3270),
+ q(0),
+ ],
+ q(kairak) => [
+ q(1756),
+ q(0),
+ ],
+ q(kairiru) => [
+ q(3667),
+ q(0),
+ ],
+ q(kairui-midiki) => [
+ q(3524),
+ q(0),
+ ],
+ q(kais) => [
+ q(3730),
+ q(0),
+ ],
+ q(kaivi) => [
+ q(3158),
+ q(0),
+ ],
+ q(kaiwa) => [
+ q(3265),
+ q(0),
+ ],
+ q(kaiy) => [
+ q(6341),
+ q(0),
+ ],
+ q(kajakse) => [
+ q(1755),
+ q(0),
+ ],
+ q(kajali) => [
+ q(7263),
+ q(0),
+ ],
+ q(kajaman) => [
+ q(3118),
+ q(0),
+ ],
+ q(kakabai) => [
+ q(3501),
+ q(0),
+ ],
+ q(kakabe) => [
+ q(3353),
+ q(0),
+ ],
+ q(kakanda) => [
+ q(3349),
+ q(0),
+ ],
+ q(kakauhua) => [
+ q(3133),
+ q(0),
+ ],
+ q(kaki ae) => [
+ q(6304),
+ q(0),
+ ],
+ q(kakihum) => [
+ q(3671),
+ q(0),
+ ],
+ q(kako) => [
+ q(3358),
+ q(0),
+ ],
+ q(kakwa) => [
+ q(3217),
+ q(0),
+ ],
+ q(kala lagaw ya) => [
+ q(4589),
+ q(0),
+ ],
+ q(kalaallisut) => [
+ q(0211),
+ q(0),
+ ],
+ q(kalabakan) => [
+ q(3619),
+ q(0),
+ ],
+ q(kalabari) => [
+ q(2894),
+ q(0),
+ ],
+ q(kalabra) => [
+ q(3743),
+ q(0),
+ ],
+ q(kalagan) => [
+ q(3500),
+ q(0),
+ ],
+ q(kalaktang monpa) => [
+ q(3354),
+ q(0),
+ ],
+ q(kalam) => [
+ q(3407),
+ q(0),
+ ],
+ q(kalami) => [
+ q(2642),
+ q(0),
+ ],
+ q(kalamse) => [
+ q(3450),
+ q(0),
+ ],
+ q(kalanadi) => [
+ q(7061),
+ q(0),
+ ],
+ q(kalanga) => [
+ q(3164),
+ q(0),
+ ],
+ q(kalao) => [
+ q(3399),
+ q(0),
+ ],
+ q(kalapuya) => [
+ q(3703),
+ q(0),
+ ],
+ q(kalarko) => [
+ q(3129),
+ q(0),
+ ],
+ q(kalasha) => [
+ q(3393),
+ q(0),
+ ],
+ q(kalenjin) => [
+ q(3388),
+ q(0),
+ ],
+ q(kalispel-pend d'oreille) => [
+ q(2324),
+ q(0),
+ ],
+ q(kalkoti) => [
+ q(7254),
+ q(0),
+ ],
+ q(kalkutung) => [
+ q(3574),
+ q(0),
+ ],
+ q(kalmyk) => [
+ q(0470),
+ q(0),
+ ],
+ q(kalo finnish romani) => [
+ q(5742),
+ q(0),
+ ],
+ q(kalou) => [
+ q(7638),
+ q(0),
+ ],
+ q(kaluli) => [
+ q(1072),
+ q(0),
+ ],
+ q(kalumpang) => [
+ q(3383),
+ q(0),
+ ],
+ q(kam) => [
+ q(3200),
+ q(0),
+ ],
+ q(kamakan) => [
+ q(6926),
+ q(0),
+ ],
+ q(kamang) => [
+ q(7112),
+ q(0),
+ ],
+ q(kamano) => [
+ q(3144),
+ q(0),
+ ],
+ q(kamantan) => [
+ q(3162),
+ q(0),
+ ],
+ q(kamar) => [
+ q(3219),
+ q(0),
+ ],
+ q(kamara) => [
+ q(3070),
+ q(0),
+ ],
+ q(kamarian) => [
+ q(3741),
+ q(0),
+ ],
+ q(kamaru) => [
+ q(3278),
+ q(0),
+ ],
+ q(kamas) => [
+ q(7188),
+ q(0),
+ ],
+ q(kamasa) => [
+ q(3390),
+ q(0),
+ ],
+ q(kamasau) => [
+ q(3418),
+ q(0),
+ ],
+ q(kamayo) => [
+ q(3702),
+ q(0),
+ ],
+ q(kamayura) => [
+ q(3128),
+ q(0),
+ ],
+ q(kamba) => [
+ q(0212),
+ q(0),
+ ],
+ q(kamba (brazil)) => [
+ q(7194),
+ q(0),
+ ],
+ q(kamba (kenya)) => [
+ q(0212),
+ q(1),
+ ],
+ q(kambaata) => [
+ q(3569),
+ q(0),
+ ],
+ q(kambaira) => [
+ q(3716),
+ q(0),
+ ],
+ q(kambera) => [
+ q(7201),
+ q(0),
+ ],
+ q(kamberau) => [
+ q(2950),
+ q(0),
+ ],
+ q(kambiwa) => [
+ q(7202),
+ q(0),
+ ],
+ q(kami (nigeria)) => [
+ q(3408),
+ q(0),
+ ],
+ q(kami (tanzania)) => [
+ q(3174),
+ q(0),
+ ],
+ q(kamo) => [
+ q(3170),
+ q(0),
+ ],
+ q(kamoro) => [
+ q(3271),
+ q(0),
+ ],
+ q(kamta) => [
+ q(5736),
+ q(0),
+ ],
+ q(kamu) => [
+ q(7311),
+ q(0),
+ ],
+ q(kamula) => [
+ q(7279),
+ q(0),
+ ],
+ q(kamviri) => [
+ q(7414),
+ q(0),
+ ],
+ q(kamwe) => [
+ q(2717),
+ q(0),
+ ],
+ q(kanakanabu) => [
+ q(7318),
+ q(0),
+ ],
+ q(kanamari) => [
+ q(3437),
+ q(0),
+ ],
+ q(kanashi) => [
+ q(7324),
+ q(0),
+ ],
+ q(kanasi) => [
+ q(6096),
+ q(0),
+ ],
+ q(kanauji) => [
+ q(1234),
+ q(0),
+ ],
+ q(kandas) => [
+ q(3518),
+ q(0),
+ ],
+ q(kandawo) => [
+ q(2380),
+ q(0),
+ ],
+ q(kande) => [
+ q(3146),
+ q(0),
+ ],
+ q(kanembu) => [
+ q(3139),
+ q(0),
+ ],
+ q(kang) => [
+ q(3707),
+ q(0),
+ ],
+ q(kanga) => [
+ q(3169),
+ q(0),
+ ],
+ q(kangean) => [
+ q(3370),
+ q(0),
+ ],
+ q(kanggape) => [
+ q(2883),
+ q(0),
+ ],
+ q(kangjia) => [
+ q(3684),
+ q(0),
+ ],
+ q(kango (bas-uele district)) => [
+ q(3592),
+ q(0),
+ ],
+ q(kango (tshopo district)) => [
+ q(3742),
+ q(0),
+ ],
+ q(kangri) => [
+ q(7323),
+ q(0),
+ ],
+ q(kaniet) => [
+ q(3578),
+ q(0),
+ ],
+ q(kanikkaran) => [
+ q(3224),
+ q(0),
+ ],
+ q(kaningdon-nindem) => [
+ q(3193),
+ q(0),
+ ],
+ q(kaningi) => [
+ q(3732),
+ q(0),
+ ],
+ q(kaningra) => [
+ q(3442),
+ q(0),
+ ],
+ q(kaninuwa) => [
+ q(6986),
+ q(0),
+ ],
+ q(kanite) => [
+ q(3420),
+ q(0),
+ ],
+ q(kanjari) => [
+ q(3248),
+ q(0),
+ ],
+ q(kanjobal) => [
+ q(3326),
+ q(0),
+ ],
+ q(kanju) => [
+ q(3132),
+ q(0),
+ ],
+ q(kankanaey) => [
+ q(3430),
+ q(0),
+ ],
+ q(kannada) => [
+ q(0213),
+ q(0),
+ ],
+ q(kannada kurumba) => [
+ q(3237),
+ q(0),
+ ],
+ q(kanoe) => [
+ q(3680),
+ q(0),
+ ],
+ q(kanowit-tanjong melanau) => [
+ q(3679),
+ q(0),
+ ],
+ q(kansa) => [
+ q(3552),
+ q(0),
+ ],
+ q(kantosi) => [
+ q(7272),
+ q(0),
+ ],
+ q(kanu) => [
+ q(3299),
+ q(0),
+ ],
+ q(kanufi) => [
+ q(3433),
+ q(0),
+ ],
+ q(kanuri) => [
+ q(0216),
+ q(0),
+ ],
+ q(kanyok) => [
+ q(3449),
+ q(0),
+ ],
+ q(kao) => [
+ q(3127),
+ q(0),
+ ],
+ q(kaonde) => [
+ q(3509),
+ q(0),
+ ],
+ q(kap) => [
+ q(7525),
+ q(0),
+ ],
+ q(kapampangan) => [
+ q(0337),
+ q(0),
+ ],
+ q(kapauri) => [
+ q(3291),
+ q(0),
+ ],
+ q(kapin) => [
+ q(6323),
+ q(0),
+ ],
+ q(kapinawa) => [
+ q(7343),
+ q(0),
+ ],
+ q(kapingamarangi) => [
+ q(3476),
+ q(0),
+ ],
+ q(kapori) => [
+ q(3291),
+ q(0),
+ ],
+ q(kapriman) => [
+ q(2054),
+ q(0),
+ ],
+ q(kaptiau) => [
+ q(3136),
+ q(0),
+ ],
+ q(kapya) => [
+ q(3389),
+ q(0),
+ ],
+ q(kaqchikel) => [
+ q(1643),
+ q(0),
+ ],
+ q(kara (central african republic)) => [
+ q(3119),
+ q(0),
+ ],
+ q(kara (korea)) => [
+ q(7784),
+ q(0),
+ ],
+ q(kara (papua new guinea)) => [
+ q(3830),
+ q(0),
+ ],
+ q(kara (tanzania)) => [
+ q(5700),
+ q(0),
+ ],
+ q(kara-kalpak) => [
+ q(0208),
+ q(0),
+ ],
+ q(karachay-balkar) => [
+ q(0234),
+ q(0),
+ ],
+ q(karadjeri) => [
+ q(2394),
+ q(0),
+ ],
+ q(karagas) => [
+ q(3313),
+ q(0),
+ ],
+ q(karahawyana) => [
+ q(7261),
+ q(0),
+ ],
+ q(karaim) => [
+ q(3195),
+ q(0),
+ ],
+ q(karaja) => [
+ q(3479),
+ q(0),
+ ],
+ q(karakhanid) => [
+ q(7351),
+ q(0),
+ ],
+ q(karami) => [
+ q(7187),
+ q(0),
+ ],
+ q(karamojong) => [
+ q(3188),
+ q(0),
+ ],
+ q(karang) => [
+ q(3735),
+ q(0),
+ ],
+ q(karanga) => [
+ q(3575),
+ q(0),
+ ],
+ q(karankawa) => [
+ q(7707),
+ q(0),
+ ],
+ q(karao) => [
+ q(3701),
+ q(0),
+ ],
+ q(karas) => [
+ q(3276),
+ q(0),
+ ],
+ q(karata) => [
+ q(3489),
+ q(0),
+ ],
+ q(karawa) => [
+ q(7362),
+ q(0),
+ ],
+ q(karbi) => [
+ q(4288),
+ q(0),
+ ],
+ q(kare (central african republic)) => [
+ q(3141),
+ q(0),
+ ],
+ q(kare (papua new guinea)) => [
+ q(3405),
+ q(0),
+ ],
+ q(karekare) => [
+ q(3120),
+ q(0),
+ ],
+ q(karelian) => [
+ q(0235),
+ q(0),
+ ],
+ q(karen languages) => [
+ q(0214),
+ q(0),
+ ],
+ q(karey) => [
+ q(3695),
+ q(0),
+ ],
+ q(kari) => [
+ q(3137),
+ q(0),
+ ],
+ q(karingani) => [
+ q(3268),
+ q(0),
+ ],
+ q(karipuna) => [
+ q(3267),
+ q(0),
+ ],
+ q(karipuna creole french) => [
+ q(3421),
+ q(0),
+ ],
+ q(kariri-xoco) => [
+ q(3740),
+ q(0),
+ ],
+ q(karitiana) => [
+ q(3581),
+ q(0),
+ ],
+ q(kariya) => [
+ q(3312),
+ q(0),
+ ],
+ q(kariyarra) => [
+ q(6921),
+ q(0),
+ ],
+ q(karkar-yuri) => [
+ q(7622),
+ q(0),
+ ],
+ q(karkin) => [
+ q(3523),
+ q(0),
+ ],
+ q(karko) => [
+ q(3363),
+ q(0),
+ ],
+ q(karnai) => [
+ q(1053),
+ q(0),
+ ],
+ q(karo (brazil)) => [
+ q(0876),
+ q(0),
+ ],
+ q(karo (ethiopia)) => [
+ q(3673),
+ q(0),
+ ],
+ q(karok) => [
+ q(3699),
+ q(0),
+ ],
+ q(karon) => [
+ q(3539),
+ q(0),
+ ],
+ q(karon dori) => [
+ q(3277),
+ q(0),
+ ],
+ q(karore) => [
+ q(7276),
+ q(0),
+ ],
+ q(kasanga) => [
+ q(1681),
+ q(0),
+ ],
+ q(kasem) => [
+ q(7372),
+ q(0),
+ ],
+ q(kashaya) => [
+ q(3345),
+ q(0),
+ ],
+ q(kashmiri) => [
+ q(0215),
+ q(0),
+ ],
+ q(kashubian) => [
+ q(0099),
+ q(0),
+ ],
+ q(kasiguranin) => [
+ q(3555),
+ q(0),
+ ],
+ q(kaska) => [
+ q(3374),
+ q(0),
+ ],
+ q(kaskean) => [
+ q(7791),
+ q(0),
+ ],
+ q(kasseng) => [
+ q(3257),
+ q(0),
+ ],
+ q(kasua) => [
+ q(3294),
+ q(0),
+ ],
+ q(kataang) => [
+ q(3258),
+ q(0),
+ ],
+ q(katabaga) => [
+ q(3584),
+ q(0),
+ ],
+ q(katawixi) => [
+ q(7189),
+ q(0),
+ ],
+ q(katbol) => [
+ q(6507),
+ q(0),
+ ],
+ q(katcha-kadugli-miri) => [
+ q(7384),
+ q(0),
+ ],
+ q(kate) => [
+ q(3406),
+ q(0),
+ ],
+ q(kathoriya tharu) => [
+ q(6479),
+ q(0),
+ ],
+ q(kathu) => [
+ q(7528),
+ q(0),
+ ],
+ q(kati) => [
+ q(1448),
+ q(0),
+ ],
+ q(katkari) => [
+ q(3249),
+ q(0),
+ ],
+ q(katla) => [
+ q(3171),
+ q(0),
+ ],
+ q(kato) => [
+ q(3590),
+ q(0),
+ ],
+ q(katso) => [
+ q(3117),
+ q(0),
+ ],
+ q(katua) => [
+ q(3568),
+ q(0),
+ ],
+ q(katukina) => [
+ q(3126),
+ q(0),
+ ],
+ q(kaulong) => [
+ q(5558),
+ q(0),
+ ],
+ q(kaur) => [
+ q(6924),
+ q(0),
+ ],
+ q(kaure) => [
+ q(1382),
+ q(0),
+ ],
+ q(kaurna) => [
+ q(7712),
+ q(0),
+ ],
+ q(kauwera) => [
+ q(7190),
+ q(0),
+ ],
+ q(kavalan) => [
+ q(1760),
+ q(0),
+ ],
+ q(kavet) => [
+ q(3537),
+ q(0),
+ ],
+ q(kawacha) => [
+ q(3155),
+ q(0),
+ ],
+ q(kawaiisu) => [
+ q(7192),
+ q(0),
+ ],
+ q(kawe) => [
+ q(3256),
+ q(0),
+ ],
+ q(kawi) => [
+ q(0217),
+ q(0),
+ ],
+ q(kaxarari) => [
+ q(3591),
+ q(0),
+ ],
+ q(kaxuiana) => [
+ q(3130),
+ q(0),
+ ],
+ q(kayabi) => [
+ q(3717),
+ q(0),
+ ],
+ q(kayagar) => [
+ q(3711),
+ q(0),
+ ],
+ q(kayan) => [
+ q(5340),
+ q(0),
+ ],
+ q(kayan mahakam) => [
+ q(7193),
+ q(0),
+ ],
+ q(kayan river kayan) => [
+ q(7266),
+ q(0),
+ ],
+ q(kayapa kallahan) => [
+ q(3122),
+ q(0),
+ ],
+ q(kayapo) => [
+ q(6745),
+ q(0),
+ ],
+ q(kayardild) => [
+ q(2657),
+ q(0),
+ ],
+ q(kayeli) => [
+ q(3729),
+ q(0),
+ ],
+ q(kayong) => [
+ q(3690),
+ q(0),
+ ],
+ q(kayort) => [
+ q(3713),
+ q(0),
+ ],
+ q(kaytetye) => [
+ q(2392),
+ q(0),
+ ],
+ q(kayupulau) => [
+ q(3738),
+ q(0),
+ ],
+ q(kazakh) => [
+ q(0218),
+ q(0),
+ ],
+ q(kazukuru) => [
+ q(3728),
+ q(0),
+ ],
+ q(ke'o) => [
+ q(7426),
+ q(0),
+ ],
+ q(keak) => [
+ q(3210),
+ q(0),
+ ],
+ q(keapara) => [
+ q(3301),
+ q(0),
+ ],
+ q(kedah malay) => [
+ q(4160),
+ q(0),
+ ],
+ q(kedang) => [
+ q(3565),
+ q(0),
+ ],
+ q(keder) => [
+ q(3201),
+ q(0),
+ ],
+ q(kehu) => [
+ q(3286),
+ q(0),
+ ],
+ q(kei) => [
+ q(3211),
+ q(0),
+ ],
+ q(keiga) => [
+ q(3205),
+ q(0),
+ ],
+ q(keijar) => [
+ q(3201),
+ q(0),
+ ],
+ q(kein) => [
+ q(1304),
+ q(0),
+ ],
+ q(keiyo) => [
+ q(2292),
+ q(0),
+ ],
+ q(kekchi) => [
+ q(3213),
+ q(0),
+ ],
+ q(kela (democratic republic of congo)) => [
+ q(3214),
+ q(0),
+ ],
+ q(kela (papua new guinea)) => [
+ q(3165),
+ q(0),
+ ],
+ q(kelabit) => [
+ q(3726),
+ q(0),
+ ],
+ q(kele) => [
+ q(3204),
+ q(0),
+ ],
+ q(kele (democratic republic of congo)) => [
+ q(3300),
+ q(0),
+ ],
+ q(kele (papua new guinea)) => [
+ q(5831),
+ q(0),
+ ],
+ q(kelengazxo bozo) => [
+ q(1632),
+ q(0),
+ ],
+ q(keley-i kallahan) => [
+ q(2878),
+ q(0),
+ ],
+ q(keliko) => [
+ q(3142),
+ q(0),
+ ],
+ q(kelo) => [
+ q(7225),
+ q(0),
+ ],
+ q(kelon) => [
+ q(3706),
+ q(0),
+ ],
+ q(kemak) => [
+ q(3215),
+ q(0),
+ ],
+ q(kembayan) => [
+ q(7226),
+ q(0),
+ ],
+ q(kemberano) => [
+ q(1624),
+ q(0),
+ ],
+ q(kembra) => [
+ q(7275),
+ q(0),
+ ],
+ q(kemezung) => [
+ q(2072),
+ q(0),
+ ],
+ q(kemi sami) => [
+ q(5987),
+ q(0),
+ ],
+ q(kemiehua) => [
+ q(3238),
+ q(0),
+ ],
+ q(kemtuik) => [
+ q(3419),
+ q(0),
+ ],
+ q(kenaboi) => [
+ q(7199),
+ q(0),
+ ],
+ q(kenati) => [
+ q(2387),
+ q(0),
+ ],
+ q(kendayan) => [
+ q(3448),
+ q(0),
+ ],
+ q(kendeje) => [
+ q(3380),
+ q(0),
+ ],
+ q(kendem) => [
+ q(3627),
+ q(0),
+ ],
+ q(kenga) => [
+ q(3708),
+ q(0),
+ ],
+ q(keningau murut) => [
+ q(3674),
+ q(0),
+ ],
+ q(keninjal) => [
+ q(3436),
+ q(0),
+ ],
+ q(kensiu) => [
+ q(3443),
+ q(0),
+ ],
+ q(kenswei nsei) => [
+ q(4739),
+ q(0),
+ ],
+ q(kenuzi-dongola) => [
+ q(3725),
+ q(0),
+ ],
+ q(kenyan sign language) => [
+ q(7262),
+ q(0),
+ ],
+ q(kenyang) => [
+ q(3216),
+ q(0),
+ ],
+ q(kenyi) => [
+ q(3892),
+ q(0),
+ ],
+ q(keoru-ahia) => [
+ q(7231),
+ q(0),
+ ],
+ q(kepkiriwat) => [
+ q(3483),
+ q(0),
+ ],
+ q(kepo') => [
+ q(3603),
+ q(0),
+ ],
+ q(kera) => [
+ q(3220),
+ q(0),
+ ],
+ q(kerak) => [
+ q(2711),
+ q(0),
+ ],
+ q(kereho) => [
+ q(7258),
+ q(0),
+ ],
+ q(kerek) => [
+ q(3530),
+ q(0),
+ ],
+ q(kerewe) => [
+ q(3206),
+ q(0),
+ ],
+ q(kerewo) => [
+ q(3691),
+ q(0),
+ ],
+ q(kerinci) => [
+ q(3632),
+ q(0),
+ ],
+ q(kesawai) => [
+ q(7229),
+ q(0),
+ ],
+ q(ket) => [
+ q(3222),
+ q(0),
+ ],
+ q(ketangalan) => [
+ q(3116),
+ q(0),
+ ],
+ q(kete) => [
+ q(3175),
+ q(0),
+ ],
+ q(ketengban) => [
+ q(7386),
+ q(0),
+ ],
+ q(ketum) => [
+ q(3587),
+ q(0),
+ ],
+ q(keyagana) => [
+ q(3698),
+ q(0),
+ ],
+ q(kgalagadi) => [
+ q(7274),
+ q(0),
+ ],
+ q(khakas) => [
+ q(3332),
+ q(0),
+ ],
+ q(khalaj) => [
+ q(3330),
+ q(0),
+ ],
+ q(khaling) => [
+ q(3392),
+ q(0),
+ ],
+ q(khamba) => [
+ q(3134),
+ q(0),
+ ],
+ q(khams tibetan) => [
+ q(3285),
+ q(0),
+ ],
+ q(khamti) => [
+ q(3295),
+ q(0),
+ ],
+ q(khamyang) => [
+ q(3562),
+ q(0),
+ ],
+ q(khana) => [
+ q(5150),
+ q(0),
+ ],
+ q(khandesi) => [
+ q(3290),
+ q(0),
+ ],
+ q(khang) => [
+ q(3337),
+ q(0),
+ ],
+ q(khanty) => [
+ q(3154),
+ q(0),
+ ],
+ q(khao) => [
+ q(7184),
+ q(0),
+ ],
+ q(kharam naga) => [
+ q(3251),
+ q(0),
+ ],
+ q(kharia) => [
+ q(3293),
+ q(0),
+ ],
+ q(kharia thar) => [
+ q(3566),
+ q(0),
+ ],
+ q(khasi) => [
+ q(0220),
+ q(0),
+ ],
+ q(khayo) => [
+ q(3898),
+ q(0),
+ ],
+ q(khazar) => [
+ q(7714),
+ q(0),
+ ],
+ q(khe) => [
+ q(3502),
+ q(0),
+ ],
+ q(khehek) => [
+ q(6504),
+ q(0),
+ ],
+ q(khengkha) => [
+ q(7259),
+ q(0),
+ ],
+ q(khetrani) => [
+ q(7240),
+ q(0),
+ ],
+ q(khezha naga) => [
+ q(4881),
+ q(0),
+ ],
+ q(khiamniungan naga) => [
+ q(3322),
+ q(0),
+ ],
+ q(khinalugh) => [
+ q(3334),
+ q(0),
+ ],
+ q(khirwar) => [
+ q(3664),
+ q(0),
+ ],
+ q(khisa) => [
+ q(3508),
+ q(0),
+ ],
+ q(khlor) => [
+ q(3916),
+ q(0),
+ ],
+ q(khlula) => [
+ q(7524),
+ q(0),
+ ],
+ q(khmu) => [
+ q(3331),
+ q(0),
+ ],
+ q(kho'ini) => [
+ q(7256),
+ q(0),
+ ],
+ q(khoibu naga) => [
+ q(4875),
+ q(0),
+ ],
+ q(khoisan languages) => [
+ q(0221),
+ q(0),
+ ],
+ q(kholok) => [
+ q(3570),
+ q(0),
+ ],
+ q(khonso) => [
+ q(3669),
+ q(0),
+ ],
+ q(khorasani turkish) => [
+ q(3425),
+ q(0),
+ ],
+ q(khorezmian) => [
+ q(7706),
+ q(0),
+ ],
+ q(khotanese) => [
+ q(0223),
+ q(0),
+ ],
+ q(khowar) => [
+ q(3298),
+ q(0),
+ ],
+ q(khua) => [
+ q(7244),
+ q(0),
+ ],
+ q(khuen) => [
+ q(3284),
+ q(0),
+ ],
+ q(khumi awa chin) => [
+ q(1750),
+ q(0),
+ ],
+ q(khumi chin) => [
+ q(1794),
+ q(0),
+ ],
+ q(khun) => [
+ q(3356),
+ q(0),
+ ],
+ q(khunsari) => [
+ q(3241),
+ q(0),
+ ],
+ q(khvarshi) => [
+ q(3297),
+ q(0),
+ ],
+ q(kibet) => [
+ q(3306),
+ q(0),
+ ],
+ q(kibiri) => [
+ q(5532),
+ q(0),
+ ],
+ q(kickapoo) => [
+ q(3304),
+ q(0),
+ ],
+ q(kiembu) => [
+ q(2192),
+ q(0),
+ ],
+ q(kigiryama) => [
+ q(5098),
+ q(0),
+ ],
+ q(kikai) => [
+ q(3724),
+ q(0),
+ ],
+ q(kikuyu) => [
+ q(0224),
+ q(0),
+ ],
+ q(kildin sami) => [
+ q(5984),
+ q(0),
+ ],
+ q(kilivila) => [
+ q(3311),
+ q(0),
+ ],
+ q(kiliwa) => [
+ q(3376),
+ q(0),
+ ],
+ q(kilmeri) => [
+ q(3309),
+ q(0),
+ ],
+ q(kim) => [
+ q(3302),
+ q(0),
+ ],
+ q(kim mun) => [
+ q(4274),
+ q(0),
+ ],
+ q(kimaama) => [
+ q(3308),
+ q(0),
+ ],
+ q(kimaghima) => [
+ q(3308),
+ q(0),
+ ],
+ q(kimaragang) => [
+ q(3513),
+ q(0),
+ ],
+ q(kimbu) => [
+ q(3320),
+ q(0),
+ ],
+ q(kimbundu) => [
+ q(0227),
+ q(0),
+ ],
+ q(kimki) => [
+ q(5848),
+ q(0),
+ ],
+ q(kimre) => [
+ q(3511),
+ q(0),
+ ],
+ q(kinabalian) => [
+ q(1673),
+ q(0),
+ ],
+ q(kinalakna) => [
+ q(3168),
+ q(0),
+ ],
+ q(kinamiging manobo) => [
+ q(4313),
+ q(0),
+ ],
+ q(kinaray-a) => [
+ q(3529),
+ q(0),
+ ],
+ q(kinga) => [
+ q(7684),
+ q(0),
+ ],
+ q(kinnauri) => [
+ q(3239),
+ q(0),
+ ],
+ q(kintaq) => [
+ q(3441),
+ q(0),
+ ],
+ q(kinuku) => [
+ q(3352),
+ q(0),
+ ],
+ q(kinyarwanda) => [
+ q(0225),
+ q(0),
+ ],
+ q(kioko) => [
+ q(6785),
+ q(0),
+ ],
+ q(kiong) => [
+ q(3361),
+ q(0),
+ ],
+ q(kiorr) => [
+ q(7267),
+ q(0),
+ ],
+ q(kiowa) => [
+ q(3314),
+ q(0),
+ ],
+ q(kiowa apache) => [
+ q(0842),
+ q(0),
+ ],
+ q(kipfokomo) => [
+ q(5412),
+ q(0),
+ ],
+ q(kipsigis) => [
+ q(5919),
+ q(0),
+ ],
+ q(kiput) => [
+ q(3700),
+ q(0),
+ ],
+ q(kir-balar) => [
+ q(3366),
+ q(0),
+ ],
+ q(kirdki) => [
+ q(0485),
+ q(0),
+ ],
+ q(kire) => [
+ q(2443),
+ q(0),
+ ],
+ q(kirghiz) => [
+ q(0226),
+ q(0),
+ ],
+ q(kirike) => [
+ q(5175),
+ q(0),
+ ],
+ q(kirikiri) => [
+ q(3323),
+ q(0),
+ ],
+ q(kirmanjki) => [
+ q(0485),
+ q(0),
+ ],
+ q(kirmanjki (individual language)) => [
+ q(3319),
+ q(0),
+ ],
+ q(kirmanjki (macrolanguage)) => [
+ q(0485),
+ q(7),
+ ],
+ q(kis) => [
+ q(3317),
+ q(0),
+ ],
+ q(kisa) => [
+ q(3900),
+ q(0),
+ ],
+ q(kisankasa) => [
+ q(3503),
+ q(0),
+ ],
+ q(kisar) => [
+ q(3329),
+ q(0),
+ ],
+ q(kisi) => [
+ q(3324),
+ q(0),
+ ],
+ q(kistane) => [
+ q(2587),
+ q(0),
+ ],
+ q(kiswahili) => [
+ q(6226),
+ q(0),
+ ],
+ q(kita maninkakan) => [
+ q(4585),
+ q(0),
+ ],
+ q(kitan) => [
+ q(7711),
+ q(0),
+ ],
+ q(kitharaka) => [
+ q(6423),
+ q(0),
+ ],
+ q(kitja) => [
+ q(2483),
+ q(0),
+ ],
+ q(kitsai) => [
+ q(3310),
+ q(0),
+ ],
+ q(kituba (congo)) => [
+ q(4312),
+ q(0),
+ ],
+ q(kituba (democratic republic of congo)) => [
+ q(3588),
+ q(0),
+ ],
+ q(kiunum) => [
+ q(7018),
+ q(0),
+ ],
+ q(kiwilwana) => [
+ q(4325),
+ q(0),
+ ],
+ q(klamath-modoc) => [
+ q(3375),
+ q(0),
+ ],
+ q(klao) => [
+ q(3395),
+ q(0),
+ ],
+ q(klias river kadazan) => [
+ q(3515),
+ q(0),
+ ],
+ q(klingon) => [
+ q(0432),
+ q(0),
+ ],
+ q(knaanic) => [
+ q(1923),
+ q(0),
+ ],
+ q(ko) => [
+ q(2358),
+ q(0),
+ ],
+ q(koalib) => [
+ q(3303),
+ q(0),
+ ],
+ q(koasati) => [
+ q(1759),
+ q(0),
+ ],
+ q(koba) => [
+ q(3474),
+ q(0),
+ ],
+ q(kobiana) => [
+ q(3163),
+ q(0),
+ ],
+ q(kobol) => [
+ q(3275),
+ q(0),
+ ],
+ q(kobon) => [
+ q(3492),
+ q(0),
+ ],
+ q(koch) => [
+ q(3194),
+ q(0),
+ ],
+ q(kochila tharu) => [
+ q(6428),
+ q(0),
+ ],
+ q(koda) => [
+ q(1701),
+ q(0),
+ ],
+ q(kodaku) => [
+ q(3567),
+ q(0),
+ ],
+ q(kodava) => [
+ q(3229),
+ q(0),
+ ],
+ q(kodeoha) => [
+ q(6927),
+ q(0),
+ ],
+ q(kodi) => [
+ q(3453),
+ q(0),
+ ],
+ q(kodia) => [
+ q(3656),
+ q(0),
+ ],
+ q(koenoem) => [
+ q(3172),
+ q(0),
+ ],
+ q(kofa) => [
+ q(3556),
+ q(0),
+ ],
+ q(kofei) => [
+ q(3478),
+ q(0),
+ ],
+ q(kofyar) => [
+ q(3652),
+ q(0),
+ ],
+ q(kogi) => [
+ q(3456),
+ q(0),
+ ],
+ q(koguryo) => [
+ q(7705),
+ q(0),
+ ],
+ q(kohin) => [
+ q(3372),
+ q(0),
+ ],
+ q(kohistani shina) => [
+ q(5431),
+ q(0),
+ ],
+ q(koho) => [
+ q(3482),
+ q(0),
+ ],
+ q(kohumono) => [
+ q(1076),
+ q(0),
+ ],
+ q(koi) => [
+ q(3368),
+ q(0),
+ ],
+ q(koibal) => [
+ q(7704),
+ q(0),
+ ],
+ q(koireng) => [
+ q(4877),
+ q(0),
+ ],
+ q(koitabu) => [
+ q(3504),
+ q(0),
+ ],
+ q(koiwat) => [
+ q(3685),
+ q(0),
+ ],
+ q(kok borok) => [
+ q(6621),
+ q(0),
+ ],
+ q(kokata) => [
+ q(3571),
+ q(0),
+ ],
+ q(koke) => [
+ q(3465),
+ q(0),
+ ],
+ q(kokoda) => [
+ q(7327),
+ q(0),
+ ],
+ q(kokola) => [
+ q(3731),
+ q(0),
+ ],
+ q(kokota) => [
+ q(3359),
+ q(0),
+ ],
+ q(kol) => [
+ q(2211),
+ q(0),
+ ],
+ q(kol (cameroon)) => [
+ q(1221),
+ q(0),
+ ],
+ q(kol (papua new guinea)) => [
+ q(3460),
+ q(0),
+ ],
+ q(kola) => [
+ q(3636),
+ q(0),
+ ],
+ q(kolbila) => [
+ q(3377),
+ q(0),
+ ],
+ q(kolibugan subanon) => [
+ q(6010),
+ q(0),
+ ],
+ q(kolsch) => [
+ q(3549),
+ q(0),
+ ],
+ q(koluwawa) => [
+ q(3398),
+ q(0),
+ ],
+ q(kom (cameroon)) => [
+ q(1259),
+ q(0),
+ ],
+ q(kom (india)) => [
+ q(3412),
+ q(0),
+ ],
+ q(koma) => [
+ q(3424),
+ q(0),
+ ],
+ q(komba) => [
+ q(3475),
+ q(0),
+ ],
+ q(kombai) => [
+ q(6754),
+ q(0),
+ ],
+ q(kombio) => [
+ q(7197),
+ q(0),
+ ],
+ q(komering) => [
+ q(3259),
+ q(0),
+ ],
+ q(komi) => [
+ q(0229),
+ q(0),
+ ],
+ q(komi-permyak) => [
+ q(3458),
+ q(0),
+ ],
+ q(komi-zyrian) => [
+ q(3491),
+ q(0),
+ ],
+ q(kominimung) => [
+ q(7329),
+ q(0),
+ ],
+ q(komo (democratic republic of congo)) => [
+ q(3422),
+ q(0),
+ ],
+ q(komo (sudan)) => [
+ q(7331),
+ q(0),
+ ],
+ q(komodo) => [
+ q(3622),
+ q(0),
+ ],
+ q(kompane) => [
+ q(3630),
+ q(0),
+ ],
+ q(komyandaret) => [
+ q(3739),
+ q(0),
+ ],
+ q(kon keu) => [
+ q(3362),
+ q(0),
+ ],
+ q(konabere) => [
+ q(1046),
+ q(0),
+ ],
+ q(konai) => [
+ q(3688),
+ q(0),
+ ],
+ q(konda) => [
+ q(3429),
+ q(0),
+ ],
+ q(konda-dora) => [
+ q(3231),
+ q(0),
+ ],
+ q(koneraw) => [
+ q(3199),
+ q(0),
+ ],
+ q(kongo) => [
+ q(0230),
+ q(0),
+ ],
+ q(konkani) => [
+ q(0228),
+ q(0),
+ ],
+ q(konkani (individual language)) => [
+ q(3438),
+ q(0),
+ ],
+ q(konkani (macrolanguage)) => [
+ q(0228),
+ q(1),
+ ],
+ q(konkomba) => [
+ q(7332),
+ q(0),
+ ],
+ q(konni) => [
+ q(3401),
+ q(0),
+ ],
+ q(kono (guinea)) => [
+ q(3445),
+ q(0),
+ ],
+ q(kono (nigeria)) => [
+ q(3385),
+ q(0),
+ ],
+ q(kono (sierra leone)) => [
+ q(3439),
+ q(0),
+ ],
+ q(konomala) => [
+ q(3451),
+ q(0),
+ ],
+ q(konongo) => [
+ q(3179),
+ q(0),
+ ],
+ q(konso) => [
+ q(3669),
+ q(0),
+ ],
+ q(konyak naga) => [
+ q(4697),
+ q(0),
+ ],
+ q(konyanka maninka) => [
+ q(4310),
+ q(0),
+ ],
+ q(konzo) => [
+ q(3461),
+ q(0),
+ ],
+ q(koongo) => [
+ q(3432),
+ q(0),
+ ],
+ q(koonzime) => [
+ q(5280),
+ q(0),
+ ],
+ q(koorete) => [
+ q(3520),
+ q(0),
+ ],
+ q(kopar) => [
+ q(7334),
+ q(0),
+ ],
+ q(kopkaka) => [
+ q(5224),
+ q(0),
+ ],
+ q(korafe-yegha) => [
+ q(3487),
+ q(0),
+ ],
+ q(korak) => [
+ q(3470),
+ q(0),
+ ],
+ q(korana) => [
+ q(3521),
+ q(0),
+ ],
+ q(korandje) => [
+ q(3178),
+ q(0),
+ ],
+ q(kordofanian languages) => [
+ q(0514),
+ q(0),
+ ],
+ q(korean) => [
+ q(0231),
+ q(0),
+ ],
+ q(korean sign language) => [
+ q(3625),
+ q(0),
+ ],
+ q(koreguaje) => [
+ q(1806),
+ q(0),
+ ],
+ q(koresh-e rostam) => [
+ q(5167),
+ q(0),
+ ],
+ q(korku) => [
+ q(3245),
+ q(0),
+ ],
+ q(korlai creole portuguese) => [
+ q(6928),
+ q(0),
+ ],
+ q(koro (cote d'ivoire)) => [
+ q(3243),
+ q(0),
+ ],
+ q(koro (papua new guinea)) => [
+ q(3683),
+ q(0),
+ ],
+ q(koro (vanuatu)) => [
+ q(3526),
+ q(0),
+ ],
+ q(koromfe) => [
+ q(3254),
+ q(0),
+ ],
+ q(koromira) => [
+ q(3505),
+ q(0),
+ ],
+ q(koronadal blaan) => [
+ q(1384),
+ q(0),
+ ],
+ q(koroni) => [
+ q(7269),
+ q(0),
+ ],
+ q(korop) => [
+ q(3533),
+ q(0),
+ ],
+ q(koropo) => [
+ q(7427),
+ q(0),
+ ],
+ q(koroshi) => [
+ q(3579),
+ q(0),
+ ],
+ q(korowai) => [
+ q(3283),
+ q(0),
+ ],
+ q(korra koraga) => [
+ q(3232),
+ q(0),
+ ],
+ q(korubo) => [
+ q(7335),
+ q(0),
+ ],
+ q(korupun-sela) => [
+ q(3486),
+ q(0),
+ ],
+ q(korur) => [
+ q(0946),
+ q(0),
+ ],
+ q(korwa) => [
+ q(3244),
+ q(0),
+ ],
+ q(koryak) => [
+ q(3494),
+ q(0),
+ ],
+ q(kosadle) => [
+ q(3316),
+ q(0),
+ ],
+ q(kosare) => [
+ q(3316),
+ q(0),
+ ],
+ q(kosarek yale) => [
+ q(3360),
+ q(0),
+ ],
+ q(kosena) => [
+ q(3722),
+ q(0),
+ ],
+ q(koshin) => [
+ q(3305),
+ q(0),
+ ],
+ q(kosraean) => [
+ q(0232),
+ q(0),
+ ],
+ q(kota (gabon)) => [
+ q(3463),
+ q(0),
+ ],
+ q(kota (india)) => [
+ q(3233),
+ q(0),
+ ],
+ q(kota bangun kutai malay) => [
+ q(4436),
+ q(0),
+ ],
+ q(kota marudu talantang) => [
+ q(2581),
+ q(0),
+ ],
+ q(kota marudu tinagas) => [
+ q(3585),
+ q(0),
+ ],
+ q(kotafon gbe) => [
+ q(3506),
+ q(0),
+ ],
+ q(kotava) => [
+ q(0957),
+ q(0),
+ ],
+ q(koti) => [
+ q(2213),
+ q(0),
+ ],
+ q(kott) => [
+ q(7708),
+ q(0),
+ ],
+ q(kouya) => [
+ q(3697),
+ q(0),
+ ],
+ q(kovai) => [
+ q(3497),
+ q(0),
+ ],
+ q(kove) => [
+ q(3617),
+ q(0),
+ ],
+ q(kowaki) => [
+ q(7336),
+ q(0),
+ ],
+ q(kowiai) => [
+ q(3648),
+ q(0),
+ ],
+ q(koy sanjaq surat) => [
+ q(3499),
+ q(0),
+ ],
+ q(koya) => [
+ q(3234),
+ q(0),
+ ],
+ q(koyaga) => [
+ q(3255),
+ q(0),
+ ],
+ q(koyo) => [
+ q(3457),
+ q(0),
+ ],
+ q(koyra chiini songhay) => [
+ q(3292),
+ q(0),
+ ],
+ q(koyraboro senni songhai) => [
+ q(5907),
+ q(0),
+ ],
+ q(koyukon) => [
+ q(3469),
+ q(0),
+ ],
+ q(kpagua) => [
+ q(3611),
+ q(0),
+ ],
+ q(kpala) => [
+ q(3481),
+ q(0),
+ ],
+ q(kpan) => [
+ q(3480),
+ q(0),
+ ],
+ q(kpasam) => [
+ q(5307),
+ q(0),
+ ],
+ q(kpati) => [
+ q(3452),
+ q(0),
+ ],
+ q(kpatili) => [
+ q(3704),
+ q(0),
+ ],
+ q(kpelle) => [
+ q(0233),
+ q(0),
+ ],
+ q(kpessi) => [
+ q(3208),
+ q(0),
+ ],
+ q(kplang) => [
+ q(3477),
+ q(0),
+ ],
+ q(krache) => [
+ q(3696),
+ q(0),
+ ],
+ q(kraho) => [
+ q(7353),
+ q(0),
+ ],
+ q(kraol) => [
+ q(5731),
+ q(0),
+ ],
+ q(krenak) => [
+ q(3512),
+ q(0),
+ ],
+ q(krevinian) => [
+ q(7713),
+ q(0),
+ ],
+ q(kreye) => [
+ q(7355),
+ q(0),
+ ],
+ q(krikati-timbira) => [
+ q(7356),
+ q(0),
+ ],
+ q(krim) => [
+ q(3531),
+ q(0),
+ ],
+ q(krio) => [
+ q(3528),
+ q(0),
+ ],
+ q(kriol) => [
+ q(5776),
+ q(0),
+ ],
+ q(krisa) => [
+ q(3550),
+ q(0),
+ ],
+ q(krobu) => [
+ q(3668),
+ q(0),
+ ],
+ q(krongo) => [
+ q(3269),
+ q(0),
+ ],
+ q(kru languages) => [
+ q(0236),
+ q(0),
+ ],
+ q(kru'ng 2) => [
+ q(3534),
+ q(0),
+ ],
+ q(krymchak) => [
+ q(3023),
+ q(0),
+ ],
+ q(kryts) => [
+ q(3540),
+ q(0),
+ ],
+ q(kua) => [
+ q(6759),
+ q(0),
+ ],
+ q(kuan) => [
+ q(6770),
+ q(0),
+ ],
+ q(kuanhua) => [
+ q(7320),
+ q(0),
+ ],
+ q(kuanua) => [
+ q(3545),
+ q(0),
+ ],
+ q(kuanyama) => [
+ q(0238),
+ q(0),
+ ],
+ q(kube) => [
+ q(3260),
+ q(0),
+ ],
+ q(kubi) => [
+ q(3455),
+ q(0),
+ ],
+ q(kubo) => [
+ q(3059),
+ q(0),
+ ],
+ q(kubu) => [
+ q(3616),
+ q(0),
+ ],
+ q(kucong) => [
+ q(3890),
+ q(0),
+ ],
+ q(kudiya) => [
+ q(3235),
+ q(0),
+ ],
+ q(kudmali) => [
+ q(3714),
+ q(0),
+ ],
+ q(kudu-camo) => [
+ q(3466),
+ q(0),
+ ],
+ q(kugama) => [
+ q(3467),
+ q(0),
+ ],
+ q(kugbo) => [
+ q(3221),
+ q(0),
+ ],
+ q(kui (india)) => [
+ q(3686),
+ q(0),
+ ],
+ q(kui (indonesia)) => [
+ q(3618),
+ q(0),
+ ],
+ q(kuijau) => [
+ q(2058),
+ q(0),
+ ],
+ q(kuikuro-kalapalo) => [
+ q(3601),
+ q(0),
+ ],
+ q(kujarge) => [
+ q(6923),
+ q(0),
+ ],
+ q(kuk) => [
+ q(3242),
+ q(0),
+ ],
+ q(kukatja) => [
+ q(3612),
+ q(0),
+ ],
+ q(kukele) => [
+ q(3228),
+ q(0),
+ ],
+ q(kukna) => [
+ q(3226),
+ q(0),
+ ],
+ q(kuku-mangk) => [
+ q(7307),
+ q(0),
+ ],
+ q(kuku-mu'inh) => [
+ q(7306),
+ q(0),
+ ],
+ q(kuku-muminh) => [
+ q(7299),
+ q(0),
+ ],
+ q(kuku-ugbanh) => [
+ q(6787),
+ q(0),
+ ],
+ q(kuku-uwanh) => [
+ q(6881),
+ q(0),
+ ],
+ q(kuku-yalanji) => [
+ q(2634),
+ q(0),
+ ],
+ q(kula) => [
+ q(6579),
+ q(0),
+ ],
+ q(kulere) => [
+ q(3604),
+ q(0),
+ ],
+ q(kulfa) => [
+ q(3675),
+ q(0),
+ ],
+ q(kulina) => [
+ q(1900),
+ q(0),
+ ],
+ q(kulina pano) => [
+ q(7341),
+ q(0),
+ ],
+ q(kulisusu) => [
+ q(6925),
+ q(0),
+ ],
+ q(kullu pahari) => [
+ q(3252),
+ q(0),
+ ],
+ q(kulon-pazeh) => [
+ q(6875),
+ q(0),
+ ],
+ q(kulung (nepal)) => [
+ q(3379),
+ q(0),
+ ],
+ q(kulung (nigeria)) => [
+ q(1052),
+ q(0),
+ ],
+ q(kumalu) => [
+ q(3553),
+ q(0),
+ ],
+ q(kumam) => [
+ q(3187),
+ q(0),
+ ],
+ q(kuman) => [
+ q(3597),
+ q(0),
+ ],
+ q(kuman (russia)) => [
+ q(5652),
+ q(0),
+ ],
+ q(kumaoni) => [
+ q(3253),
+ q(0),
+ ],
+ q(kumarbhag paharia) => [
+ q(3409),
+ q(0),
+ ],
+ q(kumba) => [
+ q(3554),
+ q(0),
+ ],
+ q(kumbainggar) => [
+ q(3273),
+ q(0),
+ ],
+ q(kumbaran) => [
+ q(7059),
+ q(0),
+ ],
+ q(kumbewaha) => [
+ q(7271),
+ q(0),
+ ],
+ q(kumhali) => [
+ q(3522),
+ q(0),
+ ],
+ q(kumiai) => [
+ q(2024),
+ q(0),
+ ],
+ q(kumukio) => [
+ q(3606),
+ q(0),
+ ],
+ q(kumyk) => [
+ q(0239),
+ q(0),
+ ],
+ q(kumzari) => [
+ q(7810),
+ q(0),
+ ],
+ q(kunama) => [
+ q(3605),
+ q(0),
+ ],
+ q(kunbarlang) => [
+ q(7067),
+ q(0),
+ ],
+ q(kunda) => [
+ q(3192),
+ q(0),
+ ],
+ q(kundal shahi) => [
+ q(5940),
+ q(0),
+ ],
+ q(kunduvadi) => [
+ q(7062),
+ q(0),
+ ],
+ q(kung) => [
+ q(3240),
+ q(0),
+ ],
+ q(kung-ekoka) => [
+ q(3447),
+ q(0),
+ ],
+ q(kungarakany) => [
+ q(2464),
+ q(0),
+ ],
+ q(kunggara) => [
+ q(3633),
+ q(0),
+ ],
+ q(kunggari) => [
+ q(3266),
+ q(0),
+ ],
+ q(kuni) => [
+ q(3546),
+ q(0),
+ ],
+ q(kuni-boazi) => [
+ q(3621),
+ q(0),
+ ],
+ q(kunigami) => [
+ q(7405),
+ q(0),
+ ],
+ q(kunimaipa) => [
+ q(3607),
+ q(0),
+ ],
+ q(kunja) => [
+ q(5353),
+ q(0),
+ ],
+ q(kunjen) => [
+ q(3338),
+ q(0),
+ ],
+ q(kunyi) => [
+ q(4872),
+ q(0),
+ ],
+ q(kunza) => [
+ q(3614),
+ q(0),
+ ],
+ q(kuo) => [
+ q(7408),
+ q(0),
+ ],
+ q(kuot) => [
+ q(3582),
+ q(0),
+ ],
+ q(kupa) => [
+ q(3599),
+ q(0),
+ ],
+ q(kupang malay) => [
+ q(4303),
+ q(0),
+ ],
+ q(kupia) => [
+ q(3227),
+ q(0),
+ ],
+ q(kupsabiny) => [
+ q(3495),
+ q(0),
+ ],
+ q(kur) => [
+ q(3610),
+ q(0),
+ ],
+ q(kura ede nago) => [
+ q(4994),
+ q(0),
+ ],
+ q(kurama) => [
+ q(3527),
+ q(0),
+ ],
+ q(kuranko) => [
+ q(3435),
+ q(0),
+ ],
+ q(kurdish) => [
+ q(0240),
+ q(0),
+ ],
+ q(kuri) => [
+ q(4704),
+ q(0),
+ ],
+ q(kuria) => [
+ q(3602),
+ q(0),
+ ],
+ q(kurichiya) => [
+ q(3236),
+ q(0),
+ ],
+ q(kurmukar) => [
+ q(3250),
+ q(0),
+ ],
+ q(kurrama) => [
+ q(6930),
+ q(0),
+ ],
+ q(kurti) => [
+ q(3580),
+ q(0),
+ ],
+ q(kurtokha) => [
+ q(7278),
+ q(0),
+ ],
+ q(kuruaya) => [
+ q(3709),
+ q(0),
+ ],
+ q(kurudu) => [
+ q(3342),
+ q(0),
+ ],
+ q(kurukh) => [
+ q(0237),
+ q(0),
+ ],
+ q(kusaal) => [
+ q(3608),
+ q(0),
+ ],
+ q(kusaghe) => [
+ q(3548),
+ q(0),
+ ],
+ q(kushi) => [
+ q(3600),
+ q(0),
+ ],
+ q(kusu) => [
+ q(3563),
+ q(0),
+ ],
+ q(kusunda) => [
+ q(3261),
+ q(0),
+ ],
+ q(kutang ghale) => [
+ q(2482),
+ q(0),
+ ],
+ q(kutenai) => [
+ q(0241),
+ q(0),
+ ],
+ q(kutep) => [
+ q(3594),
+ q(0),
+ ],
+ q(kuthant) => [
+ q(7411),
+ q(0),
+ ],
+ q(kutto) => [
+ q(3471),
+ q(0),
+ ],
+ q(kutu) => [
+ q(3181),
+ q(0),
+ ],
+ q(kuturmi) => [
+ q(3287),
+ q(0),
+ ],
+ q(kuuku-ya'u) => [
+ q(3613),
+ q(0),
+ ],
+ q(kuvi) => [
+ q(3687),
+ q(0),
+ ],
+ q(kuwaa) => [
+ q(1279),
+ q(0),
+ ],
+ q(kuwaataay) => [
+ q(1918),
+ q(0),
+ ],
+ q(kuy) => [
+ q(3196),
+ q(0),
+ ],
+ q(kven finnish) => [
+ q(2323),
+ q(0),
+ ],
+ q(kw'adza) => [
+ q(7058),
+ q(0),
+ ],
+ q(kwa) => [
+ q(3642),
+ q(0),
+ ],
+ q(kwa') => [
+ q(1261),
+ q(0),
+ ],
+ q(kwaami) => [
+ q(3558),
+ q(0),
+ ],
+ q(kwadi) => [
+ q(3666),
+ q(0),
+ ],
+ q(kwaio) => [
+ q(3644),
+ q(0),
+ ],
+ q(kwaja) => [
+ q(3202),
+ q(0),
+ ],
+ q(kwak) => [
+ q(3657),
+ q(0),
+ ],
+ q(kwakiutl) => [
+ q(3651),
+ q(0),
+ ],
+ q(kwakum) => [
+ q(3661),
+ q(0),
+ ],
+ q(kwalhioqua-tlatskanai) => [
+ q(5654),
+ q(0),
+ ],
+ q(kwama) => [
+ q(3416),
+ q(0),
+ ],
+ q(kwambi) => [
+ q(3653),
+ q(0),
+ ],
+ q(kwamera) => [
+ q(6538),
+ q(0),
+ ],
+ q(kwami) => [
+ q(3573),
+ q(0),
+ ],
+ q(kwamtim one) => [
+ q(5170),
+ q(0),
+ ],
+ q(kwang) => [
+ q(3623),
+ q(0),
+ ],
+ q(kwanga) => [
+ q(3650),
+ q(0),
+ ],
+ q(kwangali) => [
+ q(3654),
+ q(0),
+ ],
+ q(kwanja) => [
+ q(3440),
+ q(0),
+ ],
+ q(kwanyama) => [
+ q(0238),
+ q(0),
+ ],
+ q(kwara'ae) => [
+ q(3646),
+ q(0),
+ ],
+ q(kwasio) => [
+ q(4920),
+ q(0),
+ ],
+ q(kwaya) => [
+ q(3692),
+ q(0),
+ ],
+ q(kwaza) => [
+ q(7418),
+ q(0),
+ ],
+ q(kwegu) => [
+ q(7421),
+ q(0),
+ ],
+ q(kwer) => [
+ q(3658),
+ q(0),
+ ],
+ q(kwerba) => [
+ q(3645),
+ q(0),
+ ],
+ q(kwerba mamberamo) => [
+ q(7424),
+ q(0),
+ ],
+ q(kwere) => [
+ q(1916),
+ q(0),
+ ],
+ q(kwerisa) => [
+ q(3350),
+ q(0),
+ ],
+ q(kwese) => [
+ q(3659),
+ q(0),
+ ],
+ q(kwesten) => [
+ q(3660),
+ q(0),
+ ],
+ q(kwini) => [
+ q(2652),
+ q(0),
+ ],
+ q(kwinsu) => [
+ q(3595),
+ q(0),
+ ],
+ q(kwinti) => [
+ q(3663),
+ q(0),
+ ],
+ q(kwoma) => [
+ q(3414),
+ q(0),
+ ],
+ q(kwomtari) => [
+ q(3655),
+ q(0),
+ ],
+ q(kxoe) => [
+ q(7412),
+ q(0),
+ ],
+ q(kyak) => [
+ q(1249),
+ q(0),
+ ],
+ q(kyaka) => [
+ q(3694),
+ q(0),
+ ],
+ q(kyenele) => [
+ q(3507),
+ q(0),
+ ],
+ q(kyenga) => [
+ q(6749),
+ q(0),
+ ],
+ q(kyerung) => [
+ q(3279),
+ q(0),
+ ],
+ q(kyrgyz) => [
+ q(0226),
+ q(0),
+ ],
+ q(la'bi) => [
+ q(3770),
+ q(0),
+ ],
+ q(laa laa bwamu) => [
+ q(1545),
+ q(0),
+ ],
+ q(laadan) => [
+ q(3806),
+ q(0),
+ ],
+ q(laal) => [
+ q(2435),
+ q(0),
+ ],
+ q(laalaa) => [
+ q(1638),
+ q(0),
+ ],
+ q(laari) => [
+ q(3801),
+ q(0),
+ ],
+ q(laba) => [
+ q(3759),
+ q(0),
+ ],
+ q(label) => [
+ q(3765),
+ q(0),
+ ],
+ q(labir) => [
+ q(3060),
+ q(0),
+ ],
+ q(labo) => [
+ q(4583),
+ q(0),
+ ],
+ q(labo phowa) => [
+ q(7584),
+ q(0),
+ ],
+ q(labu) => [
+ q(3781),
+ q(0),
+ ],
+ q(labuk-kinabatangan kadazan) => [
+ q(2135),
+ q(0),
+ ],
+ q(lacandon) => [
+ q(3746),
+ q(0),
+ ],
+ q(lachi) => [
+ q(3780),
+ q(0),
+ ],
+ q(lachiguiri zapotec) => [
+ q(7757),
+ q(0),
+ ],
+ q(lachixio zapotec) => [
+ q(7768),
+ q(0),
+ ],
+ q(ladakhi) => [
+ q(3771),
+ q(0),
+ ],
+ q(ladin) => [
+ q(3906),
+ q(0),
+ ],
+ q(ladino) => [
+ q(0242),
+ q(0),
+ ],
+ q(laeko-libuat) => [
+ q(3896),
+ q(0),
+ ],
+ q(lafofa) => [
+ q(3748),
+ q(0),
+ ],
+ q(laghu) => [
+ q(3838),
+ q(0),
+ ],
+ q(laghuu) => [
+ q(3840),
+ q(0),
+ ],
+ q(lagwan) => [
+ q(3464),
+ q(0),
+ ],
+ q(laha (indonesia)) => [
+ q(3852),
+ q(0),
+ ],
+ q(laha (viet nam)) => [
+ q(3851),
+ q(0),
+ ],
+ q(lahanan) => [
+ q(3856),
+ q(0),
+ ],
+ q(lahnda) => [
+ q(0243),
+ q(0),
+ ],
+ q(lahta karen) => [
+ q(3634),
+ q(0),
+ ],
+ q(lahu) => [
+ q(3860),
+ q(0),
+ ],
+ q(lahu shi) => [
+ q(3853),
+ q(0),
+ ],
+ q(lahul lohar) => [
+ q(3854),
+ q(0),
+ ],
+ q(laimbue) => [
+ q(3943),
+ q(0),
+ ],
+ q(laiyolo) => [
+ q(3885),
+ q(0),
+ ],
+ q(lak) => [
+ q(3767),
+ q(0),
+ ],
+ q(laka (chad)) => [
+ q(3755),
+ q(0),
+ ],
+ q(laka (nigeria)) => [
+ q(3752),
+ q(0),
+ ],
+ q(lakalei) => [
+ q(3888),
+ q(0),
+ ],
+ q(lake miwok) => [
+ q(3942),
+ q(0),
+ ],
+ q(lakha) => [
+ q(3893),
+ q(0),
+ ],
+ q(laki) => [
+ q(3894),
+ q(0),
+ ],
+ q(lakkia) => [
+ q(3766),
+ q(0),
+ ],
+ q(lakon) => [
+ q(3897),
+ q(0),
+ ],
+ q(lakonde) => [
+ q(3891),
+ q(0),
+ ],
+ q(lakota) => [
+ q(3901),
+ q(0),
+ ],
+ q(lakota dida) => [
+ q(2020),
+ q(0),
+ ],
+ q(lala) => [
+ q(5011),
+ q(0),
+ ],
+ q(lala-bisa) => [
+ q(3811),
+ q(0),
+ ],
+ q(lala-roba) => [
+ q(3903),
+ q(0),
+ ],
+ q(lalana chinantec) => [
+ q(1795),
+ q(0),
+ ],
+ q(lalia) => [
+ q(3753),
+ q(0),
+ ],
+ q(lama (myanmar)) => [
+ q(3762),
+ q(0),
+ ],
+ q(lama (togo)) => [
+ q(3758),
+ q(0),
+ ],
+ q(lamaholot) => [
+ q(6033),
+ q(0),
+ ],
+ q(lamalera) => [
+ q(3939),
+ q(0),
+ ],
+ q(lamam) => [
+ q(3934),
+ q(0),
+ ],
+ q(lamang) => [
+ q(2713),
+ q(0),
+ ],
+ q(lamatuka) => [
+ q(3938),
+ q(0),
+ ],
+ q(lamba) => [
+ q(0244),
+ q(0),
+ ],
+ q(lambadi) => [
+ q(3935),
+ q(0),
+ ],
+ q(lambayeque quechua) => [
+ q(5617),
+ q(0),
+ ],
+ q(lambichhong) => [
+ q(3929),
+ q(0),
+ ],
+ q(lamboya) => [
+ q(3944),
+ q(0),
+ ],
+ q(lambya) => [
+ q(3750),
+ q(0),
+ ],
+ q(lame) => [
+ q(1297),
+ q(0),
+ ],
+ q(lamenu) => [
+ q(3940),
+ q(0),
+ ],
+ q(lamet) => [
+ q(3775),
+ q(0),
+ ],
+ q(lamja-dengsa-tola) => [
+ q(3800),
+ q(0),
+ ],
+ q(lamkang) => [
+ q(3932),
+ q(0),
+ ],
+ q(lamma) => [
+ q(3831),
+ q(0),
+ ],
+ q(lamnso') => [
+ q(3957),
+ q(0),
+ ],
+ q(lamogai) => [
+ q(3928),
+ q(0),
+ ],
+ q(lampung api) => [
+ q(3887),
+ q(0),
+ ],
+ q(lampung nyo) => [
+ q(0569),
+ q(0),
+ ],
+ q(lamu) => [
+ q(3910),
+ q(0),
+ ],
+ q(lamu-lamu) => [
+ q(3785),
+ q(0),
+ ],
+ q(lanas lobu) => [
+ q(5801),
+ q(0),
+ ],
+ q(land dayak languages) => [
+ q(0105),
+ q(0),
+ ],
+ q(landoma) => [
+ q(3805),
+ q(0),
+ ],
+ q(lang'e) => [
+ q(7564),
+ q(0),
+ ],
+ q(langam) => [
+ q(3954),
+ q(0),
+ ],
+ q(langbashe) => [
+ q(3946),
+ q(0),
+ ],
+ q(langi) => [
+ q(3749),
+ q(0),
+ ],
+ q(langnian buyang) => [
+ q(7537),
+ q(0),
+ ],
+ q(lango (sudan)) => [
+ q(3956),
+ q(0),
+ ],
+ q(lango (uganda)) => [
+ q(3751),
+ q(0),
+ ],
+ q(langobardic) => [
+ q(3949),
+ q(0),
+ ],
+ q(langue des signes de belgique francophone) => [
+ q(5914),
+ q(0),
+ ],
+ q(lanoh) => [
+ q(3950),
+ q(0),
+ ],
+ q(lao) => [
+ q(0245),
+ q(0),
+ ],
+ q(laomian) => [
+ q(4049),
+ q(0),
+ ],
+ q(laopang) => [
+ q(3769),
+ q(0),
+ ],
+ q(laos sign language) => [
+ q(4010),
+ q(0),
+ ],
+ q(lapaguia-guivini zapotec) => [
+ q(7798),
+ q(0),
+ ],
+ q(laragia) => [
+ q(3991),
+ q(0),
+ ],
+ q(larantuka malay) => [
+ q(3999),
+ q(0),
+ ],
+ q(lardil) => [
+ q(3786),
+ q(0),
+ ],
+ q(larevat) => [
+ q(4000),
+ q(0),
+ ],
+ q(large flowery miao) => [
+ q(2740),
+ q(0),
+ ],
+ q(lari) => [
+ q(3994),
+ q(0),
+ ],
+ q(larike-wakasihu) => [
+ q(0756),
+ q(0),
+ ],
+ q(laro) => [
+ q(3997),
+ q(0),
+ ],
+ q(larteh) => [
+ q(3757),
+ q(0),
+ ],
+ q(laru) => [
+ q(3754),
+ q(0),
+ ],
+ q(lasalimu) => [
+ q(3914),
+ q(0),
+ ],
+ q(lasgerdi) => [
+ q(4002),
+ q(0),
+ ],
+ q(lashi) => [
+ q(4007),
+ q(0),
+ ],
+ q(lasi) => [
+ q(4013),
+ q(0),
+ ],
+ q(late middle chinese) => [
+ q(4016),
+ q(0),
+ ],
+ q(latgalian) => [
+ q(4017),
+ q(0),
+ ],
+ q(latin) => [
+ q(0246),
+ q(0),
+ ],
+ q(latu) => [
+ q(4022),
+ q(0),
+ ],
+ q(latunde) => [
+ q(4019),
+ q(0),
+ ],
+ q(latvian) => [
+ q(0247),
+ q(0),
+ ],
+ q(latvian sign language) => [
+ q(4008),
+ q(0),
+ ],
+ q(lau) => [
+ q(3920),
+ q(0),
+ ],
+ q(laua) => [
+ q(4026),
+ q(0),
+ ],
+ q(lauan) => [
+ q(3921),
+ q(0),
+ ],
+ q(lauje) => [
+ q(3760),
+ q(0),
+ ],
+ q(laura) => [
+ q(4033),
+ q(0),
+ ],
+ q(laurentian) => [
+ q(3990),
+ q(0),
+ ],
+ q(lavatbura-lamusong) => [
+ q(3782),
+ q(0),
+ ],
+ q(lave) => [
+ q(1418),
+ q(0),
+ ],
+ q(laven) => [
+ q(3776),
+ q(0),
+ ],
+ q(lavukaleve) => [
+ q(4041),
+ q(0),
+ ],
+ q(lawangan) => [
+ q(3784),
+ q(0),
+ ],
+ q(lawunuia) => [
+ q(6404),
+ q(0),
+ ],
+ q(layakha) => [
+ q(4053),
+ q(0),
+ ],
+ q(laz) => [
+ q(4059),
+ q(0),
+ ],
+ q(lealao chinantec) => [
+ q(1767),
+ q(0),
+ ],
+ q(leco) => [
+ q(3812),
+ q(0),
+ ],
+ q(ledo kaili) => [
+ q(3832),
+ q(0),
+ ],
+ q(leelau) => [
+ q(3803),
+ q(0),
+ ],
+ q(lefa) => [
+ q(3835),
+ q(0),
+ ],
+ q(lega-mwenga) => [
+ q(3844),
+ q(0),
+ ],
+ q(lega-shabunda) => [
+ q(3810),
+ q(0),
+ ],
+ q(legbo) => [
+ q(0654),
+ q(0),
+ ],
+ q(legenyem) => [
+ q(3787),
+ q(0),
+ ],
+ q(lehali) => [
+ q(6597),
+ q(0),
+ ],
+ q(lehalurup) => [
+ q(6855),
+ q(0),
+ ],
+ q(lehar) => [
+ q(1638),
+ q(0),
+ ],
+ q(leinong naga) => [
+ q(4058),
+ q(0),
+ ],
+ q(leipon) => [
+ q(3820),
+ q(0),
+ ],
+ q(lelak) => [
+ q(3912),
+ q(0),
+ ],
+ q(lele (chad)) => [
+ q(3915),
+ q(0),
+ ],
+ q(lele (democratic republic of congo)) => [
+ q(3821),
+ q(0),
+ ],
+ q(lele (guinea)) => [
+ q(3905),
+ q(0),
+ ],
+ q(lele (papua new guinea)) => [
+ q(3907),
+ q(0),
+ ],
+ q(lelemi) => [
+ q(3815),
+ q(0),
+ ],
+ q(lelepa) => [
+ q(3983),
+ q(0),
+ ],
+ q(lembena) => [
+ q(3826),
+ q(0),
+ ],
+ q(lemerig) => [
+ q(4001),
+ q(0),
+ ],
+ q(lemio) => [
+ q(3818),
+ q(0),
+ ],
+ q(lemnian) => [
+ q(7283),
+ q(0),
+ ],
+ q(lemolang) => [
+ q(3834),
+ q(0),
+ ],
+ q(lemoro) => [
+ q(3802),
+ q(0),
+ ],
+ q(lenakel) => [
+ q(6539),
+ q(0),
+ ],
+ q(lenca) => [
+ q(3823),
+ q(0),
+ ],
+ q(lendu) => [
+ q(3813),
+ q(0),
+ ],
+ q(lengilu) => [
+ q(3841),
+ q(0),
+ ],
+ q(lengo) => [
+ q(3847),
+ q(0),
+ ],
+ q(lengola) => [
+ q(3819),
+ q(0),
+ ],
+ q(lengua) => [
+ q(3816),
+ q(0),
+ ],
+ q(lengua de senas catalana) => [
+ q(1859),
+ q(0),
+ ],
+ q(lengua de senas del paraguay) => [
+ q(5608),
+ q(0),
+ ],
+ q(lengua de senas panamenas) => [
+ q(4011),
+ q(0),
+ ],
+ q(leningitij) => [
+ q(3952),
+ q(0),
+ ],
+ q(lenje) => [
+ q(3817),
+ q(0),
+ ],
+ q(lenkau) => [
+ q(3827),
+ q(0),
+ ],
+ q(lenyima) => [
+ q(3799),
+ q(0),
+ ],
+ q(leonese) => [
+ q(0030),
+ q(0),
+ ],
+ q(lepcha) => [
+ q(3825),
+ q(0),
+ ],
+ q(lepki) => [
+ q(3984),
+ q(0),
+ ],
+ q(lepontic) => [
+ q(7288),
+ q(0),
+ ],
+ q(lere) => [
+ q(2535),
+ q(0),
+ ],
+ q(lese) => [
+ q(3828),
+ q(0),
+ ],
+ q(lesing-gelimi) => [
+ q(3829),
+ q(0),
+ ],
+ q(letemboi) => [
+ q(4932),
+ q(0),
+ ],
+ q(leti (cameroon)) => [
+ q(3824),
+ q(0),
+ ],
+ q(leti (indonesia)) => [
+ q(4018),
+ q(0),
+ ],
+ q(letzeburgesch) => [
+ q(0254),
+ q(0),
+ ],
+ q(levuka) => [
+ q(4043),
+ q(0),
+ ],
+ q(lewo) => [
+ q(4052),
+ q(0),
+ ],
+ q(lewo eleng) => [
+ q(4045),
+ q(0),
+ ],
+ q(lewotobi) => [
+ q(4051),
+ q(0),
+ ],
+ q(leyigha) => [
+ q(0994),
+ q(0),
+ ],
+ q(lezghian) => [
+ q(0248),
+ q(0),
+ ],
+ q(lhaovo) => [
+ q(4244),
+ q(0),
+ ],
+ q(lhokpu) => [
+ q(3857),
+ q(0),
+ ],
+ q(lhomi) => [
+ q(3855),
+ q(0),
+ ],
+ q(li'o) => [
+ q(3886),
+ q(0),
+ ],
+ q(liabuku) => [
+ q(3881),
+ q(0),
+ ],
+ q(liana-seti) => [
+ q(6181),
+ q(0),
+ ],
+ q(liangmai naga) => [
+ q(4866),
+ q(0),
+ ],
+ q(lianshan zhuang) => [
+ q(7717),
+ q(0),
+ ],
+ q(liberia kpelle) => [
+ q(7338),
+ q(0),
+ ],
+ q(liberian english) => [
+ q(3876),
+ q(0),
+ ],
+ q(libido) => [
+ q(3875),
+ q(0),
+ ],
+ q(libinza) => [
+ q(3883),
+ q(0),
+ ],
+ q(libon bikol) => [
+ q(3773),
+ q(0),
+ ],
+ q(liburnian) => [
+ q(7285),
+ q(0),
+ ],
+ q(libyan arabic) => [
+ q(0996),
+ q(0),
+ ],
+ q(libyan sign language) => [
+ q(3779),
+ q(0),
+ ],
+ q(ligbi) => [
+ q(3867),
+ q(0),
+ ],
+ q(ligenza) => [
+ q(3850),
+ q(0),
+ ],
+ q(ligurian) => [
+ q(3870),
+ q(0),
+ ],
+ q(ligurian (ancient)) => [
+ q(7284),
+ q(0),
+ ],
+ q(lihir) => [
+ q(3868),
+ q(0),
+ ],
+ q(lijili) => [
+ q(4204),
+ q(0),
+ ],
+ q(lika) => [
+ q(3871),
+ q(0),
+ ],
+ q(liki) => [
+ q(3873),
+ q(0),
+ ],
+ q(likila) => [
+ q(3865),
+ q(0),
+ ],
+ q(likuba) => [
+ q(3689),
+ q(0),
+ ],
+ q(likum) => [
+ q(3862),
+ q(0),
+ ],
+ q(likwala) => [
+ q(3643),
+ q(0),
+ ],
+ q(lilau) => [
+ q(3913),
+ q(0),
+ ],
+ q(lillooet) => [
+ q(3872),
+ q(0),
+ ],
+ q(limassa) => [
+ q(1301),
+ q(0),
+ ],
+ q(limbu) => [
+ q(3866),
+ q(0),
+ ],
+ q(limbum) => [
+ q(3937),
+ q(0),
+ ],
+ q(limburgan) => [
+ q(0249),
+ q(0),
+ ],
+ q(limburger) => [
+ q(0249),
+ q(0),
+ ],
+ q(limburgish) => [
+ q(0249),
+ q(0),
+ ],
+ q(limi) => [
+ q(7536),
+ q(0),
+ ],
+ q(limilngan) => [
+ q(3924),
+ q(0),
+ ],
+ q(limos kalinga) => [
+ q(3410),
+ q(0),
+ ],
+ q(lindu) => [
+ q(3397),
+ q(0),
+ ],
+ q(linear a) => [
+ q(3745),
+ q(0),
+ ],
+ q(lingala) => [
+ q(0250),
+ q(0),
+ ],
+ q(lingao) => [
+ q(5203),
+ q(0),
+ ],
+ q(lingarak) => [
+ q(3842),
+ q(0),
+ ],
+ q(lingkhim) => [
+ q(3869),
+ q(0),
+ ],
+ q(lingua franca) => [
+ q(5454),
+ q(0),
+ ],
+ q(lingua franca nova) => [
+ q(3836),
+ q(0),
+ ],
+ q(lipan apache) => [
+ q(0843),
+ q(0),
+ ],
+ q(lipo) => [
+ q(3986),
+ q(0),
+ ],
+ q(lisabata-nuniali) => [
+ q(3796),
+ q(0),
+ ],
+ q(lisela) => [
+ q(3792),
+ q(0),
+ ],
+ q(lish) => [
+ q(4006),
+ q(0),
+ ],
+ q(lishan didan) => [
+ q(6613),
+ q(0),
+ ],
+ q(lishana deni) => [
+ q(4003),
+ q(0),
+ ],
+ q(lishanid noshan) => [
+ q(0701),
+ q(0),
+ ],
+ q(lisu) => [
+ q(3877),
+ q(0),
+ ],
+ q(literary chinese) => [
+ q(4056),
+ q(0),
+ ],
+ q(lithuanian) => [
+ q(0251),
+ q(0),
+ ],
+ q(lithuanian sign language) => [
+ q(3919),
+ q(0),
+ ],
+ q(litzlitz) => [
+ q(4057),
+ q(0),
+ ],
+ q(liujiang zhuang) => [
+ q(7715),
+ q(0),
+ ],
+ q(liuqian zhuang) => [
+ q(7718),
+ q(0),
+ ],
+ q(liv) => [
+ q(3879),
+ q(0),
+ ],
+ q(livvi) => [
+ q(5184),
+ q(0),
+ ],
+ q(llengua de signes catalana) => [
+ q(1859),
+ q(0),
+ ],
+ q(llengua de signes valenciana) => [
+ q(6965),
+ q(0),
+ ],
+ q(lo-toga) => [
+ q(3859),
+ q(0),
+ ],
+ q(loarki) => [
+ q(3993),
+ q(0),
+ ],
+ q(lobala) => [
+ q(3974),
+ q(0),
+ ],
+ q(lobi) => [
+ q(3961),
+ q(0),
+ ],
+ q(lodhi) => [
+ q(3774),
+ q(0),
+ ],
+ q(logba) => [
+ q(3846),
+ q(0),
+ ],
+ q(logo) => [
+ q(3965),
+ q(0),
+ ],
+ q(logol) => [
+ q(3964),
+ q(0),
+ ],
+ q(logooli) => [
+ q(5675),
+ q(0),
+ ],
+ q(logorik) => [
+ q(3878),
+ q(0),
+ ],
+ q(logudorese sardinian) => [
+ q(6135),
+ q(0),
+ ],
+ q(loja highland quichua) => [
+ q(5639),
+ q(0),
+ ],
+ q(lojban) => [
+ q(0204),
+ q(0),
+ ],
+ q(lokaa) => [
+ q(7456),
+ q(0),
+ ],
+ q(loko) => [
+ q(3969),
+ q(0),
+ ],
+ q(lokoya) => [
+ q(3902),
+ q(0),
+ ],
+ q(lola) => [
+ q(3788),
+ q(0),
+ ],
+ q(lolak) => [
+ q(3918),
+ q(0),
+ ],
+ q(lole) => [
+ q(3909),
+ q(0),
+ ],
+ q(lolo) => [
+ q(3904),
+ q(0),
+ ],
+ q(loloda) => [
+ q(3960),
+ q(0),
+ ],
+ q(lolopo) => [
+ q(7472),
+ q(0),
+ ],
+ q(loma (cote d'ivoire)) => [
+ q(3967),
+ q(0),
+ ],
+ q(loma (liberia)) => [
+ q(3970),
+ q(0),
+ ],
+ q(lomaiviti) => [
+ q(3941),
+ q(0),
+ ],
+ q(lomavren) => [
+ q(5745),
+ q(0),
+ ],
+ q(lombard) => [
+ q(3936),
+ q(0),
+ ],
+ q(lombi) => [
+ q(3930),
+ q(0),
+ ],
+ q(lombo) => [
+ q(3972),
+ q(0),
+ ],
+ q(lomwe) => [
+ q(4798),
+ q(0),
+ ],
+ q(loncong) => [
+ q(3789),
+ q(0),
+ ],
+ q(long phuri naga) => [
+ q(3985),
+ q(0),
+ ],
+ q(long wat) => [
+ q(6677),
+ q(0),
+ ],
+ q(longgu) => [
+ q(3849),
+ q(0),
+ ],
+ q(longto) => [
+ q(7113),
+ q(0),
+ ],
+ q(longuda) => [
+ q(3958),
+ q(0),
+ ],
+ q(loniu) => [
+ q(3976),
+ q(0),
+ ],
+ q(lonwolwol) => [
+ q(1838),
+ q(0),
+ ],
+ q(lonzo) => [
+ q(3959),
+ q(0),
+ ],
+ q(loo) => [
+ q(3807),
+ q(0),
+ ],
+ q(lopa) => [
+ q(3973),
+ q(0),
+ ],
+ q(lopi) => [
+ q(3979),
+ q(0),
+ ],
+ q(lopit) => [
+ q(3987),
+ q(0),
+ ],
+ q(lorang) => [
+ q(3996),
+ q(0),
+ ],
+ q(lorediakarkar) => [
+ q(3955),
+ q(0),
+ ],
+ q(loreto-ucayali spanish) => [
+ q(6116),
+ q(0),
+ ],
+ q(lote) => [
+ q(6880),
+ q(0),
+ ],
+ q(lotha naga) => [
+ q(4861),
+ q(0),
+ ],
+ q(lotud) => [
+ q(2141),
+ q(0),
+ ],
+ q(lou) => [
+ q(3968),
+ q(0),
+ ],
+ q(louisiana creole french) => [
+ q(3978),
+ q(0),
+ ],
+ q(loun) => [
+ q(3981),
+ q(0),
+ ],
+ q(loup a) => [
+ q(7287),
+ q(0),
+ ],
+ q(loup b) => [
+ q(7280),
+ q(0),
+ ],
+ q(lovono) => [
+ q(6956),
+ q(0),
+ ],
+ q(low german) => [
+ q(0306),
+ q(0),
+ ],
+ q(low saxon) => [
+ q(0306),
+ q(0),
+ ],
+ q(lowa) => [
+ q(3982),
+ q(0),
+ ],
+ q(lower burdekin) => [
+ q(7195),
+ q(0),
+ ],
+ q(lower chehalis) => [
+ q(1702),
+ q(0),
+ ],
+ q(lower grand valley dani) => [
+ q(2083),
+ q(0),
+ ],
+ q(lower silesian) => [
+ q(6028),
+ q(0),
+ ],
+ q(lower sorbian) => [
+ q(0113),
+ q(0),
+ ],
+ q(lower ta'oih) => [
+ q(6669),
+ q(0),
+ ],
+ q(lower tanana) => [
+ q(6279),
+ q(0),
+ ],
+ q(lower tanudan kalinga) => [
+ q(3411),
+ q(0),
+ ],
+ q(lowland oaxaca chontal) => [
+ q(1773),
+ q(0),
+ ],
+ q(lowland tarahumara) => [
+ q(6281),
+ q(0),
+ ],
+ q(loxicha zapotec) => [
+ q(7801),
+ q(0),
+ ],
+ q(loyop) => [
+ q(6855),
+ q(0),
+ ],
+ q(lozi) => [
+ q(0253),
+ q(0),
+ ],
+ q(lu) => [
+ q(3280),
+ q(0),
+ ],
+ q(lua') => [
+ q(5522),
+ q(0),
+ ],
+ q(luang) => [
+ q(3833),
+ q(0),
+ ],
+ q(luba-katanga) => [
+ q(0256),
+ q(0),
+ ],
+ q(luba-lulua) => [
+ q(0255),
+ q(0),
+ ],
+ q(lubila) => [
+ q(3156),
+ q(0),
+ ],
+ q(lubu) => [
+ q(3790),
+ q(0),
+ ],
+ q(lubuagan kalinga) => [
+ q(3427),
+ q(0),
+ ],
+ q(lubukusu) => [
+ q(1571),
+ q(0),
+ ],
+ q(luchazi) => [
+ q(3791),
+ q(0),
+ ],
+ q(lucumi) => [
+ q(4032),
+ q(0),
+ ],
+ q(ludian) => [
+ q(4024),
+ q(0),
+ ],
+ q(lufu) => [
+ q(3809),
+ q(0),
+ ],
+ q(lugbara) => [
+ q(3839),
+ q(0),
+ ],
+ q(luguru) => [
+ q(5793),
+ q(0),
+ ],
+ q(luhu) => [
+ q(3795),
+ q(0),
+ ],
+ q(lui) => [
+ q(3764),
+ q(0),
+ ],
+ q(luidakho-luisukha-lutirichi) => [
+ q(2861),
+ q(0),
+ ],
+ q(luimbi) => [
+ q(4030),
+ q(0),
+ ],
+ q(luiseno) => [
+ q(0258),
+ q(0),
+ ],
+ q(lukabaras) => [
+ q(3889),
+ q(0),
+ ],
+ q(lukpa) => [
+ q(2101),
+ q(0),
+ ],
+ q(lule sami) => [
+ q(0390),
+ q(0),
+ ],
+ q(lulogooli) => [
+ q(5675),
+ q(0),
+ ],
+ q(lumba-yakkha) => [
+ q(4035),
+ q(0),
+ ],
+ q(lumbee) => [
+ q(3945),
+ q(0),
+ ],
+ q(lumbu) => [
+ q(4031),
+ q(0),
+ ],
+ q(lumun) => [
+ q(3925),
+ q(0),
+ ],
+ q(lun bawang) => [
+ q(3948),
+ q(0),
+ ],
+ q(luna) => [
+ q(4027),
+ q(0),
+ ],
+ q(lunanakha) => [
+ q(4028),
+ q(0),
+ ],
+ q(lunda) => [
+ q(0259),
+ q(0),
+ ],
+ q(lundayeh) => [
+ q(3948),
+ q(0),
+ ],
+ q(lungga) => [
+ q(3837),
+ q(0),
+ ],
+ q(luo (cameroon)) => [
+ q(4037),
+ q(0),
+ ],
+ q(luo (kenya and tanzania)) => [
+ q(0260),
+ q(0),
+ ],
+ q(luopohe hmong) => [
+ q(2748),
+ q(0),
+ ],
+ q(luopohe miao) => [
+ q(2748),
+ q(0),
+ ],
+ q(luri) => [
+ q(3798),
+ q(0),
+ ],
+ q(lusengo) => [
+ q(4004),
+ q(0),
+ ],
+ q(lushai) => [
+ q(0261),
+ q(0),
+ ],
+ q(lushootseed) => [
+ q(4034),
+ q(0),
+ ],
+ q(lusi) => [
+ q(3289),
+ q(0),
+ ],
+ q(lusitanian) => [
+ q(7289),
+ q(0),
+ ],
+ q(lutachoni) => [
+ q(4021),
+ q(0),
+ ],
+ q(lutos) => [
+ q(4759),
+ q(0),
+ ],
+ q(luvale) => [
+ q(4025),
+ q(0),
+ ],
+ q(luwati) => [
+ q(4036),
+ q(0),
+ ],
+ q(luwo) => [
+ q(4050),
+ q(0),
+ ],
+ q(luxembourgish) => [
+ q(0254),
+ q(0),
+ ],
+ q(luyana) => [
+ q(4055),
+ q(0),
+ ],
+ q(luyia) => [
+ q(4038),
+ q(0),
+ ],
+ q(lwalu) => [
+ q(4044),
+ q(0),
+ ],
+ q(lycian) => [
+ q(7281),
+ q(0),
+ ],
+ q(lydian) => [
+ q(7282),
+ q(0),
+ ],
+ q(lyele) => [
+ q(3814),
+ q(0),
+ ],
+ q(lyngngam) => [
+ q(4054),
+ q(0),
+ ],
+ q(lyons sign language) => [
+ q(4005),
+ q(0),
+ ],
+ q(ma (democratic republic of congo)) => [
+ q(4489),
+ q(0),
+ ],
+ q(ma (papua new guinea)) => [
+ q(4279),
+ q(0),
+ ],
+ q(ma'anyan) => [
+ q(4245),
+ q(0),
+ ],
+ q(ma'di) => [
+ q(4230),
+ q(0),
+ ],
+ q(ma'ya) => [
+ q(6042),
+ q(0),
+ ],
+ q(maa) => [
+ q(1777),
+ q(0),
+ ],
+ q(maaka) => [
+ q(4168),
+ q(0),
+ ],
+ q(maasina fulfulde) => [
+ q(2315),
+ q(0),
+ ],
+ q(maay) => [
+ q(7552),
+ q(0),
+ ],
+ q(maba (chad)) => [
+ q(4128),
+ q(0),
+ ],
+ q(maba (indonesia)) => [
+ q(4431),
+ q(0),
+ ],
+ q(mabaale) => [
+ q(4363),
+ q(0),
+ ],
+ q(mabaan) => [
+ q(4196),
+ q(0),
+ ],
+ q(mabaka valley kalinga) => [
+ q(3355),
+ q(0),
+ ],
+ q(mabire) => [
+ q(4538),
+ q(0),
+ ],
+ q(maca) => [
+ q(4098),
+ q(0),
+ ],
+ q(macaguaje) => [
+ q(4109),
+ q(0),
+ ],
+ q(macaguan) => [
+ q(4085),
+ q(0),
+ ],
+ q(macanese) => [
+ q(4664),
+ q(0),
+ ],
+ q(macedo-romanian) => [
+ q(0362),
+ q(0),
+ ],
+ q(macedonian) => [
+ q(0262),
+ q(0),
+ ],
+ q(machame) => [
+ q(3065),
+ q(0),
+ ],
+ q(machiguenga) => [
+ q(4099),
+ q(0),
+ ],
+ q(machinere) => [
+ q(4409),
+ q(0),
+ ],
+ q(machinga) => [
+ q(4571),
+ q(0),
+ ],
+ q(maco) => [
+ q(7121),
+ q(0),
+ ],
+ q(macuna) => [
+ q(4645),
+ q(0),
+ ],
+ q(macushi) => [
+ q(4075),
+ q(0),
+ ],
+ q(mada (cameroon)) => [
+ q(4619),
+ q(0),
+ ],
+ q(mada (nigeria)) => [
+ q(4124),
+ q(0),
+ ],
+ q(madagascar sign language) => [
+ q(4649),
+ q(0),
+ ],
+ q(madak) => [
+ q(4361),
+ q(0),
+ ],
+ q(maden) => [
+ q(7314),
+ q(0),
+ ],
+ q(madi) => [
+ q(2577),
+ q(0),
+ ],
+ q(madngele) => [
+ q(7730),
+ q(0),
+ ],
+ q(madurese) => [
+ q(0263),
+ q(0),
+ ],
+ q(mae) => [
+ q(4343),
+ q(0),
+ ],
+ q(maek) => [
+ q(2747),
+ q(0),
+ ],
+ q(maeng itneg) => [
+ q(2975),
+ q(0),
+ ],
+ q(mafa) => [
+ q(4063),
+ q(0),
+ ],
+ q(mafea) => [
+ q(4311),
+ q(0),
+ ],
+ q(mag-antsi ayta) => [
+ q(5918),
+ q(0),
+ ],
+ q(mag-indi ayta) => [
+ q(1294),
+ q(0),
+ ],
+ q(magahi) => [
+ q(0264),
+ q(0),
+ ],
+ q(magbukun ayta) => [
+ q(1003),
+ q(0),
+ ],
+ q(magdalena penasco mixtec) => [
+ q(7391),
+ q(0),
+ ],
+ q(maghdi) => [
+ q(2521),
+ q(0),
+ ],
+ q(magoma) => [
+ q(2527),
+ q(0),
+ ],
+ q(magori) => [
+ q(7688),
+ q(0),
+ ],
+ q(maguindanaon) => [
+ q(4130),
+ q(0),
+ ],
+ q(mah meri) => [
+ q(4226),
+ q(0),
+ ],
+ q(mahali) => [
+ q(4289),
+ q(0),
+ ],
+ q(maharastri prakrit) => [
+ q(5450),
+ q(0),
+ ],
+ q(mahasu pahari) => [
+ q(1154),
+ q(0),
+ ],
+ q(mahican) => [
+ q(4290),
+ q(0),
+ ],
+ q(mahongwe) => [
+ q(4223),
+ q(0),
+ ],
+ q(mahou) => [
+ q(4622),
+ q(0),
+ ],
+ q(mai brat) => [
+ q(1006),
+ q(0),
+ ],
+ q(maia) => [
+ q(6015),
+ q(0),
+ ],
+ q(maiadomu) => [
+ q(4671),
+ q(0),
+ ],
+ q(maiani) => [
+ q(6536),
+ q(0),
+ ],
+ q(maii) => [
+ q(4351),
+ q(0),
+ ],
+ q(mailu) => [
+ q(4216),
+ q(0),
+ ],
+ q(maindo) => [
+ q(1914),
+ q(0),
+ ],
+ q(mainfrankisch) => [
+ q(6938),
+ q(0),
+ ],
+ q(mainstream kenyah) => [
+ q(7265),
+ q(0),
+ ],
+ q(mairasi) => [
+ q(7789),
+ q(0),
+ ],
+ q(maisin) => [
+ q(4088),
+ q(0),
+ ],
+ q(maithili) => [
+ q(0266),
+ q(0),
+ ],
+ q(maiwa (indonesia)) => [
+ q(7087),
+ q(0),
+ ],
+ q(maiwa (papua new guinea)) => [
+ q(4513),
+ q(0),
+ ],
+ q(maiwala) => [
+ q(4540),
+ q(0),
+ ],
+ q(majang) => [
+ q(4410),
+ q(0),
+ ],
+ q(majera) => [
+ q(7300),
+ q(0),
+ ],
+ q(majhi) => [
+ q(4291),
+ q(0),
+ ],
+ q(majhwar) => [
+ q(4348),
+ q(0),
+ ],
+ q(majukayang kalinga) => [
+ q(3403),
+ q(0),
+ ],
+ q(mak (china)) => [
+ q(4297),
+ q(0),
+ ],
+ q(mak (nigeria)) => [
+ q(5306),
+ q(0),
+ ],
+ q(makaa) => [
+ q(4113),
+ q(0),
+ ],
+ q(makah) => [
+ q(4631),
+ q(0),
+ ],
+ q(makasae) => [
+ q(4315),
+ q(0),
+ ],
+ q(makasar) => [
+ q(0267),
+ q(0),
+ ],
+ q(makassar malay) => [
+ q(4186),
+ q(0),
+ ],
+ q(makayam) => [
+ q(0945),
+ q(0),
+ ],
+ q(makhuwa) => [
+ q(6952),
+ q(0),
+ ],
+ q(makhuwa-marrevone) => [
+ q(7294),
+ q(0),
+ ],
+ q(makhuwa-meetto) => [
+ q(4203),
+ q(0),
+ ],
+ q(makhuwa-moniga) => [
+ q(4234),
+ q(0),
+ ],
+ q(makhuwa-saka) => [
+ q(7376),
+ q(0),
+ ],
+ q(makhuwa-shirima) => [
+ q(6943),
+ q(0),
+ ],
+ q(maklew) => [
+ q(4201),
+ q(0),
+ ],
+ q(makolkol) => [
+ q(7726),
+ q(0),
+ ],
+ q(makonde) => [
+ q(3183),
+ q(0),
+ ],
+ q(maku'a) => [
+ q(4040),
+ q(0),
+ ],
+ q(makurap) => [
+ q(4425),
+ q(0),
+ ],
+ q(makuri naga) => [
+ q(3069),
+ q(0),
+ ],
+ q(makwe) => [
+ q(7550),
+ q(0),
+ ],
+ q(makyan naga) => [
+ q(6823),
+ q(0),
+ ],
+ q(mal) => [
+ q(4321),
+ q(0),
+ ],
+ q(mal paharia) => [
+ q(4293),
+ q(0),
+ ],
+ q(mala (nigeria)) => [
+ q(5802),
+ q(0),
+ ],
+ q(mala (papua new guinea)) => [
+ q(5343),
+ q(0),
+ ],
+ q(mala malasar) => [
+ q(2917),
+ q(0),
+ ],
+ q(malaccan creole malay) => [
+ q(1683),
+ q(0),
+ ],
+ q(malaccan creole portuguese) => [
+ q(4110),
+ q(0),
+ ],
+ q(malagasy) => [
+ q(0283),
+ q(0),
+ ],
+ q(malakhel) => [
+ q(4319),
+ q(0),
+ ],
+ q(malalamai) => [
+ q(4357),
+ q(0),
+ ],
+ q(malango) => [
+ q(4328),
+ q(0),
+ ],
+ q(malankuravan) => [
+ q(4280),
+ q(0),
+ ],
+ q(malapandaram) => [
+ q(4281),
+ q(0),
+ ],
+ q(malaryan) => [
+ q(4282),
+ q(0),
+ ],
+ q(malas) => [
+ q(4307),
+ q(0),
+ ],
+ q(malasanga) => [
+ q(4455),
+ q(0),
+ ],
+ q(malasar) => [
+ q(7557),
+ q(0),
+ ],
+ q(malavedan) => [
+ q(4283),
+ q(0),
+ ],
+ q(malawi lomwe) => [
+ q(3971),
+ q(0),
+ ],
+ q(malawi sena) => [
+ q(6229),
+ q(0),
+ ],
+ q(malay) => [
+ q(0274),
+ q(0),
+ ],
+ q(malay (individual language)) => [
+ q(7716),
+ q(0),
+ ],
+ q(malay (macrolanguage)) => [
+ q(0274),
+ q(1),
+ ],
+ q(malayalam) => [
+ q(0268),
+ q(0),
+ ],
+ q(malayic dayak) => [
+ q(7221),
+ q(0),
+ ],
+ q(malaynon) => [
+ q(4338),
+ q(0),
+ ],
+ q(malayo) => [
+ q(4087),
+ q(0),
+ ],
+ q(malayo-polynesian languages) => [
+ q(0519),
+ q(0),
+ ],
+ q(malaysian sign language) => [
+ q(7302),
+ q(0),
+ ],
+ q(malba birifor) => [
+ q(1144),
+ q(0),
+ ],
+ q(maldivian) => [
+ q(0110),
+ q(0),
+ ],
+ q(male) => [
+ q(2784),
+ q(0),
+ ],
+ q(male (ethiopia)) => [
+ q(4145),
+ q(0),
+ ],
+ q(male (papua new guinea)) => [
+ q(4126),
+ q(0),
+ ],
+ q(malecite-passamaquoddy) => [
+ q(5521),
+ q(0),
+ ],
+ q(maleku jaika) => [
+ q(2621),
+ q(0),
+ ],
+ q(maleng) => [
+ q(5421),
+ q(0),
+ ],
+ q(maleu-kilenge) => [
+ q(4207),
+ q(0),
+ ],
+ q(malfaxal) => [
+ q(4337),
+ q(0),
+ ],
+ q(malgana) => [
+ q(6944),
+ q(0),
+ ],
+ q(malgbe) => [
+ q(4604),
+ q(0),
+ ],
+ q(mali) => [
+ q(2415),
+ q(0),
+ ],
+ q(maligo) => [
+ q(4584),
+ q(0),
+ ],
+ q(malila) => [
+ q(4212),
+ q(0),
+ ],
+ q(malimba) => [
+ q(4650),
+ q(0),
+ ],
+ q(malimpung) => [
+ q(4323),
+ q(0),
+ ],
+ q(malinaltepec me'phaa) => [
+ q(6331),
+ q(0),
+ ],
+ q(malinaltepec tlapanec) => [
+ q(6331),
+ q(0),
+ ],
+ q(malo) => [
+ q(4316),
+ q(0),
+ ],
+ q(malol) => [
+ q(4082),
+ q(0),
+ ],
+ q(maltese) => [
+ q(0284),
+ q(0),
+ ],
+ q(maltese sign language) => [
+ q(4134),
+ q(0),
+ ],
+ q(malua bay) => [
+ q(4326),
+ q(0),
+ ],
+ q(malvi) => [
+ q(4542),
+ q(0),
+ ],
+ q(mam) => [
+ q(4065),
+ q(0),
+ ],
+ q(mama) => [
+ q(4339),
+ q(0),
+ ],
+ q(mamaa) => [
+ q(4227),
+ q(0),
+ ],
+ q(mamainde) => [
+ q(7083),
+ q(0),
+ ],
+ q(mamanwa) => [
+ q(4352),
+ q(0),
+ ],
+ q(mamara senoufo) => [
+ q(4634),
+ q(0),
+ ],
+ q(mamasa) => [
+ q(4439),
+ q(0),
+ ],
+ q(mambae) => [
+ q(4208),
+ q(0),
+ ],
+ q(mambai) => [
+ q(4116),
+ q(0),
+ ],
+ q(mamboru) => [
+ q(4553),
+ q(0),
+ ],
+ q(mambwe-lungu) => [
+ q(4213),
+ q(0),
+ ],
+ q(mampruli) => [
+ q(4070),
+ q(0),
+ ],
+ q(mamuju) => [
+ q(4453),
+ q(0),
+ ],
+ q(mamulique) => [
+ q(2231),
+ q(0),
+ ],
+ q(mamusi) => [
+ q(3184),
+ q(0),
+ ],
+ q(mamvu) => [
+ q(4131),
+ q(0),
+ ],
+ q(man met) => [
+ q(4350),
+ q(0),
+ ],
+ q(manado malay) => [
+ q(7303),
+ q(0),
+ ],
+ q(manam) => [
+ q(4551),
+ q(0),
+ ],
+ q(manambu) => [
+ q(4320),
+ q(0),
+ ],
+ q(manangba) => [
+ q(4926),
+ q(0),
+ ],
+ q(manangkari) => [
+ q(7748),
+ q(0),
+ ],
+ q(manchu) => [
+ q(0285),
+ q(0),
+ ],
+ q(manda (australia)) => [
+ q(7719),
+ q(0),
+ ],
+ q(manda (india)) => [
+ q(4222),
+ q(0),
+ ],
+ q(manda (tanzania)) => [
+ q(4214),
+ q(0),
+ ],
+ q(mandahuaca) => [
+ q(4241),
+ q(0),
+ ],
+ q(mandaic) => [
+ q(4249),
+ q(0),
+ ],
+ q(mandan) => [
+ q(4238),
+ q(0),
+ ],
+ q(mandandanyi) => [
+ q(7729),
+ q(0),
+ ],
+ q(mandar) => [
+ q(0276),
+ q(0),
+ ],
+ q(mandara) => [
+ q(6306),
+ q(0),
+ ],
+ q(mandari) => [
+ q(4450),
+ q(0),
+ ],
+ q(mandarin chinese) => [
+ q(1783),
+ q(0),
+ ],
+ q(mandaya) => [
+ q(4479),
+ q(0),
+ ],
+ q(mande languages) => [
+ q(0499),
+ q(0),
+ ],
+ q(mandeali) => [
+ q(4277),
+ q(0),
+ ],
+ q(mander) => [
+ q(4447),
+ q(0),
+ ],
+ q(mandingo) => [
+ q(0269),
+ q(0),
+ ],
+ q(mandinka) => [
+ q(4372),
+ q(0),
+ ],
+ q(mandjak) => [
+ q(4192),
+ q(0),
+ ],
+ q(mandobo atas) => [
+ q(0557),
+ q(0),
+ ],
+ q(mandobo bawah) => [
+ q(1551),
+ q(0),
+ ],
+ q(manem) => [
+ q(3036),
+ q(0),
+ ],
+ q(mang) => [
+ q(7747),
+ q(0),
+ ],
+ q(manga kanuri) => [
+ q(3152),
+ q(0),
+ ],
+ q(mangala) => [
+ q(4159),
+ q(0),
+ ],
+ q(mangarayi) => [
+ q(4408),
+ q(0),
+ ],
+ q(mangareva) => [
+ q(4476),
+ q(0),
+ ],
+ q(mangas) => [
+ q(7749),
+ q(0),
+ ],
+ q(mangayat) => [
+ q(4633),
+ q(0),
+ ],
+ q(mangbetu) => [
+ q(4132),
+ q(0),
+ ],
+ q(mangbutu) => [
+ q(4133),
+ q(0),
+ ],
+ q(mangerr) => [
+ q(7723),
+ q(0),
+ ],
+ q(mangga buang) => [
+ q(4353),
+ q(0),
+ ],
+ q(manggarai) => [
+ q(4454),
+ q(0),
+ ],
+ q(mango) => [
+ q(4200),
+ q(0),
+ ],
+ q(mangole) => [
+ q(4433),
+ q(0),
+ ],
+ q(mangseng) => [
+ q(4079),
+ q(0),
+ ],
+ q(mangue) => [
+ q(4395),
+ q(0),
+ ],
+ q(manichaean middle persian) => [
+ q(7304),
+ q(0),
+ ],
+ q(manide) => [
+ q(0562),
+ q(0),
+ ],
+ q(manikion) => [
+ q(4384),
+ q(0),
+ ],
+ q(manipa) => [
+ q(4445),
+ q(0),
+ ],
+ q(manipuri) => [
+ q(0286),
+ q(0),
+ ],
+ q(mankanya) => [
+ q(3431),
+ q(0),
+ ],
+ q(mann) => [
+ q(4167),
+ q(0),
+ ],
+ q(manna-dora) => [
+ q(4286),
+ q(0),
+ ],
+ q(mannan) => [
+ q(4287),
+ q(0),
+ ],
+ q(manobo languages) => [
+ q(0287),
+ q(0),
+ ],
+ q(manombai) => [
+ q(7116),
+ q(0),
+ ],
+ q(mansaka) => [
+ q(4490),
+ q(0),
+ ],
+ q(mansi) => [
+ q(4379),
+ q(0),
+ ],
+ q(mansoanka) => [
+ q(4501),
+ q(0),
+ ],
+ q(manta) => [
+ q(4630),
+ q(0),
+ ],
+ q(mantsi) => [
+ q(5045),
+ q(0),
+ ],
+ q(manumanaw karen) => [
+ q(3672),
+ q(0),
+ ],
+ q(manusela) => [
+ q(7034),
+ q(0),
+ ],
+ q(manx) => [
+ q(0156),
+ q(0),
+ ],
+ q(manya) => [
+ q(4655),
+ q(0),
+ ],
+ q(manyawa) => [
+ q(4385),
+ q(0),
+ ],
+ q(manyika) => [
+ q(4601),
+ q(0),
+ ],
+ q(manza) => [
+ q(4667),
+ q(0),
+ ],
+ q(mao naga) => [
+ q(4700),
+ q(0),
+ ],
+ q(maonan) => [
+ q(4342),
+ q(0),
+ ],
+ q(maore comorian) => [
+ q(6222),
+ q(0),
+ ],
+ q(maori) => [
+ q(0270),
+ q(0),
+ ],
+ q(mape) => [
+ q(4322),
+ q(0),
+ ],
+ q(mapena) => [
+ q(4374),
+ q(0),
+ ],
+ q(mapia) => [
+ q(4429),
+ q(0),
+ ],
+ q(mapidian) => [
+ q(4427),
+ q(0),
+ ],
+ q(mapos buang) => [
+ q(1616),
+ q(0),
+ ],
+ q(mapoyo) => [
+ q(4104),
+ q(0),
+ ],
+ q(mapuche) => [
+ q(0025),
+ q(0),
+ ],
+ q(mapudungun) => [
+ q(0025),
+ q(0),
+ ],
+ q(mapun) => [
+ q(5989),
+ q(0),
+ ],
+ q(maquiritari) => [
+ q(4105),
+ q(0),
+ ],
+ q(mara) => [
+ q(4149),
+ q(0),
+ ],
+ q(mara chin) => [
+ q(4463),
+ q(0),
+ ],
+ q(marachi) => [
+ q(3992),
+ q(0),
+ ],
+ q(maraghei) => [
+ q(6940),
+ q(0),
+ ],
+ q(maragus) => [
+ q(4473),
+ q(0),
+ ],
+ q(maram naga) => [
+ q(4914),
+ q(0),
+ ],
+ q(marama) => [
+ q(3995),
+ q(0),
+ ],
+ q(maramba) => [
+ q(4627),
+ q(0),
+ ],
+ q(maranao) => [
+ q(4477),
+ q(0),
+ ],
+ q(maranunggu) => [
+ q(7736),
+ q(0),
+ ],
+ q(mararit) => [
+ q(4197),
+ q(0),
+ ],
+ q(marathi) => [
+ q(0272),
+ q(0),
+ ],
+ q(marau) => [
+ q(4566),
+ q(0),
+ ],
+ q(marba) => [
+ q(4411),
+ q(0),
+ ],
+ q(maremgi) => [
+ q(4478),
+ q(0),
+ ],
+ q(marenje) => [
+ q(6948),
+ q(0),
+ ],
+ q(marfa) => [
+ q(4569),
+ q(0),
+ ],
+ q(margany) => [
+ q(7721),
+ q(0),
+ ],
+ q(marghi central) => [
+ q(4474),
+ q(0),
+ ],
+ q(marghi south) => [
+ q(4183),
+ q(0),
+ ],
+ q(margos-yarowilca-lauricocha quechua) => [
+ q(5641),
+ q(0),
+ ],
+ q(margu) => [
+ q(4228),
+ q(0),
+ ],
+ q(mari) => [
+ q(0081),
+ q(0),
+ ],
+ q(mari (east sepik province)) => [
+ q(4095),
+ q(0),
+ ],
+ q(mari (madang province)) => [
+ q(2771),
+ q(0),
+ ],
+ q(mari (russia)) => [
+ q(0081),
+ q(1),
+ ],
+ q(maria (india)) => [
+ q(4472),
+ q(0),
+ ],
+ q(maria (papua new guinea)) => [
+ q(4139),
+ q(0),
+ ],
+ q(maricopa) => [
+ q(4458),
+ q(0),
+ ],
+ q(maridan) => [
+ q(7722),
+ q(0),
+ ],
+ q(maridjabin) => [
+ q(7728),
+ q(0),
+ ],
+ q(marik) => [
+ q(1929),
+ q(0),
+ ],
+ q(marimanindji) => [
+ q(7731),
+ q(0),
+ ],
+ q(marind) => [
+ q(4480),
+ q(0),
+ ],
+ q(maring) => [
+ q(4094),
+ q(0),
+ ],
+ q(maring naga) => [
+ q(4946),
+ q(0),
+ ],
+ q(maringarr) => [
+ q(7738),
+ q(0),
+ ],
+ q(marino) => [
+ q(4457),
+ q(0),
+ ],
+ q(mariri) => [
+ q(4438),
+ q(0),
+ ],
+ q(marithiel) => [
+ q(4188),
+ q(0),
+ ],
+ q(maritime sign language) => [
+ q(5025),
+ q(0),
+ ],
+ q(maritsaua) => [
+ q(4495),
+ q(0),
+ ],
+ q(mariyedi) => [
+ q(7743),
+ q(0),
+ ],
+ q(marka) => [
+ q(5735),
+ q(0),
+ ],
+ q(markweeta) => [
+ q(2241),
+ q(0),
+ ],
+ q(marma) => [
+ q(5760),
+ q(0),
+ ],
+ q(marovo) => [
+ q(4563),
+ q(0),
+ ],
+ q(marriammu) => [
+ q(7361),
+ q(0),
+ ],
+ q(marrucinian) => [
+ q(6818),
+ q(0),
+ ],
+ q(marshallese) => [
+ q(0265),
+ q(0),
+ ],
+ q(marsian) => [
+ q(2924),
+ q(0),
+ ],
+ q(martha's vineyard sign language) => [
+ q(4460),
+ q(0),
+ ],
+ q(marti ke) => [
+ q(7725),
+ q(0),
+ ],
+ q(martu wangka) => [
+ q(4414),
+ q(0),
+ ],
+ q(martuyhunira) => [
+ q(6933),
+ q(0),
+ ],
+ q(maru) => [
+ q(4244),
+ q(0),
+ ],
+ q(marubo) => [
+ q(4663),
+ q(0),
+ ],
+ q(marwari) => [
+ q(0295),
+ q(0),
+ ],
+ q(marwari (india)) => [
+ q(5808),
+ q(0),
+ ],
+ q(marwari (pakistan)) => [
+ q(4554),
+ q(0),
+ ],
+ q(masaaba) => [
+ q(4644),
+ q(0),
+ ],
+ q(masadiit itneg) => [
+ q(6452),
+ q(0),
+ ],
+ q(masai) => [
+ q(0273),
+ q(0),
+ ],
+ q(masalit) => [
+ q(4333),
+ q(0),
+ ],
+ q(masana) => [
+ q(4111),
+ q(0),
+ ],
+ q(masbatenyo) => [
+ q(4481),
+ q(0),
+ ],
+ q(mashco piro) => [
+ q(1898),
+ q(0),
+ ],
+ q(mashi (nigeria)) => [
+ q(3071),
+ q(0),
+ ],
+ q(mashi (zambia)) => [
+ q(4236),
+ q(0),
+ ],
+ q(masikoro malagasy) => [
+ q(4487),
+ q(0),
+ ],
+ q(masimasi) => [
+ q(2960),
+ q(0),
+ ],
+ q(masiwang) => [
+ q(1328),
+ q(0),
+ ],
+ q(maskelynes) => [
+ q(3396),
+ q(0),
+ ],
+ q(maskoy pidgin) => [
+ q(4229),
+ q(0),
+ ],
+ q(maslam) => [
+ q(4500),
+ q(0),
+ ],
+ q(masmaje) => [
+ q(4164),
+ q(0),
+ ],
+ q(massalat) => [
+ q(4129),
+ q(0),
+ ],
+ q(massep) => [
+ q(4567),
+ q(0),
+ ],
+ q(matagalpa) => [
+ q(4518),
+ q(0),
+ ],
+ q(matal) => [
+ q(4178),
+ q(0),
+ ],
+ q(matbat) => [
+ q(7310),
+ q(0),
+ ],
+ q(matengo) => [
+ q(4217),
+ q(0),
+ ],
+ q(matepi) => [
+ q(4434),
+ q(0),
+ ],
+ q(matigsalug manobo) => [
+ q(4091),
+ q(0),
+ ],
+ q(matipuhy) => [
+ q(4660),
+ q(0),
+ ],
+ q(matis) => [
+ q(4421),
+ q(0),
+ ],
+ q(mato) => [
+ q(4165),
+ q(0),
+ ],
+ q(mato grosso arara) => [
+ q(0983),
+ q(0),
+ ],
+ q(mator) => [
+ q(4517),
+ q(0),
+ ],
+ q(mator-taygi-karagas) => [
+ q(7559),
+ q(0),
+ ],
+ q(matses) => [
+ q(4103),
+ q(0),
+ ],
+ q(mattole) => [
+ q(4552),
+ q(0),
+ ],
+ q(matukar) => [
+ q(4276),
+ q(0),
+ ],
+ q(matumbi) => [
+ q(4218),
+ q(0),
+ ],
+ q(matya samo) => [
+ q(6186),
+ q(0),
+ ],
+ q(maung) => [
+ q(4412),
+ q(0),
+ ],
+ q(mauritian sign language) => [
+ q(4015),
+ q(0),
+ ],
+ q(mauwake) => [
+ q(4233),
+ q(0),
+ ],
+ q(mawa (chad)) => [
+ q(4120),
+ q(0),
+ ],
+ q(mawa (nigeria)) => [
+ q(7080),
+ q(0),
+ ],
+ q(mawak) => [
+ q(4275),
+ q(0),
+ ],
+ q(mawan) => [
+ q(4123),
+ q(0),
+ ],
+ q(mawayana) => [
+ q(4669),
+ q(0),
+ ],
+ q(mawchi) => [
+ q(4295),
+ q(0),
+ ],
+ q(mawes) => [
+ q(4206),
+ q(0),
+ ],
+ q(mawukakan) => [
+ q(4622),
+ q(0),
+ ],
+ q(maxakali) => [
+ q(4083),
+ q(0),
+ ],
+ q(maxi gbe) => [
+ q(4610),
+ q(0),
+ ],
+ q(maya samo) => [
+ q(6262),
+ q(0),
+ ],
+ q(mayaguduna) => [
+ q(7315),
+ q(0),
+ ],
+ q(mayan languages) => [
+ q(0296),
+ q(0),
+ ],
+ q(mayangna) => [
+ q(7446),
+ q(0),
+ ],
+ q(mayeka) => [
+ q(4626),
+ q(0),
+ ],
+ q(maykulan) => [
+ q(4380),
+ q(0),
+ ],
+ q(mayo) => [
+ q(4195),
+ q(0),
+ ],
+ q(mayogo) => [
+ q(4135),
+ q(0),
+ ],
+ q(mayoyao ifugao) => [
+ q(2877),
+ q(0),
+ ],
+ q(mazagway) => [
+ q(2060),
+ q(0),
+ ],
+ q(mazaltepec zapotec) => [
+ q(7781),
+ q(0),
+ ],
+ q(mazanderani) => [
+ q(4659),
+ q(0),
+ ],
+ q(mazatlan mazatec) => [
+ q(6955),
+ q(0),
+ ],
+ q(mazatlan mixe) => [
+ q(4657),
+ q(0),
+ ],
+ q(mba) => [
+ q(4173),
+ q(0),
+ ],
+ q(mbabaram) => [
+ q(6934),
+ q(0),
+ ],
+ q(mbala) => [
+ q(4137),
+ q(0),
+ ],
+ q(mbalanhu) => [
+ q(3947),
+ q(0),
+ ],
+ q(mbandja) => [
+ q(7744),
+ q(0),
+ ],
+ q(mbangala) => [
+ q(4605),
+ q(0),
+ ],
+ q(mbangi) => [
+ q(4209),
+ q(0),
+ ],
+ q(mbangwe) => [
+ q(7732),
+ q(0),
+ ],
+ q(mbara (australia)) => [
+ q(4560),
+ q(0),
+ ],
+ q(mbara (chad)) => [
+ q(4415),
+ q(0),
+ ],
+ q(mbariman-gudhinma) => [
+ q(7740),
+ q(0),
+ ],
+ q(mbati) => [
+ q(4136),
+ q(0),
+ ],
+ q(mbato) => [
+ q(2640),
+ q(0),
+ ],
+ q(mbay) => [
+ q(4625),
+ q(0),
+ ],
+ q(mbe) => [
+ q(4185),
+ q(0),
+ ],
+ q(mbe') => [
+ q(4515),
+ q(0),
+ ],
+ q(mbelime) => [
+ q(4441),
+ q(0),
+ ],
+ q(mbere) => [
+ q(4140),
+ q(0),
+ ],
+ q(mbesa) => [
+ q(7737),
+ q(0),
+ ],
+ q(mbo (cameroon)) => [
+ q(4086),
+ q(0),
+ ],
+ q(mbo (democratic republic of congo)) => [
+ q(7741),
+ q(0),
+ ],
+ q(mboi) => [
+ q(4392),
+ q(0),
+ ],
+ q(mboko) => [
+ q(4141),
+ q(0),
+ ],
+ q(mbole) => [
+ q(4138),
+ q(0),
+ ],
+ q(mbonga) => [
+ q(7293),
+ q(0),
+ ],
+ q(mbongno) => [
+ q(1174),
+ q(0),
+ ],
+ q(mbosi) => [
+ q(4143),
+ q(0),
+ ],
+ q(mbowe) => [
+ q(4613),
+ q(0),
+ ],
+ q(mbre) => [
+ q(4292),
+ q(0),
+ ],
+ q(mbu') => [
+ q(4532),
+ q(0),
+ ],
+ q(mbudum) => [
+ q(7295),
+ q(0),
+ ],
+ q(mbugu) => [
+ q(4225),
+ q(0),
+ ],
+ q(mbugwe) => [
+ q(4221),
+ q(0),
+ ],
+ q(mbuko) => [
+ q(4432),
+ q(0),
+ ],
+ q(mbukushu) => [
+ q(4243),
+ q(0),
+ ],
+ q(mbula) => [
+ q(4364),
+ q(0),
+ ],
+ q(mbula-bwazza) => [
+ q(4092),
+ q(0),
+ ],
+ q(mbule) => [
+ q(4317),
+ q(0),
+ ],
+ q(mbulungish) => [
+ q(4093),
+ q(0),
+ ],
+ q(mbum) => [
+ q(4127),
+ q(0),
+ ],
+ q(mbunda) => [
+ q(4108),
+ q(0),
+ ],
+ q(mbunga) => [
+ q(4220),
+ q(0),
+ ],
+ q(mburku) => [
+ q(1051),
+ q(0),
+ ],
+ q(mbwela) => [
+ q(4191),
+ q(0),
+ ],
+ q(mbya guarani) => [
+ q(2615),
+ q(0),
+ ],
+ q(me'en) => [
+ q(4636),
+ q(0),
+ ],
+ q(mea) => [
+ q(4153),
+ q(0),
+ ],
+ q(medebur) => [
+ q(4278),
+ q(0),
+ ],
+ q(media lengua) => [
+ q(4534),
+ q(0),
+ ],
+ q(mediak) => [
+ q(4596),
+ q(0),
+ ],
+ q(median) => [
+ q(7296),
+ q(0),
+ ],
+ q(mednyj aleut) => [
+ q(4533),
+ q(0),
+ ],
+ q(medumba) => [
+ q(1604),
+ q(0),
+ ],
+ q(mefele) => [
+ q(4180),
+ q(0),
+ ],
+ q(megam) => [
+ q(4152),
+ q(0),
+ ],
+ q(megleno romanian) => [
+ q(5799),
+ q(0),
+ ],
+ q(mehek) => [
+ q(5069),
+ q(0),
+ ],
+ q(mehinaku) => [
+ q(4346),
+ q(0),
+ ],
+ q(mehri) => [
+ q(2438),
+ q(0),
+ ],
+ q(mekeo) => [
+ q(4157),
+ q(0),
+ ],
+ q(mekmek) => [
+ q(4559),
+ q(0),
+ ],
+ q(mekwei) => [
+ q(4485),
+ q(0),
+ ],
+ q(mele-fila) => [
+ q(4603),
+ q(0),
+ ],
+ q(melo) => [
+ q(4194),
+ q(0),
+ ],
+ q(melpa) => [
+ q(4150),
+ q(0),
+ ],
+ q(memoni) => [
+ q(4096),
+ q(0),
+ ],
+ q(mendalam kayan) => [
+ q(7257),
+ q(0),
+ ],
+ q(mendankwe-nkwen) => [
+ q(4174),
+ q(0),
+ ],
+ q(mende) => [
+ q(0277),
+ q(0),
+ ],
+ q(mende (papua new guinea)) => [
+ q(5971),
+ q(0),
+ ],
+ q(mende (sierra leone)) => [
+ q(0277),
+ q(1),
+ ],
+ q(mengaka) => [
+ q(7298),
+ q(0),
+ ],
+ q(mengen) => [
+ q(4151),
+ q(0),
+ ],
+ q(mengisa) => [
+ q(4117),
+ q(0),
+ ],
+ q(menka) => [
+ q(4147),
+ q(0),
+ ],
+ q(menominee) => [
+ q(4170),
+ q(0),
+ ],
+ q(mentawai) => [
+ q(4594),
+ q(0),
+ ],
+ q(menya) => [
+ q(4115),
+ q(0),
+ ],
+ q(meoswar) => [
+ q(4572),
+ q(0),
+ ],
+ q(mer) => [
+ q(4381),
+ q(0),
+ ],
+ q(meramera) => [
+ q(4611),
+ q(0),
+ ],
+ q(merei) => [
+ q(3923),
+ q(0),
+ ],
+ q(merey) => [
+ q(4162),
+ q(0),
+ ],
+ q(meriam) => [
+ q(6811),
+ q(0),
+ ],
+ q(merlav) => [
+ q(4467),
+ q(0),
+ ],
+ q(meroitic) => [
+ q(7308),
+ q(0),
+ ],
+ q(meru) => [
+ q(4163),
+ q(0),
+ ],
+ q(merwari) => [
+ q(7138),
+ q(0),
+ ],
+ q(mesaka) => [
+ q(2991),
+ q(0),
+ ],
+ q(mescalero-chiricahua apache) => [
+ q(0844),
+ q(0),
+ ],
+ q(mese) => [
+ q(4106),
+ q(0),
+ ],
+ q(meskwaki) => [
+ q(5814),
+ q(0),
+ ],
+ q(mesme) => [
+ q(7698),
+ q(0),
+ ],
+ q(mesmes) => [
+ q(4641),
+ q(0),
+ ],
+ q(mesopotamian arabic) => [
+ q(0591),
+ q(0),
+ ],
+ q(mesqan) => [
+ q(4574),
+ q(0),
+ ],
+ q(messapic) => [
+ q(1786),
+ q(0),
+ ],
+ q(meta') => [
+ q(4210),
+ q(0),
+ ],
+ q(metlatonoc mixtec) => [
+ q(4620),
+ q(0),
+ ],
+ q(mewari) => [
+ q(4522),
+ q(0),
+ ],
+ q(mewati) => [
+ q(7150),
+ q(0),
+ ],
+ q(mexican sign language) => [
+ q(4189),
+ q(0),
+ ],
+ q(meyah) => [
+ q(4156),
+ q(0),
+ ],
+ q(mezontla popoloca) => [
+ q(5301),
+ q(0),
+ ],
+ q(mezquital otomi) => [
+ q(5253),
+ q(0),
+ ],
+ q(mfinu) => [
+ q(7724),
+ q(0),
+ ],
+ q(mfumte) => [
+ q(4787),
+ q(0),
+ ],
+ q(mi'kmaq) => [
+ q(0279),
+ q(0),
+ ],
+ q(miahuatlan zapotec) => [
+ q(7662),
+ q(0),
+ ],
+ q(miami) => [
+ q(4247),
+ q(0),
+ ],
+ q(mian) => [
+ q(4424),
+ q(0),
+ ],
+ q(miani) => [
+ q(5423),
+ q(0),
+ ],
+ q(michif) => [
+ q(1841),
+ q(0),
+ ],
+ q(michigamea) => [
+ q(1782),
+ q(0),
+ ],
+ q(michoacan mazahua) => [
+ q(4341),
+ q(0),
+ ],
+ q(michoacan nahuatl) => [
+ q(4727),
+ q(0),
+ ],
+ q(micmac) => [
+ q(0279),
+ q(0),
+ ],
+ q(mid grand valley dani) => [
+ q(2087),
+ q(0),
+ ],
+ q(mid-southern banda) => [
+ q(1239),
+ q(0),
+ ],
+ q(middle armenian) => [
+ q(0985),
+ q(0),
+ ],
+ q(middle breton) => [
+ q(7198),
+ q(0),
+ ],
+ q(middle cornish) => [
+ q(1801),
+ q(0),
+ ],
+ q(middle dutch (ca. 1050-1350)) => [
+ q(0115),
+ q(1),
+ ],
+ q(middle english (1100-1500)) => [
+ q(0124),
+ q(1),
+ ],
+ q(middle french (ca. 1400-1600)) => [
+ q(0138),
+ q(1),
+ ],
+ q(middle high german (ca. 1050-1500)) => [
+ q(0157),
+ q(1),
+ ],
+ q(middle hittite) => [
+ q(2809),
+ q(0),
+ ],
+ q(middle irish (900-1200)) => [
+ q(0278),
+ q(1),
+ ],
+ q(middle korean (10th-16th cent.)) => [
+ q(5172),
+ q(0),
+ ],
+ q(middle low german) => [
+ q(2522),
+ q(0),
+ ],
+ q(middle mongolian) => [
+ q(7319),
+ q(0),
+ ],
+ q(middle newar) => [
+ q(5080),
+ q(0),
+ ],
+ q(middle watut) => [
+ q(4416),
+ q(0),
+ ],
+ q(middle welsh) => [
+ q(7071),
+ q(0),
+ ],
+ q(midob) => [
+ q(4155),
+ q(0),
+ ],
+ q(migaama) => [
+ q(4362),
+ q(0),
+ ],
+ q(migabac) => [
+ q(4420),
+ q(0),
+ ],
+ q(migum) => [
+ q(3387),
+ q(0),
+ ],
+ q(miji) => [
+ q(5988),
+ q(0),
+ ],
+ q(miju-mishmi) => [
+ q(4608),
+ q(0),
+ ],
+ q(mikasuki) => [
+ q(4256),
+ q(0),
+ ],
+ q(mili) => [
+ q(7548),
+ q(0),
+ ],
+ q(miltu) => [
+ q(4324),
+ q(0),
+ ],
+ q(miluk) => [
+ q(2920),
+ q(0),
+ ],
+ q(milyan) => [
+ q(2925),
+ q(0),
+ ],
+ q(min bei chinese) => [
+ q(4376),
+ q(0),
+ ],
+ q(min dong chinese) => [
+ q(1697),
+ q(0),
+ ],
+ q(min nan chinese) => [
+ q(4683),
+ q(0),
+ ],
+ q(min zhong chinese) => [
+ q(1925),
+ q(0),
+ ],
+ q(mina (cameroon)) => [
+ q(2760),
+ q(0),
+ ],
+ q(mina (india)) => [
+ q(4632),
+ q(0),
+ ],
+ q(minaean) => [
+ q(2930),
+ q(0),
+ ],
+ q(minangkabau) => [
+ q(0280),
+ q(0),
+ ],
+ q(minanibai) => [
+ q(4119),
+ q(0),
+ ],
+ q(minaveha) => [
+ q(4562),
+ q(0),
+ ],
+ q(minderico) => [
+ q(2113),
+ q(0),
+ ],
+ q(mindiri) => [
+ q(4418),
+ q(0),
+ ],
+ q(mingang doso) => [
+ q(4304),
+ q(0),
+ ],
+ q(mingrelian) => [
+ q(7297),
+ q(0),
+ ],
+ q(minica huitoto) => [
+ q(2806),
+ q(0),
+ ],
+ q(minidien) => [
+ q(7044),
+ q(0),
+ ],
+ q(minigir) => [
+ q(6939),
+ q(0),
+ ],
+ q(minoan) => [
+ q(5194),
+ q(0),
+ ],
+ q(minokok) => [
+ q(4446),
+ q(0),
+ ],
+ q(minriq) => [
+ q(4377),
+ q(0),
+ ],
+ q(mintil) => [
+ q(4665),
+ q(0),
+ ],
+ q(minz zhuang) => [
+ q(7686),
+ q(0),
+ ],
+ q(miqie) => [
+ q(7511),
+ q(0),
+ ],
+ q(mirandese) => [
+ q(0294),
+ q(0),
+ ],
+ q(miraya bikol) => [
+ q(5694),
+ q(0),
+ ],
+ q(mire) => [
+ q(4557),
+ q(0),
+ ],
+ q(mirgan) => [
+ q(7785),
+ q(0),
+ ],
+ q(miriti) => [
+ q(4359),
+ q(0),
+ ],
+ q(miriwung) => [
+ q(4161),
+ q(0),
+ ],
+ q(mirpur panjabi) => [
+ q(5462),
+ q(0),
+ ],
+ q(miship) => [
+ q(4284),
+ q(0),
+ ],
+ q(misima-paneati) => [
+ q(4428),
+ q(0),
+ ],
+ q(mising) => [
+ q(4462),
+ q(0),
+ ],
+ q(miskito) => [
+ q(4261),
+ q(0),
+ ],
+ q(mitla zapotec) => [
+ q(7670),
+ q(0),
+ ],
+ q(mitlatongo mixtec) => [
+ q(6945),
+ q(0),
+ ],
+ q(mittu) => [
+ q(4593),
+ q(0),
+ ],
+ q(mituku) => [
+ q(7735),
+ q(0),
+ ],
+ q(miu) => [
+ q(4419),
+ q(0),
+ ],
+ q(miwa) => [
+ q(6941),
+ q(0),
+ ],
+ q(mixed great andamanese) => [
+ q(2370),
+ q(0),
+ ],
+ q(mixifore) => [
+ q(4177),
+ q(0),
+ ],
+ q(mixtepec mixtec) => [
+ q(4266),
+ q(0),
+ ],
+ q(mixtepec zapotec) => [
+ q(7769),
+ q(0),
+ ],
+ q(miya) => [
+ q(4296),
+ q(0),
+ ],
+ q(miyako) => [
+ q(4558),
+ q(0),
+ ],
+ q(miyobe) => [
+ q(6103),
+ q(0),
+ ],
+ q(mlabri) => [
+ q(4456),
+ q(0),
+ ],
+ q(mlahso) => [
+ q(3858),
+ q(0),
+ ],
+ q(mlap) => [
+ q(3325),
+ q(0),
+ ],
+ q(mlomp) => [
+ q(4329),
+ q(0),
+ ],
+ q(mmaala) => [
+ q(4358),
+ q(0),
+ ],
+ q(mmen) => [
+ q(1142),
+ q(0),
+ ],
+ q(mo) => [
+ q(7060),
+ q(0),
+ ],
+ q(mo'da) => [
+ q(2404),
+ q(0),
+ ],
+ q(moabite) => [
+ q(5130),
+ q(0),
+ ],
+ q(moba) => [
+ q(4187),
+ q(0),
+ ],
+ q(mobilian) => [
+ q(4389),
+ q(0),
+ ],
+ q(mobumrin aizi) => [
+ q(0685),
+ q(0),
+ ],
+ q(mocheno) => [
+ q(4235),
+ q(0),
+ ],
+ q(mochi) => [
+ q(5181),
+ q(0),
+ ],
+ q(mochica) => [
+ q(5188),
+ q(0),
+ ],
+ q(mocho) => [
+ q(4224),
+ q(0),
+ ],
+ q(mocovi) => [
+ q(4388),
+ q(0),
+ ],
+ q(modang) => [
+ q(4602),
+ q(0),
+ ],
+ q(modern greek (1453-)) => [
+ q(0164),
+ q(1),
+ ],
+ q(modole) => [
+ q(4444),
+ q(0),
+ ],
+ q(moere) => [
+ q(4565),
+ q(0),
+ ],
+ q(mofu-gudur) => [
+ q(4251),
+ q(0),
+ ],
+ q(mogholi) => [
+ q(4231),
+ q(0),
+ ],
+ q(mogum) => [
+ q(4400),
+ q(0),
+ ],
+ q(mohave) => [
+ q(4401),
+ q(0),
+ ],
+ q(mohawk) => [
+ q(0288),
+ q(0),
+ ],
+ q(mohegan-pequot) => [
+ q(7346),
+ q(0),
+ ],
+ q(moi (congo)) => [
+ q(4402),
+ q(0),
+ ],
+ q(moi (indonesia)) => [
+ q(4612),
+ q(0),
+ ],
+ q(moikodi) => [
+ q(4305),
+ q(0),
+ ],
+ q(moingi) => [
+ q(4598),
+ q(0),
+ ],
+ q(moji) => [
+ q(7549),
+ q(0),
+ ],
+ q(mok) => [
+ q(4449),
+ q(0),
+ ],
+ q(moken) => [
+ q(4592),
+ q(0),
+ ],
+ q(mokerang) => [
+ q(4190),
+ q(0),
+ ],
+ q(mokilese) => [
+ q(4299),
+ q(0),
+ ],
+ q(moklen) => [
+ q(4302),
+ q(0),
+ ],
+ q(mokole) => [
+ q(4301),
+ q(0),
+ ],
+ q(mokpwe) => [
+ q(1424),
+ q(0),
+ ],
+ q(moksela) => [
+ q(6949),
+ q(0),
+ ],
+ q(moksha) => [
+ q(0275),
+ q(0),
+ ],
+ q(molale) => [
+ q(4077),
+ q(0),
+ ],
+ q(molbog) => [
+ q(5599),
+ q(0),
+ ],
+ q(moldavian) => [
+ q(0360),
+ q(0),
+ ],
+ q(moldova sign language) => [
+ q(6963),
+ q(0),
+ ],
+ q(moldovan) => [
+ q(0360),
+ q(0),
+ ],
+ q(molengue) => [
+ q(1563),
+ q(0),
+ ],
+ q(molima) => [
+ q(4403),
+ q(0),
+ ],
+ q(molmo one) => [
+ q(0943),
+ q(0),
+ ],
+ q(molo) => [
+ q(7733),
+ q(0),
+ ],
+ q(molof) => [
+ q(4491),
+ q(0),
+ ],
+ q(moloko) => [
+ q(4336),
+ q(0),
+ ],
+ q(mom jango) => [
+ q(6909),
+ q(0),
+ ],
+ q(moma) => [
+ q(4635),
+ q(0),
+ ],
+ q(momare) => [
+ q(4504),
+ q(0),
+ ],
+ q(mombo dogon) => [
+ q(2065),
+ q(0),
+ ],
+ q(mombum) => [
+ q(4494),
+ q(0),
+ ],
+ q(momina) => [
+ q(4340),
+ q(0),
+ ],
+ q(momuna) => [
+ q(4435),
+ q(0),
+ ],
+ q(mon) => [
+ q(4383),
+ q(0),
+ ],
+ q(mon-khmer languages) => [
+ q(0282),
+ q(0),
+ ],
+ q(monastic sign language) => [
+ q(4652),
+ q(0),
+ ],
+ q(monde) => [
+ q(4366),
+ q(0),
+ ],
+ q(mondropolon) => [
+ q(4988),
+ q(0),
+ ],
+ q(mong) => [
+ q(0179),
+ q(0),
+ ],
+ q(mong leng) => [
+ q(2765),
+ q(0),
+ ],
+ q(mong njua) => [
+ q(2765),
+ q(0),
+ ],
+ q(mongo) => [
+ q(0252),
+ q(0),
+ ],
+ q(mongol) => [
+ q(4215),
+ q(0),
+ ],
+ q(mongolia buriat) => [
+ q(1573),
+ q(0),
+ ],
+ q(mongolian) => [
+ q(0289),
+ q(0),
+ ],
+ q(mongolian languages) => [
+ q(0530),
+ q(0),
+ ],
+ q(mongolian sign language) => [
+ q(4497),
+ q(0),
+ ],
+ q(mongondow) => [
+ q(4391),
+ q(0),
+ ],
+ q(moni) => [
+ q(4386),
+ q(0),
+ ],
+ q(mono (cameroon)) => [
+ q(4475),
+ q(0),
+ ],
+ q(mono (democratic republic of congo)) => [
+ q(4370),
+ q(0),
+ ],
+ q(mono (solomon islands)) => [
+ q(4509),
+ q(0),
+ ],
+ q(mono (usa)) => [
+ q(4378),
+ q(0),
+ ],
+ q(monom) => [
+ q(4396),
+ q(0),
+ ],
+ q(monsang naga) => [
+ q(4921),
+ q(0),
+ ],
+ q(montagnais) => [
+ q(4390),
+ q(0),
+ ],
+ q(montol) => [
+ q(4516),
+ q(0),
+ ],
+ q(monumbo) => [
+ q(4609),
+ q(0),
+ ],
+ q(monzombo) => [
+ q(4393),
+ q(0),
+ ],
+ q(moo) => [
+ q(2646),
+ q(0),
+ ],
+ q(moose cree) => [
+ q(1846),
+ q(0),
+ ],
+ q(mopan maya) => [
+ q(4397),
+ q(0),
+ ],
+ q(mor (bomberai peninsula)) => [
+ q(4398),
+ q(0),
+ ],
+ q(mor (mor islands)) => [
+ q(4246),
+ q(0),
+ ],
+ q(moraid) => [
+ q(4486),
+ q(0),
+ ],
+ q(morawa) => [
+ q(4651),
+ q(0),
+ ],
+ q(morelos nahuatl) => [
+ q(4823),
+ q(0),
+ ],
+ q(morerebi) => [
+ q(7305),
+ q(0),
+ ],
+ q(moresada) => [
+ q(4502),
+ q(0),
+ ],
+ q(mori atas) => [
+ q(4662),
+ q(0),
+ ],
+ q(mori bawah) => [
+ q(7316),
+ q(0),
+ ],
+ q(morigi) => [
+ q(4125),
+ q(0),
+ ],
+ q(morisyen) => [
+ q(4175),
+ q(0),
+ ],
+ q(moro) => [
+ q(4399),
+ q(0),
+ ],
+ q(moroccan arabic) => [
+ q(0881),
+ q(0),
+ ],
+ q(moroccan sign language) => [
+ q(7309),
+ q(0),
+ ],
+ q(morokodo) => [
+ q(4198),
+ q(0),
+ ],
+ q(morom) => [
+ q(1097),
+ q(0),
+ ],
+ q(moronene) => [
+ q(4443),
+ q(0),
+ ],
+ q(morori) => [
+ q(4394),
+ q(0),
+ ],
+ q(morouas) => [
+ q(4470),
+ q(0),
+ ],
+ q(mortlockese) => [
+ q(4466),
+ q(0),
+ ],
+ q(moru) => [
+ q(4199),
+ q(0),
+ ],
+ q(mosimo) => [
+ q(4451),
+ q(0),
+ ],
+ q(mosiro) => [
+ q(4597),
+ q(0),
+ ],
+ q(moskona) => [
+ q(4514),
+ q(0),
+ ],
+ q(mossi) => [
+ q(0290),
+ q(0),
+ ],
+ q(mota) => [
+ q(4524),
+ q(0),
+ ],
+ q(motlav) => [
+ q(4335),
+ q(0),
+ ],
+ q(motu) => [
+ q(4166),
+ q(0),
+ ],
+ q(mouk-aria) => [
+ q(4582),
+ q(0),
+ ],
+ q(mountain koiali) => [
+ q(3493),
+ q(0),
+ ],
+ q(movima) => [
+ q(4661),
+ q(0),
+ ],
+ q(moyadan itneg) => [
+ q(2979),
+ q(0),
+ ],
+ q(moyon naga) => [
+ q(4928),
+ q(0),
+ ],
+ q(mozambican sign language) => [
+ q(4670),
+ q(0),
+ ],
+ q(mozarabic) => [
+ q(4607),
+ q(0),
+ ],
+ q(mpade) => [
+ q(4413),
+ q(0),
+ ],
+ q(mpi) => [
+ q(4430),
+ q(0),
+ ],
+ q(mpiemo) => [
+ q(4121),
+ q(0),
+ ],
+ q(mpongmpong) => [
+ q(4202),
+ q(0),
+ ],
+ q(mpoto) => [
+ q(4406),
+ q(0),
+ ],
+ q(mpotovoro) => [
+ q(4568),
+ q(0),
+ ],
+ q(mpuono) => [
+ q(7734),
+ q(0),
+ ],
+ q(mpur) => [
+ q(0723),
+ q(0),
+ ],
+ q(mro chin) => [
+ q(1785),
+ q(0),
+ ],
+ q(mru) => [
+ q(4469),
+ q(0),
+ ],
+ q(mser) => [
+ q(3519),
+ q(0),
+ ],
+ q(mt. iraya agta) => [
+ q(0916),
+ q(0),
+ ],
+ q(mt. iriga agta) => [
+ q(0677),
+ q(0),
+ ],
+ q(mualang) => [
+ q(4508),
+ q(0),
+ ],
+ q(mubami) => [
+ q(6652),
+ q(0),
+ ],
+ q(mubi) => [
+ q(4531),
+ q(0),
+ ],
+ q(muda) => [
+ q(7545),
+ q(0),
+ ],
+ q(mudbura) => [
+ q(4578),
+ q(0),
+ ],
+ q(mudhili gadaba) => [
+ q(2388),
+ q(0),
+ ],
+ q(mudu koraga) => [
+ q(6936),
+ q(0),
+ ],
+ q(muduapa) => [
+ q(7053),
+ q(0),
+ ],
+ q(muduga) => [
+ q(6780),
+ q(0),
+ ],
+ q(mufian) => [
+ q(0823),
+ q(0),
+ ],
+ q(mugom) => [
+ q(4539),
+ q(0),
+ ],
+ q(muinane) => [
+ q(1314),
+ q(0),
+ ],
+ q(mukha-dora) => [
+ q(4349),
+ q(0),
+ ],
+ q(mukulu) => [
+ q(4405),
+ q(0),
+ ],
+ q(mulaha) => [
+ q(4193),
+ q(0),
+ ],
+ q(mulam) => [
+ q(4327),
+ q(0),
+ ],
+ q(mullu kurumba) => [
+ q(3472),
+ q(0),
+ ],
+ q(mullukmulluk) => [
+ q(4407),
+ q(0),
+ ],
+ q(multiple languages) => [
+ q(0291),
+ q(0),
+ ],
+ q(muluridyi) => [
+ q(6950),
+ q(0),
+ ],
+ q(mum) => [
+ q(3496),
+ q(0),
+ ],
+ q(mumuye) => [
+ q(4658),
+ q(0),
+ ],
+ q(mun chin) => [
+ q(4590),
+ q(0),
+ ],
+ q(muna) => [
+ q(4365),
+ q(0),
+ ],
+ q(munda) => [
+ q(6836),
+ q(0),
+ ],
+ q(munda languages) => [
+ q(0292),
+ q(0),
+ ],
+ q(mundabli) => [
+ q(1349),
+ q(0),
+ ],
+ q(mundang) => [
+ q(4530),
+ q(0),
+ ],
+ q(mundani) => [
+ q(4368),
+ q(0),
+ ],
+ q(mundari) => [
+ q(6835),
+ q(0),
+ ],
+ q(mundat) => [
+ q(4344),
+ q(0),
+ ],
+ q(mundu) => [
+ q(4536),
+ q(0),
+ ],
+ q(munduruku) => [
+ q(4642),
+ q(0),
+ ],
+ q(mungaka) => [
+ q(4232),
+ q(0),
+ ],
+ q(munggui) => [
+ q(4512),
+ q(0),
+ ],
+ q(mungkip) => [
+ q(4426),
+ q(0),
+ ],
+ q(muniche) => [
+ q(4640),
+ q(0),
+ ],
+ q(munit) => [
+ q(4507),
+ q(0),
+ ],
+ q(munji) => [
+ q(4371),
+ q(0),
+ ],
+ q(munsee) => [
+ q(6828),
+ q(0),
+ ],
+ q(muong) => [
+ q(4521),
+ q(0),
+ ],
+ q(muratayak) => [
+ q(0904),
+ q(0),
+ ],
+ q(murik (malaysia)) => [
+ q(4616),
+ q(0),
+ ],
+ q(murik (papua new guinea)) => [
+ q(4510),
+ q(0),
+ ],
+ q(murkim) => [
+ q(5744),
+ q(0),
+ ],
+ q(murle) => [
+ q(4544),
+ q(0),
+ ],
+ q(murrinh-patha) => [
+ q(4580),
+ q(0),
+ ],
+ q(mursi) => [
+ q(4550),
+ q(0),
+ ],
+ q(murui huitoto) => [
+ q(2827),
+ q(0),
+ ],
+ q(murupi) => [
+ q(4452),
+ q(0),
+ ],
+ q(muruwari) => [
+ q(7739),
+ q(0),
+ ],
+ q(musak) => [
+ q(4355),
+ q(0),
+ ],
+ q(musar) => [
+ q(4347),
+ q(0),
+ ],
+ q(musasa) => [
+ q(6051),
+ q(0),
+ ],
+ q(musey) => [
+ q(4484),
+ q(0),
+ ],
+ q(musgu) => [
+ q(4535),
+ q(0),
+ ],
+ q(mushungulu) => [
+ q(7292),
+ q(0),
+ ],
+ q(musi) => [
+ q(4537),
+ q(0),
+ ],
+ q(muskum) => [
+ q(4271),
+ q(0),
+ ],
+ q(muslim tat) => [
+ q(6674),
+ q(0),
+ ],
+ q(musom) => [
+ q(4499),
+ q(0),
+ ],
+ q(mussau-emira) => [
+ q(2229),
+ q(0),
+ ],
+ q(muthuvan) => [
+ q(4547),
+ q(0),
+ ],
+ q(mutu) => [
+ q(6682),
+ q(0),
+ ],
+ q(muya) => [
+ q(4561),
+ q(0),
+ ],
+ q(muyang) => [
+ q(4549),
+ q(0),
+ ],
+ q(muyuw) => [
+ q(4643),
+ q(0),
+ ],
+ q(muzi) => [
+ q(7561),
+ q(0),
+ ],
+ q(mvanip) => [
+ q(4107),
+ q(0),
+ ],
+ q(mvuba) => [
+ q(4606),
+ q(0),
+ ],
+ q(mwaghavul) => [
+ q(6208),
+ q(0),
+ ],
+ q(mwali comorian) => [
+ q(7065),
+ q(0),
+ ],
+ q(mwan) => [
+ q(4387),
+ q(0),
+ ],
+ q(mwani) => [
+ q(7092),
+ q(0),
+ ],
+ q(mwatebu) => [
+ q(4575),
+ q(0),
+ ],
+ q(mwera (chimwera)) => [
+ q(4579),
+ q(0),
+ ],
+ q(mwera (nyasa)) => [
+ q(4273),
+ q(0),
+ ],
+ q(mwerlap) => [
+ q(4467),
+ q(0),
+ ],
+ q(mwimbi-muthambi) => [
+ q(4591),
+ q(0),
+ ],
+ q(mwotlap) => [
+ q(4335),
+ q(0),
+ ],
+ q(mycenaean greek) => [
+ q(2528),
+ q(0),
+ ],
+ q(myene) => [
+ q(4628),
+ q(0),
+ ],
+ q(mysian) => [
+ q(7558),
+ q(0),
+ ],
+ q(mzieme naga) => [
+ q(4918),
+ q(0),
+ ],
+ q(n'ko) => [
+ q(0317),
+ q(0),
+ ],
+ q(n/u) => [
+ q(4794),
+ q(0),
+ ],
+ q(na) => [
+ q(4710),
+ q(0),
+ ],
+ q(na-dene languages) => [
+ q(0531),
+ q(0),
+ ],
+ q(na-meo) => [
+ q(4774),
+ q(0),
+ ],
+ q(naaba) => [
+ q(4684),
+ q(0),
+ ],
+ q(naasioi) => [
+ q(4687),
+ q(0),
+ ],
+ q(naba) => [
+ q(4367),
+ q(0),
+ ],
+ q(nabak) => [
+ q(4677),
+ q(0),
+ ],
+ q(nabi) => [
+ q(4529),
+ q(0),
+ ],
+ q(nachering) => [
+ q(4719),
+ q(0),
+ ],
+ q(nadeb) => [
+ q(4081),
+ q(0),
+ ],
+ q(nadruvian) => [
+ q(4742),
+ q(0),
+ ],
+ q(nafaanra) => [
+ q(4786),
+ q(0),
+ ],
+ q(nafi) => [
+ q(6137),
+ q(0),
+ ],
+ q(nafri) => [
+ q(5093),
+ q(0),
+ ],
+ q(nafusi) => [
+ q(3018),
+ q(0),
+ ],
+ q(naga pidgin) => [
+ q(4678),
+ q(0),
+ ],
+ q(nagarchal) => [
+ q(4698),
+ q(0),
+ ],
+ q(nage) => [
+ q(5084),
+ q(0),
+ ],
+ q(nagu) => [
+ q(4804),
+ q(0),
+ ],
+ q(nagumi) => [
+ q(4808),
+ q(0),
+ ],
+ q(naha'ai) => [
+ q(4337),
+ q(0),
+ ],
+ q(nahali) => [
+ q(4911),
+ q(0),
+ ],
+ q(nahari) => [
+ q(4820),
+ q(0),
+ ],
+ q(nahavaq) => [
+ q(6077),
+ q(0),
+ ],
+ q(nahuatl languages) => [
+ q(0298),
+ q(0),
+ ],
+ q(nai) => [
+ q(1214),
+ q(0),
+ ],
+ q(najdi arabic) => [
+ q(0877),
+ q(0),
+ ],
+ q(naka'ela) => [
+ q(4676),
+ q(0),
+ ],
+ q(nakai) => [
+ q(4883),
+ q(0),
+ ],
+ q(nakame) => [
+ q(4836),
+ q(0),
+ ],
+ q(nakanai) => [
+ q(4680),
+ q(0),
+ ],
+ q(nakara) => [
+ q(4726),
+ q(0),
+ ],
+ q(nake) => [
+ q(4702),
+ q(0),
+ ],
+ q(naki) => [
+ q(4176),
+ q(0),
+ ],
+ q(nakwi) => [
+ q(4690),
+ q(0),
+ ],
+ q(nalca) => [
+ q(4899),
+ q(0),
+ ],
+ q(nali) => [
+ q(5026),
+ q(0),
+ ],
+ q(nalik) => [
+ q(4681),
+ q(0),
+ ],
+ q(nalogo) => [
+ q(4913),
+ q(0),
+ ],
+ q(nalu) => [
+ q(4679),
+ q(0),
+ ],
+ q(naluo yi) => [
+ q(7538),
+ q(0),
+ ],
+ q(nama (namibia)) => [
+ q(4685),
+ q(0),
+ ],
+ q(nama (papua new guinea)) => [
+ q(4937),
+ q(0),
+ ],
+ q(namakura) => [
+ q(4924),
+ q(0),
+ ],
+ q(namat) => [
+ q(4885),
+ q(0),
+ ],
+ q(nambo) => [
+ q(4728),
+ q(0),
+ ],
+ q(nambya) => [
+ q(4930),
+ q(0),
+ ],
+ q(namia) => [
+ q(4952),
+ q(0),
+ ],
+ q(namiae) => [
+ q(5073),
+ q(0),
+ ],
+ q(namibian sign language) => [
+ q(4709),
+ q(0),
+ ],
+ q(namla) => [
+ q(4672),
+ q(0),
+ ],
+ q(namo) => [
+ q(4621),
+ q(0),
+ ],
+ q(namonuito) => [
+ q(4933),
+ q(0),
+ ],
+ q(namosi-naitasiri-serua) => [
+ q(1537),
+ q(0),
+ ],
+ q(namuyi) => [
+ q(4938),
+ q(0),
+ ],
+ q(nanai) => [
+ q(2509),
+ q(0),
+ ],
+ q(nancere) => [
+ q(4942),
+ q(0),
+ ],
+ q(nande) => [
+ q(4941),
+ q(0),
+ ],
+ q(nandi) => [
+ q(4849),
+ q(0),
+ ],
+ q(nanerige senoufo) => [
+ q(5902),
+ q(0),
+ ],
+ q(nanga dama dogon) => [
+ q(5122),
+ q(0),
+ ],
+ q(nanggu) => [
+ q(4804),
+ q(0),
+ ],
+ q(nangikurrunggurr) => [
+ q(4682),
+ q(0),
+ ],
+ q(nankina) => [
+ q(4950),
+ q(0),
+ ],
+ q(nanti) => [
+ q(1821),
+ q(0),
+ ],
+ q(nanticoke) => [
+ q(4958),
+ q(0),
+ ],
+ q(nanubae) => [
+ q(0645),
+ q(0),
+ ],
+ q(napo lowland quechua) => [
+ q(5643),
+ q(0),
+ ],
+ q(napu) => [
+ q(4992),
+ q(0),
+ ],
+ q(nar phu) => [
+ q(4984),
+ q(0),
+ ],
+ q(nara) => [
+ q(4998),
+ q(0),
+ ],
+ q(narak) => [
+ q(4674),
+ q(0),
+ ],
+ q(narango) => [
+ q(5001),
+ q(0),
+ ],
+ q(narau) => [
+ q(5092),
+ q(0),
+ ],
+ q(narim) => [
+ q(3966),
+ q(0),
+ ],
+ q(naro) => [
+ q(4828),
+ q(0),
+ ],
+ q(narom) => [
+ q(5004),
+ q(0),
+ ],
+ q(narragansett) => [
+ q(7325),
+ q(0),
+ ],
+ q(narrinyeri) => [
+ q(4691),
+ q(0),
+ ],
+ q(narua) => [
+ q(5009),
+ q(0),
+ ],
+ q(narungga) => [
+ q(4956),
+ q(0),
+ ],
+ q(nasal) => [
+ q(5032),
+ q(0),
+ ],
+ q(nasarian) => [
+ q(5072),
+ q(0),
+ ],
+ q(naskapi) => [
+ q(5019),
+ q(0),
+ ],
+ q(natagaimas) => [
+ q(5042),
+ q(0),
+ ],
+ q(natanzi) => [
+ q(5046),
+ q(0),
+ ],
+ q(nataoran amis) => [
+ q(0709),
+ q(0),
+ ],
+ q(natchez) => [
+ q(4737),
+ q(0),
+ ],
+ q(nateni) => [
+ q(5038),
+ q(0),
+ ],
+ q(nathembo) => [
+ q(5034),
+ q(0),
+ ],
+ q(natioro) => [
+ q(5035),
+ q(0),
+ ],
+ q(natugu) => [
+ q(5043),
+ q(0),
+ ],
+ q(nauete) => [
+ q(5082),
+ q(0),
+ ],
+ q(naukan yupik) => [
+ q(7567),
+ q(0),
+ ],
+ q(nauna) => [
+ q(4729),
+ q(0),
+ ],
+ q(nauru) => [
+ q(0301),
+ q(0),
+ ],
+ q(navaho) => [
+ q(0302),
+ q(0),
+ ],
+ q(navajo) => [
+ q(0302),
+ q(0),
+ ],
+ q(navut) => [
+ q(5030),
+ q(0),
+ ],
+ q(nawaru) => [
+ q(5079),
+ q(0),
+ ],
+ q(nawathinehena) => [
+ q(5074),
+ q(0),
+ ],
+ q(nawdm) => [
+ q(4939),
+ q(0),
+ ],
+ q(nawuri) => [
+ q(4689),
+ q(0),
+ ],
+ q(naxi) => [
+ q(5090),
+ q(0),
+ ],
+ q(nayi) => [
+ q(4983),
+ q(0),
+ ],
+ q(nayini) => [
+ q(5106),
+ q(0),
+ ],
+ q(ncane) => [
+ q(4732),
+ q(0),
+ ],
+ q(nchumbulu) => [
+ q(4909),
+ q(0),
+ ],
+ q(nda'nda') => [
+ q(4964),
+ q(0),
+ ],
+ q(ndai) => [
+ q(2505),
+ q(0),
+ ],
+ q(ndaka) => [
+ q(4747),
+ q(0),
+ ],
+ q(ndaktup) => [
+ q(4731),
+ q(0),
+ ],
+ q(ndali) => [
+ q(4744),
+ q(0),
+ ],
+ q(ndam) => [
+ q(4749),
+ q(0),
+ ],
+ q(ndamba) => [
+ q(4746),
+ q(0),
+ ],
+ q(ndasa) => [
+ q(4738),
+ q(0),
+ ],
+ q(ndau) => [
+ q(4740),
+ q(0),
+ ],
+ q(nde-gbite) => [
+ q(4764),
+ q(0),
+ ],
+ q(nde-nsele-nta) => [
+ q(4741),
+ q(0),
+ ],
+ q(ndebele, north) => [
+ q(0304),
+ q(0),
+ ],
+ q(ndebele, south) => [
+ q(0303),
+ q(0),
+ ],
+ q(ndemli) => [
+ q(4925),
+ q(0),
+ ],
+ q(ndendeule) => [
+ q(2081),
+ q(0),
+ ],
+ q(ndengereko) => [
+ q(4743),
+ q(0),
+ ],
+ q(nding) => [
+ q(2219),
+ q(0),
+ ],
+ q(ndo) => [
+ q(4751),
+ q(0),
+ ],
+ q(ndobo) => [
+ q(4757),
+ q(0),
+ ],
+ q(ndoe) => [
+ q(4694),
+ q(0),
+ ],
+ q(ndogo) => [
+ q(4760),
+ q(0),
+ ],
+ q(ndolo) => [
+ q(4748),
+ q(0),
+ ],
+ q(ndom) => [
+ q(4995),
+ q(0),
+ ],
+ q(ndombe) => [
+ q(4752),
+ q(0),
+ ],
+ q(ndonde hamba) => [
+ q(4860),
+ q(0),
+ ],
+ q(ndonga) => [
+ q(0305),
+ q(0),
+ ],
+ q(ndoola) => [
+ q(4753),
+ q(0),
+ ],
+ q(nduga) => [
+ q(4758),
+ q(0),
+ ],
+ q(ndumu) => [
+ q(4917),
+ q(0),
+ ],
+ q(ndunda) => [
+ q(5053),
+ q(0),
+ ],
+ q(ndunga) => [
+ q(4754),
+ q(0),
+ ],
+ q(ndut) => [
+ q(4756),
+ q(0),
+ ],
+ q(ndyuka-trio pidgin) => [
+ q(4870),
+ q(0),
+ ],
+ q(ndzwani comorian) => [
+ q(7099),
+ q(0),
+ ],
+ q(neapolitan) => [
+ q(0300),
+ q(0),
+ ],
+ q(nedebang) => [
+ q(4763),
+ q(0),
+ ],
+ q(nefamese) => [
+ q(4766),
+ q(0),
+ ],
+ q(negerhollands) => [
+ q(1966),
+ q(0),
+ ],
+ q(negeri sembilan malay) => [
+ q(7727),
+ q(0),
+ ],
+ q(negidal) => [
+ q(4767),
+ q(0),
+ ],
+ q(nehan) => [
+ q(5022),
+ q(0),
+ ],
+ q(nek) => [
+ q(4839),
+ q(0),
+ ],
+ q(nekgini) => [
+ q(4880),
+ q(0),
+ ],
+ q(neko) => [
+ q(4770),
+ q(0),
+ ],
+ q(neku) => [
+ q(4771),
+ q(0),
+ ],
+ q(nelemwa-nixumwak) => [
+ q(4765),
+ q(0),
+ ],
+ q(neme) => [
+ q(4780),
+ q(0),
+ ],
+ q(nemi) => [
+ q(4772),
+ q(0),
+ ],
+ q(nen) => [
+ q(4996),
+ q(0),
+ ],
+ q(nend) => [
+ q(0796),
+ q(0),
+ ],
+ q(nenets) => [
+ q(7596),
+ q(0),
+ ],
+ q(nenge) => [
+ q(2048),
+ q(0),
+ ],
+ q(nengone) => [
+ q(4773),
+ q(0),
+ ],
+ q(neo-hittite) => [
+ q(4769),
+ q(0),
+ ],
+ q(nepal bhasa) => [
+ q(0308),
+ q(0),
+ ],
+ q(nepalese sign language) => [
+ q(5023),
+ q(0),
+ ],
+ q(nepali) => [
+ q(0307),
+ q(0),
+ ],
+ q(nepali kurux) => [
+ q(3677),
+ q(0),
+ ],
+ q(nete) => [
+ q(4778),
+ q(0),
+ ],
+ q(neve'ei) => [
+ q(6957),
+ q(0),
+ ],
+ q(neverver) => [
+ q(3842),
+ q(0),
+ ],
+ q(new caledonian javanese) => [
+ q(3010),
+ q(0),
+ ],
+ q(new zealand sign language) => [
+ q(5119),
+ q(0),
+ ],
+ q(newari) => [
+ q(0308),
+ q(0),
+ ],
+ q(neyo) => [
+ q(4781),
+ q(0),
+ ],
+ q(nez perce) => [
+ q(4782),
+ q(0),
+ ],
+ q(nga la) => [
+ q(2735),
+ q(0),
+ ],
+ q(ngaanyatjarra) => [
+ q(5036),
+ q(0),
+ ],
+ q(ngabere) => [
+ q(2663),
+ q(0),
+ ],
+ q(ngad'a) => [
+ q(5085),
+ q(0),
+ ],
+ q(ngadjunmaya) => [
+ q(4871),
+ q(0),
+ ],
+ q(ngaing) => [
+ q(4945),
+ q(0),
+ ],
+ q(ngaju) => [
+ q(4843),
+ q(0),
+ ],
+ q(ngala) => [
+ q(5049),
+ q(0),
+ ],
+ q(ngalakan) => [
+ q(4840),
+ q(0),
+ ],
+ q(ngalkbun) => [
+ q(4797),
+ q(0),
+ ],
+ q(ngalum) => [
+ q(6269),
+ q(0),
+ ],
+ q(ngam) => [
+ q(4916),
+ q(0),
+ ],
+ q(ngamambo) => [
+ q(4712),
+ q(0),
+ ],
+ q(ngambay) => [
+ q(5829),
+ q(0),
+ ],
+ q(ngamini) => [
+ q(4935),
+ q(0),
+ ],
+ q(ngamo) => [
+ q(4699),
+ q(0),
+ ],
+ q(nganasan) => [
+ q(4848),
+ q(0),
+ ],
+ q(ngandi) => [
+ q(4837),
+ q(0),
+ ],
+ q(ngando (central african republic)) => [
+ q(4791),
+ q(0),
+ ],
+ q(ngando (democratic republic of congo)) => [
+ q(5083),
+ q(0),
+ ],
+ q(ngandyera) => [
+ q(4944),
+ q(0),
+ ],
+ q(ngangam) => [
+ q(2534),
+ q(0),
+ ],
+ q(nganyaywana) => [
+ q(5113),
+ q(0),
+ ],
+ q(ngarinman) => [
+ q(4701),
+ q(0),
+ ],
+ q(ngarinyin) => [
+ q(6831),
+ q(0),
+ ],
+ q(ngarla) => [
+ q(4908),
+ q(0),
+ ],
+ q(ngarluma) => [
+ q(5003),
+ q(0),
+ ],
+ q(ngas) => [
+ q(0792),
+ q(0),
+ ],
+ q(ngasa) => [
+ q(5016),
+ q(0),
+ ],
+ q(ngatik men's creole) => [
+ q(4799),
+ q(0),
+ ],
+ q(ngawn chin) => [
+ q(1800),
+ q(0),
+ ],
+ q(ngawun) => [
+ q(5089),
+ q(0),
+ ],
+ q(ngazidja comorian) => [
+ q(7680),
+ q(0),
+ ],
+ q(ngbaka) => [
+ q(4788),
+ q(0),
+ ],
+ q(ngbaka ma'bo) => [
+ q(4703),
+ q(0),
+ ],
+ q(ngbaka manza) => [
+ q(4793),
+ q(0),
+ ],
+ q(ngbee) => [
+ q(3038),
+ q(0),
+ ],
+ q(ngbinda) => [
+ q(4696),
+ q(0),
+ ],
+ q(ngbundu) => [
+ q(5066),
+ q(0),
+ ],
+ q(ngelima) => [
+ q(0660),
+ q(0),
+ ],
+ q(ngemba) => [
+ q(4792),
+ q(0),
+ ],
+ q(ngeq) => [
+ q(4806),
+ q(0),
+ ],
+ q(ngete) => [
+ q(4953),
+ q(0),
+ ],
+ q(nggem) => [
+ q(4707),
+ q(0),
+ ],
+ q(nggwahyi) => [
+ q(4810),
+ q(0),
+ ],
+ q(ngie) => [
+ q(4796),
+ q(0),
+ ],
+ q(ngiemboon) => [
+ q(4947),
+ q(0),
+ ],
+ q(ngile) => [
+ q(3061),
+ q(0),
+ ],
+ q(ngindo) => [
+ q(4955),
+ q(0),
+ ],
+ q(ngiti) => [
+ q(4856),
+ q(0),
+ ],
+ q(ngizim) => [
+ q(4795),
+ q(0),
+ ],
+ q(ngkalmpw kanum) => [
+ q(3157),
+ q(0),
+ ],
+ q(ngom) => [
+ q(4997),
+ q(0),
+ ],
+ q(ngomba) => [
+ q(3040),
+ q(0),
+ ],
+ q(ngombale) => [
+ q(4898),
+ q(0),
+ ],
+ q(ngombe (central african republic)) => [
+ q(4923),
+ q(0),
+ ],
+ q(ngombe (democratic republic of congo)) => [
+ q(4790),
+ q(0),
+ ],
+ q(ngong) => [
+ q(4962),
+ q(0),
+ ],
+ q(ngongo) => [
+ q(4976),
+ q(0),
+ ],
+ q(ngoni) => [
+ q(4801),
+ q(0),
+ ],
+ q(ngoreme) => [
+ q(4803),
+ q(0),
+ ],
+ q(ngoshie) => [
+ q(5017),
+ q(0),
+ ],
+ q(ngul) => [
+ q(4907),
+ q(0),
+ ],
+ q(ngulu) => [
+ q(4802),
+ q(0),
+ ],
+ q(nguluwan) => [
+ q(5068),
+ q(0),
+ ],
+ q(ngumbi) => [
+ q(5054),
+ q(0),
+ ],
+ q(ngundi) => [
+ q(4750),
+ q(0),
+ ],
+ q(ngundu) => [
+ q(5050),
+ q(0),
+ ],
+ q(ngungwel) => [
+ q(4812),
+ q(0),
+ ],
+ q(nguon) => [
+ q(5060),
+ q(0),
+ ],
+ q(ngura) => [
+ q(4714),
+ q(0),
+ ],
+ q(ngurimi) => [
+ q(4803),
+ q(0),
+ ],
+ q(ngurmbur) => [
+ q(5010),
+ q(0),
+ ],
+ q(ngwaba) => [
+ q(4809),
+ q(0),
+ ],
+ q(ngwe) => [
+ q(5076),
+ q(0),
+ ],
+ q(ngwo) => [
+ q(4800),
+ q(0),
+ ],
+ q(nhanda) => [
+ q(4813),
+ q(0),
+ ],
+ q(nhengatu) => [
+ q(7597),
+ q(0),
+ ],
+ q(nhuwala) => [
+ q(4818),
+ q(0),
+ ],
+ q(nias) => [
+ q(0309),
+ q(0),
+ ],
+ q(nicaragua creole english) => [
+ q(1619),
+ q(0),
+ ],
+ q(nicaraguan sign language) => [
+ q(4733),
+ q(0),
+ ],
+ q(nicarao) => [
+ q(5510),
+ q(0),
+ ],
+ q(niellim) => [
+ q(4838),
+ q(0),
+ ],
+ q(niger-kordofanian languages) => [
+ q(0310),
+ q(0),
+ ],
+ q(nigeria mambila) => [
+ q(4656),
+ q(0),
+ ],
+ q(nigerian fulfulde) => [
+ q(2364),
+ q(0),
+ ],
+ q(nigerian pidgin) => [
+ q(5329),
+ q(0),
+ ],
+ q(nigerian sign language) => [
+ q(5018),
+ q(0),
+ ],
+ q(nihali) => [
+ q(4905),
+ q(0),
+ ],
+ q(nii) => [
+ q(4842),
+ q(0),
+ ],
+ q(nijadali) => [
+ q(4675),
+ q(0),
+ ],
+ q(niksek) => [
+ q(2395),
+ q(0),
+ ],
+ q(nila) => [
+ q(4845),
+ q(0),
+ ],
+ q(nilamba) => [
+ q(4846),
+ q(0),
+ ],
+ q(nilo-saharan languages) => [
+ q(0406),
+ q(0),
+ ],
+ q(nimadi) => [
+ q(4968),
+ q(0),
+ ],
+ q(nimanbur) => [
+ q(4929),
+ q(0),
+ ],
+ q(nimbari) => [
+ q(4931),
+ q(0),
+ ],
+ q(nimboran) => [
+ q(4850),
+ q(0),
+ ],
+ q(nimi) => [
+ q(4851),
+ q(0),
+ ],
+ q(nimo) => [
+ q(4854),
+ q(0),
+ ],
+ q(nimoa) => [
+ q(4936),
+ q(0),
+ ],
+ q(ninam) => [
+ q(5938),
+ q(0),
+ ],
+ q(ninde) => [
+ q(4583),
+ q(0),
+ ],
+ q(nindi) => [
+ q(5086),
+ q(0),
+ ],
+ q(ningera) => [
+ q(4715),
+ q(0),
+ ],
+ q(ninggerum) => [
+ q(5091),
+ q(0),
+ ],
+ q(ningil) => [
+ q(4857),
+ q(0),
+ ],
+ q(ningye) => [
+ q(4957),
+ q(0),
+ ],
+ q(ninia yali) => [
+ q(4904),
+ q(0),
+ ],
+ q(ninzo) => [
+ q(4847),
+ q(0),
+ ],
+ q(nipsan) => [
+ q(4990),
+ q(0),
+ ],
+ q(nisa) => [
+ q(4869),
+ q(0),
+ ],
+ q(nisenan) => [
+ q(5033),
+ q(0),
+ ],
+ q(nisga'a) => [
+ q(4722),
+ q(0),
+ ],
+ q(nisi (china)) => [
+ q(7605),
+ q(0),
+ ],
+ q(nisi (india)) => [
+ q(1939),
+ q(0),
+ ],
+ q(niuafo'ou) => [
+ q(5058),
+ q(0),
+ ],
+ q(niuatoputapu) => [
+ q(4888),
+ q(0),
+ ],
+ q(niuean) => [
+ q(0311),
+ q(0),
+ ],
+ q(nivacle) => [
+ q(1640),
+ q(0),
+ ],
+ q(njalgulgule) => [
+ q(4864),
+ q(0),
+ ],
+ q(njebi) => [
+ q(5116),
+ q(0),
+ ],
+ q(njen) => [
+ q(4863),
+ q(0),
+ ],
+ q(njerep) => [
+ q(4868),
+ q(0),
+ ],
+ q(njyem) => [
+ q(4873),
+ q(0),
+ ],
+ q(nkami) => [
+ q(4889),
+ q(0),
+ ],
+ q(nkangala) => [
+ q(4886),
+ q(0),
+ ],
+ q(nkari) => [
+ q(4897),
+ q(0),
+ ],
+ q(nkem-nkum) => [
+ q(2958),
+ q(0),
+ ],
+ q(nkhumbi) => [
+ q(3296),
+ q(0),
+ ],
+ q(nkongho) => [
+ q(4876),
+ q(0),
+ ],
+ q(nkonya) => [
+ q(4887),
+ q(0),
+ ],
+ q(nkoroo) => [
+ q(4896),
+ q(0),
+ ],
+ q(nkoya) => [
+ q(4874),
+ q(0),
+ ],
+ q(nkukoli) => [
+ q(4705),
+ q(0),
+ ],
+ q(nkutu) => [
+ q(4895),
+ q(0),
+ ],
+ q(nnam) => [
+ q(4706),
+ q(0),
+ ],
+ q(no linguistic content) => [
+ q(0484),
+ q(0),
+ ],
+ q(nobiin) => [
+ q(2317),
+ q(0),
+ ],
+ q(nobonob) => [
+ q(2389),
+ q(0),
+ ],
+ q(nocaman) => [
+ q(4974),
+ q(0),
+ ],
+ q(nocte naga) => [
+ q(4859),
+ q(0),
+ ],
+ q(nogai) => [
+ q(0314),
+ q(0),
+ ],
+ q(noiri) => [
+ q(4971),
+ q(0),
+ ],
+ q(nokuku) => [
+ q(4884),
+ q(0),
+ ],
+ q(nomaande) => [
+ q(3822),
+ q(0),
+ ],
+ q(nomane) => [
+ q(4969),
+ q(0),
+ ],
+ q(nomatsiguenga) => [
+ q(4978),
+ q(0),
+ ],
+ q(nomu) => [
+ q(4970),
+ q(0),
+ ],
+ q(nong zhuang) => [
+ q(7692),
+ q(0),
+ ],
+ q(nonuya) => [
+ q(4972),
+ q(0),
+ ],
+ q(nooksack) => [
+ q(4973),
+ q(0),
+ ],
+ q(noon) => [
+ q(6065),
+ q(0),
+ ],
+ q(noone) => [
+ q(4830),
+ q(0),
+ ],
+ q(nopala chatino) => [
+ q(1919),
+ q(0),
+ ],
+ q(noric) => [
+ q(4999),
+ q(0),
+ ],
+ q(norn) => [
+ q(5005),
+ q(0),
+ ],
+ q(norra) => [
+ q(5007),
+ q(0),
+ ],
+ q(norse, old) => [
+ q(0315),
+ q(0),
+ ],
+ q(north alaskan inupiatun) => [
+ q(2267),
+ q(0),
+ ],
+ q(north ambrym) => [
+ q(4345),
+ q(0),
+ ],
+ q(north american indian languages) => [
+ q(0299),
+ q(0),
+ ],
+ q(north asmat) => [
+ q(4891),
+ q(0),
+ ],
+ q(north awyu) => [
+ q(7512),
+ q(0),
+ ],
+ q(north azerbaijani) => [
+ q(1010),
+ q(0),
+ ],
+ q(north babar) => [
+ q(1061),
+ q(0),
+ ],
+ q(north bolivian quechua) => [
+ q(5622),
+ q(0),
+ ],
+ q(north caucasian languages) => [
+ q(0494),
+ q(0),
+ ],
+ q(north central mixe) => [
+ q(4775),
+ q(0),
+ ],
+ q(north efate) => [
+ q(3917),
+ q(0),
+ ],
+ q(north fali) => [
+ q(2327),
+ q(0),
+ ],
+ q(north germanic languages) => [
+ q(0505),
+ q(0),
+ ],
+ q(north giziga) => [
+ q(2494),
+ q(0),
+ ],
+ q(north junin quechua) => [
+ q(5642),
+ q(0),
+ ],
+ q(north levantine arabic) => [
+ q(0834),
+ q(0),
+ ],
+ q(north marquesan) => [
+ q(4471),
+ q(0),
+ ],
+ q(north mesopotamian arabic) => [
+ q(0999),
+ q(0),
+ ],
+ q(north mofu) => [
+ q(4181),
+ q(0),
+ ],
+ q(north moluccan malay) => [
+ q(4071),
+ q(0),
+ ],
+ q(north muyu) => [
+ q(3576),
+ q(0),
+ ],
+ q(north ndebele) => [
+ q(0304),
+ q(0),
+ ],
+ q(north nuaulu) => [
+ q(4948),
+ q(0),
+ ],
+ q(north picene) => [
+ q(5006),
+ q(0),
+ ],
+ q(north slavey) => [
+ q(5866),
+ q(0),
+ ],
+ q(north tairora) => [
+ q(6307),
+ q(0),
+ ],
+ q(north tanna) => [
+ q(6541),
+ q(0),
+ ],
+ q(north wahgi) => [
+ q(7035),
+ q(0),
+ ],
+ q(north watut) => [
+ q(6829),
+ q(0),
+ ],
+ q(north wemale) => [
+ q(7020),
+ q(0),
+ ],
+ q(northeast kiwai) => [
+ q(3321),
+ q(0),
+ ],
+ q(northeast maidu) => [
+ q(4934),
+ q(0),
+ ],
+ q(northeast pashayi) => [
+ q(0628),
+ q(0),
+ ],
+ q(northeastern dinka) => [
+ q(2031),
+ q(0),
+ ],
+ q(northeastern pomo) => [
+ q(5345),
+ q(0),
+ ],
+ q(northeastern thai) => [
+ q(6673),
+ q(0),
+ ],
+ q(northern alta) => [
+ q(0862),
+ q(0),
+ ],
+ q(northern altai) => [
+ q(0926),
+ q(0),
+ ],
+ q(northern amami-oshima) => [
+ q(5809),
+ q(0),
+ ],
+ q(northern bai) => [
+ q(1132),
+ q(0),
+ ],
+ q(northern betsimisaraka malagasy) => [
+ q(1309),
+ q(0),
+ ],
+ q(northern binukidnon) => [
+ q(3705),
+ q(0),
+ ],
+ q(northern bobo madare) => [
+ q(1046),
+ q(0),
+ ],
+ q(northern bontok) => [
+ q(5693),
+ q(0),
+ ],
+ q(northern catanduanes bicolano) => [
+ q(1888),
+ q(0),
+ ],
+ q(northern conchucos ancash quechua) => [
+ q(5659),
+ q(0),
+ ],
+ q(northern dagara) => [
+ q(1998),
+ q(0),
+ ],
+ q(northern dong) => [
+ q(2093),
+ q(0),
+ ],
+ q(northern east cree) => [
+ q(1845),
+ q(0),
+ ],
+ q(northern embera) => [
+ q(2234),
+ q(0),
+ ],
+ q(northern frisian) => [
+ q(0140),
+ q(0),
+ ],
+ q(northern ghale) => [
+ q(2475),
+ q(0),
+ ],
+ q(northern gondi) => [
+ q(2541),
+ q(0),
+ ],
+ q(northern grebo) => [
+ q(2405),
+ q(0),
+ ],
+ q(northern guiyang hmong) => [
+ q(2818),
+ q(0),
+ ],
+ q(northern guiyang miao) => [
+ q(2818),
+ q(0),
+ ],
+ q(northern haida) => [
+ q(2699),
+ q(0),
+ ],
+ q(northern hindko) => [
+ q(2767),
+ q(0),
+ ],
+ q(northern huishui hmong) => [
+ q(2745),
+ q(0),
+ ],
+ q(northern huishui miao) => [
+ q(2745),
+ q(0),
+ ],
+ q(northern kalapuya) => [
+ q(5008),
+ q(0),
+ ],
+ q(northern kankanay) => [
+ q(7321),
+ q(0),
+ ],
+ q(northern khmer) => [
+ q(3678),
+ q(0),
+ ],
+ q(northern kissi) => [
+ q(3514),
+ q(0),
+ ],
+ q(northern kurdish) => [
+ q(3417),
+ q(0),
+ ],
+ q(northern lorung) => [
+ q(3778),
+ q(0),
+ ],
+ q(northern luri) => [
+ q(3989),
+ q(0),
+ ],
+ q(northern mashan hmong) => [
+ q(2750),
+ q(0),
+ ],
+ q(northern mashan miao) => [
+ q(2750),
+ q(0),
+ ],
+ q(northern muji) => [
+ q(7560),
+ q(0),
+ ],
+ q(northern nago) => [
+ q(7255),
+ q(0),
+ ],
+ q(northern ngbandi) => [
+ q(4789),
+ q(0),
+ ],
+ q(northern nisu) => [
+ q(7516),
+ q(0),
+ ],
+ q(northern nuni) => [
+ q(5067),
+ q(0),
+ ],
+ q(northern oaxaca nahuatl) => [
+ q(4834),
+ q(0),
+ ],
+ q(northern ohlone) => [
+ q(1874),
+ q(0),
+ ],
+ q(northern one) => [
+ q(5212),
+ q(0),
+ ],
+ q(northern paiute) => [
+ q(5289),
+ q(0),
+ ],
+ q(northern pame) => [
+ q(5458),
+ q(0),
+ ],
+ q(northern pashto) => [
+ q(5313),
+ q(0),
+ ],
+ q(northern pastaza quichua) => [
+ q(5648),
+ q(0),
+ ],
+ q(northern pomo) => [
+ q(5349),
+ q(0),
+ ],
+ q(northern puebla nahuatl) => [
+ q(4725),
+ q(0),
+ ],
+ q(northern pumi) => [
+ q(5451),
+ q(0),
+ ],
+ q(northern qiandong miao) => [
+ q(2702),
+ q(0),
+ ],
+ q(northern qiang) => [
+ q(1791),
+ q(0),
+ ],
+ q(northern rengma naga) => [
+ q(4951),
+ q(0),
+ ],
+ q(northern roglai) => [
+ q(5773),
+ q(0),
+ ],
+ q(northern sami) => [
+ q(0388),
+ q(0),
+ ],
+ q(northern sierra miwok) => [
+ q(5024),
+ q(0),
+ ],
+ q(northern sorsoganon) => [
+ q(1265),
+ q(0),
+ ],
+ q(northern sotho) => [
+ q(0318),
+ q(0),
+ ],
+ q(northern subanen) => [
+ q(6179),
+ q(0),
+ ],
+ q(northern tarahumara) => [
+ q(6421),
+ q(0),
+ ],
+ q(northern tepehuan) => [
+ q(5040),
+ q(0),
+ ],
+ q(northern thai) => [
+ q(4967),
+ q(0),
+ ],
+ q(northern tiwa) => [
+ q(6716),
+ q(0),
+ ],
+ q(northern tlaxiaco mixtec) => [
+ q(7392),
+ q(0),
+ ],
+ q(northern toussian) => [
+ q(6644),
+ q(0),
+ ],
+ q(northern tujia) => [
+ q(6461),
+ q(0),
+ ],
+ q(northern tutchone) => [
+ q(6667),
+ q(0),
+ ],
+ q(northern uzbek) => [
+ q(6883),
+ q(0),
+ ],
+ q(northern yukaghir) => [
+ q(7521),
+ q(0),
+ ],
+ q(northwest alaska inupiatun) => [
+ q(2268),
+ q(0),
+ ],
+ q(northwest gbaya) => [
+ q(2655),
+ q(0),
+ ],
+ q(northwest maidu) => [
+ q(4270),
+ q(0),
+ ],
+ q(northwest oaxaca mixtec) => [
+ q(4599),
+ q(0),
+ ],
+ q(northwest pashayi) => [
+ q(2510),
+ q(0),
+ ],
+ q(northwestern dinka) => [
+ q(2037),
+ q(0),
+ ],
+ q(northwestern fars) => [
+ q(2310),
+ q(0),
+ ],
+ q(northwestern kolami) => [
+ q(3230),
+ q(0),
+ ],
+ q(northwestern ojibwa) => [
+ q(5156),
+ q(0),
+ ],
+ q(northwestern tamang) => [
+ q(6515),
+ q(0),
+ ],
+ q(norwegian) => [
+ q(0316),
+ q(0),
+ ],
+ q(norwegian bokmal) => [
+ q(0313),
+ q(0),
+ ],
+ q(norwegian nynorsk) => [
+ q(0312),
+ q(0),
+ ],
+ q(norwegian sign language) => [
+ q(5020),
+ q(0),
+ ],
+ q(not applicable) => [
+ q(0484),
+ q(0),
+ ],
+ q(notre) => [
+ q(1295),
+ q(0),
+ ],
+ q(notsi) => [
+ q(4721),
+ q(0),
+ ],
+ q(nottoway) => [
+ q(5044),
+ q(0),
+ ],
+ q(nottoway-meherrin) => [
+ q(5081),
+ q(0),
+ ],
+ q(novial) => [
+ q(4980),
+ q(0),
+ ],
+ q(noy) => [
+ q(4982),
+ q(0),
+ ],
+ q(nsari) => [
+ q(0892),
+ q(0),
+ ],
+ q(nsenga) => [
+ q(5015),
+ q(0),
+ ],
+ q(nshi) => [
+ q(5013),
+ q(0),
+ ],
+ q(nsongo) => [
+ q(5031),
+ q(0),
+ ],
+ q(ntcham) => [
+ q(1492),
+ q(0),
+ ],
+ q(ntomba) => [
+ q(5039),
+ q(0),
+ ],
+ q(nubaca) => [
+ q(1019),
+ q(0),
+ ],
+ q(nubi) => [
+ q(3167),
+ q(0),
+ ],
+ q(nubian languages) => [
+ q(0319),
+ q(0),
+ ],
+ q(nubri) => [
+ q(3572),
+ q(0),
+ ],
+ q(nuer) => [
+ q(5064),
+ q(0),
+ ],
+ q(nugunu (australia)) => [
+ q(4960),
+ q(0),
+ ],
+ q(nugunu (cameroon)) => [
+ q(7449),
+ q(0),
+ ],
+ q(nuk) => [
+ q(4966),
+ q(0),
+ ],
+ q(nukak maku) => [
+ q(4089),
+ q(0),
+ ],
+ q(nukna) => [
+ q(3394),
+ q(0),
+ ],
+ q(nukuini) => [
+ q(5048),
+ q(0),
+ ],
+ q(nukumanu) => [
+ q(5062),
+ q(0),
+ ],
+ q(nukuoro) => [
+ q(4890),
+ q(0),
+ ],
+ q(nukuria) => [
+ q(5063),
+ q(0),
+ ],
+ q(numana-nunku-gbantu-numbu) => [
+ q(4708),
+ q(0),
+ ],
+ q(numanggang) => [
+ q(4975),
+ q(0),
+ ],
+ q(numbami) => [
+ q(5968),
+ q(0),
+ ],
+ q(nume) => [
+ q(6410),
+ q(0),
+ ],
+ q(numee) => [
+ q(3189),
+ q(0),
+ ],
+ q(numidian) => [
+ q(5088),
+ q(0),
+ ],
+ q(nung (viet nam)) => [
+ q(5065),
+ q(0),
+ ],
+ q(nungali) => [
+ q(5052),
+ q(0),
+ ],
+ q(nunggubuyu) => [
+ q(5070),
+ q(0),
+ ],
+ q(nungu) => [
+ q(5724),
+ q(0),
+ ],
+ q(nuosu) => [
+ q(0189),
+ q(0),
+ ],
+ q(nupbikha) => [
+ q(4985),
+ q(0),
+ ],
+ q(nupe-nupe-tako) => [
+ q(5061),
+ q(0),
+ ],
+ q(nupode huitoto) => [
+ q(2830),
+ q(0),
+ ],
+ q(nusa laut) => [
+ q(5057),
+ q(0),
+ ],
+ q(nusu) => [
+ q(5051),
+ q(0),
+ ],
+ q(nuu-chah-nulth) => [
+ q(5056),
+ q(0),
+ ],
+ q(nuuchahnulth) => [
+ q(5056),
+ q(0),
+ ],
+ q(nyabwa) => [
+ q(5075),
+ q(0),
+ ],
+ q(nyaheun) => [
+ q(4779),
+ q(0),
+ ],
+ q(nyahkur) => [
+ q(1666),
+ q(0),
+ ],
+ q(nyakyusa-ngonde) => [
+ q(5114),
+ q(0),
+ ],
+ q(nyalayu) => [
+ q(7541),
+ q(0),
+ ],
+ q(nyali) => [
+ q(4903),
+ q(0),
+ ],
+ q(nyam) => [
+ q(4922),
+ q(0),
+ ],
+ q(nyamal) => [
+ q(4912),
+ q(0),
+ ],
+ q(nyambo) => [
+ q(4981),
+ q(0),
+ ],
+ q(nyamusa-molo) => [
+ q(5078),
+ q(0),
+ ],
+ q(nyamwanga) => [
+ q(4587),
+ q(0),
+ ],
+ q(nyamwezi) => [
+ q(0322),
+ q(0),
+ ],
+ q(nyaneka) => [
+ q(5103),
+ q(0),
+ ],
+ q(nyang'i) => [
+ q(5105),
+ q(0),
+ ],
+ q(nyanga) => [
+ q(5102),
+ q(0),
+ ],
+ q(nyanga-li) => [
+ q(5095),
+ q(0),
+ ],
+ q(nyangatom) => [
+ q(4949),
+ q(0),
+ ],
+ q(nyangbo) => [
+ q(5094),
+ q(0),
+ ],
+ q(nyangga) => [
+ q(4963),
+ q(0),
+ ],
+ q(nyangumarta) => [
+ q(4940),
+ q(0),
+ ],
+ q(nyanja) => [
+ q(0321),
+ q(0),
+ ],
+ q(nyankole) => [
+ q(0323),
+ q(0),
+ ],
+ q(nyarafolo senoufo) => [
+ q(5910),
+ q(0),
+ ],
+ q(nyaturu) => [
+ q(5723),
+ q(0),
+ ],
+ q(nyaw) => [
+ q(5112),
+ q(0),
+ ],
+ q(nyawaygi) => [
+ q(5109),
+ q(0),
+ ],
+ q(nyemba) => [
+ q(4693),
+ q(0),
+ ],
+ q(nyengo) => [
+ q(5097),
+ q(0),
+ ],
+ q(nyenkha) => [
+ q(4768),
+ q(0),
+ ],
+ q(nyeu) => [
+ q(5104),
+ q(0),
+ ],
+ q(nyigina) => [
+ q(5100),
+ q(0),
+ ],
+ q(nyiha (malawi)) => [
+ q(5107),
+ q(0),
+ ],
+ q(nyiha (tanzania)) => [
+ q(4841),
+ q(0),
+ ],
+ q(nyika (malawi and zambia)) => [
+ q(4894),
+ q(0),
+ ],
+ q(nyika (tanzania)) => [
+ q(4892),
+ q(0),
+ ],
+ q(nyindrou) => [
+ q(3864),
+ q(0),
+ ],
+ q(nyindu) => [
+ q(5099),
+ q(0),
+ ],
+ q(nynorsk, norwegian) => [
+ q(0312),
+ q(0),
+ ],
+ q(nyole) => [
+ q(5055),
+ q(0),
+ ],
+ q(nyong) => [
+ q(4541),
+ q(0),
+ ],
+ q(nyore) => [
+ q(5096),
+ q(0),
+ ],
+ q(nyoro) => [
+ q(0324),
+ q(0),
+ ],
+ q(nyulnyul) => [
+ q(5111),
+ q(0),
+ ],
+ q(nyunga) => [
+ q(5108),
+ q(0),
+ ],
+ q(nyungwe) => [
+ q(5110),
+ q(0),
+ ],
+ q(nzakambay) => [
+ q(5121),
+ q(0),
+ ],
+ q(nzakara) => [
+ q(5117),
+ q(0),
+ ],
+ q(nzanyi) => [
+ q(4858),
+ q(0),
+ ],
+ q(nzima) => [
+ q(0325),
+ q(0),
+ ],
+ q(o'chi'chi') => [
+ q(7326),
+ q(0),
+ ],
+ q(o'du) => [
+ q(6750),
+ q(0),
+ ],
+ q(obanliku) => [
+ q(1633),
+ q(0),
+ ],
+ q(obispeno) => [
+ q(5127),
+ q(0),
+ ],
+ q(oblo) => [
+ q(5129),
+ q(0),
+ ],
+ q(obo manobo) => [
+ q(5131),
+ q(0),
+ ],
+ q(obokuitai) => [
+ q(0652),
+ q(0),
+ ],
+ q(obolo) => [
+ q(0802),
+ q(0),
+ ],
+ q(obulom) => [
+ q(5134),
+ q(0),
+ ],
+ q(ocaina) => [
+ q(5135),
+ q(0),
+ ],
+ q(occidental) => [
+ q(0192),
+ q(0),
+ ],
+ q(occitan (post 1500)) => [
+ q(0326),
+ q(0),
+ ],
+ q(ocotepec mixtec) => [
+ q(4250),
+ q(0),
+ ],
+ q(ocotlan zapotec) => [
+ q(7652),
+ q(0),
+ ],
+ q(od) => [
+ q(5140),
+ q(0),
+ ],
+ q(odiai) => [
+ q(1185),
+ q(0),
+ ],
+ q(odoodee) => [
+ q(3351),
+ q(0),
+ ],
+ q(odual) => [
+ q(5142),
+ q(0),
+ ],
+ q(odut) => [
+ q(5139),
+ q(0),
+ ],
+ q(ofaye) => [
+ q(5228),
+ q(0),
+ ],
+ q(official aramaic (700-300 bce)) => [
+ q(0022),
+ q(0),
+ ],
+ q(ofo) => [
+ q(5143),
+ q(0),
+ ],
+ q(ogbah) => [
+ q(5147),
+ q(0),
+ ],
+ q(ogbia) => [
+ q(5146),
+ q(0),
+ ],
+ q(ogbogolo) => [
+ q(5149),
+ q(0),
+ ],
+ q(ogbronuagum) => [
+ q(5151),
+ q(0),
+ ],
+ q(ogea) => [
+ q(2258),
+ q(0),
+ ],
+ q(oirat) => [
+ q(0470),
+ q(0),
+ ],
+ q(oirata) => [
+ q(5154),
+ q(0),
+ ],
+ q(ojibwa) => [
+ q(0327),
+ q(0),
+ ],
+ q(ojitlan chinantec) => [
+ q(1718),
+ q(0),
+ ],
+ q(okanagan) => [
+ q(5163),
+ q(0),
+ ],
+ q(oki-no-erabu) => [
+ q(5173),
+ q(0),
+ ],
+ q(okiek) => [
+ q(5168),
+ q(0),
+ ],
+ q(oko-eni-osayen) => [
+ q(5176),
+ q(0),
+ ],
+ q(oko-juwoi) => [
+ q(5169),
+ q(0),
+ ],
+ q(okobo) => [
+ q(5164),
+ q(0),
+ ],
+ q(okodia) => [
+ q(5165),
+ q(0),
+ ],
+ q(okolod) => [
+ q(3517),
+ q(0),
+ ],
+ q(okpamheri) => [
+ q(5223),
+ q(0),
+ ],
+ q(okpe (northwestern edo)) => [
+ q(5179),
+ q(0),
+ ],
+ q(okpe (southwestern edo)) => [
+ q(5166),
+ q(0),
+ ],
+ q(oksapmin) => [
+ q(5225),
+ q(0),
+ ],
+ q(oku) => [
+ q(5177),
+ q(0),
+ ],
+ q(old aramaic (up to 700 bce)) => [
+ q(5125),
+ q(0),
+ ],
+ q(old avar) => [
+ q(5126),
+ q(0),
+ ],
+ q(old breton) => [
+ q(5133),
+ q(0),
+ ],
+ q(old bulgarian) => [
+ q(0086),
+ q(0),
+ ],
+ q(old burmese) => [
+ q(5132),
+ q(0),
+ ],
+ q(old chinese) => [
+ q(5136),
+ q(0),
+ ],
+ q(old church slavonic) => [
+ q(0086),
+ q(0),
+ ],
+ q(old cornish) => [
+ q(5137),
+ q(0),
+ ],
+ q(old dutch) => [
+ q(5141),
+ q(0),
+ ],
+ q(old english (ca. 450-1100)) => [
+ q(0018),
+ q(1),
+ ],
+ q(old french (842-ca. 1400)) => [
+ q(0139),
+ q(1),
+ ],
+ q(old frisian) => [
+ q(5144),
+ q(0),
+ ],
+ q(old georgian) => [
+ q(5148),
+ q(0),
+ ],
+ q(old high german (ca. 750-1050)) => [
+ q(0158),
+ q(1),
+ ],
+ q(old hittite) => [
+ q(5152),
+ q(0),
+ ],
+ q(old hungarian) => [
+ q(5153),
+ q(0),
+ ],
+ q(old irish (to 900)) => [
+ q(0377),
+ q(1),
+ ],
+ q(old japanese) => [
+ q(5159),
+ q(0),
+ ],
+ q(old kentish sign language) => [
+ q(5171),
+ q(0),
+ ],
+ q(old korean (3rd-9th cent.)) => [
+ q(5174),
+ q(0),
+ ],
+ q(old manipuri) => [
+ q(5196),
+ q(0),
+ ],
+ q(old marathi) => [
+ q(5197),
+ q(0),
+ ],
+ q(old mon) => [
+ q(5201),
+ q(0),
+ ],
+ q(old newari) => [
+ q(0320),
+ q(0),
+ ],
+ q(old norse) => [
+ q(0315),
+ q(1),
+ ],
+ q(old nubian) => [
+ q(5216),
+ q(0),
+ ],
+ q(old occitan (to 1500)) => [
+ q(0350),
+ q(2),
+ ],
+ q(old ossetic) => [
+ q(5222),
+ q(0),
+ ],
+ q(old persian (ca. 600-400 b.c.)) => [
+ q(0341),
+ q(1),
+ ],
+ q(old provencal (to 1500)) => [
+ q(0350),
+ q(1),
+ ],
+ q(old russian) => [
+ q(5240),
+ q(0),
+ ],
+ q(old saxon) => [
+ q(5250),
+ q(0),
+ ],
+ q(old slavonic) => [
+ q(0086),
+ q(0),
+ ],
+ q(old spanish) => [
+ q(5247),
+ q(0),
+ ],
+ q(old tamil) => [
+ q(5266),
+ q(0),
+ ],
+ q(old tibetan) => [
+ q(5251),
+ q(0),
+ ],
+ q(old turkish) => [
+ q(5255),
+ q(0),
+ ],
+ q(old uighur) => [
+ q(5271),
+ q(0),
+ ],
+ q(old welsh) => [
+ q(5275),
+ q(0),
+ ],
+ q(olekha) => [
+ q(5182),
+ q(0),
+ ],
+ q(olo) => [
+ q(5205),
+ q(0),
+ ],
+ q(oloma) => [
+ q(5183),
+ q(0),
+ ],
+ q(olrat) => [
+ q(5185),
+ q(0),
+ ],
+ q(olu'bo) => [
+ q(4029),
+ q(0),
+ ],
+ q(olukhayo) => [
+ q(3898),
+ q(0),
+ ],
+ q(olulumo-ikom) => [
+ q(2900),
+ q(0),
+ ],
+ q(oluluyia) => [
+ q(4038),
+ q(0),
+ ],
+ q(olumarachi) => [
+ q(3992),
+ q(0),
+ ],
+ q(olumarama) => [
+ q(3995),
+ q(0),
+ ],
+ q(olunyole) => [
+ q(5096),
+ q(0),
+ ],
+ q(olusamia) => [
+ q(4009),
+ q(0),
+ ],
+ q(olushisa) => [
+ q(3900),
+ q(0),
+ ],
+ q(oluta popoluca) => [
+ q(5434),
+ q(0),
+ ],
+ q(olutsotso) => [
+ q(4020),
+ q(0),
+ ],
+ q(oluwanga) => [
+ q(4046),
+ q(0),
+ ],
+ q(omagua) => [
+ q(5190),
+ q(0),
+ ],
+ q(omaha-ponca) => [
+ q(5186),
+ q(0),
+ ],
+ q(omani arabic) => [
+ q(0601),
+ q(0),
+ ],
+ q(omati) => [
+ q(4219),
+ q(0),
+ ],
+ q(ombamba) => [
+ q(4084),
+ q(0),
+ ],
+ q(ombo) => [
+ q(5193),
+ q(0),
+ ],
+ q(omejes) => [
+ q(5189),
+ q(0),
+ ],
+ q(ometepec nahuatl) => [
+ q(4829),
+ q(0),
+ ],
+ q(omi) => [
+ q(5191),
+ q(0),
+ ],
+ q(omie) => [
+ q(0826),
+ q(0),
+ ],
+ q(omok) => [
+ q(5192),
+ q(0),
+ ],
+ q(omotic languages) => [
+ q(0517),
+ q(0),
+ ],
+ q(omotik) => [
+ q(5198),
+ q(0),
+ ],
+ q(omurano) => [
+ q(5199),
+ q(0),
+ ],
+ q(ona) => [
+ q(5202),
+ q(0),
+ ],
+ q(oneida) => [
+ q(5204),
+ q(0),
+ ],
+ q(ong) => [
+ q(5219),
+ q(0),
+ ],
+ q(onge) => [
+ q(5220),
+ q(0),
+ ],
+ q(onin) => [
+ q(5206),
+ q(0),
+ ],
+ q(onin based pidgin) => [
+ q(5217),
+ q(0),
+ ],
+ q(oniyan) => [
+ q(1444),
+ q(0),
+ ],
+ q(onjob) => [
+ q(5207),
+ q(0),
+ ],
+ q(ono) => [
+ q(5213),
+ q(0),
+ ],
+ q(onobasulu) => [
+ q(5209),
+ q(0),
+ ],
+ q(onondaga) => [
+ q(5210),
+ q(0),
+ ],
+ q(ontenu) => [
+ q(5214),
+ q(0),
+ ],
+ q(ontong java) => [
+ q(5161),
+ q(0),
+ ],
+ q(oorlams) => [
+ q(5221),
+ q(0),
+ ],
+ q(opao) => [
+ q(5226),
+ q(0),
+ ],
+ q(opata) => [
+ q(5227),
+ q(0),
+ ],
+ q(opuuo) => [
+ q(3845),
+ q(0),
+ ],
+ q(orang kanaq) => [
+ q(5234),
+ q(0),
+ ],
+ q(orang seletar) => [
+ q(5237),
+ q(0),
+ ],
+ q(oraon sadri) => [
+ q(5885),
+ q(0),
+ ],
+ q(orejon) => [
+ q(5231),
+ q(0),
+ ],
+ q(oring) => [
+ q(5232),
+ q(0),
+ ],
+ q(oriya) => [
+ q(0328),
+ q(0),
+ ],
+ q(orizaba nahuatl) => [
+ q(4910),
+ q(0),
+ ],
+ q(orma) => [
+ q(5230),
+ q(0),
+ ],
+ q(ormu) => [
+ q(5243),
+ q(0),
+ ],
+ q(ormuri) => [
+ q(5239),
+ q(0),
+ ],
+ q(oro) => [
+ q(5242),
+ q(0),
+ ],
+ q(oro win) => [
+ q(5241),
+ q(0),
+ ],
+ q(oroch) => [
+ q(5124),
+ q(0),
+ ],
+ q(oroha) => [
+ q(5229),
+ q(0),
+ ],
+ q(orok) => [
+ q(5123),
+ q(0),
+ ],
+ q(orokaiva) => [
+ q(5178),
+ q(0),
+ ],
+ q(oroko) => [
+ q(1103),
+ q(0),
+ ],
+ q(orokolo) => [
+ q(5235),
+ q(0),
+ ],
+ q(oromo) => [
+ q(0329),
+ q(0),
+ ],
+ q(oroqen) => [
+ q(5233),
+ q(0),
+ ],
+ q(orowe) => [
+ q(1377),
+ q(0),
+ ],
+ q(oruma) => [
+ q(5236),
+ q(0),
+ ],
+ q(orya) => [
+ q(6861),
+ q(0),
+ ],
+ q(osage) => [
+ q(0330),
+ q(0),
+ ],
+ q(osatu) => [
+ q(5248),
+ q(0),
+ ],
+ q(oscan) => [
+ q(5244),
+ q(0),
+ ],
+ q(osing) => [
+ q(5245),
+ q(0),
+ ],
+ q(ososo) => [
+ q(5246),
+ q(0),
+ ],
+ q(ossetian) => [
+ q(0331),
+ q(0),
+ ],
+ q(ossetic) => [
+ q(0331),
+ q(0),
+ ],
+ q(ot danum) => [
+ q(5252),
+ q(0),
+ ],
+ q(otank) => [
+ q(6869),
+ q(0),
+ ],
+ q(oti) => [
+ q(5254),
+ q(0),
+ ],
+ q(oto-manguean languages) => [
+ q(0516),
+ q(0),
+ ],
+ q(otomian languages) => [
+ q(0333),
+ q(0),
+ ],
+ q(otoro) => [
+ q(5260),
+ q(0),
+ ],
+ q(ottawa) => [
+ q(5264),
+ q(0),
+ ],
+ q(ottoman turkish (1500-1928)) => [
+ q(0332),
+ q(1),
+ ],
+ q(otuho) => [
+ q(3977),
+ q(0),
+ ],
+ q(otuke) => [
+ q(5263),
+ q(0),
+ ],
+ q(ouma) => [
+ q(5272),
+ q(0),
+ ],
+ q(oune) => [
+ q(5270),
+ q(0),
+ ],
+ q(owa) => [
+ q(6190),
+ q(0),
+ ],
+ q(owenia) => [
+ q(7143),
+ q(0),
+ ],
+ q(owiniga) => [
+ q(5274),
+ q(0),
+ ],
+ q(oy) => [
+ q(5276),
+ q(0),
+ ],
+ q(oya'oya) => [
+ q(5279),
+ q(0),
+ ],
+ q(oyda) => [
+ q(5277),
+ q(0),
+ ],
+ q(ozolotepec zapotec) => [
+ q(7663),
+ q(0),
+ ],
+ q(ozumacin chinantec) => [
+ q(1724),
+ q(0),
+ ],
+ q(pa di) => [
+ q(5336),
+ q(0),
+ ],
+ q(pa'a) => [
+ q(5520),
+ q(0),
+ ],
+ q(pa'o karen) => [
+ q(1282),
+ q(0),
+ ],
+ q(pa-hng) => [
+ q(5372),
+ q(0),
+ ],
+ q(paafang) => [
+ q(5360),
+ q(0),
+ ],
+ q(paama) => [
+ q(5445),
+ q(0),
+ ],
+ q(paasaal) => [
+ q(5965),
+ q(0),
+ ],
+ q(pacahuara) => [
+ q(5331),
+ q(0),
+ ],
+ q(pacaraos quechua) => [
+ q(5644),
+ q(0),
+ ],
+ q(pacific gulf yupik) => [
+ q(2235),
+ q(0),
+ ],
+ q(pacoh) => [
+ q(5282),
+ q(0),
+ ],
+ q(padoe) => [
+ q(5338),
+ q(0),
+ ],
+ q(paekche) => [
+ q(5413),
+ q(0),
+ ],
+ q(paelignian) => [
+ q(5368),
+ q(0),
+ ],
+ q(paez) => [
+ q(5299),
+ q(0),
+ ],
+ q(pagi) => [
+ q(5365),
+ q(0),
+ ],
+ q(pagibete) => [
+ q(5284),
+ q(0),
+ ],
+ q(pagu) => [
+ q(5370),
+ q(0),
+ ],
+ q(pahanan agta) => [
+ q(0837),
+ q(0),
+ ],
+ q(pahari-potwari) => [
+ q(5381),
+ q(0),
+ ],
+ q(pahi) => [
+ q(3848),
+ q(0),
+ ],
+ q(pahlavani) => [
+ q(5384),
+ q(0),
+ ],
+ q(pahlavi) => [
+ q(0336),
+ q(0),
+ ],
+ q(pai tavytera) => [
+ q(5563),
+ q(0),
+ ],
+ q(paici) => [
+ q(5529),
+ q(0),
+ ],
+ q(paipai) => [
+ q(5508),
+ q(0),
+ ],
+ q(paite chin) => [
+ q(5327),
+ q(0),
+ ],
+ q(paiwan) => [
+ q(5600),
+ q(0),
+ ],
+ q(pak-tong) => [
+ q(5414),
+ q(0),
+ ],
+ q(pakaasnovos) => [
+ q(5294),
+ q(0),
+ ],
+ q(pakanha) => [
+ q(5416),
+ q(0),
+ ],
+ q(pakistan sign language) => [
+ q(5420),
+ q(0),
+ ],
+ q(paku) => [
+ q(5422),
+ q(0),
+ ],
+ q(paku karen) => [
+ q(3485),
+ q(0),
+ ],
+ q(pal) => [
+ q(0580),
+ q(0),
+ ],
+ q(palaic) => [
+ q(5436),
+ q(0),
+ ],
+ q(palaka senoufo) => [
+ q(5437),
+ q(0),
+ ],
+ q(palantla chinantec) => [
+ q(1824),
+ q(0),
+ ],
+ q(palauan) => [
+ q(0340),
+ q(0),
+ ],
+ q(palenquero) => [
+ q(5433),
+ q(0),
+ ],
+ q(pali) => [
+ q(0345),
+ q(0),
+ ],
+ q(palikur) => [
+ q(5440),
+ q(0),
+ ],
+ q(paliyan) => [
+ q(5322),
+ q(0),
+ ],
+ q(palor) => [
+ q(2305),
+ q(0),
+ ],
+ q(palpa) => [
+ q(5435),
+ q(0),
+ ],
+ q(palu) => [
+ q(5316),
+ q(0),
+ ],
+ q(palu'e) => [
+ q(5427),
+ q(0),
+ ],
+ q(paluan) => [
+ q(5444),
+ q(0),
+ ],
+ q(palula) => [
+ q(5377),
+ q(0),
+ ],
+ q(palumata) => [
+ q(5447),
+ q(0),
+ ],
+ q(palya bareli) => [
+ q(1390),
+ q(0),
+ ],
+ q(pam) => [
+ q(5456),
+ q(0),
+ ],
+ q(pambia) => [
+ q(5446),
+ q(0),
+ ],
+ q(pamlico) => [
+ q(5453),
+ q(0),
+ ],
+ q(pamona) => [
+ q(5449),
+ q(0),
+ ],
+ q(pamosu) => [
+ q(2718),
+ q(0),
+ ],
+ q(pampanga) => [
+ q(0337),
+ q(0),
+ ],
+ q(pamplona atta) => [
+ q(0924),
+ q(0),
+ ],
+ q(pana (burkina faso)) => [
+ q(5478),
+ q(0),
+ ],
+ q(pana (central african republic)) => [
+ q(5487),
+ q(0),
+ ],
+ q(panamanian sign language) => [
+ q(4011),
+ q(0),
+ ],
+ q(panamint) => [
+ q(5291),
+ q(0),
+ ],
+ q(panang) => [
+ q(5332),
+ q(0),
+ ],
+ q(panao huanuco quechua) => [
+ q(5657),
+ q(0),
+ ],
+ q(panara) => [
+ q(3525),
+ q(0),
+ ],
+ q(panasuan) => [
+ q(5553),
+ q(0),
+ ],
+ q(panawa) => [
+ q(5597),
+ q(0),
+ ],
+ q(pancana) => [
+ q(5477),
+ q(0),
+ ],
+ q(panchpargania) => [
+ q(6350),
+ q(0),
+ ],
+ q(pande) => [
+ q(1256),
+ q(0),
+ ],
+ q(pangasinan) => [
+ q(0335),
+ q(0),
+ ],
+ q(pangseng) => [
+ q(5369),
+ q(0),
+ ],
+ q(pangutaran sama) => [
+ q(6031),
+ q(0),
+ ],
+ q(pangwa) => [
+ q(5310),
+ q(0),
+ ],
+ q(pangwali) => [
+ q(5364),
+ q(0),
+ ],
+ q(panim) => [
+ q(5479),
+ q(0),
+ ],
+ q(paniya) => [
+ q(5323),
+ q(0),
+ ],
+ q(panjabi) => [
+ q(0338),
+ q(0),
+ ],
+ q(pankarare) => [
+ q(5296),
+ q(0),
+ ],
+ q(pankararu) => [
+ q(5298),
+ q(0),
+ ],
+ q(pankhu) => [
+ q(5415),
+ q(0),
+ ],
+ q(pannei) => [
+ q(5469),
+ q(0),
+ ],
+ q(panoan katukina) => [
+ q(3444),
+ q(0),
+ ],
+ q(panobo) => [
+ q(5476),
+ q(0),
+ ],
+ q(panytyima) => [
+ q(5484),
+ q(0),
+ ],
+ q(pao) => [
+ q(5506),
+ q(0),
+ ],
+ q(papantla totonac) => [
+ q(6565),
+ q(0),
+ ],
+ q(papapana) => [
+ q(5512),
+ q(0),
+ ],
+ q(papar) => [
+ q(2111),
+ q(0),
+ ],
+ q(papasena) => [
+ q(5292),
+ q(0),
+ ],
+ q(papel) => [
+ q(5308),
+ q(0),
+ ],
+ q(papi) => [
+ q(5507),
+ q(0),
+ ],
+ q(papiamento) => [
+ q(0339),
+ q(0),
+ ],
+ q(papitalai) => [
+ q(5293),
+ q(0),
+ ],
+ q(papora) => [
+ q(5519),
+ q(0),
+ ],
+ q(papuan languages) => [
+ q(0334),
+ q(0),
+ ],
+ q(papuan malay) => [
+ q(5465),
+ q(0),
+ ],
+ q(papuma) => [
+ q(5511),
+ q(0),
+ ],
+ q(para arara) => [
+ q(0551),
+ q(0),
+ ],
+ q(para gaviao) => [
+ q(2636),
+ q(0),
+ ],
+ q(para naga) => [
+ q(5612),
+ q(0),
+ ],
+ q(parachi) => [
+ q(5523),
+ q(0),
+ ],
+ q(paraguayan guarani) => [
+ q(2609),
+ q(0),
+ ],
+ q(paraguayan sign language) => [
+ q(5608),
+ q(0),
+ ],
+ q(parakana) => [
+ q(5288),
+ q(0),
+ ],
+ q(paranan) => [
+ q(5526),
+ q(0),
+ ],
+ q(paranawat) => [
+ q(5285),
+ q(0),
+ ],
+ q(paraujano) => [
+ q(5303),
+ q(0),
+ ],
+ q(parauk) => [
+ q(5530),
+ q(0),
+ ],
+ q(parawen) => [
+ q(5540),
+ q(0),
+ ],
+ q(pardhan) => [
+ q(5324),
+ q(0),
+ ],
+ q(pardhi) => [
+ q(5328),
+ q(0),
+ ],
+ q(pare) => [
+ q(5518),
+ q(0),
+ ],
+ q(parecis) => [
+ q(5281),
+ q(0),
+ ],
+ q(parenga) => [
+ q(5326),
+ q(0),
+ ],
+ q(pari) => [
+ q(3899),
+ q(0),
+ ],
+ q(parkari koli) => [
+ q(3638),
+ q(0),
+ ],
+ q(parkwa) => [
+ q(5305),
+ q(0),
+ ],
+ q(parsi) => [
+ q(5534),
+ q(0),
+ ],
+ q(parsi-dari) => [
+ q(5524),
+ q(0),
+ ],
+ q(parthian) => [
+ q(7347),
+ q(0),
+ ],
+ q(parya) => [
+ q(5290),
+ q(0),
+ ],
+ q(pashto) => [
+ q(0351),
+ q(0),
+ ],
+ q(pasi) => [
+ q(5556),
+ q(0),
+ ],
+ q(pass valley yali) => [
+ q(7435),
+ q(0),
+ ],
+ q(patamona) => [
+ q(5300),
+ q(0),
+ ],
+ q(patani) => [
+ q(5566),
+ q(0),
+ ],
+ q(pataxo ha-ha-hae) => [
+ q(5564),
+ q(0),
+ ],
+ q(patep) => [
+ q(5568),
+ q(0),
+ ],
+ q(pathiya) => [
+ q(5574),
+ q(0),
+ ],
+ q(patpatar) => [
+ q(2457),
+ q(0),
+ ],
+ q(pattani) => [
+ q(3747),
+ q(0),
+ ],
+ q(pattani malay) => [
+ q(4171),
+ q(0),
+ ],
+ q(paulohi) => [
+ q(5429),
+ q(0),
+ ],
+ q(paumari) => [
+ q(5283),
+ q(0),
+ ],
+ q(pauri bareli) => [
+ q(1131),
+ q(0),
+ ],
+ q(pauserna) => [
+ q(5552),
+ q(0),
+ ],
+ q(pawaia) => [
+ q(5596),
+ q(0),
+ ],
+ q(pawnee) => [
+ q(5295),
+ q(0),
+ ],
+ q(paynamar) => [
+ q(5459),
+ q(0),
+ ],
+ q(pe) => [
+ q(5287),
+ q(0),
+ ],
+ q(pear) => [
+ q(5318),
+ q(0),
+ ],
+ q(pech) => [
+ q(5297),
+ q(0),
+ ],
+ q(pecheneg) => [
+ q(7337),
+ q(0),
+ ],
+ q(pedi) => [
+ q(0318),
+ q(0),
+ ],
+ q(peere) => [
+ q(5361),
+ q(0),
+ ],
+ q(pei) => [
+ q(5515),
+ q(0),
+ ],
+ q(pekal) => [
+ q(5351),
+ q(0),
+ ],
+ q(pela) => [
+ q(1564),
+ q(0),
+ ],
+ q(pele-ata) => [
+ q(0907),
+ q(0),
+ ],
+ q(pelende) => [
+ q(5514),
+ q(0),
+ ],
+ q(pemon) => [
+ q(0816),
+ q(0),
+ ],
+ q(pemono) => [
+ q(5356),
+ q(0),
+ ],
+ q(penang sign language) => [
+ q(5548),
+ q(0),
+ ],
+ q(penchal) => [
+ q(5350),
+ q(0),
+ ],
+ q(pendau) => [
+ q(6827),
+ q(0),
+ ],
+ q(pengo) => [
+ q(5346),
+ q(0),
+ ],
+ q(pennsylvania german) => [
+ q(5335),
+ q(0),
+ ],
+ q(penoles mixtec) => [
+ q(4257),
+ q(0),
+ ],
+ q(penrhyn) => [
+ q(5472),
+ q(0),
+ ],
+ q(pentlatch) => [
+ q(5573),
+ q(0),
+ ],
+ q(perai) => [
+ q(7024),
+ q(0),
+ ],
+ q(peranakan indonesian) => [
+ q(5341),
+ q(0),
+ ],
+ q(peripheral mongolian) => [
+ q(4555),
+ q(0),
+ ],
+ q(pero) => [
+ q(5400),
+ q(0),
+ ],
+ q(persian) => [
+ q(0342),
+ q(0),
+ ],
+ q(persian sign language) => [
+ q(5545),
+ q(0),
+ ],
+ q(persian, old (ca.600-400 b.c.)) => [
+ q(0341),
+ q(0),
+ ],
+ q(peruvian sign language) => [
+ q(5531),
+ q(0),
+ ],
+ q(petapa zapotec) => [
+ q(7761),
+ q(0),
+ ],
+ q(petats) => [
+ q(5357),
+ q(0),
+ ],
+ q(petjo) => [
+ q(5358),
+ q(0),
+ ],
+ q(peve) => [
+ q(3926),
+ q(0),
+ ],
+ q(pfaelzisch) => [
+ q(5362),
+ q(0),
+ ],
+ q(phai) => [
+ q(5538),
+ q(0),
+ ],
+ q(phake) => [
+ q(5376),
+ q(0),
+ ],
+ q(phala) => [
+ q(7583),
+ q(0),
+ ],
+ q(phalura) => [
+ q(5377),
+ q(0),
+ ],
+ q(phana') => [
+ q(5380),
+ q(0),
+ ],
+ q(phangduwali) => [
+ q(5385),
+ q(0),
+ ],
+ q(phende) => [
+ q(5352),
+ q(0),
+ ],
+ q(philippine languages) => [
+ q(0343),
+ q(0),
+ ],
+ q(philippine sign language) => [
+ q(5555),
+ q(0),
+ ],
+ q(phimbi) => [
+ q(5378),
+ q(0),
+ ],
+ q(phoenician) => [
+ q(0344),
+ q(0),
+ ],
+ q(phola) => [
+ q(7585),
+ q(0),
+ ],
+ q(pholo) => [
+ q(7510),
+ q(0),
+ ],
+ q(phom naga) => [
+ q(4986),
+ q(0),
+ ],
+ q(phong-kniang) => [
+ q(5485),
+ q(0),
+ ],
+ q(phrae pwo karen) => [
+ q(3344),
+ q(0),
+ ],
+ q(phrygian) => [
+ q(7339),
+ q(0),
+ ],
+ q(phu thai) => [
+ q(5382),
+ q(0),
+ ],
+ q(phuan) => [
+ q(5383),
+ q(0),
+ ],
+ q(phudagi) => [
+ q(5373),
+ q(0),
+ ],
+ q(phuie) => [
+ q(5581),
+ q(0),
+ ],
+ q(phukha) => [
+ q(5375),
+ q(0),
+ ],
+ q(phuma) => [
+ q(7587),
+ q(0),
+ ],
+ q(phunoi) => [
+ q(5379),
+ q(0),
+ ],
+ q(phuong) => [
+ q(5374),
+ q(0),
+ ],
+ q(phupa) => [
+ q(7590),
+ q(0),
+ ],
+ q(phupha) => [
+ q(7586),
+ q(0),
+ ],
+ q(phuza) => [
+ q(7591),
+ q(0),
+ ],
+ q(piamatsina) => [
+ q(5569),
+ q(0),
+ ],
+ q(piame) => [
+ q(5398),
+ q(0),
+ ],
+ q(piapoco) => [
+ q(5399),
+ q(0),
+ ],
+ q(piaroa) => [
+ q(5389),
+ q(0),
+ ],
+ q(picard) => [
+ q(5320),
+ q(0),
+ ],
+ q(pichis asheninka) => [
+ q(1831),
+ q(0),
+ ],
+ q(pictish) => [
+ q(7340),
+ q(0),
+ ],
+ q(pidgin delaware) => [
+ q(1985),
+ q(0),
+ ],
+ q(piemontese) => [
+ q(5460),
+ q(0),
+ ],
+ q(pijao) => [
+ q(5395),
+ q(0),
+ ],
+ q(pije) => [
+ q(5409),
+ q(0),
+ ],
+ q(pijin) => [
+ q(5402),
+ q(0),
+ ],
+ q(pilaga) => [
+ q(5428),
+ q(0),
+ ],
+ q(pileni) => [
+ q(5405),
+ q(0),
+ ],
+ q(pilipino) => [
+ q(0133),
+ q(0),
+ ],
+ q(pima bajo) => [
+ q(5386),
+ q(0),
+ ],
+ q(pimbwe) => [
+ q(5406),
+ q(0),
+ ],
+ q(pinai-hagahai) => [
+ q(5475),
+ q(0),
+ ],
+ q(pingelapese) => [
+ q(5391),
+ q(0),
+ ],
+ q(pini) => [
+ q(5394),
+ q(0),
+ ],
+ q(pinigura) => [
+ q(5483),
+ q(0),
+ ],
+ q(pinji) => [
+ q(5388),
+ q(0),
+ ],
+ q(pinotepa nacional mixtec) => [
+ q(4259),
+ q(0),
+ ],
+ q(pintiini) => [
+ q(5565),
+ q(0),
+ ],
+ q(pintupi-luritja) => [
+ q(5404),
+ q(0),
+ ],
+ q(pinyin) => [
+ q(5486),
+ q(0),
+ ],
+ q(pipil) => [
+ q(5510),
+ q(0),
+ ],
+ q(piraha) => [
+ q(4638),
+ q(0),
+ ],
+ q(piratapuyo) => [
+ q(5401),
+ q(0),
+ ],
+ q(pirlatapa) => [
+ q(1569),
+ q(0),
+ ],
+ q(piro) => [
+ q(5390),
+ q(0),
+ ],
+ q(piru) => [
+ q(5516),
+ q(0),
+ ],
+ q(pisabo) => [
+ q(5392),
+ q(0),
+ ],
+ q(pisaflores tepehua) => [
+ q(6586),
+ q(0),
+ ],
+ q(piscataway) => [
+ q(5562),
+ q(0),
+ ],
+ q(pisidian) => [
+ q(7348),
+ q(0),
+ ],
+ q(pitcairn-norfolk) => [
+ q(5393),
+ q(0),
+ ],
+ q(pite sami) => [
+ q(5985),
+ q(0),
+ ],
+ q(piti) => [
+ q(5330),
+ q(0),
+ ],
+ q(pitjantjatjara) => [
+ q(5410),
+ q(0),
+ ],
+ q(pitta pitta) => [
+ q(5403),
+ q(0),
+ ],
+ q(piu) => [
+ q(5407),
+ q(0),
+ ],
+ q(piya-kwonci) => [
+ q(5408),
+ q(0),
+ ],
+ q(plains cree) => [
+ q(1844),
+ q(0),
+ ],
+ q(plains indian sign language) => [
+ q(5546),
+ q(0),
+ ],
+ q(plains miwok) => [
+ q(5463),
+ q(0),
+ ],
+ q(plapo krumen) => [
+ q(3577),
+ q(0),
+ ],
+ q(plateau malagasy) => [
+ q(5439),
+ q(0),
+ ],
+ q(plautdietsch) => [
+ q(5339),
+ q(0),
+ ],
+ q(playero) => [
+ q(2549),
+ q(0),
+ ],
+ q(pnar) => [
+ q(5314),
+ q(0),
+ ],
+ q(pochuri naga) => [
+ q(4989),
+ q(0),
+ ],
+ q(pochutec) => [
+ q(7344),
+ q(0),
+ ],
+ q(podena) => [
+ q(5337),
+ q(0),
+ ],
+ q(pogolo) => [
+ q(5505),
+ q(0),
+ ],
+ q(pohnpeian) => [
+ q(0347),
+ q(0),
+ ],
+ q(pokanga) => [
+ q(5495),
+ q(0),
+ ],
+ q(poke) => [
+ q(5491),
+ q(0),
+ ],
+ q(pokomo) => [
+ q(5412),
+ q(0),
+ ],
+ q(pokoot) => [
+ q(5417),
+ q(0),
+ ],
+ q(polabian) => [
+ q(5504),
+ q(0),
+ ],
+ q(polari) => [
+ q(5426),
+ q(0),
+ ],
+ q(polci) => [
+ q(5430),
+ q(0),
+ ],
+ q(polish) => [
+ q(0346),
+ q(0),
+ ],
+ q(polish sign language) => [
+ q(5554),
+ q(0),
+ ],
+ q(polonombauk) => [
+ q(5424),
+ q(0),
+ ],
+ q(pom) => [
+ q(5457),
+ q(0),
+ ],
+ q(pomo) => [
+ q(5455),
+ q(0),
+ ],
+ q(ponam) => [
+ q(4718),
+ q(0),
+ ],
+ q(ponares) => [
+ q(5489),
+ q(0),
+ ],
+ q(pongu) => [
+ q(5471),
+ q(0),
+ ],
+ q(pongyong) => [
+ q(5371),
+ q(0),
+ ],
+ q(ponosakan) => [
+ q(5480),
+ q(0),
+ ],
+ q(pontic) => [
+ q(5481),
+ q(0),
+ ],
+ q(popti') => [
+ q(2998),
+ q(0),
+ ],
+ q(poqomam) => [
+ q(5488),
+ q(0),
+ ],
+ q(poqomchi') => [
+ q(5493),
+ q(0),
+ ],
+ q(porohanon) => [
+ q(5528),
+ q(0),
+ ],
+ q(port sandwich) => [
+ q(5561),
+ q(0),
+ ],
+ q(port vato) => [
+ q(5572),
+ q(0),
+ ],
+ q(portuguese) => [
+ q(0348),
+ q(0),
+ ],
+ q(portuguese sign language) => [
+ q(5557),
+ q(0),
+ ],
+ q(portuguese-based creoles and pidgins) => [
+ q(0095),
+ q(2),
+ ],
+ q(potawatomi) => [
+ q(5501),
+ q(0),
+ ],
+ q(potiguara) => [
+ q(5492),
+ q(0),
+ ],
+ q(pottangi ollar gadaba) => [
+ q(2424),
+ q(0),
+ ],
+ q(poule) => [
+ q(4491),
+ q(0),
+ ],
+ q(poumei naga) => [
+ q(5464),
+ q(0),
+ ],
+ q(pouye) => [
+ q(1589),
+ q(0),
+ ],
+ q(powari) => [
+ q(5602),
+ q(0),
+ ],
+ q(powhatan) => [
+ q(5397),
+ q(0),
+ ],
+ q(poyanawa) => [
+ q(5607),
+ q(0),
+ ],
+ q(prakrit languages) => [
+ q(0349),
+ q(0),
+ ],
+ q(prasuni) => [
+ q(5533),
+ q(0),
+ ],
+ q(pray 3) => [
+ q(5542),
+ q(0),
+ ],
+ q(primitive irish) => [
+ q(5367),
+ q(0),
+ ],
+ q(principense) => [
+ q(5525),
+ q(0),
+ ],
+ q(provencal) => [
+ q(0326),
+ q(0),
+ ],
+ q(provencal, old (to 1500)) => [
+ q(0350),
+ q(0),
+ ],
+ q(providencia sign language) => [
+ q(5543),
+ q(0),
+ ],
+ q(prussian) => [
+ q(5527),
+ q(0),
+ ],
+ q(psikye) => [
+ q(3624),
+ q(0),
+ ],
+ q(pu ko) => [
+ q(5584),
+ q(0),
+ ],
+ q(pu-xian chinese) => [
+ q(1832),
+ q(0),
+ ],
+ q(puare) => [
+ q(5593),
+ q(0),
+ ],
+ q(pudtol atta) => [
+ q(0920),
+ q(0),
+ ],
+ q(puelche) => [
+ q(5579),
+ q(0),
+ ],
+ q(puerto rican sign language) => [
+ q(5551),
+ q(0),
+ ],
+ q(puimei naga) => [
+ q(4991),
+ q(0),
+ ],
+ q(puinave) => [
+ q(5582),
+ q(0),
+ ],
+ q(pukapuka) => [
+ q(5418),
+ q(0),
+ ],
+ q(pulaar) => [
+ q(2352),
+ q(0),
+ ],
+ q(pulabu) => [
+ q(5587),
+ q(0),
+ ],
+ q(pular) => [
+ q(2355),
+ q(0),
+ ],
+ q(puluwatese) => [
+ q(5592),
+ q(0),
+ ],
+ q(puma) => [
+ q(5585),
+ q(0),
+ ],
+ q(pume) => [
+ q(7437),
+ q(0),
+ ],
+ q(pumpokol) => [
+ q(7342),
+ q(0),
+ ],
+ q(punan aput) => [
+ q(5578),
+ q(0),
+ ],
+ q(punan bah-biau) => [
+ q(5467),
+ q(0),
+ ],
+ q(punan batu 1) => [
+ q(5474),
+ q(0),
+ ],
+ q(punan merah) => [
+ q(5580),
+ q(0),
+ ],
+ q(punan merap) => [
+ q(5577),
+ q(0),
+ ],
+ q(punan tubu) => [
+ q(5583),
+ q(0),
+ ],
+ q(punic) => [
+ q(7349),
+ q(0),
+ ],
+ q(punjabi) => [
+ q(0338),
+ q(0),
+ ],
+ q(puno quechua) => [
+ q(5661),
+ q(0),
+ ],
+ q(punu) => [
+ q(5591),
+ q(0),
+ ],
+ q(puoc) => [
+ q(5586),
+ q(0),
+ ],
+ q(puquina) => [
+ q(5588),
+ q(0),
+ ],
+ q(puragi) => [
+ q(5539),
+ q(0),
+ ],
+ q(purari) => [
+ q(2845),
+ q(0),
+ ],
+ q(purepecha) => [
+ q(6654),
+ q(0),
+ ],
+ q(puri) => [
+ q(5536),
+ q(0),
+ ],
+ q(purik) => [
+ q(5541),
+ q(0),
+ ],
+ q(purisimeno) => [
+ q(5594),
+ q(0),
+ ],
+ q(purubora) => [
+ q(5589),
+ q(0),
+ ],
+ q(purum) => [
+ q(5576),
+ q(0),
+ ],
+ q(purum naga) => [
+ q(5595),
+ q(0),
+ ],
+ q(pushto) => [
+ q(0351),
+ q(0),
+ ],
+ q(putai) => [
+ q(4182),
+ q(0),
+ ],
+ q(putoh) => [
+ q(5590),
+ q(0),
+ ],
+ q(putukwam) => [
+ q(0642),
+ q(0),
+ ],
+ q(puyo) => [
+ q(7350),
+ q(0),
+ ],
+ q(puyo-paekche) => [
+ q(7345),
+ q(0),
+ ],
+ q(puyuma) => [
+ q(5609),
+ q(0),
+ ],
+ q(pwaamei) => [
+ q(5448),
+ q(0),
+ ],
+ q(pwapwa) => [
+ q(5498),
+ q(0),
+ ],
+ q(pwo eastern karen) => [
+ q(3340),
+ q(0),
+ ],
+ q(pwo northern karen) => [
+ q(5603),
+ q(0),
+ ],
+ q(pwo western karen) => [
+ q(5601),
+ q(0),
+ ],
+ q(pyapun) => [
+ q(5333),
+ q(0),
+ ],
+ q(pye krumen) => [
+ q(5605),
+ q(0),
+ ],
+ q(pyen) => [
+ q(5611),
+ q(0),
+ ],
+ q(pyu) => [
+ q(5315),
+ q(0),
+ ],
+ q(pyu (myanmar)) => [
+ q(5610),
+ q(0),
+ ],
+ q(q'anjob'al) => [
+ q(3326),
+ q(0),
+ ],
+ q(qabiao) => [
+ q(3756),
+ q(0),
+ ],
+ q(qaqet) => [
+ q(1606),
+ q(0),
+ ],
+ q(qashqa'i) => [
+ q(5662),
+ q(0),
+ ],
+ q(qatabanian) => [
+ q(7352),
+ q(0),
+ ],
+ q(qawasqar) => [
+ q(0746),
+ q(0),
+ ],
+ q(qila muji) => [
+ q(7556),
+ q(0),
+ ],
+ q(qimant) => [
+ q(0680),
+ q(0),
+ ],
+ q(qiubei zhuang) => [
+ q(7783),
+ q(0),
+ ],
+ q(quapaw) => [
+ q(5613),
+ q(0),
+ ],
+ q(quebec sign language) => [
+ q(2312),
+ q(0),
+ ],
+ q(quechan) => [
+ q(7625),
+ q(0),
+ ],
+ q(quechua) => [
+ q(0353),
+ q(0),
+ ],
+ q(quechuan (family)) => [
+ q(0522),
+ q(0),
+ ],
+ q(quenya) => [
+ q(5668),
+ q(0),
+ ],
+ q(queretaro otomi) => [
+ q(5259),
+ q(0),
+ ],
+ q(quetzaltepec mixe) => [
+ q(5604),
+ q(0),
+ ],
+ q(queyu) => [
+ q(5647),
+ q(0),
+ ],
+ q(quiavicuzas zapotec) => [
+ q(7766),
+ q(0),
+ ],
+ q(quiche) => [
+ q(5615),
+ q(0),
+ ],
+ q(quileute) => [
+ q(5620),
+ q(0),
+ ],
+ q(quinault) => [
+ q(5624),
+ q(0),
+ ],
+ q(quinqui) => [
+ q(5626),
+ q(0),
+ ],
+ q(quioquitani-quieri zapotec) => [
+ q(7802),
+ q(0),
+ ],
+ q(quiotepec chinantec) => [
+ q(1720),
+ q(0),
+ ],
+ q(quiripi) => [
+ q(5669),
+ q(0),
+ ],
+ q(rabha) => [
+ q(5676),
+ q(0),
+ ],
+ q(rade) => [
+ q(5673),
+ q(0),
+ ],
+ q(raetic) => [
+ q(7359),
+ q(0),
+ ],
+ q(rahambuu) => [
+ q(5691),
+ q(0),
+ ],
+ q(rajah kabunsuwan manobo) => [
+ q(4440),
+ q(0),
+ ],
+ q(rajasthani) => [
+ q(0354),
+ q(0),
+ ],
+ q(rajbanshi) => [
+ q(5730),
+ q(0),
+ ],
+ q(raji) => [
+ q(5729),
+ q(0),
+ ],
+ q(rajong) => [
+ q(5728),
+ q(0),
+ ],
+ q(rajput garasia) => [
+ q(2575),
+ q(0),
+ ],
+ q(rakahanga-manihiki) => [
+ q(5733),
+ q(0),
+ ],
+ q(rakhine) => [
+ q(5734),
+ q(0),
+ ],
+ q(ralte) => [
+ q(5679),
+ q(0),
+ ],
+ q(rama) => [
+ q(5737),
+ q(0),
+ ],
+ q(ramoaaina) => [
+ q(5677),
+ q(0),
+ ],
+ q(ramopa) => [
+ q(3346),
+ q(0),
+ ],
+ q(rampi) => [
+ q(3884),
+ q(0),
+ ],
+ q(rana tharu) => [
+ q(6429),
+ q(0),
+ ],
+ q(rang) => [
+ q(5689),
+ q(0),
+ ],
+ q(rangkas) => [
+ q(5712),
+ q(0),
+ ],
+ q(ranglong) => [
+ q(5764),
+ q(0),
+ ],
+ q(rangpuri) => [
+ q(5736),
+ q(0),
+ ],
+ q(rao) => [
+ q(5682),
+ q(0),
+ ],
+ q(rapa) => [
+ q(5690),
+ q(0),
+ ],
+ q(rapanui) => [
+ q(0355),
+ q(0),
+ ],
+ q(rapoisi) => [
+ q(3715),
+ q(0),
+ ],
+ q(rapting) => [
+ q(5781),
+ q(0),
+ ],
+ q(rara bakati') => [
+ q(3988),
+ q(0),
+ ],
+ q(rarotongan) => [
+ q(0356),
+ q(0),
+ ],
+ q(rasawa) => [
+ q(5672),
+ q(0),
+ ],
+ q(ratagnon) => [
+ q(1477),
+ q(0),
+ ],
+ q(ratahan) => [
+ q(5787),
+ q(0),
+ ],
+ q(rathawi) => [
+ q(5789),
+ q(0),
+ ],
+ q(rathwi bareli) => [
+ q(1158),
+ q(0),
+ ],
+ q(raute) => [
+ q(5686),
+ q(0),
+ ],
+ q(ravula) => [
+ q(7480),
+ q(0),
+ ],
+ q(rawa) => [
+ q(5807),
+ q(0),
+ ],
+ q(rawang) => [
+ q(5688),
+ q(0),
+ ],
+ q(rawat) => [
+ q(3078),
+ q(0),
+ ],
+ q(rawo) => [
+ q(5804),
+ q(0),
+ ],
+ q(rayon zoque) => [
+ q(7755),
+ q(0),
+ ],
+ q(razajerdi) => [
+ q(5685),
+ q(0),
+ ],
+ q(red gelao) => [
+ q(2493),
+ q(0),
+ ],
+ q(reel) => [
+ q(0925),
+ q(0),
+ ],
+ q(rejang) => [
+ q(5702),
+ q(0),
+ ],
+ q(rejang kayan) => [
+ q(5699),
+ q(0),
+ ],
+ q(reli) => [
+ q(5701),
+ q(0),
+ ],
+ q(rema) => [
+ q(1366),
+ q(0),
+ ],
+ q(rembarunga) => [
+ q(5738),
+ q(0),
+ ],
+ q(rembong) => [
+ q(5698),
+ q(0),
+ ],
+ q(remo) => [
+ q(5704),
+ q(0),
+ ],
+ q(remontado dumagat) => [
+ q(0673),
+ q(0),
+ ],
+ q(rempi) => [
+ q(5751),
+ q(0),
+ ],
+ q(remun) => [
+ q(3895),
+ q(0),
+ ],
+ q(rendille) => [
+ q(5703),
+ q(0),
+ ],
+ q(rengao) => [
+ q(5705),
+ q(0),
+ ],
+ q(rennell-bellona) => [
+ q(4382),
+ q(0),
+ ],
+ q(rennellese sign language) => [
+ q(5785),
+ q(0),
+ ],
+ q(repanbitip) => [
+ q(5780),
+ q(0),
+ ],
+ q(rer bare) => [
+ q(5706),
+ q(0),
+ ],
+ q(rerau) => [
+ q(5697),
+ q(0),
+ ],
+ q(rerep) => [
+ q(5366),
+ q(0),
+ ],
+ q(reserved for local use) => [
+ q(0352),
+ q(0),
+ ],
+ q(reshe) => [
+ q(5707),
+ q(0),
+ ],
+ q(resigaro) => [
+ q(5714),
+ q(0),
+ ],
+ q(retta) => [
+ q(5708),
+ q(0),
+ ],
+ q(reunion creole french) => [
+ q(5695),
+ q(0),
+ ],
+ q(reyesano) => [
+ q(5709),
+ q(0),
+ ],
+ q(riang (india)) => [
+ q(5719),
+ q(0),
+ ],
+ q(riang (myanmar)) => [
+ q(5722),
+ q(0),
+ ],
+ q(riantana) => [
+ q(5681),
+ q(0),
+ ],
+ q(ribun) => [
+ q(5725),
+ q(0),
+ ],
+ q(rien) => [
+ q(5720),
+ q(0),
+ ],
+ q(rikbaktsa) => [
+ q(5732),
+ q(0),
+ ],
+ q(rincon zapotec) => [
+ q(7665),
+ q(0),
+ ],
+ q(rinconada bikol) => [
+ q(1478),
+ q(0),
+ ],
+ q(ringgou) => [
+ q(5716),
+ q(0),
+ ],
+ q(ririo) => [
+ q(5782),
+ q(0),
+ ],
+ q(ritarungo) => [
+ q(5726),
+ q(0),
+ ],
+ q(riung) => [
+ q(5727),
+ q(0),
+ ],
+ q(riverain sango) => [
+ q(6069),
+ q(0),
+ ],
+ q(rogo) => [
+ q(5770),
+ q(0),
+ ],
+ q(rohingya) => [
+ q(5717),
+ q(0),
+ ],
+ q(roma) => [
+ q(5748),
+ q(0),
+ ],
+ q(romagnol) => [
+ q(5713),
+ q(0),
+ ],
+ q(romam) => [
+ q(5758),
+ q(0),
+ ],
+ q(romance languages) => [
+ q(0357),
+ q(0),
+ ],
+ q(romanian) => [
+ q(0360),
+ q(0),
+ ],
+ q(romanian sign language) => [
+ q(5753),
+ q(0),
+ ],
+ q(romano-greek) => [
+ q(5711),
+ q(0),
+ ],
+ q(romano-serbian) => [
+ q(5784),
+ q(0),
+ ],
+ q(romanova) => [
+ q(5756),
+ q(0),
+ ],
+ q(romansh) => [
+ q(0358),
+ q(0),
+ ],
+ q(romany) => [
+ q(0359),
+ q(0),
+ ],
+ q(romblomanon) => [
+ q(5774),
+ q(0),
+ ],
+ q(rombo) => [
+ q(5772),
+ q(0),
+ ],
+ q(romkun) => [
+ q(5746),
+ q(0),
+ ],
+ q(ron) => [
+ q(1764),
+ q(0),
+ ],
+ q(ronga) => [
+ q(5763),
+ q(0),
+ ],
+ q(rongga) => [
+ q(5777),
+ q(0),
+ ],
+ q(rongmei naga) => [
+ q(4711),
+ q(0),
+ ],
+ q(rongpo) => [
+ q(5766),
+ q(0),
+ ],
+ q(ronji) => [
+ q(5771),
+ q(0),
+ ],
+ q(roon) => [
+ q(5765),
+ q(0),
+ ],
+ q(roria) => [
+ q(5710),
+ q(0),
+ ],
+ q(rotokas) => [
+ q(5775),
+ q(0),
+ ],
+ q(rotuman) => [
+ q(5788),
+ q(0),
+ ],
+ q(roviana) => [
+ q(5794),
+ q(0),
+ ],
+ q(ruching palaung) => [
+ q(5321),
+ q(0),
+ ],
+ q(rudbari) => [
+ q(5696),
+ q(0),
+ ],
+ q(rufiji) => [
+ q(5796),
+ q(0),
+ ],
+ q(ruga) => [
+ q(5795),
+ q(0),
+ ],
+ q(rukai) => [
+ q(2125),
+ q(0),
+ ],
+ q(ruma) => [
+ q(5803),
+ q(0),
+ ],
+ q(rumai palaung) => [
+ q(5692),
+ q(0),
+ ],
+ q(rumu) => [
+ q(3391),
+ q(0),
+ ],
+ q(runa) => [
+ q(5761),
+ q(0),
+ ],
+ q(rundi) => [
+ q(0361),
+ q(0),
+ ],
+ q(runga) => [
+ q(5778),
+ q(0),
+ ],
+ q(rungus) => [
+ q(2116),
+ q(0),
+ ],
+ q(rungwa) => [
+ q(5767),
+ q(0),
+ ],
+ q(russia buriat) => [
+ q(1578),
+ q(0),
+ ],
+ q(russian) => [
+ q(0363),
+ q(0),
+ ],
+ q(russian sign language) => [
+ q(5786),
+ q(0),
+ ],
+ q(rusyn) => [
+ q(5792),
+ q(0),
+ ],
+ q(rutul) => [
+ q(5800),
+ q(0),
+ ],
+ q(ruuli) => [
+ q(5791),
+ q(0),
+ ],
+ q(ruund) => [
+ q(5762),
+ q(0),
+ ],
+ q(rwa) => [
+ q(5805),
+ q(0),
+ ],
+ q(s'gaw karen) => [
+ q(3564),
+ q(0),
+ ],
+ q(sa) => [
+ q(5826),
+ q(0),
+ ],
+ q(sa'a) => [
+ q(0833),
+ q(0),
+ ],
+ q(sa'ban) => [
+ q(6079),
+ q(0),
+ ],
+ q(sa'och) => [
+ q(5865),
+ q(0),
+ ],
+ q(saafi-saafi) => [
+ q(5824),
+ q(0),
+ ],
+ q(saam) => [
+ q(5683),
+ q(0),
+ ],
+ q(saamia) => [
+ q(4009),
+ q(0),
+ ],
+ q(saaroa) => [
+ q(6253),
+ q(0),
+ ],
+ q(saba) => [
+ q(5812),
+ q(0),
+ ],
+ q(sabaean) => [
+ q(7363),
+ q(0),
+ ],
+ q(sabah bisaya) => [
+ q(1465),
+ q(0),
+ ],
+ q(sabah malay) => [
+ q(4488),
+ q(0),
+ ],
+ q(sabane) => [
+ q(5815),
+ q(0),
+ ],
+ q(sabaot) => [
+ q(6122),
+ q(0),
+ ],
+ q(sabine) => [
+ q(5850),
+ q(0),
+ ],
+ q(sabu) => [
+ q(2836),
+ q(0),
+ ],
+ q(sabum) => [
+ q(5843),
+ q(0),
+ ],
+ q(sacapulteco) => [
+ q(5629),
+ q(0),
+ ],
+ q(sadri) => [
+ q(5862),
+ q(0),
+ ],
+ q(saek) => [
+ q(5999),
+ q(0),
+ ],
+ q(saep) => [
+ q(6107),
+ q(0),
+ ],
+ q(safaliba) => [
+ q(5816),
+ q(0),
+ ],
+ q(safeyoka) => [
+ q(0857),
+ q(0),
+ ],
+ q(safwa) => [
+ q(5839),
+ q(0),
+ ],
+ q(sagala) => [
+ q(5841),
+ q(0),
+ ],
+ q(sagalla) => [
+ q(6396),
+ q(0),
+ ],
+ q(saho) => [
+ q(6176),
+ q(0),
+ ],
+ q(sahu) => [
+ q(5817),
+ q(0),
+ ],
+ q(saidi arabic) => [
+ q(0626),
+ q(0),
+ ],
+ q(saint lucian creole french) => [
+ q(0587),
+ q(0),
+ ],
+ q(saisiyat) => [
+ q(7381),
+ q(0),
+ ],
+ q(sajalong) => [
+ q(5988),
+ q(0),
+ ],
+ q(sajau basap) => [
+ q(5983),
+ q(0),
+ ],
+ q(sakachep) => [
+ q(5860),
+ q(0),
+ ],
+ q(sakalava malagasy) => [
+ q(6004),
+ q(0),
+ ],
+ q(sakam) => [
+ q(6009),
+ q(0),
+ ],
+ q(sakan) => [
+ q(0223),
+ q(0),
+ ],
+ q(sakao) => [
+ q(6017),
+ q(0),
+ ],
+ q(sakata) => [
+ q(6016),
+ q(0),
+ ],
+ q(sake) => [
+ q(5818),
+ q(0),
+ ],
+ q(sakirabia) => [
+ q(6003),
+ q(0),
+ ],
+ q(sala) => [
+ q(5951),
+ q(0),
+ ],
+ q(salako) => [
+ q(3448),
+ q(0),
+ ],
+ q(salampasu) => [
+ q(6040),
+ q(0),
+ ],
+ q(salar) => [
+ q(6035),
+ q(0),
+ ],
+ q(salas) => [
+ q(5932),
+ q(0),
+ ],
+ q(salasaca highland quichua) => [
+ q(5658),
+ q(0),
+ ],
+ q(salchuq) => [
+ q(6034),
+ q(0),
+ ],
+ q(saleman) => [
+ q(5823),
+ q(0),
+ ],
+ q(saliba) => [
+ q(5833),
+ q(0),
+ ],
+ q(salinan) => [
+ q(6032),
+ q(0),
+ ],
+ q(salishan languages) => [
+ q(0368),
+ q(0),
+ ],
+ q(sallands) => [
+ q(5890),
+ q(0),
+ ],
+ q(salt-yui) => [
+ q(6030),
+ q(0),
+ ],
+ q(saluan) => [
+ q(3963),
+ q(0),
+ ],
+ q(saluma) => [
+ q(6029),
+ q(0),
+ ],
+ q(salvadoran sign language) => [
+ q(2271),
+ q(0),
+ ],
+ q(sam) => [
+ q(6081),
+ q(0),
+ ],
+ q(sama) => [
+ q(6045),
+ q(0),
+ ],
+ q(samaritan) => [
+ q(6052),
+ q(0),
+ ],
+ q(samaritan aramaic) => [
+ q(0369),
+ q(0),
+ ],
+ q(samarokena) => [
+ q(6514),
+ q(0),
+ ],
+ q(samatao) => [
+ q(7602),
+ q(0),
+ ],
+ q(samba) => [
+ q(6059),
+ q(0),
+ ],
+ q(samba daka) => [
+ q(1679),
+ q(0),
+ ],
+ q(samba leko) => [
+ q(4745),
+ q(0),
+ ],
+ q(sambe) => [
+ q(7176),
+ q(0),
+ ],
+ q(samberigi) => [
+ q(6175),
+ q(0),
+ ],
+ q(samburu) => [
+ q(5821),
+ q(0),
+ ],
+ q(samei) => [
+ q(6048),
+ q(0),
+ ],
+ q(sami languages) => [
+ q(0389),
+ q(0),
+ ],
+ q(samo) => [
+ q(6053),
+ q(0),
+ ],
+ q(samoan) => [
+ q(0392),
+ q(0),
+ ],
+ q(samogitian) => [
+ q(5930),
+ q(0),
+ ],
+ q(samosa) => [
+ q(6231),
+ q(0),
+ ],
+ q(samoyedic languages) => [
+ q(0525),
+ q(0),
+ ],
+ q(sampang) => [
+ q(5687),
+ q(0),
+ ],
+ q(samre) => [
+ q(6250),
+ q(0),
+ ],
+ q(samtao) => [
+ q(6197),
+ q(0),
+ ],
+ q(samvedi) => [
+ q(6057),
+ q(0),
+ ],
+ q(san agustin mixtepec zapotec) => [
+ q(7799),
+ q(0),
+ ],
+ q(san baltazar loxicha zapotec) => [
+ q(7780),
+ q(0),
+ ],
+ q(san blas kuna) => [
+ q(1899),
+ q(0),
+ ],
+ q(san dionisio del mar huave) => [
+ q(2834),
+ q(0),
+ ],
+ q(san felipe otlaltepec popoloca) => [
+ q(5503),
+ q(0),
+ ],
+ q(san francisco del mar huave) => [
+ q(2813),
+ q(0),
+ ],
+ q(san francisco matlatzinca) => [
+ q(4067),
+ q(0),
+ ],
+ q(san jeronimo tecoatl mazatec) => [
+ q(4060),
+ q(0),
+ ],
+ q(san juan atzingo popoloca) => [
+ q(5490),
+ q(0),
+ ],
+ q(san juan colorado mixtec) => [
+ q(4269),
+ q(0),
+ ],
+ q(san juan guelavia zapotec) => [
+ q(7651),
+ q(0),
+ ],
+ q(san juan teita mixtec) => [
+ q(7389),
+ q(0),
+ ],
+ q(san luis temalacayuca popoloca) => [
+ q(5517),
+ q(0),
+ ],
+ q(san marcos tlalcoyalco popoloca) => [
+ q(5438),
+ q(0),
+ ],
+ q(san martin itunyoso triqui) => [
+ q(6622),
+ q(0),
+ ],
+ q(san martin quechua) => [
+ q(5645),
+ q(0),
+ ],
+ q(san mateo del mar huave) => [
+ q(2828),
+ q(0),
+ ],
+ q(san miguel creole french) => [
+ q(5858),
+ q(0),
+ ],
+ q(san miguel el grande mixtec) => [
+ q(4252),
+ q(0),
+ ],
+ q(san miguel piedras mixtec) => [
+ q(7394),
+ q(0),
+ ],
+ q(san pedro amuzgos amuzgo) => [
+ q(1009),
+ q(0),
+ ],
+ q(san pedro quiatoni zapotec) => [
+ q(7762),
+ q(0),
+ ],
+ q(san salvador kongo) => [
+ q(3665),
+ q(0),
+ ],
+ q(san vicente coatlan zapotec) => [
+ q(7776),
+ q(0),
+ ],
+ q(sanaani arabic) => [
+ q(0997),
+ q(0),
+ ],
+ q(sanapana) => [
+ q(5820),
+ q(0),
+ ],
+ q(sandawe) => [
+ q(0364),
+ q(0),
+ ],
+ q(sanga (democratic republic of congo)) => [
+ q(6066),
+ q(0),
+ ],
+ q(sanga (nigeria)) => [
+ q(7373),
+ q(0),
+ ],
+ q(sanggau) => [
+ q(5859),
+ q(0),
+ ],
+ q(sangil) => [
+ q(6070),
+ q(0),
+ ],
+ q(sangir) => [
+ q(6251),
+ q(0),
+ ],
+ q(sangisari) => [
+ q(5929),
+ q(0),
+ ],
+ q(sangkong) => [
+ q(5925),
+ q(0),
+ ],
+ q(sanglechi) => [
+ q(5935),
+ q(0),
+ ],
+ q(sango) => [
+ q(0365),
+ q(0),
+ ],
+ q(sangtam naga) => [
+ q(5012),
+ q(0),
+ ],
+ q(sangu (gabon)) => [
+ q(6075),
+ q(0),
+ ],
+ q(sangu (tanzania)) => [
+ q(5844),
+ q(0),
+ ],
+ q(sani) => [
+ q(7604),
+ q(0),
+ ],
+ q(sanie) => [
+ q(7609),
+ q(0),
+ ],
+ q(saniyo-hiyewe) => [
+ q(6082),
+ q(0),
+ ],
+ q(sankaran maninka) => [
+ q(4482),
+ q(0),
+ ],
+ q(sansi) => [
+ q(6161),
+ q(0),
+ ],
+ q(sanskrit) => [
+ q(0370),
+ q(0),
+ ],
+ q(sansu) => [
+ q(5855),
+ q(0),
+ ],
+ q(santa ana de tusi pasco quechua) => [
+ q(5665),
+ q(0),
+ ],
+ q(santa catarina albarradas zapotec) => [
+ q(7800),
+ q(0),
+ ],
+ q(santa ines ahuatempan popoloca) => [
+ q(5317),
+ q(0),
+ ],
+ q(santa ines yatzechi zapotec) => [
+ q(7770),
+ q(0),
+ ],
+ q(santa lucia monteverde mixtec) => [
+ q(4142),
+ q(0),
+ ],
+ q(santa maria del mar huave) => [
+ q(2837),
+ q(0),
+ ],
+ q(santa maria la alta nahuatl) => [
+ q(4835),
+ q(0),
+ ],
+ q(santa maria quiegolani zapotec) => [
+ q(7765),
+ q(0),
+ ],
+ q(santa maria zacatepec mixtec) => [
+ q(4647),
+ q(0),
+ ],
+ q(santa teresa cora) => [
+ q(1811),
+ q(0),
+ ],
+ q(santali) => [
+ q(0372),
+ q(0),
+ ],
+ q(santiago del estero quichua) => [
+ q(5628),
+ q(0),
+ ],
+ q(santiago xanica zapotec) => [
+ q(7774),
+ q(0),
+ ],
+ q(santo domingo albarradas zapotec) => [
+ q(7666),
+ q(0),
+ ],
+ q(sanuma) => [
+ q(7379),
+ q(0),
+ ],
+ q(sao paulo kaingang) => [
+ q(7709),
+ q(0),
+ ],
+ q(saotomense) => [
+ q(1842),
+ q(0),
+ ],
+ q(saparua) => [
+ q(6117),
+ q(0),
+ ],
+ q(sape) => [
+ q(6106),
+ q(0),
+ ],
+ q(sapo) => [
+ q(3532),
+ q(0),
+ ],
+ q(saponi) => [
+ q(6110),
+ q(0),
+ ],
+ q(saposa) => [
+ q(6118),
+ q(0),
+ ],
+ q(sapuan) => [
+ q(6120),
+ q(0),
+ ],
+ q(sar) => [
+ q(4586),
+ q(0),
+ ],
+ q(sara) => [
+ q(6136),
+ q(0),
+ ],
+ q(sara dunjo) => [
+ q(3459),
+ q(0),
+ ],
+ q(sara kaba) => [
+ q(5854),
+ q(0),
+ ],
+ q(sara kaba deme) => [
+ q(3647),
+ q(0),
+ ],
+ q(sara kaba naa) => [
+ q(3662),
+ q(0),
+ ],
+ q(saramaccan) => [
+ q(6143),
+ q(0),
+ ],
+ q(sarangani blaan) => [
+ q(1385),
+ q(0),
+ ],
+ q(sarangani manobo) => [
+ q(4090),
+ q(0),
+ ],
+ q(sarasira) => [
+ q(7790),
+ q(0),
+ ],
+ q(saraveca) => [
+ q(5822),
+ q(0),
+ ],
+ q(sardinian) => [
+ q(0402),
+ q(0),
+ ],
+ q(sarikoli) => [
+ q(6139),
+ q(0),
+ ],
+ q(sarli) => [
+ q(5875),
+ q(0),
+ ],
+ q(sarsi) => [
+ q(6146),
+ q(0),
+ ],
+ q(sartang) => [
+ q(5211),
+ q(0),
+ ],
+ q(sarua) => [
+ q(6243),
+ q(0),
+ ],
+ q(sarudu) => [
+ q(5888),
+ q(0),
+ ],
+ q(saruga) => [
+ q(6133),
+ q(0),
+ ],
+ q(sasak) => [
+ q(0371),
+ q(0),
+ ],
+ q(sasaru) => [
+ q(6254),
+ q(0),
+ ],
+ q(sassarese sardinian) => [
+ q(5873),
+ q(0),
+ ],
+ q(satawalese) => [
+ q(6199),
+ q(0),
+ ],
+ q(satere-mawe) => [
+ q(4069),
+ q(0),
+ ],
+ q(saterfriesisch) => [
+ q(6193),
+ q(0),
+ ],
+ q(saudi arabian sign language) => [
+ q(5880),
+ q(0),
+ ],
+ q(sauk) => [
+ q(6000),
+ q(0),
+ ],
+ q(sauraseni prakrit) => [
+ q(5560),
+ q(0),
+ ],
+ q(saurashtra) => [
+ q(5828),
+ q(0),
+ ],
+ q(sauri) => [
+ q(6147),
+ q(0),
+ ],
+ q(sauria paharia) => [
+ q(4285),
+ q(0),
+ ],
+ q(sause) => [
+ q(5819),
+ q(0),
+ ],
+ q(sausi) => [
+ q(6162),
+ q(0),
+ ],
+ q(savara) => [
+ q(6219),
+ q(0),
+ ],
+ q(savi) => [
+ q(5876),
+ q(0),
+ ],
+ q(savosavo) => [
+ q(6220),
+ q(0),
+ ],
+ q(sawai) => [
+ q(6278),
+ q(0),
+ ],
+ q(saweru) => [
+ q(6236),
+ q(0),
+ ],
+ q(sawi) => [
+ q(5825),
+ q(0),
+ ],
+ q(sawila) => [
+ q(6238),
+ q(0),
+ ],
+ q(sawknah) => [
+ q(6232),
+ q(0),
+ ],
+ q(saxon, low) => [
+ q(0306),
+ q(0),
+ ],
+ q(saxwe gbe) => [
+ q(6256),
+ q(0),
+ ],
+ q(saya) => [
+ q(5827),
+ q(0),
+ ],
+ q(sayula popoluca) => [
+ q(5500),
+ q(0),
+ ],
+ q(scots) => [
+ q(0374),
+ q(0),
+ ],
+ q(scottish gaelic) => [
+ q(0153),
+ q(0),
+ ],
+ q(scythian) => [
+ q(7365),
+ q(0),
+ ],
+ q(sea island creole english) => [
+ q(2613),
+ q(0),
+ ],
+ q(seba) => [
+ q(3185),
+ q(0),
+ ],
+ q(sebat bet gurage) => [
+ q(5933),
+ q(0),
+ ],
+ q(seberuang) => [
+ q(5852),
+ q(0),
+ ],
+ q(sebop) => [
+ q(5962),
+ q(0),
+ ],
+ q(sebuyau) => [
+ q(6062),
+ q(0),
+ ],
+ q(sechelt) => [
+ q(5893),
+ q(0),
+ ],
+ q(secoya) => [
+ q(5912),
+ q(0),
+ ],
+ q(sedang) => [
+ q(5894),
+ q(0),
+ ],
+ q(sedoa) => [
+ q(6709),
+ q(0),
+ ],
+ q(seeku) => [
+ q(6098),
+ q(0),
+ ],
+ q(segai) => [
+ q(5921),
+ q(0),
+ ],
+ q(segeju) => [
+ q(5897),
+ q(0),
+ ],
+ q(seget) => [
+ q(5835),
+ q(0),
+ ],
+ q(sehwi) => [
+ q(5917),
+ q(0),
+ ],
+ q(seimat) => [
+ q(6159),
+ q(0),
+ ],
+ q(seit-kaitetu) => [
+ q(2721),
+ q(0),
+ ],
+ q(sekani) => [
+ q(5901),
+ q(0),
+ ],
+ q(sekapan) => [
+ q(6012),
+ q(0),
+ ],
+ q(sekar) => [
+ q(6022),
+ q(0),
+ ],
+ q(seke (nepal)) => [
+ q(6007),
+ q(0),
+ ],
+ q(seke (vanuatu)) => [
+ q(6002),
+ q(0),
+ ],
+ q(seki) => [
+ q(6259),
+ q(0),
+ ],
+ q(seko padang) => [
+ q(6020),
+ q(0),
+ ],
+ q(seko tengah) => [
+ q(6011),
+ q(0),
+ ],
+ q(sekpele) => [
+ q(3874),
+ q(0),
+ ],
+ q(selangor sign language) => [
+ q(3263),
+ q(0),
+ ],
+ q(selaru) => [
+ q(6038),
+ q(0),
+ ],
+ q(selayar) => [
+ q(6041),
+ q(0),
+ ],
+ q(selee) => [
+ q(6080),
+ q(0),
+ ],
+ q(selepet) => [
+ q(6112),
+ q(0),
+ ],
+ q(selian) => [
+ q(6249),
+ q(0),
+ ],
+ q(selkup) => [
+ q(0375),
+ q(0),
+ ],
+ q(selungai murut) => [
+ q(6026),
+ q(0),
+ ],
+ q(seluwasan) => [
+ q(6237),
+ q(0),
+ ],
+ q(semai) => [
+ q(5891),
+ q(0),
+ ],
+ q(semandang) => [
+ q(5881),
+ q(0),
+ ],
+ q(semaq beri) => [
+ q(6270),
+ q(0),
+ ],
+ q(sembakung murut) => [
+ q(5846),
+ q(0),
+ ],
+ q(semelai) => [
+ q(6268),
+ q(0),
+ ],
+ q(semimi) => [
+ q(2286),
+ q(0),
+ ],
+ q(semitic languages) => [
+ q(0376),
+ q(0),
+ ],
+ q(semnam) => [
+ q(6165),
+ q(0),
+ ],
+ q(semnani) => [
+ q(6060),
+ q(0),
+ ],
+ q(sempan) => [
+ q(7367),
+ q(0),
+ ],
+ q(sena) => [
+ q(5898),
+ q(0),
+ ],
+ q(senara senoufo) => [
+ q(5905),
+ q(0),
+ ],
+ q(senaya) => [
+ q(6263),
+ q(0),
+ ],
+ q(sene) => [
+ q(5900),
+ q(0),
+ ],
+ q(seneca) => [
+ q(5895),
+ q(0),
+ ],
+ q(sened) => [
+ q(5886),
+ q(0),
+ ],
+ q(sengele) => [
+ q(6273),
+ q(0),
+ ],
+ q(senggi) => [
+ q(6078),
+ q(0),
+ ],
+ q(sengo) => [
+ q(6111),
+ q(0),
+ ],
+ q(sengseng) => [
+ q(6177),
+ q(0),
+ ],
+ q(senhaja de srair) => [
+ q(5994),
+ q(0),
+ ],
+ q(sensi) => [
+ q(6068),
+ q(0),
+ ],
+ q(sentani) => [
+ q(5908),
+ q(0),
+ ],
+ q(senthang chin) => [
+ q(5913),
+ q(0),
+ ],
+ q(sentinel) => [
+ q(6180),
+ q(0),
+ ],
+ q(sepa (indonesia)) => [
+ q(6105),
+ q(0),
+ ],
+ q(sepa (papua new guinea)) => [
+ q(6108),
+ q(0),
+ ],
+ q(sepedi) => [
+ q(0318),
+ q(0),
+ ],
+ q(sepen) => [
+ q(6113),
+ q(0),
+ ],
+ q(sepik iwam) => [
+ q(2987),
+ q(0),
+ ],
+ q(sera) => [
+ q(6152),
+ q(0),
+ ],
+ q(seraiki) => [
+ q(6014),
+ q(0),
+ ],
+ q(serbian) => [
+ q(0404),
+ q(0),
+ ],
+ q(serbo-croatian) => [
+ q(0536),
+ q(0),
+ ],
+ q(sere) => [
+ q(6224),
+ q(0),
+ ],
+ q(serer) => [
+ q(0405),
+ q(0),
+ ],
+ q(seri) => [
+ q(5899),
+ q(0),
+ ],
+ q(serili) => [
+ q(6217),
+ q(0),
+ ],
+ q(seroa) => [
+ q(3516),
+ q(0),
+ ],
+ q(serrano) => [
+ q(5906),
+ q(0),
+ ],
+ q(seru) => [
+ q(6271),
+ q(0),
+ ],
+ q(serua) => [
+ q(6150),
+ q(0),
+ ],
+ q(serudung murut) => [
+ q(6141),
+ q(0),
+ ],
+ q(serui-laut) => [
+ q(5909),
+ q(0),
+ ],
+ q(seselwa creole french) => [
+ q(1851),
+ q(0),
+ ],
+ q(seta) => [
+ q(6182),
+ q(0),
+ ],
+ q(setaman) => [
+ q(6189),
+ q(0),
+ ],
+ q(seti) => [
+ q(5837),
+ q(0),
+ ],
+ q(settla) => [
+ q(6178),
+ q(0),
+ ],
+ q(severn ojibwa) => [
+ q(5160),
+ q(0),
+ ],
+ q(sewa bay) => [
+ q(5911),
+ q(0),
+ ],
+ q(seze) => [
+ q(6272),
+ q(0),
+ ],
+ q(sha) => [
+ q(5869),
+ q(0),
+ ],
+ q(shabak) => [
+ q(5872),
+ q(0),
+ ],
+ q(shabo) => [
+ q(5834),
+ q(0),
+ ],
+ q(shahmirzadi) => [
+ q(6153),
+ q(0),
+ ],
+ q(shahrudi) => [
+ q(5948),
+ q(0),
+ ],
+ q(shall-zwall) => [
+ q(5937),
+ q(0),
+ ],
+ q(shama-sambuga) => [
+ q(6123),
+ q(0),
+ ],
+ q(shamang) => [
+ q(7368),
+ q(0),
+ ],
+ q(shambala) => [
+ q(3543),
+ q(0),
+ ],
+ q(shan) => [
+ q(0379),
+ q(0),
+ ],
+ q(shanenawa) => [
+ q(6233),
+ q(0),
+ ],
+ q(shanga) => [
+ q(5949),
+ q(0),
+ ],
+ q(shangzhai) => [
+ q(3049),
+ q(0),
+ ],
+ q(sharanahua) => [
+ q(4101),
+ q(0),
+ ],
+ q(shark bay) => [
+ q(6174),
+ q(0),
+ ],
+ q(sharwa) => [
+ q(6235),
+ q(0),
+ ],
+ q(shasta) => [
+ q(5954),
+ q(0),
+ ],
+ q(shatt) => [
+ q(5945),
+ q(0),
+ ],
+ q(shau) => [
+ q(6124),
+ q(0),
+ ],
+ q(shawnee) => [
+ q(5997),
+ q(0),
+ ],
+ q(she) => [
+ q(5958),
+ q(0),
+ ],
+ q(shehri) => [
+ q(5956),
+ q(0),
+ ],
+ q(shekhawati) => [
+ q(6240),
+ q(0),
+ ],
+ q(shekkacho) => [
+ q(4404),
+ q(0),
+ ],
+ q(sheko) => [
+ q(5941),
+ q(0),
+ ],
+ q(shelta) => [
+ q(6184),
+ q(0),
+ ],
+ q(shempire senoufo) => [
+ q(5892),
+ q(0),
+ ],
+ q(shendu) => [
+ q(5947),
+ q(0),
+ ],
+ q(sheni) => [
+ q(5868),
+ q(0),
+ ],
+ q(sherbro) => [
+ q(1500),
+ q(0),
+ ],
+ q(sherdukpen) => [
+ q(5884),
+ q(0),
+ ],
+ q(sherpa) => [
+ q(7377),
+ q(0),
+ ],
+ q(sheshi kham) => [
+ q(3315),
+ q(0),
+ ],
+ q(shi) => [
+ q(5952),
+ q(0),
+ ],
+ q(shihhi arabic) => [
+ q(6160),
+ q(0),
+ ],
+ q(shiki) => [
+ q(2603),
+ q(0),
+ ],
+ q(shilluk) => [
+ q(5946),
+ q(0),
+ ],
+ q(shina) => [
+ q(5863),
+ q(0),
+ ],
+ q(shinabo) => [
+ q(6067),
+ q(0),
+ ],
+ q(shipibo-conibo) => [
+ q(5950),
+ q(0),
+ ],
+ q(shixing) => [
+ q(6247),
+ q(0),
+ ],
+ q(sholaga) => [
+ q(6024),
+ q(0),
+ ],
+ q(shom peng) => [
+ q(5967),
+ q(0),
+ ],
+ q(shona) => [
+ q(0394),
+ q(0),
+ ],
+ q(shoo-minda-nye) => [
+ q(1079),
+ q(0),
+ ],
+ q(shor) => [
+ q(1747),
+ q(0),
+ ],
+ q(shoshoni) => [
+ q(5943),
+ q(0),
+ ],
+ q(shua) => [
+ q(5942),
+ q(0),
+ ],
+ q(shuadit) => [
+ q(5887),
+ q(0),
+ ],
+ q(shuar) => [
+ q(3057),
+ q(0),
+ ],
+ q(shubi) => [
+ q(6206),
+ q(0),
+ ],
+ q(shughni) => [
+ q(5923),
+ q(0),
+ ],
+ q(shumashti) => [
+ q(6195),
+ q(0),
+ ],
+ q(shumcho) => [
+ q(5867),
+ q(0),
+ ],
+ q(shuswap) => [
+ q(5953),
+ q(0),
+ ],
+ q(shuwa-zamani) => [
+ q(3542),
+ q(0),
+ ],
+ q(shwai) => [
+ q(5957),
+ q(0),
+ ],
+ q(shwe palaung) => [
+ q(5432),
+ q(0),
+ ],
+ q(sialum) => [
+ q(6039),
+ q(0),
+ ],
+ q(siamou) => [
+ q(5964),
+ q(0),
+ ],
+ q(sian) => [
+ q(6109),
+ q(0),
+ ],
+ q(siane) => [
+ q(6074),
+ q(0),
+ ],
+ q(siang) => [
+ q(6257),
+ q(0),
+ ],
+ q(siar-lak) => [
+ q(5993),
+ q(0),
+ ],
+ q(siawi) => [
+ q(4354),
+ q(0),
+ ],
+ q(sibe) => [
+ q(4730),
+ q(0),
+ ],
+ q(sibu melanau) => [
+ q(5889),
+ q(0),
+ ],
+ q(sicanian) => [
+ q(6245),
+ q(0),
+ ],
+ q(sicel) => [
+ q(5870),
+ q(0),
+ ],
+ q(sichuan yi) => [
+ q(0189),
+ q(0),
+ ],
+ q(sicilian) => [
+ q(0373),
+ q(0),
+ ],
+ q(sicite senoufo) => [
+ q(5904),
+ q(0),
+ ],
+ q(siculo arabic) => [
+ q(6129),
+ q(0),
+ ],
+ q(sidamo) => [
+ q(0380),
+ q(0),
+ ],
+ q(sidetic) => [
+ q(7366),
+ q(0),
+ ],
+ q(sie) => [
+ q(2256),
+ q(0),
+ ],
+ q(sierra de juarez zapotec) => [
+ q(7650),
+ q(0),
+ ],
+ q(sierra leone sign language) => [
+ q(5934),
+ q(0),
+ ],
+ q(sierra negra nahuatl) => [
+ q(5028),
+ q(0),
+ ],
+ q(sighu) => [
+ q(6246),
+ q(0),
+ ],
+ q(sign languages) => [
+ q(0378),
+ q(0),
+ ],
+ q(sihan) => [
+ q(6076),
+ q(0),
+ ],
+ q(sihuas ancash quechua) => [
+ q(5653),
+ q(0),
+ ],
+ q(sika) => [
+ q(6006),
+ q(0),
+ ],
+ q(sikaiana) => [
+ q(6021),
+ q(0),
+ ],
+ q(sikaritai) => [
+ q(6678),
+ q(0),
+ ],
+ q(sikiana) => [
+ q(5969),
+ q(0),
+ ],
+ q(sikkimese) => [
+ q(5972),
+ q(0),
+ ],
+ q(siksika) => [
+ q(0057),
+ q(0),
+ ],
+ q(sikule) => [
+ q(6005),
+ q(0),
+ ],
+ q(sila) => [
+ q(6037),
+ q(0),
+ ],
+ q(silacayoapan mixtec) => [
+ q(4308),
+ q(0),
+ ],
+ q(sileibi) => [
+ q(5845),
+ q(0),
+ ],
+ q(silesian) => [
+ q(6274),
+ q(0),
+ ],
+ q(silimo) => [
+ q(7156),
+ q(0),
+ ],
+ q(siliput) => [
+ q(4294),
+ q(0),
+ ],
+ q(silopi) => [
+ q(7375),
+ q(0),
+ ],
+ q(silt'e) => [
+ q(6198),
+ q(0),
+ ],
+ q(simaa) => [
+ q(5963),
+ q(0),
+ ],
+ q(simba) => [
+ q(5851),
+ q(0),
+ ],
+ q(simbali) => [
+ q(6047),
+ q(0),
+ ],
+ q(simbari) => [
+ q(6043),
+ q(0),
+ ],
+ q(simbo) => [
+ q(5830),
+ q(0),
+ ],
+ q(simeku) => [
+ q(6061),
+ q(0),
+ ],
+ q(simeulue) => [
+ q(6054),
+ q(0),
+ ],
+ q(simte) => [
+ q(6055),
+ q(0),
+ ],
+ q(sinagen) => [
+ q(5976),
+ q(0),
+ ],
+ q(sinasina) => [
+ q(6172),
+ q(0),
+ ],
+ q(sinaugoro) => [
+ q(6063),
+ q(0),
+ ],
+ q(sindarin) => [
+ q(5990),
+ q(0),
+ ],
+ q(sindhi) => [
+ q(0395),
+ q(0),
+ ],
+ q(sindhi bhil) => [
+ q(5842),
+ q(0),
+ ],
+ q(sindihui mixtec) => [
+ q(7397),
+ q(0),
+ ],
+ q(singa) => [
+ q(5926),
+ q(0),
+ ],
+ q(singapore sign language) => [
+ q(6036),
+ q(0),
+ ],
+ q(singpho) => [
+ q(5928),
+ q(0),
+ ],
+ q(sinhala) => [
+ q(0381),
+ q(0),
+ ],
+ q(sinhalese) => [
+ q(0381),
+ q(0),
+ ],
+ q(sinicahua mixtec) => [
+ q(7388),
+ q(0),
+ ],
+ q(sinicized miao) => [
+ q(2759),
+ q(0),
+ ],
+ q(sininkere) => [
+ q(6013),
+ q(0),
+ ],
+ q(sino-tibetan languages) => [
+ q(0383),
+ q(0),
+ ],
+ q(sinsauru) => [
+ q(6083),
+ q(0),
+ ],
+ q(sinte romani) => [
+ q(5750),
+ q(0),
+ ],
+ q(sinyar) => [
+ q(6265),
+ q(0),
+ ],
+ q(sio) => [
+ q(7369),
+ q(0),
+ ],
+ q(siona) => [
+ q(6072),
+ q(0),
+ ],
+ q(siouan languages) => [
+ q(0382),
+ q(0),
+ ],
+ q(sipacapense) => [
+ q(5623),
+ q(0),
+ ],
+ q(sira) => [
+ q(6228),
+ q(0),
+ ],
+ q(siraya) => [
+ q(2339),
+ q(0),
+ ],
+ q(sirenik yupik) => [
+ q(7607),
+ q(0),
+ ],
+ q(siri) => [
+ q(5974),
+ q(0),
+ ],
+ q(siriano) => [
+ q(6140),
+ q(0),
+ ],
+ q(siriono) => [
+ q(6145),
+ q(0),
+ ],
+ q(sirmauri) => [
+ q(6151),
+ q(0),
+ ],
+ q(siroi) => [
+ q(6156),
+ q(0),
+ ],
+ q(sissala) => [
+ q(6023),
+ q(0),
+ ],
+ q(sissano) => [
+ q(6167),
+ q(0),
+ ],
+ q(siuslaw) => [
+ q(5975),
+ q(0),
+ ],
+ q(sivandi) => [
+ q(5980),
+ q(0),
+ ],
+ q(siwai) => [
+ q(5978),
+ q(0),
+ ],
+ q(siwi) => [
+ q(5981),
+ q(0),
+ ],
+ q(siwu) => [
+ q(0734),
+ q(0),
+ ],
+ q(siyin chin) => [
+ q(1876),
+ q(0),
+ ],
+ q(skagit) => [
+ q(5998),
+ q(0),
+ ],
+ q(skalvian) => [
+ q(6221),
+ q(0),
+ ],
+ q(skepi creole dutch) => [
+ q(6019),
+ q(0),
+ ],
+ q(skolt sami) => [
+ q(0393),
+ q(0),
+ ],
+ q(skou) => [
+ q(6018),
+ q(0),
+ ],
+ q(slave (athapascan)) => [
+ q(0107),
+ q(0),
+ ],
+ q(slavic languages) => [
+ q(0384),
+ q(0),
+ ],
+ q(slovak) => [
+ q(0385),
+ q(0),
+ ],
+ q(slovakian sign language) => [
+ q(6218),
+ q(0),
+ ],
+ q(slovenian) => [
+ q(0386),
+ q(0),
+ ],
+ q(small flowery miao) => [
+ q(5915),
+ q(0),
+ ],
+ q(smarky kanum) => [
+ q(3682),
+ q(0),
+ ],
+ q(snohomish) => [
+ q(6073),
+ q(0),
+ ],
+ q(so) => [
+ q(6171),
+ q(0),
+ ],
+ q(so (cameroon)) => [
+ q(6102),
+ q(0),
+ ],
+ q(so (democratic republic of congo)) => [
+ q(6086),
+ q(0),
+ ],
+ q(so'a) => [
+ q(6169),
+ q(0),
+ ],
+ q(sobei) => [
+ q(6085),
+ q(0),
+ ],
+ q(sochiapam chinantec) => [
+ q(1870),
+ q(0),
+ ],
+ q(sochiapan chinantec) => [
+ q(1870),
+ q(0),
+ ],
+ q(soga) => [
+ q(7328),
+ q(0),
+ ],
+ q(sogdian) => [
+ q(0397),
+ q(0),
+ ],
+ q(soi) => [
+ q(6091),
+ q(0),
+ ],
+ q(sok) => [
+ q(6008),
+ q(0),
+ ],
+ q(sokoro) => [
+ q(6092),
+ q(0),
+ ],
+ q(solano) => [
+ q(7374),
+ q(0),
+ ],
+ q(soli) => [
+ q(5853),
+ q(0),
+ ],
+ q(solong) => [
+ q(0556),
+ q(0),
+ ],
+ q(solos) => [
+ q(6093),
+ q(0),
+ ],
+ q(som) => [
+ q(6044),
+ q(0),
+ ],
+ q(somali) => [
+ q(0398),
+ q(0),
+ ],
+ q(somba-siawari) => [
+ q(1317),
+ q(0),
+ ],
+ q(somrai) => [
+ q(6097),
+ q(0),
+ ],
+ q(somray) => [
+ q(6056),
+ q(0),
+ ],
+ q(somyev) => [
+ q(3274),
+ q(0),
+ ],
+ q(sonde) => [
+ q(5939),
+ q(0),
+ ],
+ q(songa) => [
+ q(5927),
+ q(0),
+ ],
+ q(songe) => [
+ q(6095),
+ q(0),
+ ],
+ q(songhai languages) => [
+ q(0399),
+ q(0),
+ ],
+ q(songo) => [
+ q(6094),
+ q(0),
+ ],
+ q(songomeno) => [
+ q(6088),
+ q(0),
+ ],
+ q(songoora) => [
+ q(6087),
+ q(0),
+ ],
+ q(sonha) => [
+ q(6090),
+ q(0),
+ ],
+ q(sonia) => [
+ q(5973),
+ q(0),
+ ],
+ q(soninke) => [
+ q(0396),
+ q(0),
+ ],
+ q(sonsorol) => [
+ q(6100),
+ q(0),
+ ],
+ q(soo) => [
+ q(6386),
+ q(0),
+ ],
+ q(sop) => [
+ q(6859),
+ q(0),
+ ],
+ q(soqotri) => [
+ q(6131),
+ q(0),
+ ],
+ q(sora) => [
+ q(6134),
+ q(0),
+ ],
+ q(sorbian languages) => [
+ q(0467),
+ q(0),
+ ],
+ q(sori-harengan) => [
+ q(5836),
+ q(0),
+ ],
+ q(sorkhei) => [
+ q(6127),
+ q(0),
+ ],
+ q(sorothaptic) => [
+ q(6252),
+ q(0),
+ ],
+ q(sorsogon ayta) => [
+ q(1002),
+ q(0),
+ ],
+ q(sos kundi) => [
+ q(5879),
+ q(0),
+ ],
+ q(sota kanum) => [
+ q(3541),
+ q(0),
+ ],
+ q(sotho, southern) => [
+ q(0400),
+ q(0),
+ ],
+ q(sou) => [
+ q(6128),
+ q(0),
+ ],
+ q(south african sign language) => [
+ q(5916),
+ q(0),
+ ],
+ q(south american indian (other)) => [
+ q(0367),
+ q(0),
+ ],
+ q(south american indian languages) => [
+ q(0367),
+ q(1),
+ ],
+ q(south awyu) => [
+ q(0975),
+ q(0),
+ ],
+ q(south azerbaijani) => [
+ q(1008),
+ q(0),
+ ],
+ q(south bolivian quechua) => [
+ q(5619),
+ q(0),
+ ],
+ q(south caucasian languages) => [
+ q(0495),
+ q(0),
+ ],
+ q(south central banda) => [
+ q(3953),
+ q(0),
+ ],
+ q(south central dinka) => [
+ q(2019),
+ q(0),
+ ],
+ q(south efate) => [
+ q(2259),
+ q(0),
+ ],
+ q(south fali) => [
+ q(2303),
+ q(0),
+ ],
+ q(south giziga) => [
+ q(2499),
+ q(0),
+ ],
+ q(south lembata) => [
+ q(3927),
+ q(0),
+ ],
+ q(south levantine arabic) => [
+ q(0717),
+ q(0),
+ ],
+ q(south marquesan) => [
+ q(4442),
+ q(0),
+ ],
+ q(south muyu) => [
+ q(3586),
+ q(0),
+ ],
+ q(south ndebele) => [
+ q(0303),
+ q(0),
+ ],
+ q(south nuaulu) => [
+ q(5087),
+ q(0),
+ ],
+ q(south picene) => [
+ q(6121),
+ q(0),
+ ],
+ q(south slavey) => [
+ q(7371),
+ q(0),
+ ],
+ q(south slavic languages) => [
+ q(0534),
+ q(0),
+ ],
+ q(south tairora) => [
+ q(5200),
+ q(0),
+ ],
+ q(south ucayali asheninka) => [
+ q(1833),
+ q(0),
+ ],
+ q(south watut) => [
+ q(4122),
+ q(0),
+ ],
+ q(south wemale) => [
+ q(6503),
+ q(0),
+ ],
+ q(south west bay) => [
+ q(6077),
+ q(0),
+ ],
+ q(southeast ambrym) => [
+ q(6703),
+ q(0),
+ ],
+ q(southeast babar) => [
+ q(6901),
+ q(0),
+ ],
+ q(southeast ijo) => [
+ q(2895),
+ q(0),
+ ],
+ q(southeast pashayi) => [
+ q(5550),
+ q(0),
+ ],
+ q(southeastern dinka) => [
+ q(2059),
+ q(0),
+ ],
+ q(southeastern ixtlan zapotec) => [
+ q(7760),
+ q(0),
+ ],
+ q(southeastern kolami) => [
+ q(4852),
+ q(0),
+ ],
+ q(southeastern nochixtlan mixtec) => [
+ q(4623),
+ q(0),
+ ],
+ q(southeastern pomo) => [
+ q(5496),
+ q(0),
+ ],
+ q(southeastern puebla nahuatl) => [
+ q(4987),
+ q(0),
+ ],
+ q(southeastern tarahumara) => [
+ q(6344),
+ q(0),
+ ],
+ q(southeastern tepehuan) => [
+ q(6192),
+ q(0),
+ ],
+ q(southern alta) => [
+ q(0676),
+ q(0),
+ ],
+ q(southern altai) => [
+ q(0016),
+ q(0),
+ ],
+ q(southern amami-oshima) => [
+ q(0782),
+ q(0),
+ ],
+ q(southern aymara) => [
+ q(0989),
+ q(0),
+ ],
+ q(southern bai) => [
+ q(1148),
+ q(0),
+ ],
+ q(southern balochi) => [
+ q(1060),
+ q(0),
+ ],
+ q(southern betsimisaraka malagasy) => [
+ q(1611),
+ q(0),
+ ],
+ q(southern binukidnon) => [
+ q(4527),
+ q(0),
+ ],
+ q(southern birifor) => [
+ q(1220),
+ q(0),
+ ],
+ q(southern bobo madare) => [
+ q(1552),
+ q(0),
+ ],
+ q(southern bontok) => [
+ q(5128),
+ q(0),
+ ],
+ q(southern carrier) => [
+ q(1639),
+ q(0),
+ ],
+ q(southern catanduanes bicolano) => [
+ q(1285),
+ q(0),
+ ],
+ q(southern conchucos ancash quechua) => [
+ q(5660),
+ q(0),
+ ],
+ q(southern dagaare) => [
+ q(1991),
+ q(0),
+ ],
+ q(southern dong) => [
+ q(3402),
+ q(0),
+ ],
+ q(southern east cree) => [
+ q(1843),
+ q(0),
+ ],
+ q(southern ghale) => [
+ q(2474),
+ q(0),
+ ],
+ q(southern gondi) => [
+ q(2467),
+ q(0),
+ ],
+ q(southern grebo) => [
+ q(2580),
+ q(0),
+ ],
+ q(southern guiyang hmong) => [
+ q(2758),
+ q(0),
+ ],
+ q(southern guiyang miao) => [
+ q(2758),
+ q(0),
+ ],
+ q(southern haida) => [
+ q(2689),
+ q(0),
+ ],
+ q(southern hindko) => [
+ q(2761),
+ q(0),
+ ],
+ q(southern kalapuya) => [
+ q(6248),
+ q(0),
+ ],
+ q(southern kalinga) => [
+ q(3544),
+ q(0),
+ ],
+ q(southern kisi) => [
+ q(3560),
+ q(0),
+ ],
+ q(southern kiwai) => [
+ q(3328),
+ q(0),
+ ],
+ q(southern kurdish) => [
+ q(5877),
+ q(0),
+ ],
+ q(southern lolopo) => [
+ q(7606),
+ q(0),
+ ],
+ q(southern lorung) => [
+ q(3998),
+ q(0),
+ ],
+ q(southern luri) => [
+ q(4039),
+ q(0),
+ ],
+ q(southern ma'di) => [
+ q(6071),
+ q(0),
+ ],
+ q(southern mashan hmong) => [
+ q(2737),
+ q(0),
+ ],
+ q(southern mashan miao) => [
+ q(2737),
+ q(0),
+ ],
+ q(southern mnong) => [
+ q(4375),
+ q(0),
+ ],
+ q(southern muji) => [
+ q(7544),
+ q(0),
+ ],
+ q(southern nago) => [
+ q(4993),
+ q(0),
+ ],
+ q(southern nambikuara) => [
+ q(4673),
+ q(0),
+ ],
+ q(southern ngbandi) => [
+ q(4713),
+ q(0),
+ ],
+ q(southern nicobarese) => [
+ q(4844),
+ q(0),
+ ],
+ q(southern nisu) => [
+ q(5014),
+ q(0),
+ ],
+ q(southern nuni) => [
+ q(4961),
+ q(0),
+ ],
+ q(southern ohlone) => [
+ q(1873),
+ q(0),
+ ],
+ q(southern one) => [
+ q(5249),
+ q(0),
+ ],
+ q(southern pame) => [
+ q(5466),
+ q(0),
+ ],
+ q(southern pashto) => [
+ q(5312),
+ q(0),
+ ],
+ q(southern pastaza quechua) => [
+ q(5625),
+ q(0),
+ ],
+ q(southern pomo) => [
+ q(5354),
+ q(0),
+ ],
+ q(southern puebla mixtec) => [
+ q(4263),
+ q(0),
+ ],
+ q(southern puget sound salish) => [
+ q(6027),
+ q(0),
+ ],
+ q(southern pumi) => [
+ q(5452),
+ q(0),
+ ],
+ q(southern qiandong miao) => [
+ q(2753),
+ q(0),
+ ],
+ q(southern qiang) => [
+ q(5664),
+ q(0),
+ ],
+ q(southern rengma naga) => [
+ q(5000),
+ q(0),
+ ],
+ q(southern rincon zapotec) => [
+ q(7794),
+ q(0),
+ ],
+ q(southern roglai) => [
+ q(5715),
+ q(0),
+ ],
+ q(southern sama) => [
+ q(6154),
+ q(0),
+ ],
+ q(southern sami) => [
+ q(0387),
+ q(0),
+ ],
+ q(southern samo) => [
+ q(5832),
+ q(0),
+ ],
+ q(southern sierra miwok) => [
+ q(6001),
+ q(0),
+ ],
+ q(southern sorsoganon) => [
+ q(6149),
+ q(0),
+ ],
+ q(southern sotho) => [
+ q(0400),
+ q(1),
+ ],
+ q(southern subanen) => [
+ q(3744),
+ q(0),
+ ],
+ q(southern thai) => [
+ q(6099),
+ q(0),
+ ],
+ q(southern tiwa) => [
+ q(6456),
+ q(0),
+ ],
+ q(southern toussian) => [
+ q(7038),
+ q(0),
+ ],
+ q(southern tujia) => [
+ q(6465),
+ q(0),
+ ],
+ q(southern tutchone) => [
+ q(6330),
+ q(0),
+ ],
+ q(southern uzbek) => [
+ q(6884),
+ q(0),
+ ],
+ q(southern yukaghir) => [
+ q(7633),
+ q(0),
+ ],
+ q(southwest gbaya) => [
+ q(2598),
+ q(0),
+ ],
+ q(southwest palawano) => [
+ q(5441),
+ q(0),
+ ],
+ q(southwest pashayi) => [
+ q(5549),
+ q(0),
+ ],
+ q(southwest tanna) => [
+ q(5077),
+ q(0),
+ ],
+ q(southwestern bontok) => [
+ q(6902),
+ q(0),
+ ],
+ q(southwestern dinka) => [
+ q(2027),
+ q(0),
+ ],
+ q(southwestern fars) => [
+ q(2309),
+ q(0),
+ ],
+ q(southwestern guiyang hmong) => [
+ q(2743),
+ q(0),
+ ],
+ q(southwestern huishui hmong) => [
+ q(2744),
+ q(0),
+ ],
+ q(southwestern huishui miao) => [
+ q(2744),
+ q(0),
+ ],
+ q(southwestern nisu) => [
+ q(5029),
+ q(0),
+ ],
+ q(southwestern tamang) => [
+ q(6637),
+ q(0),
+ ],
+ q(southwestern tarahumara) => [
+ q(6725),
+ q(0),
+ ],
+ q(southwestern tepehuan) => [
+ q(6484),
+ q(0),
+ ],
+ q(southwestern tlaxiaco mixtec) => [
+ q(4154),
+ q(0),
+ ],
+ q(sowa) => [
+ q(6241),
+ q(0),
+ ],
+ q(sowanda) => [
+ q(6101),
+ q(0),
+ ],
+ q(sowari) => [
+ q(2078),
+ q(0),
+ ],
+ q(soyaltepec mazatec) => [
+ q(6946),
+ q(0),
+ ],
+ q(soyaltepec mixtec) => [
+ q(6947),
+ q(0),
+ ],
+ q(spanish) => [
+ q(0401),
+ q(0),
+ ],
+ q(spanish sign language) => [
+ q(6168),
+ q(0),
+ ],
+ q(spiti bhoti) => [
+ q(6119),
+ q(0),
+ ],
+ q(spokane) => [
+ q(6114),
+ q(0),
+ ],
+ q(squamish) => [
+ q(6132),
+ q(0),
+ ],
+ q(sranan tongo) => [
+ q(0403),
+ q(0),
+ ],
+ q(sri lankan creole malay) => [
+ q(5861),
+ q(0),
+ ],
+ q(sri lankan sign language) => [
+ q(6130),
+ q(0),
+ ],
+ q(standard arabic) => [
+ q(0866),
+ q(0),
+ ],
+ q(standard estonian) => [
+ q(2210),
+ q(0),
+ ],
+ q(standard latvian) => [
+ q(4042),
+ q(0),
+ ],
+ q(standard malay) => [
+ q(7793),
+ q(0),
+ ],
+ q(stellingwerfs) => [
+ q(6188),
+ q(0),
+ ],
+ q(stod bhoti) => [
+ q(5849),
+ q(0),
+ ],
+ q(stoney) => [
+ q(6191),
+ q(0),
+ ],
+ q(straits salish) => [
+ q(6194),
+ q(0),
+ ],
+ q(suabo) => [
+ q(6276),
+ q(0),
+ ],
+ q(suarmin) => [
+ q(5903),
+ q(0),
+ ],
+ q(suau) => [
+ q(6234),
+ q(0),
+ ],
+ q(suba) => [
+ q(6244),
+ q(0),
+ ],
+ q(suba-simbiti) => [
+ q(6155),
+ q(0),
+ ],
+ q(subi) => [
+ q(7370),
+ q(0),
+ ],
+ q(subiya) => [
+ q(5847),
+ q(0),
+ ],
+ q(subtiaba) => [
+ q(6209),
+ q(0),
+ ],
+ q(sudanese arabic) => [
+ q(0835),
+ q(0),
+ ],
+ q(sudanese creole arabic) => [
+ q(5363),
+ q(0),
+ ],
+ q(sudest) => [
+ q(6406),
+ q(0),
+ ],
+ q(sudovian) => [
+ q(7380),
+ q(0),
+ ],
+ q(suena) => [
+ q(6203),
+ q(0),
+ ],
+ q(suga) => [
+ q(5924),
+ q(0),
+ ],
+ q(suganga) => [
+ q(6204),
+ q(0),
+ ],
+ q(sugut dusun) => [
+ q(3736),
+ q(0),
+ ],
+ q(sui) => [
+ q(6227),
+ q(0),
+ ],
+ q(suki) => [
+ q(6205),
+ q(0),
+ ],
+ q(suku) => [
+ q(6201),
+ q(0),
+ ],
+ q(sukuma) => [
+ q(0408),
+ q(0),
+ ],
+ q(sukur) => [
+ q(6260),
+ q(0),
+ ],
+ q(sukurum) => [
+ q(7795),
+ q(0),
+ ],
+ q(sula) => [
+ q(6275),
+ q(0),
+ ],
+ q(sulka) => [
+ q(6200),
+ q(0),
+ ],
+ q(sulod) => [
+ q(6138),
+ q(0),
+ ],
+ q(sulung) => [
+ q(6210),
+ q(0),
+ ],
+ q(suma) => [
+ q(6125),
+ q(0),
+ ],
+ q(sumariup) => [
+ q(5977),
+ q(0),
+ ],
+ q(sumau) => [
+ q(5979),
+ q(0),
+ ],
+ q(sumbawa) => [
+ q(6058),
+ q(0),
+ ],
+ q(sumbwa) => [
+ q(6211),
+ q(0),
+ ],
+ q(sumerian) => [
+ q(0411),
+ q(0),
+ ],
+ q(sumi naga) => [
+ q(5021),
+ q(0),
+ ],
+ q(sunam) => [
+ q(6163),
+ q(0),
+ ],
+ q(sundanese) => [
+ q(0409),
+ q(0),
+ ],
+ q(sunum) => [
+ q(7553),
+ q(0),
+ ],
+ q(sunwar) => [
+ q(6213),
+ q(0),
+ ],
+ q(suomenruotsalainen viittomakieli) => [
+ q(2350),
+ q(0),
+ ],
+ q(suoy) => [
+ q(6264),
+ q(0),
+ ],
+ q(supyire senoufo) => [
+ q(6115),
+ q(0),
+ ],
+ q(sur) => [
+ q(6360),
+ q(0),
+ ],
+ q(surbakhal) => [
+ q(5838),
+ q(0),
+ ],
+ q(suri) => [
+ q(6207),
+ q(0),
+ ],
+ q(surigaonon) => [
+ q(5920),
+ q(0),
+ ],
+ q(surjapuri) => [
+ q(5992),
+ q(0),
+ ],
+ q(sursurunga) => [
+ q(5936),
+ q(0),
+ ],
+ q(suruaha) => [
+ q(6242),
+ q(0),
+ ],
+ q(surubu) => [
+ q(5874),
+ q(0),
+ ],
+ q(surui) => [
+ q(6148),
+ q(0),
+ ],
+ q(surui do para) => [
+ q(4146),
+ q(0),
+ ],
+ q(susquehannock) => [
+ q(6126),
+ q(0),
+ ],
+ q(susu) => [
+ q(0410),
+ q(0),
+ ],
+ q(susuami) => [
+ q(6173),
+ q(0),
+ ],
+ q(suundi) => [
+ q(5878),
+ q(0),
+ ],
+ q(suwawa) => [
+ q(6239),
+ q(0),
+ ],
+ q(suya) => [
+ q(6212),
+ q(0),
+ ],
+ q(svan) => [
+ q(6214),
+ q(0),
+ ],
+ q(swabian) => [
+ q(6225),
+ q(0),
+ ],
+ q(swahili) => [
+ q(0412),
+ q(0),
+ ],
+ q(swahili (individual language)) => [
+ q(6226),
+ q(0),
+ ],
+ q(swahili (macrolanguage)) => [
+ q(0412),
+ q(1),
+ ],
+ q(swampy cree) => [
+ q(1875),
+ q(0),
+ ],
+ q(swati) => [
+ q(0407),
+ q(0),
+ ],
+ q(swedish) => [
+ q(0413),
+ q(0),
+ ],
+ q(swedish sign language) => [
+ q(6230),
+ q(0),
+ ],
+ q(swiss german) => [
+ q(0166),
+ q(0),
+ ],
+ q(swiss-french sign language) => [
+ q(6170),
+ q(0),
+ ],
+ q(swiss-german sign language) => [
+ q(5922),
+ q(0),
+ ],
+ q(swiss-italian sign language) => [
+ q(6025),
+ q(0),
+ ],
+ q(syenara senoufo) => [
+ q(5960),
+ q(0),
+ ],
+ q(sylheti) => [
+ q(6261),
+ q(0),
+ ],
+ q(syriac) => [
+ q(0415),
+ q(0),
+ ],
+ q(t'en) => [
+ q(6343),
+ q(0),
+ ],
+ q(ta'izzi-adeni arabic) => [
+ q(0594),
+ q(0),
+ ],
+ q(taabwa) => [
+ q(6291),
+ q(0),
+ ],
+ q(tabaa zapotec) => [
+ q(7667),
+ q(0),
+ ],
+ q(tabaru) => [
+ q(6324),
+ q(0),
+ ],
+ q(tabasco chontal) => [
+ q(1716),
+ q(0),
+ ],
+ q(tabasco nahuatl) => [
+ q(4815),
+ q(0),
+ ],
+ q(tabasco zoque) => [
+ q(7754),
+ q(0),
+ ],
+ q(tabassaran) => [
+ q(6280),
+ q(0),
+ ],
+ q(tabla) => [
+ q(6540),
+ q(0),
+ ],
+ q(tabo) => [
+ q(3446),
+ q(0),
+ ],
+ q(tabriak) => [
+ q(6768),
+ q(0),
+ ],
+ q(tacahua mixtec) => [
+ q(7398),
+ q(0),
+ ],
+ q(tacana) => [
+ q(6530),
+ q(0),
+ ],
+ q(tachawit) => [
+ q(5959),
+ q(0),
+ ],
+ q(tachelhit) => [
+ q(5944),
+ q(0),
+ ],
+ q(tachoni) => [
+ q(4021),
+ q(0),
+ ],
+ q(tadaksahak) => [
+ q(2133),
+ q(0),
+ ],
+ q(tadyawan) => [
+ q(6370),
+ q(0),
+ ],
+ q(tae') => [
+ q(5768),
+ q(0),
+ ],
+ q(tafi) => [
+ q(6329),
+ q(0),
+ ],
+ q(tagabawa) => [
+ q(1172),
+ q(0),
+ ],
+ q(tagakaulo) => [
+ q(3381),
+ q(0),
+ ],
+ q(tagal murut) => [
+ q(4570),
+ q(0),
+ ],
+ q(tagalog) => [
+ q(0425),
+ q(0),
+ ],
+ q(tagargrent) => [
+ q(5268),
+ q(0),
+ ],
+ q(tagbanwa) => [
+ q(6322),
+ q(0),
+ ],
+ q(tagbu) => [
+ q(6313),
+ q(0),
+ ],
+ q(tagdal) => [
+ q(6349),
+ q(0),
+ ],
+ q(tagish) => [
+ q(6415),
+ q(0),
+ ],
+ q(tagoi) => [
+ q(6285),
+ q(0),
+ ],
+ q(tagwana senoufo) => [
+ q(6414),
+ q(0),
+ ],
+ q(tahaggart tamahaq) => [
+ q(6433),
+ q(0),
+ ],
+ q(tahitian) => [
+ q(0416),
+ q(0),
+ ],
+ q(tahltan) => [
+ q(6431),
+ q(0),
+ ],
+ q(tai) => [
+ q(6297),
+ q(0),
+ ],
+ q(tai daeng) => [
+ q(6756),
+ q(0),
+ ],
+ q(tai dam) => [
+ q(1291),
+ q(0),
+ ],
+ q(tai do) => [
+ q(6752),
+ q(0),
+ ],
+ q(tai don) => [
+ q(6718),
+ q(0),
+ ],
+ q(tai hang tong) => [
+ q(6417),
+ q(0),
+ ],
+ q(tai hongjin) => [
+ q(6458),
+ q(0),
+ ],
+ q(tai languages) => [
+ q(0417),
+ q(0),
+ ],
+ q(tai loi) => [
+ q(6497),
+ q(0),
+ ],
+ q(tai long) => [
+ q(6422),
+ q(0),
+ ],
+ q(tai mene) => [
+ q(6520),
+ q(0),
+ ],
+ q(tai nua) => [
+ q(6352),
+ q(0),
+ ],
+ q(tai pao) => [
+ q(6585),
+ q(0),
+ ],
+ q(tai thanh) => [
+ q(6517),
+ q(0),
+ ],
+ q(tai ya) => [
+ q(1907),
+ q(0),
+ ],
+ q(taiap) => [
+ q(2570),
+ q(0),
+ ],
+ q(taikat) => [
+ q(0829),
+ q(0),
+ ],
+ q(tainae) => [
+ q(0667),
+ q(0),
+ ],
+ q(taino) => [
+ q(6544),
+ q(0),
+ ],
+ q(tairuma) => [
+ q(6771),
+ q(0),
+ ],
+ q(taita) => [
+ q(1943),
+ q(0),
+ ],
+ q(taiwan sign language) => [
+ q(6647),
+ q(0),
+ ],
+ q(taje) => [
+ q(5344),
+ q(0),
+ ],
+ q(tajik) => [
+ q(0424),
+ q(0),
+ ],
+ q(tajiki arabic) => [
+ q(0566),
+ q(0),
+ ],
+ q(tajio) => [
+ q(6358),
+ q(0),
+ ],
+ q(tajuasohn) => [
+ q(6459),
+ q(0),
+ ],
+ q(takelma) => [
+ q(6473),
+ q(0),
+ ],
+ q(takestani) => [
+ q(6478),
+ q(0),
+ ],
+ q(takia) => [
+ q(6303),
+ q(0),
+ ],
+ q(takua) => [
+ q(6483),
+ q(0),
+ ],
+ q(takuu) => [
+ q(4825),
+ q(0),
+ ],
+ q(takwane) => [
+ q(6470),
+ q(0),
+ ],
+ q(tal) => [
+ q(6288),
+ q(0),
+ ],
+ q(tala) => [
+ q(6287),
+ q(0),
+ ],
+ q(talaandig) => [
+ q(1251),
+ q(0),
+ ],
+ q(talaud) => [
+ q(6487),
+ q(0),
+ ],
+ q(taliabu) => [
+ q(6502),
+ q(0),
+ ],
+ q(talieng) => [
+ q(6354),
+ q(0),
+ ],
+ q(talinga-bwisi) => [
+ q(6490),
+ q(0),
+ ],
+ q(talise) => [
+ q(6498),
+ q(0),
+ ],
+ q(talodi) => [
+ q(6495),
+ q(0),
+ ],
+ q(taloki) => [
+ q(6491),
+ q(0),
+ ],
+ q(talondo') => [
+ q(6494),
+ q(0),
+ ],
+ q(talu) => [
+ q(7610),
+ q(0),
+ ],
+ q(talur) => [
+ q(2916),
+ q(0),
+ ],
+ q(talysh) => [
+ q(6505),
+ q(0),
+ ],
+ q(tama (chad)) => [
+ q(6506),
+ q(0),
+ ],
+ q(tama (colombia)) => [
+ q(6381),
+ q(0),
+ ],
+ q(tamagario) => [
+ q(6332),
+ q(0),
+ ],
+ q(taman (indonesia)) => [
+ q(6518),
+ q(0),
+ ],
+ q(taman (myanmar)) => [
+ q(6336),
+ q(0),
+ ],
+ q(tamanaku) => [
+ q(6529),
+ q(0),
+ ],
+ q(tamashek) => [
+ q(0434),
+ q(0),
+ ],
+ q(tamasheq) => [
+ q(6292),
+ q(0),
+ ],
+ q(tamazola mixtec) => [
+ q(6953),
+ q(0),
+ ],
+ q(tambas) => [
+ q(6359),
+ q(0),
+ ],
+ q(tambora) => [
+ q(7428),
+ q(0),
+ ],
+ q(tambotalo) => [
+ q(6499),
+ q(0),
+ ],
+ q(tambunan dusun) => [
+ q(3737),
+ q(0),
+ ],
+ q(tami) => [
+ q(6528),
+ q(0),
+ ],
+ q(tamil) => [
+ q(0418),
+ q(0),
+ ],
+ q(tamki) => [
+ q(6298),
+ q(0),
+ ],
+ q(tamnim citak) => [
+ q(6516),
+ q(0),
+ ],
+ q(tampias lobu) => [
+ q(3980),
+ q(0),
+ ],
+ q(tampuan) => [
+ q(6590),
+ q(0),
+ ],
+ q(tampulma) => [
+ q(6583),
+ q(0),
+ ],
+ q(tanacross) => [
+ q(6327),
+ q(0),
+ ],
+ q(tanahmerah) => [
+ q(6337),
+ q(0),
+ ],
+ q(tanaina) => [
+ q(6392),
+ q(0),
+ ],
+ q(tanapag) => [
+ q(6591),
+ q(0),
+ ],
+ q(tandaganon) => [
+ q(6405),
+ q(0),
+ ],
+ q(tandia) => [
+ q(6537),
+ q(0),
+ ],
+ q(tandroy-mahafaly malagasy) => [
+ q(6369),
+ q(0),
+ ],
+ q(tanema) => [
+ q(6551),
+ q(0),
+ ],
+ q(tangale) => [
+ q(6289),
+ q(0),
+ ],
+ q(tangchangya) => [
+ q(6549),
+ q(0),
+ ],
+ q(tangga) => [
+ q(6402),
+ q(0),
+ ],
+ q(tanggu) => [
+ q(6412),
+ q(0),
+ ],
+ q(tangkhul naga) => [
+ q(4919),
+ q(0),
+ ],
+ q(tangko) => [
+ q(6482),
+ q(0),
+ ],
+ q(tanglang) => [
+ q(7611),
+ q(0),
+ ],
+ q(tangoa) => [
+ q(6407),
+ q(0),
+ ],
+ q(tanguat) => [
+ q(6318),
+ q(0),
+ ],
+ q(tangut) => [
+ q(6735),
+ q(0),
+ ],
+ q(tanimbili) => [
+ q(6305),
+ q(0),
+ ],
+ q(tanimuca-retuara) => [
+ q(6532),
+ q(0),
+ ],
+ q(tanjijili) => [
+ q(6796),
+ q(0),
+ ],
+ q(tankarana malagasy) => [
+ q(7312),
+ q(0),
+ ],
+ q(tanosy malagasy) => [
+ q(6747),
+ q(0),
+ ],
+ q(tanzanian sign language) => [
+ q(6762),
+ q(0),
+ ],
+ q(tapeba) => [
+ q(6302),
+ q(0),
+ ],
+ q(tapei) => [
+ q(0648),
+ q(0),
+ ],
+ q(tapiete) => [
+ q(6580),
+ q(0),
+ ],
+ q(tapirape) => [
+ q(6284),
+ q(0),
+ ],
+ q(tarao naga) => [
+ q(6620),
+ q(0),
+ ],
+ q(tareng) => [
+ q(6409),
+ q(0),
+ ],
+ q(tariana) => [
+ q(6283),
+ q(0),
+ ],
+ q(tarifit) => [
+ q(5721),
+ q(0),
+ ],
+ q(tarok) => [
+ q(7487),
+ q(0),
+ ],
+ q(taroko) => [
+ q(6627),
+ q(0),
+ ],
+ q(tarpia) => [
+ q(6578),
+ q(0),
+ ],
+ q(tartessian) => [
+ q(6742),
+ q(0),
+ ],
+ q(tasawaq) => [
+ q(6724),
+ q(0),
+ ],
+ q(tase naga) => [
+ q(5027),
+ q(0),
+ ],
+ q(tasmanian) => [
+ q(7402),
+ q(0),
+ ],
+ q(tasmate) => [
+ q(6524),
+ q(0),
+ ],
+ q(tataltepec chatino) => [
+ q(1878),
+ q(0),
+ ],
+ q(tatana) => [
+ q(6746),
+ q(0),
+ ],
+ q(tatar) => [
+ q(0419),
+ q(0),
+ ],
+ q(tatuyo) => [
+ q(6296),
+ q(0),
+ ],
+ q(tauade) => [
+ q(6658),
+ q(0),
+ ],
+ q(taulil) => [
+ q(6687),
+ q(0),
+ ],
+ q(taungyo) => [
+ q(6339),
+ q(0),
+ ],
+ q(taupota) => [
+ q(6575),
+ q(0),
+ ],
+ q(tause) => [
+ q(6282),
+ q(0),
+ ],
+ q(taushiro) => [
+ q(6623),
+ q(0),
+ ],
+ q(tausug) => [
+ q(6638),
+ q(0),
+ ],
+ q(tauya) => [
+ q(6748),
+ q(0),
+ ],
+ q(taveta) => [
+ q(6707),
+ q(0),
+ ],
+ q(tavoyan) => [
+ q(6705),
+ q(0),
+ ],
+ q(tavringer romani) => [
+ q(5755),
+ q(0),
+ ],
+ q(tawala) => [
+ q(6315),
+ q(0),
+ ],
+ q(tawallammat tamajaq) => [
+ q(6671),
+ q(0),
+ ],
+ q(tawande) => [
+ q(7400),
+ q(0),
+ ],
+ q(tawang monpa) => [
+ q(6720),
+ q(0),
+ ],
+ q(tawara) => [
+ q(6719),
+ q(0),
+ ],
+ q(taworta) => [
+ q(6316),
+ q(0),
+ ],
+ q(tawoyan) => [
+ q(6730),
+ q(0),
+ ],
+ q(tawr chin) => [
+ q(6340),
+ q(0),
+ ],
+ q(tay) => [
+ q(6761),
+ q(0),
+ ],
+ q(tay boi) => [
+ q(6294),
+ q(0),
+ ],
+ q(tay khang) => [
+ q(6548),
+ q(0),
+ ],
+ q(tay sa pa) => [
+ q(6757),
+ q(0),
+ ],
+ q(tay tac) => [
+ q(6758),
+ q(0),
+ ],
+ q(tayabas ayta) => [
+ q(1005),
+ q(0),
+ ],
+ q(tayart tamajeq) => [
+ q(6437),
+ q(0),
+ ],
+ q(tayo) => [
+ q(1757),
+ q(0),
+ ],
+ q(taznatit) => [
+ q(2584),
+ q(0),
+ ],
+ q(tboli) => [
+ q(6312),
+ q(0),
+ ],
+ q(tchitchege) => [
+ q(6335),
+ q(0),
+ ],
+ q(tchumbuli) => [
+ q(1393),
+ q(0),
+ ],
+ q(te'un) => [
+ q(6702),
+ q(0),
+ ],
+ q(teanu) => [
+ q(6481),
+ q(0),
+ ],
+ q(tebi) => [
+ q(2075),
+ q(0),
+ ],
+ q(tebul sign language) => [
+ q(6653),
+ q(0),
+ ],
+ q(tebul ure dogon) => [
+ q(2144),
+ q(0),
+ ],
+ q(tecpatlan totonac) => [
+ q(6345),
+ q(0),
+ ],
+ q(tedaga) => [
+ q(6693),
+ q(0),
+ ],
+ q(tedim chin) => [
+ q(1880),
+ q(0),
+ ],
+ q(tee) => [
+ q(6476),
+ q(0),
+ ],
+ q(teen) => [
+ q(3975),
+ q(0),
+ ],
+ q(tefaro) => [
+ q(6393),
+ q(0),
+ ],
+ q(tegali) => [
+ q(5684),
+ q(0),
+ ],
+ q(tehit) => [
+ q(3488),
+ q(0),
+ ],
+ q(tehuelche) => [
+ q(6378),
+ q(0),
+ ],
+ q(tejalapan zapotec) => [
+ q(7804),
+ q(0),
+ ],
+ q(teke-ebo) => [
+ q(2190),
+ q(0),
+ ],
+ q(teke-fuumu) => [
+ q(2876),
+ q(0),
+ ],
+ q(teke-kukuya) => [
+ q(3371),
+ q(0),
+ ],
+ q(teke-laali) => [
+ q(3911),
+ q(0),
+ ],
+ q(teke-nzikou) => [
+ q(5120),
+ q(0),
+ ],
+ q(teke-tege) => [
+ q(6377),
+ q(0),
+ ],
+ q(teke-tsaayi) => [
+ q(6751),
+ q(0),
+ ],
+ q(teke-tyee) => [
+ q(6760),
+ q(0),
+ ],
+ q(tektiteko) => [
+ q(6657),
+ q(0),
+ ],
+ q(tela-masbuar) => [
+ q(6704),
+ q(0),
+ ],
+ q(telefol) => [
+ q(6488),
+ q(0),
+ ],
+ q(telugu) => [
+ q(0420),
+ q(0),
+ ],
+ q(teluti) => [
+ q(6500),
+ q(0),
+ ],
+ q(tem) => [
+ q(3186),
+ q(0),
+ ],
+ q(temacine tamazight) => [
+ q(6464),
+ q(0),
+ ],
+ q(temascaltepec nahuatl) => [
+ q(4831),
+ q(0),
+ ],
+ q(tembe) => [
+ q(6596),
+ q(0),
+ ],
+ q(tembo (kitembo)) => [
+ q(6319),
+ q(0),
+ ],
+ q(tembo (motembo)) => [
+ q(6526),
+ q(0),
+ ],
+ q(teme) => [
+ q(6362),
+ q(0),
+ ],
+ q(temein) => [
+ q(6384),
+ q(0),
+ ],
+ q(temi) => [
+ q(6104),
+ q(0),
+ ],
+ q(temiar) => [
+ q(6371),
+ q(0),
+ ],
+ q(temoaya otomi) => [
+ q(5262),
+ q(0),
+ ],
+ q(temoq) => [
+ q(6519),
+ q(0),
+ ],
+ q(tempasuk dusun) => [
+ q(6367),
+ q(0),
+ ],
+ q(temuan) => [
+ q(6527),
+ q(0),
+ ],
+ q(tena) => [
+ q(1134),
+ q(0),
+ ],
+ q(tena lowland quichua) => [
+ q(5630),
+ q(0),
+ ],
+ q(tenango otomi) => [
+ q(5258),
+ q(0),
+ ],
+ q(tene kan dogon) => [
+ q(2138),
+ q(0),
+ ],
+ q(tenggarong kutai malay) => [
+ q(6929),
+ q(0),
+ ],
+ q(tengger) => [
+ q(6385),
+ q(0),
+ ],
+ q(tenharim) => [
+ q(5286),
+ q(0),
+ ],
+ q(tenino) => [
+ q(6599),
+ q(0),
+ ],
+ q(tenis) => [
+ q(6546),
+ q(0),
+ ],
+ q(tennet) => [
+ q(6389),
+ q(0),
+ ],
+ q(teop) => [
+ q(6449),
+ q(0),
+ ],
+ q(teor) => [
+ q(6387),
+ q(0),
+ ],
+ q(tepecano) => [
+ q(6383),
+ q(0),
+ ],
+ q(tepetotutla chinantec) => [
+ q(1798),
+ q(0),
+ ],
+ q(tepeuxila cuicatec) => [
+ q(1910),
+ q(0),
+ ],
+ q(tepinapa chinantec) => [
+ q(1881),
+ q(0),
+ ],
+ q(tepo krumen) => [
+ q(6374),
+ q(0),
+ ],
+ q(ter sami) => [
+ q(5995),
+ q(0),
+ ],
+ q(tera) => [
+ q(6672),
+ q(0),
+ ],
+ q(terebu) => [
+ q(6608),
+ q(0),
+ ],
+ q(terei) => [
+ q(1501),
+ q(0),
+ ],
+ q(tereno) => [
+ q(0422),
+ q(0),
+ ],
+ q(teressa) => [
+ q(6376),
+ q(0),
+ ],
+ q(tereweng) => [
+ q(6717),
+ q(0),
+ ],
+ q(teribe) => [
+ q(6394),
+ q(0),
+ ],
+ q(terik) => [
+ q(6373),
+ q(0),
+ ],
+ q(termanu) => [
+ q(6727),
+ q(0),
+ ],
+ q(ternate) => [
+ q(6395),
+ q(0),
+ ],
+ q(ternateno) => [
+ q(6512),
+ q(0),
+ ],
+ q(tesaka malagasy) => [
+ q(6472),
+ q(0),
+ ],
+ q(tese) => [
+ q(3209),
+ q(0),
+ ],
+ q(teshenawa) => [
+ q(6713),
+ q(0),
+ ],
+ q(teso) => [
+ q(6382),
+ q(0),
+ ],
+ q(tetela) => [
+ q(6492),
+ q(0),
+ ],
+ q(tetelcingo nahuatl) => [
+ q(4819),
+ q(0),
+ ],
+ q(tetete) => [
+ q(6372),
+ q(0),
+ ],
+ q(tetum) => [
+ q(0423),
+ q(0),
+ ],
+ q(tetun dili) => [
+ q(6366),
+ q(0),
+ ],
+ q(teutila cuicatec) => [
+ q(1906),
+ q(0),
+ ],
+ q(tewa (indonesia)) => [
+ q(6715),
+ q(0),
+ ],
+ q(tewa (usa)) => [
+ q(6388),
+ q(0),
+ ],
+ q(tewe) => [
+ q(6729),
+ q(0),
+ ],
+ q(texcatepec otomi) => [
+ q(5265),
+ q(0),
+ ],
+ q(texistepec popoluca) => [
+ q(5499),
+ q(0),
+ ],
+ q(texmelucan zapotec) => [
+ q(7782),
+ q(0),
+ ],
+ q(tezoatlan mixtec) => [
+ q(4600),
+ q(0),
+ ],
+ q(tha) => [
+ q(6436),
+ q(0),
+ ],
+ q(thachanadan) => [
+ q(6426),
+ q(0),
+ ],
+ q(thado chin) => [
+ q(6348),
+ q(0),
+ ],
+ q(thai) => [
+ q(0426),
+ q(0),
+ ],
+ q(thai sign language) => [
+ q(6645),
+ q(0),
+ ],
+ q(thai song) => [
+ q(6084),
+ q(0),
+ ],
+ q(thakali) => [
+ q(6430),
+ q(0),
+ ],
+ q(thangal naga) => [
+ q(4882),
+ q(0),
+ ],
+ q(thangmi) => [
+ q(6420),
+ q(0),
+ ],
+ q(thao) => [
+ q(6158),
+ q(0),
+ ],
+ q(tharaka) => [
+ q(6423),
+ q(0),
+ ],
+ q(thayore) => [
+ q(6418),
+ q(0),
+ ],
+ q(thaypan) => [
+ q(6755),
+ q(0),
+ ],
+ q(the) => [
+ q(6435),
+ q(0),
+ ],
+ q(tho) => [
+ q(6569),
+ q(0),
+ ],
+ q(thompson) => [
+ q(6427),
+ q(0),
+ ],
+ q(thopho) => [
+ q(7612),
+ q(0),
+ ],
+ q(thracian) => [
+ q(6736),
+ q(0),
+ ],
+ q(thu lao) => [
+ q(6753),
+ q(0),
+ ],
+ q(thudam) => [
+ q(6434),
+ q(0),
+ ],
+ q(thulung) => [
+ q(6356),
+ q(0),
+ ],
+ q(thurawal) => [
+ q(6308),
+ q(0),
+ ],
+ q(thuri) => [
+ q(6432),
+ q(0),
+ ],
+ q(tiagbamrin aizi) => [
+ q(0682),
+ q(0),
+ ],
+ q(tiale) => [
+ q(4373),
+ q(0),
+ ],
+ q(tiang) => [
+ q(6310),
+ q(0),
+ ],
+ q(tibea) => [
+ q(4811),
+ q(0),
+ ],
+ q(tibetan) => [
+ q(0427),
+ q(0),
+ ],
+ q(tibeto-burman languages) => [
+ q(0526),
+ q(0),
+ ],
+ q(tichurong) => [
+ q(6338),
+ q(0),
+ ],
+ q(ticuna) => [
+ q(6326),
+ q(0),
+ ],
+ q(tidaa mixtec) => [
+ q(4528),
+ q(0),
+ ],
+ q(tidikelt tamazight) => [
+ q(6438),
+ q(0),
+ ],
+ q(tidong) => [
+ q(6440),
+ q(0),
+ ],
+ q(tidore) => [
+ q(6706),
+ q(0),
+ ],
+ q(tiefo) => [
+ q(6451),
+ q(0),
+ ],
+ q(tiemacewe bozo) => [
+ q(1359),
+ q(0),
+ ],
+ q(tiene) => [
+ q(6443),
+ q(0),
+ ],
+ q(tieyaxo bozo) => [
+ q(1369),
+ q(0),
+ ],
+ q(tifal) => [
+ q(6441),
+ q(0),
+ ],
+ q(tigak) => [
+ q(6398),
+ q(0),
+ ],
+ q(tigon mbembe) => [
+ q(5115),
+ q(0),
+ ],
+ q(tigre) => [
+ q(0428),
+ q(0),
+ ],
+ q(tigrinya) => [
+ q(0429),
+ q(0),
+ ],
+ q(tii) => [
+ q(6741),
+ q(0),
+ ],
+ q(tijaltepec mixtec) => [
+ q(7390),
+ q(0),
+ ],
+ q(tikar) => [
+ q(6445),
+ q(0),
+ ],
+ q(tikopia) => [
+ q(6475),
+ q(0),
+ ],
+ q(tilapa otomi) => [
+ q(5256),
+ q(0),
+ ],
+ q(tillamook) => [
+ q(6446),
+ q(0),
+ ],
+ q(tilquiapan zapotec) => [
+ q(7803),
+ q(0),
+ ],
+ q(tilung) => [
+ q(6444),
+ q(0),
+ ],
+ q(tima) => [
+ q(6523),
+ q(0),
+ ],
+ q(timbe) => [
+ q(6447),
+ q(0),
+ ],
+ q(timbisha) => [
+ q(5291),
+ q(0),
+ ],
+ q(timne) => [
+ q(0421),
+ q(0),
+ ],
+ q(timor pidgin) => [
+ q(6710),
+ q(0),
+ ],
+ q(timucua) => [
+ q(6462),
+ q(0),
+ ],
+ q(timugon murut) => [
+ q(6442),
+ q(0),
+ ],
+ q(tina sambal) => [
+ q(7364),
+ q(0),
+ ],
+ q(tinani) => [
+ q(3768),
+ q(0),
+ ],
+ q(tindi) => [
+ q(6448),
+ q(0),
+ ],
+ q(tingui-boto) => [
+ q(6413),
+ q(0),
+ ],
+ q(tinigua) => [
+ q(6453),
+ q(0),
+ ],
+ q(tinoc kallahan) => [
+ q(6534),
+ q(0),
+ ],
+ q(tinputz) => [
+ q(6595),
+ q(0),
+ ],
+ q(tippera) => [
+ q(6577),
+ q(0),
+ ],
+ q(tira) => [
+ q(6439),
+ q(0),
+ ],
+ q(tirahi) => [
+ q(6607),
+ q(0),
+ ],
+ q(tiranige diga dogon) => [
+ q(6353),
+ q(0),
+ ],
+ q(tiri) => [
+ q(1735),
+ q(0),
+ ],
+ q(tiruray) => [
+ q(6457),
+ q(0),
+ ],
+ q(tita) => [
+ q(6363),
+ q(0),
+ ],
+ q(titan) => [
+ q(6676),
+ q(0),
+ ],
+ q(tiv) => [
+ q(0430),
+ q(0),
+ ],
+ q(tiwa) => [
+ q(3761),
+ q(0),
+ ],
+ q(tiwi) => [
+ q(6455),
+ q(0),
+ ],
+ q(tjurruru) => [
+ q(6466),
+ q(0),
+ ],
+ q(tlachichilco tepehua) => [
+ q(6589),
+ q(0),
+ ],
+ q(tlacoapa me'phaa) => [
+ q(6582),
+ q(0),
+ ],
+ q(tlacoapa tlapanec) => [
+ q(6582),
+ q(0),
+ ],
+ q(tlacoatzintepec chinantec) => [
+ q(1883),
+ q(0),
+ ],
+ q(tlacolulita zapotec) => [
+ q(7767),
+ q(0),
+ ],
+ q(tlahuitoltepec mixe) => [
+ q(4614),
+ q(0),
+ ],
+ q(tlamacazapa nahuatl) => [
+ q(5071),
+ q(0),
+ ],
+ q(tlazoyaltepec mixtec) => [
+ q(4437),
+ q(0),
+ ],
+ q(tlhingan-hol) => [
+ q(0432),
+ q(0),
+ ],
+ q(tlingit) => [
+ q(0433),
+ q(0),
+ ],
+ q(to) => [
+ q(6574),
+ q(0),
+ ],
+ q(to'abaita) => [
+ q(4334),
+ q(0),
+ ],
+ q(toaripi) => [
+ q(6600),
+ q(0),
+ ],
+ q(toba) => [
+ q(6554),
+ q(0),
+ ],
+ q(toba-maskoy) => [
+ q(6511),
+ q(0),
+ ],
+ q(tobagonian creole english) => [
+ q(6403),
+ q(0),
+ ],
+ q(tobanga) => [
+ q(6535),
+ q(0),
+ ],
+ q(tobati) => [
+ q(6663),
+ q(0),
+ ],
+ q(tobelo) => [
+ q(6485),
+ q(0),
+ ],
+ q(tobian) => [
+ q(6572),
+ q(0),
+ ],
+ q(tobilung) => [
+ q(6397),
+ q(0),
+ ],
+ q(tobo) => [
+ q(6321),
+ q(0),
+ ],
+ q(tocantins asurini) => [
+ q(0901),
+ q(0),
+ ],
+ q(tocho) => [
+ q(6300),
+ q(0),
+ ],
+ q(toda) => [
+ q(6346),
+ q(0),
+ ],
+ q(todrah) => [
+ q(6364),
+ q(0),
+ ],
+ q(tofanma) => [
+ q(6489),
+ q(0),
+ ],
+ q(tofin gbe) => [
+ q(6391),
+ q(0),
+ ],
+ q(togbo-vara banda) => [
+ q(6567),
+ q(0),
+ ],
+ q(togoyo) => [
+ q(6416),
+ q(0),
+ ],
+ q(tohono o'odham) => [
+ q(5218),
+ q(0),
+ ],
+ q(tojolabal) => [
+ q(6561),
+ q(0),
+ ],
+ q(tok pisin) => [
+ q(0437),
+ q(0),
+ ],
+ q(tokano) => [
+ q(7809),
+ q(0),
+ ],
+ q(tokelau) => [
+ q(0431),
+ q(0),
+ ],
+ q(tokharian a) => [
+ q(7393),
+ q(0),
+ ],
+ q(tokharian b) => [
+ q(6732),
+ q(0),
+ ],
+ q(toku-no-shima) => [
+ q(6474),
+ q(0),
+ ],
+ q(tol) => [
+ q(3045),
+ q(0),
+ ],
+ q(tolaki) => [
+ q(3783),
+ q(0),
+ ],
+ q(tolomako) => [
+ q(6493),
+ q(0),
+ ],
+ q(tolowa) => [
+ q(6562),
+ q(0),
+ ],
+ q(toma) => [
+ q(6556),
+ q(0),
+ ],
+ q(tomadino) => [
+ q(6357),
+ q(0),
+ ],
+ q(tombelala) => [
+ q(6670),
+ q(0),
+ ],
+ q(tombonuo) => [
+ q(6731),
+ q(0),
+ ],
+ q(tombulu) => [
+ q(6563),
+ q(0),
+ ],
+ q(tomedes) => [
+ q(6557),
+ q(0),
+ ],
+ q(tomini) => [
+ q(6738),
+ q(0),
+ ],
+ q(tomo kan dogon) => [
+ q(2139),
+ q(0),
+ ],
+ q(tomoip) => [
+ q(6601),
+ q(0),
+ ],
+ q(tondano) => [
+ q(6361),
+ q(0),
+ ],
+ q(tondi songway kiini) => [
+ q(6648),
+ q(0),
+ ],
+ q(tonga) => [
+ q(0436),
+ q(1),
+ ],
+ q(tonga (nyasa)) => [
+ q(0435),
+ q(0),
+ ],
+ q(tonga (thailand)) => [
+ q(6553),
+ q(0),
+ ],
+ q(tonga (tonga islands)) => [
+ q(0436),
+ q(0),
+ ],
+ q(tonga (zambia)) => [
+ q(6560),
+ q(0),
+ ],
+ q(tongwe) => [
+ q(6552),
+ q(0),
+ ],
+ q(tonjon) => [
+ q(6463),
+ q(0),
+ ],
+ q(tonkawa) => [
+ q(6606),
+ q(0),
+ ],
+ q(tonsawang) => [
+ q(6550),
+ q(0),
+ ],
+ q(tonsea) => [
+ q(6743),
+ q(0),
+ ],
+ q(tontemboan) => [
+ q(6547),
+ q(0),
+ ],
+ q(tooro) => [
+ q(6664),
+ q(0),
+ ],
+ q(topoiyo) => [
+ q(6573),
+ q(0),
+ ],
+ q(toposa) => [
+ q(6566),
+ q(0),
+ ],
+ q(tora) => [
+ q(6631),
+ q(0),
+ ],
+ q(toraja-sa'dan) => [
+ q(5871),
+ q(0),
+ ],
+ q(toram) => [
+ q(6616),
+ q(0),
+ ],
+ q(torau) => [
+ q(6675),
+ q(0),
+ ],
+ q(tornedalen finnish) => [
+ q(2321),
+ q(0),
+ ],
+ q(toro) => [
+ q(6368),
+ q(0),
+ ],
+ q(toro so dogon) => [
+ q(2142),
+ q(0),
+ ],
+ q(toro tegu dogon) => [
+ q(2143),
+ q(0),
+ ],
+ q(toromono) => [
+ q(6542),
+ q(0),
+ ],
+ q(torona) => [
+ q(6603),
+ q(0),
+ ],
+ q(torres strait creole) => [
+ q(6342),
+ q(0),
+ ],
+ q(torricelli) => [
+ q(6379),
+ q(0),
+ ],
+ q(torwali) => [
+ q(6628),
+ q(0),
+ ],
+ q(tosk albanian) => [
+ q(0760),
+ q(0),
+ ],
+ q(totela) => [
+ q(6666),
+ q(0),
+ ],
+ q(toto) => [
+ q(6740),
+ q(0),
+ ],
+ q(totoli) => [
+ q(6734),
+ q(0),
+ ],
+ q(totomachapan zapotec) => [
+ q(7764),
+ q(0),
+ ],
+ q(totontepec mixe) => [
+ q(4519),
+ q(0),
+ ],
+ q(totoro) => [
+ q(6665),
+ q(0),
+ ],
+ q(touo) => [
+ q(6605),
+ q(0),
+ ],
+ q(toura (cote d'ivoire)) => [
+ q(4762),
+ q(0),
+ ],
+ q(toura (papua new guinea)) => [
+ q(2099),
+ q(0),
+ ],
+ q(towei) => [
+ q(6668),
+ q(0),
+ ],
+ q(trans-new guinea languages) => [
+ q(0515),
+ q(0),
+ ],
+ q(transalpine gaulish) => [
+ q(7387),
+ q(0),
+ ],
+ q(traveller danish) => [
+ q(5740),
+ q(0),
+ ],
+ q(traveller norwegian) => [
+ q(5743),
+ q(0),
+ ],
+ q(traveller scottish) => [
+ q(6617),
+ q(0),
+ ],
+ q(tregami) => [
+ q(6618),
+ q(0),
+ ],
+ q(tremembe) => [
+ q(6510),
+ q(0),
+ ],
+ q(trieng) => [
+ q(6183),
+ q(0),
+ ],
+ q(trimuris) => [
+ q(6450),
+ q(0),
+ ],
+ q(tring) => [
+ q(6408),
+ q(0),
+ ],
+ q(tringgus-sembaan bidayuh) => [
+ q(6629),
+ q(0),
+ ],
+ q(trinidad and tobago sign language) => [
+ q(4014),
+ q(0),
+ ],
+ q(trinidadian creole english) => [
+ q(6612),
+ q(0),
+ ],
+ q(trinitario) => [
+ q(6619),
+ q(0),
+ ],
+ q(trio) => [
+ q(6615),
+ q(0),
+ ],
+ q(truka) => [
+ q(6467),
+ q(0),
+ ],
+ q(trumai) => [
+ q(6594),
+ q(0),
+ ],
+ q(ts'un-lao) => [
+ q(6642),
+ q(0),
+ ],
+ q(tsaangi) => [
+ q(6632),
+ q(0),
+ ],
+ q(tsakhur) => [
+ q(6477),
+ q(0),
+ ],
+ q(tsakonian) => [
+ q(6635),
+ q(0),
+ ],
+ q(tsakwambo) => [
+ q(3640),
+ q(0),
+ ],
+ q(tsamai) => [
+ q(6633),
+ q(0),
+ ],
+ q(tsat) => [
+ q(2823),
+ q(0),
+ ],
+ q(tsaukambo) => [
+ q(3640),
+ q(0),
+ ],
+ q(tseku) => [
+ q(6641),
+ q(0),
+ ],
+ q(tsetsaut) => [
+ q(6733),
+ q(0),
+ ],
+ q(tshangla) => [
+ q(6640),
+ q(0),
+ ],
+ q(tsikimba) => [
+ q(3190),
+ q(0),
+ ],
+ q(tsimane) => [
+ q(1650),
+ q(0),
+ ],
+ q(tsimihety malagasy) => [
+ q(7313),
+ q(0),
+ ],
+ q(tsimshian) => [
+ q(0438),
+ q(0),
+ ],
+ q(tsishingini) => [
+ q(6651),
+ q(0),
+ ],
+ q(tso) => [
+ q(3808),
+ q(0),
+ ],
+ q(tsoa) => [
+ q(2722),
+ q(0),
+ ],
+ q(tsogo) => [
+ q(6650),
+ q(0),
+ ],
+ q(tsonga) => [
+ q(0440),
+ q(0),
+ ],
+ q(tsotsitaal) => [
+ q(2330),
+ q(0),
+ ],
+ q(tsotso) => [
+ q(4020),
+ q(0),
+ ],
+ q(tsou) => [
+ q(6649),
+ q(0),
+ ],
+ q(tsum) => [
+ q(6679),
+ q(0),
+ ],
+ q(tsuvadi) => [
+ q(6701),
+ q(0),
+ ],
+ q(tsuvan) => [
+ q(6639),
+ q(0),
+ ],
+ q(tswa) => [
+ q(6634),
+ q(0),
+ ],
+ q(tswana) => [
+ q(0439),
+ q(0),
+ ],
+ q(tswapong) => [
+ q(6722),
+ q(0),
+ ],
+ q(tu) => [
+ q(4272),
+ q(0),
+ ],
+ q(tuamotuan) => [
+ q(5461),
+ q(0),
+ ],
+ q(tubar) => [
+ q(6320),
+ q(0),
+ ],
+ q(tubatulabal) => [
+ q(6681),
+ q(0),
+ ],
+ q(tucano) => [
+ q(6692),
+ q(0),
+ ],
+ q(tugen) => [
+ q(6698),
+ q(0),
+ ],
+ q(tugun) => [
+ q(6766),
+ q(0),
+ ],
+ q(tugutil) => [
+ q(6689),
+ q(0),
+ ],
+ q(tukang besi north) => [
+ q(3281),
+ q(0),
+ ],
+ q(tukang besi south) => [
+ q(1194),
+ q(0),
+ ],
+ q(tuki) => [
+ q(1020),
+ q(0),
+ ],
+ q(tukpa) => [
+ q(6587),
+ q(0),
+ ],
+ q(tukudede) => [
+ q(6469),
+ q(0),
+ ],
+ q(tukumanfed) => [
+ q(6471),
+ q(0),
+ ],
+ q(tula) => [
+ q(6690),
+ q(0),
+ ],
+ q(tulehu) => [
+ q(6501),
+ q(0),
+ ],
+ q(tulishi) => [
+ q(6390),
+ q(0),
+ ],
+ q(tulu) => [
+ q(6347),
+ q(0),
+ ],
+ q(tulu-bohuai) => [
+ q(5678),
+ q(0),
+ ],
+ q(tuma-irumu) => [
+ q(2938),
+ q(0),
+ ],
+ q(tumak) => [
+ q(6508),
+ q(0),
+ ],
+ q(tumari kanuri) => [
+ q(3536),
+ q(0),
+ ],
+ q(tumbuka) => [
+ q(0442),
+ q(0),
+ ],
+ q(tumi) => [
+ q(3369),
+ q(0),
+ ],
+ q(tumleo) => [
+ q(6521),
+ q(0),
+ ],
+ q(tumshuqese) => [
+ q(7395),
+ q(0),
+ ],
+ q(tumtum) => [
+ q(6317),
+ q(0),
+ ],
+ q(tumulung sisaala) => [
+ q(5970),
+ q(0),
+ ],
+ q(tumzabt) => [
+ q(4648),
+ q(0),
+ ],
+ q(tundra enets) => [
+ q(2245),
+ q(0),
+ ],
+ q(tunen) => [
+ q(1031),
+ q(0),
+ ],
+ q(tungag) => [
+ q(3793),
+ q(0),
+ ],
+ q(tunggare) => [
+ q(6625),
+ q(0),
+ ],
+ q(tungus languages) => [
+ q(0528),
+ q(0),
+ ],
+ q(tunia) => [
+ q(6686),
+ q(0),
+ ],
+ q(tunica) => [
+ q(6691),
+ q(0),
+ ],
+ q(tunisian arabic) => [
+ q(0625),
+ q(0),
+ ],
+ q(tunisian sign language) => [
+ q(6636),
+ q(0),
+ ],
+ q(tunjung) => [
+ q(6460),
+ q(0),
+ ],
+ q(tunni) => [
+ q(6602),
+ q(0),
+ ],
+ q(tunzu) => [
+ q(2183),
+ q(0),
+ ],
+ q(tuotomb) => [
+ q(6660),
+ q(0),
+ ],
+ q(tupari) => [
+ q(6588),
+ q(0),
+ ],
+ q(tupi) => [
+ q(6592),
+ q(0),
+ ],
+ q(tupi languages) => [
+ q(0443),
+ q(0),
+ ],
+ q(tupinamba) => [
+ q(6584),
+ q(0),
+ ],
+ q(tupinikin) => [
+ q(6581),
+ q(0),
+ ],
+ q(tupuri) => [
+ q(6688),
+ q(0),
+ ],
+ q(turaka) => [
+ q(6614),
+ q(0),
+ ],
+ q(turi) => [
+ q(6610),
+ q(0),
+ ],
+ q(turiwara) => [
+ q(6726),
+ q(0),
+ ],
+ q(turk isaret dili) => [
+ q(6643),
+ q(0),
+ ],
+ q(turka) => [
+ q(6699),
+ q(0),
+ ],
+ q(turkana) => [
+ q(6696),
+ q(0),
+ ],
+ q(turkic khalaj) => [
+ q(3384),
+ q(0),
+ ],
+ q(turkic languages) => [
+ q(0527),
+ q(0),
+ ],
+ q(turkish) => [
+ q(0444),
+ q(0),
+ ],
+ q(turkish sign language) => [
+ q(6643),
+ q(0),
+ ],
+ q(turkish, ottoman (1500-1928)) => [
+ q(0332),
+ q(0),
+ ],
+ q(turkmen) => [
+ q(0441),
+ q(0),
+ ],
+ q(turks and caicos creole english) => [
+ q(6333),
+ q(0),
+ ],
+ q(turoyo) => [
+ q(6626),
+ q(0),
+ ],
+ q(turumsa) => [
+ q(6598),
+ q(0),
+ ],
+ q(turung) => [
+ q(6630),
+ q(0),
+ ],
+ q(tuscarora) => [
+ q(6694),
+ q(0),
+ ],
+ q(tutelo) => [
+ q(6655),
+ q(0),
+ ],
+ q(tutong) => [
+ q(6661),
+ q(0),
+ ],
+ q(tutsa naga) => [
+ q(6708),
+ q(0),
+ ],
+ q(tutuba) => [
+ q(6513),
+ q(0),
+ ],
+ q(tututepec mixtec) => [
+ q(4525),
+ q(0),
+ ],
+ q(tututni) => [
+ q(6695),
+ q(0),
+ ],
+ q(tuvalu) => [
+ q(0446),
+ q(0),
+ ],
+ q(tuvinian) => [
+ q(0448),
+ q(0),
+ ],
+ q(tuwali ifugao) => [
+ q(2875),
+ q(0),
+ ],
+ q(tuwari) => [
+ q(6728),
+ q(0),
+ ],
+ q(tuwuli) => [
+ q(1365),
+ q(0),
+ ],
+ q(tuxa) => [
+ q(6683),
+ q(0),
+ ],
+ q(tuxinawa) => [
+ q(6697),
+ q(0),
+ ],
+ q(tuyuca) => [
+ q(6684),
+ q(0),
+ ],
+ q(twana) => [
+ q(6711),
+ q(0),
+ ],
+ q(twendi) => [
+ q(6721),
+ q(0),
+ ],
+ q(twents) => [
+ q(6714),
+ q(0),
+ ],
+ q(twi) => [
+ q(0447),
+ q(0),
+ ],
+ q(tyap) => [
+ q(3160),
+ q(0),
+ ],
+ q(tyaraity) => [
+ q(7105),
+ q(0),
+ ],
+ q(tz'utujil) => [
+ q(6764),
+ q(0),
+ ],
+ q(tzeltal) => [
+ q(6763),
+ q(0),
+ ],
+ q(tzotzil) => [
+ q(6767),
+ q(0),
+ ],
+ q(u) => [
+ q(6877),
+ q(0),
+ ],
+ q(uab meto) => [
+ q(0832),
+ q(0),
+ ],
+ q(uamue) => [
+ q(6769),
+ q(0),
+ ],
+ q(uare) => [
+ q(3551),
+ q(0),
+ ],
+ q(ubaghara) => [
+ q(1587),
+ q(0),
+ ],
+ q(ubang) => [
+ q(6772),
+ q(0),
+ ],
+ q(ubi) => [
+ q(6773),
+ q(0),
+ ],
+ q(ubir) => [
+ q(6775),
+ q(0),
+ ],
+ q(ubykh) => [
+ q(6777),
+ q(0),
+ ],
+ q(ucayali-yurua asheninka) => [
+ q(1825),
+ q(0),
+ ],
+ q(uda) => [
+ q(6778),
+ q(0),
+ ],
+ q(udi) => [
+ q(6781),
+ q(0),
+ ],
+ q(udihe) => [
+ q(6779),
+ q(0),
+ ],
+ q(udmurt) => [
+ q(0449),
+ q(0),
+ ],
+ q(uduk) => [
+ q(6784),
+ q(0),
+ ],
+ q(ufim) => [
+ q(6786),
+ q(0),
+ ],
+ q(ugandan sign language) => [
+ q(6789),
+ q(0),
+ ],
+ q(ugaritic) => [
+ q(0450),
+ q(0),
+ ],
+ q(ughele) => [
+ q(6788),
+ q(0),
+ ],
+ q(ugong) => [
+ q(6790),
+ q(0),
+ ],
+ q(uhami) => [
+ q(6792),
+ q(0),
+ ],
+ q(uighur) => [
+ q(0451),
+ q(0),
+ ],
+ q(uisai) => [
+ q(6794),
+ q(0),
+ ],
+ q(ujir) => [
+ q(6782),
+ q(0),
+ ],
+ q(ukaan) => [
+ q(3159),
+ q(0),
+ ],
+ q(ukhwejo) => [
+ q(6799),
+ q(0),
+ ],
+ q(ukit) => [
+ q(6821),
+ q(0),
+ ],
+ q(ukpe-bayobiri) => [
+ q(6801),
+ q(0),
+ ],
+ q(ukpet-ehom) => [
+ q(0724),
+ q(0),
+ ],
+ q(ukrainian) => [
+ q(0452),
+ q(0),
+ ],
+ q(ukrainian sign language) => [
+ q(6800),
+ q(0),
+ ],
+ q(ukue) => [
+ q(6804),
+ q(0),
+ ],
+ q(ukuriguma) => [
+ q(6798),
+ q(0),
+ ],
+ q(ukwa) => [
+ q(6802),
+ q(0),
+ ],
+ q(ukwuani-aboh-ndoni) => [
+ q(6805),
+ q(0),
+ ],
+ q(ulau-suain) => [
+ q(6215),
+ q(0),
+ ],
+ q(ulch) => [
+ q(6808),
+ q(0),
+ ],
+ q(ulithian) => [
+ q(6810),
+ q(0),
+ ],
+ q(ullatan) => [
+ q(6812),
+ q(0),
+ ],
+ q(ulukwumi) => [
+ q(6807),
+ q(0),
+ ],
+ q(ulumanda') => [
+ q(6813),
+ q(0),
+ ],
+ q(ulwa) => [
+ q(6816),
+ q(0),
+ ],
+ q(uma) => [
+ q(5509),
+ q(0),
+ ],
+ q(uma' lasan) => [
+ q(7277),
+ q(0),
+ ],
+ q(uma' lung) => [
+ q(6815),
+ q(0),
+ ],
+ q(umanakaina) => [
+ q(2436),
+ q(0),
+ ],
+ q(umatilla) => [
+ q(6817),
+ q(0),
+ ],
+ q(umbindhamu) => [
+ q(6819),
+ q(0),
+ ],
+ q(umbrian) => [
+ q(7407),
+ q(0),
+ ],
+ q(umbu-ungu) => [
+ q(6776),
+ q(0),
+ ],
+ q(umbugarla) => [
+ q(6826),
+ q(0),
+ ],
+ q(umbundu) => [
+ q(0453),
+ q(0),
+ ],
+ q(umbuygamu) => [
+ q(6820),
+ q(0),
+ ],
+ q(ume sami) => [
+ q(5996),
+ q(0),
+ ],
+ q(umeda) => [
+ q(6839),
+ q(0),
+ ],
+ q(umiray dumaget agta) => [
+ q(2148),
+ q(0),
+ ],
+ q(umon) => [
+ q(6822),
+ q(0),
+ ],
+ q(umotina) => [
+ q(6824),
+ q(0),
+ ],
+ q(umpila) => [
+ q(6825),
+ q(0),
+ ],
+ q(una) => [
+ q(4511),
+ q(0),
+ ],
+ q(unami) => [
+ q(6833),
+ q(0),
+ ],
+ q(uncoded languages) => [
+ q(0281),
+ q(0),
+ ],
+ q(unde kaili) => [
+ q(6837),
+ q(0),
+ ],
+ q(undetermined) => [
+ q(0454),
+ q(0),
+ ],
+ q(uneapa) => [
+ q(1045),
+ q(0),
+ ],
+ q(uneme) => [
+ q(6830),
+ q(0),
+ ],
+ q(unserdeutsch) => [
+ q(6814),
+ q(0),
+ ],
+ q(unua) => [
+ q(5215),
+ q(0),
+ ],
+ q(uokha) => [
+ q(6838),
+ q(0),
+ ],
+ q(upper chehalis) => [
+ q(1740),
+ q(0),
+ ],
+ q(upper grand valley dani) => [
+ q(2079),
+ q(0),
+ ],
+ q(upper guinea crioulo) => [
+ q(5502),
+ q(0),
+ ],
+ q(upper kinabatangan) => [
+ q(2068),
+ q(0),
+ ],
+ q(upper kuskokwim) => [
+ q(3609),
+ q(0),
+ ],
+ q(upper necaxa totonac) => [
+ q(6480),
+ q(0),
+ ],
+ q(upper saxon) => [
+ q(6255),
+ q(0),
+ ],
+ q(upper sorbian) => [
+ q(0182),
+ q(0),
+ ],
+ q(upper ta'oih) => [
+ q(6662),
+ q(0),
+ ],
+ q(upper tanana) => [
+ q(6295),
+ q(0),
+ ],
+ q(upper tanudan kalinga) => [
+ q(3262),
+ q(0),
+ ],
+ q(upper taromi) => [
+ q(6570),
+ q(0),
+ ],
+ q(upper umpqua) => [
+ q(7409),
+ q(0),
+ ],
+ q(ura (papua new guinea)) => [
+ q(6853),
+ q(0),
+ ],
+ q(ura (vanuatu)) => [
+ q(6876),
+ q(0),
+ ],
+ q(uradhi) => [
+ q(6845),
+ q(0),
+ ],
+ q(urak lawoi') => [
+ q(6849),
+ q(0),
+ ],
+ q(urali) => [
+ q(6850),
+ q(0),
+ ],
+ q(uralic languages) => [
+ q(0529),
+ q(0),
+ ],
+ q(urapmin) => [
+ q(6851),
+ q(0),
+ ],
+ q(urarina) => [
+ q(6841),
+ q(0),
+ ],
+ q(urartian) => [
+ q(7410),
+ q(0),
+ ],
+ q(urat) => [
+ q(6856),
+ q(0),
+ ],
+ q(urdu) => [
+ q(0455),
+ q(0),
+ ],
+ q(urhobo) => [
+ q(6847),
+ q(0),
+ ],
+ q(uri) => [
+ q(6879),
+ q(0),
+ ],
+ q(urigina) => [
+ q(6846),
+ q(0),
+ ],
+ q(urim) => [
+ q(6848),
+ q(0),
+ ],
+ q(urimo) => [
+ q(6860),
+ q(0),
+ ],
+ q(uripiv-wala-rano-atchin) => [
+ q(6840),
+ q(0),
+ ],
+ q(urningangg) => [
+ q(6843),
+ q(0),
+ ],
+ q(uru) => [
+ q(6844),
+ q(0),
+ ],
+ q(uru-eu-wau-wau) => [
+ q(6862),
+ q(0),
+ ],
+ q(uru-pa-in) => [
+ q(6854),
+ q(0),
+ ],
+ q(uruangnirin) => [
+ q(6852),
+ q(0),
+ ],
+ q(uruava) => [
+ q(6858),
+ q(0),
+ ],
+ q(urubu-kaapor) => [
+ q(6842),
+ q(0),
+ ],
+ q(urubu-kaapor sign language) => [
+ q(6803),
+ q(0),
+ ],
+ q(uruguayan sign language) => [
+ q(6791),
+ q(0),
+ ],
+ q(urum) => [
+ q(6874),
+ q(0),
+ ],
+ q(urumi) => [
+ q(6857),
+ q(0),
+ ],
+ q(usaghade) => [
+ q(6866),
+ q(0),
+ ],
+ q(usan) => [
+ q(7104),
+ q(0),
+ ],
+ q(usarufa) => [
+ q(6863),
+ q(0),
+ ],
+ q(ushojo) => [
+ q(6864),
+ q(0),
+ ],
+ q(usila chinantec) => [
+ q(1894),
+ q(0),
+ ],
+ q(usku) => [
+ q(6809),
+ q(0),
+ ],
+ q(uspanteco) => [
+ q(6867),
+ q(0),
+ ],
+ q(usui) => [
+ q(6865),
+ q(0),
+ ],
+ q(ut-ma'in) => [
+ q(2451),
+ q(0),
+ ],
+ q(utarmbung) => [
+ q(5195),
+ q(0),
+ ],
+ q(ute-southern paiute) => [
+ q(6870),
+ q(0),
+ ],
+ q(uto-aztecan languages) => [
+ q(0492),
+ q(0),
+ ],
+ q(utu) => [
+ q(6873),
+ q(0),
+ ],
+ q(uvbie) => [
+ q(2288),
+ q(0),
+ ],
+ q(uya) => [
+ q(6868),
+ q(0),
+ ],
+ q(uyajitaya) => [
+ q(2154),
+ q(0),
+ ],
+ q(uyghur) => [
+ q(0451),
+ q(0),
+ ],
+ q(uzbek) => [
+ q(0456),
+ q(0),
+ ],
+ q(uzbeki arabic) => [
+ q(0953),
+ q(0),
+ ],
+ q(uzekwe) => [
+ q(2293),
+ q(0),
+ ],
+ q(v'enen taut) => [
+ q(4915),
+ q(0),
+ ],
+ q(vaagri booli) => [
+ q(6885),
+ q(0),
+ ],
+ q(vaeakau-taumako) => [
+ q(5405),
+ q(0),
+ ],
+ q(vafsi) => [
+ q(6887),
+ q(0),
+ ],
+ q(vaghat-ya-bijim-legeri) => [
+ q(1211),
+ q(0),
+ ],
+ q(vaghri) => [
+ q(6910),
+ q(0),
+ ],
+ q(vaghua) => [
+ q(6700),
+ q(0),
+ ],
+ q(vagla) => [
+ q(6888),
+ q(0),
+ ],
+ q(vai) => [
+ q(0457),
+ q(0),
+ ],
+ q(vaiphei) => [
+ q(6895),
+ q(0),
+ ],
+ q(vale) => [
+ q(6886),
+ q(0),
+ ],
+ q(valencian) => [
+ q(0071),
+ q(0),
+ ],
+ q(valencian sign language) => [
+ q(6965),
+ q(0),
+ ],
+ q(valle nacional chinantec) => [
+ q(1912),
+ q(0),
+ ],
+ q(valley maidu) => [
+ q(6951),
+ q(0),
+ ],
+ q(valman) => [
+ q(6893),
+ q(0),
+ ],
+ q(valpei) => [
+ q(6931),
+ q(0),
+ ],
+ q(vamale) => [
+ q(4309),
+ q(0),
+ ],
+ q(vame) => [
+ q(4332),
+ q(0),
+ ],
+ q(vandalic) => [
+ q(7415),
+ q(0),
+ ],
+ q(vangunu) => [
+ q(4422),
+ q(0),
+ ],
+ q(vanimo) => [
+ q(6892),
+ q(0),
+ ],
+ q(vano) => [
+ q(6956),
+ q(0),
+ ],
+ q(vanuma) => [
+ q(6898),
+ q(0),
+ ],
+ q(vao) => [
+ q(6894),
+ q(0),
+ ],
+ q(varhadi-nagpuri) => [
+ q(6889),
+ q(0),
+ ],
+ q(varisi) => [
+ q(6961),
+ q(0),
+ ],
+ q(varli) => [
+ q(6899),
+ q(0),
+ ],
+ q(vasavi) => [
+ q(6897),
+ q(0),
+ ],
+ q(vasekela bushman) => [
+ q(6890),
+ q(0),
+ ],
+ q(veddah) => [
+ q(6904),
+ q(0),
+ ],
+ q(vehes) => [
+ q(6891),
+ q(0),
+ ],
+ q(veluws) => [
+ q(6905),
+ q(0),
+ ],
+ q(vemgo-mabas) => [
+ q(6906),
+ q(0),
+ ],
+ q(venda) => [
+ q(0458),
+ q(0),
+ ],
+ q(venetian) => [
+ q(6903),
+ q(0),
+ ],
+ q(venetic) => [
+ q(7413),
+ q(0),
+ ],
+ q(venezuelan sign language) => [
+ q(6964),
+ q(0),
+ ],
+ q(vengo) => [
+ q(1027),
+ q(0),
+ ],
+ q(ventureno) => [
+ q(6907),
+ q(0),
+ ],
+ q(veps) => [
+ q(6908),
+ q(0),
+ ],
+ q(vera'a) => [
+ q(6960),
+ q(0),
+ ],
+ q(vestinian) => [
+ q(7417),
+ q(0),
+ ],
+ q(vidunda) => [
+ q(6913),
+ q(0),
+ ],
+ q(viemo) => [
+ q(6915),
+ q(0),
+ ],
+ q(vietnamese) => [
+ q(0459),
+ q(0),
+ ],
+ q(viid) => [
+ q(6078),
+ q(0),
+ ],
+ q(vilela) => [
+ q(6916),
+ q(0),
+ ],
+ q(vili) => [
+ q(6914),
+ q(0),
+ ],
+ q(villa viciosa agta) => [
+ q(2177),
+ q(0),
+ ],
+ q(vincentian creole english) => [
+ q(6216),
+ q(0),
+ ],
+ q(vinmavis) => [
+ q(6957),
+ q(0),
+ ],
+ q(vinza) => [
+ q(6917),
+ q(0),
+ ],
+ q(virgin islands creole english) => [
+ q(6912),
+ q(0),
+ ],
+ q(vishavan) => [
+ q(6918),
+ q(0),
+ ],
+ q(viti) => [
+ q(6919),
+ q(0),
+ ],
+ q(vitou) => [
+ q(6966),
+ q(0),
+ ],
+ q(vlaams) => [
+ q(6932),
+ q(0),
+ ],
+ q(vlaamse gebarentaal) => [
+ q(6911),
+ q(0),
+ ],
+ q(vlax romani) => [
+ q(5759),
+ q(0),
+ ],
+ q(volapuk) => [
+ q(0460),
+ q(0),
+ ],
+ q(volscian) => [
+ q(7416),
+ q(0),
+ ],
+ q(vono) => [
+ q(3161),
+ q(0),
+ ],
+ q(voro) => [
+ q(6959),
+ q(0),
+ ],
+ q(votic) => [
+ q(0461),
+ q(0),
+ ],
+ q(vumbu) => [
+ q(6967),
+ q(0),
+ ],
+ q(vunapu) => [
+ q(6958),
+ q(0),
+ ],
+ q(vunjo) => [
+ q(6968),
+ q(0),
+ ],
+ q(vure) => [
+ q(3897),
+ q(0),
+ ],
+ q(vures) => [
+ q(4493),
+ q(0),
+ ],
+ q(vute) => [
+ q(6969),
+ q(0),
+ ],
+ q(vwanji) => [
+ q(6997),
+ q(0),
+ ],
+ q(wa) => [
+ q(7001),
+ q(0),
+ ],
+ q(wa'ema) => [
+ q(6977),
+ q(0),
+ ],
+ q(waama) => [
+ q(7165),
+ q(0),
+ ],
+ q(waamwang) => [
+ q(7088),
+ q(0),
+ ],
+ q(waata) => [
+ q(6166),
+ q(0),
+ ],
+ q(wab) => [
+ q(6972),
+ q(0),
+ ],
+ q(wabo) => [
+ q(6994),
+ q(0),
+ ],
+ q(waboda) => [
+ q(3423),
+ q(0),
+ ],
+ q(waci gbe) => [
+ q(7009),
+ q(0),
+ ],
+ q(wadaginam) => [
+ q(7011),
+ q(0),
+ ],
+ q(waddar) => [
+ q(7003),
+ q(0),
+ ],
+ q(wadiyara koli) => [
+ q(3681),
+ q(0),
+ ],
+ q(wadjiginy) => [
+ q(7012),
+ q(0),
+ ],
+ q(wadjigu) => [
+ q(7013),
+ q(0),
+ ],
+ q(wae rana) => [
+ q(7137),
+ q(0),
+ ],
+ q(waffa) => [
+ q(6980),
+ q(0),
+ ],
+ q(wagawaga) => [
+ q(7029),
+ q(0),
+ ],
+ q(wagaya) => [
+ q(7028),
+ q(0),
+ ],
+ q(wagdi) => [
+ q(7004),
+ q(0),
+ ],
+ q(wageman) => [
+ q(6985),
+ q(0),
+ ],
+ q(wagi) => [
+ q(2296),
+ q(0),
+ ],
+ q(wahau kayan) => [
+ q(7037),
+ q(0),
+ ],
+ q(wahau kenyah) => [
+ q(7036),
+ q(0),
+ ],
+ q(wahgi) => [
+ q(7031),
+ q(0),
+ ],
+ q(waigali) => [
+ q(6999),
+ q(0),
+ ],
+ q(waigeo) => [
+ q(7032),
+ q(0),
+ ],
+ q(wailaki) => [
+ q(7069),
+ q(0),
+ ],
+ q(wailapa) => [
+ q(7073),
+ q(0),
+ ],
+ q(waima) => [
+ q(5783),
+ q(0),
+ ],
+ q(waima'a) => [
+ q(7085),
+ q(0),
+ ],
+ q(waimaha) => [
+ q(1023),
+ q(0),
+ ],
+ q(waimiri-atroari) => [
+ q(0922),
+ q(0),
+ ],
+ q(waioli) => [
+ q(7068),
+ q(0),
+ ],
+ q(waiwai) => [
+ q(6989),
+ q(0),
+ ],
+ q(waja) => [
+ q(7056),
+ q(0),
+ ],
+ q(wajarri) => [
+ q(7006),
+ q(0),
+ ],
+ q(waka) => [
+ q(6988),
+ q(0),
+ ],
+ q(wakashan languages) => [
+ q(0462),
+ q(0),
+ ],
+ q(wakawaka) => [
+ q(7063),
+ q(0),
+ ],
+ q(wakde) => [
+ q(7060),
+ q(0),
+ ],
+ q(wakhi) => [
+ q(7000),
+ q(0),
+ ],
+ q(wakona) => [
+ q(6976),
+ q(0),
+ ],
+ q(wala) => [
+ q(3843),
+ q(0),
+ ],
+ q(walak) => [
+ q(7077),
+ q(0),
+ ],
+ q(walamo) => [
+ q(0463),
+ q(0),
+ ],
+ q(wali (ghana)) => [
+ q(7078),
+ q(0),
+ ],
+ q(wali (sudan)) => [
+ q(7070),
+ q(0),
+ ],
+ q(waling) => [
+ q(7079),
+ q(0),
+ ],
+ q(walio) => [
+ q(7064),
+ q(0),
+ ],
+ q(walla walla) => [
+ q(6971),
+ q(0),
+ ],
+ q(wallisian) => [
+ q(7074),
+ q(0),
+ ],
+ q(walloon) => [
+ q(0468),
+ q(0),
+ ],
+ q(walmajarri) => [
+ q(7091),
+ q(0),
+ ],
+ q(walo kumbe dogon) => [
+ q(2170),
+ q(0),
+ ],
+ q(walser) => [
+ q(6975),
+ q(0),
+ ],
+ q(walungge) => [
+ q(5180),
+ q(0),
+ ],
+ q(wamas) => [
+ q(7082),
+ q(0),
+ ],
+ q(wambaya) => [
+ q(7081),
+ q(0),
+ ],
+ q(wambon) => [
+ q(7090),
+ q(0),
+ ],
+ q(wambule) => [
+ q(7084),
+ q(0),
+ ],
+ q(wamey) => [
+ q(1818),
+ q(0),
+ ],
+ q(wamin) => [
+ q(7086),
+ q(0),
+ ],
+ q(wampanoag) => [
+ q(6981),
+ q(0),
+ ],
+ q(wampar) => [
+ q(3777),
+ q(0),
+ ],
+ q(wampur) => [
+ q(6992),
+ q(0),
+ ],
+ q(wan) => [
+ q(6982),
+ q(0),
+ ],
+ q(wanambre) => [
+ q(7094),
+ q(0),
+ ],
+ q(wanap) => [
+ q(7103),
+ q(0),
+ ],
+ q(wanbasana) => [
+ q(0762),
+ q(0),
+ ],
+ q(wancho naga) => [
+ q(4954),
+ q(0),
+ ],
+ q(wanda) => [
+ q(6996),
+ q(0),
+ ],
+ q(wandala) => [
+ q(4179),
+ q(0),
+ ],
+ q(wandamen) => [
+ q(6974),
+ q(0),
+ ],
+ q(wandarang) => [
+ q(7096),
+ q(0),
+ ],
+ q(wandji) => [
+ q(7010),
+ q(0),
+ ],
+ q(wane) => [
+ q(2838),
+ q(0),
+ ],
+ q(waneci) => [
+ q(7097),
+ q(0),
+ ],
+ q(wanga) => [
+ q(4046),
+ q(0),
+ ],
+ q(wangaaybuwan-ngiyambaa) => [
+ q(7171),
+ q(0),
+ ],
+ q(wanggamala) => [
+ q(7101),
+ q(0),
+ ],
+ q(wangganguru) => [
+ q(7030),
+ q(0),
+ ],
+ q(wanggom) => [
+ q(7098),
+ q(0),
+ ],
+ q(wanman) => [
+ q(7005),
+ q(0),
+ ],
+ q(wannu) => [
+ q(3093),
+ q(0),
+ ],
+ q(wano) => [
+ q(7102),
+ q(0),
+ ],
+ q(wantoat) => [
+ q(7095),
+ q(0),
+ ],
+ q(wanukaka) => [
+ q(7100),
+ q(0),
+ ],
+ q(waorani) => [
+ q(0933),
+ q(0),
+ ],
+ q(wapan) => [
+ q(3097),
+ q(0),
+ ],
+ q(wapha) => [
+ q(3107),
+ q(0),
+ ],
+ q(wapishana) => [
+ q(6984),
+ q(0),
+ ],
+ q(wappo) => [
+ q(6983),
+ q(0),
+ ],
+ q(war-jaintia) => [
+ q(0775),
+ q(0),
+ ],
+ q(wara) => [
+ q(6334),
+ q(0),
+ ],
+ q(warao) => [
+ q(6993),
+ q(0),
+ ],
+ q(warapu) => [
+ q(7122),
+ q(0),
+ ],
+ q(waray) => [
+ q(0464),
+ q(0),
+ ],
+ q(waray (australia)) => [
+ q(7139),
+ q(0),
+ ],
+ q(waray (philippines)) => [
+ q(0464),
+ q(1),
+ ],
+ q(wardaman) => [
+ q(7132),
+ q(0),
+ ],
+ q(warduji) => [
+ q(7124),
+ q(0),
+ ],
+ q(warembori) => [
+ q(7140),
+ q(0),
+ ],
+ q(wares) => [
+ q(6979),
+ q(0),
+ ],
+ q(waris) => [
+ q(7133),
+ q(0),
+ ],
+ q(waritai) => [
+ q(6995),
+ q(0),
+ ],
+ q(wariyangga) => [
+ q(7127),
+ q(0),
+ ],
+ q(warji) => [
+ q(7057),
+ q(0),
+ ],
+ q(warkay-bipim) => [
+ q(1175),
+ q(0),
+ ],
+ q(warlmanpa) => [
+ q(7128),
+ q(0),
+ ],
+ q(warlpiri) => [
+ q(7002),
+ q(0),
+ ],
+ q(warluwara) => [
+ q(7123),
+ q(0),
+ ],
+ q(warnang) => [
+ q(7130),
+ q(0),
+ ],
+ q(waropen) => [
+ q(7131),
+ q(0),
+ ],
+ q(warrgamay) => [
+ q(7033),
+ q(0),
+ ],
+ q(warrwa) => [
+ q(7167),
+ q(0),
+ ],
+ q(waru) => [
+ q(7134),
+ q(0),
+ ],
+ q(warumungu) => [
+ q(7129),
+ q(0),
+ ],
+ q(waruna) => [
+ q(7135),
+ q(0),
+ ],
+ q(warungu) => [
+ q(7125),
+ q(0),
+ ],
+ q(wasa) => [
+ q(7144),
+ q(0),
+ ],
+ q(wasco-wishram) => [
+ q(6973),
+ q(0),
+ ],
+ q(wasembo) => [
+ q(2599),
+ q(0),
+ ],
+ q(washo) => [
+ q(0465),
+ q(0),
+ ],
+ q(waskia) => [
+ q(7142),
+ q(0),
+ ],
+ q(wasu) => [
+ q(7145),
+ q(0),
+ ],
+ q(watakataui) => [
+ q(7149),
+ q(0),
+ ],
+ q(watam) => [
+ q(6990),
+ q(0),
+ ],
+ q(watiwa) => [
+ q(7147),
+ q(0),
+ ],
+ q(watubela) => [
+ q(6978),
+ q(0),
+ ],
+ q(waube) => [
+ q(3462),
+ q(0),
+ ],
+ q(waura) => [
+ q(6987),
+ q(0),
+ ],
+ q(wauyai) => [
+ q(7164),
+ q(0),
+ ],
+ q(wawa) => [
+ q(7168),
+ q(0),
+ ],
+ q(wawonii) => [
+ q(7119),
+ q(0),
+ ],
+ q(waxianghua) => [
+ q(7169),
+ q(0),
+ ],
+ q(wayampi) => [
+ q(5278),
+ q(0),
+ ],
+ q(wayana) => [
+ q(6991),
+ q(0),
+ ],
+ q(wayanad chetti) => [
+ q(1889),
+ q(0),
+ ],
+ q(wayoro) => [
+ q(7173),
+ q(0),
+ ],
+ q(wayu) => [
+ q(6900),
+ q(0),
+ ],
+ q(wayuu) => [
+ q(2605),
+ q(0),
+ ],
+ q(we northern) => [
+ q(7106),
+ q(0),
+ ],
+ q(we southern) => [
+ q(2654),
+ q(0),
+ ],
+ q(we western) => [
+ q(7015),
+ q(0),
+ ],
+ q(wedau) => [
+ q(7016),
+ q(0),
+ ],
+ q(weh) => [
+ q(7017),
+ q(0),
+ ],
+ q(wejewa) => [
+ q(7026),
+ q(0),
+ ],
+ q(welaung) => [
+ q(7025),
+ q(0),
+ ],
+ q(weliki) => [
+ q(3382),
+ q(0),
+ ],
+ q(welsh) => [
+ q(0466),
+ q(0),
+ ],
+ q(welsh romani) => [
+ q(5757),
+ q(0),
+ ],
+ q(weme gbe) => [
+ q(7019),
+ q(0),
+ ],
+ q(weri) => [
+ q(7022),
+ q(0),
+ ],
+ q(wersing) => [
+ q(3637),
+ q(0),
+ ],
+ q(west albay bikol) => [
+ q(2311),
+ q(0),
+ ],
+ q(west ambae) => [
+ q(4943),
+ q(0),
+ ],
+ q(west berawan) => [
+ q(7677),
+ q(0),
+ ],
+ q(west central banda) => [
+ q(1047),
+ q(0),
+ ],
+ q(west central oromo) => [
+ q(2391),
+ q(0),
+ ],
+ q(west coast bajau) => [
+ q(1100),
+ q(0),
+ ],
+ q(west damar) => [
+ q(2119),
+ q(0),
+ ],
+ q(west germanic languages) => [
+ q(0506),
+ q(0),
+ ],
+ q(west goodenough) => [
+ q(1970),
+ q(0),
+ ],
+ q(west kewa) => [
+ q(3225),
+ q(0),
+ ],
+ q(west lembata) => [
+ q(3931),
+ q(0),
+ ],
+ q(west makian) => [
+ q(4448),
+ q(0),
+ ],
+ q(west masela) => [
+ q(4498),
+ q(0),
+ ],
+ q(west slavic languages) => [
+ q(0535),
+ q(0),
+ ],
+ q(west tarangan) => [
+ q(6739),
+ q(0),
+ ],
+ q(west uvean) => [
+ q(6878),
+ q(0),
+ ],
+ q(west yugur) => [
+ q(7460),
+ q(0),
+ ],
+ q(west-central limba) => [
+ q(3861),
+ q(0),
+ ],
+ q(western abnaki) => [
+ q(0563),
+ q(0),
+ ],
+ q(western apache) => [
+ q(0854),
+ q(0),
+ ],
+ q(western arrarnta) => [
+ q(0868),
+ q(0),
+ ],
+ q(western balochi) => [
+ q(1167),
+ q(0),
+ ],
+ q(western bolivian guarani) => [
+ q(2546),
+ q(0),
+ ],
+ q(western bru) => [
+ q(1437),
+ q(0),
+ ],
+ q(western bukidnon manobo) => [
+ q(4074),
+ q(0),
+ ],
+ q(western canadian inuktitut) => [
+ q(2902),
+ q(0),
+ ],
+ q(western cham) => [
+ q(1738),
+ q(0),
+ ],
+ q(western dani) => [
+ q(2089),
+ q(0),
+ ],
+ q(western fijian) => [
+ q(7174),
+ q(0),
+ ],
+ q(western frisian) => [
+ q(0142),
+ q(0),
+ ],
+ q(western gurung) => [
+ q(2637),
+ q(0),
+ ],
+ q(western highland chatino) => [
+ q(1887),
+ q(0),
+ ],
+ q(western highland purepecha) => [
+ q(5575),
+ q(0),
+ ],
+ q(western huasteca nahuatl) => [
+ q(4832),
+ q(0),
+ ],
+ q(western juxtlahuaca mixtec) => [
+ q(3072),
+ q(0),
+ ],
+ q(western kanjobal) => [
+ q(3434),
+ q(0),
+ ],
+ q(western karaboro) => [
+ q(3718),
+ q(0),
+ ],
+ q(western katu) => [
+ q(3598),
+ q(0),
+ ],
+ q(western kayah) => [
+ q(3712),
+ q(0),
+ ],
+ q(western keres) => [
+ q(3341),
+ q(0),
+ ],
+ q(western krahn) => [
+ q(3538),
+ q(0),
+ ],
+ q(western lalu) => [
+ q(7639),
+ q(0),
+ ],
+ q(western lawa) => [
+ q(3794),
+ q(0),
+ ],
+ q(western magar) => [
+ q(4459),
+ q(0),
+ ],
+ q(western malayo-polynesian languages) => [
+ q(0521),
+ q(0),
+ ],
+ q(western maninkakan) => [
+ q(4331),
+ q(0),
+ ],
+ q(western mari) => [
+ q(4464),
+ q(0),
+ ],
+ q(western mashan hmong) => [
+ q(2757),
+ q(0),
+ ],
+ q(western mashan miao) => [
+ q(2757),
+ q(0),
+ ],
+ q(western meohang) => [
+ q(5674),
+ q(0),
+ ],
+ q(western muria) => [
+ q(4545),
+ q(0),
+ ],
+ q(western neo-aramaic) => [
+ q(0786),
+ q(0),
+ ],
+ q(western niger fulfulde) => [
+ q(2356),
+ q(0),
+ ],
+ q(western ojibwa) => [
+ q(5162),
+ q(0),
+ ],
+ q(western pahari languages) => [
+ q(0176),
+ q(0),
+ ],
+ q(western panjabi) => [
+ q(5468),
+ q(0),
+ ],
+ q(western parbate kham) => [
+ q(3336),
+ q(0),
+ ],
+ q(western penan) => [
+ q(5470),
+ q(0),
+ ],
+ q(western sisaala) => [
+ q(6164),
+ q(0),
+ ],
+ q(western subanon) => [
+ q(6202),
+ q(0),
+ ],
+ q(western tamang) => [
+ q(6355),
+ q(0),
+ ],
+ q(western tawbuid) => [
+ q(6712),
+ q(0),
+ ],
+ q(western totonac) => [
+ q(6604),
+ q(0),
+ ],
+ q(western tunebo) => [
+ q(6531),
+ q(0),
+ ],
+ q(western xiangxi miao) => [
+ q(4356),
+ q(0),
+ ],
+ q(western xwla gbe) => [
+ q(7422),
+ q(0),
+ ],
+ q(western yiddish) => [
+ q(7503),
+ q(0),
+ ],
+ q(westphalien) => [
+ q(7021),
+ q(0),
+ ],
+ q(wetamut) => [
+ q(7166),
+ q(0),
+ ],
+ q(wewaw) => [
+ q(7014),
+ q(0),
+ ],
+ q(weyto) => [
+ q(7120),
+ q(0),
+ ],
+ q(white gelao) => [
+ q(2496),
+ q(0),
+ ],
+ q(white lachi) => [
+ q(4047),
+ q(0),
+ ],
+ q(whitesands) => [
+ q(6543),
+ q(0),
+ ],
+ q(wiarumus) => [
+ q(6680),
+ q(0),
+ ],
+ q(wichi lhamtes guisnay) => [
+ q(4653),
+ q(0),
+ ],
+ q(wichi lhamtes nocten) => [
+ q(4520),
+ q(0),
+ ],
+ q(wichi lhamtes vejoz) => [
+ q(7076),
+ q(0),
+ ],
+ q(wichita) => [
+ q(7039),
+ q(0),
+ ],
+ q(wik-epa) => [
+ q(7040),
+ q(0),
+ ],
+ q(wik-iiyanh) => [
+ q(7045),
+ q(0),
+ ],
+ q(wik-keyangan) => [
+ q(7041),
+ q(0),
+ ],
+ q(wik-me'anha) => [
+ q(7043),
+ q(0),
+ ],
+ q(wik-mungkan) => [
+ q(7048),
+ q(0),
+ ],
+ q(wik-ngathana) => [
+ q(7042),
+ q(0),
+ ],
+ q(wikalkan) => [
+ q(7046),
+ q(0),
+ ],
+ q(wikngenchera) => [
+ q(7152),
+ q(0),
+ ],
+ q(wilawila) => [
+ q(7047),
+ q(0),
+ ],
+ q(wintu) => [
+ q(7051),
+ q(0),
+ ],
+ q(winye) => [
+ q(3561),
+ q(0),
+ ],
+ q(wipi) => [
+ q(2439),
+ q(0),
+ ],
+ q(wiradhuri) => [
+ q(7126),
+ q(0),
+ ],
+ q(wirafed) => [
+ q(7050),
+ q(0),
+ ],
+ q(wirangu) => [
+ q(7054),
+ q(0),
+ ],
+ q(wiru) => [
+ q(7052),
+ q(0),
+ ],
+ q(wiyot) => [
+ q(7055),
+ q(0),
+ ],
+ q(woccon) => [
+ q(7419),
+ q(0),
+ ],
+ q(wogamusin) => [
+ q(7111),
+ q(0),
+ ],
+ q(wogeo) => [
+ q(7107),
+ q(0),
+ ],
+ q(woi) => [
+ q(7007),
+ q(0),
+ ],
+ q(wojenaka) => [
+ q(3081),
+ q(0),
+ ],
+ q(wolaitta) => [
+ q(0463),
+ q(2),
+ ],
+ q(wolane) => [
+ q(7066),
+ q(0),
+ ],
+ q(wolani) => [
+ q(7108),
+ q(0),
+ ],
+ q(wolaytta) => [
+ q(0463),
+ q(1),
+ ],
+ q(woleaian) => [
+ q(7109),
+ q(0),
+ ],
+ q(wolio) => [
+ q(7072),
+ q(0),
+ ],
+ q(wolof) => [
+ q(0469),
+ q(0),
+ ],
+ q(wom (nigeria)) => [
+ q(7114),
+ q(0),
+ ],
+ q(wom (papua new guinea)) => [
+ q(7089),
+ q(0),
+ ],
+ q(womo) => [
+ q(7093),
+ q(0),
+ ],
+ q(wongo) => [
+ q(7115),
+ q(0),
+ ],
+ q(woods cree) => [
+ q(1915),
+ q(0),
+ ],
+ q(woria) => [
+ q(7117),
+ q(0),
+ ],
+ q(worimi) => [
+ q(3180),
+ q(0),
+ ],
+ q(worodougou) => [
+ q(3095),
+ q(0),
+ ],
+ q(worora) => [
+ q(6834),
+ q(0),
+ ],
+ q(wotapuri-katarqalai) => [
+ q(7146),
+ q(0),
+ ],
+ q(wotu) => [
+ q(7151),
+ q(0),
+ ],
+ q(woun meu) => [
+ q(4965),
+ q(0),
+ ],
+ q(written oirat) => [
+ q(7423),
+ q(0),
+ ],
+ q(wu chinese) => [
+ q(7161),
+ q(0),
+ ],
+ q(wuding-luquan yi) => [
+ q(7641),
+ q(0),
+ ],
+ q(wudu) => [
+ q(7154),
+ q(0),
+ ],
+ q(wuliwuli) => [
+ q(7075),
+ q(0),
+ ],
+ q(wulna) => [
+ q(7163),
+ q(0),
+ ],
+ q(wumboko) => [
+ q(1404),
+ q(0),
+ ],
+ q(wumbvu) => [
+ q(7157),
+ q(0),
+ ],
+ q(wumeng nasu) => [
+ q(7644),
+ q(0),
+ ],
+ q(wunai bunu) => [
+ q(1549),
+ q(0),
+ ],
+ q(wunambal) => [
+ q(7153),
+ q(0),
+ ],
+ q(wurrugu) => [
+ q(7159),
+ q(0),
+ ],
+ q(wusa nasu) => [
+ q(7502),
+ q(0),
+ ],
+ q(wushi) => [
+ q(1445),
+ q(0),
+ ],
+ q(wusi) => [
+ q(7141),
+ q(0),
+ ],
+ q(wutung) => [
+ q(7160),
+ q(0),
+ ],
+ q(wutunhua) => [
+ q(7155),
+ q(0),
+ ],
+ q(wuvulu-aua) => [
+ q(7162),
+ q(0),
+ ],
+ q(wuzlam) => [
+ q(6783),
+ q(0),
+ ],
+ q(wyandot) => [
+ q(7170),
+ q(0),
+ ],
+ q(wymysorys) => [
+ q(7172),
+ q(0),
+ ],
+ q(xaasongaxango) => [
+ q(3123),
+ q(0),
+ ],
+ q(xadani zapotec) => [
+ q(7671),
+ q(0),
+ ],
+ q(xakriaba) => [
+ q(7270),
+ q(0),
+ ],
+ q(xamtanga) => [
+ q(7183),
+ q(0),
+ ],
+ q(xanaguia zapotec) => [
+ q(7797),
+ q(0),
+ ],
+ q(xaracuu) => [
+ q(0794),
+ q(0),
+ ],
+ q(xaragure) => [
+ q(0986),
+ q(0),
+ ],
+ q(xavante) => [
+ q(7191),
+ q(0),
+ ],
+ q(xerente) => [
+ q(7228),
+ q(0),
+ ],
+ q(xeta) => [
+ q(7230),
+ q(0),
+ ],
+ q(xhosa) => [
+ q(0471),
+ q(0),
+ ],
+ q(xiandao) => [
+ q(7245),
+ q(0),
+ ],
+ q(xiang chinese) => [
+ q(2803),
+ q(0),
+ ],
+ q(xibe) => [
+ q(5991),
+ q(0),
+ ],
+ q(xicotepec de juarez totonac) => [
+ q(6564),
+ q(0),
+ ],
+ q(xinca) => [
+ q(7249),
+ q(0),
+ ],
+ q(xingu asurini) => [
+ q(0895),
+ q(0),
+ ],
+ q(xipaya) => [
+ q(7253),
+ q(0),
+ ],
+ q(xipinawa) => [
+ q(7250),
+ q(0),
+ ],
+ q(xiri) => [
+ q(7247),
+ q(0),
+ ],
+ q(xiriana) => [
+ q(7251),
+ q(0),
+ ],
+ q(xishanba lalo) => [
+ q(7643),
+ q(0),
+ ],
+ q(xokleng) => [
+ q(7330),
+ q(0),
+ ],
+ q(xukuru) => [
+ q(7333),
+ q(0),
+ ],
+ q(xwela gbe) => [
+ q(7420),
+ q(0),
+ ],
+ q(yaaku) => [
+ q(4546),
+ q(0),
+ ],
+ q(yabaana) => [
+ q(7467),
+ q(0),
+ ],
+ q(yabarana) => [
+ q(7448),
+ q(0),
+ ],
+ q(yabem) => [
+ q(3000),
+ q(0),
+ ],
+ q(yaben) => [
+ q(7466),
+ q(0),
+ ],
+ q(yabong) => [
+ q(7468),
+ q(0),
+ ],
+ q(yace) => [
+ q(2215),
+ q(0),
+ ],
+ q(yaeyama) => [
+ q(5810),
+ q(0),
+ ],
+ q(yafi) => [
+ q(7027),
+ q(0),
+ ],
+ q(yagaria) => [
+ q(7496),
+ q(0),
+ ],
+ q(yagnobi) => [
+ q(7441),
+ q(0),
+ ],
+ q(yagomi) => [
+ q(7494),
+ q(0),
+ ],
+ q(yagua) => [
+ q(7436),
+ q(0),
+ ],
+ q(yagwoia) => [
+ q(7497),
+ q(0),
+ ],
+ q(yahadian) => [
+ q(4776),
+ q(0),
+ ],
+ q(yahang) => [
+ q(5718),
+ q(0),
+ ],
+ q(yahuna) => [
+ q(7572),
+ q(0),
+ ],
+ q(yaka (central african republic)) => [
+ q(0984),
+ q(0),
+ ],
+ q(yaka (congo)) => [
+ q(2992),
+ q(0),
+ ],
+ q(yaka (democratic republic of congo)) => [
+ q(7438),
+ q(0),
+ ],
+ q(yakaikeke) => [
+ q(7523),
+ q(0),
+ ],
+ q(yakama) => [
+ q(7443),
+ q(0),
+ ],
+ q(yakan) => [
+ q(7520),
+ q(0),
+ ],
+ q(yakha) => [
+ q(7461),
+ q(0),
+ ],
+ q(yakoma) => [
+ q(7529),
+ q(0),
+ ],
+ q(yakut) => [
+ q(0366),
+ q(0),
+ ],
+ q(yala) => [
+ q(7457),
+ q(0),
+ ],
+ q(yalahatan) => [
+ q(3005),
+ q(0),
+ ],
+ q(yalakalore) => [
+ q(7429),
+ q(0),
+ ],
+ q(yalalag zapotec) => [
+ q(7777),
+ q(0),
+ ],
+ q(yalarnnga) => [
+ q(7539),
+ q(0),
+ ],
+ q(yale) => [
+ q(4720),
+ q(0),
+ ],
+ q(yaleba) => [
+ q(7531),
+ q(0),
+ ],
+ q(yalunka) => [
+ q(7444),
+ q(0),
+ ],
+ q(yamana) => [
+ q(7439),
+ q(0),
+ ],
+ q(yamap) => [
+ q(7555),
+ q(0),
+ ],
+ q(yamba) => [
+ q(7445),
+ q(0),
+ ],
+ q(yambes) => [
+ q(7543),
+ q(0),
+ ],
+ q(yambeta) => [
+ q(7450),
+ q(0),
+ ],
+ q(yamdena) => [
+ q(3066),
+ q(0),
+ ],
+ q(yameo) => [
+ q(7546),
+ q(0),
+ ],
+ q(yami) => [
+ q(6290),
+ q(0),
+ ],
+ q(yaminahua) => [
+ q(7433),
+ q(0),
+ ],
+ q(yamna) => [
+ q(7553),
+ q(0),
+ ],
+ q(yamongeri) => [
+ q(7547),
+ q(0),
+ ],
+ q(yamphe) => [
+ q(7542),
+ q(0),
+ ],
+ q(yamphu) => [
+ q(7462),
+ q(0),
+ ],
+ q(yan-nhangu) => [
+ q(3014),
+ q(0),
+ ],
+ q(yana) => [
+ q(7569),
+ q(0),
+ ],
+ q(yanahuanca pasco quechua) => [
+ q(5627),
+ q(0),
+ ],
+ q(yanda dom dogon) => [
+ q(2179),
+ q(0),
+ ],
+ q(yandruwandha) => [
+ q(7563),
+ q(0),
+ ],
+ q(yanesha') => [
+ q(0769),
+ q(0),
+ ],
+ q(yang zhuang) => [
+ q(7814),
+ q(0),
+ ],
+ q(yangben) => [
+ q(7452),
+ q(0),
+ ],
+ q(yangbye) => [
+ q(7459),
+ q(0),
+ ],
+ q(yangho) => [
+ q(7566),
+ q(0),
+ ],
+ q(yangkam) => [
+ q(1464),
+ q(0),
+ ],
+ q(yangman) => [
+ q(3075),
+ q(0),
+ ],
+ q(yango) => [
+ q(7565),
+ q(0),
+ ],
+ q(yangulam) => [
+ q(7568),
+ q(0),
+ ],
+ q(yangum dey) => [
+ q(7476),
+ q(0),
+ ],
+ q(yangum gel) => [
+ q(7493),
+ q(0),
+ ],
+ q(yangum mon) => [
+ q(7554),
+ q(0),
+ ],
+ q(yankunytjatjara) => [
+ q(3182),
+ q(0),
+ ],
+ q(yanomami) => [
+ q(7008),
+ q(0),
+ ],
+ q(yanomamo) => [
+ q(2622),
+ q(0),
+ ],
+ q(yansi) => [
+ q(7571),
+ q(0),
+ ],
+ q(yanyuwa) => [
+ q(3007),
+ q(0),
+ ],
+ q(yao) => [
+ q(0472),
+ q(0),
+ ],
+ q(yaosakor asmat) => [
+ q(0905),
+ q(0),
+ ],
+ q(yaoure) => [
+ q(7594),
+ q(0),
+ ],
+ q(yapese) => [
+ q(0473),
+ q(0),
+ ],
+ q(yapunda) => [
+ q(7491),
+ q(0),
+ ],
+ q(yaqay) => [
+ q(3008),
+ q(0),
+ ],
+ q(yaqui) => [
+ q(7447),
+ q(0),
+ ],
+ q(yarawata) => [
+ q(7600),
+ q(0),
+ ],
+ q(yareba) => [
+ q(7593),
+ q(0),
+ ],
+ q(yareni zapotec) => [
+ q(7654),
+ q(0),
+ ],
+ q(yari) => [
+ q(7595),
+ q(0),
+ ],
+ q(yarsun) => [
+ q(7599),
+ q(0),
+ ],
+ q(yasa) => [
+ q(7526),
+ q(0),
+ ],
+ q(yassic) => [
+ q(7601),
+ q(0),
+ ],
+ q(yatee zapotec) => [
+ q(7807),
+ q(0),
+ ],
+ q(yatzachi zapotec) => [
+ q(7669),
+ q(0),
+ ],
+ q(yau (morobe province)) => [
+ q(7632),
+ q(0),
+ ],
+ q(yau (sandaun province)) => [
+ q(7646),
+ q(0),
+ ],
+ q(yaul) => [
+ q(7530),
+ q(0),
+ ],
+ q(yauma) => [
+ q(7454),
+ q(0),
+ ],
+ q(yaur) => [
+ q(3012),
+ q(0),
+ ],
+ q(yautepec zapotec) => [
+ q(7758),
+ q(0),
+ ],
+ q(yauyos quechua) => [
+ q(5631),
+ q(0),
+ ],
+ q(yavitero) => [
+ q(7637),
+ q(0),
+ ],
+ q(yawa) => [
+ q(7636),
+ q(0),
+ ],
+ q(yawalapiti) => [
+ q(7453),
+ q(0),
+ ],
+ q(yawanawa) => [
+ q(7640),
+ q(0),
+ ],
+ q(yawarawarga) => [
+ q(7645),
+ q(0),
+ ],
+ q(yaweyuha) => [
+ q(7470),
+ q(0),
+ ],
+ q(yawiyo) => [
+ q(7469),
+ q(0),
+ ],
+ q(yawuru) => [
+ q(7642),
+ q(0),
+ ],
+ q(yazgulyam) => [
+ q(7440),
+ q(0),
+ ],
+ q(yecuatla totonac) => [
+ q(6486),
+ q(0),
+ ],
+ q(yei) => [
+ q(3031),
+ q(0),
+ ],
+ q(yekhee) => [
+ q(2282),
+ q(0),
+ ],
+ q(yekora) => [
+ q(7527),
+ q(0),
+ ],
+ q(yela) => [
+ q(7485),
+ q(0),
+ ],
+ q(yele) => [
+ q(7532),
+ q(0),
+ ],
+ q(yelmek) => [
+ q(3033),
+ q(0),
+ ],
+ q(yelogu) => [
+ q(7533),
+ q(0),
+ ],
+ q(yemba) => [
+ q(7458),
+ q(0),
+ ],
+ q(yemsa) => [
+ q(3077),
+ q(0),
+ ],
+ q(yendang) => [
+ q(7486),
+ q(0),
+ ],
+ q(yeni) => [
+ q(7483),
+ q(0),
+ ],
+ q(yeniche) => [
+ q(7481),
+ q(0),
+ ],
+ q(yerakai) => [
+ q(7592),
+ q(0),
+ ],
+ q(yeretuar) => [
+ q(2561),
+ q(0),
+ ],
+ q(yerong) => [
+ q(7598),
+ q(0),
+ ],
+ q(yerukula) => [
+ q(7490),
+ q(0),
+ ],
+ q(yeskwa) => [
+ q(7488),
+ q(0),
+ ],
+ q(yessan-mayo) => [
+ q(7608),
+ q(0),
+ ],
+ q(yetfa) => [
+ q(7489),
+ q(0),
+ ],
+ q(yevanic) => [
+ q(7484),
+ q(0),
+ ],
+ q(yeyi) => [
+ q(7492),
+ q(0),
+ ],
+ q(yiddish) => [
+ q(0474),
+ q(0),
+ ],
+ q(yiddish sign language) => [
+ q(7479),
+ q(0),
+ ],
+ q(yidgha) => [
+ q(7477),
+ q(0),
+ ],
+ q(yidiny) => [
+ q(7504),
+ q(0),
+ ],
+ q(yil) => [
+ q(7535),
+ q(0),
+ ],
+ q(yimas) => [
+ q(7482),
+ q(0),
+ ],
+ q(yimchungru naga) => [
+ q(7508),
+ q(0),
+ ],
+ q(yinbaw karen) => [
+ q(3635),
+ q(0),
+ ],
+ q(yinchia) => [
+ q(7509),
+ q(0),
+ ],
+ q(yindjibarndi) => [
+ q(7505),
+ q(0),
+ ],
+ q(yindjilandji) => [
+ q(7507),
+ q(0),
+ ],
+ q(yine) => [
+ q(5387),
+ q(0),
+ ],
+ q(yinggarda) => [
+ q(7501),
+ q(0),
+ ],
+ q(yintale karen) => [
+ q(3639),
+ q(0),
+ ],
+ q(yir yoront) => [
+ q(7518),
+ q(0),
+ ],
+ q(yis) => [
+ q(7513),
+ q(0),
+ ],
+ q(yiwom) => [
+ q(2450),
+ q(0),
+ ],
+ q(yoba) => [
+ q(7573),
+ q(0),
+ ],
+ q(yocoboue dida) => [
+ q(2606),
+ q(0),
+ ],
+ q(yogad) => [
+ q(7574),
+ q(0),
+ ],
+ q(yoidik) => [
+ q(7478),
+ q(0),
+ ],
+ q(yoke) => [
+ q(7522),
+ q(0),
+ ],
+ q(yokuts) => [
+ q(7576),
+ q(0),
+ ],
+ q(yola) => [
+ q(7577),
+ q(0),
+ ],
+ q(yoloxochitl mixtec) => [
+ q(7401),
+ q(0),
+ ],
+ q(yom) => [
+ q(5396),
+ q(0),
+ ],
+ q(yombe) => [
+ q(7578),
+ q(0),
+ ],
+ q(yonaguni) => [
+ q(7575),
+ q(0),
+ ],
+ q(yong) => [
+ q(7570),
+ q(0),
+ ],
+ q(yongbei zhuang) => [
+ q(7813),
+ q(0),
+ ],
+ q(yongkom) => [
+ q(7579),
+ q(0),
+ ],
+ q(yongnan zhuang) => [
+ q(7816),
+ q(0),
+ ],
+ q(yopno) => [
+ q(7630),
+ q(0),
+ ],
+ q(yora) => [
+ q(4523),
+ q(0),
+ ],
+ q(yoron) => [
+ q(7581),
+ q(0),
+ ],
+ q(yoruba) => [
+ q(0475),
+ q(0),
+ ],
+ q(yos) => [
+ q(7580),
+ q(0),
+ ],
+ q(yosondua mixtec) => [
+ q(4417),
+ q(0),
+ ],
+ q(youjiang zhuang) => [
+ q(7815),
+ q(0),
+ ],
+ q(youle jinuo) => [
+ q(3056),
+ q(0),
+ ],
+ q(younuo bunu) => [
+ q(1495),
+ q(0),
+ ],
+ q(yout wam) => [
+ q(7613),
+ q(0),
+ ],
+ q(yoy) => [
+ q(7582),
+ q(0),
+ ],
+ q(yuaga) => [
+ q(5047),
+ q(0),
+ ],
+ q(yucatec maya) => [
+ q(7614),
+ q(0),
+ ],
+ q(yucatec maya sign language) => [
+ q(4483),
+ q(0),
+ ],
+ q(yucateco) => [
+ q(7614),
+ q(0),
+ ],
+ q(yuchi) => [
+ q(7616),
+ q(0),
+ ],
+ q(yucuane mixtec) => [
+ q(4556),
+ q(0),
+ ],
+ q(yucuna) => [
+ q(7473),
+ q(0),
+ ],
+ q(yue chinese) => [
+ q(7618),
+ q(0),
+ ],
+ q(yug) => [
+ q(7620),
+ q(0),
+ ],
+ q(yugambal) => [
+ q(7615),
+ q(0),
+ ],
+ q(yugh) => [
+ q(7631),
+ q(0),
+ ],
+ q(yugoslavian sign language) => [
+ q(7603),
+ q(0),
+ ],
+ q(yuhup) => [
+ q(7434),
+ q(0),
+ ],
+ q(yuki) => [
+ q(7623),
+ q(0),
+ ],
+ q(yukpa) => [
+ q(7627),
+ q(0),
+ ],
+ q(yukuben) => [
+ q(7465),
+ q(0),
+ ],
+ q(yulu) => [
+ q(7624),
+ q(0),
+ ],
+ q(yupik languages) => [
+ q(0476),
+ q(0),
+ ],
+ q(yuqui) => [
+ q(7628),
+ q(0),
+ ],
+ q(yuracare) => [
+ q(7635),
+ q(0),
+ ],
+ q(yurok) => [
+ q(7629),
+ q(0),
+ ],
+ q(yuruti) => [
+ q(7621),
+ q(0),
+ ],
+ q(yutanduchi mixtec) => [
+ q(4061),
+ q(0),
+ ],
+ q(yuwana) => [
+ q(7451),
+ q(0),
+ ],
+ q(zaachila zapotec) => [
+ q(7806),
+ q(0),
+ ],
+ q(zabana) => [
+ q(3333),
+ q(0),
+ ],
+ q(zacatepec chatino) => [
+ q(1891),
+ q(0),
+ ],
+ q(zacatlan-ahuacatlan-tepetzintla nahuatl) => [
+ q(4821),
+ q(0),
+ ],
+ q(zaghawa) => [
+ q(7656),
+ q(0),
+ ],
+ q(zaiwa) => [
+ q(0908),
+ q(0),
+ ],
+ q(zakhring) => [
+ q(7710),
+ q(0),
+ ],
+ q(zambian sign language) => [
+ q(7792),
+ q(0),
+ ],
+ q(zan gula) => [
+ q(7745),
+ q(0),
+ ],
+ q(zanaki) => [
+ q(7660),
+ q(0),
+ ],
+ q(zande (individual language)) => [
+ q(7746),
+ q(0),
+ ],
+ q(zande languages) => [
+ q(0481),
+ q(0),
+ ],
+ q(zangskari) => [
+ q(7668),
+ q(0),
+ ],
+ q(zangwal) => [
+ q(7657),
+ q(0),
+ ],
+ q(zaniza zapotec) => [
+ q(7779),
+ q(0),
+ ],
+ q(zaparo) => [
+ q(7787),
+ q(0),
+ ],
+ q(zapotec) => [
+ q(0477),
+ q(0),
+ ],
+ q(zaramo) => [
+ q(7659),
+ q(0),
+ ],
+ q(zari) => [
+ q(7673),
+ q(0),
+ ],
+ q(zarma) => [
+ q(2044),
+ q(0),
+ ],
+ q(zarphatic) => [
+ q(7788),
+ q(0),
+ ],
+ q(zauzou) => [
+ q(7661),
+ q(0),
+ ],
+ q(zay) => [
+ q(7812),
+ q(0),
+ ],
+ q(zayein karen) => [
+ q(3676),
+ q(0),
+ ],
+ q(zayse-zergulla) => [
+ q(7672),
+ q(0),
+ ],
+ q(zaysete) => [
+ q(7672),
+ q(0),
+ ],
+ q(zaza) => [
+ q(0485),
+ q(0),
+ ],
+ q(zazaki) => [
+ q(0485),
+ q(0),
+ ],
+ q(zazao) => [
+ q(3003),
+ q(0),
+ ],
+ q(zeem) => [
+ q(7808),
+ q(0),
+ ],
+ q(zeeuws) => [
+ q(7681),
+ q(0),
+ ],
+ q(zemba) => [
+ q(2010),
+ q(0),
+ ],
+ q(zeme naga) => [
+ q(5118),
+ q(0),
+ ],
+ q(zemgalian) => [
+ q(7431),
+ q(0),
+ ],
+ q(zenag) => [
+ q(7682),
+ q(0),
+ ],
+ q(zenaga) => [
+ q(0479),
+ q(0),
+ ],
+ q(zenzontepec chatino) => [
+ q(1924),
+ q(0),
+ ],
+ q(zerenkel) => [
+ q(7786),
+ q(0),
+ ],
+ q(zhaba) => [
+ q(7689),
+ q(0),
+ ],
+ q(zhang-zhung) => [
+ q(7430),
+ q(0),
+ ],
+ q(zhire) => [
+ q(7691),
+ q(0),
+ ],
+ q(zhoa) => [
+ q(7693),
+ q(0),
+ ],
+ q(zhuang) => [
+ q(0480),
+ q(0),
+ ],
+ q(zia) => [
+ q(7694),
+ q(0),
+ ],
+ q(zialo) => [
+ q(7697),
+ q(0),
+ ],
+ q(zigula) => [
+ q(7701),
+ q(0),
+ ],
+ q(zimakani) => [
+ q(7696),
+ q(0),
+ ],
+ q(zimba) => [
+ q(7720),
+ q(0),
+ ],
+ q(zimbabwe sign language) => [
+ q(7695),
+ q(0),
+ ],
+ q(zinza) => [
+ q(7699),
+ q(0),
+ ],
+ q(zire) => [
+ q(5966),
+ q(0),
+ ],
+ q(ziriya) => [
+ q(7700),
+ q(0),
+ ],
+ q(zizilivakan) => [
+ q(7702),
+ q(0),
+ ],
+ q(zo'e) => [
+ q(5567),
+ q(0),
+ ],
+ q(zokhuo) => [
+ q(7649),
+ q(0),
+ ],
+ q(zoogocho zapotec) => [
+ q(7773),
+ q(0),
+ ],
+ q(zoroastrian dari) => [
+ q(2414),
+ q(0),
+ ],
+ q(zorop) => [
+ q(7027),
+ q(0),
+ ],
+ q(zotung chin) => [
+ q(1926),
+ q(0),
+ ],
+ q(zou) => [
+ q(7752),
+ q(0),
+ ],
+ q(zulgo-gemzek) => [
+ q(2532),
+ q(0),
+ ],
+ q(zulu) => [
+ q(0482),
+ q(0),
+ ],
+ q(zumaya) => [
+ q(7811),
+ q(0),
+ ],
+ q(zumbun) => [
+ q(3064),
+ q(0),
+ ],
+ q(zuni) => [
+ q(0483),
+ q(0),
+ ],
+ q(zuojiang zhuang) => [
+ q(7818),
+ q(0),
+ ],
+ q(zyphe) => [
+ q(7817),
+ q(0),
+ ],
+};
+
+$Locale::Codes::Data{'language'}{'code2id'} = {
+ q(alpha-2) => {
+ q(aa) => [
+ q(0001),
+ q(0),
+ ],
+ q(ab) => [
+ q(0002),
+ q(0),
+ ],
+ q(ae) => [
+ q(0034),
+ q(0),
+ ],
+ q(af) => [
+ q(0009),
+ q(0),
+ ],
+ q(ak) => [
+ q(0011),
+ q(0),
+ ],
+ q(am) => [
+ q(0017),
+ q(0),
+ ],
+ q(an) => [
+ q(0023),
+ q(0),
+ ],
+ q(ar) => [
+ q(0021),
+ q(0),
+ ],
+ q(as) => [
+ q(0029),
+ q(0),
+ ],
+ q(av) => [
+ q(0033),
+ q(0),
+ ],
+ q(ay) => [
+ q(0036),
+ q(0),
+ ],
+ q(az) => [
+ q(0037),
+ q(0),
+ ],
+ q(ba) => [
+ q(0040),
+ q(0),
+ ],
+ q(be) => [
+ q(0048),
+ q(0),
+ ],
+ q(bg) => [
+ q(0065),
+ q(0),
+ ],
+ q(bh) => [
+ q(0053),
+ q(0),
+ ],
+ q(bi) => [
+ q(0056),
+ q(0),
+ ],
+ q(bm) => [
+ q(0042),
+ q(0),
+ ],
+ q(bn) => [
+ q(0050),
+ q(0),
+ ],
+ q(bo) => [
+ q(0427),
+ q(0),
+ ],
+ q(br) => [
+ q(0061),
+ q(0),
+ ],
+ q(bs) => [
+ q(0059),
+ q(0),
+ ],
+ q(ca) => [
+ q(0071),
+ q(0),
+ ],
+ q(ce) => [
+ q(0077),
+ q(0),
+ ],
+ q(ch) => [
+ q(0075),
+ q(0),
+ ],
+ q(co) => [
+ q(0092),
+ q(0),
+ ],
+ q(cr) => [
+ q(0096),
+ q(0),
+ ],
+ q(cs) => [
+ q(0101),
+ q(0),
+ ],
+ q(cu) => [
+ q(0086),
+ q(0),
+ ],
+ q(cv) => [
+ q(0087),
+ q(0),
+ ],
+ q(cy) => [
+ q(0466),
+ q(0),
+ ],
+ q(da) => [
+ q(0103),
+ q(0),
+ ],
+ q(de) => [
+ q(0150),
+ q(0),
+ ],
+ q(dv) => [
+ q(0110),
+ q(0),
+ ],
+ q(dz) => [
+ q(0118),
+ q(0),
+ ],
+ q(ee) => [
+ q(0127),
+ q(0),
+ ],
+ q(el) => [
+ q(0164),
+ q(1),
+ ],
+ q(en) => [
+ q(0123),
+ q(0),
+ ],
+ q(eo) => [
+ q(0125),
+ q(0),
+ ],
+ q(es) => [
+ q(0401),
+ q(0),
+ ],
+ q(et) => [
+ q(0126),
+ q(0),
+ ],
+ q(eu) => [
+ q(0044),
+ q(0),
+ ],
+ q(fa) => [
+ q(0342),
+ q(0),
+ ],
+ q(ff) => [
+ q(0143),
+ q(0),
+ ],
+ q(fi) => [
+ q(0134),
+ q(0),
+ ],
+ q(fj) => [
+ q(0132),
+ q(0),
+ ],
+ q(fo) => [
+ q(0130),
+ q(0),
+ ],
+ q(fr) => [
+ q(0137),
+ q(0),
+ ],
+ q(fy) => [
+ q(0142),
+ q(0),
+ ],
+ q(ga) => [
+ q(0154),
+ q(0),
+ ],
+ q(gd) => [
+ q(0153),
+ q(0),
+ ],
+ q(gl) => [
+ q(0155),
+ q(0),
+ ],
+ q(gn) => [
+ q(0165),
+ q(0),
+ ],
+ q(gu) => [
+ q(0167),
+ q(0),
+ ],
+ q(gv) => [
+ q(0156),
+ q(0),
+ ],
+ q(ha) => [
+ q(0171),
+ q(0),
+ ],
+ q(he) => [
+ q(0173),
+ q(0),
+ ],
+ q(hi) => [
+ q(0177),
+ q(0),
+ ],
+ q(ho) => [
+ q(0180),
+ q(0),
+ ],
+ q(hr) => [
+ q(0181),
+ q(0),
+ ],
+ q(ht) => [
+ q(0170),
+ q(0),
+ ],
+ q(hu) => [
+ q(0183),
+ q(0),
+ ],
+ q(hy) => [
+ q(0024),
+ q(0),
+ ],
+ q(hz) => [
+ q(0174),
+ q(0),
+ ],
+ q(ia) => [
+ q(0194),
+ q(0),
+ ],
+ q(id) => [
+ q(0196),
+ q(0),
+ ],
+ q(ie) => [
+ q(0192),
+ q(0),
+ ],
+ q(ig) => [
+ q(0186),
+ q(0),
+ ],
+ q(ii) => [
+ q(0189),
+ q(0),
+ ],
+ q(ik) => [
+ q(0199),
+ q(0),
+ ],
+ q(io) => [
+ q(0188),
+ q(0),
+ ],
+ q(is) => [
+ q(0187),
+ q(0),
+ ],
+ q(it) => [
+ q(0202),
+ q(0),
+ ],
+ q(iu) => [
+ q(0191),
+ q(0),
+ ],
+ q(ja) => [
+ q(0205),
+ q(0),
+ ],
+ q(jv) => [
+ q(0203),
+ q(0),
+ ],
+ q(ka) => [
+ q(0149),
+ q(0),
+ ],
+ q(kg) => [
+ q(0230),
+ q(0),
+ ],
+ q(ki) => [
+ q(0224),
+ q(0),
+ ],
+ q(kj) => [
+ q(0238),
+ q(0),
+ ],
+ q(kk) => [
+ q(0218),
+ q(0),
+ ],
+ q(kl) => [
+ q(0211),
+ q(0),
+ ],
+ q(km) => [
+ q(0222),
+ q(0),
+ ],
+ q(kn) => [
+ q(0213),
+ q(0),
+ ],
+ q(ko) => [
+ q(0231),
+ q(0),
+ ],
+ q(kr) => [
+ q(0216),
+ q(0),
+ ],
+ q(ks) => [
+ q(0215),
+ q(0),
+ ],
+ q(ku) => [
+ q(0240),
+ q(0),
+ ],
+ q(kv) => [
+ q(0229),
+ q(0),
+ ],
+ q(kw) => [
+ q(0091),
+ q(0),
+ ],
+ q(ky) => [
+ q(0226),
+ q(0),
+ ],
+ q(la) => [
+ q(0246),
+ q(0),
+ ],
+ q(lb) => [
+ q(0254),
+ q(0),
+ ],
+ q(lg) => [
+ q(0257),
+ q(0),
+ ],
+ q(li) => [
+ q(0249),
+ q(0),
+ ],
+ q(ln) => [
+ q(0250),
+ q(0),
+ ],
+ q(lo) => [
+ q(0245),
+ q(0),
+ ],
+ q(lt) => [
+ q(0251),
+ q(0),
+ ],
+ q(lu) => [
+ q(0256),
+ q(0),
+ ],
+ q(lv) => [
+ q(0247),
+ q(0),
+ ],
+ q(mg) => [
+ q(0283),
+ q(0),
+ ],
+ q(mh) => [
+ q(0265),
+ q(0),
+ ],
+ q(mi) => [
+ q(0270),
+ q(0),
+ ],
+ q(mk) => [
+ q(0262),
+ q(0),
+ ],
+ q(ml) => [
+ q(0268),
+ q(0),
+ ],
+ q(mn) => [
+ q(0289),
+ q(0),
+ ],
+ q(mr) => [
+ q(0272),
+ q(0),
+ ],
+ q(ms) => [
+ q(0274),
+ q(1),
+ ],
+ q(mt) => [
+ q(0284),
+ q(0),
+ ],
+ q(my) => [
+ q(0066),
+ q(0),
+ ],
+ q(na) => [
+ q(0301),
+ q(0),
+ ],
+ q(nb) => [
+ q(0313),
+ q(0),
+ ],
+ q(nd) => [
+ q(0304),
+ q(0),
+ ],
+ q(ne) => [
+ q(0307),
+ q(0),
+ ],
+ q(ng) => [
+ q(0305),
+ q(0),
+ ],
+ q(nl) => [
+ q(0116),
+ q(0),
+ ],
+ q(nn) => [
+ q(0312),
+ q(0),
+ ],
+ q(no) => [
+ q(0316),
+ q(0),
+ ],
+ q(nr) => [
+ q(0303),
+ q(0),
+ ],
+ q(nv) => [
+ q(0302),
+ q(0),
+ ],
+ q(ny) => [
+ q(0321),
+ q(0),
+ ],
+ q(oc) => [
+ q(0326),
+ q(0),
+ ],
+ q(oj) => [
+ q(0327),
+ q(0),
+ ],
+ q(om) => [
+ q(0329),
+ q(0),
+ ],
+ q(or) => [
+ q(0328),
+ q(0),
+ ],
+ q(os) => [
+ q(0331),
+ q(0),
+ ],
+ q(pa) => [
+ q(0338),
+ q(0),
+ ],
+ q(pi) => [
+ q(0345),
+ q(0),
+ ],
+ q(pl) => [
+ q(0346),
+ q(0),
+ ],
+ q(ps) => [
+ q(0351),
+ q(0),
+ ],
+ q(pt) => [
+ q(0348),
+ q(0),
+ ],
+ q(qu) => [
+ q(0353),
+ q(0),
+ ],
+ q(rm) => [
+ q(0358),
+ q(0),
+ ],
+ q(rn) => [
+ q(0361),
+ q(0),
+ ],
+ q(ro) => [
+ q(0360),
+ q(0),
+ ],
+ q(ru) => [
+ q(0363),
+ q(0),
+ ],
+ q(rw) => [
+ q(0225),
+ q(0),
+ ],
+ q(sa) => [
+ q(0370),
+ q(0),
+ ],
+ q(sc) => [
+ q(0402),
+ q(0),
+ ],
+ q(sd) => [
+ q(0395),
+ q(0),
+ ],
+ q(se) => [
+ q(0388),
+ q(0),
+ ],
+ q(sg) => [
+ q(0365),
+ q(0),
+ ],
+ q(sh) => [
+ q(0536),
+ q(0),
+ ],
+ q(si) => [
+ q(0381),
+ q(0),
+ ],
+ q(sk) => [
+ q(0385),
+ q(0),
+ ],
+ q(sl) => [
+ q(0386),
+ q(0),
+ ],
+ q(sm) => [
+ q(0392),
+ q(0),
+ ],
+ q(sn) => [
+ q(0394),
+ q(0),
+ ],
+ q(so) => [
+ q(0398),
+ q(0),
+ ],
+ q(sq) => [
+ q(0013),
+ q(0),
+ ],
+ q(sr) => [
+ q(0404),
+ q(0),
+ ],
+ q(ss) => [
+ q(0407),
+ q(0),
+ ],
+ q(st) => [
+ q(0400),
+ q(1),
+ ],
+ q(su) => [
+ q(0409),
+ q(0),
+ ],
+ q(sv) => [
+ q(0413),
+ q(0),
+ ],
+ q(sw) => [
+ q(0412),
+ q(1),
+ ],
+ q(ta) => [
+ q(0418),
+ q(0),
+ ],
+ q(te) => [
+ q(0420),
+ q(0),
+ ],
+ q(tg) => [
+ q(0424),
+ q(0),
+ ],
+ q(th) => [
+ q(0426),
+ q(0),
+ ],
+ q(ti) => [
+ q(0429),
+ q(0),
+ ],
+ q(tk) => [
+ q(0441),
+ q(0),
+ ],
+ q(tl) => [
+ q(0425),
+ q(0),
+ ],
+ q(tn) => [
+ q(0439),
+ q(0),
+ ],
+ q(to) => [
+ q(0436),
+ q(0),
+ ],
+ q(tr) => [
+ q(0444),
+ q(0),
+ ],
+ q(ts) => [
+ q(0440),
+ q(0),
+ ],
+ q(tt) => [
+ q(0419),
+ q(0),
+ ],
+ q(tw) => [
+ q(0447),
+ q(0),
+ ],
+ q(ty) => [
+ q(0416),
+ q(0),
+ ],
+ q(ug) => [
+ q(0451),
+ q(0),
+ ],
+ q(uk) => [
+ q(0452),
+ q(0),
+ ],
+ q(ur) => [
+ q(0455),
+ q(0),
+ ],
+ q(uz) => [
+ q(0456),
+ q(0),
+ ],
+ q(ve) => [
+ q(0458),
+ q(0),
+ ],
+ q(vi) => [
+ q(0459),
+ q(0),
+ ],
+ q(vo) => [
+ q(0460),
+ q(0),
+ ],
+ q(wa) => [
+ q(0468),
+ q(0),
+ ],
+ q(wo) => [
+ q(0469),
+ q(0),
+ ],
+ q(xh) => [
+ q(0471),
+ q(0),
+ ],
+ q(yi) => [
+ q(0474),
+ q(0),
+ ],
+ q(yo) => [
+ q(0475),
+ q(0),
+ ],
+ q(za) => [
+ q(0480),
+ q(0),
+ ],
+ q(zh) => [
+ q(0079),
+ q(0),
+ ],
+ q(zu) => [
+ q(0482),
+ q(0),
+ ],
+ },
+ q(alpha-3) => {
+ q(aaa) => [
+ q(0537),
+ q(0),
+ ],
+ q(aab) => [
+ q(0538),
+ q(0),
+ ],
+ q(aac) => [
+ q(0539),
+ q(0),
+ ],
+ q(aad) => [
+ q(0540),
+ q(0),
+ ],
+ q(aae) => [
+ q(0541),
+ q(0),
+ ],
+ q(aaf) => [
+ q(0542),
+ q(0),
+ ],
+ q(aag) => [
+ q(0543),
+ q(0),
+ ],
+ q(aah) => [
+ q(0544),
+ q(0),
+ ],
+ q(aai) => [
+ q(0545),
+ q(0),
+ ],
+ q(aak) => [
+ q(0546),
+ q(0),
+ ],
+ q(aal) => [
+ q(0547),
+ q(0),
+ ],
+ q(aam) => [
+ q(0548),
+ q(0),
+ ],
+ q(aan) => [
+ q(0549),
+ q(0),
+ ],
+ q(aao) => [
+ q(0550),
+ q(0),
+ ],
+ q(aap) => [
+ q(0551),
+ q(0),
+ ],
+ q(aaq) => [
+ q(0552),
+ q(0),
+ ],
+ q(aar) => [
+ q(0001),
+ q(0),
+ ],
+ q(aas) => [
+ q(0553),
+ q(0),
+ ],
+ q(aat) => [
+ q(0554),
+ q(0),
+ ],
+ q(aau) => [
+ q(0555),
+ q(0),
+ ],
+ q(aav) => [
+ q(0486),
+ q(0),
+ ],
+ q(aaw) => [
+ q(0556),
+ q(0),
+ ],
+ q(aax) => [
+ q(0557),
+ q(0),
+ ],
+ q(aaz) => [
+ q(0558),
+ q(0),
+ ],
+ q(aba) => [
+ q(0559),
+ q(0),
+ ],
+ q(abb) => [
+ q(0560),
+ q(0),
+ ],
+ q(abc) => [
+ q(0561),
+ q(0),
+ ],
+ q(abd) => [
+ q(0562),
+ q(0),
+ ],
+ q(abe) => [
+ q(0563),
+ q(0),
+ ],
+ q(abf) => [
+ q(0564),
+ q(0),
+ ],
+ q(abg) => [
+ q(0565),
+ q(0),
+ ],
+ q(abh) => [
+ q(0566),
+ q(0),
+ ],
+ q(abi) => [
+ q(0567),
+ q(0),
+ ],
+ q(abj) => [
+ q(0568),
+ q(0),
+ ],
+ q(abk) => [
+ q(0002),
+ q(0),
+ ],
+ q(abl) => [
+ q(0569),
+ q(0),
+ ],
+ q(abm) => [
+ q(0570),
+ q(0),
+ ],
+ q(abn) => [
+ q(0571),
+ q(0),
+ ],
+ q(abo) => [
+ q(0572),
+ q(0),
+ ],
+ q(abp) => [
+ q(0573),
+ q(0),
+ ],
+ q(abq) => [
+ q(0574),
+ q(0),
+ ],
+ q(abr) => [
+ q(0575),
+ q(0),
+ ],
+ q(abs) => [
+ q(0576),
+ q(0),
+ ],
+ q(abt) => [
+ q(0577),
+ q(0),
+ ],
+ q(abu) => [
+ q(0578),
+ q(0),
+ ],
+ q(abv) => [
+ q(0579),
+ q(0),
+ ],
+ q(abw) => [
+ q(0580),
+ q(0),
+ ],
+ q(abx) => [
+ q(0581),
+ q(0),
+ ],
+ q(aby) => [
+ q(0582),
+ q(0),
+ ],
+ q(abz) => [
+ q(0583),
+ q(0),
+ ],
+ q(aca) => [
+ q(0584),
+ q(0),
+ ],
+ q(acb) => [
+ q(0585),
+ q(0),
+ ],
+ q(acd) => [
+ q(0586),
+ q(0),
+ ],
+ q(ace) => [
+ q(0003),
+ q(0),
+ ],
+ q(acf) => [
+ q(0587),
+ q(0),
+ ],
+ q(ach) => [
+ q(0004),
+ q(0),
+ ],
+ q(aci) => [
+ q(0588),
+ q(0),
+ ],
+ q(ack) => [
+ q(0589),
+ q(0),
+ ],
+ q(acl) => [
+ q(0590),
+ q(0),
+ ],
+ q(acm) => [
+ q(0591),
+ q(0),
+ ],
+ q(acn) => [
+ q(0592),
+ q(0),
+ ],
+ q(acp) => [
+ q(0593),
+ q(0),
+ ],
+ q(acq) => [
+ q(0594),
+ q(0),
+ ],
+ q(acr) => [
+ q(0595),
+ q(0),
+ ],
+ q(acs) => [
+ q(0596),
+ q(0),
+ ],
+ q(act) => [
+ q(0597),
+ q(0),
+ ],
+ q(acu) => [
+ q(0598),
+ q(0),
+ ],
+ q(acv) => [
+ q(0599),
+ q(0),
+ ],
+ q(acw) => [
+ q(0600),
+ q(0),
+ ],
+ q(acx) => [
+ q(0601),
+ q(0),
+ ],
+ q(acy) => [
+ q(0602),
+ q(0),
+ ],
+ q(acz) => [
+ q(0603),
+ q(0),
+ ],
+ q(ada) => [
+ q(0005),
+ q(0),
+ ],
+ q(adb) => [
+ q(0604),
+ q(0),
+ ],
+ q(add) => [
+ q(0605),
+ q(0),
+ ],
+ q(ade) => [
+ q(0606),
+ q(0),
+ ],
+ q(adf) => [
+ q(0607),
+ q(0),
+ ],
+ q(adg) => [
+ q(0608),
+ q(0),
+ ],
+ q(adh) => [
+ q(0609),
+ q(0),
+ ],
+ q(adi) => [
+ q(0610),
+ q(0),
+ ],
+ q(adj) => [
+ q(0611),
+ q(0),
+ ],
+ q(adl) => [
+ q(0612),
+ q(0),
+ ],
+ q(adn) => [
+ q(0613),
+ q(0),
+ ],
+ q(ado) => [
+ q(0614),
+ q(0),
+ ],
+ q(adp) => [
+ q(0615),
+ q(0),
+ ],
+ q(adq) => [
+ q(0616),
+ q(0),
+ ],
+ q(adr) => [
+ q(0617),
+ q(0),
+ ],
+ q(ads) => [
+ q(0618),
+ q(0),
+ ],
+ q(adt) => [
+ q(0619),
+ q(0),
+ ],
+ q(adu) => [
+ q(0620),
+ q(0),
+ ],
+ q(adw) => [
+ q(0621),
+ q(0),
+ ],
+ q(adx) => [
+ q(0622),
+ q(0),
+ ],
+ q(ady) => [
+ q(0006),
+ q(0),
+ ],
+ q(adz) => [
+ q(0623),
+ q(0),
+ ],
+ q(aea) => [
+ q(0624),
+ q(0),
+ ],
+ q(aeb) => [
+ q(0625),
+ q(0),
+ ],
+ q(aec) => [
+ q(0626),
+ q(0),
+ ],
+ q(aed) => [
+ q(0627),
+ q(0),
+ ],
+ q(aee) => [
+ q(0628),
+ q(0),
+ ],
+ q(aek) => [
+ q(0629),
+ q(0),
+ ],
+ q(ael) => [
+ q(0630),
+ q(0),
+ ],
+ q(aem) => [
+ q(0631),
+ q(0),
+ ],
+ q(aen) => [
+ q(0632),
+ q(0),
+ ],
+ q(aeq) => [
+ q(0633),
+ q(0),
+ ],
+ q(aer) => [
+ q(0634),
+ q(0),
+ ],
+ q(aes) => [
+ q(0635),
+ q(0),
+ ],
+ q(aeu) => [
+ q(0636),
+ q(0),
+ ],
+ q(aew) => [
+ q(0637),
+ q(0),
+ ],
+ q(aey) => [
+ q(0638),
+ q(0),
+ ],
+ q(aez) => [
+ q(0639),
+ q(0),
+ ],
+ q(afa) => [
+ q(0007),
+ q(0),
+ ],
+ q(afb) => [
+ q(0640),
+ q(0),
+ ],
+ q(afd) => [
+ q(0641),
+ q(0),
+ ],
+ q(afe) => [
+ q(0642),
+ q(0),
+ ],
+ q(afg) => [
+ q(0643),
+ q(0),
+ ],
+ q(afh) => [
+ q(0008),
+ q(0),
+ ],
+ q(afi) => [
+ q(0644),
+ q(0),
+ ],
+ q(afk) => [
+ q(0645),
+ q(0),
+ ],
+ q(afn) => [
+ q(0646),
+ q(0),
+ ],
+ q(afo) => [
+ q(0647),
+ q(0),
+ ],
+ q(afp) => [
+ q(0648),
+ q(0),
+ ],
+ q(afr) => [
+ q(0009),
+ q(0),
+ ],
+ q(afs) => [
+ q(0649),
+ q(0),
+ ],
+ q(aft) => [
+ q(0650),
+ q(0),
+ ],
+ q(afu) => [
+ q(0651),
+ q(0),
+ ],
+ q(afz) => [
+ q(0652),
+ q(0),
+ ],
+ q(aga) => [
+ q(0653),
+ q(0),
+ ],
+ q(agb) => [
+ q(0654),
+ q(0),
+ ],
+ q(agc) => [
+ q(0655),
+ q(0),
+ ],
+ q(agd) => [
+ q(0656),
+ q(0),
+ ],
+ q(age) => [
+ q(0657),
+ q(0),
+ ],
+ q(agf) => [
+ q(0658),
+ q(0),
+ ],
+ q(agg) => [
+ q(0659),
+ q(0),
+ ],
+ q(agh) => [
+ q(0660),
+ q(0),
+ ],
+ q(agi) => [
+ q(0661),
+ q(0),
+ ],
+ q(agj) => [
+ q(0662),
+ q(0),
+ ],
+ q(agk) => [
+ q(0663),
+ q(0),
+ ],
+ q(agl) => [
+ q(0664),
+ q(0),
+ ],
+ q(agm) => [
+ q(0665),
+ q(0),
+ ],
+ q(agn) => [
+ q(0666),
+ q(0),
+ ],
+ q(ago) => [
+ q(0667),
+ q(0),
+ ],
+ q(agq) => [
+ q(0668),
+ q(0),
+ ],
+ q(agr) => [
+ q(0669),
+ q(0),
+ ],
+ q(ags) => [
+ q(0670),
+ q(0),
+ ],
+ q(agt) => [
+ q(0671),
+ q(0),
+ ],
+ q(agu) => [
+ q(0672),
+ q(0),
+ ],
+ q(agv) => [
+ q(0673),
+ q(0),
+ ],
+ q(agw) => [
+ q(0674),
+ q(0),
+ ],
+ q(agx) => [
+ q(0675),
+ q(0),
+ ],
+ q(agy) => [
+ q(0676),
+ q(0),
+ ],
+ q(agz) => [
+ q(0677),
+ q(0),
+ ],
+ q(aha) => [
+ q(0678),
+ q(0),
+ ],
+ q(ahb) => [
+ q(0679),
+ q(0),
+ ],
+ q(ahg) => [
+ q(0680),
+ q(0),
+ ],
+ q(ahh) => [
+ q(0681),
+ q(0),
+ ],
+ q(ahi) => [
+ q(0682),
+ q(0),
+ ],
+ q(ahk) => [
+ q(0683),
+ q(0),
+ ],
+ q(ahl) => [
+ q(0684),
+ q(0),
+ ],
+ q(ahm) => [
+ q(0685),
+ q(0),
+ ],
+ q(ahn) => [
+ q(0686),
+ q(0),
+ ],
+ q(aho) => [
+ q(0687),
+ q(0),
+ ],
+ q(ahp) => [
+ q(0688),
+ q(0),
+ ],
+ q(ahr) => [
+ q(0689),
+ q(0),
+ ],
+ q(ahs) => [
+ q(0690),
+ q(0),
+ ],
+ q(aht) => [
+ q(0691),
+ q(0),
+ ],
+ q(aia) => [
+ q(0692),
+ q(0),
+ ],
+ q(aib) => [
+ q(0693),
+ q(0),
+ ],
+ q(aic) => [
+ q(0694),
+ q(0),
+ ],
+ q(aid) => [
+ q(0695),
+ q(0),
+ ],
+ q(aie) => [
+ q(0696),
+ q(0),
+ ],
+ q(aif) => [
+ q(0697),
+ q(0),
+ ],
+ q(aig) => [
+ q(0698),
+ q(0),
+ ],
+ q(aih) => [
+ q(0699),
+ q(0),
+ ],
+ q(aii) => [
+ q(0700),
+ q(0),
+ ],
+ q(aij) => [
+ q(0701),
+ q(0),
+ ],
+ q(aik) => [
+ q(0702),
+ q(0),
+ ],
+ q(ail) => [
+ q(0703),
+ q(0),
+ ],
+ q(aim) => [
+ q(0704),
+ q(0),
+ ],
+ q(ain) => [
+ q(0010),
+ q(1),
+ ],
+ q(aio) => [
+ q(0705),
+ q(0),
+ ],
+ q(aip) => [
+ q(0706),
+ q(0),
+ ],
+ q(aiq) => [
+ q(0707),
+ q(0),
+ ],
+ q(air) => [
+ q(0708),
+ q(0),
+ ],
+ q(ais) => [
+ q(0709),
+ q(0),
+ ],
+ q(ait) => [
+ q(0710),
+ q(0),
+ ],
+ q(aiw) => [
+ q(0711),
+ q(0),
+ ],
+ q(aix) => [
+ q(0712),
+ q(0),
+ ],
+ q(aiy) => [
+ q(0713),
+ q(0),
+ ],
+ q(aja) => [
+ q(0714),
+ q(0),
+ ],
+ q(ajg) => [
+ q(0715),
+ q(0),
+ ],
+ q(aji) => [
+ q(0716),
+ q(0),
+ ],
+ q(ajp) => [
+ q(0717),
+ q(0),
+ ],
+ q(ajt) => [
+ q(0718),
+ q(0),
+ ],
+ q(aju) => [
+ q(0719),
+ q(0),
+ ],
+ q(ajw) => [
+ q(0720),
+ q(0),
+ ],
+ q(ajz) => [
+ q(0721),
+ q(0),
+ ],
+ q(aka) => [
+ q(0011),
+ q(0),
+ ],
+ q(akb) => [
+ q(0722),
+ q(0),
+ ],
+ q(akc) => [
+ q(0723),
+ q(0),
+ ],
+ q(akd) => [
+ q(0724),
+ q(0),
+ ],
+ q(ake) => [
+ q(0725),
+ q(0),
+ ],
+ q(akf) => [
+ q(0726),
+ q(0),
+ ],
+ q(akg) => [
+ q(0727),
+ q(0),
+ ],
+ q(akh) => [
+ q(0728),
+ q(0),
+ ],
+ q(aki) => [
+ q(0729),
+ q(0),
+ ],
+ q(akj) => [
+ q(0730),
+ q(0),
+ ],
+ q(akk) => [
+ q(0012),
+ q(0),
+ ],
+ q(akl) => [
+ q(0731),
+ q(0),
+ ],
+ q(akm) => [
+ q(0732),
+ q(0),
+ ],
+ q(ako) => [
+ q(0733),
+ q(0),
+ ],
+ q(akp) => [
+ q(0734),
+ q(0),
+ ],
+ q(akq) => [
+ q(0735),
+ q(0),
+ ],
+ q(akr) => [
+ q(0736),
+ q(0),
+ ],
+ q(aks) => [
+ q(0737),
+ q(0),
+ ],
+ q(akt) => [
+ q(0738),
+ q(0),
+ ],
+ q(aku) => [
+ q(0739),
+ q(0),
+ ],
+ q(akv) => [
+ q(0740),
+ q(0),
+ ],
+ q(akw) => [
+ q(0741),
+ q(0),
+ ],
+ q(akx) => [
+ q(0742),
+ q(0),
+ ],
+ q(aky) => [
+ q(0743),
+ q(0),
+ ],
+ q(akz) => [
+ q(0744),
+ q(0),
+ ],
+ q(ala) => [
+ q(0745),
+ q(0),
+ ],
+ q(alb) => [
+ q(0013),
+ q(0),
+ ],
+ q(alc) => [
+ q(0746),
+ q(0),
+ ],
+ q(ald) => [
+ q(0747),
+ q(0),
+ ],
+ q(ale) => [
+ q(0014),
+ q(0),
+ ],
+ q(alf) => [
+ q(0748),
+ q(0),
+ ],
+ q(alg) => [
+ q(0015),
+ q(0),
+ ],
+ q(alh) => [
+ q(0749),
+ q(0),
+ ],
+ q(ali) => [
+ q(0750),
+ q(0),
+ ],
+ q(alj) => [
+ q(0751),
+ q(0),
+ ],
+ q(alk) => [
+ q(0752),
+ q(0),
+ ],
+ q(all) => [
+ q(0753),
+ q(0),
+ ],
+ q(alm) => [
+ q(0754),
+ q(0),
+ ],
+ q(aln) => [
+ q(0755),
+ q(0),
+ ],
+ q(alo) => [
+ q(0756),
+ q(0),
+ ],
+ q(alp) => [
+ q(0757),
+ q(0),
+ ],
+ q(alq) => [
+ q(0758),
+ q(0),
+ ],
+ q(alr) => [
+ q(0759),
+ q(0),
+ ],
+ q(als) => [
+ q(0760),
+ q(0),
+ ],
+ q(alt) => [
+ q(0016),
+ q(0),
+ ],
+ q(alu) => [
+ q(0761),
+ q(0),
+ ],
+ q(alv) => [
+ q(0487),
+ q(0),
+ ],
+ q(alw) => [
+ q(0762),
+ q(0),
+ ],
+ q(alx) => [
+ q(0763),
+ q(0),
+ ],
+ q(aly) => [
+ q(0764),
+ q(0),
+ ],
+ q(alz) => [
+ q(0765),
+ q(0),
+ ],
+ q(ama) => [
+ q(0766),
+ q(0),
+ ],
+ q(amb) => [
+ q(0767),
+ q(0),
+ ],
+ q(amc) => [
+ q(0768),
+ q(0),
+ ],
+ q(ame) => [
+ q(0769),
+ q(0),
+ ],
+ q(amf) => [
+ q(0770),
+ q(0),
+ ],
+ q(amg) => [
+ q(0771),
+ q(0),
+ ],
+ q(amh) => [
+ q(0017),
+ q(0),
+ ],
+ q(ami) => [
+ q(0772),
+ q(0),
+ ],
+ q(amj) => [
+ q(0773),
+ q(0),
+ ],
+ q(amk) => [
+ q(0774),
+ q(0),
+ ],
+ q(aml) => [
+ q(0775),
+ q(0),
+ ],
+ q(amm) => [
+ q(0776),
+ q(0),
+ ],
+ q(amn) => [
+ q(0777),
+ q(0),
+ ],
+ q(amo) => [
+ q(0778),
+ q(0),
+ ],
+ q(amp) => [
+ q(0779),
+ q(0),
+ ],
+ q(amq) => [
+ q(0780),
+ q(0),
+ ],
+ q(amr) => [
+ q(0781),
+ q(0),
+ ],
+ q(ams) => [
+ q(0782),
+ q(0),
+ ],
+ q(amt) => [
+ q(0783),
+ q(0),
+ ],
+ q(amu) => [
+ q(0784),
+ q(0),
+ ],
+ q(amv) => [
+ q(0785),
+ q(0),
+ ],
+ q(amw) => [
+ q(0786),
+ q(0),
+ ],
+ q(amx) => [
+ q(0787),
+ q(0),
+ ],
+ q(amy) => [
+ q(0788),
+ q(0),
+ ],
+ q(amz) => [
+ q(0789),
+ q(0),
+ ],
+ q(ana) => [
+ q(0790),
+ q(0),
+ ],
+ q(anb) => [
+ q(0791),
+ q(0),
+ ],
+ q(anc) => [
+ q(0792),
+ q(0),
+ ],
+ q(and) => [
+ q(0793),
+ q(0),
+ ],
+ q(ane) => [
+ q(0794),
+ q(0),
+ ],
+ q(anf) => [
+ q(0795),
+ q(0),
+ ],
+ q(ang) => [
+ q(0018),
+ q(1),
+ ],
+ q(anh) => [
+ q(0796),
+ q(0),
+ ],
+ q(ani) => [
+ q(0797),
+ q(0),
+ ],
+ q(anj) => [
+ q(0798),
+ q(0),
+ ],
+ q(ank) => [
+ q(0799),
+ q(0),
+ ],
+ q(anl) => [
+ q(0800),
+ q(0),
+ ],
+ q(anm) => [
+ q(0801),
+ q(0),
+ ],
+ q(ann) => [
+ q(0802),
+ q(0),
+ ],
+ q(ano) => [
+ q(0803),
+ q(0),
+ ],
+ q(anp) => [
+ q(0019),
+ q(0),
+ ],
+ q(anq) => [
+ q(0804),
+ q(0),
+ ],
+ q(anr) => [
+ q(0805),
+ q(0),
+ ],
+ q(ans) => [
+ q(0806),
+ q(0),
+ ],
+ q(ant) => [
+ q(0807),
+ q(0),
+ ],
+ q(anu) => [
+ q(0808),
+ q(0),
+ ],
+ q(anv) => [
+ q(0809),
+ q(0),
+ ],
+ q(anw) => [
+ q(0810),
+ q(0),
+ ],
+ q(anx) => [
+ q(0811),
+ q(0),
+ ],
+ q(any) => [
+ q(0812),
+ q(0),
+ ],
+ q(anz) => [
+ q(0813),
+ q(0),
+ ],
+ q(aoa) => [
+ q(0814),
+ q(0),
+ ],
+ q(aob) => [
+ q(0815),
+ q(0),
+ ],
+ q(aoc) => [
+ q(0816),
+ q(0),
+ ],
+ q(aod) => [
+ q(0817),
+ q(0),
+ ],
+ q(aoe) => [
+ q(0818),
+ q(0),
+ ],
+ q(aof) => [
+ q(0819),
+ q(0),
+ ],
+ q(aog) => [
+ q(0820),
+ q(0),
+ ],
+ q(aoh) => [
+ q(0821),
+ q(0),
+ ],
+ q(aoi) => [
+ q(0822),
+ q(0),
+ ],
+ q(aoj) => [
+ q(0823),
+ q(0),
+ ],
+ q(aok) => [
+ q(0824),
+ q(0),
+ ],
+ q(aol) => [
+ q(0825),
+ q(0),
+ ],
+ q(aom) => [
+ q(0826),
+ q(0),
+ ],
+ q(aon) => [
+ q(0827),
+ q(0),
+ ],
+ q(aor) => [
+ q(0828),
+ q(0),
+ ],
+ q(aos) => [
+ q(0829),
+ q(0),
+ ],
+ q(aot) => [
+ q(0830),
+ q(0),
+ ],
+ q(aox) => [
+ q(0831),
+ q(0),
+ ],
+ q(aoz) => [
+ q(0832),
+ q(0),
+ ],
+ q(apa) => [
+ q(0020),
+ q(0),
+ ],
+ q(apb) => [
+ q(0833),
+ q(0),
+ ],
+ q(apc) => [
+ q(0834),
+ q(0),
+ ],
+ q(apd) => [
+ q(0835),
+ q(0),
+ ],
+ q(ape) => [
+ q(0836),
+ q(0),
+ ],
+ q(apf) => [
+ q(0837),
+ q(0),
+ ],
+ q(apg) => [
+ q(0838),
+ q(0),
+ ],
+ q(aph) => [
+ q(0839),
+ q(0),
+ ],
+ q(api) => [
+ q(0840),
+ q(0),
+ ],
+ q(apj) => [
+ q(0841),
+ q(0),
+ ],
+ q(apk) => [
+ q(0842),
+ q(0),
+ ],
+ q(apl) => [
+ q(0843),
+ q(0),
+ ],
+ q(apm) => [
+ q(0844),
+ q(0),
+ ],
+ q(apn) => [
+ q(0845),
+ q(0),
+ ],
+ q(apo) => [
+ q(0846),
+ q(0),
+ ],
+ q(app) => [
+ q(0847),
+ q(0),
+ ],
+ q(apq) => [
+ q(0848),
+ q(0),
+ ],
+ q(apr) => [
+ q(0849),
+ q(0),
+ ],
+ q(aps) => [
+ q(0850),
+ q(0),
+ ],
+ q(apt) => [
+ q(0851),
+ q(0),
+ ],
+ q(apu) => [
+ q(0852),
+ q(0),
+ ],
+ q(apv) => [
+ q(0853),
+ q(0),
+ ],
+ q(apw) => [
+ q(0854),
+ q(0),
+ ],
+ q(apx) => [
+ q(0855),
+ q(0),
+ ],
+ q(apy) => [
+ q(0856),
+ q(0),
+ ],
+ q(apz) => [
+ q(0857),
+ q(0),
+ ],
+ q(aqa) => [
+ q(0488),
+ q(0),
+ ],
+ q(aqc) => [
+ q(0858),
+ q(0),
+ ],
+ q(aqd) => [
+ q(0859),
+ q(0),
+ ],
+ q(aqg) => [
+ q(0860),
+ q(0),
+ ],
+ q(aql) => [
+ q(0489),
+ q(0),
+ ],
+ q(aqm) => [
+ q(0861),
+ q(0),
+ ],
+ q(aqn) => [
+ q(0862),
+ q(0),
+ ],
+ q(aqp) => [
+ q(0863),
+ q(0),
+ ],
+ q(aqr) => [
+ q(0864),
+ q(0),
+ ],
+ q(aqz) => [
+ q(0865),
+ q(0),
+ ],
+ q(ara) => [
+ q(0021),
+ q(0),
+ ],
+ q(arb) => [
+ q(0866),
+ q(0),
+ ],
+ q(arc) => [
+ q(0022),
+ q(0),
+ ],
+ q(ard) => [
+ q(0867),
+ q(0),
+ ],
+ q(are) => [
+ q(0868),
+ q(0),
+ ],
+ q(arg) => [
+ q(0023),
+ q(0),
+ ],
+ q(arh) => [
+ q(0869),
+ q(0),
+ ],
+ q(ari) => [
+ q(0870),
+ q(0),
+ ],
+ q(arj) => [
+ q(0871),
+ q(0),
+ ],
+ q(ark) => [
+ q(0872),
+ q(0),
+ ],
+ q(arl) => [
+ q(0873),
+ q(0),
+ ],
+ q(arm) => [
+ q(0024),
+ q(0),
+ ],
+ q(arn) => [
+ q(0025),
+ q(0),
+ ],
+ q(aro) => [
+ q(0874),
+ q(0),
+ ],
+ q(arp) => [
+ q(0026),
+ q(0),
+ ],
+ q(arq) => [
+ q(0875),
+ q(0),
+ ],
+ q(arr) => [
+ q(0876),
+ q(0),
+ ],
+ q(ars) => [
+ q(0877),
+ q(0),
+ ],
+ q(art) => [
+ q(0027),
+ q(0),
+ ],
+ q(aru) => [
+ q(0878),
+ q(0),
+ ],
+ q(arv) => [
+ q(0879),
+ q(0),
+ ],
+ q(arw) => [
+ q(0028),
+ q(0),
+ ],
+ q(arx) => [
+ q(0880),
+ q(0),
+ ],
+ q(ary) => [
+ q(0881),
+ q(0),
+ ],
+ q(arz) => [
+ q(0882),
+ q(0),
+ ],
+ q(asa) => [
+ q(0883),
+ q(0),
+ ],
+ q(asb) => [
+ q(0884),
+ q(0),
+ ],
+ q(asc) => [
+ q(0885),
+ q(0),
+ ],
+ q(asd) => [
+ q(0886),
+ q(0),
+ ],
+ q(ase) => [
+ q(0887),
+ q(0),
+ ],
+ q(asf) => [
+ q(0888),
+ q(0),
+ ],
+ q(asg) => [
+ q(0889),
+ q(0),
+ ],
+ q(ash) => [
+ q(0890),
+ q(0),
+ ],
+ q(asi) => [
+ q(0891),
+ q(0),
+ ],
+ q(asj) => [
+ q(0892),
+ q(0),
+ ],
+ q(ask) => [
+ q(0893),
+ q(0),
+ ],
+ q(asl) => [
+ q(0894),
+ q(0),
+ ],
+ q(asm) => [
+ q(0029),
+ q(0),
+ ],
+ q(asn) => [
+ q(0895),
+ q(0),
+ ],
+ q(aso) => [
+ q(0896),
+ q(0),
+ ],
+ q(asp) => [
+ q(0897),
+ q(0),
+ ],
+ q(asq) => [
+ q(0898),
+ q(0),
+ ],
+ q(asr) => [
+ q(0899),
+ q(0),
+ ],
+ q(ass) => [
+ q(0900),
+ q(0),
+ ],
+ q(ast) => [
+ q(0030),
+ q(0),
+ ],
+ q(asu) => [
+ q(0901),
+ q(0),
+ ],
+ q(asv) => [
+ q(0902),
+ q(0),
+ ],
+ q(asw) => [
+ q(0903),
+ q(0),
+ ],
+ q(asx) => [
+ q(0904),
+ q(0),
+ ],
+ q(asy) => [
+ q(0905),
+ q(0),
+ ],
+ q(asz) => [
+ q(0906),
+ q(0),
+ ],
+ q(ata) => [
+ q(0907),
+ q(0),
+ ],
+ q(atb) => [
+ q(0908),
+ q(0),
+ ],
+ q(atc) => [
+ q(0909),
+ q(0),
+ ],
+ q(atd) => [
+ q(0910),
+ q(0),
+ ],
+ q(ate) => [
+ q(0911),
+ q(0),
+ ],
+ q(atg) => [
+ q(0912),
+ q(0),
+ ],
+ q(ath) => [
+ q(0031),
+ q(0),
+ ],
+ q(ati) => [
+ q(0913),
+ q(0),
+ ],
+ q(atj) => [
+ q(0914),
+ q(0),
+ ],
+ q(atk) => [
+ q(0915),
+ q(0),
+ ],
+ q(atl) => [
+ q(0916),
+ q(0),
+ ],
+ q(atm) => [
+ q(0917),
+ q(0),
+ ],
+ q(atn) => [
+ q(0918),
+ q(0),
+ ],
+ q(ato) => [
+ q(0919),
+ q(0),
+ ],
+ q(atp) => [
+ q(0920),
+ q(0),
+ ],
+ q(atq) => [
+ q(0921),
+ q(0),
+ ],
+ q(atr) => [
+ q(0922),
+ q(0),
+ ],
+ q(ats) => [
+ q(0923),
+ q(0),
+ ],
+ q(att) => [
+ q(0924),
+ q(0),
+ ],
+ q(atu) => [
+ q(0925),
+ q(0),
+ ],
+ q(atv) => [
+ q(0926),
+ q(0),
+ ],
+ q(atw) => [
+ q(0927),
+ q(0),
+ ],
+ q(atx) => [
+ q(0928),
+ q(0),
+ ],
+ q(aty) => [
+ q(0929),
+ q(0),
+ ],
+ q(atz) => [
+ q(0930),
+ q(0),
+ ],
+ q(aua) => [
+ q(0931),
+ q(0),
+ ],
+ q(aub) => [
+ q(0932),
+ q(0),
+ ],
+ q(auc) => [
+ q(0933),
+ q(0),
+ ],
+ q(aud) => [
+ q(0934),
+ q(0),
+ ],
+ q(aue) => [
+ q(0935),
+ q(0),
+ ],
+ q(auf) => [
+ q(0490),
+ q(0),
+ ],
+ q(aug) => [
+ q(0936),
+ q(0),
+ ],
+ q(auh) => [
+ q(0937),
+ q(0),
+ ],
+ q(aui) => [
+ q(0938),
+ q(0),
+ ],
+ q(auj) => [
+ q(0939),
+ q(0),
+ ],
+ q(auk) => [
+ q(0940),
+ q(0),
+ ],
+ q(aul) => [
+ q(0941),
+ q(0),
+ ],
+ q(aum) => [
+ q(0942),
+ q(0),
+ ],
+ q(aun) => [
+ q(0943),
+ q(0),
+ ],
+ q(auo) => [
+ q(0944),
+ q(0),
+ ],
+ q(aup) => [
+ q(0945),
+ q(0),
+ ],
+ q(auq) => [
+ q(0946),
+ q(0),
+ ],
+ q(aur) => [
+ q(0947),
+ q(0),
+ ],
+ q(aus) => [
+ q(0032),
+ q(0),
+ ],
+ q(aut) => [
+ q(0948),
+ q(0),
+ ],
+ q(auu) => [
+ q(0949),
+ q(0),
+ ],
+ q(auw) => [
+ q(0950),
+ q(0),
+ ],
+ q(aux) => [
+ q(0951),
+ q(0),
+ ],
+ q(auy) => [
+ q(0952),
+ q(0),
+ ],
+ q(auz) => [
+ q(0953),
+ q(0),
+ ],
+ q(ava) => [
+ q(0033),
+ q(0),
+ ],
+ q(avb) => [
+ q(0954),
+ q(0),
+ ],
+ q(avd) => [
+ q(0955),
+ q(0),
+ ],
+ q(ave) => [
+ q(0034),
+ q(0),
+ ],
+ q(avi) => [
+ q(0956),
+ q(0),
+ ],
+ q(avk) => [
+ q(0957),
+ q(0),
+ ],
+ q(avl) => [
+ q(0958),
+ q(0),
+ ],
+ q(avn) => [
+ q(0959),
+ q(0),
+ ],
+ q(avo) => [
+ q(0960),
+ q(0),
+ ],
+ q(avs) => [
+ q(0961),
+ q(0),
+ ],
+ q(avt) => [
+ q(0962),
+ q(0),
+ ],
+ q(avu) => [
+ q(0963),
+ q(0),
+ ],
+ q(avv) => [
+ q(0964),
+ q(0),
+ ],
+ q(awa) => [
+ q(0035),
+ q(0),
+ ],
+ q(awb) => [
+ q(0965),
+ q(0),
+ ],
+ q(awc) => [
+ q(0966),
+ q(0),
+ ],
+ q(awd) => [
+ q(0491),
+ q(0),
+ ],
+ q(awe) => [
+ q(0967),
+ q(0),
+ ],
+ q(awh) => [
+ q(0968),
+ q(0),
+ ],
+ q(awi) => [
+ q(0969),
+ q(0),
+ ],
+ q(awk) => [
+ q(0970),
+ q(0),
+ ],
+ q(awm) => [
+ q(0971),
+ q(0),
+ ],
+ q(awn) => [
+ q(0972),
+ q(0),
+ ],
+ q(awo) => [
+ q(0973),
+ q(0),
+ ],
+ q(awr) => [
+ q(0974),
+ q(0),
+ ],
+ q(aws) => [
+ q(0975),
+ q(0),
+ ],
+ q(awt) => [
+ q(0976),
+ q(0),
+ ],
+ q(awu) => [
+ q(0977),
+ q(0),
+ ],
+ q(awv) => [
+ q(0978),
+ q(0),
+ ],
+ q(aww) => [
+ q(0979),
+ q(0),
+ ],
+ q(awx) => [
+ q(0980),
+ q(0),
+ ],
+ q(awy) => [
+ q(0981),
+ q(0),
+ ],
+ q(axb) => [
+ q(0982),
+ q(0),
+ ],
+ q(axg) => [
+ q(0983),
+ q(0),
+ ],
+ q(axk) => [
+ q(0984),
+ q(0),
+ ],
+ q(axm) => [
+ q(0985),
+ q(0),
+ ],
+ q(axx) => [
+ q(0986),
+ q(0),
+ ],
+ q(aya) => [
+ q(0987),
+ q(0),
+ ],
+ q(ayb) => [
+ q(0988),
+ q(0),
+ ],
+ q(ayc) => [
+ q(0989),
+ q(0),
+ ],
+ q(ayd) => [
+ q(0990),
+ q(0),
+ ],
+ q(aye) => [
+ q(0991),
+ q(0),
+ ],
+ q(ayg) => [
+ q(0992),
+ q(0),
+ ],
+ q(ayh) => [
+ q(0993),
+ q(0),
+ ],
+ q(ayi) => [
+ q(0994),
+ q(0),
+ ],
+ q(ayk) => [
+ q(0995),
+ q(0),
+ ],
+ q(ayl) => [
+ q(0996),
+ q(0),
+ ],
+ q(aym) => [
+ q(0036),
+ q(0),
+ ],
+ q(ayn) => [
+ q(0997),
+ q(0),
+ ],
+ q(ayo) => [
+ q(0998),
+ q(0),
+ ],
+ q(ayp) => [
+ q(0999),
+ q(0),
+ ],
+ q(ayq) => [
+ q(1000),
+ q(0),
+ ],
+ q(ayr) => [
+ q(1001),
+ q(0),
+ ],
+ q(ays) => [
+ q(1002),
+ q(0),
+ ],
+ q(ayt) => [
+ q(1003),
+ q(0),
+ ],
+ q(ayu) => [
+ q(1004),
+ q(0),
+ ],
+ q(ayy) => [
+ q(1005),
+ q(0),
+ ],
+ q(ayz) => [
+ q(1006),
+ q(0),
+ ],
+ q(aza) => [
+ q(1007),
+ q(0),
+ ],
+ q(azb) => [
+ q(1008),
+ q(0),
+ ],
+ q(azc) => [
+ q(0492),
+ q(0),
+ ],
+ q(aze) => [
+ q(0037),
+ q(0),
+ ],
+ q(azg) => [
+ q(1009),
+ q(0),
+ ],
+ q(azj) => [
+ q(1010),
+ q(0),
+ ],
+ q(azm) => [
+ q(1011),
+ q(0),
+ ],
+ q(azo) => [
+ q(1012),
+ q(0),
+ ],
+ q(azt) => [
+ q(1013),
+ q(0),
+ ],
+ q(azz) => [
+ q(1014),
+ q(0),
+ ],
+ q(baa) => [
+ q(1015),
+ q(0),
+ ],
+ q(bab) => [
+ q(1016),
+ q(0),
+ ],
+ q(bac) => [
+ q(1017),
+ q(0),
+ ],
+ q(bad) => [
+ q(0038),
+ q(0),
+ ],
+ q(bae) => [
+ q(1018),
+ q(0),
+ ],
+ q(baf) => [
+ q(1019),
+ q(0),
+ ],
+ q(bag) => [
+ q(1020),
+ q(0),
+ ],
+ q(bah) => [
+ q(1021),
+ q(0),
+ ],
+ q(bai) => [
+ q(0039),
+ q(0),
+ ],
+ q(baj) => [
+ q(1022),
+ q(0),
+ ],
+ q(bak) => [
+ q(0040),
+ q(0),
+ ],
+ q(bal) => [
+ q(0041),
+ q(0),
+ ],
+ q(bam) => [
+ q(0042),
+ q(0),
+ ],
+ q(ban) => [
+ q(0043),
+ q(0),
+ ],
+ q(bao) => [
+ q(1023),
+ q(0),
+ ],
+ q(bap) => [
+ q(1024),
+ q(0),
+ ],
+ q(baq) => [
+ q(0044),
+ q(0),
+ ],
+ q(bar) => [
+ q(1025),
+ q(0),
+ ],
+ q(bas) => [
+ q(0045),
+ q(1),
+ ],
+ q(bat) => [
+ q(0046),
+ q(0),
+ ],
+ q(bau) => [
+ q(1026),
+ q(0),
+ ],
+ q(bav) => [
+ q(1027),
+ q(0),
+ ],
+ q(baw) => [
+ q(1028),
+ q(0),
+ ],
+ q(bax) => [
+ q(1029),
+ q(0),
+ ],
+ q(bay) => [
+ q(1030),
+ q(0),
+ ],
+ q(baz) => [
+ q(1031),
+ q(0),
+ ],
+ q(bba) => [
+ q(1032),
+ q(0),
+ ],
+ q(bbb) => [
+ q(1033),
+ q(0),
+ ],
+ q(bbc) => [
+ q(1034),
+ q(0),
+ ],
+ q(bbd) => [
+ q(1035),
+ q(0),
+ ],
+ q(bbe) => [
+ q(1036),
+ q(0),
+ ],
+ q(bbf) => [
+ q(1037),
+ q(0),
+ ],
+ q(bbg) => [
+ q(1038),
+ q(0),
+ ],
+ q(bbh) => [
+ q(1039),
+ q(0),
+ ],
+ q(bbi) => [
+ q(1040),
+ q(0),
+ ],
+ q(bbj) => [
+ q(1041),
+ q(0),
+ ],
+ q(bbk) => [
+ q(1042),
+ q(0),
+ ],
+ q(bbl) => [
+ q(1043),
+ q(0),
+ ],
+ q(bbm) => [
+ q(1044),
+ q(0),
+ ],
+ q(bbn) => [
+ q(1045),
+ q(0),
+ ],
+ q(bbo) => [
+ q(1046),
+ q(0),
+ ],
+ q(bbp) => [
+ q(1047),
+ q(0),
+ ],
+ q(bbq) => [
+ q(1048),
+ q(0),
+ ],
+ q(bbr) => [
+ q(1049),
+ q(0),
+ ],
+ q(bbs) => [
+ q(1050),
+ q(0),
+ ],
+ q(bbt) => [
+ q(1051),
+ q(0),
+ ],
+ q(bbu) => [
+ q(1052),
+ q(0),
+ ],
+ q(bbv) => [
+ q(1053),
+ q(0),
+ ],
+ q(bbw) => [
+ q(1054),
+ q(0),
+ ],
+ q(bbx) => [
+ q(1055),
+ q(0),
+ ],
+ q(bby) => [
+ q(1056),
+ q(0),
+ ],
+ q(bbz) => [
+ q(1057),
+ q(0),
+ ],
+ q(bca) => [
+ q(1058),
+ q(0),
+ ],
+ q(bcb) => [
+ q(1059),
+ q(0),
+ ],
+ q(bcc) => [
+ q(1060),
+ q(0),
+ ],
+ q(bcd) => [
+ q(1061),
+ q(0),
+ ],
+ q(bce) => [
+ q(1062),
+ q(0),
+ ],
+ q(bcf) => [
+ q(1063),
+ q(0),
+ ],
+ q(bcg) => [
+ q(1064),
+ q(0),
+ ],
+ q(bch) => [
+ q(1065),
+ q(0),
+ ],
+ q(bci) => [
+ q(1066),
+ q(0),
+ ],
+ q(bcj) => [
+ q(1067),
+ q(0),
+ ],
+ q(bck) => [
+ q(1068),
+ q(0),
+ ],
+ q(bcl) => [
+ q(1069),
+ q(0),
+ ],
+ q(bcm) => [
+ q(1070),
+ q(0),
+ ],
+ q(bcn) => [
+ q(1071),
+ q(0),
+ ],
+ q(bco) => [
+ q(1072),
+ q(0),
+ ],
+ q(bcp) => [
+ q(1073),
+ q(0),
+ ],
+ q(bcq) => [
+ q(1074),
+ q(0),
+ ],
+ q(bcr) => [
+ q(1075),
+ q(0),
+ ],
+ q(bcs) => [
+ q(1076),
+ q(0),
+ ],
+ q(bct) => [
+ q(1077),
+ q(0),
+ ],
+ q(bcu) => [
+ q(1078),
+ q(0),
+ ],
+ q(bcv) => [
+ q(1079),
+ q(0),
+ ],
+ q(bcw) => [
+ q(1080),
+ q(0),
+ ],
+ q(bcy) => [
+ q(1081),
+ q(0),
+ ],
+ q(bcz) => [
+ q(1082),
+ q(0),
+ ],
+ q(bda) => [
+ q(1083),
+ q(0),
+ ],
+ q(bdb) => [
+ q(1084),
+ q(0),
+ ],
+ q(bdc) => [
+ q(1085),
+ q(0),
+ ],
+ q(bdd) => [
+ q(1086),
+ q(0),
+ ],
+ q(bde) => [
+ q(1087),
+ q(0),
+ ],
+ q(bdf) => [
+ q(1088),
+ q(0),
+ ],
+ q(bdg) => [
+ q(1089),
+ q(0),
+ ],
+ q(bdh) => [
+ q(1090),
+ q(0),
+ ],
+ q(bdi) => [
+ q(1091),
+ q(0),
+ ],
+ q(bdj) => [
+ q(1092),
+ q(0),
+ ],
+ q(bdk) => [
+ q(1093),
+ q(0),
+ ],
+ q(bdl) => [
+ q(1094),
+ q(0),
+ ],
+ q(bdm) => [
+ q(1095),
+ q(0),
+ ],
+ q(bdn) => [
+ q(1096),
+ q(0),
+ ],
+ q(bdo) => [
+ q(1097),
+ q(0),
+ ],
+ q(bdp) => [
+ q(1098),
+ q(0),
+ ],
+ q(bdq) => [
+ q(1099),
+ q(0),
+ ],
+ q(bdr) => [
+ q(1100),
+ q(0),
+ ],
+ q(bds) => [
+ q(1101),
+ q(0),
+ ],
+ q(bdt) => [
+ q(1102),
+ q(0),
+ ],
+ q(bdu) => [
+ q(1103),
+ q(0),
+ ],
+ q(bdv) => [
+ q(1104),
+ q(0),
+ ],
+ q(bdw) => [
+ q(1105),
+ q(0),
+ ],
+ q(bdx) => [
+ q(1106),
+ q(0),
+ ],
+ q(bdy) => [
+ q(1107),
+ q(0),
+ ],
+ q(bdz) => [
+ q(1108),
+ q(0),
+ ],
+ q(bea) => [
+ q(1109),
+ q(0),
+ ],
+ q(beb) => [
+ q(1110),
+ q(0),
+ ],
+ q(bec) => [
+ q(1111),
+ q(0),
+ ],
+ q(bed) => [
+ q(1112),
+ q(0),
+ ],
+ q(bee) => [
+ q(1113),
+ q(0),
+ ],
+ q(bef) => [
+ q(1114),
+ q(0),
+ ],
+ q(beg) => [
+ q(1115),
+ q(0),
+ ],
+ q(beh) => [
+ q(1116),
+ q(0),
+ ],
+ q(bei) => [
+ q(1117),
+ q(0),
+ ],
+ q(bej) => [
+ q(0047),
+ q(0),
+ ],
+ q(bek) => [
+ q(1118),
+ q(0),
+ ],
+ q(bel) => [
+ q(0048),
+ q(0),
+ ],
+ q(bem) => [
+ q(0049),
+ q(1),
+ ],
+ q(ben) => [
+ q(0050),
+ q(0),
+ ],
+ q(beo) => [
+ q(1119),
+ q(0),
+ ],
+ q(bep) => [
+ q(1120),
+ q(0),
+ ],
+ q(beq) => [
+ q(1121),
+ q(0),
+ ],
+ q(ber) => [
+ q(0051),
+ q(0),
+ ],
+ q(bes) => [
+ q(1122),
+ q(0),
+ ],
+ q(bet) => [
+ q(1123),
+ q(0),
+ ],
+ q(beu) => [
+ q(1124),
+ q(0),
+ ],
+ q(bev) => [
+ q(1125),
+ q(0),
+ ],
+ q(bew) => [
+ q(1126),
+ q(0),
+ ],
+ q(bex) => [
+ q(1127),
+ q(0),
+ ],
+ q(bey) => [
+ q(1128),
+ q(0),
+ ],
+ q(bez) => [
+ q(1129),
+ q(0),
+ ],
+ q(bfa) => [
+ q(1130),
+ q(0),
+ ],
+ q(bfb) => [
+ q(1131),
+ q(0),
+ ],
+ q(bfc) => [
+ q(1132),
+ q(0),
+ ],
+ q(bfd) => [
+ q(1133),
+ q(0),
+ ],
+ q(bfe) => [
+ q(1134),
+ q(0),
+ ],
+ q(bff) => [
+ q(1135),
+ q(0),
+ ],
+ q(bfg) => [
+ q(1136),
+ q(0),
+ ],
+ q(bfh) => [
+ q(1137),
+ q(0),
+ ],
+ q(bfi) => [
+ q(1138),
+ q(0),
+ ],
+ q(bfj) => [
+ q(1139),
+ q(0),
+ ],
+ q(bfk) => [
+ q(1140),
+ q(0),
+ ],
+ q(bfl) => [
+ q(1141),
+ q(0),
+ ],
+ q(bfm) => [
+ q(1142),
+ q(0),
+ ],
+ q(bfn) => [
+ q(1143),
+ q(0),
+ ],
+ q(bfo) => [
+ q(1144),
+ q(0),
+ ],
+ q(bfp) => [
+ q(1145),
+ q(0),
+ ],
+ q(bfq) => [
+ q(1146),
+ q(0),
+ ],
+ q(bfr) => [
+ q(1147),
+ q(0),
+ ],
+ q(bfs) => [
+ q(1148),
+ q(0),
+ ],
+ q(bft) => [
+ q(1149),
+ q(0),
+ ],
+ q(bfu) => [
+ q(1150),
+ q(0),
+ ],
+ q(bfw) => [
+ q(1151),
+ q(0),
+ ],
+ q(bfx) => [
+ q(1152),
+ q(0),
+ ],
+ q(bfy) => [
+ q(1153),
+ q(0),
+ ],
+ q(bfz) => [
+ q(1154),
+ q(0),
+ ],
+ q(bga) => [
+ q(1155),
+ q(0),
+ ],
+ q(bgb) => [
+ q(1156),
+ q(0),
+ ],
+ q(bgc) => [
+ q(1157),
+ q(0),
+ ],
+ q(bgd) => [
+ q(1158),
+ q(0),
+ ],
+ q(bge) => [
+ q(1159),
+ q(0),
+ ],
+ q(bgf) => [
+ q(1160),
+ q(0),
+ ],
+ q(bgg) => [
+ q(1161),
+ q(0),
+ ],
+ q(bgi) => [
+ q(1162),
+ q(0),
+ ],
+ q(bgj) => [
+ q(1163),
+ q(0),
+ ],
+ q(bgk) => [
+ q(1164),
+ q(0),
+ ],
+ q(bgl) => [
+ q(1165),
+ q(0),
+ ],
+ q(bgm) => [
+ q(1166),
+ q(0),
+ ],
+ q(bgn) => [
+ q(1167),
+ q(0),
+ ],
+ q(bgo) => [
+ q(1168),
+ q(0),
+ ],
+ q(bgp) => [
+ q(1169),
+ q(0),
+ ],
+ q(bgq) => [
+ q(1170),
+ q(0),
+ ],
+ q(bgr) => [
+ q(1171),
+ q(0),
+ ],
+ q(bgs) => [
+ q(1172),
+ q(0),
+ ],
+ q(bgt) => [
+ q(1173),
+ q(0),
+ ],
+ q(bgu) => [
+ q(1174),
+ q(0),
+ ],
+ q(bgv) => [
+ q(1175),
+ q(0),
+ ],
+ q(bgw) => [
+ q(1176),
+ q(0),
+ ],
+ q(bgx) => [
+ q(1177),
+ q(0),
+ ],
+ q(bgy) => [
+ q(1178),
+ q(0),
+ ],
+ q(bgz) => [
+ q(1179),
+ q(0),
+ ],
+ q(bha) => [
+ q(1180),
+ q(0),
+ ],
+ q(bhb) => [
+ q(1181),
+ q(0),
+ ],
+ q(bhc) => [
+ q(1182),
+ q(0),
+ ],
+ q(bhd) => [
+ q(1183),
+ q(0),
+ ],
+ q(bhe) => [
+ q(1184),
+ q(0),
+ ],
+ q(bhf) => [
+ q(1185),
+ q(0),
+ ],
+ q(bhg) => [
+ q(1186),
+ q(0),
+ ],
+ q(bhh) => [
+ q(1187),
+ q(0),
+ ],
+ q(bhi) => [
+ q(1188),
+ q(0),
+ ],
+ q(bhj) => [
+ q(1189),
+ q(0),
+ ],
+ q(bhl) => [
+ q(1190),
+ q(0),
+ ],
+ q(bhm) => [
+ q(1191),
+ q(0),
+ ],
+ q(bhn) => [
+ q(1192),
+ q(0),
+ ],
+ q(bho) => [
+ q(0052),
+ q(0),
+ ],
+ q(bhp) => [
+ q(1193),
+ q(0),
+ ],
+ q(bhq) => [
+ q(1194),
+ q(0),
+ ],
+ q(bhr) => [
+ q(1195),
+ q(0),
+ ],
+ q(bhs) => [
+ q(1196),
+ q(0),
+ ],
+ q(bht) => [
+ q(1197),
+ q(0),
+ ],
+ q(bhu) => [
+ q(1198),
+ q(0),
+ ],
+ q(bhv) => [
+ q(1199),
+ q(0),
+ ],
+ q(bhw) => [
+ q(1200),
+ q(0),
+ ],
+ q(bhx) => [
+ q(1201),
+ q(0),
+ ],
+ q(bhy) => [
+ q(1202),
+ q(0),
+ ],
+ q(bhz) => [
+ q(1203),
+ q(0),
+ ],
+ q(bia) => [
+ q(1204),
+ q(0),
+ ],
+ q(bib) => [
+ q(1205),
+ q(0),
+ ],
+ q(bic) => [
+ q(1206),
+ q(0),
+ ],
+ q(bid) => [
+ q(1207),
+ q(0),
+ ],
+ q(bie) => [
+ q(1208),
+ q(0),
+ ],
+ q(bif) => [
+ q(1209),
+ q(0),
+ ],
+ q(big) => [
+ q(1210),
+ q(0),
+ ],
+ q(bih) => [
+ q(0053),
+ q(0),
+ ],
+ q(bij) => [
+ q(1211),
+ q(0),
+ ],
+ q(bik) => [
+ q(0054),
+ q(0),
+ ],
+ q(bil) => [
+ q(1212),
+ q(0),
+ ],
+ q(bim) => [
+ q(1213),
+ q(0),
+ ],
+ q(bin) => [
+ q(0055),
+ q(0),
+ ],
+ q(bio) => [
+ q(1214),
+ q(0),
+ ],
+ q(bip) => [
+ q(1215),
+ q(0),
+ ],
+ q(biq) => [
+ q(1216),
+ q(0),
+ ],
+ q(bir) => [
+ q(1217),
+ q(0),
+ ],
+ q(bis) => [
+ q(0056),
+ q(0),
+ ],
+ q(bit) => [
+ q(1218),
+ q(0),
+ ],
+ q(biu) => [
+ q(1219),
+ q(0),
+ ],
+ q(biv) => [
+ q(1220),
+ q(0),
+ ],
+ q(biw) => [
+ q(1221),
+ q(0),
+ ],
+ q(bix) => [
+ q(1222),
+ q(0),
+ ],
+ q(biy) => [
+ q(1223),
+ q(0),
+ ],
+ q(biz) => [
+ q(1224),
+ q(0),
+ ],
+ q(bja) => [
+ q(1225),
+ q(0),
+ ],
+ q(bjb) => [
+ q(1226),
+ q(0),
+ ],
+ q(bjc) => [
+ q(1227),
+ q(0),
+ ],
+ q(bjd) => [
+ q(1228),
+ q(0),
+ ],
+ q(bje) => [
+ q(1229),
+ q(0),
+ ],
+ q(bjf) => [
+ q(1230),
+ q(0),
+ ],
+ q(bjg) => [
+ q(1231),
+ q(0),
+ ],
+ q(bjh) => [
+ q(1232),
+ q(0),
+ ],
+ q(bji) => [
+ q(1233),
+ q(0),
+ ],
+ q(bjj) => [
+ q(1234),
+ q(0),
+ ],
+ q(bjk) => [
+ q(1235),
+ q(0),
+ ],
+ q(bjl) => [
+ q(1236),
+ q(0),
+ ],
+ q(bjm) => [
+ q(1237),
+ q(0),
+ ],
+ q(bjn) => [
+ q(1238),
+ q(0),
+ ],
+ q(bjo) => [
+ q(1239),
+ q(0),
+ ],
+ q(bjr) => [
+ q(1240),
+ q(0),
+ ],
+ q(bjs) => [
+ q(1241),
+ q(0),
+ ],
+ q(bjt) => [
+ q(1242),
+ q(0),
+ ],
+ q(bju) => [
+ q(1243),
+ q(0),
+ ],
+ q(bjv) => [
+ q(1244),
+ q(0),
+ ],
+ q(bjw) => [
+ q(1245),
+ q(0),
+ ],
+ q(bjx) => [
+ q(1246),
+ q(0),
+ ],
+ q(bjy) => [
+ q(1247),
+ q(0),
+ ],
+ q(bjz) => [
+ q(1248),
+ q(0),
+ ],
+ q(bka) => [
+ q(1249),
+ q(0),
+ ],
+ q(bkc) => [
+ q(1250),
+ q(0),
+ ],
+ q(bkd) => [
+ q(1251),
+ q(0),
+ ],
+ q(bkf) => [
+ q(1252),
+ q(0),
+ ],
+ q(bkg) => [
+ q(1253),
+ q(0),
+ ],
+ q(bkh) => [
+ q(1254),
+ q(0),
+ ],
+ q(bki) => [
+ q(1255),
+ q(0),
+ ],
+ q(bkj) => [
+ q(1256),
+ q(0),
+ ],
+ q(bkk) => [
+ q(1257),
+ q(0),
+ ],
+ q(bkl) => [
+ q(1258),
+ q(0),
+ ],
+ q(bkm) => [
+ q(1259),
+ q(0),
+ ],
+ q(bkn) => [
+ q(1260),
+ q(0),
+ ],
+ q(bko) => [
+ q(1261),
+ q(0),
+ ],
+ q(bkp) => [
+ q(1262),
+ q(0),
+ ],
+ q(bkq) => [
+ q(1263),
+ q(0),
+ ],
+ q(bkr) => [
+ q(1264),
+ q(0),
+ ],
+ q(bks) => [
+ q(1265),
+ q(0),
+ ],
+ q(bkt) => [
+ q(1266),
+ q(0),
+ ],
+ q(bku) => [
+ q(1267),
+ q(0),
+ ],
+ q(bkv) => [
+ q(1268),
+ q(0),
+ ],
+ q(bkw) => [
+ q(1269),
+ q(0),
+ ],
+ q(bkx) => [
+ q(1270),
+ q(0),
+ ],
+ q(bky) => [
+ q(1271),
+ q(0),
+ ],
+ q(bkz) => [
+ q(1272),
+ q(0),
+ ],
+ q(bla) => [
+ q(0057),
+ q(0),
+ ],
+ q(blb) => [
+ q(1273),
+ q(0),
+ ],
+ q(blc) => [
+ q(1274),
+ q(0),
+ ],
+ q(bld) => [
+ q(1275),
+ q(0),
+ ],
+ q(ble) => [
+ q(1276),
+ q(0),
+ ],
+ q(blf) => [
+ q(1277),
+ q(0),
+ ],
+ q(blg) => [
+ q(1278),
+ q(0),
+ ],
+ q(blh) => [
+ q(1279),
+ q(0),
+ ],
+ q(bli) => [
+ q(1280),
+ q(0),
+ ],
+ q(blj) => [
+ q(1281),
+ q(0),
+ ],
+ q(blk) => [
+ q(1282),
+ q(0),
+ ],
+ q(bll) => [
+ q(1283),
+ q(0),
+ ],
+ q(blm) => [
+ q(1284),
+ q(0),
+ ],
+ q(bln) => [
+ q(1285),
+ q(0),
+ ],
+ q(blo) => [
+ q(1286),
+ q(0),
+ ],
+ q(blp) => [
+ q(1287),
+ q(0),
+ ],
+ q(blq) => [
+ q(1288),
+ q(0),
+ ],
+ q(blr) => [
+ q(1289),
+ q(0),
+ ],
+ q(bls) => [
+ q(1290),
+ q(0),
+ ],
+ q(blt) => [
+ q(1291),
+ q(0),
+ ],
+ q(blv) => [
+ q(1292),
+ q(0),
+ ],
+ q(blw) => [
+ q(1293),
+ q(0),
+ ],
+ q(blx) => [
+ q(1294),
+ q(0),
+ ],
+ q(bly) => [
+ q(1295),
+ q(0),
+ ],
+ q(blz) => [
+ q(1296),
+ q(0),
+ ],
+ q(bma) => [
+ q(1297),
+ q(0),
+ ],
+ q(bmb) => [
+ q(1298),
+ q(0),
+ ],
+ q(bmc) => [
+ q(1299),
+ q(0),
+ ],
+ q(bmd) => [
+ q(1300),
+ q(0),
+ ],
+ q(bme) => [
+ q(1301),
+ q(0),
+ ],
+ q(bmf) => [
+ q(1302),
+ q(0),
+ ],
+ q(bmg) => [
+ q(1303),
+ q(0),
+ ],
+ q(bmh) => [
+ q(1304),
+ q(0),
+ ],
+ q(bmi) => [
+ q(1305),
+ q(0),
+ ],
+ q(bmj) => [
+ q(1306),
+ q(0),
+ ],
+ q(bmk) => [
+ q(1307),
+ q(0),
+ ],
+ q(bml) => [
+ q(1308),
+ q(0),
+ ],
+ q(bmm) => [
+ q(1309),
+ q(0),
+ ],
+ q(bmn) => [
+ q(1310),
+ q(0),
+ ],
+ q(bmo) => [
+ q(1311),
+ q(0),
+ ],
+ q(bmp) => [
+ q(1312),
+ q(0),
+ ],
+ q(bmq) => [
+ q(1313),
+ q(0),
+ ],
+ q(bmr) => [
+ q(1314),
+ q(0),
+ ],
+ q(bms) => [
+ q(1315),
+ q(0),
+ ],
+ q(bmt) => [
+ q(1316),
+ q(0),
+ ],
+ q(bmu) => [
+ q(1317),
+ q(0),
+ ],
+ q(bmv) => [
+ q(1318),
+ q(0),
+ ],
+ q(bmw) => [
+ q(1319),
+ q(0),
+ ],
+ q(bmx) => [
+ q(1320),
+ q(0),
+ ],
+ q(bmy) => [
+ q(1321),
+ q(0),
+ ],
+ q(bmz) => [
+ q(1322),
+ q(0),
+ ],
+ q(bna) => [
+ q(1323),
+ q(0),
+ ],
+ q(bnb) => [
+ q(1324),
+ q(0),
+ ],
+ q(bnc) => [
+ q(1325),
+ q(0),
+ ],
+ q(bnd) => [
+ q(1326),
+ q(0),
+ ],
+ q(bne) => [
+ q(1327),
+ q(0),
+ ],
+ q(bnf) => [
+ q(1328),
+ q(0),
+ ],
+ q(bng) => [
+ q(1329),
+ q(0),
+ ],
+ q(bni) => [
+ q(1330),
+ q(0),
+ ],
+ q(bnj) => [
+ q(1331),
+ q(0),
+ ],
+ q(bnk) => [
+ q(1332),
+ q(0),
+ ],
+ q(bnl) => [
+ q(1333),
+ q(0),
+ ],
+ q(bnm) => [
+ q(1334),
+ q(0),
+ ],
+ q(bnn) => [
+ q(1335),
+ q(0),
+ ],
+ q(bno) => [
+ q(1336),
+ q(0),
+ ],
+ q(bnp) => [
+ q(1337),
+ q(0),
+ ],
+ q(bnq) => [
+ q(1338),
+ q(0),
+ ],
+ q(bnr) => [
+ q(1339),
+ q(0),
+ ],
+ q(bns) => [
+ q(1340),
+ q(0),
+ ],
+ q(bnt) => [
+ q(0058),
+ q(1),
+ ],
+ q(bnu) => [
+ q(1341),
+ q(0),
+ ],
+ q(bnv) => [
+ q(1342),
+ q(0),
+ ],
+ q(bnw) => [
+ q(1343),
+ q(0),
+ ],
+ q(bnx) => [
+ q(1344),
+ q(0),
+ ],
+ q(bny) => [
+ q(1345),
+ q(0),
+ ],
+ q(bnz) => [
+ q(1346),
+ q(0),
+ ],
+ q(boa) => [
+ q(1347),
+ q(0),
+ ],
+ q(bob) => [
+ q(1348),
+ q(0),
+ ],
+ q(boe) => [
+ q(1349),
+ q(0),
+ ],
+ q(bof) => [
+ q(1350),
+ q(0),
+ ],
+ q(bog) => [
+ q(1351),
+ q(0),
+ ],
+ q(boh) => [
+ q(1352),
+ q(0),
+ ],
+ q(boi) => [
+ q(1353),
+ q(0),
+ ],
+ q(boj) => [
+ q(1354),
+ q(0),
+ ],
+ q(bok) => [
+ q(1355),
+ q(0),
+ ],
+ q(bol) => [
+ q(1356),
+ q(0),
+ ],
+ q(bom) => [
+ q(1357),
+ q(0),
+ ],
+ q(bon) => [
+ q(1358),
+ q(0),
+ ],
+ q(boo) => [
+ q(1359),
+ q(0),
+ ],
+ q(bop) => [
+ q(1360),
+ q(0),
+ ],
+ q(boq) => [
+ q(1361),
+ q(0),
+ ],
+ q(bor) => [
+ q(1362),
+ q(0),
+ ],
+ q(bos) => [
+ q(0059),
+ q(0),
+ ],
+ q(bot) => [
+ q(1363),
+ q(0),
+ ],
+ q(bou) => [
+ q(1364),
+ q(0),
+ ],
+ q(bov) => [
+ q(1365),
+ q(0),
+ ],
+ q(bow) => [
+ q(1366),
+ q(0),
+ ],
+ q(box) => [
+ q(1367),
+ q(0),
+ ],
+ q(boy) => [
+ q(1368),
+ q(0),
+ ],
+ q(boz) => [
+ q(1369),
+ q(0),
+ ],
+ q(bpa) => [
+ q(1370),
+ q(0),
+ ],
+ q(bpb) => [
+ q(1371),
+ q(0),
+ ],
+ q(bpd) => [
+ q(1372),
+ q(0),
+ ],
+ q(bpg) => [
+ q(1373),
+ q(0),
+ ],
+ q(bph) => [
+ q(1374),
+ q(0),
+ ],
+ q(bpi) => [
+ q(1375),
+ q(0),
+ ],
+ q(bpj) => [
+ q(1376),
+ q(0),
+ ],
+ q(bpk) => [
+ q(1377),
+ q(0),
+ ],
+ q(bpl) => [
+ q(1378),
+ q(0),
+ ],
+ q(bpm) => [
+ q(1379),
+ q(0),
+ ],
+ q(bpn) => [
+ q(1380),
+ q(0),
+ ],
+ q(bpo) => [
+ q(1381),
+ q(0),
+ ],
+ q(bpp) => [
+ q(1382),
+ q(0),
+ ],
+ q(bpq) => [
+ q(1383),
+ q(0),
+ ],
+ q(bpr) => [
+ q(1384),
+ q(0),
+ ],
+ q(bps) => [
+ q(1385),
+ q(0),
+ ],
+ q(bpt) => [
+ q(1386),
+ q(0),
+ ],
+ q(bpu) => [
+ q(1387),
+ q(0),
+ ],
+ q(bpv) => [
+ q(1388),
+ q(0),
+ ],
+ q(bpw) => [
+ q(1389),
+ q(0),
+ ],
+ q(bpx) => [
+ q(1390),
+ q(0),
+ ],
+ q(bpy) => [
+ q(1391),
+ q(0),
+ ],
+ q(bpz) => [
+ q(1392),
+ q(0),
+ ],
+ q(bqa) => [
+ q(1393),
+ q(0),
+ ],
+ q(bqb) => [
+ q(1394),
+ q(0),
+ ],
+ q(bqc) => [
+ q(1395),
+ q(0),
+ ],
+ q(bqd) => [
+ q(1396),
+ q(0),
+ ],
+ q(bqf) => [
+ q(1397),
+ q(0),
+ ],
+ q(bqg) => [
+ q(1398),
+ q(0),
+ ],
+ q(bqh) => [
+ q(1399),
+ q(0),
+ ],
+ q(bqi) => [
+ q(1400),
+ q(0),
+ ],
+ q(bqj) => [
+ q(1401),
+ q(0),
+ ],
+ q(bqk) => [
+ q(1402),
+ q(0),
+ ],
+ q(bql) => [
+ q(1403),
+ q(0),
+ ],
+ q(bqm) => [
+ q(1404),
+ q(0),
+ ],
+ q(bqn) => [
+ q(1405),
+ q(0),
+ ],
+ q(bqo) => [
+ q(1406),
+ q(0),
+ ],
+ q(bqp) => [
+ q(1407),
+ q(0),
+ ],
+ q(bqq) => [
+ q(1408),
+ q(0),
+ ],
+ q(bqr) => [
+ q(1409),
+ q(0),
+ ],
+ q(bqs) => [
+ q(1410),
+ q(0),
+ ],
+ q(bqt) => [
+ q(1411),
+ q(0),
+ ],
+ q(bqu) => [
+ q(1412),
+ q(0),
+ ],
+ q(bqv) => [
+ q(1413),
+ q(0),
+ ],
+ q(bqw) => [
+ q(1414),
+ q(0),
+ ],
+ q(bqx) => [
+ q(1415),
+ q(0),
+ ],
+ q(bqy) => [
+ q(1416),
+ q(0),
+ ],
+ q(bqz) => [
+ q(1417),
+ q(0),
+ ],
+ q(bra) => [
+ q(0060),
+ q(0),
+ ],
+ q(brb) => [
+ q(1418),
+ q(0),
+ ],
+ q(brc) => [
+ q(1419),
+ q(0),
+ ],
+ q(brd) => [
+ q(1420),
+ q(0),
+ ],
+ q(bre) => [
+ q(0061),
+ q(0),
+ ],
+ q(brf) => [
+ q(1421),
+ q(0),
+ ],
+ q(brg) => [
+ q(1422),
+ q(0),
+ ],
+ q(brh) => [
+ q(1423),
+ q(0),
+ ],
+ q(bri) => [
+ q(1424),
+ q(0),
+ ],
+ q(brj) => [
+ q(1425),
+ q(0),
+ ],
+ q(brk) => [
+ q(1426),
+ q(0),
+ ],
+ q(brl) => [
+ q(1427),
+ q(0),
+ ],
+ q(brm) => [
+ q(1428),
+ q(0),
+ ],
+ q(brn) => [
+ q(1429),
+ q(0),
+ ],
+ q(bro) => [
+ q(1430),
+ q(0),
+ ],
+ q(brp) => [
+ q(1431),
+ q(0),
+ ],
+ q(brq) => [
+ q(1432),
+ q(0),
+ ],
+ q(brr) => [
+ q(1433),
+ q(0),
+ ],
+ q(brs) => [
+ q(1434),
+ q(0),
+ ],
+ q(brt) => [
+ q(1435),
+ q(0),
+ ],
+ q(bru) => [
+ q(1436),
+ q(0),
+ ],
+ q(brv) => [
+ q(1437),
+ q(0),
+ ],
+ q(brw) => [
+ q(1438),
+ q(0),
+ ],
+ q(brx) => [
+ q(1439),
+ q(0),
+ ],
+ q(bry) => [
+ q(1440),
+ q(0),
+ ],
+ q(brz) => [
+ q(1441),
+ q(0),
+ ],
+ q(bsa) => [
+ q(1442),
+ q(0),
+ ],
+ q(bsb) => [
+ q(1443),
+ q(0),
+ ],
+ q(bsc) => [
+ q(1444),
+ q(0),
+ ],
+ q(bse) => [
+ q(1445),
+ q(0),
+ ],
+ q(bsf) => [
+ q(1446),
+ q(0),
+ ],
+ q(bsg) => [
+ q(1447),
+ q(0),
+ ],
+ q(bsh) => [
+ q(1448),
+ q(0),
+ ],
+ q(bsi) => [
+ q(1449),
+ q(0),
+ ],
+ q(bsj) => [
+ q(1450),
+ q(0),
+ ],
+ q(bsk) => [
+ q(1451),
+ q(0),
+ ],
+ q(bsl) => [
+ q(1452),
+ q(0),
+ ],
+ q(bsm) => [
+ q(1453),
+ q(0),
+ ],
+ q(bsn) => [
+ q(1454),
+ q(0),
+ ],
+ q(bso) => [
+ q(1455),
+ q(0),
+ ],
+ q(bsp) => [
+ q(1456),
+ q(0),
+ ],
+ q(bsq) => [
+ q(1457),
+ q(0),
+ ],
+ q(bsr) => [
+ q(1458),
+ q(0),
+ ],
+ q(bss) => [
+ q(1459),
+ q(0),
+ ],
+ q(bst) => [
+ q(1460),
+ q(0),
+ ],
+ q(bsu) => [
+ q(1461),
+ q(0),
+ ],
+ q(bsv) => [
+ q(1462),
+ q(0),
+ ],
+ q(bsw) => [
+ q(1463),
+ q(0),
+ ],
+ q(bsx) => [
+ q(1464),
+ q(0),
+ ],
+ q(bsy) => [
+ q(1465),
+ q(0),
+ ],
+ q(bta) => [
+ q(1466),
+ q(0),
+ ],
+ q(btc) => [
+ q(1467),
+ q(0),
+ ],
+ q(btd) => [
+ q(1468),
+ q(0),
+ ],
+ q(bte) => [
+ q(1469),
+ q(0),
+ ],
+ q(btf) => [
+ q(1470),
+ q(0),
+ ],
+ q(btg) => [
+ q(1471),
+ q(0),
+ ],
+ q(bth) => [
+ q(1472),
+ q(0),
+ ],
+ q(bti) => [
+ q(1473),
+ q(0),
+ ],
+ q(btj) => [
+ q(1474),
+ q(0),
+ ],
+ q(btk) => [
+ q(0062),
+ q(0),
+ ],
+ q(btl) => [
+ q(1475),
+ q(0),
+ ],
+ q(btm) => [
+ q(1476),
+ q(0),
+ ],
+ q(btn) => [
+ q(1477),
+ q(0),
+ ],
+ q(bto) => [
+ q(1478),
+ q(0),
+ ],
+ q(btp) => [
+ q(1479),
+ q(0),
+ ],
+ q(btq) => [
+ q(1480),
+ q(0),
+ ],
+ q(btr) => [
+ q(1481),
+ q(0),
+ ],
+ q(bts) => [
+ q(1482),
+ q(0),
+ ],
+ q(btt) => [
+ q(1483),
+ q(0),
+ ],
+ q(btu) => [
+ q(1484),
+ q(0),
+ ],
+ q(btv) => [
+ q(1485),
+ q(0),
+ ],
+ q(btw) => [
+ q(1486),
+ q(0),
+ ],
+ q(btx) => [
+ q(1487),
+ q(0),
+ ],
+ q(bty) => [
+ q(1488),
+ q(0),
+ ],
+ q(btz) => [
+ q(1489),
+ q(0),
+ ],
+ q(bua) => [
+ q(0063),
+ q(0),
+ ],
+ q(bub) => [
+ q(1490),
+ q(0),
+ ],
+ q(buc) => [
+ q(1491),
+ q(0),
+ ],
+ q(bud) => [
+ q(1492),
+ q(0),
+ ],
+ q(bue) => [
+ q(1493),
+ q(0),
+ ],
+ q(buf) => [
+ q(1494),
+ q(0),
+ ],
+ q(bug) => [
+ q(0064),
+ q(0),
+ ],
+ q(buh) => [
+ q(1495),
+ q(0),
+ ],
+ q(bui) => [
+ q(1496),
+ q(0),
+ ],
+ q(buj) => [
+ q(1497),
+ q(0),
+ ],
+ q(buk) => [
+ q(1498),
+ q(0),
+ ],
+ q(bul) => [
+ q(0065),
+ q(0),
+ ],
+ q(bum) => [
+ q(1499),
+ q(0),
+ ],
+ q(bun) => [
+ q(1500),
+ q(0),
+ ],
+ q(buo) => [
+ q(1501),
+ q(0),
+ ],
+ q(bup) => [
+ q(1502),
+ q(0),
+ ],
+ q(buq) => [
+ q(1503),
+ q(0),
+ ],
+ q(bur) => [
+ q(0066),
+ q(0),
+ ],
+ q(bus) => [
+ q(1504),
+ q(0),
+ ],
+ q(but) => [
+ q(1505),
+ q(0),
+ ],
+ q(buu) => [
+ q(1506),
+ q(0),
+ ],
+ q(buv) => [
+ q(1507),
+ q(0),
+ ],
+ q(buw) => [
+ q(1508),
+ q(0),
+ ],
+ q(bux) => [
+ q(1509),
+ q(0),
+ ],
+ q(buy) => [
+ q(1510),
+ q(0),
+ ],
+ q(buz) => [
+ q(1511),
+ q(0),
+ ],
+ q(bva) => [
+ q(1512),
+ q(0),
+ ],
+ q(bvb) => [
+ q(1513),
+ q(0),
+ ],
+ q(bvc) => [
+ q(1514),
+ q(0),
+ ],
+ q(bvd) => [
+ q(1515),
+ q(0),
+ ],
+ q(bve) => [
+ q(1516),
+ q(0),
+ ],
+ q(bvf) => [
+ q(1517),
+ q(0),
+ ],
+ q(bvg) => [
+ q(1518),
+ q(0),
+ ],
+ q(bvh) => [
+ q(1519),
+ q(0),
+ ],
+ q(bvi) => [
+ q(1520),
+ q(0),
+ ],
+ q(bvj) => [
+ q(1521),
+ q(0),
+ ],
+ q(bvk) => [
+ q(1522),
+ q(0),
+ ],
+ q(bvl) => [
+ q(1523),
+ q(0),
+ ],
+ q(bvm) => [
+ q(1524),
+ q(0),
+ ],
+ q(bvn) => [
+ q(1525),
+ q(0),
+ ],
+ q(bvo) => [
+ q(1526),
+ q(0),
+ ],
+ q(bvq) => [
+ q(1527),
+ q(0),
+ ],
+ q(bvr) => [
+ q(1528),
+ q(0),
+ ],
+ q(bvt) => [
+ q(1529),
+ q(0),
+ ],
+ q(bvu) => [
+ q(1530),
+ q(0),
+ ],
+ q(bvv) => [
+ q(1531),
+ q(0),
+ ],
+ q(bvw) => [
+ q(1532),
+ q(0),
+ ],
+ q(bvx) => [
+ q(1533),
+ q(0),
+ ],
+ q(bvy) => [
+ q(1534),
+ q(0),
+ ],
+ q(bvz) => [
+ q(1535),
+ q(0),
+ ],
+ q(bwa) => [
+ q(1536),
+ q(0),
+ ],
+ q(bwb) => [
+ q(1537),
+ q(0),
+ ],
+ q(bwc) => [
+ q(1538),
+ q(0),
+ ],
+ q(bwd) => [
+ q(1539),
+ q(0),
+ ],
+ q(bwe) => [
+ q(1540),
+ q(0),
+ ],
+ q(bwf) => [
+ q(1541),
+ q(0),
+ ],
+ q(bwg) => [
+ q(1542),
+ q(0),
+ ],
+ q(bwh) => [
+ q(1543),
+ q(0),
+ ],
+ q(bwi) => [
+ q(1544),
+ q(0),
+ ],
+ q(bwj) => [
+ q(1545),
+ q(0),
+ ],
+ q(bwk) => [
+ q(1546),
+ q(0),
+ ],
+ q(bwl) => [
+ q(1547),
+ q(0),
+ ],
+ q(bwm) => [
+ q(1548),
+ q(0),
+ ],
+ q(bwn) => [
+ q(1549),
+ q(0),
+ ],
+ q(bwo) => [
+ q(1550),
+ q(0),
+ ],
+ q(bwp) => [
+ q(1551),
+ q(0),
+ ],
+ q(bwq) => [
+ q(1552),
+ q(0),
+ ],
+ q(bwr) => [
+ q(1553),
+ q(0),
+ ],
+ q(bws) => [
+ q(1554),
+ q(0),
+ ],
+ q(bwt) => [
+ q(1555),
+ q(0),
+ ],
+ q(bwu) => [
+ q(1556),
+ q(0),
+ ],
+ q(bww) => [
+ q(1557),
+ q(0),
+ ],
+ q(bwx) => [
+ q(1558),
+ q(0),
+ ],
+ q(bwy) => [
+ q(1559),
+ q(0),
+ ],
+ q(bwz) => [
+ q(1560),
+ q(0),
+ ],
+ q(bxa) => [
+ q(1561),
+ q(0),
+ ],
+ q(bxb) => [
+ q(1562),
+ q(0),
+ ],
+ q(bxc) => [
+ q(1563),
+ q(0),
+ ],
+ q(bxd) => [
+ q(1564),
+ q(0),
+ ],
+ q(bxe) => [
+ q(1565),
+ q(0),
+ ],
+ q(bxf) => [
+ q(1566),
+ q(0),
+ ],
+ q(bxg) => [
+ q(1567),
+ q(0),
+ ],
+ q(bxh) => [
+ q(1568),
+ q(0),
+ ],
+ q(bxi) => [
+ q(1569),
+ q(0),
+ ],
+ q(bxj) => [
+ q(1570),
+ q(0),
+ ],
+ q(bxk) => [
+ q(1571),
+ q(0),
+ ],
+ q(bxl) => [
+ q(1572),
+ q(0),
+ ],
+ q(bxm) => [
+ q(1573),
+ q(0),
+ ],
+ q(bxn) => [
+ q(1574),
+ q(0),
+ ],
+ q(bxo) => [
+ q(1575),
+ q(0),
+ ],
+ q(bxp) => [
+ q(1576),
+ q(0),
+ ],
+ q(bxq) => [
+ q(1577),
+ q(0),
+ ],
+ q(bxr) => [
+ q(1578),
+ q(0),
+ ],
+ q(bxs) => [
+ q(1579),
+ q(0),
+ ],
+ q(bxu) => [
+ q(1580),
+ q(0),
+ ],
+ q(bxv) => [
+ q(1581),
+ q(0),
+ ],
+ q(bxw) => [
+ q(1582),
+ q(0),
+ ],
+ q(bxx) => [
+ q(1583),
+ q(0),
+ ],
+ q(bxz) => [
+ q(1584),
+ q(0),
+ ],
+ q(bya) => [
+ q(1585),
+ q(0),
+ ],
+ q(byb) => [
+ q(1586),
+ q(0),
+ ],
+ q(byc) => [
+ q(1587),
+ q(0),
+ ],
+ q(byd) => [
+ q(1588),
+ q(0),
+ ],
+ q(bye) => [
+ q(1589),
+ q(0),
+ ],
+ q(byf) => [
+ q(1590),
+ q(0),
+ ],
+ q(byg) => [
+ q(1591),
+ q(0),
+ ],
+ q(byh) => [
+ q(1592),
+ q(0),
+ ],
+ q(byi) => [
+ q(1593),
+ q(0),
+ ],
+ q(byj) => [
+ q(1594),
+ q(0),
+ ],
+ q(byk) => [
+ q(1595),
+ q(0),
+ ],
+ q(byl) => [
+ q(1596),
+ q(0),
+ ],
+ q(bym) => [
+ q(1597),
+ q(0),
+ ],
+ q(byn) => [
+ q(0067),
+ q(0),
+ ],
+ q(byo) => [
+ q(1598),
+ q(0),
+ ],
+ q(byp) => [
+ q(1599),
+ q(0),
+ ],
+ q(byq) => [
+ q(1600),
+ q(0),
+ ],
+ q(byr) => [
+ q(1601),
+ q(0),
+ ],
+ q(bys) => [
+ q(1602),
+ q(0),
+ ],
+ q(byt) => [
+ q(1603),
+ q(0),
+ ],
+ q(byv) => [
+ q(1604),
+ q(0),
+ ],
+ q(byw) => [
+ q(1605),
+ q(0),
+ ],
+ q(byx) => [
+ q(1606),
+ q(0),
+ ],
+ q(byy) => [
+ q(1607),
+ q(0),
+ ],
+ q(byz) => [
+ q(1608),
+ q(0),
+ ],
+ q(bza) => [
+ q(1609),
+ q(0),
+ ],
+ q(bzb) => [
+ q(1610),
+ q(0),
+ ],
+ q(bzc) => [
+ q(1611),
+ q(0),
+ ],
+ q(bzd) => [
+ q(1612),
+ q(0),
+ ],
+ q(bze) => [
+ q(1613),
+ q(0),
+ ],
+ q(bzf) => [
+ q(1614),
+ q(0),
+ ],
+ q(bzg) => [
+ q(1615),
+ q(0),
+ ],
+ q(bzh) => [
+ q(1616),
+ q(0),
+ ],
+ q(bzi) => [
+ q(1617),
+ q(0),
+ ],
+ q(bzj) => [
+ q(1618),
+ q(0),
+ ],
+ q(bzk) => [
+ q(1619),
+ q(0),
+ ],
+ q(bzl) => [
+ q(1620),
+ q(0),
+ ],
+ q(bzm) => [
+ q(1621),
+ q(0),
+ ],
+ q(bzn) => [
+ q(1622),
+ q(0),
+ ],
+ q(bzo) => [
+ q(1623),
+ q(0),
+ ],
+ q(bzp) => [
+ q(1624),
+ q(0),
+ ],
+ q(bzq) => [
+ q(1625),
+ q(0),
+ ],
+ q(bzr) => [
+ q(1626),
+ q(0),
+ ],
+ q(bzs) => [
+ q(1627),
+ q(0),
+ ],
+ q(bzt) => [
+ q(1628),
+ q(0),
+ ],
+ q(bzu) => [
+ q(1629),
+ q(0),
+ ],
+ q(bzv) => [
+ q(1630),
+ q(0),
+ ],
+ q(bzw) => [
+ q(1631),
+ q(0),
+ ],
+ q(bzx) => [
+ q(1632),
+ q(0),
+ ],
+ q(bzy) => [
+ q(1633),
+ q(0),
+ ],
+ q(bzz) => [
+ q(1634),
+ q(0),
+ ],
+ q(caa) => [
+ q(1635),
+ q(0),
+ ],
+ q(cab) => [
+ q(1636),
+ q(0),
+ ],
+ q(cac) => [
+ q(1637),
+ q(0),
+ ],
+ q(cad) => [
+ q(0068),
+ q(0),
+ ],
+ q(cae) => [
+ q(1638),
+ q(0),
+ ],
+ q(caf) => [
+ q(1639),
+ q(0),
+ ],
+ q(cag) => [
+ q(1640),
+ q(0),
+ ],
+ q(cah) => [
+ q(1641),
+ q(0),
+ ],
+ q(cai) => [
+ q(0069),
+ q(0),
+ ],
+ q(caj) => [
+ q(1642),
+ q(0),
+ ],
+ q(cak) => [
+ q(1643),
+ q(0),
+ ],
+ q(cal) => [
+ q(1644),
+ q(0),
+ ],
+ q(cam) => [
+ q(1645),
+ q(0),
+ ],
+ q(can) => [
+ q(1646),
+ q(0),
+ ],
+ q(cao) => [
+ q(1647),
+ q(0),
+ ],
+ q(cap) => [
+ q(1648),
+ q(0),
+ ],
+ q(caq) => [
+ q(1649),
+ q(0),
+ ],
+ q(car) => [
+ q(0070),
+ q(0),
+ ],
+ q(cas) => [
+ q(1650),
+ q(0),
+ ],
+ q(cat) => [
+ q(0071),
+ q(0),
+ ],
+ q(cau) => [
+ q(0072),
+ q(0),
+ ],
+ q(cav) => [
+ q(1651),
+ q(0),
+ ],
+ q(caw) => [
+ q(1652),
+ q(0),
+ ],
+ q(cax) => [
+ q(1653),
+ q(0),
+ ],
+ q(cay) => [
+ q(1654),
+ q(0),
+ ],
+ q(caz) => [
+ q(1655),
+ q(0),
+ ],
+ q(cba) => [
+ q(0493),
+ q(0),
+ ],
+ q(cbb) => [
+ q(1656),
+ q(0),
+ ],
+ q(cbc) => [
+ q(1657),
+ q(0),
+ ],
+ q(cbd) => [
+ q(1658),
+ q(0),
+ ],
+ q(cbe) => [
+ q(1659),
+ q(0),
+ ],
+ q(cbg) => [
+ q(1660),
+ q(0),
+ ],
+ q(cbh) => [
+ q(1661),
+ q(0),
+ ],
+ q(cbi) => [
+ q(1662),
+ q(0),
+ ],
+ q(cbj) => [
+ q(1663),
+ q(0),
+ ],
+ q(cbk) => [
+ q(1664),
+ q(0),
+ ],
+ q(cbl) => [
+ q(1665),
+ q(0),
+ ],
+ q(cbn) => [
+ q(1666),
+ q(0),
+ ],
+ q(cbo) => [
+ q(1667),
+ q(0),
+ ],
+ q(cbr) => [
+ q(1668),
+ q(0),
+ ],
+ q(cbs) => [
+ q(1669),
+ q(0),
+ ],
+ q(cbt) => [
+ q(1670),
+ q(0),
+ ],
+ q(cbu) => [
+ q(1671),
+ q(0),
+ ],
+ q(cbv) => [
+ q(1672),
+ q(0),
+ ],
+ q(cbw) => [
+ q(1673),
+ q(0),
+ ],
+ q(cby) => [
+ q(1674),
+ q(0),
+ ],
+ q(cca) => [
+ q(1675),
+ q(0),
+ ],
+ q(ccc) => [
+ q(1676),
+ q(0),
+ ],
+ q(ccd) => [
+ q(1677),
+ q(0),
+ ],
+ q(cce) => [
+ q(1678),
+ q(0),
+ ],
+ q(ccg) => [
+ q(1679),
+ q(0),
+ ],
+ q(cch) => [
+ q(1680),
+ q(0),
+ ],
+ q(ccj) => [
+ q(1681),
+ q(0),
+ ],
+ q(ccl) => [
+ q(1682),
+ q(0),
+ ],
+ q(ccm) => [
+ q(1683),
+ q(0),
+ ],
+ q(ccn) => [
+ q(0494),
+ q(0),
+ ],
+ q(cco) => [
+ q(1684),
+ q(0),
+ ],
+ q(ccp) => [
+ q(1685),
+ q(0),
+ ],
+ q(ccq) => [
+ q(1686),
+ q(0),
+ ],
+ q(ccr) => [
+ q(1687),
+ q(0),
+ ],
+ q(ccs) => [
+ q(0495),
+ q(0),
+ ],
+ q(cda) => [
+ q(1688),
+ q(0),
+ ],
+ q(cdc) => [
+ q(0496),
+ q(0),
+ ],
+ q(cdd) => [
+ q(0497),
+ q(0),
+ ],
+ q(cde) => [
+ q(1689),
+ q(0),
+ ],
+ q(cdf) => [
+ q(1690),
+ q(0),
+ ],
+ q(cdg) => [
+ q(1691),
+ q(0),
+ ],
+ q(cdh) => [
+ q(1692),
+ q(0),
+ ],
+ q(cdi) => [
+ q(1693),
+ q(0),
+ ],
+ q(cdj) => [
+ q(1694),
+ q(0),
+ ],
+ q(cdm) => [
+ q(1695),
+ q(0),
+ ],
+ q(cdn) => [
+ q(1696),
+ q(0),
+ ],
+ q(cdo) => [
+ q(1697),
+ q(0),
+ ],
+ q(cdr) => [
+ q(1698),
+ q(0),
+ ],
+ q(cds) => [
+ q(1699),
+ q(0),
+ ],
+ q(cdy) => [
+ q(1700),
+ q(0),
+ ],
+ q(cdz) => [
+ q(1701),
+ q(0),
+ ],
+ q(cea) => [
+ q(1702),
+ q(0),
+ ],
+ q(ceb) => [
+ q(0073),
+ q(0),
+ ],
+ q(ceg) => [
+ q(1703),
+ q(0),
+ ],
+ q(cel) => [
+ q(0074),
+ q(0),
+ ],
+ q(cen) => [
+ q(1704),
+ q(0),
+ ],
+ q(cet) => [
+ q(1705),
+ q(0),
+ ],
+ q(cfa) => [
+ q(1706),
+ q(0),
+ ],
+ q(cfd) => [
+ q(1707),
+ q(0),
+ ],
+ q(cfg) => [
+ q(1708),
+ q(0),
+ ],
+ q(cfm) => [
+ q(1709),
+ q(0),
+ ],
+ q(cga) => [
+ q(1710),
+ q(0),
+ ],
+ q(cgc) => [
+ q(1711),
+ q(0),
+ ],
+ q(cgg) => [
+ q(1712),
+ q(0),
+ ],
+ q(cgk) => [
+ q(1713),
+ q(0),
+ ],
+ q(cha) => [
+ q(0075),
+ q(0),
+ ],
+ q(chb) => [
+ q(0076),
+ q(0),
+ ],
+ q(chc) => [
+ q(1714),
+ q(0),
+ ],
+ q(chd) => [
+ q(1715),
+ q(0),
+ ],
+ q(che) => [
+ q(0077),
+ q(0),
+ ],
+ q(chf) => [
+ q(1716),
+ q(0),
+ ],
+ q(chg) => [
+ q(0078),
+ q(0),
+ ],
+ q(chh) => [
+ q(1717),
+ q(0),
+ ],
+ q(chi) => [
+ q(0079),
+ q(0),
+ ],
+ q(chj) => [
+ q(1718),
+ q(0),
+ ],
+ q(chk) => [
+ q(0080),
+ q(0),
+ ],
+ q(chl) => [
+ q(1719),
+ q(0),
+ ],
+ q(chm) => [
+ q(0081),
+ q(1),
+ ],
+ q(chn) => [
+ q(0082),
+ q(0),
+ ],
+ q(cho) => [
+ q(0083),
+ q(0),
+ ],
+ q(chp) => [
+ q(0084),
+ q(0),
+ ],
+ q(chq) => [
+ q(1720),
+ q(0),
+ ],
+ q(chr) => [
+ q(0085),
+ q(0),
+ ],
+ q(cht) => [
+ q(1721),
+ q(0),
+ ],
+ q(chu) => [
+ q(0086),
+ q(0),
+ ],
+ q(chv) => [
+ q(0087),
+ q(0),
+ ],
+ q(chw) => [
+ q(1722),
+ q(0),
+ ],
+ q(chx) => [
+ q(1723),
+ q(0),
+ ],
+ q(chy) => [
+ q(0088),
+ q(0),
+ ],
+ q(chz) => [
+ q(1724),
+ q(0),
+ ],
+ q(cia) => [
+ q(1725),
+ q(0),
+ ],
+ q(cib) => [
+ q(1726),
+ q(0),
+ ],
+ q(cic) => [
+ q(1727),
+ q(0),
+ ],
+ q(cid) => [
+ q(1728),
+ q(0),
+ ],
+ q(cie) => [
+ q(1729),
+ q(0),
+ ],
+ q(cih) => [
+ q(1730),
+ q(0),
+ ],
+ q(cik) => [
+ q(1731),
+ q(0),
+ ],
+ q(cim) => [
+ q(1732),
+ q(0),
+ ],
+ q(cin) => [
+ q(1733),
+ q(0),
+ ],
+ q(cip) => [
+ q(1734),
+ q(0),
+ ],
+ q(cir) => [
+ q(1735),
+ q(0),
+ ],
+ q(ciw) => [
+ q(1736),
+ q(0),
+ ],
+ q(ciy) => [
+ q(1737),
+ q(0),
+ ],
+ q(cja) => [
+ q(1738),
+ q(0),
+ ],
+ q(cje) => [
+ q(1739),
+ q(0),
+ ],
+ q(cjh) => [
+ q(1740),
+ q(0),
+ ],
+ q(cji) => [
+ q(1741),
+ q(0),
+ ],
+ q(cjk) => [
+ q(1742),
+ q(0),
+ ],
+ q(cjm) => [
+ q(1743),
+ q(0),
+ ],
+ q(cjn) => [
+ q(1744),
+ q(0),
+ ],
+ q(cjo) => [
+ q(1745),
+ q(0),
+ ],
+ q(cjp) => [
+ q(1746),
+ q(0),
+ ],
+ q(cjs) => [
+ q(1747),
+ q(0),
+ ],
+ q(cjv) => [
+ q(1748),
+ q(0),
+ ],
+ q(cjy) => [
+ q(1749),
+ q(0),
+ ],
+ q(cka) => [
+ q(1750),
+ q(0),
+ ],
+ q(ckb) => [
+ q(1751),
+ q(0),
+ ],
+ q(ckh) => [
+ q(1752),
+ q(0),
+ ],
+ q(ckl) => [
+ q(1753),
+ q(0),
+ ],
+ q(cko) => [
+ q(1754),
+ q(0),
+ ],
+ q(ckq) => [
+ q(1755),
+ q(0),
+ ],
+ q(ckr) => [
+ q(1756),
+ q(0),
+ ],
+ q(cks) => [
+ q(1757),
+ q(0),
+ ],
+ q(ckt) => [
+ q(1758),
+ q(0),
+ ],
+ q(cku) => [
+ q(1759),
+ q(0),
+ ],
+ q(ckv) => [
+ q(1760),
+ q(0),
+ ],
+ q(ckx) => [
+ q(1761),
+ q(0),
+ ],
+ q(cky) => [
+ q(1762),
+ q(0),
+ ],
+ q(ckz) => [
+ q(1763),
+ q(0),
+ ],
+ q(cla) => [
+ q(1764),
+ q(0),
+ ],
+ q(clc) => [
+ q(1765),
+ q(0),
+ ],
+ q(cld) => [
+ q(1766),
+ q(0),
+ ],
+ q(cle) => [
+ q(1767),
+ q(0),
+ ],
+ q(clh) => [
+ q(1768),
+ q(0),
+ ],
+ q(cli) => [
+ q(1769),
+ q(0),
+ ],
+ q(clk) => [
+ q(1770),
+ q(0),
+ ],
+ q(cll) => [
+ q(1771),
+ q(0),
+ ],
+ q(clm) => [
+ q(1772),
+ q(0),
+ ],
+ q(clo) => [
+ q(1773),
+ q(0),
+ ],
+ q(clu) => [
+ q(1774),
+ q(0),
+ ],
+ q(clw) => [
+ q(1775),
+ q(0),
+ ],
+ q(cly) => [
+ q(1776),
+ q(0),
+ ],
+ q(cma) => [
+ q(1777),
+ q(0),
+ ],
+ q(cmc) => [
+ q(0089),
+ q(0),
+ ],
+ q(cme) => [
+ q(1778),
+ q(0),
+ ],
+ q(cmg) => [
+ q(1779),
+ q(0),
+ ],
+ q(cmi) => [
+ q(1780),
+ q(0),
+ ],
+ q(cml) => [
+ q(1781),
+ q(0),
+ ],
+ q(cmm) => [
+ q(1782),
+ q(0),
+ ],
+ q(cmn) => [
+ q(1783),
+ q(0),
+ ],
+ q(cmo) => [
+ q(1784),
+ q(0),
+ ],
+ q(cmr) => [
+ q(1785),
+ q(0),
+ ],
+ q(cms) => [
+ q(1786),
+ q(0),
+ ],
+ q(cmt) => [
+ q(1787),
+ q(0),
+ ],
+ q(cna) => [
+ q(1788),
+ q(0),
+ ],
+ q(cnb) => [
+ q(1789),
+ q(0),
+ ],
+ q(cnc) => [
+ q(1790),
+ q(0),
+ ],
+ q(cng) => [
+ q(1791),
+ q(0),
+ ],
+ q(cnh) => [
+ q(1792),
+ q(0),
+ ],
+ q(cni) => [
+ q(1793),
+ q(0),
+ ],
+ q(cnk) => [
+ q(1794),
+ q(0),
+ ],
+ q(cnl) => [
+ q(1795),
+ q(0),
+ ],
+ q(cno) => [
+ q(1796),
+ q(0),
+ ],
+ q(cns) => [
+ q(1797),
+ q(0),
+ ],
+ q(cnt) => [
+ q(1798),
+ q(0),
+ ],
+ q(cnu) => [
+ q(1799),
+ q(0),
+ ],
+ q(cnw) => [
+ q(1800),
+ q(0),
+ ],
+ q(cnx) => [
+ q(1801),
+ q(0),
+ ],
+ q(coa) => [
+ q(1802),
+ q(0),
+ ],
+ q(cob) => [
+ q(1803),
+ q(0),
+ ],
+ q(coc) => [
+ q(1804),
+ q(0),
+ ],
+ q(cod) => [
+ q(1805),
+ q(0),
+ ],
+ q(coe) => [
+ q(1806),
+ q(0),
+ ],
+ q(cof) => [
+ q(1807),
+ q(0),
+ ],
+ q(cog) => [
+ q(1808),
+ q(0),
+ ],
+ q(coh) => [
+ q(1809),
+ q(0),
+ ],
+ q(coj) => [
+ q(1810),
+ q(0),
+ ],
+ q(cok) => [
+ q(1811),
+ q(0),
+ ],
+ q(col) => [
+ q(1812),
+ q(0),
+ ],
+ q(com) => [
+ q(1813),
+ q(0),
+ ],
+ q(con) => [
+ q(1814),
+ q(0),
+ ],
+ q(coo) => [
+ q(1815),
+ q(0),
+ ],
+ q(cop) => [
+ q(0090),
+ q(0),
+ ],
+ q(coq) => [
+ q(1816),
+ q(0),
+ ],
+ q(cor) => [
+ q(0091),
+ q(0),
+ ],
+ q(cos) => [
+ q(0092),
+ q(0),
+ ],
+ q(cot) => [
+ q(1817),
+ q(0),
+ ],
+ q(cou) => [
+ q(1818),
+ q(0),
+ ],
+ q(cov) => [
+ q(1819),
+ q(0),
+ ],
+ q(cow) => [
+ q(1820),
+ q(0),
+ ],
+ q(cox) => [
+ q(1821),
+ q(0),
+ ],
+ q(coy) => [
+ q(1822),
+ q(0),
+ ],
+ q(coz) => [
+ q(1823),
+ q(0),
+ ],
+ q(cpa) => [
+ q(1824),
+ q(0),
+ ],
+ q(cpb) => [
+ q(1825),
+ q(0),
+ ],
+ q(cpc) => [
+ q(1826),
+ q(0),
+ ],
+ q(cpe) => [
+ q(0093),
+ q(2),
+ ],
+ q(cpf) => [
+ q(0094),
+ q(2),
+ ],
+ q(cpg) => [
+ q(1827),
+ q(0),
+ ],
+ q(cpi) => [
+ q(1828),
+ q(0),
+ ],
+ q(cpn) => [
+ q(1829),
+ q(0),
+ ],
+ q(cpp) => [
+ q(0095),
+ q(2),
+ ],
+ q(cps) => [
+ q(1830),
+ q(0),
+ ],
+ q(cpu) => [
+ q(1831),
+ q(0),
+ ],
+ q(cpx) => [
+ q(1832),
+ q(0),
+ ],
+ q(cpy) => [
+ q(1833),
+ q(0),
+ ],
+ q(cqd) => [
+ q(1834),
+ q(0),
+ ],
+ q(cqu) => [
+ q(1835),
+ q(0),
+ ],
+ q(cra) => [
+ q(1836),
+ q(0),
+ ],
+ q(crb) => [
+ q(1837),
+ q(0),
+ ],
+ q(crc) => [
+ q(1838),
+ q(0),
+ ],
+ q(crd) => [
+ q(1839),
+ q(0),
+ ],
+ q(cre) => [
+ q(0096),
+ q(0),
+ ],
+ q(crf) => [
+ q(1840),
+ q(0),
+ ],
+ q(crg) => [
+ q(1841),
+ q(0),
+ ],
+ q(crh) => [
+ q(0097),
+ q(0),
+ ],
+ q(cri) => [
+ q(1842),
+ q(0),
+ ],
+ q(crj) => [
+ q(1843),
+ q(0),
+ ],
+ q(crk) => [
+ q(1844),
+ q(0),
+ ],
+ q(crl) => [
+ q(1845),
+ q(0),
+ ],
+ q(crm) => [
+ q(1846),
+ q(0),
+ ],
+ q(crn) => [
+ q(1847),
+ q(0),
+ ],
+ q(cro) => [
+ q(1848),
+ q(0),
+ ],
+ q(crp) => [
+ q(0098),
+ q(1),
+ ],
+ q(crq) => [
+ q(1849),
+ q(0),
+ ],
+ q(crr) => [
+ q(1850),
+ q(0),
+ ],
+ q(crs) => [
+ q(1851),
+ q(0),
+ ],
+ q(crt) => [
+ q(1852),
+ q(0),
+ ],
+ q(crv) => [
+ q(1853),
+ q(0),
+ ],
+ q(crw) => [
+ q(1854),
+ q(0),
+ ],
+ q(crx) => [
+ q(1855),
+ q(0),
+ ],
+ q(cry) => [
+ q(1856),
+ q(0),
+ ],
+ q(crz) => [
+ q(1857),
+ q(0),
+ ],
+ q(csa) => [
+ q(1858),
+ q(0),
+ ],
+ q(csb) => [
+ q(0099),
+ q(0),
+ ],
+ q(csc) => [
+ q(1859),
+ q(0),
+ ],
+ q(csd) => [
+ q(1860),
+ q(0),
+ ],
+ q(cse) => [
+ q(1861),
+ q(0),
+ ],
+ q(csf) => [
+ q(1862),
+ q(0),
+ ],
+ q(csg) => [
+ q(1863),
+ q(0),
+ ],
+ q(csh) => [
+ q(1864),
+ q(0),
+ ],
+ q(csi) => [
+ q(1865),
+ q(0),
+ ],
+ q(csk) => [
+ q(1866),
+ q(0),
+ ],
+ q(csl) => [
+ q(1867),
+ q(0),
+ ],
+ q(csm) => [
+ q(1868),
+ q(0),
+ ],
+ q(csn) => [
+ q(1869),
+ q(0),
+ ],
+ q(cso) => [
+ q(1870),
+ q(0),
+ ],
+ q(csq) => [
+ q(1871),
+ q(0),
+ ],
+ q(csr) => [
+ q(1872),
+ q(0),
+ ],
+ q(css) => [
+ q(1873),
+ q(0),
+ ],
+ q(cst) => [
+ q(1874),
+ q(0),
+ ],
+ q(csu) => [
+ q(0498),
+ q(0),
+ ],
+ q(csw) => [
+ q(1875),
+ q(0),
+ ],
+ q(csy) => [
+ q(1876),
+ q(0),
+ ],
+ q(csz) => [
+ q(1877),
+ q(0),
+ ],
+ q(cta) => [
+ q(1878),
+ q(0),
+ ],
+ q(ctc) => [
+ q(1879),
+ q(0),
+ ],
+ q(ctd) => [
+ q(1880),
+ q(0),
+ ],
+ q(cte) => [
+ q(1881),
+ q(0),
+ ],
+ q(ctg) => [
+ q(1882),
+ q(0),
+ ],
+ q(ctl) => [
+ q(1883),
+ q(0),
+ ],
+ q(ctm) => [
+ q(1884),
+ q(0),
+ ],
+ q(ctn) => [
+ q(1885),
+ q(0),
+ ],
+ q(cto) => [
+ q(1886),
+ q(0),
+ ],
+ q(ctp) => [
+ q(1887),
+ q(0),
+ ],
+ q(cts) => [
+ q(1888),
+ q(0),
+ ],
+ q(ctt) => [
+ q(1889),
+ q(0),
+ ],
+ q(ctu) => [
+ q(1890),
+ q(0),
+ ],
+ q(ctz) => [
+ q(1891),
+ q(0),
+ ],
+ q(cua) => [
+ q(1892),
+ q(0),
+ ],
+ q(cub) => [
+ q(1893),
+ q(0),
+ ],
+ q(cuc) => [
+ q(1894),
+ q(0),
+ ],
+ q(cug) => [
+ q(1895),
+ q(0),
+ ],
+ q(cuh) => [
+ q(1896),
+ q(0),
+ ],
+ q(cui) => [
+ q(1897),
+ q(0),
+ ],
+ q(cuj) => [
+ q(1898),
+ q(0),
+ ],
+ q(cuk) => [
+ q(1899),
+ q(0),
+ ],
+ q(cul) => [
+ q(1900),
+ q(0),
+ ],
+ q(cum) => [
+ q(1901),
+ q(0),
+ ],
+ q(cuo) => [
+ q(1902),
+ q(0),
+ ],
+ q(cup) => [
+ q(1903),
+ q(0),
+ ],
+ q(cuq) => [
+ q(1904),
+ q(0),
+ ],
+ q(cur) => [
+ q(1905),
+ q(0),
+ ],
+ q(cus) => [
+ q(0100),
+ q(0),
+ ],
+ q(cut) => [
+ q(1906),
+ q(0),
+ ],
+ q(cuu) => [
+ q(1907),
+ q(0),
+ ],
+ q(cuv) => [
+ q(1908),
+ q(0),
+ ],
+ q(cuw) => [
+ q(1909),
+ q(0),
+ ],
+ q(cux) => [
+ q(1910),
+ q(0),
+ ],
+ q(cvg) => [
+ q(1911),
+ q(0),
+ ],
+ q(cvn) => [
+ q(1912),
+ q(0),
+ ],
+ q(cwa) => [
+ q(1913),
+ q(0),
+ ],
+ q(cwb) => [
+ q(1914),
+ q(0),
+ ],
+ q(cwd) => [
+ q(1915),
+ q(0),
+ ],
+ q(cwe) => [
+ q(1916),
+ q(0),
+ ],
+ q(cwg) => [
+ q(1917),
+ q(0),
+ ],
+ q(cwt) => [
+ q(1918),
+ q(0),
+ ],
+ q(cya) => [
+ q(1919),
+ q(0),
+ ],
+ q(cyb) => [
+ q(1920),
+ q(0),
+ ],
+ q(cyo) => [
+ q(1921),
+ q(0),
+ ],
+ q(cze) => [
+ q(0101),
+ q(0),
+ ],
+ q(czh) => [
+ q(1922),
+ q(0),
+ ],
+ q(czk) => [
+ q(1923),
+ q(0),
+ ],
+ q(czn) => [
+ q(1924),
+ q(0),
+ ],
+ q(czo) => [
+ q(1925),
+ q(0),
+ ],
+ q(czt) => [
+ q(1926),
+ q(0),
+ ],
+ q(daa) => [
+ q(1927),
+ q(0),
+ ],
+ q(dac) => [
+ q(1928),
+ q(0),
+ ],
+ q(dad) => [
+ q(1929),
+ q(0),
+ ],
+ q(dae) => [
+ q(1930),
+ q(0),
+ ],
+ q(daf) => [
+ q(1931),
+ q(0),
+ ],
+ q(dag) => [
+ q(1932),
+ q(0),
+ ],
+ q(dah) => [
+ q(1933),
+ q(0),
+ ],
+ q(dai) => [
+ q(1934),
+ q(0),
+ ],
+ q(daj) => [
+ q(1935),
+ q(0),
+ ],
+ q(dak) => [
+ q(0102),
+ q(0),
+ ],
+ q(dal) => [
+ q(1936),
+ q(0),
+ ],
+ q(dam) => [
+ q(1937),
+ q(0),
+ ],
+ q(dan) => [
+ q(0103),
+ q(0),
+ ],
+ q(dao) => [
+ q(1938),
+ q(0),
+ ],
+ q(dap) => [
+ q(1939),
+ q(0),
+ ],
+ q(daq) => [
+ q(1940),
+ q(0),
+ ],
+ q(dar) => [
+ q(0104),
+ q(0),
+ ],
+ q(das) => [
+ q(1941),
+ q(0),
+ ],
+ q(dau) => [
+ q(1942),
+ q(0),
+ ],
+ q(dav) => [
+ q(1943),
+ q(0),
+ ],
+ q(daw) => [
+ q(1944),
+ q(0),
+ ],
+ q(dax) => [
+ q(1945),
+ q(0),
+ ],
+ q(day) => [
+ q(0105),
+ q(0),
+ ],
+ q(daz) => [
+ q(1946),
+ q(0),
+ ],
+ q(dba) => [
+ q(1947),
+ q(0),
+ ],
+ q(dbb) => [
+ q(1948),
+ q(0),
+ ],
+ q(dbd) => [
+ q(1949),
+ q(0),
+ ],
+ q(dbe) => [
+ q(1950),
+ q(0),
+ ],
+ q(dbf) => [
+ q(1951),
+ q(0),
+ ],
+ q(dbg) => [
+ q(1952),
+ q(0),
+ ],
+ q(dbi) => [
+ q(1953),
+ q(0),
+ ],
+ q(dbj) => [
+ q(1954),
+ q(0),
+ ],
+ q(dbl) => [
+ q(1955),
+ q(0),
+ ],
+ q(dbm) => [
+ q(1956),
+ q(0),
+ ],
+ q(dbn) => [
+ q(1957),
+ q(0),
+ ],
+ q(dbo) => [
+ q(1958),
+ q(0),
+ ],
+ q(dbp) => [
+ q(1959),
+ q(0),
+ ],
+ q(dbq) => [
+ q(1960),
+ q(0),
+ ],
+ q(dbr) => [
+ q(1961),
+ q(0),
+ ],
+ q(dbu) => [
+ q(1962),
+ q(0),
+ ],
+ q(dbv) => [
+ q(1963),
+ q(0),
+ ],
+ q(dby) => [
+ q(1964),
+ q(0),
+ ],
+ q(dcc) => [
+ q(1965),
+ q(0),
+ ],
+ q(dcr) => [
+ q(1966),
+ q(0),
+ ],
+ q(ddd) => [
+ q(1967),
+ q(0),
+ ],
+ q(dde) => [
+ q(1968),
+ q(0),
+ ],
+ q(ddg) => [
+ q(1969),
+ q(0),
+ ],
+ q(ddi) => [
+ q(1970),
+ q(0),
+ ],
+ q(ddj) => [
+ q(1971),
+ q(0),
+ ],
+ q(ddn) => [
+ q(1972),
+ q(0),
+ ],
+ q(ddo) => [
+ q(1973),
+ q(0),
+ ],
+ q(dds) => [
+ q(1974),
+ q(0),
+ ],
+ q(ddw) => [
+ q(1975),
+ q(0),
+ ],
+ q(dec) => [
+ q(1976),
+ q(0),
+ ],
+ q(ded) => [
+ q(1977),
+ q(0),
+ ],
+ q(dee) => [
+ q(1978),
+ q(0),
+ ],
+ q(def) => [
+ q(1979),
+ q(0),
+ ],
+ q(deg) => [
+ q(1980),
+ q(0),
+ ],
+ q(deh) => [
+ q(1981),
+ q(0),
+ ],
+ q(dei) => [
+ q(1982),
+ q(0),
+ ],
+ q(dek) => [
+ q(1983),
+ q(0),
+ ],
+ q(del) => [
+ q(0106),
+ q(0),
+ ],
+ q(dem) => [
+ q(1984),
+ q(0),
+ ],
+ q(den) => [
+ q(0107),
+ q(0),
+ ],
+ q(dep) => [
+ q(1985),
+ q(0),
+ ],
+ q(deq) => [
+ q(1986),
+ q(0),
+ ],
+ q(der) => [
+ q(1987),
+ q(0),
+ ],
+ q(des) => [
+ q(1988),
+ q(0),
+ ],
+ q(dev) => [
+ q(1989),
+ q(0),
+ ],
+ q(dez) => [
+ q(1990),
+ q(0),
+ ],
+ q(dga) => [
+ q(1991),
+ q(0),
+ ],
+ q(dgb) => [
+ q(1992),
+ q(0),
+ ],
+ q(dgc) => [
+ q(1993),
+ q(0),
+ ],
+ q(dgd) => [
+ q(1994),
+ q(0),
+ ],
+ q(dge) => [
+ q(1995),
+ q(0),
+ ],
+ q(dgg) => [
+ q(1996),
+ q(0),
+ ],
+ q(dgh) => [
+ q(1997),
+ q(0),
+ ],
+ q(dgi) => [
+ q(1998),
+ q(0),
+ ],
+ q(dgk) => [
+ q(1999),
+ q(0),
+ ],
+ q(dgn) => [
+ q(2000),
+ q(0),
+ ],
+ q(dgo) => [
+ q(2001),
+ q(0),
+ ],
+ q(dgr) => [
+ q(0108),
+ q(0),
+ ],
+ q(dgs) => [
+ q(2002),
+ q(0),
+ ],
+ q(dgu) => [
+ q(2003),
+ q(0),
+ ],
+ q(dgx) => [
+ q(2004),
+ q(0),
+ ],
+ q(dgz) => [
+ q(2005),
+ q(0),
+ ],
+ q(dhd) => [
+ q(2006),
+ q(0),
+ ],
+ q(dhg) => [
+ q(2007),
+ q(0),
+ ],
+ q(dhi) => [
+ q(2008),
+ q(0),
+ ],
+ q(dhl) => [
+ q(2009),
+ q(0),
+ ],
+ q(dhm) => [
+ q(2010),
+ q(0),
+ ],
+ q(dhn) => [
+ q(2011),
+ q(0),
+ ],
+ q(dho) => [
+ q(2012),
+ q(0),
+ ],
+ q(dhr) => [
+ q(2013),
+ q(0),
+ ],
+ q(dhs) => [
+ q(2014),
+ q(0),
+ ],
+ q(dhu) => [
+ q(2015),
+ q(0),
+ ],
+ q(dhv) => [
+ q(2016),
+ q(0),
+ ],
+ q(dhw) => [
+ q(2017),
+ q(0),
+ ],
+ q(dia) => [
+ q(2018),
+ q(0),
+ ],
+ q(dib) => [
+ q(2019),
+ q(0),
+ ],
+ q(dic) => [
+ q(2020),
+ q(0),
+ ],
+ q(did) => [
+ q(2021),
+ q(0),
+ ],
+ q(dif) => [
+ q(2022),
+ q(0),
+ ],
+ q(dig) => [
+ q(2023),
+ q(0),
+ ],
+ q(dih) => [
+ q(2024),
+ q(0),
+ ],
+ q(dii) => [
+ q(2025),
+ q(0),
+ ],
+ q(dij) => [
+ q(2026),
+ q(0),
+ ],
+ q(dik) => [
+ q(2027),
+ q(0),
+ ],
+ q(dil) => [
+ q(2028),
+ q(0),
+ ],
+ q(dim) => [
+ q(2029),
+ q(0),
+ ],
+ q(din) => [
+ q(0109),
+ q(0),
+ ],
+ q(dio) => [
+ q(2030),
+ q(0),
+ ],
+ q(dip) => [
+ q(2031),
+ q(0),
+ ],
+ q(diq) => [
+ q(2032),
+ q(0),
+ ],
+ q(dir) => [
+ q(2033),
+ q(0),
+ ],
+ q(dis) => [
+ q(2034),
+ q(0),
+ ],
+ q(dit) => [
+ q(2035),
+ q(0),
+ ],
+ q(diu) => [
+ q(2036),
+ q(0),
+ ],
+ q(div) => [
+ q(0110),
+ q(0),
+ ],
+ q(diw) => [
+ q(2037),
+ q(0),
+ ],
+ q(dix) => [
+ q(2038),
+ q(0),
+ ],
+ q(diy) => [
+ q(2039),
+ q(0),
+ ],
+ q(diz) => [
+ q(2040),
+ q(0),
+ ],
+ q(djb) => [
+ q(2041),
+ q(0),
+ ],
+ q(djc) => [
+ q(2042),
+ q(0),
+ ],
+ q(djd) => [
+ q(2043),
+ q(0),
+ ],
+ q(dje) => [
+ q(2044),
+ q(0),
+ ],
+ q(djf) => [
+ q(2045),
+ q(0),
+ ],
+ q(dji) => [
+ q(2046),
+ q(0),
+ ],
+ q(djj) => [
+ q(2047),
+ q(0),
+ ],
+ q(djk) => [
+ q(2048),
+ q(0),
+ ],
+ q(djl) => [
+ q(2049),
+ q(0),
+ ],
+ q(djm) => [
+ q(2050),
+ q(0),
+ ],
+ q(djn) => [
+ q(2051),
+ q(0),
+ ],
+ q(djo) => [
+ q(2052),
+ q(0),
+ ],
+ q(djr) => [
+ q(2053),
+ q(0),
+ ],
+ q(dju) => [
+ q(2054),
+ q(0),
+ ],
+ q(djw) => [
+ q(2055),
+ q(0),
+ ],
+ q(dka) => [
+ q(2056),
+ q(0),
+ ],
+ q(dkk) => [
+ q(2057),
+ q(0),
+ ],
+ q(dkr) => [
+ q(2058),
+ q(0),
+ ],
+ q(dks) => [
+ q(2059),
+ q(0),
+ ],
+ q(dkx) => [
+ q(2060),
+ q(0),
+ ],
+ q(dlg) => [
+ q(2061),
+ q(0),
+ ],
+ q(dlm) => [
+ q(2062),
+ q(0),
+ ],
+ q(dln) => [
+ q(2063),
+ q(0),
+ ],
+ q(dma) => [
+ q(2064),
+ q(0),
+ ],
+ q(dmb) => [
+ q(2065),
+ q(0),
+ ],
+ q(dmc) => [
+ q(2066),
+ q(0),
+ ],
+ q(dme) => [
+ q(2067),
+ q(0),
+ ],
+ q(dmg) => [
+ q(2068),
+ q(0),
+ ],
+ q(dmk) => [
+ q(2069),
+ q(0),
+ ],
+ q(dml) => [
+ q(2070),
+ q(0),
+ ],
+ q(dmm) => [
+ q(2071),
+ q(0),
+ ],
+ q(dmn) => [
+ q(0499),
+ q(0),
+ ],
+ q(dmo) => [
+ q(2072),
+ q(0),
+ ],
+ q(dmr) => [
+ q(2073),
+ q(0),
+ ],
+ q(dms) => [
+ q(2074),
+ q(0),
+ ],
+ q(dmu) => [
+ q(2075),
+ q(0),
+ ],
+ q(dmv) => [
+ q(2076),
+ q(0),
+ ],
+ q(dmx) => [
+ q(2077),
+ q(0),
+ ],
+ q(dmy) => [
+ q(2078),
+ q(0),
+ ],
+ q(dna) => [
+ q(2079),
+ q(0),
+ ],
+ q(dnd) => [
+ q(2080),
+ q(0),
+ ],
+ q(dne) => [
+ q(2081),
+ q(0),
+ ],
+ q(dng) => [
+ q(2082),
+ q(0),
+ ],
+ q(dni) => [
+ q(2083),
+ q(0),
+ ],
+ q(dnk) => [
+ q(2084),
+ q(0),
+ ],
+ q(dnn) => [
+ q(2085),
+ q(0),
+ ],
+ q(dnr) => [
+ q(2086),
+ q(0),
+ ],
+ q(dnt) => [
+ q(2087),
+ q(0),
+ ],
+ q(dnu) => [
+ q(2088),
+ q(0),
+ ],
+ q(dnw) => [
+ q(2089),
+ q(0),
+ ],
+ q(dny) => [
+ q(2090),
+ q(0),
+ ],
+ q(doa) => [
+ q(2091),
+ q(0),
+ ],
+ q(dob) => [
+ q(2092),
+ q(0),
+ ],
+ q(doc) => [
+ q(2093),
+ q(0),
+ ],
+ q(doe) => [
+ q(2094),
+ q(0),
+ ],
+ q(dof) => [
+ q(2095),
+ q(0),
+ ],
+ q(doh) => [
+ q(2096),
+ q(0),
+ ],
+ q(doi) => [
+ q(0111),
+ q(1),
+ ],
+ q(dok) => [
+ q(2097),
+ q(0),
+ ],
+ q(dol) => [
+ q(2098),
+ q(0),
+ ],
+ q(don) => [
+ q(2099),
+ q(0),
+ ],
+ q(doo) => [
+ q(2100),
+ q(0),
+ ],
+ q(dop) => [
+ q(2101),
+ q(0),
+ ],
+ q(doq) => [
+ q(2102),
+ q(0),
+ ],
+ q(dor) => [
+ q(2103),
+ q(0),
+ ],
+ q(dos) => [
+ q(2104),
+ q(0),
+ ],
+ q(dot) => [
+ q(2105),
+ q(0),
+ ],
+ q(dov) => [
+ q(2106),
+ q(0),
+ ],
+ q(dow) => [
+ q(2107),
+ q(0),
+ ],
+ q(dox) => [
+ q(2108),
+ q(0),
+ ],
+ q(doy) => [
+ q(2109),
+ q(0),
+ ],
+ q(doz) => [
+ q(2110),
+ q(0),
+ ],
+ q(dpp) => [
+ q(2111),
+ q(0),
+ ],
+ q(dra) => [
+ q(0112),
+ q(0),
+ ],
+ q(drb) => [
+ q(2112),
+ q(0),
+ ],
+ q(drc) => [
+ q(2113),
+ q(0),
+ ],
+ q(drd) => [
+ q(2114),
+ q(0),
+ ],
+ q(dre) => [
+ q(2115),
+ q(0),
+ ],
+ q(drg) => [
+ q(2116),
+ q(0),
+ ],
+ q(dri) => [
+ q(2117),
+ q(0),
+ ],
+ q(drl) => [
+ q(2118),
+ q(0),
+ ],
+ q(drn) => [
+ q(2119),
+ q(0),
+ ],
+ q(dro) => [
+ q(2120),
+ q(0),
+ ],
+ q(drq) => [
+ q(2121),
+ q(0),
+ ],
+ q(drr) => [
+ q(2122),
+ q(0),
+ ],
+ q(drs) => [
+ q(2123),
+ q(0),
+ ],
+ q(drt) => [
+ q(2124),
+ q(0),
+ ],
+ q(dru) => [
+ q(2125),
+ q(0),
+ ],
+ q(dry) => [
+ q(2126),
+ q(0),
+ ],
+ q(dsb) => [
+ q(0113),
+ q(0),
+ ],
+ q(dse) => [
+ q(2127),
+ q(0),
+ ],
+ q(dsh) => [
+ q(2128),
+ q(0),
+ ],
+ q(dsi) => [
+ q(2129),
+ q(0),
+ ],
+ q(dsl) => [
+ q(2130),
+ q(0),
+ ],
+ q(dsn) => [
+ q(2131),
+ q(0),
+ ],
+ q(dso) => [
+ q(2132),
+ q(0),
+ ],
+ q(dsq) => [
+ q(2133),
+ q(0),
+ ],
+ q(dta) => [
+ q(2134),
+ q(0),
+ ],
+ q(dtb) => [
+ q(2135),
+ q(0),
+ ],
+ q(dtd) => [
+ q(2136),
+ q(0),
+ ],
+ q(dti) => [
+ q(2137),
+ q(0),
+ ],
+ q(dtk) => [
+ q(2138),
+ q(0),
+ ],
+ q(dtm) => [
+ q(2139),
+ q(0),
+ ],
+ q(dtp) => [
+ q(2140),
+ q(0),
+ ],
+ q(dtr) => [
+ q(2141),
+ q(0),
+ ],
+ q(dts) => [
+ q(2142),
+ q(0),
+ ],
+ q(dtt) => [
+ q(2143),
+ q(0),
+ ],
+ q(dtu) => [
+ q(2144),
+ q(0),
+ ],
+ q(dua) => [
+ q(0114),
+ q(0),
+ ],
+ q(dub) => [
+ q(2145),
+ q(0),
+ ],
+ q(duc) => [
+ q(2146),
+ q(0),
+ ],
+ q(dud) => [
+ q(2147),
+ q(0),
+ ],
+ q(due) => [
+ q(2148),
+ q(0),
+ ],
+ q(duf) => [
+ q(2149),
+ q(0),
+ ],
+ q(dug) => [
+ q(2150),
+ q(0),
+ ],
+ q(duh) => [
+ q(2151),
+ q(0),
+ ],
+ q(dui) => [
+ q(2152),
+ q(0),
+ ],
+ q(duj) => [
+ q(2153),
+ q(0),
+ ],
+ q(duk) => [
+ q(2154),
+ q(0),
+ ],
+ q(dul) => [
+ q(2155),
+ q(0),
+ ],
+ q(dum) => [
+ q(0115),
+ q(1),
+ ],
+ q(dun) => [
+ q(2156),
+ q(0),
+ ],
+ q(duo) => [
+ q(2157),
+ q(0),
+ ],
+ q(dup) => [
+ q(2158),
+ q(0),
+ ],
+ q(duq) => [
+ q(2159),
+ q(0),
+ ],
+ q(dur) => [
+ q(2160),
+ q(0),
+ ],
+ q(dus) => [
+ q(2161),
+ q(0),
+ ],
+ q(dut) => [
+ q(0116),
+ q(0),
+ ],
+ q(duu) => [
+ q(2162),
+ q(0),
+ ],
+ q(duv) => [
+ q(2163),
+ q(0),
+ ],
+ q(duw) => [
+ q(2164),
+ q(0),
+ ],
+ q(dux) => [
+ q(2165),
+ q(0),
+ ],
+ q(duy) => [
+ q(2166),
+ q(0),
+ ],
+ q(duz) => [
+ q(2167),
+ q(0),
+ ],
+ q(dva) => [
+ q(2168),
+ q(0),
+ ],
+ q(dwa) => [
+ q(2169),
+ q(0),
+ ],
+ q(dwl) => [
+ q(2170),
+ q(0),
+ ],
+ q(dwr) => [
+ q(2171),
+ q(0),
+ ],
+ q(dws) => [
+ q(2172),
+ q(0),
+ ],
+ q(dww) => [
+ q(2173),
+ q(0),
+ ],
+ q(dya) => [
+ q(2174),
+ q(0),
+ ],
+ q(dyb) => [
+ q(2175),
+ q(0),
+ ],
+ q(dyd) => [
+ q(2176),
+ q(0),
+ ],
+ q(dyg) => [
+ q(2177),
+ q(0),
+ ],
+ q(dyi) => [
+ q(2178),
+ q(0),
+ ],
+ q(dym) => [
+ q(2179),
+ q(0),
+ ],
+ q(dyn) => [
+ q(2180),
+ q(0),
+ ],
+ q(dyo) => [
+ q(2181),
+ q(0),
+ ],
+ q(dyu) => [
+ q(0117),
+ q(0),
+ ],
+ q(dyy) => [
+ q(2182),
+ q(0),
+ ],
+ q(dza) => [
+ q(2183),
+ q(0),
+ ],
+ q(dzd) => [
+ q(2184),
+ q(0),
+ ],
+ q(dzg) => [
+ q(2185),
+ q(0),
+ ],
+ q(dzl) => [
+ q(2186),
+ q(0),
+ ],
+ q(dzn) => [
+ q(2187),
+ q(0),
+ ],
+ q(dzo) => [
+ q(0118),
+ q(0),
+ ],
+ q(ebg) => [
+ q(2188),
+ q(0),
+ ],
+ q(ebk) => [
+ q(2189),
+ q(0),
+ ],
+ q(ebo) => [
+ q(2190),
+ q(0),
+ ],
+ q(ebr) => [
+ q(2191),
+ q(0),
+ ],
+ q(ebu) => [
+ q(2192),
+ q(0),
+ ],
+ q(ecr) => [
+ q(2193),
+ q(0),
+ ],
+ q(ecs) => [
+ q(2194),
+ q(0),
+ ],
+ q(ecy) => [
+ q(2195),
+ q(0),
+ ],
+ q(eee) => [
+ q(2196),
+ q(0),
+ ],
+ q(efa) => [
+ q(2197),
+ q(0),
+ ],
+ q(efe) => [
+ q(2198),
+ q(0),
+ ],
+ q(efi) => [
+ q(0119),
+ q(0),
+ ],
+ q(ega) => [
+ q(2199),
+ q(0),
+ ],
+ q(egl) => [
+ q(2200),
+ q(0),
+ ],
+ q(ego) => [
+ q(2201),
+ q(0),
+ ],
+ q(egx) => [
+ q(0500),
+ q(0),
+ ],
+ q(egy) => [
+ q(0120),
+ q(0),
+ ],
+ q(ehu) => [
+ q(2202),
+ q(0),
+ ],
+ q(eip) => [
+ q(2203),
+ q(0),
+ ],
+ q(eit) => [
+ q(2204),
+ q(0),
+ ],
+ q(eiv) => [
+ q(2205),
+ q(0),
+ ],
+ q(eja) => [
+ q(2206),
+ q(0),
+ ],
+ q(eka) => [
+ q(0121),
+ q(0),
+ ],
+ q(eke) => [
+ q(2207),
+ q(0),
+ ],
+ q(ekg) => [
+ q(2208),
+ q(0),
+ ],
+ q(eki) => [
+ q(2209),
+ q(0),
+ ],
+ q(ekk) => [
+ q(2210),
+ q(0),
+ ],
+ q(ekl) => [
+ q(2211),
+ q(0),
+ ],
+ q(ekm) => [
+ q(2212),
+ q(0),
+ ],
+ q(eko) => [
+ q(2213),
+ q(0),
+ ],
+ q(ekp) => [
+ q(2214),
+ q(0),
+ ],
+ q(ekr) => [
+ q(2215),
+ q(0),
+ ],
+ q(eky) => [
+ q(2216),
+ q(0),
+ ],
+ q(ele) => [
+ q(2217),
+ q(0),
+ ],
+ q(elh) => [
+ q(2218),
+ q(0),
+ ],
+ q(eli) => [
+ q(2219),
+ q(0),
+ ],
+ q(elk) => [
+ q(2220),
+ q(0),
+ ],
+ q(elm) => [
+ q(2221),
+ q(0),
+ ],
+ q(elo) => [
+ q(2222),
+ q(0),
+ ],
+ q(elp) => [
+ q(2223),
+ q(0),
+ ],
+ q(elu) => [
+ q(2224),
+ q(0),
+ ],
+ q(elx) => [
+ q(0122),
+ q(0),
+ ],
+ q(ema) => [
+ q(2225),
+ q(0),
+ ],
+ q(emb) => [
+ q(2226),
+ q(0),
+ ],
+ q(eme) => [
+ q(2227),
+ q(0),
+ ],
+ q(emg) => [
+ q(2228),
+ q(0),
+ ],
+ q(emi) => [
+ q(2229),
+ q(0),
+ ],
+ q(emk) => [
+ q(2230),
+ q(0),
+ ],
+ q(emm) => [
+ q(2231),
+ q(0),
+ ],
+ q(emn) => [
+ q(2232),
+ q(0),
+ ],
+ q(emo) => [
+ q(2233),
+ q(0),
+ ],
+ q(emp) => [
+ q(2234),
+ q(0),
+ ],
+ q(ems) => [
+ q(2235),
+ q(0),
+ ],
+ q(emu) => [
+ q(2236),
+ q(0),
+ ],
+ q(emw) => [
+ q(2237),
+ q(0),
+ ],
+ q(emx) => [
+ q(2238),
+ q(0),
+ ],
+ q(emy) => [
+ q(2239),
+ q(0),
+ ],
+ q(ena) => [
+ q(2240),
+ q(0),
+ ],
+ q(enb) => [
+ q(2241),
+ q(0),
+ ],
+ q(enc) => [
+ q(2242),
+ q(0),
+ ],
+ q(end) => [
+ q(2243),
+ q(0),
+ ],
+ q(enf) => [
+ q(2244),
+ q(0),
+ ],
+ q(eng) => [
+ q(0123),
+ q(0),
+ ],
+ q(enh) => [
+ q(2245),
+ q(0),
+ ],
+ q(enm) => [
+ q(0124),
+ q(1),
+ ],
+ q(enn) => [
+ q(2246),
+ q(0),
+ ],
+ q(eno) => [
+ q(2247),
+ q(0),
+ ],
+ q(enq) => [
+ q(2248),
+ q(0),
+ ],
+ q(enr) => [
+ q(2249),
+ q(0),
+ ],
+ q(enu) => [
+ q(2250),
+ q(0),
+ ],
+ q(env) => [
+ q(2251),
+ q(0),
+ ],
+ q(enw) => [
+ q(2252),
+ q(0),
+ ],
+ q(eot) => [
+ q(2253),
+ q(0),
+ ],
+ q(epi) => [
+ q(2254),
+ q(0),
+ ],
+ q(epo) => [
+ q(0125),
+ q(0),
+ ],
+ q(era) => [
+ q(2255),
+ q(0),
+ ],
+ q(erg) => [
+ q(2256),
+ q(0),
+ ],
+ q(erh) => [
+ q(2257),
+ q(0),
+ ],
+ q(eri) => [
+ q(2258),
+ q(0),
+ ],
+ q(erk) => [
+ q(2259),
+ q(0),
+ ],
+ q(ero) => [
+ q(2260),
+ q(0),
+ ],
+ q(err) => [
+ q(2261),
+ q(0),
+ ],
+ q(ers) => [
+ q(2262),
+ q(0),
+ ],
+ q(ert) => [
+ q(2263),
+ q(0),
+ ],
+ q(erw) => [
+ q(2264),
+ q(0),
+ ],
+ q(ese) => [
+ q(2265),
+ q(0),
+ ],
+ q(esh) => [
+ q(2266),
+ q(0),
+ ],
+ q(esi) => [
+ q(2267),
+ q(0),
+ ],
+ q(esk) => [
+ q(2268),
+ q(0),
+ ],
+ q(esl) => [
+ q(2269),
+ q(0),
+ ],
+ q(esm) => [
+ q(2270),
+ q(0),
+ ],
+ q(esn) => [
+ q(2271),
+ q(0),
+ ],
+ q(eso) => [
+ q(2272),
+ q(0),
+ ],
+ q(esq) => [
+ q(2273),
+ q(0),
+ ],
+ q(ess) => [
+ q(2274),
+ q(0),
+ ],
+ q(est) => [
+ q(0126),
+ q(0),
+ ],
+ q(esu) => [
+ q(2275),
+ q(0),
+ ],
+ q(esx) => [
+ q(0501),
+ q(0),
+ ],
+ q(etb) => [
+ q(2276),
+ q(0),
+ ],
+ q(etc) => [
+ q(2277),
+ q(0),
+ ],
+ q(eth) => [
+ q(2278),
+ q(0),
+ ],
+ q(etn) => [
+ q(2279),
+ q(0),
+ ],
+ q(eto) => [
+ q(2280),
+ q(0),
+ ],
+ q(etr) => [
+ q(2281),
+ q(0),
+ ],
+ q(ets) => [
+ q(2282),
+ q(0),
+ ],
+ q(ett) => [
+ q(2283),
+ q(0),
+ ],
+ q(etu) => [
+ q(2284),
+ q(0),
+ ],
+ q(etx) => [
+ q(2285),
+ q(0),
+ ],
+ q(etz) => [
+ q(2286),
+ q(0),
+ ],
+ q(euq) => [
+ q(0502),
+ q(0),
+ ],
+ q(eve) => [
+ q(2287),
+ q(0),
+ ],
+ q(evh) => [
+ q(2288),
+ q(0),
+ ],
+ q(evn) => [
+ q(2289),
+ q(0),
+ ],
+ q(ewe) => [
+ q(0127),
+ q(0),
+ ],
+ q(ewo) => [
+ q(0128),
+ q(0),
+ ],
+ q(ext) => [
+ q(2290),
+ q(0),
+ ],
+ q(eya) => [
+ q(2291),
+ q(0),
+ ],
+ q(eyo) => [
+ q(2292),
+ q(0),
+ ],
+ q(eze) => [
+ q(2293),
+ q(0),
+ ],
+ q(faa) => [
+ q(2294),
+ q(0),
+ ],
+ q(fab) => [
+ q(2295),
+ q(0),
+ ],
+ q(fad) => [
+ q(2296),
+ q(0),
+ ],
+ q(faf) => [
+ q(2297),
+ q(0),
+ ],
+ q(fag) => [
+ q(2298),
+ q(0),
+ ],
+ q(fah) => [
+ q(2299),
+ q(0),
+ ],
+ q(fai) => [
+ q(2300),
+ q(0),
+ ],
+ q(faj) => [
+ q(2301),
+ q(0),
+ ],
+ q(fak) => [
+ q(2302),
+ q(0),
+ ],
+ q(fal) => [
+ q(2303),
+ q(0),
+ ],
+ q(fam) => [
+ q(2304),
+ q(0),
+ ],
+ q(fan) => [
+ q(0129),
+ q(1),
+ ],
+ q(fao) => [
+ q(0130),
+ q(0),
+ ],
+ q(fap) => [
+ q(2305),
+ q(0),
+ ],
+ q(far) => [
+ q(2306),
+ q(0),
+ ],
+ q(fat) => [
+ q(0131),
+ q(0),
+ ],
+ q(fau) => [
+ q(2307),
+ q(0),
+ ],
+ q(fax) => [
+ q(2308),
+ q(0),
+ ],
+ q(fay) => [
+ q(2309),
+ q(0),
+ ],
+ q(faz) => [
+ q(2310),
+ q(0),
+ ],
+ q(fbl) => [
+ q(2311),
+ q(0),
+ ],
+ q(fcs) => [
+ q(2312),
+ q(0),
+ ],
+ q(fer) => [
+ q(2313),
+ q(0),
+ ],
+ q(ffi) => [
+ q(2314),
+ q(0),
+ ],
+ q(ffm) => [
+ q(2315),
+ q(0),
+ ],
+ q(fgr) => [
+ q(2316),
+ q(0),
+ ],
+ q(fia) => [
+ q(2317),
+ q(0),
+ ],
+ q(fie) => [
+ q(2318),
+ q(0),
+ ],
+ q(fij) => [
+ q(0132),
+ q(0),
+ ],
+ q(fil) => [
+ q(0133),
+ q(0),
+ ],
+ q(fin) => [
+ q(0134),
+ q(0),
+ ],
+ q(fip) => [
+ q(2319),
+ q(0),
+ ],
+ q(fir) => [
+ q(2320),
+ q(0),
+ ],
+ q(fit) => [
+ q(2321),
+ q(0),
+ ],
+ q(fiu) => [
+ q(0135),
+ q(0),
+ ],
+ q(fiw) => [
+ q(2322),
+ q(0),
+ ],
+ q(fkv) => [
+ q(2323),
+ q(0),
+ ],
+ q(fla) => [
+ q(2324),
+ q(0),
+ ],
+ q(flh) => [
+ q(2325),
+ q(0),
+ ],
+ q(fli) => [
+ q(2326),
+ q(0),
+ ],
+ q(fll) => [
+ q(2327),
+ q(0),
+ ],
+ q(fln) => [
+ q(2328),
+ q(0),
+ ],
+ q(flr) => [
+ q(2329),
+ q(0),
+ ],
+ q(fly) => [
+ q(2330),
+ q(0),
+ ],
+ q(fmp) => [
+ q(2331),
+ q(0),
+ ],
+ q(fmu) => [
+ q(2332),
+ q(0),
+ ],
+ q(fng) => [
+ q(2333),
+ q(0),
+ ],
+ q(fni) => [
+ q(2334),
+ q(0),
+ ],
+ q(fod) => [
+ q(2335),
+ q(0),
+ ],
+ q(foi) => [
+ q(2336),
+ q(0),
+ ],
+ q(fom) => [
+ q(2337),
+ q(0),
+ ],
+ q(fon) => [
+ q(0136),
+ q(0),
+ ],
+ q(for) => [
+ q(2338),
+ q(0),
+ ],
+ q(fos) => [
+ q(2339),
+ q(0),
+ ],
+ q(fox) => [
+ q(0503),
+ q(0),
+ ],
+ q(fpe) => [
+ q(2340),
+ q(0),
+ ],
+ q(fqs) => [
+ q(2341),
+ q(0),
+ ],
+ q(frc) => [
+ q(2342),
+ q(0),
+ ],
+ q(frd) => [
+ q(2343),
+ q(0),
+ ],
+ q(fre) => [
+ q(0137),
+ q(0),
+ ],
+ q(frk) => [
+ q(2344),
+ q(0),
+ ],
+ q(frm) => [
+ q(0138),
+ q(1),
+ ],
+ q(fro) => [
+ q(0139),
+ q(1),
+ ],
+ q(frp) => [
+ q(2345),
+ q(0),
+ ],
+ q(frq) => [
+ q(2346),
+ q(0),
+ ],
+ q(frr) => [
+ q(0140),
+ q(0),
+ ],
+ q(frs) => [
+ q(0141),
+ q(0),
+ ],
+ q(frt) => [
+ q(2347),
+ q(0),
+ ],
+ q(fry) => [
+ q(0142),
+ q(0),
+ ],
+ q(fse) => [
+ q(2348),
+ q(0),
+ ],
+ q(fsl) => [
+ q(2349),
+ q(0),
+ ],
+ q(fss) => [
+ q(2350),
+ q(0),
+ ],
+ q(fub) => [
+ q(2351),
+ q(0),
+ ],
+ q(fuc) => [
+ q(2352),
+ q(0),
+ ],
+ q(fud) => [
+ q(2353),
+ q(0),
+ ],
+ q(fue) => [
+ q(2354),
+ q(0),
+ ],
+ q(fuf) => [
+ q(2355),
+ q(0),
+ ],
+ q(fuh) => [
+ q(2356),
+ q(0),
+ ],
+ q(fui) => [
+ q(2357),
+ q(0),
+ ],
+ q(fuj) => [
+ q(2358),
+ q(0),
+ ],
+ q(ful) => [
+ q(0143),
+ q(0),
+ ],
+ q(fum) => [
+ q(2359),
+ q(0),
+ ],
+ q(fun) => [
+ q(2360),
+ q(0),
+ ],
+ q(fuq) => [
+ q(2361),
+ q(0),
+ ],
+ q(fur) => [
+ q(0144),
+ q(0),
+ ],
+ q(fut) => [
+ q(2362),
+ q(0),
+ ],
+ q(fuu) => [
+ q(2363),
+ q(0),
+ ],
+ q(fuv) => [
+ q(2364),
+ q(0),
+ ],
+ q(fuy) => [
+ q(2365),
+ q(0),
+ ],
+ q(fvr) => [
+ q(2366),
+ q(0),
+ ],
+ q(fwa) => [
+ q(2367),
+ q(0),
+ ],
+ q(fwe) => [
+ q(2368),
+ q(0),
+ ],
+ q(gaa) => [
+ q(0145),
+ q(0),
+ ],
+ q(gab) => [
+ q(2369),
+ q(0),
+ ],
+ q(gac) => [
+ q(2370),
+ q(0),
+ ],
+ q(gad) => [
+ q(2371),
+ q(0),
+ ],
+ q(gae) => [
+ q(2372),
+ q(0),
+ ],
+ q(gaf) => [
+ q(2373),
+ q(0),
+ ],
+ q(gag) => [
+ q(2374),
+ q(0),
+ ],
+ q(gah) => [
+ q(2375),
+ q(0),
+ ],
+ q(gai) => [
+ q(2376),
+ q(0),
+ ],
+ q(gaj) => [
+ q(2377),
+ q(0),
+ ],
+ q(gak) => [
+ q(2378),
+ q(0),
+ ],
+ q(gal) => [
+ q(2379),
+ q(0),
+ ],
+ q(gam) => [
+ q(2380),
+ q(0),
+ ],
+ q(gan) => [
+ q(2381),
+ q(0),
+ ],
+ q(gao) => [
+ q(2382),
+ q(0),
+ ],
+ q(gap) => [
+ q(2383),
+ q(0),
+ ],
+ q(gaq) => [
+ q(2384),
+ q(0),
+ ],
+ q(gar) => [
+ q(2385),
+ q(0),
+ ],
+ q(gas) => [
+ q(2386),
+ q(0),
+ ],
+ q(gat) => [
+ q(2387),
+ q(0),
+ ],
+ q(gau) => [
+ q(2388),
+ q(0),
+ ],
+ q(gaw) => [
+ q(2389),
+ q(0),
+ ],
+ q(gax) => [
+ q(2390),
+ q(0),
+ ],
+ q(gay) => [
+ q(0146),
+ q(0),
+ ],
+ q(gaz) => [
+ q(2391),
+ q(0),
+ ],
+ q(gba) => [
+ q(0147),
+ q(1),
+ ],
+ q(gbb) => [
+ q(2392),
+ q(0),
+ ],
+ q(gbc) => [
+ q(2393),
+ q(0),
+ ],
+ q(gbd) => [
+ q(2394),
+ q(0),
+ ],
+ q(gbe) => [
+ q(2395),
+ q(0),
+ ],
+ q(gbf) => [
+ q(2396),
+ q(0),
+ ],
+ q(gbg) => [
+ q(2397),
+ q(0),
+ ],
+ q(gbh) => [
+ q(2398),
+ q(0),
+ ],
+ q(gbi) => [
+ q(2399),
+ q(0),
+ ],
+ q(gbj) => [
+ q(2400),
+ q(0),
+ ],
+ q(gbk) => [
+ q(2401),
+ q(0),
+ ],
+ q(gbl) => [
+ q(2402),
+ q(0),
+ ],
+ q(gbm) => [
+ q(2403),
+ q(0),
+ ],
+ q(gbn) => [
+ q(2404),
+ q(0),
+ ],
+ q(gbo) => [
+ q(2405),
+ q(0),
+ ],
+ q(gbp) => [
+ q(2406),
+ q(0),
+ ],
+ q(gbq) => [
+ q(2407),
+ q(0),
+ ],
+ q(gbr) => [
+ q(2408),
+ q(0),
+ ],
+ q(gbs) => [
+ q(2409),
+ q(0),
+ ],
+ q(gbu) => [
+ q(2410),
+ q(0),
+ ],
+ q(gbv) => [
+ q(2411),
+ q(0),
+ ],
+ q(gbx) => [
+ q(2412),
+ q(0),
+ ],
+ q(gby) => [
+ q(2413),
+ q(0),
+ ],
+ q(gbz) => [
+ q(2414),
+ q(0),
+ ],
+ q(gcc) => [
+ q(2415),
+ q(0),
+ ],
+ q(gcd) => [
+ q(2416),
+ q(0),
+ ],
+ q(gce) => [
+ q(2417),
+ q(0),
+ ],
+ q(gcf) => [
+ q(2418),
+ q(0),
+ ],
+ q(gcl) => [
+ q(2419),
+ q(0),
+ ],
+ q(gcn) => [
+ q(2420),
+ q(0),
+ ],
+ q(gcr) => [
+ q(2421),
+ q(0),
+ ],
+ q(gct) => [
+ q(2422),
+ q(0),
+ ],
+ q(gda) => [
+ q(2423),
+ q(0),
+ ],
+ q(gdb) => [
+ q(2424),
+ q(0),
+ ],
+ q(gdc) => [
+ q(2425),
+ q(0),
+ ],
+ q(gdd) => [
+ q(2426),
+ q(0),
+ ],
+ q(gde) => [
+ q(2427),
+ q(0),
+ ],
+ q(gdf) => [
+ q(2428),
+ q(0),
+ ],
+ q(gdg) => [
+ q(2429),
+ q(0),
+ ],
+ q(gdh) => [
+ q(2430),
+ q(0),
+ ],
+ q(gdi) => [
+ q(2431),
+ q(0),
+ ],
+ q(gdj) => [
+ q(2432),
+ q(0),
+ ],
+ q(gdk) => [
+ q(2433),
+ q(0),
+ ],
+ q(gdl) => [
+ q(2434),
+ q(0),
+ ],
+ q(gdm) => [
+ q(2435),
+ q(0),
+ ],
+ q(gdn) => [
+ q(2436),
+ q(0),
+ ],
+ q(gdo) => [
+ q(2437),
+ q(0),
+ ],
+ q(gdq) => [
+ q(2438),
+ q(0),
+ ],
+ q(gdr) => [
+ q(2439),
+ q(0),
+ ],
+ q(gdu) => [
+ q(2440),
+ q(0),
+ ],
+ q(gdx) => [
+ q(2441),
+ q(0),
+ ],
+ q(gea) => [
+ q(2442),
+ q(0),
+ ],
+ q(geb) => [
+ q(2443),
+ q(0),
+ ],
+ q(gec) => [
+ q(2444),
+ q(0),
+ ],
+ q(ged) => [
+ q(2445),
+ q(0),
+ ],
+ q(geg) => [
+ q(2446),
+ q(0),
+ ],
+ q(geh) => [
+ q(2447),
+ q(0),
+ ],
+ q(gei) => [
+ q(2448),
+ q(0),
+ ],
+ q(gej) => [
+ q(2449),
+ q(0),
+ ],
+ q(gek) => [
+ q(2450),
+ q(0),
+ ],
+ q(gel) => [
+ q(2451),
+ q(0),
+ ],
+ q(gem) => [
+ q(0148),
+ q(0),
+ ],
+ q(geo) => [
+ q(0149),
+ q(0),
+ ],
+ q(geq) => [
+ q(2452),
+ q(0),
+ ],
+ q(ger) => [
+ q(0150),
+ q(0),
+ ],
+ q(ges) => [
+ q(2453),
+ q(0),
+ ],
+ q(gew) => [
+ q(2454),
+ q(0),
+ ],
+ q(gex) => [
+ q(2455),
+ q(0),
+ ],
+ q(gey) => [
+ q(2456),
+ q(0),
+ ],
+ q(gez) => [
+ q(0151),
+ q(0),
+ ],
+ q(gfk) => [
+ q(2457),
+ q(0),
+ ],
+ q(gft) => [
+ q(2458),
+ q(0),
+ ],
+ q(gga) => [
+ q(2459),
+ q(0),
+ ],
+ q(ggb) => [
+ q(2460),
+ q(0),
+ ],
+ q(ggd) => [
+ q(2461),
+ q(0),
+ ],
+ q(gge) => [
+ q(2462),
+ q(0),
+ ],
+ q(ggg) => [
+ q(2463),
+ q(0),
+ ],
+ q(ggk) => [
+ q(2464),
+ q(0),
+ ],
+ q(ggl) => [
+ q(2465),
+ q(0),
+ ],
+ q(ggn) => [
+ q(2466),
+ q(0),
+ ],
+ q(ggo) => [
+ q(2467),
+ q(0),
+ ],
+ q(ggr) => [
+ q(2468),
+ q(0),
+ ],
+ q(ggt) => [
+ q(2469),
+ q(0),
+ ],
+ q(ggu) => [
+ q(2470),
+ q(0),
+ ],
+ q(ggw) => [
+ q(2471),
+ q(0),
+ ],
+ q(gha) => [
+ q(2472),
+ q(0),
+ ],
+ q(ghc) => [
+ q(2473),
+ q(0),
+ ],
+ q(ghe) => [
+ q(2474),
+ q(0),
+ ],
+ q(ghh) => [
+ q(2475),
+ q(0),
+ ],
+ q(ghk) => [
+ q(2476),
+ q(0),
+ ],
+ q(ghl) => [
+ q(2477),
+ q(0),
+ ],
+ q(ghn) => [
+ q(2478),
+ q(0),
+ ],
+ q(gho) => [
+ q(2479),
+ q(0),
+ ],
+ q(ghr) => [
+ q(2480),
+ q(0),
+ ],
+ q(ghs) => [
+ q(2481),
+ q(0),
+ ],
+ q(ght) => [
+ q(2482),
+ q(0),
+ ],
+ q(gia) => [
+ q(2483),
+ q(0),
+ ],
+ q(gib) => [
+ q(2484),
+ q(0),
+ ],
+ q(gic) => [
+ q(2485),
+ q(0),
+ ],
+ q(gid) => [
+ q(2486),
+ q(0),
+ ],
+ q(gig) => [
+ q(2487),
+ q(0),
+ ],
+ q(gil) => [
+ q(0152),
+ q(0),
+ ],
+ q(gim) => [
+ q(2488),
+ q(0),
+ ],
+ q(gin) => [
+ q(2489),
+ q(0),
+ ],
+ q(gio) => [
+ q(2490),
+ q(0),
+ ],
+ q(gip) => [
+ q(2491),
+ q(0),
+ ],
+ q(giq) => [
+ q(2492),
+ q(0),
+ ],
+ q(gir) => [
+ q(2493),
+ q(0),
+ ],
+ q(gis) => [
+ q(2494),
+ q(0),
+ ],
+ q(git) => [
+ q(2495),
+ q(0),
+ ],
+ q(giw) => [
+ q(2496),
+ q(0),
+ ],
+ q(gix) => [
+ q(2497),
+ q(0),
+ ],
+ q(giy) => [
+ q(2498),
+ q(0),
+ ],
+ q(giz) => [
+ q(2499),
+ q(0),
+ ],
+ q(gji) => [
+ q(2500),
+ q(0),
+ ],
+ q(gjk) => [
+ q(2501),
+ q(0),
+ ],
+ q(gjn) => [
+ q(2502),
+ q(0),
+ ],
+ q(gju) => [
+ q(2503),
+ q(0),
+ ],
+ q(gka) => [
+ q(2504),
+ q(0),
+ ],
+ q(gke) => [
+ q(2505),
+ q(0),
+ ],
+ q(gkn) => [
+ q(2506),
+ q(0),
+ ],
+ q(gkp) => [
+ q(2507),
+ q(0),
+ ],
+ q(gla) => [
+ q(0153),
+ q(0),
+ ],
+ q(glc) => [
+ q(2508),
+ q(0),
+ ],
+ q(gld) => [
+ q(2509),
+ q(0),
+ ],
+ q(gle) => [
+ q(0154),
+ q(0),
+ ],
+ q(glg) => [
+ q(0155),
+ q(0),
+ ],
+ q(glh) => [
+ q(2510),
+ q(0),
+ ],
+ q(gli) => [
+ q(2511),
+ q(0),
+ ],
+ q(glj) => [
+ q(2512),
+ q(0),
+ ],
+ q(glk) => [
+ q(2513),
+ q(0),
+ ],
+ q(glo) => [
+ q(2514),
+ q(0),
+ ],
+ q(glr) => [
+ q(2515),
+ q(0),
+ ],
+ q(glu) => [
+ q(2516),
+ q(0),
+ ],
+ q(glv) => [
+ q(0156),
+ q(0),
+ ],
+ q(glw) => [
+ q(2517),
+ q(0),
+ ],
+ q(gly) => [
+ q(2518),
+ q(0),
+ ],
+ q(gma) => [
+ q(2519),
+ q(0),
+ ],
+ q(gmb) => [
+ q(2520),
+ q(0),
+ ],
+ q(gmd) => [
+ q(2521),
+ q(0),
+ ],
+ q(gme) => [
+ q(0504),
+ q(0),
+ ],
+ q(gmh) => [
+ q(0157),
+ q(1),
+ ],
+ q(gml) => [
+ q(2522),
+ q(0),
+ ],
+ q(gmm) => [
+ q(2523),
+ q(0),
+ ],
+ q(gmn) => [
+ q(2524),
+ q(0),
+ ],
+ q(gmq) => [
+ q(0505),
+ q(0),
+ ],
+ q(gmu) => [
+ q(2525),
+ q(0),
+ ],
+ q(gmv) => [
+ q(2526),
+ q(0),
+ ],
+ q(gmw) => [
+ q(0506),
+ q(0),
+ ],
+ q(gmx) => [
+ q(2527),
+ q(0),
+ ],
+ q(gmy) => [
+ q(2528),
+ q(0),
+ ],
+ q(gna) => [
+ q(2529),
+ q(0),
+ ],
+ q(gnb) => [
+ q(2530),
+ q(0),
+ ],
+ q(gnc) => [
+ q(2531),
+ q(0),
+ ],
+ q(gnd) => [
+ q(2532),
+ q(0),
+ ],
+ q(gne) => [
+ q(2533),
+ q(0),
+ ],
+ q(gng) => [
+ q(2534),
+ q(0),
+ ],
+ q(gnh) => [
+ q(2535),
+ q(0),
+ ],
+ q(gni) => [
+ q(2536),
+ q(0),
+ ],
+ q(gnk) => [
+ q(2537),
+ q(0),
+ ],
+ q(gnl) => [
+ q(2538),
+ q(0),
+ ],
+ q(gnm) => [
+ q(2539),
+ q(0),
+ ],
+ q(gnn) => [
+ q(2540),
+ q(0),
+ ],
+ q(gno) => [
+ q(2541),
+ q(0),
+ ],
+ q(gnq) => [
+ q(2542),
+ q(0),
+ ],
+ q(gnr) => [
+ q(2543),
+ q(0),
+ ],
+ q(gnt) => [
+ q(2544),
+ q(0),
+ ],
+ q(gnu) => [
+ q(2545),
+ q(0),
+ ],
+ q(gnw) => [
+ q(2546),
+ q(0),
+ ],
+ q(gnz) => [
+ q(2547),
+ q(0),
+ ],
+ q(goa) => [
+ q(2548),
+ q(0),
+ ],
+ q(gob) => [
+ q(2549),
+ q(0),
+ ],
+ q(goc) => [
+ q(2550),
+ q(0),
+ ],
+ q(god) => [
+ q(2551),
+ q(0),
+ ],
+ q(goe) => [
+ q(2552),
+ q(0),
+ ],
+ q(gof) => [
+ q(2553),
+ q(0),
+ ],
+ q(gog) => [
+ q(2554),
+ q(0),
+ ],
+ q(goh) => [
+ q(0158),
+ q(1),
+ ],
+ q(goi) => [
+ q(2555),
+ q(0),
+ ],
+ q(goj) => [
+ q(2556),
+ q(0),
+ ],
+ q(gok) => [
+ q(2557),
+ q(0),
+ ],
+ q(gol) => [
+ q(2558),
+ q(0),
+ ],
+ q(gom) => [
+ q(2559),
+ q(0),
+ ],
+ q(gon) => [
+ q(0159),
+ q(0),
+ ],
+ q(goo) => [
+ q(2560),
+ q(0),
+ ],
+ q(gop) => [
+ q(2561),
+ q(0),
+ ],
+ q(goq) => [
+ q(2562),
+ q(0),
+ ],
+ q(gor) => [
+ q(0160),
+ q(0),
+ ],
+ q(gos) => [
+ q(2563),
+ q(0),
+ ],
+ q(got) => [
+ q(0161),
+ q(0),
+ ],
+ q(gou) => [
+ q(2564),
+ q(0),
+ ],
+ q(gow) => [
+ q(2565),
+ q(0),
+ ],
+ q(gox) => [
+ q(2566),
+ q(0),
+ ],
+ q(goy) => [
+ q(2567),
+ q(0),
+ ],
+ q(goz) => [
+ q(2568),
+ q(0),
+ ],
+ q(gpa) => [
+ q(2569),
+ q(0),
+ ],
+ q(gpn) => [
+ q(2570),
+ q(0),
+ ],
+ q(gqa) => [
+ q(2571),
+ q(0),
+ ],
+ q(gqi) => [
+ q(2572),
+ q(0),
+ ],
+ q(gqn) => [
+ q(2573),
+ q(0),
+ ],
+ q(gqr) => [
+ q(2574),
+ q(0),
+ ],
+ q(gra) => [
+ q(2575),
+ q(0),
+ ],
+ q(grb) => [
+ q(0162),
+ q(0),
+ ],
+ q(grc) => [
+ q(0163),
+ q(1),
+ ],
+ q(grd) => [
+ q(2576),
+ q(0),
+ ],
+ q(gre) => [
+ q(0164),
+ q(0),
+ ],
+ q(grg) => [
+ q(2577),
+ q(0),
+ ],
+ q(grh) => [
+ q(2578),
+ q(0),
+ ],
+ q(gri) => [
+ q(2579),
+ q(0),
+ ],
+ q(grj) => [
+ q(2580),
+ q(0),
+ ],
+ q(grk) => [
+ q(0507),
+ q(0),
+ ],
+ q(grm) => [
+ q(2581),
+ q(0),
+ ],
+ q(grn) => [
+ q(0165),
+ q(0),
+ ],
+ q(gro) => [
+ q(2582),
+ q(0),
+ ],
+ q(grq) => [
+ q(2583),
+ q(0),
+ ],
+ q(grr) => [
+ q(2584),
+ q(0),
+ ],
+ q(grs) => [
+ q(2585),
+ q(0),
+ ],
+ q(grt) => [
+ q(2586),
+ q(0),
+ ],
+ q(gru) => [
+ q(2587),
+ q(0),
+ ],
+ q(grv) => [
+ q(2588),
+ q(0),
+ ],
+ q(grw) => [
+ q(2589),
+ q(0),
+ ],
+ q(grx) => [
+ q(2590),
+ q(0),
+ ],
+ q(gry) => [
+ q(2591),
+ q(0),
+ ],
+ q(grz) => [
+ q(2592),
+ q(0),
+ ],
+ q(gse) => [
+ q(2593),
+ q(0),
+ ],
+ q(gsg) => [
+ q(2594),
+ q(0),
+ ],
+ q(gsl) => [
+ q(2595),
+ q(0),
+ ],
+ q(gsm) => [
+ q(2596),
+ q(0),
+ ],
+ q(gsn) => [
+ q(2597),
+ q(0),
+ ],
+ q(gso) => [
+ q(2598),
+ q(0),
+ ],
+ q(gsp) => [
+ q(2599),
+ q(0),
+ ],
+ q(gss) => [
+ q(2600),
+ q(0),
+ ],
+ q(gsw) => [
+ q(0166),
+ q(0),
+ ],
+ q(gta) => [
+ q(2601),
+ q(0),
+ ],
+ q(gti) => [
+ q(2602),
+ q(0),
+ ],
+ q(gua) => [
+ q(2603),
+ q(0),
+ ],
+ q(gub) => [
+ q(2604),
+ q(0),
+ ],
+ q(guc) => [
+ q(2605),
+ q(0),
+ ],
+ q(gud) => [
+ q(2606),
+ q(0),
+ ],
+ q(gue) => [
+ q(2607),
+ q(0),
+ ],
+ q(guf) => [
+ q(2608),
+ q(0),
+ ],
+ q(gug) => [
+ q(2609),
+ q(0),
+ ],
+ q(guh) => [
+ q(2610),
+ q(0),
+ ],
+ q(gui) => [
+ q(2611),
+ q(0),
+ ],
+ q(guj) => [
+ q(0167),
+ q(0),
+ ],
+ q(guk) => [
+ q(2612),
+ q(0),
+ ],
+ q(gul) => [
+ q(2613),
+ q(0),
+ ],
+ q(gum) => [
+ q(2614),
+ q(0),
+ ],
+ q(gun) => [
+ q(2615),
+ q(0),
+ ],
+ q(guo) => [
+ q(2616),
+ q(0),
+ ],
+ q(gup) => [
+ q(2617),
+ q(0),
+ ],
+ q(guq) => [
+ q(2618),
+ q(0),
+ ],
+ q(gur) => [
+ q(2619),
+ q(0),
+ ],
+ q(gus) => [
+ q(2620),
+ q(0),
+ ],
+ q(gut) => [
+ q(2621),
+ q(0),
+ ],
+ q(guu) => [
+ q(2622),
+ q(0),
+ ],
+ q(guv) => [
+ q(2623),
+ q(0),
+ ],
+ q(guw) => [
+ q(2624),
+ q(0),
+ ],
+ q(gux) => [
+ q(2625),
+ q(0),
+ ],
+ q(guz) => [
+ q(2626),
+ q(0),
+ ],
+ q(gva) => [
+ q(2627),
+ q(0),
+ ],
+ q(gvc) => [
+ q(2628),
+ q(0),
+ ],
+ q(gve) => [
+ q(2629),
+ q(0),
+ ],
+ q(gvf) => [
+ q(2630),
+ q(0),
+ ],
+ q(gvj) => [
+ q(2631),
+ q(0),
+ ],
+ q(gvl) => [
+ q(2632),
+ q(0),
+ ],
+ q(gvm) => [
+ q(2633),
+ q(0),
+ ],
+ q(gvn) => [
+ q(2634),
+ q(0),
+ ],
+ q(gvo) => [
+ q(2635),
+ q(0),
+ ],
+ q(gvp) => [
+ q(2636),
+ q(0),
+ ],
+ q(gvr) => [
+ q(2637),
+ q(0),
+ ],
+ q(gvs) => [
+ q(2638),
+ q(0),
+ ],
+ q(gvy) => [
+ q(2639),
+ q(0),
+ ],
+ q(gwa) => [
+ q(2640),
+ q(0),
+ ],
+ q(gwb) => [
+ q(2641),
+ q(0),
+ ],
+ q(gwc) => [
+ q(2642),
+ q(0),
+ ],
+ q(gwd) => [
+ q(2643),
+ q(0),
+ ],
+ q(gwe) => [
+ q(2644),
+ q(0),
+ ],
+ q(gwf) => [
+ q(2645),
+ q(0),
+ ],
+ q(gwg) => [
+ q(2646),
+ q(0),
+ ],
+ q(gwi) => [
+ q(0168),
+ q(0),
+ ],
+ q(gwj) => [
+ q(2647),
+ q(0),
+ ],
+ q(gwn) => [
+ q(2648),
+ q(0),
+ ],
+ q(gwr) => [
+ q(2649),
+ q(0),
+ ],
+ q(gwt) => [
+ q(2650),
+ q(0),
+ ],
+ q(gwu) => [
+ q(2651),
+ q(0),
+ ],
+ q(gww) => [
+ q(2652),
+ q(0),
+ ],
+ q(gwx) => [
+ q(2653),
+ q(0),
+ ],
+ q(gxx) => [
+ q(2654),
+ q(0),
+ ],
+ q(gya) => [
+ q(2655),
+ q(0),
+ ],
+ q(gyb) => [
+ q(2656),
+ q(0),
+ ],
+ q(gyd) => [
+ q(2657),
+ q(0),
+ ],
+ q(gye) => [
+ q(2658),
+ q(0),
+ ],
+ q(gyf) => [
+ q(2659),
+ q(0),
+ ],
+ q(gyg) => [
+ q(2660),
+ q(0),
+ ],
+ q(gyi) => [
+ q(2661),
+ q(0),
+ ],
+ q(gyl) => [
+ q(2662),
+ q(0),
+ ],
+ q(gym) => [
+ q(2663),
+ q(0),
+ ],
+ q(gyn) => [
+ q(2664),
+ q(0),
+ ],
+ q(gyr) => [
+ q(2665),
+ q(0),
+ ],
+ q(gyy) => [
+ q(2666),
+ q(0),
+ ],
+ q(gza) => [
+ q(2667),
+ q(0),
+ ],
+ q(gzi) => [
+ q(2668),
+ q(0),
+ ],
+ q(gzn) => [
+ q(2669),
+ q(0),
+ ],
+ q(haa) => [
+ q(2670),
+ q(0),
+ ],
+ q(hab) => [
+ q(2671),
+ q(0),
+ ],
+ q(hac) => [
+ q(2672),
+ q(0),
+ ],
+ q(had) => [
+ q(2673),
+ q(0),
+ ],
+ q(hae) => [
+ q(2674),
+ q(0),
+ ],
+ q(haf) => [
+ q(2675),
+ q(0),
+ ],
+ q(hag) => [
+ q(2676),
+ q(0),
+ ],
+ q(hah) => [
+ q(2677),
+ q(0),
+ ],
+ q(hai) => [
+ q(0169),
+ q(0),
+ ],
+ q(haj) => [
+ q(2678),
+ q(0),
+ ],
+ q(hak) => [
+ q(2679),
+ q(0),
+ ],
+ q(hal) => [
+ q(2680),
+ q(0),
+ ],
+ q(ham) => [
+ q(2681),
+ q(0),
+ ],
+ q(han) => [
+ q(2682),
+ q(0),
+ ],
+ q(hao) => [
+ q(2683),
+ q(0),
+ ],
+ q(hap) => [
+ q(2684),
+ q(0),
+ ],
+ q(haq) => [
+ q(2685),
+ q(0),
+ ],
+ q(har) => [
+ q(2686),
+ q(0),
+ ],
+ q(has) => [
+ q(2687),
+ q(0),
+ ],
+ q(hat) => [
+ q(0170),
+ q(0),
+ ],
+ q(hau) => [
+ q(0171),
+ q(0),
+ ],
+ q(hav) => [
+ q(2688),
+ q(0),
+ ],
+ q(haw) => [
+ q(0172),
+ q(0),
+ ],
+ q(hax) => [
+ q(2689),
+ q(0),
+ ],
+ q(hay) => [
+ q(2690),
+ q(0),
+ ],
+ q(haz) => [
+ q(2691),
+ q(0),
+ ],
+ q(hba) => [
+ q(2692),
+ q(0),
+ ],
+ q(hbb) => [
+ q(2693),
+ q(0),
+ ],
+ q(hbn) => [
+ q(2694),
+ q(0),
+ ],
+ q(hbo) => [
+ q(2695),
+ q(0),
+ ],
+ q(hbu) => [
+ q(2696),
+ q(0),
+ ],
+ q(hca) => [
+ q(2697),
+ q(0),
+ ],
+ q(hch) => [
+ q(2698),
+ q(0),
+ ],
+ q(hdn) => [
+ q(2699),
+ q(0),
+ ],
+ q(hds) => [
+ q(2700),
+ q(0),
+ ],
+ q(hdy) => [
+ q(2701),
+ q(0),
+ ],
+ q(hea) => [
+ q(2702),
+ q(0),
+ ],
+ q(heb) => [
+ q(0173),
+ q(0),
+ ],
+ q(hed) => [
+ q(2703),
+ q(0),
+ ],
+ q(heg) => [
+ q(2704),
+ q(0),
+ ],
+ q(heh) => [
+ q(2705),
+ q(0),
+ ],
+ q(hei) => [
+ q(2706),
+ q(0),
+ ],
+ q(hem) => [
+ q(2707),
+ q(0),
+ ],
+ q(her) => [
+ q(0174),
+ q(0),
+ ],
+ q(hgm) => [
+ q(2708),
+ q(0),
+ ],
+ q(hgw) => [
+ q(2709),
+ q(0),
+ ],
+ q(hhi) => [
+ q(2710),
+ q(0),
+ ],
+ q(hhr) => [
+ q(2711),
+ q(0),
+ ],
+ q(hhy) => [
+ q(2712),
+ q(0),
+ ],
+ q(hia) => [
+ q(2713),
+ q(0),
+ ],
+ q(hib) => [
+ q(2714),
+ q(0),
+ ],
+ q(hid) => [
+ q(2715),
+ q(0),
+ ],
+ q(hif) => [
+ q(2716),
+ q(0),
+ ],
+ q(hig) => [
+ q(2717),
+ q(0),
+ ],
+ q(hih) => [
+ q(2718),
+ q(0),
+ ],
+ q(hii) => [
+ q(2719),
+ q(0),
+ ],
+ q(hij) => [
+ q(2720),
+ q(0),
+ ],
+ q(hik) => [
+ q(2721),
+ q(0),
+ ],
+ q(hil) => [
+ q(0175),
+ q(0),
+ ],
+ q(him) => [
+ q(0176),
+ q(0),
+ ],
+ q(hin) => [
+ q(0177),
+ q(0),
+ ],
+ q(hio) => [
+ q(2722),
+ q(0),
+ ],
+ q(hir) => [
+ q(2723),
+ q(0),
+ ],
+ q(hit) => [
+ q(0178),
+ q(0),
+ ],
+ q(hiw) => [
+ q(2724),
+ q(0),
+ ],
+ q(hix) => [
+ q(2725),
+ q(0),
+ ],
+ q(hji) => [
+ q(2726),
+ q(0),
+ ],
+ q(hka) => [
+ q(2727),
+ q(0),
+ ],
+ q(hke) => [
+ q(2728),
+ q(0),
+ ],
+ q(hkk) => [
+ q(2729),
+ q(0),
+ ],
+ q(hks) => [
+ q(2730),
+ q(0),
+ ],
+ q(hla) => [
+ q(2731),
+ q(0),
+ ],
+ q(hlb) => [
+ q(2732),
+ q(0),
+ ],
+ q(hld) => [
+ q(2733),
+ q(0),
+ ],
+ q(hle) => [
+ q(2734),
+ q(0),
+ ],
+ q(hlt) => [
+ q(2735),
+ q(0),
+ ],
+ q(hlu) => [
+ q(2736),
+ q(0),
+ ],
+ q(hma) => [
+ q(2737),
+ q(0),
+ ],
+ q(hmb) => [
+ q(2738),
+ q(0),
+ ],
+ q(hmc) => [
+ q(2739),
+ q(0),
+ ],
+ q(hmd) => [
+ q(2740),
+ q(0),
+ ],
+ q(hme) => [
+ q(2741),
+ q(0),
+ ],
+ q(hmf) => [
+ q(2742),
+ q(0),
+ ],
+ q(hmg) => [
+ q(2743),
+ q(0),
+ ],
+ q(hmh) => [
+ q(2744),
+ q(0),
+ ],
+ q(hmi) => [
+ q(2745),
+ q(0),
+ ],
+ q(hmj) => [
+ q(2746),
+ q(0),
+ ],
+ q(hmk) => [
+ q(2747),
+ q(0),
+ ],
+ q(hml) => [
+ q(2748),
+ q(0),
+ ],
+ q(hmm) => [
+ q(2749),
+ q(0),
+ ],
+ q(hmn) => [
+ q(0179),
+ q(0),
+ ],
+ q(hmo) => [
+ q(0180),
+ q(0),
+ ],
+ q(hmp) => [
+ q(2750),
+ q(0),
+ ],
+ q(hmq) => [
+ q(2751),
+ q(0),
+ ],
+ q(hmr) => [
+ q(2752),
+ q(0),
+ ],
+ q(hms) => [
+ q(2753),
+ q(0),
+ ],
+ q(hmt) => [
+ q(2754),
+ q(0),
+ ],
+ q(hmu) => [
+ q(2755),
+ q(0),
+ ],
+ q(hmv) => [
+ q(2756),
+ q(0),
+ ],
+ q(hmw) => [
+ q(2757),
+ q(0),
+ ],
+ q(hmx) => [
+ q(0508),
+ q(0),
+ ],
+ q(hmy) => [
+ q(2758),
+ q(0),
+ ],
+ q(hmz) => [
+ q(2759),
+ q(0),
+ ],
+ q(hna) => [
+ q(2760),
+ q(0),
+ ],
+ q(hnd) => [
+ q(2761),
+ q(0),
+ ],
+ q(hne) => [
+ q(2762),
+ q(0),
+ ],
+ q(hnh) => [
+ q(2763),
+ q(0),
+ ],
+ q(hni) => [
+ q(2764),
+ q(0),
+ ],
+ q(hnj) => [
+ q(2765),
+ q(0),
+ ],
+ q(hnn) => [
+ q(2766),
+ q(0),
+ ],
+ q(hno) => [
+ q(2767),
+ q(0),
+ ],
+ q(hns) => [
+ q(2768),
+ q(0),
+ ],
+ q(hnu) => [
+ q(2769),
+ q(0),
+ ],
+ q(hoa) => [
+ q(2770),
+ q(0),
+ ],
+ q(hob) => [
+ q(2771),
+ q(0),
+ ],
+ q(hoc) => [
+ q(2772),
+ q(0),
+ ],
+ q(hod) => [
+ q(2773),
+ q(0),
+ ],
+ q(hoe) => [
+ q(2774),
+ q(0),
+ ],
+ q(hoh) => [
+ q(2775),
+ q(0),
+ ],
+ q(hoi) => [
+ q(2776),
+ q(0),
+ ],
+ q(hoj) => [
+ q(2777),
+ q(0),
+ ],
+ q(hok) => [
+ q(0509),
+ q(0),
+ ],
+ q(hol) => [
+ q(2778),
+ q(0),
+ ],
+ q(hom) => [
+ q(2779),
+ q(0),
+ ],
+ q(hoo) => [
+ q(2780),
+ q(0),
+ ],
+ q(hop) => [
+ q(2781),
+ q(0),
+ ],
+ q(hor) => [
+ q(2782),
+ q(0),
+ ],
+ q(hos) => [
+ q(2783),
+ q(0),
+ ],
+ q(hot) => [
+ q(2784),
+ q(0),
+ ],
+ q(hov) => [
+ q(2785),
+ q(0),
+ ],
+ q(how) => [
+ q(2786),
+ q(0),
+ ],
+ q(hoy) => [
+ q(2787),
+ q(0),
+ ],
+ q(hoz) => [
+ q(2788),
+ q(0),
+ ],
+ q(hpo) => [
+ q(2789),
+ q(0),
+ ],
+ q(hps) => [
+ q(2790),
+ q(0),
+ ],
+ q(hra) => [
+ q(2791),
+ q(0),
+ ],
+ q(hre) => [
+ q(2792),
+ q(0),
+ ],
+ q(hrk) => [
+ q(2793),
+ q(0),
+ ],
+ q(hrm) => [
+ q(2794),
+ q(0),
+ ],
+ q(hro) => [
+ q(2795),
+ q(0),
+ ],
+ q(hrr) => [
+ q(2796),
+ q(0),
+ ],
+ q(hrt) => [
+ q(2797),
+ q(0),
+ ],
+ q(hru) => [
+ q(2798),
+ q(0),
+ ],
+ q(hrv) => [
+ q(0181),
+ q(0),
+ ],
+ q(hrx) => [
+ q(2799),
+ q(0),
+ ],
+ q(hrz) => [
+ q(2800),
+ q(0),
+ ],
+ q(hsb) => [
+ q(0182),
+ q(0),
+ ],
+ q(hsh) => [
+ q(2801),
+ q(0),
+ ],
+ q(hsl) => [
+ q(2802),
+ q(0),
+ ],
+ q(hsn) => [
+ q(2803),
+ q(0),
+ ],
+ q(hss) => [
+ q(2804),
+ q(0),
+ ],
+ q(hti) => [
+ q(2805),
+ q(0),
+ ],
+ q(hto) => [
+ q(2806),
+ q(0),
+ ],
+ q(hts) => [
+ q(2807),
+ q(0),
+ ],
+ q(htu) => [
+ q(2808),
+ q(0),
+ ],
+ q(htx) => [
+ q(2809),
+ q(0),
+ ],
+ q(hub) => [
+ q(2810),
+ q(0),
+ ],
+ q(huc) => [
+ q(2811),
+ q(0),
+ ],
+ q(hud) => [
+ q(2812),
+ q(0),
+ ],
+ q(hue) => [
+ q(2813),
+ q(0),
+ ],
+ q(huf) => [
+ q(2814),
+ q(0),
+ ],
+ q(hug) => [
+ q(2815),
+ q(0),
+ ],
+ q(huh) => [
+ q(2816),
+ q(0),
+ ],
+ q(hui) => [
+ q(2817),
+ q(0),
+ ],
+ q(huj) => [
+ q(2818),
+ q(0),
+ ],
+ q(huk) => [
+ q(2819),
+ q(0),
+ ],
+ q(hul) => [
+ q(2820),
+ q(0),
+ ],
+ q(hum) => [
+ q(2821),
+ q(0),
+ ],
+ q(hun) => [
+ q(0183),
+ q(0),
+ ],
+ q(huo) => [
+ q(2822),
+ q(0),
+ ],
+ q(hup) => [
+ q(0184),
+ q(0),
+ ],
+ q(huq) => [
+ q(2823),
+ q(0),
+ ],
+ q(hur) => [
+ q(2824),
+ q(0),
+ ],
+ q(hus) => [
+ q(2825),
+ q(0),
+ ],
+ q(hut) => [
+ q(2826),
+ q(0),
+ ],
+ q(huu) => [
+ q(2827),
+ q(0),
+ ],
+ q(huv) => [
+ q(2828),
+ q(0),
+ ],
+ q(huw) => [
+ q(2829),
+ q(0),
+ ],
+ q(hux) => [
+ q(2830),
+ q(0),
+ ],
+ q(huy) => [
+ q(2831),
+ q(0),
+ ],
+ q(huz) => [
+ q(2832),
+ q(0),
+ ],
+ q(hvc) => [
+ q(2833),
+ q(0),
+ ],
+ q(hve) => [
+ q(2834),
+ q(0),
+ ],
+ q(hvk) => [
+ q(2835),
+ q(0),
+ ],
+ q(hvn) => [
+ q(2836),
+ q(0),
+ ],
+ q(hvv) => [
+ q(2837),
+ q(0),
+ ],
+ q(hwa) => [
+ q(2838),
+ q(0),
+ ],
+ q(hwc) => [
+ q(2839),
+ q(0),
+ ],
+ q(hwo) => [
+ q(2840),
+ q(0),
+ ],
+ q(hya) => [
+ q(2841),
+ q(0),
+ ],
+ q(hyx) => [
+ q(0510),
+ q(0),
+ ],
+ q(iai) => [
+ q(2842),
+ q(0),
+ ],
+ q(ian) => [
+ q(2843),
+ q(0),
+ ],
+ q(iap) => [
+ q(2844),
+ q(0),
+ ],
+ q(iar) => [
+ q(2845),
+ q(0),
+ ],
+ q(iba) => [
+ q(0185),
+ q(0),
+ ],
+ q(ibb) => [
+ q(2846),
+ q(0),
+ ],
+ q(ibd) => [
+ q(2847),
+ q(0),
+ ],
+ q(ibe) => [
+ q(2848),
+ q(0),
+ ],
+ q(ibg) => [
+ q(2849),
+ q(0),
+ ],
+ q(ibi) => [
+ q(2850),
+ q(0),
+ ],
+ q(ibl) => [
+ q(2851),
+ q(0),
+ ],
+ q(ibm) => [
+ q(2852),
+ q(0),
+ ],
+ q(ibn) => [
+ q(2853),
+ q(0),
+ ],
+ q(ibo) => [
+ q(0186),
+ q(0),
+ ],
+ q(ibr) => [
+ q(2854),
+ q(0),
+ ],
+ q(ibu) => [
+ q(2855),
+ q(0),
+ ],
+ q(iby) => [
+ q(2856),
+ q(0),
+ ],
+ q(ica) => [
+ q(2857),
+ q(0),
+ ],
+ q(ice) => [
+ q(0187),
+ q(0),
+ ],
+ q(ich) => [
+ q(2858),
+ q(0),
+ ],
+ q(icl) => [
+ q(2859),
+ q(0),
+ ],
+ q(icr) => [
+ q(2860),
+ q(0),
+ ],
+ q(ida) => [
+ q(2861),
+ q(0),
+ ],
+ q(idb) => [
+ q(2862),
+ q(0),
+ ],
+ q(idc) => [
+ q(2863),
+ q(0),
+ ],
+ q(idd) => [
+ q(2864),
+ q(0),
+ ],
+ q(ide) => [
+ q(2865),
+ q(0),
+ ],
+ q(idi) => [
+ q(2866),
+ q(0),
+ ],
+ q(ido) => [
+ q(0188),
+ q(0),
+ ],
+ q(idr) => [
+ q(2867),
+ q(0),
+ ],
+ q(ids) => [
+ q(2868),
+ q(0),
+ ],
+ q(idt) => [
+ q(2869),
+ q(0),
+ ],
+ q(idu) => [
+ q(2870),
+ q(0),
+ ],
+ q(ifa) => [
+ q(2871),
+ q(0),
+ ],
+ q(ifb) => [
+ q(2872),
+ q(0),
+ ],
+ q(ife) => [
+ q(2873),
+ q(0),
+ ],
+ q(iff) => [
+ q(2874),
+ q(0),
+ ],
+ q(ifk) => [
+ q(2875),
+ q(0),
+ ],
+ q(ifm) => [
+ q(2876),
+ q(0),
+ ],
+ q(ifu) => [
+ q(2877),
+ q(0),
+ ],
+ q(ify) => [
+ q(2878),
+ q(0),
+ ],
+ q(igb) => [
+ q(2879),
+ q(0),
+ ],
+ q(ige) => [
+ q(2880),
+ q(0),
+ ],
+ q(igg) => [
+ q(2881),
+ q(0),
+ ],
+ q(igl) => [
+ q(2882),
+ q(0),
+ ],
+ q(igm) => [
+ q(2883),
+ q(0),
+ ],
+ q(ign) => [
+ q(2884),
+ q(0),
+ ],
+ q(igo) => [
+ q(2885),
+ q(0),
+ ],
+ q(igs) => [
+ q(2886),
+ q(0),
+ ],
+ q(igw) => [
+ q(2887),
+ q(0),
+ ],
+ q(ihb) => [
+ q(2888),
+ q(0),
+ ],
+ q(ihi) => [
+ q(2889),
+ q(0),
+ ],
+ q(ihp) => [
+ q(2890),
+ q(0),
+ ],
+ q(iii) => [
+ q(0189),
+ q(0),
+ ],
+ q(iir) => [
+ q(0511),
+ q(0),
+ ],
+ q(ijc) => [
+ q(2891),
+ q(0),
+ ],
+ q(ije) => [
+ q(2892),
+ q(0),
+ ],
+ q(ijj) => [
+ q(2893),
+ q(0),
+ ],
+ q(ijn) => [
+ q(2894),
+ q(0),
+ ],
+ q(ijo) => [
+ q(0190),
+ q(0),
+ ],
+ q(ijs) => [
+ q(2895),
+ q(0),
+ ],
+ q(ike) => [
+ q(2896),
+ q(0),
+ ],
+ q(iki) => [
+ q(2897),
+ q(0),
+ ],
+ q(ikk) => [
+ q(2898),
+ q(0),
+ ],
+ q(ikl) => [
+ q(2899),
+ q(0),
+ ],
+ q(iko) => [
+ q(2900),
+ q(0),
+ ],
+ q(ikp) => [
+ q(2901),
+ q(0),
+ ],
+ q(ikt) => [
+ q(2902),
+ q(0),
+ ],
+ q(iku) => [
+ q(0191),
+ q(0),
+ ],
+ q(ikv) => [
+ q(2903),
+ q(0),
+ ],
+ q(ikw) => [
+ q(2904),
+ q(0),
+ ],
+ q(ikx) => [
+ q(2905),
+ q(0),
+ ],
+ q(ikz) => [
+ q(2906),
+ q(0),
+ ],
+ q(ila) => [
+ q(2907),
+ q(0),
+ ],
+ q(ilb) => [
+ q(2908),
+ q(0),
+ ],
+ q(ile) => [
+ q(0192),
+ q(0),
+ ],
+ q(ilg) => [
+ q(2909),
+ q(0),
+ ],
+ q(ili) => [
+ q(2910),
+ q(0),
+ ],
+ q(ilk) => [
+ q(2911),
+ q(0),
+ ],
+ q(ill) => [
+ q(2912),
+ q(0),
+ ],
+ q(ilo) => [
+ q(0193),
+ q(0),
+ ],
+ q(ils) => [
+ q(2913),
+ q(0),
+ ],
+ q(ilu) => [
+ q(2914),
+ q(0),
+ ],
+ q(ilv) => [
+ q(2915),
+ q(0),
+ ],
+ q(ilw) => [
+ q(2916),
+ q(0),
+ ],
+ q(ima) => [
+ q(2917),
+ q(0),
+ ],
+ q(ime) => [
+ q(2918),
+ q(0),
+ ],
+ q(imi) => [
+ q(2919),
+ q(0),
+ ],
+ q(iml) => [
+ q(2920),
+ q(0),
+ ],
+ q(imn) => [
+ q(2921),
+ q(0),
+ ],
+ q(imo) => [
+ q(2922),
+ q(0),
+ ],
+ q(imr) => [
+ q(2923),
+ q(0),
+ ],
+ q(ims) => [
+ q(2924),
+ q(0),
+ ],
+ q(imy) => [
+ q(2925),
+ q(0),
+ ],
+ q(ina) => [
+ q(0194),
+ q(0),
+ ],
+ q(inb) => [
+ q(2926),
+ q(0),
+ ],
+ q(inc) => [
+ q(0195),
+ q(0),
+ ],
+ q(ind) => [
+ q(0196),
+ q(0),
+ ],
+ q(ine) => [
+ q(0197),
+ q(0),
+ ],
+ q(ing) => [
+ q(2927),
+ q(0),
+ ],
+ q(inh) => [
+ q(0198),
+ q(0),
+ ],
+ q(inj) => [
+ q(2928),
+ q(0),
+ ],
+ q(inl) => [
+ q(2929),
+ q(0),
+ ],
+ q(inm) => [
+ q(2930),
+ q(0),
+ ],
+ q(inn) => [
+ q(2931),
+ q(0),
+ ],
+ q(ino) => [
+ q(2932),
+ q(0),
+ ],
+ q(inp) => [
+ q(2933),
+ q(0),
+ ],
+ q(ins) => [
+ q(2934),
+ q(0),
+ ],
+ q(int) => [
+ q(2935),
+ q(0),
+ ],
+ q(inz) => [
+ q(2936),
+ q(0),
+ ],
+ q(ior) => [
+ q(2937),
+ q(0),
+ ],
+ q(iou) => [
+ q(2938),
+ q(0),
+ ],
+ q(iow) => [
+ q(2939),
+ q(0),
+ ],
+ q(ipi) => [
+ q(2940),
+ q(0),
+ ],
+ q(ipk) => [
+ q(0199),
+ q(0),
+ ],
+ q(ipo) => [
+ q(2941),
+ q(0),
+ ],
+ q(iqu) => [
+ q(2942),
+ q(0),
+ ],
+ q(ira) => [
+ q(0200),
+ q(0),
+ ],
+ q(ire) => [
+ q(2943),
+ q(0),
+ ],
+ q(irh) => [
+ q(2944),
+ q(0),
+ ],
+ q(iri) => [
+ q(2945),
+ q(0),
+ ],
+ q(irk) => [
+ q(2946),
+ q(0),
+ ],
+ q(irn) => [
+ q(2947),
+ q(0),
+ ],
+ q(iro) => [
+ q(0201),
+ q(0),
+ ],
+ q(irr) => [
+ q(2948),
+ q(0),
+ ],
+ q(iru) => [
+ q(2949),
+ q(0),
+ ],
+ q(irx) => [
+ q(2950),
+ q(0),
+ ],
+ q(iry) => [
+ q(2951),
+ q(0),
+ ],
+ q(isa) => [
+ q(2952),
+ q(0),
+ ],
+ q(isc) => [
+ q(2953),
+ q(0),
+ ],
+ q(isd) => [
+ q(2954),
+ q(0),
+ ],
+ q(ise) => [
+ q(2955),
+ q(0),
+ ],
+ q(isg) => [
+ q(2956),
+ q(0),
+ ],
+ q(ish) => [
+ q(2957),
+ q(0),
+ ],
+ q(isi) => [
+ q(2958),
+ q(0),
+ ],
+ q(isk) => [
+ q(2959),
+ q(0),
+ ],
+ q(ism) => [
+ q(2960),
+ q(0),
+ ],
+ q(isn) => [
+ q(2961),
+ q(0),
+ ],
+ q(iso) => [
+ q(2962),
+ q(0),
+ ],
+ q(isr) => [
+ q(2963),
+ q(0),
+ ],
+ q(ist) => [
+ q(2964),
+ q(0),
+ ],
+ q(isu) => [
+ q(2965),
+ q(0),
+ ],
+ q(ita) => [
+ q(0202),
+ q(0),
+ ],
+ q(itb) => [
+ q(2966),
+ q(0),
+ ],
+ q(itc) => [
+ q(0512),
+ q(0),
+ ],
+ q(ite) => [
+ q(2967),
+ q(0),
+ ],
+ q(iti) => [
+ q(2968),
+ q(0),
+ ],
+ q(itk) => [
+ q(2969),
+ q(0),
+ ],
+ q(itl) => [
+ q(2970),
+ q(0),
+ ],
+ q(itm) => [
+ q(2971),
+ q(0),
+ ],
+ q(ito) => [
+ q(2972),
+ q(0),
+ ],
+ q(itr) => [
+ q(2973),
+ q(0),
+ ],
+ q(its) => [
+ q(2974),
+ q(0),
+ ],
+ q(itt) => [
+ q(2975),
+ q(0),
+ ],
+ q(itv) => [
+ q(2976),
+ q(0),
+ ],
+ q(itw) => [
+ q(2977),
+ q(0),
+ ],
+ q(itx) => [
+ q(2978),
+ q(0),
+ ],
+ q(ity) => [
+ q(2979),
+ q(0),
+ ],
+ q(itz) => [
+ q(2980),
+ q(0),
+ ],
+ q(ium) => [
+ q(2981),
+ q(0),
+ ],
+ q(ivb) => [
+ q(2982),
+ q(0),
+ ],
+ q(ivv) => [
+ q(2983),
+ q(0),
+ ],
+ q(iwk) => [
+ q(2984),
+ q(0),
+ ],
+ q(iwm) => [
+ q(2985),
+ q(0),
+ ],
+ q(iwo) => [
+ q(2986),
+ q(0),
+ ],
+ q(iws) => [
+ q(2987),
+ q(0),
+ ],
+ q(ixc) => [
+ q(2988),
+ q(0),
+ ],
+ q(ixl) => [
+ q(2989),
+ q(0),
+ ],
+ q(iya) => [
+ q(2990),
+ q(0),
+ ],
+ q(iyo) => [
+ q(2991),
+ q(0),
+ ],
+ q(iyx) => [
+ q(2992),
+ q(0),
+ ],
+ q(izh) => [
+ q(2993),
+ q(0),
+ ],
+ q(izi) => [
+ q(2994),
+ q(0),
+ ],
+ q(izr) => [
+ q(2995),
+ q(0),
+ ],
+ q(jaa) => [
+ q(2996),
+ q(0),
+ ],
+ q(jab) => [
+ q(2997),
+ q(0),
+ ],
+ q(jac) => [
+ q(2998),
+ q(0),
+ ],
+ q(jad) => [
+ q(2999),
+ q(0),
+ ],
+ q(jae) => [
+ q(3000),
+ q(0),
+ ],
+ q(jaf) => [
+ q(3001),
+ q(0),
+ ],
+ q(jah) => [
+ q(3002),
+ q(0),
+ ],
+ q(jaj) => [
+ q(3003),
+ q(0),
+ ],
+ q(jak) => [
+ q(3004),
+ q(0),
+ ],
+ q(jal) => [
+ q(3005),
+ q(0),
+ ],
+ q(jam) => [
+ q(3006),
+ q(0),
+ ],
+ q(jao) => [
+ q(3007),
+ q(0),
+ ],
+ q(jaq) => [
+ q(3008),
+ q(0),
+ ],
+ q(jar) => [
+ q(3009),
+ q(0),
+ ],
+ q(jas) => [
+ q(3010),
+ q(0),
+ ],
+ q(jat) => [
+ q(3011),
+ q(0),
+ ],
+ q(jau) => [
+ q(3012),
+ q(0),
+ ],
+ q(jav) => [
+ q(0203),
+ q(0),
+ ],
+ q(jax) => [
+ q(3013),
+ q(0),
+ ],
+ q(jay) => [
+ q(3014),
+ q(0),
+ ],
+ q(jaz) => [
+ q(3015),
+ q(0),
+ ],
+ q(jbe) => [
+ q(3016),
+ q(0),
+ ],
+ q(jbj) => [
+ q(3017),
+ q(0),
+ ],
+ q(jbn) => [
+ q(3018),
+ q(0),
+ ],
+ q(jbo) => [
+ q(0204),
+ q(0),
+ ],
+ q(jbr) => [
+ q(3019),
+ q(0),
+ ],
+ q(jbt) => [
+ q(3020),
+ q(0),
+ ],
+ q(jbu) => [
+ q(3021),
+ q(0),
+ ],
+ q(jcs) => [
+ q(3022),
+ q(0),
+ ],
+ q(jct) => [
+ q(3023),
+ q(0),
+ ],
+ q(jda) => [
+ q(3024),
+ q(0),
+ ],
+ q(jdg) => [
+ q(3025),
+ q(0),
+ ],
+ q(jdt) => [
+ q(3026),
+ q(0),
+ ],
+ q(jeb) => [
+ q(3027),
+ q(0),
+ ],
+ q(jee) => [
+ q(3028),
+ q(0),
+ ],
+ q(jeg) => [
+ q(3029),
+ q(0),
+ ],
+ q(jeh) => [
+ q(3030),
+ q(0),
+ ],
+ q(jei) => [
+ q(3031),
+ q(0),
+ ],
+ q(jek) => [
+ q(3032),
+ q(0),
+ ],
+ q(jel) => [
+ q(3033),
+ q(0),
+ ],
+ q(jen) => [
+ q(3034),
+ q(0),
+ ],
+ q(jer) => [
+ q(3035),
+ q(0),
+ ],
+ q(jet) => [
+ q(3036),
+ q(0),
+ ],
+ q(jeu) => [
+ q(3037),
+ q(0),
+ ],
+ q(jgb) => [
+ q(3038),
+ q(0),
+ ],
+ q(jge) => [
+ q(3039),
+ q(0),
+ ],
+ q(jgo) => [
+ q(3040),
+ q(0),
+ ],
+ q(jhi) => [
+ q(3041),
+ q(0),
+ ],
+ q(jhs) => [
+ q(3042),
+ q(0),
+ ],
+ q(jia) => [
+ q(3043),
+ q(0),
+ ],
+ q(jib) => [
+ q(3044),
+ q(0),
+ ],
+ q(jic) => [
+ q(3045),
+ q(0),
+ ],
+ q(jid) => [
+ q(3046),
+ q(0),
+ ],
+ q(jie) => [
+ q(3047),
+ q(0),
+ ],
+ q(jig) => [
+ q(3048),
+ q(0),
+ ],
+ q(jih) => [
+ q(3049),
+ q(0),
+ ],
+ q(jii) => [
+ q(3050),
+ q(0),
+ ],
+ q(jil) => [
+ q(3051),
+ q(0),
+ ],
+ q(jim) => [
+ q(3052),
+ q(0),
+ ],
+ q(jio) => [
+ q(3053),
+ q(0),
+ ],
+ q(jiq) => [
+ q(3054),
+ q(0),
+ ],
+ q(jit) => [
+ q(3055),
+ q(0),
+ ],
+ q(jiu) => [
+ q(3056),
+ q(0),
+ ],
+ q(jiv) => [
+ q(3057),
+ q(0),
+ ],
+ q(jiy) => [
+ q(3058),
+ q(0),
+ ],
+ q(jko) => [
+ q(3059),
+ q(0),
+ ],
+ q(jku) => [
+ q(3060),
+ q(0),
+ ],
+ q(jle) => [
+ q(3061),
+ q(0),
+ ],
+ q(jls) => [
+ q(3062),
+ q(0),
+ ],
+ q(jma) => [
+ q(3063),
+ q(0),
+ ],
+ q(jmb) => [
+ q(3064),
+ q(0),
+ ],
+ q(jmc) => [
+ q(3065),
+ q(0),
+ ],
+ q(jmd) => [
+ q(3066),
+ q(0),
+ ],
+ q(jmi) => [
+ q(3067),
+ q(0),
+ ],
+ q(jml) => [
+ q(3068),
+ q(0),
+ ],
+ q(jmn) => [
+ q(3069),
+ q(0),
+ ],
+ q(jmr) => [
+ q(3070),
+ q(0),
+ ],
+ q(jms) => [
+ q(3071),
+ q(0),
+ ],
+ q(jmx) => [
+ q(3072),
+ q(0),
+ ],
+ q(jna) => [
+ q(3073),
+ q(0),
+ ],
+ q(jnd) => [
+ q(3074),
+ q(0),
+ ],
+ q(jng) => [
+ q(3075),
+ q(0),
+ ],
+ q(jni) => [
+ q(3076),
+ q(0),
+ ],
+ q(jnj) => [
+ q(3077),
+ q(0),
+ ],
+ q(jnl) => [
+ q(3078),
+ q(0),
+ ],
+ q(jns) => [
+ q(3079),
+ q(0),
+ ],
+ q(job) => [
+ q(3080),
+ q(0),
+ ],
+ q(jod) => [
+ q(3081),
+ q(0),
+ ],
+ q(jor) => [
+ q(3082),
+ q(0),
+ ],
+ q(jos) => [
+ q(3083),
+ q(0),
+ ],
+ q(jow) => [
+ q(3084),
+ q(0),
+ ],
+ q(jpa) => [
+ q(3085),
+ q(0),
+ ],
+ q(jpn) => [
+ q(0205),
+ q(0),
+ ],
+ q(jpr) => [
+ q(0206),
+ q(0),
+ ],
+ q(jpx) => [
+ q(0513),
+ q(0),
+ ],
+ q(jqr) => [
+ q(3086),
+ q(0),
+ ],
+ q(jra) => [
+ q(3087),
+ q(0),
+ ],
+ q(jrb) => [
+ q(0207),
+ q(0),
+ ],
+ q(jrr) => [
+ q(3088),
+ q(0),
+ ],
+ q(jrt) => [
+ q(3089),
+ q(0),
+ ],
+ q(jru) => [
+ q(3090),
+ q(0),
+ ],
+ q(jsl) => [
+ q(3091),
+ q(0),
+ ],
+ q(jua) => [
+ q(3092),
+ q(0),
+ ],
+ q(jub) => [
+ q(3093),
+ q(0),
+ ],
+ q(juc) => [
+ q(3094),
+ q(0),
+ ],
+ q(jud) => [
+ q(3095),
+ q(0),
+ ],
+ q(juh) => [
+ q(3096),
+ q(0),
+ ],
+ q(juk) => [
+ q(3097),
+ q(0),
+ ],
+ q(jul) => [
+ q(3098),
+ q(0),
+ ],
+ q(jum) => [
+ q(3099),
+ q(0),
+ ],
+ q(jun) => [
+ q(3100),
+ q(0),
+ ],
+ q(juo) => [
+ q(3101),
+ q(0),
+ ],
+ q(jup) => [
+ q(3102),
+ q(0),
+ ],
+ q(jur) => [
+ q(3103),
+ q(0),
+ ],
+ q(jus) => [
+ q(3104),
+ q(0),
+ ],
+ q(jut) => [
+ q(3105),
+ q(0),
+ ],
+ q(juu) => [
+ q(3106),
+ q(0),
+ ],
+ q(juw) => [
+ q(3107),
+ q(0),
+ ],
+ q(juy) => [
+ q(3108),
+ q(0),
+ ],
+ q(jvd) => [
+ q(3109),
+ q(0),
+ ],
+ q(jvn) => [
+ q(3110),
+ q(0),
+ ],
+ q(jwi) => [
+ q(3111),
+ q(0),
+ ],
+ q(jya) => [
+ q(3112),
+ q(0),
+ ],
+ q(jye) => [
+ q(3113),
+ q(0),
+ ],
+ q(jyy) => [
+ q(3114),
+ q(0),
+ ],
+ q(kaa) => [
+ q(0208),
+ q(0),
+ ],
+ q(kab) => [
+ q(0209),
+ q(0),
+ ],
+ q(kac) => [
+ q(0210),
+ q(0),
+ ],
+ q(kad) => [
+ q(3115),
+ q(0),
+ ],
+ q(kae) => [
+ q(3116),
+ q(0),
+ ],
+ q(kaf) => [
+ q(3117),
+ q(0),
+ ],
+ q(kag) => [
+ q(3118),
+ q(0),
+ ],
+ q(kah) => [
+ q(3119),
+ q(0),
+ ],
+ q(kai) => [
+ q(3120),
+ q(0),
+ ],
+ q(kaj) => [
+ q(3121),
+ q(0),
+ ],
+ q(kak) => [
+ q(3122),
+ q(0),
+ ],
+ q(kal) => [
+ q(0211),
+ q(0),
+ ],
+ q(kam) => [
+ q(0212),
+ q(1),
+ ],
+ q(kan) => [
+ q(0213),
+ q(0),
+ ],
+ q(kao) => [
+ q(3123),
+ q(0),
+ ],
+ q(kap) => [
+ q(3124),
+ q(0),
+ ],
+ q(kaq) => [
+ q(3125),
+ q(0),
+ ],
+ q(kar) => [
+ q(0214),
+ q(0),
+ ],
+ q(kas) => [
+ q(0215),
+ q(0),
+ ],
+ q(kau) => [
+ q(0216),
+ q(0),
+ ],
+ q(kav) => [
+ q(3126),
+ q(0),
+ ],
+ q(kaw) => [
+ q(0217),
+ q(0),
+ ],
+ q(kax) => [
+ q(3127),
+ q(0),
+ ],
+ q(kay) => [
+ q(3128),
+ q(0),
+ ],
+ q(kaz) => [
+ q(0218),
+ q(0),
+ ],
+ q(kba) => [
+ q(3129),
+ q(0),
+ ],
+ q(kbb) => [
+ q(3130),
+ q(0),
+ ],
+ q(kbc) => [
+ q(3131),
+ q(0),
+ ],
+ q(kbd) => [
+ q(0219),
+ q(0),
+ ],
+ q(kbe) => [
+ q(3132),
+ q(0),
+ ],
+ q(kbf) => [
+ q(3133),
+ q(0),
+ ],
+ q(kbg) => [
+ q(3134),
+ q(0),
+ ],
+ q(kbh) => [
+ q(3135),
+ q(0),
+ ],
+ q(kbi) => [
+ q(3136),
+ q(0),
+ ],
+ q(kbj) => [
+ q(3137),
+ q(0),
+ ],
+ q(kbk) => [
+ q(3138),
+ q(0),
+ ],
+ q(kbl) => [
+ q(3139),
+ q(0),
+ ],
+ q(kbm) => [
+ q(3140),
+ q(0),
+ ],
+ q(kbn) => [
+ q(3141),
+ q(0),
+ ],
+ q(kbo) => [
+ q(3142),
+ q(0),
+ ],
+ q(kbp) => [
+ q(3143),
+ q(0),
+ ],
+ q(kbq) => [
+ q(3144),
+ q(0),
+ ],
+ q(kbr) => [
+ q(3145),
+ q(0),
+ ],
+ q(kbs) => [
+ q(3146),
+ q(0),
+ ],
+ q(kbt) => [
+ q(3147),
+ q(0),
+ ],
+ q(kbu) => [
+ q(3148),
+ q(0),
+ ],
+ q(kbv) => [
+ q(3149),
+ q(0),
+ ],
+ q(kbw) => [
+ q(3150),
+ q(0),
+ ],
+ q(kbx) => [
+ q(3151),
+ q(0),
+ ],
+ q(kby) => [
+ q(3152),
+ q(0),
+ ],
+ q(kbz) => [
+ q(3153),
+ q(0),
+ ],
+ q(kca) => [
+ q(3154),
+ q(0),
+ ],
+ q(kcb) => [
+ q(3155),
+ q(0),
+ ],
+ q(kcc) => [
+ q(3156),
+ q(0),
+ ],
+ q(kcd) => [
+ q(3157),
+ q(0),
+ ],
+ q(kce) => [
+ q(3158),
+ q(0),
+ ],
+ q(kcf) => [
+ q(3159),
+ q(0),
+ ],
+ q(kcg) => [
+ q(3160),
+ q(0),
+ ],
+ q(kch) => [
+ q(3161),
+ q(0),
+ ],
+ q(kci) => [
+ q(3162),
+ q(0),
+ ],
+ q(kcj) => [
+ q(3163),
+ q(0),
+ ],
+ q(kck) => [
+ q(3164),
+ q(0),
+ ],
+ q(kcl) => [
+ q(3165),
+ q(0),
+ ],
+ q(kcm) => [
+ q(3166),
+ q(0),
+ ],
+ q(kcn) => [
+ q(3167),
+ q(0),
+ ],
+ q(kco) => [
+ q(3168),
+ q(0),
+ ],
+ q(kcp) => [
+ q(3169),
+ q(0),
+ ],
+ q(kcq) => [
+ q(3170),
+ q(0),
+ ],
+ q(kcr) => [
+ q(3171),
+ q(0),
+ ],
+ q(kcs) => [
+ q(3172),
+ q(0),
+ ],
+ q(kct) => [
+ q(3173),
+ q(0),
+ ],
+ q(kcu) => [
+ q(3174),
+ q(0),
+ ],
+ q(kcv) => [
+ q(3175),
+ q(0),
+ ],
+ q(kcw) => [
+ q(3176),
+ q(0),
+ ],
+ q(kcx) => [
+ q(3177),
+ q(0),
+ ],
+ q(kcy) => [
+ q(3178),
+ q(0),
+ ],
+ q(kcz) => [
+ q(3179),
+ q(0),
+ ],
+ q(kda) => [
+ q(3180),
+ q(0),
+ ],
+ q(kdc) => [
+ q(3181),
+ q(0),
+ ],
+ q(kdd) => [
+ q(3182),
+ q(0),
+ ],
+ q(kde) => [
+ q(3183),
+ q(0),
+ ],
+ q(kdf) => [
+ q(3184),
+ q(0),
+ ],
+ q(kdg) => [
+ q(3185),
+ q(0),
+ ],
+ q(kdh) => [
+ q(3186),
+ q(0),
+ ],
+ q(kdi) => [
+ q(3187),
+ q(0),
+ ],
+ q(kdj) => [
+ q(3188),
+ q(0),
+ ],
+ q(kdk) => [
+ q(3189),
+ q(0),
+ ],
+ q(kdl) => [
+ q(3190),
+ q(0),
+ ],
+ q(kdm) => [
+ q(3191),
+ q(0),
+ ],
+ q(kdn) => [
+ q(3192),
+ q(0),
+ ],
+ q(kdo) => [
+ q(0514),
+ q(0),
+ ],
+ q(kdp) => [
+ q(3193),
+ q(0),
+ ],
+ q(kdq) => [
+ q(3194),
+ q(0),
+ ],
+ q(kdr) => [
+ q(3195),
+ q(0),
+ ],
+ q(kdt) => [
+ q(3196),
+ q(0),
+ ],
+ q(kdu) => [
+ q(3197),
+ q(0),
+ ],
+ q(kdv) => [
+ q(3198),
+ q(0),
+ ],
+ q(kdw) => [
+ q(3199),
+ q(0),
+ ],
+ q(kdx) => [
+ q(3200),
+ q(0),
+ ],
+ q(kdy) => [
+ q(3201),
+ q(0),
+ ],
+ q(kdz) => [
+ q(3202),
+ q(0),
+ ],
+ q(kea) => [
+ q(3203),
+ q(0),
+ ],
+ q(keb) => [
+ q(3204),
+ q(0),
+ ],
+ q(kec) => [
+ q(3205),
+ q(0),
+ ],
+ q(ked) => [
+ q(3206),
+ q(0),
+ ],
+ q(kee) => [
+ q(3207),
+ q(0),
+ ],
+ q(kef) => [
+ q(3208),
+ q(0),
+ ],
+ q(keg) => [
+ q(3209),
+ q(0),
+ ],
+ q(keh) => [
+ q(3210),
+ q(0),
+ ],
+ q(kei) => [
+ q(3211),
+ q(0),
+ ],
+ q(kej) => [
+ q(3212),
+ q(0),
+ ],
+ q(kek) => [
+ q(3213),
+ q(0),
+ ],
+ q(kel) => [
+ q(3214),
+ q(0),
+ ],
+ q(kem) => [
+ q(3215),
+ q(0),
+ ],
+ q(ken) => [
+ q(3216),
+ q(0),
+ ],
+ q(keo) => [
+ q(3217),
+ q(0),
+ ],
+ q(kep) => [
+ q(3218),
+ q(0),
+ ],
+ q(keq) => [
+ q(3219),
+ q(0),
+ ],
+ q(ker) => [
+ q(3220),
+ q(0),
+ ],
+ q(kes) => [
+ q(3221),
+ q(0),
+ ],
+ q(ket) => [
+ q(3222),
+ q(0),
+ ],
+ q(keu) => [
+ q(3223),
+ q(0),
+ ],
+ q(kev) => [
+ q(3224),
+ q(0),
+ ],
+ q(kew) => [
+ q(3225),
+ q(0),
+ ],
+ q(kex) => [
+ q(3226),
+ q(0),
+ ],
+ q(key) => [
+ q(3227),
+ q(0),
+ ],
+ q(kez) => [
+ q(3228),
+ q(0),
+ ],
+ q(kfa) => [
+ q(3229),
+ q(0),
+ ],
+ q(kfb) => [
+ q(3230),
+ q(0),
+ ],
+ q(kfc) => [
+ q(3231),
+ q(0),
+ ],
+ q(kfd) => [
+ q(3232),
+ q(0),
+ ],
+ q(kfe) => [
+ q(3233),
+ q(0),
+ ],
+ q(kff) => [
+ q(3234),
+ q(0),
+ ],
+ q(kfg) => [
+ q(3235),
+ q(0),
+ ],
+ q(kfh) => [
+ q(3236),
+ q(0),
+ ],
+ q(kfi) => [
+ q(3237),
+ q(0),
+ ],
+ q(kfj) => [
+ q(3238),
+ q(0),
+ ],
+ q(kfk) => [
+ q(3239),
+ q(0),
+ ],
+ q(kfl) => [
+ q(3240),
+ q(0),
+ ],
+ q(kfm) => [
+ q(3241),
+ q(0),
+ ],
+ q(kfn) => [
+ q(3242),
+ q(0),
+ ],
+ q(kfo) => [
+ q(3243),
+ q(0),
+ ],
+ q(kfp) => [
+ q(3244),
+ q(0),
+ ],
+ q(kfq) => [
+ q(3245),
+ q(0),
+ ],
+ q(kfr) => [
+ q(3246),
+ q(0),
+ ],
+ q(kfs) => [
+ q(3247),
+ q(0),
+ ],
+ q(kft) => [
+ q(3248),
+ q(0),
+ ],
+ q(kfu) => [
+ q(3249),
+ q(0),
+ ],
+ q(kfv) => [
+ q(3250),
+ q(0),
+ ],
+ q(kfw) => [
+ q(3251),
+ q(0),
+ ],
+ q(kfx) => [
+ q(3252),
+ q(0),
+ ],
+ q(kfy) => [
+ q(3253),
+ q(0),
+ ],
+ q(kfz) => [
+ q(3254),
+ q(0),
+ ],
+ q(kga) => [
+ q(3255),
+ q(0),
+ ],
+ q(kgb) => [
+ q(3256),
+ q(0),
+ ],
+ q(kgc) => [
+ q(3257),
+ q(0),
+ ],
+ q(kgd) => [
+ q(3258),
+ q(0),
+ ],
+ q(kge) => [
+ q(3259),
+ q(0),
+ ],
+ q(kgf) => [
+ q(3260),
+ q(0),
+ ],
+ q(kgg) => [
+ q(3261),
+ q(0),
+ ],
+ q(kgh) => [
+ q(3262),
+ q(0),
+ ],
+ q(kgi) => [
+ q(3263),
+ q(0),
+ ],
+ q(kgj) => [
+ q(3264),
+ q(0),
+ ],
+ q(kgk) => [
+ q(3265),
+ q(0),
+ ],
+ q(kgl) => [
+ q(3266),
+ q(0),
+ ],
+ q(kgm) => [
+ q(3267),
+ q(0),
+ ],
+ q(kgn) => [
+ q(3268),
+ q(0),
+ ],
+ q(kgo) => [
+ q(3269),
+ q(0),
+ ],
+ q(kgp) => [
+ q(3270),
+ q(0),
+ ],
+ q(kgq) => [
+ q(3271),
+ q(0),
+ ],
+ q(kgr) => [
+ q(3272),
+ q(0),
+ ],
+ q(kgs) => [
+ q(3273),
+ q(0),
+ ],
+ q(kgt) => [
+ q(3274),
+ q(0),
+ ],
+ q(kgu) => [
+ q(3275),
+ q(0),
+ ],
+ q(kgv) => [
+ q(3276),
+ q(0),
+ ],
+ q(kgw) => [
+ q(3277),
+ q(0),
+ ],
+ q(kgx) => [
+ q(3278),
+ q(0),
+ ],
+ q(kgy) => [
+ q(3279),
+ q(0),
+ ],
+ q(kha) => [
+ q(0220),
+ q(0),
+ ],
+ q(khb) => [
+ q(3280),
+ q(0),
+ ],
+ q(khc) => [
+ q(3281),
+ q(0),
+ ],
+ q(khd) => [
+ q(3282),
+ q(0),
+ ],
+ q(khe) => [
+ q(3283),
+ q(0),
+ ],
+ q(khf) => [
+ q(3284),
+ q(0),
+ ],
+ q(khg) => [
+ q(3285),
+ q(0),
+ ],
+ q(khh) => [
+ q(3286),
+ q(0),
+ ],
+ q(khi) => [
+ q(0221),
+ q(0),
+ ],
+ q(khj) => [
+ q(3287),
+ q(0),
+ ],
+ q(khk) => [
+ q(3288),
+ q(0),
+ ],
+ q(khl) => [
+ q(3289),
+ q(0),
+ ],
+ q(khm) => [
+ q(0222),
+ q(0),
+ ],
+ q(khn) => [
+ q(3290),
+ q(0),
+ ],
+ q(kho) => [
+ q(0223),
+ q(0),
+ ],
+ q(khp) => [
+ q(3291),
+ q(0),
+ ],
+ q(khq) => [
+ q(3292),
+ q(0),
+ ],
+ q(khr) => [
+ q(3293),
+ q(0),
+ ],
+ q(khs) => [
+ q(3294),
+ q(0),
+ ],
+ q(kht) => [
+ q(3295),
+ q(0),
+ ],
+ q(khu) => [
+ q(3296),
+ q(0),
+ ],
+ q(khv) => [
+ q(3297),
+ q(0),
+ ],
+ q(khw) => [
+ q(3298),
+ q(0),
+ ],
+ q(khx) => [
+ q(3299),
+ q(0),
+ ],
+ q(khy) => [
+ q(3300),
+ q(0),
+ ],
+ q(khz) => [
+ q(3301),
+ q(0),
+ ],
+ q(kia) => [
+ q(3302),
+ q(0),
+ ],
+ q(kib) => [
+ q(3303),
+ q(0),
+ ],
+ q(kic) => [
+ q(3304),
+ q(0),
+ ],
+ q(kid) => [
+ q(3305),
+ q(0),
+ ],
+ q(kie) => [
+ q(3306),
+ q(0),
+ ],
+ q(kif) => [
+ q(3307),
+ q(0),
+ ],
+ q(kig) => [
+ q(3308),
+ q(0),
+ ],
+ q(kih) => [
+ q(3309),
+ q(0),
+ ],
+ q(kii) => [
+ q(3310),
+ q(0),
+ ],
+ q(kij) => [
+ q(3311),
+ q(0),
+ ],
+ q(kik) => [
+ q(0224),
+ q(0),
+ ],
+ q(kil) => [
+ q(3312),
+ q(0),
+ ],
+ q(kim) => [
+ q(3313),
+ q(0),
+ ],
+ q(kin) => [
+ q(0225),
+ q(0),
+ ],
+ q(kio) => [
+ q(3314),
+ q(0),
+ ],
+ q(kip) => [
+ q(3315),
+ q(0),
+ ],
+ q(kiq) => [
+ q(3316),
+ q(0),
+ ],
+ q(kir) => [
+ q(0226),
+ q(0),
+ ],
+ q(kis) => [
+ q(3317),
+ q(0),
+ ],
+ q(kit) => [
+ q(3318),
+ q(0),
+ ],
+ q(kiu) => [
+ q(3319),
+ q(0),
+ ],
+ q(kiv) => [
+ q(3320),
+ q(0),
+ ],
+ q(kiw) => [
+ q(3321),
+ q(0),
+ ],
+ q(kix) => [
+ q(3322),
+ q(0),
+ ],
+ q(kiy) => [
+ q(3323),
+ q(0),
+ ],
+ q(kiz) => [
+ q(3324),
+ q(0),
+ ],
+ q(kja) => [
+ q(3325),
+ q(0),
+ ],
+ q(kjb) => [
+ q(3326),
+ q(0),
+ ],
+ q(kjc) => [
+ q(3327),
+ q(0),
+ ],
+ q(kjd) => [
+ q(3328),
+ q(0),
+ ],
+ q(kje) => [
+ q(3329),
+ q(0),
+ ],
+ q(kjf) => [
+ q(3330),
+ q(0),
+ ],
+ q(kjg) => [
+ q(3331),
+ q(0),
+ ],
+ q(kjh) => [
+ q(3332),
+ q(0),
+ ],
+ q(kji) => [
+ q(3333),
+ q(0),
+ ],
+ q(kjj) => [
+ q(3334),
+ q(0),
+ ],
+ q(kjk) => [
+ q(3335),
+ q(0),
+ ],
+ q(kjl) => [
+ q(3336),
+ q(0),
+ ],
+ q(kjm) => [
+ q(3337),
+ q(0),
+ ],
+ q(kjn) => [
+ q(3338),
+ q(0),
+ ],
+ q(kjo) => [
+ q(3339),
+ q(0),
+ ],
+ q(kjp) => [
+ q(3340),
+ q(0),
+ ],
+ q(kjq) => [
+ q(3341),
+ q(0),
+ ],
+ q(kjr) => [
+ q(3342),
+ q(0),
+ ],
+ q(kjs) => [
+ q(3343),
+ q(0),
+ ],
+ q(kjt) => [
+ q(3344),
+ q(0),
+ ],
+ q(kju) => [
+ q(3345),
+ q(0),
+ ],
+ q(kjx) => [
+ q(3346),
+ q(0),
+ ],
+ q(kjy) => [
+ q(3347),
+ q(0),
+ ],
+ q(kjz) => [
+ q(3348),
+ q(0),
+ ],
+ q(kka) => [
+ q(3349),
+ q(0),
+ ],
+ q(kkb) => [
+ q(3350),
+ q(0),
+ ],
+ q(kkc) => [
+ q(3351),
+ q(0),
+ ],
+ q(kkd) => [
+ q(3352),
+ q(0),
+ ],
+ q(kke) => [
+ q(3353),
+ q(0),
+ ],
+ q(kkf) => [
+ q(3354),
+ q(0),
+ ],
+ q(kkg) => [
+ q(3355),
+ q(0),
+ ],
+ q(kkh) => [
+ q(3356),
+ q(0),
+ ],
+ q(kki) => [
+ q(3357),
+ q(0),
+ ],
+ q(kkj) => [
+ q(3358),
+ q(0),
+ ],
+ q(kkk) => [
+ q(3359),
+ q(0),
+ ],
+ q(kkl) => [
+ q(3360),
+ q(0),
+ ],
+ q(kkm) => [
+ q(3361),
+ q(0),
+ ],
+ q(kkn) => [
+ q(3362),
+ q(0),
+ ],
+ q(kko) => [
+ q(3363),
+ q(0),
+ ],
+ q(kkp) => [
+ q(3364),
+ q(0),
+ ],
+ q(kkq) => [
+ q(3365),
+ q(0),
+ ],
+ q(kkr) => [
+ q(3366),
+ q(0),
+ ],
+ q(kks) => [
+ q(3367),
+ q(0),
+ ],
+ q(kkt) => [
+ q(3368),
+ q(0),
+ ],
+ q(kku) => [
+ q(3369),
+ q(0),
+ ],
+ q(kkv) => [
+ q(3370),
+ q(0),
+ ],
+ q(kkw) => [
+ q(3371),
+ q(0),
+ ],
+ q(kkx) => [
+ q(3372),
+ q(0),
+ ],
+ q(kky) => [
+ q(3373),
+ q(0),
+ ],
+ q(kkz) => [
+ q(3374),
+ q(0),
+ ],
+ q(kla) => [
+ q(3375),
+ q(0),
+ ],
+ q(klb) => [
+ q(3376),
+ q(0),
+ ],
+ q(klc) => [
+ q(3377),
+ q(0),
+ ],
+ q(kld) => [
+ q(3378),
+ q(0),
+ ],
+ q(kle) => [
+ q(3379),
+ q(0),
+ ],
+ q(klf) => [
+ q(3380),
+ q(0),
+ ],
+ q(klg) => [
+ q(3381),
+ q(0),
+ ],
+ q(klh) => [
+ q(3382),
+ q(0),
+ ],
+ q(kli) => [
+ q(3383),
+ q(0),
+ ],
+ q(klj) => [
+ q(3384),
+ q(0),
+ ],
+ q(klk) => [
+ q(3385),
+ q(0),
+ ],
+ q(kll) => [
+ q(3386),
+ q(0),
+ ],
+ q(klm) => [
+ q(3387),
+ q(0),
+ ],
+ q(kln) => [
+ q(3388),
+ q(0),
+ ],
+ q(klo) => [
+ q(3389),
+ q(0),
+ ],
+ q(klp) => [
+ q(3390),
+ q(0),
+ ],
+ q(klq) => [
+ q(3391),
+ q(0),
+ ],
+ q(klr) => [
+ q(3392),
+ q(0),
+ ],
+ q(kls) => [
+ q(3393),
+ q(0),
+ ],
+ q(klt) => [
+ q(3394),
+ q(0),
+ ],
+ q(klu) => [
+ q(3395),
+ q(0),
+ ],
+ q(klv) => [
+ q(3396),
+ q(0),
+ ],
+ q(klw) => [
+ q(3397),
+ q(0),
+ ],
+ q(klx) => [
+ q(3398),
+ q(0),
+ ],
+ q(kly) => [
+ q(3399),
+ q(0),
+ ],
+ q(klz) => [
+ q(3400),
+ q(0),
+ ],
+ q(kma) => [
+ q(3401),
+ q(0),
+ ],
+ q(kmb) => [
+ q(0227),
+ q(0),
+ ],
+ q(kmc) => [
+ q(3402),
+ q(0),
+ ],
+ q(kmd) => [
+ q(3403),
+ q(0),
+ ],
+ q(kme) => [
+ q(3404),
+ q(0),
+ ],
+ q(kmf) => [
+ q(3405),
+ q(0),
+ ],
+ q(kmg) => [
+ q(3406),
+ q(0),
+ ],
+ q(kmh) => [
+ q(3407),
+ q(0),
+ ],
+ q(kmi) => [
+ q(3408),
+ q(0),
+ ],
+ q(kmj) => [
+ q(3409),
+ q(0),
+ ],
+ q(kmk) => [
+ q(3410),
+ q(0),
+ ],
+ q(kml) => [
+ q(3411),
+ q(0),
+ ],
+ q(kmm) => [
+ q(3412),
+ q(0),
+ ],
+ q(kmn) => [
+ q(3413),
+ q(0),
+ ],
+ q(kmo) => [
+ q(3414),
+ q(0),
+ ],
+ q(kmp) => [
+ q(3415),
+ q(0),
+ ],
+ q(kmq) => [
+ q(3416),
+ q(0),
+ ],
+ q(kmr) => [
+ q(3417),
+ q(0),
+ ],
+ q(kms) => [
+ q(3418),
+ q(0),
+ ],
+ q(kmt) => [
+ q(3419),
+ q(0),
+ ],
+ q(kmu) => [
+ q(3420),
+ q(0),
+ ],
+ q(kmv) => [
+ q(3421),
+ q(0),
+ ],
+ q(kmw) => [
+ q(3422),
+ q(0),
+ ],
+ q(kmx) => [
+ q(3423),
+ q(0),
+ ],
+ q(kmy) => [
+ q(3424),
+ q(0),
+ ],
+ q(kmz) => [
+ q(3425),
+ q(0),
+ ],
+ q(kna) => [
+ q(3426),
+ q(0),
+ ],
+ q(knb) => [
+ q(3427),
+ q(0),
+ ],
+ q(knc) => [
+ q(3428),
+ q(0),
+ ],
+ q(knd) => [
+ q(3429),
+ q(0),
+ ],
+ q(kne) => [
+ q(3430),
+ q(0),
+ ],
+ q(knf) => [
+ q(3431),
+ q(0),
+ ],
+ q(kng) => [
+ q(3432),
+ q(0),
+ ],
+ q(kni) => [
+ q(3433),
+ q(0),
+ ],
+ q(knj) => [
+ q(3434),
+ q(0),
+ ],
+ q(knk) => [
+ q(3435),
+ q(0),
+ ],
+ q(knl) => [
+ q(3436),
+ q(0),
+ ],
+ q(knm) => [
+ q(3437),
+ q(0),
+ ],
+ q(knn) => [
+ q(3438),
+ q(0),
+ ],
+ q(kno) => [
+ q(3439),
+ q(0),
+ ],
+ q(knp) => [
+ q(3440),
+ q(0),
+ ],
+ q(knq) => [
+ q(3441),
+ q(0),
+ ],
+ q(knr) => [
+ q(3442),
+ q(0),
+ ],
+ q(kns) => [
+ q(3443),
+ q(0),
+ ],
+ q(knt) => [
+ q(3444),
+ q(0),
+ ],
+ q(knu) => [
+ q(3445),
+ q(0),
+ ],
+ q(knv) => [
+ q(3446),
+ q(0),
+ ],
+ q(knw) => [
+ q(3447),
+ q(0),
+ ],
+ q(knx) => [
+ q(3448),
+ q(0),
+ ],
+ q(kny) => [
+ q(3449),
+ q(0),
+ ],
+ q(knz) => [
+ q(3450),
+ q(0),
+ ],
+ q(koa) => [
+ q(3451),
+ q(0),
+ ],
+ q(koc) => [
+ q(3452),
+ q(0),
+ ],
+ q(kod) => [
+ q(3453),
+ q(0),
+ ],
+ q(koe) => [
+ q(3454),
+ q(0),
+ ],
+ q(kof) => [
+ q(3455),
+ q(0),
+ ],
+ q(kog) => [
+ q(3456),
+ q(0),
+ ],
+ q(koh) => [
+ q(3457),
+ q(0),
+ ],
+ q(koi) => [
+ q(3458),
+ q(0),
+ ],
+ q(koj) => [
+ q(3459),
+ q(0),
+ ],
+ q(kok) => [
+ q(0228),
+ q(1),
+ ],
+ q(kol) => [
+ q(3460),
+ q(0),
+ ],
+ q(kom) => [
+ q(0229),
+ q(0),
+ ],
+ q(kon) => [
+ q(0230),
+ q(0),
+ ],
+ q(koo) => [
+ q(3461),
+ q(0),
+ ],
+ q(kop) => [
+ q(3462),
+ q(0),
+ ],
+ q(koq) => [
+ q(3463),
+ q(0),
+ ],
+ q(kor) => [
+ q(0231),
+ q(0),
+ ],
+ q(kos) => [
+ q(0232),
+ q(0),
+ ],
+ q(kot) => [
+ q(3464),
+ q(0),
+ ],
+ q(kou) => [
+ q(3465),
+ q(0),
+ ],
+ q(kov) => [
+ q(3466),
+ q(0),
+ ],
+ q(kow) => [
+ q(3467),
+ q(0),
+ ],
+ q(kox) => [
+ q(3468),
+ q(0),
+ ],
+ q(koy) => [
+ q(3469),
+ q(0),
+ ],
+ q(koz) => [
+ q(3470),
+ q(0),
+ ],
+ q(kpa) => [
+ q(3471),
+ q(0),
+ ],
+ q(kpb) => [
+ q(3472),
+ q(0),
+ ],
+ q(kpc) => [
+ q(3473),
+ q(0),
+ ],
+ q(kpd) => [
+ q(3474),
+ q(0),
+ ],
+ q(kpe) => [
+ q(0233),
+ q(0),
+ ],
+ q(kpf) => [
+ q(3475),
+ q(0),
+ ],
+ q(kpg) => [
+ q(3476),
+ q(0),
+ ],
+ q(kph) => [
+ q(3477),
+ q(0),
+ ],
+ q(kpi) => [
+ q(3478),
+ q(0),
+ ],
+ q(kpj) => [
+ q(3479),
+ q(0),
+ ],
+ q(kpk) => [
+ q(3480),
+ q(0),
+ ],
+ q(kpl) => [
+ q(3481),
+ q(0),
+ ],
+ q(kpm) => [
+ q(3482),
+ q(0),
+ ],
+ q(kpn) => [
+ q(3483),
+ q(0),
+ ],
+ q(kpo) => [
+ q(3484),
+ q(0),
+ ],
+ q(kpp) => [
+ q(3485),
+ q(0),
+ ],
+ q(kpq) => [
+ q(3486),
+ q(0),
+ ],
+ q(kpr) => [
+ q(3487),
+ q(0),
+ ],
+ q(kps) => [
+ q(3488),
+ q(0),
+ ],
+ q(kpt) => [
+ q(3489),
+ q(0),
+ ],
+ q(kpu) => [
+ q(3490),
+ q(0),
+ ],
+ q(kpv) => [
+ q(3491),
+ q(0),
+ ],
+ q(kpw) => [
+ q(3492),
+ q(0),
+ ],
+ q(kpx) => [
+ q(3493),
+ q(0),
+ ],
+ q(kpy) => [
+ q(3494),
+ q(0),
+ ],
+ q(kpz) => [
+ q(3495),
+ q(0),
+ ],
+ q(kqa) => [
+ q(3496),
+ q(0),
+ ],
+ q(kqb) => [
+ q(3497),
+ q(0),
+ ],
+ q(kqc) => [
+ q(3498),
+ q(0),
+ ],
+ q(kqd) => [
+ q(3499),
+ q(0),
+ ],
+ q(kqe) => [
+ q(3500),
+ q(0),
+ ],
+ q(kqf) => [
+ q(3501),
+ q(0),
+ ],
+ q(kqg) => [
+ q(3502),
+ q(0),
+ ],
+ q(kqh) => [
+ q(3503),
+ q(0),
+ ],
+ q(kqi) => [
+ q(3504),
+ q(0),
+ ],
+ q(kqj) => [
+ q(3505),
+ q(0),
+ ],
+ q(kqk) => [
+ q(3506),
+ q(0),
+ ],
+ q(kql) => [
+ q(3507),
+ q(0),
+ ],
+ q(kqm) => [
+ q(3508),
+ q(0),
+ ],
+ q(kqn) => [
+ q(3509),
+ q(0),
+ ],
+ q(kqo) => [
+ q(3510),
+ q(0),
+ ],
+ q(kqp) => [
+ q(3511),
+ q(0),
+ ],
+ q(kqq) => [
+ q(3512),
+ q(0),
+ ],
+ q(kqr) => [
+ q(3513),
+ q(0),
+ ],
+ q(kqs) => [
+ q(3514),
+ q(0),
+ ],
+ q(kqt) => [
+ q(3515),
+ q(0),
+ ],
+ q(kqu) => [
+ q(3516),
+ q(0),
+ ],
+ q(kqv) => [
+ q(3517),
+ q(0),
+ ],
+ q(kqw) => [
+ q(3518),
+ q(0),
+ ],
+ q(kqx) => [
+ q(3519),
+ q(0),
+ ],
+ q(kqy) => [
+ q(3520),
+ q(0),
+ ],
+ q(kqz) => [
+ q(3521),
+ q(0),
+ ],
+ q(kra) => [
+ q(3522),
+ q(0),
+ ],
+ q(krb) => [
+ q(3523),
+ q(0),
+ ],
+ q(krc) => [
+ q(0234),
+ q(0),
+ ],
+ q(krd) => [
+ q(3524),
+ q(0),
+ ],
+ q(kre) => [
+ q(3525),
+ q(0),
+ ],
+ q(krf) => [
+ q(3526),
+ q(0),
+ ],
+ q(krh) => [
+ q(3527),
+ q(0),
+ ],
+ q(kri) => [
+ q(3528),
+ q(0),
+ ],
+ q(krj) => [
+ q(3529),
+ q(0),
+ ],
+ q(krk) => [
+ q(3530),
+ q(0),
+ ],
+ q(krl) => [
+ q(0235),
+ q(0),
+ ],
+ q(krm) => [
+ q(3531),
+ q(0),
+ ],
+ q(krn) => [
+ q(3532),
+ q(0),
+ ],
+ q(kro) => [
+ q(0236),
+ q(0),
+ ],
+ q(krp) => [
+ q(3533),
+ q(0),
+ ],
+ q(krr) => [
+ q(3534),
+ q(0),
+ ],
+ q(krs) => [
+ q(3535),
+ q(0),
+ ],
+ q(krt) => [
+ q(3536),
+ q(0),
+ ],
+ q(kru) => [
+ q(0237),
+ q(0),
+ ],
+ q(krv) => [
+ q(3537),
+ q(0),
+ ],
+ q(krw) => [
+ q(3538),
+ q(0),
+ ],
+ q(krx) => [
+ q(3539),
+ q(0),
+ ],
+ q(kry) => [
+ q(3540),
+ q(0),
+ ],
+ q(krz) => [
+ q(3541),
+ q(0),
+ ],
+ q(ksa) => [
+ q(3542),
+ q(0),
+ ],
+ q(ksb) => [
+ q(3543),
+ q(0),
+ ],
+ q(ksc) => [
+ q(3544),
+ q(0),
+ ],
+ q(ksd) => [
+ q(3545),
+ q(0),
+ ],
+ q(kse) => [
+ q(3546),
+ q(0),
+ ],
+ q(ksf) => [
+ q(3547),
+ q(0),
+ ],
+ q(ksg) => [
+ q(3548),
+ q(0),
+ ],
+ q(ksh) => [
+ q(3549),
+ q(0),
+ ],
+ q(ksi) => [
+ q(3550),
+ q(0),
+ ],
+ q(ksj) => [
+ q(3551),
+ q(0),
+ ],
+ q(ksk) => [
+ q(3552),
+ q(0),
+ ],
+ q(ksl) => [
+ q(3553),
+ q(0),
+ ],
+ q(ksm) => [
+ q(3554),
+ q(0),
+ ],
+ q(ksn) => [
+ q(3555),
+ q(0),
+ ],
+ q(kso) => [
+ q(3556),
+ q(0),
+ ],
+ q(ksp) => [
+ q(3557),
+ q(0),
+ ],
+ q(ksq) => [
+ q(3558),
+ q(0),
+ ],
+ q(ksr) => [
+ q(3559),
+ q(0),
+ ],
+ q(kss) => [
+ q(3560),
+ q(0),
+ ],
+ q(kst) => [
+ q(3561),
+ q(0),
+ ],
+ q(ksu) => [
+ q(3562),
+ q(0),
+ ],
+ q(ksv) => [
+ q(3563),
+ q(0),
+ ],
+ q(ksw) => [
+ q(3564),
+ q(0),
+ ],
+ q(ksx) => [
+ q(3565),
+ q(0),
+ ],
+ q(ksy) => [
+ q(3566),
+ q(0),
+ ],
+ q(ksz) => [
+ q(3567),
+ q(0),
+ ],
+ q(kta) => [
+ q(3568),
+ q(0),
+ ],
+ q(ktb) => [
+ q(3569),
+ q(0),
+ ],
+ q(ktc) => [
+ q(3570),
+ q(0),
+ ],
+ q(ktd) => [
+ q(3571),
+ q(0),
+ ],
+ q(kte) => [
+ q(3572),
+ q(0),
+ ],
+ q(ktf) => [
+ q(3573),
+ q(0),
+ ],
+ q(ktg) => [
+ q(3574),
+ q(0),
+ ],
+ q(kth) => [
+ q(3575),
+ q(0),
+ ],
+ q(kti) => [
+ q(3576),
+ q(0),
+ ],
+ q(ktj) => [
+ q(3577),
+ q(0),
+ ],
+ q(ktk) => [
+ q(3578),
+ q(0),
+ ],
+ q(ktl) => [
+ q(3579),
+ q(0),
+ ],
+ q(ktm) => [
+ q(3580),
+ q(0),
+ ],
+ q(ktn) => [
+ q(3581),
+ q(0),
+ ],
+ q(kto) => [
+ q(3582),
+ q(0),
+ ],
+ q(ktp) => [
+ q(3583),
+ q(0),
+ ],
+ q(ktq) => [
+ q(3584),
+ q(0),
+ ],
+ q(ktr) => [
+ q(3585),
+ q(0),
+ ],
+ q(kts) => [
+ q(3586),
+ q(0),
+ ],
+ q(ktt) => [
+ q(3587),
+ q(0),
+ ],
+ q(ktu) => [
+ q(3588),
+ q(0),
+ ],
+ q(ktv) => [
+ q(3589),
+ q(0),
+ ],
+ q(ktw) => [
+ q(3590),
+ q(0),
+ ],
+ q(ktx) => [
+ q(3591),
+ q(0),
+ ],
+ q(kty) => [
+ q(3592),
+ q(0),
+ ],
+ q(ktz) => [
+ q(3593),
+ q(0),
+ ],
+ q(kua) => [
+ q(0238),
+ q(0),
+ ],
+ q(kub) => [
+ q(3594),
+ q(0),
+ ],
+ q(kuc) => [
+ q(3595),
+ q(0),
+ ],
+ q(kud) => [
+ q(3596),
+ q(0),
+ ],
+ q(kue) => [
+ q(3597),
+ q(0),
+ ],
+ q(kuf) => [
+ q(3598),
+ q(0),
+ ],
+ q(kug) => [
+ q(3599),
+ q(0),
+ ],
+ q(kuh) => [
+ q(3600),
+ q(0),
+ ],
+ q(kui) => [
+ q(3601),
+ q(0),
+ ],
+ q(kuj) => [
+ q(3602),
+ q(0),
+ ],
+ q(kuk) => [
+ q(3603),
+ q(0),
+ ],
+ q(kul) => [
+ q(3604),
+ q(0),
+ ],
+ q(kum) => [
+ q(0239),
+ q(0),
+ ],
+ q(kun) => [
+ q(3605),
+ q(0),
+ ],
+ q(kuo) => [
+ q(3606),
+ q(0),
+ ],
+ q(kup) => [
+ q(3607),
+ q(0),
+ ],
+ q(kuq) => [
+ q(3267),
+ q(0),
+ ],
+ q(kur) => [
+ q(0240),
+ q(0),
+ ],
+ q(kus) => [
+ q(3608),
+ q(0),
+ ],
+ q(kut) => [
+ q(0241),
+ q(0),
+ ],
+ q(kuu) => [
+ q(3609),
+ q(0),
+ ],
+ q(kuv) => [
+ q(3610),
+ q(0),
+ ],
+ q(kuw) => [
+ q(3611),
+ q(0),
+ ],
+ q(kux) => [
+ q(3612),
+ q(0),
+ ],
+ q(kuy) => [
+ q(3613),
+ q(0),
+ ],
+ q(kuz) => [
+ q(3614),
+ q(0),
+ ],
+ q(kva) => [
+ q(3615),
+ q(0),
+ ],
+ q(kvb) => [
+ q(3616),
+ q(0),
+ ],
+ q(kvc) => [
+ q(3617),
+ q(0),
+ ],
+ q(kvd) => [
+ q(3618),
+ q(0),
+ ],
+ q(kve) => [
+ q(3619),
+ q(0),
+ ],
+ q(kvf) => [
+ q(3620),
+ q(0),
+ ],
+ q(kvg) => [
+ q(3621),
+ q(0),
+ ],
+ q(kvh) => [
+ q(3622),
+ q(0),
+ ],
+ q(kvi) => [
+ q(3623),
+ q(0),
+ ],
+ q(kvj) => [
+ q(3624),
+ q(0),
+ ],
+ q(kvk) => [
+ q(3625),
+ q(0),
+ ],
+ q(kvl) => [
+ q(3626),
+ q(0),
+ ],
+ q(kvm) => [
+ q(3627),
+ q(0),
+ ],
+ q(kvn) => [
+ q(3628),
+ q(0),
+ ],
+ q(kvo) => [
+ q(3629),
+ q(0),
+ ],
+ q(kvp) => [
+ q(3630),
+ q(0),
+ ],
+ q(kvq) => [
+ q(3631),
+ q(0),
+ ],
+ q(kvr) => [
+ q(3632),
+ q(0),
+ ],
+ q(kvs) => [
+ q(3633),
+ q(0),
+ ],
+ q(kvt) => [
+ q(3634),
+ q(0),
+ ],
+ q(kvu) => [
+ q(3635),
+ q(0),
+ ],
+ q(kvv) => [
+ q(3636),
+ q(0),
+ ],
+ q(kvw) => [
+ q(3637),
+ q(0),
+ ],
+ q(kvx) => [
+ q(3638),
+ q(0),
+ ],
+ q(kvy) => [
+ q(3639),
+ q(0),
+ ],
+ q(kvz) => [
+ q(3640),
+ q(0),
+ ],
+ q(kwa) => [
+ q(3641),
+ q(0),
+ ],
+ q(kwb) => [
+ q(3642),
+ q(0),
+ ],
+ q(kwc) => [
+ q(3643),
+ q(0),
+ ],
+ q(kwd) => [
+ q(3644),
+ q(0),
+ ],
+ q(kwe) => [
+ q(3645),
+ q(0),
+ ],
+ q(kwf) => [
+ q(3646),
+ q(0),
+ ],
+ q(kwg) => [
+ q(3647),
+ q(0),
+ ],
+ q(kwh) => [
+ q(3648),
+ q(0),
+ ],
+ q(kwi) => [
+ q(3649),
+ q(0),
+ ],
+ q(kwj) => [
+ q(3650),
+ q(0),
+ ],
+ q(kwk) => [
+ q(3651),
+ q(0),
+ ],
+ q(kwl) => [
+ q(3652),
+ q(0),
+ ],
+ q(kwm) => [
+ q(3653),
+ q(0),
+ ],
+ q(kwn) => [
+ q(3654),
+ q(0),
+ ],
+ q(kwo) => [
+ q(3655),
+ q(0),
+ ],
+ q(kwp) => [
+ q(3656),
+ q(0),
+ ],
+ q(kwq) => [
+ q(3657),
+ q(0),
+ ],
+ q(kwr) => [
+ q(3658),
+ q(0),
+ ],
+ q(kws) => [
+ q(3659),
+ q(0),
+ ],
+ q(kwt) => [
+ q(3660),
+ q(0),
+ ],
+ q(kwu) => [
+ q(3661),
+ q(0),
+ ],
+ q(kwv) => [
+ q(3662),
+ q(0),
+ ],
+ q(kww) => [
+ q(3663),
+ q(0),
+ ],
+ q(kwx) => [
+ q(3664),
+ q(0),
+ ],
+ q(kwy) => [
+ q(3665),
+ q(0),
+ ],
+ q(kwz) => [
+ q(3666),
+ q(0),
+ ],
+ q(kxa) => [
+ q(3667),
+ q(0),
+ ],
+ q(kxb) => [
+ q(3668),
+ q(0),
+ ],
+ q(kxc) => [
+ q(3669),
+ q(0),
+ ],
+ q(kxd) => [
+ q(3670),
+ q(0),
+ ],
+ q(kxe) => [
+ q(3671),
+ q(0),
+ ],
+ q(kxf) => [
+ q(3672),
+ q(0),
+ ],
+ q(kxh) => [
+ q(3673),
+ q(0),
+ ],
+ q(kxi) => [
+ q(3674),
+ q(0),
+ ],
+ q(kxj) => [
+ q(3675),
+ q(0),
+ ],
+ q(kxk) => [
+ q(3676),
+ q(0),
+ ],
+ q(kxl) => [
+ q(3677),
+ q(0),
+ ],
+ q(kxm) => [
+ q(3678),
+ q(0),
+ ],
+ q(kxn) => [
+ q(3679),
+ q(0),
+ ],
+ q(kxo) => [
+ q(3680),
+ q(0),
+ ],
+ q(kxp) => [
+ q(3681),
+ q(0),
+ ],
+ q(kxq) => [
+ q(3682),
+ q(0),
+ ],
+ q(kxr) => [
+ q(3683),
+ q(0),
+ ],
+ q(kxs) => [
+ q(3684),
+ q(0),
+ ],
+ q(kxt) => [
+ q(3685),
+ q(0),
+ ],
+ q(kxu) => [
+ q(3686),
+ q(0),
+ ],
+ q(kxv) => [
+ q(3687),
+ q(0),
+ ],
+ q(kxw) => [
+ q(3688),
+ q(0),
+ ],
+ q(kxx) => [
+ q(3689),
+ q(0),
+ ],
+ q(kxy) => [
+ q(3690),
+ q(0),
+ ],
+ q(kxz) => [
+ q(3691),
+ q(0),
+ ],
+ q(kya) => [
+ q(3692),
+ q(0),
+ ],
+ q(kyb) => [
+ q(3693),
+ q(0),
+ ],
+ q(kyc) => [
+ q(3694),
+ q(0),
+ ],
+ q(kyd) => [
+ q(3695),
+ q(0),
+ ],
+ q(kye) => [
+ q(3696),
+ q(0),
+ ],
+ q(kyf) => [
+ q(3697),
+ q(0),
+ ],
+ q(kyg) => [
+ q(3698),
+ q(0),
+ ],
+ q(kyh) => [
+ q(3699),
+ q(0),
+ ],
+ q(kyi) => [
+ q(3700),
+ q(0),
+ ],
+ q(kyj) => [
+ q(3701),
+ q(0),
+ ],
+ q(kyk) => [
+ q(3702),
+ q(0),
+ ],
+ q(kyl) => [
+ q(3703),
+ q(0),
+ ],
+ q(kym) => [
+ q(3704),
+ q(0),
+ ],
+ q(kyn) => [
+ q(3705),
+ q(0),
+ ],
+ q(kyo) => [
+ q(3706),
+ q(0),
+ ],
+ q(kyp) => [
+ q(3707),
+ q(0),
+ ],
+ q(kyq) => [
+ q(3708),
+ q(0),
+ ],
+ q(kyr) => [
+ q(3709),
+ q(0),
+ ],
+ q(kys) => [
+ q(3710),
+ q(0),
+ ],
+ q(kyt) => [
+ q(3711),
+ q(0),
+ ],
+ q(kyu) => [
+ q(3712),
+ q(0),
+ ],
+ q(kyv) => [
+ q(3713),
+ q(0),
+ ],
+ q(kyw) => [
+ q(3714),
+ q(0),
+ ],
+ q(kyx) => [
+ q(3715),
+ q(0),
+ ],
+ q(kyy) => [
+ q(3716),
+ q(0),
+ ],
+ q(kyz) => [
+ q(3717),
+ q(0),
+ ],
+ q(kza) => [
+ q(3718),
+ q(0),
+ ],
+ q(kzb) => [
+ q(3719),
+ q(0),
+ ],
+ q(kzc) => [
+ q(3720),
+ q(0),
+ ],
+ q(kzd) => [
+ q(3721),
+ q(0),
+ ],
+ q(kze) => [
+ q(3722),
+ q(0),
+ ],
+ q(kzf) => [
+ q(3723),
+ q(0),
+ ],
+ q(kzg) => [
+ q(3724),
+ q(0),
+ ],
+ q(kzh) => [
+ q(3725),
+ q(0),
+ ],
+ q(kzi) => [
+ q(3726),
+ q(0),
+ ],
+ q(kzj) => [
+ q(3727),
+ q(0),
+ ],
+ q(kzk) => [
+ q(3728),
+ q(0),
+ ],
+ q(kzl) => [
+ q(3729),
+ q(0),
+ ],
+ q(kzm) => [
+ q(3730),
+ q(0),
+ ],
+ q(kzn) => [
+ q(3731),
+ q(0),
+ ],
+ q(kzo) => [
+ q(3732),
+ q(0),
+ ],
+ q(kzp) => [
+ q(3733),
+ q(0),
+ ],
+ q(kzq) => [
+ q(3734),
+ q(0),
+ ],
+ q(kzr) => [
+ q(3735),
+ q(0),
+ ],
+ q(kzs) => [
+ q(3736),
+ q(0),
+ ],
+ q(kzt) => [
+ q(3737),
+ q(0),
+ ],
+ q(kzu) => [
+ q(3738),
+ q(0),
+ ],
+ q(kzv) => [
+ q(3739),
+ q(0),
+ ],
+ q(kzw) => [
+ q(3740),
+ q(0),
+ ],
+ q(kzx) => [
+ q(3741),
+ q(0),
+ ],
+ q(kzy) => [
+ q(3742),
+ q(0),
+ ],
+ q(kzz) => [
+ q(3743),
+ q(0),
+ ],
+ q(laa) => [
+ q(3744),
+ q(0),
+ ],
+ q(lab) => [
+ q(3745),
+ q(0),
+ ],
+ q(lac) => [
+ q(3746),
+ q(0),
+ ],
+ q(lad) => [
+ q(0242),
+ q(0),
+ ],
+ q(lae) => [
+ q(3747),
+ q(0),
+ ],
+ q(laf) => [
+ q(3748),
+ q(0),
+ ],
+ q(lag) => [
+ q(3749),
+ q(0),
+ ],
+ q(lah) => [
+ q(0243),
+ q(0),
+ ],
+ q(lai) => [
+ q(3750),
+ q(0),
+ ],
+ q(laj) => [
+ q(3751),
+ q(0),
+ ],
+ q(lak) => [
+ q(3752),
+ q(0),
+ ],
+ q(lal) => [
+ q(3753),
+ q(0),
+ ],
+ q(lam) => [
+ q(0244),
+ q(0),
+ ],
+ q(lan) => [
+ q(3754),
+ q(0),
+ ],
+ q(lao) => [
+ q(0245),
+ q(0),
+ ],
+ q(lap) => [
+ q(3755),
+ q(0),
+ ],
+ q(laq) => [
+ q(3756),
+ q(0),
+ ],
+ q(lar) => [
+ q(3757),
+ q(0),
+ ],
+ q(las) => [
+ q(3758),
+ q(0),
+ ],
+ q(lat) => [
+ q(0246),
+ q(0),
+ ],
+ q(lau) => [
+ q(3759),
+ q(0),
+ ],
+ q(lav) => [
+ q(0247),
+ q(0),
+ ],
+ q(law) => [
+ q(3760),
+ q(0),
+ ],
+ q(lax) => [
+ q(3761),
+ q(0),
+ ],
+ q(lay) => [
+ q(3762),
+ q(0),
+ ],
+ q(laz) => [
+ q(3763),
+ q(0),
+ ],
+ q(lba) => [
+ q(3764),
+ q(0),
+ ],
+ q(lbb) => [
+ q(3765),
+ q(0),
+ ],
+ q(lbc) => [
+ q(3766),
+ q(0),
+ ],
+ q(lbe) => [
+ q(3767),
+ q(0),
+ ],
+ q(lbf) => [
+ q(3768),
+ q(0),
+ ],
+ q(lbg) => [
+ q(3769),
+ q(0),
+ ],
+ q(lbi) => [
+ q(3770),
+ q(0),
+ ],
+ q(lbj) => [
+ q(3771),
+ q(0),
+ ],
+ q(lbk) => [
+ q(3772),
+ q(0),
+ ],
+ q(lbl) => [
+ q(3773),
+ q(0),
+ ],
+ q(lbm) => [
+ q(3774),
+ q(0),
+ ],
+ q(lbn) => [
+ q(3775),
+ q(0),
+ ],
+ q(lbo) => [
+ q(3776),
+ q(0),
+ ],
+ q(lbq) => [
+ q(3777),
+ q(0),
+ ],
+ q(lbr) => [
+ q(3778),
+ q(0),
+ ],
+ q(lbs) => [
+ q(3779),
+ q(0),
+ ],
+ q(lbt) => [
+ q(3780),
+ q(0),
+ ],
+ q(lbu) => [
+ q(3781),
+ q(0),
+ ],
+ q(lbv) => [
+ q(3782),
+ q(0),
+ ],
+ q(lbw) => [
+ q(3783),
+ q(0),
+ ],
+ q(lbx) => [
+ q(3784),
+ q(0),
+ ],
+ q(lby) => [
+ q(3785),
+ q(0),
+ ],
+ q(lbz) => [
+ q(3786),
+ q(0),
+ ],
+ q(lcc) => [
+ q(3787),
+ q(0),
+ ],
+ q(lcd) => [
+ q(3788),
+ q(0),
+ ],
+ q(lce) => [
+ q(3789),
+ q(0),
+ ],
+ q(lcf) => [
+ q(3790),
+ q(0),
+ ],
+ q(lch) => [
+ q(3791),
+ q(0),
+ ],
+ q(lcl) => [
+ q(3792),
+ q(0),
+ ],
+ q(lcm) => [
+ q(3793),
+ q(0),
+ ],
+ q(lcp) => [
+ q(3794),
+ q(0),
+ ],
+ q(lcq) => [
+ q(3795),
+ q(0),
+ ],
+ q(lcs) => [
+ q(3796),
+ q(0),
+ ],
+ q(ldb) => [
+ q(3797),
+ q(0),
+ ],
+ q(ldd) => [
+ q(3798),
+ q(0),
+ ],
+ q(ldg) => [
+ q(3799),
+ q(0),
+ ],
+ q(ldh) => [
+ q(3800),
+ q(0),
+ ],
+ q(ldi) => [
+ q(3801),
+ q(0),
+ ],
+ q(ldj) => [
+ q(3802),
+ q(0),
+ ],
+ q(ldk) => [
+ q(3803),
+ q(0),
+ ],
+ q(ldl) => [
+ q(3804),
+ q(0),
+ ],
+ q(ldm) => [
+ q(3805),
+ q(0),
+ ],
+ q(ldn) => [
+ q(3806),
+ q(0),
+ ],
+ q(ldo) => [
+ q(3807),
+ q(0),
+ ],
+ q(ldp) => [
+ q(3808),
+ q(0),
+ ],
+ q(ldq) => [
+ q(3809),
+ q(0),
+ ],
+ q(lea) => [
+ q(3810),
+ q(0),
+ ],
+ q(leb) => [
+ q(3811),
+ q(0),
+ ],
+ q(lec) => [
+ q(3812),
+ q(0),
+ ],
+ q(led) => [
+ q(3813),
+ q(0),
+ ],
+ q(lee) => [
+ q(3814),
+ q(0),
+ ],
+ q(lef) => [
+ q(3815),
+ q(0),
+ ],
+ q(leg) => [
+ q(3816),
+ q(0),
+ ],
+ q(leh) => [
+ q(3817),
+ q(0),
+ ],
+ q(lei) => [
+ q(3818),
+ q(0),
+ ],
+ q(lej) => [
+ q(3819),
+ q(0),
+ ],
+ q(lek) => [
+ q(3820),
+ q(0),
+ ],
+ q(lel) => [
+ q(3821),
+ q(0),
+ ],
+ q(lem) => [
+ q(3822),
+ q(0),
+ ],
+ q(len) => [
+ q(3823),
+ q(0),
+ ],
+ q(leo) => [
+ q(3824),
+ q(0),
+ ],
+ q(lep) => [
+ q(3825),
+ q(0),
+ ],
+ q(leq) => [
+ q(3826),
+ q(0),
+ ],
+ q(ler) => [
+ q(3827),
+ q(0),
+ ],
+ q(les) => [
+ q(3828),
+ q(0),
+ ],
+ q(let) => [
+ q(3829),
+ q(0),
+ ],
+ q(leu) => [
+ q(3830),
+ q(0),
+ ],
+ q(lev) => [
+ q(3831),
+ q(0),
+ ],
+ q(lew) => [
+ q(3832),
+ q(0),
+ ],
+ q(lex) => [
+ q(3833),
+ q(0),
+ ],
+ q(ley) => [
+ q(3834),
+ q(0),
+ ],
+ q(lez) => [
+ q(0248),
+ q(0),
+ ],
+ q(lfa) => [
+ q(3835),
+ q(0),
+ ],
+ q(lfn) => [
+ q(3836),
+ q(0),
+ ],
+ q(lga) => [
+ q(3837),
+ q(0),
+ ],
+ q(lgb) => [
+ q(3838),
+ q(0),
+ ],
+ q(lgg) => [
+ q(3839),
+ q(0),
+ ],
+ q(lgh) => [
+ q(3840),
+ q(0),
+ ],
+ q(lgi) => [
+ q(3841),
+ q(0),
+ ],
+ q(lgk) => [
+ q(3842),
+ q(0),
+ ],
+ q(lgl) => [
+ q(3843),
+ q(0),
+ ],
+ q(lgm) => [
+ q(3844),
+ q(0),
+ ],
+ q(lgn) => [
+ q(3845),
+ q(0),
+ ],
+ q(lgq) => [
+ q(3846),
+ q(0),
+ ],
+ q(lgr) => [
+ q(3847),
+ q(0),
+ ],
+ q(lgt) => [
+ q(3848),
+ q(0),
+ ],
+ q(lgu) => [
+ q(3849),
+ q(0),
+ ],
+ q(lgz) => [
+ q(3850),
+ q(0),
+ ],
+ q(lha) => [
+ q(3851),
+ q(0),
+ ],
+ q(lhh) => [
+ q(3852),
+ q(0),
+ ],
+ q(lhi) => [
+ q(3853),
+ q(0),
+ ],
+ q(lhl) => [
+ q(3854),
+ q(0),
+ ],
+ q(lhm) => [
+ q(3855),
+ q(0),
+ ],
+ q(lhn) => [
+ q(3856),
+ q(0),
+ ],
+ q(lhp) => [
+ q(3857),
+ q(0),
+ ],
+ q(lhs) => [
+ q(3858),
+ q(0),
+ ],
+ q(lht) => [
+ q(3859),
+ q(0),
+ ],
+ q(lhu) => [
+ q(3860),
+ q(0),
+ ],
+ q(lia) => [
+ q(3861),
+ q(0),
+ ],
+ q(lib) => [
+ q(3862),
+ q(0),
+ ],
+ q(lic) => [
+ q(3863),
+ q(0),
+ ],
+ q(lid) => [
+ q(3864),
+ q(0),
+ ],
+ q(lie) => [
+ q(3865),
+ q(0),
+ ],
+ q(lif) => [
+ q(3866),
+ q(0),
+ ],
+ q(lig) => [
+ q(3867),
+ q(0),
+ ],
+ q(lih) => [
+ q(3868),
+ q(0),
+ ],
+ q(lii) => [
+ q(3869),
+ q(0),
+ ],
+ q(lij) => [
+ q(3870),
+ q(0),
+ ],
+ q(lik) => [
+ q(3871),
+ q(0),
+ ],
+ q(lil) => [
+ q(3872),
+ q(0),
+ ],
+ q(lim) => [
+ q(0249),
+ q(0),
+ ],
+ q(lin) => [
+ q(0250),
+ q(0),
+ ],
+ q(lio) => [
+ q(3873),
+ q(0),
+ ],
+ q(lip) => [
+ q(3874),
+ q(0),
+ ],
+ q(liq) => [
+ q(3875),
+ q(0),
+ ],
+ q(lir) => [
+ q(3876),
+ q(0),
+ ],
+ q(lis) => [
+ q(3877),
+ q(0),
+ ],
+ q(lit) => [
+ q(0251),
+ q(0),
+ ],
+ q(liu) => [
+ q(3878),
+ q(0),
+ ],
+ q(liv) => [
+ q(3879),
+ q(0),
+ ],
+ q(liw) => [
+ q(3880),
+ q(0),
+ ],
+ q(lix) => [
+ q(3881),
+ q(0),
+ ],
+ q(liy) => [
+ q(3882),
+ q(0),
+ ],
+ q(liz) => [
+ q(3883),
+ q(0),
+ ],
+ q(lje) => [
+ q(3884),
+ q(0),
+ ],
+ q(lji) => [
+ q(3885),
+ q(0),
+ ],
+ q(ljl) => [
+ q(3886),
+ q(0),
+ ],
+ q(ljp) => [
+ q(3887),
+ q(0),
+ ],
+ q(lka) => [
+ q(3888),
+ q(0),
+ ],
+ q(lkb) => [
+ q(3889),
+ q(0),
+ ],
+ q(lkc) => [
+ q(3890),
+ q(0),
+ ],
+ q(lkd) => [
+ q(3891),
+ q(0),
+ ],
+ q(lke) => [
+ q(3892),
+ q(0),
+ ],
+ q(lkh) => [
+ q(3893),
+ q(0),
+ ],
+ q(lki) => [
+ q(3894),
+ q(0),
+ ],
+ q(lkj) => [
+ q(3895),
+ q(0),
+ ],
+ q(lkl) => [
+ q(3896),
+ q(0),
+ ],
+ q(lkn) => [
+ q(3897),
+ q(0),
+ ],
+ q(lko) => [
+ q(3898),
+ q(0),
+ ],
+ q(lkr) => [
+ q(3899),
+ q(0),
+ ],
+ q(lks) => [
+ q(3900),
+ q(0),
+ ],
+ q(lkt) => [
+ q(3901),
+ q(0),
+ ],
+ q(lky) => [
+ q(3902),
+ q(0),
+ ],
+ q(lla) => [
+ q(3903),
+ q(0),
+ ],
+ q(llb) => [
+ q(3904),
+ q(0),
+ ],
+ q(llc) => [
+ q(3905),
+ q(0),
+ ],
+ q(lld) => [
+ q(3906),
+ q(0),
+ ],
+ q(lle) => [
+ q(3907),
+ q(0),
+ ],
+ q(llf) => [
+ q(3908),
+ q(0),
+ ],
+ q(llg) => [
+ q(3909),
+ q(0),
+ ],
+ q(llh) => [
+ q(3910),
+ q(0),
+ ],
+ q(lli) => [
+ q(3911),
+ q(0),
+ ],
+ q(llk) => [
+ q(3912),
+ q(0),
+ ],
+ q(lll) => [
+ q(3913),
+ q(0),
+ ],
+ q(llm) => [
+ q(3914),
+ q(0),
+ ],
+ q(lln) => [
+ q(3915),
+ q(0),
+ ],
+ q(llo) => [
+ q(3916),
+ q(0),
+ ],
+ q(llp) => [
+ q(3917),
+ q(0),
+ ],
+ q(llq) => [
+ q(3918),
+ q(0),
+ ],
+ q(lls) => [
+ q(3919),
+ q(0),
+ ],
+ q(llu) => [
+ q(3920),
+ q(0),
+ ],
+ q(llx) => [
+ q(3921),
+ q(0),
+ ],
+ q(lma) => [
+ q(3922),
+ q(0),
+ ],
+ q(lmb) => [
+ q(3923),
+ q(0),
+ ],
+ q(lmc) => [
+ q(3924),
+ q(0),
+ ],
+ q(lmd) => [
+ q(3925),
+ q(0),
+ ],
+ q(lme) => [
+ q(3926),
+ q(0),
+ ],
+ q(lmf) => [
+ q(3927),
+ q(0),
+ ],
+ q(lmg) => [
+ q(3928),
+ q(0),
+ ],
+ q(lmh) => [
+ q(3929),
+ q(0),
+ ],
+ q(lmi) => [
+ q(3930),
+ q(0),
+ ],
+ q(lmj) => [
+ q(3931),
+ q(0),
+ ],
+ q(lmk) => [
+ q(3932),
+ q(0),
+ ],
+ q(lml) => [
+ q(3933),
+ q(0),
+ ],
+ q(lmm) => [
+ q(3934),
+ q(0),
+ ],
+ q(lmn) => [
+ q(3935),
+ q(0),
+ ],
+ q(lmo) => [
+ q(3936),
+ q(0),
+ ],
+ q(lmp) => [
+ q(3937),
+ q(0),
+ ],
+ q(lmq) => [
+ q(3938),
+ q(0),
+ ],
+ q(lmr) => [
+ q(3939),
+ q(0),
+ ],
+ q(lmu) => [
+ q(3940),
+ q(0),
+ ],
+ q(lmv) => [
+ q(3941),
+ q(0),
+ ],
+ q(lmw) => [
+ q(3942),
+ q(0),
+ ],
+ q(lmx) => [
+ q(3943),
+ q(0),
+ ],
+ q(lmy) => [
+ q(3944),
+ q(0),
+ ],
+ q(lmz) => [
+ q(3945),
+ q(0),
+ ],
+ q(lna) => [
+ q(3946),
+ q(0),
+ ],
+ q(lnb) => [
+ q(3947),
+ q(0),
+ ],
+ q(lnd) => [
+ q(3948),
+ q(0),
+ ],
+ q(lng) => [
+ q(3949),
+ q(0),
+ ],
+ q(lnh) => [
+ q(3950),
+ q(0),
+ ],
+ q(lni) => [
+ q(3951),
+ q(0),
+ ],
+ q(lnj) => [
+ q(3952),
+ q(0),
+ ],
+ q(lnl) => [
+ q(3953),
+ q(0),
+ ],
+ q(lnm) => [
+ q(3954),
+ q(0),
+ ],
+ q(lnn) => [
+ q(3955),
+ q(0),
+ ],
+ q(lno) => [
+ q(3956),
+ q(0),
+ ],
+ q(lns) => [
+ q(3957),
+ q(0),
+ ],
+ q(lnu) => [
+ q(3958),
+ q(0),
+ ],
+ q(lnz) => [
+ q(3959),
+ q(0),
+ ],
+ q(loa) => [
+ q(3960),
+ q(0),
+ ],
+ q(lob) => [
+ q(3961),
+ q(0),
+ ],
+ q(loc) => [
+ q(3962),
+ q(0),
+ ],
+ q(loe) => [
+ q(3963),
+ q(0),
+ ],
+ q(lof) => [
+ q(3964),
+ q(0),
+ ],
+ q(log) => [
+ q(3965),
+ q(0),
+ ],
+ q(loh) => [
+ q(3966),
+ q(0),
+ ],
+ q(loi) => [
+ q(3967),
+ q(0),
+ ],
+ q(loj) => [
+ q(3968),
+ q(0),
+ ],
+ q(lok) => [
+ q(3969),
+ q(0),
+ ],
+ q(lol) => [
+ q(0252),
+ q(0),
+ ],
+ q(lom) => [
+ q(3970),
+ q(0),
+ ],
+ q(lon) => [
+ q(3971),
+ q(0),
+ ],
+ q(loo) => [
+ q(3972),
+ q(0),
+ ],
+ q(lop) => [
+ q(3973),
+ q(0),
+ ],
+ q(loq) => [
+ q(3974),
+ q(0),
+ ],
+ q(lor) => [
+ q(3975),
+ q(0),
+ ],
+ q(los) => [
+ q(3976),
+ q(0),
+ ],
+ q(lot) => [
+ q(3977),
+ q(0),
+ ],
+ q(lou) => [
+ q(3978),
+ q(0),
+ ],
+ q(lov) => [
+ q(3979),
+ q(0),
+ ],
+ q(low) => [
+ q(3980),
+ q(0),
+ ],
+ q(lox) => [
+ q(3981),
+ q(0),
+ ],
+ q(loy) => [
+ q(3982),
+ q(0),
+ ],
+ q(loz) => [
+ q(0253),
+ q(0),
+ ],
+ q(lpa) => [
+ q(3983),
+ q(0),
+ ],
+ q(lpe) => [
+ q(3984),
+ q(0),
+ ],
+ q(lpn) => [
+ q(3985),
+ q(0),
+ ],
+ q(lpo) => [
+ q(3986),
+ q(0),
+ ],
+ q(lpx) => [
+ q(3987),
+ q(0),
+ ],
+ q(lra) => [
+ q(3988),
+ q(0),
+ ],
+ q(lrc) => [
+ q(3989),
+ q(0),
+ ],
+ q(lre) => [
+ q(3990),
+ q(0),
+ ],
+ q(lrg) => [
+ q(3991),
+ q(0),
+ ],
+ q(lri) => [
+ q(3992),
+ q(0),
+ ],
+ q(lrk) => [
+ q(3993),
+ q(0),
+ ],
+ q(lrl) => [
+ q(3994),
+ q(0),
+ ],
+ q(lrm) => [
+ q(3995),
+ q(0),
+ ],
+ q(lrn) => [
+ q(3996),
+ q(0),
+ ],
+ q(lro) => [
+ q(3997),
+ q(0),
+ ],
+ q(lrr) => [
+ q(3998),
+ q(0),
+ ],
+ q(lrt) => [
+ q(3999),
+ q(0),
+ ],
+ q(lrv) => [
+ q(4000),
+ q(0),
+ ],
+ q(lrz) => [
+ q(4001),
+ q(0),
+ ],
+ q(lsa) => [
+ q(4002),
+ q(0),
+ ],
+ q(lsd) => [
+ q(4003),
+ q(0),
+ ],
+ q(lse) => [
+ q(4004),
+ q(0),
+ ],
+ q(lsg) => [
+ q(4005),
+ q(0),
+ ],
+ q(lsh) => [
+ q(4006),
+ q(0),
+ ],
+ q(lsi) => [
+ q(4007),
+ q(0),
+ ],
+ q(lsl) => [
+ q(4008),
+ q(0),
+ ],
+ q(lsm) => [
+ q(4009),
+ q(0),
+ ],
+ q(lso) => [
+ q(4010),
+ q(0),
+ ],
+ q(lsp) => [
+ q(4011),
+ q(0),
+ ],
+ q(lsr) => [
+ q(4012),
+ q(0),
+ ],
+ q(lss) => [
+ q(4013),
+ q(0),
+ ],
+ q(lst) => [
+ q(4014),
+ q(0),
+ ],
+ q(lsy) => [
+ q(4015),
+ q(0),
+ ],
+ q(ltc) => [
+ q(4016),
+ q(0),
+ ],
+ q(ltg) => [
+ q(4017),
+ q(0),
+ ],
+ q(lti) => [
+ q(4018),
+ q(0),
+ ],
+ q(ltn) => [
+ q(4019),
+ q(0),
+ ],
+ q(lto) => [
+ q(4020),
+ q(0),
+ ],
+ q(lts) => [
+ q(4021),
+ q(0),
+ ],
+ q(ltu) => [
+ q(4022),
+ q(0),
+ ],
+ q(ltz) => [
+ q(0254),
+ q(0),
+ ],
+ q(lua) => [
+ q(0255),
+ q(0),
+ ],
+ q(lub) => [
+ q(0256),
+ q(0),
+ ],
+ q(luc) => [
+ q(4023),
+ q(0),
+ ],
+ q(lud) => [
+ q(4024),
+ q(0),
+ ],
+ q(lue) => [
+ q(4025),
+ q(0),
+ ],
+ q(luf) => [
+ q(4026),
+ q(0),
+ ],
+ q(lug) => [
+ q(0257),
+ q(0),
+ ],
+ q(lui) => [
+ q(0258),
+ q(0),
+ ],
+ q(luj) => [
+ q(4027),
+ q(0),
+ ],
+ q(luk) => [
+ q(4028),
+ q(0),
+ ],
+ q(lul) => [
+ q(4029),
+ q(0),
+ ],
+ q(lum) => [
+ q(4030),
+ q(0),
+ ],
+ q(lun) => [
+ q(0259),
+ q(0),
+ ],
+ q(luo) => [
+ q(0260),
+ q(0),
+ ],
+ q(lup) => [
+ q(4031),
+ q(0),
+ ],
+ q(luq) => [
+ q(4032),
+ q(0),
+ ],
+ q(lur) => [
+ q(4033),
+ q(0),
+ ],
+ q(lus) => [
+ q(0261),
+ q(0),
+ ],
+ q(lut) => [
+ q(4034),
+ q(0),
+ ],
+ q(luu) => [
+ q(4035),
+ q(0),
+ ],
+ q(luv) => [
+ q(4036),
+ q(0),
+ ],
+ q(luw) => [
+ q(4037),
+ q(0),
+ ],
+ q(luy) => [
+ q(4038),
+ q(0),
+ ],
+ q(luz) => [
+ q(4039),
+ q(0),
+ ],
+ q(lva) => [
+ q(4040),
+ q(0),
+ ],
+ q(lvk) => [
+ q(4041),
+ q(0),
+ ],
+ q(lvs) => [
+ q(4042),
+ q(0),
+ ],
+ q(lvu) => [
+ q(4043),
+ q(0),
+ ],
+ q(lwa) => [
+ q(4044),
+ q(0),
+ ],
+ q(lwe) => [
+ q(4045),
+ q(0),
+ ],
+ q(lwg) => [
+ q(4046),
+ q(0),
+ ],
+ q(lwh) => [
+ q(4047),
+ q(0),
+ ],
+ q(lwl) => [
+ q(4048),
+ q(0),
+ ],
+ q(lwm) => [
+ q(4049),
+ q(0),
+ ],
+ q(lwo) => [
+ q(4050),
+ q(0),
+ ],
+ q(lwt) => [
+ q(4051),
+ q(0),
+ ],
+ q(lww) => [
+ q(4052),
+ q(0),
+ ],
+ q(lya) => [
+ q(4053),
+ q(0),
+ ],
+ q(lyg) => [
+ q(4054),
+ q(0),
+ ],
+ q(lyn) => [
+ q(4055),
+ q(0),
+ ],
+ q(lzh) => [
+ q(4056),
+ q(0),
+ ],
+ q(lzl) => [
+ q(4057),
+ q(0),
+ ],
+ q(lzn) => [
+ q(4058),
+ q(0),
+ ],
+ q(lzz) => [
+ q(4059),
+ q(0),
+ ],
+ q(maa) => [
+ q(4060),
+ q(0),
+ ],
+ q(mab) => [
+ q(4061),
+ q(0),
+ ],
+ q(mac) => [
+ q(0262),
+ q(0),
+ ],
+ q(mad) => [
+ q(0263),
+ q(0),
+ ],
+ q(mae) => [
+ q(4062),
+ q(0),
+ ],
+ q(maf) => [
+ q(4063),
+ q(0),
+ ],
+ q(mag) => [
+ q(0264),
+ q(0),
+ ],
+ q(mah) => [
+ q(0265),
+ q(0),
+ ],
+ q(mai) => [
+ q(0266),
+ q(0),
+ ],
+ q(maj) => [
+ q(4064),
+ q(0),
+ ],
+ q(mak) => [
+ q(0267),
+ q(0),
+ ],
+ q(mal) => [
+ q(0268),
+ q(0),
+ ],
+ q(mam) => [
+ q(4065),
+ q(0),
+ ],
+ q(man) => [
+ q(0269),
+ q(0),
+ ],
+ q(mao) => [
+ q(0270),
+ q(0),
+ ],
+ q(map) => [
+ q(0271),
+ q(0),
+ ],
+ q(maq) => [
+ q(4066),
+ q(0),
+ ],
+ q(mar) => [
+ q(0272),
+ q(0),
+ ],
+ q(mas) => [
+ q(0273),
+ q(0),
+ ],
+ q(mat) => [
+ q(4067),
+ q(0),
+ ],
+ q(mau) => [
+ q(4068),
+ q(0),
+ ],
+ q(mav) => [
+ q(4069),
+ q(0),
+ ],
+ q(maw) => [
+ q(4070),
+ q(0),
+ ],
+ q(max) => [
+ q(4071),
+ q(0),
+ ],
+ q(may) => [
+ q(0274),
+ q(0),
+ ],
+ q(maz) => [
+ q(4072),
+ q(0),
+ ],
+ q(mba) => [
+ q(4073),
+ q(0),
+ ],
+ q(mbb) => [
+ q(4074),
+ q(0),
+ ],
+ q(mbc) => [
+ q(4075),
+ q(0),
+ ],
+ q(mbd) => [
+ q(4076),
+ q(0),
+ ],
+ q(mbe) => [
+ q(4077),
+ q(0),
+ ],
+ q(mbf) => [
+ q(4078),
+ q(0),
+ ],
+ q(mbh) => [
+ q(4079),
+ q(0),
+ ],
+ q(mbi) => [
+ q(4080),
+ q(0),
+ ],
+ q(mbj) => [
+ q(4081),
+ q(0),
+ ],
+ q(mbk) => [
+ q(4082),
+ q(0),
+ ],
+ q(mbl) => [
+ q(4083),
+ q(0),
+ ],
+ q(mbm) => [
+ q(4084),
+ q(0),
+ ],
+ q(mbn) => [
+ q(4085),
+ q(0),
+ ],
+ q(mbo) => [
+ q(4086),
+ q(0),
+ ],
+ q(mbp) => [
+ q(4087),
+ q(0),
+ ],
+ q(mbq) => [
+ q(4088),
+ q(0),
+ ],
+ q(mbr) => [
+ q(4089),
+ q(0),
+ ],
+ q(mbs) => [
+ q(4090),
+ q(0),
+ ],
+ q(mbt) => [
+ q(4091),
+ q(0),
+ ],
+ q(mbu) => [
+ q(4092),
+ q(0),
+ ],
+ q(mbv) => [
+ q(4093),
+ q(0),
+ ],
+ q(mbw) => [
+ q(4094),
+ q(0),
+ ],
+ q(mbx) => [
+ q(4095),
+ q(0),
+ ],
+ q(mby) => [
+ q(4096),
+ q(0),
+ ],
+ q(mbz) => [
+ q(4097),
+ q(0),
+ ],
+ q(mca) => [
+ q(4098),
+ q(0),
+ ],
+ q(mcb) => [
+ q(4099),
+ q(0),
+ ],
+ q(mcc) => [
+ q(4100),
+ q(0),
+ ],
+ q(mcd) => [
+ q(4101),
+ q(0),
+ ],
+ q(mce) => [
+ q(4102),
+ q(0),
+ ],
+ q(mcf) => [
+ q(4103),
+ q(0),
+ ],
+ q(mcg) => [
+ q(4104),
+ q(0),
+ ],
+ q(mch) => [
+ q(4105),
+ q(0),
+ ],
+ q(mci) => [
+ q(4106),
+ q(0),
+ ],
+ q(mcj) => [
+ q(4107),
+ q(0),
+ ],
+ q(mck) => [
+ q(4108),
+ q(0),
+ ],
+ q(mcl) => [
+ q(4109),
+ q(0),
+ ],
+ q(mcm) => [
+ q(4110),
+ q(0),
+ ],
+ q(mcn) => [
+ q(4111),
+ q(0),
+ ],
+ q(mco) => [
+ q(4112),
+ q(0),
+ ],
+ q(mcp) => [
+ q(4113),
+ q(0),
+ ],
+ q(mcq) => [
+ q(4114),
+ q(0),
+ ],
+ q(mcr) => [
+ q(4115),
+ q(0),
+ ],
+ q(mcs) => [
+ q(4116),
+ q(0),
+ ],
+ q(mct) => [
+ q(4117),
+ q(0),
+ ],
+ q(mcu) => [
+ q(4118),
+ q(0),
+ ],
+ q(mcv) => [
+ q(4119),
+ q(0),
+ ],
+ q(mcw) => [
+ q(4120),
+ q(0),
+ ],
+ q(mcx) => [
+ q(4121),
+ q(0),
+ ],
+ q(mcy) => [
+ q(4122),
+ q(0),
+ ],
+ q(mcz) => [
+ q(4123),
+ q(0),
+ ],
+ q(mda) => [
+ q(4124),
+ q(0),
+ ],
+ q(mdb) => [
+ q(4125),
+ q(0),
+ ],
+ q(mdc) => [
+ q(4126),
+ q(0),
+ ],
+ q(mdd) => [
+ q(4127),
+ q(0),
+ ],
+ q(mde) => [
+ q(4128),
+ q(0),
+ ],
+ q(mdf) => [
+ q(0275),
+ q(0),
+ ],
+ q(mdg) => [
+ q(4129),
+ q(0),
+ ],
+ q(mdh) => [
+ q(4130),
+ q(0),
+ ],
+ q(mdi) => [
+ q(4131),
+ q(0),
+ ],
+ q(mdj) => [
+ q(4132),
+ q(0),
+ ],
+ q(mdk) => [
+ q(4133),
+ q(0),
+ ],
+ q(mdl) => [
+ q(4134),
+ q(0),
+ ],
+ q(mdm) => [
+ q(4135),
+ q(0),
+ ],
+ q(mdn) => [
+ q(4136),
+ q(0),
+ ],
+ q(mdp) => [
+ q(4137),
+ q(0),
+ ],
+ q(mdq) => [
+ q(4138),
+ q(0),
+ ],
+ q(mdr) => [
+ q(0276),
+ q(0),
+ ],
+ q(mds) => [
+ q(4139),
+ q(0),
+ ],
+ q(mdt) => [
+ q(4140),
+ q(0),
+ ],
+ q(mdu) => [
+ q(4141),
+ q(0),
+ ],
+ q(mdv) => [
+ q(4142),
+ q(0),
+ ],
+ q(mdw) => [
+ q(4143),
+ q(0),
+ ],
+ q(mdx) => [
+ q(4144),
+ q(0),
+ ],
+ q(mdy) => [
+ q(4145),
+ q(0),
+ ],
+ q(mdz) => [
+ q(4146),
+ q(0),
+ ],
+ q(mea) => [
+ q(4147),
+ q(0),
+ ],
+ q(meb) => [
+ q(4148),
+ q(0),
+ ],
+ q(mec) => [
+ q(4149),
+ q(0),
+ ],
+ q(med) => [
+ q(4150),
+ q(0),
+ ],
+ q(mee) => [
+ q(4151),
+ q(0),
+ ],
+ q(mef) => [
+ q(4152),
+ q(0),
+ ],
+ q(meg) => [
+ q(4153),
+ q(0),
+ ],
+ q(meh) => [
+ q(4154),
+ q(0),
+ ],
+ q(mei) => [
+ q(4155),
+ q(0),
+ ],
+ q(mej) => [
+ q(4156),
+ q(0),
+ ],
+ q(mek) => [
+ q(4157),
+ q(0),
+ ],
+ q(mel) => [
+ q(4158),
+ q(0),
+ ],
+ q(mem) => [
+ q(4159),
+ q(0),
+ ],
+ q(men) => [
+ q(0277),
+ q(1),
+ ],
+ q(meo) => [
+ q(4160),
+ q(0),
+ ],
+ q(mep) => [
+ q(4161),
+ q(0),
+ ],
+ q(meq) => [
+ q(4162),
+ q(0),
+ ],
+ q(mer) => [
+ q(4163),
+ q(0),
+ ],
+ q(mes) => [
+ q(4164),
+ q(0),
+ ],
+ q(met) => [
+ q(4165),
+ q(0),
+ ],
+ q(meu) => [
+ q(4166),
+ q(0),
+ ],
+ q(mev) => [
+ q(4167),
+ q(0),
+ ],
+ q(mew) => [
+ q(4168),
+ q(0),
+ ],
+ q(mey) => [
+ q(4169),
+ q(0),
+ ],
+ q(mez) => [
+ q(4170),
+ q(0),
+ ],
+ q(mfa) => [
+ q(4171),
+ q(0),
+ ],
+ q(mfb) => [
+ q(4172),
+ q(0),
+ ],
+ q(mfc) => [
+ q(4173),
+ q(0),
+ ],
+ q(mfd) => [
+ q(4174),
+ q(0),
+ ],
+ q(mfe) => [
+ q(4175),
+ q(0),
+ ],
+ q(mff) => [
+ q(4176),
+ q(0),
+ ],
+ q(mfg) => [
+ q(4177),
+ q(0),
+ ],
+ q(mfh) => [
+ q(4178),
+ q(0),
+ ],
+ q(mfi) => [
+ q(4179),
+ q(0),
+ ],
+ q(mfj) => [
+ q(4180),
+ q(0),
+ ],
+ q(mfk) => [
+ q(4181),
+ q(0),
+ ],
+ q(mfl) => [
+ q(4182),
+ q(0),
+ ],
+ q(mfm) => [
+ q(4183),
+ q(0),
+ ],
+ q(mfn) => [
+ q(4184),
+ q(0),
+ ],
+ q(mfo) => [
+ q(4185),
+ q(0),
+ ],
+ q(mfp) => [
+ q(4186),
+ q(0),
+ ],
+ q(mfq) => [
+ q(4187),
+ q(0),
+ ],
+ q(mfr) => [
+ q(4188),
+ q(0),
+ ],
+ q(mfs) => [
+ q(4189),
+ q(0),
+ ],
+ q(mft) => [
+ q(4190),
+ q(0),
+ ],
+ q(mfu) => [
+ q(4191),
+ q(0),
+ ],
+ q(mfv) => [
+ q(4192),
+ q(0),
+ ],
+ q(mfw) => [
+ q(4193),
+ q(0),
+ ],
+ q(mfx) => [
+ q(4194),
+ q(0),
+ ],
+ q(mfy) => [
+ q(4195),
+ q(0),
+ ],
+ q(mfz) => [
+ q(4196),
+ q(0),
+ ],
+ q(mga) => [
+ q(0278),
+ q(1),
+ ],
+ q(mgb) => [
+ q(4197),
+ q(0),
+ ],
+ q(mgc) => [
+ q(4198),
+ q(0),
+ ],
+ q(mgd) => [
+ q(4199),
+ q(0),
+ ],
+ q(mge) => [
+ q(4200),
+ q(0),
+ ],
+ q(mgf) => [
+ q(4201),
+ q(0),
+ ],
+ q(mgg) => [
+ q(4202),
+ q(0),
+ ],
+ q(mgh) => [
+ q(4203),
+ q(0),
+ ],
+ q(mgi) => [
+ q(4204),
+ q(0),
+ ],
+ q(mgj) => [
+ q(4205),
+ q(0),
+ ],
+ q(mgk) => [
+ q(4206),
+ q(0),
+ ],
+ q(mgl) => [
+ q(4207),
+ q(0),
+ ],
+ q(mgm) => [
+ q(4208),
+ q(0),
+ ],
+ q(mgn) => [
+ q(4209),
+ q(0),
+ ],
+ q(mgo) => [
+ q(4210),
+ q(0),
+ ],
+ q(mgp) => [
+ q(4211),
+ q(0),
+ ],
+ q(mgq) => [
+ q(4212),
+ q(0),
+ ],
+ q(mgr) => [
+ q(4213),
+ q(0),
+ ],
+ q(mgs) => [
+ q(4214),
+ q(0),
+ ],
+ q(mgt) => [
+ q(4215),
+ q(0),
+ ],
+ q(mgu) => [
+ q(4216),
+ q(0),
+ ],
+ q(mgv) => [
+ q(4217),
+ q(0),
+ ],
+ q(mgw) => [
+ q(4218),
+ q(0),
+ ],
+ q(mgx) => [
+ q(4219),
+ q(0),
+ ],
+ q(mgy) => [
+ q(4220),
+ q(0),
+ ],
+ q(mgz) => [
+ q(4221),
+ q(0),
+ ],
+ q(mha) => [
+ q(4222),
+ q(0),
+ ],
+ q(mhb) => [
+ q(4223),
+ q(0),
+ ],
+ q(mhc) => [
+ q(4224),
+ q(0),
+ ],
+ q(mhd) => [
+ q(4225),
+ q(0),
+ ],
+ q(mhe) => [
+ q(4226),
+ q(0),
+ ],
+ q(mhf) => [
+ q(4227),
+ q(0),
+ ],
+ q(mhg) => [
+ q(4228),
+ q(0),
+ ],
+ q(mhh) => [
+ q(4229),
+ q(0),
+ ],
+ q(mhi) => [
+ q(4230),
+ q(0),
+ ],
+ q(mhj) => [
+ q(4231),
+ q(0),
+ ],
+ q(mhk) => [
+ q(4232),
+ q(0),
+ ],
+ q(mhl) => [
+ q(4233),
+ q(0),
+ ],
+ q(mhm) => [
+ q(4234),
+ q(0),
+ ],
+ q(mhn) => [
+ q(4235),
+ q(0),
+ ],
+ q(mho) => [
+ q(4236),
+ q(0),
+ ],
+ q(mhp) => [
+ q(4237),
+ q(0),
+ ],
+ q(mhq) => [
+ q(4238),
+ q(0),
+ ],
+ q(mhr) => [
+ q(4239),
+ q(0),
+ ],
+ q(mhs) => [
+ q(4240),
+ q(0),
+ ],
+ q(mht) => [
+ q(4241),
+ q(0),
+ ],
+ q(mhu) => [
+ q(4242),
+ q(0),
+ ],
+ q(mhw) => [
+ q(4243),
+ q(0),
+ ],
+ q(mhx) => [
+ q(4244),
+ q(0),
+ ],
+ q(mhy) => [
+ q(4245),
+ q(0),
+ ],
+ q(mhz) => [
+ q(4246),
+ q(0),
+ ],
+ q(mia) => [
+ q(4247),
+ q(0),
+ ],
+ q(mib) => [
+ q(4248),
+ q(0),
+ ],
+ q(mic) => [
+ q(0279),
+ q(0),
+ ],
+ q(mid) => [
+ q(4249),
+ q(0),
+ ],
+ q(mie) => [
+ q(4250),
+ q(0),
+ ],
+ q(mif) => [
+ q(4251),
+ q(0),
+ ],
+ q(mig) => [
+ q(4252),
+ q(0),
+ ],
+ q(mih) => [
+ q(4253),
+ q(0),
+ ],
+ q(mii) => [
+ q(4254),
+ q(0),
+ ],
+ q(mij) => [
+ q(4255),
+ q(0),
+ ],
+ q(mik) => [
+ q(4256),
+ q(0),
+ ],
+ q(mil) => [
+ q(4257),
+ q(0),
+ ],
+ q(mim) => [
+ q(4258),
+ q(0),
+ ],
+ q(min) => [
+ q(0280),
+ q(0),
+ ],
+ q(mio) => [
+ q(4259),
+ q(0),
+ ],
+ q(mip) => [
+ q(4260),
+ q(0),
+ ],
+ q(miq) => [
+ q(4261),
+ q(0),
+ ],
+ q(mir) => [
+ q(4262),
+ q(0),
+ ],
+ q(mis) => [
+ q(0281),
+ q(0),
+ ],
+ q(mit) => [
+ q(4263),
+ q(0),
+ ],
+ q(miu) => [
+ q(4264),
+ q(0),
+ ],
+ q(miw) => [
+ q(4265),
+ q(0),
+ ],
+ q(mix) => [
+ q(4266),
+ q(0),
+ ],
+ q(miy) => [
+ q(4267),
+ q(0),
+ ],
+ q(miz) => [
+ q(4268),
+ q(0),
+ ],
+ q(mjc) => [
+ q(4269),
+ q(0),
+ ],
+ q(mjd) => [
+ q(4270),
+ q(0),
+ ],
+ q(mje) => [
+ q(4271),
+ q(0),
+ ],
+ q(mjg) => [
+ q(4272),
+ q(0),
+ ],
+ q(mjh) => [
+ q(4273),
+ q(0),
+ ],
+ q(mji) => [
+ q(4274),
+ q(0),
+ ],
+ q(mjj) => [
+ q(4275),
+ q(0),
+ ],
+ q(mjk) => [
+ q(4276),
+ q(0),
+ ],
+ q(mjl) => [
+ q(4277),
+ q(0),
+ ],
+ q(mjm) => [
+ q(4278),
+ q(0),
+ ],
+ q(mjn) => [
+ q(4279),
+ q(0),
+ ],
+ q(mjo) => [
+ q(4280),
+ q(0),
+ ],
+ q(mjp) => [
+ q(4281),
+ q(0),
+ ],
+ q(mjq) => [
+ q(4282),
+ q(0),
+ ],
+ q(mjr) => [
+ q(4283),
+ q(0),
+ ],
+ q(mjs) => [
+ q(4284),
+ q(0),
+ ],
+ q(mjt) => [
+ q(4285),
+ q(0),
+ ],
+ q(mju) => [
+ q(4286),
+ q(0),
+ ],
+ q(mjv) => [
+ q(4287),
+ q(0),
+ ],
+ q(mjw) => [
+ q(4288),
+ q(0),
+ ],
+ q(mjx) => [
+ q(4289),
+ q(0),
+ ],
+ q(mjy) => [
+ q(4290),
+ q(0),
+ ],
+ q(mjz) => [
+ q(4291),
+ q(0),
+ ],
+ q(mka) => [
+ q(4292),
+ q(0),
+ ],
+ q(mkb) => [
+ q(4293),
+ q(0),
+ ],
+ q(mkc) => [
+ q(4294),
+ q(0),
+ ],
+ q(mke) => [
+ q(4295),
+ q(0),
+ ],
+ q(mkf) => [
+ q(4296),
+ q(0),
+ ],
+ q(mkg) => [
+ q(4297),
+ q(0),
+ ],
+ q(mkh) => [
+ q(0282),
+ q(0),
+ ],
+ q(mki) => [
+ q(4298),
+ q(0),
+ ],
+ q(mkj) => [
+ q(4299),
+ q(0),
+ ],
+ q(mkk) => [
+ q(4300),
+ q(0),
+ ],
+ q(mkl) => [
+ q(4301),
+ q(0),
+ ],
+ q(mkm) => [
+ q(4302),
+ q(0),
+ ],
+ q(mkn) => [
+ q(4303),
+ q(0),
+ ],
+ q(mko) => [
+ q(4304),
+ q(0),
+ ],
+ q(mkp) => [
+ q(4305),
+ q(0),
+ ],
+ q(mkq) => [
+ q(4306),
+ q(0),
+ ],
+ q(mkr) => [
+ q(4307),
+ q(0),
+ ],
+ q(mks) => [
+ q(4308),
+ q(0),
+ ],
+ q(mkt) => [
+ q(4309),
+ q(0),
+ ],
+ q(mku) => [
+ q(4310),
+ q(0),
+ ],
+ q(mkv) => [
+ q(4311),
+ q(0),
+ ],
+ q(mkw) => [
+ q(4312),
+ q(0),
+ ],
+ q(mkx) => [
+ q(4313),
+ q(0),
+ ],
+ q(mky) => [
+ q(4314),
+ q(0),
+ ],
+ q(mkz) => [
+ q(4315),
+ q(0),
+ ],
+ q(mla) => [
+ q(4316),
+ q(0),
+ ],
+ q(mlb) => [
+ q(4317),
+ q(0),
+ ],
+ q(mlc) => [
+ q(4318),
+ q(0),
+ ],
+ q(mld) => [
+ q(4319),
+ q(0),
+ ],
+ q(mle) => [
+ q(4320),
+ q(0),
+ ],
+ q(mlf) => [
+ q(4321),
+ q(0),
+ ],
+ q(mlg) => [
+ q(0283),
+ q(0),
+ ],
+ q(mlh) => [
+ q(4322),
+ q(0),
+ ],
+ q(mli) => [
+ q(4323),
+ q(0),
+ ],
+ q(mlj) => [
+ q(4324),
+ q(0),
+ ],
+ q(mlk) => [
+ q(4325),
+ q(0),
+ ],
+ q(mll) => [
+ q(4326),
+ q(0),
+ ],
+ q(mlm) => [
+ q(4327),
+ q(0),
+ ],
+ q(mln) => [
+ q(4328),
+ q(0),
+ ],
+ q(mlo) => [
+ q(4329),
+ q(0),
+ ],
+ q(mlp) => [
+ q(4330),
+ q(0),
+ ],
+ q(mlq) => [
+ q(4331),
+ q(0),
+ ],
+ q(mlr) => [
+ q(4332),
+ q(0),
+ ],
+ q(mls) => [
+ q(4333),
+ q(0),
+ ],
+ q(mlt) => [
+ q(0284),
+ q(0),
+ ],
+ q(mlu) => [
+ q(4334),
+ q(0),
+ ],
+ q(mlv) => [
+ q(4335),
+ q(0),
+ ],
+ q(mlw) => [
+ q(4336),
+ q(0),
+ ],
+ q(mlx) => [
+ q(4337),
+ q(0),
+ ],
+ q(mlz) => [
+ q(4338),
+ q(0),
+ ],
+ q(mma) => [
+ q(4339),
+ q(0),
+ ],
+ q(mmb) => [
+ q(4340),
+ q(0),
+ ],
+ q(mmc) => [
+ q(4341),
+ q(0),
+ ],
+ q(mmd) => [
+ q(4342),
+ q(0),
+ ],
+ q(mme) => [
+ q(4343),
+ q(0),
+ ],
+ q(mmf) => [
+ q(4344),
+ q(0),
+ ],
+ q(mmg) => [
+ q(4345),
+ q(0),
+ ],
+ q(mmh) => [
+ q(4346),
+ q(0),
+ ],
+ q(mmi) => [
+ q(4347),
+ q(0),
+ ],
+ q(mmj) => [
+ q(4348),
+ q(0),
+ ],
+ q(mmk) => [
+ q(4349),
+ q(0),
+ ],
+ q(mml) => [
+ q(4350),
+ q(0),
+ ],
+ q(mmm) => [
+ q(4351),
+ q(0),
+ ],
+ q(mmn) => [
+ q(4352),
+ q(0),
+ ],
+ q(mmo) => [
+ q(4353),
+ q(0),
+ ],
+ q(mmp) => [
+ q(4354),
+ q(0),
+ ],
+ q(mmq) => [
+ q(4355),
+ q(0),
+ ],
+ q(mmr) => [
+ q(4356),
+ q(0),
+ ],
+ q(mmt) => [
+ q(4357),
+ q(0),
+ ],
+ q(mmu) => [
+ q(4358),
+ q(0),
+ ],
+ q(mmv) => [
+ q(4359),
+ q(0),
+ ],
+ q(mmw) => [
+ q(4360),
+ q(0),
+ ],
+ q(mmx) => [
+ q(4361),
+ q(0),
+ ],
+ q(mmy) => [
+ q(4362),
+ q(0),
+ ],
+ q(mmz) => [
+ q(4363),
+ q(0),
+ ],
+ q(mna) => [
+ q(4364),
+ q(0),
+ ],
+ q(mnb) => [
+ q(4365),
+ q(0),
+ ],
+ q(mnc) => [
+ q(0285),
+ q(0),
+ ],
+ q(mnd) => [
+ q(4366),
+ q(0),
+ ],
+ q(mne) => [
+ q(4367),
+ q(0),
+ ],
+ q(mnf) => [
+ q(4368),
+ q(0),
+ ],
+ q(mng) => [
+ q(4369),
+ q(0),
+ ],
+ q(mnh) => [
+ q(4370),
+ q(0),
+ ],
+ q(mni) => [
+ q(0286),
+ q(0),
+ ],
+ q(mnj) => [
+ q(4371),
+ q(0),
+ ],
+ q(mnk) => [
+ q(4372),
+ q(0),
+ ],
+ q(mnl) => [
+ q(4373),
+ q(0),
+ ],
+ q(mnm) => [
+ q(4374),
+ q(0),
+ ],
+ q(mnn) => [
+ q(4375),
+ q(0),
+ ],
+ q(mno) => [
+ q(0287),
+ q(0),
+ ],
+ q(mnp) => [
+ q(4376),
+ q(0),
+ ],
+ q(mnq) => [
+ q(4377),
+ q(0),
+ ],
+ q(mnr) => [
+ q(4378),
+ q(0),
+ ],
+ q(mns) => [
+ q(4379),
+ q(0),
+ ],
+ q(mnt) => [
+ q(4380),
+ q(0),
+ ],
+ q(mnu) => [
+ q(4381),
+ q(0),
+ ],
+ q(mnv) => [
+ q(4382),
+ q(0),
+ ],
+ q(mnw) => [
+ q(4383),
+ q(0),
+ ],
+ q(mnx) => [
+ q(4384),
+ q(0),
+ ],
+ q(mny) => [
+ q(4385),
+ q(0),
+ ],
+ q(mnz) => [
+ q(4386),
+ q(0),
+ ],
+ q(moa) => [
+ q(4387),
+ q(0),
+ ],
+ q(moc) => [
+ q(4388),
+ q(0),
+ ],
+ q(mod) => [
+ q(4389),
+ q(0),
+ ],
+ q(moe) => [
+ q(4390),
+ q(0),
+ ],
+ q(mog) => [
+ q(4391),
+ q(0),
+ ],
+ q(moh) => [
+ q(0288),
+ q(0),
+ ],
+ q(moi) => [
+ q(4392),
+ q(0),
+ ],
+ q(moj) => [
+ q(4393),
+ q(0),
+ ],
+ q(mok) => [
+ q(4394),
+ q(0),
+ ],
+ q(mom) => [
+ q(4395),
+ q(0),
+ ],
+ q(mon) => [
+ q(0289),
+ q(0),
+ ],
+ q(moo) => [
+ q(4396),
+ q(0),
+ ],
+ q(mop) => [
+ q(4397),
+ q(0),
+ ],
+ q(moq) => [
+ q(4398),
+ q(0),
+ ],
+ q(mor) => [
+ q(4399),
+ q(0),
+ ],
+ q(mos) => [
+ q(0290),
+ q(0),
+ ],
+ q(mot) => [
+ q(1130),
+ q(0),
+ ],
+ q(mou) => [
+ q(4400),
+ q(0),
+ ],
+ q(mov) => [
+ q(4401),
+ q(0),
+ ],
+ q(mow) => [
+ q(4402),
+ q(0),
+ ],
+ q(mox) => [
+ q(4403),
+ q(0),
+ ],
+ q(moy) => [
+ q(4404),
+ q(0),
+ ],
+ q(moz) => [
+ q(4405),
+ q(0),
+ ],
+ q(mpa) => [
+ q(4406),
+ q(0),
+ ],
+ q(mpb) => [
+ q(4407),
+ q(0),
+ ],
+ q(mpc) => [
+ q(4408),
+ q(0),
+ ],
+ q(mpd) => [
+ q(4409),
+ q(0),
+ ],
+ q(mpe) => [
+ q(4410),
+ q(0),
+ ],
+ q(mpg) => [
+ q(4411),
+ q(0),
+ ],
+ q(mph) => [
+ q(4412),
+ q(0),
+ ],
+ q(mpi) => [
+ q(4413),
+ q(0),
+ ],
+ q(mpj) => [
+ q(4414),
+ q(0),
+ ],
+ q(mpk) => [
+ q(4415),
+ q(0),
+ ],
+ q(mpl) => [
+ q(4416),
+ q(0),
+ ],
+ q(mpm) => [
+ q(4417),
+ q(0),
+ ],
+ q(mpn) => [
+ q(4418),
+ q(0),
+ ],
+ q(mpo) => [
+ q(4419),
+ q(0),
+ ],
+ q(mpp) => [
+ q(4420),
+ q(0),
+ ],
+ q(mpq) => [
+ q(4421),
+ q(0),
+ ],
+ q(mpr) => [
+ q(4422),
+ q(0),
+ ],
+ q(mps) => [
+ q(4423),
+ q(0),
+ ],
+ q(mpt) => [
+ q(4424),
+ q(0),
+ ],
+ q(mpu) => [
+ q(4425),
+ q(0),
+ ],
+ q(mpv) => [
+ q(4426),
+ q(0),
+ ],
+ q(mpw) => [
+ q(4427),
+ q(0),
+ ],
+ q(mpx) => [
+ q(4428),
+ q(0),
+ ],
+ q(mpy) => [
+ q(4429),
+ q(0),
+ ],
+ q(mpz) => [
+ q(4430),
+ q(0),
+ ],
+ q(mqa) => [
+ q(4431),
+ q(0),
+ ],
+ q(mqb) => [
+ q(4432),
+ q(0),
+ ],
+ q(mqc) => [
+ q(4433),
+ q(0),
+ ],
+ q(mqe) => [
+ q(4434),
+ q(0),
+ ],
+ q(mqf) => [
+ q(4435),
+ q(0),
+ ],
+ q(mqg) => [
+ q(4436),
+ q(0),
+ ],
+ q(mqh) => [
+ q(4437),
+ q(0),
+ ],
+ q(mqi) => [
+ q(4438),
+ q(0),
+ ],
+ q(mqj) => [
+ q(4439),
+ q(0),
+ ],
+ q(mqk) => [
+ q(4440),
+ q(0),
+ ],
+ q(mql) => [
+ q(4441),
+ q(0),
+ ],
+ q(mqm) => [
+ q(4442),
+ q(0),
+ ],
+ q(mqn) => [
+ q(4443),
+ q(0),
+ ],
+ q(mqo) => [
+ q(4444),
+ q(0),
+ ],
+ q(mqp) => [
+ q(4445),
+ q(0),
+ ],
+ q(mqq) => [
+ q(4446),
+ q(0),
+ ],
+ q(mqr) => [
+ q(4447),
+ q(0),
+ ],
+ q(mqs) => [
+ q(4448),
+ q(0),
+ ],
+ q(mqt) => [
+ q(4449),
+ q(0),
+ ],
+ q(mqu) => [
+ q(4450),
+ q(0),
+ ],
+ q(mqv) => [
+ q(4451),
+ q(0),
+ ],
+ q(mqw) => [
+ q(4452),
+ q(0),
+ ],
+ q(mqx) => [
+ q(4453),
+ q(0),
+ ],
+ q(mqy) => [
+ q(4454),
+ q(0),
+ ],
+ q(mqz) => [
+ q(4455),
+ q(0),
+ ],
+ q(mra) => [
+ q(4456),
+ q(0),
+ ],
+ q(mrb) => [
+ q(4457),
+ q(0),
+ ],
+ q(mrc) => [
+ q(4458),
+ q(0),
+ ],
+ q(mrd) => [
+ q(4459),
+ q(0),
+ ],
+ q(mre) => [
+ q(4460),
+ q(0),
+ ],
+ q(mrf) => [
+ q(4461),
+ q(0),
+ ],
+ q(mrg) => [
+ q(4462),
+ q(0),
+ ],
+ q(mrh) => [
+ q(4463),
+ q(0),
+ ],
+ q(mrj) => [
+ q(4464),
+ q(0),
+ ],
+ q(mrk) => [
+ q(4465),
+ q(0),
+ ],
+ q(mrl) => [
+ q(4466),
+ q(0),
+ ],
+ q(mrm) => [
+ q(4467),
+ q(0),
+ ],
+ q(mrn) => [
+ q(4468),
+ q(0),
+ ],
+ q(mro) => [
+ q(4469),
+ q(0),
+ ],
+ q(mrp) => [
+ q(4470),
+ q(0),
+ ],
+ q(mrq) => [
+ q(4471),
+ q(0),
+ ],
+ q(mrr) => [
+ q(4472),
+ q(0),
+ ],
+ q(mrs) => [
+ q(4473),
+ q(0),
+ ],
+ q(mrt) => [
+ q(4474),
+ q(0),
+ ],
+ q(mru) => [
+ q(4475),
+ q(0),
+ ],
+ q(mrv) => [
+ q(4476),
+ q(0),
+ ],
+ q(mrw) => [
+ q(4477),
+ q(0),
+ ],
+ q(mrx) => [
+ q(4478),
+ q(0),
+ ],
+ q(mry) => [
+ q(4479),
+ q(0),
+ ],
+ q(mrz) => [
+ q(4480),
+ q(0),
+ ],
+ q(msb) => [
+ q(4481),
+ q(0),
+ ],
+ q(msc) => [
+ q(4482),
+ q(0),
+ ],
+ q(msd) => [
+ q(4483),
+ q(0),
+ ],
+ q(mse) => [
+ q(4484),
+ q(0),
+ ],
+ q(msf) => [
+ q(4485),
+ q(0),
+ ],
+ q(msg) => [
+ q(4486),
+ q(0),
+ ],
+ q(msh) => [
+ q(4487),
+ q(0),
+ ],
+ q(msi) => [
+ q(4488),
+ q(0),
+ ],
+ q(msj) => [
+ q(4489),
+ q(0),
+ ],
+ q(msk) => [
+ q(4490),
+ q(0),
+ ],
+ q(msl) => [
+ q(4491),
+ q(0),
+ ],
+ q(msm) => [
+ q(4492),
+ q(0),
+ ],
+ q(msn) => [
+ q(4493),
+ q(0),
+ ],
+ q(mso) => [
+ q(4494),
+ q(0),
+ ],
+ q(msp) => [
+ q(4495),
+ q(0),
+ ],
+ q(msq) => [
+ q(4496),
+ q(0),
+ ],
+ q(msr) => [
+ q(4497),
+ q(0),
+ ],
+ q(mss) => [
+ q(4498),
+ q(0),
+ ],
+ q(msu) => [
+ q(4499),
+ q(0),
+ ],
+ q(msv) => [
+ q(4500),
+ q(0),
+ ],
+ q(msw) => [
+ q(4501),
+ q(0),
+ ],
+ q(msx) => [
+ q(4502),
+ q(0),
+ ],
+ q(msy) => [
+ q(4503),
+ q(0),
+ ],
+ q(msz) => [
+ q(4504),
+ q(0),
+ ],
+ q(mta) => [
+ q(4505),
+ q(0),
+ ],
+ q(mtb) => [
+ q(4506),
+ q(0),
+ ],
+ q(mtc) => [
+ q(4507),
+ q(0),
+ ],
+ q(mtd) => [
+ q(4508),
+ q(0),
+ ],
+ q(mte) => [
+ q(4509),
+ q(0),
+ ],
+ q(mtf) => [
+ q(4510),
+ q(0),
+ ],
+ q(mtg) => [
+ q(4511),
+ q(0),
+ ],
+ q(mth) => [
+ q(4512),
+ q(0),
+ ],
+ q(mti) => [
+ q(4513),
+ q(0),
+ ],
+ q(mtj) => [
+ q(4514),
+ q(0),
+ ],
+ q(mtk) => [
+ q(4515),
+ q(0),
+ ],
+ q(mtl) => [
+ q(4516),
+ q(0),
+ ],
+ q(mtm) => [
+ q(4517),
+ q(0),
+ ],
+ q(mtn) => [
+ q(4518),
+ q(0),
+ ],
+ q(mto) => [
+ q(4519),
+ q(0),
+ ],
+ q(mtp) => [
+ q(4520),
+ q(0),
+ ],
+ q(mtq) => [
+ q(4521),
+ q(0),
+ ],
+ q(mtr) => [
+ q(4522),
+ q(0),
+ ],
+ q(mts) => [
+ q(4523),
+ q(0),
+ ],
+ q(mtt) => [
+ q(4524),
+ q(0),
+ ],
+ q(mtu) => [
+ q(4525),
+ q(0),
+ ],
+ q(mtv) => [
+ q(4526),
+ q(0),
+ ],
+ q(mtw) => [
+ q(4527),
+ q(0),
+ ],
+ q(mtx) => [
+ q(4528),
+ q(0),
+ ],
+ q(mty) => [
+ q(4529),
+ q(0),
+ ],
+ q(mua) => [
+ q(4530),
+ q(0),
+ ],
+ q(mub) => [
+ q(4531),
+ q(0),
+ ],
+ q(muc) => [
+ q(4532),
+ q(0),
+ ],
+ q(mud) => [
+ q(4533),
+ q(0),
+ ],
+ q(mue) => [
+ q(4534),
+ q(0),
+ ],
+ q(mug) => [
+ q(4535),
+ q(0),
+ ],
+ q(muh) => [
+ q(4536),
+ q(0),
+ ],
+ q(mui) => [
+ q(4537),
+ q(0),
+ ],
+ q(muj) => [
+ q(4538),
+ q(0),
+ ],
+ q(muk) => [
+ q(4539),
+ q(0),
+ ],
+ q(mul) => [
+ q(0291),
+ q(0),
+ ],
+ q(mum) => [
+ q(4540),
+ q(0),
+ ],
+ q(mun) => [
+ q(0292),
+ q(0),
+ ],
+ q(muo) => [
+ q(4541),
+ q(0),
+ ],
+ q(mup) => [
+ q(4542),
+ q(0),
+ ],
+ q(muq) => [
+ q(4543),
+ q(0),
+ ],
+ q(mur) => [
+ q(4544),
+ q(0),
+ ],
+ q(mus) => [
+ q(0293),
+ q(0),
+ ],
+ q(mut) => [
+ q(4545),
+ q(0),
+ ],
+ q(muu) => [
+ q(4546),
+ q(0),
+ ],
+ q(muv) => [
+ q(4547),
+ q(0),
+ ],
+ q(mux) => [
+ q(4548),
+ q(0),
+ ],
+ q(muy) => [
+ q(4549),
+ q(0),
+ ],
+ q(muz) => [
+ q(4550),
+ q(0),
+ ],
+ q(mva) => [
+ q(4551),
+ q(0),
+ ],
+ q(mvb) => [
+ q(4552),
+ q(0),
+ ],
+ q(mvd) => [
+ q(4553),
+ q(0),
+ ],
+ q(mve) => [
+ q(4554),
+ q(0),
+ ],
+ q(mvf) => [
+ q(4555),
+ q(0),
+ ],
+ q(mvg) => [
+ q(4556),
+ q(0),
+ ],
+ q(mvh) => [
+ q(4557),
+ q(0),
+ ],
+ q(mvi) => [
+ q(4558),
+ q(0),
+ ],
+ q(mvk) => [
+ q(4559),
+ q(0),
+ ],
+ q(mvl) => [
+ q(4560),
+ q(0),
+ ],
+ q(mvm) => [
+ q(4561),
+ q(0),
+ ],
+ q(mvn) => [
+ q(4562),
+ q(0),
+ ],
+ q(mvo) => [
+ q(4563),
+ q(0),
+ ],
+ q(mvp) => [
+ q(4564),
+ q(0),
+ ],
+ q(mvq) => [
+ q(4565),
+ q(0),
+ ],
+ q(mvr) => [
+ q(4566),
+ q(0),
+ ],
+ q(mvs) => [
+ q(4567),
+ q(0),
+ ],
+ q(mvt) => [
+ q(4568),
+ q(0),
+ ],
+ q(mvu) => [
+ q(4569),
+ q(0),
+ ],
+ q(mvv) => [
+ q(4570),
+ q(0),
+ ],
+ q(mvw) => [
+ q(4571),
+ q(0),
+ ],
+ q(mvx) => [
+ q(4572),
+ q(0),
+ ],
+ q(mvy) => [
+ q(4573),
+ q(0),
+ ],
+ q(mvz) => [
+ q(4574),
+ q(0),
+ ],
+ q(mwa) => [
+ q(4575),
+ q(0),
+ ],
+ q(mwb) => [
+ q(4576),
+ q(0),
+ ],
+ q(mwc) => [
+ q(4577),
+ q(0),
+ ],
+ q(mwd) => [
+ q(4578),
+ q(0),
+ ],
+ q(mwe) => [
+ q(4579),
+ q(0),
+ ],
+ q(mwf) => [
+ q(4580),
+ q(0),
+ ],
+ q(mwg) => [
+ q(4581),
+ q(0),
+ ],
+ q(mwh) => [
+ q(4582),
+ q(0),
+ ],
+ q(mwi) => [
+ q(4583),
+ q(0),
+ ],
+ q(mwj) => [
+ q(4584),
+ q(0),
+ ],
+ q(mwk) => [
+ q(4585),
+ q(0),
+ ],
+ q(mwl) => [
+ q(0294),
+ q(0),
+ ],
+ q(mwm) => [
+ q(4586),
+ q(0),
+ ],
+ q(mwn) => [
+ q(4587),
+ q(0),
+ ],
+ q(mwo) => [
+ q(4588),
+ q(0),
+ ],
+ q(mwp) => [
+ q(4589),
+ q(0),
+ ],
+ q(mwq) => [
+ q(4590),
+ q(0),
+ ],
+ q(mwr) => [
+ q(0295),
+ q(0),
+ ],
+ q(mws) => [
+ q(4591),
+ q(0),
+ ],
+ q(mwt) => [
+ q(4592),
+ q(0),
+ ],
+ q(mwu) => [
+ q(4593),
+ q(0),
+ ],
+ q(mwv) => [
+ q(4594),
+ q(0),
+ ],
+ q(mww) => [
+ q(4595),
+ q(0),
+ ],
+ q(mwx) => [
+ q(4596),
+ q(0),
+ ],
+ q(mwy) => [
+ q(4597),
+ q(0),
+ ],
+ q(mwz) => [
+ q(4598),
+ q(0),
+ ],
+ q(mxa) => [
+ q(4599),
+ q(0),
+ ],
+ q(mxb) => [
+ q(4600),
+ q(0),
+ ],
+ q(mxc) => [
+ q(4601),
+ q(0),
+ ],
+ q(mxd) => [
+ q(4602),
+ q(0),
+ ],
+ q(mxe) => [
+ q(4603),
+ q(0),
+ ],
+ q(mxf) => [
+ q(4604),
+ q(0),
+ ],
+ q(mxg) => [
+ q(4605),
+ q(0),
+ ],
+ q(mxh) => [
+ q(4606),
+ q(0),
+ ],
+ q(mxi) => [
+ q(4607),
+ q(0),
+ ],
+ q(mxj) => [
+ q(4608),
+ q(0),
+ ],
+ q(mxk) => [
+ q(4609),
+ q(0),
+ ],
+ q(mxl) => [
+ q(4610),
+ q(0),
+ ],
+ q(mxm) => [
+ q(4611),
+ q(0),
+ ],
+ q(mxn) => [
+ q(4612),
+ q(0),
+ ],
+ q(mxo) => [
+ q(4613),
+ q(0),
+ ],
+ q(mxp) => [
+ q(4614),
+ q(0),
+ ],
+ q(mxq) => [
+ q(4615),
+ q(0),
+ ],
+ q(mxr) => [
+ q(4616),
+ q(0),
+ ],
+ q(mxs) => [
+ q(4617),
+ q(0),
+ ],
+ q(mxt) => [
+ q(4618),
+ q(0),
+ ],
+ q(mxu) => [
+ q(4619),
+ q(0),
+ ],
+ q(mxv) => [
+ q(4620),
+ q(0),
+ ],
+ q(mxw) => [
+ q(4621),
+ q(0),
+ ],
+ q(mxx) => [
+ q(4622),
+ q(0),
+ ],
+ q(mxy) => [
+ q(4623),
+ q(0),
+ ],
+ q(mxz) => [
+ q(4624),
+ q(0),
+ ],
+ q(myb) => [
+ q(4625),
+ q(0),
+ ],
+ q(myc) => [
+ q(4626),
+ q(0),
+ ],
+ q(myd) => [
+ q(4627),
+ q(0),
+ ],
+ q(mye) => [
+ q(4628),
+ q(0),
+ ],
+ q(myf) => [
+ q(4629),
+ q(0),
+ ],
+ q(myg) => [
+ q(4630),
+ q(0),
+ ],
+ q(myh) => [
+ q(4631),
+ q(0),
+ ],
+ q(myi) => [
+ q(4632),
+ q(0),
+ ],
+ q(myj) => [
+ q(4633),
+ q(0),
+ ],
+ q(myk) => [
+ q(4634),
+ q(0),
+ ],
+ q(myl) => [
+ q(4635),
+ q(0),
+ ],
+ q(mym) => [
+ q(4636),
+ q(0),
+ ],
+ q(myn) => [
+ q(0296),
+ q(0),
+ ],
+ q(myo) => [
+ q(4637),
+ q(0),
+ ],
+ q(myp) => [
+ q(4638),
+ q(0),
+ ],
+ q(myq) => [
+ q(4639),
+ q(0),
+ ],
+ q(myr) => [
+ q(4640),
+ q(0),
+ ],
+ q(mys) => [
+ q(4641),
+ q(0),
+ ],
+ q(myu) => [
+ q(4642),
+ q(0),
+ ],
+ q(myv) => [
+ q(0297),
+ q(0),
+ ],
+ q(myw) => [
+ q(4643),
+ q(0),
+ ],
+ q(myx) => [
+ q(4644),
+ q(0),
+ ],
+ q(myy) => [
+ q(4645),
+ q(0),
+ ],
+ q(myz) => [
+ q(4646),
+ q(0),
+ ],
+ q(mza) => [
+ q(4647),
+ q(0),
+ ],
+ q(mzb) => [
+ q(4648),
+ q(0),
+ ],
+ q(mzc) => [
+ q(4649),
+ q(0),
+ ],
+ q(mzd) => [
+ q(4650),
+ q(0),
+ ],
+ q(mze) => [
+ q(4651),
+ q(0),
+ ],
+ q(mzg) => [
+ q(4652),
+ q(0),
+ ],
+ q(mzh) => [
+ q(4653),
+ q(0),
+ ],
+ q(mzi) => [
+ q(4654),
+ q(0),
+ ],
+ q(mzj) => [
+ q(4655),
+ q(0),
+ ],
+ q(mzk) => [
+ q(4656),
+ q(0),
+ ],
+ q(mzl) => [
+ q(4657),
+ q(0),
+ ],
+ q(mzm) => [
+ q(4658),
+ q(0),
+ ],
+ q(mzn) => [
+ q(4659),
+ q(0),
+ ],
+ q(mzo) => [
+ q(4660),
+ q(0),
+ ],
+ q(mzp) => [
+ q(4661),
+ q(0),
+ ],
+ q(mzq) => [
+ q(4662),
+ q(0),
+ ],
+ q(mzr) => [
+ q(4663),
+ q(0),
+ ],
+ q(mzs) => [
+ q(4664),
+ q(0),
+ ],
+ q(mzt) => [
+ q(4665),
+ q(0),
+ ],
+ q(mzu) => [
+ q(4666),
+ q(0),
+ ],
+ q(mzv) => [
+ q(4667),
+ q(0),
+ ],
+ q(mzw) => [
+ q(4668),
+ q(0),
+ ],
+ q(mzx) => [
+ q(4669),
+ q(0),
+ ],
+ q(mzy) => [
+ q(4670),
+ q(0),
+ ],
+ q(mzz) => [
+ q(4671),
+ q(0),
+ ],
+ q(naa) => [
+ q(4672),
+ q(0),
+ ],
+ q(nab) => [
+ q(4673),
+ q(0),
+ ],
+ q(nac) => [
+ q(4674),
+ q(0),
+ ],
+ q(nad) => [
+ q(4675),
+ q(0),
+ ],
+ q(nae) => [
+ q(4676),
+ q(0),
+ ],
+ q(naf) => [
+ q(4677),
+ q(0),
+ ],
+ q(nag) => [
+ q(4678),
+ q(0),
+ ],
+ q(nah) => [
+ q(0298),
+ q(0),
+ ],
+ q(nai) => [
+ q(0299),
+ q(0),
+ ],
+ q(naj) => [
+ q(4679),
+ q(0),
+ ],
+ q(nak) => [
+ q(4680),
+ q(0),
+ ],
+ q(nal) => [
+ q(4681),
+ q(0),
+ ],
+ q(nam) => [
+ q(4682),
+ q(0),
+ ],
+ q(nan) => [
+ q(4683),
+ q(0),
+ ],
+ q(nao) => [
+ q(4684),
+ q(0),
+ ],
+ q(nap) => [
+ q(0300),
+ q(0),
+ ],
+ q(naq) => [
+ q(4685),
+ q(0),
+ ],
+ q(nar) => [
+ q(4686),
+ q(0),
+ ],
+ q(nas) => [
+ q(4687),
+ q(0),
+ ],
+ q(nat) => [
+ q(4688),
+ q(0),
+ ],
+ q(nau) => [
+ q(0301),
+ q(0),
+ ],
+ q(nav) => [
+ q(0302),
+ q(0),
+ ],
+ q(naw) => [
+ q(4689),
+ q(0),
+ ],
+ q(nax) => [
+ q(4690),
+ q(0),
+ ],
+ q(nay) => [
+ q(4691),
+ q(0),
+ ],
+ q(naz) => [
+ q(4692),
+ q(0),
+ ],
+ q(nba) => [
+ q(4693),
+ q(0),
+ ],
+ q(nbb) => [
+ q(4694),
+ q(0),
+ ],
+ q(nbc) => [
+ q(4695),
+ q(0),
+ ],
+ q(nbd) => [
+ q(4696),
+ q(0),
+ ],
+ q(nbe) => [
+ q(4697),
+ q(0),
+ ],
+ q(nbg) => [
+ q(4698),
+ q(0),
+ ],
+ q(nbh) => [
+ q(4699),
+ q(0),
+ ],
+ q(nbi) => [
+ q(4700),
+ q(0),
+ ],
+ q(nbj) => [
+ q(4701),
+ q(0),
+ ],
+ q(nbk) => [
+ q(4702),
+ q(0),
+ ],
+ q(nbl) => [
+ q(0303),
+ q(0),
+ ],
+ q(nbm) => [
+ q(4703),
+ q(0),
+ ],
+ q(nbn) => [
+ q(4704),
+ q(0),
+ ],
+ q(nbo) => [
+ q(4705),
+ q(0),
+ ],
+ q(nbp) => [
+ q(4706),
+ q(0),
+ ],
+ q(nbq) => [
+ q(4707),
+ q(0),
+ ],
+ q(nbr) => [
+ q(4708),
+ q(0),
+ ],
+ q(nbs) => [
+ q(4709),
+ q(0),
+ ],
+ q(nbt) => [
+ q(4710),
+ q(0),
+ ],
+ q(nbu) => [
+ q(4711),
+ q(0),
+ ],
+ q(nbv) => [
+ q(4712),
+ q(0),
+ ],
+ q(nbw) => [
+ q(4713),
+ q(0),
+ ],
+ q(nbx) => [
+ q(4714),
+ q(0),
+ ],
+ q(nby) => [
+ q(4715),
+ q(0),
+ ],
+ q(nca) => [
+ q(4716),
+ q(0),
+ ],
+ q(ncb) => [
+ q(4717),
+ q(0),
+ ],
+ q(ncc) => [
+ q(4718),
+ q(0),
+ ],
+ q(ncd) => [
+ q(4719),
+ q(0),
+ ],
+ q(nce) => [
+ q(4720),
+ q(0),
+ ],
+ q(ncf) => [
+ q(4721),
+ q(0),
+ ],
+ q(ncg) => [
+ q(4722),
+ q(0),
+ ],
+ q(nch) => [
+ q(4723),
+ q(0),
+ ],
+ q(nci) => [
+ q(4724),
+ q(0),
+ ],
+ q(ncj) => [
+ q(4725),
+ q(0),
+ ],
+ q(nck) => [
+ q(4726),
+ q(0),
+ ],
+ q(ncl) => [
+ q(4727),
+ q(0),
+ ],
+ q(ncm) => [
+ q(4728),
+ q(0),
+ ],
+ q(ncn) => [
+ q(4729),
+ q(0),
+ ],
+ q(nco) => [
+ q(4730),
+ q(0),
+ ],
+ q(ncp) => [
+ q(4731),
+ q(0),
+ ],
+ q(ncr) => [
+ q(4732),
+ q(0),
+ ],
+ q(ncs) => [
+ q(4733),
+ q(0),
+ ],
+ q(nct) => [
+ q(4734),
+ q(0),
+ ],
+ q(ncu) => [
+ q(4735),
+ q(0),
+ ],
+ q(ncx) => [
+ q(4736),
+ q(0),
+ ],
+ q(ncz) => [
+ q(4737),
+ q(0),
+ ],
+ q(nda) => [
+ q(4738),
+ q(0),
+ ],
+ q(ndb) => [
+ q(4739),
+ q(0),
+ ],
+ q(ndc) => [
+ q(4740),
+ q(0),
+ ],
+ q(ndd) => [
+ q(4741),
+ q(0),
+ ],
+ q(nde) => [
+ q(0304),
+ q(0),
+ ],
+ q(ndf) => [
+ q(4742),
+ q(0),
+ ],
+ q(ndg) => [
+ q(4743),
+ q(0),
+ ],
+ q(ndh) => [
+ q(4744),
+ q(0),
+ ],
+ q(ndi) => [
+ q(4745),
+ q(0),
+ ],
+ q(ndj) => [
+ q(4746),
+ q(0),
+ ],
+ q(ndk) => [
+ q(4747),
+ q(0),
+ ],
+ q(ndl) => [
+ q(4748),
+ q(0),
+ ],
+ q(ndm) => [
+ q(4749),
+ q(0),
+ ],
+ q(ndn) => [
+ q(4750),
+ q(0),
+ ],
+ q(ndo) => [
+ q(0305),
+ q(0),
+ ],
+ q(ndp) => [
+ q(4751),
+ q(0),
+ ],
+ q(ndq) => [
+ q(4752),
+ q(0),
+ ],
+ q(ndr) => [
+ q(4753),
+ q(0),
+ ],
+ q(nds) => [
+ q(0306),
+ q(0),
+ ],
+ q(ndt) => [
+ q(4754),
+ q(0),
+ ],
+ q(ndu) => [
+ q(4755),
+ q(0),
+ ],
+ q(ndv) => [
+ q(4756),
+ q(0),
+ ],
+ q(ndw) => [
+ q(4757),
+ q(0),
+ ],
+ q(ndx) => [
+ q(4758),
+ q(0),
+ ],
+ q(ndy) => [
+ q(4759),
+ q(0),
+ ],
+ q(ndz) => [
+ q(4760),
+ q(0),
+ ],
+ q(nea) => [
+ q(4761),
+ q(0),
+ ],
+ q(neb) => [
+ q(4762),
+ q(0),
+ ],
+ q(nec) => [
+ q(4763),
+ q(0),
+ ],
+ q(ned) => [
+ q(4764),
+ q(0),
+ ],
+ q(nee) => [
+ q(4765),
+ q(0),
+ ],
+ q(nef) => [
+ q(4766),
+ q(0),
+ ],
+ q(neg) => [
+ q(4767),
+ q(0),
+ ],
+ q(neh) => [
+ q(4768),
+ q(0),
+ ],
+ q(nei) => [
+ q(4769),
+ q(0),
+ ],
+ q(nej) => [
+ q(4770),
+ q(0),
+ ],
+ q(nek) => [
+ q(4771),
+ q(0),
+ ],
+ q(nem) => [
+ q(4772),
+ q(0),
+ ],
+ q(nen) => [
+ q(4773),
+ q(0),
+ ],
+ q(neo) => [
+ q(4774),
+ q(0),
+ ],
+ q(nep) => [
+ q(0307),
+ q(0),
+ ],
+ q(neq) => [
+ q(4775),
+ q(0),
+ ],
+ q(ner) => [
+ q(4776),
+ q(0),
+ ],
+ q(nes) => [
+ q(4777),
+ q(0),
+ ],
+ q(net) => [
+ q(4778),
+ q(0),
+ ],
+ q(nev) => [
+ q(4779),
+ q(0),
+ ],
+ q(new) => [
+ q(0308),
+ q(0),
+ ],
+ q(nex) => [
+ q(4780),
+ q(0),
+ ],
+ q(ney) => [
+ q(4781),
+ q(0),
+ ],
+ q(nez) => [
+ q(4782),
+ q(0),
+ ],
+ q(nfa) => [
+ q(4783),
+ q(0),
+ ],
+ q(nfd) => [
+ q(4784),
+ q(0),
+ ],
+ q(nfl) => [
+ q(4785),
+ q(0),
+ ],
+ q(nfr) => [
+ q(4786),
+ q(0),
+ ],
+ q(nfu) => [
+ q(4787),
+ q(0),
+ ],
+ q(nga) => [
+ q(4788),
+ q(0),
+ ],
+ q(ngb) => [
+ q(4789),
+ q(0),
+ ],
+ q(ngc) => [
+ q(4790),
+ q(0),
+ ],
+ q(ngd) => [
+ q(4791),
+ q(0),
+ ],
+ q(nge) => [
+ q(4792),
+ q(0),
+ ],
+ q(ngf) => [
+ q(0515),
+ q(0),
+ ],
+ q(ngg) => [
+ q(4793),
+ q(0),
+ ],
+ q(ngh) => [
+ q(4794),
+ q(0),
+ ],
+ q(ngi) => [
+ q(4795),
+ q(0),
+ ],
+ q(ngj) => [
+ q(4796),
+ q(0),
+ ],
+ q(ngk) => [
+ q(4797),
+ q(0),
+ ],
+ q(ngl) => [
+ q(4798),
+ q(0),
+ ],
+ q(ngm) => [
+ q(4799),
+ q(0),
+ ],
+ q(ngn) => [
+ q(4800),
+ q(0),
+ ],
+ q(ngo) => [
+ q(4801),
+ q(0),
+ ],
+ q(ngp) => [
+ q(4802),
+ q(0),
+ ],
+ q(ngq) => [
+ q(4803),
+ q(0),
+ ],
+ q(ngr) => [
+ q(4804),
+ q(0),
+ ],
+ q(ngs) => [
+ q(4805),
+ q(0),
+ ],
+ q(ngt) => [
+ q(4806),
+ q(0),
+ ],
+ q(ngu) => [
+ q(4807),
+ q(0),
+ ],
+ q(ngv) => [
+ q(4808),
+ q(0),
+ ],
+ q(ngw) => [
+ q(4809),
+ q(0),
+ ],
+ q(ngx) => [
+ q(4810),
+ q(0),
+ ],
+ q(ngy) => [
+ q(4811),
+ q(0),
+ ],
+ q(ngz) => [
+ q(4812),
+ q(0),
+ ],
+ q(nha) => [
+ q(4813),
+ q(0),
+ ],
+ q(nhb) => [
+ q(4814),
+ q(0),
+ ],
+ q(nhc) => [
+ q(4815),
+ q(0),
+ ],
+ q(nhd) => [
+ q(4816),
+ q(0),
+ ],
+ q(nhe) => [
+ q(4817),
+ q(0),
+ ],
+ q(nhf) => [
+ q(4818),
+ q(0),
+ ],
+ q(nhg) => [
+ q(4819),
+ q(0),
+ ],
+ q(nhh) => [
+ q(4820),
+ q(0),
+ ],
+ q(nhi) => [
+ q(4821),
+ q(0),
+ ],
+ q(nhk) => [
+ q(4822),
+ q(0),
+ ],
+ q(nhm) => [
+ q(4823),
+ q(0),
+ ],
+ q(nhn) => [
+ q(4824),
+ q(0),
+ ],
+ q(nho) => [
+ q(4825),
+ q(0),
+ ],
+ q(nhp) => [
+ q(4826),
+ q(0),
+ ],
+ q(nhq) => [
+ q(4827),
+ q(0),
+ ],
+ q(nhr) => [
+ q(4828),
+ q(0),
+ ],
+ q(nht) => [
+ q(4829),
+ q(0),
+ ],
+ q(nhu) => [
+ q(4830),
+ q(0),
+ ],
+ q(nhv) => [
+ q(4831),
+ q(0),
+ ],
+ q(nhw) => [
+ q(4832),
+ q(0),
+ ],
+ q(nhx) => [
+ q(4833),
+ q(0),
+ ],
+ q(nhy) => [
+ q(4834),
+ q(0),
+ ],
+ q(nhz) => [
+ q(4835),
+ q(0),
+ ],
+ q(nia) => [
+ q(0309),
+ q(0),
+ ],
+ q(nib) => [
+ q(4836),
+ q(0),
+ ],
+ q(nic) => [
+ q(0310),
+ q(0),
+ ],
+ q(nid) => [
+ q(4837),
+ q(0),
+ ],
+ q(nie) => [
+ q(4838),
+ q(0),
+ ],
+ q(nif) => [
+ q(4839),
+ q(0),
+ ],
+ q(nig) => [
+ q(4840),
+ q(0),
+ ],
+ q(nih) => [
+ q(4841),
+ q(0),
+ ],
+ q(nii) => [
+ q(4842),
+ q(0),
+ ],
+ q(nij) => [
+ q(4843),
+ q(0),
+ ],
+ q(nik) => [
+ q(4844),
+ q(0),
+ ],
+ q(nil) => [
+ q(4845),
+ q(0),
+ ],
+ q(nim) => [
+ q(4846),
+ q(0),
+ ],
+ q(nin) => [
+ q(4847),
+ q(0),
+ ],
+ q(nio) => [
+ q(4848),
+ q(0),
+ ],
+ q(niq) => [
+ q(4849),
+ q(0),
+ ],
+ q(nir) => [
+ q(4850),
+ q(0),
+ ],
+ q(nis) => [
+ q(4851),
+ q(0),
+ ],
+ q(nit) => [
+ q(4852),
+ q(0),
+ ],
+ q(niu) => [
+ q(0311),
+ q(0),
+ ],
+ q(niv) => [
+ q(4853),
+ q(0),
+ ],
+ q(niw) => [
+ q(4854),
+ q(0),
+ ],
+ q(nix) => [
+ q(4855),
+ q(0),
+ ],
+ q(niy) => [
+ q(4856),
+ q(0),
+ ],
+ q(niz) => [
+ q(4857),
+ q(0),
+ ],
+ q(nja) => [
+ q(4858),
+ q(0),
+ ],
+ q(njb) => [
+ q(4859),
+ q(0),
+ ],
+ q(njd) => [
+ q(4860),
+ q(0),
+ ],
+ q(njh) => [
+ q(4861),
+ q(0),
+ ],
+ q(nji) => [
+ q(4862),
+ q(0),
+ ],
+ q(njj) => [
+ q(4863),
+ q(0),
+ ],
+ q(njl) => [
+ q(4864),
+ q(0),
+ ],
+ q(njm) => [
+ q(4865),
+ q(0),
+ ],
+ q(njn) => [
+ q(4866),
+ q(0),
+ ],
+ q(njo) => [
+ q(4867),
+ q(0),
+ ],
+ q(njr) => [
+ q(4868),
+ q(0),
+ ],
+ q(njs) => [
+ q(4869),
+ q(0),
+ ],
+ q(njt) => [
+ q(4870),
+ q(0),
+ ],
+ q(nju) => [
+ q(4871),
+ q(0),
+ ],
+ q(njx) => [
+ q(4872),
+ q(0),
+ ],
+ q(njy) => [
+ q(4873),
+ q(0),
+ ],
+ q(nka) => [
+ q(4874),
+ q(0),
+ ],
+ q(nkb) => [
+ q(4875),
+ q(0),
+ ],
+ q(nkc) => [
+ q(4876),
+ q(0),
+ ],
+ q(nkd) => [
+ q(4877),
+ q(0),
+ ],
+ q(nke) => [
+ q(4878),
+ q(0),
+ ],
+ q(nkf) => [
+ q(4879),
+ q(0),
+ ],
+ q(nkg) => [
+ q(4880),
+ q(0),
+ ],
+ q(nkh) => [
+ q(4881),
+ q(0),
+ ],
+ q(nki) => [
+ q(4882),
+ q(0),
+ ],
+ q(nkj) => [
+ q(4883),
+ q(0),
+ ],
+ q(nkk) => [
+ q(4884),
+ q(0),
+ ],
+ q(nkm) => [
+ q(4885),
+ q(0),
+ ],
+ q(nkn) => [
+ q(4886),
+ q(0),
+ ],
+ q(nko) => [
+ q(4887),
+ q(0),
+ ],
+ q(nkp) => [
+ q(4888),
+ q(0),
+ ],
+ q(nkq) => [
+ q(4889),
+ q(0),
+ ],
+ q(nkr) => [
+ q(4890),
+ q(0),
+ ],
+ q(nks) => [
+ q(4891),
+ q(0),
+ ],
+ q(nkt) => [
+ q(4892),
+ q(0),
+ ],
+ q(nku) => [
+ q(4893),
+ q(0),
+ ],
+ q(nkv) => [
+ q(4894),
+ q(0),
+ ],
+ q(nkw) => [
+ q(4895),
+ q(0),
+ ],
+ q(nkx) => [
+ q(4896),
+ q(0),
+ ],
+ q(nkz) => [
+ q(4897),
+ q(0),
+ ],
+ q(nla) => [
+ q(4898),
+ q(0),
+ ],
+ q(nlc) => [
+ q(4899),
+ q(0),
+ ],
+ q(nle) => [
+ q(4900),
+ q(0),
+ ],
+ q(nlg) => [
+ q(4901),
+ q(0),
+ ],
+ q(nli) => [
+ q(4902),
+ q(0),
+ ],
+ q(nlj) => [
+ q(4903),
+ q(0),
+ ],
+ q(nlk) => [
+ q(4904),
+ q(0),
+ ],
+ q(nll) => [
+ q(4905),
+ q(0),
+ ],
+ q(nln) => [
+ q(4906),
+ q(0),
+ ],
+ q(nlo) => [
+ q(4907),
+ q(0),
+ ],
+ q(nlr) => [
+ q(4908),
+ q(0),
+ ],
+ q(nlu) => [
+ q(4909),
+ q(0),
+ ],
+ q(nlv) => [
+ q(4910),
+ q(0),
+ ],
+ q(nlx) => [
+ q(4911),
+ q(0),
+ ],
+ q(nly) => [
+ q(4912),
+ q(0),
+ ],
+ q(nlz) => [
+ q(4913),
+ q(0),
+ ],
+ q(nma) => [
+ q(4914),
+ q(0),
+ ],
+ q(nmb) => [
+ q(4915),
+ q(0),
+ ],
+ q(nmc) => [
+ q(4916),
+ q(0),
+ ],
+ q(nmd) => [
+ q(4917),
+ q(0),
+ ],
+ q(nme) => [
+ q(4918),
+ q(0),
+ ],
+ q(nmf) => [
+ q(4919),
+ q(0),
+ ],
+ q(nmg) => [
+ q(4920),
+ q(0),
+ ],
+ q(nmh) => [
+ q(4921),
+ q(0),
+ ],
+ q(nmi) => [
+ q(4922),
+ q(0),
+ ],
+ q(nmj) => [
+ q(4923),
+ q(0),
+ ],
+ q(nmk) => [
+ q(4924),
+ q(0),
+ ],
+ q(nml) => [
+ q(4925),
+ q(0),
+ ],
+ q(nmm) => [
+ q(4926),
+ q(0),
+ ],
+ q(nmn) => [
+ q(4927),
+ q(0),
+ ],
+ q(nmo) => [
+ q(4928),
+ q(0),
+ ],
+ q(nmp) => [
+ q(4929),
+ q(0),
+ ],
+ q(nmq) => [
+ q(4930),
+ q(0),
+ ],
+ q(nmr) => [
+ q(4931),
+ q(0),
+ ],
+ q(nms) => [
+ q(4932),
+ q(0),
+ ],
+ q(nmt) => [
+ q(4933),
+ q(0),
+ ],
+ q(nmu) => [
+ q(4934),
+ q(0),
+ ],
+ q(nmv) => [
+ q(4935),
+ q(0),
+ ],
+ q(nmw) => [
+ q(4936),
+ q(0),
+ ],
+ q(nmx) => [
+ q(4937),
+ q(0),
+ ],
+ q(nmy) => [
+ q(4938),
+ q(0),
+ ],
+ q(nmz) => [
+ q(4939),
+ q(0),
+ ],
+ q(nna) => [
+ q(4940),
+ q(0),
+ ],
+ q(nnb) => [
+ q(4941),
+ q(0),
+ ],
+ q(nnc) => [
+ q(4942),
+ q(0),
+ ],
+ q(nnd) => [
+ q(4943),
+ q(0),
+ ],
+ q(nne) => [
+ q(4944),
+ q(0),
+ ],
+ q(nnf) => [
+ q(4945),
+ q(0),
+ ],
+ q(nng) => [
+ q(4946),
+ q(0),
+ ],
+ q(nnh) => [
+ q(4947),
+ q(0),
+ ],
+ q(nni) => [
+ q(4948),
+ q(0),
+ ],
+ q(nnj) => [
+ q(4949),
+ q(0),
+ ],
+ q(nnk) => [
+ q(4950),
+ q(0),
+ ],
+ q(nnl) => [
+ q(4951),
+ q(0),
+ ],
+ q(nnm) => [
+ q(4952),
+ q(0),
+ ],
+ q(nnn) => [
+ q(4953),
+ q(0),
+ ],
+ q(nno) => [
+ q(0312),
+ q(0),
+ ],
+ q(nnp) => [
+ q(4954),
+ q(0),
+ ],
+ q(nnq) => [
+ q(4955),
+ q(0),
+ ],
+ q(nnr) => [
+ q(4956),
+ q(0),
+ ],
+ q(nns) => [
+ q(4957),
+ q(0),
+ ],
+ q(nnt) => [
+ q(4958),
+ q(0),
+ ],
+ q(nnu) => [
+ q(4959),
+ q(0),
+ ],
+ q(nnv) => [
+ q(4960),
+ q(0),
+ ],
+ q(nnw) => [
+ q(4961),
+ q(0),
+ ],
+ q(nnx) => [
+ q(4962),
+ q(0),
+ ],
+ q(nny) => [
+ q(4963),
+ q(0),
+ ],
+ q(nnz) => [
+ q(4964),
+ q(0),
+ ],
+ q(noa) => [
+ q(4965),
+ q(0),
+ ],
+ q(nob) => [
+ q(0313),
+ q(0),
+ ],
+ q(noc) => [
+ q(4966),
+ q(0),
+ ],
+ q(nod) => [
+ q(4967),
+ q(0),
+ ],
+ q(noe) => [
+ q(4968),
+ q(0),
+ ],
+ q(nof) => [
+ q(4969),
+ q(0),
+ ],
+ q(nog) => [
+ q(0314),
+ q(0),
+ ],
+ q(noh) => [
+ q(4970),
+ q(0),
+ ],
+ q(noi) => [
+ q(4971),
+ q(0),
+ ],
+ q(noj) => [
+ q(4972),
+ q(0),
+ ],
+ q(nok) => [
+ q(4973),
+ q(0),
+ ],
+ q(nom) => [
+ q(4974),
+ q(0),
+ ],
+ q(non) => [
+ q(0315),
+ q(1),
+ ],
+ q(nop) => [
+ q(4975),
+ q(0),
+ ],
+ q(noq) => [
+ q(4976),
+ q(0),
+ ],
+ q(nor) => [
+ q(0316),
+ q(0),
+ ],
+ q(nos) => [
+ q(4977),
+ q(0),
+ ],
+ q(not) => [
+ q(4978),
+ q(0),
+ ],
+ q(nou) => [
+ q(4979),
+ q(0),
+ ],
+ q(nov) => [
+ q(4980),
+ q(0),
+ ],
+ q(now) => [
+ q(4981),
+ q(0),
+ ],
+ q(noy) => [
+ q(4982),
+ q(0),
+ ],
+ q(noz) => [
+ q(4983),
+ q(0),
+ ],
+ q(npa) => [
+ q(4984),
+ q(0),
+ ],
+ q(npb) => [
+ q(4985),
+ q(0),
+ ],
+ q(nph) => [
+ q(4986),
+ q(0),
+ ],
+ q(npl) => [
+ q(4987),
+ q(0),
+ ],
+ q(npn) => [
+ q(4988),
+ q(0),
+ ],
+ q(npo) => [
+ q(4989),
+ q(0),
+ ],
+ q(nps) => [
+ q(4990),
+ q(0),
+ ],
+ q(npu) => [
+ q(4991),
+ q(0),
+ ],
+ q(npy) => [
+ q(4992),
+ q(0),
+ ],
+ q(nqg) => [
+ q(4993),
+ q(0),
+ ],
+ q(nqk) => [
+ q(4994),
+ q(0),
+ ],
+ q(nqm) => [
+ q(4995),
+ q(0),
+ ],
+ q(nqn) => [
+ q(4996),
+ q(0),
+ ],
+ q(nqo) => [
+ q(0317),
+ q(0),
+ ],
+ q(nra) => [
+ q(4997),
+ q(0),
+ ],
+ q(nrb) => [
+ q(4998),
+ q(0),
+ ],
+ q(nrc) => [
+ q(4999),
+ q(0),
+ ],
+ q(nre) => [
+ q(5000),
+ q(0),
+ ],
+ q(nrg) => [
+ q(5001),
+ q(0),
+ ],
+ q(nri) => [
+ q(5002),
+ q(0),
+ ],
+ q(nrl) => [
+ q(5003),
+ q(0),
+ ],
+ q(nrm) => [
+ q(5004),
+ q(0),
+ ],
+ q(nrn) => [
+ q(5005),
+ q(0),
+ ],
+ q(nrp) => [
+ q(5006),
+ q(0),
+ ],
+ q(nrr) => [
+ q(5007),
+ q(0),
+ ],
+ q(nrt) => [
+ q(5008),
+ q(0),
+ ],
+ q(nru) => [
+ q(5009),
+ q(0),
+ ],
+ q(nrx) => [
+ q(5010),
+ q(0),
+ ],
+ q(nrz) => [
+ q(5011),
+ q(0),
+ ],
+ q(nsa) => [
+ q(5012),
+ q(0),
+ ],
+ q(nsc) => [
+ q(5013),
+ q(0),
+ ],
+ q(nsd) => [
+ q(5014),
+ q(0),
+ ],
+ q(nse) => [
+ q(5015),
+ q(0),
+ ],
+ q(nsg) => [
+ q(5016),
+ q(0),
+ ],
+ q(nsh) => [
+ q(5017),
+ q(0),
+ ],
+ q(nsi) => [
+ q(5018),
+ q(0),
+ ],
+ q(nsk) => [
+ q(5019),
+ q(0),
+ ],
+ q(nsl) => [
+ q(5020),
+ q(0),
+ ],
+ q(nsm) => [
+ q(5021),
+ q(0),
+ ],
+ q(nsn) => [
+ q(5022),
+ q(0),
+ ],
+ q(nso) => [
+ q(0318),
+ q(0),
+ ],
+ q(nsp) => [
+ q(5023),
+ q(0),
+ ],
+ q(nsq) => [
+ q(5024),
+ q(0),
+ ],
+ q(nsr) => [
+ q(5025),
+ q(0),
+ ],
+ q(nss) => [
+ q(5026),
+ q(0),
+ ],
+ q(nst) => [
+ q(5027),
+ q(0),
+ ],
+ q(nsu) => [
+ q(5028),
+ q(0),
+ ],
+ q(nsv) => [
+ q(5029),
+ q(0),
+ ],
+ q(nsw) => [
+ q(5030),
+ q(0),
+ ],
+ q(nsx) => [
+ q(5031),
+ q(0),
+ ],
+ q(nsy) => [
+ q(5032),
+ q(0),
+ ],
+ q(nsz) => [
+ q(5033),
+ q(0),
+ ],
+ q(nte) => [
+ q(5034),
+ q(0),
+ ],
+ q(nti) => [
+ q(5035),
+ q(0),
+ ],
+ q(ntj) => [
+ q(5036),
+ q(0),
+ ],
+ q(ntk) => [
+ q(5037),
+ q(0),
+ ],
+ q(ntm) => [
+ q(5038),
+ q(0),
+ ],
+ q(nto) => [
+ q(5039),
+ q(0),
+ ],
+ q(ntp) => [
+ q(5040),
+ q(0),
+ ],
+ q(ntr) => [
+ q(5041),
+ q(0),
+ ],
+ q(nts) => [
+ q(5042),
+ q(0),
+ ],
+ q(ntu) => [
+ q(5043),
+ q(0),
+ ],
+ q(ntw) => [
+ q(5044),
+ q(0),
+ ],
+ q(nty) => [
+ q(5045),
+ q(0),
+ ],
+ q(ntz) => [
+ q(5046),
+ q(0),
+ ],
+ q(nua) => [
+ q(5047),
+ q(0),
+ ],
+ q(nub) => [
+ q(0319),
+ q(0),
+ ],
+ q(nuc) => [
+ q(5048),
+ q(0),
+ ],
+ q(nud) => [
+ q(5049),
+ q(0),
+ ],
+ q(nue) => [
+ q(5050),
+ q(0),
+ ],
+ q(nuf) => [
+ q(5051),
+ q(0),
+ ],
+ q(nug) => [
+ q(5052),
+ q(0),
+ ],
+ q(nuh) => [
+ q(5053),
+ q(0),
+ ],
+ q(nui) => [
+ q(5054),
+ q(0),
+ ],
+ q(nuj) => [
+ q(5055),
+ q(0),
+ ],
+ q(nuk) => [
+ q(5056),
+ q(0),
+ ],
+ q(nul) => [
+ q(5057),
+ q(0),
+ ],
+ q(num) => [
+ q(5058),
+ q(0),
+ ],
+ q(nun) => [
+ q(5059),
+ q(0),
+ ],
+ q(nuo) => [
+ q(5060),
+ q(0),
+ ],
+ q(nup) => [
+ q(5061),
+ q(0),
+ ],
+ q(nuq) => [
+ q(5062),
+ q(0),
+ ],
+ q(nur) => [
+ q(5063),
+ q(0),
+ ],
+ q(nus) => [
+ q(5064),
+ q(0),
+ ],
+ q(nut) => [
+ q(5065),
+ q(0),
+ ],
+ q(nuu) => [
+ q(5066),
+ q(0),
+ ],
+ q(nuv) => [
+ q(5067),
+ q(0),
+ ],
+ q(nuw) => [
+ q(5068),
+ q(0),
+ ],
+ q(nux) => [
+ q(5069),
+ q(0),
+ ],
+ q(nuy) => [
+ q(5070),
+ q(0),
+ ],
+ q(nuz) => [
+ q(5071),
+ q(0),
+ ],
+ q(nvh) => [
+ q(5072),
+ q(0),
+ ],
+ q(nvm) => [
+ q(5073),
+ q(0),
+ ],
+ q(nwa) => [
+ q(5074),
+ q(0),
+ ],
+ q(nwb) => [
+ q(5075),
+ q(0),
+ ],
+ q(nwc) => [
+ q(0320),
+ q(0),
+ ],
+ q(nwe) => [
+ q(5076),
+ q(0),
+ ],
+ q(nwi) => [
+ q(5077),
+ q(0),
+ ],
+ q(nwm) => [
+ q(5078),
+ q(0),
+ ],
+ q(nwr) => [
+ q(5079),
+ q(0),
+ ],
+ q(nwx) => [
+ q(5080),
+ q(0),
+ ],
+ q(nwy) => [
+ q(5081),
+ q(0),
+ ],
+ q(nxa) => [
+ q(5082),
+ q(0),
+ ],
+ q(nxd) => [
+ q(5083),
+ q(0),
+ ],
+ q(nxe) => [
+ q(5084),
+ q(0),
+ ],
+ q(nxg) => [
+ q(5085),
+ q(0),
+ ],
+ q(nxi) => [
+ q(5086),
+ q(0),
+ ],
+ q(nxl) => [
+ q(5087),
+ q(0),
+ ],
+ q(nxm) => [
+ q(5088),
+ q(0),
+ ],
+ q(nxn) => [
+ q(5089),
+ q(0),
+ ],
+ q(nxq) => [
+ q(5090),
+ q(0),
+ ],
+ q(nxr) => [
+ q(5091),
+ q(0),
+ ],
+ q(nxu) => [
+ q(5092),
+ q(0),
+ ],
+ q(nxx) => [
+ q(5093),
+ q(0),
+ ],
+ q(nya) => [
+ q(0321),
+ q(0),
+ ],
+ q(nyb) => [
+ q(5094),
+ q(0),
+ ],
+ q(nyc) => [
+ q(5095),
+ q(0),
+ ],
+ q(nyd) => [
+ q(5096),
+ q(0),
+ ],
+ q(nye) => [
+ q(5097),
+ q(0),
+ ],
+ q(nyf) => [
+ q(5098),
+ q(0),
+ ],
+ q(nyg) => [
+ q(5099),
+ q(0),
+ ],
+ q(nyh) => [
+ q(5100),
+ q(0),
+ ],
+ q(nyi) => [
+ q(5101),
+ q(0),
+ ],
+ q(nyj) => [
+ q(5102),
+ q(0),
+ ],
+ q(nyk) => [
+ q(5103),
+ q(0),
+ ],
+ q(nyl) => [
+ q(5104),
+ q(0),
+ ],
+ q(nym) => [
+ q(0322),
+ q(0),
+ ],
+ q(nyn) => [
+ q(0323),
+ q(0),
+ ],
+ q(nyo) => [
+ q(0324),
+ q(0),
+ ],
+ q(nyp) => [
+ q(5105),
+ q(0),
+ ],
+ q(nyq) => [
+ q(5106),
+ q(0),
+ ],
+ q(nyr) => [
+ q(5107),
+ q(0),
+ ],
+ q(nys) => [
+ q(5108),
+ q(0),
+ ],
+ q(nyt) => [
+ q(5109),
+ q(0),
+ ],
+ q(nyu) => [
+ q(5110),
+ q(0),
+ ],
+ q(nyv) => [
+ q(5111),
+ q(0),
+ ],
+ q(nyw) => [
+ q(5112),
+ q(0),
+ ],
+ q(nyx) => [
+ q(5113),
+ q(0),
+ ],
+ q(nyy) => [
+ q(5114),
+ q(0),
+ ],
+ q(nza) => [
+ q(5115),
+ q(0),
+ ],
+ q(nzb) => [
+ q(5116),
+ q(0),
+ ],
+ q(nzi) => [
+ q(0325),
+ q(0),
+ ],
+ q(nzk) => [
+ q(5117),
+ q(0),
+ ],
+ q(nzm) => [
+ q(5118),
+ q(0),
+ ],
+ q(nzs) => [
+ q(5119),
+ q(0),
+ ],
+ q(nzu) => [
+ q(5120),
+ q(0),
+ ],
+ q(nzy) => [
+ q(5121),
+ q(0),
+ ],
+ q(nzz) => [
+ q(5122),
+ q(0),
+ ],
+ q(oaa) => [
+ q(5123),
+ q(0),
+ ],
+ q(oac) => [
+ q(5124),
+ q(0),
+ ],
+ q(oar) => [
+ q(5125),
+ q(0),
+ ],
+ q(oav) => [
+ q(5126),
+ q(0),
+ ],
+ q(obi) => [
+ q(5127),
+ q(0),
+ ],
+ q(obk) => [
+ q(5128),
+ q(0),
+ ],
+ q(obl) => [
+ q(5129),
+ q(0),
+ ],
+ q(obm) => [
+ q(5130),
+ q(0),
+ ],
+ q(obo) => [
+ q(5131),
+ q(0),
+ ],
+ q(obr) => [
+ q(5132),
+ q(0),
+ ],
+ q(obt) => [
+ q(5133),
+ q(0),
+ ],
+ q(obu) => [
+ q(5134),
+ q(0),
+ ],
+ q(oca) => [
+ q(5135),
+ q(0),
+ ],
+ q(och) => [
+ q(5136),
+ q(0),
+ ],
+ q(oci) => [
+ q(0326),
+ q(0),
+ ],
+ q(oco) => [
+ q(5137),
+ q(0),
+ ],
+ q(ocu) => [
+ q(5138),
+ q(0),
+ ],
+ q(oda) => [
+ q(5139),
+ q(0),
+ ],
+ q(odk) => [
+ q(5140),
+ q(0),
+ ],
+ q(odt) => [
+ q(5141),
+ q(0),
+ ],
+ q(odu) => [
+ q(5142),
+ q(0),
+ ],
+ q(ofo) => [
+ q(5143),
+ q(0),
+ ],
+ q(ofs) => [
+ q(5144),
+ q(0),
+ ],
+ q(ofu) => [
+ q(5145),
+ q(0),
+ ],
+ q(ogb) => [
+ q(5146),
+ q(0),
+ ],
+ q(ogc) => [
+ q(5147),
+ q(0),
+ ],
+ q(oge) => [
+ q(5148),
+ q(0),
+ ],
+ q(ogg) => [
+ q(5149),
+ q(0),
+ ],
+ q(ogo) => [
+ q(5150),
+ q(0),
+ ],
+ q(ogu) => [
+ q(5151),
+ q(0),
+ ],
+ q(oht) => [
+ q(5152),
+ q(0),
+ ],
+ q(ohu) => [
+ q(5153),
+ q(0),
+ ],
+ q(oia) => [
+ q(5154),
+ q(0),
+ ],
+ q(oin) => [
+ q(5155),
+ q(0),
+ ],
+ q(ojb) => [
+ q(5156),
+ q(0),
+ ],
+ q(ojc) => [
+ q(5157),
+ q(0),
+ ],
+ q(ojg) => [
+ q(5158),
+ q(0),
+ ],
+ q(oji) => [
+ q(0327),
+ q(0),
+ ],
+ q(ojp) => [
+ q(5159),
+ q(0),
+ ],
+ q(ojs) => [
+ q(5160),
+ q(0),
+ ],
+ q(ojv) => [
+ q(5161),
+ q(0),
+ ],
+ q(ojw) => [
+ q(5162),
+ q(0),
+ ],
+ q(oka) => [
+ q(5163),
+ q(0),
+ ],
+ q(okb) => [
+ q(5164),
+ q(0),
+ ],
+ q(okd) => [
+ q(5165),
+ q(0),
+ ],
+ q(oke) => [
+ q(5166),
+ q(0),
+ ],
+ q(okh) => [
+ q(5167),
+ q(0),
+ ],
+ q(oki) => [
+ q(5168),
+ q(0),
+ ],
+ q(okj) => [
+ q(5169),
+ q(0),
+ ],
+ q(okk) => [
+ q(5170),
+ q(0),
+ ],
+ q(okl) => [
+ q(5171),
+ q(0),
+ ],
+ q(okm) => [
+ q(5172),
+ q(0),
+ ],
+ q(okn) => [
+ q(5173),
+ q(0),
+ ],
+ q(oko) => [
+ q(5174),
+ q(0),
+ ],
+ q(okr) => [
+ q(5175),
+ q(0),
+ ],
+ q(oks) => [
+ q(5176),
+ q(0),
+ ],
+ q(oku) => [
+ q(5177),
+ q(0),
+ ],
+ q(okv) => [
+ q(5178),
+ q(0),
+ ],
+ q(okx) => [
+ q(5179),
+ q(0),
+ ],
+ q(ola) => [
+ q(5180),
+ q(0),
+ ],
+ q(old) => [
+ q(5181),
+ q(0),
+ ],
+ q(ole) => [
+ q(5182),
+ q(0),
+ ],
+ q(olm) => [
+ q(5183),
+ q(0),
+ ],
+ q(olo) => [
+ q(5184),
+ q(0),
+ ],
+ q(olr) => [
+ q(5185),
+ q(0),
+ ],
+ q(oma) => [
+ q(5186),
+ q(0),
+ ],
+ q(omb) => [
+ q(5187),
+ q(0),
+ ],
+ q(omc) => [
+ q(5188),
+ q(0),
+ ],
+ q(ome) => [
+ q(5189),
+ q(0),
+ ],
+ q(omg) => [
+ q(5190),
+ q(0),
+ ],
+ q(omi) => [
+ q(5191),
+ q(0),
+ ],
+ q(omk) => [
+ q(5192),
+ q(0),
+ ],
+ q(oml) => [
+ q(5193),
+ q(0),
+ ],
+ q(omn) => [
+ q(5194),
+ q(0),
+ ],
+ q(omo) => [
+ q(5195),
+ q(0),
+ ],
+ q(omp) => [
+ q(5196),
+ q(0),
+ ],
+ q(omq) => [
+ q(0516),
+ q(0),
+ ],
+ q(omr) => [
+ q(5197),
+ q(0),
+ ],
+ q(omt) => [
+ q(5198),
+ q(0),
+ ],
+ q(omu) => [
+ q(5199),
+ q(0),
+ ],
+ q(omv) => [
+ q(0517),
+ q(0),
+ ],
+ q(omw) => [
+ q(5200),
+ q(0),
+ ],
+ q(omx) => [
+ q(5201),
+ q(0),
+ ],
+ q(ona) => [
+ q(5202),
+ q(0),
+ ],
+ q(onb) => [
+ q(5203),
+ q(0),
+ ],
+ q(one) => [
+ q(5204),
+ q(0),
+ ],
+ q(ong) => [
+ q(5205),
+ q(0),
+ ],
+ q(oni) => [
+ q(5206),
+ q(0),
+ ],
+ q(onj) => [
+ q(5207),
+ q(0),
+ ],
+ q(onk) => [
+ q(5208),
+ q(0),
+ ],
+ q(onn) => [
+ q(5209),
+ q(0),
+ ],
+ q(ono) => [
+ q(5210),
+ q(0),
+ ],
+ q(onp) => [
+ q(5211),
+ q(0),
+ ],
+ q(onr) => [
+ q(5212),
+ q(0),
+ ],
+ q(ons) => [
+ q(5213),
+ q(0),
+ ],
+ q(ont) => [
+ q(5214),
+ q(0),
+ ],
+ q(onu) => [
+ q(5215),
+ q(0),
+ ],
+ q(onw) => [
+ q(5216),
+ q(0),
+ ],
+ q(onx) => [
+ q(5217),
+ q(0),
+ ],
+ q(ood) => [
+ q(5218),
+ q(0),
+ ],
+ q(oog) => [
+ q(5219),
+ q(0),
+ ],
+ q(oon) => [
+ q(5220),
+ q(0),
+ ],
+ q(oor) => [
+ q(5221),
+ q(0),
+ ],
+ q(oos) => [
+ q(5222),
+ q(0),
+ ],
+ q(opa) => [
+ q(5223),
+ q(0),
+ ],
+ q(opk) => [
+ q(5224),
+ q(0),
+ ],
+ q(opm) => [
+ q(5225),
+ q(0),
+ ],
+ q(opo) => [
+ q(5226),
+ q(0),
+ ],
+ q(opt) => [
+ q(5227),
+ q(0),
+ ],
+ q(opy) => [
+ q(5228),
+ q(0),
+ ],
+ q(ora) => [
+ q(5229),
+ q(0),
+ ],
+ q(orc) => [
+ q(5230),
+ q(0),
+ ],
+ q(ore) => [
+ q(5231),
+ q(0),
+ ],
+ q(org) => [
+ q(5232),
+ q(0),
+ ],
+ q(orh) => [
+ q(5233),
+ q(0),
+ ],
+ q(ori) => [
+ q(0328),
+ q(0),
+ ],
+ q(orm) => [
+ q(0329),
+ q(0),
+ ],
+ q(orn) => [
+ q(5234),
+ q(0),
+ ],
+ q(oro) => [
+ q(5235),
+ q(0),
+ ],
+ q(orr) => [
+ q(5236),
+ q(0),
+ ],
+ q(ors) => [
+ q(5237),
+ q(0),
+ ],
+ q(ort) => [
+ q(5238),
+ q(0),
+ ],
+ q(oru) => [
+ q(5239),
+ q(0),
+ ],
+ q(orv) => [
+ q(5240),
+ q(0),
+ ],
+ q(orw) => [
+ q(5241),
+ q(0),
+ ],
+ q(orx) => [
+ q(5242),
+ q(0),
+ ],
+ q(orz) => [
+ q(5243),
+ q(0),
+ ],
+ q(osa) => [
+ q(0330),
+ q(0),
+ ],
+ q(osc) => [
+ q(5244),
+ q(0),
+ ],
+ q(osi) => [
+ q(5245),
+ q(0),
+ ],
+ q(oso) => [
+ q(5246),
+ q(0),
+ ],
+ q(osp) => [
+ q(5247),
+ q(0),
+ ],
+ q(oss) => [
+ q(0331),
+ q(0),
+ ],
+ q(ost) => [
+ q(5248),
+ q(0),
+ ],
+ q(osu) => [
+ q(5249),
+ q(0),
+ ],
+ q(osx) => [
+ q(5250),
+ q(0),
+ ],
+ q(ota) => [
+ q(0332),
+ q(1),
+ ],
+ q(otb) => [
+ q(5251),
+ q(0),
+ ],
+ q(otd) => [
+ q(5252),
+ q(0),
+ ],
+ q(ote) => [
+ q(5253),
+ q(0),
+ ],
+ q(oti) => [
+ q(5254),
+ q(0),
+ ],
+ q(otk) => [
+ q(5255),
+ q(0),
+ ],
+ q(otl) => [
+ q(5256),
+ q(0),
+ ],
+ q(otm) => [
+ q(5257),
+ q(0),
+ ],
+ q(otn) => [
+ q(5258),
+ q(0),
+ ],
+ q(oto) => [
+ q(0333),
+ q(0),
+ ],
+ q(otq) => [
+ q(5259),
+ q(0),
+ ],
+ q(otr) => [
+ q(5260),
+ q(0),
+ ],
+ q(ots) => [
+ q(5261),
+ q(0),
+ ],
+ q(ott) => [
+ q(5262),
+ q(0),
+ ],
+ q(otu) => [
+ q(5263),
+ q(0),
+ ],
+ q(otw) => [
+ q(5264),
+ q(0),
+ ],
+ q(otx) => [
+ q(5265),
+ q(0),
+ ],
+ q(oty) => [
+ q(5266),
+ q(0),
+ ],
+ q(otz) => [
+ q(5267),
+ q(0),
+ ],
+ q(oua) => [
+ q(5268),
+ q(0),
+ ],
+ q(oub) => [
+ q(5269),
+ q(0),
+ ],
+ q(oue) => [
+ q(5270),
+ q(0),
+ ],
+ q(oui) => [
+ q(5271),
+ q(0),
+ ],
+ q(oum) => [
+ q(5272),
+ q(0),
+ ],
+ q(oun) => [
+ q(5273),
+ q(0),
+ ],
+ q(owi) => [
+ q(5274),
+ q(0),
+ ],
+ q(owl) => [
+ q(5275),
+ q(0),
+ ],
+ q(oyb) => [
+ q(5276),
+ q(0),
+ ],
+ q(oyd) => [
+ q(5277),
+ q(0),
+ ],
+ q(oym) => [
+ q(5278),
+ q(0),
+ ],
+ q(oyy) => [
+ q(5279),
+ q(0),
+ ],
+ q(ozm) => [
+ q(5280),
+ q(0),
+ ],
+ q(paa) => [
+ q(0334),
+ q(0),
+ ],
+ q(pab) => [
+ q(5281),
+ q(0),
+ ],
+ q(pac) => [
+ q(5282),
+ q(0),
+ ],
+ q(pad) => [
+ q(5283),
+ q(0),
+ ],
+ q(pae) => [
+ q(5284),
+ q(0),
+ ],
+ q(paf) => [
+ q(5285),
+ q(0),
+ ],
+ q(pag) => [
+ q(0335),
+ q(0),
+ ],
+ q(pah) => [
+ q(5286),
+ q(0),
+ ],
+ q(pai) => [
+ q(5287),
+ q(0),
+ ],
+ q(pak) => [
+ q(5288),
+ q(0),
+ ],
+ q(pal) => [
+ q(0336),
+ q(0),
+ ],
+ q(pam) => [
+ q(0337),
+ q(0),
+ ],
+ q(pan) => [
+ q(0338),
+ q(0),
+ ],
+ q(pao) => [
+ q(5289),
+ q(0),
+ ],
+ q(pap) => [
+ q(0339),
+ q(0),
+ ],
+ q(paq) => [
+ q(5290),
+ q(0),
+ ],
+ q(par) => [
+ q(5291),
+ q(0),
+ ],
+ q(pas) => [
+ q(5292),
+ q(0),
+ ],
+ q(pat) => [
+ q(5293),
+ q(0),
+ ],
+ q(pau) => [
+ q(0340),
+ q(0),
+ ],
+ q(pav) => [
+ q(5294),
+ q(0),
+ ],
+ q(paw) => [
+ q(5295),
+ q(0),
+ ],
+ q(pax) => [
+ q(5296),
+ q(0),
+ ],
+ q(pay) => [
+ q(5297),
+ q(0),
+ ],
+ q(paz) => [
+ q(5298),
+ q(0),
+ ],
+ q(pbb) => [
+ q(5299),
+ q(0),
+ ],
+ q(pbc) => [
+ q(5300),
+ q(0),
+ ],
+ q(pbe) => [
+ q(5301),
+ q(0),
+ ],
+ q(pbf) => [
+ q(5302),
+ q(0),
+ ],
+ q(pbg) => [
+ q(5303),
+ q(0),
+ ],
+ q(pbh) => [
+ q(5304),
+ q(0),
+ ],
+ q(pbi) => [
+ q(5305),
+ q(0),
+ ],
+ q(pbl) => [
+ q(5306),
+ q(0),
+ ],
+ q(pbn) => [
+ q(5307),
+ q(0),
+ ],
+ q(pbo) => [
+ q(5308),
+ q(0),
+ ],
+ q(pbp) => [
+ q(5309),
+ q(0),
+ ],
+ q(pbr) => [
+ q(5310),
+ q(0),
+ ],
+ q(pbs) => [
+ q(5311),
+ q(0),
+ ],
+ q(pbt) => [
+ q(5312),
+ q(0),
+ ],
+ q(pbu) => [
+ q(5313),
+ q(0),
+ ],
+ q(pbv) => [
+ q(5314),
+ q(0),
+ ],
+ q(pby) => [
+ q(5315),
+ q(0),
+ ],
+ q(pbz) => [
+ q(5316),
+ q(0),
+ ],
+ q(pca) => [
+ q(5317),
+ q(0),
+ ],
+ q(pcb) => [
+ q(5318),
+ q(0),
+ ],
+ q(pcc) => [
+ q(5319),
+ q(0),
+ ],
+ q(pcd) => [
+ q(5320),
+ q(0),
+ ],
+ q(pce) => [
+ q(5321),
+ q(0),
+ ],
+ q(pcf) => [
+ q(5322),
+ q(0),
+ ],
+ q(pcg) => [
+ q(5323),
+ q(0),
+ ],
+ q(pch) => [
+ q(5324),
+ q(0),
+ ],
+ q(pci) => [
+ q(5325),
+ q(0),
+ ],
+ q(pcj) => [
+ q(5326),
+ q(0),
+ ],
+ q(pck) => [
+ q(5327),
+ q(0),
+ ],
+ q(pcl) => [
+ q(5328),
+ q(0),
+ ],
+ q(pcm) => [
+ q(5329),
+ q(0),
+ ],
+ q(pcn) => [
+ q(5330),
+ q(0),
+ ],
+ q(pcp) => [
+ q(5331),
+ q(0),
+ ],
+ q(pcr) => [
+ q(5332),
+ q(0),
+ ],
+ q(pcw) => [
+ q(5333),
+ q(0),
+ ],
+ q(pda) => [
+ q(5334),
+ q(0),
+ ],
+ q(pdc) => [
+ q(5335),
+ q(0),
+ ],
+ q(pdi) => [
+ q(5336),
+ q(0),
+ ],
+ q(pdn) => [
+ q(5337),
+ q(0),
+ ],
+ q(pdo) => [
+ q(5338),
+ q(0),
+ ],
+ q(pdt) => [
+ q(5339),
+ q(0),
+ ],
+ q(pdu) => [
+ q(5340),
+ q(0),
+ ],
+ q(pea) => [
+ q(5341),
+ q(0),
+ ],
+ q(peb) => [
+ q(5342),
+ q(0),
+ ],
+ q(ped) => [
+ q(5343),
+ q(0),
+ ],
+ q(pee) => [
+ q(5344),
+ q(0),
+ ],
+ q(pef) => [
+ q(5345),
+ q(0),
+ ],
+ q(peg) => [
+ q(5346),
+ q(0),
+ ],
+ q(peh) => [
+ q(5347),
+ q(0),
+ ],
+ q(pei) => [
+ q(5348),
+ q(0),
+ ],
+ q(pej) => [
+ q(5349),
+ q(0),
+ ],
+ q(pek) => [
+ q(5350),
+ q(0),
+ ],
+ q(pel) => [
+ q(5351),
+ q(0),
+ ],
+ q(pem) => [
+ q(5352),
+ q(0),
+ ],
+ q(peo) => [
+ q(0341),
+ q(1),
+ ],
+ q(pep) => [
+ q(5353),
+ q(0),
+ ],
+ q(peq) => [
+ q(5354),
+ q(0),
+ ],
+ q(per) => [
+ q(0342),
+ q(0),
+ ],
+ q(pes) => [
+ q(5355),
+ q(0),
+ ],
+ q(pev) => [
+ q(5356),
+ q(0),
+ ],
+ q(pex) => [
+ q(5357),
+ q(0),
+ ],
+ q(pey) => [
+ q(5358),
+ q(0),
+ ],
+ q(pez) => [
+ q(5359),
+ q(0),
+ ],
+ q(pfa) => [
+ q(5360),
+ q(0),
+ ],
+ q(pfe) => [
+ q(5361),
+ q(0),
+ ],
+ q(pfl) => [
+ q(5362),
+ q(0),
+ ],
+ q(pga) => [
+ q(5363),
+ q(0),
+ ],
+ q(pgg) => [
+ q(5364),
+ q(0),
+ ],
+ q(pgi) => [
+ q(5365),
+ q(0),
+ ],
+ q(pgk) => [
+ q(5366),
+ q(0),
+ ],
+ q(pgl) => [
+ q(5367),
+ q(0),
+ ],
+ q(pgn) => [
+ q(5368),
+ q(0),
+ ],
+ q(pgs) => [
+ q(5369),
+ q(0),
+ ],
+ q(pgu) => [
+ q(5370),
+ q(0),
+ ],
+ q(pgy) => [
+ q(5371),
+ q(0),
+ ],
+ q(pha) => [
+ q(5372),
+ q(0),
+ ],
+ q(phd) => [
+ q(5373),
+ q(0),
+ ],
+ q(phg) => [
+ q(5374),
+ q(0),
+ ],
+ q(phh) => [
+ q(5375),
+ q(0),
+ ],
+ q(phi) => [
+ q(0343),
+ q(0),
+ ],
+ q(phk) => [
+ q(5376),
+ q(0),
+ ],
+ q(phl) => [
+ q(5377),
+ q(0),
+ ],
+ q(phm) => [
+ q(5378),
+ q(0),
+ ],
+ q(phn) => [
+ q(0344),
+ q(0),
+ ],
+ q(pho) => [
+ q(5379),
+ q(0),
+ ],
+ q(phq) => [
+ q(5380),
+ q(0),
+ ],
+ q(phr) => [
+ q(5381),
+ q(0),
+ ],
+ q(pht) => [
+ q(5382),
+ q(0),
+ ],
+ q(phu) => [
+ q(5383),
+ q(0),
+ ],
+ q(phv) => [
+ q(5384),
+ q(0),
+ ],
+ q(phw) => [
+ q(5385),
+ q(0),
+ ],
+ q(pia) => [
+ q(5386),
+ q(0),
+ ],
+ q(pib) => [
+ q(5387),
+ q(0),
+ ],
+ q(pic) => [
+ q(5388),
+ q(0),
+ ],
+ q(pid) => [
+ q(5389),
+ q(0),
+ ],
+ q(pie) => [
+ q(5390),
+ q(0),
+ ],
+ q(pif) => [
+ q(5391),
+ q(0),
+ ],
+ q(pig) => [
+ q(5392),
+ q(0),
+ ],
+ q(pih) => [
+ q(5393),
+ q(0),
+ ],
+ q(pii) => [
+ q(5394),
+ q(0),
+ ],
+ q(pij) => [
+ q(5395),
+ q(0),
+ ],
+ q(pil) => [
+ q(5396),
+ q(0),
+ ],
+ q(pim) => [
+ q(5397),
+ q(0),
+ ],
+ q(pin) => [
+ q(5398),
+ q(0),
+ ],
+ q(pio) => [
+ q(5399),
+ q(0),
+ ],
+ q(pip) => [
+ q(5400),
+ q(0),
+ ],
+ q(pir) => [
+ q(5401),
+ q(0),
+ ],
+ q(pis) => [
+ q(5402),
+ q(0),
+ ],
+ q(pit) => [
+ q(5403),
+ q(0),
+ ],
+ q(piu) => [
+ q(5404),
+ q(0),
+ ],
+ q(piv) => [
+ q(5405),
+ q(0),
+ ],
+ q(piw) => [
+ q(5406),
+ q(0),
+ ],
+ q(pix) => [
+ q(5407),
+ q(0),
+ ],
+ q(piy) => [
+ q(5408),
+ q(0),
+ ],
+ q(piz) => [
+ q(5409),
+ q(0),
+ ],
+ q(pjt) => [
+ q(5410),
+ q(0),
+ ],
+ q(pka) => [
+ q(5411),
+ q(0),
+ ],
+ q(pkb) => [
+ q(5412),
+ q(0),
+ ],
+ q(pkc) => [
+ q(5413),
+ q(0),
+ ],
+ q(pkg) => [
+ q(5414),
+ q(0),
+ ],
+ q(pkh) => [
+ q(5415),
+ q(0),
+ ],
+ q(pkn) => [
+ q(5416),
+ q(0),
+ ],
+ q(pko) => [
+ q(5417),
+ q(0),
+ ],
+ q(pkp) => [
+ q(5418),
+ q(0),
+ ],
+ q(pkr) => [
+ q(5419),
+ q(0),
+ ],
+ q(pks) => [
+ q(5420),
+ q(0),
+ ],
+ q(pkt) => [
+ q(5421),
+ q(0),
+ ],
+ q(pku) => [
+ q(5422),
+ q(0),
+ ],
+ q(pla) => [
+ q(5423),
+ q(0),
+ ],
+ q(plb) => [
+ q(5424),
+ q(0),
+ ],
+ q(plc) => [
+ q(5425),
+ q(0),
+ ],
+ q(pld) => [
+ q(5426),
+ q(0),
+ ],
+ q(ple) => [
+ q(5427),
+ q(0),
+ ],
+ q(plf) => [
+ q(0518),
+ q(0),
+ ],
+ q(plg) => [
+ q(5428),
+ q(0),
+ ],
+ q(plh) => [
+ q(5429),
+ q(0),
+ ],
+ q(pli) => [
+ q(0345),
+ q(0),
+ ],
+ q(plj) => [
+ q(5430),
+ q(0),
+ ],
+ q(plk) => [
+ q(5431),
+ q(0),
+ ],
+ q(pll) => [
+ q(5432),
+ q(0),
+ ],
+ q(pln) => [
+ q(5433),
+ q(0),
+ ],
+ q(plo) => [
+ q(5434),
+ q(0),
+ ],
+ q(plp) => [
+ q(5435),
+ q(0),
+ ],
+ q(plq) => [
+ q(5436),
+ q(0),
+ ],
+ q(plr) => [
+ q(5437),
+ q(0),
+ ],
+ q(pls) => [
+ q(5438),
+ q(0),
+ ],
+ q(plt) => [
+ q(5439),
+ q(0),
+ ],
+ q(plu) => [
+ q(5440),
+ q(0),
+ ],
+ q(plv) => [
+ q(5441),
+ q(0),
+ ],
+ q(plw) => [
+ q(5442),
+ q(0),
+ ],
+ q(ply) => [
+ q(5443),
+ q(0),
+ ],
+ q(plz) => [
+ q(5444),
+ q(0),
+ ],
+ q(pma) => [
+ q(5445),
+ q(0),
+ ],
+ q(pmb) => [
+ q(5446),
+ q(0),
+ ],
+ q(pmc) => [
+ q(5447),
+ q(0),
+ ],
+ q(pme) => [
+ q(5448),
+ q(0),
+ ],
+ q(pmf) => [
+ q(5449),
+ q(0),
+ ],
+ q(pmh) => [
+ q(5450),
+ q(0),
+ ],
+ q(pmi) => [
+ q(5451),
+ q(0),
+ ],
+ q(pmj) => [
+ q(5452),
+ q(0),
+ ],
+ q(pmk) => [
+ q(5453),
+ q(0),
+ ],
+ q(pml) => [
+ q(5454),
+ q(0),
+ ],
+ q(pmm) => [
+ q(5455),
+ q(0),
+ ],
+ q(pmn) => [
+ q(5456),
+ q(0),
+ ],
+ q(pmo) => [
+ q(5457),
+ q(0),
+ ],
+ q(pmq) => [
+ q(5458),
+ q(0),
+ ],
+ q(pmr) => [
+ q(5459),
+ q(0),
+ ],
+ q(pms) => [
+ q(5460),
+ q(0),
+ ],
+ q(pmt) => [
+ q(5461),
+ q(0),
+ ],
+ q(pmu) => [
+ q(5462),
+ q(0),
+ ],
+ q(pmw) => [
+ q(5463),
+ q(0),
+ ],
+ q(pmx) => [
+ q(5464),
+ q(0),
+ ],
+ q(pmy) => [
+ q(5465),
+ q(0),
+ ],
+ q(pmz) => [
+ q(5466),
+ q(0),
+ ],
+ q(pna) => [
+ q(5467),
+ q(0),
+ ],
+ q(pnb) => [
+ q(5468),
+ q(0),
+ ],
+ q(pnc) => [
+ q(5469),
+ q(0),
+ ],
+ q(pne) => [
+ q(5470),
+ q(0),
+ ],
+ q(png) => [
+ q(5471),
+ q(0),
+ ],
+ q(pnh) => [
+ q(5472),
+ q(0),
+ ],
+ q(pni) => [
+ q(5473),
+ q(0),
+ ],
+ q(pnm) => [
+ q(5474),
+ q(0),
+ ],
+ q(pnn) => [
+ q(5475),
+ q(0),
+ ],
+ q(pno) => [
+ q(5476),
+ q(0),
+ ],
+ q(pnp) => [
+ q(5477),
+ q(0),
+ ],
+ q(pnq) => [
+ q(5478),
+ q(0),
+ ],
+ q(pnr) => [
+ q(5479),
+ q(0),
+ ],
+ q(pns) => [
+ q(5480),
+ q(0),
+ ],
+ q(pnt) => [
+ q(5481),
+ q(0),
+ ],
+ q(pnu) => [
+ q(5482),
+ q(0),
+ ],
+ q(pnv) => [
+ q(5483),
+ q(0),
+ ],
+ q(pnw) => [
+ q(5484),
+ q(0),
+ ],
+ q(pnx) => [
+ q(5485),
+ q(0),
+ ],
+ q(pny) => [
+ q(5486),
+ q(0),
+ ],
+ q(pnz) => [
+ q(5487),
+ q(0),
+ ],
+ q(poc) => [
+ q(5488),
+ q(0),
+ ],
+ q(pod) => [
+ q(5489),
+ q(0),
+ ],
+ q(poe) => [
+ q(5490),
+ q(0),
+ ],
+ q(pof) => [
+ q(5491),
+ q(0),
+ ],
+ q(pog) => [
+ q(5492),
+ q(0),
+ ],
+ q(poh) => [
+ q(5493),
+ q(0),
+ ],
+ q(poi) => [
+ q(5494),
+ q(0),
+ ],
+ q(pok) => [
+ q(5495),
+ q(0),
+ ],
+ q(pol) => [
+ q(0346),
+ q(0),
+ ],
+ q(pom) => [
+ q(5496),
+ q(0),
+ ],
+ q(pon) => [
+ q(0347),
+ q(0),
+ ],
+ q(poo) => [
+ q(5497),
+ q(0),
+ ],
+ q(pop) => [
+ q(5498),
+ q(0),
+ ],
+ q(poq) => [
+ q(5499),
+ q(0),
+ ],
+ q(por) => [
+ q(0348),
+ q(0),
+ ],
+ q(pos) => [
+ q(5500),
+ q(0),
+ ],
+ q(pot) => [
+ q(5501),
+ q(0),
+ ],
+ q(pov) => [
+ q(5502),
+ q(0),
+ ],
+ q(pow) => [
+ q(5503),
+ q(0),
+ ],
+ q(pox) => [
+ q(5504),
+ q(0),
+ ],
+ q(poy) => [
+ q(5505),
+ q(0),
+ ],
+ q(poz) => [
+ q(0519),
+ q(0),
+ ],
+ q(ppa) => [
+ q(5506),
+ q(0),
+ ],
+ q(ppe) => [
+ q(5507),
+ q(0),
+ ],
+ q(ppi) => [
+ q(5508),
+ q(0),
+ ],
+ q(ppk) => [
+ q(5509),
+ q(0),
+ ],
+ q(ppl) => [
+ q(5510),
+ q(0),
+ ],
+ q(ppm) => [
+ q(5511),
+ q(0),
+ ],
+ q(ppn) => [
+ q(5512),
+ q(0),
+ ],
+ q(ppo) => [
+ q(5513),
+ q(0),
+ ],
+ q(ppp) => [
+ q(5514),
+ q(0),
+ ],
+ q(ppq) => [
+ q(5515),
+ q(0),
+ ],
+ q(ppr) => [
+ q(5516),
+ q(0),
+ ],
+ q(pps) => [
+ q(5517),
+ q(0),
+ ],
+ q(ppt) => [
+ q(5518),
+ q(0),
+ ],
+ q(ppu) => [
+ q(5519),
+ q(0),
+ ],
+ q(pqa) => [
+ q(5520),
+ q(0),
+ ],
+ q(pqe) => [
+ q(0520),
+ q(0),
+ ],
+ q(pqm) => [
+ q(5521),
+ q(0),
+ ],
+ q(pqw) => [
+ q(0521),
+ q(0),
+ ],
+ q(pra) => [
+ q(0349),
+ q(0),
+ ],
+ q(prb) => [
+ q(5522),
+ q(0),
+ ],
+ q(prc) => [
+ q(5523),
+ q(0),
+ ],
+ q(prd) => [
+ q(5524),
+ q(0),
+ ],
+ q(pre) => [
+ q(5525),
+ q(0),
+ ],
+ q(prf) => [
+ q(5526),
+ q(0),
+ ],
+ q(prg) => [
+ q(5527),
+ q(0),
+ ],
+ q(prh) => [
+ q(5528),
+ q(0),
+ ],
+ q(pri) => [
+ q(5529),
+ q(0),
+ ],
+ q(prk) => [
+ q(5530),
+ q(0),
+ ],
+ q(prl) => [
+ q(5531),
+ q(0),
+ ],
+ q(prm) => [
+ q(5532),
+ q(0),
+ ],
+ q(prn) => [
+ q(5533),
+ q(0),
+ ],
+ q(pro) => [
+ q(0350),
+ q(1),
+ ],
+ q(prp) => [
+ q(5534),
+ q(0),
+ ],
+ q(prq) => [
+ q(5535),
+ q(0),
+ ],
+ q(prr) => [
+ q(5536),
+ q(0),
+ ],
+ q(prs) => [
+ q(5537),
+ q(0),
+ ],
+ q(prt) => [
+ q(5538),
+ q(0),
+ ],
+ q(pru) => [
+ q(5539),
+ q(0),
+ ],
+ q(prw) => [
+ q(5540),
+ q(0),
+ ],
+ q(prx) => [
+ q(5541),
+ q(0),
+ ],
+ q(pry) => [
+ q(5542),
+ q(0),
+ ],
+ q(prz) => [
+ q(5543),
+ q(0),
+ ],
+ q(psa) => [
+ q(5544),
+ q(0),
+ ],
+ q(psc) => [
+ q(5545),
+ q(0),
+ ],
+ q(psd) => [
+ q(5546),
+ q(0),
+ ],
+ q(pse) => [
+ q(5547),
+ q(0),
+ ],
+ q(psg) => [
+ q(5548),
+ q(0),
+ ],
+ q(psh) => [
+ q(5549),
+ q(0),
+ ],
+ q(psi) => [
+ q(5550),
+ q(0),
+ ],
+ q(psl) => [
+ q(5551),
+ q(0),
+ ],
+ q(psm) => [
+ q(5552),
+ q(0),
+ ],
+ q(psn) => [
+ q(5553),
+ q(0),
+ ],
+ q(pso) => [
+ q(5554),
+ q(0),
+ ],
+ q(psp) => [
+ q(5555),
+ q(0),
+ ],
+ q(psq) => [
+ q(5556),
+ q(0),
+ ],
+ q(psr) => [
+ q(5557),
+ q(0),
+ ],
+ q(pss) => [
+ q(5558),
+ q(0),
+ ],
+ q(pst) => [
+ q(5559),
+ q(0),
+ ],
+ q(psu) => [
+ q(5560),
+ q(0),
+ ],
+ q(psw) => [
+ q(5561),
+ q(0),
+ ],
+ q(psy) => [
+ q(5562),
+ q(0),
+ ],
+ q(pta) => [
+ q(5563),
+ q(0),
+ ],
+ q(pth) => [
+ q(5564),
+ q(0),
+ ],
+ q(pti) => [
+ q(5565),
+ q(0),
+ ],
+ q(ptn) => [
+ q(5566),
+ q(0),
+ ],
+ q(pto) => [
+ q(5567),
+ q(0),
+ ],
+ q(ptp) => [
+ q(5568),
+ q(0),
+ ],
+ q(ptr) => [
+ q(5569),
+ q(0),
+ ],
+ q(ptt) => [
+ q(5570),
+ q(0),
+ ],
+ q(ptu) => [
+ q(5571),
+ q(0),
+ ],
+ q(ptv) => [
+ q(5572),
+ q(0),
+ ],
+ q(ptw) => [
+ q(5573),
+ q(0),
+ ],
+ q(pty) => [
+ q(5574),
+ q(0),
+ ],
+ q(pua) => [
+ q(5575),
+ q(0),
+ ],
+ q(pub) => [
+ q(5576),
+ q(0),
+ ],
+ q(puc) => [
+ q(5577),
+ q(0),
+ ],
+ q(pud) => [
+ q(5578),
+ q(0),
+ ],
+ q(pue) => [
+ q(5579),
+ q(0),
+ ],
+ q(puf) => [
+ q(5580),
+ q(0),
+ ],
+ q(pug) => [
+ q(5581),
+ q(0),
+ ],
+ q(pui) => [
+ q(5582),
+ q(0),
+ ],
+ q(puj) => [
+ q(5583),
+ q(0),
+ ],
+ q(puk) => [
+ q(5584),
+ q(0),
+ ],
+ q(pum) => [
+ q(5585),
+ q(0),
+ ],
+ q(puo) => [
+ q(5586),
+ q(0),
+ ],
+ q(pup) => [
+ q(5587),
+ q(0),
+ ],
+ q(puq) => [
+ q(5588),
+ q(0),
+ ],
+ q(pur) => [
+ q(5589),
+ q(0),
+ ],
+ q(pus) => [
+ q(0351),
+ q(0),
+ ],
+ q(put) => [
+ q(5590),
+ q(0),
+ ],
+ q(puu) => [
+ q(5591),
+ q(0),
+ ],
+ q(puw) => [
+ q(5592),
+ q(0),
+ ],
+ q(pux) => [
+ q(5593),
+ q(0),
+ ],
+ q(puy) => [
+ q(5594),
+ q(0),
+ ],
+ q(puz) => [
+ q(5595),
+ q(0),
+ ],
+ q(pwa) => [
+ q(5596),
+ q(0),
+ ],
+ q(pwb) => [
+ q(5597),
+ q(0),
+ ],
+ q(pwg) => [
+ q(5598),
+ q(0),
+ ],
+ q(pwm) => [
+ q(5599),
+ q(0),
+ ],
+ q(pwn) => [
+ q(5600),
+ q(0),
+ ],
+ q(pwo) => [
+ q(5601),
+ q(0),
+ ],
+ q(pwr) => [
+ q(5602),
+ q(0),
+ ],
+ q(pww) => [
+ q(5603),
+ q(0),
+ ],
+ q(pxm) => [
+ q(5604),
+ q(0),
+ ],
+ q(pye) => [
+ q(5605),
+ q(0),
+ ],
+ q(pym) => [
+ q(5606),
+ q(0),
+ ],
+ q(pyn) => [
+ q(5607),
+ q(0),
+ ],
+ q(pys) => [
+ q(5608),
+ q(0),
+ ],
+ q(pyu) => [
+ q(5609),
+ q(0),
+ ],
+ q(pyx) => [
+ q(5610),
+ q(0),
+ ],
+ q(pyy) => [
+ q(5611),
+ q(0),
+ ],
+ q(pzn) => [
+ q(5612),
+ q(0),
+ ],
+ q(qtz) => [
+ q(0352),
+ q(0),
+ ],
+ q(qua) => [
+ q(5613),
+ q(0),
+ ],
+ q(qub) => [
+ q(5614),
+ q(0),
+ ],
+ q(quc) => [
+ q(5615),
+ q(0),
+ ],
+ q(qud) => [
+ q(5616),
+ q(0),
+ ],
+ q(que) => [
+ q(0353),
+ q(0),
+ ],
+ q(quf) => [
+ q(5617),
+ q(0),
+ ],
+ q(qug) => [
+ q(5618),
+ q(0),
+ ],
+ q(quh) => [
+ q(5619),
+ q(0),
+ ],
+ q(qui) => [
+ q(5620),
+ q(0),
+ ],
+ q(quk) => [
+ q(5621),
+ q(0),
+ ],
+ q(qul) => [
+ q(5622),
+ q(0),
+ ],
+ q(qum) => [
+ q(5623),
+ q(0),
+ ],
+ q(qun) => [
+ q(5624),
+ q(0),
+ ],
+ q(qup) => [
+ q(5625),
+ q(0),
+ ],
+ q(quq) => [
+ q(5626),
+ q(0),
+ ],
+ q(qur) => [
+ q(5627),
+ q(0),
+ ],
+ q(qus) => [
+ q(5628),
+ q(0),
+ ],
+ q(quv) => [
+ q(5629),
+ q(0),
+ ],
+ q(quw) => [
+ q(5630),
+ q(0),
+ ],
+ q(qux) => [
+ q(5631),
+ q(0),
+ ],
+ q(quy) => [
+ q(5632),
+ q(0),
+ ],
+ q(quz) => [
+ q(5633),
+ q(0),
+ ],
+ q(qva) => [
+ q(5634),
+ q(0),
+ ],
+ q(qvc) => [
+ q(5635),
+ q(0),
+ ],
+ q(qve) => [
+ q(5636),
+ q(0),
+ ],
+ q(qvh) => [
+ q(5637),
+ q(0),
+ ],
+ q(qvi) => [
+ q(5638),
+ q(0),
+ ],
+ q(qvj) => [
+ q(5639),
+ q(0),
+ ],
+ q(qvl) => [
+ q(5640),
+ q(0),
+ ],
+ q(qvm) => [
+ q(5641),
+ q(0),
+ ],
+ q(qvn) => [
+ q(5642),
+ q(0),
+ ],
+ q(qvo) => [
+ q(5643),
+ q(0),
+ ],
+ q(qvp) => [
+ q(5644),
+ q(0),
+ ],
+ q(qvs) => [
+ q(5645),
+ q(0),
+ ],
+ q(qvw) => [
+ q(5646),
+ q(0),
+ ],
+ q(qvy) => [
+ q(5647),
+ q(0),
+ ],
+ q(qvz) => [
+ q(5648),
+ q(0),
+ ],
+ q(qwa) => [
+ q(5649),
+ q(0),
+ ],
+ q(qwc) => [
+ q(5650),
+ q(0),
+ ],
+ q(qwe) => [
+ q(0522),
+ q(0),
+ ],
+ q(qwh) => [
+ q(5651),
+ q(0),
+ ],
+ q(qwm) => [
+ q(5652),
+ q(0),
+ ],
+ q(qws) => [
+ q(5653),
+ q(0),
+ ],
+ q(qwt) => [
+ q(5654),
+ q(0),
+ ],
+ q(qxa) => [
+ q(5655),
+ q(0),
+ ],
+ q(qxc) => [
+ q(5656),
+ q(0),
+ ],
+ q(qxh) => [
+ q(5657),
+ q(0),
+ ],
+ q(qxl) => [
+ q(5658),
+ q(0),
+ ],
+ q(qxn) => [
+ q(5659),
+ q(0),
+ ],
+ q(qxo) => [
+ q(5660),
+ q(0),
+ ],
+ q(qxp) => [
+ q(5661),
+ q(0),
+ ],
+ q(qxq) => [
+ q(5662),
+ q(0),
+ ],
+ q(qxr) => [
+ q(5663),
+ q(0),
+ ],
+ q(qxs) => [
+ q(5664),
+ q(0),
+ ],
+ q(qxt) => [
+ q(5665),
+ q(0),
+ ],
+ q(qxu) => [
+ q(5666),
+ q(0),
+ ],
+ q(qxw) => [
+ q(5667),
+ q(0),
+ ],
+ q(qya) => [
+ q(5668),
+ q(0),
+ ],
+ q(qyp) => [
+ q(5669),
+ q(0),
+ ],
+ q(raa) => [
+ q(5670),
+ q(0),
+ ],
+ q(rab) => [
+ q(5671),
+ q(0),
+ ],
+ q(rac) => [
+ q(5672),
+ q(0),
+ ],
+ q(rad) => [
+ q(5673),
+ q(0),
+ ],
+ q(raf) => [
+ q(5674),
+ q(0),
+ ],
+ q(rag) => [
+ q(5675),
+ q(0),
+ ],
+ q(rah) => [
+ q(5676),
+ q(0),
+ ],
+ q(rai) => [
+ q(5677),
+ q(0),
+ ],
+ q(raj) => [
+ q(0354),
+ q(0),
+ ],
+ q(rak) => [
+ q(5678),
+ q(0),
+ ],
+ q(ral) => [
+ q(5679),
+ q(0),
+ ],
+ q(ram) => [
+ q(5680),
+ q(0),
+ ],
+ q(ran) => [
+ q(5681),
+ q(0),
+ ],
+ q(rao) => [
+ q(5682),
+ q(0),
+ ],
+ q(rap) => [
+ q(0355),
+ q(0),
+ ],
+ q(raq) => [
+ q(5683),
+ q(0),
+ ],
+ q(rar) => [
+ q(0356),
+ q(0),
+ ],
+ q(ras) => [
+ q(5684),
+ q(0),
+ ],
+ q(rat) => [
+ q(5685),
+ q(0),
+ ],
+ q(rau) => [
+ q(5686),
+ q(0),
+ ],
+ q(rav) => [
+ q(5687),
+ q(0),
+ ],
+ q(raw) => [
+ q(5688),
+ q(0),
+ ],
+ q(rax) => [
+ q(5689),
+ q(0),
+ ],
+ q(ray) => [
+ q(5690),
+ q(0),
+ ],
+ q(raz) => [
+ q(5691),
+ q(0),
+ ],
+ q(rbb) => [
+ q(5692),
+ q(0),
+ ],
+ q(rbk) => [
+ q(5693),
+ q(0),
+ ],
+ q(rbl) => [
+ q(5694),
+ q(0),
+ ],
+ q(rcf) => [
+ q(5695),
+ q(0),
+ ],
+ q(rdb) => [
+ q(5696),
+ q(0),
+ ],
+ q(rea) => [
+ q(5697),
+ q(0),
+ ],
+ q(reb) => [
+ q(5698),
+ q(0),
+ ],
+ q(ree) => [
+ q(5699),
+ q(0),
+ ],
+ q(reg) => [
+ q(5700),
+ q(0),
+ ],
+ q(rei) => [
+ q(5701),
+ q(0),
+ ],
+ q(rej) => [
+ q(5702),
+ q(0),
+ ],
+ q(rel) => [
+ q(5703),
+ q(0),
+ ],
+ q(rem) => [
+ q(5704),
+ q(0),
+ ],
+ q(ren) => [
+ q(5705),
+ q(0),
+ ],
+ q(rer) => [
+ q(5706),
+ q(0),
+ ],
+ q(res) => [
+ q(5707),
+ q(0),
+ ],
+ q(ret) => [
+ q(5708),
+ q(0),
+ ],
+ q(rey) => [
+ q(5709),
+ q(0),
+ ],
+ q(rga) => [
+ q(5710),
+ q(0),
+ ],
+ q(rge) => [
+ q(5711),
+ q(0),
+ ],
+ q(rgk) => [
+ q(5712),
+ q(0),
+ ],
+ q(rgn) => [
+ q(5713),
+ q(0),
+ ],
+ q(rgr) => [
+ q(5714),
+ q(0),
+ ],
+ q(rgs) => [
+ q(5715),
+ q(0),
+ ],
+ q(rgu) => [
+ q(5716),
+ q(0),
+ ],
+ q(rhg) => [
+ q(5717),
+ q(0),
+ ],
+ q(rhp) => [
+ q(5718),
+ q(0),
+ ],
+ q(ria) => [
+ q(5719),
+ q(0),
+ ],
+ q(rie) => [
+ q(5720),
+ q(0),
+ ],
+ q(rif) => [
+ q(5721),
+ q(0),
+ ],
+ q(ril) => [
+ q(5722),
+ q(0),
+ ],
+ q(rim) => [
+ q(5723),
+ q(0),
+ ],
+ q(rin) => [
+ q(5724),
+ q(0),
+ ],
+ q(rir) => [
+ q(5725),
+ q(0),
+ ],
+ q(rit) => [
+ q(5726),
+ q(0),
+ ],
+ q(riu) => [
+ q(5727),
+ q(0),
+ ],
+ q(rjg) => [
+ q(5728),
+ q(0),
+ ],
+ q(rji) => [
+ q(5729),
+ q(0),
+ ],
+ q(rjs) => [
+ q(5730),
+ q(0),
+ ],
+ q(rka) => [
+ q(5731),
+ q(0),
+ ],
+ q(rkb) => [
+ q(5732),
+ q(0),
+ ],
+ q(rkh) => [
+ q(5733),
+ q(0),
+ ],
+ q(rki) => [
+ q(5734),
+ q(0),
+ ],
+ q(rkm) => [
+ q(5735),
+ q(0),
+ ],
+ q(rkt) => [
+ q(5736),
+ q(0),
+ ],
+ q(rma) => [
+ q(5737),
+ q(0),
+ ],
+ q(rmb) => [
+ q(5738),
+ q(0),
+ ],
+ q(rmc) => [
+ q(5739),
+ q(0),
+ ],
+ q(rmd) => [
+ q(5740),
+ q(0),
+ ],
+ q(rme) => [
+ q(5741),
+ q(0),
+ ],
+ q(rmf) => [
+ q(5742),
+ q(0),
+ ],
+ q(rmg) => [
+ q(5743),
+ q(0),
+ ],
+ q(rmh) => [
+ q(5744),
+ q(0),
+ ],
+ q(rmi) => [
+ q(5745),
+ q(0),
+ ],
+ q(rmk) => [
+ q(5746),
+ q(0),
+ ],
+ q(rml) => [
+ q(5747),
+ q(0),
+ ],
+ q(rmm) => [
+ q(5748),
+ q(0),
+ ],
+ q(rmn) => [
+ q(5749),
+ q(0),
+ ],
+ q(rmo) => [
+ q(5750),
+ q(0),
+ ],
+ q(rmp) => [
+ q(5751),
+ q(0),
+ ],
+ q(rmq) => [
+ q(5752),
+ q(0),
+ ],
+ q(rms) => [
+ q(5753),
+ q(0),
+ ],
+ q(rmt) => [
+ q(5754),
+ q(0),
+ ],
+ q(rmu) => [
+ q(5755),
+ q(0),
+ ],
+ q(rmv) => [
+ q(5756),
+ q(0),
+ ],
+ q(rmw) => [
+ q(5757),
+ q(0),
+ ],
+ q(rmx) => [
+ q(5758),
+ q(0),
+ ],
+ q(rmy) => [
+ q(5759),
+ q(0),
+ ],
+ q(rmz) => [
+ q(5760),
+ q(0),
+ ],
+ q(rna) => [
+ q(5761),
+ q(0),
+ ],
+ q(rnd) => [
+ q(5762),
+ q(0),
+ ],
+ q(rng) => [
+ q(5763),
+ q(0),
+ ],
+ q(rnl) => [
+ q(5764),
+ q(0),
+ ],
+ q(rnn) => [
+ q(5765),
+ q(0),
+ ],
+ q(rnp) => [
+ q(5766),
+ q(0),
+ ],
+ q(rnw) => [
+ q(5767),
+ q(0),
+ ],
+ q(roa) => [
+ q(0357),
+ q(0),
+ ],
+ q(rob) => [
+ q(5768),
+ q(0),
+ ],
+ q(roc) => [
+ q(5769),
+ q(0),
+ ],
+ q(rod) => [
+ q(5770),
+ q(0),
+ ],
+ q(roe) => [
+ q(5771),
+ q(0),
+ ],
+ q(rof) => [
+ q(5772),
+ q(0),
+ ],
+ q(rog) => [
+ q(5773),
+ q(0),
+ ],
+ q(roh) => [
+ q(0358),
+ q(0),
+ ],
+ q(rol) => [
+ q(5774),
+ q(0),
+ ],
+ q(rom) => [
+ q(0359),
+ q(0),
+ ],
+ q(roo) => [
+ q(5775),
+ q(0),
+ ],
+ q(rop) => [
+ q(5776),
+ q(0),
+ ],
+ q(ror) => [
+ q(5777),
+ q(0),
+ ],
+ q(rou) => [
+ q(5778),
+ q(0),
+ ],
+ q(row) => [
+ q(5779),
+ q(0),
+ ],
+ q(rpn) => [
+ q(5780),
+ q(0),
+ ],
+ q(rpt) => [
+ q(5781),
+ q(0),
+ ],
+ q(rri) => [
+ q(5782),
+ q(0),
+ ],
+ q(rro) => [
+ q(5783),
+ q(0),
+ ],
+ q(rsb) => [
+ q(5784),
+ q(0),
+ ],
+ q(rsi) => [
+ q(5785),
+ q(0),
+ ],
+ q(rsl) => [
+ q(5786),
+ q(0),
+ ],
+ q(rth) => [
+ q(5787),
+ q(0),
+ ],
+ q(rtm) => [
+ q(5788),
+ q(0),
+ ],
+ q(rtw) => [
+ q(5789),
+ q(0),
+ ],
+ q(rub) => [
+ q(5790),
+ q(0),
+ ],
+ q(ruc) => [
+ q(5791),
+ q(0),
+ ],
+ q(rue) => [
+ q(5792),
+ q(0),
+ ],
+ q(ruf) => [
+ q(5793),
+ q(0),
+ ],
+ q(rug) => [
+ q(5794),
+ q(0),
+ ],
+ q(ruh) => [
+ q(5795),
+ q(0),
+ ],
+ q(rui) => [
+ q(5796),
+ q(0),
+ ],
+ q(ruk) => [
+ q(5797),
+ q(0),
+ ],
+ q(rum) => [
+ q(0360),
+ q(0),
+ ],
+ q(run) => [
+ q(0361),
+ q(0),
+ ],
+ q(ruo) => [
+ q(5798),
+ q(0),
+ ],
+ q(rup) => [
+ q(0362),
+ q(0),
+ ],
+ q(ruq) => [
+ q(5799),
+ q(0),
+ ],
+ q(rus) => [
+ q(0363),
+ q(0),
+ ],
+ q(rut) => [
+ q(5800),
+ q(0),
+ ],
+ q(ruu) => [
+ q(5801),
+ q(0),
+ ],
+ q(ruy) => [
+ q(5802),
+ q(0),
+ ],
+ q(ruz) => [
+ q(5803),
+ q(0),
+ ],
+ q(rwa) => [
+ q(5804),
+ q(0),
+ ],
+ q(rwk) => [
+ q(5805),
+ q(0),
+ ],
+ q(rwm) => [
+ q(5806),
+ q(0),
+ ],
+ q(rwo) => [
+ q(5807),
+ q(0),
+ ],
+ q(rwr) => [
+ q(5808),
+ q(0),
+ ],
+ q(ryn) => [
+ q(5809),
+ q(0),
+ ],
+ q(rys) => [
+ q(5810),
+ q(0),
+ ],
+ q(ryu) => [
+ q(5811),
+ q(0),
+ ],
+ q(saa) => [
+ q(5812),
+ q(0),
+ ],
+ q(sab) => [
+ q(5813),
+ q(0),
+ ],
+ q(sac) => [
+ q(5814),
+ q(0),
+ ],
+ q(sad) => [
+ q(0364),
+ q(0),
+ ],
+ q(sae) => [
+ q(5815),
+ q(0),
+ ],
+ q(saf) => [
+ q(5816),
+ q(0),
+ ],
+ q(sag) => [
+ q(0365),
+ q(0),
+ ],
+ q(sah) => [
+ q(0366),
+ q(0),
+ ],
+ q(sai) => [
+ q(0367),
+ q(1),
+ ],
+ q(saj) => [
+ q(5817),
+ q(0),
+ ],
+ q(sak) => [
+ q(5818),
+ q(0),
+ ],
+ q(sal) => [
+ q(0368),
+ q(0),
+ ],
+ q(sam) => [
+ q(0369),
+ q(0),
+ ],
+ q(san) => [
+ q(0370),
+ q(0),
+ ],
+ q(sao) => [
+ q(5819),
+ q(0),
+ ],
+ q(sap) => [
+ q(5820),
+ q(0),
+ ],
+ q(saq) => [
+ q(5821),
+ q(0),
+ ],
+ q(sar) => [
+ q(5822),
+ q(0),
+ ],
+ q(sas) => [
+ q(0371),
+ q(0),
+ ],
+ q(sat) => [
+ q(0372),
+ q(0),
+ ],
+ q(sau) => [
+ q(5823),
+ q(0),
+ ],
+ q(sav) => [
+ q(5824),
+ q(0),
+ ],
+ q(saw) => [
+ q(5825),
+ q(0),
+ ],
+ q(sax) => [
+ q(5826),
+ q(0),
+ ],
+ q(say) => [
+ q(5827),
+ q(0),
+ ],
+ q(saz) => [
+ q(5828),
+ q(0),
+ ],
+ q(sba) => [
+ q(5829),
+ q(0),
+ ],
+ q(sbb) => [
+ q(5830),
+ q(0),
+ ],
+ q(sbc) => [
+ q(5831),
+ q(0),
+ ],
+ q(sbd) => [
+ q(5832),
+ q(0),
+ ],
+ q(sbe) => [
+ q(5833),
+ q(0),
+ ],
+ q(sbf) => [
+ q(5834),
+ q(0),
+ ],
+ q(sbg) => [
+ q(5835),
+ q(0),
+ ],
+ q(sbh) => [
+ q(5836),
+ q(0),
+ ],
+ q(sbi) => [
+ q(5837),
+ q(0),
+ ],
+ q(sbj) => [
+ q(5838),
+ q(0),
+ ],
+ q(sbk) => [
+ q(5839),
+ q(0),
+ ],
+ q(sbl) => [
+ q(5840),
+ q(0),
+ ],
+ q(sbm) => [
+ q(5841),
+ q(0),
+ ],
+ q(sbn) => [
+ q(5842),
+ q(0),
+ ],
+ q(sbo) => [
+ q(5843),
+ q(0),
+ ],
+ q(sbp) => [
+ q(5844),
+ q(0),
+ ],
+ q(sbq) => [
+ q(5845),
+ q(0),
+ ],
+ q(sbr) => [
+ q(5846),
+ q(0),
+ ],
+ q(sbs) => [
+ q(5847),
+ q(0),
+ ],
+ q(sbt) => [
+ q(5848),
+ q(0),
+ ],
+ q(sbu) => [
+ q(5849),
+ q(0),
+ ],
+ q(sbv) => [
+ q(5850),
+ q(0),
+ ],
+ q(sbw) => [
+ q(5851),
+ q(0),
+ ],
+ q(sbx) => [
+ q(5852),
+ q(0),
+ ],
+ q(sby) => [
+ q(5853),
+ q(0),
+ ],
+ q(sbz) => [
+ q(5854),
+ q(0),
+ ],
+ q(sca) => [
+ q(5855),
+ q(0),
+ ],
+ q(scb) => [
+ q(5856),
+ q(0),
+ ],
+ q(sce) => [
+ q(5857),
+ q(0),
+ ],
+ q(scf) => [
+ q(5858),
+ q(0),
+ ],
+ q(scg) => [
+ q(5859),
+ q(0),
+ ],
+ q(sch) => [
+ q(5860),
+ q(0),
+ ],
+ q(sci) => [
+ q(5861),
+ q(0),
+ ],
+ q(sck) => [
+ q(5862),
+ q(0),
+ ],
+ q(scl) => [
+ q(5863),
+ q(0),
+ ],
+ q(scn) => [
+ q(0373),
+ q(0),
+ ],
+ q(sco) => [
+ q(0374),
+ q(0),
+ ],
+ q(scp) => [
+ q(5864),
+ q(0),
+ ],
+ q(scq) => [
+ q(5865),
+ q(0),
+ ],
+ q(scs) => [
+ q(5866),
+ q(0),
+ ],
+ q(scu) => [
+ q(5867),
+ q(0),
+ ],
+ q(scv) => [
+ q(5868),
+ q(0),
+ ],
+ q(scw) => [
+ q(5869),
+ q(0),
+ ],
+ q(scx) => [
+ q(5870),
+ q(0),
+ ],
+ q(sda) => [
+ q(5871),
+ q(0),
+ ],
+ q(sdb) => [
+ q(5872),
+ q(0),
+ ],
+ q(sdc) => [
+ q(5873),
+ q(0),
+ ],
+ q(sde) => [
+ q(5874),
+ q(0),
+ ],
+ q(sdf) => [
+ q(5875),
+ q(0),
+ ],
+ q(sdg) => [
+ q(5876),
+ q(0),
+ ],
+ q(sdh) => [
+ q(5877),
+ q(0),
+ ],
+ q(sdj) => [
+ q(5878),
+ q(0),
+ ],
+ q(sdk) => [
+ q(5879),
+ q(0),
+ ],
+ q(sdl) => [
+ q(5880),
+ q(0),
+ ],
+ q(sdm) => [
+ q(5881),
+ q(0),
+ ],
+ q(sdn) => [
+ q(5882),
+ q(0),
+ ],
+ q(sdo) => [
+ q(5883),
+ q(0),
+ ],
+ q(sdp) => [
+ q(5884),
+ q(0),
+ ],
+ q(sdr) => [
+ q(5885),
+ q(0),
+ ],
+ q(sds) => [
+ q(5886),
+ q(0),
+ ],
+ q(sdt) => [
+ q(5887),
+ q(0),
+ ],
+ q(sdu) => [
+ q(5888),
+ q(0),
+ ],
+ q(sdv) => [
+ q(0523),
+ q(0),
+ ],
+ q(sdx) => [
+ q(5889),
+ q(0),
+ ],
+ q(sdz) => [
+ q(5890),
+ q(0),
+ ],
+ q(sea) => [
+ q(5891),
+ q(0),
+ ],
+ q(seb) => [
+ q(5892),
+ q(0),
+ ],
+ q(sec) => [
+ q(5893),
+ q(0),
+ ],
+ q(sed) => [
+ q(5894),
+ q(0),
+ ],
+ q(see) => [
+ q(5895),
+ q(0),
+ ],
+ q(sef) => [
+ q(5896),
+ q(0),
+ ],
+ q(seg) => [
+ q(5897),
+ q(0),
+ ],
+ q(seh) => [
+ q(5898),
+ q(0),
+ ],
+ q(sei) => [
+ q(5899),
+ q(0),
+ ],
+ q(sej) => [
+ q(5900),
+ q(0),
+ ],
+ q(sek) => [
+ q(5901),
+ q(0),
+ ],
+ q(sel) => [
+ q(0375),
+ q(0),
+ ],
+ q(sem) => [
+ q(0376),
+ q(0),
+ ],
+ q(sen) => [
+ q(5902),
+ q(0),
+ ],
+ q(seo) => [
+ q(5903),
+ q(0),
+ ],
+ q(sep) => [
+ q(5904),
+ q(0),
+ ],
+ q(seq) => [
+ q(5905),
+ q(0),
+ ],
+ q(ser) => [
+ q(5906),
+ q(0),
+ ],
+ q(ses) => [
+ q(5907),
+ q(0),
+ ],
+ q(set) => [
+ q(5908),
+ q(0),
+ ],
+ q(seu) => [
+ q(5909),
+ q(0),
+ ],
+ q(sev) => [
+ q(5910),
+ q(0),
+ ],
+ q(sew) => [
+ q(5911),
+ q(0),
+ ],
+ q(sey) => [
+ q(5912),
+ q(0),
+ ],
+ q(sez) => [
+ q(5913),
+ q(0),
+ ],
+ q(sfb) => [
+ q(5914),
+ q(0),
+ ],
+ q(sfm) => [
+ q(5915),
+ q(0),
+ ],
+ q(sfs) => [
+ q(5916),
+ q(0),
+ ],
+ q(sfw) => [
+ q(5917),
+ q(0),
+ ],
+ q(sga) => [
+ q(0377),
+ q(1),
+ ],
+ q(sgb) => [
+ q(5918),
+ q(0),
+ ],
+ q(sgc) => [
+ q(5919),
+ q(0),
+ ],
+ q(sgd) => [
+ q(5920),
+ q(0),
+ ],
+ q(sge) => [
+ q(5921),
+ q(0),
+ ],
+ q(sgg) => [
+ q(5922),
+ q(0),
+ ],
+ q(sgh) => [
+ q(5923),
+ q(0),
+ ],
+ q(sgi) => [
+ q(5924),
+ q(0),
+ ],
+ q(sgk) => [
+ q(5925),
+ q(0),
+ ],
+ q(sgm) => [
+ q(5926),
+ q(0),
+ ],
+ q(sgn) => [
+ q(0378),
+ q(0),
+ ],
+ q(sgo) => [
+ q(5927),
+ q(0),
+ ],
+ q(sgp) => [
+ q(5928),
+ q(0),
+ ],
+ q(sgr) => [
+ q(5929),
+ q(0),
+ ],
+ q(sgs) => [
+ q(5930),
+ q(0),
+ ],
+ q(sgt) => [
+ q(5931),
+ q(0),
+ ],
+ q(sgu) => [
+ q(5932),
+ q(0),
+ ],
+ q(sgw) => [
+ q(5933),
+ q(0),
+ ],
+ q(sgx) => [
+ q(5934),
+ q(0),
+ ],
+ q(sgy) => [
+ q(5935),
+ q(0),
+ ],
+ q(sgz) => [
+ q(5936),
+ q(0),
+ ],
+ q(sha) => [
+ q(5937),
+ q(0),
+ ],
+ q(shb) => [
+ q(5938),
+ q(0),
+ ],
+ q(shc) => [
+ q(5939),
+ q(0),
+ ],
+ q(shd) => [
+ q(5940),
+ q(0),
+ ],
+ q(she) => [
+ q(5941),
+ q(0),
+ ],
+ q(shg) => [
+ q(5942),
+ q(0),
+ ],
+ q(shh) => [
+ q(5943),
+ q(0),
+ ],
+ q(shi) => [
+ q(5944),
+ q(0),
+ ],
+ q(shj) => [
+ q(5945),
+ q(0),
+ ],
+ q(shk) => [
+ q(5946),
+ q(0),
+ ],
+ q(shl) => [
+ q(5947),
+ q(0),
+ ],
+ q(shm) => [
+ q(5948),
+ q(0),
+ ],
+ q(shn) => [
+ q(0379),
+ q(0),
+ ],
+ q(sho) => [
+ q(5949),
+ q(0),
+ ],
+ q(shp) => [
+ q(5950),
+ q(0),
+ ],
+ q(shq) => [
+ q(5951),
+ q(0),
+ ],
+ q(shr) => [
+ q(5952),
+ q(0),
+ ],
+ q(shs) => [
+ q(5953),
+ q(0),
+ ],
+ q(sht) => [
+ q(5954),
+ q(0),
+ ],
+ q(shu) => [
+ q(5955),
+ q(0),
+ ],
+ q(shv) => [
+ q(5956),
+ q(0),
+ ],
+ q(shw) => [
+ q(5957),
+ q(0),
+ ],
+ q(shx) => [
+ q(5958),
+ q(0),
+ ],
+ q(shy) => [
+ q(5959),
+ q(0),
+ ],
+ q(shz) => [
+ q(5960),
+ q(0),
+ ],
+ q(sia) => [
+ q(5961),
+ q(0),
+ ],
+ q(sib) => [
+ q(5962),
+ q(0),
+ ],
+ q(sid) => [
+ q(0380),
+ q(0),
+ ],
+ q(sie) => [
+ q(5963),
+ q(0),
+ ],
+ q(sif) => [
+ q(5964),
+ q(0),
+ ],
+ q(sig) => [
+ q(5965),
+ q(0),
+ ],
+ q(sih) => [
+ q(5966),
+ q(0),
+ ],
+ q(sii) => [
+ q(5967),
+ q(0),
+ ],
+ q(sij) => [
+ q(5968),
+ q(0),
+ ],
+ q(sik) => [
+ q(5969),
+ q(0),
+ ],
+ q(sil) => [
+ q(5970),
+ q(0),
+ ],
+ q(sim) => [
+ q(5971),
+ q(0),
+ ],
+ q(sin) => [
+ q(0381),
+ q(0),
+ ],
+ q(sio) => [
+ q(0382),
+ q(0),
+ ],
+ q(sip) => [
+ q(5972),
+ q(0),
+ ],
+ q(siq) => [
+ q(5973),
+ q(0),
+ ],
+ q(sir) => [
+ q(5974),
+ q(0),
+ ],
+ q(sis) => [
+ q(5975),
+ q(0),
+ ],
+ q(sit) => [
+ q(0383),
+ q(0),
+ ],
+ q(siu) => [
+ q(5976),
+ q(0),
+ ],
+ q(siv) => [
+ q(5977),
+ q(0),
+ ],
+ q(siw) => [
+ q(5978),
+ q(0),
+ ],
+ q(six) => [
+ q(5979),
+ q(0),
+ ],
+ q(siy) => [
+ q(5980),
+ q(0),
+ ],
+ q(siz) => [
+ q(5981),
+ q(0),
+ ],
+ q(sja) => [
+ q(5982),
+ q(0),
+ ],
+ q(sjb) => [
+ q(5983),
+ q(0),
+ ],
+ q(sjd) => [
+ q(5984),
+ q(0),
+ ],
+ q(sje) => [
+ q(5985),
+ q(0),
+ ],
+ q(sjg) => [
+ q(5986),
+ q(0),
+ ],
+ q(sjk) => [
+ q(5987),
+ q(0),
+ ],
+ q(sjl) => [
+ q(5988),
+ q(0),
+ ],
+ q(sjm) => [
+ q(5989),
+ q(0),
+ ],
+ q(sjn) => [
+ q(5990),
+ q(0),
+ ],
+ q(sjo) => [
+ q(5991),
+ q(0),
+ ],
+ q(sjp) => [
+ q(5992),
+ q(0),
+ ],
+ q(sjr) => [
+ q(5993),
+ q(0),
+ ],
+ q(sjs) => [
+ q(5994),
+ q(0),
+ ],
+ q(sjt) => [
+ q(5995),
+ q(0),
+ ],
+ q(sju) => [
+ q(5996),
+ q(0),
+ ],
+ q(sjw) => [
+ q(5997),
+ q(0),
+ ],
+ q(ska) => [
+ q(5998),
+ q(0),
+ ],
+ q(skb) => [
+ q(5999),
+ q(0),
+ ],
+ q(skc) => [
+ q(6000),
+ q(0),
+ ],
+ q(skd) => [
+ q(6001),
+ q(0),
+ ],
+ q(ske) => [
+ q(6002),
+ q(0),
+ ],
+ q(skf) => [
+ q(6003),
+ q(0),
+ ],
+ q(skg) => [
+ q(6004),
+ q(0),
+ ],
+ q(skh) => [
+ q(6005),
+ q(0),
+ ],
+ q(ski) => [
+ q(6006),
+ q(0),
+ ],
+ q(skj) => [
+ q(6007),
+ q(0),
+ ],
+ q(skk) => [
+ q(6008),
+ q(0),
+ ],
+ q(skm) => [
+ q(6009),
+ q(0),
+ ],
+ q(skn) => [
+ q(6010),
+ q(0),
+ ],
+ q(sko) => [
+ q(6011),
+ q(0),
+ ],
+ q(skp) => [
+ q(6012),
+ q(0),
+ ],
+ q(skq) => [
+ q(6013),
+ q(0),
+ ],
+ q(skr) => [
+ q(6014),
+ q(0),
+ ],
+ q(sks) => [
+ q(6015),
+ q(0),
+ ],
+ q(skt) => [
+ q(6016),
+ q(0),
+ ],
+ q(sku) => [
+ q(6017),
+ q(0),
+ ],
+ q(skv) => [
+ q(6018),
+ q(0),
+ ],
+ q(skw) => [
+ q(6019),
+ q(0),
+ ],
+ q(skx) => [
+ q(6020),
+ q(0),
+ ],
+ q(sky) => [
+ q(6021),
+ q(0),
+ ],
+ q(skz) => [
+ q(6022),
+ q(0),
+ ],
+ q(sla) => [
+ q(0384),
+ q(0),
+ ],
+ q(slc) => [
+ q(5833),
+ q(0),
+ ],
+ q(sld) => [
+ q(6023),
+ q(0),
+ ],
+ q(sle) => [
+ q(6024),
+ q(0),
+ ],
+ q(slf) => [
+ q(6025),
+ q(0),
+ ],
+ q(slg) => [
+ q(6026),
+ q(0),
+ ],
+ q(slh) => [
+ q(6027),
+ q(0),
+ ],
+ q(sli) => [
+ q(6028),
+ q(0),
+ ],
+ q(slj) => [
+ q(6029),
+ q(0),
+ ],
+ q(sll) => [
+ q(6030),
+ q(0),
+ ],
+ q(slm) => [
+ q(6031),
+ q(0),
+ ],
+ q(sln) => [
+ q(6032),
+ q(0),
+ ],
+ q(slo) => [
+ q(0385),
+ q(0),
+ ],
+ q(slp) => [
+ q(6033),
+ q(0),
+ ],
+ q(slq) => [
+ q(6034),
+ q(0),
+ ],
+ q(slr) => [
+ q(6035),
+ q(0),
+ ],
+ q(sls) => [
+ q(6036),
+ q(0),
+ ],
+ q(slt) => [
+ q(6037),
+ q(0),
+ ],
+ q(slu) => [
+ q(6038),
+ q(0),
+ ],
+ q(slv) => [
+ q(0386),
+ q(0),
+ ],
+ q(slw) => [
+ q(6039),
+ q(0),
+ ],
+ q(slx) => [
+ q(6040),
+ q(0),
+ ],
+ q(sly) => [
+ q(6041),
+ q(0),
+ ],
+ q(slz) => [
+ q(6042),
+ q(0),
+ ],
+ q(sma) => [
+ q(0387),
+ q(0),
+ ],
+ q(smb) => [
+ q(6043),
+ q(0),
+ ],
+ q(smc) => [
+ q(6044),
+ q(0),
+ ],
+ q(smd) => [
+ q(6045),
+ q(0),
+ ],
+ q(sme) => [
+ q(0388),
+ q(0),
+ ],
+ q(smf) => [
+ q(6046),
+ q(0),
+ ],
+ q(smg) => [
+ q(6047),
+ q(0),
+ ],
+ q(smh) => [
+ q(6048),
+ q(0),
+ ],
+ q(smi) => [
+ q(0389),
+ q(0),
+ ],
+ q(smj) => [
+ q(0390),
+ q(0),
+ ],
+ q(smk) => [
+ q(6049),
+ q(0),
+ ],
+ q(sml) => [
+ q(6050),
+ q(0),
+ ],
+ q(smm) => [
+ q(6051),
+ q(0),
+ ],
+ q(smn) => [
+ q(0391),
+ q(0),
+ ],
+ q(smo) => [
+ q(0392),
+ q(0),
+ ],
+ q(smp) => [
+ q(6052),
+ q(0),
+ ],
+ q(smq) => [
+ q(6053),
+ q(0),
+ ],
+ q(smr) => [
+ q(6054),
+ q(0),
+ ],
+ q(sms) => [
+ q(0393),
+ q(0),
+ ],
+ q(smt) => [
+ q(6055),
+ q(0),
+ ],
+ q(smu) => [
+ q(6056),
+ q(0),
+ ],
+ q(smv) => [
+ q(6057),
+ q(0),
+ ],
+ q(smw) => [
+ q(6058),
+ q(0),
+ ],
+ q(smx) => [
+ q(6059),
+ q(0),
+ ],
+ q(smy) => [
+ q(6060),
+ q(0),
+ ],
+ q(smz) => [
+ q(6061),
+ q(0),
+ ],
+ q(sna) => [
+ q(0394),
+ q(0),
+ ],
+ q(snb) => [
+ q(6062),
+ q(0),
+ ],
+ q(snc) => [
+ q(6063),
+ q(0),
+ ],
+ q(snd) => [
+ q(0395),
+ q(0),
+ ],
+ q(sne) => [
+ q(6064),
+ q(0),
+ ],
+ q(snf) => [
+ q(6065),
+ q(0),
+ ],
+ q(sng) => [
+ q(6066),
+ q(0),
+ ],
+ q(snh) => [
+ q(6067),
+ q(0),
+ ],
+ q(sni) => [
+ q(6068),
+ q(0),
+ ],
+ q(snj) => [
+ q(6069),
+ q(0),
+ ],
+ q(snk) => [
+ q(0396),
+ q(0),
+ ],
+ q(snl) => [
+ q(6070),
+ q(0),
+ ],
+ q(snm) => [
+ q(6071),
+ q(0),
+ ],
+ q(snn) => [
+ q(6072),
+ q(0),
+ ],
+ q(sno) => [
+ q(6073),
+ q(0),
+ ],
+ q(snp) => [
+ q(6074),
+ q(0),
+ ],
+ q(snq) => [
+ q(6075),
+ q(0),
+ ],
+ q(snr) => [
+ q(6076),
+ q(0),
+ ],
+ q(sns) => [
+ q(6077),
+ q(0),
+ ],
+ q(snu) => [
+ q(6078),
+ q(0),
+ ],
+ q(snv) => [
+ q(6079),
+ q(0),
+ ],
+ q(snw) => [
+ q(6080),
+ q(0),
+ ],
+ q(snx) => [
+ q(6081),
+ q(0),
+ ],
+ q(sny) => [
+ q(6082),
+ q(0),
+ ],
+ q(snz) => [
+ q(6083),
+ q(0),
+ ],
+ q(soa) => [
+ q(6084),
+ q(0),
+ ],
+ q(sob) => [
+ q(6085),
+ q(0),
+ ],
+ q(soc) => [
+ q(6086),
+ q(0),
+ ],
+ q(sod) => [
+ q(6087),
+ q(0),
+ ],
+ q(soe) => [
+ q(6088),
+ q(0),
+ ],
+ q(sog) => [
+ q(0397),
+ q(0),
+ ],
+ q(soh) => [
+ q(6089),
+ q(0),
+ ],
+ q(soi) => [
+ q(6090),
+ q(0),
+ ],
+ q(soj) => [
+ q(6091),
+ q(0),
+ ],
+ q(sok) => [
+ q(6092),
+ q(0),
+ ],
+ q(sol) => [
+ q(6093),
+ q(0),
+ ],
+ q(som) => [
+ q(0398),
+ q(0),
+ ],
+ q(son) => [
+ q(0399),
+ q(0),
+ ],
+ q(soo) => [
+ q(6094),
+ q(0),
+ ],
+ q(sop) => [
+ q(6095),
+ q(0),
+ ],
+ q(soq) => [
+ q(6096),
+ q(0),
+ ],
+ q(sor) => [
+ q(6097),
+ q(0),
+ ],
+ q(sos) => [
+ q(6098),
+ q(0),
+ ],
+ q(sot) => [
+ q(0400),
+ q(0),
+ ],
+ q(sou) => [
+ q(6099),
+ q(0),
+ ],
+ q(sov) => [
+ q(6100),
+ q(0),
+ ],
+ q(sow) => [
+ q(6101),
+ q(0),
+ ],
+ q(sox) => [
+ q(6102),
+ q(0),
+ ],
+ q(soy) => [
+ q(6103),
+ q(0),
+ ],
+ q(soz) => [
+ q(6104),
+ q(0),
+ ],
+ q(spa) => [
+ q(0401),
+ q(0),
+ ],
+ q(spb) => [
+ q(6105),
+ q(0),
+ ],
+ q(spc) => [
+ q(6106),
+ q(0),
+ ],
+ q(spd) => [
+ q(6107),
+ q(0),
+ ],
+ q(spe) => [
+ q(6108),
+ q(0),
+ ],
+ q(spg) => [
+ q(6109),
+ q(0),
+ ],
+ q(spi) => [
+ q(6110),
+ q(0),
+ ],
+ q(spk) => [
+ q(6111),
+ q(0),
+ ],
+ q(spl) => [
+ q(6112),
+ q(0),
+ ],
+ q(spm) => [
+ q(6113),
+ q(0),
+ ],
+ q(spo) => [
+ q(6114),
+ q(0),
+ ],
+ q(spp) => [
+ q(6115),
+ q(0),
+ ],
+ q(spq) => [
+ q(6116),
+ q(0),
+ ],
+ q(spr) => [
+ q(6117),
+ q(0),
+ ],
+ q(sps) => [
+ q(6118),
+ q(0),
+ ],
+ q(spt) => [
+ q(6119),
+ q(0),
+ ],
+ q(spu) => [
+ q(6120),
+ q(0),
+ ],
+ q(spx) => [
+ q(6121),
+ q(0),
+ ],
+ q(spy) => [
+ q(6122),
+ q(0),
+ ],
+ q(sqa) => [
+ q(6123),
+ q(0),
+ ],
+ q(sqh) => [
+ q(6124),
+ q(0),
+ ],
+ q(sqj) => [
+ q(0524),
+ q(0),
+ ],
+ q(sqm) => [
+ q(6125),
+ q(0),
+ ],
+ q(sqn) => [
+ q(6126),
+ q(0),
+ ],
+ q(sqo) => [
+ q(6127),
+ q(0),
+ ],
+ q(sqq) => [
+ q(6128),
+ q(0),
+ ],
+ q(sqr) => [
+ q(6129),
+ q(0),
+ ],
+ q(sqs) => [
+ q(6130),
+ q(0),
+ ],
+ q(sqt) => [
+ q(6131),
+ q(0),
+ ],
+ q(squ) => [
+ q(6132),
+ q(0),
+ ],
+ q(sra) => [
+ q(6133),
+ q(0),
+ ],
+ q(srb) => [
+ q(6134),
+ q(0),
+ ],
+ q(src) => [
+ q(6135),
+ q(0),
+ ],
+ q(srd) => [
+ q(0402),
+ q(0),
+ ],
+ q(sre) => [
+ q(6136),
+ q(0),
+ ],
+ q(srf) => [
+ q(6137),
+ q(0),
+ ],
+ q(srg) => [
+ q(6138),
+ q(0),
+ ],
+ q(srh) => [
+ q(6139),
+ q(0),
+ ],
+ q(sri) => [
+ q(6140),
+ q(0),
+ ],
+ q(srk) => [
+ q(6141),
+ q(0),
+ ],
+ q(srl) => [
+ q(6142),
+ q(0),
+ ],
+ q(srm) => [
+ q(6143),
+ q(0),
+ ],
+ q(srn) => [
+ q(0403),
+ q(0),
+ ],
+ q(sro) => [
+ q(6144),
+ q(0),
+ ],
+ q(srp) => [
+ q(0404),
+ q(0),
+ ],
+ q(srq) => [
+ q(6145),
+ q(0),
+ ],
+ q(srr) => [
+ q(0405),
+ q(0),
+ ],
+ q(srs) => [
+ q(6146),
+ q(0),
+ ],
+ q(srt) => [
+ q(6147),
+ q(0),
+ ],
+ q(sru) => [
+ q(6148),
+ q(0),
+ ],
+ q(srv) => [
+ q(6149),
+ q(0),
+ ],
+ q(srw) => [
+ q(6150),
+ q(0),
+ ],
+ q(srx) => [
+ q(6151),
+ q(0),
+ ],
+ q(sry) => [
+ q(6152),
+ q(0),
+ ],
+ q(srz) => [
+ q(6153),
+ q(0),
+ ],
+ q(ssa) => [
+ q(0406),
+ q(0),
+ ],
+ q(ssb) => [
+ q(6154),
+ q(0),
+ ],
+ q(ssc) => [
+ q(6155),
+ q(0),
+ ],
+ q(ssd) => [
+ q(6156),
+ q(0),
+ ],
+ q(sse) => [
+ q(6157),
+ q(0),
+ ],
+ q(ssf) => [
+ q(6158),
+ q(0),
+ ],
+ q(ssg) => [
+ q(6159),
+ q(0),
+ ],
+ q(ssh) => [
+ q(6160),
+ q(0),
+ ],
+ q(ssi) => [
+ q(6161),
+ q(0),
+ ],
+ q(ssj) => [
+ q(6162),
+ q(0),
+ ],
+ q(ssk) => [
+ q(6163),
+ q(0),
+ ],
+ q(ssl) => [
+ q(6164),
+ q(0),
+ ],
+ q(ssm) => [
+ q(6165),
+ q(0),
+ ],
+ q(ssn) => [
+ q(6166),
+ q(0),
+ ],
+ q(sso) => [
+ q(6167),
+ q(0),
+ ],
+ q(ssp) => [
+ q(6168),
+ q(0),
+ ],
+ q(ssq) => [
+ q(6169),
+ q(0),
+ ],
+ q(ssr) => [
+ q(6170),
+ q(0),
+ ],
+ q(sss) => [
+ q(6171),
+ q(0),
+ ],
+ q(sst) => [
+ q(6172),
+ q(0),
+ ],
+ q(ssu) => [
+ q(6173),
+ q(0),
+ ],
+ q(ssv) => [
+ q(6174),
+ q(0),
+ ],
+ q(ssw) => [
+ q(0407),
+ q(0),
+ ],
+ q(ssx) => [
+ q(6175),
+ q(0),
+ ],
+ q(ssy) => [
+ q(6176),
+ q(0),
+ ],
+ q(ssz) => [
+ q(6177),
+ q(0),
+ ],
+ q(sta) => [
+ q(6178),
+ q(0),
+ ],
+ q(stb) => [
+ q(6179),
+ q(0),
+ ],
+ q(std) => [
+ q(6180),
+ q(0),
+ ],
+ q(ste) => [
+ q(6181),
+ q(0),
+ ],
+ q(stf) => [
+ q(6182),
+ q(0),
+ ],
+ q(stg) => [
+ q(6183),
+ q(0),
+ ],
+ q(sth) => [
+ q(6184),
+ q(0),
+ ],
+ q(sti) => [
+ q(6185),
+ q(0),
+ ],
+ q(stj) => [
+ q(6186),
+ q(0),
+ ],
+ q(stk) => [
+ q(6187),
+ q(0),
+ ],
+ q(stl) => [
+ q(6188),
+ q(0),
+ ],
+ q(stm) => [
+ q(6189),
+ q(0),
+ ],
+ q(stn) => [
+ q(6190),
+ q(0),
+ ],
+ q(sto) => [
+ q(6191),
+ q(0),
+ ],
+ q(stp) => [
+ q(6192),
+ q(0),
+ ],
+ q(stq) => [
+ q(6193),
+ q(0),
+ ],
+ q(str) => [
+ q(6194),
+ q(0),
+ ],
+ q(sts) => [
+ q(6195),
+ q(0),
+ ],
+ q(stt) => [
+ q(6196),
+ q(0),
+ ],
+ q(stu) => [
+ q(6197),
+ q(0),
+ ],
+ q(stv) => [
+ q(6198),
+ q(0),
+ ],
+ q(stw) => [
+ q(6199),
+ q(0),
+ ],
+ q(sua) => [
+ q(6200),
+ q(0),
+ ],
+ q(sub) => [
+ q(6201),
+ q(0),
+ ],
+ q(suc) => [
+ q(6202),
+ q(0),
+ ],
+ q(sue) => [
+ q(6203),
+ q(0),
+ ],
+ q(sug) => [
+ q(6204),
+ q(0),
+ ],
+ q(sui) => [
+ q(6205),
+ q(0),
+ ],
+ q(suj) => [
+ q(6206),
+ q(0),
+ ],
+ q(suk) => [
+ q(0408),
+ q(0),
+ ],
+ q(sun) => [
+ q(0409),
+ q(0),
+ ],
+ q(suq) => [
+ q(6207),
+ q(0),
+ ],
+ q(sur) => [
+ q(6208),
+ q(0),
+ ],
+ q(sus) => [
+ q(0410),
+ q(0),
+ ],
+ q(sut) => [
+ q(6209),
+ q(0),
+ ],
+ q(suv) => [
+ q(6210),
+ q(0),
+ ],
+ q(suw) => [
+ q(6211),
+ q(0),
+ ],
+ q(sux) => [
+ q(0411),
+ q(0),
+ ],
+ q(suy) => [
+ q(6212),
+ q(0),
+ ],
+ q(suz) => [
+ q(6213),
+ q(0),
+ ],
+ q(sva) => [
+ q(6214),
+ q(0),
+ ],
+ q(svb) => [
+ q(6215),
+ q(0),
+ ],
+ q(svc) => [
+ q(6216),
+ q(0),
+ ],
+ q(sve) => [
+ q(6217),
+ q(0),
+ ],
+ q(svk) => [
+ q(6218),
+ q(0),
+ ],
+ q(svr) => [
+ q(6219),
+ q(0),
+ ],
+ q(svs) => [
+ q(6220),
+ q(0),
+ ],
+ q(svx) => [
+ q(6221),
+ q(0),
+ ],
+ q(swa) => [
+ q(0412),
+ q(0),
+ ],
+ q(swb) => [
+ q(6222),
+ q(0),
+ ],
+ q(swc) => [
+ q(6223),
+ q(0),
+ ],
+ q(swe) => [
+ q(0413),
+ q(0),
+ ],
+ q(swf) => [
+ q(6224),
+ q(0),
+ ],
+ q(swg) => [
+ q(6225),
+ q(0),
+ ],
+ q(swh) => [
+ q(6226),
+ q(0),
+ ],
+ q(swi) => [
+ q(6227),
+ q(0),
+ ],
+ q(swj) => [
+ q(6228),
+ q(0),
+ ],
+ q(swk) => [
+ q(6229),
+ q(0),
+ ],
+ q(swl) => [
+ q(6230),
+ q(0),
+ ],
+ q(swm) => [
+ q(6231),
+ q(0),
+ ],
+ q(swn) => [
+ q(6232),
+ q(0),
+ ],
+ q(swo) => [
+ q(6233),
+ q(0),
+ ],
+ q(swp) => [
+ q(6234),
+ q(0),
+ ],
+ q(swq) => [
+ q(6235),
+ q(0),
+ ],
+ q(swr) => [
+ q(6236),
+ q(0),
+ ],
+ q(sws) => [
+ q(6237),
+ q(0),
+ ],
+ q(swt) => [
+ q(6238),
+ q(0),
+ ],
+ q(swu) => [
+ q(6239),
+ q(0),
+ ],
+ q(swv) => [
+ q(6240),
+ q(0),
+ ],
+ q(sww) => [
+ q(6241),
+ q(0),
+ ],
+ q(swx) => [
+ q(6242),
+ q(0),
+ ],
+ q(swy) => [
+ q(6243),
+ q(0),
+ ],
+ q(sxb) => [
+ q(6244),
+ q(0),
+ ],
+ q(sxc) => [
+ q(6245),
+ q(0),
+ ],
+ q(sxe) => [
+ q(6246),
+ q(0),
+ ],
+ q(sxg) => [
+ q(6247),
+ q(0),
+ ],
+ q(sxk) => [
+ q(6248),
+ q(0),
+ ],
+ q(sxl) => [
+ q(6249),
+ q(0),
+ ],
+ q(sxm) => [
+ q(6250),
+ q(0),
+ ],
+ q(sxn) => [
+ q(6251),
+ q(0),
+ ],
+ q(sxo) => [
+ q(6252),
+ q(0),
+ ],
+ q(sxr) => [
+ q(6253),
+ q(0),
+ ],
+ q(sxs) => [
+ q(6254),
+ q(0),
+ ],
+ q(sxu) => [
+ q(6255),
+ q(0),
+ ],
+ q(sxw) => [
+ q(6256),
+ q(0),
+ ],
+ q(sya) => [
+ q(6257),
+ q(0),
+ ],
+ q(syb) => [
+ q(6258),
+ q(0),
+ ],
+ q(syc) => [
+ q(0414),
+ q(0),
+ ],
+ q(syd) => [
+ q(0525),
+ q(0),
+ ],
+ q(syi) => [
+ q(6259),
+ q(0),
+ ],
+ q(syk) => [
+ q(6260),
+ q(0),
+ ],
+ q(syl) => [
+ q(6261),
+ q(0),
+ ],
+ q(sym) => [
+ q(6262),
+ q(0),
+ ],
+ q(syn) => [
+ q(6263),
+ q(0),
+ ],
+ q(syo) => [
+ q(6264),
+ q(0),
+ ],
+ q(syr) => [
+ q(0415),
+ q(0),
+ ],
+ q(sys) => [
+ q(6265),
+ q(0),
+ ],
+ q(syw) => [
+ q(6266),
+ q(0),
+ ],
+ q(syy) => [
+ q(6267),
+ q(0),
+ ],
+ q(sza) => [
+ q(6268),
+ q(0),
+ ],
+ q(szb) => [
+ q(6269),
+ q(0),
+ ],
+ q(szc) => [
+ q(6270),
+ q(0),
+ ],
+ q(szd) => [
+ q(6271),
+ q(0),
+ ],
+ q(sze) => [
+ q(6272),
+ q(0),
+ ],
+ q(szg) => [
+ q(6273),
+ q(0),
+ ],
+ q(szl) => [
+ q(6274),
+ q(0),
+ ],
+ q(szn) => [
+ q(6275),
+ q(0),
+ ],
+ q(szp) => [
+ q(6276),
+ q(0),
+ ],
+ q(szv) => [
+ q(6277),
+ q(0),
+ ],
+ q(szw) => [
+ q(6278),
+ q(0),
+ ],
+ q(taa) => [
+ q(6279),
+ q(0),
+ ],
+ q(tab) => [
+ q(6280),
+ q(0),
+ ],
+ q(tac) => [
+ q(6281),
+ q(0),
+ ],
+ q(tad) => [
+ q(6282),
+ q(0),
+ ],
+ q(tae) => [
+ q(6283),
+ q(0),
+ ],
+ q(taf) => [
+ q(6284),
+ q(0),
+ ],
+ q(tag) => [
+ q(6285),
+ q(0),
+ ],
+ q(tah) => [
+ q(0416),
+ q(0),
+ ],
+ q(tai) => [
+ q(0417),
+ q(0),
+ ],
+ q(taj) => [
+ q(6286),
+ q(0),
+ ],
+ q(tak) => [
+ q(6287),
+ q(0),
+ ],
+ q(tal) => [
+ q(6288),
+ q(0),
+ ],
+ q(tam) => [
+ q(0418),
+ q(0),
+ ],
+ q(tan) => [
+ q(6289),
+ q(0),
+ ],
+ q(tao) => [
+ q(6290),
+ q(0),
+ ],
+ q(tap) => [
+ q(6291),
+ q(0),
+ ],
+ q(taq) => [
+ q(6292),
+ q(0),
+ ],
+ q(tar) => [
+ q(6293),
+ q(0),
+ ],
+ q(tas) => [
+ q(6294),
+ q(0),
+ ],
+ q(tat) => [
+ q(0419),
+ q(0),
+ ],
+ q(tau) => [
+ q(6295),
+ q(0),
+ ],
+ q(tav) => [
+ q(6296),
+ q(0),
+ ],
+ q(taw) => [
+ q(6297),
+ q(0),
+ ],
+ q(tax) => [
+ q(6298),
+ q(0),
+ ],
+ q(tay) => [
+ q(6299),
+ q(0),
+ ],
+ q(taz) => [
+ q(6300),
+ q(0),
+ ],
+ q(tba) => [
+ q(6301),
+ q(0),
+ ],
+ q(tbb) => [
+ q(6302),
+ q(0),
+ ],
+ q(tbc) => [
+ q(6303),
+ q(0),
+ ],
+ q(tbd) => [
+ q(6304),
+ q(0),
+ ],
+ q(tbe) => [
+ q(6305),
+ q(0),
+ ],
+ q(tbf) => [
+ q(6306),
+ q(0),
+ ],
+ q(tbg) => [
+ q(6307),
+ q(0),
+ ],
+ q(tbh) => [
+ q(6308),
+ q(0),
+ ],
+ q(tbi) => [
+ q(6309),
+ q(0),
+ ],
+ q(tbj) => [
+ q(6310),
+ q(0),
+ ],
+ q(tbk) => [
+ q(6311),
+ q(0),
+ ],
+ q(tbl) => [
+ q(6312),
+ q(0),
+ ],
+ q(tbm) => [
+ q(6313),
+ q(0),
+ ],
+ q(tbn) => [
+ q(6314),
+ q(0),
+ ],
+ q(tbo) => [
+ q(6315),
+ q(0),
+ ],
+ q(tbp) => [
+ q(6316),
+ q(0),
+ ],
+ q(tbq) => [
+ q(0526),
+ q(0),
+ ],
+ q(tbr) => [
+ q(6317),
+ q(0),
+ ],
+ q(tbs) => [
+ q(6318),
+ q(0),
+ ],
+ q(tbt) => [
+ q(6319),
+ q(0),
+ ],
+ q(tbu) => [
+ q(6320),
+ q(0),
+ ],
+ q(tbv) => [
+ q(6321),
+ q(0),
+ ],
+ q(tbw) => [
+ q(6322),
+ q(0),
+ ],
+ q(tbx) => [
+ q(6323),
+ q(0),
+ ],
+ q(tby) => [
+ q(6324),
+ q(0),
+ ],
+ q(tbz) => [
+ q(6325),
+ q(0),
+ ],
+ q(tca) => [
+ q(6326),
+ q(0),
+ ],
+ q(tcb) => [
+ q(6327),
+ q(0),
+ ],
+ q(tcc) => [
+ q(6328),
+ q(0),
+ ],
+ q(tcd) => [
+ q(6329),
+ q(0),
+ ],
+ q(tce) => [
+ q(6330),
+ q(0),
+ ],
+ q(tcf) => [
+ q(6331),
+ q(0),
+ ],
+ q(tcg) => [
+ q(6332),
+ q(0),
+ ],
+ q(tch) => [
+ q(6333),
+ q(0),
+ ],
+ q(tci) => [
+ q(6334),
+ q(0),
+ ],
+ q(tck) => [
+ q(6335),
+ q(0),
+ ],
+ q(tcl) => [
+ q(6336),
+ q(0),
+ ],
+ q(tcm) => [
+ q(6337),
+ q(0),
+ ],
+ q(tcn) => [
+ q(6338),
+ q(0),
+ ],
+ q(tco) => [
+ q(6339),
+ q(0),
+ ],
+ q(tcp) => [
+ q(6340),
+ q(0),
+ ],
+ q(tcq) => [
+ q(6341),
+ q(0),
+ ],
+ q(tcs) => [
+ q(6342),
+ q(0),
+ ],
+ q(tct) => [
+ q(6343),
+ q(0),
+ ],
+ q(tcu) => [
+ q(6344),
+ q(0),
+ ],
+ q(tcw) => [
+ q(6345),
+ q(0),
+ ],
+ q(tcx) => [
+ q(6346),
+ q(0),
+ ],
+ q(tcy) => [
+ q(6347),
+ q(0),
+ ],
+ q(tcz) => [
+ q(6348),
+ q(0),
+ ],
+ q(tda) => [
+ q(6349),
+ q(0),
+ ],
+ q(tdb) => [
+ q(6350),
+ q(0),
+ ],
+ q(tdc) => [
+ q(6351),
+ q(0),
+ ],
+ q(tdd) => [
+ q(6352),
+ q(0),
+ ],
+ q(tde) => [
+ q(6353),
+ q(0),
+ ],
+ q(tdf) => [
+ q(6354),
+ q(0),
+ ],
+ q(tdg) => [
+ q(6355),
+ q(0),
+ ],
+ q(tdh) => [
+ q(6356),
+ q(0),
+ ],
+ q(tdi) => [
+ q(6357),
+ q(0),
+ ],
+ q(tdj) => [
+ q(6358),
+ q(0),
+ ],
+ q(tdk) => [
+ q(6359),
+ q(0),
+ ],
+ q(tdl) => [
+ q(6360),
+ q(0),
+ ],
+ q(tdn) => [
+ q(6361),
+ q(0),
+ ],
+ q(tdo) => [
+ q(6362),
+ q(0),
+ ],
+ q(tdq) => [
+ q(6363),
+ q(0),
+ ],
+ q(tdr) => [
+ q(6364),
+ q(0),
+ ],
+ q(tds) => [
+ q(6365),
+ q(0),
+ ],
+ q(tdt) => [
+ q(6366),
+ q(0),
+ ],
+ q(tdu) => [
+ q(6367),
+ q(0),
+ ],
+ q(tdv) => [
+ q(6368),
+ q(0),
+ ],
+ q(tdx) => [
+ q(6369),
+ q(0),
+ ],
+ q(tdy) => [
+ q(6370),
+ q(0),
+ ],
+ q(tea) => [
+ q(6371),
+ q(0),
+ ],
+ q(teb) => [
+ q(6372),
+ q(0),
+ ],
+ q(tec) => [
+ q(6373),
+ q(0),
+ ],
+ q(ted) => [
+ q(6374),
+ q(0),
+ ],
+ q(tee) => [
+ q(6375),
+ q(0),
+ ],
+ q(tef) => [
+ q(6376),
+ q(0),
+ ],
+ q(teg) => [
+ q(6377),
+ q(0),
+ ],
+ q(teh) => [
+ q(6378),
+ q(0),
+ ],
+ q(tei) => [
+ q(6379),
+ q(0),
+ ],
+ q(tek) => [
+ q(6380),
+ q(0),
+ ],
+ q(tel) => [
+ q(0420),
+ q(0),
+ ],
+ q(tem) => [
+ q(0421),
+ q(0),
+ ],
+ q(ten) => [
+ q(6381),
+ q(0),
+ ],
+ q(teo) => [
+ q(6382),
+ q(0),
+ ],
+ q(tep) => [
+ q(6383),
+ q(0),
+ ],
+ q(teq) => [
+ q(6384),
+ q(0),
+ ],
+ q(ter) => [
+ q(0422),
+ q(0),
+ ],
+ q(tes) => [
+ q(6385),
+ q(0),
+ ],
+ q(tet) => [
+ q(0423),
+ q(0),
+ ],
+ q(teu) => [
+ q(6386),
+ q(0),
+ ],
+ q(tev) => [
+ q(6387),
+ q(0),
+ ],
+ q(tew) => [
+ q(6388),
+ q(0),
+ ],
+ q(tex) => [
+ q(6389),
+ q(0),
+ ],
+ q(tey) => [
+ q(6390),
+ q(0),
+ ],
+ q(tfi) => [
+ q(6391),
+ q(0),
+ ],
+ q(tfn) => [
+ q(6392),
+ q(0),
+ ],
+ q(tfo) => [
+ q(6393),
+ q(0),
+ ],
+ q(tfr) => [
+ q(6394),
+ q(0),
+ ],
+ q(tft) => [
+ q(6395),
+ q(0),
+ ],
+ q(tga) => [
+ q(6396),
+ q(0),
+ ],
+ q(tgb) => [
+ q(6397),
+ q(0),
+ ],
+ q(tgc) => [
+ q(6398),
+ q(0),
+ ],
+ q(tgd) => [
+ q(6399),
+ q(0),
+ ],
+ q(tge) => [
+ q(6400),
+ q(0),
+ ],
+ q(tgf) => [
+ q(6401),
+ q(0),
+ ],
+ q(tgg) => [
+ q(6402),
+ q(0),
+ ],
+ q(tgh) => [
+ q(6403),
+ q(0),
+ ],
+ q(tgi) => [
+ q(6404),
+ q(0),
+ ],
+ q(tgk) => [
+ q(0424),
+ q(0),
+ ],
+ q(tgl) => [
+ q(0425),
+ q(0),
+ ],
+ q(tgn) => [
+ q(6405),
+ q(0),
+ ],
+ q(tgo) => [
+ q(6406),
+ q(0),
+ ],
+ q(tgp) => [
+ q(6407),
+ q(0),
+ ],
+ q(tgq) => [
+ q(6408),
+ q(0),
+ ],
+ q(tgr) => [
+ q(6409),
+ q(0),
+ ],
+ q(tgs) => [
+ q(6410),
+ q(0),
+ ],
+ q(tgt) => [
+ q(6411),
+ q(0),
+ ],
+ q(tgu) => [
+ q(6412),
+ q(0),
+ ],
+ q(tgv) => [
+ q(6413),
+ q(0),
+ ],
+ q(tgw) => [
+ q(6414),
+ q(0),
+ ],
+ q(tgx) => [
+ q(6415),
+ q(0),
+ ],
+ q(tgy) => [
+ q(6416),
+ q(0),
+ ],
+ q(tha) => [
+ q(0426),
+ q(0),
+ ],
+ q(thc) => [
+ q(6417),
+ q(0),
+ ],
+ q(thd) => [
+ q(6418),
+ q(0),
+ ],
+ q(the) => [
+ q(6419),
+ q(0),
+ ],
+ q(thf) => [
+ q(6420),
+ q(0),
+ ],
+ q(thh) => [
+ q(6421),
+ q(0),
+ ],
+ q(thi) => [
+ q(6422),
+ q(0),
+ ],
+ q(thk) => [
+ q(6423),
+ q(0),
+ ],
+ q(thl) => [
+ q(6424),
+ q(0),
+ ],
+ q(thm) => [
+ q(6425),
+ q(0),
+ ],
+ q(thn) => [
+ q(6426),
+ q(0),
+ ],
+ q(thp) => [
+ q(6427),
+ q(0),
+ ],
+ q(thq) => [
+ q(6428),
+ q(0),
+ ],
+ q(thr) => [
+ q(6429),
+ q(0),
+ ],
+ q(ths) => [
+ q(6430),
+ q(0),
+ ],
+ q(tht) => [
+ q(6431),
+ q(0),
+ ],
+ q(thu) => [
+ q(6432),
+ q(0),
+ ],
+ q(thv) => [
+ q(6433),
+ q(0),
+ ],
+ q(thw) => [
+ q(6434),
+ q(0),
+ ],
+ q(thx) => [
+ q(6435),
+ q(0),
+ ],
+ q(thy) => [
+ q(6436),
+ q(0),
+ ],
+ q(thz) => [
+ q(6437),
+ q(0),
+ ],
+ q(tia) => [
+ q(6438),
+ q(0),
+ ],
+ q(tib) => [
+ q(0427),
+ q(0),
+ ],
+ q(tic) => [
+ q(6439),
+ q(0),
+ ],
+ q(tid) => [
+ q(6440),
+ q(0),
+ ],
+ q(tif) => [
+ q(6441),
+ q(0),
+ ],
+ q(tig) => [
+ q(0428),
+ q(0),
+ ],
+ q(tih) => [
+ q(6442),
+ q(0),
+ ],
+ q(tii) => [
+ q(6443),
+ q(0),
+ ],
+ q(tij) => [
+ q(6444),
+ q(0),
+ ],
+ q(tik) => [
+ q(6445),
+ q(0),
+ ],
+ q(til) => [
+ q(6446),
+ q(0),
+ ],
+ q(tim) => [
+ q(6447),
+ q(0),
+ ],
+ q(tin) => [
+ q(6448),
+ q(0),
+ ],
+ q(tio) => [
+ q(6449),
+ q(0),
+ ],
+ q(tip) => [
+ q(6450),
+ q(0),
+ ],
+ q(tiq) => [
+ q(6451),
+ q(0),
+ ],
+ q(tir) => [
+ q(0429),
+ q(0),
+ ],
+ q(tis) => [
+ q(6452),
+ q(0),
+ ],
+ q(tit) => [
+ q(6453),
+ q(0),
+ ],
+ q(tiu) => [
+ q(6454),
+ q(0),
+ ],
+ q(tiv) => [
+ q(0430),
+ q(0),
+ ],
+ q(tiw) => [
+ q(6455),
+ q(0),
+ ],
+ q(tix) => [
+ q(6456),
+ q(0),
+ ],
+ q(tiy) => [
+ q(6457),
+ q(0),
+ ],
+ q(tiz) => [
+ q(6458),
+ q(0),
+ ],
+ q(tja) => [
+ q(6459),
+ q(0),
+ ],
+ q(tjg) => [
+ q(6460),
+ q(0),
+ ],
+ q(tji) => [
+ q(6461),
+ q(0),
+ ],
+ q(tjm) => [
+ q(6462),
+ q(0),
+ ],
+ q(tjn) => [
+ q(6463),
+ q(0),
+ ],
+ q(tjo) => [
+ q(6464),
+ q(0),
+ ],
+ q(tjs) => [
+ q(6465),
+ q(0),
+ ],
+ q(tju) => [
+ q(6466),
+ q(0),
+ ],
+ q(tka) => [
+ q(6467),
+ q(0),
+ ],
+ q(tkb) => [
+ q(6468),
+ q(0),
+ ],
+ q(tkd) => [
+ q(6469),
+ q(0),
+ ],
+ q(tke) => [
+ q(6470),
+ q(0),
+ ],
+ q(tkf) => [
+ q(6471),
+ q(0),
+ ],
+ q(tkg) => [
+ q(6472),
+ q(0),
+ ],
+ q(tkl) => [
+ q(0431),
+ q(0),
+ ],
+ q(tkm) => [
+ q(6473),
+ q(0),
+ ],
+ q(tkn) => [
+ q(6474),
+ q(0),
+ ],
+ q(tkp) => [
+ q(6475),
+ q(0),
+ ],
+ q(tkq) => [
+ q(6476),
+ q(0),
+ ],
+ q(tkr) => [
+ q(6477),
+ q(0),
+ ],
+ q(tks) => [
+ q(6478),
+ q(0),
+ ],
+ q(tkt) => [
+ q(6479),
+ q(0),
+ ],
+ q(tku) => [
+ q(6480),
+ q(0),
+ ],
+ q(tkw) => [
+ q(6481),
+ q(0),
+ ],
+ q(tkx) => [
+ q(6482),
+ q(0),
+ ],
+ q(tkz) => [
+ q(6483),
+ q(0),
+ ],
+ q(tla) => [
+ q(6484),
+ q(0),
+ ],
+ q(tlb) => [
+ q(6485),
+ q(0),
+ ],
+ q(tlc) => [
+ q(6486),
+ q(0),
+ ],
+ q(tld) => [
+ q(6487),
+ q(0),
+ ],
+ q(tlf) => [
+ q(6488),
+ q(0),
+ ],
+ q(tlg) => [
+ q(6489),
+ q(0),
+ ],
+ q(tlh) => [
+ q(0432),
+ q(0),
+ ],
+ q(tli) => [
+ q(0433),
+ q(0),
+ ],
+ q(tlj) => [
+ q(6490),
+ q(0),
+ ],
+ q(tlk) => [
+ q(6491),
+ q(0),
+ ],
+ q(tll) => [
+ q(6492),
+ q(0),
+ ],
+ q(tlm) => [
+ q(6493),
+ q(0),
+ ],
+ q(tln) => [
+ q(6494),
+ q(0),
+ ],
+ q(tlo) => [
+ q(6495),
+ q(0),
+ ],
+ q(tlp) => [
+ q(6496),
+ q(0),
+ ],
+ q(tlq) => [
+ q(6497),
+ q(0),
+ ],
+ q(tlr) => [
+ q(6498),
+ q(0),
+ ],
+ q(tls) => [
+ q(6499),
+ q(0),
+ ],
+ q(tlt) => [
+ q(6500),
+ q(0),
+ ],
+ q(tlu) => [
+ q(6501),
+ q(0),
+ ],
+ q(tlv) => [
+ q(6502),
+ q(0),
+ ],
+ q(tlw) => [
+ q(6503),
+ q(0),
+ ],
+ q(tlx) => [
+ q(6504),
+ q(0),
+ ],
+ q(tly) => [
+ q(6505),
+ q(0),
+ ],
+ q(tma) => [
+ q(6506),
+ q(0),
+ ],
+ q(tmb) => [
+ q(6507),
+ q(0),
+ ],
+ q(tmc) => [
+ q(6508),
+ q(0),
+ ],
+ q(tmd) => [
+ q(6509),
+ q(0),
+ ],
+ q(tme) => [
+ q(6510),
+ q(0),
+ ],
+ q(tmf) => [
+ q(6511),
+ q(0),
+ ],
+ q(tmg) => [
+ q(6512),
+ q(0),
+ ],
+ q(tmh) => [
+ q(0434),
+ q(0),
+ ],
+ q(tmi) => [
+ q(6513),
+ q(0),
+ ],
+ q(tmj) => [
+ q(6514),
+ q(0),
+ ],
+ q(tmk) => [
+ q(6515),
+ q(0),
+ ],
+ q(tml) => [
+ q(6516),
+ q(0),
+ ],
+ q(tmm) => [
+ q(6517),
+ q(0),
+ ],
+ q(tmn) => [
+ q(6518),
+ q(0),
+ ],
+ q(tmo) => [
+ q(6519),
+ q(0),
+ ],
+ q(tmp) => [
+ q(6520),
+ q(0),
+ ],
+ q(tmq) => [
+ q(6521),
+ q(0),
+ ],
+ q(tmr) => [
+ q(6522),
+ q(0),
+ ],
+ q(tms) => [
+ q(6523),
+ q(0),
+ ],
+ q(tmt) => [
+ q(6524),
+ q(0),
+ ],
+ q(tmu) => [
+ q(6525),
+ q(0),
+ ],
+ q(tmv) => [
+ q(6526),
+ q(0),
+ ],
+ q(tmw) => [
+ q(6527),
+ q(0),
+ ],
+ q(tmy) => [
+ q(6528),
+ q(0),
+ ],
+ q(tmz) => [
+ q(6529),
+ q(0),
+ ],
+ q(tna) => [
+ q(6530),
+ q(0),
+ ],
+ q(tnb) => [
+ q(6531),
+ q(0),
+ ],
+ q(tnc) => [
+ q(6532),
+ q(0),
+ ],
+ q(tnd) => [
+ q(6533),
+ q(0),
+ ],
+ q(tne) => [
+ q(6534),
+ q(0),
+ ],
+ q(tng) => [
+ q(6535),
+ q(0),
+ ],
+ q(tnh) => [
+ q(6536),
+ q(0),
+ ],
+ q(tni) => [
+ q(6537),
+ q(0),
+ ],
+ q(tnk) => [
+ q(6538),
+ q(0),
+ ],
+ q(tnl) => [
+ q(6539),
+ q(0),
+ ],
+ q(tnm) => [
+ q(6540),
+ q(0),
+ ],
+ q(tnn) => [
+ q(6541),
+ q(0),
+ ],
+ q(tno) => [
+ q(6542),
+ q(0),
+ ],
+ q(tnp) => [
+ q(6543),
+ q(0),
+ ],
+ q(tnq) => [
+ q(6544),
+ q(0),
+ ],
+ q(tnr) => [
+ q(6545),
+ q(0),
+ ],
+ q(tns) => [
+ q(6546),
+ q(0),
+ ],
+ q(tnt) => [
+ q(6547),
+ q(0),
+ ],
+ q(tnu) => [
+ q(6548),
+ q(0),
+ ],
+ q(tnv) => [
+ q(6549),
+ q(0),
+ ],
+ q(tnw) => [
+ q(6550),
+ q(0),
+ ],
+ q(tnx) => [
+ q(6551),
+ q(0),
+ ],
+ q(tny) => [
+ q(6552),
+ q(0),
+ ],
+ q(tnz) => [
+ q(6553),
+ q(0),
+ ],
+ q(tob) => [
+ q(6554),
+ q(0),
+ ],
+ q(toc) => [
+ q(6555),
+ q(0),
+ ],
+ q(tod) => [
+ q(6556),
+ q(0),
+ ],
+ q(toe) => [
+ q(6557),
+ q(0),
+ ],
+ q(tof) => [
+ q(6558),
+ q(0),
+ ],
+ q(tog) => [
+ q(0435),
+ q(0),
+ ],
+ q(toh) => [
+ q(6559),
+ q(0),
+ ],
+ q(toi) => [
+ q(6560),
+ q(0),
+ ],
+ q(toj) => [
+ q(6561),
+ q(0),
+ ],
+ q(tol) => [
+ q(6562),
+ q(0),
+ ],
+ q(tom) => [
+ q(6563),
+ q(0),
+ ],
+ q(ton) => [
+ q(0436),
+ q(0),
+ ],
+ q(too) => [
+ q(6564),
+ q(0),
+ ],
+ q(top) => [
+ q(6565),
+ q(0),
+ ],
+ q(toq) => [
+ q(6566),
+ q(0),
+ ],
+ q(tor) => [
+ q(6567),
+ q(0),
+ ],
+ q(tos) => [
+ q(6568),
+ q(0),
+ ],
+ q(tou) => [
+ q(6569),
+ q(0),
+ ],
+ q(tov) => [
+ q(6570),
+ q(0),
+ ],
+ q(tow) => [
+ q(6571),
+ q(0),
+ ],
+ q(tox) => [
+ q(6572),
+ q(0),
+ ],
+ q(toy) => [
+ q(6573),
+ q(0),
+ ],
+ q(toz) => [
+ q(6574),
+ q(0),
+ ],
+ q(tpa) => [
+ q(6575),
+ q(0),
+ ],
+ q(tpc) => [
+ q(6576),
+ q(0),
+ ],
+ q(tpe) => [
+ q(6577),
+ q(0),
+ ],
+ q(tpf) => [
+ q(6578),
+ q(0),
+ ],
+ q(tpg) => [
+ q(6579),
+ q(0),
+ ],
+ q(tpi) => [
+ q(0437),
+ q(0),
+ ],
+ q(tpj) => [
+ q(6580),
+ q(0),
+ ],
+ q(tpk) => [
+ q(6581),
+ q(0),
+ ],
+ q(tpl) => [
+ q(6582),
+ q(0),
+ ],
+ q(tpm) => [
+ q(6583),
+ q(0),
+ ],
+ q(tpn) => [
+ q(6584),
+ q(0),
+ ],
+ q(tpo) => [
+ q(6585),
+ q(0),
+ ],
+ q(tpp) => [
+ q(6586),
+ q(0),
+ ],
+ q(tpq) => [
+ q(6587),
+ q(0),
+ ],
+ q(tpr) => [
+ q(6588),
+ q(0),
+ ],
+ q(tpt) => [
+ q(6589),
+ q(0),
+ ],
+ q(tpu) => [
+ q(6590),
+ q(0),
+ ],
+ q(tpv) => [
+ q(6591),
+ q(0),
+ ],
+ q(tpw) => [
+ q(6592),
+ q(0),
+ ],
+ q(tpx) => [
+ q(6593),
+ q(0),
+ ],
+ q(tpy) => [
+ q(6594),
+ q(0),
+ ],
+ q(tpz) => [
+ q(6595),
+ q(0),
+ ],
+ q(tqb) => [
+ q(6596),
+ q(0),
+ ],
+ q(tql) => [
+ q(6597),
+ q(0),
+ ],
+ q(tqm) => [
+ q(6598),
+ q(0),
+ ],
+ q(tqn) => [
+ q(6599),
+ q(0),
+ ],
+ q(tqo) => [
+ q(6600),
+ q(0),
+ ],
+ q(tqp) => [
+ q(6601),
+ q(0),
+ ],
+ q(tqq) => [
+ q(6602),
+ q(0),
+ ],
+ q(tqr) => [
+ q(6603),
+ q(0),
+ ],
+ q(tqt) => [
+ q(6604),
+ q(0),
+ ],
+ q(tqu) => [
+ q(6605),
+ q(0),
+ ],
+ q(tqw) => [
+ q(6606),
+ q(0),
+ ],
+ q(tra) => [
+ q(6607),
+ q(0),
+ ],
+ q(trb) => [
+ q(6608),
+ q(0),
+ ],
+ q(trc) => [
+ q(6609),
+ q(0),
+ ],
+ q(trd) => [
+ q(6610),
+ q(0),
+ ],
+ q(tre) => [
+ q(6611),
+ q(0),
+ ],
+ q(trf) => [
+ q(6612),
+ q(0),
+ ],
+ q(trg) => [
+ q(6613),
+ q(0),
+ ],
+ q(trh) => [
+ q(6614),
+ q(0),
+ ],
+ q(tri) => [
+ q(6615),
+ q(0),
+ ],
+ q(trj) => [
+ q(6616),
+ q(0),
+ ],
+ q(trk) => [
+ q(0527),
+ q(0),
+ ],
+ q(trl) => [
+ q(6617),
+ q(0),
+ ],
+ q(trm) => [
+ q(6618),
+ q(0),
+ ],
+ q(trn) => [
+ q(6619),
+ q(0),
+ ],
+ q(tro) => [
+ q(6620),
+ q(0),
+ ],
+ q(trp) => [
+ q(6621),
+ q(0),
+ ],
+ q(trq) => [
+ q(6622),
+ q(0),
+ ],
+ q(trr) => [
+ q(6623),
+ q(0),
+ ],
+ q(trs) => [
+ q(6624),
+ q(0),
+ ],
+ q(trt) => [
+ q(6625),
+ q(0),
+ ],
+ q(tru) => [
+ q(6626),
+ q(0),
+ ],
+ q(trv) => [
+ q(6627),
+ q(0),
+ ],
+ q(trw) => [
+ q(6628),
+ q(0),
+ ],
+ q(trx) => [
+ q(6629),
+ q(0),
+ ],
+ q(try) => [
+ q(6630),
+ q(0),
+ ],
+ q(trz) => [
+ q(6631),
+ q(0),
+ ],
+ q(tsa) => [
+ q(6632),
+ q(0),
+ ],
+ q(tsb) => [
+ q(6633),
+ q(0),
+ ],
+ q(tsc) => [
+ q(6634),
+ q(0),
+ ],
+ q(tsd) => [
+ q(6635),
+ q(0),
+ ],
+ q(tse) => [
+ q(6636),
+ q(0),
+ ],
+ q(tsf) => [
+ q(6637),
+ q(0),
+ ],
+ q(tsg) => [
+ q(6638),
+ q(0),
+ ],
+ q(tsh) => [
+ q(6639),
+ q(0),
+ ],
+ q(tsi) => [
+ q(0438),
+ q(0),
+ ],
+ q(tsj) => [
+ q(6640),
+ q(0),
+ ],
+ q(tsk) => [
+ q(6641),
+ q(0),
+ ],
+ q(tsl) => [
+ q(6642),
+ q(0),
+ ],
+ q(tsm) => [
+ q(6643),
+ q(0),
+ ],
+ q(tsn) => [
+ q(0439),
+ q(0),
+ ],
+ q(tso) => [
+ q(0440),
+ q(0),
+ ],
+ q(tsp) => [
+ q(6644),
+ q(0),
+ ],
+ q(tsq) => [
+ q(6645),
+ q(0),
+ ],
+ q(tsr) => [
+ q(6646),
+ q(0),
+ ],
+ q(tss) => [
+ q(6647),
+ q(0),
+ ],
+ q(tst) => [
+ q(6648),
+ q(0),
+ ],
+ q(tsu) => [
+ q(6649),
+ q(0),
+ ],
+ q(tsv) => [
+ q(6650),
+ q(0),
+ ],
+ q(tsw) => [
+ q(6651),
+ q(0),
+ ],
+ q(tsx) => [
+ q(6652),
+ q(0),
+ ],
+ q(tsy) => [
+ q(6653),
+ q(0),
+ ],
+ q(tsz) => [
+ q(6654),
+ q(0),
+ ],
+ q(tta) => [
+ q(6655),
+ q(0),
+ ],
+ q(ttb) => [
+ q(6656),
+ q(0),
+ ],
+ q(ttc) => [
+ q(6657),
+ q(0),
+ ],
+ q(ttd) => [
+ q(6658),
+ q(0),
+ ],
+ q(tte) => [
+ q(6659),
+ q(0),
+ ],
+ q(ttf) => [
+ q(6660),
+ q(0),
+ ],
+ q(ttg) => [
+ q(6661),
+ q(0),
+ ],
+ q(tth) => [
+ q(6662),
+ q(0),
+ ],
+ q(tti) => [
+ q(6663),
+ q(0),
+ ],
+ q(ttj) => [
+ q(6664),
+ q(0),
+ ],
+ q(ttk) => [
+ q(6665),
+ q(0),
+ ],
+ q(ttl) => [
+ q(6666),
+ q(0),
+ ],
+ q(ttm) => [
+ q(6667),
+ q(0),
+ ],
+ q(ttn) => [
+ q(6668),
+ q(0),
+ ],
+ q(tto) => [
+ q(6669),
+ q(0),
+ ],
+ q(ttp) => [
+ q(6670),
+ q(0),
+ ],
+ q(ttq) => [
+ q(6671),
+ q(0),
+ ],
+ q(ttr) => [
+ q(6672),
+ q(0),
+ ],
+ q(tts) => [
+ q(6673),
+ q(0),
+ ],
+ q(ttt) => [
+ q(6674),
+ q(0),
+ ],
+ q(ttu) => [
+ q(6675),
+ q(0),
+ ],
+ q(ttv) => [
+ q(6676),
+ q(0),
+ ],
+ q(ttw) => [
+ q(6677),
+ q(0),
+ ],
+ q(tty) => [
+ q(6678),
+ q(0),
+ ],
+ q(ttz) => [
+ q(6679),
+ q(0),
+ ],
+ q(tua) => [
+ q(6680),
+ q(0),
+ ],
+ q(tub) => [
+ q(6681),
+ q(0),
+ ],
+ q(tuc) => [
+ q(6682),
+ q(0),
+ ],
+ q(tud) => [
+ q(6683),
+ q(0),
+ ],
+ q(tue) => [
+ q(6684),
+ q(0),
+ ],
+ q(tuf) => [
+ q(6685),
+ q(0),
+ ],
+ q(tug) => [
+ q(6686),
+ q(0),
+ ],
+ q(tuh) => [
+ q(6687),
+ q(0),
+ ],
+ q(tui) => [
+ q(6688),
+ q(0),
+ ],
+ q(tuj) => [
+ q(6689),
+ q(0),
+ ],
+ q(tuk) => [
+ q(0441),
+ q(0),
+ ],
+ q(tul) => [
+ q(6690),
+ q(0),
+ ],
+ q(tum) => [
+ q(0442),
+ q(0),
+ ],
+ q(tun) => [
+ q(6691),
+ q(0),
+ ],
+ q(tuo) => [
+ q(6692),
+ q(0),
+ ],
+ q(tup) => [
+ q(0443),
+ q(0),
+ ],
+ q(tuq) => [
+ q(6693),
+ q(0),
+ ],
+ q(tur) => [
+ q(0444),
+ q(0),
+ ],
+ q(tus) => [
+ q(6694),
+ q(0),
+ ],
+ q(tut) => [
+ q(0445),
+ q(0),
+ ],
+ q(tuu) => [
+ q(6695),
+ q(0),
+ ],
+ q(tuv) => [
+ q(6696),
+ q(0),
+ ],
+ q(tuw) => [
+ q(0528),
+ q(0),
+ ],
+ q(tux) => [
+ q(6697),
+ q(0),
+ ],
+ q(tuy) => [
+ q(6698),
+ q(0),
+ ],
+ q(tuz) => [
+ q(6699),
+ q(0),
+ ],
+ q(tva) => [
+ q(6700),
+ q(0),
+ ],
+ q(tvd) => [
+ q(6701),
+ q(0),
+ ],
+ q(tve) => [
+ q(6702),
+ q(0),
+ ],
+ q(tvk) => [
+ q(6703),
+ q(0),
+ ],
+ q(tvl) => [
+ q(0446),
+ q(0),
+ ],
+ q(tvm) => [
+ q(6704),
+ q(0),
+ ],
+ q(tvn) => [
+ q(6705),
+ q(0),
+ ],
+ q(tvo) => [
+ q(6706),
+ q(0),
+ ],
+ q(tvs) => [
+ q(6707),
+ q(0),
+ ],
+ q(tvt) => [
+ q(6708),
+ q(0),
+ ],
+ q(tvw) => [
+ q(6709),
+ q(0),
+ ],
+ q(tvy) => [
+ q(6710),
+ q(0),
+ ],
+ q(twa) => [
+ q(6711),
+ q(0),
+ ],
+ q(twb) => [
+ q(6712),
+ q(0),
+ ],
+ q(twc) => [
+ q(6713),
+ q(0),
+ ],
+ q(twd) => [
+ q(6714),
+ q(0),
+ ],
+ q(twe) => [
+ q(6715),
+ q(0),
+ ],
+ q(twf) => [
+ q(6716),
+ q(0),
+ ],
+ q(twg) => [
+ q(6717),
+ q(0),
+ ],
+ q(twh) => [
+ q(6718),
+ q(0),
+ ],
+ q(twi) => [
+ q(0447),
+ q(0),
+ ],
+ q(twl) => [
+ q(6719),
+ q(0),
+ ],
+ q(twm) => [
+ q(6720),
+ q(0),
+ ],
+ q(twn) => [
+ q(6721),
+ q(0),
+ ],
+ q(two) => [
+ q(6722),
+ q(0),
+ ],
+ q(twp) => [
+ q(6723),
+ q(0),
+ ],
+ q(twq) => [
+ q(6724),
+ q(0),
+ ],
+ q(twr) => [
+ q(6725),
+ q(0),
+ ],
+ q(twt) => [
+ q(6726),
+ q(0),
+ ],
+ q(twu) => [
+ q(6727),
+ q(0),
+ ],
+ q(tww) => [
+ q(6728),
+ q(0),
+ ],
+ q(twx) => [
+ q(6729),
+ q(0),
+ ],
+ q(twy) => [
+ q(6730),
+ q(0),
+ ],
+ q(txa) => [
+ q(6731),
+ q(0),
+ ],
+ q(txb) => [
+ q(6732),
+ q(0),
+ ],
+ q(txc) => [
+ q(6733),
+ q(0),
+ ],
+ q(txe) => [
+ q(6734),
+ q(0),
+ ],
+ q(txg) => [
+ q(6735),
+ q(0),
+ ],
+ q(txh) => [
+ q(6736),
+ q(0),
+ ],
+ q(txi) => [
+ q(6737),
+ q(0),
+ ],
+ q(txm) => [
+ q(6738),
+ q(0),
+ ],
+ q(txn) => [
+ q(6739),
+ q(0),
+ ],
+ q(txo) => [
+ q(6740),
+ q(0),
+ ],
+ q(txq) => [
+ q(6741),
+ q(0),
+ ],
+ q(txr) => [
+ q(6742),
+ q(0),
+ ],
+ q(txs) => [
+ q(6743),
+ q(0),
+ ],
+ q(txt) => [
+ q(6744),
+ q(0),
+ ],
+ q(txu) => [
+ q(6745),
+ q(0),
+ ],
+ q(txx) => [
+ q(6746),
+ q(0),
+ ],
+ q(txy) => [
+ q(6747),
+ q(0),
+ ],
+ q(tya) => [
+ q(6748),
+ q(0),
+ ],
+ q(tye) => [
+ q(6749),
+ q(0),
+ ],
+ q(tyh) => [
+ q(6750),
+ q(0),
+ ],
+ q(tyi) => [
+ q(6751),
+ q(0),
+ ],
+ q(tyj) => [
+ q(6752),
+ q(0),
+ ],
+ q(tyl) => [
+ q(6753),
+ q(0),
+ ],
+ q(tyn) => [
+ q(6754),
+ q(0),
+ ],
+ q(typ) => [
+ q(6755),
+ q(0),
+ ],
+ q(tyr) => [
+ q(6756),
+ q(0),
+ ],
+ q(tys) => [
+ q(6757),
+ q(0),
+ ],
+ q(tyt) => [
+ q(6758),
+ q(0),
+ ],
+ q(tyu) => [
+ q(6759),
+ q(0),
+ ],
+ q(tyv) => [
+ q(0448),
+ q(0),
+ ],
+ q(tyx) => [
+ q(6760),
+ q(0),
+ ],
+ q(tyz) => [
+ q(6761),
+ q(0),
+ ],
+ q(tza) => [
+ q(6762),
+ q(0),
+ ],
+ q(tzh) => [
+ q(6763),
+ q(0),
+ ],
+ q(tzj) => [
+ q(6764),
+ q(0),
+ ],
+ q(tzm) => [
+ q(6765),
+ q(0),
+ ],
+ q(tzn) => [
+ q(6766),
+ q(0),
+ ],
+ q(tzo) => [
+ q(6767),
+ q(0),
+ ],
+ q(tzx) => [
+ q(6768),
+ q(0),
+ ],
+ q(uam) => [
+ q(6769),
+ q(0),
+ ],
+ q(uan) => [
+ q(6770),
+ q(0),
+ ],
+ q(uar) => [
+ q(6771),
+ q(0),
+ ],
+ q(uba) => [
+ q(6772),
+ q(0),
+ ],
+ q(ubi) => [
+ q(6773),
+ q(0),
+ ],
+ q(ubl) => [
+ q(6774),
+ q(0),
+ ],
+ q(ubr) => [
+ q(6775),
+ q(0),
+ ],
+ q(ubu) => [
+ q(6776),
+ q(0),
+ ],
+ q(uby) => [
+ q(6777),
+ q(0),
+ ],
+ q(uda) => [
+ q(6778),
+ q(0),
+ ],
+ q(ude) => [
+ q(6779),
+ q(0),
+ ],
+ q(udg) => [
+ q(6780),
+ q(0),
+ ],
+ q(udi) => [
+ q(6781),
+ q(0),
+ ],
+ q(udj) => [
+ q(6782),
+ q(0),
+ ],
+ q(udl) => [
+ q(6783),
+ q(0),
+ ],
+ q(udm) => [
+ q(0449),
+ q(0),
+ ],
+ q(udu) => [
+ q(6784),
+ q(0),
+ ],
+ q(ues) => [
+ q(6785),
+ q(0),
+ ],
+ q(ufi) => [
+ q(6786),
+ q(0),
+ ],
+ q(uga) => [
+ q(0450),
+ q(0),
+ ],
+ q(ugb) => [
+ q(6787),
+ q(0),
+ ],
+ q(uge) => [
+ q(6788),
+ q(0),
+ ],
+ q(ugn) => [
+ q(6789),
+ q(0),
+ ],
+ q(ugo) => [
+ q(6790),
+ q(0),
+ ],
+ q(ugy) => [
+ q(6791),
+ q(0),
+ ],
+ q(uha) => [
+ q(6792),
+ q(0),
+ ],
+ q(uhn) => [
+ q(6793),
+ q(0),
+ ],
+ q(uig) => [
+ q(0451),
+ q(0),
+ ],
+ q(uis) => [
+ q(6794),
+ q(0),
+ ],
+ q(uiv) => [
+ q(6795),
+ q(0),
+ ],
+ q(uji) => [
+ q(6796),
+ q(0),
+ ],
+ q(uka) => [
+ q(6797),
+ q(0),
+ ],
+ q(ukg) => [
+ q(6798),
+ q(0),
+ ],
+ q(ukh) => [
+ q(6799),
+ q(0),
+ ],
+ q(ukl) => [
+ q(6800),
+ q(0),
+ ],
+ q(ukp) => [
+ q(6801),
+ q(0),
+ ],
+ q(ukq) => [
+ q(6802),
+ q(0),
+ ],
+ q(ukr) => [
+ q(0452),
+ q(0),
+ ],
+ q(uks) => [
+ q(6803),
+ q(0),
+ ],
+ q(uku) => [
+ q(6804),
+ q(0),
+ ],
+ q(ukw) => [
+ q(6805),
+ q(0),
+ ],
+ q(ula) => [
+ q(6806),
+ q(0),
+ ],
+ q(ulb) => [
+ q(6807),
+ q(0),
+ ],
+ q(ulc) => [
+ q(6808),
+ q(0),
+ ],
+ q(ulf) => [
+ q(6809),
+ q(0),
+ ],
+ q(uli) => [
+ q(6810),
+ q(0),
+ ],
+ q(ulk) => [
+ q(6811),
+ q(0),
+ ],
+ q(ull) => [
+ q(6812),
+ q(0),
+ ],
+ q(ulm) => [
+ q(6813),
+ q(0),
+ ],
+ q(uln) => [
+ q(6814),
+ q(0),
+ ],
+ q(ulu) => [
+ q(6815),
+ q(0),
+ ],
+ q(ulw) => [
+ q(6816),
+ q(0),
+ ],
+ q(uma) => [
+ q(6817),
+ q(0),
+ ],
+ q(umb) => [
+ q(0453),
+ q(0),
+ ],
+ q(umc) => [
+ q(6818),
+ q(0),
+ ],
+ q(umd) => [
+ q(6819),
+ q(0),
+ ],
+ q(umg) => [
+ q(6820),
+ q(0),
+ ],
+ q(umi) => [
+ q(6821),
+ q(0),
+ ],
+ q(umm) => [
+ q(6822),
+ q(0),
+ ],
+ q(umn) => [
+ q(6823),
+ q(0),
+ ],
+ q(umo) => [
+ q(6824),
+ q(0),
+ ],
+ q(ump) => [
+ q(6825),
+ q(0),
+ ],
+ q(umr) => [
+ q(6826),
+ q(0),
+ ],
+ q(ums) => [
+ q(6827),
+ q(0),
+ ],
+ q(umu) => [
+ q(6828),
+ q(0),
+ ],
+ q(una) => [
+ q(6829),
+ q(0),
+ ],
+ q(und) => [
+ q(0454),
+ q(0),
+ ],
+ q(une) => [
+ q(6830),
+ q(0),
+ ],
+ q(ung) => [
+ q(6831),
+ q(0),
+ ],
+ q(unk) => [
+ q(6832),
+ q(0),
+ ],
+ q(unm) => [
+ q(6833),
+ q(0),
+ ],
+ q(unp) => [
+ q(6834),
+ q(0),
+ ],
+ q(unr) => [
+ q(6835),
+ q(0),
+ ],
+ q(unx) => [
+ q(6836),
+ q(0),
+ ],
+ q(unz) => [
+ q(6837),
+ q(0),
+ ],
+ q(uok) => [
+ q(6838),
+ q(0),
+ ],
+ q(upi) => [
+ q(6839),
+ q(0),
+ ],
+ q(upv) => [
+ q(6840),
+ q(0),
+ ],
+ q(ura) => [
+ q(6841),
+ q(0),
+ ],
+ q(urb) => [
+ q(6842),
+ q(0),
+ ],
+ q(urc) => [
+ q(6843),
+ q(0),
+ ],
+ q(urd) => [
+ q(0455),
+ q(0),
+ ],
+ q(ure) => [
+ q(6844),
+ q(0),
+ ],
+ q(urf) => [
+ q(6845),
+ q(0),
+ ],
+ q(urg) => [
+ q(6846),
+ q(0),
+ ],
+ q(urh) => [
+ q(6847),
+ q(0),
+ ],
+ q(uri) => [
+ q(6848),
+ q(0),
+ ],
+ q(urj) => [
+ q(0529),
+ q(0),
+ ],
+ q(urk) => [
+ q(6849),
+ q(0),
+ ],
+ q(url) => [
+ q(6850),
+ q(0),
+ ],
+ q(urm) => [
+ q(6851),
+ q(0),
+ ],
+ q(urn) => [
+ q(6852),
+ q(0),
+ ],
+ q(uro) => [
+ q(6853),
+ q(0),
+ ],
+ q(urp) => [
+ q(6854),
+ q(0),
+ ],
+ q(urr) => [
+ q(6855),
+ q(0),
+ ],
+ q(urt) => [
+ q(6856),
+ q(0),
+ ],
+ q(uru) => [
+ q(6857),
+ q(0),
+ ],
+ q(urv) => [
+ q(6858),
+ q(0),
+ ],
+ q(urw) => [
+ q(6859),
+ q(0),
+ ],
+ q(urx) => [
+ q(6860),
+ q(0),
+ ],
+ q(ury) => [
+ q(6861),
+ q(0),
+ ],
+ q(urz) => [
+ q(6862),
+ q(0),
+ ],
+ q(usa) => [
+ q(6863),
+ q(0),
+ ],
+ q(ush) => [
+ q(6864),
+ q(0),
+ ],
+ q(usi) => [
+ q(6865),
+ q(0),
+ ],
+ q(usk) => [
+ q(6866),
+ q(0),
+ ],
+ q(usp) => [
+ q(6867),
+ q(0),
+ ],
+ q(usu) => [
+ q(6868),
+ q(0),
+ ],
+ q(uta) => [
+ q(6869),
+ q(0),
+ ],
+ q(ute) => [
+ q(6870),
+ q(0),
+ ],
+ q(utp) => [
+ q(6871),
+ q(0),
+ ],
+ q(utr) => [
+ q(6872),
+ q(0),
+ ],
+ q(utu) => [
+ q(6873),
+ q(0),
+ ],
+ q(uum) => [
+ q(6874),
+ q(0),
+ ],
+ q(uun) => [
+ q(6875),
+ q(0),
+ ],
+ q(uur) => [
+ q(6876),
+ q(0),
+ ],
+ q(uuu) => [
+ q(6877),
+ q(0),
+ ],
+ q(uve) => [
+ q(6878),
+ q(0),
+ ],
+ q(uvh) => [
+ q(6879),
+ q(0),
+ ],
+ q(uvl) => [
+ q(6880),
+ q(0),
+ ],
+ q(uwa) => [
+ q(6881),
+ q(0),
+ ],
+ q(uya) => [
+ q(6882),
+ q(0),
+ ],
+ q(uzb) => [
+ q(0456),
+ q(0),
+ ],
+ q(uzn) => [
+ q(6883),
+ q(0),
+ ],
+ q(uzs) => [
+ q(6884),
+ q(0),
+ ],
+ q(vaa) => [
+ q(6885),
+ q(0),
+ ],
+ q(vae) => [
+ q(6886),
+ q(0),
+ ],
+ q(vaf) => [
+ q(6887),
+ q(0),
+ ],
+ q(vag) => [
+ q(6888),
+ q(0),
+ ],
+ q(vah) => [
+ q(6889),
+ q(0),
+ ],
+ q(vai) => [
+ q(0457),
+ q(0),
+ ],
+ q(vaj) => [
+ q(6890),
+ q(0),
+ ],
+ q(val) => [
+ q(6891),
+ q(0),
+ ],
+ q(vam) => [
+ q(6892),
+ q(0),
+ ],
+ q(van) => [
+ q(6893),
+ q(0),
+ ],
+ q(vao) => [
+ q(6894),
+ q(0),
+ ],
+ q(vap) => [
+ q(6895),
+ q(0),
+ ],
+ q(var) => [
+ q(6896),
+ q(0),
+ ],
+ q(vas) => [
+ q(6897),
+ q(0),
+ ],
+ q(vau) => [
+ q(6898),
+ q(0),
+ ],
+ q(vav) => [
+ q(6899),
+ q(0),
+ ],
+ q(vay) => [
+ q(6900),
+ q(0),
+ ],
+ q(vbb) => [
+ q(6901),
+ q(0),
+ ],
+ q(vbk) => [
+ q(6902),
+ q(0),
+ ],
+ q(vec) => [
+ q(6903),
+ q(0),
+ ],
+ q(ved) => [
+ q(6904),
+ q(0),
+ ],
+ q(vel) => [
+ q(6905),
+ q(0),
+ ],
+ q(vem) => [
+ q(6906),
+ q(0),
+ ],
+ q(ven) => [
+ q(0458),
+ q(0),
+ ],
+ q(veo) => [
+ q(6907),
+ q(0),
+ ],
+ q(vep) => [
+ q(6908),
+ q(0),
+ ],
+ q(ver) => [
+ q(6909),
+ q(0),
+ ],
+ q(vgr) => [
+ q(6910),
+ q(0),
+ ],
+ q(vgt) => [
+ q(6911),
+ q(0),
+ ],
+ q(vic) => [
+ q(6912),
+ q(0),
+ ],
+ q(vid) => [
+ q(6913),
+ q(0),
+ ],
+ q(vie) => [
+ q(0459),
+ q(0),
+ ],
+ q(vif) => [
+ q(6914),
+ q(0),
+ ],
+ q(vig) => [
+ q(6915),
+ q(0),
+ ],
+ q(vil) => [
+ q(6916),
+ q(0),
+ ],
+ q(vin) => [
+ q(6917),
+ q(0),
+ ],
+ q(vis) => [
+ q(6918),
+ q(0),
+ ],
+ q(vit) => [
+ q(6919),
+ q(0),
+ ],
+ q(viv) => [
+ q(6920),
+ q(0),
+ ],
+ q(vka) => [
+ q(6921),
+ q(0),
+ ],
+ q(vki) => [
+ q(6922),
+ q(0),
+ ],
+ q(vkj) => [
+ q(6923),
+ q(0),
+ ],
+ q(vkk) => [
+ q(6924),
+ q(0),
+ ],
+ q(vkl) => [
+ q(6925),
+ q(0),
+ ],
+ q(vkm) => [
+ q(6926),
+ q(0),
+ ],
+ q(vko) => [
+ q(6927),
+ q(0),
+ ],
+ q(vkp) => [
+ q(6928),
+ q(0),
+ ],
+ q(vkt) => [
+ q(6929),
+ q(0),
+ ],
+ q(vku) => [
+ q(6930),
+ q(0),
+ ],
+ q(vlp) => [
+ q(6931),
+ q(0),
+ ],
+ q(vls) => [
+ q(6932),
+ q(0),
+ ],
+ q(vma) => [
+ q(6933),
+ q(0),
+ ],
+ q(vmb) => [
+ q(6934),
+ q(0),
+ ],
+ q(vmc) => [
+ q(6935),
+ q(0),
+ ],
+ q(vmd) => [
+ q(6936),
+ q(0),
+ ],
+ q(vme) => [
+ q(6937),
+ q(0),
+ ],
+ q(vmf) => [
+ q(6938),
+ q(0),
+ ],
+ q(vmg) => [
+ q(6939),
+ q(0),
+ ],
+ q(vmh) => [
+ q(6940),
+ q(0),
+ ],
+ q(vmi) => [
+ q(6941),
+ q(0),
+ ],
+ q(vmj) => [
+ q(6942),
+ q(0),
+ ],
+ q(vmk) => [
+ q(6943),
+ q(0),
+ ],
+ q(vml) => [
+ q(6944),
+ q(0),
+ ],
+ q(vmm) => [
+ q(6945),
+ q(0),
+ ],
+ q(vmp) => [
+ q(6946),
+ q(0),
+ ],
+ q(vmq) => [
+ q(6947),
+ q(0),
+ ],
+ q(vmr) => [
+ q(6948),
+ q(0),
+ ],
+ q(vms) => [
+ q(6949),
+ q(0),
+ ],
+ q(vmu) => [
+ q(6950),
+ q(0),
+ ],
+ q(vmv) => [
+ q(6951),
+ q(0),
+ ],
+ q(vmw) => [
+ q(6952),
+ q(0),
+ ],
+ q(vmx) => [
+ q(6953),
+ q(0),
+ ],
+ q(vmy) => [
+ q(6954),
+ q(0),
+ ],
+ q(vmz) => [
+ q(6955),
+ q(0),
+ ],
+ q(vnk) => [
+ q(6956),
+ q(0),
+ ],
+ q(vnm) => [
+ q(6957),
+ q(0),
+ ],
+ q(vnp) => [
+ q(6958),
+ q(0),
+ ],
+ q(vol) => [
+ q(0460),
+ q(0),
+ ],
+ q(vor) => [
+ q(6959),
+ q(0),
+ ],
+ q(vot) => [
+ q(0461),
+ q(0),
+ ],
+ q(vra) => [
+ q(6960),
+ q(0),
+ ],
+ q(vro) => [
+ q(6959),
+ q(0),
+ ],
+ q(vrs) => [
+ q(6961),
+ q(0),
+ ],
+ q(vrt) => [
+ q(6962),
+ q(0),
+ ],
+ q(vsi) => [
+ q(6963),
+ q(0),
+ ],
+ q(vsl) => [
+ q(6964),
+ q(0),
+ ],
+ q(vsv) => [
+ q(6965),
+ q(0),
+ ],
+ q(vto) => [
+ q(6966),
+ q(0),
+ ],
+ q(vum) => [
+ q(6967),
+ q(0),
+ ],
+ q(vun) => [
+ q(6968),
+ q(0),
+ ],
+ q(vut) => [
+ q(6969),
+ q(0),
+ ],
+ q(vwa) => [
+ q(6970),
+ q(0),
+ ],
+ q(waa) => [
+ q(6971),
+ q(0),
+ ],
+ q(wab) => [
+ q(6972),
+ q(0),
+ ],
+ q(wac) => [
+ q(6973),
+ q(0),
+ ],
+ q(wad) => [
+ q(6974),
+ q(0),
+ ],
+ q(wae) => [
+ q(6975),
+ q(0),
+ ],
+ q(waf) => [
+ q(6976),
+ q(0),
+ ],
+ q(wag) => [
+ q(6977),
+ q(0),
+ ],
+ q(wah) => [
+ q(6978),
+ q(0),
+ ],
+ q(wai) => [
+ q(6979),
+ q(0),
+ ],
+ q(waj) => [
+ q(6980),
+ q(0),
+ ],
+ q(wak) => [
+ q(0462),
+ q(0),
+ ],
+ q(wal) => [
+ q(0463),
+ q(1),
+ ],
+ q(wam) => [
+ q(6981),
+ q(0),
+ ],
+ q(wan) => [
+ q(6982),
+ q(0),
+ ],
+ q(wao) => [
+ q(6983),
+ q(0),
+ ],
+ q(wap) => [
+ q(6984),
+ q(0),
+ ],
+ q(waq) => [
+ q(6985),
+ q(0),
+ ],
+ q(war) => [
+ q(0464),
+ q(1),
+ ],
+ q(was) => [
+ q(0465),
+ q(0),
+ ],
+ q(wat) => [
+ q(6986),
+ q(0),
+ ],
+ q(wau) => [
+ q(6987),
+ q(0),
+ ],
+ q(wav) => [
+ q(6988),
+ q(0),
+ ],
+ q(waw) => [
+ q(6989),
+ q(0),
+ ],
+ q(wax) => [
+ q(6990),
+ q(0),
+ ],
+ q(way) => [
+ q(6991),
+ q(0),
+ ],
+ q(waz) => [
+ q(6992),
+ q(0),
+ ],
+ q(wba) => [
+ q(6993),
+ q(0),
+ ],
+ q(wbb) => [
+ q(6994),
+ q(0),
+ ],
+ q(wbe) => [
+ q(6995),
+ q(0),
+ ],
+ q(wbf) => [
+ q(6334),
+ q(0),
+ ],
+ q(wbh) => [
+ q(6996),
+ q(0),
+ ],
+ q(wbi) => [
+ q(6997),
+ q(0),
+ ],
+ q(wbj) => [
+ q(6998),
+ q(0),
+ ],
+ q(wbk) => [
+ q(6999),
+ q(0),
+ ],
+ q(wbl) => [
+ q(7000),
+ q(0),
+ ],
+ q(wbm) => [
+ q(7001),
+ q(0),
+ ],
+ q(wbp) => [
+ q(7002),
+ q(0),
+ ],
+ q(wbq) => [
+ q(7003),
+ q(0),
+ ],
+ q(wbr) => [
+ q(7004),
+ q(0),
+ ],
+ q(wbt) => [
+ q(7005),
+ q(0),
+ ],
+ q(wbv) => [
+ q(7006),
+ q(0),
+ ],
+ q(wbw) => [
+ q(7007),
+ q(0),
+ ],
+ q(wca) => [
+ q(7008),
+ q(0),
+ ],
+ q(wci) => [
+ q(7009),
+ q(0),
+ ],
+ q(wdd) => [
+ q(7010),
+ q(0),
+ ],
+ q(wdg) => [
+ q(7011),
+ q(0),
+ ],
+ q(wdj) => [
+ q(7012),
+ q(0),
+ ],
+ q(wdu) => [
+ q(7013),
+ q(0),
+ ],
+ q(wea) => [
+ q(7014),
+ q(0),
+ ],
+ q(wec) => [
+ q(7015),
+ q(0),
+ ],
+ q(wed) => [
+ q(7016),
+ q(0),
+ ],
+ q(weh) => [
+ q(7017),
+ q(0),
+ ],
+ q(wei) => [
+ q(7018),
+ q(0),
+ ],
+ q(wel) => [
+ q(0466),
+ q(0),
+ ],
+ q(wem) => [
+ q(7019),
+ q(0),
+ ],
+ q(wen) => [
+ q(0467),
+ q(0),
+ ],
+ q(weo) => [
+ q(7020),
+ q(0),
+ ],
+ q(wep) => [
+ q(7021),
+ q(0),
+ ],
+ q(wer) => [
+ q(7022),
+ q(0),
+ ],
+ q(wes) => [
+ q(7023),
+ q(0),
+ ],
+ q(wet) => [
+ q(7024),
+ q(0),
+ ],
+ q(weu) => [
+ q(7025),
+ q(0),
+ ],
+ q(wew) => [
+ q(7026),
+ q(0),
+ ],
+ q(wfg) => [
+ q(7027),
+ q(0),
+ ],
+ q(wga) => [
+ q(7028),
+ q(0),
+ ],
+ q(wgb) => [
+ q(7029),
+ q(0),
+ ],
+ q(wgg) => [
+ q(7030),
+ q(0),
+ ],
+ q(wgi) => [
+ q(7031),
+ q(0),
+ ],
+ q(wgo) => [
+ q(7032),
+ q(0),
+ ],
+ q(wgy) => [
+ q(7033),
+ q(0),
+ ],
+ q(wha) => [
+ q(7034),
+ q(0),
+ ],
+ q(whg) => [
+ q(7035),
+ q(0),
+ ],
+ q(whk) => [
+ q(7036),
+ q(0),
+ ],
+ q(whu) => [
+ q(7037),
+ q(0),
+ ],
+ q(wib) => [
+ q(7038),
+ q(0),
+ ],
+ q(wic) => [
+ q(7039),
+ q(0),
+ ],
+ q(wie) => [
+ q(7040),
+ q(0),
+ ],
+ q(wif) => [
+ q(7041),
+ q(0),
+ ],
+ q(wig) => [
+ q(7042),
+ q(0),
+ ],
+ q(wih) => [
+ q(7043),
+ q(0),
+ ],
+ q(wii) => [
+ q(7044),
+ q(0),
+ ],
+ q(wij) => [
+ q(7045),
+ q(0),
+ ],
+ q(wik) => [
+ q(7046),
+ q(0),
+ ],
+ q(wil) => [
+ q(7047),
+ q(0),
+ ],
+ q(wim) => [
+ q(7048),
+ q(0),
+ ],
+ q(win) => [
+ q(7049),
+ q(0),
+ ],
+ q(wir) => [
+ q(7050),
+ q(0),
+ ],
+ q(wit) => [
+ q(7051),
+ q(0),
+ ],
+ q(wiu) => [
+ q(7052),
+ q(0),
+ ],
+ q(wiv) => [
+ q(7053),
+ q(0),
+ ],
+ q(wiw) => [
+ q(7054),
+ q(0),
+ ],
+ q(wiy) => [
+ q(7055),
+ q(0),
+ ],
+ q(wja) => [
+ q(7056),
+ q(0),
+ ],
+ q(wji) => [
+ q(7057),
+ q(0),
+ ],
+ q(wka) => [
+ q(7058),
+ q(0),
+ ],
+ q(wkb) => [
+ q(7059),
+ q(0),
+ ],
+ q(wkd) => [
+ q(7060),
+ q(0),
+ ],
+ q(wkl) => [
+ q(7061),
+ q(0),
+ ],
+ q(wku) => [
+ q(7062),
+ q(0),
+ ],
+ q(wkw) => [
+ q(7063),
+ q(0),
+ ],
+ q(wla) => [
+ q(7064),
+ q(0),
+ ],
+ q(wlc) => [
+ q(7065),
+ q(0),
+ ],
+ q(wle) => [
+ q(7066),
+ q(0),
+ ],
+ q(wlg) => [
+ q(7067),
+ q(0),
+ ],
+ q(wli) => [
+ q(7068),
+ q(0),
+ ],
+ q(wlk) => [
+ q(7069),
+ q(0),
+ ],
+ q(wll) => [
+ q(7070),
+ q(0),
+ ],
+ q(wlm) => [
+ q(7071),
+ q(0),
+ ],
+ q(wln) => [
+ q(0468),
+ q(0),
+ ],
+ q(wlo) => [
+ q(7072),
+ q(0),
+ ],
+ q(wlr) => [
+ q(7073),
+ q(0),
+ ],
+ q(wls) => [
+ q(7074),
+ q(0),
+ ],
+ q(wlu) => [
+ q(7075),
+ q(0),
+ ],
+ q(wlv) => [
+ q(7076),
+ q(0),
+ ],
+ q(wlw) => [
+ q(7077),
+ q(0),
+ ],
+ q(wlx) => [
+ q(7078),
+ q(0),
+ ],
+ q(wly) => [
+ q(7079),
+ q(0),
+ ],
+ q(wma) => [
+ q(7080),
+ q(0),
+ ],
+ q(wmb) => [
+ q(7081),
+ q(0),
+ ],
+ q(wmc) => [
+ q(7082),
+ q(0),
+ ],
+ q(wmd) => [
+ q(7083),
+ q(0),
+ ],
+ q(wme) => [
+ q(7084),
+ q(0),
+ ],
+ q(wmh) => [
+ q(7085),
+ q(0),
+ ],
+ q(wmi) => [
+ q(7086),
+ q(0),
+ ],
+ q(wmm) => [
+ q(7087),
+ q(0),
+ ],
+ q(wmn) => [
+ q(7088),
+ q(0),
+ ],
+ q(wmo) => [
+ q(7089),
+ q(0),
+ ],
+ q(wms) => [
+ q(7090),
+ q(0),
+ ],
+ q(wmt) => [
+ q(7091),
+ q(0),
+ ],
+ q(wmw) => [
+ q(7092),
+ q(0),
+ ],
+ q(wmx) => [
+ q(7093),
+ q(0),
+ ],
+ q(wnb) => [
+ q(7094),
+ q(0),
+ ],
+ q(wnc) => [
+ q(7095),
+ q(0),
+ ],
+ q(wnd) => [
+ q(7096),
+ q(0),
+ ],
+ q(wne) => [
+ q(7097),
+ q(0),
+ ],
+ q(wng) => [
+ q(7098),
+ q(0),
+ ],
+ q(wni) => [
+ q(7099),
+ q(0),
+ ],
+ q(wnk) => [
+ q(7100),
+ q(0),
+ ],
+ q(wnm) => [
+ q(7101),
+ q(0),
+ ],
+ q(wno) => [
+ q(7102),
+ q(0),
+ ],
+ q(wnp) => [
+ q(7103),
+ q(0),
+ ],
+ q(wnu) => [
+ q(7104),
+ q(0),
+ ],
+ q(woa) => [
+ q(7105),
+ q(0),
+ ],
+ q(wob) => [
+ q(7106),
+ q(0),
+ ],
+ q(woc) => [
+ q(7107),
+ q(0),
+ ],
+ q(wod) => [
+ q(7108),
+ q(0),
+ ],
+ q(woe) => [
+ q(7109),
+ q(0),
+ ],
+ q(wof) => [
+ q(7110),
+ q(0),
+ ],
+ q(wog) => [
+ q(7111),
+ q(0),
+ ],
+ q(woi) => [
+ q(7112),
+ q(0),
+ ],
+ q(wok) => [
+ q(7113),
+ q(0),
+ ],
+ q(wol) => [
+ q(0469),
+ q(0),
+ ],
+ q(wom) => [
+ q(7114),
+ q(0),
+ ],
+ q(won) => [
+ q(7115),
+ q(0),
+ ],
+ q(woo) => [
+ q(7116),
+ q(0),
+ ],
+ q(wor) => [
+ q(7117),
+ q(0),
+ ],
+ q(wos) => [
+ q(7118),
+ q(0),
+ ],
+ q(wow) => [
+ q(7119),
+ q(0),
+ ],
+ q(woy) => [
+ q(7120),
+ q(0),
+ ],
+ q(wpc) => [
+ q(7121),
+ q(0),
+ ],
+ q(wra) => [
+ q(7122),
+ q(0),
+ ],
+ q(wrb) => [
+ q(7123),
+ q(0),
+ ],
+ q(wrd) => [
+ q(7124),
+ q(0),
+ ],
+ q(wrg) => [
+ q(7125),
+ q(0),
+ ],
+ q(wrh) => [
+ q(7126),
+ q(0),
+ ],
+ q(wri) => [
+ q(7127),
+ q(0),
+ ],
+ q(wrl) => [
+ q(7128),
+ q(0),
+ ],
+ q(wrm) => [
+ q(7129),
+ q(0),
+ ],
+ q(wrn) => [
+ q(7130),
+ q(0),
+ ],
+ q(wrp) => [
+ q(7131),
+ q(0),
+ ],
+ q(wrr) => [
+ q(7132),
+ q(0),
+ ],
+ q(wrs) => [
+ q(7133),
+ q(0),
+ ],
+ q(wru) => [
+ q(7134),
+ q(0),
+ ],
+ q(wrv) => [
+ q(7135),
+ q(0),
+ ],
+ q(wrw) => [
+ q(7136),
+ q(0),
+ ],
+ q(wrx) => [
+ q(7137),
+ q(0),
+ ],
+ q(wry) => [
+ q(7138),
+ q(0),
+ ],
+ q(wrz) => [
+ q(7139),
+ q(0),
+ ],
+ q(wsa) => [
+ q(7140),
+ q(0),
+ ],
+ q(wsi) => [
+ q(7141),
+ q(0),
+ ],
+ q(wsk) => [
+ q(7142),
+ q(0),
+ ],
+ q(wsr) => [
+ q(7143),
+ q(0),
+ ],
+ q(wss) => [
+ q(7144),
+ q(0),
+ ],
+ q(wsu) => [
+ q(7145),
+ q(0),
+ ],
+ q(wsv) => [
+ q(7146),
+ q(0),
+ ],
+ q(wtf) => [
+ q(7147),
+ q(0),
+ ],
+ q(wti) => [
+ q(7148),
+ q(0),
+ ],
+ q(wtk) => [
+ q(7149),
+ q(0),
+ ],
+ q(wtm) => [
+ q(7150),
+ q(0),
+ ],
+ q(wtw) => [
+ q(7151),
+ q(0),
+ ],
+ q(wua) => [
+ q(7152),
+ q(0),
+ ],
+ q(wub) => [
+ q(7153),
+ q(0),
+ ],
+ q(wud) => [
+ q(7154),
+ q(0),
+ ],
+ q(wuh) => [
+ q(7155),
+ q(0),
+ ],
+ q(wul) => [
+ q(7156),
+ q(0),
+ ],
+ q(wum) => [
+ q(7157),
+ q(0),
+ ],
+ q(wun) => [
+ q(7158),
+ q(0),
+ ],
+ q(wur) => [
+ q(7159),
+ q(0),
+ ],
+ q(wut) => [
+ q(7160),
+ q(0),
+ ],
+ q(wuu) => [
+ q(7161),
+ q(0),
+ ],
+ q(wuv) => [
+ q(7162),
+ q(0),
+ ],
+ q(wux) => [
+ q(7163),
+ q(0),
+ ],
+ q(wuy) => [
+ q(7164),
+ q(0),
+ ],
+ q(wwa) => [
+ q(7165),
+ q(0),
+ ],
+ q(wwo) => [
+ q(7166),
+ q(0),
+ ],
+ q(wwr) => [
+ q(7167),
+ q(0),
+ ],
+ q(www) => [
+ q(7168),
+ q(0),
+ ],
+ q(wxa) => [
+ q(7169),
+ q(0),
+ ],
+ q(wya) => [
+ q(7170),
+ q(0),
+ ],
+ q(wyb) => [
+ q(7171),
+ q(0),
+ ],
+ q(wym) => [
+ q(7172),
+ q(0),
+ ],
+ q(wyr) => [
+ q(7173),
+ q(0),
+ ],
+ q(wyy) => [
+ q(7174),
+ q(0),
+ ],
+ q(xaa) => [
+ q(7175),
+ q(0),
+ ],
+ q(xab) => [
+ q(7176),
+ q(0),
+ ],
+ q(xac) => [
+ q(7177),
+ q(0),
+ ],
+ q(xad) => [
+ q(7178),
+ q(0),
+ ],
+ q(xae) => [
+ q(7179),
+ q(0),
+ ],
+ q(xag) => [
+ q(7180),
+ q(0),
+ ],
+ q(xai) => [
+ q(7181),
+ q(0),
+ ],
+ q(xal) => [
+ q(0470),
+ q(0),
+ ],
+ q(xam) => [
+ q(7182),
+ q(0),
+ ],
+ q(xan) => [
+ q(7183),
+ q(0),
+ ],
+ q(xao) => [
+ q(7184),
+ q(0),
+ ],
+ q(xap) => [
+ q(7185),
+ q(0),
+ ],
+ q(xaq) => [
+ q(7186),
+ q(0),
+ ],
+ q(xar) => [
+ q(7187),
+ q(0),
+ ],
+ q(xas) => [
+ q(7188),
+ q(0),
+ ],
+ q(xat) => [
+ q(7189),
+ q(0),
+ ],
+ q(xau) => [
+ q(7190),
+ q(0),
+ ],
+ q(xav) => [
+ q(7191),
+ q(0),
+ ],
+ q(xaw) => [
+ q(7192),
+ q(0),
+ ],
+ q(xay) => [
+ q(7193),
+ q(0),
+ ],
+ q(xba) => [
+ q(7194),
+ q(0),
+ ],
+ q(xbb) => [
+ q(7195),
+ q(0),
+ ],
+ q(xbc) => [
+ q(7196),
+ q(0),
+ ],
+ q(xbi) => [
+ q(7197),
+ q(0),
+ ],
+ q(xbm) => [
+ q(7198),
+ q(0),
+ ],
+ q(xbn) => [
+ q(7199),
+ q(0),
+ ],
+ q(xbo) => [
+ q(7200),
+ q(0),
+ ],
+ q(xbr) => [
+ q(7201),
+ q(0),
+ ],
+ q(xbw) => [
+ q(7202),
+ q(0),
+ ],
+ q(xbx) => [
+ q(7203),
+ q(0),
+ ],
+ q(xcb) => [
+ q(7204),
+ q(0),
+ ],
+ q(xcc) => [
+ q(7205),
+ q(0),
+ ],
+ q(xce) => [
+ q(7206),
+ q(0),
+ ],
+ q(xcg) => [
+ q(7207),
+ q(0),
+ ],
+ q(xch) => [
+ q(7208),
+ q(0),
+ ],
+ q(xcl) => [
+ q(7209),
+ q(0),
+ ],
+ q(xcm) => [
+ q(7210),
+ q(0),
+ ],
+ q(xcn) => [
+ q(7211),
+ q(0),
+ ],
+ q(xco) => [
+ q(7212),
+ q(0),
+ ],
+ q(xcr) => [
+ q(7213),
+ q(0),
+ ],
+ q(xct) => [
+ q(7214),
+ q(0),
+ ],
+ q(xcu) => [
+ q(7215),
+ q(0),
+ ],
+ q(xcv) => [
+ q(7216),
+ q(0),
+ ],
+ q(xcw) => [
+ q(7217),
+ q(0),
+ ],
+ q(xcy) => [
+ q(7218),
+ q(0),
+ ],
+ q(xdc) => [
+ q(7219),
+ q(0),
+ ],
+ q(xdm) => [
+ q(7220),
+ q(0),
+ ],
+ q(xdy) => [
+ q(7221),
+ q(0),
+ ],
+ q(xeb) => [
+ q(7222),
+ q(0),
+ ],
+ q(xed) => [
+ q(7223),
+ q(0),
+ ],
+ q(xeg) => [
+ q(7224),
+ q(0),
+ ],
+ q(xel) => [
+ q(7225),
+ q(0),
+ ],
+ q(xem) => [
+ q(7226),
+ q(0),
+ ],
+ q(xep) => [
+ q(7227),
+ q(0),
+ ],
+ q(xer) => [
+ q(7228),
+ q(0),
+ ],
+ q(xes) => [
+ q(7229),
+ q(0),
+ ],
+ q(xet) => [
+ q(7230),
+ q(0),
+ ],
+ q(xeu) => [
+ q(7231),
+ q(0),
+ ],
+ q(xfa) => [
+ q(7232),
+ q(0),
+ ],
+ q(xga) => [
+ q(7233),
+ q(0),
+ ],
+ q(xgf) => [
+ q(7234),
+ q(0),
+ ],
+ q(xgl) => [
+ q(7235),
+ q(0),
+ ],
+ q(xgn) => [
+ q(0530),
+ q(0),
+ ],
+ q(xgr) => [
+ q(7236),
+ q(0),
+ ],
+ q(xha) => [
+ q(7237),
+ q(0),
+ ],
+ q(xhc) => [
+ q(7238),
+ q(0),
+ ],
+ q(xhd) => [
+ q(7239),
+ q(0),
+ ],
+ q(xhe) => [
+ q(7240),
+ q(0),
+ ],
+ q(xho) => [
+ q(0471),
+ q(0),
+ ],
+ q(xhr) => [
+ q(7241),
+ q(0),
+ ],
+ q(xht) => [
+ q(7242),
+ q(0),
+ ],
+ q(xhu) => [
+ q(7243),
+ q(0),
+ ],
+ q(xhv) => [
+ q(7244),
+ q(0),
+ ],
+ q(xia) => [
+ q(7245),
+ q(0),
+ ],
+ q(xib) => [
+ q(7246),
+ q(0),
+ ],
+ q(xii) => [
+ q(7247),
+ q(0),
+ ],
+ q(xil) => [
+ q(7248),
+ q(0),
+ ],
+ q(xin) => [
+ q(7249),
+ q(0),
+ ],
+ q(xip) => [
+ q(7250),
+ q(0),
+ ],
+ q(xir) => [
+ q(7251),
+ q(0),
+ ],
+ q(xiv) => [
+ q(7252),
+ q(0),
+ ],
+ q(xiy) => [
+ q(7253),
+ q(0),
+ ],
+ q(xka) => [
+ q(7254),
+ q(0),
+ ],
+ q(xkb) => [
+ q(7255),
+ q(0),
+ ],
+ q(xkc) => [
+ q(7256),
+ q(0),
+ ],
+ q(xkd) => [
+ q(7257),
+ q(0),
+ ],
+ q(xke) => [
+ q(7258),
+ q(0),
+ ],
+ q(xkf) => [
+ q(7259),
+ q(0),
+ ],
+ q(xkg) => [
+ q(7260),
+ q(0),
+ ],
+ q(xkh) => [
+ q(7261),
+ q(0),
+ ],
+ q(xki) => [
+ q(7262),
+ q(0),
+ ],
+ q(xkj) => [
+ q(7263),
+ q(0),
+ ],
+ q(xkk) => [
+ q(7264),
+ q(0),
+ ],
+ q(xkl) => [
+ q(7265),
+ q(0),
+ ],
+ q(xkn) => [
+ q(7266),
+ q(0),
+ ],
+ q(xko) => [
+ q(7267),
+ q(0),
+ ],
+ q(xkp) => [
+ q(7268),
+ q(0),
+ ],
+ q(xkq) => [
+ q(7269),
+ q(0),
+ ],
+ q(xkr) => [
+ q(7270),
+ q(0),
+ ],
+ q(xks) => [
+ q(7271),
+ q(0),
+ ],
+ q(xkt) => [
+ q(7272),
+ q(0),
+ ],
+ q(xku) => [
+ q(7273),
+ q(0),
+ ],
+ q(xkv) => [
+ q(7274),
+ q(0),
+ ],
+ q(xkw) => [
+ q(7275),
+ q(0),
+ ],
+ q(xkx) => [
+ q(7276),
+ q(0),
+ ],
+ q(xky) => [
+ q(7277),
+ q(0),
+ ],
+ q(xkz) => [
+ q(7278),
+ q(0),
+ ],
+ q(xla) => [
+ q(7279),
+ q(0),
+ ],
+ q(xlb) => [
+ q(7280),
+ q(0),
+ ],
+ q(xlc) => [
+ q(7281),
+ q(0),
+ ],
+ q(xld) => [
+ q(7282),
+ q(0),
+ ],
+ q(xle) => [
+ q(7283),
+ q(0),
+ ],
+ q(xlg) => [
+ q(7284),
+ q(0),
+ ],
+ q(xli) => [
+ q(7285),
+ q(0),
+ ],
+ q(xln) => [
+ q(7286),
+ q(0),
+ ],
+ q(xlo) => [
+ q(7287),
+ q(0),
+ ],
+ q(xlp) => [
+ q(7288),
+ q(0),
+ ],
+ q(xls) => [
+ q(7289),
+ q(0),
+ ],
+ q(xlu) => [
+ q(7290),
+ q(0),
+ ],
+ q(xly) => [
+ q(7291),
+ q(0),
+ ],
+ q(xma) => [
+ q(7292),
+ q(0),
+ ],
+ q(xmb) => [
+ q(7293),
+ q(0),
+ ],
+ q(xmc) => [
+ q(7294),
+ q(0),
+ ],
+ q(xmd) => [
+ q(7295),
+ q(0),
+ ],
+ q(xme) => [
+ q(7296),
+ q(0),
+ ],
+ q(xmf) => [
+ q(7297),
+ q(0),
+ ],
+ q(xmg) => [
+ q(7298),
+ q(0),
+ ],
+ q(xmh) => [
+ q(7299),
+ q(0),
+ ],
+ q(xmj) => [
+ q(7300),
+ q(0),
+ ],
+ q(xmk) => [
+ q(7301),
+ q(0),
+ ],
+ q(xml) => [
+ q(7302),
+ q(0),
+ ],
+ q(xmm) => [
+ q(7303),
+ q(0),
+ ],
+ q(xmn) => [
+ q(7304),
+ q(0),
+ ],
+ q(xmo) => [
+ q(7305),
+ q(0),
+ ],
+ q(xmp) => [
+ q(7306),
+ q(0),
+ ],
+ q(xmq) => [
+ q(7307),
+ q(0),
+ ],
+ q(xmr) => [
+ q(7308),
+ q(0),
+ ],
+ q(xms) => [
+ q(7309),
+ q(0),
+ ],
+ q(xmt) => [
+ q(7310),
+ q(0),
+ ],
+ q(xmu) => [
+ q(7311),
+ q(0),
+ ],
+ q(xmv) => [
+ q(7312),
+ q(0),
+ ],
+ q(xmw) => [
+ q(7313),
+ q(0),
+ ],
+ q(xmx) => [
+ q(7314),
+ q(0),
+ ],
+ q(xmy) => [
+ q(7315),
+ q(0),
+ ],
+ q(xmz) => [
+ q(7316),
+ q(0),
+ ],
+ q(xna) => [
+ q(7317),
+ q(0),
+ ],
+ q(xnb) => [
+ q(7318),
+ q(0),
+ ],
+ q(xnd) => [
+ q(0531),
+ q(0),
+ ],
+ q(xng) => [
+ q(7319),
+ q(0),
+ ],
+ q(xnh) => [
+ q(7320),
+ q(0),
+ ],
+ q(xnn) => [
+ q(7321),
+ q(0),
+ ],
+ q(xno) => [
+ q(7322),
+ q(0),
+ ],
+ q(xnr) => [
+ q(7323),
+ q(0),
+ ],
+ q(xns) => [
+ q(7324),
+ q(0),
+ ],
+ q(xnt) => [
+ q(7325),
+ q(0),
+ ],
+ q(xoc) => [
+ q(7326),
+ q(0),
+ ],
+ q(xod) => [
+ q(7327),
+ q(0),
+ ],
+ q(xog) => [
+ q(7328),
+ q(0),
+ ],
+ q(xoi) => [
+ q(7329),
+ q(0),
+ ],
+ q(xok) => [
+ q(7330),
+ q(0),
+ ],
+ q(xom) => [
+ q(7331),
+ q(0),
+ ],
+ q(xon) => [
+ q(7332),
+ q(0),
+ ],
+ q(xoo) => [
+ q(7333),
+ q(0),
+ ],
+ q(xop) => [
+ q(7334),
+ q(0),
+ ],
+ q(xor) => [
+ q(7335),
+ q(0),
+ ],
+ q(xow) => [
+ q(7336),
+ q(0),
+ ],
+ q(xpc) => [
+ q(7337),
+ q(0),
+ ],
+ q(xpe) => [
+ q(7338),
+ q(0),
+ ],
+ q(xpg) => [
+ q(7339),
+ q(0),
+ ],
+ q(xpi) => [
+ q(7340),
+ q(0),
+ ],
+ q(xpk) => [
+ q(7341),
+ q(0),
+ ],
+ q(xpm) => [
+ q(7342),
+ q(0),
+ ],
+ q(xpn) => [
+ q(7343),
+ q(0),
+ ],
+ q(xpo) => [
+ q(7344),
+ q(0),
+ ],
+ q(xpp) => [
+ q(7345),
+ q(0),
+ ],
+ q(xpq) => [
+ q(7346),
+ q(0),
+ ],
+ q(xpr) => [
+ q(7347),
+ q(0),
+ ],
+ q(xps) => [
+ q(7348),
+ q(0),
+ ],
+ q(xpu) => [
+ q(7349),
+ q(0),
+ ],
+ q(xpy) => [
+ q(7350),
+ q(0),
+ ],
+ q(xqa) => [
+ q(7351),
+ q(0),
+ ],
+ q(xqt) => [
+ q(7352),
+ q(0),
+ ],
+ q(xra) => [
+ q(7353),
+ q(0),
+ ],
+ q(xrb) => [
+ q(7354),
+ q(0),
+ ],
+ q(xre) => [
+ q(7355),
+ q(0),
+ ],
+ q(xri) => [
+ q(7356),
+ q(0),
+ ],
+ q(xrm) => [
+ q(7357),
+ q(0),
+ ],
+ q(xrn) => [
+ q(7358),
+ q(0),
+ ],
+ q(xrr) => [
+ q(7359),
+ q(0),
+ ],
+ q(xrt) => [
+ q(7360),
+ q(0),
+ ],
+ q(xru) => [
+ q(7361),
+ q(0),
+ ],
+ q(xrw) => [
+ q(7362),
+ q(0),
+ ],
+ q(xsa) => [
+ q(7363),
+ q(0),
+ ],
+ q(xsb) => [
+ q(7364),
+ q(0),
+ ],
+ q(xsc) => [
+ q(7365),
+ q(0),
+ ],
+ q(xsd) => [
+ q(7366),
+ q(0),
+ ],
+ q(xse) => [
+ q(7367),
+ q(0),
+ ],
+ q(xsh) => [
+ q(7368),
+ q(0),
+ ],
+ q(xsi) => [
+ q(7369),
+ q(0),
+ ],
+ q(xsj) => [
+ q(7370),
+ q(0),
+ ],
+ q(xsl) => [
+ q(7371),
+ q(0),
+ ],
+ q(xsm) => [
+ q(7372),
+ q(0),
+ ],
+ q(xsn) => [
+ q(7373),
+ q(0),
+ ],
+ q(xso) => [
+ q(7374),
+ q(0),
+ ],
+ q(xsp) => [
+ q(7375),
+ q(0),
+ ],
+ q(xsq) => [
+ q(7376),
+ q(0),
+ ],
+ q(xsr) => [
+ q(7377),
+ q(0),
+ ],
+ q(xss) => [
+ q(7378),
+ q(0),
+ ],
+ q(xsu) => [
+ q(7379),
+ q(0),
+ ],
+ q(xsv) => [
+ q(7380),
+ q(0),
+ ],
+ q(xsy) => [
+ q(7381),
+ q(0),
+ ],
+ q(xta) => [
+ q(7382),
+ q(0),
+ ],
+ q(xtb) => [
+ q(7383),
+ q(0),
+ ],
+ q(xtc) => [
+ q(7384),
+ q(0),
+ ],
+ q(xtd) => [
+ q(7385),
+ q(0),
+ ],
+ q(xte) => [
+ q(7386),
+ q(0),
+ ],
+ q(xtg) => [
+ q(7387),
+ q(0),
+ ],
+ q(xti) => [
+ q(7388),
+ q(0),
+ ],
+ q(xtj) => [
+ q(7389),
+ q(0),
+ ],
+ q(xtl) => [
+ q(7390),
+ q(0),
+ ],
+ q(xtm) => [
+ q(7391),
+ q(0),
+ ],
+ q(xtn) => [
+ q(7392),
+ q(0),
+ ],
+ q(xto) => [
+ q(7393),
+ q(0),
+ ],
+ q(xtp) => [
+ q(7394),
+ q(0),
+ ],
+ q(xtq) => [
+ q(7395),
+ q(0),
+ ],
+ q(xtr) => [
+ q(7396),
+ q(0),
+ ],
+ q(xts) => [
+ q(7397),
+ q(0),
+ ],
+ q(xtt) => [
+ q(7398),
+ q(0),
+ ],
+ q(xtu) => [
+ q(7399),
+ q(0),
+ ],
+ q(xtw) => [
+ q(7400),
+ q(0),
+ ],
+ q(xty) => [
+ q(7401),
+ q(0),
+ ],
+ q(xtz) => [
+ q(7402),
+ q(0),
+ ],
+ q(xua) => [
+ q(7403),
+ q(0),
+ ],
+ q(xub) => [
+ q(7404),
+ q(0),
+ ],
+ q(xug) => [
+ q(7405),
+ q(0),
+ ],
+ q(xuj) => [
+ q(7406),
+ q(0),
+ ],
+ q(xum) => [
+ q(7407),
+ q(0),
+ ],
+ q(xuo) => [
+ q(7408),
+ q(0),
+ ],
+ q(xup) => [
+ q(7409),
+ q(0),
+ ],
+ q(xur) => [
+ q(7410),
+ q(0),
+ ],
+ q(xut) => [
+ q(7411),
+ q(0),
+ ],
+ q(xuu) => [
+ q(7412),
+ q(0),
+ ],
+ q(xve) => [
+ q(7413),
+ q(0),
+ ],
+ q(xvi) => [
+ q(7414),
+ q(0),
+ ],
+ q(xvn) => [
+ q(7415),
+ q(0),
+ ],
+ q(xvo) => [
+ q(7416),
+ q(0),
+ ],
+ q(xvs) => [
+ q(7417),
+ q(0),
+ ],
+ q(xwa) => [
+ q(7418),
+ q(0),
+ ],
+ q(xwc) => [
+ q(7419),
+ q(0),
+ ],
+ q(xwe) => [
+ q(7420),
+ q(0),
+ ],
+ q(xwg) => [
+ q(7421),
+ q(0),
+ ],
+ q(xwl) => [
+ q(7422),
+ q(0),
+ ],
+ q(xwo) => [
+ q(7423),
+ q(0),
+ ],
+ q(xwr) => [
+ q(7424),
+ q(0),
+ ],
+ q(xxb) => [
+ q(7425),
+ q(0),
+ ],
+ q(xxk) => [
+ q(7426),
+ q(0),
+ ],
+ q(xxr) => [
+ q(7427),
+ q(0),
+ ],
+ q(xxt) => [
+ q(7428),
+ q(0),
+ ],
+ q(xyl) => [
+ q(7429),
+ q(0),
+ ],
+ q(xzh) => [
+ q(7430),
+ q(0),
+ ],
+ q(xzm) => [
+ q(7431),
+ q(0),
+ ],
+ q(xzp) => [
+ q(7432),
+ q(0),
+ ],
+ q(yaa) => [
+ q(7433),
+ q(0),
+ ],
+ q(yab) => [
+ q(7434),
+ q(0),
+ ],
+ q(yac) => [
+ q(7435),
+ q(0),
+ ],
+ q(yad) => [
+ q(7436),
+ q(0),
+ ],
+ q(yae) => [
+ q(7437),
+ q(0),
+ ],
+ q(yaf) => [
+ q(7438),
+ q(0),
+ ],
+ q(yag) => [
+ q(7439),
+ q(0),
+ ],
+ q(yah) => [
+ q(7440),
+ q(0),
+ ],
+ q(yai) => [
+ q(7441),
+ q(0),
+ ],
+ q(yaj) => [
+ q(7442),
+ q(0),
+ ],
+ q(yak) => [
+ q(7443),
+ q(0),
+ ],
+ q(yal) => [
+ q(7444),
+ q(0),
+ ],
+ q(yam) => [
+ q(7445),
+ q(0),
+ ],
+ q(yan) => [
+ q(7446),
+ q(0),
+ ],
+ q(yao) => [
+ q(0472),
+ q(0),
+ ],
+ q(yap) => [
+ q(0473),
+ q(0),
+ ],
+ q(yaq) => [
+ q(7447),
+ q(0),
+ ],
+ q(yar) => [
+ q(7448),
+ q(0),
+ ],
+ q(yas) => [
+ q(7449),
+ q(0),
+ ],
+ q(yat) => [
+ q(7450),
+ q(0),
+ ],
+ q(yau) => [
+ q(7451),
+ q(0),
+ ],
+ q(yav) => [
+ q(7452),
+ q(0),
+ ],
+ q(yaw) => [
+ q(7453),
+ q(0),
+ ],
+ q(yax) => [
+ q(7454),
+ q(0),
+ ],
+ q(yay) => [
+ q(7455),
+ q(0),
+ ],
+ q(yaz) => [
+ q(7456),
+ q(0),
+ ],
+ q(yba) => [
+ q(7457),
+ q(0),
+ ],
+ q(ybb) => [
+ q(7458),
+ q(0),
+ ],
+ q(ybd) => [
+ q(7459),
+ q(0),
+ ],
+ q(ybe) => [
+ q(7460),
+ q(0),
+ ],
+ q(ybh) => [
+ q(7461),
+ q(0),
+ ],
+ q(ybi) => [
+ q(7462),
+ q(0),
+ ],
+ q(ybj) => [
+ q(7463),
+ q(0),
+ ],
+ q(ybk) => [
+ q(7464),
+ q(0),
+ ],
+ q(ybl) => [
+ q(7465),
+ q(0),
+ ],
+ q(ybm) => [
+ q(7466),
+ q(0),
+ ],
+ q(ybn) => [
+ q(7467),
+ q(0),
+ ],
+ q(ybo) => [
+ q(7468),
+ q(0),
+ ],
+ q(ybx) => [
+ q(7469),
+ q(0),
+ ],
+ q(yby) => [
+ q(7470),
+ q(0),
+ ],
+ q(ych) => [
+ q(7471),
+ q(0),
+ ],
+ q(ycl) => [
+ q(7472),
+ q(0),
+ ],
+ q(ycn) => [
+ q(7473),
+ q(0),
+ ],
+ q(ycp) => [
+ q(7474),
+ q(0),
+ ],
+ q(ydd) => [
+ q(7475),
+ q(0),
+ ],
+ q(yde) => [
+ q(7476),
+ q(0),
+ ],
+ q(ydg) => [
+ q(7477),
+ q(0),
+ ],
+ q(ydk) => [
+ q(7478),
+ q(0),
+ ],
+ q(yds) => [
+ q(7479),
+ q(0),
+ ],
+ q(yea) => [
+ q(7480),
+ q(0),
+ ],
+ q(yec) => [
+ q(7481),
+ q(0),
+ ],
+ q(yee) => [
+ q(7482),
+ q(0),
+ ],
+ q(yei) => [
+ q(7483),
+ q(0),
+ ],
+ q(yej) => [
+ q(7484),
+ q(0),
+ ],
+ q(yel) => [
+ q(7485),
+ q(0),
+ ],
+ q(yen) => [
+ q(7486),
+ q(0),
+ ],
+ q(yer) => [
+ q(7487),
+ q(0),
+ ],
+ q(yes) => [
+ q(7488),
+ q(0),
+ ],
+ q(yet) => [
+ q(7489),
+ q(0),
+ ],
+ q(yeu) => [
+ q(7490),
+ q(0),
+ ],
+ q(yev) => [
+ q(7491),
+ q(0),
+ ],
+ q(yey) => [
+ q(7492),
+ q(0),
+ ],
+ q(ygl) => [
+ q(7493),
+ q(0),
+ ],
+ q(ygm) => [
+ q(7494),
+ q(0),
+ ],
+ q(ygp) => [
+ q(7495),
+ q(0),
+ ],
+ q(ygr) => [
+ q(7496),
+ q(0),
+ ],
+ q(ygw) => [
+ q(7497),
+ q(0),
+ ],
+ q(yha) => [
+ q(7498),
+ q(0),
+ ],
+ q(yhd) => [
+ q(7499),
+ q(0),
+ ],
+ q(yhl) => [
+ q(7500),
+ q(0),
+ ],
+ q(yia) => [
+ q(7501),
+ q(0),
+ ],
+ q(yid) => [
+ q(0474),
+ q(0),
+ ],
+ q(yif) => [
+ q(2618),
+ q(0),
+ ],
+ q(yig) => [
+ q(7502),
+ q(0),
+ ],
+ q(yih) => [
+ q(7503),
+ q(0),
+ ],
+ q(yii) => [
+ q(7504),
+ q(0),
+ ],
+ q(yij) => [
+ q(7505),
+ q(0),
+ ],
+ q(yik) => [
+ q(7506),
+ q(0),
+ ],
+ q(yil) => [
+ q(7507),
+ q(0),
+ ],
+ q(yim) => [
+ q(7508),
+ q(0),
+ ],
+ q(yin) => [
+ q(7509),
+ q(0),
+ ],
+ q(yip) => [
+ q(7510),
+ q(0),
+ ],
+ q(yiq) => [
+ q(7511),
+ q(0),
+ ],
+ q(yir) => [
+ q(7512),
+ q(0),
+ ],
+ q(yis) => [
+ q(7513),
+ q(0),
+ ],
+ q(yit) => [
+ q(7514),
+ q(0),
+ ],
+ q(yiu) => [
+ q(7515),
+ q(0),
+ ],
+ q(yiv) => [
+ q(7516),
+ q(0),
+ ],
+ q(yix) => [
+ q(7517),
+ q(0),
+ ],
+ q(yiy) => [
+ q(7518),
+ q(0),
+ ],
+ q(yiz) => [
+ q(7519),
+ q(0),
+ ],
+ q(yka) => [
+ q(7520),
+ q(0),
+ ],
+ q(ykg) => [
+ q(7521),
+ q(0),
+ ],
+ q(yki) => [
+ q(7522),
+ q(0),
+ ],
+ q(ykk) => [
+ q(7523),
+ q(0),
+ ],
+ q(ykl) => [
+ q(7524),
+ q(0),
+ ],
+ q(ykm) => [
+ q(7525),
+ q(0),
+ ],
+ q(yko) => [
+ q(7526),
+ q(0),
+ ],
+ q(ykr) => [
+ q(7527),
+ q(0),
+ ],
+ q(ykt) => [
+ q(7528),
+ q(0),
+ ],
+ q(yky) => [
+ q(7529),
+ q(0),
+ ],
+ q(yla) => [
+ q(7530),
+ q(0),
+ ],
+ q(ylb) => [
+ q(7531),
+ q(0),
+ ],
+ q(yle) => [
+ q(7532),
+ q(0),
+ ],
+ q(ylg) => [
+ q(7533),
+ q(0),
+ ],
+ q(yli) => [
+ q(7534),
+ q(0),
+ ],
+ q(yll) => [
+ q(7535),
+ q(0),
+ ],
+ q(ylm) => [
+ q(7536),
+ q(0),
+ ],
+ q(yln) => [
+ q(7537),
+ q(0),
+ ],
+ q(ylo) => [
+ q(7538),
+ q(0),
+ ],
+ q(ylr) => [
+ q(7539),
+ q(0),
+ ],
+ q(ylu) => [
+ q(7540),
+ q(0),
+ ],
+ q(yly) => [
+ q(7541),
+ q(0),
+ ],
+ q(yma) => [
+ q(7542),
+ q(0),
+ ],
+ q(ymb) => [
+ q(7543),
+ q(0),
+ ],
+ q(ymc) => [
+ q(7544),
+ q(0),
+ ],
+ q(ymd) => [
+ q(7545),
+ q(0),
+ ],
+ q(yme) => [
+ q(7546),
+ q(0),
+ ],
+ q(ymg) => [
+ q(7547),
+ q(0),
+ ],
+ q(ymh) => [
+ q(7548),
+ q(0),
+ ],
+ q(ymi) => [
+ q(7549),
+ q(0),
+ ],
+ q(ymk) => [
+ q(7550),
+ q(0),
+ ],
+ q(yml) => [
+ q(7551),
+ q(0),
+ ],
+ q(ymm) => [
+ q(7552),
+ q(0),
+ ],
+ q(ymn) => [
+ q(7553),
+ q(0),
+ ],
+ q(ymo) => [
+ q(7554),
+ q(0),
+ ],
+ q(ymp) => [
+ q(7555),
+ q(0),
+ ],
+ q(ymq) => [
+ q(7556),
+ q(0),
+ ],
+ q(ymr) => [
+ q(7557),
+ q(0),
+ ],
+ q(yms) => [
+ q(7558),
+ q(0),
+ ],
+ q(ymt) => [
+ q(7559),
+ q(0),
+ ],
+ q(ymx) => [
+ q(7560),
+ q(0),
+ ],
+ q(ymz) => [
+ q(7561),
+ q(0),
+ ],
+ q(yna) => [
+ q(7562),
+ q(0),
+ ],
+ q(ynd) => [
+ q(7563),
+ q(0),
+ ],
+ q(yne) => [
+ q(7564),
+ q(0),
+ ],
+ q(yng) => [
+ q(7565),
+ q(0),
+ ],
+ q(ynh) => [
+ q(7566),
+ q(0),
+ ],
+ q(ynk) => [
+ q(7567),
+ q(0),
+ ],
+ q(ynl) => [
+ q(7568),
+ q(0),
+ ],
+ q(ynn) => [
+ q(7569),
+ q(0),
+ ],
+ q(yno) => [
+ q(7570),
+ q(0),
+ ],
+ q(yns) => [
+ q(7571),
+ q(0),
+ ],
+ q(ynu) => [
+ q(7572),
+ q(0),
+ ],
+ q(yob) => [
+ q(7573),
+ q(0),
+ ],
+ q(yog) => [
+ q(7574),
+ q(0),
+ ],
+ q(yoi) => [
+ q(7575),
+ q(0),
+ ],
+ q(yok) => [
+ q(7576),
+ q(0),
+ ],
+ q(yol) => [
+ q(7577),
+ q(0),
+ ],
+ q(yom) => [
+ q(7578),
+ q(0),
+ ],
+ q(yon) => [
+ q(7579),
+ q(0),
+ ],
+ q(yor) => [
+ q(0475),
+ q(0),
+ ],
+ q(yos) => [
+ q(7580),
+ q(0),
+ ],
+ q(yox) => [
+ q(7581),
+ q(0),
+ ],
+ q(yoy) => [
+ q(7582),
+ q(0),
+ ],
+ q(ypa) => [
+ q(7583),
+ q(0),
+ ],
+ q(ypb) => [
+ q(7584),
+ q(0),
+ ],
+ q(ypg) => [
+ q(7585),
+ q(0),
+ ],
+ q(yph) => [
+ q(7586),
+ q(0),
+ ],
+ q(ypk) => [
+ q(0476),
+ q(0),
+ ],
+ q(ypm) => [
+ q(7587),
+ q(0),
+ ],
+ q(ypn) => [
+ q(7588),
+ q(0),
+ ],
+ q(ypo) => [
+ q(7589),
+ q(0),
+ ],
+ q(ypp) => [
+ q(7590),
+ q(0),
+ ],
+ q(ypz) => [
+ q(7591),
+ q(0),
+ ],
+ q(yra) => [
+ q(7592),
+ q(0),
+ ],
+ q(yrb) => [
+ q(7593),
+ q(0),
+ ],
+ q(yre) => [
+ q(7594),
+ q(0),
+ ],
+ q(yri) => [
+ q(7595),
+ q(0),
+ ],
+ q(yrk) => [
+ q(7596),
+ q(0),
+ ],
+ q(yrl) => [
+ q(7597),
+ q(0),
+ ],
+ q(yrn) => [
+ q(7598),
+ q(0),
+ ],
+ q(yrs) => [
+ q(7599),
+ q(0),
+ ],
+ q(yrw) => [
+ q(7600),
+ q(0),
+ ],
+ q(ysc) => [
+ q(7601),
+ q(0),
+ ],
+ q(ysd) => [
+ q(7602),
+ q(0),
+ ],
+ q(ysl) => [
+ q(7603),
+ q(0),
+ ],
+ q(ysn) => [
+ q(7604),
+ q(0),
+ ],
+ q(yso) => [
+ q(7605),
+ q(0),
+ ],
+ q(ysp) => [
+ q(7606),
+ q(0),
+ ],
+ q(ysr) => [
+ q(7607),
+ q(0),
+ ],
+ q(yss) => [
+ q(7608),
+ q(0),
+ ],
+ q(ysy) => [
+ q(7609),
+ q(0),
+ ],
+ q(yta) => [
+ q(7610),
+ q(0),
+ ],
+ q(ytl) => [
+ q(7611),
+ q(0),
+ ],
+ q(ytp) => [
+ q(7612),
+ q(0),
+ ],
+ q(ytw) => [
+ q(7613),
+ q(0),
+ ],
+ q(yua) => [
+ q(7614),
+ q(0),
+ ],
+ q(yub) => [
+ q(7615),
+ q(0),
+ ],
+ q(yuc) => [
+ q(7616),
+ q(0),
+ ],
+ q(yud) => [
+ q(7617),
+ q(0),
+ ],
+ q(yue) => [
+ q(7618),
+ q(0),
+ ],
+ q(yuf) => [
+ q(7619),
+ q(0),
+ ],
+ q(yug) => [
+ q(7620),
+ q(0),
+ ],
+ q(yui) => [
+ q(7621),
+ q(0),
+ ],
+ q(yuj) => [
+ q(7622),
+ q(0),
+ ],
+ q(yuk) => [
+ q(7623),
+ q(0),
+ ],
+ q(yul) => [
+ q(7624),
+ q(0),
+ ],
+ q(yum) => [
+ q(7625),
+ q(0),
+ ],
+ q(yun) => [
+ q(7626),
+ q(0),
+ ],
+ q(yup) => [
+ q(7627),
+ q(0),
+ ],
+ q(yuq) => [
+ q(7628),
+ q(0),
+ ],
+ q(yur) => [
+ q(7629),
+ q(0),
+ ],
+ q(yut) => [
+ q(7630),
+ q(0),
+ ],
+ q(yuu) => [
+ q(7631),
+ q(0),
+ ],
+ q(yuw) => [
+ q(7632),
+ q(0),
+ ],
+ q(yux) => [
+ q(7633),
+ q(0),
+ ],
+ q(yuy) => [
+ q(7634),
+ q(0),
+ ],
+ q(yuz) => [
+ q(7635),
+ q(0),
+ ],
+ q(yva) => [
+ q(7636),
+ q(0),
+ ],
+ q(yvt) => [
+ q(7637),
+ q(0),
+ ],
+ q(ywa) => [
+ q(7638),
+ q(0),
+ ],
+ q(ywl) => [
+ q(7639),
+ q(0),
+ ],
+ q(ywn) => [
+ q(7640),
+ q(0),
+ ],
+ q(ywq) => [
+ q(7641),
+ q(0),
+ ],
+ q(ywr) => [
+ q(7642),
+ q(0),
+ ],
+ q(ywt) => [
+ q(7643),
+ q(0),
+ ],
+ q(ywu) => [
+ q(7644),
+ q(0),
+ ],
+ q(yww) => [
+ q(7645),
+ q(0),
+ ],
+ q(yyu) => [
+ q(7646),
+ q(0),
+ ],
+ q(yyz) => [
+ q(7647),
+ q(0),
+ ],
+ q(yzg) => [
+ q(7648),
+ q(0),
+ ],
+ q(yzk) => [
+ q(7649),
+ q(0),
+ ],
+ q(zaa) => [
+ q(7650),
+ q(0),
+ ],
+ q(zab) => [
+ q(7651),
+ q(0),
+ ],
+ q(zac) => [
+ q(7652),
+ q(0),
+ ],
+ q(zad) => [
+ q(7653),
+ q(0),
+ ],
+ q(zae) => [
+ q(7654),
+ q(0),
+ ],
+ q(zaf) => [
+ q(7655),
+ q(0),
+ ],
+ q(zag) => [
+ q(7656),
+ q(0),
+ ],
+ q(zah) => [
+ q(7657),
+ q(0),
+ ],
+ q(zai) => [
+ q(7658),
+ q(0),
+ ],
+ q(zaj) => [
+ q(7659),
+ q(0),
+ ],
+ q(zak) => [
+ q(7660),
+ q(0),
+ ],
+ q(zal) => [
+ q(7661),
+ q(0),
+ ],
+ q(zam) => [
+ q(7662),
+ q(0),
+ ],
+ q(zao) => [
+ q(7663),
+ q(0),
+ ],
+ q(zap) => [
+ q(0477),
+ q(0),
+ ],
+ q(zaq) => [
+ q(7664),
+ q(0),
+ ],
+ q(zar) => [
+ q(7665),
+ q(0),
+ ],
+ q(zas) => [
+ q(7666),
+ q(0),
+ ],
+ q(zat) => [
+ q(7667),
+ q(0),
+ ],
+ q(zau) => [
+ q(7668),
+ q(0),
+ ],
+ q(zav) => [
+ q(7669),
+ q(0),
+ ],
+ q(zaw) => [
+ q(7670),
+ q(0),
+ ],
+ q(zax) => [
+ q(7671),
+ q(0),
+ ],
+ q(zay) => [
+ q(7672),
+ q(0),
+ ],
+ q(zaz) => [
+ q(7673),
+ q(0),
+ ],
+ q(zbc) => [
+ q(7674),
+ q(0),
+ ],
+ q(zbe) => [
+ q(7675),
+ q(0),
+ ],
+ q(zbl) => [
+ q(0478),
+ q(0),
+ ],
+ q(zbt) => [
+ q(7676),
+ q(0),
+ ],
+ q(zbw) => [
+ q(7677),
+ q(0),
+ ],
+ q(zca) => [
+ q(7678),
+ q(0),
+ ],
+ q(zch) => [
+ q(7679),
+ q(0),
+ ],
+ q(zdj) => [
+ q(7680),
+ q(0),
+ ],
+ q(zea) => [
+ q(7681),
+ q(0),
+ ],
+ q(zeg) => [
+ q(7682),
+ q(0),
+ ],
+ q(zeh) => [
+ q(7683),
+ q(0),
+ ],
+ q(zen) => [
+ q(0479),
+ q(0),
+ ],
+ q(zga) => [
+ q(7684),
+ q(0),
+ ],
+ q(zgb) => [
+ q(7685),
+ q(0),
+ ],
+ q(zgm) => [
+ q(7686),
+ q(0),
+ ],
+ q(zgn) => [
+ q(7687),
+ q(0),
+ ],
+ q(zgr) => [
+ q(7688),
+ q(0),
+ ],
+ q(zha) => [
+ q(0480),
+ q(0),
+ ],
+ q(zhb) => [
+ q(7689),
+ q(0),
+ ],
+ q(zhd) => [
+ q(7690),
+ q(0),
+ ],
+ q(zhi) => [
+ q(7691),
+ q(0),
+ ],
+ q(zhn) => [
+ q(7692),
+ q(0),
+ ],
+ q(zhw) => [
+ q(7693),
+ q(0),
+ ],
+ q(zhx) => [
+ q(0532),
+ q(0),
+ ],
+ q(zia) => [
+ q(7694),
+ q(0),
+ ],
+ q(zib) => [
+ q(7695),
+ q(0),
+ ],
+ q(zik) => [
+ q(7696),
+ q(0),
+ ],
+ q(zil) => [
+ q(7697),
+ q(0),
+ ],
+ q(zim) => [
+ q(7698),
+ q(0),
+ ],
+ q(zin) => [
+ q(7699),
+ q(0),
+ ],
+ q(zir) => [
+ q(7700),
+ q(0),
+ ],
+ q(ziw) => [
+ q(7701),
+ q(0),
+ ],
+ q(ziz) => [
+ q(7702),
+ q(0),
+ ],
+ q(zka) => [
+ q(7703),
+ q(0),
+ ],
+ q(zkb) => [
+ q(7704),
+ q(0),
+ ],
+ q(zkg) => [
+ q(7705),
+ q(0),
+ ],
+ q(zkh) => [
+ q(7706),
+ q(0),
+ ],
+ q(zkk) => [
+ q(7707),
+ q(0),
+ ],
+ q(zko) => [
+ q(7708),
+ q(0),
+ ],
+ q(zkp) => [
+ q(7709),
+ q(0),
+ ],
+ q(zkr) => [
+ q(7710),
+ q(0),
+ ],
+ q(zkt) => [
+ q(7711),
+ q(0),
+ ],
+ q(zku) => [
+ q(7712),
+ q(0),
+ ],
+ q(zkv) => [
+ q(7713),
+ q(0),
+ ],
+ q(zkz) => [
+ q(7714),
+ q(0),
+ ],
+ q(zle) => [
+ q(0533),
+ q(0),
+ ],
+ q(zlj) => [
+ q(7715),
+ q(0),
+ ],
+ q(zlm) => [
+ q(7716),
+ q(0),
+ ],
+ q(zln) => [
+ q(7717),
+ q(0),
+ ],
+ q(zlq) => [
+ q(7718),
+ q(0),
+ ],
+ q(zls) => [
+ q(0534),
+ q(0),
+ ],
+ q(zlw) => [
+ q(0535),
+ q(0),
+ ],
+ q(zma) => [
+ q(7719),
+ q(0),
+ ],
+ q(zmb) => [
+ q(7720),
+ q(0),
+ ],
+ q(zmc) => [
+ q(7721),
+ q(0),
+ ],
+ q(zmd) => [
+ q(7722),
+ q(0),
+ ],
+ q(zme) => [
+ q(7723),
+ q(0),
+ ],
+ q(zmf) => [
+ q(7724),
+ q(0),
+ ],
+ q(zmg) => [
+ q(7725),
+ q(0),
+ ],
+ q(zmh) => [
+ q(7726),
+ q(0),
+ ],
+ q(zmi) => [
+ q(7727),
+ q(0),
+ ],
+ q(zmj) => [
+ q(7728),
+ q(0),
+ ],
+ q(zmk) => [
+ q(7729),
+ q(0),
+ ],
+ q(zml) => [
+ q(7730),
+ q(0),
+ ],
+ q(zmm) => [
+ q(7731),
+ q(0),
+ ],
+ q(zmn) => [
+ q(7732),
+ q(0),
+ ],
+ q(zmo) => [
+ q(7733),
+ q(0),
+ ],
+ q(zmp) => [
+ q(7734),
+ q(0),
+ ],
+ q(zmq) => [
+ q(7735),
+ q(0),
+ ],
+ q(zmr) => [
+ q(7736),
+ q(0),
+ ],
+ q(zms) => [
+ q(7737),
+ q(0),
+ ],
+ q(zmt) => [
+ q(7738),
+ q(0),
+ ],
+ q(zmu) => [
+ q(7739),
+ q(0),
+ ],
+ q(zmv) => [
+ q(7740),
+ q(0),
+ ],
+ q(zmw) => [
+ q(7741),
+ q(0),
+ ],
+ q(zmx) => [
+ q(7742),
+ q(0),
+ ],
+ q(zmy) => [
+ q(7743),
+ q(0),
+ ],
+ q(zmz) => [
+ q(7744),
+ q(0),
+ ],
+ q(zna) => [
+ q(7745),
+ q(0),
+ ],
+ q(znd) => [
+ q(0481),
+ q(0),
+ ],
+ q(zne) => [
+ q(7746),
+ q(0),
+ ],
+ q(zng) => [
+ q(7747),
+ q(0),
+ ],
+ q(znk) => [
+ q(7748),
+ q(0),
+ ],
+ q(zns) => [
+ q(7749),
+ q(0),
+ ],
+ q(zoc) => [
+ q(7750),
+ q(0),
+ ],
+ q(zoh) => [
+ q(7751),
+ q(0),
+ ],
+ q(zom) => [
+ q(7752),
+ q(0),
+ ],
+ q(zoo) => [
+ q(7753),
+ q(0),
+ ],
+ q(zoq) => [
+ q(7754),
+ q(0),
+ ],
+ q(zor) => [
+ q(7755),
+ q(0),
+ ],
+ q(zos) => [
+ q(7756),
+ q(0),
+ ],
+ q(zpa) => [
+ q(7757),
+ q(0),
+ ],
+ q(zpb) => [
+ q(7758),
+ q(0),
+ ],
+ q(zpc) => [
+ q(7759),
+ q(0),
+ ],
+ q(zpd) => [
+ q(7760),
+ q(0),
+ ],
+ q(zpe) => [
+ q(7761),
+ q(0),
+ ],
+ q(zpf) => [
+ q(7762),
+ q(0),
+ ],
+ q(zpg) => [
+ q(7763),
+ q(0),
+ ],
+ q(zph) => [
+ q(7764),
+ q(0),
+ ],
+ q(zpi) => [
+ q(7765),
+ q(0),
+ ],
+ q(zpj) => [
+ q(7766),
+ q(0),
+ ],
+ q(zpk) => [
+ q(7767),
+ q(0),
+ ],
+ q(zpl) => [
+ q(7768),
+ q(0),
+ ],
+ q(zpm) => [
+ q(7769),
+ q(0),
+ ],
+ q(zpn) => [
+ q(7770),
+ q(0),
+ ],
+ q(zpo) => [
+ q(7771),
+ q(0),
+ ],
+ q(zpp) => [
+ q(7772),
+ q(0),
+ ],
+ q(zpq) => [
+ q(7773),
+ q(0),
+ ],
+ q(zpr) => [
+ q(7774),
+ q(0),
+ ],
+ q(zps) => [
+ q(7775),
+ q(0),
+ ],
+ q(zpt) => [
+ q(7776),
+ q(0),
+ ],
+ q(zpu) => [
+ q(7777),
+ q(0),
+ ],
+ q(zpv) => [
+ q(7778),
+ q(0),
+ ],
+ q(zpw) => [
+ q(7779),
+ q(0),
+ ],
+ q(zpx) => [
+ q(7780),
+ q(0),
+ ],
+ q(zpy) => [
+ q(7781),
+ q(0),
+ ],
+ q(zpz) => [
+ q(7782),
+ q(0),
+ ],
+ q(zqe) => [
+ q(7783),
+ q(0),
+ ],
+ q(zra) => [
+ q(7784),
+ q(0),
+ ],
+ q(zrg) => [
+ q(7785),
+ q(0),
+ ],
+ q(zrn) => [
+ q(7786),
+ q(0),
+ ],
+ q(zro) => [
+ q(7787),
+ q(0),
+ ],
+ q(zrp) => [
+ q(7788),
+ q(0),
+ ],
+ q(zrs) => [
+ q(7789),
+ q(0),
+ ],
+ q(zsa) => [
+ q(7790),
+ q(0),
+ ],
+ q(zsk) => [
+ q(7791),
+ q(0),
+ ],
+ q(zsl) => [
+ q(7792),
+ q(0),
+ ],
+ q(zsm) => [
+ q(7793),
+ q(0),
+ ],
+ q(zsr) => [
+ q(7794),
+ q(0),
+ ],
+ q(zsu) => [
+ q(7795),
+ q(0),
+ ],
+ q(zte) => [
+ q(7796),
+ q(0),
+ ],
+ q(ztg) => [
+ q(7797),
+ q(0),
+ ],
+ q(ztl) => [
+ q(7798),
+ q(0),
+ ],
+ q(ztm) => [
+ q(7799),
+ q(0),
+ ],
+ q(ztn) => [
+ q(7800),
+ q(0),
+ ],
+ q(ztp) => [
+ q(7801),
+ q(0),
+ ],
+ q(ztq) => [
+ q(7802),
+ q(0),
+ ],
+ q(zts) => [
+ q(7803),
+ q(0),
+ ],
+ q(ztt) => [
+ q(7804),
+ q(0),
+ ],
+ q(ztu) => [
+ q(7805),
+ q(0),
+ ],
+ q(ztx) => [
+ q(7806),
+ q(0),
+ ],
+ q(zty) => [
+ q(7807),
+ q(0),
+ ],
+ q(zua) => [
+ q(7808),
+ q(0),
+ ],
+ q(zuh) => [
+ q(7809),
+ q(0),
+ ],
+ q(zul) => [
+ q(0482),
+ q(0),
+ ],
+ q(zum) => [
+ q(7810),
+ q(0),
+ ],
+ q(zun) => [
+ q(0483),
+ q(0),
+ ],
+ q(zuy) => [
+ q(7811),
+ q(0),
+ ],
+ q(zwa) => [
+ q(7812),
+ q(0),
+ ],
+ q(zxx) => [
+ q(0484),
+ q(0),
+ ],
+ q(zyb) => [
+ q(7813),
+ q(0),
+ ],
+ q(zyg) => [
+ q(7814),
+ q(0),
+ ],
+ q(zyj) => [
+ q(7815),
+ q(0),
+ ],
+ q(zyn) => [
+ q(7816),
+ q(0),
+ ],
+ q(zyp) => [
+ q(7817),
+ q(0),
+ ],
+ q(zza) => [
+ q(0485),
+ q(0),
+ ],
+ q(zzj) => [
+ q(7818),
+ q(0),
+ ],
+ },
+ q(term) => {
+ q(bod) => [
+ q(0427),
+ q(0),
+ ],
+ q(ces) => [
+ q(0101),
+ q(0),
+ ],
+ q(cym) => [
+ q(0466),
+ q(0),
+ ],
+ q(deu) => [
+ q(0150),
+ q(0),
+ ],
+ q(ell) => [
+ q(0164),
+ q(0),
+ ],
+ q(eus) => [
+ q(0044),
+ q(0),
+ ],
+ q(fas) => [
+ q(0342),
+ q(0),
+ ],
+ q(fra) => [
+ q(0137),
+ q(0),
+ ],
+ q(hye) => [
+ q(0024),
+ q(0),
+ ],
+ q(isl) => [
+ q(0187),
+ q(0),
+ ],
+ q(kat) => [
+ q(0149),
+ q(0),
+ ],
+ q(mkd) => [
+ q(0262),
+ q(0),
+ ],
+ q(mri) => [
+ q(0270),
+ q(0),
+ ],
+ q(msa) => [
+ q(0274),
+ q(0),
+ ],
+ q(mya) => [
+ q(0066),
+ q(0),
+ ],
+ q(nld) => [
+ q(0116),
+ q(0),
+ ],
+ q(ron) => [
+ q(0360),
+ q(0),
+ ],
+ q(slk) => [
+ q(0385),
+ q(0),
+ ],
+ q(sqi) => [
+ q(0013),
+ q(0),
+ ],
+ q(zho) => [
+ q(0079),
+ q(0),
+ ],
+ },
+};
+
+$Locale::Codes::Data{'language'}{'id2code'} = {
+ q(alpha-2) => {
+ q(0001) => q(aa),
+ q(0002) => q(ab),
+ q(0009) => q(af),
+ q(0011) => q(ak),
+ q(0013) => q(sq),
+ q(0017) => q(am),
+ q(0021) => q(ar),
+ q(0023) => q(an),
+ q(0024) => q(hy),
+ q(0029) => q(as),
+ q(0033) => q(av),
+ q(0034) => q(ae),
+ q(0036) => q(ay),
+ q(0037) => q(az),
+ q(0040) => q(ba),
+ q(0042) => q(bm),
+ q(0044) => q(eu),
+ q(0048) => q(be),
+ q(0050) => q(bn),
+ q(0053) => q(bh),
+ q(0056) => q(bi),
+ q(0059) => q(bs),
+ q(0061) => q(br),
+ q(0065) => q(bg),
+ q(0066) => q(my),
+ q(0071) => q(ca),
+ q(0075) => q(ch),
+ q(0077) => q(ce),
+ q(0079) => q(zh),
+ q(0086) => q(cu),
+ q(0087) => q(cv),
+ q(0091) => q(kw),
+ q(0092) => q(co),
+ q(0096) => q(cr),
+ q(0101) => q(cs),
+ q(0103) => q(da),
+ q(0110) => q(dv),
+ q(0116) => q(nl),
+ q(0118) => q(dz),
+ q(0123) => q(en),
+ q(0125) => q(eo),
+ q(0126) => q(et),
+ q(0127) => q(ee),
+ q(0130) => q(fo),
+ q(0132) => q(fj),
+ q(0134) => q(fi),
+ q(0137) => q(fr),
+ q(0142) => q(fy),
+ q(0143) => q(ff),
+ q(0149) => q(ka),
+ q(0150) => q(de),
+ q(0153) => q(gd),
+ q(0154) => q(ga),
+ q(0155) => q(gl),
+ q(0156) => q(gv),
+ q(0164) => q(el),
+ q(0165) => q(gn),
+ q(0167) => q(gu),
+ q(0170) => q(ht),
+ q(0171) => q(ha),
+ q(0173) => q(he),
+ q(0174) => q(hz),
+ q(0177) => q(hi),
+ q(0180) => q(ho),
+ q(0181) => q(hr),
+ q(0183) => q(hu),
+ q(0186) => q(ig),
+ q(0187) => q(is),
+ q(0188) => q(io),
+ q(0189) => q(ii),
+ q(0191) => q(iu),
+ q(0192) => q(ie),
+ q(0194) => q(ia),
+ q(0196) => q(id),
+ q(0199) => q(ik),
+ q(0202) => q(it),
+ q(0203) => q(jv),
+ q(0205) => q(ja),
+ q(0211) => q(kl),
+ q(0213) => q(kn),
+ q(0215) => q(ks),
+ q(0216) => q(kr),
+ q(0218) => q(kk),
+ q(0222) => q(km),
+ q(0224) => q(ki),
+ q(0225) => q(rw),
+ q(0226) => q(ky),
+ q(0229) => q(kv),
+ q(0230) => q(kg),
+ q(0231) => q(ko),
+ q(0238) => q(kj),
+ q(0240) => q(ku),
+ q(0245) => q(lo),
+ q(0246) => q(la),
+ q(0247) => q(lv),
+ q(0249) => q(li),
+ q(0250) => q(ln),
+ q(0251) => q(lt),
+ q(0254) => q(lb),
+ q(0256) => q(lu),
+ q(0257) => q(lg),
+ q(0262) => q(mk),
+ q(0265) => q(mh),
+ q(0268) => q(ml),
+ q(0270) => q(mi),
+ q(0272) => q(mr),
+ q(0274) => q(ms),
+ q(0283) => q(mg),
+ q(0284) => q(mt),
+ q(0289) => q(mn),
+ q(0301) => q(na),
+ q(0302) => q(nv),
+ q(0303) => q(nr),
+ q(0304) => q(nd),
+ q(0305) => q(ng),
+ q(0307) => q(ne),
+ q(0312) => q(nn),
+ q(0313) => q(nb),
+ q(0316) => q(no),
+ q(0321) => q(ny),
+ q(0326) => q(oc),
+ q(0327) => q(oj),
+ q(0328) => q(or),
+ q(0329) => q(om),
+ q(0331) => q(os),
+ q(0338) => q(pa),
+ q(0342) => q(fa),
+ q(0345) => q(pi),
+ q(0346) => q(pl),
+ q(0348) => q(pt),
+ q(0351) => q(ps),
+ q(0353) => q(qu),
+ q(0358) => q(rm),
+ q(0360) => q(ro),
+ q(0361) => q(rn),
+ q(0363) => q(ru),
+ q(0365) => q(sg),
+ q(0370) => q(sa),
+ q(0381) => q(si),
+ q(0385) => q(sk),
+ q(0386) => q(sl),
+ q(0388) => q(se),
+ q(0392) => q(sm),
+ q(0394) => q(sn),
+ q(0395) => q(sd),
+ q(0398) => q(so),
+ q(0400) => q(st),
+ q(0401) => q(es),
+ q(0402) => q(sc),
+ q(0404) => q(sr),
+ q(0407) => q(ss),
+ q(0409) => q(su),
+ q(0412) => q(sw),
+ q(0413) => q(sv),
+ q(0416) => q(ty),
+ q(0418) => q(ta),
+ q(0419) => q(tt),
+ q(0420) => q(te),
+ q(0424) => q(tg),
+ q(0425) => q(tl),
+ q(0426) => q(th),
+ q(0427) => q(bo),
+ q(0429) => q(ti),
+ q(0436) => q(to),
+ q(0439) => q(tn),
+ q(0440) => q(ts),
+ q(0441) => q(tk),
+ q(0444) => q(tr),
+ q(0447) => q(tw),
+ q(0451) => q(ug),
+ q(0452) => q(uk),
+ q(0455) => q(ur),
+ q(0456) => q(uz),
+ q(0458) => q(ve),
+ q(0459) => q(vi),
+ q(0460) => q(vo),
+ q(0466) => q(cy),
+ q(0468) => q(wa),
+ q(0469) => q(wo),
+ q(0471) => q(xh),
+ q(0474) => q(yi),
+ q(0475) => q(yo),
+ q(0480) => q(za),
+ q(0482) => q(zu),
+ q(0536) => q(sh),
+ },
+ q(alpha-3) => {
+ q(0001) => q(aar),
+ q(0002) => q(abk),
+ q(0003) => q(ace),
+ q(0004) => q(ach),
+ q(0005) => q(ada),
+ q(0006) => q(ady),
+ q(0007) => q(afa),
+ q(0008) => q(afh),
+ q(0009) => q(afr),
+ q(0010) => q(ain),
+ q(0011) => q(aka),
+ q(0012) => q(akk),
+ q(0013) => q(alb),
+ q(0014) => q(ale),
+ q(0015) => q(alg),
+ q(0016) => q(alt),
+ q(0017) => q(amh),
+ q(0018) => q(ang),
+ q(0019) => q(anp),
+ q(0020) => q(apa),
+ q(0021) => q(ara),
+ q(0022) => q(arc),
+ q(0023) => q(arg),
+ q(0024) => q(arm),
+ q(0025) => q(arn),
+ q(0026) => q(arp),
+ q(0027) => q(art),
+ q(0028) => q(arw),
+ q(0029) => q(asm),
+ q(0030) => q(ast),
+ q(0031) => q(ath),
+ q(0032) => q(aus),
+ q(0033) => q(ava),
+ q(0034) => q(ave),
+ q(0035) => q(awa),
+ q(0036) => q(aym),
+ q(0037) => q(aze),
+ q(0038) => q(bad),
+ q(0039) => q(bai),
+ q(0040) => q(bak),
+ q(0041) => q(bal),
+ q(0042) => q(bam),
+ q(0043) => q(ban),
+ q(0044) => q(baq),
+ q(0045) => q(bas),
+ q(0046) => q(bat),
+ q(0047) => q(bej),
+ q(0048) => q(bel),
+ q(0049) => q(bem),
+ q(0050) => q(ben),
+ q(0051) => q(ber),
+ q(0052) => q(bho),
+ q(0053) => q(bih),
+ q(0054) => q(bik),
+ q(0055) => q(bin),
+ q(0056) => q(bis),
+ q(0057) => q(bla),
+ q(0058) => q(bnt),
+ q(0059) => q(bos),
+ q(0060) => q(bra),
+ q(0061) => q(bre),
+ q(0062) => q(btk),
+ q(0063) => q(bua),
+ q(0064) => q(bug),
+ q(0065) => q(bul),
+ q(0066) => q(bur),
+ q(0067) => q(byn),
+ q(0068) => q(cad),
+ q(0069) => q(cai),
+ q(0070) => q(car),
+ q(0071) => q(cat),
+ q(0072) => q(cau),
+ q(0073) => q(ceb),
+ q(0074) => q(cel),
+ q(0075) => q(cha),
+ q(0076) => q(chb),
+ q(0077) => q(che),
+ q(0078) => q(chg),
+ q(0079) => q(chi),
+ q(0080) => q(chk),
+ q(0081) => q(chm),
+ q(0082) => q(chn),
+ q(0083) => q(cho),
+ q(0084) => q(chp),
+ q(0085) => q(chr),
+ q(0086) => q(chu),
+ q(0087) => q(chv),
+ q(0088) => q(chy),
+ q(0089) => q(cmc),
+ q(0090) => q(cop),
+ q(0091) => q(cor),
+ q(0092) => q(cos),
+ q(0093) => q(cpe),
+ q(0094) => q(cpf),
+ q(0095) => q(cpp),
+ q(0096) => q(cre),
+ q(0097) => q(crh),
+ q(0098) => q(crp),
+ q(0099) => q(csb),
+ q(0100) => q(cus),
+ q(0101) => q(cze),
+ q(0102) => q(dak),
+ q(0103) => q(dan),
+ q(0104) => q(dar),
+ q(0105) => q(day),
+ q(0106) => q(del),
+ q(0107) => q(den),
+ q(0108) => q(dgr),
+ q(0109) => q(din),
+ q(0110) => q(div),
+ q(0111) => q(doi),
+ q(0112) => q(dra),
+ q(0113) => q(dsb),
+ q(0114) => q(dua),
+ q(0115) => q(dum),
+ q(0116) => q(dut),
+ q(0117) => q(dyu),
+ q(0118) => q(dzo),
+ q(0119) => q(efi),
+ q(0120) => q(egy),
+ q(0121) => q(eka),
+ q(0122) => q(elx),
+ q(0123) => q(eng),
+ q(0124) => q(enm),
+ q(0125) => q(epo),
+ q(0126) => q(est),
+ q(0127) => q(ewe),
+ q(0128) => q(ewo),
+ q(0129) => q(fan),
+ q(0130) => q(fao),
+ q(0131) => q(fat),
+ q(0132) => q(fij),
+ q(0133) => q(fil),
+ q(0134) => q(fin),
+ q(0135) => q(fiu),
+ q(0136) => q(fon),
+ q(0137) => q(fre),
+ q(0138) => q(frm),
+ q(0139) => q(fro),
+ q(0140) => q(frr),
+ q(0141) => q(frs),
+ q(0142) => q(fry),
+ q(0143) => q(ful),
+ q(0144) => q(fur),
+ q(0145) => q(gaa),
+ q(0146) => q(gay),
+ q(0147) => q(gba),
+ q(0148) => q(gem),
+ q(0149) => q(geo),
+ q(0150) => q(ger),
+ q(0151) => q(gez),
+ q(0152) => q(gil),
+ q(0153) => q(gla),
+ q(0154) => q(gle),
+ q(0155) => q(glg),
+ q(0156) => q(glv),
+ q(0157) => q(gmh),
+ q(0158) => q(goh),
+ q(0159) => q(gon),
+ q(0160) => q(gor),
+ q(0161) => q(got),
+ q(0162) => q(grb),
+ q(0163) => q(grc),
+ q(0164) => q(gre),
+ q(0165) => q(grn),
+ q(0166) => q(gsw),
+ q(0167) => q(guj),
+ q(0168) => q(gwi),
+ q(0169) => q(hai),
+ q(0170) => q(hat),
+ q(0171) => q(hau),
+ q(0172) => q(haw),
+ q(0173) => q(heb),
+ q(0174) => q(her),
+ q(0175) => q(hil),
+ q(0176) => q(him),
+ q(0177) => q(hin),
+ q(0178) => q(hit),
+ q(0179) => q(hmn),
+ q(0180) => q(hmo),
+ q(0181) => q(hrv),
+ q(0182) => q(hsb),
+ q(0183) => q(hun),
+ q(0184) => q(hup),
+ q(0185) => q(iba),
+ q(0186) => q(ibo),
+ q(0187) => q(ice),
+ q(0188) => q(ido),
+ q(0189) => q(iii),
+ q(0190) => q(ijo),
+ q(0191) => q(iku),
+ q(0192) => q(ile),
+ q(0193) => q(ilo),
+ q(0194) => q(ina),
+ q(0195) => q(inc),
+ q(0196) => q(ind),
+ q(0197) => q(ine),
+ q(0198) => q(inh),
+ q(0199) => q(ipk),
+ q(0200) => q(ira),
+ q(0201) => q(iro),
+ q(0202) => q(ita),
+ q(0203) => q(jav),
+ q(0204) => q(jbo),
+ q(0205) => q(jpn),
+ q(0206) => q(jpr),
+ q(0207) => q(jrb),
+ q(0208) => q(kaa),
+ q(0209) => q(kab),
+ q(0210) => q(kac),
+ q(0211) => q(kal),
+ q(0212) => q(kam),
+ q(0213) => q(kan),
+ q(0214) => q(kar),
+ q(0215) => q(kas),
+ q(0216) => q(kau),
+ q(0217) => q(kaw),
+ q(0218) => q(kaz),
+ q(0219) => q(kbd),
+ q(0220) => q(kha),
+ q(0221) => q(khi),
+ q(0222) => q(khm),
+ q(0223) => q(kho),
+ q(0224) => q(kik),
+ q(0225) => q(kin),
+ q(0226) => q(kir),
+ q(0227) => q(kmb),
+ q(0228) => q(kok),
+ q(0229) => q(kom),
+ q(0230) => q(kon),
+ q(0231) => q(kor),
+ q(0232) => q(kos),
+ q(0233) => q(kpe),
+ q(0234) => q(krc),
+ q(0235) => q(krl),
+ q(0236) => q(kro),
+ q(0237) => q(kru),
+ q(0238) => q(kua),
+ q(0239) => q(kum),
+ q(0240) => q(kur),
+ q(0241) => q(kut),
+ q(0242) => q(lad),
+ q(0243) => q(lah),
+ q(0244) => q(lam),
+ q(0245) => q(lao),
+ q(0246) => q(lat),
+ q(0247) => q(lav),
+ q(0248) => q(lez),
+ q(0249) => q(lim),
+ q(0250) => q(lin),
+ q(0251) => q(lit),
+ q(0252) => q(lol),
+ q(0253) => q(loz),
+ q(0254) => q(ltz),
+ q(0255) => q(lua),
+ q(0256) => q(lub),
+ q(0257) => q(lug),
+ q(0258) => q(lui),
+ q(0259) => q(lun),
+ q(0260) => q(luo),
+ q(0261) => q(lus),
+ q(0262) => q(mac),
+ q(0263) => q(mad),
+ q(0264) => q(mag),
+ q(0265) => q(mah),
+ q(0266) => q(mai),
+ q(0267) => q(mak),
+ q(0268) => q(mal),
+ q(0269) => q(man),
+ q(0270) => q(mao),
+ q(0271) => q(map),
+ q(0272) => q(mar),
+ q(0273) => q(mas),
+ q(0274) => q(may),
+ q(0275) => q(mdf),
+ q(0276) => q(mdr),
+ q(0277) => q(men),
+ q(0278) => q(mga),
+ q(0279) => q(mic),
+ q(0280) => q(min),
+ q(0281) => q(mis),
+ q(0282) => q(mkh),
+ q(0283) => q(mlg),
+ q(0284) => q(mlt),
+ q(0285) => q(mnc),
+ q(0286) => q(mni),
+ q(0287) => q(mno),
+ q(0288) => q(moh),
+ q(0289) => q(mon),
+ q(0290) => q(mos),
+ q(0291) => q(mul),
+ q(0292) => q(mun),
+ q(0293) => q(mus),
+ q(0294) => q(mwl),
+ q(0295) => q(mwr),
+ q(0296) => q(myn),
+ q(0297) => q(myv),
+ q(0298) => q(nah),
+ q(0299) => q(nai),
+ q(0300) => q(nap),
+ q(0301) => q(nau),
+ q(0302) => q(nav),
+ q(0303) => q(nbl),
+ q(0304) => q(nde),
+ q(0305) => q(ndo),
+ q(0306) => q(nds),
+ q(0307) => q(nep),
+ q(0308) => q(new),
+ q(0309) => q(nia),
+ q(0310) => q(nic),
+ q(0311) => q(niu),
+ q(0312) => q(nno),
+ q(0313) => q(nob),
+ q(0314) => q(nog),
+ q(0315) => q(non),
+ q(0316) => q(nor),
+ q(0317) => q(nqo),
+ q(0318) => q(nso),
+ q(0319) => q(nub),
+ q(0320) => q(nwc),
+ q(0321) => q(nya),
+ q(0322) => q(nym),
+ q(0323) => q(nyn),
+ q(0324) => q(nyo),
+ q(0325) => q(nzi),
+ q(0326) => q(oci),
+ q(0327) => q(oji),
+ q(0328) => q(ori),
+ q(0329) => q(orm),
+ q(0330) => q(osa),
+ q(0331) => q(oss),
+ q(0332) => q(ota),
+ q(0333) => q(oto),
+ q(0334) => q(paa),
+ q(0335) => q(pag),
+ q(0336) => q(pal),
+ q(0337) => q(pam),
+ q(0338) => q(pan),
+ q(0339) => q(pap),
+ q(0340) => q(pau),
+ q(0341) => q(peo),
+ q(0342) => q(per),
+ q(0343) => q(phi),
+ q(0344) => q(phn),
+ q(0345) => q(pli),
+ q(0346) => q(pol),
+ q(0347) => q(pon),
+ q(0348) => q(por),
+ q(0349) => q(pra),
+ q(0350) => q(pro),
+ q(0351) => q(pus),
+ q(0352) => q(qtz),
+ q(0353) => q(que),
+ q(0354) => q(raj),
+ q(0355) => q(rap),
+ q(0356) => q(rar),
+ q(0357) => q(roa),
+ q(0358) => q(roh),
+ q(0359) => q(rom),
+ q(0360) => q(rum),
+ q(0361) => q(run),
+ q(0362) => q(rup),
+ q(0363) => q(rus),
+ q(0364) => q(sad),
+ q(0365) => q(sag),
+ q(0366) => q(sah),
+ q(0367) => q(sai),
+ q(0368) => q(sal),
+ q(0369) => q(sam),
+ q(0370) => q(san),
+ q(0371) => q(sas),
+ q(0372) => q(sat),
+ q(0373) => q(scn),
+ q(0374) => q(sco),
+ q(0375) => q(sel),
+ q(0376) => q(sem),
+ q(0377) => q(sga),
+ q(0378) => q(sgn),
+ q(0379) => q(shn),
+ q(0380) => q(sid),
+ q(0381) => q(sin),
+ q(0382) => q(sio),
+ q(0383) => q(sit),
+ q(0384) => q(sla),
+ q(0385) => q(slo),
+ q(0386) => q(slv),
+ q(0387) => q(sma),
+ q(0388) => q(sme),
+ q(0389) => q(smi),
+ q(0390) => q(smj),
+ q(0391) => q(smn),
+ q(0392) => q(smo),
+ q(0393) => q(sms),
+ q(0394) => q(sna),
+ q(0395) => q(snd),
+ q(0396) => q(snk),
+ q(0397) => q(sog),
+ q(0398) => q(som),
+ q(0399) => q(son),
+ q(0400) => q(sot),
+ q(0401) => q(spa),
+ q(0402) => q(srd),
+ q(0403) => q(srn),
+ q(0404) => q(srp),
+ q(0405) => q(srr),
+ q(0406) => q(ssa),
+ q(0407) => q(ssw),
+ q(0408) => q(suk),
+ q(0409) => q(sun),
+ q(0410) => q(sus),
+ q(0411) => q(sux),
+ q(0412) => q(swa),
+ q(0413) => q(swe),
+ q(0414) => q(syc),
+ q(0415) => q(syr),
+ q(0416) => q(tah),
+ q(0417) => q(tai),
+ q(0418) => q(tam),
+ q(0419) => q(tat),
+ q(0420) => q(tel),
+ q(0421) => q(tem),
+ q(0422) => q(ter),
+ q(0423) => q(tet),
+ q(0424) => q(tgk),
+ q(0425) => q(tgl),
+ q(0426) => q(tha),
+ q(0427) => q(tib),
+ q(0428) => q(tig),
+ q(0429) => q(tir),
+ q(0430) => q(tiv),
+ q(0431) => q(tkl),
+ q(0432) => q(tlh),
+ q(0433) => q(tli),
+ q(0434) => q(tmh),
+ q(0435) => q(tog),
+ q(0436) => q(ton),
+ q(0437) => q(tpi),
+ q(0438) => q(tsi),
+ q(0439) => q(tsn),
+ q(0440) => q(tso),
+ q(0441) => q(tuk),
+ q(0442) => q(tum),
+ q(0443) => q(tup),
+ q(0444) => q(tur),
+ q(0445) => q(tut),
+ q(0446) => q(tvl),
+ q(0447) => q(twi),
+ q(0448) => q(tyv),
+ q(0449) => q(udm),
+ q(0450) => q(uga),
+ q(0451) => q(uig),
+ q(0452) => q(ukr),
+ q(0453) => q(umb),
+ q(0454) => q(und),
+ q(0455) => q(urd),
+ q(0456) => q(uzb),
+ q(0457) => q(vai),
+ q(0458) => q(ven),
+ q(0459) => q(vie),
+ q(0460) => q(vol),
+ q(0461) => q(vot),
+ q(0462) => q(wak),
+ q(0463) => q(wal),
+ q(0464) => q(war),
+ q(0465) => q(was),
+ q(0466) => q(wel),
+ q(0467) => q(wen),
+ q(0468) => q(wln),
+ q(0469) => q(wol),
+ q(0470) => q(xal),
+ q(0471) => q(xho),
+ q(0472) => q(yao),
+ q(0473) => q(yap),
+ q(0474) => q(yid),
+ q(0475) => q(yor),
+ q(0476) => q(ypk),
+ q(0477) => q(zap),
+ q(0478) => q(zbl),
+ q(0479) => q(zen),
+ q(0480) => q(zha),
+ q(0481) => q(znd),
+ q(0482) => q(zul),
+ q(0483) => q(zun),
+ q(0484) => q(zxx),
+ q(0485) => q(zza),
+ q(0486) => q(aav),
+ q(0487) => q(alv),
+ q(0488) => q(aqa),
+ q(0489) => q(aql),
+ q(0490) => q(auf),
+ q(0491) => q(awd),
+ q(0492) => q(azc),
+ q(0493) => q(cba),
+ q(0494) => q(ccn),
+ q(0495) => q(ccs),
+ q(0496) => q(cdc),
+ q(0497) => q(cdd),
+ q(0498) => q(csu),
+ q(0499) => q(dmn),
+ q(0500) => q(egx),
+ q(0501) => q(esx),
+ q(0502) => q(euq),
+ q(0503) => q(fox),
+ q(0504) => q(gme),
+ q(0505) => q(gmq),
+ q(0506) => q(gmw),
+ q(0507) => q(grk),
+ q(0508) => q(hmx),
+ q(0509) => q(hok),
+ q(0510) => q(hyx),
+ q(0511) => q(iir),
+ q(0512) => q(itc),
+ q(0513) => q(jpx),
+ q(0514) => q(kdo),
+ q(0515) => q(ngf),
+ q(0516) => q(omq),
+ q(0517) => q(omv),
+ q(0518) => q(plf),
+ q(0519) => q(poz),
+ q(0520) => q(pqe),
+ q(0521) => q(pqw),
+ q(0522) => q(qwe),
+ q(0523) => q(sdv),
+ q(0524) => q(sqj),
+ q(0525) => q(syd),
+ q(0526) => q(tbq),
+ q(0527) => q(trk),
+ q(0528) => q(tuw),
+ q(0529) => q(urj),
+ q(0530) => q(xgn),
+ q(0531) => q(xnd),
+ q(0532) => q(zhx),
+ q(0533) => q(zle),
+ q(0534) => q(zls),
+ q(0535) => q(zlw),
+ q(0537) => q(aaa),
+ q(0538) => q(aab),
+ q(0539) => q(aac),
+ q(0540) => q(aad),
+ q(0541) => q(aae),
+ q(0542) => q(aaf),
+ q(0543) => q(aag),
+ q(0544) => q(aah),
+ q(0545) => q(aai),
+ q(0546) => q(aak),
+ q(0547) => q(aal),
+ q(0548) => q(aam),
+ q(0549) => q(aan),
+ q(0550) => q(aao),
+ q(0551) => q(aap),
+ q(0552) => q(aaq),
+ q(0553) => q(aas),
+ q(0554) => q(aat),
+ q(0555) => q(aau),
+ q(0556) => q(aaw),
+ q(0557) => q(aax),
+ q(0558) => q(aaz),
+ q(0559) => q(aba),
+ q(0560) => q(abb),
+ q(0561) => q(abc),
+ q(0562) => q(abd),
+ q(0563) => q(abe),
+ q(0564) => q(abf),
+ q(0565) => q(abg),
+ q(0566) => q(abh),
+ q(0567) => q(abi),
+ q(0568) => q(abj),
+ q(0569) => q(abl),
+ q(0570) => q(abm),
+ q(0571) => q(abn),
+ q(0572) => q(abo),
+ q(0573) => q(abp),
+ q(0574) => q(abq),
+ q(0575) => q(abr),
+ q(0576) => q(abs),
+ q(0577) => q(abt),
+ q(0578) => q(abu),
+ q(0579) => q(abv),
+ q(0580) => q(abw),
+ q(0581) => q(abx),
+ q(0582) => q(aby),
+ q(0583) => q(abz),
+ q(0584) => q(aca),
+ q(0585) => q(acb),
+ q(0586) => q(acd),
+ q(0587) => q(acf),
+ q(0588) => q(aci),
+ q(0589) => q(ack),
+ q(0590) => q(acl),
+ q(0591) => q(acm),
+ q(0592) => q(acn),
+ q(0593) => q(acp),
+ q(0594) => q(acq),
+ q(0595) => q(acr),
+ q(0596) => q(acs),
+ q(0597) => q(act),
+ q(0598) => q(acu),
+ q(0599) => q(acv),
+ q(0600) => q(acw),
+ q(0601) => q(acx),
+ q(0602) => q(acy),
+ q(0603) => q(acz),
+ q(0604) => q(adb),
+ q(0605) => q(add),
+ q(0606) => q(ade),
+ q(0607) => q(adf),
+ q(0608) => q(adg),
+ q(0609) => q(adh),
+ q(0610) => q(adi),
+ q(0611) => q(adj),
+ q(0612) => q(adl),
+ q(0613) => q(adn),
+ q(0614) => q(ado),
+ q(0615) => q(adp),
+ q(0616) => q(adq),
+ q(0617) => q(adr),
+ q(0618) => q(ads),
+ q(0619) => q(adt),
+ q(0620) => q(adu),
+ q(0621) => q(adw),
+ q(0622) => q(adx),
+ q(0623) => q(adz),
+ q(0624) => q(aea),
+ q(0625) => q(aeb),
+ q(0626) => q(aec),
+ q(0627) => q(aed),
+ q(0628) => q(aee),
+ q(0629) => q(aek),
+ q(0630) => q(ael),
+ q(0631) => q(aem),
+ q(0632) => q(aen),
+ q(0633) => q(aeq),
+ q(0634) => q(aer),
+ q(0635) => q(aes),
+ q(0636) => q(aeu),
+ q(0637) => q(aew),
+ q(0638) => q(aey),
+ q(0639) => q(aez),
+ q(0640) => q(afb),
+ q(0641) => q(afd),
+ q(0642) => q(afe),
+ q(0643) => q(afg),
+ q(0644) => q(afi),
+ q(0645) => q(afk),
+ q(0646) => q(afn),
+ q(0647) => q(afo),
+ q(0648) => q(afp),
+ q(0649) => q(afs),
+ q(0650) => q(aft),
+ q(0651) => q(afu),
+ q(0652) => q(afz),
+ q(0653) => q(aga),
+ q(0654) => q(agb),
+ q(0655) => q(agc),
+ q(0656) => q(agd),
+ q(0657) => q(age),
+ q(0658) => q(agf),
+ q(0659) => q(agg),
+ q(0660) => q(agh),
+ q(0661) => q(agi),
+ q(0662) => q(agj),
+ q(0663) => q(agk),
+ q(0664) => q(agl),
+ q(0665) => q(agm),
+ q(0666) => q(agn),
+ q(0667) => q(ago),
+ q(0668) => q(agq),
+ q(0669) => q(agr),
+ q(0670) => q(ags),
+ q(0671) => q(agt),
+ q(0672) => q(agu),
+ q(0673) => q(agv),
+ q(0674) => q(agw),
+ q(0675) => q(agx),
+ q(0676) => q(agy),
+ q(0677) => q(agz),
+ q(0678) => q(aha),
+ q(0679) => q(ahb),
+ q(0680) => q(ahg),
+ q(0681) => q(ahh),
+ q(0682) => q(ahi),
+ q(0683) => q(ahk),
+ q(0684) => q(ahl),
+ q(0685) => q(ahm),
+ q(0686) => q(ahn),
+ q(0687) => q(aho),
+ q(0688) => q(ahp),
+ q(0689) => q(ahr),
+ q(0690) => q(ahs),
+ q(0691) => q(aht),
+ q(0692) => q(aia),
+ q(0693) => q(aib),
+ q(0694) => q(aic),
+ q(0695) => q(aid),
+ q(0696) => q(aie),
+ q(0697) => q(aif),
+ q(0698) => q(aig),
+ q(0699) => q(aih),
+ q(0700) => q(aii),
+ q(0701) => q(aij),
+ q(0702) => q(aik),
+ q(0703) => q(ail),
+ q(0704) => q(aim),
+ q(0705) => q(aio),
+ q(0706) => q(aip),
+ q(0707) => q(aiq),
+ q(0708) => q(air),
+ q(0709) => q(ais),
+ q(0710) => q(ait),
+ q(0711) => q(aiw),
+ q(0712) => q(aix),
+ q(0713) => q(aiy),
+ q(0714) => q(aja),
+ q(0715) => q(ajg),
+ q(0716) => q(aji),
+ q(0717) => q(ajp),
+ q(0718) => q(ajt),
+ q(0719) => q(aju),
+ q(0720) => q(ajw),
+ q(0721) => q(ajz),
+ q(0722) => q(akb),
+ q(0723) => q(akc),
+ q(0724) => q(akd),
+ q(0725) => q(ake),
+ q(0726) => q(akf),
+ q(0727) => q(akg),
+ q(0728) => q(akh),
+ q(0729) => q(aki),
+ q(0730) => q(akj),
+ q(0731) => q(akl),
+ q(0732) => q(akm),
+ q(0733) => q(ako),
+ q(0734) => q(akp),
+ q(0735) => q(akq),
+ q(0736) => q(akr),
+ q(0737) => q(aks),
+ q(0738) => q(akt),
+ q(0739) => q(aku),
+ q(0740) => q(akv),
+ q(0741) => q(akw),
+ q(0742) => q(akx),
+ q(0743) => q(aky),
+ q(0744) => q(akz),
+ q(0745) => q(ala),
+ q(0746) => q(alc),
+ q(0747) => q(ald),
+ q(0748) => q(alf),
+ q(0749) => q(alh),
+ q(0750) => q(ali),
+ q(0751) => q(alj),
+ q(0752) => q(alk),
+ q(0753) => q(all),
+ q(0754) => q(alm),
+ q(0755) => q(aln),
+ q(0756) => q(alo),
+ q(0757) => q(alp),
+ q(0758) => q(alq),
+ q(0759) => q(alr),
+ q(0760) => q(als),
+ q(0761) => q(alu),
+ q(0762) => q(alw),
+ q(0763) => q(alx),
+ q(0764) => q(aly),
+ q(0765) => q(alz),
+ q(0766) => q(ama),
+ q(0767) => q(amb),
+ q(0768) => q(amc),
+ q(0769) => q(ame),
+ q(0770) => q(amf),
+ q(0771) => q(amg),
+ q(0772) => q(ami),
+ q(0773) => q(amj),
+ q(0774) => q(amk),
+ q(0775) => q(aml),
+ q(0776) => q(amm),
+ q(0777) => q(amn),
+ q(0778) => q(amo),
+ q(0779) => q(amp),
+ q(0780) => q(amq),
+ q(0781) => q(amr),
+ q(0782) => q(ams),
+ q(0783) => q(amt),
+ q(0784) => q(amu),
+ q(0785) => q(amv),
+ q(0786) => q(amw),
+ q(0787) => q(amx),
+ q(0788) => q(amy),
+ q(0789) => q(amz),
+ q(0790) => q(ana),
+ q(0791) => q(anb),
+ q(0792) => q(anc),
+ q(0793) => q(and),
+ q(0794) => q(ane),
+ q(0795) => q(anf),
+ q(0796) => q(anh),
+ q(0797) => q(ani),
+ q(0798) => q(anj),
+ q(0799) => q(ank),
+ q(0800) => q(anl),
+ q(0801) => q(anm),
+ q(0802) => q(ann),
+ q(0803) => q(ano),
+ q(0804) => q(anq),
+ q(0805) => q(anr),
+ q(0806) => q(ans),
+ q(0807) => q(ant),
+ q(0808) => q(anu),
+ q(0809) => q(anv),
+ q(0810) => q(anw),
+ q(0811) => q(anx),
+ q(0812) => q(any),
+ q(0813) => q(anz),
+ q(0814) => q(aoa),
+ q(0815) => q(aob),
+ q(0816) => q(aoc),
+ q(0817) => q(aod),
+ q(0818) => q(aoe),
+ q(0819) => q(aof),
+ q(0820) => q(aog),
+ q(0821) => q(aoh),
+ q(0822) => q(aoi),
+ q(0823) => q(aoj),
+ q(0824) => q(aok),
+ q(0825) => q(aol),
+ q(0826) => q(aom),
+ q(0827) => q(aon),
+ q(0828) => q(aor),
+ q(0829) => q(aos),
+ q(0830) => q(aot),
+ q(0831) => q(aox),
+ q(0832) => q(aoz),
+ q(0833) => q(apb),
+ q(0834) => q(apc),
+ q(0835) => q(apd),
+ q(0836) => q(ape),
+ q(0837) => q(apf),
+ q(0838) => q(apg),
+ q(0839) => q(aph),
+ q(0840) => q(api),
+ q(0841) => q(apj),
+ q(0842) => q(apk),
+ q(0843) => q(apl),
+ q(0844) => q(apm),
+ q(0845) => q(apn),
+ q(0846) => q(apo),
+ q(0847) => q(app),
+ q(0848) => q(apq),
+ q(0849) => q(apr),
+ q(0850) => q(aps),
+ q(0851) => q(apt),
+ q(0852) => q(apu),
+ q(0853) => q(apv),
+ q(0854) => q(apw),
+ q(0855) => q(apx),
+ q(0856) => q(apy),
+ q(0857) => q(apz),
+ q(0858) => q(aqc),
+ q(0859) => q(aqd),
+ q(0860) => q(aqg),
+ q(0861) => q(aqm),
+ q(0862) => q(aqn),
+ q(0863) => q(aqp),
+ q(0864) => q(aqr),
+ q(0865) => q(aqz),
+ q(0866) => q(arb),
+ q(0867) => q(ard),
+ q(0868) => q(are),
+ q(0869) => q(arh),
+ q(0870) => q(ari),
+ q(0871) => q(arj),
+ q(0872) => q(ark),
+ q(0873) => q(arl),
+ q(0874) => q(aro),
+ q(0875) => q(arq),
+ q(0876) => q(arr),
+ q(0877) => q(ars),
+ q(0878) => q(aru),
+ q(0879) => q(arv),
+ q(0880) => q(arx),
+ q(0881) => q(ary),
+ q(0882) => q(arz),
+ q(0883) => q(asa),
+ q(0884) => q(asb),
+ q(0885) => q(asc),
+ q(0886) => q(asd),
+ q(0887) => q(ase),
+ q(0888) => q(asf),
+ q(0889) => q(asg),
+ q(0890) => q(ash),
+ q(0891) => q(asi),
+ q(0892) => q(asj),
+ q(0893) => q(ask),
+ q(0894) => q(asl),
+ q(0895) => q(asn),
+ q(0896) => q(aso),
+ q(0897) => q(asp),
+ q(0898) => q(asq),
+ q(0899) => q(asr),
+ q(0900) => q(ass),
+ q(0901) => q(asu),
+ q(0902) => q(asv),
+ q(0903) => q(asw),
+ q(0904) => q(asx),
+ q(0905) => q(asy),
+ q(0906) => q(asz),
+ q(0907) => q(ata),
+ q(0908) => q(atb),
+ q(0909) => q(atc),
+ q(0910) => q(atd),
+ q(0911) => q(ate),
+ q(0912) => q(atg),
+ q(0913) => q(ati),
+ q(0914) => q(atj),
+ q(0915) => q(atk),
+ q(0916) => q(atl),
+ q(0917) => q(atm),
+ q(0918) => q(atn),
+ q(0919) => q(ato),
+ q(0920) => q(atp),
+ q(0921) => q(atq),
+ q(0922) => q(atr),
+ q(0923) => q(ats),
+ q(0924) => q(att),
+ q(0925) => q(atu),
+ q(0926) => q(atv),
+ q(0927) => q(atw),
+ q(0928) => q(atx),
+ q(0929) => q(aty),
+ q(0930) => q(atz),
+ q(0931) => q(aua),
+ q(0932) => q(aub),
+ q(0933) => q(auc),
+ q(0934) => q(aud),
+ q(0935) => q(aue),
+ q(0936) => q(aug),
+ q(0937) => q(auh),
+ q(0938) => q(aui),
+ q(0939) => q(auj),
+ q(0940) => q(auk),
+ q(0941) => q(aul),
+ q(0942) => q(aum),
+ q(0943) => q(aun),
+ q(0944) => q(auo),
+ q(0945) => q(aup),
+ q(0946) => q(auq),
+ q(0947) => q(aur),
+ q(0948) => q(aut),
+ q(0949) => q(auu),
+ q(0950) => q(auw),
+ q(0951) => q(aux),
+ q(0952) => q(auy),
+ q(0953) => q(auz),
+ q(0954) => q(avb),
+ q(0955) => q(avd),
+ q(0956) => q(avi),
+ q(0957) => q(avk),
+ q(0958) => q(avl),
+ q(0959) => q(avn),
+ q(0960) => q(avo),
+ q(0961) => q(avs),
+ q(0962) => q(avt),
+ q(0963) => q(avu),
+ q(0964) => q(avv),
+ q(0965) => q(awb),
+ q(0966) => q(awc),
+ q(0967) => q(awe),
+ q(0968) => q(awh),
+ q(0969) => q(awi),
+ q(0970) => q(awk),
+ q(0971) => q(awm),
+ q(0972) => q(awn),
+ q(0973) => q(awo),
+ q(0974) => q(awr),
+ q(0975) => q(aws),
+ q(0976) => q(awt),
+ q(0977) => q(awu),
+ q(0978) => q(awv),
+ q(0979) => q(aww),
+ q(0980) => q(awx),
+ q(0981) => q(awy),
+ q(0982) => q(axb),
+ q(0983) => q(axg),
+ q(0984) => q(axk),
+ q(0985) => q(axm),
+ q(0986) => q(axx),
+ q(0987) => q(aya),
+ q(0988) => q(ayb),
+ q(0989) => q(ayc),
+ q(0990) => q(ayd),
+ q(0991) => q(aye),
+ q(0992) => q(ayg),
+ q(0993) => q(ayh),
+ q(0994) => q(ayi),
+ q(0995) => q(ayk),
+ q(0996) => q(ayl),
+ q(0997) => q(ayn),
+ q(0998) => q(ayo),
+ q(0999) => q(ayp),
+ q(1000) => q(ayq),
+ q(1001) => q(ayr),
+ q(1002) => q(ays),
+ q(1003) => q(ayt),
+ q(1004) => q(ayu),
+ q(1005) => q(ayy),
+ q(1006) => q(ayz),
+ q(1007) => q(aza),
+ q(1008) => q(azb),
+ q(1009) => q(azg),
+ q(1010) => q(azj),
+ q(1011) => q(azm),
+ q(1012) => q(azo),
+ q(1013) => q(azt),
+ q(1014) => q(azz),
+ q(1015) => q(baa),
+ q(1016) => q(bab),
+ q(1017) => q(bac),
+ q(1018) => q(bae),
+ q(1019) => q(baf),
+ q(1020) => q(bag),
+ q(1021) => q(bah),
+ q(1022) => q(baj),
+ q(1023) => q(bao),
+ q(1024) => q(bap),
+ q(1025) => q(bar),
+ q(1026) => q(bau),
+ q(1027) => q(bav),
+ q(1028) => q(baw),
+ q(1029) => q(bax),
+ q(1030) => q(bay),
+ q(1031) => q(baz),
+ q(1032) => q(bba),
+ q(1033) => q(bbb),
+ q(1034) => q(bbc),
+ q(1035) => q(bbd),
+ q(1036) => q(bbe),
+ q(1037) => q(bbf),
+ q(1038) => q(bbg),
+ q(1039) => q(bbh),
+ q(1040) => q(bbi),
+ q(1041) => q(bbj),
+ q(1042) => q(bbk),
+ q(1043) => q(bbl),
+ q(1044) => q(bbm),
+ q(1045) => q(bbn),
+ q(1046) => q(bbo),
+ q(1047) => q(bbp),
+ q(1048) => q(bbq),
+ q(1049) => q(bbr),
+ q(1050) => q(bbs),
+ q(1051) => q(bbt),
+ q(1052) => q(bbu),
+ q(1053) => q(bbv),
+ q(1054) => q(bbw),
+ q(1055) => q(bbx),
+ q(1056) => q(bby),
+ q(1057) => q(bbz),
+ q(1058) => q(bca),
+ q(1059) => q(bcb),
+ q(1060) => q(bcc),
+ q(1061) => q(bcd),
+ q(1062) => q(bce),
+ q(1063) => q(bcf),
+ q(1064) => q(bcg),
+ q(1065) => q(bch),
+ q(1066) => q(bci),
+ q(1067) => q(bcj),
+ q(1068) => q(bck),
+ q(1069) => q(bcl),
+ q(1070) => q(bcm),
+ q(1071) => q(bcn),
+ q(1072) => q(bco),
+ q(1073) => q(bcp),
+ q(1074) => q(bcq),
+ q(1075) => q(bcr),
+ q(1076) => q(bcs),
+ q(1077) => q(bct),
+ q(1078) => q(bcu),
+ q(1079) => q(bcv),
+ q(1080) => q(bcw),
+ q(1081) => q(bcy),
+ q(1082) => q(bcz),
+ q(1083) => q(bda),
+ q(1084) => q(bdb),
+ q(1085) => q(bdc),
+ q(1086) => q(bdd),
+ q(1087) => q(bde),
+ q(1088) => q(bdf),
+ q(1089) => q(bdg),
+ q(1090) => q(bdh),
+ q(1091) => q(bdi),
+ q(1092) => q(bdj),
+ q(1093) => q(bdk),
+ q(1094) => q(bdl),
+ q(1095) => q(bdm),
+ q(1096) => q(bdn),
+ q(1097) => q(bdo),
+ q(1098) => q(bdp),
+ q(1099) => q(bdq),
+ q(1100) => q(bdr),
+ q(1101) => q(bds),
+ q(1102) => q(bdt),
+ q(1103) => q(bdu),
+ q(1104) => q(bdv),
+ q(1105) => q(bdw),
+ q(1106) => q(bdx),
+ q(1107) => q(bdy),
+ q(1108) => q(bdz),
+ q(1109) => q(bea),
+ q(1110) => q(beb),
+ q(1111) => q(bec),
+ q(1112) => q(bed),
+ q(1113) => q(bee),
+ q(1114) => q(bef),
+ q(1115) => q(beg),
+ q(1116) => q(beh),
+ q(1117) => q(bei),
+ q(1118) => q(bek),
+ q(1119) => q(beo),
+ q(1120) => q(bep),
+ q(1121) => q(beq),
+ q(1122) => q(bes),
+ q(1123) => q(bet),
+ q(1124) => q(beu),
+ q(1125) => q(bev),
+ q(1126) => q(bew),
+ q(1127) => q(bex),
+ q(1128) => q(bey),
+ q(1129) => q(bez),
+ q(1130) => q(mot),
+ q(1131) => q(bfb),
+ q(1132) => q(bfc),
+ q(1133) => q(bfd),
+ q(1134) => q(bfe),
+ q(1135) => q(bff),
+ q(1136) => q(bfg),
+ q(1137) => q(bfh),
+ q(1138) => q(bfi),
+ q(1139) => q(bfj),
+ q(1140) => q(bfk),
+ q(1141) => q(bfl),
+ q(1142) => q(bfm),
+ q(1143) => q(bfn),
+ q(1144) => q(bfo),
+ q(1145) => q(bfp),
+ q(1146) => q(bfq),
+ q(1147) => q(bfr),
+ q(1148) => q(bfs),
+ q(1149) => q(bft),
+ q(1150) => q(bfu),
+ q(1151) => q(bfw),
+ q(1152) => q(bfx),
+ q(1153) => q(bfy),
+ q(1154) => q(bfz),
+ q(1155) => q(bga),
+ q(1156) => q(bgb),
+ q(1157) => q(bgc),
+ q(1158) => q(bgd),
+ q(1159) => q(bge),
+ q(1160) => q(bgf),
+ q(1161) => q(bgg),
+ q(1162) => q(bgi),
+ q(1163) => q(bgj),
+ q(1164) => q(bgk),
+ q(1165) => q(bgl),
+ q(1166) => q(bgm),
+ q(1167) => q(bgn),
+ q(1168) => q(bgo),
+ q(1169) => q(bgp),
+ q(1170) => q(bgq),
+ q(1171) => q(bgr),
+ q(1172) => q(bgs),
+ q(1173) => q(bgt),
+ q(1174) => q(bgu),
+ q(1175) => q(bgv),
+ q(1176) => q(bgw),
+ q(1177) => q(bgx),
+ q(1178) => q(bgy),
+ q(1179) => q(bgz),
+ q(1180) => q(bha),
+ q(1181) => q(bhb),
+ q(1182) => q(bhc),
+ q(1183) => q(bhd),
+ q(1184) => q(bhe),
+ q(1185) => q(bhf),
+ q(1186) => q(bhg),
+ q(1187) => q(bhh),
+ q(1188) => q(bhi),
+ q(1189) => q(bhj),
+ q(1190) => q(bhl),
+ q(1191) => q(bhm),
+ q(1192) => q(bhn),
+ q(1193) => q(bhp),
+ q(1194) => q(bhq),
+ q(1195) => q(bhr),
+ q(1196) => q(bhs),
+ q(1197) => q(bht),
+ q(1198) => q(bhu),
+ q(1199) => q(bhv),
+ q(1200) => q(bhw),
+ q(1201) => q(bhx),
+ q(1202) => q(bhy),
+ q(1203) => q(bhz),
+ q(1204) => q(bia),
+ q(1205) => q(bib),
+ q(1206) => q(bic),
+ q(1207) => q(bid),
+ q(1208) => q(bie),
+ q(1209) => q(bif),
+ q(1210) => q(big),
+ q(1211) => q(bij),
+ q(1212) => q(bil),
+ q(1213) => q(bim),
+ q(1214) => q(bio),
+ q(1215) => q(bip),
+ q(1216) => q(biq),
+ q(1217) => q(bir),
+ q(1218) => q(bit),
+ q(1219) => q(biu),
+ q(1220) => q(biv),
+ q(1221) => q(biw),
+ q(1222) => q(bix),
+ q(1223) => q(biy),
+ q(1224) => q(biz),
+ q(1225) => q(bja),
+ q(1226) => q(bjb),
+ q(1227) => q(bjc),
+ q(1228) => q(bjd),
+ q(1229) => q(bje),
+ q(1230) => q(bjf),
+ q(1231) => q(bjg),
+ q(1232) => q(bjh),
+ q(1233) => q(bji),
+ q(1234) => q(bjj),
+ q(1235) => q(bjk),
+ q(1236) => q(bjl),
+ q(1237) => q(bjm),
+ q(1238) => q(bjn),
+ q(1239) => q(bjo),
+ q(1240) => q(bjr),
+ q(1241) => q(bjs),
+ q(1242) => q(bjt),
+ q(1243) => q(bju),
+ q(1244) => q(bjv),
+ q(1245) => q(bjw),
+ q(1246) => q(bjx),
+ q(1247) => q(bjy),
+ q(1248) => q(bjz),
+ q(1249) => q(bka),
+ q(1250) => q(bkc),
+ q(1251) => q(bkd),
+ q(1252) => q(bkf),
+ q(1253) => q(bkg),
+ q(1254) => q(bkh),
+ q(1255) => q(bki),
+ q(1256) => q(bkj),
+ q(1257) => q(bkk),
+ q(1258) => q(bkl),
+ q(1259) => q(bkm),
+ q(1260) => q(bkn),
+ q(1261) => q(bko),
+ q(1262) => q(bkp),
+ q(1263) => q(bkq),
+ q(1264) => q(bkr),
+ q(1265) => q(bks),
+ q(1266) => q(bkt),
+ q(1267) => q(bku),
+ q(1268) => q(bkv),
+ q(1269) => q(bkw),
+ q(1270) => q(bkx),
+ q(1271) => q(bky),
+ q(1272) => q(bkz),
+ q(1273) => q(blb),
+ q(1274) => q(blc),
+ q(1275) => q(bld),
+ q(1276) => q(ble),
+ q(1277) => q(blf),
+ q(1278) => q(blg),
+ q(1279) => q(blh),
+ q(1280) => q(bli),
+ q(1281) => q(blj),
+ q(1282) => q(blk),
+ q(1283) => q(bll),
+ q(1284) => q(blm),
+ q(1285) => q(bln),
+ q(1286) => q(blo),
+ q(1287) => q(blp),
+ q(1288) => q(blq),
+ q(1289) => q(blr),
+ q(1290) => q(bls),
+ q(1291) => q(blt),
+ q(1292) => q(blv),
+ q(1293) => q(blw),
+ q(1294) => q(blx),
+ q(1295) => q(bly),
+ q(1296) => q(blz),
+ q(1297) => q(bma),
+ q(1298) => q(bmb),
+ q(1299) => q(bmc),
+ q(1300) => q(bmd),
+ q(1301) => q(bme),
+ q(1302) => q(bmf),
+ q(1303) => q(bmg),
+ q(1304) => q(bmh),
+ q(1305) => q(bmi),
+ q(1306) => q(bmj),
+ q(1307) => q(bmk),
+ q(1308) => q(bml),
+ q(1309) => q(bmm),
+ q(1310) => q(bmn),
+ q(1311) => q(bmo),
+ q(1312) => q(bmp),
+ q(1313) => q(bmq),
+ q(1314) => q(bmr),
+ q(1315) => q(bms),
+ q(1316) => q(bmt),
+ q(1317) => q(bmu),
+ q(1318) => q(bmv),
+ q(1319) => q(bmw),
+ q(1320) => q(bmx),
+ q(1321) => q(bmy),
+ q(1322) => q(bmz),
+ q(1323) => q(bna),
+ q(1324) => q(bnb),
+ q(1325) => q(bnc),
+ q(1326) => q(bnd),
+ q(1327) => q(bne),
+ q(1328) => q(bnf),
+ q(1329) => q(bng),
+ q(1330) => q(bni),
+ q(1331) => q(bnj),
+ q(1332) => q(bnk),
+ q(1333) => q(bnl),
+ q(1334) => q(bnm),
+ q(1335) => q(bnn),
+ q(1336) => q(bno),
+ q(1337) => q(bnp),
+ q(1338) => q(bnq),
+ q(1339) => q(bnr),
+ q(1340) => q(bns),
+ q(1341) => q(bnu),
+ q(1342) => q(bnv),
+ q(1343) => q(bnw),
+ q(1344) => q(bnx),
+ q(1345) => q(bny),
+ q(1346) => q(bnz),
+ q(1347) => q(boa),
+ q(1348) => q(bob),
+ q(1349) => q(boe),
+ q(1350) => q(bof),
+ q(1351) => q(bog),
+ q(1352) => q(boh),
+ q(1353) => q(boi),
+ q(1354) => q(boj),
+ q(1355) => q(bok),
+ q(1356) => q(bol),
+ q(1357) => q(bom),
+ q(1358) => q(bon),
+ q(1359) => q(boo),
+ q(1360) => q(bop),
+ q(1361) => q(boq),
+ q(1362) => q(bor),
+ q(1363) => q(bot),
+ q(1364) => q(bou),
+ q(1365) => q(bov),
+ q(1366) => q(bow),
+ q(1367) => q(box),
+ q(1368) => q(boy),
+ q(1369) => q(boz),
+ q(1370) => q(bpa),
+ q(1371) => q(bpb),
+ q(1372) => q(bpd),
+ q(1373) => q(bpg),
+ q(1374) => q(bph),
+ q(1375) => q(bpi),
+ q(1376) => q(bpj),
+ q(1377) => q(bpk),
+ q(1378) => q(bpl),
+ q(1379) => q(bpm),
+ q(1380) => q(bpn),
+ q(1381) => q(bpo),
+ q(1382) => q(bpp),
+ q(1383) => q(bpq),
+ q(1384) => q(bpr),
+ q(1385) => q(bps),
+ q(1386) => q(bpt),
+ q(1387) => q(bpu),
+ q(1388) => q(bpv),
+ q(1389) => q(bpw),
+ q(1390) => q(bpx),
+ q(1391) => q(bpy),
+ q(1392) => q(bpz),
+ q(1393) => q(bqa),
+ q(1394) => q(bqb),
+ q(1395) => q(bqc),
+ q(1396) => q(bqd),
+ q(1397) => q(bqf),
+ q(1398) => q(bqg),
+ q(1399) => q(bqh),
+ q(1400) => q(bqi),
+ q(1401) => q(bqj),
+ q(1402) => q(bqk),
+ q(1403) => q(bql),
+ q(1404) => q(bqm),
+ q(1405) => q(bqn),
+ q(1406) => q(bqo),
+ q(1407) => q(bqp),
+ q(1408) => q(bqq),
+ q(1409) => q(bqr),
+ q(1410) => q(bqs),
+ q(1411) => q(bqt),
+ q(1412) => q(bqu),
+ q(1413) => q(bqv),
+ q(1414) => q(bqw),
+ q(1415) => q(bqx),
+ q(1416) => q(bqy),
+ q(1417) => q(bqz),
+ q(1418) => q(brb),
+ q(1419) => q(brc),
+ q(1420) => q(brd),
+ q(1421) => q(brf),
+ q(1422) => q(brg),
+ q(1423) => q(brh),
+ q(1424) => q(bri),
+ q(1425) => q(brj),
+ q(1426) => q(brk),
+ q(1427) => q(brl),
+ q(1428) => q(brm),
+ q(1429) => q(brn),
+ q(1430) => q(bro),
+ q(1431) => q(brp),
+ q(1432) => q(brq),
+ q(1433) => q(brr),
+ q(1434) => q(brs),
+ q(1435) => q(brt),
+ q(1436) => q(bru),
+ q(1437) => q(brv),
+ q(1438) => q(brw),
+ q(1439) => q(brx),
+ q(1440) => q(bry),
+ q(1441) => q(brz),
+ q(1442) => q(bsa),
+ q(1443) => q(bsb),
+ q(1444) => q(bsc),
+ q(1445) => q(bse),
+ q(1446) => q(bsf),
+ q(1447) => q(bsg),
+ q(1448) => q(bsh),
+ q(1449) => q(bsi),
+ q(1450) => q(bsj),
+ q(1451) => q(bsk),
+ q(1452) => q(bsl),
+ q(1453) => q(bsm),
+ q(1454) => q(bsn),
+ q(1455) => q(bso),
+ q(1456) => q(bsp),
+ q(1457) => q(bsq),
+ q(1458) => q(bsr),
+ q(1459) => q(bss),
+ q(1460) => q(bst),
+ q(1461) => q(bsu),
+ q(1462) => q(bsv),
+ q(1463) => q(bsw),
+ q(1464) => q(bsx),
+ q(1465) => q(bsy),
+ q(1466) => q(bta),
+ q(1467) => q(btc),
+ q(1468) => q(btd),
+ q(1469) => q(bte),
+ q(1470) => q(btf),
+ q(1471) => q(btg),
+ q(1472) => q(bth),
+ q(1473) => q(bti),
+ q(1474) => q(btj),
+ q(1475) => q(btl),
+ q(1476) => q(btm),
+ q(1477) => q(btn),
+ q(1478) => q(bto),
+ q(1479) => q(btp),
+ q(1480) => q(btq),
+ q(1481) => q(btr),
+ q(1482) => q(bts),
+ q(1483) => q(btt),
+ q(1484) => q(btu),
+ q(1485) => q(btv),
+ q(1486) => q(btw),
+ q(1487) => q(btx),
+ q(1488) => q(bty),
+ q(1489) => q(btz),
+ q(1490) => q(bub),
+ q(1491) => q(buc),
+ q(1492) => q(bud),
+ q(1493) => q(bue),
+ q(1494) => q(buf),
+ q(1495) => q(buh),
+ q(1496) => q(bui),
+ q(1497) => q(buj),
+ q(1498) => q(buk),
+ q(1499) => q(bum),
+ q(1500) => q(bun),
+ q(1501) => q(buo),
+ q(1502) => q(bup),
+ q(1503) => q(buq),
+ q(1504) => q(bus),
+ q(1505) => q(but),
+ q(1506) => q(buu),
+ q(1507) => q(buv),
+ q(1508) => q(buw),
+ q(1509) => q(bux),
+ q(1510) => q(buy),
+ q(1511) => q(buz),
+ q(1512) => q(bva),
+ q(1513) => q(bvb),
+ q(1514) => q(bvc),
+ q(1515) => q(bvd),
+ q(1516) => q(bve),
+ q(1517) => q(bvf),
+ q(1518) => q(bvg),
+ q(1519) => q(bvh),
+ q(1520) => q(bvi),
+ q(1521) => q(bvj),
+ q(1522) => q(bvk),
+ q(1523) => q(bvl),
+ q(1524) => q(bvm),
+ q(1525) => q(bvn),
+ q(1526) => q(bvo),
+ q(1527) => q(bvq),
+ q(1528) => q(bvr),
+ q(1529) => q(bvt),
+ q(1530) => q(bvu),
+ q(1531) => q(bvv),
+ q(1532) => q(bvw),
+ q(1533) => q(bvx),
+ q(1534) => q(bvy),
+ q(1535) => q(bvz),
+ q(1536) => q(bwa),
+ q(1537) => q(bwb),
+ q(1538) => q(bwc),
+ q(1539) => q(bwd),
+ q(1540) => q(bwe),
+ q(1541) => q(bwf),
+ q(1542) => q(bwg),
+ q(1543) => q(bwh),
+ q(1544) => q(bwi),
+ q(1545) => q(bwj),
+ q(1546) => q(bwk),
+ q(1547) => q(bwl),
+ q(1548) => q(bwm),
+ q(1549) => q(bwn),
+ q(1550) => q(bwo),
+ q(1551) => q(bwp),
+ q(1552) => q(bwq),
+ q(1553) => q(bwr),
+ q(1554) => q(bws),
+ q(1555) => q(bwt),
+ q(1556) => q(bwu),
+ q(1557) => q(bww),
+ q(1558) => q(bwx),
+ q(1559) => q(bwy),
+ q(1560) => q(bwz),
+ q(1561) => q(bxa),
+ q(1562) => q(bxb),
+ q(1563) => q(bxc),
+ q(1564) => q(bxd),
+ q(1565) => q(bxe),
+ q(1566) => q(bxf),
+ q(1567) => q(bxg),
+ q(1568) => q(bxh),
+ q(1569) => q(bxi),
+ q(1570) => q(bxj),
+ q(1571) => q(bxk),
+ q(1572) => q(bxl),
+ q(1573) => q(bxm),
+ q(1574) => q(bxn),
+ q(1575) => q(bxo),
+ q(1576) => q(bxp),
+ q(1577) => q(bxq),
+ q(1578) => q(bxr),
+ q(1579) => q(bxs),
+ q(1580) => q(bxu),
+ q(1581) => q(bxv),
+ q(1582) => q(bxw),
+ q(1583) => q(bxx),
+ q(1584) => q(bxz),
+ q(1585) => q(bya),
+ q(1586) => q(byb),
+ q(1587) => q(byc),
+ q(1588) => q(byd),
+ q(1589) => q(bye),
+ q(1590) => q(byf),
+ q(1591) => q(byg),
+ q(1592) => q(byh),
+ q(1593) => q(byi),
+ q(1594) => q(byj),
+ q(1595) => q(byk),
+ q(1596) => q(byl),
+ q(1597) => q(bym),
+ q(1598) => q(byo),
+ q(1599) => q(byp),
+ q(1600) => q(byq),
+ q(1601) => q(byr),
+ q(1602) => q(bys),
+ q(1603) => q(byt),
+ q(1604) => q(byv),
+ q(1605) => q(byw),
+ q(1606) => q(byx),
+ q(1607) => q(byy),
+ q(1608) => q(byz),
+ q(1609) => q(bza),
+ q(1610) => q(bzb),
+ q(1611) => q(bzc),
+ q(1612) => q(bzd),
+ q(1613) => q(bze),
+ q(1614) => q(bzf),
+ q(1615) => q(bzg),
+ q(1616) => q(bzh),
+ q(1617) => q(bzi),
+ q(1618) => q(bzj),
+ q(1619) => q(bzk),
+ q(1620) => q(bzl),
+ q(1621) => q(bzm),
+ q(1622) => q(bzn),
+ q(1623) => q(bzo),
+ q(1624) => q(bzp),
+ q(1625) => q(bzq),
+ q(1626) => q(bzr),
+ q(1627) => q(bzs),
+ q(1628) => q(bzt),
+ q(1629) => q(bzu),
+ q(1630) => q(bzv),
+ q(1631) => q(bzw),
+ q(1632) => q(bzx),
+ q(1633) => q(bzy),
+ q(1634) => q(bzz),
+ q(1635) => q(caa),
+ q(1636) => q(cab),
+ q(1637) => q(cac),
+ q(1638) => q(cae),
+ q(1639) => q(caf),
+ q(1640) => q(cag),
+ q(1641) => q(cah),
+ q(1642) => q(caj),
+ q(1643) => q(cak),
+ q(1644) => q(cal),
+ q(1645) => q(cam),
+ q(1646) => q(can),
+ q(1647) => q(cao),
+ q(1648) => q(cap),
+ q(1649) => q(caq),
+ q(1650) => q(cas),
+ q(1651) => q(cav),
+ q(1652) => q(caw),
+ q(1653) => q(cax),
+ q(1654) => q(cay),
+ q(1655) => q(caz),
+ q(1656) => q(cbb),
+ q(1657) => q(cbc),
+ q(1658) => q(cbd),
+ q(1659) => q(cbe),
+ q(1660) => q(cbg),
+ q(1661) => q(cbh),
+ q(1662) => q(cbi),
+ q(1663) => q(cbj),
+ q(1664) => q(cbk),
+ q(1665) => q(cbl),
+ q(1666) => q(cbn),
+ q(1667) => q(cbo),
+ q(1668) => q(cbr),
+ q(1669) => q(cbs),
+ q(1670) => q(cbt),
+ q(1671) => q(cbu),
+ q(1672) => q(cbv),
+ q(1673) => q(cbw),
+ q(1674) => q(cby),
+ q(1675) => q(cca),
+ q(1676) => q(ccc),
+ q(1677) => q(ccd),
+ q(1678) => q(cce),
+ q(1679) => q(ccg),
+ q(1680) => q(cch),
+ q(1681) => q(ccj),
+ q(1682) => q(ccl),
+ q(1683) => q(ccm),
+ q(1684) => q(cco),
+ q(1685) => q(ccp),
+ q(1686) => q(ccq),
+ q(1687) => q(ccr),
+ q(1688) => q(cda),
+ q(1689) => q(cde),
+ q(1690) => q(cdf),
+ q(1691) => q(cdg),
+ q(1692) => q(cdh),
+ q(1693) => q(cdi),
+ q(1694) => q(cdj),
+ q(1695) => q(cdm),
+ q(1696) => q(cdn),
+ q(1697) => q(cdo),
+ q(1698) => q(cdr),
+ q(1699) => q(cds),
+ q(1700) => q(cdy),
+ q(1701) => q(cdz),
+ q(1702) => q(cea),
+ q(1703) => q(ceg),
+ q(1704) => q(cen),
+ q(1705) => q(cet),
+ q(1706) => q(cfa),
+ q(1707) => q(cfd),
+ q(1708) => q(cfg),
+ q(1709) => q(cfm),
+ q(1710) => q(cga),
+ q(1711) => q(cgc),
+ q(1712) => q(cgg),
+ q(1713) => q(cgk),
+ q(1714) => q(chc),
+ q(1715) => q(chd),
+ q(1716) => q(chf),
+ q(1717) => q(chh),
+ q(1718) => q(chj),
+ q(1719) => q(chl),
+ q(1720) => q(chq),
+ q(1721) => q(cht),
+ q(1722) => q(chw),
+ q(1723) => q(chx),
+ q(1724) => q(chz),
+ q(1725) => q(cia),
+ q(1726) => q(cib),
+ q(1727) => q(cic),
+ q(1728) => q(cid),
+ q(1729) => q(cie),
+ q(1730) => q(cih),
+ q(1731) => q(cik),
+ q(1732) => q(cim),
+ q(1733) => q(cin),
+ q(1734) => q(cip),
+ q(1735) => q(cir),
+ q(1736) => q(ciw),
+ q(1737) => q(ciy),
+ q(1738) => q(cja),
+ q(1739) => q(cje),
+ q(1740) => q(cjh),
+ q(1741) => q(cji),
+ q(1742) => q(cjk),
+ q(1743) => q(cjm),
+ q(1744) => q(cjn),
+ q(1745) => q(cjo),
+ q(1746) => q(cjp),
+ q(1747) => q(cjs),
+ q(1748) => q(cjv),
+ q(1749) => q(cjy),
+ q(1750) => q(cka),
+ q(1751) => q(ckb),
+ q(1752) => q(ckh),
+ q(1753) => q(ckl),
+ q(1754) => q(cko),
+ q(1755) => q(ckq),
+ q(1756) => q(ckr),
+ q(1757) => q(cks),
+ q(1758) => q(ckt),
+ q(1759) => q(cku),
+ q(1760) => q(ckv),
+ q(1761) => q(ckx),
+ q(1762) => q(cky),
+ q(1763) => q(ckz),
+ q(1764) => q(cla),
+ q(1765) => q(clc),
+ q(1766) => q(cld),
+ q(1767) => q(cle),
+ q(1768) => q(clh),
+ q(1769) => q(cli),
+ q(1770) => q(clk),
+ q(1771) => q(cll),
+ q(1772) => q(clm),
+ q(1773) => q(clo),
+ q(1774) => q(clu),
+ q(1775) => q(clw),
+ q(1776) => q(cly),
+ q(1777) => q(cma),
+ q(1778) => q(cme),
+ q(1779) => q(cmg),
+ q(1780) => q(cmi),
+ q(1781) => q(cml),
+ q(1782) => q(cmm),
+ q(1783) => q(cmn),
+ q(1784) => q(cmo),
+ q(1785) => q(cmr),
+ q(1786) => q(cms),
+ q(1787) => q(cmt),
+ q(1788) => q(cna),
+ q(1789) => q(cnb),
+ q(1790) => q(cnc),
+ q(1791) => q(cng),
+ q(1792) => q(cnh),
+ q(1793) => q(cni),
+ q(1794) => q(cnk),
+ q(1795) => q(cnl),
+ q(1796) => q(cno),
+ q(1797) => q(cns),
+ q(1798) => q(cnt),
+ q(1799) => q(cnu),
+ q(1800) => q(cnw),
+ q(1801) => q(cnx),
+ q(1802) => q(coa),
+ q(1803) => q(cob),
+ q(1804) => q(coc),
+ q(1805) => q(cod),
+ q(1806) => q(coe),
+ q(1807) => q(cof),
+ q(1808) => q(cog),
+ q(1809) => q(coh),
+ q(1810) => q(coj),
+ q(1811) => q(cok),
+ q(1812) => q(col),
+ q(1813) => q(com),
+ q(1814) => q(con),
+ q(1815) => q(coo),
+ q(1816) => q(coq),
+ q(1817) => q(cot),
+ q(1818) => q(cou),
+ q(1819) => q(cov),
+ q(1820) => q(cow),
+ q(1821) => q(cox),
+ q(1822) => q(coy),
+ q(1823) => q(coz),
+ q(1824) => q(cpa),
+ q(1825) => q(cpb),
+ q(1826) => q(cpc),
+ q(1827) => q(cpg),
+ q(1828) => q(cpi),
+ q(1829) => q(cpn),
+ q(1830) => q(cps),
+ q(1831) => q(cpu),
+ q(1832) => q(cpx),
+ q(1833) => q(cpy),
+ q(1834) => q(cqd),
+ q(1835) => q(cqu),
+ q(1836) => q(cra),
+ q(1837) => q(crb),
+ q(1838) => q(crc),
+ q(1839) => q(crd),
+ q(1840) => q(crf),
+ q(1841) => q(crg),
+ q(1842) => q(cri),
+ q(1843) => q(crj),
+ q(1844) => q(crk),
+ q(1845) => q(crl),
+ q(1846) => q(crm),
+ q(1847) => q(crn),
+ q(1848) => q(cro),
+ q(1849) => q(crq),
+ q(1850) => q(crr),
+ q(1851) => q(crs),
+ q(1852) => q(crt),
+ q(1853) => q(crv),
+ q(1854) => q(crw),
+ q(1855) => q(crx),
+ q(1856) => q(cry),
+ q(1857) => q(crz),
+ q(1858) => q(csa),
+ q(1859) => q(csc),
+ q(1860) => q(csd),
+ q(1861) => q(cse),
+ q(1862) => q(csf),
+ q(1863) => q(csg),
+ q(1864) => q(csh),
+ q(1865) => q(csi),
+ q(1866) => q(csk),
+ q(1867) => q(csl),
+ q(1868) => q(csm),
+ q(1869) => q(csn),
+ q(1870) => q(cso),
+ q(1871) => q(csq),
+ q(1872) => q(csr),
+ q(1873) => q(css),
+ q(1874) => q(cst),
+ q(1875) => q(csw),
+ q(1876) => q(csy),
+ q(1877) => q(csz),
+ q(1878) => q(cta),
+ q(1879) => q(ctc),
+ q(1880) => q(ctd),
+ q(1881) => q(cte),
+ q(1882) => q(ctg),
+ q(1883) => q(ctl),
+ q(1884) => q(ctm),
+ q(1885) => q(ctn),
+ q(1886) => q(cto),
+ q(1887) => q(ctp),
+ q(1888) => q(cts),
+ q(1889) => q(ctt),
+ q(1890) => q(ctu),
+ q(1891) => q(ctz),
+ q(1892) => q(cua),
+ q(1893) => q(cub),
+ q(1894) => q(cuc),
+ q(1895) => q(cug),
+ q(1896) => q(cuh),
+ q(1897) => q(cui),
+ q(1898) => q(cuj),
+ q(1899) => q(cuk),
+ q(1900) => q(cul),
+ q(1901) => q(cum),
+ q(1902) => q(cuo),
+ q(1903) => q(cup),
+ q(1904) => q(cuq),
+ q(1905) => q(cur),
+ q(1906) => q(cut),
+ q(1907) => q(cuu),
+ q(1908) => q(cuv),
+ q(1909) => q(cuw),
+ q(1910) => q(cux),
+ q(1911) => q(cvg),
+ q(1912) => q(cvn),
+ q(1913) => q(cwa),
+ q(1914) => q(cwb),
+ q(1915) => q(cwd),
+ q(1916) => q(cwe),
+ q(1917) => q(cwg),
+ q(1918) => q(cwt),
+ q(1919) => q(cya),
+ q(1920) => q(cyb),
+ q(1921) => q(cyo),
+ q(1922) => q(czh),
+ q(1923) => q(czk),
+ q(1924) => q(czn),
+ q(1925) => q(czo),
+ q(1926) => q(czt),
+ q(1927) => q(daa),
+ q(1928) => q(dac),
+ q(1929) => q(dad),
+ q(1930) => q(dae),
+ q(1931) => q(daf),
+ q(1932) => q(dag),
+ q(1933) => q(dah),
+ q(1934) => q(dai),
+ q(1935) => q(daj),
+ q(1936) => q(dal),
+ q(1937) => q(dam),
+ q(1938) => q(dao),
+ q(1939) => q(dap),
+ q(1940) => q(daq),
+ q(1941) => q(das),
+ q(1942) => q(dau),
+ q(1943) => q(dav),
+ q(1944) => q(daw),
+ q(1945) => q(dax),
+ q(1946) => q(daz),
+ q(1947) => q(dba),
+ q(1948) => q(dbb),
+ q(1949) => q(dbd),
+ q(1950) => q(dbe),
+ q(1951) => q(dbf),
+ q(1952) => q(dbg),
+ q(1953) => q(dbi),
+ q(1954) => q(dbj),
+ q(1955) => q(dbl),
+ q(1956) => q(dbm),
+ q(1957) => q(dbn),
+ q(1958) => q(dbo),
+ q(1959) => q(dbp),
+ q(1960) => q(dbq),
+ q(1961) => q(dbr),
+ q(1962) => q(dbu),
+ q(1963) => q(dbv),
+ q(1964) => q(dby),
+ q(1965) => q(dcc),
+ q(1966) => q(dcr),
+ q(1967) => q(ddd),
+ q(1968) => q(dde),
+ q(1969) => q(ddg),
+ q(1970) => q(ddi),
+ q(1971) => q(ddj),
+ q(1972) => q(ddn),
+ q(1973) => q(ddo),
+ q(1974) => q(dds),
+ q(1975) => q(ddw),
+ q(1976) => q(dec),
+ q(1977) => q(ded),
+ q(1978) => q(dee),
+ q(1979) => q(def),
+ q(1980) => q(deg),
+ q(1981) => q(deh),
+ q(1982) => q(dei),
+ q(1983) => q(dek),
+ q(1984) => q(dem),
+ q(1985) => q(dep),
+ q(1986) => q(deq),
+ q(1987) => q(der),
+ q(1988) => q(des),
+ q(1989) => q(dev),
+ q(1990) => q(dez),
+ q(1991) => q(dga),
+ q(1992) => q(dgb),
+ q(1993) => q(dgc),
+ q(1994) => q(dgd),
+ q(1995) => q(dge),
+ q(1996) => q(dgg),
+ q(1997) => q(dgh),
+ q(1998) => q(dgi),
+ q(1999) => q(dgk),
+ q(2000) => q(dgn),
+ q(2001) => q(dgo),
+ q(2002) => q(dgs),
+ q(2003) => q(dgu),
+ q(2004) => q(dgx),
+ q(2005) => q(dgz),
+ q(2006) => q(dhd),
+ q(2007) => q(dhg),
+ q(2008) => q(dhi),
+ q(2009) => q(dhl),
+ q(2010) => q(dhm),
+ q(2011) => q(dhn),
+ q(2012) => q(dho),
+ q(2013) => q(dhr),
+ q(2014) => q(dhs),
+ q(2015) => q(dhu),
+ q(2016) => q(dhv),
+ q(2017) => q(dhw),
+ q(2018) => q(dia),
+ q(2019) => q(dib),
+ q(2020) => q(dic),
+ q(2021) => q(did),
+ q(2022) => q(dif),
+ q(2023) => q(dig),
+ q(2024) => q(dih),
+ q(2025) => q(dii),
+ q(2026) => q(dij),
+ q(2027) => q(dik),
+ q(2028) => q(dil),
+ q(2029) => q(dim),
+ q(2030) => q(dio),
+ q(2031) => q(dip),
+ q(2032) => q(diq),
+ q(2033) => q(dir),
+ q(2034) => q(dis),
+ q(2035) => q(dit),
+ q(2036) => q(diu),
+ q(2037) => q(diw),
+ q(2038) => q(dix),
+ q(2039) => q(diy),
+ q(2040) => q(diz),
+ q(2041) => q(djb),
+ q(2042) => q(djc),
+ q(2043) => q(djd),
+ q(2044) => q(dje),
+ q(2045) => q(djf),
+ q(2046) => q(dji),
+ q(2047) => q(djj),
+ q(2048) => q(djk),
+ q(2049) => q(djl),
+ q(2050) => q(djm),
+ q(2051) => q(djn),
+ q(2052) => q(djo),
+ q(2053) => q(djr),
+ q(2054) => q(dju),
+ q(2055) => q(djw),
+ q(2056) => q(dka),
+ q(2057) => q(dkk),
+ q(2058) => q(dkr),
+ q(2059) => q(dks),
+ q(2060) => q(dkx),
+ q(2061) => q(dlg),
+ q(2062) => q(dlm),
+ q(2063) => q(dln),
+ q(2064) => q(dma),
+ q(2065) => q(dmb),
+ q(2066) => q(dmc),
+ q(2067) => q(dme),
+ q(2068) => q(dmg),
+ q(2069) => q(dmk),
+ q(2070) => q(dml),
+ q(2071) => q(dmm),
+ q(2072) => q(dmo),
+ q(2073) => q(dmr),
+ q(2074) => q(dms),
+ q(2075) => q(dmu),
+ q(2076) => q(dmv),
+ q(2077) => q(dmx),
+ q(2078) => q(dmy),
+ q(2079) => q(dna),
+ q(2080) => q(dnd),
+ q(2081) => q(dne),
+ q(2082) => q(dng),
+ q(2083) => q(dni),
+ q(2084) => q(dnk),
+ q(2085) => q(dnn),
+ q(2086) => q(dnr),
+ q(2087) => q(dnt),
+ q(2088) => q(dnu),
+ q(2089) => q(dnw),
+ q(2090) => q(dny),
+ q(2091) => q(doa),
+ q(2092) => q(dob),
+ q(2093) => q(doc),
+ q(2094) => q(doe),
+ q(2095) => q(dof),
+ q(2096) => q(doh),
+ q(2097) => q(dok),
+ q(2098) => q(dol),
+ q(2099) => q(don),
+ q(2100) => q(doo),
+ q(2101) => q(dop),
+ q(2102) => q(doq),
+ q(2103) => q(dor),
+ q(2104) => q(dos),
+ q(2105) => q(dot),
+ q(2106) => q(dov),
+ q(2107) => q(dow),
+ q(2108) => q(dox),
+ q(2109) => q(doy),
+ q(2110) => q(doz),
+ q(2111) => q(dpp),
+ q(2112) => q(drb),
+ q(2113) => q(drc),
+ q(2114) => q(drd),
+ q(2115) => q(dre),
+ q(2116) => q(drg),
+ q(2117) => q(dri),
+ q(2118) => q(drl),
+ q(2119) => q(drn),
+ q(2120) => q(dro),
+ q(2121) => q(drq),
+ q(2122) => q(drr),
+ q(2123) => q(drs),
+ q(2124) => q(drt),
+ q(2125) => q(dru),
+ q(2126) => q(dry),
+ q(2127) => q(dse),
+ q(2128) => q(dsh),
+ q(2129) => q(dsi),
+ q(2130) => q(dsl),
+ q(2131) => q(dsn),
+ q(2132) => q(dso),
+ q(2133) => q(dsq),
+ q(2134) => q(dta),
+ q(2135) => q(dtb),
+ q(2136) => q(dtd),
+ q(2137) => q(dti),
+ q(2138) => q(dtk),
+ q(2139) => q(dtm),
+ q(2140) => q(dtp),
+ q(2141) => q(dtr),
+ q(2142) => q(dts),
+ q(2143) => q(dtt),
+ q(2144) => q(dtu),
+ q(2145) => q(dub),
+ q(2146) => q(duc),
+ q(2147) => q(dud),
+ q(2148) => q(due),
+ q(2149) => q(duf),
+ q(2150) => q(dug),
+ q(2151) => q(duh),
+ q(2152) => q(dui),
+ q(2153) => q(duj),
+ q(2154) => q(duk),
+ q(2155) => q(dul),
+ q(2156) => q(dun),
+ q(2157) => q(duo),
+ q(2158) => q(dup),
+ q(2159) => q(duq),
+ q(2160) => q(dur),
+ q(2161) => q(dus),
+ q(2162) => q(duu),
+ q(2163) => q(duv),
+ q(2164) => q(duw),
+ q(2165) => q(dux),
+ q(2166) => q(duy),
+ q(2167) => q(duz),
+ q(2168) => q(dva),
+ q(2169) => q(dwa),
+ q(2170) => q(dwl),
+ q(2171) => q(dwr),
+ q(2172) => q(dws),
+ q(2173) => q(dww),
+ q(2174) => q(dya),
+ q(2175) => q(dyb),
+ q(2176) => q(dyd),
+ q(2177) => q(dyg),
+ q(2178) => q(dyi),
+ q(2179) => q(dym),
+ q(2180) => q(dyn),
+ q(2181) => q(dyo),
+ q(2182) => q(dyy),
+ q(2183) => q(dza),
+ q(2184) => q(dzd),
+ q(2185) => q(dzg),
+ q(2186) => q(dzl),
+ q(2187) => q(dzn),
+ q(2188) => q(ebg),
+ q(2189) => q(ebk),
+ q(2190) => q(ebo),
+ q(2191) => q(ebr),
+ q(2192) => q(ebu),
+ q(2193) => q(ecr),
+ q(2194) => q(ecs),
+ q(2195) => q(ecy),
+ q(2196) => q(eee),
+ q(2197) => q(efa),
+ q(2198) => q(efe),
+ q(2199) => q(ega),
+ q(2200) => q(egl),
+ q(2201) => q(ego),
+ q(2202) => q(ehu),
+ q(2203) => q(eip),
+ q(2204) => q(eit),
+ q(2205) => q(eiv),
+ q(2206) => q(eja),
+ q(2207) => q(eke),
+ q(2208) => q(ekg),
+ q(2209) => q(eki),
+ q(2210) => q(ekk),
+ q(2211) => q(ekl),
+ q(2212) => q(ekm),
+ q(2213) => q(eko),
+ q(2214) => q(ekp),
+ q(2215) => q(ekr),
+ q(2216) => q(eky),
+ q(2217) => q(ele),
+ q(2218) => q(elh),
+ q(2219) => q(eli),
+ q(2220) => q(elk),
+ q(2221) => q(elm),
+ q(2222) => q(elo),
+ q(2223) => q(elp),
+ q(2224) => q(elu),
+ q(2225) => q(ema),
+ q(2226) => q(emb),
+ q(2227) => q(eme),
+ q(2228) => q(emg),
+ q(2229) => q(emi),
+ q(2230) => q(emk),
+ q(2231) => q(emm),
+ q(2232) => q(emn),
+ q(2233) => q(emo),
+ q(2234) => q(emp),
+ q(2235) => q(ems),
+ q(2236) => q(emu),
+ q(2237) => q(emw),
+ q(2238) => q(emx),
+ q(2239) => q(emy),
+ q(2240) => q(ena),
+ q(2241) => q(enb),
+ q(2242) => q(enc),
+ q(2243) => q(end),
+ q(2244) => q(enf),
+ q(2245) => q(enh),
+ q(2246) => q(enn),
+ q(2247) => q(eno),
+ q(2248) => q(enq),
+ q(2249) => q(enr),
+ q(2250) => q(enu),
+ q(2251) => q(env),
+ q(2252) => q(enw),
+ q(2253) => q(eot),
+ q(2254) => q(epi),
+ q(2255) => q(era),
+ q(2256) => q(erg),
+ q(2257) => q(erh),
+ q(2258) => q(eri),
+ q(2259) => q(erk),
+ q(2260) => q(ero),
+ q(2261) => q(err),
+ q(2262) => q(ers),
+ q(2263) => q(ert),
+ q(2264) => q(erw),
+ q(2265) => q(ese),
+ q(2266) => q(esh),
+ q(2267) => q(esi),
+ q(2268) => q(esk),
+ q(2269) => q(esl),
+ q(2270) => q(esm),
+ q(2271) => q(esn),
+ q(2272) => q(eso),
+ q(2273) => q(esq),
+ q(2274) => q(ess),
+ q(2275) => q(esu),
+ q(2276) => q(etb),
+ q(2277) => q(etc),
+ q(2278) => q(eth),
+ q(2279) => q(etn),
+ q(2280) => q(eto),
+ q(2281) => q(etr),
+ q(2282) => q(ets),
+ q(2283) => q(ett),
+ q(2284) => q(etu),
+ q(2285) => q(etx),
+ q(2286) => q(etz),
+ q(2287) => q(eve),
+ q(2288) => q(evh),
+ q(2289) => q(evn),
+ q(2290) => q(ext),
+ q(2291) => q(eya),
+ q(2292) => q(eyo),
+ q(2293) => q(eze),
+ q(2294) => q(faa),
+ q(2295) => q(fab),
+ q(2296) => q(fad),
+ q(2297) => q(faf),
+ q(2298) => q(fag),
+ q(2299) => q(fah),
+ q(2300) => q(fai),
+ q(2301) => q(faj),
+ q(2302) => q(fak),
+ q(2303) => q(fal),
+ q(2304) => q(fam),
+ q(2305) => q(fap),
+ q(2306) => q(far),
+ q(2307) => q(fau),
+ q(2308) => q(fax),
+ q(2309) => q(fay),
+ q(2310) => q(faz),
+ q(2311) => q(fbl),
+ q(2312) => q(fcs),
+ q(2313) => q(fer),
+ q(2314) => q(ffi),
+ q(2315) => q(ffm),
+ q(2316) => q(fgr),
+ q(2317) => q(fia),
+ q(2318) => q(fie),
+ q(2319) => q(fip),
+ q(2320) => q(fir),
+ q(2321) => q(fit),
+ q(2322) => q(fiw),
+ q(2323) => q(fkv),
+ q(2324) => q(fla),
+ q(2325) => q(flh),
+ q(2326) => q(fli),
+ q(2327) => q(fll),
+ q(2328) => q(fln),
+ q(2329) => q(flr),
+ q(2330) => q(fly),
+ q(2331) => q(fmp),
+ q(2332) => q(fmu),
+ q(2333) => q(fng),
+ q(2334) => q(fni),
+ q(2335) => q(fod),
+ q(2336) => q(foi),
+ q(2337) => q(fom),
+ q(2338) => q(for),
+ q(2339) => q(fos),
+ q(2340) => q(fpe),
+ q(2341) => q(fqs),
+ q(2342) => q(frc),
+ q(2343) => q(frd),
+ q(2344) => q(frk),
+ q(2345) => q(frp),
+ q(2346) => q(frq),
+ q(2347) => q(frt),
+ q(2348) => q(fse),
+ q(2349) => q(fsl),
+ q(2350) => q(fss),
+ q(2351) => q(fub),
+ q(2352) => q(fuc),
+ q(2353) => q(fud),
+ q(2354) => q(fue),
+ q(2355) => q(fuf),
+ q(2356) => q(fuh),
+ q(2357) => q(fui),
+ q(2358) => q(fuj),
+ q(2359) => q(fum),
+ q(2360) => q(fun),
+ q(2361) => q(fuq),
+ q(2362) => q(fut),
+ q(2363) => q(fuu),
+ q(2364) => q(fuv),
+ q(2365) => q(fuy),
+ q(2366) => q(fvr),
+ q(2367) => q(fwa),
+ q(2368) => q(fwe),
+ q(2369) => q(gab),
+ q(2370) => q(gac),
+ q(2371) => q(gad),
+ q(2372) => q(gae),
+ q(2373) => q(gaf),
+ q(2374) => q(gag),
+ q(2375) => q(gah),
+ q(2376) => q(gai),
+ q(2377) => q(gaj),
+ q(2378) => q(gak),
+ q(2379) => q(gal),
+ q(2380) => q(gam),
+ q(2381) => q(gan),
+ q(2382) => q(gao),
+ q(2383) => q(gap),
+ q(2384) => q(gaq),
+ q(2385) => q(gar),
+ q(2386) => q(gas),
+ q(2387) => q(gat),
+ q(2388) => q(gau),
+ q(2389) => q(gaw),
+ q(2390) => q(gax),
+ q(2391) => q(gaz),
+ q(2392) => q(gbb),
+ q(2393) => q(gbc),
+ q(2394) => q(gbd),
+ q(2395) => q(gbe),
+ q(2396) => q(gbf),
+ q(2397) => q(gbg),
+ q(2398) => q(gbh),
+ q(2399) => q(gbi),
+ q(2400) => q(gbj),
+ q(2401) => q(gbk),
+ q(2402) => q(gbl),
+ q(2403) => q(gbm),
+ q(2404) => q(gbn),
+ q(2405) => q(gbo),
+ q(2406) => q(gbp),
+ q(2407) => q(gbq),
+ q(2408) => q(gbr),
+ q(2409) => q(gbs),
+ q(2410) => q(gbu),
+ q(2411) => q(gbv),
+ q(2412) => q(gbx),
+ q(2413) => q(gby),
+ q(2414) => q(gbz),
+ q(2415) => q(gcc),
+ q(2416) => q(gcd),
+ q(2417) => q(gce),
+ q(2418) => q(gcf),
+ q(2419) => q(gcl),
+ q(2420) => q(gcn),
+ q(2421) => q(gcr),
+ q(2422) => q(gct),
+ q(2423) => q(gda),
+ q(2424) => q(gdb),
+ q(2425) => q(gdc),
+ q(2426) => q(gdd),
+ q(2427) => q(gde),
+ q(2428) => q(gdf),
+ q(2429) => q(gdg),
+ q(2430) => q(gdh),
+ q(2431) => q(gdi),
+ q(2432) => q(gdj),
+ q(2433) => q(gdk),
+ q(2434) => q(gdl),
+ q(2435) => q(gdm),
+ q(2436) => q(gdn),
+ q(2437) => q(gdo),
+ q(2438) => q(gdq),
+ q(2439) => q(gdr),
+ q(2440) => q(gdu),
+ q(2441) => q(gdx),
+ q(2442) => q(gea),
+ q(2443) => q(geb),
+ q(2444) => q(gec),
+ q(2445) => q(ged),
+ q(2446) => q(geg),
+ q(2447) => q(geh),
+ q(2448) => q(gei),
+ q(2449) => q(gej),
+ q(2450) => q(gek),
+ q(2451) => q(gel),
+ q(2452) => q(geq),
+ q(2453) => q(ges),
+ q(2454) => q(gew),
+ q(2455) => q(gex),
+ q(2456) => q(gey),
+ q(2457) => q(gfk),
+ q(2458) => q(gft),
+ q(2459) => q(gga),
+ q(2460) => q(ggb),
+ q(2461) => q(ggd),
+ q(2462) => q(gge),
+ q(2463) => q(ggg),
+ q(2464) => q(ggk),
+ q(2465) => q(ggl),
+ q(2466) => q(ggn),
+ q(2467) => q(ggo),
+ q(2468) => q(ggr),
+ q(2469) => q(ggt),
+ q(2470) => q(ggu),
+ q(2471) => q(ggw),
+ q(2472) => q(gha),
+ q(2473) => q(ghc),
+ q(2474) => q(ghe),
+ q(2475) => q(ghh),
+ q(2476) => q(ghk),
+ q(2477) => q(ghl),
+ q(2478) => q(ghn),
+ q(2479) => q(gho),
+ q(2480) => q(ghr),
+ q(2481) => q(ghs),
+ q(2482) => q(ght),
+ q(2483) => q(gia),
+ q(2484) => q(gib),
+ q(2485) => q(gic),
+ q(2486) => q(gid),
+ q(2487) => q(gig),
+ q(2488) => q(gim),
+ q(2489) => q(gin),
+ q(2490) => q(gio),
+ q(2491) => q(gip),
+ q(2492) => q(giq),
+ q(2493) => q(gir),
+ q(2494) => q(gis),
+ q(2495) => q(git),
+ q(2496) => q(giw),
+ q(2497) => q(gix),
+ q(2498) => q(giy),
+ q(2499) => q(giz),
+ q(2500) => q(gji),
+ q(2501) => q(gjk),
+ q(2502) => q(gjn),
+ q(2503) => q(gju),
+ q(2504) => q(gka),
+ q(2505) => q(gke),
+ q(2506) => q(gkn),
+ q(2507) => q(gkp),
+ q(2508) => q(glc),
+ q(2509) => q(gld),
+ q(2510) => q(glh),
+ q(2511) => q(gli),
+ q(2512) => q(glj),
+ q(2513) => q(glk),
+ q(2514) => q(glo),
+ q(2515) => q(glr),
+ q(2516) => q(glu),
+ q(2517) => q(glw),
+ q(2518) => q(gly),
+ q(2519) => q(gma),
+ q(2520) => q(gmb),
+ q(2521) => q(gmd),
+ q(2522) => q(gml),
+ q(2523) => q(gmm),
+ q(2524) => q(gmn),
+ q(2525) => q(gmu),
+ q(2526) => q(gmv),
+ q(2527) => q(gmx),
+ q(2528) => q(gmy),
+ q(2529) => q(gna),
+ q(2530) => q(gnb),
+ q(2531) => q(gnc),
+ q(2532) => q(gnd),
+ q(2533) => q(gne),
+ q(2534) => q(gng),
+ q(2535) => q(gnh),
+ q(2536) => q(gni),
+ q(2537) => q(gnk),
+ q(2538) => q(gnl),
+ q(2539) => q(gnm),
+ q(2540) => q(gnn),
+ q(2541) => q(gno),
+ q(2542) => q(gnq),
+ q(2543) => q(gnr),
+ q(2544) => q(gnt),
+ q(2545) => q(gnu),
+ q(2546) => q(gnw),
+ q(2547) => q(gnz),
+ q(2548) => q(goa),
+ q(2549) => q(gob),
+ q(2550) => q(goc),
+ q(2551) => q(god),
+ q(2552) => q(goe),
+ q(2553) => q(gof),
+ q(2554) => q(gog),
+ q(2555) => q(goi),
+ q(2556) => q(goj),
+ q(2557) => q(gok),
+ q(2558) => q(gol),
+ q(2559) => q(gom),
+ q(2560) => q(goo),
+ q(2561) => q(gop),
+ q(2562) => q(goq),
+ q(2563) => q(gos),
+ q(2564) => q(gou),
+ q(2565) => q(gow),
+ q(2566) => q(gox),
+ q(2567) => q(goy),
+ q(2568) => q(goz),
+ q(2569) => q(gpa),
+ q(2570) => q(gpn),
+ q(2571) => q(gqa),
+ q(2572) => q(gqi),
+ q(2573) => q(gqn),
+ q(2574) => q(gqr),
+ q(2575) => q(gra),
+ q(2576) => q(grd),
+ q(2577) => q(grg),
+ q(2578) => q(grh),
+ q(2579) => q(gri),
+ q(2580) => q(grj),
+ q(2581) => q(grm),
+ q(2582) => q(gro),
+ q(2583) => q(grq),
+ q(2584) => q(grr),
+ q(2585) => q(grs),
+ q(2586) => q(grt),
+ q(2587) => q(gru),
+ q(2588) => q(grv),
+ q(2589) => q(grw),
+ q(2590) => q(grx),
+ q(2591) => q(gry),
+ q(2592) => q(grz),
+ q(2593) => q(gse),
+ q(2594) => q(gsg),
+ q(2595) => q(gsl),
+ q(2596) => q(gsm),
+ q(2597) => q(gsn),
+ q(2598) => q(gso),
+ q(2599) => q(gsp),
+ q(2600) => q(gss),
+ q(2601) => q(gta),
+ q(2602) => q(gti),
+ q(2603) => q(gua),
+ q(2604) => q(gub),
+ q(2605) => q(guc),
+ q(2606) => q(gud),
+ q(2607) => q(gue),
+ q(2608) => q(guf),
+ q(2609) => q(gug),
+ q(2610) => q(guh),
+ q(2611) => q(gui),
+ q(2612) => q(guk),
+ q(2613) => q(gul),
+ q(2614) => q(gum),
+ q(2615) => q(gun),
+ q(2616) => q(guo),
+ q(2617) => q(gup),
+ q(2618) => q(yif),
+ q(2619) => q(gur),
+ q(2620) => q(gus),
+ q(2621) => q(gut),
+ q(2622) => q(guu),
+ q(2623) => q(guv),
+ q(2624) => q(guw),
+ q(2625) => q(gux),
+ q(2626) => q(guz),
+ q(2627) => q(gva),
+ q(2628) => q(gvc),
+ q(2629) => q(gve),
+ q(2630) => q(gvf),
+ q(2631) => q(gvj),
+ q(2632) => q(gvl),
+ q(2633) => q(gvm),
+ q(2634) => q(gvn),
+ q(2635) => q(gvo),
+ q(2636) => q(gvp),
+ q(2637) => q(gvr),
+ q(2638) => q(gvs),
+ q(2639) => q(gvy),
+ q(2640) => q(gwa),
+ q(2641) => q(gwb),
+ q(2642) => q(gwc),
+ q(2643) => q(gwd),
+ q(2644) => q(gwe),
+ q(2645) => q(gwf),
+ q(2646) => q(gwg),
+ q(2647) => q(gwj),
+ q(2648) => q(gwn),
+ q(2649) => q(gwr),
+ q(2650) => q(gwt),
+ q(2651) => q(gwu),
+ q(2652) => q(gww),
+ q(2653) => q(gwx),
+ q(2654) => q(gxx),
+ q(2655) => q(gya),
+ q(2656) => q(gyb),
+ q(2657) => q(gyd),
+ q(2658) => q(gye),
+ q(2659) => q(gyf),
+ q(2660) => q(gyg),
+ q(2661) => q(gyi),
+ q(2662) => q(gyl),
+ q(2663) => q(gym),
+ q(2664) => q(gyn),
+ q(2665) => q(gyr),
+ q(2666) => q(gyy),
+ q(2667) => q(gza),
+ q(2668) => q(gzi),
+ q(2669) => q(gzn),
+ q(2670) => q(haa),
+ q(2671) => q(hab),
+ q(2672) => q(hac),
+ q(2673) => q(had),
+ q(2674) => q(hae),
+ q(2675) => q(haf),
+ q(2676) => q(hag),
+ q(2677) => q(hah),
+ q(2678) => q(haj),
+ q(2679) => q(hak),
+ q(2680) => q(hal),
+ q(2681) => q(ham),
+ q(2682) => q(han),
+ q(2683) => q(hao),
+ q(2684) => q(hap),
+ q(2685) => q(haq),
+ q(2686) => q(har),
+ q(2687) => q(has),
+ q(2688) => q(hav),
+ q(2689) => q(hax),
+ q(2690) => q(hay),
+ q(2691) => q(haz),
+ q(2692) => q(hba),
+ q(2693) => q(hbb),
+ q(2694) => q(hbn),
+ q(2695) => q(hbo),
+ q(2696) => q(hbu),
+ q(2697) => q(hca),
+ q(2698) => q(hch),
+ q(2699) => q(hdn),
+ q(2700) => q(hds),
+ q(2701) => q(hdy),
+ q(2702) => q(hea),
+ q(2703) => q(hed),
+ q(2704) => q(heg),
+ q(2705) => q(heh),
+ q(2706) => q(hei),
+ q(2707) => q(hem),
+ q(2708) => q(hgm),
+ q(2709) => q(hgw),
+ q(2710) => q(hhi),
+ q(2711) => q(hhr),
+ q(2712) => q(hhy),
+ q(2713) => q(hia),
+ q(2714) => q(hib),
+ q(2715) => q(hid),
+ q(2716) => q(hif),
+ q(2717) => q(hig),
+ q(2718) => q(hih),
+ q(2719) => q(hii),
+ q(2720) => q(hij),
+ q(2721) => q(hik),
+ q(2722) => q(hio),
+ q(2723) => q(hir),
+ q(2724) => q(hiw),
+ q(2725) => q(hix),
+ q(2726) => q(hji),
+ q(2727) => q(hka),
+ q(2728) => q(hke),
+ q(2729) => q(hkk),
+ q(2730) => q(hks),
+ q(2731) => q(hla),
+ q(2732) => q(hlb),
+ q(2733) => q(hld),
+ q(2734) => q(hle),
+ q(2735) => q(hlt),
+ q(2736) => q(hlu),
+ q(2737) => q(hma),
+ q(2738) => q(hmb),
+ q(2739) => q(hmc),
+ q(2740) => q(hmd),
+ q(2741) => q(hme),
+ q(2742) => q(hmf),
+ q(2743) => q(hmg),
+ q(2744) => q(hmh),
+ q(2745) => q(hmi),
+ q(2746) => q(hmj),
+ q(2747) => q(hmk),
+ q(2748) => q(hml),
+ q(2749) => q(hmm),
+ q(2750) => q(hmp),
+ q(2751) => q(hmq),
+ q(2752) => q(hmr),
+ q(2753) => q(hms),
+ q(2754) => q(hmt),
+ q(2755) => q(hmu),
+ q(2756) => q(hmv),
+ q(2757) => q(hmw),
+ q(2758) => q(hmy),
+ q(2759) => q(hmz),
+ q(2760) => q(hna),
+ q(2761) => q(hnd),
+ q(2762) => q(hne),
+ q(2763) => q(hnh),
+ q(2764) => q(hni),
+ q(2765) => q(hnj),
+ q(2766) => q(hnn),
+ q(2767) => q(hno),
+ q(2768) => q(hns),
+ q(2769) => q(hnu),
+ q(2770) => q(hoa),
+ q(2771) => q(hob),
+ q(2772) => q(hoc),
+ q(2773) => q(hod),
+ q(2774) => q(hoe),
+ q(2775) => q(hoh),
+ q(2776) => q(hoi),
+ q(2777) => q(hoj),
+ q(2778) => q(hol),
+ q(2779) => q(hom),
+ q(2780) => q(hoo),
+ q(2781) => q(hop),
+ q(2782) => q(hor),
+ q(2783) => q(hos),
+ q(2784) => q(hot),
+ q(2785) => q(hov),
+ q(2786) => q(how),
+ q(2787) => q(hoy),
+ q(2788) => q(hoz),
+ q(2789) => q(hpo),
+ q(2790) => q(hps),
+ q(2791) => q(hra),
+ q(2792) => q(hre),
+ q(2793) => q(hrk),
+ q(2794) => q(hrm),
+ q(2795) => q(hro),
+ q(2796) => q(hrr),
+ q(2797) => q(hrt),
+ q(2798) => q(hru),
+ q(2799) => q(hrx),
+ q(2800) => q(hrz),
+ q(2801) => q(hsh),
+ q(2802) => q(hsl),
+ q(2803) => q(hsn),
+ q(2804) => q(hss),
+ q(2805) => q(hti),
+ q(2806) => q(hto),
+ q(2807) => q(hts),
+ q(2808) => q(htu),
+ q(2809) => q(htx),
+ q(2810) => q(hub),
+ q(2811) => q(huc),
+ q(2812) => q(hud),
+ q(2813) => q(hue),
+ q(2814) => q(huf),
+ q(2815) => q(hug),
+ q(2816) => q(huh),
+ q(2817) => q(hui),
+ q(2818) => q(huj),
+ q(2819) => q(huk),
+ q(2820) => q(hul),
+ q(2821) => q(hum),
+ q(2822) => q(huo),
+ q(2823) => q(huq),
+ q(2824) => q(hur),
+ q(2825) => q(hus),
+ q(2826) => q(hut),
+ q(2827) => q(huu),
+ q(2828) => q(huv),
+ q(2829) => q(huw),
+ q(2830) => q(hux),
+ q(2831) => q(huy),
+ q(2832) => q(huz),
+ q(2833) => q(hvc),
+ q(2834) => q(hve),
+ q(2835) => q(hvk),
+ q(2836) => q(hvn),
+ q(2837) => q(hvv),
+ q(2838) => q(hwa),
+ q(2839) => q(hwc),
+ q(2840) => q(hwo),
+ q(2841) => q(hya),
+ q(2842) => q(iai),
+ q(2843) => q(ian),
+ q(2844) => q(iap),
+ q(2845) => q(iar),
+ q(2846) => q(ibb),
+ q(2847) => q(ibd),
+ q(2848) => q(ibe),
+ q(2849) => q(ibg),
+ q(2850) => q(ibi),
+ q(2851) => q(ibl),
+ q(2852) => q(ibm),
+ q(2853) => q(ibn),
+ q(2854) => q(ibr),
+ q(2855) => q(ibu),
+ q(2856) => q(iby),
+ q(2857) => q(ica),
+ q(2858) => q(ich),
+ q(2859) => q(icl),
+ q(2860) => q(icr),
+ q(2861) => q(ida),
+ q(2862) => q(idb),
+ q(2863) => q(idc),
+ q(2864) => q(idd),
+ q(2865) => q(ide),
+ q(2866) => q(idi),
+ q(2867) => q(idr),
+ q(2868) => q(ids),
+ q(2869) => q(idt),
+ q(2870) => q(idu),
+ q(2871) => q(ifa),
+ q(2872) => q(ifb),
+ q(2873) => q(ife),
+ q(2874) => q(iff),
+ q(2875) => q(ifk),
+ q(2876) => q(ifm),
+ q(2877) => q(ifu),
+ q(2878) => q(ify),
+ q(2879) => q(igb),
+ q(2880) => q(ige),
+ q(2881) => q(igg),
+ q(2882) => q(igl),
+ q(2883) => q(igm),
+ q(2884) => q(ign),
+ q(2885) => q(igo),
+ q(2886) => q(igs),
+ q(2887) => q(igw),
+ q(2888) => q(ihb),
+ q(2889) => q(ihi),
+ q(2890) => q(ihp),
+ q(2891) => q(ijc),
+ q(2892) => q(ije),
+ q(2893) => q(ijj),
+ q(2894) => q(ijn),
+ q(2895) => q(ijs),
+ q(2896) => q(ike),
+ q(2897) => q(iki),
+ q(2898) => q(ikk),
+ q(2899) => q(ikl),
+ q(2900) => q(iko),
+ q(2901) => q(ikp),
+ q(2902) => q(ikt),
+ q(2903) => q(ikv),
+ q(2904) => q(ikw),
+ q(2905) => q(ikx),
+ q(2906) => q(ikz),
+ q(2907) => q(ila),
+ q(2908) => q(ilb),
+ q(2909) => q(ilg),
+ q(2910) => q(ili),
+ q(2911) => q(ilk),
+ q(2912) => q(ill),
+ q(2913) => q(ils),
+ q(2914) => q(ilu),
+ q(2915) => q(ilv),
+ q(2916) => q(ilw),
+ q(2917) => q(ima),
+ q(2918) => q(ime),
+ q(2919) => q(imi),
+ q(2920) => q(iml),
+ q(2921) => q(imn),
+ q(2922) => q(imo),
+ q(2923) => q(imr),
+ q(2924) => q(ims),
+ q(2925) => q(imy),
+ q(2926) => q(inb),
+ q(2927) => q(ing),
+ q(2928) => q(inj),
+ q(2929) => q(inl),
+ q(2930) => q(inm),
+ q(2931) => q(inn),
+ q(2932) => q(ino),
+ q(2933) => q(inp),
+ q(2934) => q(ins),
+ q(2935) => q(int),
+ q(2936) => q(inz),
+ q(2937) => q(ior),
+ q(2938) => q(iou),
+ q(2939) => q(iow),
+ q(2940) => q(ipi),
+ q(2941) => q(ipo),
+ q(2942) => q(iqu),
+ q(2943) => q(ire),
+ q(2944) => q(irh),
+ q(2945) => q(iri),
+ q(2946) => q(irk),
+ q(2947) => q(irn),
+ q(2948) => q(irr),
+ q(2949) => q(iru),
+ q(2950) => q(irx),
+ q(2951) => q(iry),
+ q(2952) => q(isa),
+ q(2953) => q(isc),
+ q(2954) => q(isd),
+ q(2955) => q(ise),
+ q(2956) => q(isg),
+ q(2957) => q(ish),
+ q(2958) => q(isi),
+ q(2959) => q(isk),
+ q(2960) => q(ism),
+ q(2961) => q(isn),
+ q(2962) => q(iso),
+ q(2963) => q(isr),
+ q(2964) => q(ist),
+ q(2965) => q(isu),
+ q(2966) => q(itb),
+ q(2967) => q(ite),
+ q(2968) => q(iti),
+ q(2969) => q(itk),
+ q(2970) => q(itl),
+ q(2971) => q(itm),
+ q(2972) => q(ito),
+ q(2973) => q(itr),
+ q(2974) => q(its),
+ q(2975) => q(itt),
+ q(2976) => q(itv),
+ q(2977) => q(itw),
+ q(2978) => q(itx),
+ q(2979) => q(ity),
+ q(2980) => q(itz),
+ q(2981) => q(ium),
+ q(2982) => q(ivb),
+ q(2983) => q(ivv),
+ q(2984) => q(iwk),
+ q(2985) => q(iwm),
+ q(2986) => q(iwo),
+ q(2987) => q(iws),
+ q(2988) => q(ixc),
+ q(2989) => q(ixl),
+ q(2990) => q(iya),
+ q(2991) => q(iyo),
+ q(2992) => q(iyx),
+ q(2993) => q(izh),
+ q(2994) => q(izi),
+ q(2995) => q(izr),
+ q(2996) => q(jaa),
+ q(2997) => q(jab),
+ q(2998) => q(jac),
+ q(2999) => q(jad),
+ q(3000) => q(jae),
+ q(3001) => q(jaf),
+ q(3002) => q(jah),
+ q(3003) => q(jaj),
+ q(3004) => q(jak),
+ q(3005) => q(jal),
+ q(3006) => q(jam),
+ q(3007) => q(jao),
+ q(3008) => q(jaq),
+ q(3009) => q(jar),
+ q(3010) => q(jas),
+ q(3011) => q(jat),
+ q(3012) => q(jau),
+ q(3013) => q(jax),
+ q(3014) => q(jay),
+ q(3015) => q(jaz),
+ q(3016) => q(jbe),
+ q(3017) => q(jbj),
+ q(3018) => q(jbn),
+ q(3019) => q(jbr),
+ q(3020) => q(jbt),
+ q(3021) => q(jbu),
+ q(3022) => q(jcs),
+ q(3023) => q(jct),
+ q(3024) => q(jda),
+ q(3025) => q(jdg),
+ q(3026) => q(jdt),
+ q(3027) => q(jeb),
+ q(3028) => q(jee),
+ q(3029) => q(jeg),
+ q(3030) => q(jeh),
+ q(3031) => q(jei),
+ q(3032) => q(jek),
+ q(3033) => q(jel),
+ q(3034) => q(jen),
+ q(3035) => q(jer),
+ q(3036) => q(jet),
+ q(3037) => q(jeu),
+ q(3038) => q(jgb),
+ q(3039) => q(jge),
+ q(3040) => q(jgo),
+ q(3041) => q(jhi),
+ q(3042) => q(jhs),
+ q(3043) => q(jia),
+ q(3044) => q(jib),
+ q(3045) => q(jic),
+ q(3046) => q(jid),
+ q(3047) => q(jie),
+ q(3048) => q(jig),
+ q(3049) => q(jih),
+ q(3050) => q(jii),
+ q(3051) => q(jil),
+ q(3052) => q(jim),
+ q(3053) => q(jio),
+ q(3054) => q(jiq),
+ q(3055) => q(jit),
+ q(3056) => q(jiu),
+ q(3057) => q(jiv),
+ q(3058) => q(jiy),
+ q(3059) => q(jko),
+ q(3060) => q(jku),
+ q(3061) => q(jle),
+ q(3062) => q(jls),
+ q(3063) => q(jma),
+ q(3064) => q(jmb),
+ q(3065) => q(jmc),
+ q(3066) => q(jmd),
+ q(3067) => q(jmi),
+ q(3068) => q(jml),
+ q(3069) => q(jmn),
+ q(3070) => q(jmr),
+ q(3071) => q(jms),
+ q(3072) => q(jmx),
+ q(3073) => q(jna),
+ q(3074) => q(jnd),
+ q(3075) => q(jng),
+ q(3076) => q(jni),
+ q(3077) => q(jnj),
+ q(3078) => q(jnl),
+ q(3079) => q(jns),
+ q(3080) => q(job),
+ q(3081) => q(jod),
+ q(3082) => q(jor),
+ q(3083) => q(jos),
+ q(3084) => q(jow),
+ q(3085) => q(jpa),
+ q(3086) => q(jqr),
+ q(3087) => q(jra),
+ q(3088) => q(jrr),
+ q(3089) => q(jrt),
+ q(3090) => q(jru),
+ q(3091) => q(jsl),
+ q(3092) => q(jua),
+ q(3093) => q(jub),
+ q(3094) => q(juc),
+ q(3095) => q(jud),
+ q(3096) => q(juh),
+ q(3097) => q(juk),
+ q(3098) => q(jul),
+ q(3099) => q(jum),
+ q(3100) => q(jun),
+ q(3101) => q(juo),
+ q(3102) => q(jup),
+ q(3103) => q(jur),
+ q(3104) => q(jus),
+ q(3105) => q(jut),
+ q(3106) => q(juu),
+ q(3107) => q(juw),
+ q(3108) => q(juy),
+ q(3109) => q(jvd),
+ q(3110) => q(jvn),
+ q(3111) => q(jwi),
+ q(3112) => q(jya),
+ q(3113) => q(jye),
+ q(3114) => q(jyy),
+ q(3115) => q(kad),
+ q(3116) => q(kae),
+ q(3117) => q(kaf),
+ q(3118) => q(kag),
+ q(3119) => q(kah),
+ q(3120) => q(kai),
+ q(3121) => q(kaj),
+ q(3122) => q(kak),
+ q(3123) => q(kao),
+ q(3124) => q(kap),
+ q(3125) => q(kaq),
+ q(3126) => q(kav),
+ q(3127) => q(kax),
+ q(3128) => q(kay),
+ q(3129) => q(kba),
+ q(3130) => q(kbb),
+ q(3131) => q(kbc),
+ q(3132) => q(kbe),
+ q(3133) => q(kbf),
+ q(3134) => q(kbg),
+ q(3135) => q(kbh),
+ q(3136) => q(kbi),
+ q(3137) => q(kbj),
+ q(3138) => q(kbk),
+ q(3139) => q(kbl),
+ q(3140) => q(kbm),
+ q(3141) => q(kbn),
+ q(3142) => q(kbo),
+ q(3143) => q(kbp),
+ q(3144) => q(kbq),
+ q(3145) => q(kbr),
+ q(3146) => q(kbs),
+ q(3147) => q(kbt),
+ q(3148) => q(kbu),
+ q(3149) => q(kbv),
+ q(3150) => q(kbw),
+ q(3151) => q(kbx),
+ q(3152) => q(kby),
+ q(3153) => q(kbz),
+ q(3154) => q(kca),
+ q(3155) => q(kcb),
+ q(3156) => q(kcc),
+ q(3157) => q(kcd),
+ q(3158) => q(kce),
+ q(3159) => q(kcf),
+ q(3160) => q(kcg),
+ q(3161) => q(kch),
+ q(3162) => q(kci),
+ q(3163) => q(kcj),
+ q(3164) => q(kck),
+ q(3165) => q(kcl),
+ q(3166) => q(kcm),
+ q(3167) => q(kcn),
+ q(3168) => q(kco),
+ q(3169) => q(kcp),
+ q(3170) => q(kcq),
+ q(3171) => q(kcr),
+ q(3172) => q(kcs),
+ q(3173) => q(kct),
+ q(3174) => q(kcu),
+ q(3175) => q(kcv),
+ q(3176) => q(kcw),
+ q(3177) => q(kcx),
+ q(3178) => q(kcy),
+ q(3179) => q(kcz),
+ q(3180) => q(kda),
+ q(3181) => q(kdc),
+ q(3182) => q(kdd),
+ q(3183) => q(kde),
+ q(3184) => q(kdf),
+ q(3185) => q(kdg),
+ q(3186) => q(kdh),
+ q(3187) => q(kdi),
+ q(3188) => q(kdj),
+ q(3189) => q(kdk),
+ q(3190) => q(kdl),
+ q(3191) => q(kdm),
+ q(3192) => q(kdn),
+ q(3193) => q(kdp),
+ q(3194) => q(kdq),
+ q(3195) => q(kdr),
+ q(3196) => q(kdt),
+ q(3197) => q(kdu),
+ q(3198) => q(kdv),
+ q(3199) => q(kdw),
+ q(3200) => q(kdx),
+ q(3201) => q(kdy),
+ q(3202) => q(kdz),
+ q(3203) => q(kea),
+ q(3204) => q(keb),
+ q(3205) => q(kec),
+ q(3206) => q(ked),
+ q(3207) => q(kee),
+ q(3208) => q(kef),
+ q(3209) => q(keg),
+ q(3210) => q(keh),
+ q(3211) => q(kei),
+ q(3212) => q(kej),
+ q(3213) => q(kek),
+ q(3214) => q(kel),
+ q(3215) => q(kem),
+ q(3216) => q(ken),
+ q(3217) => q(keo),
+ q(3218) => q(kep),
+ q(3219) => q(keq),
+ q(3220) => q(ker),
+ q(3221) => q(kes),
+ q(3222) => q(ket),
+ q(3223) => q(keu),
+ q(3224) => q(kev),
+ q(3225) => q(kew),
+ q(3226) => q(kex),
+ q(3227) => q(key),
+ q(3228) => q(kez),
+ q(3229) => q(kfa),
+ q(3230) => q(kfb),
+ q(3231) => q(kfc),
+ q(3232) => q(kfd),
+ q(3233) => q(kfe),
+ q(3234) => q(kff),
+ q(3235) => q(kfg),
+ q(3236) => q(kfh),
+ q(3237) => q(kfi),
+ q(3238) => q(kfj),
+ q(3239) => q(kfk),
+ q(3240) => q(kfl),
+ q(3241) => q(kfm),
+ q(3242) => q(kfn),
+ q(3243) => q(kfo),
+ q(3244) => q(kfp),
+ q(3245) => q(kfq),
+ q(3246) => q(kfr),
+ q(3247) => q(kfs),
+ q(3248) => q(kft),
+ q(3249) => q(kfu),
+ q(3250) => q(kfv),
+ q(3251) => q(kfw),
+ q(3252) => q(kfx),
+ q(3253) => q(kfy),
+ q(3254) => q(kfz),
+ q(3255) => q(kga),
+ q(3256) => q(kgb),
+ q(3257) => q(kgc),
+ q(3258) => q(kgd),
+ q(3259) => q(kge),
+ q(3260) => q(kgf),
+ q(3261) => q(kgg),
+ q(3262) => q(kgh),
+ q(3263) => q(kgi),
+ q(3264) => q(kgj),
+ q(3265) => q(kgk),
+ q(3266) => q(kgl),
+ q(3267) => q(kuq),
+ q(3268) => q(kgn),
+ q(3269) => q(kgo),
+ q(3270) => q(kgp),
+ q(3271) => q(kgq),
+ q(3272) => q(kgr),
+ q(3273) => q(kgs),
+ q(3274) => q(kgt),
+ q(3275) => q(kgu),
+ q(3276) => q(kgv),
+ q(3277) => q(kgw),
+ q(3278) => q(kgx),
+ q(3279) => q(kgy),
+ q(3280) => q(khb),
+ q(3281) => q(khc),
+ q(3282) => q(khd),
+ q(3283) => q(khe),
+ q(3284) => q(khf),
+ q(3285) => q(khg),
+ q(3286) => q(khh),
+ q(3287) => q(khj),
+ q(3288) => q(khk),
+ q(3289) => q(khl),
+ q(3290) => q(khn),
+ q(3291) => q(khp),
+ q(3292) => q(khq),
+ q(3293) => q(khr),
+ q(3294) => q(khs),
+ q(3295) => q(kht),
+ q(3296) => q(khu),
+ q(3297) => q(khv),
+ q(3298) => q(khw),
+ q(3299) => q(khx),
+ q(3300) => q(khy),
+ q(3301) => q(khz),
+ q(3302) => q(kia),
+ q(3303) => q(kib),
+ q(3304) => q(kic),
+ q(3305) => q(kid),
+ q(3306) => q(kie),
+ q(3307) => q(kif),
+ q(3308) => q(kig),
+ q(3309) => q(kih),
+ q(3310) => q(kii),
+ q(3311) => q(kij),
+ q(3312) => q(kil),
+ q(3313) => q(kim),
+ q(3314) => q(kio),
+ q(3315) => q(kip),
+ q(3316) => q(kiq),
+ q(3317) => q(kis),
+ q(3318) => q(kit),
+ q(3319) => q(kiu),
+ q(3320) => q(kiv),
+ q(3321) => q(kiw),
+ q(3322) => q(kix),
+ q(3323) => q(kiy),
+ q(3324) => q(kiz),
+ q(3325) => q(kja),
+ q(3326) => q(kjb),
+ q(3327) => q(kjc),
+ q(3328) => q(kjd),
+ q(3329) => q(kje),
+ q(3330) => q(kjf),
+ q(3331) => q(kjg),
+ q(3332) => q(kjh),
+ q(3333) => q(kji),
+ q(3334) => q(kjj),
+ q(3335) => q(kjk),
+ q(3336) => q(kjl),
+ q(3337) => q(kjm),
+ q(3338) => q(kjn),
+ q(3339) => q(kjo),
+ q(3340) => q(kjp),
+ q(3341) => q(kjq),
+ q(3342) => q(kjr),
+ q(3343) => q(kjs),
+ q(3344) => q(kjt),
+ q(3345) => q(kju),
+ q(3346) => q(kjx),
+ q(3347) => q(kjy),
+ q(3348) => q(kjz),
+ q(3349) => q(kka),
+ q(3350) => q(kkb),
+ q(3351) => q(kkc),
+ q(3352) => q(kkd),
+ q(3353) => q(kke),
+ q(3354) => q(kkf),
+ q(3355) => q(kkg),
+ q(3356) => q(kkh),
+ q(3357) => q(kki),
+ q(3358) => q(kkj),
+ q(3359) => q(kkk),
+ q(3360) => q(kkl),
+ q(3361) => q(kkm),
+ q(3362) => q(kkn),
+ q(3363) => q(kko),
+ q(3364) => q(kkp),
+ q(3365) => q(kkq),
+ q(3366) => q(kkr),
+ q(3367) => q(kks),
+ q(3368) => q(kkt),
+ q(3369) => q(kku),
+ q(3370) => q(kkv),
+ q(3371) => q(kkw),
+ q(3372) => q(kkx),
+ q(3373) => q(kky),
+ q(3374) => q(kkz),
+ q(3375) => q(kla),
+ q(3376) => q(klb),
+ q(3377) => q(klc),
+ q(3378) => q(kld),
+ q(3379) => q(kle),
+ q(3380) => q(klf),
+ q(3381) => q(klg),
+ q(3382) => q(klh),
+ q(3383) => q(kli),
+ q(3384) => q(klj),
+ q(3385) => q(klk),
+ q(3386) => q(kll),
+ q(3387) => q(klm),
+ q(3388) => q(kln),
+ q(3389) => q(klo),
+ q(3390) => q(klp),
+ q(3391) => q(klq),
+ q(3392) => q(klr),
+ q(3393) => q(kls),
+ q(3394) => q(klt),
+ q(3395) => q(klu),
+ q(3396) => q(klv),
+ q(3397) => q(klw),
+ q(3398) => q(klx),
+ q(3399) => q(kly),
+ q(3400) => q(klz),
+ q(3401) => q(kma),
+ q(3402) => q(kmc),
+ q(3403) => q(kmd),
+ q(3404) => q(kme),
+ q(3405) => q(kmf),
+ q(3406) => q(kmg),
+ q(3407) => q(kmh),
+ q(3408) => q(kmi),
+ q(3409) => q(kmj),
+ q(3410) => q(kmk),
+ q(3411) => q(kml),
+ q(3412) => q(kmm),
+ q(3413) => q(kmn),
+ q(3414) => q(kmo),
+ q(3415) => q(kmp),
+ q(3416) => q(kmq),
+ q(3417) => q(kmr),
+ q(3418) => q(kms),
+ q(3419) => q(kmt),
+ q(3420) => q(kmu),
+ q(3421) => q(kmv),
+ q(3422) => q(kmw),
+ q(3423) => q(kmx),
+ q(3424) => q(kmy),
+ q(3425) => q(kmz),
+ q(3426) => q(kna),
+ q(3427) => q(knb),
+ q(3428) => q(knc),
+ q(3429) => q(knd),
+ q(3430) => q(kne),
+ q(3431) => q(knf),
+ q(3432) => q(kng),
+ q(3433) => q(kni),
+ q(3434) => q(knj),
+ q(3435) => q(knk),
+ q(3436) => q(knl),
+ q(3437) => q(knm),
+ q(3438) => q(knn),
+ q(3439) => q(kno),
+ q(3440) => q(knp),
+ q(3441) => q(knq),
+ q(3442) => q(knr),
+ q(3443) => q(kns),
+ q(3444) => q(knt),
+ q(3445) => q(knu),
+ q(3446) => q(knv),
+ q(3447) => q(knw),
+ q(3448) => q(knx),
+ q(3449) => q(kny),
+ q(3450) => q(knz),
+ q(3451) => q(koa),
+ q(3452) => q(koc),
+ q(3453) => q(kod),
+ q(3454) => q(koe),
+ q(3455) => q(kof),
+ q(3456) => q(kog),
+ q(3457) => q(koh),
+ q(3458) => q(koi),
+ q(3459) => q(koj),
+ q(3460) => q(kol),
+ q(3461) => q(koo),
+ q(3462) => q(kop),
+ q(3463) => q(koq),
+ q(3464) => q(kot),
+ q(3465) => q(kou),
+ q(3466) => q(kov),
+ q(3467) => q(kow),
+ q(3468) => q(kox),
+ q(3469) => q(koy),
+ q(3470) => q(koz),
+ q(3471) => q(kpa),
+ q(3472) => q(kpb),
+ q(3473) => q(kpc),
+ q(3474) => q(kpd),
+ q(3475) => q(kpf),
+ q(3476) => q(kpg),
+ q(3477) => q(kph),
+ q(3478) => q(kpi),
+ q(3479) => q(kpj),
+ q(3480) => q(kpk),
+ q(3481) => q(kpl),
+ q(3482) => q(kpm),
+ q(3483) => q(kpn),
+ q(3484) => q(kpo),
+ q(3485) => q(kpp),
+ q(3486) => q(kpq),
+ q(3487) => q(kpr),
+ q(3488) => q(kps),
+ q(3489) => q(kpt),
+ q(3490) => q(kpu),
+ q(3491) => q(kpv),
+ q(3492) => q(kpw),
+ q(3493) => q(kpx),
+ q(3494) => q(kpy),
+ q(3495) => q(kpz),
+ q(3496) => q(kqa),
+ q(3497) => q(kqb),
+ q(3498) => q(kqc),
+ q(3499) => q(kqd),
+ q(3500) => q(kqe),
+ q(3501) => q(kqf),
+ q(3502) => q(kqg),
+ q(3503) => q(kqh),
+ q(3504) => q(kqi),
+ q(3505) => q(kqj),
+ q(3506) => q(kqk),
+ q(3507) => q(kql),
+ q(3508) => q(kqm),
+ q(3509) => q(kqn),
+ q(3510) => q(kqo),
+ q(3511) => q(kqp),
+ q(3512) => q(kqq),
+ q(3513) => q(kqr),
+ q(3514) => q(kqs),
+ q(3515) => q(kqt),
+ q(3516) => q(kqu),
+ q(3517) => q(kqv),
+ q(3518) => q(kqw),
+ q(3519) => q(kqx),
+ q(3520) => q(kqy),
+ q(3521) => q(kqz),
+ q(3522) => q(kra),
+ q(3523) => q(krb),
+ q(3524) => q(krd),
+ q(3525) => q(kre),
+ q(3526) => q(krf),
+ q(3527) => q(krh),
+ q(3528) => q(kri),
+ q(3529) => q(krj),
+ q(3530) => q(krk),
+ q(3531) => q(krm),
+ q(3532) => q(krn),
+ q(3533) => q(krp),
+ q(3534) => q(krr),
+ q(3535) => q(krs),
+ q(3536) => q(krt),
+ q(3537) => q(krv),
+ q(3538) => q(krw),
+ q(3539) => q(krx),
+ q(3540) => q(kry),
+ q(3541) => q(krz),
+ q(3542) => q(ksa),
+ q(3543) => q(ksb),
+ q(3544) => q(ksc),
+ q(3545) => q(ksd),
+ q(3546) => q(kse),
+ q(3547) => q(ksf),
+ q(3548) => q(ksg),
+ q(3549) => q(ksh),
+ q(3550) => q(ksi),
+ q(3551) => q(ksj),
+ q(3552) => q(ksk),
+ q(3553) => q(ksl),
+ q(3554) => q(ksm),
+ q(3555) => q(ksn),
+ q(3556) => q(kso),
+ q(3557) => q(ksp),
+ q(3558) => q(ksq),
+ q(3559) => q(ksr),
+ q(3560) => q(kss),
+ q(3561) => q(kst),
+ q(3562) => q(ksu),
+ q(3563) => q(ksv),
+ q(3564) => q(ksw),
+ q(3565) => q(ksx),
+ q(3566) => q(ksy),
+ q(3567) => q(ksz),
+ q(3568) => q(kta),
+ q(3569) => q(ktb),
+ q(3570) => q(ktc),
+ q(3571) => q(ktd),
+ q(3572) => q(kte),
+ q(3573) => q(ktf),
+ q(3574) => q(ktg),
+ q(3575) => q(kth),
+ q(3576) => q(kti),
+ q(3577) => q(ktj),
+ q(3578) => q(ktk),
+ q(3579) => q(ktl),
+ q(3580) => q(ktm),
+ q(3581) => q(ktn),
+ q(3582) => q(kto),
+ q(3583) => q(ktp),
+ q(3584) => q(ktq),
+ q(3585) => q(ktr),
+ q(3586) => q(kts),
+ q(3587) => q(ktt),
+ q(3588) => q(ktu),
+ q(3589) => q(ktv),
+ q(3590) => q(ktw),
+ q(3591) => q(ktx),
+ q(3592) => q(kty),
+ q(3593) => q(ktz),
+ q(3594) => q(kub),
+ q(3595) => q(kuc),
+ q(3596) => q(kud),
+ q(3597) => q(kue),
+ q(3598) => q(kuf),
+ q(3599) => q(kug),
+ q(3600) => q(kuh),
+ q(3601) => q(kui),
+ q(3602) => q(kuj),
+ q(3603) => q(kuk),
+ q(3604) => q(kul),
+ q(3605) => q(kun),
+ q(3606) => q(kuo),
+ q(3607) => q(kup),
+ q(3608) => q(kus),
+ q(3609) => q(kuu),
+ q(3610) => q(kuv),
+ q(3611) => q(kuw),
+ q(3612) => q(kux),
+ q(3613) => q(kuy),
+ q(3614) => q(kuz),
+ q(3615) => q(kva),
+ q(3616) => q(kvb),
+ q(3617) => q(kvc),
+ q(3618) => q(kvd),
+ q(3619) => q(kve),
+ q(3620) => q(kvf),
+ q(3621) => q(kvg),
+ q(3622) => q(kvh),
+ q(3623) => q(kvi),
+ q(3624) => q(kvj),
+ q(3625) => q(kvk),
+ q(3626) => q(kvl),
+ q(3627) => q(kvm),
+ q(3628) => q(kvn),
+ q(3629) => q(kvo),
+ q(3630) => q(kvp),
+ q(3631) => q(kvq),
+ q(3632) => q(kvr),
+ q(3633) => q(kvs),
+ q(3634) => q(kvt),
+ q(3635) => q(kvu),
+ q(3636) => q(kvv),
+ q(3637) => q(kvw),
+ q(3638) => q(kvx),
+ q(3639) => q(kvy),
+ q(3640) => q(kvz),
+ q(3641) => q(kwa),
+ q(3642) => q(kwb),
+ q(3643) => q(kwc),
+ q(3644) => q(kwd),
+ q(3645) => q(kwe),
+ q(3646) => q(kwf),
+ q(3647) => q(kwg),
+ q(3648) => q(kwh),
+ q(3649) => q(kwi),
+ q(3650) => q(kwj),
+ q(3651) => q(kwk),
+ q(3652) => q(kwl),
+ q(3653) => q(kwm),
+ q(3654) => q(kwn),
+ q(3655) => q(kwo),
+ q(3656) => q(kwp),
+ q(3657) => q(kwq),
+ q(3658) => q(kwr),
+ q(3659) => q(kws),
+ q(3660) => q(kwt),
+ q(3661) => q(kwu),
+ q(3662) => q(kwv),
+ q(3663) => q(kww),
+ q(3664) => q(kwx),
+ q(3665) => q(kwy),
+ q(3666) => q(kwz),
+ q(3667) => q(kxa),
+ q(3668) => q(kxb),
+ q(3669) => q(kxc),
+ q(3670) => q(kxd),
+ q(3671) => q(kxe),
+ q(3672) => q(kxf),
+ q(3673) => q(kxh),
+ q(3674) => q(kxi),
+ q(3675) => q(kxj),
+ q(3676) => q(kxk),
+ q(3677) => q(kxl),
+ q(3678) => q(kxm),
+ q(3679) => q(kxn),
+ q(3680) => q(kxo),
+ q(3681) => q(kxp),
+ q(3682) => q(kxq),
+ q(3683) => q(kxr),
+ q(3684) => q(kxs),
+ q(3685) => q(kxt),
+ q(3686) => q(kxu),
+ q(3687) => q(kxv),
+ q(3688) => q(kxw),
+ q(3689) => q(kxx),
+ q(3690) => q(kxy),
+ q(3691) => q(kxz),
+ q(3692) => q(kya),
+ q(3693) => q(kyb),
+ q(3694) => q(kyc),
+ q(3695) => q(kyd),
+ q(3696) => q(kye),
+ q(3697) => q(kyf),
+ q(3698) => q(kyg),
+ q(3699) => q(kyh),
+ q(3700) => q(kyi),
+ q(3701) => q(kyj),
+ q(3702) => q(kyk),
+ q(3703) => q(kyl),
+ q(3704) => q(kym),
+ q(3705) => q(kyn),
+ q(3706) => q(kyo),
+ q(3707) => q(kyp),
+ q(3708) => q(kyq),
+ q(3709) => q(kyr),
+ q(3710) => q(kys),
+ q(3711) => q(kyt),
+ q(3712) => q(kyu),
+ q(3713) => q(kyv),
+ q(3714) => q(kyw),
+ q(3715) => q(kyx),
+ q(3716) => q(kyy),
+ q(3717) => q(kyz),
+ q(3718) => q(kza),
+ q(3719) => q(kzb),
+ q(3720) => q(kzc),
+ q(3721) => q(kzd),
+ q(3722) => q(kze),
+ q(3723) => q(kzf),
+ q(3724) => q(kzg),
+ q(3725) => q(kzh),
+ q(3726) => q(kzi),
+ q(3727) => q(kzj),
+ q(3728) => q(kzk),
+ q(3729) => q(kzl),
+ q(3730) => q(kzm),
+ q(3731) => q(kzn),
+ q(3732) => q(kzo),
+ q(3733) => q(kzp),
+ q(3734) => q(kzq),
+ q(3735) => q(kzr),
+ q(3736) => q(kzs),
+ q(3737) => q(kzt),
+ q(3738) => q(kzu),
+ q(3739) => q(kzv),
+ q(3740) => q(kzw),
+ q(3741) => q(kzx),
+ q(3742) => q(kzy),
+ q(3743) => q(kzz),
+ q(3744) => q(laa),
+ q(3745) => q(lab),
+ q(3746) => q(lac),
+ q(3747) => q(lae),
+ q(3748) => q(laf),
+ q(3749) => q(lag),
+ q(3750) => q(lai),
+ q(3751) => q(laj),
+ q(3752) => q(lak),
+ q(3753) => q(lal),
+ q(3754) => q(lan),
+ q(3755) => q(lap),
+ q(3756) => q(laq),
+ q(3757) => q(lar),
+ q(3758) => q(las),
+ q(3759) => q(lau),
+ q(3760) => q(law),
+ q(3761) => q(lax),
+ q(3762) => q(lay),
+ q(3763) => q(laz),
+ q(3764) => q(lba),
+ q(3765) => q(lbb),
+ q(3766) => q(lbc),
+ q(3767) => q(lbe),
+ q(3768) => q(lbf),
+ q(3769) => q(lbg),
+ q(3770) => q(lbi),
+ q(3771) => q(lbj),
+ q(3772) => q(lbk),
+ q(3773) => q(lbl),
+ q(3774) => q(lbm),
+ q(3775) => q(lbn),
+ q(3776) => q(lbo),
+ q(3777) => q(lbq),
+ q(3778) => q(lbr),
+ q(3779) => q(lbs),
+ q(3780) => q(lbt),
+ q(3781) => q(lbu),
+ q(3782) => q(lbv),
+ q(3783) => q(lbw),
+ q(3784) => q(lbx),
+ q(3785) => q(lby),
+ q(3786) => q(lbz),
+ q(3787) => q(lcc),
+ q(3788) => q(lcd),
+ q(3789) => q(lce),
+ q(3790) => q(lcf),
+ q(3791) => q(lch),
+ q(3792) => q(lcl),
+ q(3793) => q(lcm),
+ q(3794) => q(lcp),
+ q(3795) => q(lcq),
+ q(3796) => q(lcs),
+ q(3797) => q(ldb),
+ q(3798) => q(ldd),
+ q(3799) => q(ldg),
+ q(3800) => q(ldh),
+ q(3801) => q(ldi),
+ q(3802) => q(ldj),
+ q(3803) => q(ldk),
+ q(3804) => q(ldl),
+ q(3805) => q(ldm),
+ q(3806) => q(ldn),
+ q(3807) => q(ldo),
+ q(3808) => q(ldp),
+ q(3809) => q(ldq),
+ q(3810) => q(lea),
+ q(3811) => q(leb),
+ q(3812) => q(lec),
+ q(3813) => q(led),
+ q(3814) => q(lee),
+ q(3815) => q(lef),
+ q(3816) => q(leg),
+ q(3817) => q(leh),
+ q(3818) => q(lei),
+ q(3819) => q(lej),
+ q(3820) => q(lek),
+ q(3821) => q(lel),
+ q(3822) => q(lem),
+ q(3823) => q(len),
+ q(3824) => q(leo),
+ q(3825) => q(lep),
+ q(3826) => q(leq),
+ q(3827) => q(ler),
+ q(3828) => q(les),
+ q(3829) => q(let),
+ q(3830) => q(leu),
+ q(3831) => q(lev),
+ q(3832) => q(lew),
+ q(3833) => q(lex),
+ q(3834) => q(ley),
+ q(3835) => q(lfa),
+ q(3836) => q(lfn),
+ q(3837) => q(lga),
+ q(3838) => q(lgb),
+ q(3839) => q(lgg),
+ q(3840) => q(lgh),
+ q(3841) => q(lgi),
+ q(3842) => q(lgk),
+ q(3843) => q(lgl),
+ q(3844) => q(lgm),
+ q(3845) => q(lgn),
+ q(3846) => q(lgq),
+ q(3847) => q(lgr),
+ q(3848) => q(lgt),
+ q(3849) => q(lgu),
+ q(3850) => q(lgz),
+ q(3851) => q(lha),
+ q(3852) => q(lhh),
+ q(3853) => q(lhi),
+ q(3854) => q(lhl),
+ q(3855) => q(lhm),
+ q(3856) => q(lhn),
+ q(3857) => q(lhp),
+ q(3858) => q(lhs),
+ q(3859) => q(lht),
+ q(3860) => q(lhu),
+ q(3861) => q(lia),
+ q(3862) => q(lib),
+ q(3863) => q(lic),
+ q(3864) => q(lid),
+ q(3865) => q(lie),
+ q(3866) => q(lif),
+ q(3867) => q(lig),
+ q(3868) => q(lih),
+ q(3869) => q(lii),
+ q(3870) => q(lij),
+ q(3871) => q(lik),
+ q(3872) => q(lil),
+ q(3873) => q(lio),
+ q(3874) => q(lip),
+ q(3875) => q(liq),
+ q(3876) => q(lir),
+ q(3877) => q(lis),
+ q(3878) => q(liu),
+ q(3879) => q(liv),
+ q(3880) => q(liw),
+ q(3881) => q(lix),
+ q(3882) => q(liy),
+ q(3883) => q(liz),
+ q(3884) => q(lje),
+ q(3885) => q(lji),
+ q(3886) => q(ljl),
+ q(3887) => q(ljp),
+ q(3888) => q(lka),
+ q(3889) => q(lkb),
+ q(3890) => q(lkc),
+ q(3891) => q(lkd),
+ q(3892) => q(lke),
+ q(3893) => q(lkh),
+ q(3894) => q(lki),
+ q(3895) => q(lkj),
+ q(3896) => q(lkl),
+ q(3897) => q(lkn),
+ q(3898) => q(lko),
+ q(3899) => q(lkr),
+ q(3900) => q(lks),
+ q(3901) => q(lkt),
+ q(3902) => q(lky),
+ q(3903) => q(lla),
+ q(3904) => q(llb),
+ q(3905) => q(llc),
+ q(3906) => q(lld),
+ q(3907) => q(lle),
+ q(3908) => q(llf),
+ q(3909) => q(llg),
+ q(3910) => q(llh),
+ q(3911) => q(lli),
+ q(3912) => q(llk),
+ q(3913) => q(lll),
+ q(3914) => q(llm),
+ q(3915) => q(lln),
+ q(3916) => q(llo),
+ q(3917) => q(llp),
+ q(3918) => q(llq),
+ q(3919) => q(lls),
+ q(3920) => q(llu),
+ q(3921) => q(llx),
+ q(3922) => q(lma),
+ q(3923) => q(lmb),
+ q(3924) => q(lmc),
+ q(3925) => q(lmd),
+ q(3926) => q(lme),
+ q(3927) => q(lmf),
+ q(3928) => q(lmg),
+ q(3929) => q(lmh),
+ q(3930) => q(lmi),
+ q(3931) => q(lmj),
+ q(3932) => q(lmk),
+ q(3933) => q(lml),
+ q(3934) => q(lmm),
+ q(3935) => q(lmn),
+ q(3936) => q(lmo),
+ q(3937) => q(lmp),
+ q(3938) => q(lmq),
+ q(3939) => q(lmr),
+ q(3940) => q(lmu),
+ q(3941) => q(lmv),
+ q(3942) => q(lmw),
+ q(3943) => q(lmx),
+ q(3944) => q(lmy),
+ q(3945) => q(lmz),
+ q(3946) => q(lna),
+ q(3947) => q(lnb),
+ q(3948) => q(lnd),
+ q(3949) => q(lng),
+ q(3950) => q(lnh),
+ q(3951) => q(lni),
+ q(3952) => q(lnj),
+ q(3953) => q(lnl),
+ q(3954) => q(lnm),
+ q(3955) => q(lnn),
+ q(3956) => q(lno),
+ q(3957) => q(lns),
+ q(3958) => q(lnu),
+ q(3959) => q(lnz),
+ q(3960) => q(loa),
+ q(3961) => q(lob),
+ q(3962) => q(loc),
+ q(3963) => q(loe),
+ q(3964) => q(lof),
+ q(3965) => q(log),
+ q(3966) => q(loh),
+ q(3967) => q(loi),
+ q(3968) => q(loj),
+ q(3969) => q(lok),
+ q(3970) => q(lom),
+ q(3971) => q(lon),
+ q(3972) => q(loo),
+ q(3973) => q(lop),
+ q(3974) => q(loq),
+ q(3975) => q(lor),
+ q(3976) => q(los),
+ q(3977) => q(lot),
+ q(3978) => q(lou),
+ q(3979) => q(lov),
+ q(3980) => q(low),
+ q(3981) => q(lox),
+ q(3982) => q(loy),
+ q(3983) => q(lpa),
+ q(3984) => q(lpe),
+ q(3985) => q(lpn),
+ q(3986) => q(lpo),
+ q(3987) => q(lpx),
+ q(3988) => q(lra),
+ q(3989) => q(lrc),
+ q(3990) => q(lre),
+ q(3991) => q(lrg),
+ q(3992) => q(lri),
+ q(3993) => q(lrk),
+ q(3994) => q(lrl),
+ q(3995) => q(lrm),
+ q(3996) => q(lrn),
+ q(3997) => q(lro),
+ q(3998) => q(lrr),
+ q(3999) => q(lrt),
+ q(4000) => q(lrv),
+ q(4001) => q(lrz),
+ q(4002) => q(lsa),
+ q(4003) => q(lsd),
+ q(4004) => q(lse),
+ q(4005) => q(lsg),
+ q(4006) => q(lsh),
+ q(4007) => q(lsi),
+ q(4008) => q(lsl),
+ q(4009) => q(lsm),
+ q(4010) => q(lso),
+ q(4011) => q(lsp),
+ q(4012) => q(lsr),
+ q(4013) => q(lss),
+ q(4014) => q(lst),
+ q(4015) => q(lsy),
+ q(4016) => q(ltc),
+ q(4017) => q(ltg),
+ q(4018) => q(lti),
+ q(4019) => q(ltn),
+ q(4020) => q(lto),
+ q(4021) => q(lts),
+ q(4022) => q(ltu),
+ q(4023) => q(luc),
+ q(4024) => q(lud),
+ q(4025) => q(lue),
+ q(4026) => q(luf),
+ q(4027) => q(luj),
+ q(4028) => q(luk),
+ q(4029) => q(lul),
+ q(4030) => q(lum),
+ q(4031) => q(lup),
+ q(4032) => q(luq),
+ q(4033) => q(lur),
+ q(4034) => q(lut),
+ q(4035) => q(luu),
+ q(4036) => q(luv),
+ q(4037) => q(luw),
+ q(4038) => q(luy),
+ q(4039) => q(luz),
+ q(4040) => q(lva),
+ q(4041) => q(lvk),
+ q(4042) => q(lvs),
+ q(4043) => q(lvu),
+ q(4044) => q(lwa),
+ q(4045) => q(lwe),
+ q(4046) => q(lwg),
+ q(4047) => q(lwh),
+ q(4048) => q(lwl),
+ q(4049) => q(lwm),
+ q(4050) => q(lwo),
+ q(4051) => q(lwt),
+ q(4052) => q(lww),
+ q(4053) => q(lya),
+ q(4054) => q(lyg),
+ q(4055) => q(lyn),
+ q(4056) => q(lzh),
+ q(4057) => q(lzl),
+ q(4058) => q(lzn),
+ q(4059) => q(lzz),
+ q(4060) => q(maa),
+ q(4061) => q(mab),
+ q(4062) => q(mae),
+ q(4063) => q(maf),
+ q(4064) => q(maj),
+ q(4065) => q(mam),
+ q(4066) => q(maq),
+ q(4067) => q(mat),
+ q(4068) => q(mau),
+ q(4069) => q(mav),
+ q(4070) => q(maw),
+ q(4071) => q(max),
+ q(4072) => q(maz),
+ q(4073) => q(mba),
+ q(4074) => q(mbb),
+ q(4075) => q(mbc),
+ q(4076) => q(mbd),
+ q(4077) => q(mbe),
+ q(4078) => q(mbf),
+ q(4079) => q(mbh),
+ q(4080) => q(mbi),
+ q(4081) => q(mbj),
+ q(4082) => q(mbk),
+ q(4083) => q(mbl),
+ q(4084) => q(mbm),
+ q(4085) => q(mbn),
+ q(4086) => q(mbo),
+ q(4087) => q(mbp),
+ q(4088) => q(mbq),
+ q(4089) => q(mbr),
+ q(4090) => q(mbs),
+ q(4091) => q(mbt),
+ q(4092) => q(mbu),
+ q(4093) => q(mbv),
+ q(4094) => q(mbw),
+ q(4095) => q(mbx),
+ q(4096) => q(mby),
+ q(4097) => q(mbz),
+ q(4098) => q(mca),
+ q(4099) => q(mcb),
+ q(4100) => q(mcc),
+ q(4101) => q(mcd),
+ q(4102) => q(mce),
+ q(4103) => q(mcf),
+ q(4104) => q(mcg),
+ q(4105) => q(mch),
+ q(4106) => q(mci),
+ q(4107) => q(mcj),
+ q(4108) => q(mck),
+ q(4109) => q(mcl),
+ q(4110) => q(mcm),
+ q(4111) => q(mcn),
+ q(4112) => q(mco),
+ q(4113) => q(mcp),
+ q(4114) => q(mcq),
+ q(4115) => q(mcr),
+ q(4116) => q(mcs),
+ q(4117) => q(mct),
+ q(4118) => q(mcu),
+ q(4119) => q(mcv),
+ q(4120) => q(mcw),
+ q(4121) => q(mcx),
+ q(4122) => q(mcy),
+ q(4123) => q(mcz),
+ q(4124) => q(mda),
+ q(4125) => q(mdb),
+ q(4126) => q(mdc),
+ q(4127) => q(mdd),
+ q(4128) => q(mde),
+ q(4129) => q(mdg),
+ q(4130) => q(mdh),
+ q(4131) => q(mdi),
+ q(4132) => q(mdj),
+ q(4133) => q(mdk),
+ q(4134) => q(mdl),
+ q(4135) => q(mdm),
+ q(4136) => q(mdn),
+ q(4137) => q(mdp),
+ q(4138) => q(mdq),
+ q(4139) => q(mds),
+ q(4140) => q(mdt),
+ q(4141) => q(mdu),
+ q(4142) => q(mdv),
+ q(4143) => q(mdw),
+ q(4144) => q(mdx),
+ q(4145) => q(mdy),
+ q(4146) => q(mdz),
+ q(4147) => q(mea),
+ q(4148) => q(meb),
+ q(4149) => q(mec),
+ q(4150) => q(med),
+ q(4151) => q(mee),
+ q(4152) => q(mef),
+ q(4153) => q(meg),
+ q(4154) => q(meh),
+ q(4155) => q(mei),
+ q(4156) => q(mej),
+ q(4157) => q(mek),
+ q(4158) => q(mel),
+ q(4159) => q(mem),
+ q(4160) => q(meo),
+ q(4161) => q(mep),
+ q(4162) => q(meq),
+ q(4163) => q(mer),
+ q(4164) => q(mes),
+ q(4165) => q(met),
+ q(4166) => q(meu),
+ q(4167) => q(mev),
+ q(4168) => q(mew),
+ q(4169) => q(mey),
+ q(4170) => q(mez),
+ q(4171) => q(mfa),
+ q(4172) => q(mfb),
+ q(4173) => q(mfc),
+ q(4174) => q(mfd),
+ q(4175) => q(mfe),
+ q(4176) => q(mff),
+ q(4177) => q(mfg),
+ q(4178) => q(mfh),
+ q(4179) => q(mfi),
+ q(4180) => q(mfj),
+ q(4181) => q(mfk),
+ q(4182) => q(mfl),
+ q(4183) => q(mfm),
+ q(4184) => q(mfn),
+ q(4185) => q(mfo),
+ q(4186) => q(mfp),
+ q(4187) => q(mfq),
+ q(4188) => q(mfr),
+ q(4189) => q(mfs),
+ q(4190) => q(mft),
+ q(4191) => q(mfu),
+ q(4192) => q(mfv),
+ q(4193) => q(mfw),
+ q(4194) => q(mfx),
+ q(4195) => q(mfy),
+ q(4196) => q(mfz),
+ q(4197) => q(mgb),
+ q(4198) => q(mgc),
+ q(4199) => q(mgd),
+ q(4200) => q(mge),
+ q(4201) => q(mgf),
+ q(4202) => q(mgg),
+ q(4203) => q(mgh),
+ q(4204) => q(mgi),
+ q(4205) => q(mgj),
+ q(4206) => q(mgk),
+ q(4207) => q(mgl),
+ q(4208) => q(mgm),
+ q(4209) => q(mgn),
+ q(4210) => q(mgo),
+ q(4211) => q(mgp),
+ q(4212) => q(mgq),
+ q(4213) => q(mgr),
+ q(4214) => q(mgs),
+ q(4215) => q(mgt),
+ q(4216) => q(mgu),
+ q(4217) => q(mgv),
+ q(4218) => q(mgw),
+ q(4219) => q(mgx),
+ q(4220) => q(mgy),
+ q(4221) => q(mgz),
+ q(4222) => q(mha),
+ q(4223) => q(mhb),
+ q(4224) => q(mhc),
+ q(4225) => q(mhd),
+ q(4226) => q(mhe),
+ q(4227) => q(mhf),
+ q(4228) => q(mhg),
+ q(4229) => q(mhh),
+ q(4230) => q(mhi),
+ q(4231) => q(mhj),
+ q(4232) => q(mhk),
+ q(4233) => q(mhl),
+ q(4234) => q(mhm),
+ q(4235) => q(mhn),
+ q(4236) => q(mho),
+ q(4237) => q(mhp),
+ q(4238) => q(mhq),
+ q(4239) => q(mhr),
+ q(4240) => q(mhs),
+ q(4241) => q(mht),
+ q(4242) => q(mhu),
+ q(4243) => q(mhw),
+ q(4244) => q(mhx),
+ q(4245) => q(mhy),
+ q(4246) => q(mhz),
+ q(4247) => q(mia),
+ q(4248) => q(mib),
+ q(4249) => q(mid),
+ q(4250) => q(mie),
+ q(4251) => q(mif),
+ q(4252) => q(mig),
+ q(4253) => q(mih),
+ q(4254) => q(mii),
+ q(4255) => q(mij),
+ q(4256) => q(mik),
+ q(4257) => q(mil),
+ q(4258) => q(mim),
+ q(4259) => q(mio),
+ q(4260) => q(mip),
+ q(4261) => q(miq),
+ q(4262) => q(mir),
+ q(4263) => q(mit),
+ q(4264) => q(miu),
+ q(4265) => q(miw),
+ q(4266) => q(mix),
+ q(4267) => q(miy),
+ q(4268) => q(miz),
+ q(4269) => q(mjc),
+ q(4270) => q(mjd),
+ q(4271) => q(mje),
+ q(4272) => q(mjg),
+ q(4273) => q(mjh),
+ q(4274) => q(mji),
+ q(4275) => q(mjj),
+ q(4276) => q(mjk),
+ q(4277) => q(mjl),
+ q(4278) => q(mjm),
+ q(4279) => q(mjn),
+ q(4280) => q(mjo),
+ q(4281) => q(mjp),
+ q(4282) => q(mjq),
+ q(4283) => q(mjr),
+ q(4284) => q(mjs),
+ q(4285) => q(mjt),
+ q(4286) => q(mju),
+ q(4287) => q(mjv),
+ q(4288) => q(mjw),
+ q(4289) => q(mjx),
+ q(4290) => q(mjy),
+ q(4291) => q(mjz),
+ q(4292) => q(mka),
+ q(4293) => q(mkb),
+ q(4294) => q(mkc),
+ q(4295) => q(mke),
+ q(4296) => q(mkf),
+ q(4297) => q(mkg),
+ q(4298) => q(mki),
+ q(4299) => q(mkj),
+ q(4300) => q(mkk),
+ q(4301) => q(mkl),
+ q(4302) => q(mkm),
+ q(4303) => q(mkn),
+ q(4304) => q(mko),
+ q(4305) => q(mkp),
+ q(4306) => q(mkq),
+ q(4307) => q(mkr),
+ q(4308) => q(mks),
+ q(4309) => q(mkt),
+ q(4310) => q(mku),
+ q(4311) => q(mkv),
+ q(4312) => q(mkw),
+ q(4313) => q(mkx),
+ q(4314) => q(mky),
+ q(4315) => q(mkz),
+ q(4316) => q(mla),
+ q(4317) => q(mlb),
+ q(4318) => q(mlc),
+ q(4319) => q(mld),
+ q(4320) => q(mle),
+ q(4321) => q(mlf),
+ q(4322) => q(mlh),
+ q(4323) => q(mli),
+ q(4324) => q(mlj),
+ q(4325) => q(mlk),
+ q(4326) => q(mll),
+ q(4327) => q(mlm),
+ q(4328) => q(mln),
+ q(4329) => q(mlo),
+ q(4330) => q(mlp),
+ q(4331) => q(mlq),
+ q(4332) => q(mlr),
+ q(4333) => q(mls),
+ q(4334) => q(mlu),
+ q(4335) => q(mlv),
+ q(4336) => q(mlw),
+ q(4337) => q(mlx),
+ q(4338) => q(mlz),
+ q(4339) => q(mma),
+ q(4340) => q(mmb),
+ q(4341) => q(mmc),
+ q(4342) => q(mmd),
+ q(4343) => q(mme),
+ q(4344) => q(mmf),
+ q(4345) => q(mmg),
+ q(4346) => q(mmh),
+ q(4347) => q(mmi),
+ q(4348) => q(mmj),
+ q(4349) => q(mmk),
+ q(4350) => q(mml),
+ q(4351) => q(mmm),
+ q(4352) => q(mmn),
+ q(4353) => q(mmo),
+ q(4354) => q(mmp),
+ q(4355) => q(mmq),
+ q(4356) => q(mmr),
+ q(4357) => q(mmt),
+ q(4358) => q(mmu),
+ q(4359) => q(mmv),
+ q(4360) => q(mmw),
+ q(4361) => q(mmx),
+ q(4362) => q(mmy),
+ q(4363) => q(mmz),
+ q(4364) => q(mna),
+ q(4365) => q(mnb),
+ q(4366) => q(mnd),
+ q(4367) => q(mne),
+ q(4368) => q(mnf),
+ q(4369) => q(mng),
+ q(4370) => q(mnh),
+ q(4371) => q(mnj),
+ q(4372) => q(mnk),
+ q(4373) => q(mnl),
+ q(4374) => q(mnm),
+ q(4375) => q(mnn),
+ q(4376) => q(mnp),
+ q(4377) => q(mnq),
+ q(4378) => q(mnr),
+ q(4379) => q(mns),
+ q(4380) => q(mnt),
+ q(4381) => q(mnu),
+ q(4382) => q(mnv),
+ q(4383) => q(mnw),
+ q(4384) => q(mnx),
+ q(4385) => q(mny),
+ q(4386) => q(mnz),
+ q(4387) => q(moa),
+ q(4388) => q(moc),
+ q(4389) => q(mod),
+ q(4390) => q(moe),
+ q(4391) => q(mog),
+ q(4392) => q(moi),
+ q(4393) => q(moj),
+ q(4394) => q(mok),
+ q(4395) => q(mom),
+ q(4396) => q(moo),
+ q(4397) => q(mop),
+ q(4398) => q(moq),
+ q(4399) => q(mor),
+ q(4400) => q(mou),
+ q(4401) => q(mov),
+ q(4402) => q(mow),
+ q(4403) => q(mox),
+ q(4404) => q(moy),
+ q(4405) => q(moz),
+ q(4406) => q(mpa),
+ q(4407) => q(mpb),
+ q(4408) => q(mpc),
+ q(4409) => q(mpd),
+ q(4410) => q(mpe),
+ q(4411) => q(mpg),
+ q(4412) => q(mph),
+ q(4413) => q(mpi),
+ q(4414) => q(mpj),
+ q(4415) => q(mpk),
+ q(4416) => q(mpl),
+ q(4417) => q(mpm),
+ q(4418) => q(mpn),
+ q(4419) => q(mpo),
+ q(4420) => q(mpp),
+ q(4421) => q(mpq),
+ q(4422) => q(mpr),
+ q(4423) => q(mps),
+ q(4424) => q(mpt),
+ q(4425) => q(mpu),
+ q(4426) => q(mpv),
+ q(4427) => q(mpw),
+ q(4428) => q(mpx),
+ q(4429) => q(mpy),
+ q(4430) => q(mpz),
+ q(4431) => q(mqa),
+ q(4432) => q(mqb),
+ q(4433) => q(mqc),
+ q(4434) => q(mqe),
+ q(4435) => q(mqf),
+ q(4436) => q(mqg),
+ q(4437) => q(mqh),
+ q(4438) => q(mqi),
+ q(4439) => q(mqj),
+ q(4440) => q(mqk),
+ q(4441) => q(mql),
+ q(4442) => q(mqm),
+ q(4443) => q(mqn),
+ q(4444) => q(mqo),
+ q(4445) => q(mqp),
+ q(4446) => q(mqq),
+ q(4447) => q(mqr),
+ q(4448) => q(mqs),
+ q(4449) => q(mqt),
+ q(4450) => q(mqu),
+ q(4451) => q(mqv),
+ q(4452) => q(mqw),
+ q(4453) => q(mqx),
+ q(4454) => q(mqy),
+ q(4455) => q(mqz),
+ q(4456) => q(mra),
+ q(4457) => q(mrb),
+ q(4458) => q(mrc),
+ q(4459) => q(mrd),
+ q(4460) => q(mre),
+ q(4461) => q(mrf),
+ q(4462) => q(mrg),
+ q(4463) => q(mrh),
+ q(4464) => q(mrj),
+ q(4465) => q(mrk),
+ q(4466) => q(mrl),
+ q(4467) => q(mrm),
+ q(4468) => q(mrn),
+ q(4469) => q(mro),
+ q(4470) => q(mrp),
+ q(4471) => q(mrq),
+ q(4472) => q(mrr),
+ q(4473) => q(mrs),
+ q(4474) => q(mrt),
+ q(4475) => q(mru),
+ q(4476) => q(mrv),
+ q(4477) => q(mrw),
+ q(4478) => q(mrx),
+ q(4479) => q(mry),
+ q(4480) => q(mrz),
+ q(4481) => q(msb),
+ q(4482) => q(msc),
+ q(4483) => q(msd),
+ q(4484) => q(mse),
+ q(4485) => q(msf),
+ q(4486) => q(msg),
+ q(4487) => q(msh),
+ q(4488) => q(msi),
+ q(4489) => q(msj),
+ q(4490) => q(msk),
+ q(4491) => q(msl),
+ q(4492) => q(msm),
+ q(4493) => q(msn),
+ q(4494) => q(mso),
+ q(4495) => q(msp),
+ q(4496) => q(msq),
+ q(4497) => q(msr),
+ q(4498) => q(mss),
+ q(4499) => q(msu),
+ q(4500) => q(msv),
+ q(4501) => q(msw),
+ q(4502) => q(msx),
+ q(4503) => q(msy),
+ q(4504) => q(msz),
+ q(4505) => q(mta),
+ q(4506) => q(mtb),
+ q(4507) => q(mtc),
+ q(4508) => q(mtd),
+ q(4509) => q(mte),
+ q(4510) => q(mtf),
+ q(4511) => q(mtg),
+ q(4512) => q(mth),
+ q(4513) => q(mti),
+ q(4514) => q(mtj),
+ q(4515) => q(mtk),
+ q(4516) => q(mtl),
+ q(4517) => q(mtm),
+ q(4518) => q(mtn),
+ q(4519) => q(mto),
+ q(4520) => q(mtp),
+ q(4521) => q(mtq),
+ q(4522) => q(mtr),
+ q(4523) => q(mts),
+ q(4524) => q(mtt),
+ q(4525) => q(mtu),
+ q(4526) => q(mtv),
+ q(4527) => q(mtw),
+ q(4528) => q(mtx),
+ q(4529) => q(mty),
+ q(4530) => q(mua),
+ q(4531) => q(mub),
+ q(4532) => q(muc),
+ q(4533) => q(mud),
+ q(4534) => q(mue),
+ q(4535) => q(mug),
+ q(4536) => q(muh),
+ q(4537) => q(mui),
+ q(4538) => q(muj),
+ q(4539) => q(muk),
+ q(4540) => q(mum),
+ q(4541) => q(muo),
+ q(4542) => q(mup),
+ q(4543) => q(muq),
+ q(4544) => q(mur),
+ q(4545) => q(mut),
+ q(4546) => q(muu),
+ q(4547) => q(muv),
+ q(4548) => q(mux),
+ q(4549) => q(muy),
+ q(4550) => q(muz),
+ q(4551) => q(mva),
+ q(4552) => q(mvb),
+ q(4553) => q(mvd),
+ q(4554) => q(mve),
+ q(4555) => q(mvf),
+ q(4556) => q(mvg),
+ q(4557) => q(mvh),
+ q(4558) => q(mvi),
+ q(4559) => q(mvk),
+ q(4560) => q(mvl),
+ q(4561) => q(mvm),
+ q(4562) => q(mvn),
+ q(4563) => q(mvo),
+ q(4564) => q(mvp),
+ q(4565) => q(mvq),
+ q(4566) => q(mvr),
+ q(4567) => q(mvs),
+ q(4568) => q(mvt),
+ q(4569) => q(mvu),
+ q(4570) => q(mvv),
+ q(4571) => q(mvw),
+ q(4572) => q(mvx),
+ q(4573) => q(mvy),
+ q(4574) => q(mvz),
+ q(4575) => q(mwa),
+ q(4576) => q(mwb),
+ q(4577) => q(mwc),
+ q(4578) => q(mwd),
+ q(4579) => q(mwe),
+ q(4580) => q(mwf),
+ q(4581) => q(mwg),
+ q(4582) => q(mwh),
+ q(4583) => q(mwi),
+ q(4584) => q(mwj),
+ q(4585) => q(mwk),
+ q(4586) => q(mwm),
+ q(4587) => q(mwn),
+ q(4588) => q(mwo),
+ q(4589) => q(mwp),
+ q(4590) => q(mwq),
+ q(4591) => q(mws),
+ q(4592) => q(mwt),
+ q(4593) => q(mwu),
+ q(4594) => q(mwv),
+ q(4595) => q(mww),
+ q(4596) => q(mwx),
+ q(4597) => q(mwy),
+ q(4598) => q(mwz),
+ q(4599) => q(mxa),
+ q(4600) => q(mxb),
+ q(4601) => q(mxc),
+ q(4602) => q(mxd),
+ q(4603) => q(mxe),
+ q(4604) => q(mxf),
+ q(4605) => q(mxg),
+ q(4606) => q(mxh),
+ q(4607) => q(mxi),
+ q(4608) => q(mxj),
+ q(4609) => q(mxk),
+ q(4610) => q(mxl),
+ q(4611) => q(mxm),
+ q(4612) => q(mxn),
+ q(4613) => q(mxo),
+ q(4614) => q(mxp),
+ q(4615) => q(mxq),
+ q(4616) => q(mxr),
+ q(4617) => q(mxs),
+ q(4618) => q(mxt),
+ q(4619) => q(mxu),
+ q(4620) => q(mxv),
+ q(4621) => q(mxw),
+ q(4622) => q(mxx),
+ q(4623) => q(mxy),
+ q(4624) => q(mxz),
+ q(4625) => q(myb),
+ q(4626) => q(myc),
+ q(4627) => q(myd),
+ q(4628) => q(mye),
+ q(4629) => q(myf),
+ q(4630) => q(myg),
+ q(4631) => q(myh),
+ q(4632) => q(myi),
+ q(4633) => q(myj),
+ q(4634) => q(myk),
+ q(4635) => q(myl),
+ q(4636) => q(mym),
+ q(4637) => q(myo),
+ q(4638) => q(myp),
+ q(4639) => q(myq),
+ q(4640) => q(myr),
+ q(4641) => q(mys),
+ q(4642) => q(myu),
+ q(4643) => q(myw),
+ q(4644) => q(myx),
+ q(4645) => q(myy),
+ q(4646) => q(myz),
+ q(4647) => q(mza),
+ q(4648) => q(mzb),
+ q(4649) => q(mzc),
+ q(4650) => q(mzd),
+ q(4651) => q(mze),
+ q(4652) => q(mzg),
+ q(4653) => q(mzh),
+ q(4654) => q(mzi),
+ q(4655) => q(mzj),
+ q(4656) => q(mzk),
+ q(4657) => q(mzl),
+ q(4658) => q(mzm),
+ q(4659) => q(mzn),
+ q(4660) => q(mzo),
+ q(4661) => q(mzp),
+ q(4662) => q(mzq),
+ q(4663) => q(mzr),
+ q(4664) => q(mzs),
+ q(4665) => q(mzt),
+ q(4666) => q(mzu),
+ q(4667) => q(mzv),
+ q(4668) => q(mzw),
+ q(4669) => q(mzx),
+ q(4670) => q(mzy),
+ q(4671) => q(mzz),
+ q(4672) => q(naa),
+ q(4673) => q(nab),
+ q(4674) => q(nac),
+ q(4675) => q(nad),
+ q(4676) => q(nae),
+ q(4677) => q(naf),
+ q(4678) => q(nag),
+ q(4679) => q(naj),
+ q(4680) => q(nak),
+ q(4681) => q(nal),
+ q(4682) => q(nam),
+ q(4683) => q(nan),
+ q(4684) => q(nao),
+ q(4685) => q(naq),
+ q(4686) => q(nar),
+ q(4687) => q(nas),
+ q(4688) => q(nat),
+ q(4689) => q(naw),
+ q(4690) => q(nax),
+ q(4691) => q(nay),
+ q(4692) => q(naz),
+ q(4693) => q(nba),
+ q(4694) => q(nbb),
+ q(4695) => q(nbc),
+ q(4696) => q(nbd),
+ q(4697) => q(nbe),
+ q(4698) => q(nbg),
+ q(4699) => q(nbh),
+ q(4700) => q(nbi),
+ q(4701) => q(nbj),
+ q(4702) => q(nbk),
+ q(4703) => q(nbm),
+ q(4704) => q(nbn),
+ q(4705) => q(nbo),
+ q(4706) => q(nbp),
+ q(4707) => q(nbq),
+ q(4708) => q(nbr),
+ q(4709) => q(nbs),
+ q(4710) => q(nbt),
+ q(4711) => q(nbu),
+ q(4712) => q(nbv),
+ q(4713) => q(nbw),
+ q(4714) => q(nbx),
+ q(4715) => q(nby),
+ q(4716) => q(nca),
+ q(4717) => q(ncb),
+ q(4718) => q(ncc),
+ q(4719) => q(ncd),
+ q(4720) => q(nce),
+ q(4721) => q(ncf),
+ q(4722) => q(ncg),
+ q(4723) => q(nch),
+ q(4724) => q(nci),
+ q(4725) => q(ncj),
+ q(4726) => q(nck),
+ q(4727) => q(ncl),
+ q(4728) => q(ncm),
+ q(4729) => q(ncn),
+ q(4730) => q(nco),
+ q(4731) => q(ncp),
+ q(4732) => q(ncr),
+ q(4733) => q(ncs),
+ q(4734) => q(nct),
+ q(4735) => q(ncu),
+ q(4736) => q(ncx),
+ q(4737) => q(ncz),
+ q(4738) => q(nda),
+ q(4739) => q(ndb),
+ q(4740) => q(ndc),
+ q(4741) => q(ndd),
+ q(4742) => q(ndf),
+ q(4743) => q(ndg),
+ q(4744) => q(ndh),
+ q(4745) => q(ndi),
+ q(4746) => q(ndj),
+ q(4747) => q(ndk),
+ q(4748) => q(ndl),
+ q(4749) => q(ndm),
+ q(4750) => q(ndn),
+ q(4751) => q(ndp),
+ q(4752) => q(ndq),
+ q(4753) => q(ndr),
+ q(4754) => q(ndt),
+ q(4755) => q(ndu),
+ q(4756) => q(ndv),
+ q(4757) => q(ndw),
+ q(4758) => q(ndx),
+ q(4759) => q(ndy),
+ q(4760) => q(ndz),
+ q(4761) => q(nea),
+ q(4762) => q(neb),
+ q(4763) => q(nec),
+ q(4764) => q(ned),
+ q(4765) => q(nee),
+ q(4766) => q(nef),
+ q(4767) => q(neg),
+ q(4768) => q(neh),
+ q(4769) => q(nei),
+ q(4770) => q(nej),
+ q(4771) => q(nek),
+ q(4772) => q(nem),
+ q(4773) => q(nen),
+ q(4774) => q(neo),
+ q(4775) => q(neq),
+ q(4776) => q(ner),
+ q(4777) => q(nes),
+ q(4778) => q(net),
+ q(4779) => q(nev),
+ q(4780) => q(nex),
+ q(4781) => q(ney),
+ q(4782) => q(nez),
+ q(4783) => q(nfa),
+ q(4784) => q(nfd),
+ q(4785) => q(nfl),
+ q(4786) => q(nfr),
+ q(4787) => q(nfu),
+ q(4788) => q(nga),
+ q(4789) => q(ngb),
+ q(4790) => q(ngc),
+ q(4791) => q(ngd),
+ q(4792) => q(nge),
+ q(4793) => q(ngg),
+ q(4794) => q(ngh),
+ q(4795) => q(ngi),
+ q(4796) => q(ngj),
+ q(4797) => q(ngk),
+ q(4798) => q(ngl),
+ q(4799) => q(ngm),
+ q(4800) => q(ngn),
+ q(4801) => q(ngo),
+ q(4802) => q(ngp),
+ q(4803) => q(ngq),
+ q(4804) => q(ngr),
+ q(4805) => q(ngs),
+ q(4806) => q(ngt),
+ q(4807) => q(ngu),
+ q(4808) => q(ngv),
+ q(4809) => q(ngw),
+ q(4810) => q(ngx),
+ q(4811) => q(ngy),
+ q(4812) => q(ngz),
+ q(4813) => q(nha),
+ q(4814) => q(nhb),
+ q(4815) => q(nhc),
+ q(4816) => q(nhd),
+ q(4817) => q(nhe),
+ q(4818) => q(nhf),
+ q(4819) => q(nhg),
+ q(4820) => q(nhh),
+ q(4821) => q(nhi),
+ q(4822) => q(nhk),
+ q(4823) => q(nhm),
+ q(4824) => q(nhn),
+ q(4825) => q(nho),
+ q(4826) => q(nhp),
+ q(4827) => q(nhq),
+ q(4828) => q(nhr),
+ q(4829) => q(nht),
+ q(4830) => q(nhu),
+ q(4831) => q(nhv),
+ q(4832) => q(nhw),
+ q(4833) => q(nhx),
+ q(4834) => q(nhy),
+ q(4835) => q(nhz),
+ q(4836) => q(nib),
+ q(4837) => q(nid),
+ q(4838) => q(nie),
+ q(4839) => q(nif),
+ q(4840) => q(nig),
+ q(4841) => q(nih),
+ q(4842) => q(nii),
+ q(4843) => q(nij),
+ q(4844) => q(nik),
+ q(4845) => q(nil),
+ q(4846) => q(nim),
+ q(4847) => q(nin),
+ q(4848) => q(nio),
+ q(4849) => q(niq),
+ q(4850) => q(nir),
+ q(4851) => q(nis),
+ q(4852) => q(nit),
+ q(4853) => q(niv),
+ q(4854) => q(niw),
+ q(4855) => q(nix),
+ q(4856) => q(niy),
+ q(4857) => q(niz),
+ q(4858) => q(nja),
+ q(4859) => q(njb),
+ q(4860) => q(njd),
+ q(4861) => q(njh),
+ q(4862) => q(nji),
+ q(4863) => q(njj),
+ q(4864) => q(njl),
+ q(4865) => q(njm),
+ q(4866) => q(njn),
+ q(4867) => q(njo),
+ q(4868) => q(njr),
+ q(4869) => q(njs),
+ q(4870) => q(njt),
+ q(4871) => q(nju),
+ q(4872) => q(njx),
+ q(4873) => q(njy),
+ q(4874) => q(nka),
+ q(4875) => q(nkb),
+ q(4876) => q(nkc),
+ q(4877) => q(nkd),
+ q(4878) => q(nke),
+ q(4879) => q(nkf),
+ q(4880) => q(nkg),
+ q(4881) => q(nkh),
+ q(4882) => q(nki),
+ q(4883) => q(nkj),
+ q(4884) => q(nkk),
+ q(4885) => q(nkm),
+ q(4886) => q(nkn),
+ q(4887) => q(nko),
+ q(4888) => q(nkp),
+ q(4889) => q(nkq),
+ q(4890) => q(nkr),
+ q(4891) => q(nks),
+ q(4892) => q(nkt),
+ q(4893) => q(nku),
+ q(4894) => q(nkv),
+ q(4895) => q(nkw),
+ q(4896) => q(nkx),
+ q(4897) => q(nkz),
+ q(4898) => q(nla),
+ q(4899) => q(nlc),
+ q(4900) => q(nle),
+ q(4901) => q(nlg),
+ q(4902) => q(nli),
+ q(4903) => q(nlj),
+ q(4904) => q(nlk),
+ q(4905) => q(nll),
+ q(4906) => q(nln),
+ q(4907) => q(nlo),
+ q(4908) => q(nlr),
+ q(4909) => q(nlu),
+ q(4910) => q(nlv),
+ q(4911) => q(nlx),
+ q(4912) => q(nly),
+ q(4913) => q(nlz),
+ q(4914) => q(nma),
+ q(4915) => q(nmb),
+ q(4916) => q(nmc),
+ q(4917) => q(nmd),
+ q(4918) => q(nme),
+ q(4919) => q(nmf),
+ q(4920) => q(nmg),
+ q(4921) => q(nmh),
+ q(4922) => q(nmi),
+ q(4923) => q(nmj),
+ q(4924) => q(nmk),
+ q(4925) => q(nml),
+ q(4926) => q(nmm),
+ q(4927) => q(nmn),
+ q(4928) => q(nmo),
+ q(4929) => q(nmp),
+ q(4930) => q(nmq),
+ q(4931) => q(nmr),
+ q(4932) => q(nms),
+ q(4933) => q(nmt),
+ q(4934) => q(nmu),
+ q(4935) => q(nmv),
+ q(4936) => q(nmw),
+ q(4937) => q(nmx),
+ q(4938) => q(nmy),
+ q(4939) => q(nmz),
+ q(4940) => q(nna),
+ q(4941) => q(nnb),
+ q(4942) => q(nnc),
+ q(4943) => q(nnd),
+ q(4944) => q(nne),
+ q(4945) => q(nnf),
+ q(4946) => q(nng),
+ q(4947) => q(nnh),
+ q(4948) => q(nni),
+ q(4949) => q(nnj),
+ q(4950) => q(nnk),
+ q(4951) => q(nnl),
+ q(4952) => q(nnm),
+ q(4953) => q(nnn),
+ q(4954) => q(nnp),
+ q(4955) => q(nnq),
+ q(4956) => q(nnr),
+ q(4957) => q(nns),
+ q(4958) => q(nnt),
+ q(4959) => q(nnu),
+ q(4960) => q(nnv),
+ q(4961) => q(nnw),
+ q(4962) => q(nnx),
+ q(4963) => q(nny),
+ q(4964) => q(nnz),
+ q(4965) => q(noa),
+ q(4966) => q(noc),
+ q(4967) => q(nod),
+ q(4968) => q(noe),
+ q(4969) => q(nof),
+ q(4970) => q(noh),
+ q(4971) => q(noi),
+ q(4972) => q(noj),
+ q(4973) => q(nok),
+ q(4974) => q(nom),
+ q(4975) => q(nop),
+ q(4976) => q(noq),
+ q(4977) => q(nos),
+ q(4978) => q(not),
+ q(4979) => q(nou),
+ q(4980) => q(nov),
+ q(4981) => q(now),
+ q(4982) => q(noy),
+ q(4983) => q(noz),
+ q(4984) => q(npa),
+ q(4985) => q(npb),
+ q(4986) => q(nph),
+ q(4987) => q(npl),
+ q(4988) => q(npn),
+ q(4989) => q(npo),
+ q(4990) => q(nps),
+ q(4991) => q(npu),
+ q(4992) => q(npy),
+ q(4993) => q(nqg),
+ q(4994) => q(nqk),
+ q(4995) => q(nqm),
+ q(4996) => q(nqn),
+ q(4997) => q(nra),
+ q(4998) => q(nrb),
+ q(4999) => q(nrc),
+ q(5000) => q(nre),
+ q(5001) => q(nrg),
+ q(5002) => q(nri),
+ q(5003) => q(nrl),
+ q(5004) => q(nrm),
+ q(5005) => q(nrn),
+ q(5006) => q(nrp),
+ q(5007) => q(nrr),
+ q(5008) => q(nrt),
+ q(5009) => q(nru),
+ q(5010) => q(nrx),
+ q(5011) => q(nrz),
+ q(5012) => q(nsa),
+ q(5013) => q(nsc),
+ q(5014) => q(nsd),
+ q(5015) => q(nse),
+ q(5016) => q(nsg),
+ q(5017) => q(nsh),
+ q(5018) => q(nsi),
+ q(5019) => q(nsk),
+ q(5020) => q(nsl),
+ q(5021) => q(nsm),
+ q(5022) => q(nsn),
+ q(5023) => q(nsp),
+ q(5024) => q(nsq),
+ q(5025) => q(nsr),
+ q(5026) => q(nss),
+ q(5027) => q(nst),
+ q(5028) => q(nsu),
+ q(5029) => q(nsv),
+ q(5030) => q(nsw),
+ q(5031) => q(nsx),
+ q(5032) => q(nsy),
+ q(5033) => q(nsz),
+ q(5034) => q(nte),
+ q(5035) => q(nti),
+ q(5036) => q(ntj),
+ q(5037) => q(ntk),
+ q(5038) => q(ntm),
+ q(5039) => q(nto),
+ q(5040) => q(ntp),
+ q(5041) => q(ntr),
+ q(5042) => q(nts),
+ q(5043) => q(ntu),
+ q(5044) => q(ntw),
+ q(5045) => q(nty),
+ q(5046) => q(ntz),
+ q(5047) => q(nua),
+ q(5048) => q(nuc),
+ q(5049) => q(nud),
+ q(5050) => q(nue),
+ q(5051) => q(nuf),
+ q(5052) => q(nug),
+ q(5053) => q(nuh),
+ q(5054) => q(nui),
+ q(5055) => q(nuj),
+ q(5056) => q(nuk),
+ q(5057) => q(nul),
+ q(5058) => q(num),
+ q(5059) => q(nun),
+ q(5060) => q(nuo),
+ q(5061) => q(nup),
+ q(5062) => q(nuq),
+ q(5063) => q(nur),
+ q(5064) => q(nus),
+ q(5065) => q(nut),
+ q(5066) => q(nuu),
+ q(5067) => q(nuv),
+ q(5068) => q(nuw),
+ q(5069) => q(nux),
+ q(5070) => q(nuy),
+ q(5071) => q(nuz),
+ q(5072) => q(nvh),
+ q(5073) => q(nvm),
+ q(5074) => q(nwa),
+ q(5075) => q(nwb),
+ q(5076) => q(nwe),
+ q(5077) => q(nwi),
+ q(5078) => q(nwm),
+ q(5079) => q(nwr),
+ q(5080) => q(nwx),
+ q(5081) => q(nwy),
+ q(5082) => q(nxa),
+ q(5083) => q(nxd),
+ q(5084) => q(nxe),
+ q(5085) => q(nxg),
+ q(5086) => q(nxi),
+ q(5087) => q(nxl),
+ q(5088) => q(nxm),
+ q(5089) => q(nxn),
+ q(5090) => q(nxq),
+ q(5091) => q(nxr),
+ q(5092) => q(nxu),
+ q(5093) => q(nxx),
+ q(5094) => q(nyb),
+ q(5095) => q(nyc),
+ q(5096) => q(nyd),
+ q(5097) => q(nye),
+ q(5098) => q(nyf),
+ q(5099) => q(nyg),
+ q(5100) => q(nyh),
+ q(5101) => q(nyi),
+ q(5102) => q(nyj),
+ q(5103) => q(nyk),
+ q(5104) => q(nyl),
+ q(5105) => q(nyp),
+ q(5106) => q(nyq),
+ q(5107) => q(nyr),
+ q(5108) => q(nys),
+ q(5109) => q(nyt),
+ q(5110) => q(nyu),
+ q(5111) => q(nyv),
+ q(5112) => q(nyw),
+ q(5113) => q(nyx),
+ q(5114) => q(nyy),
+ q(5115) => q(nza),
+ q(5116) => q(nzb),
+ q(5117) => q(nzk),
+ q(5118) => q(nzm),
+ q(5119) => q(nzs),
+ q(5120) => q(nzu),
+ q(5121) => q(nzy),
+ q(5122) => q(nzz),
+ q(5123) => q(oaa),
+ q(5124) => q(oac),
+ q(5125) => q(oar),
+ q(5126) => q(oav),
+ q(5127) => q(obi),
+ q(5128) => q(obk),
+ q(5129) => q(obl),
+ q(5130) => q(obm),
+ q(5131) => q(obo),
+ q(5132) => q(obr),
+ q(5133) => q(obt),
+ q(5134) => q(obu),
+ q(5135) => q(oca),
+ q(5136) => q(och),
+ q(5137) => q(oco),
+ q(5138) => q(ocu),
+ q(5139) => q(oda),
+ q(5140) => q(odk),
+ q(5141) => q(odt),
+ q(5142) => q(odu),
+ q(5143) => q(ofo),
+ q(5144) => q(ofs),
+ q(5145) => q(ofu),
+ q(5146) => q(ogb),
+ q(5147) => q(ogc),
+ q(5148) => q(oge),
+ q(5149) => q(ogg),
+ q(5150) => q(ogo),
+ q(5151) => q(ogu),
+ q(5152) => q(oht),
+ q(5153) => q(ohu),
+ q(5154) => q(oia),
+ q(5155) => q(oin),
+ q(5156) => q(ojb),
+ q(5157) => q(ojc),
+ q(5158) => q(ojg),
+ q(5159) => q(ojp),
+ q(5160) => q(ojs),
+ q(5161) => q(ojv),
+ q(5162) => q(ojw),
+ q(5163) => q(oka),
+ q(5164) => q(okb),
+ q(5165) => q(okd),
+ q(5166) => q(oke),
+ q(5167) => q(okh),
+ q(5168) => q(oki),
+ q(5169) => q(okj),
+ q(5170) => q(okk),
+ q(5171) => q(okl),
+ q(5172) => q(okm),
+ q(5173) => q(okn),
+ q(5174) => q(oko),
+ q(5175) => q(okr),
+ q(5176) => q(oks),
+ q(5177) => q(oku),
+ q(5178) => q(okv),
+ q(5179) => q(okx),
+ q(5180) => q(ola),
+ q(5181) => q(old),
+ q(5182) => q(ole),
+ q(5183) => q(olm),
+ q(5184) => q(olo),
+ q(5185) => q(olr),
+ q(5186) => q(oma),
+ q(5187) => q(omb),
+ q(5188) => q(omc),
+ q(5189) => q(ome),
+ q(5190) => q(omg),
+ q(5191) => q(omi),
+ q(5192) => q(omk),
+ q(5193) => q(oml),
+ q(5194) => q(omn),
+ q(5195) => q(omo),
+ q(5196) => q(omp),
+ q(5197) => q(omr),
+ q(5198) => q(omt),
+ q(5199) => q(omu),
+ q(5200) => q(omw),
+ q(5201) => q(omx),
+ q(5202) => q(ona),
+ q(5203) => q(onb),
+ q(5204) => q(one),
+ q(5205) => q(ong),
+ q(5206) => q(oni),
+ q(5207) => q(onj),
+ q(5208) => q(onk),
+ q(5209) => q(onn),
+ q(5210) => q(ono),
+ q(5211) => q(onp),
+ q(5212) => q(onr),
+ q(5213) => q(ons),
+ q(5214) => q(ont),
+ q(5215) => q(onu),
+ q(5216) => q(onw),
+ q(5217) => q(onx),
+ q(5218) => q(ood),
+ q(5219) => q(oog),
+ q(5220) => q(oon),
+ q(5221) => q(oor),
+ q(5222) => q(oos),
+ q(5223) => q(opa),
+ q(5224) => q(opk),
+ q(5225) => q(opm),
+ q(5226) => q(opo),
+ q(5227) => q(opt),
+ q(5228) => q(opy),
+ q(5229) => q(ora),
+ q(5230) => q(orc),
+ q(5231) => q(ore),
+ q(5232) => q(org),
+ q(5233) => q(orh),
+ q(5234) => q(orn),
+ q(5235) => q(oro),
+ q(5236) => q(orr),
+ q(5237) => q(ors),
+ q(5238) => q(ort),
+ q(5239) => q(oru),
+ q(5240) => q(orv),
+ q(5241) => q(orw),
+ q(5242) => q(orx),
+ q(5243) => q(orz),
+ q(5244) => q(osc),
+ q(5245) => q(osi),
+ q(5246) => q(oso),
+ q(5247) => q(osp),
+ q(5248) => q(ost),
+ q(5249) => q(osu),
+ q(5250) => q(osx),
+ q(5251) => q(otb),
+ q(5252) => q(otd),
+ q(5253) => q(ote),
+ q(5254) => q(oti),
+ q(5255) => q(otk),
+ q(5256) => q(otl),
+ q(5257) => q(otm),
+ q(5258) => q(otn),
+ q(5259) => q(otq),
+ q(5260) => q(otr),
+ q(5261) => q(ots),
+ q(5262) => q(ott),
+ q(5263) => q(otu),
+ q(5264) => q(otw),
+ q(5265) => q(otx),
+ q(5266) => q(oty),
+ q(5267) => q(otz),
+ q(5268) => q(oua),
+ q(5269) => q(oub),
+ q(5270) => q(oue),
+ q(5271) => q(oui),
+ q(5272) => q(oum),
+ q(5273) => q(oun),
+ q(5274) => q(owi),
+ q(5275) => q(owl),
+ q(5276) => q(oyb),
+ q(5277) => q(oyd),
+ q(5278) => q(oym),
+ q(5279) => q(oyy),
+ q(5280) => q(ozm),
+ q(5281) => q(pab),
+ q(5282) => q(pac),
+ q(5283) => q(pad),
+ q(5284) => q(pae),
+ q(5285) => q(paf),
+ q(5286) => q(pah),
+ q(5287) => q(pai),
+ q(5288) => q(pak),
+ q(5289) => q(pao),
+ q(5290) => q(paq),
+ q(5291) => q(par),
+ q(5292) => q(pas),
+ q(5293) => q(pat),
+ q(5294) => q(pav),
+ q(5295) => q(paw),
+ q(5296) => q(pax),
+ q(5297) => q(pay),
+ q(5298) => q(paz),
+ q(5299) => q(pbb),
+ q(5300) => q(pbc),
+ q(5301) => q(pbe),
+ q(5302) => q(pbf),
+ q(5303) => q(pbg),
+ q(5304) => q(pbh),
+ q(5305) => q(pbi),
+ q(5306) => q(pbl),
+ q(5307) => q(pbn),
+ q(5308) => q(pbo),
+ q(5309) => q(pbp),
+ q(5310) => q(pbr),
+ q(5311) => q(pbs),
+ q(5312) => q(pbt),
+ q(5313) => q(pbu),
+ q(5314) => q(pbv),
+ q(5315) => q(pby),
+ q(5316) => q(pbz),
+ q(5317) => q(pca),
+ q(5318) => q(pcb),
+ q(5319) => q(pcc),
+ q(5320) => q(pcd),
+ q(5321) => q(pce),
+ q(5322) => q(pcf),
+ q(5323) => q(pcg),
+ q(5324) => q(pch),
+ q(5325) => q(pci),
+ q(5326) => q(pcj),
+ q(5327) => q(pck),
+ q(5328) => q(pcl),
+ q(5329) => q(pcm),
+ q(5330) => q(pcn),
+ q(5331) => q(pcp),
+ q(5332) => q(pcr),
+ q(5333) => q(pcw),
+ q(5334) => q(pda),
+ q(5335) => q(pdc),
+ q(5336) => q(pdi),
+ q(5337) => q(pdn),
+ q(5338) => q(pdo),
+ q(5339) => q(pdt),
+ q(5340) => q(pdu),
+ q(5341) => q(pea),
+ q(5342) => q(peb),
+ q(5343) => q(ped),
+ q(5344) => q(pee),
+ q(5345) => q(pef),
+ q(5346) => q(peg),
+ q(5347) => q(peh),
+ q(5348) => q(pei),
+ q(5349) => q(pej),
+ q(5350) => q(pek),
+ q(5351) => q(pel),
+ q(5352) => q(pem),
+ q(5353) => q(pep),
+ q(5354) => q(peq),
+ q(5355) => q(pes),
+ q(5356) => q(pev),
+ q(5357) => q(pex),
+ q(5358) => q(pey),
+ q(5359) => q(pez),
+ q(5360) => q(pfa),
+ q(5361) => q(pfe),
+ q(5362) => q(pfl),
+ q(5363) => q(pga),
+ q(5364) => q(pgg),
+ q(5365) => q(pgi),
+ q(5366) => q(pgk),
+ q(5367) => q(pgl),
+ q(5368) => q(pgn),
+ q(5369) => q(pgs),
+ q(5370) => q(pgu),
+ q(5371) => q(pgy),
+ q(5372) => q(pha),
+ q(5373) => q(phd),
+ q(5374) => q(phg),
+ q(5375) => q(phh),
+ q(5376) => q(phk),
+ q(5377) => q(phl),
+ q(5378) => q(phm),
+ q(5379) => q(pho),
+ q(5380) => q(phq),
+ q(5381) => q(phr),
+ q(5382) => q(pht),
+ q(5383) => q(phu),
+ q(5384) => q(phv),
+ q(5385) => q(phw),
+ q(5386) => q(pia),
+ q(5387) => q(pib),
+ q(5388) => q(pic),
+ q(5389) => q(pid),
+ q(5390) => q(pie),
+ q(5391) => q(pif),
+ q(5392) => q(pig),
+ q(5393) => q(pih),
+ q(5394) => q(pii),
+ q(5395) => q(pij),
+ q(5396) => q(pil),
+ q(5397) => q(pim),
+ q(5398) => q(pin),
+ q(5399) => q(pio),
+ q(5400) => q(pip),
+ q(5401) => q(pir),
+ q(5402) => q(pis),
+ q(5403) => q(pit),
+ q(5404) => q(piu),
+ q(5405) => q(piv),
+ q(5406) => q(piw),
+ q(5407) => q(pix),
+ q(5408) => q(piy),
+ q(5409) => q(piz),
+ q(5410) => q(pjt),
+ q(5411) => q(pka),
+ q(5412) => q(pkb),
+ q(5413) => q(pkc),
+ q(5414) => q(pkg),
+ q(5415) => q(pkh),
+ q(5416) => q(pkn),
+ q(5417) => q(pko),
+ q(5418) => q(pkp),
+ q(5419) => q(pkr),
+ q(5420) => q(pks),
+ q(5421) => q(pkt),
+ q(5422) => q(pku),
+ q(5423) => q(pla),
+ q(5424) => q(plb),
+ q(5425) => q(plc),
+ q(5426) => q(pld),
+ q(5427) => q(ple),
+ q(5428) => q(plg),
+ q(5429) => q(plh),
+ q(5430) => q(plj),
+ q(5431) => q(plk),
+ q(5432) => q(pll),
+ q(5433) => q(pln),
+ q(5434) => q(plo),
+ q(5435) => q(plp),
+ q(5436) => q(plq),
+ q(5437) => q(plr),
+ q(5438) => q(pls),
+ q(5439) => q(plt),
+ q(5440) => q(plu),
+ q(5441) => q(plv),
+ q(5442) => q(plw),
+ q(5443) => q(ply),
+ q(5444) => q(plz),
+ q(5445) => q(pma),
+ q(5446) => q(pmb),
+ q(5447) => q(pmc),
+ q(5448) => q(pme),
+ q(5449) => q(pmf),
+ q(5450) => q(pmh),
+ q(5451) => q(pmi),
+ q(5452) => q(pmj),
+ q(5453) => q(pmk),
+ q(5454) => q(pml),
+ q(5455) => q(pmm),
+ q(5456) => q(pmn),
+ q(5457) => q(pmo),
+ q(5458) => q(pmq),
+ q(5459) => q(pmr),
+ q(5460) => q(pms),
+ q(5461) => q(pmt),
+ q(5462) => q(pmu),
+ q(5463) => q(pmw),
+ q(5464) => q(pmx),
+ q(5465) => q(pmy),
+ q(5466) => q(pmz),
+ q(5467) => q(pna),
+ q(5468) => q(pnb),
+ q(5469) => q(pnc),
+ q(5470) => q(pne),
+ q(5471) => q(png),
+ q(5472) => q(pnh),
+ q(5473) => q(pni),
+ q(5474) => q(pnm),
+ q(5475) => q(pnn),
+ q(5476) => q(pno),
+ q(5477) => q(pnp),
+ q(5478) => q(pnq),
+ q(5479) => q(pnr),
+ q(5480) => q(pns),
+ q(5481) => q(pnt),
+ q(5482) => q(pnu),
+ q(5483) => q(pnv),
+ q(5484) => q(pnw),
+ q(5485) => q(pnx),
+ q(5486) => q(pny),
+ q(5487) => q(pnz),
+ q(5488) => q(poc),
+ q(5489) => q(pod),
+ q(5490) => q(poe),
+ q(5491) => q(pof),
+ q(5492) => q(pog),
+ q(5493) => q(poh),
+ q(5494) => q(poi),
+ q(5495) => q(pok),
+ q(5496) => q(pom),
+ q(5497) => q(poo),
+ q(5498) => q(pop),
+ q(5499) => q(poq),
+ q(5500) => q(pos),
+ q(5501) => q(pot),
+ q(5502) => q(pov),
+ q(5503) => q(pow),
+ q(5504) => q(pox),
+ q(5505) => q(poy),
+ q(5506) => q(ppa),
+ q(5507) => q(ppe),
+ q(5508) => q(ppi),
+ q(5509) => q(ppk),
+ q(5510) => q(ppl),
+ q(5511) => q(ppm),
+ q(5512) => q(ppn),
+ q(5513) => q(ppo),
+ q(5514) => q(ppp),
+ q(5515) => q(ppq),
+ q(5516) => q(ppr),
+ q(5517) => q(pps),
+ q(5518) => q(ppt),
+ q(5519) => q(ppu),
+ q(5520) => q(pqa),
+ q(5521) => q(pqm),
+ q(5522) => q(prb),
+ q(5523) => q(prc),
+ q(5524) => q(prd),
+ q(5525) => q(pre),
+ q(5526) => q(prf),
+ q(5527) => q(prg),
+ q(5528) => q(prh),
+ q(5529) => q(pri),
+ q(5530) => q(prk),
+ q(5531) => q(prl),
+ q(5532) => q(prm),
+ q(5533) => q(prn),
+ q(5534) => q(prp),
+ q(5535) => q(prq),
+ q(5536) => q(prr),
+ q(5537) => q(prs),
+ q(5538) => q(prt),
+ q(5539) => q(pru),
+ q(5540) => q(prw),
+ q(5541) => q(prx),
+ q(5542) => q(pry),
+ q(5543) => q(prz),
+ q(5544) => q(psa),
+ q(5545) => q(psc),
+ q(5546) => q(psd),
+ q(5547) => q(pse),
+ q(5548) => q(psg),
+ q(5549) => q(psh),
+ q(5550) => q(psi),
+ q(5551) => q(psl),
+ q(5552) => q(psm),
+ q(5553) => q(psn),
+ q(5554) => q(pso),
+ q(5555) => q(psp),
+ q(5556) => q(psq),
+ q(5557) => q(psr),
+ q(5558) => q(pss),
+ q(5559) => q(pst),
+ q(5560) => q(psu),
+ q(5561) => q(psw),
+ q(5562) => q(psy),
+ q(5563) => q(pta),
+ q(5564) => q(pth),
+ q(5565) => q(pti),
+ q(5566) => q(ptn),
+ q(5567) => q(pto),
+ q(5568) => q(ptp),
+ q(5569) => q(ptr),
+ q(5570) => q(ptt),
+ q(5571) => q(ptu),
+ q(5572) => q(ptv),
+ q(5573) => q(ptw),
+ q(5574) => q(pty),
+ q(5575) => q(pua),
+ q(5576) => q(pub),
+ q(5577) => q(puc),
+ q(5578) => q(pud),
+ q(5579) => q(pue),
+ q(5580) => q(puf),
+ q(5581) => q(pug),
+ q(5582) => q(pui),
+ q(5583) => q(puj),
+ q(5584) => q(puk),
+ q(5585) => q(pum),
+ q(5586) => q(puo),
+ q(5587) => q(pup),
+ q(5588) => q(puq),
+ q(5589) => q(pur),
+ q(5590) => q(put),
+ q(5591) => q(puu),
+ q(5592) => q(puw),
+ q(5593) => q(pux),
+ q(5594) => q(puy),
+ q(5595) => q(puz),
+ q(5596) => q(pwa),
+ q(5597) => q(pwb),
+ q(5598) => q(pwg),
+ q(5599) => q(pwm),
+ q(5600) => q(pwn),
+ q(5601) => q(pwo),
+ q(5602) => q(pwr),
+ q(5603) => q(pww),
+ q(5604) => q(pxm),
+ q(5605) => q(pye),
+ q(5606) => q(pym),
+ q(5607) => q(pyn),
+ q(5608) => q(pys),
+ q(5609) => q(pyu),
+ q(5610) => q(pyx),
+ q(5611) => q(pyy),
+ q(5612) => q(pzn),
+ q(5613) => q(qua),
+ q(5614) => q(qub),
+ q(5615) => q(quc),
+ q(5616) => q(qud),
+ q(5617) => q(quf),
+ q(5618) => q(qug),
+ q(5619) => q(quh),
+ q(5620) => q(qui),
+ q(5621) => q(quk),
+ q(5622) => q(qul),
+ q(5623) => q(qum),
+ q(5624) => q(qun),
+ q(5625) => q(qup),
+ q(5626) => q(quq),
+ q(5627) => q(qur),
+ q(5628) => q(qus),
+ q(5629) => q(quv),
+ q(5630) => q(quw),
+ q(5631) => q(qux),
+ q(5632) => q(quy),
+ q(5633) => q(quz),
+ q(5634) => q(qva),
+ q(5635) => q(qvc),
+ q(5636) => q(qve),
+ q(5637) => q(qvh),
+ q(5638) => q(qvi),
+ q(5639) => q(qvj),
+ q(5640) => q(qvl),
+ q(5641) => q(qvm),
+ q(5642) => q(qvn),
+ q(5643) => q(qvo),
+ q(5644) => q(qvp),
+ q(5645) => q(qvs),
+ q(5646) => q(qvw),
+ q(5647) => q(qvy),
+ q(5648) => q(qvz),
+ q(5649) => q(qwa),
+ q(5650) => q(qwc),
+ q(5651) => q(qwh),
+ q(5652) => q(qwm),
+ q(5653) => q(qws),
+ q(5654) => q(qwt),
+ q(5655) => q(qxa),
+ q(5656) => q(qxc),
+ q(5657) => q(qxh),
+ q(5658) => q(qxl),
+ q(5659) => q(qxn),
+ q(5660) => q(qxo),
+ q(5661) => q(qxp),
+ q(5662) => q(qxq),
+ q(5663) => q(qxr),
+ q(5664) => q(qxs),
+ q(5665) => q(qxt),
+ q(5666) => q(qxu),
+ q(5667) => q(qxw),
+ q(5668) => q(qya),
+ q(5669) => q(qyp),
+ q(5670) => q(raa),
+ q(5671) => q(rab),
+ q(5672) => q(rac),
+ q(5673) => q(rad),
+ q(5674) => q(raf),
+ q(5675) => q(rag),
+ q(5676) => q(rah),
+ q(5677) => q(rai),
+ q(5678) => q(rak),
+ q(5679) => q(ral),
+ q(5680) => q(ram),
+ q(5681) => q(ran),
+ q(5682) => q(rao),
+ q(5683) => q(raq),
+ q(5684) => q(ras),
+ q(5685) => q(rat),
+ q(5686) => q(rau),
+ q(5687) => q(rav),
+ q(5688) => q(raw),
+ q(5689) => q(rax),
+ q(5690) => q(ray),
+ q(5691) => q(raz),
+ q(5692) => q(rbb),
+ q(5693) => q(rbk),
+ q(5694) => q(rbl),
+ q(5695) => q(rcf),
+ q(5696) => q(rdb),
+ q(5697) => q(rea),
+ q(5698) => q(reb),
+ q(5699) => q(ree),
+ q(5700) => q(reg),
+ q(5701) => q(rei),
+ q(5702) => q(rej),
+ q(5703) => q(rel),
+ q(5704) => q(rem),
+ q(5705) => q(ren),
+ q(5706) => q(rer),
+ q(5707) => q(res),
+ q(5708) => q(ret),
+ q(5709) => q(rey),
+ q(5710) => q(rga),
+ q(5711) => q(rge),
+ q(5712) => q(rgk),
+ q(5713) => q(rgn),
+ q(5714) => q(rgr),
+ q(5715) => q(rgs),
+ q(5716) => q(rgu),
+ q(5717) => q(rhg),
+ q(5718) => q(rhp),
+ q(5719) => q(ria),
+ q(5720) => q(rie),
+ q(5721) => q(rif),
+ q(5722) => q(ril),
+ q(5723) => q(rim),
+ q(5724) => q(rin),
+ q(5725) => q(rir),
+ q(5726) => q(rit),
+ q(5727) => q(riu),
+ q(5728) => q(rjg),
+ q(5729) => q(rji),
+ q(5730) => q(rjs),
+ q(5731) => q(rka),
+ q(5732) => q(rkb),
+ q(5733) => q(rkh),
+ q(5734) => q(rki),
+ q(5735) => q(rkm),
+ q(5736) => q(rkt),
+ q(5737) => q(rma),
+ q(5738) => q(rmb),
+ q(5739) => q(rmc),
+ q(5740) => q(rmd),
+ q(5741) => q(rme),
+ q(5742) => q(rmf),
+ q(5743) => q(rmg),
+ q(5744) => q(rmh),
+ q(5745) => q(rmi),
+ q(5746) => q(rmk),
+ q(5747) => q(rml),
+ q(5748) => q(rmm),
+ q(5749) => q(rmn),
+ q(5750) => q(rmo),
+ q(5751) => q(rmp),
+ q(5752) => q(rmq),
+ q(5753) => q(rms),
+ q(5754) => q(rmt),
+ q(5755) => q(rmu),
+ q(5756) => q(rmv),
+ q(5757) => q(rmw),
+ q(5758) => q(rmx),
+ q(5759) => q(rmy),
+ q(5760) => q(rmz),
+ q(5761) => q(rna),
+ q(5762) => q(rnd),
+ q(5763) => q(rng),
+ q(5764) => q(rnl),
+ q(5765) => q(rnn),
+ q(5766) => q(rnp),
+ q(5767) => q(rnw),
+ q(5768) => q(rob),
+ q(5769) => q(roc),
+ q(5770) => q(rod),
+ q(5771) => q(roe),
+ q(5772) => q(rof),
+ q(5773) => q(rog),
+ q(5774) => q(rol),
+ q(5775) => q(roo),
+ q(5776) => q(rop),
+ q(5777) => q(ror),
+ q(5778) => q(rou),
+ q(5779) => q(row),
+ q(5780) => q(rpn),
+ q(5781) => q(rpt),
+ q(5782) => q(rri),
+ q(5783) => q(rro),
+ q(5784) => q(rsb),
+ q(5785) => q(rsi),
+ q(5786) => q(rsl),
+ q(5787) => q(rth),
+ q(5788) => q(rtm),
+ q(5789) => q(rtw),
+ q(5790) => q(rub),
+ q(5791) => q(ruc),
+ q(5792) => q(rue),
+ q(5793) => q(ruf),
+ q(5794) => q(rug),
+ q(5795) => q(ruh),
+ q(5796) => q(rui),
+ q(5797) => q(ruk),
+ q(5798) => q(ruo),
+ q(5799) => q(ruq),
+ q(5800) => q(rut),
+ q(5801) => q(ruu),
+ q(5802) => q(ruy),
+ q(5803) => q(ruz),
+ q(5804) => q(rwa),
+ q(5805) => q(rwk),
+ q(5806) => q(rwm),
+ q(5807) => q(rwo),
+ q(5808) => q(rwr),
+ q(5809) => q(ryn),
+ q(5810) => q(rys),
+ q(5811) => q(ryu),
+ q(5812) => q(saa),
+ q(5813) => q(sab),
+ q(5814) => q(sac),
+ q(5815) => q(sae),
+ q(5816) => q(saf),
+ q(5817) => q(saj),
+ q(5818) => q(sak),
+ q(5819) => q(sao),
+ q(5820) => q(sap),
+ q(5821) => q(saq),
+ q(5822) => q(sar),
+ q(5823) => q(sau),
+ q(5824) => q(sav),
+ q(5825) => q(saw),
+ q(5826) => q(sax),
+ q(5827) => q(say),
+ q(5828) => q(saz),
+ q(5829) => q(sba),
+ q(5830) => q(sbb),
+ q(5831) => q(sbc),
+ q(5832) => q(sbd),
+ q(5833) => q(slc),
+ q(5834) => q(sbf),
+ q(5835) => q(sbg),
+ q(5836) => q(sbh),
+ q(5837) => q(sbi),
+ q(5838) => q(sbj),
+ q(5839) => q(sbk),
+ q(5840) => q(sbl),
+ q(5841) => q(sbm),
+ q(5842) => q(sbn),
+ q(5843) => q(sbo),
+ q(5844) => q(sbp),
+ q(5845) => q(sbq),
+ q(5846) => q(sbr),
+ q(5847) => q(sbs),
+ q(5848) => q(sbt),
+ q(5849) => q(sbu),
+ q(5850) => q(sbv),
+ q(5851) => q(sbw),
+ q(5852) => q(sbx),
+ q(5853) => q(sby),
+ q(5854) => q(sbz),
+ q(5855) => q(sca),
+ q(5856) => q(scb),
+ q(5857) => q(sce),
+ q(5858) => q(scf),
+ q(5859) => q(scg),
+ q(5860) => q(sch),
+ q(5861) => q(sci),
+ q(5862) => q(sck),
+ q(5863) => q(scl),
+ q(5864) => q(scp),
+ q(5865) => q(scq),
+ q(5866) => q(scs),
+ q(5867) => q(scu),
+ q(5868) => q(scv),
+ q(5869) => q(scw),
+ q(5870) => q(scx),
+ q(5871) => q(sda),
+ q(5872) => q(sdb),
+ q(5873) => q(sdc),
+ q(5874) => q(sde),
+ q(5875) => q(sdf),
+ q(5876) => q(sdg),
+ q(5877) => q(sdh),
+ q(5878) => q(sdj),
+ q(5879) => q(sdk),
+ q(5880) => q(sdl),
+ q(5881) => q(sdm),
+ q(5882) => q(sdn),
+ q(5883) => q(sdo),
+ q(5884) => q(sdp),
+ q(5885) => q(sdr),
+ q(5886) => q(sds),
+ q(5887) => q(sdt),
+ q(5888) => q(sdu),
+ q(5889) => q(sdx),
+ q(5890) => q(sdz),
+ q(5891) => q(sea),
+ q(5892) => q(seb),
+ q(5893) => q(sec),
+ q(5894) => q(sed),
+ q(5895) => q(see),
+ q(5896) => q(sef),
+ q(5897) => q(seg),
+ q(5898) => q(seh),
+ q(5899) => q(sei),
+ q(5900) => q(sej),
+ q(5901) => q(sek),
+ q(5902) => q(sen),
+ q(5903) => q(seo),
+ q(5904) => q(sep),
+ q(5905) => q(seq),
+ q(5906) => q(ser),
+ q(5907) => q(ses),
+ q(5908) => q(set),
+ q(5909) => q(seu),
+ q(5910) => q(sev),
+ q(5911) => q(sew),
+ q(5912) => q(sey),
+ q(5913) => q(sez),
+ q(5914) => q(sfb),
+ q(5915) => q(sfm),
+ q(5916) => q(sfs),
+ q(5917) => q(sfw),
+ q(5918) => q(sgb),
+ q(5919) => q(sgc),
+ q(5920) => q(sgd),
+ q(5921) => q(sge),
+ q(5922) => q(sgg),
+ q(5923) => q(sgh),
+ q(5924) => q(sgi),
+ q(5925) => q(sgk),
+ q(5926) => q(sgm),
+ q(5927) => q(sgo),
+ q(5928) => q(sgp),
+ q(5929) => q(sgr),
+ q(5930) => q(sgs),
+ q(5931) => q(sgt),
+ q(5932) => q(sgu),
+ q(5933) => q(sgw),
+ q(5934) => q(sgx),
+ q(5935) => q(sgy),
+ q(5936) => q(sgz),
+ q(5937) => q(sha),
+ q(5938) => q(shb),
+ q(5939) => q(shc),
+ q(5940) => q(shd),
+ q(5941) => q(she),
+ q(5942) => q(shg),
+ q(5943) => q(shh),
+ q(5944) => q(shi),
+ q(5945) => q(shj),
+ q(5946) => q(shk),
+ q(5947) => q(shl),
+ q(5948) => q(shm),
+ q(5949) => q(sho),
+ q(5950) => q(shp),
+ q(5951) => q(shq),
+ q(5952) => q(shr),
+ q(5953) => q(shs),
+ q(5954) => q(sht),
+ q(5955) => q(shu),
+ q(5956) => q(shv),
+ q(5957) => q(shw),
+ q(5958) => q(shx),
+ q(5959) => q(shy),
+ q(5960) => q(shz),
+ q(5961) => q(sia),
+ q(5962) => q(sib),
+ q(5963) => q(sie),
+ q(5964) => q(sif),
+ q(5965) => q(sig),
+ q(5966) => q(sih),
+ q(5967) => q(sii),
+ q(5968) => q(sij),
+ q(5969) => q(sik),
+ q(5970) => q(sil),
+ q(5971) => q(sim),
+ q(5972) => q(sip),
+ q(5973) => q(siq),
+ q(5974) => q(sir),
+ q(5975) => q(sis),
+ q(5976) => q(siu),
+ q(5977) => q(siv),
+ q(5978) => q(siw),
+ q(5979) => q(six),
+ q(5980) => q(siy),
+ q(5981) => q(siz),
+ q(5982) => q(sja),
+ q(5983) => q(sjb),
+ q(5984) => q(sjd),
+ q(5985) => q(sje),
+ q(5986) => q(sjg),
+ q(5987) => q(sjk),
+ q(5988) => q(sjl),
+ q(5989) => q(sjm),
+ q(5990) => q(sjn),
+ q(5991) => q(sjo),
+ q(5992) => q(sjp),
+ q(5993) => q(sjr),
+ q(5994) => q(sjs),
+ q(5995) => q(sjt),
+ q(5996) => q(sju),
+ q(5997) => q(sjw),
+ q(5998) => q(ska),
+ q(5999) => q(skb),
+ q(6000) => q(skc),
+ q(6001) => q(skd),
+ q(6002) => q(ske),
+ q(6003) => q(skf),
+ q(6004) => q(skg),
+ q(6005) => q(skh),
+ q(6006) => q(ski),
+ q(6007) => q(skj),
+ q(6008) => q(skk),
+ q(6009) => q(skm),
+ q(6010) => q(skn),
+ q(6011) => q(sko),
+ q(6012) => q(skp),
+ q(6013) => q(skq),
+ q(6014) => q(skr),
+ q(6015) => q(sks),
+ q(6016) => q(skt),
+ q(6017) => q(sku),
+ q(6018) => q(skv),
+ q(6019) => q(skw),
+ q(6020) => q(skx),
+ q(6021) => q(sky),
+ q(6022) => q(skz),
+ q(6023) => q(sld),
+ q(6024) => q(sle),
+ q(6025) => q(slf),
+ q(6026) => q(slg),
+ q(6027) => q(slh),
+ q(6028) => q(sli),
+ q(6029) => q(slj),
+ q(6030) => q(sll),
+ q(6031) => q(slm),
+ q(6032) => q(sln),
+ q(6033) => q(slp),
+ q(6034) => q(slq),
+ q(6035) => q(slr),
+ q(6036) => q(sls),
+ q(6037) => q(slt),
+ q(6038) => q(slu),
+ q(6039) => q(slw),
+ q(6040) => q(slx),
+ q(6041) => q(sly),
+ q(6042) => q(slz),
+ q(6043) => q(smb),
+ q(6044) => q(smc),
+ q(6045) => q(smd),
+ q(6046) => q(smf),
+ q(6047) => q(smg),
+ q(6048) => q(smh),
+ q(6049) => q(smk),
+ q(6050) => q(sml),
+ q(6051) => q(smm),
+ q(6052) => q(smp),
+ q(6053) => q(smq),
+ q(6054) => q(smr),
+ q(6055) => q(smt),
+ q(6056) => q(smu),
+ q(6057) => q(smv),
+ q(6058) => q(smw),
+ q(6059) => q(smx),
+ q(6060) => q(smy),
+ q(6061) => q(smz),
+ q(6062) => q(snb),
+ q(6063) => q(snc),
+ q(6064) => q(sne),
+ q(6065) => q(snf),
+ q(6066) => q(sng),
+ q(6067) => q(snh),
+ q(6068) => q(sni),
+ q(6069) => q(snj),
+ q(6070) => q(snl),
+ q(6071) => q(snm),
+ q(6072) => q(snn),
+ q(6073) => q(sno),
+ q(6074) => q(snp),
+ q(6075) => q(snq),
+ q(6076) => q(snr),
+ q(6077) => q(sns),
+ q(6078) => q(snu),
+ q(6079) => q(snv),
+ q(6080) => q(snw),
+ q(6081) => q(snx),
+ q(6082) => q(sny),
+ q(6083) => q(snz),
+ q(6084) => q(soa),
+ q(6085) => q(sob),
+ q(6086) => q(soc),
+ q(6087) => q(sod),
+ q(6088) => q(soe),
+ q(6089) => q(soh),
+ q(6090) => q(soi),
+ q(6091) => q(soj),
+ q(6092) => q(sok),
+ q(6093) => q(sol),
+ q(6094) => q(soo),
+ q(6095) => q(sop),
+ q(6096) => q(soq),
+ q(6097) => q(sor),
+ q(6098) => q(sos),
+ q(6099) => q(sou),
+ q(6100) => q(sov),
+ q(6101) => q(sow),
+ q(6102) => q(sox),
+ q(6103) => q(soy),
+ q(6104) => q(soz),
+ q(6105) => q(spb),
+ q(6106) => q(spc),
+ q(6107) => q(spd),
+ q(6108) => q(spe),
+ q(6109) => q(spg),
+ q(6110) => q(spi),
+ q(6111) => q(spk),
+ q(6112) => q(spl),
+ q(6113) => q(spm),
+ q(6114) => q(spo),
+ q(6115) => q(spp),
+ q(6116) => q(spq),
+ q(6117) => q(spr),
+ q(6118) => q(sps),
+ q(6119) => q(spt),
+ q(6120) => q(spu),
+ q(6121) => q(spx),
+ q(6122) => q(spy),
+ q(6123) => q(sqa),
+ q(6124) => q(sqh),
+ q(6125) => q(sqm),
+ q(6126) => q(sqn),
+ q(6127) => q(sqo),
+ q(6128) => q(sqq),
+ q(6129) => q(sqr),
+ q(6130) => q(sqs),
+ q(6131) => q(sqt),
+ q(6132) => q(squ),
+ q(6133) => q(sra),
+ q(6134) => q(srb),
+ q(6135) => q(src),
+ q(6136) => q(sre),
+ q(6137) => q(srf),
+ q(6138) => q(srg),
+ q(6139) => q(srh),
+ q(6140) => q(sri),
+ q(6141) => q(srk),
+ q(6142) => q(srl),
+ q(6143) => q(srm),
+ q(6144) => q(sro),
+ q(6145) => q(srq),
+ q(6146) => q(srs),
+ q(6147) => q(srt),
+ q(6148) => q(sru),
+ q(6149) => q(srv),
+ q(6150) => q(srw),
+ q(6151) => q(srx),
+ q(6152) => q(sry),
+ q(6153) => q(srz),
+ q(6154) => q(ssb),
+ q(6155) => q(ssc),
+ q(6156) => q(ssd),
+ q(6157) => q(sse),
+ q(6158) => q(ssf),
+ q(6159) => q(ssg),
+ q(6160) => q(ssh),
+ q(6161) => q(ssi),
+ q(6162) => q(ssj),
+ q(6163) => q(ssk),
+ q(6164) => q(ssl),
+ q(6165) => q(ssm),
+ q(6166) => q(ssn),
+ q(6167) => q(sso),
+ q(6168) => q(ssp),
+ q(6169) => q(ssq),
+ q(6170) => q(ssr),
+ q(6171) => q(sss),
+ q(6172) => q(sst),
+ q(6173) => q(ssu),
+ q(6174) => q(ssv),
+ q(6175) => q(ssx),
+ q(6176) => q(ssy),
+ q(6177) => q(ssz),
+ q(6178) => q(sta),
+ q(6179) => q(stb),
+ q(6180) => q(std),
+ q(6181) => q(ste),
+ q(6182) => q(stf),
+ q(6183) => q(stg),
+ q(6184) => q(sth),
+ q(6185) => q(sti),
+ q(6186) => q(stj),
+ q(6187) => q(stk),
+ q(6188) => q(stl),
+ q(6189) => q(stm),
+ q(6190) => q(stn),
+ q(6191) => q(sto),
+ q(6192) => q(stp),
+ q(6193) => q(stq),
+ q(6194) => q(str),
+ q(6195) => q(sts),
+ q(6196) => q(stt),
+ q(6197) => q(stu),
+ q(6198) => q(stv),
+ q(6199) => q(stw),
+ q(6200) => q(sua),
+ q(6201) => q(sub),
+ q(6202) => q(suc),
+ q(6203) => q(sue),
+ q(6204) => q(sug),
+ q(6205) => q(sui),
+ q(6206) => q(suj),
+ q(6207) => q(suq),
+ q(6208) => q(sur),
+ q(6209) => q(sut),
+ q(6210) => q(suv),
+ q(6211) => q(suw),
+ q(6212) => q(suy),
+ q(6213) => q(suz),
+ q(6214) => q(sva),
+ q(6215) => q(svb),
+ q(6216) => q(svc),
+ q(6217) => q(sve),
+ q(6218) => q(svk),
+ q(6219) => q(svr),
+ q(6220) => q(svs),
+ q(6221) => q(svx),
+ q(6222) => q(swb),
+ q(6223) => q(swc),
+ q(6224) => q(swf),
+ q(6225) => q(swg),
+ q(6226) => q(swh),
+ q(6227) => q(swi),
+ q(6228) => q(swj),
+ q(6229) => q(swk),
+ q(6230) => q(swl),
+ q(6231) => q(swm),
+ q(6232) => q(swn),
+ q(6233) => q(swo),
+ q(6234) => q(swp),
+ q(6235) => q(swq),
+ q(6236) => q(swr),
+ q(6237) => q(sws),
+ q(6238) => q(swt),
+ q(6239) => q(swu),
+ q(6240) => q(swv),
+ q(6241) => q(sww),
+ q(6242) => q(swx),
+ q(6243) => q(swy),
+ q(6244) => q(sxb),
+ q(6245) => q(sxc),
+ q(6246) => q(sxe),
+ q(6247) => q(sxg),
+ q(6248) => q(sxk),
+ q(6249) => q(sxl),
+ q(6250) => q(sxm),
+ q(6251) => q(sxn),
+ q(6252) => q(sxo),
+ q(6253) => q(sxr),
+ q(6254) => q(sxs),
+ q(6255) => q(sxu),
+ q(6256) => q(sxw),
+ q(6257) => q(sya),
+ q(6258) => q(syb),
+ q(6259) => q(syi),
+ q(6260) => q(syk),
+ q(6261) => q(syl),
+ q(6262) => q(sym),
+ q(6263) => q(syn),
+ q(6264) => q(syo),
+ q(6265) => q(sys),
+ q(6266) => q(syw),
+ q(6267) => q(syy),
+ q(6268) => q(sza),
+ q(6269) => q(szb),
+ q(6270) => q(szc),
+ q(6271) => q(szd),
+ q(6272) => q(sze),
+ q(6273) => q(szg),
+ q(6274) => q(szl),
+ q(6275) => q(szn),
+ q(6276) => q(szp),
+ q(6277) => q(szv),
+ q(6278) => q(szw),
+ q(6279) => q(taa),
+ q(6280) => q(tab),
+ q(6281) => q(tac),
+ q(6282) => q(tad),
+ q(6283) => q(tae),
+ q(6284) => q(taf),
+ q(6285) => q(tag),
+ q(6286) => q(taj),
+ q(6287) => q(tak),
+ q(6288) => q(tal),
+ q(6289) => q(tan),
+ q(6290) => q(tao),
+ q(6291) => q(tap),
+ q(6292) => q(taq),
+ q(6293) => q(tar),
+ q(6294) => q(tas),
+ q(6295) => q(tau),
+ q(6296) => q(tav),
+ q(6297) => q(taw),
+ q(6298) => q(tax),
+ q(6299) => q(tay),
+ q(6300) => q(taz),
+ q(6301) => q(tba),
+ q(6302) => q(tbb),
+ q(6303) => q(tbc),
+ q(6304) => q(tbd),
+ q(6305) => q(tbe),
+ q(6306) => q(tbf),
+ q(6307) => q(tbg),
+ q(6308) => q(tbh),
+ q(6309) => q(tbi),
+ q(6310) => q(tbj),
+ q(6311) => q(tbk),
+ q(6312) => q(tbl),
+ q(6313) => q(tbm),
+ q(6314) => q(tbn),
+ q(6315) => q(tbo),
+ q(6316) => q(tbp),
+ q(6317) => q(tbr),
+ q(6318) => q(tbs),
+ q(6319) => q(tbt),
+ q(6320) => q(tbu),
+ q(6321) => q(tbv),
+ q(6322) => q(tbw),
+ q(6323) => q(tbx),
+ q(6324) => q(tby),
+ q(6325) => q(tbz),
+ q(6326) => q(tca),
+ q(6327) => q(tcb),
+ q(6328) => q(tcc),
+ q(6329) => q(tcd),
+ q(6330) => q(tce),
+ q(6331) => q(tcf),
+ q(6332) => q(tcg),
+ q(6333) => q(tch),
+ q(6334) => q(wbf),
+ q(6335) => q(tck),
+ q(6336) => q(tcl),
+ q(6337) => q(tcm),
+ q(6338) => q(tcn),
+ q(6339) => q(tco),
+ q(6340) => q(tcp),
+ q(6341) => q(tcq),
+ q(6342) => q(tcs),
+ q(6343) => q(tct),
+ q(6344) => q(tcu),
+ q(6345) => q(tcw),
+ q(6346) => q(tcx),
+ q(6347) => q(tcy),
+ q(6348) => q(tcz),
+ q(6349) => q(tda),
+ q(6350) => q(tdb),
+ q(6351) => q(tdc),
+ q(6352) => q(tdd),
+ q(6353) => q(tde),
+ q(6354) => q(tdf),
+ q(6355) => q(tdg),
+ q(6356) => q(tdh),
+ q(6357) => q(tdi),
+ q(6358) => q(tdj),
+ q(6359) => q(tdk),
+ q(6360) => q(tdl),
+ q(6361) => q(tdn),
+ q(6362) => q(tdo),
+ q(6363) => q(tdq),
+ q(6364) => q(tdr),
+ q(6365) => q(tds),
+ q(6366) => q(tdt),
+ q(6367) => q(tdu),
+ q(6368) => q(tdv),
+ q(6369) => q(tdx),
+ q(6370) => q(tdy),
+ q(6371) => q(tea),
+ q(6372) => q(teb),
+ q(6373) => q(tec),
+ q(6374) => q(ted),
+ q(6375) => q(tee),
+ q(6376) => q(tef),
+ q(6377) => q(teg),
+ q(6378) => q(teh),
+ q(6379) => q(tei),
+ q(6380) => q(tek),
+ q(6381) => q(ten),
+ q(6382) => q(teo),
+ q(6383) => q(tep),
+ q(6384) => q(teq),
+ q(6385) => q(tes),
+ q(6386) => q(teu),
+ q(6387) => q(tev),
+ q(6388) => q(tew),
+ q(6389) => q(tex),
+ q(6390) => q(tey),
+ q(6391) => q(tfi),
+ q(6392) => q(tfn),
+ q(6393) => q(tfo),
+ q(6394) => q(tfr),
+ q(6395) => q(tft),
+ q(6396) => q(tga),
+ q(6397) => q(tgb),
+ q(6398) => q(tgc),
+ q(6399) => q(tgd),
+ q(6400) => q(tge),
+ q(6401) => q(tgf),
+ q(6402) => q(tgg),
+ q(6403) => q(tgh),
+ q(6404) => q(tgi),
+ q(6405) => q(tgn),
+ q(6406) => q(tgo),
+ q(6407) => q(tgp),
+ q(6408) => q(tgq),
+ q(6409) => q(tgr),
+ q(6410) => q(tgs),
+ q(6411) => q(tgt),
+ q(6412) => q(tgu),
+ q(6413) => q(tgv),
+ q(6414) => q(tgw),
+ q(6415) => q(tgx),
+ q(6416) => q(tgy),
+ q(6417) => q(thc),
+ q(6418) => q(thd),
+ q(6419) => q(the),
+ q(6420) => q(thf),
+ q(6421) => q(thh),
+ q(6422) => q(thi),
+ q(6423) => q(thk),
+ q(6424) => q(thl),
+ q(6425) => q(thm),
+ q(6426) => q(thn),
+ q(6427) => q(thp),
+ q(6428) => q(thq),
+ q(6429) => q(thr),
+ q(6430) => q(ths),
+ q(6431) => q(tht),
+ q(6432) => q(thu),
+ q(6433) => q(thv),
+ q(6434) => q(thw),
+ q(6435) => q(thx),
+ q(6436) => q(thy),
+ q(6437) => q(thz),
+ q(6438) => q(tia),
+ q(6439) => q(tic),
+ q(6440) => q(tid),
+ q(6441) => q(tif),
+ q(6442) => q(tih),
+ q(6443) => q(tii),
+ q(6444) => q(tij),
+ q(6445) => q(tik),
+ q(6446) => q(til),
+ q(6447) => q(tim),
+ q(6448) => q(tin),
+ q(6449) => q(tio),
+ q(6450) => q(tip),
+ q(6451) => q(tiq),
+ q(6452) => q(tis),
+ q(6453) => q(tit),
+ q(6454) => q(tiu),
+ q(6455) => q(tiw),
+ q(6456) => q(tix),
+ q(6457) => q(tiy),
+ q(6458) => q(tiz),
+ q(6459) => q(tja),
+ q(6460) => q(tjg),
+ q(6461) => q(tji),
+ q(6462) => q(tjm),
+ q(6463) => q(tjn),
+ q(6464) => q(tjo),
+ q(6465) => q(tjs),
+ q(6466) => q(tju),
+ q(6467) => q(tka),
+ q(6468) => q(tkb),
+ q(6469) => q(tkd),
+ q(6470) => q(tke),
+ q(6471) => q(tkf),
+ q(6472) => q(tkg),
+ q(6473) => q(tkm),
+ q(6474) => q(tkn),
+ q(6475) => q(tkp),
+ q(6476) => q(tkq),
+ q(6477) => q(tkr),
+ q(6478) => q(tks),
+ q(6479) => q(tkt),
+ q(6480) => q(tku),
+ q(6481) => q(tkw),
+ q(6482) => q(tkx),
+ q(6483) => q(tkz),
+ q(6484) => q(tla),
+ q(6485) => q(tlb),
+ q(6486) => q(tlc),
+ q(6487) => q(tld),
+ q(6488) => q(tlf),
+ q(6489) => q(tlg),
+ q(6490) => q(tlj),
+ q(6491) => q(tlk),
+ q(6492) => q(tll),
+ q(6493) => q(tlm),
+ q(6494) => q(tln),
+ q(6495) => q(tlo),
+ q(6496) => q(tlp),
+ q(6497) => q(tlq),
+ q(6498) => q(tlr),
+ q(6499) => q(tls),
+ q(6500) => q(tlt),
+ q(6501) => q(tlu),
+ q(6502) => q(tlv),
+ q(6503) => q(tlw),
+ q(6504) => q(tlx),
+ q(6505) => q(tly),
+ q(6506) => q(tma),
+ q(6507) => q(tmb),
+ q(6508) => q(tmc),
+ q(6509) => q(tmd),
+ q(6510) => q(tme),
+ q(6511) => q(tmf),
+ q(6512) => q(tmg),
+ q(6513) => q(tmi),
+ q(6514) => q(tmj),
+ q(6515) => q(tmk),
+ q(6516) => q(tml),
+ q(6517) => q(tmm),
+ q(6518) => q(tmn),
+ q(6519) => q(tmo),
+ q(6520) => q(tmp),
+ q(6521) => q(tmq),
+ q(6522) => q(tmr),
+ q(6523) => q(tms),
+ q(6524) => q(tmt),
+ q(6525) => q(tmu),
+ q(6526) => q(tmv),
+ q(6527) => q(tmw),
+ q(6528) => q(tmy),
+ q(6529) => q(tmz),
+ q(6530) => q(tna),
+ q(6531) => q(tnb),
+ q(6532) => q(tnc),
+ q(6533) => q(tnd),
+ q(6534) => q(tne),
+ q(6535) => q(tng),
+ q(6536) => q(tnh),
+ q(6537) => q(tni),
+ q(6538) => q(tnk),
+ q(6539) => q(tnl),
+ q(6540) => q(tnm),
+ q(6541) => q(tnn),
+ q(6542) => q(tno),
+ q(6543) => q(tnp),
+ q(6544) => q(tnq),
+ q(6545) => q(tnr),
+ q(6546) => q(tns),
+ q(6547) => q(tnt),
+ q(6548) => q(tnu),
+ q(6549) => q(tnv),
+ q(6550) => q(tnw),
+ q(6551) => q(tnx),
+ q(6552) => q(tny),
+ q(6553) => q(tnz),
+ q(6554) => q(tob),
+ q(6555) => q(toc),
+ q(6556) => q(tod),
+ q(6557) => q(toe),
+ q(6558) => q(tof),
+ q(6559) => q(toh),
+ q(6560) => q(toi),
+ q(6561) => q(toj),
+ q(6562) => q(tol),
+ q(6563) => q(tom),
+ q(6564) => q(too),
+ q(6565) => q(top),
+ q(6566) => q(toq),
+ q(6567) => q(tor),
+ q(6568) => q(tos),
+ q(6569) => q(tou),
+ q(6570) => q(tov),
+ q(6571) => q(tow),
+ q(6572) => q(tox),
+ q(6573) => q(toy),
+ q(6574) => q(toz),
+ q(6575) => q(tpa),
+ q(6576) => q(tpc),
+ q(6577) => q(tpe),
+ q(6578) => q(tpf),
+ q(6579) => q(tpg),
+ q(6580) => q(tpj),
+ q(6581) => q(tpk),
+ q(6582) => q(tpl),
+ q(6583) => q(tpm),
+ q(6584) => q(tpn),
+ q(6585) => q(tpo),
+ q(6586) => q(tpp),
+ q(6587) => q(tpq),
+ q(6588) => q(tpr),
+ q(6589) => q(tpt),
+ q(6590) => q(tpu),
+ q(6591) => q(tpv),
+ q(6592) => q(tpw),
+ q(6593) => q(tpx),
+ q(6594) => q(tpy),
+ q(6595) => q(tpz),
+ q(6596) => q(tqb),
+ q(6597) => q(tql),
+ q(6598) => q(tqm),
+ q(6599) => q(tqn),
+ q(6600) => q(tqo),
+ q(6601) => q(tqp),
+ q(6602) => q(tqq),
+ q(6603) => q(tqr),
+ q(6604) => q(tqt),
+ q(6605) => q(tqu),
+ q(6606) => q(tqw),
+ q(6607) => q(tra),
+ q(6608) => q(trb),
+ q(6609) => q(trc),
+ q(6610) => q(trd),
+ q(6611) => q(tre),
+ q(6612) => q(trf),
+ q(6613) => q(trg),
+ q(6614) => q(trh),
+ q(6615) => q(tri),
+ q(6616) => q(trj),
+ q(6617) => q(trl),
+ q(6618) => q(trm),
+ q(6619) => q(trn),
+ q(6620) => q(tro),
+ q(6621) => q(trp),
+ q(6622) => q(trq),
+ q(6623) => q(trr),
+ q(6624) => q(trs),
+ q(6625) => q(trt),
+ q(6626) => q(tru),
+ q(6627) => q(trv),
+ q(6628) => q(trw),
+ q(6629) => q(trx),
+ q(6630) => q(try),
+ q(6631) => q(trz),
+ q(6632) => q(tsa),
+ q(6633) => q(tsb),
+ q(6634) => q(tsc),
+ q(6635) => q(tsd),
+ q(6636) => q(tse),
+ q(6637) => q(tsf),
+ q(6638) => q(tsg),
+ q(6639) => q(tsh),
+ q(6640) => q(tsj),
+ q(6641) => q(tsk),
+ q(6642) => q(tsl),
+ q(6643) => q(tsm),
+ q(6644) => q(tsp),
+ q(6645) => q(tsq),
+ q(6646) => q(tsr),
+ q(6647) => q(tss),
+ q(6648) => q(tst),
+ q(6649) => q(tsu),
+ q(6650) => q(tsv),
+ q(6651) => q(tsw),
+ q(6652) => q(tsx),
+ q(6653) => q(tsy),
+ q(6654) => q(tsz),
+ q(6655) => q(tta),
+ q(6656) => q(ttb),
+ q(6657) => q(ttc),
+ q(6658) => q(ttd),
+ q(6659) => q(tte),
+ q(6660) => q(ttf),
+ q(6661) => q(ttg),
+ q(6662) => q(tth),
+ q(6663) => q(tti),
+ q(6664) => q(ttj),
+ q(6665) => q(ttk),
+ q(6666) => q(ttl),
+ q(6667) => q(ttm),
+ q(6668) => q(ttn),
+ q(6669) => q(tto),
+ q(6670) => q(ttp),
+ q(6671) => q(ttq),
+ q(6672) => q(ttr),
+ q(6673) => q(tts),
+ q(6674) => q(ttt),
+ q(6675) => q(ttu),
+ q(6676) => q(ttv),
+ q(6677) => q(ttw),
+ q(6678) => q(tty),
+ q(6679) => q(ttz),
+ q(6680) => q(tua),
+ q(6681) => q(tub),
+ q(6682) => q(tuc),
+ q(6683) => q(tud),
+ q(6684) => q(tue),
+ q(6685) => q(tuf),
+ q(6686) => q(tug),
+ q(6687) => q(tuh),
+ q(6688) => q(tui),
+ q(6689) => q(tuj),
+ q(6690) => q(tul),
+ q(6691) => q(tun),
+ q(6692) => q(tuo),
+ q(6693) => q(tuq),
+ q(6694) => q(tus),
+ q(6695) => q(tuu),
+ q(6696) => q(tuv),
+ q(6697) => q(tux),
+ q(6698) => q(tuy),
+ q(6699) => q(tuz),
+ q(6700) => q(tva),
+ q(6701) => q(tvd),
+ q(6702) => q(tve),
+ q(6703) => q(tvk),
+ q(6704) => q(tvm),
+ q(6705) => q(tvn),
+ q(6706) => q(tvo),
+ q(6707) => q(tvs),
+ q(6708) => q(tvt),
+ q(6709) => q(tvw),
+ q(6710) => q(tvy),
+ q(6711) => q(twa),
+ q(6712) => q(twb),
+ q(6713) => q(twc),
+ q(6714) => q(twd),
+ q(6715) => q(twe),
+ q(6716) => q(twf),
+ q(6717) => q(twg),
+ q(6718) => q(twh),
+ q(6719) => q(twl),
+ q(6720) => q(twm),
+ q(6721) => q(twn),
+ q(6722) => q(two),
+ q(6723) => q(twp),
+ q(6724) => q(twq),
+ q(6725) => q(twr),
+ q(6726) => q(twt),
+ q(6727) => q(twu),
+ q(6728) => q(tww),
+ q(6729) => q(twx),
+ q(6730) => q(twy),
+ q(6731) => q(txa),
+ q(6732) => q(txb),
+ q(6733) => q(txc),
+ q(6734) => q(txe),
+ q(6735) => q(txg),
+ q(6736) => q(txh),
+ q(6737) => q(txi),
+ q(6738) => q(txm),
+ q(6739) => q(txn),
+ q(6740) => q(txo),
+ q(6741) => q(txq),
+ q(6742) => q(txr),
+ q(6743) => q(txs),
+ q(6744) => q(txt),
+ q(6745) => q(txu),
+ q(6746) => q(txx),
+ q(6747) => q(txy),
+ q(6748) => q(tya),
+ q(6749) => q(tye),
+ q(6750) => q(tyh),
+ q(6751) => q(tyi),
+ q(6752) => q(tyj),
+ q(6753) => q(tyl),
+ q(6754) => q(tyn),
+ q(6755) => q(typ),
+ q(6756) => q(tyr),
+ q(6757) => q(tys),
+ q(6758) => q(tyt),
+ q(6759) => q(tyu),
+ q(6760) => q(tyx),
+ q(6761) => q(tyz),
+ q(6762) => q(tza),
+ q(6763) => q(tzh),
+ q(6764) => q(tzj),
+ q(6765) => q(tzm),
+ q(6766) => q(tzn),
+ q(6767) => q(tzo),
+ q(6768) => q(tzx),
+ q(6769) => q(uam),
+ q(6770) => q(uan),
+ q(6771) => q(uar),
+ q(6772) => q(uba),
+ q(6773) => q(ubi),
+ q(6774) => q(ubl),
+ q(6775) => q(ubr),
+ q(6776) => q(ubu),
+ q(6777) => q(uby),
+ q(6778) => q(uda),
+ q(6779) => q(ude),
+ q(6780) => q(udg),
+ q(6781) => q(udi),
+ q(6782) => q(udj),
+ q(6783) => q(udl),
+ q(6784) => q(udu),
+ q(6785) => q(ues),
+ q(6786) => q(ufi),
+ q(6787) => q(ugb),
+ q(6788) => q(uge),
+ q(6789) => q(ugn),
+ q(6790) => q(ugo),
+ q(6791) => q(ugy),
+ q(6792) => q(uha),
+ q(6793) => q(uhn),
+ q(6794) => q(uis),
+ q(6795) => q(uiv),
+ q(6796) => q(uji),
+ q(6797) => q(uka),
+ q(6798) => q(ukg),
+ q(6799) => q(ukh),
+ q(6800) => q(ukl),
+ q(6801) => q(ukp),
+ q(6802) => q(ukq),
+ q(6803) => q(uks),
+ q(6804) => q(uku),
+ q(6805) => q(ukw),
+ q(6806) => q(ula),
+ q(6807) => q(ulb),
+ q(6808) => q(ulc),
+ q(6809) => q(ulf),
+ q(6810) => q(uli),
+ q(6811) => q(ulk),
+ q(6812) => q(ull),
+ q(6813) => q(ulm),
+ q(6814) => q(uln),
+ q(6815) => q(ulu),
+ q(6816) => q(ulw),
+ q(6817) => q(uma),
+ q(6818) => q(umc),
+ q(6819) => q(umd),
+ q(6820) => q(umg),
+ q(6821) => q(umi),
+ q(6822) => q(umm),
+ q(6823) => q(umn),
+ q(6824) => q(umo),
+ q(6825) => q(ump),
+ q(6826) => q(umr),
+ q(6827) => q(ums),
+ q(6828) => q(umu),
+ q(6829) => q(una),
+ q(6830) => q(une),
+ q(6831) => q(ung),
+ q(6832) => q(unk),
+ q(6833) => q(unm),
+ q(6834) => q(unp),
+ q(6835) => q(unr),
+ q(6836) => q(unx),
+ q(6837) => q(unz),
+ q(6838) => q(uok),
+ q(6839) => q(upi),
+ q(6840) => q(upv),
+ q(6841) => q(ura),
+ q(6842) => q(urb),
+ q(6843) => q(urc),
+ q(6844) => q(ure),
+ q(6845) => q(urf),
+ q(6846) => q(urg),
+ q(6847) => q(urh),
+ q(6848) => q(uri),
+ q(6849) => q(urk),
+ q(6850) => q(url),
+ q(6851) => q(urm),
+ q(6852) => q(urn),
+ q(6853) => q(uro),
+ q(6854) => q(urp),
+ q(6855) => q(urr),
+ q(6856) => q(urt),
+ q(6857) => q(uru),
+ q(6858) => q(urv),
+ q(6859) => q(urw),
+ q(6860) => q(urx),
+ q(6861) => q(ury),
+ q(6862) => q(urz),
+ q(6863) => q(usa),
+ q(6864) => q(ush),
+ q(6865) => q(usi),
+ q(6866) => q(usk),
+ q(6867) => q(usp),
+ q(6868) => q(usu),
+ q(6869) => q(uta),
+ q(6870) => q(ute),
+ q(6871) => q(utp),
+ q(6872) => q(utr),
+ q(6873) => q(utu),
+ q(6874) => q(uum),
+ q(6875) => q(uun),
+ q(6876) => q(uur),
+ q(6877) => q(uuu),
+ q(6878) => q(uve),
+ q(6879) => q(uvh),
+ q(6880) => q(uvl),
+ q(6881) => q(uwa),
+ q(6882) => q(uya),
+ q(6883) => q(uzn),
+ q(6884) => q(uzs),
+ q(6885) => q(vaa),
+ q(6886) => q(vae),
+ q(6887) => q(vaf),
+ q(6888) => q(vag),
+ q(6889) => q(vah),
+ q(6890) => q(vaj),
+ q(6891) => q(val),
+ q(6892) => q(vam),
+ q(6893) => q(van),
+ q(6894) => q(vao),
+ q(6895) => q(vap),
+ q(6896) => q(var),
+ q(6897) => q(vas),
+ q(6898) => q(vau),
+ q(6899) => q(vav),
+ q(6900) => q(vay),
+ q(6901) => q(vbb),
+ q(6902) => q(vbk),
+ q(6903) => q(vec),
+ q(6904) => q(ved),
+ q(6905) => q(vel),
+ q(6906) => q(vem),
+ q(6907) => q(veo),
+ q(6908) => q(vep),
+ q(6909) => q(ver),
+ q(6910) => q(vgr),
+ q(6911) => q(vgt),
+ q(6912) => q(vic),
+ q(6913) => q(vid),
+ q(6914) => q(vif),
+ q(6915) => q(vig),
+ q(6916) => q(vil),
+ q(6917) => q(vin),
+ q(6918) => q(vis),
+ q(6919) => q(vit),
+ q(6920) => q(viv),
+ q(6921) => q(vka),
+ q(6922) => q(vki),
+ q(6923) => q(vkj),
+ q(6924) => q(vkk),
+ q(6925) => q(vkl),
+ q(6926) => q(vkm),
+ q(6927) => q(vko),
+ q(6928) => q(vkp),
+ q(6929) => q(vkt),
+ q(6930) => q(vku),
+ q(6931) => q(vlp),
+ q(6932) => q(vls),
+ q(6933) => q(vma),
+ q(6934) => q(vmb),
+ q(6935) => q(vmc),
+ q(6936) => q(vmd),
+ q(6937) => q(vme),
+ q(6938) => q(vmf),
+ q(6939) => q(vmg),
+ q(6940) => q(vmh),
+ q(6941) => q(vmi),
+ q(6942) => q(vmj),
+ q(6943) => q(vmk),
+ q(6944) => q(vml),
+ q(6945) => q(vmm),
+ q(6946) => q(vmp),
+ q(6947) => q(vmq),
+ q(6948) => q(vmr),
+ q(6949) => q(vms),
+ q(6950) => q(vmu),
+ q(6951) => q(vmv),
+ q(6952) => q(vmw),
+ q(6953) => q(vmx),
+ q(6954) => q(vmy),
+ q(6955) => q(vmz),
+ q(6956) => q(vnk),
+ q(6957) => q(vnm),
+ q(6958) => q(vnp),
+ q(6959) => q(vro),
+ q(6960) => q(vra),
+ q(6961) => q(vrs),
+ q(6962) => q(vrt),
+ q(6963) => q(vsi),
+ q(6964) => q(vsl),
+ q(6965) => q(vsv),
+ q(6966) => q(vto),
+ q(6967) => q(vum),
+ q(6968) => q(vun),
+ q(6969) => q(vut),
+ q(6970) => q(vwa),
+ q(6971) => q(waa),
+ q(6972) => q(wab),
+ q(6973) => q(wac),
+ q(6974) => q(wad),
+ q(6975) => q(wae),
+ q(6976) => q(waf),
+ q(6977) => q(wag),
+ q(6978) => q(wah),
+ q(6979) => q(wai),
+ q(6980) => q(waj),
+ q(6981) => q(wam),
+ q(6982) => q(wan),
+ q(6983) => q(wao),
+ q(6984) => q(wap),
+ q(6985) => q(waq),
+ q(6986) => q(wat),
+ q(6987) => q(wau),
+ q(6988) => q(wav),
+ q(6989) => q(waw),
+ q(6990) => q(wax),
+ q(6991) => q(way),
+ q(6992) => q(waz),
+ q(6993) => q(wba),
+ q(6994) => q(wbb),
+ q(6995) => q(wbe),
+ q(6996) => q(wbh),
+ q(6997) => q(wbi),
+ q(6998) => q(wbj),
+ q(6999) => q(wbk),
+ q(7000) => q(wbl),
+ q(7001) => q(wbm),
+ q(7002) => q(wbp),
+ q(7003) => q(wbq),
+ q(7004) => q(wbr),
+ q(7005) => q(wbt),
+ q(7006) => q(wbv),
+ q(7007) => q(wbw),
+ q(7008) => q(wca),
+ q(7009) => q(wci),
+ q(7010) => q(wdd),
+ q(7011) => q(wdg),
+ q(7012) => q(wdj),
+ q(7013) => q(wdu),
+ q(7014) => q(wea),
+ q(7015) => q(wec),
+ q(7016) => q(wed),
+ q(7017) => q(weh),
+ q(7018) => q(wei),
+ q(7019) => q(wem),
+ q(7020) => q(weo),
+ q(7021) => q(wep),
+ q(7022) => q(wer),
+ q(7023) => q(wes),
+ q(7024) => q(wet),
+ q(7025) => q(weu),
+ q(7026) => q(wew),
+ q(7027) => q(wfg),
+ q(7028) => q(wga),
+ q(7029) => q(wgb),
+ q(7030) => q(wgg),
+ q(7031) => q(wgi),
+ q(7032) => q(wgo),
+ q(7033) => q(wgy),
+ q(7034) => q(wha),
+ q(7035) => q(whg),
+ q(7036) => q(whk),
+ q(7037) => q(whu),
+ q(7038) => q(wib),
+ q(7039) => q(wic),
+ q(7040) => q(wie),
+ q(7041) => q(wif),
+ q(7042) => q(wig),
+ q(7043) => q(wih),
+ q(7044) => q(wii),
+ q(7045) => q(wij),
+ q(7046) => q(wik),
+ q(7047) => q(wil),
+ q(7048) => q(wim),
+ q(7049) => q(win),
+ q(7050) => q(wir),
+ q(7051) => q(wit),
+ q(7052) => q(wiu),
+ q(7053) => q(wiv),
+ q(7054) => q(wiw),
+ q(7055) => q(wiy),
+ q(7056) => q(wja),
+ q(7057) => q(wji),
+ q(7058) => q(wka),
+ q(7059) => q(wkb),
+ q(7060) => q(wkd),
+ q(7061) => q(wkl),
+ q(7062) => q(wku),
+ q(7063) => q(wkw),
+ q(7064) => q(wla),
+ q(7065) => q(wlc),
+ q(7066) => q(wle),
+ q(7067) => q(wlg),
+ q(7068) => q(wli),
+ q(7069) => q(wlk),
+ q(7070) => q(wll),
+ q(7071) => q(wlm),
+ q(7072) => q(wlo),
+ q(7073) => q(wlr),
+ q(7074) => q(wls),
+ q(7075) => q(wlu),
+ q(7076) => q(wlv),
+ q(7077) => q(wlw),
+ q(7078) => q(wlx),
+ q(7079) => q(wly),
+ q(7080) => q(wma),
+ q(7081) => q(wmb),
+ q(7082) => q(wmc),
+ q(7083) => q(wmd),
+ q(7084) => q(wme),
+ q(7085) => q(wmh),
+ q(7086) => q(wmi),
+ q(7087) => q(wmm),
+ q(7088) => q(wmn),
+ q(7089) => q(wmo),
+ q(7090) => q(wms),
+ q(7091) => q(wmt),
+ q(7092) => q(wmw),
+ q(7093) => q(wmx),
+ q(7094) => q(wnb),
+ q(7095) => q(wnc),
+ q(7096) => q(wnd),
+ q(7097) => q(wne),
+ q(7098) => q(wng),
+ q(7099) => q(wni),
+ q(7100) => q(wnk),
+ q(7101) => q(wnm),
+ q(7102) => q(wno),
+ q(7103) => q(wnp),
+ q(7104) => q(wnu),
+ q(7105) => q(woa),
+ q(7106) => q(wob),
+ q(7107) => q(woc),
+ q(7108) => q(wod),
+ q(7109) => q(woe),
+ q(7110) => q(wof),
+ q(7111) => q(wog),
+ q(7112) => q(woi),
+ q(7113) => q(wok),
+ q(7114) => q(wom),
+ q(7115) => q(won),
+ q(7116) => q(woo),
+ q(7117) => q(wor),
+ q(7118) => q(wos),
+ q(7119) => q(wow),
+ q(7120) => q(woy),
+ q(7121) => q(wpc),
+ q(7122) => q(wra),
+ q(7123) => q(wrb),
+ q(7124) => q(wrd),
+ q(7125) => q(wrg),
+ q(7126) => q(wrh),
+ q(7127) => q(wri),
+ q(7128) => q(wrl),
+ q(7129) => q(wrm),
+ q(7130) => q(wrn),
+ q(7131) => q(wrp),
+ q(7132) => q(wrr),
+ q(7133) => q(wrs),
+ q(7134) => q(wru),
+ q(7135) => q(wrv),
+ q(7136) => q(wrw),
+ q(7137) => q(wrx),
+ q(7138) => q(wry),
+ q(7139) => q(wrz),
+ q(7140) => q(wsa),
+ q(7141) => q(wsi),
+ q(7142) => q(wsk),
+ q(7143) => q(wsr),
+ q(7144) => q(wss),
+ q(7145) => q(wsu),
+ q(7146) => q(wsv),
+ q(7147) => q(wtf),
+ q(7148) => q(wti),
+ q(7149) => q(wtk),
+ q(7150) => q(wtm),
+ q(7151) => q(wtw),
+ q(7152) => q(wua),
+ q(7153) => q(wub),
+ q(7154) => q(wud),
+ q(7155) => q(wuh),
+ q(7156) => q(wul),
+ q(7157) => q(wum),
+ q(7158) => q(wun),
+ q(7159) => q(wur),
+ q(7160) => q(wut),
+ q(7161) => q(wuu),
+ q(7162) => q(wuv),
+ q(7163) => q(wux),
+ q(7164) => q(wuy),
+ q(7165) => q(wwa),
+ q(7166) => q(wwo),
+ q(7167) => q(wwr),
+ q(7168) => q(www),
+ q(7169) => q(wxa),
+ q(7170) => q(wya),
+ q(7171) => q(wyb),
+ q(7172) => q(wym),
+ q(7173) => q(wyr),
+ q(7174) => q(wyy),
+ q(7175) => q(xaa),
+ q(7176) => q(xab),
+ q(7177) => q(xac),
+ q(7178) => q(xad),
+ q(7179) => q(xae),
+ q(7180) => q(xag),
+ q(7181) => q(xai),
+ q(7182) => q(xam),
+ q(7183) => q(xan),
+ q(7184) => q(xao),
+ q(7185) => q(xap),
+ q(7186) => q(xaq),
+ q(7187) => q(xar),
+ q(7188) => q(xas),
+ q(7189) => q(xat),
+ q(7190) => q(xau),
+ q(7191) => q(xav),
+ q(7192) => q(xaw),
+ q(7193) => q(xay),
+ q(7194) => q(xba),
+ q(7195) => q(xbb),
+ q(7196) => q(xbc),
+ q(7197) => q(xbi),
+ q(7198) => q(xbm),
+ q(7199) => q(xbn),
+ q(7200) => q(xbo),
+ q(7201) => q(xbr),
+ q(7202) => q(xbw),
+ q(7203) => q(xbx),
+ q(7204) => q(xcb),
+ q(7205) => q(xcc),
+ q(7206) => q(xce),
+ q(7207) => q(xcg),
+ q(7208) => q(xch),
+ q(7209) => q(xcl),
+ q(7210) => q(xcm),
+ q(7211) => q(xcn),
+ q(7212) => q(xco),
+ q(7213) => q(xcr),
+ q(7214) => q(xct),
+ q(7215) => q(xcu),
+ q(7216) => q(xcv),
+ q(7217) => q(xcw),
+ q(7218) => q(xcy),
+ q(7219) => q(xdc),
+ q(7220) => q(xdm),
+ q(7221) => q(xdy),
+ q(7222) => q(xeb),
+ q(7223) => q(xed),
+ q(7224) => q(xeg),
+ q(7225) => q(xel),
+ q(7226) => q(xem),
+ q(7227) => q(xep),
+ q(7228) => q(xer),
+ q(7229) => q(xes),
+ q(7230) => q(xet),
+ q(7231) => q(xeu),
+ q(7232) => q(xfa),
+ q(7233) => q(xga),
+ q(7234) => q(xgf),
+ q(7235) => q(xgl),
+ q(7236) => q(xgr),
+ q(7237) => q(xha),
+ q(7238) => q(xhc),
+ q(7239) => q(xhd),
+ q(7240) => q(xhe),
+ q(7241) => q(xhr),
+ q(7242) => q(xht),
+ q(7243) => q(xhu),
+ q(7244) => q(xhv),
+ q(7245) => q(xia),
+ q(7246) => q(xib),
+ q(7247) => q(xii),
+ q(7248) => q(xil),
+ q(7249) => q(xin),
+ q(7250) => q(xip),
+ q(7251) => q(xir),
+ q(7252) => q(xiv),
+ q(7253) => q(xiy),
+ q(7254) => q(xka),
+ q(7255) => q(xkb),
+ q(7256) => q(xkc),
+ q(7257) => q(xkd),
+ q(7258) => q(xke),
+ q(7259) => q(xkf),
+ q(7260) => q(xkg),
+ q(7261) => q(xkh),
+ q(7262) => q(xki),
+ q(7263) => q(xkj),
+ q(7264) => q(xkk),
+ q(7265) => q(xkl),
+ q(7266) => q(xkn),
+ q(7267) => q(xko),
+ q(7268) => q(xkp),
+ q(7269) => q(xkq),
+ q(7270) => q(xkr),
+ q(7271) => q(xks),
+ q(7272) => q(xkt),
+ q(7273) => q(xku),
+ q(7274) => q(xkv),
+ q(7275) => q(xkw),
+ q(7276) => q(xkx),
+ q(7277) => q(xky),
+ q(7278) => q(xkz),
+ q(7279) => q(xla),
+ q(7280) => q(xlb),
+ q(7281) => q(xlc),
+ q(7282) => q(xld),
+ q(7283) => q(xle),
+ q(7284) => q(xlg),
+ q(7285) => q(xli),
+ q(7286) => q(xln),
+ q(7287) => q(xlo),
+ q(7288) => q(xlp),
+ q(7289) => q(xls),
+ q(7290) => q(xlu),
+ q(7291) => q(xly),
+ q(7292) => q(xma),
+ q(7293) => q(xmb),
+ q(7294) => q(xmc),
+ q(7295) => q(xmd),
+ q(7296) => q(xme),
+ q(7297) => q(xmf),
+ q(7298) => q(xmg),
+ q(7299) => q(xmh),
+ q(7300) => q(xmj),
+ q(7301) => q(xmk),
+ q(7302) => q(xml),
+ q(7303) => q(xmm),
+ q(7304) => q(xmn),
+ q(7305) => q(xmo),
+ q(7306) => q(xmp),
+ q(7307) => q(xmq),
+ q(7308) => q(xmr),
+ q(7309) => q(xms),
+ q(7310) => q(xmt),
+ q(7311) => q(xmu),
+ q(7312) => q(xmv),
+ q(7313) => q(xmw),
+ q(7314) => q(xmx),
+ q(7315) => q(xmy),
+ q(7316) => q(xmz),
+ q(7317) => q(xna),
+ q(7318) => q(xnb),
+ q(7319) => q(xng),
+ q(7320) => q(xnh),
+ q(7321) => q(xnn),
+ q(7322) => q(xno),
+ q(7323) => q(xnr),
+ q(7324) => q(xns),
+ q(7325) => q(xnt),
+ q(7326) => q(xoc),
+ q(7327) => q(xod),
+ q(7328) => q(xog),
+ q(7329) => q(xoi),
+ q(7330) => q(xok),
+ q(7331) => q(xom),
+ q(7332) => q(xon),
+ q(7333) => q(xoo),
+ q(7334) => q(xop),
+ q(7335) => q(xor),
+ q(7336) => q(xow),
+ q(7337) => q(xpc),
+ q(7338) => q(xpe),
+ q(7339) => q(xpg),
+ q(7340) => q(xpi),
+ q(7341) => q(xpk),
+ q(7342) => q(xpm),
+ q(7343) => q(xpn),
+ q(7344) => q(xpo),
+ q(7345) => q(xpp),
+ q(7346) => q(xpq),
+ q(7347) => q(xpr),
+ q(7348) => q(xps),
+ q(7349) => q(xpu),
+ q(7350) => q(xpy),
+ q(7351) => q(xqa),
+ q(7352) => q(xqt),
+ q(7353) => q(xra),
+ q(7354) => q(xrb),
+ q(7355) => q(xre),
+ q(7356) => q(xri),
+ q(7357) => q(xrm),
+ q(7358) => q(xrn),
+ q(7359) => q(xrr),
+ q(7360) => q(xrt),
+ q(7361) => q(xru),
+ q(7362) => q(xrw),
+ q(7363) => q(xsa),
+ q(7364) => q(xsb),
+ q(7365) => q(xsc),
+ q(7366) => q(xsd),
+ q(7367) => q(xse),
+ q(7368) => q(xsh),
+ q(7369) => q(xsi),
+ q(7370) => q(xsj),
+ q(7371) => q(xsl),
+ q(7372) => q(xsm),
+ q(7373) => q(xsn),
+ q(7374) => q(xso),
+ q(7375) => q(xsp),
+ q(7376) => q(xsq),
+ q(7377) => q(xsr),
+ q(7378) => q(xss),
+ q(7379) => q(xsu),
+ q(7380) => q(xsv),
+ q(7381) => q(xsy),
+ q(7382) => q(xta),
+ q(7383) => q(xtb),
+ q(7384) => q(xtc),
+ q(7385) => q(xtd),
+ q(7386) => q(xte),
+ q(7387) => q(xtg),
+ q(7388) => q(xti),
+ q(7389) => q(xtj),
+ q(7390) => q(xtl),
+ q(7391) => q(xtm),
+ q(7392) => q(xtn),
+ q(7393) => q(xto),
+ q(7394) => q(xtp),
+ q(7395) => q(xtq),
+ q(7396) => q(xtr),
+ q(7397) => q(xts),
+ q(7398) => q(xtt),
+ q(7399) => q(xtu),
+ q(7400) => q(xtw),
+ q(7401) => q(xty),
+ q(7402) => q(xtz),
+ q(7403) => q(xua),
+ q(7404) => q(xub),
+ q(7405) => q(xug),
+ q(7406) => q(xuj),
+ q(7407) => q(xum),
+ q(7408) => q(xuo),
+ q(7409) => q(xup),
+ q(7410) => q(xur),
+ q(7411) => q(xut),
+ q(7412) => q(xuu),
+ q(7413) => q(xve),
+ q(7414) => q(xvi),
+ q(7415) => q(xvn),
+ q(7416) => q(xvo),
+ q(7417) => q(xvs),
+ q(7418) => q(xwa),
+ q(7419) => q(xwc),
+ q(7420) => q(xwe),
+ q(7421) => q(xwg),
+ q(7422) => q(xwl),
+ q(7423) => q(xwo),
+ q(7424) => q(xwr),
+ q(7425) => q(xxb),
+ q(7426) => q(xxk),
+ q(7427) => q(xxr),
+ q(7428) => q(xxt),
+ q(7429) => q(xyl),
+ q(7430) => q(xzh),
+ q(7431) => q(xzm),
+ q(7432) => q(xzp),
+ q(7433) => q(yaa),
+ q(7434) => q(yab),
+ q(7435) => q(yac),
+ q(7436) => q(yad),
+ q(7437) => q(yae),
+ q(7438) => q(yaf),
+ q(7439) => q(yag),
+ q(7440) => q(yah),
+ q(7441) => q(yai),
+ q(7442) => q(yaj),
+ q(7443) => q(yak),
+ q(7444) => q(yal),
+ q(7445) => q(yam),
+ q(7446) => q(yan),
+ q(7447) => q(yaq),
+ q(7448) => q(yar),
+ q(7449) => q(yas),
+ q(7450) => q(yat),
+ q(7451) => q(yau),
+ q(7452) => q(yav),
+ q(7453) => q(yaw),
+ q(7454) => q(yax),
+ q(7455) => q(yay),
+ q(7456) => q(yaz),
+ q(7457) => q(yba),
+ q(7458) => q(ybb),
+ q(7459) => q(ybd),
+ q(7460) => q(ybe),
+ q(7461) => q(ybh),
+ q(7462) => q(ybi),
+ q(7463) => q(ybj),
+ q(7464) => q(ybk),
+ q(7465) => q(ybl),
+ q(7466) => q(ybm),
+ q(7467) => q(ybn),
+ q(7468) => q(ybo),
+ q(7469) => q(ybx),
+ q(7470) => q(yby),
+ q(7471) => q(ych),
+ q(7472) => q(ycl),
+ q(7473) => q(ycn),
+ q(7474) => q(ycp),
+ q(7475) => q(ydd),
+ q(7476) => q(yde),
+ q(7477) => q(ydg),
+ q(7478) => q(ydk),
+ q(7479) => q(yds),
+ q(7480) => q(yea),
+ q(7481) => q(yec),
+ q(7482) => q(yee),
+ q(7483) => q(yei),
+ q(7484) => q(yej),
+ q(7485) => q(yel),
+ q(7486) => q(yen),
+ q(7487) => q(yer),
+ q(7488) => q(yes),
+ q(7489) => q(yet),
+ q(7490) => q(yeu),
+ q(7491) => q(yev),
+ q(7492) => q(yey),
+ q(7493) => q(ygl),
+ q(7494) => q(ygm),
+ q(7495) => q(ygp),
+ q(7496) => q(ygr),
+ q(7497) => q(ygw),
+ q(7498) => q(yha),
+ q(7499) => q(yhd),
+ q(7500) => q(yhl),
+ q(7501) => q(yia),
+ q(7502) => q(yig),
+ q(7503) => q(yih),
+ q(7504) => q(yii),
+ q(7505) => q(yij),
+ q(7506) => q(yik),
+ q(7507) => q(yil),
+ q(7508) => q(yim),
+ q(7509) => q(yin),
+ q(7510) => q(yip),
+ q(7511) => q(yiq),
+ q(7512) => q(yir),
+ q(7513) => q(yis),
+ q(7514) => q(yit),
+ q(7515) => q(yiu),
+ q(7516) => q(yiv),
+ q(7517) => q(yix),
+ q(7518) => q(yiy),
+ q(7519) => q(yiz),
+ q(7520) => q(yka),
+ q(7521) => q(ykg),
+ q(7522) => q(yki),
+ q(7523) => q(ykk),
+ q(7524) => q(ykl),
+ q(7525) => q(ykm),
+ q(7526) => q(yko),
+ q(7527) => q(ykr),
+ q(7528) => q(ykt),
+ q(7529) => q(yky),
+ q(7530) => q(yla),
+ q(7531) => q(ylb),
+ q(7532) => q(yle),
+ q(7533) => q(ylg),
+ q(7534) => q(yli),
+ q(7535) => q(yll),
+ q(7536) => q(ylm),
+ q(7537) => q(yln),
+ q(7538) => q(ylo),
+ q(7539) => q(ylr),
+ q(7540) => q(ylu),
+ q(7541) => q(yly),
+ q(7542) => q(yma),
+ q(7543) => q(ymb),
+ q(7544) => q(ymc),
+ q(7545) => q(ymd),
+ q(7546) => q(yme),
+ q(7547) => q(ymg),
+ q(7548) => q(ymh),
+ q(7549) => q(ymi),
+ q(7550) => q(ymk),
+ q(7551) => q(yml),
+ q(7552) => q(ymm),
+ q(7553) => q(ymn),
+ q(7554) => q(ymo),
+ q(7555) => q(ymp),
+ q(7556) => q(ymq),
+ q(7557) => q(ymr),
+ q(7558) => q(yms),
+ q(7559) => q(ymt),
+ q(7560) => q(ymx),
+ q(7561) => q(ymz),
+ q(7562) => q(yna),
+ q(7563) => q(ynd),
+ q(7564) => q(yne),
+ q(7565) => q(yng),
+ q(7566) => q(ynh),
+ q(7567) => q(ynk),
+ q(7568) => q(ynl),
+ q(7569) => q(ynn),
+ q(7570) => q(yno),
+ q(7571) => q(yns),
+ q(7572) => q(ynu),
+ q(7573) => q(yob),
+ q(7574) => q(yog),
+ q(7575) => q(yoi),
+ q(7576) => q(yok),
+ q(7577) => q(yol),
+ q(7578) => q(yom),
+ q(7579) => q(yon),
+ q(7580) => q(yos),
+ q(7581) => q(yox),
+ q(7582) => q(yoy),
+ q(7583) => q(ypa),
+ q(7584) => q(ypb),
+ q(7585) => q(ypg),
+ q(7586) => q(yph),
+ q(7587) => q(ypm),
+ q(7588) => q(ypn),
+ q(7589) => q(ypo),
+ q(7590) => q(ypp),
+ q(7591) => q(ypz),
+ q(7592) => q(yra),
+ q(7593) => q(yrb),
+ q(7594) => q(yre),
+ q(7595) => q(yri),
+ q(7596) => q(yrk),
+ q(7597) => q(yrl),
+ q(7598) => q(yrn),
+ q(7599) => q(yrs),
+ q(7600) => q(yrw),
+ q(7601) => q(ysc),
+ q(7602) => q(ysd),
+ q(7603) => q(ysl),
+ q(7604) => q(ysn),
+ q(7605) => q(yso),
+ q(7606) => q(ysp),
+ q(7607) => q(ysr),
+ q(7608) => q(yss),
+ q(7609) => q(ysy),
+ q(7610) => q(yta),
+ q(7611) => q(ytl),
+ q(7612) => q(ytp),
+ q(7613) => q(ytw),
+ q(7614) => q(yua),
+ q(7615) => q(yub),
+ q(7616) => q(yuc),
+ q(7617) => q(yud),
+ q(7618) => q(yue),
+ q(7619) => q(yuf),
+ q(7620) => q(yug),
+ q(7621) => q(yui),
+ q(7622) => q(yuj),
+ q(7623) => q(yuk),
+ q(7624) => q(yul),
+ q(7625) => q(yum),
+ q(7626) => q(yun),
+ q(7627) => q(yup),
+ q(7628) => q(yuq),
+ q(7629) => q(yur),
+ q(7630) => q(yut),
+ q(7631) => q(yuu),
+ q(7632) => q(yuw),
+ q(7633) => q(yux),
+ q(7634) => q(yuy),
+ q(7635) => q(yuz),
+ q(7636) => q(yva),
+ q(7637) => q(yvt),
+ q(7638) => q(ywa),
+ q(7639) => q(ywl),
+ q(7640) => q(ywn),
+ q(7641) => q(ywq),
+ q(7642) => q(ywr),
+ q(7643) => q(ywt),
+ q(7644) => q(ywu),
+ q(7645) => q(yww),
+ q(7646) => q(yyu),
+ q(7647) => q(yyz),
+ q(7648) => q(yzg),
+ q(7649) => q(yzk),
+ q(7650) => q(zaa),
+ q(7651) => q(zab),
+ q(7652) => q(zac),
+ q(7653) => q(zad),
+ q(7654) => q(zae),
+ q(7655) => q(zaf),
+ q(7656) => q(zag),
+ q(7657) => q(zah),
+ q(7658) => q(zai),
+ q(7659) => q(zaj),
+ q(7660) => q(zak),
+ q(7661) => q(zal),
+ q(7662) => q(zam),
+ q(7663) => q(zao),
+ q(7664) => q(zaq),
+ q(7665) => q(zar),
+ q(7666) => q(zas),
+ q(7667) => q(zat),
+ q(7668) => q(zau),
+ q(7669) => q(zav),
+ q(7670) => q(zaw),
+ q(7671) => q(zax),
+ q(7672) => q(zay),
+ q(7673) => q(zaz),
+ q(7674) => q(zbc),
+ q(7675) => q(zbe),
+ q(7676) => q(zbt),
+ q(7677) => q(zbw),
+ q(7678) => q(zca),
+ q(7679) => q(zch),
+ q(7680) => q(zdj),
+ q(7681) => q(zea),
+ q(7682) => q(zeg),
+ q(7683) => q(zeh),
+ q(7684) => q(zga),
+ q(7685) => q(zgb),
+ q(7686) => q(zgm),
+ q(7687) => q(zgn),
+ q(7688) => q(zgr),
+ q(7689) => q(zhb),
+ q(7690) => q(zhd),
+ q(7691) => q(zhi),
+ q(7692) => q(zhn),
+ q(7693) => q(zhw),
+ q(7694) => q(zia),
+ q(7695) => q(zib),
+ q(7696) => q(zik),
+ q(7697) => q(zil),
+ q(7698) => q(zim),
+ q(7699) => q(zin),
+ q(7700) => q(zir),
+ q(7701) => q(ziw),
+ q(7702) => q(ziz),
+ q(7703) => q(zka),
+ q(7704) => q(zkb),
+ q(7705) => q(zkg),
+ q(7706) => q(zkh),
+ q(7707) => q(zkk),
+ q(7708) => q(zko),
+ q(7709) => q(zkp),
+ q(7710) => q(zkr),
+ q(7711) => q(zkt),
+ q(7712) => q(zku),
+ q(7713) => q(zkv),
+ q(7714) => q(zkz),
+ q(7715) => q(zlj),
+ q(7716) => q(zlm),
+ q(7717) => q(zln),
+ q(7718) => q(zlq),
+ q(7719) => q(zma),
+ q(7720) => q(zmb),
+ q(7721) => q(zmc),
+ q(7722) => q(zmd),
+ q(7723) => q(zme),
+ q(7724) => q(zmf),
+ q(7725) => q(zmg),
+ q(7726) => q(zmh),
+ q(7727) => q(zmi),
+ q(7728) => q(zmj),
+ q(7729) => q(zmk),
+ q(7730) => q(zml),
+ q(7731) => q(zmm),
+ q(7732) => q(zmn),
+ q(7733) => q(zmo),
+ q(7734) => q(zmp),
+ q(7735) => q(zmq),
+ q(7736) => q(zmr),
+ q(7737) => q(zms),
+ q(7738) => q(zmt),
+ q(7739) => q(zmu),
+ q(7740) => q(zmv),
+ q(7741) => q(zmw),
+ q(7742) => q(zmx),
+ q(7743) => q(zmy),
+ q(7744) => q(zmz),
+ q(7745) => q(zna),
+ q(7746) => q(zne),
+ q(7747) => q(zng),
+ q(7748) => q(znk),
+ q(7749) => q(zns),
+ q(7750) => q(zoc),
+ q(7751) => q(zoh),
+ q(7752) => q(zom),
+ q(7753) => q(zoo),
+ q(7754) => q(zoq),
+ q(7755) => q(zor),
+ q(7756) => q(zos),
+ q(7757) => q(zpa),
+ q(7758) => q(zpb),
+ q(7759) => q(zpc),
+ q(7760) => q(zpd),
+ q(7761) => q(zpe),
+ q(7762) => q(zpf),
+ q(7763) => q(zpg),
+ q(7764) => q(zph),
+ q(7765) => q(zpi),
+ q(7766) => q(zpj),
+ q(7767) => q(zpk),
+ q(7768) => q(zpl),
+ q(7769) => q(zpm),
+ q(7770) => q(zpn),
+ q(7771) => q(zpo),
+ q(7772) => q(zpp),
+ q(7773) => q(zpq),
+ q(7774) => q(zpr),
+ q(7775) => q(zps),
+ q(7776) => q(zpt),
+ q(7777) => q(zpu),
+ q(7778) => q(zpv),
+ q(7779) => q(zpw),
+ q(7780) => q(zpx),
+ q(7781) => q(zpy),
+ q(7782) => q(zpz),
+ q(7783) => q(zqe),
+ q(7784) => q(zra),
+ q(7785) => q(zrg),
+ q(7786) => q(zrn),
+ q(7787) => q(zro),
+ q(7788) => q(zrp),
+ q(7789) => q(zrs),
+ q(7790) => q(zsa),
+ q(7791) => q(zsk),
+ q(7792) => q(zsl),
+ q(7793) => q(zsm),
+ q(7794) => q(zsr),
+ q(7795) => q(zsu),
+ q(7796) => q(zte),
+ q(7797) => q(ztg),
+ q(7798) => q(ztl),
+ q(7799) => q(ztm),
+ q(7800) => q(ztn),
+ q(7801) => q(ztp),
+ q(7802) => q(ztq),
+ q(7803) => q(zts),
+ q(7804) => q(ztt),
+ q(7805) => q(ztu),
+ q(7806) => q(ztx),
+ q(7807) => q(zty),
+ q(7808) => q(zua),
+ q(7809) => q(zuh),
+ q(7810) => q(zum),
+ q(7811) => q(zuy),
+ q(7812) => q(zwa),
+ q(7813) => q(zyb),
+ q(7814) => q(zyg),
+ q(7815) => q(zyj),
+ q(7816) => q(zyn),
+ q(7817) => q(zyp),
+ q(7818) => q(zzj),
+ },
+ q(term) => {
+ q(0013) => q(sqi),
+ q(0024) => q(hye),
+ q(0044) => q(eus),
+ q(0066) => q(mya),
+ q(0079) => q(zho),
+ q(0101) => q(ces),
+ q(0116) => q(nld),
+ q(0137) => q(fra),
+ q(0149) => q(kat),
+ q(0150) => q(deu),
+ q(0164) => q(ell),
+ q(0187) => q(isl),
+ q(0262) => q(mkd),
+ q(0270) => q(mri),
+ q(0274) => q(msa),
+ q(0342) => q(fas),
+ q(0360) => q(ron),
+ q(0385) => q(slk),
+ q(0427) => q(bod),
+ q(0466) => q(cym),
+ },
+};
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Language_Retired.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Language_Retired.pm
new file mode 100644
index 00000000000..d256d3a21a4
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Language_Retired.pm
@@ -0,0 +1,176 @@
+package Locale::Codes::Language_Retired;
+
+# This file was automatically generated. Any changes to this file will
+# be lost the next time 'deprecate_codes' is run.
+# Generated on: Thu Mar 1 08:11:47 EST 2012
+
+=pod
+
+=head1 NAME
+
+Locale::Codes::Language_Retired - retired language codes for the Locale::Codes::Language module
+
+=head1 SYNOPSIS
+
+This module contains data used by the Locale::Codes::Language module. It is
+not intended to be used directly, and contains no calleable routines.
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+require 5.002;
+
+our($VERSION);
+$VERSION='3.21';
+
+$Locale::Codes::Retired{'language'}{'alpha-2'}{'code'} = {
+ q(jw) => q(Javanese),
+ q(in) => q(Indonesian),
+ q(iw) => q(Hebrew),
+ q(mo) => q(Moldavian),
+ q(ji) => q(Yiddish),
+};
+
+$Locale::Codes::Retired{'language'}{'alpha-3'}{'code'} = {
+ q(bjq) => q(Southern Betsimisaraka Malagasy),
+ q(dha) => q(Dhanwar (India)),
+ q(dkl) => q(Kolum So Dogon),
+ q(nbf) => q(Naxi),
+ q(tie) => q(Tingal),
+ q(mja) => q(Mahei),
+ q(tkk) => q(Takpa),
+ q(ayx) => q(Ayi (China)),
+ q(noo) => q(Nootka),
+};
+
+$Locale::Codes::Retired{'language'}{'term'}{'code'} = {
+};
+
+$Locale::Codes::Retired{'language'}{'alpha-2'}{'name'} = {
+ q(kirundi) => [ q(rn), q(Kirundi) ],
+ q(latvian, lettish) => [ q(lv), q(Latvian, Lettish) ],
+ q(moldavian) => [ q(mo), q(Moldavian) ],
+ q(greek, modern (1453-)) => [ q(el), q(Greek, Modern (1453-)) ],
+ q(volapük) => [ q(vo), q(Volapük) ],
+ q(frisian) => [ q(fy), q(Frisian) ],
+ q(bihari) => [ q(bh), q(Bihari) ],
+ q(malay) => [ q(ms), q(Malay) ],
+ q(byelorussian) => [ q(be), q(Byelorussian) ],
+ q(sotho, southern) => [ q(st), q(Sotho, Southern) ],
+ q(norwegian bokmal) => [ q(nb), q(Norwegian Bokmal) ],
+ q(greek) => [ q(el), q(Greek) ],
+ q(faeroese) => [ q(fo), q(Faeroese) ],
+ q((afan) oromo) => [ q(om), q((Afan) Oromo) ],
+ q(laothian) => [ q(lo), q(Laothian) ],
+ q(khmer) => [ q(km), q(Khmer) ],
+ q(norwegian bokmål) => [ q(nb), q(Norwegian Bokmål) ],
+ q(marshall) => [ q(mh), q(Marshall) ],
+ q(scots gaelic) => [ q(gd), q(Scots Gaelic) ],
+ q(bhutani) => [ q(dz), q(Bhutani) ],
+ q(singhalese) => [ q(si), q(Singhalese) ],
+ q(bengali; bangla) => [ q(bn), q(Bengali; Bangla) ],
+ q(chichewa; nyanja) => [ q(ny), q(Chichewa; Nyanja) ],
+ q(inupiak) => [ q(ik), q(Inupiak) ],
+ q(greenlandic) => [ q(kl), q(Greenlandic) ],
+ q(sangro) => [ q(sg), q(Sangro) ],
+ q(ossetian; ossetic) => [ q(os), q(Ossetian; Ossetic) ],
+ q(sami) => [ q(se), q(Sami) ],
+ q(setswana) => [ q(tn), q(Setswana) ],
+ q(punjabi) => [ q(pa), q(Punjabi) ],
+ q(tegulu) => [ q(te), q(Tegulu) ],
+ q(sotho) => [ q(st), q(Sotho) ],
+ q(cambodian) => [ q(km), q(Cambodian) ],
+ q(tonga) => [ q(to), q(Tonga) ],
+ q(interlingua) => [ q(ia), q(Interlingua) ],
+ q(sinhalese) => [ q(si), q(Sinhalese) ],
+ q(rhaeto-romance) => [ q(rm), q(Rhaeto-Romance) ],
+ q(gallegan) => [ q(gl), q(Gallegan) ],
+ q(swahili) => [ q(sw), q(Swahili) ],
+ q(occitan) => [ q(oc), q(Occitan) ],
+ q(gaelic (scots)) => [ q(gd), q(Gaelic (Scots)) ],
+ q(letzeburgesch) => [ q(lb), q(Letzeburgesch) ],
+ q(siswati) => [ q(ss), q(Siswati) ],
+ q(pashto, pushto) => [ q(ps), q(Pashto, Pushto) ],
+ q(fiji) => [ q(fj), q(Fiji) ],
+ q(sesotho) => [ q(st), q(Sesotho) ],
+};
+
+$Locale::Codes::Retired{'language'}{'alpha-3'}{'name'} = {
+ q(dhanwar (india)) => [ q(dha), q(Dhanwar (India)) ],
+ q(ayi (china)) => [ q(ayx), q(Ayi (China)) ],
+ q(dutch, middle (ca.1050-1350)) => [ q(dum), q(Dutch, Middle (ca.1050-1350)) ],
+ q(hainyaxo bozo) => [ q(bzx), q(Hainyaxo Bozo) ],
+ q(dogri) => [ q(doi), q(Dogri) ],
+ q(waray) => [ q(war), q(Waray) ],
+ q(kumak) => [ q(nee), q(Kumak) ],
+ q(kwato) => [ q(kop), q(Kwato) ],
+ q(creoles and pidgins ) => [ q(crp), q(Creoles and pidgins ) ],
+ q(nung (myanmar)) => [ q(nun), q(Nung (Myanmar)) ],
+ q(mende) => [ q(men), q(Mende) ],
+ q(english, middle (1100-1500)) => [ q(enm), q(English, Middle (1100-1500)) ],
+ q(ounge) => [ q(oue), q(Ounge) ],
+ q(dumpu) => [ q(wtf), q(Dumpu) ],
+ q(turkish, ottoman (1500-1928)) => [ q(ota), q(Turkish, Ottoman (1500-1928)) ],
+ q(kag-fer-jiir-koor-ror-us-zuksun) => [ q(gel), q(Kag-Fer-Jiir-Koor-Ror-Us-Zuksun) ],
+ q(creoles and pidgins, portuguese-based ) => [ q(cpp), q(Creoles and pidgins, Portuguese-based ) ],
+ q(provencal, old (to 1500)) => [ q(pro), q(Provencal, Old (to 1500)) ],
+ q(fang) => [ q(fan), q(Fang) ],
+ q(miri) => [ q(mrg), q(Miri) ],
+ q(yonggom) => [ q(yon), q(Yonggom) ],
+ q(bemba) => [ q(bem), q(Bemba) ],
+ q(kamba) => [ q(kam), q(Kamba) ],
+ q(konkani) => [ q(kok), q(Konkani) ],
+ q(south american indian (other)) => [ q(sai), q(South American Indian (Other)) ],
+ q(creoles and pidgins, english based) => [ q(cpe), q(Creoles and pidgins, English based) ],
+ q(basa) => [ q(bas), q(Basa) ],
+ q(german, old high (ca.750-1050)) => [ q(goh), q(German, Old High (ca.750-1050)) ],
+ q(nakama) => [ q(nib), q(Nakama) ],
+ q(norse, old) => [ q(non), q(Norse, Old) ],
+ q(gbaya) => [ q(gba), q(Gbaya) ],
+ q(mahei) => [ q(mja), q(Mahei) ],
+ q(german, middle high (ca.1050-1500)) => [ q(gmh), q(German, Middle High (ca.1050-1500)) ],
+ q(french, middle (ca.1400-1600)) => [ q(frm), q(French, Middle (ca.1400-1600)) ],
+ q(duduela) => [ q(duk), q(Duduela) ],
+ q(burum-mindik) => [ q(bmu), q(Burum-Mindik) ],
+ q(mbedam) => [ q(xmd), q(Mbedam) ],
+ q(kolum so dogon) => [ q(dkl), q(Kolum So Dogon) ],
+ q(tingal) => [ q(tie), q(Tingal) ],
+ q(ainu) => [ q(ain), q(Ainu) ],
+ q(french, old (842-ca.1400)) => [ q(fro), q(French, Old (842-ca.1400)) ],
+ q(nootka) => [ q(noo), q(Nootka) ],
+ q(irish, middle (900-1200)) => [ q(mga), q(Irish, Middle (900-1200)) ],
+ q(irish, old (to 900)) => [ q(sga), q(Irish, Old (to 900)) ],
+ q(mari) => [ q(chm), q(Mari) ],
+ q(bekwil) => [ q(bkw), q(Bekwil) ],
+ q(walamo) => [ q(wal), q(Walamo) ],
+ q(greek, ancient (to 1453)) => [ q(grc), q(Greek, Ancient (to 1453)) ],
+ q(bantu (other)) => [ q(bnt), q(Bantu (Other)) ],
+ q(apalik) => [ q(apo), q(Apalik) ],
+ q(creoles and pidgins, french-based ) => [ q(cpf), q(Creoles and pidgins, French-based ) ],
+ q(persian, old (ca.600-400 b.c.)) => [ q(peo), q(Persian, Old (ca.600-400 B.C.)) ],
+ q(takpa) => [ q(tkk), q(Takpa) ],
+ q(english, old (ca.450-1100)) => [ q(ang), q(English, Old (ca.450-1100)) ],
+ q(were) => [ q(wei), q(Were) ],
+};
+
+$Locale::Codes::Retired{'language'}{'term'}{'name'} = {
+};
+
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Script.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Script.pm
index 1eb4bd537fb..0f098c5f33c 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Codes/Script.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Script.pm
@@ -1,2699 +1,98 @@
package Locale::Codes::Script;
-
-# This file was automatically generated. Any changes to this file will
-# be lost the next time 'get_codes' is run.
-# Generated on: Tue Mar 1 15:02:24 EST 2011
-
-=pod
-
-=head1 NAME
-
-Locale::Codes::Script - script codes for the Locale::Script module
-
-=head1 SYNOPSIS
-
-This module contains data used by the Locale::Script module. It is
-not intended to be used directly, and contains no calleable routines.
-
-=head1 AUTHOR
-
-See Locale::Codes for full author history.
-
-Currently maintained by Sullivan Beck (sbeck@cpan.org).
-
-=head1 COPYRIGHT
-
- Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
- Copyright (c) 2001-2010 Neil Bowers
- Copyright (c) 2010-2011 Sullivan Beck
-
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-=cut
+# Copyright (C) 2001 Canon Research Centre Europe (CRE).
+# Copyright (C) 2002-2009 Neil Bowers
+# Copyright (c) 2010-2012 Sullivan Beck
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
use strict;
use warnings;
require 5.002;
-our($VERSION);
-$VERSION='3.16';
-
-$Locale::Codes::Data{'script'}{'id'} = '0156';
-
-$Locale::Codes::Data{'script'}{'id2names'} = {
- q(0001) => [
- q(Afaka),
- ],
- q(0002) => [
- q(Arabic),
- ],
- q(0003) => [
- q(Imperial Aramaic),
- ],
- q(0004) => [
- q(Armenian),
- ],
- q(0005) => [
- q(Avestan),
- ],
- q(0006) => [
- q(Balinese),
- ],
- q(0007) => [
- q(Bamum),
- ],
- q(0008) => [
- q(Bassa Vah),
- ],
- q(0009) => [
- q(Batak),
- ],
- q(0010) => [
- q(Bengali),
- ],
- q(0011) => [
- q(Blissymbols),
- ],
- q(0012) => [
- q(Bopomofo),
- ],
- q(0013) => [
- q(Brahmi),
- ],
- q(0014) => [
- q(Braille),
- ],
- q(0015) => [
- q(Buginese),
- ],
- q(0016) => [
- q(Buhid),
- ],
- q(0017) => [
- q(Chakma),
- ],
- q(0018) => [
- q(Unified Canadian Aboriginal Syllabics),
- ],
- q(0019) => [
- q(Carian),
- ],
- q(0020) => [
- q(Cham),
- ],
- q(0021) => [
- q(Cherokee),
- ],
- q(0022) => [
- q(Cirth),
- ],
- q(0023) => [
- q(Coptic),
- ],
- q(0024) => [
- q(Cypriot),
- ],
- q(0025) => [
- q(Cyrillic),
- ],
- q(0026) => [
- q(Cyrillic (Old Church Slavonic variant)),
- ],
- q(0027) => [
- q(Devanagari (Nagari)),
- ],
- q(0028) => [
- q(Deseret (Mormon)),
- ],
- q(0029) => [
- q(Duployan shorthand, Duployan stenography),
- ],
- q(0030) => [
- q(Egyptian demotic),
- ],
- q(0031) => [
- q(Egyptian hieratic),
- ],
- q(0032) => [
- q(Egyptian hieroglyphs),
- ],
- q(0033) => [
- q(Elbasan),
- ],
- q(0034) => [
- q(Ethiopic (Geez)),
- ],
- q(0035) => [
- q(Georgian (Mkhedruli)),
- ],
- q(0036) => [
- q(Khutsuri (Asomtavruli and Nuskhuri)),
- ],
- q(0037) => [
- q(Glagolitic),
- ],
- q(0038) => [
- q(Gothic),
- ],
- q(0039) => [
- q(Grantha),
- ],
- q(0040) => [
- q(Greek),
- ],
- q(0041) => [
- q(Gujarati),
- ],
- q(0042) => [
- q(Gurmukhi),
- ],
- q(0043) => [
- q(Hangul (Hangul, Hangeul)),
- ],
- q(0044) => [
- q(Han (Hanzi, Kanji, Hanja)),
- ],
- q(0045) => [
- q(Hanunoo (Hanunoo)),
- ],
- q(0046) => [
- q(Han (Simplified variant)),
- ],
- q(0047) => [
- q(Han (Traditional variant)),
- ],
- q(0048) => [
- q(Hebrew),
- ],
- q(0049) => [
- q(Hiragana),
- ],
- q(0050) => [
- q(Pahawh Hmong),
- ],
- q(0051) => [
- q((alias for Hiragana + Katakana)),
- ],
- q(0052) => [
- q(Old Hungarian),
- ],
- q(0053) => [
- q(Indus (Harappan)),
- ],
- q(0054) => [
- q(Old Italic (Etruscan, Oscan, etc.)),
- ],
- q(0055) => [
- q(Javanese),
- ],
- q(0056) => [
- q(Japanese (alias for Han + Hiragana + Katakana)),
- ],
- q(0057) => [
- q(Jurchen),
- ],
- q(0058) => [
- q(Kayah Li),
- ],
- q(0059) => [
- q(Katakana),
- ],
- q(0060) => [
- q(Kharoshthi),
- ],
- q(0061) => [
- q(Khmer),
- ],
- q(0062) => [
- q(Kannada),
- ],
- q(0063) => [
- q(Korean (alias for Hangul + Han)),
- ],
- q(0064) => [
- q(Kpelle),
- ],
- q(0065) => [
- q(Kaithi),
- ],
- q(0066) => [
- q(Tai Tham (Lanna)),
- ],
- q(0067) => [
- q(Lao),
- ],
- q(0068) => [
- q(Latin (Fraktur variant)),
- ],
- q(0069) => [
- q(Latin (Gaelic variant)),
- ],
- q(0070) => [
- q(Latin),
- ],
- q(0071) => [
- q(Lepcha (Rong)),
- ],
- q(0072) => [
- q(Limbu),
- ],
- q(0073) => [
- q(Linear A),
- ],
- q(0074) => [
- q(Linear B),
- ],
- q(0075) => [
- q(Lisu (Fraser)),
- ],
- q(0076) => [
- q(Loma),
- ],
- q(0077) => [
- q(Lycian),
- ],
- q(0078) => [
- q(Lydian),
- ],
- q(0079) => [
- q(Mandaic, Mandaean),
- ],
- q(0080) => [
- q(Manichaean),
- ],
- q(0081) => [
- q(Mayan hieroglyphs),
- ],
- q(0082) => [
- q(Mende),
- ],
- q(0083) => [
- q(Meroitic Cursive),
- ],
- q(0084) => [
- q(Meroitic Hieroglyphs),
- ],
- q(0085) => [
- q(Malayalam),
- ],
- q(0086) => [
- q(Moon (Moon code, Moon script, Moon type)),
- ],
- q(0087) => [
- q(Mongolian),
- ],
- q(0088) => [
- q(Mro, Mru),
- ],
- q(0089) => [
- q(Meitei Mayek (Meithei, Meetei)),
- ],
- q(0090) => [
- q(Myanmar (Burmese)),
- ],
- q(0091) => [
- q(Old North Arabian (Ancient North Arabian)),
- ],
- q(0092) => [
- q(Nabataean),
- ],
- q(0093) => [
- q(Nakhi Geba ('Na-'Khi Ggo-baw, Naxi Geba)),
- ],
- q(0094) => [
- q(N'Ko),
- ],
- q(0095) => [
- q(Nushu),
- ],
- q(0096) => [
- q(Ogham),
- ],
- q(0097) => [
- q(Ol Chiki (Ol Cemet, Ol, Santali)),
- ],
- q(0098) => [
- q(Old Turkic, Orkhon Runic),
- ],
- q(0099) => [
- q(Oriya),
- ],
- q(0100) => [
- q(Osmanya),
- ],
- q(0101) => [
- q(Palmyrene),
- ],
- q(0102) => [
- q(Old Permic),
- ],
- q(0103) => [
- q(Phags-pa),
- ],
- q(0104) => [
- q(Inscriptional Pahlavi),
- ],
- q(0105) => [
- q(Psalter Pahlavi),
- ],
- q(0106) => [
- q(Book Pahlavi),
- ],
- q(0107) => [
- q(Phoenician),
- ],
- q(0108) => [
- q(Miao (Pollard)),
- ],
- q(0109) => [
- q(Inscriptional Parthian),
- ],
- q(0110) => [
- q(Reserved for private use (start)),
- ],
- q(0111) => [
- q(Reserved for private use (end)),
- ],
- q(0112) => [
- q(Rejang (Redjang, Kaganga)),
- ],
- q(0113) => [
- q(Rongorongo),
- ],
- q(0114) => [
- q(Runic),
- ],
- q(0115) => [
- q(Samaritan),
- ],
- q(0116) => [
- q(Sarati),
- ],
- q(0117) => [
- q(Old South Arabian),
- ],
- q(0118) => [
- q(Saurashtra),
- ],
- q(0119) => [
- q(SignWriting),
- ],
- q(0120) => [
- q(Shavian (Shaw)),
- ],
- q(0121) => [
- q(Sharada, Sarada),
- ],
- q(0122) => [
- q(Khudawadi, Sindhi),
- ],
- q(0123) => [
- q(Sinhala),
- ],
- q(0124) => [
- q(Sora Sompeng),
- ],
- q(0125) => [
- q(Sundanese),
- ],
- q(0126) => [
- q(Syloti Nagri),
- ],
- q(0127) => [
- q(Syriac),
- ],
- q(0128) => [
- q(Syriac (Estrangelo variant)),
- ],
- q(0129) => [
- q(Syriac (Western variant)),
- ],
- q(0130) => [
- q(Syriac (Eastern variant)),
- ],
- q(0131) => [
- q(Tagbanwa),
- ],
- q(0132) => [
- q(Takri, Takri, Tankri),
- ],
- q(0133) => [
- q(Tai Le),
- ],
- q(0134) => [
- q(New Tai Lue),
- ],
- q(0135) => [
- q(Tamil),
- ],
- q(0136) => [
- q(Tangut),
- ],
- q(0137) => [
- q(Tai Viet),
- ],
- q(0138) => [
- q(Telugu),
- ],
- q(0139) => [
- q(Tengwar),
- ],
- q(0140) => [
- q(Tifinagh (Berber)),
- ],
- q(0141) => [
- q(Tagalog (Baybayin, Alibata)),
- ],
- q(0142) => [
- q(Thaana),
- ],
- q(0143) => [
- q(Thai),
- ],
- q(0144) => [
- q(Tibetan),
- ],
- q(0145) => [
- q(Ugaritic),
- ],
- q(0146) => [
- q(Vai),
- ],
- q(0147) => [
- q(Visible Speech),
- ],
- q(0148) => [
- q(Warang Citi (Varang Kshiti)),
- ],
- q(0149) => [
- q(Woleai),
- ],
- q(0150) => [
- q(Old Persian),
- ],
- q(0151) => [
- q(Cuneiform, Sumero-Akkadian),
- ],
- q(0152) => [
- q(Yi),
- ],
- q(0153) => [
- q(Code for inherited script),
- ],
- q(0154) => [
- q(Mathematical notation),
- ],
- q(0155) => [
- q(Symbols),
- ],
-};
-
-$Locale::Codes::Data{'script'}{'alias2id'} = {
- q((alias for hiragana + katakana)) => [
- q(0051),
- q(0),
- ],
- q(afaka) => [
- q(0001),
- q(0),
- ],
- q(arabic) => [
- q(0002),
- q(0),
- ],
- q(armenian) => [
- q(0004),
- q(0),
- ],
- q(avestan) => [
- q(0005),
- q(0),
- ],
- q(balinese) => [
- q(0006),
- q(0),
- ],
- q(bamum) => [
- q(0007),
- q(0),
- ],
- q(bassa vah) => [
- q(0008),
- q(0),
- ],
- q(batak) => [
- q(0009),
- q(0),
- ],
- q(bengali) => [
- q(0010),
- q(0),
- ],
- q(blissymbols) => [
- q(0011),
- q(0),
- ],
- q(book pahlavi) => [
- q(0106),
- q(0),
- ],
- q(bopomofo) => [
- q(0012),
- q(0),
- ],
- q(brahmi) => [
- q(0013),
- q(0),
- ],
- q(braille) => [
- q(0014),
- q(0),
- ],
- q(buginese) => [
- q(0015),
- q(0),
- ],
- q(buhid) => [
- q(0016),
- q(0),
- ],
- q(carian) => [
- q(0019),
- q(0),
- ],
- q(chakma) => [
- q(0017),
- q(0),
- ],
- q(cham) => [
- q(0020),
- q(0),
- ],
- q(cherokee) => [
- q(0021),
- q(0),
- ],
- q(cirth) => [
- q(0022),
- q(0),
- ],
- q(code for inherited script) => [
- q(0153),
- q(0),
- ],
- q(coptic) => [
- q(0023),
- q(0),
- ],
- q(cuneiform, sumero-akkadian) => [
- q(0151),
- q(0),
- ],
- q(cypriot) => [
- q(0024),
- q(0),
- ],
- q(cyrillic) => [
- q(0025),
- q(0),
- ],
- q(cyrillic (old church slavonic variant)) => [
- q(0026),
- q(0),
- ],
- q(deseret (mormon)) => [
- q(0028),
- q(0),
- ],
- q(devanagari (nagari)) => [
- q(0027),
- q(0),
- ],
- q(duployan shorthand, duployan stenography) => [
- q(0029),
- q(0),
- ],
- q(egyptian demotic) => [
- q(0030),
- q(0),
- ],
- q(egyptian hieratic) => [
- q(0031),
- q(0),
- ],
- q(egyptian hieroglyphs) => [
- q(0032),
- q(0),
- ],
- q(elbasan) => [
- q(0033),
- q(0),
- ],
- q(ethiopic (geez)) => [
- q(0034),
- q(0),
- ],
- q(georgian (mkhedruli)) => [
- q(0035),
- q(0),
- ],
- q(glagolitic) => [
- q(0037),
- q(0),
- ],
- q(gothic) => [
- q(0038),
- q(0),
- ],
- q(grantha) => [
- q(0039),
- q(0),
- ],
- q(greek) => [
- q(0040),
- q(0),
- ],
- q(gujarati) => [
- q(0041),
- q(0),
- ],
- q(gurmukhi) => [
- q(0042),
- q(0),
- ],
- q(han (hanzi, kanji, hanja)) => [
- q(0044),
- q(0),
- ],
- q(han (simplified variant)) => [
- q(0046),
- q(0),
- ],
- q(han (traditional variant)) => [
- q(0047),
- q(0),
- ],
- q(hangul (hangul, hangeul)) => [
- q(0043),
- q(0),
- ],
- q(hanunoo (hanunoo)) => [
- q(0045),
- q(0),
- ],
- q(hebrew) => [
- q(0048),
- q(0),
- ],
- q(hiragana) => [
- q(0049),
- q(0),
- ],
- q(imperial aramaic) => [
- q(0003),
- q(0),
- ],
- q(indus (harappan)) => [
- q(0053),
- q(0),
- ],
- q(inscriptional pahlavi) => [
- q(0104),
- q(0),
- ],
- q(inscriptional parthian) => [
- q(0109),
- q(0),
- ],
- q(japanese (alias for han + hiragana + katakana)) => [
- q(0056),
- q(0),
- ],
- q(javanese) => [
- q(0055),
- q(0),
- ],
- q(jurchen) => [
- q(0057),
- q(0),
- ],
- q(kaithi) => [
- q(0065),
- q(0),
- ],
- q(kannada) => [
- q(0062),
- q(0),
- ],
- q(katakana) => [
- q(0059),
- q(0),
- ],
- q(kayah li) => [
- q(0058),
- q(0),
- ],
- q(kharoshthi) => [
- q(0060),
- q(0),
- ],
- q(khmer) => [
- q(0061),
- q(0),
- ],
- q(khudawadi, sindhi) => [
- q(0122),
- q(0),
- ],
- q(khutsuri (asomtavruli and nuskhuri)) => [
- q(0036),
- q(0),
- ],
- q(korean (alias for hangul + han)) => [
- q(0063),
- q(0),
- ],
- q(kpelle) => [
- q(0064),
- q(0),
- ],
- q(lao) => [
- q(0067),
- q(0),
- ],
- q(latin) => [
- q(0070),
- q(0),
- ],
- q(latin (fraktur variant)) => [
- q(0068),
- q(0),
- ],
- q(latin (gaelic variant)) => [
- q(0069),
- q(0),
- ],
- q(lepcha (rong)) => [
- q(0071),
- q(0),
- ],
- q(limbu) => [
- q(0072),
- q(0),
- ],
- q(linear a) => [
- q(0073),
- q(0),
- ],
- q(linear b) => [
- q(0074),
- q(0),
- ],
- q(lisu (fraser)) => [
- q(0075),
- q(0),
- ],
- q(loma) => [
- q(0076),
- q(0),
- ],
- q(lycian) => [
- q(0077),
- q(0),
- ],
- q(lydian) => [
- q(0078),
- q(0),
- ],
- q(malayalam) => [
- q(0085),
- q(0),
- ],
- q(mandaic, mandaean) => [
- q(0079),
- q(0),
- ],
- q(manichaean) => [
- q(0080),
- q(0),
- ],
- q(mathematical notation) => [
- q(0154),
- q(0),
- ],
- q(mayan hieroglyphs) => [
- q(0081),
- q(0),
- ],
- q(meitei mayek (meithei, meetei)) => [
- q(0089),
- q(0),
- ],
- q(mende) => [
- q(0082),
- q(0),
- ],
- q(meroitic cursive) => [
- q(0083),
- q(0),
- ],
- q(meroitic hieroglyphs) => [
- q(0084),
- q(0),
- ],
- q(miao (pollard)) => [
- q(0108),
- q(0),
- ],
- q(mongolian) => [
- q(0087),
- q(0),
- ],
- q(moon (moon code, moon script, moon type)) => [
- q(0086),
- q(0),
- ],
- q(mro, mru) => [
- q(0088),
- q(0),
- ],
- q(myanmar (burmese)) => [
- q(0090),
- q(0),
- ],
- q(n'ko) => [
- q(0094),
- q(0),
- ],
- q(nabataean) => [
- q(0092),
- q(0),
- ],
- q(nakhi geba ('na-'khi ggo-baw, naxi geba)) => [
- q(0093),
- q(0),
- ],
- q(new tai lue) => [
- q(0134),
- q(0),
- ],
- q(nushu) => [
- q(0095),
- q(0),
- ],
- q(ogham) => [
- q(0096),
- q(0),
- ],
- q(ol chiki (ol cemet, ol, santali)) => [
- q(0097),
- q(0),
- ],
- q(old hungarian) => [
- q(0052),
- q(0),
- ],
- q(old italic (etruscan, oscan, etc.)) => [
- q(0054),
- q(0),
- ],
- q(old north arabian (ancient north arabian)) => [
- q(0091),
- q(0),
- ],
- q(old permic) => [
- q(0102),
- q(0),
- ],
- q(old persian) => [
- q(0150),
- q(0),
- ],
- q(old south arabian) => [
- q(0117),
- q(0),
- ],
- q(old turkic, orkhon runic) => [
- q(0098),
- q(0),
- ],
- q(oriya) => [
- q(0099),
- q(0),
- ],
- q(osmanya) => [
- q(0100),
- q(0),
- ],
- q(pahawh hmong) => [
- q(0050),
- q(0),
- ],
- q(palmyrene) => [
- q(0101),
- q(0),
- ],
- q(phags-pa) => [
- q(0103),
- q(0),
- ],
- q(phoenician) => [
- q(0107),
- q(0),
- ],
- q(psalter pahlavi) => [
- q(0105),
- q(0),
- ],
- q(rejang (redjang, kaganga)) => [
- q(0112),
- q(0),
- ],
- q(reserved for private use (end)) => [
- q(0111),
- q(0),
- ],
- q(reserved for private use (start)) => [
- q(0110),
- q(0),
- ],
- q(rongorongo) => [
- q(0113),
- q(0),
- ],
- q(runic) => [
- q(0114),
- q(0),
- ],
- q(samaritan) => [
- q(0115),
- q(0),
- ],
- q(sarati) => [
- q(0116),
- q(0),
- ],
- q(saurashtra) => [
- q(0118),
- q(0),
- ],
- q(sharada, sarada) => [
- q(0121),
- q(0),
- ],
- q(shavian (shaw)) => [
- q(0120),
- q(0),
- ],
- q(signwriting) => [
- q(0119),
- q(0),
- ],
- q(sinhala) => [
- q(0123),
- q(0),
- ],
- q(sora sompeng) => [
- q(0124),
- q(0),
- ],
- q(sundanese) => [
- q(0125),
- q(0),
- ],
- q(syloti nagri) => [
- q(0126),
- q(0),
- ],
- q(symbols) => [
- q(0155),
- q(0),
- ],
- q(syriac) => [
- q(0127),
- q(0),
- ],
- q(syriac (eastern variant)) => [
- q(0130),
- q(0),
- ],
- q(syriac (estrangelo variant)) => [
- q(0128),
- q(0),
- ],
- q(syriac (western variant)) => [
- q(0129),
- q(0),
- ],
- q(tagalog (baybayin, alibata)) => [
- q(0141),
- q(0),
- ],
- q(tagbanwa) => [
- q(0131),
- q(0),
- ],
- q(tai le) => [
- q(0133),
- q(0),
- ],
- q(tai tham (lanna)) => [
- q(0066),
- q(0),
- ],
- q(tai viet) => [
- q(0137),
- q(0),
- ],
- q(takri, takri, tankri) => [
- q(0132),
- q(0),
- ],
- q(tamil) => [
- q(0135),
- q(0),
- ],
- q(tangut) => [
- q(0136),
- q(0),
- ],
- q(telugu) => [
- q(0138),
- q(0),
- ],
- q(tengwar) => [
- q(0139),
- q(0),
- ],
- q(thaana) => [
- q(0142),
- q(0),
- ],
- q(thai) => [
- q(0143),
- q(0),
- ],
- q(tibetan) => [
- q(0144),
- q(0),
- ],
- q(tifinagh (berber)) => [
- q(0140),
- q(0),
- ],
- q(ugaritic) => [
- q(0145),
- q(0),
- ],
- q(unified canadian aboriginal syllabics) => [
- q(0018),
- q(0),
- ],
- q(vai) => [
- q(0146),
- q(0),
- ],
- q(visible speech) => [
- q(0147),
- q(0),
- ],
- q(warang citi (varang kshiti)) => [
- q(0148),
- q(0),
- ],
- q(woleai) => [
- q(0149),
- q(0),
- ],
- q(yi) => [
- q(0152),
- q(0),
- ],
-};
-
-$Locale::Codes::Data{'script'}{'code2id'} = {
- q(alpha) => {
- q(Afak) => [
- q(0001),
- q(0),
- ],
- q(Arab) => [
- q(0002),
- q(0),
- ],
- q(Armi) => [
- q(0003),
- q(0),
- ],
- q(Armn) => [
- q(0004),
- q(0),
- ],
- q(Avst) => [
- q(0005),
- q(0),
- ],
- q(Bali) => [
- q(0006),
- q(0),
- ],
- q(Bamu) => [
- q(0007),
- q(0),
- ],
- q(Bass) => [
- q(0008),
- q(0),
- ],
- q(Batk) => [
- q(0009),
- q(0),
- ],
- q(Beng) => [
- q(0010),
- q(0),
- ],
- q(Blis) => [
- q(0011),
- q(0),
- ],
- q(Bopo) => [
- q(0012),
- q(0),
- ],
- q(Brah) => [
- q(0013),
- q(0),
- ],
- q(Brai) => [
- q(0014),
- q(0),
- ],
- q(Bugi) => [
- q(0015),
- q(0),
- ],
- q(Buhd) => [
- q(0016),
- q(0),
- ],
- q(Cakm) => [
- q(0017),
- q(0),
- ],
- q(Cans) => [
- q(0018),
- q(0),
- ],
- q(Cari) => [
- q(0019),
- q(0),
- ],
- q(Cham) => [
- q(0020),
- q(0),
- ],
- q(Cher) => [
- q(0021),
- q(0),
- ],
- q(Cirt) => [
- q(0022),
- q(0),
- ],
- q(Copt) => [
- q(0023),
- q(0),
- ],
- q(Cprt) => [
- q(0024),
- q(0),
- ],
- q(Cyrl) => [
- q(0025),
- q(0),
- ],
- q(Cyrs) => [
- q(0026),
- q(0),
- ],
- q(Deva) => [
- q(0027),
- q(0),
- ],
- q(Dsrt) => [
- q(0028),
- q(0),
- ],
- q(Dupl) => [
- q(0029),
- q(0),
- ],
- q(Egyd) => [
- q(0030),
- q(0),
- ],
- q(Egyh) => [
- q(0031),
- q(0),
- ],
- q(Egyp) => [
- q(0032),
- q(0),
- ],
- q(Elba) => [
- q(0033),
- q(0),
- ],
- q(Ethi) => [
- q(0034),
- q(0),
- ],
- q(Geok) => [
- q(0036),
- q(0),
- ],
- q(Geor) => [
- q(0035),
- q(0),
- ],
- q(Glag) => [
- q(0037),
- q(0),
- ],
- q(Goth) => [
- q(0038),
- q(0),
- ],
- q(Gran) => [
- q(0039),
- q(0),
- ],
- q(Grek) => [
- q(0040),
- q(0),
- ],
- q(Gujr) => [
- q(0041),
- q(0),
- ],
- q(Guru) => [
- q(0042),
- q(0),
- ],
- q(Hang) => [
- q(0043),
- q(0),
- ],
- q(Hani) => [
- q(0044),
- q(0),
- ],
- q(Hano) => [
- q(0045),
- q(0),
- ],
- q(Hans) => [
- q(0046),
- q(0),
- ],
- q(Hant) => [
- q(0047),
- q(0),
- ],
- q(Hebr) => [
- q(0048),
- q(0),
- ],
- q(Hira) => [
- q(0049),
- q(0),
- ],
- q(Hmng) => [
- q(0050),
- q(0),
- ],
- q(Hrkt) => [
- q(0051),
- q(0),
- ],
- q(Hung) => [
- q(0052),
- q(0),
- ],
- q(Inds) => [
- q(0053),
- q(0),
- ],
- q(Ital) => [
- q(0054),
- q(0),
- ],
- q(Java) => [
- q(0055),
- q(0),
- ],
- q(Jpan) => [
- q(0056),
- q(0),
- ],
- q(Jurc) => [
- q(0057),
- q(0),
- ],
- q(Kali) => [
- q(0058),
- q(0),
- ],
- q(Kana) => [
- q(0059),
- q(0),
- ],
- q(Khar) => [
- q(0060),
- q(0),
- ],
- q(Khmr) => [
- q(0061),
- q(0),
- ],
- q(Knda) => [
- q(0062),
- q(0),
- ],
- q(Kore) => [
- q(0063),
- q(0),
- ],
- q(Kpel) => [
- q(0064),
- q(0),
- ],
- q(Kthi) => [
- q(0065),
- q(0),
- ],
- q(Lana) => [
- q(0066),
- q(0),
- ],
- q(Laoo) => [
- q(0067),
- q(0),
- ],
- q(Latf) => [
- q(0068),
- q(0),
- ],
- q(Latg) => [
- q(0069),
- q(0),
- ],
- q(Latn) => [
- q(0070),
- q(0),
- ],
- q(Lepc) => [
- q(0071),
- q(0),
- ],
- q(Limb) => [
- q(0072),
- q(0),
- ],
- q(Lina) => [
- q(0073),
- q(0),
- ],
- q(Linb) => [
- q(0074),
- q(0),
- ],
- q(Lisu) => [
- q(0075),
- q(0),
- ],
- q(Loma) => [
- q(0076),
- q(0),
- ],
- q(Lyci) => [
- q(0077),
- q(0),
- ],
- q(Lydi) => [
- q(0078),
- q(0),
- ],
- q(Mand) => [
- q(0079),
- q(0),
- ],
- q(Mani) => [
- q(0080),
- q(0),
- ],
- q(Maya) => [
- q(0081),
- q(0),
- ],
- q(Mend) => [
- q(0082),
- q(0),
- ],
- q(Merc) => [
- q(0083),
- q(0),
- ],
- q(Mero) => [
- q(0084),
- q(0),
- ],
- q(Mlym) => [
- q(0085),
- q(0),
- ],
- q(Mong) => [
- q(0087),
- q(0),
- ],
- q(Moon) => [
- q(0086),
- q(0),
- ],
- q(Mroo) => [
- q(0088),
- q(0),
- ],
- q(Mtei) => [
- q(0089),
- q(0),
- ],
- q(Mymr) => [
- q(0090),
- q(0),
- ],
- q(Narb) => [
- q(0091),
- q(0),
- ],
- q(Nbat) => [
- q(0092),
- q(0),
- ],
- q(Nkgb) => [
- q(0093),
- q(0),
- ],
- q(Nkoo) => [
- q(0094),
- q(0),
- ],
- q(Nshu) => [
- q(0095),
- q(0),
- ],
- q(Ogam) => [
- q(0096),
- q(0),
- ],
- q(Olck) => [
- q(0097),
- q(0),
- ],
- q(Orkh) => [
- q(0098),
- q(0),
- ],
- q(Orya) => [
- q(0099),
- q(0),
- ],
- q(Osma) => [
- q(0100),
- q(0),
- ],
- q(Palm) => [
- q(0101),
- q(0),
- ],
- q(Perm) => [
- q(0102),
- q(0),
- ],
- q(Phag) => [
- q(0103),
- q(0),
- ],
- q(Phli) => [
- q(0104),
- q(0),
- ],
- q(Phlp) => [
- q(0105),
- q(0),
- ],
- q(Phlv) => [
- q(0106),
- q(0),
- ],
- q(Phnx) => [
- q(0107),
- q(0),
- ],
- q(Plrd) => [
- q(0108),
- q(0),
- ],
- q(Prti) => [
- q(0109),
- q(0),
- ],
- q(Qaaa) => [
- q(0110),
- q(0),
- ],
- q(Qabx) => [
- q(0111),
- q(0),
- ],
- q(Rjng) => [
- q(0112),
- q(0),
- ],
- q(Roro) => [
- q(0113),
- q(0),
- ],
- q(Runr) => [
- q(0114),
- q(0),
- ],
- q(Samr) => [
- q(0115),
- q(0),
- ],
- q(Sara) => [
- q(0116),
- q(0),
- ],
- q(Sarb) => [
- q(0117),
- q(0),
- ],
- q(Saur) => [
- q(0118),
- q(0),
- ],
- q(Sgnw) => [
- q(0119),
- q(0),
- ],
- q(Shaw) => [
- q(0120),
- q(0),
- ],
- q(Shrd) => [
- q(0121),
- q(0),
- ],
- q(Sind) => [
- q(0122),
- q(0),
- ],
- q(Sinh) => [
- q(0123),
- q(0),
- ],
- q(Sora) => [
- q(0124),
- q(0),
- ],
- q(Sund) => [
- q(0125),
- q(0),
- ],
- q(Sylo) => [
- q(0126),
- q(0),
- ],
- q(Syrc) => [
- q(0127),
- q(0),
- ],
- q(Syre) => [
- q(0128),
- q(0),
- ],
- q(Syrj) => [
- q(0129),
- q(0),
- ],
- q(Syrn) => [
- q(0130),
- q(0),
- ],
- q(Tagb) => [
- q(0131),
- q(0),
- ],
- q(Takr) => [
- q(0132),
- q(0),
- ],
- q(Tale) => [
- q(0133),
- q(0),
- ],
- q(Talu) => [
- q(0134),
- q(0),
- ],
- q(Taml) => [
- q(0135),
- q(0),
- ],
- q(Tang) => [
- q(0136),
- q(0),
- ],
- q(Tavt) => [
- q(0137),
- q(0),
- ],
- q(Telu) => [
- q(0138),
- q(0),
- ],
- q(Teng) => [
- q(0139),
- q(0),
- ],
- q(Tfng) => [
- q(0140),
- q(0),
- ],
- q(Tglg) => [
- q(0141),
- q(0),
- ],
- q(Thaa) => [
- q(0142),
- q(0),
- ],
- q(Thai) => [
- q(0143),
- q(0),
- ],
- q(Tibt) => [
- q(0144),
- q(0),
- ],
- q(Ugar) => [
- q(0145),
- q(0),
- ],
- q(Vaii) => [
- q(0146),
- q(0),
- ],
- q(Visp) => [
- q(0147),
- q(0),
- ],
- q(Wara) => [
- q(0148),
- q(0),
- ],
- q(Wole) => [
- q(0149),
- q(0),
- ],
- q(Xpeo) => [
- q(0150),
- q(0),
- ],
- q(Xsux) => [
- q(0151),
- q(0),
- ],
- q(Yiii) => [
- q(0152),
- q(0),
- ],
- q(Zinh) => [
- q(0153),
- q(0),
- ],
- q(Zmth) => [
- q(0154),
- q(0),
- ],
- q(Zsym) => [
- q(0155),
- q(0),
- ],
- },
- q(num) => {
- q(020) => [
- q(0151),
- q(0),
- ],
- q(030) => [
- q(0150),
- q(0),
- ],
- q(040) => [
- q(0145),
- q(0),
- ],
- q(050) => [
- q(0032),
- q(0),
- ],
- q(060) => [
- q(0031),
- q(0),
- ],
- q(070) => [
- q(0030),
- q(0),
- ],
- q(090) => [
- q(0081),
- q(0),
- ],
- q(095) => [
- q(0119),
- q(0),
- ],
- q(100) => [
- q(0084),
- q(0),
- ],
- q(101) => [
- q(0083),
- q(0),
- ],
- q(105) => [
- q(0117),
- q(0),
- ],
- q(106) => [
- q(0091),
- q(0),
- ],
- q(115) => [
- q(0107),
- q(0),
- ],
- q(116) => [
- q(0078),
- q(0),
- ],
- q(120) => [
- q(0140),
- q(0),
- ],
- q(123) => [
- q(0115),
- q(0),
- ],
- q(124) => [
- q(0003),
- q(0),
- ],
- q(125) => [
- q(0048),
- q(0),
- ],
- q(126) => [
- q(0101),
- q(0),
- ],
- q(130) => [
- q(0109),
- q(0),
- ],
- q(131) => [
- q(0104),
- q(0),
- ],
- q(132) => [
- q(0105),
- q(0),
- ],
- q(133) => [
- q(0106),
- q(0),
- ],
- q(134) => [
- q(0005),
- q(0),
- ],
- q(135) => [
- q(0127),
- q(0),
- ],
- q(136) => [
- q(0130),
- q(0),
- ],
- q(137) => [
- q(0129),
- q(0),
- ],
- q(138) => [
- q(0128),
- q(0),
- ],
- q(139) => [
- q(0080),
- q(0),
- ],
- q(140) => [
- q(0079),
- q(0),
- ],
- q(145) => [
- q(0087),
- q(0),
- ],
- q(159) => [
- q(0092),
- q(0),
- ],
- q(160) => [
- q(0002),
- q(0),
- ],
- q(165) => [
- q(0094),
- q(0),
- ],
- q(170) => [
- q(0142),
- q(0),
- ],
- q(175) => [
- q(0098),
- q(0),
- ],
- q(176) => [
- q(0052),
- q(0),
- ],
- q(199) => [
- q(0088),
- q(0),
- ],
- q(200) => [
- q(0040),
- q(0),
- ],
- q(201) => [
- q(0019),
- q(0),
- ],
- q(202) => [
- q(0077),
- q(0),
- ],
- q(204) => [
- q(0023),
- q(0),
- ],
- q(206) => [
- q(0038),
- q(0),
- ],
- q(210) => [
- q(0054),
- q(0),
- ],
- q(211) => [
- q(0114),
- q(0),
- ],
- q(212) => [
- q(0096),
- q(0),
- ],
- q(215) => [
- q(0070),
- q(0),
- ],
- q(216) => [
- q(0069),
- q(0),
- ],
- q(217) => [
- q(0068),
- q(0),
- ],
- q(218) => [
- q(0086),
- q(0),
- ],
- q(220) => [
- q(0025),
- q(0),
- ],
- q(221) => [
- q(0026),
- q(0),
- ],
- q(225) => [
- q(0037),
- q(0),
- ],
- q(226) => [
- q(0033),
- q(0),
- ],
- q(227) => [
- q(0102),
- q(0),
- ],
- q(230) => [
- q(0004),
- q(0),
- ],
- q(240) => [
- q(0035),
- q(0),
- ],
- q(241) => [
- q(0036),
- q(0),
- ],
- q(250) => [
- q(0028),
- q(0),
- ],
- q(259) => [
- q(0008),
- q(0),
- ],
- q(260) => [
- q(0100),
- q(0),
- ],
- q(261) => [
- q(0097),
- q(0),
- ],
- q(262) => [
- q(0148),
- q(0),
- ],
- q(280) => [
- q(0147),
- q(0),
- ],
- q(281) => [
- q(0120),
- q(0),
- ],
- q(282) => [
- q(0108),
- q(0),
- ],
- q(285) => [
- q(0012),
- q(0),
- ],
- q(286) => [
- q(0043),
- q(0),
- ],
- q(287) => [
- q(0063),
- q(0),
- ],
- q(290) => [
- q(0139),
- q(0),
- ],
- q(291) => [
- q(0022),
- q(0),
- ],
- q(292) => [
- q(0116),
- q(0),
- ],
- q(300) => [
- q(0013),
- q(0),
- ],
- q(305) => [
- q(0060),
- q(0),
- ],
- q(310) => [
- q(0042),
- q(0),
- ],
- q(315) => [
- q(0027),
- q(0),
- ],
- q(316) => [
- q(0126),
- q(0),
- ],
- q(317) => [
- q(0065),
- q(0),
- ],
- q(318) => [
- q(0122),
- q(0),
- ],
- q(319) => [
- q(0121),
- q(0),
- ],
- q(320) => [
- q(0041),
- q(0),
- ],
- q(321) => [
- q(0132),
- q(0),
- ],
- q(325) => [
- q(0010),
- q(0),
- ],
- q(327) => [
- q(0099),
- q(0),
- ],
- q(330) => [
- q(0144),
- q(0),
- ],
- q(331) => [
- q(0103),
- q(0),
- ],
- q(335) => [
- q(0071),
- q(0),
- ],
- q(336) => [
- q(0072),
- q(0),
- ],
- q(337) => [
- q(0089),
- q(0),
- ],
- q(340) => [
- q(0138),
- q(0),
- ],
- q(343) => [
- q(0039),
- q(0),
- ],
- q(344) => [
- q(0118),
- q(0),
- ],
- q(345) => [
- q(0062),
- q(0),
- ],
- q(346) => [
- q(0135),
- q(0),
- ],
- q(347) => [
- q(0085),
- q(0),
- ],
- q(348) => [
- q(0123),
- q(0),
- ],
- q(349) => [
- q(0017),
- q(0),
- ],
- q(350) => [
- q(0090),
- q(0),
- ],
- q(351) => [
- q(0066),
- q(0),
- ],
- q(352) => [
- q(0143),
- q(0),
- ],
- q(353) => [
- q(0133),
- q(0),
- ],
- q(354) => [
- q(0134),
- q(0),
- ],
- q(355) => [
- q(0061),
- q(0),
- ],
- q(356) => [
- q(0067),
- q(0),
- ],
- q(357) => [
- q(0058),
- q(0),
- ],
- q(358) => [
- q(0020),
- q(0),
- ],
- q(359) => [
- q(0137),
- q(0),
- ],
- q(360) => [
- q(0006),
- q(0),
- ],
- q(361) => [
- q(0055),
- q(0),
- ],
- q(362) => [
- q(0125),
- q(0),
- ],
- q(363) => [
- q(0112),
- q(0),
- ],
- q(365) => [
- q(0009),
- q(0),
- ],
- q(367) => [
- q(0015),
- q(0),
- ],
- q(370) => [
- q(0141),
- q(0),
- ],
- q(371) => [
- q(0045),
- q(0),
- ],
- q(372) => [
- q(0016),
- q(0),
- ],
- q(373) => [
- q(0131),
- q(0),
- ],
- q(398) => [
- q(0124),
- q(0),
- ],
- q(399) => [
- q(0075),
- q(0),
- ],
- q(400) => [
- q(0073),
- q(0),
- ],
- q(401) => [
- q(0074),
- q(0),
- ],
- q(403) => [
- q(0024),
- q(0),
- ],
- q(410) => [
- q(0049),
- q(0),
- ],
- q(411) => [
- q(0059),
- q(0),
- ],
- q(412) => [
- q(0051),
- q(0),
- ],
- q(413) => [
- q(0056),
- q(0),
- ],
- q(420) => [
- q(0093),
- q(0),
- ],
- q(430) => [
- q(0034),
- q(0),
- ],
- q(435) => [
- q(0007),
- q(0),
- ],
- q(436) => [
- q(0064),
- q(0),
- ],
- q(437) => [
- q(0076),
- q(0),
- ],
- q(438) => [
- q(0082),
- q(0),
- ],
- q(439) => [
- q(0001),
- q(0),
- ],
- q(440) => [
- q(0018),
- q(0),
- ],
- q(445) => [
- q(0021),
- q(0),
- ],
- q(450) => [
- q(0050),
- q(0),
- ],
- q(460) => [
- q(0152),
- q(0),
- ],
- q(470) => [
- q(0146),
- q(0),
- ],
- q(480) => [
- q(0149),
- q(0),
- ],
- q(499) => [
- q(0095),
- q(0),
- ],
- q(500) => [
- q(0044),
- q(0),
- ],
- q(501) => [
- q(0046),
- q(0),
- ],
- q(502) => [
- q(0047),
- q(0),
- ],
- q(510) => [
- q(0057),
- q(0),
- ],
- q(520) => [
- q(0136),
- q(0),
- ],
- q(550) => [
- q(0011),
- q(0),
- ],
- q(570) => [
- q(0014),
- q(0),
- ],
- q(610) => [
- q(0053),
- q(0),
- ],
- q(620) => [
- q(0113),
- q(0),
- ],
- q(755) => [
- q(0029),
- q(0),
- ],
- q(900) => [
- q(0110),
- q(0),
- ],
- q(949) => [
- q(0111),
- q(0),
- ],
- q(994) => [
- q(0153),
- q(0),
- ],
- q(995) => [
- q(0154),
- q(0),
- ],
- q(996) => [
- q(0155),
- q(0),
- ],
- },
-};
-
-$Locale::Codes::Data{'script'}{'id2code'} = {
- q(alpha) => {
- q(0001) => q(Afak),
- q(0002) => q(Arab),
- q(0003) => q(Armi),
- q(0004) => q(Armn),
- q(0005) => q(Avst),
- q(0006) => q(Bali),
- q(0007) => q(Bamu),
- q(0008) => q(Bass),
- q(0009) => q(Batk),
- q(0010) => q(Beng),
- q(0011) => q(Blis),
- q(0012) => q(Bopo),
- q(0013) => q(Brah),
- q(0014) => q(Brai),
- q(0015) => q(Bugi),
- q(0016) => q(Buhd),
- q(0017) => q(Cakm),
- q(0018) => q(Cans),
- q(0019) => q(Cari),
- q(0020) => q(Cham),
- q(0021) => q(Cher),
- q(0022) => q(Cirt),
- q(0023) => q(Copt),
- q(0024) => q(Cprt),
- q(0025) => q(Cyrl),
- q(0026) => q(Cyrs),
- q(0027) => q(Deva),
- q(0028) => q(Dsrt),
- q(0029) => q(Dupl),
- q(0030) => q(Egyd),
- q(0031) => q(Egyh),
- q(0032) => q(Egyp),
- q(0033) => q(Elba),
- q(0034) => q(Ethi),
- q(0035) => q(Geor),
- q(0036) => q(Geok),
- q(0037) => q(Glag),
- q(0038) => q(Goth),
- q(0039) => q(Gran),
- q(0040) => q(Grek),
- q(0041) => q(Gujr),
- q(0042) => q(Guru),
- q(0043) => q(Hang),
- q(0044) => q(Hani),
- q(0045) => q(Hano),
- q(0046) => q(Hans),
- q(0047) => q(Hant),
- q(0048) => q(Hebr),
- q(0049) => q(Hira),
- q(0050) => q(Hmng),
- q(0051) => q(Hrkt),
- q(0052) => q(Hung),
- q(0053) => q(Inds),
- q(0054) => q(Ital),
- q(0055) => q(Java),
- q(0056) => q(Jpan),
- q(0057) => q(Jurc),
- q(0058) => q(Kali),
- q(0059) => q(Kana),
- q(0060) => q(Khar),
- q(0061) => q(Khmr),
- q(0062) => q(Knda),
- q(0063) => q(Kore),
- q(0064) => q(Kpel),
- q(0065) => q(Kthi),
- q(0066) => q(Lana),
- q(0067) => q(Laoo),
- q(0068) => q(Latf),
- q(0069) => q(Latg),
- q(0070) => q(Latn),
- q(0071) => q(Lepc),
- q(0072) => q(Limb),
- q(0073) => q(Lina),
- q(0074) => q(Linb),
- q(0075) => q(Lisu),
- q(0076) => q(Loma),
- q(0077) => q(Lyci),
- q(0078) => q(Lydi),
- q(0079) => q(Mand),
- q(0080) => q(Mani),
- q(0081) => q(Maya),
- q(0082) => q(Mend),
- q(0083) => q(Merc),
- q(0084) => q(Mero),
- q(0085) => q(Mlym),
- q(0086) => q(Moon),
- q(0087) => q(Mong),
- q(0088) => q(Mroo),
- q(0089) => q(Mtei),
- q(0090) => q(Mymr),
- q(0091) => q(Narb),
- q(0092) => q(Nbat),
- q(0093) => q(Nkgb),
- q(0094) => q(Nkoo),
- q(0095) => q(Nshu),
- q(0096) => q(Ogam),
- q(0097) => q(Olck),
- q(0098) => q(Orkh),
- q(0099) => q(Orya),
- q(0100) => q(Osma),
- q(0101) => q(Palm),
- q(0102) => q(Perm),
- q(0103) => q(Phag),
- q(0104) => q(Phli),
- q(0105) => q(Phlp),
- q(0106) => q(Phlv),
- q(0107) => q(Phnx),
- q(0108) => q(Plrd),
- q(0109) => q(Prti),
- q(0110) => q(Qaaa),
- q(0111) => q(Qabx),
- q(0112) => q(Rjng),
- q(0113) => q(Roro),
- q(0114) => q(Runr),
- q(0115) => q(Samr),
- q(0116) => q(Sara),
- q(0117) => q(Sarb),
- q(0118) => q(Saur),
- q(0119) => q(Sgnw),
- q(0120) => q(Shaw),
- q(0121) => q(Shrd),
- q(0122) => q(Sind),
- q(0123) => q(Sinh),
- q(0124) => q(Sora),
- q(0125) => q(Sund),
- q(0126) => q(Sylo),
- q(0127) => q(Syrc),
- q(0128) => q(Syre),
- q(0129) => q(Syrj),
- q(0130) => q(Syrn),
- q(0131) => q(Tagb),
- q(0132) => q(Takr),
- q(0133) => q(Tale),
- q(0134) => q(Talu),
- q(0135) => q(Taml),
- q(0136) => q(Tang),
- q(0137) => q(Tavt),
- q(0138) => q(Telu),
- q(0139) => q(Teng),
- q(0140) => q(Tfng),
- q(0141) => q(Tglg),
- q(0142) => q(Thaa),
- q(0143) => q(Thai),
- q(0144) => q(Tibt),
- q(0145) => q(Ugar),
- q(0146) => q(Vaii),
- q(0147) => q(Visp),
- q(0148) => q(Wara),
- q(0149) => q(Wole),
- q(0150) => q(Xpeo),
- q(0151) => q(Xsux),
- q(0152) => q(Yiii),
- q(0153) => q(Zinh),
- q(0154) => q(Zmth),
- q(0155) => q(Zsym),
- },
- q(num) => {
- q(0001) => q(439),
- q(0002) => q(160),
- q(0003) => q(124),
- q(0004) => q(230),
- q(0005) => q(134),
- q(0006) => q(360),
- q(0007) => q(435),
- q(0008) => q(259),
- q(0009) => q(365),
- q(0010) => q(325),
- q(0011) => q(550),
- q(0012) => q(285),
- q(0013) => q(300),
- q(0014) => q(570),
- q(0015) => q(367),
- q(0016) => q(372),
- q(0017) => q(349),
- q(0018) => q(440),
- q(0019) => q(201),
- q(0020) => q(358),
- q(0021) => q(445),
- q(0022) => q(291),
- q(0023) => q(204),
- q(0024) => q(403),
- q(0025) => q(220),
- q(0026) => q(221),
- q(0027) => q(315),
- q(0028) => q(250),
- q(0029) => q(755),
- q(0030) => q(070),
- q(0031) => q(060),
- q(0032) => q(050),
- q(0033) => q(226),
- q(0034) => q(430),
- q(0035) => q(240),
- q(0036) => q(241),
- q(0037) => q(225),
- q(0038) => q(206),
- q(0039) => q(343),
- q(0040) => q(200),
- q(0041) => q(320),
- q(0042) => q(310),
- q(0043) => q(286),
- q(0044) => q(500),
- q(0045) => q(371),
- q(0046) => q(501),
- q(0047) => q(502),
- q(0048) => q(125),
- q(0049) => q(410),
- q(0050) => q(450),
- q(0051) => q(412),
- q(0052) => q(176),
- q(0053) => q(610),
- q(0054) => q(210),
- q(0055) => q(361),
- q(0056) => q(413),
- q(0057) => q(510),
- q(0058) => q(357),
- q(0059) => q(411),
- q(0060) => q(305),
- q(0061) => q(355),
- q(0062) => q(345),
- q(0063) => q(287),
- q(0064) => q(436),
- q(0065) => q(317),
- q(0066) => q(351),
- q(0067) => q(356),
- q(0068) => q(217),
- q(0069) => q(216),
- q(0070) => q(215),
- q(0071) => q(335),
- q(0072) => q(336),
- q(0073) => q(400),
- q(0074) => q(401),
- q(0075) => q(399),
- q(0076) => q(437),
- q(0077) => q(202),
- q(0078) => q(116),
- q(0079) => q(140),
- q(0080) => q(139),
- q(0081) => q(090),
- q(0082) => q(438),
- q(0083) => q(101),
- q(0084) => q(100),
- q(0085) => q(347),
- q(0086) => q(218),
- q(0087) => q(145),
- q(0088) => q(199),
- q(0089) => q(337),
- q(0090) => q(350),
- q(0091) => q(106),
- q(0092) => q(159),
- q(0093) => q(420),
- q(0094) => q(165),
- q(0095) => q(499),
- q(0096) => q(212),
- q(0097) => q(261),
- q(0098) => q(175),
- q(0099) => q(327),
- q(0100) => q(260),
- q(0101) => q(126),
- q(0102) => q(227),
- q(0103) => q(331),
- q(0104) => q(131),
- q(0105) => q(132),
- q(0106) => q(133),
- q(0107) => q(115),
- q(0108) => q(282),
- q(0109) => q(130),
- q(0110) => q(900),
- q(0111) => q(949),
- q(0112) => q(363),
- q(0113) => q(620),
- q(0114) => q(211),
- q(0115) => q(123),
- q(0116) => q(292),
- q(0117) => q(105),
- q(0118) => q(344),
- q(0119) => q(095),
- q(0120) => q(281),
- q(0121) => q(319),
- q(0122) => q(318),
- q(0123) => q(348),
- q(0124) => q(398),
- q(0125) => q(362),
- q(0126) => q(316),
- q(0127) => q(135),
- q(0128) => q(138),
- q(0129) => q(137),
- q(0130) => q(136),
- q(0131) => q(373),
- q(0132) => q(321),
- q(0133) => q(353),
- q(0134) => q(354),
- q(0135) => q(346),
- q(0136) => q(520),
- q(0137) => q(359),
- q(0138) => q(340),
- q(0139) => q(290),
- q(0140) => q(120),
- q(0141) => q(370),
- q(0142) => q(170),
- q(0143) => q(352),
- q(0144) => q(330),
- q(0145) => q(040),
- q(0146) => q(470),
- q(0147) => q(280),
- q(0148) => q(262),
- q(0149) => q(480),
- q(0150) => q(030),
- q(0151) => q(020),
- q(0152) => q(460),
- q(0153) => q(994),
- q(0154) => q(995),
- q(0155) => q(996),
- },
-};
+require Exporter;
+use Carp;
+use Locale::Codes;
+use Locale::Codes::Constants;
+use Locale::Codes::Script_Codes;
+use Locale::Codes::Script_Retired;
+
+#=======================================================================
+# Public Global Variables
+#=======================================================================
+
+our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
+
+$VERSION='3.21';
+@ISA = qw(Exporter);
+@EXPORT = qw(code2script
+ script2code
+ all_script_codes
+ all_script_names
+ script_code2code
+ LOCALE_SCRIPT_ALPHA
+ LOCALE_SCRIPT_NUMERIC
+ );
+
+sub code2script {
+ return Locale::Codes::_code2name('script',@_);
+}
+
+sub script2code {
+ return Locale::Codes::_name2code('script',@_);
+}
+
+sub script_code2code {
+ return Locale::Codes::_code2code('script',@_);
+}
+
+sub all_script_codes {
+ return Locale::Codes::_all_codes('script',@_);
+}
+
+sub all_script_names {
+ return Locale::Codes::_all_names('script',@_);
+}
+
+sub rename_script {
+ return Locale::Codes::_rename('script',@_);
+}
+
+sub add_script {
+ return Locale::Codes::_add_code('script',@_);
+}
+
+sub delete_script {
+ return Locale::Codes::_delete_code('script',@_);
+}
+
+sub add_script_alias {
+ return Locale::Codes::_add_alias('script',@_);
+}
+
+sub delete_script_alias {
+ return Locale::Codes::_delete_alias('script',@_);
+}
+
+sub rename_script_code {
+ return Locale::Codes::_rename_code('script',@_);
+}
+
+sub add_script_code_alias {
+ return Locale::Codes::_add_code_alias('script',@_);
+}
+
+sub delete_script_code_alias {
+ return Locale::Codes::_delete_code_alias('script',@_);
+}
1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: -2
+# End:
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Script.pod b/Master/tlpkg/tlperl/lib/Locale/Codes/Script.pod
new file mode 100644
index 00000000000..7540c553acc
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Script.pod
@@ -0,0 +1,131 @@
+=pod
+
+=head1 NAME
+
+Locale::Codes::Script - standard codes for script identification
+
+=head1 SYNOPSIS
+
+ use Locale::Codes::Script;
+
+ $script = code2script('phnx'); # 'Phoenician'
+ $code = script2code('Phoenician'); # 'Phnx'
+ $code = script2code('Phoenician',
+ LOCALE_CODE_NUMERIC); # 115
+
+ @codes = all_script_codes();
+ @scripts = all_script_names();
+
+=head1 DESCRIPTION
+
+The C<Locale::Codes::Script> module provides access to standards codes used
+for identifying scripts, such as those defined in ISO 15924.
+
+Most of the routines take an optional additional argument which
+specifies the code set to use. If not specified, the default ISO
+15924 four-letter codes will be used.
+
+=head1 SUPPORTED CODE SETS
+
+There are several different code sets you can use for identifying
+scripts. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $script = code2script('phnx','alpha');
+ $script = code2script('phnx',LOCALE_SCRIPT_ALPHA);
+
+The codesets currently supported are:
+
+=over 4
+
+=item B<alpha, LOCALE_SCRIPT_ALPHA>
+
+This is a set of four-letter (capitalized) codes from ISO 15924
+such as 'Phnx' for Phoenician. It also includes additions to this
+set included in the IANA language registry.
+
+The Zxxx, Zyyy, and Zzzz codes are not used.
+
+This is the default code set.
+
+=item B<num, LOCALE_SCRIPT_NUMERIC>
+
+This is a set of three-digit numeric codes from ISO 15924 such as 115
+for Phoenician.
+
+=back
+
+=head1 ROUTINES
+
+=over 4
+
+=item B<code2script ( CODE [,CODESET] )>
+
+=item B<script2code ( NAME [,CODESET] )>
+
+=item B<script_code2code ( CODE ,CODESET ,CODESET2 )>
+
+=item B<all_script_codes ( [CODESET] )>
+
+=item B<all_script_names ( [CODESET] )>
+
+=item B<Locale::Codes::Script::rename_script ( CODE ,NEW_NAME [,CODESET] )>
+
+=item B<Locale::Codes::Script::add_script ( CODE ,NAME [,CODESET] )>
+
+=item B<Locale::Codes::Script::delete_script ( CODE [,CODESET] )>
+
+=item B<Locale::Codes::Script::add_script_alias ( NAME ,NEW_NAME )>
+
+=item B<Locale::Codes::Script::delete_script_alias ( NAME )>
+
+=item B<Locale::Codes::Script::rename_script_code ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::Script::add_script_code_alias ( CODE ,NEW_CODE [,CODESET] )>
+
+=item B<Locale::Codes::Script::delete_script_code_alias ( CODE [,CODESET] )>
+
+These routines are all documented in the Locale::Codes::API man page.
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item B<Locale::Codes>
+
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
+=item B<http://www.unicode.org/iso15924/>
+
+Home page for ISO 15924.
+
+=item B<http://www.iana.org/assignments/language-subtag-registry>
+
+The IANA language subtag registry.
+
+=back
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Script_Codes.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Script_Codes.pm
new file mode 100644
index 00000000000..24708058ea8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Script_Codes.pm
@@ -0,0 +1,3105 @@
+package Locale::Codes::Script_Codes;
+
+# This file was automatically generated. Any changes to this file will
+# be lost the next time 'get_codes' is run.
+# Generated on: Thu Mar 1 08:07:26 EST 2012
+
+=pod
+
+=head1 NAME
+
+Locale::Codes::Script_Codes - script codes for the Locale::Codes::Script module
+
+=head1 SYNOPSIS
+
+This module contains data used by the Locale::Codes::Script module. It is
+not intended to be used directly, and contains no calleable routines.
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+require 5.002;
+
+our($VERSION);
+$VERSION='3.21';
+
+$Locale::Codes::Data{'script'}{'id'} = '0159';
+
+$Locale::Codes::Data{'script'}{'id2names'} = {
+ q(0001) => [
+ q(Afaka),
+ ],
+ q(0002) => [
+ q(Arabic),
+ ],
+ q(0003) => [
+ q(Imperial Aramaic),
+ ],
+ q(0004) => [
+ q(Armenian),
+ ],
+ q(0005) => [
+ q(Avestan),
+ ],
+ q(0006) => [
+ q(Balinese),
+ ],
+ q(0007) => [
+ q(Bamum),
+ ],
+ q(0008) => [
+ q(Bassa Vah),
+ ],
+ q(0009) => [
+ q(Batak),
+ ],
+ q(0010) => [
+ q(Bengali),
+ ],
+ q(0011) => [
+ q(Blissymbols),
+ ],
+ q(0012) => [
+ q(Bopomofo),
+ ],
+ q(0013) => [
+ q(Brahmi),
+ ],
+ q(0014) => [
+ q(Braille),
+ ],
+ q(0015) => [
+ q(Buginese),
+ ],
+ q(0016) => [
+ q(Buhid),
+ ],
+ q(0017) => [
+ q(Chakma),
+ ],
+ q(0018) => [
+ q(Unified Canadian Aboriginal Syllabics),
+ ],
+ q(0019) => [
+ q(Carian),
+ ],
+ q(0020) => [
+ q(Cham),
+ ],
+ q(0021) => [
+ q(Cherokee),
+ ],
+ q(0022) => [
+ q(Cirth),
+ ],
+ q(0023) => [
+ q(Coptic),
+ ],
+ q(0024) => [
+ q(Cypriot),
+ ],
+ q(0025) => [
+ q(Cyrillic),
+ ],
+ q(0026) => [
+ q(Cyrillic (Old Church Slavonic variant)),
+ ],
+ q(0027) => [
+ q(Devanagari (Nagari)),
+ q(Devanagari),
+ q(Nagari),
+ ],
+ q(0028) => [
+ q(Deseret (Mormon)),
+ q(Deseret),
+ q(Mormon),
+ ],
+ q(0029) => [
+ q(Duployan shorthand, Duployan stenography),
+ q(Duployan shorthand),
+ q(Duployan stenography),
+ ],
+ q(0030) => [
+ q(Egyptian demotic),
+ ],
+ q(0031) => [
+ q(Egyptian hieratic),
+ ],
+ q(0032) => [
+ q(Egyptian hieroglyphs),
+ ],
+ q(0033) => [
+ q(Elbasan),
+ ],
+ q(0034) => [
+ q(Ethiopic (Geez)),
+ q(Ethiopic),
+ q(Ge'ez),
+ ],
+ q(0035) => [
+ q(Georgian (Mkhedruli)),
+ ],
+ q(0036) => [
+ q(Khutsuri (Asomtavruli and Nuskhuri)),
+ ],
+ q(0037) => [
+ q(Glagolitic),
+ ],
+ q(0038) => [
+ q(Gothic),
+ ],
+ q(0039) => [
+ q(Grantha),
+ ],
+ q(0040) => [
+ q(Greek),
+ ],
+ q(0041) => [
+ q(Gujarati),
+ ],
+ q(0042) => [
+ q(Gurmukhi),
+ ],
+ q(0043) => [
+ q(Hangul (Hangul, Hangeul)),
+ q(Hangul),
+ q(Hangeul),
+ ],
+ q(0044) => [
+ q(Han (Hanzi, Kanji, Hanja)),
+ q(Han),
+ q(Hanzi),
+ q(Kanji),
+ q(Hanja),
+ ],
+ q(0045) => [
+ q(Hanunoo (Hanunoo)),
+ q(Hanunoo),
+ ],
+ q(0046) => [
+ q(Han (Simplified variant)),
+ ],
+ q(0047) => [
+ q(Han (Traditional variant)),
+ ],
+ q(0048) => [
+ q(Hebrew),
+ ],
+ q(0049) => [
+ q(Hiragana),
+ ],
+ q(0050) => [
+ q(Anatolian Hieroglyphs (Luwian Hieroglyphs, Hittite Hieroglyphs)),
+ q(Anatolian Hieroglyphs),
+ q(Luwian Hieroglyphs),
+ q(Hittite Hieroglyphs),
+ ],
+ q(0051) => [
+ q(Pahawh Hmong),
+ ],
+ q(0052) => [
+ q(Japanese syllabaries (alias for Hiragana + Katakana)),
+ ],
+ q(0053) => [
+ q(Old Hungarian),
+ ],
+ q(0054) => [
+ q(Indus (Harappan)),
+ q(Indus),
+ q(Harappan),
+ ],
+ q(0055) => [
+ q(Old Italic (Etruscan, Oscan, etc.)),
+ ],
+ q(0056) => [
+ q(Javanese),
+ ],
+ q(0057) => [
+ q(Japanese (alias for Han + Hiragana + Katakana)),
+ ],
+ q(0058) => [
+ q(Jurchen),
+ ],
+ q(0059) => [
+ q(Kayah Li),
+ ],
+ q(0060) => [
+ q(Katakana),
+ ],
+ q(0061) => [
+ q(Kharoshthi),
+ ],
+ q(0062) => [
+ q(Khmer),
+ ],
+ q(0063) => [
+ q(Khojki),
+ ],
+ q(0064) => [
+ q(Kannada),
+ ],
+ q(0065) => [
+ q(Korean (alias for Hangul + Han)),
+ ],
+ q(0066) => [
+ q(Kpelle),
+ ],
+ q(0067) => [
+ q(Kaithi),
+ ],
+ q(0068) => [
+ q(Tai Tham (Lanna)),
+ q(Tai Tham),
+ q(Lanna),
+ ],
+ q(0069) => [
+ q(Lao),
+ ],
+ q(0070) => [
+ q(Latin (Fraktur variant)),
+ ],
+ q(0071) => [
+ q(Latin (Gaelic variant)),
+ ],
+ q(0072) => [
+ q(Latin),
+ ],
+ q(0073) => [
+ q(Lepcha (Rong)),
+ q(Lepcha),
+ q(Rong),
+ ],
+ q(0074) => [
+ q(Limbu),
+ ],
+ q(0075) => [
+ q(Linear A),
+ ],
+ q(0076) => [
+ q(Linear B),
+ ],
+ q(0077) => [
+ q(Lisu (Fraser)),
+ q(Lisu),
+ q(Fraser),
+ ],
+ q(0078) => [
+ q(Loma),
+ ],
+ q(0079) => [
+ q(Lycian),
+ ],
+ q(0080) => [
+ q(Lydian),
+ ],
+ q(0081) => [
+ q(Mandaic, Mandaean),
+ q(Mandaic),
+ q(Mandaean),
+ ],
+ q(0082) => [
+ q(Manichaean),
+ ],
+ q(0083) => [
+ q(Mayan hieroglyphs),
+ ],
+ q(0084) => [
+ q(Mende),
+ ],
+ q(0085) => [
+ q(Meroitic Cursive),
+ ],
+ q(0086) => [
+ q(Meroitic Hieroglyphs),
+ ],
+ q(0087) => [
+ q(Malayalam),
+ ],
+ q(0088) => [
+ q(Moon (Moon code, Moon script, Moon type)),
+ q(Moon),
+ q(Moon code),
+ q(Moon script),
+ q(Moon type),
+ ],
+ q(0089) => [
+ q(Mongolian),
+ ],
+ q(0090) => [
+ q(Mro, Mru),
+ q(Mro),
+ q(Mru),
+ ],
+ q(0091) => [
+ q(Meitei Mayek (Meithei, Meetei)),
+ q(Meitei Mayek),
+ q(Meithei),
+ q(Meetei),
+ ],
+ q(0092) => [
+ q(Myanmar (Burmese)),
+ q(Myanmar),
+ q(Burmese),
+ ],
+ q(0093) => [
+ q(Old North Arabian (Ancient North Arabian)),
+ q(Old North Arabian),
+ q(Ancient North Arabian),
+ ],
+ q(0094) => [
+ q(Nabataean),
+ ],
+ q(0095) => [
+ q(Nakhi Geba ('Na-'Khi Ggo-baw, Naxi Geba)),
+ q(Nakhi Geba),
+ q('Na-'Khi Ggo-baw),
+ q(Naxi Geba),
+ ],
+ q(0096) => [
+ q(N'Ko),
+ ],
+ q(0097) => [
+ q(Nushu),
+ ],
+ q(0098) => [
+ q(Ogham),
+ ],
+ q(0099) => [
+ q(Ol Chiki (Ol Cemet, Ol, Santali)),
+ q(Ol Chiki),
+ q(Ol Cemet'),
+ q(Ol),
+ q(Santali),
+ ],
+ q(0100) => [
+ q(Old Turkic, Orkhon Runic),
+ q(Old Turkic),
+ q(Orkhon Runic),
+ ],
+ q(0101) => [
+ q(Oriya),
+ ],
+ q(0102) => [
+ q(Osmanya),
+ ],
+ q(0103) => [
+ q(Palmyrene),
+ ],
+ q(0104) => [
+ q(Old Permic),
+ ],
+ q(0105) => [
+ q(Phags-pa),
+ ],
+ q(0106) => [
+ q(Inscriptional Pahlavi),
+ ],
+ q(0107) => [
+ q(Psalter Pahlavi),
+ ],
+ q(0108) => [
+ q(Book Pahlavi),
+ ],
+ q(0109) => [
+ q(Phoenician),
+ ],
+ q(0110) => [
+ q(Miao (Pollard)),
+ q(Miao),
+ q(Pollard),
+ ],
+ q(0111) => [
+ q(Inscriptional Parthian),
+ ],
+ q(0112) => [
+ q(Reserved for private use (start)),
+ ],
+ q(0113) => [
+ q(Reserved for private use (end)),
+ ],
+ q(0114) => [
+ q(Rejang (Redjang, Kaganga)),
+ q(Rejang),
+ q(Redjang),
+ q(Kaganga),
+ ],
+ q(0115) => [
+ q(Rongorongo),
+ ],
+ q(0116) => [
+ q(Runic),
+ ],
+ q(0117) => [
+ q(Samaritan),
+ ],
+ q(0118) => [
+ q(Sarati),
+ ],
+ q(0119) => [
+ q(Old South Arabian),
+ ],
+ q(0120) => [
+ q(Saurashtra),
+ ],
+ q(0121) => [
+ q(SignWriting),
+ ],
+ q(0122) => [
+ q(Shavian (Shaw)),
+ q(Shavian),
+ q(Shaw),
+ ],
+ q(0123) => [
+ q(Sharada, Sarada),
+ q(Sharada),
+ q(Sarada),
+ ],
+ q(0124) => [
+ q(Khudawadi, Sindhi),
+ q(Khudawadi),
+ q(Sindhi),
+ ],
+ q(0125) => [
+ q(Sinhala),
+ ],
+ q(0126) => [
+ q(Sora Sompeng),
+ ],
+ q(0127) => [
+ q(Sundanese),
+ ],
+ q(0128) => [
+ q(Syloti Nagri),
+ ],
+ q(0129) => [
+ q(Syriac),
+ ],
+ q(0130) => [
+ q(Syriac (Estrangelo variant)),
+ ],
+ q(0131) => [
+ q(Syriac (Western variant)),
+ ],
+ q(0132) => [
+ q(Syriac (Eastern variant)),
+ ],
+ q(0133) => [
+ q(Tagbanwa),
+ ],
+ q(0134) => [
+ q(Takri, Takri, Tankri),
+ q(Takri),
+ q(Tankri),
+ ],
+ q(0135) => [
+ q(Tai Le),
+ ],
+ q(0136) => [
+ q(New Tai Lue),
+ ],
+ q(0137) => [
+ q(Tamil),
+ ],
+ q(0138) => [
+ q(Tangut),
+ ],
+ q(0139) => [
+ q(Tai Viet),
+ ],
+ q(0140) => [
+ q(Telugu),
+ ],
+ q(0141) => [
+ q(Tengwar),
+ ],
+ q(0142) => [
+ q(Tifinagh (Berber)),
+ q(Tifinagh),
+ q(Berber),
+ ],
+ q(0143) => [
+ q(Tagalog (Baybayin, Alibata)),
+ q(Tagalog),
+ q(Baybayin),
+ q(Alibata),
+ ],
+ q(0144) => [
+ q(Thaana),
+ ],
+ q(0145) => [
+ q(Thai),
+ ],
+ q(0146) => [
+ q(Tibetan),
+ ],
+ q(0147) => [
+ q(Tirhuta),
+ ],
+ q(0148) => [
+ q(Ugaritic),
+ ],
+ q(0149) => [
+ q(Vai),
+ ],
+ q(0150) => [
+ q(Visible Speech),
+ ],
+ q(0151) => [
+ q(Warang Citi (Varang Kshiti)),
+ q(Warang Citi),
+ q(Varang Kshiti),
+ ],
+ q(0152) => [
+ q(Woleai),
+ ],
+ q(0153) => [
+ q(Old Persian),
+ ],
+ q(0154) => [
+ q(Cuneiform, Sumero-Akkadian),
+ q(Sumero-Akkadian cuneiform),
+ ],
+ q(0155) => [
+ q(Yi),
+ ],
+ q(0156) => [
+ q(Code for inherited script),
+ ],
+ q(0157) => [
+ q(Mathematical notation),
+ ],
+ q(0158) => [
+ q(Symbols),
+ ],
+};
+
+$Locale::Codes::Data{'script'}{'alias2id'} = {
+ q('na-'khi ggo-baw) => [
+ q(0095),
+ q(2),
+ ],
+ q(afaka) => [
+ q(0001),
+ q(0),
+ ],
+ q(alibata) => [
+ q(0143),
+ q(3),
+ ],
+ q(anatolian hieroglyphs) => [
+ q(0050),
+ q(1),
+ ],
+ q(anatolian hieroglyphs (luwian hieroglyphs, hittite hieroglyphs)) => [
+ q(0050),
+ q(0),
+ ],
+ q(ancient north arabian) => [
+ q(0093),
+ q(2),
+ ],
+ q(arabic) => [
+ q(0002),
+ q(0),
+ ],
+ q(armenian) => [
+ q(0004),
+ q(0),
+ ],
+ q(avestan) => [
+ q(0005),
+ q(0),
+ ],
+ q(balinese) => [
+ q(0006),
+ q(0),
+ ],
+ q(bamum) => [
+ q(0007),
+ q(0),
+ ],
+ q(bassa vah) => [
+ q(0008),
+ q(0),
+ ],
+ q(batak) => [
+ q(0009),
+ q(0),
+ ],
+ q(baybayin) => [
+ q(0143),
+ q(2),
+ ],
+ q(bengali) => [
+ q(0010),
+ q(0),
+ ],
+ q(berber) => [
+ q(0142),
+ q(2),
+ ],
+ q(blissymbols) => [
+ q(0011),
+ q(0),
+ ],
+ q(book pahlavi) => [
+ q(0108),
+ q(0),
+ ],
+ q(bopomofo) => [
+ q(0012),
+ q(0),
+ ],
+ q(brahmi) => [
+ q(0013),
+ q(0),
+ ],
+ q(braille) => [
+ q(0014),
+ q(0),
+ ],
+ q(buginese) => [
+ q(0015),
+ q(0),
+ ],
+ q(buhid) => [
+ q(0016),
+ q(0),
+ ],
+ q(burmese) => [
+ q(0092),
+ q(2),
+ ],
+ q(carian) => [
+ q(0019),
+ q(0),
+ ],
+ q(chakma) => [
+ q(0017),
+ q(0),
+ ],
+ q(cham) => [
+ q(0020),
+ q(0),
+ ],
+ q(cherokee) => [
+ q(0021),
+ q(0),
+ ],
+ q(cirth) => [
+ q(0022),
+ q(0),
+ ],
+ q(code for inherited script) => [
+ q(0156),
+ q(0),
+ ],
+ q(coptic) => [
+ q(0023),
+ q(0),
+ ],
+ q(cuneiform, sumero-akkadian) => [
+ q(0154),
+ q(0),
+ ],
+ q(cypriot) => [
+ q(0024),
+ q(0),
+ ],
+ q(cyrillic) => [
+ q(0025),
+ q(0),
+ ],
+ q(cyrillic (old church slavonic variant)) => [
+ q(0026),
+ q(0),
+ ],
+ q(deseret) => [
+ q(0028),
+ q(1),
+ ],
+ q(deseret (mormon)) => [
+ q(0028),
+ q(0),
+ ],
+ q(devanagari) => [
+ q(0027),
+ q(1),
+ ],
+ q(devanagari (nagari)) => [
+ q(0027),
+ q(0),
+ ],
+ q(duployan shorthand) => [
+ q(0029),
+ q(1),
+ ],
+ q(duployan shorthand, duployan stenography) => [
+ q(0029),
+ q(0),
+ ],
+ q(duployan stenography) => [
+ q(0029),
+ q(2),
+ ],
+ q(egyptian demotic) => [
+ q(0030),
+ q(0),
+ ],
+ q(egyptian hieratic) => [
+ q(0031),
+ q(0),
+ ],
+ q(egyptian hieroglyphs) => [
+ q(0032),
+ q(0),
+ ],
+ q(elbasan) => [
+ q(0033),
+ q(0),
+ ],
+ q(ethiopic) => [
+ q(0034),
+ q(1),
+ ],
+ q(ethiopic (geez)) => [
+ q(0034),
+ q(0),
+ ],
+ q(fraser) => [
+ q(0077),
+ q(2),
+ ],
+ q(ge'ez) => [
+ q(0034),
+ q(2),
+ ],
+ q(georgian (mkhedruli)) => [
+ q(0035),
+ q(0),
+ ],
+ q(glagolitic) => [
+ q(0037),
+ q(0),
+ ],
+ q(gothic) => [
+ q(0038),
+ q(0),
+ ],
+ q(grantha) => [
+ q(0039),
+ q(0),
+ ],
+ q(greek) => [
+ q(0040),
+ q(0),
+ ],
+ q(gujarati) => [
+ q(0041),
+ q(0),
+ ],
+ q(gurmukhi) => [
+ q(0042),
+ q(0),
+ ],
+ q(han) => [
+ q(0044),
+ q(1),
+ ],
+ q(han (hanzi, kanji, hanja)) => [
+ q(0044),
+ q(0),
+ ],
+ q(han (simplified variant)) => [
+ q(0046),
+ q(0),
+ ],
+ q(han (traditional variant)) => [
+ q(0047),
+ q(0),
+ ],
+ q(hangeul) => [
+ q(0043),
+ q(2),
+ ],
+ q(hangul) => [
+ q(0043),
+ q(1),
+ ],
+ q(hangul (hangul, hangeul)) => [
+ q(0043),
+ q(0),
+ ],
+ q(hanja) => [
+ q(0044),
+ q(4),
+ ],
+ q(hanunoo) => [
+ q(0045),
+ q(1),
+ ],
+ q(hanunoo (hanunoo)) => [
+ q(0045),
+ q(0),
+ ],
+ q(hanzi) => [
+ q(0044),
+ q(2),
+ ],
+ q(harappan) => [
+ q(0054),
+ q(2),
+ ],
+ q(hebrew) => [
+ q(0048),
+ q(0),
+ ],
+ q(hiragana) => [
+ q(0049),
+ q(0),
+ ],
+ q(hittite hieroglyphs) => [
+ q(0050),
+ q(3),
+ ],
+ q(imperial aramaic) => [
+ q(0003),
+ q(0),
+ ],
+ q(indus) => [
+ q(0054),
+ q(1),
+ ],
+ q(indus (harappan)) => [
+ q(0054),
+ q(0),
+ ],
+ q(inscriptional pahlavi) => [
+ q(0106),
+ q(0),
+ ],
+ q(inscriptional parthian) => [
+ q(0111),
+ q(0),
+ ],
+ q(japanese (alias for han + hiragana + katakana)) => [
+ q(0057),
+ q(0),
+ ],
+ q(japanese syllabaries (alias for hiragana + katakana)) => [
+ q(0052),
+ q(0),
+ ],
+ q(javanese) => [
+ q(0056),
+ q(0),
+ ],
+ q(jurchen) => [
+ q(0058),
+ q(0),
+ ],
+ q(kaganga) => [
+ q(0114),
+ q(3),
+ ],
+ q(kaithi) => [
+ q(0067),
+ q(0),
+ ],
+ q(kanji) => [
+ q(0044),
+ q(3),
+ ],
+ q(kannada) => [
+ q(0064),
+ q(0),
+ ],
+ q(katakana) => [
+ q(0060),
+ q(0),
+ ],
+ q(kayah li) => [
+ q(0059),
+ q(0),
+ ],
+ q(kharoshthi) => [
+ q(0061),
+ q(0),
+ ],
+ q(khmer) => [
+ q(0062),
+ q(0),
+ ],
+ q(khojki) => [
+ q(0063),
+ q(0),
+ ],
+ q(khudawadi) => [
+ q(0124),
+ q(1),
+ ],
+ q(khudawadi, sindhi) => [
+ q(0124),
+ q(0),
+ ],
+ q(khutsuri (asomtavruli and nuskhuri)) => [
+ q(0036),
+ q(0),
+ ],
+ q(korean (alias for hangul + han)) => [
+ q(0065),
+ q(0),
+ ],
+ q(kpelle) => [
+ q(0066),
+ q(0),
+ ],
+ q(lanna) => [
+ q(0068),
+ q(2),
+ ],
+ q(lao) => [
+ q(0069),
+ q(0),
+ ],
+ q(latin) => [
+ q(0072),
+ q(0),
+ ],
+ q(latin (fraktur variant)) => [
+ q(0070),
+ q(0),
+ ],
+ q(latin (gaelic variant)) => [
+ q(0071),
+ q(0),
+ ],
+ q(lepcha) => [
+ q(0073),
+ q(1),
+ ],
+ q(lepcha (rong)) => [
+ q(0073),
+ q(0),
+ ],
+ q(limbu) => [
+ q(0074),
+ q(0),
+ ],
+ q(linear a) => [
+ q(0075),
+ q(0),
+ ],
+ q(linear b) => [
+ q(0076),
+ q(0),
+ ],
+ q(lisu) => [
+ q(0077),
+ q(1),
+ ],
+ q(lisu (fraser)) => [
+ q(0077),
+ q(0),
+ ],
+ q(loma) => [
+ q(0078),
+ q(0),
+ ],
+ q(luwian hieroglyphs) => [
+ q(0050),
+ q(2),
+ ],
+ q(lycian) => [
+ q(0079),
+ q(0),
+ ],
+ q(lydian) => [
+ q(0080),
+ q(0),
+ ],
+ q(malayalam) => [
+ q(0087),
+ q(0),
+ ],
+ q(mandaean) => [
+ q(0081),
+ q(2),
+ ],
+ q(mandaic) => [
+ q(0081),
+ q(1),
+ ],
+ q(mandaic, mandaean) => [
+ q(0081),
+ q(0),
+ ],
+ q(manichaean) => [
+ q(0082),
+ q(0),
+ ],
+ q(mathematical notation) => [
+ q(0157),
+ q(0),
+ ],
+ q(mayan hieroglyphs) => [
+ q(0083),
+ q(0),
+ ],
+ q(meetei) => [
+ q(0091),
+ q(3),
+ ],
+ q(meitei mayek) => [
+ q(0091),
+ q(1),
+ ],
+ q(meitei mayek (meithei, meetei)) => [
+ q(0091),
+ q(0),
+ ],
+ q(meithei) => [
+ q(0091),
+ q(2),
+ ],
+ q(mende) => [
+ q(0084),
+ q(0),
+ ],
+ q(meroitic cursive) => [
+ q(0085),
+ q(0),
+ ],
+ q(meroitic hieroglyphs) => [
+ q(0086),
+ q(0),
+ ],
+ q(miao) => [
+ q(0110),
+ q(1),
+ ],
+ q(miao (pollard)) => [
+ q(0110),
+ q(0),
+ ],
+ q(mongolian) => [
+ q(0089),
+ q(0),
+ ],
+ q(moon) => [
+ q(0088),
+ q(1),
+ ],
+ q(moon (moon code, moon script, moon type)) => [
+ q(0088),
+ q(0),
+ ],
+ q(moon code) => [
+ q(0088),
+ q(2),
+ ],
+ q(moon script) => [
+ q(0088),
+ q(3),
+ ],
+ q(moon type) => [
+ q(0088),
+ q(4),
+ ],
+ q(mormon) => [
+ q(0028),
+ q(2),
+ ],
+ q(mro) => [
+ q(0090),
+ q(1),
+ ],
+ q(mro, mru) => [
+ q(0090),
+ q(0),
+ ],
+ q(mru) => [
+ q(0090),
+ q(2),
+ ],
+ q(myanmar) => [
+ q(0092),
+ q(1),
+ ],
+ q(myanmar (burmese)) => [
+ q(0092),
+ q(0),
+ ],
+ q(n'ko) => [
+ q(0096),
+ q(0),
+ ],
+ q(nabataean) => [
+ q(0094),
+ q(0),
+ ],
+ q(nagari) => [
+ q(0027),
+ q(2),
+ ],
+ q(nakhi geba) => [
+ q(0095),
+ q(1),
+ ],
+ q(nakhi geba ('na-'khi ggo-baw, naxi geba)) => [
+ q(0095),
+ q(0),
+ ],
+ q(naxi geba) => [
+ q(0095),
+ q(3),
+ ],
+ q(new tai lue) => [
+ q(0136),
+ q(0),
+ ],
+ q(nushu) => [
+ q(0097),
+ q(0),
+ ],
+ q(ogham) => [
+ q(0098),
+ q(0),
+ ],
+ q(ol) => [
+ q(0099),
+ q(3),
+ ],
+ q(ol cemet') => [
+ q(0099),
+ q(2),
+ ],
+ q(ol chiki) => [
+ q(0099),
+ q(1),
+ ],
+ q(ol chiki (ol cemet, ol, santali)) => [
+ q(0099),
+ q(0),
+ ],
+ q(old hungarian) => [
+ q(0053),
+ q(0),
+ ],
+ q(old italic (etruscan, oscan, etc.)) => [
+ q(0055),
+ q(0),
+ ],
+ q(old north arabian) => [
+ q(0093),
+ q(1),
+ ],
+ q(old north arabian (ancient north arabian)) => [
+ q(0093),
+ q(0),
+ ],
+ q(old permic) => [
+ q(0104),
+ q(0),
+ ],
+ q(old persian) => [
+ q(0153),
+ q(0),
+ ],
+ q(old south arabian) => [
+ q(0119),
+ q(0),
+ ],
+ q(old turkic) => [
+ q(0100),
+ q(1),
+ ],
+ q(old turkic, orkhon runic) => [
+ q(0100),
+ q(0),
+ ],
+ q(oriya) => [
+ q(0101),
+ q(0),
+ ],
+ q(orkhon runic) => [
+ q(0100),
+ q(2),
+ ],
+ q(osmanya) => [
+ q(0102),
+ q(0),
+ ],
+ q(pahawh hmong) => [
+ q(0051),
+ q(0),
+ ],
+ q(palmyrene) => [
+ q(0103),
+ q(0),
+ ],
+ q(phags-pa) => [
+ q(0105),
+ q(0),
+ ],
+ q(phoenician) => [
+ q(0109),
+ q(0),
+ ],
+ q(pollard) => [
+ q(0110),
+ q(2),
+ ],
+ q(psalter pahlavi) => [
+ q(0107),
+ q(0),
+ ],
+ q(redjang) => [
+ q(0114),
+ q(2),
+ ],
+ q(rejang) => [
+ q(0114),
+ q(1),
+ ],
+ q(rejang (redjang, kaganga)) => [
+ q(0114),
+ q(0),
+ ],
+ q(reserved for private use (end)) => [
+ q(0113),
+ q(0),
+ ],
+ q(reserved for private use (start)) => [
+ q(0112),
+ q(0),
+ ],
+ q(rong) => [
+ q(0073),
+ q(2),
+ ],
+ q(rongorongo) => [
+ q(0115),
+ q(0),
+ ],
+ q(runic) => [
+ q(0116),
+ q(0),
+ ],
+ q(samaritan) => [
+ q(0117),
+ q(0),
+ ],
+ q(santali) => [
+ q(0099),
+ q(4),
+ ],
+ q(sarada) => [
+ q(0123),
+ q(2),
+ ],
+ q(sarati) => [
+ q(0118),
+ q(0),
+ ],
+ q(saurashtra) => [
+ q(0120),
+ q(0),
+ ],
+ q(sharada) => [
+ q(0123),
+ q(1),
+ ],
+ q(sharada, sarada) => [
+ q(0123),
+ q(0),
+ ],
+ q(shavian) => [
+ q(0122),
+ q(1),
+ ],
+ q(shavian (shaw)) => [
+ q(0122),
+ q(0),
+ ],
+ q(shaw) => [
+ q(0122),
+ q(2),
+ ],
+ q(signwriting) => [
+ q(0121),
+ q(0),
+ ],
+ q(sindhi) => [
+ q(0124),
+ q(2),
+ ],
+ q(sinhala) => [
+ q(0125),
+ q(0),
+ ],
+ q(sora sompeng) => [
+ q(0126),
+ q(0),
+ ],
+ q(sumero-akkadian cuneiform) => [
+ q(0154),
+ q(1),
+ ],
+ q(sundanese) => [
+ q(0127),
+ q(0),
+ ],
+ q(syloti nagri) => [
+ q(0128),
+ q(0),
+ ],
+ q(symbols) => [
+ q(0158),
+ q(0),
+ ],
+ q(syriac) => [
+ q(0129),
+ q(0),
+ ],
+ q(syriac (eastern variant)) => [
+ q(0132),
+ q(0),
+ ],
+ q(syriac (estrangelo variant)) => [
+ q(0130),
+ q(0),
+ ],
+ q(syriac (western variant)) => [
+ q(0131),
+ q(0),
+ ],
+ q(tagalog) => [
+ q(0143),
+ q(1),
+ ],
+ q(tagalog (baybayin, alibata)) => [
+ q(0143),
+ q(0),
+ ],
+ q(tagbanwa) => [
+ q(0133),
+ q(0),
+ ],
+ q(tai le) => [
+ q(0135),
+ q(0),
+ ],
+ q(tai tham) => [
+ q(0068),
+ q(1),
+ ],
+ q(tai tham (lanna)) => [
+ q(0068),
+ q(0),
+ ],
+ q(tai viet) => [
+ q(0139),
+ q(0),
+ ],
+ q(takri) => [
+ q(0134),
+ q(1),
+ ],
+ q(takri, takri, tankri) => [
+ q(0134),
+ q(0),
+ ],
+ q(tamil) => [
+ q(0137),
+ q(0),
+ ],
+ q(tangut) => [
+ q(0138),
+ q(0),
+ ],
+ q(tankri) => [
+ q(0134),
+ q(2),
+ ],
+ q(telugu) => [
+ q(0140),
+ q(0),
+ ],
+ q(tengwar) => [
+ q(0141),
+ q(0),
+ ],
+ q(thaana) => [
+ q(0144),
+ q(0),
+ ],
+ q(thai) => [
+ q(0145),
+ q(0),
+ ],
+ q(tibetan) => [
+ q(0146),
+ q(0),
+ ],
+ q(tifinagh) => [
+ q(0142),
+ q(1),
+ ],
+ q(tifinagh (berber)) => [
+ q(0142),
+ q(0),
+ ],
+ q(tirhuta) => [
+ q(0147),
+ q(0),
+ ],
+ q(ugaritic) => [
+ q(0148),
+ q(0),
+ ],
+ q(unified canadian aboriginal syllabics) => [
+ q(0018),
+ q(0),
+ ],
+ q(vai) => [
+ q(0149),
+ q(0),
+ ],
+ q(varang kshiti) => [
+ q(0151),
+ q(2),
+ ],
+ q(visible speech) => [
+ q(0150),
+ q(0),
+ ],
+ q(warang citi) => [
+ q(0151),
+ q(1),
+ ],
+ q(warang citi (varang kshiti)) => [
+ q(0151),
+ q(0),
+ ],
+ q(woleai) => [
+ q(0152),
+ q(0),
+ ],
+ q(yi) => [
+ q(0155),
+ q(0),
+ ],
+};
+
+$Locale::Codes::Data{'script'}{'code2id'} = {
+ q(alpha) => {
+ q(Afak) => [
+ q(0001),
+ q(0),
+ ],
+ q(Arab) => [
+ q(0002),
+ q(0),
+ ],
+ q(Armi) => [
+ q(0003),
+ q(0),
+ ],
+ q(Armn) => [
+ q(0004),
+ q(0),
+ ],
+ q(Avst) => [
+ q(0005),
+ q(0),
+ ],
+ q(Bali) => [
+ q(0006),
+ q(0),
+ ],
+ q(Bamu) => [
+ q(0007),
+ q(0),
+ ],
+ q(Bass) => [
+ q(0008),
+ q(0),
+ ],
+ q(Batk) => [
+ q(0009),
+ q(0),
+ ],
+ q(Beng) => [
+ q(0010),
+ q(0),
+ ],
+ q(Blis) => [
+ q(0011),
+ q(0),
+ ],
+ q(Bopo) => [
+ q(0012),
+ q(0),
+ ],
+ q(Brah) => [
+ q(0013),
+ q(0),
+ ],
+ q(Brai) => [
+ q(0014),
+ q(0),
+ ],
+ q(Bugi) => [
+ q(0015),
+ q(0),
+ ],
+ q(Buhd) => [
+ q(0016),
+ q(0),
+ ],
+ q(Cakm) => [
+ q(0017),
+ q(0),
+ ],
+ q(Cans) => [
+ q(0018),
+ q(0),
+ ],
+ q(Cari) => [
+ q(0019),
+ q(0),
+ ],
+ q(Cham) => [
+ q(0020),
+ q(0),
+ ],
+ q(Cher) => [
+ q(0021),
+ q(0),
+ ],
+ q(Cirt) => [
+ q(0022),
+ q(0),
+ ],
+ q(Copt) => [
+ q(0023),
+ q(0),
+ ],
+ q(Cprt) => [
+ q(0024),
+ q(0),
+ ],
+ q(Cyrl) => [
+ q(0025),
+ q(0),
+ ],
+ q(Cyrs) => [
+ q(0026),
+ q(0),
+ ],
+ q(Deva) => [
+ q(0027),
+ q(1),
+ ],
+ q(Dsrt) => [
+ q(0028),
+ q(1),
+ ],
+ q(Dupl) => [
+ q(0029),
+ q(1),
+ ],
+ q(Egyd) => [
+ q(0030),
+ q(0),
+ ],
+ q(Egyh) => [
+ q(0031),
+ q(0),
+ ],
+ q(Egyp) => [
+ q(0032),
+ q(0),
+ ],
+ q(Elba) => [
+ q(0033),
+ q(0),
+ ],
+ q(Ethi) => [
+ q(0034),
+ q(1),
+ ],
+ q(Geok) => [
+ q(0036),
+ q(0),
+ ],
+ q(Geor) => [
+ q(0035),
+ q(0),
+ ],
+ q(Glag) => [
+ q(0037),
+ q(0),
+ ],
+ q(Goth) => [
+ q(0038),
+ q(0),
+ ],
+ q(Gran) => [
+ q(0039),
+ q(0),
+ ],
+ q(Grek) => [
+ q(0040),
+ q(0),
+ ],
+ q(Gujr) => [
+ q(0041),
+ q(0),
+ ],
+ q(Guru) => [
+ q(0042),
+ q(0),
+ ],
+ q(Hang) => [
+ q(0043),
+ q(1),
+ ],
+ q(Hani) => [
+ q(0044),
+ q(1),
+ ],
+ q(Hano) => [
+ q(0045),
+ q(1),
+ ],
+ q(Hans) => [
+ q(0046),
+ q(0),
+ ],
+ q(Hant) => [
+ q(0047),
+ q(0),
+ ],
+ q(Hebr) => [
+ q(0048),
+ q(0),
+ ],
+ q(Hira) => [
+ q(0049),
+ q(0),
+ ],
+ q(Hluw) => [
+ q(0050),
+ q(1),
+ ],
+ q(Hmng) => [
+ q(0051),
+ q(0),
+ ],
+ q(Hrkt) => [
+ q(0052),
+ q(0),
+ ],
+ q(Hung) => [
+ q(0053),
+ q(0),
+ ],
+ q(Inds) => [
+ q(0054),
+ q(1),
+ ],
+ q(Ital) => [
+ q(0055),
+ q(0),
+ ],
+ q(Java) => [
+ q(0056),
+ q(0),
+ ],
+ q(Jpan) => [
+ q(0057),
+ q(0),
+ ],
+ q(Jurc) => [
+ q(0058),
+ q(0),
+ ],
+ q(Kali) => [
+ q(0059),
+ q(0),
+ ],
+ q(Kana) => [
+ q(0060),
+ q(0),
+ ],
+ q(Khar) => [
+ q(0061),
+ q(0),
+ ],
+ q(Khmr) => [
+ q(0062),
+ q(0),
+ ],
+ q(Khoj) => [
+ q(0063),
+ q(0),
+ ],
+ q(Knda) => [
+ q(0064),
+ q(0),
+ ],
+ q(Kore) => [
+ q(0065),
+ q(0),
+ ],
+ q(Kpel) => [
+ q(0066),
+ q(0),
+ ],
+ q(Kthi) => [
+ q(0067),
+ q(0),
+ ],
+ q(Lana) => [
+ q(0068),
+ q(1),
+ ],
+ q(Laoo) => [
+ q(0069),
+ q(0),
+ ],
+ q(Latf) => [
+ q(0070),
+ q(0),
+ ],
+ q(Latg) => [
+ q(0071),
+ q(0),
+ ],
+ q(Latn) => [
+ q(0072),
+ q(0),
+ ],
+ q(Lepc) => [
+ q(0073),
+ q(1),
+ ],
+ q(Limb) => [
+ q(0074),
+ q(0),
+ ],
+ q(Lina) => [
+ q(0075),
+ q(0),
+ ],
+ q(Linb) => [
+ q(0076),
+ q(0),
+ ],
+ q(Lisu) => [
+ q(0077),
+ q(1),
+ ],
+ q(Loma) => [
+ q(0078),
+ q(0),
+ ],
+ q(Lyci) => [
+ q(0079),
+ q(0),
+ ],
+ q(Lydi) => [
+ q(0080),
+ q(0),
+ ],
+ q(Mand) => [
+ q(0081),
+ q(1),
+ ],
+ q(Mani) => [
+ q(0082),
+ q(0),
+ ],
+ q(Maya) => [
+ q(0083),
+ q(0),
+ ],
+ q(Mend) => [
+ q(0084),
+ q(0),
+ ],
+ q(Merc) => [
+ q(0085),
+ q(0),
+ ],
+ q(Mero) => [
+ q(0086),
+ q(0),
+ ],
+ q(Mlym) => [
+ q(0087),
+ q(0),
+ ],
+ q(Mong) => [
+ q(0089),
+ q(0),
+ ],
+ q(Moon) => [
+ q(0088),
+ q(1),
+ ],
+ q(Mroo) => [
+ q(0090),
+ q(1),
+ ],
+ q(Mtei) => [
+ q(0091),
+ q(1),
+ ],
+ q(Mymr) => [
+ q(0092),
+ q(1),
+ ],
+ q(Narb) => [
+ q(0093),
+ q(1),
+ ],
+ q(Nbat) => [
+ q(0094),
+ q(0),
+ ],
+ q(Nkgb) => [
+ q(0095),
+ q(1),
+ ],
+ q(Nkoo) => [
+ q(0096),
+ q(0),
+ ],
+ q(Nshu) => [
+ q(0097),
+ q(0),
+ ],
+ q(Ogam) => [
+ q(0098),
+ q(0),
+ ],
+ q(Olck) => [
+ q(0099),
+ q(1),
+ ],
+ q(Orkh) => [
+ q(0100),
+ q(1),
+ ],
+ q(Orya) => [
+ q(0101),
+ q(0),
+ ],
+ q(Osma) => [
+ q(0102),
+ q(0),
+ ],
+ q(Palm) => [
+ q(0103),
+ q(0),
+ ],
+ q(Perm) => [
+ q(0104),
+ q(0),
+ ],
+ q(Phag) => [
+ q(0105),
+ q(0),
+ ],
+ q(Phli) => [
+ q(0106),
+ q(0),
+ ],
+ q(Phlp) => [
+ q(0107),
+ q(0),
+ ],
+ q(Phlv) => [
+ q(0108),
+ q(0),
+ ],
+ q(Phnx) => [
+ q(0109),
+ q(0),
+ ],
+ q(Plrd) => [
+ q(0110),
+ q(1),
+ ],
+ q(Prti) => [
+ q(0111),
+ q(0),
+ ],
+ q(Qaaa) => [
+ q(0112),
+ q(0),
+ ],
+ q(Qabx) => [
+ q(0113),
+ q(0),
+ ],
+ q(Rjng) => [
+ q(0114),
+ q(1),
+ ],
+ q(Roro) => [
+ q(0115),
+ q(0),
+ ],
+ q(Runr) => [
+ q(0116),
+ q(0),
+ ],
+ q(Samr) => [
+ q(0117),
+ q(0),
+ ],
+ q(Sara) => [
+ q(0118),
+ q(0),
+ ],
+ q(Sarb) => [
+ q(0119),
+ q(0),
+ ],
+ q(Saur) => [
+ q(0120),
+ q(0),
+ ],
+ q(Sgnw) => [
+ q(0121),
+ q(0),
+ ],
+ q(Shaw) => [
+ q(0122),
+ q(1),
+ ],
+ q(Shrd) => [
+ q(0123),
+ q(1),
+ ],
+ q(Sind) => [
+ q(0124),
+ q(1),
+ ],
+ q(Sinh) => [
+ q(0125),
+ q(0),
+ ],
+ q(Sora) => [
+ q(0126),
+ q(0),
+ ],
+ q(Sund) => [
+ q(0127),
+ q(0),
+ ],
+ q(Sylo) => [
+ q(0128),
+ q(0),
+ ],
+ q(Syrc) => [
+ q(0129),
+ q(0),
+ ],
+ q(Syre) => [
+ q(0130),
+ q(0),
+ ],
+ q(Syrj) => [
+ q(0131),
+ q(0),
+ ],
+ q(Syrn) => [
+ q(0132),
+ q(0),
+ ],
+ q(Tagb) => [
+ q(0133),
+ q(0),
+ ],
+ q(Takr) => [
+ q(0134),
+ q(1),
+ ],
+ q(Tale) => [
+ q(0135),
+ q(0),
+ ],
+ q(Talu) => [
+ q(0136),
+ q(0),
+ ],
+ q(Taml) => [
+ q(0137),
+ q(0),
+ ],
+ q(Tang) => [
+ q(0138),
+ q(0),
+ ],
+ q(Tavt) => [
+ q(0139),
+ q(0),
+ ],
+ q(Telu) => [
+ q(0140),
+ q(0),
+ ],
+ q(Teng) => [
+ q(0141),
+ q(0),
+ ],
+ q(Tfng) => [
+ q(0142),
+ q(1),
+ ],
+ q(Tglg) => [
+ q(0143),
+ q(1),
+ ],
+ q(Thaa) => [
+ q(0144),
+ q(0),
+ ],
+ q(Thai) => [
+ q(0145),
+ q(0),
+ ],
+ q(Tibt) => [
+ q(0146),
+ q(0),
+ ],
+ q(Tirh) => [
+ q(0147),
+ q(0),
+ ],
+ q(Ugar) => [
+ q(0148),
+ q(0),
+ ],
+ q(Vaii) => [
+ q(0149),
+ q(0),
+ ],
+ q(Visp) => [
+ q(0150),
+ q(0),
+ ],
+ q(Wara) => [
+ q(0151),
+ q(1),
+ ],
+ q(Wole) => [
+ q(0152),
+ q(0),
+ ],
+ q(Xpeo) => [
+ q(0153),
+ q(0),
+ ],
+ q(Xsux) => [
+ q(0154),
+ q(1),
+ ],
+ q(Yiii) => [
+ q(0155),
+ q(0),
+ ],
+ q(Zinh) => [
+ q(0156),
+ q(0),
+ ],
+ q(Zmth) => [
+ q(0157),
+ q(0),
+ ],
+ q(Zsym) => [
+ q(0158),
+ q(0),
+ ],
+ },
+ q(num) => {
+ q(020) => [
+ q(0154),
+ q(0),
+ ],
+ q(030) => [
+ q(0153),
+ q(0),
+ ],
+ q(040) => [
+ q(0148),
+ q(0),
+ ],
+ q(050) => [
+ q(0032),
+ q(0),
+ ],
+ q(060) => [
+ q(0031),
+ q(0),
+ ],
+ q(070) => [
+ q(0030),
+ q(0),
+ ],
+ q(080) => [
+ q(0050),
+ q(0),
+ ],
+ q(090) => [
+ q(0083),
+ q(0),
+ ],
+ q(095) => [
+ q(0121),
+ q(0),
+ ],
+ q(100) => [
+ q(0086),
+ q(0),
+ ],
+ q(101) => [
+ q(0085),
+ q(0),
+ ],
+ q(105) => [
+ q(0119),
+ q(0),
+ ],
+ q(106) => [
+ q(0093),
+ q(0),
+ ],
+ q(115) => [
+ q(0109),
+ q(0),
+ ],
+ q(116) => [
+ q(0080),
+ q(0),
+ ],
+ q(120) => [
+ q(0142),
+ q(0),
+ ],
+ q(123) => [
+ q(0117),
+ q(0),
+ ],
+ q(124) => [
+ q(0003),
+ q(0),
+ ],
+ q(125) => [
+ q(0048),
+ q(0),
+ ],
+ q(126) => [
+ q(0103),
+ q(0),
+ ],
+ q(130) => [
+ q(0111),
+ q(0),
+ ],
+ q(131) => [
+ q(0106),
+ q(0),
+ ],
+ q(132) => [
+ q(0107),
+ q(0),
+ ],
+ q(133) => [
+ q(0108),
+ q(0),
+ ],
+ q(134) => [
+ q(0005),
+ q(0),
+ ],
+ q(135) => [
+ q(0129),
+ q(0),
+ ],
+ q(136) => [
+ q(0132),
+ q(0),
+ ],
+ q(137) => [
+ q(0131),
+ q(0),
+ ],
+ q(138) => [
+ q(0130),
+ q(0),
+ ],
+ q(139) => [
+ q(0082),
+ q(0),
+ ],
+ q(140) => [
+ q(0081),
+ q(0),
+ ],
+ q(145) => [
+ q(0089),
+ q(0),
+ ],
+ q(159) => [
+ q(0094),
+ q(0),
+ ],
+ q(160) => [
+ q(0002),
+ q(0),
+ ],
+ q(165) => [
+ q(0096),
+ q(0),
+ ],
+ q(170) => [
+ q(0144),
+ q(0),
+ ],
+ q(175) => [
+ q(0100),
+ q(0),
+ ],
+ q(176) => [
+ q(0053),
+ q(0),
+ ],
+ q(199) => [
+ q(0090),
+ q(0),
+ ],
+ q(200) => [
+ q(0040),
+ q(0),
+ ],
+ q(201) => [
+ q(0019),
+ q(0),
+ ],
+ q(202) => [
+ q(0079),
+ q(0),
+ ],
+ q(204) => [
+ q(0023),
+ q(0),
+ ],
+ q(206) => [
+ q(0038),
+ q(0),
+ ],
+ q(210) => [
+ q(0055),
+ q(0),
+ ],
+ q(211) => [
+ q(0116),
+ q(0),
+ ],
+ q(212) => [
+ q(0098),
+ q(0),
+ ],
+ q(215) => [
+ q(0072),
+ q(0),
+ ],
+ q(216) => [
+ q(0071),
+ q(0),
+ ],
+ q(217) => [
+ q(0070),
+ q(0),
+ ],
+ q(218) => [
+ q(0088),
+ q(0),
+ ],
+ q(220) => [
+ q(0025),
+ q(0),
+ ],
+ q(221) => [
+ q(0026),
+ q(0),
+ ],
+ q(225) => [
+ q(0037),
+ q(0),
+ ],
+ q(226) => [
+ q(0033),
+ q(0),
+ ],
+ q(227) => [
+ q(0104),
+ q(0),
+ ],
+ q(230) => [
+ q(0004),
+ q(0),
+ ],
+ q(240) => [
+ q(0035),
+ q(0),
+ ],
+ q(241) => [
+ q(0036),
+ q(0),
+ ],
+ q(250) => [
+ q(0028),
+ q(0),
+ ],
+ q(259) => [
+ q(0008),
+ q(0),
+ ],
+ q(260) => [
+ q(0102),
+ q(0),
+ ],
+ q(261) => [
+ q(0099),
+ q(0),
+ ],
+ q(262) => [
+ q(0151),
+ q(0),
+ ],
+ q(280) => [
+ q(0150),
+ q(0),
+ ],
+ q(281) => [
+ q(0122),
+ q(0),
+ ],
+ q(282) => [
+ q(0110),
+ q(0),
+ ],
+ q(285) => [
+ q(0012),
+ q(0),
+ ],
+ q(286) => [
+ q(0043),
+ q(0),
+ ],
+ q(287) => [
+ q(0065),
+ q(0),
+ ],
+ q(290) => [
+ q(0141),
+ q(0),
+ ],
+ q(291) => [
+ q(0022),
+ q(0),
+ ],
+ q(292) => [
+ q(0118),
+ q(0),
+ ],
+ q(300) => [
+ q(0013),
+ q(0),
+ ],
+ q(305) => [
+ q(0061),
+ q(0),
+ ],
+ q(310) => [
+ q(0042),
+ q(0),
+ ],
+ q(315) => [
+ q(0027),
+ q(0),
+ ],
+ q(316) => [
+ q(0128),
+ q(0),
+ ],
+ q(317) => [
+ q(0067),
+ q(0),
+ ],
+ q(318) => [
+ q(0124),
+ q(0),
+ ],
+ q(319) => [
+ q(0123),
+ q(0),
+ ],
+ q(320) => [
+ q(0041),
+ q(0),
+ ],
+ q(321) => [
+ q(0134),
+ q(0),
+ ],
+ q(322) => [
+ q(0063),
+ q(0),
+ ],
+ q(325) => [
+ q(0010),
+ q(0),
+ ],
+ q(326) => [
+ q(0147),
+ q(0),
+ ],
+ q(327) => [
+ q(0101),
+ q(0),
+ ],
+ q(330) => [
+ q(0146),
+ q(0),
+ ],
+ q(331) => [
+ q(0105),
+ q(0),
+ ],
+ q(335) => [
+ q(0073),
+ q(0),
+ ],
+ q(336) => [
+ q(0074),
+ q(0),
+ ],
+ q(337) => [
+ q(0091),
+ q(0),
+ ],
+ q(340) => [
+ q(0140),
+ q(0),
+ ],
+ q(343) => [
+ q(0039),
+ q(0),
+ ],
+ q(344) => [
+ q(0120),
+ q(0),
+ ],
+ q(345) => [
+ q(0064),
+ q(0),
+ ],
+ q(346) => [
+ q(0137),
+ q(0),
+ ],
+ q(347) => [
+ q(0087),
+ q(0),
+ ],
+ q(348) => [
+ q(0125),
+ q(0),
+ ],
+ q(349) => [
+ q(0017),
+ q(0),
+ ],
+ q(350) => [
+ q(0092),
+ q(0),
+ ],
+ q(351) => [
+ q(0068),
+ q(0),
+ ],
+ q(352) => [
+ q(0145),
+ q(0),
+ ],
+ q(353) => [
+ q(0135),
+ q(0),
+ ],
+ q(354) => [
+ q(0136),
+ q(0),
+ ],
+ q(355) => [
+ q(0062),
+ q(0),
+ ],
+ q(356) => [
+ q(0069),
+ q(0),
+ ],
+ q(357) => [
+ q(0059),
+ q(0),
+ ],
+ q(358) => [
+ q(0020),
+ q(0),
+ ],
+ q(359) => [
+ q(0139),
+ q(0),
+ ],
+ q(360) => [
+ q(0006),
+ q(0),
+ ],
+ q(361) => [
+ q(0056),
+ q(0),
+ ],
+ q(362) => [
+ q(0127),
+ q(0),
+ ],
+ q(363) => [
+ q(0114),
+ q(0),
+ ],
+ q(365) => [
+ q(0009),
+ q(0),
+ ],
+ q(367) => [
+ q(0015),
+ q(0),
+ ],
+ q(370) => [
+ q(0143),
+ q(0),
+ ],
+ q(371) => [
+ q(0045),
+ q(0),
+ ],
+ q(372) => [
+ q(0016),
+ q(0),
+ ],
+ q(373) => [
+ q(0133),
+ q(0),
+ ],
+ q(398) => [
+ q(0126),
+ q(0),
+ ],
+ q(399) => [
+ q(0077),
+ q(0),
+ ],
+ q(400) => [
+ q(0075),
+ q(0),
+ ],
+ q(401) => [
+ q(0076),
+ q(0),
+ ],
+ q(403) => [
+ q(0024),
+ q(0),
+ ],
+ q(410) => [
+ q(0049),
+ q(0),
+ ],
+ q(411) => [
+ q(0060),
+ q(0),
+ ],
+ q(412) => [
+ q(0052),
+ q(0),
+ ],
+ q(413) => [
+ q(0057),
+ q(0),
+ ],
+ q(420) => [
+ q(0095),
+ q(0),
+ ],
+ q(430) => [
+ q(0034),
+ q(0),
+ ],
+ q(435) => [
+ q(0007),
+ q(0),
+ ],
+ q(436) => [
+ q(0066),
+ q(0),
+ ],
+ q(437) => [
+ q(0078),
+ q(0),
+ ],
+ q(438) => [
+ q(0084),
+ q(0),
+ ],
+ q(439) => [
+ q(0001),
+ q(0),
+ ],
+ q(440) => [
+ q(0018),
+ q(0),
+ ],
+ q(445) => [
+ q(0021),
+ q(0),
+ ],
+ q(450) => [
+ q(0051),
+ q(0),
+ ],
+ q(460) => [
+ q(0155),
+ q(0),
+ ],
+ q(470) => [
+ q(0149),
+ q(0),
+ ],
+ q(480) => [
+ q(0152),
+ q(0),
+ ],
+ q(499) => [
+ q(0097),
+ q(0),
+ ],
+ q(500) => [
+ q(0044),
+ q(0),
+ ],
+ q(501) => [
+ q(0046),
+ q(0),
+ ],
+ q(502) => [
+ q(0047),
+ q(0),
+ ],
+ q(510) => [
+ q(0058),
+ q(0),
+ ],
+ q(520) => [
+ q(0138),
+ q(0),
+ ],
+ q(550) => [
+ q(0011),
+ q(0),
+ ],
+ q(570) => [
+ q(0014),
+ q(0),
+ ],
+ q(610) => [
+ q(0054),
+ q(0),
+ ],
+ q(620) => [
+ q(0115),
+ q(0),
+ ],
+ q(755) => [
+ q(0029),
+ q(0),
+ ],
+ q(900) => [
+ q(0112),
+ q(0),
+ ],
+ q(949) => [
+ q(0113),
+ q(0),
+ ],
+ q(994) => [
+ q(0156),
+ q(0),
+ ],
+ q(995) => [
+ q(0157),
+ q(0),
+ ],
+ q(996) => [
+ q(0158),
+ q(0),
+ ],
+ },
+};
+
+$Locale::Codes::Data{'script'}{'id2code'} = {
+ q(alpha) => {
+ q(0001) => q(Afak),
+ q(0002) => q(Arab),
+ q(0003) => q(Armi),
+ q(0004) => q(Armn),
+ q(0005) => q(Avst),
+ q(0006) => q(Bali),
+ q(0007) => q(Bamu),
+ q(0008) => q(Bass),
+ q(0009) => q(Batk),
+ q(0010) => q(Beng),
+ q(0011) => q(Blis),
+ q(0012) => q(Bopo),
+ q(0013) => q(Brah),
+ q(0014) => q(Brai),
+ q(0015) => q(Bugi),
+ q(0016) => q(Buhd),
+ q(0017) => q(Cakm),
+ q(0018) => q(Cans),
+ q(0019) => q(Cari),
+ q(0020) => q(Cham),
+ q(0021) => q(Cher),
+ q(0022) => q(Cirt),
+ q(0023) => q(Copt),
+ q(0024) => q(Cprt),
+ q(0025) => q(Cyrl),
+ q(0026) => q(Cyrs),
+ q(0027) => q(Deva),
+ q(0028) => q(Dsrt),
+ q(0029) => q(Dupl),
+ q(0030) => q(Egyd),
+ q(0031) => q(Egyh),
+ q(0032) => q(Egyp),
+ q(0033) => q(Elba),
+ q(0034) => q(Ethi),
+ q(0035) => q(Geor),
+ q(0036) => q(Geok),
+ q(0037) => q(Glag),
+ q(0038) => q(Goth),
+ q(0039) => q(Gran),
+ q(0040) => q(Grek),
+ q(0041) => q(Gujr),
+ q(0042) => q(Guru),
+ q(0043) => q(Hang),
+ q(0044) => q(Hani),
+ q(0045) => q(Hano),
+ q(0046) => q(Hans),
+ q(0047) => q(Hant),
+ q(0048) => q(Hebr),
+ q(0049) => q(Hira),
+ q(0050) => q(Hluw),
+ q(0051) => q(Hmng),
+ q(0052) => q(Hrkt),
+ q(0053) => q(Hung),
+ q(0054) => q(Inds),
+ q(0055) => q(Ital),
+ q(0056) => q(Java),
+ q(0057) => q(Jpan),
+ q(0058) => q(Jurc),
+ q(0059) => q(Kali),
+ q(0060) => q(Kana),
+ q(0061) => q(Khar),
+ q(0062) => q(Khmr),
+ q(0063) => q(Khoj),
+ q(0064) => q(Knda),
+ q(0065) => q(Kore),
+ q(0066) => q(Kpel),
+ q(0067) => q(Kthi),
+ q(0068) => q(Lana),
+ q(0069) => q(Laoo),
+ q(0070) => q(Latf),
+ q(0071) => q(Latg),
+ q(0072) => q(Latn),
+ q(0073) => q(Lepc),
+ q(0074) => q(Limb),
+ q(0075) => q(Lina),
+ q(0076) => q(Linb),
+ q(0077) => q(Lisu),
+ q(0078) => q(Loma),
+ q(0079) => q(Lyci),
+ q(0080) => q(Lydi),
+ q(0081) => q(Mand),
+ q(0082) => q(Mani),
+ q(0083) => q(Maya),
+ q(0084) => q(Mend),
+ q(0085) => q(Merc),
+ q(0086) => q(Mero),
+ q(0087) => q(Mlym),
+ q(0088) => q(Moon),
+ q(0089) => q(Mong),
+ q(0090) => q(Mroo),
+ q(0091) => q(Mtei),
+ q(0092) => q(Mymr),
+ q(0093) => q(Narb),
+ q(0094) => q(Nbat),
+ q(0095) => q(Nkgb),
+ q(0096) => q(Nkoo),
+ q(0097) => q(Nshu),
+ q(0098) => q(Ogam),
+ q(0099) => q(Olck),
+ q(0100) => q(Orkh),
+ q(0101) => q(Orya),
+ q(0102) => q(Osma),
+ q(0103) => q(Palm),
+ q(0104) => q(Perm),
+ q(0105) => q(Phag),
+ q(0106) => q(Phli),
+ q(0107) => q(Phlp),
+ q(0108) => q(Phlv),
+ q(0109) => q(Phnx),
+ q(0110) => q(Plrd),
+ q(0111) => q(Prti),
+ q(0112) => q(Qaaa),
+ q(0113) => q(Qabx),
+ q(0114) => q(Rjng),
+ q(0115) => q(Roro),
+ q(0116) => q(Runr),
+ q(0117) => q(Samr),
+ q(0118) => q(Sara),
+ q(0119) => q(Sarb),
+ q(0120) => q(Saur),
+ q(0121) => q(Sgnw),
+ q(0122) => q(Shaw),
+ q(0123) => q(Shrd),
+ q(0124) => q(Sind),
+ q(0125) => q(Sinh),
+ q(0126) => q(Sora),
+ q(0127) => q(Sund),
+ q(0128) => q(Sylo),
+ q(0129) => q(Syrc),
+ q(0130) => q(Syre),
+ q(0131) => q(Syrj),
+ q(0132) => q(Syrn),
+ q(0133) => q(Tagb),
+ q(0134) => q(Takr),
+ q(0135) => q(Tale),
+ q(0136) => q(Talu),
+ q(0137) => q(Taml),
+ q(0138) => q(Tang),
+ q(0139) => q(Tavt),
+ q(0140) => q(Telu),
+ q(0141) => q(Teng),
+ q(0142) => q(Tfng),
+ q(0143) => q(Tglg),
+ q(0144) => q(Thaa),
+ q(0145) => q(Thai),
+ q(0146) => q(Tibt),
+ q(0147) => q(Tirh),
+ q(0148) => q(Ugar),
+ q(0149) => q(Vaii),
+ q(0150) => q(Visp),
+ q(0151) => q(Wara),
+ q(0152) => q(Wole),
+ q(0153) => q(Xpeo),
+ q(0154) => q(Xsux),
+ q(0155) => q(Yiii),
+ q(0156) => q(Zinh),
+ q(0157) => q(Zmth),
+ q(0158) => q(Zsym),
+ },
+ q(num) => {
+ q(0001) => q(439),
+ q(0002) => q(160),
+ q(0003) => q(124),
+ q(0004) => q(230),
+ q(0005) => q(134),
+ q(0006) => q(360),
+ q(0007) => q(435),
+ q(0008) => q(259),
+ q(0009) => q(365),
+ q(0010) => q(325),
+ q(0011) => q(550),
+ q(0012) => q(285),
+ q(0013) => q(300),
+ q(0014) => q(570),
+ q(0015) => q(367),
+ q(0016) => q(372),
+ q(0017) => q(349),
+ q(0018) => q(440),
+ q(0019) => q(201),
+ q(0020) => q(358),
+ q(0021) => q(445),
+ q(0022) => q(291),
+ q(0023) => q(204),
+ q(0024) => q(403),
+ q(0025) => q(220),
+ q(0026) => q(221),
+ q(0027) => q(315),
+ q(0028) => q(250),
+ q(0029) => q(755),
+ q(0030) => q(070),
+ q(0031) => q(060),
+ q(0032) => q(050),
+ q(0033) => q(226),
+ q(0034) => q(430),
+ q(0035) => q(240),
+ q(0036) => q(241),
+ q(0037) => q(225),
+ q(0038) => q(206),
+ q(0039) => q(343),
+ q(0040) => q(200),
+ q(0041) => q(320),
+ q(0042) => q(310),
+ q(0043) => q(286),
+ q(0044) => q(500),
+ q(0045) => q(371),
+ q(0046) => q(501),
+ q(0047) => q(502),
+ q(0048) => q(125),
+ q(0049) => q(410),
+ q(0050) => q(080),
+ q(0051) => q(450),
+ q(0052) => q(412),
+ q(0053) => q(176),
+ q(0054) => q(610),
+ q(0055) => q(210),
+ q(0056) => q(361),
+ q(0057) => q(413),
+ q(0058) => q(510),
+ q(0059) => q(357),
+ q(0060) => q(411),
+ q(0061) => q(305),
+ q(0062) => q(355),
+ q(0063) => q(322),
+ q(0064) => q(345),
+ q(0065) => q(287),
+ q(0066) => q(436),
+ q(0067) => q(317),
+ q(0068) => q(351),
+ q(0069) => q(356),
+ q(0070) => q(217),
+ q(0071) => q(216),
+ q(0072) => q(215),
+ q(0073) => q(335),
+ q(0074) => q(336),
+ q(0075) => q(400),
+ q(0076) => q(401),
+ q(0077) => q(399),
+ q(0078) => q(437),
+ q(0079) => q(202),
+ q(0080) => q(116),
+ q(0081) => q(140),
+ q(0082) => q(139),
+ q(0083) => q(090),
+ q(0084) => q(438),
+ q(0085) => q(101),
+ q(0086) => q(100),
+ q(0087) => q(347),
+ q(0088) => q(218),
+ q(0089) => q(145),
+ q(0090) => q(199),
+ q(0091) => q(337),
+ q(0092) => q(350),
+ q(0093) => q(106),
+ q(0094) => q(159),
+ q(0095) => q(420),
+ q(0096) => q(165),
+ q(0097) => q(499),
+ q(0098) => q(212),
+ q(0099) => q(261),
+ q(0100) => q(175),
+ q(0101) => q(327),
+ q(0102) => q(260),
+ q(0103) => q(126),
+ q(0104) => q(227),
+ q(0105) => q(331),
+ q(0106) => q(131),
+ q(0107) => q(132),
+ q(0108) => q(133),
+ q(0109) => q(115),
+ q(0110) => q(282),
+ q(0111) => q(130),
+ q(0112) => q(900),
+ q(0113) => q(949),
+ q(0114) => q(363),
+ q(0115) => q(620),
+ q(0116) => q(211),
+ q(0117) => q(123),
+ q(0118) => q(292),
+ q(0119) => q(105),
+ q(0120) => q(344),
+ q(0121) => q(095),
+ q(0122) => q(281),
+ q(0123) => q(319),
+ q(0124) => q(318),
+ q(0125) => q(348),
+ q(0126) => q(398),
+ q(0127) => q(362),
+ q(0128) => q(316),
+ q(0129) => q(135),
+ q(0130) => q(138),
+ q(0131) => q(137),
+ q(0132) => q(136),
+ q(0133) => q(373),
+ q(0134) => q(321),
+ q(0135) => q(353),
+ q(0136) => q(354),
+ q(0137) => q(346),
+ q(0138) => q(520),
+ q(0139) => q(359),
+ q(0140) => q(340),
+ q(0141) => q(290),
+ q(0142) => q(120),
+ q(0143) => q(370),
+ q(0144) => q(170),
+ q(0145) => q(352),
+ q(0146) => q(330),
+ q(0147) => q(326),
+ q(0148) => q(040),
+ q(0149) => q(470),
+ q(0150) => q(280),
+ q(0151) => q(262),
+ q(0152) => q(480),
+ q(0153) => q(030),
+ q(0154) => q(020),
+ q(0155) => q(460),
+ q(0156) => q(994),
+ q(0157) => q(995),
+ q(0158) => q(996),
+ },
+};
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Codes/Script_Retired.pm b/Master/tlpkg/tlperl/lib/Locale/Codes/Script_Retired.pm
new file mode 100644
index 00000000000..5a0fc775294
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Locale/Codes/Script_Retired.pm
@@ -0,0 +1,89 @@
+package Locale::Codes::Script_Retired;
+
+# This file was automatically generated. Any changes to this file will
+# be lost the next time 'deprecate_codes' is run.
+# Generated on: Thu Mar 1 08:11:47 EST 2012
+
+=pod
+
+=head1 NAME
+
+Locale::Codes::Script_Retired - retired script codes for the Locale::Codes::Script module
+
+=head1 SYNOPSIS
+
+This module contains data used by the Locale::Codes::Script module. It is
+not intended to be used directly, and contains no calleable routines.
+
+=head1 AUTHOR
+
+See Locale::Codes for full author history.
+
+Currently maintained by Sullivan Beck (sbeck@cpan.org).
+
+=head1 COPYRIGHT
+
+ Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
+ Copyright (c) 2001-2010 Neil Bowers
+ Copyright (c) 2010-2012 Sullivan Beck
+
+This module is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=cut
+
+use strict;
+use warnings;
+require 5.002;
+
+our($VERSION);
+$VERSION='3.21';
+
+$Locale::Codes::Retired{'script'}{'num'}{'code'} = {
+};
+
+$Locale::Codes::Retired{'script'}{'alpha'}{'code'} = {
+};
+
+$Locale::Codes::Retired{'script'}{'num'}{'name'} = {
+ q(tiruta) => [ q(326), q(Tiruta) ],
+};
+
+$Locale::Codes::Retired{'script'}{'alpha'}{'name'} = {
+ q(sindhi) => [ q(Sind), q(Sindhi) ],
+ q(miao (pollard)) => [ q(Plrd), q(Miao (Pollard)) ],
+ q(ol chiki (ol cemet, ol, santali)) => [ q(Olck), q(Ol Chiki (Ol Cemet, Ol, Santali)) ],
+ q(hangul (hangul, hangeul)) => [ q(Hang), q(Hangul (Hangul, Hangeul)) ],
+ q(sharada, sarada) => [ q(Shrd), q(Sharada, Sarada) ],
+ q(khudawadi, sindhi) => [ q(Sind), q(Khudawadi, Sindhi) ],
+ q(myanmar (burmese)) => [ q(Mymr), q(Myanmar (Burmese)) ],
+ q(tifinagh (berber)) => [ q(Tfng), q(Tifinagh (Berber)) ],
+ q(moon (moon code, moon script, moon type)) => [ q(Moon), q(Moon (Moon code, Moon script, Moon type)) ],
+ q(cuneiform, sumero-akkadian) => [ q(Xsux), q(Cuneiform, Sumero-Akkadian) ],
+ q(warang citi (varang kshiti)) => [ q(Wara), q(Warang Citi (Varang Kshiti)) ],
+ q(ethiopic (geez)) => [ q(Ethi), q(Ethiopic (Geez)) ],
+ q(tagalog (baybayin, alibata)) => [ q(Tglg), q(Tagalog (Baybayin, Alibata)) ],
+ q(deseret (mormon)) => [ q(Dsrt), q(Deseret (Mormon)) ],
+ q((alias for hiragana + katakana)) => [ q(Hrkt), q((alias for Hiragana + Katakana)) ],
+ q(mandaic, mandaean) => [ q(Mand), q(Mandaic, Mandaean) ],
+ q(devanagari (nagari)) => [ q(Deva), q(Devanagari (Nagari)) ],
+ q(tai tham (lanna)) => [ q(Lana), q(Tai Tham (Lanna)) ],
+ q(shavian (shaw)) => [ q(Shaw), q(Shavian (Shaw)) ],
+ q(indus (harappan)) => [ q(Inds), q(Indus (Harappan)) ],
+ q(lisu (fraser)) => [ q(Lisu), q(Lisu (Fraser)) ],
+ q(lepcha (rong)) => [ q(Lepc), q(Lepcha (Rong)) ],
+ q(mro, mru) => [ q(Mroo), q(Mro, Mru) ],
+ q(meitei mayek (meithei, meetei)) => [ q(Mtei), q(Meitei Mayek (Meithei, Meetei)) ],
+ q(tiruta) => [ q(Tirh), q(Tiruta) ],
+ q(nakhi geba ('na-'khi ggo-baw, naxi geba)) => [ q(Nkgb), q(Nakhi Geba ('Na-'Khi Ggo-baw, Naxi Geba)) ],
+ q(old north arabian (ancient north arabian)) => [ q(Narb), q(Old North Arabian (Ancient North Arabian)) ],
+ q(takri, takri, tankri) => [ q(Takr), q(Takri, Takri, Tankri) ],
+ q(rejang (redjang, kaganga)) => [ q(Rjng), q(Rejang (Redjang, Kaganga)) ],
+ q(han (hanzi, kanji, hanja)) => [ q(Hani), q(Han (Hanzi, Kanji, Hanja)) ],
+ q(old turkic, orkhon runic) => [ q(Orkh), q(Old Turkic, Orkhon Runic) ],
+ q(hanunoo (hanunoo)) => [ q(Hano), q(Hanunoo (Hanunoo)) ],
+ q(duployan shorthand, duployan stenography) => [ q(Dupl), q(Duployan shorthand, Duployan stenography) ],
+};
+
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Constants.pm b/Master/tlpkg/tlperl/lib/Locale/Constants.pm
deleted file mode 100644
index 56cefe3dec5..00000000000
--- a/Master/tlpkg/tlperl/lib/Locale/Constants.pm
+++ /dev/null
@@ -1,80 +0,0 @@
-package Locale::Constants;
-# Copyright (C) 2001 Canon Research Centre Europe (CRE).
-# Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2011 Sullivan Beck
-# This program is free software; you can redistribute it and/or modify it
-# under the same terms as Perl itself.
-
-use strict;
-use warnings;
-
-require Exporter;
-
-#-----------------------------------------------------------------------
-# Public Global Variables
-#-----------------------------------------------------------------------
-
-our($VERSION,@ISA,@EXPORT);
-
-$VERSION='3.16';
-@ISA = qw(Exporter);
-@EXPORT = qw(LOCALE_CODE_ALPHA_2
- LOCALE_CODE_ALPHA_3
- LOCALE_CODE_NUMERIC
- LOCALE_CODE_FIPS
- LOCALE_CODE_DOM
- LOCALE_CODE_DEFAULT
-
- LOCALE_LANG_ALPHA_2
- LOCALE_LANG_ALPHA_3
- LOCALE_LANG_TERM
- LOCALE_LANG_DEFAULT
-
- LOCALE_CURR_ALPHA
- LOCALE_CURR_NUMERIC
- LOCALE_CURR_DEFAULT
-
- LOCALE_SCRIPT_ALPHA
- LOCALE_SCRIPT_NUMERIC
- LOCALE_SCRIPT_DEFAULT
- );
-
-#-----------------------------------------------------------------------
-# Constants
-#-----------------------------------------------------------------------
-
-use constant LOCALE_CODE_ALPHA_2 => 1;
-use constant LOCALE_CODE_ALPHA_3 => 2;
-use constant LOCALE_CODE_NUMERIC => 3;
-use constant LOCALE_CODE_FIPS => 4;
-use constant LOCALE_CODE_DOM => 5;
-
-use constant LOCALE_CODE_DEFAULT => LOCALE_CODE_ALPHA_2;
-
-use constant LOCALE_LANG_ALPHA_2 => 1;
-use constant LOCALE_LANG_ALPHA_3 => 2;
-use constant LOCALE_LANG_TERM => 3;
-
-use constant LOCALE_LANG_DEFAULT => LOCALE_LANG_ALPHA_2;
-
-use constant LOCALE_CURR_ALPHA => 1;
-use constant LOCALE_CURR_NUMERIC => 2;
-
-use constant LOCALE_CURR_DEFAULT => LOCALE_CURR_ALPHA;
-
-use constant LOCALE_SCRIPT_ALPHA => 1;
-use constant LOCALE_SCRIPT_NUMERIC => 2;
-
-use constant LOCALE_SCRIPT_DEFAULT => LOCALE_SCRIPT_ALPHA;
-
-1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: -2
-# End:
diff --git a/Master/tlpkg/tlperl/lib/Locale/Country.pm b/Master/tlpkg/tlperl/lib/Locale/Country.pm
index 85f33fc985d..761043ed419 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Country.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Country.pm
@@ -1,301 +1,41 @@
package Locale::Country;
# Copyright (C) 2001 Canon Research Centre Europe (CRE).
# Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2011 Sullivan Beck
+# Copyright (c) 2010-2012 Sullivan Beck
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
use strict;
use warnings;
-require 5.002;
+use Exporter;
-require Exporter;
-use Carp;
-use Locale::Codes;
-use Locale::Constants;
-use Locale::Codes::Country;
+our $VERSION;
+$VERSION='3.21';
-#=======================================================================
-# Public Global Variables
-#=======================================================================
+our (@ISA,@EXPORT);
-our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
+my $backend = 'Locale::Codes::Country';
+my $backend_exp = $backend . "::EXPORT";
-$VERSION='3.16';
-@ISA = qw(Exporter);
-@EXPORT = qw(code2country
- country2code
- all_country_codes
- all_country_names
- country_code2code
- LOCALE_CODE_ALPHA_2
- LOCALE_CODE_ALPHA_3
- LOCALE_CODE_NUMERIC
- LOCALE_CODE_FIPS
- LOCALE_CODE_DOM
- );
+eval "require $backend; $backend->import(); return 1;";
-sub _code {
- my($code,$codeset) = @_;
- $code = "" if (! $code);
-
- $codeset = LOCALE_CODE_DEFAULT if (! defined($codeset) || $codeset eq "");
-
- if ($codeset =~ /^\d+$/) {
- if ($codeset == LOCALE_CODE_ALPHA_2) {
- $codeset = "alpha2";
- } elsif ($codeset == LOCALE_CODE_ALPHA_3) {
- $codeset = "alpha3";
- } elsif ($codeset == LOCALE_CODE_NUMERIC) {
- $codeset = "num";
- } elsif ($codeset == LOCALE_CODE_FIPS) {
- $codeset = "fips";
- } elsif ($codeset == LOCALE_CODE_DOM) {
- $codeset = "dom";
- } else {
- return (1);
- }
- }
-
- if ($codeset eq "alpha2" ||
- $codeset eq "alpha3") {
- $code = lc($code);
- } elsif ($codeset eq "num") {
- if (defined($code) && $code ne "") {
- return (1) unless ($code =~ /^\d+$/);
- $code = sprintf("%.3d", $code);
- }
- } elsif ($codeset eq "fips" ||
- $codeset eq "dom") {
- $code = uc($code);
- } else {
- return (1);
- }
-
- return (0,$code,$codeset);
-}
-
-#=======================================================================
-#
-# code2country ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub code2country {
- my($err,$code,$codeset) = _code(@_);
- return undef if ($err ||
- ! defined $code);
-
- return Locale::Codes::_code2name("country",$code,$codeset);
-}
-
-#=======================================================================
-#
-# country2code ( COUNTRY [,CODESET] )
-#
-#=======================================================================
-
-sub country2code {
- my($country,$codeset) = @_;
- my($err,$tmp);
- ($err,$tmp,$codeset) = _code("",$codeset);
- return undef if ($err ||
- ! defined $country);
-
- return Locale::Codes::_name2code("country",$country,$codeset);
-}
-
-#=======================================================================
-#
-# country_code2code ( CODE,CODESET_IN,CODESET_OUT )
-#
-#=======================================================================
-
-sub country_code2code {
- (@_ == 3) or croak "country_code2code() takes 3 arguments!";
- my($code,$inset,$outset) = @_;
- my($err,$tmp);
- ($err,$code,$inset) = _code($code,$inset);
- return undef if ($err);
- ($err,$tmp,$outset) = _code("",$outset);
- return undef if ($err);
-
- return Locale::Codes::_code2code("country",$code,$inset,$outset);
-}
-
-#=======================================================================
-#
-# all_country_codes ( [CODESET] )
-#
-#=======================================================================
-
-sub all_country_codes {
- my($codeset) = @_;
- my($err,$tmp);
- ($err,$tmp,$codeset) = _code("",$codeset);
- return undef if ($err);
-
- return Locale::Codes::_all_codes("country",$codeset);
-}
-
-
-#=======================================================================
-#
-# all_country_names ( [CODESET] )
-#
-#=======================================================================
-
-sub all_country_names {
- my($codeset) = @_;
- my($err,$tmp);
- ($err,$tmp,$codeset) = _code("",$codeset);
- return undef if ($err);
-
- return Locale::Codes::_all_names("country",$codeset);
-}
-
-#=======================================================================
-#
-# rename_country ( CODE,NAME [,CODESET] )
-#
-#=======================================================================
-
-sub rename_country {
- my($code,$new_name,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
-
- return Locale::Codes::_rename("country",$code,$new_name,$codeset,$nowarn);
+{
+ no strict 'refs';
+ @EXPORT = @{ $backend_exp };
}
-#=======================================================================
-#
-# add_country ( CODE,NAME [,CODESET] )
-#
-#=======================================================================
+unshift (@ISA, $backend);
-sub add_country {
- my($code,$name,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
+sub alias_code { Locale::Codes::Country::alias_code(@_) }
- return Locale::Codes::_add_code("country",$code,$name,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_country ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub delete_country {
- my($code,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
-
- return Locale::Codes::_delete_code("country",$code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_country_alias ( NAME,NEW_NAME )
-#
-#=======================================================================
-
-sub add_country_alias {
- my($name,$new_name,$nowarn) = @_;
- $nowarn = (defined($nowarn) && $nowarn eq "nowarn" ? 1 : 0);
-
- return Locale::Codes::_add_alias("country",$name,$new_name,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_country_alias ( NAME )
-#
-#=======================================================================
-
-sub delete_country_alias {
- my($name,$nowarn) = @_;
- $nowarn = (defined($nowarn) && $nowarn eq "nowarn" ? 1 : 0);
-
- return Locale::Codes::_delete_alias("country",$name,$nowarn);
-}
-
-#=======================================================================
-#
-# rename_country_code ( CODE,NEW_CODE [,CODESET] )
-#
-#=======================================================================
-
-sub rename_country_code {
- my($code,$new_code,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
- ($err,$new_code,$codeset) = _code($new_code,$codeset) if (! $err);
-
- return Locale::Codes::_rename_code("country",$code,$new_code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_country_code_alias ( CODE,NEW_CODE [,CODESET] )
-#
-#=======================================================================
-
-sub add_country_code_alias {
- my($code,$new_code,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
- ($err,$new_code,$codeset) = _code($new_code,$codeset) if (! $err);
-
- return Locale::Codes::_add_code_alias("country",$code,$new_code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_country_code_alias ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub delete_country_code_alias {
- my($code,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
-
- return Locale::Codes::_delete_code_alias("country",$code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# Old function for backward compatibility
-#
-#=======================================================================
-
-sub alias_code {
- my($alias,$code,@args) = @_;
- my $success = rename_country_code($code,$alias,@args);
- return 0 if (! $success);
- return $alias;
-}
+sub rename_country { Locale::Codes::Country::rename_country(@_) }
+sub add_country { Locale::Codes::Country::add_country(@_) }
+sub delete_country { Locale::Codes::Country::delete_country(@_) }
+sub add_country_alias { Locale::Codes::Country::add_country_alias(@_) }
+sub delete_country_alias { Locale::Codes::Country::delete_country_alias(@_) }
+sub rename_country_code { Locale::Codes::Country::rename_country_code(@_) }
+sub add_country_code_alias { Locale::Codes::Country::add_country_code_alias(@_) }
+sub delete_country_code_alias { Locale::Codes::Country::delete_country_code_alias(@_) }
1;
# Local Variables:
diff --git a/Master/tlpkg/tlperl/lib/Locale/Country.pod b/Master/tlpkg/tlperl/lib/Locale/Country.pod
index 509dff846d7..b9ceff31476 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Country.pod
+++ b/Master/tlpkg/tlperl/lib/Locale/Country.pod
@@ -31,28 +31,32 @@ specifies the code set to use. If not specified, the default ISO
=head1 SUPPORTED CODE SETS
There are several different code sets you can use for identifying
-countries. The ones currently supported are:
+countries. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $country = code2country('jp','alpha-2');
+ $country = code2country('jp',LOCALE_CODE_ALPHA_2);
+
+The codesets currently supported are:
=over 4
-=item B<alpha-2>
+=item B<alpha-2, LOCALE_CODE_ALPHA_2>
This is the set of two-letter (lowercase) codes from ISO 3166-1, such
as 'tv' for Tuvalu.
-This code set is identified with the symbol C<LOCALE_CODE_ALPHA_2>.
-
This is the default code set.
-=item B<alpha-3>
+=item B<alpha-3, LOCALE_CODE_ALPHA_3>
This is the set of three-letter (lowercase) codes from ISO 3166-1,
such as 'brb' for Barbados. These codes are actually defined and
maintained by the U.N. Statistics division.
-This code set is identified with the symbol C<LOCALE_CODE_ALPHA_3>.
-
-=item B<numeric>
+=item B<numeric, LOCALE_CODE_NUMERIC>
This is the set of three-digit numeric codes from ISO 3166-1, such as
064 for Bhutan. These codes are actually defined and maintained by the
@@ -61,22 +65,16 @@ U.N. Statistics division.
If a 2-digit code is entered, it is converted to 3 digits by prepending
a 0.
-This code set is identified with the symbol C<LOCALE_CODE_NUMERIC>.
-
-=item B<fips-10>
+=item B<fips-10, LOCALE_CODE_FIPS>
The FIPS 10 data are two-letter (uppercase) codes assigned by the
National Geospatial-Intelligence Agency.
-This code set is identified with the symbol C<LOCALE_CODE_FIPS>.
-
-=item B<dom>
+=item B<dom, LOCALE_CODE_DOM>
The IANA is responsible for assigning two-letter (uppercase) top-level
domain names to each country.
-This code set is identified with the symbol C<LOCALE_CODE_DOM>.
-
=back
=head1 ROUTINES
@@ -109,7 +107,7 @@ This code set is identified with the symbol C<LOCALE_CODE_DOM>.
=item B<Locale::Country::delete_country_code_alias ( CODE [,CODESET] )>
-These routines are all documented in the Locale::Codes man page.
+These routines are all documented in the Locale::Codes::API man page.
=item B<alias_code ( ALIAS, CODE [,CODESET] )>
@@ -127,8 +125,8 @@ the following two are identical:
and the latter should be used for consistency.
-The alias_code function is deprecated (though there is no currently no
-plan to remove it).
+The alias_code function is deprecated and will be removed at some point
+in the future.
B<Note:> this function was previously called _alias_code, but the
leading underscore has been dropped. The old name was supported for
@@ -142,10 +140,12 @@ all 2.X releases, but has been dropped as of 3.00.
=item B<Locale::Codes>
-=item B<Locale::Constants>
-
The Locale-Codes distribution.
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
=item B<Locale::SubCountry>
ISO codes for country sub-divisions (states, counties, provinces,
@@ -184,11 +184,9 @@ Official source of the top-level domain names.
=item B<https://www.cia.gov/library/publications/the-world-factbook/appendix/print_appendix-d.html>
-Although not the official source of any of the data, the World
-Factbook maintained by the CIA is a great source of the data,
-especially since I can't get the official data from the ISO. Since
-it's maintained by the CIA, and since it's updated every two weeks, I
-use this as the source for some missing data.
+The World Factbook maintained by the CIA is a potential source of
+the data. Unfortunately, it adds/preserves non-standard codes, so it is no
+longer used as a source of data.
=item B<http://www.statoids.com/wab.html>
@@ -208,7 +206,7 @@ Currently maintained by Sullivan Beck (sbeck@cpan.org).
Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
Copyright (c) 2001-2010 Neil Bowers
- Copyright (c) 2010-2011 Sullivan Beck
+ Copyright (c) 2010-2012 Sullivan Beck
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Locale/Currency.pm b/Master/tlpkg/tlperl/lib/Locale/Currency.pm
index 10828653218..0169e25b9d2 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Currency.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Currency.pm
@@ -1,275 +1,39 @@
package Locale::Currency;
# Copyright (C) 2001 Canon Research Centre Europe (CRE).
# Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2011 Sullivan Beck
+# Copyright (c) 2010-2012 Sullivan Beck
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
use strict;
use warnings;
-require 5.002;
+use Exporter;
-require Exporter;
-use Carp;
-use Locale::Codes;
-use Locale::Constants;
-use Locale::Codes::Currency;
+our $VERSION;
+$VERSION='3.21';
-#=======================================================================
-# Public Global Variables
-#=======================================================================
+our (@ISA,@EXPORT);
-our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
+my $backend = 'Locale::Codes::Currency';
+my $backend_exp = $backend . "::EXPORT";
-$VERSION='3.16';
-@ISA = qw(Exporter);
-@EXPORT = qw(code2currency
- currency2code
- all_currency_codes
- all_currency_names
- currency_code2code
- LOCALE_CURR_ALPHA
- LOCALE_CURR_NUMERIC
- );
+eval "require $backend; $backend->import(); return 1;";
-sub _code {
- my($code,$codeset) = @_;
- $code = "" if (! $code);
-
- $codeset = LOCALE_CURR_DEFAULT if (! defined($codeset) || $codeset eq "");
-
- if ($codeset =~ /^\d+$/) {
- if ($codeset == LOCALE_CURR_ALPHA) {
- $codeset = "alpha";
- } elsif ($codeset == LOCALE_CURR_NUMERIC) {
- $codeset = "num";
- } else {
- return (1);
- }
- }
-
- if ($codeset eq "alpha") {
- $code = uc($code);
- } elsif ($codeset eq "num") {
- if (defined($code) && $code ne "") {
- return (1) unless ($code =~ /^\d+$/);
- $code = sprintf("%.3d", $code);
- }
- } else {
- return (1);
- }
-
- return (0,$code,$codeset);
-}
-
-#=======================================================================
-#
-# code2currency ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub code2currency {
- my($err,$code,$codeset) = _code(@_);
- return undef if ($err ||
- ! defined $code);
-
- return Locale::Codes::_code2name("currency",$code,$codeset);
-}
-
-#=======================================================================
-#
-# currency2code ( CURRENCY [,CODESET] )
-#
-#=======================================================================
-
-sub currency2code {
- my($currency,$codeset) = @_;
- my($err,$tmp);
- ($err,$tmp,$codeset) = _code("",$codeset);
- return undef if ($err ||
- ! defined $currency);
-
- return Locale::Codes::_name2code("currency",$currency,$codeset);
-}
-
-#=======================================================================
-#
-# currency_code2code ( CODE,CODESET_IN,CODESET_OUT )
-#
-#=======================================================================
-
-sub currency_code2code {
- (@_ == 3) or croak "currency_code2code() takes 3 arguments!";
- my($code,$inset,$outset) = @_;
- my($err,$tmp);
- ($err,$code,$inset) = _code($code,$inset);
- return undef if ($err);
- ($err,$tmp,$outset) = _code("",$outset);
- return undef if ($err);
-
- return Locale::Codes::_code2code("currency",$code,$inset,$outset);
-}
-
-#=======================================================================
-#
-# all_currency_codes ( [CODESET] )
-#
-#=======================================================================
-
-sub all_currency_codes {
- my($codeset) = @_;
- my($err,$tmp);
- ($err,$tmp,$codeset) = _code("",$codeset);
- return undef if ($err);
-
- return Locale::Codes::_all_codes("currency",$codeset);
-}
-
-
-#=======================================================================
-#
-# all_currency_names ( [CODESET] )
-#
-#=======================================================================
-
-sub all_currency_names {
- my($codeset) = @_;
- my($err,$tmp);
- ($err,$tmp,$codeset) = _code("",$codeset);
- return undef if ($err);
-
- return Locale::Codes::_all_names("currency",$codeset);
+{
+ no strict 'refs';
+ @EXPORT = @{ $backend_exp };
}
-#=======================================================================
-#
-# rename_currency ( CODE,NAME [,CODESET] )
-#
-#=======================================================================
-
-sub rename_currency {
- my($code,$new_name,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
-
- return Locale::Codes::_rename("currency",$code,$new_name,$codeset,$nowarn);
-}
+unshift (@ISA, $backend);
-#=======================================================================
-#
-# add_currency ( CODE,NAME [,CODESET] )
-#
-#=======================================================================
-
-sub add_currency {
- my($code,$name,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
-
- return Locale::Codes::_add_code("currency",$code,$name,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_currency ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub delete_currency {
- my($code,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
-
- return Locale::Codes::_delete_code("currency",$code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_currency_alias ( NAME,NEW_NAME )
-#
-#=======================================================================
-
-sub add_currency_alias {
- my($name,$new_name,$nowarn) = @_;
- $nowarn = (defined($nowarn) && $nowarn eq "nowarn" ? 1 : 0);
-
- return Locale::Codes::_add_alias("currency",$name,$new_name,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_currency_alias ( NAME )
-#
-#=======================================================================
-
-sub delete_currency_alias {
- my($name,$nowarn) = @_;
- $nowarn = (defined($nowarn) && $nowarn eq "nowarn" ? 1 : 0);
-
- return Locale::Codes::_delete_alias("currency",$name,$nowarn);
-}
-
-#=======================================================================
-#
-# rename_currency_code ( CODE,NEW_CODE [,CODESET] )
-#
-#=======================================================================
-
-sub rename_currency_code {
- my($code,$new_code,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
- ($err,$new_code,$codeset) = _code($new_code,$codeset) if (! $err);
-
- return Locale::Codes::_rename_code("currency",$code,$new_code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_currency_code_alias ( CODE,NEW_CODE [,CODESET] )
-#
-#=======================================================================
-
-sub add_currency_code_alias {
- my($code,$new_code,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
- ($err,$new_code,$codeset) = _code($new_code,$codeset) if (! $err);
-
- return Locale::Codes::_add_code_alias("currency",$code,$new_code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_currency_code_alias ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub delete_currency_code_alias {
- my($code,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
-
- return Locale::Codes::_delete_code_alias("currency",$code,$codeset,$nowarn);
-}
+sub rename_currency { Locale::Codes::Currency::rename_currency(@_) }
+sub add_currency { Locale::Codes::Currency::add_currency(@_) }
+sub delete_currency { Locale::Codes::Currency::delete_currency(@_) }
+sub add_currency_alias { Locale::Codes::Currency::add_currency_alias(@_) }
+sub delete_currency_alias { Locale::Codes::Currency::delete_currency_alias(@_) }
+sub rename_currency_code { Locale::Codes::Currency::rename_currency_code(@_) }
+sub add_currency_code_alias { Locale::Codes::Currency::add_currency_code_alias(@_) }
+sub delete_currency_code_alias { Locale::Codes::Currency::delete_currency_code_alias(@_) }
1;
# Local Variables:
diff --git a/Master/tlpkg/tlperl/lib/Locale/Currency.pod b/Master/tlpkg/tlperl/lib/Locale/Currency.pod
index 25512b85603..a4156eef4c3 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Currency.pod
+++ b/Master/tlpkg/tlperl/lib/Locale/Currency.pod
@@ -27,11 +27,19 @@ specifies the code set to use. If not specified, the default ISO
=head1 SUPPORTED CODE SETS
There are several different code sets you can use for identifying
-currencies. The ones currently supported are:
+currencies. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $curr = code2currency('usd','alpha');
+ $curr = code2currency('usd',LOCALE_CURR_ALPHA);
+
+The codesets currently supported are:
=over 4
-=item B<alpha>
+=item B<alpha, LOCALE_CURR_ALPHA>
This is a set of three-letter (uppercase) codes from ISO 4217 such
as EUR for Euro.
@@ -40,16 +48,12 @@ Two of the codes specified by the standard (XTS which is reserved
for testing purposes and XXX which is for transactions where no
currency is involved) are omitted.
-This code set is identified with the symbol C<LOCALE_CURR_ALPHA>.
-
This is the default code set.
-=item B<num>
+=item B<num, LOCALE_CURR_NUMERIC>
This is the set of three-digit numeric codes from ISO 4217.
-This code set is identified with the symbol C<LOCALE_CURR_NUMERIC>.
-
=back
=head1 ROUTINES
@@ -82,7 +86,7 @@ This code set is identified with the symbol C<LOCALE_CURR_NUMERIC>.
=item B<Locale::Currency::delete_currency_code_alias ( CODE [,CODESET] )>
-These routines are all documented in the Locale::Codes man page.
+These routines are all documented in the Locale::Codes::API man page.
=back
@@ -92,7 +96,11 @@ These routines are all documented in the Locale::Codes man page.
=item B<Locale::Codes>
-=item B<Locale::Constants>
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
=item B<http://www.iso.org/iso/support/currency_codes_list-1.htm>
@@ -111,7 +119,7 @@ Currently maintained by Sullivan Beck (sbeck@cpan.org).
Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
Copyright (c) 2001 Michael Hennecke
Copyright (c) 2001-2010 Neil Bowers
- Copyright (c) 2010-2011 Sullivan Beck
+ Copyright (c) 2010-2012 Sullivan Beck
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Locale/Language.pm b/Master/tlpkg/tlperl/lib/Locale/Language.pm
index c30ff8840cf..1daced1beb5 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Language.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Language.pm
@@ -1,275 +1,39 @@
package Locale::Language;
# Copyright (C) 2001 Canon Research Centre Europe (CRE).
# Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2011 Sullivan Beck
+# Copyright (c) 2010-2012 Sullivan Beck
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
use strict;
use warnings;
-require 5.002;
+use Exporter;
-require Exporter;
-use Carp;
-use Locale::Codes;
-use Locale::Constants;
-use Locale::Codes::Language;
+our $VERSION;
+$VERSION='3.21';
-#=======================================================================
-# Public Global Variables
-#=======================================================================
+our (@ISA,@EXPORT);
-our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
+my $backend = 'Locale::Codes::Language';
+my $backend_exp = $backend . "::EXPORT";
-$VERSION='3.16';
-@ISA = qw(Exporter);
-@EXPORT = qw(code2language
- language2code
- all_language_codes
- all_language_names
- language_code2code
- LOCALE_LANG_ALPHA_2
- LOCALE_LANG_ALPHA_3
- LOCALE_LANG_TERM
- );
+eval "require $backend; $backend->import(); return 1;";
-sub _code {
- my($code,$codeset) = @_;
- $code = "" if (! $code);
-
- $codeset = LOCALE_LANG_DEFAULT if (! defined($codeset) || $codeset eq "");
-
- if ($codeset =~ /^\d+$/) {
- if ($codeset == LOCALE_LANG_ALPHA_2) {
- $codeset = "alpha2";
- } elsif ($codeset == LOCALE_LANG_ALPHA_3) {
- $codeset = "alpha3";
- } elsif ($codeset == LOCALE_LANG_TERM) {
- $codeset = "term";
- } else {
- return (1);
- }
- }
-
- if ($codeset eq "alpha2" ||
- $codeset eq "alpha3" ||
- $codeset eq "term") {
- $code = lc($code);
- } else {
- return (1);
- }
-
- return (0,$code,$codeset);
-}
-
-#=======================================================================
-#
-# code2language ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub code2language {
- my($err,$code,$codeset) = _code(@_);
- return undef if ($err ||
- ! defined $code);
-
- return Locale::Codes::_code2name("language",$code,$codeset);
-}
-
-#=======================================================================
-#
-# language2code ( LANGUAGE [,CODESET] )
-#
-#=======================================================================
-
-sub language2code {
- my($language,$codeset) = @_;
- my($err,$tmp);
- ($err,$tmp,$codeset) = _code("",$codeset);
- return undef if ($err ||
- ! defined $language);
-
- return Locale::Codes::_name2code("language",$language,$codeset);
-}
-
-#=======================================================================
-#
-# language_code2code ( CODE,CODESET_IN,CODESET_OUT )
-#
-#=======================================================================
-
-sub language_code2code {
- (@_ == 3) or croak "language_code2code() takes 3 arguments!";
- my($code,$inset,$outset) = @_;
- my($err,$tmp);
- ($err,$code,$inset) = _code($code,$inset);
- return undef if ($err);
- ($err,$tmp,$outset) = _code("",$outset);
- return undef if ($err);
-
- return Locale::Codes::_code2code("language",$code,$inset,$outset);
-}
-
-#=======================================================================
-#
-# all_language_codes ( [CODESET] )
-#
-#=======================================================================
-
-sub all_language_codes {
- my($codeset) = @_;
- my($err,$tmp);
- ($err,$tmp,$codeset) = _code("",$codeset);
- return undef if ($err);
-
- return Locale::Codes::_all_codes("language",$codeset);
-}
-
-
-#=======================================================================
-#
-# all_language_names ( [CODESET] )
-#
-#=======================================================================
-
-sub all_language_names {
- my($codeset) = @_;
- my($err,$tmp);
- ($err,$tmp,$codeset) = _code("",$codeset);
- return undef if ($err);
-
- return Locale::Codes::_all_names("language",$codeset);
+{
+ no strict 'refs';
+ @EXPORT = @{ $backend_exp };
}
-#=======================================================================
-#
-# rename_language ( CODE,NAME [,CODESET] )
-#
-#=======================================================================
-
-sub rename_language {
- my($code,$new_name,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
-
- return Locale::Codes::_rename("language",$code,$new_name,$codeset,$nowarn);
-}
+unshift (@ISA, $backend);
-#=======================================================================
-#
-# add_language ( CODE,NAME [,CODESET] )
-#
-#=======================================================================
-
-sub add_language {
- my($code,$name,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
-
- return Locale::Codes::_add_code("language",$code,$name,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_language ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub delete_language {
- my($code,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
-
- return Locale::Codes::_delete_code("language",$code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_language_alias ( NAME,NEW_NAME )
-#
-#=======================================================================
-
-sub add_language_alias {
- my($name,$new_name,$nowarn) = @_;
- $nowarn = (defined($nowarn) && $nowarn eq "nowarn" ? 1 : 0);
-
- return Locale::Codes::_add_alias("language",$name,$new_name,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_language_alias ( NAME )
-#
-#=======================================================================
-
-sub delete_language_alias {
- my($name,$nowarn) = @_;
- $nowarn = (defined($nowarn) && $nowarn eq "nowarn" ? 1 : 0);
-
- return Locale::Codes::_delete_alias("language",$name,$nowarn);
-}
-
-#=======================================================================
-#
-# rename_language_code ( CODE,NEW_CODE [,CODESET] )
-#
-#=======================================================================
-
-sub rename_language_code {
- my($code,$new_code,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
- ($err,$new_code,$codeset) = _code($new_code,$codeset) if (! $err);
-
- return Locale::Codes::_rename_code("language",$code,$new_code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_language_code_alias ( CODE,NEW_CODE [,CODESET] )
-#
-#=======================================================================
-
-sub add_language_code_alias {
- my($code,$new_code,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
- ($err,$new_code,$codeset) = _code($new_code,$codeset) if (! $err);
-
- return Locale::Codes::_add_code_alias("language",$code,$new_code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_language_code_alias ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub delete_language_code_alias {
- my($code,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
-
- return Locale::Codes::_delete_code_alias("language",$code,$codeset,$nowarn);
-}
+sub rename_language { Locale::Codes::Language::rename_language(@_) }
+sub add_language { Locale::Codes::Language::add_language(@_) }
+sub delete_language { Locale::Codes::Language::delete_language(@_) }
+sub add_language_alias { Locale::Codes::Language::add_language_alias(@_) }
+sub delete_language_alias { Locale::Codes::Language::delete_language_alias(@_) }
+sub rename_language_code { Locale::Codes::Language::rename_language_code(@_) }
+sub add_language_code_alias { Locale::Codes::Language::add_language_code_alias(@_) }
+sub delete_language_code_alias { Locale::Codes::Language::delete_language_code_alias(@_) }
1;
# Local Variables:
diff --git a/Master/tlpkg/tlperl/lib/Locale/Language.pod b/Master/tlpkg/tlperl/lib/Locale/Language.pod
index df9c1472fbd..c6a25032735 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Language.pod
+++ b/Master/tlpkg/tlperl/lib/Locale/Language.pod
@@ -26,33 +26,37 @@ specifies the code set to use. If not specified, the default ISO
=head1 SUPPORTED CODE SETS
There are several different code sets you can use for identifying
-languages. The ones currently supported are:
+languages. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
-=over 4
+For example, the two are equivalent:
+
+ $lang = code2language('en','alpha-2');
+ $lang = code2language('en',LOCALE_CODE_ALPHA_2);
+
+The codesets currently supported are:
-=item B<alpha-2>
+=over 4
-This is the set of two-letter (lowercase) codes from ISO 639, such
-as 'he' for Hebrew.
+=item B<alpha-2, LOCALE_LANG_ALPHA_2>
-This code set is identified with the symbol C<LOCALE_LANG_ALPHA_2>.
+This is the set of two-letter (lowercase) codes from ISO 639-1, such
+as 'he' for Hebrew. It also includes additions to this set included
+in the IANA language registry.
This is the default code set.
-=item B<alpha-3>
+=item B<alpha-3, LOCALE_LANG_ALPHA_3>
This is the set of three-letter (lowercase) bibliographic codes from
-ISO 639, such as 'heb' for Hebrew.
-
-This code set is identified with the symbol C<LOCALE_LANG_ALPHA_3>.
+ISO 639-2 and 639-5, such as 'heb' for Hebrew. It also includes
+additions to this set included in the IANA language registry.
-=item B<term>
+=item B<term, LOCALE_LANG_TERM>
This is the set of three-letter (lowercase) terminologic codes from
ISO 639.
-This code set is identified with the symbol C<LOCALE_LANG_TERM>.
-
=back
=head1 ROUTINES
@@ -85,7 +89,7 @@ This code set is identified with the symbol C<LOCALE_LANG_TERM>.
=item B<Locale::Language::delete_language_code_alias ( CODE [,CODESET] )>
-These routines are all documented in the Locale::Codes man page.
+These routines are all documented in the Locale::Codes::API man page.
=back
@@ -95,11 +99,23 @@ These routines are all documented in the Locale::Codes man page.
=item B<Locale::Codes>
-=item B<Locale::Constants>
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
=item B<http://www.loc.gov/standards/iso639-2/>
-Source of the ISO 639 codes.
+Source of the ISO 639-2 codes.
+
+=item B<http://www.loc.gov/standards/iso639-5/>
+
+Source of the ISO 639-5 codes.
+
+=item B<http://www.iana.org/assignments/language-subtag-registry>
+
+The IANA language subtag registry.
=back
@@ -113,7 +129,7 @@ Currently maintained by Sullivan Beck (sbeck@cpan.org).
Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
Copyright (c) 2001-2010 Neil Bowers
- Copyright (c) 2010-2011 Sullivan Beck
+ Copyright (c) 2010-2012 Sullivan Beck
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Locale/Maketext.pm b/Master/tlpkg/tlperl/lib/Locale/Maketext.pm
index af5d21a78a9..7e06b305b28 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Maketext.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Maketext.pm
@@ -27,7 +27,7 @@ BEGIN {
}
-$VERSION = '1.19';
+$VERSION = '1.22';
@ISA = ();
$MATCH_SUPERS = 1;
diff --git a/Master/tlpkg/tlperl/lib/Locale/Maketext.pod b/Master/tlpkg/tlperl/lib/Locale/Maketext.pod
index 14b47c884e8..3ef9c3a5a9b 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Maketext.pod
+++ b/Master/tlpkg/tlperl/lib/Locale/Maketext.pod
@@ -166,7 +166,8 @@ file, you might consider something like this in your project class:
my $lh;
if($chosen_language) {
$lh = $class->get_handle($chosen_language)
- || die "No language handle for \"$chosen_language\" or the like";
+ || die "No language handle for \"$chosen_language\""
+ . " or the like";
} else {
# Config file missing, maybe?
$lh = $class->get_handle()
@@ -385,6 +386,14 @@ entirely.
Note that numf is called by quant for stringifying all quantifying
numbers.
+=item $language->numerate($number, $singular, $plural, $negative)
+
+This returns the given noun form which is appropriate for the quantity
+C<$number> according to this language's conventions. C<numerate> is
+used internally by C<quant> to quantify nouns. Use it directly --
+usually from bracket notation -- to avoid C<quant>'s implicit call to
+C<numf> and output of a numeric quantity.
+
=item $language->sprintf($format, @items)
This is just a wrapper around Perl's normal C<sprintf> function.
@@ -1244,7 +1253,7 @@ to infer the plural form from the singular.
But for other languages (as is discussed at length
in L<Locale::Maketext::TPJ13|Locale::Maketext::TPJ13>), simple
-C<quant>/C<numerify> is not enough. For the particularly problematic
+C<quant>/C<numf> is not enough. For the particularly problematic
Slavic languages, what you may need is a method which you provide
with the number, the citation form of the noun to quantify, and
the case and gender that the sentence's syntax projects onto that
diff --git a/Master/tlpkg/tlperl/lib/Locale/Maketext/Guts.pm b/Master/tlpkg/tlperl/lib/Locale/Maketext/Guts.pm
index 75c993caee5..9e78c7e0b54 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Maketext/Guts.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Maketext/Guts.pm
@@ -2,7 +2,7 @@ package Locale::Maketext::Guts;
use Locale::Maketext;
-our $VERSION = '1.17';
+our $VERSION = '1.20';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/Locale/Maketext/GutsLoader.pm b/Master/tlpkg/tlperl/lib/Locale/Maketext/GutsLoader.pm
index 858fcf7663a..35a71ab5094 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Maketext/GutsLoader.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Maketext/GutsLoader.pm
@@ -2,7 +2,7 @@ package Locale::Maketext::GutsLoader;
use Locale::Maketext;
-our $VERSION = '1.17';
+our $VERSION = '1.20';
sub zorp { return scalar @_ }
diff --git a/Master/tlpkg/tlperl/lib/Locale/Maketext/TPJ13.pod b/Master/tlpkg/tlperl/lib/Locale/Maketext/TPJ13.pod
index 0bbe6e33d22..b9586b2cbf4 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Maketext/TPJ13.pod
+++ b/Master/tlpkg/tlperl/lib/Locale/Maketext/TPJ13.pod
@@ -750,12 +750,12 @@ morphology and pedagogy of North American native languages.
Alvestrand, Harald Tveit. 1995. I<RFC 1766: Tags for the
Identification of Languages.>
-C<ftp://ftp.isi.edu/in-notes/rfc1766.txt>
+C<http://www.ietf.org/rfc/rfc1766.txt>
[Now see RFC 3066.]
Callon, Ross, editor. 1996. I<RFC 1925: The Twelve
Networking Truths.>
-C<ftp://ftp.isi.edu/in-notes/rfc1925.txt>
+C<http://www.ietf.org/rfc/rfc1925.txt>
Drepper, Ulrich, Peter Miller,
and FranE<ccedil>ois Pinard. 1995-2001. GNU
diff --git a/Master/tlpkg/tlperl/lib/Locale/Script.pm b/Master/tlpkg/tlperl/lib/Locale/Script.pm
index e83ad23c059..d389149fd93 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Script.pm
+++ b/Master/tlpkg/tlperl/lib/Locale/Script.pm
@@ -1,275 +1,39 @@
package Locale::Script;
# Copyright (C) 2001 Canon Research Centre Europe (CRE).
# Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2011 Sullivan Beck
+# Copyright (c) 2010-2012 Sullivan Beck
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
use strict;
use warnings;
-require 5.002;
+use Exporter;
-require Exporter;
-use Carp;
-use Locale::Codes;
-use Locale::Constants;
-use Locale::Codes::Script;
+our $VERSION;
+$VERSION='3.21';
-#=======================================================================
-# Public Global Variables
-#=======================================================================
+our (@ISA,@EXPORT);
-our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
+my $backend = 'Locale::Codes::Script';
+my $backend_exp = $backend . "::EXPORT";
-$VERSION='3.16';
-@ISA = qw(Exporter);
-@EXPORT = qw(code2script
- script2code
- all_script_codes
- all_script_names
- script_code2code
- LOCALE_SCRIPT_ALPHA
- LOCALE_SCRIPT_NUMERIC
- );
+eval "require $backend; $backend->import(); return 1;";
-sub _code {
- my($code,$codeset) = @_;
- $code = "" if (! $code);
-
- $codeset = LOCALE_SCRIPT_DEFAULT if (! defined($codeset) || $codeset eq "");
-
- if ($codeset =~ /^\d+$/) {
- if ($codeset == LOCALE_SCRIPT_ALPHA) {
- $codeset = "alpha";
- } elsif ($codeset == LOCALE_SCRIPT_NUMERIC) {
- $codeset = "num";
- } else {
- return (1);
- }
- }
-
- if ($codeset eq "alpha") {
- $code = ucfirst(lc($code));
- } elsif ($codeset eq "num") {
- if (defined($code) && $code ne "") {
- return (1) unless ($code =~ /^\d+$/);
- $code = sprintf("%.3d", $code);
- }
- } else {
- return (1);
- }
-
- return (0,$code,$codeset);
-}
-
-#=======================================================================
-#
-# code2script ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub code2script {
- my($err,$code,$codeset) = _code(@_);
- return undef if ($err ||
- ! defined $code);
-
- return Locale::Codes::_code2name("script",$code,$codeset);
-}
-
-#=======================================================================
-#
-# script2code ( SCRIPT [,CODESET] )
-#
-#=======================================================================
-
-sub script2code {
- my($script,$codeset) = @_;
- my($err,$tmp);
- ($err,$tmp,$codeset) = _code("",$codeset);
- return undef if ($err ||
- ! defined $script);
-
- return Locale::Codes::_name2code("script",$script,$codeset);
-}
-
-#=======================================================================
-#
-# script_code2code ( CODE,CODESET_IN,CODESET_OUT )
-#
-#=======================================================================
-
-sub script_code2code {
- (@_ == 3) or croak "script_code2code() takes 3 arguments!";
- my($code,$inset,$outset) = @_;
- my($err,$tmp);
- ($err,$code,$inset) = _code($code,$inset);
- return undef if ($err);
- ($err,$tmp,$outset) = _code("",$outset);
- return undef if ($err);
-
- return Locale::Codes::_code2code("script",$code,$inset,$outset);
-}
-
-#=======================================================================
-#
-# all_script_codes ( [CODESET] )
-#
-#=======================================================================
-
-sub all_script_codes {
- my($codeset) = @_;
- my($err,$tmp);
- ($err,$tmp,$codeset) = _code("",$codeset);
- return undef if ($err);
-
- return Locale::Codes::_all_codes("script",$codeset);
-}
-
-
-#=======================================================================
-#
-# all_script_names ( [CODESET] )
-#
-#=======================================================================
-
-sub all_script_names {
- my($codeset) = @_;
- my($err,$tmp);
- ($err,$tmp,$codeset) = _code("",$codeset);
- return undef if ($err);
-
- return Locale::Codes::_all_names("script",$codeset);
+{
+ no strict 'refs';
+ @EXPORT = @{ $backend_exp };
}
-#=======================================================================
-#
-# rename_script ( CODE,NAME [,CODESET] )
-#
-#=======================================================================
-
-sub rename_script {
- my($code,$new_name,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
-
- return Locale::Codes::_rename("script",$code,$new_name,$codeset,$nowarn);
-}
+unshift (@ISA, $backend);
-#=======================================================================
-#
-# add_script ( CODE,NAME [,CODESET] )
-#
-#=======================================================================
-
-sub add_script {
- my($code,$name,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
-
- return Locale::Codes::_add_code("script",$code,$name,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_script ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub delete_script {
- my($code,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
-
- return Locale::Codes::_delete_code("script",$code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_script_alias ( NAME,NEW_NAME )
-#
-#=======================================================================
-
-sub add_script_alias {
- my($name,$new_name,$nowarn) = @_;
- $nowarn = (defined($nowarn) && $nowarn eq "nowarn" ? 1 : 0);
-
- return Locale::Codes::_add_alias("script",$name,$new_name,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_script_alias ( NAME )
-#
-#=======================================================================
-
-sub delete_script_alias {
- my($name,$nowarn) = @_;
- $nowarn = (defined($nowarn) && $nowarn eq "nowarn" ? 1 : 0);
-
- return Locale::Codes::_delete_alias("script",$name,$nowarn);
-}
-
-#=======================================================================
-#
-# rename_script_code ( CODE,NEW_CODE [,CODESET] )
-#
-#=======================================================================
-
-sub rename_script_code {
- my($code,$new_code,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
- ($err,$new_code,$codeset) = _code($new_code,$codeset) if (! $err);
-
- return Locale::Codes::_rename_code("script",$code,$new_code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_script_code_alias ( CODE,NEW_CODE [,CODESET] )
-#
-#=======================================================================
-
-sub add_script_code_alias {
- my($code,$new_code,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
- ($err,$new_code,$codeset) = _code($new_code,$codeset) if (! $err);
-
- return Locale::Codes::_add_code_alias("script",$code,$new_code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_script_code_alias ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub delete_script_code_alias {
- my($code,@args) = @_;
- my $nowarn = 0;
- $nowarn = 1, pop(@args) if ($args[$#args] eq "nowarn");
- my $codeset = shift(@args);
- my $err;
- ($err,$code,$codeset) = _code($code,$codeset);
-
- return Locale::Codes::_delete_code_alias("script",$code,$codeset,$nowarn);
-}
+sub rename_script { Locale::Codes::Script::rename_script(@_) }
+sub add_script { Locale::Codes::Script::add_script(@_) }
+sub delete_script { Locale::Codes::Script::delete_script(@_) }
+sub add_script_alias { Locale::Codes::Script::add_script_alias(@_) }
+sub delete_script_alias { Locale::Codes::Script::delete_script_alias(@_) }
+sub rename_script_code { Locale::Codes::Script::rename_script_code(@_) }
+sub add_script_code_alias { Locale::Codes::Script::add_script_code_alias(@_) }
+sub delete_script_code_alias { Locale::Codes::Script::delete_script_code_alias(@_) }
1;
# Local Variables:
diff --git a/Master/tlpkg/tlperl/lib/Locale/Script.pod b/Master/tlpkg/tlperl/lib/Locale/Script.pod
index c4c9d745bfe..0afb533601e 100644
--- a/Master/tlpkg/tlperl/lib/Locale/Script.pod
+++ b/Master/tlpkg/tlperl/lib/Locale/Script.pod
@@ -28,28 +28,33 @@ specifies the code set to use. If not specified, the default ISO
=head1 SUPPORTED CODE SETS
There are several different code sets you can use for identifying
-scripts. The ones currently supported are:
+scripts. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
+
+For example, the two are equivalent:
+
+ $script = code2script('phnx','alpha');
+ $script = code2script('phnx',LOCALE_SCRIPT_ALPHA);
+
+The codesets currently supported are:
=over 4
-=item B<alpha>
+=item B<alpha, LOCALE_SCRIPT_ALPHA>
This is a set of four-letter (capitalized) codes from ISO 15924
-such as 'Phnx' for Phoenician.
-
-This code set is identified with the symbol C<LOCALE_SCRIPT_ALPHA>.
+such as 'Phnx' for Phoenician. It also includes additions to this
+set included in the IANA language registry.
The Zxxx, Zyyy, and Zzzz codes are not used.
This is the default code set.
-=item B<numeric>
+=item B<num, LOCALE_SCRIPT_NUMERIC>
This is a set of three-digit numeric codes from ISO 15924 such as 115
for Phoenician.
-This code set is identified with the symbol C<LOCALE_SCRIPT_NUMERIC>.
-
=back
=head1 ROUTINES
@@ -82,7 +87,7 @@ This code set is identified with the symbol C<LOCALE_SCRIPT_NUMERIC>.
=item B<Locale::Script::delete_script_code_alias ( CODE [,CODESET] )>
-These routines are all documented in the Locale::Codes man page.
+These routines are all documented in the Locale::Codes::API man page.
=back
@@ -92,12 +97,20 @@ These routines are all documented in the Locale::Codes man page.
=item B<Locale::Codes>
-=item B<Locale::Constants>
+The Locale-Codes distribution.
+
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
=item B<http://www.unicode.org/iso15924/>
Home page for ISO 15924.
+=item B<http://www.iana.org/assignments/language-subtag-registry>
+
+The IANA language subtag registry.
+
=back
=head1 AUTHOR
@@ -110,7 +123,7 @@ Currently maintained by Sullivan Beck (sbeck@cpan.org).
Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
Copyright (c) 2001-2010 Neil Bowers
- Copyright (c) 2010-2011 Sullivan Beck
+ Copyright (c) 2010-2012 Sullivan Beck
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Math/BigFloat.pm b/Master/tlpkg/tlperl/lib/Math/BigFloat.pm
index 06a6e48417c..c860582d6dc 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigFloat.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigFloat.pm
@@ -12,7 +12,7 @@ package Math::BigFloat;
# _a : accuracy
# _p : precision
-$VERSION = '1.993';
+$VERSION = '1.997';
require 5.006002;
require Exporter;
@@ -437,10 +437,10 @@ sub bsstr
sub numify
{
- # Make a number from a BigFloat object
- # simple return a string and let Perl's atoi()/atof() handle the rest
+ # Convert a Perl scalar number from a BigFloat object.
+ # Create a string and let Perl's atoi()/atof() handle the rest.
my ($self,$x) = ref($_[0]) ? (undef,$_[0]) : objectify(1,@_);
- $x->bsstr();
+ return 0 + $x->bsstr();
}
##############################################################################
@@ -3816,122 +3816,122 @@ Math::BigFloat - Arbitrary size floating point math package
=head1 SYNOPSIS
- use Math::BigFloat;
-
- # Number creation
- my $x = Math::BigFloat->new($str); # defaults to 0
- my $y = $x->copy(); # make a true copy
- my $nan = Math::BigFloat->bnan(); # create a NotANumber
- my $zero = Math::BigFloat->bzero(); # create a +0
- my $inf = Math::BigFloat->binf(); # create a +inf
- my $inf = Math::BigFloat->binf('-'); # create a -inf
- my $one = Math::BigFloat->bone(); # create a +1
- my $mone = Math::BigFloat->bone('-'); # create a -1
-
- my $pi = Math::BigFloat->bpi(100); # PI to 100 digits
-
- # the following examples compute their result to 100 digits accuracy:
- my $cos = Math::BigFloat->new(1)->bcos(100); # cosinus(1)
- my $sin = Math::BigFloat->new(1)->bsin(100); # sinus(1)
- my $atan = Math::BigFloat->new(1)->batan(100); # arcus tangens(1)
-
- my $atan2 = Math::BigFloat->new( 1 )->batan2( 1 ,100); # batan(1)
- my $atan2 = Math::BigFloat->new( 1 )->batan2( 8 ,100); # batan(1/8)
- my $atan2 = Math::BigFloat->new( -2 )->batan2( 1 ,100); # batan(-2)
-
- # Testing
- $x->is_zero(); # true if arg is +0
- $x->is_nan(); # true if arg is NaN
- $x->is_one(); # true if arg is +1
- $x->is_one('-'); # true if arg is -1
- $x->is_odd(); # true if odd, false for even
- $x->is_even(); # true if even, false for odd
- $x->is_pos(); # true if >= 0
- $x->is_neg(); # true if < 0
- $x->is_inf(sign); # true if +inf, or -inf (default is '+')
-
- $x->bcmp($y); # compare numbers (undef,<0,=0,>0)
- $x->bacmp($y); # compare absolutely (undef,<0,=0,>0)
- $x->sign(); # return the sign, either +,- or NaN
- $x->digit($n); # return the nth digit, counting from right
- $x->digit(-$n); # return the nth digit, counting from left
-
- # The following all modify their first argument. If you want to preserve
- # $x, use $z = $x->copy()->bXXX($y); See under L<CAVEATS> for why this is
- # necessary when mixing $a = $b assignments with non-overloaded math.
-
- # set
- $x->bzero(); # set $i to 0
- $x->bnan(); # set $i to NaN
- $x->bone(); # set $x to +1
- $x->bone('-'); # set $x to -1
- $x->binf(); # set $x to inf
- $x->binf('-'); # set $x to -inf
-
- $x->bneg(); # negation
- $x->babs(); # absolute value
- $x->bnorm(); # normalize (no-op)
- $x->bnot(); # two's complement (bit wise not)
- $x->binc(); # increment x by 1
- $x->bdec(); # decrement x by 1
-
- $x->badd($y); # addition (add $y to $x)
- $x->bsub($y); # subtraction (subtract $y from $x)
- $x->bmul($y); # multiplication (multiply $x by $y)
- $x->bdiv($y); # divide, set $x to quotient
- # return (quo,rem) or quo if scalar
-
- $x->bmod($y); # modulus ($x % $y)
- $x->bpow($y); # power of arguments ($x ** $y)
- $x->bmodpow($exp,$mod); # modular exponentiation (($num**$exp) % $mod))
- $x->blsft($y, $n); # left shift by $y places in base $n
- $x->brsft($y, $n); # right shift by $y places in base $n
- # returns (quo,rem) or quo if in scalar context
-
- $x->blog(); # logarithm of $x to base e (Euler's number)
- $x->blog($base); # logarithm of $x to base $base (f.i. 2)
- $x->bexp(); # calculate e ** $x where e is Euler's number
-
- $x->band($y); # bit-wise and
- $x->bior($y); # bit-wise inclusive or
- $x->bxor($y); # bit-wise exclusive or
- $x->bnot(); # bit-wise not (two's complement)
-
- $x->bsqrt(); # calculate square-root
- $x->broot($y); # $y'th root of $x (e.g. $y == 3 => cubic root)
- $x->bfac(); # factorial of $x (1*2*3*4*..$x)
-
- $x->bround($N); # accuracy: preserve $N digits
- $x->bfround($N); # precision: round to the $Nth digit
-
- $x->bfloor(); # return integer less or equal than $x
- $x->bceil(); # return integer greater or equal than $x
+ use Math::BigFloat;
+
+ # Number creation
+ my $x = Math::BigFloat->new($str); # defaults to 0
+ my $y = $x->copy(); # make a true copy
+ my $nan = Math::BigFloat->bnan(); # create a NotANumber
+ my $zero = Math::BigFloat->bzero(); # create a +0
+ my $inf = Math::BigFloat->binf(); # create a +inf
+ my $inf = Math::BigFloat->binf('-'); # create a -inf
+ my $one = Math::BigFloat->bone(); # create a +1
+ my $mone = Math::BigFloat->bone('-'); # create a -1
+
+ my $pi = Math::BigFloat->bpi(100); # PI to 100 digits
+
+ # the following examples compute their result to 100 digits accuracy:
+ my $cos = Math::BigFloat->new(1)->bcos(100); # cosinus(1)
+ my $sin = Math::BigFloat->new(1)->bsin(100); # sinus(1)
+ my $atan = Math::BigFloat->new(1)->batan(100); # arcus tangens(1)
+
+ my $atan2 = Math::BigFloat->new( 1 )->batan2( 1 ,100); # batan(1)
+ my $atan2 = Math::BigFloat->new( 1 )->batan2( 8 ,100); # batan(1/8)
+ my $atan2 = Math::BigFloat->new( -2 )->batan2( 1 ,100); # batan(-2)
+
+ # Testing
+ $x->is_zero(); # true if arg is +0
+ $x->is_nan(); # true if arg is NaN
+ $x->is_one(); # true if arg is +1
+ $x->is_one('-'); # true if arg is -1
+ $x->is_odd(); # true if odd, false for even
+ $x->is_even(); # true if even, false for odd
+ $x->is_pos(); # true if >= 0
+ $x->is_neg(); # true if < 0
+ $x->is_inf(sign); # true if +inf, or -inf (default is '+')
+
+ $x->bcmp($y); # compare numbers (undef,<0,=0,>0)
+ $x->bacmp($y); # compare absolutely (undef,<0,=0,>0)
+ $x->sign(); # return the sign, either +,- or NaN
+ $x->digit($n); # return the nth digit, counting from right
+ $x->digit(-$n); # return the nth digit, counting from left
+
+ # The following all modify their first argument. If you want to pre-
+ # serve $x, use $z = $x->copy()->bXXX($y); See under L</CAVEATS> for
+ # necessary when mixing $a = $b assignments with non-overloaded math.
+
+ # set
+ $x->bzero(); # set $i to 0
+ $x->bnan(); # set $i to NaN
+ $x->bone(); # set $x to +1
+ $x->bone('-'); # set $x to -1
+ $x->binf(); # set $x to inf
+ $x->binf('-'); # set $x to -inf
+
+ $x->bneg(); # negation
+ $x->babs(); # absolute value
+ $x->bnorm(); # normalize (no-op)
+ $x->bnot(); # two's complement (bit wise not)
+ $x->binc(); # increment x by 1
+ $x->bdec(); # decrement x by 1
+
+ $x->badd($y); # addition (add $y to $x)
+ $x->bsub($y); # subtraction (subtract $y from $x)
+ $x->bmul($y); # multiplication (multiply $x by $y)
+ $x->bdiv($y); # divide, set $x to quotient
+ # return (quo,rem) or quo if scalar
+
+ $x->bmod($y); # modulus ($x % $y)
+ $x->bpow($y); # power of arguments ($x ** $y)
+ $x->bmodpow($exp,$mod); # modular exponentiation (($num**$exp) % $mod))
+ $x->blsft($y, $n); # left shift by $y places in base $n
+ $x->brsft($y, $n); # right shift by $y places in base $n
+ # returns (quo,rem) or quo if in scalar context
+
+ $x->blog(); # logarithm of $x to base e (Euler's number)
+ $x->blog($base); # logarithm of $x to base $base (f.i. 2)
+ $x->bexp(); # calculate e ** $x where e is Euler's number
+
+ $x->band($y); # bit-wise and
+ $x->bior($y); # bit-wise inclusive or
+ $x->bxor($y); # bit-wise exclusive or
+ $x->bnot(); # bit-wise not (two's complement)
+
+ $x->bsqrt(); # calculate square-root
+ $x->broot($y); # $y'th root of $x (e.g. $y == 3 => cubic root)
+ $x->bfac(); # factorial of $x (1*2*3*4*..$x)
+
+ $x->bround($N); # accuracy: preserve $N digits
+ $x->bfround($N); # precision: round to the $Nth digit
+
+ $x->bfloor(); # return integer less or equal than $x
+ $x->bceil(); # return integer greater or equal than $x
# The following do not modify their arguments:
- bgcd(@values); # greatest common divisor
- blcm(@values); # lowest common multiplicator
+ bgcd(@values); # greatest common divisor
+ blcm(@values); # lowest common multiplicator
- $x->bstr(); # return string
- $x->bsstr(); # return string in scientific notation
+ $x->bstr(); # return string
+ $x->bsstr(); # return string in scientific notation
- $x->as_int(); # return $x as BigInt
- $x->exponent(); # return exponent as BigInt
- $x->mantissa(); # return mantissa as BigInt
- $x->parts(); # return (mantissa,exponent) as BigInt
+ $x->as_int(); # return $x as BigInt
+ $x->exponent(); # return exponent as BigInt
+ $x->mantissa(); # return mantissa as BigInt
+ $x->parts(); # return (mantissa,exponent) as BigInt
- $x->length(); # number of digits (w/o sign and '.')
- ($l,$f) = $x->length(); # number of digits, and length of fraction
+ $x->length(); # number of digits (w/o sign and '.')
+ ($l,$f) = $x->length(); # number of digits, and length of fraction
- $x->precision(); # return P of $x (or global, if P of $x undef)
- $x->precision($n); # set P of $x to $n
- $x->accuracy(); # return A of $x (or global, if A of $x undef)
- $x->accuracy($n); # set A $x to $n
+ $x->precision(); # return P of $x (or global, if P of $x undef)
+ $x->precision($n); # set P of $x to $n
+ $x->accuracy(); # return A of $x (or global, if A of $x undef)
+ $x->accuracy($n); # set A $x to $n
- # these get/set the appropriate global value for all BigFloat objects
- Math::BigFloat->precision(); # Precision
- Math::BigFloat->accuracy(); # Accuracy
- Math::BigFloat->round_mode(); # rounding mode
+ # these get/set the appropriate global value for all BigFloat objects
+ Math::BigFloat->precision(); # Precision
+ Math::BigFloat->accuracy(); # Accuracy
+ Math::BigFloat->round_mode(); # rounding mode
=head1 DESCRIPTION
@@ -4023,7 +4023,7 @@ This might change in the future, so do not depend on it.
=head2 Accuracy vs. Precision
-See also: L<Rounding|Rounding>.
+See also: L<Rounding|/Rounding>.
Math::BigFloat supports both precision (rounding to a certain place before or
after the dot) and accuracy (rounding to a certain number of digits). For a
@@ -4040,8 +4040,8 @@ input $x has no accuracy or precision set, then a fallback parameter will
be used. For historical reasons, it is called C<div_scale> and can be accessed
via:
- $d = Math::BigFloat->div_scale(); # query
- Math::BigFloat->div_scale($n); # set to $n digits
+ $d = Math::BigFloat->div_scale(); # query
+ Math::BigFloat->div_scale($n); # set to $n digits
The default value for C<div_scale> is 40.
@@ -4049,13 +4049,13 @@ In case the result of one operation has more digits than specified,
it is rounded. The rounding mode taken is either the default mode, or the one
supplied to the operation after the I<scale>:
- $x = Math::BigFloat->new(2);
- Math::BigFloat->accuracy(5); # 5 digits max
- $y = $x->copy()->bdiv(3); # will give 0.66667
- $y = $x->copy()->bdiv(3,6); # will give 0.666667
- $y = $x->copy()->bdiv(3,6,undef,'odd'); # will give 0.666667
- Math::BigFloat->round_mode('zero');
- $y = $x->copy()->bdiv(3,6); # will also give 0.666667
+ $x = Math::BigFloat->new(2);
+ Math::BigFloat->accuracy(5); # 5 digits max
+ $y = $x->copy()->bdiv(3); # will give 0.66667
+ $y = $x->copy()->bdiv(3,6); # will give 0.666667
+ $y = $x->copy()->bdiv(3,6,undef,'odd'); # will give 0.666667
+ Math::BigFloat->round_mode('zero');
+ $y = $x->copy()->bdiv(3,6); # will also give 0.666667
Note that C<< Math::BigFloat->accuracy() >> and C<< Math::BigFloat->precision() >>
set the global variables, and thus B<any> newly created number will be subject
@@ -4138,12 +4138,12 @@ differences:
=head2 accuracy
- $x->accuracy(5); # local for $x
- CLASS->accuracy(5); # global for all members of CLASS
- # Note: This also applies to new()!
+ $x->accuracy(5); # local for $x
+ CLASS->accuracy(5); # global for all members of CLASS
+ # Note: This also applies to new()!
- $A = $x->accuracy(); # read out accuracy that affects $x
- $A = CLASS->accuracy(); # read out global accuracy
+ $A = $x->accuracy(); # read out accuracy that affects $x
+ $A = CLASS->accuracy(); # read out global accuracy
Set or get the global or local accuracy, aka how many significant digits the
results have. If you set a global accuracy, then this also applies to new()!
@@ -4153,7 +4153,7 @@ influence of C<< CLASS->accuracy($A) >>, all results from math operations with
that number will also be rounded.
In most cases, you should probably round the results explicitly using one of
-L<round()>, L<bround()> or L<bfround()> or by passing the desired accuracy
+L<Math::BigInt/round()>, L<Math::BigInt/bround()> or L<Math::BigInt/bfround()> or by passing the desired accuracy
to the math operation as additional parameter:
my $x = Math::BigInt->new(30000);
@@ -4163,18 +4163,20 @@ to the math operation as additional parameter:
=head2 precision()
- $x->precision(-2); # local for $x, round at the second digit right of the dot
- $x->precision(2); # ditto, round at the second digit left of the dot
+ $x->precision(-2); # local for $x, round at the second
+ # digit right of the dot
+ $x->precision(2); # ditto, round at the second digit left
+ # of the dot
CLASS->precision(5); # Global for all members of CLASS
# This also applies to new()!
CLASS->precision(-5); # ditto
- $P = CLASS->precision(); # read out global precision
- $P = $x->precision(); # read out precision that affects $x
+ $P = CLASS->precision(); # read out global precision
+ $P = $x->precision(); # read out precision that affects $x
-Note: You probably want to use L<accuracy()> instead. With L<accuracy> you
-set the number of digits each result should have, with L<precision> you
+Note: You probably want to use L</accuracy> instead. With L</accuracy> you
+set the number of digits each result should have, with L</precision()> you
set the place where to round!
=head2 bexp()
@@ -4187,7 +4189,7 @@ This method was added in v1.82 of Math::BigInt (April 2007).
=head2 bnok()
- $x->bnok($y); # x over y (binomial coefficient n over k)
+ $x->bnok($y); # x over y (binomial coefficient n over k)
Calculates the binomial coefficient n over k, also called the "choose"
function. The result is equivalent to:
@@ -4232,7 +4234,7 @@ This method was added in v1.87 of Math::BigInt (June 2007).
print $y->batan2($x), "\n";
Calculate the arcus tanges of C<$y> divided by C<$x>, modifying $y in place.
-See also L<batan()>.
+See also L</batan()>.
This method was added in v1.87 of Math::BigInt (June 2007).
@@ -4241,7 +4243,7 @@ This method was added in v1.87 of Math::BigInt (June 2007).
my $x = Math::BigFloat->new(1);
print $x->batan(100), "\n";
-Calculate the arcus tanges of $x, modifying $x in place. See also L<batan2()>.
+Calculate the arcus tanges of $x, modifying $x in place. See also L</batan2()>.
This method was added in v1.87 of Math::BigInt (June 2007).
@@ -4351,10 +4353,10 @@ Please see the file BUGS in the CPAN distribution Math::BigInt for known bugs.
Do not try to be clever to insert some operations in between switching
libraries:
- require Math::BigFloat;
- my $matter = Math::BigFloat->bone() + 4; # load BigInt and Calc
- Math::BigFloat->import( lib => 'Pari' ); # load Pari, too
- my $anti_matter = Math::BigFloat->bone()+4; # now use Pari
+ require Math::BigFloat;
+ my $matter = Math::BigFloat->bone() + 4; # load BigInt and Calc
+ Math::BigFloat->import( lib => 'Pari' ); # load Pari, too
+ my $anti_matter = Math::BigFloat->bone()+4; # now use Pari
This will create objects with numbers stored in two different backend libraries,
and B<VERY BAD THINGS> will happen when you use these together:
@@ -4378,8 +4380,8 @@ The following will probably not print what you expect:
It prints both quotient and remainder since print works in list context. Also,
bdiv() will modify $c, so be careful. You probably want to use
- print $c / 123.456,"\n";
- print scalar $c->bdiv(123.456),"\n"; # or if you want to modify $c
+ print $c / 123.456,"\n";
+ print scalar $c->bdiv(123.456),"\n"; # or if you want to modify $c
instead.
@@ -4424,42 +4426,44 @@ C<badd()> etc. The first will modify $x, the second one won't:
=item precision() vs. accuracy()
-A common pitfall is to use L<precision()> when you want to round a result to
+A common pitfall is to use L</precision()> when you want to round a result to
a certain number of digits:
- use Math::BigFloat;
+ use Math::BigFloat;
- Math::BigFloat->precision(4); # does not do what you think it does
- my $x = Math::BigFloat->new(12345); # rounds $x to "12000"!
- print "$x\n"; # print "12000"
- my $y = Math::BigFloat->new(3); # rounds $y to "0"!
- print "$y\n"; # print "0"
- $z = $x / $y; # 12000 / 0 => NaN!
- print "$z\n";
- print $z->precision(),"\n"; # 4
+ Math::BigFloat->precision(4); # does not do what you
+ # think it does
+ my $x = Math::BigFloat->new(12345); # rounds $x to "12000"!
+ print "$x\n"; # print "12000"
+ my $y = Math::BigFloat->new(3); # rounds $y to "0"!
+ print "$y\n"; # print "0"
+ $z = $x / $y; # 12000 / 0 => NaN!
+ print "$z\n";
+ print $z->precision(),"\n"; # 4
-Replacing L<precision> with L<accuracy> is probably not what you want, either:
+Replacing L</precision()> with L</accuracy> is probably not what you want, either:
- use Math::BigFloat;
+ use Math::BigFloat;
- Math::BigFloat->accuracy(4); # enables global rounding:
- my $x = Math::BigFloat->new(123456); # rounded immediately to "12350"
- print "$x\n"; # print "123500"
- my $y = Math::BigFloat->new(3); # rounded to "3
- print "$y\n"; # print "3"
- print $z = $x->copy()->bdiv($y),"\n"; # 41170
- print $z->accuracy(),"\n"; # 4
+ Math::BigFloat->accuracy(4); # enables global rounding:
+ my $x = Math::BigFloat->new(123456); # rounded immediately
+ # to "12350"
+ print "$x\n"; # print "123500"
+ my $y = Math::BigFloat->new(3); # rounded to "3
+ print "$y\n"; # print "3"
+ print $z = $x->copy()->bdiv($y),"\n"; # 41170
+ print $z->accuracy(),"\n"; # 4
What you want to use instead is:
- use Math::BigFloat;
+ use Math::BigFloat;
- my $x = Math::BigFloat->new(123456); # no rounding
- print "$x\n"; # print "123456"
- my $y = Math::BigFloat->new(3); # no rounding
- print "$y\n"; # print "3"
- print $z = $x->copy()->bdiv($y,4),"\n"; # 41150
- print $z->accuracy(),"\n"; # undef
+ my $x = Math::BigFloat->new(123456); # no rounding
+ print "$x\n"; # print "123456"
+ my $y = Math::BigFloat->new(3); # no rounding
+ print "$y\n"; # print "3"
+ print $z = $x->copy()->bdiv($y,4),"\n"; # 41150
+ print $z->accuracy(),"\n"; # undef
In addition to computing what you expected, the last example also does B<not>
"taint" the result with an accuracy or precision setting, which would
diff --git a/Master/tlpkg/tlperl/lib/Math/BigFloat/Trace.pm b/Master/tlpkg/tlperl/lib/Math/BigFloat/Trace.pm
index 871b2a969e8..5e1636e59d0 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigFloat/Trace.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigFloat/Trace.pm
@@ -12,7 +12,7 @@ use vars qw($VERSION @ISA $PACKAGE @EXPORT_OK
@ISA = qw(Exporter Math::BigFloat);
-$VERSION = 0.01;
+$VERSION = '0.29';
use overload; # inherit overload from BigFloat
diff --git a/Master/tlpkg/tlperl/lib/Math/BigInt.pm b/Master/tlpkg/tlperl/lib/Math/BigInt.pm
index 62c021ecf71..3f55c9b551e 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigInt.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigInt.pm
@@ -18,7 +18,7 @@ package Math::BigInt;
my $class = "Math::BigInt";
use 5.006002;
-$VERSION = '1.994';
+$VERSION = '1.998';
@ISA = qw(Exporter);
@EXPORT_OK = qw(objectify bgcd blcm);
@@ -40,6 +40,8 @@ use strict;
# Thus inheritance of overload operators becomes possible and transparent for
# our subclasses without the need to repeat the entire overload section there.
+# We register ops that are not registerable yet, so suppress warnings
+{ no warnings;
use overload
'=' => sub { $_[0]->copy(); },
@@ -151,6 +153,7 @@ use overload
'""' => sub { $_[0]->bstr(); },
'0+' => sub { $_[0]->numify(); }
;
+} # no warnings scope
##############################################################################
# global constants, flags and accessory
@@ -1013,6 +1016,18 @@ sub babs
$x;
}
+sub bsgn {
+ # Signum function.
+
+ my $self = shift;
+
+ return $self if $self->modify('bsgn');
+
+ return $self -> bone("+") if $self -> is_pos();
+ return $self -> bone("-") if $self -> is_neg();
+ return $self; # zero or NaN
+}
+
sub bneg
{
# (BINT or num_str) return BINT
@@ -2577,102 +2592,137 @@ sub as_oct
##############################################################################
# private stuff (internal use only)
-sub objectify
- {
- # check for strings, if yes, return objects instead
-
- # the first argument is number of args objectify() should look at it will
- # return $count+1 elements, the first will be a classname. This is because
- # overloaded '""' calls bstr($object,undef,undef) and this would result in
- # useless objects being created and thrown away. So we cannot simple loop
- # over @_. If the given count is 0, all arguments will be used.
-
- # If the second arg is a ref, use it as class.
- # If not, try to use it as classname, unless undef, then use $class
- # (aka Math::BigInt). The latter shouldn't happen,though.
-
- # caller: gives us:
- # $x->badd(1); => ref x, scalar y
- # Class->badd(1,2); => classname x (scalar), scalar x, scalar y
- # Class->badd( Class->(1),2); => classname x (scalar), ref x, scalar y
- # Math::BigInt::badd(1,2); => scalar x, scalar y
- # In the last case we check number of arguments to turn it silently into
- # $class,1,2. (We can not take '1' as class ;o)
- # badd($class,1) is not supported (it should, eventually, try to add undef)
- # currently it tries 'Math::BigInt' + 1, which will not work.
-
- # some shortcut for the common cases
- # $x->unary_op();
- return (ref($_[1]),$_[1]) if (@_ == 2) && ($_[0]||0 == 1) && ref($_[1]);
-
- my $count = abs(shift || 0);
-
- my (@a,$k,$d); # resulting array, temp, and downgrade
- if (ref $_[0])
- {
- # okay, got object as first
- $a[0] = ref $_[0];
+sub objectify {
+ # Convert strings and "foreign objects" to the objects we want.
+
+ # The first argument, $count, is the number of following arguments that
+ # objectify() looks at and converts to objects. The first is a classname.
+ # If the given count is 0, all arguments will be used.
+
+ # After the count is read, objectify obtains the name of the class to which
+ # the following arguments are converted. If the second argument is a
+ # reference, use the reference type as the class name. Otherwise, if it is
+ # a string that looks like a class name, use that. Otherwise, use $class.
+
+ # Caller: Gives us:
+ #
+ # $x->badd(1); => ref x, scalar y
+ # Class->badd(1,2); => classname x (scalar), scalar x, scalar y
+ # Class->badd(Class->(1),2); => classname x (scalar), ref x, scalar y
+ # Math::BigInt::badd(1,2); => scalar x, scalar y
+
+ # A shortcut for the common case $x->unary_op():
+
+ return (ref($_[1]), $_[1]) if (@_ == 2) && ($_[0]||0 == 1) && ref($_[1]);
+
+ # Check the context.
+
+ unless (wantarray) {
+ require Carp;
+ Carp::croak ("${class}::objectify() needs list context");
}
- else
+
+ # Get the number of arguments to objectify.
+
+ my $count = shift;
+ $count ||= @_;
+
+ # Initialize the output array.
+
+ my @a = @_;
+
+ # If the first argument is a reference, use that reference type as our
+ # class name. Otherwise, if the first argument looks like a class name,
+ # then use that as our class name. Otherwise, use the default class name.
+
{
- # nope, got 1,2 (Class->xxx(1) => Class,1 and not supported)
- $a[0] = $class;
- $a[0] = shift if $_[0] =~ /^[A-Z].*::/; # classname as first?
+ if (ref($a[0])) { # reference?
+ unshift @a, ref($a[0]);
+ last;
+ }
+ if ($a[0] =~ /^[A-Z].*::/) { # string with class name?
+ last;
+ }
+ unshift @a, $class; # default class name
}
- no strict 'refs';
- # disable downgrading, because Math::BigFLoat->foo('1.0','2.0') needs floats
- if (defined ${"$a[0]::downgrade"})
- {
- $d = ${"$a[0]::downgrade"};
- ${"$a[0]::downgrade"} = undef;
+ no strict 'refs';
+
+ # What we upgrade to, if anything.
+
+ my $up = ${"$a[0]::upgrade"};
+
+ # Disable downgrading, because Math::BigFloat -> foo('1.0','2.0') needs
+ # floats.
+
+ my $down;
+ if (defined ${"$a[0]::downgrade"}) {
+ $down = ${"$a[0]::downgrade"};
+ ${"$a[0]::downgrade"} = undef;
}
- my $up = ${"$a[0]::upgrade"};
- # print STDERR "# Now in objectify, my class is today $a[0], count = $count\n";
- if ($count == 0)
- {
- while (@_)
- {
- $k = shift;
- if (!ref($k))
- {
- $k = $a[0]->new($k);
+ for my $i (1 .. $count) {
+ my $ref = ref $a[$i];
+
+ # If it is an object of the right class, all is fine.
+
+ if ($ref eq $a[0]) {
+ next;
}
- elsif (!defined $up && ref($k) ne $a[0])
- {
- # foreign object, try to convert to integer
- $k->can('as_number') ? $k = $k->as_number() : $k = $a[0]->new($k);
- }
- push @a,$k;
- }
- }
- else
- {
- while ($count > 0)
- {
- $count--;
- $k = shift;
- if (!ref($k))
- {
- $k = $a[0]->new($k);
+
+ # Don't do anything with undefs.
+
+ unless (defined($a[$i])) {
+ next;
}
- elsif (ref($k) ne $a[0] and !defined $up || ref $k ne $up)
- {
- # foreign object, try to convert to integer
- $k->can('as_number') ? $k = $k->as_number() : $k = $a[0]->new($k);
- }
- push @a,$k;
- }
- push @a,@_; # return other params, too
- }
- if (! wantarray)
- {
- require Carp; Carp::croak ("$class objectify needs list context");
+
+ # Perl scalars are fed to the appropriate constructor.
+
+ unless ($ref) {
+ $a[$i] = $a[0] -> new($a[$i]);
+ next;
+ }
+
+ # Upgrading is OK, so skip further tests if the argument is upgraded.
+
+ if (defined $up && $ref eq $up) {
+ next;
+ }
+
+ # If we want a Math::BigInt, see if the object can become one.
+ # Support the old misnomer as_number().
+
+ if ($a[0] eq 'Math::BigInt') {
+ if ($a[$i] -> can('as_int')) {
+ $a[$i] = $a[$i] -> as_int();
+ next;
+ }
+ if ($a[$i] -> can('as_number')) {
+ $a[$i] = $a[$i] -> as_number();
+ next;
+ }
+ }
+
+ # If we want a Math::BigFloat, see if the object can become one.
+
+ if ($a[0] eq 'Math::BigFloat') {
+ if ($a[$i] -> can('as_float')) {
+ $a[$i] = $a[$i] -> as_float();
+ next;
+ }
+ }
+
+ # Last resort.
+
+ $a[$i] = $a[0] -> new($a[$i]);
}
- ${"$a[0]::downgrade"} = $d;
- @a;
- }
+
+ # Reset the downgrading.
+
+ ${"$a[0]::downgrade"} = $down;
+
+ return @a;
+}
sub _register_callback
{
@@ -3297,9 +3347,10 @@ Math::BigInt - Arbitrary size integer/float math package
$x->digit($n); # return the nth digit, counting from right
$x->digit(-$n); # return the nth digit, counting from left
- # The following all modify their first argument. If you want to preserve
- # $x, use $z = $x->copy()->bXXX($y); See under L<CAVEATS> for why this is
- # necessary when mixing $a = $b assignments with non-overloaded math.
+ # The following all modify their first argument. If you want to pre-
+ # serve $x, use $z = $x->copy()->bXXX($y); See under L<CAVEATS> for
+ # why this is necessary when mixing $a = $b assignments with non-over-
+ # loaded math.
$x->bzero(); # set $x to 0
$x->bnan(); # set $x to NaN
@@ -3310,6 +3361,7 @@ Math::BigInt - Arbitrary size integer/float math package
$x->bneg(); # negation
$x->babs(); # absolute value
+ $x->bsgn(); # sign function (-1, 0, 1, or NaN)
$x->bnorm(); # normalize (no-op in BigInt)
$x->bnot(); # two's complement (bit wise not)
$x->binc(); # increment $x by 1
@@ -3329,10 +3381,12 @@ Math::BigInt - Arbitrary size integer/float math package
$x->bpow($y); # power of arguments (x ** y)
$x->blsft($y); # left shift in base 2
$x->brsft($y); # right shift in base 2
- # returns (quo,rem) or quo if in scalar context
+ # returns (quo,rem) or quo if in sca-
+ # lar context
$x->blsft($y,$n); # left shift by $y places in base $n
$x->brsft($y,$n); # right shift by $y places in base $n
- # returns (quo,rem) or quo if in scalar context
+ # returns (quo,rem) or quo if in sca-
+ # lar context
$x->band($y); # bitwise and
$x->bior($y); # bitwise inclusive or
@@ -3349,7 +3403,8 @@ Math::BigInt - Arbitrary size integer/float math package
$x->blog($base); # logarithm of $x to base $base (f.i. 2)
$x->bexp(); # calculate e ** $x where e is Euler's number
- $x->round($A,$P,$mode); # round to accuracy or precision using mode $mode
+ $x->round($A,$P,$mode); # round to accuracy or precision using
+ # mode $mode
$x->bround($n); # accuracy: preserve $n digits
$x->bfround($n); # $n > 0: round $nth digits,
# $n < 0: round to the $nth digit after the
@@ -3369,36 +3424,38 @@ Math::BigInt - Arbitrary size integer/float math package
my $lcm = Math::BigInt::blcm(@values);
$x->length(); # return number of digits in number
- ($xl,$f) = $x->length(); # length of number and length of fraction part,
- # latter is always 0 digits long for BigInts
+ ($xl,$f) = $x->length(); # length of number and length of fraction
+ # part, latter is always 0 digits long
+ # for BigInts
- $x->exponent(); # return exponent as BigInt
- $x->mantissa(); # return (signed) mantissa as BigInt
- $x->parts(); # return (mantissa,exponent) as BigInt
- $x->copy(); # make a true copy of $x (unlike $y = $x;)
- $x->as_int(); # return as BigInt (in BigInt: same as copy())
- $x->numify(); # return as scalar (might overflow!)
+ $x->exponent(); # return exponent as BigInt
+ $x->mantissa(); # return (signed) mantissa as BigInt
+ $x->parts(); # return (mantissa,exponent) as BigInt
+ $x->copy(); # make a true copy of $x (unlike $y = $x;)
+ $x->as_int(); # return as BigInt (in BigInt: same as copy())
+ $x->numify(); # return as scalar (might overflow!)
# conversion to string (do not modify their argument)
- $x->bstr(); # normalized string (e.g. '3')
- $x->bsstr(); # norm. string in scientific notation (e.g. '3E0')
- $x->as_hex(); # as signed hexadecimal string with prefixed 0x
- $x->as_bin(); # as signed binary string with prefixed 0b
- $x->as_oct(); # as signed octal string with prefixed 0
+ $x->bstr(); # normalized string (e.g. '3')
+ $x->bsstr(); # norm. string in scientific notation (e.g. '3E0')
+ $x->as_hex(); # as signed hexadecimal string with prefixed 0x
+ $x->as_bin(); # as signed binary string with prefixed 0b
+ $x->as_oct(); # as signed octal string with prefixed 0
# precision and accuracy (see section about rounding for more)
- $x->precision(); # return P of $x (or global, if P of $x undef)
- $x->precision($n); # set P of $x to $n
- $x->accuracy(); # return A of $x (or global, if A of $x undef)
- $x->accuracy($n); # set A $x to $n
+ $x->precision(); # return P of $x (or global, if P of $x undef)
+ $x->precision($n); # set P of $x to $n
+ $x->accuracy(); # return A of $x (or global, if A of $x undef)
+ $x->accuracy($n); # set A $x to $n
# Global methods
- Math::BigInt->precision(); # get/set global P for all BigInt objects
- Math::BigInt->accuracy(); # get/set global A for all BigInt objects
- Math::BigInt->round_mode(); # get/set global round mode, one of
- # 'even', 'odd', '+inf', '-inf', 'zero', 'trunc' or 'common'
- Math::BigInt->config(); # return hash containing configuration
+ Math::BigInt->precision(); # get/set global P for all BigInt objects
+ Math::BigInt->accuracy(); # get/set global A for all BigInt objects
+ Math::BigInt->round_mode(); # get/set global round mode, one of
+ # 'even', 'odd', '+inf', '-inf', 'zero',
+ # 'trunc' or 'common'
+ Math::BigInt->config(); # return hash containing configuration
=head1 DESCRIPTION
@@ -3453,7 +3510,7 @@ object from the input.
=item Output
Output values are BigInt objects (normalized), except for the methods which
-return a string (see L<SYNOPSIS>).
+return a string (see L</SYNOPSIS>).
Some routines (C<is_odd()>, C<is_even()>, C<is_zero()>, C<is_one()>,
C<is_nan()>, etc.) return true or false, while others (C<bcmp()>, C<bacmp()>)
@@ -3466,7 +3523,7 @@ return either undef (if NaN is involved), <0, 0 or >0 and are suited for sort.
Each of the methods below (except config(), accuracy() and precision())
accepts three additional parameters. These arguments C<$A>, C<$P> and C<$R>
are C<accuracy>, C<precision> and C<round_mode>. Please see the section about
-L<ACCURACY and PRECISION> for more information.
+L</ACCURACY and PRECISION> for more information.
=head2 config()
@@ -3479,33 +3536,33 @@ Returns a hash containing the configuration, e.g. the version number, lib
loaded etc. The following hash keys are currently filled in with the
appropriate information.
- key Description
- Example
+ key Description
+ Example
============================================================
- lib Name of the low-level math library
- Math::BigInt::Calc
- lib_version Version of low-level math library (see 'lib')
- 0.30
- class The class name of config() you just called
- Math::BigInt
- upgrade To which class math operations might be upgraded
- Math::BigFloat
- downgrade To which class math operations might be downgraded
- undef
- precision Global precision
- undef
- accuracy Global accuracy
- undef
- round_mode Global round mode
- even
- version version number of the class you used
- 1.61
- div_scale Fallback accuracy for div
- 40
- trap_nan If true, traps creation of NaN via croak()
- 1
- trap_inf If true, traps creation of +inf/-inf via croak()
- 1
+ lib Name of the low-level math library
+ Math::BigInt::Calc
+ lib_version Version of low-level math library (see 'lib')
+ 0.30
+ class The class name of config() you just called
+ Math::BigInt
+ upgrade To which class math operations might be upgraded
+ Math::BigFloat
+ downgrade To which class math operations might be downgraded
+ undef
+ precision Global precision
+ undef
+ accuracy Global accuracy
+ undef
+ round_mode Global round mode
+ even
+ version version number of the class you used
+ 1.61
+ div_scale Fallback accuracy for div
+ 40
+ trap_nan If true, traps creation of NaN via croak()
+ 1
+ trap_inf If true, traps creation of +inf/-inf via croak()
+ 1
The following values can be set by passing C<config()> a reference to a hash:
@@ -3514,16 +3571,18 @@ The following values can be set by passing C<config()> a reference to a hash:
Example:
- $new_cfg = Math::BigInt->config( { trap_inf => 1, precision => 5 } );
+ $new_cfg = Math::BigInt->config(
+ { trap_inf => 1, precision => 5 }
+ );
=head2 accuracy()
- $x->accuracy(5); # local for $x
- CLASS->accuracy(5); # global for all members of CLASS
- # Note: This also applies to new()!
+ $x->accuracy(5); # local for $x
+ CLASS->accuracy(5); # global for all members of CLASS
+ # Note: This also applies to new()!
- $A = $x->accuracy(); # read out accuracy that affects $x
- $A = CLASS->accuracy(); # read out global accuracy
+ $A = $x->accuracy(); # read out accuracy that affects $x
+ $A = CLASS->accuracy(); # read out global accuracy
Set or get the global or local accuracy, aka how many significant digits the
results have. If you set a global accuracy, then this also applies to new()!
@@ -3533,34 +3592,35 @@ influence of C<< CLASS->accuracy($A) >>, all results from math operations with
that number will also be rounded.
In most cases, you should probably round the results explicitly using one of
-L<round()>, L<bround()> or L<bfround()> or by passing the desired accuracy
+L</round()>, L</bround()> or L</bfround()> or by passing the desired accuracy
to the math operation as additional parameter:
- my $x = Math::BigInt->new(30000);
- my $y = Math::BigInt->new(7);
- print scalar $x->copy()->bdiv($y, 2); # print 4300
- print scalar $x->copy()->bdiv($y)->bround(2); # print 4300
+ my $x = Math::BigInt->new(30000);
+ my $y = Math::BigInt->new(7);
+ print scalar $x->copy()->bdiv($y, 2); # print 4300
+ print scalar $x->copy()->bdiv($y)->bround(2); # print 4300
-Please see the section about L<ACCURACY and PRECISION> for further details.
+Please see the section about L</ACCURACY and PRECISION> for further details.
Value must be greater than zero. Pass an undef value to disable it:
- $x->accuracy(undef);
- Math::BigInt->accuracy(undef);
+ $x->accuracy(undef);
+ Math::BigInt->accuracy(undef);
Returns the current accuracy. For C<< $x->accuracy() >> it will return either
the local accuracy, or if not defined, the global. This means the return value
represents the accuracy that will be in effect for $x:
- $y = Math::BigInt->new(1234567); # unrounded
- print Math::BigInt->accuracy(4),"\n"; # set 4, print 4
- $x = Math::BigInt->new(123456); # $x will be automatically rounded!
- print "$x $y\n"; # '123500 1234567'
- print $x->accuracy(),"\n"; # will be 4
- print $y->accuracy(),"\n"; # also 4, since global is 4
- print Math::BigInt->accuracy(5),"\n"; # set to 5, print 5
- print $x->accuracy(),"\n"; # still 4
- print $y->accuracy(),"\n"; # 5, since global is 5
+ $y = Math::BigInt->new(1234567); # unrounded
+ print Math::BigInt->accuracy(4),"\n"; # set 4, print 4
+ $x = Math::BigInt->new(123456); # $x will be automatic-
+ # ally rounded!
+ print "$x $y\n"; # '123500 1234567'
+ print $x->accuracy(),"\n"; # will be 4
+ print $y->accuracy(),"\n"; # also 4, since global is 4
+ print Math::BigInt->accuracy(5),"\n"; # set to 5, print 5
+ print $x->accuracy(),"\n"; # still 4
+ print $y->accuracy(),"\n"; # 5, since global is 5
Note: Works also for subclasses like Math::BigFloat. Each class has it's own
globals separated from Math::BigInt, but it is possible to subclass
@@ -3569,18 +3629,20 @@ Math::BigInt.
=head2 precision()
- $x->precision(-2); # local for $x, round at the second digit right of the dot
- $x->precision(2); # ditto, round at the second digit left of the dot
+ $x->precision(-2); # local for $x, round at the second
+ # digit right of the dot
+ $x->precision(2); # ditto, round at the second digit left
+ # of the dot
- CLASS->precision(5); # Global for all members of CLASS
- # This also applies to new()!
- CLASS->precision(-5); # ditto
+ CLASS->precision(5); # Global for all members of CLASS
+ # This also applies to new()!
+ CLASS->precision(-5); # ditto
- $P = CLASS->precision(); # read out global precision
- $P = $x->precision(); # read out precision that affects $x
+ $P = CLASS->precision(); # read out global precision
+ $P = $x->precision(); # read out precision that affects $x
-Note: You probably want to use L<accuracy()> instead. With L<accuracy> you
-set the number of digits each result should have, with L<precision> you
+Note: You probably want to use L</accuracy()> instead. With L</accuracy()> you
+set the number of digits each result should have, with L</precision()> you
set the place where to round!
C<precision()> sets or gets the global or local precision, aka at which digit
@@ -3591,21 +3653,21 @@ In Math::BigInt, passing a negative number precision has no effect since no
numbers have digits after the dot. In L<Math::BigFloat>, it will round all
results to P digits after the dot.
-Please see the section about L<ACCURACY and PRECISION> for further details.
+Please see the section about L</ACCURACY and PRECISION> for further details.
Pass an undef value to disable it:
- $x->precision(undef);
- Math::BigInt->precision(undef);
+ $x->precision(undef);
+ Math::BigInt->precision(undef);
Returns the current precision. For C<< $x->precision() >> it will return either
the local precision of $x, or if not defined, the global. This means the return
value represents the prevision that will be in effect for $x:
- $y = Math::BigInt->new(1234567); # unrounded
- print Math::BigInt->precision(4),"\n"; # set 4, print 4
- $x = Math::BigInt->new(123456); # will be automatically rounded
- print $x; # print "120000"!
+ $y = Math::BigInt->new(1234567); # unrounded
+ print Math::BigInt->precision(4),"\n"; # set 4, print 4
+ $x = Math::BigInt->new(123456); # will be automatically rounded
+ print $x; # print "120000"!
Note: Works also for subclasses like L<Math::BigFloat>. Each class has its
own globals separated from Math::BigInt, but it is possible to subclass
@@ -3645,7 +3707,7 @@ Creates a new BigInt object from a scalar or another BigInt object. The
input is accepted as decimal, hex (with leading '0x') or binary (with leading
'0b').
-See L<Input> for more info on accepted input formats.
+See L</Input> for more info on accepted input formats.
=head2 from_oct()
@@ -3714,12 +3776,12 @@ If used on an object, it will set it to one:
=head2 is_one()/is_zero()/is_nan()/is_inf()
- $x->is_zero(); # true if arg is +0
- $x->is_nan(); # true if arg is NaN
- $x->is_one(); # true if arg is +1
- $x->is_one('-'); # true if arg is -1
- $x->is_inf(); # true if +inf
- $x->is_inf('-'); # true if -inf (sign is default '+')
+ $x->is_zero(); # true if arg is +0
+ $x->is_nan(); # true if arg is NaN
+ $x->is_one(); # true if arg is +1
+ $x->is_one('-'); # true if arg is -1
+ $x->is_inf(); # true if +inf
+ $x->is_inf('-'); # true if -inf (sign is default '+')
These methods all test the BigInt for being one specific value and return
true or false depending on the input. These are faster than doing something
@@ -3783,7 +3845,7 @@ If you want $x to have a certain sign, use one of the following methods:
=head2 digit()
- $x->digit($n); # return the nth digit, counting from right
+ $x->digit($n); # return the nth digit, counting from right
If C<$n> is negative, returns the digit counting from left.
@@ -3802,6 +3864,13 @@ Set the number to its absolute value, e.g. change the sign from '-' to '+'
and from '-inf' to '+inf', respectively. Does nothing for NaN or positive
numbers.
+=head2 bsgn()
+
+ $x->bsgn();
+
+Signum function. Set the number to -1, 0, or 1, depending on whether the
+number is negative, zero, or positive, respectivly. Does not modify NaNs.
+
=head2 bnorm()
$x->bnorm(); # normalize (no-op)
@@ -3818,23 +3887,23 @@ but faster.
=head2 binc()
- $x->binc(); # increment x by 1
+ $x->binc(); # increment x by 1
=head2 bdec()
- $x->bdec(); # decrement x by 1
+ $x->bdec(); # decrement x by 1
=head2 badd()
- $x->badd($y); # addition (add $y to $x)
+ $x->badd($y); # addition (add $y to $x)
=head2 bsub()
- $x->bsub($y); # subtraction (subtract $y from $x)
+ $x->bsub($y); # subtraction (subtract $y from $x)
=head2 bmul()
- $x->bmul($y); # multiplication (multiply $x by $y)
+ $x->bmul($y); # multiplication (multiply $x by $y)
=head2 bmuladd()
@@ -3846,16 +3915,16 @@ This method was added in v1.87 of Math::BigInt (June 2007).
=head2 bdiv()
- $x->bdiv($y); # divide, set $x to quotient
- # return (quo,rem) or quo if scalar
+ $x->bdiv($y); # divide, set $x to quotient
+ # return (quo,rem) or quo if scalar
=head2 bmod()
- $x->bmod($y); # modulus (x % y)
+ $x->bmod($y); # modulus (x % y)
=head2 bmodinv()
- $x->bmodinv($mod); # modular multiplicative inverse
+ $x->bmodinv($mod); # modular multiplicative inverse
Returns the multiplicative inverse of C<$x> modulo C<$mod>. If
@@ -3894,29 +3963,29 @@ is exactly equivalent to
=head2 bpow()
- $x->bpow($y); # power of arguments (x ** y)
+ $x->bpow($y); # power of arguments (x ** y)
=head2 blog()
- $x->blog($base, $accuracy); # logarithm of x to the base $base
+ $x->blog($base, $accuracy); # logarithm of x to the base $base
If C<$base> is not defined, Euler's number (e) is used:
- print $x->blog(undef, 100); # log(x) to 100 digits
+ print $x->blog(undef, 100); # log(x) to 100 digits
=head2 bexp()
- $x->bexp($accuracy); # calculate e ** X
+ $x->bexp($accuracy); # calculate e ** X
Calculates the expression C<e ** $x> where C<e> is Euler's number.
This method was added in v1.82 of Math::BigInt (April 2007).
-See also L<blog()>.
+See also L</blog()>.
=head2 bnok()
- $x->bnok($y); # x over y (binomial coefficient n over k)
+ $x->bnok($y); # x over y (binomial coefficient n over k)
Calculates the binomial coefficient n over k, also called the "choose"
function. The result is equivalent to:
@@ -4106,11 +4175,11 @@ Return the signed mantissa of $x as BigInt.
=head2 parts()
- $x->parts(); # return (mantissa,exponent) as BigInt
+ $x->parts(); # return (mantissa,exponent) as BigInt
=head2 copy()
- $x->copy(); # make a true copy of $x (unlike $y = $x;)
+ $x->copy(); # make a true copy of $x (unlike $y = $x;)
=head2 as_int()/as_number()
@@ -4130,19 +4199,19 @@ Returns a normalized string representation of C<$x>.
=head2 bsstr()
- $x->bsstr(); # normalized string in scientific notation
+ $x->bsstr(); # normalized string in scientific notation
=head2 as_hex()
- $x->as_hex(); # as signed hexadecimal string with prefixed 0x
+ $x->as_hex(); # as signed hexadecimal string with prefixed 0x
=head2 as_bin()
- $x->as_bin(); # as signed binary string with prefixed 0b
+ $x->as_bin(); # as signed binary string with prefixed 0b
=head2 as_oct()
- $x->as_oct(); # as signed octal string with prefixed 0
+ $x->as_oct(); # as signed octal string with prefixed 0
=head2 numify()
@@ -4151,7 +4220,7 @@ Returns a normalized string representation of C<$x>.
This returns a normal Perl scalar from $x. It is used automatically
whenever a scalar is needed, for instance in array index operations.
-This loses precision, to avoid this use L<as_int()> instead.
+This loses precision, to avoid this use L<as_int()|/"as_int()/as_number()"> instead.
=head2 modify()
@@ -4367,25 +4436,25 @@ This is how it works now:
=item Setting/Accessing
- * You can set the A global via C<< Math::BigInt->accuracy() >> or
- C<< Math::BigFloat->accuracy() >> or whatever class you are using.
- * You can also set P globally by using C<< Math::SomeClass->precision() >>
+ * You can set the A global via Math::BigInt->accuracy() or
+ Math::BigFloat->accuracy() or whatever class you are using.
+ * You can also set P globally by using Math::SomeClass->precision()
likewise.
* Globals are classwide, and not inherited by subclasses.
- * to undefine A, use C<< Math::SomeCLass->accuracy(undef); >>
- * to undefine P, use C<< Math::SomeClass->precision(undef); >>
- * Setting C<< Math::SomeClass->accuracy() >> clears automatically
- C<< Math::SomeClass->precision() >>, and vice versa.
+ * to undefine A, use Math::SomeCLass->accuracy(undef);
+ * to undefine P, use Math::SomeClass->precision(undef);
+ * Setting Math::SomeClass->accuracy() clears automatically
+ Math::SomeClass->precision(), and vice versa.
* To be valid, A must be > 0, P can have any value.
* If P is negative, this means round to the P'th place to the right of the
decimal point; positive values mean to the left of the decimal point.
P of 0 means round to integer.
- * to find out the current global A, use C<< Math::SomeClass->accuracy() >>
- * to find out the current global P, use C<< Math::SomeClass->precision() >>
- * use C<< $x->accuracy() >> respective C<< $x->precision() >> for the local
- setting of C<< $x >>.
- * Please note that C<< $x->accuracy() >> respective C<< $x->precision() >>
- return eventually defined global A or P, when C<< $x >>'s A or P is not
+ * to find out the current global A, use Math::SomeClass->accuracy()
+ * to find out the current global P, use Math::SomeClass->precision()
+ * use $x->accuracy() respective $x->precision() for the local
+ setting of $x.
+ * Please note that $x->accuracy() respective $x->precision()
+ return eventually defined global A or P, when $x's A or P is not
set.
=item Creating numbers
@@ -4397,11 +4466,11 @@ This is how it works now:
globals (if set) will be used. Thus changing the global defaults later on
will not change the A or P of previously created numbers (i.e., A and P of
$x will be what was in effect when $x was created)
- * If given undef for A and P, B<no> rounding will occur, and the globals will
- B<not> be used. This is used by subclasses to create numbers without
+ * If given undef for A and P, NO rounding will occur, and the globals will
+ NOT be used. This is used by subclasses to create numbers without
suffering rounding in the parent. Thus a subclass is able to have its own
globals enforced upon creation of a number by using
- C<< $x = Math::BigInt->new($number,undef,undef) >>:
+ $x = Math::BigInt->new($number,undef,undef):
use Math::BigInt::SomeSubclass;
use Math::BigInt;
@@ -4493,11 +4562,11 @@ This is how it works now:
=item Local settings
- * You can set A or P locally by using C<< $x->accuracy() >> or
- C<< $x->precision() >>
+ * You can set A or P locally by using $x->accuracy() or
+ $x->precision()
and thus force different A and P for different objects/numbers.
* Setting A or P this way immediately rounds $x to the new value.
- * C<< $x->accuracy() >> clears C<< $x->precision() >>, and vice versa.
+ * $x->accuracy() clears $x->precision(), and vice versa.
=item Rounding
@@ -4507,12 +4576,12 @@ This is how it works now:
* the two rounding functions take as the second parameter one of the
following rounding modes (R):
'even', 'odd', '+inf', '-inf', 'zero', 'trunc', 'common'
- * you can set/get the global R by using C<< Math::SomeClass->round_mode() >>
- or by setting C<< $Math::SomeClass::round_mode >>
- * after each operation, C<< $result->round() >> is called, and the result may
+ * you can set/get the global R by using Math::SomeClass->round_mode()
+ or by setting $Math::SomeClass::round_mode
+ * after each operation, $result->round() is called, and the result may
eventually be rounded (that is, if A or P were set either locally,
globally or as parameter to the operation)
- * to manually round a number, call C<< $x->round($A,$P,$round_mode); >>
+ * to manually round a number, call $x->round($A,$P,$round_mode);
this will round the number by using the appropriate rounding function
and then normalize it.
* rounding modifies the local settings of the number:
@@ -4801,13 +4870,13 @@ modules and see if they help you.
=head2 Alternative math libraries
You can use an alternative library to drive Math::BigInt. See the section
-L<MATH LIBRARY> for more information.
+L</MATH LIBRARY> for more information.
For more benchmark results see L<http://bloodgate.com/perl/benchmarks.html>.
-=head2 SUBCLASSING
+=head1 SUBCLASSING
-=head1 Subclassing Math::BigInt
+=head2 Subclassing Math::BigInt
The basic design of Math::BigInt allows simple subclasses with very little
work, as long as a few simple rules are followed:
@@ -5249,7 +5318,7 @@ If you want a better approximation of the square root, then use:
=item brsft()
-For negative numbers in base see also L<brsft|brsft>.
+For negative numbers in base see also L<brsft|/brsft()>.
=back
diff --git a/Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm b/Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm
index 25f9a3b99d9..69092370533 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigInt/Calc.pm
@@ -4,7 +4,7 @@ use 5.006002;
use strict;
# use warnings; # dont use warnings for older Perls
-our $VERSION = '1.993';
+our $VERSION = '1.997';
# Package to store unsigned big integers in decimal and do math with them
diff --git a/Master/tlpkg/tlperl/lib/Math/BigInt/CalcEmu.pm b/Master/tlpkg/tlperl/lib/Math/BigInt/CalcEmu.pm
index ee0b677c53f..1d754ff1511 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigInt/CalcEmu.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigInt/CalcEmu.pm
@@ -5,7 +5,7 @@ use strict;
# use warnings; # dont use warnings for older Perls
use vars qw/$VERSION/;
-$VERSION = '1.993';
+$VERSION = '1.997';
package Math::BigInt;
diff --git a/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm b/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm
index 9abb12091f1..81f29a16e4f 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigInt/FastCalc.pm
@@ -4,11 +4,11 @@ use 5.006;
use strict;
use warnings;
-use Math::BigInt::Calc 1.993;
+use Math::BigInt::Calc 1.997;
use vars '$VERSION';
-$VERSION = '0.28';
+$VERSION = '0.30';
##############################################################################
# global constants, flags and accessory
diff --git a/Master/tlpkg/tlperl/lib/Math/BigInt/Trace.pm b/Master/tlpkg/tlperl/lib/Math/BigInt/Trace.pm
index 4733d226343..5826f6123bd 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigInt/Trace.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigInt/Trace.pm
@@ -12,7 +12,7 @@ use vars qw($VERSION @ISA $PACKAGE @EXPORT_OK
@ISA = qw(Exporter Math::BigInt);
-$VERSION = 0.01;
+$VERSION = '0.29';
use overload; # inherit overload from BigInt
diff --git a/Master/tlpkg/tlperl/lib/Math/BigRat.pm b/Master/tlpkg/tlperl/lib/Math/BigRat.pm
index 135645fc43a..eb07e8260d2 100644
--- a/Master/tlpkg/tlperl/lib/Math/BigRat.pm
+++ b/Master/tlpkg/tlperl/lib/Math/BigRat.pm
@@ -24,7 +24,7 @@ use vars qw($VERSION @ISA $upgrade $downgrade
@ISA = qw(Math::BigFloat);
-$VERSION = '0.26_02';
+$VERSION = '0.2603';
$VERSION = eval $VERSION;
# inherit overload from Math::BigFloat, but disable the bitwise ops that don't
@@ -1428,8 +1428,8 @@ sub as_number
return Math::BigInt->new($x->{sign}) if $x->{sign} !~ /^[+-]$/;
my $u = Math::BigInt->bzero();
- $u->{sign} = $x->{sign};
$u->{value} = $MBI->_div( $MBI->_copy($x->{_n}), $x->{_d}); # 22/7 => 3
+ $u->bneg if $x->{sign} eq '-'; # no negative zero
$u;
}
diff --git a/Master/tlpkg/tlperl/lib/Math/Complex.pm b/Master/tlpkg/tlperl/lib/Math/Complex.pm
index 8475a2b5d09..19fb16486bf 100644
--- a/Master/tlpkg/tlperl/lib/Math/Complex.pm
+++ b/Master/tlpkg/tlperl/lib/Math/Complex.pm
@@ -7,14 +7,14 @@
package Math::Complex;
+{ use 5.006; }
use strict;
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $Inf $ExpInf);
-
-$VERSION = 1.56;
+our $VERSION = 1.59;
use Config;
+our($Inf, $ExpInf);
BEGIN {
my %DBL_MAX =
(
@@ -96,7 +96,7 @@ my $gre = qr'\s*([\+\-]?(?:(?:(?:\d+(?:_\d+)*(?:\.\d*(?:_\d+)*)?|\.\d+(?:_\d+)*)
require Exporter;
-@ISA = qw(Exporter);
+our @ISA = qw(Exporter);
my @trig = qw(
pi
@@ -110,7 +110,7 @@ my @trig = qw(
acsch acosech asech acoth acotanh
);
-@EXPORT = (qw(
+our @EXPORT = (qw(
i Re Im rho theta arg
sqrt log ln
log10 logn cbrt root
@@ -121,18 +121,24 @@ my @trig = qw(
my @pi = qw(pi pi2 pi4 pip2 pip4 Inf);
-@EXPORT_OK = @pi;
+our @EXPORT_OK = @pi;
-%EXPORT_TAGS = (
+our %EXPORT_TAGS = (
'trig' => [@trig],
'pi' => [@pi],
);
use overload
+ '=' => \&_copy,
+ '+=' => \&_plus,
'+' => \&_plus,
+ '-=' => \&_minus,
'-' => \&_minus,
+ '*=' => \&_multiply,
'*' => \&_multiply,
+ '/=' => \&_divide,
'/' => \&_divide,
+ '**=' => \&_power,
'**' => \&_power,
'==' => \&_numeq,
'<=>' => \&_spaceship,
@@ -144,7 +150,6 @@ use overload
'log' => \&log,
'sin' => \&sin,
'cos' => \&cos,
- 'tan' => \&tan,
'atan2' => \&atan2,
'""' => \&_stringify;
@@ -217,6 +222,19 @@ sub _emake {
return ($p, $q);
}
+sub _copy {
+ my $self = shift;
+ my $clone = {%$self};
+ if ($self->{'cartesian'}) {
+ $clone->{'cartesian'} = [@{$self->{'cartesian'}}];
+ }
+ if ($self->{'polar'}) {
+ $clone->{'polar'} = [@{$self->{'polar'}}];
+ }
+ bless $clone,__PACKAGE__;
+ return $clone;
+}
+
#
# ->make
#
@@ -1539,7 +1557,7 @@ sub _stringify_polar {
if (defined $format) {
$r = sprintf($format, $r);
- $theta = sprintf($format, $theta) unless defined $theta;
+ $theta = sprintf($format, $t) unless defined $theta;
} else {
$theta = $t unless defined $theta;
}
@@ -2077,9 +2095,10 @@ L<Math::Trig>
=head1 AUTHORS
-Daniel S. Lewart <F<lewart!at!uiuc.edu>>
-Jarkko Hietaniemi <F<jhi!at!iki.fi>>
-Raphael Manfredi <F<Raphael_Manfredi!at!pobox.com>>
+Daniel S. Lewart <F<lewart!at!uiuc.edu>>,
+Jarkko Hietaniemi <F<jhi!at!iki.fi>>,
+Raphael Manfredi <F<Raphael_Manfredi!at!pobox.com>>,
+Zefram <zefram@fysh.org>
=head1 LICENSE
diff --git a/Master/tlpkg/tlperl/lib/Math/Trig.pm b/Master/tlpkg/tlperl/lib/Math/Trig.pm
index b7767bebccb..1d9612a41c2 100644
--- a/Master/tlpkg/tlperl/lib/Math/Trig.pm
+++ b/Master/tlpkg/tlperl/lib/Math/Trig.pm
@@ -4,20 +4,18 @@
# -- Raphael Manfredi, September 1996 (indirectly: because of Math::Complex)
#
-require Exporter;
package Math::Trig;
-use 5.005;
+{ use 5.006; }
use strict;
-use Math::Complex 1.56;
+use Math::Complex 1.59;
use Math::Complex qw(:trig :pi);
+require Exporter;
-use vars qw($VERSION $PACKAGE @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
-
-@ISA = qw(Exporter);
+our @ISA = qw(Exporter);
-$VERSION = 1.20;
+our $VERSION = 1.23;
my @angcnv = qw(rad2deg rad2grad
deg2rad deg2grad
@@ -25,7 +23,7 @@ my @angcnv = qw(rad2deg rad2grad
my @areal = qw(asin_real acos_real);
-@EXPORT = (@{$Math::Complex::EXPORT_TAGS{'trig'}},
+our @EXPORT = (@{$Math::Complex::EXPORT_TAGS{'trig'}},
@angcnv, @areal);
my @rdlcnv = qw(cartesian_to_cylindrical
@@ -46,13 +44,13 @@ my @greatcircle = qw(
my @pi = qw(pi pi2 pi4 pip2 pip4);
-@EXPORT_OK = (@rdlcnv, @greatcircle, @pi, 'Inf');
+our @EXPORT_OK = (@rdlcnv, @greatcircle, @pi, 'Inf');
# See e.g. the following pages:
# http://www.movable-type.co.uk/scripts/LatLong.html
# http://williams.best.vwh.net/avform.htm
-%EXPORT_TAGS = ('radial' => [ @rdlcnv ],
+our %EXPORT_TAGS = ('radial' => [ @rdlcnv ],
'great_circle' => [ @greatcircle ],
'pi' => [ @pi ]);
@@ -166,19 +164,13 @@ sub great_circle_distance {
sub great_circle_direction {
my ( $theta0, $phi0, $theta1, $phi1 ) = @_;
- my $distance = great_circle_distance($theta0, $phi0, $theta1, $phi1);
-
my $lat0 = pip2 - $phi0;
my $lat1 = pip2 - $phi1;
- my $direction =
- acos_real((sin($lat1) - sin($lat0) * cos($distance)) /
- (cos($lat0) * sin($distance)));
-
- $direction = pi2 - $direction
- if sin($theta1 - $theta0) < 0;
-
- return rad2rad($direction);
+ return rad2rad(pi2 -
+ atan2(sin($theta0-$theta1) * cos($lat1),
+ cos($lat0) * sin($lat1) -
+ sin($lat0) * cos($lat1) * cos($theta0-$theta1)));
}
*great_circle_bearing = \&great_circle_direction;
@@ -755,8 +747,9 @@ L<Math::Complex>
=head1 AUTHORS
-Jarkko Hietaniemi <F<jhi!at!iki.fi>> and
-Raphael Manfredi <F<Raphael_Manfredi!at!pobox.com>>.
+Jarkko Hietaniemi <F<jhi!at!iki.fi>>,
+Raphael Manfredi <F<Raphael_Manfredi!at!pobox.com>>,
+Zefram <zefram@fysh.org>
=head1 LICENSE
diff --git a/Master/tlpkg/tlperl/lib/Module/Build.pm b/Master/tlpkg/tlperl/lib/Module/Build.pm
index 14db9269fd8..e1fc6cabb6f 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build.pm
@@ -16,7 +16,7 @@ use Module::Build::Base;
use vars qw($VERSION @ISA);
@ISA = qw(Module::Build::Base);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
@@ -139,7 +139,7 @@ You can run the 'help' action for a complete list of actions.
=head1 GUIDE TO DOCUMENTATION
-The documentation for C<Module::Build> is broken up into three sections:
+The documentation for C<Module::Build> is broken up into sections:
=over
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Base.pm b/Master/tlpkg/tlperl/lib/Module/Build/Base.pm
index fba916ad267..a29f500062c 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Base.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Base.pm
@@ -4,7 +4,7 @@ package Module::Build::Base;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
BEGIN { require 5.00503 }
@@ -2940,7 +2940,7 @@ sub _share_dir_map {
my %files;
for my $dir ( @$list ) {
for my $f ( @{ $self->rscan_dir( $dir, sub {-f} )} ) {
- $f =~ s{\A.*\Q$dir\E/}{};
+ $f =~ s{\A.*?\Q$dir\E/}{};
$files{"$dir/$f"} = "$prefix/$f";
}
}
@@ -3428,7 +3428,6 @@ sub htmlify_pods {
$title .= " - $abstract" if $abstract;
my @opts = (
- '--flush',
"--title=$title",
"--podpath=$podpath",
"--infile=$infile",
@@ -3437,7 +3436,13 @@ sub htmlify_pods {
"--htmlroot=$path2root",
);
- if ( eval{Pod::Html->VERSION(1.03)} ) {
+ unless ( eval{Pod::Html->VERSION(1.12)} ) {
+ push( @opts, ('--flush') ); # caching removed in 1.12
+ }
+
+ if ( eval{Pod::Html->VERSION(1.12)} ) {
+ push( @opts, ('--header', '--backlink') );
+ } elsif ( eval{Pod::Html->VERSION(1.03)} ) {
push( @opts, ('--header', '--backlink=Back to Top') );
}
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Compat.pm b/Master/tlpkg/tlperl/lib/Module/Build/Compat.pm
index 1863b55ab75..452dfb96ad5 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Compat.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Compat.pm
@@ -2,7 +2,7 @@ package Module::Build::Compat;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
use File::Basename ();
use File::Spec;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Config.pm b/Master/tlpkg/tlperl/lib/Module/Build/Config.pm
index b36e76798fe..9f3dc6779e5 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Config.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Config.pm
@@ -2,7 +2,7 @@ package Module::Build::Config;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
use Config;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Cookbook.pm b/Master/tlpkg/tlperl/lib/Module/Build/Cookbook.pm
index 9ead1653a50..80af7c4c0d9 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Cookbook.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Cookbook.pm
@@ -1,7 +1,7 @@
package Module::Build::Cookbook;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Dumper.pm b/Master/tlpkg/tlperl/lib/Module/Build/Dumper.pm
index df459859985..8191410460f 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Dumper.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Dumper.pm
@@ -1,7 +1,7 @@
package Module::Build::Dumper;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
# This is just a split-out of a wrapper function to do Data::Dumper
# stuff "the right way". See:
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/ModuleInfo.pm b/Master/tlpkg/tlperl/lib/Module/Build/ModuleInfo.pm
index e15c010166b..a4c66853e89 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/ModuleInfo.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/ModuleInfo.pm
@@ -4,7 +4,7 @@ package Module::Build::ModuleInfo;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
require Module::Metadata;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Notes.pm b/Master/tlpkg/tlperl/lib/Module/Build/Notes.pm
index 1165799da41..9a80a594304 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Notes.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Notes.pm
@@ -4,7 +4,7 @@ package Module::Build::Notes;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
use Data::Dumper;
use IO::File;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm b/Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm
index 20f0b61ccdf..62e8b0408c5 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/PPMMaker.pm
@@ -5,7 +5,7 @@ use Config;
use vars qw($VERSION);
use IO::File;
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
# This code is mostly borrowed from ExtUtils::MM_Unix 6.10_03, with a
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Amiga.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Amiga.pm
index a4b95414f84..e088c84833d 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Amiga.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Amiga.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::Amiga;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Default.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Default.pm
index b4d2ca2f4a4..8669036ab3d 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Default.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Default.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::Default;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/EBCDIC.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/EBCDIC.pm
index a030ba9573b..0cd526448b1 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/EBCDIC.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/EBCDIC.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::EBCDIC;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/MPEiX.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/MPEiX.pm
index 33fae1c5a7f..21c757b3172 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/MPEiX.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/MPEiX.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::MPEiX;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/MacOS.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/MacOS.pm
index fc205d3610d..3f49c8288a5 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/MacOS.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/MacOS.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::MacOS;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
use Module::Build::Base;
use vars qw(@ISA);
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/RiscOS.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/RiscOS.pm
index 94f84580e1d..4717481fb86 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/RiscOS.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/RiscOS.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::RiscOS;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Unix.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Unix.pm
index 956c64e4e7a..611c2cf8d3d 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Unix.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Unix.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::Unix;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/VMS.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/VMS.pm
index bf2118b23b2..4842e6cbde9 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/VMS.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/VMS.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::VMS;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
use Module::Build::Base;
use Config;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/VOS.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/VOS.pm
index fd809c0163b..bec44da6af9 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/VOS.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/VOS.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::VOS;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
use Module::Build::Base;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Windows.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Windows.pm
index 2924f9d0007..5094c41629e 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/Windows.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/Windows.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::Windows;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
use Config;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/aix.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/aix.pm
index 59eec0d36d0..cd4cf24ceb4 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/aix.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/aix.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::aix;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
use Module::Build::Platform::Unix;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/cygwin.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/cygwin.pm
index 7b7680488c9..2ecd9ae5561 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/cygwin.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/cygwin.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::cygwin;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
use Module::Build::Platform::Unix;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/darwin.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/darwin.pm
index 5c9a1770bb4..e7d256a839e 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/darwin.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/darwin.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::darwin;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
use Module::Build::Platform::Unix;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/Platform/os2.pm b/Master/tlpkg/tlperl/lib/Module/Build/Platform/os2.pm
index b78d153ee04..d9436713ba8 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/Platform/os2.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/Platform/os2.pm
@@ -2,7 +2,7 @@ package Module::Build::Platform::os2;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
use Module::Build::Platform::Unix;
diff --git a/Master/tlpkg/tlperl/lib/Module/Build/PodParser.pm b/Master/tlpkg/tlperl/lib/Module/Build/PodParser.pm
index 5bba10aae38..8230192056f 100644
--- a/Master/tlpkg/tlperl/lib/Module/Build/PodParser.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Build/PodParser.pm
@@ -2,7 +2,7 @@ package Module::Build::PodParser;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
use vars qw(@ISA);
@@ -11,17 +11,8 @@ sub new {
my $package = shift;
my $self;
-
- # Try using Pod::Parser first
- if (eval{ require Pod::Parser; 1; }) {
- @ISA = qw(Pod::Parser);
- $self = $package->SUPER::new(@_);
- $self->{have_pod_parser} = 1;
- } else {
- @ISA = ();
- *parse_from_filehandle = \&_myparse_from_filehandle;
- $self = bless {have_pod_parser => 0, @_}, $package;
- }
+ @ISA = ();
+ $self = bless {have_pod_parser => 0, @_}, $package;
unless ($self->{fh}) {
die "No 'file' or 'fh' parameter given" unless $self->{file};
@@ -31,7 +22,7 @@ sub new {
return $self;
}
-sub _myparse_from_filehandle {
+sub parse_from_filehandle {
my ($self, $fh) = @_;
local $_;
@@ -71,36 +62,3 @@ sub get_author {
return $self->{author} || [];
}
-
-################## Pod::Parser overrides ###########
-sub initialize {
- my $self = shift;
- $self->{_head} = '';
- $self->SUPER::initialize();
-}
-
-sub command {
- my ($self, $cmd, $text) = @_;
- if ( $cmd eq 'head1' ) {
- $text =~ s/^\s+//;
- $text =~ s/\s+$//;
- $self->{_head} = $text;
- }
-}
-
-sub textblock {
- my ($self, $text) = @_;
- $text =~ s/^\s+//;
- $text =~ s/\s+$//;
- if (uc $self->{_head} eq 'NAME') {
- my ($name, $abstract) = split( /\s+-\s+/, $text, 2 );
- $self->{abstract} = $abstract;
- } elsif ($self->{_head} =~ /^AUTHORS?$/i) {
- push @{$self->{author}}, $text if $text =~ /\@/;
- }
-}
-
-sub verbatim {}
-sub interior_sequence {}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/Module/CoreList.pm b/Master/tlpkg/tlperl/lib/Module/CoreList.pm
index 86a7169f316..6cd5fc76d6d 100644
--- a/Master/tlpkg/tlperl/lib/Module/CoreList.pm
+++ b/Master/tlpkg/tlperl/lib/Module/CoreList.pm
@@ -2,199 +2,8 @@ package Module::CoreList;
use strict;
use vars qw/$VERSION %released %version %families %upstream
%bug_tracker %deprecated/;
-$VERSION = '2.49_02';
-
-=head1 NAME
-
-Module::CoreList - what modules shipped with versions of perl
-
-=head1 SYNOPSIS
-
- use Module::CoreList;
-
- print $Module::CoreList::version{5.00503}{CPAN}; # prints 1.48
-
- print Module::CoreList->first_release('File::Spec'); # prints 5.00405
- print Module::CoreList->first_release_by_date('File::Spec'); # prints 5.005
- print Module::CoreList->first_release('File::Spec', 0.82); # prints 5.006001
-
- print join ', ', Module::CoreList->find_modules(qr/Data/);
- # prints 'Data::Dumper'
- print join ', ', Module::CoreList->find_modules(qr/test::h.*::.*s/i, 5.008008);
- # prints 'Test::Harness::Assert, Test::Harness::Straps'
-
- print join ", ", @{ $Module::CoreList::families{5.005} };
- # prints "5.005, 5.00503, 5.00504"
-
-=head1 DESCRIPTION
-
-Module::CoreList provides information on which core and dual-life modules shipped
-with each version of L<perl>.
-
-It provides a number of mechanisms for querying this information.
-
-There is a utility called L<corelist> provided with this module
-which is a convenient way of querying from the command-line.
-
-There is a functional programming API available for programmers to query
-information.
-
-Programmers may also query the contained hash structures to find relevant
-information.
-
-=head1 FUNCTIONS API
-
-These are the functions that are available, they may either be called as functions or class methods:
-
- Module::CoreList::first_release('File::Spec'); # as a function
-
- Module::CoreList->first_release('File::Spec'); # class method
-
-=over
-
-=item C<first_release( MODULE )>
-
-Behaviour since version 2.11
-
-Requires a MODULE name as an argument, returns the perl version when that module first
-appeared in core as ordered by perl version number or undef ( in scalar context )
-or an empty list ( in list context ) if that module is not in core.
-
-=item C<first_release_by_date( MODULE )>
-
-Requires a MODULE name as an argument, returns the perl version when that module first
-appeared in core as ordered by release date or undef ( in scalar context )
-or an empty list ( in list context ) if that module is not in core.
-
-=item C<find_modules( REGEX, [ LIST OF PERLS ] )>
-
-Takes a regex as an argument, returns a list of modules that match the regex given.
-If only a regex is provided applies to all modules in all perl versions. Optionally
-you may provide a list of perl versions to limit the regex search.
-
-=item C<find_version( PERL_VERSION )>
-
-Takes a perl version as an argument. Returns that perl version if it exists or C<undef>
-otherwise.
-
-=item C<is_deprecated( MODULE, PERL_VERSION )>
-
-Available in version 2.22 and above.
-
-Returns true if MODULE is marked as deprecated in PERL_VERSION. If PERL_VERSION is
-omitted, it defaults to the current version of Perl.
-
-=item C<removed_from( MODULE )>
-
-Available in version 2.32 and above
-
-Takes a module name as an argument, returns the first perl version where that module
-was removed from core. Returns undef if the given module was never in core or remains
-in core.
-
-=item C<removed_from_by_date( MODULE )>
-
-Available in version 2.32 and above
-
-Takes a module name as an argument, returns the first perl version by release date where that module
-was removed from core. Returns undef if the given module was never in core or remains
-in core.
-
-=back
-
-=head1 DATA STRUCTURES
-
-These are the hash data structures that are available:
-
-=over
-
-=item C<%Module::CoreList::version>
-
-A hash of hashes that is keyed on perl version as indicated
-in $]. The second level hash is module => version pairs.
-
-Note, it is possible for the version of a module to be unspecified,
-whereby the value is C<undef>, so use C<exists $version{$foo}{$bar}> if
-that's what you're testing for.
-
-Starting with 2.10, the special module name C<Unicode> refers to the version of
-the Unicode Character Database bundled with Perl.
-
-=item C<%Module::CoreList::released>
-
-Keyed on perl version this contains ISO
-formatted versions of the release dates, as gleaned from L<perlhist>.
-
-=item C<%Module::CoreList::families>
-
-New, in 1.96, a hash that
-clusters known perl releases by their major versions.
-
-=item C<%Module::CoreList::deprecated>
-
-A hash of hashes keyed on perl version and on module name.
-If a module is defined it indicates that that module is
-deprecated in that perl version and is scheduled for removal
-from core at some future point.
-
-=item C<%Module::CoreList::upstream>
-
-A hash that contains information on where patches should be directed
-for each core module.
-
-UPSTREAM indicates where patches should go. C<undef> implies
-that this hasn't been discussed for the module at hand.
-C<blead> indicates that the copy of the module in the blead
-sources is to be considered canonical, C<cpan> means that the
-module on CPAN is to be patched first. C<first-come> means
-that blead can be patched freely if it is in sync with the
-latest release on CPAN.
-
-=item C<%Module::CoreList::bug_tracker>
-
-A hash that contains information on the appropriate bug tracker
-for each core module.
-
-BUGS is an email or url to post bug reports. For modules with
-UPSTREAM => 'blead', use perl5-porters@perl.org. rt.cpan.org
-appears to automatically provide a URL for CPAN modules; any value
-given here overrides the default:
-http://rt.cpan.org/Public/Dist/Display.html?Name=$ModuleName
-
-=back
-
-=head1 CAVEATS
-
-Module::CoreList currently covers the 5.000, 5.001, 5.002, 5.003_07,
-5.004, 5.004_05, 5.005, 5.005_03, 5.005_04, 5.6.0, 5.6.1, 5.6.2, 5.7.3,
-5.8.0, 5.8.1, 5.8.2, 5.8.3, 5.8.4, 5.8.5, 5.8.6, 5.8.7, 5.8.8, 5.8.9,
-5.9.0, 5.9.1, 5.9.2, 5.9.3, 5.9.4, 5.9.5, 5.10.0, 5.10.1, 5.11.0, 5.11.1,
-5.11.2, 5.11.3, 5.11.4, 5.11.5, 5.12.0, 5.12.1, 5.12.2, 5.12.3, 5.13.0,
-5.13.1, 5.13.2, 5.13.3, 5.13.4, 5.13.5, 5.13.6, 5.13.7, 5.13.8, 5.13.9,
-5.13.10, 5.13.11, 5.14.0, 5.14.1 and 5.14.2 releases of perl.
-
-=head1 HISTORY
-
-Moved to Changes file.
-
-=head1 AUTHOR
-
-Richard Clamp E<lt>richardc@unixbeard.netE<gt>
-
-Currently maintained by the perl 5 porters E<lt>perl5-porters@perl.orgE<gt>.
-
-=head1 LICENSE
-
-Copyright (C) 2002-2009 Richard Clamp. All Rights Reserved.
-
-This module is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<corelist>, L<Module::Info>, L<perl>
-
-=cut
+use Module::CoreList::TieHashDelta;
+$VERSION = '2.76';
my $dumpinc = 0;
sub import {
@@ -289,6 +98,36 @@ sub removed_raw {
return @removed;
}
+sub changes_between {
+ my ($left_ver, $right_ver) = @_;
+
+ my $left = $version{ $left_ver };
+ my $right = $version{ $right_ver };
+
+ my %uniq = (%$left, %$right);
+
+ my %changes;
+ for my $lib (keys %uniq) {
+ my $lhs = exists $left->{ $lib }
+ ? (defined $left->{ $lib } ? $left->{ $lib } : '(undef)')
+ : '(absent)';
+ my $rhs = exists $right->{ $lib }
+ ? (defined $right->{ $lib } ? $right->{ $lib } : '(undef)')
+ : '(absent)';
+
+ next if $lhs eq $rhs;
+
+ my $change = {
+ (exists $left->{$lib} ? (left => $left->{$lib}) : ()),
+ (exists $right->{$lib} ? (right => $right->{$lib}) : ()),
+ };
+
+ $changes{$lib} = $change;
+ }
+
+ return %changes;
+}
+
# When things escaped.
# NB. If you put version numbers with trailing zeroes here, you
# should also add an alias for the numerical ($]) version; see
@@ -348,8 +187,29 @@ sub removed_raw {
5.013010 => '2011-02-20',
5.013011 => '2011-03-20',
5.014000 => '2011-05-14',
+ 5.012004 => '2011-06-20',
5.014001 => '2011-06-16',
+ 5.015000 => '2011-06-20',
+ 5.015001 => '2011-07-20',
+ 5.015002 => '2011-08-20',
5.014002 => '2011-09-26',
+ 5.015003 => '2011-09-20',
+ 5.015004 => '2011-10-20',
+ 5.015005 => '2011-11-20',
+ 5.015006 => '2011-12-20',
+ 5.015007 => '2012-01-20',
+ 5.015008 => '2012-02-20',
+ 5.015009 => '2012-03-20',
+ 5.016000 => '2012-05-20',
+ 5.016001 => '2012-08-08',
+ 5.016002 => '2012-11-01',
+ 5.017000 => '2012-05-26',
+ 5.017001 => '2012-06-20',
+ 5.017002 => '2012-07-20',
+ 5.017003 => '2012-08-20',
+ 5.017004 => '2012-09-20',
+ 5.014003 => '2012-10-12',
+ 5.017005 => '2012-10-20',
);
for my $version ( sort { $a <=> $b } keys %released ) {
@@ -357,25323 +217,7092 @@ for my $version ( sort { $a <=> $b } keys %released ) {
push @{ $families{ $family }} , $version;
}
-
-%version = (
- 5.000 => {
- 'AnyDBM_File' => undef, # lib/AnyDBM_File.pm
- 'AutoLoader' => undef, # lib/AutoLoader.pm
- 'AutoSplit' => undef, # lib/AutoSplit.pm
- 'Benchmark' => undef, # lib/Benchmark.pm
- 'Carp' => undef, # lib/Carp.pm
- 'Cwd' => undef, # lib/Cwd.pm
- 'DB_File' => undef, # ext/DB_File/DB_File.pm
- 'DynaLoader' => undef, # ext/DynaLoader/DynaLoader.pm
- 'English' => undef, # lib/English.pm
- 'Env' => undef, # lib/Env.pm
- 'Exporter' => undef, # lib/Exporter.pm
- 'ExtUtils::MakeMaker' => undef, # lib/ExtUtils/MakeMaker.pm
- 'Fcntl' => undef, # ext/Fcntl/Fcntl.pm
- 'File::Basename' => undef, # lib/File/Basename.pm
- 'File::CheckTree' => undef, # lib/File/CheckTree.pm
- 'File::Find' => undef, # lib/File/Find.pm
- 'FileHandle' => undef, # lib/FileHandle.pm
- 'GDBM_File' => undef, # ext/GDBM_File/GDBM_File.pm
- 'Getopt::Long' => undef, # lib/Getopt/Long.pm
- 'Getopt::Std' => undef, # lib/Getopt/Std.pm
- 'I18N::Collate' => undef, # lib/I18N/Collate.pm
- 'IPC::Open2' => undef, # lib/IPC/Open2.pm
- 'IPC::Open3' => undef, # lib/IPC/Open3.pm
- 'Math::BigFloat' => undef, # lib/Math/BigFloat.pm
- 'Math::BigInt' => undef, # lib/Math/BigInt.pm
- 'Math::Complex' => undef, # lib/Math/Complex.pm
- 'NDBM_File' => undef, # ext/NDBM_File/NDBM_File.pm
- 'Net::Ping' => undef, # lib/Net/Ping.pm
- 'ODBM_File' => undef, # ext/ODBM_File/ODBM_File.pm
- 'POSIX' => undef, # ext/POSIX/POSIX.pm
- 'SDBM_File' => undef, # ext/SDBM_File/SDBM_File.pm
- 'Search::Dict' => undef, # lib/Search/Dict.pm
- 'Shell' => undef, # lib/Shell.pm
- 'Socket' => undef, # ext/Socket/Socket.pm
- 'Sys::Hostname' => undef, # lib/Sys/Hostname.pm
- 'Sys::Syslog' => undef, # lib/Sys/Syslog.pm
- 'Term::Cap' => undef, # lib/Term/Cap.pm
- 'Term::Complete' => undef, # lib/Term/Complete.pm
- 'Test::Harness' => undef, # lib/Test/Harness.pm
- 'Text::Abbrev' => undef, # lib/Text/Abbrev.pm
- 'Text::ParseWords' => undef, # lib/Text/ParseWords.pm
- 'Text::Soundex' => undef, # lib/Text/Soundex.pm
- 'Text::Tabs' => undef, # lib/Text/Tabs.pm
- 'TieHash' => undef, # lib/TieHash.pm
- 'Time::Local' => undef, # lib/Time/Local.pm
- 'integer' => undef, # lib/integer.pm
- 'less' => undef, # lib/less.pm
- 'sigtrap' => undef, # lib/sigtrap.pm
- 'strict' => undef, # lib/strict.pm
- 'subs' => undef, # lib/subs.pm
+my %delta = (
+ 5 => {
+ changed => {
+ 'AnyDBM_File' => undef,
+ 'AutoLoader' => undef,
+ 'AutoSplit' => undef,
+ 'Benchmark' => undef,
+ 'Carp' => undef,
+ 'Cwd' => undef,
+ 'DB_File' => undef,
+ 'DynaLoader' => undef,
+ 'English' => undef,
+ 'Env' => undef,
+ 'Exporter' => undef,
+ 'ExtUtils::MakeMaker' => undef,
+ 'Fcntl' => undef,
+ 'File::Basename' => undef,
+ 'File::CheckTree' => undef,
+ 'File::Find' => undef,
+ 'FileHandle' => undef,
+ 'GDBM_File' => undef,
+ 'Getopt::Long' => undef,
+ 'Getopt::Std' => undef,
+ 'I18N::Collate' => undef,
+ 'IPC::Open2' => undef,
+ 'IPC::Open3' => undef,
+ 'Math::BigFloat' => undef,
+ 'Math::BigInt' => undef,
+ 'Math::Complex' => undef,
+ 'NDBM_File' => undef,
+ 'Net::Ping' => undef,
+ 'ODBM_File' => undef,
+ 'POSIX' => undef,
+ 'SDBM_File' => undef,
+ 'Search::Dict' => undef,
+ 'Shell' => undef,
+ 'Socket' => undef,
+ 'Sys::Hostname' => undef,
+ 'Sys::Syslog' => undef,
+ 'Term::Cap' => undef,
+ 'Term::Complete' => undef,
+ 'Test::Harness' => undef,
+ 'Text::Abbrev' => undef,
+ 'Text::ParseWords' => undef,
+ 'Text::Soundex' => undef,
+ 'Text::Tabs' => undef,
+ 'TieHash' => undef,
+ 'Time::Local' => undef,
+ 'integer' => undef,
+ 'less' => undef,
+ 'sigtrap' => undef,
+ 'strict' => undef,
+ 'subs' => undef,
+ },
+ removed => {
+ }
},
-
5.001 => {
- 'AnyDBM_File' => undef, # lib/AnyDBM_File.pm
- 'AutoLoader' => undef, # lib/AutoLoader.pm
- 'AutoSplit' => undef, # lib/AutoSplit.pm
- 'Benchmark' => undef, # lib/Benchmark.pm
- 'Carp' => undef, # lib/Carp.pm
- 'Cwd' => undef, # lib/Cwd.pm
- 'DB_File' => undef, # ext/DB_File/DB_File.pm
- 'DynaLoader' => undef, # ext/DynaLoader/DynaLoader.pm
- 'English' => undef, # lib/English.pm
- 'Env' => undef, # lib/Env.pm
- 'Exporter' => undef, # lib/Exporter.pm
- 'ExtUtils::Liblist' => undef, # lib/ExtUtils/Liblist.pm
- 'ExtUtils::MakeMaker' => undef, # lib/ExtUtils/MakeMaker.pm
- 'ExtUtils::Manifest' => undef, # lib/ExtUtils/Manifest.pm
- 'ExtUtils::Mkbootstrap' => undef, # lib/ExtUtils/Mkbootstrap.pm
- 'Fcntl' => undef, # ext/Fcntl/Fcntl.pm
- 'File::Basename' => undef, # lib/File/Basename.pm
- 'File::CheckTree' => undef, # lib/File/CheckTree.pm
- 'File::Find' => undef, # lib/File/Find.pm
- 'File::Path' => undef, # lib/File/Path.pm
- 'FileHandle' => undef, # lib/FileHandle.pm
- 'GDBM_File' => undef, # ext/GDBM_File/GDBM_File.pm
- 'Getopt::Long' => undef, # lib/Getopt/Long.pm
- 'Getopt::Std' => undef, # lib/Getopt/Std.pm
- 'I18N::Collate' => undef, # lib/I18N/Collate.pm
- 'IPC::Open2' => undef, # lib/IPC/Open2.pm
- 'IPC::Open3' => undef, # lib/IPC/Open3.pm
- 'Math::BigFloat' => undef, # lib/Math/BigFloat.pm
- 'Math::BigInt' => undef, # lib/Math/BigInt.pm
- 'Math::Complex' => undef, # lib/Math/Complex.pm
- 'NDBM_File' => undef, # ext/NDBM_File/NDBM_File.pm
- 'Net::Ping' => undef, # lib/Net/Ping.pm
- 'ODBM_File' => undef, # ext/ODBM_File/ODBM_File.pm
- 'POSIX' => undef, # ext/POSIX/POSIX.pm
- 'SDBM_File' => undef, # ext/SDBM_File/SDBM_File.pm
- 'Search::Dict' => undef, # lib/Search/Dict.pm
- 'Shell' => undef, # lib/Shell.pm
- 'Socket' => undef, # ext/Socket/Socket.pm
- 'SubstrHash' => undef, # lib/SubstrHash.pm
- 'Sys::Hostname' => undef, # lib/Sys/Hostname.pm
- 'Sys::Syslog' => undef, # lib/Sys/Syslog.pm
- 'Term::Cap' => undef, # lib/Term/Cap.pm
- 'Term::Complete' => undef, # lib/Term/Complete.pm
- 'Test::Harness' => undef, # lib/Test/Harness.pm
- 'Text::Abbrev' => undef, # lib/Text/Abbrev.pm
- 'Text::ParseWords' => undef, # lib/Text/ParseWords.pm
- 'Text::Soundex' => undef, # lib/Text/Soundex.pm
- 'Text::Tabs' => undef, # lib/Text/Tabs.pm
- 'TieHash' => undef, # lib/TieHash.pm
- 'Time::Local' => undef, # lib/Time/Local.pm
- 'integer' => undef, # lib/integer.pm
- 'less' => undef, # lib/less.pm
- 'lib' => undef, # lib/lib.pm
- 'sigtrap' => undef, # lib/sigtrap.pm
- 'strict' => undef, # lib/strict.pm
- 'subs' => undef, # lib/subs.pm
+ delta_from => 5,
+ changed => {
+ 'ExtUtils::Liblist' => undef,
+ 'ExtUtils::Manifest' => undef,
+ 'ExtUtils::Mkbootstrap' => undef,
+ 'File::Path' => undef,
+ 'SubstrHash' => undef,
+ 'lib' => undef,
+ },
+ removed => {
+ }
},
-
5.002 => {
- 'AnyDBM_File' => undef, # lib/AnyDBM_File.pm
- 'AutoLoader' => undef, # lib/AutoLoader.pm
- 'AutoSplit' => undef, # lib/AutoSplit.pm
- 'Benchmark' => undef, # lib/Benchmark.pm
- 'Carp' => undef, # lib/Carp.pm
- 'Cwd' => undef, # lib/Cwd.pm
- 'DB_File' => '1.01', # ext/DB_File/DB_File.pm
- 'Devel::SelfStubber' => '1.01', # lib/Devel/SelfStubber.pm
- 'DirHandle' => undef, # lib/DirHandle.pm
- 'DynaLoader' => '1.00', # ext/DynaLoader/DynaLoader.pm
- 'English' => undef, # lib/English.pm
- 'Env' => undef, # lib/Env.pm
- 'Exporter' => undef, # lib/Exporter.pm
- 'ExtUtils::Install' => undef, # lib/ExtUtils/Install.pm
- 'ExtUtils::Liblist' => undef, # lib/ExtUtils/Liblist.pm
- 'ExtUtils::MM_OS2' => undef, # lib/ExtUtils/MM_OS2.pm
- 'ExtUtils::MM_Unix' => undef, # lib/ExtUtils/MM_Unix.pm
- 'ExtUtils::MM_VMS' => undef, # lib/ExtUtils/MM_VMS.pm
- 'ExtUtils::MakeMaker' => '5.21', # lib/ExtUtils/MakeMaker.pm
- 'ExtUtils::Manifest' => '1.22', # lib/ExtUtils/Manifest.pm
- 'ExtUtils::Mkbootstrap' => undef, # lib/ExtUtils/Mkbootstrap.pm
- 'ExtUtils::Mksymlists' => '1.00', # lib/ExtUtils/Mksymlists.pm
- 'Fcntl' => '1.00', # ext/Fcntl/Fcntl.pm
- 'File::Basename' => undef, # lib/File/Basename.pm
- 'File::CheckTree' => undef, # lib/File/CheckTree.pm
- 'File::Copy' => '1.5', # lib/File/Copy.pm
- 'File::Find' => undef, # lib/File/Find.pm
- 'File::Path' => '1.01', # lib/File/Path.pm
- 'FileCache' => undef, # lib/FileCache.pm
- 'FileHandle' => '1.00', # ext/FileHandle/FileHandle.pm
- 'GDBM_File' => '1.00', # ext/GDBM_File/GDBM_File.pm
- 'Getopt::Long' => '2.01', # lib/Getopt/Long.pm
- 'Getopt::Std' => undef, # lib/Getopt/Std.pm
- 'I18N::Collate' => undef, # lib/I18N/Collate.pm
- 'IPC::Open2' => undef, # lib/IPC/Open2.pm
- 'IPC::Open3' => undef, # lib/IPC/Open3.pm
- 'Math::BigFloat' => undef, # lib/Math/BigFloat.pm
- 'Math::BigInt' => undef, # lib/Math/BigInt.pm
- 'Math::Complex' => undef, # lib/Math/Complex.pm
- 'NDBM_File' => '1.00', # ext/NDBM_File/NDBM_File.pm
- 'Net::Ping' => '1', # lib/Net/Ping.pm
- 'ODBM_File' => '1.00', # ext/ODBM_File/ODBM_File.pm
- 'POSIX' => '1.00', # ext/POSIX/POSIX.pm
- 'Pod::Functions' => undef, # lib/Pod/Functions.pm
- 'Pod::Text' => undef, # lib/Pod/Text.pm
- 'SDBM_File' => '1.00', # ext/SDBM_File/SDBM_File.pm
- 'Safe' => '1.00', # ext/Safe/Safe.pm
- 'Search::Dict' => undef, # lib/Search/Dict.pm
- 'SelectSaver' => undef, # lib/SelectSaver.pm
- 'SelfLoader' => '1.06', # lib/SelfLoader.pm
- 'Shell' => undef, # lib/Shell.pm
- 'Socket' => '1.5', # ext/Socket/Socket.pm
- 'Symbol' => undef, # lib/Symbol.pm
- 'Sys::Hostname' => undef, # lib/Sys/Hostname.pm
- 'Sys::Syslog' => undef, # lib/Sys/Syslog.pm
- 'Term::Cap' => undef, # lib/Term/Cap.pm
- 'Term::Complete' => undef, # lib/Term/Complete.pm
- 'Term::ReadLine' => undef, # lib/Term/ReadLine.pm
- 'Test::Harness' => '1.07', # lib/Test/Harness.pm
- 'Text::Abbrev' => undef, # lib/Text/Abbrev.pm
- 'Text::ParseWords' => undef, # lib/Text/ParseWords.pm
- 'Text::Soundex' => undef, # lib/Text/Soundex.pm
- 'Text::Tabs' => undef, # lib/Text/Tabs.pm
- 'Text::Wrap' => undef, # lib/Text/Wrap.pm
- 'Tie::Hash' => undef, # lib/Tie/Hash.pm
- 'Tie::Scalar' => undef, # lib/Tie/Scalar.pm
- 'Tie::SubstrHash' => undef, # lib/Tie/SubstrHash.pm
- 'Time::Local' => undef, # lib/Time/Local.pm
- 'diagnostics' => undef, # lib/diagnostics.pm
- 'integer' => undef, # lib/integer.pm
- 'less' => undef, # lib/less.pm
- 'lib' => undef, # lib/lib.pm
- 'overload' => undef, # lib/overload.pm
- 'sigtrap' => undef, # lib/sigtrap.pm
- 'strict' => undef, # lib/strict.pm
- 'subs' => undef, # lib/subs.pm
- 'vars' => undef, # lib/vars.pm
+ delta_from => 5.001,
+ changed => {
+ 'DB_File' => '1.01',
+ 'Devel::SelfStubber' => '1.01',
+ 'DirHandle' => undef,
+ 'DynaLoader' => '1.00',
+ 'ExtUtils::Install' => undef,
+ 'ExtUtils::MM_OS2' => undef,
+ 'ExtUtils::MM_Unix' => undef,
+ 'ExtUtils::MM_VMS' => undef,
+ 'ExtUtils::MakeMaker' => '5.21',
+ 'ExtUtils::Manifest' => '1.22',
+ 'ExtUtils::Mksymlists' => '1.00',
+ 'Fcntl' => '1.00',
+ 'File::Copy' => '1.5',
+ 'File::Path' => '1.01',
+ 'FileCache' => undef,
+ 'FileHandle' => '1.00',
+ 'GDBM_File' => '1.00',
+ 'Getopt::Long' => '2.01',
+ 'NDBM_File' => '1.00',
+ 'Net::Ping' => '1',
+ 'ODBM_File' => '1.00',
+ 'POSIX' => '1.00',
+ 'Pod::Functions' => undef,
+ 'Pod::Text' => undef,
+ 'SDBM_File' => '1.00',
+ 'Safe' => '1.00',
+ 'SelectSaver' => undef,
+ 'SelfLoader' => '1.06',
+ 'Socket' => '1.5',
+ 'Symbol' => undef,
+ 'Term::ReadLine' => undef,
+ 'Test::Harness' => '1.07',
+ 'Text::Wrap' => undef,
+ 'Tie::Hash' => undef,
+ 'Tie::Scalar' => undef,
+ 'Tie::SubstrHash' => undef,
+ 'diagnostics' => undef,
+ 'overload' => undef,
+ 'vars' => undef,
+ },
+ removed => {
+ 'SubstrHash' => 1,
+ 'TieHash' => 1,
+ }
},
-
5.00307 => {
- 'AnyDBM_File' => undef, #./lib/AnyDBM_File.pm
- 'AutoLoader' => undef, #./lib/AutoLoader.pm
- 'AutoSplit' => undef, #./lib/AutoSplit.pm
- 'Benchmark' => undef, #./lib/Benchmark.pm
- 'Carp' => undef, #./lib/Carp.pm
- 'Config' => undef,
- 'Cwd' => undef, #./lib/Cwd.pm
- 'DB_File' => '1.03', #./lib/DB_File.pm
- 'Devel::SelfStubber' => '1.01', #./lib/Devel/SelfStubber.pm
- 'diagnostics' => undef, #./lib/diagnostics.pm
- 'DirHandle' => undef, #./lib/DirHandle.pm
- 'DynaLoader' => '1.00', #./ext/DynaLoader/DynaLoader.pm
- 'English' => undef, #./lib/English.pm
- 'Env' => undef, #./lib/Env.pm
- 'Exporter' => undef, #./lib/Exporter.pm
- 'ExtUtils::Embed' => '1.18', #./lib/ExtUtils/Embed.pm
- 'ExtUtils::Install' => '1.15 ', #./lib/ExtUtils/Install.pm
- 'ExtUtils::Liblist' => '1.20 ', #./lib/ExtUtils/Liblist.pm
- 'ExtUtils::MakeMaker' => '5.38', #./lib/ExtUtils/MakeMaker.pm
- 'ExtUtils::Manifest' => '1.27', #./lib/ExtUtils/Manifest.pm
- 'ExtUtils::Mkbootstrap' => '1.13 ', #./lib/ExtUtils/Mkbootstrap.pm
- 'ExtUtils::Mksymlists' => '1.12 ', #./lib/ExtUtils/Mksymlists.pm
- 'ExtUtils::MM_OS2' => undef, #./lib/ExtUtils/MM_OS2.pm
- 'ExtUtils::MM_Unix' => '1.107 ', #./lib/ExtUtils/MM_Unix.pm
- 'ExtUtils::MM_VMS' => undef, #./lib/ExtUtils/MM_VMS.pm
- 'ExtUtils::testlib' => '1.11 ', #./lib/ExtUtils/testlib.pm
- 'Fatal' => undef, #./lib/Fatal.pm
- 'Fcntl' => '1.00', #./ext/Fcntl/Fcntl.pm
- 'File::Basename' => '2.4', #./lib/File/Basename.pm
- 'File::CheckTree' => undef, #./lib/File/CheckTree.pm
- 'File::Copy' => '1.5', #./lib/File/Copy.pm
- 'File::Find' => undef, #./lib/File/Find.pm
- 'File::Path' => '1.01', #./lib/File/Path.pm
- 'FileCache' => undef, #./lib/FileCache.pm
- 'FileHandle' => '1.00', #./ext/FileHandle/FileHandle.pm
- 'FindBin' => '1.04', #./lib/FindBin.pm
- 'GDBM_File' => '1.00', #./ext/GDBM_File/GDBM_File.pm
- 'Getopt::Long' => '2.04', #./lib/Getopt/Long.pm
- 'Getopt::Std' => undef, #./lib/Getopt/Std.pm
- 'I18N::Collate' => undef, #./lib/I18N/Collate.pm
- 'integer' => undef, #./lib/integer.pm
- 'IO' => undef, #./ext/IO/IO.pm
- 'IO::File' => '1.05', #./ext/IO/lib/IO/File.pm
- 'IO::Handle' => '1.12', #./ext/IO/lib/IO/Handle.pm
- 'IO::Pipe' => '1.07', #./ext/IO/lib/IO/Pipe.pm
- 'IO::Seekable' => '1.05', #./ext/IO/lib/IO/Seekable.pm
- 'IO::Select' => '1.09', #./ext/IO/lib/IO/Select.pm
- 'IO::Socket' => '1.13', #./ext/IO/lib/IO/Socket.pm
- 'IPC::Open2' => undef, #./lib/IPC/Open2.pm
- 'IPC::Open3' => undef, #./lib/IPC/Open3.pm
- 'less' => undef, #./lib/less.pm
- 'lib' => undef, #./lib/lib.pm
- 'Math::BigFloat' => undef, #./lib/Math/BigFloat.pm
- 'Math::BigInt' => undef, #./lib/Math/BigInt.pm
- 'Math::Complex' => undef, #./lib/Math/Complex.pm
- 'NDBM_File' => '1.00', #./ext/NDBM_File/NDBM_File.pm
- 'Net::Ping' => '1.01', #./lib/Net/Ping.pm
- 'ODBM_File' => '1.00', #./ext/ODBM_File/ODBM_File.pm
- 'Opcode' => '1.01', #./ext/Opcode/Opcode.pm
- 'ops' => undef, #./ext/Opcode/ops.pm
- 'OS2::ExtAttr' => '0.01', #./os2/OS2/ExtAttr/ExtAttr.pm
- 'OS2::PrfDB' => '0.02', #./os2/OS2/PrfDB/PrfDB.pm
- 'OS2::Process' => undef, #./os2/OS2/Process/Process.pm
- 'OS2::REXX' => undef, #./os2/OS2/REXX/REXX.pm
- 'overload' => undef, #./lib/overload.pm
- 'Pod::Functions' => undef, #./lib/Pod/Functions.pm
- 'Pod::Text' => undef, #./lib/Pod/Text.pm
- 'POSIX' => '1.00', #./ext/POSIX/POSIX.pm
- 'Safe' => '2.06', #./ext/Opcode/Safe.pm
- 'SDBM_File' => '1.00', #./ext/SDBM_File/SDBM_File.pm
- 'Search::Dict' => undef, #./lib/Search/Dict.pm
- 'SelectSaver' => undef, #./lib/SelectSaver.pm
- 'SelfLoader' => '1.06', #./lib/SelfLoader.pm
- 'Shell' => undef, #./lib/Shell.pm
- 'sigtrap' => '1.01', #./lib/sigtrap.pm
- 'Socket' => '1.5', #./ext/Socket/Socket.pm
- 'strict' => undef, #./lib/strict.pm
- 'subs' => undef, #./lib/subs.pm
- 'Symbol' => undef, #./lib/Symbol.pm
- 'Sys::Hostname' => undef, #./lib/Sys/Hostname.pm
- 'Sys::Syslog' => undef, #./lib/Sys/Syslog.pm
- 'Term::Cap' => undef, #./lib/Term/Cap.pm
- 'Term::Complete' => undef, #./lib/Term/Complete.pm
- 'Term::ReadLine' => undef, #./lib/Term/ReadLine.pm
- 'Test::Harness' => '1.13', #./lib/Test/Harness.pm
- 'Text::Abbrev' => undef, #./lib/Text/Abbrev.pm
- 'Text::ParseWords' => undef, #./lib/Text/ParseWords.pm
- 'Text::Soundex' => undef, #./lib/Text/Soundex.pm
- 'Text::Tabs' => '96.051501', #./lib/Text/Tabs.pm
- 'Text::Wrap' => '96.041801', #./lib/Text/Wrap.pm
- 'Tie::Hash' => undef, #./lib/Tie/Hash.pm
- 'Tie::Scalar' => undef, #./lib/Tie/Scalar.pm
- 'Tie::SubstrHash' => undef, #./lib/Tie/SubstrHash.pm
- 'Time::Local' => undef, #./lib/Time/Local.pm
- 'UNIVERSAL' => undef, #./lib/UNIVERSAL.pm
- 'vars' => undef, #./lib/vars.pm
- 'VMS::Filespec' => undef, #./vms/ext/Filespec.pm
- 'VMS::Stdio' => '2.0', #./vms/ext/Stdio/Stdio.pm
+ delta_from => 5.002,
+ changed => {
+ 'Config' => undef,
+ 'DB_File' => '1.03',
+ 'ExtUtils::Embed' => '1.18',
+ 'ExtUtils::Install' => '1.15 ',
+ 'ExtUtils::Liblist' => '1.20 ',
+ 'ExtUtils::MM_Unix' => '1.107 ',
+ 'ExtUtils::MakeMaker' => '5.38',
+ 'ExtUtils::Manifest' => '1.27',
+ 'ExtUtils::Mkbootstrap' => '1.13 ',
+ 'ExtUtils::Mksymlists' => '1.12 ',
+ 'ExtUtils::testlib' => '1.11 ',
+ 'Fatal' => undef,
+ 'File::Basename' => '2.4',
+ 'FindBin' => '1.04',
+ 'Getopt::Long' => '2.04',
+ 'IO' => undef,
+ 'IO::File' => '1.05',
+ 'IO::Handle' => '1.12',
+ 'IO::Pipe' => '1.07',
+ 'IO::Seekable' => '1.05',
+ 'IO::Select' => '1.09',
+ 'IO::Socket' => '1.13',
+ 'Net::Ping' => '1.01',
+ 'OS2::ExtAttr' => '0.01',
+ 'OS2::PrfDB' => '0.02',
+ 'OS2::Process' => undef,
+ 'OS2::REXX' => undef,
+ 'Opcode' => '1.01',
+ 'Safe' => '2.06',
+ 'Test::Harness' => '1.13',
+ 'Text::Tabs' => '96.051501',
+ 'Text::Wrap' => '96.041801',
+ 'UNIVERSAL' => undef,
+ 'VMS::Filespec' => undef,
+ 'VMS::Stdio' => '2.0',
+ 'ops' => undef,
+ 'sigtrap' => '1.01',
+ },
+ removed => {
+ }
},
-
- 5.004 => {
- 'AnyDBM_File' => undef, #./lib/AnyDBM_File.pm
- 'AutoLoader' => undef, #./lib/AutoLoader.pm
- 'AutoSplit' => undef, #./lib/AutoSplit.pm
- 'autouse' => '1.01', #./lib/autouse.pm
- 'Benchmark' => undef, #./lib/Benchmark.pm
- 'blib' => undef, #./lib/blib.pm
- 'Bundle::CPAN' => '0.02', #./lib/Bundle/CPAN.pm
- 'Carp' => undef, #./lib/Carp.pm
- 'CGI' => '2.36', #./lib/CGI.pm
- 'CGI::Apache' => '1.01', #./lib/CGI/Apache.pm
- 'CGI::Carp' => '1.06', #./lib/CGI/Carp.pm
- 'CGI::Fast' => '1.00a', #./lib/CGI/Fast.pm
- 'CGI::Push' => '1.00', #./lib/CGI/Push.pm
- 'CGI::Switch' => '0.05', #./lib/CGI/Switch.pm
- 'Class::Struct' => undef, #./lib/Class/Struct.pm
- 'Config' => undef,
- 'constant' => '1.00', #./lib/constant.pm
- 'CPAN' => '1.2401', #./lib/CPAN.pm
- 'CPAN::FirstTime' => '1.18 ', #./lib/CPAN/FirstTime.pm
- 'CPAN::Nox' => undef, #./lib/CPAN/Nox.pm
- 'Cwd' => '2.00', #./lib/Cwd.pm
- 'DB_File' => '1.14', #./ext/DB_File/DB_File.pm
- 'Devel::SelfStubber' => '1.01', #./lib/Devel/SelfStubber.pm
- 'diagnostics' => undef, #./lib/diagnostics.pm
- 'DirHandle' => undef, #./lib/DirHandle.pm
- 'DynaLoader' => '1.02', #./ext/DynaLoader/DynaLoader.pm
- 'English' => undef, #./lib/English.pm
- 'Env' => undef, #./lib/Env.pm
- 'Exporter' => undef, #./lib/Exporter.pm
- 'ExtUtils::Command' => '1.00', #./lib/ExtUtils/Command.pm
- 'ExtUtils::Embed' => '1.2501', #./lib/ExtUtils/Embed.pm
- 'ExtUtils::Install' => '1.16 ', #./lib/ExtUtils/Install.pm
- 'ExtUtils::Liblist' => '1.2201 ', #./lib/ExtUtils/Liblist.pm
- 'ExtUtils::MakeMaker' => '5.4002', #./lib/ExtUtils/MakeMaker.pm
- 'ExtUtils::Manifest' => '1.33 ', #./lib/ExtUtils/Manifest.pm
- 'ExtUtils::Mkbootstrap' => '1.13 ', #./lib/ExtUtils/Mkbootstrap.pm
- 'ExtUtils::Mksymlists' => '1.13 ', #./lib/ExtUtils/Mksymlists.pm
- 'ExtUtils::MM_OS2' => undef, #./lib/ExtUtils/MM_OS2.pm
- 'ExtUtils::MM_Unix' => '1.114 ', #./lib/ExtUtils/MM_Unix.pm
- 'ExtUtils::MM_VMS' => undef, #./lib/ExtUtils/MM_VMS.pm
- 'ExtUtils::MM_Win32' => undef, #./lib/ExtUtils/MM_Win32.pm
- 'ExtUtils::testlib' => '1.11 ', #./lib/ExtUtils/testlib.pm
- 'ExtUtils::XSSymSet' => '1.0', #./vms/ext/XSSymSet.pm
- 'Fcntl' => '1.03', #./ext/Fcntl/Fcntl.pm
- 'File::Basename' => '2.5', #./lib/File/Basename.pm
- 'File::CheckTree' => undef, #./lib/File/CheckTree.pm
- 'File::Compare' => '1.1001', #./lib/File/Compare.pm
- 'File::Copy' => '2.02', #./lib/File/Copy.pm
- 'File::Find' => undef, #./lib/File/Find.pm
- 'File::Path' => '1.04', #./lib/File/Path.pm
- 'File::stat' => undef, #./lib/File/stat.pm
- 'FileCache' => undef, #./lib/FileCache.pm
- 'FileHandle' => '2.00', #./lib/FileHandle.pm
- 'FindBin' => '1.04', #./lib/FindBin.pm
- 'GDBM_File' => '1.00', #./ext/GDBM_File/GDBM_File.pm
- 'Getopt::Long' => '2.10', #./lib/Getopt/Long.pm
- 'Getopt::Std' => undef, #./lib/Getopt/Std.pm
- 'I18N::Collate' => undef, #./lib/I18N/Collate.pm
- 'integer' => undef, #./lib/integer.pm
- 'IO' => undef, #./ext/IO/IO.pm
- 'IO::File' => '1.0602', #./ext/IO/lib/IO/File.pm
- 'IO::Handle' => '1.1504', #./ext/IO/lib/IO/Handle.pm
- 'IO::Pipe' => '1.0901', #./ext/IO/lib/IO/Pipe.pm
- 'IO::Seekable' => '1.06', #./ext/IO/lib/IO/Seekable.pm
- 'IO::Select' => '1.10', #./ext/IO/lib/IO/Select.pm
- 'IO::Socket' => '1.1602', #./ext/IO/lib/IO/Socket.pm
- 'IPC::Open2' => '1.01', #./lib/IPC/Open2.pm
- 'IPC::Open3' => '1.0101', #./lib/IPC/Open3.pm
- 'less' => undef, #./lib/less.pm
- 'lib' => undef, #./lib/lib.pm
- 'locale' => undef, #./lib/locale.pm
- 'Math::BigFloat' => undef, #./lib/Math/BigFloat.pm
- 'Math::BigInt' => undef, #./lib/Math/BigInt.pm
- 'Math::Complex' => '1.01', #./lib/Math/Complex.pm
- 'Math::Trig' => '1', #./lib/Math/Trig.pm
- 'NDBM_File' => '1.00', #./ext/NDBM_File/NDBM_File.pm
- 'Net::hostent' => undef, #./lib/Net/hostent.pm
- 'Net::netent' => undef, #./lib/Net/netent.pm
- 'Net::Ping' => '2.02', #./lib/Net/Ping.pm
- 'Net::protoent' => undef, #./lib/Net/protoent.pm
- 'Net::servent' => undef, #./lib/Net/servent.pm
- 'ODBM_File' => '1.00', #./ext/ODBM_File/ODBM_File.pm
- 'Opcode' => '1.04', #./ext/Opcode/Opcode.pm
- 'ops' => undef, #./ext/Opcode/ops.pm
- 'Safe' => '2.06', #./ext/Opcode/Safe.pm
- 'OS2::ExtAttr' => '0.01', #./os2/OS2/ExtAttr/ExtAttr.pm
- 'OS2::PrfDB' => '0.02', #./os2/OS2/PrfDB/PrfDB.pm
- 'OS2::Process' => undef, #./os2/OS2/Process/Process.pm
- 'OS2::REXX' => undef, #./os2/OS2/REXX/REXX.pm
- 'overload' => undef, #./lib/overload.pm
- 'Pod::Functions' => undef, #./lib/Pod/Functions.pm
- 'Pod::Html' => undef, #./lib/Pod/Html.pm
- 'Pod::Text' => '1.0203', #./lib/Pod/Text.pm
- 'POSIX' => '1.02', #./ext/POSIX/POSIX.pm
- 'SDBM_File' => '1.00', #./ext/SDBM_File/SDBM_File.pm
- 'Search::Dict' => undef, #./lib/Search/Dict.pm
- 'SelectSaver' => undef, #./lib/SelectSaver.pm
- 'SelfLoader' => '1.07', #./lib/SelfLoader.pm
- 'Shell' => undef, #./lib/Shell.pm
- 'sigtrap' => '1.02', #./lib/sigtrap.pm
- 'Socket' => '1.6', #./ext/Socket/Socket.pm
- 'strict' => undef, #./lib/strict.pm
- 'subs' => undef, #./lib/subs.pm
- 'Symbol' => '1.02', #./lib/Symbol.pm
- 'Sys::Hostname' => undef, #./lib/Sys/Hostname.pm
- 'Sys::Syslog' => undef, #./lib/Sys/Syslog.pm
- 'Term::Cap' => undef, #./lib/Term/Cap.pm
- 'Term::Complete' => undef, #./lib/Term/Complete.pm
- 'Term::ReadLine' => undef, #./lib/Term/ReadLine.pm
- 'Test::Harness' => '1.1502', #./lib/Test/Harness.pm
- 'Text::Abbrev' => undef, #./lib/Text/Abbrev.pm
- 'Text::ParseWords' => undef, #./lib/Text/ParseWords.pm
- 'Text::Soundex' => undef, #./lib/Text/Soundex.pm
- 'Text::Tabs' => '96.121201', #./lib/Text/Tabs.pm
- 'Text::Wrap' => '97.011701', #./lib/Text/Wrap.pm
- 'Tie::Hash' => undef, #./lib/Tie/Hash.pm
- 'Tie::RefHash' => undef, #./lib/Tie/RefHash.pm
- 'Tie::Scalar' => undef, #./lib/Tie/Scalar.pm
- 'Tie::SubstrHash' => undef, #./lib/Tie/SubstrHash.pm
- 'Time::gmtime' => '1.01', #./lib/Time/gmtime.pm
- 'Time::Local' => undef, #./lib/Time/Local.pm
- 'Time::localtime' => '1.01', #./lib/Time/localtime.pm
- 'Time::tm' => undef, #./lib/Time/tm.pm
- 'UNIVERSAL' => undef, #./lib/UNIVERSAL.pm
- 'User::grent' => undef, #./lib/User/grent.pm
- 'User::pwent' => undef, #./lib/User/pwent.pm
- 'vars' => undef, #./lib/vars.pm
- 'VMS::DCLsym' => '1.01', #./vms/ext/DCLsym/DCLsym.pm
- 'VMS::Filespec' => undef, #./vms/ext/Filespec.pm
- 'VMS::Stdio' => '2.02', #./vms/ext/Stdio/Stdio.pm
- 'vmsish' => undef, #./vms/ext/vmsish.pm
+ 5.004 => {
+ delta_from => 5.00307,
+ changed => {
+ 'Bundle::CPAN' => '0.02',
+ 'CGI' => '2.36',
+ 'CGI::Apache' => '1.01',
+ 'CGI::Carp' => '1.06',
+ 'CGI::Fast' => '1.00a',
+ 'CGI::Push' => '1.00',
+ 'CGI::Switch' => '0.05',
+ 'CPAN' => '1.2401',
+ 'CPAN::FirstTime' => '1.18 ',
+ 'CPAN::Nox' => undef,
+ 'Class::Struct' => undef,
+ 'Cwd' => '2.00',
+ 'DB_File' => '1.14',
+ 'DynaLoader' => '1.02',
+ 'ExtUtils::Command' => '1.00',
+ 'ExtUtils::Embed' => '1.2501',
+ 'ExtUtils::Install' => '1.16 ',
+ 'ExtUtils::Liblist' => '1.2201 ',
+ 'ExtUtils::MM_Unix' => '1.114 ',
+ 'ExtUtils::MM_Win32' => undef,
+ 'ExtUtils::MakeMaker' => '5.4002',
+ 'ExtUtils::Manifest' => '1.33 ',
+ 'ExtUtils::Mksymlists' => '1.13 ',
+ 'ExtUtils::XSSymSet' => '1.0',
+ 'Fcntl' => '1.03',
+ 'File::Basename' => '2.5',
+ 'File::Compare' => '1.1001',
+ 'File::Copy' => '2.02',
+ 'File::Path' => '1.04',
+ 'File::stat' => undef,
+ 'FileHandle' => '2.00',
+ 'Getopt::Long' => '2.10',
+ 'IO::File' => '1.0602',
+ 'IO::Handle' => '1.1504',
+ 'IO::Pipe' => '1.0901',
+ 'IO::Seekable' => '1.06',
+ 'IO::Select' => '1.10',
+ 'IO::Socket' => '1.1602',
+ 'IPC::Open2' => '1.01',
+ 'IPC::Open3' => '1.0101',
+ 'Math::Complex' => '1.01',
+ 'Math::Trig' => '1',
+ 'Net::Ping' => '2.02',
+ 'Net::hostent' => undef,
+ 'Net::netent' => undef,
+ 'Net::protoent' => undef,
+ 'Net::servent' => undef,
+ 'Opcode' => '1.04',
+ 'POSIX' => '1.02',
+ 'Pod::Html' => undef,
+ 'Pod::Text' => '1.0203',
+ 'SelfLoader' => '1.07',
+ 'Socket' => '1.6',
+ 'Symbol' => '1.02',
+ 'Test::Harness' => '1.1502',
+ 'Text::Tabs' => '96.121201',
+ 'Text::Wrap' => '97.011701',
+ 'Tie::RefHash' => undef,
+ 'Time::gmtime' => '1.01',
+ 'Time::localtime' => '1.01',
+ 'Time::tm' => undef,
+ 'User::grent' => undef,
+ 'User::pwent' => undef,
+ 'VMS::DCLsym' => '1.01',
+ 'VMS::Stdio' => '2.02',
+ 'autouse' => '1.01',
+ 'blib' => undef,
+ 'constant' => '1.00',
+ 'locale' => undef,
+ 'sigtrap' => '1.02',
+ 'vmsish' => undef,
+ },
+ removed => {
+ 'Fatal' => 1,
+ }
},
-
- 5.005 => {
- 'AnyDBM_File' => undef, #./lib/AnyDBM_File.pm
- 'attrs' => '1.0', #./ext/attrs/attrs.pm
- 'AutoLoader' => undef, #./lib/AutoLoader.pm
- 'AutoSplit' => '1.0302', #./lib/AutoSplit.pm
- 'autouse' => '1.01', #./lib/autouse.pm
- 'B' => undef, #./ext/B/B.pm
- 'B::Asmdata' => undef, #./ext/B/B/Asmdata.pm
- 'B::Assembler' => undef, #./ext/B/B/Assembler.pm
- 'B::Bblock' => undef, #./ext/B/B/Bblock.pm
- 'B::Bytecode' => undef, #./ext/B/B/Bytecode.pm
- 'B::C' => undef, #./ext/B/B/C.pm
- 'B::CC' => undef, #./ext/B/B/CC.pm
- 'B::Debug' => undef, #./ext/B/B/Debug.pm
- 'B::Deparse' => '0.56', #./ext/B/B/Deparse.pm
- 'B::Disassembler' => undef, #./ext/B/B/Disassembler.pm
- 'B::Lint' => undef, #./ext/B/B/Lint.pm
- 'B::Showlex' => undef, #./ext/B/B/Showlex.pm
- 'B::Stackobj' => undef, #./ext/B/B/Stackobj.pm
- 'B::Terse' => undef, #./ext/B/B/Terse.pm
- 'B::Xref' => undef, #./ext/B/B/Xref.pm
- 'base' => undef, #./lib/base.pm
- 'Benchmark' => undef, #./lib/Benchmark.pm
- 'blib' => '1.00', #./lib/blib.pm
- 'Carp' => undef, #./lib/Carp.pm
- 'CGI' => '2.42', #./lib/CGI.pm
- 'CGI::Apache' => '1.1', #./lib/CGI/Apache.pm
- 'CGI::Carp' => '1.101', #./lib/CGI/Carp.pm
- 'CGI::Cookie' => '1.06', #./lib/CGI/Cookie.pm
- 'CGI::Fast' => '1.00a', #./lib/CGI/Fast.pm
- 'CGI::Push' => '1.01', #./lib/CGI/Push.pm
- 'CGI::Switch' => '0.06', #./lib/CGI/Switch.pm
- 'Class::Struct' => undef, #./lib/Class/Struct.pm
- 'Config' => undef,
- 'constant' => '1.00', #./lib/constant.pm
- 'CPAN' => '1.3901', #./lib/CPAN.pm
- 'CPAN::FirstTime' => '1.29 ', #./lib/CPAN/FirstTime.pm
- 'CPAN::Nox' => undef, #./lib/CPAN/Nox.pm
- 'Cwd' => '2.01', #./lib/Cwd.pm
- 'Data::Dumper' => '2.09', #./ext/Data/Dumper/Dumper.pm
- 'DB_File' => '1.60', #./ext/DB_File/DB_File.pm
- 'Devel::SelfStubber' => '1.01', #./lib/Devel/SelfStubber.pm
- 'DynaLoader' => '1.03',
- 'diagnostics' => undef, #./lib/diagnostics.pm
- 'DirHandle' => undef, #./lib/DirHandle.pm
- 'English' => undef, #./lib/English.pm
- 'Env' => undef, #./lib/Env.pm
- 'Exporter' => undef, #./lib/Exporter.pm
- 'ExtUtils::Command' => '1.01', #./lib/ExtUtils/Command.pm
- 'ExtUtils::Embed' => '1.2505', #./lib/ExtUtils/Embed.pm
- 'ExtUtils::Install' => '1.28 ', #./lib/ExtUtils/Install.pm
- 'ExtUtils::Installed' => '0.02', #./lib/ExtUtils/Installed.pm
- 'ExtUtils::Liblist' => '1.25 ', #./lib/ExtUtils/Liblist.pm
- 'ExtUtils::MakeMaker' => '5.4301', #./lib/ExtUtils/MakeMaker.pm
- 'ExtUtils::Manifest' => '1.33 ', #./lib/ExtUtils/Manifest.pm
- 'ExtUtils::Mkbootstrap' => '1.13 ', #./lib/ExtUtils/Mkbootstrap.pm
- 'ExtUtils::Mksymlists' => '1.17 ', #./lib/ExtUtils/Mksymlists.pm
- 'ExtUtils::MM_OS2' => undef, #./lib/ExtUtils/MM_OS2.pm
- 'ExtUtils::MM_Unix' => '1.12601 ', #./lib/ExtUtils/MM_Unix.pm
- 'ExtUtils::MM_VMS' => undef, #./lib/ExtUtils/MM_VMS.pm
- 'ExtUtils::MM_Win32' => undef, #./lib/ExtUtils/MM_Win32.pm
- 'ExtUtils::Packlist' => '0.03', #./lib/ExtUtils/Packlist.pm
- 'ExtUtils::testlib' => '1.11 ', #./lib/ExtUtils/testlib.pm
- 'ExtUtils::XSSymSet' => '1.0', #./vms/ext/XSSymSet.pm
- 'Fatal' => '1.02', #./lib/Fatal.pm
- 'Fcntl' => '1.03', #./ext/Fcntl/Fcntl.pm
- 'fields' => '0.02', #./lib/fields.pm
- 'File::Basename' => '2.6', #./lib/File/Basename.pm
- 'File::CheckTree' => undef, #./lib/File/CheckTree.pm
- 'File::Compare' => '1.1001', #./lib/File/Compare.pm
- 'File::Copy' => '2.02', #./lib/File/Copy.pm
- 'File::DosGlob' => undef, #./lib/File/DosGlob.pm
- 'File::Find' => undef, #./lib/File/Find.pm
- 'File::Path' => '1.0401', #./lib/File/Path.pm
- 'File::Spec' => '0.6', #./lib/File/Spec.pm
- 'File::Spec::Mac' => '1.0', #./lib/File/Spec/Mac.pm
- 'File::Spec::OS2' => undef, #./lib/File/Spec/OS2.pm
- 'File::Spec::Unix' => undef, #./lib/File/Spec/Unix.pm
- 'File::Spec::VMS' => undef, #./lib/File/Spec/VMS.pm
- 'File::Spec::Win32' => undef, #./lib/File/Spec/Win32.pm
- 'File::stat' => undef, #./lib/File/stat.pm
- 'FileCache' => undef, #./lib/FileCache.pm
- 'FileHandle' => '2.00', #./lib/FileHandle.pm
- 'FindBin' => '1.41', #./lib/FindBin.pm
- 'GDBM_File' => '1.00', #./ext/GDBM_File/GDBM_File.pm
- 'Getopt::Long' => '2.17', #./lib/Getopt/Long.pm
- 'Getopt::Std' => undef, #./lib/Getopt/Std.pm
- 'I18N::Collate' => undef, #./lib/I18N/Collate.pm
- 'integer' => undef, #./lib/integer.pm
- 'IO' => undef, #./ext/IO/IO.pm
- 'IO::File' => '1.06021', #./ext/IO/lib/IO/File.pm
- 'IO::Handle' => '1.1505', #./ext/IO/lib/IO/Handle.pm
- 'IO::Pipe' => '1.0901', #./ext/IO/lib/IO/Pipe.pm
- 'IO::Seekable' => '1.06', #./ext/IO/lib/IO/Seekable.pm
- 'IO::Select' => '1.10', #./ext/IO/lib/IO/Select.pm
- 'IO::Socket' => '1.1603', #./ext/IO/lib/IO/Socket.pm
- 'IPC::Open2' => '1.01', #./lib/IPC/Open2.pm
- 'IPC::Open3' => '1.0102', #./lib/IPC/Open3.pm
- 'IPC::Msg' => '1.00', #./ext/IPC/SysV/Msg.pm
- 'IPC::Semaphore' => '1.00', #./ext/IPC/SysV/Semaphore.pm
- 'IPC::SysV' => '1.03', #./ext/IPC/SysV/SysV.pm
- 'less' => undef, #./lib/less.pm
- 'lib' => undef, #./lib/lib.pm
- 'locale' => undef, #./lib/locale.pm
- 'Math::BigFloat' => undef, #./lib/Math/BigFloat.pm
- 'Math::BigInt' => undef, #./lib/Math/BigInt.pm
- 'Math::Complex' => '1.25', #./lib/Math/Complex.pm
- 'Math::Trig' => '1', #./lib/Math/Trig.pm
- 'NDBM_File' => '1.01', #./ext/NDBM_File/NDBM_File.pm
- 'Net::hostent' => undef, #./lib/Net/hostent.pm
- 'Net::netent' => undef, #./lib/Net/netent.pm
- 'Net::Ping' => '2.02', #./lib/Net/Ping.pm
- 'Net::protoent' => undef, #./lib/Net/protoent.pm
- 'Net::servent' => undef, #./lib/Net/servent.pm
- 'O' => undef, #./ext/B/O.pm
- 'ODBM_File' => '1.00', #./ext/ODBM_File/ODBM_File.pm
- 'Opcode' => '1.04', #./ext/Opcode/Opcode.pm
- 'ops' => undef, #./ext/Opcode/ops.pm
- 'Safe' => '2.06', #./ext/Opcode/Safe.pm
- 'OS2::ExtAttr' => '0.01', #./os2/OS2/ExtAttr/ExtAttr.pm
- 'OS2::PrfDB' => '0.02', #./os2/OS2/PrfDB/PrfDB.pm
- 'OS2::Process' => '0.2', #./os2/OS2/Process/Process.pm
- 'OS2::REXX' => undef, #./os2/OS2/REXX/REXX.pm
- 'overload' => undef, #./lib/overload.pm
- 'Pod::Functions' => undef, #./lib/Pod/Functions.pm
- 'Pod::Html' => '1.01', #./lib/Pod/Html.pm
- 'Pod::Text' => '1.0203', #./lib/Pod/Text.pm
- 'POSIX' => '1.02', #./ext/POSIX/POSIX.pm
- 're' => '0.02', #./ext/re/re.pm
- 'SDBM_File' => '1.00', #./ext/SDBM_File/SDBM_File.pm
- 'Search::Dict' => undef, #./lib/Search/Dict.pm
- 'SelectSaver' => undef, #./lib/SelectSaver.pm
- 'SelfLoader' => '1.08', #./lib/SelfLoader.pm
- 'Shell' => undef, #./lib/Shell.pm
- 'sigtrap' => '1.02', #./lib/sigtrap.pm
- 'Socket' => '1.7', #./ext/Socket/Socket.pm
- 'strict' => '1.01', #./lib/strict.pm
- 'subs' => undef, #./lib/subs.pm
- 'Symbol' => '1.02', #./lib/Symbol.pm
- 'Sys::Hostname' => undef, #./lib/Sys/Hostname.pm
- 'Sys::Syslog' => undef, #./lib/Sys/Syslog.pm
- 'Term::Cap' => undef, #./lib/Term/Cap.pm
- 'Term::Complete' => undef, #./lib/Term/Complete.pm
- 'Term::ReadLine' => undef, #./lib/Term/ReadLine.pm
- 'Test' => '1.04', #./lib/Test.pm
- 'Test::Harness' => '1.1602', #./lib/Test/Harness.pm
- 'Text::Abbrev' => undef, #./lib/Text/Abbrev.pm
- 'Text::ParseWords' => '3.1', #./lib/Text/ParseWords.pm
- 'Text::Soundex' => undef, #./lib/Text/Soundex.pm
- 'Text::Tabs' => '96.121201', #./lib/Text/Tabs.pm
- 'Text::Wrap' => '97.02', #./lib/Text/Wrap.pm
- 'Thread' => '1.0', #./ext/Thread/Thread.pm
- 'Thread::Queue' => undef, #./ext/Thread/Thread/Queue.pm
- 'Thread::Semaphore' => undef, #./ext/Thread/Thread/Semaphore.pm
- 'Thread::Signal' => undef, #./ext/Thread/Thread/Signal.pm
- 'Thread::Specific' => undef, #./ext/Thread/Thread/Specific.pm
- 'Tie::Array' => '1.00', #./lib/Tie/Array.pm
- 'Tie::Handle' => undef, #./lib/Tie/Handle.pm
- 'Tie::Hash' => undef, #./lib/Tie/Hash.pm
- 'Tie::RefHash' => undef, #./lib/Tie/RefHash.pm
- 'Tie::Scalar' => undef, #./lib/Tie/Scalar.pm
- 'Tie::SubstrHash' => undef, #./lib/Tie/SubstrHash.pm
- 'Time::gmtime' => '1.01', #./lib/Time/gmtime.pm
- 'Time::Local' => undef, #./lib/Time/Local.pm
- 'Time::localtime' => '1.01', #./lib/Time/localtime.pm
- 'Time::tm' => undef, #./lib/Time/tm.pm
- 'UNIVERSAL' => undef, #./lib/UNIVERSAL.pm
- 'User::grent' => undef, #./lib/User/grent.pm
- 'User::pwent' => undef, #./lib/User/pwent.pm
- 'vars' => undef, #./lib/vars.pm
- 'VMS::DCLsym' => '1.01', #./vms/ext/DCLsym/DCLsym.pm
- 'VMS::Filespec' => undef, #./vms/ext/Filespec.pm
- 'VMS::Stdio' => '2.1', #./vms/ext/Stdio/Stdio.pm
- 'vmsish' => undef, #./vms/ext/vmsish.pm
+ 5.00405 => {
+ delta_from => 5.004,
+ changed => {
+ 'AutoLoader' => '5.56',
+ 'AutoSplit' => '1.0303',
+ 'Bundle::CPAN' => '0.03',
+ 'CGI' => '2.42',
+ 'CGI::Apache' => '1.1',
+ 'CGI::Carp' => '1.10',
+ 'CGI::Cookie' => '1.06',
+ 'CGI::Push' => '1.01',
+ 'CGI::Switch' => '0.06',
+ 'CPAN' => '1.40',
+ 'CPAN::FirstTime' => '1.30 ',
+ 'Cwd' => '2.01',
+ 'DB_File' => '1.15',
+ 'DynaLoader' => '1.03',
+ 'ExtUtils::Command' => '1.01',
+ 'ExtUtils::Embed' => '1.2505',
+ 'ExtUtils::Install' => '1.28 ',
+ 'ExtUtils::Liblist' => '1.25 ',
+ 'ExtUtils::MM_Unix' => '1.118 ',
+ 'ExtUtils::MakeMaker' => '5.42',
+ 'ExtUtils::Mkbootstrap' => '1.14 ',
+ 'ExtUtils::Mksymlists' => '1.16 ',
+ 'File::Basename' => '2.6',
+ 'File::DosGlob' => undef,
+ 'File::Path' => '1.0402',
+ 'File::Spec' => '0.6',
+ 'File::Spec::Mac' => '1.0',
+ 'File::Spec::OS2' => undef,
+ 'File::Spec::Unix' => undef,
+ 'File::Spec::VMS' => undef,
+ 'File::Spec::Win32' => undef,
+ 'FindBin' => '1.41',
+ 'Getopt::Long' => '2.19',
+ 'IO::File' => '1.06021',
+ 'IO::Socket' => '1.1603',
+ 'IPC::Open3' => '1.0103',
+ 'Math::Complex' => '1.25',
+ 'NDBM_File' => '1.01',
+ 'Pod::Html' => '1.0101',
+ 'Pod::Text' => '1.0204',
+ 'SelfLoader' => '1.08',
+ 'Socket' => '1.7',
+ 'Test' => '1.04',
+ 'Test::Harness' => '1.1602',
+ 'Text::ParseWords' => '3.1001',
+ 'Text::Wrap' => '98.112902',
+ 'Tie::Handle' => undef,
+ 'attrs' => '0.1',
+ 'base' => undef,
+ 'blib' => '1.00',
+ 're' => undef,
+ 'strict' => '1.01',
+ },
+ removed => {
+ }
},
-
- 5.00503 => {
- 'AnyDBM_File' => undef,
- 'attrs' => '1.0',
- 'AutoLoader' => undef,
- 'AutoSplit' => 1.0303,
- 'autouse' => 1.01,
- 'B::Asmdata' => undef,
- 'B::Assembler' => undef,
- 'B::Bblock' => undef,
- 'B::Bytecode' => undef,
- 'B::C' => undef,
- 'B::CC' => undef,
- 'B::Debug' => undef,
- 'B::Deparse' => 0.56,
- 'B::Disassembler' => undef,
- 'B::Lint' => undef,
- 'B' => undef,
- 'B::Showlex' => undef,
- 'B::Stackobj' => undef,
- 'B::Terse' => undef,
- 'B::Xref' => undef,
- 'base' => undef,
- 'Benchmark' => undef,
- 'blib' => '1.00',
- 'Carp' => undef,
- 'CGI' => 2.46,
- 'CGI::Apache' => 1.1,
- 'CGI::Carp' => 1.13,
- 'CGI::Cookie' => 1.06,
- 'CGI::Fast' => 1.01,
- 'CGI::Push' => 1.01,
- 'CGI::Switch' => 0.06,
- 'Class::Struct' => undef,
- 'Config' => undef,
- 'constant' => '1.00',
- 'CPAN::FirstTime' => 1.36 ,
- 'CPAN' => 1.48,
- 'CPAN::Nox' => '1.00',
- 'Cwd' => 2.01,
- 'Data::Dumper' => 2.101,
- 'DB_File' => 1.65,
- 'Devel::SelfStubber' => 1.01,
- 'diagnostics' => undef,
- 'DirHandle' => undef,
- 'Dumpvalue' => undef,
- 'DynaLoader' => 1.03,
- 'English' => undef,
- 'Env' => undef,
- 'Exporter' => undef,
- 'ExtUtils::Command' => 1.01,
- 'ExtUtils::Embed' => 1.2505,
- 'ExtUtils::Install' => 1.28 ,
- 'ExtUtils::Installed' => 0.02,
- 'ExtUtils::Liblist' => 1.25 ,
- 'ExtUtils::MakeMaker' => 5.4302,
- 'ExtUtils::Manifest' => 1.33 ,
- 'ExtUtils::Mkbootstrap' => 1.14 ,
- 'ExtUtils::Mksymlists' => 1.17 ,
- 'ExtUtils::MM_OS2' => undef,
- 'ExtUtils::MM_Unix' => 1.12602 ,
- 'ExtUtils::MM_VMS' => undef,
- 'ExtUtils::MM_Win32' => undef,
- 'ExtUtils::Packlist' => 0.03,
- 'ExtUtils::testlib' => 1.11 ,
- 'ExtUtils::XSSymSet' => '1.0',
- 'Fatal' => 1.02,
- 'Fcntl' => 1.03,
- 'fields' => 0.02,
- 'File::Basename' => 2.6,
- 'File::CheckTree' => undef,
- 'File::Compare' => 1.1001,
- 'File::Copy' => 2.02,
- 'File::DosGlob' => undef,
- 'File::Find' => undef,
- 'File::Path' => 1.0401,
- 'File::Spec' => 0.6,
- 'File::Spec::Mac' => '1.0',
- 'File::Spec::OS2' => undef,
- 'File::Spec::Unix' => undef,
- 'File::Spec::VMS' => undef,
- 'File::Spec::Win32' => undef,
- 'File::stat' => undef,
- 'FileCache' => undef,
- 'FileHandle' => '2.00',
- 'FindBin' => 1.42,
- 'GDBM_File' => '1.00',
- 'Getopt::Long' => 2.19,
- 'Getopt::Std' => 1.01,
- 'I18N::Collate' => undef,
- 'integer' => undef,
- 'IO' => undef,
- 'IO::File' => 1.06021,
- 'IO::Handle' => 1.1505,
- 'IO::Pipe' => 1.0902,
- 'IO::Seekable' => 1.06,
- 'IO::Select' => '1.10',
- 'IO::Socket' => 1.1603,
- 'IPC::Msg' => '1.00',
- 'IPC::Open2' => 1.01,
- 'IPC::Open3' => 1.0103,
- 'IPC::Semaphore' => '1.00',
- 'IPC::SysV' => 1.03,
- 'less' => undef,
- 'lib' => undef,
- 'locale' => undef,
- 'Math::BigFloat' => undef,
- 'Math::BigInt' => undef,
- 'Math::Complex' => 1.26,
- 'Math::Trig' => 1,
- 'NDBM_File' => 1.01,
- 'Net::hostent' => undef,
- 'Net::netent' => undef,
- 'Net::Ping' => 2.02,
- 'Net::protoent' => undef,
- 'Net::servent' => undef,
- 'O' => undef,
- 'ODBM_File' => '1.00',
- 'Opcode' => 1.04,
- 'ops' => undef,
- 'OS2::ExtAttr' => 0.01,
- 'OS2::PrfDB' => 0.02,
- 'OS2::Process' => 0.2,
- 'OS2::REXX' => undef,
- 'overload' => undef,
- 'Pod::Functions' => undef,
- 'Pod::Html' => 1.01,
- 'Pod::Text' => 1.0203,
- 'POSIX' => 1.02,
- 're' => 0.02,
- 'Safe' => 2.06,
- 'SDBM_File' => '1.00',
- 'Search::Dict' => undef,
- 'SelectSaver' => undef,
- 'SelfLoader' => 1.08,
- 'Shell' => undef,
- 'sigtrap' => 1.02,
- 'Socket' => 1.7,
- 'strict' => 1.01,
- 'subs' => undef,
- 'Symbol' => 1.02,
- 'Sys::Hostname' => undef,
- 'Sys::Syslog' => undef,
- 'Term::Cap' => undef,
- 'Term::Complete' => undef,
- 'Term::ReadLine' => undef,
- 'Test' => 1.122,
- 'Test::Harness' => 1.1602,
- 'Text::Abbrev' => undef,
- 'Text::ParseWords' => 3.1,
- 'Text::Soundex' => undef,
- 'Text::Tabs' => 96.121201,
- 'Text::Wrap' => 98.112902,
- 'Thread' => '1.0',
- 'Thread::Queue' => undef,
- 'Thread::Semaphore' => undef,
- 'Thread::Specific' => undef,
- 'Thread::Signal' => undef,
- 'Tie::Array' => '1.00',
- 'Tie::Handle' => undef,
- 'Tie::Hash' => undef,
- 'Tie::RefHash' => undef,
- 'Tie::Scalar' => undef,
- 'Tie::SubstrHash' => undef,
- 'Time::gmtime' => 1.01,
- 'Time::Local' => undef,
- 'Time::localtime' => 1.01,
- 'Time::tm' => undef,
- 'UNIVERSAL' => undef,
- 'User::grent' => undef,
- 'User::pwent' => undef,
- 'vars' => undef,
- 'VMS::DCLsym' => 1.01,
- 'VMS::Filespec' => undef,
- 'VMS::Stdio' => 2.1,
- 'vmsish' => undef,
+ 5.005 => {
+ delta_from => 5.00405,
+ changed => {
+ 'AutoLoader' => undef,
+ 'AutoSplit' => '1.0302',
+ 'B' => undef,
+ 'B::Asmdata' => undef,
+ 'B::Assembler' => undef,
+ 'B::Bblock' => undef,
+ 'B::Bytecode' => undef,
+ 'B::C' => undef,
+ 'B::CC' => undef,
+ 'B::Debug' => undef,
+ 'B::Deparse' => '0.56',
+ 'B::Disassembler' => undef,
+ 'B::Lint' => undef,
+ 'B::Showlex' => undef,
+ 'B::Stackobj' => undef,
+ 'B::Terse' => undef,
+ 'B::Xref' => undef,
+ 'CGI::Carp' => '1.101',
+ 'CPAN' => '1.3901',
+ 'CPAN::FirstTime' => '1.29 ',
+ 'DB_File' => '1.60',
+ 'Data::Dumper' => '2.09',
+ 'ExtUtils::Installed' => '0.02',
+ 'ExtUtils::MM_Unix' => '1.12601 ',
+ 'ExtUtils::MakeMaker' => '5.4301',
+ 'ExtUtils::Mkbootstrap' => '1.13 ',
+ 'ExtUtils::Mksymlists' => '1.17 ',
+ 'ExtUtils::Packlist' => '0.03',
+ 'Fatal' => '1.02',
+ 'File::Path' => '1.0401',
+ 'Getopt::Long' => '2.17',
+ 'IO::Handle' => '1.1505',
+ 'IPC::Msg' => '1.00',
+ 'IPC::Open3' => '1.0102',
+ 'IPC::Semaphore' => '1.00',
+ 'IPC::SysV' => '1.03',
+ 'O' => undef,
+ 'OS2::Process' => '0.2',
+ 'Pod::Html' => '1.01',
+ 'Pod::Text' => '1.0203',
+ 'Text::ParseWords' => '3.1',
+ 'Text::Wrap' => '97.02',
+ 'Thread' => '1.0',
+ 'Thread::Queue' => undef,
+ 'Thread::Semaphore' => undef,
+ 'Thread::Signal' => undef,
+ 'Thread::Specific' => undef,
+ 'Tie::Array' => '1.00',
+ 'VMS::Stdio' => '2.1',
+ 'attrs' => '1.0',
+ 'fields' => '0.02',
+ 're' => '0.02',
+ },
+ removed => {
+ 'Bundle::CPAN' => 1,
+ }
},
-
- 5.00405 => {
- 'AnyDBM_File' => undef, #./lib/AnyDBM_File.pm
- 'attrs' => '0.1', #./lib/attrs.pm
- 'AutoLoader' => '5.56', #./lib/AutoLoader.pm
- 'AutoSplit' => '1.0303', #./lib/AutoSplit.pm
- 'autouse' => '1.01', #./lib/autouse.pm
- 'base' => undef, #./lib/base.pm
- 'Benchmark' => undef, #./lib/Benchmark.pm
- 'blib' => '1.00', #./lib/blib.pm
- 'Bundle::CPAN' => '0.03', #./lib/Bundle/CPAN.pm
- 'Carp' => undef, #./lib/Carp.pm
- 'CGI' => '2.42', #./lib/CGI.pm
- 'CGI::Apache' => '1.1', #./lib/CGI/Apache.pm
- 'CGI::Carp' => '1.10', #./lib/CGI/Carp.pm
- 'CGI::Cookie' => '1.06', #./lib/CGI/Cookie.pm
- 'CGI::Fast' => '1.00a', #./lib/CGI/Fast.pm
- 'CGI::Push' => '1.01', #./lib/CGI/Push.pm
- 'CGI::Switch' => '0.06', #./lib/CGI/Switch.pm
- 'Class::Struct' => undef, #./lib/Class/Struct.pm
- 'Config' => undef,
- 'constant' => '1.00', #./lib/constant.pm
- 'CPAN' => '1.40', #./lib/CPAN.pm
- 'CPAN::FirstTime' => '1.30 ', #./lib/CPAN/FirstTime.pm
- 'CPAN::Nox' => undef, #./lib/CPAN/Nox.pm
- 'Cwd' => '2.01', #./lib/Cwd.pm
- 'DB_File' => '1.15', #./ext/DB_File/DB_File.pm
- 'Devel::SelfStubber' => '1.01', #./lib/Devel/SelfStubber.pm
- 'diagnostics' => undef, #./lib/diagnostics.pm
- 'DirHandle' => undef, #./lib/DirHandle.pm
- 'DynaLoader' => '1.03',
- 'English' => undef, #./lib/English.pm
- 'Env' => undef, #./lib/Env.pm
- 'Exporter' => undef, #./lib/Exporter.pm
- 'ExtUtils::Command' => '1.01', #./lib/ExtUtils/Command.pm
- 'ExtUtils::Embed' => '1.2505', #./lib/ExtUtils/Embed.pm
- 'ExtUtils::Install' => '1.28 ', #./lib/ExtUtils/Install.pm
- 'ExtUtils::Liblist' => '1.25 ', #./lib/ExtUtils/Liblist.pm
- 'ExtUtils::MakeMaker' => '5.42', #./lib/ExtUtils/MakeMaker.pm
- 'ExtUtils::Manifest' => '1.33 ', #./lib/ExtUtils/Manifest.pm
- 'ExtUtils::Mkbootstrap' => '1.14 ', #./lib/ExtUtils/Mkbootstrap.pm
- 'ExtUtils::Mksymlists' => '1.16 ', #./lib/ExtUtils/Mksymlists.pm
- 'ExtUtils::MM_OS2' => undef, #./lib/ExtUtils/MM_OS2.pm
- 'ExtUtils::MM_Unix' => '1.118 ', #./lib/ExtUtils/MM_Unix.pm
- 'ExtUtils::MM_VMS' => undef, #./lib/ExtUtils/MM_VMS.pm
- 'ExtUtils::MM_Win32' => undef, #./lib/ExtUtils/MM_Win32.pm
- 'ExtUtils::testlib' => '1.11 ', #./lib/ExtUtils/testlib.pm
- 'ExtUtils::XSSymSet' => '1.0', #./vms/ext/XSSymSet.pm
- 'Fcntl' => '1.03', #./ext/Fcntl/Fcntl.pm
- 'File::Basename' => '2.6', #./lib/File/Basename.pm
- 'File::CheckTree' => undef, #./lib/File/CheckTree.pm
- 'File::Compare' => '1.1001', #./lib/File/Compare.pm
- 'File::Copy' => '2.02', #./lib/File/Copy.pm
- 'File::DosGlob' => undef, #./lib/File/DosGlob.pm
- 'File::Find' => undef, #./lib/File/Find.pm
- 'File::Path' => '1.0402', #./lib/File/Path.pm
- 'File::Spec' => '0.6', #./lib/File/Spec.pm
- 'File::Spec::Mac' => '1.0', #./lib/File/Spec/Mac.pm
- 'File::Spec::OS2' => undef, #./lib/File/Spec/OS2.pm
- 'File::Spec::Unix' => undef, #./lib/File/Spec/Unix.pm
- 'File::Spec::VMS' => undef, #./lib/File/Spec/VMS.pm
- 'File::Spec::Win32' => undef, #./lib/File/Spec/Win32.pm
- 'File::stat' => undef, #./lib/File/stat.pm
- 'FileCache' => undef, #./lib/FileCache.pm
- 'FileHandle' => '2.00', #./lib/FileHandle.pm
- 'FindBin' => '1.41', #./lib/FindBin.pm
- 'GDBM_File' => '1.00', #./ext/GDBM_File/GDBM_File.pm
- 'Getopt::Long' => '2.19', #./lib/Getopt/Long.pm
- 'Getopt::Std' => undef, #./lib/Getopt/Std.pm
- 'I18N::Collate' => undef, #./lib/I18N/Collate.pm
- 'integer' => undef, #./lib/integer.pm
- 'IO' => undef, #./ext/IO/IO.pm
- 'IO::File' => '1.06021', #./ext/IO/lib/IO/File.pm
- 'IO::Handle' => '1.1504', #./ext/IO/lib/IO/Handle.pm
- 'IO::Pipe' => '1.0901', #./ext/IO/lib/IO/Pipe.pm
- 'IO::Seekable' => '1.06', #./ext/IO/lib/IO/Seekable.pm
- 'IO::Select' => '1.10', #./ext/IO/lib/IO/Select.pm
- 'IO::Socket' => '1.1603', #./ext/IO/lib/IO/Socket.pm
- 'IPC::Open2' => '1.01', #./lib/IPC/Open2.pm
- 'IPC::Open3' => '1.0103', #./lib/IPC/Open3.pm
- 'less' => undef, #./lib/less.pm
- 'lib' => undef, #./lib/lib.pm
- 'locale' => undef, #./lib/locale.pm
- 'Math::BigFloat' => undef, #./lib/Math/BigFloat.pm
- 'Math::BigInt' => undef, #./lib/Math/BigInt.pm
- 'Math::Complex' => '1.25', #./lib/Math/Complex.pm
- 'Math::Trig' => '1', #./lib/Math/Trig.pm
- 'NDBM_File' => '1.01', #./ext/NDBM_File/NDBM_File.pm
- 'Net::hostent' => undef, #./lib/Net/hostent.pm
- 'Net::netent' => undef, #./lib/Net/netent.pm
- 'Net::Ping' => '2.02', #./lib/Net/Ping.pm
- 'Net::protoent' => undef, #./lib/Net/protoent.pm
- 'Net::servent' => undef, #./lib/Net/servent.pm
- 'ODBM_File' => '1.00', #./ext/ODBM_File/ODBM_File.pm
- 'Opcode' => '1.04', #./ext/Opcode/Opcode.pm
- 'ops' => undef, #./ext/Opcode/ops.pm
- 'OS2::ExtAttr' => '0.01', #./os2/OS2/ExtAttr/ExtAttr.pm
- 'OS2::PrfDB' => '0.02', #./os2/OS2/PrfDB/PrfDB.pm
- 'OS2::Process' => undef, #./os2/OS2/Process/Process.pm
- 'OS2::REXX' => undef, #./os2/OS2/REXX/REXX.pm
- 'overload' => undef, #./lib/overload.pm
- 'Pod::Functions' => undef, #./lib/Pod/Functions.pm
- 'Pod::Html' => '1.0101', #./lib/Pod/Html.pm
- 'Pod::Text' => '1.0204', #./lib/Pod/Text.pm
- 'POSIX' => '1.02', #./ext/POSIX/POSIX.pm
- 're' => undef, #./lib/re.pm
- 'Safe' => '2.06', #./ext/Opcode/Safe.pm
- 'SDBM_File' => '1.00', #./ext/SDBM_File/SDBM_File.pm
- 'Search::Dict' => undef, #./lib/Search/Dict.pm
- 'SelectSaver' => undef, #./lib/SelectSaver.pm
- 'SelfLoader' => '1.08', #./lib/SelfLoader.pm
- 'Shell' => undef, #./lib/Shell.pm
- 'sigtrap' => '1.02', #./lib/sigtrap.pm
- 'Socket' => '1.7', #./ext/Socket/Socket.pm
- 'strict' => '1.01', #./lib/strict.pm
- 'subs' => undef, #./lib/subs.pm
- 'Symbol' => '1.02', #./lib/Symbol.pm
- 'Sys::Hostname' => undef, #./lib/Sys/Hostname.pm
- 'Sys::Syslog' => undef, #./lib/Sys/Syslog.pm
- 'Term::Cap' => undef, #./lib/Term/Cap.pm
- 'Term::Complete' => undef, #./lib/Term/Complete.pm
- 'Term::ReadLine' => undef, #./lib/Term/ReadLine.pm
- 'Test' => '1.04', #./lib/Test.pm
- 'Test::Harness' => '1.1602', #./lib/Test/Harness.pm
- 'Text::Abbrev' => undef, #./lib/Text/Abbrev.pm
- 'Text::ParseWords' => '3.1001', #./lib/Text/ParseWords.pm
- 'Text::Soundex' => undef, #./lib/Text/Soundex.pm
- 'Text::Tabs' => '96.121201', #./lib/Text/Tabs.pm
- 'Text::Wrap' => '98.112902', #./lib/Text/Wrap.pm
- 'Tie::Handle' => undef, #./lib/Tie/Handle.pm
- 'Tie::Hash' => undef, #./lib/Tie/Hash.pm
- 'Tie::RefHash' => undef, #./lib/Tie/RefHash.pm
- 'Tie::Scalar' => undef, #./lib/Tie/Scalar.pm
- 'Tie::SubstrHash' => undef, #./lib/Tie/SubstrHash.pm
- 'Time::gmtime' => '1.01', #./lib/Time/gmtime.pm
- 'Time::Local' => undef, #./lib/Time/Local.pm
- 'Time::localtime' => '1.01', #./lib/Time/localtime.pm
- 'Time::tm' => undef, #./lib/Time/tm.pm
- 'UNIVERSAL' => undef, #./lib/UNIVERSAL.pm
- 'User::grent' => undef, #./lib/User/grent.pm
- 'User::pwent' => undef, #./lib/User/pwent.pm
- 'vars' => undef, #./lib/vars.pm
- 'VMS::DCLsym' => '1.01', #./vms/ext/DCLsym/DCLsym.pm
- 'VMS::Filespec' => undef, #./vms/ext/Filespec.pm
- 'VMS::Stdio' => '2.02', #./vms/ext/Stdio/Stdio.pm
- 'vmsish' => undef, #./vms/ext/vmsish.pm
+ 5.00503 => {
+ delta_from => 5.005,
+ changed => {
+ 'AutoSplit' => '1.0303',
+ 'CGI' => '2.46',
+ 'CGI::Carp' => '1.13',
+ 'CGI::Fast' => '1.01',
+ 'CPAN' => '1.48',
+ 'CPAN::FirstTime' => '1.36',
+ 'CPAN::Nox' => '1.00',
+ 'DB_File' => '1.65',
+ 'Data::Dumper' => '2.101',
+ 'Dumpvalue' => undef,
+ 'ExtUtils::Install' => '1.28',
+ 'ExtUtils::Liblist' => '1.25',
+ 'ExtUtils::MM_Unix' => '1.12602',
+ 'ExtUtils::MakeMaker' => '5.4302',
+ 'ExtUtils::Manifest' => '1.33',
+ 'ExtUtils::Mkbootstrap' => '1.14',
+ 'ExtUtils::Mksymlists' => '1.17',
+ 'ExtUtils::testlib' => '1.11',
+ 'FindBin' => '1.42',
+ 'Getopt::Long' => '2.19',
+ 'Getopt::Std' => '1.01',
+ 'IO::Pipe' => '1.0902',
+ 'IPC::Open3' => '1.0103',
+ 'Math::Complex' => '1.26',
+ 'Test' => '1.122',
+ 'Text::Wrap' => '98.112902',
+ },
+ removed => {
+ }
},
-
5.00504 => {
- 'AnyDBM_File' => undef, #lib/AnyDBM_File.pm
- 'attrs' => '1.0', #lib/attrs.pm
- 'AutoLoader' => undef, #lib/AutoLoader.pm
- 'AutoSplit' => '1.0303', #lib/AutoSplit.pm
- 'autouse' => '1.01', #lib/autouse.pm
- 'base' => undef, #lib/base.pm
- 'B::Asmdata' => undef, #lib/B/Asmdata.pm
- 'B::Assembler' => undef, #lib/B/Assembler.pm
- 'B::Bblock' => undef, #lib/B/Bblock.pm
- 'B::Bytecode' => undef, #lib/B/Bytecode.pm
- 'B::CC' => undef, #lib/B/CC.pm
- 'B::C' => undef, #lib/B/C.pm
- 'B::Debug' => undef, #lib/B/Debug.pm
- 'B::Deparse' => '0.56', #lib/B/Deparse.pm
- 'B::Disassembler' => undef, #lib/B/Disassembler.pm
- 'Benchmark' => undef, #lib/Benchmark.pm
- 'blib' => '1.00', #lib/blib.pm
- 'B::Lint' => undef, #lib/B/Lint.pm
- 'B::Showlex' => undef, #lib/B/Showlex.pm
- 'B::Stackobj' => undef, #lib/B/Stackobj.pm
- 'B::Terse' => undef, #lib/B/Terse.pm
- 'B' => undef, #lib/B.pm
- 'B::Xref' => undef, #lib/B/Xref.pm
- 'Carp' => undef, #lib/Carp.pm
- 'CGI' => '2.46', #lib/CGI.pm
- 'CGI::Apache' => '1.1', #lib/CGI/Apache.pm
- 'CGI::Carp' => '1.13', #lib/CGI/Carp.pm
- 'CGI::Cookie' => '1.06', #lib/CGI/Cookie.pm
- 'CGI::Fast' => '1.01', #lib/CGI/Fast.pm
- 'CGI::Push' => '1.01', #lib/CGI/Push.pm
- 'CGI::Switch' => '0.06', #lib/CGI/Switch.pm
- 'Class::Struct' => undef, #lib/Class/Struct.pm
- 'Config' => undef, #lib/Config.pm
- 'constant' => '1.00', #lib/constant.pm
- 'CPAN' => '1.48', #lib/CPAN.pm
- 'CPAN::FirstTime' => '1.36 ', #lib/CPAN/FirstTime.pm
- 'CPAN::Nox' => '1.00', #lib/CPAN/Nox.pm
- 'Cwd' => '2.01', #lib/Cwd.pm
- 'Data::Dumper' => '2.101', #lib/Data/Dumper.pm
- 'DB_File' => '1.807', #lib/DB_File.pm
- 'Devel::SelfStubber' => '1.01', #lib/Devel/SelfStubber.pm
- 'diagnostics' => undef, #lib/diagnostics.pm
- 'DirHandle' => undef, #lib/DirHandle.pm
- 'Dumpvalue' => undef, #lib/Dumpvalue.pm
- 'DynaLoader' => '1.03', #lib/DynaLoader.pm
- 'English' => undef, #lib/English.pm
- 'Env' => undef, #lib/Env.pm
- 'Errno' => '1.111', #lib/Errno.pm
- 'Exporter' => undef, #lib/Exporter.pm
- 'ExtUtils::Command' => '1.01', #lib/ExtUtils/Command.pm
- 'ExtUtils::Embed' => '1.2505', #lib/ExtUtils/Embed.pm
- 'ExtUtils::Install' => '1.28 ', #lib/ExtUtils/Install.pm
- 'ExtUtils::Installed' => '0.02', #lib/ExtUtils/Installed.pm
- 'ExtUtils::Liblist' => '1.25 ', #lib/ExtUtils/Liblist.pm
- 'ExtUtils::MakeMaker' => '5.4302', #lib/ExtUtils/MakeMaker.pm
- 'ExtUtils::Manifest' => '1.33 ', #lib/ExtUtils/Manifest.pm
- 'ExtUtils::Miniperl' => undef, #lib/ExtUtils/Miniperl.pm
- 'ExtUtils::Mkbootstrap' => '1.14 ', #lib/ExtUtils/Mkbootstrap.pm
- 'ExtUtils::Mksymlists' => '1.17 ', #lib/ExtUtils/Mksymlists.pm
- 'ExtUtils::MM_OS2' => undef, #lib/ExtUtils/MM_OS2.pm
- 'ExtUtils::MM_Unix' => '1.12602 ', #lib/ExtUtils/MM_Unix.pm
- 'ExtUtils::MM_VMS' => undef, #lib/ExtUtils/MM_VMS.pm
- 'ExtUtils::MM_Win32' => undef, #lib/ExtUtils/MM_Win32.pm
- 'ExtUtils::Packlist' => '0.03', #lib/ExtUtils/Packlist.pm
- 'ExtUtils::testlib' => '1.11 ', #lib/ExtUtils/testlib.pm
- 'ExtUtils::XSSymSet' => '1.0', #vms/ext/XSSymSet.pm
- 'Fatal' => '1.02', #lib/Fatal.pm
- 'Fcntl' => '1.03', #lib/Fcntl.pm
- 'fields' => '0.02', #lib/fields.pm
- 'File::Basename' => '2.6', #lib/File/Basename.pm
- 'FileCache' => undef, #lib/FileCache.pm
- 'File::CheckTree' => undef, #lib/File/CheckTree.pm
- 'File::Compare' => '1.1002', #lib/File/Compare.pm
- 'File::Copy' => '2.02', #lib/File/Copy.pm
- 'File::DosGlob' => undef, #lib/File/DosGlob.pm
- 'File::Find' => undef, #lib/File/Find.pm
- 'FileHandle' => '2.00', #lib/FileHandle.pm
- 'File::Path' => '1.0401', #lib/File/Path.pm
- 'File::Spec' => '0.8', #lib/File/Spec.pm
- 'File::Spec::Functions' => undef, #lib/File/Spec/Functions.pm
- 'File::Spec::Mac' => undef, #lib/File/Spec/Mac.pm
- 'File::Spec::OS2' => undef, #lib/File/Spec/OS2.pm
- 'File::Spec::Unix' => undef, #lib/File/Spec/Unix.pm
- 'File::Spec::VMS' => undef, #lib/File/Spec/VMS.pm
- 'File::Spec::Win32' => undef, #lib/File/Spec/Win32.pm
- 'File::stat' => undef, #lib/File/stat.pm
- 'FindBin' => '1.42', #lib/FindBin.pm
- 'GDBM_File' => '1.00', #lib/GDBM_File.pm
- 'Getopt::Long' => '2.20', #lib/Getopt/Long.pm
- 'Getopt::Std' => '1.01', #lib/Getopt/Std.pm
- 'I18N::Collate' => undef, #lib/I18N/Collate.pm
- 'integer' => undef, #lib/integer.pm
- 'IO::File' => '1.06021', #lib/IO/File.pm
- 'IO::Handle' => '1.1505', #lib/IO/Handle.pm
- 'IO::Pipe' => '1.0902', #lib/IO/Pipe.pm
- 'IO::Seekable' => '1.06', #lib/IO/Seekable.pm
- 'IO::Select' => '1.10', #lib/IO/Select.pm
- 'IO::Socket' => '1.1603', #lib/IO/Socket.pm
- 'IO' => undef, #lib/IO.pm
- 'IPC::Msg' => '1.00', #lib/IPC/Msg.pm
- 'IPC::Open2' => '1.01', #lib/IPC/Open2.pm
- 'IPC::Open3' => '1.0103', #lib/IPC/Open3.pm
- 'IPC::Semaphore' => '1.00', #lib/IPC/Semaphore.pm
- 'IPC::SysV' => '1.03', #lib/IPC/SysV.pm
- 'less' => undef, #lib/less.pm
- 'lib' => undef, #lib/lib.pm
- 'locale' => undef, #lib/locale.pm
- 'Math::BigFloat' => undef, #lib/Math/BigFloat.pm
- 'Math::BigInt' => undef, #lib/Math/BigInt.pm
- 'Math::Complex' => '1.26', #lib/Math/Complex.pm
- 'Math::Trig' => '1', #lib/Math/Trig.pm
- 'NDBM_File' => '1.01', #ext/NDBM_File/NDBM_File.pm
- 'Net::hostent' => undef, #lib/Net/hostent.pm
- 'Net::netent' => undef, #lib/Net/netent.pm
- 'Net::Ping' => '2.02', #lib/Net/Ping.pm
- 'Net::protoent' => undef, #lib/Net/protoent.pm
- 'Net::servent' => undef, #lib/Net/servent.pm
- 'ODBM_File' => '1.00', #ext/ODBM_File/ODBM_File.pm
- 'Opcode' => '1.04', #lib/Opcode.pm
- 'ops' => undef, #lib/ops.pm
- 'O' => undef, #lib/O.pm
- 'OS2::ExtAttr' => '0.01', #os2/OS2/ExtAttr/ExtAttr.pm
- 'OS2::PrfDB' => '0.02', #os2/OS2/PrfDB/PrfDB.pm
- 'OS2::Process' => '0.2', #os2/OS2/Process/Process.pm
- 'OS2::REXX' => undef, #os2/OS2/REXX/REXX.pm
- 'overload' => undef, #lib/overload.pm
- 'Pod::Functions' => undef, #lib/Pod/Functions.pm
- 'Pod::Html' => '1.02', #lib/Pod/Html.pm
- 'Pod::Text' => '1.0203', #lib/Pod/Text.pm
- 'POSIX' => '1.02', #lib/POSIX.pm
- 're' => '0.02', #lib/re.pm
- 'Safe' => '2.06', #lib/Safe.pm
- 'SDBM_File' => '1.00', #lib/SDBM_File.pm
- 'Search::Dict' => undef, #lib/Search/Dict.pm
- 'SelectSaver' => undef, #lib/SelectSaver.pm
- 'SelfLoader' => '1.08', #lib/SelfLoader.pm
- 'Shell' => undef, #lib/Shell.pm
- 'sigtrap' => '1.02', #lib/sigtrap.pm
- 'Socket' => '1.7', #lib/Socket.pm
- 'strict' => '1.01', #lib/strict.pm
- 'subs' => undef, #lib/subs.pm
- 'Symbol' => '1.02', #lib/Symbol.pm
- 'Sys::Hostname' => undef, #lib/Sys/Hostname.pm
- 'Sys::Syslog' => undef, #lib/Sys/Syslog.pm
- 'Term::Cap' => undef, #lib/Term/Cap.pm
- 'Term::Complete' => undef, #lib/Term/Complete.pm
- 'Term::ReadLine' => undef, #lib/Term/ReadLine.pm
- 'Test' => '1.122', #lib/Test.pm
- 'Test::Harness' => '1.1602', #lib/Test/Harness.pm
- 'Text::Abbrev' => undef, #lib/Text/Abbrev.pm
- 'Text::ParseWords' => '3.1', #lib/Text/ParseWords.pm
- 'Text::Soundex' => undef, #lib/Text/Soundex.pm
- 'Text::Tabs' => '96.121201', #lib/Text/Tabs.pm
- 'Text::Wrap' => '98.112902', #lib/Text/Wrap.pm
- 'Thread' => '1.0', #ext/Thread/Thread.pm
- 'Thread::Queue' => undef, #ext/Thread/Thread/Queue.pm
- 'Thread::Semaphore' => undef, #ext/Thread/Thread/Semaphore.pm
- 'Thread::Signal' => undef, #ext/Thread/Thread/Signal.pm
- 'Thread::Specific' => undef, #ext/Thread/Thread/Specific.pm
- 'Tie::Array' => '1.00', #lib/Tie/Array.pm
- 'Tie::Handle' => undef, #lib/Tie/Handle.pm
- 'Tie::Hash' => undef, #lib/Tie/Hash.pm
- 'Tie::RefHash' => undef, #lib/Tie/RefHash.pm
- 'Tie::Scalar' => undef, #lib/Tie/Scalar.pm
- 'Tie::SubstrHash' => undef, #lib/Tie/SubstrHash.pm
- 'Time::gmtime' => '1.01', #lib/Time/gmtime.pm
- 'Time::localtime' => '1.01', #lib/Time/localtime.pm
- 'Time::Local' => undef, #lib/Time/Local.pm
- 'Time::tm' => undef, #lib/Time/tm.pm
- 'UNIVERSAL' => undef, #lib/UNIVERSAL.pm
- 'User::grent' => undef, #lib/User/grent.pm
- 'User::pwent' => undef, #lib/User/pwent.pm
- 'vars' => undef, #lib/vars.pm
- 'VMS::DCLsym' => '1.01', #vms/ext/DCLsym/DCLsym.pm
- 'VMS::Filespec' => undef, #vms/ext/Filespec.pm
- 'VMS::Stdio' => '2.1', #vms/ext/Stdio/Stdio.pm
- 'vmsish' => undef, #vms/ext/vmsish.pm
+ delta_from => 5.00503,
+ changed => {
+ 'CPAN::FirstTime' => '1.36 ',
+ 'DB_File' => '1.807',
+ 'Errno' => '1.111',
+ 'ExtUtils::Install' => '1.28 ',
+ 'ExtUtils::Liblist' => '1.25 ',
+ 'ExtUtils::MM_Unix' => '1.12602 ',
+ 'ExtUtils::Manifest' => '1.33 ',
+ 'ExtUtils::Miniperl' => undef,
+ 'ExtUtils::Mkbootstrap' => '1.14 ',
+ 'ExtUtils::Mksymlists' => '1.17 ',
+ 'ExtUtils::testlib' => '1.11 ',
+ 'File::Compare' => '1.1002',
+ 'File::Spec' => '0.8',
+ 'File::Spec::Functions' => undef,
+ 'File::Spec::Mac' => undef,
+ 'Getopt::Long' => '2.20',
+ 'Pod::Html' => '1.02',
+ },
+ removed => {
+ }
},
-
- 5.006 => {
- 'AnyDBM_File' => undef, #./lib/AnyDBM_File.pm
- 'AutoLoader' => '5.57', #./lib/AutoLoader.pm
- 'AutoSplit' => '1.0305', #./lib/AutoSplit.pm
- 'B' => undef, #./ext/B/B.pm
- 'B::Asmdata' => undef, #./ext/B/B/Asmdata.pm
- 'B::Assembler' => undef, #./ext/B/B/Assembler.pm
- 'B::Bblock' => undef, #./ext/B/B/Bblock.pm
- 'B::Bytecode' => undef, #./ext/B/B/Bytecode.pm
- 'B::C' => undef, #./ext/B/B/C.pm
- 'B::CC' => undef, #./ext/B/B/CC.pm
- 'B::Debug' => undef, #./ext/B/B/Debug.pm
- 'B::Deparse' => '0.59', #./ext/B/B/Deparse.pm
- 'B::Disassembler' => undef, #./ext/B/B/Disassembler.pm
- 'B::Lint' => undef, #./ext/B/B/Lint.pm
- 'B::Showlex' => undef, #./ext/B/B/Showlex.pm
- 'B::Stackobj' => undef, #./ext/B/B/Stackobj.pm
- 'B::Stash' => undef, #./ext/B/B/Stash.pm
- 'B::Terse' => undef, #./ext/B/B/Terse.pm
- 'B::Xref' => undef, #./ext/B/B/Xref.pm
- 'Benchmark' => '1', #./lib/Benchmark.pm
- 'ByteLoader' => '0.03', #./ext/ByteLoader/ByteLoader.pm
- 'CGI' => '2.56', #./lib/CGI.pm
- 'CGI::Apache' => undef, #./lib/CGI/Apache.pm
- 'CGI::Carp' => '1.14', #./lib/CGI/Carp.pm
- 'CGI::Cookie' => '1.12', #./lib/CGI/Cookie.pm
- 'CGI::Fast' => '1.02', #./lib/CGI/Fast.pm
- 'CGI::Pretty' => '1.03', #./lib/CGI/Pretty.pm
- 'CGI::Push' => '1.01', #./lib/CGI/Push.pm
- 'CGI::Switch' => undef, #./lib/CGI/Switch.pm
- 'CPAN' => '1.52', #./lib/CPAN.pm
- 'CPAN::FirstTime' => '1.38 ', #./lib/CPAN/FirstTime.pm
- 'CPAN::Nox' => '1.00', #./lib/CPAN/Nox.pm
- 'Carp' => undef, #./lib/Carp.pm
- 'Carp::Heavy' => undef, #./lib/Carp/Heavy.pm
- 'Class::Struct' => '0.58', #./lib/Class/Struct.pm
- 'Config' => undef,
- 'Cwd' => '2.02', #./lib/Cwd.pm
- 'DB' => '1.0', #./lib/DB.pm
- 'DB_File' => '1.72', #./ext/DB_File/DB_File.pm
- 'Data::Dumper' => '2.101', #./ext/Data/Dumper/Dumper.pm
- 'Devel::DProf' => '20000000.00_00', #./ext/Devel/DProf/DProf.pm
- 'Devel::Peek' => '1.00_01', #./ext/Devel/Peek/Peek.pm
- 'Devel::SelfStubber' => '1.01', #./lib/Devel/SelfStubber.pm
- 'DirHandle' => undef, #./lib/DirHandle.pm
- 'Dumpvalue' => undef, #./lib/Dumpvalue.pm
- 'DynaLoader' => '1.04',
- 'English' => undef, #./lib/English.pm
- 'Env' => undef, #./lib/Env.pm
- 'Exporter' => '5.562', #./lib/Exporter.pm
- 'Exporter::Heavy' => undef, #./lib/Exporter/Heavy.pm
- 'ExtUtils::Command' => '1.01', #./lib/ExtUtils/Command.pm
- 'ExtUtils::Embed' => '1.2505', #./lib/ExtUtils/Embed.pm
- 'ExtUtils::Install' => '1.28 ', #./lib/ExtUtils/Install.pm
- 'ExtUtils::Installed' => '0.02', #./lib/ExtUtils/Installed.pm
- 'ExtUtils::Liblist' => '1.25 ', #./lib/ExtUtils/Liblist.pm
- 'ExtUtils::MM_Cygwin' => undef, #./lib/ExtUtils/MM_Cygwin.pm
- 'ExtUtils::MM_OS2' => undef, #./lib/ExtUtils/MM_OS2.pm
- 'ExtUtils::MM_Unix' => '1.12603 ', #./lib/ExtUtils/MM_Unix.pm
- 'ExtUtils::MM_VMS' => undef, #./lib/ExtUtils/MM_VMS.pm
- 'ExtUtils::MM_Win32' => undef, #./lib/ExtUtils/MM_Win32.pm
- 'ExtUtils::MakeMaker' => '5.45', #./lib/ExtUtils/MakeMaker.pm
- 'ExtUtils::Manifest' => '1.33 ', #./lib/ExtUtils/Manifest.pm
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '1.14 ', #./lib/ExtUtils/Mkbootstrap.pm
- 'ExtUtils::Mksymlists' => '1.17 ', #./lib/ExtUtils/Mksymlists.pm
- 'ExtUtils::Packlist' => '0.03', #./lib/ExtUtils/Packlist.pm
- 'ExtUtils::XSSymSet' => '1.0', #./vms/ext/XSSymSet.pm
- 'ExtUtils::testlib' => '1.11 ', #./lib/ExtUtils/testlib.pm
- 'Fatal' => '1.02', #./lib/Fatal.pm
- 'Fcntl' => '1.03', #./ext/Fcntl/Fcntl.pm
- 'File::Basename' => '2.6', #./lib/File/Basename.pm
- 'File::CheckTree' => undef, #./lib/File/CheckTree.pm
- 'File::Compare' => '1.1002', #./lib/File/Compare.pm
- 'File::Copy' => '2.03', #./lib/File/Copy.pm
- 'File::DosGlob' => undef, #./lib/File/DosGlob.pm
- 'File::Find' => undef, #./lib/File/Find.pm
- 'File::Glob' => '0.991', #./ext/File/Glob/Glob.pm
- 'File::Path' => '1.0403', #./lib/File/Path.pm
- 'File::Spec' => '0.8', #./lib/File/Spec.pm
- 'File::Spec::Functions' => undef, #./lib/File/Spec/Functions.pm
- 'File::Spec::Mac' => undef, #./lib/File/Spec/Mac.pm
- 'File::Spec::OS2' => undef, #./lib/File/Spec/OS2.pm
- 'File::Spec::Unix' => undef, #./lib/File/Spec/Unix.pm
- 'File::Spec::VMS' => undef, #./lib/File/Spec/VMS.pm
- 'File::Spec::Win32' => undef, #./lib/File/Spec/Win32.pm
- 'File::stat' => undef, #./lib/File/stat.pm
- 'FileCache' => undef, #./lib/FileCache.pm
- 'FileHandle' => '2.00', #./lib/FileHandle.pm
- 'FindBin' => '1.42', #./lib/FindBin.pm
- 'GDBM_File' => '1.03', #./ext/GDBM_File/GDBM_File.pm
- 'Getopt::Long' => '2.23', #./lib/Getopt/Long.pm
- 'Getopt::Std' => '1.02', #./lib/Getopt/Std.pm
- 'I18N::Collate' => undef, #./lib/I18N/Collate.pm
- 'IO' => '1.20', #./ext/IO/IO.pm
- 'IO::Dir' => '1.03', #./ext/IO/lib/IO/Dir.pm
- 'IO::File' => '1.08', #./ext/IO/lib/IO/File.pm
- 'IO::Handle' => '1.21', #./ext/IO/lib/IO/Handle.pm
- 'IO::Pipe' => '1.121', #./ext/IO/lib/IO/Pipe.pm
- 'IO::Poll' => '0.01', #./ext/IO/lib/IO/Poll.pm
- 'IO::Seekable' => '1.08', #./ext/IO/lib/IO/Seekable.pm
- 'IO::Select' => '1.14', #./ext/IO/lib/IO/Select.pm
- 'IO::Socket' => '1.26', #./ext/IO/lib/IO/Socket.pm
- 'IO::Socket::INET' => '1.25', #./ext/IO/lib/IO/Socket/INET.pm
- 'IO::Socket::UNIX' => '1.20', #./ext/IO/lib/IO/Socket/UNIX.pm
- 'IPC::Open2' => '1.01', #./lib/IPC/Open2.pm
- 'IPC::Open3' => '1.0103', #./lib/IPC/Open3.pm
- 'IPC::Msg' => '1.00', #./ext/IPC/SysV/Msg.pm
- 'IPC::Semaphore' => '1.00', #./ext/IPC/SysV/Semaphore.pm
- 'IPC::SysV' => '1.03', #./ext/IPC/SysV/SysV.pm
- 'JNI' => '0.01', #./jpl/JNI/JNI.pm
- 'JPL::AutoLoader' => undef, #./jpl/JPL/AutoLoader.pm
- 'JPL::Class' => undef, #./jpl/JPL/Class.pm
- 'JPL::Compile' => undef, #./jpl/JPL/Compile.pm
- 'Math::BigFloat' => undef, #./lib/Math/BigFloat.pm
- 'Math::BigInt' => undef, #./lib/Math/BigInt.pm
- 'Math::Complex' => '1.26', #./lib/Math/Complex.pm
- 'Math::Trig' => '1', #./lib/Math/Trig.pm
- 'NDBM_File' => '1.03', #./ext/NDBM_File/NDBM_File.pm
- 'Net::Ping' => '2.02', #./lib/Net/Ping.pm
- 'Net::hostent' => undef, #./lib/Net/hostent.pm
- 'Net::netent' => undef, #./lib/Net/netent.pm
- 'Net::protoent' => undef, #./lib/Net/protoent.pm
- 'Net::servent' => undef, #./lib/Net/servent.pm
- 'O' => undef, #./ext/B/O.pm
- 'ODBM_File' => '1.02', #./ext/ODBM_File/ODBM_File.pm
- 'OS2::ExtAttr' => '0.01', #./os2/OS2/ExtAttr/ExtAttr.pm
- 'OS2::PrfDB' => '0.02', #./os2/OS2/PrfDB/PrfDB.pm
- 'OS2::Process' => '0.2', #./os2/OS2/Process/Process.pm
- 'OS2::REXX' => undef, #./os2/OS2/REXX/REXX.pm
- 'OS2::DLL' => undef, #./os2/OS2/REXX/DLL/DLL.pm
- 'Opcode' => '1.04', #./ext/Opcode/Opcode.pm
- 'POSIX' => '1.03', #./ext/POSIX/POSIX.pm
- 'Pod::Checker' => '1.098', #./lib/Pod/Checker.pm
- 'Pod::Find' => '0.12', #./lib/Pod/Find.pm
- 'Pod::Functions' => undef, #./lib/Pod/Functions.pm
- 'Pod::Html' => '1.03', #./lib/Pod/Html.pm
- 'Pod::InputObjects' => '1.12', #./lib/Pod/InputObjects.pm
- 'Pod::Man' => '1.02', #./lib/Pod/Man.pm
- 'Pod::ParseUtils' => '0.2', #./lib/Pod/ParseUtils.pm
- 'Pod::Parser' => '1.12', #./lib/Pod/Parser.pm
- 'Pod::Plainer' => '0.01', #./lib/Pod/Plainer.pm
- 'Pod::Select' => '1.12', #./lib/Pod/Select.pm
- 'Pod::Text' => '2.03', #./lib/Pod/Text.pm
- 'Pod::Text::Color' => '0.05', #./lib/Pod/Text/Color.pm
- 'Pod::Text::Termcap' => '0.04', #./lib/Pod/Text/Termcap.pm
- 'Pod::Usage' => '1.12', #./lib/Pod/Usage.pm
- 'SDBM_File' => '1.02', #./ext/SDBM_File/SDBM_File.pm
- 'Safe' => '2.06', #./ext/Opcode/Safe.pm
- 'Search::Dict' => undef, #./lib/Search/Dict.pm
- 'SelectSaver' => undef, #./lib/SelectSaver.pm
- 'SelfLoader' => '1.0901', #./lib/SelfLoader.pm
- 'Shell' => '0.2', #./lib/Shell.pm
- 'Socket' => '1.72', #./ext/Socket/Socket.pm
- 'Symbol' => '1.02', #./lib/Symbol.pm
- 'Sys::Hostname' => '1.1', #./ext/Sys/Hostname/Hostname.pm
- 'Sys::Syslog' => '0.01', #./ext/Sys/Syslog/Syslog.pm
- 'Term::ANSIColor' => '1.01', #./lib/Term/ANSIColor.pm
- 'Term::Cap' => undef, #./lib/Term/Cap.pm
- 'Term::Complete' => undef, #./lib/Term/Complete.pm
- 'Term::ReadLine' => undef, #./lib/Term/ReadLine.pm
- 'Test' => '1.13', #./lib/Test.pm
- 'Test::Harness' => '1.1604', #./lib/Test/Harness.pm
- 'Text::Abbrev' => undef, #./lib/Text/Abbrev.pm
- 'Text::ParseWords' => '3.2', #./lib/Text/ParseWords.pm
- 'Text::Soundex' => '1.0', #./lib/Text/Soundex.pm
- 'Text::Tabs' => '98.112801', #./lib/Text/Tabs.pm
- 'Text::Wrap' => '98.112902', #./lib/Text/Wrap.pm
- 'Thread' => '1.0', #./ext/Thread/Thread.pm
- 'Thread::Queue' => undef, #./ext/Thread/Thread/Queue.pm
- 'Thread::Semaphore' => undef, #./ext/Thread/Thread/Semaphore.pm
- 'Thread::Signal' => undef, #./ext/Thread/Thread/Signal.pm
- 'Thread::Specific' => undef, #./ext/Thread/Thread/Specific.pm
- 'Tie::Array' => '1.01', #./lib/Tie/Array.pm
- 'Tie::Handle' => '1.0', #./lib/Tie/Handle.pm
- 'Tie::Hash' => undef, #./lib/Tie/Hash.pm
- 'Tie::RefHash' => undef, #./lib/Tie/RefHash.pm
- 'Tie::Scalar' => undef, #./lib/Tie/Scalar.pm
- 'Tie::SubstrHash' => undef, #./lib/Tie/SubstrHash.pm
- 'Time::Local' => undef, #./lib/Time/Local.pm
- 'Time::gmtime' => '1.01', #./lib/Time/gmtime.pm
- 'Time::localtime' => '1.01', #./lib/Time/localtime.pm
- 'Time::tm' => undef, #./lib/Time/tm.pm
- 'UNIVERSAL' => undef, #./lib/UNIVERSAL.pm
- 'User::grent' => undef, #./lib/User/grent.pm
- 'User::pwent' => undef, #./lib/User/pwent.pm
- 'VMS::DCLsym' => '1.01', #./vms/ext/DCLsym/DCLsym.pm
- 'VMS::Filespec' => undef, #./vms/ext/Filespec.pm
- 'VMS::Stdio' => '2.2', #./vms/ext/Stdio/Stdio.pm
- 'XSLoader' => '0.01',
- 'attributes' => '0.03', #./lib/attributes.pm
- 'attrs' => '1.0', #./ext/attrs/attrs.pm
- 'autouse' => '1.02', #./lib/autouse.pm
- 'base' => '1.01', #./lib/base.pm
- 'blib' => '1.00', #./lib/blib.pm
- 'bytes' => undef, #./lib/bytes.pm
- 'charnames' => undef, #./lib/charnames.pm
- 'constant' => '1.02', #./lib/constant.pm
- 'diagnostics' => '1.0', #./lib/diagnostics.pm
- 'fields' => '1.01', #./lib/fields.pm
- 'filetest' => undef, #./lib/filetest.pm
- 'integer' => undef, #./lib/integer.pm
- 'less' => undef, #./lib/less.pm
- 'lib' => '0.5564', #./lib/lib.pm
- 'locale' => undef, #./lib/locale.pm
- 'open' => undef, #./lib/open.pm
- 'ops' => undef, #./ext/Opcode/ops.pm
- 'overload' => undef, #./lib/overload.pm
- 're' => '0.02', #./ext/re/re.pm
- 'sigtrap' => '1.02', #./lib/sigtrap.pm
- 'strict' => '1.01', #./lib/strict.pm
- 'subs' => undef, #./lib/subs.pm
- 'utf8' => undef, #./lib/utf8.pm
- 'vars' => undef, #./lib/vars.pm
- 'vmsish' => undef, #./vms/ext/vmsish.pm
- 'warnings' => undef, #./lib/warnings.pm
- 'warnings::register' => undef, #./lib/warnings/register.pm
+ 5.006 => {
+ delta_from => 5.00504,
+ changed => {
+ 'AutoLoader' => '5.57',
+ 'AutoSplit' => '1.0305',
+ 'B::Deparse' => '0.59',
+ 'B::Stash' => undef,
+ 'Benchmark' => '1',
+ 'ByteLoader' => '0.03',
+ 'CGI' => '2.56',
+ 'CGI::Apache' => undef,
+ 'CGI::Carp' => '1.14',
+ 'CGI::Cookie' => '1.12',
+ 'CGI::Fast' => '1.02',
+ 'CGI::Pretty' => '1.03',
+ 'CGI::Switch' => undef,
+ 'CPAN' => '1.52',
+ 'CPAN::FirstTime' => '1.38 ',
+ 'Carp::Heavy' => undef,
+ 'Class::Struct' => '0.58',
+ 'Cwd' => '2.02',
+ 'DB' => '1.0',
+ 'DB_File' => '1.72',
+ 'Devel::DProf' => '20000000.00_00',
+ 'Devel::Peek' => '1.00_01',
+ 'DynaLoader' => '1.04',
+ 'Exporter' => '5.562',
+ 'Exporter::Heavy' => undef,
+ 'ExtUtils::MM_Cygwin' => undef,
+ 'ExtUtils::MM_Unix' => '1.12603 ',
+ 'ExtUtils::MakeMaker' => '5.45',
+ 'File::Copy' => '2.03',
+ 'File::Glob' => '0.991',
+ 'File::Path' => '1.0403',
+ 'GDBM_File' => '1.03',
+ 'Getopt::Long' => '2.23',
+ 'Getopt::Std' => '1.02',
+ 'IO' => '1.20',
+ 'IO::Dir' => '1.03',
+ 'IO::File' => '1.08',
+ 'IO::Handle' => '1.21',
+ 'IO::Pipe' => '1.121',
+ 'IO::Poll' => '0.01',
+ 'IO::Seekable' => '1.08',
+ 'IO::Select' => '1.14',
+ 'IO::Socket' => '1.26',
+ 'IO::Socket::INET' => '1.25',
+ 'IO::Socket::UNIX' => '1.20',
+ 'JNI' => '0.01',
+ 'JPL::AutoLoader' => undef,
+ 'JPL::Class' => undef,
+ 'JPL::Compile' => undef,
+ 'NDBM_File' => '1.03',
+ 'ODBM_File' => '1.02',
+ 'OS2::DLL' => undef,
+ 'POSIX' => '1.03',
+ 'Pod::Checker' => '1.098',
+ 'Pod::Find' => '0.12',
+ 'Pod::Html' => '1.03',
+ 'Pod::InputObjects' => '1.12',
+ 'Pod::Man' => '1.02',
+ 'Pod::ParseUtils' => '0.2',
+ 'Pod::Parser' => '1.12',
+ 'Pod::Plainer' => '0.01',
+ 'Pod::Select' => '1.12',
+ 'Pod::Text' => '2.03',
+ 'Pod::Text::Color' => '0.05',
+ 'Pod::Text::Termcap' => '0.04',
+ 'Pod::Usage' => '1.12',
+ 'SDBM_File' => '1.02',
+ 'SelfLoader' => '1.0901',
+ 'Shell' => '0.2',
+ 'Socket' => '1.72',
+ 'Sys::Hostname' => '1.1',
+ 'Sys::Syslog' => '0.01',
+ 'Term::ANSIColor' => '1.01',
+ 'Test' => '1.13',
+ 'Test::Harness' => '1.1604',
+ 'Text::ParseWords' => '3.2',
+ 'Text::Soundex' => '1.0',
+ 'Text::Tabs' => '98.112801',
+ 'Tie::Array' => '1.01',
+ 'Tie::Handle' => '1.0',
+ 'VMS::Stdio' => '2.2',
+ 'XSLoader' => '0.01',
+ 'attributes' => '0.03',
+ 'autouse' => '1.02',
+ 'base' => '1.01',
+ 'bytes' => undef,
+ 'charnames' => undef,
+ 'constant' => '1.02',
+ 'diagnostics' => '1.0',
+ 'fields' => '1.01',
+ 'filetest' => undef,
+ 'lib' => '0.5564',
+ 'open' => undef,
+ 'utf8' => undef,
+ 'warnings' => undef,
+ 'warnings::register' => undef,
+ },
+ removed => {
+ }
},
-
- 5.006001 => {
- 'AnyDBM_File' => undef,
- 'attributes' => 0.03,
- 'attrs' => '1.0',
- 'AutoLoader' => 5.58,
- 'AutoSplit' => 1.0305,
- 'autouse' => 1.02,
- 'B::Asmdata' => undef,
- 'B::Assembler' => 0.02,
- 'B::Bblock' => undef,
- 'B::Bytecode' => undef,
- 'B::C' => undef,
- 'B::CC' => undef,
- 'B::Concise' => 0.51,
- 'B::Debug' => undef,
- 'B::Deparse' => 0.6,
- 'B::Disassembler' => undef,
- 'B::Lint' => undef,
- 'B' => undef,
- 'B::Showlex' => undef,
- 'B::Stackobj' => undef,
- 'B::Stash' => undef,
- 'B::Terse' => undef,
- 'B::Xref' => undef,
- 'base' => 1.01,
- 'Benchmark' => 1,
- 'blib' => '1.00',
- 'ByteLoader' => 0.04,
- 'bytes' => undef,
- 'Carp' => undef,
- 'Carp::Heavy' => undef,
- 'CGI' => 2.752,
- 'CGI::Apache' => undef,
- 'CGI::Carp' => '1.20',
- 'CGI::Cookie' => 1.18,
- 'CGI::Fast' => 1.02,
- 'CGI::Pretty' => 1.05,
- 'CGI::Push' => 1.04,
- 'CGI::Switch' => undef,
- 'CGI::Util' => 1.1,
- 'charnames' => undef,
- 'Class::Struct' => 0.59,
- 'Config' => undef,
- 'constant' => 1.02,
- 'CPAN::FirstTime' => 1.53 ,
- 'CPAN' => '1.59_54',
- 'CPAN::Nox' => '1.00',
- 'Cwd' => 2.04,
- 'Data::Dumper' => 2.102,
- 'DB' => '1.0',
- 'DB_File' => 1.75,
- 'Devel::DProf' => '20000000.00_00',
- 'Devel::Peek' => '1.00_01',
- 'Devel::SelfStubber' => 1.01,
- 'diagnostics' => '1.0', # really v1.0, but that causes breakage
- 'DirHandle' => undef,
- 'Dumpvalue' => undef,
- 'DynaLoader' => 1.04,
- 'English' => undef,
- 'Env' => undef,
- 'Exporter' => 5.562,
- 'Exporter::Heavy' => undef,
- 'ExtUtils::Command' => 1.01,
- 'ExtUtils::Embed' => 1.2505,
- 'ExtUtils::Install' => 1.28 ,
- 'ExtUtils::Installed' => 0.02,
- 'ExtUtils::Liblist' => 1.26 ,
- 'ExtUtils::MakeMaker' => 5.45,
- 'ExtUtils::Manifest' => 1.33 ,
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => 1.14 ,
- 'ExtUtils::Mksymlists' => 1.17 ,
- 'ExtUtils::MM_Cygwin' => undef,
- 'ExtUtils::MM_OS2' => undef,
- 'ExtUtils::MM_Unix' => 1.12603 ,
- 'ExtUtils::MM_VMS' => undef,
- 'ExtUtils::MM_Win32' => undef,
- 'ExtUtils::Packlist' => 0.03,
- 'ExtUtils::testlib' => 1.11 ,
- 'ExtUtils::XSSymSet' => '1.0',
- 'Fatal' => 1.02,
- 'Fcntl' => 1.03,
- 'fields' => 1.01,
- 'File::Basename' => 2.6,
- 'File::CheckTree' => undef,
- 'File::Compare' => 1.1002,
- 'File::Copy' => 2.03,
- 'File::DosGlob' => undef,
- 'File::Find' => undef,
- 'File::Glob' => 0.991,
- 'File::Path' => 1.0404,
- 'File::Spec' => 0.82,
- 'File::Spec::Epoc' => undef,
- 'File::Spec::Functions' => 1.1,
- 'File::Spec::Mac' => 1.2,
- 'File::Spec::OS2' => 1.1,
- 'File::Spec::Unix' => 1.2,
- 'File::Spec::VMS' => 1.1,
- 'File::Spec::Win32' => 1.2,
- 'File::stat' => undef,
- 'File::Temp' => 0.12,
- 'FileCache' => undef,
- 'FileHandle' => '2.00',
- 'filetest' => undef,
- 'FindBin' => 1.42,
- 'GDBM_File' => 1.05,
- 'Getopt::Long' => 2.25,
- 'Getopt::Std' => 1.02,
- 'I18N::Collate' => undef,
- 'integer' => undef,
- 'IO' => '1.20',
- 'IO::Dir' => 1.03,
- 'IO::File' => 1.08,
- 'IO::Handle' => 1.21,
- 'IO::Pipe' => 1.121,
- 'IO::Poll' => 0.05,
- 'IO::Seekable' => 1.08,
- 'IO::Select' => 1.14,
- 'IO::Socket' => 1.26,
- 'IO::Socket::INET' => 1.25,
- 'IO::Socket::UNIX' => '1.20',
- 'IPC::Msg' => '1.00',
- 'IPC::Open2' => 1.01,
- 'IPC::Open3' => 1.0103,
- 'IPC::Semaphore' => '1.00',
- 'IPC::SysV' => 1.03,
- 'JNI' => 0.1,
- 'JPL::AutoLoader' => undef,
- 'JPL::Class' => undef,
- 'JPL::Compile' => undef,
- 'less' => undef,
- 'lib' => 0.5564,
- 'locale' => undef,
- 'Math::BigFloat' => 0.02,
- 'Math::BigInt' => 0.01,
- 'Math::Complex' => 1.31,
- 'Math::Trig' => 1,
- 'NDBM_File' => 1.04,
- 'Net::hostent' => undef,
- 'Net::netent' => undef,
- 'Net::Ping' => 2.02,
- 'Net::protoent' => undef,
- 'Net::servent' => undef,
- 'O' => undef,
- 'ODBM_File' => 1.03,
- 'Opcode' => 1.04,
- 'open' => undef,
- 'ops' => undef,
- 'OS2::DLL' => undef,
- 'OS2::ExtAttr' => 0.01,
- 'OS2::PrfDB' => 0.02,
- 'OS2::Process' => 0.2,
- 'OS2::REXX' => '1.00',
- 'overload' => undef,
- 'Pod::Checker' => 1.2,
- 'Pod::Find' => 0.21,
- 'Pod::Functions' => undef,
- 'Pod::Html' => 1.03,
- 'Pod::LaTeX' => 0.53,
- 'Pod::Man' => 1.15,
- 'Pod::InputObjects' => 1.13,
- 'Pod::Parser' => 1.13,
- 'Pod::ParseUtils' => 0.22,
- 'Pod::Plainer' => 0.01,
- 'Pod::Select' => 1.13,
- 'Pod::Text' => 2.08,
- 'Pod::Text::Color' => 0.06,
- 'Pod::Text::Overstrike' => 1.01,
- 'Pod::Text::Termcap' => 1,
- 'Pod::Usage' => 1.14,
- 'POSIX' => 1.03,
- 're' => 0.02,
- 'Safe' => 2.06,
- 'SDBM_File' => 1.03,
- 'Search::Dict' => undef,
- 'SelectSaver' => undef,
- 'SelfLoader' => 1.0902,
- 'Shell' => 0.3,
- 'sigtrap' => 1.02,
- 'Socket' => 1.72,
- 'strict' => 1.01,
- 'subs' => undef,
- 'Symbol' => 1.02,
- 'Sys::Hostname' => 1.1,
- 'Sys::Syslog' => 0.01,
- 'Term::ANSIColor' => 1.03,
- 'Term::Cap' => undef,
- 'Term::Complete' => undef,
- 'Term::ReadLine' => undef,
- 'Test' => 1.15,
- 'Test::Harness' => 1.1604,
- 'Text::Abbrev' => undef,
- 'Text::ParseWords' => 3.2,
- 'Text::Soundex' => '1.0',
- 'Text::Tabs' => 98.112801,
- 'Text::Wrap' => 2001.0131,
- 'Thread' => '1.0',
- 'Thread::Queue' => undef,
- 'Thread::Semaphore' => undef,
- 'Thread::Signal' => undef,
- 'Thread::Specific' => undef,
- 'Tie::Array' => 1.01,
- 'Tie::Handle' => '4.0',
- 'Tie::Hash' => undef,
- 'Tie::RefHash' => 1.3,
- 'Tie::Scalar' => undef,
- 'Tie::SubstrHash' => undef,
- 'Time::gmtime' => 1.01,
- 'Time::Local' => undef,
- 'Time::localtime' => 1.01,
- 'Time::tm' => undef,
- 'UNIVERSAL' => undef,
- 'User::grent' => undef,
- 'User::pwent' => undef,
- 'utf8' => undef,
- 'vars' => undef,
- 'VMS::DCLsym' => 1.01,
- 'VMS::Filespec' => undef,
- 'VMS::Stdio' => 2.2,
- 'vmsish' => undef,
- 'warnings' => undef,
- 'warnings::register' => undef,
- 'XSLoader' => '0.01',
+ 5.006001 => {
+ delta_from => 5.006,
+ changed => {
+ 'AutoLoader' => '5.58',
+ 'B::Assembler' => '0.02',
+ 'B::Concise' => '0.51',
+ 'B::Deparse' => '0.6',
+ 'ByteLoader' => '0.04',
+ 'CGI' => '2.752',
+ 'CGI::Carp' => '1.20',
+ 'CGI::Cookie' => '1.18',
+ 'CGI::Pretty' => '1.05',
+ 'CGI::Push' => '1.04',
+ 'CGI::Util' => '1.1',
+ 'CPAN' => '1.59_54',
+ 'CPAN::FirstTime' => '1.53',
+ 'Class::Struct' => '0.59',
+ 'Cwd' => '2.04',
+ 'DB_File' => '1.75',
+ 'Data::Dumper' => '2.102',
+ 'ExtUtils::Install' => '1.28',
+ 'ExtUtils::Liblist' => '1.26',
+ 'ExtUtils::MM_Unix' => '1.12603',
+ 'ExtUtils::Manifest' => '1.33',
+ 'ExtUtils::Mkbootstrap' => '1.14',
+ 'ExtUtils::Mksymlists' => '1.17',
+ 'ExtUtils::testlib' => '1.11',
+ 'File::Path' => '1.0404',
+ 'File::Spec' => '0.82',
+ 'File::Spec::Epoc' => undef,
+ 'File::Spec::Functions' => '1.1',
+ 'File::Spec::Mac' => '1.2',
+ 'File::Spec::OS2' => '1.1',
+ 'File::Spec::Unix' => '1.2',
+ 'File::Spec::VMS' => '1.1',
+ 'File::Spec::Win32' => '1.2',
+ 'File::Temp' => '0.12',
+ 'GDBM_File' => '1.05',
+ 'Getopt::Long' => '2.25',
+ 'IO::Poll' => '0.05',
+ 'JNI' => '0.1',
+ 'Math::BigFloat' => '0.02',
+ 'Math::BigInt' => '0.01',
+ 'Math::Complex' => '1.31',
+ 'NDBM_File' => '1.04',
+ 'ODBM_File' => '1.03',
+ 'OS2::REXX' => '1.00',
+ 'Pod::Checker' => '1.2',
+ 'Pod::Find' => '0.21',
+ 'Pod::InputObjects' => '1.13',
+ 'Pod::LaTeX' => '0.53',
+ 'Pod::Man' => '1.15',
+ 'Pod::ParseUtils' => '0.22',
+ 'Pod::Parser' => '1.13',
+ 'Pod::Select' => '1.13',
+ 'Pod::Text' => '2.08',
+ 'Pod::Text::Color' => '0.06',
+ 'Pod::Text::Overstrike' => '1.01',
+ 'Pod::Text::Termcap' => '1',
+ 'Pod::Usage' => '1.14',
+ 'SDBM_File' => '1.03',
+ 'SelfLoader' => '1.0902',
+ 'Shell' => '0.3',
+ 'Term::ANSIColor' => '1.03',
+ 'Test' => '1.15',
+ 'Text::Wrap' => '2001.0131',
+ 'Tie::Handle' => '4.0',
+ 'Tie::RefHash' => '1.3',
+ },
+ removed => {
+ }
},
-
5.006002 => {
- 'AnyDBM_File' => undef, #lib/AnyDBM_File.pm
- 'attributes' => '0.03', #lib/attributes.pm
- 'attrs' => '1.0', #lib/attrs.pm
- 'AutoLoader' => '5.58', #lib/AutoLoader.pm
- 'AutoSplit' => '1.0305', #lib/AutoSplit.pm
- 'autouse' => '1.02', #lib/autouse.pm
- 'B' => undef, #lib/B.pm
- 'B::Asmdata' => undef, #lib/B/Asmdata.pm
- 'B::Assembler' => '0.02', #lib/B/Assembler.pm
- 'B::Bblock' => undef, #lib/B/Bblock.pm
- 'B::Bytecode' => undef, #lib/B/Bytecode.pm
- 'B::C' => undef, #lib/B/C.pm
- 'B::CC' => undef, #lib/B/CC.pm
- 'B::Concise' => '0.51', #lib/B/Concise.pm
- 'B::Debug' => undef, #lib/B/Debug.pm
- 'B::Deparse' => '0.6', #lib/B/Deparse.pm
- 'B::Disassembler' => undef, #lib/B/Disassembler.pm
- 'B::Lint' => undef, #lib/B/Lint.pm
- 'B::Showlex' => undef, #lib/B/Showlex.pm
- 'B::Stackobj' => undef, #lib/B/Stackobj.pm
- 'B::Stash' => undef, #lib/B/Stash.pm
- 'B::Terse' => undef, #lib/B/Terse.pm
- 'B::Xref' => undef, #lib/B/Xref.pm
- 'base' => '1.01', #lib/base.pm
- 'Benchmark' => '1', #lib/Benchmark.pm
- 'blib' => '1.00', #lib/blib.pm
- 'ByteLoader' => '0.04', #lib/ByteLoader.pm
- 'bytes' => undef, #lib/bytes.pm
- 'Carp' => undef, #lib/Carp.pm
- 'Carp::Heavy' => undef, #lib/Carp/Heavy.pm
- 'CGI' => '2.752', #lib/CGI.pm
- 'CGI::Apache' => undef, #lib/CGI/Apache.pm
- 'CGI::Carp' => '1.20', #lib/CGI/Carp.pm
- 'CGI::Cookie' => '1.18', #lib/CGI/Cookie.pm
- 'CGI::Fast' => '1.02', #lib/CGI/Fast.pm
- 'CGI::Pretty' => '1.05', #lib/CGI/Pretty.pm
- 'CGI::Push' => '1.04', #lib/CGI/Push.pm
- 'CGI::Switch' => undef, #lib/CGI/Switch.pm
- 'CGI::Util' => '1.1', #lib/CGI/Util.pm
- 'charnames' => undef, #lib/charnames.pm
- 'Class::Struct' => '0.59', #lib/Class/Struct.pm
- 'Config' => undef, #lib/Config.pm
- 'constant' => '1.02', #lib/constant.pm
- 'CPAN' => '1.59_54', #lib/CPAN.pm
- 'CPAN::FirstTime' => '1.53 ', #lib/CPAN/FirstTime.pm
- 'CPAN::Nox' => '1.00', #lib/CPAN/Nox.pm
- 'Cwd' => '2.04', #lib/Cwd.pm
- 'Data::Dumper' => '2.121', #lib/Data/Dumper.pm
- 'DB' => '1.0', #lib/DB.pm
- 'DB_File' => '1.806', #lib/DB_File.pm
- 'Devel::DProf' => '20000000.00_00', #lib/Devel/DProf.pm
- 'Devel::Peek' => '1.00_01', #lib/Devel/Peek.pm
- 'Devel::SelfStubber' => '1.01', #lib/Devel/SelfStubber.pm
- 'diagnostics' => '1.0', #lib/diagnostics.pm
- 'DirHandle' => undef, #lib/DirHandle.pm
- 'Dumpvalue' => undef, #lib/Dumpvalue.pm
- 'DynaLoader' => '1.04', #lib/DynaLoader.pm
- 'English' => undef, #lib/English.pm
- 'Env' => undef, #lib/Env.pm
- 'Errno' => '1.111', #lib/Errno.pm
- 'Exporter' => '5.562', #lib/Exporter.pm
- 'Exporter::Heavy' => undef, #lib/Exporter/Heavy.pm
- 'ExtUtils::Command' => '1.05', #lib/ExtUtils/Command.pm
- 'ExtUtils::Command::MM' => '0.03', #lib/ExtUtils/Command/MM.pm
- 'ExtUtils::Embed' => '1.2505', #lib/ExtUtils/Embed.pm
- 'ExtUtils::Install' => '1.32', #lib/ExtUtils/Install.pm
- 'ExtUtils::Installed' => '0.08', #lib/ExtUtils/Installed.pm
- 'ExtUtils::Liblist' => '1.01', #lib/ExtUtils/Liblist.pm
- 'ExtUtils::Liblist::Kid'=> '1.3', #lib/ExtUtils/Liblist/Kid.pm
- 'ExtUtils::MakeMaker' => '6.17', #lib/ExtUtils/MakeMaker.pm
- 'ExtUtils::MakeMaker::bytes'=> '0.01', #lib/ExtUtils/MakeMaker/bytes.pm
- 'ExtUtils::MakeMaker::vmsish'=> '0.01', #lib/ExtUtils/MakeMaker/vmsish.pm
- 'ExtUtils::Manifest' => '1.42', #lib/ExtUtils/Manifest.pm
- 'ExtUtils::Miniperl' => undef, #lib/ExtUtils/Miniperl.pm
- 'ExtUtils::Mkbootstrap' => '1.15', #lib/ExtUtils/Mkbootstrap.pm
- 'ExtUtils::Mksymlists' => '1.19', #lib/ExtUtils/Mksymlists.pm
- 'ExtUtils::MM' => '0.04', #lib/ExtUtils/MM.pm
- 'ExtUtils::MM_Any' => '0.07', #lib/ExtUtils/MM_Any.pm
- 'ExtUtils::MM_BeOS' => '1.04', #lib/ExtUtils/MM_BeOS.pm
- 'ExtUtils::MM_Cygwin' => '1.06', #lib/ExtUtils/MM_Cygwin.pm
- 'ExtUtils::MM_DOS' => '0.02', #lib/ExtUtils/MM_DOS.pm
- 'ExtUtils::MM_MacOS' => '1.07', #lib/ExtUtils/MM_MacOS.pm
- 'ExtUtils::MM_NW5' => '2.06', #lib/ExtUtils/MM_NW5.pm
- 'ExtUtils::MM_OS2' => '1.04', #lib/ExtUtils/MM_OS2.pm
- 'ExtUtils::MM_Unix' => '1.42', #lib/ExtUtils/MM_Unix.pm
- 'ExtUtils::MM_UWIN' => '0.02', #lib/ExtUtils/MM_UWIN.pm
- 'ExtUtils::MM_VMS' => '5.70', #lib/ExtUtils/MM_VMS.pm
- 'ExtUtils::MM_Win32' => '1.09', #lib/ExtUtils/MM_Win32.pm
- 'ExtUtils::MM_Win95' => '0.03', #lib/ExtUtils/MM_Win95.pm
- 'ExtUtils::MY' => '0.01', #lib/ExtUtils/MY.pm
- 'ExtUtils::Packlist' => '0.04', #lib/ExtUtils/Packlist.pm
- 'ExtUtils::testlib' => '1.15', #lib/ExtUtils/testlib.pm
- 'ExtUtils::XSSymSet' => '1.0', #vms/ext/XSSymSet.pm
- 'Fatal' => '1.02', #lib/Fatal.pm
- 'Fcntl' => '1.03', #lib/Fcntl.pm
- 'fields' => '1.01', #lib/fields.pm
- 'File::Basename' => '2.6', #lib/File/Basename.pm
- 'File::CheckTree' => undef, #lib/File/CheckTree.pm
- 'File::Compare' => '1.1002', #lib/File/Compare.pm
- 'File::Copy' => '2.03', #lib/File/Copy.pm
- 'File::DosGlob' => undef, #lib/File/DosGlob.pm
- 'File::Find' => undef, #lib/File/Find.pm
- 'File::Glob' => '0.991', #lib/File/Glob.pm
- 'File::Path' => '1.0404', #lib/File/Path.pm
- 'File::Spec' => '0.86', #lib/File/Spec.pm
- 'File::Spec::Cygwin' => '1.1', #lib/File/Spec/Cygwin.pm
- 'File::Spec::Epoc' => '1.1', #lib/File/Spec/Epoc.pm
- 'File::Spec::Functions' => '1.3', #lib/File/Spec/Functions.pm
- 'File::Spec::Mac' => '1.4', #lib/File/Spec/Mac.pm
- 'File::Spec::OS2' => '1.2', #lib/File/Spec/OS2.pm
- 'File::Spec::Unix' => '1.5', #lib/File/Spec/Unix.pm
- 'File::Spec::VMS' => '1.4', #lib/File/Spec/VMS.pm
- 'File::Spec::Win32' => '1.4', #lib/File/Spec/Win32.pm
- 'File::stat' => undef, #lib/File/stat.pm
- 'File::Temp' => '0.14', #lib/File/Temp.pm
- 'FileCache' => undef, #lib/FileCache.pm
- 'FileHandle' => '2.00', #lib/FileHandle.pm
- 'filetest' => undef, #lib/filetest.pm
- 'FindBin' => '1.42', #lib/FindBin.pm
- 'GDBM_File' => '1.05', #ext/GDBM_File/GDBM_File.pm
- 'Getopt::Long' => '2.25', #lib/Getopt/Long.pm
- 'Getopt::Std' => '1.02', #lib/Getopt/Std.pm
- 'I18N::Collate' => undef, #lib/I18N/Collate.pm
- 'if' => '0.03', #lib/if.pm
- 'integer' => undef, #lib/integer.pm
- 'IO' => '1.20', #lib/IO.pm
- 'IO::Dir' => '1.03', #lib/IO/Dir.pm
- 'IO::File' => '1.08', #lib/IO/File.pm
- 'IO::Handle' => '1.21', #lib/IO/Handle.pm
- 'IO::Pipe' => '1.121', #lib/IO/Pipe.pm
- 'IO::Poll' => '0.05', #lib/IO/Poll.pm
- 'IO::Seekable' => '1.08', #lib/IO/Seekable.pm
- 'IO::Select' => '1.14', #lib/IO/Select.pm
- 'IO::Socket' => '1.26', #lib/IO/Socket.pm
- 'IO::Socket::INET' => '1.25', #lib/IO/Socket/INET.pm
- 'IO::Socket::UNIX' => '1.20', #lib/IO/Socket/UNIX.pm
- 'IPC::Msg' => '1.00', #lib/IPC/Msg.pm
- 'IPC::Open2' => '1.01', #lib/IPC/Open2.pm
- 'IPC::Open3' => '1.0103', #lib/IPC/Open3.pm
- 'IPC::Semaphore' => '1.00', #lib/IPC/Semaphore.pm
- 'IPC::SysV' => '1.03', #lib/IPC/SysV.pm
- 'JNI' => '0.1', #jpl/JNI/JNI.pm
- 'JPL::AutoLoader' => undef, #jpl/JPL/AutoLoader.pm
- 'JPL::Class' => undef, #jpl/JPL/Class.pm
- 'JPL::Compile' => undef, #jpl/JPL/Compile.pm
- 'less' => undef, #lib/less.pm
- 'lib' => '0.5564', #lib/lib.pm
- 'locale' => undef, #lib/locale.pm
- 'Math::BigFloat' => '0.02', #lib/Math/BigFloat.pm
- 'Math::BigInt' => '0.01', #lib/Math/BigInt.pm
- 'Math::Complex' => '1.31', #lib/Math/Complex.pm
- 'Math::Trig' => '1', #lib/Math/Trig.pm
- 'NDBM_File' => '1.04', #ext/NDBM_File/NDBM_File.pm
- 'Net::hostent' => undef, #lib/Net/hostent.pm
- 'Net::netent' => undef, #lib/Net/netent.pm
- 'Net::Ping' => '2.02', #lib/Net/Ping.pm
- 'Net::protoent' => undef, #lib/Net/protoent.pm
- 'Net::servent' => undef, #lib/Net/servent.pm
- 'O' => undef, #lib/O.pm
- 'ODBM_File' => '1.03', #ext/ODBM_File/ODBM_File.pm
- 'Opcode' => '1.04', #lib/Opcode.pm
- 'open' => undef, #lib/open.pm
- 'ops' => '1.00', #lib/ops.pm
- 'OS2::DLL' => undef, #os2/OS2/REXX/DLL/DLL.pm
- 'OS2::ExtAttr' => '0.01', #os2/OS2/ExtAttr/ExtAttr.pm
- 'OS2::PrfDB' => '0.02', #os2/OS2/PrfDB/PrfDB.pm
- 'OS2::Process' => '0.2', #os2/OS2/Process/Process.pm
- 'OS2::REXX' => '1.00', #os2/OS2/REXX/REXX.pm
- 'overload' => undef, #lib/overload.pm
- 'Pod::Checker' => '1.2', #lib/Pod/Checker.pm
- 'Pod::Find' => '0.21', #lib/Pod/Find.pm
- 'Pod::Functions' => undef, #lib/Pod/Functions.pm
- 'Pod::Html' => '1.03', #lib/Pod/Html.pm
- 'Pod::InputObjects' => '1.13', #lib/Pod/InputObjects.pm
- 'Pod::LaTeX' => '0.53', #lib/Pod/LaTeX.pm
- 'Pod::Man' => '1.15', #lib/Pod/Man.pm
- 'Pod::Parser' => '1.13', #lib/Pod/Parser.pm
- 'Pod::ParseUtils' => '0.22', #lib/Pod/ParseUtils.pm
- 'Pod::Plainer' => '0.01', #lib/Pod/Plainer.pm
- 'Pod::Select' => '1.13', #lib/Pod/Select.pm
- 'Pod::Text' => '2.08', #lib/Pod/Text.pm
- 'Pod::Text::Color' => '0.06', #lib/Pod/Text/Color.pm
- 'Pod::Text::Overstrike' => '1.01', #lib/Pod/Text/Overstrike.pm
- 'Pod::Text::Termcap' => '1', #lib/Pod/Text/Termcap.pm
- 'Pod::Usage' => '1.14', #lib/Pod/Usage.pm
- 'POSIX' => '1.03', #lib/POSIX.pm
- 're' => '0.02', #lib/re.pm
- 'Safe' => '2.10', #lib/Safe.pm
- 'SDBM_File' => '1.03', #lib/SDBM_File.pm
- 'Search::Dict' => undef, #lib/Search/Dict.pm
- 'SelectSaver' => undef, #lib/SelectSaver.pm
- 'SelfLoader' => '1.0902', #lib/SelfLoader.pm
- 'Shell' => '0.3', #lib/Shell.pm
- 'sigtrap' => '1.02', #lib/sigtrap.pm
- 'Socket' => '1.72', #lib/Socket.pm
- 'strict' => '1.01', #lib/strict.pm
- 'subs' => undef, #lib/subs.pm
- 'Symbol' => '1.02', #lib/Symbol.pm
- 'Sys::Hostname' => '1.1', #lib/Sys/Hostname.pm
- 'Sys::Syslog' => '0.01', #lib/Sys/Syslog.pm
- 'Term::ANSIColor' => '1.03', #lib/Term/ANSIColor.pm
- 'Term::Cap' => undef, #lib/Term/Cap.pm
- 'Term::Complete' => undef, #lib/Term/Complete.pm
- 'Term::ReadLine' => undef, #lib/Term/ReadLine.pm
- 'Test' => '1.24', #lib/Test.pm
- 'Test::Builder' => '0.17', #lib/Test/Builder.pm
- 'Test::Harness' => '2.30', #lib/Test/Harness.pm
- 'Test::Harness::Assert' => '0.01', #lib/Test/Harness/Assert.pm
- 'Test::Harness::Iterator'=> '0.01', #lib/Test/Harness/Iterator.pm
- 'Test::Harness::Straps' => '0.15', #lib/Test/Harness/Straps.pm
- 'Test::More' => '0.47', #lib/Test/More.pm
- 'Test::Simple' => '0.47', #lib/Test/Simple.pm
- 'Text::Abbrev' => undef, #lib/Text/Abbrev.pm
- 'Text::ParseWords' => '3.2', #lib/Text/ParseWords.pm
- 'Text::Soundex' => '1.0', #lib/Text/Soundex.pm
- 'Text::Tabs' => '98.112801', #lib/Text/Tabs.pm
- 'Text::Wrap' => '2001.0131', #lib/Text/Wrap.pm
- 'Thread' => '1.0', #ext/Thread/Thread.pm
- 'Thread::Queue' => undef, #ext/Thread/Thread/Queue.pm
- 'Thread::Semaphore' => undef, #ext/Thread/Thread/Semaphore.pm
- 'Thread::Signal' => undef, #ext/Thread/Thread/Signal.pm
- 'Thread::Specific' => undef, #ext/Thread/Thread/Specific.pm
- 'Tie::Array' => '1.01', #lib/Tie/Array.pm
- 'Tie::Handle' => '4.0', #lib/Tie/Handle.pm
- 'Tie::Hash' => undef, #lib/Tie/Hash.pm
- 'Tie::RefHash' => '1.3', #lib/Tie/RefHash.pm
- 'Tie::Scalar' => undef, #lib/Tie/Scalar.pm
- 'Tie::SubstrHash' => undef, #lib/Tie/SubstrHash.pm
- 'Time::gmtime' => '1.01', #lib/Time/gmtime.pm
- 'Time::Local' => undef, #lib/Time/Local.pm
- 'Time::localtime' => '1.01', #lib/Time/localtime.pm
- 'Time::tm' => undef, #lib/Time/tm.pm
- 'Unicode' => '3.0.1', # lib/unicore/version
- 'UNIVERSAL' => undef, #lib/UNIVERSAL.pm
- 'User::grent' => undef, #lib/User/grent.pm
- 'User::pwent' => undef, #lib/User/pwent.pm
- 'utf8' => undef, #lib/utf8.pm
- 'vars' => undef, #lib/vars.pm
- 'VMS::DCLsym' => '1.01', #vms/ext/DCLsym/DCLsym.pm
- 'VMS::Filespec' => undef, #vms/ext/Filespec.pm
- 'VMS::Stdio' => '2.2', #vms/ext/Stdio/Stdio.pm
- 'vmsish' => undef, #vms/ext/vmsish.pm
- 'warnings' => undef, #lib/warnings.pm
- 'warnings::register' => undef, #lib/warnings/register.pm
- 'XSLoader' => '0.01', #lib/XSLoader.pm
+ delta_from => 5.006001,
+ changed => {
+ 'CPAN::FirstTime' => '1.53 ',
+ 'DB_File' => '1.806',
+ 'Data::Dumper' => '2.121',
+ 'ExtUtils::Command' => '1.05',
+ 'ExtUtils::Command::MM' => '0.03',
+ 'ExtUtils::Install' => '1.32',
+ 'ExtUtils::Installed' => '0.08',
+ 'ExtUtils::Liblist' => '1.01',
+ 'ExtUtils::Liblist::Kid'=> '1.3',
+ 'ExtUtils::MM' => '0.04',
+ 'ExtUtils::MM_Any' => '0.07',
+ 'ExtUtils::MM_BeOS' => '1.04',
+ 'ExtUtils::MM_Cygwin' => '1.06',
+ 'ExtUtils::MM_DOS' => '0.02',
+ 'ExtUtils::MM_MacOS' => '1.07',
+ 'ExtUtils::MM_NW5' => '2.06',
+ 'ExtUtils::MM_OS2' => '1.04',
+ 'ExtUtils::MM_UWIN' => '0.02',
+ 'ExtUtils::MM_Unix' => '1.42',
+ 'ExtUtils::MM_VMS' => '5.70',
+ 'ExtUtils::MM_Win32' => '1.09',
+ 'ExtUtils::MM_Win95' => '0.03',
+ 'ExtUtils::MY' => '0.01',
+ 'ExtUtils::MakeMaker' => '6.17',
+ 'ExtUtils::MakeMaker::bytes'=> '0.01',
+ 'ExtUtils::MakeMaker::vmsish'=> '0.01',
+ 'ExtUtils::Manifest' => '1.42',
+ 'ExtUtils::Mkbootstrap' => '1.15',
+ 'ExtUtils::Mksymlists' => '1.19',
+ 'ExtUtils::Packlist' => '0.04',
+ 'ExtUtils::testlib' => '1.15',
+ 'File::Spec' => '0.86',
+ 'File::Spec::Cygwin' => '1.1',
+ 'File::Spec::Epoc' => '1.1',
+ 'File::Spec::Functions' => '1.3',
+ 'File::Spec::Mac' => '1.4',
+ 'File::Spec::OS2' => '1.2',
+ 'File::Spec::Unix' => '1.5',
+ 'File::Spec::VMS' => '1.4',
+ 'File::Spec::Win32' => '1.4',
+ 'File::Temp' => '0.14',
+ 'Safe' => '2.10',
+ 'Test' => '1.24',
+ 'Test::Builder' => '0.17',
+ 'Test::Harness' => '2.30',
+ 'Test::Harness::Assert' => '0.01',
+ 'Test::Harness::Iterator'=> '0.01',
+ 'Test::Harness::Straps' => '0.15',
+ 'Test::More' => '0.47',
+ 'Test::Simple' => '0.47',
+ 'Unicode' => '3.0.1',
+ 'if' => '0.03',
+ 'ops' => '1.00',
+ },
+ removed => {
+ }
},
-
- 5.007003 => {
- 'AnyDBM_File' => '1.00',
- 'Attribute::Handlers' => '0.76',
- 'attributes' => '0.04_01',
- 'attrs' => '1.01',
- 'AutoLoader' => '5.59',
- 'AutoSplit' => '1.0307',
- 'autouse' => '1.03',
- 'B::Asmdata' => '1.00',
- 'B::Assembler' => '0.04',
- 'B::Bblock' => '1.00',
- 'B::Bytecode' => '1.00',
- 'B::C' => '1.01',
- 'B::CC' => '1.00',
- 'B::Concise' => '0.52',
- 'B::Debug' => '1.00',
- 'B::Deparse' => '0.63',
- 'B::Disassembler' => '1.01',
- 'B::Lint' => '1.00',
- 'B' => '1.00',
- 'B::Showlex' => '1.00',
- 'B::Stackobj' => '1.00',
- 'B::Stash' => '1.00',
- 'B::Terse' => '1.00',
- 'B::Xref' => '1.00',
- 'base' => '1.02',
- 'Benchmark' => '1.04',
- 'blib' => '1.01',
- 'ByteLoader' => '0.04',
- 'bytes' => '1.00',
- 'Carp' => '1.01',
- 'Carp::Heavy' => undef,
- 'CGI' => '2.80',
- 'CGI::Apache' => '1.00',
- 'CGI::Carp' => '1.22',
- 'CGI::Cookie' => '1.20',
- 'CGI::Fast' => '1.04',
- 'CGI::Pretty' => '1.05_00',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.00',
- 'CGI::Util' => '1.3',
- 'charnames' => '1.01',
- 'Class::ISA' => '0.32',
- 'Class::Struct' => '0.61',
- 'Config' => undef,
- 'constant' => '1.04',
- 'CPAN::FirstTime' => '1.54 ',
- 'CPAN' => '1.59_56',
- 'CPAN::Nox' => '1.00_01',
- 'Cwd' => '2.06',
- 'Data::Dumper' => '2.12',
- 'DB' => '1.0',
- 'DB_File' => '1.804',
- 'Devel::DProf' => '20000000.00_01',
- 'Devel::Peek' => '1.00_03',
- 'Devel::PPPort' => '2.0002',
- 'Devel::SelfStubber' => '1.03',
- 'diagnostics' => '1.1',
- 'Digest' => '1.00',
- 'Digest::MD5' => '2.16',
- 'DirHandle' => '1.00',
- 'Dumpvalue' => '1.10',
- 'DynaLoader' => 1.04,
- 'Encode' => '0.40',
- 'Encode::CN' => '0.02',
- 'Encode::CN::HZ' => undef,
- 'Encode::Encoding' => '0.02',
- 'Encode::Internal' => '0.30',
- 'Encode::iso10646_1' => '0.30',
- 'Encode::JP' => '0.02',
- 'Encode::JP::Constants' => '1.02',
- 'Encode::JP::H2Z' => '0.77',
- 'Encode::JP::ISO_2022_JP' => undef,
- 'Encode::JP::JIS' => undef,
- 'Encode::JP::Tr' => '0.77',
- 'Encode::KR' => '0.02',
- 'Encode::Tcl' => '1.01',
- 'Encode::Tcl::Escape' => '1.01',
- 'Encode::Tcl::Extended' => '1.01',
- 'Encode::Tcl::HanZi' => '1.01',
- 'Encode::Tcl::Table' => '1.01',
- 'Encode::TW' => '0.02',
- 'Encode::Unicode' => '0.30',
- 'Encode::usc2_le' => '0.30',
- 'Encode::utf8' => '0.30',
- 'Encode::XS' => '0.40',
- 'encoding' => '1.00',
- 'English' => '1.00',
- 'Env' => '1.00',
- 'Exporter' => '5.566',
- 'Exporter::Heavy' => '5.562',
- 'ExtUtils::Command' => '1.02',
- 'ExtUtils::Constant' => '0.11',
- 'ExtUtils::Embed' => '1.250601',
- 'ExtUtils::Install' => '1.29',
- 'ExtUtils::Installed' => '0.04',
- 'ExtUtils::Liblist' => '1.2701',
- 'ExtUtils::MakeMaker' => '5.48_03',
- 'ExtUtils::Manifest' => '1.35',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '1.1401',
- 'ExtUtils::Mksymlists' => '1.18',
- 'ExtUtils::MM_BeOS' => '1.00',
- 'ExtUtils::MM_Cygwin' => '1.00',
- 'ExtUtils::MM_OS2' => '1.00',
- 'ExtUtils::MM_Unix' => '1.12607',
- 'ExtUtils::MM_VMS' => '5.56',
- 'ExtUtils::MM_Win32' => '1.00_02',
- 'ExtUtils::Packlist' => '0.04',
- 'ExtUtils::testlib' => '1.1201',
- 'ExtUtils::XSSymSet' => '1.0',
- 'Fatal' => '1.03',
- 'Fcntl' => '1.04',
- 'fields' => '1.02',
- 'File::Basename' => '2.71',
- 'File::CheckTree' => '4.1',
- 'File::Compare' => '1.1003',
- 'File::Copy' => '2.05',
- 'File::DosGlob' => '1.00',
- 'File::Find' => '1.04',
- 'File::Glob' => '1.01',
- 'File::Path' => '1.05',
- 'File::Spec' => '0.83',
- 'File::Spec::Cygwin' => '1.0',
- 'File::Spec::Epoc' => '1.00',
- 'File::Spec::Functions' => '1.2',
- 'File::Spec::Mac' => '1.3',
- 'File::Spec::OS2' => '1.1',
- 'File::Spec::Unix' => '1.4',
- 'File::Spec::VMS' => '1.2',
- 'File::Spec::Win32' => '1.3',
- 'File::stat' => '1.00',
- 'File::Temp' => '0.13',
- 'FileCache' => '1.00',
- 'FileHandle' => '2.01',
- 'filetest' => '1.00',
- 'Filter::Simple' => '0.77',
- 'Filter::Util::Call' => '1.06',
- 'FindBin' => '1.43',
- 'GDBM_File' => '1.06',
- 'Getopt::Long' => '2.28',
- 'Getopt::Std' => '1.03',
- 'I18N::Collate' => '1.00',
- 'I18N::Langinfo' => '0.01',
- 'I18N::LangTags' => '0.27',
- 'I18N::LangTags::List' => '0.25',
- 'if' => '0.01',
- 'integer' => '1.00',
- 'IO' => '1.20',
- 'IO::Dir' => '1.03_00',
- 'IO::File' => '1.09',
- 'IO::Handle' => '1.21_00',
- 'IO::Pipe' => '1.122',
- 'IO::Poll' => '0.06',
- 'IO::Seekable' => '1.08_00',
- 'IO::Select' => '1.15',
- 'IO::Socket' => '1.27',
- 'IO::Socket::INET' => '1.26',
- 'IO::Socket::UNIX' => '1.20_00',
- 'IPC::Msg' => '1.00_00',
- 'IPC::Open2' => '1.01',
- 'IPC::Open3' => '1.0104',
- 'IPC::Semaphore' => '1.00_00',
- 'IPC::SysV' => '1.03_00',
- 'JNI' => '0.1',
- 'JPL::AutoLoader' => undef,
- 'JPL::Class' => undef,
- 'JPL::Compile' => undef,
- 'less' => '0.01',
- 'lib' => '0.5564',
- 'List::Util' => '1.06_00',
- 'locale' => '1.00',
- 'Locale::Constants' => '2.01',
- 'Locale::Country' => '2.01',
- 'Locale::Currency' => '2.01',
- 'Locale::Language' => '2.01',
- 'Locale::Maketext' => '1.03',
- 'Locale::Script' => '2.01',
- 'Math::BigFloat' => '1.30',
- 'Math::BigInt' => '1.54',
- 'Math::BigInt::Calc' => '0.25',
- 'Math::Complex' => '1.34',
- 'Math::Trig' => '1.01',
- 'Memoize' => '0.66',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '0.66',
- 'Memoize::ExpireFile' => '0.65',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'MIME::Base64' => '2.12',
- 'MIME::QuotedPrint' => '2.03',
- 'NDBM_File' => '1.04',
- 'Net::Cmd' => '2.21',
- 'Net::Config' => '1.10',
- 'Net::Domain' => '2.17',
- 'Net::FTP' => '2.64',
- 'Net::FTP::A' => '1.15',
- 'Net::FTP::dataconn' => '0.10',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::hostent' => '1.00',
- 'Net::netent' => '1.00',
- 'Net::Netrc' => '2.12',
- 'Net::NNTP' => '2.21',
- 'Net::Ping' => '2.12',
- 'Net::POP3' => '2.23',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.00',
- 'Net::SMTP' => '2.21',
- 'Net::Time' => '2.09',
- 'NEXT' => '0.50',
- 'O' => '1.00',
- 'ODBM_File' => '1.03',
- 'Opcode' => '1.05',
- 'open' => '1.01',
- 'ops' => '1.00',
- 'OS2::DLL' => '1.00',
- 'OS2::ExtAttr' => '0.01',
- 'OS2::PrfDB' => '0.02',
- 'OS2::Process' => '1.0',
- 'OS2::REXX' => '1.01',
- 'overload' => '1.00',
- 'PerlIO' => '1.00',
- 'PerlIO::Scalar' => '0.01',
- 'PerlIO::Via' => '0.01',
- 'Pod::Checker' => '1.3',
- 'Pod::Find' => '0.22',
- 'Pod::Functions' => '1.01',
- 'Pod::Html' => '1.04',
- 'Pod::LaTeX' => '0.54',
- 'Pod::Man' => '1.32',
- 'Pod::InputObjects' => '1.13',
- 'Pod::ParseLink' => '1.05',
- 'Pod::Parser' => '1.13',
- 'Pod::ParseUtils' => '0.22',
- 'Pod::Plainer' => '0.01',
- 'Pod::Select' => '1.13',
- 'Pod::Text' => '2.18',
- 'Pod::Text::Color' => '1.03',
- 'Pod::Text::Overstrike' => '1.08',
- 'Pod::Text::Termcap' => '1.09',
- 'Pod::Usage' => '1.14',
- 'POSIX' => '1.05',
- 're' => '0.03',
- 'Safe' => '2.07',
- 'Scalar::Util' => undef,
- 'SDBM_File' => '1.03',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.00',
- 'SelfLoader' => '1.0903',
- 'Shell' => '0.4',
- 'sigtrap' => '1.02',
- 'Socket' => '1.75',
- 'sort' => '1.00',
- 'Storable' => '1.015',
- 'strict' => '1.02',
- 'subs' => '1.00',
- 'Switch' => '2.06',
- 'Symbol' => '1.04',
- 'Sys::Hostname' => '1.1',
- 'Sys::Syslog' => '0.02',
- 'Term::ANSIColor' => '1.04',
- 'Term::Cap' => '1.07',
- 'Term::Complete' => '1.4',
- 'Term::ReadLine' => '1.00',
- 'Test' => '1.18',
- 'Test::Builder' => '0.11',
- 'Test::Harness' => '2.01',
- 'Test::Harness::Assert' => '0.01',
- 'Test::Harness::Iterator'=> '0.01',
- 'Test::Harness::Straps' => '0.08',
- 'Test::More' => '0.41',
- 'Test::Simple' => '0.41',
- 'Text::Abbrev' => '1.00',
- 'Text::Balanced' => '1.89',
- 'Text::ParseWords' => '3.21',
- 'Text::Soundex' => '1.01',
- 'Text::Tabs' => '98.112801',
- 'Text::Wrap' => '2001.0929',
- 'Thread' => '2.00',
- 'Thread::Queue' => '1.00',
- 'Thread::Semaphore' => '1.00',
- 'Thread::Signal' => '1.00',
- 'Thread::Specific' => '1.00',
- 'threads' => '0.05',
- 'threads::shared' => '0.90',
- 'Tie::Array' => '1.02',
- 'Tie::File' => '0.17',
- 'Tie::Hash' => '1.00',
- 'Tie::Handle' => '4.1',
- 'Tie::Memoize' => '1.0',
- 'Tie::RefHash' => '1.3_00',
- 'Tie::Scalar' => '1.00',
- 'Tie::SubstrHash' => '1.00',
- 'Time::gmtime' => '1.02',
- 'Time::HiRes' => '1.20_00',
- 'Time::Local' => '1.04',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'Unicode::Collate' => '0.10',
- 'Unicode::Normalize' => '0.14',
- 'Unicode::UCD' => '0.2',
- 'UNIVERSAL' => '1.00',
- 'User::grent' => '1.00',
- 'User::pwent' => '1.00',
- 'utf8' => '1.00',
- 'vars' => '1.01',
- 'VMS::DCLsym' => '1.02',
- 'VMS::Filespec' => '1.1',
- 'VMS::Stdio' => '2.3',
- 'vmsish' => '1.00',
- 'warnings' => '1.00',
- 'warnings::register' => '1.00',
- 'XS::Typemap' => '0.01',
- 'XSLoader' => '0.01',
+ 5.007003 => {
+ delta_from => 5.006001,
+ changed => {
+ 'AnyDBM_File' => '1.00',
+ 'Attribute::Handlers' => '0.76',
+ 'AutoLoader' => '5.59',
+ 'AutoSplit' => '1.0307',
+ 'B' => '1.00',
+ 'B::Asmdata' => '1.00',
+ 'B::Assembler' => '0.04',
+ 'B::Bblock' => '1.00',
+ 'B::Bytecode' => '1.00',
+ 'B::C' => '1.01',
+ 'B::CC' => '1.00',
+ 'B::Concise' => '0.52',
+ 'B::Debug' => '1.00',
+ 'B::Deparse' => '0.63',
+ 'B::Disassembler' => '1.01',
+ 'B::Lint' => '1.00',
+ 'B::Showlex' => '1.00',
+ 'B::Stackobj' => '1.00',
+ 'B::Stash' => '1.00',
+ 'B::Terse' => '1.00',
+ 'B::Xref' => '1.00',
+ 'Benchmark' => '1.04',
+ 'CGI' => '2.80',
+ 'CGI::Apache' => '1.00',
+ 'CGI::Carp' => '1.22',
+ 'CGI::Cookie' => '1.20',
+ 'CGI::Fast' => '1.04',
+ 'CGI::Pretty' => '1.05_00',
+ 'CGI::Switch' => '1.00',
+ 'CGI::Util' => '1.3',
+ 'CPAN' => '1.59_56',
+ 'CPAN::FirstTime' => '1.54 ',
+ 'CPAN::Nox' => '1.00_01',
+ 'Carp' => '1.01',
+ 'Carp::Heavy' => '1.01',
+ 'Class::ISA' => '0.32',
+ 'Class::Struct' => '0.61',
+ 'Cwd' => '2.06',
+ 'DB_File' => '1.804',
+ 'Data::Dumper' => '2.12',
+ 'Devel::DProf' => '20000000.00_01',
+ 'Devel::PPPort' => '2.0002',
+ 'Devel::Peek' => '1.00_03',
+ 'Devel::SelfStubber' => '1.03',
+ 'Digest' => '1.00',
+ 'Digest::MD5' => '2.16',
+ 'DirHandle' => '1.00',
+ 'Dumpvalue' => '1.10',
+ 'Encode' => '0.40',
+ 'Encode::CN' => '0.02',
+ 'Encode::CN::HZ' => undef,
+ 'Encode::Encoding' => '0.02',
+ 'Encode::Internal' => '0.30',
+ 'Encode::JP' => '0.02',
+ 'Encode::JP::Constants' => '1.02',
+ 'Encode::JP::H2Z' => '0.77',
+ 'Encode::JP::ISO_2022_JP'=> undef,
+ 'Encode::JP::JIS' => undef,
+ 'Encode::JP::Tr' => '0.77',
+ 'Encode::KR' => '0.02',
+ 'Encode::TW' => '0.02',
+ 'Encode::Tcl' => '1.01',
+ 'Encode::Tcl::Escape' => '1.01',
+ 'Encode::Tcl::Extended' => '1.01',
+ 'Encode::Tcl::HanZi' => '1.01',
+ 'Encode::Tcl::Table' => '1.01',
+ 'Encode::Unicode' => '0.30',
+ 'Encode::XS' => '0.40',
+ 'Encode::iso10646_1' => '0.30',
+ 'Encode::usc2_le' => '0.30',
+ 'Encode::utf8' => '0.30',
+ 'English' => '1.00',
+ 'Env' => '1.00',
+ 'Exporter' => '5.566',
+ 'Exporter::Heavy' => '5.562',
+ 'ExtUtils::Command' => '1.02',
+ 'ExtUtils::Constant' => '0.11',
+ 'ExtUtils::Embed' => '1.250601',
+ 'ExtUtils::Install' => '1.29',
+ 'ExtUtils::Installed' => '0.04',
+ 'ExtUtils::Liblist' => '1.2701',
+ 'ExtUtils::MM_BeOS' => '1.00',
+ 'ExtUtils::MM_Cygwin' => '1.00',
+ 'ExtUtils::MM_OS2' => '1.00',
+ 'ExtUtils::MM_Unix' => '1.12607',
+ 'ExtUtils::MM_VMS' => '5.56',
+ 'ExtUtils::MM_Win32' => '1.00_02',
+ 'ExtUtils::MakeMaker' => '5.48_03',
+ 'ExtUtils::Manifest' => '1.35',
+ 'ExtUtils::Mkbootstrap' => '1.1401',
+ 'ExtUtils::Mksymlists' => '1.18',
+ 'ExtUtils::Packlist' => '0.04',
+ 'ExtUtils::testlib' => '1.1201',
+ 'Fatal' => '1.03',
+ 'Fcntl' => '1.04',
+ 'File::Basename' => '2.71',
+ 'File::CheckTree' => '4.1',
+ 'File::Compare' => '1.1003',
+ 'File::Copy' => '2.05',
+ 'File::DosGlob' => '1.00',
+ 'File::Find' => '1.04',
+ 'File::Glob' => '1.01',
+ 'File::Path' => '1.05',
+ 'File::Spec' => '0.83',
+ 'File::Spec::Cygwin' => '1.0',
+ 'File::Spec::Epoc' => '1.00',
+ 'File::Spec::Functions' => '1.2',
+ 'File::Spec::Mac' => '1.3',
+ 'File::Spec::Unix' => '1.4',
+ 'File::Spec::VMS' => '1.2',
+ 'File::Spec::Win32' => '1.3',
+ 'File::Temp' => '0.13',
+ 'File::stat' => '1.00',
+ 'FileCache' => '1.00',
+ 'FileHandle' => '2.01',
+ 'Filter::Simple' => '0.77',
+ 'Filter::Util::Call' => '1.06',
+ 'FindBin' => '1.43',
+ 'GDBM_File' => '1.06',
+ 'Getopt::Long' => '2.28',
+ 'Getopt::Std' => '1.03',
+ 'I18N::Collate' => '1.00',
+ 'I18N::LangTags' => '0.27',
+ 'I18N::LangTags::List' => '0.25',
+ 'I18N::Langinfo' => '0.01',
+ 'IO::Dir' => '1.03_00',
+ 'IO::File' => '1.09',
+ 'IO::Handle' => '1.21_00',
+ 'IO::Pipe' => '1.122',
+ 'IO::Poll' => '0.06',
+ 'IO::Seekable' => '1.08_00',
+ 'IO::Select' => '1.15',
+ 'IO::Socket' => '1.27',
+ 'IO::Socket::INET' => '1.26',
+ 'IO::Socket::UNIX' => '1.20_00',
+ 'IPC::Msg' => '1.00_00',
+ 'IPC::Open3' => '1.0104',
+ 'IPC::Semaphore' => '1.00_00',
+ 'IPC::SysV' => '1.03_00',
+ 'List::Util' => '1.06_00',
+ 'Locale::Constants' => '2.01',
+ 'Locale::Country' => '2.01',
+ 'Locale::Currency' => '2.01',
+ 'Locale::Language' => '2.01',
+ 'Locale::Maketext' => '1.03',
+ 'Locale::Script' => '2.01',
+ 'MIME::Base64' => '2.12',
+ 'MIME::QuotedPrint' => '2.03',
+ 'Math::BigFloat' => '1.30',
+ 'Math::BigInt' => '1.54',
+ 'Math::BigInt::Calc' => '0.25',
+ 'Math::Complex' => '1.34',
+ 'Math::Trig' => '1.01',
+ 'Memoize' => '0.66',
+ 'Memoize::AnyDBM_File' => '0.65',
+ 'Memoize::Expire' => '0.66',
+ 'Memoize::ExpireFile' => '0.65',
+ 'Memoize::ExpireTest' => '0.65',
+ 'Memoize::NDBM_File' => '0.65',
+ 'Memoize::SDBM_File' => '0.65',
+ 'Memoize::Storable' => '0.65',
+ 'NEXT' => '0.50',
+ 'Net::Cmd' => '2.21',
+ 'Net::Config' => '1.10',
+ 'Net::Domain' => '2.17',
+ 'Net::FTP' => '2.64',
+ 'Net::FTP::A' => '1.15',
+ 'Net::FTP::E' => '0.01',
+ 'Net::FTP::I' => '1.12',
+ 'Net::FTP::L' => '0.01',
+ 'Net::FTP::dataconn' => '0.10',
+ 'Net::NNTP' => '2.21',
+ 'Net::Netrc' => '2.12',
+ 'Net::POP3' => '2.23',
+ 'Net::Ping' => '2.12',
+ 'Net::SMTP' => '2.21',
+ 'Net::Time' => '2.09',
+ 'Net::hostent' => '1.00',
+ 'Net::netent' => '1.00',
+ 'Net::protoent' => '1.00',
+ 'Net::servent' => '1.00',
+ 'O' => '1.00',
+ 'OS2::DLL' => '1.00',
+ 'OS2::Process' => '1.0',
+ 'OS2::REXX' => '1.01',
+ 'Opcode' => '1.05',
+ 'POSIX' => '1.05',
+ 'PerlIO' => '1.00',
+ 'PerlIO::Scalar' => '0.01',
+ 'PerlIO::Via' => '0.01',
+ 'Pod::Checker' => '1.3',
+ 'Pod::Find' => '0.22',
+ 'Pod::Functions' => '1.01',
+ 'Pod::Html' => '1.04',
+ 'Pod::LaTeX' => '0.54',
+ 'Pod::Man' => '1.32',
+ 'Pod::ParseLink' => '1.05',
+ 'Pod::Text' => '2.18',
+ 'Pod::Text::Color' => '1.03',
+ 'Pod::Text::Overstrike' => '1.08',
+ 'Pod::Text::Termcap' => '1.09',
+ 'Safe' => '2.07',
+ 'Scalar::Util' => '1.06_00',
+ 'Search::Dict' => '1.02',
+ 'SelectSaver' => '1.00',
+ 'SelfLoader' => '1.0903',
+ 'Shell' => '0.4',
+ 'Socket' => '1.75',
+ 'Storable' => '1.015',
+ 'Switch' => '2.06',
+ 'Symbol' => '1.04',
+ 'Sys::Syslog' => '0.02',
+ 'Term::ANSIColor' => '1.04',
+ 'Term::Cap' => '1.07',
+ 'Term::Complete' => '1.4',
+ 'Term::ReadLine' => '1.00',
+ 'Test' => '1.18',
+ 'Test::Builder' => '0.11',
+ 'Test::Harness' => '2.01',
+ 'Test::Harness::Assert' => '0.01',
+ 'Test::Harness::Iterator'=> '0.01',
+ 'Test::Harness::Straps' => '0.08',
+ 'Test::More' => '0.41',
+ 'Test::Simple' => '0.41',
+ 'Text::Abbrev' => '1.00',
+ 'Text::Balanced' => '1.89',
+ 'Text::ParseWords' => '3.21',
+ 'Text::Soundex' => '1.01',
+ 'Text::Wrap' => '2001.0929',
+ 'Thread' => '2.00',
+ 'Thread::Queue' => '1.00',
+ 'Thread::Semaphore' => '1.00',
+ 'Thread::Signal' => '1.00',
+ 'Thread::Specific' => '1.00',
+ 'Tie::Array' => '1.02',
+ 'Tie::File' => '0.17',
+ 'Tie::Handle' => '4.1',
+ 'Tie::Hash' => '1.00',
+ 'Tie::Memoize' => '1.0',
+ 'Tie::RefHash' => '1.3_00',
+ 'Tie::Scalar' => '1.00',
+ 'Tie::SubstrHash' => '1.00',
+ 'Time::HiRes' => '1.20_00',
+ 'Time::Local' => '1.04',
+ 'Time::gmtime' => '1.02',
+ 'Time::localtime' => '1.02',
+ 'Time::tm' => '1.00',
+ 'UNIVERSAL' => '1.00',
+ 'Unicode::Collate' => '0.10',
+ 'Unicode::Normalize' => '0.14',
+ 'Unicode::UCD' => '0.2',
+ 'User::grent' => '1.00',
+ 'User::pwent' => '1.00',
+ 'VMS::DCLsym' => '1.02',
+ 'VMS::Filespec' => '1.1',
+ 'VMS::Stdio' => '2.3',
+ 'XS::Typemap' => '0.01',
+ 'attributes' => '0.04_01',
+ 'attrs' => '1.01',
+ 'autouse' => '1.03',
+ 'base' => '1.02',
+ 'blib' => '1.01',
+ 'bytes' => '1.00',
+ 'charnames' => '1.01',
+ 'constant' => '1.04',
+ 'diagnostics' => '1.1',
+ 'encoding' => '1.00',
+ 'fields' => '1.02',
+ 'filetest' => '1.00',
+ 'if' => '0.01',
+ 'integer' => '1.00',
+ 'less' => '0.01',
+ 'locale' => '1.00',
+ 'open' => '1.01',
+ 'ops' => '1.00',
+ 'overload' => '1.00',
+ 're' => '0.03',
+ 'sort' => '1.00',
+ 'strict' => '1.02',
+ 'subs' => '1.00',
+ 'threads' => '0.05',
+ 'threads::shared' => '0.90',
+ 'utf8' => '1.00',
+ 'vars' => '1.01',
+ 'vmsish' => '1.00',
+ 'warnings' => '1.00',
+ 'warnings::register' => '1.00',
+ },
+ removed => {
+ 'Errno' => 1,
+ }
},
-
- 5.008 => {
- 'AnyDBM_File' => '1.00', #./lib/AnyDBM_File.pm
- 'Attribute::Handlers' => '0.77', #./lib/Attribute/Handlers.pm
- 'attributes' => '0.05', #./lib/attributes.pm
- 'attrs' => '1.01', #./ext/attrs/attrs.pm
- 'AutoLoader' => '5.59', #./lib/AutoLoader.pm
- 'AutoSplit' => '1.0307', #./lib/AutoSplit.pm
- 'autouse' => '1.03', #./lib/autouse.pm
- 'B' => '1.01', #./ext/B/B.pm
- 'B::Asmdata' => '1.00', #./ext/B/B/Asmdata.pm
- 'B::Assembler' => '0.04', #./ext/B/B/Assembler.pm
- 'B::Bblock' => '1.00', #./ext/B/B/Bblock.pm
- 'B::Bytecode' => '1.00', #./ext/B/B/Bytecode.pm
- 'B::C' => '1.01', #./ext/B/B/C.pm
- 'B::CC' => '1.00', #./ext/B/B/CC.pm
- 'B::Concise' => '0.52', #./ext/B/B/Concise.pm
- 'B::Debug' => '1.00', #./ext/B/B/Debug.pm
- 'B::Deparse' => '0.63', #./ext/B/B/Deparse.pm
- 'B::Disassembler' => '1.01', #./ext/B/B/Disassembler.pm
- 'B::Lint' => '1.01', #./ext/B/B/Lint.pm
- 'B::Showlex' => '1.00', #./ext/B/B/Showlex.pm
- 'B::Stackobj' => '1.00', #./ext/B/B/Stackobj.pm
- 'B::Stash' => '1.00', #./ext/B/B/Stash.pm
- 'B::Terse' => '1.00', #./ext/B/B/Terse.pm
- 'B::Xref' => '1.01', #./ext/B/B/Xref.pm
- 'base' => '1.03', #./lib/base.pm
- 'Benchmark' => '1.04', #./lib/Benchmark.pm
- 'bigint' => '0.02', #./lib/bigint.pm
- 'bignum' => '0.11', #./lib/bignum.pm
- 'bigrat' => '0.04', #./lib/bigrat.pm
- 'blib' => '1.02', #./lib/blib.pm
- 'ByteLoader' => '0.04', #./ext/ByteLoader/ByteLoader.pm
- 'bytes' => '1.00', #./lib/bytes.pm
- 'Carp' => '1.01', #./lib/Carp.pm
- 'Carp::Heavy' => 'undef', #./lib/Carp/Heavy.pm
- 'CGI' => '2.81', #./lib/CGI.pm
- 'CGI::Apache' => '1.00', #./lib/CGI/Apache.pm
- 'CGI::Carp' => '1.23', #./lib/CGI/Carp.pm
- 'CGI::Cookie' => '1.20', #./lib/CGI/Cookie.pm
- 'CGI::Fast' => '1.04', #./lib/CGI/Fast.pm
- 'CGI::Pretty' => '1.05_00', #./lib/CGI/Pretty.pm
- 'CGI::Push' => '1.04', #./lib/CGI/Push.pm
- 'CGI::Switch' => '1.00', #./lib/CGI/Switch.pm
- 'CGI::Util' => '1.3', #./lib/CGI/Util.pm
- 'charnames' => '1.01', #./lib/charnames.pm
- 'Class::ISA' => '0.32', #./lib/Class/ISA.pm
- 'Class::Struct' => '0.61', #./lib/Class/Struct.pm
- 'constant' => '1.04', #./lib/constant.pm
- 'Config' => undef,
- 'CPAN' => '1.61', #./lib/CPAN.pm
- 'CPAN::FirstTime' => '1.56 ', #./lib/CPAN/FirstTime.pm
- 'CPAN::Nox' => '1.02', #./lib/CPAN/Nox.pm
- 'Cwd' => '2.06', #./lib/Cwd.pm
- 'Data::Dumper' => '2.12', #./ext/Data/Dumper/Dumper.pm
- 'DB' => '1.0', #./lib/DB.pm
- 'DB_File' => '1.804', #./ext/DB_File/DB_File.pm
- 'Devel::DProf' => '20000000.00_01', #./ext/Devel/DProf/DProf.pm
- 'Devel::Peek' => '1.00_03', #./ext/Devel/Peek/Peek.pm
- 'Devel::PPPort' => '2.0002', #./ext/Devel/PPPort/PPPort.pm
- 'Devel::SelfStubber' => '1.03', #./lib/Devel/SelfStubber.pm
- 'diagnostics' => '1.1', #./lib/diagnostics.pm
- 'Digest' => '1.00', #./lib/Digest.pm
- 'Digest::MD5' => '2.20', #./ext/Digest/MD5/MD5.pm
- 'DirHandle' => '1.00', #./lib/DirHandle.pm
- 'Dumpvalue' => '1.11', #./lib/Dumpvalue.pm
- 'DynaLoader' => '1.04',
- 'Encode' => '1.75', #./ext/Encode/Encode.pm
- 'Encode::Alias' => '1.32', #./ext/Encode/lib/Encode/Alias.pm
- 'Encode::Byte' => '1.22', #./ext/Encode/Byte/Byte.pm
- 'Encode::CJKConstants' => '1.00', #./ext/Encode/lib/Encode/CJKConstants.pm
- 'Encode::CN' => '1.24', #./ext/Encode/CN/CN.pm
- 'Encode::CN::HZ' => '1.04', #./ext/Encode/lib/Encode/CN/HZ.pm
- 'Encode::Config' => '1.06', #./ext/Encode/lib/Encode/Config.pm
- 'Encode::EBCDIC' => '1.21', #./ext/Encode/EBCDIC/EBCDIC.pm
- 'Encode::Encoder' => '0.05', #./ext/Encode/lib/Encode/Encoder.pm
- 'Encode::Encoding' => '1.30', #./ext/Encode/lib/Encode/Encoding.pm
- 'Encode::Guess' => '1.06', #./ext/Encode/lib/Encode/Guess.pm
- 'Encode::JP::H2Z' => '1.02', #./ext/Encode/lib/Encode/JP/H2Z.pm
- 'Encode::JP::JIS7' => '1.08', #./ext/Encode/lib/Encode/JP/JIS7.pm
- 'Encode::JP' => '1.25', #./ext/Encode/JP/JP.pm
- 'Encode::KR' => '1.22', #./ext/Encode/KR/KR.pm
- 'Encode::KR::2022_KR' => '1.05', #./ext/Encode/lib/Encode/KR/2022_KR.pm
- 'Encode::MIME::Header' => '1.05', #./ext/Encode/lib/Encode/MIME/Header.pm
- 'Encode::Symbol' => '1.22', #./ext/Encode/Symbol/Symbol.pm
- 'Encode::TW' => '1.26', #./ext/Encode/TW/TW.pm
- 'Encode::Unicode' => '1.37', #./ext/Encode/Unicode/Unicode.pm
- 'encoding' => '1.35', #./ext/Encode/encoding.pm
- 'English' => '1.00', #./lib/English.pm
- 'Env' => '1.00', #./lib/Env.pm
- 'Exporter' => '5.566', #./lib/Exporter.pm
- 'Exporter::Heavy' => '5.566', #./lib/Exporter/Heavy.pm
- 'ExtUtils::Command' => '1.04', #./lib/ExtUtils/Command.pm
- 'ExtUtils::Command::MM' => '0.01', #./lib/ExtUtils/Command/MM.pm
- 'ExtUtils::Constant' => '0.12', #./lib/ExtUtils/Constant.pm
- 'ExtUtils::Embed' => '1.250601', #./lib/ExtUtils/Embed.pm
- 'ExtUtils::Install' => '1.29', #./lib/ExtUtils/Install.pm
- 'ExtUtils::Installed' => '0.06', #./lib/ExtUtils/Installed.pm
- 'ExtUtils::Liblist' => '1.00', #./lib/ExtUtils/Liblist.pm
- 'ExtUtils::Liblist::Kid'=> '1.29', #./lib/ExtUtils/Liblist/Kid.pm
- 'ExtUtils::MakeMaker' => '6.03', #./lib/ExtUtils/MakeMaker.pm
- 'ExtUtils::Manifest' => '1.38', #./lib/ExtUtils/Manifest.pm
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '1.15', #./lib/ExtUtils/Mkbootstrap.pm
- 'ExtUtils::Mksymlists' => '1.19', #./lib/ExtUtils/Mksymlists.pm
- 'ExtUtils::MM' => '0.04', #./lib/ExtUtils/MM.pm
- 'ExtUtils::MM_Any' => '0.04', #./lib/ExtUtils/MM_Any.pm
- 'ExtUtils::MM_BeOS' => '1.03', #./lib/ExtUtils/MM_BeOS.pm
- 'ExtUtils::MM_Cygwin' => '1.04', #./lib/ExtUtils/MM_Cygwin.pm
- 'ExtUtils::MM_DOS' => '0.01', #./lib/ExtUtils/MM_DOS.pm
- 'ExtUtils::MM_MacOS' => '1.03', #./lib/ExtUtils/MM_MacOS.pm
- 'ExtUtils::MM_NW5' => '2.05', #./lib/ExtUtils/MM_NW5.pm
- 'ExtUtils::MM_OS2' => '1.03', #./lib/ExtUtils/MM_OS2.pm
- 'ExtUtils::MM_Unix' => '1.33', #./lib/ExtUtils/MM_Unix.pm
- 'ExtUtils::MM_UWIN' => '0.01', #./lib/ExtUtils/MM_UWIN.pm
- 'ExtUtils::MM_VMS' => '5.65', #./lib/ExtUtils/MM_VMS.pm
- 'ExtUtils::MM_Win32' => '1.05', #./lib/ExtUtils/MM_Win32.pm
- 'ExtUtils::MM_Win95' => '0.02', #./lib/ExtUtils/MM_Win95.pm
- 'ExtUtils::MY' => '0.01', #./lib/ExtUtils/MY.pm
- 'ExtUtils::Packlist' => '0.04', #./lib/ExtUtils/Packlist.pm
- 'ExtUtils::testlib' => '1.15', #./lib/ExtUtils/testlib.pm
- 'ExtUtils::XSSymSet' => '1.0', #./vms/ext/XSSymSet.pm
- 'Fatal' => '1.03', #./lib/Fatal.pm
- 'Fcntl' => '1.04', #./ext/Fcntl/Fcntl.pm
- 'fields' => '1.02', #./lib/fields.pm
- 'File::Basename' => '2.71', #./lib/File/Basename.pm
- 'File::CheckTree' => '4.2', #./lib/File/CheckTree.pm
- 'File::Compare' => '1.1003', #./lib/File/Compare.pm
- 'File::Copy' => '2.05', #./lib/File/Copy.pm
- 'File::DosGlob' => '1.00', #./lib/File/DosGlob.pm
- 'File::Find' => '1.04', #./lib/File/Find.pm
- 'File::Glob' => '1.01', #./ext/File/Glob/Glob.pm
- 'File::Path' => '1.05', #./lib/File/Path.pm
- 'File::Spec' => '0.83', #./lib/File/Spec.pm
- 'File::Spec::Cygwin' => '1.0', #./lib/File/Spec/Cygwin.pm
- 'File::Spec::Epoc' => '1.00', #./lib/File/Spec/Epoc.pm
- 'File::Spec::Functions' => '1.2', #./lib/File/Spec/Functions.pm
- 'File::Spec::Mac' => '1.3', #./lib/File/Spec/Mac.pm
- 'File::Spec::OS2' => '1.1', #./lib/File/Spec/OS2.pm
- 'File::Spec::Unix' => '1.4', #./lib/File/Spec/Unix.pm
- 'File::Spec::VMS' => '1.2', #./lib/File/Spec/VMS.pm
- 'File::Spec::Win32' => '1.3', #./lib/File/Spec/Win32.pm
- 'File::stat' => '1.00', #./lib/File/stat.pm
- 'File::Temp' => '0.13', #./lib/File/Temp.pm
- 'FileCache' => '1.021', #./lib/FileCache.pm
- 'FileHandle' => '2.01', #./lib/FileHandle.pm
- 'filetest' => '1.00', #./lib/filetest.pm
- 'Filter::Simple' => '0.78', #./lib/Filter/Simple.pm
- 'Filter::Util::Call' => '1.06', #./ext/Filter/Util/Call/Call.pm
- 'FindBin' => '1.43', #./lib/FindBin.pm
- 'GDBM_File' => '1.06', #./ext/GDBM_File/GDBM_File.pm
- 'Getopt::Long' => '2.32', #./lib/Getopt/Long.pm
- 'Getopt::Std' => '1.03', #./lib/Getopt/Std.pm
- 'Hash::Util' => '0.04', #./lib/Hash/Util.pm
- 'I18N::Collate' => '1.00', #./lib/I18N/Collate.pm
- 'I18N::Langinfo' => '0.01', #./ext/I18N/Langinfo/Langinfo.pm
- 'I18N::LangTags' => '0.27', #./lib/I18N/LangTags.pm
- 'I18N::LangTags::List' => '0.25', #./lib/I18N/LangTags/List.pm
- 'if' => '0.01', #./lib/if.pm
- 'integer' => '1.00', #./lib/integer.pm
- 'IO' => '1.20', #./ext/IO/IO.pm
- 'IO::Dir' => '1.03_00', #./ext/IO/lib/IO/Dir.pm
- 'IO::File' => '1.09', #./ext/IO/lib/IO/File.pm
- 'IO::Handle' => '1.21_00', #./ext/IO/lib/IO/Handle.pm
- 'IO::Pipe' => '1.122', #./ext/IO/lib/IO/Pipe.pm
- 'IO::Poll' => '0.06', #./ext/IO/lib/IO/Poll.pm
- 'IO::Seekable' => '1.08_00', #./ext/IO/lib/IO/Seekable.pm
- 'IO::Select' => '1.15', #./ext/IO/lib/IO/Select.pm
- 'IO::Socket' => '1.27', #./ext/IO/lib/IO/Socket.pm
- 'IO::Socket::INET' => '1.26', #./ext/IO/lib/IO/Socket/INET.pm
- 'IO::Socket::UNIX' => '1.20_00', #./ext/IO/lib/IO/Socket/UNIX.pm
- 'IPC::Open2' => '1.01', #./lib/IPC/Open2.pm
- 'IPC::Open3' => '1.0104', #./lib/IPC/Open3.pm
- 'IPC::Msg' => '1.00_00', #./ext/IPC/SysV/Msg.pm
- 'IPC::Semaphore' => '1.00_00', #./ext/IPC/SysV/Semaphore.pm
- 'IPC::SysV' => '1.03_00', #./ext/IPC/SysV/SysV.pm
- 'JNI' => '0.1', #./jpl/JNI/JNI.pm
- 'JPL::AutoLoader' => undef, #./jpl/JPL/AutoLoader.pm
- 'JPL::Class' => undef, #./jpl/JPL/Class.pm
- 'JPL::Compile' => undef, #./jpl/JPL/Compile.pm
- 'less' => '0.01', #./lib/less.pm
- 'lib' => '0.5564',
- 'List::Util' => '1.07_00', #./ext/List/Util/lib/List/Util.pm
- 'locale' => '1.00', #./lib/locale.pm
- 'Locale::Constants' => '2.01', #./lib/Locale/Constants.pm
- 'Locale::Country' => '2.04', #./lib/Locale/Country.pm
- 'Locale::Currency' => '2.01', #./lib/Locale/Currency.pm
- 'Locale::Language' => '2.01', #./lib/Locale/Language.pm
- 'Locale::Maketext' => '1.03', #./lib/Locale/Maketext.pm
- 'Locale::Script' => '2.01', #./lib/Locale/Script.pm
- 'Math::BigFloat' => '1.35', #./lib/Math/BigFloat.pm
- 'Math::BigFloat::Trace' => '0.01', #./lib/Math/BigFloat/Trace.pm
- 'Math::BigInt' => '1.60', #./lib/Math/BigInt.pm
- 'Math::BigInt::Calc' => '0.30', #./lib/Math/BigInt/Calc.pm
- 'Math::BigInt::Trace' => '0.01', #./lib/Math/BigInt/Trace.pm
- 'Math::BigRat' => '0.07', #./lib/Math/BigRat.pm
- 'Math::Complex' => '1.34', #./lib/Math/Complex.pm
- 'Math::Trig' => '1.01', #./lib/Math/Trig.pm
- 'Memoize' => '1.01', #./lib/Memoize.pm
- 'Memoize::AnyDBM_File' => '0.65', #./lib/Memoize/AnyDBM_File.pm
- 'Memoize::Expire' => '1.00', #./lib/Memoize/Expire.pm
- 'Memoize::ExpireFile' => '1.01', #./lib/Memoize/ExpireFile.pm
- 'Memoize::ExpireTest' => '0.65', #./lib/Memoize/ExpireTest.pm
- 'Memoize::NDBM_File' => '0.65', #./lib/Memoize/NDBM_File.pm
- 'Memoize::SDBM_File' => '0.65', #./lib/Memoize/SDBM_File.pm
- 'Memoize::Storable' => '0.65', #./lib/Memoize/Storable.pm
- 'MIME::Base64' => '2.12', #./ext/MIME/Base64/Base64.pm
- 'MIME::QuotedPrint' => '2.03', #./ext/MIME/Base64/QuotedPrint.pm
- 'NDBM_File' => '1.04', #./ext/NDBM_File/NDBM_File.pm
- 'Net::Cmd' => '2.21', #./lib/Net/Cmd.pm
- 'Net::Config' => '1.10', #./lib/Net/Config.pm
- 'Net::Domain' => '2.17', #./lib/Net/Domain.pm
- 'Net::FTP' => '2.65', #./lib/Net/FTP.pm
- 'Net::FTP::A' => '1.15', #./lib/Net/FTP/A.pm
- 'Net::FTP::dataconn' => '0.11', #./lib/Net/FTP/dataconn.pm
- 'Net::FTP::E' => '0.01', #./lib/Net/FTP/E.pm
- 'Net::FTP::I' => '1.12', #./lib/Net/FTP/I.pm
- 'Net::FTP::L' => '0.01', #./lib/Net/FTP/L.pm
- 'Net::hostent' => '1.00', #./lib/Net/hostent.pm
- 'Net::netent' => '1.00', #./lib/Net/netent.pm
- 'Net::Netrc' => '2.12', #./lib/Net/Netrc.pm
- 'Net::NNTP' => '2.21', #./lib/Net/NNTP.pm
- 'Net::Ping' => '2.19', #./lib/Net/Ping.pm
- 'Net::POP3' => '2.23', #./lib/Net/POP3.pm
- 'Net::protoent' => '1.00', #./lib/Net/protoent.pm
- 'Net::servent' => '1.00', #./lib/Net/servent.pm
- 'Net::SMTP' => '2.24', #./lib/Net/SMTP.pm
- 'Net::Time' => '2.09', #./lib/Net/Time.pm
- 'NEXT' => '0.50', #./lib/NEXT.pm
- 'O' => '1.00', #./ext/B/O.pm
- 'ODBM_File' => '1.03', #./ext/ODBM_File/ODBM_File.pm
- 'Opcode' => '1.05', #./ext/Opcode/Opcode.pm
- 'open' => '1.01', #./lib/open.pm
- 'ops' => '1.00', #./ext/Opcode/ops.pm
- 'OS2::DLL' => '1.00', #./os2/OS2/REXX/DLL/DLL.pm
- 'OS2::ExtAttr' => '0.01', #./os2/OS2/ExtAttr/ExtAttr.pm
- 'OS2::PrfDB' => '0.02', #./os2/OS2/PrfDB/PrfDB.pm
- 'OS2::Process' => '1.0', #./os2/OS2/Process/Process.pm
- 'OS2::REXX' => '1.01', #./os2/OS2/REXX/REXX.pm
- 'overload' => '1.00', #./lib/overload.pm
- 'PerlIO' => '1.01', #./lib/PerlIO.pm
- 'PerlIO::encoding' => '0.06', #./ext/PerlIO/encoding/encoding.pm
- 'PerlIO::scalar' => '0.01', #./ext/PerlIO/scalar/scalar.pm
- 'PerlIO::via' => '0.01', #./ext/PerlIO/via/via.pm
- 'PerlIO::via::QuotedPrint'=> '0.04', #./lib/PerlIO/via/QuotedPrint.pm
- 'Pod::Checker' => '1.3', #./lib/Pod/Checker.pm
- 'Pod::Find' => '0.22', #./lib/Pod/Find.pm
- 'Pod::Functions' => '1.01', #./lib/Pod/Functions.pm
- 'Pod::Html' => '1.04', #./lib/Pod/Html.pm
- 'Pod::InputObjects' => '1.13', #./lib/Pod/InputObjects.pm
- 'Pod::LaTeX' => '0.54', #./lib/Pod/LaTeX.pm
- 'Pod::Man' => '1.33', #./lib/Pod/Man.pm
- 'Pod::ParseLink' => '1.05', #./lib/Pod/ParseLink.pm
- 'Pod::Parser' => '1.13', #./lib/Pod/Parser.pm
- 'Pod::ParseUtils' => '0.22', #./lib/Pod/ParseUtils.pm
- 'Pod::Plainer' => '0.01', #./lib/Pod/Plainer.pm
- 'Pod::Select' => '1.13', #./lib/Pod/Select.pm
- 'Pod::Text' => '2.19', #./lib/Pod/Text.pm
- 'Pod::Text::Color' => '1.03', #./lib/Pod/Text/Color.pm
- 'Pod::Text::Overstrike' => '1.08', #./lib/Pod/Text/Overstrike.pm
- 'Pod::Text::Termcap' => '1.09', #./lib/Pod/Text/Termcap.pm
- 'Pod::Usage' => '1.14', #./lib/Pod/Usage.pm
- 'POSIX' => '1.05', #./ext/POSIX/POSIX.pm
- 're' => '0.03', #./ext/re/re.pm
- 'Safe' => '2.07', #./ext/Opcode/Safe.pm
- 'Scalar::Util' => 'undef', #./ext/List/Util/lib/Scalar/Util.pm
- 'SDBM_File' => '1.03', #./ext/SDBM_File/SDBM_File.pm
- 'Search::Dict' => '1.02', #./lib/Search/Dict.pm
- 'SelectSaver' => '1.00', #./lib/SelectSaver.pm
- 'SelfLoader' => '1.0903', #./lib/SelfLoader.pm
- 'Shell' => '0.4', #./lib/Shell.pm
- 'sigtrap' => '1.02', #./lib/sigtrap.pm
- 'Socket' => '1.75', #./ext/Socket/Socket.pm
- 'sort' => '1.01', #./lib/sort.pm
- 'Storable' => '2.04', #./ext/Storable/Storable.pm
- 'strict' => '1.02', #./lib/strict.pm
- 'subs' => '1.00', #./lib/subs.pm
- 'Switch' => '2.09', #./lib/Switch.pm
- 'Symbol' => '1.04', #./lib/Symbol.pm
- 'Sys::Hostname' => '1.1', #./ext/Sys/Hostname/Hostname.pm
- 'Sys::Syslog' => '0.03', #./ext/Sys/Syslog/Syslog.pm
- 'Term::ANSIColor' => '1.04', #./lib/Term/ANSIColor.pm
- 'Term::Cap' => '1.07', #./lib/Term/Cap.pm
- 'Term::Complete' => '1.4', #./lib/Term/Complete.pm
- 'Term::ReadLine' => '1.00', #./lib/Term/ReadLine.pm
- 'Test' => '1.20', #./lib/Test.pm
- 'Test::Builder' => '0.15', #./lib/Test/Builder.pm
- 'Test::Harness' => '2.26', #./lib/Test/Harness.pm
- 'Test::Harness::Assert' => '0.01', #./lib/Test/Harness/Assert.pm
- 'Test::Harness::Iterator'=> '0.01', #./lib/Test/Harness/Iterator.pm
- 'Test::Harness::Straps' => '0.14', #./lib/Test/Harness/Straps.pm
- 'Test::More' => '0.45', #./lib/Test/More.pm
- 'Test::Simple' => '0.45', #./lib/Test/Simple.pm
- 'Text::Abbrev' => '1.00', #./lib/Text/Abbrev.pm
- 'Text::Balanced' => '1.89', #./lib/Text/Balanced.pm
- 'Text::ParseWords' => '3.21', #./lib/Text/ParseWords.pm
- 'Text::Soundex' => '1.01', #./lib/Text/Soundex.pm
- 'Text::Tabs' => '98.112801', #./lib/Text/Tabs.pm
- 'Text::Wrap' => '2001.0929', #./lib/Text/Wrap.pm
- 'Thread' => '2.00', #./lib/Thread.pm
- 'Thread::Queue' => '2.00', #./lib/Thread/Queue.pm
- 'Thread::Semaphore' => '2.00', #./lib/Thread/Semaphore.pm
- 'Thread::Signal' => '1.00', #./ext/Thread/Thread/Signal.pm
- 'Thread::Specific' => '1.00', #./ext/Thread/Thread/Specific.pm
- 'threads' => '0.99', #./ext/threads/threads.pm
- 'threads::shared' => '0.90', #./ext/threads/shared/shared.pm
- 'Tie::Array' => '1.02', #./lib/Tie/Array.pm
- 'Tie::File' => '0.93', #./lib/Tie/File.pm
- 'Tie::Handle' => '4.1', #./lib/Tie/Handle.pm
- 'Tie::Hash' => '1.00', #./lib/Tie/Hash.pm
- 'Tie::Memoize' => '1.0', #./lib/Tie/Memoize.pm
- 'Tie::RefHash' => '1.30', #./lib/Tie/RefHash.pm
- 'Tie::Scalar' => '1.00', #./lib/Tie/Scalar.pm
- 'Tie::SubstrHash' => '1.00', #./lib/Tie/SubstrHash.pm
- 'Time::gmtime' => '1.02', #./lib/Time/gmtime.pm
- 'Time::HiRes' => '1.20_00', #./ext/Time/HiRes/HiRes.pm
- 'Time::Local' => '1.04', #./lib/Time/Local.pm
- 'Time::localtime' => '1.02', #./lib/Time/localtime.pm
- 'Time::tm' => '1.00', #./lib/Time/tm.pm
- 'Unicode' => '3.2.0', # lib/unicore/version
- 'Unicode::Collate' => '0.12', #./lib/Unicode/Collate.pm
- 'Unicode::Normalize' => '0.17', #./ext/Unicode/Normalize/Normalize.pm
- 'Unicode::UCD' => '0.2', #./lib/Unicode/UCD.pm
- 'UNIVERSAL' => '1.00', #./lib/UNIVERSAL.pm
- 'User::grent' => '1.00', #./lib/User/grent.pm
- 'User::pwent' => '1.00', #./lib/User/pwent.pm
- 'utf8' => '1.00', #./lib/utf8.pm
- 'vars' => '1.01', #./lib/vars.pm
- 'VMS::DCLsym' => '1.02', #./vms/ext/DCLsym/DCLsym.pm
- 'VMS::Filespec' => '1.1', #./vms/ext/Filespec.pm
- 'VMS::Stdio' => '2.3', #./vms/ext/Stdio/Stdio.pm
- 'vmsish' => '1.00', #./lib/vmsish.pm
- 'warnings' => '1.00', #./lib/warnings.pm
- 'warnings::register' => '1.00', #./lib/warnings/register.pm
- 'XS::APItest' => '0.01', #./ext/XS/APItest/APItest.pm
- 'XS::Typemap' => '0.01', #./ext/XS/Typemap/Typemap.pm
- 'XSLoader' => '0.01',
+ 5.008 => {
+ delta_from => 5.007003,
+ changed => {
+ 'Attribute::Handlers' => '0.77',
+ 'B' => '1.01',
+ 'B::Lint' => '1.01',
+ 'B::Xref' => '1.01',
+ 'CGI' => '2.81',
+ 'CGI::Carp' => '1.23',
+ 'CPAN' => '1.61',
+ 'CPAN::FirstTime' => '1.56 ',
+ 'CPAN::Nox' => '1.02',
+ 'Digest::MD5' => '2.20',
+ 'Dumpvalue' => '1.11',
+ 'Encode' => '1.75',
+ 'Encode::Alias' => '1.32',
+ 'Encode::Byte' => '1.22',
+ 'Encode::CJKConstants' => '1.00',
+ 'Encode::CN' => '1.24',
+ 'Encode::CN::HZ' => '1.04',
+ 'Encode::Config' => '1.06',
+ 'Encode::EBCDIC' => '1.21',
+ 'Encode::Encoder' => '0.05',
+ 'Encode::Encoding' => '1.30',
+ 'Encode::Guess' => '1.06',
+ 'Encode::JP' => '1.25',
+ 'Encode::JP::H2Z' => '1.02',
+ 'Encode::JP::JIS7' => '1.08',
+ 'Encode::KR' => '1.22',
+ 'Encode::KR::2022_KR' => '1.05',
+ 'Encode::MIME::Header' => '1.05',
+ 'Encode::Symbol' => '1.22',
+ 'Encode::TW' => '1.26',
+ 'Encode::Unicode' => '1.37',
+ 'Exporter::Heavy' => '5.566',
+ 'ExtUtils::Command' => '1.04',
+ 'ExtUtils::Command::MM' => '0.01',
+ 'ExtUtils::Constant' => '0.12',
+ 'ExtUtils::Installed' => '0.06',
+ 'ExtUtils::Liblist' => '1.00',
+ 'ExtUtils::Liblist::Kid'=> '1.29',
+ 'ExtUtils::MM' => '0.04',
+ 'ExtUtils::MM_Any' => '0.04',
+ 'ExtUtils::MM_BeOS' => '1.03',
+ 'ExtUtils::MM_Cygwin' => '1.04',
+ 'ExtUtils::MM_DOS' => '0.01',
+ 'ExtUtils::MM_MacOS' => '1.03',
+ 'ExtUtils::MM_NW5' => '2.05',
+ 'ExtUtils::MM_OS2' => '1.03',
+ 'ExtUtils::MM_UWIN' => '0.01',
+ 'ExtUtils::MM_Unix' => '1.33',
+ 'ExtUtils::MM_VMS' => '5.65',
+ 'ExtUtils::MM_Win32' => '1.05',
+ 'ExtUtils::MM_Win95' => '0.02',
+ 'ExtUtils::MY' => '0.01',
+ 'ExtUtils::MakeMaker' => '6.03',
+ 'ExtUtils::Manifest' => '1.38',
+ 'ExtUtils::Mkbootstrap' => '1.15',
+ 'ExtUtils::Mksymlists' => '1.19',
+ 'ExtUtils::testlib' => '1.15',
+ 'File::CheckTree' => '4.2',
+ 'FileCache' => '1.021',
+ 'Filter::Simple' => '0.78',
+ 'Getopt::Long' => '2.32',
+ 'Hash::Util' => '0.04',
+ 'List::Util' => '1.07_00',
+ 'Locale::Country' => '2.04',
+ 'Math::BigFloat' => '1.35',
+ 'Math::BigFloat::Trace' => '0.01',
+ 'Math::BigInt' => '1.60',
+ 'Math::BigInt::Calc' => '0.30',
+ 'Math::BigInt::Trace' => '0.01',
+ 'Math::BigRat' => '0.07',
+ 'Memoize' => '1.01',
+ 'Memoize::Expire' => '1.00',
+ 'Memoize::ExpireFile' => '1.01',
+ 'Net::FTP' => '2.65',
+ 'Net::FTP::dataconn' => '0.11',
+ 'Net::Ping' => '2.19',
+ 'Net::SMTP' => '2.24',
+ 'PerlIO' => '1.01',
+ 'PerlIO::encoding' => '0.06',
+ 'PerlIO::scalar' => '0.01',
+ 'PerlIO::via' => '0.01',
+ 'PerlIO::via::QuotedPrint'=> '0.04',
+ 'Pod::Man' => '1.33',
+ 'Pod::Text' => '2.19',
+ 'Scalar::Util' => '1.07_00',
+ 'Storable' => '2.04',
+ 'Switch' => '2.09',
+ 'Sys::Syslog' => '0.03',
+ 'Test' => '1.20',
+ 'Test::Builder' => '0.15',
+ 'Test::Harness' => '2.26',
+ 'Test::Harness::Straps' => '0.14',
+ 'Test::More' => '0.45',
+ 'Test::Simple' => '0.45',
+ 'Thread::Queue' => '2.00',
+ 'Thread::Semaphore' => '2.00',
+ 'Tie::File' => '0.93',
+ 'Tie::RefHash' => '1.30',
+ 'Unicode' => '3.2.0',
+ 'Unicode::Collate' => '0.12',
+ 'Unicode::Normalize' => '0.17',
+ 'XS::APItest' => '0.01',
+ 'attributes' => '0.05',
+ 'base' => '1.03',
+ 'bigint' => '0.02',
+ 'bignum' => '0.11',
+ 'bigrat' => '0.04',
+ 'blib' => '1.02',
+ 'encoding' => '1.35',
+ 'sort' => '1.01',
+ 'threads' => '0.99',
+ },
+ removed => {
+ 'Encode::Internal' => 1,
+ 'Encode::JP::Constants' => 1,
+ 'Encode::JP::ISO_2022_JP'=> 1,
+ 'Encode::JP::JIS' => 1,
+ 'Encode::JP::Tr' => 1,
+ 'Encode::Tcl' => 1,
+ 'Encode::Tcl::Escape' => 1,
+ 'Encode::Tcl::Extended' => 1,
+ 'Encode::Tcl::HanZi' => 1,
+ 'Encode::Tcl::Table' => 1,
+ 'Encode::XS' => 1,
+ 'Encode::iso10646_1' => 1,
+ 'Encode::usc2_le' => 1,
+ 'Encode::utf8' => 1,
+ 'PerlIO::Scalar' => 1,
+ 'PerlIO::Via' => 1,
+ }
},
-
5.008001 => {
- 'AnyDBM_File' => '1.00', #./lib/AnyDBM_File.pm
- 'Attribute::Handlers' => '0.78', #./lib/Attribute/Handlers.pm
- 'attributes' => '0.06', #./lib/attributes.pm
- 'attrs' => '1.01', #./lib/attrs.pm
- 'AutoLoader' => '5.60', #./lib/AutoLoader.pm
- 'AutoSplit' => '1.04', #./lib/AutoSplit.pm
- 'autouse' => '1.03', #./lib/autouse.pm
- 'B' => '1.02', #./lib/B.pm
- 'B::Asmdata' => '1.01', #./lib/B/Asmdata.pm
- 'B::Assembler' => '0.06', #./lib/B/Assembler.pm
- 'B::Bblock' => '1.02', #./lib/B/Bblock.pm
- 'B::Bytecode' => '1.01', #./lib/B/Bytecode.pm
- 'B::C' => '1.02', #./lib/B/C.pm
- 'B::CC' => '1.00', #./lib/B/CC.pm
- 'B::Concise' => '0.56', #./lib/B/Concise.pm
- 'B::Debug' => '1.01', #./lib/B/Debug.pm
- 'B::Deparse' => '0.64', #./lib/B/Deparse.pm
- 'B::Disassembler' => '1.03', #./lib/B/Disassembler.pm
- 'B::Lint' => '1.02', #./lib/B/Lint.pm
- 'B::Showlex' => '1.00', #./lib/B/Showlex.pm
- 'B::Stackobj' => '1.00', #./lib/B/Stackobj.pm
- 'B::Stash' => '1.00', #./lib/B/Stash.pm
- 'B::Terse' => '1.02', #./lib/B/Terse.pm
- 'B::Xref' => '1.01', #./lib/B/Xref.pm
- 'base' => '2.03', #./lib/base.pm
- 'Benchmark' => '1.051', #./lib/Benchmark.pm
- 'bigint' => '0.04', #./lib/bigint.pm
- 'bignum' => '0.14', #./lib/bignum.pm
- 'bigrat' => '0.06', #./lib/bigrat.pm
- 'blib' => '1.02', #./lib/blib.pm
- 'ByteLoader' => '0.05', #./lib/ByteLoader.pm
- 'bytes' => '1.01', #./lib/bytes.pm
- 'Carp' => '1.01', #./lib/Carp.pm
- 'Carp::Heavy' => '1.01', #./lib/Carp/Heavy.pm
- 'CGI' => '3.00', #./lib/CGI.pm
- 'CGI::Apache' => '1.00', #./lib/CGI/Apache.pm
- 'CGI::Carp' => '1.26', #./lib/CGI/Carp.pm
- 'CGI::Cookie' => '1.24', #./lib/CGI/Cookie.pm
- 'CGI::Fast' => '1.041', #./lib/CGI/Fast.pm
- 'CGI::Pretty' => '1.07_00', #./lib/CGI/Pretty.pm
- 'CGI::Push' => '1.04', #./lib/CGI/Push.pm
- 'CGI::Switch' => '1.00', #./lib/CGI/Switch.pm
- 'CGI::Util' => '1.31', #./lib/CGI/Util.pm
- 'charnames' => '1.02', #./lib/charnames.pm
- 'Class::ISA' => '0.32', #./lib/Class/ISA.pm
- 'Class::Struct' => '0.63', #./lib/Class/Struct.pm
- 'Config' => undef, #./lib/Config.pm
- 'constant' => '1.04', #./lib/constant.pm
- 'CPAN' => '1.76_01', #./lib/CPAN.pm
- 'CPAN::FirstTime' => '1.60 ', #./lib/CPAN/FirstTime.pm
- 'CPAN::Nox' => '1.03', #./lib/CPAN/Nox.pm
- 'Cwd' => '2.08', #./lib/Cwd.pm
- 'Data::Dumper' => '2.121', #./lib/Data/Dumper.pm
- 'DB' => '1.0', #./lib/DB.pm
- 'DB_File' => '1.806', #./lib/DB_File.pm
- 'Devel::DProf' => '20030813.00', #./lib/Devel/DProf.pm
- 'Devel::Peek' => '1.01', #./lib/Devel/Peek.pm
- 'Devel::PPPort' => '2.007', #./lib/Devel/PPPort.pm
- 'Devel::SelfStubber' => '1.03', #./lib/Devel/SelfStubber.pm
- 'diagnostics' => '1.11', #./lib/diagnostics.pm
- 'Digest' => '1.02', #./lib/Digest.pm
- 'Digest::MD5' => '2.27', #./lib/Digest/MD5.pm
- 'DirHandle' => '1.00', #./lib/DirHandle.pm
- 'Dumpvalue' => '1.11', #./lib/Dumpvalue.pm
- 'DynaLoader' => '1.04', #./lib/DynaLoader.pm
- 'Encode' => '1.9801', #./lib/Encode.pm
- 'Encode::Alias' => '1.38', #./lib/Encode/Alias.pm
- 'Encode::Byte' => '1.23', #./lib/Encode/Byte.pm
- 'Encode::CJKConstants' => '1.02', #./lib/Encode/CJKConstants.pm
- 'Encode::CN' => '1.24', #./lib/Encode/CN.pm
- 'Encode::CN::HZ' => '1.05', #./lib/Encode/CN/HZ.pm
- 'Encode::Config' => '1.07', #./lib/Encode/Config.pm
- 'Encode::EBCDIC' => '1.21', #./lib/Encode/EBCDIC.pm
- 'Encode::Encoder' => '0.07', #./lib/Encode/Encoder.pm
- 'Encode::Encoding' => '1.33', #./lib/Encode/Encoding.pm
- 'Encode::Guess' => '1.09', #./lib/Encode/Guess.pm
- 'Encode::JP' => '1.25', #./lib/Encode/JP.pm
- 'Encode::JP::H2Z' => '1.02', #./lib/Encode/JP/H2Z.pm
- 'Encode::JP::JIS7' => '1.12', #./lib/Encode/JP/JIS7.pm
- 'Encode::KR' => '1.23', #./lib/Encode/KR.pm
- 'Encode::KR::2022_KR' => '1.06', #./lib/Encode/KR/2022_KR.pm
- 'Encode::MIME::Header' => '1.09', #./lib/Encode/MIME/Header.pm
- 'Encode::Symbol' => '1.22', #./lib/Encode/Symbol.pm
- 'Encode::TW' => '1.26', #./lib/Encode/TW.pm
- 'Encode::Unicode' => '1.40', #./lib/Encode/Unicode.pm
- 'Encode::Unicode::UTF7' => '0.02', #./lib/Encode/Unicode/UTF7.pm
- 'encoding' => '1.47', #./lib/encoding.pm
- 'English' => '1.01', #./lib/English.pm
- 'Env' => '1.00', #./lib/Env.pm
- 'Errno' => '1.09_00', #./lib/Errno.pm
- 'Exporter' => '5.567', #./lib/Exporter.pm
- 'Exporter::Heavy' => '5.567', #./lib/Exporter/Heavy.pm
- 'ExtUtils::Command' => '1.05', #./lib/ExtUtils/Command.pm
- 'ExtUtils::Command::MM' => '0.03', #./lib/ExtUtils/Command/MM.pm
- 'ExtUtils::Constant' => '0.14', #./lib/ExtUtils/Constant.pm
- 'ExtUtils::Embed' => '1.250601', #./lib/ExtUtils/Embed.pm
- 'ExtUtils::Install' => '1.32', #./lib/ExtUtils/Install.pm
- 'ExtUtils::Installed' => '0.08', #./lib/ExtUtils/Installed.pm
- 'ExtUtils::Liblist' => '1.01', #./lib/ExtUtils/Liblist.pm
- 'ExtUtils::Liblist::Kid'=> '1.3', #./lib/ExtUtils/Liblist/Kid.pm
- 'ExtUtils::MakeMaker' => '6.17', #./lib/ExtUtils/MakeMaker.pm
- 'ExtUtils::MakeMaker::bytes'=> '0.01', #./lib/ExtUtils/MakeMaker/bytes.pm
- 'ExtUtils::MakeMaker::vmsish'=> '0.01', #./lib/ExtUtils/MakeMaker/vmsish.pm
- 'ExtUtils::Manifest' => '1.42', #./lib/ExtUtils/Manifest.pm
- 'ExtUtils::Miniperl' => undef, #./lib/ExtUtils/Miniperl.pm
- 'ExtUtils::Mkbootstrap' => '1.15', #./lib/ExtUtils/Mkbootstrap.pm
- 'ExtUtils::Mksymlists' => '1.19', #./lib/ExtUtils/Mksymlists.pm
- 'ExtUtils::MM' => '0.04', #./lib/ExtUtils/MM.pm
- 'ExtUtils::MM_Any' => '0.07', #./lib/ExtUtils/MM_Any.pm
- 'ExtUtils::MM_BeOS' => '1.04', #./lib/ExtUtils/MM_BeOS.pm
- 'ExtUtils::MM_Cygwin' => '1.06', #./lib/ExtUtils/MM_Cygwin.pm
- 'ExtUtils::MM_DOS' => '0.02', #./lib/ExtUtils/MM_DOS.pm
- 'ExtUtils::MM_MacOS' => '1.07', #./lib/ExtUtils/MM_MacOS.pm
- 'ExtUtils::MM_NW5' => '2.06', #./lib/ExtUtils/MM_NW5.pm
- 'ExtUtils::MM_OS2' => '1.04', #./lib/ExtUtils/MM_OS2.pm
- 'ExtUtils::MM_Unix' => '1.42', #./lib/ExtUtils/MM_Unix.pm
- 'ExtUtils::MM_UWIN' => '0.02', #./lib/ExtUtils/MM_UWIN.pm
- 'ExtUtils::MM_VMS' => '5.70', #./lib/ExtUtils/MM_VMS.pm
- 'ExtUtils::MM_Win32' => '1.09', #./lib/ExtUtils/MM_Win32.pm
- 'ExtUtils::MM_Win95' => '0.03', #./lib/ExtUtils/MM_Win95.pm
- 'ExtUtils::MY' => '0.01', #./lib/ExtUtils/MY.pm
- 'ExtUtils::Packlist' => '0.04', #./lib/ExtUtils/Packlist.pm
- 'ExtUtils::testlib' => '1.15', #./lib/ExtUtils/testlib.pm
- 'ExtUtils::XSSymSet' => '1.0', #./vms/ext/XSSymSet.pm
- 'Fatal' => '1.03', #./lib/Fatal.pm
- 'Fcntl' => '1.05', #./lib/Fcntl.pm
- 'fields' => '2.03', #./lib/fields.pm
- 'File::Basename' => '2.72', #./lib/File/Basename.pm
- 'File::CheckTree' => '4.2', #./lib/File/CheckTree.pm
- 'File::Compare' => '1.1003', #./lib/File/Compare.pm
- 'File::Copy' => '2.06', #./lib/File/Copy.pm
- 'File::DosGlob' => '1.00', #./lib/File/DosGlob.pm
- 'File::Find' => '1.05', #./lib/File/Find.pm
- 'File::Glob' => '1.02', #./lib/File/Glob.pm
- 'File::Path' => '1.06', #./lib/File/Path.pm
- 'File::Spec' => '0.86', #./lib/File/Spec.pm
- 'File::Spec::Cygwin' => '1.1', #./lib/File/Spec/Cygwin.pm
- 'File::Spec::Epoc' => '1.1', #./lib/File/Spec/Epoc.pm
- 'File::Spec::Functions' => '1.3', #./lib/File/Spec/Functions.pm
- 'File::Spec::Mac' => '1.4', #./lib/File/Spec/Mac.pm
- 'File::Spec::OS2' => '1.2', #./lib/File/Spec/OS2.pm
- 'File::Spec::Unix' => '1.5', #./lib/File/Spec/Unix.pm
- 'File::Spec::VMS' => '1.4', #./lib/File/Spec/VMS.pm
- 'File::Spec::Win32' => '1.4', #./lib/File/Spec/Win32.pm
- 'File::stat' => '1.00', #./lib/File/stat.pm
- 'File::Temp' => '0.14', #./lib/File/Temp.pm
- 'FileCache' => '1.03', #./lib/FileCache.pm
- 'FileHandle' => '2.01', #./lib/FileHandle.pm
- 'filetest' => '1.01', #./lib/filetest.pm
- 'Filter::Simple' => '0.78', #./lib/Filter/Simple.pm
- 'Filter::Util::Call' => '1.0601', #./lib/Filter/Util/Call.pm
- 'FindBin' => '1.43', #./lib/FindBin.pm
- 'GDBM_File' => '1.07', #./ext/GDBM_File/GDBM_File.pm
- 'Getopt::Long' => '2.34', #./lib/Getopt/Long.pm
- 'Getopt::Std' => '1.04', #./lib/Getopt/Std.pm
- 'Hash::Util' => '0.05', #./lib/Hash/Util.pm
- 'I18N::Collate' => '1.00', #./lib/I18N/Collate.pm
- 'I18N::Langinfo' => '0.02', #./lib/I18N/Langinfo.pm
- 'I18N::LangTags' => '0.28', #./lib/I18N/LangTags.pm
- 'I18N::LangTags::List' => '0.26', #./lib/I18N/LangTags/List.pm
- 'if' => '0.03', #./lib/if.pm
- 'integer' => '1.00', #./lib/integer.pm
- 'IO' => '1.21', #./lib/IO.pm
- 'IO::Dir' => '1.04', #./lib/IO/Dir.pm
- 'IO::File' => '1.10', #./lib/IO/File.pm
- 'IO::Handle' => '1.23', #./lib/IO/Handle.pm
- 'IO::Pipe' => '1.122', #./lib/IO/Pipe.pm
- 'IO::Poll' => '0.06', #./lib/IO/Poll.pm
- 'IO::Seekable' => '1.09', #./lib/IO/Seekable.pm
- 'IO::Select' => '1.16', #./lib/IO/Select.pm
- 'IO::Socket' => '1.28', #./lib/IO/Socket.pm
- 'IO::Socket::INET' => '1.27', #./lib/IO/Socket/INET.pm
- 'IO::Socket::UNIX' => '1.21', #./lib/IO/Socket/UNIX.pm
- 'IPC::Msg' => '1.02', #./lib/IPC/Msg.pm
- 'IPC::Open2' => '1.01', #./lib/IPC/Open2.pm
- 'IPC::Open3' => '1.0105', #./lib/IPC/Open3.pm
- 'IPC::Semaphore' => '1.02', #./lib/IPC/Semaphore.pm
- 'IPC::SysV' => '1.04', #./lib/IPC/SysV.pm
- 'JNI' => '0.2', #./jpl/JNI/JNI.pm
- 'JPL::AutoLoader' => undef, #./jpl/JPL/AutoLoader.pm
- 'JPL::Class' => undef, #./jpl/JPL/Class.pm
- 'JPL::Compile' => undef, #./jpl/JPL/Compile.pm
- 'less' => '0.01', #./lib/less.pm
- 'lib' => '0.5565', #./lib/lib.pm
- 'List::Util' => '1.13', #./lib/List/Util.pm
- 'locale' => '1.00', #./lib/locale.pm
- 'Locale::Constants' => '2.01', #./lib/Locale/Constants.pm
- 'Locale::Country' => '2.61', #./lib/Locale/Country.pm
- 'Locale::Currency' => '2.21', #./lib/Locale/Currency.pm
- 'Locale::Language' => '2.21', #./lib/Locale/Language.pm
- 'Locale::Maketext' => '1.06', #./lib/Locale/Maketext.pm
- 'Locale::Maketext::Guts'=> undef, #./lib/Locale/Maketext/Guts.pm
- 'Locale::Maketext::GutsLoader'=> undef, #./lib/Locale/Maketext/GutsLoader.pm
- 'Locale::Script' => '2.21', #./lib/Locale/Script.pm
- 'Math::BigFloat' => '1.40', #./lib/Math/BigFloat.pm
- 'Math::BigFloat::Trace' => '0.01', #./lib/Math/BigFloat/Trace.pm
- 'Math::BigInt' => '1.66', #./lib/Math/BigInt.pm
- 'Math::BigInt::Calc' => '0.36', #./lib/Math/BigInt/Calc.pm
- 'Math::BigInt::Scalar' => '0.11', #./lib/Math/BigInt/Scalar.pm
- 'Math::BigInt::Trace' => '0.01', #./lib/Math/BigInt/Trace.pm
- 'Math::BigRat' => '0.10', #./lib/Math/BigRat.pm
- 'Math::Complex' => '1.34', #./lib/Math/Complex.pm
- 'Math::Trig' => '1.02', #./lib/Math/Trig.pm
- 'Memoize' => '1.01', #./lib/Memoize.pm
- 'Memoize::AnyDBM_File' => '0.65', #./lib/Memoize/AnyDBM_File.pm
- 'Memoize::Expire' => '1.00', #./lib/Memoize/Expire.pm
- 'Memoize::ExpireFile' => '1.01', #./lib/Memoize/ExpireFile.pm
- 'Memoize::ExpireTest' => '0.65', #./lib/Memoize/ExpireTest.pm
- 'Memoize::NDBM_File' => '0.65', #./lib/Memoize/NDBM_File.pm
- 'Memoize::SDBM_File' => '0.65', #./lib/Memoize/SDBM_File.pm
- 'Memoize::Storable' => '0.65', #./lib/Memoize/Storable.pm
- 'MIME::Base64' => '2.20', #./lib/MIME/Base64.pm
- 'MIME::QuotedPrint' => '2.20', #./lib/MIME/QuotedPrint.pm
- 'NDBM_File' => '1.05', #./ext/NDBM_File/NDBM_File.pm
- 'Net::Cmd' => '2.24', #./lib/Net/Cmd.pm
- 'Net::Config' => '1.10', #./lib/Net/Config.pm
- 'Net::Domain' => '2.18', #./lib/Net/Domain.pm
- 'Net::FTP' => '2.71', #./lib/Net/FTP.pm
- 'Net::FTP::A' => '1.16', #./lib/Net/FTP/A.pm
- 'Net::FTP::dataconn' => '0.11', #./lib/Net/FTP/dataconn.pm
- 'Net::FTP::E' => '0.01', #./lib/Net/FTP/E.pm
- 'Net::FTP::I' => '1.12', #./lib/Net/FTP/I.pm
- 'Net::FTP::L' => '0.01', #./lib/Net/FTP/L.pm
- 'Net::hostent' => '1.01', #./lib/Net/hostent.pm
- 'Net::netent' => '1.00', #./lib/Net/netent.pm
- 'Net::Netrc' => '2.12', #./lib/Net/Netrc.pm
- 'Net::NNTP' => '2.22', #./lib/Net/NNTP.pm
- 'Net::Ping' => '2.31', #./lib/Net/Ping.pm
- 'Net::POP3' => '2.24', #./lib/Net/POP3.pm
- 'Net::protoent' => '1.00', #./lib/Net/protoent.pm
- 'Net::servent' => '1.01', #./lib/Net/servent.pm
- 'Net::SMTP' => '2.26', #./lib/Net/SMTP.pm
- 'Net::Time' => '2.09', #./lib/Net/Time.pm
- 'NEXT' => '0.60', #./lib/NEXT.pm
- 'O' => '1.00', #./lib/O.pm
- 'ODBM_File' => '1.04', #./ext/ODBM_File/ODBM_File.pm
- 'Opcode' => '1.05', #./lib/Opcode.pm
- 'open' => '1.02', #./lib/open.pm
- 'ops' => '1.00', #./lib/ops.pm
- 'OS2::ExtAttr' => '0.02', #./os2/OS2/ExtAttr/ExtAttr.pm
- 'OS2::PrfDB' => '0.03', #./os2/OS2/PrfDB/PrfDB.pm
- 'OS2::Process' => '1.01', #./os2/OS2/Process/Process.pm
- 'OS2::DLL' => '1.01', #./os2/OS2/REXX/DLL/DLL.pm
- 'OS2::REXX' => '1.02', #./os2/OS2/REXX/REXX.pm
- 'overload' => '1.01', #./lib/overload.pm
- 'PerlIO' => '1.02', #./lib/PerlIO.pm
- 'PerlIO::encoding' => '0.07', #./lib/PerlIO/encoding.pm
- 'PerlIO::scalar' => '0.02', #./lib/PerlIO/scalar.pm
- 'PerlIO::via' => '0.02', #./lib/PerlIO/via.pm
- 'PerlIO::via::QuotedPrint'=> '0.05', #./lib/PerlIO/via/QuotedPrint.pm
- 'Pod::Checker' => '1.41', #./lib/Pod/Checker.pm
- 'Pod::Find' => '0.24', #./lib/Pod/Find.pm
- 'Pod::Functions' => '1.02', #./lib/Pod/Functions.pm
- 'Pod::Html' => '1.0501', #./lib/Pod/Html.pm
- 'Pod::InputObjects' => '1.14', #./lib/Pod/InputObjects.pm
- 'Pod::LaTeX' => '0.55', #./lib/Pod/LaTeX.pm
- 'Pod::Man' => '1.37', #./lib/Pod/Man.pm
- 'Pod::ParseLink' => '1.06', #./lib/Pod/ParseLink.pm
- 'Pod::Parser' => '1.13', #./lib/Pod/Parser.pm
- 'Pod::ParseUtils' => '0.3', #./lib/Pod/ParseUtils.pm
- 'Pod::Perldoc' => '3.10', #./lib/Pod/Perldoc.pm
- 'Pod::Perldoc::BaseTo' => undef, #./lib/Pod/Perldoc/BaseTo.pm
- 'Pod::Perldoc::GetOptsOO'=> undef, #./lib/Pod/Perldoc/GetOptsOO.pm
- 'Pod::Perldoc::ToChecker'=> undef, #./lib/Pod/Perldoc/ToChecker.pm
- 'Pod::Perldoc::ToMan' => undef, #./lib/Pod/Perldoc/ToMan.pm
- 'Pod::Perldoc::ToNroff' => undef, #./lib/Pod/Perldoc/ToNroff.pm
- 'Pod::Perldoc::ToPod' => undef, #./lib/Pod/Perldoc/ToPod.pm
- 'Pod::Perldoc::ToRtf' => undef, #./lib/Pod/Perldoc/ToRtf.pm
- 'Pod::Perldoc::ToText' => undef, #./lib/Pod/Perldoc/ToText.pm
- 'Pod::Perldoc::ToTk' => 'undef', #./lib/Pod/Perldoc/ToTk.pm
- 'Pod::Perldoc::ToXml' => undef, #./lib/Pod/Perldoc/ToXml.pm
- 'Pod::Plainer' => '0.01', #./lib/Pod/Plainer.pm
- 'Pod::PlainText' => '2.01', #./lib/Pod/PlainText.pm
- 'Pod::Select' => '1.13', #./lib/Pod/Select.pm
- 'Pod::Text' => '2.21', #./lib/Pod/Text.pm
- 'Pod::Text::Color' => '1.04', #./lib/Pod/Text/Color.pm
- 'Pod::Text::Overstrike' => '1.1', #./lib/Pod/Text/Overstrike.pm
- 'Pod::Text::Termcap' => '1.11', #./lib/Pod/Text/Termcap.pm
- 'Pod::Usage' => '1.16', #./lib/Pod/Usage.pm
- 'POSIX' => '1.06', #./lib/POSIX.pm
- 're' => '0.04', #./lib/re.pm
- 'Safe' => '2.10', #./lib/Safe.pm
- 'Scalar::Util' => '1.13', #./lib/Scalar/Util.pm
- 'SDBM_File' => '1.04', #./lib/SDBM_File.pm
- 'Search::Dict' => '1.02', #./lib/Search/Dict.pm
- 'SelectSaver' => '1.00', #./lib/SelectSaver.pm
- 'SelfLoader' => '1.0904', #./lib/SelfLoader.pm
- 'Shell' => '0.5', #./lib/Shell.pm
- 'sigtrap' => '1.02', #./lib/sigtrap.pm
- 'Socket' => '1.76', #./lib/Socket.pm
- 'sort' => '1.02', #./lib/sort.pm
- 'Storable' => '2.08', #./lib/Storable.pm
- 'strict' => '1.03', #./lib/strict.pm
- 'subs' => '1.00', #./lib/subs.pm
- 'Switch' => '2.10', #./lib/Switch.pm
- 'Symbol' => '1.05', #./lib/Symbol.pm
- 'Sys::Hostname' => '1.11', #./lib/Sys/Hostname.pm
- 'Sys::Syslog' => '0.04', #./lib/Sys/Syslog.pm
- 'Term::ANSIColor' => '1.07', #./lib/Term/ANSIColor.pm
- 'Term::Cap' => '1.08', #./lib/Term/Cap.pm
- 'Term::Complete' => '1.401', #./lib/Term/Complete.pm
- 'Term::ReadLine' => '1.01', #./lib/Term/ReadLine.pm
- 'Test' => '1.24', #./lib/Test.pm
- 'Test::Builder' => '0.17', #./lib/Test/Builder.pm
- 'Test::Harness' => '2.30', #./lib/Test/Harness.pm
- 'Test::Harness::Assert' => '0.01', #./lib/Test/Harness/Assert.pm
- 'Test::Harness::Iterator'=> '0.01', #./lib/Test/Harness/Iterator.pm
- 'Test::Harness::Straps' => '0.15', #./lib/Test/Harness/Straps.pm
- 'Test::More' => '0.47', #./lib/Test/More.pm
- 'Test::Simple' => '0.47', #./lib/Test/Simple.pm
- 'Text::Abbrev' => '1.01', #./lib/Text/Abbrev.pm
- 'Text::Balanced' => '1.95', #./lib/Text/Balanced.pm
- 'Text::ParseWords' => '3.21', #./lib/Text/ParseWords.pm
- 'Text::Soundex' => '1.01', #./lib/Text/Soundex.pm
- 'Text::Tabs' => '98.112801', #./lib/Text/Tabs.pm
- 'Text::Wrap' => '2001.09291', #./lib/Text/Wrap.pm
- 'Thread' => '2.00', #./lib/Thread.pm
- 'Thread::Queue' => '2.00', #./lib/Thread/Queue.pm
- 'Thread::Semaphore' => '2.01', #./lib/Thread/Semaphore.pm
- 'Thread::Signal' => '1.00', #./ext/Thread/Thread/Signal.pm
- 'Thread::Specific' => '1.00', #./ext/Thread/Thread/Specific.pm
- 'threads' => '1.00', #./lib/threads.pm
- 'threads::shared' => '0.91', #./lib/threads/shared.pm
- 'Tie::Array' => '1.03', #./lib/Tie/Array.pm
- 'Tie::File' => '0.97', #./lib/Tie/File.pm
- 'Tie::Handle' => '4.1', #./lib/Tie/Handle.pm
- 'Tie::Hash' => '1.00', #./lib/Tie/Hash.pm
- 'Tie::Memoize' => '1.0', #./lib/Tie/Memoize.pm
- 'Tie::RefHash' => '1.31', #./lib/Tie/RefHash.pm
- 'Tie::Scalar' => '1.00', #./lib/Tie/Scalar.pm
- 'Tie::SubstrHash' => '1.00', #./lib/Tie/SubstrHash.pm
- 'Time::gmtime' => '1.02', #./lib/Time/gmtime.pm
- 'Time::HiRes' => '1.51', #./lib/Time/HiRes.pm
- 'Time::Local' => '1.07', #./lib/Time/Local.pm
- 'Time::localtime' => '1.02', #./lib/Time/localtime.pm
- 'Time::tm' => '1.00', #./lib/Time/tm.pm
- 'Unicode' => '4.0.0', # lib/unicore/version
- 'Unicode::Collate' => '0.28', #./lib/Unicode/Collate.pm
- 'Unicode::Normalize' => '0.23', #./lib/Unicode/Normalize.pm
- 'Unicode::UCD' => '0.21', #./lib/Unicode/UCD.pm
- 'UNIVERSAL' => '1.01', #./lib/UNIVERSAL.pm
- 'User::grent' => '1.00', #./lib/User/grent.pm
- 'User::pwent' => '1.00', #./lib/User/pwent.pm
- 'utf8' => '1.02', #./lib/utf8.pm
- 'vars' => '1.01', #./lib/vars.pm
- 'VMS::DCLsym' => '1.02', #./vms/ext/DCLsym/DCLsym.pm
- 'VMS::Filespec' => '1.11', #./vms/ext/Filespec.pm
- 'VMS::Stdio' => '2.3', #./vms/ext/Stdio/Stdio.pm
- 'vmsish' => '1.01', #./lib/vmsish.pm
- 'warnings' => '1.03', #./lib/warnings.pm
- 'warnings::register' => '1.00', #./lib/warnings/register.pm
- 'XS::APItest' => '0.02', #./lib/XS/APItest.pm
- 'XS::Typemap' => '0.01', #./lib/XS/Typemap.pm
- 'XSLoader' => '0.02', #./lib/XSLoader.pm
+ delta_from => 5.008,
+ changed => {
+ 'Attribute::Handlers' => '0.78',
+ 'AutoLoader' => '5.60',
+ 'AutoSplit' => '1.04',
+ 'B' => '1.02',
+ 'B::Asmdata' => '1.01',
+ 'B::Assembler' => '0.06',
+ 'B::Bblock' => '1.02',
+ 'B::Bytecode' => '1.01',
+ 'B::C' => '1.02',
+ 'B::Concise' => '0.56',
+ 'B::Debug' => '1.01',
+ 'B::Deparse' => '0.64',
+ 'B::Disassembler' => '1.03',
+ 'B::Lint' => '1.02',
+ 'B::Terse' => '1.02',
+ 'Benchmark' => '1.051',
+ 'ByteLoader' => '0.05',
+ 'CGI' => '3.00',
+ 'CGI::Carp' => '1.26',
+ 'CGI::Cookie' => '1.24',
+ 'CGI::Fast' => '1.041',
+ 'CGI::Pretty' => '1.07_00',
+ 'CGI::Util' => '1.31',
+ 'CPAN' => '1.76_01',
+ 'CPAN::FirstTime' => '1.60 ',
+ 'CPAN::Nox' => '1.03',
+ 'Class::Struct' => '0.63',
+ 'Cwd' => '2.08',
+ 'DB_File' => '1.806',
+ 'Data::Dumper' => '2.121',
+ 'Devel::DProf' => '20030813.00',
+ 'Devel::PPPort' => '2.007',
+ 'Devel::Peek' => '1.01',
+ 'Digest' => '1.02',
+ 'Digest::MD5' => '2.27',
+ 'Encode' => '1.9801',
+ 'Encode::Alias' => '1.38',
+ 'Encode::Byte' => '1.23',
+ 'Encode::CJKConstants' => '1.02',
+ 'Encode::CN::HZ' => '1.05',
+ 'Encode::Config' => '1.07',
+ 'Encode::Encoder' => '0.07',
+ 'Encode::Encoding' => '1.33',
+ 'Encode::Guess' => '1.09',
+ 'Encode::JP::JIS7' => '1.12',
+ 'Encode::KR' => '1.23',
+ 'Encode::KR::2022_KR' => '1.06',
+ 'Encode::MIME::Header' => '1.09',
+ 'Encode::Unicode' => '1.40',
+ 'Encode::Unicode::UTF7' => '0.02',
+ 'English' => '1.01',
+ 'Errno' => '1.09_00',
+ 'Exporter' => '5.567',
+ 'Exporter::Heavy' => '5.567',
+ 'ExtUtils::Command' => '1.05',
+ 'ExtUtils::Command::MM' => '0.03',
+ 'ExtUtils::Constant' => '0.14',
+ 'ExtUtils::Install' => '1.32',
+ 'ExtUtils::Installed' => '0.08',
+ 'ExtUtils::Liblist' => '1.01',
+ 'ExtUtils::Liblist::Kid'=> '1.3',
+ 'ExtUtils::MM_Any' => '0.07',
+ 'ExtUtils::MM_BeOS' => '1.04',
+ 'ExtUtils::MM_Cygwin' => '1.06',
+ 'ExtUtils::MM_DOS' => '0.02',
+ 'ExtUtils::MM_MacOS' => '1.07',
+ 'ExtUtils::MM_NW5' => '2.06',
+ 'ExtUtils::MM_OS2' => '1.04',
+ 'ExtUtils::MM_UWIN' => '0.02',
+ 'ExtUtils::MM_Unix' => '1.42',
+ 'ExtUtils::MM_VMS' => '5.70',
+ 'ExtUtils::MM_Win32' => '1.09',
+ 'ExtUtils::MM_Win95' => '0.03',
+ 'ExtUtils::MakeMaker' => '6.17',
+ 'ExtUtils::MakeMaker::bytes'=> '0.01',
+ 'ExtUtils::MakeMaker::vmsish'=> '0.01',
+ 'ExtUtils::Manifest' => '1.42',
+ 'Fcntl' => '1.05',
+ 'File::Basename' => '2.72',
+ 'File::Copy' => '2.06',
+ 'File::Find' => '1.05',
+ 'File::Glob' => '1.02',
+ 'File::Path' => '1.06',
+ 'File::Spec' => '0.86',
+ 'File::Spec::Cygwin' => '1.1',
+ 'File::Spec::Epoc' => '1.1',
+ 'File::Spec::Functions' => '1.3',
+ 'File::Spec::Mac' => '1.4',
+ 'File::Spec::OS2' => '1.2',
+ 'File::Spec::Unix' => '1.5',
+ 'File::Spec::VMS' => '1.4',
+ 'File::Spec::Win32' => '1.4',
+ 'File::Temp' => '0.14',
+ 'FileCache' => '1.03',
+ 'Filter::Util::Call' => '1.0601',
+ 'GDBM_File' => '1.07',
+ 'Getopt::Long' => '2.34',
+ 'Getopt::Std' => '1.04',
+ 'Hash::Util' => '0.05',
+ 'I18N::LangTags' => '0.28',
+ 'I18N::LangTags::List' => '0.26',
+ 'I18N::Langinfo' => '0.02',
+ 'IO' => '1.21',
+ 'IO::Dir' => '1.04',
+ 'IO::File' => '1.10',
+ 'IO::Handle' => '1.23',
+ 'IO::Seekable' => '1.09',
+ 'IO::Select' => '1.16',
+ 'IO::Socket' => '1.28',
+ 'IO::Socket::INET' => '1.27',
+ 'IO::Socket::UNIX' => '1.21',
+ 'IPC::Msg' => '1.02',
+ 'IPC::Open3' => '1.0105',
+ 'IPC::Semaphore' => '1.02',
+ 'IPC::SysV' => '1.04',
+ 'JNI' => '0.2',
+ 'List::Util' => '1.13',
+ 'Locale::Country' => '2.61',
+ 'Locale::Currency' => '2.21',
+ 'Locale::Language' => '2.21',
+ 'Locale::Maketext' => '1.06',
+ 'Locale::Maketext::Guts'=> undef,
+ 'Locale::Maketext::GutsLoader'=> undef,
+ 'Locale::Script' => '2.21',
+ 'MIME::Base64' => '2.20',
+ 'MIME::QuotedPrint' => '2.20',
+ 'Math::BigFloat' => '1.40',
+ 'Math::BigInt' => '1.66',
+ 'Math::BigInt::Calc' => '0.36',
+ 'Math::BigInt::Scalar' => '0.11',
+ 'Math::BigRat' => '0.10',
+ 'Math::Trig' => '1.02',
+ 'NDBM_File' => '1.05',
+ 'NEXT' => '0.60',
+ 'Net::Cmd' => '2.24',
+ 'Net::Domain' => '2.18',
+ 'Net::FTP' => '2.71',
+ 'Net::FTP::A' => '1.16',
+ 'Net::NNTP' => '2.22',
+ 'Net::POP3' => '2.24',
+ 'Net::Ping' => '2.31',
+ 'Net::SMTP' => '2.26',
+ 'Net::hostent' => '1.01',
+ 'Net::servent' => '1.01',
+ 'ODBM_File' => '1.04',
+ 'OS2::DLL' => '1.01',
+ 'OS2::ExtAttr' => '0.02',
+ 'OS2::PrfDB' => '0.03',
+ 'OS2::Process' => '1.01',
+ 'OS2::REXX' => '1.02',
+ 'POSIX' => '1.06',
+ 'PerlIO' => '1.02',
+ 'PerlIO::encoding' => '0.07',
+ 'PerlIO::scalar' => '0.02',
+ 'PerlIO::via' => '0.02',
+ 'PerlIO::via::QuotedPrint'=> '0.05',
+ 'Pod::Checker' => '1.41',
+ 'Pod::Find' => '0.24',
+ 'Pod::Functions' => '1.02',
+ 'Pod::Html' => '1.0501',
+ 'Pod::InputObjects' => '1.14',
+ 'Pod::LaTeX' => '0.55',
+ 'Pod::Man' => '1.37',
+ 'Pod::ParseLink' => '1.06',
+ 'Pod::ParseUtils' => '0.3',
+ 'Pod::Perldoc' => '3.10',
+ 'Pod::Perldoc::BaseTo' => undef,
+ 'Pod::Perldoc::GetOptsOO'=> undef,
+ 'Pod::Perldoc::ToChecker'=> undef,
+ 'Pod::Perldoc::ToMan' => undef,
+ 'Pod::Perldoc::ToNroff' => undef,
+ 'Pod::Perldoc::ToPod' => undef,
+ 'Pod::Perldoc::ToRtf' => undef,
+ 'Pod::Perldoc::ToText' => undef,
+ 'Pod::Perldoc::ToTk' => undef,
+ 'Pod::Perldoc::ToXml' => undef,
+ 'Pod::PlainText' => '2.01',
+ 'Pod::Text' => '2.21',
+ 'Pod::Text::Color' => '1.04',
+ 'Pod::Text::Overstrike' => '1.1',
+ 'Pod::Text::Termcap' => '1.11',
+ 'Pod::Usage' => '1.16',
+ 'SDBM_File' => '1.04',
+ 'Safe' => '2.10',
+ 'Scalar::Util' => '1.13',
+ 'SelfLoader' => '1.0904',
+ 'Shell' => '0.5',
+ 'Socket' => '1.76',
+ 'Storable' => '2.08',
+ 'Switch' => '2.10',
+ 'Symbol' => '1.05',
+ 'Sys::Hostname' => '1.11',
+ 'Sys::Syslog' => '0.04',
+ 'Term::ANSIColor' => '1.07',
+ 'Term::Cap' => '1.08',
+ 'Term::Complete' => '1.401',
+ 'Term::ReadLine' => '1.01',
+ 'Test' => '1.24',
+ 'Test::Builder' => '0.17',
+ 'Test::Harness' => '2.30',
+ 'Test::Harness::Straps' => '0.15',
+ 'Test::More' => '0.47',
+ 'Test::Simple' => '0.47',
+ 'Text::Abbrev' => '1.01',
+ 'Text::Balanced' => '1.95',
+ 'Text::Wrap' => '2001.09291',
+ 'Thread::Semaphore' => '2.01',
+ 'Tie::Array' => '1.03',
+ 'Tie::File' => '0.97',
+ 'Tie::RefHash' => '1.31',
+ 'Time::HiRes' => '1.51',
+ 'Time::Local' => '1.07',
+ 'UNIVERSAL' => '1.01',
+ 'Unicode' => '4.0.0',
+ 'Unicode::Collate' => '0.28',
+ 'Unicode::Normalize' => '0.23',
+ 'Unicode::UCD' => '0.21',
+ 'VMS::Filespec' => '1.11',
+ 'XS::APItest' => '0.02',
+ 'XSLoader' => '0.02',
+ 'attributes' => '0.06',
+ 'base' => '2.03',
+ 'bigint' => '0.04',
+ 'bignum' => '0.14',
+ 'bigrat' => '0.06',
+ 'bytes' => '1.01',
+ 'charnames' => '1.02',
+ 'diagnostics' => '1.11',
+ 'encoding' => '1.47',
+ 'fields' => '2.03',
+ 'filetest' => '1.01',
+ 'if' => '0.03',
+ 'lib' => '0.5565',
+ 'open' => '1.02',
+ 'overload' => '1.01',
+ 're' => '0.04',
+ 'sort' => '1.02',
+ 'strict' => '1.03',
+ 'threads' => '1.00',
+ 'threads::shared' => '0.91',
+ 'utf8' => '1.02',
+ 'vmsish' => '1.01',
+ 'warnings' => '1.03',
+ },
+ removed => {
+ }
},
-
5.008002 => {
- 'AnyDBM_File' => '1.00', #AnyDBM_File.pm
- 'Attribute::Handlers' => 0.78, #Attribute\Handlers.pm
- 'attributes' => 0.06, #attributes.pm
- 'attrs' => 1.01, #attrs.pm
- 'AutoLoader' => '5.60', #AutoLoader.pm
- 'AutoSplit' => 1.04, #AutoSplit.pm
- 'autouse' => 1.03, #autouse.pm
- 'B' => 1.02, #B.pm
- 'B::Asmdata' => 1.01, #B\Asmdata.pm
- 'B::Assembler' => 0.06, #B\Assembler.pm
- 'B::Bblock' => 1.02, #B\Bblock.pm
- 'B::Bytecode' => 1.01, #B\Bytecode.pm
- 'B::C' => 1.02, #B\C.pm
- 'B::CC' => '1.00', #B\CC.pm
- 'B::Concise' => 0.56, #B\Concise.pm
- 'B::Debug' => 1.01, #B\Debug.pm
- 'B::Deparse' => 0.64, #B\Deparse.pm
- 'B::Disassembler' => 1.03, #B\Disassembler.pm
- 'B::Lint' => 1.02, #B\Lint.pm
- 'B::Showlex' => '1.00', #B\Showlex.pm
- 'B::Stackobj' => '1.00', #B\Stackobj.pm
- 'B::Stash' => '1.00', #B\Stash.pm
- 'B::Terse' => 1.02, #B\Terse.pm
- 'B::Xref' => 1.01, #B\Xref.pm
- 'base' => 2.03, #base.pm
- 'Benchmark' => 1.051, #Benchmark.pm
- 'bigint' => 0.04, #bigint.pm
- 'bignum' => 0.14, #bignum.pm
- 'bigrat' => 0.06, #bigrat.pm
- 'blib' => 1.02, #blib.pm
- 'ByteLoader' => 0.05, #ByteLoader.pm
- 'bytes' => 1.01, #bytes.pm
- 'Carp' => 1.01, #Carp.pm
- 'Carp::Heavy' => 1.01, #Carp\Heavy.pm
- 'CGI' => '3.00', #CGI.pm
- 'CGI::Apache' => '1.00', #CGI\Apache.pm
- 'CGI::Carp' => 1.26, #CGI\Carp.pm
- 'CGI::Cookie' => 1.24, #CGI\Cookie.pm
- 'CGI::Fast' => 1.041, #CGI\Fast.pm
- 'CGI::Pretty' => '1.07_00', #CGI\Pretty.pm
- 'CGI::Push' => 1.04, #CGI\Push.pm
- 'CGI::Switch' => '1.00', #CGI\Switch.pm
- 'CGI::Util' => 1.31, #CGI\Util.pm
- 'charnames' => 1.02, #charnames.pm
- 'Class::ISA' => 0.32, #Class\ISA.pm
- 'Class::Struct' => 0.63, #Class\Struct.pm
- 'Config' => undef, #Config.pm
- 'constant' => 1.04, #constant.pm
- 'CPAN' => '1.76_01', #CPAN.pm
- 'CPAN::FirstTime' => '1.60 ', #CPAN\FirstTime.pm
- 'CPAN::Nox' => 1.03, #CPAN\Nox.pm
- 'Cwd' => 2.08, #Cwd.pm
- 'Data::Dumper' => 2.121, #Data\Dumper.pm
- 'DB' => '1.0', #DB.pm
- 'Devel::DProf' => '20030813.00', #Devel\DProf.pm
- 'Devel::Peek' => 1.01, #Devel\Peek.pm
- 'Devel::PPPort' => 2.009, #Devel\PPPort.pm
- 'Devel::SelfStubber' => 1.03, #Devel\SelfStubber.pm
- 'diagnostics' => 1.11, #diagnostics.pm
- 'Digest' => 1.02, #Digest.pm
- 'Digest::MD5' => '2.30', #Digest\MD5.pm
- 'DirHandle' => '1.00', #DirHandle.pm
- 'Dumpvalue' => 1.11, #Dumpvalue.pm
- 'DynaLoader' => 1.04, #DynaLoader.pm
- 'Encode' => 1.9801, #Encode.pm
- 'Encode::Alias' => 1.38, #Encode\Alias.pm
- 'Encode::Byte' => 1.23, #Encode\Byte.pm
- 'Encode::CJKConstants' => 1.02, #Encode\CJKConstants.pm
- 'Encode::CN' => 1.24, #Encode\CN.pm
- 'Encode::CN::HZ' => 1.05, #Encode\CN\HZ.pm
- 'Encode::Config' => 1.07, #Encode\Config.pm
- 'Encode::EBCDIC' => 1.21, #Encode\EBCDIC.pm
- 'Encode::Encoder' => 0.07, #Encode\Encoder.pm
- 'Encode::Encoding' => 1.33, #Encode\Encoding.pm
- 'Encode::Guess' => 1.09, #Encode\Guess.pm
- 'Encode::JP' => 1.25, #Encode\JP.pm
- 'Encode::JP::H2Z' => 1.02, #Encode\JP\H2Z.pm
- 'Encode::JP::JIS7' => 1.12, #Encode\JP\JIS7.pm
- 'Encode::KR' => 1.23, #Encode\KR.pm
- 'Encode::KR::2022_KR' => 1.06, #Encode\KR\2022_KR.pm
- 'Encode::MIME::Header' => 1.09, #Encode\MIME\Header.pm
- 'Encode::Symbol' => 1.22, #Encode\Symbol.pm
- 'Encode::TW' => 1.26, #Encode\TW.pm
- 'Encode::Unicode' => '1.40', #Encode\Unicode.pm
- 'Encode::Unicode::UTF7' => 0.02, #Encode\Unicode\UTF7.pm
- 'encoding' => 1.47, #encoding.pm
- 'English' => 1.01, #English.pm
- 'Env' => '1.00', #Env.pm
- 'Errno' => '1.09_00', #Errno.pm
- 'Exporter' => 5.567, #Exporter.pm
- 'Exporter::Heavy' => 5.567, #Exporter\Heavy.pm
- 'ExtUtils::Command' => 1.05, #ExtUtils\Command.pm
- 'ExtUtils::Command::MM' => 0.03, #ExtUtils\Command\MM.pm
- 'ExtUtils::Constant' => 0.14, #ExtUtils\Constant.pm
- 'ExtUtils::Embed' => 1.250601, #ExtUtils\Embed.pm
- 'ExtUtils::Install' => 1.32, #ExtUtils\Install.pm
- 'ExtUtils::Installed' => 0.08, #ExtUtils\Installed.pm
- 'ExtUtils::Liblist' => 1.01, #ExtUtils\Liblist.pm
- 'ExtUtils::Liblist::Kid' => 1.3, #ExtUtils\Liblist\Kid.pm
- 'ExtUtils::MakeMaker' => 6.17, #ExtUtils\MakeMaker.pm
- 'ExtUtils::MakeMaker::bytes' => 0.01, #ExtUtils\MakeMaker\bytes.pm
- 'ExtUtils::MakeMaker::vmsish' => 0.01, #ExtUtils\MakeMaker\vmsish.pm
- 'ExtUtils::Manifest' => 1.42, #ExtUtils\Manifest.pm
- 'ExtUtils::Miniperl' => undef, #ExtUtils\Miniperl.pm
- 'ExtUtils::Mkbootstrap' => 1.15, #ExtUtils\Mkbootstrap.pm
- 'ExtUtils::Mksymlists' => 1.19, #ExtUtils\Mksymlists.pm
- 'ExtUtils::MM' => 0.04, #ExtUtils\MM.pm
- 'ExtUtils::MM_Any' => 0.07, #ExtUtils\MM_Any.pm
- 'ExtUtils::MM_BeOS' => 1.04, #ExtUtils\MM_BeOS.pm
- 'ExtUtils::MM_Cygwin' => 1.06, #ExtUtils\MM_Cygwin.pm
- 'ExtUtils::MM_DOS' => 0.02, #ExtUtils\MM_DOS.pm
- 'ExtUtils::MM_MacOS' => 1.07, #ExtUtils\MM_MacOS.pm
- 'ExtUtils::MM_NW5' => 2.06, #ExtUtils\MM_NW5.pm
- 'ExtUtils::MM_OS2' => 1.04, #ExtUtils\MM_OS2.pm
- 'ExtUtils::MM_Unix' => 1.42, #ExtUtils\MM_Unix.pm
- 'ExtUtils::MM_UWIN' => 0.02, #ExtUtils\MM_UWIN.pm
- 'ExtUtils::MM_VMS' => '5.70', #ExtUtils\MM_VMS.pm
- 'ExtUtils::MM_Win32' => 1.09, #ExtUtils\MM_Win32.pm
- 'ExtUtils::MM_Win95' => 0.03, #ExtUtils\MM_Win95.pm
- 'ExtUtils::MY' => 0.01, #ExtUtils\MY.pm
- 'ExtUtils::Packlist' => 0.04, #ExtUtils\Packlist.pm
- 'ExtUtils::testlib' => 1.15, #ExtUtils\testlib.pm
- 'ExtUtils::XSSymSet' => '1.0', #vms\ext\XSSymSet.pm
- 'Fatal' => 1.03, #Fatal.pm
- 'Fcntl' => 1.05, #Fcntl.pm
- 'fields' => 2.03, #fields.pm
- 'File::Basename' => 2.72, #File\Basename.pm
- 'File::CheckTree' => 4.2, #File\CheckTree.pm
- 'File::Compare' => 1.1003, #File\Compare.pm
- 'File::Copy' => 2.06, #File\Copy.pm
- 'File::DosGlob' => '1.00', #File\DosGlob.pm
- 'File::Find' => 1.05, #File\Find.pm
- 'File::Glob' => 1.02, #File\Glob.pm
- 'File::Path' => 1.06, #File\Path.pm
- 'File::Spec' => 0.86, #File\Spec.pm
- 'File::Spec::Cygwin' => 1.1, #File\Spec\Cygwin.pm
- 'File::Spec::Epoc' => 1.1, #File\Spec\Epoc.pm
- 'File::Spec::Functions' => 1.3, #File\Spec\Functions.pm
- 'File::Spec::Mac' => 1.4, #File\Spec\Mac.pm
- 'File::Spec::OS2' => 1.2, #File\Spec\OS2.pm
- 'File::Spec::Unix' => 1.5, #File\Spec\Unix.pm
- 'File::Spec::VMS' => 1.4, #File\Spec\VMS.pm
- 'File::Spec::Win32' => 1.4, #File\Spec\Win32.pm
- 'File::stat' => '1.00', #File\stat.pm
- 'File::Temp' => 0.14, #File\Temp.pm
- 'FileCache' => 1.03, #FileCache.pm
- 'FileHandle' => 2.01, #FileHandle.pm
- 'filetest' => 1.01, #filetest.pm
- 'Filter::Simple' => 0.78, #Filter\Simple.pm
- 'Filter::Util::Call' => 1.0601, #Filter\Util\Call.pm
- 'FindBin' => 1.43, #FindBin.pm
- 'GDBM_File' => '1.07', #ext\GDBM_File\GDBM_File.pm
- 'Getopt::Long' => 2.34, #Getopt\Long.pm
- 'Getopt::Std' => 1.04, #Getopt\Std.pm
- 'Hash::Util' => 0.05, #Hash\Util.pm
- 'I18N::Collate' => '1.00', #I18N\Collate.pm
- 'I18N::Langinfo' => '0.02', #I18N\Langinfo.pm
- 'I18N::LangTags' => 0.29, #I18N\LangTags.pm
- 'I18N::LangTags::List' => 0.29, #I18N\LangTags\List.pm
- 'if' => 0.03, #if.pm
- 'integer' => '1.00', #integer.pm
- 'IO' => 1.21, #IO.pm
- 'IO::Dir' => 1.04, #IO\Dir.pm
- 'IO::File' => '1.10', #IO\File.pm
- 'IO::Handle' => 1.23, #IO\Handle.pm
- 'IO::Pipe' => 1.122, #IO\Pipe.pm
- 'IO::Poll' => 0.06, #IO\Poll.pm
- 'IO::Seekable' => 1.09, #IO\Seekable.pm
- 'IO::Select' => 1.16, #IO\Select.pm
- 'IO::Socket' => 1.28, #IO\Socket.pm
- 'IO::Socket::INET' => 1.27, #IO\Socket\INET.pm
- 'IO::Socket::UNIX' => 1.21, #IO\Socket\UNIX.pm
- 'IPC::Msg' => 1.02, #IPC\Msg.pm
- 'IPC::Open2' => 1.01, #IPC\Open2.pm
- 'IPC::Open3' => 1.0105, #IPC\Open3.pm
- 'IPC::Semaphore' => 1.02, #IPC\Semaphore.pm
- 'IPC::SysV' => 1.04, #IPC\SysV.pm
- 'JNI' => '0.2', #jpl\JNI\JNI.pm
- 'JPL::AutoLoader' => undef, #jpl\JPL\AutoLoader.pm
- 'JPL::Class' => undef, #jpl\JPL\Class.pm
- 'JPL::Compile' => undef, #jpl\JPL\Compile.pm
- 'less' => 0.01, #less.pm
- 'lib' => 0.5565, #lib.pm
- 'List::Util' => 1.13, #List\Util.pm
- 'locale' => '1.00', #locale.pm
- 'Locale::Constants' => 2.01, #Locale\Constants.pm
- 'Locale::Country' => 2.61, #Locale\Country.pm
- 'Locale::Currency' => 2.21, #Locale\Currency.pm
- 'Locale::Language' => 2.21, #Locale\Language.pm
- 'Locale::Maketext' => 1.06, #Locale\Maketext.pm
- 'Locale::Maketext::Guts' => undef, #Locale\Maketext\Guts.pm
- 'Locale::Maketext::GutsLoader' => undef, #Locale\Maketext\GutsLoader.pm
- 'Locale::Script' => 2.21, #Locale\Script.pm
- 'Math::BigFloat' => '1.40', #Math\BigFloat.pm
- 'Math::BigFloat::Trace' => 0.01, #Math\BigFloat\Trace.pm
- 'Math::BigInt' => 1.66, #Math\BigInt.pm
- 'Math::BigInt::Calc' => 0.36, #Math\BigInt\Calc.pm
- 'Math::BigInt::Scalar' => 0.11, #Math\BigInt\Scalar.pm
- 'Math::BigInt::Trace' => 0.01, #Math\BigInt\Trace.pm
- 'Math::BigRat' => '0.10', #Math\BigRat.pm
- 'Math::Complex' => 1.34, #Math\Complex.pm
- 'Math::Trig' => 1.02, #Math\Trig.pm
- 'Memoize' => 1.01, #Memoize.pm
- 'Memoize::AnyDBM_File' => 0.65, #Memoize\AnyDBM_File.pm
- 'Memoize::Expire' => '1.00', #Memoize\Expire.pm
- 'Memoize::ExpireFile' => 1.01, #Memoize\ExpireFile.pm
- 'Memoize::ExpireTest' => 0.65, #Memoize\ExpireTest.pm
- 'Memoize::NDBM_File' => 0.65, #Memoize\NDBM_File.pm
- 'Memoize::SDBM_File' => 0.65, #Memoize\SDBM_File.pm
- 'Memoize::Storable' => 0.65, #Memoize\Storable.pm
- 'MIME::Base64' => 2.21, #MIME\Base64.pm
- 'MIME::QuotedPrint' => 2.21, #MIME\QuotedPrint.pm
- 'NDBM_File' => '1.05', #ext\NDBM_File\NDBM_File.pm
- 'Net::Cmd' => 2.24, #Net\Cmd.pm
- 'Net::Config' => '1.10', #Net\Config.pm
- 'Net::Domain' => 2.19, #Net\Domain.pm
- 'Net::FTP' => 2.72, #Net\FTP.pm
- 'Net::FTP::A' => 1.16, #Net\FTP\A.pm
- 'Net::FTP::dataconn' => 0.11, #Net\FTP\dataconn.pm
- 'Net::FTP::E' => 0.01, #Net\FTP\E.pm
- 'Net::FTP::I' => 1.12, #Net\FTP\I.pm
- 'Net::FTP::L' => 0.01, #Net\FTP\L.pm
- 'Net::hostent' => 1.01, #Net\hostent.pm
- 'Net::netent' => '1.00', #Net\netent.pm
- 'Net::Netrc' => 2.12, #Net\Netrc.pm
- 'Net::NNTP' => 2.22, #Net\NNTP.pm
- 'Net::Ping' => 2.31, #Net\Ping.pm
- 'Net::POP3' => 2.24, #Net\POP3.pm
- 'Net::protoent' => '1.00', #Net\protoent.pm
- 'Net::servent' => 1.01, #Net\servent.pm
- 'Net::SMTP' => 2.26, #Net\SMTP.pm
- 'Net::Time' => 2.09, #Net\Time.pm
- 'NEXT' => '0.60', #NEXT.pm
- 'O' => '1.00', #O.pm
- 'ODBM_File' => '1.04', #ext\ODBM_File\ODBM_File.pm
- 'Opcode' => 1.05, #Opcode.pm
- 'open' => 1.02, #open.pm
- 'ops' => '1.00', #ops.pm
- 'OS2::DLL' => '1.01', #os2\OS2\REXX\DLL\DLL.pm
- 'OS2::ExtAttr' => '0.02', #os2\OS2\ExtAttr\ExtAttr.pm
- 'OS2::PrfDB' => '0.03', #os2\OS2\PrfDB\PrfDB.pm
- 'OS2::Process' => '1.01', #os2\OS2\Process\Process.pm
- 'OS2::REXX' => '1.02', #os2\OS2\REXX\REXX.pm
- 'overload' => 1.01, #overload.pm
- 'PerlIO' => 1.02, #PerlIO.pm
- 'PerlIO::encoding' => 0.07, #PerlIO\encoding.pm
- 'PerlIO::scalar' => 0.02, #PerlIO\scalar.pm
- 'PerlIO::via' => 0.02, #PerlIO\via.pm
- 'PerlIO::via::QuotedPrint' => 0.05, #PerlIO\via\QuotedPrint.pm
- 'Pod::Checker' => 1.41, #Pod\Checker.pm
- 'Pod::Find' => 0.24, #Pod\Find.pm
- 'Pod::Functions' => 1.02, #Pod\Functions.pm
- 'Pod::Html' => 1.0501, #Pod\Html.pm
- 'Pod::InputObjects' => 1.14, #Pod\InputObjects.pm
- 'Pod::LaTeX' => 0.55, #Pod\LaTeX.pm
- 'Pod::Man' => 1.37, #Pod\Man.pm
- 'Pod::ParseLink' => 1.06, #Pod\ParseLink.pm
- 'Pod::Parser' => 1.13, #Pod\Parser.pm
- 'Pod::ParseUtils' => 0.3, #Pod\ParseUtils.pm
- 'Pod::Perldoc' => 3.11, #Pod\Perldoc.pm
- 'Pod::Perldoc::BaseTo' => undef, #Pod\Perldoc\BaseTo.pm
- 'Pod::Perldoc::GetOptsOO' => undef, #Pod\Perldoc\GetOptsOO.pm
- 'Pod::Perldoc::ToChecker' => undef, #Pod\Perldoc\ToChecker.pm
- 'Pod::Perldoc::ToMan' => undef, #Pod\Perldoc\ToMan.pm
- 'Pod::Perldoc::ToNroff' => undef, #Pod\Perldoc\ToNroff.pm
- 'Pod::Perldoc::ToPod' => undef, #Pod\Perldoc\ToPod.pm
- 'Pod::Perldoc::ToRtf' => undef, #Pod\Perldoc\ToRtf.pm
- 'Pod::Perldoc::ToText' => undef, #Pod\Perldoc\ToText.pm
- 'Pod::Perldoc::ToTk' => undef, #Pod\Perldoc\ToTk.pm
- 'Pod::Perldoc::ToXml' => undef, #Pod\Perldoc\ToXml.pm
- 'Pod::Plainer' => 0.01, #Pod\Plainer.pm
- 'Pod::PlainText' => 2.01, #Pod\PlainText.pm
- 'Pod::Select' => 1.13, #Pod\Select.pm
- 'Pod::Text' => 2.21, #Pod\Text.pm
- 'Pod::Text::Color' => 1.04, #Pod\Text\Color.pm
- 'Pod::Text::Overstrike' => 1.1, #Pod\Text\Overstrike.pm
- 'Pod::Text::Termcap' => 1.11, #Pod\Text\Termcap.pm
- 'Pod::Usage' => 1.16, #Pod\Usage.pm
- 'POSIX' => 1.06, #POSIX.pm
- 're' => 0.04, #re.pm
- 'Safe' => '2.10', #Safe.pm
- 'Scalar::Util' => 1.13, #Scalar\Util.pm
- 'SDBM_File' => 1.04, #SDBM_File.pm
- 'Search::Dict' => 1.02, #Search\Dict.pm
- 'SelectSaver' => '1.00', #SelectSaver.pm
- 'SelfLoader' => 1.0904, #SelfLoader.pm
- 'Shell' => 0.5, #Shell.pm
- 'sigtrap' => 1.02, #sigtrap.pm
- 'Socket' => 1.76, #Socket.pm
- 'sort' => 1.02, #sort.pm
- 'Storable' => 2.08, #Storable.pm
- 'strict' => 1.03, #strict.pm
- 'subs' => '1.00', #subs.pm
- 'Switch' => '2.10', #Switch.pm
- 'Symbol' => 1.05, #Symbol.pm
- 'Sys::Hostname' => 1.11, #Sys\Hostname.pm
- 'Sys::Syslog' => '0.04', #ext\Sys\Syslog\Syslog.pm
- 'Term::ANSIColor' => 1.07, #Term\ANSIColor.pm
- 'Term::Cap' => 1.08, #Term\Cap.pm
- 'Term::Complete' => 1.401, #Term\Complete.pm
- 'Term::ReadLine' => 1.01, #Term\ReadLine.pm
- 'Test' => 1.24, #Test.pm
- 'Test::Builder' => 0.17, #Test\Builder.pm
- 'Test::Harness' => '2.30', #Test\Harness.pm
- 'Test::Harness::Assert' => 0.01, #Test\Harness\Assert.pm
- 'Test::Harness::Iterator' => 0.01, #Test\Harness\Iterator.pm
- 'Test::Harness::Straps' => 0.15, #Test\Harness\Straps.pm
- 'Test::More' => 0.47, #Test\More.pm
- 'Test::Simple' => 0.47, #Test\Simple.pm
- 'Text::Abbrev' => 1.01, #Text\Abbrev.pm
- 'Text::Balanced' => 1.95, #Text\Balanced.pm
- 'Text::ParseWords' => 3.21, #Text\ParseWords.pm
- 'Text::Soundex' => 1.01, #Text\Soundex.pm
- 'Text::Tabs' => 98.112801, #Text\Tabs.pm
- 'Text::Wrap' => 2001.09291, #Text\Wrap.pm
- 'Thread' => '2.00', #Thread.pm
- 'Thread::Queue' => '2.00', #Thread\Queue.pm
- 'Thread::Semaphore' => 2.01, #Thread\Semaphore.pm
- 'Thread::Signal' => '1.00', #Thread\Signal.pm
- 'Thread::Specific' => '1.00', #Thread\Specific.pm
- 'threads' => '1.00', #threads.pm
- 'threads::shared' => 0.91, #threads\shared.pm
- 'Tie::Array' => 1.03, #Tie\Array.pm
- 'Tie::File' => 0.97, #Tie\File.pm
- 'Tie::Handle' => 4.1, #Tie\Handle.pm
- 'Tie::Hash' => '1.00', #Tie\Hash.pm
- 'Tie::Memoize' => '1.0', #Tie\Memoize.pm
- 'Tie::RefHash' => 1.31, #Tie\RefHash.pm
- 'Tie::Scalar' => '1.00', #Tie\Scalar.pm
- 'Tie::SubstrHash' => '1.00', #Tie\SubstrHash.pm
- 'Time::gmtime' => 1.02, #Time\gmtime.pm
- 'Time::HiRes' => 1.52, #Time\HiRes.pm
- 'Time::Local' => 1.07, #Time\Local.pm
- 'Time::localtime' => 1.02, #Time\localtime.pm
- 'Time::tm' => '1.00', #Time\tm.pm
- 'Unicode' => '4.0.0', # lib/unicore/version
- 'Unicode::Collate' => '0.30', #Unicode\Collate.pm
- 'Unicode::Normalize' => 0.25, #Unicode\Normalize.pm
- 'Unicode::UCD' => 0.21, #Unicode\UCD.pm
- 'UNIVERSAL' => 1.01, #UNIVERSAL.pm
- 'User::grent' => '1.00', #User\grent.pm
- 'User::pwent' => '1.00', #User\pwent.pm
- 'utf8' => 1.02, #utf8.pm
- 'vars' => 1.01, #vars.pm
- 'VMS::DCLsym' => '1.02', #vms\ext\DCLsym\DCLsym.pm
- 'VMS::Filespec' => '1.11', #vms\ext\Filespec.pm
- 'VMS::Stdio' => '2.3', #vms\ext\Stdio\Stdio.pm
- 'vmsish' => 1.01, #vmsish.pm
- 'warnings' => 1.03, #warnings.pm
- 'warnings::register' => '1.00', #warnings\register.pm
- 'XS::APItest' => 0.02, #XS\APItest.pm
- 'XS::Typemap' => 0.01, #XS\Typemap.pm
- 'XSLoader' => 0.02, #XSLoader.pm
+ delta_from => 5.008001,
+ changed => {
+ 'DB_File' => '1.807',
+ 'Devel::PPPort' => '2.009',
+ 'Digest::MD5' => '2.30',
+ 'I18N::LangTags' => '0.29',
+ 'I18N::LangTags::List' => '0.29',
+ 'MIME::Base64' => '2.21',
+ 'MIME::QuotedPrint' => '2.21',
+ 'Net::Domain' => '2.19',
+ 'Net::FTP' => '2.72',
+ 'Pod::Perldoc' => '3.11',
+ 'Time::HiRes' => '1.52',
+ 'Unicode::Collate' => '0.30',
+ 'Unicode::Normalize' => '0.25',
+ },
+ removed => {
+ }
},
-
5.008003 => {
- 'AnyDBM_File' => '1.00', #lib/AnyDBM_File.pm
- 'Attribute::Handlers' => '0.78', #lib/Attribute/Handlers.pm
- 'attributes' => '0.06', #lib/attributes.pm
- 'attrs' => '1.01', #lib/attrs.pm
- 'AutoLoader' => '5.60', #lib/AutoLoader.pm
- 'AutoSplit' => '1.04', #lib/AutoSplit.pm
- 'autouse' => '1.03', #lib/autouse.pm
- 'B' => '1.02', #lib/B.pm
- 'base' => '2.04', #lib/base.pm
- 'B::Asmdata' => '1.01', #lib/B/Asmdata.pm
- 'B::Assembler' => '0.06', #lib/B/Assembler.pm
- 'B::Bblock' => '1.02', #lib/B/Bblock.pm
- 'B::Bytecode' => '1.01', #lib/B/Bytecode.pm
- 'B::C' => '1.02', #lib/B/C.pm
- 'B::CC' => '1.00', #lib/B/CC.pm
- 'B::Concise' => '0.56', #lib/B/Concise.pm
- 'B::Debug' => '1.01', #lib/B/Debug.pm
- 'B::Deparse' => '0.64', #lib/B/Deparse.pm
- 'B::Disassembler' => '1.03', #lib/B/Disassembler.pm
- 'Benchmark' => '1.052', #lib/Benchmark.pm
- 'bigint' => '0.04', #lib/bigint.pm
- 'bignum' => '0.14', #lib/bignum.pm
- 'bigrat' => '0.06', #lib/bigrat.pm
- 'blib' => '1.02', #lib/blib.pm
- 'B::Lint' => '1.02', #lib/B/Lint.pm
- 'B::Showlex' => '1.00', #lib/B/Showlex.pm
- 'B::Stackobj' => '1.00', #lib/B/Stackobj.pm
- 'B::Stash' => '1.00', #lib/B/Stash.pm
- 'B::Terse' => '1.02', #lib/B/Terse.pm
- 'B::Xref' => '1.01', #lib/B/Xref.pm
- 'ByteLoader' => '0.05', #lib/ByteLoader.pm
- 'bytes' => '1.01', #lib/bytes.pm
- 'Carp' => '1.01', #lib/Carp.pm
- 'Carp::Heavy' => '1.01', #lib/Carp/Heavy.pm
- 'CGI' => '3.01', #lib/CGI.pm
- 'CGI::Apache' => '1.00', #lib/CGI/Apache.pm
- 'CGI::Carp' => '1.27', #lib/CGI/Carp.pm
- 'CGI::Cookie' => '1.24', #lib/CGI/Cookie.pm
- 'CGI::Fast' => '1.05', #lib/CGI/Fast.pm
- 'CGI::Pretty' => '1.08', #lib/CGI/Pretty.pm
- 'CGI::Push' => '1.04', #lib/CGI/Push.pm
- 'CGI::Switch' => '1.00', #lib/CGI/Switch.pm
- 'CGI::Util' => '1.4', #lib/CGI/Util.pm
- 'charnames' => '1.02', #lib/charnames.pm
- 'Class::ISA' => '0.32', #lib/Class/ISA.pm
- 'Class::Struct' => '0.63', #lib/Class/Struct.pm
- 'Config' => undef, #lib/Config.pm
- 'constant' => '1.04', #lib/constant.pm
- 'CPAN' => '1.76_01', #lib/CPAN.pm
- 'CPAN::FirstTime' => '1.60 ', #lib/CPAN/FirstTime.pm
- 'CPAN::Nox' => '1.03', #lib/CPAN/Nox.pm
- 'Cwd' => '2.12', #lib/Cwd.pm
- 'Data::Dumper' => '2.121', #lib/Data/Dumper.pm
- 'DB' => '1.0', #lib/DB.pm
- 'DB_File' => '1.808', #lib/DB_File.pm
- 'Devel::DProf' => '20030813.00', #lib/Devel/DProf.pm
- 'Devel::Peek' => '1.01', #lib/Devel/Peek.pm
- 'Devel::PPPort' => '2.011', #lib/Devel/PPPort.pm
- 'Devel::SelfStubber' => '1.03', #lib/Devel/SelfStubber.pm
- 'diagnostics' => '1.12', #lib/diagnostics.pm
- 'Digest' => '1.05', #lib/Digest.pm
- 'Digest::base' => '1.00', #lib/Digest/base.pm
- 'Digest::MD5' => '2.33', #lib/Digest/MD5.pm
- 'DirHandle' => '1.00', #lib/DirHandle.pm
- 'Dumpvalue' => '1.11', #lib/Dumpvalue.pm
- 'DynaLoader' => '1.04', #lib/DynaLoader.pm
- 'Encode' => '1.99', #lib/Encode.pm
- 'Encode::Alias' => '1.38', #lib/Encode/Alias.pm
- 'Encode::Byte' => '1.23', #lib/Encode/Byte.pm
- 'Encode::CJKConstants' => '1.02', #lib/Encode/CJKConstants.pm
- 'Encode::CN' => '1.24', #lib/Encode/CN.pm
- 'Encode::CN::HZ' => '1.05', #lib/Encode/CN/HZ.pm
- 'Encode::Config' => '1.07', #lib/Encode/Config.pm
- 'Encode::EBCDIC' => '1.21', #lib/Encode/EBCDIC.pm
- 'Encode::Encoder' => '0.07', #lib/Encode/Encoder.pm
- 'Encode::Encoding' => '1.33', #lib/Encode/Encoding.pm
- 'Encode::Guess' => '1.09', #lib/Encode/Guess.pm
- 'Encode::JP' => '1.25', #lib/Encode/JP.pm
- 'Encode::JP::H2Z' => '1.02', #lib/Encode/JP/H2Z.pm
- 'Encode::JP::JIS7' => '1.12', #lib/Encode/JP/JIS7.pm
- 'Encode::KR' => '1.23', #lib/Encode/KR.pm
- 'Encode::KR::2022_KR' => '1.06', #lib/Encode/KR/2022_KR.pm
- 'Encode::MIME::Header' => '1.09', #lib/Encode/MIME/Header.pm
- 'Encode::Symbol' => '1.22', #lib/Encode/Symbol.pm
- 'Encode::TW' => '1.26', #lib/Encode/TW.pm
- 'Encode::Unicode' => '1.40', #lib/Encode/Unicode.pm
- 'Encode::Unicode::UTF7' => '0.02', #lib/Encode/Unicode/UTF7.pm
- 'encoding' => '1.48', #lib/encoding.pm
- 'English' => '1.01', #lib/English.pm
- 'Env' => '1.00', #lib/Env.pm
- 'Errno' => '1.09_00', #lib/Errno.pm
- 'Exporter' => '5.57', #lib/Exporter.pm
- 'Exporter::Heavy' => '5.567', #lib/Exporter/Heavy.pm
- 'ExtUtils::Command' => '1.05', #lib/ExtUtils/Command.pm
- 'ExtUtils::Command::MM' => '0.03', #lib/ExtUtils/Command/MM.pm
- 'ExtUtils::Constant' => '0.14', #lib/ExtUtils/Constant.pm
- 'ExtUtils::Embed' => '1.250601', #lib/ExtUtils/Embed.pm
- 'ExtUtils::Install' => '1.32', #lib/ExtUtils/Install.pm
- 'ExtUtils::Installed' => '0.08', #lib/ExtUtils/Installed.pm
- 'ExtUtils::Liblist' => '1.01', #lib/ExtUtils/Liblist.pm
- 'ExtUtils::Liblist::Kid'=> '1.3', #lib/ExtUtils/Liblist/Kid.pm
- 'ExtUtils::MakeMaker' => '6.17', #lib/ExtUtils/MakeMaker.pm
- 'ExtUtils::MakeMaker::bytes'=> '0.01', #lib/ExtUtils/MakeMaker/bytes.pm
- 'ExtUtils::MakeMaker::vmsish'=> '0.01', #lib/ExtUtils/MakeMaker/vmsish.pm
- 'ExtUtils::Manifest' => '1.42', #lib/ExtUtils/Manifest.pm
- 'ExtUtils::Miniperl' => undef, #lib/ExtUtils/Miniperl.pm
- 'ExtUtils::Mkbootstrap' => '1.15', #lib/ExtUtils/Mkbootstrap.pm
- 'ExtUtils::Mksymlists' => '1.19', #lib/ExtUtils/Mksymlists.pm
- 'ExtUtils::MM' => '0.04', #lib/ExtUtils/MM.pm
- 'ExtUtils::MM_Any' => '0.07', #lib/ExtUtils/MM_Any.pm
- 'ExtUtils::MM_BeOS' => '1.04', #lib/ExtUtils/MM_BeOS.pm
- 'ExtUtils::MM_Cygwin' => '1.06', #lib/ExtUtils/MM_Cygwin.pm
- 'ExtUtils::MM_DOS' => '0.02', #lib/ExtUtils/MM_DOS.pm
- 'ExtUtils::MM_MacOS' => '1.07', #lib/ExtUtils/MM_MacOS.pm
- 'ExtUtils::MM_NW5' => '2.06', #lib/ExtUtils/MM_NW5.pm
- 'ExtUtils::MM_OS2' => '1.04', #lib/ExtUtils/MM_OS2.pm
- 'ExtUtils::MM_Unix' => '1.42', #lib/ExtUtils/MM_Unix.pm
- 'ExtUtils::MM_UWIN' => '0.02', #lib/ExtUtils/MM_UWIN.pm
- 'ExtUtils::MM_VMS' => '5.70', #lib/ExtUtils/MM_VMS.pm
- 'ExtUtils::MM_Win32' => '1.09', #lib/ExtUtils/MM_Win32.pm
- 'ExtUtils::MM_Win95' => '0.03', #lib/ExtUtils/MM_Win95.pm
- 'ExtUtils::MY' => '0.01', #lib/ExtUtils/MY.pm
- 'ExtUtils::Packlist' => '0.04', #lib/ExtUtils/Packlist.pm
- 'ExtUtils::testlib' => '1.15', #lib/ExtUtils/testlib.pm
- 'ExtUtils::XSSymSet' => '1.0', #vms/ext/XSSymSet.pm
- 'Fatal' => '1.03', #lib/Fatal.pm
- 'Fcntl' => '1.05', #lib/Fcntl.pm
- 'fields' => '2.03', #lib/fields.pm
- 'File::Basename' => '2.72', #lib/File/Basename.pm
- 'FileCache' => '1.03', #lib/FileCache.pm
- 'File::CheckTree' => '4.3', #lib/File/CheckTree.pm
- 'File::Compare' => '1.1003', #lib/File/Compare.pm
- 'File::Copy' => '2.07', #lib/File/Copy.pm
- 'File::DosGlob' => '1.00', #lib/File/DosGlob.pm
- 'File::Find' => '1.06', #lib/File/Find.pm
- 'File::Glob' => '1.02', #lib/File/Glob.pm
- 'FileHandle' => '2.01', #lib/FileHandle.pm
- 'File::Path' => '1.06', #lib/File/Path.pm
- 'File::Spec' => '0.87', #lib/File/Spec.pm
- 'File::Spec::Cygwin' => '1.1', #lib/File/Spec/Cygwin.pm
- 'File::Spec::Epoc' => '1.1', #lib/File/Spec/Epoc.pm
- 'File::Spec::Functions' => '1.3', #lib/File/Spec/Functions.pm
- 'File::Spec::Mac' => '1.4', #lib/File/Spec/Mac.pm
- 'File::Spec::OS2' => '1.2', #lib/File/Spec/OS2.pm
- 'File::Spec::Unix' => '1.5', #lib/File/Spec/Unix.pm
- 'File::Spec::VMS' => '1.4', #lib/File/Spec/VMS.pm
- 'File::Spec::Win32' => '1.4', #lib/File/Spec/Win32.pm
- 'File::stat' => '1.00', #lib/File/stat.pm
- 'File::Temp' => '0.14', #lib/File/Temp.pm
- 'filetest' => '1.01', #lib/filetest.pm
- 'Filter::Simple' => '0.78', #lib/Filter/Simple.pm
- 'Filter::Util::Call' => '1.0601', #lib/Filter/Util/Call.pm
- 'FindBin' => '1.44', #lib/FindBin.pm
- 'GDBM_File' => '1.07', #lib/GDBM_File.pm
- 'Getopt::Long' => '2.34', #lib/Getopt/Long.pm
- 'Getopt::Std' => '1.05', #lib/Getopt/Std.pm
- 'Hash::Util' => '0.05', #lib/Hash/Util.pm
- 'I18N::Collate' => '1.00', #lib/I18N/Collate.pm
- 'I18N::Langinfo' => '0.02', #lib/I18N/Langinfo.pm
- 'I18N::LangTags' => '0.29', #lib/I18N/LangTags.pm
- 'I18N::LangTags::List' => '0.29', #lib/I18N/LangTags/List.pm
- 'if' => '0.03', #lib/if.pm
- 'integer' => '1.00', #lib/integer.pm
- 'IO' => '1.21', #lib/IO.pm
- 'IO::Dir' => '1.04', #lib/IO/Dir.pm
- 'IO::File' => '1.10', #lib/IO/File.pm
- 'IO::Handle' => '1.23', #lib/IO/Handle.pm
- 'IO::Pipe' => '1.122', #lib/IO/Pipe.pm
- 'IO::Poll' => '0.06', #lib/IO/Poll.pm
- 'IO::Seekable' => '1.09', #lib/IO/Seekable.pm
- 'IO::Select' => '1.16', #lib/IO/Select.pm
- 'IO::Socket' => '1.28', #lib/IO/Socket.pm
- 'IO::Socket::INET' => '1.27', #lib/IO/Socket/INET.pm
- 'IO::Socket::UNIX' => '1.21', #lib/IO/Socket/UNIX.pm
- 'IPC::Msg' => '1.02', #lib/IPC/Msg.pm
- 'IPC::Open2' => '1.01', #lib/IPC/Open2.pm
- 'IPC::Open3' => '1.0105', #lib/IPC/Open3.pm
- 'IPC::Semaphore' => '1.02', #lib/IPC/Semaphore.pm
- 'IPC::SysV' => '1.04', #lib/IPC/SysV.pm
- 'JNI' => '0.2', #jpl/JNI/JNI.pm
- 'JPL::AutoLoader' => undef, #jpl/JPL/AutoLoader.pm
- 'JPL::Class' => undef, #jpl/JPL/Class.pm
- 'JPL::Compile' => undef, #jpl/JPL/Compile.pm
- 'less' => '0.01', #lib/less.pm
- 'lib' => '0.5565', #lib/lib.pm
- 'List::Util' => '1.13', #lib/List/Util.pm
- 'locale' => '1.00', #lib/locale.pm
- 'Locale::Constants' => '2.01', #lib/Locale/Constants.pm
- 'Locale::Country' => '2.61', #lib/Locale/Country.pm
- 'Locale::Currency' => '2.21', #lib/Locale/Currency.pm
- 'Locale::Language' => '2.21', #lib/Locale/Language.pm
- 'Locale::Maketext' => '1.06', #lib/Locale/Maketext.pm
- 'Locale::Maketext::GutsLoader'=> undef, #lib/Locale/Maketext/GutsLoader.pm
- 'Locale::Maketext::Guts'=> undef, #lib/Locale/Maketext/Guts.pm
- 'Locale::Script' => '2.21', #lib/Locale/Script.pm
- 'Math::BigFloat' => '1.42', #lib/Math/BigFloat.pm
- 'Math::BigFloat::Trace' => '0.01', #lib/Math/BigFloat/Trace.pm
- 'Math::BigInt' => '1.68', #lib/Math/BigInt.pm
- 'Math::BigInt::Calc' => '0.38', #lib/Math/BigInt/Calc.pm
- 'Math::BigInt::CalcEmu' => '0.02', #lib/Math/BigInt/CalcEmu.pm
- 'Math::BigInt::Trace' => '0.01', #lib/Math/BigInt/Trace.pm
- 'Math::BigRat' => '0.10', #lib/Math/BigRat.pm
- 'Math::Complex' => '1.34', #lib/Math/Complex.pm
- 'Math::Trig' => '1.02', #lib/Math/Trig.pm
- 'Memoize' => '1.01', #lib/Memoize.pm
- 'Memoize::AnyDBM_File' => '0.65', #lib/Memoize/AnyDBM_File.pm
- 'Memoize::Expire' => '1.00', #lib/Memoize/Expire.pm
- 'Memoize::ExpireFile' => '1.01', #lib/Memoize/ExpireFile.pm
- 'Memoize::ExpireTest' => '0.65', #lib/Memoize/ExpireTest.pm
- 'Memoize::NDBM_File' => '0.65', #lib/Memoize/NDBM_File.pm
- 'Memoize::SDBM_File' => '0.65', #lib/Memoize/SDBM_File.pm
- 'Memoize::Storable' => '0.65', #lib/Memoize/Storable.pm
- 'MIME::Base64' => '2.21', #lib/MIME/Base64.pm
- 'MIME::QuotedPrint' => '2.21', #lib/MIME/QuotedPrint.pm
- 'NDBM_File' => '1.05', #lib/NDBM_File.pm
- 'Net::Cmd' => '2.24', #lib/Net/Cmd.pm
- 'Net::Config' => '1.10', #lib/Net/Config.pm
- 'Net::Domain' => '2.19', #lib/Net/Domain.pm
- 'Net::FTP' => '2.72', #lib/Net/FTP.pm
- 'Net::FTP::A' => '1.16', #lib/Net/FTP/A.pm
- 'Net::FTP::dataconn' => '0.11', #lib/Net/FTP/dataconn.pm
- 'Net::FTP::E' => '0.01', #lib/Net/FTP/E.pm
- 'Net::FTP::I' => '1.12', #lib/Net/FTP/I.pm
- 'Net::FTP::L' => '0.01', #lib/Net/FTP/L.pm
- 'Net::hostent' => '1.01', #lib/Net/hostent.pm
- 'Net::netent' => '1.00', #lib/Net/netent.pm
- 'Net::Netrc' => '2.12', #lib/Net/Netrc.pm
- 'Net::NNTP' => '2.22', #lib/Net/NNTP.pm
- 'Net::Ping' => '2.31', #lib/Net/Ping.pm
- 'Net::POP3' => '2.24', #lib/Net/POP3.pm
- 'Net::protoent' => '1.00', #lib/Net/protoent.pm
- 'Net::servent' => '1.01', #lib/Net/servent.pm
- 'Net::SMTP' => '2.26', #lib/Net/SMTP.pm
- 'Net::Time' => '2.09', #lib/Net/Time.pm
- 'NEXT' => '0.60', #lib/NEXT.pm
- 'O' => '1.00', #lib/O.pm
- 'ODBM_File' => '1.04', #ext/ODBM_File/ODBM_File.pm
- 'Opcode' => '1.05', #lib/Opcode.pm
- 'open' => '1.02', #lib/open.pm
- 'ops' => '1.00', #lib/ops.pm
- 'OS2::DLL' => '1.02', #os2/OS2/REXX/DLL/DLL.pm
- 'OS2::ExtAttr' => '0.02', #os2/OS2/ExtAttr/ExtAttr.pm
- 'OS2::PrfDB' => '0.03', #os2/OS2/PrfDB/PrfDB.pm
- 'OS2::Process' => '1.01', #os2/OS2/Process/Process.pm
- 'OS2::REXX' => '1.02', #os2/OS2/REXX/REXX.pm
- 'overload' => '1.01', #lib/overload.pm
- 'PerlIO' => '1.03', #lib/PerlIO.pm
- 'PerlIO::encoding' => '0.07', #lib/PerlIO/encoding.pm
- 'PerlIO::scalar' => '0.02', #lib/PerlIO/scalar.pm
- 'PerlIO::via' => '0.02', #lib/PerlIO/via.pm
- 'PerlIO::via::QuotedPrint'=> '0.06', #lib/PerlIO/via/QuotedPrint.pm
- 'Pod::Checker' => '1.41', #lib/Pod/Checker.pm
- 'Pod::Find' => '0.24', #lib/Pod/Find.pm
- 'Pod::Functions' => '1.02', #lib/Pod/Functions.pm
- 'Pod::Html' => '1.0502', #lib/Pod/Html.pm
- 'Pod::InputObjects' => '1.14', #lib/Pod/InputObjects.pm
- 'Pod::LaTeX' => '0.55', #lib/Pod/LaTeX.pm
- 'Pod::Man' => '1.37', #lib/Pod/Man.pm
- 'Pod::ParseLink' => '1.06', #lib/Pod/ParseLink.pm
- 'Pod::Parser' => '1.14', #lib/Pod/Parser.pm
- 'Pod::ParseUtils' => '0.3', #lib/Pod/ParseUtils.pm
- 'Pod::Perldoc' => '3.12', #lib/Pod/Perldoc.pm
- 'Pod::Perldoc::BaseTo' => undef, #lib/Pod/Perldoc/BaseTo.pm
- 'Pod::Perldoc::GetOptsOO'=> undef, #lib/Pod/Perldoc/GetOptsOO.pm
- 'Pod::Perldoc::ToChecker'=> undef, #lib/Pod/Perldoc/ToChecker.pm
- 'Pod::Perldoc::ToMan' => undef, #lib/Pod/Perldoc/ToMan.pm
- 'Pod::Perldoc::ToNroff' => undef, #lib/Pod/Perldoc/ToNroff.pm
- 'Pod::Perldoc::ToPod' => undef, #lib/Pod/Perldoc/ToPod.pm
- 'Pod::Perldoc::ToRtf' => undef, #lib/Pod/Perldoc/ToRtf.pm
- 'Pod::Perldoc::ToText' => undef, #lib/Pod/Perldoc/ToText.pm
- 'Pod::Perldoc::ToTk' => 'undef', #lib/Pod/Perldoc/ToTk.pm
- 'Pod::Perldoc::ToXml' => undef, #lib/Pod/Perldoc/ToXml.pm
- 'Pod::Plainer' => '0.01', #lib/Pod/Plainer.pm
- 'Pod::PlainText' => '2.02', #lib/Pod/PlainText.pm
- 'Pod::Select' => '1.13', #lib/Pod/Select.pm
- 'Pod::Text' => '2.21', #lib/Pod/Text.pm
- 'Pod::Text::Color' => '1.04', #lib/Pod/Text/Color.pm
- 'Pod::Text::Overstrike' => '1.1', #lib/Pod/Text/Overstrike.pm
- 'Pod::Text::Termcap' => '1.11', #lib/Pod/Text/Termcap.pm
- 'Pod::Usage' => '1.16', #lib/Pod/Usage.pm
- 'POSIX' => '1.07', #lib/POSIX.pm
- 're' => '0.04', #lib/re.pm
- 'Safe' => '2.10', #lib/Safe.pm
- 'Scalar::Util' => '1.13', #lib/Scalar/Util.pm
- 'SDBM_File' => '1.04', #lib/SDBM_File.pm
- 'Search::Dict' => '1.02', #lib/Search/Dict.pm
- 'SelectSaver' => '1.00', #lib/SelectSaver.pm
- 'SelfLoader' => '1.0904', #lib/SelfLoader.pm
- 'Shell' => '0.5', #lib/Shell.pm
- 'sigtrap' => '1.02', #lib/sigtrap.pm
- 'Socket' => '1.76', #lib/Socket.pm
- 'sort' => '1.02', #lib/sort.pm
- 'Storable' => '2.09', #lib/Storable.pm
- 'strict' => '1.03', #lib/strict.pm
- 'subs' => '1.00', #lib/subs.pm
- 'Switch' => '2.10', #lib/Switch.pm
- 'Symbol' => '1.05', #lib/Symbol.pm
- 'Sys::Hostname' => '1.11', #lib/Sys/Hostname.pm
- 'Sys::Syslog' => '0.04', #lib/Sys/Syslog.pm
- 'Term::ANSIColor' => '1.07', #lib/Term/ANSIColor.pm
- 'Term::Cap' => '1.08', #lib/Term/Cap.pm
- 'Term::Complete' => '1.401', #lib/Term/Complete.pm
- 'Term::ReadLine' => '1.01', #lib/Term/ReadLine.pm
- 'Test' => '1.24', #lib/Test.pm
- 'Test::Builder' => '0.17', #lib/Test/Builder.pm
- 'Test::Harness' => '2.40', #lib/Test/Harness.pm
- 'Test::Harness::Assert' => '0.02', #lib/Test/Harness/Assert.pm
- 'Test::Harness::Iterator'=> '0.02', #lib/Test/Harness/Iterator.pm
- 'Test::Harness::Straps' => '0.19', #lib/Test/Harness/Straps.pm
- 'Test::More' => '0.47', #lib/Test/More.pm
- 'Test::Simple' => '0.47', #lib/Test/Simple.pm
- 'Text::Abbrev' => '1.01', #lib/Text/Abbrev.pm
- 'Text::Balanced' => '1.95', #lib/Text/Balanced.pm
- 'Text::ParseWords' => '3.21', #lib/Text/ParseWords.pm
- 'Text::Soundex' => '1.01', #lib/Text/Soundex.pm
- 'Text::Tabs' => '98.112801', #lib/Text/Tabs.pm
- 'Text::Wrap' => '2001.09291', #lib/Text/Wrap.pm
- 'Thread' => '2.00', #lib/Thread.pm
- 'Thread::Queue' => '2.00', #lib/Thread/Queue.pm
- 'threads' => '1.01', #lib/threads.pm
- 'Thread::Semaphore' => '2.01', #lib/Thread/Semaphore.pm
- 'Thread::Signal' => '1.00', #./ext/Thread/Thread/Signal.pm
- 'Thread::Specific' => '1.00', #./ext/Thread/Thread/Specific.pm
- 'threads::shared' => '0.92', #lib/threads/shared.pm
- 'Tie::Array' => '1.03', #lib/Tie/Array.pm
- 'Tie::File' => '0.97', #lib/Tie/File.pm
- 'Tie::Handle' => '4.1', #lib/Tie/Handle.pm
- 'Tie::Hash' => '1.01', #lib/Tie/Hash.pm
- 'Tie::Memoize' => '1.0', #lib/Tie/Memoize.pm
- 'Tie::RefHash' => '1.31', #lib/Tie/RefHash.pm
- 'Tie::Scalar' => '1.00', #lib/Tie/Scalar.pm
- 'Tie::SubstrHash' => '1.00', #lib/Tie/SubstrHash.pm
- 'Time::gmtime' => '1.02', #lib/Time/gmtime.pm
- 'Time::HiRes' => '1.52', #lib/Time/HiRes.pm
- 'Time::Local' => '1.07', #lib/Time/Local.pm
- 'Time::localtime' => '1.02', #lib/Time/localtime.pm
- 'Time::tm' => '1.00', #lib/Time/tm.pm
- 'Unicode' => '4.0.0', # lib/unicore/version
- 'Unicode::Collate' => '0.33', #lib/Unicode/Collate.pm
- 'Unicode::Normalize' => '0.28', #lib/Unicode/Normalize.pm
- 'Unicode::UCD' => '0.21', #lib/Unicode/UCD.pm
- 'UNIVERSAL' => '1.01', #lib/UNIVERSAL.pm
- 'User::grent' => '1.00', #lib/User/grent.pm
- 'User::pwent' => '1.00', #lib/User/pwent.pm
- 'utf8' => '1.02', #lib/utf8.pm
- 'vars' => '1.01', #lib/vars.pm
- 'VMS::DCLsym' => '1.02', #vms/ext/DCLsym/DCLsym.pm
- 'VMS::Filespec' => '1.11', #vms/ext/Filespec.pm
- 'VMS::Stdio' => '2.3', #vms/ext/Stdio/Stdio.pm
- 'vmsish' => '1.01', #lib/vmsish.pm
- 'warnings' => '1.03', #lib/warnings.pm
- 'warnings::register' => '1.00', #lib/warnings/register.pm
- 'XS::APItest' => '0.03', #lib/XS/APItest.pm
- 'XSLoader' => '0.02', #lib/XSLoader.pm
- 'XS::Typemap' => '0.01', #lib/XS/Typemap.pm
- },
-
- 5.009 => {
- 'AnyDBM_File' => '1.00', #lib/AnyDBM_File.pm
- 'assertions' => '0.01', #lib/assertions.pm
- 'assertions::activate' => '0.01', #lib/assertions/activate.pm
- 'Attribute::Handlers' => '0.78', #lib/Attribute/Handlers.pm
- 'attributes' => '0.06', #lib/attributes.pm
- 'attrs' => '1.01', #lib/attrs.pm
- 'AutoLoader' => '5.60', #lib/AutoLoader.pm
- 'AutoSplit' => '1.04', #lib/AutoSplit.pm
- 'autouse' => '1.03', #lib/autouse.pm
- 'B' => '1.03', #lib/B.pm
- 'B::Asmdata' => '1.01', #lib/B/Asmdata.pm
- 'B::Assembler' => '0.06', #lib/B/Assembler.pm
- 'B::Bblock' => '1.02', #lib/B/Bblock.pm
- 'B::Bytecode' => '1.01', #lib/B/Bytecode.pm
- 'B::C' => '1.03', #lib/B/C.pm
- 'B::CC' => '1.00', #lib/B/CC.pm
- 'B::Concise' => '0.57', #lib/B/Concise.pm
- 'B::Debug' => '1.01', #lib/B/Debug.pm
- 'B::Deparse' => '0.65', #lib/B/Deparse.pm
- 'B::Disassembler' => '1.03', #lib/B/Disassembler.pm
- 'B::Lint' => '1.02', #lib/B/Lint.pm
- 'B::Showlex' => '1.00', #lib/B/Showlex.pm
- 'B::Stackobj' => '1.00', #lib/B/Stackobj.pm
- 'B::Stash' => '1.00', #lib/B/Stash.pm
- 'B::Terse' => '1.02', #lib/B/Terse.pm
- 'B::Xref' => '1.01', #lib/B/Xref.pm
- 'base' => '2.03', #lib/base.pm
- 'Benchmark' => '1.051', #lib/Benchmark.pm
- 'bigint' => '0.04', #lib/bigint.pm
- 'bignum' => '0.14', #lib/bignum.pm
- 'bigrat' => '0.06', #lib/bigrat.pm
- 'blib' => '1.02', #lib/blib.pm
- 'ByteLoader' => '0.05', #lib/ByteLoader.pm
- 'bytes' => '1.01', #lib/bytes.pm
- 'Carp' => '1.01', #lib/Carp.pm
- 'Carp::Heavy' => '1.01', #lib/Carp/Heavy.pm
- 'CGI' => '3.00', #lib/CGI.pm
- 'CGI::Apache' => '1.00', #lib/CGI/Apache.pm
- 'CGI::Carp' => '1.26', #lib/CGI/Carp.pm
- 'CGI::Cookie' => '1.24', #lib/CGI/Cookie.pm
- 'CGI::Fast' => '1.041', #lib/CGI/Fast.pm
- 'CGI::Pretty' => '1.07_00', #lib/CGI/Pretty.pm
- 'CGI::Push' => '1.04', #lib/CGI/Push.pm
- 'CGI::Switch' => '1.00', #lib/CGI/Switch.pm
- 'CGI::Util' => '1.31', #lib/CGI/Util.pm
- 'charnames' => '1.02', #lib/charnames.pm
- 'Class::ISA' => '0.32', #lib/Class/ISA.pm
- 'Class::Struct' => '0.63', #lib/Class/Struct.pm
- 'Config' => undef, #lib/Config.pm
- 'constant' => '1.04', #lib/constant.pm
- 'CPAN' => '1.76_01', #lib/CPAN.pm
- 'CPAN::FirstTime' => '1.60 ', #lib/CPAN/FirstTime.pm
- 'CPAN::Nox' => '1.03', #lib/CPAN/Nox.pm
- 'Cwd' => '2.08', #lib/Cwd.pm
- 'Data::Dumper' => '2.121', #lib/Data/Dumper.pm
- 'DB' => '1.0', #lib/DB.pm
- 'DB_File' => '1.806', #lib/DB_File.pm
- 'Devel::DProf' => '20030813.00', #lib/Devel/DProf.pm
- 'Devel::Peek' => '1.01', #lib/Devel/Peek.pm
- 'Devel::PPPort' => '2.008', #lib/Devel/PPPort.pm
- 'Devel::SelfStubber' => '1.03', #lib/Devel/SelfStubber.pm
- 'diagnostics' => '1.11', #lib/diagnostics.pm
- 'Digest' => '1.02', #lib/Digest.pm
- 'Digest::MD5' => '2.30', #lib/Digest/MD5.pm
- 'DirHandle' => '1.00', #lib/DirHandle.pm
- 'Dumpvalue' => '1.11', #lib/Dumpvalue.pm
- 'DynaLoader' => '1.04', #lib/DynaLoader.pm
- 'Encode' => '1.9801', #lib/Encode.pm
- 'Encode::Alias' => '1.38', #lib/Encode/Alias.pm
- 'Encode::Byte' => '1.23', #lib/Encode/Byte.pm
- 'Encode::CJKConstants' => '1.02', #lib/Encode/CJKConstants.pm
- 'Encode::CN' => '1.24', #lib/Encode/CN.pm
- 'Encode::CN::HZ' => '1.05', #lib/Encode/CN/HZ.pm
- 'Encode::Config' => '1.07', #lib/Encode/Config.pm
- 'Encode::EBCDIC' => '1.21', #lib/Encode/EBCDIC.pm
- 'Encode::Encoder' => '0.07', #lib/Encode/Encoder.pm
- 'Encode::Encoding' => '1.33', #lib/Encode/Encoding.pm
- 'Encode::Guess' => '1.09', #lib/Encode/Guess.pm
- 'Encode::JP' => '1.25', #lib/Encode/JP.pm
- 'Encode::JP::H2Z' => '1.02', #lib/Encode/JP/H2Z.pm
- 'Encode::JP::JIS7' => '1.12', #lib/Encode/JP/JIS7.pm
- 'Encode::KR' => '1.23', #lib/Encode/KR.pm
- 'Encode::KR::2022_KR' => '1.06', #lib/Encode/KR/2022_KR.pm
- 'Encode::MIME::Header' => '1.09', #lib/Encode/MIME/Header.pm
- 'Encode::Symbol' => '1.22', #lib/Encode/Symbol.pm
- 'Encode::TW' => '1.26', #lib/Encode/TW.pm
- 'Encode::Unicode' => '1.40', #lib/Encode/Unicode.pm
- 'Encode::Unicode::UTF7' => '0.02', #lib/Encode/Unicode/UTF7.pm
- 'encoding' => '1.47', #lib/encoding.pm
- 'English' => '1.02', #lib/English.pm
- 'Env' => '1.00', #lib/Env.pm
- 'Errno' => '1.09_00', #lib/Errno.pm
- 'Exporter' => '5.567', #lib/Exporter.pm
- 'Exporter::Heavy' => '5.567', #lib/Exporter/Heavy.pm
- 'ExtUtils::Command' => '1.05', #lib/ExtUtils/Command.pm
- 'ExtUtils::Command::MM' => '0.03', #lib/ExtUtils/Command/MM.pm
- 'ExtUtils::Constant' => '0.14', #lib/ExtUtils/Constant.pm
- 'ExtUtils::Embed' => '1.250601', #lib/ExtUtils/Embed.pm
- 'ExtUtils::Install' => '1.32', #lib/ExtUtils/Install.pm
- 'ExtUtils::Installed' => '0.08', #lib/ExtUtils/Installed.pm
- 'ExtUtils::Liblist' => '1.01', #lib/ExtUtils/Liblist.pm
- 'ExtUtils::Liblist::Kid'=> '1.3', #lib/ExtUtils/Liblist/Kid.pm
- 'ExtUtils::MakeMaker' => '6.17', #lib/ExtUtils/MakeMaker.pm
- 'ExtUtils::MakeMaker::bytes'=> '0.01', #lib/ExtUtils/MakeMaker/bytes.pm
- 'ExtUtils::MakeMaker::vmsish'=> '0.01', #lib/ExtUtils/MakeMaker/vmsish.pm
- 'ExtUtils::Manifest' => '1.42', #lib/ExtUtils/Manifest.pm
- 'ExtUtils::Miniperl' => undef, #lib/ExtUtils/Miniperl.pm
- 'ExtUtils::Mkbootstrap' => '1.15', #lib/ExtUtils/Mkbootstrap.pm
- 'ExtUtils::Mksymlists' => '1.19', #lib/ExtUtils/Mksymlists.pm
- 'ExtUtils::MM' => '0.04', #lib/ExtUtils/MM.pm
- 'ExtUtils::MM_Any' => '0.07', #lib/ExtUtils/MM_Any.pm
- 'ExtUtils::MM_BeOS' => '1.04', #lib/ExtUtils/MM_BeOS.pm
- 'ExtUtils::MM_Cygwin' => '1.06', #lib/ExtUtils/MM_Cygwin.pm
- 'ExtUtils::MM_DOS' => '0.02', #lib/ExtUtils/MM_DOS.pm
- 'ExtUtils::MM_MacOS' => '1.07', #lib/ExtUtils/MM_MacOS.pm
- 'ExtUtils::MM_NW5' => '2.06', #lib/ExtUtils/MM_NW5.pm
- 'ExtUtils::MM_OS2' => '1.04', #lib/ExtUtils/MM_OS2.pm
- 'ExtUtils::MM_Unix' => '1.42', #lib/ExtUtils/MM_Unix.pm
- 'ExtUtils::MM_UWIN' => '0.02', #lib/ExtUtils/MM_UWIN.pm
- 'ExtUtils::MM_VMS' => '5.70', #lib/ExtUtils/MM_VMS.pm
- 'ExtUtils::MM_Win32' => '1.09', #lib/ExtUtils/MM_Win32.pm
- 'ExtUtils::MM_Win95' => '0.03', #lib/ExtUtils/MM_Win95.pm
- 'ExtUtils::MY' => '0.01', #lib/ExtUtils/MY.pm
- 'ExtUtils::Packlist' => '0.04', #lib/ExtUtils/Packlist.pm
- 'ExtUtils::testlib' => '1.15', #lib/ExtUtils/testlib.pm
- 'ExtUtils::XSSymSet' => '1.0', #vms/ext/XSSymSet.pm
- 'Fatal' => '1.04', #lib/Fatal.pm
- 'Fcntl' => '1.05', #lib/Fcntl.pm
- 'fields' => '2.03', #lib/fields.pm
- 'File::Basename' => '2.72', #lib/File/Basename.pm
- 'File::CheckTree' => '4.2', #lib/File/CheckTree.pm
- 'File::Compare' => '1.1003', #lib/File/Compare.pm
- 'File::Copy' => '2.06', #lib/File/Copy.pm
- 'File::DosGlob' => '1.00', #lib/File/DosGlob.pm
- 'File::Find' => '1.05', #lib/File/Find.pm
- 'File::Glob' => '1.02', #lib/File/Glob.pm
- 'File::Path' => '1.06', #lib/File/Path.pm
- 'File::Spec' => '0.86', #lib/File/Spec.pm
- 'File::Spec::Cygwin' => '1.1', #lib/File/Spec/Cygwin.pm
- 'File::Spec::Epoc' => '1.1', #lib/File/Spec/Epoc.pm
- 'File::Spec::Functions' => '1.3', #lib/File/Spec/Functions.pm
- 'File::Spec::Mac' => '1.4', #lib/File/Spec/Mac.pm
- 'File::Spec::OS2' => '1.2', #lib/File/Spec/OS2.pm
- 'File::Spec::Unix' => '1.5', #lib/File/Spec/Unix.pm
- 'File::Spec::VMS' => '1.4', #lib/File/Spec/VMS.pm
- 'File::Spec::Win32' => '1.4', #lib/File/Spec/Win32.pm
- 'File::stat' => '1.00', #lib/File/stat.pm
- 'File::Temp' => '0.14', #lib/File/Temp.pm
- 'FileCache' => '1.03', #lib/FileCache.pm
- 'FileHandle' => '2.01', #lib/FileHandle.pm
- 'filetest' => '1.01', #lib/filetest.pm
- 'Filter::Simple' => '0.78', #lib/Filter/Simple.pm
- 'Filter::Util::Call' => '1.0601', #lib/Filter/Util/Call.pm
- 'FindBin' => '1.43', #lib/FindBin.pm
- 'GDBM_File' => '1.07', #ext/GDBM_File/GDBM_File.pm
- 'Getopt::Long' => '2.34', #lib/Getopt/Long.pm
- 'Getopt::Std' => '1.04', #lib/Getopt/Std.pm
- 'Hash::Util' => '0.05', #lib/Hash/Util.pm
- 'I18N::Collate' => '1.00', #lib/I18N/Collate.pm
- 'I18N::Langinfo' => '0.02', #lib/I18N/Langinfo.pm
- 'I18N::LangTags' => '0.29', #lib/I18N/LangTags.pm
- 'I18N::LangTags::List' => '0.29', #lib/I18N/LangTags/List.pm
- 'if' => '0.03', #lib/if.pm
- 'integer' => '1.00', #lib/integer.pm
- 'IO' => '1.21', #lib/IO.pm
- 'IO::Dir' => '1.04', #lib/IO/Dir.pm
- 'IO::File' => '1.10', #lib/IO/File.pm
- 'IO::Handle' => '1.23', #lib/IO/Handle.pm
- 'IO::Pipe' => '1.122', #lib/IO/Pipe.pm
- 'IO::Poll' => '0.06', #lib/IO/Poll.pm
- 'IO::Seekable' => '1.09', #lib/IO/Seekable.pm
- 'IO::Select' => '1.16', #lib/IO/Select.pm
- 'IO::Socket' => '1.28', #lib/IO/Socket.pm
- 'IO::Socket::INET' => '1.27', #lib/IO/Socket/INET.pm
- 'IO::Socket::UNIX' => '1.21', #lib/IO/Socket/UNIX.pm
- 'IPC::Msg' => '1.02', #lib/IPC/Msg.pm
- 'IPC::Open2' => '1.01', #lib/IPC/Open2.pm
- 'IPC::Open3' => '1.0105', #lib/IPC/Open3.pm
- 'IPC::Semaphore' => '1.02', #lib/IPC/Semaphore.pm
- 'IPC::SysV' => '1.04', #lib/IPC/SysV.pm
- 'JNI' => '0.2', #jpl/JNI/JNI.pm
- 'JPL::AutoLoader' => undef, #jpl/JPL/AutoLoader.pm
- 'JPL::Class' => undef, #jpl/JPL/Class.pm
- 'JPL::Compile' => undef, #jpl/JPL/Compile.pm
- 'less' => '0.01', #lib/less.pm
- 'lib' => '0.5565', #lib/lib.pm
- 'List::Util' => '1.13', #lib/List/Util.pm
- 'locale' => '1.00', #lib/locale.pm
- 'Locale::Constants' => '2.01', #lib/Locale/Constants.pm
- 'Locale::Country' => '2.61', #lib/Locale/Country.pm
- 'Locale::Currency' => '2.21', #lib/Locale/Currency.pm
- 'Locale::Language' => '2.21', #lib/Locale/Language.pm
- 'Locale::Maketext' => '1.06', #lib/Locale/Maketext.pm
- 'Locale::Maketext::Guts'=> undef, #lib/Locale/Maketext/Guts.pm
- 'Locale::Maketext::GutsLoader'=> undef, #lib/Locale/Maketext/GutsLoader.pm
- 'Locale::Script' => '2.21', #lib/Locale/Script.pm
- 'Math::BigFloat' => '1.40', #lib/Math/BigFloat.pm
- 'Math::BigFloat::Trace' => '0.01', #lib/Math/BigFloat/Trace.pm
- 'Math::BigInt' => '1.66', #lib/Math/BigInt.pm
- 'Math::BigInt::Calc' => '0.36', #lib/Math/BigInt/Calc.pm
- 'Math::BigInt::Scalar' => '0.11', #lib/Math/BigInt/Scalar.pm
- 'Math::BigInt::Trace' => '0.01', #lib/Math/BigInt/Trace.pm
- 'Math::BigRat' => '0.10', #lib/Math/BigRat.pm
- 'Math::Complex' => '1.34', #lib/Math/Complex.pm
- 'Math::Trig' => '1.02', #lib/Math/Trig.pm
- 'Memoize' => '1.01', #lib/Memoize.pm
- 'Memoize::AnyDBM_File' => '0.65', #lib/Memoize/AnyDBM_File.pm
- 'Memoize::Expire' => '1.00', #lib/Memoize/Expire.pm
- 'Memoize::ExpireFile' => '1.01', #lib/Memoize/ExpireFile.pm
- 'Memoize::ExpireTest' => '0.65', #lib/Memoize/ExpireTest.pm
- 'Memoize::NDBM_File' => '0.65', #lib/Memoize/NDBM_File.pm
- 'Memoize::SDBM_File' => '0.65', #lib/Memoize/SDBM_File.pm
- 'Memoize::Storable' => '0.65', #lib/Memoize/Storable.pm
- 'MIME::Base64' => '2.21', #lib/MIME/Base64.pm
- 'MIME::QuotedPrint' => '2.21', #lib/MIME/QuotedPrint.pm
- 'NDBM_File' => '1.05', #ext/NDBM_File/NDBM_File.pm
- 'Net::Cmd' => '2.24', #lib/Net/Cmd.pm
- 'Net::Config' => '1.10', #lib/Net/Config.pm
- 'Net::Domain' => '2.19', #lib/Net/Domain.pm
- 'Net::FTP' => '2.72', #lib/Net/FTP.pm
- 'Net::FTP::A' => '1.16', #lib/Net/FTP/A.pm
- 'Net::FTP::dataconn' => '0.11', #lib/Net/FTP/dataconn.pm
- 'Net::FTP::E' => '0.01', #lib/Net/FTP/E.pm
- 'Net::FTP::I' => '1.12', #lib/Net/FTP/I.pm
- 'Net::FTP::L' => '0.01', #lib/Net/FTP/L.pm
- 'Net::hostent' => '1.01', #lib/Net/hostent.pm
- 'Net::netent' => '1.00', #lib/Net/netent.pm
- 'Net::Netrc' => '2.12', #lib/Net/Netrc.pm
- 'Net::NNTP' => '2.22', #lib/Net/NNTP.pm
- 'Net::Ping' => '2.31', #lib/Net/Ping.pm
- 'Net::POP3' => '2.24', #lib/Net/POP3.pm
- 'Net::protoent' => '1.00', #lib/Net/protoent.pm
- 'Net::servent' => '1.01', #lib/Net/servent.pm
- 'Net::SMTP' => '2.26', #lib/Net/SMTP.pm
- 'Net::Time' => '2.09', #lib/Net/Time.pm
- 'NEXT' => '0.60', #lib/NEXT.pm
- 'O' => '1.00', #lib/O.pm
- 'ODBM_File' => '1.04', #ext/ODBM_File/ODBM_File.pm
- 'Opcode' => '1.06', #lib/Opcode.pm
- 'open' => '1.02', #lib/open.pm
- 'ops' => '1.00', #lib/ops.pm
- 'OS2::DLL' => '1.02', #os2/OS2/REXX/DLL/DLL.pm
- 'OS2::ExtAttr' => '0.02', #os2/OS2/ExtAttr/ExtAttr.pm
- 'OS2::PrfDB' => '0.03', #os2/OS2/PrfDB/PrfDB.pm
- 'OS2::Process' => '1.01', #os2/OS2/Process/Process.pm
- 'OS2::REXX' => '1.02', #os2/OS2/REXX/REXX.pm
- 'overload' => '1.02', #lib/overload.pm
- 'PerlIO' => '1.02', #lib/PerlIO.pm
- 'PerlIO::encoding' => '0.07', #lib/PerlIO/encoding.pm
- 'PerlIO::scalar' => '0.02', #lib/PerlIO/scalar.pm
- 'PerlIO::via' => '0.02', #lib/PerlIO/via.pm
- 'PerlIO::via::QuotedPrint'=> '0.05', #lib/PerlIO/via/QuotedPrint.pm
- 'Pod::Checker' => '1.41', #lib/Pod/Checker.pm
- 'Pod::Find' => '0.24', #lib/Pod/Find.pm
- 'Pod::Functions' => '1.02', #lib/Pod/Functions.pm
- 'Pod::Html' => '1.0501', #lib/Pod/Html.pm
- 'Pod::InputObjects' => '1.14', #lib/Pod/InputObjects.pm
- 'Pod::LaTeX' => '0.55', #lib/Pod/LaTeX.pm
- 'Pod::Man' => '1.37', #lib/Pod/Man.pm
- 'Pod::ParseLink' => '1.06', #lib/Pod/ParseLink.pm
- 'Pod::Parser' => '1.13', #lib/Pod/Parser.pm
- 'Pod::ParseUtils' => '0.3', #lib/Pod/ParseUtils.pm
- 'Pod::Perldoc' => '3.11', #lib/Pod/Perldoc.pm
- 'Pod::Perldoc::BaseTo' => undef, #lib/Pod/Perldoc/BaseTo.pm
- 'Pod::Perldoc::GetOptsOO'=> undef, #lib/Pod/Perldoc/GetOptsOO.pm
- 'Pod::Perldoc::ToChecker'=> undef, #lib/Pod/Perldoc/ToChecker.pm
- 'Pod::Perldoc::ToMan' => undef, #lib/Pod/Perldoc/ToMan.pm
- 'Pod::Perldoc::ToNroff' => undef, #lib/Pod/Perldoc/ToNroff.pm
- 'Pod::Perldoc::ToPod' => undef, #lib/Pod/Perldoc/ToPod.pm
- 'Pod::Perldoc::ToRtf' => undef, #lib/Pod/Perldoc/ToRtf.pm
- 'Pod::Perldoc::ToText' => undef, #lib/Pod/Perldoc/ToText.pm
- 'Pod::Perldoc::ToTk' => 'undef', #lib/Pod/Perldoc/ToTk.pm
- 'Pod::Perldoc::ToXml' => undef, #lib/Pod/Perldoc/ToXml.pm
- 'Pod::Plainer' => '0.01', #lib/Pod/Plainer.pm
- 'Pod::PlainText' => '2.01', #lib/Pod/PlainText.pm
- 'Pod::Select' => '1.13', #lib/Pod/Select.pm
- 'Pod::Text' => '2.21', #lib/Pod/Text.pm
- 'Pod::Text::Color' => '1.04', #lib/Pod/Text/Color.pm
- 'Pod::Text::Overstrike' => '1.1', #lib/Pod/Text/Overstrike.pm
- 'Pod::Text::Termcap' => '1.11', #lib/Pod/Text/Termcap.pm
- 'Pod::Usage' => '1.16', #lib/Pod/Usage.pm
- 'POSIX' => '1.06', #lib/POSIX.pm
- 're' => '0.04', #lib/re.pm
- 'Safe' => '2.10', #lib/Safe.pm
- 'Scalar::Util' => '1.13', #lib/Scalar/Util.pm
- 'SDBM_File' => '1.04', #lib/SDBM_File.pm
- 'Search::Dict' => '1.02', #lib/Search/Dict.pm
- 'SelectSaver' => '1.00', #lib/SelectSaver.pm
- 'SelfLoader' => '1.0904', #lib/SelfLoader.pm
- 'Shell' => '0.5', #lib/Shell.pm
- 'sigtrap' => '1.02', #lib/sigtrap.pm
- 'Socket' => '1.76', #lib/Socket.pm
- 'sort' => '1.02', #lib/sort.pm
- 'Storable' => '2.08', #lib/Storable.pm
- 'strict' => '1.03', #lib/strict.pm
- 'subs' => '1.00', #lib/subs.pm
- 'Switch' => '2.10', #lib/Switch.pm
- 'Symbol' => '1.05', #lib/Symbol.pm
- 'Sys::Hostname' => '1.11', #lib/Sys/Hostname.pm
- 'Sys::Syslog' => '0.04', #lib/Sys/Syslog.pm
- 'Term::ANSIColor' => '1.07', #lib/Term/ANSIColor.pm
- 'Term::Cap' => '1.08', #lib/Term/Cap.pm
- 'Term::Complete' => '1.401', #lib/Term/Complete.pm
- 'Term::ReadLine' => '1.01', #lib/Term/ReadLine.pm
- 'Test' => '1.24', #lib/Test.pm
- 'Test::Builder' => '0.17', #lib/Test/Builder.pm
- 'Test::Harness' => '2.30', #lib/Test/Harness.pm
- 'Test::Harness::Assert' => '0.01', #lib/Test/Harness/Assert.pm
- 'Test::Harness::Iterator'=> '0.01', #lib/Test/Harness/Iterator.pm
- 'Test::Harness::Straps' => '0.15', #lib/Test/Harness/Straps.pm
- 'Test::More' => '0.47', #lib/Test/More.pm
- 'Test::Simple' => '0.47', #lib/Test/Simple.pm
- 'Text::Abbrev' => '1.01', #lib/Text/Abbrev.pm
- 'Text::Balanced' => '1.95', #lib/Text/Balanced.pm
- 'Text::ParseWords' => '3.21', #lib/Text/ParseWords.pm
- 'Text::Soundex' => '1.01', #lib/Text/Soundex.pm
- 'Text::Tabs' => '98.112801', #lib/Text/Tabs.pm
- 'Text::Wrap' => '2001.09291', #lib/Text/Wrap.pm
- 'Thread' => '2.00', #lib/Thread.pm
- 'Thread::Queue' => '2.00', #lib/Thread/Queue.pm
- 'Thread::Semaphore' => '2.01', #lib/Thread/Semaphore.pm
- 'Thread::Signal' => '1.00', #./ext/Thread/Thread/Signal.pm
- 'Thread::Specific' => '1.00', #./ext/Thread/Thread/Specific.pm
- 'threads' => '1.00', #lib/threads.pm
- 'threads::shared' => '0.91', #lib/threads/shared.pm
- 'Tie::Array' => '1.03', #lib/Tie/Array.pm
- 'Tie::File' => '0.97', #lib/Tie/File.pm
- 'Tie::Handle' => '4.1', #lib/Tie/Handle.pm
- 'Tie::Hash' => '1.00', #lib/Tie/Hash.pm
- 'Tie::Memoize' => '1.0', #lib/Tie/Memoize.pm
- 'Tie::RefHash' => '1.31', #lib/Tie/RefHash.pm
- 'Tie::Scalar' => '1.00', #lib/Tie/Scalar.pm
- 'Tie::SubstrHash' => '1.00', #lib/Tie/SubstrHash.pm
- 'Time::gmtime' => '1.02', #lib/Time/gmtime.pm
- 'Time::HiRes' => '1.51', #lib/Time/HiRes.pm
- 'Time::Local' => '1.07', #lib/Time/Local.pm
- 'Time::localtime' => '1.02', #lib/Time/localtime.pm
- 'Time::tm' => '1.00', #lib/Time/tm.pm
- 'Unicode' => '4.0.0', #lib/unicore/version
- 'Unicode::Collate' => '0.28', #lib/Unicode/Collate.pm
- 'Unicode::Normalize' => '0.23', #lib/Unicode/Normalize.pm
- 'Unicode::UCD' => '0.21', #lib/Unicode/UCD.pm
- 'UNIVERSAL' => '1.01', #lib/UNIVERSAL.pm
- 'User::grent' => '1.00', #lib/User/grent.pm
- 'User::pwent' => '1.00', #lib/User/pwent.pm
- 'utf8' => '1.02', #lib/utf8.pm
- 'vars' => '1.01', #lib/vars.pm
- 'version' => '0.29', #lib/version.pm
- 'VMS::DCLsym' => '1.02', #vms/ext/DCLsym/DCLsym.pm
- 'VMS::Filespec' => '1.11', #vms/ext/Filespec.pm
- 'VMS::Stdio' => '2.3', #vms/ext/Stdio/Stdio.pm
- 'vmsish' => '1.01', #lib/vmsish.pm
- 'warnings' => '1.03', #lib/warnings.pm
- 'warnings::register' => '1.00', #lib/warnings/register.pm
- 'XS::APItest' => '0.02', #lib/XS/APItest.pm
- 'XS::Typemap' => '0.01', #lib/XS/Typemap.pm
- 'XSLoader' => '0.03', #lib/XSLoader.pm
- },
-
- 5.009001 => {
- 'AnyDBM_File' => '1.00', #lib/AnyDBM_File.pm
- 'assertions' => '0.01', #lib/assertions.pm
- 'assertions::activate' => '0.01', #lib/assertions/activate.pm
- 'Attribute::Handlers' => '0.78_01', #lib/Attribute/Handlers.pm
- 'attributes' => '0.06', #lib/attributes.pm
- 'attrs' => '1.01', #lib/attrs.pm
- 'AutoLoader' => '5.60', #lib/AutoLoader.pm
- 'AutoSplit' => '1.04', #lib/AutoSplit.pm
- 'autouse' => '1.03', #lib/autouse.pm
- 'B' => '1.05', #lib/B.pm
- 'base' => '2.04', #lib/base.pm
- 'B::Asmdata' => '1.01', #lib/B/Asmdata.pm
- 'B::Assembler' => '0.06', #lib/B/Assembler.pm
- 'B::Bblock' => '1.02', #lib/B/Bblock.pm
- 'B::Bytecode' => '1.01', #lib/B/Bytecode.pm
- 'B::C' => '1.04', #lib/B/C.pm
- 'B::CC' => '1.00', #lib/B/CC.pm
- 'B::Concise' => '0.59', #lib/B/Concise.pm
- 'B::Debug' => '1.02', #lib/B/Debug.pm
- 'B::Deparse' => '0.65', #lib/B/Deparse.pm
- 'B::Disassembler' => '1.03', #lib/B/Disassembler.pm
- 'Benchmark' => '1.06', #lib/Benchmark.pm
- 'bigint' => '0.05', #lib/bigint.pm
- 'bignum' => '0.15', #lib/bignum.pm
- 'bigrat' => '0.06', #lib/bigrat.pm
- 'blib' => '1.02', #lib/blib.pm
- 'B::Lint' => '1.02', #lib/B/Lint.pm
- 'B::Showlex' => '1.00', #lib/B/Showlex.pm
- 'B::Stackobj' => '1.00', #lib/B/Stackobj.pm
- 'B::Stash' => '1.00', #lib/B/Stash.pm
- 'B::Terse' => '1.02', #lib/B/Terse.pm
- 'B::Xref' => '1.01', #lib/B/Xref.pm
- 'ByteLoader' => '0.05', #lib/ByteLoader.pm
- 'bytes' => '1.01', #lib/bytes.pm
- 'Carp' => '1.02', #lib/Carp.pm
- 'Carp::Heavy' => '1.01', #lib/Carp/Heavy.pm
- 'CGI' => '3.04', #lib/CGI.pm
- 'CGI::Apache' => '1.00', #lib/CGI/Apache.pm
- 'CGI::Carp' => '1.27', #lib/CGI/Carp.pm
- 'CGI::Cookie' => '1.24', #lib/CGI/Cookie.pm
- 'CGI::Fast' => '1.05', #lib/CGI/Fast.pm
- 'CGI::Pretty' => '1.08', #lib/CGI/Pretty.pm
- 'CGI::Push' => '1.04', #lib/CGI/Push.pm
- 'CGI::Switch' => '1.00', #lib/CGI/Switch.pm
- 'CGI::Util' => '1.4', #lib/CGI/Util.pm
- 'charnames' => '1.03', #lib/charnames.pm
- 'Class::ISA' => '0.32', #lib/Class/ISA.pm
- 'Class::Struct' => '0.63', #lib/Class/Struct.pm
- 'Config' => undef, #lib/Config.pm
- 'constant' => '1.04', #lib/constant.pm
- 'CPAN' => '1.76_01', #lib/CPAN.pm
- 'CPAN::FirstTime' => '1.60 ', #lib/CPAN/FirstTime.pm
- 'CPAN::Nox' => '1.03', #lib/CPAN/Nox.pm
- 'Cwd' => '2.17', #lib/Cwd.pm
- 'Data::Dumper' => '2.121', #lib/Data/Dumper.pm
- 'DB' => '1.0', #lib/DB.pm
- 'DB_File' => '1.808_01', #lib/DB_File.pm
- 'DBM_Filter' => '0.01', #lib/DBM_Filter.pm
- 'DBM_Filter::compress' => '0.01', #lib/DBM_Filter/compress.pm
- 'DBM_Filter::encode' => '0.01', #lib/DBM_Filter/encode.pm
- 'DBM_Filter::int32' => '0.01', #lib/DBM_Filter/int32.pm
- 'DBM_Filter::null' => '0.01', #lib/DBM_Filter/null.pm
- 'DBM_Filter::utf8' => '0.01', #lib/DBM_Filter/utf8.pm
- 'Devel::DProf' => '20030813.00', #lib/Devel/DProf.pm
- 'Devel::Peek' => '1.01', #lib/Devel/Peek.pm
- 'Devel::PPPort' => '2.011_01', #lib/Devel/PPPort.pm
- 'Devel::SelfStubber' => '1.03', #lib/Devel/SelfStubber.pm
- 'diagnostics' => '1.12', #lib/diagnostics.pm
- 'Digest' => '1.05', #lib/Digest.pm
- 'Digest::base' => '1.00', #lib/Digest/base.pm
- 'Digest::MD5' => '2.33', #lib/Digest/MD5.pm
- 'DirHandle' => '1.00', #lib/DirHandle.pm
- 'Dumpvalue' => '1.11', #lib/Dumpvalue.pm
- 'DynaLoader' => '1.04', #lib/DynaLoader.pm
- 'Encode' => '1.99_01', #lib/Encode.pm
- 'Encode::Alias' => '1.38', #lib/Encode/Alias.pm
- 'Encode::Byte' => '1.23', #lib/Encode/Byte.pm
- 'Encode::CJKConstants' => '1.02', #lib/Encode/CJKConstants.pm
- 'Encode::CN' => '1.24', #lib/Encode/CN.pm
- 'Encode::CN::HZ' => '1.0501', #lib/Encode/CN/HZ.pm
- 'Encode::Config' => '1.07', #lib/Encode/Config.pm
- 'Encode::EBCDIC' => '1.21', #lib/Encode/EBCDIC.pm
- 'Encode::Encoder' => '0.07', #lib/Encode/Encoder.pm
- 'Encode::Encoding' => '1.33', #lib/Encode/Encoding.pm
- 'Encode::Guess' => '1.09', #lib/Encode/Guess.pm
- 'Encode::JP' => '1.25', #lib/Encode/JP.pm
- 'Encode::JP::H2Z' => '1.02', #lib/Encode/JP/H2Z.pm
- 'Encode::JP::JIS7' => '1.12', #lib/Encode/JP/JIS7.pm
- 'Encode::KR' => '1.23', #lib/Encode/KR.pm
- 'Encode::KR::2022_KR' => '1.06', #lib/Encode/KR/2022_KR.pm
- 'Encode::MIME::Header' => '1.09', #lib/Encode/MIME/Header.pm
- 'Encode::Symbol' => '1.22', #lib/Encode/Symbol.pm
- 'Encode::TW' => '1.26', #lib/Encode/TW.pm
- 'Encode::Unicode' => '1.40', #lib/Encode/Unicode.pm
- 'Encode::Unicode::UTF7' => '0.02', #lib/Encode/Unicode/UTF7.pm
- 'encoding' => '1.48', #lib/encoding.pm
- 'English' => '1.02', #lib/English.pm
- 'Env' => '1.00', #lib/Env.pm
- 'Errno' => '1.09_00', #lib/Errno.pm
- 'Exporter' => '5.58', #lib/Exporter.pm
- 'Exporter::Heavy' => '5.567', #lib/Exporter/Heavy.pm
- 'ExtUtils::Command' => '1.07', #lib/ExtUtils/Command.pm
- 'ExtUtils::Command::MM' => '0.03', #lib/ExtUtils/Command/MM.pm
- 'ExtUtils::Constant' => '0.14', #lib/ExtUtils/Constant.pm
- 'ExtUtils::Embed' => '1.250601', #lib/ExtUtils/Embed.pm
- 'ExtUtils::Install' => '1.32', #lib/ExtUtils/Install.pm
- 'ExtUtils::Installed' => '0.08', #lib/ExtUtils/Installed.pm
- 'ExtUtils::Liblist' => '1.01', #lib/ExtUtils/Liblist.pm
- 'ExtUtils::Liblist::Kid'=> '1.3', #lib/ExtUtils/Liblist/Kid.pm
- 'ExtUtils::MakeMaker' => '6.21_02', #lib/ExtUtils/MakeMaker.pm
- 'ExtUtils::MakeMaker::bytes'=> '0.01', #lib/ExtUtils/MakeMaker/bytes.pm
- 'ExtUtils::MakeMaker::vmsish'=> '0.01', #lib/ExtUtils/MakeMaker/vmsish.pm
- 'ExtUtils::Manifest' => '1.43', #lib/ExtUtils/Manifest.pm
- 'ExtUtils::Miniperl' => undef, #lib/ExtUtils/Miniperl.pm
- 'ExtUtils::Mkbootstrap' => '1.15', #lib/ExtUtils/Mkbootstrap.pm
- 'ExtUtils::Mksymlists' => '1.19', #lib/ExtUtils/Mksymlists.pm
- 'ExtUtils::MM' => '0.04', #lib/ExtUtils/MM.pm
- 'ExtUtils::MM_Any' => '0.0901', #lib/ExtUtils/MM_Any.pm
- 'ExtUtils::MM_BeOS' => '1.04', #lib/ExtUtils/MM_BeOS.pm
- 'ExtUtils::MM_Cygwin' => '1.07', #lib/ExtUtils/MM_Cygwin.pm
- 'ExtUtils::MM_DOS' => '0.02', #lib/ExtUtils/MM_DOS.pm
- 'ExtUtils::MM_MacOS' => '1.07', #lib/ExtUtils/MM_MacOS.pm
- 'ExtUtils::MM_NW5' => '2.07_01', #lib/ExtUtils/MM_NW5.pm
- 'ExtUtils::MM_OS2' => '1.04', #lib/ExtUtils/MM_OS2.pm
- 'ExtUtils::MM_Unix' => '1.45_01', #lib/ExtUtils/MM_Unix.pm
- 'ExtUtils::MM_UWIN' => '0.02', #lib/ExtUtils/MM_UWIN.pm
- 'ExtUtils::MM_VMS' => '5.71_01', #lib/ExtUtils/MM_VMS.pm
- 'ExtUtils::MM_Win32' => '1.10_01', #lib/ExtUtils/MM_Win32.pm
- 'ExtUtils::MM_Win95' => '0.03', #lib/ExtUtils/MM_Win95.pm
- 'ExtUtils::MY' => '0.01', #lib/ExtUtils/MY.pm
- 'ExtUtils::Packlist' => '0.04', #lib/ExtUtils/Packlist.pm
- 'ExtUtils::testlib' => '1.15', #lib/ExtUtils/testlib.pm
- 'ExtUtils::XSSymSet' => '1.0', #vms/ext/XSSymSet.pm
- 'Fatal' => '1.04', #lib/Fatal.pm
- 'Fcntl' => '1.05', #lib/Fcntl.pm
- 'fields' => '2.03', #lib/fields.pm
- 'File::Basename' => '2.72', #lib/File/Basename.pm
- 'FileCache' => '1.03', #lib/FileCache.pm
- 'File::CheckTree' => '4.3', #lib/File/CheckTree.pm
- 'File::Compare' => '1.1003', #lib/File/Compare.pm
- 'File::Copy' => '2.07', #lib/File/Copy.pm
- 'File::DosGlob' => '1.00', #lib/File/DosGlob.pm
- 'File::Find' => '1.07', #lib/File/Find.pm
- 'File::Glob' => '1.02', #lib/File/Glob.pm
- 'FileHandle' => '2.01', #lib/FileHandle.pm
- 'File::Path' => '1.06', #lib/File/Path.pm
- 'File::Spec' => '0.87', #lib/File/Spec.pm
- 'File::Spec::Cygwin' => '1.1', #lib/File/Spec/Cygwin.pm
- 'File::Spec::Epoc' => '1.1', #lib/File/Spec/Epoc.pm
- 'File::Spec::Functions' => '1.3', #lib/File/Spec/Functions.pm
- 'File::Spec::Mac' => '1.4', #lib/File/Spec/Mac.pm
- 'File::Spec::OS2' => '1.2', #lib/File/Spec/OS2.pm
- 'File::Spec::Unix' => '1.5', #lib/File/Spec/Unix.pm
- 'File::Spec::VMS' => '1.4', #lib/File/Spec/VMS.pm
- 'File::Spec::Win32' => '1.4', #lib/File/Spec/Win32.pm
- 'File::stat' => '1.00', #lib/File/stat.pm
- 'File::Temp' => '0.14', #lib/File/Temp.pm
- 'filetest' => '1.01', #lib/filetest.pm
- 'Filter::Simple' => '0.78', #lib/Filter/Simple.pm
- 'Filter::Util::Call' => '1.0601', #lib/Filter/Util/Call.pm
- 'FindBin' => '1.44', #lib/FindBin.pm
- 'GDBM_File' => '1.07', #lib/GDBM_File.pm
- 'Getopt::Long' => '2.3401', #lib/Getopt/Long.pm
- 'Getopt::Std' => '1.05', #lib/Getopt/Std.pm
- 'Hash::Util' => '0.05', #lib/Hash/Util.pm
- 'I18N::Collate' => '1.00', #lib/I18N/Collate.pm
- 'I18N::Langinfo' => '0.02', #lib/I18N/Langinfo.pm
- 'I18N::LangTags' => '0.29', #lib/I18N/LangTags.pm
- 'I18N::LangTags::List' => '0.29', #lib/I18N/LangTags/List.pm
- 'if' => '0.0401', #lib/if.pm
- 'integer' => '1.00', #lib/integer.pm
- 'IO' => '1.21', #lib/IO.pm
- 'IO::Dir' => '1.04', #lib/IO/Dir.pm
- 'IO::File' => '1.10', #lib/IO/File.pm
- 'IO::Handle' => '1.23', #lib/IO/Handle.pm
- 'IO::Pipe' => '1.122', #lib/IO/Pipe.pm
- 'IO::Poll' => '0.06', #lib/IO/Poll.pm
- 'IO::Seekable' => '1.09', #lib/IO/Seekable.pm
- 'IO::Select' => '1.16', #lib/IO/Select.pm
- 'IO::Socket' => '1.28', #lib/IO/Socket.pm
- 'IO::Socket::INET' => '1.27', #lib/IO/Socket/INET.pm
- 'IO::Socket::UNIX' => '1.21', #lib/IO/Socket/UNIX.pm
- 'IPC::Msg' => '1.02', #lib/IPC/Msg.pm
- 'IPC::Open2' => '1.01', #lib/IPC/Open2.pm
- 'IPC::Open3' => '1.0105', #lib/IPC/Open3.pm
- 'IPC::Semaphore' => '1.02', #lib/IPC/Semaphore.pm
- 'IPC::SysV' => '1.04', #lib/IPC/SysV.pm
- 'JNI' => '0.2', #jpl/JNI/JNI.pm
- 'JPL::AutoLoader' => undef, #jpl/JPL/AutoLoader.pm
- 'JPL::Class' => undef, #jpl/JPL/Class.pm
- 'JPL::Compile' => undef, #jpl/JPL/Compile.pm
- 'less' => '0.01', #lib/less.pm
- 'lib' => '0.5565', #lib/lib.pm
- 'List::Util' => '1.13', #lib/List/Util.pm
- 'locale' => '1.00', #lib/locale.pm
- 'Locale::Constants' => '2.01', #lib/Locale/Constants.pm
- 'Locale::Country' => '2.61', #lib/Locale/Country.pm
- 'Locale::Currency' => '2.21', #lib/Locale/Currency.pm
- 'Locale::Language' => '2.21', #lib/Locale/Language.pm
- 'Locale::Maketext' => '1.08', #lib/Locale/Maketext.pm
- 'Locale::Maketext::GutsLoader'=> undef, #lib/Locale/Maketext/GutsLoader.pm
- 'Locale::Maketext::Guts'=> undef, #lib/Locale/Maketext/Guts.pm
- 'Locale::Script' => '2.21', #lib/Locale/Script.pm
- 'Math::BigFloat' => '1.44', #lib/Math/BigFloat.pm
- 'Math::BigFloat::Trace' => '0.01', #lib/Math/BigFloat/Trace.pm
- 'Math::BigInt' => '1.70', #lib/Math/BigInt.pm
- 'Math::BigInt::Calc' => '0.40', #lib/Math/BigInt/Calc.pm
- 'Math::BigInt::CalcEmu' => '0.04', #lib/Math/BigInt/CalcEmu.pm
- 'Math::BigInt::Trace' => '0.01', #lib/Math/BigInt/Trace.pm
- 'Math::BigRat' => '0.12', #lib/Math/BigRat.pm
- 'Math::Complex' => '1.34', #lib/Math/Complex.pm
- 'Math::Trig' => '1.02', #lib/Math/Trig.pm
- 'Memoize' => '1.01_01', #lib/Memoize.pm
- 'Memoize::AnyDBM_File' => '0.65', #lib/Memoize/AnyDBM_File.pm
- 'Memoize::Expire' => '1.00', #lib/Memoize/Expire.pm
- 'Memoize::ExpireFile' => '1.01', #lib/Memoize/ExpireFile.pm
- 'Memoize::ExpireTest' => '0.65', #lib/Memoize/ExpireTest.pm
- 'Memoize::NDBM_File' => '0.65', #lib/Memoize/NDBM_File.pm
- 'Memoize::SDBM_File' => '0.65', #lib/Memoize/SDBM_File.pm
- 'Memoize::Storable' => '0.65', #lib/Memoize/Storable.pm
- 'MIME::Base64' => '3.00_01', #lib/MIME/Base64.pm
- 'MIME::QuotedPrint' => '3.00', #lib/MIME/QuotedPrint.pm
- 'NDBM_File' => '1.05', #lib/NDBM_File.pm
- 'Net::Cmd' => '2.24', #lib/Net/Cmd.pm
- 'Net::Config' => '1.10', #lib/Net/Config.pm
- 'Net::Domain' => '2.19', #lib/Net/Domain.pm
- 'Net::FTP' => '2.72', #lib/Net/FTP.pm
- 'Net::FTP::A' => '1.16', #lib/Net/FTP/A.pm
- 'Net::FTP::dataconn' => '0.11', #lib/Net/FTP/dataconn.pm
- 'Net::FTP::E' => '0.01', #lib/Net/FTP/E.pm
- 'Net::FTP::I' => '1.12', #lib/Net/FTP/I.pm
- 'Net::FTP::L' => '0.01', #lib/Net/FTP/L.pm
- 'Net::hostent' => '1.01', #lib/Net/hostent.pm
- 'Net::netent' => '1.00', #lib/Net/netent.pm
- 'Net::Netrc' => '2.12', #lib/Net/Netrc.pm
- 'Net::NNTP' => '2.22', #lib/Net/NNTP.pm
- 'Net::Ping' => '2.31', #lib/Net/Ping.pm
- 'Net::POP3' => '2.24', #lib/Net/POP3.pm
- 'Net::protoent' => '1.00', #lib/Net/protoent.pm
- 'Net::servent' => '1.01', #lib/Net/servent.pm
- 'Net::SMTP' => '2.26', #lib/Net/SMTP.pm
- 'Net::Time' => '2.09', #lib/Net/Time.pm
- 'NEXT' => '0.60', #lib/NEXT.pm
- 'O' => '1.00', #lib/O.pm
- 'ODBM_File' => '1.04', #ext/ODBM_File/ODBM_File.pm
- 'Opcode' => '1.06', #lib/Opcode.pm
- 'open' => '1.02', #lib/open.pm
- 'ops' => '1.00', #lib/ops.pm
- 'OS2::DLL' => '1.02', #os2/OS2/REXX/DLL/DLL.pm
- 'OS2::ExtAttr' => '0.02', #os2/OS2/ExtAttr/ExtAttr.pm
- 'OS2::PrfDB' => '0.03', #os2/OS2/PrfDB/PrfDB.pm
- 'OS2::Process' => '1.01', #os2/OS2/Process/Process.pm
- 'OS2::REXX' => '1.02', #os2/OS2/REXX/REXX.pm
- 'overload' => '1.02', #lib/overload.pm
- 'PerlIO' => '1.03', #lib/PerlIO.pm
- 'PerlIO::encoding' => '0.07', #lib/PerlIO/encoding.pm
- 'PerlIO::scalar' => '0.02', #lib/PerlIO/scalar.pm
- 'PerlIO::via' => '0.02', #lib/PerlIO/via.pm
- 'PerlIO::via::QuotedPrint'=> '0.06', #lib/PerlIO/via/QuotedPrint.pm
- 'Pod::Checker' => '1.41', #lib/Pod/Checker.pm
- 'Pod::Find' => '0.24', #lib/Pod/Find.pm
- 'Pod::Functions' => '1.02', #lib/Pod/Functions.pm
- 'Pod::Html' => '1.0502', #lib/Pod/Html.pm
- 'Pod::InputObjects' => '1.14', #lib/Pod/InputObjects.pm
- 'Pod::LaTeX' => '0.55', #lib/Pod/LaTeX.pm
- 'Pod::Man' => '1.37', #lib/Pod/Man.pm
- 'Pod::ParseLink' => '1.06', #lib/Pod/ParseLink.pm
- 'Pod::Parser' => '1.14', #lib/Pod/Parser.pm
- 'Pod::ParseUtils' => '0.3', #lib/Pod/ParseUtils.pm
- 'Pod::Perldoc' => '3.12', #lib/Pod/Perldoc.pm
- 'Pod::Perldoc::BaseTo' => undef, #lib/Pod/Perldoc/BaseTo.pm
- 'Pod::Perldoc::GetOptsOO'=> undef, #lib/Pod/Perldoc/GetOptsOO.pm
- 'Pod::Perldoc::ToChecker'=> undef, #lib/Pod/Perldoc/ToChecker.pm
- 'Pod::Perldoc::ToMan' => undef, #lib/Pod/Perldoc/ToMan.pm
- 'Pod::Perldoc::ToNroff' => undef, #lib/Pod/Perldoc/ToNroff.pm
- 'Pod::Perldoc::ToPod' => undef, #lib/Pod/Perldoc/ToPod.pm
- 'Pod::Perldoc::ToRtf' => undef, #lib/Pod/Perldoc/ToRtf.pm
- 'Pod::Perldoc::ToText' => undef, #lib/Pod/Perldoc/ToText.pm
- 'Pod::Perldoc::ToTk' => 'undef', #lib/Pod/Perldoc/ToTk.pm
- 'Pod::Perldoc::ToXml' => undef, #lib/Pod/Perldoc/ToXml.pm
- 'Pod::Plainer' => '0.01', #lib/Pod/Plainer.pm
- 'Pod::PlainText' => '2.02', #lib/Pod/PlainText.pm
- 'Pod::Select' => '1.13', #lib/Pod/Select.pm
- 'Pod::Text' => '2.21', #lib/Pod/Text.pm
- 'Pod::Text::Color' => '1.04', #lib/Pod/Text/Color.pm
- 'Pod::Text::Overstrike' => '1.1', #lib/Pod/Text/Overstrike.pm
- 'Pod::Text::Termcap' => '1.11', #lib/Pod/Text/Termcap.pm
- 'Pod::Usage' => '1.16', #lib/Pod/Usage.pm
- 'POSIX' => '1.07', #lib/POSIX.pm
- 're' => '0.04', #lib/re.pm
- 'Safe' => '2.10', #lib/Safe.pm
- 'Scalar::Util' => '1.13', #lib/Scalar/Util.pm
- 'SDBM_File' => '1.04', #lib/SDBM_File.pm
- 'Search::Dict' => '1.02', #lib/Search/Dict.pm
- 'SelectSaver' => '1.00', #lib/SelectSaver.pm
- 'SelfLoader' => '1.0904', #lib/SelfLoader.pm
- 'Shell' => '0.5.2', #lib/Shell.pm
- 'sigtrap' => '1.02', #lib/sigtrap.pm
- 'Socket' => '1.77', #lib/Socket.pm
- 'sort' => '1.02', #lib/sort.pm
- 'Storable' => '2.11', #lib/Storable.pm
- 'strict' => '1.03', #lib/strict.pm
- 'subs' => '1.00', #lib/subs.pm
- 'Switch' => '2.10', #lib/Switch.pm
- 'Symbol' => '1.05', #lib/Symbol.pm
- 'Sys::Hostname' => '1.11', #lib/Sys/Hostname.pm
- 'Sys::Syslog' => '0.05', #lib/Sys/Syslog.pm
- 'Term::ANSIColor' => '1.08', #lib/Term/ANSIColor.pm
- 'Term::Cap' => '1.08', #lib/Term/Cap.pm
- 'Term::Complete' => '1.401', #lib/Term/Complete.pm
- 'Term::ReadLine' => '1.01', #lib/Term/ReadLine.pm
- 'Test' => '1.24', #lib/Test.pm
- 'Test::Builder' => '0.17', #lib/Test/Builder.pm
- 'Test::Harness' => '2.40', #lib/Test/Harness.pm
- 'Test::Harness::Assert' => '0.02', #lib/Test/Harness/Assert.pm
- 'Test::Harness::Iterator'=> '0.02', #lib/Test/Harness/Iterator.pm
- 'Test::Harness::Straps' => '0.19', #lib/Test/Harness/Straps.pm
- 'Test::More' => '0.47', #lib/Test/More.pm
- 'Test::Simple' => '0.47', #lib/Test/Simple.pm
- 'Text::Abbrev' => '1.01', #lib/Text/Abbrev.pm
- 'Text::Balanced' => '1.95', #lib/Text/Balanced.pm
- 'Text::ParseWords' => '3.21', #lib/Text/ParseWords.pm
- 'Text::Soundex' => '1.01', #lib/Text/Soundex.pm
- 'Text::Tabs' => '98.112801', #lib/Text/Tabs.pm
- 'Text::Wrap' => '2001.09291', #lib/Text/Wrap.pm
- 'Thread' => '2.00', #lib/Thread.pm
- 'Thread::Queue' => '2.00', #lib/Thread/Queue.pm
- 'threads' => '1.02', #lib/threads.pm
- 'Thread::Semaphore' => '2.01', #lib/Thread/Semaphore.pm
- 'Thread::Signal' => '1.00', #./ext/Thread/Thread/Signal.pm
- 'Thread::Specific' => '1.00', #./ext/Thread/Thread/Specific.pm
- 'threads::shared' => '0.92', #lib/threads/shared.pm
- 'Tie::Array' => '1.03', #lib/Tie/Array.pm
- 'Tie::File' => '0.97', #lib/Tie/File.pm
- 'Tie::Handle' => '4.1', #lib/Tie/Handle.pm
- 'Tie::Hash' => '1.01', #lib/Tie/Hash.pm
- 'Tie::Memoize' => '1.0', #lib/Tie/Memoize.pm
- 'Tie::RefHash' => '1.31', #lib/Tie/RefHash.pm
- 'Tie::Scalar' => '1.00', #lib/Tie/Scalar.pm
- 'Tie::SubstrHash' => '1.00', #lib/Tie/SubstrHash.pm
- 'Time::gmtime' => '1.02', #lib/Time/gmtime.pm
- 'Time::HiRes' => '1.56', #lib/Time/HiRes.pm
- 'Time::Local' => '1.07_94', #lib/Time/Local.pm
- 'Time::localtime' => '1.02', #lib/Time/localtime.pm
- 'Time::tm' => '1.00', #lib/Time/tm.pm
- 'Unicode' => '4.0.0', #lib/unicore/version
- 'Unicode::Collate' => '0.33', #lib/Unicode/Collate.pm
- 'Unicode::Normalize' => '0.28', #lib/Unicode/Normalize.pm
- 'Unicode::UCD' => '0.21', #lib/Unicode/UCD.pm
- 'UNIVERSAL' => '1.02', #lib/UNIVERSAL.pm
- 'User::grent' => '1.00', #lib/User/grent.pm
- 'User::pwent' => '1.00', #lib/User/pwent.pm
- 'utf8' => '1.02', #lib/utf8.pm
- 'vars' => '1.01', #lib/vars.pm
- 'version' => '0.36', #lib/version.pm
- 'VMS::DCLsym' => '1.02', #vms/ext/DCLsym/DCLsym.pm
- 'VMS::Filespec' => '1.11', #vms/ext/Filespec.pm
- 'VMS::Stdio' => '2.3', #vms/ext/Stdio/Stdio.pm
- 'vmsish' => '1.01', #lib/vmsish.pm
- 'warnings' => '1.03', #lib/warnings.pm
- 'warnings::register' => '1.00', #lib/warnings/register.pm
- 'XS::APItest' => '0.03', #lib/XS/APItest.pm
- 'XSLoader' => '0.03', #lib/XSLoader.pm
- 'XS::Typemap' => '0.01', #lib/XS/Typemap.pm
+ delta_from => 5.008002,
+ changed => {
+ 'Benchmark' => '1.052',
+ 'CGI' => '3.01',
+ 'CGI::Carp' => '1.27',
+ 'CGI::Fast' => '1.05',
+ 'CGI::Pretty' => '1.08',
+ 'CGI::Util' => '1.4',
+ 'Cwd' => '2.12',
+ 'DB_File' => '1.808',
+ 'Devel::PPPort' => '2.011',
+ 'Digest' => '1.05',
+ 'Digest::MD5' => '2.33',
+ 'Digest::base' => '1.00',
+ 'Encode' => '1.99',
+ 'Exporter' => '5.57',
+ 'File::CheckTree' => '4.3',
+ 'File::Copy' => '2.07',
+ 'File::Find' => '1.06',
+ 'File::Spec' => '0.87',
+ 'FindBin' => '1.44',
+ 'Getopt::Std' => '1.05',
+ 'Math::BigFloat' => '1.42',
+ 'Math::BigInt' => '1.68',
+ 'Math::BigInt::Calc' => '0.38',
+ 'Math::BigInt::CalcEmu' => '0.02',
+ 'OS2::DLL' => '1.02',
+ 'POSIX' => '1.07',
+ 'PerlIO' => '1.03',
+ 'PerlIO::via::QuotedPrint'=> '0.06',
+ 'Pod::Html' => '1.0502',
+ 'Pod::Parser' => '1.14',
+ 'Pod::Perldoc' => '3.12',
+ 'Pod::PlainText' => '2.02',
+ 'Storable' => '2.09',
+ 'Test::Harness' => '2.40',
+ 'Test::Harness::Assert' => '0.02',
+ 'Test::Harness::Iterator'=> '0.02',
+ 'Test::Harness::Straps' => '0.19',
+ 'Tie::Hash' => '1.01',
+ 'Unicode::Collate' => '0.33',
+ 'Unicode::Normalize' => '0.28',
+ 'XS::APItest' => '0.03',
+ 'base' => '2.04',
+ 'diagnostics' => '1.12',
+ 'encoding' => '1.48',
+ 'threads' => '1.01',
+ 'threads::shared' => '0.92',
+ },
+ removed => {
+ 'Math::BigInt::Scalar' => 1,
+ }
},
-
5.008004 => {
- 'AnyDBM_File' => '1.00', #lib/AnyDBM_File.pm
- 'attributes' => '0.06', #lib/attributes.pm
- 'AutoLoader' => '5.60', #lib/AutoLoader.pm
- 'AutoSplit' => '1.04', #lib/AutoSplit.pm
- 'autouse' => '1.03', #lib/autouse.pm
- 'base' => '2.05', #lib/base.pm
- 'Benchmark' => '1.06', #lib/Benchmark.pm
- 'bigint' => '0.05', #lib/bigint.pm
- 'bignum' => '0.15', #lib/bignum.pm
- 'bigrat' => '0.06', #lib/bigrat.pm
- 'blib' => '1.02', #lib/blib.pm
- 'bytes' => '1.01', #lib/bytes.pm
- 'Carp' => '1.02', #lib/Carp.pm
- 'CGI' => '3.04', #lib/CGI.pm
- 'charnames' => '1.03', #lib/charnames.pm
- 'constant' => '1.04', #lib/constant.pm
- 'CPAN' => '1.76_01', #lib/CPAN.pm
- 'Cwd' => '2.17', #lib/Cwd.pm
- 'DBM_Filter' => '0.01', #lib/DBM_Filter.pm
- 'DB' => '1.0', #lib/DB.pm
- 'diagnostics' => '1.12', #lib/diagnostics.pm
- 'Digest' => '1.06', #lib/Digest.pm
- 'DirHandle' => '1.00', #lib/DirHandle.pm
- 'Dumpvalue' => '1.11', #lib/Dumpvalue.pm
- 'English' => '1.01', #lib/English.pm
- 'Env' => '1.00', #lib/Env.pm
- 'Exporter' => '5.58', #lib/Exporter.pm
- 'Fatal' => '1.03', #lib/Fatal.pm
- 'fields' => '2.03', #lib/fields.pm
- 'FileCache' => '1.03', #lib/FileCache.pm
- 'FileHandle' => '2.01', #lib/FileHandle.pm
- 'filetest' => '1.01', #lib/filetest.pm
- 'FindBin' => '1.44', #lib/FindBin.pm
- 'if' => '0.03', #lib/if.pm
- 'integer' => '1.00', #lib/integer.pm
- 'less' => '0.01', #lib/less.pm
- 'locale' => '1.00', #lib/locale.pm
- 'Memoize' => '1.01', #lib/Memoize.pm
- 'NEXT' => '0.60', #lib/NEXT.pm
- 'open' => '1.03', #lib/open.pm
- 'overload' => '1.01', #lib/overload.pm
- 'PerlIO' => '1.03', #lib/PerlIO.pm
- 'SelectSaver' => '1.00', #lib/SelectSaver.pm
- 'SelfLoader' => '1.0904', #lib/SelfLoader.pm
- 'Shell' => '0.5.2', #lib/Shell.pm
- 'sigtrap' => '1.02', #lib/sigtrap.pm
- 'sort' => '1.02', #lib/sort.pm
- 'strict' => '1.03', #lib/strict.pm
- 'subs' => '1.00', #lib/subs.pm
- 'Switch' => '2.10', #lib/Switch.pm
- 'Symbol' => '1.05', #lib/Symbol.pm
- 'Test' => '1.24', #lib/Test.pm
- 'Thread' => '2.00', #lib/Thread.pm
- 'Unicode' => '4.0.1', # lib/unicore/version
- 'UNIVERSAL' => '1.01', #lib/UNIVERSAL.pm
- 'utf8' => '1.03', #lib/utf8.pm
- 'vars' => '1.01', #lib/vars.pm
- 'vmsish' => '1.01', #lib/vmsish.pm
- 'warnings' => '1.03', #lib/warnings.pm
- 'Config' => undef, #lib/Config.pm
- 'lib' => '0.5565', #lib/lib.pm
- 're' => '0.04', #lib/re.pm
- 'XSLoader' => '0.02', #lib/XSLoader.pm
- 'DynaLoader' => '1.05', #lib/DynaLoader.pm
- 'attrs' => '1.01', #lib/attrs.pm
- 'B' => '1.02', #lib/B.pm
- 'O' => '1.00', #lib/O.pm
- 'ByteLoader' => '0.05', #lib/ByteLoader.pm
- 'DB_File' => '1.808', #lib/DB_File.pm
- 'Encode' => '1.99_01', #lib/Encode.pm
- 'encoding' => '1.48', #lib/encoding.pm
- 'Fcntl' => '1.05', #lib/Fcntl.pm
- 'GDBM_File' => '1.07', #lib/GDBM_File.pm
- 'IO' => '1.21', #lib/IO.pm
- 'NDBM_File' => '1.05', #lib/NDBM_File.pm
- 'Safe' => '2.10', #lib/Safe.pm
- 'Opcode' => '1.05', #lib/Opcode.pm
- 'ops' => '1.00', #lib/ops.pm
- 'POSIX' => '1.08', #lib/POSIX.pm
- 'SDBM_File' => '1.04', #lib/SDBM_File.pm
- 'Socket' => '1.77', #lib/Socket.pm
- 'Storable' => '2.12', #lib/Storable.pm
- 'threads' => '1.03', #lib/threads.pm
- 'Errno' => '1.09_00', #lib/Errno.pm
- 'Attribute::Handlers' => '0.78_01', #lib/Attribute/Handlers.pm
- 'Carp::Heavy' => '1.01', #lib/Carp/Heavy.pm
- 'CGI::Apache' => '1.00', #lib/CGI/Apache.pm
- 'CGI::Carp' => '1.27', #lib/CGI/Carp.pm
- 'CGI::Cookie' => '1.24', #lib/CGI/Cookie.pm
- 'CGI::Fast' => '1.05', #lib/CGI/Fast.pm
- 'CGI::Pretty' => '1.08', #lib/CGI/Pretty.pm
- 'CGI::Push' => '1.04', #lib/CGI/Push.pm
- 'CGI::Switch' => '1.00', #lib/CGI/Switch.pm
- 'CGI::Util' => '1.4', #lib/CGI/Util.pm
- 'Class::ISA' => '0.32', #lib/Class/ISA.pm
- 'Class::Struct' => '0.63', #lib/Class/Struct.pm
- 'CPAN::FirstTime' => '1.60 ', #lib/CPAN/FirstTime.pm
- 'CPAN::Nox' => '1.03', #lib/CPAN/Nox.pm
- 'DBM_Filter::compress' => '0.01', #lib/DBM_Filter/compress.pm
- 'DBM_Filter::encode' => '0.01', #lib/DBM_Filter/encode.pm
- 'DBM_Filter::int32' => '0.01', #lib/DBM_Filter/int32.pm
- 'DBM_Filter::null' => '0.01', #lib/DBM_Filter/null.pm
- 'DBM_Filter::utf8' => '0.01', #lib/DBM_Filter/utf8.pm
- 'Devel::SelfStubber' => '1.03', #lib/Devel/SelfStubber.pm
- 'Devel::DProf' => '20030813.00', #lib/Devel/DProf.pm
- 'Devel::Peek' => '1.01', #lib/Devel/Peek.pm
- 'Devel::PPPort' => '2.011', #lib/Devel/PPPort.pm
- 'Digest::base' => '1.00', #lib/Digest/base.pm
- 'Digest::MD5' => '2.33', #lib/Digest/MD5.pm
- 'Exporter::Heavy' => '5.57', #lib/Exporter/Heavy.pm
- 'ExtUtils::Command' => '1.05', #lib/ExtUtils/Command.pm
- 'ExtUtils::Constant' => '0.14', #lib/ExtUtils/Constant.pm
- 'ExtUtils::Embed' => '1.250601', #lib/ExtUtils/Embed.pm
- 'ExtUtils::Installed' => '0.08', #lib/ExtUtils/Installed.pm
- 'ExtUtils::Install' => '1.32', #lib/ExtUtils/Install.pm
- 'ExtUtils::Liblist' => '1.01', #lib/ExtUtils/Liblist.pm
- 'ExtUtils::MakeMaker' => '6.17', #lib/ExtUtils/MakeMaker.pm
- 'ExtUtils::Manifest' => '1.42', #lib/ExtUtils/Manifest.pm
- 'ExtUtils::Mkbootstrap' => '1.15', #lib/ExtUtils/Mkbootstrap.pm
- 'ExtUtils::Mksymlists' => '1.19', #lib/ExtUtils/Mksymlists.pm
- 'ExtUtils::MM_Any' => '0.07', #lib/ExtUtils/MM_Any.pm
- 'ExtUtils::MM_BeOS' => '1.04', #lib/ExtUtils/MM_BeOS.pm
- 'ExtUtils::MM_Cygwin' => '1.06', #lib/ExtUtils/MM_Cygwin.pm
- 'ExtUtils::MM_DOS' => '0.02', #lib/ExtUtils/MM_DOS.pm
- 'ExtUtils::MM_MacOS' => '1.07', #lib/ExtUtils/MM_MacOS.pm
- 'ExtUtils::MM_NW5' => '2.07_02', #lib/ExtUtils/MM_NW5.pm
- 'ExtUtils::MM' => '0.04', #lib/ExtUtils/MM.pm
- 'ExtUtils::MM_OS2' => '1.04', #lib/ExtUtils/MM_OS2.pm
- 'ExtUtils::MM_Unix' => '1.42', #lib/ExtUtils/MM_Unix.pm
- 'ExtUtils::MM_UWIN' => '0.02', #lib/ExtUtils/MM_UWIN.pm
- 'ExtUtils::MM_VMS' => '5.70', #lib/ExtUtils/MM_VMS.pm
- 'ExtUtils::MM_Win32' => '1.09', #lib/ExtUtils/MM_Win32.pm
- 'ExtUtils::MM_Win95' => '0.0301', #lib/ExtUtils/MM_Win95.pm
- 'ExtUtils::MY' => '0.01', #lib/ExtUtils/MY.pm
- 'ExtUtils::Packlist' => '0.04', #lib/ExtUtils/Packlist.pm
- 'ExtUtils::testlib' => '1.15', #lib/ExtUtils/testlib.pm
- 'ExtUtils::Miniperl' => undef, #lib/ExtUtils/Miniperl.pm
- 'ExtUtils::Command::MM' => '0.03', #lib/ExtUtils/Command/MM.pm
- 'ExtUtils::Liblist::Kid'=> '1.3001', #lib/ExtUtils/Liblist/Kid.pm
- 'ExtUtils::MakeMaker::bytes'=> '0.01', #lib/ExtUtils/MakeMaker/bytes.pm
- 'ExtUtils::MakeMaker::vmsish'=> '0.01', #lib/ExtUtils/MakeMaker/vmsish.pm
- 'File::Basename' => '2.72', #lib/File/Basename.pm
- 'File::CheckTree' => '4.3', #lib/File/CheckTree.pm
- 'File::Compare' => '1.1003', #lib/File/Compare.pm
- 'File::Copy' => '2.07', #lib/File/Copy.pm
- 'File::DosGlob' => '1.00', #lib/File/DosGlob.pm
- 'File::Find' => '1.07', #lib/File/Find.pm
- 'File::Path' => '1.06', #lib/File/Path.pm
- 'File::Spec' => '0.87', #lib/File/Spec.pm
- 'File::stat' => '1.00', #lib/File/stat.pm
- 'File::Temp' => '0.14', #lib/File/Temp.pm
- 'File::Glob' => '1.02', #lib/File/Glob.pm
- 'File::Spec::Cygwin' => '1.1', #lib/File/Spec/Cygwin.pm
- 'File::Spec::Epoc' => '1.1', #lib/File/Spec/Epoc.pm
- 'File::Spec::Functions' => '1.3', #lib/File/Spec/Functions.pm
- 'File::Spec::Mac' => '1.4', #lib/File/Spec/Mac.pm
- 'File::Spec::OS2' => '1.2', #lib/File/Spec/OS2.pm
- 'File::Spec::Unix' => '1.5', #lib/File/Spec/Unix.pm
- 'File::Spec::VMS' => '1.4', #lib/File/Spec/VMS.pm
- 'File::Spec::Win32' => '1.4', #lib/File/Spec/Win32.pm
- 'Filter::Simple' => '0.78', #lib/Filter/Simple.pm
- 'Filter::Util::Call' => '1.0601', #lib/Filter/Util/Call.pm
- 'Getopt::Long' => '2.34', #lib/Getopt/Long.pm
- 'Getopt::Std' => '1.05', #lib/Getopt/Std.pm
- 'Hash::Util' => '0.05', #lib/Hash/Util.pm
- 'I18N::Collate' => '1.00', #lib/I18N/Collate.pm
- 'I18N::LangTags' => '0.29', #lib/I18N/LangTags.pm
- 'I18N::Langinfo' => '0.02', #lib/I18N/Langinfo.pm
- 'I18N::LangTags::List' => '0.29', #lib/I18N/LangTags/List.pm
- 'IPC::Open2' => '1.01', #lib/IPC/Open2.pm
- 'IPC::Open3' => '1.0106', #lib/IPC/Open3.pm
- 'IPC::Msg' => '1.02', #lib/IPC/Msg.pm
- 'IPC::Semaphore' => '1.02', #lib/IPC/Semaphore.pm
- 'IPC::SysV' => '1.04', #lib/IPC/SysV.pm
- 'Locale::Constants' => '2.01', #lib/Locale/Constants.pm
- 'Locale::Country' => '2.61', #lib/Locale/Country.pm
- 'Locale::Currency' => '2.21', #lib/Locale/Currency.pm
- 'Locale::Language' => '2.21', #lib/Locale/Language.pm
- 'Locale::Maketext' => '1.08', #lib/Locale/Maketext.pm
- 'Locale::Script' => '2.21', #lib/Locale/Script.pm
- 'Locale::Maketext::GutsLoader'=> undef, #lib/Locale/Maketext/GutsLoader.pm
- 'Locale::Maketext::Guts'=> undef, #lib/Locale/Maketext/Guts.pm
- 'Math::BigFloat' => '1.44', #lib/Math/BigFloat.pm
- 'Math::BigInt' => '1.70', #lib/Math/BigInt.pm
- 'Math::BigRat' => '0.12', #lib/Math/BigRat.pm
- 'Math::Complex' => '1.34', #lib/Math/Complex.pm
- 'Math::Trig' => '1.02', #lib/Math/Trig.pm
- 'Math::BigFloat::Trace' => '0.01', #lib/Math/BigFloat/Trace.pm
- 'Math::BigInt::CalcEmu' => '0.04', #lib/Math/BigInt/CalcEmu.pm
- 'Math::BigInt::Calc' => '0.40', #lib/Math/BigInt/Calc.pm
- 'Math::BigInt::Trace' => '0.01', #lib/Math/BigInt/Trace.pm
- 'Memoize::AnyDBM_File' => '0.65', #lib/Memoize/AnyDBM_File.pm
- 'Memoize::ExpireFile' => '1.01', #lib/Memoize/ExpireFile.pm
- 'Memoize::Expire' => '1.00', #lib/Memoize/Expire.pm
- 'Memoize::ExpireTest' => '0.65', #lib/Memoize/ExpireTest.pm
- 'Memoize::NDBM_File' => '0.65', #lib/Memoize/NDBM_File.pm
- 'Memoize::SDBM_File' => '0.65', #lib/Memoize/SDBM_File.pm
- 'Memoize::Storable' => '0.65', #lib/Memoize/Storable.pm
- 'Net::Cmd' => '2.24', #lib/Net/Cmd.pm
- 'Net::Config' => '1.10', #lib/Net/Config.pm
- 'Net::Domain' => '2.19', #lib/Net/Domain.pm
- 'Net::FTP' => '2.72', #lib/Net/FTP.pm
- 'Net::hostent' => '1.01', #lib/Net/hostent.pm
- 'Net::netent' => '1.00', #lib/Net/netent.pm
- 'Net::Netrc' => '2.12', #lib/Net/Netrc.pm
- 'Net::NNTP' => '2.22', #lib/Net/NNTP.pm
- 'Net::Ping' => '2.31', #lib/Net/Ping.pm
- 'Net::POP3' => '2.24', #lib/Net/POP3.pm
- 'Net::protoent' => '1.00', #lib/Net/protoent.pm
- 'Net::servent' => '1.01', #lib/Net/servent.pm
- 'Net::SMTP' => '2.26', #lib/Net/SMTP.pm
- 'Net::Time' => '2.09', #lib/Net/Time.pm
- 'Net::FTP::A' => '1.16', #lib/Net/FTP/A.pm
- 'Net::FTP::dataconn' => '0.11', #lib/Net/FTP/dataconn.pm
- 'Net::FTP::E' => '0.01', #lib/Net/FTP/E.pm
- 'Net::FTP::I' => '1.12', #lib/Net/FTP/I.pm
- 'Net::FTP::L' => '0.01', #lib/Net/FTP/L.pm
- 'PerlIO::encoding' => '0.07', #lib/PerlIO/encoding.pm
- 'PerlIO::scalar' => '0.02', #lib/PerlIO/scalar.pm
- 'PerlIO::via' => '0.02', #lib/PerlIO/via.pm
- 'PerlIO::via::QuotedPrint'=> '0.06', #lib/PerlIO/via/QuotedPrint.pm
- 'Pod::Checker' => '1.41', #lib/Pod/Checker.pm
- 'Pod::Find' => '0.24', #lib/Pod/Find.pm
- 'Pod::Functions' => '1.02', #lib/Pod/Functions.pm
- 'Pod::Html' => '1.0502', #lib/Pod/Html.pm
- 'Pod::InputObjects' => '1.14', #lib/Pod/InputObjects.pm
- 'Pod::LaTeX' => '0.55', #lib/Pod/LaTeX.pm
- 'Pod::Man' => '1.37', #lib/Pod/Man.pm
- 'Pod::ParseLink' => '1.06', #lib/Pod/ParseLink.pm
- 'Pod::Parser' => '1.14', #lib/Pod/Parser.pm
- 'Pod::ParseUtils' => '0.3', #lib/Pod/ParseUtils.pm
- 'Pod::Perldoc' => '3.12', #lib/Pod/Perldoc.pm
- 'Pod::Plainer' => '0.01', #lib/Pod/Plainer.pm
- 'Pod::PlainText' => '2.02', #lib/Pod/PlainText.pm
- 'Pod::Select' => '1.13', #lib/Pod/Select.pm
- 'Pod::Text' => '2.21', #lib/Pod/Text.pm
- 'Pod::Usage' => '1.16', #lib/Pod/Usage.pm
- 'Pod::Perldoc::BaseTo' => undef, #lib/Pod/Perldoc/BaseTo.pm
- 'Pod::Perldoc::GetOptsOO'=> undef, #lib/Pod/Perldoc/GetOptsOO.pm
- 'Pod::Perldoc::ToChecker'=> undef, #lib/Pod/Perldoc/ToChecker.pm
- 'Pod::Perldoc::ToMan' => undef, #lib/Pod/Perldoc/ToMan.pm
- 'Pod::Perldoc::ToNroff' => undef, #lib/Pod/Perldoc/ToNroff.pm
- 'Pod::Perldoc::ToPod' => undef, #lib/Pod/Perldoc/ToPod.pm
- 'Pod::Perldoc::ToRtf' => undef, #lib/Pod/Perldoc/ToRtf.pm
- 'Pod::Perldoc::ToText' => undef, #lib/Pod/Perldoc/ToText.pm
- 'Pod::Perldoc::ToTk' => 'undef', #lib/Pod/Perldoc/ToTk.pm
- 'Pod::Perldoc::ToXml' => undef, #lib/Pod/Perldoc/ToXml.pm
- 'Pod::Text::Color' => '1.04', #lib/Pod/Text/Color.pm
- 'Pod::Text::Overstrike' => '1.1', #lib/Pod/Text/Overstrike.pm
- 'Pod::Text::Termcap' => '1.11', #lib/Pod/Text/Termcap.pm
- 'Search::Dict' => '1.02', #lib/Search/Dict.pm
- 'Term::ANSIColor' => '1.08', #lib/Term/ANSIColor.pm
- 'Term::Cap' => '1.08', #lib/Term/Cap.pm
- 'Term::Complete' => '1.401', #lib/Term/Complete.pm
- 'Term::ReadLine' => '1.01', #lib/Term/ReadLine.pm
- 'Test::Builder' => '0.17', #lib/Test/Builder.pm
- 'Test::Harness' => '2.40', #lib/Test/Harness.pm
- 'Test::More' => '0.47', #lib/Test/More.pm
- 'Test::Simple' => '0.47', #lib/Test/Simple.pm
- 'Test::Harness::Assert' => '0.02', #lib/Test/Harness/Assert.pm
- 'Test::Harness::Iterator'=> '0.02', #lib/Test/Harness/Iterator.pm
- 'Test::Harness::Straps' => '0.19', #lib/Test/Harness/Straps.pm
- 'Text::Abbrev' => '1.01', #lib/Text/Abbrev.pm
- 'Text::Balanced' => '1.95', #lib/Text/Balanced.pm
- 'Text::ParseWords' => '3.21', #lib/Text/ParseWords.pm
- 'Text::Soundex' => '1.01', #lib/Text/Soundex.pm
- 'Text::Tabs' => '98.112801', #lib/Text/Tabs.pm
- 'Text::Wrap' => '2001.09291', #lib/Text/Wrap.pm
- 'Thread::Queue' => '2.00', #lib/Thread/Queue.pm
- 'Thread::Semaphore' => '2.01', #lib/Thread/Semaphore.pm
- 'Tie::Array' => '1.03', #lib/Tie/Array.pm
- 'Tie::File' => '0.97', #lib/Tie/File.pm
- 'Tie::Handle' => '4.1', #lib/Tie/Handle.pm
- 'Tie::Hash' => '1.01', #lib/Tie/Hash.pm
- 'Tie::Memoize' => '1.0', #lib/Tie/Memoize.pm
- 'Tie::RefHash' => '1.31', #lib/Tie/RefHash.pm
- 'Tie::Scalar' => '1.00', #lib/Tie/Scalar.pm
- 'Tie::SubstrHash' => '1.00', #lib/Tie/SubstrHash.pm
- 'Time::gmtime' => '1.02', #lib/Time/gmtime.pm
- 'Time::Local' => '1.07', #lib/Time/Local.pm
- 'Time::localtime' => '1.02', #lib/Time/localtime.pm
- 'Time::tm' => '1.00', #lib/Time/tm.pm
- 'Time::HiRes' => '1.59', #lib/Time/HiRes.pm
- 'Unicode::Collate' => '0.33', #lib/Unicode/Collate.pm
- 'Unicode::UCD' => '0.22', #lib/Unicode/UCD.pm
- 'Unicode::Normalize' => '0.28', #lib/Unicode/Normalize.pm
- 'User::grent' => '1.00', #lib/User/grent.pm
- 'User::pwent' => '1.00', #lib/User/pwent.pm
- 'warnings::register' => '1.00', #lib/warnings/register.pm
- 'B::Stash' => '1.00', #lib/B/Stash.pm
- 'B::Asmdata' => '1.01', #lib/B/Asmdata.pm
- 'B::C' => '1.02', #lib/B/C.pm
- 'B::Deparse' => '0.66', #lib/B/Deparse.pm
- 'B::Debug' => '1.01', #lib/B/Debug.pm
- 'B::Bblock' => '1.02', #lib/B/Bblock.pm
- 'B::Assembler' => '0.07', #lib/B/Assembler.pm
- 'B::Terse' => '1.02', #lib/B/Terse.pm
- 'B::CC' => '1.00', #lib/B/CC.pm
- 'B::Concise' => '0.60', #lib/B/Concise.pm
- 'B::Lint' => '1.02', #lib/B/Lint.pm
- 'B::Showlex' => '1.00', #lib/B/Showlex.pm
- 'B::Bytecode' => '1.01', #lib/B/Bytecode.pm
- 'B::Disassembler' => '1.03', #lib/B/Disassembler.pm
- 'B::Xref' => '1.01', #lib/B/Xref.pm
- 'B::Stackobj' => '1.00', #lib/B/Stackobj.pm
- 'Data::Dumper' => '2.121', #lib/Data/Dumper.pm
- 'Encode::Alias' => '1.38', #lib/Encode/Alias.pm
- 'Encode::Encoding' => '1.33', #lib/Encode/Encoding.pm
- 'Encode::Guess' => '1.09', #lib/Encode/Guess.pm
- 'Encode::Config' => '1.07', #lib/Encode/Config.pm
- 'Encode::Encoder' => '0.07', #lib/Encode/Encoder.pm
- 'Encode::CJKConstants' => '1.02', #lib/Encode/CJKConstants.pm
- 'Encode::Byte' => '1.23', #lib/Encode/Byte.pm
- 'Encode::CN' => '1.24', #lib/Encode/CN.pm
- 'Encode::EBCDIC' => '1.21', #lib/Encode/EBCDIC.pm
- 'Encode::JP' => '1.25', #lib/Encode/JP.pm
- 'Encode::KR' => '1.23', #lib/Encode/KR.pm
- 'Encode::Symbol' => '1.22', #lib/Encode/Symbol.pm
- 'Encode::TW' => '1.26', #lib/Encode/TW.pm
- 'Encode::Unicode' => '1.40', #lib/Encode/Unicode.pm
- 'Encode::JP::H2Z' => '1.02', #lib/Encode/JP/H2Z.pm
- 'Encode::JP::JIS7' => '1.12', #lib/Encode/JP/JIS7.pm
- 'Encode::Unicode::UTF7' => '0.02', #lib/Encode/Unicode/UTF7.pm
- 'Encode::KR::2022_KR' => '1.06', #lib/Encode/KR/2022_KR.pm
- 'Encode::MIME::Header' => '1.09', #lib/Encode/MIME/Header.pm
- 'Encode::CN::HZ' => '1.0501', #lib/Encode/CN/HZ.pm
- 'IO::Pipe' => '1.123', #lib/IO/Pipe.pm
- 'IO::File' => '1.10', #lib/IO/File.pm
- 'IO::Select' => '1.16', #lib/IO/Select.pm
- 'IO::Socket' => '1.28', #lib/IO/Socket.pm
- 'IO::Poll' => '0.06', #lib/IO/Poll.pm
- 'IO::Dir' => '1.04', #lib/IO/Dir.pm
- 'IO::Handle' => '1.24', #lib/IO/Handle.pm
- 'IO::Seekable' => '1.09', #lib/IO/Seekable.pm
- 'IO::Socket::INET' => '1.27', #lib/IO/Socket/INET.pm
- 'IO::Socket::UNIX' => '1.21', #lib/IO/Socket/UNIX.pm
- 'List::Util' => '1.13', #lib/List/Util.pm
- 'Scalar::Util' => '1.13', #lib/Scalar/Util.pm
- 'MIME::QuotedPrint' => '3.01', #lib/MIME/QuotedPrint.pm
- 'MIME::Base64' => '3.01', #lib/MIME/Base64.pm
- 'Sys::Hostname' => '1.11', #lib/Sys/Hostname.pm
- 'Sys::Syslog' => '0.05', #lib/Sys/Syslog.pm
- 'XS::APItest' => '0.03', #lib/XS/APItest.pm
- 'XS::Typemap' => '0.01', #lib/XS/Typemap.pm
- 'threads::shared' => '0.92', #lib/threads/shared.pm
- 'ExtUtils::XSSymSet' => '1.0', #vms/ext/XSSymSet.pm
- 'JNI' => '0.2', #jpl/JNI/JNI.pm
- 'JPL::AutoLoader' => undef, #jpl/JPL/AutoLoader.pm
- 'JPL::Class' => undef, #jpl/JPL/Class.pm
- 'JPL::Compile' => undef, #jpl/JPL/Compile.pm
- 'ODBM_File' => '1.05', #ext/ODBM_File/ODBM_File.pm
- 'OS2::DLL' => '1.02', #os2/OS2/REXX/DLL/DLL.pm
- 'OS2::ExtAttr' => '0.02', #os2/OS2/ExtAttr/ExtAttr.pm
- 'OS2::PrfDB' => '0.03', #os2/OS2/PrfDB/PrfDB.pm
- 'OS2::Process' => '1.01', #os2/OS2/Process/Process.pm
- 'OS2::REXX' => '1.02', #os2/OS2/REXX/REXX.pm
- 'Thread::Signal' => '1.00', #./ext/Thread/Thread/Signal.pm
- 'Thread::Specific' => '1.00', #./ext/Thread/Thread/Specific.pm
- 'VMS::DCLsym' => '1.02', #vms/ext/DCLsym/DCLsym.pm
- 'VMS::Filespec' => '1.11', #vms/ext/Filespec.pm
- 'VMS::Stdio' => '2.3', #vms/ext/Stdio/Stdio.pm
+ delta_from => 5.008003,
+ changed => {
+ 'Attribute::Handlers' => '0.78_01',
+ 'B::Assembler' => '0.07',
+ 'B::Concise' => '0.60',
+ 'B::Deparse' => '0.66',
+ 'Benchmark' => '1.06',
+ 'CGI' => '3.04',
+ 'Carp' => '1.02',
+ 'Cwd' => '2.17',
+ 'DBM_Filter' => '0.01',
+ 'DBM_Filter::compress' => '0.01',
+ 'DBM_Filter::encode' => '0.01',
+ 'DBM_Filter::int32' => '0.01',
+ 'DBM_Filter::null' => '0.01',
+ 'DBM_Filter::utf8' => '0.01',
+ 'Digest' => '1.06',
+ 'DynaLoader' => '1.05',
+ 'Encode' => '1.99_01',
+ 'Encode::CN::HZ' => '1.0501',
+ 'Exporter' => '5.58',
+ 'Exporter::Heavy' => '5.57',
+ 'ExtUtils::Liblist::Kid'=> '1.3001',
+ 'ExtUtils::MM_NW5' => '2.07_02',
+ 'ExtUtils::MM_Win95' => '0.0301',
+ 'File::Find' => '1.07',
+ 'IO::Handle' => '1.24',
+ 'IO::Pipe' => '1.123',
+ 'IPC::Open3' => '1.0106',
+ 'Locale::Maketext' => '1.08',
+ 'MIME::Base64' => '3.01',
+ 'MIME::QuotedPrint' => '3.01',
+ 'Math::BigFloat' => '1.44',
+ 'Math::BigInt' => '1.70',
+ 'Math::BigInt::Calc' => '0.40',
+ 'Math::BigInt::CalcEmu' => '0.04',
+ 'Math::BigRat' => '0.12',
+ 'ODBM_File' => '1.05',
+ 'POSIX' => '1.08',
+ 'Shell' => '0.5.2',
+ 'Socket' => '1.77',
+ 'Storable' => '2.12',
+ 'Sys::Syslog' => '0.05',
+ 'Term::ANSIColor' => '1.08',
+ 'Time::HiRes' => '1.59',
+ 'Unicode' => '4.0.1',
+ 'Unicode::UCD' => '0.22',
+ 'base' => '2.05',
+ 'bigint' => '0.05',
+ 'bignum' => '0.15',
+ 'charnames' => '1.03',
+ 'open' => '1.03',
+ 'threads' => '1.03',
+ 'utf8' => '1.03',
+ },
+ removed => {
+ }
},
-
5.008005 => {
- 'AnyDBM_File' => '1.00', #lib/AnyDBM_File.pm
- 'attributes' => '0.06', #lib/attributes.pm
- 'AutoLoader' => '5.60', #lib/AutoLoader.pm
- 'AutoSplit' => '1.04', #lib/AutoSplit.pm
- 'autouse' => '1.04', #lib/autouse.pm
- 'base' => '2.06', #lib/base.pm
- 'Benchmark' => '1.06', #lib/Benchmark.pm
- 'bigint' => '0.05', #lib/bigint.pm
- 'bignum' => '0.15', #lib/bignum.pm
- 'bigrat' => '0.06', #lib/bigrat.pm
- 'blib' => '1.02', #lib/blib.pm
- 'bytes' => '1.01', #lib/bytes.pm
- 'Carp' => '1.03', #lib/Carp.pm
- 'CGI' => '3.05', #lib/CGI.pm
- 'charnames' => '1.04', #lib/charnames.pm
- 'constant' => '1.04', #lib/constant.pm
- 'CPAN' => '1.76_01', #lib/CPAN.pm
- 'Cwd' => '2.19', #lib/Cwd.pm
- 'DBM_Filter' => '0.01', #lib/DBM_Filter.pm
- 'DB' => '1.0', #lib/DB.pm
- 'diagnostics' => '1.13', #lib/diagnostics.pm
- 'Digest' => '1.08', #lib/Digest.pm
- 'DirHandle' => '1.00', #lib/DirHandle.pm
- 'Dumpvalue' => '1.11', #lib/Dumpvalue.pm
- 'English' => '1.01', #lib/English.pm
- 'Env' => '1.00', #lib/Env.pm
- 'Exporter' => '5.58', #lib/Exporter.pm
- 'Fatal' => '1.03', #lib/Fatal.pm
- 'fields' => '2.03', #lib/fields.pm
- 'FileCache' => '1.04_01', #lib/FileCache.pm
- 'FileHandle' => '2.01', #lib/FileHandle.pm
- 'filetest' => '1.01', #lib/filetest.pm
- 'FindBin' => '1.44', #lib/FindBin.pm
- 'if' => '0.03', #lib/if.pm
- 'integer' => '1.00', #lib/integer.pm
- 'less' => '0.01', #lib/less.pm
- 'locale' => '1.00', #lib/locale.pm
- 'Memoize' => '1.01', #lib/Memoize.pm
- 'NEXT' => '0.60', #lib/NEXT.pm
- 'open' => '1.03', #lib/open.pm
- 'overload' => '1.01', #lib/overload.pm
- 'PerlIO' => '1.03', #lib/PerlIO.pm
- 'SelectSaver' => '1.00', #lib/SelectSaver.pm
- 'SelfLoader' => '1.0904', #lib/SelfLoader.pm
- 'Shell' => '0.6', #lib/Shell.pm
- 'sigtrap' => '1.02', #lib/sigtrap.pm
- 'sort' => '1.02', #lib/sort.pm
- 'strict' => '1.03', #lib/strict.pm
- 'subs' => '1.00', #lib/subs.pm
- 'Switch' => '2.10', #lib/Switch.pm
- 'Symbol' => '1.05', #lib/Symbol.pm
- 'Test' => '1.25', #lib/Test.pm
- 'Thread' => '2.00', #lib/Thread.pm
- 'UNIVERSAL' => '1.01', #lib/UNIVERSAL.pm
- 'utf8' => '1.04', #lib/utf8.pm
- 'vars' => '1.01', #lib/vars.pm
- 'vmsish' => '1.01', #lib/vmsish.pm
- 'warnings' => '1.03', #lib/warnings.pm
- 'Config' => undef, #lib/Config.pm
- 'lib' => '0.5565', #lib/lib.pm
- 're' => '0.04', #lib/re.pm
- 'XSLoader' => '0.02', #lib/XSLoader.pm
- 'DynaLoader' => '1.05', #lib/DynaLoader.pm
- 'attrs' => '1.01', #lib/attrs.pm
- 'B' => '1.02', #lib/B.pm
- 'O' => '1.00', #lib/O.pm
- 'ByteLoader' => '0.05', #lib/ByteLoader.pm
- 'DB_File' => '1.809', #lib/DB_File.pm
- 'Encode' => '2.01', #lib/Encode.pm
- 'encoding' => '2.00', #lib/encoding.pm
- 'Fcntl' => '1.05', #lib/Fcntl.pm
- 'GDBM_File' => '1.07', #lib/GDBM_File.pm
- 'IO' => '1.21', #lib/IO.pm
- 'NDBM_File' => '1.05', #lib/NDBM_File.pm
- 'Safe' => '2.11', #lib/Safe.pm
- 'Opcode' => '1.05', #lib/Opcode.pm
- 'ops' => '1.00', #lib/ops.pm
- 'POSIX' => '1.08', #lib/POSIX.pm
- 'SDBM_File' => '1.04', #lib/SDBM_File.pm
- 'Socket' => '1.77', #lib/Socket.pm
- 'Storable' => '2.13', #lib/Storable.pm
- 'threads' => '1.05', #lib/threads.pm
- 'Errno' => '1.09_00', #lib/Errno.pm
- 'Attribute::Handlers' => '0.78_01', #lib/Attribute/Handlers.pm
- 'Carp::Heavy' => '1.01', #lib/Carp/Heavy.pm
- 'CGI::Apache' => '1.00', #lib/CGI/Apache.pm
- 'CGI::Carp' => '1.28', #lib/CGI/Carp.pm
- 'CGI::Cookie' => '1.24', #lib/CGI/Cookie.pm
- 'CGI::Fast' => '1.05', #lib/CGI/Fast.pm
- 'CGI::Pretty' => '1.08', #lib/CGI/Pretty.pm
- 'CGI::Push' => '1.04', #lib/CGI/Push.pm
- 'CGI::Switch' => '1.00', #lib/CGI/Switch.pm
- 'CGI::Util' => '1.5', #lib/CGI/Util.pm
- 'Class::ISA' => '0.32', #lib/Class/ISA.pm
- 'Class::Struct' => '0.63', #lib/Class/Struct.pm
- 'CPAN::FirstTime' => '1.60 ', #lib/CPAN/FirstTime.pm
- 'CPAN::Nox' => '1.03', #lib/CPAN/Nox.pm
- 'DBM_Filter::compress' => '0.01', #lib/DBM_Filter/compress.pm
- 'DBM_Filter::encode' => '0.01', #lib/DBM_Filter/encode.pm
- 'DBM_Filter::int32' => '0.01', #lib/DBM_Filter/int32.pm
- 'DBM_Filter::null' => '0.01', #lib/DBM_Filter/null.pm
- 'DBM_Filter::utf8' => '0.01', #lib/DBM_Filter/utf8.pm
- 'Devel::SelfStubber' => '1.03', #lib/Devel/SelfStubber.pm
- 'Devel::DProf' => '20030813.00', #lib/Devel/DProf.pm
- 'Devel::Peek' => '1.01', #lib/Devel/Peek.pm
- 'Devel::PPPort' => '2.011', #lib/Devel/PPPort.pm
- 'Digest::base' => '1.00', #lib/Digest/base.pm
- 'Digest::MD5' => '2.33', #lib/Digest/MD5.pm
- 'Exporter::Heavy' => '5.57', #lib/Exporter/Heavy.pm
- 'ExtUtils::Command' => '1.05', #lib/ExtUtils/Command.pm
- 'ExtUtils::Constant' => '0.14', #lib/ExtUtils/Constant.pm
- 'ExtUtils::Embed' => '1.250601', #lib/ExtUtils/Embed.pm
- 'ExtUtils::Installed' => '0.08', #lib/ExtUtils/Installed.pm
- 'ExtUtils::Install' => '1.32', #lib/ExtUtils/Install.pm
- 'ExtUtils::Liblist' => '1.01', #lib/ExtUtils/Liblist.pm
- 'ExtUtils::MakeMaker' => '6.17', #lib/ExtUtils/MakeMaker.pm
- 'ExtUtils::Manifest' => '1.42', #lib/ExtUtils/Manifest.pm
- 'ExtUtils::Mkbootstrap' => '1.15', #lib/ExtUtils/Mkbootstrap.pm
- 'ExtUtils::Mksymlists' => '1.19', #lib/ExtUtils/Mksymlists.pm
- 'ExtUtils::MM_Any' => '0.07', #lib/ExtUtils/MM_Any.pm
- 'ExtUtils::MM_BeOS' => '1.04', #lib/ExtUtils/MM_BeOS.pm
- 'ExtUtils::MM_Cygwin' => '1.06', #lib/ExtUtils/MM_Cygwin.pm
- 'ExtUtils::MM_DOS' => '0.02', #lib/ExtUtils/MM_DOS.pm
- 'ExtUtils::MM_MacOS' => '1.07', #lib/ExtUtils/MM_MacOS.pm
- 'ExtUtils::MM_NW5' => '2.07_02', #lib/ExtUtils/MM_NW5.pm
- 'ExtUtils::MM' => '0.04', #lib/ExtUtils/MM.pm
- 'ExtUtils::MM_OS2' => '1.04', #lib/ExtUtils/MM_OS2.pm
- 'ExtUtils::MM_Unix' => '1.42', #lib/ExtUtils/MM_Unix.pm
- 'ExtUtils::MM_UWIN' => '0.02', #lib/ExtUtils/MM_UWIN.pm
- 'ExtUtils::MM_VMS' => '5.70', #lib/ExtUtils/MM_VMS.pm
- 'ExtUtils::MM_Win32' => '1.09', #lib/ExtUtils/MM_Win32.pm
- 'ExtUtils::MM_Win95' => '0.0301', #lib/ExtUtils/MM_Win95.pm
- 'ExtUtils::MY' => '0.01', #lib/ExtUtils/MY.pm
- 'ExtUtils::Packlist' => '0.04', #lib/ExtUtils/Packlist.pm
- 'ExtUtils::testlib' => '1.15', #lib/ExtUtils/testlib.pm
- 'ExtUtils::Miniperl' => undef, #lib/ExtUtils/Miniperl.pm
- 'ExtUtils::Command::MM' => '0.03', #lib/ExtUtils/Command/MM.pm
- 'ExtUtils::Liblist::Kid'=> '1.3001', #lib/ExtUtils/Liblist/Kid.pm
- 'ExtUtils::MakeMaker::bytes'=> '0.01', #lib/ExtUtils/MakeMaker/bytes.pm
- 'ExtUtils::MakeMaker::vmsish'=> '0.01', #lib/ExtUtils/MakeMaker/vmsish.pm
- 'File::Basename' => '2.73', #lib/File/Basename.pm
- 'File::CheckTree' => '4.3', #lib/File/CheckTree.pm
- 'File::Compare' => '1.1003', #lib/File/Compare.pm
- 'File::Copy' => '2.08', #lib/File/Copy.pm
- 'File::DosGlob' => '1.00', #lib/File/DosGlob.pm
- 'File::Find' => '1.07', #lib/File/Find.pm
- 'File::Path' => '1.06', #lib/File/Path.pm
- 'File::Spec' => '0.87', #lib/File/Spec.pm
- 'File::stat' => '1.00', #lib/File/stat.pm
- 'File::Temp' => '0.14', #lib/File/Temp.pm
- 'File::Glob' => '1.03', #lib/File/Glob.pm
- 'File::Spec::Cygwin' => '1.1', #lib/File/Spec/Cygwin.pm
- 'File::Spec::Epoc' => '1.1', #lib/File/Spec/Epoc.pm
- 'File::Spec::Functions' => '1.3', #lib/File/Spec/Functions.pm
- 'File::Spec::Mac' => '1.4', #lib/File/Spec/Mac.pm
- 'File::Spec::OS2' => '1.2', #lib/File/Spec/OS2.pm
- 'File::Spec::Unix' => '1.5', #lib/File/Spec/Unix.pm
- 'File::Spec::VMS' => '1.4', #lib/File/Spec/VMS.pm
- 'File::Spec::Win32' => '1.4', #lib/File/Spec/Win32.pm
- 'Filter::Simple' => '0.78', #lib/Filter/Simple.pm
- 'Filter::Util::Call' => '1.0601', #lib/Filter/Util/Call.pm
- 'Getopt::Long' => '2.34', #lib/Getopt/Long.pm
- 'Getopt::Std' => '1.05', #lib/Getopt/Std.pm
- 'Hash::Util' => '0.05', #lib/Hash/Util.pm
- 'I18N::Collate' => '1.00', #lib/I18N/Collate.pm
- 'I18N::LangTags' => '0.33', #lib/I18N/LangTags.pm
- 'I18N::Langinfo' => '0.02', #lib/I18N/Langinfo.pm
- 'I18N::LangTags::Detect'=> '1.03', #lib/I18N/LangTags/Detect.pm
- 'I18N::LangTags::List' => '0.29', #lib/I18N/LangTags/List.pm
- 'IPC::Open2' => '1.01', #lib/IPC/Open2.pm
- 'IPC::Open3' => '1.0106', #lib/IPC/Open3.pm
- 'IPC::Msg' => '1.02', #lib/IPC/Msg.pm
- 'IPC::Semaphore' => '1.02', #lib/IPC/Semaphore.pm
- 'IPC::SysV' => '1.04', #lib/IPC/SysV.pm
- 'Locale::Constants' => '2.07', #lib/Locale/Constants.pm
- 'Locale::Country' => '2.07', #lib/Locale/Country.pm
- 'Locale::Currency' => '2.07', #lib/Locale/Currency.pm
- 'Locale::Language' => '2.07', #lib/Locale/Language.pm
- 'Locale::Maketext' => '1.09', #lib/Locale/Maketext.pm
- 'Locale::Script' => '2.07', #lib/Locale/Script.pm
- 'Locale::Maketext::GutsLoader'=> undef, #lib/Locale/Maketext/GutsLoader.pm
- 'Locale::Maketext::Guts'=> undef, #lib/Locale/Maketext/Guts.pm
- 'Math::BigFloat' => '1.44', #lib/Math/BigFloat.pm
- 'Math::BigInt' => '1.70', #lib/Math/BigInt.pm
- 'Math::BigRat' => '0.12', #lib/Math/BigRat.pm
- 'Math::Complex' => '1.34', #lib/Math/Complex.pm
- 'Math::Trig' => '1.02', #lib/Math/Trig.pm
- 'Math::BigFloat::Trace' => '0.01', #lib/Math/BigFloat/Trace.pm
- 'Math::BigInt::CalcEmu' => '0.04', #lib/Math/BigInt/CalcEmu.pm
- 'Math::BigInt::Calc' => '0.40', #lib/Math/BigInt/Calc.pm
- 'Math::BigInt::Trace' => '0.01', #lib/Math/BigInt/Trace.pm
- 'Memoize::AnyDBM_File' => '0.65', #lib/Memoize/AnyDBM_File.pm
- 'Memoize::ExpireFile' => '1.01', #lib/Memoize/ExpireFile.pm
- 'Memoize::Expire' => '1.00', #lib/Memoize/Expire.pm
- 'Memoize::ExpireTest' => '0.65', #lib/Memoize/ExpireTest.pm
- 'Memoize::NDBM_File' => '0.65', #lib/Memoize/NDBM_File.pm
- 'Memoize::SDBM_File' => '0.65', #lib/Memoize/SDBM_File.pm
- 'Memoize::Storable' => '0.65', #lib/Memoize/Storable.pm
- 'Net::Cmd' => '2.26', #lib/Net/Cmd.pm
- 'Net::Config' => '1.10', #lib/Net/Config.pm
- 'Net::Domain' => '2.19', #lib/Net/Domain.pm
- 'Net::FTP' => '2.75', #lib/Net/FTP.pm
- 'Net::hostent' => '1.01', #lib/Net/hostent.pm
- 'Net::netent' => '1.00', #lib/Net/netent.pm
- 'Net::Netrc' => '2.12', #lib/Net/Netrc.pm
- 'Net::NNTP' => '2.23', #lib/Net/NNTP.pm
- 'Net::Ping' => '2.31', #lib/Net/Ping.pm
- 'Net::POP3' => '2.28', #lib/Net/POP3.pm
- 'Net::protoent' => '1.00', #lib/Net/protoent.pm
- 'Net::servent' => '1.01', #lib/Net/servent.pm
- 'Net::SMTP' => '2.29', #lib/Net/SMTP.pm
- 'Net::Time' => '2.10', #lib/Net/Time.pm
- 'Net::FTP::A' => '1.16', #lib/Net/FTP/A.pm
- 'Net::FTP::dataconn' => '0.11', #lib/Net/FTP/dataconn.pm
- 'Net::FTP::E' => '0.01', #lib/Net/FTP/E.pm
- 'Net::FTP::I' => '1.12', #lib/Net/FTP/I.pm
- 'Net::FTP::L' => '0.01', #lib/Net/FTP/L.pm
- 'PerlIO::encoding' => '0.07', #lib/PerlIO/encoding.pm
- 'PerlIO::scalar' => '0.02', #lib/PerlIO/scalar.pm
- 'PerlIO::via' => '0.02', #lib/PerlIO/via.pm
- 'PerlIO::via::QuotedPrint'=> '0.06', #lib/PerlIO/via/QuotedPrint.pm
- 'Pod::Checker' => '1.42', #lib/Pod/Checker.pm
- 'Pod::Find' => '0.2401', #lib/Pod/Find.pm
- 'Pod::Functions' => '1.02', #lib/Pod/Functions.pm
- 'Pod::Html' => '1.0502', #lib/Pod/Html.pm
- 'Pod::InputObjects' => '1.14', #lib/Pod/InputObjects.pm
- 'Pod::LaTeX' => '0.56', #lib/Pod/LaTeX.pm
- 'Pod::Man' => '1.37', #lib/Pod/Man.pm
- 'Pod::ParseLink' => '1.06', #lib/Pod/ParseLink.pm
- 'Pod::Parser' => '1.14', #lib/Pod/Parser.pm
- 'Pod::ParseUtils' => '1.2', #lib/Pod/ParseUtils.pm
- 'Pod::Perldoc' => '3.13', #lib/Pod/Perldoc.pm
- 'Pod::Plainer' => '0.01', #lib/Pod/Plainer.pm
- 'Pod::PlainText' => '2.02', #lib/Pod/PlainText.pm
- 'Pod::Select' => '1.13', #lib/Pod/Select.pm
- 'Pod::Text' => '2.21', #lib/Pod/Text.pm
- 'Pod::Usage' => '1.16', #lib/Pod/Usage.pm
- 'Pod::Perldoc::BaseTo' => undef, #lib/Pod/Perldoc/BaseTo.pm
- 'Pod::Perldoc::GetOptsOO'=> undef, #lib/Pod/Perldoc/GetOptsOO.pm
- 'Pod::Perldoc::ToChecker'=> undef, #lib/Pod/Perldoc/ToChecker.pm
- 'Pod::Perldoc::ToMan' => undef, #lib/Pod/Perldoc/ToMan.pm
- 'Pod::Perldoc::ToNroff' => undef, #lib/Pod/Perldoc/ToNroff.pm
- 'Pod::Perldoc::ToPod' => undef, #lib/Pod/Perldoc/ToPod.pm
- 'Pod::Perldoc::ToRtf' => undef, #lib/Pod/Perldoc/ToRtf.pm
- 'Pod::Perldoc::ToText' => undef, #lib/Pod/Perldoc/ToText.pm
- 'Pod::Perldoc::ToTk' => 'undef', #lib/Pod/Perldoc/ToTk.pm
- 'Pod::Perldoc::ToXml' => undef, #lib/Pod/Perldoc/ToXml.pm
- 'Pod::Text::Color' => '1.04', #lib/Pod/Text/Color.pm
- 'Pod::Text::Overstrike' => '1.1', #lib/Pod/Text/Overstrike.pm
- 'Pod::Text::Termcap' => '1.11', #lib/Pod/Text/Termcap.pm
- 'Search::Dict' => '1.02', #lib/Search/Dict.pm
- 'Term::ANSIColor' => '1.08', #lib/Term/ANSIColor.pm
- 'Term::Cap' => '1.09', #lib/Term/Cap.pm
- 'Term::Complete' => '1.401', #lib/Term/Complete.pm
- 'Term::ReadLine' => '1.01', #lib/Term/ReadLine.pm
- 'Test::Builder' => '0.17', #lib/Test/Builder.pm
- 'Test::Harness' => '2.42', #lib/Test/Harness.pm
- 'Test::More' => '0.47', #lib/Test/More.pm
- 'Test::Simple' => '0.47', #lib/Test/Simple.pm
- 'Test::Harness::Assert' => '0.02', #lib/Test/Harness/Assert.pm
- 'Test::Harness::Iterator'=> '0.02', #lib/Test/Harness/Iterator.pm
- 'Test::Harness::Straps' => '0.19', #lib/Test/Harness/Straps.pm
- 'Text::Abbrev' => '1.01', #lib/Text/Abbrev.pm
- 'Text::Balanced' => '1.95', #lib/Text/Balanced.pm
- 'Text::ParseWords' => '3.22', #lib/Text/ParseWords.pm
- 'Text::Soundex' => '1.01', #lib/Text/Soundex.pm
- 'Text::Tabs' => '98.112801', #lib/Text/Tabs.pm
- 'Text::Wrap' => '2001.09292', #lib/Text/Wrap.pm
- 'Thread::Queue' => '2.00', #lib/Thread/Queue.pm
- 'Thread::Semaphore' => '2.01', #lib/Thread/Semaphore.pm
- 'Tie::Array' => '1.03', #lib/Tie/Array.pm
- 'Tie::File' => '0.97', #lib/Tie/File.pm
- 'Tie::Handle' => '4.1', #lib/Tie/Handle.pm
- 'Tie::Hash' => '1.01', #lib/Tie/Hash.pm
- 'Tie::Memoize' => '1.0', #lib/Tie/Memoize.pm
- 'Tie::RefHash' => '1.31', #lib/Tie/RefHash.pm
- 'Tie::Scalar' => '1.00', #lib/Tie/Scalar.pm
- 'Tie::SubstrHash' => '1.00', #lib/Tie/SubstrHash.pm
- 'Time::gmtime' => '1.02', #lib/Time/gmtime.pm
- 'Time::Local' => '1.10', #lib/Time/Local.pm
- 'Time::localtime' => '1.02', #lib/Time/localtime.pm
- 'Time::tm' => '1.00', #lib/Time/tm.pm
- 'Time::HiRes' => '1.59', #lib/Time/HiRes.pm
- 'Unicode' => '4.0.1', # lib/unicore/version
- 'Unicode::Collate' => '0.40', #lib/Unicode/Collate.pm
- 'Unicode::UCD' => '0.22', #lib/Unicode/UCD.pm
- 'Unicode::Normalize' => '0.30', #lib/Unicode/Normalize.pm
- 'User::grent' => '1.00', #lib/User/grent.pm
- 'User::pwent' => '1.00', #lib/User/pwent.pm
- 'warnings::register' => '1.00', #lib/warnings/register.pm
- 'B::Stash' => '1.00', #lib/B/Stash.pm
- 'B::Asmdata' => '1.01', #lib/B/Asmdata.pm
- 'B::C' => '1.02', #lib/B/C.pm
- 'B::Deparse' => '0.67', #lib/B/Deparse.pm
- 'B::Debug' => '1.01', #lib/B/Debug.pm
- 'B::Bblock' => '1.02', #lib/B/Bblock.pm
- 'B::Assembler' => '0.07', #lib/B/Assembler.pm
- 'B::Terse' => '1.02', #lib/B/Terse.pm
- 'B::CC' => '1.00', #lib/B/CC.pm
- 'B::Concise' => '0.61', #lib/B/Concise.pm
- 'B::Lint' => '1.02', #lib/B/Lint.pm
- 'B::Showlex' => '1.00', #lib/B/Showlex.pm
- 'B::Bytecode' => '1.01', #lib/B/Bytecode.pm
- 'B::Disassembler' => '1.03', #lib/B/Disassembler.pm
- 'B::Xref' => '1.01', #lib/B/Xref.pm
- 'B::Stackobj' => '1.00', #lib/B/Stackobj.pm
- 'Data::Dumper' => '2.121', #lib/Data/Dumper.pm
- 'Encode::Alias' => '2.00', #lib/Encode/Alias.pm
- 'Encode::Encoding' => '2.00', #lib/Encode/Encoding.pm
- 'Encode::Guess' => '2.00', #lib/Encode/Guess.pm
- 'Encode::Config' => '2.00', #lib/Encode/Config.pm
- 'Encode::Encoder' => '2.00', #lib/Encode/Encoder.pm
- 'Encode::CJKConstants' => '2.00', #lib/Encode/CJKConstants.pm
- 'Encode::Byte' => '2.00', #lib/Encode/Byte.pm
- 'Encode::CN' => '2.00', #lib/Encode/CN.pm
- 'Encode::EBCDIC' => '2.00', #lib/Encode/EBCDIC.pm
- 'Encode::JP' => '2.00', #lib/Encode/JP.pm
- 'Encode::KR' => '2.00', #lib/Encode/KR.pm
- 'Encode::Symbol' => '2.00', #lib/Encode/Symbol.pm
- 'Encode::TW' => '2.00', #lib/Encode/TW.pm
- 'Encode::Unicode' => '2.00', #lib/Encode/Unicode.pm
- 'Encode::JP::H2Z' => '2.00', #lib/Encode/JP/H2Z.pm
- 'Encode::JP::JIS7' => '2.00', #lib/Encode/JP/JIS7.pm
- 'Encode::Unicode::UTF7' => '2.01', #lib/Encode/Unicode/UTF7.pm
- 'Encode::KR::2022_KR' => '2.00', #lib/Encode/KR/2022_KR.pm
- 'Encode::MIME::Header' => '2.00', #lib/Encode/MIME/Header.pm
- 'Encode::CN::HZ' => '2.01', #lib/Encode/CN/HZ.pm
- 'IO::Pipe' => '1.123', #lib/IO/Pipe.pm
- 'IO::File' => '1.10', #lib/IO/File.pm
- 'IO::Select' => '1.16', #lib/IO/Select.pm
- 'IO::Socket' => '1.28', #lib/IO/Socket.pm
- 'IO::Poll' => '0.06', #lib/IO/Poll.pm
- 'IO::Dir' => '1.04', #lib/IO/Dir.pm
- 'IO::Handle' => '1.24', #lib/IO/Handle.pm
- 'IO::Seekable' => '1.09', #lib/IO/Seekable.pm
- 'IO::Socket::INET' => '1.27', #lib/IO/Socket/INET.pm
- 'IO::Socket::UNIX' => '1.21', #lib/IO/Socket/UNIX.pm
- 'List::Util' => '1.14', #lib/List/Util.pm
- 'Scalar::Util' => '1.14', #lib/Scalar/Util.pm
- 'MIME::QuotedPrint' => '3.01', #lib/MIME/QuotedPrint.pm
- 'MIME::Base64' => '3.01', #lib/MIME/Base64.pm
- 'Sys::Hostname' => '1.11', #lib/Sys/Hostname.pm
- 'Sys::Syslog' => '0.05', #lib/Sys/Syslog.pm
- 'XS::APItest' => '0.04', #lib/XS/APItest.pm
- 'XS::Typemap' => '0.01', #lib/XS/Typemap.pm
- 'threads::shared' => '0.92', #lib/threads/shared.pm
- 'ExtUtils::XSSymSet' => '1.0', #vms/ext/XSSymSet.pm
- 'JNI' => '0.2', #jpl/JNI/JNI.pm
- 'JPL::AutoLoader' => undef, #jpl/JPL/AutoLoader.pm
- 'JPL::Class' => undef, #jpl/JPL/Class.pm
- 'JPL::Compile' => undef, #jpl/JPL/Compile.pm
- 'ODBM_File' => '1.05', #ext/ODBM_File/ODBM_File.pm
- 'OS2::DLL' => '1.02', #os2/OS2/REXX/DLL/DLL.pm
- 'OS2::ExtAttr' => '0.02', #os2/OS2/ExtAttr/ExtAttr.pm
- 'OS2::PrfDB' => '0.03', #os2/OS2/PrfDB/PrfDB.pm
- 'OS2::Process' => '1.01', #os2/OS2/Process/Process.pm
- 'OS2::REXX' => '1.02', #os2/OS2/REXX/REXX.pm
- 'Thread::Signal' => '1.00', #./ext/Thread/Thread/Signal.pm
- 'Thread::Specific' => '1.00', #./ext/Thread/Thread/Specific.pm
- 'VMS::DCLsym' => '1.02', #vms/ext/DCLsym/DCLsym.pm
- 'VMS::Filespec' => '1.11', #vms/ext/Filespec.pm
- 'VMS::Stdio' => '2.3', #vms/ext/Stdio/Stdio.pm
+ delta_from => 5.008004,
+ changed => {
+ 'B::Concise' => '0.61',
+ 'B::Deparse' => '0.67',
+ 'CGI' => '3.05',
+ 'CGI::Carp' => '1.28',
+ 'CGI::Util' => '1.5',
+ 'Carp' => '1.03',
+ 'Carp::Heavy' => '1.03',
+ 'Cwd' => '2.19',
+ 'DB_File' => '1.809',
+ 'Digest' => '1.08',
+ 'Encode' => '2.01',
+ 'Encode::Alias' => '2.00',
+ 'Encode::Byte' => '2.00',
+ 'Encode::CJKConstants' => '2.00',
+ 'Encode::CN' => '2.00',
+ 'Encode::CN::HZ' => '2.01',
+ 'Encode::Config' => '2.00',
+ 'Encode::EBCDIC' => '2.00',
+ 'Encode::Encoder' => '2.00',
+ 'Encode::Encoding' => '2.00',
+ 'Encode::Guess' => '2.00',
+ 'Encode::JP' => '2.00',
+ 'Encode::JP::H2Z' => '2.00',
+ 'Encode::JP::JIS7' => '2.00',
+ 'Encode::KR' => '2.00',
+ 'Encode::KR::2022_KR' => '2.00',
+ 'Encode::MIME::Header' => '2.00',
+ 'Encode::Symbol' => '2.00',
+ 'Encode::TW' => '2.00',
+ 'Encode::Unicode' => '2.00',
+ 'Encode::Unicode::UTF7' => '2.01',
+ 'File::Basename' => '2.73',
+ 'File::Copy' => '2.08',
+ 'File::Glob' => '1.03',
+ 'FileCache' => '1.04_01',
+ 'I18N::LangTags' => '0.33',
+ 'I18N::LangTags::Detect'=> '1.03',
+ 'List::Util' => '1.14',
+ 'Locale::Constants' => '2.07',
+ 'Locale::Country' => '2.07',
+ 'Locale::Currency' => '2.07',
+ 'Locale::Language' => '2.07',
+ 'Locale::Maketext' => '1.09',
+ 'Locale::Script' => '2.07',
+ 'Net::Cmd' => '2.26',
+ 'Net::FTP' => '2.75',
+ 'Net::NNTP' => '2.23',
+ 'Net::POP3' => '2.28',
+ 'Net::SMTP' => '2.29',
+ 'Net::Time' => '2.10',
+ 'Pod::Checker' => '1.42',
+ 'Pod::Find' => '0.2401',
+ 'Pod::LaTeX' => '0.56',
+ 'Pod::ParseUtils' => '1.2',
+ 'Pod::Perldoc' => '3.13',
+ 'Safe' => '2.11',
+ 'Scalar::Util' => '1.14',
+ 'Shell' => '0.6',
+ 'Storable' => '2.13',
+ 'Term::Cap' => '1.09',
+ 'Test' => '1.25',
+ 'Test::Harness' => '2.42',
+ 'Text::ParseWords' => '3.22',
+ 'Text::Wrap' => '2001.09292',
+ 'Time::Local' => '1.10',
+ 'Unicode::Collate' => '0.40',
+ 'Unicode::Normalize' => '0.30',
+ 'XS::APItest' => '0.04',
+ 'autouse' => '1.04',
+ 'base' => '2.06',
+ 'charnames' => '1.04',
+ 'diagnostics' => '1.13',
+ 'encoding' => '2.00',
+ 'threads' => '1.05',
+ 'utf8' => '1.04',
+ },
+ removed => {
+ }
},
-
5.008006 => {
- 'AnyDBM_File' => '1.00', #lib/AnyDBM_File.pm
- 'Attribute::Handlers' => '0.78_01', #lib/Attribute/Handlers.pm
- 'attributes' => '0.06', #lib/attributes.pm
- 'attrs' => '1.01', #lib/attrs.pm
- 'AutoLoader' => '5.60', #lib/AutoLoader.pm
- 'AutoSplit' => '1.04', #lib/AutoSplit.pm
- 'autouse' => '1.04', #lib/autouse.pm
- 'B' => '1.07', #lib/B.pm
- 'base' => '2.06', #lib/base.pm
- 'B::Asmdata' => '1.01', #lib/B/Asmdata.pm
- 'B::Assembler' => '0.07', #lib/B/Assembler.pm
- 'B::Bblock' => '1.02', #lib/B/Bblock.pm
- 'B::Bytecode' => '1.01', #lib/B/Bytecode.pm
- 'B::C' => '1.04', #lib/B/C.pm
- 'B::CC' => '1.00', #lib/B/CC.pm
- 'B::Concise' => '0.64', #lib/B/Concise.pm
- 'B::Debug' => '1.02', #lib/B/Debug.pm
- 'B::Deparse' => '0.69', #lib/B/Deparse.pm
- 'B::Disassembler' => '1.03', #lib/B/Disassembler.pm
- 'Benchmark' => '1.06', #lib/Benchmark.pm
- 'bigint' => '0.05', #lib/bigint.pm
- 'bignum' => '0.15', #lib/bignum.pm
- 'bigrat' => '0.06', #lib/bigrat.pm
- 'blib' => '1.02', #lib/blib.pm
- 'B::Lint' => '1.03', #lib/B/Lint.pm
- 'B::Showlex' => '1.02', #lib/B/Showlex.pm
- 'B::Stackobj' => '1.00', #lib/B/Stackobj.pm
- 'B::Stash' => '1.00', #lib/B/Stash.pm
- 'B::Terse' => '1.02', #lib/B/Terse.pm
- 'B::Xref' => '1.01', #lib/B/Xref.pm
- 'ByteLoader' => '0.05', #lib/ByteLoader.pm
- 'bytes' => '1.01', #lib/bytes.pm
- 'Carp' => '1.03', #lib/Carp.pm
- 'Carp::Heavy' => '1.03', #lib/Carp/Heavy.pm
- 'CGI' => '3.05', #lib/CGI.pm
- 'CGI::Apache' => '1.00', #lib/CGI/Apache.pm
- 'CGI::Carp' => '1.28', #lib/CGI/Carp.pm
- 'CGI::Cookie' => '1.24', #lib/CGI/Cookie.pm
- 'CGI::Fast' => '1.05', #lib/CGI/Fast.pm
- 'CGI::Pretty' => '1.08', #lib/CGI/Pretty.pm
- 'CGI::Push' => '1.04', #lib/CGI/Push.pm
- 'CGI::Switch' => '1.00', #lib/CGI/Switch.pm
- 'CGI::Util' => '1.5', #lib/CGI/Util.pm
- 'charnames' => '1.04', #lib/charnames.pm
- 'Class::ISA' => '0.32', #lib/Class/ISA.pm
- 'Class::Struct' => '0.63', #lib/Class/Struct.pm
- 'Config' => undef, #lib/Config.pm
- 'constant' => '1.04', #lib/constant.pm
- 'CPAN' => '1.76_01', #lib/CPAN.pm
- 'CPAN::FirstTime' => '1.60 ', #lib/CPAN/FirstTime.pm
- 'CPAN::Nox' => '1.03', #lib/CPAN/Nox.pm
- 'Cwd' => '3.01', #lib/Cwd.pm
- 'Data::Dumper' => '2.121_02', #lib/Data/Dumper.pm
- 'DB' => '1.0', #lib/DB.pm
- 'DB_File' => '1.810', #lib/DB_File.pm
- 'DBM_Filter' => '0.01', #lib/DBM_Filter.pm
- 'DBM_Filter::compress' => '0.01', #lib/DBM_Filter/compress.pm
- 'DBM_Filter::encode' => '0.01', #lib/DBM_Filter/encode.pm
- 'DBM_Filter::int32' => '0.01', #lib/DBM_Filter/int32.pm
- 'DBM_Filter::null' => '0.01', #lib/DBM_Filter/null.pm
- 'DBM_Filter::utf8' => '0.01', #lib/DBM_Filter/utf8.pm
- 'Devel::DProf' => '20030813.00', #lib/Devel/DProf.pm
- 'Devel::Peek' => '1.02', #lib/Devel/Peek.pm
- 'Devel::PPPort' => '3.03', #lib/Devel/PPPort.pm
- 'Devel::SelfStubber' => '1.03', #lib/Devel/SelfStubber.pm
- 'diagnostics' => '1.14', #lib/diagnostics.pm
- 'Digest' => '1.08', #lib/Digest.pm
- 'Digest::base' => '1.00', #lib/Digest/base.pm
- 'Digest::MD5' => '2.33', #lib/Digest/MD5.pm
- 'DirHandle' => '1.00', #lib/DirHandle.pm
- 'Dumpvalue' => '1.11', #lib/Dumpvalue.pm
- 'DynaLoader' => '1.05', #lib/DynaLoader.pm
- 'Encode' => '2.08', #lib/Encode.pm
- 'Encode::Alias' => '2.02', #lib/Encode/Alias.pm
- 'Encode::Byte' => '2.00', #lib/Encode/Byte.pm
- 'Encode::CJKConstants' => '2.00', #lib/Encode/CJKConstants.pm
- 'Encode::CN' => '2.00', #lib/Encode/CN.pm
- 'Encode::CN::HZ' => '2.01', #lib/Encode/CN/HZ.pm
- 'Encode::Config' => '2.00', #lib/Encode/Config.pm
- 'Encode::EBCDIC' => '2.00', #lib/Encode/EBCDIC.pm
- 'Encode::Encoder' => '2.00', #lib/Encode/Encoder.pm
- 'Encode::Encoding' => '2.02', #lib/Encode/Encoding.pm
- 'Encode::Guess' => '2.00', #lib/Encode/Guess.pm
- 'Encode::JP' => '2.01', #lib/Encode/JP.pm
- 'Encode::JP::H2Z' => '2.00', #lib/Encode/JP/H2Z.pm
- 'Encode::JP::JIS7' => '2.00', #lib/Encode/JP/JIS7.pm
- 'Encode::KR' => '2.00', #lib/Encode/KR.pm
- 'Encode::KR::2022_KR' => '2.00', #lib/Encode/KR/2022_KR.pm
- 'Encode::MIME::Header' => '2.00', #lib/Encode/MIME/Header.pm
- 'Encode::Symbol' => '2.00', #lib/Encode/Symbol.pm
- 'Encode::TW' => '2.00', #lib/Encode/TW.pm
- 'Encode::Unicode' => '2.02', #lib/Encode/Unicode.pm
- 'Encode::Unicode::UTF7' => '2.01', #lib/Encode/Unicode/UTF7.pm
- 'encoding' => '2.01', #lib/encoding.pm
- 'English' => '1.01', #lib/English.pm
- 'Env' => '1.00', #lib/Env.pm
- 'Errno' => '1.09_00', #lib/Errno.pm
- 'Exporter' => '5.58', #lib/Exporter.pm
- 'Exporter::Heavy' => '5.58', #lib/Exporter/Heavy.pm
- 'ExtUtils::Command' => '1.05', #lib/ExtUtils/Command.pm
- 'ExtUtils::Command::MM' => '0.03', #lib/ExtUtils/Command/MM.pm
- 'ExtUtils::Constant' => '0.1401', #lib/ExtUtils/Constant.pm
- 'ExtUtils::Embed' => '1.250601', #lib/ExtUtils/Embed.pm
- 'ExtUtils::Install' => '1.32', #lib/ExtUtils/Install.pm
- 'ExtUtils::Installed' => '0.08', #lib/ExtUtils/Installed.pm
- 'ExtUtils::Liblist' => '1.01', #lib/ExtUtils/Liblist.pm
- 'ExtUtils::Liblist::Kid'=> '1.3001', #lib/ExtUtils/Liblist/Kid.pm
- 'ExtUtils::MakeMaker' => '6.17', #lib/ExtUtils/MakeMaker.pm
- 'ExtUtils::MakeMaker::bytes'=> '0.01', #lib/ExtUtils/MakeMaker/bytes.pm
- 'ExtUtils::MakeMaker::vmsish'=> '0.01', #lib/ExtUtils/MakeMaker/vmsish.pm
- 'ExtUtils::Manifest' => '1.42', #lib/ExtUtils/Manifest.pm
- 'ExtUtils::Miniperl' => undef, #lib/ExtUtils/Miniperl.pm
- 'ExtUtils::Mkbootstrap' => '1.15', #lib/ExtUtils/Mkbootstrap.pm
- 'ExtUtils::Mksymlists' => '1.19', #lib/ExtUtils/Mksymlists.pm
- 'ExtUtils::MM' => '0.04', #lib/ExtUtils/MM.pm
- 'ExtUtils::MM_Any' => '0.07', #lib/ExtUtils/MM_Any.pm
- 'ExtUtils::MM_BeOS' => '1.04', #lib/ExtUtils/MM_BeOS.pm
- 'ExtUtils::MM_Cygwin' => '1.06', #lib/ExtUtils/MM_Cygwin.pm
- 'ExtUtils::MM_DOS' => '0.02', #lib/ExtUtils/MM_DOS.pm
- 'ExtUtils::MM_MacOS' => '1.07', #lib/ExtUtils/MM_MacOS.pm
- 'ExtUtils::MM_NW5' => '2.07_02', #lib/ExtUtils/MM_NW5.pm
- 'ExtUtils::MM_OS2' => '1.04', #lib/ExtUtils/MM_OS2.pm
- 'ExtUtils::MM_Unix' => '1.42', #lib/ExtUtils/MM_Unix.pm
- 'ExtUtils::MM_UWIN' => '0.02', #lib/ExtUtils/MM_UWIN.pm
- 'ExtUtils::MM_VMS' => '5.70', #lib/ExtUtils/MM_VMS.pm
- 'ExtUtils::MM_Win32' => '1.09', #lib/ExtUtils/MM_Win32.pm
- 'ExtUtils::MM_Win95' => '0.0301', #lib/ExtUtils/MM_Win95.pm
- 'ExtUtils::MY' => '0.01', #lib/ExtUtils/MY.pm
- 'ExtUtils::Packlist' => '0.04', #lib/ExtUtils/Packlist.pm
- 'ExtUtils::testlib' => '1.15', #lib/ExtUtils/testlib.pm
- 'ExtUtils::XSSymSet' => '1.0', #vms/ext/XSSymSet.pm
- 'Fatal' => '1.03', #lib/Fatal.pm
- 'Fcntl' => '1.05', #lib/Fcntl.pm
- 'fields' => '2.03', #lib/fields.pm
- 'File::Basename' => '2.73', #lib/File/Basename.pm
- 'FileCache' => '1.04_01', #lib/FileCache.pm
- 'File::CheckTree' => '4.3', #lib/File/CheckTree.pm
- 'File::Compare' => '1.1003', #lib/File/Compare.pm
- 'File::Copy' => '2.08', #lib/File/Copy.pm
- 'File::DosGlob' => '1.00', #lib/File/DosGlob.pm
- 'File::Find' => '1.07', #lib/File/Find.pm
- 'File::Glob' => '1.03', #lib/File/Glob.pm
- 'FileHandle' => '2.01', #lib/FileHandle.pm
- 'File::Path' => '1.06', #lib/File/Path.pm
- 'File::Spec' => '3.01', #lib/File/Spec.pm
- 'File::Spec::Cygwin' => '1.1', #lib/File/Spec/Cygwin.pm
- 'File::Spec::Epoc' => '1.1', #lib/File/Spec/Epoc.pm
- 'File::Spec::Functions' => '1.3', #lib/File/Spec/Functions.pm
- 'File::Spec::Mac' => '1.4', #lib/File/Spec/Mac.pm
- 'File::Spec::OS2' => '1.2', #lib/File/Spec/OS2.pm
- 'File::Spec::Unix' => '1.5', #lib/File/Spec/Unix.pm
- 'File::Spec::VMS' => '1.4', #lib/File/Spec/VMS.pm
- 'File::Spec::Win32' => '1.5', #lib/File/Spec/Win32.pm
- 'File::stat' => '1.00', #lib/File/stat.pm
- 'File::Temp' => '0.14', #lib/File/Temp.pm
- 'filetest' => '1.01', #lib/filetest.pm
- 'Filter::Simple' => '0.78', #lib/Filter/Simple.pm
- 'Filter::Util::Call' => '1.0601', #lib/Filter/Util/Call.pm
- 'FindBin' => '1.44', #lib/FindBin.pm
- 'GDBM_File' => '1.07', #lib/GDBM_File.pm
- 'Getopt::Long' => '2.34', #lib/Getopt/Long.pm
- 'Getopt::Std' => '1.05', #lib/Getopt/Std.pm
- 'Hash::Util' => '0.05', #lib/Hash/Util.pm
- 'I18N::Collate' => '1.00', #lib/I18N/Collate.pm
- 'I18N::Langinfo' => '0.02', #lib/I18N/Langinfo.pm
- 'I18N::LangTags' => '0.35', #lib/I18N/LangTags.pm
- 'I18N::LangTags::Detect'=> '1.03', #lib/I18N/LangTags/Detect.pm
- 'I18N::LangTags::List' => '0.35', #lib/I18N/LangTags/List.pm
- 'if' => '0.03', #lib/if.pm
- 'integer' => '1.00', #lib/integer.pm
- 'IO' => '1.21', #lib/IO.pm
- 'IO::Dir' => '1.04', #lib/IO/Dir.pm
- 'IO::File' => '1.10', #lib/IO/File.pm
- 'IO::Handle' => '1.24', #lib/IO/Handle.pm
- 'IO::Pipe' => '1.123', #lib/IO/Pipe.pm
- 'IO::Poll' => '0.06', #lib/IO/Poll.pm
- 'IO::Seekable' => '1.09', #lib/IO/Seekable.pm
- 'IO::Select' => '1.16', #lib/IO/Select.pm
- 'IO::Socket' => '1.28', #lib/IO/Socket.pm
- 'IO::Socket::INET' => '1.27', #lib/IO/Socket/INET.pm
- 'IO::Socket::UNIX' => '1.21', #lib/IO/Socket/UNIX.pm
- 'IPC::Msg' => '1.02', #lib/IPC/Msg.pm
- 'IPC::Open2' => '1.01', #lib/IPC/Open2.pm
- 'IPC::Open3' => '1.0106', #lib/IPC/Open3.pm
- 'IPC::Semaphore' => '1.02', #lib/IPC/Semaphore.pm
- 'IPC::SysV' => '1.04', #lib/IPC/SysV.pm
- 'JNI' => '0.2', #jpl/JNI/JNI.pm
- 'JPL::AutoLoader' => undef, #jpl/JPL/AutoLoader.pm
- 'JPL::Class' => undef, #jpl/JPL/Class.pm
- 'JPL::Compile' => undef, #jpl/JPL/Compile.pm
- 'less' => '0.01', #lib/less.pm
- 'lib' => '0.5565', #lib/lib.pm
- 'List::Util' => '1.14', #lib/List/Util.pm
- 'locale' => '1.00', #lib/locale.pm
- 'Locale::Constants' => '2.07', #lib/Locale/Constants.pm
- 'Locale::Country' => '2.07', #lib/Locale/Country.pm
- 'Locale::Currency' => '2.07', #lib/Locale/Currency.pm
- 'Locale::Language' => '2.07', #lib/Locale/Language.pm
- 'Locale::Maketext' => '1.09', #lib/Locale/Maketext.pm
- 'Locale::Maketext::GutsLoader'=> undef, #lib/Locale/Maketext/GutsLoader.pm
- 'Locale::Maketext::Guts'=> undef, #lib/Locale/Maketext/Guts.pm
- 'Locale::Script' => '2.07', #lib/Locale/Script.pm
- 'Math::BigFloat' => '1.47', #lib/Math/BigFloat.pm
- 'Math::BigFloat::Trace' => '0.01', #lib/Math/BigFloat/Trace.pm
- 'Math::BigInt' => '1.73', #lib/Math/BigInt.pm
- 'Math::BigInt::Calc' => '0.43', #lib/Math/BigInt/Calc.pm
- 'Math::BigInt::CalcEmu' => '0.04', #lib/Math/BigInt/CalcEmu.pm
- 'Math::BigInt::Trace' => '0.01', #lib/Math/BigInt/Trace.pm
- 'Math::BigRat' => '0.13', #lib/Math/BigRat.pm
- 'Math::Complex' => '1.34', #lib/Math/Complex.pm
- 'Math::Trig' => '1.02', #lib/Math/Trig.pm
- 'Memoize' => '1.01', #lib/Memoize.pm
- 'Memoize::AnyDBM_File' => '0.65', #lib/Memoize/AnyDBM_File.pm
- 'Memoize::Expire' => '1.00', #lib/Memoize/Expire.pm
- 'Memoize::ExpireFile' => '1.01', #lib/Memoize/ExpireFile.pm
- 'Memoize::ExpireTest' => '0.65', #lib/Memoize/ExpireTest.pm
- 'Memoize::NDBM_File' => '0.65', #lib/Memoize/NDBM_File.pm
- 'Memoize::SDBM_File' => '0.65', #lib/Memoize/SDBM_File.pm
- 'Memoize::Storable' => '0.65', #lib/Memoize/Storable.pm
- 'MIME::Base64' => '3.05', #lib/MIME/Base64.pm
- 'MIME::QuotedPrint' => '3.03', #lib/MIME/QuotedPrint.pm
- 'NDBM_File' => '1.05', #lib/NDBM_File.pm
- 'Net::Cmd' => '2.26', #lib/Net/Cmd.pm
- 'Net::Config' => '1.10', #lib/Net/Config.pm
- 'Net::Domain' => '2.19', #lib/Net/Domain.pm
- 'Net::FTP' => '2.75', #lib/Net/FTP.pm
- 'Net::FTP::A' => '1.16', #lib/Net/FTP/A.pm
- 'Net::FTP::dataconn' => '0.11', #lib/Net/FTP/dataconn.pm
- 'Net::FTP::E' => '0.01', #lib/Net/FTP/E.pm
- 'Net::FTP::I' => '1.12', #lib/Net/FTP/I.pm
- 'Net::FTP::L' => '0.01', #lib/Net/FTP/L.pm
- 'Net::hostent' => '1.01', #lib/Net/hostent.pm
- 'Net::netent' => '1.00', #lib/Net/netent.pm
- 'Net::Netrc' => '2.12', #lib/Net/Netrc.pm
- 'Net::NNTP' => '2.23', #lib/Net/NNTP.pm
- 'Net::Ping' => '2.31', #lib/Net/Ping.pm
- 'Net::POP3' => '2.28', #lib/Net/POP3.pm
- 'Net::protoent' => '1.00', #lib/Net/protoent.pm
- 'Net::servent' => '1.01', #lib/Net/servent.pm
- 'Net::SMTP' => '2.29', #lib/Net/SMTP.pm
- 'Net::Time' => '2.10', #lib/Net/Time.pm
- 'NEXT' => '0.60', #lib/NEXT.pm
- 'O' => '1.00', #lib/O.pm
- 'ODBM_File' => '1.05', #ext/ODBM_File/ODBM_File.pm
- 'Opcode' => '1.05', #lib/Opcode.pm
- 'open' => '1.04', #lib/open.pm
- 'ops' => '1.00', #lib/ops.pm
- 'OS2::DLL' => '1.02', #os2/OS2/REXX/DLL/DLL.pm
- 'OS2::ExtAttr' => '0.02', #os2/OS2/ExtAttr/ExtAttr.pm
- 'OS2::PrfDB' => '0.03', #os2/OS2/PrfDB/PrfDB.pm
- 'OS2::Process' => '1.01', #os2/OS2/Process/Process.pm
- 'OS2::REXX' => '1.02', #os2/OS2/REXX/REXX.pm
- 'overload' => '1.02', #lib/overload.pm
- 'PerlIO' => '1.03', #lib/PerlIO.pm
- 'PerlIO::encoding' => '0.07', #lib/PerlIO/encoding.pm
- 'PerlIO::scalar' => '0.02', #lib/PerlIO/scalar.pm
- 'PerlIO::via' => '0.02', #lib/PerlIO/via.pm
- 'PerlIO::via::QuotedPrint'=> '0.06', #lib/PerlIO/via/QuotedPrint.pm
- 'Pod::Checker' => '1.42', #lib/Pod/Checker.pm
- 'Pod::Find' => '0.2401', #lib/Pod/Find.pm
- 'Pod::Functions' => '1.02', #lib/Pod/Functions.pm
- 'Pod::Html' => '1.0502', #lib/Pod/Html.pm
- 'Pod::InputObjects' => '1.14', #lib/Pod/InputObjects.pm
- 'Pod::LaTeX' => '0.56', #lib/Pod/LaTeX.pm
- 'Pod::Man' => '1.37', #lib/Pod/Man.pm
- 'Pod::ParseLink' => '1.06', #lib/Pod/ParseLink.pm
- 'Pod::Parser' => '1.14', #lib/Pod/Parser.pm
- 'Pod::ParseUtils' => '1.2', #lib/Pod/ParseUtils.pm
- 'Pod::Perldoc' => '3.13', #lib/Pod/Perldoc.pm
- 'Pod::Perldoc::BaseTo' => undef, #lib/Pod/Perldoc/BaseTo.pm
- 'Pod::Perldoc::GetOptsOO'=> undef, #lib/Pod/Perldoc/GetOptsOO.pm
- 'Pod::Perldoc::ToChecker'=> undef, #lib/Pod/Perldoc/ToChecker.pm
- 'Pod::Perldoc::ToMan' => undef, #lib/Pod/Perldoc/ToMan.pm
- 'Pod::Perldoc::ToNroff' => undef, #lib/Pod/Perldoc/ToNroff.pm
- 'Pod::Perldoc::ToPod' => undef, #lib/Pod/Perldoc/ToPod.pm
- 'Pod::Perldoc::ToRtf' => undef, #lib/Pod/Perldoc/ToRtf.pm
- 'Pod::Perldoc::ToText' => undef, #lib/Pod/Perldoc/ToText.pm
- 'Pod::Perldoc::ToTk' => 'undef', #lib/Pod/Perldoc/ToTk.pm
- 'Pod::Perldoc::ToXml' => undef, #lib/Pod/Perldoc/ToXml.pm
- 'Pod::Plainer' => '0.01', #lib/Pod/Plainer.pm
- 'Pod::PlainText' => '2.02', #lib/Pod/PlainText.pm
- 'Pod::Select' => '1.13', #lib/Pod/Select.pm
- 'Pod::Text' => '2.21', #lib/Pod/Text.pm
- 'Pod::Text::Color' => '1.04', #lib/Pod/Text/Color.pm
- 'Pod::Text::Overstrike' => '1.1', #lib/Pod/Text/Overstrike.pm
- 'Pod::Text::Termcap' => '1.11', #lib/Pod/Text/Termcap.pm
- 'Pod::Usage' => '1.16', #lib/Pod/Usage.pm
- 'POSIX' => '1.08', #lib/POSIX.pm
- 're' => '0.04', #lib/re.pm
- 'Safe' => '2.11', #lib/Safe.pm
- 'Scalar::Util' => '1.14', #lib/Scalar/Util.pm
- 'SDBM_File' => '1.04', #lib/SDBM_File.pm
- 'Search::Dict' => '1.02', #lib/Search/Dict.pm
- 'SelectSaver' => '1.00', #lib/SelectSaver.pm
- 'SelfLoader' => '1.0904', #lib/SelfLoader.pm
- 'Shell' => '0.6', #lib/Shell.pm
- 'sigtrap' => '1.02', #lib/sigtrap.pm
- 'Socket' => '1.77', #lib/Socket.pm
- 'sort' => '1.02', #lib/sort.pm
- 'Storable' => '2.13', #lib/Storable.pm
- 'strict' => '1.03', #lib/strict.pm
- 'subs' => '1.00', #lib/subs.pm
- 'Switch' => '2.10', #lib/Switch.pm
- 'Symbol' => '1.05', #lib/Symbol.pm
- 'Sys::Hostname' => '1.11', #lib/Sys/Hostname.pm
- 'Sys::Syslog' => '0.05', #lib/Sys/Syslog.pm
- 'Term::ANSIColor' => '1.08', #lib/Term/ANSIColor.pm
- 'Term::Cap' => '1.09', #lib/Term/Cap.pm
- 'Term::Complete' => '1.401', #lib/Term/Complete.pm
- 'Term::ReadLine' => '1.01', #lib/Term/ReadLine.pm
- 'Test' => '1.25', #lib/Test.pm
- 'Test::Builder' => '0.17', #lib/Test/Builder.pm
- 'Test::Harness' => '2.42', #lib/Test/Harness.pm
- 'Test::Harness::Assert' => '0.02', #lib/Test/Harness/Assert.pm
- 'Test::Harness::Iterator'=> '0.02', #lib/Test/Harness/Iterator.pm
- 'Test::Harness::Straps' => '0.19', #lib/Test/Harness/Straps.pm
- 'Test::More' => '0.47', #lib/Test/More.pm
- 'Test::Simple' => '0.47', #lib/Test/Simple.pm
- 'Text::Abbrev' => '1.01', #lib/Text/Abbrev.pm
- 'Text::Balanced' => '1.95', #lib/Text/Balanced.pm
- 'Text::ParseWords' => '3.23', #lib/Text/ParseWords.pm
- 'Text::Soundex' => '1.01', #lib/Text/Soundex.pm
- 'Text::Tabs' => '98.112801', #lib/Text/Tabs.pm
- 'Text::Wrap' => '2001.09292', #lib/Text/Wrap.pm
- 'Thread' => '2.00', #lib/Thread.pm
- 'Thread::Queue' => '2.00', #lib/Thread/Queue.pm
- 'threads' => '1.05', #lib/threads.pm
- 'Thread::Semaphore' => '2.01', #lib/Thread/Semaphore.pm
- 'Thread::Signal' => '1.00', #ext/Thread/Thread/Signal.pm
- 'Thread::Specific' => '1.00', #ext/Thread/Thread/Specific.pm
- 'threads::shared' => '0.92', #lib/threads/shared.pm
- 'Tie::Array' => '1.03', #lib/Tie/Array.pm
- 'Tie::File' => '0.97', #lib/Tie/File.pm
- 'Tie::Handle' => '4.1', #lib/Tie/Handle.pm
- 'Tie::Hash' => '1.01', #lib/Tie/Hash.pm
- 'Tie::Memoize' => '1.0', #lib/Tie/Memoize.pm
- 'Tie::RefHash' => '1.31', #lib/Tie/RefHash.pm
- 'Tie::Scalar' => '1.00', #lib/Tie/Scalar.pm
- 'Tie::SubstrHash' => '1.00', #lib/Tie/SubstrHash.pm
- 'Time::gmtime' => '1.02', #lib/Time/gmtime.pm
- 'Time::HiRes' => '1.65', #lib/Time/HiRes.pm
- 'Time::Local' => '1.10', #lib/Time/Local.pm
- 'Time::localtime' => '1.02', #lib/Time/localtime.pm
- 'Time::tm' => '1.00', #lib/Time/tm.pm
- 'Unicode::Collate' => '0.40', #lib/Unicode/Collate.pm
- 'Unicode::Normalize' => '0.30', #lib/Unicode/Normalize.pm
- 'Unicode::UCD' => '0.22', #lib/Unicode/UCD.pm
- 'UNIVERSAL' => '1.01', #lib/UNIVERSAL.pm
- 'Unicode' => '4.0.1', # lib/unicore/version
- 'User::grent' => '1.00', #lib/User/grent.pm
- 'User::pwent' => '1.00', #lib/User/pwent.pm
- 'utf8' => '1.04', #lib/utf8.pm
- 'vars' => '1.01', #lib/vars.pm
- 'VMS::DCLsym' => '1.02', #vms/ext/DCLsym/DCLsym.pm
- 'VMS::Filespec' => '1.11', #vms/ext/Filespec.pm
- 'vmsish' => '1.01', #lib/vmsish.pm
- 'VMS::Stdio' => '2.3', #vms/ext/Stdio/Stdio.pm
- 'warnings' => '1.03', #lib/warnings.pm
- 'warnings::register' => '1.00', #lib/warnings/register.pm
- 'XS::APItest' => '0.05', #lib/XS/APItest.pm
- 'XSLoader' => '0.02', #lib/XSLoader.pm
- 'XS::Typemap' => '0.01', #lib/XS/Typemap.pm
- },
-
- 5.009002 => {
- 'AnyDBM_File' => '1.00',
- 'Attribute::Handlers' => '0.78_01',
- 'AutoLoader' => '5.60',
- 'AutoSplit' => '1.04',
- 'B' => '1.07',
- 'B::Asmdata' => '1.01',
- 'B::Assembler' => '0.07',
- 'B::Bblock' => '1.02',
- 'B::Bytecode' => '1.01',
- 'B::C' => '1.04',
- 'B::CC' => '1.00',
- 'B::Concise' => '0.64',
- 'B::Debug' => '1.02',
- 'B::Deparse' => '0.69',
- 'B::Disassembler' => '1.03',
- 'B::Lint' => '1.03',
- 'B::Showlex' => '1.02',
- 'B::Stackobj' => '1.00',
- 'B::Stash' => '1.00',
- 'B::Terse' => '1.02',
- 'B::Xref' => '1.01',
- 'Benchmark' => '1.07',
- 'ByteLoader' => '0.05',
- 'CGI' => '3.07',
- 'CGI::Apache' => '1.00',
- 'CGI::Carp' => '1.29',
- 'CGI::Cookie' => '1.25',
- 'CGI::Fast' => '1.05',
- 'CGI::Pretty' => '1.08',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.00',
- 'CGI::Util' => '1.5',
- 'CPAN' => '1.76_01',
- 'CPAN::FirstTime' => '1.60 ',
- 'CPAN::Nox' => '1.03',
- 'Carp' => '1.04',
- 'Carp::Heavy' => '1.04',
- 'Class::ISA' => '0.33',
- 'Class::Struct' => '0.63',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.05',
- 'DB' => '1.0',
- 'DBM_Filter' => '0.01',
- 'DBM_Filter::compress' => '0.01',
- 'DBM_Filter::encode' => '0.01',
- 'DBM_Filter::int32' => '0.01',
- 'DBM_Filter::null' => '0.01',
- 'DBM_Filter::utf8' => '0.01',
- 'DB_File' => '1.811',
- 'DCLsym' => '1.02',
- 'Data::Dumper' => '2.121_04',
- 'Devel::DProf' => '20030813.00',
- 'Devel::PPPort' => '3.06',
- 'Devel::Peek' => '1.02',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.10',
- 'Digest::MD5' => '2.33',
- 'Digest::base' => '1.00',
- 'Digest::file' => '0.01',
- 'DirHandle' => '1.00',
- 'Dumpvalue' => '1.11',
- 'DynaLoader' => '1.07',
- 'Encode' => '2.09',
- 'Encode::Alias' => '2.02',
- 'Encode::Byte' => '2.00',
- 'Encode::CJKConstants' => '2.00',
- 'Encode::CN' => '2.00',
- 'Encode::CN::HZ' => '2.01',
- 'Encode::Config' => '2.00',
- 'Encode::EBCDIC' => '2.00',
- 'Encode::Encoder' => '2.00',
- 'Encode::Encoding' => '2.02',
- 'Encode::Guess' => '2.00',
- 'Encode::JP' => '2.01',
- 'Encode::JP::H2Z' => '2.00',
- 'Encode::JP::JIS7' => '2.00',
- 'Encode::KR' => '2.00',
- 'Encode::KR::2022_KR' => '2.00',
- 'Encode::MIME::Header' => '2.00',
- 'Encode::Symbol' => '2.00',
- 'Encode::TW' => '2.00',
- 'Encode::Unicode' => '2.02',
- 'Encode::Unicode::UTF7' => '2.01',
- 'English' => '1.03',
- 'Env' => '1.00',
- 'Errno' => '1.09_01',
- 'Exporter' => '5.59',
- 'Exporter::Heavy' => '5.59',
- 'ExtUtils::Command' => '1.07',
- 'ExtUtils::Command::MM' => '0.03_01',
- 'ExtUtils::Constant' => '0.16',
- 'ExtUtils::Constant::Base'=> '0.01',
- 'ExtUtils::Constant::Utils'=> '0.01',
- 'ExtUtils::Constant::XS'=> '0.01',
- 'ExtUtils::Embed' => '1.26',
- 'ExtUtils::Install' => '1.32',
- 'ExtUtils::Installed' => '0.08',
- 'ExtUtils::Liblist' => '1.01',
- 'ExtUtils::Liblist::Kid'=> '1.3',
- 'ExtUtils::MM' => '0.04',
- 'ExtUtils::MM_Any' => '0.10',
- 'ExtUtils::MM_BeOS' => '1.04',
- 'ExtUtils::MM_Cygwin' => '1.07',
- 'ExtUtils::MM_DOS' => '0.02',
- 'ExtUtils::MM_MacOS' => '1.08',
- 'ExtUtils::MM_NW5' => '2.07',
- 'ExtUtils::MM_OS2' => '1.04',
- 'ExtUtils::MM_UWIN' => '0.02',
- 'ExtUtils::MM_Unix' => '1.46_01',
- 'ExtUtils::MM_VMS' => '5.71',
- 'ExtUtils::MM_Win32' => '1.10',
- 'ExtUtils::MM_Win95' => '0.03',
- 'ExtUtils::MY' => '0.01',
- 'ExtUtils::MakeMaker' => '6.25',
- 'ExtUtils::MakeMaker::bytes'=> '0.01',
- 'ExtUtils::MakeMaker::vmsish'=> '0.01',
- 'ExtUtils::Manifest' => '1.44',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '1.15',
- 'ExtUtils::Mksymlists' => '1.19',
- 'ExtUtils::Packlist' => '0.04',
- 'ExtUtils::testlib' => '1.15',
- 'Fatal' => '1.04',
- 'Fcntl' => '1.05',
- 'File::Basename' => '2.73',
- 'File::CheckTree' => '4.3',
- 'File::Compare' => '1.1003',
- 'File::Copy' => '2.08',
- 'File::DosGlob' => '1.00',
- 'File::Find' => '1.09',
- 'File::Glob' => '1.04',
- 'File::Path' => '1.06',
- 'File::Spec' => '3.05',
- 'File::Spec::Cygwin' => '1.1',
- 'File::Spec::Epoc' => '1.1',
- 'File::Spec::Functions' => '1.3',
- 'File::Spec::Mac' => '1.4',
- 'File::Spec::OS2' => '1.2',
- 'File::Spec::Unix' => '1.5',
- 'File::Spec::VMS' => '1.4',
- 'File::Spec::Win32' => '1.5',
- 'File::Temp' => '0.16',
- 'File::stat' => '1.00',
- 'FileCache' => '1.04_01',
- 'FileHandle' => '2.01',
- 'VMS::Filespec' => '1.11',
- 'Filter::Simple' => '0.78',
- 'Filter::Util::Call' => '1.0601',
- 'FindBin' => '1.44',
- 'GDBM_File' => '1.07',
- 'Getopt::Long' => '2.3401',
- 'Getopt::Std' => '1.05',
- 'Hash::Util' => '0.05',
- 'I18N::Collate' => '1.00',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.03',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.02',
- 'IO' => '1.21',
- 'IO::Dir' => '1.04',
- 'IO::File' => '1.10',
- 'IO::Handle' => '1.24',
- 'IO::Pipe' => '1.123',
- 'IO::Poll' => '0.06',
- 'IO::Seekable' => '1.09',
- 'IO::Select' => '1.16',
- 'IO::Socket' => '1.28',
- 'IO::Socket::INET' => '1.27',
- 'IO::Socket::UNIX' => '1.21',
- 'IPC::Msg' => '1.02',
- 'IPC::Open2' => '1.01',
- 'IPC::Open3' => '1.0106',
- 'IPC::Semaphore' => '1.02',
- 'IPC::SysV' => '1.04',
- 'List::Util' => '1.14',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.09',
- 'Locale::Maketext::Guts'=> undef,
- 'Locale::Maketext::GutsLoader'=> undef,
- 'Locale::Script' => '2.07',
- 'MIME::Base64' => '3.05',
- 'MIME::QuotedPrint' => '3.03',
- 'Math::BigFloat' => '1.49',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.75',
- 'Math::BigInt::Calc' => '0.45',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.14',
- 'Math::Complex' => '1.34',
- 'Math::Trig' => '1.02',
- 'Memoize' => '1.01_01',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::CoreList' => '1.99',
- 'NDBM_File' => '1.05',
- 'NEXT' => '0.60_01',
- 'Net::Cmd' => '2.26',
- 'Net::Config' => '1.10',
- 'Net::Domain' => '2.19',
- 'Net::FTP' => '2.75',
- 'Net::FTP::A' => '1.16',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.23',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.28',
- 'Net::Ping' => '2.31',
- 'Net::SMTP' => '2.29',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.00',
- 'ODBM_File' => '1.05',
- 'Opcode' => '1.06',
- 'POSIX' => '1.08',
- 'PerlIO' => '1.03',
- 'PerlIO::encoding' => '0.07',
- 'PerlIO::scalar' => '0.02',
- 'PerlIO::via' => '0.02',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.42',
- 'Pod::Find' => '1.3',
- 'Pod::Functions' => '1.02',
- 'Pod::Html' => '1.0502',
- 'Pod::InputObjects' => '1.3',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '1.37',
- 'Pod::ParseLink' => '1.06',
- 'Pod::ParseUtils' => '1.3',
- 'Pod::Parser' => '1.3',
- 'Pod::Perldoc' => '3.14',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.02',
- 'Pod::Plainer' => '0.01',
- 'Pod::Select' => '1.3',
- 'Pod::Text' => '2.21',
- 'Pod::Text::Color' => '1.04',
- 'Pod::Text::Overstrike' => '1.1',
- 'Pod::Text::Termcap' => '1.11',
- 'Pod::Usage' => '1.3',
- 'SDBM_File' => '1.04',
- 'Safe' => '2.11',
- 'Scalar::Util' => '1.14_1',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.01',
- 'SelfLoader' => '1.0904',
- 'Shell' => '0.6',
- 'Socket' => '1.77',
- 'Stdio' => '2.3',
- 'Storable' => '2.14',
- 'Switch' => '2.10',
- 'Symbol' => '1.05',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.06',
- 'Term::ANSIColor' => '1.09',
- 'Term::Cap' => '1.09',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.01',
- 'Test' => '1.25',
- 'Test::Builder' => '0.22',
- 'Test::Harness' => '2.46',
- 'Test::Harness::Assert' => '0.02',
- 'Test::Harness::Iterator'=> '0.02',
- 'Test::Harness::Straps' => '0.20_01',
- 'Test::More' => '0.54',
- 'Test::Simple' => '0.54',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '1.95_01',
- 'Text::ParseWords' => '3.24',
- 'Text::Soundex' => '1.01',
- 'Text::Tabs' => '98.112801',
- 'Text::Wrap' => '2001.09292',
- 'Thread' => '2.00',
- 'Thread::Queue' => '2.00',
- 'Thread::Semaphore' => '2.01',
- 'Thread::Signal' => '1.00',
- 'Thread::Specific' => '1.00',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97',
- 'Tie::Handle' => '4.1',
- 'Tie::Hash' => '1.01',
- 'Tie::Memoize' => '1.0',
- 'Tie::RefHash' => '1.32',
- 'Tie::Scalar' => '1.00',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.66',
- 'Time::Local' => '1.11',
- 'Time::gmtime' => '1.02',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.02',
- 'Unicode' => '4.0.1',
- 'Unicode::Collate' => '0.40',
- 'Unicode::Normalize' => '0.30',
- 'Unicode::UCD' => '0.22',
- 'User::grent' => '1.00',
- 'User::pwent' => '1.00',
- 'Win32' => '0.23',
- 'XS::APItest' => '0.05',
- 'XS::Typemap' => '0.01',
- 'XSLoader' => '0.03',
- 'XSSymSet' => '1.0',
- 'assertions' => '0.01',
- 'assertions::activate' => '0.01',
- 'attributes' => '0.06',
- 'attrs' => '1.01',
- 'autouse' => '1.04',
- 'base' => '2.06',
- 'bigint' => '0.06',
- 'bignum' => '0.16',
- 'bigrat' => '0.07',
- 'blib' => '1.02',
- 'bytes' => '1.01',
- 'charnames' => '1.04',
- 'constant' => '1.05',
- 'diagnostics' => '1.14',
- 'encoding' => '2.01',
- 'encoding::warnings' => '0.05',
- 'fields' => '2.03',
- 'filetest' => '1.01',
- 'if' => '0.0401',
- 'integer' => '1.00',
- 'less' => '0.01',
- 'lib' => '0.5565',
- 'locale' => '1.00',
- 'open' => '1.04',
- 'ops' => '1.00',
- 'overload' => '1.03',
- 're' => '0.05',
- 'sigtrap' => '1.02',
- 'sort' => '1.02',
- 'strict' => '1.03',
- 'subs' => '1.00',
- 'threads' => '1.05',
- 'threads::shared' => '0.92',
- 'utf8' => '1.04',
- 'vars' => '1.01',
- 'version' => '0.42',
- 'vmsish' => '1.01',
- 'warnings' => '1.04',
- 'warnings::register' => '1.00',
+ delta_from => 5.008005,
+ changed => {
+ 'B' => '1.07',
+ 'B::C' => '1.04',
+ 'B::Concise' => '0.64',
+ 'B::Debug' => '1.02',
+ 'B::Deparse' => '0.69',
+ 'B::Lint' => '1.03',
+ 'B::Showlex' => '1.02',
+ 'Cwd' => '3.01',
+ 'DB_File' => '1.810',
+ 'Data::Dumper' => '2.121_02',
+ 'Devel::PPPort' => '3.03',
+ 'Devel::Peek' => '1.02',
+ 'Encode' => '2.08',
+ 'Encode::Alias' => '2.02',
+ 'Encode::Encoding' => '2.02',
+ 'Encode::JP' => '2.01',
+ 'Encode::Unicode' => '2.02',
+ 'Exporter::Heavy' => '5.58',
+ 'ExtUtils::Constant' => '0.1401',
+ 'File::Spec' => '3.01',
+ 'File::Spec::Win32' => '1.5',
+ 'I18N::LangTags' => '0.35',
+ 'I18N::LangTags::List' => '0.35',
+ 'MIME::Base64' => '3.05',
+ 'MIME::QuotedPrint' => '3.03',
+ 'Math::BigFloat' => '1.47',
+ 'Math::BigInt' => '1.73',
+ 'Math::BigInt::Calc' => '0.43',
+ 'Math::BigRat' => '0.13',
+ 'Text::ParseWords' => '3.23',
+ 'Time::HiRes' => '1.65',
+ 'XS::APItest' => '0.05',
+ 'diagnostics' => '1.14',
+ 'encoding' => '2.01',
+ 'open' => '1.04',
+ 'overload' => '1.02',
+ },
+ removed => {
+ }
},
-
5.008007 => {
- 'AnyDBM_File' => '1.00',
- 'Attribute::Handlers' => '0.78_01',
- 'AutoLoader' => '5.60',
- 'AutoSplit' => '1.04',
- 'B' => '1.09',
- 'B::Asmdata' => '1.01',
- 'B::Assembler' => '0.07',
- 'B::Bblock' => '1.02',
- 'B::Bytecode' => '1.01',
- 'B::C' => '1.04',
- 'B::CC' => '1.00',
- 'B::Concise' => '0.65',
- 'B::Debug' => '1.02',
- 'B::Deparse' => '0.7',
- 'B::Disassembler' => '1.04',
- 'B::Lint' => '1.03',
- 'B::Showlex' => '1.02',
- 'B::Stackobj' => '1.00',
- 'B::Stash' => '1.00',
- 'B::Terse' => '1.03',
- 'B::Xref' => '1.01',
- 'Benchmark' => '1.07',
- 'ByteLoader' => '0.05',
- 'CGI' => '3.10',
- 'CGI::Apache' => '1.00',
- 'CGI::Carp' => '1.29',
- 'CGI::Cookie' => '1.25',
- 'CGI::Fast' => '1.05',
- 'CGI::Pretty' => '1.08',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.00',
- 'CGI::Util' => '1.5',
- 'CPAN' => '1.76_01',
- 'CPAN::FirstTime' => '1.60 ',
- 'CPAN::Nox' => '1.03',
- 'Carp' => '1.04',
- 'Carp::Heavy' => '1.04',
- 'Class::ISA' => '0.33',
- 'Class::Struct' => '0.63',
- 'Config' => undef,
- 'Cwd' => '3.05',
- 'DB' => '1.0',
- 'DBM_Filter' => '0.01',
- 'DBM_Filter::compress' => '0.01',
- 'DBM_Filter::encode' => '0.01',
- 'DBM_Filter::int32' => '0.01',
- 'DBM_Filter::null' => '0.01',
- 'DBM_Filter::utf8' => '0.01',
- 'DB_File' => '1.811',
- 'DCLsym' => '1.02',
- 'Data::Dumper' => '2.121_04',
- 'Devel::DProf' => '20050310.00',
- 'Devel::PPPort' => '3.06',
- 'Devel::Peek' => '1.02',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.10',
- 'Digest::MD5' => '2.33',
- 'Digest::base' => '1.00',
- 'Digest::file' => '0.01',
- 'DirHandle' => '1.00',
- 'Dumpvalue' => '1.11',
- 'DynaLoader' => '1.05',
- 'Encode' => '2.10',
- 'Encode::Alias' => '2.03',
- 'Encode::Byte' => '2.00',
- 'Encode::CJKConstants' => '2.00',
- 'Encode::CN' => '2.00',
- 'Encode::CN::HZ' => '2.01',
- 'Encode::Config' => '2.00',
- 'Encode::EBCDIC' => '2.00',
- 'Encode::Encoder' => '2.00',
- 'Encode::Encoding' => '2.02',
- 'Encode::Guess' => '2.00',
- 'Encode::JP' => '2.01',
- 'Encode::JP::H2Z' => '2.00',
- 'Encode::JP::JIS7' => '2.00',
- 'Encode::KR' => '2.00',
- 'Encode::KR::2022_KR' => '2.00',
- 'Encode::MIME::Header' => '2.00',
- 'Encode::Symbol' => '2.00',
- 'Encode::TW' => '2.00',
- 'Encode::Unicode' => '2.02',
- 'Encode::Unicode::UTF7' => '2.01',
- 'English' => '1.01',
- 'Env' => '1.00',
- 'Errno' => '1.09_01',
- 'Exporter' => '5.58',
- 'Exporter::Heavy' => '5.58',
- 'ExtUtils::Command' => '1.05',
- 'ExtUtils::Command::MM' => '0.03',
- 'ExtUtils::Constant' => '0.16',
- 'ExtUtils::Constant::Base'=> '0.01',
- 'ExtUtils::Constant::Utils'=> '0.01',
- 'ExtUtils::Constant::XS'=> '0.01',
- 'ExtUtils::Embed' => '1.250601',
- 'ExtUtils::Install' => '1.32',
- 'ExtUtils::Installed' => '0.08',
- 'ExtUtils::Liblist' => '1.01',
- 'ExtUtils::Liblist::Kid'=> '1.3001',
- 'ExtUtils::MM' => '0.04',
- 'ExtUtils::MM_Any' => '0.07',
- 'ExtUtils::MM_BeOS' => '1.04',
- 'ExtUtils::MM_Cygwin' => '1.06',
- 'ExtUtils::MM_DOS' => '0.02',
- 'ExtUtils::MM_MacOS' => '1.07',
- 'ExtUtils::MM_NW5' => '2.07_02',
- 'ExtUtils::MM_OS2' => '1.04',
- 'ExtUtils::MM_UWIN' => '0.02',
- 'ExtUtils::MM_Unix' => '1.42',
- 'ExtUtils::MM_VMS' => '5.70',
- 'ExtUtils::MM_Win32' => '1.09',
- 'ExtUtils::MM_Win95' => '0.0301',
- 'ExtUtils::MY' => '0.01',
- 'ExtUtils::MakeMaker' => '6.17',
- 'ExtUtils::MakeMaker::bytes'=> '0.01',
- 'ExtUtils::MakeMaker::vmsish'=> '0.01',
- 'ExtUtils::Manifest' => '1.42',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '1.15',
- 'ExtUtils::Mksymlists' => '1.19',
- 'ExtUtils::Packlist' => '0.04',
- 'ExtUtils::testlib' => '1.15',
- 'Fatal' => '1.03',
- 'Fcntl' => '1.05',
- 'File::Basename' => '2.73',
- 'File::CheckTree' => '4.3',
- 'File::Compare' => '1.1003',
- 'File::Copy' => '2.08',
- 'File::DosGlob' => '1.00',
- 'File::Find' => '1.09',
- 'File::Glob' => '1.04',
- 'File::Path' => '1.07',
- 'File::Spec' => '3.05',
- 'File::Spec::Cygwin' => '1.1',
- 'File::Spec::Epoc' => '1.1',
- 'File::Spec::Functions' => '1.3',
- 'File::Spec::Mac' => '1.4',
- 'File::Spec::OS2' => '1.2',
- 'File::Spec::Unix' => '1.5',
- 'File::Spec::VMS' => '1.4',
- 'File::Spec::Win32' => '1.5',
- 'File::Temp' => '0.16',
- 'File::stat' => '1.00',
- 'FileCache' => '1.05',
- 'FileHandle' => '2.01',
- 'VMS::Filespec' => '1.11',
- 'Filter::Simple' => '0.78',
- 'Filter::Util::Call' => '1.0601',
- 'FindBin' => '1.44',
- 'GDBM_File' => '1.07',
- 'Getopt::Long' => '2.34',
- 'Getopt::Std' => '1.05',
- 'Hash::Util' => '0.05',
- 'I18N::Collate' => '1.00',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.03',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.02',
- 'IO' => '1.21',
- 'IO::Dir' => '1.04',
- 'IO::File' => '1.11',
- 'IO::Handle' => '1.24',
- 'IO::Pipe' => '1.123',
- 'IO::Poll' => '0.06',
- 'IO::Seekable' => '1.09',
- 'IO::Select' => '1.16',
- 'IO::Socket' => '1.28',
- 'IO::Socket::INET' => '1.28',
- 'IO::Socket::UNIX' => '1.21',
- 'IPC::Msg' => '1.02',
- 'IPC::Open2' => '1.01',
- 'IPC::Open3' => '1.0106',
- 'IPC::Semaphore' => '1.02',
- 'IPC::SysV' => '1.04',
- 'List::Util' => '1.14',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.09',
- 'Locale::Maketext::Guts'=> undef,
- 'Locale::Maketext::GutsLoader'=> undef,
- 'Locale::Script' => '2.07',
- 'MIME::Base64' => '3.05',
- 'MIME::QuotedPrint' => '3.03',
- 'Math::BigFloat' => '1.51',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.77',
- 'Math::BigInt::Calc' => '0.47',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.15',
- 'Math::Complex' => '1.34',
- 'Math::Trig' => '1.02',
- 'Memoize' => '1.01',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'NDBM_File' => '1.05',
- 'NEXT' => '0.60',
- 'Net::Cmd' => '2.26',
- 'Net::Config' => '1.10',
- 'Net::Domain' => '2.19',
- 'Net::FTP' => '2.75',
- 'Net::FTP::A' => '1.16',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.23',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.28',
- 'Net::Ping' => '2.31',
- 'Net::SMTP' => '2.29',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.00',
- 'ODBM_File' => '1.05',
- 'Opcode' => '1.05',
- 'POSIX' => '1.08',
- 'PerlIO' => '1.03',
- 'PerlIO::encoding' => '0.07',
- 'PerlIO::scalar' => '0.02',
- 'PerlIO::via' => '0.02',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.42',
- 'Pod::Find' => '1.3',
- 'Pod::Functions' => '1.02',
- 'Pod::Html' => '1.0503',
- 'Pod::InputObjects' => '1.3',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '1.37',
- 'Pod::ParseLink' => '1.06',
- 'Pod::ParseUtils' => '1.3',
- 'Pod::Parser' => '1.3',
- 'Pod::Perldoc' => '3.14',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.02',
- 'Pod::Plainer' => '0.01',
- 'Pod::Select' => '1.3',
- 'Pod::Text' => '2.21',
- 'Pod::Text::Color' => '1.04',
- 'Pod::Text::Overstrike' => '1.1',
- 'Pod::Text::Termcap' => '1.11',
- 'Pod::Usage' => '1.3',
- 'SDBM_File' => '1.04',
- 'Safe' => '2.11',
- 'Scalar::Util' => '1.14',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.01',
- 'SelfLoader' => '1.0904',
- 'Shell' => '0.6',
- 'Socket' => '1.77',
- 'Stdio' => '2.3',
- 'Storable' => '2.13',
- 'Switch' => '2.10',
- 'Symbol' => '1.06',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.06',
- 'Term::ANSIColor' => '1.09',
- 'Term::Cap' => '1.09',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.01',
- 'Test' => '1.25',
- 'Test::Builder' => '0.22',
- 'Test::Harness' => '2.48',
- 'Test::Harness::Assert' => '0.02',
- 'Test::Harness::Iterator'=> '0.02',
- 'Test::Harness::Point' => '0.01',
- 'Test::Harness::Straps' => '0.23',
- 'Test::More' => '0.54',
- 'Test::Simple' => '0.54',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '1.95',
- 'Text::ParseWords' => '3.24',
- 'Text::Soundex' => '1.01',
- 'Text::Tabs' => '98.112801',
- 'Text::Wrap' => '2001.09293',
- 'Thread' => '2.00',
- 'Thread::Queue' => '2.00',
- 'Thread::Semaphore' => '2.01',
- 'Thread::Signal' => '1.00',
- 'Thread::Specific' => '1.00',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97',
- 'Tie::Handle' => '4.1',
- 'Tie::Hash' => '1.01',
- 'Tie::Memoize' => '1.0',
- 'Tie::RefHash' => '1.32',
- 'Tie::Scalar' => '1.00',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.66',
- 'Time::Local' => '1.11',
- 'Time::gmtime' => '1.02',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.01',
- 'Unicode' => '4.1.0', # lib/unicore/version
- 'Unicode::Collate' => '0.40',
- 'Unicode::Normalize' => '0.32',
- 'Unicode::UCD' => '0.23',
- 'User::grent' => '1.00',
- 'User::pwent' => '1.00',
- 'Win32' => '0.24',
- 'XS::APItest' => '0.06',
- 'XS::Typemap' => '0.01',
- 'XSLoader' => '0.02',
- 'XSSymSet' => '1.0',
- 'attributes' => '0.06',
- 'attrs' => '1.01',
- 'autouse' => '1.04',
- 'base' => '2.07',
- 'bigint' => '0.07',
- 'bignum' => '0.17',
- 'bigrat' => '0.08',
- 'blib' => '1.02',
- 'bytes' => '1.02',
- 'charnames' => '1.04',
- 'constant' => '1.05',
- 'diagnostics' => '1.14',
- 'encoding' => '2.01',
- 'fields' => '2.03',
- 'filetest' => '1.01',
- 'if' => '0.03',
- 'integer' => '1.00',
- 'less' => '0.01',
- 'lib' => '0.5565',
- 'locale' => '1.00',
- 'open' => '1.04',
- 'ops' => '1.00',
- 'overload' => '1.03',
- 're' => '0.04',
- 'sigtrap' => '1.02',
- 'sort' => '1.02',
- 'strict' => '1.03',
- 'subs' => '1.00',
- 'threads' => '1.05',
- 'threads::shared' => '0.93',
- 'utf8' => '1.05',
- 'vars' => '1.01',
- 'vmsish' => '1.01',
- 'warnings' => '1.03',
- 'warnings::register' => '1.00',
- },
-
- 5.009003 => {
- 'AnyDBM_File' => '1.00',
- 'Archive::Tar' => '1.26_01',
- 'Archive::Tar::Constant'=> '0.02',
- 'Archive::Tar::File' => '0.02',
- 'Attribute::Handlers' => '0.78_02',
- 'AutoLoader' => '5.60',
- 'AutoSplit' => '1.04_01',
- 'B' => '1.10',
- 'B::Asmdata' => '1.01',
- 'B::Assembler' => '0.07',
- 'B::Bblock' => '1.02',
- 'B::Bytecode' => '1.01',
- 'B::C' => '1.04',
- 'B::CC' => '1.00',
- 'B::Concise' => '0.67',
- 'B::Debug' => '1.02',
- 'B::Deparse' => '0.73',
- 'B::Disassembler' => '1.05',
- 'B::Lint' => '1.04',
- 'B::Showlex' => '1.02',
- 'B::Stackobj' => '1.00',
- 'B::Stash' => '1.00',
- 'B::Terse' => '1.03',
- 'B::Xref' => '1.01',
- 'Benchmark' => '1.07',
- 'ByteLoader' => '0.06',
- 'CGI' => '3.15_01',
- 'CGI::Apache' => '1.00',
- 'CGI::Carp' => '1.29',
- 'CGI::Cookie' => '1.26',
- 'CGI::Fast' => '1.05',
- 'CGI::Pretty' => '1.08',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.00',
- 'CGI::Util' => '1.5',
- 'CPAN' => '1.83_58',
- 'CPAN::Debug' => '4.44',
- 'CPAN::FirstTime' => '4.50',
- 'CPAN::HandleConfig' => '4.31',
- 'CPAN::Nox' => '2.31',
- 'CPAN::Tarzip' => '3.36',
- 'CPAN::Version' => '2.55',
- 'Carp' => '1.05',
- 'Carp::Heavy' => '1.05',
- 'Class::ISA' => '0.33',
- 'Class::Struct' => '0.63',
- 'Compress::Zlib' => '2.000_07',
- 'Compress::Zlib::Common'=> '2.000_07',
- 'Compress::Zlib::Compress::Gzip::Constants'=> '2.000_07',
- 'Compress::Zlib::Compress::Zip::Constants'=> '1.00',
- 'Compress::Zlib::CompressPlugin::Deflate'=> '2.000_05',
- 'Compress::Zlib::CompressPlugin::Identity'=> '2.000_05',
- 'Compress::Zlib::File::GlobMapper'=> '0.000_02',
- 'Compress::Zlib::FileConstants'=> '2.000_07',
- 'Compress::Zlib::IO::Compress::Base'=> '2.000_05',
- 'Compress::Zlib::IO::Compress::Deflate'=> '2.000_07',
- 'Compress::Zlib::IO::Compress::Gzip'=> '2.000_07',
- 'Compress::Zlib::IO::Compress::RawDeflate'=> '2.000_07',
- 'Compress::Zlib::IO::Compress::Zip'=> '2.000_04',
- 'Compress::Zlib::IO::Uncompress::AnyInflate'=> '2.000_07',
- 'Compress::Zlib::IO::Uncompress::AnyUncompress'=> '2.000_05',
- 'Compress::Zlib::IO::Uncompress::Base'=> '2.000_05',
- 'Compress::Zlib::IO::Uncompress::Gunzip'=> '2.000_07',
- 'Compress::Zlib::IO::Uncompress::Inflate'=> '2.000_07',
- 'Compress::Zlib::IO::Uncompress::RawInflate'=> '2.000_07',
- 'Compress::Zlib::IO::Uncompress::Unzip'=> '2.000_05',
- 'Compress::Zlib::ParseParameters'=> '2.000_07',
- 'Compress::Zlib::UncompressPlugin::Identity'=> '2.000_05',
- 'Compress::Zlib::UncompressPlugin::Inflate'=> '2.000_05',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.15',
- 'DB' => '1.01',
- 'DBM_Filter' => '0.01',
- 'DBM_Filter::compress' => '0.01',
- 'DBM_Filter::encode' => '0.01',
- 'DBM_Filter::int32' => '0.01',
- 'DBM_Filter::null' => '0.01',
- 'DBM_Filter::utf8' => '0.01',
- 'DB_File' => '1.814',
- 'DCLsym' => '1.02',
- 'Data::Dumper' => '2.121_08',
- 'Devel::DProf' => '20050603.00',
- 'Devel::PPPort' => '3.08',
- 'Devel::Peek' => '1.03',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.14',
- 'Digest::MD5' => '2.36',
- 'Digest::SHA' => '5.32',
- 'Digest::base' => '1.00',
- 'Digest::file' => '1.00',
- 'DirHandle' => '1.01',
- 'Dumpvalue' => '1.12',
- 'DynaLoader' => '1.07',
- 'Encode' => '2.14',
- 'Encode::Alias' => '2.04',
- 'Encode::Byte' => '2.00',
- 'Encode::CJKConstants' => '2.00',
- 'Encode::CN' => '2.00',
- 'Encode::CN::HZ' => '2.02',
- 'Encode::Config' => '2.01',
- 'Encode::EBCDIC' => '2.00',
- 'Encode::Encoder' => '2.00',
- 'Encode::Encoding' => '2.02',
- 'Encode::Guess' => '2.00',
- 'Encode::JP' => '2.01',
- 'Encode::JP::H2Z' => '2.00',
- 'Encode::JP::JIS7' => '2.00',
- 'Encode::KR' => '2.00',
- 'Encode::KR::2022_KR' => '2.00',
- 'Encode::MIME::Header' => '2.02',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.01',
- 'Encode::Symbol' => '2.00',
- 'Encode::TW' => '2.00',
- 'Encode::Unicode' => '2.02',
- 'Encode::Unicode::UTF7' => '2.01',
- 'English' => '1.04',
- 'Env' => '1.00',
- 'Errno' => '1.09_01',
- 'Exporter' => '5.59',
- 'Exporter::Heavy' => '5.59',
- 'ExtUtils::CBuilder' => '0.15',
- 'ExtUtils::CBuilder::Base'=> '0.12',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.12',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.12',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.12',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.12',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.12',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.12',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.01',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.13',
- 'ExtUtils::Command' => '1.09',
- 'ExtUtils::Command::MM' => '0.05_01',
- 'ExtUtils::Constant' => '0.2',
- 'ExtUtils::Constant::Base'=> '0.02',
- 'ExtUtils::Constant::ProxySubs'=> '0.01',
- 'ExtUtils::Constant::Utils'=> '0.01',
- 'ExtUtils::Constant::XS'=> '0.02',
- 'ExtUtils::Embed' => '1.26',
- 'ExtUtils::Install' => '1.33',
- 'ExtUtils::Installed' => '0.08',
- 'ExtUtils::Liblist' => '1.01',
- 'ExtUtils::Liblist::Kid'=> '1.3',
- 'ExtUtils::MM' => '0.05',
- 'ExtUtils::MM_AIX' => '0.03',
- 'ExtUtils::MM_Any' => '0.13_01',
- 'ExtUtils::MM_BeOS' => '1.05',
- 'ExtUtils::MM_Cygwin' => '1.08',
- 'ExtUtils::MM_DOS' => '0.02',
- 'ExtUtils::MM_MacOS' => '1.08',
- 'ExtUtils::MM_NW5' => '2.08',
- 'ExtUtils::MM_OS2' => '1.05',
- 'ExtUtils::MM_QNX' => '0.02',
- 'ExtUtils::MM_UWIN' => '0.02',
- 'ExtUtils::MM_Unix' => '1.50_01',
- 'ExtUtils::MM_VMS' => '5.73',
- 'ExtUtils::MM_VOS' => '0.02',
- 'ExtUtils::MM_Win32' => '1.12',
- 'ExtUtils::MM_Win95' => '0.04',
- 'ExtUtils::MY' => '0.01',
- 'ExtUtils::MakeMaker' => '6.30_01',
- 'ExtUtils::MakeMaker::Config'=> '0.02',
- 'ExtUtils::MakeMaker::bytes'=> '0.01',
- 'ExtUtils::MakeMaker::vmsish'=> '0.01',
- 'ExtUtils::Manifest' => '1.46',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '1.15',
- 'ExtUtils::Mksymlists' => '1.19',
- 'ExtUtils::Packlist' => '0.04',
- 'ExtUtils::ParseXS' => '2.15_02',
- 'ExtUtils::testlib' => '1.15',
- 'Fatal' => '1.04',
- 'Fcntl' => '1.05',
- 'File::Basename' => '2.74',
- 'File::CheckTree' => '4.3',
- 'File::Compare' => '1.1005',
- 'File::Copy' => '2.09',
- 'File::DosGlob' => '1.00',
- 'File::Find' => '1.10',
- 'File::Glob' => '1.05',
- 'File::Path' => '1.08',
- 'File::Spec' => '3.15',
- 'File::Spec::Cygwin' => '1.1',
- 'File::Spec::Epoc' => '1.1',
- 'File::Spec::Functions' => '1.3',
- 'File::Spec::Mac' => '1.4',
- 'File::Spec::OS2' => '1.2',
- 'File::Spec::Unix' => '1.5',
- 'File::Spec::VMS' => '1.4',
- 'File::Spec::Win32' => '1.6',
- 'File::Temp' => '0.16_01',
- 'File::stat' => '1.00',
- 'FileCache' => '1.06',
- 'FileHandle' => '2.01',
- 'VMS::Filespec' => '1.11',
- 'Filter::Simple' => '0.82',
- 'Filter::Util::Call' => '1.0601',
- 'FindBin' => '1.47',
- 'GDBM_File' => '1.08',
- 'Getopt::Long' => '2.35',
- 'Getopt::Std' => '1.05',
- 'Hash::Util' => '0.05',
- 'I18N::Collate' => '1.00',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.03',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.02',
- 'IO' => '1.22',
- 'IO::Dir' => '1.05',
- 'IO::File' => '1.13_01',
- 'IO::Handle' => '1.26',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.29_01',
- 'IO::Socket::INET' => '1.29_02',
- 'IO::Socket::UNIX' => '1.22_01',
- 'IO::Zlib' => '1.04_02',
- 'IPC::Msg' => '1.02',
- 'IPC::Open2' => '1.02',
- 'IPC::Open3' => '1.02',
- 'IPC::Semaphore' => '1.02',
- 'IPC::SysV' => '1.04',
- 'List::Util' => '1.18',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.10_01',
- 'Locale::Maketext::Guts'=> undef,
- 'Locale::Maketext::GutsLoader'=> undef,
- 'Locale::Script' => '2.07',
- 'MIME::Base64' => '3.07',
- 'MIME::QuotedPrint' => '3.07',
- 'Math::BigFloat' => '1.51',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.77',
- 'Math::BigInt::Calc' => '0.47',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.10',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.15',
- 'Math::Complex' => '1.35',
- 'Math::Trig' => '1.03',
- 'Memoize' => '1.01_01',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::CoreList' => '2.02',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.06',
- 'NEXT' => '0.60_01',
- 'Net::Cmd' => '2.26_01',
- 'Net::Config' => '1.10',
- 'Net::Domain' => '2.19_01',
- 'Net::FTP' => '2.75',
- 'Net::FTP::A' => '1.16',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.23',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.28',
- 'Net::Ping' => '2.31_04',
- 'Net::SMTP' => '2.29',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.00',
- 'ODBM_File' => '1.06',
- 'Opcode' => '1.08',
- 'POSIX' => '1.10',
- 'PerlIO' => '1.04',
- 'PerlIO::encoding' => '0.09',
- 'PerlIO::scalar' => '0.04',
- 'PerlIO::via' => '0.03',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.43',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.34',
- 'Pod::Functions' => '1.03',
- 'Pod::Html' => '1.0504',
- 'Pod::InputObjects' => '1.3',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.04',
- 'Pod::ParseLink' => '1.06',
- 'Pod::ParseUtils' => '1.33',
- 'Pod::Parser' => '1.32',
- 'Pod::Perldoc' => '3.14_01',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.02',
- 'Pod::Plainer' => '0.01',
- 'Pod::Select' => '1.3',
- 'Pod::Simple' => '3.04',
- 'Pod::Simple::BlackBox' => undef,
- 'Pod::Simple::Checker' => '2.02',
- 'Pod::Simple::Debug' => undef,
- 'Pod::Simple::DumpAsText'=> '2.02',
- 'Pod::Simple::DumpAsXML'=> '2.02',
- 'Pod::Simple::HTML' => '3.03',
- 'Pod::Simple::HTMLBatch'=> '3.02',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> undef,
- 'Pod::Simple::Methody' => '2.02',
- 'Pod::Simple::Progress' => '1.01',
- 'Pod::Simple::PullParser'=> '2.02',
- 'Pod::Simple::PullParserEndToken'=> undef,
- 'Pod::Simple::PullParserStartToken'=> undef,
- 'Pod::Simple::PullParserTextToken'=> undef,
- 'Pod::Simple::PullParserToken'=> '2.02',
- 'Pod::Simple::RTF' => '2.02',
- 'Pod::Simple::Search' => '3.04',
- 'Pod::Simple::SimpleTree'=> '2.02',
- 'Pod::Simple::Text' => '2.02',
- 'Pod::Simple::TextContent'=> '2.02',
- 'Pod::Simple::TiedOutFH'=> undef,
- 'Pod::Simple::Transcode'=> undef,
- 'Pod::Simple::TranscodeDumb'=> '2.02',
- 'Pod::Simple::TranscodeSmart'=> undef,
- 'Pod::Simple::XMLOutStream'=> '2.02',
- 'Pod::Text' => '3.01',
- 'Pod::Text::Color' => '2.01',
- 'Pod::Text::Overstrike' => '2',
- 'Pod::Text::Termcap' => '2.01',
- 'Pod::Usage' => '1.33_01',
- 'SDBM_File' => '1.05',
- 'Safe' => '2.12',
- 'Scalar::Util' => '1.18',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.01',
- 'SelfLoader' => '1.0905',
- 'Shell' => '0.6',
- 'Socket' => '1.78',
- 'Stdio' => '2.3',
- 'Storable' => '2.15_02',
- 'Switch' => '2.10_01',
- 'Symbol' => '1.06',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.13',
- 'Term::ANSIColor' => '1.10',
- 'Term::Cap' => '1.09',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.02',
- 'Test' => '1.25',
- 'Test::Builder' => '0.32',
- 'Test::Builder::Module' => '0.03',
- 'Test::Builder::Tester' => '1.02',
- 'Test::Builder::Tester::Color'=> undef,
- 'Test::Harness' => '2.56',
- 'Test::Harness::Assert' => '0.02',
- 'Test::Harness::Iterator'=> '0.02',
- 'Test::Harness::Point' => '0.01',
- 'Test::Harness::Straps' => '0.26',
- 'Test::More' => '0.62',
- 'Test::Simple' => '0.62',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '1.95_01',
- 'Text::ParseWords' => '3.24',
- 'Text::Soundex' => '1.01',
- 'Text::Tabs' => '2005.0824',
- 'Text::Wrap' => '2005.082401',
- 'Thread' => '2.00',
- 'Thread::Queue' => '2.00',
- 'Thread::Semaphore' => '2.01',
- 'Thread::Signal' => '1.00',
- 'Thread::Specific' => '1.00',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97_01',
- 'Tie::Handle' => '4.1',
- 'Tie::Hash' => '1.02',
- 'Tie::Memoize' => '1.0',
- 'Tie::RefHash' => '1.32',
- 'Tie::Scalar' => '1.00',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.86',
- 'Time::Local' => '1.11',
- 'Time::gmtime' => '1.02',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.03',
- 'Unicode' => '4.1.0',
- 'Unicode::Collate' => '0.52',
- 'Unicode::Normalize' => '0.32',
- 'Unicode::UCD' => '0.24',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'Win32' => '0.2601',
- 'XS::APItest' => '0.09',
- 'XS::Typemap' => '0.02',
- 'XSLoader' => '0.06',
- 'XSSymSet' => '1.0',
- 'assertions' => '0.02',
- 'assertions::activate' => '0.02',
- 'assertions::compat' => undef,
- 'attributes' => '0.06',
- 'attrs' => '1.02',
- 'autouse' => '1.05',
- 'base' => '2.07',
- 'bigint' => '0.07',
- 'bignum' => '0.17',
- 'bigrat' => '0.08',
- 'blib' => '1.03',
- 'bytes' => '1.02',
- 'charnames' => '1.05',
- 'constant' => '1.07',
- 'diagnostics' => '1.15',
- 'encoding' => '2.02',
- 'encoding::warnings' => '0.05',
- 'feature' => '1.00',
- 'fields' => '2.03',
- 'filetest' => '1.01',
- 'if' => '0.05',
- 'integer' => '1.00',
- 'less' => '0.01',
- 'lib' => '0.5565',
- 'locale' => '1.00',
- 'open' => '1.05',
- 'ops' => '1.01',
- 'overload' => '1.04',
- 're' => '0.06',
- 'sigtrap' => '1.02',
- 'sort' => '2.00',
- 'strict' => '1.03',
- 'subs' => '1.00',
- 'threads' => '1.07',
- 'threads::shared' => '0.94',
- 'utf8' => '1.06',
- 'vars' => '1.01',
- 'version' => '0.53',
- 'vmsish' => '1.02',
- 'warnings' => '1.05',
- 'warnings::register' => '1.01',
+ delta_from => 5.008006,
+ changed => {
+ 'B' => '1.09',
+ 'B::Concise' => '0.65',
+ 'B::Deparse' => '0.7',
+ 'B::Disassembler' => '1.04',
+ 'B::Terse' => '1.03',
+ 'Benchmark' => '1.07',
+ 'CGI' => '3.10',
+ 'CGI::Carp' => '1.29',
+ 'CGI::Cookie' => '1.25',
+ 'Carp' => '1.04',
+ 'Carp::Heavy' => '1.04',
+ 'Class::ISA' => '0.33',
+ 'Cwd' => '3.05',
+ 'DB_File' => '1.811',
+ 'Data::Dumper' => '2.121_04',
+ 'Devel::DProf' => '20050310.00',
+ 'Devel::PPPort' => '3.06',
+ 'Digest' => '1.10',
+ 'Digest::file' => '0.01',
+ 'Encode' => '2.10',
+ 'Encode::Alias' => '2.03',
+ 'Errno' => '1.09_01',
+ 'ExtUtils::Constant' => '0.16',
+ 'ExtUtils::Constant::Base'=> '0.01',
+ 'ExtUtils::Constant::Utils'=> '0.01',
+ 'ExtUtils::Constant::XS'=> '0.01',
+ 'File::Find' => '1.09',
+ 'File::Glob' => '1.04',
+ 'File::Path' => '1.07',
+ 'File::Spec' => '3.05',
+ 'File::Temp' => '0.16',
+ 'FileCache' => '1.05',
+ 'IO::File' => '1.11',
+ 'IO::Socket::INET' => '1.28',
+ 'Math::BigFloat' => '1.51',
+ 'Math::BigInt' => '1.77',
+ 'Math::BigInt::Calc' => '0.47',
+ 'Math::BigInt::CalcEmu' => '0.05',
+ 'Math::BigRat' => '0.15',
+ 'Pod::Find' => '1.3',
+ 'Pod::Html' => '1.0503',
+ 'Pod::InputObjects' => '1.3',
+ 'Pod::LaTeX' => '0.58',
+ 'Pod::ParseUtils' => '1.3',
+ 'Pod::Parser' => '1.3',
+ 'Pod::Perldoc' => '3.14',
+ 'Pod::Select' => '1.3',
+ 'Pod::Usage' => '1.3',
+ 'SelectSaver' => '1.01',
+ 'Symbol' => '1.06',
+ 'Sys::Syslog' => '0.06',
+ 'Term::ANSIColor' => '1.09',
+ 'Term::Complete' => '1.402',
+ 'Test::Builder' => '0.22',
+ 'Test::Harness' => '2.48',
+ 'Test::Harness::Point' => '0.01',
+ 'Test::Harness::Straps' => '0.23',
+ 'Test::More' => '0.54',
+ 'Test::Simple' => '0.54',
+ 'Text::ParseWords' => '3.24',
+ 'Text::Wrap' => '2001.09293',
+ 'Tie::RefHash' => '1.32',
+ 'Time::HiRes' => '1.66',
+ 'Time::Local' => '1.11',
+ 'Unicode' => '4.1.0',
+ 'Unicode::Normalize' => '0.32',
+ 'Unicode::UCD' => '0.23',
+ 'Win32' => '0.24',
+ 'XS::APItest' => '0.06',
+ 'base' => '2.07',
+ 'bigint' => '0.07',
+ 'bignum' => '0.17',
+ 'bigrat' => '0.08',
+ 'bytes' => '1.02',
+ 'constant' => '1.05',
+ 'overload' => '1.03',
+ 'threads::shared' => '0.93',
+ 'utf8' => '1.05',
+ },
+ removed => {
+ 'JNI' => 1,
+ 'JPL::AutoLoader' => 1,
+ 'JPL::Class' => 1,
+ 'JPL::Compile' => 1,
+ 'OS2::DLL' => 1,
+ 'OS2::ExtAttr' => 1,
+ 'OS2::PrfDB' => 1,
+ 'OS2::Process' => 1,
+ 'OS2::REXX' => 1,
+ }
},
-
5.008008 => {
- 'AnyDBM_File' => '1.00',
- 'Attribute::Handlers' => '0.78_02',
- 'AutoLoader' => '5.60',
- 'AutoSplit' => '1.04',
- 'B' => '1.09_01',
- 'B::Asmdata' => '1.01',
- 'B::Assembler' => '0.07',
- 'B::Bblock' => '1.02_01',
- 'B::Bytecode' => '1.01_01',
- 'B::C' => '1.04_01',
- 'B::CC' => '1.00_01',
- 'B::Concise' => '0.66',
- 'B::Debug' => '1.02_01',
- 'B::Deparse' => '0.71',
- 'B::Disassembler' => '1.05',
- 'B::Lint' => '1.03',
- 'B::Showlex' => '1.02',
- 'B::Stackobj' => '1.00',
- 'B::Stash' => '1.00',
- 'B::Terse' => '1.03_01',
- 'B::Xref' => '1.01',
- 'Benchmark' => '1.07',
- 'ByteLoader' => '0.06',
- 'CGI' => '3.15',
- 'CGI::Apache' => '1.00',
- 'CGI::Carp' => '1.29',
- 'CGI::Cookie' => '1.26',
- 'CGI::Fast' => '1.05',
- 'CGI::Pretty' => '1.08',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.00',
- 'CGI::Util' => '1.5',
- 'CPAN' => '1.76_02',
- 'CPAN::FirstTime' => '1.60 ',
- 'CPAN::Nox' => '1.03',
- 'Carp' => '1.04',
- 'Carp::Heavy' => '1.04',
- 'Class::ISA' => '0.33',
- 'Class::Struct' => '0.63',
- 'Config' => undef,
- 'Cwd' => '3.12',
- 'DB' => '1.01',
- 'DBM_Filter' => '0.01',
- 'DBM_Filter::compress' => '0.01',
- 'DBM_Filter::encode' => '0.01',
- 'DBM_Filter::int32' => '0.01',
- 'DBM_Filter::null' => '0.01',
- 'DBM_Filter::utf8' => '0.01',
- 'DB_File' => '1.814',
- 'DCLsym' => '1.02',
- 'Data::Dumper' => '2.121_08',
- 'Devel::DProf' => '20050603.00',
- 'Devel::PPPort' => '3.06_01',
- 'Devel::Peek' => '1.03',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.14',
- 'Digest::MD5' => '2.36',
- 'Digest::base' => '1.00',
- 'Digest::file' => '1.00',
- 'DirHandle' => '1.00',
- 'Dumpvalue' => '1.12',
- 'DynaLoader' => '1.05',
- 'Encode' => '2.12',
- 'Encode::Alias' => '2.04',
- 'Encode::Byte' => '2.00',
- 'Encode::CJKConstants' => '2.00',
- 'Encode::CN' => '2.00',
- 'Encode::CN::HZ' => '2.01',
- 'Encode::Config' => '2.01',
- 'Encode::EBCDIC' => '2.00',
- 'Encode::Encoder' => '2.00',
- 'Encode::Encoding' => '2.02',
- 'Encode::Guess' => '2.00',
- 'Encode::JP' => '2.01',
- 'Encode::JP::H2Z' => '2.00',
- 'Encode::JP::JIS7' => '2.00',
- 'Encode::KR' => '2.00',
- 'Encode::KR::2022_KR' => '2.00',
- 'Encode::MIME::Header' => '2.01',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.01',
- 'Encode::Symbol' => '2.00',
- 'Encode::TW' => '2.00',
- 'Encode::Unicode' => '2.02',
- 'Encode::Unicode::UTF7' => '2.01',
- 'English' => '1.02',
- 'Env' => '1.00',
- 'Errno' => '1.09_01',
- 'Exporter' => '5.58',
- 'Exporter::Heavy' => '5.58',
- 'ExtUtils::Command' => '1.09',
- 'ExtUtils::Command::MM' => '0.05',
- 'ExtUtils::Constant' => '0.17',
- 'ExtUtils::Constant::Base'=> '0.01',
- 'ExtUtils::Constant::Utils'=> '0.01',
- 'ExtUtils::Constant::XS'=> '0.01',
- 'ExtUtils::Embed' => '1.26',
- 'ExtUtils::Install' => '1.33',
- 'ExtUtils::Installed' => '0.08',
- 'ExtUtils::Liblist' => '1.01',
- 'ExtUtils::Liblist::Kid'=> '1.3',
- 'ExtUtils::MM' => '0.05',
- 'ExtUtils::MM_AIX' => '0.03',
- 'ExtUtils::MM_Any' => '0.13',
- 'ExtUtils::MM_BeOS' => '1.05',
- 'ExtUtils::MM_Cygwin' => '1.08',
- 'ExtUtils::MM_DOS' => '0.02',
- 'ExtUtils::MM_MacOS' => '1.08',
- 'ExtUtils::MM_NW5' => '2.08',
- 'ExtUtils::MM_OS2' => '1.05',
- 'ExtUtils::MM_QNX' => '0.02',
- 'ExtUtils::MM_UWIN' => '0.02',
- 'ExtUtils::MM_Unix' => '1.50',
- 'ExtUtils::MM_VMS' => '5.73',
- 'ExtUtils::MM_VOS' => '0.02',
- 'ExtUtils::MM_Win32' => '1.12',
- 'ExtUtils::MM_Win95' => '0.04',
- 'ExtUtils::MY' => '0.01',
- 'ExtUtils::MakeMaker' => '6.30',
- 'ExtUtils::MakeMaker::Config'=> '0.02',
- 'ExtUtils::MakeMaker::bytes'=> '0.01',
- 'ExtUtils::MakeMaker::vmsish'=> '0.01',
- 'ExtUtils::Manifest' => '1.46',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '1.15',
- 'ExtUtils::Mksymlists' => '1.19',
- 'ExtUtils::Packlist' => '0.04',
- 'ExtUtils::testlib' => '1.15',
- 'Fatal' => '1.03',
- 'Fcntl' => '1.05',
- 'File::Basename' => '2.74',
- 'File::CheckTree' => '4.3',
- 'File::Compare' => '1.1003',
- 'File::Copy' => '2.09',
- 'File::DosGlob' => '1.00',
- 'File::Find' => '1.10',
- 'File::Glob' => '1.05',
- 'File::Path' => '1.08',
- 'File::Spec' => '3.12',
- 'File::Spec::Cygwin' => '1.1',
- 'File::Spec::Epoc' => '1.1',
- 'File::Spec::Functions' => '1.3',
- 'File::Spec::Mac' => '1.4',
- 'File::Spec::OS2' => '1.2',
- 'File::Spec::Unix' => '1.5',
- 'File::Spec::VMS' => '1.4',
- 'File::Spec::Win32' => '1.6',
- 'File::Temp' => '0.16',
- 'File::stat' => '1.00',
- 'FileCache' => '1.06',
- 'FileHandle' => '2.01',
- 'VMS::Filespec' => '1.11',
- 'Filter::Simple' => '0.82',
- 'Filter::Util::Call' => '1.0601',
- 'FindBin' => '1.47',
- 'GDBM_File' => '1.08',
- 'Getopt::Long' => '2.35',
- 'Getopt::Std' => '1.05',
- 'Hash::Util' => '0.05',
- 'I18N::Collate' => '1.00',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.03',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.02',
- 'IO' => '1.22',
- 'IO::Dir' => '1.05',
- 'IO::File' => '1.13',
- 'IO::Handle' => '1.25',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.29',
- 'IO::Socket::INET' => '1.29',
- 'IO::Socket::UNIX' => '1.22',
- 'IPC::Msg' => '1.02',
- 'IPC::Open2' => '1.02',
- 'IPC::Open3' => '1.02',
- 'IPC::Semaphore' => '1.02',
- 'IPC::SysV' => '1.04',
- 'List::Util' => '1.18',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.09',
- 'Locale::Maketext::Guts'=> undef,
- 'Locale::Maketext::GutsLoader'=> undef,
- 'Locale::Script' => '2.07',
- 'MIME::Base64' => '3.07',
- 'MIME::QuotedPrint' => '3.07',
- 'Math::BigFloat' => '1.51',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.77',
- 'Math::BigInt::Calc' => '0.47',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.15',
- 'Math::Complex' => '1.35',
- 'Math::Trig' => '1.03',
- 'Memoize' => '1.01',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'NDBM_File' => '1.06',
- 'NEXT' => '0.60',
- 'Net::Cmd' => '2.26',
- 'Net::Config' => '1.10',
- 'Net::Domain' => '2.19',
- 'Net::FTP' => '2.75',
- 'Net::FTP::A' => '1.16',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.23',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.28',
- 'Net::Ping' => '2.31',
- 'Net::SMTP' => '2.29',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.00',
- 'ODBM_File' => '1.06',
- 'Opcode' => '1.06',
- 'POSIX' => '1.09',
- 'PerlIO' => '1.04',
- 'PerlIO::encoding' => '0.09',
- 'PerlIO::scalar' => '0.04',
- 'PerlIO::via' => '0.03',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.43',
- 'Pod::Find' => '1.34',
- 'Pod::Functions' => '1.03',
- 'Pod::Html' => '1.0504',
- 'Pod::InputObjects' => '1.3',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '1.37',
- 'Pod::ParseLink' => '1.06',
- 'Pod::ParseUtils' => '1.33',
- 'Pod::Parser' => '1.32',
- 'Pod::Perldoc' => '3.14',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.02',
- 'Pod::Plainer' => '0.01',
- 'Pod::Select' => '1.3',
- 'Pod::Text' => '2.21',
- 'Pod::Text::Color' => '1.04',
- 'Pod::Text::Overstrike' => '1.1',
- 'Pod::Text::Termcap' => '1.11',
- 'Pod::Usage' => '1.33',
- 'SDBM_File' => '1.05',
- 'Safe' => '2.12',
- 'Scalar::Util' => '1.18',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.01',
- 'SelfLoader' => '1.0904',
- 'Shell' => '0.6',
- 'Socket' => '1.78',
- 'Stdio' => '2.3',
- 'Storable' => '2.15',
- 'Switch' => '2.10_01',
- 'Symbol' => '1.06',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.13',
- 'Term::ANSIColor' => '1.10',
- 'Term::Cap' => '1.09',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.02',
- 'Test' => '1.25',
- 'Test::Builder' => '0.32',
- 'Test::Builder::Module' => '0.02',
- 'Test::Builder::Tester' => '1.02',
- 'Test::Builder::Tester::Color'=> undef,
- 'Test::Harness' => '2.56',
- 'Test::Harness::Assert' => '0.02',
- 'Test::Harness::Iterator'=> '0.02',
- 'Test::Harness::Point' => '0.01',
- 'Test::Harness::Straps' => '0.26',
- 'Test::More' => '0.62',
- 'Test::Simple' => '0.62',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '1.95',
- 'Text::ParseWords' => '3.24',
- 'Text::Soundex' => '1.01',
- 'Text::Tabs' => '2005.0824',
- 'Text::Wrap' => '2005.082401',
- 'Thread' => '2.00',
- 'Thread::Queue' => '2.00',
- 'Thread::Semaphore' => '2.01',
- 'Thread::Signal' => '1.00',
- 'Thread::Specific' => '1.00',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97',
- 'Tie::Handle' => '4.1',
- 'Tie::Hash' => '1.02',
- 'Tie::Memoize' => '1.0',
- 'Tie::RefHash' => '1.32',
- 'Tie::Scalar' => '1.00',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.86',
- 'Time::Local' => '1.11',
- 'Time::gmtime' => '1.02',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.01',
- 'Unicode' => '4.1.0',
- 'Unicode::Collate' => '0.52',
- 'Unicode::Normalize' => '0.32',
- 'Unicode::UCD' => '0.24',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'Win32' => '0.2601',
- 'XS::APItest' => '0.08',
- 'XS::Typemap' => '0.02',
- 'XSLoader' => '0.06',
- 'XSSymSet' => '1.0',
- 'attributes' => '0.06',
- 'attrs' => '1.02',
- 'autouse' => '1.05',
- 'base' => '2.07',
- 'bigint' => '0.07',
- 'bignum' => '0.17',
- 'bigrat' => '0.08',
- 'blib' => '1.03',
- 'bytes' => '1.02',
- 'charnames' => '1.05',
- 'constant' => '1.05',
- 'diagnostics' => '1.15',
- 'encoding' => '2.02',
- 'fields' => '2.03',
- 'filetest' => '1.01',
- 'if' => '0.05',
- 'integer' => '1.00',
- 'less' => '0.01',
- 'lib' => '0.5565',
- 'locale' => '1.00',
- 'open' => '1.05',
- 'ops' => '1.01',
- 'overload' => '1.04',
- 're' => '0.05',
- 'sigtrap' => '1.02',
- 'sort' => '1.02',
- 'strict' => '1.03',
- 'subs' => '1.00',
- 'threads' => '1.07',
- 'threads::shared' => '0.94',
- 'utf8' => '1.06',
- 'vars' => '1.01',
- 'vmsish' => '1.02',
- 'warnings' => '1.05',
- 'warnings::register' => '1.01',
+ delta_from => 5.008007,
+ changed => {
+ 'Attribute::Handlers' => '0.78_02',
+ 'B' => '1.09_01',
+ 'B::Bblock' => '1.02_01',
+ 'B::Bytecode' => '1.01_01',
+ 'B::C' => '1.04_01',
+ 'B::CC' => '1.00_01',
+ 'B::Concise' => '0.66',
+ 'B::Debug' => '1.02_01',
+ 'B::Deparse' => '0.71',
+ 'B::Disassembler' => '1.05',
+ 'B::Terse' => '1.03_01',
+ 'ByteLoader' => '0.06',
+ 'CGI' => '3.15',
+ 'CGI::Cookie' => '1.26',
+ 'CPAN' => '1.76_02',
+ 'Cwd' => '3.12',
+ 'DB' => '1.01',
+ 'DB_File' => '1.814',
+ 'Data::Dumper' => '2.121_08',
+ 'Devel::DProf' => '20050603.00',
+ 'Devel::PPPort' => '3.06_01',
+ 'Devel::Peek' => '1.03',
+ 'Digest' => '1.14',
+ 'Digest::MD5' => '2.36',
+ 'Digest::file' => '1.00',
+ 'Dumpvalue' => '1.12',
+ 'Encode' => '2.12',
+ 'Encode::Alias' => '2.04',
+ 'Encode::Config' => '2.01',
+ 'Encode::MIME::Header' => '2.01',
+ 'Encode::MIME::Header::ISO_2022_JP'=> '1.01',
+ 'English' => '1.02',
+ 'ExtUtils::Command' => '1.09',
+ 'ExtUtils::Command::MM' => '0.05',
+ 'ExtUtils::Constant' => '0.17',
+ 'ExtUtils::Embed' => '1.26',
+ 'ExtUtils::Install' => '1.33',
+ 'ExtUtils::Liblist::Kid'=> '1.3',
+ 'ExtUtils::MM' => '0.05',
+ 'ExtUtils::MM_AIX' => '0.03',
+ 'ExtUtils::MM_Any' => '0.13',
+ 'ExtUtils::MM_BeOS' => '1.05',
+ 'ExtUtils::MM_Cygwin' => '1.08',
+ 'ExtUtils::MM_MacOS' => '1.08',
+ 'ExtUtils::MM_NW5' => '2.08',
+ 'ExtUtils::MM_OS2' => '1.05',
+ 'ExtUtils::MM_QNX' => '0.02',
+ 'ExtUtils::MM_Unix' => '1.50',
+ 'ExtUtils::MM_VMS' => '5.73',
+ 'ExtUtils::MM_VOS' => '0.02',
+ 'ExtUtils::MM_Win32' => '1.12',
+ 'ExtUtils::MM_Win95' => '0.04',
+ 'ExtUtils::MakeMaker' => '6.30',
+ 'ExtUtils::MakeMaker::Config'=> '0.02',
+ 'ExtUtils::Manifest' => '1.46',
+ 'File::Basename' => '2.74',
+ 'File::Copy' => '2.09',
+ 'File::Find' => '1.10',
+ 'File::Glob' => '1.05',
+ 'File::Path' => '1.08',
+ 'File::Spec' => '3.12',
+ 'File::Spec::Win32' => '1.6',
+ 'FileCache' => '1.06',
+ 'Filter::Simple' => '0.82',
+ 'FindBin' => '1.47',
+ 'GDBM_File' => '1.08',
+ 'Getopt::Long' => '2.35',
+ 'IO' => '1.22',
+ 'IO::Dir' => '1.05',
+ 'IO::File' => '1.13',
+ 'IO::Handle' => '1.25',
+ 'IO::Pipe' => '1.13',
+ 'IO::Poll' => '0.07',
+ 'IO::Seekable' => '1.10',
+ 'IO::Select' => '1.17',
+ 'IO::Socket' => '1.29',
+ 'IO::Socket::INET' => '1.29',
+ 'IO::Socket::UNIX' => '1.22',
+ 'IPC::Open2' => '1.02',
+ 'IPC::Open3' => '1.02',
+ 'List::Util' => '1.18',
+ 'MIME::Base64' => '3.07',
+ 'MIME::QuotedPrint' => '3.07',
+ 'Math::Complex' => '1.35',
+ 'Math::Trig' => '1.03',
+ 'NDBM_File' => '1.06',
+ 'ODBM_File' => '1.06',
+ 'Opcode' => '1.06',
+ 'POSIX' => '1.09',
+ 'PerlIO' => '1.04',
+ 'PerlIO::encoding' => '0.09',
+ 'PerlIO::scalar' => '0.04',
+ 'PerlIO::via' => '0.03',
+ 'Pod::Checker' => '1.43',
+ 'Pod::Find' => '1.34',
+ 'Pod::Functions' => '1.03',
+ 'Pod::Html' => '1.0504',
+ 'Pod::ParseUtils' => '1.33',
+ 'Pod::Parser' => '1.32',
+ 'Pod::Usage' => '1.33',
+ 'SDBM_File' => '1.05',
+ 'Safe' => '2.12',
+ 'Scalar::Util' => '1.18',
+ 'Socket' => '1.78',
+ 'Storable' => '2.15',
+ 'Switch' => '2.10_01',
+ 'Sys::Syslog' => '0.13',
+ 'Term::ANSIColor' => '1.10',
+ 'Term::ReadLine' => '1.02',
+ 'Test::Builder' => '0.32',
+ 'Test::Builder::Module' => '0.02',
+ 'Test::Builder::Tester' => '1.02',
+ 'Test::Builder::Tester::Color'=> undef,
+ 'Test::Harness' => '2.56',
+ 'Test::Harness::Straps' => '0.26',
+ 'Test::More' => '0.62',
+ 'Test::Simple' => '0.62',
+ 'Text::Tabs' => '2005.0824',
+ 'Text::Wrap' => '2005.082401',
+ 'Tie::Hash' => '1.02',
+ 'Time::HiRes' => '1.86',
+ 'Unicode::Collate' => '0.52',
+ 'Unicode::UCD' => '0.24',
+ 'User::grent' => '1.01',
+ 'Win32' => '0.2601',
+ 'XS::APItest' => '0.08',
+ 'XS::Typemap' => '0.02',
+ 'XSLoader' => '0.06',
+ 'attrs' => '1.02',
+ 'autouse' => '1.05',
+ 'blib' => '1.03',
+ 'charnames' => '1.05',
+ 'diagnostics' => '1.15',
+ 'encoding' => '2.02',
+ 'if' => '0.05',
+ 'open' => '1.05',
+ 'ops' => '1.01',
+ 'overload' => '1.04',
+ 're' => '0.05',
+ 'threads' => '1.07',
+ 'threads::shared' => '0.94',
+ 'utf8' => '1.06',
+ 'vmsish' => '1.02',
+ 'warnings' => '1.05',
+ 'warnings::register' => '1.01',
+ },
+ removed => {
+ }
+ },
+ 5.008009 => {
+ delta_from => 5.008008,
+ changed => {
+ 'Attribute::Handlers' => '0.78_03',
+ 'AutoLoader' => '5.67',
+ 'AutoSplit' => '1.06',
+ 'B' => '1.19',
+ 'B::Asmdata' => '1.02',
+ 'B::Assembler' => '0.08',
+ 'B::C' => '1.05',
+ 'B::Concise' => '0.76',
+ 'B::Debug' => '1.05',
+ 'B::Deparse' => '0.87',
+ 'B::Lint' => '1.11',
+ 'B::Lint::Debug' => undef,
+ 'B::Terse' => '1.05',
+ 'Benchmark' => '1.1',
+ 'CGI' => '3.42',
+ 'CGI::Carp' => '1.30_01',
+ 'CGI::Cookie' => '1.29',
+ 'CGI::Fast' => '1.07',
+ 'CGI::Util' => '1.5_01',
+ 'CPAN' => '1.9301',
+ 'CPAN::Debug' => '5.5',
+ 'CPAN::DeferedCode' => '5.50',
+ 'CPAN::Distroprefs' => '6',
+ 'CPAN::FirstTime' => '5.5_01',
+ 'CPAN::HandleConfig' => '5.5',
+ 'CPAN::Kwalify' => '5.50',
+ 'CPAN::Nox' => '5.50',
+ 'CPAN::Queue' => '5.5',
+ 'CPAN::Tarzip' => '5.5',
+ 'CPAN::Version' => '5.5',
+ 'Carp' => '1.10',
+ 'Carp::Heavy' => '1.10',
+ 'Cwd' => '3.29',
+ 'DBM_Filter' => '0.02',
+ 'DBM_Filter::compress' => '0.02',
+ 'DBM_Filter::encode' => '0.02',
+ 'DBM_Filter::int32' => '0.02',
+ 'DBM_Filter::null' => '0.02',
+ 'DBM_Filter::utf8' => '0.02',
+ 'DB_File' => '1.817',
+ 'Data::Dumper' => '2.121_17',
+ 'Devel::DProf' => '20080331.00',
+ 'Devel::InnerPackage' => '0.3',
+ 'Devel::PPPort' => '3.14',
+ 'Devel::Peek' => '1.04',
+ 'Digest' => '1.15',
+ 'Digest::MD5' => '2.37',
+ 'DirHandle' => '1.02',
+ 'DynaLoader' => '1.09',
+ 'Encode' => '2.26',
+ 'Encode::Alias' => '2.10',
+ 'Encode::Byte' => '2.03',
+ 'Encode::CJKConstants' => '2.02',
+ 'Encode::CN' => '2.02',
+ 'Encode::CN::HZ' => '2.05',
+ 'Encode::Config' => '2.05',
+ 'Encode::EBCDIC' => '2.02',
+ 'Encode::Encoder' => '2.01',
+ 'Encode::Encoding' => '2.05',
+ 'Encode::GSM0338' => '2.01',
+ 'Encode::Guess' => '2.02',
+ 'Encode::JP' => '2.03',
+ 'Encode::JP::H2Z' => '2.02',
+ 'Encode::JP::JIS7' => '2.04',
+ 'Encode::KR' => '2.02',
+ 'Encode::KR::2022_KR' => '2.02',
+ 'Encode::MIME::Header' => '2.05',
+ 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
+ 'Encode::MIME::Name' => '1.01',
+ 'Encode::Symbol' => '2.02',
+ 'Encode::TW' => '2.02',
+ 'Encode::Unicode' => '2.05',
+ 'Encode::Unicode::UTF7' => '2.04',
+ 'English' => '1.03',
+ 'Errno' => '1.10',
+ 'Exporter' => '5.63',
+ 'Exporter::Heavy' => '5.63',
+ 'ExtUtils::Command' => '1.15',
+ 'ExtUtils::Command::MM' => '6.48',
+ 'ExtUtils::Constant' => '0.21',
+ 'ExtUtils::Constant::Base'=> '0.04',
+ 'ExtUtils::Constant::ProxySubs'=> '0.06',
+ 'ExtUtils::Constant::Utils'=> '0.02',
+ 'ExtUtils::Constant::XS'=> '0.02',
+ 'ExtUtils::Embed' => '1.28',
+ 'ExtUtils::Install' => '1.50_01',
+ 'ExtUtils::Installed' => '1.43',
+ 'ExtUtils::Liblist' => '6.48',
+ 'ExtUtils::Liblist::Kid'=> '6.48',
+ 'ExtUtils::MM' => '6.48',
+ 'ExtUtils::MM_AIX' => '6.48',
+ 'ExtUtils::MM_Any' => '6.48',
+ 'ExtUtils::MM_BeOS' => '6.48',
+ 'ExtUtils::MM_Cygwin' => '6.48',
+ 'ExtUtils::MM_DOS' => '6.48',
+ 'ExtUtils::MM_Darwin' => '6.48',
+ 'ExtUtils::MM_MacOS' => '6.48',
+ 'ExtUtils::MM_NW5' => '6.48',
+ 'ExtUtils::MM_OS2' => '6.48',
+ 'ExtUtils::MM_QNX' => '6.48',
+ 'ExtUtils::MM_UWIN' => '6.48',
+ 'ExtUtils::MM_Unix' => '6.48',
+ 'ExtUtils::MM_VMS' => '6.48',
+ 'ExtUtils::MM_VOS' => '6.48',
+ 'ExtUtils::MM_Win32' => '6.48',
+ 'ExtUtils::MM_Win95' => '6.48',
+ 'ExtUtils::MY' => '6.48',
+ 'ExtUtils::MakeMaker' => '6.48',
+ 'ExtUtils::MakeMaker::Config'=> '6.48',
+ 'ExtUtils::MakeMaker::bytes'=> '6.48',
+ 'ExtUtils::MakeMaker::vmsish'=> '6.48',
+ 'ExtUtils::Manifest' => '1.55',
+ 'ExtUtils::Mkbootstrap' => '6.48',
+ 'ExtUtils::Mksymlists' => '6.48',
+ 'ExtUtils::Packlist' => '1.43',
+ 'ExtUtils::ParseXS' => '2.19',
+ 'ExtUtils::XSSymSet' => '1.1',
+ 'ExtUtils::testlib' => '6.48',
+ 'Fatal' => '1.06',
+ 'Fcntl' => '1.06',
+ 'File::Basename' => '2.77',
+ 'File::CheckTree' => '4.4',
+ 'File::Compare' => '1.1005',
+ 'File::Copy' => '2.13',
+ 'File::DosGlob' => '1.01',
+ 'File::Find' => '1.13',
+ 'File::Glob' => '1.06',
+ 'File::Path' => '2.07_02',
+ 'File::Spec' => '3.29',
+ 'File::Spec::Cygwin' => '3.29',
+ 'File::Spec::Epoc' => '3.29',
+ 'File::Spec::Functions' => '3.29',
+ 'File::Spec::Mac' => '3.29',
+ 'File::Spec::OS2' => '3.29',
+ 'File::Spec::Unix' => '3.29',
+ 'File::Spec::VMS' => '3.29',
+ 'File::Spec::Win32' => '3.29',
+ 'File::Temp' => '0.20',
+ 'File::stat' => '1.01',
+ 'FileCache' => '1.07',
+ 'Filter::Simple' => '0.83',
+ 'Filter::Util::Call' => '1.07',
+ 'FindBin' => '1.49',
+ 'GDBM_File' => '1.09',
+ 'Getopt::Long' => '2.37',
+ 'Getopt::Std' => '1.06',
+ 'Hash::Util' => '0.06',
+ 'IO' => '1.23',
+ 'IO::Dir' => '1.06',
+ 'IO::File' => '1.14',
+ 'IO::Handle' => '1.27',
+ 'IO::Socket' => '1.30',
+ 'IO::Socket::INET' => '1.31',
+ 'IO::Socket::UNIX' => '1.23',
+ 'IPC::Msg' => '2.00',
+ 'IPC::Open2' => '1.03',
+ 'IPC::Open3' => '1.03',
+ 'IPC::Semaphore' => '2.00',
+ 'IPC::SharedMem' => '2.00',
+ 'IPC::SysV' => '2.00',
+ 'List::Util' => '1.19',
+ 'Locale::Maketext' => '1.13',
+ 'Locale::Maketext::Guts'=> '1.13',
+ 'Locale::Maketext::GutsLoader'=> '1.13',
+ 'Math::BigFloat' => '1.60',
+ 'Math::BigInt' => '1.89',
+ 'Math::BigInt::Calc' => '0.52',
+ 'Math::BigRat' => '0.22',
+ 'Math::Complex' => '1.54',
+ 'Math::Trig' => '1.18',
+ 'Module::CoreList' => '2.17',
+ 'Module::Pluggable' => '3.8',
+ 'Module::Pluggable::Object'=> '3.6',
+ 'NDBM_File' => '1.07',
+ 'NEXT' => '0.61',
+ 'Net::Cmd' => '2.29',
+ 'Net::Config' => '1.11',
+ 'Net::Domain' => '2.20',
+ 'Net::FTP' => '2.77',
+ 'Net::FTP::A' => '1.18',
+ 'Net::NNTP' => '2.24',
+ 'Net::POP3' => '2.29',
+ 'Net::Ping' => '2.35',
+ 'Net::SMTP' => '2.31',
+ 'O' => '1.01',
+ 'ODBM_File' => '1.07',
+ 'Opcode' => '1.0601',
+ 'POSIX' => '1.15',
+ 'PerlIO' => '1.05',
+ 'PerlIO::encoding' => '0.11',
+ 'PerlIO::scalar' => '0.06',
+ 'PerlIO::via' => '0.05',
+ 'Pod::Html' => '1.09',
+ 'Pod::ParseUtils' => '1.35',
+ 'Pod::Parser' => '1.35',
+ 'Pod::Select' => '1.35',
+ 'Pod::Usage' => '1.35',
+ 'SDBM_File' => '1.06',
+ 'Safe' => '2.16',
+ 'Scalar::Util' => '1.19',
+ 'SelfLoader' => '1.17',
+ 'Shell' => '0.72',
+ 'Socket' => '1.81',
+ 'Storable' => '2.19',
+ 'Switch' => '2.13',
+ 'Sys::Syslog' => '0.27',
+ 'Sys::Syslog::win32::Win32'=> undef,
+ 'Term::ANSIColor' => '1.12',
+ 'Term::Cap' => '1.12',
+ 'Term::ReadLine' => '1.03',
+ 'Test::Builder' => '0.80',
+ 'Test::Builder::Module' => '0.80',
+ 'Test::Builder::Tester' => '1.13',
+ 'Test::Harness' => '2.64',
+ 'Test::Harness::Results'=> '0.01_01',
+ 'Test::Harness::Straps' => '0.26_01',
+ 'Test::Harness::Util' => '0.01',
+ 'Test::More' => '0.80',
+ 'Test::Simple' => '0.80',
+ 'Text::Balanced' => '1.98',
+ 'Text::ParseWords' => '3.27',
+ 'Text::Soundex' => '3.03',
+ 'Text::Tabs' => '2007.1117',
+ 'Text::Wrap' => '2006.1117',
+ 'Thread' => '2.01',
+ 'Thread::Queue' => '2.11',
+ 'Thread::Semaphore' => '2.09',
+ 'Tie::Handle' => '4.2',
+ 'Tie::Hash' => '1.03',
+ 'Tie::Memoize' => '1.1',
+ 'Tie::RefHash' => '1.38',
+ 'Tie::Scalar' => '1.01',
+ 'Tie::StdHandle' => '4.2',
+ 'Time::HiRes' => '1.9715',
+ 'Time::Local' => '1.1901',
+ 'Time::gmtime' => '1.03',
+ 'Unicode' => '5.1.0',
+ 'Unicode::Normalize' => '1.02',
+ 'Unicode::UCD' => '0.25',
+ 'VMS::DCLsym' => '1.03',
+ 'VMS::Stdio' => '2.4',
+ 'Win32' => '0.38',
+ 'Win32API::File' => '0.1001_01',
+ 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
+ 'Win32CORE' => '0.02',
+ 'XS::APItest' => '0.15',
+ 'XS::Typemap' => '0.03',
+ 'XSLoader' => '0.10',
+ 'attributes' => '0.09',
+ 'autouse' => '1.06',
+ 'base' => '2.13',
+ 'bigint' => '0.23',
+ 'bignum' => '0.23',
+ 'bigrat' => '0.23',
+ 'blib' => '1.04',
+ 'charnames' => '1.06',
+ 'constant' => '1.17',
+ 'diagnostics' => '1.16',
+ 'encoding' => '2.6_01',
+ 'fields' => '2.12',
+ 'filetest' => '1.02',
+ 'lib' => '0.61',
+ 'open' => '1.06',
+ 'ops' => '1.02',
+ 'overload' => '1.06',
+ 're' => '0.0601',
+ 'sigtrap' => '1.04',
+ 'threads' => '1.71',
+ 'threads::shared' => '1.27',
+ 'utf8' => '1.07',
+ 'warnings' => '1.05_01',
+ },
+ removed => {
+ }
+ },
+ 5.009 => {
+ delta_from => 5.008002,
+ changed => {
+ 'B' => '1.03',
+ 'B::C' => '1.03',
+ 'B::Concise' => '0.57',
+ 'B::Deparse' => '0.65',
+ 'DB_File' => '1.806',
+ 'Devel::PPPort' => '2.008',
+ 'English' => '1.02',
+ 'Fatal' => '1.04',
+ 'OS2::DLL' => '1.02',
+ 'Opcode' => '1.06',
+ 'Time::HiRes' => '1.51',
+ 'Unicode::Collate' => '0.28',
+ 'Unicode::Normalize' => '0.23',
+ 'XSLoader' => '0.03',
+ 'assertions' => '0.01',
+ 'assertions::activate' => '0.01',
+ 'overload' => '1.02',
+ 'version' => '0.29',
+ },
+ removed => {
+ }
+ },
+ 5.009001 => {
+ delta_from => 5.008004,
+ changed => {
+ 'B' => '1.05',
+ 'B::Assembler' => '0.06',
+ 'B::C' => '1.04',
+ 'B::Concise' => '0.59',
+ 'B::Debug' => '1.02',
+ 'B::Deparse' => '0.65',
+ 'DB_File' => '1.808_01',
+ 'Devel::PPPort' => '2.011_01',
+ 'Digest' => '1.05',
+ 'DynaLoader' => '1.04',
+ 'English' => '1.02',
+ 'Exporter::Heavy' => '5.567',
+ 'ExtUtils::Command' => '1.07',
+ 'ExtUtils::Liblist::Kid'=> '1.3',
+ 'ExtUtils::MM_Any' => '0.0901',
+ 'ExtUtils::MM_Cygwin' => '1.07',
+ 'ExtUtils::MM_NW5' => '2.07_01',
+ 'ExtUtils::MM_Unix' => '1.45_01',
+ 'ExtUtils::MM_VMS' => '5.71_01',
+ 'ExtUtils::MM_Win32' => '1.10_01',
+ 'ExtUtils::MM_Win95' => '0.03',
+ 'ExtUtils::MakeMaker' => '6.21_02',
+ 'ExtUtils::Manifest' => '1.43',
+ 'Fatal' => '1.04',
+ 'Getopt::Long' => '2.3401',
+ 'IO::Handle' => '1.23',
+ 'IO::Pipe' => '1.122',
+ 'IPC::Open3' => '1.0105',
+ 'MIME::Base64' => '3.00_01',
+ 'MIME::QuotedPrint' => '3.00',
+ 'Memoize' => '1.01_01',
+ 'ODBM_File' => '1.04',
+ 'Opcode' => '1.06',
+ 'POSIX' => '1.07',
+ 'Storable' => '2.11',
+ 'Time::HiRes' => '1.56',
+ 'Time::Local' => '1.07_94',
+ 'UNIVERSAL' => '1.02',
+ 'Unicode' => '4.0.0',
+ 'Unicode::UCD' => '0.21',
+ 'XSLoader' => '0.03',
+ 'assertions' => '0.01',
+ 'assertions::activate' => '0.01',
+ 'base' => '2.04',
+ 'if' => '0.0401',
+ 'open' => '1.02',
+ 'overload' => '1.02',
+ 'threads' => '1.02',
+ 'utf8' => '1.02',
+ 'version' => '0.36',
+ },
+ removed => {
+ }
+ },
+ 5.009002 => {
+ delta_from => 5.008007,
+ changed => {
+ 'B' => '1.07',
+ 'B::Concise' => '0.64',
+ 'B::Deparse' => '0.69',
+ 'B::Disassembler' => '1.03',
+ 'B::Terse' => '1.02',
+ 'CGI' => '3.07',
+ 'Config::Extensions' => '0.01',
+ 'Devel::DProf' => '20030813.00',
+ 'DynaLoader' => '1.07',
+ 'Encode' => '2.09',
+ 'Encode::Alias' => '2.02',
+ 'English' => '1.03',
+ 'Exporter' => '5.59',
+ 'Exporter::Heavy' => '5.59',
+ 'ExtUtils::Command' => '1.07',
+ 'ExtUtils::Command::MM' => '0.03_01',
+ 'ExtUtils::Embed' => '1.26',
+ 'ExtUtils::Liblist::Kid'=> '1.3',
+ 'ExtUtils::MM_Any' => '0.10',
+ 'ExtUtils::MM_Cygwin' => '1.07',
+ 'ExtUtils::MM_MacOS' => '1.08',
+ 'ExtUtils::MM_NW5' => '2.07',
+ 'ExtUtils::MM_Unix' => '1.46_01',
+ 'ExtUtils::MM_VMS' => '5.71',
+ 'ExtUtils::MM_Win32' => '1.10',
+ 'ExtUtils::MM_Win95' => '0.03',
+ 'ExtUtils::MakeMaker' => '6.25',
+ 'ExtUtils::Manifest' => '1.44',
+ 'Fatal' => '1.04',
+ 'File::Path' => '1.06',
+ 'FileCache' => '1.04_01',
+ 'Getopt::Long' => '2.3401',
+ 'IO::File' => '1.10',
+ 'IO::Socket::INET' => '1.27',
+ 'Math::BigFloat' => '1.49',
+ 'Math::BigInt' => '1.75',
+ 'Math::BigInt::Calc' => '0.45',
+ 'Math::BigRat' => '0.14',
+ 'Memoize' => '1.01_01',
+ 'Module::CoreList' => '1.99',
+ 'NEXT' => '0.60_01',
+ 'Opcode' => '1.06',
+ 'Pod::Html' => '1.0502',
+ 'Scalar::Util' => '1.14_1',
+ 'Storable' => '2.14',
+ 'Symbol' => '1.05',
+ 'Test::Harness' => '2.46',
+ 'Test::Harness::Straps' => '0.20_01',
+ 'Text::Balanced' => '1.95_01',
+ 'Text::Wrap' => '2001.09292',
+ 'UNIVERSAL' => '1.02',
+ 'Unicode' => '4.0.1',
+ 'Unicode::Normalize' => '0.30',
+ 'Unicode::UCD' => '0.22',
+ 'Win32' => '0.23',
+ 'XS::APItest' => '0.05',
+ 'XSLoader' => '0.03',
+ 'assertions' => '0.01',
+ 'assertions::activate' => '0.01',
+ 'base' => '2.06',
+ 'bigint' => '0.06',
+ 'bignum' => '0.16',
+ 'bigrat' => '0.07',
+ 'bytes' => '1.01',
+ 'encoding::warnings' => '0.05',
+ 'if' => '0.0401',
+ 're' => '0.05',
+ 'threads::shared' => '0.92',
+ 'utf8' => '1.04',
+ 'version' => '0.42',
+ 'warnings' => '1.04',
+ },
+ removed => {
+ 'Test::Harness::Point' => 1,
+ }
+ },
+ 5.009003 => {
+ delta_from => 5.008008,
+ changed => {
+ 'Archive::Tar' => '1.26_01',
+ 'Archive::Tar::Constant'=> '0.02',
+ 'Archive::Tar::File' => '0.02',
+ 'AutoSplit' => '1.04_01',
+ 'B' => '1.10',
+ 'B::Bblock' => '1.02',
+ 'B::Bytecode' => '1.01',
+ 'B::C' => '1.04',
+ 'B::CC' => '1.00',
+ 'B::Concise' => '0.67',
+ 'B::Debug' => '1.02',
+ 'B::Deparse' => '0.73',
+ 'B::Lint' => '1.04',
+ 'B::Terse' => '1.03',
+ 'CGI' => '3.15_01',
+ 'CPAN' => '1.83_58',
+ 'CPAN::Debug' => '4.44',
+ 'CPAN::FirstTime' => '4.50',
+ 'CPAN::HandleConfig' => '4.31',
+ 'CPAN::Nox' => '2.31',
+ 'CPAN::Tarzip' => '3.36',
+ 'CPAN::Version' => '2.55',
+ 'Carp' => '1.05',
+ 'Carp::Heavy' => '1.05',
+ 'Compress::Zlib' => '2.000_07',
+ 'Compress::Zlib::Common'=> '2.000_07',
+ 'Compress::Zlib::Compress::Gzip::Constants'=> '2.000_07',
+ 'Compress::Zlib::Compress::Zip::Constants'=> '1.00',
+ 'Compress::Zlib::CompressPlugin::Deflate'=> '2.000_05',
+ 'Compress::Zlib::CompressPlugin::Identity'=> '2.000_05',
+ 'Compress::Zlib::File::GlobMapper'=> '0.000_02',
+ 'Compress::Zlib::FileConstants'=> '2.000_07',
+ 'Compress::Zlib::IO::Compress::Base'=> '2.000_05',
+ 'Compress::Zlib::IO::Compress::Deflate'=> '2.000_07',
+ 'Compress::Zlib::IO::Compress::Gzip'=> '2.000_07',
+ 'Compress::Zlib::IO::Compress::RawDeflate'=> '2.000_07',
+ 'Compress::Zlib::IO::Compress::Zip'=> '2.000_04',
+ 'Compress::Zlib::IO::Uncompress::AnyInflate'=> '2.000_07',
+ 'Compress::Zlib::IO::Uncompress::AnyUncompress'=> '2.000_05',
+ 'Compress::Zlib::IO::Uncompress::Base'=> '2.000_05',
+ 'Compress::Zlib::IO::Uncompress::Gunzip'=> '2.000_07',
+ 'Compress::Zlib::IO::Uncompress::Inflate'=> '2.000_07',
+ 'Compress::Zlib::IO::Uncompress::RawInflate'=> '2.000_07',
+ 'Compress::Zlib::IO::Uncompress::Unzip'=> '2.000_05',
+ 'Compress::Zlib::ParseParameters'=> '2.000_07',
+ 'Compress::Zlib::UncompressPlugin::Identity'=> '2.000_05',
+ 'Compress::Zlib::UncompressPlugin::Inflate'=> '2.000_05',
+ 'Config::Extensions' => '0.01',
+ 'Cwd' => '3.15',
+ 'Devel::PPPort' => '3.08',
+ 'Digest::SHA' => '5.32',
+ 'DirHandle' => '1.01',
+ 'DynaLoader' => '1.07',
+ 'Encode' => '2.14',
+ 'Encode::CN::HZ' => '2.02',
+ 'Encode::MIME::Header' => '2.02',
+ 'English' => '1.04',
+ 'Exporter' => '5.59',
+ 'Exporter::Heavy' => '5.59',
+ 'ExtUtils::CBuilder' => '0.15',
+ 'ExtUtils::CBuilder::Base'=> '0.12',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.12',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.12',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.12',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.12',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.12',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.12',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.01',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.13',
+ 'ExtUtils::Command::MM' => '0.05_01',
+ 'ExtUtils::Constant' => '0.2',
+ 'ExtUtils::Constant::Base'=> '0.02',
+ 'ExtUtils::Constant::ProxySubs'=> '0.01',
+ 'ExtUtils::Constant::XS'=> '0.02',
+ 'ExtUtils::MM_Any' => '0.13_01',
+ 'ExtUtils::MM_Unix' => '1.50_01',
+ 'ExtUtils::MakeMaker' => '6.30_01',
+ 'ExtUtils::ParseXS' => '2.15_02',
+ 'Fatal' => '1.04',
+ 'File::Compare' => '1.1005',
+ 'File::Spec' => '3.15',
+ 'File::Temp' => '0.16_01',
+ 'IO::File' => '1.13_01',
+ 'IO::Handle' => '1.26',
+ 'IO::Socket' => '1.29_01',
+ 'IO::Socket::INET' => '1.29_02',
+ 'IO::Socket::UNIX' => '1.22_01',
+ 'IO::Zlib' => '1.04_02',
+ 'Locale::Maketext' => '1.10_01',
+ 'Math::BigInt::FastCalc'=> '0.10',
+ 'Memoize' => '1.01_01',
+ 'Module::CoreList' => '2.02',
+ 'Moped::Msg' => '0.01',
+ 'NEXT' => '0.60_01',
+ 'Net::Cmd' => '2.26_01',
+ 'Net::Domain' => '2.19_01',
+ 'Net::Ping' => '2.31_04',
+ 'Opcode' => '1.08',
+ 'POSIX' => '1.10',
+ 'Pod::Escapes' => '1.04',
+ 'Pod::Man' => '2.04',
+ 'Pod::Perldoc' => '3.14_01',
+ 'Pod::Simple' => '3.04',
+ 'Pod::Simple::BlackBox' => undef,
+ 'Pod::Simple::Checker' => '2.02',
+ 'Pod::Simple::Debug' => undef,
+ 'Pod::Simple::DumpAsText'=> '2.02',
+ 'Pod::Simple::DumpAsXML'=> '2.02',
+ 'Pod::Simple::HTML' => '3.03',
+ 'Pod::Simple::HTMLBatch'=> '3.02',
+ 'Pod::Simple::HTMLLegacy'=> '5.01',
+ 'Pod::Simple::LinkSection'=> undef,
+ 'Pod::Simple::Methody' => '2.02',
+ 'Pod::Simple::Progress' => '1.01',
+ 'Pod::Simple::PullParser'=> '2.02',
+ 'Pod::Simple::PullParserEndToken'=> undef,
+ 'Pod::Simple::PullParserStartToken'=> undef,
+ 'Pod::Simple::PullParserTextToken'=> undef,
+ 'Pod::Simple::PullParserToken'=> '2.02',
+ 'Pod::Simple::RTF' => '2.02',
+ 'Pod::Simple::Search' => '3.04',
+ 'Pod::Simple::SimpleTree'=> '2.02',
+ 'Pod::Simple::Text' => '2.02',
+ 'Pod::Simple::TextContent'=> '2.02',
+ 'Pod::Simple::TiedOutFH'=> undef,
+ 'Pod::Simple::Transcode'=> undef,
+ 'Pod::Simple::TranscodeDumb'=> '2.02',
+ 'Pod::Simple::TranscodeSmart'=> undef,
+ 'Pod::Simple::XMLOutStream'=> '2.02',
+ 'Pod::Text' => '3.01',
+ 'Pod::Text::Color' => '2.01',
+ 'Pod::Text::Overstrike' => '2',
+ 'Pod::Text::Termcap' => '2.01',
+ 'Pod::Usage' => '1.33_01',
+ 'SelfLoader' => '1.0905',
+ 'Storable' => '2.15_02',
+ 'Test::Builder::Module' => '0.03',
+ 'Text::Balanced' => '1.95_01',
+ 'Tie::File' => '0.97_01',
+ 'UNIVERSAL' => '1.03',
+ 'XS::APItest' => '0.09',
+ 'assertions' => '0.02',
+ 'assertions::activate' => '0.02',
+ 'assertions::compat' => undef,
+ 'constant' => '1.07',
+ 'encoding::warnings' => '0.05',
+ 'feature' => '1.00',
+ 're' => '0.06',
+ 'sort' => '2.00',
+ 'version' => '0.53',
+ },
+ removed => {
+ }
},
-
5.009004 => {
- 'AnyDBM_File' => '1.00',
- 'Archive::Tar' => '1.30_01',
- 'Archive::Tar::Constant'=> '0.02',
- 'Archive::Tar::File' => '0.02',
- 'Attribute::Handlers' => '0.78_02',
- 'AutoLoader' => '5.61',
- 'AutoSplit' => '1.04_01',
- 'B' => '1.11',
- 'B::Asmdata' => '1.01',
- 'B::Assembler' => '0.07',
- 'B::Bblock' => '1.02',
- 'B::Bytecode' => '1.02',
- 'B::C' => '1.05',
- 'B::CC' => '1.00',
- 'B::Concise' => '0.69',
- 'B::Debug' => '1.02',
- 'B::Deparse' => '0.76',
- 'B::Disassembler' => '1.05',
- 'B::Lint' => '1.08',
- 'B::Showlex' => '1.02',
- 'B::Stackobj' => '1.00',
- 'B::Stash' => '1.00',
- 'B::Terse' => '1.03',
- 'B::Xref' => '1.01',
- 'Benchmark' => '1.08',
- 'ByteLoader' => '0.06',
- 'CGI' => '3.20',
- 'CGI::Apache' => '1.00',
- 'CGI::Carp' => '1.29',
- 'CGI::Cookie' => '1.27',
- 'CGI::Fast' => '1.07',
- 'CGI::Pretty' => '1.08',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.00',
- 'CGI::Util' => '1.5',
- 'CPAN' => '1.87_55',
- 'CPAN::Debug' => '5.400561',
- 'CPAN::FirstTime' => '5.400742',
- 'CPAN::HandleConfig' => '5.400740',
- 'CPAN::Nox' => '5.400561',
- 'CPAN::Tarzip' => '5.400714',
- 'CPAN::Version' => '5.400561',
- 'Carp' => '1.05',
- 'Carp::Heavy' => '1.05',
- 'Class::ISA' => '0.33',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Zlib' => '2.000_13',
- 'Compress::Zlib' => '2.000_13',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.19',
- 'DB' => '1.01',
- 'DBM_Filter' => '0.01',
- 'DBM_Filter::compress' => '0.01',
- 'DBM_Filter::encode' => '0.01',
- 'DBM_Filter::int32' => '0.01',
- 'DBM_Filter::null' => '0.01',
- 'DBM_Filter::utf8' => '0.01',
- 'DB_File' => '1.814',
- 'DCLsym' => '1.02',
- 'Data::Dumper' => '2.121_08',
- 'Devel::DProf' => '20050603.00',
- 'Devel::PPPort' => '3.10',
- 'Devel::Peek' => '1.03',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.15',
- 'Digest::MD5' => '2.36',
- 'Digest::SHA' => '5.43',
- 'Digest::base' => '1.00',
- 'Digest::file' => '1.00',
- 'DirHandle' => '1.01',
- 'Dumpvalue' => '1.12',
- 'DynaLoader' => '1.07',
- 'Encode' => '2.18_01',
- 'Encode::Alias' => '2.06',
- 'Encode::Byte' => '2.02',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.02',
- 'Encode::CN::HZ' => '2.04',
- 'Encode::Config' => '2.03',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.04',
- 'Encode::Guess' => '2.02',
- 'Encode::JP' => '2.03',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.02',
- 'Encode::KR' => '2.02',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.04',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.02',
- 'Encode::Unicode' => '2.03',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.04',
- 'Env' => '1.00',
- 'Errno' => '1.09_01',
- 'Exporter' => '5.59',
- 'Exporter::Heavy' => '5.59',
- 'ExtUtils::CBuilder' => '0.18',
- 'ExtUtils::CBuilder::Base'=> '0.12',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.12',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.12',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.12_01',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.12',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.12',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.12',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.01',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.13',
- 'ExtUtils::Command' => '1.09',
- 'ExtUtils::Command::MM' => '0.05_01',
- 'ExtUtils::Constant' => '0.2',
- 'ExtUtils::Constant::Base'=> '0.03',
- 'ExtUtils::Constant::ProxySubs'=> '0.03',
- 'ExtUtils::Constant::Utils'=> '0.01',
- 'ExtUtils::Constant::XS'=> '0.02',
- 'ExtUtils::Embed' => '1.26',
- 'ExtUtils::Install' => '1.41',
- 'ExtUtils::Installed' => '1.41',
- 'ExtUtils::Liblist' => '1.01',
- 'ExtUtils::Liblist::Kid'=> '1.3',
- 'ExtUtils::MM' => '0.05',
- 'ExtUtils::MM_AIX' => '0.03',
- 'ExtUtils::MM_Any' => '0.13_02',
- 'ExtUtils::MM_BeOS' => '1.05',
- 'ExtUtils::MM_Cygwin' => '1.08',
- 'ExtUtils::MM_DOS' => '0.02',
- 'ExtUtils::MM_MacOS' => '1.08',
- 'ExtUtils::MM_NW5' => '2.08_01',
- 'ExtUtils::MM_OS2' => '1.05',
- 'ExtUtils::MM_QNX' => '0.02',
- 'ExtUtils::MM_UWIN' => '0.02',
- 'ExtUtils::MM_Unix' => '1.5003',
- 'ExtUtils::MM_VMS' => '5.73_03',
- 'ExtUtils::MM_VOS' => '0.02',
- 'ExtUtils::MM_Win32' => '1.12_02',
- 'ExtUtils::MM_Win95' => '0.04_01',
- 'ExtUtils::MY' => '0.01',
- 'ExtUtils::MakeMaker' => '6.30_02',
- 'ExtUtils::MakeMaker::Config'=> '0.02',
- 'ExtUtils::MakeMaker::bytes'=> '0.01',
- 'ExtUtils::MakeMaker::vmsish'=> '0.01',
- 'ExtUtils::Manifest' => '1.46_01',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '1.15_01',
- 'ExtUtils::Mksymlists' => '1.19_01',
- 'ExtUtils::Packlist' => '1.41',
- 'ExtUtils::ParseXS' => '2.15_02',
- 'ExtUtils::testlib' => '1.15',
- 'Fatal' => '1.04',
- 'Fcntl' => '1.05',
- 'File::Basename' => '2.75',
- 'File::CheckTree' => '4.3',
- 'File::Compare' => '1.1005',
- 'File::Copy' => '2.09',
- 'File::DosGlob' => '1.00',
- 'File::Find' => '1.11',
- 'File::Glob' => '1.05',
- 'File::GlobMapper' => '0.000_02',
- 'File::Path' => '1.08',
- 'File::Spec' => '3.19',
- 'File::Spec::Cygwin' => '1.1',
- 'File::Spec::Epoc' => '1.1',
- 'File::Spec::Functions' => '1.3',
- 'File::Spec::Mac' => '1.4',
- 'File::Spec::OS2' => '1.2',
- 'File::Spec::Unix' => '1.5',
- 'File::Spec::VMS' => '1.4',
- 'File::Spec::Win32' => '1.6',
- 'File::Temp' => '0.16_01',
- 'File::stat' => '1.00',
- 'FileCache' => '1.07',
- 'FileHandle' => '2.01',
- 'VMS::Filespec' => '1.11',
- 'Filter::Simple' => '0.82',
- 'Filter::Util::Call' => '1.0601',
- 'FindBin' => '1.47',
- 'GDBM_File' => '1.08',
- 'Getopt::Long' => '2.3501',
- 'Getopt::Std' => '1.05',
- 'Hash::Util' => '0.07',
- 'Hash::Util::FieldHash' => '0.01',
- 'I18N::Collate' => '1.00',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.03',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.02',
- 'IO' => '1.23_01',
- 'IO::Compress::Adapter::Deflate'=> '2.000_13',
- 'IO::Compress::Adapter::Identity'=> '2.000_13',
- 'IO::Compress::Base' => '2.000_13',
- 'IO::Compress::Base::Common'=> '2.000_13',
- 'IO::Compress::Deflate' => '2.000_13',
- 'IO::Compress::Gzip' => '2.000_13',
- 'IO::Compress::Gzip::Constants'=> '2.000_13',
- 'IO::Compress::RawDeflate'=> '2.000_13',
- 'IO::Compress::Zip' => '2.000_13',
- 'IO::Compress::Zip::Constants'=> '2.000_13',
- 'IO::Compress::Zlib::Constants'=> '2.000_13',
- 'IO::Compress::Zlib::Extra'=> '2.000_13',
- 'IO::Dir' => '1.06',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.27',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.30_01',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Identity'=> '2.000_13',
- 'IO::Uncompress::Adapter::Inflate'=> '2.000_13',
- 'IO::Uncompress::AnyInflate'=> '2.000_13',
- 'IO::Uncompress::AnyUncompress'=> '2.000_13',
- 'IO::Uncompress::Base' => '2.000_13',
- 'IO::Uncompress::Gunzip'=> '2.000_13',
- 'IO::Uncompress::Inflate'=> '2.000_13',
- 'IO::Uncompress::RawInflate'=> '2.000_13',
- 'IO::Uncompress::Unzip' => '2.000_13',
- 'IO::Zlib' => '1.04_02',
- 'IPC::Msg' => '1.02',
- 'IPC::Open2' => '1.02',
- 'IPC::Open3' => '1.02',
- 'IPC::Semaphore' => '1.02',
- 'IPC::SysV' => '1.04',
- 'List::Util' => '1.18',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.10_01',
- 'Locale::Maketext::Guts'=> undef,
- 'Locale::Maketext::GutsLoader'=> undef,
- 'Locale::Script' => '2.07',
- 'MIME::Base64' => '3.07_01',
- 'MIME::QuotedPrint' => '3.07',
- 'Math::BigFloat' => '1.51',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.77',
- 'Math::BigInt::Calc' => '0.47',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.10',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.15',
- 'Math::Complex' => '1.36',
- 'Math::Trig' => '1.04',
- 'Memoize' => '1.01_01',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.2805',
- 'Module::Build::Base' => undef,
- 'Module::Build::Compat' => '0.03',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> undef,
- 'Module::Build::ModuleInfo'=> undef,
- 'Module::Build::Notes' => undef,
- 'Module::Build::PPMMaker'=> undef,
- 'Module::Build::Platform::Amiga'=> undef,
- 'Module::Build::Platform::Default'=> undef,
- 'Module::Build::Platform::EBCDIC'=> undef,
- 'Module::Build::Platform::MPEiX'=> undef,
- 'Module::Build::Platform::MacOS'=> undef,
- 'Module::Build::Platform::RiscOS'=> undef,
- 'Module::Build::Platform::Unix'=> undef,
- 'Module::Build::Platform::VMS'=> undef,
- 'Module::Build::Platform::VOS'=> undef,
- 'Module::Build::Platform::Windows'=> undef,
- 'Module::Build::Platform::aix'=> undef,
- 'Module::Build::Platform::cygwin'=> undef,
- 'Module::Build::Platform::darwin'=> undef,
- 'Module::Build::Platform::os2'=> undef,
- 'Module::Build::PodParser'=> undef,
- 'Module::Build::Version'=> '0',
- 'Module::Build::YAML' => '0.50',
- 'Module::CoreList' => '2.08',
- 'Module::Load' => '0.10',
- 'Module::Loaded' => '0.01',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.06',
- 'NEXT' => '0.60_01',
- 'Net::Cmd' => '2.26_01',
- 'Net::Config' => '1.10',
- 'Net::Domain' => '2.19_01',
- 'Net::FTP' => '2.75',
- 'Net::FTP::A' => '1.16',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.23',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.28',
- 'Net::Ping' => '2.31_04',
- 'Net::SMTP' => '2.29',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.00',
- 'ODBM_File' => '1.06',
- 'Opcode' => '1.08',
- 'POSIX' => '1.10',
- 'Package::Constants' => '0.01',
- 'PerlIO' => '1.04',
- 'PerlIO::encoding' => '0.09',
- 'PerlIO::scalar' => '0.04',
- 'PerlIO::via' => '0.03',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.43',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.34',
- 'Pod::Functions' => '1.03',
- 'Pod::Html' => '1.07',
- 'Pod::InputObjects' => '1.3',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.09',
- 'Pod::ParseLink' => '1.06',
- 'Pod::ParseUtils' => '1.33',
- 'Pod::Parser' => '1.32',
- 'Pod::Perldoc' => '3.14_01',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.02',
- 'Pod::Plainer' => '0.01',
- 'Pod::Select' => '1.3',
- 'Pod::Simple' => '3.04',
- 'Pod::Simple::BlackBox' => undef,
- 'Pod::Simple::Checker' => '2.02',
- 'Pod::Simple::Debug' => undef,
- 'Pod::Simple::DumpAsText'=> '2.02',
- 'Pod::Simple::DumpAsXML'=> '2.02',
- 'Pod::Simple::HTML' => '3.03',
- 'Pod::Simple::HTMLBatch'=> '3.02',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> undef,
- 'Pod::Simple::Methody' => '2.02',
- 'Pod::Simple::Progress' => '1.01',
- 'Pod::Simple::PullParser'=> '2.02',
- 'Pod::Simple::PullParserEndToken'=> undef,
- 'Pod::Simple::PullParserStartToken'=> undef,
- 'Pod::Simple::PullParserTextToken'=> undef,
- 'Pod::Simple::PullParserToken'=> '2.02',
- 'Pod::Simple::RTF' => '2.02',
- 'Pod::Simple::Search' => '3.04',
- 'Pod::Simple::SimpleTree'=> '2.02',
- 'Pod::Simple::Text' => '2.02',
- 'Pod::Simple::TextContent'=> '2.02',
- 'Pod::Simple::TiedOutFH'=> undef,
- 'Pod::Simple::Transcode'=> undef,
- 'Pod::Simple::TranscodeDumb'=> '2.02',
- 'Pod::Simple::TranscodeSmart'=> undef,
- 'Pod::Simple::XMLOutStream'=> '2.02',
- 'Pod::Text' => '3.07',
- 'Pod::Text::Color' => '2.03',
- 'Pod::Text::Overstrike' => '2',
- 'Pod::Text::Termcap' => '2.03',
- 'Pod::Usage' => '1.33_01',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.12',
- 'Scalar::Util' => '1.18',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.01',
- 'SelfLoader' => '1.0905',
- 'Shell' => '0.7',
- 'Socket' => '1.78',
- 'Stdio' => '2.3',
- 'Storable' => '2.15_02',
- 'Switch' => '2.10_01',
- 'Symbol' => '1.06',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.17',
- 'Term::ANSIColor' => '1.11',
- 'Term::Cap' => '1.09',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.02',
- 'Test' => '1.25',
- 'Test::Builder' => '0.33',
- 'Test::Builder::Module' => '0.03',
- 'Test::Builder::Tester' => '1.04',
- 'Test::Builder::Tester::Color'=> undef,
- 'Test::Harness' => '2.62',
- 'Test::Harness::Assert' => '0.02',
- 'Test::Harness::Iterator'=> '0.02',
- 'Test::Harness::Point' => '0.01',
- 'Test::Harness::Straps' => '0.26',
- 'Test::Harness::Util' => '0.01',
- 'Test::More' => '0.64',
- 'Test::Simple' => '0.64',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '1.98_01',
- 'Text::ParseWords' => '3.25',
- 'Text::Soundex' => '1.01',
- 'Text::Tabs' => '2007.071101',
- 'Text::Wrap' => '2006.0711',
- 'Thread' => '2.00',
- 'Thread::Queue' => '2.00',
- 'Thread::Semaphore' => '2.01',
- 'Thread::Signal' => '1.00',
- 'Thread::Specific' => '1.00',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97_01',
- 'Tie::Handle' => '4.1',
- 'Tie::Hash' => '1.02',
- 'Tie::Memoize' => '1.0',
- 'Tie::RefHash' => '1.34_01',
- 'Tie::Scalar' => '1.00',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.87',
- 'Time::Local' => '1.13',
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.04',
- 'Unicode' => '4.1.0',
- 'Unicode::Collate' => '0.52',
- 'Unicode::Normalize' => '1.01',
- 'Unicode::UCD' => '0.24',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'Win32' => '0.2601',
- 'Win32API::File' => '0.1001',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'XS::APItest' => '0.09',
- 'XS::Typemap' => '0.02',
- 'XSLoader' => '0.06',
- 'XSSymSet' => '1.0',
- 'assertions' => '0.03',
- 'assertions::activate' => '0.02',
- 'assertions::compat' => '0.02',
- 'attributes' => '0.06',
- 'attrs' => '1.02',
- 'autouse' => '1.06',
- 'base' => '2.07',
- 'bigint' => '0.07',
- 'bignum' => '0.17',
- 'bigrat' => '0.08',
- 'blib' => '1.03',
- 'bytes' => '1.02',
- 'charnames' => '1.05',
- 'constant' => '1.07',
- 'diagnostics' => '1.16',
- 'encoding' => '2.04',
- 'encoding::warnings' => '0.10',
- 'feature' => '1.01',
- 'fields' => '2.03',
- 'filetest' => '1.01',
- 'if' => '0.05',
- 'integer' => '1.00',
- 'less' => '0.01',
- 'lib' => '0.5565',
- 'locale' => '1.00',
- 'open' => '1.05',
- 'ops' => '1.01',
- 'overload' => '1.04',
- 're' => '0.0601',
- 'sigtrap' => '1.02',
- 'sort' => '2.00',
- 'strict' => '1.03',
- 'subs' => '1.00',
- 'threads' => '1.38',
- 'threads::shared' => '0.94_01',
- 'utf8' => '1.06',
- 'vars' => '1.01',
- 'version' => '0.67',
- 'vmsish' => '1.02',
- 'warnings' => '1.05',
- 'warnings::register' => '1.01',
+ delta_from => 5.009003,
+ changed => {
+ 'Archive::Tar' => '1.30_01',
+ 'AutoLoader' => '5.61',
+ 'B' => '1.11',
+ 'B::Bytecode' => '1.02',
+ 'B::C' => '1.05',
+ 'B::Concise' => '0.69',
+ 'B::Deparse' => '0.76',
+ 'B::Lint' => '1.08',
+ 'Benchmark' => '1.08',
+ 'CGI' => '3.20',
+ 'CGI::Cookie' => '1.27',
+ 'CGI::Fast' => '1.07',
+ 'CPAN' => '1.87_55',
+ 'CPAN::Debug' => '5.400561',
+ 'CPAN::FirstTime' => '5.400742',
+ 'CPAN::HandleConfig' => '5.400740',
+ 'CPAN::Nox' => '5.400561',
+ 'CPAN::Tarzip' => '5.400714',
+ 'CPAN::Version' => '5.400561',
+ 'Compress::Raw::Zlib' => '2.000_13',
+ 'Compress::Zlib' => '2.000_13',
+ 'Cwd' => '3.19',
+ 'Devel::PPPort' => '3.10',
+ 'Digest' => '1.15',
+ 'Digest::SHA' => '5.43',
+ 'Encode' => '2.18_01',
+ 'Encode::Alias' => '2.06',
+ 'Encode::Byte' => '2.02',
+ 'Encode::CJKConstants' => '2.02',
+ 'Encode::CN' => '2.02',
+ 'Encode::CN::HZ' => '2.04',
+ 'Encode::Config' => '2.03',
+ 'Encode::EBCDIC' => '2.02',
+ 'Encode::Encoder' => '2.01',
+ 'Encode::Encoding' => '2.04',
+ 'Encode::Guess' => '2.02',
+ 'Encode::JP' => '2.03',
+ 'Encode::JP::H2Z' => '2.02',
+ 'Encode::JP::JIS7' => '2.02',
+ 'Encode::KR' => '2.02',
+ 'Encode::KR::2022_KR' => '2.02',
+ 'Encode::MIME::Header' => '2.04',
+ 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
+ 'Encode::Symbol' => '2.02',
+ 'Encode::TW' => '2.02',
+ 'Encode::Unicode' => '2.03',
+ 'Encode::Unicode::UTF7' => '2.04',
+ 'ExtUtils::CBuilder' => '0.18',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.12_01',
+ 'ExtUtils::Constant::Base'=> '0.03',
+ 'ExtUtils::Constant::ProxySubs'=> '0.03',
+ 'ExtUtils::Install' => '1.41',
+ 'ExtUtils::Installed' => '1.41',
+ 'ExtUtils::MM_Any' => '0.13_02',
+ 'ExtUtils::MM_NW5' => '2.08_01',
+ 'ExtUtils::MM_Unix' => '1.5003',
+ 'ExtUtils::MM_VMS' => '5.73_03',
+ 'ExtUtils::MM_Win32' => '1.12_02',
+ 'ExtUtils::MM_Win95' => '0.04_01',
+ 'ExtUtils::MakeMaker' => '6.30_02',
+ 'ExtUtils::Manifest' => '1.46_01',
+ 'ExtUtils::Mkbootstrap' => '1.15_01',
+ 'ExtUtils::Mksymlists' => '1.19_01',
+ 'ExtUtils::Packlist' => '1.41',
+ 'File::Basename' => '2.75',
+ 'File::Find' => '1.11',
+ 'File::GlobMapper' => '0.000_02',
+ 'File::Spec' => '3.19',
+ 'FileCache' => '1.07',
+ 'Getopt::Long' => '2.3501',
+ 'Hash::Util' => '0.07',
+ 'Hash::Util::FieldHash' => '0.01',
+ 'IO' => '1.23_01',
+ 'IO::Compress::Adapter::Deflate'=> '2.000_13',
+ 'IO::Compress::Adapter::Identity'=> '2.000_13',
+ 'IO::Compress::Base' => '2.000_13',
+ 'IO::Compress::Base::Common'=> '2.000_13',
+ 'IO::Compress::Deflate' => '2.000_13',
+ 'IO::Compress::Gzip' => '2.000_13',
+ 'IO::Compress::Gzip::Constants'=> '2.000_13',
+ 'IO::Compress::RawDeflate'=> '2.000_13',
+ 'IO::Compress::Zip' => '2.000_13',
+ 'IO::Compress::Zip::Constants'=> '2.000_13',
+ 'IO::Compress::Zlib::Constants'=> '2.000_13',
+ 'IO::Compress::Zlib::Extra'=> '2.000_13',
+ 'IO::Dir' => '1.06',
+ 'IO::File' => '1.14',
+ 'IO::Handle' => '1.27',
+ 'IO::Socket' => '1.30_01',
+ 'IO::Socket::INET' => '1.31',
+ 'IO::Socket::UNIX' => '1.23',
+ 'IO::Uncompress::Adapter::Identity'=> '2.000_13',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.000_13',
+ 'IO::Uncompress::AnyInflate'=> '2.000_13',
+ 'IO::Uncompress::AnyUncompress'=> '2.000_13',
+ 'IO::Uncompress::Base' => '2.000_13',
+ 'IO::Uncompress::Gunzip'=> '2.000_13',
+ 'IO::Uncompress::Inflate'=> '2.000_13',
+ 'IO::Uncompress::RawInflate'=> '2.000_13',
+ 'IO::Uncompress::Unzip' => '2.000_13',
+ 'MIME::Base64' => '3.07_01',
+ 'Math::Complex' => '1.36',
+ 'Math::Trig' => '1.04',
+ 'Module::Build' => '0.2805',
+ 'Module::Build::Base' => undef,
+ 'Module::Build::Compat' => '0.03',
+ 'Module::Build::ConfigData'=> undef,
+ 'Module::Build::Cookbook'=> undef,
+ 'Module::Build::ModuleInfo'=> undef,
+ 'Module::Build::Notes' => undef,
+ 'Module::Build::PPMMaker'=> undef,
+ 'Module::Build::Platform::Amiga'=> undef,
+ 'Module::Build::Platform::Default'=> undef,
+ 'Module::Build::Platform::EBCDIC'=> undef,
+ 'Module::Build::Platform::MPEiX'=> undef,
+ 'Module::Build::Platform::MacOS'=> undef,
+ 'Module::Build::Platform::RiscOS'=> undef,
+ 'Module::Build::Platform::Unix'=> undef,
+ 'Module::Build::Platform::VMS'=> undef,
+ 'Module::Build::Platform::VOS'=> undef,
+ 'Module::Build::Platform::Windows'=> undef,
+ 'Module::Build::Platform::aix'=> undef,
+ 'Module::Build::Platform::cygwin'=> undef,
+ 'Module::Build::Platform::darwin'=> undef,
+ 'Module::Build::Platform::os2'=> undef,
+ 'Module::Build::PodParser'=> undef,
+ 'Module::Build::Version'=> '0',
+ 'Module::Build::YAML' => '0.50',
+ 'Module::CoreList' => '2.08',
+ 'Module::Load' => '0.10',
+ 'Module::Loaded' => '0.01',
+ 'Package::Constants' => '0.01',
+ 'Pod::Html' => '1.07',
+ 'Pod::Man' => '2.09',
+ 'Pod::Text' => '3.07',
+ 'Pod::Text::Color' => '2.03',
+ 'Pod::Text::Termcap' => '2.03',
+ 'SDBM_File' => '1.06',
+ 'Shell' => '0.7',
+ 'Sys::Syslog' => '0.17',
+ 'Term::ANSIColor' => '1.11',
+ 'Test::Builder' => '0.33',
+ 'Test::Builder::Tester' => '1.04',
+ 'Test::Harness' => '2.62',
+ 'Test::Harness::Util' => '0.01',
+ 'Test::More' => '0.64',
+ 'Test::Simple' => '0.64',
+ 'Text::Balanced' => '1.98_01',
+ 'Text::ParseWords' => '3.25',
+ 'Text::Tabs' => '2007.071101',
+ 'Text::Wrap' => '2006.0711',
+ 'Tie::RefHash' => '1.34_01',
+ 'Time::HiRes' => '1.87',
+ 'Time::Local' => '1.13',
+ 'Time::gmtime' => '1.03',
+ 'UNIVERSAL' => '1.04',
+ 'Unicode::Normalize' => '1.01',
+ 'Win32API::File' => '0.1001',
+ 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
+ 'assertions' => '0.03',
+ 'assertions::compat' => '0.02',
+ 'autouse' => '1.06',
+ 'diagnostics' => '1.16',
+ 'encoding' => '2.04',
+ 'encoding::warnings' => '0.10',
+ 'feature' => '1.01',
+ 're' => '0.0601',
+ 'threads' => '1.38',
+ 'threads::shared' => '0.94_01',
+ 'version' => '0.67',
+ },
+ removed => {
+ 'Compress::Zlib::Common'=> 1,
+ 'Compress::Zlib::Compress::Gzip::Constants'=> 1,
+ 'Compress::Zlib::Compress::Zip::Constants'=> 1,
+ 'Compress::Zlib::CompressPlugin::Deflate'=> 1,
+ 'Compress::Zlib::CompressPlugin::Identity'=> 1,
+ 'Compress::Zlib::File::GlobMapper'=> 1,
+ 'Compress::Zlib::FileConstants'=> 1,
+ 'Compress::Zlib::IO::Compress::Base'=> 1,
+ 'Compress::Zlib::IO::Compress::Deflate'=> 1,
+ 'Compress::Zlib::IO::Compress::Gzip'=> 1,
+ 'Compress::Zlib::IO::Compress::RawDeflate'=> 1,
+ 'Compress::Zlib::IO::Compress::Zip'=> 1,
+ 'Compress::Zlib::IO::Uncompress::AnyInflate'=> 1,
+ 'Compress::Zlib::IO::Uncompress::AnyUncompress'=> 1,
+ 'Compress::Zlib::IO::Uncompress::Base'=> 1,
+ 'Compress::Zlib::IO::Uncompress::Gunzip'=> 1,
+ 'Compress::Zlib::IO::Uncompress::Inflate'=> 1,
+ 'Compress::Zlib::IO::Uncompress::RawInflate'=> 1,
+ 'Compress::Zlib::IO::Uncompress::Unzip'=> 1,
+ 'Compress::Zlib::ParseParameters'=> 1,
+ 'Compress::Zlib::UncompressPlugin::Identity'=> 1,
+ 'Compress::Zlib::UncompressPlugin::Inflate'=> 1,
+ }
},
-
5.009005 => {
- 'AnyDBM_File' => '1.00',
- 'Archive::Extract' => '0.22_01',
- 'Archive::Tar' => '1.32',
- 'Archive::Tar::Constant'=> '0.02',
- 'Archive::Tar::File' => '0.02',
- 'Attribute::Handlers' => '0.78_06',
- 'AutoLoader' => '5.63',
- 'AutoSplit' => '1.05',
- 'B' => '1.16',
- 'B::Concise' => '0.72',
- 'B::Debug' => '1.05',
- 'B::Deparse' => '0.82',
- 'B::Lint' => '1.09',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.01',
- 'Benchmark' => '1.1',
- 'CGI' => '3.29',
- 'CGI::Apache' => '1.00',
- 'CGI::Carp' => '1.29',
- 'CGI::Cookie' => '1.28',
- 'CGI::Fast' => '1.07',
- 'CGI::Pretty' => '1.08',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.00',
- 'CGI::Util' => '1.5_01',
- 'CPAN' => '1.9102',
- 'CPAN::Debug' => '5.400955',
- 'CPAN::FirstTime' => '5.401669',
- 'CPAN::HandleConfig' => '5.401744',
- 'CPAN::Kwalify' => '5.401418',
- 'CPAN::Nox' => '5.400844',
- 'CPAN::Queue' => '5.401704',
- 'CPAN::Tarzip' => '5.401717',
- 'CPAN::Version' => '5.401387',
- 'CPANPLUS' => '0.81_01',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Base' => '0.01',
- 'CPANPLUS::Dist::Build' => '0.06_01',
- 'CPANPLUS::Dist::Build::Constants'=> '0.01',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.81_01',
- 'CPANPLUS::Internals::Constants'=> '0.01',
- 'CPANPLUS::Internals::Constants::Report'=> '0.01',
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.81_01',
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'CPANPLUS::inc' => undef,
- 'Carp' => '1.07',
- 'Carp::Heavy' => '1.07',
- 'Class::ISA' => '0.33',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Zlib' => '2.005',
- 'Compress::Zlib' => '2.005',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.25',
- 'DB' => '1.01',
- 'DBM_Filter' => '0.02',
- 'DBM_Filter::compress' => '0.01',
- 'DBM_Filter::encode' => '0.01',
- 'DBM_Filter::int32' => '0.01',
- 'DBM_Filter::null' => '0.01',
- 'DBM_Filter::utf8' => '0.01',
- 'DB_File' => '1.815',
- 'DCLsym' => '1.03',
- 'Data::Dumper' => '2.121_13',
- 'Devel::DProf' => '20050603.00',
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.11_01',
- 'Devel::Peek' => '1.03',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.15',
- 'Digest::MD5' => '2.36_01',
- 'Digest::SHA' => '5.44',
- 'Digest::base' => '1.00',
- 'Digest::file' => '1.00',
- 'DirHandle' => '1.01',
- 'Dumpvalue' => '1.12',
- 'DynaLoader' => '1.08',
- 'Encode' => '2.23',
- 'Encode::Alias' => '2.07',
- 'Encode::Byte' => '2.03',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.02',
- 'Encode::CN::HZ' => '2.04',
- 'Encode::Config' => '2.04',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.00',
- 'Encode::Guess' => '2.02',
- 'Encode::JP' => '2.03',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.03',
- 'Encode::KR' => '2.02',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.05',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.02',
- 'Encode::Unicode' => '2.05',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.04',
- 'Env' => '1.00',
- 'Errno' => '1.10',
- 'Exporter' => '5.60',
- 'Exporter::Heavy' => '5.60',
- 'ExtUtils::CBuilder' => '0.19',
- 'ExtUtils::CBuilder::Base'=> '0.12',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.12',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.12',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.13',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.12',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.12',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.12',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.01',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.13',
- 'ExtUtils::Command' => '1.13',
- 'ExtUtils::Command::MM' => '0.07',
- 'ExtUtils::Constant' => '0.2',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.03',
- 'ExtUtils::Constant::Utils'=> '0.01',
- 'ExtUtils::Constant::XS'=> '0.02',
- 'ExtUtils::Embed' => '1.26',
- 'ExtUtils::Install' => '1.41_01',
- 'ExtUtils::Installed' => '1.41',
- 'ExtUtils::Liblist' => '1.03',
- 'ExtUtils::Liblist::Kid'=> '1.33',
- 'ExtUtils::MM' => '0.07',
- 'ExtUtils::MM_AIX' => '0.05',
- 'ExtUtils::MM_Any' => '0.15',
- 'ExtUtils::MM_BeOS' => '1.07',
- 'ExtUtils::MM_Cygwin' => '1.1',
- 'ExtUtils::MM_DOS' => '0.04',
- 'ExtUtils::MM_MacOS' => '1.1',
- 'ExtUtils::MM_NW5' => '2.1',
- 'ExtUtils::MM_OS2' => '1.07',
- 'ExtUtils::MM_QNX' => '0.04',
- 'ExtUtils::MM_UWIN' => '0.04',
- 'ExtUtils::MM_Unix' => '1.54_01',
- 'ExtUtils::MM_VMS' => '5.76',
- 'ExtUtils::MM_VOS' => '0.04',
- 'ExtUtils::MM_Win32' => '1.15',
- 'ExtUtils::MM_Win95' => '0.06',
- 'ExtUtils::MY' => '0.03',
- 'ExtUtils::MakeMaker' => '6.36',
- 'ExtUtils::MakeMaker::Config'=> '0.04',
- 'ExtUtils::MakeMaker::bytes'=> '0.03',
- 'ExtUtils::MakeMaker::vmsish'=> '0.03',
- 'ExtUtils::Manifest' => '1.51_01',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '1.17',
- 'ExtUtils::Mksymlists' => '1.21',
- 'ExtUtils::Packlist' => '1.41',
- 'ExtUtils::ParseXS' => '2.18',
- 'ExtUtils::testlib' => '1.17',
- 'Fatal' => '1.05',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.76',
- 'File::CheckTree' => '4.3',
- 'File::Compare' => '1.1005',
- 'File::Copy' => '2.10',
- 'File::DosGlob' => '1.00',
- 'File::Fetch' => '0.10',
- 'File::Find' => '1.11',
- 'File::Glob' => '1.06',
- 'File::GlobMapper' => '0.000_02',
- 'File::Path' => '2.01',
- 'File::Spec' => '3.25',
- 'File::Spec::Cygwin' => '1.1_01',
- 'File::Spec::Epoc' => '1.1',
- 'File::Spec::Functions' => '1.3',
- 'File::Spec::Mac' => '1.4',
- 'File::Spec::OS2' => '1.2',
- 'File::Spec::Unix' => '1.5',
- 'File::Spec::VMS' => '1.4_01',
- 'File::Spec::Win32' => '1.6',
- 'File::Temp' => '0.18',
- 'File::stat' => '1.00',
- 'FileCache' => '1.07',
- 'FileHandle' => '2.01',
- 'VMS::Filespec' => '1.11',
- 'Filter::Simple' => '0.82',
- 'Filter::Util::Call' => '1.0602',
- 'FindBin' => '1.49',
- 'GDBM_File' => '1.08',
- 'Getopt::Long' => '2.36',
- 'Getopt::Std' => '1.05',
- 'Hash::Util' => '0.07',
- 'Hash::Util::FieldHash' => '1.01',
- 'I18N::Collate' => '1.00',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.03',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.02',
- 'IO' => '1.23_01',
- 'IO::Compress::Adapter::Deflate'=> '2.005',
- 'IO::Compress::Adapter::Identity'=> '2.005',
- 'IO::Compress::Base' => '2.005',
- 'IO::Compress::Base::Common'=> '2.005',
- 'IO::Compress::Deflate' => '2.005',
- 'IO::Compress::Gzip' => '2.005',
- 'IO::Compress::Gzip::Constants'=> '2.005',
- 'IO::Compress::RawDeflate'=> '2.005',
- 'IO::Compress::Zip' => '2.005',
- 'IO::Compress::Zip::Constants'=> '2.005',
- 'IO::Compress::Zlib::Constants'=> '2.005',
- 'IO::Compress::Zlib::Extra'=> '2.005',
- 'IO::Dir' => '1.06',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.27',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.30_01',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Identity'=> '2.005',
- 'IO::Uncompress::Adapter::Inflate'=> '2.005',
- 'IO::Uncompress::AnyInflate'=> '2.005',
- 'IO::Uncompress::AnyUncompress'=> '2.005',
- 'IO::Uncompress::Base' => '2.005',
- 'IO::Uncompress::Gunzip'=> '2.005',
- 'IO::Uncompress::Inflate'=> '2.005',
- 'IO::Uncompress::RawInflate'=> '2.005',
- 'IO::Uncompress::Unzip' => '2.005',
- 'IO::Zlib' => '1.05_01',
- 'IPC::Cmd' => '0.36_01',
- 'IPC::Msg' => '1.02',
- 'IPC::Open2' => '1.02',
- 'IPC::Open3' => '1.02',
- 'IPC::Semaphore' => '1.02',
- 'IPC::SysV' => '1.04',
- 'List::Util' => '1.19',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.10_01',
- 'Locale::Maketext::Guts'=> undef,
- 'Locale::Maketext::GutsLoader'=> undef,
- 'Locale::Maketext::Simple'=> '0.18',
- 'Locale::Script' => '2.07',
- 'Log::Message' => '0.01',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.0201',
- 'MIME::Base64' => '3.07_01',
- 'MIME::QuotedPrint' => '3.07',
- 'Math::BigFloat' => '1.58',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.87',
- 'Math::BigInt::Calc' => '0.51',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.15_01',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.19',
- 'Math::Complex' => '1.37',
- 'Math::Trig' => '1.04',
- 'Memoize' => '1.01_02',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.2808',
- 'Module::Build::Base' => undef,
- 'Module::Build::Compat' => '0.03',
- 'Module::Build::Config' => undef,
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> undef,
- 'Module::Build::ModuleInfo'=> undef,
- 'Module::Build::Notes' => undef,
- 'Module::Build::PPMMaker'=> undef,
- 'Module::Build::Platform::Amiga'=> undef,
- 'Module::Build::Platform::Default'=> undef,
- 'Module::Build::Platform::EBCDIC'=> undef,
- 'Module::Build::Platform::MPEiX'=> undef,
- 'Module::Build::Platform::MacOS'=> undef,
- 'Module::Build::Platform::RiscOS'=> undef,
- 'Module::Build::Platform::Unix'=> undef,
- 'Module::Build::Platform::VMS'=> undef,
- 'Module::Build::Platform::VOS'=> undef,
- 'Module::Build::Platform::Windows'=> undef,
- 'Module::Build::Platform::aix'=> undef,
- 'Module::Build::Platform::cygwin'=> undef,
- 'Module::Build::Platform::darwin'=> undef,
- 'Module::Build::Platform::os2'=> undef,
- 'Module::Build::PodParser'=> undef,
- 'Module::Build::Version'=> '0.7203',
- 'Module::Build::YAML' => '0.50',
- 'Module::CoreList' => '2.12',
- 'Module::Load' => '0.10',
- 'Module::Load::Conditional'=> '0.16',
- 'Module::Loaded' => '0.01',
- 'Module::Pluggable' => '3.6',
- 'Module::Pluggable::Object'=> '3.6',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.07',
- 'NEXT' => '0.60_01',
- 'Net::Cmd' => '2.28',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.31_04',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.00',
- 'ODBM_File' => '1.07',
- 'Object::Accessor' => '0.32',
- 'Opcode' => '1.09',
- 'POSIX' => '1.13',
- 'Package::Constants' => '0.01',
- 'Params::Check' => '0.26',
- 'PerlIO' => '1.04',
- 'PerlIO::encoding' => '0.10',
- 'PerlIO::scalar' => '0.05',
- 'PerlIO::via' => '0.04',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.43',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.34',
- 'Pod::Functions' => '1.03',
- 'Pod::Html' => '1.08',
- 'Pod::InputObjects' => '1.3',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.12',
- 'Pod::ParseLink' => '1.06',
- 'Pod::ParseUtils' => '1.35',
- 'Pod::Parser' => '1.35',
- 'Pod::Perldoc' => '3.14_01',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.02',
- 'Pod::Plainer' => '0.01',
- 'Pod::Select' => '1.35',
- 'Pod::Simple' => '3.05',
- 'Pod::Simple::BlackBox' => undef,
- 'Pod::Simple::Checker' => '2.02',
- 'Pod::Simple::Debug' => undef,
- 'Pod::Simple::DumpAsText'=> '2.02',
- 'Pod::Simple::DumpAsXML'=> '2.02',
- 'Pod::Simple::HTML' => '3.03',
- 'Pod::Simple::HTMLBatch'=> '3.02',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> undef,
- 'Pod::Simple::Methody' => '2.02',
- 'Pod::Simple::Progress' => '1.01',
- 'Pod::Simple::PullParser'=> '2.02',
- 'Pod::Simple::PullParserEndToken'=> undef,
- 'Pod::Simple::PullParserStartToken'=> undef,
- 'Pod::Simple::PullParserTextToken'=> undef,
- 'Pod::Simple::PullParserToken'=> '2.02',
- 'Pod::Simple::RTF' => '2.02',
- 'Pod::Simple::Search' => '3.04',
- 'Pod::Simple::SimpleTree'=> '2.02',
- 'Pod::Simple::Text' => '2.02',
- 'Pod::Simple::TextContent'=> '2.02',
- 'Pod::Simple::TiedOutFH'=> undef,
- 'Pod::Simple::Transcode'=> undef,
- 'Pod::Simple::TranscodeDumb'=> '2.02',
- 'Pod::Simple::TranscodeSmart'=> undef,
- 'Pod::Simple::XMLOutStream'=> '2.02',
- 'Pod::Text' => '3.08',
- 'Pod::Text::Color' => '2.03',
- 'Pod::Text::Overstrike' => '2',
- 'Pod::Text::Termcap' => '2.03',
- 'Pod::Usage' => '1.35',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.12',
- 'Scalar::Util' => '1.19',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.01',
- 'SelfLoader' => '1.11',
- 'Shell' => '0.72_01',
- 'Socket' => '1.79',
- 'Stdio' => '2.3',
- 'Storable' => '2.16',
- 'Switch' => '2.13',
- 'Symbol' => '1.06',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.18_01',
- 'Term::ANSIColor' => '1.12',
- 'Term::Cap' => '1.09',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.02',
- 'Term::UI' => '0.14_01',
- 'Term::UI::History' => undef,
- 'Test' => '1.25',
- 'Test::Builder' => '0.70',
- 'Test::Builder::Module' => '0.68',
- 'Test::Builder::Tester' => '1.07',
- 'Test::Builder::Tester::Color'=> undef,
- 'Test::Harness' => '2.64',
- 'Test::Harness::Assert' => '0.02',
- 'Test::Harness::Iterator'=> '0.02',
- 'Test::Harness::Point' => '0.01',
- 'Test::Harness::Results'=> '0.01',
- 'Test::Harness::Straps' => '0.26',
- 'Test::Harness::Util' => '0.01',
- 'Test::More' => '0.70',
- 'Test::Simple' => '0.70',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.0.0',
- 'Text::ParseWords' => '3.25',
- 'Text::Soundex' => '3.02',
- 'Text::Tabs' => '2007.1117',
- 'Text::Wrap' => '2006.1117',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.00',
- 'Thread::Semaphore' => '2.01',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.1',
- 'Tie::Hash' => '1.02',
- 'Tie::Hash::NamedCapture'=> '0.06',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.37',
- 'Tie::Scalar' => '1.00',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9707',
- 'Time::Local' => '1.17',
- 'Time::Piece' => '1.11_02',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.04',
- 'Unicode' => '5.0.0',
- 'Unicode::Collate' => '0.52',
- 'Unicode::Normalize' => '1.02',
- 'Unicode::UCD' => '0.25',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'Win32' => '0.30',
- 'Win32API::File' => '0.1001_01',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.12',
- 'XS::Typemap' => '0.02',
- 'XSLoader' => '0.08',
- 'XSSymSet' => '1.1',
- 'attributes' => '0.08',
- 'attrs' => '1.02',
- 'autouse' => '1.06',
- 'base' => '2.12',
- 'bigint' => '0.22',
- 'bignum' => '0.22',
- 'bigrat' => '0.22',
- 'blib' => '1.03',
- 'bytes' => '1.03',
- 'charnames' => '1.06',
- 'constant' => '1.10',
- 'diagnostics' => '1.17',
- 'encoding' => '2.06',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.10',
- 'fields' => '2.12',
- 'filetest' => '1.01',
- 'if' => '0.05',
- 'integer' => '1.00',
- 'less' => '0.02',
- 'lib' => '0.5565',
- 'locale' => '1.00',
- 'mro' => '1.00',
- 'open' => '1.05',
- 'ops' => '1.01',
- 'overload' => '1.06',
- 're' => '0.08',
- 'sigtrap' => '1.04',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.63',
- 'threads::shared' => '1.12',
- 'utf8' => '1.07',
- 'vars' => '1.01',
- 'version' => '0.7203',
- 'vmsish' => '1.02',
- 'warnings' => '1.06',
- 'warnings::register' => '1.01',
- },
-
- 5.010000 => {
- 'AnyDBM_File' => '1.00',
- 'Archive::Extract' => '0.24',
- 'Archive::Tar' => '1.38',
- 'Archive::Tar::Constant'=> '0.02',
- 'Archive::Tar::File' => '0.02',
- 'Attribute::Handlers' => '0.79',
- 'AutoLoader' => '5.63',
- 'AutoSplit' => '1.05',
- 'B' => '1.17',
- 'B::Concise' => '0.74',
- 'B::Debug' => '1.05',
- 'B::Deparse' => '0.83',
- 'B::Lint' => '1.09',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.01',
- 'Benchmark' => '1.1',
- 'CGI' => '3.29',
- 'CGI::Apache' => '1.00',
- 'CGI::Carp' => '1.29',
- 'CGI::Cookie' => '1.28',
- 'CGI::Fast' => '1.07',
- 'CGI::Pretty' => '1.08',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.00',
- 'CGI::Util' => '1.5_01',
- 'CPAN' => '1.9205',
- 'CPAN::API::HOWTO' => undef,
- 'CPAN::Debug' => '5.402212',
- 'CPAN::DeferedCode' => '5.50',
- 'CPAN::FirstTime' => '5.402229',
- 'CPAN::HandleConfig' => '5.402212',
- 'CPAN::Kwalify' => '5.401418',
- 'CPAN::Nox' => '5.402411',
- 'CPAN::Queue' => '5.402212',
- 'CPAN::Tarzip' => '5.402213',
- 'CPAN::Version' => '5.5',
- 'CPANPLUS' => '0.84',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Base' => '0.01',
- 'CPANPLUS::Dist::Build' => '0.06_02',
- 'CPANPLUS::Dist::Build::Constants'=> '0.01',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.84',
- 'CPANPLUS::Internals::Constants'=> '0.01',
- 'CPANPLUS::Internals::Constants::Report'=> '0.01',
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.84',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'CPANPLUS::inc' => undef,
- 'Carp' => '1.08',
- 'Carp::Heavy' => '1.08',
- 'Class::ISA' => '0.33',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Zlib' => '2.008',
- 'Compress::Zlib' => '2.008',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.2501',
- 'DB' => '1.01',
- 'DBM_Filter' => '0.02',
- 'DBM_Filter::compress' => '0.01',
- 'DBM_Filter::encode' => '0.01',
- 'DBM_Filter::int32' => '0.01',
- 'DBM_Filter::null' => '0.01',
- 'DBM_Filter::utf8' => '0.01',
- 'DB_File' => '1.816_1',
- 'DCLsym' => '1.03',
- 'Data::Dumper' => '2.121_14',
- 'Devel::DProf' => '20050603.00',
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.13',
- 'Devel::Peek' => '1.03',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.15',
- 'Digest::MD5' => '2.36_01',
- 'Digest::SHA' => '5.45',
- 'Digest::base' => '1.00',
- 'Digest::file' => '1.00',
- 'DirHandle' => '1.01',
- 'Dumpvalue' => '1.12',
- 'DynaLoader' => '1.08',
- 'Encode' => '2.23',
- 'Encode::Alias' => '2.07',
- 'Encode::Byte' => '2.03',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.02',
- 'Encode::CN::HZ' => '2.04',
- 'Encode::Config' => '2.04',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.00',
- 'Encode::Guess' => '2.02',
- 'Encode::JP' => '2.03',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.03',
- 'Encode::KR' => '2.02',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.05',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.02',
- 'Encode::Unicode' => '2.05',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.04',
- 'Env' => '1.00',
- 'Errno' => '1.10',
- 'Exporter' => '5.62',
- 'Exporter::Heavy' => '5.62',
- 'ExtUtils::CBuilder' => '0.21',
- 'ExtUtils::CBuilder::Base'=> '0.21',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.21',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.22',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.21',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.21',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.21',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.21',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.21',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.21',
- 'ExtUtils::Command' => '1.13',
- 'ExtUtils::Command::MM' => '6.42',
- 'ExtUtils::Constant' => '0.2',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.05',
- 'ExtUtils::Constant::Utils'=> '0.01',
- 'ExtUtils::Constant::XS'=> '0.02',
- 'ExtUtils::Embed' => '1.27',
- 'ExtUtils::Install' => '1.44',
- 'ExtUtils::Installed' => '1.43',
- 'ExtUtils::Liblist' => '6.42',
- 'ExtUtils::Liblist::Kid'=> '6.42',
- 'ExtUtils::MM' => '6.42',
- 'ExtUtils::MM_AIX' => '6.42',
- 'ExtUtils::MM_Any' => '6.42',
- 'ExtUtils::MM_BeOS' => '6.42',
- 'ExtUtils::MM_Cygwin' => '6.42',
- 'ExtUtils::MM_DOS' => '6.42',
- 'ExtUtils::MM_MacOS' => '6.42',
- 'ExtUtils::MM_NW5' => '6.42',
- 'ExtUtils::MM_OS2' => '6.42',
- 'ExtUtils::MM_QNX' => '6.42',
- 'ExtUtils::MM_UWIN' => '6.42',
- 'ExtUtils::MM_Unix' => '6.42',
- 'ExtUtils::MM_VMS' => '6.42',
- 'ExtUtils::MM_VOS' => '6.42',
- 'ExtUtils::MM_Win32' => '6.42',
- 'ExtUtils::MM_Win95' => '6.42',
- 'ExtUtils::MY' => '6.42',
- 'ExtUtils::MakeMaker' => '6.42',
- 'ExtUtils::MakeMaker::Config'=> '6.42',
- 'ExtUtils::MakeMaker::bytes'=> '6.42',
- 'ExtUtils::MakeMaker::vmsish'=> '6.42',
- 'ExtUtils::Manifest' => '1.51_01',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.42',
- 'ExtUtils::Mksymlists' => '6.42',
- 'ExtUtils::Packlist' => '1.43',
- 'ExtUtils::ParseXS' => '2.18_02',
- 'ExtUtils::testlib' => '6.42',
- 'Fatal' => '1.05',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.76',
- 'File::CheckTree' => '4.3',
- 'File::Compare' => '1.1005',
- 'File::Copy' => '2.11',
- 'File::DosGlob' => '1.00',
- 'File::Fetch' => '0.14',
- 'File::Find' => '1.12',
- 'File::Glob' => '1.06',
- 'File::GlobMapper' => '0.000_02',
- 'File::Path' => '2.04',
- 'File::Spec' => '3.2501',
- 'File::Spec::Cygwin' => '3.2501',
- 'File::Spec::Epoc' => '3.2501',
- 'File::Spec::Functions' => '3.2501',
- 'File::Spec::Mac' => '3.2501',
- 'File::Spec::OS2' => '3.2501',
- 'File::Spec::Unix' => '3.2501',
- 'File::Spec::VMS' => '3.2501',
- 'File::Spec::Win32' => '3.2501',
- 'File::Temp' => '0.18',
- 'File::stat' => '1.00',
- 'FileCache' => '1.07',
- 'FileHandle' => '2.01',
- 'VMS::Filespec' => '1.12',
- 'Filter::Simple' => '0.82',
- 'Filter::Util::Call' => '1.07',
- 'FindBin' => '1.49',
- 'GDBM_File' => '1.08',
- 'Getopt::Long' => '2.37',
- 'Getopt::Std' => '1.05',
- 'Hash::Util' => '0.07',
- 'Hash::Util::FieldHash' => '1.03',
- 'I18N::Collate' => '1.00',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.03',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.02',
- 'IO' => '1.23_01',
- 'IO::Compress::Adapter::Deflate'=> '2.008',
- 'IO::Compress::Adapter::Identity'=> '2.008',
- 'IO::Compress::Base' => '2.008',
- 'IO::Compress::Base::Common'=> '2.008',
- 'IO::Compress::Deflate' => '2.008',
- 'IO::Compress::Gzip' => '2.008',
- 'IO::Compress::Gzip::Constants'=> '2.008',
- 'IO::Compress::RawDeflate'=> '2.008',
- 'IO::Compress::Zip' => '2.008',
- 'IO::Compress::Zip::Constants'=> '2.008',
- 'IO::Compress::Zlib::Constants'=> '2.008',
- 'IO::Compress::Zlib::Extra'=> '2.008',
- 'IO::Dir' => '1.06',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.27',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.30_01',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Identity'=> '2.008',
- 'IO::Uncompress::Adapter::Inflate'=> '2.008',
- 'IO::Uncompress::AnyInflate'=> '2.008',
- 'IO::Uncompress::AnyUncompress'=> '2.008',
- 'IO::Uncompress::Base' => '2.008',
- 'IO::Uncompress::Gunzip'=> '2.008',
- 'IO::Uncompress::Inflate'=> '2.008',
- 'IO::Uncompress::RawInflate'=> '2.008',
- 'IO::Uncompress::Unzip' => '2.008',
- 'IO::Zlib' => '1.07',
- 'IPC::Cmd' => '0.40_1',
- 'IPC::Msg' => '1.02',
- 'IPC::Open2' => '1.02',
- 'IPC::Open3' => '1.02',
- 'IPC::Semaphore' => '1.02',
- 'IPC::SysV' => '1.05',
- 'List::Util' => '1.19',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.12',
- 'Locale::Maketext::Guts'=> undef,
- 'Locale::Maketext::GutsLoader'=> undef,
- 'Locale::Maketext::Simple'=> '0.18',
- 'Locale::Script' => '2.07',
- 'Log::Message' => '0.01',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.04',
- 'MIME::Base64' => '3.07_01',
- 'MIME::QuotedPrint' => '3.07',
- 'Math::BigFloat' => '1.59',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.88',
- 'Math::BigInt::Calc' => '0.52',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.16',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.21',
- 'Math::Complex' => '1.37',
- 'Math::Trig' => '1.04',
- 'Memoize' => '1.01_02',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.2808_01',
- 'Module::Build::Base' => '0.2808_01',
- 'Module::Build::Compat' => '0.2808_01',
- 'Module::Build::Config' => '0.2808_01',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> undef,
- 'Module::Build::Dumper' => undef,
- 'Module::Build::ModuleInfo'=> '0.2808_01',
- 'Module::Build::Notes' => '0.2808_01',
- 'Module::Build::PPMMaker'=> '0.2808_01',
- 'Module::Build::Platform::Amiga'=> '0.2808_01',
- 'Module::Build::Platform::Default'=> '0.2808_01',
- 'Module::Build::Platform::EBCDIC'=> '0.2808_01',
- 'Module::Build::Platform::MPEiX'=> '0.2808_01',
- 'Module::Build::Platform::MacOS'=> '0.2808_01',
- 'Module::Build::Platform::RiscOS'=> '0.2808_01',
- 'Module::Build::Platform::Unix'=> '0.2808_01',
- 'Module::Build::Platform::VMS'=> '0.2808_01',
- 'Module::Build::Platform::VOS'=> '0.2808_01',
- 'Module::Build::Platform::Windows'=> '0.2808_01',
- 'Module::Build::Platform::aix'=> '0.2808_01',
- 'Module::Build::Platform::cygwin'=> '0.2808_01',
- 'Module::Build::Platform::darwin'=> '0.2808_01',
- 'Module::Build::Platform::os2'=> '0.2808_01',
- 'Module::Build::PodParser'=> '0.2808_01',
- 'Module::Build::Version'=> '0.7203',
- 'Module::Build::YAML' => '0.50',
- 'Module::CoreList' => '2.12',
- 'Module::Load' => '0.12',
- 'Module::Load::Conditional'=> '0.22',
- 'Module::Loaded' => '0.01',
- 'Module::Pluggable' => '3.6',
- 'Module::Pluggable::Object'=> '3.6',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.07',
- 'NEXT' => '0.60_01',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.33',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.00',
- 'ODBM_File' => '1.07',
- 'Object::Accessor' => '0.32',
- 'Opcode' => '1.11',
- 'POSIX' => '1.13',
- 'Package::Constants' => '0.01',
- 'Params::Check' => '0.26',
- 'PerlIO' => '1.04',
- 'PerlIO::encoding' => '0.10',
- 'PerlIO::scalar' => '0.05',
- 'PerlIO::via' => '0.04',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.43_01',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.34',
- 'Pod::Functions' => '1.03',
- 'Pod::Html' => '1.08',
- 'Pod::InputObjects' => '1.3',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.16',
- 'Pod::ParseLink' => '1.06',
- 'Pod::ParseUtils' => '1.35',
- 'Pod::Parser' => '1.35',
- 'Pod::Perldoc' => '3.14_02',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.02',
- 'Pod::Plainer' => '0.01',
- 'Pod::Select' => '1.35',
- 'Pod::Simple' => '3.05',
- 'Pod::Simple::BlackBox' => undef,
- 'Pod::Simple::Checker' => '2.02',
- 'Pod::Simple::Debug' => undef,
- 'Pod::Simple::DumpAsText'=> '2.02',
- 'Pod::Simple::DumpAsXML'=> '2.02',
- 'Pod::Simple::HTML' => '3.03',
- 'Pod::Simple::HTMLBatch'=> '3.02',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> undef,
- 'Pod::Simple::Methody' => '2.02',
- 'Pod::Simple::Progress' => '1.01',
- 'Pod::Simple::PullParser'=> '2.02',
- 'Pod::Simple::PullParserEndToken'=> undef,
- 'Pod::Simple::PullParserStartToken'=> undef,
- 'Pod::Simple::PullParserTextToken'=> undef,
- 'Pod::Simple::PullParserToken'=> '2.02',
- 'Pod::Simple::RTF' => '2.02',
- 'Pod::Simple::Search' => '3.04',
- 'Pod::Simple::SimpleTree'=> '2.02',
- 'Pod::Simple::Text' => '2.02',
- 'Pod::Simple::TextContent'=> '2.02',
- 'Pod::Simple::TiedOutFH'=> undef,
- 'Pod::Simple::Transcode'=> undef,
- 'Pod::Simple::TranscodeDumb'=> '2.02',
- 'Pod::Simple::TranscodeSmart'=> undef,
- 'Pod::Simple::XMLOutStream'=> '2.02',
- 'Pod::Text' => '3.08',
- 'Pod::Text::Color' => '2.03',
- 'Pod::Text::Overstrike' => '2',
- 'Pod::Text::Termcap' => '2.03',
- 'Pod::Usage' => '1.35',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.12',
- 'Scalar::Util' => '1.19',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.01',
- 'SelfLoader' => '1.11',
- 'Shell' => '0.72_01',
- 'Socket' => '1.80',
- 'Stdio' => '2.3',
- 'Storable' => '2.18',
- 'Switch' => '2.13',
- 'Symbol' => '1.06',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.22',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'Term::ANSIColor' => '1.12',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.03',
- 'Term::UI' => '0.18',
- 'Term::UI::History' => undef,
- 'Test' => '1.25',
- 'Test::Builder' => '0.72',
- 'Test::Builder::Module' => '0.72',
- 'Test::Builder::Tester' => '1.09',
- 'Test::Builder::Tester::Color'=> undef,
- 'Test::Harness' => '2.64',
- 'Test::Harness::Assert' => '0.02',
- 'Test::Harness::Iterator'=> '0.02',
- 'Test::Harness::Point' => '0.01',
- 'Test::Harness::Results'=> '0.01',
- 'Test::Harness::Straps' => '0.26_01',
- 'Test::Harness::Util' => '0.01',
- 'Test::More' => '0.72',
- 'Test::Simple' => '0.72',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.0.0',
- 'Text::ParseWords' => '3.26',
- 'Text::Soundex' => '3.03',
- 'Text::Tabs' => '2007.1117',
- 'Text::Wrap' => '2006.1117',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.00',
- 'Thread::Semaphore' => '2.01',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.1',
- 'Tie::Hash' => '1.02',
- 'Tie::Hash::NamedCapture'=> '0.06',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.37',
- 'Tie::Scalar' => '1.00',
- 'Tie::StdHandle' => undef,
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9711',
- 'Time::Local' => '1.18',
- 'Time::Piece' => '1.12',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.04',
- 'Unicode' => '5.0.0',
- 'Unicode::Collate' => '0.52',
- 'Unicode::Normalize' => '1.02',
- 'Unicode::UCD' => '0.25',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'Win32' => '0.34',
- 'Win32API::File' => '0.1001_01',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.12',
- 'XS::Typemap' => '0.02',
- 'XSLoader' => '0.08',
- 'XSSymSet' => '1.1',
- 'attributes' => '0.08',
- 'attrs' => '1.02',
- 'autouse' => '1.06',
- 'base' => '2.13',
- 'bigint' => '0.22',
- 'bignum' => '0.22',
- 'bigrat' => '0.22',
- 'blib' => '1.03',
- 'bytes' => '1.03',
- 'charnames' => '1.06',
- 'constant' => '1.13',
- 'diagnostics' => '1.17',
- 'encoding' => '2.06',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.11',
- 'fields' => '2.13',
- 'filetest' => '1.02',
- 'if' => '0.05',
- 'integer' => '1.00',
- 'less' => '0.02',
- 'lib' => '0.5565',
- 'locale' => '1.00',
- 'mro' => '1.00',
- 'open' => '1.06',
- 'ops' => '1.01',
- 'overload' => '1.06',
- 're' => '0.08',
- 'sigtrap' => '1.04',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.67',
- 'threads::shared' => '1.14',
- 'utf8' => '1.07',
- 'vars' => '1.01',
- 'version' => '0.74',
- 'vmsish' => '1.02',
- 'warnings' => '1.06',
- 'warnings::register' => '1.01',
+ delta_from => 5.009004,
+ changed => {
+ 'Archive::Extract' => '0.22_01',
+ 'Archive::Tar' => '1.32',
+ 'Attribute::Handlers' => '0.78_06',
+ 'AutoLoader' => '5.63',
+ 'AutoSplit' => '1.05',
+ 'B' => '1.16',
+ 'B::Concise' => '0.72',
+ 'B::Debug' => '1.05',
+ 'B::Deparse' => '0.82',
+ 'B::Lint' => '1.09',
+ 'B::Terse' => '1.05',
+ 'Benchmark' => '1.1',
+ 'CGI' => '3.29',
+ 'CGI::Cookie' => '1.28',
+ 'CGI::Util' => '1.5_01',
+ 'CPAN' => '1.9102',
+ 'CPAN::Debug' => '5.400955',
+ 'CPAN::FirstTime' => '5.401669',
+ 'CPAN::HandleConfig' => '5.401744',
+ 'CPAN::Kwalify' => '5.401418',
+ 'CPAN::Nox' => '5.400844',
+ 'CPAN::Queue' => '5.401704',
+ 'CPAN::Tarzip' => '5.401717',
+ 'CPAN::Version' => '5.401387',
+ 'CPANPLUS' => '0.81_01',
+ 'CPANPLUS::Backend' => undef,
+ 'CPANPLUS::Backend::RV' => undef,
+ 'CPANPLUS::Config' => undef,
+ 'CPANPLUS::Configure' => undef,
+ 'CPANPLUS::Configure::Setup'=> undef,
+ 'CPANPLUS::Dist' => undef,
+ 'CPANPLUS::Dist::Base' => '0.01',
+ 'CPANPLUS::Dist::Build' => '0.06_01',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.01',
+ 'CPANPLUS::Dist::MM' => undef,
+ 'CPANPLUS::Dist::Sample'=> undef,
+ 'CPANPLUS::Error' => undef,
+ 'CPANPLUS::Internals' => '0.81_01',
+ 'CPANPLUS::Internals::Constants'=> '0.01',
+ 'CPANPLUS::Internals::Constants::Report'=> '0.01',
+ 'CPANPLUS::Internals::Extract'=> undef,
+ 'CPANPLUS::Internals::Fetch'=> undef,
+ 'CPANPLUS::Internals::Report'=> undef,
+ 'CPANPLUS::Internals::Search'=> undef,
+ 'CPANPLUS::Internals::Source'=> undef,
+ 'CPANPLUS::Internals::Utils'=> undef,
+ 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
+ 'CPANPLUS::Module' => undef,
+ 'CPANPLUS::Module::Author'=> undef,
+ 'CPANPLUS::Module::Author::Fake'=> undef,
+ 'CPANPLUS::Module::Checksums'=> undef,
+ 'CPANPLUS::Module::Fake'=> undef,
+ 'CPANPLUS::Module::Signature'=> undef,
+ 'CPANPLUS::Selfupdate' => undef,
+ 'CPANPLUS::Shell' => undef,
+ 'CPANPLUS::Shell::Classic'=> '0.0562',
+ 'CPANPLUS::Shell::Default'=> '0.81_01',
+ 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
+ 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
+ 'CPANPLUS::inc' => undef,
+ 'Carp' => '1.07',
+ 'Carp::Heavy' => '1.07',
+ 'Compress::Raw::Zlib' => '2.005',
+ 'Compress::Zlib' => '2.005',
+ 'Cwd' => '3.25',
+ 'DBM_Filter' => '0.02',
+ 'DB_File' => '1.815',
+ 'Data::Dumper' => '2.121_13',
+ 'Devel::InnerPackage' => '0.3',
+ 'Devel::PPPort' => '3.11_01',
+ 'Digest::MD5' => '2.36_01',
+ 'Digest::SHA' => '5.44',
+ 'DynaLoader' => '1.08',
+ 'Encode' => '2.23',
+ 'Encode::Alias' => '2.07',
+ 'Encode::Byte' => '2.03',
+ 'Encode::Config' => '2.04',
+ 'Encode::Encoding' => '2.05',
+ 'Encode::GSM0338' => '2.00',
+ 'Encode::JP::JIS7' => '2.03',
+ 'Encode::MIME::Header' => '2.05',
+ 'Encode::MIME::Name' => '1.01',
+ 'Encode::Unicode' => '2.05',
+ 'Errno' => '1.10',
+ 'Exporter' => '5.60',
+ 'Exporter::Heavy' => '5.60',
+ 'ExtUtils::CBuilder' => '0.19',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.13',
+ 'ExtUtils::Command' => '1.13',
+ 'ExtUtils::Command::MM' => '0.07',
+ 'ExtUtils::Constant::Base'=> '0.04',
+ 'ExtUtils::Install' => '1.41_01',
+ 'ExtUtils::Liblist' => '1.03',
+ 'ExtUtils::Liblist::Kid'=> '1.33',
+ 'ExtUtils::MM' => '0.07',
+ 'ExtUtils::MM_AIX' => '0.05',
+ 'ExtUtils::MM_Any' => '0.15',
+ 'ExtUtils::MM_BeOS' => '1.07',
+ 'ExtUtils::MM_Cygwin' => '1.1',
+ 'ExtUtils::MM_DOS' => '0.04',
+ 'ExtUtils::MM_MacOS' => '1.1',
+ 'ExtUtils::MM_NW5' => '2.1',
+ 'ExtUtils::MM_OS2' => '1.07',
+ 'ExtUtils::MM_QNX' => '0.04',
+ 'ExtUtils::MM_UWIN' => '0.04',
+ 'ExtUtils::MM_Unix' => '1.54_01',
+ 'ExtUtils::MM_VMS' => '5.76',
+ 'ExtUtils::MM_VOS' => '0.04',
+ 'ExtUtils::MM_Win32' => '1.15',
+ 'ExtUtils::MM_Win95' => '0.06',
+ 'ExtUtils::MY' => '0.03',
+ 'ExtUtils::MakeMaker' => '6.36',
+ 'ExtUtils::MakeMaker::Config'=> '0.04',
+ 'ExtUtils::MakeMaker::bytes'=> '0.03',
+ 'ExtUtils::MakeMaker::vmsish'=> '0.03',
+ 'ExtUtils::Manifest' => '1.51_01',
+ 'ExtUtils::Mkbootstrap' => '1.17',
+ 'ExtUtils::Mksymlists' => '1.21',
+ 'ExtUtils::ParseXS' => '2.18',
+ 'ExtUtils::XSSymSet' => '1.1',
+ 'ExtUtils::testlib' => '1.17',
+ 'Fatal' => '1.05',
+ 'Fcntl' => '1.06',
+ 'File::Basename' => '2.76',
+ 'File::Copy' => '2.10',
+ 'File::Fetch' => '0.10',
+ 'File::Glob' => '1.06',
+ 'File::Path' => '2.01',
+ 'File::Spec' => '3.25',
+ 'File::Spec::Cygwin' => '1.1_01',
+ 'File::Spec::VMS' => '1.4_01',
+ 'File::Temp' => '0.18',
+ 'Filter::Util::Call' => '1.0602',
+ 'FindBin' => '1.49',
+ 'Getopt::Long' => '2.36',
+ 'Hash::Util::FieldHash' => '1.01',
+ 'IO::Compress::Adapter::Deflate'=> '2.005',
+ 'IO::Compress::Adapter::Identity'=> '2.005',
+ 'IO::Compress::Base' => '2.005',
+ 'IO::Compress::Base::Common'=> '2.005',
+ 'IO::Compress::Deflate' => '2.005',
+ 'IO::Compress::Gzip' => '2.005',
+ 'IO::Compress::Gzip::Constants'=> '2.005',
+ 'IO::Compress::RawDeflate'=> '2.005',
+ 'IO::Compress::Zip' => '2.005',
+ 'IO::Compress::Zip::Constants'=> '2.005',
+ 'IO::Compress::Zlib::Constants'=> '2.005',
+ 'IO::Compress::Zlib::Extra'=> '2.005',
+ 'IO::Uncompress::Adapter::Identity'=> '2.005',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.005',
+ 'IO::Uncompress::AnyInflate'=> '2.005',
+ 'IO::Uncompress::AnyUncompress'=> '2.005',
+ 'IO::Uncompress::Base' => '2.005',
+ 'IO::Uncompress::Gunzip'=> '2.005',
+ 'IO::Uncompress::Inflate'=> '2.005',
+ 'IO::Uncompress::RawInflate'=> '2.005',
+ 'IO::Uncompress::Unzip' => '2.005',
+ 'IO::Zlib' => '1.05_01',
+ 'IPC::Cmd' => '0.36_01',
+ 'List::Util' => '1.19',
+ 'Locale::Maketext::Simple'=> '0.18',
+ 'Log::Message' => '0.01',
+ 'Log::Message::Config' => '0.01',
+ 'Log::Message::Handlers'=> undef,
+ 'Log::Message::Item' => undef,
+ 'Log::Message::Simple' => '0.0201',
+ 'Math::BigFloat' => '1.58',
+ 'Math::BigInt' => '1.87',
+ 'Math::BigInt::Calc' => '0.51',
+ 'Math::BigInt::FastCalc'=> '0.15_01',
+ 'Math::BigRat' => '0.19',
+ 'Math::Complex' => '1.37',
+ 'Memoize' => '1.01_02',
+ 'Module::Build' => '0.2808',
+ 'Module::Build::Config' => undef,
+ 'Module::Build::Version'=> '0.7203',
+ 'Module::CoreList' => '2.12',
+ 'Module::Load::Conditional'=> '0.16',
+ 'Module::Pluggable' => '3.6',
+ 'Module::Pluggable::Object'=> '3.6',
+ 'NDBM_File' => '1.07',
+ 'Net::Cmd' => '2.28',
+ 'Net::Config' => '1.11',
+ 'Net::Domain' => '2.20',
+ 'Net::FTP' => '2.77',
+ 'Net::FTP::A' => '1.18',
+ 'Net::NNTP' => '2.24',
+ 'Net::POP3' => '2.29',
+ 'Net::SMTP' => '2.31',
+ 'ODBM_File' => '1.07',
+ 'Object::Accessor' => '0.32',
+ 'Opcode' => '1.09',
+ 'POSIX' => '1.13',
+ 'Params::Check' => '0.26',
+ 'PerlIO::encoding' => '0.10',
+ 'PerlIO::scalar' => '0.05',
+ 'PerlIO::via' => '0.04',
+ 'Pod::Html' => '1.08',
+ 'Pod::Man' => '2.12',
+ 'Pod::ParseUtils' => '1.35',
+ 'Pod::Parser' => '1.35',
+ 'Pod::Select' => '1.35',
+ 'Pod::Simple' => '3.05',
+ 'Pod::Text' => '3.08',
+ 'Pod::Usage' => '1.35',
+ 'Scalar::Util' => '1.19',
+ 'SelfLoader' => '1.11',
+ 'Shell' => '0.72_01',
+ 'Socket' => '1.79',
+ 'Storable' => '2.16',
+ 'Switch' => '2.13',
+ 'Sys::Syslog' => '0.18_01',
+ 'Term::ANSIColor' => '1.12',
+ 'Term::UI' => '0.14_01',
+ 'Term::UI::History' => undef,
+ 'Test::Builder' => '0.70',
+ 'Test::Builder::Module' => '0.68',
+ 'Test::Builder::Tester' => '1.07',
+ 'Test::Harness' => '2.64',
+ 'Test::Harness::Results'=> '0.01',
+ 'Test::More' => '0.70',
+ 'Test::Simple' => '0.70',
+ 'Text::Balanced' => '2.0.0',
+ 'Text::Soundex' => '3.02',
+ 'Text::Tabs' => '2007.1117',
+ 'Text::Wrap' => '2006.1117',
+ 'Thread' => '3.02',
+ 'Tie::File' => '0.97_02',
+ 'Tie::Hash::NamedCapture'=> '0.06',
+ 'Tie::Memoize' => '1.1',
+ 'Tie::RefHash' => '1.37',
+ 'Time::HiRes' => '1.9707',
+ 'Time::Local' => '1.17',
+ 'Time::Piece' => '1.11_02',
+ 'Time::Seconds' => undef,
+ 'Unicode' => '5.0.0',
+ 'Unicode::Normalize' => '1.02',
+ 'Unicode::UCD' => '0.25',
+ 'VMS::DCLsym' => '1.03',
+ 'Win32' => '0.30',
+ 'Win32API::File' => '0.1001_01',
+ 'Win32CORE' => '0.02',
+ 'XS::APItest' => '0.12',
+ 'XSLoader' => '0.08',
+ 'attributes' => '0.08',
+ 'base' => '2.12',
+ 'bigint' => '0.22',
+ 'bignum' => '0.22',
+ 'bigrat' => '0.22',
+ 'bytes' => '1.03',
+ 'charnames' => '1.06',
+ 'constant' => '1.10',
+ 'diagnostics' => '1.17',
+ 'encoding' => '2.06',
+ 'encoding::warnings' => '0.11',
+ 'feature' => '1.10',
+ 'fields' => '2.12',
+ 'less' => '0.02',
+ 'mro' => '1.00',
+ 'overload' => '1.06',
+ 're' => '0.08',
+ 'sigtrap' => '1.04',
+ 'sort' => '2.01',
+ 'strict' => '1.04',
+ 'threads' => '1.63',
+ 'threads::shared' => '1.12',
+ 'utf8' => '1.07',
+ 'version' => '0.7203',
+ 'warnings' => '1.06',
+ },
+ removed => {
+ 'B::Asmdata' => 1,
+ 'B::Assembler' => 1,
+ 'B::Bblock' => 1,
+ 'B::Bytecode' => 1,
+ 'B::C' => 1,
+ 'B::CC' => 1,
+ 'B::Disassembler' => 1,
+ 'B::Stackobj' => 1,
+ 'B::Stash' => 1,
+ 'ByteLoader' => 1,
+ 'Thread::Signal' => 1,
+ 'Thread::Specific' => 1,
+ 'assertions' => 1,
+ 'assertions::activate' => 1,
+ 'assertions::compat' => 1,
+ }
},
-
- 5.008009 => {
- 'AnyDBM_File' => '1.00',
- 'Attribute::Handlers' => '0.78_03',
- 'AutoLoader' => '5.67',
- 'AutoSplit' => '1.06',
- 'B' => '1.19',
- 'B::Asmdata' => '1.02',
- 'B::Assembler' => '0.08',
- 'B::Bblock' => '1.02_01',
- 'B::Bytecode' => '1.01_01',
- 'B::C' => '1.05',
- 'B::CC' => '1.00_01',
- 'B::Concise' => '0.76',
- 'B::Debug' => '1.05',
- 'B::Deparse' => '0.87',
- 'B::Disassembler' => '1.05',
- 'B::Lint' => '1.11',
- 'B::Lint::Debug' => undef,
- 'B::Showlex' => '1.02',
- 'B::Stackobj' => '1.00',
- 'B::Stash' => '1.00',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.01',
- 'Benchmark' => '1.1',
- 'ByteLoader' => '0.06',
- 'CGI' => '3.42',
- 'CGI::Apache' => '1.00',
- 'CGI::Carp' => '1.30_01',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.07',
- 'CGI::Pretty' => '1.08',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.00',
- 'CGI::Util' => '1.5_01',
- 'CPAN' => '1.9301',
- 'CPAN::Debug' => '5.5',
- 'CPAN::DeferedCode' => '5.50',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::FirstTime' => '5.5_01',
- 'CPAN::HandleConfig' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Queue' => '5.5',
- 'CPAN::Tarzip' => '5.5',
- 'CPAN::Version' => '5.5',
- 'Carp' => '1.10',
- 'Carp::Heavy' => '1.10',
- 'Class::ISA' => '0.33',
- 'Class::Struct' => '0.63',
- 'Config' => undef,
- 'Cwd' => '3.29',
- 'DB' => '1.01',
- 'DBM_Filter' => '0.02',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.817',
- 'DCLsym' => '1.03',
- 'Data::Dumper' => '2.121_17',
- 'Devel::DProf' => '20080331.00',
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.14',
- 'Devel::Peek' => '1.04',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.15',
- 'Digest::MD5' => '2.37',
- 'Digest::base' => '1.00',
- 'Digest::file' => '1.00',
- 'DirHandle' => '1.02',
- 'Dumpvalue' => '1.12',
- 'DynaLoader' => '1.09',
- 'Encode' => '2.26',
- 'Encode::Alias' => '2.10',
- 'Encode::Byte' => '2.03',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.02',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.02',
- 'Encode::JP' => '2.03',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.02',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.05',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.02',
- 'Encode::Unicode' => '2.05',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.03',
- 'Env' => '1.00',
- 'Errno' => '1.10',
- 'Exporter' => '5.63',
- 'Exporter::Heavy' => '5.63',
- 'ExtUtils::Command' => '1.15',
- 'ExtUtils::Command::MM' => '6.48',
- 'ExtUtils::Constant' => '0.21',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.06',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.02',
- 'ExtUtils::Embed' => '1.28',
- 'ExtUtils::Install' => '1.50_01',
- 'ExtUtils::Installed' => '1.43',
- 'ExtUtils::Liblist' => '6.48',
- 'ExtUtils::Liblist::Kid'=> '6.48',
- 'ExtUtils::MM' => '6.48',
- 'ExtUtils::MM_AIX' => '6.48',
- 'ExtUtils::MM_Any' => '6.48',
- 'ExtUtils::MM_BeOS' => '6.48',
- 'ExtUtils::MM_Cygwin' => '6.48',
- 'ExtUtils::MM_DOS' => '6.48',
- 'ExtUtils::MM_Darwin' => '6.48',
- 'ExtUtils::MM_MacOS' => '6.48',
- 'ExtUtils::MM_NW5' => '6.48',
- 'ExtUtils::MM_OS2' => '6.48',
- 'ExtUtils::MM_QNX' => '6.48',
- 'ExtUtils::MM_UWIN' => '6.48',
- 'ExtUtils::MM_Unix' => '6.48',
- 'ExtUtils::MM_VMS' => '6.48',
- 'ExtUtils::MM_VOS' => '6.48',
- 'ExtUtils::MM_Win32' => '6.48',
- 'ExtUtils::MM_Win95' => '6.48',
- 'ExtUtils::MY' => '6.48',
- 'ExtUtils::MakeMaker' => '6.48',
- 'ExtUtils::MakeMaker::Config'=> '6.48',
- 'ExtUtils::MakeMaker::bytes'=> '6.48',
- 'ExtUtils::MakeMaker::vmsish'=> '6.48',
- 'ExtUtils::Manifest' => '1.55',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.48',
- 'ExtUtils::Mksymlists' => '6.48',
- 'ExtUtils::Packlist' => '1.43',
- 'ExtUtils::ParseXS' => '2.19',
- 'ExtUtils::testlib' => '6.48',
- 'Fatal' => '1.06',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.77',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1005',
- 'File::Copy' => '2.13',
- 'File::DosGlob' => '1.01',
- 'File::Find' => '1.13',
- 'File::Glob' => '1.06',
- 'File::Path' => '2.07_02',
- 'File::Spec' => '3.29',
- 'File::Spec::Cygwin' => '3.29',
- 'File::Spec::Epoc' => '3.29',
- 'File::Spec::Functions' => '3.29',
- 'File::Spec::Mac' => '3.29',
- 'File::Spec::OS2' => '3.29',
- 'File::Spec::Unix' => '3.29',
- 'File::Spec::VMS' => '3.29',
- 'File::Spec::Win32' => '3.29',
- 'File::Temp' => '0.20',
- 'File::stat' => '1.01',
- 'FileCache' => '1.07',
- 'FileHandle' => '2.01',
- 'VMS::Filespec' => '1.11',
- 'Filter::Simple' => '0.83',
- 'Filter::Util::Call' => '1.07',
- 'FindBin' => '1.49',
- 'GDBM_File' => '1.09',
- 'Getopt::Long' => '2.37',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.06',
- 'I18N::Collate' => '1.00',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.03',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.02',
- 'IO' => '1.23',
- 'IO::Dir' => '1.06',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.27',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.30',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IPC::Msg' => '2.00',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.03',
- 'IPC::Semaphore' => '2.00',
- 'IPC::SharedMem' => '2.00',
- 'IPC::SysV' => '2.00',
- 'IPC::lib::IPC::Msg' => '2.00',
- 'IPC::lib::IPC::Semaphore'=> '2.00',
- 'IPC::lib::IPC::SharedMem'=> '2.00',
- 'List::Util' => '1.19',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.13',
- 'Locale::Maketext::Guts'=> '1.13',
- 'Locale::Maketext::GutsLoader'=> '1.13',
- 'Locale::Script' => '2.07',
- 'MIME::Base64' => '3.07',
- 'MIME::QuotedPrint' => '3.07',
- 'Math::BigFloat' => '1.60',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.89',
- 'Math::BigInt::Calc' => '0.52',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.22',
- 'Math::Complex' => '1.54',
- 'Math::Trig' => '1.18',
- 'Memoize' => '1.01',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::CoreList' => '2.17',
- 'Module::Pluggable' => '3.8',
- 'Module::Pluggable::Object'=> '3.6',
- 'Module::Pluggable::lib::Devel::InnerPackage'=> '0.3',
- 'NDBM_File' => '1.07',
- 'NEXT' => '0.61',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.35',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.07',
- 'Opcode' => '1.0601',
- 'POSIX' => '1.15',
- 'PerlIO' => '1.05',
- 'PerlIO::encoding' => '0.11',
- 'PerlIO::scalar' => '0.06',
- 'PerlIO::via' => '0.05',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.43',
- 'Pod::Find' => '1.34',
- 'Pod::Functions' => '1.03',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.3',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '1.37',
- 'Pod::ParseLink' => '1.06',
- 'Pod::ParseUtils' => '1.35',
- 'Pod::Parser' => '1.35',
- 'Pod::Perldoc' => '3.14',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.02',
- 'Pod::Plainer' => '0.01',
- 'Pod::Select' => '1.35',
- 'Pod::Text' => '2.21',
- 'Pod::Text::Color' => '1.04',
- 'Pod::Text::Overstrike' => '1.1',
- 'Pod::Text::Termcap' => '1.11',
- 'Pod::Usage' => '1.35',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.16',
- 'Scalar::Util' => '1.19',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.01',
- 'SelfLoader' => '1.17',
- 'Shell' => '0.72',
- 'Socket' => '1.81',
- 'Stdio' => '2.4',
- 'Storable' => '2.19',
- 'Switch' => '2.13',
- 'Symbol' => '1.06',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'Term::ANSIColor' => '1.12',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.03',
- 'Test' => '1.25',
- 'Test::Builder' => '0.80',
- 'Test::Builder::Module' => '0.80',
- 'Test::Builder::Tester' => '1.13',
- 'Test::Builder::Tester::Color'=> undef,
- 'Test::Harness' => '2.64',
- 'Test::Harness::Assert' => '0.02',
- 'Test::Harness::Iterator'=> '0.02',
- 'Test::Harness::Point' => '0.01',
- 'Test::Harness::Results'=> '0.01_01',
- 'Test::Harness::Straps' => '0.26_01',
- 'Test::Harness::Util' => '0.01',
- 'Test::More' => '0.80',
- 'Test::Simple' => '0.80',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '1.98',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03',
- 'Text::Tabs' => '2007.1117',
- 'Text::Wrap' => '2006.1117',
- 'Thread' => '2.01',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.09',
- 'Thread::Signal' => '1.00',
- 'Thread::Specific' => '1.00',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.03',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.01',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9715',
- 'Time::Local' => '1.1901',
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.01',
- 'Unicode' => '5.1.0',
- 'Unicode::Collate' => '0.52',
- 'Unicode::Normalize' => '1.02',
- 'Unicode::UCD' => '0.25',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'Win32' => '0.38',
- 'Win32API::File' => '0.1001_01',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.15',
- 'XS::Typemap' => '0.03',
- 'XSLoader' => '0.10',
- 'XSSymSet' => '1.1',
- 'attributes' => '0.09',
- 'attrs' => '1.02',
- 'autouse' => '1.06',
- 'base' => '2.13',
- 'bigint' => '0.23',
- 'bignum' => '0.23',
- 'bigrat' => '0.23',
- 'blib' => '1.04',
- 'bytes' => '1.02',
- 'charnames' => '1.06',
- 'constant' => '1.17',
- 'diagnostics' => '1.16',
- 'encoding' => '2.6_01',
- 'fields' => '2.12',
- 'filetest' => '1.02',
- 'if' => '0.05',
- 'integer' => '1.00',
- 'less' => '0.01',
- 'lib' => '0.61',
- 'locale' => '1.00',
- 'open' => '1.06',
- 'ops' => '1.02',
- 'overload' => '1.06',
- 're' => '0.0601',
- 'sigtrap' => '1.04',
- 'sort' => '1.02',
- 'strict' => '1.03',
- 'subs' => '1.00',
- 'threads' => '1.71',
- 'threads::shared' => '1.27',
- 'utf8' => '1.07',
- 'vars' => '1.01',
- 'vmsish' => '1.02',
- 'warnings' => '1.05_01',
- 'warnings::register' => '1.01',
+ 5.01 => {
+ delta_from => 5.009005,
+ changed => {
+ 'Archive::Extract' => '0.24',
+ 'Archive::Tar' => '1.38',
+ 'Attribute::Handlers' => '0.79',
+ 'B' => '1.17',
+ 'B::Concise' => '0.74',
+ 'B::Deparse' => '0.83',
+ 'CPAN' => '1.9205',
+ 'CPAN::API::HOWTO' => undef,
+ 'CPAN::Debug' => '5.402212',
+ 'CPAN::DeferedCode' => '5.50',
+ 'CPAN::FirstTime' => '5.402229',
+ 'CPAN::HandleConfig' => '5.402212',
+ 'CPAN::Nox' => '5.402411',
+ 'CPAN::Queue' => '5.402212',
+ 'CPAN::Tarzip' => '5.402213',
+ 'CPAN::Version' => '5.5',
+ 'CPANPLUS' => '0.84',
+ 'CPANPLUS::Dist::Build' => '0.06_02',
+ 'CPANPLUS::Internals' => '0.84',
+ 'CPANPLUS::Shell::Default'=> '0.84',
+ 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
+ 'Carp' => '1.08',
+ 'Carp::Heavy' => '1.08',
+ 'Compress::Raw::Zlib' => '2.008',
+ 'Compress::Zlib' => '2.008',
+ 'Cwd' => '3.2501',
+ 'DB_File' => '1.816_1',
+ 'Data::Dumper' => '2.121_14',
+ 'Devel::PPPort' => '3.13',
+ 'Digest::SHA' => '5.45',
+ 'Exporter' => '5.62',
+ 'Exporter::Heavy' => '5.62',
+ 'ExtUtils::CBuilder' => '0.21',
+ 'ExtUtils::CBuilder::Base'=> '0.21',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.21',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.22',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.21',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.21',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.21',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.21',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.21',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.21',
+ 'ExtUtils::Command::MM' => '6.42',
+ 'ExtUtils::Constant::ProxySubs'=> '0.05',
+ 'ExtUtils::Embed' => '1.27',
+ 'ExtUtils::Install' => '1.44',
+ 'ExtUtils::Installed' => '1.43',
+ 'ExtUtils::Liblist' => '6.42',
+ 'ExtUtils::Liblist::Kid'=> '6.42',
+ 'ExtUtils::MM' => '6.42',
+ 'ExtUtils::MM_AIX' => '6.42',
+ 'ExtUtils::MM_Any' => '6.42',
+ 'ExtUtils::MM_BeOS' => '6.42',
+ 'ExtUtils::MM_Cygwin' => '6.42',
+ 'ExtUtils::MM_DOS' => '6.42',
+ 'ExtUtils::MM_MacOS' => '6.42',
+ 'ExtUtils::MM_NW5' => '6.42',
+ 'ExtUtils::MM_OS2' => '6.42',
+ 'ExtUtils::MM_QNX' => '6.42',
+ 'ExtUtils::MM_UWIN' => '6.42',
+ 'ExtUtils::MM_Unix' => '6.42',
+ 'ExtUtils::MM_VMS' => '6.42',
+ 'ExtUtils::MM_VOS' => '6.42',
+ 'ExtUtils::MM_Win32' => '6.42',
+ 'ExtUtils::MM_Win95' => '6.42',
+ 'ExtUtils::MY' => '6.42',
+ 'ExtUtils::MakeMaker' => '6.42',
+ 'ExtUtils::MakeMaker::Config'=> '6.42',
+ 'ExtUtils::MakeMaker::bytes'=> '6.42',
+ 'ExtUtils::MakeMaker::vmsish'=> '6.42',
+ 'ExtUtils::Mkbootstrap' => '6.42',
+ 'ExtUtils::Mksymlists' => '6.42',
+ 'ExtUtils::Packlist' => '1.43',
+ 'ExtUtils::ParseXS' => '2.18_02',
+ 'ExtUtils::testlib' => '6.42',
+ 'File::Copy' => '2.11',
+ 'File::Fetch' => '0.14',
+ 'File::Find' => '1.12',
+ 'File::Path' => '2.04',
+ 'File::Spec' => '3.2501',
+ 'File::Spec::Cygwin' => '3.2501',
+ 'File::Spec::Epoc' => '3.2501',
+ 'File::Spec::Functions' => '3.2501',
+ 'File::Spec::Mac' => '3.2501',
+ 'File::Spec::OS2' => '3.2501',
+ 'File::Spec::Unix' => '3.2501',
+ 'File::Spec::VMS' => '3.2501',
+ 'File::Spec::Win32' => '3.2501',
+ 'Filter::Util::Call' => '1.07',
+ 'Getopt::Long' => '2.37',
+ 'Hash::Util::FieldHash' => '1.03',
+ 'IO::Compress::Adapter::Deflate'=> '2.008',
+ 'IO::Compress::Adapter::Identity'=> '2.008',
+ 'IO::Compress::Base' => '2.008',
+ 'IO::Compress::Base::Common'=> '2.008',
+ 'IO::Compress::Deflate' => '2.008',
+ 'IO::Compress::Gzip' => '2.008',
+ 'IO::Compress::Gzip::Constants'=> '2.008',
+ 'IO::Compress::RawDeflate'=> '2.008',
+ 'IO::Compress::Zip' => '2.008',
+ 'IO::Compress::Zip::Constants'=> '2.008',
+ 'IO::Compress::Zlib::Constants'=> '2.008',
+ 'IO::Compress::Zlib::Extra'=> '2.008',
+ 'IO::Uncompress::Adapter::Identity'=> '2.008',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.008',
+ 'IO::Uncompress::AnyInflate'=> '2.008',
+ 'IO::Uncompress::AnyUncompress'=> '2.008',
+ 'IO::Uncompress::Base' => '2.008',
+ 'IO::Uncompress::Gunzip'=> '2.008',
+ 'IO::Uncompress::Inflate'=> '2.008',
+ 'IO::Uncompress::RawInflate'=> '2.008',
+ 'IO::Uncompress::Unzip' => '2.008',
+ 'IO::Zlib' => '1.07',
+ 'IPC::Cmd' => '0.40_1',
+ 'IPC::SysV' => '1.05',
+ 'Locale::Maketext' => '1.12',
+ 'Log::Message::Simple' => '0.04',
+ 'Math::BigFloat' => '1.59',
+ 'Math::BigInt' => '1.88',
+ 'Math::BigInt::Calc' => '0.52',
+ 'Math::BigInt::FastCalc'=> '0.16',
+ 'Math::BigRat' => '0.21',
+ 'Module::Build' => '0.2808_01',
+ 'Module::Build::Base' => '0.2808_01',
+ 'Module::Build::Compat' => '0.2808_01',
+ 'Module::Build::Config' => '0.2808_01',
+ 'Module::Build::Dumper' => undef,
+ 'Module::Build::ModuleInfo'=> '0.2808_01',
+ 'Module::Build::Notes' => '0.2808_01',
+ 'Module::Build::PPMMaker'=> '0.2808_01',
+ 'Module::Build::Platform::Amiga'=> '0.2808_01',
+ 'Module::Build::Platform::Default'=> '0.2808_01',
+ 'Module::Build::Platform::EBCDIC'=> '0.2808_01',
+ 'Module::Build::Platform::MPEiX'=> '0.2808_01',
+ 'Module::Build::Platform::MacOS'=> '0.2808_01',
+ 'Module::Build::Platform::RiscOS'=> '0.2808_01',
+ 'Module::Build::Platform::Unix'=> '0.2808_01',
+ 'Module::Build::Platform::VMS'=> '0.2808_01',
+ 'Module::Build::Platform::VOS'=> '0.2808_01',
+ 'Module::Build::Platform::Windows'=> '0.2808_01',
+ 'Module::Build::Platform::aix'=> '0.2808_01',
+ 'Module::Build::Platform::cygwin'=> '0.2808_01',
+ 'Module::Build::Platform::darwin'=> '0.2808_01',
+ 'Module::Build::Platform::os2'=> '0.2808_01',
+ 'Module::Build::PodParser'=> '0.2808_01',
+ 'Module::CoreList' => '2.13',
+ 'Module::Load' => '0.12',
+ 'Module::Load::Conditional'=> '0.22',
+ 'Net::Cmd' => '2.29',
+ 'Net::Ping' => '2.33',
+ 'Opcode' => '1.11',
+ 'Pod::Checker' => '1.43_01',
+ 'Pod::Man' => '2.16',
+ 'Pod::Perldoc' => '3.14_02',
+ 'Socket' => '1.80',
+ 'Storable' => '2.18',
+ 'Sys::Syslog' => '0.22',
+ 'Sys::Syslog::win32::Win32'=> undef,
+ 'Term::Cap' => '1.12',
+ 'Term::ReadLine' => '1.03',
+ 'Term::UI' => '0.18',
+ 'Test::Builder' => '0.72',
+ 'Test::Builder::Module' => '0.72',
+ 'Test::Builder::Tester' => '1.09',
+ 'Test::Harness::Straps' => '0.26_01',
+ 'Test::More' => '0.72',
+ 'Test::Simple' => '0.72',
+ 'Text::ParseWords' => '3.26',
+ 'Text::Soundex' => '3.03',
+ 'Tie::StdHandle' => undef,
+ 'Time::HiRes' => '1.9711',
+ 'Time::Local' => '1.18',
+ 'Time::Piece' => '1.12',
+ 'VMS::Filespec' => '1.12',
+ 'Win32' => '0.34',
+ 'base' => '2.13',
+ 'constant' => '1.13',
+ 'feature' => '1.11',
+ 'fields' => '2.13',
+ 'filetest' => '1.02',
+ 'open' => '1.06',
+ 'threads' => '1.67',
+ 'threads::shared' => '1.14',
+ 'version' => '0.74',
+ },
+ removed => {
+ }
},
-
5.010001 => {
- 'AnyDBM_File' => '1.00',
- 'App::Prove' => '3.17',
- 'App::Prove::State' => '3.17',
- 'App::Prove::State::Result'=> '3.17',
- 'App::Prove::State::Result::Test'=> '3.17',
- 'Archive::Extract' => '0.34',
- 'Archive::Tar' => '1.52',
- 'Archive::Tar::Constant'=> '0.02',
- 'Archive::Tar::File' => '0.02',
- 'Attribute::Handlers' => '0.85',
- 'AutoLoader' => '5.68',
- 'AutoSplit' => '1.06',
- 'B' => '1.22',
- 'B::Concise' => '0.76',
- 'B::Debug' => '1.11',
- 'B::Deparse' => '0.89',
- 'B::Lint' => '1.11',
- 'B::Lint::Debug' => undef,
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.43',
- 'CGI::Apache' => '1.00',
- 'CGI::Carp' => '1.30_01',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.07',
- 'CGI::Pretty' => '1.08',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.00',
- 'CGI::Util' => '1.5_01',
- 'CPAN' => '1.9402',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.93',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5001',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.53',
- 'CPAN::HandleConfig' => '5.5',
- 'CPAN::Index' => '1.93',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.00',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5',
- 'CPAN::Shell' => '5.5',
- 'CPAN::Tarzip' => '5.501',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5',
- 'CPANPLUS' => '0.88',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.36',
- 'CPANPLUS::Dist::Build::Constants'=> '0.36',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.88',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.88',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.11',
- 'Carp::Heavy' => '1.11',
- 'Class::ISA' => '0.33',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.020',
- 'Compress::Raw::Zlib' => '2.020',
- 'Compress::Zlib' => '2.020',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.30',
- 'DB' => '1.02',
- 'DBM_Filter' => '0.02',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'DCLsym' => '1.03',
- 'Data::Dumper' => '2.124',
- 'Devel::DProf' => '20080331.00',
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.04',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.39',
- 'Digest::SHA' => '5.47',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.13',
- 'DynaLoader' => '1.10',
- 'Encode' => '2.35',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.03',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.02',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.03',
- 'Encode::JP' => '2.03',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.02',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.11',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.02',
- 'Encode::Unicode' => '2.06',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.04',
- 'Env' => '1.00',
- 'Errno' => '1.11',
- 'Exporter' => '5.63',
- 'Exporter::Heavy' => '5.63',
- 'ExtUtils::CBuilder' => '0.2602',
- 'ExtUtils::CBuilder::Base'=> '0.2602',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.2602',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.2602',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.2602',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.2602',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.2602',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.2602',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.2602',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.2602',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.55_02',
- 'ExtUtils::Constant' => '0.22',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.06',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.28',
- 'ExtUtils::Install' => '1.54',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.55_02',
- 'ExtUtils::Liblist::Kid'=> '6.5502',
- 'ExtUtils::MM' => '6.55_02',
- 'ExtUtils::MM_AIX' => '6.55_02',
- 'ExtUtils::MM_Any' => '6.55_02',
- 'ExtUtils::MM_BeOS' => '6.55_02',
- 'ExtUtils::MM_Cygwin' => '6.55_02',
- 'ExtUtils::MM_DOS' => '6.5502',
- 'ExtUtils::MM_Darwin' => '6.55_02',
- 'ExtUtils::MM_MacOS' => '6.5502',
- 'ExtUtils::MM_NW5' => '6.55_02',
- 'ExtUtils::MM_OS2' => '6.55_02',
- 'ExtUtils::MM_QNX' => '6.55_02',
- 'ExtUtils::MM_UWIN' => '6.5502',
- 'ExtUtils::MM_Unix' => '6.55_02',
- 'ExtUtils::MM_VMS' => '6.55_02',
- 'ExtUtils::MM_VOS' => '6.55_02',
- 'ExtUtils::MM_Win32' => '6.55_02',
- 'ExtUtils::MM_Win95' => '6.55_02',
- 'ExtUtils::MY' => '6.5502',
- 'ExtUtils::MakeMaker' => '6.55_02',
- 'ExtUtils::MakeMaker::Config'=> '6.55_02',
- 'ExtUtils::Manifest' => '1.56',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.55_02',
- 'ExtUtils::Mksymlists' => '6.55_02',
- 'ExtUtils::Packlist' => '1.43',
- 'ExtUtils::ParseXS' => '2.2002',
- 'ExtUtils::XSSymSet' => '1.1',
- 'ExtUtils::testlib' => '6.5502',
- 'Fatal' => '2.06_01',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.77',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.14',
- 'File::DosGlob' => '1.01',
- 'File::Fetch' => '0.20',
- 'File::Find' => '1.14',
- 'File::Glob' => '1.06',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.07_03',
- 'File::Spec' => '3.30',
- 'File::Spec::Cygwin' => '3.30',
- 'File::Spec::Epoc' => '3.30',
- 'File::Spec::Functions' => '3.30',
- 'File::Spec::Mac' => '3.30',
- 'File::Spec::OS2' => '3.30',
- 'File::Spec::Unix' => '3.30',
- 'File::Spec::VMS' => '3.30',
- 'File::Spec::Win32' => '3.30',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.01',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'VMS::Filespec' => '1.12',
- 'Filter::Simple' => '0.84',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.09',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.07',
- 'Hash::Util::FieldHash' => '1.04',
- 'I18N::Collate' => '1.01',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.03',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.02',
- 'IO' => '1.25',
- 'IO::Compress::Adapter::Bzip2'=> '2.020',
- 'IO::Compress::Adapter::Deflate'=> '2.020',
- 'IO::Compress::Adapter::Identity'=> '2.020',
- 'IO::Compress::Base' => '2.020',
- 'IO::Compress::Base::Common'=> '2.020',
- 'IO::Compress::Bzip2' => '2.020',
- 'IO::Compress::Deflate' => '2.020',
- 'IO::Compress::Gzip' => '2.020',
- 'IO::Compress::Gzip::Constants'=> '2.020',
- 'IO::Compress::RawDeflate'=> '2.020',
- 'IO::Compress::Zip' => '2.020',
- 'IO::Compress::Zip::Constants'=> '2.020',
- 'IO::Compress::Zlib::Constants'=> '2.020',
- 'IO::Compress::Zlib::Extra'=> '2.020',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.31',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.020',
- 'IO::Uncompress::Adapter::Identity'=> '2.020',
- 'IO::Uncompress::Adapter::Inflate'=> '2.020',
- 'IO::Uncompress::AnyInflate'=> '2.020',
- 'IO::Uncompress::AnyUncompress'=> '2.020',
- 'IO::Uncompress::Base' => '2.020',
- 'IO::Uncompress::Bunzip2'=> '2.020',
- 'IO::Uncompress::Gunzip'=> '2.020',
- 'IO::Uncompress::Inflate'=> '2.020',
- 'IO::Uncompress::RawInflate'=> '2.020',
- 'IO::Uncompress::Unzip' => '2.020',
- 'IO::Zlib' => '1.09',
- 'IPC::Cmd' => '0.46',
- 'IPC::Msg' => '2.01',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.04',
- 'IPC::Semaphore' => '2.01',
- 'IPC::SharedMem' => '2.01',
- 'IPC::SysV' => '2.01',
- 'List::Util' => '1.21',
- 'List::Util::PP' => '1.21',
- 'List::Util::XS' => '1.21',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.13',
- 'Locale::Maketext::Guts'=> '1.13',
- 'Locale::Maketext::GutsLoader'=> '1.13',
- 'Locale::Maketext::Simple'=> '0.18',
- 'Locale::Script' => '2.07',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.04',
- 'MIME::Base64' => '3.08',
- 'MIME::QuotedPrint' => '3.08',
- 'Math::BigFloat' => '1.60',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.89',
- 'Math::BigInt::Calc' => '0.52',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.19',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.22',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.01_03',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.340201',
- 'Module::Build::Base' => '0.340201',
- 'Module::Build::Compat' => '0.340201',
- 'Module::Build::Config' => '0.340201',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.340201',
- 'Module::Build::Dumper' => '0.340201',
- 'Module::Build::ModuleInfo'=> '0.340201',
- 'Module::Build::Notes' => '0.340201',
- 'Module::Build::PPMMaker'=> '0.340201',
- 'Module::Build::Platform::Amiga'=> '0.340201',
- 'Module::Build::Platform::Default'=> '0.340201',
- 'Module::Build::Platform::EBCDIC'=> '0.340201',
- 'Module::Build::Platform::MPEiX'=> '0.340201',
- 'Module::Build::Platform::MacOS'=> '0.340201',
- 'Module::Build::Platform::RiscOS'=> '0.340201',
- 'Module::Build::Platform::Unix'=> '0.340201',
- 'Module::Build::Platform::VMS'=> '0.340201',
- 'Module::Build::Platform::VOS'=> '0.340201',
- 'Module::Build::Platform::Windows'=> '0.340201',
- 'Module::Build::Platform::aix'=> '0.340201',
- 'Module::Build::Platform::cygwin'=> '0.340201',
- 'Module::Build::Platform::darwin'=> '0.340201',
- 'Module::Build::Platform::os2'=> '0.340201',
- 'Module::Build::PodParser'=> '0.340201',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '0.50',
- 'Module::CoreList' => '2.18',
- 'Module::Load' => '0.16',
- 'Module::Load::Conditional'=> '0.30',
- 'Module::Loaded' => '0.02',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.08',
- 'NEXT' => '0.64',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.36',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.07',
- 'Object::Accessor' => '0.34',
- 'Opcode' => '1.11',
- 'POSIX' => '1.17',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.39',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.11',
- 'PerlIO::scalar' => '0.07',
- 'PerlIO::via' => '0.07',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.03',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.22',
- 'Pod::ParseLink' => '1.09',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.14_04',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Plainer' => '0.01',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.07',
- 'Pod::Simple::BlackBox' => undef,
- 'Pod::Simple::Checker' => '2.02',
- 'Pod::Simple::Debug' => undef,
- 'Pod::Simple::DumpAsText'=> '2.02',
- 'Pod::Simple::DumpAsXML'=> '2.02',
- 'Pod::Simple::HTML' => '3.03',
- 'Pod::Simple::HTMLBatch'=> '3.02',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> undef,
- 'Pod::Simple::Methody' => '2.02',
- 'Pod::Simple::Progress' => '1.01',
- 'Pod::Simple::PullParser'=> '2.02',
- 'Pod::Simple::PullParserEndToken'=> undef,
- 'Pod::Simple::PullParserStartToken'=> undef,
- 'Pod::Simple::PullParserTextToken'=> undef,
- 'Pod::Simple::PullParserToken'=> '2.02',
- 'Pod::Simple::RTF' => '2.02',
- 'Pod::Simple::Search' => '3.04',
- 'Pod::Simple::SimpleTree'=> '2.02',
- 'Pod::Simple::Text' => '2.02',
- 'Pod::Simple::TextContent'=> '2.02',
- 'Pod::Simple::TiedOutFH'=> undef,
- 'Pod::Simple::Transcode'=> undef,
- 'Pod::Simple::TranscodeDumb'=> '2.02',
- 'Pod::Simple::TranscodeSmart'=> undef,
- 'Pod::Simple::XHTML' => '3.04',
- 'Pod::Simple::XMLOutStream'=> '2.02',
- 'Pod::Text' => '3.13',
- 'Pod::Text::Color' => '2.05',
- 'Pod::Text::Overstrike' => '2.03',
- 'Pod::Text::Termcap' => '2.05',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.18',
- 'Scalar::Util' => '1.21',
- 'Scalar::Util::PP' => '1.21',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.17',
- 'Shell' => '0.72_01',
- 'Socket' => '1.82',
- 'Stdio' => '2.4',
- 'Storable' => '2.20',
- 'Switch' => '2.14',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.17',
- 'TAP::Formatter::Base' => '3.17',
- 'TAP::Formatter::Color' => '3.17',
- 'TAP::Formatter::Console'=> '3.17',
- 'TAP::Formatter::Console::ParallelSession'=> '3.17',
- 'TAP::Formatter::Console::Session'=> '3.17',
- 'TAP::Formatter::File' => '3.17',
- 'TAP::Formatter::File::Session'=> '3.17',
- 'TAP::Formatter::Session'=> '3.17',
- 'TAP::Harness' => '3.17',
- 'TAP::Object' => '3.17',
- 'TAP::Parser' => '3.17',
- 'TAP::Parser::Aggregator'=> '3.17',
- 'TAP::Parser::Grammar' => '3.17',
- 'TAP::Parser::Iterator' => '3.17',
- 'TAP::Parser::Iterator::Array'=> '3.17',
- 'TAP::Parser::Iterator::Process'=> '3.17',
- 'TAP::Parser::Iterator::Stream'=> '3.17',
- 'TAP::Parser::IteratorFactory'=> '3.17',
- 'TAP::Parser::Multiplexer'=> '3.17',
- 'TAP::Parser::Result' => '3.17',
- 'TAP::Parser::Result::Bailout'=> '3.17',
- 'TAP::Parser::Result::Comment'=> '3.17',
- 'TAP::Parser::Result::Plan'=> '3.17',
- 'TAP::Parser::Result::Pragma'=> '3.17',
- 'TAP::Parser::Result::Test'=> '3.17',
- 'TAP::Parser::Result::Unknown'=> '3.17',
- 'TAP::Parser::Result::Version'=> '3.17',
- 'TAP::Parser::Result::YAML'=> '3.17',
- 'TAP::Parser::ResultFactory'=> '3.17',
- 'TAP::Parser::Scheduler'=> '3.17',
- 'TAP::Parser::Scheduler::Job'=> '3.17',
- 'TAP::Parser::Scheduler::Spinner'=> '3.17',
- 'TAP::Parser::Source' => '3.17',
- 'TAP::Parser::Source::Perl'=> '3.17',
- 'TAP::Parser::Utils' => '3.17',
- 'TAP::Parser::YAMLish::Reader'=> '3.17',
- 'TAP::Parser::YAMLish::Writer'=> '3.17',
- 'Term::ANSIColor' => '2.00',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.04',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.92',
- 'Test::Builder::Module' => '0.92',
- 'Test::Builder::Tester' => '1.18',
- 'Test::Builder::Tester::Color'=> '1.18',
- 'Test::Harness' => '3.17',
- 'Test::More' => '0.92',
- 'Test::Simple' => '0.92',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.0.0',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.09',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.03',
- 'Tie::Hash::NamedCapture'=> '0.06',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.01',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9719',
- 'Time::Local' => '1.1901',
- 'Time::Piece' => '1.15',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.05',
- 'Unicode' => '5.1.0',
- 'Unicode::Collate' => '0.52',
- 'Unicode::Normalize' => '1.03',
- 'Unicode::UCD' => '0.27',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'Win32' => '0.39',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.15',
- 'XS::Typemap' => '0.03',
- 'XSLoader' => '0.10',
- 'attributes' => '0.09',
- 'attrs' => '1.03',
- 'autodie' => '2.06_01',
- 'autodie::exception' => '2.06_01',
- 'autodie::exception::system'=> '2.06_01',
- 'autodie::hints' => '2.06_01',
- 'autouse' => '1.06',
- 'base' => '2.14',
- 'bigint' => '0.23',
- 'bignum' => '0.23',
- 'bigrat' => '0.23',
- 'blib' => '1.04',
- 'bytes' => '1.03',
- 'charnames' => '1.07',
- 'constant' => '1.17',
- 'diagnostics' => '1.17',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.13',
- 'fields' => '2.14',
- 'filetest' => '1.02',
- 'if' => '0.05',
- 'integer' => '1.00',
- 'less' => '0.02',
- 'lib' => '0.62',
- 'locale' => '1.00',
- 'mro' => '1.01',
- 'open' => '1.07',
- 'ops' => '1.02',
- 'overload' => '1.07',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.221',
- 're' => '0.09',
- 'sigtrap' => '1.04',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.72',
- 'threads::shared' => '1.29',
- 'utf8' => '1.07',
- 'vars' => '1.01',
- 'version' => '0.77',
- 'vmsish' => '1.02',
- 'warnings' => '1.06',
- 'warnings::register' => '1.01',
+ delta_from => 5.01,
+ changed => {
+ 'App::Prove' => '3.17',
+ 'App::Prove::State' => '3.17',
+ 'App::Prove::State::Result'=> '3.17',
+ 'App::Prove::State::Result::Test'=> '3.17',
+ 'Archive::Extract' => '0.34',
+ 'Archive::Tar' => '1.52',
+ 'Attribute::Handlers' => '0.85',
+ 'AutoLoader' => '5.68',
+ 'AutoSplit' => '1.06',
+ 'B' => '1.22',
+ 'B::Concise' => '0.76',
+ 'B::Debug' => '1.11',
+ 'B::Deparse' => '0.89',
+ 'B::Lint' => '1.11',
+ 'B::Lint::Debug' => undef,
+ 'B::Xref' => '1.02',
+ 'Benchmark' => '1.11',
+ 'CGI' => '3.43',
+ 'CGI::Carp' => '1.30_01',
+ 'CGI::Cookie' => '1.29',
+ 'CPAN' => '1.9402',
+ 'CPAN::Author' => '5.5',
+ 'CPAN::Bundle' => '5.5',
+ 'CPAN::CacheMgr' => '5.5',
+ 'CPAN::Complete' => '5.5',
+ 'CPAN::Debug' => '5.5',
+ 'CPAN::DeferredCode' => '5.50',
+ 'CPAN::Distribution' => '1.93',
+ 'CPAN::Distroprefs' => '6',
+ 'CPAN::Distrostatus' => '5.5',
+ 'CPAN::Exception::RecursiveDependency'=> '5.5',
+ 'CPAN::Exception::blocked_urllist'=> '1.0',
+ 'CPAN::Exception::yaml_not_installed'=> '5.5',
+ 'CPAN::FTP' => '5.5001',
+ 'CPAN::FTP::netrc' => '1.00',
+ 'CPAN::FirstTime' => '5.53',
+ 'CPAN::HandleConfig' => '5.5',
+ 'CPAN::Index' => '1.93',
+ 'CPAN::InfoObj' => '5.5',
+ 'CPAN::Kwalify' => '5.50',
+ 'CPAN::LWP::UserAgent' => '1.00',
+ 'CPAN::Module' => '5.5',
+ 'CPAN::Nox' => '5.50',
+ 'CPAN::Prompt' => '5.5',
+ 'CPAN::Queue' => '5.5',
+ 'CPAN::Shell' => '5.5',
+ 'CPAN::Tarzip' => '5.501',
+ 'CPAN::URL' => '5.5',
+ 'CPANPLUS' => '0.88',
+ 'CPANPLUS::Dist::Autobundle'=> undef,
+ 'CPANPLUS::Dist::Base' => undef,
+ 'CPANPLUS::Dist::Build' => '0.36',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.36',
+ 'CPANPLUS::Internals' => '0.88',
+ 'CPANPLUS::Internals::Constants'=> undef,
+ 'CPANPLUS::Internals::Constants::Report'=> undef,
+ 'CPANPLUS::Internals::Source::Memory'=> undef,
+ 'CPANPLUS::Internals::Source::SQLite'=> undef,
+ 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
+ 'CPANPLUS::Shell::Default'=> '0.88',
+ 'Carp' => '1.11',
+ 'Carp::Heavy' => '1.11',
+ 'Compress::Raw::Bzip2' => '2.020',
+ 'Compress::Raw::Zlib' => '2.020',
+ 'Compress::Zlib' => '2.020',
+ 'Cwd' => '3.30',
+ 'DB' => '1.02',
+ 'DBM_Filter::compress' => '0.02',
+ 'DBM_Filter::encode' => '0.02',
+ 'DBM_Filter::int32' => '0.02',
+ 'DBM_Filter::null' => '0.02',
+ 'DBM_Filter::utf8' => '0.02',
+ 'DB_File' => '1.820',
+ 'Data::Dumper' => '2.124',
+ 'Devel::DProf' => '20080331.00',
+ 'Devel::PPPort' => '3.19',
+ 'Devel::Peek' => '1.04',
+ 'Digest' => '1.16',
+ 'Digest::MD5' => '2.39',
+ 'Digest::SHA' => '5.47',
+ 'Digest::base' => '1.16',
+ 'Digest::file' => '1.16',
+ 'DirHandle' => '1.03',
+ 'Dumpvalue' => '1.13',
+ 'DynaLoader' => '1.10',
+ 'Encode' => '2.35',
+ 'Encode::Alias' => '2.12',
+ 'Encode::CN::HZ' => '2.05',
+ 'Encode::Config' => '2.05',
+ 'Encode::GSM0338' => '2.01',
+ 'Encode::Guess' => '2.03',
+ 'Encode::JP::JIS7' => '2.04',
+ 'Encode::MIME::Header' => '2.11',
+ 'Encode::Unicode' => '2.06',
+ 'Errno' => '1.11',
+ 'Exporter' => '5.63',
+ 'Exporter::Heavy' => '5.63',
+ 'ExtUtils::CBuilder' => '0.2602',
+ 'ExtUtils::CBuilder::Base'=> '0.2602',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.2602',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.2602',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.2602',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.2602',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.2602',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.2602',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.2602',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.2602',
+ 'ExtUtils::Command' => '1.16',
+ 'ExtUtils::Command::MM' => '6.55_02',
+ 'ExtUtils::Constant' => '0.22',
+ 'ExtUtils::Constant::ProxySubs'=> '0.06',
+ 'ExtUtils::Constant::Utils'=> '0.02',
+ 'ExtUtils::Constant::XS'=> '0.03',
+ 'ExtUtils::Embed' => '1.28',
+ 'ExtUtils::Install' => '1.54',
+ 'ExtUtils::Installed' => '1.999_001',
+ 'ExtUtils::Liblist' => '6.55_02',
+ 'ExtUtils::Liblist::Kid'=> '6.5502',
+ 'ExtUtils::MM' => '6.55_02',
+ 'ExtUtils::MM_AIX' => '6.55_02',
+ 'ExtUtils::MM_Any' => '6.55_02',
+ 'ExtUtils::MM_BeOS' => '6.55_02',
+ 'ExtUtils::MM_Cygwin' => '6.55_02',
+ 'ExtUtils::MM_DOS' => '6.5502',
+ 'ExtUtils::MM_Darwin' => '6.55_02',
+ 'ExtUtils::MM_MacOS' => '6.5502',
+ 'ExtUtils::MM_NW5' => '6.55_02',
+ 'ExtUtils::MM_OS2' => '6.55_02',
+ 'ExtUtils::MM_QNX' => '6.55_02',
+ 'ExtUtils::MM_UWIN' => '6.5502',
+ 'ExtUtils::MM_Unix' => '6.55_02',
+ 'ExtUtils::MM_VMS' => '6.55_02',
+ 'ExtUtils::MM_VOS' => '6.55_02',
+ 'ExtUtils::MM_Win32' => '6.55_02',
+ 'ExtUtils::MM_Win95' => '6.55_02',
+ 'ExtUtils::MY' => '6.5502',
+ 'ExtUtils::MakeMaker' => '6.55_02',
+ 'ExtUtils::MakeMaker::Config'=> '6.55_02',
+ 'ExtUtils::Manifest' => '1.56',
+ 'ExtUtils::Mkbootstrap' => '6.55_02',
+ 'ExtUtils::Mksymlists' => '6.55_02',
+ 'ExtUtils::ParseXS' => '2.2002',
+ 'ExtUtils::testlib' => '6.5502',
+ 'Fatal' => '2.06_01',
+ 'File::Basename' => '2.77',
+ 'File::CheckTree' => '4.4',
+ 'File::Compare' => '1.1006',
+ 'File::Copy' => '2.14',
+ 'File::DosGlob' => '1.01',
+ 'File::Fetch' => '0.20',
+ 'File::Find' => '1.14',
+ 'File::GlobMapper' => '1.000',
+ 'File::Path' => '2.07_03',
+ 'File::Spec' => '3.30',
+ 'File::Spec::Cygwin' => '3.30',
+ 'File::Spec::Epoc' => '3.30',
+ 'File::Spec::Functions' => '3.30',
+ 'File::Spec::Mac' => '3.30',
+ 'File::Spec::OS2' => '3.30',
+ 'File::Spec::Unix' => '3.30',
+ 'File::Spec::VMS' => '3.30',
+ 'File::Spec::Win32' => '3.30',
+ 'File::Temp' => '0.22',
+ 'File::stat' => '1.01',
+ 'FileCache' => '1.08',
+ 'FileHandle' => '2.02',
+ 'Filter::Simple' => '0.84',
+ 'Filter::Util::Call' => '1.08',
+ 'FindBin' => '1.50',
+ 'GDBM_File' => '1.09',
+ 'Getopt::Long' => '2.38',
+ 'Getopt::Std' => '1.06',
+ 'Hash::Util::FieldHash' => '1.04',
+ 'I18N::Collate' => '1.01',
+ 'IO' => '1.25',
+ 'IO::Compress::Adapter::Bzip2'=> '2.020',
+ 'IO::Compress::Adapter::Deflate'=> '2.020',
+ 'IO::Compress::Adapter::Identity'=> '2.020',
+ 'IO::Compress::Base' => '2.020',
+ 'IO::Compress::Base::Common'=> '2.020',
+ 'IO::Compress::Bzip2' => '2.020',
+ 'IO::Compress::Deflate' => '2.020',
+ 'IO::Compress::Gzip' => '2.020',
+ 'IO::Compress::Gzip::Constants'=> '2.020',
+ 'IO::Compress::RawDeflate'=> '2.020',
+ 'IO::Compress::Zip' => '2.020',
+ 'IO::Compress::Zip::Constants'=> '2.020',
+ 'IO::Compress::Zlib::Constants'=> '2.020',
+ 'IO::Compress::Zlib::Extra'=> '2.020',
+ 'IO::Dir' => '1.07',
+ 'IO::Handle' => '1.28',
+ 'IO::Socket' => '1.31',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.020',
+ 'IO::Uncompress::Adapter::Identity'=> '2.020',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.020',
+ 'IO::Uncompress::AnyInflate'=> '2.020',
+ 'IO::Uncompress::AnyUncompress'=> '2.020',
+ 'IO::Uncompress::Base' => '2.020',
+ 'IO::Uncompress::Bunzip2'=> '2.020',
+ 'IO::Uncompress::Gunzip'=> '2.020',
+ 'IO::Uncompress::Inflate'=> '2.020',
+ 'IO::Uncompress::RawInflate'=> '2.020',
+ 'IO::Uncompress::Unzip' => '2.020',
+ 'IO::Zlib' => '1.09',
+ 'IPC::Cmd' => '0.46',
+ 'IPC::Msg' => '2.01',
+ 'IPC::Open2' => '1.03',
+ 'IPC::Open3' => '1.04',
+ 'IPC::Semaphore' => '2.01',
+ 'IPC::SharedMem' => '2.01',
+ 'IPC::SysV' => '2.01',
+ 'List::Util' => '1.21',
+ 'List::Util::PP' => '1.21',
+ 'List::Util::XS' => '1.21',
+ 'Locale::Maketext' => '1.13',
+ 'Locale::Maketext::Guts'=> '1.13',
+ 'Locale::Maketext::GutsLoader'=> '1.13',
+ 'Log::Message' => '0.02',
+ 'MIME::Base64' => '3.08',
+ 'MIME::QuotedPrint' => '3.08',
+ 'Math::BigFloat' => '1.60',
+ 'Math::BigInt' => '1.89',
+ 'Math::BigInt::FastCalc'=> '0.19',
+ 'Math::BigRat' => '0.22',
+ 'Math::Complex' => '1.56',
+ 'Math::Trig' => '1.2',
+ 'Memoize' => '1.01_03',
+ 'Module::Build' => '0.340201',
+ 'Module::Build::Base' => '0.340201',
+ 'Module::Build::Compat' => '0.340201',
+ 'Module::Build::Config' => '0.340201',
+ 'Module::Build::Cookbook'=> '0.340201',
+ 'Module::Build::Dumper' => '0.340201',
+ 'Module::Build::ModuleInfo'=> '0.340201',
+ 'Module::Build::Notes' => '0.340201',
+ 'Module::Build::PPMMaker'=> '0.340201',
+ 'Module::Build::Platform::Amiga'=> '0.340201',
+ 'Module::Build::Platform::Default'=> '0.340201',
+ 'Module::Build::Platform::EBCDIC'=> '0.340201',
+ 'Module::Build::Platform::MPEiX'=> '0.340201',
+ 'Module::Build::Platform::MacOS'=> '0.340201',
+ 'Module::Build::Platform::RiscOS'=> '0.340201',
+ 'Module::Build::Platform::Unix'=> '0.340201',
+ 'Module::Build::Platform::VMS'=> '0.340201',
+ 'Module::Build::Platform::VOS'=> '0.340201',
+ 'Module::Build::Platform::Windows'=> '0.340201',
+ 'Module::Build::Platform::aix'=> '0.340201',
+ 'Module::Build::Platform::cygwin'=> '0.340201',
+ 'Module::Build::Platform::darwin'=> '0.340201',
+ 'Module::Build::Platform::os2'=> '0.340201',
+ 'Module::Build::PodParser'=> '0.340201',
+ 'Module::Build::Version'=> '0.77',
+ 'Module::CoreList' => '2.18',
+ 'Module::Load' => '0.16',
+ 'Module::Load::Conditional'=> '0.30',
+ 'Module::Loaded' => '0.02',
+ 'Module::Pluggable' => '3.9',
+ 'Module::Pluggable::Object'=> '3.9',
+ 'NDBM_File' => '1.08',
+ 'NEXT' => '0.64',
+ 'Net::Ping' => '2.36',
+ 'O' => '1.01',
+ 'Object::Accessor' => '0.34',
+ 'POSIX' => '1.17',
+ 'Package::Constants' => '0.02',
+ 'Parse::CPAN::Meta' => '1.39',
+ 'PerlIO' => '1.06',
+ 'PerlIO::encoding' => '0.11',
+ 'PerlIO::scalar' => '0.07',
+ 'PerlIO::via' => '0.07',
+ 'Pod::Checker' => '1.45',
+ 'Pod::Find' => '1.35',
+ 'Pod::Html' => '1.09',
+ 'Pod::InputObjects' => '1.31',
+ 'Pod::Man' => '2.22',
+ 'Pod::ParseLink' => '1.09',
+ 'Pod::ParseUtils' => '1.36',
+ 'Pod::Parser' => '1.37',
+ 'Pod::Perldoc' => '3.14_04',
+ 'Pod::PlainText' => '2.04',
+ 'Pod::Select' => '1.36',
+ 'Pod::Simple' => '3.07',
+ 'Pod::Simple::XHTML' => '3.04',
+ 'Pod::Text' => '3.13',
+ 'Pod::Text::Color' => '2.05',
+ 'Pod::Text::Overstrike' => '2.03',
+ 'Pod::Text::Termcap' => '2.05',
+ 'Pod::Usage' => '1.36',
+ 'Safe' => '2.18',
+ 'Scalar::Util' => '1.21',
+ 'Scalar::Util::PP' => '1.21',
+ 'SelectSaver' => '1.02',
+ 'SelfLoader' => '1.17',
+ 'Socket' => '1.82',
+ 'Storable' => '2.20',
+ 'Switch' => '2.14',
+ 'Symbol' => '1.07',
+ 'Sys::Syslog' => '0.27',
+ 'TAP::Base' => '3.17',
+ 'TAP::Formatter::Base' => '3.17',
+ 'TAP::Formatter::Color' => '3.17',
+ 'TAP::Formatter::Console'=> '3.17',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.17',
+ 'TAP::Formatter::Console::Session'=> '3.17',
+ 'TAP::Formatter::File' => '3.17',
+ 'TAP::Formatter::File::Session'=> '3.17',
+ 'TAP::Formatter::Session'=> '3.17',
+ 'TAP::Harness' => '3.17',
+ 'TAP::Object' => '3.17',
+ 'TAP::Parser' => '3.17',
+ 'TAP::Parser::Aggregator'=> '3.17',
+ 'TAP::Parser::Grammar' => '3.17',
+ 'TAP::Parser::Iterator' => '3.17',
+ 'TAP::Parser::Iterator::Array'=> '3.17',
+ 'TAP::Parser::Iterator::Process'=> '3.17',
+ 'TAP::Parser::Iterator::Stream'=> '3.17',
+ 'TAP::Parser::IteratorFactory'=> '3.17',
+ 'TAP::Parser::Multiplexer'=> '3.17',
+ 'TAP::Parser::Result' => '3.17',
+ 'TAP::Parser::Result::Bailout'=> '3.17',
+ 'TAP::Parser::Result::Comment'=> '3.17',
+ 'TAP::Parser::Result::Plan'=> '3.17',
+ 'TAP::Parser::Result::Pragma'=> '3.17',
+ 'TAP::Parser::Result::Test'=> '3.17',
+ 'TAP::Parser::Result::Unknown'=> '3.17',
+ 'TAP::Parser::Result::Version'=> '3.17',
+ 'TAP::Parser::Result::YAML'=> '3.17',
+ 'TAP::Parser::ResultFactory'=> '3.17',
+ 'TAP::Parser::Scheduler'=> '3.17',
+ 'TAP::Parser::Scheduler::Job'=> '3.17',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.17',
+ 'TAP::Parser::Source' => '3.17',
+ 'TAP::Parser::Source::Perl'=> '3.17',
+ 'TAP::Parser::Utils' => '3.17',
+ 'TAP::Parser::YAMLish::Reader'=> '3.17',
+ 'TAP::Parser::YAMLish::Writer'=> '3.17',
+ 'Term::ANSIColor' => '2.00',
+ 'Term::ReadLine' => '1.04',
+ 'Term::UI' => '0.20',
+ 'Test' => '1.25_02',
+ 'Test::Builder' => '0.92',
+ 'Test::Builder::Module' => '0.92',
+ 'Test::Builder::Tester' => '1.18',
+ 'Test::Builder::Tester::Color'=> '1.18',
+ 'Test::Harness' => '3.17',
+ 'Test::More' => '0.92',
+ 'Test::Simple' => '0.92',
+ 'Text::ParseWords' => '3.27',
+ 'Text::Tabs' => '2009.0305',
+ 'Text::Wrap' => '2009.0305',
+ 'Thread::Queue' => '2.11',
+ 'Thread::Semaphore' => '2.09',
+ 'Tie::Handle' => '4.2',
+ 'Tie::Hash' => '1.03',
+ 'Tie::RefHash' => '1.38',
+ 'Tie::Scalar' => '1.01',
+ 'Tie::StdHandle' => '4.2',
+ 'Time::HiRes' => '1.9719',
+ 'Time::Local' => '1.1901',
+ 'Time::Piece' => '1.15',
+ 'UNIVERSAL' => '1.05',
+ 'Unicode' => '5.1.0',
+ 'Unicode::Normalize' => '1.03',
+ 'Unicode::UCD' => '0.27',
+ 'VMS::Stdio' => '2.4',
+ 'Win32' => '0.39',
+ 'Win32API::File' => '0.1101',
+ 'XS::APItest' => '0.15',
+ 'XS::Typemap' => '0.03',
+ 'XSLoader' => '0.10',
+ 'attributes' => '0.09',
+ 'attrs' => '1.03',
+ 'autodie' => '2.06_01',
+ 'autodie::exception' => '2.06_01',
+ 'autodie::exception::system'=> '2.06_01',
+ 'autodie::hints' => '2.06_01',
+ 'base' => '2.14',
+ 'bigint' => '0.23',
+ 'bignum' => '0.23',
+ 'bigrat' => '0.23',
+ 'blib' => '1.04',
+ 'charnames' => '1.07',
+ 'constant' => '1.17',
+ 'encoding' => '2.6_01',
+ 'feature' => '1.13',
+ 'fields' => '2.14',
+ 'lib' => '0.62',
+ 'mro' => '1.01',
+ 'open' => '1.07',
+ 'ops' => '1.02',
+ 'overload' => '1.07',
+ 'overload::numbers' => undef,
+ 'overloading' => '0.01',
+ 'parent' => '0.221',
+ 're' => '0.09',
+ 'threads' => '1.72',
+ 'threads::shared' => '1.29',
+ 'version' => '0.77',
+ },
+ removed => {
+ 'CPAN::API::HOWTO' => 1,
+ 'CPAN::DeferedCode' => 1,
+ 'CPANPLUS::inc' => 1,
+ 'ExtUtils::MakeMaker::bytes'=> 1,
+ 'ExtUtils::MakeMaker::vmsish'=> 1,
+ 'Test::Harness::Assert' => 1,
+ 'Test::Harness::Iterator'=> 1,
+ 'Test::Harness::Point' => 1,
+ 'Test::Harness::Results'=> 1,
+ 'Test::Harness::Straps' => 1,
+ 'Test::Harness::Util' => 1,
+ }
},
-
- 5.011000 => {
- 'AnyDBM_File' => '1.00',
- 'App::Prove' => '3.17',
- 'App::Prove::State' => '3.17',
- 'App::Prove::State::Result'=> '3.17',
- 'App::Prove::State::Result::Test'=> '3.17',
- 'Archive::Extract' => '0.34',
- 'Archive::Tar' => '1.54',
- 'Archive::Tar::Constant'=> '0.02',
- 'Archive::Tar::File' => '0.02',
- 'Attribute::Handlers' => '0.87',
- 'AutoLoader' => '5.70',
- 'AutoSplit' => '1.06',
- 'B' => '1.22',
- 'B::Concise' => '0.76',
- 'B::Debug' => '1.11',
- 'B::Deparse' => '0.91',
- 'B::Lint' => '1.11_01',
- 'B::Lint::Debug' => '0.01',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.45',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.45',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.07',
- 'CGI::Pretty' => '3.44',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.45',
- 'CPAN' => '1.94_51',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.94',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5002',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.53',
- 'CPAN::HandleConfig' => '5.5',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5',
- 'CPAN::Shell' => '5.5',
- 'CPAN::Tarzip' => '5.501',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5',
- 'CPANPLUS' => '0.88',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.40',
- 'CPANPLUS::Dist::Build::Constants'=> '0.40',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.88',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.88',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.12',
- 'Carp::Heavy' => '1.12',
- 'Class::ISA' => '0.36',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.021',
- 'Compress::Raw::Zlib' => '2.021',
- 'Compress::Zlib' => '2.021',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.3002',
- 'DB' => '1.02',
- 'DBM_Filter' => '0.02',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'Data::Dumper' => '2.125',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.04',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.39',
- 'Digest::SHA' => '5.47',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.13',
- 'DynaLoader' => '1.10',
- 'Encode' => '2.37',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.03',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.02',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.03',
- 'Encode::JP' => '2.03',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.02',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.11',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.02',
- 'Encode::Unicode' => '2.06',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.04',
- 'Env' => '1.00',
- 'Errno' => '1.11',
- 'Exporter' => '5.64',
- 'Exporter::Heavy' => '5.64',
- 'ExtUtils::CBuilder' => '0.2602',
- 'ExtUtils::CBuilder::Base'=> '0.2602',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.2602',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.2602',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.2602',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.2602',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.2602',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.2602',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.2602',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.2602',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.55_02',
- 'ExtUtils::Constant' => '0.22',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.06',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.28',
- 'ExtUtils::Install' => '1.54',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.55_02',
- 'ExtUtils::Liblist::Kid'=> '6.5502',
- 'ExtUtils::MM' => '6.55_02',
- 'ExtUtils::MM_AIX' => '6.55_02',
- 'ExtUtils::MM_Any' => '6.55_02',
- 'ExtUtils::MM_BeOS' => '6.55_02',
- 'ExtUtils::MM_Cygwin' => '6.55_02',
- 'ExtUtils::MM_DOS' => '6.5502',
- 'ExtUtils::MM_Darwin' => '6.55_02',
- 'ExtUtils::MM_MacOS' => '6.5502',
- 'ExtUtils::MM_NW5' => '6.55_02',
- 'ExtUtils::MM_OS2' => '6.55_02',
- 'ExtUtils::MM_QNX' => '6.55_02',
- 'ExtUtils::MM_UWIN' => '6.5502',
- 'ExtUtils::MM_Unix' => '6.55_02',
- 'ExtUtils::MM_VMS' => '6.55_02',
- 'ExtUtils::MM_VOS' => '6.55_02',
- 'ExtUtils::MM_Win32' => '6.55_02',
- 'ExtUtils::MM_Win95' => '6.55_02',
- 'ExtUtils::MY' => '6.5502',
- 'ExtUtils::MakeMaker' => '6.55_02',
- 'ExtUtils::MakeMaker::Config'=> '6.55_02',
- 'ExtUtils::Manifest' => '1.56',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.55_02',
- 'ExtUtils::Mksymlists' => '6.55_02',
- 'ExtUtils::Packlist' => '1.43',
- 'ExtUtils::ParseXS' => '2.200403',
- 'ExtUtils::XSSymSet' => '1.1',
- 'ExtUtils::testlib' => '6.5502',
- 'Fatal' => '2.06_01',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.78',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.16',
- 'File::DosGlob' => '1.01',
- 'File::Fetch' => '0.20',
- 'File::Find' => '1.14',
- 'File::Glob' => '1.06',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.07_03',
- 'File::Spec' => '3.30',
- 'File::Spec::Cygwin' => '3.30',
- 'File::Spec::Epoc' => '3.30',
- 'File::Spec::Functions' => '3.30',
- 'File::Spec::Mac' => '3.30',
- 'File::Spec::OS2' => '3.30',
- 'File::Spec::Unix' => '3.30',
- 'File::Spec::VMS' => '3.30',
- 'File::Spec::Win32' => '3.30',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.02',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'VMS::Filespec' => '1.12',
- 'Filter::Simple' => '0.84',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.09',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.07',
- 'Hash::Util::FieldHash' => '1.04',
- 'I18N::Collate' => '1.01',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.03',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.02',
- 'IO' => '1.25_01',
- 'IO::Compress::Adapter::Bzip2'=> '2.021',
- 'IO::Compress::Adapter::Deflate'=> '2.021',
- 'IO::Compress::Adapter::Identity'=> '2.021',
- 'IO::Compress::Base' => '2.021',
- 'IO::Compress::Base::Common'=> '2.021',
- 'IO::Compress::Bzip2' => '2.021',
- 'IO::Compress::Deflate' => '2.021',
- 'IO::Compress::Gzip' => '2.021',
- 'IO::Compress::Gzip::Constants'=> '2.021',
- 'IO::Compress::RawDeflate'=> '2.021',
- 'IO::Compress::Zip' => '2.021',
- 'IO::Compress::Zip::Constants'=> '2.021',
- 'IO::Compress::Zlib::Constants'=> '2.021',
- 'IO::Compress::Zlib::Extra'=> '2.021',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.31',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.021',
- 'IO::Uncompress::Adapter::Identity'=> '2.021',
- 'IO::Uncompress::Adapter::Inflate'=> '2.021',
- 'IO::Uncompress::AnyInflate'=> '2.021',
- 'IO::Uncompress::AnyUncompress'=> '2.021',
- 'IO::Uncompress::Base' => '2.021',
- 'IO::Uncompress::Bunzip2'=> '2.021',
- 'IO::Uncompress::Gunzip'=> '2.021',
- 'IO::Uncompress::Inflate'=> '2.021',
- 'IO::Uncompress::RawInflate'=> '2.021',
- 'IO::Uncompress::Unzip' => '2.021',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.50',
- 'IPC::Msg' => '2.01',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.05',
- 'IPC::Semaphore' => '2.01',
- 'IPC::SharedMem' => '2.01',
- 'IPC::SysV' => '2.01',
- 'List::Util' => '1.21',
- 'List::Util::PP' => '1.21',
- 'List::Util::XS' => '1.21',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.13',
- 'Locale::Maketext::Guts'=> '1.13',
- 'Locale::Maketext::GutsLoader'=> '1.13',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '2.07',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.06',
- 'MIME::Base64' => '3.08',
- 'MIME::QuotedPrint' => '3.08',
- 'Math::BigFloat' => '1.60',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.89_01',
- 'Math::BigInt::Calc' => '0.52',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.19',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.24',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.01_03',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.35',
- 'Module::Build::Base' => '0.35',
- 'Module::Build::Compat' => '0.35',
- 'Module::Build::Config' => '0.35',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.35',
- 'Module::Build::Dumper' => '0.35',
- 'Module::Build::ModuleInfo'=> '0.35',
- 'Module::Build::Notes' => '0.35',
- 'Module::Build::PPMMaker'=> '0.35',
- 'Module::Build::Platform::Amiga'=> '0.35',
- 'Module::Build::Platform::Default'=> '0.35',
- 'Module::Build::Platform::EBCDIC'=> '0.35',
- 'Module::Build::Platform::MPEiX'=> '0.35',
- 'Module::Build::Platform::MacOS'=> '0.35',
- 'Module::Build::Platform::RiscOS'=> '0.35',
- 'Module::Build::Platform::Unix'=> '0.35',
- 'Module::Build::Platform::VMS'=> '0.35',
- 'Module::Build::Platform::VOS'=> '0.35',
- 'Module::Build::Platform::Windows'=> '0.35',
- 'Module::Build::Platform::aix'=> '0.35',
- 'Module::Build::Platform::cygwin'=> '0.35',
- 'Module::Build::Platform::darwin'=> '0.35',
- 'Module::Build::Platform::os2'=> '0.35',
- 'Module::Build::PodParser'=> '0.35',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '0.50',
- 'Module::CoreList' => '2.19',
- 'Module::Load' => '0.16',
- 'Module::Load::Conditional'=> '0.30',
- 'Module::Loaded' => '0.06',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.08',
- 'NEXT' => '0.64',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.36',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.07',
- 'Object::Accessor' => '0.34',
- 'Opcode' => '1.13',
- 'POSIX' => '1.17',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.39',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.11',
- 'PerlIO::scalar' => '0.07',
- 'PerlIO::via' => '0.08',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.03',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.22',
- 'Pod::ParseLink' => '1.09',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_01',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Plainer' => '1.01',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.07',
- 'Pod::Simple::BlackBox' => undef,
- 'Pod::Simple::Checker' => '2.02',
- 'Pod::Simple::Debug' => undef,
- 'Pod::Simple::DumpAsText'=> '2.02',
- 'Pod::Simple::DumpAsXML'=> '2.02',
- 'Pod::Simple::HTML' => '3.03',
- 'Pod::Simple::HTMLBatch'=> '3.02',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> undef,
- 'Pod::Simple::Methody' => '2.02',
- 'Pod::Simple::Progress' => '1.01',
- 'Pod::Simple::PullParser'=> '2.02',
- 'Pod::Simple::PullParserEndToken'=> undef,
- 'Pod::Simple::PullParserStartToken'=> undef,
- 'Pod::Simple::PullParserTextToken'=> undef,
- 'Pod::Simple::PullParserToken'=> '2.02',
- 'Pod::Simple::RTF' => '2.02',
- 'Pod::Simple::Search' => '3.04',
- 'Pod::Simple::SimpleTree'=> '2.02',
- 'Pod::Simple::Text' => '2.02',
- 'Pod::Simple::TextContent'=> '2.02',
- 'Pod::Simple::TiedOutFH'=> undef,
- 'Pod::Simple::Transcode'=> undef,
- 'Pod::Simple::TranscodeDumb'=> '2.02',
- 'Pod::Simple::TranscodeSmart'=> undef,
- 'Pod::Simple::XHTML' => '3.04',
- 'Pod::Simple::XMLOutStream'=> '2.02',
- 'Pod::Text' => '3.13',
- 'Pod::Text::Color' => '2.05',
- 'Pod::Text::Overstrike' => '2.03',
- 'Pod::Text::Termcap' => '2.05',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.19',
- 'Scalar::Util' => '1.21',
- 'Scalar::Util::PP' => '1.21',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.17',
- 'Shell' => '0.72_01',
- 'Socket' => '1.84',
- 'Storable' => '2.20',
- 'Switch' => '2.14_01',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.17',
- 'TAP::Formatter::Base' => '3.17',
- 'TAP::Formatter::Color' => '3.17',
- 'TAP::Formatter::Console'=> '3.17',
- 'TAP::Formatter::Console::ParallelSession'=> '3.17',
- 'TAP::Formatter::Console::Session'=> '3.17',
- 'TAP::Formatter::File' => '3.17',
- 'TAP::Formatter::File::Session'=> '3.17',
- 'TAP::Formatter::Session'=> '3.17',
- 'TAP::Harness' => '3.17',
- 'TAP::Object' => '3.17',
- 'TAP::Parser' => '3.17',
- 'TAP::Parser::Aggregator'=> '3.17',
- 'TAP::Parser::Grammar' => '3.17',
- 'TAP::Parser::Iterator' => '3.17',
- 'TAP::Parser::Iterator::Array'=> '3.17',
- 'TAP::Parser::Iterator::Process'=> '3.17',
- 'TAP::Parser::Iterator::Stream'=> '3.17',
- 'TAP::Parser::IteratorFactory'=> '3.17',
- 'TAP::Parser::Multiplexer'=> '3.17',
- 'TAP::Parser::Result' => '3.17',
- 'TAP::Parser::Result::Bailout'=> '3.17',
- 'TAP::Parser::Result::Comment'=> '3.17',
- 'TAP::Parser::Result::Plan'=> '3.17',
- 'TAP::Parser::Result::Pragma'=> '3.17',
- 'TAP::Parser::Result::Test'=> '3.17',
- 'TAP::Parser::Result::Unknown'=> '3.17',
- 'TAP::Parser::Result::Version'=> '3.17',
- 'TAP::Parser::Result::YAML'=> '3.17',
- 'TAP::Parser::ResultFactory'=> '3.17',
- 'TAP::Parser::Scheduler'=> '3.17',
- 'TAP::Parser::Scheduler::Job'=> '3.17',
- 'TAP::Parser::Scheduler::Spinner'=> '3.17',
- 'TAP::Parser::Source' => '3.17',
- 'TAP::Parser::Source::Perl'=> '3.17',
- 'TAP::Parser::Utils' => '3.17',
- 'TAP::Parser::YAMLish::Reader'=> '3.17',
- 'TAP::Parser::YAMLish::Writer'=> '3.17',
- 'Term::ANSIColor' => '2.02',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.05',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.92',
- 'Test::Builder::Module' => '0.92',
- 'Test::Builder::Tester' => '1.18',
- 'Test::Builder::Tester::Color'=> '1.18',
- 'Test::Harness' => '3.17',
- 'Test::More' => '0.92',
- 'Test::Simple' => '0.92',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.09',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.03',
- 'Tie::Hash::NamedCapture'=> '0.06',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.01',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9719',
- 'Time::Local' => '1.1901_01',
- 'Time::Piece' => '1.15',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.05',
- 'Unicode' => '5.1.0',
- 'Unicode::Collate' => '0.52_01',
- 'Unicode::Normalize' => '1.03',
- 'Unicode::UCD' => '0.27',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.03',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.39',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.15',
- 'XS::Typemap' => '0.03',
- 'XSLoader' => '0.10',
- 'XSLoader::XSLoader' => '0.10',
- 'attributes' => '0.12',
- 'autodie' => '2.06_01',
- 'autodie::exception' => '2.06_01',
- 'autodie::exception::system'=> '2.06_01',
- 'autodie::hints' => '2.06_01',
- 'autouse' => '1.06',
- 'base' => '2.14',
- 'bigint' => '0.23',
- 'bignum' => '0.23',
- 'bigrat' => '0.23',
- 'blib' => '1.04',
- 'bytes' => '1.03',
- 'charnames' => '1.07',
- 'constant' => '1.19',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.17',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.13',
- 'fields' => '2.14',
- 'filetest' => '1.02',
- 'if' => '0.05',
- 'integer' => '1.00',
- 'less' => '0.02',
- 'lib' => '0.62',
- 'locale' => '1.00',
- 'mro' => '1.01',
- 'open' => '1.07',
- 'ops' => '1.02',
- 'overload' => '1.08',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.223',
- 're' => '0.10',
- 'sigtrap' => '1.04',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.74',
- 'threads::shared' => '1.31',
- 'utf8' => '1.07',
- 'vars' => '1.01',
- 'version' => '0.77',
- 'vmsish' => '1.02',
- 'warnings' => '1.07',
- 'warnings::register' => '1.01',
+ 5.011 => {
+ delta_from => 5.010001,
+ changed => {
+ 'Archive::Tar' => '1.54',
+ 'Attribute::Handlers' => '0.87',
+ 'AutoLoader' => '5.70',
+ 'B::Deparse' => '0.91',
+ 'B::Lint' => '1.11_01',
+ 'B::Lint::Debug' => '0.01',
+ 'CGI' => '3.45',
+ 'CGI::Apache' => '1.01',
+ 'CGI::Carp' => '3.45',
+ 'CGI::Pretty' => '3.44',
+ 'CGI::Switch' => '1.01',
+ 'CGI::Util' => '3.45',
+ 'CPAN' => '1.94_51',
+ 'CPAN::Distribution' => '1.94',
+ 'CPAN::FTP' => '5.5002',
+ 'CPAN::Index' => '1.94',
+ 'CPAN::LWP::UserAgent' => '1.94',
+ 'CPANPLUS::Dist::Build' => '0.40',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.40',
+ 'Carp' => '1.12',
+ 'Carp::Heavy' => '1.12',
+ 'Class::ISA' => '0.36',
+ 'Compress::Raw::Bzip2' => '2.021',
+ 'Compress::Raw::Zlib' => '2.021',
+ 'Compress::Zlib' => '2.021',
+ 'Cwd' => '3.3002',
+ 'Data::Dumper' => '2.125',
+ 'Encode' => '2.37',
+ 'Exporter' => '5.64',
+ 'Exporter::Heavy' => '5.64',
+ 'ExtUtils::ParseXS' => '2.200403',
+ 'File::Basename' => '2.78',
+ 'File::Copy' => '2.16',
+ 'File::stat' => '1.02',
+ 'IO' => '1.25_01',
+ 'IO::Compress::Adapter::Bzip2'=> '2.021',
+ 'IO::Compress::Adapter::Deflate'=> '2.021',
+ 'IO::Compress::Adapter::Identity'=> '2.021',
+ 'IO::Compress::Base' => '2.021',
+ 'IO::Compress::Base::Common'=> '2.021',
+ 'IO::Compress::Bzip2' => '2.021',
+ 'IO::Compress::Deflate' => '2.021',
+ 'IO::Compress::Gzip' => '2.021',
+ 'IO::Compress::Gzip::Constants'=> '2.021',
+ 'IO::Compress::RawDeflate'=> '2.021',
+ 'IO::Compress::Zip' => '2.021',
+ 'IO::Compress::Zip::Constants'=> '2.021',
+ 'IO::Compress::Zlib::Constants'=> '2.021',
+ 'IO::Compress::Zlib::Extra'=> '2.021',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.021',
+ 'IO::Uncompress::Adapter::Identity'=> '2.021',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.021',
+ 'IO::Uncompress::AnyInflate'=> '2.021',
+ 'IO::Uncompress::AnyUncompress'=> '2.021',
+ 'IO::Uncompress::Base' => '2.021',
+ 'IO::Uncompress::Bunzip2'=> '2.021',
+ 'IO::Uncompress::Gunzip'=> '2.021',
+ 'IO::Uncompress::Inflate'=> '2.021',
+ 'IO::Uncompress::RawInflate'=> '2.021',
+ 'IO::Uncompress::Unzip' => '2.021',
+ 'IO::Zlib' => '1.10',
+ 'IPC::Cmd' => '0.50',
+ 'IPC::Open3' => '1.05',
+ 'Locale::Maketext::Simple'=> '0.21',
+ 'Log::Message::Simple' => '0.06',
+ 'Math::BigInt' => '1.89_01',
+ 'Math::BigRat' => '0.24',
+ 'Module::Build' => '0.35',
+ 'Module::Build::Base' => '0.35',
+ 'Module::Build::Compat' => '0.35',
+ 'Module::Build::Config' => '0.35',
+ 'Module::Build::Cookbook'=> '0.35',
+ 'Module::Build::Dumper' => '0.35',
+ 'Module::Build::ModuleInfo'=> '0.35',
+ 'Module::Build::Notes' => '0.35',
+ 'Module::Build::PPMMaker'=> '0.35',
+ 'Module::Build::Platform::Amiga'=> '0.35',
+ 'Module::Build::Platform::Default'=> '0.35',
+ 'Module::Build::Platform::EBCDIC'=> '0.35',
+ 'Module::Build::Platform::MPEiX'=> '0.35',
+ 'Module::Build::Platform::MacOS'=> '0.35',
+ 'Module::Build::Platform::RiscOS'=> '0.35',
+ 'Module::Build::Platform::Unix'=> '0.35',
+ 'Module::Build::Platform::VMS'=> '0.35',
+ 'Module::Build::Platform::VOS'=> '0.35',
+ 'Module::Build::Platform::Windows'=> '0.35',
+ 'Module::Build::Platform::aix'=> '0.35',
+ 'Module::Build::Platform::cygwin'=> '0.35',
+ 'Module::Build::Platform::darwin'=> '0.35',
+ 'Module::Build::Platform::os2'=> '0.35',
+ 'Module::Build::PodParser'=> '0.35',
+ 'Module::CoreList' => '2.19',
+ 'Module::Loaded' => '0.06',
+ 'Opcode' => '1.13',
+ 'PerlIO::via' => '0.08',
+ 'Pod::Perldoc' => '3.15_01',
+ 'Pod::Plainer' => '1.01',
+ 'Safe' => '2.19',
+ 'Socket' => '1.84',
+ 'Switch' => '2.14_01',
+ 'Term::ANSIColor' => '2.02',
+ 'Term::ReadLine' => '1.05',
+ 'Text::Balanced' => '2.02',
+ 'Text::Soundex' => '3.03_01',
+ 'Time::Local' => '1.1901_01',
+ 'Unicode::Collate' => '0.52_01',
+ 'attributes' => '0.12',
+ 'constant' => '1.19',
+ 'deprecate' => '0.01',
+ 'overload' => '1.08',
+ 'parent' => '0.223',
+ 're' => '0.10',
+ 'threads' => '1.74',
+ 'threads::shared' => '1.31',
+ 'warnings' => '1.07',
+ },
+ removed => {
+ 'attrs' => 1,
+ }
},
-
5.011001 => {
- 'AnyDBM_File' => '1.00',
- 'App::Prove' => '3.17',
- 'App::Prove::State' => '3.17',
- 'App::Prove::State::Result'=> '3.17',
- 'App::Prove::State::Result::Test'=> '3.17',
- 'Archive::Extract' => '0.34',
- 'Archive::Tar' => '1.54',
- 'Archive::Tar::Constant'=> '0.02',
- 'Archive::Tar::File' => '0.02',
- 'Attribute::Handlers' => '0.87',
- 'AutoLoader' => '5.70',
- 'AutoSplit' => '1.06',
- 'B' => '1.23',
- 'B::Concise' => '0.77',
- 'B::Debug' => '1.11',
- 'B::Deparse' => '0.92',
- 'B::Lint' => '1.11_01',
- 'B::Lint::Debug' => '0.01',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.48',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.45',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.07',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.48',
- 'CPAN' => '1.94_51',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.94',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5002',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.53',
- 'CPAN::HandleConfig' => '5.5',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5',
- 'CPAN::Shell' => '5.5',
- 'CPAN::Tarzip' => '5.501',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5',
- 'CPANPLUS' => '0.89_03',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.40',
- 'CPANPLUS::Dist::Build::Constants'=> '0.40',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.89_03',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.89_03',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.13',
- 'Carp::Heavy' => '1.13',
- 'Class::ISA' => '0.36',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.021',
- 'Compress::Raw::Zlib' => '2.021',
- 'Compress::Zlib' => '2.021',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.3002',
- 'DB' => '1.02',
- 'DBM_Filter' => '0.02',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'Data::Dumper' => '2.125',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.04',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.39',
- 'Digest::SHA' => '5.47',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.13',
- 'DynaLoader' => '1.10',
- 'Encode' => '2.37',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.03',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.02',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.03',
- 'Encode::JP' => '2.03',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.02',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.11',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.02',
- 'Encode::Unicode' => '2.06',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.04',
- 'Env' => '1.00',
- 'Errno' => '1.11',
- 'Exporter' => '5.64',
- 'Exporter::Heavy' => '5.64',
- 'ExtUtils::CBuilder' => '0.260301',
- 'ExtUtils::CBuilder::Base'=> '0.260301',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.260301',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.260301',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.260301',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.260301',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.260301',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.260301',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.260301',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.260301',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.55_02',
- 'ExtUtils::Constant' => '0.22',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.06',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.28',
- 'ExtUtils::Install' => '1.55',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.55_02',
- 'ExtUtils::Liblist::Kid'=> '6.5502',
- 'ExtUtils::MM' => '6.55_02',
- 'ExtUtils::MM_AIX' => '6.55_02',
- 'ExtUtils::MM_Any' => '6.55_02',
- 'ExtUtils::MM_BeOS' => '6.55_02',
- 'ExtUtils::MM_Cygwin' => '6.55_02',
- 'ExtUtils::MM_DOS' => '6.5502',
- 'ExtUtils::MM_Darwin' => '6.55_02',
- 'ExtUtils::MM_MacOS' => '6.5502',
- 'ExtUtils::MM_NW5' => '6.55_02',
- 'ExtUtils::MM_OS2' => '6.55_02',
- 'ExtUtils::MM_QNX' => '6.55_02',
- 'ExtUtils::MM_UWIN' => '6.5502',
- 'ExtUtils::MM_Unix' => '6.55_02',
- 'ExtUtils::MM_VMS' => '6.55_02',
- 'ExtUtils::MM_VOS' => '6.55_02',
- 'ExtUtils::MM_Win32' => '6.55_02',
- 'ExtUtils::MM_Win95' => '6.55_02',
- 'ExtUtils::MY' => '6.5502',
- 'ExtUtils::MakeMaker' => '6.55_02',
- 'ExtUtils::MakeMaker::Config'=> '6.55_02',
- 'ExtUtils::Manifest' => '1.57',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.55_02',
- 'ExtUtils::Mksymlists' => '6.55_02',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.21',
- 'ExtUtils::XSSymSet' => '1.1',
- 'ExtUtils::testlib' => '6.5502',
- 'Fatal' => '2.06_01',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.78',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.16',
- 'File::DosGlob' => '1.01',
- 'File::Fetch' => '0.20',
- 'File::Find' => '1.14',
- 'File::Glob' => '1.07',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08',
- 'File::Spec' => '3.30',
- 'File::Spec::Cygwin' => '3.30',
- 'File::Spec::Epoc' => '3.30',
- 'File::Spec::Functions' => '3.30',
- 'File::Spec::Mac' => '3.30',
- 'File::Spec::OS2' => '3.30',
- 'File::Spec::Unix' => '3.30',
- 'File::Spec::VMS' => '3.30',
- 'File::Spec::Win32' => '3.30',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.02',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'VMS::Filespec' => '1.12',
- 'Filter::Simple' => '0.84',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.09',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.07',
- 'Hash::Util::FieldHash' => '1.04',
- 'I18N::Collate' => '1.01',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.03',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.02',
- 'IO' => '1.25_02',
- 'IO::Compress::Adapter::Bzip2'=> '2.021',
- 'IO::Compress::Adapter::Deflate'=> '2.021',
- 'IO::Compress::Adapter::Identity'=> '2.021',
- 'IO::Compress::Base' => '2.021',
- 'IO::Compress::Base::Common'=> '2.021',
- 'IO::Compress::Bzip2' => '2.021',
- 'IO::Compress::Deflate' => '2.021',
- 'IO::Compress::Gzip' => '2.021',
- 'IO::Compress::Gzip::Constants'=> '2.021',
- 'IO::Compress::RawDeflate'=> '2.021',
- 'IO::Compress::Zip' => '2.021',
- 'IO::Compress::Zip::Constants'=> '2.021',
- 'IO::Compress::Zlib::Constants'=> '2.021',
- 'IO::Compress::Zlib::Extra'=> '2.021',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.31',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.021',
- 'IO::Uncompress::Adapter::Identity'=> '2.021',
- 'IO::Uncompress::Adapter::Inflate'=> '2.021',
- 'IO::Uncompress::AnyInflate'=> '2.021',
- 'IO::Uncompress::AnyUncompress'=> '2.021',
- 'IO::Uncompress::Base' => '2.021',
- 'IO::Uncompress::Bunzip2'=> '2.021',
- 'IO::Uncompress::Gunzip'=> '2.021',
- 'IO::Uncompress::Inflate'=> '2.021',
- 'IO::Uncompress::RawInflate'=> '2.021',
- 'IO::Uncompress::Unzip' => '2.021',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.50',
- 'IPC::Msg' => '2.01',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.05',
- 'IPC::Semaphore' => '2.01',
- 'IPC::SharedMem' => '2.01',
- 'IPC::SysV' => '2.01',
- 'List::Util' => '1.21',
- 'List::Util::PP' => '1.21',
- 'List::Util::XS' => '1.21',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.13',
- 'Locale::Maketext::Guts'=> '1.13',
- 'Locale::Maketext::GutsLoader'=> '1.13',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '2.07',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.06',
- 'MIME::Base64' => '3.08',
- 'MIME::QuotedPrint' => '3.08',
- 'Math::BigFloat' => '1.60',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.89_01',
- 'Math::BigInt::Calc' => '0.52',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.19',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.24',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.01_03',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.35',
- 'Module::Build::Base' => '0.35',
- 'Module::Build::Compat' => '0.35',
- 'Module::Build::Config' => '0.35',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.35',
- 'Module::Build::Dumper' => '0.35',
- 'Module::Build::ModuleInfo'=> '0.35',
- 'Module::Build::Notes' => '0.35',
- 'Module::Build::PPMMaker'=> '0.35',
- 'Module::Build::Platform::Amiga'=> '0.35',
- 'Module::Build::Platform::Default'=> '0.35',
- 'Module::Build::Platform::EBCDIC'=> '0.35',
- 'Module::Build::Platform::MPEiX'=> '0.35',
- 'Module::Build::Platform::MacOS'=> '0.35',
- 'Module::Build::Platform::RiscOS'=> '0.35',
- 'Module::Build::Platform::Unix'=> '0.35',
- 'Module::Build::Platform::VMS'=> '0.35',
- 'Module::Build::Platform::VOS'=> '0.35',
- 'Module::Build::Platform::Windows'=> '0.35',
- 'Module::Build::Platform::aix'=> '0.35',
- 'Module::Build::Platform::cygwin'=> '0.35',
- 'Module::Build::Platform::darwin'=> '0.35',
- 'Module::Build::Platform::os2'=> '0.35',
- 'Module::Build::PodParser'=> '0.35',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '0.50',
- 'Module::CoreList' => '2.21',
- 'Module::Load' => '0.16',
- 'Module::Load::Conditional'=> '0.30',
- 'Module::Loaded' => '0.06',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.08',
- 'NEXT' => '0.64',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.36',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.07',
- 'Object::Accessor' => '0.36',
- 'Opcode' => '1.15',
- 'POSIX' => '1.18',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.40',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.11',
- 'PerlIO::scalar' => '0.07',
- 'PerlIO::via' => '0.09',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.03',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.22',
- 'Pod::ParseLink' => '1.09',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_01',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Plainer' => '1.01',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.08',
- 'Pod::Simple::BlackBox' => undef,
- 'Pod::Simple::Checker' => '2.02',
- 'Pod::Simple::Debug' => undef,
- 'Pod::Simple::DumpAsText'=> '2.02',
- 'Pod::Simple::DumpAsXML'=> '2.02',
- 'Pod::Simple::HTML' => '3.03',
- 'Pod::Simple::HTMLBatch'=> '3.02',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> undef,
- 'Pod::Simple::Methody' => '2.02',
- 'Pod::Simple::Progress' => '1.01',
- 'Pod::Simple::PullParser'=> '2.02',
- 'Pod::Simple::PullParserEndToken'=> undef,
- 'Pod::Simple::PullParserStartToken'=> undef,
- 'Pod::Simple::PullParserTextToken'=> undef,
- 'Pod::Simple::PullParserToken'=> '2.02',
- 'Pod::Simple::RTF' => '2.02',
- 'Pod::Simple::Search' => '3.04',
- 'Pod::Simple::SimpleTree'=> '2.02',
- 'Pod::Simple::Text' => '2.02',
- 'Pod::Simple::TextContent'=> '2.02',
- 'Pod::Simple::TiedOutFH'=> undef,
- 'Pod::Simple::Transcode'=> undef,
- 'Pod::Simple::TranscodeDumb'=> '2.02',
- 'Pod::Simple::TranscodeSmart'=> undef,
- 'Pod::Simple::XHTML' => '3.04',
- 'Pod::Simple::XMLOutStream'=> '2.02',
- 'Pod::Text' => '3.13',
- 'Pod::Text::Color' => '2.05',
- 'Pod::Text::Overstrike' => '2.03',
- 'Pod::Text::Termcap' => '2.05',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.19',
- 'Scalar::Util' => '1.21',
- 'Scalar::Util::PP' => '1.21',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.17',
- 'Shell' => '0.72_01',
- 'Socket' => '1.85',
- 'Storable' => '2.22',
- 'Switch' => '2.15',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.17',
- 'TAP::Formatter::Base' => '3.17',
- 'TAP::Formatter::Color' => '3.17',
- 'TAP::Formatter::Console'=> '3.17',
- 'TAP::Formatter::Console::ParallelSession'=> '3.17',
- 'TAP::Formatter::Console::Session'=> '3.17',
- 'TAP::Formatter::File' => '3.17',
- 'TAP::Formatter::File::Session'=> '3.17',
- 'TAP::Formatter::Session'=> '3.17',
- 'TAP::Harness' => '3.17',
- 'TAP::Object' => '3.17',
- 'TAP::Parser' => '3.17',
- 'TAP::Parser::Aggregator'=> '3.17',
- 'TAP::Parser::Grammar' => '3.17',
- 'TAP::Parser::Iterator' => '3.17',
- 'TAP::Parser::Iterator::Array'=> '3.17',
- 'TAP::Parser::Iterator::Process'=> '3.17',
- 'TAP::Parser::Iterator::Stream'=> '3.17',
- 'TAP::Parser::IteratorFactory'=> '3.17',
- 'TAP::Parser::Multiplexer'=> '3.17',
- 'TAP::Parser::Result' => '3.17',
- 'TAP::Parser::Result::Bailout'=> '3.17',
- 'TAP::Parser::Result::Comment'=> '3.17',
- 'TAP::Parser::Result::Plan'=> '3.17',
- 'TAP::Parser::Result::Pragma'=> '3.17',
- 'TAP::Parser::Result::Test'=> '3.17',
- 'TAP::Parser::Result::Unknown'=> '3.17',
- 'TAP::Parser::Result::Version'=> '3.17',
- 'TAP::Parser::Result::YAML'=> '3.17',
- 'TAP::Parser::ResultFactory'=> '3.17',
- 'TAP::Parser::Scheduler'=> '3.17',
- 'TAP::Parser::Scheduler::Job'=> '3.17',
- 'TAP::Parser::Scheduler::Spinner'=> '3.17',
- 'TAP::Parser::Source' => '3.17',
- 'TAP::Parser::Source::Perl'=> '3.17',
- 'TAP::Parser::Utils' => '3.17',
- 'TAP::Parser::YAMLish::Reader'=> '3.17',
- 'TAP::Parser::YAMLish::Writer'=> '3.17',
- 'Term::ANSIColor' => '2.02',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.05',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.94',
- 'Test::Builder::Module' => '0.94',
- 'Test::Builder::Tester' => '1.18',
- 'Test::Builder::Tester::Color'=> '1.18',
- 'Test::Harness' => '3.17',
- 'Test::More' => '0.94',
- 'Test::Simple' => '0.94',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.09',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.03',
- 'Tie::Hash::NamedCapture'=> '0.06',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.01',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9719',
- 'Time::Local' => '1.1901_01',
- 'Time::Piece' => '1.15',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.05',
- 'Unicode' => '5.1.0',
- 'Unicode::Collate' => '0.52_01',
- 'Unicode::Normalize' => '1.03',
- 'Unicode::UCD' => '0.27',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.03',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.39',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.16',
- 'XS::Typemap' => '0.03',
- 'XSLoader' => '0.10',
- 'XSLoader::XSLoader' => '0.10',
- 'attributes' => '0.12',
- 'autodie' => '2.06_01',
- 'autodie::exception' => '2.06_01',
- 'autodie::exception::system'=> '2.06_01',
- 'autodie::hints' => '2.06_01',
- 'autouse' => '1.06',
- 'base' => '2.14',
- 'bigint' => '0.23',
- 'bignum' => '0.23',
- 'bigrat' => '0.23',
- 'blib' => '1.04',
- 'bytes' => '1.03',
- 'charnames' => '1.07',
- 'constant' => '1.19',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.17',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.13',
- 'fields' => '2.14',
- 'filetest' => '1.02',
- 'if' => '0.05',
- 'integer' => '1.00',
- 'less' => '0.02',
- 'lib' => '0.62',
- 'locale' => '1.00',
- 'mro' => '1.02',
- 'open' => '1.07',
- 'ops' => '1.02',
- 'overload' => '1.09',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.223',
- 're' => '0.10',
- 'sigtrap' => '1.04',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.74',
- 'threads::shared' => '1.32',
- 'utf8' => '1.07',
- 'vars' => '1.01',
- 'version' => '0.77',
- 'vmsish' => '1.02',
- 'warnings' => '1.07',
- 'warnings::register' => '1.01',
+ delta_from => 5.011,
+ changed => {
+ 'B' => '1.23',
+ 'B::Concise' => '0.77',
+ 'B::Deparse' => '0.92',
+ 'CGI' => '3.48',
+ 'CGI::Pretty' => '3.46',
+ 'CGI::Util' => '3.48',
+ 'CPANPLUS' => '0.89_03',
+ 'CPANPLUS::Internals' => '0.89_03',
+ 'CPANPLUS::Shell::Default'=> '0.89_03',
+ 'Carp' => '1.13',
+ 'Carp::Heavy' => '1.13',
+ 'ExtUtils::CBuilder' => '0.260301',
+ 'ExtUtils::CBuilder::Base'=> '0.260301',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.260301',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.260301',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.260301',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.260301',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.260301',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.260301',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.260301',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.260301',
+ 'ExtUtils::Install' => '1.55',
+ 'ExtUtils::Manifest' => '1.57',
+ 'ExtUtils::Packlist' => '1.44',
+ 'ExtUtils::ParseXS' => '2.21',
+ 'File::Glob' => '1.07',
+ 'File::Path' => '2.08',
+ 'IO' => '1.25_02',
+ 'Module::CoreList' => '2.21',
+ 'Object::Accessor' => '0.36',
+ 'Opcode' => '1.15',
+ 'POSIX' => '1.18',
+ 'Parse::CPAN::Meta' => '1.40',
+ 'PerlIO::via' => '0.09',
+ 'Pod::Simple' => '3.08',
+ 'Socket' => '1.85',
+ 'Storable' => '2.22',
+ 'Switch' => '2.15',
+ 'Test::Builder' => '0.94',
+ 'Test::Builder::Module' => '0.94',
+ 'Test::More' => '0.94',
+ 'Test::Simple' => '0.94',
+ 'XS::APItest' => '0.16',
+ 'mro' => '1.02',
+ 'overload' => '1.09',
+ 'threads::shared' => '1.32',
+ },
+ removed => {
+ }
},
-
5.011002 => {
- 'AnyDBM_File' => '1.00',
- 'App::Prove' => '3.17',
- 'App::Prove::State' => '3.17',
- 'App::Prove::State::Result'=> '3.17',
- 'App::Prove::State::Result::Test'=> '3.17',
- 'Archive::Extract' => '0.34',
- 'Archive::Tar' => '1.54',
- 'Archive::Tar::Constant'=> '0.02',
- 'Archive::Tar::File' => '0.02',
- 'Attribute::Handlers' => '0.87',
- 'AutoLoader' => '5.70',
- 'AutoSplit' => '1.06',
- 'B' => '1.23',
- 'B::Concise' => '0.78',
- 'B::Debug' => '1.11',
- 'B::Deparse' => '0.93',
- 'B::Lint' => '1.11_01',
- 'B::Lint::Debug' => '0.01',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.48',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.45',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.07',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.48',
- 'CPAN' => '1.94_51',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.94',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5002',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.53',
- 'CPAN::HandleConfig' => '5.5',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5',
- 'CPAN::Shell' => '5.5',
- 'CPAN::Tarzip' => '5.501',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5',
- 'CPANPLUS' => '0.89_09',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.44',
- 'CPANPLUS::Dist::Build::Constants'=> '0.44',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.89_09',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.89_09',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.14',
- 'Carp::Heavy' => '1.14',
- 'Class::ISA' => '0.36',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.021',
- 'Compress::Raw::Zlib' => '2.021',
- 'Compress::Zlib' => '2.022',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.3002',
- 'DB' => '1.02',
- 'DBM_Filter' => '0.03',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'Data::Dumper' => '2.125',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.04',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.39',
- 'Digest::SHA' => '5.47',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.13',
- 'DynaLoader' => '1.10',
- 'Encode' => '2.38',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.03',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.11',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.04',
- 'Env' => '1.01',
- 'Errno' => '1.11',
- 'Exporter' => '5.64_01',
- 'Exporter::Heavy' => '5.64_01',
- 'ExtUtils::CBuilder' => '0.27',
- 'ExtUtils::CBuilder::Base'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.27',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.55_02',
- 'ExtUtils::Constant' => '0.22',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.06',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.28',
- 'ExtUtils::Install' => '1.55',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.55_02',
- 'ExtUtils::Liblist::Kid'=> '6.5502',
- 'ExtUtils::MM' => '6.55_02',
- 'ExtUtils::MM_AIX' => '6.55_02',
- 'ExtUtils::MM_Any' => '6.55_02',
- 'ExtUtils::MM_BeOS' => '6.55_02',
- 'ExtUtils::MM_Cygwin' => '6.55_02',
- 'ExtUtils::MM_DOS' => '6.5502',
- 'ExtUtils::MM_Darwin' => '6.55_02',
- 'ExtUtils::MM_MacOS' => '6.5502',
- 'ExtUtils::MM_NW5' => '6.55_02',
- 'ExtUtils::MM_OS2' => '6.55_02',
- 'ExtUtils::MM_QNX' => '6.55_02',
- 'ExtUtils::MM_UWIN' => '6.5502',
- 'ExtUtils::MM_Unix' => '6.55_02',
- 'ExtUtils::MM_VMS' => '6.55_02',
- 'ExtUtils::MM_VOS' => '6.55_02',
- 'ExtUtils::MM_Win32' => '6.55_02',
- 'ExtUtils::MM_Win95' => '6.55_02',
- 'ExtUtils::MY' => '6.5502',
- 'ExtUtils::MakeMaker' => '6.55_02',
- 'ExtUtils::MakeMaker::Config'=> '6.55_02',
- 'ExtUtils::Manifest' => '1.57',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.55_02',
- 'ExtUtils::Mksymlists' => '6.55_02',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.21',
- 'ExtUtils::XSSymSet' => '1.1',
- 'ExtUtils::testlib' => '6.5502',
- 'Fatal' => '2.06_01',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.78',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.16',
- 'File::DosGlob' => '1.01',
- 'File::Fetch' => '0.22',
- 'File::Find' => '1.14',
- 'File::Glob' => '1.07',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08',
- 'File::Spec' => '3.30',
- 'File::Spec::Cygwin' => '3.30',
- 'File::Spec::Epoc' => '3.30',
- 'File::Spec::Functions' => '3.30',
- 'File::Spec::Mac' => '3.30',
- 'File::Spec::OS2' => '3.30',
- 'File::Spec::Unix' => '3.30',
- 'File::Spec::VMS' => '3.30',
- 'File::Spec::Win32' => '3.30',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.02',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'VMS::Filespec' => '1.12',
- 'Filter::Simple' => '0.84',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.09',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.07',
- 'Hash::Util::FieldHash' => '1.04',
- 'I18N::Collate' => '1.01',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.04',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.03',
- 'IO' => '1.25_02',
- 'IO::Compress::Adapter::Bzip2'=> '2.022',
- 'IO::Compress::Adapter::Deflate'=> '2.022',
- 'IO::Compress::Adapter::Identity'=> '2.022',
- 'IO::Compress::Base' => '2.022',
- 'IO::Compress::Base::Common'=> '2.022',
- 'IO::Compress::Bzip2' => '2.022',
- 'IO::Compress::Deflate' => '2.022',
- 'IO::Compress::Gzip' => '2.022',
- 'IO::Compress::Gzip::Constants'=> '2.022',
- 'IO::Compress::RawDeflate'=> '2.022',
- 'IO::Compress::Zip' => '2.022',
- 'IO::Compress::Zip::Constants'=> '2.022',
- 'IO::Compress::Zlib::Constants'=> '2.022',
- 'IO::Compress::Zlib::Extra'=> '2.022',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.31',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.022',
- 'IO::Uncompress::Adapter::Identity'=> '2.022',
- 'IO::Uncompress::Adapter::Inflate'=> '2.022',
- 'IO::Uncompress::AnyInflate'=> '2.022',
- 'IO::Uncompress::AnyUncompress'=> '2.022',
- 'IO::Uncompress::Base' => '2.022',
- 'IO::Uncompress::Bunzip2'=> '2.022',
- 'IO::Uncompress::Gunzip'=> '2.022',
- 'IO::Uncompress::Inflate'=> '2.022',
- 'IO::Uncompress::RawInflate'=> '2.022',
- 'IO::Uncompress::Unzip' => '2.022',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.54',
- 'IPC::Msg' => '2.01',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.05',
- 'IPC::Semaphore' => '2.01',
- 'IPC::SharedMem' => '2.01',
- 'IPC::SysV' => '2.01',
- 'List::Util' => '1.22',
- 'List::Util::PP' => '1.22',
- 'List::Util::XS' => '1.22',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.14',
- 'Locale::Maketext::Guts'=> '1.13',
- 'Locale::Maketext::GutsLoader'=> '1.13',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '2.07',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.06',
- 'MIME::Base64' => '3.08',
- 'MIME::QuotedPrint' => '3.08',
- 'Math::BigFloat' => '1.60',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.89_01',
- 'Math::BigInt::Calc' => '0.52',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.19',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.24',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.01_03',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.35_09',
- 'Module::Build::Base' => '0.35_09',
- 'Module::Build::Compat' => '0.35_09',
- 'Module::Build::Config' => '0.35_09',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.35_09',
- 'Module::Build::Dumper' => '0.35_09',
- 'Module::Build::ModuleInfo'=> '0.35_09',
- 'Module::Build::Notes' => '0.35_09',
- 'Module::Build::PPMMaker'=> '0.35_09',
- 'Module::Build::Platform::Amiga'=> '0.35_09',
- 'Module::Build::Platform::Default'=> '0.35_09',
- 'Module::Build::Platform::EBCDIC'=> '0.35_09',
- 'Module::Build::Platform::MPEiX'=> '0.35_09',
- 'Module::Build::Platform::MacOS'=> '0.35_09',
- 'Module::Build::Platform::RiscOS'=> '0.35_09',
- 'Module::Build::Platform::Unix'=> '0.35_09',
- 'Module::Build::Platform::VMS'=> '0.35_09',
- 'Module::Build::Platform::VOS'=> '0.35_09',
- 'Module::Build::Platform::Windows'=> '0.35_09',
- 'Module::Build::Platform::aix'=> '0.35_09',
- 'Module::Build::Platform::cygwin'=> '0.35_09',
- 'Module::Build::Platform::darwin'=> '0.35_09',
- 'Module::Build::Platform::os2'=> '0.35_09',
- 'Module::Build::PodParser'=> '0.35_09',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '1.40',
- 'Module::CoreList' => '2.23',
- 'Module::Load' => '0.16',
- 'Module::Load::Conditional'=> '0.34',
- 'Module::Loaded' => '0.06',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.08',
- 'NEXT' => '0.64',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.36',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.07',
- 'Object::Accessor' => '0.36',
- 'Opcode' => '1.15',
- 'POSIX' => '1.18',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.40',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.11',
- 'PerlIO::scalar' => '0.07',
- 'PerlIO::via' => '0.09',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.03',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.22',
- 'Pod::ParseLink' => '1.09',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_01',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Plainer' => '1.01',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.10',
- 'Pod::Simple::BlackBox' => undef,
- 'Pod::Simple::Checker' => '2.02',
- 'Pod::Simple::Debug' => undef,
- 'Pod::Simple::DumpAsText'=> '2.02',
- 'Pod::Simple::DumpAsXML'=> '2.02',
- 'Pod::Simple::HTML' => '3.03',
- 'Pod::Simple::HTMLBatch'=> '3.02',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> undef,
- 'Pod::Simple::Methody' => '2.02',
- 'Pod::Simple::Progress' => '1.01',
- 'Pod::Simple::PullParser'=> '2.02',
- 'Pod::Simple::PullParserEndToken'=> undef,
- 'Pod::Simple::PullParserStartToken'=> undef,
- 'Pod::Simple::PullParserTextToken'=> undef,
- 'Pod::Simple::PullParserToken'=> '2.02',
- 'Pod::Simple::RTF' => '2.02',
- 'Pod::Simple::Search' => '3.04',
- 'Pod::Simple::SimpleTree'=> '2.02',
- 'Pod::Simple::Text' => '2.02',
- 'Pod::Simple::TextContent'=> '2.02',
- 'Pod::Simple::TiedOutFH'=> undef,
- 'Pod::Simple::Transcode'=> undef,
- 'Pod::Simple::TranscodeDumb'=> '2.02',
- 'Pod::Simple::TranscodeSmart'=> undef,
- 'Pod::Simple::XHTML' => '3.10',
- 'Pod::Simple::XMLOutStream'=> '2.02',
- 'Pod::Text' => '3.13',
- 'Pod::Text::Color' => '2.05',
- 'Pod::Text::Overstrike' => '2.03',
- 'Pod::Text::Termcap' => '2.05',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.19',
- 'Scalar::Util' => '1.22',
- 'Scalar::Util::PP' => '1.22',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.17',
- 'Shell' => '0.72_01',
- 'Simple' => '0.01',
- 'Socket' => '1.85',
- 'Storable' => '2.22',
- 'Switch' => '2.16',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.17',
- 'TAP::Formatter::Base' => '3.17',
- 'TAP::Formatter::Color' => '3.17',
- 'TAP::Formatter::Console'=> '3.17',
- 'TAP::Formatter::Console::ParallelSession'=> '3.17',
- 'TAP::Formatter::Console::Session'=> '3.17',
- 'TAP::Formatter::File' => '3.17',
- 'TAP::Formatter::File::Session'=> '3.17',
- 'TAP::Formatter::Session'=> '3.17',
- 'TAP::Harness' => '3.17',
- 'TAP::Object' => '3.17',
- 'TAP::Parser' => '3.17',
- 'TAP::Parser::Aggregator'=> '3.17',
- 'TAP::Parser::Grammar' => '3.17',
- 'TAP::Parser::Iterator' => '3.17',
- 'TAP::Parser::Iterator::Array'=> '3.17',
- 'TAP::Parser::Iterator::Process'=> '3.17',
- 'TAP::Parser::Iterator::Stream'=> '3.17',
- 'TAP::Parser::IteratorFactory'=> '3.17',
- 'TAP::Parser::Multiplexer'=> '3.17',
- 'TAP::Parser::Result' => '3.17',
- 'TAP::Parser::Result::Bailout'=> '3.17',
- 'TAP::Parser::Result::Comment'=> '3.17',
- 'TAP::Parser::Result::Plan'=> '3.17',
- 'TAP::Parser::Result::Pragma'=> '3.17',
- 'TAP::Parser::Result::Test'=> '3.17',
- 'TAP::Parser::Result::Unknown'=> '3.17',
- 'TAP::Parser::Result::Version'=> '3.17',
- 'TAP::Parser::Result::YAML'=> '3.17',
- 'TAP::Parser::ResultFactory'=> '3.17',
- 'TAP::Parser::Scheduler'=> '3.17',
- 'TAP::Parser::Scheduler::Job'=> '3.17',
- 'TAP::Parser::Scheduler::Spinner'=> '3.17',
- 'TAP::Parser::Source' => '3.17',
- 'TAP::Parser::Source::Perl'=> '3.17',
- 'TAP::Parser::Utils' => '3.17',
- 'TAP::Parser::YAMLish::Reader'=> '3.17',
- 'TAP::Parser::YAMLish::Writer'=> '3.17',
- 'Term::ANSIColor' => '2.02',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.05',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.94',
- 'Test::Builder::Module' => '0.94',
- 'Test::Builder::Tester' => '1.18',
- 'Test::Builder::Tester::Color'=> '1.18',
- 'Test::Harness' => '3.17',
- 'Test::More' => '0.94',
- 'Test::Simple' => '0.94',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.09',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.03',
- 'Tie::Hash::NamedCapture'=> '0.06',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.01',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9719',
- 'Time::Local' => '1.1901_01',
- 'Time::Piece' => '1.15',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.05',
- 'Unicode' => '5.1.0',
- 'Unicode::Collate' => '0.52_01',
- 'Unicode::Normalize' => '1.03',
- 'Unicode::UCD' => '0.27',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.03',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.39',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.17',
- 'XS::APItest::KeywordRPN'=> '0.003',
- 'XS::Typemap' => '0.03',
- 'XSLoader' => '0.10',
- 'XSLoader::XSLoader' => '0.10',
- 'attributes' => '0.12',
- 'autodie' => '2.06_01',
- 'autodie::exception' => '2.06_01',
- 'autodie::exception::system'=> '2.06_01',
- 'autodie::hints' => '2.06_01',
- 'autouse' => '1.06',
- 'base' => '2.15',
- 'bigint' => '0.23',
- 'bignum' => '0.23',
- 'bigrat' => '0.23',
- 'blib' => '1.04',
- 'bytes' => '1.03',
- 'charnames' => '1.07',
- 'constant' => '1.19',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.18',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.13',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.05',
- 'inc::latest' => '0.35_09',
- 'integer' => '1.00',
- 'legacy' => '1.00',
- 'less' => '0.02',
- 'lib' => '0.62',
- 'locale' => '1.00',
- 'mro' => '1.02',
- 'open' => '1.07',
- 'ops' => '1.02',
- 'overload' => '1.10',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.223',
- 're' => '0.10',
- 'sigtrap' => '1.04',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.74',
- 'threads::shared' => '1.32',
- 'utf8' => '1.07',
- 'vars' => '1.01',
- 'version' => '0.77',
- 'vmsish' => '1.02',
- 'warnings' => '1.07',
- 'warnings::register' => '1.01',
+ delta_from => 5.011001,
+ changed => {
+ 'B::Concise' => '0.78',
+ 'B::Deparse' => '0.93',
+ 'CPANPLUS' => '0.89_09',
+ 'CPANPLUS::Dist::Build' => '0.44',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.44',
+ 'CPANPLUS::Internals' => '0.89_09',
+ 'CPANPLUS::Shell::Default'=> '0.89_09',
+ 'Carp' => '1.14',
+ 'Carp::Heavy' => '1.14',
+ 'Compress::Zlib' => '2.022',
+ 'DBM_Filter' => '0.03',
+ 'Encode' => '2.38',
+ 'Encode::Byte' => '2.04',
+ 'Encode::CN' => '2.03',
+ 'Encode::JP' => '2.04',
+ 'Encode::KR' => '2.03',
+ 'Encode::TW' => '2.03',
+ 'Encode::Unicode' => '2.07',
+ 'Env' => '1.01',
+ 'Exporter' => '5.64_01',
+ 'Exporter::Heavy' => '5.64_01',
+ 'ExtUtils::CBuilder' => '0.27',
+ 'ExtUtils::CBuilder::Base'=> '0.27',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.27',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.27',
+ 'File::Fetch' => '0.22',
+ 'I18N::LangTags::Detect'=> '1.04',
+ 'I18N::Langinfo' => '0.03',
+ 'IO::Compress::Adapter::Bzip2'=> '2.022',
+ 'IO::Compress::Adapter::Deflate'=> '2.022',
+ 'IO::Compress::Adapter::Identity'=> '2.022',
+ 'IO::Compress::Base' => '2.022',
+ 'IO::Compress::Base::Common'=> '2.022',
+ 'IO::Compress::Bzip2' => '2.022',
+ 'IO::Compress::Deflate' => '2.022',
+ 'IO::Compress::Gzip' => '2.022',
+ 'IO::Compress::Gzip::Constants'=> '2.022',
+ 'IO::Compress::RawDeflate'=> '2.022',
+ 'IO::Compress::Zip' => '2.022',
+ 'IO::Compress::Zip::Constants'=> '2.022',
+ 'IO::Compress::Zlib::Constants'=> '2.022',
+ 'IO::Compress::Zlib::Extra'=> '2.022',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.022',
+ 'IO::Uncompress::Adapter::Identity'=> '2.022',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.022',
+ 'IO::Uncompress::AnyInflate'=> '2.022',
+ 'IO::Uncompress::AnyUncompress'=> '2.022',
+ 'IO::Uncompress::Base' => '2.022',
+ 'IO::Uncompress::Bunzip2'=> '2.022',
+ 'IO::Uncompress::Gunzip'=> '2.022',
+ 'IO::Uncompress::Inflate'=> '2.022',
+ 'IO::Uncompress::RawInflate'=> '2.022',
+ 'IO::Uncompress::Unzip' => '2.022',
+ 'IPC::Cmd' => '0.54',
+ 'List::Util' => '1.22',
+ 'List::Util::PP' => '1.22',
+ 'List::Util::XS' => '1.22',
+ 'Locale::Maketext' => '1.14',
+ 'Module::Build' => '0.35_09',
+ 'Module::Build::Base' => '0.35_09',
+ 'Module::Build::Compat' => '0.35_09',
+ 'Module::Build::Config' => '0.35_09',
+ 'Module::Build::Cookbook'=> '0.35_09',
+ 'Module::Build::Dumper' => '0.35_09',
+ 'Module::Build::ModuleInfo'=> '0.35_09',
+ 'Module::Build::Notes' => '0.35_09',
+ 'Module::Build::PPMMaker'=> '0.35_09',
+ 'Module::Build::Platform::Amiga'=> '0.35_09',
+ 'Module::Build::Platform::Default'=> '0.35_09',
+ 'Module::Build::Platform::EBCDIC'=> '0.35_09',
+ 'Module::Build::Platform::MPEiX'=> '0.35_09',
+ 'Module::Build::Platform::MacOS'=> '0.35_09',
+ 'Module::Build::Platform::RiscOS'=> '0.35_09',
+ 'Module::Build::Platform::Unix'=> '0.35_09',
+ 'Module::Build::Platform::VMS'=> '0.35_09',
+ 'Module::Build::Platform::VOS'=> '0.35_09',
+ 'Module::Build::Platform::Windows'=> '0.35_09',
+ 'Module::Build::Platform::aix'=> '0.35_09',
+ 'Module::Build::Platform::cygwin'=> '0.35_09',
+ 'Module::Build::Platform::darwin'=> '0.35_09',
+ 'Module::Build::Platform::os2'=> '0.35_09',
+ 'Module::Build::PodParser'=> '0.35_09',
+ 'Module::Build::YAML' => '1.40',
+ 'Module::CoreList' => '2.23',
+ 'Module::Load::Conditional'=> '0.34',
+ 'Pod::Simple' => '3.10',
+ 'Pod::Simple::XHTML' => '3.10',
+ 'Scalar::Util' => '1.22',
+ 'Scalar::Util::PP' => '1.22',
+ 'Switch' => '2.16',
+ 'XS::APItest' => '0.17',
+ 'XS::APItest::KeywordRPN'=> '0.003',
+ 'base' => '2.15',
+ 'diagnostics' => '1.18',
+ 'fields' => '2.15',
+ 'inc::latest' => '0.35_09',
+ 'legacy' => '1.00',
+ 'overload' => '1.10',
+ },
+ removed => {
+ }
},
-
5.011003 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.570001',
- 'App::Prove' => '3.17',
- 'App::Prove::State' => '3.17',
- 'App::Prove::State::Result'=> '3.17',
- 'App::Prove::State::Result::Test'=> '3.17',
- 'Archive::Extract' => '0.36',
- 'Archive::Tar' => '1.54',
- 'Archive::Tar::Constant'=> '0.02',
- 'Archive::Tar::File' => '0.02',
- 'Attribute::Handlers' => '0.87',
- 'AutoLoader' => '5.70',
- 'AutoSplit' => '1.06',
- 'B' => '1.23',
- 'B::Concise' => '0.78',
- 'B::Debug' => '1.11',
- 'B::Deparse' => '0.93',
- 'B::Lint' => '1.11_01',
- 'B::Lint::Debug' => '0.01',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.48',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.45',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.07',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.48',
- 'CPAN' => '1.94_5301',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.94',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5004',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.530001',
- 'CPAN::HandleConfig' => '5.5',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Mirrors' => '1.770001',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5',
- 'CPAN::Shell' => '5.5',
- 'CPAN::Tarzip' => '5.501',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5',
- 'CPANPLUS' => '0.90',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.44',
- 'CPANPLUS::Dist::Build::Constants'=> '0.44',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.90',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.90',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.14',
- 'Carp::Heavy' => '1.14',
- 'Class::ISA' => '0.36',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.021',
- 'Compress::Raw::Zlib' => '2.021',
- 'Compress::Zlib' => '2.022',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.31',
- 'DB' => '1.02',
- 'DBM_Filter' => '0.03',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'Data::Dumper' => '2.125',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::V' => undef,
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.04',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.39',
- 'Digest::SHA' => '5.47',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.13',
- 'DynaLoader' => '1.10',
- 'Encode' => '2.39',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.03',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.11',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.04',
- 'Env' => '1.01',
- 'Errno' => '1.11',
- 'Exporter' => '5.64_01',
- 'Exporter::Heavy' => '5.64_01',
- 'ExtUtils::CBuilder' => '0.27',
- 'ExtUtils::CBuilder::Base'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.27',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.56',
- 'ExtUtils::Constant' => '0.22',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.06',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.28',
- 'ExtUtils::Install' => '1.55',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.56',
- 'ExtUtils::Liblist::Kid'=> '6.56',
- 'ExtUtils::MM' => '6.56',
- 'ExtUtils::MM_AIX' => '6.56',
- 'ExtUtils::MM_Any' => '6.56',
- 'ExtUtils::MM_BeOS' => '6.56',
- 'ExtUtils::MM_Cygwin' => '6.56',
- 'ExtUtils::MM_DOS' => '6.56',
- 'ExtUtils::MM_Darwin' => '6.56',
- 'ExtUtils::MM_MacOS' => '6.56',
- 'ExtUtils::MM_NW5' => '6.56',
- 'ExtUtils::MM_OS2' => '6.56',
- 'ExtUtils::MM_QNX' => '6.56',
- 'ExtUtils::MM_UWIN' => '6.56',
- 'ExtUtils::MM_Unix' => '6.56',
- 'ExtUtils::MM_VMS' => '6.56',
- 'ExtUtils::MM_VOS' => '6.56',
- 'ExtUtils::MM_Win32' => '6.56',
- 'ExtUtils::MM_Win95' => '6.56',
- 'ExtUtils::MY' => '6.56',
- 'ExtUtils::MakeMaker' => '6.56',
- 'ExtUtils::MakeMaker::Config'=> '6.56',
- 'ExtUtils::Manifest' => '1.57',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.56',
- 'ExtUtils::Mksymlists' => '6.56',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.21',
- 'ExtUtils::XSSymSet' => '1.1',
- 'ExtUtils::testlib' => '6.56',
- 'Fatal' => '2.06_01',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.78',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.16',
- 'File::DosGlob' => '1.01',
- 'File::Fetch' => '0.22',
- 'File::Find' => '1.15',
- 'File::Glob' => '1.07',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.31',
- 'File::Spec::Cygwin' => '3.30',
- 'File::Spec::Epoc' => '3.30',
- 'File::Spec::Functions' => '3.30',
- 'File::Spec::Mac' => '3.30',
- 'File::Spec::OS2' => '3.30',
- 'File::Spec::Unix' => '3.30',
- 'File::Spec::VMS' => '3.30',
- 'File::Spec::Win32' => '3.30',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.02',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'VMS::Filespec' => '1.12',
- 'Filter::Simple' => '0.84',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.09',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.07',
- 'Hash::Util::FieldHash' => '1.04',
- 'I18N::Collate' => '1.01',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.04',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.03',
- 'IO' => '1.25_02',
- 'IO::Compress::Adapter::Bzip2'=> '2.022',
- 'IO::Compress::Adapter::Deflate'=> '2.022',
- 'IO::Compress::Adapter::Identity'=> '2.022',
- 'IO::Compress::Base' => '2.022',
- 'IO::Compress::Base::Common'=> '2.022',
- 'IO::Compress::Bzip2' => '2.022',
- 'IO::Compress::Deflate' => '2.022',
- 'IO::Compress::Gzip' => '2.022',
- 'IO::Compress::Gzip::Constants'=> '2.022',
- 'IO::Compress::RawDeflate'=> '2.022',
- 'IO::Compress::Zip' => '2.022',
- 'IO::Compress::Zip::Constants'=> '2.022',
- 'IO::Compress::Zlib::Constants'=> '2.022',
- 'IO::Compress::Zlib::Extra'=> '2.022',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.31',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.022',
- 'IO::Uncompress::Adapter::Identity'=> '2.022',
- 'IO::Uncompress::Adapter::Inflate'=> '2.022',
- 'IO::Uncompress::AnyInflate'=> '2.022',
- 'IO::Uncompress::AnyUncompress'=> '2.022',
- 'IO::Uncompress::Base' => '2.022',
- 'IO::Uncompress::Bunzip2'=> '2.022',
- 'IO::Uncompress::Gunzip'=> '2.022',
- 'IO::Uncompress::Inflate'=> '2.022',
- 'IO::Uncompress::RawInflate'=> '2.022',
- 'IO::Uncompress::Unzip' => '2.022',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.54',
- 'IPC::Msg' => '2.01',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.05',
- 'IPC::Semaphore' => '2.01',
- 'IPC::SharedMem' => '2.01',
- 'IPC::SysV' => '2.01',
- 'List::Util' => '1.22',
- 'List::Util::PP' => '1.22',
- 'List::Util::XS' => '1.22',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.14',
- 'Locale::Maketext::Guts'=> '1.13',
- 'Locale::Maketext::GutsLoader'=> '1.13',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '2.07',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.06',
- 'MIME::Base64' => '3.08',
- 'MIME::QuotedPrint' => '3.08',
- 'Math::BigFloat' => '1.60',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.89_01',
- 'Math::BigInt::Calc' => '0.52',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.19',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.24',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.01_03',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.36',
- 'Module::Build::Base' => '0.36',
- 'Module::Build::Compat' => '0.36',
- 'Module::Build::Config' => '0.36',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.36',
- 'Module::Build::Dumper' => '0.36',
- 'Module::Build::ModuleInfo'=> '0.36',
- 'Module::Build::Notes' => '0.36',
- 'Module::Build::PPMMaker'=> '0.36',
- 'Module::Build::Platform::Amiga'=> '0.36',
- 'Module::Build::Platform::Default'=> '0.36',
- 'Module::Build::Platform::EBCDIC'=> '0.36',
- 'Module::Build::Platform::MPEiX'=> '0.36',
- 'Module::Build::Platform::MacOS'=> '0.36',
- 'Module::Build::Platform::RiscOS'=> '0.36',
- 'Module::Build::Platform::Unix'=> '0.36',
- 'Module::Build::Platform::VMS'=> '0.36',
- 'Module::Build::Platform::VOS'=> '0.36',
- 'Module::Build::Platform::Windows'=> '0.36',
- 'Module::Build::Platform::aix'=> '0.36',
- 'Module::Build::Platform::cygwin'=> '0.36',
- 'Module::Build::Platform::darwin'=> '0.36',
- 'Module::Build::Platform::os2'=> '0.36',
- 'Module::Build::PodParser'=> '0.36',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '1.40',
- 'Module::CoreList' => '2.24',
- 'Module::Load' => '0.16',
- 'Module::Load::Conditional'=> '0.34',
- 'Module::Loaded' => '0.06',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.08',
- 'NEXT' => '0.64',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.36',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.07',
- 'Object::Accessor' => '0.36',
- 'Opcode' => '1.15',
- 'POSIX' => '1.19',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.40',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.11',
- 'PerlIO::scalar' => '0.07',
- 'PerlIO::via' => '0.09',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.03',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.22',
- 'Pod::ParseLink' => '1.09',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_01',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Plainer' => '1.01',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.13',
- 'Pod::Simple::BlackBox' => '3.13',
- 'Pod::Simple::Checker' => '3.13',
- 'Pod::Simple::Debug' => '3.13',
- 'Pod::Simple::DumpAsText'=> '3.13',
- 'Pod::Simple::DumpAsXML'=> '3.13',
- 'Pod::Simple::HTML' => '3.13',
- 'Pod::Simple::HTMLBatch'=> '3.13',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.13',
- 'Pod::Simple::Methody' => '3.13',
- 'Pod::Simple::Progress' => '3.13',
- 'Pod::Simple::PullParser'=> '3.13',
- 'Pod::Simple::PullParserEndToken'=> '3.13',
- 'Pod::Simple::PullParserStartToken'=> '3.13',
- 'Pod::Simple::PullParserTextToken'=> '3.13',
- 'Pod::Simple::PullParserToken'=> '3.13',
- 'Pod::Simple::RTF' => '3.13',
- 'Pod::Simple::Search' => '3.13',
- 'Pod::Simple::SimpleTree'=> '3.13',
- 'Pod::Simple::Text' => '3.13',
- 'Pod::Simple::TextContent'=> '3.13',
- 'Pod::Simple::TiedOutFH'=> '3.13',
- 'Pod::Simple::Transcode'=> '3.13',
- 'Pod::Simple::TranscodeDumb'=> '3.13',
- 'Pod::Simple::TranscodeSmart'=> '3.13',
- 'Pod::Simple::XHTML' => '3.13',
- 'Pod::Simple::XMLOutStream'=> '3.13',
- 'Pod::Text' => '3.13',
- 'Pod::Text::Color' => '2.05',
- 'Pod::Text::Overstrike' => '2.03',
- 'Pod::Text::Termcap' => '2.05',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.20',
- 'Scalar::Util' => '1.22',
- 'Scalar::Util::PP' => '1.22',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.17',
- 'Shell' => '0.72_01',
- 'Socket' => '1.85',
- 'Storable' => '2.22',
- 'Switch' => '2.16',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.17',
- 'TAP::Formatter::Base' => '3.17',
- 'TAP::Formatter::Color' => '3.17',
- 'TAP::Formatter::Console'=> '3.17',
- 'TAP::Formatter::Console::ParallelSession'=> '3.17',
- 'TAP::Formatter::Console::Session'=> '3.17',
- 'TAP::Formatter::File' => '3.17',
- 'TAP::Formatter::File::Session'=> '3.17',
- 'TAP::Formatter::Session'=> '3.17',
- 'TAP::Harness' => '3.17',
- 'TAP::Object' => '3.17',
- 'TAP::Parser' => '3.17',
- 'TAP::Parser::Aggregator'=> '3.17',
- 'TAP::Parser::Grammar' => '3.17',
- 'TAP::Parser::Iterator' => '3.17',
- 'TAP::Parser::Iterator::Array'=> '3.17',
- 'TAP::Parser::Iterator::Process'=> '3.17',
- 'TAP::Parser::Iterator::Stream'=> '3.17',
- 'TAP::Parser::IteratorFactory'=> '3.17',
- 'TAP::Parser::Multiplexer'=> '3.17',
- 'TAP::Parser::Result' => '3.17',
- 'TAP::Parser::Result::Bailout'=> '3.17',
- 'TAP::Parser::Result::Comment'=> '3.17',
- 'TAP::Parser::Result::Plan'=> '3.17',
- 'TAP::Parser::Result::Pragma'=> '3.17',
- 'TAP::Parser::Result::Test'=> '3.17',
- 'TAP::Parser::Result::Unknown'=> '3.17',
- 'TAP::Parser::Result::Version'=> '3.17',
- 'TAP::Parser::Result::YAML'=> '3.17',
- 'TAP::Parser::ResultFactory'=> '3.17',
- 'TAP::Parser::Scheduler'=> '3.17',
- 'TAP::Parser::Scheduler::Job'=> '3.17',
- 'TAP::Parser::Scheduler::Spinner'=> '3.17',
- 'TAP::Parser::Source' => '3.17',
- 'TAP::Parser::Source::Perl'=> '3.17',
- 'TAP::Parser::Utils' => '3.17',
- 'TAP::Parser::YAMLish::Reader'=> '3.17',
- 'TAP::Parser::YAMLish::Writer'=> '3.17',
- 'Term::ANSIColor' => '2.02',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.05',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.94',
- 'Test::Builder::Module' => '0.94',
- 'Test::Builder::Tester' => '1.18',
- 'Test::Builder::Tester::Color'=> '1.18',
- 'Test::Harness' => '3.17',
- 'Test::More' => '0.94',
- 'Test::Simple' => '0.94',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.09',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.03',
- 'Tie::Hash::NamedCapture'=> '0.06',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.01',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9719',
- 'Time::Local' => '1.1901_01',
- 'Time::Piece' => '1.15',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.05',
- 'Unicode' => '5.2.0',
- 'Unicode::Collate' => '0.52_01',
- 'Unicode::Normalize' => '1.03',
- 'Unicode::UCD' => '0.27',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.03',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.39',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.17',
- 'XS::APItest::KeywordRPN'=> '0.003',
- 'XS::Typemap' => '0.03',
- 'XSLoader' => '0.10',
- 'XSLoader::XSLoader' => '0.10',
- 'attributes' => '0.12',
- 'autodie' => '2.06_01',
- 'autodie::exception' => '2.06_01',
- 'autodie::exception::system'=> '2.06_01',
- 'autodie::hints' => '2.06_01',
- 'autouse' => '1.06',
- 'base' => '2.15',
- 'bigint' => '0.23',
- 'bignum' => '0.23',
- 'bigrat' => '0.23',
- 'blib' => '1.04',
- 'bytes' => '1.03',
- 'charnames' => '1.07',
- 'constant' => '1.20',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.19',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.14',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.05',
- 'inc::latest' => '0.36',
- 'integer' => '1.00',
- 'less' => '0.02',
- 'lib' => '0.62',
- 'locale' => '1.00',
- 'mro' => '1.02',
- 'open' => '1.07',
- 'ops' => '1.02',
- 'overload' => '1.10',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.223',
- 're' => '0.10',
- 'sigtrap' => '1.04',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.75',
- 'threads::shared' => '1.32',
- 'utf8' => '1.07',
- 'vars' => '1.01',
- 'version' => '0.77',
- 'vmsish' => '1.02',
- 'warnings' => '1.08',
- 'warnings::register' => '1.01',
+ delta_from => 5.011002,
+ changed => {
+ 'App::Cpan' => '1.570001',
+ 'Archive::Extract' => '0.36',
+ 'CPAN' => '1.94_5301',
+ 'CPAN::FTP' => '5.5004',
+ 'CPAN::FirstTime' => '5.530001',
+ 'CPAN::Mirrors' => '1.770001',
+ 'CPANPLUS' => '0.90',
+ 'CPANPLUS::Internals' => '0.90',
+ 'CPANPLUS::Shell::Default'=> '0.90',
+ 'Cwd' => '3.31',
+ 'Encode' => '2.39',
+ 'ExtUtils::Command::MM' => '6.56',
+ 'ExtUtils::Liblist' => '6.56',
+ 'ExtUtils::Liblist::Kid'=> '6.56',
+ 'ExtUtils::MM' => '6.56',
+ 'ExtUtils::MM_AIX' => '6.56',
+ 'ExtUtils::MM_Any' => '6.56',
+ 'ExtUtils::MM_BeOS' => '6.56',
+ 'ExtUtils::MM_Cygwin' => '6.56',
+ 'ExtUtils::MM_DOS' => '6.56',
+ 'ExtUtils::MM_Darwin' => '6.56',
+ 'ExtUtils::MM_MacOS' => '6.56',
+ 'ExtUtils::MM_NW5' => '6.56',
+ 'ExtUtils::MM_OS2' => '6.56',
+ 'ExtUtils::MM_QNX' => '6.56',
+ 'ExtUtils::MM_UWIN' => '6.56',
+ 'ExtUtils::MM_Unix' => '6.56',
+ 'ExtUtils::MM_VMS' => '6.56',
+ 'ExtUtils::MM_VOS' => '6.56',
+ 'ExtUtils::MM_Win32' => '6.56',
+ 'ExtUtils::MM_Win95' => '6.56',
+ 'ExtUtils::MY' => '6.56',
+ 'ExtUtils::MakeMaker' => '6.56',
+ 'ExtUtils::MakeMaker::Config'=> '6.56',
+ 'ExtUtils::Mkbootstrap' => '6.56',
+ 'ExtUtils::Mksymlists' => '6.56',
+ 'ExtUtils::testlib' => '6.56',
+ 'File::Find' => '1.15',
+ 'File::Path' => '2.08_01',
+ 'File::Spec' => '3.31',
+ 'Module::Build' => '0.36',
+ 'Module::Build::Base' => '0.36',
+ 'Module::Build::Compat' => '0.36',
+ 'Module::Build::Config' => '0.36',
+ 'Module::Build::Cookbook'=> '0.36',
+ 'Module::Build::Dumper' => '0.36',
+ 'Module::Build::ModuleInfo'=> '0.36',
+ 'Module::Build::Notes' => '0.36',
+ 'Module::Build::PPMMaker'=> '0.36',
+ 'Module::Build::Platform::Amiga'=> '0.36',
+ 'Module::Build::Platform::Default'=> '0.36',
+ 'Module::Build::Platform::EBCDIC'=> '0.36',
+ 'Module::Build::Platform::MPEiX'=> '0.36',
+ 'Module::Build::Platform::MacOS'=> '0.36',
+ 'Module::Build::Platform::RiscOS'=> '0.36',
+ 'Module::Build::Platform::Unix'=> '0.36',
+ 'Module::Build::Platform::VMS'=> '0.36',
+ 'Module::Build::Platform::VOS'=> '0.36',
+ 'Module::Build::Platform::Windows'=> '0.36',
+ 'Module::Build::Platform::aix'=> '0.36',
+ 'Module::Build::Platform::cygwin'=> '0.36',
+ 'Module::Build::Platform::darwin'=> '0.36',
+ 'Module::Build::Platform::os2'=> '0.36',
+ 'Module::Build::PodParser'=> '0.36',
+ 'Module::CoreList' => '2.24',
+ 'POSIX' => '1.19',
+ 'Pod::Simple' => '3.13',
+ 'Pod::Simple::BlackBox' => '3.13',
+ 'Pod::Simple::Checker' => '3.13',
+ 'Pod::Simple::Debug' => '3.13',
+ 'Pod::Simple::DumpAsText'=> '3.13',
+ 'Pod::Simple::DumpAsXML'=> '3.13',
+ 'Pod::Simple::HTML' => '3.13',
+ 'Pod::Simple::HTMLBatch'=> '3.13',
+ 'Pod::Simple::LinkSection'=> '3.13',
+ 'Pod::Simple::Methody' => '3.13',
+ 'Pod::Simple::Progress' => '3.13',
+ 'Pod::Simple::PullParser'=> '3.13',
+ 'Pod::Simple::PullParserEndToken'=> '3.13',
+ 'Pod::Simple::PullParserStartToken'=> '3.13',
+ 'Pod::Simple::PullParserTextToken'=> '3.13',
+ 'Pod::Simple::PullParserToken'=> '3.13',
+ 'Pod::Simple::RTF' => '3.13',
+ 'Pod::Simple::Search' => '3.13',
+ 'Pod::Simple::SimpleTree'=> '3.13',
+ 'Pod::Simple::Text' => '3.13',
+ 'Pod::Simple::TextContent'=> '3.13',
+ 'Pod::Simple::TiedOutFH'=> '3.13',
+ 'Pod::Simple::Transcode'=> '3.13',
+ 'Pod::Simple::TranscodeDumb'=> '3.13',
+ 'Pod::Simple::TranscodeSmart'=> '3.13',
+ 'Pod::Simple::XHTML' => '3.13',
+ 'Pod::Simple::XMLOutStream'=> '3.13',
+ 'Safe' => '2.20',
+ 'Unicode' => '5.2.0',
+ 'constant' => '1.20',
+ 'diagnostics' => '1.19',
+ 'feature' => '1.14',
+ 'inc::latest' => '0.36',
+ 'threads' => '1.75',
+ 'warnings' => '1.08',
+ },
+ removed => {
+ 'legacy' => 1,
+ }
},
-
5.011004 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.17',
- 'App::Prove::State' => '3.17',
- 'App::Prove::State::Result'=> '3.17',
- 'App::Prove::State::Result::Test'=> '3.17',
- 'Archive::Extract' => '0.38',
- 'Archive::Tar' => '1.54',
- 'Archive::Tar::Constant'=> '0.02',
- 'Archive::Tar::File' => '0.02',
- 'Attribute::Handlers' => '0.87',
- 'AutoLoader' => '5.70',
- 'AutoSplit' => '1.06',
- 'B' => '1.23',
- 'B::Concise' => '0.78',
- 'B::Debug' => '1.11',
- 'B::Deparse' => '0.94',
- 'B::Lint' => '1.11_01',
- 'B::Lint::Debug' => '0.01',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.48',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.45',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.07',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.48',
- 'CPAN' => '1.94_54',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.94',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5004',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.53',
- 'CPAN::HandleConfig' => '5.5',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Mirrors' => '1.77',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5',
- 'CPAN::Shell' => '5.5',
- 'CPAN::Tarzip' => '5.501',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5',
- 'CPANPLUS' => '0.90',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.44',
- 'CPANPLUS::Dist::Build::Constants'=> '0.44',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.90',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.90',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.15',
- 'Carp::Heavy' => '1.15',
- 'Class::ISA' => '0.36',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.024',
- 'Compress::Raw::Zlib' => '2.024',
- 'Compress::Zlib' => '2.024',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.31',
- 'DB' => '1.02',
- 'DBM_Filter' => '0.03',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'Data::Dumper' => '2.125',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.04',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.39',
- 'Digest::SHA' => '5.47',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.13',
- 'DynaLoader' => '1.10',
- 'Encode' => '2.39',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.03',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.11',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.04',
- 'Env' => '1.01',
- 'Errno' => '1.11',
- 'Exporter' => '5.64_01',
- 'Exporter::Heavy' => '5.64_01',
- 'ExtUtils::CBuilder' => '0.27',
- 'ExtUtils::CBuilder::Base'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.27',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.56',
- 'ExtUtils::Constant' => '0.22',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.06',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.28',
- 'ExtUtils::Install' => '1.55',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.56',
- 'ExtUtils::Liblist::Kid'=> '6.56',
- 'ExtUtils::MM' => '6.56',
- 'ExtUtils::MM_AIX' => '6.56',
- 'ExtUtils::MM_Any' => '6.56',
- 'ExtUtils::MM_BeOS' => '6.56',
- 'ExtUtils::MM_Cygwin' => '6.56',
- 'ExtUtils::MM_DOS' => '6.56',
- 'ExtUtils::MM_Darwin' => '6.56',
- 'ExtUtils::MM_MacOS' => '6.56',
- 'ExtUtils::MM_NW5' => '6.56',
- 'ExtUtils::MM_OS2' => '6.56',
- 'ExtUtils::MM_QNX' => '6.56',
- 'ExtUtils::MM_UWIN' => '6.56',
- 'ExtUtils::MM_Unix' => '6.56',
- 'ExtUtils::MM_VMS' => '6.56',
- 'ExtUtils::MM_VOS' => '6.56',
- 'ExtUtils::MM_Win32' => '6.56',
- 'ExtUtils::MM_Win95' => '6.56',
- 'ExtUtils::MY' => '6.56',
- 'ExtUtils::MakeMaker' => '6.56',
- 'ExtUtils::MakeMaker::Config'=> '6.56',
- 'ExtUtils::Manifest' => '1.57',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.56',
- 'ExtUtils::Mksymlists' => '6.56',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.21',
- 'ExtUtils::XSSymSet' => '1.1',
- 'ExtUtils::testlib' => '6.56',
- 'Fatal' => '2.06_01',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.78',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.17',
- 'File::DosGlob' => '1.01',
- 'File::Fetch' => '0.24',
- 'File::Find' => '1.15',
- 'File::Glob' => '1.07',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.31',
- 'File::Spec::Cygwin' => '3.30',
- 'File::Spec::Epoc' => '3.30',
- 'File::Spec::Functions' => '3.30',
- 'File::Spec::Mac' => '3.30',
- 'File::Spec::OS2' => '3.30',
- 'File::Spec::Unix' => '3.30',
- 'File::Spec::VMS' => '3.30',
- 'File::Spec::Win32' => '3.30',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.02',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'VMS::Filespec' => '1.12',
- 'Filter::Simple' => '0.84',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.10',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.07',
- 'Hash::Util::FieldHash' => '1.04',
- 'I18N::Collate' => '1.01',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.04',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.03',
- 'IO' => '1.25_02',
- 'IO::Compress::Adapter::Bzip2'=> '2.024',
- 'IO::Compress::Adapter::Deflate'=> '2.024',
- 'IO::Compress::Adapter::Identity'=> '2.024',
- 'IO::Compress::Base' => '2.024',
- 'IO::Compress::Base::Common'=> '2.024',
- 'IO::Compress::Bzip2' => '2.024',
- 'IO::Compress::Deflate' => '2.024',
- 'IO::Compress::Gzip' => '2.024',
- 'IO::Compress::Gzip::Constants'=> '2.024',
- 'IO::Compress::RawDeflate'=> '2.024',
- 'IO::Compress::Zip' => '2.024',
- 'IO::Compress::Zip::Constants'=> '2.024',
- 'IO::Compress::Zlib::Constants'=> '2.024',
- 'IO::Compress::Zlib::Extra'=> '2.024',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.31',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
- 'IO::Uncompress::Adapter::Identity'=> '2.024',
- 'IO::Uncompress::Adapter::Inflate'=> '2.024',
- 'IO::Uncompress::AnyInflate'=> '2.024',
- 'IO::Uncompress::AnyUncompress'=> '2.024',
- 'IO::Uncompress::Base' => '2.024',
- 'IO::Uncompress::Bunzip2'=> '2.024',
- 'IO::Uncompress::Gunzip'=> '2.024',
- 'IO::Uncompress::Inflate'=> '2.024',
- 'IO::Uncompress::RawInflate'=> '2.024',
- 'IO::Uncompress::Unzip' => '2.024',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.54',
- 'IPC::Msg' => '2.01',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.05',
- 'IPC::Semaphore' => '2.01',
- 'IPC::SharedMem' => '2.01',
- 'IPC::SysV' => '2.01',
- 'List::Util' => '1.22',
- 'List::Util::PP' => '1.22',
- 'List::Util::XS' => '1.22',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.14',
- 'Locale::Maketext::Guts'=> '1.13',
- 'Locale::Maketext::GutsLoader'=> '1.13',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '2.07',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.06',
- 'MIME::Base64' => '3.08',
- 'MIME::QuotedPrint' => '3.08',
- 'Math::BigFloat' => '1.60',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.89_01',
- 'Math::BigInt::Calc' => '0.52',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.19',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.24',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.01_03',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.3603',
- 'Module::Build::Base' => '0.3603',
- 'Module::Build::Compat' => '0.3603',
- 'Module::Build::Config' => '0.3603',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3603',
- 'Module::Build::Dumper' => '0.3603',
- 'Module::Build::ModuleInfo'=> '0.3603',
- 'Module::Build::Notes' => '0.3603',
- 'Module::Build::PPMMaker'=> '0.3603',
- 'Module::Build::Platform::Amiga'=> '0.3603',
- 'Module::Build::Platform::Default'=> '0.3603',
- 'Module::Build::Platform::EBCDIC'=> '0.3603',
- 'Module::Build::Platform::MPEiX'=> '0.3603',
- 'Module::Build::Platform::MacOS'=> '0.3603',
- 'Module::Build::Platform::RiscOS'=> '0.3603',
- 'Module::Build::Platform::Unix'=> '0.3603',
- 'Module::Build::Platform::VMS'=> '0.3603',
- 'Module::Build::Platform::VOS'=> '0.3603',
- 'Module::Build::Platform::Windows'=> '0.3603',
- 'Module::Build::Platform::aix'=> '0.3603',
- 'Module::Build::Platform::cygwin'=> '0.3603',
- 'Module::Build::Platform::darwin'=> '0.3603',
- 'Module::Build::Platform::os2'=> '0.3603',
- 'Module::Build::PodParser'=> '0.3603',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '1.40',
- 'Module::CoreList' => '2.25',
- 'Module::Load' => '0.16',
- 'Module::Load::Conditional'=> '0.34',
- 'Module::Loaded' => '0.06',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.08',
- 'NEXT' => '0.64',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.36',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.07',
- 'Object::Accessor' => '0.36',
- 'Opcode' => '1.15',
- 'POSIX' => '1.19',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.40',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.12',
- 'PerlIO::scalar' => '0.07',
- 'PerlIO::via' => '0.09',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.03',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.22',
- 'Pod::ParseLink' => '1.09',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_01',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Plainer' => '1.01',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.13',
- 'Pod::Simple::BlackBox' => '3.13',
- 'Pod::Simple::Checker' => '3.13',
- 'Pod::Simple::Debug' => '3.13',
- 'Pod::Simple::DumpAsText'=> '3.13',
- 'Pod::Simple::DumpAsXML'=> '3.13',
- 'Pod::Simple::HTML' => '3.13',
- 'Pod::Simple::HTMLBatch'=> '3.13',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.13',
- 'Pod::Simple::Methody' => '3.13',
- 'Pod::Simple::Progress' => '3.13',
- 'Pod::Simple::PullParser'=> '3.13',
- 'Pod::Simple::PullParserEndToken'=> '3.13',
- 'Pod::Simple::PullParserStartToken'=> '3.13',
- 'Pod::Simple::PullParserTextToken'=> '3.13',
- 'Pod::Simple::PullParserToken'=> '3.13',
- 'Pod::Simple::RTF' => '3.13',
- 'Pod::Simple::Search' => '3.13',
- 'Pod::Simple::SimpleTree'=> '3.13',
- 'Pod::Simple::Text' => '3.13',
- 'Pod::Simple::TextContent'=> '3.13',
- 'Pod::Simple::TiedOutFH'=> '3.13',
- 'Pod::Simple::Transcode'=> '3.13',
- 'Pod::Simple::TranscodeDumb'=> '3.13',
- 'Pod::Simple::TranscodeSmart'=> '3.13',
- 'Pod::Simple::XHTML' => '3.13',
- 'Pod::Simple::XMLOutStream'=> '3.13',
- 'Pod::Text' => '3.13',
- 'Pod::Text::Color' => '2.05',
- 'Pod::Text::Overstrike' => '2.03',
- 'Pod::Text::Termcap' => '2.05',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.21',
- 'Scalar::Util' => '1.22',
- 'Scalar::Util::PP' => '1.22',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.17',
- 'Shell' => '0.72_01',
- 'Socket' => '1.85',
- 'Storable' => '2.22',
- 'Switch' => '2.16',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.17',
- 'TAP::Formatter::Base' => '3.17',
- 'TAP::Formatter::Color' => '3.17',
- 'TAP::Formatter::Console'=> '3.17',
- 'TAP::Formatter::Console::ParallelSession'=> '3.17',
- 'TAP::Formatter::Console::Session'=> '3.17',
- 'TAP::Formatter::File' => '3.17',
- 'TAP::Formatter::File::Session'=> '3.17',
- 'TAP::Formatter::Session'=> '3.17',
- 'TAP::Harness' => '3.17',
- 'TAP::Object' => '3.17',
- 'TAP::Parser' => '3.17',
- 'TAP::Parser::Aggregator'=> '3.17',
- 'TAP::Parser::Grammar' => '3.17',
- 'TAP::Parser::Iterator' => '3.17',
- 'TAP::Parser::Iterator::Array'=> '3.17',
- 'TAP::Parser::Iterator::Process'=> '3.17',
- 'TAP::Parser::Iterator::Stream'=> '3.17',
- 'TAP::Parser::IteratorFactory'=> '3.17',
- 'TAP::Parser::Multiplexer'=> '3.17',
- 'TAP::Parser::Result' => '3.17',
- 'TAP::Parser::Result::Bailout'=> '3.17',
- 'TAP::Parser::Result::Comment'=> '3.17',
- 'TAP::Parser::Result::Plan'=> '3.17',
- 'TAP::Parser::Result::Pragma'=> '3.17',
- 'TAP::Parser::Result::Test'=> '3.17',
- 'TAP::Parser::Result::Unknown'=> '3.17',
- 'TAP::Parser::Result::Version'=> '3.17',
- 'TAP::Parser::Result::YAML'=> '3.17',
- 'TAP::Parser::ResultFactory'=> '3.17',
- 'TAP::Parser::Scheduler'=> '3.17',
- 'TAP::Parser::Scheduler::Job'=> '3.17',
- 'TAP::Parser::Scheduler::Spinner'=> '3.17',
- 'TAP::Parser::Source' => '3.17',
- 'TAP::Parser::Source::Perl'=> '3.17',
- 'TAP::Parser::Utils' => '3.17',
- 'TAP::Parser::YAMLish::Reader'=> '3.17',
- 'TAP::Parser::YAMLish::Writer'=> '3.17',
- 'Term::ANSIColor' => '2.02',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.05',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.94',
- 'Test::Builder::Module' => '0.94',
- 'Test::Builder::Tester' => '1.18',
- 'Test::Builder::Tester::Color'=> '1.18',
- 'Test::Harness' => '3.17',
- 'Test::More' => '0.94',
- 'Test::Simple' => '0.94',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.09',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.03',
- 'Tie::Hash::NamedCapture'=> '0.06',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.01',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9719',
- 'Time::Local' => '1.1901_01',
- 'Time::Piece' => '1.15',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.06',
- 'Unicode' => '5.2.0',
- 'Unicode::Collate' => '0.52_01',
- 'Unicode::Normalize' => '1.03',
- 'Unicode::UCD' => '0.27',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.03',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.39',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.17',
- 'XS::APItest::KeywordRPN'=> '0.003',
- 'XS::Typemap' => '0.03',
- 'XSLoader' => '0.10',
- 'XSLoader::XSLoader' => '0.10',
- 'attributes' => '0.12',
- 'autodie' => '2.06_01',
- 'autodie::exception' => '2.06_01',
- 'autodie::exception::system'=> '2.06_01',
- 'autodie::hints' => '2.06_01',
- 'autouse' => '1.06',
- 'base' => '2.15',
- 'bigint' => '0.23',
- 'bignum' => '0.23',
- 'bigrat' => '0.23',
- 'blib' => '1.04',
- 'bytes' => '1.03',
- 'charnames' => '1.07',
- 'constant' => '1.20',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.19',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.15',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.05',
- 'inc::latest' => '0.3603',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.62',
- 'locale' => '1.00',
- 'mro' => '1.02',
- 'open' => '1.07',
- 'ops' => '1.02',
- 'overload' => '1.10',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.223',
- 're' => '0.11',
- 'sigtrap' => '1.04',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.75',
- 'threads::shared' => '1.32',
- 'utf8' => '1.07',
- 'vars' => '1.01',
- 'version' => '0.81',
- 'vmsish' => '1.02',
- 'warnings' => '1.09',
- 'warnings::register' => '1.01',
+ delta_from => 5.011003,
+ changed => {
+ 'App::Cpan' => '1.5701',
+ 'Archive::Extract' => '0.38',
+ 'B::Deparse' => '0.94',
+ 'CPAN' => '1.94_54',
+ 'CPAN::FirstTime' => '5.53',
+ 'CPAN::Mirrors' => '1.77',
+ 'Carp' => '1.15',
+ 'Carp::Heavy' => '1.15',
+ 'Compress::Raw::Bzip2' => '2.024',
+ 'Compress::Raw::Zlib' => '2.024',
+ 'Compress::Zlib' => '2.024',
+ 'File::Copy' => '2.17',
+ 'File::Fetch' => '0.24',
+ 'GDBM_File' => '1.10',
+ 'IO::Compress::Adapter::Bzip2'=> '2.024',
+ 'IO::Compress::Adapter::Deflate'=> '2.024',
+ 'IO::Compress::Adapter::Identity'=> '2.024',
+ 'IO::Compress::Base' => '2.024',
+ 'IO::Compress::Base::Common'=> '2.024',
+ 'IO::Compress::Bzip2' => '2.024',
+ 'IO::Compress::Deflate' => '2.024',
+ 'IO::Compress::Gzip' => '2.024',
+ 'IO::Compress::Gzip::Constants'=> '2.024',
+ 'IO::Compress::RawDeflate'=> '2.024',
+ 'IO::Compress::Zip' => '2.024',
+ 'IO::Compress::Zip::Constants'=> '2.024',
+ 'IO::Compress::Zlib::Constants'=> '2.024',
+ 'IO::Compress::Zlib::Extra'=> '2.024',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
+ 'IO::Uncompress::Adapter::Identity'=> '2.024',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.024',
+ 'IO::Uncompress::AnyInflate'=> '2.024',
+ 'IO::Uncompress::AnyUncompress'=> '2.024',
+ 'IO::Uncompress::Base' => '2.024',
+ 'IO::Uncompress::Bunzip2'=> '2.024',
+ 'IO::Uncompress::Gunzip'=> '2.024',
+ 'IO::Uncompress::Inflate'=> '2.024',
+ 'IO::Uncompress::RawInflate'=> '2.024',
+ 'IO::Uncompress::Unzip' => '2.024',
+ 'Module::Build' => '0.3603',
+ 'Module::Build::Base' => '0.3603',
+ 'Module::Build::Compat' => '0.3603',
+ 'Module::Build::Config' => '0.3603',
+ 'Module::Build::Cookbook'=> '0.3603',
+ 'Module::Build::Dumper' => '0.3603',
+ 'Module::Build::ModuleInfo'=> '0.3603',
+ 'Module::Build::Notes' => '0.3603',
+ 'Module::Build::PPMMaker'=> '0.3603',
+ 'Module::Build::Platform::Amiga'=> '0.3603',
+ 'Module::Build::Platform::Default'=> '0.3603',
+ 'Module::Build::Platform::EBCDIC'=> '0.3603',
+ 'Module::Build::Platform::MPEiX'=> '0.3603',
+ 'Module::Build::Platform::MacOS'=> '0.3603',
+ 'Module::Build::Platform::RiscOS'=> '0.3603',
+ 'Module::Build::Platform::Unix'=> '0.3603',
+ 'Module::Build::Platform::VMS'=> '0.3603',
+ 'Module::Build::Platform::VOS'=> '0.3603',
+ 'Module::Build::Platform::Windows'=> '0.3603',
+ 'Module::Build::Platform::aix'=> '0.3603',
+ 'Module::Build::Platform::cygwin'=> '0.3603',
+ 'Module::Build::Platform::darwin'=> '0.3603',
+ 'Module::Build::Platform::os2'=> '0.3603',
+ 'Module::Build::PodParser'=> '0.3603',
+ 'Module::CoreList' => '2.25',
+ 'PerlIO::encoding' => '0.12',
+ 'Safe' => '2.21',
+ 'UNIVERSAL' => '1.06',
+ 'feature' => '1.15',
+ 'inc::latest' => '0.3603',
+ 'less' => '0.03',
+ 're' => '0.11',
+ 'version' => '0.81',
+ 'warnings' => '1.09',
+ },
+ removed => {
+ }
},
-
5.011005 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.17',
- 'App::Prove::State' => '3.17',
- 'App::Prove::State::Result'=> '3.17',
- 'App::Prove::State::Result::Test'=> '3.17',
- 'Archive::Extract' => '0.38',
- 'Archive::Tar' => '1.54',
- 'Archive::Tar::Constant'=> '0.02',
- 'Archive::Tar::File' => '0.02',
- 'Attribute::Handlers' => '0.87',
- 'AutoLoader' => '5.70',
- 'AutoSplit' => '1.06',
- 'B' => '1.23',
- 'B::Concise' => '0.78',
- 'B::Debug' => '1.12',
- 'B::Deparse' => '0.94',
- 'B::Lint' => '1.11_01',
- 'B::Lint::Debug' => '0.01',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.48',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.45',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.07',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.48',
- 'CPAN' => '1.94_56',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9456',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5004',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.5301',
- 'CPAN::HandleConfig' => '5.5001',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Mirrors' => '1.77',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5',
- 'CPAN::Shell' => '5.5001',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5',
- 'CPANPLUS' => '0.90',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.46',
- 'CPANPLUS::Dist::Build::Constants'=> '0.46',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.90',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.90',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.15',
- 'Carp::Heavy' => '1.15',
- 'Class::ISA' => '0.36',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.024',
- 'Compress::Raw::Zlib' => '2.024',
- 'Compress::Zlib' => '2.024',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.31',
- 'DB' => '1.02',
- 'DBM_Filter' => '0.03',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'Data::Dumper' => '2.125',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::V' => undef,
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.04',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.39',
- 'Digest::SHA' => '5.47',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.13',
- 'DynaLoader' => '1.10',
- 'Encode' => '2.39',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.03',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.11',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.04',
- 'Env' => '1.01',
- 'Errno' => '1.11',
- 'Exporter' => '5.64_01',
- 'Exporter::Heavy' => '5.64_01',
- 'ExtUtils::CBuilder' => '0.27',
- 'ExtUtils::CBuilder::Base'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.27',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.56',
- 'ExtUtils::Constant' => '0.22',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.06',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.28',
- 'ExtUtils::Install' => '1.55',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.56',
- 'ExtUtils::Liblist::Kid'=> '6.56',
- 'ExtUtils::MM' => '6.56',
- 'ExtUtils::MM_AIX' => '6.56',
- 'ExtUtils::MM_Any' => '6.56',
- 'ExtUtils::MM_BeOS' => '6.56',
- 'ExtUtils::MM_Cygwin' => '6.56',
- 'ExtUtils::MM_DOS' => '6.56',
- 'ExtUtils::MM_Darwin' => '6.56',
- 'ExtUtils::MM_MacOS' => '6.56',
- 'ExtUtils::MM_NW5' => '6.56',
- 'ExtUtils::MM_OS2' => '6.56',
- 'ExtUtils::MM_QNX' => '6.56',
- 'ExtUtils::MM_UWIN' => '6.56',
- 'ExtUtils::MM_Unix' => '6.56',
- 'ExtUtils::MM_VMS' => '6.56',
- 'ExtUtils::MM_VOS' => '6.56',
- 'ExtUtils::MM_Win32' => '6.56',
- 'ExtUtils::MM_Win95' => '6.56',
- 'ExtUtils::MY' => '6.56',
- 'ExtUtils::MakeMaker' => '6.56',
- 'ExtUtils::MakeMaker::Config'=> '6.56',
- 'ExtUtils::Manifest' => '1.57',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.56',
- 'ExtUtils::Mksymlists' => '6.56',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.21',
- 'ExtUtils::XSSymSet' => '1.1',
- 'ExtUtils::testlib' => '6.56',
- 'Fatal' => '2.06_01',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.78',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.17',
- 'File::DosGlob' => '1.01',
- 'File::Fetch' => '0.24',
- 'File::Find' => '1.15',
- 'File::Glob' => '1.07',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.31',
- 'File::Spec::Cygwin' => '3.30',
- 'File::Spec::Epoc' => '3.30',
- 'File::Spec::Functions' => '3.30',
- 'File::Spec::Mac' => '3.30',
- 'File::Spec::OS2' => '3.30',
- 'File::Spec::Unix' => '3.30',
- 'File::Spec::VMS' => '3.30',
- 'File::Spec::Win32' => '3.30',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.02',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'VMS::Filespec' => '1.12',
- 'Filter::Simple' => '0.84',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.10',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.07',
- 'Hash::Util::FieldHash' => '1.04',
- 'I18N::Collate' => '1.01',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.04',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.03',
- 'IO' => '1.25_02',
- 'IO::Compress::Adapter::Bzip2'=> '2.024',
- 'IO::Compress::Adapter::Deflate'=> '2.024',
- 'IO::Compress::Adapter::Identity'=> '2.024',
- 'IO::Compress::Base' => '2.024',
- 'IO::Compress::Base::Common'=> '2.024',
- 'IO::Compress::Bzip2' => '2.024',
- 'IO::Compress::Deflate' => '2.024',
- 'IO::Compress::Gzip' => '2.024',
- 'IO::Compress::Gzip::Constants'=> '2.024',
- 'IO::Compress::RawDeflate'=> '2.024',
- 'IO::Compress::Zip' => '2.024',
- 'IO::Compress::Zip::Constants'=> '2.024',
- 'IO::Compress::Zlib::Constants'=> '2.024',
- 'IO::Compress::Zlib::Extra'=> '2.024',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.31',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
- 'IO::Uncompress::Adapter::Identity'=> '2.024',
- 'IO::Uncompress::Adapter::Inflate'=> '2.024',
- 'IO::Uncompress::AnyInflate'=> '2.024',
- 'IO::Uncompress::AnyUncompress'=> '2.024',
- 'IO::Uncompress::Base' => '2.024',
- 'IO::Uncompress::Bunzip2'=> '2.024',
- 'IO::Uncompress::Gunzip'=> '2.024',
- 'IO::Uncompress::Inflate'=> '2.024',
- 'IO::Uncompress::RawInflate'=> '2.024',
- 'IO::Uncompress::Unzip' => '2.024',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.54',
- 'IPC::Msg' => '2.01',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.05',
- 'IPC::Semaphore' => '2.01',
- 'IPC::SharedMem' => '2.01',
- 'IPC::SysV' => '2.01',
- 'List::Util' => '1.22',
- 'List::Util::PP' => '1.22',
- 'List::Util::XS' => '1.22',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.14',
- 'Locale::Maketext::Guts'=> '1.13',
- 'Locale::Maketext::GutsLoader'=> '1.13',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '2.07',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.06',
- 'MIME::Base64' => '3.08',
- 'MIME::QuotedPrint' => '3.08',
- 'Math::BigFloat' => '1.60',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.89_01',
- 'Math::BigInt::Calc' => '0.52',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.19',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.24',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.01_03',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.3603',
- 'Module::Build::Base' => '0.3603',
- 'Module::Build::Compat' => '0.3603',
- 'Module::Build::Config' => '0.3603',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3603',
- 'Module::Build::Dumper' => '0.3603',
- 'Module::Build::ModuleInfo'=> '0.3603',
- 'Module::Build::Notes' => '0.3603',
- 'Module::Build::PPMMaker'=> '0.3603',
- 'Module::Build::Platform::Amiga'=> '0.3603',
- 'Module::Build::Platform::Default'=> '0.3603',
- 'Module::Build::Platform::EBCDIC'=> '0.3603',
- 'Module::Build::Platform::MPEiX'=> '0.3603',
- 'Module::Build::Platform::MacOS'=> '0.3603',
- 'Module::Build::Platform::RiscOS'=> '0.3603',
- 'Module::Build::Platform::Unix'=> '0.3603',
- 'Module::Build::Platform::VMS'=> '0.3603',
- 'Module::Build::Platform::VOS'=> '0.3603',
- 'Module::Build::Platform::Windows'=> '0.3603',
- 'Module::Build::Platform::aix'=> '0.3603',
- 'Module::Build::Platform::cygwin'=> '0.3603',
- 'Module::Build::Platform::darwin'=> '0.3603',
- 'Module::Build::Platform::os2'=> '0.3603',
- 'Module::Build::PodParser'=> '0.3603',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '1.40',
- 'Module::CoreList' => '2.26',
- 'Module::Load' => '0.16',
- 'Module::Load::Conditional'=> '0.34',
- 'Module::Loaded' => '0.06',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.08',
- 'NEXT' => '0.64',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.36',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.07',
- 'Object::Accessor' => '0.36',
- 'Opcode' => '1.15',
- 'POSIX' => '1.19',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.40',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.12',
- 'PerlIO::scalar' => '0.07',
- 'PerlIO::via' => '0.09',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.03',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.23',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_02',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Plainer' => '1.02',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.13',
- 'Pod::Simple::BlackBox' => '3.13',
- 'Pod::Simple::Checker' => '3.13',
- 'Pod::Simple::Debug' => '3.13',
- 'Pod::Simple::DumpAsText'=> '3.13',
- 'Pod::Simple::DumpAsXML'=> '3.13',
- 'Pod::Simple::HTML' => '3.13',
- 'Pod::Simple::HTMLBatch'=> '3.13',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.13',
- 'Pod::Simple::Methody' => '3.13',
- 'Pod::Simple::Progress' => '3.13',
- 'Pod::Simple::PullParser'=> '3.13',
- 'Pod::Simple::PullParserEndToken'=> '3.13',
- 'Pod::Simple::PullParserStartToken'=> '3.13',
- 'Pod::Simple::PullParserTextToken'=> '3.13',
- 'Pod::Simple::PullParserToken'=> '3.13',
- 'Pod::Simple::RTF' => '3.13',
- 'Pod::Simple::Search' => '3.13',
- 'Pod::Simple::SimpleTree'=> '3.13',
- 'Pod::Simple::Text' => '3.13',
- 'Pod::Simple::TextContent'=> '3.13',
- 'Pod::Simple::TiedOutFH'=> '3.13',
- 'Pod::Simple::Transcode'=> '3.13',
- 'Pod::Simple::TranscodeDumb'=> '3.13',
- 'Pod::Simple::TranscodeSmart'=> '3.13',
- 'Pod::Simple::XHTML' => '3.13',
- 'Pod::Simple::XMLOutStream'=> '3.13',
- 'Pod::Text' => '3.14',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.22',
- 'Scalar::Util' => '1.22',
- 'Scalar::Util::PP' => '1.22',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.17',
- 'Shell' => '0.72_01',
- 'Socket' => '1.86',
- 'Storable' => '2.22',
- 'Switch' => '2.16',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.17',
- 'TAP::Formatter::Base' => '3.17',
- 'TAP::Formatter::Color' => '3.17',
- 'TAP::Formatter::Console'=> '3.17',
- 'TAP::Formatter::Console::ParallelSession'=> '3.17',
- 'TAP::Formatter::Console::Session'=> '3.17',
- 'TAP::Formatter::File' => '3.17',
- 'TAP::Formatter::File::Session'=> '3.17',
- 'TAP::Formatter::Session'=> '3.17',
- 'TAP::Harness' => '3.17',
- 'TAP::Object' => '3.17',
- 'TAP::Parser' => '3.17',
- 'TAP::Parser::Aggregator'=> '3.17',
- 'TAP::Parser::Grammar' => '3.17',
- 'TAP::Parser::Iterator' => '3.17',
- 'TAP::Parser::Iterator::Array'=> '3.17',
- 'TAP::Parser::Iterator::Process'=> '3.17',
- 'TAP::Parser::Iterator::Stream'=> '3.17',
- 'TAP::Parser::IteratorFactory'=> '3.17',
- 'TAP::Parser::Multiplexer'=> '3.17',
- 'TAP::Parser::Result' => '3.17',
- 'TAP::Parser::Result::Bailout'=> '3.17',
- 'TAP::Parser::Result::Comment'=> '3.17',
- 'TAP::Parser::Result::Plan'=> '3.17',
- 'TAP::Parser::Result::Pragma'=> '3.17',
- 'TAP::Parser::Result::Test'=> '3.17',
- 'TAP::Parser::Result::Unknown'=> '3.17',
- 'TAP::Parser::Result::Version'=> '3.17',
- 'TAP::Parser::Result::YAML'=> '3.17',
- 'TAP::Parser::ResultFactory'=> '3.17',
- 'TAP::Parser::Scheduler'=> '3.17',
- 'TAP::Parser::Scheduler::Job'=> '3.17',
- 'TAP::Parser::Scheduler::Spinner'=> '3.17',
- 'TAP::Parser::Source' => '3.17',
- 'TAP::Parser::Source::Perl'=> '3.17',
- 'TAP::Parser::Utils' => '3.17',
- 'TAP::Parser::YAMLish::Reader'=> '3.17',
- 'TAP::Parser::YAMLish::Writer'=> '3.17',
- 'Term::ANSIColor' => '2.02',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.05',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.94',
- 'Test::Builder::Module' => '0.94',
- 'Test::Builder::Tester' => '1.18',
- 'Test::Builder::Tester::Color'=> '1.18',
- 'Test::Harness' => '3.17',
- 'Test::More' => '0.94',
- 'Test::Simple' => '0.94',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.09',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.03',
- 'Tie::Hash::NamedCapture'=> '0.06',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.01',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9719',
- 'Time::Local' => '1.1901_01',
- 'Time::Piece' => '1.15',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.06',
- 'Unicode' => '5.2.0',
- 'Unicode::Collate' => '0.52_01',
- 'Unicode::Normalize' => '1.03',
- 'Unicode::UCD' => '0.27',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.03',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.39',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.17',
- 'XS::APItest::KeywordRPN'=> '0.003',
- 'XS::Typemap' => '0.03',
- 'XSLoader' => '0.10',
- 'XSLoader::XSLoader' => '0.10',
- 'attributes' => '0.12',
- 'autodie' => '2.06_01',
- 'autodie::exception' => '2.06_01',
- 'autodie::exception::system'=> '2.06_01',
- 'autodie::hints' => '2.06_01',
- 'autouse' => '1.06',
- 'base' => '2.15',
- 'bigint' => '0.23',
- 'bignum' => '0.23',
- 'bigrat' => '0.23',
- 'blib' => '1.04',
- 'bytes' => '1.03',
- 'charnames' => '1.07',
- 'constant' => '1.20',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.19',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.15',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.05',
- 'inc::latest' => '0.3603',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.62',
- 'locale' => '1.00',
- 'mro' => '1.02',
- 'open' => '1.07',
- 'ops' => '1.02',
- 'overload' => '1.10',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.223',
- 're' => '0.11',
- 'sigtrap' => '1.04',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.75',
- 'threads::shared' => '1.32',
- 'utf8' => '1.07',
- 'vars' => '1.01',
- 'version' => '0.82',
- 'vmsish' => '1.02',
- 'warnings' => '1.09',
- 'warnings::register' => '1.01',
- },
-
- 5.012000 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.17',
- 'App::Prove::State' => '3.17',
- 'App::Prove::State::Result'=> '3.17',
- 'App::Prove::State::Result::Test'=> '3.17',
- 'Archive::Extract' => '0.38',
- 'Archive::Tar' => '1.54',
- 'Archive::Tar::Constant'=> '0.02',
- 'Archive::Tar::File' => '0.02',
- 'Attribute::Handlers' => '0.87',
- 'AutoLoader' => '5.70',
- 'AutoSplit' => '1.06',
- 'B' => '1.23',
- 'B::Concise' => '0.78',
- 'B::Debug' => '1.12',
- 'B::Deparse' => '0.96',
- 'B::Lint' => '1.11_01',
- 'B::Lint::Debug' => '0.01',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.48',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.45',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.07',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.48',
- 'CPAN' => '1.94_56',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9456_01',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5004',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.5301',
- 'CPAN::HandleConfig' => '5.5001',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Mirrors' => '1.77',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5',
- 'CPAN::Shell' => '5.5001',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5',
- 'CPANPLUS' => '0.90',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.46',
- 'CPANPLUS::Dist::Build::Constants'=> '0.46',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.90',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.90',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.15',
- 'Carp::Heavy' => '1.15',
- 'Class::ISA' => '0.36',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.024',
- 'Compress::Raw::Zlib' => '2.024',
- 'Compress::Zlib' => '2.024',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.31',
- 'DB' => '1.02',
- 'DBM_Filter' => '0.03',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'Data::Dumper' => '2.125',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.04',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.39',
- 'Digest::SHA' => '5.47',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.13',
- 'DynaLoader' => '1.10',
- 'Encode' => '2.39',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.03',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.11',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.04',
- 'Env' => '1.01',
- 'Errno' => '1.11',
- 'Exporter' => '5.64_01',
- 'Exporter::Heavy' => '5.64_01',
- 'ExtUtils::CBuilder' => '0.27',
- 'ExtUtils::CBuilder::Base'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.27',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.56',
- 'ExtUtils::Constant' => '0.22',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.06',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.28',
- 'ExtUtils::Install' => '1.55',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.56',
- 'ExtUtils::Liblist::Kid'=> '6.56',
- 'ExtUtils::MM' => '6.56',
- 'ExtUtils::MM_AIX' => '6.56',
- 'ExtUtils::MM_Any' => '6.56',
- 'ExtUtils::MM_BeOS' => '6.56',
- 'ExtUtils::MM_Cygwin' => '6.56',
- 'ExtUtils::MM_DOS' => '6.56',
- 'ExtUtils::MM_Darwin' => '6.56',
- 'ExtUtils::MM_MacOS' => '6.56',
- 'ExtUtils::MM_NW5' => '6.56',
- 'ExtUtils::MM_OS2' => '6.56',
- 'ExtUtils::MM_QNX' => '6.56',
- 'ExtUtils::MM_UWIN' => '6.56',
- 'ExtUtils::MM_Unix' => '6.56',
- 'ExtUtils::MM_VMS' => '6.56',
- 'ExtUtils::MM_VOS' => '6.56',
- 'ExtUtils::MM_Win32' => '6.56',
- 'ExtUtils::MM_Win95' => '6.56',
- 'ExtUtils::MY' => '6.56',
- 'ExtUtils::MakeMaker' => '6.56',
- 'ExtUtils::MakeMaker::Config'=> '6.56',
- 'ExtUtils::Manifest' => '1.57',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.56',
- 'ExtUtils::Mksymlists' => '6.56',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.21',
- 'ExtUtils::XSSymSet' => '1.1',
- 'ExtUtils::testlib' => '6.56',
- 'Fatal' => '2.06_01',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.78',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.17',
- 'File::DosGlob' => '1.01',
- 'File::Fetch' => '0.24',
- 'File::Find' => '1.15',
- 'File::Glob' => '1.07',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.31',
- 'File::Spec::Cygwin' => '3.30',
- 'File::Spec::Epoc' => '3.30',
- 'File::Spec::Functions' => '3.30',
- 'File::Spec::Mac' => '3.30',
- 'File::Spec::OS2' => '3.30',
- 'File::Spec::Unix' => '3.30',
- 'File::Spec::VMS' => '3.30',
- 'File::Spec::Win32' => '3.30',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.02',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'VMS::Filespec' => '1.12',
- 'Filter::Simple' => '0.84',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.10',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.07',
- 'Hash::Util::FieldHash' => '1.04',
- 'I18N::Collate' => '1.01',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.04',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.03',
- 'IO' => '1.25_02',
- 'IO::Compress::Adapter::Bzip2'=> '2.024',
- 'IO::Compress::Adapter::Deflate'=> '2.024',
- 'IO::Compress::Adapter::Identity'=> '2.024',
- 'IO::Compress::Base' => '2.024',
- 'IO::Compress::Base::Common'=> '2.024',
- 'IO::Compress::Bzip2' => '2.024',
- 'IO::Compress::Deflate' => '2.024',
- 'IO::Compress::Gzip' => '2.024',
- 'IO::Compress::Gzip::Constants'=> '2.024',
- 'IO::Compress::RawDeflate'=> '2.024',
- 'IO::Compress::Zip' => '2.024',
- 'IO::Compress::Zip::Constants'=> '2.024',
- 'IO::Compress::Zlib::Constants'=> '2.024',
- 'IO::Compress::Zlib::Extra'=> '2.024',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.31',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
- 'IO::Uncompress::Adapter::Identity'=> '2.024',
- 'IO::Uncompress::Adapter::Inflate'=> '2.024',
- 'IO::Uncompress::AnyInflate'=> '2.024',
- 'IO::Uncompress::AnyUncompress'=> '2.024',
- 'IO::Uncompress::Base' => '2.024',
- 'IO::Uncompress::Bunzip2'=> '2.024',
- 'IO::Uncompress::Gunzip'=> '2.024',
- 'IO::Uncompress::Inflate'=> '2.024',
- 'IO::Uncompress::RawInflate'=> '2.024',
- 'IO::Uncompress::Unzip' => '2.024',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.54',
- 'IPC::Msg' => '2.01',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.05',
- 'IPC::Semaphore' => '2.01',
- 'IPC::SharedMem' => '2.01',
- 'IPC::SysV' => '2.01',
- 'List::Util' => '1.22',
- 'List::Util::PP' => '1.22',
- 'List::Util::XS' => '1.22',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.14',
- 'Locale::Maketext::Guts'=> '1.13',
- 'Locale::Maketext::GutsLoader'=> '1.13',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '2.07',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.06',
- 'MIME::Base64' => '3.08',
- 'MIME::QuotedPrint' => '3.08',
- 'Math::BigFloat' => '1.60',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.89_01',
- 'Math::BigInt::Calc' => '0.52',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.19',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.24',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.01_03',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.3603',
- 'Module::Build::Base' => '0.3603',
- 'Module::Build::Compat' => '0.3603',
- 'Module::Build::Config' => '0.3603',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3603',
- 'Module::Build::Dumper' => '0.3603',
- 'Module::Build::ModuleInfo'=> '0.3603',
- 'Module::Build::Notes' => '0.3603',
- 'Module::Build::PPMMaker'=> '0.3603',
- 'Module::Build::Platform::Amiga'=> '0.3603',
- 'Module::Build::Platform::Default'=> '0.3603',
- 'Module::Build::Platform::EBCDIC'=> '0.3603',
- 'Module::Build::Platform::MPEiX'=> '0.3603',
- 'Module::Build::Platform::MacOS'=> '0.3603',
- 'Module::Build::Platform::RiscOS'=> '0.3603',
- 'Module::Build::Platform::Unix'=> '0.3603',
- 'Module::Build::Platform::VMS'=> '0.3603',
- 'Module::Build::Platform::VOS'=> '0.3603',
- 'Module::Build::Platform::Windows'=> '0.3603',
- 'Module::Build::Platform::aix'=> '0.3603',
- 'Module::Build::Platform::cygwin'=> '0.3603',
- 'Module::Build::Platform::darwin'=> '0.3603',
- 'Module::Build::Platform::os2'=> '0.3603',
- 'Module::Build::PodParser'=> '0.3603',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '1.40',
- 'Module::CoreList' => '2.29',
- 'Module::Load' => '0.16',
- 'Module::Load::Conditional'=> '0.34',
- 'Module::Loaded' => '0.06',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.08',
- 'NEXT' => '0.64',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.36',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.07',
- 'Object::Accessor' => '0.36',
- 'Opcode' => '1.15',
- 'POSIX' => '1.19',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.40',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.12',
- 'PerlIO::scalar' => '0.07',
- 'PerlIO::via' => '0.09',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.03',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.23',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_02',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Plainer' => '1.02',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.13',
- 'Pod::Simple::BlackBox' => '3.13',
- 'Pod::Simple::Checker' => '3.13',
- 'Pod::Simple::Debug' => '3.13',
- 'Pod::Simple::DumpAsText'=> '3.13',
- 'Pod::Simple::DumpAsXML'=> '3.13',
- 'Pod::Simple::HTML' => '3.13',
- 'Pod::Simple::HTMLBatch'=> '3.13',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.13',
- 'Pod::Simple::Methody' => '3.13',
- 'Pod::Simple::Progress' => '3.13',
- 'Pod::Simple::PullParser'=> '3.13',
- 'Pod::Simple::PullParserEndToken'=> '3.13',
- 'Pod::Simple::PullParserStartToken'=> '3.13',
- 'Pod::Simple::PullParserTextToken'=> '3.13',
- 'Pod::Simple::PullParserToken'=> '3.13',
- 'Pod::Simple::RTF' => '3.13',
- 'Pod::Simple::Search' => '3.13',
- 'Pod::Simple::SimpleTree'=> '3.13',
- 'Pod::Simple::Text' => '3.13',
- 'Pod::Simple::TextContent'=> '3.13',
- 'Pod::Simple::TiedOutFH'=> '3.13',
- 'Pod::Simple::Transcode'=> '3.13',
- 'Pod::Simple::TranscodeDumb'=> '3.13',
- 'Pod::Simple::TranscodeSmart'=> '3.13',
- 'Pod::Simple::XHTML' => '3.13',
- 'Pod::Simple::XMLOutStream'=> '3.13',
- 'Pod::Text' => '3.14',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.25',
- 'Scalar::Util' => '1.22',
- 'Scalar::Util::PP' => '1.22',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.17',
- 'Shell' => '0.72_01',
- 'Socket' => '1.87',
- 'Storable' => '2.22',
- 'Switch' => '2.16',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.17',
- 'TAP::Formatter::Base' => '3.17',
- 'TAP::Formatter::Color' => '3.17',
- 'TAP::Formatter::Console'=> '3.17',
- 'TAP::Formatter::Console::ParallelSession'=> '3.17',
- 'TAP::Formatter::Console::Session'=> '3.17',
- 'TAP::Formatter::File' => '3.17',
- 'TAP::Formatter::File::Session'=> '3.17',
- 'TAP::Formatter::Session'=> '3.17',
- 'TAP::Harness' => '3.17',
- 'TAP::Object' => '3.17',
- 'TAP::Parser' => '3.17',
- 'TAP::Parser::Aggregator'=> '3.17',
- 'TAP::Parser::Grammar' => '3.17',
- 'TAP::Parser::Iterator' => '3.17',
- 'TAP::Parser::Iterator::Array'=> '3.17',
- 'TAP::Parser::Iterator::Process'=> '3.17',
- 'TAP::Parser::Iterator::Stream'=> '3.17',
- 'TAP::Parser::IteratorFactory'=> '3.17',
- 'TAP::Parser::Multiplexer'=> '3.17',
- 'TAP::Parser::Result' => '3.17',
- 'TAP::Parser::Result::Bailout'=> '3.17',
- 'TAP::Parser::Result::Comment'=> '3.17',
- 'TAP::Parser::Result::Plan'=> '3.17',
- 'TAP::Parser::Result::Pragma'=> '3.17',
- 'TAP::Parser::Result::Test'=> '3.17',
- 'TAP::Parser::Result::Unknown'=> '3.17',
- 'TAP::Parser::Result::Version'=> '3.17',
- 'TAP::Parser::Result::YAML'=> '3.17',
- 'TAP::Parser::ResultFactory'=> '3.17',
- 'TAP::Parser::Scheduler'=> '3.17',
- 'TAP::Parser::Scheduler::Job'=> '3.17',
- 'TAP::Parser::Scheduler::Spinner'=> '3.17',
- 'TAP::Parser::Source' => '3.17',
- 'TAP::Parser::Source::Perl'=> '3.17',
- 'TAP::Parser::Utils' => '3.17',
- 'TAP::Parser::YAMLish::Reader'=> '3.17',
- 'TAP::Parser::YAMLish::Writer'=> '3.17',
- 'Term::ANSIColor' => '2.02',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.05',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.94',
- 'Test::Builder::Module' => '0.94',
- 'Test::Builder::Tester' => '1.18',
- 'Test::Builder::Tester::Color'=> '1.18',
- 'Test::Harness' => '3.17',
- 'Test::More' => '0.94',
- 'Test::Simple' => '0.94',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.09',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.03',
- 'Tie::Hash::NamedCapture'=> '0.06',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.02',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9719',
- 'Time::Local' => '1.1901_01',
- 'Time::Piece' => '1.15_01',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.06',
- 'Unicode' => '5.2.0',
- 'Unicode::Collate' => '0.52_01',
- 'Unicode::Normalize' => '1.03',
- 'Unicode::UCD' => '0.27',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.03',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.39',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.17',
- 'XS::APItest::KeywordRPN'=> '0.003',
- 'XS::Typemap' => '0.03',
- 'XSLoader' => '0.10',
- 'XSLoader::XSLoader' => '0.10',
- 'attributes' => '0.12',
- 'autodie' => '2.06_01',
- 'autodie::exception' => '2.06_01',
- 'autodie::exception::system'=> '2.06_01',
- 'autodie::hints' => '2.06_01',
- 'autouse' => '1.06',
- 'base' => '2.15',
- 'bigint' => '0.23',
- 'bignum' => '0.23',
- 'bigrat' => '0.23',
- 'blib' => '1.04',
- 'bytes' => '1.04',
- 'charnames' => '1.07',
- 'constant' => '1.20',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.19',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.16',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.05',
- 'inc::latest' => '0.3603',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.62',
- 'locale' => '1.00',
- 'mro' => '1.02',
- 'open' => '1.07',
- 'ops' => '1.02',
- 'overload' => '1.10',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.223',
- 're' => '0.11',
- 'sigtrap' => '1.04',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.75',
- 'threads::shared' => '1.32',
- 'utf8' => '1.08',
- 'vars' => '1.01',
- 'version' => '0.82',
- 'vmsish' => '1.02',
- 'warnings' => '1.09',
- 'warnings::register' => '1.01',
+ delta_from => 5.011004,
+ changed => {
+ 'B::Debug' => '1.12',
+ 'CPAN' => '1.94_56',
+ 'CPAN::Debug' => '5.5001',
+ 'CPAN::Distribution' => '1.9456',
+ 'CPAN::FirstTime' => '5.5301',
+ 'CPAN::HandleConfig' => '5.5001',
+ 'CPAN::Shell' => '5.5001',
+ 'CPAN::Tarzip' => '5.5011',
+ 'CPANPLUS::Dist::Build' => '0.46',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.46',
+ 'Module::CoreList' => '2.26',
+ 'Pod::Man' => '2.23',
+ 'Pod::ParseLink' => '1.10',
+ 'Pod::Perldoc' => '3.15_02',
+ 'Pod::Plainer' => '1.02',
+ 'Pod::Text' => '3.14',
+ 'Pod::Text::Color' => '2.06',
+ 'Pod::Text::Overstrike' => '2.04',
+ 'Pod::Text::Termcap' => '2.06',
+ 'Safe' => '2.22',
+ 'Socket' => '1.86',
+ 'version' => '0.82',
+ },
+ removed => {
+ }
},
-
- 5.013000 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.17',
- 'App::Prove::State' => '3.17',
- 'App::Prove::State::Result'=> '3.17',
- 'App::Prove::State::Result::Test'=> '3.17',
- 'Archive::Extract' => '0.38',
- 'Archive::Tar' => '1.54',
- 'Archive::Tar::Constant'=> '0.02',
- 'Archive::Tar::File' => '0.02',
- 'Attribute::Handlers' => '0.87',
- 'AutoLoader' => '5.70',
- 'AutoSplit' => '1.06',
- 'B' => '1.23',
- 'B::Concise' => '0.78',
- 'B::Debug' => '1.12',
- 'B::Deparse' => '0.96',
- 'B::Lint' => '1.11_01',
- 'B::Lint::Debug' => '0.01',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.49',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.45',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.08',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.48',
- 'CPAN' => '1.94_56',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9456_01',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5004',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.5301',
- 'CPAN::HandleConfig' => '5.5001',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Mirrors' => '1.77',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5',
- 'CPAN::Shell' => '5.5001',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5',
- 'CPANPLUS' => '0.90',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.46',
- 'CPANPLUS::Dist::Build::Constants'=> '0.46',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.90',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.90',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.15',
- 'Carp::Heavy' => '1.15',
- 'Class::ISA' => '0.36',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.024',
- 'Compress::Raw::Zlib' => '2.024',
- 'Compress::Zlib' => '2.024',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.31',
- 'DB' => '1.02',
- 'DBM_Filter' => '0.03',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'Data::Dumper' => '2.126',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.04',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.39',
- 'Digest::SHA' => '5.47',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.13',
- 'DynaLoader' => '1.10',
- 'Encode' => '2.39',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.03',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.11',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.04',
- 'Env' => '1.01',
- 'Errno' => '1.11',
- 'Exporter' => '5.64_01',
- 'Exporter::Heavy' => '5.64_01',
- 'ExtUtils::CBuilder' => '0.27',
- 'ExtUtils::CBuilder::Base'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.27',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.56',
- 'ExtUtils::Constant' => '0.22',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.06',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.28',
- 'ExtUtils::Install' => '1.55',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.56',
- 'ExtUtils::Liblist::Kid'=> '6.56',
- 'ExtUtils::MM' => '6.56',
- 'ExtUtils::MM_AIX' => '6.56',
- 'ExtUtils::MM_Any' => '6.56',
- 'ExtUtils::MM_BeOS' => '6.56',
- 'ExtUtils::MM_Cygwin' => '6.56',
- 'ExtUtils::MM_DOS' => '6.56',
- 'ExtUtils::MM_Darwin' => '6.56',
- 'ExtUtils::MM_MacOS' => '6.56',
- 'ExtUtils::MM_NW5' => '6.56',
- 'ExtUtils::MM_OS2' => '6.56',
- 'ExtUtils::MM_QNX' => '6.56',
- 'ExtUtils::MM_UWIN' => '6.56',
- 'ExtUtils::MM_Unix' => '6.5601',
- 'ExtUtils::MM_VMS' => '6.56',
- 'ExtUtils::MM_VOS' => '6.56',
- 'ExtUtils::MM_Win32' => '6.56',
- 'ExtUtils::MM_Win95' => '6.56',
- 'ExtUtils::MY' => '6.56',
- 'ExtUtils::MakeMaker' => '6.5601',
- 'ExtUtils::MakeMaker::Config'=> '6.56',
- 'ExtUtils::Manifest' => '1.57',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.56',
- 'ExtUtils::Mksymlists' => '6.56',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.21',
- 'ExtUtils::XSSymSet' => '1.1',
- 'ExtUtils::testlib' => '6.56',
- 'Fatal' => '2.06_01',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.78',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.18',
- 'File::DosGlob' => '1.01',
- 'File::Fetch' => '0.24',
- 'File::Find' => '1.15',
- 'File::Glob' => '1.07',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.31',
- 'File::Spec::Cygwin' => '3.30',
- 'File::Spec::Epoc' => '3.30',
- 'File::Spec::Functions' => '3.30',
- 'File::Spec::Mac' => '3.30',
- 'File::Spec::OS2' => '3.30',
- 'File::Spec::Unix' => '3.30',
- 'File::Spec::VMS' => '3.30',
- 'File::Spec::Win32' => '3.30',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.02',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'VMS::Filespec' => '1.12',
- 'Filter::Simple' => '0.84',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.10',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.07',
- 'Hash::Util::FieldHash' => '1.04',
- 'I18N::Collate' => '1.01',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.04',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.03',
- 'IO' => '1.25_02',
- 'IO::Compress::Adapter::Bzip2'=> '2.024',
- 'IO::Compress::Adapter::Deflate'=> '2.024',
- 'IO::Compress::Adapter::Identity'=> '2.024',
- 'IO::Compress::Base' => '2.024',
- 'IO::Compress::Base::Common'=> '2.024',
- 'IO::Compress::Bzip2' => '2.024',
- 'IO::Compress::Deflate' => '2.024',
- 'IO::Compress::Gzip' => '2.024',
- 'IO::Compress::Gzip::Constants'=> '2.024',
- 'IO::Compress::RawDeflate'=> '2.024',
- 'IO::Compress::Zip' => '2.024',
- 'IO::Compress::Zip::Constants'=> '2.024',
- 'IO::Compress::Zlib::Constants'=> '2.024',
- 'IO::Compress::Zlib::Extra'=> '2.024',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.31',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
- 'IO::Uncompress::Adapter::Identity'=> '2.024',
- 'IO::Uncompress::Adapter::Inflate'=> '2.024',
- 'IO::Uncompress::AnyInflate'=> '2.024',
- 'IO::Uncompress::AnyUncompress'=> '2.024',
- 'IO::Uncompress::Base' => '2.024',
- 'IO::Uncompress::Bunzip2'=> '2.024',
- 'IO::Uncompress::Gunzip'=> '2.024',
- 'IO::Uncompress::Inflate'=> '2.024',
- 'IO::Uncompress::RawInflate'=> '2.024',
- 'IO::Uncompress::Unzip' => '2.024',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.54',
- 'IPC::Msg' => '2.01',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.06',
- 'IPC::Semaphore' => '2.01',
- 'IPC::SharedMem' => '2.01',
- 'IPC::SysV' => '2.01',
- 'List::Util' => '1.22',
- 'List::Util::PP' => '1.22',
- 'List::Util::XS' => '1.22',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.14',
- 'Locale::Maketext::Guts'=> '1.13',
- 'Locale::Maketext::GutsLoader'=> '1.13',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '2.07',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.06',
- 'MIME::Base64' => '3.09',
- 'MIME::QuotedPrint' => '3.09',
- 'Math::BigFloat' => '1.60',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.89_01',
- 'Math::BigInt::Calc' => '0.52',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.19',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.24',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.01_03',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.3603',
- 'Module::Build::Base' => '0.3603',
- 'Module::Build::Compat' => '0.3603',
- 'Module::Build::Config' => '0.3603',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3603',
- 'Module::Build::Dumper' => '0.3603',
- 'Module::Build::ModuleInfo'=> '0.3603',
- 'Module::Build::Notes' => '0.3603',
- 'Module::Build::PPMMaker'=> '0.3603',
- 'Module::Build::Platform::Amiga'=> '0.3603',
- 'Module::Build::Platform::Default'=> '0.3603',
- 'Module::Build::Platform::EBCDIC'=> '0.3603',
- 'Module::Build::Platform::MPEiX'=> '0.3603',
- 'Module::Build::Platform::MacOS'=> '0.3603',
- 'Module::Build::Platform::RiscOS'=> '0.3603',
- 'Module::Build::Platform::Unix'=> '0.3603',
- 'Module::Build::Platform::VMS'=> '0.3603',
- 'Module::Build::Platform::VOS'=> '0.3603',
- 'Module::Build::Platform::Windows'=> '0.3603',
- 'Module::Build::Platform::aix'=> '0.3603',
- 'Module::Build::Platform::cygwin'=> '0.3603',
- 'Module::Build::Platform::darwin'=> '0.3603',
- 'Module::Build::Platform::os2'=> '0.3603',
- 'Module::Build::PodParser'=> '0.3603',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '1.40',
- 'Module::CoreList' => '2.31',
- 'Module::Load' => '0.16',
- 'Module::Load::Conditional'=> '0.34',
- 'Module::Loaded' => '0.06',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.08',
- 'NEXT' => '0.64',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.36',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.07',
- 'Object::Accessor' => '0.36',
- 'Opcode' => '1.15',
- 'POSIX' => '1.19',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.40',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.12',
- 'PerlIO::scalar' => '0.07',
- 'PerlIO::via' => '0.09',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.04',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.23',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_02',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Plainer' => '1.02',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.13',
- 'Pod::Simple::BlackBox' => '3.13',
- 'Pod::Simple::Checker' => '3.13',
- 'Pod::Simple::Debug' => '3.13',
- 'Pod::Simple::DumpAsText'=> '3.13',
- 'Pod::Simple::DumpAsXML'=> '3.13',
- 'Pod::Simple::HTML' => '3.13',
- 'Pod::Simple::HTMLBatch'=> '3.13',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.13',
- 'Pod::Simple::Methody' => '3.13',
- 'Pod::Simple::Progress' => '3.13',
- 'Pod::Simple::PullParser'=> '3.13',
- 'Pod::Simple::PullParserEndToken'=> '3.13',
- 'Pod::Simple::PullParserStartToken'=> '3.13',
- 'Pod::Simple::PullParserTextToken'=> '3.13',
- 'Pod::Simple::PullParserToken'=> '3.13',
- 'Pod::Simple::RTF' => '3.13',
- 'Pod::Simple::Search' => '3.13',
- 'Pod::Simple::SimpleTree'=> '3.13',
- 'Pod::Simple::Text' => '3.13',
- 'Pod::Simple::TextContent'=> '3.13',
- 'Pod::Simple::TiedOutFH'=> '3.13',
- 'Pod::Simple::Transcode'=> '3.13',
- 'Pod::Simple::TranscodeDumb'=> '3.13',
- 'Pod::Simple::TranscodeSmart'=> '3.13',
- 'Pod::Simple::XHTML' => '3.13',
- 'Pod::Simple::XMLOutStream'=> '3.13',
- 'Pod::Text' => '3.14',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.25',
- 'Scalar::Util' => '1.22',
- 'Scalar::Util::PP' => '1.22',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.17',
- 'Shell' => '0.72_01',
- 'Socket' => '1.87',
- 'Storable' => '2.22',
- 'Switch' => '2.16',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.17',
- 'TAP::Formatter::Base' => '3.17',
- 'TAP::Formatter::Color' => '3.17',
- 'TAP::Formatter::Console'=> '3.17',
- 'TAP::Formatter::Console::ParallelSession'=> '3.17',
- 'TAP::Formatter::Console::Session'=> '3.17',
- 'TAP::Formatter::File' => '3.17',
- 'TAP::Formatter::File::Session'=> '3.17',
- 'TAP::Formatter::Session'=> '3.17',
- 'TAP::Harness' => '3.17',
- 'TAP::Object' => '3.17',
- 'TAP::Parser' => '3.17',
- 'TAP::Parser::Aggregator'=> '3.17',
- 'TAP::Parser::Grammar' => '3.17',
- 'TAP::Parser::Iterator' => '3.17',
- 'TAP::Parser::Iterator::Array'=> '3.17',
- 'TAP::Parser::Iterator::Process'=> '3.17',
- 'TAP::Parser::Iterator::Stream'=> '3.17',
- 'TAP::Parser::IteratorFactory'=> '3.17',
- 'TAP::Parser::Multiplexer'=> '3.17',
- 'TAP::Parser::Result' => '3.17',
- 'TAP::Parser::Result::Bailout'=> '3.17',
- 'TAP::Parser::Result::Comment'=> '3.17',
- 'TAP::Parser::Result::Plan'=> '3.17',
- 'TAP::Parser::Result::Pragma'=> '3.17',
- 'TAP::Parser::Result::Test'=> '3.17',
- 'TAP::Parser::Result::Unknown'=> '3.17',
- 'TAP::Parser::Result::Version'=> '3.17',
- 'TAP::Parser::Result::YAML'=> '3.17',
- 'TAP::Parser::ResultFactory'=> '3.17',
- 'TAP::Parser::Scheduler'=> '3.17',
- 'TAP::Parser::Scheduler::Job'=> '3.17',
- 'TAP::Parser::Scheduler::Spinner'=> '3.17',
- 'TAP::Parser::Source' => '3.17',
- 'TAP::Parser::Source::Perl'=> '3.17',
- 'TAP::Parser::Utils' => '3.17',
- 'TAP::Parser::YAMLish::Reader'=> '3.17',
- 'TAP::Parser::YAMLish::Writer'=> '3.17',
- 'Term::ANSIColor' => '2.02',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.05',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.94',
- 'Test::Builder::Module' => '0.94',
- 'Test::Builder::Tester' => '1.18',
- 'Test::Builder::Tester::Color'=> '1.18',
- 'Test::Harness' => '3.17',
- 'Test::More' => '0.94',
- 'Test::Simple' => '0.94',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.09',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.03',
- 'Tie::Hash::NamedCapture'=> '0.06',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.02',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9719',
- 'Time::Local' => '1.1901_01',
- 'Time::Piece' => '1.15_01',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.06',
- 'Unicode' => '5.2.0',
- 'Unicode::Collate' => '0.52_01',
- 'Unicode::Normalize' => '1.03',
- 'Unicode::UCD' => '0.27',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.03',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.39',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.18',
- 'XS::APItest::KeywordRPN'=> '0.004',
- 'XS::Typemap' => '0.03',
- 'XSLoader' => '0.10',
- 'XSLoader::XSLoader' => '0.10',
- 'attributes' => '0.12',
- 'autodie' => '2.06_01',
- 'autodie::exception' => '2.06_01',
- 'autodie::exception::system'=> '2.06_01',
- 'autodie::hints' => '2.06_01',
- 'autouse' => '1.06',
- 'base' => '2.15',
- 'bigint' => '0.23',
- 'bignum' => '0.23',
- 'bigrat' => '0.23',
- 'blib' => '1.04',
- 'bytes' => '1.04',
- 'charnames' => '1.07',
- 'constant' => '1.20',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.19',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.17',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.05',
- 'inc::latest' => '0.3603',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.62',
- 'locale' => '1.00',
- 'mro' => '1.02',
- 'open' => '1.07',
- 'ops' => '1.02',
- 'overload' => '1.10',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.223',
- 're' => '0.11',
- 'sigtrap' => '1.04',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.77_01',
- 'threads::shared' => '1.33',
- 'utf8' => '1.08',
- 'vars' => '1.01',
- 'version' => '0.82',
- 'vmsish' => '1.02',
- 'warnings' => '1.09',
- 'warnings::register' => '1.01',
+ 5.012 => {
+ delta_from => 5.011005,
+ changed => {
+ 'B::Deparse' => '0.96',
+ 'CPAN::Distribution' => '1.9456_01',
+ 'Module::CoreList' => '2.29',
+ 'Safe' => '2.25',
+ 'Socket' => '1.87',
+ 'Tie::Scalar' => '1.02',
+ 'Time::Piece' => '1.15_01',
+ 'bytes' => '1.04',
+ 'feature' => '1.16',
+ 'utf8' => '1.08',
+ },
+ removed => {
+ }
},
-
5.012001 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.17',
- 'App::Prove::State' => '3.17',
- 'App::Prove::State::Result'=> '3.17',
- 'App::Prove::State::Result::Test'=> '3.17',
- 'Archive::Extract' => '0.38',
- 'Archive::Tar' => '1.54',
- 'Archive::Tar::Constant'=> '0.02',
- 'Archive::Tar::File' => '0.02',
- 'Attribute::Handlers' => '0.87',
- 'AutoLoader' => '5.70',
- 'AutoSplit' => '1.06',
- 'B' => '1.23',
- 'B::Concise' => '0.78',
- 'B::Debug' => '1.12',
- 'B::Deparse' => '0.97',
- 'B::Lint' => '1.11_01',
- 'B::Lint::Debug' => '0.01',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.49',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.45',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.08',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.48',
- 'CPAN' => '1.94_56',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9456_01',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5004',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.5301',
- 'CPAN::HandleConfig' => '5.5001',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Mirrors' => '1.77',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5',
- 'CPAN::Shell' => '5.5001',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5',
- 'CPANPLUS' => '0.90',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.46',
- 'CPANPLUS::Dist::Build::Constants'=> '0.46',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.90',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.90',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.16',
- 'Carp::Heavy' => '1.16',
- 'Class::ISA' => '0.36',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.024',
- 'Compress::Raw::Zlib' => '2.024',
- 'Compress::Zlib' => '2.024',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.31',
- 'DB' => '1.02',
- 'DBM_Filter' => '0.03',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'Data::Dumper' => '2.125',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.04',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.39',
- 'Digest::SHA' => '5.47',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.13',
- 'DynaLoader' => '1.10',
- 'Encode' => '2.39',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.03',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.11',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.04',
- 'Env' => '1.01',
- 'Errno' => '1.11',
- 'Exporter' => '5.64_01',
- 'Exporter::Heavy' => '5.64_01',
- 'ExtUtils::CBuilder' => '0.27',
- 'ExtUtils::CBuilder::Base'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.27',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.56',
- 'ExtUtils::Constant' => '0.22',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.06',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.28',
- 'ExtUtils::Install' => '1.55',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.56',
- 'ExtUtils::Liblist::Kid'=> '6.56',
- 'ExtUtils::MM' => '6.56',
- 'ExtUtils::MM_AIX' => '6.56',
- 'ExtUtils::MM_Any' => '6.56',
- 'ExtUtils::MM_BeOS' => '6.56',
- 'ExtUtils::MM_Cygwin' => '6.56',
- 'ExtUtils::MM_DOS' => '6.56',
- 'ExtUtils::MM_Darwin' => '6.56',
- 'ExtUtils::MM_MacOS' => '6.56',
- 'ExtUtils::MM_NW5' => '6.56',
- 'ExtUtils::MM_OS2' => '6.56',
- 'ExtUtils::MM_QNX' => '6.56',
- 'ExtUtils::MM_UWIN' => '6.56',
- 'ExtUtils::MM_Unix' => '6.56',
- 'ExtUtils::MM_VMS' => '6.56',
- 'ExtUtils::MM_VOS' => '6.56',
- 'ExtUtils::MM_Win32' => '6.56',
- 'ExtUtils::MM_Win95' => '6.56',
- 'ExtUtils::MY' => '6.56',
- 'ExtUtils::MakeMaker' => '6.56',
- 'ExtUtils::MakeMaker::Config'=> '6.56',
- 'ExtUtils::Manifest' => '1.57',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.56',
- 'ExtUtils::Mksymlists' => '6.56',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.21',
- 'ExtUtils::XSSymSet' => '1.1',
- 'ExtUtils::testlib' => '6.56',
- 'Fatal' => '2.06_01',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.78',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.18',
- 'File::DosGlob' => '1.01',
- 'File::Fetch' => '0.24',
- 'File::Find' => '1.15',
- 'File::Glob' => '1.07',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.31',
- 'File::Spec::Cygwin' => '3.30',
- 'File::Spec::Epoc' => '3.30',
- 'File::Spec::Functions' => '3.30',
- 'File::Spec::Mac' => '3.30',
- 'File::Spec::OS2' => '3.30',
- 'File::Spec::Unix' => '3.30',
- 'File::Spec::VMS' => '3.30',
- 'File::Spec::Win32' => '3.30',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.02',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'VMS::Filespec' => '1.12',
- 'Filter::Simple' => '0.84',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.10',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.07',
- 'Hash::Util::FieldHash' => '1.04',
- 'I18N::Collate' => '1.01',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.04',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.03',
- 'IO' => '1.25_02',
- 'IO::Compress::Adapter::Bzip2'=> '2.024',
- 'IO::Compress::Adapter::Deflate'=> '2.024',
- 'IO::Compress::Adapter::Identity'=> '2.024',
- 'IO::Compress::Base' => '2.024',
- 'IO::Compress::Base::Common'=> '2.024',
- 'IO::Compress::Bzip2' => '2.024',
- 'IO::Compress::Deflate' => '2.024',
- 'IO::Compress::Gzip' => '2.024',
- 'IO::Compress::Gzip::Constants'=> '2.024',
- 'IO::Compress::RawDeflate'=> '2.024',
- 'IO::Compress::Zip' => '2.024',
- 'IO::Compress::Zip::Constants'=> '2.024',
- 'IO::Compress::Zlib::Constants'=> '2.024',
- 'IO::Compress::Zlib::Extra'=> '2.024',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.31',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
- 'IO::Uncompress::Adapter::Identity'=> '2.024',
- 'IO::Uncompress::Adapter::Inflate'=> '2.024',
- 'IO::Uncompress::AnyInflate'=> '2.024',
- 'IO::Uncompress::AnyUncompress'=> '2.024',
- 'IO::Uncompress::Base' => '2.024',
- 'IO::Uncompress::Bunzip2'=> '2.024',
- 'IO::Uncompress::Gunzip'=> '2.024',
- 'IO::Uncompress::Inflate'=> '2.024',
- 'IO::Uncompress::RawInflate'=> '2.024',
- 'IO::Uncompress::Unzip' => '2.024',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.54',
- 'IPC::Msg' => '2.01',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.05',
- 'IPC::Semaphore' => '2.01',
- 'IPC::SharedMem' => '2.01',
- 'IPC::SysV' => '2.01',
- 'List::Util' => '1.22',
- 'List::Util::PP' => '1.22',
- 'List::Util::XS' => '1.22',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.14',
- 'Locale::Maketext::Guts'=> '1.13',
- 'Locale::Maketext::GutsLoader'=> '1.13',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '2.07',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.06',
- 'MIME::Base64' => '3.08',
- 'MIME::QuotedPrint' => '3.08',
- 'Math::BigFloat' => '1.60',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.89_01',
- 'Math::BigInt::Calc' => '0.52',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.19',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.24',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.01_03',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.3603',
- 'Module::Build::Base' => '0.3603',
- 'Module::Build::Compat' => '0.3603',
- 'Module::Build::Config' => '0.3603',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3603',
- 'Module::Build::Dumper' => '0.3603',
- 'Module::Build::ModuleInfo'=> '0.3603',
- 'Module::Build::Notes' => '0.3603',
- 'Module::Build::PPMMaker'=> '0.3603',
- 'Module::Build::Platform::Amiga'=> '0.3603',
- 'Module::Build::Platform::Default'=> '0.3603',
- 'Module::Build::Platform::EBCDIC'=> '0.3603',
- 'Module::Build::Platform::MPEiX'=> '0.3603',
- 'Module::Build::Platform::MacOS'=> '0.3603',
- 'Module::Build::Platform::RiscOS'=> '0.3603',
- 'Module::Build::Platform::Unix'=> '0.3603',
- 'Module::Build::Platform::VMS'=> '0.3603',
- 'Module::Build::Platform::VOS'=> '0.3603',
- 'Module::Build::Platform::Windows'=> '0.3603',
- 'Module::Build::Platform::aix'=> '0.3603',
- 'Module::Build::Platform::cygwin'=> '0.3603',
- 'Module::Build::Platform::darwin'=> '0.3603',
- 'Module::Build::Platform::os2'=> '0.3603',
- 'Module::Build::PodParser'=> '0.3603',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '1.40',
- 'Module::CoreList' => '2.32',
- 'Module::Load' => '0.16',
- 'Module::Load::Conditional'=> '0.34',
- 'Module::Loaded' => '0.06',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.08',
- 'NEXT' => '0.64',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.36',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.07',
- 'Object::Accessor' => '0.36',
- 'Opcode' => '1.15',
- 'POSIX' => '1.19',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.40',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.12',
- 'PerlIO::scalar' => '0.07',
- 'PerlIO::via' => '0.09',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.04',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.23',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_02',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Plainer' => '1.02',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.14',
- 'Pod::Simple::BlackBox' => '3.14',
- 'Pod::Simple::Checker' => '3.14',
- 'Pod::Simple::Debug' => '3.14',
- 'Pod::Simple::DumpAsText'=> '3.14',
- 'Pod::Simple::DumpAsXML'=> '3.14',
- 'Pod::Simple::HTML' => '3.14',
- 'Pod::Simple::HTMLBatch'=> '3.14',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.14',
- 'Pod::Simple::Methody' => '3.14',
- 'Pod::Simple::Progress' => '3.14',
- 'Pod::Simple::PullParser'=> '3.14',
- 'Pod::Simple::PullParserEndToken'=> '3.14',
- 'Pod::Simple::PullParserStartToken'=> '3.14',
- 'Pod::Simple::PullParserTextToken'=> '3.14',
- 'Pod::Simple::PullParserToken'=> '3.14',
- 'Pod::Simple::RTF' => '3.14',
- 'Pod::Simple::Search' => '3.14',
- 'Pod::Simple::SimpleTree'=> '3.14',
- 'Pod::Simple::Text' => '3.14',
- 'Pod::Simple::TextContent'=> '3.14',
- 'Pod::Simple::TiedOutFH'=> '3.14',
- 'Pod::Simple::Transcode'=> '3.14',
- 'Pod::Simple::TranscodeDumb'=> '3.14',
- 'Pod::Simple::TranscodeSmart'=> '3.14',
- 'Pod::Simple::XHTML' => '3.14',
- 'Pod::Simple::XMLOutStream'=> '3.14',
- 'Pod::Text' => '3.14',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.27',
- 'Scalar::Util' => '1.22',
- 'Scalar::Util::PP' => '1.22',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.17',
- 'Shell' => '0.72_01',
- 'Socket' => '1.87',
- 'Storable' => '2.22',
- 'Switch' => '2.16',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.17',
- 'TAP::Formatter::Base' => '3.17',
- 'TAP::Formatter::Color' => '3.17',
- 'TAP::Formatter::Console'=> '3.17',
- 'TAP::Formatter::Console::ParallelSession'=> '3.17',
- 'TAP::Formatter::Console::Session'=> '3.17',
- 'TAP::Formatter::File' => '3.17',
- 'TAP::Formatter::File::Session'=> '3.17',
- 'TAP::Formatter::Session'=> '3.17',
- 'TAP::Harness' => '3.17',
- 'TAP::Object' => '3.17',
- 'TAP::Parser' => '3.17',
- 'TAP::Parser::Aggregator'=> '3.17',
- 'TAP::Parser::Grammar' => '3.17',
- 'TAP::Parser::Iterator' => '3.17',
- 'TAP::Parser::Iterator::Array'=> '3.17',
- 'TAP::Parser::Iterator::Process'=> '3.17',
- 'TAP::Parser::Iterator::Stream'=> '3.17',
- 'TAP::Parser::IteratorFactory'=> '3.17',
- 'TAP::Parser::Multiplexer'=> '3.17',
- 'TAP::Parser::Result' => '3.17',
- 'TAP::Parser::Result::Bailout'=> '3.17',
- 'TAP::Parser::Result::Comment'=> '3.17',
- 'TAP::Parser::Result::Plan'=> '3.17',
- 'TAP::Parser::Result::Pragma'=> '3.17',
- 'TAP::Parser::Result::Test'=> '3.17',
- 'TAP::Parser::Result::Unknown'=> '3.17',
- 'TAP::Parser::Result::Version'=> '3.17',
- 'TAP::Parser::Result::YAML'=> '3.17',
- 'TAP::Parser::ResultFactory'=> '3.17',
- 'TAP::Parser::Scheduler'=> '3.17',
- 'TAP::Parser::Scheduler::Job'=> '3.17',
- 'TAP::Parser::Scheduler::Spinner'=> '3.17',
- 'TAP::Parser::Source' => '3.17',
- 'TAP::Parser::Source::Perl'=> '3.17',
- 'TAP::Parser::Utils' => '3.17',
- 'TAP::Parser::YAMLish::Reader'=> '3.17',
- 'TAP::Parser::YAMLish::Writer'=> '3.17',
- 'Term::ANSIColor' => '2.02',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.05',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.94',
- 'Test::Builder::Module' => '0.94',
- 'Test::Builder::Tester' => '1.18',
- 'Test::Builder::Tester::Color'=> '1.18',
- 'Test::Harness' => '3.17',
- 'Test::More' => '0.94',
- 'Test::Simple' => '0.94',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.09',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.03',
- 'Tie::Hash::NamedCapture'=> '0.06',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.02',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9719',
- 'Time::Local' => '1.1901_01',
- 'Time::Piece' => '1.15_01',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.06',
- 'Unicode' => '5.2.0',
- 'Unicode::Collate' => '0.52_01',
- 'Unicode::Normalize' => '1.03',
- 'Unicode::UCD' => '0.27',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.03',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.39',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.17',
- 'XS::APItest::KeywordRPN'=> '0.003',
- 'XS::Typemap' => '0.03',
- 'XSLoader' => '0.10',
- 'XSLoader::XSLoader' => '0.10',
- 'attributes' => '0.12',
- 'autodie' => '2.06_01',
- 'autodie::exception' => '2.06_01',
- 'autodie::exception::system'=> '2.06_01',
- 'autodie::hints' => '2.06_01',
- 'autouse' => '1.06',
- 'base' => '2.15',
- 'bigint' => '0.23',
- 'bignum' => '0.23',
- 'bigrat' => '0.23',
- 'blib' => '1.04',
- 'bytes' => '1.04',
- 'charnames' => '1.07',
- 'constant' => '1.20',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.19',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.16',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.05',
- 'inc::latest' => '0.3603',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.62',
- 'locale' => '1.00',
- 'mro' => '1.02',
- 'open' => '1.07',
- 'ops' => '1.02',
- 'overload' => '1.10',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.223',
- 're' => '0.11',
- 'sigtrap' => '1.04',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.75',
- 'threads::shared' => '1.32',
- 'utf8' => '1.08',
- 'vars' => '1.01',
- 'version' => '0.82',
- 'vmsish' => '1.02',
- 'warnings' => '1.09',
- 'warnings::register' => '1.01',
+ delta_from => 5.012,
+ changed => {
+ 'B::Deparse' => '0.97',
+ 'CGI' => '3.49',
+ 'CGI::Fast' => '1.08',
+ 'Carp' => '1.16',
+ 'Carp::Heavy' => '1.16',
+ 'File::Copy' => '2.18',
+ 'Module::CoreList' => '2.32',
+ 'Pod::Functions' => '1.04',
+ 'Pod::Simple' => '3.14',
+ 'Pod::Simple::BlackBox' => '3.14',
+ 'Pod::Simple::Checker' => '3.14',
+ 'Pod::Simple::Debug' => '3.14',
+ 'Pod::Simple::DumpAsText'=> '3.14',
+ 'Pod::Simple::DumpAsXML'=> '3.14',
+ 'Pod::Simple::HTML' => '3.14',
+ 'Pod::Simple::HTMLBatch'=> '3.14',
+ 'Pod::Simple::LinkSection'=> '3.14',
+ 'Pod::Simple::Methody' => '3.14',
+ 'Pod::Simple::Progress' => '3.14',
+ 'Pod::Simple::PullParser'=> '3.14',
+ 'Pod::Simple::PullParserEndToken'=> '3.14',
+ 'Pod::Simple::PullParserStartToken'=> '3.14',
+ 'Pod::Simple::PullParserTextToken'=> '3.14',
+ 'Pod::Simple::PullParserToken'=> '3.14',
+ 'Pod::Simple::RTF' => '3.14',
+ 'Pod::Simple::Search' => '3.14',
+ 'Pod::Simple::SimpleTree'=> '3.14',
+ 'Pod::Simple::Text' => '3.14',
+ 'Pod::Simple::TextContent'=> '3.14',
+ 'Pod::Simple::TiedOutFH'=> '3.14',
+ 'Pod::Simple::Transcode'=> '3.14',
+ 'Pod::Simple::TranscodeDumb'=> '3.14',
+ 'Pod::Simple::TranscodeSmart'=> '3.14',
+ 'Pod::Simple::XHTML' => '3.14',
+ 'Pod::Simple::XMLOutStream'=> '3.14',
+ 'Safe' => '2.27',
+ },
+ removed => {
+ }
+ },
+ 5.012002 => {
+ delta_from => 5.012001,
+ changed => {
+ 'Carp' => '1.17',
+ 'Carp::Heavy' => '1.17',
+ 'File::Spec' => '3.31_01',
+ 'Module::CoreList' => '2.38',
+ 'Module::Load::Conditional'=> '0.38',
+ 'PerlIO::scalar' => '0.08',
+ },
+ removed => {
+ }
+ },
+ 5.012003 => {
+ delta_from => 5.012002,
+ changed => {
+ 'B::Deparse' => '0.9701',
+ 'Module::Build::Platform::cygwin'=> '0.360301',
+ 'Module::CoreList' => '2.43',
+ 'Socket' => '1.87_01',
+ },
+ removed => {
+ }
+ },
+ 5.012004 => {
+ delta_from => 5.012003,
+ changed => {
+ 'Module::CoreList' => '2.50',
+ },
+ removed => {
+ }
+ },
+ 5.013 => {
+ delta_from => 5.012,
+ changed => {
+ 'CGI' => '3.49',
+ 'CGI::Fast' => '1.08',
+ 'Data::Dumper' => '2.126',
+ 'ExtUtils::MM_Unix' => '6.5601',
+ 'ExtUtils::MakeMaker' => '6.5601',
+ 'File::Copy' => '2.18',
+ 'IPC::Open3' => '1.06',
+ 'MIME::Base64' => '3.09',
+ 'MIME::QuotedPrint' => '3.09',
+ 'Module::CoreList' => '2.31',
+ 'Pod::Functions' => '1.04',
+ 'XS::APItest' => '0.18',
+ 'XS::APItest::KeywordRPN'=> '0.004',
+ 'feature' => '1.17',
+ 'threads' => '1.77_01',
+ 'threads::shared' => '1.33',
+ },
+ removed => {
+ }
},
-
5.013001 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.17',
- 'App::Prove::State' => '3.17',
- 'App::Prove::State::Result'=> '3.17',
- 'App::Prove::State::Result::Test'=> '3.17',
- 'Archive::Extract' => '0.38',
- 'Archive::Tar' => '1.54',
- 'Archive::Tar::Constant'=> '0.02',
- 'Archive::Tar::File' => '0.02',
- 'Attribute::Handlers' => '0.87',
- 'AutoLoader' => '5.70',
- 'AutoSplit' => '1.06',
- 'B' => '1.23',
- 'B::Concise' => '0.78',
- 'B::Debug' => '1.12',
- 'B::Deparse' => '0.97',
- 'B::Lint' => '1.11_01',
- 'B::Lint::Debug' => '0.01',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.49',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.45',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.08',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.48',
- 'CPAN' => '1.94_56',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9456_01',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5004',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.5301',
- 'CPAN::HandleConfig' => '5.5001',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Mirrors' => '1.77',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5',
- 'CPAN::Shell' => '5.5001',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5',
- 'CPANPLUS' => '0.90',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.46',
- 'CPANPLUS::Dist::Build::Constants'=> '0.46',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.90',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.90',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.16',
- 'Carp::Heavy' => '1.16',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.024',
- 'Compress::Raw::Zlib' => '2.024',
- 'Compress::Zlib' => '2.024',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.31',
- 'DB' => '1.02',
- 'DBM_Filter' => '0.03',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'Data::Dumper' => '2.126',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.04',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.39',
- 'Digest::SHA' => '5.47',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.14',
- 'DynaLoader' => '1.10',
- 'Encode' => '2.39',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.03',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.11',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.04',
- 'Env' => '1.01',
- 'Errno' => '1.12',
- 'Exporter' => '5.64_01',
- 'Exporter::Heavy' => '5.64_01',
- 'ExtUtils::CBuilder' => '0.27',
- 'ExtUtils::CBuilder::Base'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.27',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.56',
- 'ExtUtils::Constant' => '0.22',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.06',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.28',
- 'ExtUtils::Install' => '1.55',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.56',
- 'ExtUtils::Liblist::Kid'=> '6.56',
- 'ExtUtils::MM' => '6.56',
- 'ExtUtils::MM_AIX' => '6.56',
- 'ExtUtils::MM_Any' => '6.56',
- 'ExtUtils::MM_BeOS' => '6.56',
- 'ExtUtils::MM_Cygwin' => '6.56',
- 'ExtUtils::MM_DOS' => '6.56',
- 'ExtUtils::MM_Darwin' => '6.56',
- 'ExtUtils::MM_MacOS' => '6.56',
- 'ExtUtils::MM_NW5' => '6.56',
- 'ExtUtils::MM_OS2' => '6.56',
- 'ExtUtils::MM_QNX' => '6.56',
- 'ExtUtils::MM_UWIN' => '6.56',
- 'ExtUtils::MM_Unix' => '6.5601',
- 'ExtUtils::MM_VMS' => '6.56',
- 'ExtUtils::MM_VOS' => '6.56',
- 'ExtUtils::MM_Win32' => '6.56',
- 'ExtUtils::MM_Win95' => '6.56',
- 'ExtUtils::MY' => '6.56',
- 'ExtUtils::MakeMaker' => '6.5601',
- 'ExtUtils::MakeMaker::Config'=> '6.56',
- 'ExtUtils::Manifest' => '1.57',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.56',
- 'ExtUtils::Mksymlists' => '6.56',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.2205',
- 'ExtUtils::XSSymSet' => '1.1',
- 'ExtUtils::testlib' => '6.56',
- 'Fatal' => '2.06_01',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.78',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.18',
- 'File::DosGlob' => '1.01',
- 'File::Fetch' => '0.24',
- 'File::Find' => '1.16',
- 'File::Glob' => '1.07',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.31',
- 'File::Spec::Cygwin' => '3.30',
- 'File::Spec::Epoc' => '3.30',
- 'File::Spec::Functions' => '3.30',
- 'File::Spec::Mac' => '3.30',
- 'File::Spec::OS2' => '3.30',
- 'File::Spec::Unix' => '3.30',
- 'File::Spec::VMS' => '3.30',
- 'File::Spec::Win32' => '3.30',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.02',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'VMS::Filespec' => '1.12',
- 'Filter::Simple' => '0.84',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.10',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.07',
- 'Hash::Util::FieldHash' => '1.04',
- 'I18N::Collate' => '1.01',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.04',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.03',
- 'IO' => '1.25_02',
- 'IO::Compress::Adapter::Bzip2'=> '2.024',
- 'IO::Compress::Adapter::Deflate'=> '2.024',
- 'IO::Compress::Adapter::Identity'=> '2.024',
- 'IO::Compress::Base' => '2.024',
- 'IO::Compress::Base::Common'=> '2.024',
- 'IO::Compress::Bzip2' => '2.024',
- 'IO::Compress::Deflate' => '2.024',
- 'IO::Compress::Gzip' => '2.024',
- 'IO::Compress::Gzip::Constants'=> '2.024',
- 'IO::Compress::RawDeflate'=> '2.024',
- 'IO::Compress::Zip' => '2.024',
- 'IO::Compress::Zip::Constants'=> '2.024',
- 'IO::Compress::Zlib::Constants'=> '2.024',
- 'IO::Compress::Zlib::Extra'=> '2.024',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.31',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
- 'IO::Uncompress::Adapter::Identity'=> '2.024',
- 'IO::Uncompress::Adapter::Inflate'=> '2.024',
- 'IO::Uncompress::AnyInflate'=> '2.024',
- 'IO::Uncompress::AnyUncompress'=> '2.024',
- 'IO::Uncompress::Base' => '2.024',
- 'IO::Uncompress::Bunzip2'=> '2.024',
- 'IO::Uncompress::Gunzip'=> '2.024',
- 'IO::Uncompress::Inflate'=> '2.024',
- 'IO::Uncompress::RawInflate'=> '2.024',
- 'IO::Uncompress::Unzip' => '2.024',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.58',
- 'IPC::Msg' => '2.01',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.06',
- 'IPC::Semaphore' => '2.01',
- 'IPC::SharedMem' => '2.01',
- 'IPC::SysV' => '2.01',
- 'List::Util' => '1.23',
- 'List::Util::PP' => '1.23',
- 'List::Util::XS' => '1.23',
- 'Locale::Codes' => '3.12',
- 'Locale::Codes::Country'=> '3.12',
- 'Locale::Codes::Currency'=> '3.12',
- 'Locale::Codes::Language'=> '3.12',
- 'Locale::Codes::Script' => '3.12',
- 'Locale::Constants' => '3.12',
- 'Locale::Country' => '3.12',
- 'Locale::Currency' => '3.12',
- 'Locale::Language' => '3.12',
- 'Locale::Maketext' => '1.14',
- 'Locale::Maketext::Guts'=> '1.13',
- 'Locale::Maketext::GutsLoader'=> '1.13',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '3.12',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.06',
- 'MIME::Base64' => '3.09',
- 'MIME::QuotedPrint' => '3.09',
- 'Math::BigFloat' => '1.60',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.89_01',
- 'Math::BigInt::Calc' => '0.52',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.19',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.24',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.01_03',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.3603',
- 'Module::Build::Base' => '0.3603',
- 'Module::Build::Compat' => '0.3603',
- 'Module::Build::Config' => '0.3603',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3603',
- 'Module::Build::Dumper' => '0.3603',
- 'Module::Build::ModuleInfo'=> '0.3603',
- 'Module::Build::Notes' => '0.3603',
- 'Module::Build::PPMMaker'=> '0.3603',
- 'Module::Build::Platform::Amiga'=> '0.3603',
- 'Module::Build::Platform::Default'=> '0.3603',
- 'Module::Build::Platform::EBCDIC'=> '0.3603',
- 'Module::Build::Platform::MPEiX'=> '0.3603',
- 'Module::Build::Platform::MacOS'=> '0.3603',
- 'Module::Build::Platform::RiscOS'=> '0.3603',
- 'Module::Build::Platform::Unix'=> '0.3603',
- 'Module::Build::Platform::VMS'=> '0.3603',
- 'Module::Build::Platform::VOS'=> '0.3603',
- 'Module::Build::Platform::Windows'=> '0.3603',
- 'Module::Build::Platform::aix'=> '0.3603',
- 'Module::Build::Platform::cygwin'=> '0.360301',
- 'Module::Build::Platform::darwin'=> '0.3603',
- 'Module::Build::Platform::os2'=> '0.3603',
- 'Module::Build::PodParser'=> '0.3603',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '1.40',
- 'Module::CoreList' => '2.34',
- 'Module::Load' => '0.16',
- 'Module::Load::Conditional'=> '0.38',
- 'Module::Loaded' => '0.06',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.08',
- 'NEXT' => '0.64',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.36',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.07',
- 'Object::Accessor' => '0.36',
- 'Opcode' => '1.15',
- 'POSIX' => '1.19',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.40',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.12',
- 'PerlIO::scalar' => '0.08',
- 'PerlIO::via' => '0.09',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.04',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.23',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_02',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.14',
- 'Pod::Simple::BlackBox' => '3.14',
- 'Pod::Simple::Checker' => '3.14',
- 'Pod::Simple::Debug' => '3.14',
- 'Pod::Simple::DumpAsText'=> '3.14',
- 'Pod::Simple::DumpAsXML'=> '3.14',
- 'Pod::Simple::HTML' => '3.14',
- 'Pod::Simple::HTMLBatch'=> '3.14',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.14',
- 'Pod::Simple::Methody' => '3.14',
- 'Pod::Simple::Progress' => '3.14',
- 'Pod::Simple::PullParser'=> '3.14',
- 'Pod::Simple::PullParserEndToken'=> '3.14',
- 'Pod::Simple::PullParserStartToken'=> '3.14',
- 'Pod::Simple::PullParserTextToken'=> '3.14',
- 'Pod::Simple::PullParserToken'=> '3.14',
- 'Pod::Simple::RTF' => '3.14',
- 'Pod::Simple::Search' => '3.14',
- 'Pod::Simple::SimpleTree'=> '3.14',
- 'Pod::Simple::Text' => '3.14',
- 'Pod::Simple::TextContent'=> '3.14',
- 'Pod::Simple::TiedOutFH'=> '3.14',
- 'Pod::Simple::Transcode'=> '3.14',
- 'Pod::Simple::TranscodeDumb'=> '3.14',
- 'Pod::Simple::TranscodeSmart'=> '3.14',
- 'Pod::Simple::XHTML' => '3.14',
- 'Pod::Simple::XMLOutStream'=> '3.14',
- 'Pod::Text' => '3.14',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.27',
- 'Scalar::Util' => '1.23',
- 'Scalar::Util::PP' => '1.23',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.17',
- 'Shell' => '0.72_01',
- 'Socket' => '1.88',
- 'Storable' => '2.22',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.17',
- 'TAP::Formatter::Base' => '3.17',
- 'TAP::Formatter::Color' => '3.17',
- 'TAP::Formatter::Console'=> '3.17',
- 'TAP::Formatter::Console::ParallelSession'=> '3.17',
- 'TAP::Formatter::Console::Session'=> '3.17',
- 'TAP::Formatter::File' => '3.17',
- 'TAP::Formatter::File::Session'=> '3.17',
- 'TAP::Formatter::Session'=> '3.17',
- 'TAP::Harness' => '3.17',
- 'TAP::Object' => '3.17',
- 'TAP::Parser' => '3.17',
- 'TAP::Parser::Aggregator'=> '3.17',
- 'TAP::Parser::Grammar' => '3.17',
- 'TAP::Parser::Iterator' => '3.17',
- 'TAP::Parser::Iterator::Array'=> '3.17',
- 'TAP::Parser::Iterator::Process'=> '3.17',
- 'TAP::Parser::Iterator::Stream'=> '3.17',
- 'TAP::Parser::IteratorFactory'=> '3.17',
- 'TAP::Parser::Multiplexer'=> '3.17',
- 'TAP::Parser::Result' => '3.17',
- 'TAP::Parser::Result::Bailout'=> '3.17',
- 'TAP::Parser::Result::Comment'=> '3.17',
- 'TAP::Parser::Result::Plan'=> '3.17',
- 'TAP::Parser::Result::Pragma'=> '3.17',
- 'TAP::Parser::Result::Test'=> '3.17',
- 'TAP::Parser::Result::Unknown'=> '3.17',
- 'TAP::Parser::Result::Version'=> '3.17',
- 'TAP::Parser::Result::YAML'=> '3.17',
- 'TAP::Parser::ResultFactory'=> '3.17',
- 'TAP::Parser::Scheduler'=> '3.17',
- 'TAP::Parser::Scheduler::Job'=> '3.17',
- 'TAP::Parser::Scheduler::Spinner'=> '3.17',
- 'TAP::Parser::Source' => '3.17',
- 'TAP::Parser::Source::Perl'=> '3.17',
- 'TAP::Parser::Utils' => '3.17',
- 'TAP::Parser::YAMLish::Reader'=> '3.17',
- 'TAP::Parser::YAMLish::Writer'=> '3.17',
- 'Term::ANSIColor' => '2.02',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.06',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.94',
- 'Test::Builder::Module' => '0.94',
- 'Test::Builder::Tester' => '1.18',
- 'Test::Builder::Tester::Color'=> '1.18',
- 'Test::Harness' => '3.17',
- 'Test::More' => '0.94',
- 'Test::Simple' => '0.94',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.09',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.03',
- 'Tie::Hash::NamedCapture'=> '0.06',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.02',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9719',
- 'Time::Local' => '1.1901_01',
- 'Time::Piece' => '1.15_01',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.06',
- 'Unicode' => '5.2.0',
- 'Unicode::Collate' => '0.52_01',
- 'Unicode::Normalize' => '1.03',
- 'Unicode::UCD' => '0.28',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.03',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.39',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.19',
- 'XS::APItest::KeywordRPN'=> '0.004',
- 'XS::Typemap' => '0.03',
- 'XSLoader' => '0.10',
- 'XSLoader::XSLoader' => '0.10',
- 'attributes' => '0.12',
- 'autodie' => '2.06_01',
- 'autodie::exception' => '2.06_01',
- 'autodie::exception::system'=> '2.06_01',
- 'autodie::hints' => '2.06_01',
- 'autouse' => '1.06',
- 'base' => '2.15',
- 'bigint' => '0.23',
- 'bignum' => '0.23',
- 'bigrat' => '0.23',
- 'blib' => '1.04',
- 'bytes' => '1.04',
- 'charnames' => '1.08',
- 'constant' => '1.20',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.19',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.17',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.05',
- 'inc::latest' => '0.3603',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.62',
- 'locale' => '1.00',
- 'mro' => '1.02',
- 'open' => '1.07',
- 'ops' => '1.02',
- 'overload' => '1.10',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.223',
- 're' => '0.11',
- 'sigtrap' => '1.04',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.77_01',
- 'threads::shared' => '1.33',
- 'utf8' => '1.08',
- 'vars' => '1.01',
- 'version' => '0.82',
- 'vmsish' => '1.02',
- 'warnings' => '1.09',
- 'warnings::register' => '1.01',
+ delta_from => 5.012001,
+ changed => {
+ 'Data::Dumper' => '2.126',
+ 'Dumpvalue' => '1.14',
+ 'Errno' => '1.12',
+ 'ExtUtils::MM_Unix' => '6.5601',
+ 'ExtUtils::MakeMaker' => '6.5601',
+ 'ExtUtils::ParseXS' => '2.2205',
+ 'File::Find' => '1.16',
+ 'IPC::Cmd' => '0.58',
+ 'IPC::Open3' => '1.06',
+ 'List::Util' => '1.23',
+ 'List::Util::PP' => '1.23',
+ 'List::Util::XS' => '1.23',
+ 'Locale::Codes' => '3.12',
+ 'Locale::Codes::Country'=> '3.12',
+ 'Locale::Codes::Currency'=> '3.12',
+ 'Locale::Codes::Language'=> '3.12',
+ 'Locale::Codes::Script' => '3.12',
+ 'Locale::Constants' => '3.12',
+ 'Locale::Country' => '3.12',
+ 'Locale::Currency' => '3.12',
+ 'Locale::Language' => '3.12',
+ 'Locale::Script' => '3.12',
+ 'MIME::Base64' => '3.09',
+ 'MIME::QuotedPrint' => '3.09',
+ 'Module::Build::Platform::cygwin'=> '0.360301',
+ 'Module::CoreList' => '2.34',
+ 'Module::Load::Conditional'=> '0.38',
+ 'PerlIO::scalar' => '0.08',
+ 'Scalar::Util' => '1.23',
+ 'Scalar::Util::PP' => '1.23',
+ 'Socket' => '1.88',
+ 'Term::ReadLine' => '1.06',
+ 'Unicode::UCD' => '0.28',
+ 'XS::APItest' => '0.19',
+ 'XS::APItest::KeywordRPN'=> '0.004',
+ 'charnames' => '1.08',
+ 'feature' => '1.17',
+ 'threads' => '1.77_01',
+ 'threads::shared' => '1.33',
+ },
+ removed => {
+ 'Class::ISA' => 1,
+ 'Pod::Plainer' => 1,
+ 'Switch' => 1,
+ }
},
5.013002 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.17',
- 'App::Prove::State' => '3.17',
- 'App::Prove::State::Result'=> '3.17',
- 'App::Prove::State::Result::Test'=> '3.17',
- 'Archive::Extract' => '0.38',
- 'Archive::Tar' => '1.54',
- 'Archive::Tar::Constant'=> '0.02',
- 'Archive::Tar::File' => '0.02',
- 'Attribute::Handlers' => '0.87',
- 'AutoLoader' => '5.70',
- 'AutoSplit' => '1.06',
- 'B' => '1.23',
- 'B::Concise' => '0.79',
- 'B::Debug' => '1.12',
- 'B::Deparse' => '0.98',
- 'B::Lint' => '1.11_01',
- 'B::Lint::Debug' => '0.01',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.49',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.45',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.08',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.48',
- 'CPAN' => '1.94_57',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9600',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5004',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.5301',
- 'CPAN::HandleConfig' => '5.5001',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Mirrors' => '1.77',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5',
- 'CPAN::Shell' => '5.5001',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5',
- 'CPANPLUS' => '0.90',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.46',
- 'CPANPLUS::Dist::Build::Constants'=> '0.46',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.90',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.90',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.16',
- 'Carp::Heavy' => '1.16',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.024',
- 'Compress::Raw::Zlib' => '2.024',
- 'Compress::Zlib' => '2.024',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.31',
- 'DB' => '1.02',
- 'DBM_Filter' => '0.03',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'Data::Dumper' => '2.126',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.04',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.39',
- 'Digest::SHA' => '5.47',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.14',
- 'DynaLoader' => '1.10',
- 'Encode' => '2.39',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.03',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.11',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.04',
- 'Env' => '1.01',
- 'Errno' => '1.12',
- 'Exporter' => '5.64_02',
- 'Exporter::Heavy' => '5.64_02',
- 'ExtUtils::CBuilder' => '0.27',
- 'ExtUtils::CBuilder::Base'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.27',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.56',
- 'ExtUtils::Constant' => '0.22',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.06',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.28',
- 'ExtUtils::Install' => '1.55',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.56',
- 'ExtUtils::Liblist::Kid'=> '6.56',
- 'ExtUtils::MM' => '6.56',
- 'ExtUtils::MM_AIX' => '6.56',
- 'ExtUtils::MM_Any' => '6.56',
- 'ExtUtils::MM_BeOS' => '6.56',
- 'ExtUtils::MM_Cygwin' => '6.56',
- 'ExtUtils::MM_DOS' => '6.56',
- 'ExtUtils::MM_Darwin' => '6.56',
- 'ExtUtils::MM_MacOS' => '6.56',
- 'ExtUtils::MM_NW5' => '6.56',
- 'ExtUtils::MM_OS2' => '6.56',
- 'ExtUtils::MM_QNX' => '6.56',
- 'ExtUtils::MM_UWIN' => '6.56',
- 'ExtUtils::MM_Unix' => '6.5601',
- 'ExtUtils::MM_VMS' => '6.56',
- 'ExtUtils::MM_VOS' => '6.56',
- 'ExtUtils::MM_Win32' => '6.56',
- 'ExtUtils::MM_Win95' => '6.56',
- 'ExtUtils::MY' => '6.56',
- 'ExtUtils::MakeMaker' => '6.5601',
- 'ExtUtils::MakeMaker::Config'=> '6.56',
- 'ExtUtils::Manifest' => '1.57',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.56',
- 'ExtUtils::Mksymlists' => '6.56',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.2205',
- 'ExtUtils::XSSymSet' => '1.1',
- 'ExtUtils::testlib' => '6.56',
- 'Fatal' => '2.06_01',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.78',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.19',
- 'File::DosGlob' => '1.01',
- 'File::Fetch' => '0.24',
- 'File::Find' => '1.16',
- 'File::Glob' => '1.07',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.31',
- 'File::Spec::Cygwin' => '3.30',
- 'File::Spec::Epoc' => '3.30',
- 'File::Spec::Functions' => '3.30',
- 'File::Spec::Mac' => '3.30',
- 'File::Spec::OS2' => '3.30',
- 'File::Spec::Unix' => '3.30',
- 'File::Spec::VMS' => '3.30',
- 'File::Spec::Win32' => '3.30',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.02',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'VMS::Filespec' => '1.12',
- 'Filter::Simple' => '0.84',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.10',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.08',
- 'Hash::Util::FieldHash' => '1.04',
- 'I18N::Collate' => '1.01',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.04',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.03',
- 'IO' => '1.25_02',
- 'IO::Compress::Adapter::Bzip2'=> '2.024',
- 'IO::Compress::Adapter::Deflate'=> '2.024',
- 'IO::Compress::Adapter::Identity'=> '2.024',
- 'IO::Compress::Base' => '2.024',
- 'IO::Compress::Base::Common'=> '2.024',
- 'IO::Compress::Bzip2' => '2.024',
- 'IO::Compress::Deflate' => '2.024',
- 'IO::Compress::Gzip' => '2.024',
- 'IO::Compress::Gzip::Constants'=> '2.024',
- 'IO::Compress::RawDeflate'=> '2.024',
- 'IO::Compress::Zip' => '2.024',
- 'IO::Compress::Zip::Constants'=> '2.024',
- 'IO::Compress::Zlib::Constants'=> '2.024',
- 'IO::Compress::Zlib::Extra'=> '2.024',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.32',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
- 'IO::Uncompress::Adapter::Identity'=> '2.024',
- 'IO::Uncompress::Adapter::Inflate'=> '2.024',
- 'IO::Uncompress::AnyInflate'=> '2.024',
- 'IO::Uncompress::AnyUncompress'=> '2.024',
- 'IO::Uncompress::Base' => '2.024',
- 'IO::Uncompress::Bunzip2'=> '2.024',
- 'IO::Uncompress::Gunzip'=> '2.024',
- 'IO::Uncompress::Inflate'=> '2.024',
- 'IO::Uncompress::RawInflate'=> '2.024',
- 'IO::Uncompress::Unzip' => '2.024',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.58',
- 'IPC::Msg' => '2.01',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.06',
- 'IPC::Semaphore' => '2.01',
- 'IPC::SharedMem' => '2.01',
- 'IPC::SysV' => '2.01',
- 'List::Util' => '1.23',
- 'List::Util::PP' => '1.23',
- 'List::Util::XS' => '1.23',
- 'Locale::Codes' => '3.13',
- 'Locale::Codes::Country'=> '3.13',
- 'Locale::Codes::Currency'=> '3.13',
- 'Locale::Codes::Language'=> '3.13',
- 'Locale::Codes::Script' => '3.13',
- 'Locale::Constants' => '3.13',
- 'Locale::Country' => '3.13',
- 'Locale::Currency' => '3.13',
- 'Locale::Language' => '3.13',
- 'Locale::Maketext' => '1.14',
- 'Locale::Maketext::Guts'=> '1.13',
- 'Locale::Maketext::GutsLoader'=> '1.13',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '3.13',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.06',
- 'MIME::Base64' => '3.09',
- 'MIME::QuotedPrint' => '3.09',
- 'Math::BigFloat' => '1.60',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.89_01',
- 'Math::BigInt::Calc' => '0.52',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.19',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.24',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.01_03',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.3603',
- 'Module::Build::Base' => '0.3603',
- 'Module::Build::Compat' => '0.3603',
- 'Module::Build::Config' => '0.3603',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3603',
- 'Module::Build::Dumper' => '0.3603',
- 'Module::Build::ModuleInfo'=> '0.3603',
- 'Module::Build::Notes' => '0.3603',
- 'Module::Build::PPMMaker'=> '0.3603',
- 'Module::Build::Platform::Amiga'=> '0.3603',
- 'Module::Build::Platform::Default'=> '0.3603',
- 'Module::Build::Platform::EBCDIC'=> '0.3603',
- 'Module::Build::Platform::MPEiX'=> '0.3603',
- 'Module::Build::Platform::MacOS'=> '0.3603',
- 'Module::Build::Platform::RiscOS'=> '0.3603',
- 'Module::Build::Platform::Unix'=> '0.3603',
- 'Module::Build::Platform::VMS'=> '0.3603',
- 'Module::Build::Platform::VOS'=> '0.3603',
- 'Module::Build::Platform::Windows'=> '0.3603',
- 'Module::Build::Platform::aix'=> '0.3603',
- 'Module::Build::Platform::cygwin'=> '0.360301',
- 'Module::Build::Platform::darwin'=> '0.3603',
- 'Module::Build::Platform::os2'=> '0.3603',
- 'Module::Build::PodParser'=> '0.3603',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '1.40',
- 'Module::CoreList' => '2.34',
- 'Module::Load' => '0.16',
- 'Module::Load::Conditional'=> '0.38',
- 'Module::Loaded' => '0.06',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.08',
- 'NEXT' => '0.64',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.36',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.07',
- 'Object::Accessor' => '0.36',
- 'Opcode' => '1.15',
- 'POSIX' => '1.19',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.40',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.12',
- 'PerlIO::scalar' => '0.08',
- 'PerlIO::via' => '0.09',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.04',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.23',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_02',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.14',
- 'Pod::Simple::BlackBox' => '3.14',
- 'Pod::Simple::Checker' => '3.14',
- 'Pod::Simple::Debug' => '3.14',
- 'Pod::Simple::DumpAsText'=> '3.14',
- 'Pod::Simple::DumpAsXML'=> '3.14',
- 'Pod::Simple::HTML' => '3.14',
- 'Pod::Simple::HTMLBatch'=> '3.14',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.14',
- 'Pod::Simple::Methody' => '3.14',
- 'Pod::Simple::Progress' => '3.14',
- 'Pod::Simple::PullParser'=> '3.14',
- 'Pod::Simple::PullParserEndToken'=> '3.14',
- 'Pod::Simple::PullParserStartToken'=> '3.14',
- 'Pod::Simple::PullParserTextToken'=> '3.14',
- 'Pod::Simple::PullParserToken'=> '3.14',
- 'Pod::Simple::RTF' => '3.14',
- 'Pod::Simple::Search' => '3.14',
- 'Pod::Simple::SimpleTree'=> '3.14',
- 'Pod::Simple::Text' => '3.14',
- 'Pod::Simple::TextContent'=> '3.14',
- 'Pod::Simple::TiedOutFH'=> '3.14',
- 'Pod::Simple::Transcode'=> '3.14',
- 'Pod::Simple::TranscodeDumb'=> '3.14',
- 'Pod::Simple::TranscodeSmart'=> '3.14',
- 'Pod::Simple::XHTML' => '3.14',
- 'Pod::Simple::XMLOutStream'=> '3.14',
- 'Pod::Text' => '3.14',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.27',
- 'Scalar::Util' => '1.23',
- 'Scalar::Util::PP' => '1.23',
- 'Search::Dict' => '1.03',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.17',
- 'Shell' => '0.72_01',
- 'Socket' => '1.89',
- 'Storable' => '2.22',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.17',
- 'TAP::Formatter::Base' => '3.17',
- 'TAP::Formatter::Color' => '3.17',
- 'TAP::Formatter::Console'=> '3.17',
- 'TAP::Formatter::Console::ParallelSession'=> '3.17',
- 'TAP::Formatter::Console::Session'=> '3.17',
- 'TAP::Formatter::File' => '3.17',
- 'TAP::Formatter::File::Session'=> '3.17',
- 'TAP::Formatter::Session'=> '3.17',
- 'TAP::Harness' => '3.17',
- 'TAP::Object' => '3.17',
- 'TAP::Parser' => '3.17',
- 'TAP::Parser::Aggregator'=> '3.17',
- 'TAP::Parser::Grammar' => '3.17',
- 'TAP::Parser::Iterator' => '3.17',
- 'TAP::Parser::Iterator::Array'=> '3.17',
- 'TAP::Parser::Iterator::Process'=> '3.17',
- 'TAP::Parser::Iterator::Stream'=> '3.17',
- 'TAP::Parser::IteratorFactory'=> '3.17',
- 'TAP::Parser::Multiplexer'=> '3.17',
- 'TAP::Parser::Result' => '3.17',
- 'TAP::Parser::Result::Bailout'=> '3.17',
- 'TAP::Parser::Result::Comment'=> '3.17',
- 'TAP::Parser::Result::Plan'=> '3.17',
- 'TAP::Parser::Result::Pragma'=> '3.17',
- 'TAP::Parser::Result::Test'=> '3.17',
- 'TAP::Parser::Result::Unknown'=> '3.17',
- 'TAP::Parser::Result::Version'=> '3.17',
- 'TAP::Parser::Result::YAML'=> '3.17',
- 'TAP::Parser::ResultFactory'=> '3.17',
- 'TAP::Parser::Scheduler'=> '3.17',
- 'TAP::Parser::Scheduler::Job'=> '3.17',
- 'TAP::Parser::Scheduler::Spinner'=> '3.17',
- 'TAP::Parser::Source' => '3.17',
- 'TAP::Parser::Source::Perl'=> '3.17',
- 'TAP::Parser::Utils' => '3.17',
- 'TAP::Parser::YAMLish::Reader'=> '3.17',
- 'TAP::Parser::YAMLish::Writer'=> '3.17',
- 'Term::ANSIColor' => '2.02',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.06',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.94',
- 'Test::Builder::Module' => '0.94',
- 'Test::Builder::Tester' => '1.18',
- 'Test::Builder::Tester::Color'=> '1.18',
- 'Test::Harness' => '3.17',
- 'Test::More' => '0.94',
- 'Test::Simple' => '0.94',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.11',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.03',
- 'Tie::Hash::NamedCapture'=> '0.06',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.02',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9719',
- 'Time::Local' => '1.1901_01',
- 'Time::Piece' => '1.15_01',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.07',
- 'Unicode' => '5.2.0',
- 'Unicode::Collate' => '0.52_01',
- 'Unicode::Normalize' => '1.03',
- 'Unicode::UCD' => '0.28',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.04',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.39',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.19',
- 'XS::APItest::KeywordRPN'=> '0.004',
- 'XS::Typemap' => '0.03',
- 'XSLoader' => '0.10',
- 'XSLoader::XSLoader' => '0.10',
- 'attributes' => '0.12',
- 'autodie' => '2.06_01',
- 'autodie::exception' => '2.06_01',
- 'autodie::exception::system'=> '2.06_01',
- 'autodie::hints' => '2.06_01',
- 'autouse' => '1.06',
- 'base' => '2.15',
- 'bigint' => '0.23',
- 'bignum' => '0.23',
- 'bigrat' => '0.23',
- 'blib' => '1.04',
- 'bytes' => '1.04',
- 'charnames' => '1.08',
- 'constant' => '1.20',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.19',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.17',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.05',
- 'inc::latest' => '0.3603',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.62',
- 'locale' => '1.00',
- 'mro' => '1.03',
- 'open' => '1.07',
- 'ops' => '1.02',
- 'overload' => '1.10',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.223',
- 're' => '0.11',
- 'sigtrap' => '1.04',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.77_02',
- 'threads::shared' => '1.33_01',
- 'utf8' => '1.08',
- 'vars' => '1.01',
- 'version' => '0.82',
- 'vmsish' => '1.02',
- 'warnings' => '1.09',
- 'warnings::register' => '1.01',
+ delta_from => 5.013001,
+ changed => {
+ 'B::Concise' => '0.79',
+ 'B::Deparse' => '0.98',
+ 'CPAN' => '1.94_57',
+ 'CPAN::Distribution' => '1.9600',
+ 'Exporter' => '5.64_02',
+ 'Exporter::Heavy' => '5.64_02',
+ 'File::Copy' => '2.19',
+ 'Hash::Util' => '0.08',
+ 'IO::Socket' => '1.32',
+ 'Locale::Codes' => '3.13',
+ 'Locale::Codes::Country'=> '3.13',
+ 'Locale::Codes::Currency'=> '3.13',
+ 'Locale::Codes::Language'=> '3.13',
+ 'Locale::Codes::Script' => '3.13',
+ 'Locale::Constants' => '3.13',
+ 'Locale::Country' => '3.13',
+ 'Locale::Currency' => '3.13',
+ 'Locale::Language' => '3.13',
+ 'Locale::Script' => '3.13',
+ 'Search::Dict' => '1.03',
+ 'Socket' => '1.89',
+ 'Thread::Semaphore' => '2.11',
+ 'UNIVERSAL' => '1.07',
+ 'VMS::DCLsym' => '1.04',
+ 'mro' => '1.03',
+ 'threads' => '1.77_02',
+ 'threads::shared' => '1.33_01',
+ },
+ removed => {
+ }
},
5.013003 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.21',
- 'App::Prove::State' => '3.21',
- 'App::Prove::State::Result'=> '3.21',
- 'App::Prove::State::Result::Test'=> '3.21',
- 'Archive::Extract' => '0.42',
- 'Archive::Tar' => '1.64',
- 'Archive::Tar::Constant'=> '1.64',
- 'Archive::Tar::File' => '1.64',
- 'Attribute::Handlers' => '0.88',
- 'AutoLoader' => '5.70',
- 'AutoSplit' => '1.06',
- 'B' => '1.23',
- 'B::Concise' => '0.79',
- 'B::Debug' => '1.12',
- 'B::Deparse' => '0.98',
- 'B::Lint' => '1.11_01',
- 'B::Lint::Debug' => '0.01',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.49',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.45',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.08',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.48',
- 'CPAN' => '1.94_57',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9600',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5004',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.5301',
- 'CPAN::HandleConfig' => '5.5001',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Mirrors' => '1.77',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5',
- 'CPAN::Shell' => '5.5001',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5',
- 'CPANPLUS' => '0.9007',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.46',
- 'CPANPLUS::Dist::Build::Constants'=> '0.46',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.9007',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.9007',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.16',
- 'Carp::Heavy' => '1.16',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.027',
- 'Compress::Raw::Zlib' => '2.027_01',
- 'Compress::Zlib' => '2.027',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.31',
- 'DB' => '1.03',
- 'DBM_Filter' => '0.03',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'Data::Dumper' => '2.126',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.04',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.40',
- 'Digest::SHA' => '5.48',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.14',
- 'DynaLoader' => '1.10',
- 'Encode' => '2.39',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.03',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.11',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.04',
- 'Env' => '1.01',
- 'Errno' => '1.12',
- 'Exporter' => '5.64_03',
- 'Exporter::Heavy' => '5.64_03',
- 'ExtUtils::CBuilder' => '0.2703',
- 'ExtUtils::CBuilder::Base'=> '0.2703_01',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.2703',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.56',
- 'ExtUtils::Constant' => '0.22',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.06',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.28',
- 'ExtUtils::Install' => '1.55',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.56',
- 'ExtUtils::Liblist::Kid'=> '6.56',
- 'ExtUtils::MM' => '6.56',
- 'ExtUtils::MM_AIX' => '6.56',
- 'ExtUtils::MM_Any' => '6.56',
- 'ExtUtils::MM_BeOS' => '6.56',
- 'ExtUtils::MM_Cygwin' => '6.56',
- 'ExtUtils::MM_DOS' => '6.56',
- 'ExtUtils::MM_Darwin' => '6.56',
- 'ExtUtils::MM_MacOS' => '6.56',
- 'ExtUtils::MM_NW5' => '6.56',
- 'ExtUtils::MM_OS2' => '6.56',
- 'ExtUtils::MM_QNX' => '6.56',
- 'ExtUtils::MM_UWIN' => '6.56',
- 'ExtUtils::MM_Unix' => '6.5601',
- 'ExtUtils::MM_VMS' => '6.56',
- 'ExtUtils::MM_VOS' => '6.56',
- 'ExtUtils::MM_Win32' => '6.56',
- 'ExtUtils::MM_Win95' => '6.56',
- 'ExtUtils::MY' => '6.56',
- 'ExtUtils::MakeMaker' => '6.5601',
- 'ExtUtils::MakeMaker::Config'=> '6.56',
- 'ExtUtils::Manifest' => '1.58',
- 'ExtUtils::Mkbootstrap' => '6.56',
- 'ExtUtils::Mksymlists' => '6.56',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.2206',
- 'ExtUtils::XSSymSet' => '1.1',
- 'ExtUtils::testlib' => '6.56',
- 'Fatal' => '2.10',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.79',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.20',
- 'File::DosGlob' => '1.02',
- 'File::Fetch' => '0.24',
- 'File::Find' => '1.17',
- 'File::Glob' => '1.08',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.31',
- 'File::Spec::Cygwin' => '3.30',
- 'File::Spec::Epoc' => '3.30',
- 'File::Spec::Functions' => '3.30',
- 'File::Spec::Mac' => '3.30',
- 'File::Spec::OS2' => '3.30',
- 'File::Spec::Unix' => '3.30',
- 'File::Spec::VMS' => '3.30',
- 'File::Spec::Win32' => '3.30',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.03',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'VMS::Filespec' => '1.12',
- 'Filter::Simple' => '0.84',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.10',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.08',
- 'Hash::Util::FieldHash' => '1.04',
- 'I18N::Collate' => '1.01',
- 'I18N::LangTags' => '0.35_01',
- 'I18N::LangTags::Detect'=> '1.04',
- 'I18N::LangTags::List' => '0.35_01',
- 'I18N::Langinfo' => '0.03',
- 'IO' => '1.25_02',
- 'IO::Compress::Adapter::Bzip2'=> '2.027',
- 'IO::Compress::Adapter::Deflate'=> '2.027',
- 'IO::Compress::Adapter::Identity'=> '2.027',
- 'IO::Compress::Base' => '2.027',
- 'IO::Compress::Base::Common'=> '2.027',
- 'IO::Compress::Bzip2' => '2.027',
- 'IO::Compress::Deflate' => '2.027',
- 'IO::Compress::Gzip' => '2.027',
- 'IO::Compress::Gzip::Constants'=> '2.027',
- 'IO::Compress::RawDeflate'=> '2.027',
- 'IO::Compress::Zip' => '2.027',
- 'IO::Compress::Zip::Constants'=> '2.027',
- 'IO::Compress::Zlib::Constants'=> '2.027',
- 'IO::Compress::Zlib::Extra'=> '2.027',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.32',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.027',
- 'IO::Uncompress::Adapter::Identity'=> '2.027',
- 'IO::Uncompress::Adapter::Inflate'=> '2.027',
- 'IO::Uncompress::AnyInflate'=> '2.027',
- 'IO::Uncompress::AnyUncompress'=> '2.027',
- 'IO::Uncompress::Base' => '2.027',
- 'IO::Uncompress::Bunzip2'=> '2.027',
- 'IO::Uncompress::Gunzip'=> '2.027',
- 'IO::Uncompress::Inflate'=> '2.027',
- 'IO::Uncompress::RawInflate'=> '2.027',
- 'IO::Uncompress::Unzip' => '2.027',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.60',
- 'IPC::Msg' => '2.03',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.06',
- 'IPC::Semaphore' => '2.03',
- 'IPC::SharedMem' => '2.03',
- 'IPC::SysV' => '2.03',
- 'List::Util' => '1.23',
- 'List::Util::PP' => '1.23',
- 'List::Util::XS' => '1.23',
- 'Locale::Codes' => '3.13',
- 'Locale::Codes::Country'=> '3.13',
- 'Locale::Codes::Currency'=> '3.13',
- 'Locale::Codes::Language'=> '3.13',
- 'Locale::Codes::Script' => '3.13',
- 'Locale::Constants' => '3.13',
- 'Locale::Country' => '3.13',
- 'Locale::Currency' => '3.13',
- 'Locale::Language' => '3.13',
- 'Locale::Maketext' => '1.15',
- 'Locale::Maketext::Guts'=> undef,
- 'Locale::Maketext::GutsLoader'=> undef,
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '3.13',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.06',
- 'MIME::Base64' => '3.09',
- 'MIME::QuotedPrint' => '3.09',
- 'Math::BigFloat' => '1.60',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.89_01',
- 'Math::BigInt::Calc' => '0.52',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.19',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.24',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.01_03',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.3607',
- 'Module::Build::Base' => '0.3607',
- 'Module::Build::Compat' => '0.3607',
- 'Module::Build::Config' => '0.3607',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3607',
- 'Module::Build::Dumper' => '0.3607',
- 'Module::Build::ModuleInfo'=> '0.3607',
- 'Module::Build::Notes' => '0.3607',
- 'Module::Build::PPMMaker'=> '0.3607',
- 'Module::Build::Platform::Amiga'=> '0.3607',
- 'Module::Build::Platform::Default'=> '0.3607',
- 'Module::Build::Platform::EBCDIC'=> '0.3607',
- 'Module::Build::Platform::MPEiX'=> '0.3607',
- 'Module::Build::Platform::MacOS'=> '0.3607',
- 'Module::Build::Platform::RiscOS'=> '0.3607',
- 'Module::Build::Platform::Unix'=> '0.3607',
- 'Module::Build::Platform::VMS'=> '0.3607',
- 'Module::Build::Platform::VOS'=> '0.3607',
- 'Module::Build::Platform::Windows'=> '0.3607',
- 'Module::Build::Platform::aix'=> '0.3607',
- 'Module::Build::Platform::cygwin'=> '0.3607',
- 'Module::Build::Platform::darwin'=> '0.3607',
- 'Module::Build::Platform::os2'=> '0.3607',
- 'Module::Build::PodParser'=> '0.3607',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '1.40',
- 'Module::CoreList' => '2.36',
- 'Module::Load' => '0.18',
- 'Module::Load::Conditional'=> '0.38',
- 'Module::Loaded' => '0.06',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.08',
- 'NEXT' => '0.64',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.36',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.07',
- 'Object::Accessor' => '0.36',
- 'Opcode' => '1.15',
- 'POSIX' => '1.19',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.40',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.12',
- 'PerlIO::scalar' => '0.08',
- 'PerlIO::via' => '0.09',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.04',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.23',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_02',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.14',
- 'Pod::Simple::BlackBox' => '3.14',
- 'Pod::Simple::Checker' => '3.14',
- 'Pod::Simple::Debug' => '3.14',
- 'Pod::Simple::DumpAsText'=> '3.14',
- 'Pod::Simple::DumpAsXML'=> '3.14',
- 'Pod::Simple::HTML' => '3.14',
- 'Pod::Simple::HTMLBatch'=> '3.14',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.14',
- 'Pod::Simple::Methody' => '3.14',
- 'Pod::Simple::Progress' => '3.14',
- 'Pod::Simple::PullParser'=> '3.14',
- 'Pod::Simple::PullParserEndToken'=> '3.14',
- 'Pod::Simple::PullParserStartToken'=> '3.14',
- 'Pod::Simple::PullParserTextToken'=> '3.14',
- 'Pod::Simple::PullParserToken'=> '3.14',
- 'Pod::Simple::RTF' => '3.14',
- 'Pod::Simple::Search' => '3.14',
- 'Pod::Simple::SimpleTree'=> '3.14',
- 'Pod::Simple::Text' => '3.14',
- 'Pod::Simple::TextContent'=> '3.14',
- 'Pod::Simple::TiedOutFH'=> '3.14',
- 'Pod::Simple::Transcode'=> '3.14',
- 'Pod::Simple::TranscodeDumb'=> '3.14',
- 'Pod::Simple::TranscodeSmart'=> '3.14',
- 'Pod::Simple::XHTML' => '3.14',
- 'Pod::Simple::XMLOutStream'=> '3.14',
- 'Pod::Text' => '3.14',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.27',
- 'Scalar::Util' => '1.23',
- 'Scalar::Util::PP' => '1.23',
- 'Search::Dict' => '1.03',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.17',
- 'Shell' => '0.72_01',
- 'Socket' => '1.89',
- 'Storable' => '2.22',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.21',
- 'TAP::Formatter::Base' => '3.21',
- 'TAP::Formatter::Color' => '3.21',
- 'TAP::Formatter::Console'=> '3.21',
- 'TAP::Formatter::Console::ParallelSession'=> '3.21',
- 'TAP::Formatter::Console::Session'=> '3.21',
- 'TAP::Formatter::File' => '3.21',
- 'TAP::Formatter::File::Session'=> '3.21',
- 'TAP::Formatter::Session'=> '3.21',
- 'TAP::Harness' => '3.21',
- 'TAP::Object' => '3.21',
- 'TAP::Parser' => '3.21',
- 'TAP::Parser::Aggregator'=> '3.21',
- 'TAP::Parser::Grammar' => '3.21',
- 'TAP::Parser::Iterator' => '3.21',
- 'TAP::Parser::Iterator::Array'=> '3.21',
- 'TAP::Parser::Iterator::Process'=> '3.21',
- 'TAP::Parser::Iterator::Stream'=> '3.21',
- 'TAP::Parser::IteratorFactory'=> '3.21',
- 'TAP::Parser::Multiplexer'=> '3.21',
- 'TAP::Parser::Result' => '3.21',
- 'TAP::Parser::Result::Bailout'=> '3.21',
- 'TAP::Parser::Result::Comment'=> '3.21',
- 'TAP::Parser::Result::Plan'=> '3.21',
- 'TAP::Parser::Result::Pragma'=> '3.21',
- 'TAP::Parser::Result::Test'=> '3.21',
- 'TAP::Parser::Result::Unknown'=> '3.21',
- 'TAP::Parser::Result::Version'=> '3.21',
- 'TAP::Parser::Result::YAML'=> '3.21',
- 'TAP::Parser::ResultFactory'=> '3.21',
- 'TAP::Parser::Scheduler'=> '3.21',
- 'TAP::Parser::Scheduler::Job'=> '3.21',
- 'TAP::Parser::Scheduler::Spinner'=> '3.21',
- 'TAP::Parser::Source' => '3.21',
- 'TAP::Parser::SourceHandler'=> '3.21',
- 'TAP::Parser::SourceHandler::Executable'=> '3.21',
- 'TAP::Parser::SourceHandler::File'=> '3.21',
- 'TAP::Parser::SourceHandler::Handle'=> '3.21',
- 'TAP::Parser::SourceHandler::Perl'=> '3.21',
- 'TAP::Parser::SourceHandler::RawTAP'=> '3.21',
- 'TAP::Parser::SourceHandler::pgTAP'=> '3.21',
- 'TAP::Parser::Utils' => '3.21',
- 'TAP::Parser::YAMLish::Reader'=> '3.21',
- 'TAP::Parser::YAMLish::Writer'=> '3.21',
- 'Term::ANSIColor' => '3.00',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.07',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.94',
- 'Test::Builder::Module' => '0.94',
- 'Test::Builder::Tester' => '1.18',
- 'Test::Builder::Tester::Color'=> '1.18',
- 'Test::Harness' => '3.21',
- 'Test::More' => '0.94',
- 'Test::Simple' => '0.94',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.11',
- 'Tie::Array' => '1.04',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.03',
- 'Tie::Hash::NamedCapture'=> '0.06',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.02',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9721',
- 'Time::Local' => '1.1901_01',
- 'Time::Piece' => '1.20_01',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.07',
- 'Unicode' => '5.2.0',
- 'Unicode::Collate' => '0.53',
- 'Unicode::Normalize' => '1.06',
- 'Unicode::UCD' => '0.29',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.04',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.39',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.19',
- 'XS::APItest::KeywordRPN'=> '0.004',
- 'XS::Typemap' => '0.03',
- 'XSLoader' => '0.10',
- 'XSLoader::XSLoader' => '0.10',
- 'attributes' => '0.12',
- 'autodie' => '2.10',
- 'autodie::exception' => '2.10',
- 'autodie::exception::system'=> '2.10',
- 'autodie::hints' => '2.10',
- 'autouse' => '1.06',
- 'base' => '2.15',
- 'bigint' => '0.23',
- 'bignum' => '0.23',
- 'bigrat' => '0.23',
- 'blib' => '1.05',
- 'bytes' => '1.04',
- 'charnames' => '1.11',
- 'constant' => '1.20',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.20',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.17',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.05',
- 'inc::latest' => '0.3607',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.63',
- 'locale' => '1.00',
- 'mro' => '1.03',
- 'open' => '1.07',
- 'ops' => '1.02',
- 'overload' => '1.10',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.223',
- 're' => '0.12',
- 'sigtrap' => '1.04',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.77_03',
- 'threads::shared' => '1.33_02',
- 'utf8' => '1.08',
- 'vars' => '1.02',
- 'version' => '0.82',
- 'vmsish' => '1.02',
- 'warnings' => '1.10',
- 'warnings::register' => '1.01',
+ delta_from => 5.013002,
+ changed => {
+ 'App::Prove' => '3.21',
+ 'App::Prove::State' => '3.21',
+ 'App::Prove::State::Result'=> '3.21',
+ 'App::Prove::State::Result::Test'=> '3.21',
+ 'Archive::Extract' => '0.42',
+ 'Archive::Tar' => '1.64',
+ 'Archive::Tar::Constant'=> '1.64',
+ 'Archive::Tar::File' => '1.64',
+ 'Attribute::Handlers' => '0.88',
+ 'CPANPLUS' => '0.9007',
+ 'CPANPLUS::Internals' => '0.9007',
+ 'CPANPLUS::Shell::Default'=> '0.9007',
+ 'Compress::Raw::Bzip2' => '2.027',
+ 'Compress::Raw::Zlib' => '2.027_01',
+ 'Compress::Zlib' => '2.027',
+ 'DB' => '1.03',
+ 'Digest::MD5' => '2.40',
+ 'Digest::SHA' => '5.48',
+ 'Exporter' => '5.64_03',
+ 'Exporter::Heavy' => '5.64_03',
+ 'ExtUtils::CBuilder' => '0.2703',
+ 'ExtUtils::CBuilder::Base'=> '0.2703_01',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.2703',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.2703',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.2703',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.2703',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.2703',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.2703',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.2703',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.2703',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.2703',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.2703',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.2703',
+ 'ExtUtils::Manifest' => '1.58',
+ 'ExtUtils::ParseXS' => '2.2206',
+ 'Fatal' => '2.10',
+ 'File::Basename' => '2.79',
+ 'File::Copy' => '2.20',
+ 'File::DosGlob' => '1.02',
+ 'File::Find' => '1.17',
+ 'File::Glob' => '1.08',
+ 'File::stat' => '1.03',
+ 'I18N::LangTags' => '0.35_01',
+ 'I18N::LangTags::List' => '0.35_01',
+ 'IO::Compress::Adapter::Bzip2'=> '2.027',
+ 'IO::Compress::Adapter::Deflate'=> '2.027',
+ 'IO::Compress::Adapter::Identity'=> '2.027',
+ 'IO::Compress::Base' => '2.027',
+ 'IO::Compress::Base::Common'=> '2.027',
+ 'IO::Compress::Bzip2' => '2.027',
+ 'IO::Compress::Deflate' => '2.027',
+ 'IO::Compress::Gzip' => '2.027',
+ 'IO::Compress::Gzip::Constants'=> '2.027',
+ 'IO::Compress::RawDeflate'=> '2.027',
+ 'IO::Compress::Zip' => '2.027',
+ 'IO::Compress::Zip::Constants'=> '2.027',
+ 'IO::Compress::Zlib::Constants'=> '2.027',
+ 'IO::Compress::Zlib::Extra'=> '2.027',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.027',
+ 'IO::Uncompress::Adapter::Identity'=> '2.027',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.027',
+ 'IO::Uncompress::AnyInflate'=> '2.027',
+ 'IO::Uncompress::AnyUncompress'=> '2.027',
+ 'IO::Uncompress::Base' => '2.027',
+ 'IO::Uncompress::Bunzip2'=> '2.027',
+ 'IO::Uncompress::Gunzip'=> '2.027',
+ 'IO::Uncompress::Inflate'=> '2.027',
+ 'IO::Uncompress::RawInflate'=> '2.027',
+ 'IO::Uncompress::Unzip' => '2.027',
+ 'IPC::Cmd' => '0.60',
+ 'IPC::Msg' => '2.03',
+ 'IPC::Semaphore' => '2.03',
+ 'IPC::SharedMem' => '2.03',
+ 'IPC::SysV' => '2.03',
+ 'Locale::Maketext' => '1.15',
+ 'Locale::Maketext::Guts'=> undef,
+ 'Locale::Maketext::GutsLoader'=> undef,
+ 'Module::Build' => '0.3607',
+ 'Module::Build::Base' => '0.3607',
+ 'Module::Build::Compat' => '0.3607',
+ 'Module::Build::Config' => '0.3607',
+ 'Module::Build::Cookbook'=> '0.3607',
+ 'Module::Build::Dumper' => '0.3607',
+ 'Module::Build::ModuleInfo'=> '0.3607',
+ 'Module::Build::Notes' => '0.3607',
+ 'Module::Build::PPMMaker'=> '0.3607',
+ 'Module::Build::Platform::Amiga'=> '0.3607',
+ 'Module::Build::Platform::Default'=> '0.3607',
+ 'Module::Build::Platform::EBCDIC'=> '0.3607',
+ 'Module::Build::Platform::MPEiX'=> '0.3607',
+ 'Module::Build::Platform::MacOS'=> '0.3607',
+ 'Module::Build::Platform::RiscOS'=> '0.3607',
+ 'Module::Build::Platform::Unix'=> '0.3607',
+ 'Module::Build::Platform::VMS'=> '0.3607',
+ 'Module::Build::Platform::VOS'=> '0.3607',
+ 'Module::Build::Platform::Windows'=> '0.3607',
+ 'Module::Build::Platform::aix'=> '0.3607',
+ 'Module::Build::Platform::cygwin'=> '0.3607',
+ 'Module::Build::Platform::darwin'=> '0.3607',
+ 'Module::Build::Platform::os2'=> '0.3607',
+ 'Module::Build::PodParser'=> '0.3607',
+ 'Module::CoreList' => '2.36',
+ 'Module::Load' => '0.18',
+ 'TAP::Base' => '3.21',
+ 'TAP::Formatter::Base' => '3.21',
+ 'TAP::Formatter::Color' => '3.21',
+ 'TAP::Formatter::Console'=> '3.21',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.21',
+ 'TAP::Formatter::Console::Session'=> '3.21',
+ 'TAP::Formatter::File' => '3.21',
+ 'TAP::Formatter::File::Session'=> '3.21',
+ 'TAP::Formatter::Session'=> '3.21',
+ 'TAP::Harness' => '3.21',
+ 'TAP::Object' => '3.21',
+ 'TAP::Parser' => '3.21',
+ 'TAP::Parser::Aggregator'=> '3.21',
+ 'TAP::Parser::Grammar' => '3.21',
+ 'TAP::Parser::Iterator' => '3.21',
+ 'TAP::Parser::Iterator::Array'=> '3.21',
+ 'TAP::Parser::Iterator::Process'=> '3.21',
+ 'TAP::Parser::Iterator::Stream'=> '3.21',
+ 'TAP::Parser::IteratorFactory'=> '3.21',
+ 'TAP::Parser::Multiplexer'=> '3.21',
+ 'TAP::Parser::Result' => '3.21',
+ 'TAP::Parser::Result::Bailout'=> '3.21',
+ 'TAP::Parser::Result::Comment'=> '3.21',
+ 'TAP::Parser::Result::Plan'=> '3.21',
+ 'TAP::Parser::Result::Pragma'=> '3.21',
+ 'TAP::Parser::Result::Test'=> '3.21',
+ 'TAP::Parser::Result::Unknown'=> '3.21',
+ 'TAP::Parser::Result::Version'=> '3.21',
+ 'TAP::Parser::Result::YAML'=> '3.21',
+ 'TAP::Parser::ResultFactory'=> '3.21',
+ 'TAP::Parser::Scheduler'=> '3.21',
+ 'TAP::Parser::Scheduler::Job'=> '3.21',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.21',
+ 'TAP::Parser::Source' => '3.21',
+ 'TAP::Parser::SourceHandler'=> '3.21',
+ 'TAP::Parser::SourceHandler::Executable'=> '3.21',
+ 'TAP::Parser::SourceHandler::File'=> '3.21',
+ 'TAP::Parser::SourceHandler::Handle'=> '3.21',
+ 'TAP::Parser::SourceHandler::Perl'=> '3.21',
+ 'TAP::Parser::SourceHandler::RawTAP'=> '3.21',
+ 'TAP::Parser::SourceHandler::pgTAP'=> '3.21',
+ 'TAP::Parser::Utils' => '3.21',
+ 'TAP::Parser::YAMLish::Reader'=> '3.21',
+ 'TAP::Parser::YAMLish::Writer'=> '3.21',
+ 'Term::ANSIColor' => '3.00',
+ 'Term::ReadLine' => '1.07',
+ 'Test::Harness' => '3.21',
+ 'Tie::Array' => '1.04',
+ 'Time::HiRes' => '1.9721',
+ 'Time::Piece' => '1.20_01',
+ 'Unicode::Collate' => '0.53',
+ 'Unicode::Normalize' => '1.06',
+ 'Unicode::UCD' => '0.29',
+ 'autodie' => '2.10',
+ 'autodie::exception' => '2.10',
+ 'autodie::exception::system'=> '2.10',
+ 'autodie::hints' => '2.10',
+ 'blib' => '1.05',
+ 'charnames' => '1.11',
+ 'diagnostics' => '1.20',
+ 'inc::latest' => '0.3607',
+ 'lib' => '0.63',
+ 're' => '0.12',
+ 'threads' => '1.77_03',
+ 'threads::shared' => '1.33_02',
+ 'vars' => '1.02',
+ 'warnings' => '1.10',
+ },
+ removed => {
+ 'TAP::Parser::Source::Perl'=> 1,
+ }
},
5.013004 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.22',
- 'App::Prove::State' => '3.22',
- 'App::Prove::State::Result'=> '3.22',
- 'App::Prove::State::Result::Test'=> '3.22',
- 'Archive::Extract' => '0.42',
- 'Archive::Tar' => '1.68',
- 'Archive::Tar::Constant'=> '1.68',
- 'Archive::Tar::File' => '1.68',
- 'Attribute::Handlers' => '0.88',
- 'AutoLoader' => '5.70',
- 'AutoSplit' => '1.06',
- 'B' => '1.23',
- 'B::Concise' => '0.79',
- 'B::Debug' => '1.12',
- 'B::Deparse' => '0.98',
- 'B::Lint' => '1.12',
- 'B::Lint::Debug' => '1.12',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.49',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.45',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.08',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.48',
- 'CPAN' => '1.94_57',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9600',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5004',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.5301',
- 'CPAN::HandleConfig' => '5.5001',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Mirrors' => '1.77',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5',
- 'CPAN::Shell' => '5.5001',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5',
- 'CPANPLUS' => '0.9007',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.46',
- 'CPANPLUS::Dist::Build::Constants'=> '0.46',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.9007',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.9007',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.18',
- 'Carp::Heavy' => '1.18',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.030',
- 'Compress::Raw::Zlib' => '2.030',
- 'Compress::Zlib' => '2.030',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.31',
- 'DB' => '1.03',
- 'DBM_Filter' => '0.03',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'Data::Dumper' => '2.126',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.04',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.40',
- 'Digest::SHA' => '5.48',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.14',
- 'DynaLoader' => '1.10',
- 'Encode' => '2.39',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.03',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.11',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.04',
- 'Env' => '1.01',
- 'Errno' => '1.12',
- 'Exporter' => '5.64_03',
- 'Exporter::Heavy' => '5.64_03',
- 'ExtUtils::CBuilder' => '0.2703',
- 'ExtUtils::CBuilder::Base'=> '0.2703_01',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.2703',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.56',
- 'ExtUtils::Constant' => '0.22',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.06',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.28',
- 'ExtUtils::Install' => '1.55',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.56',
- 'ExtUtils::Liblist::Kid'=> '6.56',
- 'ExtUtils::MM' => '6.56',
- 'ExtUtils::MM_AIX' => '6.56',
- 'ExtUtils::MM_Any' => '6.56',
- 'ExtUtils::MM_BeOS' => '6.56',
- 'ExtUtils::MM_Cygwin' => '6.56',
- 'ExtUtils::MM_DOS' => '6.56',
- 'ExtUtils::MM_Darwin' => '6.56',
- 'ExtUtils::MM_MacOS' => '6.56',
- 'ExtUtils::MM_NW5' => '6.56',
- 'ExtUtils::MM_OS2' => '6.56',
- 'ExtUtils::MM_QNX' => '6.56',
- 'ExtUtils::MM_UWIN' => '6.56',
- 'ExtUtils::MM_Unix' => '6.5601',
- 'ExtUtils::MM_VMS' => '6.56',
- 'ExtUtils::MM_VOS' => '6.56',
- 'ExtUtils::MM_Win32' => '6.56',
- 'ExtUtils::MM_Win95' => '6.56',
- 'ExtUtils::MY' => '6.56',
- 'ExtUtils::MakeMaker' => '6.5601',
- 'ExtUtils::MakeMaker::Config'=> '6.56',
- 'ExtUtils::Manifest' => '1.58',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.56',
- 'ExtUtils::Mksymlists' => '6.56',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.2207',
- 'ExtUtils::XSSymSet' => '1.1',
- 'ExtUtils::testlib' => '6.56',
- 'Fatal' => '2.10',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.79',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.20',
- 'File::DosGlob' => '1.02',
- 'File::Fetch' => '0.24',
- 'File::Find' => '1.17',
- 'File::Glob' => '1.08',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.31_01',
- 'File::Spec::Cygwin' => '3.30',
- 'File::Spec::Epoc' => '3.30',
- 'File::Spec::Functions' => '3.30',
- 'File::Spec::Mac' => '3.30',
- 'File::Spec::OS2' => '3.30',
- 'File::Spec::Unix' => '3.30',
- 'File::Spec::VMS' => '3.30',
- 'File::Spec::Win32' => '3.30',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.03',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'Filter::Simple' => '0.84',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.10',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.08',
- 'Hash::Util::FieldHash' => '1.04',
- 'I18N::Collate' => '1.01',
- 'I18N::LangTags' => '0.35_01',
- 'I18N::LangTags::Detect'=> '1.04',
- 'I18N::LangTags::List' => '0.35_01',
- 'I18N::Langinfo' => '0.04',
- 'IO' => '1.25_02',
- 'IO::Compress::Adapter::Bzip2'=> '2.030',
- 'IO::Compress::Adapter::Deflate'=> '2.030',
- 'IO::Compress::Adapter::Identity'=> '2.030',
- 'IO::Compress::Base' => '2.030',
- 'IO::Compress::Base::Common'=> '2.030',
- 'IO::Compress::Bzip2' => '2.030',
- 'IO::Compress::Deflate' => '2.030',
- 'IO::Compress::Gzip' => '2.030',
- 'IO::Compress::Gzip::Constants'=> '2.030',
- 'IO::Compress::RawDeflate'=> '2.030',
- 'IO::Compress::Zip' => '2.030',
- 'IO::Compress::Zip::Constants'=> '2.030',
- 'IO::Compress::Zlib::Constants'=> '2.030',
- 'IO::Compress::Zlib::Extra'=> '2.030',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.32',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.030',
- 'IO::Uncompress::Adapter::Identity'=> '2.030',
- 'IO::Uncompress::Adapter::Inflate'=> '2.030',
- 'IO::Uncompress::AnyInflate'=> '2.030',
- 'IO::Uncompress::AnyUncompress'=> '2.030',
- 'IO::Uncompress::Base' => '2.030',
- 'IO::Uncompress::Bunzip2'=> '2.030',
- 'IO::Uncompress::Gunzip'=> '2.030',
- 'IO::Uncompress::Inflate'=> '2.030',
- 'IO::Uncompress::RawInflate'=> '2.030',
- 'IO::Uncompress::Unzip' => '2.030',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.60',
- 'IPC::Msg' => '2.03',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.06',
- 'IPC::Semaphore' => '2.03',
- 'IPC::SharedMem' => '2.03',
- 'IPC::SysV' => '2.03',
- 'List::Util' => '1.23',
- 'List::Util::PP' => '1.23',
- 'List::Util::XS' => '1.23',
- 'Locale::Codes' => '3.13',
- 'Locale::Codes::Country'=> '3.13',
- 'Locale::Codes::Currency'=> '3.13',
- 'Locale::Codes::Language'=> '3.13',
- 'Locale::Codes::Script' => '3.13',
- 'Locale::Constants' => '3.13',
- 'Locale::Country' => '3.13',
- 'Locale::Currency' => '3.13',
- 'Locale::Language' => '3.13',
- 'Locale::Maketext' => '1.15',
- 'Locale::Maketext::Guts'=> undef,
- 'Locale::Maketext::GutsLoader'=> undef,
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '3.13',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.06',
- 'MIME::Base64' => '3.09',
- 'MIME::QuotedPrint' => '3.09',
- 'Math::BigFloat' => '1.60',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.89_01',
- 'Math::BigInt::Calc' => '0.52',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.19',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.24',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.01_03',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.3607',
- 'Module::Build::Base' => '0.3607',
- 'Module::Build::Compat' => '0.3607',
- 'Module::Build::Config' => '0.3607',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3607',
- 'Module::Build::Dumper' => '0.3607',
- 'Module::Build::ModuleInfo'=> '0.3607',
- 'Module::Build::Notes' => '0.3607',
- 'Module::Build::PPMMaker'=> '0.3607',
- 'Module::Build::Platform::Amiga'=> '0.3607',
- 'Module::Build::Platform::Default'=> '0.3607',
- 'Module::Build::Platform::EBCDIC'=> '0.3607',
- 'Module::Build::Platform::MPEiX'=> '0.3607',
- 'Module::Build::Platform::MacOS'=> '0.3607',
- 'Module::Build::Platform::RiscOS'=> '0.3607',
- 'Module::Build::Platform::Unix'=> '0.3607',
- 'Module::Build::Platform::VMS'=> '0.3607',
- 'Module::Build::Platform::VOS'=> '0.3607',
- 'Module::Build::Platform::Windows'=> '0.3607',
- 'Module::Build::Platform::aix'=> '0.3607',
- 'Module::Build::Platform::cygwin'=> '0.3607',
- 'Module::Build::Platform::darwin'=> '0.3607',
- 'Module::Build::Platform::os2'=> '0.3607',
- 'Module::Build::PodParser'=> '0.3607',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '1.40',
- 'Module::CoreList' => '2.37',
- 'Module::Load' => '0.18',
- 'Module::Load::Conditional'=> '0.38',
- 'Module::Loaded' => '0.06',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.08',
- 'NEXT' => '0.64',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.36',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.07',
- 'Object::Accessor' => '0.36',
- 'Opcode' => '1.15',
- 'POSIX' => '1.19',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.40',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.12',
- 'PerlIO::scalar' => '0.08',
- 'PerlIO::via' => '0.09',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.04',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.23',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_02',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.14',
- 'Pod::Simple::BlackBox' => '3.14',
- 'Pod::Simple::Checker' => '3.14',
- 'Pod::Simple::Debug' => '3.14',
- 'Pod::Simple::DumpAsText'=> '3.14',
- 'Pod::Simple::DumpAsXML'=> '3.14',
- 'Pod::Simple::HTML' => '3.14',
- 'Pod::Simple::HTMLBatch'=> '3.14',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.14',
- 'Pod::Simple::Methody' => '3.14',
- 'Pod::Simple::Progress' => '3.14',
- 'Pod::Simple::PullParser'=> '3.14',
- 'Pod::Simple::PullParserEndToken'=> '3.14',
- 'Pod::Simple::PullParserStartToken'=> '3.14',
- 'Pod::Simple::PullParserTextToken'=> '3.14',
- 'Pod::Simple::PullParserToken'=> '3.14',
- 'Pod::Simple::RTF' => '3.14',
- 'Pod::Simple::Search' => '3.14',
- 'Pod::Simple::SimpleTree'=> '3.14',
- 'Pod::Simple::Text' => '3.14',
- 'Pod::Simple::TextContent'=> '3.14',
- 'Pod::Simple::TiedOutFH'=> '3.14',
- 'Pod::Simple::Transcode'=> '3.14',
- 'Pod::Simple::TranscodeDumb'=> '3.14',
- 'Pod::Simple::TranscodeSmart'=> '3.14',
- 'Pod::Simple::XHTML' => '3.14',
- 'Pod::Simple::XMLOutStream'=> '3.14',
- 'Pod::Text' => '3.14',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.27',
- 'Scalar::Util' => '1.23',
- 'Scalar::Util::PP' => '1.23',
- 'Search::Dict' => '1.03',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.17',
- 'Shell' => '0.72_01',
- 'Socket' => '1.89',
- 'Storable' => '2.22',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.22',
- 'TAP::Formatter::Base' => '3.22',
- 'TAP::Formatter::Color' => '3.22',
- 'TAP::Formatter::Console'=> '3.22',
- 'TAP::Formatter::Console::ParallelSession'=> '3.22',
- 'TAP::Formatter::Console::Session'=> '3.22',
- 'TAP::Formatter::File' => '3.22',
- 'TAP::Formatter::File::Session'=> '3.22',
- 'TAP::Formatter::Session'=> '3.22',
- 'TAP::Harness' => '3.22',
- 'TAP::Object' => '3.22',
- 'TAP::Parser' => '3.22',
- 'TAP::Parser::Aggregator'=> '3.22',
- 'TAP::Parser::Grammar' => '3.22',
- 'TAP::Parser::Iterator' => '3.22',
- 'TAP::Parser::Iterator::Array'=> '3.22',
- 'TAP::Parser::Iterator::Process'=> '3.22',
- 'TAP::Parser::Iterator::Stream'=> '3.22',
- 'TAP::Parser::IteratorFactory'=> '3.22',
- 'TAP::Parser::Multiplexer'=> '3.22',
- 'TAP::Parser::Result' => '3.22',
- 'TAP::Parser::Result::Bailout'=> '3.22',
- 'TAP::Parser::Result::Comment'=> '3.22',
- 'TAP::Parser::Result::Plan'=> '3.22',
- 'TAP::Parser::Result::Pragma'=> '3.22',
- 'TAP::Parser::Result::Test'=> '3.22',
- 'TAP::Parser::Result::Unknown'=> '3.22',
- 'TAP::Parser::Result::Version'=> '3.22',
- 'TAP::Parser::Result::YAML'=> '3.22',
- 'TAP::Parser::ResultFactory'=> '3.22',
- 'TAP::Parser::Scheduler'=> '3.22',
- 'TAP::Parser::Scheduler::Job'=> '3.22',
- 'TAP::Parser::Scheduler::Spinner'=> '3.22',
- 'TAP::Parser::Source' => '3.22',
- 'TAP::Parser::SourceHandler'=> '3.22',
- 'TAP::Parser::SourceHandler::Executable'=> '3.22',
- 'TAP::Parser::SourceHandler::File'=> '3.22',
- 'TAP::Parser::SourceHandler::Handle'=> '3.22',
- 'TAP::Parser::SourceHandler::Perl'=> '3.22',
- 'TAP::Parser::SourceHandler::RawTAP'=> '3.22',
- 'TAP::Parser::Utils' => '3.22',
- 'TAP::Parser::YAMLish::Reader'=> '3.22',
- 'TAP::Parser::YAMLish::Writer'=> '3.22',
- 'Term::ANSIColor' => '3.00',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.07',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.96',
- 'Test::Builder::Module' => '0.96',
- 'Test::Builder::Tester' => '1.20',
- 'Test::Builder::Tester::Color'=> '1.20',
- 'Test::Harness' => '3.22',
- 'Test::More' => '0.96',
- 'Test::Simple' => '0.96',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.11',
- 'Tie::Array' => '1.04',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.03',
- 'Tie::Hash::NamedCapture'=> '0.06',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.02',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9721',
- 'Time::Local' => '1.1901_01',
- 'Time::Piece' => '1.20_01',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.07',
- 'Unicode' => '5.2.0',
- 'Unicode::Collate' => '0.56',
- 'Unicode::Collate::Locale'=> '0.56',
- 'Unicode::Normalize' => '1.06',
- 'Unicode::UCD' => '0.29',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.04',
- 'VMS::Filespec' => '1.12',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.39',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.20',
- 'XS::APItest::KeywordRPN'=> '0.004',
- 'XS::Typemap' => '0.03',
- 'XSLoader' => '0.10',
- 'XSLoader::XSLoader' => '0.10',
- 'attributes' => '0.12',
- 'autodie' => '2.10',
- 'autodie::exception' => '2.10',
- 'autodie::exception::system'=> '2.10',
- 'autodie::hints' => '2.10',
- 'autouse' => '1.06',
- 'base' => '2.15',
- 'bigint' => '0.23',
- 'bignum' => '0.23',
- 'bigrat' => '0.23',
- 'blib' => '1.05',
- 'bytes' => '1.04',
- 'charnames' => '1.15',
- 'constant' => '1.20',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.20',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.18',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.05',
- 'inc::latest' => '0.3607',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.63',
- 'locale' => '1.00',
- 'mro' => '1.03',
- 'open' => '1.07',
- 'ops' => '1.02',
- 'overload' => '1.10',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.223',
- 're' => '0.12',
- 'sigtrap' => '1.04',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.77_03',
- 'threads::shared' => '1.33_02',
- 'utf8' => '1.08',
- 'vars' => '1.02',
- 'version' => '0.82',
- 'vmsish' => '1.02',
- 'warnings' => '1.10',
- 'warnings::register' => '1.01',
- },
- 5.012002 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.17',
- 'App::Prove::State' => '3.17',
- 'App::Prove::State::Result'=> '3.17',
- 'App::Prove::State::Result::Test'=> '3.17',
- 'Archive::Extract' => '0.38',
- 'Archive::Tar' => '1.54',
- 'Archive::Tar::Constant'=> '0.02',
- 'Archive::Tar::File' => '0.02',
- 'Attribute::Handlers' => '0.87',
- 'AutoLoader' => '5.70',
- 'AutoSplit' => '1.06',
- 'B' => '1.23',
- 'B::Concise' => '0.78',
- 'B::Debug' => '1.12',
- 'B::Deparse' => '0.97',
- 'B::Lint' => '1.11_01',
- 'B::Lint::Debug' => '0.01',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.49',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.45',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.08',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.48',
- 'CPAN' => '1.94_56',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9456_01',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5004',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.5301',
- 'CPAN::HandleConfig' => '5.5001',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Mirrors' => '1.77',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5',
- 'CPAN::Shell' => '5.5001',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5',
- 'CPANPLUS' => '0.90',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.46',
- 'CPANPLUS::Dist::Build::Constants'=> '0.46',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.90',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.90',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.17',
- 'Carp::Heavy' => '1.17',
- 'Class::ISA' => '0.36',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.024',
- 'Compress::Raw::Zlib' => '2.024',
- 'Compress::Zlib' => '2.024',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.31',
- 'DB' => '1.02',
- 'DBM_Filter' => '0.03',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'Data::Dumper' => '2.125',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.04',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.39',
- 'Digest::SHA' => '5.47',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.13',
- 'DynaLoader' => '1.10',
- 'Encode' => '2.39',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.03',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.11',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.04',
- 'Env' => '1.01',
- 'Errno' => '1.11',
- 'Exporter' => '5.64_01',
- 'Exporter::Heavy' => '5.64_01',
- 'ExtUtils::CBuilder' => '0.27',
- 'ExtUtils::CBuilder::Base'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.27',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.56',
- 'ExtUtils::Constant' => '0.22',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.06',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.28',
- 'ExtUtils::Install' => '1.55',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.56',
- 'ExtUtils::Liblist::Kid'=> '6.56',
- 'ExtUtils::MM' => '6.56',
- 'ExtUtils::MM_AIX' => '6.56',
- 'ExtUtils::MM_Any' => '6.56',
- 'ExtUtils::MM_BeOS' => '6.56',
- 'ExtUtils::MM_Cygwin' => '6.56',
- 'ExtUtils::MM_DOS' => '6.56',
- 'ExtUtils::MM_Darwin' => '6.56',
- 'ExtUtils::MM_MacOS' => '6.56',
- 'ExtUtils::MM_NW5' => '6.56',
- 'ExtUtils::MM_OS2' => '6.56',
- 'ExtUtils::MM_QNX' => '6.56',
- 'ExtUtils::MM_UWIN' => '6.56',
- 'ExtUtils::MM_Unix' => '6.56',
- 'ExtUtils::MM_VMS' => '6.56',
- 'ExtUtils::MM_VOS' => '6.56',
- 'ExtUtils::MM_Win32' => '6.56',
- 'ExtUtils::MM_Win95' => '6.56',
- 'ExtUtils::MY' => '6.56',
- 'ExtUtils::MakeMaker' => '6.56',
- 'ExtUtils::MakeMaker::Config'=> '6.56',
- 'ExtUtils::Manifest' => '1.57',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.56',
- 'ExtUtils::Mksymlists' => '6.56',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.21',
- 'ExtUtils::XSSymSet' => '1.1',
- 'ExtUtils::testlib' => '6.56',
- 'Fatal' => '2.06_01',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.78',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.18',
- 'File::DosGlob' => '1.01',
- 'File::Fetch' => '0.24',
- 'File::Find' => '1.15',
- 'File::Glob' => '1.07',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.31_01',
- 'File::Spec::Cygwin' => '3.30',
- 'File::Spec::Epoc' => '3.30',
- 'File::Spec::Functions' => '3.30',
- 'File::Spec::Mac' => '3.30',
- 'File::Spec::OS2' => '3.30',
- 'File::Spec::Unix' => '3.30',
- 'File::Spec::VMS' => '3.30',
- 'File::Spec::Win32' => '3.30',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.02',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'Filter::Simple' => '0.84',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.10',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.07',
- 'Hash::Util::FieldHash' => '1.04',
- 'I18N::Collate' => '1.01',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.04',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.03',
- 'IO' => '1.25_02',
- 'IO::Compress::Adapter::Bzip2'=> '2.024',
- 'IO::Compress::Adapter::Deflate'=> '2.024',
- 'IO::Compress::Adapter::Identity'=> '2.024',
- 'IO::Compress::Base' => '2.024',
- 'IO::Compress::Base::Common'=> '2.024',
- 'IO::Compress::Bzip2' => '2.024',
- 'IO::Compress::Deflate' => '2.024',
- 'IO::Compress::Gzip' => '2.024',
- 'IO::Compress::Gzip::Constants'=> '2.024',
- 'IO::Compress::RawDeflate'=> '2.024',
- 'IO::Compress::Zip' => '2.024',
- 'IO::Compress::Zip::Constants'=> '2.024',
- 'IO::Compress::Zlib::Constants'=> '2.024',
- 'IO::Compress::Zlib::Extra'=> '2.024',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.31',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
- 'IO::Uncompress::Adapter::Identity'=> '2.024',
- 'IO::Uncompress::Adapter::Inflate'=> '2.024',
- 'IO::Uncompress::AnyInflate'=> '2.024',
- 'IO::Uncompress::AnyUncompress'=> '2.024',
- 'IO::Uncompress::Base' => '2.024',
- 'IO::Uncompress::Bunzip2'=> '2.024',
- 'IO::Uncompress::Gunzip'=> '2.024',
- 'IO::Uncompress::Inflate'=> '2.024',
- 'IO::Uncompress::RawInflate'=> '2.024',
- 'IO::Uncompress::Unzip' => '2.024',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.54',
- 'IPC::Msg' => '2.01',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.05',
- 'IPC::Semaphore' => '2.01',
- 'IPC::SharedMem' => '2.01',
- 'IPC::SysV' => '2.01',
- 'List::Util' => '1.22',
- 'List::Util::PP' => '1.22',
- 'List::Util::XS' => '1.22',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.14',
- 'Locale::Maketext::Guts'=> '1.13',
- 'Locale::Maketext::GutsLoader'=> '1.13',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '2.07',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.06',
- 'MIME::Base64' => '3.08',
- 'MIME::QuotedPrint' => '3.08',
- 'Math::BigFloat' => '1.60',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.89_01',
- 'Math::BigInt::Calc' => '0.52',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.19',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.24',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.01_03',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.3603',
- 'Module::Build::Base' => '0.3603',
- 'Module::Build::Compat' => '0.3603',
- 'Module::Build::Config' => '0.3603',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3603',
- 'Module::Build::Dumper' => '0.3603',
- 'Module::Build::ModuleInfo'=> '0.3603',
- 'Module::Build::Notes' => '0.3603',
- 'Module::Build::PPMMaker'=> '0.3603',
- 'Module::Build::Platform::Amiga'=> '0.3603',
- 'Module::Build::Platform::Default'=> '0.3603',
- 'Module::Build::Platform::EBCDIC'=> '0.3603',
- 'Module::Build::Platform::MPEiX'=> '0.3603',
- 'Module::Build::Platform::MacOS'=> '0.3603',
- 'Module::Build::Platform::RiscOS'=> '0.3603',
- 'Module::Build::Platform::Unix'=> '0.3603',
- 'Module::Build::Platform::VMS'=> '0.3603',
- 'Module::Build::Platform::VOS'=> '0.3603',
- 'Module::Build::Platform::Windows'=> '0.3603',
- 'Module::Build::Platform::aix'=> '0.3603',
- 'Module::Build::Platform::cygwin'=> '0.3603',
- 'Module::Build::Platform::darwin'=> '0.3603',
- 'Module::Build::Platform::os2'=> '0.3603',
- 'Module::Build::PodParser'=> '0.3603',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '1.40',
- 'Module::CoreList' => '2.38',
- 'Module::Load' => '0.16',
- 'Module::Load::Conditional'=> '0.38',
- 'Module::Loaded' => '0.06',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.08',
- 'NEXT' => '0.64',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.36',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.07',
- 'Object::Accessor' => '0.36',
- 'Opcode' => '1.15',
- 'POSIX' => '1.19',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.40',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.12',
- 'PerlIO::scalar' => '0.08',
- 'PerlIO::via' => '0.09',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.04',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.23',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_02',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Plainer' => '1.02',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.14',
- 'Pod::Simple::BlackBox' => '3.14',
- 'Pod::Simple::Checker' => '3.14',
- 'Pod::Simple::Debug' => '3.14',
- 'Pod::Simple::DumpAsText'=> '3.14',
- 'Pod::Simple::DumpAsXML'=> '3.14',
- 'Pod::Simple::HTML' => '3.14',
- 'Pod::Simple::HTMLBatch'=> '3.14',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.14',
- 'Pod::Simple::Methody' => '3.14',
- 'Pod::Simple::Progress' => '3.14',
- 'Pod::Simple::PullParser'=> '3.14',
- 'Pod::Simple::PullParserEndToken'=> '3.14',
- 'Pod::Simple::PullParserStartToken'=> '3.14',
- 'Pod::Simple::PullParserTextToken'=> '3.14',
- 'Pod::Simple::PullParserToken'=> '3.14',
- 'Pod::Simple::RTF' => '3.14',
- 'Pod::Simple::Search' => '3.14',
- 'Pod::Simple::SimpleTree'=> '3.14',
- 'Pod::Simple::Text' => '3.14',
- 'Pod::Simple::TextContent'=> '3.14',
- 'Pod::Simple::TiedOutFH'=> '3.14',
- 'Pod::Simple::Transcode'=> '3.14',
- 'Pod::Simple::TranscodeDumb'=> '3.14',
- 'Pod::Simple::TranscodeSmart'=> '3.14',
- 'Pod::Simple::XHTML' => '3.14',
- 'Pod::Simple::XMLOutStream'=> '3.14',
- 'Pod::Text' => '3.14',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.27',
- 'Scalar::Util' => '1.22',
- 'Scalar::Util::PP' => '1.22',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.17',
- 'Shell' => '0.72_01',
- 'Socket' => '1.87',
- 'Storable' => '2.22',
- 'Switch' => '2.16',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.17',
- 'TAP::Formatter::Base' => '3.17',
- 'TAP::Formatter::Color' => '3.17',
- 'TAP::Formatter::Console'=> '3.17',
- 'TAP::Formatter::Console::ParallelSession'=> '3.17',
- 'TAP::Formatter::Console::Session'=> '3.17',
- 'TAP::Formatter::File' => '3.17',
- 'TAP::Formatter::File::Session'=> '3.17',
- 'TAP::Formatter::Session'=> '3.17',
- 'TAP::Harness' => '3.17',
- 'TAP::Object' => '3.17',
- 'TAP::Parser' => '3.17',
- 'TAP::Parser::Aggregator'=> '3.17',
- 'TAP::Parser::Grammar' => '3.17',
- 'TAP::Parser::Iterator' => '3.17',
- 'TAP::Parser::Iterator::Array'=> '3.17',
- 'TAP::Parser::Iterator::Process'=> '3.17',
- 'TAP::Parser::Iterator::Stream'=> '3.17',
- 'TAP::Parser::IteratorFactory'=> '3.17',
- 'TAP::Parser::Multiplexer'=> '3.17',
- 'TAP::Parser::Result' => '3.17',
- 'TAP::Parser::Result::Bailout'=> '3.17',
- 'TAP::Parser::Result::Comment'=> '3.17',
- 'TAP::Parser::Result::Plan'=> '3.17',
- 'TAP::Parser::Result::Pragma'=> '3.17',
- 'TAP::Parser::Result::Test'=> '3.17',
- 'TAP::Parser::Result::Unknown'=> '3.17',
- 'TAP::Parser::Result::Version'=> '3.17',
- 'TAP::Parser::Result::YAML'=> '3.17',
- 'TAP::Parser::ResultFactory'=> '3.17',
- 'TAP::Parser::Scheduler'=> '3.17',
- 'TAP::Parser::Scheduler::Job'=> '3.17',
- 'TAP::Parser::Scheduler::Spinner'=> '3.17',
- 'TAP::Parser::Source' => '3.17',
- 'TAP::Parser::Source::Perl'=> '3.17',
- 'TAP::Parser::Utils' => '3.17',
- 'TAP::Parser::YAMLish::Reader'=> '3.17',
- 'TAP::Parser::YAMLish::Writer'=> '3.17',
- 'Term::ANSIColor' => '2.02',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.05',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.94',
- 'Test::Builder::Module' => '0.94',
- 'Test::Builder::Tester' => '1.18',
- 'Test::Builder::Tester::Color'=> '1.18',
- 'Test::Harness' => '3.17',
- 'Test::More' => '0.94',
- 'Test::Simple' => '0.94',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.09',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.03',
- 'Tie::Hash::NamedCapture'=> '0.06',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.02',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9719',
- 'Time::Local' => '1.1901_01',
- 'Time::Piece' => '1.15_01',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.06',
- 'Unicode' => '5.2.0',
- 'Unicode::Collate' => '0.52_01',
- 'Unicode::Normalize' => '1.03',
- 'Unicode::UCD' => '0.27',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.03',
- 'VMS::Filespec' => '1.12',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.39',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.17',
- 'XS::APItest::KeywordRPN'=> '0.003',
- 'XS::Typemap' => '0.03',
- 'XSLoader' => '0.10',
- 'XSLoader::XSLoader' => '0.10',
- 'attributes' => '0.12',
- 'autodie' => '2.06_01',
- 'autodie::exception' => '2.06_01',
- 'autodie::exception::system'=> '2.06_01',
- 'autodie::hints' => '2.06_01',
- 'autouse' => '1.06',
- 'base' => '2.15',
- 'bigint' => '0.23',
- 'bignum' => '0.23',
- 'bigrat' => '0.23',
- 'blib' => '1.04',
- 'bytes' => '1.04',
- 'charnames' => '1.07',
- 'constant' => '1.20',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.19',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.16',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.05',
- 'inc::latest' => '0.3603',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.62',
- 'locale' => '1.00',
- 'mro' => '1.02',
- 'open' => '1.07',
- 'ops' => '1.02',
- 'overload' => '1.10',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.223',
- 're' => '0.11',
- 'sigtrap' => '1.04',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.75',
- 'threads::shared' => '1.32',
- 'utf8' => '1.08',
- 'vars' => '1.01',
- 'version' => '0.82',
- 'vmsish' => '1.02',
- 'warnings' => '1.09',
- 'warnings::register' => '1.01',
+ delta_from => 5.013003,
+ changed => {
+ 'App::Prove' => '3.22',
+ 'App::Prove::State' => '3.22',
+ 'App::Prove::State::Result'=> '3.22',
+ 'App::Prove::State::Result::Test'=> '3.22',
+ 'Archive::Tar' => '1.68',
+ 'Archive::Tar::Constant'=> '1.68',
+ 'Archive::Tar::File' => '1.68',
+ 'B::Lint' => '1.12',
+ 'B::Lint::Debug' => '1.12',
+ 'Carp' => '1.18',
+ 'Carp::Heavy' => '1.18',
+ 'Compress::Raw::Bzip2' => '2.030',
+ 'Compress::Raw::Zlib' => '2.030',
+ 'Compress::Zlib' => '2.030',
+ 'ExtUtils::ParseXS' => '2.2207',
+ 'File::Spec' => '3.31_01',
+ 'I18N::Langinfo' => '0.04',
+ 'IO::Compress::Adapter::Bzip2'=> '2.030',
+ 'IO::Compress::Adapter::Deflate'=> '2.030',
+ 'IO::Compress::Adapter::Identity'=> '2.030',
+ 'IO::Compress::Base' => '2.030',
+ 'IO::Compress::Base::Common'=> '2.030',
+ 'IO::Compress::Bzip2' => '2.030',
+ 'IO::Compress::Deflate' => '2.030',
+ 'IO::Compress::Gzip' => '2.030',
+ 'IO::Compress::Gzip::Constants'=> '2.030',
+ 'IO::Compress::RawDeflate'=> '2.030',
+ 'IO::Compress::Zip' => '2.030',
+ 'IO::Compress::Zip::Constants'=> '2.030',
+ 'IO::Compress::Zlib::Constants'=> '2.030',
+ 'IO::Compress::Zlib::Extra'=> '2.030',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.030',
+ 'IO::Uncompress::Adapter::Identity'=> '2.030',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.030',
+ 'IO::Uncompress::AnyInflate'=> '2.030',
+ 'IO::Uncompress::AnyUncompress'=> '2.030',
+ 'IO::Uncompress::Base' => '2.030',
+ 'IO::Uncompress::Bunzip2'=> '2.030',
+ 'IO::Uncompress::Gunzip'=> '2.030',
+ 'IO::Uncompress::Inflate'=> '2.030',
+ 'IO::Uncompress::RawInflate'=> '2.030',
+ 'IO::Uncompress::Unzip' => '2.030',
+ 'Module::CoreList' => '2.37',
+ 'TAP::Base' => '3.22',
+ 'TAP::Formatter::Base' => '3.22',
+ 'TAP::Formatter::Color' => '3.22',
+ 'TAP::Formatter::Console'=> '3.22',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.22',
+ 'TAP::Formatter::Console::Session'=> '3.22',
+ 'TAP::Formatter::File' => '3.22',
+ 'TAP::Formatter::File::Session'=> '3.22',
+ 'TAP::Formatter::Session'=> '3.22',
+ 'TAP::Harness' => '3.22',
+ 'TAP::Object' => '3.22',
+ 'TAP::Parser' => '3.22',
+ 'TAP::Parser::Aggregator'=> '3.22',
+ 'TAP::Parser::Grammar' => '3.22',
+ 'TAP::Parser::Iterator' => '3.22',
+ 'TAP::Parser::Iterator::Array'=> '3.22',
+ 'TAP::Parser::Iterator::Process'=> '3.22',
+ 'TAP::Parser::Iterator::Stream'=> '3.22',
+ 'TAP::Parser::IteratorFactory'=> '3.22',
+ 'TAP::Parser::Multiplexer'=> '3.22',
+ 'TAP::Parser::Result' => '3.22',
+ 'TAP::Parser::Result::Bailout'=> '3.22',
+ 'TAP::Parser::Result::Comment'=> '3.22',
+ 'TAP::Parser::Result::Plan'=> '3.22',
+ 'TAP::Parser::Result::Pragma'=> '3.22',
+ 'TAP::Parser::Result::Test'=> '3.22',
+ 'TAP::Parser::Result::Unknown'=> '3.22',
+ 'TAP::Parser::Result::Version'=> '3.22',
+ 'TAP::Parser::Result::YAML'=> '3.22',
+ 'TAP::Parser::ResultFactory'=> '3.22',
+ 'TAP::Parser::Scheduler'=> '3.22',
+ 'TAP::Parser::Scheduler::Job'=> '3.22',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.22',
+ 'TAP::Parser::Source' => '3.22',
+ 'TAP::Parser::SourceHandler'=> '3.22',
+ 'TAP::Parser::SourceHandler::Executable'=> '3.22',
+ 'TAP::Parser::SourceHandler::File'=> '3.22',
+ 'TAP::Parser::SourceHandler::Handle'=> '3.22',
+ 'TAP::Parser::SourceHandler::Perl'=> '3.22',
+ 'TAP::Parser::SourceHandler::RawTAP'=> '3.22',
+ 'TAP::Parser::Utils' => '3.22',
+ 'TAP::Parser::YAMLish::Reader'=> '3.22',
+ 'TAP::Parser::YAMLish::Writer'=> '3.22',
+ 'Test::Builder' => '0.96',
+ 'Test::Builder::Module' => '0.96',
+ 'Test::Builder::Tester' => '1.20',
+ 'Test::Builder::Tester::Color'=> '1.20',
+ 'Test::Harness' => '3.22',
+ 'Test::More' => '0.96',
+ 'Test::Simple' => '0.96',
+ 'Unicode::Collate' => '0.56',
+ 'Unicode::Collate::Locale'=> '0.56',
+ 'XS::APItest' => '0.20',
+ 'charnames' => '1.15',
+ 'feature' => '1.18',
+ },
+ removed => {
+ 'TAP::Parser::SourceHandler::pgTAP'=> 1,
+ }
},
5.013005 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.22',
- 'App::Prove::State' => '3.22',
- 'App::Prove::State::Result'=> '3.22',
- 'App::Prove::State::Result::Test'=> '3.22',
- 'Archive::Extract' => '0.42',
- 'Archive::Tar' => '1.68',
- 'Archive::Tar::Constant'=> '1.68',
- 'Archive::Tar::File' => '1.68',
- 'Attribute::Handlers' => '0.88',
- 'AutoLoader' => '5.70',
- 'AutoSplit' => '1.06',
- 'B' => '1.23',
- 'B::Concise' => '0.79',
- 'B::Debug' => '1.16',
- 'B::Deparse' => '0.98',
- 'B::Lint' => '1.12',
- 'B::Lint::Debug' => '1.12',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.49',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.45',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.08',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.48',
- 'CPAN' => '1.94_57',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9600',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5004',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.5301',
- 'CPAN::HandleConfig' => '5.5001',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Mirrors' => '1.77',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5',
- 'CPAN::Shell' => '5.5001',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5',
- 'CPANPLUS' => '0.9007',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.48',
- 'CPANPLUS::Dist::Build::Constants'=> '0.48',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.9007',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.9007',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.18',
- 'Carp::Heavy' => '1.18',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.030',
- 'Compress::Raw::Zlib' => '2.030',
- 'Compress::Zlib' => '2.030',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.31',
- 'DB' => '1.03',
- 'DBM_Filter' => '0.03',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'Data::Dumper' => '2.128',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::V' => undef,
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.04',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.40',
- 'Digest::SHA' => '5.48',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.14',
- 'DynaLoader' => '1.10',
- 'Encode' => '2.40',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.04',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.12',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.05',
- 'English' => '1.04',
- 'Env' => '1.01',
- 'Errno' => '1.13',
- 'Exporter' => '5.64_03',
- 'Exporter::Heavy' => '5.64_03',
- 'ExtUtils::CBuilder' => '0.2703',
- 'ExtUtils::CBuilder::Base'=> '0.2703_01',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.2703',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.57_05',
- 'ExtUtils::Constant' => '0.22',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.06',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.28',
- 'ExtUtils::Install' => '1.55',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.57_05',
- 'ExtUtils::Liblist::Kid'=> '6.5705',
- 'ExtUtils::MM' => '6.57_05',
- 'ExtUtils::MM_AIX' => '6.57_05',
- 'ExtUtils::MM_Any' => '6.57_05',
- 'ExtUtils::MM_BeOS' => '6.57_05',
- 'ExtUtils::MM_Cygwin' => '6.57_05',
- 'ExtUtils::MM_DOS' => '6.5705',
- 'ExtUtils::MM_Darwin' => '6.57_05',
- 'ExtUtils::MM_MacOS' => '6.5705',
- 'ExtUtils::MM_NW5' => '6.57_05',
- 'ExtUtils::MM_OS2' => '6.57_05',
- 'ExtUtils::MM_QNX' => '6.57_05',
- 'ExtUtils::MM_UWIN' => '6.5705',
- 'ExtUtils::MM_Unix' => '6.57_05',
- 'ExtUtils::MM_VMS' => '6.57_05',
- 'ExtUtils::MM_VOS' => '6.57_05',
- 'ExtUtils::MM_Win32' => '6.57_05',
- 'ExtUtils::MM_Win95' => '6.57_05',
- 'ExtUtils::MY' => '6.5705',
- 'ExtUtils::MakeMaker' => '6.57_05',
- 'ExtUtils::MakeMaker::Config'=> '6.57_05',
- 'ExtUtils::MakeMaker::YAML'=> '1.44',
- 'ExtUtils::Manifest' => '1.58',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.57_05',
- 'ExtUtils::Mksymlists' => '6.57_05',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.2207',
- 'ExtUtils::XSSymSet' => '1.1',
- 'ExtUtils::testlib' => '6.5705',
- 'Fatal' => '2.10',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.79',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.20',
- 'File::DosGlob' => '1.02',
- 'File::Fetch' => '0.24',
- 'File::Find' => '1.17',
- 'File::Glob' => '1.08',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.31_01',
- 'File::Spec::Cygwin' => '3.30',
- 'File::Spec::Epoc' => '3.30',
- 'File::Spec::Functions' => '3.30',
- 'File::Spec::Mac' => '3.30',
- 'File::Spec::OS2' => '3.30',
- 'File::Spec::Unix' => '3.30',
- 'File::Spec::VMS' => '3.30',
- 'File::Spec::Win32' => '3.30',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.03',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'Filter::Simple' => '0.85',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.10',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.09',
- 'Hash::Util::FieldHash' => '1.04',
- 'I18N::Collate' => '1.01',
- 'I18N::LangTags' => '0.35_01',
- 'I18N::LangTags::Detect'=> '1.04',
- 'I18N::LangTags::List' => '0.35_01',
- 'I18N::Langinfo' => '0.04',
- 'IO' => '1.25_02',
- 'IO::Compress::Adapter::Bzip2'=> '2.030',
- 'IO::Compress::Adapter::Deflate'=> '2.030',
- 'IO::Compress::Adapter::Identity'=> '2.030',
- 'IO::Compress::Base' => '2.030',
- 'IO::Compress::Base::Common'=> '2.030',
- 'IO::Compress::Bzip2' => '2.030',
- 'IO::Compress::Deflate' => '2.030',
- 'IO::Compress::Gzip' => '2.030',
- 'IO::Compress::Gzip::Constants'=> '2.030',
- 'IO::Compress::RawDeflate'=> '2.030',
- 'IO::Compress::Zip' => '2.030',
- 'IO::Compress::Zip::Constants'=> '2.030',
- 'IO::Compress::Zlib::Constants'=> '2.030',
- 'IO::Compress::Zlib::Extra'=> '2.030',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.32',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.030',
- 'IO::Uncompress::Adapter::Identity'=> '2.030',
- 'IO::Uncompress::Adapter::Inflate'=> '2.030',
- 'IO::Uncompress::AnyInflate'=> '2.030',
- 'IO::Uncompress::AnyUncompress'=> '2.030',
- 'IO::Uncompress::Base' => '2.030',
- 'IO::Uncompress::Bunzip2'=> '2.030',
- 'IO::Uncompress::Gunzip'=> '2.030',
- 'IO::Uncompress::Inflate'=> '2.030',
- 'IO::Uncompress::RawInflate'=> '2.030',
- 'IO::Uncompress::Unzip' => '2.030',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.60',
- 'IPC::Msg' => '2.03',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.06',
- 'IPC::Semaphore' => '2.03',
- 'IPC::SharedMem' => '2.03',
- 'IPC::SysV' => '2.03',
- 'List::Util' => '1.23',
- 'List::Util::PP' => '1.23',
- 'List::Util::XS' => '1.23',
- 'Locale::Codes' => '3.13',
- 'Locale::Codes::Country'=> '3.13',
- 'Locale::Codes::Currency'=> '3.13',
- 'Locale::Codes::Language'=> '3.13',
- 'Locale::Codes::Script' => '3.13',
- 'Locale::Constants' => '3.13',
- 'Locale::Country' => '3.13',
- 'Locale::Currency' => '3.13',
- 'Locale::Language' => '3.13',
- 'Locale::Maketext' => '1.15',
- 'Locale::Maketext::Guts'=> undef,
- 'Locale::Maketext::GutsLoader'=> undef,
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '3.13',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.06',
- 'MIME::Base64' => '3.09',
- 'MIME::QuotedPrint' => '3.09',
- 'Math::BigFloat' => '1.62',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.95',
- 'Math::BigInt::Calc' => '0.54',
- 'Math::BigInt::CalcEmu' => '0.06',
- 'Math::BigInt::FastCalc'=> '0.22',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.26',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.01_03',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.3607',
- 'Module::Build::Base' => '0.3607',
- 'Module::Build::Compat' => '0.3607',
- 'Module::Build::Config' => '0.3607',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3607',
- 'Module::Build::Dumper' => '0.3607',
- 'Module::Build::ModuleInfo'=> '0.3607',
- 'Module::Build::Notes' => '0.3607',
- 'Module::Build::PPMMaker'=> '0.3607',
- 'Module::Build::Platform::Amiga'=> '0.3607',
- 'Module::Build::Platform::Default'=> '0.3607',
- 'Module::Build::Platform::EBCDIC'=> '0.3607',
- 'Module::Build::Platform::MPEiX'=> '0.3607',
- 'Module::Build::Platform::MacOS'=> '0.3607',
- 'Module::Build::Platform::RiscOS'=> '0.3607',
- 'Module::Build::Platform::Unix'=> '0.3607',
- 'Module::Build::Platform::VMS'=> '0.3607',
- 'Module::Build::Platform::VOS'=> '0.3607',
- 'Module::Build::Platform::Windows'=> '0.3607',
- 'Module::Build::Platform::aix'=> '0.3607',
- 'Module::Build::Platform::cygwin'=> '0.3607',
- 'Module::Build::Platform::darwin'=> '0.3607',
- 'Module::Build::Platform::os2'=> '0.3607',
- 'Module::Build::PodParser'=> '0.3607',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '1.40',
- 'Module::CoreList' => '2.39',
- 'Module::Load' => '0.18',
- 'Module::Load::Conditional'=> '0.38',
- 'Module::Loaded' => '0.06',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.08',
- 'NEXT' => '0.64',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.36',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.07',
- 'Object::Accessor' => '0.36',
- 'Opcode' => '1.15',
- 'POSIX' => '1.20',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.40',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.12',
- 'PerlIO::scalar' => '0.09',
- 'PerlIO::via' => '0.09',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.04',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.23',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_02',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.14',
- 'Pod::Simple::BlackBox' => '3.14',
- 'Pod::Simple::Checker' => '3.14',
- 'Pod::Simple::Debug' => '3.14',
- 'Pod::Simple::DumpAsText'=> '3.14',
- 'Pod::Simple::DumpAsXML'=> '3.14',
- 'Pod::Simple::HTML' => '3.14',
- 'Pod::Simple::HTMLBatch'=> '3.14',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.14',
- 'Pod::Simple::Methody' => '3.14',
- 'Pod::Simple::Progress' => '3.14',
- 'Pod::Simple::PullParser'=> '3.14',
- 'Pod::Simple::PullParserEndToken'=> '3.14',
- 'Pod::Simple::PullParserStartToken'=> '3.14',
- 'Pod::Simple::PullParserTextToken'=> '3.14',
- 'Pod::Simple::PullParserToken'=> '3.14',
- 'Pod::Simple::RTF' => '3.14',
- 'Pod::Simple::Search' => '3.14',
- 'Pod::Simple::SimpleTree'=> '3.14',
- 'Pod::Simple::Text' => '3.14',
- 'Pod::Simple::TextContent'=> '3.14',
- 'Pod::Simple::TiedOutFH'=> '3.14',
- 'Pod::Simple::Transcode'=> '3.14',
- 'Pod::Simple::TranscodeDumb'=> '3.14',
- 'Pod::Simple::TranscodeSmart'=> '3.14',
- 'Pod::Simple::XHTML' => '3.14',
- 'Pod::Simple::XMLOutStream'=> '3.14',
- 'Pod::Text' => '3.14',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.28',
- 'Scalar::Util' => '1.23',
- 'Scalar::Util::PP' => '1.23',
- 'Search::Dict' => '1.03',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.17',
- 'Shell' => '0.72_01',
- 'Socket' => '1.89',
- 'Storable' => '2.22',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.22',
- 'TAP::Formatter::Base' => '3.22',
- 'TAP::Formatter::Color' => '3.22',
- 'TAP::Formatter::Console'=> '3.22',
- 'TAP::Formatter::Console::ParallelSession'=> '3.22',
- 'TAP::Formatter::Console::Session'=> '3.22',
- 'TAP::Formatter::File' => '3.22',
- 'TAP::Formatter::File::Session'=> '3.22',
- 'TAP::Formatter::Session'=> '3.22',
- 'TAP::Harness' => '3.22',
- 'TAP::Object' => '3.22',
- 'TAP::Parser' => '3.22',
- 'TAP::Parser::Aggregator'=> '3.22',
- 'TAP::Parser::Grammar' => '3.22',
- 'TAP::Parser::Iterator' => '3.22',
- 'TAP::Parser::Iterator::Array'=> '3.22',
- 'TAP::Parser::Iterator::Process'=> '3.22',
- 'TAP::Parser::Iterator::Stream'=> '3.22',
- 'TAP::Parser::IteratorFactory'=> '3.22',
- 'TAP::Parser::Multiplexer'=> '3.22',
- 'TAP::Parser::Result' => '3.22',
- 'TAP::Parser::Result::Bailout'=> '3.22',
- 'TAP::Parser::Result::Comment'=> '3.22',
- 'TAP::Parser::Result::Plan'=> '3.22',
- 'TAP::Parser::Result::Pragma'=> '3.22',
- 'TAP::Parser::Result::Test'=> '3.22',
- 'TAP::Parser::Result::Unknown'=> '3.22',
- 'TAP::Parser::Result::Version'=> '3.22',
- 'TAP::Parser::Result::YAML'=> '3.22',
- 'TAP::Parser::ResultFactory'=> '3.22',
- 'TAP::Parser::Scheduler'=> '3.22',
- 'TAP::Parser::Scheduler::Job'=> '3.22',
- 'TAP::Parser::Scheduler::Spinner'=> '3.22',
- 'TAP::Parser::Source' => '3.22',
- 'TAP::Parser::SourceHandler'=> '3.22',
- 'TAP::Parser::SourceHandler::Executable'=> '3.22',
- 'TAP::Parser::SourceHandler::File'=> '3.22',
- 'TAP::Parser::SourceHandler::Handle'=> '3.22',
- 'TAP::Parser::SourceHandler::Perl'=> '3.22',
- 'TAP::Parser::SourceHandler::RawTAP'=> '3.22',
- 'TAP::Parser::Utils' => '3.22',
- 'TAP::Parser::YAMLish::Reader'=> '3.22',
- 'TAP::Parser::YAMLish::Writer'=> '3.22',
- 'Term::ANSIColor' => '3.00',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.07',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.97_01',
- 'Test::Builder::Module' => '0.97_01',
- 'Test::Builder::Tester' => '1.21_01',
- 'Test::Builder::Tester::Color'=> '1.21_01',
- 'Test::Harness' => '3.22',
- 'Test::More' => '0.97_01',
- 'Test::Simple' => '0.97_01',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.11',
- 'Tie::Array' => '1.04',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.04',
- 'Tie::Hash::NamedCapture'=> '0.06',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.02',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9721',
- 'Time::Local' => '1.1901_01',
- 'Time::Piece' => '1.20_01',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.07',
- 'Unicode' => '5.2.0',
- 'Unicode::Collate' => '0.59',
- 'Unicode::Collate::Locale'=> '0.59',
- 'Unicode::Normalize' => '1.06',
- 'Unicode::UCD' => '0.29',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.04',
- 'VMS::Filespec' => '1.12',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.39',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.21',
- 'XS::APItest::KeywordRPN'=> '0.005',
- 'XS::Typemap' => '0.03',
- 'XSLoader' => '0.11',
- 'XSLoader::XSLoader' => '0.11',
- 'attributes' => '0.12',
- 'autodie' => '2.10',
- 'autodie::exception' => '2.10',
- 'autodie::exception::system'=> '2.10',
- 'autodie::hints' => '2.10',
- 'autouse' => '1.06',
- 'base' => '2.15',
- 'bigint' => '0.25',
- 'bignum' => '0.25',
- 'bigrat' => '0.25',
- 'blib' => '1.06',
- 'bytes' => '1.04',
- 'charnames' => '1.15',
- 'constant' => '1.20',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.20',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.18',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.05',
- 'inc::latest' => '0.3607',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.63',
- 'locale' => '1.00',
- 'mro' => '1.03',
- 'open' => '1.08',
- 'ops' => '1.02',
- 'overload' => '1.10',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.223',
- 're' => '0.12',
- 'sigtrap' => '1.04',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.77_03',
- 'threads::shared' => '1.33_03',
- 'utf8' => '1.08',
- 'vars' => '1.02',
- 'version' => '0.82',
- 'vmsish' => '1.02',
- 'warnings' => '1.11',
- 'warnings::register' => '1.02',
+ delta_from => 5.013004,
+ changed => {
+ 'B::Debug' => '1.16',
+ 'CPANPLUS::Dist::Build' => '0.48',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.48',
+ 'Data::Dumper' => '2.128',
+ 'Encode' => '2.40',
+ 'Encode::Guess' => '2.04',
+ 'Encode::MIME::Header' => '2.12',
+ 'Encode::Unicode::UTF7' => '2.05',
+ 'Errno' => '1.13',
+ 'ExtUtils::Command::MM' => '6.57_05',
+ 'ExtUtils::Liblist' => '6.57_05',
+ 'ExtUtils::Liblist::Kid'=> '6.5705',
+ 'ExtUtils::MM' => '6.57_05',
+ 'ExtUtils::MM_AIX' => '6.57_05',
+ 'ExtUtils::MM_Any' => '6.57_05',
+ 'ExtUtils::MM_BeOS' => '6.57_05',
+ 'ExtUtils::MM_Cygwin' => '6.57_05',
+ 'ExtUtils::MM_DOS' => '6.5705',
+ 'ExtUtils::MM_Darwin' => '6.57_05',
+ 'ExtUtils::MM_MacOS' => '6.5705',
+ 'ExtUtils::MM_NW5' => '6.57_05',
+ 'ExtUtils::MM_OS2' => '6.57_05',
+ 'ExtUtils::MM_QNX' => '6.57_05',
+ 'ExtUtils::MM_UWIN' => '6.5705',
+ 'ExtUtils::MM_Unix' => '6.57_05',
+ 'ExtUtils::MM_VMS' => '6.57_05',
+ 'ExtUtils::MM_VOS' => '6.57_05',
+ 'ExtUtils::MM_Win32' => '6.57_05',
+ 'ExtUtils::MM_Win95' => '6.57_05',
+ 'ExtUtils::MY' => '6.5705',
+ 'ExtUtils::MakeMaker' => '6.57_05',
+ 'ExtUtils::MakeMaker::Config'=> '6.57_05',
+ 'ExtUtils::MakeMaker::YAML'=> '1.44',
+ 'ExtUtils::Mkbootstrap' => '6.57_05',
+ 'ExtUtils::Mksymlists' => '6.57_05',
+ 'ExtUtils::testlib' => '6.5705',
+ 'Filter::Simple' => '0.85',
+ 'Hash::Util' => '0.09',
+ 'Math::BigFloat' => '1.62',
+ 'Math::BigInt' => '1.95',
+ 'Math::BigInt::Calc' => '0.54',
+ 'Math::BigInt::CalcEmu' => '0.06',
+ 'Math::BigInt::FastCalc'=> '0.22',
+ 'Math::BigRat' => '0.26',
+ 'Module::CoreList' => '2.39',
+ 'POSIX' => '1.20',
+ 'PerlIO::scalar' => '0.09',
+ 'Safe' => '2.28',
+ 'Test::Builder' => '0.97_01',
+ 'Test::Builder::Module' => '0.97_01',
+ 'Test::Builder::Tester' => '1.21_01',
+ 'Test::Builder::Tester::Color'=> '1.21_01',
+ 'Test::More' => '0.97_01',
+ 'Test::Simple' => '0.97_01',
+ 'Tie::Hash' => '1.04',
+ 'Unicode::Collate' => '0.59',
+ 'Unicode::Collate::Locale'=> '0.59',
+ 'XS::APItest' => '0.21',
+ 'XS::APItest::KeywordRPN'=> '0.005',
+ 'XSLoader' => '0.11',
+ 'bigint' => '0.25',
+ 'bignum' => '0.25',
+ 'bigrat' => '0.25',
+ 'blib' => '1.06',
+ 'open' => '1.08',
+ 'threads::shared' => '1.33_03',
+ 'warnings' => '1.11',
+ 'warnings::register' => '1.02',
+ },
+ removed => {
+ }
},
5.013006 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.22',
- 'App::Prove::State' => '3.22',
- 'App::Prove::State::Result'=> '3.22',
- 'App::Prove::State::Result::Test'=> '3.22',
- 'Archive::Extract' => '0.44',
- 'Archive::Tar' => '1.68',
- 'Archive::Tar::Constant'=> '1.68',
- 'Archive::Tar::File' => '1.68',
- 'Attribute::Handlers' => '0.88',
- 'AutoLoader' => '5.70',
- 'AutoSplit' => '1.06',
- 'B' => '1.24',
- 'B::Concise' => '0.79',
- 'B::Debug' => '1.16',
- 'B::Deparse' => '0.99',
- 'B::Lint' => '1.12',
- 'B::Lint::Debug' => '1.12',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.49',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.45',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.08',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.48',
- 'CPAN' => '1.94_61',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9600',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5005',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.5301',
- 'CPAN::HandleConfig' => '5.5001',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Mirrors' => '1.77',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5001',
- 'CPAN::Shell' => '5.5001',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5001',
- 'CPANPLUS' => '0.9007',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.48',
- 'CPANPLUS::Dist::Build::Constants'=> '0.48',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.9007',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.9007',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.19',
- 'Carp::Heavy' => '1.19',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.031',
- 'Compress::Raw::Zlib' => '2.030',
- 'Compress::Zlib' => '2.030',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.34',
- 'DB' => '1.03',
- 'DBM_Filter' => '0.03',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'Data::Dumper' => '2.129',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::V' => undef,
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.05',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.51',
- 'Digest::SHA' => '5.48',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.14',
- 'DynaLoader' => '1.10',
- 'Encode' => '2.40',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.04',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.12',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.05',
- 'English' => '1.04',
- 'Env' => '1.01',
- 'Errno' => '1.13',
- 'Exporter' => '5.64_03',
- 'Exporter::Heavy' => '5.64_03',
- 'ExtUtils::CBuilder' => '0.2703',
- 'ExtUtils::CBuilder::Base'=> '0.2703_01',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.2703',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.57_05',
- 'ExtUtils::Constant' => '0.22',
- 'ExtUtils::Constant::Base'=> '0.05',
- 'ExtUtils::Constant::ProxySubs'=> '0.07',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.29',
- 'ExtUtils::Install' => '1.55',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.57_05',
- 'ExtUtils::Liblist::Kid'=> '6.5705',
- 'ExtUtils::MM' => '6.57_05',
- 'ExtUtils::MM_AIX' => '6.57_05',
- 'ExtUtils::MM_Any' => '6.57_05',
- 'ExtUtils::MM_BeOS' => '6.57_05',
- 'ExtUtils::MM_Cygwin' => '6.57_05',
- 'ExtUtils::MM_DOS' => '6.5705',
- 'ExtUtils::MM_Darwin' => '6.57_05',
- 'ExtUtils::MM_MacOS' => '6.5705',
- 'ExtUtils::MM_NW5' => '6.57_05',
- 'ExtUtils::MM_OS2' => '6.57_05',
- 'ExtUtils::MM_QNX' => '6.57_05',
- 'ExtUtils::MM_UWIN' => '6.5705',
- 'ExtUtils::MM_Unix' => '6.57_05',
- 'ExtUtils::MM_VMS' => '6.57_05',
- 'ExtUtils::MM_VOS' => '6.57_05',
- 'ExtUtils::MM_Win32' => '6.57_05',
- 'ExtUtils::MM_Win95' => '6.57_05',
- 'ExtUtils::MY' => '6.5705',
- 'ExtUtils::MakeMaker' => '6.57_05',
- 'ExtUtils::MakeMaker::Config'=> '6.57_05',
- 'ExtUtils::MakeMaker::YAML'=> '1.44',
- 'ExtUtils::Manifest' => '1.58',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.57_05',
- 'ExtUtils::Mksymlists' => '6.57_05',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.2207',
- 'ExtUtils::XSSymSet' => '1.2',
- 'ExtUtils::testlib' => '6.5705',
- 'Fatal' => '2.10',
- 'Fcntl' => '1.09',
- 'File::Basename' => '2.79',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.20',
- 'File::DosGlob' => '1.03',
- 'File::Fetch' => '0.24',
- 'File::Find' => '1.18',
- 'File::Glob' => '1.09',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.33',
- 'File::Spec::Cygwin' => '3.33',
- 'File::Spec::Epoc' => '3.33',
- 'File::Spec::Functions' => '3.33',
- 'File::Spec::Mac' => '3.33',
- 'File::Spec::OS2' => '3.33',
- 'File::Spec::Unix' => '3.33',
- 'File::Spec::VMS' => '3.33',
- 'File::Spec::Win32' => '3.33',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.03',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'Filter::Simple' => '0.85',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.11',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.09',
- 'Hash::Util::FieldHash' => '1.05',
- 'I18N::Collate' => '1.01',
- 'I18N::LangTags' => '0.35_01',
- 'I18N::LangTags::Detect'=> '1.04',
- 'I18N::LangTags::List' => '0.35_01',
- 'I18N::Langinfo' => '0.06',
- 'IO' => '1.25_02',
- 'IO::Compress::Adapter::Bzip2'=> '2.030',
- 'IO::Compress::Adapter::Deflate'=> '2.030',
- 'IO::Compress::Adapter::Identity'=> '2.030',
- 'IO::Compress::Base' => '2.030',
- 'IO::Compress::Base::Common'=> '2.030',
- 'IO::Compress::Bzip2' => '2.030',
- 'IO::Compress::Deflate' => '2.030',
- 'IO::Compress::Gzip' => '2.030',
- 'IO::Compress::Gzip::Constants'=> '2.030',
- 'IO::Compress::RawDeflate'=> '2.030',
- 'IO::Compress::Zip' => '2.030',
- 'IO::Compress::Zip::Constants'=> '2.030',
- 'IO::Compress::Zlib::Constants'=> '2.030',
- 'IO::Compress::Zlib::Extra'=> '2.030',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.32',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.030',
- 'IO::Uncompress::Adapter::Identity'=> '2.030',
- 'IO::Uncompress::Adapter::Inflate'=> '2.030',
- 'IO::Uncompress::AnyInflate'=> '2.030',
- 'IO::Uncompress::AnyUncompress'=> '2.030',
- 'IO::Uncompress::Base' => '2.030',
- 'IO::Uncompress::Bunzip2'=> '2.030',
- 'IO::Uncompress::Gunzip'=> '2.030',
- 'IO::Uncompress::Inflate'=> '2.030',
- 'IO::Uncompress::RawInflate'=> '2.030',
- 'IO::Uncompress::Unzip' => '2.030',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.64',
- 'IPC::Msg' => '2.03',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.07',
- 'IPC::Semaphore' => '2.03',
- 'IPC::SharedMem' => '2.03',
- 'IPC::SysV' => '2.03',
- 'List::Util' => '1.23',
- 'List::Util::PP' => '1.23',
- 'List::Util::XS' => '1.23',
- 'Locale::Codes' => '3.14',
- 'Locale::Codes::Country'=> '3.14',
- 'Locale::Codes::Currency'=> '3.14',
- 'Locale::Codes::Language'=> '3.14',
- 'Locale::Codes::Script' => '3.14',
- 'Locale::Constants' => '3.14',
- 'Locale::Country' => '3.14',
- 'Locale::Currency' => '3.14',
- 'Locale::Language' => '3.14',
- 'Locale::Maketext' => '1.16',
- 'Locale::Maketext::Guts'=> undef,
- 'Locale::Maketext::GutsLoader'=> undef,
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '3.14',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.06',
- 'MIME::Base64' => '3.09',
- 'MIME::QuotedPrint' => '3.09',
- 'Math::BigFloat' => '1.63',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.97',
- 'Math::BigInt::Calc' => '0.55',
- 'Math::BigInt::CalcEmu' => '0.07',
- 'Math::BigInt::FastCalc'=> '0.22',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.26',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.01_03',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.3607',
- 'Module::Build::Base' => '0.3607',
- 'Module::Build::Compat' => '0.3607',
- 'Module::Build::Config' => '0.3607',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3607',
- 'Module::Build::Dumper' => '0.3607',
- 'Module::Build::ModuleInfo'=> '0.3607',
- 'Module::Build::Notes' => '0.3607',
- 'Module::Build::PPMMaker'=> '0.3607',
- 'Module::Build::Platform::Amiga'=> '0.3607',
- 'Module::Build::Platform::Default'=> '0.3607',
- 'Module::Build::Platform::EBCDIC'=> '0.3607',
- 'Module::Build::Platform::MPEiX'=> '0.3607',
- 'Module::Build::Platform::MacOS'=> '0.3607',
- 'Module::Build::Platform::RiscOS'=> '0.3607',
- 'Module::Build::Platform::Unix'=> '0.3607',
- 'Module::Build::Platform::VMS'=> '0.3607',
- 'Module::Build::Platform::VOS'=> '0.3607',
- 'Module::Build::Platform::Windows'=> '0.3607',
- 'Module::Build::Platform::aix'=> '0.3607',
- 'Module::Build::Platform::cygwin'=> '0.3607',
- 'Module::Build::Platform::darwin'=> '0.3607',
- 'Module::Build::Platform::os2'=> '0.3607',
- 'Module::Build::PodParser'=> '0.3607',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '1.40',
- 'Module::CoreList' => '2.40',
- 'Module::Load' => '0.18',
- 'Module::Load::Conditional'=> '0.38',
- 'Module::Loaded' => '0.06',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.09',
- 'NEXT' => '0.65',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.36',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.08',
- 'Object::Accessor' => '0.36',
- 'Opcode' => '1.16',
- 'POSIX' => '1.21',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.40',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.13',
- 'PerlIO::scalar' => '0.10',
- 'PerlIO::via' => '0.10',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.04',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.25',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_02',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.14',
- 'Pod::Simple::BlackBox' => '3.14',
- 'Pod::Simple::Checker' => '3.14',
- 'Pod::Simple::Debug' => '3.14',
- 'Pod::Simple::DumpAsText'=> '3.14',
- 'Pod::Simple::DumpAsXML'=> '3.14',
- 'Pod::Simple::HTML' => '3.14',
- 'Pod::Simple::HTMLBatch'=> '3.14',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.14',
- 'Pod::Simple::Methody' => '3.14',
- 'Pod::Simple::Progress' => '3.14',
- 'Pod::Simple::PullParser'=> '3.14',
- 'Pod::Simple::PullParserEndToken'=> '3.14',
- 'Pod::Simple::PullParserStartToken'=> '3.14',
- 'Pod::Simple::PullParserTextToken'=> '3.14',
- 'Pod::Simple::PullParserToken'=> '3.14',
- 'Pod::Simple::RTF' => '3.14',
- 'Pod::Simple::Search' => '3.14',
- 'Pod::Simple::SimpleTree'=> '3.14',
- 'Pod::Simple::Text' => '3.14',
- 'Pod::Simple::TextContent'=> '3.14',
- 'Pod::Simple::TiedOutFH'=> '3.14',
- 'Pod::Simple::Transcode'=> '3.14',
- 'Pod::Simple::TranscodeDumb'=> '3.14',
- 'Pod::Simple::TranscodeSmart'=> '3.14',
- 'Pod::Simple::XHTML' => '3.14',
- 'Pod::Simple::XMLOutStream'=> '3.14',
- 'Pod::Text' => '3.15',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.07',
- 'Safe' => '2.28',
- 'Scalar::Util' => '1.23',
- 'Scalar::Util::PP' => '1.23',
- 'Search::Dict' => '1.03',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.17',
- 'Shell' => '0.72_01',
- 'Socket' => '1.90',
- 'Storable' => '2.22',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.13',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.22',
- 'TAP::Formatter::Base' => '3.22',
- 'TAP::Formatter::Color' => '3.22',
- 'TAP::Formatter::Console'=> '3.22',
- 'TAP::Formatter::Console::ParallelSession'=> '3.22',
- 'TAP::Formatter::Console::Session'=> '3.22',
- 'TAP::Formatter::File' => '3.22',
- 'TAP::Formatter::File::Session'=> '3.22',
- 'TAP::Formatter::Session'=> '3.22',
- 'TAP::Harness' => '3.22',
- 'TAP::Object' => '3.22',
- 'TAP::Parser' => '3.22',
- 'TAP::Parser::Aggregator'=> '3.22',
- 'TAP::Parser::Grammar' => '3.22',
- 'TAP::Parser::Iterator' => '3.22',
- 'TAP::Parser::Iterator::Array'=> '3.22',
- 'TAP::Parser::Iterator::Process'=> '3.22',
- 'TAP::Parser::Iterator::Stream'=> '3.22',
- 'TAP::Parser::IteratorFactory'=> '3.22',
- 'TAP::Parser::Multiplexer'=> '3.22',
- 'TAP::Parser::Result' => '3.22',
- 'TAP::Parser::Result::Bailout'=> '3.22',
- 'TAP::Parser::Result::Comment'=> '3.22',
- 'TAP::Parser::Result::Plan'=> '3.22',
- 'TAP::Parser::Result::Pragma'=> '3.22',
- 'TAP::Parser::Result::Test'=> '3.22',
- 'TAP::Parser::Result::Unknown'=> '3.22',
- 'TAP::Parser::Result::Version'=> '3.22',
- 'TAP::Parser::Result::YAML'=> '3.22',
- 'TAP::Parser::ResultFactory'=> '3.22',
- 'TAP::Parser::Scheduler'=> '3.22',
- 'TAP::Parser::Scheduler::Job'=> '3.22',
- 'TAP::Parser::Scheduler::Spinner'=> '3.22',
- 'TAP::Parser::Source' => '3.22',
- 'TAP::Parser::SourceHandler'=> '3.22',
- 'TAP::Parser::SourceHandler::Executable'=> '3.22',
- 'TAP::Parser::SourceHandler::File'=> '3.22',
- 'TAP::Parser::SourceHandler::Handle'=> '3.22',
- 'TAP::Parser::SourceHandler::Perl'=> '3.22',
- 'TAP::Parser::SourceHandler::RawTAP'=> '3.22',
- 'TAP::Parser::Utils' => '3.22',
- 'TAP::Parser::YAMLish::Reader'=> '3.22',
- 'TAP::Parser::YAMLish::Writer'=> '3.22',
- 'Term::ANSIColor' => '3.00',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.07',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.97_01',
- 'Test::Builder::Module' => '0.97_01',
- 'Test::Builder::Tester' => '1.21_01',
- 'Test::Builder::Tester::Color'=> '1.21_01',
- 'Test::Harness' => '3.22',
- 'Test::More' => '0.97_01',
- 'Test::Simple' => '0.97_01',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.11',
- 'Tie::Array' => '1.04',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.04',
- 'Tie::Hash::NamedCapture'=> '0.07',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.02',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9721',
- 'Time::Local' => '1.1901_01',
- 'Time::Piece' => '1.20_01',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.07',
- 'Unicode' => '5.2.0',
- 'Unicode::Collate' => '0.63',
- 'Unicode::Collate::Locale'=> '0.63',
- 'Unicode::Normalize' => '1.07',
- 'Unicode::UCD' => '0.29',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.04',
- 'VMS::Filespec' => '1.12',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.39',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.23',
- 'XS::Typemap' => '0.03',
- 'XSLoader' => '0.13',
- 'XSLoader::XSLoader' => '0.13',
- 'attributes' => '0.13',
- 'autodie' => '2.10',
- 'autodie::exception' => '2.10',
- 'autodie::exception::system'=> '2.10',
- 'autodie::hints' => '2.10',
- 'autouse' => '1.06',
- 'base' => '2.15',
- 'bigint' => '0.25',
- 'bignum' => '0.25',
- 'bigrat' => '0.25',
- 'blib' => '1.06',
- 'bytes' => '1.04',
- 'charnames' => '1.16',
- 'constant' => '1.20',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.20',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.18',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.06',
- 'inc::latest' => '0.3607',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.63',
- 'locale' => '1.00',
- 'mro' => '1.04',
- 'open' => '1.08',
- 'ops' => '1.02',
- 'overload' => '1.11',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.223',
- 're' => '0.13',
- 'sigtrap' => '1.05',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.81_01',
- 'threads::shared' => '1.34',
- 'utf8' => '1.08',
- 'vars' => '1.02',
- 'version' => '0.82',
- 'vmsish' => '1.02',
- 'warnings' => '1.11',
- 'warnings::register' => '1.02',
+ delta_from => 5.013005,
+ changed => {
+ 'Archive::Extract' => '0.44',
+ 'B' => '1.24',
+ 'B::Deparse' => '0.99',
+ 'CPAN' => '1.94_61',
+ 'CPAN::FTP' => '5.5005',
+ 'CPAN::Queue' => '5.5001',
+ 'CPAN::Version' => '5.5001',
+ 'Carp' => '1.19',
+ 'Carp::Heavy' => '1.19',
+ 'Compress::Raw::Bzip2' => '2.031',
+ 'Cwd' => '3.34',
+ 'Data::Dumper' => '2.129',
+ 'Devel::Peek' => '1.05',
+ 'Digest::MD5' => '2.51',
+ 'ExtUtils::Constant::Base'=> '0.05',
+ 'ExtUtils::Constant::ProxySubs'=> '0.07',
+ 'ExtUtils::Embed' => '1.29',
+ 'ExtUtils::XSSymSet' => '1.2',
+ 'Fcntl' => '1.09',
+ 'File::DosGlob' => '1.03',
+ 'File::Find' => '1.18',
+ 'File::Glob' => '1.09',
+ 'File::Spec' => '3.33',
+ 'File::Spec::Cygwin' => '3.33',
+ 'File::Spec::Epoc' => '3.33',
+ 'File::Spec::Functions' => '3.33',
+ 'File::Spec::Mac' => '3.33',
+ 'File::Spec::OS2' => '3.33',
+ 'File::Spec::Unix' => '3.33',
+ 'File::Spec::VMS' => '3.33',
+ 'File::Spec::Win32' => '3.33',
+ 'GDBM_File' => '1.11',
+ 'Hash::Util::FieldHash' => '1.05',
+ 'I18N::Langinfo' => '0.06',
+ 'IPC::Cmd' => '0.64',
+ 'IPC::Open3' => '1.07',
+ 'Locale::Codes' => '3.14',
+ 'Locale::Codes::Country'=> '3.14',
+ 'Locale::Codes::Currency'=> '3.14',
+ 'Locale::Codes::Language'=> '3.14',
+ 'Locale::Codes::Script' => '3.14',
+ 'Locale::Constants' => '3.14',
+ 'Locale::Country' => '3.14',
+ 'Locale::Currency' => '3.14',
+ 'Locale::Language' => '3.14',
+ 'Locale::Maketext' => '1.16',
+ 'Locale::Script' => '3.14',
+ 'Math::BigFloat' => '1.63',
+ 'Math::BigInt' => '1.97',
+ 'Math::BigInt::Calc' => '0.55',
+ 'Math::BigInt::CalcEmu' => '0.07',
+ 'Module::CoreList' => '2.40',
+ 'NDBM_File' => '1.09',
+ 'NEXT' => '0.65',
+ 'ODBM_File' => '1.08',
+ 'Opcode' => '1.16',
+ 'POSIX' => '1.21',
+ 'PerlIO::encoding' => '0.13',
+ 'PerlIO::scalar' => '0.10',
+ 'PerlIO::via' => '0.10',
+ 'Pod::Man' => '2.25',
+ 'Pod::Text' => '3.15',
+ 'SDBM_File' => '1.07',
+ 'Socket' => '1.90',
+ 'Sys::Hostname' => '1.13',
+ 'Tie::Hash::NamedCapture'=> '0.07',
+ 'Unicode::Collate' => '0.63',
+ 'Unicode::Collate::Locale'=> '0.63',
+ 'Unicode::Normalize' => '1.07',
+ 'XS::APItest' => '0.23',
+ 'XSLoader' => '0.13',
+ 'attributes' => '0.13',
+ 'charnames' => '1.16',
+ 'if' => '0.06',
+ 'mro' => '1.04',
+ 'overload' => '1.11',
+ 're' => '0.13',
+ 'sigtrap' => '1.05',
+ 'threads' => '1.81_01',
+ 'threads::shared' => '1.34',
+ },
+ removed => {
+ 'XS::APItest::KeywordRPN'=> 1,
+ }
},
5.013007 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.22',
- 'App::Prove::State' => '3.22',
- 'App::Prove::State::Result'=> '3.22',
- 'App::Prove::State::Result::Test'=> '3.22',
- 'Archive::Extract' => '0.46',
- 'Archive::Tar' => '1.72',
- 'Archive::Tar::Constant'=> '1.72',
- 'Archive::Tar::File' => '1.72',
- 'Attribute::Handlers' => '0.88',
- 'AutoLoader' => '5.71',
- 'AutoSplit' => '1.06',
- 'B' => '1.26',
- 'B::Concise' => '0.81',
- 'B::Debug' => '1.16',
- 'B::Deparse' => '1.01',
- 'B::Lint' => '1.12',
- 'B::Lint::Debug' => '1.12',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.50',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.45',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.08',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.48',
- 'CPAN' => '1.94_62',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9600',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5005',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.5301',
- 'CPAN::HandleConfig' => '5.5001',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Mirrors' => '1.77',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5001',
- 'CPAN::Shell' => '5.5001',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5001',
- 'CPANPLUS' => '0.9010',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.50',
- 'CPANPLUS::Dist::Build::Constants'=> '0.50',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.9010',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.9010',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.19',
- 'Carp::Heavy' => '1.19',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.031',
- 'Compress::Raw::Zlib' => '2.030',
- 'Compress::Zlib' => '2.030',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.34',
- 'DB' => '1.03',
- 'DBM_Filter' => '0.03',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'Data::Dumper' => '2.130_01',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.05',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.51',
- 'Digest::SHA' => '5.48',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.14',
- 'DynaLoader' => '1.11',
- 'Encode' => '2.40',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.04',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.12',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.05',
- 'English' => '1.04',
- 'Env' => '1.01',
- 'Errno' => '1.13',
- 'Exporter' => '5.64_03',
- 'Exporter::Heavy' => '5.64_03',
- 'ExtUtils::CBuilder' => '0.2703',
- 'ExtUtils::CBuilder::Base'=> '0.2703_01',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.2703',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.2703',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.57_05',
- 'ExtUtils::Constant' => '0.23',
- 'ExtUtils::Constant::Base'=> '0.05',
- 'ExtUtils::Constant::ProxySubs'=> '0.08',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.29',
- 'ExtUtils::Install' => '1.55',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.57_05',
- 'ExtUtils::Liblist::Kid'=> '6.5705',
- 'ExtUtils::MM' => '6.57_05',
- 'ExtUtils::MM_AIX' => '6.57_05',
- 'ExtUtils::MM_Any' => '6.57_05',
- 'ExtUtils::MM_BeOS' => '6.57_05',
- 'ExtUtils::MM_Cygwin' => '6.57_05',
- 'ExtUtils::MM_DOS' => '6.5705',
- 'ExtUtils::MM_Darwin' => '6.57_05',
- 'ExtUtils::MM_MacOS' => '6.5705',
- 'ExtUtils::MM_NW5' => '6.57_05',
- 'ExtUtils::MM_OS2' => '6.57_05',
- 'ExtUtils::MM_QNX' => '6.57_05',
- 'ExtUtils::MM_UWIN' => '6.5705',
- 'ExtUtils::MM_Unix' => '6.57_05',
- 'ExtUtils::MM_VMS' => '6.57_05',
- 'ExtUtils::MM_VOS' => '6.57_05',
- 'ExtUtils::MM_Win32' => '6.57_05',
- 'ExtUtils::MM_Win95' => '6.57_05',
- 'ExtUtils::MY' => '6.5705',
- 'ExtUtils::MakeMaker' => '6.57_05',
- 'ExtUtils::MakeMaker::Config'=> '6.57_05',
- 'ExtUtils::MakeMaker::YAML'=> '1.44',
- 'ExtUtils::Manifest' => '1.58',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.57_05',
- 'ExtUtils::Mksymlists' => '6.57_05',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.2207',
- 'ExtUtils::XSSymSet' => '1.2',
- 'ExtUtils::testlib' => '6.5705',
- 'Fatal' => '2.10',
- 'Fcntl' => '1.10',
- 'File::Basename' => '2.79',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.20',
- 'File::DosGlob' => '1.03',
- 'File::Fetch' => '0.28',
- 'File::Find' => '1.18',
- 'File::Glob' => '1.10',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.33',
- 'File::Spec::Cygwin' => '3.33',
- 'File::Spec::Epoc' => '3.33',
- 'File::Spec::Functions' => '3.33',
- 'File::Spec::Mac' => '3.33',
- 'File::Spec::OS2' => '3.33',
- 'File::Spec::Unix' => '3.33',
- 'File::Spec::VMS' => '3.33',
- 'File::Spec::Win32' => '3.33',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.04',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'Filter::Simple' => '0.85',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.12',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.10',
- 'Hash::Util::FieldHash' => '1.06',
- 'I18N::Collate' => '1.01',
- 'I18N::LangTags' => '0.35_01',
- 'I18N::LangTags::Detect'=> '1.04',
- 'I18N::LangTags::List' => '0.35_01',
- 'I18N::Langinfo' => '0.07',
- 'IO' => '1.25_02',
- 'IO::Compress::Adapter::Bzip2'=> '2.030',
- 'IO::Compress::Adapter::Deflate'=> '2.030',
- 'IO::Compress::Adapter::Identity'=> '2.030',
- 'IO::Compress::Base' => '2.030',
- 'IO::Compress::Base::Common'=> '2.030',
- 'IO::Compress::Bzip2' => '2.030',
- 'IO::Compress::Deflate' => '2.030',
- 'IO::Compress::Gzip' => '2.030',
- 'IO::Compress::Gzip::Constants'=> '2.030',
- 'IO::Compress::RawDeflate'=> '2.030',
- 'IO::Compress::Zip' => '2.030',
- 'IO::Compress::Zip::Constants'=> '2.030',
- 'IO::Compress::Zlib::Constants'=> '2.030',
- 'IO::Compress::Zlib::Extra'=> '2.030',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.32',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.030',
- 'IO::Uncompress::Adapter::Identity'=> '2.030',
- 'IO::Uncompress::Adapter::Inflate'=> '2.030',
- 'IO::Uncompress::AnyInflate'=> '2.030',
- 'IO::Uncompress::AnyUncompress'=> '2.030',
- 'IO::Uncompress::Base' => '2.030',
- 'IO::Uncompress::Bunzip2'=> '2.030',
- 'IO::Uncompress::Gunzip'=> '2.030',
- 'IO::Uncompress::Inflate'=> '2.030',
- 'IO::Uncompress::RawInflate'=> '2.030',
- 'IO::Uncompress::Unzip' => '2.030',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.64',
- 'IPC::Msg' => '2.03',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.07',
- 'IPC::Semaphore' => '2.03',
- 'IPC::SharedMem' => '2.03',
- 'IPC::SysV' => '2.03',
- 'List::Util' => '1.23',
- 'List::Util::PP' => '1.23',
- 'List::Util::XS' => '1.23',
- 'Locale::Codes' => '3.14',
- 'Locale::Codes::Country'=> '3.14',
- 'Locale::Codes::Currency'=> '3.14',
- 'Locale::Codes::Language'=> '3.14',
- 'Locale::Codes::Script' => '3.14',
- 'Locale::Constants' => '3.14',
- 'Locale::Country' => '3.14',
- 'Locale::Currency' => '3.14',
- 'Locale::Language' => '3.14',
- 'Locale::Maketext' => '1.17',
- 'Locale::Maketext::Guts'=> '1.17',
- 'Locale::Maketext::GutsLoader'=> '1.17',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '3.14',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.06',
- 'MIME::Base64' => '3.10',
- 'MIME::QuotedPrint' => '3.10',
- 'Math::BigFloat' => '1.99_01',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.99_01',
- 'Math::BigInt::Calc' => '1.99_01',
- 'Math::BigInt::CalcEmu' => '1.99_01',
- 'Math::BigInt::FastCalc'=> '0.24_01',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.26_01',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.01_03',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.3607',
- 'Module::Build::Base' => '0.3607',
- 'Module::Build::Compat' => '0.3607',
- 'Module::Build::Config' => '0.3607',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3607',
- 'Module::Build::Dumper' => '0.3607',
- 'Module::Build::ModuleInfo'=> '0.3607',
- 'Module::Build::Notes' => '0.3607',
- 'Module::Build::PPMMaker'=> '0.3607',
- 'Module::Build::Platform::Amiga'=> '0.3607',
- 'Module::Build::Platform::Default'=> '0.3607',
- 'Module::Build::Platform::EBCDIC'=> '0.3607',
- 'Module::Build::Platform::MPEiX'=> '0.3607',
- 'Module::Build::Platform::MacOS'=> '0.3607',
- 'Module::Build::Platform::RiscOS'=> '0.3607',
- 'Module::Build::Platform::Unix'=> '0.3607',
- 'Module::Build::Platform::VMS'=> '0.3607',
- 'Module::Build::Platform::VOS'=> '0.3607',
- 'Module::Build::Platform::Windows'=> '0.3607',
- 'Module::Build::Platform::aix'=> '0.3607',
- 'Module::Build::Platform::cygwin'=> '0.3607',
- 'Module::Build::Platform::darwin'=> '0.3607',
- 'Module::Build::Platform::os2'=> '0.3607',
- 'Module::Build::PodParser'=> '0.3607',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '1.40',
- 'Module::CoreList' => '2.41',
- 'Module::Load' => '0.18',
- 'Module::Load::Conditional'=> '0.38',
- 'Module::Loaded' => '0.06',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.10',
- 'NEXT' => '0.65',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.36',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.09',
- 'Object::Accessor' => '0.36',
- 'Opcode' => '1.17',
- 'POSIX' => '1.22',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.40',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.13',
- 'PerlIO::scalar' => '0.10',
- 'PerlIO::via' => '0.10',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.04',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.25',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_02',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.15',
- 'Pod::Simple::BlackBox' => '3.15',
- 'Pod::Simple::Checker' => '3.15',
- 'Pod::Simple::Debug' => '3.15',
- 'Pod::Simple::DumpAsText'=> '3.15',
- 'Pod::Simple::DumpAsXML'=> '3.15',
- 'Pod::Simple::HTML' => '3.15',
- 'Pod::Simple::HTMLBatch'=> '3.15',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.15',
- 'Pod::Simple::Methody' => '3.15',
- 'Pod::Simple::Progress' => '3.15',
- 'Pod::Simple::PullParser'=> '3.15',
- 'Pod::Simple::PullParserEndToken'=> '3.15',
- 'Pod::Simple::PullParserStartToken'=> '3.15',
- 'Pod::Simple::PullParserTextToken'=> '3.15',
- 'Pod::Simple::PullParserToken'=> '3.15',
- 'Pod::Simple::RTF' => '3.15',
- 'Pod::Simple::Search' => '3.15',
- 'Pod::Simple::SimpleTree'=> '3.15',
- 'Pod::Simple::Text' => '3.15',
- 'Pod::Simple::TextContent'=> '3.15',
- 'Pod::Simple::TiedOutFH'=> '3.15',
- 'Pod::Simple::Transcode'=> '3.15',
- 'Pod::Simple::TranscodeDumb'=> '3.15',
- 'Pod::Simple::TranscodeSmart'=> '3.15',
- 'Pod::Simple::XHTML' => '3.15',
- 'Pod::Simple::XMLOutStream'=> '3.15',
- 'Pod::Text' => '3.15',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.08',
- 'Safe' => '2.29',
- 'Scalar::Util' => '1.23',
- 'Scalar::Util::PP' => '1.23',
- 'Search::Dict' => '1.03',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.18',
- 'Shell' => '0.72_01',
- 'Socket' => '1.91',
- 'Storable' => '2.24',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.14',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.22',
- 'TAP::Formatter::Base' => '3.22',
- 'TAP::Formatter::Color' => '3.22',
- 'TAP::Formatter::Console'=> '3.22',
- 'TAP::Formatter::Console::ParallelSession'=> '3.22',
- 'TAP::Formatter::Console::Session'=> '3.22',
- 'TAP::Formatter::File' => '3.22',
- 'TAP::Formatter::File::Session'=> '3.22',
- 'TAP::Formatter::Session'=> '3.22',
- 'TAP::Harness' => '3.22',
- 'TAP::Object' => '3.22',
- 'TAP::Parser' => '3.22',
- 'TAP::Parser::Aggregator'=> '3.22',
- 'TAP::Parser::Grammar' => '3.22',
- 'TAP::Parser::Iterator' => '3.22',
- 'TAP::Parser::Iterator::Array'=> '3.22',
- 'TAP::Parser::Iterator::Process'=> '3.22',
- 'TAP::Parser::Iterator::Stream'=> '3.22',
- 'TAP::Parser::IteratorFactory'=> '3.22',
- 'TAP::Parser::Multiplexer'=> '3.22',
- 'TAP::Parser::Result' => '3.22',
- 'TAP::Parser::Result::Bailout'=> '3.22',
- 'TAP::Parser::Result::Comment'=> '3.22',
- 'TAP::Parser::Result::Plan'=> '3.22',
- 'TAP::Parser::Result::Pragma'=> '3.22',
- 'TAP::Parser::Result::Test'=> '3.22',
- 'TAP::Parser::Result::Unknown'=> '3.22',
- 'TAP::Parser::Result::Version'=> '3.22',
- 'TAP::Parser::Result::YAML'=> '3.22',
- 'TAP::Parser::ResultFactory'=> '3.22',
- 'TAP::Parser::Scheduler'=> '3.22',
- 'TAP::Parser::Scheduler::Job'=> '3.22',
- 'TAP::Parser::Scheduler::Spinner'=> '3.22',
- 'TAP::Parser::Source' => '3.22',
- 'TAP::Parser::SourceHandler'=> '3.22',
- 'TAP::Parser::SourceHandler::Executable'=> '3.22',
- 'TAP::Parser::SourceHandler::File'=> '3.22',
- 'TAP::Parser::SourceHandler::Handle'=> '3.22',
- 'TAP::Parser::SourceHandler::Perl'=> '3.22',
- 'TAP::Parser::SourceHandler::RawTAP'=> '3.22',
- 'TAP::Parser::Utils' => '3.22',
- 'TAP::Parser::YAMLish::Reader'=> '3.22',
- 'TAP::Parser::YAMLish::Writer'=> '3.22',
- 'Term::ANSIColor' => '3.00',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.07',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.97_01',
- 'Test::Builder::Module' => '0.97_01',
- 'Test::Builder::Tester' => '1.21_01',
- 'Test::Builder::Tester::Color'=> '1.21_01',
- 'Test::Harness' => '3.22',
- 'Test::More' => '0.97_01',
- 'Test::Simple' => '0.97_01',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.11',
- 'Tie::Array' => '1.04',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.04',
- 'Tie::Hash::NamedCapture'=> '0.07',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.02',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9721',
- 'Time::Local' => '1.1901_01',
- 'Time::Piece' => '1.20_01',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.07',
- 'Unicode' => '6.0.0',
- 'Unicode::Collate' => '0.67',
- 'Unicode::Collate::CJK::Big5'=> '0.65',
- 'Unicode::Collate::CJK::GB2312'=> '0.65',
- 'Unicode::Collate::CJK::JISX0208'=> '0.64',
- 'Unicode::Collate::CJK::Korean'=> '0.66',
- 'Unicode::Collate::CJK::Pinyin'=> '0.65',
- 'Unicode::Collate::CJK::Stroke'=> '0.65',
- 'Unicode::Collate::Locale'=> '0.67',
- 'Unicode::Normalize' => '1.07',
- 'Unicode::UCD' => '0.29',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.04',
- 'VMS::Filespec' => '1.12',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.39',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.26',
- 'XS::Typemap' => '0.04',
- 'XSLoader' => '0.13',
- 'XSLoader::XSLoader' => '0.13',
- 'attributes' => '0.13',
- 'autodie' => '2.10',
- 'autodie::exception' => '2.10',
- 'autodie::exception::system'=> '2.10',
- 'autodie::hints' => '2.10',
- 'autouse' => '1.06',
- 'base' => '2.15',
- 'bigint' => '0.25',
- 'bignum' => '0.25',
- 'bigrat' => '0.25',
- 'blib' => '1.06',
- 'bytes' => '1.04',
- 'charnames' => '1.17',
- 'constant' => '1.20',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.20',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.18',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.06',
- 'inc::latest' => '0.3607',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.63',
- 'locale' => '1.00',
- 'mro' => '1.05',
- 'open' => '1.08',
- 'ops' => '1.02',
- 'overload' => '1.11',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.224',
- 're' => '0.14',
- 'sigtrap' => '1.05',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.81_02',
- 'threads::shared' => '1.34',
- 'utf8' => '1.08',
- 'vars' => '1.02',
- 'version' => '0.82',
- 'vmsish' => '1.02',
- 'warnings' => '1.11',
- 'warnings::register' => '1.02',
+ delta_from => 5.013006,
+ changed => {
+ 'Archive::Extract' => '0.46',
+ 'Archive::Tar' => '1.72',
+ 'Archive::Tar::Constant'=> '1.72',
+ 'Archive::Tar::File' => '1.72',
+ 'AutoLoader' => '5.71',
+ 'B' => '1.26',
+ 'B::Concise' => '0.81',
+ 'B::Deparse' => '1.01',
+ 'CGI' => '3.50',
+ 'CPAN' => '1.94_62',
+ 'CPANPLUS' => '0.9010',
+ 'CPANPLUS::Dist::Build' => '0.50',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.50',
+ 'CPANPLUS::Internals' => '0.9010',
+ 'CPANPLUS::Shell::Default'=> '0.9010',
+ 'Data::Dumper' => '2.130_01',
+ 'DynaLoader' => '1.11',
+ 'ExtUtils::Constant' => '0.23',
+ 'ExtUtils::Constant::ProxySubs'=> '0.08',
+ 'Fcntl' => '1.10',
+ 'File::Fetch' => '0.28',
+ 'File::Glob' => '1.10',
+ 'File::stat' => '1.04',
+ 'GDBM_File' => '1.12',
+ 'Hash::Util' => '0.10',
+ 'Hash::Util::FieldHash' => '1.06',
+ 'I18N::Langinfo' => '0.07',
+ 'Locale::Maketext' => '1.17',
+ 'Locale::Maketext::Guts'=> '1.17',
+ 'Locale::Maketext::GutsLoader'=> '1.17',
+ 'MIME::Base64' => '3.10',
+ 'MIME::QuotedPrint' => '3.10',
+ 'Math::BigFloat' => '1.99_01',
+ 'Math::BigInt' => '1.99_01',
+ 'Math::BigInt::Calc' => '1.99_01',
+ 'Math::BigInt::CalcEmu' => '1.99_01',
+ 'Math::BigInt::FastCalc'=> '0.24_01',
+ 'Math::BigRat' => '0.26_01',
+ 'Module::CoreList' => '2.41',
+ 'NDBM_File' => '1.10',
+ 'ODBM_File' => '1.09',
+ 'Opcode' => '1.17',
+ 'POSIX' => '1.22',
+ 'Pod::Simple' => '3.15',
+ 'Pod::Simple::BlackBox' => '3.15',
+ 'Pod::Simple::Checker' => '3.15',
+ 'Pod::Simple::Debug' => '3.15',
+ 'Pod::Simple::DumpAsText'=> '3.15',
+ 'Pod::Simple::DumpAsXML'=> '3.15',
+ 'Pod::Simple::HTML' => '3.15',
+ 'Pod::Simple::HTMLBatch'=> '3.15',
+ 'Pod::Simple::LinkSection'=> '3.15',
+ 'Pod::Simple::Methody' => '3.15',
+ 'Pod::Simple::Progress' => '3.15',
+ 'Pod::Simple::PullParser'=> '3.15',
+ 'Pod::Simple::PullParserEndToken'=> '3.15',
+ 'Pod::Simple::PullParserStartToken'=> '3.15',
+ 'Pod::Simple::PullParserTextToken'=> '3.15',
+ 'Pod::Simple::PullParserToken'=> '3.15',
+ 'Pod::Simple::RTF' => '3.15',
+ 'Pod::Simple::Search' => '3.15',
+ 'Pod::Simple::SimpleTree'=> '3.15',
+ 'Pod::Simple::Text' => '3.15',
+ 'Pod::Simple::TextContent'=> '3.15',
+ 'Pod::Simple::TiedOutFH'=> '3.15',
+ 'Pod::Simple::Transcode'=> '3.15',
+ 'Pod::Simple::TranscodeDumb'=> '3.15',
+ 'Pod::Simple::TranscodeSmart'=> '3.15',
+ 'Pod::Simple::XHTML' => '3.15',
+ 'Pod::Simple::XMLOutStream'=> '3.15',
+ 'SDBM_File' => '1.08',
+ 'Safe' => '2.29',
+ 'SelfLoader' => '1.18',
+ 'Socket' => '1.91',
+ 'Storable' => '2.24',
+ 'Sys::Hostname' => '1.14',
+ 'Unicode' => '6.0.0',
+ 'Unicode::Collate' => '0.67',
+ 'Unicode::Collate::CJK::Big5'=> '0.65',
+ 'Unicode::Collate::CJK::GB2312'=> '0.65',
+ 'Unicode::Collate::CJK::JISX0208'=> '0.64',
+ 'Unicode::Collate::CJK::Korean'=> '0.66',
+ 'Unicode::Collate::CJK::Pinyin'=> '0.65',
+ 'Unicode::Collate::CJK::Stroke'=> '0.65',
+ 'Unicode::Collate::Locale'=> '0.67',
+ 'XS::APItest' => '0.26',
+ 'XS::Typemap' => '0.04',
+ 'charnames' => '1.17',
+ 'mro' => '1.05',
+ 'parent' => '0.224',
+ 're' => '0.14',
+ 'threads' => '1.81_02',
+ },
+ removed => {
+ }
},
5.013008 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.22',
- 'App::Prove::State' => '3.22',
- 'App::Prove::State::Result'=> '3.22',
- 'App::Prove::State::Result::Test'=> '3.22',
- 'Archive::Extract' => '0.46',
- 'Archive::Tar' => '1.74',
- 'Archive::Tar::Constant'=> '1.74',
- 'Archive::Tar::File' => '1.74',
- 'Attribute::Handlers' => '0.88',
- 'AutoLoader' => '5.71',
- 'AutoSplit' => '1.06',
- 'B' => '1.27',
- 'B::Concise' => '0.82',
- 'B::Debug' => '1.16',
- 'B::Deparse' => '1.02',
- 'B::Lint' => '1.12',
- 'B::Lint::Debug' => '1.12',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.50',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.45',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.08',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.48',
- 'CPAN' => '1.94_62',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9600',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5005',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.5301',
- 'CPAN::HandleConfig' => '5.5001',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Mirrors' => '1.77',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5001',
- 'CPAN::Shell' => '5.5001',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5001',
- 'CPANPLUS' => '0.9010',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.50',
- 'CPANPLUS::Dist::Build::Constants'=> '0.50',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.9010',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.9010',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.19',
- 'Carp::Heavy' => '1.17',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.031',
- 'Compress::Raw::Zlib' => '2.030',
- 'Compress::Zlib' => '2.030',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.35',
- 'DB' => '1.03',
- 'DBM_Filter' => '0.03',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'Data::Dumper' => '2.130_02',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.06',
- 'Devel::SelfStubber' => '1.05',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.51',
- 'Digest::SHA' => '5.50',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.15',
- 'DynaLoader' => '1.12',
- 'Encode' => '2.40',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.04',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.12',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.05',
- 'English' => '1.04',
- 'Env' => '1.02',
- 'Errno' => '1.13',
- 'Exporter' => '5.64_03',
- 'Exporter::Heavy' => '5.64_01',
- 'ExtUtils::CBuilder' => '0.280201',
- 'ExtUtils::CBuilder::Base'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.280201',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.57_05',
- 'ExtUtils::Constant' => '0.23',
- 'ExtUtils::Constant::Base'=> '0.05',
- 'ExtUtils::Constant::ProxySubs'=> '0.08',
- 'ExtUtils::Constant::Utils'=> '0.03',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.30',
- 'ExtUtils::Install' => '1.55',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.57_05',
- 'ExtUtils::Liblist::Kid'=> '6.5705',
- 'ExtUtils::MM' => '6.57_05',
- 'ExtUtils::MM_AIX' => '6.57_05',
- 'ExtUtils::MM_Any' => '6.57_05',
- 'ExtUtils::MM_BeOS' => '6.57_05',
- 'ExtUtils::MM_Cygwin' => '6.57_05',
- 'ExtUtils::MM_DOS' => '6.5705',
- 'ExtUtils::MM_Darwin' => '6.57_05',
- 'ExtUtils::MM_MacOS' => '6.5705',
- 'ExtUtils::MM_NW5' => '6.57_05',
- 'ExtUtils::MM_OS2' => '6.57_05',
- 'ExtUtils::MM_QNX' => '6.57_05',
- 'ExtUtils::MM_UWIN' => '6.5705',
- 'ExtUtils::MM_Unix' => '6.57_05',
- 'ExtUtils::MM_VMS' => '6.57_05',
- 'ExtUtils::MM_VOS' => '6.57_05',
- 'ExtUtils::MM_Win32' => '6.57_05',
- 'ExtUtils::MM_Win95' => '6.57_05',
- 'ExtUtils::MY' => '6.5705',
- 'ExtUtils::MakeMaker' => '6.57_05',
- 'ExtUtils::MakeMaker::Config'=> '6.57_05',
- 'ExtUtils::MakeMaker::YAML'=> '1.44',
- 'ExtUtils::Manifest' => '1.58',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.57_05',
- 'ExtUtils::Mksymlists' => '6.57_05',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.2208',
- 'ExtUtils::XSSymSet' => '1.2',
- 'ExtUtils::testlib' => '6.5705',
- 'Fatal' => '2.1001',
- 'Fcntl' => '1.11',
- 'File::Basename' => '2.79',
- 'File::CheckTree' => '4.41',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.20',
- 'File::DosGlob' => '1.03',
- 'File::Fetch' => '0.28',
- 'File::Find' => '1.18',
- 'File::Glob' => '1.11',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.33',
- 'File::Spec::Cygwin' => '3.33',
- 'File::Spec::Epoc' => '3.33',
- 'File::Spec::Functions' => '3.33',
- 'File::Spec::Mac' => '3.33',
- 'File::Spec::OS2' => '3.33',
- 'File::Spec::Unix' => '3.33',
- 'File::Spec::VMS' => '3.33',
- 'File::Spec::Win32' => '3.33',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.04',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'Filter::Simple' => '0.85',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.13',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.10',
- 'Hash::Util::FieldHash' => '1.07',
- 'I18N::Collate' => '1.02',
- 'I18N::LangTags' => '0.35_01',
- 'I18N::LangTags::Detect'=> '1.04',
- 'I18N::LangTags::List' => '0.35_01',
- 'I18N::Langinfo' => '0.07',
- 'IO' => '1.25_03',
- 'IO::Compress::Adapter::Bzip2'=> '2.030',
- 'IO::Compress::Adapter::Deflate'=> '2.030',
- 'IO::Compress::Adapter::Identity'=> '2.030',
- 'IO::Compress::Base' => '2.030',
- 'IO::Compress::Base::Common'=> '2.030',
- 'IO::Compress::Bzip2' => '2.030',
- 'IO::Compress::Deflate' => '2.030',
- 'IO::Compress::Gzip' => '2.030',
- 'IO::Compress::Gzip::Constants'=> '2.030',
- 'IO::Compress::RawDeflate'=> '2.030',
- 'IO::Compress::Zip' => '2.030',
- 'IO::Compress::Zip::Constants'=> '2.030',
- 'IO::Compress::Zlib::Constants'=> '2.030',
- 'IO::Compress::Zlib::Extra'=> '2.030',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.32',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.030',
- 'IO::Uncompress::Adapter::Identity'=> '2.030',
- 'IO::Uncompress::Adapter::Inflate'=> '2.030',
- 'IO::Uncompress::AnyInflate'=> '2.030',
- 'IO::Uncompress::AnyUncompress'=> '2.030',
- 'IO::Uncompress::Base' => '2.030',
- 'IO::Uncompress::Bunzip2'=> '2.030',
- 'IO::Uncompress::Gunzip'=> '2.030',
- 'IO::Uncompress::Inflate'=> '2.030',
- 'IO::Uncompress::RawInflate'=> '2.030',
- 'IO::Uncompress::Unzip' => '2.030',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.66',
- 'IPC::Msg' => '2.03',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.08',
- 'IPC::Semaphore' => '2.03',
- 'IPC::SharedMem' => '2.03',
- 'IPC::SysV' => '2.03',
- 'List::Util' => '1.23',
- 'List::Util::PP' => '1.23',
- 'List::Util::XS' => '1.23',
- 'Locale::Codes' => '3.15',
- 'Locale::Codes::Country'=> '3.15',
- 'Locale::Codes::Currency'=> '3.15',
- 'Locale::Codes::Language'=> '3.15',
- 'Locale::Codes::Script' => '3.15',
- 'Locale::Constants' => '3.15',
- 'Locale::Country' => '3.15',
- 'Locale::Currency' => '3.15',
- 'Locale::Language' => '3.15',
- 'Locale::Maketext' => '1.17',
- 'Locale::Maketext::Guts'=> '1.17',
- 'Locale::Maketext::GutsLoader'=> '1.17',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '3.15',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.06',
- 'MIME::Base64' => '3.13',
- 'MIME::QuotedPrint' => '3.13',
- 'Math::BigFloat' => '1.99_02',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.99_02',
- 'Math::BigInt::Calc' => '1.99_02',
- 'Math::BigInt::CalcEmu' => '1.99_02',
- 'Math::BigInt::FastCalc'=> '0.24_01',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.26_01',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.02',
- 'Memoize::AnyDBM_File' => '1.02',
- 'Memoize::Expire' => '1.02',
- 'Memoize::ExpireFile' => '1.02',
- 'Memoize::ExpireTest' => '1.02',
- 'Memoize::NDBM_File' => '1.02',
- 'Memoize::SDBM_File' => '1.02',
- 'Memoize::Storable' => '1.02',
- 'Module::Build' => '0.3607',
- 'Module::Build::Base' => '0.3607',
- 'Module::Build::Compat' => '0.3607',
- 'Module::Build::Config' => '0.3607',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3607',
- 'Module::Build::Dumper' => '0.3607',
- 'Module::Build::ModuleInfo'=> '0.3607',
- 'Module::Build::Notes' => '0.3607',
- 'Module::Build::PPMMaker'=> '0.3607',
- 'Module::Build::Platform::Amiga'=> '0.3607',
- 'Module::Build::Platform::Default'=> '0.3607',
- 'Module::Build::Platform::EBCDIC'=> '0.3607',
- 'Module::Build::Platform::MPEiX'=> '0.3607',
- 'Module::Build::Platform::MacOS'=> '0.3607',
- 'Module::Build::Platform::RiscOS'=> '0.3607',
- 'Module::Build::Platform::Unix'=> '0.3607',
- 'Module::Build::Platform::VMS'=> '0.3607',
- 'Module::Build::Platform::VOS'=> '0.3607',
- 'Module::Build::Platform::Windows'=> '0.3607',
- 'Module::Build::Platform::aix'=> '0.3607',
- 'Module::Build::Platform::cygwin'=> '0.3607',
- 'Module::Build::Platform::darwin'=> '0.3607',
- 'Module::Build::Platform::os2'=> '0.3607',
- 'Module::Build::PodParser'=> '0.3607',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '1.40',
- 'Module::CoreList' => '2.43',
- 'Module::Load' => '0.18',
- 'Module::Load::Conditional'=> '0.38',
- 'Module::Loaded' => '0.06',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.11',
- 'NEXT' => '0.65',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.37',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.10',
- 'Object::Accessor' => '0.36',
- 'Opcode' => '1.18',
- 'POSIX' => '1.23',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.40',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.14',
- 'PerlIO::scalar' => '0.11',
- 'PerlIO::via' => '0.11',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.04',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.25',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_02',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.15',
- 'Pod::Simple::BlackBox' => '3.15',
- 'Pod::Simple::Checker' => '3.15',
- 'Pod::Simple::Debug' => '3.15',
- 'Pod::Simple::DumpAsText'=> '3.15',
- 'Pod::Simple::DumpAsXML'=> '3.15',
- 'Pod::Simple::HTML' => '3.15',
- 'Pod::Simple::HTMLBatch'=> '3.15',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.15',
- 'Pod::Simple::Methody' => '3.15',
- 'Pod::Simple::Progress' => '3.15',
- 'Pod::Simple::PullParser'=> '3.15',
- 'Pod::Simple::PullParserEndToken'=> '3.15',
- 'Pod::Simple::PullParserStartToken'=> '3.15',
- 'Pod::Simple::PullParserTextToken'=> '3.15',
- 'Pod::Simple::PullParserToken'=> '3.15',
- 'Pod::Simple::RTF' => '3.15',
- 'Pod::Simple::Search' => '3.15',
- 'Pod::Simple::SimpleTree'=> '3.15',
- 'Pod::Simple::Text' => '3.15',
- 'Pod::Simple::TextContent'=> '3.15',
- 'Pod::Simple::TiedOutFH'=> '3.15',
- 'Pod::Simple::Transcode'=> '3.15',
- 'Pod::Simple::TranscodeDumb'=> '3.15',
- 'Pod::Simple::TranscodeSmart'=> '3.15',
- 'Pod::Simple::XHTML' => '3.15',
- 'Pod::Simple::XMLOutStream'=> '3.15',
- 'Pod::Text' => '3.15',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.09',
- 'Safe' => '2.29',
- 'Scalar::Util' => '1.23',
- 'Scalar::Util::PP' => '1.23',
- 'Search::Dict' => '1.03',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.18',
- 'Shell' => '0.72_01',
- 'Socket' => '1.92',
- 'Storable' => '2.25',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.14',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.22',
- 'TAP::Formatter::Base' => '3.22',
- 'TAP::Formatter::Color' => '3.22',
- 'TAP::Formatter::Console'=> '3.22',
- 'TAP::Formatter::Console::ParallelSession'=> '3.22',
- 'TAP::Formatter::Console::Session'=> '3.22',
- 'TAP::Formatter::File' => '3.22',
- 'TAP::Formatter::File::Session'=> '3.22',
- 'TAP::Formatter::Session'=> '3.22',
- 'TAP::Harness' => '3.22',
- 'TAP::Object' => '3.22',
- 'TAP::Parser' => '3.22',
- 'TAP::Parser::Aggregator'=> '3.22',
- 'TAP::Parser::Grammar' => '3.22',
- 'TAP::Parser::Iterator' => '3.22',
- 'TAP::Parser::Iterator::Array'=> '3.22',
- 'TAP::Parser::Iterator::Process'=> '3.22',
- 'TAP::Parser::Iterator::Stream'=> '3.22',
- 'TAP::Parser::IteratorFactory'=> '3.22',
- 'TAP::Parser::Multiplexer'=> '3.22',
- 'TAP::Parser::Result' => '3.22',
- 'TAP::Parser::Result::Bailout'=> '3.22',
- 'TAP::Parser::Result::Comment'=> '3.22',
- 'TAP::Parser::Result::Plan'=> '3.22',
- 'TAP::Parser::Result::Pragma'=> '3.22',
- 'TAP::Parser::Result::Test'=> '3.22',
- 'TAP::Parser::Result::Unknown'=> '3.22',
- 'TAP::Parser::Result::Version'=> '3.22',
- 'TAP::Parser::Result::YAML'=> '3.22',
- 'TAP::Parser::ResultFactory'=> '3.22',
- 'TAP::Parser::Scheduler'=> '3.22',
- 'TAP::Parser::Scheduler::Job'=> '3.22',
- 'TAP::Parser::Scheduler::Spinner'=> '3.22',
- 'TAP::Parser::Source' => '3.22',
- 'TAP::Parser::SourceHandler'=> '3.22',
- 'TAP::Parser::SourceHandler::Executable'=> '3.22',
- 'TAP::Parser::SourceHandler::File'=> '3.22',
- 'TAP::Parser::SourceHandler::Handle'=> '3.22',
- 'TAP::Parser::SourceHandler::Perl'=> '3.22',
- 'TAP::Parser::SourceHandler::RawTAP'=> '3.22',
- 'TAP::Parser::Utils' => '3.22',
- 'TAP::Parser::YAMLish::Reader'=> '3.22',
- 'TAP::Parser::YAMLish::Writer'=> '3.22',
- 'Term::ANSIColor' => '3.00',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.07',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.97_01',
- 'Test::Builder::Module' => '0.97_01',
- 'Test::Builder::Tester' => '1.21_01',
- 'Test::Builder::Tester::Color'=> '1.21_01',
- 'Test::Harness' => '3.22',
- 'Test::More' => '0.97_01',
- 'Test::Simple' => '0.97_01',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.11',
- 'Tie::Array' => '1.04',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.04',
- 'Tie::Hash::NamedCapture'=> '0.07',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.02',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9721_01',
- 'Time::Local' => '1.1901_01',
- 'Time::Piece' => '1.20_01',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.07',
- 'Unicode' => '6.0.0',
- 'Unicode::Collate' => '0.6801',
- 'Unicode::Collate::CJK::Big5'=> '0.65',
- 'Unicode::Collate::CJK::GB2312'=> '0.65',
- 'Unicode::Collate::CJK::JISX0208'=> '0.64',
- 'Unicode::Collate::CJK::Korean'=> '0.66',
- 'Unicode::Collate::CJK::Pinyin'=> '0.65',
- 'Unicode::Collate::CJK::Stroke'=> '0.65',
- 'Unicode::Collate::Locale'=> '0.68',
- 'Unicode::Normalize' => '1.08',
- 'Unicode::UCD' => '0.30',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.04',
- 'VMS::Filespec' => '1.12',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.41',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.27',
- 'XS::Typemap' => '0.04',
- 'XSLoader' => '0.13',
- 'XSLoader::XSLoader' => '0.13',
- 'attributes' => '0.13',
- 'autodie' => '2.1001',
- 'autodie::exception' => '2.1001',
- 'autodie::exception::system'=> '2.1001',
- 'autodie::hints' => '2.1001',
- 'autouse' => '1.06',
- 'base' => '2.15',
- 'bigint' => '0.25',
- 'bignum' => '0.25',
- 'bigrat' => '0.25',
- 'blib' => '1.06',
- 'bytes' => '1.04',
- 'charnames' => '1.17',
- 'constant' => '1.20',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.20',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.19',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.0601',
- 'inc::latest' => '0.3607',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.63',
- 'locale' => '1.00',
- 'mro' => '1.06',
- 'open' => '1.08',
- 'ops' => '1.02',
- 'overload' => '1.12',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.224',
- 're' => '0.15',
- 'sigtrap' => '1.05',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.81_03',
- 'threads::shared' => '1.35',
- 'utf8' => '1.08',
- 'vars' => '1.02',
- 'version' => '0.86',
- 'vmsish' => '1.02',
- 'warnings' => '1.11',
- 'warnings::register' => '1.02',
- },
-
- 5.012003 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.17',
- 'App::Prove::State' => '3.17',
- 'App::Prove::State::Result'=> '3.17',
- 'App::Prove::State::Result::Test'=> '3.17',
- 'Archive::Extract' => '0.38',
- 'Archive::Tar' => '1.54',
- 'Archive::Tar::Constant'=> '0.02',
- 'Archive::Tar::File' => '0.02',
- 'Attribute::Handlers' => '0.87',
- 'AutoLoader' => '5.70',
- 'AutoSplit' => '1.06',
- 'B' => '1.23',
- 'B::Concise' => '0.78',
- 'B::Debug' => '1.12',
- 'B::Deparse' => '0.9701',
- 'B::Lint' => '1.11_01',
- 'B::Lint::Debug' => '0.01',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.11',
- 'CGI' => '3.49',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.45',
- 'CGI::Cookie' => '1.29',
- 'CGI::Fast' => '1.08',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.04',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.48',
- 'CPAN' => '1.94_56',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9456_01',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5004',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.5301',
- 'CPAN::HandleConfig' => '5.5001',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Mirrors' => '1.77',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5',
- 'CPAN::Shell' => '5.5001',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5',
- 'CPANPLUS' => '0.90',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.46',
- 'CPANPLUS::Dist::Build::Constants'=> '0.46',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.90',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.90',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.17',
- 'Carp::Heavy' => '1.17',
- 'Class::ISA' => '0.36',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.024',
- 'Compress::Raw::Zlib' => '2.024',
- 'Compress::Zlib' => '2.024',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.31',
- 'DB' => '1.02',
- 'DBM_Filter' => '0.03',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.820',
- 'Data::Dumper' => '2.125',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::V' => undef,
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.04',
- 'Devel::SelfStubber' => '1.03',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.39',
- 'Digest::SHA' => '5.47',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.03',
- 'Dumpvalue' => '1.13',
- 'DynaLoader' => '1.10',
- 'Encode' => '2.39',
- 'Encode::Alias' => '2.12',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.03',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.11',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.04',
- 'English' => '1.04',
- 'Env' => '1.01',
- 'Errno' => '1.11',
- 'Exporter' => '5.64_01',
- 'Exporter::Heavy' => '5.64_01',
- 'ExtUtils::CBuilder' => '0.27',
- 'ExtUtils::CBuilder::Base'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.27',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.27',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.56',
- 'ExtUtils::Constant' => '0.22',
- 'ExtUtils::Constant::Base'=> '0.04',
- 'ExtUtils::Constant::ProxySubs'=> '0.06',
- 'ExtUtils::Constant::Utils'=> '0.02',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.28',
- 'ExtUtils::Install' => '1.55',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.56',
- 'ExtUtils::Liblist::Kid'=> '6.56',
- 'ExtUtils::MM' => '6.56',
- 'ExtUtils::MM_AIX' => '6.56',
- 'ExtUtils::MM_Any' => '6.56',
- 'ExtUtils::MM_BeOS' => '6.56',
- 'ExtUtils::MM_Cygwin' => '6.56',
- 'ExtUtils::MM_DOS' => '6.56',
- 'ExtUtils::MM_Darwin' => '6.56',
- 'ExtUtils::MM_MacOS' => '6.56',
- 'ExtUtils::MM_NW5' => '6.56',
- 'ExtUtils::MM_OS2' => '6.56',
- 'ExtUtils::MM_QNX' => '6.56',
- 'ExtUtils::MM_UWIN' => '6.56',
- 'ExtUtils::MM_Unix' => '6.56',
- 'ExtUtils::MM_VMS' => '6.56',
- 'ExtUtils::MM_VOS' => '6.56',
- 'ExtUtils::MM_Win32' => '6.56',
- 'ExtUtils::MM_Win95' => '6.56',
- 'ExtUtils::MY' => '6.56',
- 'ExtUtils::MakeMaker' => '6.56',
- 'ExtUtils::MakeMaker::Config'=> '6.56',
- 'ExtUtils::Manifest' => '1.57',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.56',
- 'ExtUtils::Mksymlists' => '6.56',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.21',
- 'ExtUtils::XSSymSet' => '1.1',
- 'ExtUtils::testlib' => '6.56',
- 'Fatal' => '2.06_01',
- 'Fcntl' => '1.06',
- 'File::Basename' => '2.78',
- 'File::CheckTree' => '4.4',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.18',
- 'File::DosGlob' => '1.01',
- 'File::Fetch' => '0.24',
- 'File::Find' => '1.15',
- 'File::Glob' => '1.07',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.31_01',
- 'File::Spec::Cygwin' => '3.30',
- 'File::Spec::Epoc' => '3.30',
- 'File::Spec::Functions' => '3.30',
- 'File::Spec::Mac' => '3.30',
- 'File::Spec::OS2' => '3.30',
- 'File::Spec::Unix' => '3.30',
- 'File::Spec::VMS' => '3.30',
- 'File::Spec::Win32' => '3.30',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.02',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'Filter::Simple' => '0.84',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.10',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'Hash::Util' => '0.07',
- 'Hash::Util::FieldHash' => '1.04',
- 'I18N::Collate' => '1.01',
- 'I18N::LangTags' => '0.35',
- 'I18N::LangTags::Detect'=> '1.04',
- 'I18N::LangTags::List' => '0.35',
- 'I18N::Langinfo' => '0.03',
- 'IO' => '1.25_02',
- 'IO::Compress::Adapter::Bzip2'=> '2.024',
- 'IO::Compress::Adapter::Deflate'=> '2.024',
- 'IO::Compress::Adapter::Identity'=> '2.024',
- 'IO::Compress::Base' => '2.024',
- 'IO::Compress::Base::Common'=> '2.024',
- 'IO::Compress::Bzip2' => '2.024',
- 'IO::Compress::Deflate' => '2.024',
- 'IO::Compress::Gzip' => '2.024',
- 'IO::Compress::Gzip::Constants'=> '2.024',
- 'IO::Compress::RawDeflate'=> '2.024',
- 'IO::Compress::Zip' => '2.024',
- 'IO::Compress::Zip::Constants'=> '2.024',
- 'IO::Compress::Zlib::Constants'=> '2.024',
- 'IO::Compress::Zlib::Extra'=> '2.024',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.28',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.31',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
- 'IO::Uncompress::Adapter::Identity'=> '2.024',
- 'IO::Uncompress::Adapter::Inflate'=> '2.024',
- 'IO::Uncompress::AnyInflate'=> '2.024',
- 'IO::Uncompress::AnyUncompress'=> '2.024',
- 'IO::Uncompress::Base' => '2.024',
- 'IO::Uncompress::Bunzip2'=> '2.024',
- 'IO::Uncompress::Gunzip'=> '2.024',
- 'IO::Uncompress::Inflate'=> '2.024',
- 'IO::Uncompress::RawInflate'=> '2.024',
- 'IO::Uncompress::Unzip' => '2.024',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.54',
- 'IPC::Msg' => '2.01',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.05',
- 'IPC::Semaphore' => '2.01',
- 'IPC::SharedMem' => '2.01',
- 'IPC::SysV' => '2.01',
- 'List::Util' => '1.22',
- 'List::Util::PP' => '1.22',
- 'List::Util::XS' => '1.22',
- 'Locale::Constants' => '2.07',
- 'Locale::Country' => '2.07',
- 'Locale::Currency' => '2.07',
- 'Locale::Language' => '2.07',
- 'Locale::Maketext' => '1.14',
- 'Locale::Maketext::Guts'=> '1.13',
- 'Locale::Maketext::GutsLoader'=> '1.13',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '2.07',
- 'Log::Message' => '0.02',
- 'Log::Message::Config' => '0.01',
- 'Log::Message::Handlers'=> undef,
- 'Log::Message::Item' => undef,
- 'Log::Message::Simple' => '0.06',
- 'MIME::Base64' => '3.08',
- 'MIME::QuotedPrint' => '3.08',
- 'Math::BigFloat' => '1.60',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.89_01',
- 'Math::BigInt::Calc' => '0.52',
- 'Math::BigInt::CalcEmu' => '0.05',
- 'Math::BigInt::FastCalc'=> '0.19',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.24',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.01_03',
- 'Memoize::AnyDBM_File' => '0.65',
- 'Memoize::Expire' => '1.00',
- 'Memoize::ExpireFile' => '1.01',
- 'Memoize::ExpireTest' => '0.65',
- 'Memoize::NDBM_File' => '0.65',
- 'Memoize::SDBM_File' => '0.65',
- 'Memoize::Storable' => '0.65',
- 'Module::Build' => '0.3603',
- 'Module::Build::Base' => '0.3603',
- 'Module::Build::Compat' => '0.3603',
- 'Module::Build::Config' => '0.3603',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3603',
- 'Module::Build::Dumper' => '0.3603',
- 'Module::Build::ModuleInfo'=> '0.3603',
- 'Module::Build::Notes' => '0.3603',
- 'Module::Build::PPMMaker'=> '0.3603',
- 'Module::Build::Platform::Amiga'=> '0.3603',
- 'Module::Build::Platform::Default'=> '0.3603',
- 'Module::Build::Platform::EBCDIC'=> '0.3603',
- 'Module::Build::Platform::MPEiX'=> '0.3603',
- 'Module::Build::Platform::MacOS'=> '0.3603',
- 'Module::Build::Platform::RiscOS'=> '0.3603',
- 'Module::Build::Platform::Unix'=> '0.3603',
- 'Module::Build::Platform::VMS'=> '0.3603',
- 'Module::Build::Platform::VOS'=> '0.3603',
- 'Module::Build::Platform::Windows'=> '0.3603',
- 'Module::Build::Platform::aix'=> '0.3603',
- 'Module::Build::Platform::cygwin'=> '0.360301',
- 'Module::Build::Platform::darwin'=> '0.3603',
- 'Module::Build::Platform::os2'=> '0.3603',
- 'Module::Build::PodParser'=> '0.3603',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '1.40',
- 'Module::CoreList' => '2.43',
- 'Module::Load' => '0.16',
- 'Module::Load::Conditional'=> '0.38',
- 'Module::Loaded' => '0.06',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.08',
- 'NEXT' => '0.64',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.36',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.07',
- 'Object::Accessor' => '0.36',
- 'Opcode' => '1.15',
- 'POSIX' => '1.19',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.26',
- 'Parse::CPAN::Meta' => '1.40',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.12',
- 'PerlIO::scalar' => '0.08',
- 'PerlIO::via' => '0.09',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.04',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.58',
- 'Pod::Man' => '2.23',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_02',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Plainer' => '1.02',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.14',
- 'Pod::Simple::BlackBox' => '3.14',
- 'Pod::Simple::Checker' => '3.14',
- 'Pod::Simple::Debug' => '3.14',
- 'Pod::Simple::DumpAsText'=> '3.14',
- 'Pod::Simple::DumpAsXML'=> '3.14',
- 'Pod::Simple::HTML' => '3.14',
- 'Pod::Simple::HTMLBatch'=> '3.14',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.14',
- 'Pod::Simple::Methody' => '3.14',
- 'Pod::Simple::Progress' => '3.14',
- 'Pod::Simple::PullParser'=> '3.14',
- 'Pod::Simple::PullParserEndToken'=> '3.14',
- 'Pod::Simple::PullParserStartToken'=> '3.14',
- 'Pod::Simple::PullParserTextToken'=> '3.14',
- 'Pod::Simple::PullParserToken'=> '3.14',
- 'Pod::Simple::RTF' => '3.14',
- 'Pod::Simple::Search' => '3.14',
- 'Pod::Simple::SimpleTree'=> '3.14',
- 'Pod::Simple::Text' => '3.14',
- 'Pod::Simple::TextContent'=> '3.14',
- 'Pod::Simple::TiedOutFH'=> '3.14',
- 'Pod::Simple::Transcode'=> '3.14',
- 'Pod::Simple::TranscodeDumb'=> '3.14',
- 'Pod::Simple::TranscodeSmart'=> '3.14',
- 'Pod::Simple::XHTML' => '3.14',
- 'Pod::Simple::XMLOutStream'=> '3.14',
- 'Pod::Text' => '3.14',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.06',
- 'Safe' => '2.27',
- 'Scalar::Util' => '1.22',
- 'Scalar::Util::PP' => '1.22',
- 'Search::Dict' => '1.02',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.17',
- 'Shell' => '0.72_01',
- 'Socket' => '1.87_01',
- 'Storable' => '2.22',
- 'Switch' => '2.16',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.11',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.17',
- 'TAP::Formatter::Base' => '3.17',
- 'TAP::Formatter::Color' => '3.17',
- 'TAP::Formatter::Console'=> '3.17',
- 'TAP::Formatter::Console::ParallelSession'=> '3.17',
- 'TAP::Formatter::Console::Session'=> '3.17',
- 'TAP::Formatter::File' => '3.17',
- 'TAP::Formatter::File::Session'=> '3.17',
- 'TAP::Formatter::Session'=> '3.17',
- 'TAP::Harness' => '3.17',
- 'TAP::Object' => '3.17',
- 'TAP::Parser' => '3.17',
- 'TAP::Parser::Aggregator'=> '3.17',
- 'TAP::Parser::Grammar' => '3.17',
- 'TAP::Parser::Iterator' => '3.17',
- 'TAP::Parser::Iterator::Array'=> '3.17',
- 'TAP::Parser::Iterator::Process'=> '3.17',
- 'TAP::Parser::Iterator::Stream'=> '3.17',
- 'TAP::Parser::IteratorFactory'=> '3.17',
- 'TAP::Parser::Multiplexer'=> '3.17',
- 'TAP::Parser::Result' => '3.17',
- 'TAP::Parser::Result::Bailout'=> '3.17',
- 'TAP::Parser::Result::Comment'=> '3.17',
- 'TAP::Parser::Result::Plan'=> '3.17',
- 'TAP::Parser::Result::Pragma'=> '3.17',
- 'TAP::Parser::Result::Test'=> '3.17',
- 'TAP::Parser::Result::Unknown'=> '3.17',
- 'TAP::Parser::Result::Version'=> '3.17',
- 'TAP::Parser::Result::YAML'=> '3.17',
- 'TAP::Parser::ResultFactory'=> '3.17',
- 'TAP::Parser::Scheduler'=> '3.17',
- 'TAP::Parser::Scheduler::Job'=> '3.17',
- 'TAP::Parser::Scheduler::Spinner'=> '3.17',
- 'TAP::Parser::Source' => '3.17',
- 'TAP::Parser::Source::Perl'=> '3.17',
- 'TAP::Parser::Utils' => '3.17',
- 'TAP::Parser::YAMLish::Reader'=> '3.17',
- 'TAP::Parser::YAMLish::Writer'=> '3.17',
- 'Term::ANSIColor' => '2.02',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.05',
- 'Term::UI' => '0.20',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.94',
- 'Test::Builder::Module' => '0.94',
- 'Test::Builder::Tester' => '1.18',
- 'Test::Builder::Tester::Color'=> '1.18',
- 'Test::Harness' => '3.17',
- 'Test::More' => '0.94',
- 'Test::Simple' => '0.94',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.11',
- 'Thread::Semaphore' => '2.09',
- 'Tie::Array' => '1.03',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.03',
- 'Tie::Hash::NamedCapture'=> '0.06',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.02',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9719',
- 'Time::Local' => '1.1901_01',
- 'Time::Piece' => '1.15_01',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.06',
- 'Unicode' => '5.2.0',
- 'Unicode::Collate' => '0.52_01',
- 'Unicode::Normalize' => '1.03',
- 'Unicode::UCD' => '0.27',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.03',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.39',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.17',
- 'XS::APItest::KeywordRPN'=> '0.003',
- 'XS::Typemap' => '0.03',
- 'XSLoader' => '0.10',
- 'XSLoader::XSLoader' => '0.10',
- 'attributes' => '0.12',
- 'autodie' => '2.06_01',
- 'autodie::exception' => '2.06_01',
- 'autodie::exception::system'=> '2.06_01',
- 'autodie::hints' => '2.06_01',
- 'autouse' => '1.06',
- 'base' => '2.15',
- 'bigint' => '0.23',
- 'bignum' => '0.23',
- 'bigrat' => '0.23',
- 'blib' => '1.04',
- 'bytes' => '1.04',
- 'charnames' => '1.07',
- 'constant' => '1.20',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.19',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.16',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.05',
- 'inc::latest' => '0.3603',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.62',
- 'locale' => '1.00',
- 'mro' => '1.02',
- 'open' => '1.07',
- 'ops' => '1.02',
- 'overload' => '1.10',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.223',
- 're' => '0.11',
- 'sigtrap' => '1.04',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.75',
- 'threads::shared' => '1.32',
- 'utf8' => '1.08',
- 'vars' => '1.01',
- 'version' => '0.82',
- 'vmsish' => '1.02',
- 'warnings' => '1.09',
- 'warnings::register' => '1.01',
+ delta_from => 5.013007,
+ changed => {
+ 'Archive::Tar' => '1.74',
+ 'Archive::Tar::Constant'=> '1.74',
+ 'Archive::Tar::File' => '1.74',
+ 'B' => '1.27',
+ 'B::Concise' => '0.82',
+ 'B::Deparse' => '1.02',
+ 'Carp::Heavy' => '1.17',
+ 'Cwd' => '3.35',
+ 'Data::Dumper' => '2.130_02',
+ 'Devel::Peek' => '1.06',
+ 'Devel::SelfStubber' => '1.05',
+ 'Digest::SHA' => '5.50',
+ 'Dumpvalue' => '1.15',
+ 'DynaLoader' => '1.12',
+ 'Env' => '1.02',
+ 'Exporter::Heavy' => '5.64_01',
+ 'ExtUtils::CBuilder' => '0.280201',
+ 'ExtUtils::CBuilder::Base'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280201',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280201',
+ 'ExtUtils::Constant::Utils'=> '0.03',
+ 'ExtUtils::Embed' => '1.30',
+ 'ExtUtils::ParseXS' => '2.2208',
+ 'Fatal' => '2.1001',
+ 'Fcntl' => '1.11',
+ 'File::CheckTree' => '4.41',
+ 'File::Glob' => '1.11',
+ 'GDBM_File' => '1.13',
+ 'Hash::Util::FieldHash' => '1.07',
+ 'I18N::Collate' => '1.02',
+ 'IO' => '1.25_03',
+ 'IPC::Cmd' => '0.66',
+ 'IPC::Open3' => '1.08',
+ 'Locale::Codes' => '3.15',
+ 'Locale::Codes::Country'=> '3.15',
+ 'Locale::Codes::Currency'=> '3.15',
+ 'Locale::Codes::Language'=> '3.15',
+ 'Locale::Codes::Script' => '3.15',
+ 'Locale::Constants' => '3.15',
+ 'Locale::Country' => '3.15',
+ 'Locale::Currency' => '3.15',
+ 'Locale::Language' => '3.15',
+ 'Locale::Script' => '3.15',
+ 'MIME::Base64' => '3.13',
+ 'MIME::QuotedPrint' => '3.13',
+ 'Math::BigFloat' => '1.99_02',
+ 'Math::BigInt' => '1.99_02',
+ 'Math::BigInt::Calc' => '1.99_02',
+ 'Math::BigInt::CalcEmu' => '1.99_02',
+ 'Memoize' => '1.02',
+ 'Memoize::AnyDBM_File' => '1.02',
+ 'Memoize::Expire' => '1.02',
+ 'Memoize::ExpireFile' => '1.02',
+ 'Memoize::ExpireTest' => '1.02',
+ 'Memoize::NDBM_File' => '1.02',
+ 'Memoize::SDBM_File' => '1.02',
+ 'Memoize::Storable' => '1.02',
+ 'Module::CoreList' => '2.43',
+ 'NDBM_File' => '1.11',
+ 'Net::Ping' => '2.37',
+ 'ODBM_File' => '1.10',
+ 'Opcode' => '1.18',
+ 'POSIX' => '1.23',
+ 'PerlIO::encoding' => '0.14',
+ 'PerlIO::scalar' => '0.11',
+ 'PerlIO::via' => '0.11',
+ 'SDBM_File' => '1.09',
+ 'Socket' => '1.92',
+ 'Storable' => '2.25',
+ 'Time::HiRes' => '1.9721_01',
+ 'Unicode::Collate' => '0.6801',
+ 'Unicode::Collate::Locale'=> '0.68',
+ 'Unicode::Normalize' => '1.08',
+ 'Unicode::UCD' => '0.30',
+ 'Win32' => '0.41',
+ 'XS::APItest' => '0.27',
+ 'autodie' => '2.1001',
+ 'autodie::exception' => '2.1001',
+ 'autodie::exception::system'=> '2.1001',
+ 'autodie::hints' => '2.1001',
+ 'feature' => '1.19',
+ 'if' => '0.0601',
+ 'mro' => '1.06',
+ 'overload' => '1.12',
+ 're' => '0.15',
+ 'threads' => '1.81_03',
+ 'threads::shared' => '1.35',
+ 'version' => '0.86',
+ },
+ removed => {
+ }
},
5.013009 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.22',
- 'App::Prove::State' => '3.22',
- 'App::Prove::State::Result'=> '3.22',
- 'App::Prove::State::Result::Test'=> '3.22',
- 'Archive::Extract' => '0.48',
- 'Archive::Tar' => '1.76',
- 'Archive::Tar::Constant'=> '1.76',
- 'Archive::Tar::File' => '1.76',
- 'Attribute::Handlers' => '0.88',
- 'AutoLoader' => '5.71',
- 'AutoSplit' => '1.06',
- 'B' => '1.27',
- 'B::Concise' => '0.83',
- 'B::Debug' => '1.16',
- 'B::Deparse' => '1.03',
- 'B::Lint' => '1.13',
- 'B::Lint::Debug' => '1.12',
- 'B::Showlex' => '1.02',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.12',
- 'CGI' => '3.51',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.51',
- 'CGI::Cookie' => '1.30',
- 'CGI::Fast' => '1.08',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.05',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.51',
- 'CPAN' => '1.94_63',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9600',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5005',
- 'CPAN::FTP::netrc' => '1.00',
- 'CPAN::FirstTime' => '5.5301',
- 'CPAN::HTTP::Client' => '1.94',
- 'CPAN::HTTP::Credentials'=> '1.94',
- 'CPAN::HandleConfig' => '5.5001',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Meta::YAML' => '0.003',
- 'CPAN::Mirrors' => '1.77',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5001',
- 'CPAN::Shell' => '5.5001',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5001',
- 'CPANPLUS' => '0.9011',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.52',
- 'CPANPLUS::Dist::Build::Constants'=> '0.52',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.9011',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.9011',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.19',
- 'Carp::Heavy' => '1.19',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.033',
- 'Compress::Raw::Zlib' => '2.033',
- 'Compress::Zlib' => '2.033',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.36',
- 'DB' => '1.03',
- 'DBM_Filter' => '0.04',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.821',
- 'Data::Dumper' => '2.130_02',
- 'Devel::DProf' => '20080331.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.07',
- 'Devel::SelfStubber' => '1.05',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.51',
- 'Digest::SHA' => '5.50',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.04',
- 'Dumpvalue' => '1.16',
- 'DynaLoader' => '1.12',
- 'Encode' => '2.42',
- 'Encode::Alias' => '2.13',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.04',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.13',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.05',
- 'English' => '1.04',
- 'Env' => '1.02',
- 'Errno' => '1.13',
- 'Exporter' => '5.64_03',
- 'Exporter::Heavy' => '5.64_03',
- 'ExtUtils::CBuilder' => '0.280201',
- 'ExtUtils::CBuilder::Base'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280201',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.280201',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.57_05',
- 'ExtUtils::Constant' => '0.23',
- 'ExtUtils::Constant::Base'=> '0.05',
- 'ExtUtils::Constant::ProxySubs'=> '0.08',
- 'ExtUtils::Constant::Utils'=> '0.03',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.30',
- 'ExtUtils::Install' => '1.56',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.57_05',
- 'ExtUtils::Liblist::Kid'=> '6.5705',
- 'ExtUtils::MM' => '6.57_05',
- 'ExtUtils::MM_AIX' => '6.57_05',
- 'ExtUtils::MM_Any' => '6.57_05',
- 'ExtUtils::MM_BeOS' => '6.57_05',
- 'ExtUtils::MM_Cygwin' => '6.57_05',
- 'ExtUtils::MM_DOS' => '6.5705',
- 'ExtUtils::MM_Darwin' => '6.57_05',
- 'ExtUtils::MM_MacOS' => '6.5705',
- 'ExtUtils::MM_NW5' => '6.57_05',
- 'ExtUtils::MM_OS2' => '6.57_05',
- 'ExtUtils::MM_QNX' => '6.57_05',
- 'ExtUtils::MM_UWIN' => '6.5705',
- 'ExtUtils::MM_Unix' => '6.57_05',
- 'ExtUtils::MM_VMS' => '6.57_05',
- 'ExtUtils::MM_VOS' => '6.57_05',
- 'ExtUtils::MM_Win32' => '6.57_05',
- 'ExtUtils::MM_Win95' => '6.57_05',
- 'ExtUtils::MY' => '6.5705',
- 'ExtUtils::MakeMaker' => '6.57_05',
- 'ExtUtils::MakeMaker::Config'=> '6.57_05',
- 'ExtUtils::MakeMaker::YAML'=> '1.44',
- 'ExtUtils::Manifest' => '1.58',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.57_05',
- 'ExtUtils::Mksymlists' => '6.57_05',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.2209',
- 'ExtUtils::XSSymSet' => '1.2',
- 'ExtUtils::testlib' => '6.5705',
- 'Fatal' => '2.1001',
- 'Fcntl' => '1.11',
- 'File::Basename' => '2.80',
- 'File::CheckTree' => '4.41',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.21',
- 'File::DosGlob' => '1.04',
- 'File::Fetch' => '0.32',
- 'File::Find' => '1.19',
- 'File::Glob' => '1.11',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.33',
- 'File::Spec::Cygwin' => '3.33',
- 'File::Spec::Epoc' => '3.33',
- 'File::Spec::Functions' => '3.33',
- 'File::Spec::Mac' => '3.34',
- 'File::Spec::OS2' => '3.33',
- 'File::Spec::Unix' => '3.33',
- 'File::Spec::VMS' => '3.34',
- 'File::Spec::Win32' => '3.33',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.05',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'Filter::Simple' => '0.85',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.13',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'HTTP::Tiny' => '0.009',
- 'Hash::Util' => '0.10',
- 'Hash::Util::FieldHash' => '1.08',
- 'I18N::Collate' => '1.02',
- 'I18N::LangTags' => '0.35_01',
- 'I18N::LangTags::Detect'=> '1.04',
- 'I18N::LangTags::List' => '0.35_01',
- 'I18N::Langinfo' => '0.07',
- 'IO' => '1.25_03',
- 'IO::Compress::Adapter::Bzip2'=> '2.033',
- 'IO::Compress::Adapter::Deflate'=> '2.033',
- 'IO::Compress::Adapter::Identity'=> '2.033',
- 'IO::Compress::Base' => '2.033',
- 'IO::Compress::Base::Common'=> '2.033',
- 'IO::Compress::Bzip2' => '2.033',
- 'IO::Compress::Deflate' => '2.033',
- 'IO::Compress::Gzip' => '2.033',
- 'IO::Compress::Gzip::Constants'=> '2.033',
- 'IO::Compress::RawDeflate'=> '2.033',
- 'IO::Compress::Zip' => '2.033',
- 'IO::Compress::Zip::Constants'=> '2.033',
- 'IO::Compress::Zlib::Constants'=> '2.033',
- 'IO::Compress::Zlib::Extra'=> '2.033',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.29',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.17',
- 'IO::Socket' => '1.32',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
- 'IO::Uncompress::Adapter::Identity'=> '2.033',
- 'IO::Uncompress::Adapter::Inflate'=> '2.033',
- 'IO::Uncompress::AnyInflate'=> '2.033',
- 'IO::Uncompress::AnyUncompress'=> '2.033',
- 'IO::Uncompress::Base' => '2.033',
- 'IO::Uncompress::Bunzip2'=> '2.033',
- 'IO::Uncompress::Gunzip'=> '2.033',
- 'IO::Uncompress::Inflate'=> '2.033',
- 'IO::Uncompress::RawInflate'=> '2.033',
- 'IO::Uncompress::Unzip' => '2.033',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.68',
- 'IPC::Msg' => '2.03',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.09',
- 'IPC::Semaphore' => '2.03',
- 'IPC::SharedMem' => '2.03',
- 'IPC::SysV' => '2.03',
- 'JSON::PP' => '2.27103',
- 'JSON::PP::Boolean' => undef,
- 'List::Util' => '1.23',
- 'List::Util::PP' => '1.23',
- 'List::Util::XS' => '1.23',
- 'Locale::Codes' => '3.15',
- 'Locale::Codes::Country'=> '3.15',
- 'Locale::Codes::Currency'=> '3.15',
- 'Locale::Codes::Language'=> '3.15',
- 'Locale::Codes::Script' => '3.15',
- 'Locale::Constants' => '3.15',
- 'Locale::Country' => '3.15',
- 'Locale::Currency' => '3.15',
- 'Locale::Language' => '3.15',
- 'Locale::Maketext' => '1.18',
- 'Locale::Maketext::Guts'=> '1.17',
- 'Locale::Maketext::GutsLoader'=> '1.17',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '3.15',
- 'Log::Message' => '0.04',
- 'Log::Message::Config' => '0.04',
- 'Log::Message::Handlers'=> '0.04',
- 'Log::Message::Item' => '0.04',
- 'Log::Message::Simple' => '0.08',
- 'MIME::Base64' => '3.13',
- 'MIME::QuotedPrint' => '3.13',
- 'Math::BigFloat' => '1.99_03',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.99_03',
- 'Math::BigInt::Calc' => '1.99_03',
- 'Math::BigInt::CalcEmu' => '1.99_02',
- 'Math::BigInt::FastCalc'=> '0.24_02',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.26_02',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.02',
- 'Memoize::AnyDBM_File' => '1.02',
- 'Memoize::Expire' => '1.02',
- 'Memoize::ExpireFile' => '1.02',
- 'Memoize::ExpireTest' => '1.02',
- 'Memoize::NDBM_File' => '1.02',
- 'Memoize::SDBM_File' => '1.02',
- 'Memoize::Storable' => '1.02',
- 'Module::Build' => '0.3607',
- 'Module::Build::Base' => '0.3607',
- 'Module::Build::Compat' => '0.3607',
- 'Module::Build::Config' => '0.3607',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3607',
- 'Module::Build::Dumper' => '0.3607',
- 'Module::Build::ModuleInfo'=> '0.3607',
- 'Module::Build::Notes' => '0.3607',
- 'Module::Build::PPMMaker'=> '0.3607',
- 'Module::Build::Platform::Amiga'=> '0.3607',
- 'Module::Build::Platform::Default'=> '0.3607',
- 'Module::Build::Platform::EBCDIC'=> '0.3607',
- 'Module::Build::Platform::MPEiX'=> '0.3607',
- 'Module::Build::Platform::MacOS'=> '0.3607',
- 'Module::Build::Platform::RiscOS'=> '0.3607',
- 'Module::Build::Platform::Unix'=> '0.3607',
- 'Module::Build::Platform::VMS'=> '0.3607',
- 'Module::Build::Platform::VOS'=> '0.3607',
- 'Module::Build::Platform::Windows'=> '0.3607',
- 'Module::Build::Platform::aix'=> '0.3607',
- 'Module::Build::Platform::cygwin'=> '0.3607',
- 'Module::Build::Platform::darwin'=> '0.3607',
- 'Module::Build::Platform::os2'=> '0.3607',
- 'Module::Build::PodParser'=> '0.3607',
- 'Module::Build::Version'=> '0.77',
- 'Module::Build::YAML' => '1.40',
- 'Module::CoreList' => '2.42_01',
- 'Module::Load' => '0.18',
- 'Module::Load::Conditional'=> '0.40',
- 'Module::Loaded' => '0.06',
- 'Module::Metadata' => '1.000003',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.11',
- 'NEXT' => '0.65',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.38',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.10',
- 'Object::Accessor' => '0.38',
- 'Opcode' => '1.18',
- 'POSIX' => '1.24',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.28',
- 'Parse::CPAN::Meta' => '1.40',
- 'Perl::OSType' => '1.002',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.14',
- 'PerlIO::scalar' => '0.11',
- 'PerlIO::via' => '0.11',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.04',
- 'Pod::Html' => '1.09',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.59',
- 'Pod::Man' => '2.25',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_03',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.15',
- 'Pod::Simple::BlackBox' => '3.15',
- 'Pod::Simple::Checker' => '3.15',
- 'Pod::Simple::Debug' => '3.15',
- 'Pod::Simple::DumpAsText'=> '3.15',
- 'Pod::Simple::DumpAsXML'=> '3.15',
- 'Pod::Simple::HTML' => '3.15',
- 'Pod::Simple::HTMLBatch'=> '3.15',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.15',
- 'Pod::Simple::Methody' => '3.15',
- 'Pod::Simple::Progress' => '3.15',
- 'Pod::Simple::PullParser'=> '3.15',
- 'Pod::Simple::PullParserEndToken'=> '3.15',
- 'Pod::Simple::PullParserStartToken'=> '3.15',
- 'Pod::Simple::PullParserTextToken'=> '3.15',
- 'Pod::Simple::PullParserToken'=> '3.15',
- 'Pod::Simple::RTF' => '3.15',
- 'Pod::Simple::Search' => '3.15',
- 'Pod::Simple::SimpleTree'=> '3.15',
- 'Pod::Simple::Text' => '3.15',
- 'Pod::Simple::TextContent'=> '3.15',
- 'Pod::Simple::TiedOutFH'=> '3.15',
- 'Pod::Simple::Transcode'=> '3.15',
- 'Pod::Simple::TranscodeDumb'=> '3.15',
- 'Pod::Simple::TranscodeSmart'=> '3.15',
- 'Pod::Simple::XHTML' => '3.15',
- 'Pod::Simple::XMLOutStream'=> '3.15',
- 'Pod::Text' => '3.15',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.09',
- 'Safe' => '2.29',
- 'Scalar::Util' => '1.23',
- 'Scalar::Util::PP' => '1.23',
- 'Search::Dict' => '1.03',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.18',
- 'Shell' => '0.72_01',
- 'Socket' => '1.93',
- 'Storable' => '2.26',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.15',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.22',
- 'TAP::Formatter::Base' => '3.22',
- 'TAP::Formatter::Color' => '3.22',
- 'TAP::Formatter::Console'=> '3.22',
- 'TAP::Formatter::Console::ParallelSession'=> '3.22',
- 'TAP::Formatter::Console::Session'=> '3.22',
- 'TAP::Formatter::File' => '3.22',
- 'TAP::Formatter::File::Session'=> '3.22',
- 'TAP::Formatter::Session'=> '3.22',
- 'TAP::Harness' => '3.22',
- 'TAP::Object' => '3.22',
- 'TAP::Parser' => '3.22',
- 'TAP::Parser::Aggregator'=> '3.22',
- 'TAP::Parser::Grammar' => '3.22',
- 'TAP::Parser::Iterator' => '3.22',
- 'TAP::Parser::Iterator::Array'=> '3.22',
- 'TAP::Parser::Iterator::Process'=> '3.22',
- 'TAP::Parser::Iterator::Stream'=> '3.22',
- 'TAP::Parser::IteratorFactory'=> '3.22',
- 'TAP::Parser::Multiplexer'=> '3.22',
- 'TAP::Parser::Result' => '3.22',
- 'TAP::Parser::Result::Bailout'=> '3.22',
- 'TAP::Parser::Result::Comment'=> '3.22',
- 'TAP::Parser::Result::Plan'=> '3.22',
- 'TAP::Parser::Result::Pragma'=> '3.22',
- 'TAP::Parser::Result::Test'=> '3.22',
- 'TAP::Parser::Result::Unknown'=> '3.22',
- 'TAP::Parser::Result::Version'=> '3.22',
- 'TAP::Parser::Result::YAML'=> '3.22',
- 'TAP::Parser::ResultFactory'=> '3.22',
- 'TAP::Parser::Scheduler'=> '3.22',
- 'TAP::Parser::Scheduler::Job'=> '3.22',
- 'TAP::Parser::Scheduler::Spinner'=> '3.22',
- 'TAP::Parser::Source' => '3.22',
- 'TAP::Parser::SourceHandler'=> '3.22',
- 'TAP::Parser::SourceHandler::Executable'=> '3.22',
- 'TAP::Parser::SourceHandler::File'=> '3.22',
- 'TAP::Parser::SourceHandler::Handle'=> '3.22',
- 'TAP::Parser::SourceHandler::Perl'=> '3.22',
- 'TAP::Parser::SourceHandler::RawTAP'=> '3.22',
- 'TAP::Parser::Utils' => '3.22',
- 'TAP::Parser::YAMLish::Reader'=> '3.22',
- 'TAP::Parser::YAMLish::Writer'=> '3.22',
- 'Term::ANSIColor' => '3.00',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.07',
- 'Term::UI' => '0.24',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.97_01',
- 'Test::Builder::Module' => '0.97_01',
- 'Test::Builder::Tester' => '1.21_01',
- 'Test::Builder::Tester::Color'=> '1.21_01',
- 'Test::Harness' => '3.22',
- 'Test::More' => '0.97_01',
- 'Test::Simple' => '0.97_01',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.12',
- 'Thread::Semaphore' => '2.12',
- 'Tie::Array' => '1.04',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.04',
- 'Tie::Hash::NamedCapture'=> '0.07',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.02',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9721_01',
- 'Time::Local' => '1.2000',
- 'Time::Piece' => '1.20_01',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.08',
- 'Unicode' => '6.0.0',
- 'Unicode::Collate' => '0.6801',
- 'Unicode::Collate::CJK::Big5'=> '0.65',
- 'Unicode::Collate::CJK::GB2312'=> '0.65',
- 'Unicode::Collate::CJK::JISX0208'=> '0.64',
- 'Unicode::Collate::CJK::Korean'=> '0.66',
- 'Unicode::Collate::CJK::Pinyin'=> '0.65',
- 'Unicode::Collate::CJK::Stroke'=> '0.65',
- 'Unicode::Collate::Locale'=> '0.68',
- 'Unicode::Normalize' => '1.10',
- 'Unicode::UCD' => '0.30',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.04',
- 'VMS::Filespec' => '1.12',
- 'VMS::Stdio' => '2.4',
- 'Win32' => '0.44',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.27',
- 'XS::Typemap' => '0.04',
- 'XSLoader' => '0.13',
- 'XSLoader::XSLoader' => '0.13',
- 'attributes' => '0.13',
- 'autodie' => '2.1001',
- 'autodie::exception' => '2.1001',
- 'autodie::exception::system'=> '2.1001',
- 'autodie::hints' => '2.1001',
- 'autouse' => '1.06',
- 'base' => '2.15',
- 'bigint' => '0.26',
- 'bignum' => '0.26',
- 'bigrat' => '0.26',
- 'blib' => '1.06',
- 'bytes' => '1.04',
- 'charnames' => '1.18',
- 'constant' => '1.20',
- 'deprecate' => '0.01',
- 'diagnostics' => '1.21',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.19',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.0601',
- 'inc::latest' => '0.3607',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.63',
- 'locale' => '1.00',
- 'mro' => '1.06',
- 'open' => '1.08',
- 'ops' => '1.02',
- 'overload' => '1.12',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.224',
- 're' => '0.16',
- 'sigtrap' => '1.05',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.83',
- 'threads::shared' => '1.36',
- 'utf8' => '1.08',
- 'vars' => '1.02',
- 'version' => '0.88',
- 'vmsish' => '1.02',
- 'warnings' => '1.11',
- 'warnings::register' => '1.02',
+ delta_from => 5.013008,
+ changed => {
+ 'Archive::Extract' => '0.48',
+ 'Archive::Tar' => '1.76',
+ 'Archive::Tar::Constant'=> '1.76',
+ 'Archive::Tar::File' => '1.76',
+ 'B::Concise' => '0.83',
+ 'B::Deparse' => '1.03',
+ 'B::Lint' => '1.13',
+ 'Benchmark' => '1.12',
+ 'CGI' => '3.51',
+ 'CGI::Carp' => '3.51',
+ 'CGI::Cookie' => '1.30',
+ 'CGI::Push' => '1.05',
+ 'CGI::Util' => '3.51',
+ 'CPAN' => '1.94_63',
+ 'CPAN::HTTP::Client' => '1.94',
+ 'CPAN::HTTP::Credentials'=> '1.94',
+ 'CPAN::Meta::YAML' => '0.003',
+ 'CPANPLUS' => '0.9011',
+ 'CPANPLUS::Dist::Build' => '0.52',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.52',
+ 'CPANPLUS::Internals' => '0.9011',
+ 'CPANPLUS::Shell::Default'=> '0.9011',
+ 'Carp::Heavy' => '1.19',
+ 'Compress::Raw::Bzip2' => '2.033',
+ 'Compress::Raw::Zlib' => '2.033',
+ 'Compress::Zlib' => '2.033',
+ 'Cwd' => '3.36',
+ 'DBM_Filter' => '0.04',
+ 'DB_File' => '1.821',
+ 'Devel::Peek' => '1.07',
+ 'DirHandle' => '1.04',
+ 'Dumpvalue' => '1.16',
+ 'Encode' => '2.42',
+ 'Encode::Alias' => '2.13',
+ 'Encode::MIME::Header' => '2.13',
+ 'Exporter::Heavy' => '5.64_03',
+ 'ExtUtils::Install' => '1.56',
+ 'ExtUtils::ParseXS' => '2.2209',
+ 'File::Basename' => '2.80',
+ 'File::Copy' => '2.21',
+ 'File::DosGlob' => '1.04',
+ 'File::Fetch' => '0.32',
+ 'File::Find' => '1.19',
+ 'File::Spec::Mac' => '3.34',
+ 'File::Spec::VMS' => '3.34',
+ 'File::stat' => '1.05',
+ 'HTTP::Tiny' => '0.009',
+ 'Hash::Util::FieldHash' => '1.08',
+ 'IO::Compress::Adapter::Bzip2'=> '2.033',
+ 'IO::Compress::Adapter::Deflate'=> '2.033',
+ 'IO::Compress::Adapter::Identity'=> '2.033',
+ 'IO::Compress::Base' => '2.033',
+ 'IO::Compress::Base::Common'=> '2.033',
+ 'IO::Compress::Bzip2' => '2.033',
+ 'IO::Compress::Deflate' => '2.033',
+ 'IO::Compress::Gzip' => '2.033',
+ 'IO::Compress::Gzip::Constants'=> '2.033',
+ 'IO::Compress::RawDeflate'=> '2.033',
+ 'IO::Compress::Zip' => '2.033',
+ 'IO::Compress::Zip::Constants'=> '2.033',
+ 'IO::Compress::Zlib::Constants'=> '2.033',
+ 'IO::Compress::Zlib::Extra'=> '2.033',
+ 'IO::Handle' => '1.29',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
+ 'IO::Uncompress::Adapter::Identity'=> '2.033',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.033',
+ 'IO::Uncompress::AnyInflate'=> '2.033',
+ 'IO::Uncompress::AnyUncompress'=> '2.033',
+ 'IO::Uncompress::Base' => '2.033',
+ 'IO::Uncompress::Bunzip2'=> '2.033',
+ 'IO::Uncompress::Gunzip'=> '2.033',
+ 'IO::Uncompress::Inflate'=> '2.033',
+ 'IO::Uncompress::RawInflate'=> '2.033',
+ 'IO::Uncompress::Unzip' => '2.033',
+ 'IPC::Cmd' => '0.68',
+ 'IPC::Open3' => '1.09',
+ 'JSON::PP' => '2.27103',
+ 'JSON::PP::Boolean' => undef,
+ 'Locale::Maketext' => '1.18',
+ 'Log::Message' => '0.04',
+ 'Log::Message::Config' => '0.04',
+ 'Log::Message::Handlers'=> '0.04',
+ 'Log::Message::Item' => '0.04',
+ 'Log::Message::Simple' => '0.08',
+ 'Math::BigFloat' => '1.99_03',
+ 'Math::BigInt' => '1.99_03',
+ 'Math::BigInt::Calc' => '1.99_03',
+ 'Math::BigInt::FastCalc'=> '0.24_02',
+ 'Math::BigRat' => '0.26_02',
+ 'Module::CoreList' => '2.42_01',
+ 'Module::Load::Conditional'=> '0.40',
+ 'Module::Metadata' => '1.000003',
+ 'Net::Ping' => '2.38',
+ 'Object::Accessor' => '0.38',
+ 'POSIX' => '1.24',
+ 'Params::Check' => '0.28',
+ 'Perl::OSType' => '1.002',
+ 'Pod::LaTeX' => '0.59',
+ 'Pod::Perldoc' => '3.15_03',
+ 'Socket' => '1.93',
+ 'Storable' => '2.26',
+ 'Sys::Hostname' => '1.15',
+ 'Term::UI' => '0.24',
+ 'Thread::Queue' => '2.12',
+ 'Thread::Semaphore' => '2.12',
+ 'Time::Local' => '1.2000',
+ 'UNIVERSAL' => '1.08',
+ 'Unicode::Normalize' => '1.10',
+ 'Win32' => '0.44',
+ 'bigint' => '0.26',
+ 'bignum' => '0.26',
+ 'bigrat' => '0.26',
+ 'charnames' => '1.18',
+ 'diagnostics' => '1.21',
+ 're' => '0.16',
+ 'threads' => '1.83',
+ 'threads::shared' => '1.36',
+ 'version' => '0.88',
+ },
+ removed => {
+ }
},
- 5.013010 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.22',
- 'App::Prove::State' => '3.22',
- 'App::Prove::State::Result'=> '3.22',
- 'App::Prove::State::Result::Test'=> '3.22',
- 'Archive::Extract' => '0.48',
- 'Archive::Tar' => '1.76',
- 'Archive::Tar::Constant'=> '1.76',
- 'Archive::Tar::File' => '1.76',
- 'Attribute::Handlers' => '0.89',
- 'AutoLoader' => '5.71',
- 'AutoSplit' => '1.06',
- 'B' => '1.28',
- 'B::Concise' => '0.83',
- 'B::Debug' => '1.16',
- 'B::Deparse' => '1.03',
- 'B::Lint' => '1.13',
- 'B::Lint::Debug' => '1.12',
- 'B::Showlex' => '1.03',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.12',
- 'CGI' => '3.52',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.51',
- 'CGI::Cookie' => '1.30',
- 'CGI::Fast' => '1.08',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.05',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.51',
- 'CPAN' => '1.94_65',
- 'CPAN::Author' => '5.5',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9601',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.0',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5005',
- 'CPAN::FTP::netrc' => '1.01',
- 'CPAN::FirstTime' => '5.5303',
- 'CPAN::HTTP::Client' => '1.94',
- 'CPAN::HTTP::Credentials'=> '1.94',
- 'CPAN::HandleConfig' => '5.5003',
- 'CPAN::Index' => '1.94',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.94',
- 'CPAN::Meta' => '2.110440',
- 'CPAN::Meta::Converter' => '2.110440',
- 'CPAN::Meta::Feature' => '2.110440',
- 'CPAN::Meta::History' => '2.110440',
- 'CPAN::Meta::Prereqs' => '2.110440',
- 'CPAN::Meta::Spec' => '2.110440',
- 'CPAN::Meta::Validator' => '2.110440',
- 'CPAN::Meta::YAML' => '0.003',
- 'CPAN::Mirrors' => '1.77',
- 'CPAN::Module' => '5.5',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5001',
- 'CPAN::Shell' => '5.5002',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5001',
- 'CPANPLUS' => '0.9101',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.52',
- 'CPANPLUS::Dist::Build::Constants'=> '0.52',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.9101',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.9101',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.20',
- 'Carp::Heavy' => '1.20',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.033',
- 'Compress::Raw::Zlib' => '2.033',
- 'Compress::Zlib' => '2.033',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.37',
- 'DB' => '1.03',
- 'DBM_Filter' => '0.04',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.821',
- 'Data::Dumper' => '2.130_02',
- 'Devel::DProf' => '20110217.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.07',
- 'Devel::SelfStubber' => '1.05',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.51',
- 'Digest::SHA' => '5.50',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.04',
- 'Dumpvalue' => '1.16',
- 'DynaLoader' => '1.13',
- 'Encode' => '2.42',
- 'Encode::Alias' => '2.13',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.04',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.13',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.05',
- 'English' => '1.04',
- 'Env' => '1.02',
- 'Errno' => '1.13',
- 'Exporter' => '5.64_03',
- 'Exporter::Heavy' => '5.64_03',
- 'ExtUtils::CBuilder' => '0.280202',
- 'ExtUtils::CBuilder::Base'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.280202',
- 'ExtUtils::Command' => '1.16',
- 'ExtUtils::Command::MM' => '6.57_05',
- 'ExtUtils::Constant' => '0.23',
- 'ExtUtils::Constant::Base'=> '0.05',
- 'ExtUtils::Constant::ProxySubs'=> '0.08',
- 'ExtUtils::Constant::Utils'=> '0.03',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.30',
- 'ExtUtils::Install' => '1.56',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.57_05',
- 'ExtUtils::Liblist::Kid'=> '6.5705',
- 'ExtUtils::MM' => '6.57_05',
- 'ExtUtils::MM_AIX' => '6.57_05',
- 'ExtUtils::MM_Any' => '6.57_05',
- 'ExtUtils::MM_BeOS' => '6.57_05',
- 'ExtUtils::MM_Cygwin' => '6.57_05',
- 'ExtUtils::MM_DOS' => '6.5705',
- 'ExtUtils::MM_Darwin' => '6.57_05',
- 'ExtUtils::MM_MacOS' => '6.5705',
- 'ExtUtils::MM_NW5' => '6.57_05',
- 'ExtUtils::MM_OS2' => '6.57_05',
- 'ExtUtils::MM_QNX' => '6.57_05',
- 'ExtUtils::MM_UWIN' => '6.5705',
- 'ExtUtils::MM_Unix' => '6.57_05',
- 'ExtUtils::MM_VMS' => '6.57_05',
- 'ExtUtils::MM_VOS' => '6.57_05',
- 'ExtUtils::MM_Win32' => '6.57_05',
- 'ExtUtils::MM_Win95' => '6.57_05',
- 'ExtUtils::MY' => '6.5705',
- 'ExtUtils::MakeMaker' => '6.57_05',
- 'ExtUtils::MakeMaker::Config'=> '6.57_05',
- 'ExtUtils::MakeMaker::YAML'=> '1.44',
- 'ExtUtils::Manifest' => '1.58',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.57_05',
- 'ExtUtils::Mksymlists' => '6.57_05',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.2209',
- 'ExtUtils::XSSymSet' => '1.2',
- 'ExtUtils::testlib' => '6.5705',
- 'Fatal' => '2.1001',
- 'Fcntl' => '1.11',
- 'File::Basename' => '2.80',
- 'File::CheckTree' => '4.41',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.22',
- 'File::DosGlob' => '1.04',
- 'File::Fetch' => '0.32',
- 'File::Find' => '1.19',
- 'File::Glob' => '1.11',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.33',
- 'File::Spec::Cygwin' => '3.33',
- 'File::Spec::Epoc' => '3.33',
- 'File::Spec::Functions' => '3.33',
- 'File::Spec::Mac' => '3.34',
- 'File::Spec::OS2' => '3.33',
- 'File::Spec::Unix' => '3.33',
- 'File::Spec::VMS' => '3.34',
- 'File::Spec::Win32' => '3.33',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.05',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'Filter::Simple' => '0.86',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.13',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'HTTP::Tiny' => '0.010',
- 'Hash::Util' => '0.10',
- 'Hash::Util::FieldHash' => '1.08',
- 'I18N::Collate' => '1.02',
- 'I18N::LangTags' => '0.35_01',
- 'I18N::LangTags::Detect'=> '1.05',
- 'I18N::LangTags::List' => '0.35_01',
- 'I18N::Langinfo' => '0.07',
- 'IO' => '1.25_03',
- 'IO::Compress::Adapter::Bzip2'=> '2.033',
- 'IO::Compress::Adapter::Deflate'=> '2.033',
- 'IO::Compress::Adapter::Identity'=> '2.033',
- 'IO::Compress::Base' => '2.033',
- 'IO::Compress::Base::Common'=> '2.033',
- 'IO::Compress::Bzip2' => '2.033',
- 'IO::Compress::Deflate' => '2.033',
- 'IO::Compress::Gzip' => '2.033',
- 'IO::Compress::Gzip::Constants'=> '2.033',
- 'IO::Compress::RawDeflate'=> '2.033',
- 'IO::Compress::Zip' => '2.033',
- 'IO::Compress::Zip::Constants'=> '2.033',
- 'IO::Compress::Zlib::Constants'=> '2.033',
- 'IO::Compress::Zlib::Extra'=> '2.033',
- 'IO::Dir' => '1.07',
- 'IO::File' => '1.14',
- 'IO::Handle' => '1.29',
- 'IO::Pipe' => '1.13',
- 'IO::Poll' => '0.07',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.18',
- 'IO::Socket' => '1.32',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
- 'IO::Uncompress::Adapter::Identity'=> '2.033',
- 'IO::Uncompress::Adapter::Inflate'=> '2.033',
- 'IO::Uncompress::AnyInflate'=> '2.033',
- 'IO::Uncompress::AnyUncompress'=> '2.033',
- 'IO::Uncompress::Base' => '2.033',
- 'IO::Uncompress::Bunzip2'=> '2.033',
- 'IO::Uncompress::Gunzip'=> '2.033',
- 'IO::Uncompress::Inflate'=> '2.033',
- 'IO::Uncompress::RawInflate'=> '2.033',
- 'IO::Uncompress::Unzip' => '2.033',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.70',
- 'IPC::Msg' => '2.03',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.09',
- 'IPC::Semaphore' => '2.03',
- 'IPC::SharedMem' => '2.03',
- 'IPC::SysV' => '2.03',
- 'JSON::PP' => '2.27103',
- 'JSON::PP::Boolean' => undef,
- 'List::Util' => '1.23',
- 'List::Util::PP' => '1.23',
- 'List::Util::XS' => '1.23',
- 'Locale::Codes' => '3.15',
- 'Locale::Codes::Country'=> '3.15',
- 'Locale::Codes::Currency'=> '3.15',
- 'Locale::Codes::Language'=> '3.15',
- 'Locale::Codes::Script' => '3.15',
- 'Locale::Constants' => '3.15',
- 'Locale::Country' => '3.15',
- 'Locale::Currency' => '3.15',
- 'Locale::Language' => '3.15',
- 'Locale::Maketext' => '1.19',
- 'Locale::Maketext::Guts'=> '1.17',
- 'Locale::Maketext::GutsLoader'=> '1.17',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '3.15',
- 'Log::Message' => '0.04',
- 'Log::Message::Config' => '0.04',
- 'Log::Message::Handlers'=> '0.04',
- 'Log::Message::Item' => '0.04',
- 'Log::Message::Simple' => '0.08',
- 'MIME::Base64' => '3.13',
- 'MIME::QuotedPrint' => '3.13',
- 'Math::BigFloat' => '1.992',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.992',
- 'Math::BigInt::Calc' => '1.992',
- 'Math::BigInt::CalcEmu' => '1.992',
- 'Math::BigInt::FastCalc'=> '0.24_02',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.26_02',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.02',
- 'Memoize::AnyDBM_File' => '1.02',
- 'Memoize::Expire' => '1.02',
- 'Memoize::ExpireFile' => '1.02',
- 'Memoize::ExpireTest' => '1.02',
- 'Memoize::NDBM_File' => '1.02',
- 'Memoize::SDBM_File' => '1.02',
- 'Memoize::Storable' => '1.02',
- 'Module::Build' => '0.37_05',
- 'Module::Build::Base' => '0.37_05',
- 'Module::Build::Compat' => '0.37_05',
- 'Module::Build::Config' => '0.37_05',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.37_05',
- 'Module::Build::Dumper' => '0.37_05',
- 'Module::Build::ModuleInfo'=> '0.37_05',
- 'Module::Build::Notes' => '0.37_05',
- 'Module::Build::PPMMaker'=> '0.37_05',
- 'Module::Build::Platform::Amiga'=> '0.37_05',
- 'Module::Build::Platform::Default'=> '0.37_05',
- 'Module::Build::Platform::EBCDIC'=> '0.37_05',
- 'Module::Build::Platform::MPEiX'=> '0.37_05',
- 'Module::Build::Platform::MacOS'=> '0.37_05',
- 'Module::Build::Platform::RiscOS'=> '0.37_05',
- 'Module::Build::Platform::Unix'=> '0.37_05',
- 'Module::Build::Platform::VMS'=> '0.37_05',
- 'Module::Build::Platform::VOS'=> '0.37_05',
- 'Module::Build::Platform::Windows'=> '0.37_05',
- 'Module::Build::Platform::aix'=> '0.37_05',
- 'Module::Build::Platform::cygwin'=> '0.37_05',
- 'Module::Build::Platform::darwin'=> '0.37_05',
- 'Module::Build::Platform::os2'=> '0.37_05',
- 'Module::Build::PodParser'=> '0.37_05',
- 'Module::Build::Version'=> '0.87',
- 'Module::Build::YAML' => '1.41',
- 'Module::CoreList' => '2.45',
- 'Module::Load' => '0.18',
- 'Module::Load::Conditional'=> '0.44',
- 'Module::Loaded' => '0.06',
- 'Module::Metadata' => '1.000004',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.11',
- 'NEXT' => '0.65',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.38',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.10',
- 'Object::Accessor' => '0.38',
- 'Opcode' => '1.18',
- 'POSIX' => '1.24',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.28',
- 'Parse::CPAN::Meta' => '1.4401',
- 'Perl::OSType' => '1.002',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.14',
- 'PerlIO::scalar' => '0.11',
- 'PerlIO::via' => '0.11',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.04',
- 'Pod::Html' => '1.1',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.59',
- 'Pod::Man' => '2.25',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_03',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.15',
- 'Pod::Simple::BlackBox' => '3.15',
- 'Pod::Simple::Checker' => '3.15',
- 'Pod::Simple::Debug' => '3.15',
- 'Pod::Simple::DumpAsText'=> '3.15',
- 'Pod::Simple::DumpAsXML'=> '3.15',
- 'Pod::Simple::HTML' => '3.15',
- 'Pod::Simple::HTMLBatch'=> '3.15',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.15',
- 'Pod::Simple::Methody' => '3.15',
- 'Pod::Simple::Progress' => '3.15',
- 'Pod::Simple::PullParser'=> '3.15',
- 'Pod::Simple::PullParserEndToken'=> '3.15',
- 'Pod::Simple::PullParserStartToken'=> '3.15',
- 'Pod::Simple::PullParserTextToken'=> '3.15',
- 'Pod::Simple::PullParserToken'=> '3.15',
- 'Pod::Simple::RTF' => '3.15',
- 'Pod::Simple::Search' => '3.15',
- 'Pod::Simple::SimpleTree'=> '3.15',
- 'Pod::Simple::Text' => '3.15',
- 'Pod::Simple::TextContent'=> '3.15',
- 'Pod::Simple::TiedOutFH'=> '3.15',
- 'Pod::Simple::Transcode'=> '3.15',
- 'Pod::Simple::TranscodeDumb'=> '3.15',
- 'Pod::Simple::TranscodeSmart'=> '3.15',
- 'Pod::Simple::XHTML' => '3.15',
- 'Pod::Simple::XMLOutStream'=> '3.15',
- 'Pod::Text' => '3.15',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.09',
- 'Safe' => '2.29',
- 'Scalar::Util' => '1.23',
- 'Scalar::Util::PP' => '1.23',
- 'Search::Dict' => '1.03',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.18',
- 'Shell' => '0.72_01',
- 'Socket' => '1.94',
- 'Storable' => '2.26',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.15',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.22',
- 'TAP::Formatter::Base' => '3.22',
- 'TAP::Formatter::Color' => '3.22',
- 'TAP::Formatter::Console'=> '3.22',
- 'TAP::Formatter::Console::ParallelSession'=> '3.22',
- 'TAP::Formatter::Console::Session'=> '3.22',
- 'TAP::Formatter::File' => '3.22',
- 'TAP::Formatter::File::Session'=> '3.22',
- 'TAP::Formatter::Session'=> '3.22',
- 'TAP::Harness' => '3.22',
- 'TAP::Object' => '3.22',
- 'TAP::Parser' => '3.22',
- 'TAP::Parser::Aggregator'=> '3.22',
- 'TAP::Parser::Grammar' => '3.22',
- 'TAP::Parser::Iterator' => '3.22',
- 'TAP::Parser::Iterator::Array'=> '3.22',
- 'TAP::Parser::Iterator::Process'=> '3.22',
- 'TAP::Parser::Iterator::Stream'=> '3.22',
- 'TAP::Parser::IteratorFactory'=> '3.22',
- 'TAP::Parser::Multiplexer'=> '3.22',
- 'TAP::Parser::Result' => '3.22',
- 'TAP::Parser::Result::Bailout'=> '3.22',
- 'TAP::Parser::Result::Comment'=> '3.22',
- 'TAP::Parser::Result::Plan'=> '3.22',
- 'TAP::Parser::Result::Pragma'=> '3.22',
- 'TAP::Parser::Result::Test'=> '3.22',
- 'TAP::Parser::Result::Unknown'=> '3.22',
- 'TAP::Parser::Result::Version'=> '3.22',
- 'TAP::Parser::Result::YAML'=> '3.22',
- 'TAP::Parser::ResultFactory'=> '3.22',
- 'TAP::Parser::Scheduler'=> '3.22',
- 'TAP::Parser::Scheduler::Job'=> '3.22',
- 'TAP::Parser::Scheduler::Spinner'=> '3.22',
- 'TAP::Parser::Source' => '3.22',
- 'TAP::Parser::SourceHandler'=> '3.22',
- 'TAP::Parser::SourceHandler::Executable'=> '3.22',
- 'TAP::Parser::SourceHandler::File'=> '3.22',
- 'TAP::Parser::SourceHandler::Handle'=> '3.22',
- 'TAP::Parser::SourceHandler::Perl'=> '3.22',
- 'TAP::Parser::SourceHandler::RawTAP'=> '3.22',
- 'TAP::Parser::Utils' => '3.22',
- 'TAP::Parser::YAMLish::Reader'=> '3.22',
- 'TAP::Parser::YAMLish::Writer'=> '3.22',
- 'Term::ANSIColor' => '3.00',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.07',
- 'Term::UI' => '0.26',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.97_01',
- 'Test::Builder::Module' => '0.97_01',
- 'Test::Builder::Tester' => '1.21_01',
- 'Test::Builder::Tester::Color'=> '1.21_01',
- 'Test::Harness' => '3.22',
- 'Test::More' => '0.97_01',
- 'Test::Simple' => '0.97_01',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.12',
- 'Thread::Semaphore' => '2.12',
- 'Tie::Array' => '1.04',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.04',
- 'Tie::Hash::NamedCapture'=> '0.07',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.38',
- 'Tie::Scalar' => '1.02',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9721_01',
- 'Time::Local' => '1.2000',
- 'Time::Piece' => '1.20_01',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.08',
- 'Unicode' => '6.0.0',
- 'Unicode::Collate' => '0.72',
- 'Unicode::Collate::CJK::Big5'=> '0.65',
- 'Unicode::Collate::CJK::GB2312'=> '0.65',
- 'Unicode::Collate::CJK::JISX0208'=> '0.64',
- 'Unicode::Collate::CJK::Korean'=> '0.66',
- 'Unicode::Collate::CJK::Pinyin'=> '0.65',
- 'Unicode::Collate::CJK::Stroke'=> '0.65',
- 'Unicode::Collate::Locale'=> '0.71',
- 'Unicode::Normalize' => '1.10',
- 'Unicode::UCD' => '0.31',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.05',
- 'VMS::Filespec' => '1.12',
- 'VMS::Stdio' => '2.4',
- 'Version::Requirements' => '0.101020',
- 'Win32' => '0.44',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.27',
- 'XS::Typemap' => '0.04',
- 'XSLoader' => '0.13',
- 'XSLoader::XSLoader' => '0.13',
- 'attributes' => '0.13',
- 'autodie' => '2.1001',
- 'autodie::exception' => '2.1001',
- 'autodie::exception::system'=> '2.1001',
- 'autodie::hints' => '2.1001',
- 'autouse' => '1.06',
- 'base' => '2.15',
- 'bigint' => '0.26',
- 'bignum' => '0.26',
- 'bigrat' => '0.27',
- 'blib' => '1.06',
- 'bytes' => '1.04',
- 'charnames' => '1.18',
- 'constant' => '1.20',
- 'deprecate' => '0.02',
- 'diagnostics' => '1.22',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.19',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.0601',
- 'inc::latest' => '0.37_05',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.63',
- 'locale' => '1.00',
- 'mro' => '1.06',
- 'open' => '1.08',
- 'ops' => '1.02',
- 'overload' => '1.13',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.224',
- 're' => '0.17',
- 'sigtrap' => '1.05',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.83',
- 'threads::shared' => '1.36',
- 'utf8' => '1.09',
- 'vars' => '1.02',
- 'version' => '0.88',
- 'vmsish' => '1.02',
- 'warnings' => '1.12',
- 'warnings::register' => '1.02',
+ 5.01301 => {
+ delta_from => 5.013009,
+ changed => {
+ 'Attribute::Handlers' => '0.89',
+ 'B' => '1.28',
+ 'B::Showlex' => '1.03',
+ 'CGI' => '3.52',
+ 'CPAN' => '1.94_65',
+ 'CPAN::Distribution' => '1.9601',
+ 'CPAN::FTP::netrc' => '1.01',
+ 'CPAN::FirstTime' => '5.5303',
+ 'CPAN::HandleConfig' => '5.5003',
+ 'CPAN::Meta' => '2.110440',
+ 'CPAN::Meta::Converter' => '2.110440',
+ 'CPAN::Meta::Feature' => '2.110440',
+ 'CPAN::Meta::History' => '2.110440',
+ 'CPAN::Meta::Prereqs' => '2.110440',
+ 'CPAN::Meta::Spec' => '2.110440',
+ 'CPAN::Meta::Validator' => '2.110440',
+ 'CPAN::Shell' => '5.5002',
+ 'CPANPLUS' => '0.9101',
+ 'CPANPLUS::Internals' => '0.9101',
+ 'CPANPLUS::Shell::Default'=> '0.9101',
+ 'Carp' => '1.20',
+ 'Carp::Heavy' => '1.20',
+ 'Cwd' => '3.37',
+ 'Devel::DProf' => '20110217.00',
+ 'DynaLoader' => '1.13',
+ 'ExtUtils::CBuilder' => '0.280202',
+ 'ExtUtils::CBuilder::Base'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280202',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280202',
+ 'File::Copy' => '2.22',
+ 'Filter::Simple' => '0.86',
+ 'HTTP::Tiny' => '0.010',
+ 'I18N::LangTags::Detect'=> '1.05',
+ 'IO::Select' => '1.18',
+ 'IPC::Cmd' => '0.70',
+ 'Locale::Maketext' => '1.19',
+ 'Math::BigFloat' => '1.992',
+ 'Math::BigInt' => '1.992',
+ 'Math::BigInt::Calc' => '1.992',
+ 'Math::BigInt::CalcEmu' => '1.992',
+ 'Module::Build' => '0.37_05',
+ 'Module::Build::Base' => '0.37_05',
+ 'Module::Build::Compat' => '0.37_05',
+ 'Module::Build::Config' => '0.37_05',
+ 'Module::Build::Cookbook'=> '0.37_05',
+ 'Module::Build::Dumper' => '0.37_05',
+ 'Module::Build::ModuleInfo'=> '0.37_05',
+ 'Module::Build::Notes' => '0.37_05',
+ 'Module::Build::PPMMaker'=> '0.37_05',
+ 'Module::Build::Platform::Amiga'=> '0.37_05',
+ 'Module::Build::Platform::Default'=> '0.37_05',
+ 'Module::Build::Platform::EBCDIC'=> '0.37_05',
+ 'Module::Build::Platform::MPEiX'=> '0.37_05',
+ 'Module::Build::Platform::MacOS'=> '0.37_05',
+ 'Module::Build::Platform::RiscOS'=> '0.37_05',
+ 'Module::Build::Platform::Unix'=> '0.37_05',
+ 'Module::Build::Platform::VMS'=> '0.37_05',
+ 'Module::Build::Platform::VOS'=> '0.37_05',
+ 'Module::Build::Platform::Windows'=> '0.37_05',
+ 'Module::Build::Platform::aix'=> '0.37_05',
+ 'Module::Build::Platform::cygwin'=> '0.37_05',
+ 'Module::Build::Platform::darwin'=> '0.37_05',
+ 'Module::Build::Platform::os2'=> '0.37_05',
+ 'Module::Build::PodParser'=> '0.37_05',
+ 'Module::Build::Version'=> '0.87',
+ 'Module::Build::YAML' => '1.41',
+ 'Module::CoreList' => '2.45',
+ 'Module::Load::Conditional'=> '0.44',
+ 'Module::Metadata' => '1.000004',
+ 'Parse::CPAN::Meta' => '1.4401',
+ 'Pod::Html' => '1.1',
+ 'Socket' => '1.94',
+ 'Term::UI' => '0.26',
+ 'Unicode::Collate' => '0.72',
+ 'Unicode::Collate::Locale'=> '0.71',
+ 'Unicode::UCD' => '0.31',
+ 'VMS::DCLsym' => '1.05',
+ 'Version::Requirements' => '0.101020',
+ 'bigrat' => '0.27',
+ 'deprecate' => '0.02',
+ 'diagnostics' => '1.22',
+ 'inc::latest' => '0.37_05',
+ 'overload' => '1.13',
+ 're' => '0.17',
+ 'utf8' => '1.09',
+ 'warnings' => '1.12',
+ },
+ removed => {
+ }
},
5.013011 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.23',
- 'App::Prove::State' => '3.23',
- 'App::Prove::State::Result'=> '3.23',
- 'App::Prove::State::Result::Test'=> '3.23',
- 'Archive::Extract' => '0.48',
- 'Archive::Tar' => '1.76',
- 'Archive::Tar::Constant'=> '1.76',
- 'Archive::Tar::File' => '1.76',
- 'Attribute::Handlers' => '0.89',
- 'AutoLoader' => '5.71',
- 'AutoSplit' => '1.06',
- 'B' => '1.29',
- 'B::Concise' => '0.83',
- 'B::Debug' => '1.16',
- 'B::Deparse' => '1.03',
- 'B::Lint' => '1.13',
- 'B::Lint::Debug' => '1.12',
- 'B::Showlex' => '1.03',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.12',
- 'CGI' => '3.52',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.51',
- 'CGI::Cookie' => '1.30',
- 'CGI::Fast' => '1.08',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.05',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.51',
- 'CPAN' => '1.9600',
- 'CPAN::Author' => '5.5001',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5001',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9602',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.001',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5005',
- 'CPAN::FTP::netrc' => '1.01',
- 'CPAN::FirstTime' => '5.5303',
- 'CPAN::HTTP::Client' => '1.9600',
- 'CPAN::HTTP::Credentials'=> '1.9600',
- 'CPAN::HandleConfig' => '5.5003',
- 'CPAN::Index' => '1.9600',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.9600',
- 'CPAN::Meta' => '2.110440',
- 'CPAN::Meta::Converter' => '2.110440',
- 'CPAN::Meta::Feature' => '2.110440',
- 'CPAN::Meta::History' => '2.110440',
- 'CPAN::Meta::Prereqs' => '2.110440',
- 'CPAN::Meta::Spec' => '2.110440',
- 'CPAN::Meta::Validator' => '2.110440',
- 'CPAN::Meta::YAML' => '0.003',
- 'CPAN::Mirrors' => '1.9600',
- 'CPAN::Module' => '5.5001',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5001',
- 'CPAN::Shell' => '5.5002',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5001',
- 'CPANPLUS' => '0.9103',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.54',
- 'CPANPLUS::Dist::Build::Constants'=> '0.54',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.9103',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.9103',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.20',
- 'Carp::Heavy' => '1.20',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.033',
- 'Compress::Raw::Zlib' => '2.033',
- 'Compress::Zlib' => '2.033',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.36',
- 'DB' => '1.03',
- 'DBM_Filter' => '0.04',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.821',
- 'Data::Dumper' => '2.130_02',
- 'Devel::DProf' => '20110228.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.07',
- 'Devel::SelfStubber' => '1.05',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.51',
- 'Digest::SHA' => '5.61',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.04',
- 'Dumpvalue' => '1.16',
- 'DynaLoader' => '1.13',
- 'Encode' => '2.42',
- 'Encode::Alias' => '2.13',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.04',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.13',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.05',
- 'English' => '1.04',
- 'Env' => '1.02',
- 'Errno' => '1.13',
- 'Exporter' => '5.64_03',
- 'Exporter::Heavy' => '5.64_03',
- 'ExtUtils::CBuilder' => '0.280202',
- 'ExtUtils::CBuilder::Base'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280202',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.280202',
- 'ExtUtils::Command' => '1.17',
- 'ExtUtils::Command::MM' => '6.57_05',
- 'ExtUtils::Constant' => '0.23',
- 'ExtUtils::Constant::Base'=> '0.05',
- 'ExtUtils::Constant::ProxySubs'=> '0.08',
- 'ExtUtils::Constant::Utils'=> '0.03',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.30',
- 'ExtUtils::Install' => '1.56',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.57_05',
- 'ExtUtils::Liblist::Kid'=> '6.5705',
- 'ExtUtils::MM' => '6.57_05',
- 'ExtUtils::MM_AIX' => '6.57_05',
- 'ExtUtils::MM_Any' => '6.57_05',
- 'ExtUtils::MM_BeOS' => '6.57_05',
- 'ExtUtils::MM_Cygwin' => '6.57_05',
- 'ExtUtils::MM_DOS' => '6.5705',
- 'ExtUtils::MM_Darwin' => '6.57_05',
- 'ExtUtils::MM_MacOS' => '6.5705',
- 'ExtUtils::MM_NW5' => '6.57_05',
- 'ExtUtils::MM_OS2' => '6.57_05',
- 'ExtUtils::MM_QNX' => '6.57_05',
- 'ExtUtils::MM_UWIN' => '6.5705',
- 'ExtUtils::MM_Unix' => '6.57_05',
- 'ExtUtils::MM_VMS' => '6.57_05',
- 'ExtUtils::MM_VOS' => '6.57_05',
- 'ExtUtils::MM_Win32' => '6.57_05',
- 'ExtUtils::MM_Win95' => '6.57_05',
- 'ExtUtils::MY' => '6.5705',
- 'ExtUtils::MakeMaker' => '6.57_05',
- 'ExtUtils::MakeMaker::Config'=> '6.57_05',
- 'ExtUtils::MakeMaker::YAML'=> '1.44',
- 'ExtUtils::Manifest' => '1.58',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.57_05',
- 'ExtUtils::Mksymlists' => '6.57_05',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.2209',
- 'ExtUtils::XSSymSet' => '1.2',
- 'ExtUtils::testlib' => '6.5705',
- 'Fatal' => '2.1001',
- 'Fcntl' => '1.11',
- 'File::Basename' => '2.81',
- 'File::CheckTree' => '4.41',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.21',
- 'File::DosGlob' => '1.04',
- 'File::Fetch' => '0.32',
- 'File::Find' => '1.19',
- 'File::Glob' => '1.12',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.33',
- 'File::Spec::Cygwin' => '3.33',
- 'File::Spec::Epoc' => '3.33',
- 'File::Spec::Functions' => '3.33',
- 'File::Spec::Mac' => '3.34',
- 'File::Spec::OS2' => '3.33',
- 'File::Spec::Unix' => '3.33',
- 'File::Spec::VMS' => '3.34',
- 'File::Spec::Win32' => '3.33',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.05',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'Filter::Simple' => '0.86',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.14',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'HTTP::Tiny' => '0.011',
- 'Hash::Util' => '0.11',
- 'Hash::Util::FieldHash' => '1.09',
- 'I18N::Collate' => '1.02',
- 'I18N::LangTags' => '0.35_01',
- 'I18N::LangTags::Detect'=> '1.05',
- 'I18N::LangTags::List' => '0.35_01',
- 'I18N::Langinfo' => '0.08',
- 'IO' => '1.25_04',
- 'IO::Compress::Adapter::Bzip2'=> '2.033',
- 'IO::Compress::Adapter::Deflate'=> '2.033',
- 'IO::Compress::Adapter::Identity'=> '2.033',
- 'IO::Compress::Base' => '2.033',
- 'IO::Compress::Base::Common'=> '2.033',
- 'IO::Compress::Bzip2' => '2.033',
- 'IO::Compress::Deflate' => '2.033',
- 'IO::Compress::Gzip' => '2.033',
- 'IO::Compress::Gzip::Constants'=> '2.033',
- 'IO::Compress::RawDeflate'=> '2.033',
- 'IO::Compress::Zip' => '2.033',
- 'IO::Compress::Zip::Constants'=> '2.033',
- 'IO::Compress::Zlib::Constants'=> '2.033',
- 'IO::Compress::Zlib::Extra'=> '2.033',
- 'IO::Dir' => '1.08',
- 'IO::File' => '1.15',
- 'IO::Handle' => '1.30',
- 'IO::Pipe' => '1.14',
- 'IO::Poll' => '0.08',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.20',
- 'IO::Socket' => '1.32',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
- 'IO::Uncompress::Adapter::Identity'=> '2.033',
- 'IO::Uncompress::Adapter::Inflate'=> '2.033',
- 'IO::Uncompress::AnyInflate'=> '2.033',
- 'IO::Uncompress::AnyUncompress'=> '2.033',
- 'IO::Uncompress::Base' => '2.033',
- 'IO::Uncompress::Bunzip2'=> '2.033',
- 'IO::Uncompress::Gunzip'=> '2.033',
- 'IO::Uncompress::Inflate'=> '2.033',
- 'IO::Uncompress::RawInflate'=> '2.033',
- 'IO::Uncompress::Unzip' => '2.033',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.70',
- 'IPC::Msg' => '2.03',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.09',
- 'IPC::Semaphore' => '2.03',
- 'IPC::SharedMem' => '2.03',
- 'IPC::SysV' => '2.03',
- 'JSON::PP' => '2.27105',
- 'JSON::PP::Boolean' => undef,
- 'List::Util' => '1.23',
- 'List::Util::PP' => '1.23',
- 'List::Util::XS' => '1.23',
- 'Locale::Codes' => '3.16',
- 'Locale::Codes::Country'=> '3.16',
- 'Locale::Codes::Currency'=> '3.16',
- 'Locale::Codes::Language'=> '3.16',
- 'Locale::Codes::Script' => '3.16',
- 'Locale::Constants' => '3.16',
- 'Locale::Country' => '3.16',
- 'Locale::Currency' => '3.16',
- 'Locale::Language' => '3.16',
- 'Locale::Maketext' => '1.19',
- 'Locale::Maketext::Guts'=> '1.17',
- 'Locale::Maketext::GutsLoader'=> '1.17',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '3.16',
- 'Log::Message' => '0.04',
- 'Log::Message::Config' => '0.04',
- 'Log::Message::Handlers'=> '0.04',
- 'Log::Message::Item' => '0.04',
- 'Log::Message::Simple' => '0.08',
- 'MIME::Base64' => '3.13',
- 'MIME::QuotedPrint' => '3.13',
- 'Math::BigFloat' => '1.993',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.994',
- 'Math::BigInt::Calc' => '1.993',
- 'Math::BigInt::CalcEmu' => '1.993',
- 'Math::BigInt::FastCalc'=> '0.28',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.26_02',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.02',
- 'Memoize::AnyDBM_File' => '1.02',
- 'Memoize::Expire' => '1.02',
- 'Memoize::ExpireFile' => '1.02',
- 'Memoize::ExpireTest' => '1.02',
- 'Memoize::NDBM_File' => '1.02',
- 'Memoize::SDBM_File' => '1.02',
- 'Memoize::Storable' => '1.02',
- 'Module::Build' => '0.3800',
- 'Module::Build::Base' => '0.3800',
- 'Module::Build::Compat' => '0.3800',
- 'Module::Build::Config' => '0.3800',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3800',
- 'Module::Build::Dumper' => '0.3800',
- 'Module::Build::ModuleInfo'=> '0.3800',
- 'Module::Build::Notes' => '0.3800',
- 'Module::Build::PPMMaker'=> '0.3800',
- 'Module::Build::Platform::Amiga'=> '0.3800',
- 'Module::Build::Platform::Default'=> '0.3800',
- 'Module::Build::Platform::EBCDIC'=> '0.3800',
- 'Module::Build::Platform::MPEiX'=> '0.3800',
- 'Module::Build::Platform::MacOS'=> '0.3800',
- 'Module::Build::Platform::RiscOS'=> '0.3800',
- 'Module::Build::Platform::Unix'=> '0.3800',
- 'Module::Build::Platform::VMS'=> '0.3800',
- 'Module::Build::Platform::VOS'=> '0.3800',
- 'Module::Build::Platform::Windows'=> '0.3800',
- 'Module::Build::Platform::aix'=> '0.3800',
- 'Module::Build::Platform::cygwin'=> '0.3800',
- 'Module::Build::Platform::darwin'=> '0.3800',
- 'Module::Build::Platform::os2'=> '0.3800',
- 'Module::Build::PodParser'=> '0.3800',
- 'Module::Build::Version'=> '0.87',
- 'Module::Build::YAML' => '1.41',
- 'Module::CoreList' => '2.46',
- 'Module::Load' => '0.18',
- 'Module::Load::Conditional'=> '0.44',
- 'Module::Loaded' => '0.06',
- 'Module::Metadata' => '1.000004',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.12',
- 'NEXT' => '0.65',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.38',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.10',
- 'Object::Accessor' => '0.38',
- 'Opcode' => '1.18',
- 'POSIX' => '1.24',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.28',
- 'Parse::CPAN::Meta' => '1.4401',
- 'Perl::OSType' => '1.002',
- 'PerlIO' => '1.06',
- 'PerlIO::encoding' => '0.14',
- 'PerlIO::scalar' => '0.11',
- 'PerlIO::via' => '0.11',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.04',
- 'Pod::Html' => '1.1',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.59',
- 'Pod::Man' => '2.25',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_03',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.16',
- 'Pod::Simple::BlackBox' => '3.16',
- 'Pod::Simple::Checker' => '3.16',
- 'Pod::Simple::Debug' => '3.16',
- 'Pod::Simple::DumpAsText'=> '3.16',
- 'Pod::Simple::DumpAsXML'=> '3.16',
- 'Pod::Simple::HTML' => '3.16',
- 'Pod::Simple::HTMLBatch'=> '3.16',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.16',
- 'Pod::Simple::Methody' => '3.16',
- 'Pod::Simple::Progress' => '3.16',
- 'Pod::Simple::PullParser'=> '3.16',
- 'Pod::Simple::PullParserEndToken'=> '3.16',
- 'Pod::Simple::PullParserStartToken'=> '3.16',
- 'Pod::Simple::PullParserTextToken'=> '3.16',
- 'Pod::Simple::PullParserToken'=> '3.16',
- 'Pod::Simple::RTF' => '3.16',
- 'Pod::Simple::Search' => '3.16',
- 'Pod::Simple::SimpleTree'=> '3.16',
- 'Pod::Simple::Text' => '3.16',
- 'Pod::Simple::TextContent'=> '3.16',
- 'Pod::Simple::TiedOutFH'=> '3.16',
- 'Pod::Simple::Transcode'=> '3.16',
- 'Pod::Simple::TranscodeDumb'=> '3.16',
- 'Pod::Simple::TranscodeSmart'=> '3.16',
- 'Pod::Simple::XHTML' => '3.16',
- 'Pod::Simple::XMLOutStream'=> '3.16',
- 'Pod::Text' => '3.15',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.09',
- 'Safe' => '2.29',
- 'Scalar::Util' => '1.23',
- 'Scalar::Util::PP' => '1.23',
- 'Search::Dict' => '1.03',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.18',
- 'Shell' => '0.72_01',
- 'Socket' => '1.94',
- 'Storable' => '2.27',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.16',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.23',
- 'TAP::Formatter::Base' => '3.23',
- 'TAP::Formatter::Color' => '3.23',
- 'TAP::Formatter::Console'=> '3.23',
- 'TAP::Formatter::Console::ParallelSession'=> '3.23',
- 'TAP::Formatter::Console::Session'=> '3.23',
- 'TAP::Formatter::File' => '3.23',
- 'TAP::Formatter::File::Session'=> '3.23',
- 'TAP::Formatter::Session'=> '3.23',
- 'TAP::Harness' => '3.23',
- 'TAP::Object' => '3.23',
- 'TAP::Parser' => '3.23',
- 'TAP::Parser::Aggregator'=> '3.23',
- 'TAP::Parser::Grammar' => '3.23',
- 'TAP::Parser::Iterator' => '3.23',
- 'TAP::Parser::Iterator::Array'=> '3.23',
- 'TAP::Parser::Iterator::Process'=> '3.23',
- 'TAP::Parser::Iterator::Stream'=> '3.23',
- 'TAP::Parser::IteratorFactory'=> '3.23',
- 'TAP::Parser::Multiplexer'=> '3.23',
- 'TAP::Parser::Result' => '3.23',
- 'TAP::Parser::Result::Bailout'=> '3.23',
- 'TAP::Parser::Result::Comment'=> '3.23',
- 'TAP::Parser::Result::Plan'=> '3.23',
- 'TAP::Parser::Result::Pragma'=> '3.23',
- 'TAP::Parser::Result::Test'=> '3.23',
- 'TAP::Parser::Result::Unknown'=> '3.23',
- 'TAP::Parser::Result::Version'=> '3.23',
- 'TAP::Parser::Result::YAML'=> '3.23',
- 'TAP::Parser::ResultFactory'=> '3.23',
- 'TAP::Parser::Scheduler'=> '3.23',
- 'TAP::Parser::Scheduler::Job'=> '3.23',
- 'TAP::Parser::Scheduler::Spinner'=> '3.23',
- 'TAP::Parser::Source' => '3.23',
- 'TAP::Parser::SourceHandler'=> '3.23',
- 'TAP::Parser::SourceHandler::Executable'=> '3.23',
- 'TAP::Parser::SourceHandler::File'=> '3.23',
- 'TAP::Parser::SourceHandler::Handle'=> '3.23',
- 'TAP::Parser::SourceHandler::Perl'=> '3.23',
- 'TAP::Parser::SourceHandler::RawTAP'=> '3.23',
- 'TAP::Parser::Utils' => '3.23',
- 'TAP::Parser::YAMLish::Reader'=> '3.23',
- 'TAP::Parser::YAMLish::Writer'=> '3.23',
- 'Term::ANSIColor' => '3.00',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.07',
- 'Term::UI' => '0.26',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.98',
- 'Test::Builder::Module' => '0.98',
- 'Test::Builder::Tester' => '1.22',
- 'Test::Builder::Tester::Color'=> '1.22',
- 'Test::Harness' => '3.23',
- 'Test::More' => '0.98',
- 'Test::Simple' => '0.98',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.12',
- 'Thread::Semaphore' => '2.12',
- 'Tie::Array' => '1.04',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.04',
- 'Tie::Hash::NamedCapture'=> '0.08',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.39',
- 'Tie::Scalar' => '1.02',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9721_01',
- 'Time::Local' => '1.2000',
- 'Time::Piece' => '1.20_01',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.08',
- 'Unicode' => '6.0.0',
- 'Unicode::Collate' => '0.73',
- 'Unicode::Collate::CJK::Big5'=> '0.65',
- 'Unicode::Collate::CJK::GB2312'=> '0.65',
- 'Unicode::Collate::CJK::JISX0208'=> '0.64',
- 'Unicode::Collate::CJK::Korean'=> '0.66',
- 'Unicode::Collate::CJK::Pinyin'=> '0.65',
- 'Unicode::Collate::CJK::Stroke'=> '0.65',
- 'Unicode::Collate::Locale'=> '0.73',
- 'Unicode::Normalize' => '1.10',
- 'Unicode::UCD' => '0.32',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.05',
- 'VMS::Filespec' => '1.12',
- 'VMS::Stdio' => '2.4',
- 'Version::Requirements' => '0.101020',
- 'Win32' => '0.44',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.27',
- 'XS::Typemap' => '0.05',
- 'XSLoader' => '0.13',
- 'XSLoader::XSLoader' => '0.13',
- 'attributes' => '0.14',
- 'autodie' => '2.1001',
- 'autodie::exception' => '2.1001',
- 'autodie::exception::system'=> '2.1001',
- 'autodie::hints' => '2.1001',
- 'autouse' => '1.06',
- 'base' => '2.16',
- 'bigint' => '0.26',
- 'bignum' => '0.26',
- 'bigrat' => '0.27',
- 'blib' => '1.06',
- 'bytes' => '1.04',
- 'charnames' => '1.18',
- 'constant' => '1.20',
- 'deprecate' => '0.02',
- 'diagnostics' => '1.22',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.19',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.0601',
- 'inc::latest' => '0.3800',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.63',
- 'locale' => '1.00',
- 'mro' => '1.07',
- 'open' => '1.08',
- 'ops' => '1.02',
- 'overload' => '1.13',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.225',
- 're' => '0.17',
- 'sigtrap' => '1.05',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.83',
- 'threads::shared' => '1.36',
- 'utf8' => '1.09',
- 'vars' => '1.02',
- 'version' => '0.88',
- 'vmsish' => '1.02',
- 'warnings' => '1.12',
- 'warnings::register' => '1.02',
+ delta_from => 5.01301,
+ changed => {
+ 'App::Prove' => '3.23',
+ 'App::Prove::State' => '3.23',
+ 'App::Prove::State::Result'=> '3.23',
+ 'App::Prove::State::Result::Test'=> '3.23',
+ 'B' => '1.29',
+ 'CPAN' => '1.9600',
+ 'CPAN::Author' => '5.5001',
+ 'CPAN::CacheMgr' => '5.5001',
+ 'CPAN::Distribution' => '1.9602',
+ 'CPAN::Exception::blocked_urllist'=> '1.001',
+ 'CPAN::HTTP::Client' => '1.9600',
+ 'CPAN::HTTP::Credentials'=> '1.9600',
+ 'CPAN::Index' => '1.9600',
+ 'CPAN::LWP::UserAgent' => '1.9600',
+ 'CPAN::Mirrors' => '1.9600',
+ 'CPAN::Module' => '5.5001',
+ 'CPANPLUS' => '0.9103',
+ 'CPANPLUS::Dist::Build' => '0.54',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.54',
+ 'CPANPLUS::Internals' => '0.9103',
+ 'CPANPLUS::Shell::Default'=> '0.9103',
+ 'Cwd' => '3.36',
+ 'Devel::DProf' => '20110228.00',
+ 'Digest::SHA' => '5.61',
+ 'ExtUtils::Command' => '1.17',
+ 'File::Basename' => '2.81',
+ 'File::Copy' => '2.21',
+ 'File::Glob' => '1.12',
+ 'GDBM_File' => '1.14',
+ 'HTTP::Tiny' => '0.011',
+ 'Hash::Util' => '0.11',
+ 'Hash::Util::FieldHash' => '1.09',
+ 'I18N::Langinfo' => '0.08',
+ 'IO' => '1.25_04',
+ 'IO::Dir' => '1.08',
+ 'IO::File' => '1.15',
+ 'IO::Handle' => '1.30',
+ 'IO::Pipe' => '1.14',
+ 'IO::Poll' => '0.08',
+ 'IO::Select' => '1.20',
+ 'JSON::PP' => '2.27105',
+ 'Locale::Codes' => '3.16',
+ 'Locale::Codes::Country'=> '3.16',
+ 'Locale::Codes::Currency'=> '3.16',
+ 'Locale::Codes::Language'=> '3.16',
+ 'Locale::Codes::Script' => '3.16',
+ 'Locale::Constants' => '3.16',
+ 'Locale::Country' => '3.16',
+ 'Locale::Currency' => '3.16',
+ 'Locale::Language' => '3.16',
+ 'Locale::Script' => '3.16',
+ 'Math::BigFloat' => '1.993',
+ 'Math::BigInt' => '1.994',
+ 'Math::BigInt::Calc' => '1.993',
+ 'Math::BigInt::CalcEmu' => '1.993',
+ 'Math::BigInt::FastCalc'=> '0.28',
+ 'Module::Build' => '0.3800',
+ 'Module::Build::Base' => '0.3800',
+ 'Module::Build::Compat' => '0.3800',
+ 'Module::Build::Config' => '0.3800',
+ 'Module::Build::Cookbook'=> '0.3800',
+ 'Module::Build::Dumper' => '0.3800',
+ 'Module::Build::ModuleInfo'=> '0.3800',
+ 'Module::Build::Notes' => '0.3800',
+ 'Module::Build::PPMMaker'=> '0.3800',
+ 'Module::Build::Platform::Amiga'=> '0.3800',
+ 'Module::Build::Platform::Default'=> '0.3800',
+ 'Module::Build::Platform::EBCDIC'=> '0.3800',
+ 'Module::Build::Platform::MPEiX'=> '0.3800',
+ 'Module::Build::Platform::MacOS'=> '0.3800',
+ 'Module::Build::Platform::RiscOS'=> '0.3800',
+ 'Module::Build::Platform::Unix'=> '0.3800',
+ 'Module::Build::Platform::VMS'=> '0.3800',
+ 'Module::Build::Platform::VOS'=> '0.3800',
+ 'Module::Build::Platform::Windows'=> '0.3800',
+ 'Module::Build::Platform::aix'=> '0.3800',
+ 'Module::Build::Platform::cygwin'=> '0.3800',
+ 'Module::Build::Platform::darwin'=> '0.3800',
+ 'Module::Build::Platform::os2'=> '0.3800',
+ 'Module::Build::PodParser'=> '0.3800',
+ 'Module::CoreList' => '2.46',
+ 'NDBM_File' => '1.12',
+ 'Pod::Simple' => '3.16',
+ 'Pod::Simple::BlackBox' => '3.16',
+ 'Pod::Simple::Checker' => '3.16',
+ 'Pod::Simple::Debug' => '3.16',
+ 'Pod::Simple::DumpAsText'=> '3.16',
+ 'Pod::Simple::DumpAsXML'=> '3.16',
+ 'Pod::Simple::HTML' => '3.16',
+ 'Pod::Simple::HTMLBatch'=> '3.16',
+ 'Pod::Simple::LinkSection'=> '3.16',
+ 'Pod::Simple::Methody' => '3.16',
+ 'Pod::Simple::Progress' => '3.16',
+ 'Pod::Simple::PullParser'=> '3.16',
+ 'Pod::Simple::PullParserEndToken'=> '3.16',
+ 'Pod::Simple::PullParserStartToken'=> '3.16',
+ 'Pod::Simple::PullParserTextToken'=> '3.16',
+ 'Pod::Simple::PullParserToken'=> '3.16',
+ 'Pod::Simple::RTF' => '3.16',
+ 'Pod::Simple::Search' => '3.16',
+ 'Pod::Simple::SimpleTree'=> '3.16',
+ 'Pod::Simple::Text' => '3.16',
+ 'Pod::Simple::TextContent'=> '3.16',
+ 'Pod::Simple::TiedOutFH'=> '3.16',
+ 'Pod::Simple::Transcode'=> '3.16',
+ 'Pod::Simple::TranscodeDumb'=> '3.16',
+ 'Pod::Simple::TranscodeSmart'=> '3.16',
+ 'Pod::Simple::XHTML' => '3.16',
+ 'Pod::Simple::XMLOutStream'=> '3.16',
+ 'Storable' => '2.27',
+ 'Sys::Hostname' => '1.16',
+ 'TAP::Base' => '3.23',
+ 'TAP::Formatter::Base' => '3.23',
+ 'TAP::Formatter::Color' => '3.23',
+ 'TAP::Formatter::Console'=> '3.23',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.23',
+ 'TAP::Formatter::Console::Session'=> '3.23',
+ 'TAP::Formatter::File' => '3.23',
+ 'TAP::Formatter::File::Session'=> '3.23',
+ 'TAP::Formatter::Session'=> '3.23',
+ 'TAP::Harness' => '3.23',
+ 'TAP::Object' => '3.23',
+ 'TAP::Parser' => '3.23',
+ 'TAP::Parser::Aggregator'=> '3.23',
+ 'TAP::Parser::Grammar' => '3.23',
+ 'TAP::Parser::Iterator' => '3.23',
+ 'TAP::Parser::Iterator::Array'=> '3.23',
+ 'TAP::Parser::Iterator::Process'=> '3.23',
+ 'TAP::Parser::Iterator::Stream'=> '3.23',
+ 'TAP::Parser::IteratorFactory'=> '3.23',
+ 'TAP::Parser::Multiplexer'=> '3.23',
+ 'TAP::Parser::Result' => '3.23',
+ 'TAP::Parser::Result::Bailout'=> '3.23',
+ 'TAP::Parser::Result::Comment'=> '3.23',
+ 'TAP::Parser::Result::Plan'=> '3.23',
+ 'TAP::Parser::Result::Pragma'=> '3.23',
+ 'TAP::Parser::Result::Test'=> '3.23',
+ 'TAP::Parser::Result::Unknown'=> '3.23',
+ 'TAP::Parser::Result::Version'=> '3.23',
+ 'TAP::Parser::Result::YAML'=> '3.23',
+ 'TAP::Parser::ResultFactory'=> '3.23',
+ 'TAP::Parser::Scheduler'=> '3.23',
+ 'TAP::Parser::Scheduler::Job'=> '3.23',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.23',
+ 'TAP::Parser::Source' => '3.23',
+ 'TAP::Parser::SourceHandler'=> '3.23',
+ 'TAP::Parser::SourceHandler::Executable'=> '3.23',
+ 'TAP::Parser::SourceHandler::File'=> '3.23',
+ 'TAP::Parser::SourceHandler::Handle'=> '3.23',
+ 'TAP::Parser::SourceHandler::Perl'=> '3.23',
+ 'TAP::Parser::SourceHandler::RawTAP'=> '3.23',
+ 'TAP::Parser::Utils' => '3.23',
+ 'TAP::Parser::YAMLish::Reader'=> '3.23',
+ 'TAP::Parser::YAMLish::Writer'=> '3.23',
+ 'Test::Builder' => '0.98',
+ 'Test::Builder::Module' => '0.98',
+ 'Test::Builder::Tester' => '1.22',
+ 'Test::Builder::Tester::Color'=> '1.22',
+ 'Test::Harness' => '3.23',
+ 'Test::More' => '0.98',
+ 'Test::Simple' => '0.98',
+ 'Tie::Hash::NamedCapture'=> '0.08',
+ 'Tie::RefHash' => '1.39',
+ 'Unicode::Collate' => '0.73',
+ 'Unicode::Collate::Locale'=> '0.73',
+ 'Unicode::UCD' => '0.32',
+ 'XS::Typemap' => '0.05',
+ 'attributes' => '0.14',
+ 'base' => '2.16',
+ 'inc::latest' => '0.3800',
+ 'mro' => '1.07',
+ 'parent' => '0.225',
+ },
+ removed => {
+ }
},
- 5.014000 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.23',
- 'App::Prove::State' => '3.23',
- 'App::Prove::State::Result'=> '3.23',
- 'App::Prove::State::Result::Test'=> '3.23',
- 'Archive::Extract' => '0.48',
- 'Archive::Tar' => '1.76',
- 'Archive::Tar::Constant'=> '1.76',
- 'Archive::Tar::File' => '1.76',
- 'Attribute::Handlers' => '0.89',
- 'AutoLoader' => '5.71',
- 'AutoSplit' => '1.06',
- 'B' => '1.29',
- 'B::Concise' => '0.83',
- 'B::Debug' => '1.16',
- 'B::Deparse' => '1.03',
- 'B::Lint' => '1.13',
- 'B::Lint::Debug' => '1.12',
- 'B::Showlex' => '1.03',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.12',
- 'CGI' => '3.52',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.51',
- 'CGI::Cookie' => '1.30',
- 'CGI::Fast' => '1.08',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.05',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.51',
- 'CPAN' => '1.9600',
- 'CPAN::Author' => '5.5001',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5001',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9602',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.001',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5005',
- 'CPAN::FTP::netrc' => '1.01',
- 'CPAN::FirstTime' => '5.5303',
- 'CPAN::HTTP::Client' => '1.9600',
- 'CPAN::HTTP::Credentials'=> '1.9600',
- 'CPAN::HandleConfig' => '5.5003',
- 'CPAN::Index' => '1.9600',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.9600',
- 'CPAN::Meta' => '2.110440',
- 'CPAN::Meta::Converter' => '2.110440',
- 'CPAN::Meta::Feature' => '2.110440',
- 'CPAN::Meta::History' => '2.110440',
- 'CPAN::Meta::Prereqs' => '2.110440',
- 'CPAN::Meta::Spec' => '2.110440',
- 'CPAN::Meta::Validator' => '2.110440',
- 'CPAN::Meta::YAML' => '0.003',
- 'CPAN::Mirrors' => '1.9600',
- 'CPAN::Module' => '5.5001',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5001',
- 'CPAN::Shell' => '5.5002',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5001',
- 'CPANPLUS' => '0.9103',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.54',
- 'CPANPLUS::Dist::Build::Constants'=> '0.54',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.9103',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.9103',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.20',
- 'Carp::Heavy' => '1.20',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.033',
- 'Compress::Raw::Zlib' => '2.033',
- 'Compress::Zlib' => '2.033',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.36',
- 'DB' => '1.03',
- 'DBM_Filter' => '0.04',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.821',
- 'Data::Dumper' => '2.130_02',
- 'Devel::DProf' => '20110228.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.07',
- 'Devel::SelfStubber' => '1.05',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.51',
- 'Digest::SHA' => '5.61',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.04',
- 'Dumpvalue' => '1.16',
- 'DynaLoader' => '1.13',
- 'Encode' => '2.42',
- 'Encode::Alias' => '2.13',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.04',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.13',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.05',
- 'English' => '1.04',
- 'Env' => '1.02',
- 'Errno' => '1.13',
- 'Exporter' => '5.64_03',
- 'Exporter::Heavy' => '5.64_03',
- 'ExtUtils::CBuilder' => '0.280203',
- 'ExtUtils::CBuilder::Base'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.280203',
- 'ExtUtils::Command' => '1.17',
- 'ExtUtils::Command::MM' => '6.57_05',
- 'ExtUtils::Constant' => '0.23',
- 'ExtUtils::Constant::Base'=> '0.05',
- 'ExtUtils::Constant::ProxySubs'=> '0.08',
- 'ExtUtils::Constant::Utils'=> '0.03',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.30',
- 'ExtUtils::Install' => '1.56',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.57_05',
- 'ExtUtils::Liblist::Kid'=> '6.5705',
- 'ExtUtils::MM' => '6.57_05',
- 'ExtUtils::MM_AIX' => '6.57_05',
- 'ExtUtils::MM_Any' => '6.57_05',
- 'ExtUtils::MM_BeOS' => '6.57_05',
- 'ExtUtils::MM_Cygwin' => '6.57_05',
- 'ExtUtils::MM_DOS' => '6.5705',
- 'ExtUtils::MM_Darwin' => '6.57_05',
- 'ExtUtils::MM_MacOS' => '6.5705',
- 'ExtUtils::MM_NW5' => '6.57_05',
- 'ExtUtils::MM_OS2' => '6.57_05',
- 'ExtUtils::MM_QNX' => '6.57_05',
- 'ExtUtils::MM_UWIN' => '6.5705',
- 'ExtUtils::MM_Unix' => '6.57_05',
- 'ExtUtils::MM_VMS' => '6.57_05',
- 'ExtUtils::MM_VOS' => '6.57_05',
- 'ExtUtils::MM_Win32' => '6.57_05',
- 'ExtUtils::MM_Win95' => '6.57_05',
- 'ExtUtils::MY' => '6.5705',
- 'ExtUtils::MakeMaker' => '6.57_05',
- 'ExtUtils::MakeMaker::Config'=> '6.57_05',
- 'ExtUtils::MakeMaker::YAML'=> '1.44',
- 'ExtUtils::Manifest' => '1.58',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.57_05',
- 'ExtUtils::Mksymlists' => '6.57_05',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.2210',
- 'ExtUtils::XSSymSet' => '1.2',
- 'ExtUtils::testlib' => '6.5705',
- 'Fatal' => '2.1001',
- 'Fcntl' => '1.11',
- 'File::Basename' => '2.82',
- 'File::CheckTree' => '4.41',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.21',
- 'File::DosGlob' => '1.04',
- 'File::Fetch' => '0.32',
- 'File::Find' => '1.19',
- 'File::Glob' => '1.12',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.33',
- 'File::Spec::Cygwin' => '3.33',
- 'File::Spec::Epoc' => '3.33',
- 'File::Spec::Functions' => '3.33',
- 'File::Spec::Mac' => '3.34',
- 'File::Spec::OS2' => '3.33',
- 'File::Spec::Unix' => '3.33',
- 'File::Spec::VMS' => '3.34',
- 'File::Spec::Win32' => '3.33',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.05',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'Filter::Simple' => '0.86',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.14',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'HTTP::Tiny' => '0.012',
- 'Hash::Util' => '0.11',
- 'Hash::Util::FieldHash' => '1.09',
- 'I18N::Collate' => '1.02',
- 'I18N::LangTags' => '0.35_01',
- 'I18N::LangTags::Detect'=> '1.05',
- 'I18N::LangTags::List' => '0.35_01',
- 'I18N::Langinfo' => '0.08',
- 'IO' => '1.25_04',
- 'IO::Compress::Adapter::Bzip2'=> '2.033',
- 'IO::Compress::Adapter::Deflate'=> '2.033',
- 'IO::Compress::Adapter::Identity'=> '2.033',
- 'IO::Compress::Base' => '2.033',
- 'IO::Compress::Base::Common'=> '2.033',
- 'IO::Compress::Bzip2' => '2.033',
- 'IO::Compress::Deflate' => '2.033',
- 'IO::Compress::Gzip' => '2.033',
- 'IO::Compress::Gzip::Constants'=> '2.033',
- 'IO::Compress::RawDeflate'=> '2.033',
- 'IO::Compress::Zip' => '2.033',
- 'IO::Compress::Zip::Constants'=> '2.033',
- 'IO::Compress::Zlib::Constants'=> '2.033',
- 'IO::Compress::Zlib::Extra'=> '2.033',
- 'IO::Dir' => '1.08',
- 'IO::File' => '1.15',
- 'IO::Handle' => '1.31',
- 'IO::Pipe' => '1.14',
- 'IO::Poll' => '0.08',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.20',
- 'IO::Socket' => '1.32',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
- 'IO::Uncompress::Adapter::Identity'=> '2.033',
- 'IO::Uncompress::Adapter::Inflate'=> '2.033',
- 'IO::Uncompress::AnyInflate'=> '2.033',
- 'IO::Uncompress::AnyUncompress'=> '2.033',
- 'IO::Uncompress::Base' => '2.033',
- 'IO::Uncompress::Bunzip2'=> '2.033',
- 'IO::Uncompress::Gunzip'=> '2.033',
- 'IO::Uncompress::Inflate'=> '2.033',
- 'IO::Uncompress::RawInflate'=> '2.033',
- 'IO::Uncompress::Unzip' => '2.033',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.70',
- 'IPC::Msg' => '2.03',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.09',
- 'IPC::Semaphore' => '2.03',
- 'IPC::SharedMem' => '2.03',
- 'IPC::SysV' => '2.03',
- 'JSON::PP' => '2.27105',
- 'JSON::PP::Boolean' => undef,
- 'List::Util' => '1.23',
- 'List::Util::PP' => '1.23',
- 'List::Util::XS' => '1.23',
- 'Locale::Codes' => '3.16',
- 'Locale::Codes::Country'=> '3.16',
- 'Locale::Codes::Currency'=> '3.16',
- 'Locale::Codes::Language'=> '3.16',
- 'Locale::Codes::Script' => '3.16',
- 'Locale::Constants' => '3.16',
- 'Locale::Country' => '3.16',
- 'Locale::Currency' => '3.16',
- 'Locale::Language' => '3.16',
- 'Locale::Maketext' => '1.19',
- 'Locale::Maketext::Guts'=> '1.17',
- 'Locale::Maketext::GutsLoader'=> '1.17',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '3.16',
- 'Log::Message' => '0.04',
- 'Log::Message::Config' => '0.04',
- 'Log::Message::Handlers'=> '0.04',
- 'Log::Message::Item' => '0.04',
- 'Log::Message::Simple' => '0.08',
- 'MIME::Base64' => '3.13',
- 'MIME::QuotedPrint' => '3.13',
- 'Math::BigFloat' => '1.993',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.994',
- 'Math::BigInt::Calc' => '1.993',
- 'Math::BigInt::CalcEmu' => '1.993',
- 'Math::BigInt::FastCalc'=> '0.28',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.26_02',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.02',
- 'Memoize::AnyDBM_File' => '1.02',
- 'Memoize::Expire' => '1.02',
- 'Memoize::ExpireFile' => '1.02',
- 'Memoize::ExpireTest' => '1.02',
- 'Memoize::NDBM_File' => '1.02',
- 'Memoize::SDBM_File' => '1.02',
- 'Memoize::Storable' => '1.02',
- 'Module::Build' => '0.3800',
- 'Module::Build::Base' => '0.3800',
- 'Module::Build::Compat' => '0.3800',
- 'Module::Build::Config' => '0.3800',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3800',
- 'Module::Build::Dumper' => '0.3800',
- 'Module::Build::ModuleInfo'=> '0.3800',
- 'Module::Build::Notes' => '0.3800',
- 'Module::Build::PPMMaker'=> '0.3800',
- 'Module::Build::Platform::Amiga'=> '0.3800',
- 'Module::Build::Platform::Default'=> '0.3800',
- 'Module::Build::Platform::EBCDIC'=> '0.3800',
- 'Module::Build::Platform::MPEiX'=> '0.3800',
- 'Module::Build::Platform::MacOS'=> '0.3800',
- 'Module::Build::Platform::RiscOS'=> '0.3800',
- 'Module::Build::Platform::Unix'=> '0.3800',
- 'Module::Build::Platform::VMS'=> '0.3800',
- 'Module::Build::Platform::VOS'=> '0.3800',
- 'Module::Build::Platform::Windows'=> '0.3800',
- 'Module::Build::Platform::aix'=> '0.3800',
- 'Module::Build::Platform::cygwin'=> '0.3800',
- 'Module::Build::Platform::darwin'=> '0.3800',
- 'Module::Build::Platform::os2'=> '0.3800',
- 'Module::Build::PodParser'=> '0.3800',
- 'Module::Build::Version'=> '0.87',
- 'Module::Build::YAML' => '1.41',
- 'Module::CoreList' => '2.49',
- 'Module::Load' => '0.18',
- 'Module::Load::Conditional'=> '0.44',
- 'Module::Loaded' => '0.06',
- 'Module::Metadata' => '1.000004',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.12',
- 'NEXT' => '0.65',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.38',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.10',
- 'Object::Accessor' => '0.38',
- 'Opcode' => '1.18',
- 'POSIX' => '1.24',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.28',
- 'Parse::CPAN::Meta' => '1.4401',
- 'Perl::OSType' => '1.002',
- 'PerlIO' => '1.07',
- 'PerlIO::encoding' => '0.14',
- 'PerlIO::scalar' => '0.11',
- 'PerlIO::via' => '0.11',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.04',
- 'Pod::Html' => '1.11',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.59',
- 'Pod::Man' => '2.25',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_03',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.16',
- 'Pod::Simple::BlackBox' => '3.16',
- 'Pod::Simple::Checker' => '3.16',
- 'Pod::Simple::Debug' => '3.16',
- 'Pod::Simple::DumpAsText'=> '3.16',
- 'Pod::Simple::DumpAsXML'=> '3.16',
- 'Pod::Simple::HTML' => '3.16',
- 'Pod::Simple::HTMLBatch'=> '3.16',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.16',
- 'Pod::Simple::Methody' => '3.16',
- 'Pod::Simple::Progress' => '3.16',
- 'Pod::Simple::PullParser'=> '3.16',
- 'Pod::Simple::PullParserEndToken'=> '3.16',
- 'Pod::Simple::PullParserStartToken'=> '3.16',
- 'Pod::Simple::PullParserTextToken'=> '3.16',
- 'Pod::Simple::PullParserToken'=> '3.16',
- 'Pod::Simple::RTF' => '3.16',
- 'Pod::Simple::Search' => '3.16',
- 'Pod::Simple::SimpleTree'=> '3.16',
- 'Pod::Simple::Text' => '3.16',
- 'Pod::Simple::TextContent'=> '3.16',
- 'Pod::Simple::TiedOutFH'=> '3.16',
- 'Pod::Simple::Transcode'=> '3.16',
- 'Pod::Simple::TranscodeDumb'=> '3.16',
- 'Pod::Simple::TranscodeSmart'=> '3.16',
- 'Pod::Simple::XHTML' => '3.16',
- 'Pod::Simple::XMLOutStream'=> '3.16',
- 'Pod::Text' => '3.15',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.09',
- 'Safe' => '2.29',
- 'Scalar::Util' => '1.23',
- 'Scalar::Util::PP' => '1.23',
- 'Search::Dict' => '1.03',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.18',
- 'Shell' => '0.72_01',
- 'Socket' => '1.94',
- 'Storable' => '2.27',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.16',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.23',
- 'TAP::Formatter::Base' => '3.23',
- 'TAP::Formatter::Color' => '3.23',
- 'TAP::Formatter::Console'=> '3.23',
- 'TAP::Formatter::Console::ParallelSession'=> '3.23',
- 'TAP::Formatter::Console::Session'=> '3.23',
- 'TAP::Formatter::File' => '3.23',
- 'TAP::Formatter::File::Session'=> '3.23',
- 'TAP::Formatter::Session'=> '3.23',
- 'TAP::Harness' => '3.23',
- 'TAP::Object' => '3.23',
- 'TAP::Parser' => '3.23',
- 'TAP::Parser::Aggregator'=> '3.23',
- 'TAP::Parser::Grammar' => '3.23',
- 'TAP::Parser::Iterator' => '3.23',
- 'TAP::Parser::Iterator::Array'=> '3.23',
- 'TAP::Parser::Iterator::Process'=> '3.23',
- 'TAP::Parser::Iterator::Stream'=> '3.23',
- 'TAP::Parser::IteratorFactory'=> '3.23',
- 'TAP::Parser::Multiplexer'=> '3.23',
- 'TAP::Parser::Result' => '3.23',
- 'TAP::Parser::Result::Bailout'=> '3.23',
- 'TAP::Parser::Result::Comment'=> '3.23',
- 'TAP::Parser::Result::Plan'=> '3.23',
- 'TAP::Parser::Result::Pragma'=> '3.23',
- 'TAP::Parser::Result::Test'=> '3.23',
- 'TAP::Parser::Result::Unknown'=> '3.23',
- 'TAP::Parser::Result::Version'=> '3.23',
- 'TAP::Parser::Result::YAML'=> '3.23',
- 'TAP::Parser::ResultFactory'=> '3.23',
- 'TAP::Parser::Scheduler'=> '3.23',
- 'TAP::Parser::Scheduler::Job'=> '3.23',
- 'TAP::Parser::Scheduler::Spinner'=> '3.23',
- 'TAP::Parser::Source' => '3.23',
- 'TAP::Parser::SourceHandler'=> '3.23',
- 'TAP::Parser::SourceHandler::Executable'=> '3.23',
- 'TAP::Parser::SourceHandler::File'=> '3.23',
- 'TAP::Parser::SourceHandler::Handle'=> '3.23',
- 'TAP::Parser::SourceHandler::Perl'=> '3.23',
- 'TAP::Parser::SourceHandler::RawTAP'=> '3.23',
- 'TAP::Parser::Utils' => '3.23',
- 'TAP::Parser::YAMLish::Reader'=> '3.23',
- 'TAP::Parser::YAMLish::Writer'=> '3.23',
- 'Term::ANSIColor' => '3.00',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.07',
- 'Term::UI' => '0.26',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.98',
- 'Test::Builder::Module' => '0.98',
- 'Test::Builder::Tester' => '1.22',
- 'Test::Builder::Tester::Color'=> '1.22',
- 'Test::Harness' => '3.23',
- 'Test::More' => '0.98',
- 'Test::Simple' => '0.98',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.12',
- 'Thread::Semaphore' => '2.12',
- 'Tie::Array' => '1.04',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.04',
- 'Tie::Hash::NamedCapture'=> '0.08',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.39',
- 'Tie::Scalar' => '1.02',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9721_01',
- 'Time::Local' => '1.2000',
- 'Time::Piece' => '1.20_01',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.08',
- 'Unicode' => '6.0.0',
- 'Unicode::Collate' => '0.73',
- 'Unicode::Collate::CJK::Big5'=> '0.65',
- 'Unicode::Collate::CJK::GB2312'=> '0.65',
- 'Unicode::Collate::CJK::JISX0208'=> '0.64',
- 'Unicode::Collate::CJK::Korean'=> '0.66',
- 'Unicode::Collate::CJK::Pinyin'=> '0.65',
- 'Unicode::Collate::CJK::Stroke'=> '0.65',
- 'Unicode::Collate::Locale'=> '0.73',
- 'Unicode::Normalize' => '1.10',
- 'Unicode::UCD' => '0.32',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.05',
- 'VMS::Filespec' => '1.12',
- 'VMS::Stdio' => '2.4',
- 'Version::Requirements' => '0.101020',
- 'Win32' => '0.44',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.28',
- 'XS::Typemap' => '0.05',
- 'XSLoader' => '0.13',
- 'XSLoader::XSLoader' => '0.13',
- 'attributes' => '0.14',
- 'autodie' => '2.1001',
- 'autodie::exception' => '2.1001',
- 'autodie::exception::system'=> '2.1001',
- 'autodie::hints' => '2.1001',
- 'autouse' => '1.06',
- 'base' => '2.16',
- 'bigint' => '0.27',
- 'bignum' => '0.27',
- 'bigrat' => '0.28',
- 'blib' => '1.06',
- 'bytes' => '1.04',
- 'charnames' => '1.18',
- 'constant' => '1.21',
- 'deprecate' => '0.02',
- 'diagnostics' => '1.22',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.20',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.0601',
- 'inc::latest' => '0.3800',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.63',
- 'locale' => '1.00',
- 'mro' => '1.07',
- 'open' => '1.08',
- 'ops' => '1.02',
- 'overload' => '1.13',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.225',
- 're' => '0.18',
- 'sigtrap' => '1.05',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.83',
- 'threads::shared' => '1.37',
- 'utf8' => '1.09',
- 'vars' => '1.02',
- 'version' => '0.88',
- 'vmsish' => '1.02',
- 'warnings' => '1.12',
- 'warnings::register' => '1.02',
+ 5.014 => {
+ delta_from => 5.013011,
+ changed => {
+ 'ExtUtils::CBuilder' => '0.280203',
+ 'ExtUtils::CBuilder::Base'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280203',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280203',
+ 'ExtUtils::ParseXS' => '2.2210',
+ 'File::Basename' => '2.82',
+ 'HTTP::Tiny' => '0.012',
+ 'IO::Handle' => '1.31',
+ 'Module::CoreList' => '2.49',
+ 'PerlIO' => '1.07',
+ 'Pod::Html' => '1.11',
+ 'XS::APItest' => '0.28',
+ 'bigint' => '0.27',
+ 'bignum' => '0.27',
+ 'bigrat' => '0.28',
+ 'constant' => '1.21',
+ 'feature' => '1.20',
+ 're' => '0.18',
+ 'threads::shared' => '1.37',
+ },
+ removed => {
+ }
},
5.014001 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.23',
- 'App::Prove::State' => '3.23',
- 'App::Prove::State::Result'=> '3.23',
- 'App::Prove::State::Result::Test'=> '3.23',
- 'Archive::Extract' => '0.48',
- 'Archive::Tar' => '1.76',
- 'Archive::Tar::Constant'=> '1.76',
- 'Archive::Tar::File' => '1.76',
- 'Attribute::Handlers' => '0.89',
- 'AutoLoader' => '5.71',
- 'AutoSplit' => '1.06',
- 'B' => '1.29',
- 'B::Concise' => '0.83',
- 'B::Debug' => '1.16',
- 'B::Deparse' => '1.04',
- 'B::Lint' => '1.13',
- 'B::Lint::Debug' => '1.12',
- 'B::Showlex' => '1.03',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.12',
- 'CGI' => '3.52',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.51',
- 'CGI::Cookie' => '1.30',
- 'CGI::Fast' => '1.08',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.05',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.51',
- 'CPAN' => '1.9600',
- 'CPAN::Author' => '5.5001',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5001',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9602',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.001',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5005',
- 'CPAN::FTP::netrc' => '1.01',
- 'CPAN::FirstTime' => '5.5303',
- 'CPAN::HTTP::Client' => '1.9600',
- 'CPAN::HTTP::Credentials'=> '1.9600',
- 'CPAN::HandleConfig' => '5.5003',
- 'CPAN::Index' => '1.9600',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.9600',
- 'CPAN::Meta' => '2.110440',
- 'CPAN::Meta::Converter' => '2.110440',
- 'CPAN::Meta::Feature' => '2.110440',
- 'CPAN::Meta::History' => '2.110440',
- 'CPAN::Meta::Prereqs' => '2.110440',
- 'CPAN::Meta::Spec' => '2.110440',
- 'CPAN::Meta::Validator' => '2.110440',
- 'CPAN::Meta::YAML' => '0.003',
- 'CPAN::Mirrors' => '1.9600',
- 'CPAN::Module' => '5.5001',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5001',
- 'CPAN::Shell' => '5.5002',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5001',
- 'CPANPLUS' => '0.9103',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.54',
- 'CPANPLUS::Dist::Build::Constants'=> '0.54',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.9103',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.9103',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.20',
- 'Carp::Heavy' => '1.20',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.033',
- 'Compress::Raw::Zlib' => '2.033',
- 'Compress::Zlib' => '2.033',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.36',
- 'DB' => '1.03',
- 'DBM_Filter' => '0.04',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.821',
- 'Data::Dumper' => '2.130_02',
- 'Devel::DProf' => '20110228.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.07',
- 'Devel::SelfStubber' => '1.05',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.51',
- 'Digest::SHA' => '5.61',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.04',
- 'Dumpvalue' => '1.16',
- 'DynaLoader' => '1.13',
- 'Encode' => '2.42',
- 'Encode::Alias' => '2.13',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.04',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.13',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.05',
- 'English' => '1.04',
- 'Env' => '1.02',
- 'Errno' => '1.13',
- 'Exporter' => '5.64_03',
- 'Exporter::Heavy' => '5.64_03',
- 'ExtUtils::CBuilder' => '0.280203',
- 'ExtUtils::CBuilder::Base'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.280203',
- 'ExtUtils::Command' => '1.17',
- 'ExtUtils::Command::MM' => '6.57_05',
- 'ExtUtils::Constant' => '0.23',
- 'ExtUtils::Constant::Base'=> '0.05',
- 'ExtUtils::Constant::ProxySubs'=> '0.08',
- 'ExtUtils::Constant::Utils'=> '0.03',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.30',
- 'ExtUtils::Install' => '1.56',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.57_05',
- 'ExtUtils::Liblist::Kid'=> '6.5705',
- 'ExtUtils::MM' => '6.57_05',
- 'ExtUtils::MM_AIX' => '6.57_05',
- 'ExtUtils::MM_Any' => '6.57_05',
- 'ExtUtils::MM_BeOS' => '6.57_05',
- 'ExtUtils::MM_Cygwin' => '6.57_05',
- 'ExtUtils::MM_DOS' => '6.5705',
- 'ExtUtils::MM_Darwin' => '6.57_05',
- 'ExtUtils::MM_MacOS' => '6.5705',
- 'ExtUtils::MM_NW5' => '6.57_05',
- 'ExtUtils::MM_OS2' => '6.57_05',
- 'ExtUtils::MM_QNX' => '6.57_05',
- 'ExtUtils::MM_UWIN' => '6.5705',
- 'ExtUtils::MM_Unix' => '6.57_05',
- 'ExtUtils::MM_VMS' => '6.57_05',
- 'ExtUtils::MM_VOS' => '6.57_05',
- 'ExtUtils::MM_Win32' => '6.57_05',
- 'ExtUtils::MM_Win95' => '6.57_05',
- 'ExtUtils::MY' => '6.5705',
- 'ExtUtils::MakeMaker' => '6.57_05',
- 'ExtUtils::MakeMaker::Config'=> '6.57_05',
- 'ExtUtils::MakeMaker::YAML'=> '1.44',
- 'ExtUtils::Manifest' => '1.58',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.57_05',
- 'ExtUtils::Mksymlists' => '6.57_05',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.2210',
- 'ExtUtils::XSSymSet' => '1.2',
- 'ExtUtils::testlib' => '6.5705',
- 'Fatal' => '2.1001',
- 'Fcntl' => '1.11',
- 'File::Basename' => '2.82',
- 'File::CheckTree' => '4.41',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.21',
- 'File::DosGlob' => '1.04',
- 'File::Fetch' => '0.32',
- 'File::Find' => '1.19',
- 'File::Glob' => '1.12',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.33',
- 'File::Spec::Cygwin' => '3.33',
- 'File::Spec::Epoc' => '3.33',
- 'File::Spec::Functions' => '3.33',
- 'File::Spec::Mac' => '3.34',
- 'File::Spec::OS2' => '3.33',
- 'File::Spec::Unix' => '3.33',
- 'File::Spec::VMS' => '3.34',
- 'File::Spec::Win32' => '3.33',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.05',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'Filter::Simple' => '0.86',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.14',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'HTTP::Tiny' => '0.012',
- 'Hash::Util' => '0.11',
- 'Hash::Util::FieldHash' => '1.09',
- 'I18N::Collate' => '1.02',
- 'I18N::LangTags' => '0.35_01',
- 'I18N::LangTags::Detect'=> '1.05',
- 'I18N::LangTags::List' => '0.35_01',
- 'I18N::Langinfo' => '0.08',
- 'IO' => '1.25_04',
- 'IO::Compress::Adapter::Bzip2'=> '2.033',
- 'IO::Compress::Adapter::Deflate'=> '2.033',
- 'IO::Compress::Adapter::Identity'=> '2.033',
- 'IO::Compress::Base' => '2.033',
- 'IO::Compress::Base::Common'=> '2.033',
- 'IO::Compress::Bzip2' => '2.033',
- 'IO::Compress::Deflate' => '2.033',
- 'IO::Compress::Gzip' => '2.033',
- 'IO::Compress::Gzip::Constants'=> '2.033',
- 'IO::Compress::RawDeflate'=> '2.033',
- 'IO::Compress::Zip' => '2.033',
- 'IO::Compress::Zip::Constants'=> '2.033',
- 'IO::Compress::Zlib::Constants'=> '2.033',
- 'IO::Compress::Zlib::Extra'=> '2.033',
- 'IO::Dir' => '1.08',
- 'IO::File' => '1.15',
- 'IO::Handle' => '1.31',
- 'IO::Pipe' => '1.14',
- 'IO::Poll' => '0.08',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.20',
- 'IO::Socket' => '1.32',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
- 'IO::Uncompress::Adapter::Identity'=> '2.033',
- 'IO::Uncompress::Adapter::Inflate'=> '2.033',
- 'IO::Uncompress::AnyInflate'=> '2.033',
- 'IO::Uncompress::AnyUncompress'=> '2.033',
- 'IO::Uncompress::Base' => '2.033',
- 'IO::Uncompress::Bunzip2'=> '2.033',
- 'IO::Uncompress::Gunzip'=> '2.033',
- 'IO::Uncompress::Inflate'=> '2.033',
- 'IO::Uncompress::RawInflate'=> '2.033',
- 'IO::Uncompress::Unzip' => '2.033',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.70',
- 'IPC::Msg' => '2.03',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.09',
- 'IPC::Semaphore' => '2.03',
- 'IPC::SharedMem' => '2.03',
- 'IPC::SysV' => '2.03',
- 'JSON::PP' => '2.27105',
- 'JSON::PP::Boolean' => undef,
- 'List::Util' => '1.23',
- 'List::Util::PP' => '1.23',
- 'List::Util::XS' => '1.23',
- 'Locale::Codes' => '3.16',
- 'Locale::Codes::Country'=> '3.16',
- 'Locale::Codes::Currency'=> '3.16',
- 'Locale::Codes::Language'=> '3.16',
- 'Locale::Codes::Script' => '3.16',
- 'Locale::Constants' => '3.16',
- 'Locale::Country' => '3.16',
- 'Locale::Currency' => '3.16',
- 'Locale::Language' => '3.16',
- 'Locale::Maketext' => '1.19',
- 'Locale::Maketext::Guts'=> '1.17',
- 'Locale::Maketext::GutsLoader'=> '1.17',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '3.16',
- 'Log::Message' => '0.04',
- 'Log::Message::Config' => '0.04',
- 'Log::Message::Handlers'=> '0.04',
- 'Log::Message::Item' => '0.04',
- 'Log::Message::Simple' => '0.08',
- 'MIME::Base64' => '3.13',
- 'MIME::QuotedPrint' => '3.13',
- 'Math::BigFloat' => '1.993',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.994',
- 'Math::BigInt::Calc' => '1.993',
- 'Math::BigInt::CalcEmu' => '1.993',
- 'Math::BigInt::FastCalc'=> '0.28',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.26_02',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.02',
- 'Memoize::AnyDBM_File' => '1.02',
- 'Memoize::Expire' => '1.02',
- 'Memoize::ExpireFile' => '1.02',
- 'Memoize::ExpireTest' => '1.02',
- 'Memoize::NDBM_File' => '1.02',
- 'Memoize::SDBM_File' => '1.02',
- 'Memoize::Storable' => '1.02',
- 'Module::Build' => '0.3800',
- 'Module::Build::Base' => '0.3800',
- 'Module::Build::Compat' => '0.3800',
- 'Module::Build::Config' => '0.3800',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3800',
- 'Module::Build::Dumper' => '0.3800',
- 'Module::Build::ModuleInfo'=> '0.3800',
- 'Module::Build::Notes' => '0.3800',
- 'Module::Build::PPMMaker'=> '0.3800',
- 'Module::Build::Platform::Amiga'=> '0.3800',
- 'Module::Build::Platform::Default'=> '0.3800',
- 'Module::Build::Platform::EBCDIC'=> '0.3800',
- 'Module::Build::Platform::MPEiX'=> '0.3800',
- 'Module::Build::Platform::MacOS'=> '0.3800',
- 'Module::Build::Platform::RiscOS'=> '0.3800',
- 'Module::Build::Platform::Unix'=> '0.3800',
- 'Module::Build::Platform::VMS'=> '0.3800',
- 'Module::Build::Platform::VOS'=> '0.3800',
- 'Module::Build::Platform::Windows'=> '0.3800',
- 'Module::Build::Platform::aix'=> '0.3800',
- 'Module::Build::Platform::cygwin'=> '0.3800',
- 'Module::Build::Platform::darwin'=> '0.3800',
- 'Module::Build::Platform::os2'=> '0.3800',
- 'Module::Build::PodParser'=> '0.3800',
- 'Module::Build::Version'=> '0.87',
- 'Module::Build::YAML' => '1.41',
- 'Module::CoreList' => '2.49_01',
- 'Module::Load' => '0.18',
- 'Module::Load::Conditional'=> '0.44',
- 'Module::Loaded' => '0.06',
- 'Module::Metadata' => '1.000004',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.12',
- 'NEXT' => '0.65',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.38',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.10',
- 'Object::Accessor' => '0.38',
- 'Opcode' => '1.18',
- 'POSIX' => '1.24',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.28',
- 'Parse::CPAN::Meta' => '1.4401',
- 'Perl::OSType' => '1.002',
- 'PerlIO' => '1.07',
- 'PerlIO::encoding' => '0.14',
- 'PerlIO::scalar' => '0.11',
- 'PerlIO::via' => '0.11',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.04',
- 'Pod::Html' => '1.11',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.59',
- 'Pod::Man' => '2.25',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_04',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.16',
- 'Pod::Simple::BlackBox' => '3.16',
- 'Pod::Simple::Checker' => '3.16',
- 'Pod::Simple::Debug' => '3.16',
- 'Pod::Simple::DumpAsText'=> '3.16',
- 'Pod::Simple::DumpAsXML'=> '3.16',
- 'Pod::Simple::HTML' => '3.16',
- 'Pod::Simple::HTMLBatch'=> '3.16',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.16',
- 'Pod::Simple::Methody' => '3.16',
- 'Pod::Simple::Progress' => '3.16',
- 'Pod::Simple::PullParser'=> '3.16',
- 'Pod::Simple::PullParserEndToken'=> '3.16',
- 'Pod::Simple::PullParserStartToken'=> '3.16',
- 'Pod::Simple::PullParserTextToken'=> '3.16',
- 'Pod::Simple::PullParserToken'=> '3.16',
- 'Pod::Simple::RTF' => '3.16',
- 'Pod::Simple::Search' => '3.16',
- 'Pod::Simple::SimpleTree'=> '3.16',
- 'Pod::Simple::Text' => '3.16',
- 'Pod::Simple::TextContent'=> '3.16',
- 'Pod::Simple::TiedOutFH'=> '3.16',
- 'Pod::Simple::Transcode'=> '3.16',
- 'Pod::Simple::TranscodeDumb'=> '3.16',
- 'Pod::Simple::TranscodeSmart'=> '3.16',
- 'Pod::Simple::XHTML' => '3.16',
- 'Pod::Simple::XMLOutStream'=> '3.16',
- 'Pod::Text' => '3.15',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.09',
- 'Safe' => '2.29',
- 'Scalar::Util' => '1.23',
- 'Scalar::Util::PP' => '1.23',
- 'Search::Dict' => '1.03',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.18',
- 'Shell' => '0.72_01',
- 'Socket' => '1.94',
- 'Storable' => '2.27',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.16',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.23',
- 'TAP::Formatter::Base' => '3.23',
- 'TAP::Formatter::Color' => '3.23',
- 'TAP::Formatter::Console'=> '3.23',
- 'TAP::Formatter::Console::ParallelSession'=> '3.23',
- 'TAP::Formatter::Console::Session'=> '3.23',
- 'TAP::Formatter::File' => '3.23',
- 'TAP::Formatter::File::Session'=> '3.23',
- 'TAP::Formatter::Session'=> '3.23',
- 'TAP::Harness' => '3.23',
- 'TAP::Object' => '3.23',
- 'TAP::Parser' => '3.23',
- 'TAP::Parser::Aggregator'=> '3.23',
- 'TAP::Parser::Grammar' => '3.23',
- 'TAP::Parser::Iterator' => '3.23',
- 'TAP::Parser::Iterator::Array'=> '3.23',
- 'TAP::Parser::Iterator::Process'=> '3.23',
- 'TAP::Parser::Iterator::Stream'=> '3.23',
- 'TAP::Parser::IteratorFactory'=> '3.23',
- 'TAP::Parser::Multiplexer'=> '3.23',
- 'TAP::Parser::Result' => '3.23',
- 'TAP::Parser::Result::Bailout'=> '3.23',
- 'TAP::Parser::Result::Comment'=> '3.23',
- 'TAP::Parser::Result::Plan'=> '3.23',
- 'TAP::Parser::Result::Pragma'=> '3.23',
- 'TAP::Parser::Result::Test'=> '3.23',
- 'TAP::Parser::Result::Unknown'=> '3.23',
- 'TAP::Parser::Result::Version'=> '3.23',
- 'TAP::Parser::Result::YAML'=> '3.23',
- 'TAP::Parser::ResultFactory'=> '3.23',
- 'TAP::Parser::Scheduler'=> '3.23',
- 'TAP::Parser::Scheduler::Job'=> '3.23',
- 'TAP::Parser::Scheduler::Spinner'=> '3.23',
- 'TAP::Parser::Source' => '3.23',
- 'TAP::Parser::SourceHandler'=> '3.23',
- 'TAP::Parser::SourceHandler::Executable'=> '3.23',
- 'TAP::Parser::SourceHandler::File'=> '3.23',
- 'TAP::Parser::SourceHandler::Handle'=> '3.23',
- 'TAP::Parser::SourceHandler::Perl'=> '3.23',
- 'TAP::Parser::SourceHandler::RawTAP'=> '3.23',
- 'TAP::Parser::Utils' => '3.23',
- 'TAP::Parser::YAMLish::Reader'=> '3.23',
- 'TAP::Parser::YAMLish::Writer'=> '3.23',
- 'Term::ANSIColor' => '3.00',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.07',
- 'Term::UI' => '0.26',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.98',
- 'Test::Builder::Module' => '0.98',
- 'Test::Builder::Tester' => '1.22',
- 'Test::Builder::Tester::Color'=> '1.22',
- 'Test::Harness' => '3.23',
- 'Test::More' => '0.98',
- 'Test::Simple' => '0.98',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.12',
- 'Thread::Semaphore' => '2.12',
- 'Tie::Array' => '1.04',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.04',
- 'Tie::Hash::NamedCapture'=> '0.08',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.39',
- 'Tie::Scalar' => '1.02',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9721_01',
- 'Time::Local' => '1.2000',
- 'Time::Piece' => '1.20_01',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.08',
- 'Unicode' => '6.0.0',
- 'Unicode::Collate' => '0.73',
- 'Unicode::Collate::CJK::Big5'=> '0.65',
- 'Unicode::Collate::CJK::GB2312'=> '0.65',
- 'Unicode::Collate::CJK::JISX0208'=> '0.64',
- 'Unicode::Collate::CJK::Korean'=> '0.66',
- 'Unicode::Collate::CJK::Pinyin'=> '0.65',
- 'Unicode::Collate::CJK::Stroke'=> '0.65',
- 'Unicode::Collate::Locale'=> '0.73',
- 'Unicode::Normalize' => '1.10',
- 'Unicode::UCD' => '0.32',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.05',
- 'VMS::Filespec' => '1.12',
- 'VMS::Stdio' => '2.4',
- 'Version::Requirements' => '0.101020',
- 'Win32' => '0.44',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.28',
- 'XS::Typemap' => '0.05',
- 'XSLoader' => '0.13',
- 'XSLoader::XSLoader' => '0.13',
- 'attributes' => '0.14',
- 'autodie' => '2.1001',
- 'autodie::exception' => '2.1001',
- 'autodie::exception::system'=> '2.1001',
- 'autodie::hints' => '2.1001',
- 'autouse' => '1.06',
- 'base' => '2.16',
- 'bigint' => '0.27',
- 'bignum' => '0.27',
- 'bigrat' => '0.28',
- 'blib' => '1.06',
- 'bytes' => '1.04',
- 'charnames' => '1.18',
- 'constant' => '1.21',
- 'deprecate' => '0.02',
- 'diagnostics' => '1.22',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.20',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.0601',
- 'inc::latest' => '0.3800',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.63',
- 'locale' => '1.00',
- 'mro' => '1.07',
- 'open' => '1.08',
- 'ops' => '1.02',
- 'overload' => '1.13',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.225',
- 're' => '0.18',
- 'sigtrap' => '1.05',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.83',
- 'threads::shared' => '1.37',
- 'utf8' => '1.09',
- 'vars' => '1.02',
- 'version' => '0.88',
- 'vmsish' => '1.02',
- 'warnings' => '1.12',
- 'warnings::register' => '1.02',
+ delta_from => 5.014,
+ changed => {
+ 'B::Deparse' => '1.04',
+ 'Module::CoreList' => '2.49_01',
+ 'Pod::Perldoc' => '3.15_04',
+ },
+ removed => {
+ }
},
5.014002 => {
- 'AnyDBM_File' => '1.00',
- 'App::Cpan' => '1.5701',
- 'App::Prove' => '3.23',
- 'App::Prove::State' => '3.23',
- 'App::Prove::State::Result'=> '3.23',
- 'App::Prove::State::Result::Test'=> '3.23',
- 'Archive::Extract' => '0.48',
- 'Archive::Tar' => '1.76',
- 'Archive::Tar::Constant'=> '1.76',
- 'Archive::Tar::File' => '1.76',
- 'Attribute::Handlers' => '0.89',
- 'AutoLoader' => '5.71',
- 'AutoSplit' => '1.06',
- 'B' => '1.29',
- 'B::Concise' => '0.83',
- 'B::Debug' => '1.16',
- 'B::Deparse' => '1.04',
- 'B::Lint' => '1.13',
- 'B::Lint::Debug' => '1.12',
- 'B::Showlex' => '1.03',
- 'B::Terse' => '1.05',
- 'B::Xref' => '1.02',
- 'Benchmark' => '1.12',
- 'CGI' => '3.52',
- 'CGI::Apache' => '1.01',
- 'CGI::Carp' => '3.51',
- 'CGI::Cookie' => '1.30',
- 'CGI::Fast' => '1.08',
- 'CGI::Pretty' => '3.46',
- 'CGI::Push' => '1.05',
- 'CGI::Switch' => '1.01',
- 'CGI::Util' => '3.51',
- 'CPAN' => '1.9600_01',
- 'CPAN::Author' => '5.5001',
- 'CPAN::Bundle' => '5.5',
- 'CPAN::CacheMgr' => '5.5001',
- 'CPAN::Complete' => '5.5',
- 'CPAN::Debug' => '5.5001',
- 'CPAN::DeferredCode' => '5.50',
- 'CPAN::Distribution' => '1.9602_01',
- 'CPAN::Distroprefs' => '6',
- 'CPAN::Distrostatus' => '5.5',
- 'CPAN::Exception::RecursiveDependency'=> '5.5',
- 'CPAN::Exception::blocked_urllist'=> '1.001',
- 'CPAN::Exception::yaml_not_installed'=> '5.5',
- 'CPAN::FTP' => '5.5005',
- 'CPAN::FTP::netrc' => '1.01',
- 'CPAN::FirstTime' => '5.5303',
- 'CPAN::HTTP::Client' => '1.9600',
- 'CPAN::HTTP::Credentials'=> '1.9600',
- 'CPAN::HandleConfig' => '5.5003',
- 'CPAN::Index' => '1.9600',
- 'CPAN::InfoObj' => '5.5',
- 'CPAN::Kwalify' => '5.50',
- 'CPAN::LWP::UserAgent' => '1.9600',
- 'CPAN::Meta' => '2.110440',
- 'CPAN::Meta::Converter' => '2.110440',
- 'CPAN::Meta::Feature' => '2.110440',
- 'CPAN::Meta::History' => '2.110440',
- 'CPAN::Meta::Prereqs' => '2.110440',
- 'CPAN::Meta::Spec' => '2.110440',
- 'CPAN::Meta::Validator' => '2.110440',
- 'CPAN::Meta::YAML' => '0.003',
- 'CPAN::Mirrors' => '1.9600',
- 'CPAN::Module' => '5.5001',
- 'CPAN::Nox' => '5.50',
- 'CPAN::Prompt' => '5.5',
- 'CPAN::Queue' => '5.5001',
- 'CPAN::Shell' => '5.5002',
- 'CPAN::Tarzip' => '5.5011',
- 'CPAN::URL' => '5.5',
- 'CPAN::Version' => '5.5001',
- 'CPANPLUS' => '0.9103',
- 'CPANPLUS::Backend' => undef,
- 'CPANPLUS::Backend::RV' => undef,
- 'CPANPLUS::Config' => undef,
- 'CPANPLUS::Configure' => undef,
- 'CPANPLUS::Configure::Setup'=> undef,
- 'CPANPLUS::Dist' => undef,
- 'CPANPLUS::Dist::Autobundle'=> undef,
- 'CPANPLUS::Dist::Base' => undef,
- 'CPANPLUS::Dist::Build' => '0.54',
- 'CPANPLUS::Dist::Build::Constants'=> '0.54',
- 'CPANPLUS::Dist::MM' => undef,
- 'CPANPLUS::Dist::Sample'=> undef,
- 'CPANPLUS::Error' => undef,
- 'CPANPLUS::Internals' => '0.9103',
- 'CPANPLUS::Internals::Constants'=> undef,
- 'CPANPLUS::Internals::Constants::Report'=> undef,
- 'CPANPLUS::Internals::Extract'=> undef,
- 'CPANPLUS::Internals::Fetch'=> undef,
- 'CPANPLUS::Internals::Report'=> undef,
- 'CPANPLUS::Internals::Search'=> undef,
- 'CPANPLUS::Internals::Source'=> undef,
- 'CPANPLUS::Internals::Source::Memory'=> undef,
- 'CPANPLUS::Internals::Source::SQLite'=> undef,
- 'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
- 'CPANPLUS::Internals::Utils'=> undef,
- 'CPANPLUS::Internals::Utils::Autoflush'=> undef,
- 'CPANPLUS::Module' => undef,
- 'CPANPLUS::Module::Author'=> undef,
- 'CPANPLUS::Module::Author::Fake'=> undef,
- 'CPANPLUS::Module::Checksums'=> undef,
- 'CPANPLUS::Module::Fake'=> undef,
- 'CPANPLUS::Module::Signature'=> undef,
- 'CPANPLUS::Selfupdate' => undef,
- 'CPANPLUS::Shell' => undef,
- 'CPANPLUS::Shell::Classic'=> '0.0562',
- 'CPANPLUS::Shell::Default'=> '0.9103',
- 'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
- 'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
- 'Carp' => '1.20',
- 'Carp::Heavy' => '1.20',
- 'Class::Struct' => '0.63',
- 'Compress::Raw::Bzip2' => '2.033',
- 'Compress::Raw::Zlib' => '2.033',
- 'Compress::Zlib' => '2.033',
- 'Config' => undef,
- 'Config::Extensions' => '0.01',
- 'Cwd' => '3.36',
- 'DB' => '1.03',
- 'DBM_Filter' => '0.04',
- 'DBM_Filter::compress' => '0.02',
- 'DBM_Filter::encode' => '0.02',
- 'DBM_Filter::int32' => '0.02',
- 'DBM_Filter::null' => '0.02',
- 'DBM_Filter::utf8' => '0.02',
- 'DB_File' => '1.821',
- 'Data::Dumper' => '2.130_02',
- 'Devel::DProf' => '20110228.00',
- 'Devel::DProf::dprof::V'=> undef,
- 'Devel::InnerPackage' => '0.3',
- 'Devel::PPPort' => '3.19',
- 'Devel::Peek' => '1.07',
- 'Devel::SelfStubber' => '1.05',
- 'Digest' => '1.16',
- 'Digest::MD5' => '2.51',
- 'Digest::SHA' => '5.61',
- 'Digest::base' => '1.16',
- 'Digest::file' => '1.16',
- 'DirHandle' => '1.04',
- 'Dumpvalue' => '1.16',
- 'DynaLoader' => '1.13',
- 'Encode' => '2.42_01',
- 'Encode::Alias' => '2.13',
- 'Encode::Byte' => '2.04',
- 'Encode::CJKConstants' => '2.02',
- 'Encode::CN' => '2.03',
- 'Encode::CN::HZ' => '2.05',
- 'Encode::Config' => '2.05',
- 'Encode::EBCDIC' => '2.02',
- 'Encode::Encoder' => '2.01',
- 'Encode::Encoding' => '2.05',
- 'Encode::GSM0338' => '2.01',
- 'Encode::Guess' => '2.04',
- 'Encode::JP' => '2.04',
- 'Encode::JP::H2Z' => '2.02',
- 'Encode::JP::JIS7' => '2.04',
- 'Encode::KR' => '2.03',
- 'Encode::KR::2022_KR' => '2.02',
- 'Encode::MIME::Header' => '2.13',
- 'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
- 'Encode::MIME::Name' => '1.01',
- 'Encode::Symbol' => '2.02',
- 'Encode::TW' => '2.03',
- 'Encode::Unicode' => '2.07',
- 'Encode::Unicode::UTF7' => '2.05',
- 'English' => '1.04',
- 'Env' => '1.02',
- 'Errno' => '1.13',
- 'Exporter' => '5.64_03',
- 'Exporter::Heavy' => '5.64_03',
- 'ExtUtils::CBuilder' => '0.280203',
- 'ExtUtils::CBuilder::Base'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::Unix'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::VMS'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::Windows'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::aix'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::darwin'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280203',
- 'ExtUtils::CBuilder::Platform::os2'=> '0.280203',
- 'ExtUtils::Command' => '1.17',
- 'ExtUtils::Command::MM' => '6.57_05',
- 'ExtUtils::Constant' => '0.23',
- 'ExtUtils::Constant::Base'=> '0.05',
- 'ExtUtils::Constant::ProxySubs'=> '0.08',
- 'ExtUtils::Constant::Utils'=> '0.03',
- 'ExtUtils::Constant::XS'=> '0.03',
- 'ExtUtils::Embed' => '1.30',
- 'ExtUtils::Install' => '1.56',
- 'ExtUtils::Installed' => '1.999_001',
- 'ExtUtils::Liblist' => '6.57_05',
- 'ExtUtils::Liblist::Kid'=> '6.5705',
- 'ExtUtils::MM' => '6.57_05',
- 'ExtUtils::MM_AIX' => '6.57_05',
- 'ExtUtils::MM_Any' => '6.57_05',
- 'ExtUtils::MM_BeOS' => '6.57_05',
- 'ExtUtils::MM_Cygwin' => '6.57_05',
- 'ExtUtils::MM_DOS' => '6.5705',
- 'ExtUtils::MM_Darwin' => '6.57_05',
- 'ExtUtils::MM_MacOS' => '6.5705',
- 'ExtUtils::MM_NW5' => '6.57_05',
- 'ExtUtils::MM_OS2' => '6.57_05',
- 'ExtUtils::MM_QNX' => '6.57_05',
- 'ExtUtils::MM_UWIN' => '6.5705',
- 'ExtUtils::MM_Unix' => '6.57_05',
- 'ExtUtils::MM_VMS' => '6.57_05',
- 'ExtUtils::MM_VOS' => '6.57_05',
- 'ExtUtils::MM_Win32' => '6.57_05',
- 'ExtUtils::MM_Win95' => '6.57_05',
- 'ExtUtils::MY' => '6.5705',
- 'ExtUtils::MakeMaker' => '6.57_05',
- 'ExtUtils::MakeMaker::Config'=> '6.57_05',
- 'ExtUtils::MakeMaker::YAML'=> '1.44',
- 'ExtUtils::Manifest' => '1.58',
- 'ExtUtils::Miniperl' => undef,
- 'ExtUtils::Mkbootstrap' => '6.57_05',
- 'ExtUtils::Mksymlists' => '6.57_05',
- 'ExtUtils::Packlist' => '1.44',
- 'ExtUtils::ParseXS' => '2.2210',
- 'ExtUtils::XSSymSet' => '1.2',
- 'ExtUtils::testlib' => '6.5705',
- 'Fatal' => '2.1001',
- 'Fcntl' => '1.11',
- 'File::Basename' => '2.82',
- 'File::CheckTree' => '4.41',
- 'File::Compare' => '1.1006',
- 'File::Copy' => '2.21',
- 'File::DosGlob' => '1.04',
- 'File::Fetch' => '0.32',
- 'File::Find' => '1.19',
- 'File::Glob' => '1.13',
- 'File::GlobMapper' => '1.000',
- 'File::Path' => '2.08_01',
- 'File::Spec' => '3.33',
- 'File::Spec::Cygwin' => '3.33',
- 'File::Spec::Epoc' => '3.33',
- 'File::Spec::Functions' => '3.33',
- 'File::Spec::Mac' => '3.34',
- 'File::Spec::OS2' => '3.33',
- 'File::Spec::Unix' => '3.33',
- 'File::Spec::VMS' => '3.34',
- 'File::Spec::Win32' => '3.33',
- 'File::Temp' => '0.22',
- 'File::stat' => '1.05',
- 'FileCache' => '1.08',
- 'FileHandle' => '2.02',
- 'Filter::Simple' => '0.86',
- 'Filter::Util::Call' => '1.08',
- 'FindBin' => '1.50',
- 'GDBM_File' => '1.14',
- 'Getopt::Long' => '2.38',
- 'Getopt::Std' => '1.06',
- 'HTTP::Tiny' => '0.012',
- 'Hash::Util' => '0.11',
- 'Hash::Util::FieldHash' => '1.09',
- 'I18N::Collate' => '1.02',
- 'I18N::LangTags' => '0.35_01',
- 'I18N::LangTags::Detect'=> '1.05',
- 'I18N::LangTags::List' => '0.35_01',
- 'I18N::Langinfo' => '0.08',
- 'IO' => '1.25_04',
- 'IO::Compress::Adapter::Bzip2'=> '2.033',
- 'IO::Compress::Adapter::Deflate'=> '2.033',
- 'IO::Compress::Adapter::Identity'=> '2.033',
- 'IO::Compress::Base' => '2.033',
- 'IO::Compress::Base::Common'=> '2.033',
- 'IO::Compress::Bzip2' => '2.033',
- 'IO::Compress::Deflate' => '2.033',
- 'IO::Compress::Gzip' => '2.033',
- 'IO::Compress::Gzip::Constants'=> '2.033',
- 'IO::Compress::RawDeflate'=> '2.033',
- 'IO::Compress::Zip' => '2.033',
- 'IO::Compress::Zip::Constants'=> '2.033',
- 'IO::Compress::Zlib::Constants'=> '2.033',
- 'IO::Compress::Zlib::Extra'=> '2.033',
- 'IO::Dir' => '1.08',
- 'IO::File' => '1.15',
- 'IO::Handle' => '1.31',
- 'IO::Pipe' => '1.14',
- 'IO::Poll' => '0.08',
- 'IO::Seekable' => '1.10',
- 'IO::Select' => '1.20',
- 'IO::Socket' => '1.32',
- 'IO::Socket::INET' => '1.31',
- 'IO::Socket::UNIX' => '1.23',
- 'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
- 'IO::Uncompress::Adapter::Identity'=> '2.033',
- 'IO::Uncompress::Adapter::Inflate'=> '2.033',
- 'IO::Uncompress::AnyInflate'=> '2.033',
- 'IO::Uncompress::AnyUncompress'=> '2.033',
- 'IO::Uncompress::Base' => '2.033',
- 'IO::Uncompress::Bunzip2'=> '2.033',
- 'IO::Uncompress::Gunzip'=> '2.033',
- 'IO::Uncompress::Inflate'=> '2.033',
- 'IO::Uncompress::RawInflate'=> '2.033',
- 'IO::Uncompress::Unzip' => '2.033',
- 'IO::Zlib' => '1.10',
- 'IPC::Cmd' => '0.70',
- 'IPC::Msg' => '2.03',
- 'IPC::Open2' => '1.03',
- 'IPC::Open3' => '1.09',
- 'IPC::Semaphore' => '2.03',
- 'IPC::SharedMem' => '2.03',
- 'IPC::SysV' => '2.03',
- 'JSON::PP' => '2.27105',
- 'JSON::PP::Boolean' => undef,
- 'List::Util' => '1.23',
- 'List::Util::PP' => '1.23',
- 'List::Util::XS' => '1.23',
- 'Locale::Codes' => '3.16',
- 'Locale::Codes::Country'=> '3.16',
- 'Locale::Codes::Currency'=> '3.16',
- 'Locale::Codes::Language'=> '3.16',
- 'Locale::Codes::Script' => '3.16',
- 'Locale::Constants' => '3.16',
- 'Locale::Country' => '3.16',
- 'Locale::Currency' => '3.16',
- 'Locale::Language' => '3.16',
- 'Locale::Maketext' => '1.19',
- 'Locale::Maketext::Guts'=> '1.17',
- 'Locale::Maketext::GutsLoader'=> '1.17',
- 'Locale::Maketext::Simple'=> '0.21',
- 'Locale::Script' => '3.16',
- 'Log::Message' => '0.04',
- 'Log::Message::Config' => '0.04',
- 'Log::Message::Handlers'=> '0.04',
- 'Log::Message::Item' => '0.04',
- 'Log::Message::Simple' => '0.08',
- 'MIME::Base64' => '3.13',
- 'MIME::QuotedPrint' => '3.13',
- 'Math::BigFloat' => '1.993',
- 'Math::BigFloat::Trace' => '0.01',
- 'Math::BigInt' => '1.994',
- 'Math::BigInt::Calc' => '1.993',
- 'Math::BigInt::CalcEmu' => '1.993',
- 'Math::BigInt::FastCalc'=> '0.28',
- 'Math::BigInt::Trace' => '0.01',
- 'Math::BigRat' => '0.26_02',
- 'Math::Complex' => '1.56',
- 'Math::Trig' => '1.2',
- 'Memoize' => '1.02',
- 'Memoize::AnyDBM_File' => '1.02',
- 'Memoize::Expire' => '1.02',
- 'Memoize::ExpireFile' => '1.02',
- 'Memoize::ExpireTest' => '1.02',
- 'Memoize::NDBM_File' => '1.02',
- 'Memoize::SDBM_File' => '1.02',
- 'Memoize::Storable' => '1.02',
- 'Module::Build' => '0.3800',
- 'Module::Build::Base' => '0.3800',
- 'Module::Build::Compat' => '0.3800',
- 'Module::Build::Config' => '0.3800',
- 'Module::Build::ConfigData'=> undef,
- 'Module::Build::Cookbook'=> '0.3800',
- 'Module::Build::Dumper' => '0.3800',
- 'Module::Build::ModuleInfo'=> '0.3800',
- 'Module::Build::Notes' => '0.3800',
- 'Module::Build::PPMMaker'=> '0.3800',
- 'Module::Build::Platform::Amiga'=> '0.3800',
- 'Module::Build::Platform::Default'=> '0.3800',
- 'Module::Build::Platform::EBCDIC'=> '0.3800',
- 'Module::Build::Platform::MPEiX'=> '0.3800',
- 'Module::Build::Platform::MacOS'=> '0.3800',
- 'Module::Build::Platform::RiscOS'=> '0.3800',
- 'Module::Build::Platform::Unix'=> '0.3800',
- 'Module::Build::Platform::VMS'=> '0.3800',
- 'Module::Build::Platform::VOS'=> '0.3800',
- 'Module::Build::Platform::Windows'=> '0.3800',
- 'Module::Build::Platform::aix'=> '0.3800',
- 'Module::Build::Platform::cygwin'=> '0.3800',
- 'Module::Build::Platform::darwin'=> '0.3800',
- 'Module::Build::Platform::os2'=> '0.3800',
- 'Module::Build::PodParser'=> '0.3800',
- 'Module::Build::Version'=> '0.87',
- 'Module::Build::YAML' => '1.41',
- 'Module::CoreList' => '2.49_02',
- 'Module::Load' => '0.18',
- 'Module::Load::Conditional'=> '0.44',
- 'Module::Loaded' => '0.06',
- 'Module::Metadata' => '1.000004',
- 'Module::Pluggable' => '3.9',
- 'Module::Pluggable::Object'=> '3.9',
- 'Moped::Msg' => '0.01',
- 'NDBM_File' => '1.12',
- 'NEXT' => '0.65',
- 'Net::Cmd' => '2.29',
- 'Net::Config' => '1.11',
- 'Net::Domain' => '2.20',
- 'Net::FTP' => '2.77',
- 'Net::FTP::A' => '1.18',
- 'Net::FTP::E' => '0.01',
- 'Net::FTP::I' => '1.12',
- 'Net::FTP::L' => '0.01',
- 'Net::FTP::dataconn' => '0.11',
- 'Net::NNTP' => '2.24',
- 'Net::Netrc' => '2.12',
- 'Net::POP3' => '2.29',
- 'Net::Ping' => '2.38',
- 'Net::SMTP' => '2.31',
- 'Net::Time' => '2.10',
- 'Net::hostent' => '1.01',
- 'Net::netent' => '1.00',
- 'Net::protoent' => '1.00',
- 'Net::servent' => '1.01',
- 'O' => '1.01',
- 'ODBM_File' => '1.10',
- 'Object::Accessor' => '0.38',
- 'Opcode' => '1.18',
- 'POSIX' => '1.24',
- 'Package::Constants' => '0.02',
- 'Params::Check' => '0.28',
- 'Parse::CPAN::Meta' => '1.4401',
- 'Perl::OSType' => '1.002',
- 'PerlIO' => '1.07',
- 'PerlIO::encoding' => '0.14',
- 'PerlIO::scalar' => '0.11_01',
- 'PerlIO::via' => '0.11',
- 'PerlIO::via::QuotedPrint'=> '0.06',
- 'Pod::Checker' => '1.45',
- 'Pod::Escapes' => '1.04',
- 'Pod::Find' => '1.35',
- 'Pod::Functions' => '1.04',
- 'Pod::Html' => '1.11',
- 'Pod::InputObjects' => '1.31',
- 'Pod::LaTeX' => '0.59',
- 'Pod::Man' => '2.25',
- 'Pod::ParseLink' => '1.10',
- 'Pod::ParseUtils' => '1.36',
- 'Pod::Parser' => '1.37',
- 'Pod::Perldoc' => '3.15_04',
- 'Pod::Perldoc::BaseTo' => undef,
- 'Pod::Perldoc::GetOptsOO'=> undef,
- 'Pod::Perldoc::ToChecker'=> undef,
- 'Pod::Perldoc::ToMan' => undef,
- 'Pod::Perldoc::ToNroff' => undef,
- 'Pod::Perldoc::ToPod' => undef,
- 'Pod::Perldoc::ToRtf' => undef,
- 'Pod::Perldoc::ToText' => undef,
- 'Pod::Perldoc::ToTk' => undef,
- 'Pod::Perldoc::ToXml' => undef,
- 'Pod::PlainText' => '2.04',
- 'Pod::Select' => '1.36',
- 'Pod::Simple' => '3.16',
- 'Pod::Simple::BlackBox' => '3.16',
- 'Pod::Simple::Checker' => '3.16',
- 'Pod::Simple::Debug' => '3.16',
- 'Pod::Simple::DumpAsText'=> '3.16',
- 'Pod::Simple::DumpAsXML'=> '3.16',
- 'Pod::Simple::HTML' => '3.16',
- 'Pod::Simple::HTMLBatch'=> '3.16',
- 'Pod::Simple::HTMLLegacy'=> '5.01',
- 'Pod::Simple::LinkSection'=> '3.16',
- 'Pod::Simple::Methody' => '3.16',
- 'Pod::Simple::Progress' => '3.16',
- 'Pod::Simple::PullParser'=> '3.16',
- 'Pod::Simple::PullParserEndToken'=> '3.16',
- 'Pod::Simple::PullParserStartToken'=> '3.16',
- 'Pod::Simple::PullParserTextToken'=> '3.16',
- 'Pod::Simple::PullParserToken'=> '3.16',
- 'Pod::Simple::RTF' => '3.16',
- 'Pod::Simple::Search' => '3.16',
- 'Pod::Simple::SimpleTree'=> '3.16',
- 'Pod::Simple::Text' => '3.16',
- 'Pod::Simple::TextContent'=> '3.16',
- 'Pod::Simple::TiedOutFH'=> '3.16',
- 'Pod::Simple::Transcode'=> '3.16',
- 'Pod::Simple::TranscodeDumb'=> '3.16',
- 'Pod::Simple::TranscodeSmart'=> '3.16',
- 'Pod::Simple::XHTML' => '3.16',
- 'Pod::Simple::XMLOutStream'=> '3.16',
- 'Pod::Text' => '3.15',
- 'Pod::Text::Color' => '2.06',
- 'Pod::Text::Overstrike' => '2.04',
- 'Pod::Text::Termcap' => '2.06',
- 'Pod::Usage' => '1.36',
- 'SDBM_File' => '1.09',
- 'Safe' => '2.29',
- 'Scalar::Util' => '1.23',
- 'Scalar::Util::PP' => '1.23',
- 'Search::Dict' => '1.03',
- 'SelectSaver' => '1.02',
- 'SelfLoader' => '1.18',
- 'Shell' => '0.72_01',
- 'Socket' => '1.94',
- 'Storable' => '2.27',
- 'Symbol' => '1.07',
- 'Sys::Hostname' => '1.16',
- 'Sys::Syslog' => '0.27',
- 'Sys::Syslog::win32::Win32'=> undef,
- 'TAP::Base' => '3.23',
- 'TAP::Formatter::Base' => '3.23',
- 'TAP::Formatter::Color' => '3.23',
- 'TAP::Formatter::Console'=> '3.23',
- 'TAP::Formatter::Console::ParallelSession'=> '3.23',
- 'TAP::Formatter::Console::Session'=> '3.23',
- 'TAP::Formatter::File' => '3.23',
- 'TAP::Formatter::File::Session'=> '3.23',
- 'TAP::Formatter::Session'=> '3.23',
- 'TAP::Harness' => '3.23',
- 'TAP::Object' => '3.23',
- 'TAP::Parser' => '3.23',
- 'TAP::Parser::Aggregator'=> '3.23',
- 'TAP::Parser::Grammar' => '3.23',
- 'TAP::Parser::Iterator' => '3.23',
- 'TAP::Parser::Iterator::Array'=> '3.23',
- 'TAP::Parser::Iterator::Process'=> '3.23',
- 'TAP::Parser::Iterator::Stream'=> '3.23',
- 'TAP::Parser::IteratorFactory'=> '3.23',
- 'TAP::Parser::Multiplexer'=> '3.23',
- 'TAP::Parser::Result' => '3.23',
- 'TAP::Parser::Result::Bailout'=> '3.23',
- 'TAP::Parser::Result::Comment'=> '3.23',
- 'TAP::Parser::Result::Plan'=> '3.23',
- 'TAP::Parser::Result::Pragma'=> '3.23',
- 'TAP::Parser::Result::Test'=> '3.23',
- 'TAP::Parser::Result::Unknown'=> '3.23',
- 'TAP::Parser::Result::Version'=> '3.23',
- 'TAP::Parser::Result::YAML'=> '3.23',
- 'TAP::Parser::ResultFactory'=> '3.23',
- 'TAP::Parser::Scheduler'=> '3.23',
- 'TAP::Parser::Scheduler::Job'=> '3.23',
- 'TAP::Parser::Scheduler::Spinner'=> '3.23',
- 'TAP::Parser::Source' => '3.23',
- 'TAP::Parser::SourceHandler'=> '3.23',
- 'TAP::Parser::SourceHandler::Executable'=> '3.23',
- 'TAP::Parser::SourceHandler::File'=> '3.23',
- 'TAP::Parser::SourceHandler::Handle'=> '3.23',
- 'TAP::Parser::SourceHandler::Perl'=> '3.23',
- 'TAP::Parser::SourceHandler::RawTAP'=> '3.23',
- 'TAP::Parser::Utils' => '3.23',
- 'TAP::Parser::YAMLish::Reader'=> '3.23',
- 'TAP::Parser::YAMLish::Writer'=> '3.23',
- 'Term::ANSIColor' => '3.00',
- 'Term::Cap' => '1.12',
- 'Term::Complete' => '1.402',
- 'Term::ReadLine' => '1.07',
- 'Term::UI' => '0.26',
- 'Term::UI::History' => undef,
- 'Test' => '1.25_02',
- 'Test::Builder' => '0.98',
- 'Test::Builder::Module' => '0.98',
- 'Test::Builder::Tester' => '1.22',
- 'Test::Builder::Tester::Color'=> '1.22',
- 'Test::Harness' => '3.23',
- 'Test::More' => '0.98',
- 'Test::Simple' => '0.98',
- 'Text::Abbrev' => '1.01',
- 'Text::Balanced' => '2.02',
- 'Text::ParseWords' => '3.27',
- 'Text::Soundex' => '3.03_01',
- 'Text::Tabs' => '2009.0305',
- 'Text::Wrap' => '2009.0305',
- 'Thread' => '3.02',
- 'Thread::Queue' => '2.12',
- 'Thread::Semaphore' => '2.12',
- 'Tie::Array' => '1.04',
- 'Tie::File' => '0.97_02',
- 'Tie::Handle' => '4.2',
- 'Tie::Hash' => '1.04',
- 'Tie::Hash::NamedCapture'=> '0.08',
- 'Tie::Memoize' => '1.1',
- 'Tie::RefHash' => '1.39',
- 'Tie::Scalar' => '1.02',
- 'Tie::StdHandle' => '4.2',
- 'Tie::SubstrHash' => '1.00',
- 'Time::HiRes' => '1.9721_01',
- 'Time::Local' => '1.2000',
- 'Time::Piece' => '1.20_01',
- 'Time::Piece::Seconds' => undef,
- 'Time::Seconds' => undef,
- 'Time::gmtime' => '1.03',
- 'Time::localtime' => '1.02',
- 'Time::tm' => '1.00',
- 'UNIVERSAL' => '1.08',
- 'Unicode' => '6.0.0',
- 'Unicode::Collate' => '0.73',
- 'Unicode::Collate::CJK::Big5'=> '0.65',
- 'Unicode::Collate::CJK::GB2312'=> '0.65',
- 'Unicode::Collate::CJK::JISX0208'=> '0.64',
- 'Unicode::Collate::CJK::Korean'=> '0.66',
- 'Unicode::Collate::CJK::Pinyin'=> '0.65',
- 'Unicode::Collate::CJK::Stroke'=> '0.65',
- 'Unicode::Collate::Locale'=> '0.73',
- 'Unicode::Normalize' => '1.10',
- 'Unicode::UCD' => '0.32',
- 'User::grent' => '1.01',
- 'User::pwent' => '1.00',
- 'VMS::DCLsym' => '1.05',
- 'VMS::Filespec' => '1.12',
- 'VMS::Stdio' => '2.4',
- 'Version::Requirements' => '0.101020',
- 'Win32' => '0.44',
- 'Win32API::File' => '0.1101',
- 'Win32API::File::ExtUtils::Myconst2perl'=> '1',
- 'Win32CORE' => '0.02',
- 'XS::APItest' => '0.28',
- 'XS::Typemap' => '0.05',
- 'XSLoader' => '0.13',
- 'XSLoader::XSLoader' => '0.13',
- 'attributes' => '0.14',
- 'autodie' => '2.1001',
- 'autodie::exception' => '2.1001',
- 'autodie::exception::system'=> '2.1001',
- 'autodie::hints' => '2.1001',
- 'autouse' => '1.06',
- 'base' => '2.16',
- 'bigint' => '0.27',
- 'bignum' => '0.27',
- 'bigrat' => '0.28',
- 'blib' => '1.06',
- 'bytes' => '1.04',
- 'charnames' => '1.18',
- 'constant' => '1.21',
- 'deprecate' => '0.02',
- 'diagnostics' => '1.22',
- 'encoding' => '2.6_01',
- 'encoding::warnings' => '0.11',
- 'feature' => '1.20',
- 'fields' => '2.15',
- 'filetest' => '1.02',
- 'if' => '0.0601',
- 'inc::latest' => '0.3800',
- 'integer' => '1.00',
- 'less' => '0.03',
- 'lib' => '0.63',
- 'locale' => '1.00',
- 'mro' => '1.07',
- 'open' => '1.08',
- 'ops' => '1.02',
- 'overload' => '1.13',
- 'overload::numbers' => undef,
- 'overloading' => '0.01',
- 'parent' => '0.225',
- 're' => '0.18',
- 'sigtrap' => '1.05',
- 'sort' => '2.01',
- 'strict' => '1.04',
- 'subs' => '1.00',
- 'threads' => '1.83',
- 'threads::shared' => '1.37',
- 'utf8' => '1.09',
- 'vars' => '1.02',
- 'version' => '0.88',
- 'vmsish' => '1.02',
- 'warnings' => '1.12',
- 'warnings::register' => '1.02',
+ delta_from => 5.014001,
+ changed => {
+ 'CPAN' => '1.9600_01',
+ 'CPAN::Distribution' => '1.9602_01',
+ 'Devel::DProf::dprof::V'=> undef,
+ 'Encode' => '2.42_01',
+ 'File::Glob' => '1.13',
+ 'Module::CoreList' => '2.49_02',
+ 'PerlIO::scalar' => '0.11_01',
+ 'Time::Piece::Seconds' => undef,
+ 'XSLoader::XSLoader' => '0.13',
+ },
+ removed => {
+ }
+ },
+ 5.014003 => {
+ delta_from => 5.014002,
+ changed => {
+ 'Digest' => '1.16_01',
+ 'IPC::Open3' => '1.09_01',
+ 'Module::CoreList' => '2.49_04',
+ },
+ removed => {
+ }
+ },
+ 5.015 => {
+ delta_from => 5.014001,
+ changed => {
+ 'Archive::Extract' => '0.52',
+ 'Attribute::Handlers' => '0.91',
+ 'B' => '1.30',
+ 'B::Concise' => '0.84',
+ 'B::Deparse' => '1.05',
+ 'Benchmark' => '1.13',
+ 'CGI' => '3.54',
+ 'CGI::Util' => '3.53',
+ 'CPAN::Meta' => '2.110930',
+ 'CPAN::Meta::Converter' => '2.110930',
+ 'CPAN::Meta::Feature' => '2.110930',
+ 'CPAN::Meta::History' => '2.110930',
+ 'CPAN::Meta::Prereqs' => '2.110930',
+ 'CPAN::Meta::Spec' => '2.110930',
+ 'CPAN::Meta::Validator' => '2.110930',
+ 'CPANPLUS' => '0.9105',
+ 'CPANPLUS::Dist::Build' => '0.56',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.56',
+ 'CPANPLUS::Internals' => '0.9105',
+ 'CPANPLUS::Shell::Default'=> '0.9105',
+ 'Compress::Raw::Bzip2' => '2.035',
+ 'Compress::Raw::Zlib' => '2.035',
+ 'Compress::Zlib' => '2.035',
+ 'DB_File' => '1.822',
+ 'Data::Dumper' => '2.131',
+ 'Devel::Peek' => '1.08',
+ 'Digest::SHA' => '5.62',
+ 'Encode' => '2.43',
+ 'Encode::Alias' => '2.14',
+ 'ExtUtils::CBuilder' => '0.280204',
+ 'ExtUtils::CBuilder::Base'=> '0.280204',
+ 'Fatal' => '2.10',
+ 'File::Spec::Win32' => '3.34',
+ 'Filter::Simple' => '0.87',
+ 'Filter::Util::Call' => '1.39',
+ 'FindBin' => '1.51',
+ 'Hash::Util::FieldHash' => '1.10',
+ 'I18N::LangTags' => '0.36',
+ 'IO::Compress::Adapter::Bzip2'=> '2.035',
+ 'IO::Compress::Adapter::Deflate'=> '2.035',
+ 'IO::Compress::Adapter::Identity'=> '2.035',
+ 'IO::Compress::Base' => '2.035',
+ 'IO::Compress::Base::Common'=> '2.035',
+ 'IO::Compress::Bzip2' => '2.035',
+ 'IO::Compress::Deflate' => '2.035',
+ 'IO::Compress::Gzip' => '2.035',
+ 'IO::Compress::Gzip::Constants'=> '2.035',
+ 'IO::Compress::RawDeflate'=> '2.035',
+ 'IO::Compress::Zip' => '2.035',
+ 'IO::Compress::Zip::Constants'=> '2.035',
+ 'IO::Compress::Zlib::Constants'=> '2.035',
+ 'IO::Compress::Zlib::Extra'=> '2.035',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.035',
+ 'IO::Uncompress::Adapter::Identity'=> '2.035',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.035',
+ 'IO::Uncompress::AnyInflate'=> '2.035',
+ 'IO::Uncompress::AnyUncompress'=> '2.035',
+ 'IO::Uncompress::Base' => '2.035',
+ 'IO::Uncompress::Bunzip2'=> '2.035',
+ 'IO::Uncompress::Gunzip'=> '2.035',
+ 'IO::Uncompress::Inflate'=> '2.035',
+ 'IO::Uncompress::RawInflate'=> '2.035',
+ 'IO::Uncompress::Unzip' => '2.035',
+ 'IPC::Open2' => '1.04',
+ 'IPC::Open3' => '1.11',
+ 'JSON::PP' => '2.27200',
+ 'Math::BigFloat' => '1.994',
+ 'Math::BigInt' => '1.995',
+ 'Math::Complex' => '1.57',
+ 'Math::Trig' => '1.21',
+ 'Module::CoreList' => '2.51',
+ 'ODBM_File' => '1.11',
+ 'Object::Accessor' => '0.42',
+ 'Opcode' => '1.19',
+ 'PerlIO::encoding' => '0.15',
+ 'PerlIO::scalar' => '0.12',
+ 'Pod::Perldoc' => '3.15_05',
+ 'Storable' => '2.28',
+ 'Sys::Syslog' => '0.29',
+ 'Time::HiRes' => '1.9722',
+ 'Unicode::Collate' => '0.76',
+ 'Unicode::Collate::CJK::Pinyin'=> '0.76',
+ 'Unicode::Collate::CJK::Stroke'=> '0.76',
+ 'Unicode::Collate::Locale'=> '0.76',
+ 'Unicode::Normalize' => '1.12',
+ 'XS::APItest' => '0.29',
+ 'XSLoader' => '0.15',
+ 'autodie' => '2.10',
+ 'autodie::exception' => '2.10',
+ 'autodie::exception::system'=> '2.10',
+ 'autodie::hints' => '2.10',
+ 'base' => '2.17',
+ 'charnames' => '1.22',
+ 'constant' => '1.22',
+ 'feature' => '1.21',
+ 'mro' => '1.08',
+ 'overload' => '1.14',
+ 'threads::shared' => '1.38',
+ 'vmsish' => '1.03',
+ },
+ removed => {
+ 'Devel::DProf' => 1,
+ 'Shell' => 1,
+ }
+ },
+ 5.015001 => {
+ delta_from => 5.015,
+ changed => {
+ 'B::Deparse' => '1.06',
+ 'CGI' => '3.55',
+ 'CPAN::Meta' => '2.110930001',
+ 'CPAN::Meta::Converter' => '2.110930001',
+ 'CPANPLUS' => '0.9108',
+ 'CPANPLUS::Internals' => '0.9108',
+ 'CPANPLUS::Shell::Default'=> '0.9108',
+ 'Carp' => '1.21',
+ 'Carp::Heavy' => '1.21',
+ 'Compress::Raw::Bzip2' => '2.037',
+ 'Compress::Raw::Zlib' => '2.037',
+ 'Compress::Zlib' => '2.037',
+ 'Cwd' => '3.37',
+ 'Env' => '1.03',
+ 'ExtUtils::Command::MM' => '6.58',
+ 'ExtUtils::Liblist' => '6.58',
+ 'ExtUtils::Liblist::Kid'=> '6.58',
+ 'ExtUtils::MM' => '6.58',
+ 'ExtUtils::MM_AIX' => '6.58',
+ 'ExtUtils::MM_Any' => '6.58',
+ 'ExtUtils::MM_BeOS' => '6.58',
+ 'ExtUtils::MM_Cygwin' => '6.58',
+ 'ExtUtils::MM_DOS' => '6.58',
+ 'ExtUtils::MM_Darwin' => '6.58',
+ 'ExtUtils::MM_MacOS' => '6.58',
+ 'ExtUtils::MM_NW5' => '6.58',
+ 'ExtUtils::MM_OS2' => '6.58',
+ 'ExtUtils::MM_QNX' => '6.58',
+ 'ExtUtils::MM_UWIN' => '6.58',
+ 'ExtUtils::MM_Unix' => '6.58',
+ 'ExtUtils::MM_VMS' => '6.58',
+ 'ExtUtils::MM_VOS' => '6.58',
+ 'ExtUtils::MM_Win32' => '6.58',
+ 'ExtUtils::MM_Win95' => '6.58',
+ 'ExtUtils::MY' => '6.58',
+ 'ExtUtils::MakeMaker' => '6.58',
+ 'ExtUtils::MakeMaker::Config'=> '6.58',
+ 'ExtUtils::Mkbootstrap' => '6.58',
+ 'ExtUtils::Mksymlists' => '6.58',
+ 'ExtUtils::ParseXS' => '3.00_01',
+ 'ExtUtils::ParseXS::Constants'=> undef,
+ 'ExtUtils::ParseXS::CountLines'=> undef,
+ 'ExtUtils::ParseXS::Utilities'=> undef,
+ 'ExtUtils::Typemaps' => '1.00',
+ 'ExtUtils::Typemaps::InputMap'=> undef,
+ 'ExtUtils::Typemaps::OutputMap'=> undef,
+ 'ExtUtils::Typemaps::Type'=> '0.05',
+ 'ExtUtils::testlib' => '6.58',
+ 'File::Basename' => '2.83',
+ 'File::Find' => '1.20',
+ 'HTTP::Tiny' => '0.013',
+ 'I18N::Langinfo' => '0.08_02',
+ 'IO::Compress::Adapter::Bzip2'=> '2.037',
+ 'IO::Compress::Adapter::Deflate'=> '2.037',
+ 'IO::Compress::Adapter::Identity'=> '2.037',
+ 'IO::Compress::Base' => '2.037',
+ 'IO::Compress::Base::Common'=> '2.037',
+ 'IO::Compress::Bzip2' => '2.037',
+ 'IO::Compress::Deflate' => '2.037',
+ 'IO::Compress::Gzip' => '2.037',
+ 'IO::Compress::Gzip::Constants'=> '2.037',
+ 'IO::Compress::RawDeflate'=> '2.037',
+ 'IO::Compress::Zip' => '2.037',
+ 'IO::Compress::Zip::Constants'=> '2.037',
+ 'IO::Compress::Zlib::Constants'=> '2.037',
+ 'IO::Compress::Zlib::Extra'=> '2.037',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.037',
+ 'IO::Uncompress::Adapter::Identity'=> '2.037',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.037',
+ 'IO::Uncompress::AnyInflate'=> '2.037',
+ 'IO::Uncompress::AnyUncompress'=> '2.037',
+ 'IO::Uncompress::Base' => '2.037',
+ 'IO::Uncompress::Bunzip2'=> '2.037',
+ 'IO::Uncompress::Gunzip'=> '2.037',
+ 'IO::Uncompress::Inflate'=> '2.037',
+ 'IO::Uncompress::RawInflate'=> '2.037',
+ 'IO::Uncompress::Unzip' => '2.037',
+ 'IPC::Cmd' => '0.72',
+ 'Locale::Codes' => '3.17',
+ 'Locale::Codes::Constants'=> '3.17',
+ 'Locale::Codes::Country'=> '3.17',
+ 'Locale::Codes::Country_Codes'=> '3.17',
+ 'Locale::Codes::Currency'=> '3.17',
+ 'Locale::Codes::Currency_Codes'=> '3.17',
+ 'Locale::Codes::LangExt'=> '3.17',
+ 'Locale::Codes::LangExt_Codes'=> '3.17',
+ 'Locale::Codes::LangVar'=> '3.17',
+ 'Locale::Codes::LangVar_Codes'=> '3.17',
+ 'Locale::Codes::Language'=> '3.17',
+ 'Locale::Codes::Language_Codes'=> '3.17',
+ 'Locale::Codes::Script' => '3.17',
+ 'Locale::Codes::Script_Codes'=> '3.17',
+ 'Locale::Country' => '3.17',
+ 'Locale::Currency' => '3.17',
+ 'Locale::Language' => '3.17',
+ 'Locale::Script' => '3.17',
+ 'Math::BigFloat::Trace' => '0.28',
+ 'Math::BigInt::FastCalc'=> '0.29',
+ 'Math::BigInt::Trace' => '0.28',
+ 'Math::BigRat' => '0.2602',
+ 'Math::Complex' => '1.58',
+ 'Math::Trig' => '1.22',
+ 'Module::CoreList' => '2.54',
+ 'Pod::Perldoc' => '3.15_06',
+ 'Pod::Simple' => '3.18',
+ 'Pod::Simple::BlackBox' => '3.18',
+ 'Pod::Simple::Checker' => '3.18',
+ 'Pod::Simple::Debug' => '3.18',
+ 'Pod::Simple::DumpAsText'=> '3.18',
+ 'Pod::Simple::DumpAsXML'=> '3.18',
+ 'Pod::Simple::HTML' => '3.18',
+ 'Pod::Simple::HTMLBatch'=> '3.18',
+ 'Pod::Simple::LinkSection'=> '3.18',
+ 'Pod::Simple::Methody' => '3.18',
+ 'Pod::Simple::Progress' => '3.18',
+ 'Pod::Simple::PullParser'=> '3.18',
+ 'Pod::Simple::PullParserEndToken'=> '3.18',
+ 'Pod::Simple::PullParserStartToken'=> '3.18',
+ 'Pod::Simple::PullParserTextToken'=> '3.18',
+ 'Pod::Simple::PullParserToken'=> '3.18',
+ 'Pod::Simple::RTF' => '3.18',
+ 'Pod::Simple::Search' => '3.18',
+ 'Pod::Simple::SimpleTree'=> '3.18',
+ 'Pod::Simple::Text' => '3.18',
+ 'Pod::Simple::TextContent'=> '3.18',
+ 'Pod::Simple::TiedOutFH'=> '3.18',
+ 'Pod::Simple::Transcode'=> '3.18',
+ 'Pod::Simple::TranscodeDumb'=> '3.18',
+ 'Pod::Simple::TranscodeSmart'=> '3.18',
+ 'Pod::Simple::XHTML' => '3.18',
+ 'Pod::Simple::XMLOutStream'=> '3.18',
+ 'Storable' => '2.31',
+ 'Sys::Syslog::Win32' => undef,
+ 'Time::HiRes' => '1.9724',
+ 'Unicode::Collate' => '0.77',
+ 'Unicode::UCD' => '0.33',
+ 'Win32API::File' => '0.1200',
+ 'XS::APItest' => '0.30',
+ 'attributes' => '0.15',
+ 'bigint' => '0.28',
+ 'bignum' => '0.28',
+ 'charnames' => '1.23',
+ 'diagnostics' => '1.23',
+ 'feature' => '1.22',
+ 'overload' => '1.15',
+ 'perlfaq' => '5.015000',
+ 'threads' => '1.84',
+ 'version' => '0.93',
+ },
+ removed => {
+ 'ExtUtils::MakeMaker::YAML'=> 1,
+ 'Locale::Constants' => 1,
+ 'Sys::Syslog::win32::Win32'=> 1,
+ }
+ },
+ 5.015002 => {
+ delta_from => 5.015001,
+ changed => {
+ 'Attribute::Handlers' => '0.92',
+ 'B' => '1.31',
+ 'B::Concise' => '0.85',
+ 'B::Deparse' => '1.07',
+ 'B::Terse' => '1.06',
+ 'B::Xref' => '1.03',
+ 'CPAN' => '1.9800',
+ 'CPAN::Exception::yaml_process_error'=> '5.5',
+ 'CPAN::Meta' => '2.112150',
+ 'CPAN::Meta::Converter' => '2.112150',
+ 'CPAN::Meta::Feature' => '2.112150',
+ 'CPAN::Meta::History' => '2.112150',
+ 'CPAN::Meta::Prereqs' => '2.112150',
+ 'CPAN::Meta::Spec' => '2.112150',
+ 'CPAN::Meta::Validator' => '2.112150',
+ 'CPANPLUS' => '0.9109',
+ 'CPANPLUS::Internals' => '0.9109',
+ 'CPANPLUS::Shell::Default'=> '0.9109',
+ 'DB_File' => '1.824',
+ 'Data::Dumper' => '2.132',
+ 'Encode' => '2.44',
+ 'Encode::Alias' => '2.15',
+ 'Encode::Encoder' => '2.02',
+ 'Encode::Guess' => '2.05',
+ 'ExtUtils::Command::MM' => '6.59',
+ 'ExtUtils::Install' => '1.57',
+ 'ExtUtils::Installed' => '1.999002',
+ 'ExtUtils::Liblist' => '6.59',
+ 'ExtUtils::Liblist::Kid'=> '6.59',
+ 'ExtUtils::MM' => '6.59',
+ 'ExtUtils::MM_AIX' => '6.59',
+ 'ExtUtils::MM_Any' => '6.59',
+ 'ExtUtils::MM_BeOS' => '6.59',
+ 'ExtUtils::MM_Cygwin' => '6.59',
+ 'ExtUtils::MM_DOS' => '6.59',
+ 'ExtUtils::MM_Darwin' => '6.59',
+ 'ExtUtils::MM_MacOS' => '6.59',
+ 'ExtUtils::MM_NW5' => '6.59',
+ 'ExtUtils::MM_OS2' => '6.59',
+ 'ExtUtils::MM_QNX' => '6.59',
+ 'ExtUtils::MM_UWIN' => '6.59',
+ 'ExtUtils::MM_Unix' => '6.59',
+ 'ExtUtils::MM_VMS' => '6.59',
+ 'ExtUtils::MM_VOS' => '6.59',
+ 'ExtUtils::MM_Win32' => '6.59',
+ 'ExtUtils::MM_Win95' => '6.59',
+ 'ExtUtils::MY' => '6.59',
+ 'ExtUtils::MakeMaker' => '6.59',
+ 'ExtUtils::MakeMaker::Config'=> '6.59',
+ 'ExtUtils::Manifest' => '1.60',
+ 'ExtUtils::Mkbootstrap' => '6.59',
+ 'ExtUtils::Mksymlists' => '6.59',
+ 'ExtUtils::ParseXS' => '3.03_01',
+ 'ExtUtils::Typemaps' => '1.01',
+ 'ExtUtils::testlib' => '6.59',
+ 'File::Spec' => '3.34',
+ 'File::Spec::Mac' => '3.35',
+ 'File::Spec::Unix' => '3.34',
+ 'File::Spec::VMS' => '3.35',
+ 'File::Spec::Win32' => '3.35',
+ 'I18N::LangTags' => '0.37',
+ 'IO' => '1.25_05',
+ 'IO::Handle' => '1.32',
+ 'IO::Socket' => '1.33',
+ 'IO::Socket::INET' => '1.32',
+ 'IPC::Open3' => '1.12',
+ 'Math::BigFloat' => '1.995',
+ 'Math::BigFloat::Trace' => '0.29',
+ 'Math::BigInt' => '1.996',
+ 'Math::BigInt::Trace' => '0.29',
+ 'Module::Build' => '0.39_01',
+ 'Module::Build::Base' => '0.39_01',
+ 'Module::Build::Compat' => '0.39_01',
+ 'Module::Build::Config' => '0.39_01',
+ 'Module::Build::Cookbook'=> '0.39_01',
+ 'Module::Build::Dumper' => '0.39_01',
+ 'Module::Build::ModuleInfo'=> '0.39_01',
+ 'Module::Build::Notes' => '0.39_01',
+ 'Module::Build::PPMMaker'=> '0.39_01',
+ 'Module::Build::Platform::Amiga'=> '0.39_01',
+ 'Module::Build::Platform::Default'=> '0.39_01',
+ 'Module::Build::Platform::EBCDIC'=> '0.39_01',
+ 'Module::Build::Platform::MPEiX'=> '0.39_01',
+ 'Module::Build::Platform::MacOS'=> '0.39_01',
+ 'Module::Build::Platform::RiscOS'=> '0.39_01',
+ 'Module::Build::Platform::Unix'=> '0.39_01',
+ 'Module::Build::Platform::VMS'=> '0.39_01',
+ 'Module::Build::Platform::VOS'=> '0.39_01',
+ 'Module::Build::Platform::Windows'=> '0.39_01',
+ 'Module::Build::Platform::aix'=> '0.39_01',
+ 'Module::Build::Platform::cygwin'=> '0.39_01',
+ 'Module::Build::Platform::darwin'=> '0.39_01',
+ 'Module::Build::Platform::os2'=> '0.39_01',
+ 'Module::Build::PodParser'=> '0.39_01',
+ 'Module::CoreList' => '2.55',
+ 'Module::Load' => '0.20',
+ 'Module::Metadata' => '1.000005_01',
+ 'Opcode' => '1.20',
+ 'Params::Check' => '0.32',
+ 'PerlIO::via' => '0.12',
+ 'Term::ANSIColor' => '3.01',
+ 'Unicode::Collate' => '0.78',
+ 'Unicode::Normalize' => '1.13',
+ 'Unicode::UCD' => '0.34',
+ 'bigint' => '0.29',
+ 'bignum' => '0.29',
+ 'bigrat' => '0.29',
+ 'diagnostics' => '1.24',
+ 'fields' => '2.16',
+ 'inc::latest' => '0.39_01',
+ },
+ removed => {
+ }
+ },
+ 5.015003 => {
+ delta_from => 5.015002,
+ changed => {
+ 'AnyDBM_File' => '1.01',
+ 'Archive::Extract' => '0.56',
+ 'Archive::Tar' => '1.78',
+ 'Archive::Tar::Constant'=> '1.78',
+ 'Archive::Tar::File' => '1.78',
+ 'Attribute::Handlers' => '0.93',
+ 'B' => '1.32',
+ 'B::Concise' => '0.86',
+ 'B::Deparse' => '1.08',
+ 'CPAN::Meta' => '2.112621',
+ 'CPAN::Meta::Converter' => '2.112621',
+ 'CPAN::Meta::Feature' => '2.112621',
+ 'CPAN::Meta::History' => '2.112621',
+ 'CPAN::Meta::Prereqs' => '2.112621',
+ 'CPAN::Meta::Spec' => '2.112621',
+ 'CPAN::Meta::Validator' => '2.112621',
+ 'CPAN::Meta::YAML' => '0.004',
+ 'CPANPLUS' => '0.9111',
+ 'CPANPLUS::Dist::Build' => '0.58',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.58',
+ 'CPANPLUS::Internals' => '0.9111',
+ 'CPANPLUS::Shell::Default'=> '0.9111',
+ 'Carp' => '1.23',
+ 'Carp::Heavy' => '1.23',
+ 'Data::Dumper' => '2.134',
+ 'Devel::PPPort' => '3.20',
+ 'Errno' => '1.14',
+ 'Exporter' => '5.65',
+ 'Exporter::Heavy' => '5.65',
+ 'ExtUtils::ParseXS' => '3.04_04',
+ 'ExtUtils::ParseXS::Constants'=> '3.04_04',
+ 'ExtUtils::ParseXS::CountLines'=> '3.04_04',
+ 'ExtUtils::ParseXS::Utilities'=> '3.04_04',
+ 'ExtUtils::Typemaps' => '1.02',
+ 'File::Glob' => '1.13',
+ 'Filter::Simple' => '0.88',
+ 'IO' => '1.25_06',
+ 'IO::Handle' => '1.33',
+ 'Locale::Codes' => '3.18',
+ 'Locale::Codes::Constants'=> '3.18',
+ 'Locale::Codes::Country'=> '3.18',
+ 'Locale::Codes::Country_Codes'=> '3.18',
+ 'Locale::Codes::Currency'=> '3.18',
+ 'Locale::Codes::Currency_Codes'=> '3.18',
+ 'Locale::Codes::LangExt'=> '3.18',
+ 'Locale::Codes::LangExt_Codes'=> '3.18',
+ 'Locale::Codes::LangVar'=> '3.18',
+ 'Locale::Codes::LangVar_Codes'=> '3.18',
+ 'Locale::Codes::Language'=> '3.18',
+ 'Locale::Codes::Language_Codes'=> '3.18',
+ 'Locale::Codes::Script' => '3.18',
+ 'Locale::Codes::Script_Codes'=> '3.18',
+ 'Locale::Country' => '3.18',
+ 'Locale::Currency' => '3.18',
+ 'Locale::Language' => '3.18',
+ 'Locale::Script' => '3.18',
+ 'Math::BigFloat' => '1.997',
+ 'Math::BigInt' => '1.997',
+ 'Math::BigInt::Calc' => '1.997',
+ 'Math::BigInt::CalcEmu' => '1.997',
+ 'Math::BigInt::FastCalc'=> '0.30',
+ 'Math::BigRat' => '0.2603',
+ 'Module::CoreList' => '2.56',
+ 'Module::Load::Conditional'=> '0.46',
+ 'Module::Metadata' => '1.000007',
+ 'ODBM_File' => '1.12',
+ 'POSIX' => '1.26',
+ 'Pod::Perldoc' => '3.15_07',
+ 'Pod::Simple' => '3.19',
+ 'Pod::Simple::BlackBox' => '3.19',
+ 'Pod::Simple::Checker' => '3.19',
+ 'Pod::Simple::Debug' => '3.19',
+ 'Pod::Simple::DumpAsText'=> '3.19',
+ 'Pod::Simple::DumpAsXML'=> '3.19',
+ 'Pod::Simple::HTML' => '3.19',
+ 'Pod::Simple::HTMLBatch'=> '3.19',
+ 'Pod::Simple::LinkSection'=> '3.19',
+ 'Pod::Simple::Methody' => '3.19',
+ 'Pod::Simple::Progress' => '3.19',
+ 'Pod::Simple::PullParser'=> '3.19',
+ 'Pod::Simple::PullParserEndToken'=> '3.19',
+ 'Pod::Simple::PullParserStartToken'=> '3.19',
+ 'Pod::Simple::PullParserTextToken'=> '3.19',
+ 'Pod::Simple::PullParserToken'=> '3.19',
+ 'Pod::Simple::RTF' => '3.19',
+ 'Pod::Simple::Search' => '3.19',
+ 'Pod::Simple::SimpleTree'=> '3.19',
+ 'Pod::Simple::Text' => '3.19',
+ 'Pod::Simple::TextContent'=> '3.19',
+ 'Pod::Simple::TiedOutFH'=> '3.19',
+ 'Pod::Simple::Transcode'=> '3.19',
+ 'Pod::Simple::TranscodeDumb'=> '3.19',
+ 'Pod::Simple::TranscodeSmart'=> '3.19',
+ 'Pod::Simple::XHTML' => '3.19',
+ 'Pod::Simple::XMLOutStream'=> '3.19',
+ 'Search::Dict' => '1.04',
+ 'Socket' => '1.94_01',
+ 'Storable' => '2.32',
+ 'Text::Abbrev' => '1.02',
+ 'Tie::Array' => '1.05',
+ 'UNIVERSAL' => '1.09',
+ 'Unicode::UCD' => '0.35',
+ 'XS::APItest' => '0.31',
+ 'XSLoader' => '0.16',
+ 'attributes' => '0.16',
+ 'diagnostics' => '1.25',
+ 'open' => '1.09',
+ 'perlfaq' => '5.0150034',
+ 'threads' => '1.85',
+ 'threads::shared' => '1.40',
+ },
+ removed => {
+ }
+ },
+ 5.015004 => {
+ delta_from => 5.015003,
+ changed => {
+ 'Archive::Tar' => '1.80',
+ 'Archive::Tar::Constant'=> '1.80',
+ 'Archive::Tar::File' => '1.80',
+ 'Digest' => '1.17',
+ 'DynaLoader' => '1.14',
+ 'ExtUtils::Command::MM' => '6.61_01',
+ 'ExtUtils::Liblist' => '6.61_01',
+ 'ExtUtils::Liblist::Kid'=> '6.61_01',
+ 'ExtUtils::MM' => '6.61_01',
+ 'ExtUtils::MM_AIX' => '6.61_01',
+ 'ExtUtils::MM_Any' => '6.61_01',
+ 'ExtUtils::MM_BeOS' => '6.61_01',
+ 'ExtUtils::MM_Cygwin' => '6.61_01',
+ 'ExtUtils::MM_DOS' => '6.61_01',
+ 'ExtUtils::MM_Darwin' => '6.61_01',
+ 'ExtUtils::MM_MacOS' => '6.61_01',
+ 'ExtUtils::MM_NW5' => '6.61_01',
+ 'ExtUtils::MM_OS2' => '6.61_01',
+ 'ExtUtils::MM_QNX' => '6.61_01',
+ 'ExtUtils::MM_UWIN' => '6.61_01',
+ 'ExtUtils::MM_Unix' => '6.61_01',
+ 'ExtUtils::MM_VMS' => '6.61_01',
+ 'ExtUtils::MM_VOS' => '6.61_01',
+ 'ExtUtils::MM_Win32' => '6.61_01',
+ 'ExtUtils::MM_Win95' => '6.61_01',
+ 'ExtUtils::MY' => '6.61_01',
+ 'ExtUtils::MakeMaker' => '6.61_01',
+ 'ExtUtils::MakeMaker::Config'=> '6.61_01',
+ 'ExtUtils::Mkbootstrap' => '6.61_01',
+ 'ExtUtils::Mksymlists' => '6.61_01',
+ 'ExtUtils::ParseXS' => '3.05',
+ 'ExtUtils::ParseXS::Constants'=> '3.05',
+ 'ExtUtils::ParseXS::CountLines'=> '3.05',
+ 'ExtUtils::ParseXS::Utilities'=> '3.05',
+ 'ExtUtils::testlib' => '6.61_01',
+ 'File::DosGlob' => '1.05',
+ 'Module::CoreList' => '2.57',
+ 'Module::Load' => '0.22',
+ 'Unicode::Collate' => '0.80',
+ 'Unicode::Collate::Locale'=> '0.80',
+ 'Unicode::UCD' => '0.36',
+ 'XS::APItest' => '0.32',
+ 'XS::Typemap' => '0.07',
+ 'attributes' => '0.17',
+ 'base' => '2.18',
+ 'constant' => '1.23',
+ 'mro' => '1.09',
+ 'open' => '1.10',
+ 'perlfaq' => '5.0150035',
+ },
+ removed => {
+ }
+ },
+ 5.015005 => {
+ delta_from => 5.015004,
+ changed => {
+ 'Archive::Extract' => '0.58',
+ 'B::Concise' => '0.87',
+ 'B::Deparse' => '1.09',
+ 'CGI' => '3.58',
+ 'CGI::Fast' => '1.09',
+ 'CPANPLUS' => '0.9112',
+ 'CPANPLUS::Dist::Build' => '0.60',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.60',
+ 'CPANPLUS::Internals' => '0.9112',
+ 'CPANPLUS::Shell::Default'=> '0.9112',
+ 'Compress::Raw::Bzip2' => '2.042',
+ 'Compress::Raw::Zlib' => '2.042',
+ 'Compress::Zlib' => '2.042',
+ 'Digest::SHA' => '5.63',
+ 'Errno' => '1.15',
+ 'ExtUtils::Command::MM' => '6.63_02',
+ 'ExtUtils::Liblist' => '6.63_02',
+ 'ExtUtils::Liblist::Kid'=> '6.63_02',
+ 'ExtUtils::MM' => '6.63_02',
+ 'ExtUtils::MM_AIX' => '6.63_02',
+ 'ExtUtils::MM_Any' => '6.63_02',
+ 'ExtUtils::MM_BeOS' => '6.63_02',
+ 'ExtUtils::MM_Cygwin' => '6.63_02',
+ 'ExtUtils::MM_DOS' => '6.63_02',
+ 'ExtUtils::MM_Darwin' => '6.63_02',
+ 'ExtUtils::MM_MacOS' => '6.63_02',
+ 'ExtUtils::MM_NW5' => '6.63_02',
+ 'ExtUtils::MM_OS2' => '6.63_02',
+ 'ExtUtils::MM_QNX' => '6.63_02',
+ 'ExtUtils::MM_UWIN' => '6.63_02',
+ 'ExtUtils::MM_Unix' => '6.63_02',
+ 'ExtUtils::MM_VMS' => '6.63_02',
+ 'ExtUtils::MM_VOS' => '6.63_02',
+ 'ExtUtils::MM_Win32' => '6.63_02',
+ 'ExtUtils::MM_Win95' => '6.63_02',
+ 'ExtUtils::MY' => '6.63_02',
+ 'ExtUtils::MakeMaker' => '6.63_02',
+ 'ExtUtils::MakeMaker::Config'=> '6.63_02',
+ 'ExtUtils::Mkbootstrap' => '6.63_02',
+ 'ExtUtils::Mksymlists' => '6.63_02',
+ 'ExtUtils::testlib' => '6.63_02',
+ 'File::DosGlob' => '1.06',
+ 'File::Glob' => '1.14',
+ 'HTTP::Tiny' => '0.016',
+ 'IO::Compress::Adapter::Bzip2'=> '2.042',
+ 'IO::Compress::Adapter::Deflate'=> '2.042',
+ 'IO::Compress::Adapter::Identity'=> '2.042',
+ 'IO::Compress::Base' => '2.042',
+ 'IO::Compress::Base::Common'=> '2.042',
+ 'IO::Compress::Bzip2' => '2.042',
+ 'IO::Compress::Deflate' => '2.042',
+ 'IO::Compress::Gzip' => '2.042',
+ 'IO::Compress::Gzip::Constants'=> '2.042',
+ 'IO::Compress::RawDeflate'=> '2.042',
+ 'IO::Compress::Zip' => '2.042',
+ 'IO::Compress::Zip::Constants'=> '2.042',
+ 'IO::Compress::Zlib::Constants'=> '2.042',
+ 'IO::Compress::Zlib::Extra'=> '2.042',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.042',
+ 'IO::Uncompress::Adapter::Identity'=> '2.042',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.042',
+ 'IO::Uncompress::AnyInflate'=> '2.042',
+ 'IO::Uncompress::AnyUncompress'=> '2.042',
+ 'IO::Uncompress::Base' => '2.042',
+ 'IO::Uncompress::Bunzip2'=> '2.042',
+ 'IO::Uncompress::Gunzip'=> '2.042',
+ 'IO::Uncompress::Inflate'=> '2.042',
+ 'IO::Uncompress::RawInflate'=> '2.042',
+ 'IO::Uncompress::Unzip' => '2.042',
+ 'Locale::Maketext' => '1.20',
+ 'Locale::Maketext::Guts'=> '1.20',
+ 'Locale::Maketext::GutsLoader'=> '1.20',
+ 'Module::CoreList' => '2.58',
+ 'Opcode' => '1.21',
+ 'Socket' => '1.94_02',
+ 'Storable' => '2.33',
+ 'UNIVERSAL' => '1.10',
+ 'Unicode::Collate' => '0.85',
+ 'Unicode::Collate::CJK::Pinyin'=> '0.85',
+ 'Unicode::Collate::CJK::Stroke'=> '0.85',
+ 'Unicode::Collate::Locale'=> '0.85',
+ 'Unicode::UCD' => '0.37',
+ 'XS::APItest' => '0.33',
+ 'arybase' => '0.01',
+ 'charnames' => '1.24',
+ 'feature' => '1.23',
+ 'perlfaq' => '5.0150036',
+ 'strict' => '1.05',
+ 'unicore::Name' => undef,
+ },
+ removed => {
+ }
+ },
+ 5.015006 => {
+ delta_from => 5.015005,
+ changed => {
+ 'Archive::Tar' => '1.82',
+ 'Archive::Tar::Constant'=> '1.82',
+ 'Archive::Tar::File' => '1.82',
+ 'AutoLoader' => '5.72',
+ 'B::Concise' => '0.88',
+ 'B::Debug' => '1.17',
+ 'B::Deparse' => '1.10',
+ 'CPAN::Meta::YAML' => '0.005',
+ 'CPANPLUS' => '0.9113',
+ 'CPANPLUS::Internals' => '0.9113',
+ 'CPANPLUS::Shell::Default'=> '0.9113',
+ 'Carp' => '1.24',
+ 'Compress::Raw::Bzip2' => '2.045',
+ 'Compress::Raw::Zlib' => '2.045',
+ 'Compress::Zlib' => '2.045',
+ 'Cwd' => '3.38',
+ 'DB' => '1.04',
+ 'Data::Dumper' => '2.135_01',
+ 'Digest::SHA' => '5.70',
+ 'Dumpvalue' => '1.17',
+ 'Exporter' => '5.66',
+ 'Exporter::Heavy' => '5.66',
+ 'ExtUtils::CBuilder' => '0.280205',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280204',
+ 'ExtUtils::Packlist' => '1.45',
+ 'ExtUtils::ParseXS' => '3.08',
+ 'ExtUtils::ParseXS::Constants'=> '3.08',
+ 'ExtUtils::ParseXS::CountLines'=> '3.08',
+ 'ExtUtils::ParseXS::Utilities'=> '3.08',
+ 'File::Basename' => '2.84',
+ 'File::Glob' => '1.15',
+ 'File::Spec::Unix' => '3.35',
+ 'Getopt::Std' => '1.07',
+ 'I18N::LangTags' => '0.38',
+ 'IO::Compress::Adapter::Bzip2'=> '2.045',
+ 'IO::Compress::Adapter::Deflate'=> '2.045',
+ 'IO::Compress::Adapter::Identity'=> '2.045',
+ 'IO::Compress::Base' => '2.046',
+ 'IO::Compress::Base::Common'=> '2.045',
+ 'IO::Compress::Bzip2' => '2.045',
+ 'IO::Compress::Deflate' => '2.045',
+ 'IO::Compress::Gzip' => '2.045',
+ 'IO::Compress::Gzip::Constants'=> '2.045',
+ 'IO::Compress::RawDeflate'=> '2.045',
+ 'IO::Compress::Zip' => '2.046',
+ 'IO::Compress::Zip::Constants'=> '2.045',
+ 'IO::Compress::Zlib::Constants'=> '2.045',
+ 'IO::Compress::Zlib::Extra'=> '2.045',
+ 'IO::Dir' => '1.09',
+ 'IO::File' => '1.16',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.045',
+ 'IO::Uncompress::Adapter::Identity'=> '2.045',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.045',
+ 'IO::Uncompress::AnyInflate'=> '2.045',
+ 'IO::Uncompress::AnyUncompress'=> '2.045',
+ 'IO::Uncompress::Base' => '2.046',
+ 'IO::Uncompress::Bunzip2'=> '2.045',
+ 'IO::Uncompress::Gunzip'=> '2.045',
+ 'IO::Uncompress::Inflate'=> '2.045',
+ 'IO::Uncompress::RawInflate'=> '2.045',
+ 'IO::Uncompress::Unzip' => '2.046',
+ 'Locale::Codes' => '3.20',
+ 'Locale::Codes::Constants'=> '3.20',
+ 'Locale::Codes::Country'=> '3.20',
+ 'Locale::Codes::Country_Codes'=> '3.20',
+ 'Locale::Codes::Country_Retired'=> '3.20',
+ 'Locale::Codes::Currency'=> '3.20',
+ 'Locale::Codes::Currency_Codes'=> '3.20',
+ 'Locale::Codes::Currency_Retired'=> '3.20',
+ 'Locale::Codes::LangExt'=> '3.20',
+ 'Locale::Codes::LangExt_Codes'=> '3.20',
+ 'Locale::Codes::LangExt_Retired'=> '3.20',
+ 'Locale::Codes::LangFam'=> '3.20',
+ 'Locale::Codes::LangFam_Codes'=> '3.20',
+ 'Locale::Codes::LangFam_Retired'=> '3.20',
+ 'Locale::Codes::LangVar'=> '3.20',
+ 'Locale::Codes::LangVar_Codes'=> '3.20',
+ 'Locale::Codes::LangVar_Retired'=> '3.20',
+ 'Locale::Codes::Language'=> '3.20',
+ 'Locale::Codes::Language_Codes'=> '3.20',
+ 'Locale::Codes::Language_Retired'=> '3.20',
+ 'Locale::Codes::Script' => '3.20',
+ 'Locale::Codes::Script_Codes'=> '3.20',
+ 'Locale::Codes::Script_Retired'=> '3.20',
+ 'Locale::Country' => '3.20',
+ 'Locale::Currency' => '3.20',
+ 'Locale::Language' => '3.20',
+ 'Locale::Maketext' => '1.21',
+ 'Locale::Script' => '3.20',
+ 'Module::CoreList' => '2.59',
+ 'Module::Loaded' => '0.08',
+ 'Opcode' => '1.22',
+ 'POSIX' => '1.27',
+ 'Pod::Html' => '1.12',
+ 'Pod::LaTeX' => '0.60',
+ 'Pod::Perldoc' => '3.15_08',
+ 'Safe' => '2.30',
+ 'SelfLoader' => '1.20',
+ 'Socket' => '1.97',
+ 'Storable' => '2.34',
+ 'UNIVERSAL' => '1.11',
+ 'Unicode::Collate' => '0.87',
+ 'Unicode::Collate::Locale'=> '0.87',
+ 'XS::APItest' => '0.34',
+ 'arybase' => '0.02',
+ 'charnames' => '1.27',
+ 'diagnostics' => '1.26',
+ 'feature' => '1.24',
+ 'if' => '0.0602',
+ 'overload' => '1.16',
+ 'sigtrap' => '1.06',
+ 'strict' => '1.06',
+ 'threads' => '1.86',
+ 'version' => '0.96',
+ },
+ removed => {
+ }
+ },
+ 5.015007 => {
+ delta_from => 5.015006,
+ changed => {
+ 'B' => '1.33',
+ 'B::Deparse' => '1.11',
+ 'CGI' => '3.59',
+ 'CPAN::Meta' => '2.113640',
+ 'CPAN::Meta::Converter' => '2.113640',
+ 'CPAN::Meta::Feature' => '2.113640',
+ 'CPAN::Meta::History' => '2.113640',
+ 'CPAN::Meta::Prereqs' => '2.113640',
+ 'CPAN::Meta::Requirements'=> '2.113640',
+ 'CPAN::Meta::Spec' => '2.113640',
+ 'CPAN::Meta::Validator' => '2.113640',
+ 'CPANPLUS' => '0.9116',
+ 'CPANPLUS::Internals' => '0.9116',
+ 'CPANPLUS::Shell::Default'=> '0.9116',
+ 'Cwd' => '3.39_01',
+ 'Data::Dumper' => '2.135_03',
+ 'Devel::InnerPackage' => '0.4',
+ 'ExtUtils::CBuilder::Base'=> '0.280205',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280205',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280205',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280205',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280205',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280205',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280205',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280205',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280205',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280205',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280205',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280205',
+ 'ExtUtils::Manifest' => '1.61',
+ 'ExtUtils::Packlist' => '1.46',
+ 'ExtUtils::ParseXS' => '3.12',
+ 'ExtUtils::ParseXS::Constants'=> '3.12',
+ 'ExtUtils::ParseXS::CountLines'=> '3.12',
+ 'ExtUtils::ParseXS::Utilities'=> '3.12',
+ 'ExtUtils::Typemaps' => '1.03',
+ 'ExtUtils::Typemaps::Cmd'=> undef,
+ 'ExtUtils::Typemaps::Type'=> '0.06',
+ 'File::Glob' => '1.16',
+ 'File::Spec' => '3.39_01',
+ 'File::Spec::Cygwin' => '3.39_01',
+ 'File::Spec::Epoc' => '3.39_01',
+ 'File::Spec::Functions' => '3.39_01',
+ 'File::Spec::Mac' => '3.39_01',
+ 'File::Spec::OS2' => '3.39_01',
+ 'File::Spec::Unix' => '3.39_01',
+ 'File::Spec::VMS' => '3.39_01',
+ 'File::Spec::Win32' => '3.39_01',
+ 'IO::Dir' => '1.10',
+ 'IO::Pipe' => '1.15',
+ 'IO::Poll' => '0.09',
+ 'IO::Select' => '1.21',
+ 'IO::Socket' => '1.34',
+ 'IO::Socket::INET' => '1.33',
+ 'IO::Socket::UNIX' => '1.24',
+ 'Locale::Maketext' => '1.22',
+ 'Math::BigInt' => '1.998',
+ 'Module::CoreList' => '2.60',
+ 'Module::Pluggable' => '4.0',
+ 'POSIX' => '1.28',
+ 'PerlIO::scalar' => '0.13',
+ 'Pod::Html' => '1.13',
+ 'Pod::Perldoc' => '3.15_15',
+ 'Pod::Perldoc::BaseTo' => '3.15_15',
+ 'Pod::Perldoc::GetOptsOO'=> '3.15_15',
+ 'Pod::Perldoc::ToANSI' => '3.15_15',
+ 'Pod::Perldoc::ToChecker'=> '3.15_15',
+ 'Pod::Perldoc::ToMan' => '3.15_15',
+ 'Pod::Perldoc::ToNroff' => '3.15_15',
+ 'Pod::Perldoc::ToPod' => '3.15_15',
+ 'Pod::Perldoc::ToRtf' => '3.15_15',
+ 'Pod::Perldoc::ToTerm' => '3.15_15',
+ 'Pod::Perldoc::ToText' => '3.15_15',
+ 'Pod::Perldoc::ToTk' => '3.15_15',
+ 'Pod::Perldoc::ToXml' => '3.15_15',
+ 'Term::UI' => '0.30',
+ 'Tie::File' => '0.98',
+ 'Unicode::UCD' => '0.39',
+ 'Version::Requirements' => '0.101021',
+ 'XS::APItest' => '0.35',
+ '_charnames' => '1.28',
+ 'arybase' => '0.03',
+ 'autouse' => '1.07',
+ 'charnames' => '1.28',
+ 'diagnostics' => '1.27',
+ 'feature' => '1.25',
+ 'overload' => '1.17',
+ 'overloading' => '0.02',
+ 'perlfaq' => '5.0150038',
+ },
+ removed => {
+ }
+ },
+ 5.015008 => {
+ delta_from => 5.015007,
+ changed => {
+ 'B' => '1.34',
+ 'B::Deparse' => '1.12',
+ 'CPAN::Meta' => '2.120351',
+ 'CPAN::Meta::Converter' => '2.120351',
+ 'CPAN::Meta::Feature' => '2.120351',
+ 'CPAN::Meta::History' => '2.120351',
+ 'CPAN::Meta::Prereqs' => '2.120351',
+ 'CPAN::Meta::Requirements'=> '2.120351',
+ 'CPAN::Meta::Spec' => '2.120351',
+ 'CPAN::Meta::Validator' => '2.120351',
+ 'CPAN::Meta::YAML' => '0.007',
+ 'CPANPLUS' => '0.9118',
+ 'CPANPLUS::Dist::Build' => '0.62',
+ 'CPANPLUS::Dist::Build::Constants'=> '0.62',
+ 'CPANPLUS::Internals' => '0.9118',
+ 'CPANPLUS::Shell::Default'=> '0.9118',
+ 'Carp' => '1.25',
+ 'Carp::Heavy' => '1.25',
+ 'Compress::Raw::Bzip2' => '2.048',
+ 'Compress::Raw::Zlib' => '2.048',
+ 'Compress::Zlib' => '2.048',
+ 'Cwd' => '3.39_02',
+ 'DB_File' => '1.826',
+ 'Data::Dumper' => '2.135_05',
+ 'English' => '1.05',
+ 'ExtUtils::Install' => '1.58',
+ 'ExtUtils::ParseXS' => '3.16',
+ 'ExtUtils::ParseXS::Constants'=> '3.16',
+ 'ExtUtils::ParseXS::CountLines'=> '3.16',
+ 'ExtUtils::ParseXS::Utilities'=> '3.16',
+ 'ExtUtils::Typemaps' => '3.16',
+ 'ExtUtils::Typemaps::Cmd'=> '3.16',
+ 'ExtUtils::Typemaps::InputMap'=> '3.16',
+ 'ExtUtils::Typemaps::OutputMap'=> '3.16',
+ 'ExtUtils::Typemaps::Type'=> '3.16',
+ 'File::Copy' => '2.23',
+ 'File::Glob' => '1.17',
+ 'File::Spec' => '3.39_02',
+ 'File::Spec::Cygwin' => '3.39_02',
+ 'File::Spec::Epoc' => '3.39_02',
+ 'File::Spec::Functions' => '3.39_02',
+ 'File::Spec::Mac' => '3.39_02',
+ 'File::Spec::OS2' => '3.39_02',
+ 'File::Spec::Unix' => '3.39_02',
+ 'File::Spec::VMS' => '3.39_02',
+ 'File::Spec::Win32' => '3.39_02',
+ 'Filter::Util::Call' => '1.40',
+ 'IO::Compress::Adapter::Bzip2'=> '2.048',
+ 'IO::Compress::Adapter::Deflate'=> '2.048',
+ 'IO::Compress::Adapter::Identity'=> '2.048',
+ 'IO::Compress::Base' => '2.048',
+ 'IO::Compress::Base::Common'=> '2.048',
+ 'IO::Compress::Bzip2' => '2.048',
+ 'IO::Compress::Deflate' => '2.048',
+ 'IO::Compress::Gzip' => '2.048',
+ 'IO::Compress::Gzip::Constants'=> '2.048',
+ 'IO::Compress::RawDeflate'=> '2.048',
+ 'IO::Compress::Zip' => '2.048',
+ 'IO::Compress::Zip::Constants'=> '2.048',
+ 'IO::Compress::Zlib::Constants'=> '2.048',
+ 'IO::Compress::Zlib::Extra'=> '2.048',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.048',
+ 'IO::Uncompress::Adapter::Identity'=> '2.048',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.048',
+ 'IO::Uncompress::AnyInflate'=> '2.048',
+ 'IO::Uncompress::AnyUncompress'=> '2.048',
+ 'IO::Uncompress::Base' => '2.048',
+ 'IO::Uncompress::Bunzip2'=> '2.048',
+ 'IO::Uncompress::Gunzip'=> '2.048',
+ 'IO::Uncompress::Inflate'=> '2.048',
+ 'IO::Uncompress::RawInflate'=> '2.048',
+ 'IO::Uncompress::Unzip' => '2.048',
+ 'IPC::Cmd' => '0.76',
+ 'Math::Complex' => '1.59',
+ 'Math::Trig' => '1.23',
+ 'Module::Metadata' => '1.000009',
+ 'Opcode' => '1.23',
+ 'POSIX' => '1.30',
+ 'Parse::CPAN::Meta' => '1.4402',
+ 'PerlIO::mmap' => '0.010',
+ 'Pod::Checker' => '1.51',
+ 'Pod::Find' => '1.51',
+ 'Pod::Functions' => '1.05',
+ 'Pod::Functions::Functions'=> '1.05',
+ 'Pod::Html' => '1.14',
+ 'Pod::InputObjects' => '1.51',
+ 'Pod::ParseUtils' => '1.51',
+ 'Pod::Parser' => '1.51',
+ 'Pod::PlainText' => '2.05',
+ 'Pod::Select' => '1.51',
+ 'Pod::Usage' => '1.51',
+ 'Safe' => '2.31',
+ 'Socket' => '1.98',
+ 'Term::Cap' => '1.13',
+ 'Term::ReadLine' => '1.08',
+ 'Time::HiRes' => '1.9725',
+ 'Unicode' => '6.1.0',
+ 'Unicode::UCD' => '0.41',
+ 'Version::Requirements' => '0.101022',
+ 'XS::APItest' => '0.36',
+ 'XS::Typemap' => '0.08',
+ '_charnames' => '1.29',
+ 'arybase' => '0.04',
+ 'charnames' => '1.29',
+ 'diagnostics' => '1.28',
+ 'feature' => '1.26',
+ 'locale' => '1.01',
+ 'overload' => '1.18',
+ 'perlfaq' => '5.0150039',
+ 're' => '0.19',
+ 'subs' => '1.01',
+ 'warnings' => '1.13',
+ },
+ removed => {
+ }
+ },
+ 5.015009 => {
+ delta_from => 5.015008,
+ changed => {
+ 'B::Deparse' => '1.13',
+ 'B::Lint' => '1.14',
+ 'B::Lint::Debug' => '1.14',
+ 'CPAN::Meta' => '2.120630',
+ 'CPAN::Meta::Converter' => '2.120630',
+ 'CPAN::Meta::Feature' => '2.120630',
+ 'CPAN::Meta::History' => '2.120630',
+ 'CPAN::Meta::Prereqs' => '2.120630',
+ 'CPAN::Meta::Requirements'=> '2.120630',
+ 'CPAN::Meta::Spec' => '2.120630',
+ 'CPAN::Meta::Validator' => '2.120630',
+ 'CPANPLUS' => '0.9121',
+ 'CPANPLUS::Internals' => '0.9121',
+ 'CPANPLUS::Shell::Default'=> '0.9121',
+ 'Data::Dumper' => '2.135_06',
+ 'Digest::SHA' => '5.71',
+ 'ExtUtils::CBuilder' => '0.280206',
+ 'ExtUtils::CBuilder::Base'=> '0.280206',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280206',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280206',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280206',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280206',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280206',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280206',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280206',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280206',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280206',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280206',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280206',
+ 'HTTP::Tiny' => '0.017',
+ 'Locale::Codes' => '3.21',
+ 'Locale::Codes::Constants'=> '3.21',
+ 'Locale::Codes::Country'=> '3.21',
+ 'Locale::Codes::Country_Codes'=> '3.21',
+ 'Locale::Codes::Country_Retired'=> '3.21',
+ 'Locale::Codes::Currency'=> '3.21',
+ 'Locale::Codes::Currency_Codes'=> '3.21',
+ 'Locale::Codes::Currency_Retired'=> '3.21',
+ 'Locale::Codes::LangExt'=> '3.21',
+ 'Locale::Codes::LangExt_Codes'=> '3.21',
+ 'Locale::Codes::LangExt_Retired'=> '3.21',
+ 'Locale::Codes::LangFam'=> '3.21',
+ 'Locale::Codes::LangFam_Codes'=> '3.21',
+ 'Locale::Codes::LangFam_Retired'=> '3.21',
+ 'Locale::Codes::LangVar'=> '3.21',
+ 'Locale::Codes::LangVar_Codes'=> '3.21',
+ 'Locale::Codes::LangVar_Retired'=> '3.21',
+ 'Locale::Codes::Language'=> '3.21',
+ 'Locale::Codes::Language_Codes'=> '3.21',
+ 'Locale::Codes::Language_Retired'=> '3.21',
+ 'Locale::Codes::Script' => '3.21',
+ 'Locale::Codes::Script_Codes'=> '3.21',
+ 'Locale::Codes::Script_Retired'=> '3.21',
+ 'Locale::Country' => '3.21',
+ 'Locale::Currency' => '3.21',
+ 'Locale::Language' => '3.21',
+ 'Locale::Script' => '3.21',
+ 'Module::CoreList' => '2.65',
+ 'Pod::Html' => '1.1501',
+ 'Pod::Perldoc' => '3.17',
+ 'Pod::Perldoc::BaseTo' => '3.17',
+ 'Pod::Perldoc::GetOptsOO'=> '3.17',
+ 'Pod::Perldoc::ToANSI' => '3.17',
+ 'Pod::Perldoc::ToChecker'=> '3.17',
+ 'Pod::Perldoc::ToMan' => '3.17',
+ 'Pod::Perldoc::ToNroff' => '3.17',
+ 'Pod::Perldoc::ToPod' => '3.17',
+ 'Pod::Perldoc::ToRtf' => '3.17',
+ 'Pod::Perldoc::ToTerm' => '3.17',
+ 'Pod::Perldoc::ToText' => '3.17',
+ 'Pod::Perldoc::ToTk' => '3.17',
+ 'Pod::Perldoc::ToXml' => '3.17',
+ 'Pod::Simple' => '3.20',
+ 'Pod::Simple::BlackBox' => '3.20',
+ 'Pod::Simple::Checker' => '3.20',
+ 'Pod::Simple::Debug' => '3.20',
+ 'Pod::Simple::DumpAsText'=> '3.20',
+ 'Pod::Simple::DumpAsXML'=> '3.20',
+ 'Pod::Simple::HTML' => '3.20',
+ 'Pod::Simple::HTMLBatch'=> '3.20',
+ 'Pod::Simple::LinkSection'=> '3.20',
+ 'Pod::Simple::Methody' => '3.20',
+ 'Pod::Simple::Progress' => '3.20',
+ 'Pod::Simple::PullParser'=> '3.20',
+ 'Pod::Simple::PullParserEndToken'=> '3.20',
+ 'Pod::Simple::PullParserStartToken'=> '3.20',
+ 'Pod::Simple::PullParserTextToken'=> '3.20',
+ 'Pod::Simple::PullParserToken'=> '3.20',
+ 'Pod::Simple::RTF' => '3.20',
+ 'Pod::Simple::Search' => '3.20',
+ 'Pod::Simple::SimpleTree'=> '3.20',
+ 'Pod::Simple::Text' => '3.20',
+ 'Pod::Simple::TextContent'=> '3.20',
+ 'Pod::Simple::TiedOutFH'=> '3.20',
+ 'Pod::Simple::Transcode'=> '3.20',
+ 'Pod::Simple::TranscodeDumb'=> '3.20',
+ 'Pod::Simple::TranscodeSmart'=> '3.20',
+ 'Pod::Simple::XHTML' => '3.20',
+ 'Pod::Simple::XMLOutStream'=> '3.20',
+ 'Socket' => '2.000',
+ 'Term::ReadLine' => '1.09',
+ 'Unicode::Collate' => '0.89',
+ 'Unicode::Collate::CJK::Korean'=> '0.88',
+ 'Unicode::Collate::Locale'=> '0.89',
+ 'Unicode::Normalize' => '1.14',
+ 'Unicode::UCD' => '0.42',
+ 'XS::APItest' => '0.37',
+ 'arybase' => '0.05',
+ 'attributes' => '0.18',
+ 'charnames' => '1.30',
+ 'feature' => '1.27',
+ },
+ removed => {
+ }
+ },
+ 5.016 => {
+ delta_from => 5.015009,
+ changed => {
+ 'B::Concise' => '0.89',
+ 'B::Deparse' => '1.14',
+ 'Carp' => '1.26',
+ 'Carp::Heavy' => '1.26',
+ 'IO::Socket' => '1.35',
+ 'Module::CoreList' => '2.66',
+ 'PerlIO::scalar' => '0.14',
+ 'Pod::Html' => '1.1502',
+ 'Safe' => '2.31_01',
+ 'Socket' => '2.001',
+ 'Unicode::UCD' => '0.43',
+ 'XS::APItest' => '0.38',
+ '_charnames' => '1.31',
+ 'attributes' => '0.19',
+ 'strict' => '1.07',
+ 'version' => '0.99',
+ },
+ removed => {
+ }
+ },
+ 5.016001 => {
+ delta_from => 5.016,
+ changed => {
+ 'B' => '1.35',
+ 'B::Deparse' => '1.14_01',
+ 'List::Util' => '1.25',
+ 'List::Util::PP' => '1.25',
+ 'List::Util::XS' => '1.25',
+ 'Module::CoreList' => '2.70',
+ 'PerlIO::scalar' => '0.14_01',
+ 'Scalar::Util' => '1.25',
+ 'Scalar::Util::PP' => '1.25',
+ 're' => '0.19_01',
+ },
+ removed => {
+ }
+ },
+ 5.016002 => {
+ delta_from => 5.016001,
+ changed => {
+ },
+ removed => {
+ }
+ },
+ 5.017 => {
+ delta_from => 5.016,
+ changed => {
+ 'B' => '1.35',
+ 'B::Concise' => '0.90',
+ 'ExtUtils::ParseXS' => '3.17',
+ 'ExtUtils::ParseXS::Utilities'=> '3.17',
+ 'File::DosGlob' => '1.07',
+ 'File::Find' => '1.21',
+ 'File::stat' => '1.06',
+ 'Hash::Util' => '0.12',
+ 'IO::Socket' => '1.34',
+ 'Module::CoreList' => '2.67',
+ 'Pod::Functions' => '1.06',
+ 'Pod::Functions::Functions'=> '1.06',
+ 'Storable' => '2.35',
+ 'XS::APItest' => '0.39',
+ 'diagnostics' => '1.29',
+ 'feature' => '1.28',
+ 'overload' => '1.19',
+ 'utf8' => '1.10',
+ },
+ removed => {
+ 'Version::Requirements' => 1,
+ }
+ },
+ 5.017001 => {
+ delta_from => 5.017,
+ changed => {
+ 'App::Prove' => '3.25',
+ 'App::Prove::State' => '3.25',
+ 'App::Prove::State::Result'=> '3.25',
+ 'App::Prove::State::Result::Test'=> '3.25',
+ 'Archive::Extract' => '0.60',
+ 'Archive::Tar' => '1.88',
+ 'Archive::Tar::Constant'=> '1.88',
+ 'Archive::Tar::File' => '1.88',
+ 'B' => '1.36',
+ 'B::Deparse' => '1.15',
+ 'CPAN::Meta' => '2.120921',
+ 'CPAN::Meta::Converter' => '2.120921',
+ 'CPAN::Meta::Feature' => '2.120921',
+ 'CPAN::Meta::History' => '2.120921',
+ 'CPAN::Meta::Prereqs' => '2.120921',
+ 'CPAN::Meta::Requirements'=> '2.122',
+ 'CPAN::Meta::Spec' => '2.120921',
+ 'CPAN::Meta::Validator' => '2.120921',
+ 'CPAN::Meta::YAML' => '0.008',
+ 'CPANPLUS' => '0.9130',
+ 'CPANPLUS::Config::HomeEnv'=> '0.04',
+ 'CPANPLUS::Internals' => '0.9130',
+ 'CPANPLUS::Shell::Default'=> '0.9130',
+ 'Class::Struct' => '0.64',
+ 'Compress::Raw::Bzip2' => '2.052',
+ 'Compress::Raw::Zlib' => '2.054',
+ 'Compress::Zlib' => '2.052',
+ 'Digest::MD5' => '2.52',
+ 'DynaLoader' => '1.15',
+ 'ExtUtils::CBuilder' => '0.280208',
+ 'ExtUtils::CBuilder::Base'=> '0.280208',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280208',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280208',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280208',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280208',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280208',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280208',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280208',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280208',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280208',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280208',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280208',
+ 'Fatal' => '2.11',
+ 'File::DosGlob' => '1.08',
+ 'File::Fetch' => '0.34',
+ 'File::Spec::Unix' => '3.39_03',
+ 'Filter::Util::Call' => '1.45',
+ 'HTTP::Tiny' => '0.022',
+ 'IO' => '1.25_07',
+ 'IO::Compress::Adapter::Bzip2'=> '2.052',
+ 'IO::Compress::Adapter::Deflate'=> '2.052',
+ 'IO::Compress::Adapter::Identity'=> '2.052',
+ 'IO::Compress::Base' => '2.052',
+ 'IO::Compress::Base::Common'=> '2.052',
+ 'IO::Compress::Bzip2' => '2.052',
+ 'IO::Compress::Deflate' => '2.052',
+ 'IO::Compress::Gzip' => '2.052',
+ 'IO::Compress::Gzip::Constants'=> '2.052',
+ 'IO::Compress::RawDeflate'=> '2.052',
+ 'IO::Compress::Zip' => '2.052',
+ 'IO::Compress::Zip::Constants'=> '2.052',
+ 'IO::Compress::Zlib::Constants'=> '2.052',
+ 'IO::Compress::Zlib::Extra'=> '2.052',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.052',
+ 'IO::Uncompress::Adapter::Identity'=> '2.052',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.052',
+ 'IO::Uncompress::AnyInflate'=> '2.052',
+ 'IO::Uncompress::AnyUncompress'=> '2.052',
+ 'IO::Uncompress::Base' => '2.052',
+ 'IO::Uncompress::Bunzip2'=> '2.052',
+ 'IO::Uncompress::Gunzip'=> '2.052',
+ 'IO::Uncompress::Inflate'=> '2.052',
+ 'IO::Uncompress::RawInflate'=> '2.052',
+ 'IO::Uncompress::Unzip' => '2.052',
+ 'IPC::Cmd' => '0.78',
+ 'List::Util' => '1.25',
+ 'List::Util::XS' => '1.25',
+ 'Locale::Codes' => '3.22',
+ 'Locale::Codes::Constants'=> '3.22',
+ 'Locale::Codes::Country'=> '3.22',
+ 'Locale::Codes::Country_Codes'=> '3.22',
+ 'Locale::Codes::Country_Retired'=> '3.22',
+ 'Locale::Codes::Currency'=> '3.22',
+ 'Locale::Codes::Currency_Codes'=> '3.22',
+ 'Locale::Codes::Currency_Retired'=> '3.22',
+ 'Locale::Codes::LangExt'=> '3.22',
+ 'Locale::Codes::LangExt_Codes'=> '3.22',
+ 'Locale::Codes::LangExt_Retired'=> '3.22',
+ 'Locale::Codes::LangFam'=> '3.22',
+ 'Locale::Codes::LangFam_Codes'=> '3.22',
+ 'Locale::Codes::LangFam_Retired'=> '3.22',
+ 'Locale::Codes::LangVar'=> '3.22',
+ 'Locale::Codes::LangVar_Codes'=> '3.22',
+ 'Locale::Codes::LangVar_Retired'=> '3.22',
+ 'Locale::Codes::Language'=> '3.22',
+ 'Locale::Codes::Language_Codes'=> '3.22',
+ 'Locale::Codes::Language_Retired'=> '3.22',
+ 'Locale::Codes::Script' => '3.22',
+ 'Locale::Codes::Script_Codes'=> '3.22',
+ 'Locale::Codes::Script_Retired'=> '3.22',
+ 'Locale::Country' => '3.22',
+ 'Locale::Currency' => '3.22',
+ 'Locale::Language' => '3.22',
+ 'Locale::Script' => '3.22',
+ 'Memoize' => '1.03',
+ 'Memoize::AnyDBM_File' => '1.03',
+ 'Memoize::Expire' => '1.03',
+ 'Memoize::ExpireFile' => '1.03',
+ 'Memoize::ExpireTest' => '1.03',
+ 'Memoize::NDBM_File' => '1.03',
+ 'Memoize::SDBM_File' => '1.03',
+ 'Memoize::Storable' => '1.03',
+ 'Module::Build' => '0.40',
+ 'Module::Build::Base' => '0.40',
+ 'Module::Build::Compat' => '0.40',
+ 'Module::Build::Config' => '0.40',
+ 'Module::Build::Cookbook'=> '0.40',
+ 'Module::Build::Dumper' => '0.40',
+ 'Module::Build::ModuleInfo'=> '0.40',
+ 'Module::Build::Notes' => '0.40',
+ 'Module::Build::PPMMaker'=> '0.40',
+ 'Module::Build::Platform::Amiga'=> '0.40',
+ 'Module::Build::Platform::Default'=> '0.40',
+ 'Module::Build::Platform::EBCDIC'=> '0.40',
+ 'Module::Build::Platform::MPEiX'=> '0.40',
+ 'Module::Build::Platform::MacOS'=> '0.40',
+ 'Module::Build::Platform::RiscOS'=> '0.40',
+ 'Module::Build::Platform::Unix'=> '0.40',
+ 'Module::Build::Platform::VMS'=> '0.40',
+ 'Module::Build::Platform::VOS'=> '0.40',
+ 'Module::Build::Platform::Windows'=> '0.40',
+ 'Module::Build::Platform::aix'=> '0.40',
+ 'Module::Build::Platform::cygwin'=> '0.40',
+ 'Module::Build::Platform::darwin'=> '0.40',
+ 'Module::Build::Platform::os2'=> '0.40',
+ 'Module::Build::PodParser'=> '0.40',
+ 'Module::CoreList' => '2.68',
+ 'Module::Load::Conditional'=> '0.50',
+ 'Object::Accessor' => '0.44',
+ 'POSIX' => '1.31',
+ 'Params::Check' => '0.36',
+ 'Parse::CPAN::Meta' => '1.4404',
+ 'PerlIO::mmap' => '0.011',
+ 'PerlIO::via::QuotedPrint'=> '0.07',
+ 'Pod::Html' => '1.16',
+ 'Pod::Man' => '2.26',
+ 'Pod::Text' => '3.16',
+ 'Safe' => '2.33_01',
+ 'Scalar::Util' => '1.25',
+ 'Search::Dict' => '1.07',
+ 'Storable' => '2.36',
+ 'TAP::Base' => '3.25',
+ 'TAP::Formatter::Base' => '3.25',
+ 'TAP::Formatter::Color' => '3.25',
+ 'TAP::Formatter::Console'=> '3.25',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.25',
+ 'TAP::Formatter::Console::Session'=> '3.25',
+ 'TAP::Formatter::File' => '3.25',
+ 'TAP::Formatter::File::Session'=> '3.25',
+ 'TAP::Formatter::Session'=> '3.25',
+ 'TAP::Harness' => '3.25',
+ 'TAP::Object' => '3.25',
+ 'TAP::Parser' => '3.25',
+ 'TAP::Parser::Aggregator'=> '3.25',
+ 'TAP::Parser::Grammar' => '3.25',
+ 'TAP::Parser::Iterator' => '3.25',
+ 'TAP::Parser::Iterator::Array'=> '3.25',
+ 'TAP::Parser::Iterator::Process'=> '3.25',
+ 'TAP::Parser::Iterator::Stream'=> '3.25',
+ 'TAP::Parser::IteratorFactory'=> '3.25',
+ 'TAP::Parser::Multiplexer'=> '3.25',
+ 'TAP::Parser::Result' => '3.25',
+ 'TAP::Parser::Result::Bailout'=> '3.25',
+ 'TAP::Parser::Result::Comment'=> '3.25',
+ 'TAP::Parser::Result::Plan'=> '3.25',
+ 'TAP::Parser::Result::Pragma'=> '3.25',
+ 'TAP::Parser::Result::Test'=> '3.25',
+ 'TAP::Parser::Result::Unknown'=> '3.25',
+ 'TAP::Parser::Result::Version'=> '3.25',
+ 'TAP::Parser::Result::YAML'=> '3.25',
+ 'TAP::Parser::ResultFactory'=> '3.25',
+ 'TAP::Parser::Scheduler'=> '3.25',
+ 'TAP::Parser::Scheduler::Job'=> '3.25',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.25',
+ 'TAP::Parser::Source' => '3.25',
+ 'TAP::Parser::SourceHandler'=> '3.25',
+ 'TAP::Parser::SourceHandler::Executable'=> '3.25',
+ 'TAP::Parser::SourceHandler::File'=> '3.25',
+ 'TAP::Parser::SourceHandler::Handle'=> '3.25',
+ 'TAP::Parser::SourceHandler::Perl'=> '3.25',
+ 'TAP::Parser::SourceHandler::RawTAP'=> '3.25',
+ 'TAP::Parser::Utils' => '3.25',
+ 'TAP::Parser::YAMLish::Reader'=> '3.25',
+ 'TAP::Parser::YAMLish::Writer'=> '3.25',
+ 'Term::ANSIColor' => '3.02',
+ 'Test::Harness' => '3.25',
+ 'Unicode' => '6.2.0',
+ 'Unicode::UCD' => '0.44',
+ 'XS::APItest' => '0.40',
+ '_charnames' => '1.32',
+ 'attributes' => '0.2',
+ 'autodie' => '2.11',
+ 'autodie::exception' => '2.11',
+ 'autodie::exception::system'=> '2.11',
+ 'autodie::hints' => '2.11',
+ 'bigint' => '0.30',
+ 'charnames' => '1.32',
+ 'feature' => '1.29',
+ 'inc::latest' => '0.40',
+ 'perlfaq' => '5.0150040',
+ 're' => '0.20',
+ },
+ removed => {
+ 'List::Util::PP' => 1,
+ 'Scalar::Util::PP' => 1,
+ }
+ },
+ 5.017002 => {
+ delta_from => 5.017001,
+ changed => {
+ 'App::Prove' => '3.25_01',
+ 'App::Prove::State' => '3.25_01',
+ 'App::Prove::State::Result'=> '3.25_01',
+ 'App::Prove::State::Result::Test'=> '3.25_01',
+ 'B::Concise' => '0.91',
+ 'Compress::Raw::Bzip2' => '2.05201',
+ 'Compress::Raw::Zlib' => '2.05401',
+ 'Exporter' => '5.67',
+ 'Exporter::Heavy' => '5.67',
+ 'Fatal' => '2.12',
+ 'File::Fetch' => '0.36',
+ 'File::stat' => '1.07',
+ 'IO' => '1.25_08',
+ 'IO::Socket' => '1.35',
+ 'Module::CoreList' => '2.69',
+ 'PerlIO::scalar' => '0.15',
+ 'Socket' => '2.002',
+ 'Storable' => '2.37',
+ 'TAP::Base' => '3.25_01',
+ 'TAP::Formatter::Base' => '3.25_01',
+ 'TAP::Formatter::Color' => '3.25_01',
+ 'TAP::Formatter::Console'=> '3.25_01',
+ 'TAP::Formatter::Console::ParallelSession'=> '3.25_01',
+ 'TAP::Formatter::Console::Session'=> '3.25_01',
+ 'TAP::Formatter::File' => '3.25_01',
+ 'TAP::Formatter::File::Session'=> '3.25_01',
+ 'TAP::Formatter::Session'=> '3.25_01',
+ 'TAP::Harness' => '3.25_01',
+ 'TAP::Object' => '3.25_01',
+ 'TAP::Parser' => '3.25_01',
+ 'TAP::Parser::Aggregator'=> '3.25_01',
+ 'TAP::Parser::Grammar' => '3.25_01',
+ 'TAP::Parser::Iterator' => '3.25_01',
+ 'TAP::Parser::Iterator::Array'=> '3.25_01',
+ 'TAP::Parser::Iterator::Process'=> '3.25_01',
+ 'TAP::Parser::Iterator::Stream'=> '3.25_01',
+ 'TAP::Parser::IteratorFactory'=> '3.25_01',
+ 'TAP::Parser::Multiplexer'=> '3.25_01',
+ 'TAP::Parser::Result' => '3.25_01',
+ 'TAP::Parser::Result::Bailout'=> '3.25_01',
+ 'TAP::Parser::Result::Comment'=> '3.25_01',
+ 'TAP::Parser::Result::Plan'=> '3.25_01',
+ 'TAP::Parser::Result::Pragma'=> '3.25_01',
+ 'TAP::Parser::Result::Test'=> '3.25_01',
+ 'TAP::Parser::Result::Unknown'=> '3.25_01',
+ 'TAP::Parser::Result::Version'=> '3.25_01',
+ 'TAP::Parser::Result::YAML'=> '3.25_01',
+ 'TAP::Parser::ResultFactory'=> '3.25_01',
+ 'TAP::Parser::Scheduler'=> '3.25_01',
+ 'TAP::Parser::Scheduler::Job'=> '3.25_01',
+ 'TAP::Parser::Scheduler::Spinner'=> '3.25_01',
+ 'TAP::Parser::Source' => '3.25_01',
+ 'TAP::Parser::SourceHandler'=> '3.25_01',
+ 'TAP::Parser::SourceHandler::Executable'=> '3.25_01',
+ 'TAP::Parser::SourceHandler::File'=> '3.25_01',
+ 'TAP::Parser::SourceHandler::Handle'=> '3.25_01',
+ 'TAP::Parser::SourceHandler::Perl'=> '3.25_01',
+ 'TAP::Parser::SourceHandler::RawTAP'=> '3.25_01',
+ 'TAP::Parser::Utils' => '3.25_01',
+ 'TAP::Parser::YAMLish::Reader'=> '3.25_01',
+ 'TAP::Parser::YAMLish::Writer'=> '3.25_01',
+ 'Test::Harness' => '3.25_01',
+ 'Tie::StdHandle' => '4.3',
+ 'XS::APItest' => '0.41',
+ 'autodie' => '2.12',
+ 'autodie::exception' => '2.12',
+ 'autodie::exception::system'=> '2.12',
+ 'autodie::hints' => '2.12',
+ 'diagnostics' => '1.30',
+ 'overload' => '1.20',
+ 're' => '0.21',
+ 'vars' => '1.03',
+ },
+ removed => {
+ }
+ },
+ 5.017003 => {
+ delta_from => 5.017002,
+ changed => {
+ 'B' => '1.37',
+ 'B::Concise' => '0.92',
+ 'B::Debug' => '1.18',
+ 'B::Deparse' => '1.16',
+ 'CGI' => '3.60',
+ 'Compress::Raw::Bzip2' => '2.055',
+ 'Compress::Raw::Zlib' => '2.056',
+ 'Compress::Zlib' => '2.055',
+ 'Data::Dumper' => '2.135_07',
+ 'Devel::Peek' => '1.09',
+ 'Encode' => '2.47',
+ 'Encode::Alias' => '2.16',
+ 'Encode::GSM0338' => '2.02',
+ 'Encode::Unicode::UTF7' => '2.06',
+ 'IO::Compress::Adapter::Bzip2'=> '2.055',
+ 'IO::Compress::Adapter::Deflate'=> '2.055',
+ 'IO::Compress::Adapter::Identity'=> '2.055',
+ 'IO::Compress::Base' => '2.055',
+ 'IO::Compress::Base::Common'=> '2.055',
+ 'IO::Compress::Bzip2' => '2.055',
+ 'IO::Compress::Deflate' => '2.055',
+ 'IO::Compress::Gzip' => '2.055',
+ 'IO::Compress::Gzip::Constants'=> '2.055',
+ 'IO::Compress::RawDeflate'=> '2.055',
+ 'IO::Compress::Zip' => '2.055',
+ 'IO::Compress::Zip::Constants'=> '2.055',
+ 'IO::Compress::Zlib::Constants'=> '2.055',
+ 'IO::Compress::Zlib::Extra'=> '2.055',
+ 'IO::Uncompress::Adapter::Bunzip2'=> '2.055',
+ 'IO::Uncompress::Adapter::Identity'=> '2.055',
+ 'IO::Uncompress::Adapter::Inflate'=> '2.055',
+ 'IO::Uncompress::AnyInflate'=> '2.055',
+ 'IO::Uncompress::AnyUncompress'=> '2.055',
+ 'IO::Uncompress::Base' => '2.055',
+ 'IO::Uncompress::Bunzip2'=> '2.055',
+ 'IO::Uncompress::Gunzip'=> '2.055',
+ 'IO::Uncompress::Inflate'=> '2.055',
+ 'IO::Uncompress::RawInflate'=> '2.055',
+ 'IO::Uncompress::Unzip' => '2.055',
+ 'Module::Build' => '0.4003',
+ 'Module::Build::Base' => '0.4003',
+ 'Module::Build::Compat' => '0.4003',
+ 'Module::Build::Config' => '0.4003',
+ 'Module::Build::Cookbook'=> '0.4003',
+ 'Module::Build::Dumper' => '0.4003',
+ 'Module::Build::ModuleInfo'=> '0.4003',
+ 'Module::Build::Notes' => '0.4003',
+ 'Module::Build::PPMMaker'=> '0.4003',
+ 'Module::Build::Platform::Amiga'=> '0.4003',
+ 'Module::Build::Platform::Default'=> '0.4003',
+ 'Module::Build::Platform::EBCDIC'=> '0.4003',
+ 'Module::Build::Platform::MPEiX'=> '0.4003',
+ 'Module::Build::Platform::MacOS'=> '0.4003',
+ 'Module::Build::Platform::RiscOS'=> '0.4003',
+ 'Module::Build::Platform::Unix'=> '0.4003',
+ 'Module::Build::Platform::VMS'=> '0.4003',
+ 'Module::Build::Platform::VOS'=> '0.4003',
+ 'Module::Build::Platform::Windows'=> '0.4003',
+ 'Module::Build::Platform::aix'=> '0.4003',
+ 'Module::Build::Platform::cygwin'=> '0.4003',
+ 'Module::Build::Platform::darwin'=> '0.4003',
+ 'Module::Build::Platform::os2'=> '0.4003',
+ 'Module::Build::PodParser'=> '0.4003',
+ 'Module::CoreList' => '2.71',
+ 'Module::CoreList::TieHashDelta'=> '2.71',
+ 'Module::Load::Conditional'=> '0.54',
+ 'Module::Metadata' => '1.000011',
+ 'Module::Pluggable' => '4.3',
+ 'Module::Pluggable::Object'=> '4.3',
+ 'Pod::Simple' => '3.23',
+ 'Pod::Simple::BlackBox' => '3.23',
+ 'Pod::Simple::Checker' => '3.23',
+ 'Pod::Simple::Debug' => '3.23',
+ 'Pod::Simple::DumpAsText'=> '3.23',
+ 'Pod::Simple::DumpAsXML'=> '3.23',
+ 'Pod::Simple::HTML' => '3.23',
+ 'Pod::Simple::HTMLBatch'=> '3.23',
+ 'Pod::Simple::LinkSection'=> '3.23',
+ 'Pod::Simple::Methody' => '3.23',
+ 'Pod::Simple::Progress' => '3.23',
+ 'Pod::Simple::PullParser'=> '3.23',
+ 'Pod::Simple::PullParserEndToken'=> '3.23',
+ 'Pod::Simple::PullParserStartToken'=> '3.23',
+ 'Pod::Simple::PullParserTextToken'=> '3.23',
+ 'Pod::Simple::PullParserToken'=> '3.23',
+ 'Pod::Simple::RTF' => '3.23',
+ 'Pod::Simple::Search' => '3.23',
+ 'Pod::Simple::SimpleTree'=> '3.23',
+ 'Pod::Simple::Text' => '3.23',
+ 'Pod::Simple::TextContent'=> '3.23',
+ 'Pod::Simple::TiedOutFH'=> '3.23',
+ 'Pod::Simple::Transcode'=> '3.23',
+ 'Pod::Simple::TranscodeDumb'=> '3.23',
+ 'Pod::Simple::TranscodeSmart'=> '3.23',
+ 'Pod::Simple::XHTML' => '3.23',
+ 'Pod::Simple::XMLOutStream'=> '3.23',
+ 'Socket' => '2.004',
+ 'Storable' => '2.38',
+ 'Sys::Syslog' => '0.31',
+ 'Term::ReadLine' => '1.10',
+ 'Text::Tabs' => '2012.0818',
+ 'Text::Wrap' => '2012.0818',
+ 'Time::Local' => '1.2300',
+ 'Unicode::UCD' => '0.45',
+ 'Win32' => '0.45',
+ 'Win32CORE' => '0.03',
+ 'XS::APItest' => '0.42',
+ 'inc::latest' => '0.4003',
+ 'perlfaq' => '5.0150041',
+ 're' => '0.22',
+ },
+ removed => {
+ }
+ },
+ 5.017004 => {
+ delta_from => 5.017003,
+ changed => {
+ 'Archive::Tar' => '1.90',
+ 'Archive::Tar::Constant'=> '1.90',
+ 'Archive::Tar::File' => '1.90',
+ 'B' => '1.38',
+ 'B::Concise' => '0.93',
+ 'B::Deparse' => '1.17',
+ 'B::Xref' => '1.04',
+ 'CPANPLUS' => '0.9131',
+ 'CPANPLUS::Internals' => '0.9131',
+ 'CPANPLUS::Shell::Default'=> '0.9131',
+ 'DB_File' => '1.827',
+ 'Devel::Peek' => '1.10',
+ 'DynaLoader' => '1.16',
+ 'Errno' => '1.16',
+ 'ExtUtils::ParseXS' => '3.18',
+ 'ExtUtils::ParseXS::Constants'=> '3.18',
+ 'ExtUtils::ParseXS::CountLines'=> '3.18',
+ 'ExtUtils::ParseXS::Utilities'=> '3.18',
+ 'File::Copy' => '2.24',
+ 'File::Find' => '1.22',
+ 'IPC::Open3' => '1.13',
+ 'Locale::Codes' => '3.23',
+ 'Locale::Codes::Constants'=> '3.23',
+ 'Locale::Codes::Country'=> '3.23',
+ 'Locale::Codes::Country_Codes'=> '3.23',
+ 'Locale::Codes::Country_Retired'=> '3.23',
+ 'Locale::Codes::Currency'=> '3.23',
+ 'Locale::Codes::Currency_Codes'=> '3.23',
+ 'Locale::Codes::Currency_Retired'=> '3.23',
+ 'Locale::Codes::LangExt'=> '3.23',
+ 'Locale::Codes::LangExt_Codes'=> '3.23',
+ 'Locale::Codes::LangExt_Retired'=> '3.23',
+ 'Locale::Codes::LangFam'=> '3.23',
+ 'Locale::Codes::LangFam_Codes'=> '3.23',
+ 'Locale::Codes::LangFam_Retired'=> '3.23',
+ 'Locale::Codes::LangVar'=> '3.23',
+ 'Locale::Codes::LangVar_Codes'=> '3.23',
+ 'Locale::Codes::LangVar_Retired'=> '3.23',
+ 'Locale::Codes::Language'=> '3.23',
+ 'Locale::Codes::Language_Codes'=> '3.23',
+ 'Locale::Codes::Language_Retired'=> '3.23',
+ 'Locale::Codes::Script' => '3.23',
+ 'Locale::Codes::Script_Codes'=> '3.23',
+ 'Locale::Codes::Script_Retired'=> '3.23',
+ 'Locale::Country' => '3.23',
+ 'Locale::Currency' => '3.23',
+ 'Locale::Language' => '3.23',
+ 'Locale::Script' => '3.23',
+ 'Math::BigFloat::Trace' => '0.30',
+ 'Math::BigInt::Trace' => '0.30',
+ 'Module::CoreList' => '2.73',
+ 'Module::CoreList::TieHashDelta'=> '2.73',
+ 'Opcode' => '1.24',
+ 'Socket' => '2.006',
+ 'Storable' => '2.39',
+ 'Sys::Syslog' => '0.32',
+ 'Unicode::UCD' => '0.46',
+ 'XS::APItest' => '0.43',
+ 'bignum' => '0.30',
+ 'bigrat' => '0.30',
+ 'constant' => '1.24',
+ 'feature' => '1.30',
+ 'threads::shared' => '1.41',
+ 'version' => '0.9901',
+ 'warnings' => '1.14',
+ },
+ removed => {
+ }
+ },
+ 5.017005 => {
+ delta_from => 5.017004,
+ changed => {
+ 'AutoLoader' => '5.73',
+ 'B' => '1.39',
+ 'B::Deparse' => '1.18',
+ 'CPANPLUS' => '0.9133',
+ 'CPANPLUS::Internals' => '0.9133',
+ 'CPANPLUS::Shell::Default'=> '0.9133',
+ 'Carp' => '1.27',
+ 'Carp::Heavy' => '1.27',
+ 'Data::Dumper' => '2.136',
+ 'Digest::SHA' => '5.72',
+ 'ExtUtils::CBuilder' => '0.280209',
+ 'ExtUtils::CBuilder::Base'=> '0.280209',
+ 'ExtUtils::CBuilder::Platform::Unix'=> '0.280209',
+ 'ExtUtils::CBuilder::Platform::VMS'=> '0.280209',
+ 'ExtUtils::CBuilder::Platform::Windows'=> '0.280209',
+ 'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280209',
+ 'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280209',
+ 'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280209',
+ 'ExtUtils::CBuilder::Platform::aix'=> '0.280209',
+ 'ExtUtils::CBuilder::Platform::cygwin'=> '0.280209',
+ 'ExtUtils::CBuilder::Platform::darwin'=> '0.280209',
+ 'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280209',
+ 'ExtUtils::CBuilder::Platform::os2'=> '0.280209',
+ 'File::Copy' => '2.25',
+ 'File::Glob' => '1.18',
+ 'HTTP::Tiny' => '0.024',
+ 'Module::CoreList' => '2.75',
+ 'Module::CoreList::TieHashDelta'=> '2.75',
+ 'PerlIO::encoding' => '0.16',
+ 'Unicode::Collate' => '0.90',
+ 'Unicode::Collate::Locale'=> '0.90',
+ 'Unicode::Normalize' => '1.15',
+ 'Win32CORE' => '0.04',
+ 'XS::APItest' => '0.44',
+ 'attributes' => '0.21',
+ 'bigint' => '0.31',
+ 'bignum' => '0.31',
+ 'bigrat' => '0.31',
+ 'feature' => '1.31',
+ 'threads::shared' => '1.42',
+ 'warnings' => '1.15',
+ },
+ removed => {
+ }
},
);
+for my $version (sort { $a <=> $b } keys %delta) {
+ my $data = $delta{$version};
+
+ tie %{$version{$version}}, 'Module::CoreList::TieHashDelta',
+ $data->{changed}, $data->{removed},
+ $data->{delta_from} ? $version{$data->{delta_from}} : undef;
+}
+
%deprecated = (
5.011 => {
'Class::ISA' => '1',
@@ -25777,16 +7406,65 @@ for my $version ( sort { $a <=> $b } keys %released ) {
5.014000 => {
'Shell' => '1',
},
- 5.014001 => {
+ 5.012004 => {
+ 'Class::ISA' => '1',
+ 'Pod::Plainer' => '1',
'Shell' => '1',
+ 'Switch' => '1',
+ },
+ 5.014001 => {
+ 'Shell' => '1',
+ },
+ 5.015000 => {
+ 'Devel::DProf' => '1',
+ },
+ 5.015000 => {
+ },
+ 5.015001 => {
+ },
+ 5.015002 => {
},
5.014002 => {
'Shell' => '1',
},
+ 5.015003 => {
+ },
+ 5.015004 => {
+ },
+ 5.015005 => {
+ },
+ 5.015006 => {
+ },
+ 5.015007 => {
+ },
+ 5.015008 => {
+ },
+ 5.015009 => {
+ },
+ 5.016000 => {
+ },
+ 5.016001 => {
+ },
+ 5.016002 => {
+ },
+ 5.017000 => {
+ },
+ 5.017001 => {
+ },
+ 5.017002 => {
+ },
+ 5.017003 => {
+ },
+ 5.017004 => {
+ },
+ 5.014003 => {
+ 'Shell' => '1',
+ },
+ 5.017005 => {
+ },
);
%upstream = (
- 'AnyDBM_File' => 'blead',
'App::Cpan' => 'cpan',
'App::Prove' => 'cpan',
'App::Prove::State' => 'cpan',
@@ -25799,7 +7477,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Attribute::Handlers' => 'blead',
'AutoLoader' => 'cpan',
'AutoSplit' => 'cpan',
- 'B::Concise' => undef,
+ 'B::Concise' => 'blead',
'B::Debug' => 'cpan',
'B::Deparse' => 'blead',
'B::Lint' => 'blead',
@@ -25826,6 +7504,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'CPAN::Exception::RecursiveDependency'=> 'cpan',
'CPAN::Exception::blocked_urllist'=> 'cpan',
'CPAN::Exception::yaml_not_installed'=> 'cpan',
+ 'CPAN::Exception::yaml_process_error'=> 'cpan',
'CPAN::FTP' => 'cpan',
'CPAN::FTP::netrc' => 'cpan',
'CPAN::FirstTime' => 'cpan',
@@ -25841,6 +7520,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'CPAN::Meta::Feature' => 'cpan',
'CPAN::Meta::History' => 'cpan',
'CPAN::Meta::Prereqs' => 'cpan',
+ 'CPAN::Meta::Requirements'=> 'cpan',
'CPAN::Meta::Spec' => 'cpan',
'CPAN::Meta::Validator' => 'cpan',
'CPAN::Meta::YAML' => 'cpan',
@@ -25857,6 +7537,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'CPANPLUS::Backend' => 'cpan',
'CPANPLUS::Backend::RV' => 'cpan',
'CPANPLUS::Config' => 'cpan',
+ 'CPANPLUS::Config::HomeEnv'=> 'cpan',
'CPANPLUS::Configure' => 'cpan',
'CPANPLUS::Configure::Setup'=> 'cpan',
'CPANPLUS::Dist' => 'cpan',
@@ -25893,13 +7574,13 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'CPANPLUS::Shell::Default::Plugins::CustomSource'=> 'cpan',
'CPANPLUS::Shell::Default::Plugins::Remote'=> 'cpan',
'CPANPLUS::Shell::Default::Plugins::Source'=> 'cpan',
+ 'Carp' => 'blead',
+ 'Carp::Heavy' => 'blead',
'Compress::Raw::Bzip2' => 'cpan',
'Compress::Raw::Zlib' => 'cpan',
'Compress::Zlib' => 'cpan',
'Cwd' => 'blead',
- 'DB_File' => undef,
- 'Devel::DProf' => 'cpan',
- 'Devel::DProf::dprof::V'=> 'cpan',
+ 'DB_File' => 'cpan',
'Devel::InnerPackage' => 'cpan',
'Devel::PPPort' => 'cpan',
'Digest' => 'cpan',
@@ -25976,11 +7657,18 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'ExtUtils::MY' => 'first-come',
'ExtUtils::MakeMaker' => 'first-come',
'ExtUtils::MakeMaker::Config'=> 'first-come',
- 'ExtUtils::MakeMaker::YAML'=> 'first-come',
'ExtUtils::Mkbootstrap' => 'first-come',
'ExtUtils::Mksymlists' => 'first-come',
'ExtUtils::Packlist' => 'blead',
'ExtUtils::ParseXS' => 'blead',
+ 'ExtUtils::ParseXS::Constants'=> 'blead',
+ 'ExtUtils::ParseXS::CountLines'=> 'blead',
+ 'ExtUtils::ParseXS::Utilities'=> 'blead',
+ 'ExtUtils::Typemaps' => 'blead',
+ 'ExtUtils::Typemaps::Cmd'=> 'blead',
+ 'ExtUtils::Typemaps::InputMap'=> 'blead',
+ 'ExtUtils::Typemaps::OutputMap'=> 'blead',
+ 'ExtUtils::Typemaps::Type'=> 'blead',
'ExtUtils::testlib' => 'first-come',
'Fatal' => 'cpan',
'File::Fetch' => 'cpan',
@@ -25995,9 +7683,9 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'File::Spec::Unix' => 'blead',
'File::Spec::VMS' => 'blead',
'File::Spec::Win32' => 'blead',
- 'File::Temp' => undef,
+ 'File::Temp' => 'cpan',
'Filter::Simple' => 'blead',
- 'Filter::Util::Call' => undef,
+ 'Filter::Util::Call' => 'cpan',
'Getopt::Long' => 'cpan',
'HTTP::Tiny' => 'cpan',
'IO::Compress::Adapter::Bzip2'=> 'cpan',
@@ -26034,14 +7722,30 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'JSON::PP' => 'cpan',
'JSON::PP::Boolean' => 'cpan',
'List::Util' => 'cpan',
- 'List::Util::PP' => 'cpan',
'List::Util::XS' => 'cpan',
'Locale::Codes' => 'cpan',
+ 'Locale::Codes::Constants'=> 'cpan',
'Locale::Codes::Country'=> 'cpan',
+ 'Locale::Codes::Country_Codes'=> 'cpan',
+ 'Locale::Codes::Country_Retired'=> 'cpan',
'Locale::Codes::Currency'=> 'cpan',
+ 'Locale::Codes::Currency_Codes'=> 'cpan',
+ 'Locale::Codes::Currency_Retired'=> 'cpan',
+ 'Locale::Codes::LangExt'=> 'cpan',
+ 'Locale::Codes::LangExt_Codes'=> 'cpan',
+ 'Locale::Codes::LangExt_Retired'=> 'cpan',
+ 'Locale::Codes::LangFam'=> 'cpan',
+ 'Locale::Codes::LangFam_Codes'=> 'cpan',
+ 'Locale::Codes::LangFam_Retired'=> 'cpan',
+ 'Locale::Codes::LangVar'=> 'cpan',
+ 'Locale::Codes::LangVar_Codes'=> 'cpan',
+ 'Locale::Codes::LangVar_Retired'=> 'cpan',
'Locale::Codes::Language'=> 'cpan',
+ 'Locale::Codes::Language_Codes'=> 'cpan',
+ 'Locale::Codes::Language_Retired'=> 'cpan',
'Locale::Codes::Script' => 'cpan',
- 'Locale::Constants' => 'cpan',
+ 'Locale::Codes::Script_Codes'=> 'cpan',
+ 'Locale::Codes::Script_Retired'=> 'cpan',
'Locale::Country' => 'cpan',
'Locale::Currency' => 'cpan',
'Locale::Language' => 'cpan',
@@ -26103,6 +7807,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Module::Build::Version'=> 'cpan',
'Module::Build::YAML' => 'cpan',
'Module::CoreList' => 'blead',
+ 'Module::CoreList::TieHashDelta'=> 'blead',
'Module::Load' => 'cpan',
'Module::Load::Conditional'=> 'cpan',
'Module::Loaded' => 'cpan',
@@ -26131,28 +7836,30 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Parse::CPAN::Meta' => 'cpan',
'Perl::OSType' => 'cpan',
'PerlIO::via::QuotedPrint'=> undef,
- 'Pod::Checker' => undef,
+ 'Pod::Checker' => 'cpan',
'Pod::Escapes' => undef,
- 'Pod::Find' => undef,
- 'Pod::InputObjects' => undef,
+ 'Pod::Find' => 'cpan',
+ 'Pod::InputObjects' => 'cpan',
'Pod::LaTeX' => undef,
'Pod::Man' => 'cpan',
'Pod::ParseLink' => 'cpan',
- 'Pod::ParseUtils' => undef,
- 'Pod::Parser' => undef,
- 'Pod::Perldoc' => 'blead',
- 'Pod::Perldoc::BaseTo' => 'blead',
- 'Pod::Perldoc::GetOptsOO'=> 'blead',
- 'Pod::Perldoc::ToChecker'=> 'blead',
- 'Pod::Perldoc::ToMan' => 'blead',
- 'Pod::Perldoc::ToNroff' => 'blead',
- 'Pod::Perldoc::ToPod' => 'blead',
- 'Pod::Perldoc::ToRtf' => 'blead',
- 'Pod::Perldoc::ToText' => 'blead',
- 'Pod::Perldoc::ToTk' => 'blead',
- 'Pod::Perldoc::ToXml' => 'blead',
- 'Pod::PlainText' => undef,
- 'Pod::Select' => undef,
+ 'Pod::ParseUtils' => 'cpan',
+ 'Pod::Parser' => 'cpan',
+ 'Pod::Perldoc' => 'cpan',
+ 'Pod::Perldoc::BaseTo' => 'cpan',
+ 'Pod::Perldoc::GetOptsOO'=> 'cpan',
+ 'Pod::Perldoc::ToANSI' => 'cpan',
+ 'Pod::Perldoc::ToChecker'=> 'cpan',
+ 'Pod::Perldoc::ToMan' => 'cpan',
+ 'Pod::Perldoc::ToNroff' => 'cpan',
+ 'Pod::Perldoc::ToPod' => 'cpan',
+ 'Pod::Perldoc::ToRtf' => 'cpan',
+ 'Pod::Perldoc::ToTerm' => 'cpan',
+ 'Pod::Perldoc::ToText' => 'cpan',
+ 'Pod::Perldoc::ToTk' => 'cpan',
+ 'Pod::Perldoc::ToXml' => 'cpan',
+ 'Pod::PlainText' => 'cpan',
+ 'Pod::Select' => 'cpan',
'Pod::Simple' => 'cpan',
'Pod::Simple::BlackBox' => 'cpan',
'Pod::Simple::Checker' => 'cpan',
@@ -26185,15 +7892,14 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Pod::Text::Color' => 'cpan',
'Pod::Text::Overstrike' => 'cpan',
'Pod::Text::Termcap' => 'cpan',
- 'Pod::Usage' => undef,
+ 'Pod::Usage' => 'cpan',
'Safe' => 'blead',
'Scalar::Util' => 'cpan',
- 'Scalar::Util::PP' => 'cpan',
'SelfLoader' => 'blead',
- 'Shell' => undef,
+ 'Socket' => 'cpan',
'Storable' => 'blead',
'Sys::Syslog' => 'cpan',
- 'Sys::Syslog::win32::Win32'=> 'cpan',
+ 'Sys::Syslog::Win32' => 'cpan',
'TAP::Base' => 'cpan',
'TAP::Formatter::Base' => 'cpan',
'TAP::Formatter::Color' => 'cpan',
@@ -26249,19 +7955,19 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Test::Harness' => 'cpan',
'Test::More' => 'cpan',
'Test::Simple' => 'cpan',
- 'Text::Balanced' => undef,
+ 'Text::Balanced' => 'cpan',
'Text::ParseWords' => undef,
'Text::Soundex' => undef,
'Text::Tabs' => 'cpan',
'Text::Wrap' => 'cpan',
'Thread::Queue' => 'blead',
'Thread::Semaphore' => 'blead',
- 'Tie::File' => 'first-come',
+ 'Tie::File' => 'blead',
'Tie::RefHash' => 'cpan',
- 'Time::HiRes' => undef,
+ 'Time::HiRes' => 'cpan',
'Time::Local' => 'cpan',
'Time::Piece' => undef,
- 'Time::Piece::Seconds' => undef,
+ 'Time::Seconds' => undef,
'Unicode::Collate' => 'first-come',
'Unicode::Collate::CJK::Big5'=> 'first-come',
'Unicode::Collate::CJK::GB2312'=> 'first-come',
@@ -26275,13 +7981,11 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'VMS::DCLsym' => undef,
'VMS::Filespec' => undef,
'VMS::Stdio' => undef,
- 'Version::Requirements' => 'cpan',
'Win32' => 'cpan',
'Win32API::File' => 'cpan',
'Win32API::File::ExtUtils::Myconst2perl'=> 'cpan',
'Win32CORE' => undef,
- 'XSLoader' => 'blead',
- 'XSLoader::XSLoader' => 'blead',
+ 'XSLoader' => undef,
'autodie' => 'cpan',
'autodie::exception' => 'cpan',
'autodie::exception::system'=> 'cpan',
@@ -26298,15 +8002,15 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'inc::latest' => 'cpan',
'lib' => 'blead',
'parent' => undef,
+ 'perlfaq' => 'cpan',
'threads' => 'blead',
'threads::shared' => 'blead',
'version' => undef,
- 'warnings' => undef,
- 'warnings::register' => undef,
+ 'warnings' => 'blead',
+ 'warnings::register' => 'blead',
);
%bug_tracker = (
- 'AnyDBM_File' => undef,
'App::Cpan' => undef,
'App::Prove' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
'App::Prove::State' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
@@ -26317,6 +8021,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Archive::Tar::Constant'=> undef,
'Archive::Tar::File' => undef,
'Attribute::Handlers' => undef,
+ 'B::Concise' => undef,
'B::Debug' => undef,
'B::Deparse' => undef,
'B::Lint' => undef,
@@ -26343,6 +8048,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'CPAN::Exception::RecursiveDependency'=> undef,
'CPAN::Exception::blocked_urllist'=> undef,
'CPAN::Exception::yaml_not_installed'=> undef,
+ 'CPAN::Exception::yaml_process_error'=> undef,
'CPAN::FTP' => undef,
'CPAN::FTP::netrc' => undef,
'CPAN::FirstTime' => undef,
@@ -26358,6 +8064,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'CPAN::Meta::Feature' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
'CPAN::Meta::History' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
'CPAN::Meta::Prereqs' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
+ 'CPAN::Meta::Requirements'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta-Requirements',
'CPAN::Meta::Spec' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
'CPAN::Meta::Validator' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
'CPAN::Meta::YAML' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta-YAML',
@@ -26374,6 +8081,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'CPANPLUS::Backend' => undef,
'CPANPLUS::Backend::RV' => undef,
'CPANPLUS::Config' => undef,
+ 'CPANPLUS::Config::HomeEnv'=> undef,
'CPANPLUS::Configure' => undef,
'CPANPLUS::Configure::Setup'=> undef,
'CPANPLUS::Dist' => undef,
@@ -26410,13 +8118,13 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
+ 'Carp' => undef,
+ 'Carp::Heavy' => undef,
'Compress::Raw::Bzip2' => undef,
'Compress::Raw::Zlib' => undef,
'Compress::Zlib' => undef,
'Cwd' => undef,
'DB_File' => undef,
- 'Devel::DProf' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Devel-DProf',
- 'Devel::DProf::dprof::V'=> undef,
'Devel::InnerPackage' => undef,
'Devel::PPPort' => undef,
'Digest' => undef,
@@ -26493,11 +8201,18 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'ExtUtils::MY' => undef,
'ExtUtils::MakeMaker' => undef,
'ExtUtils::MakeMaker::Config'=> undef,
- 'ExtUtils::MakeMaker::YAML'=> undef,
'ExtUtils::Mkbootstrap' => undef,
'ExtUtils::Mksymlists' => undef,
'ExtUtils::Packlist' => undef,
'ExtUtils::ParseXS' => undef,
+ 'ExtUtils::ParseXS::Constants'=> undef,
+ 'ExtUtils::ParseXS::CountLines'=> undef,
+ 'ExtUtils::ParseXS::Utilities'=> undef,
+ 'ExtUtils::Typemaps' => undef,
+ 'ExtUtils::Typemaps::Cmd'=> undef,
+ 'ExtUtils::Typemaps::InputMap'=> undef,
+ 'ExtUtils::Typemaps::OutputMap'=> undef,
+ 'ExtUtils::Typemaps::Type'=> undef,
'ExtUtils::testlib' => undef,
'Fatal' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
'File::Fetch' => undef,
@@ -26516,7 +8231,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Filter::Simple' => undef,
'Filter::Util::Call' => undef,
'Getopt::Long' => undef,
- 'HTTP::Tiny' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=HTTP-Tiny',
+ 'HTTP::Tiny' => 'https://rt.cpan.org/Public/Dist/Display.html?Name=HTTP-Tiny',
'IO::Compress::Adapter::Bzip2'=> undef,
'IO::Compress::Adapter::Deflate'=> undef,
'IO::Compress::Adapter::Identity'=> undef,
@@ -26551,14 +8266,30 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'JSON::PP' => undef,
'JSON::PP::Boolean' => undef,
'List::Util' => undef,
- 'List::Util::PP' => undef,
'List::Util::XS' => undef,
'Locale::Codes' => undef,
+ 'Locale::Codes::Constants'=> undef,
'Locale::Codes::Country'=> undef,
+ 'Locale::Codes::Country_Codes'=> undef,
+ 'Locale::Codes::Country_Retired'=> undef,
'Locale::Codes::Currency'=> undef,
+ 'Locale::Codes::Currency_Codes'=> undef,
+ 'Locale::Codes::Currency_Retired'=> undef,
+ 'Locale::Codes::LangExt'=> undef,
+ 'Locale::Codes::LangExt_Codes'=> undef,
+ 'Locale::Codes::LangExt_Retired'=> undef,
+ 'Locale::Codes::LangFam'=> undef,
+ 'Locale::Codes::LangFam_Codes'=> undef,
+ 'Locale::Codes::LangFam_Retired'=> undef,
+ 'Locale::Codes::LangVar'=> undef,
+ 'Locale::Codes::LangVar_Codes'=> undef,
+ 'Locale::Codes::LangVar_Retired'=> undef,
'Locale::Codes::Language'=> undef,
+ 'Locale::Codes::Language_Codes'=> undef,
+ 'Locale::Codes::Language_Retired'=> undef,
'Locale::Codes::Script' => undef,
- 'Locale::Constants' => undef,
+ 'Locale::Codes::Script_Codes'=> undef,
+ 'Locale::Codes::Script_Retired'=> undef,
'Locale::Country' => undef,
'Locale::Currency' => undef,
'Locale::Language' => undef,
@@ -26619,6 +8350,7 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Module::Build::Version'=> undef,
'Module::Build::YAML' => undef,
'Module::CoreList' => undef,
+ 'Module::CoreList::TieHashDelta'=> undef,
'Module::Load' => undef,
'Module::Load::Conditional'=> undef,
'Module::Loaded' => undef,
@@ -26659,44 +8391,46 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Pod::Perldoc' => undef,
'Pod::Perldoc::BaseTo' => undef,
'Pod::Perldoc::GetOptsOO'=> undef,
+ 'Pod::Perldoc::ToANSI' => undef,
'Pod::Perldoc::ToChecker'=> undef,
'Pod::Perldoc::ToMan' => undef,
'Pod::Perldoc::ToNroff' => undef,
'Pod::Perldoc::ToPod' => undef,
'Pod::Perldoc::ToRtf' => undef,
+ 'Pod::Perldoc::ToTerm' => undef,
'Pod::Perldoc::ToText' => undef,
'Pod::Perldoc::ToTk' => undef,
'Pod::Perldoc::ToXml' => undef,
'Pod::PlainText' => undef,
'Pod::Select' => undef,
- 'Pod::Simple' => 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::BlackBox' => 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::Checker' => 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::Debug' => 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::DumpAsText'=> 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::DumpAsXML'=> 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::HTML' => 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::HTMLBatch'=> 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::HTMLLegacy'=> 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::LinkSection'=> 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::Methody' => 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::Progress' => 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::PullParser'=> 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::PullParserEndToken'=> 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::PullParserStartToken'=> 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::PullParserTextToken'=> 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::PullParserToken'=> 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::RTF' => 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::Search' => 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::SimpleTree'=> 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::Text' => 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::TextContent'=> 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::TiedOutFH'=> 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::Transcode'=> 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::TranscodeDumb'=> 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::TranscodeSmart'=> 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::XHTML' => 'mailto:bug-pod-simple@rt.cpan.org',
- 'Pod::Simple::XMLOutStream'=> 'mailto:bug-pod-simple@rt.cpan.org',
+ 'Pod::Simple' => undef,
+ 'Pod::Simple::BlackBox' => undef,
+ 'Pod::Simple::Checker' => undef,
+ 'Pod::Simple::Debug' => undef,
+ 'Pod::Simple::DumpAsText'=> undef,
+ 'Pod::Simple::DumpAsXML'=> undef,
+ 'Pod::Simple::HTML' => undef,
+ 'Pod::Simple::HTMLBatch'=> undef,
+ 'Pod::Simple::HTMLLegacy'=> undef,
+ 'Pod::Simple::LinkSection'=> undef,
+ 'Pod::Simple::Methody' => undef,
+ 'Pod::Simple::Progress' => undef,
+ 'Pod::Simple::PullParser'=> undef,
+ 'Pod::Simple::PullParserEndToken'=> undef,
+ 'Pod::Simple::PullParserStartToken'=> undef,
+ 'Pod::Simple::PullParserTextToken'=> undef,
+ 'Pod::Simple::PullParserToken'=> undef,
+ 'Pod::Simple::RTF' => undef,
+ 'Pod::Simple::Search' => undef,
+ 'Pod::Simple::SimpleTree'=> undef,
+ 'Pod::Simple::Text' => undef,
+ 'Pod::Simple::TextContent'=> undef,
+ 'Pod::Simple::TiedOutFH'=> undef,
+ 'Pod::Simple::Transcode'=> undef,
+ 'Pod::Simple::TranscodeDumb'=> undef,
+ 'Pod::Simple::TranscodeSmart'=> undef,
+ 'Pod::Simple::XHTML' => undef,
+ 'Pod::Simple::XMLOutStream'=> undef,
'Pod::Text' => undef,
'Pod::Text::Color' => undef,
'Pod::Text::Overstrike' => undef,
@@ -26704,12 +8438,11 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Pod::Usage' => undef,
'Safe' => undef,
'Scalar::Util' => undef,
- 'Scalar::Util::PP' => undef,
'SelfLoader' => undef,
- 'Shell' => undef,
+ 'Socket' => undef,
'Storable' => undef,
'Sys::Syslog' => undef,
- 'Sys::Syslog::win32::Win32'=> undef,
+ 'Sys::Syslog::Win32' => undef,
'TAP::Base' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
'TAP::Formatter::Base' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
'TAP::Formatter::Color' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
@@ -26775,9 +8508,9 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Tie::File' => undef,
'Tie::RefHash' => undef,
'Time::HiRes' => undef,
- 'Time::Local' => undef,
+ 'Time::Local' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=Time-Local',
'Time::Piece' => undef,
- 'Time::Piece::Seconds' => undef,
+ 'Time::Seconds' => undef,
'Unicode::Collate' => undef,
'Unicode::Collate::CJK::Big5'=> undef,
'Unicode::Collate::CJK::GB2312'=> undef,
@@ -26788,12 +8521,14 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'Unicode::Collate::Locale'=> undef,
'Unicode::Normalize' => undef,
'Unicode::UCD' => undef,
- 'Version::Requirements' => undef,
+ 'VMS::DCLsym' => undef,
+ 'VMS::Filespec' => undef,
+ 'VMS::Stdio' => undef,
'Win32' => undef,
'Win32API::File' => undef,
'Win32API::File::ExtUtils::Myconst2perl'=> undef,
- 'XSLoader' => undef,
- 'XSLoader::XSLoader' => undef,
+ 'Win32CORE' => undef,
+ 'XSLoader' => 'https://rt.perl.org/rt3/Search/Results.html?Query=Queue=\'perl5\' AND Content LIKE \'module=XSLoader\' AND (Status=\'open\' OR Status=\'new\' OR Status=\'stalled\')',
'autodie' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
'autodie::exception' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
'autodie::exception::system'=> 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
@@ -26810,31 +8545,38 @@ for my $version ( sort { $a <=> $b } keys %released ) {
'inc::latest' => undef,
'lib' => undef,
'parent' => undef,
+ 'perlfaq' => 'https://github.com/perl-doc-cats/perlfaq/issues',
'threads' => undef,
'threads::shared' => undef,
'version' => undef,
+ 'warnings' => undef,
+ 'warnings::register' => undef,
);
# Create aliases with trailing zeros for $] use
$released{'5.000'} = $released{5};
-$released{'5.010000'} = $released{5.01};
-$released{'5.011000'} = $released{5.011};
-$released{'5.012000'} = $released{5.012};
-$released{'5.013000'} = $released{5.013};
-$released{'5.014000'} = $released{5.014};
-
$version{'5.000'} = $version{5};
-$version{'5.010000'} = $version{5.01};
-$version{'5.011000'} = $version{5.011};
-$version{'5.012000'} = $version{5.012};
-$version{'5.013000'} = $version{5.013};
-$version{'5.014000'} = $version{5.014};
-$deprecated{'5.011000'} = $deprecated{5.011};
-$deprecated{'5.012000'} = $deprecated{5.012};
-$deprecated{'5.013000'} = $deprecated{5.013};
-$deprecated{'5.014000'} = $deprecated{5.014};
+_create_aliases(\%released);
+_create_aliases(\%version);
+_create_aliases(\%deprecated);
+
+sub _create_aliases {
+ my ($hash) = @_;
+
+ for my $version (keys %$hash) {
+ next unless $version >= 5.010;
+
+ my $padded = sprintf "%0.6f", $version;
+
+ # If the version in string form isn't the same as the numeric version,
+ # alias it.
+ if ($padded ne $version && $version == $padded) {
+ $hash->{$padded} = $hash->{$version};
+ }
+ }
+}
1;
__END__
diff --git a/Master/tlpkg/tlperl/lib/Module/CoreList.pod b/Master/tlpkg/tlperl/lib/Module/CoreList.pod
new file mode 100644
index 00000000000..4db77e6a283
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Module/CoreList.pod
@@ -0,0 +1,214 @@
+=head1 NAME
+
+Module::CoreList - what modules shipped with versions of perl
+
+=head1 SYNOPSIS
+
+ use Module::CoreList;
+
+ print $Module::CoreList::version{5.00503}{CPAN}; # prints 1.48
+
+ print Module::CoreList->first_release('File::Spec'); # prints 5.00405
+ print Module::CoreList->first_release_by_date('File::Spec'); # prints 5.005
+ print Module::CoreList->first_release('File::Spec', 0.82); # prints 5.006001
+
+ print join ', ', Module::CoreList->find_modules(qr/Data/);
+ # prints 'Data::Dumper'
+ print join ', ', Module::CoreList->find_modules(qr/test::h.*::.*s/i, 5.008008);
+ # prints 'Test::Harness::Assert, Test::Harness::Straps'
+
+ print join ", ", @{ $Module::CoreList::families{5.005} };
+ # prints "5.005, 5.00503, 5.00504"
+
+=head1 DESCRIPTION
+
+Module::CoreList provides information on which core and dual-life modules shipped
+with each version of L<perl>.
+
+It provides a number of mechanisms for querying this information.
+
+There is a utility called L<corelist> provided with this module
+which is a convenient way of querying from the command-line.
+
+There is a functional programming API available for programmers to query
+information.
+
+Programmers may also query the contained hash structures to find relevant
+information.
+
+=head1 FUNCTIONS API
+
+These are the functions that are available, they may either be called as functions or class methods:
+
+ Module::CoreList::first_release('File::Spec'); # as a function
+
+ Module::CoreList->first_release('File::Spec'); # class method
+
+=over
+
+=item C<first_release( MODULE )>
+
+Behaviour since version 2.11
+
+Requires a MODULE name as an argument, returns the perl version when that module first
+appeared in core as ordered by perl version number or undef ( in scalar context )
+or an empty list ( in list context ) if that module is not in core.
+
+=item C<first_release_by_date( MODULE )>
+
+Requires a MODULE name as an argument, returns the perl version when that module first
+appeared in core as ordered by release date or undef ( in scalar context )
+or an empty list ( in list context ) if that module is not in core.
+
+=item C<find_modules( REGEX, [ LIST OF PERLS ] )>
+
+Takes a regex as an argument, returns a list of modules that match the regex given.
+If only a regex is provided applies to all modules in all perl versions. Optionally
+you may provide a list of perl versions to limit the regex search.
+
+=item C<find_version( PERL_VERSION )>
+
+Takes a perl version as an argument. Returns that perl version if it exists or C<undef>
+otherwise.
+
+=item C<is_deprecated( MODULE, PERL_VERSION )>
+
+Available in version 2.22 and above.
+
+Returns true if MODULE is marked as deprecated in PERL_VERSION. If PERL_VERSION is
+omitted, it defaults to the current version of Perl.
+
+=item C<removed_from( MODULE )>
+
+Available in version 2.32 and above
+
+Takes a module name as an argument, returns the first perl version where that module
+was removed from core. Returns undef if the given module was never in core or remains
+in core.
+
+=item C<removed_from_by_date( MODULE )>
+
+Available in version 2.32 and above
+
+Takes a module name as an argument, returns the first perl version by release date where that module
+was removed from core. Returns undef if the given module was never in core or remains
+in core.
+
+=item C<changes_between( PERL_VERSION, PERL_VERSION )>
+
+Available in version 2.66 and above.
+
+Given two perl versions, this returns a list of pairs describing the changes in
+core module content betweent hem. The list is suitable for storing in a hash.
+The keys are library names and the values are hashrefs. Each hashref has an
+entry for one or both of C<left> and C<right>, giving the versions of the
+library in each of the left and right perl distributions.
+
+For example, it might return these data (among others) for the the difference
+between 5.008000 and 5.008001:
+
+ 'Pod::ParseLink' => { left => '1.05', right => '1.06' },
+ 'Pod::ParseUtils' => { left => '0.22', right => '0.3' },
+ 'Pod::Perldoc' => { right => '3.10' },
+ 'Pod::Perldoc::BaseTo' => { right => undef },
+
+This shows us two libraries being updated and two being added, one of which has
+an undefined version in the right-hand side version.
+
+=back
+
+=head1 DATA STRUCTURES
+
+These are the hash data structures that are available:
+
+=over
+
+=item C<%Module::CoreList::version>
+
+A hash of hashes that is keyed on perl version as indicated
+in $]. The second level hash is module => version pairs.
+
+Note, it is possible for the version of a module to be unspecified,
+whereby the value is C<undef>, so use C<exists $version{$foo}{$bar}> if
+that's what you're testing for.
+
+Starting with 2.10, the special module name C<Unicode> refers to the version of
+the Unicode Character Database bundled with Perl.
+
+=item C<%Module::CoreList::released>
+
+Keyed on perl version this contains ISO
+formatted versions of the release dates, as gleaned from L<perlhist>.
+
+=item C<%Module::CoreList::families>
+
+New, in 1.96, a hash that
+clusters known perl releases by their major versions.
+
+=item C<%Module::CoreList::deprecated>
+
+A hash of hashes keyed on perl version and on module name.
+If a module is defined it indicates that that module is
+deprecated in that perl version and is scheduled for removal
+from core at some future point.
+
+=item C<%Module::CoreList::upstream>
+
+A hash that contains information on where patches should be directed
+for each core module.
+
+UPSTREAM indicates where patches should go. C<undef> implies
+that this hasn't been discussed for the module at hand.
+C<blead> indicates that the copy of the module in the blead
+sources is to be considered canonical, C<cpan> means that the
+module on CPAN is to be patched first. C<first-come> means
+that blead can be patched freely if it is in sync with the
+latest release on CPAN.
+
+=item C<%Module::CoreList::bug_tracker>
+
+A hash that contains information on the appropriate bug tracker
+for each core module.
+
+BUGS is an email or url to post bug reports. For modules with
+UPSTREAM => 'blead', use perl5-porters@perl.org. rt.cpan.org
+appears to automatically provide a URL for CPAN modules; any value
+given here overrides the default:
+http://rt.cpan.org/Public/Dist/Display.html?Name=$ModuleName
+
+=back
+
+=head1 CAVEATS
+
+Module::CoreList currently covers the 5.000, 5.001, 5.002, 5.003_07,
+5.004, 5.004_05, 5.005, 5.005_03, 5.005_04, 5.6.0, 5.6.1, 5.6.2, 5.7.3,
+5.8.0, 5.8.1, 5.8.2, 5.8.3, 5.8.4, 5.8.5, 5.8.6, 5.8.7, 5.8.8, 5.8.9,
+5.9.0, 5.9.1, 5.9.2, 5.9.3, 5.9.4, 5.9.5, 5.10.0, 5.10.1, 5.11.0, 5.11.1,
+5.11.2, 5.11.3, 5.11.4, 5.11.5, 5.12.0, 5.12.1, 5.12.2, 5.12.3, 5.12.4,
+5.13.0, 5.13.1, 5.13.2, 5.13.3, 5.13.4, 5.13.5, 5.13.6, 5.13.7, 5.13.8,
+5.13.9, 5.13.10, 5.13.11, 5.14.0, 5.14.1, 5.14.2, 5.15.0, 5.15.1, 5.15.2,
+5.15.3, 5.15.4, 5.15.5, 5.15.6, 5.15.7, 5.15.8, 5.15.9, 5.16.0, 5.17.0,
+5.17.1, 5.17.2, 5.17.3, 5.17.4 and 5.17.5 releases of perl.
+
+=head1 HISTORY
+
+Moved to Changes file.
+
+=head1 AUTHOR
+
+Richard Clamp E<lt>richardc@unixbeard.netE<gt>
+
+Currently maintained by the perl 5 porters E<lt>perl5-porters@perl.orgE<gt>.
+
+=head1 LICENSE
+
+Copyright (C) 2002-2009 Richard Clamp. All Rights Reserved.
+
+This module is free software; you can redistribute it and/or modify it
+under the same terms as Perl itself.
+
+=head1 SEE ALSO
+
+L<corelist>, L<Module::Info>, L<perl>, L<http://perlpunks.de/corelist>
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Module/CoreList/TieHashDelta.pm b/Master/tlpkg/tlperl/lib/Module/CoreList/TieHashDelta.pm
new file mode 100644
index 00000000000..19e38aaf9c3
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Module/CoreList/TieHashDelta.pm
@@ -0,0 +1,74 @@
+# For internal Module::CoreList use only.
+package Module::CoreList::TieHashDelta;
+use strict;
+use vars qw($VERSION);
+
+$VERSION = "2.76";
+
+sub TIEHASH {
+ my ($class, $changed, $removed, $parent) = @_;
+
+ return bless {
+ changed => $changed,
+ removed => $removed,
+ parent => $parent,
+ keys_inflated => 0,
+ }, $class;
+}
+
+sub FETCH {
+ my ($self, $key) = @_;
+
+ if (exists $self->{changed}{$key}) {
+ return $self->{changed}{$key};
+ } elsif (exists $self->{removed}{$key}) {
+ return undef;
+ } elsif (defined $self->{parent}) {
+ return $self->{parent}{$key};
+ }
+ return undef;
+}
+
+sub EXISTS {
+ my ($self, $key) = @_;
+
+ if (exists $self->{changed}{$key}) {
+ return 1;
+ } elsif (exists $self->{removed}{$key}) {
+ return '';
+ } elsif (defined $self->{parent}) {
+ return exists $self->{parent}{$key};
+ }
+ return '';
+}
+
+sub FIRSTKEY {
+ my ($self) = @_;
+
+ if (not $self->{keys_inflated}) {
+ # This inflates the whole set of hashes... Somewhat expensive, but saves
+ # many tied hash calls later.
+ my @parent_keys;
+ if (defined $self->{parent}) {
+ @parent_keys = keys %{$self->{parent}};
+ }
+
+ @parent_keys = grep !exists $self->{removed}{$_}, @parent_keys;
+ for my $key (@parent_keys) {
+ next if exists $self->{changed}->{$key};
+ $self->{changed}{$key} = $self->{parent}{$key};
+ }
+
+ $self->{keys_inflated} = 1;
+ }
+
+ keys %{$self->{changed}}; # reset each
+ $self->NEXTKEY;
+}
+
+sub NEXTKEY {
+ my ($self) = @_;
+ each %{$self->{changed}};
+}
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/Module/Load.pm b/Master/tlpkg/tlperl/lib/Module/Load.pm
index d1269da72c4..3a83c386a27 100644
--- a/Master/tlpkg/tlperl/lib/Module/Load.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Load.pm
@@ -1,6 +1,6 @@
package Module::Load;
-$VERSION = '0.18';
+$VERSION = '0.22';
use strict;
use File::Spec ();
@@ -30,8 +30,8 @@ sub load (*;@) {
die $err if $err;
}
}
-
- ### This addresses #41883: Module::Load cannot import
+
+ ### This addresses #41883: Module::Load cannot import
### non-Exporter module. ->import() routines weren't
### properly called when load() was used.
{ no strict 'refs';
@@ -47,7 +47,10 @@ sub _to_file{
local $_ = shift;
my $pm = shift || '';
- my @parts = split /::/;
+ ## trailing blanks ignored by default. [rt #69886]
+ my @parts = split /::/, $_, -1;
+ ## make sure that we can't hop out of @INC
+ shift @parts if @parts && !$parts[0];
### because of [perl #19213], see caveats ###
my $file = $^O eq 'MSWin32'
@@ -55,7 +58,7 @@ sub _to_file{
: File::Spec->catfile( @parts );
$file .= '.pm' if $pm;
-
+
### on perl's before 5.10 (5.9.5@31746) if you require
### a file in VMS format, it's stored in %INC in VMS
### format. Therefor, better unixify it first
@@ -95,15 +98,15 @@ Module::Load - runtime require of both modules and files
load Data::Dumper; # loads that module
load 'Data::Dumper'; # ditto
load $module # tritto
-
+
my $script = 'some/script.pl'
load $script;
load 'some/script.pl'; # use quotes because of punctuations
-
+
load thing; # try 'thing' first, then 'thing.pm'
load CGI, ':standard' # like 'use CGI qw[:standard]'
-
+
=head1 DESCRIPTION
@@ -174,8 +177,8 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
-=cut
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm b/Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm
index be8984e8ba8..39dccf1ce2b 100644
--- a/Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Load/Conditional.pm
@@ -18,7 +18,7 @@ BEGIN {
$FIND_VERSION $ERROR $CHECK_INC_HASH];
use Exporter;
@ISA = qw[Exporter];
- $VERSION = '0.44';
+ $VERSION = '0.46';
$VERBOSE = 0;
$DEPRECATED = 0;
$FIND_VERSION = 1;
@@ -332,7 +332,7 @@ sub check_install {
sub _parse_version {
my $self = shift;
my $str = shift or return;
- my $verbose = shift or 0;
+ my $verbose = shift || 0;
### skip lines which doesn't contain VERSION
return unless $str =~ /VERSION/;
diff --git a/Master/tlpkg/tlperl/lib/Module/Loaded.pm b/Master/tlpkg/tlperl/lib/Module/Loaded.pm
index 26cf07e3e61..6da625ab49f 100644
--- a/Master/tlpkg/tlperl/lib/Module/Loaded.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Loaded.pm
@@ -5,21 +5,21 @@ use Carp qw[carp];
BEGIN { use base 'Exporter';
use vars qw[@EXPORT $VERSION];
-
- $VERSION = '0.06';
+
+ $VERSION = '0.08';
@EXPORT = qw[mark_as_loaded mark_as_unloaded is_loaded];
}
-=head1 NAME
+=head1 NAME
Module::Loaded - mark modules as loaded or unloaded
=head1 SYNOPSIS
use Module::Loaded;
-
+
$bool = mark_as_loaded('Foo'); # Foo.pm is now marked as loaded
- $loc = is_loaded('Foo'); # location of Foo.pm set to the
+ $loc = is_loaded('Foo'); # location of Foo.pm set to the
# loaders location
eval "require 'Foo'"; # is now a no-op
@@ -51,21 +51,21 @@ sub mark_as_loaded (*) {
my $pm = shift;
my $file = __PACKAGE__->_pm_to_file( $pm ) or return;
my $who = [caller]->[1];
-
+
my $where = is_loaded( $pm );
if ( defined $where ) {
carp "'$pm' already marked as loaded ('$where')";
-
+
} else {
$INC{$file} = $who;
}
-
+
return 1;
}
=head2 $bool = mark_as_unloaded( PACKAGE );
-Marks the package as unloaded to perl, which is the exact opposite
+Marks the package as unloaded to perl, which is the exact opposite
of C<mark_as_loaded>. C<PACKAGE> can be a bareword or string.
If the module is already unloaded, C<mark_as_unloaded> will carp about
@@ -73,7 +73,7 @@ this and tell you the C<PACKAGE> has been unloaded already.
=cut
-sub mark_as_unloaded (*) {
+sub mark_as_unloaded (*) {
my $pm = shift;
my $file = __PACKAGE__->_pm_to_file( $pm ) or return;
@@ -83,7 +83,7 @@ sub mark_as_unloaded (*) {
} else {
delete $INC{ $file };
}
-
+
return 1;
}
@@ -92,17 +92,17 @@ sub mark_as_unloaded (*) {
C<is_loaded> tells you if C<PACKAGE> has been marked as loaded yet.
C<PACKAGE> can be a bareword or string.
-It returns falls if C<PACKAGE> has not been loaded yet and the location
+It returns falls if C<PACKAGE> has not been loaded yet and the location
from where it is said to be loaded on success.
=cut
-sub is_loaded (*) {
+sub is_loaded (*) {
my $pm = shift;
my $file = __PACKAGE__->_pm_to_file( $pm ) or return;
return $INC{$file} if exists $INC{$file};
-
+
return;
}
@@ -110,12 +110,12 @@ sub is_loaded (*) {
sub _pm_to_file {
my $pkg = shift;
my $pm = shift or return;
-
+
my $file = join '/', split '::', $pm;
$file .= '.pm';
-
+
return $file;
-}
+}
=head1 BUG REPORTS
@@ -127,7 +127,7 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=cut
diff --git a/Master/tlpkg/tlperl/lib/Module/Metadata.pm b/Master/tlpkg/tlperl/lib/Module/Metadata.pm
index 9d602261d5d..e52a0e24968 100644
--- a/Master/tlpkg/tlperl/lib/Module/Metadata.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Metadata.pm
@@ -11,9 +11,10 @@ package Module::Metadata;
use strict;
use vars qw($VERSION);
-$VERSION = '1.000004';
+$VERSION = '1.000009';
$VERSION = eval $VERSION;
+use Carp qw/croak/;
use File::Spec;
use IO::File;
use version 0.87;
@@ -36,7 +37,7 @@ my $PKG_REGEXP = qr{ # match a package declaration
\s* # optional whitespace
($V_NUM_REGEXP)? # optional version number
\s* # optional whitesapce
- ; # semicolon line terminator
+ [;\{] # semicolon line terminator or block start (since 5.16)
}x;
my $VARNAME_REGEXP = qr{ # match fully-qualified VERSION name
@@ -69,6 +70,18 @@ sub new_from_file {
return $class->_init(undef, $filename, @_);
}
+sub new_from_handle {
+ my $class = shift;
+ my $handle = shift;
+ my $filename = shift;
+ return undef unless defined($handle) && defined($filename);
+ $filename = File::Spec->rel2abs( $filename );
+
+ return $class->_init(undef, $filename, @_, handle => $handle);
+
+}
+
+
sub new_from_module {
my $class = shift;
my $module = shift;
@@ -148,6 +161,44 @@ sub new_from_module {
return \%result;
};
+ sub provides {
+ my $class = shift;
+
+ croak "provides() requires key/value pairs \n" if @_ % 2;
+ my %args = @_;
+
+ croak "provides() takes only one of 'dir' or 'files'\n"
+ if $args{dir} && $args{files};
+
+ croak "provides() requires a 'version' argument"
+ unless defined $args{version};
+
+ croak "provides() does not support version '$args{version}' metadata"
+ unless grep { $args{version} eq $_ } qw/1.4 2/;
+
+ $args{prefix} = 'lib' unless defined $args{prefix};
+
+ my $p;
+ if ( $args{dir} ) {
+ $p = $class->package_versions_from_directory($args{dir});
+ }
+ else {
+ croak "provides() requires 'files' to be an array reference\n"
+ unless ref $args{files} eq 'ARRAY';
+ $p = $class->package_versions_from_directory($args{files});
+ }
+
+ # Now, fix up files with prefix
+ if ( length $args{prefix} ) { # check in case disabled with q{}
+ $args{prefix} =~ s{/$}{};
+ for my $v ( values %$p ) {
+ $v->{file} = "$args{prefix}/$v->{file}";
+ }
+ }
+
+ return $p
+ }
+
sub package_versions_from_directory {
my ( $class, $dir, $files ) = @_;
@@ -183,8 +234,7 @@ sub new_from_module {
if ( $package eq $prime_package ) {
if ( exists( $prime{$package} ) ) {
- # M::B::ModuleInfo will handle this conflict
- die "Unexpected conflict in '$package'; multiple versions found.\n";
+ croak "Unexpected conflict in '$package'; multiple versions found.\n";
} else {
$prime{$package}{file} = $mapped_filename;
$prime{$package}{version} = $version if defined( $version );
@@ -282,6 +332,7 @@ sub _init {
my $filename = shift;
my %props = @_;
+ my $handle = delete $props{handle};
my( %valid_props, @valid_props );
@valid_props = qw( collect_pod inc );
@valid_props{@valid_props} = delete( @props{@valid_props} );
@@ -302,7 +353,12 @@ sub _init {
my $self = bless(\%data, $class);
- $self->_parse_file();
+ if ( $handle ) {
+ $self->_parse_fh($handle);
+ }
+ else {
+ $self->_parse_file();
+ }
unless($self->{module} and length($self->{module})) {
my ($v, $d, $f) = File::Spec->splitpath($self->{filename});
@@ -330,7 +386,7 @@ sub _init {
# class method
sub _do_find_module {
my $class = shift;
- my $module = shift || die 'find_module_by_name() requires a package name';
+ my $module = shift || croak 'find_module_by_name() requires a package name';
my $dirs = shift || \@INC;
my $file = File::Spec->catfile(split( /::/, $module));
@@ -380,7 +436,7 @@ sub _parse_file {
my $filename = $self->{filename};
my $fh = IO::File->new( $filename )
- or die( "Can't open '$filename': $!" );
+ or croak( "Can't open '$filename': $!" );
$self->_parse_fh($fh);
}
@@ -517,9 +573,9 @@ sub _evaluate_version_line {
use version;
no strict;
- local $sigil$var;
- \$$var=undef;
\$vsub = sub {
+ local $sigil$var;
+ \$$var=undef;
$line;
\$$var
};
@@ -537,15 +593,15 @@ sub _evaluate_version_line {
warn "Error evaling version line '$eval' in $self->{filename}: $@\n"
if $@;
(ref($vsub) eq 'CODE') or
- die "failed to build version sub for $self->{filename}";
+ croak "failed to build version sub for $self->{filename}";
my $result = eval { $vsub->() };
- die "Could not get version from $self->{filename} by executing:\n$eval\n\nThe fatal error was: $@\n"
+ croak "Could not get version from $self->{filename} by executing:\n$eval\n\nThe fatal error was: $@\n"
if $@;
# Upgrade it into a version object
my $version = eval { _dwim_version($result) };
- die "Version '$result' from $self->{filename} does not appear to be valid:\n$eval\n\nThe fatal error was: $@\n"
+ croak "Version '$result' from $self->{filename} does not appear to be valid:\n$eval\n\nThe fatal error was: $@\n"
unless defined $version; # "0" is OK!
return $version;
@@ -603,7 +659,7 @@ sub _evaluate_version_line {
last if defined $version;
}
- die $error unless defined $version;
+ croak $error unless defined $version;
return $version;
}
@@ -648,76 +704,120 @@ sub pod {
Module::Metadata - Gather package and POD information from perl module files
+=head1 SYNOPSIS
+
+ use Module::Metadata;
+
+ # information about a .pm file
+ my $info = Module::Metadata->new_from_file( $file );
+ my $version = $info->version;
+
+ # CPAN META 'provides' field for .pm files in a directory
+ my $provides = Module::Metadata->provides(
+ dir => 'lib', version => 2
+ );
+
=head1 DESCRIPTION
+This module provides a standard way to gather metadata about a .pm file
+without executing unsafe code.
+
+=head1 USAGE
+
+=head2 Class methods
+
=over 4
-=item new_from_file($filename, collect_pod => 1)
+=item C<< new_from_file($filename, collect_pod => 1) >>
+
+Construct a C<Module::Metadata> object given the path to a file. Takes an
+optional argument C<collect_pod> which is a boolean that determines whether POD
+data is collected and stored for reference. POD data is not collected by
+default. POD headings are always collected. Returns undef if the filename
+does not exist.
-Construct a C<ModuleInfo> object given the path to a file. Takes an optional
-argument C<collect_pod> which is a boolean that determines whether
-POD data is collected and stored for reference. POD data is not
-collected by default. POD headings are always collected.
+=item C<< new_from_handle($handle, $filename, collect_pod => 1) >>
-=item new_from_module($module, collect_pod => 1, inc => \@dirs)
+This works just like C<new_from_file>, except that a handle can be provided
+as the first argument. Note that there is no validation to confirm that the
+handle is a handle or something that can act like one. Passing something that
+isn't a handle will cause a exception when trying to read from it. The
+C<filename> argument is mandatory or undef will be returned.
-Construct a C<ModuleInfo> object given a module or package name. In addition
+=item C<< new_from_module($module, collect_pod => 1, inc => \@dirs) >>
+
+Construct a C<Module::Metadata> object given a module or package name. In addition
to accepting the C<collect_pod> argument as described above, this
method accepts a C<inc> argument which is a reference to an array of
of directories to search for the module. If none are given, the
-default is @INC.
+default is @INC. Returns undef if the module cannot be found.
-=item name()
+=item C<< find_module_by_name($module, \@dirs) >>
-Returns the name of the package represented by this module. If there
-are more than one packages, it makes a best guess based on the
-filename. If it's a script (i.e. not a *.pm) the package name is
-'main'.
+Returns the path to a module given the module or package name. A list
+of directories can be passed in as an optional parameter, otherwise
+@INC is searched.
-=item version($package)
+Can be called as either an object or a class method.
-Returns the version as defined by the $VERSION variable for the
-package as returned by the C<name> method if no arguments are
-given. If given the name of a package it will attempt to return the
-version of that package if it is specified in the file.
+=item C<< find_module_dir_by_name($module, \@dirs) >>
-=item filename()
+Returns the entry in C<@dirs> (or C<@INC> by default) that contains
+the module C<$module>. A list of directories can be passed in as an
+optional parameter, otherwise @INC is searched.
-Returns the absolute path to the file.
+Can be called as either an object or a class method.
-=item packages_inside()
+=item C<< provides( %options ) >>
-Returns a list of packages.
+This is a convenience wrapper around C<package_versions_from_directory>
+to generate a CPAN META C<provides> data structure. It takes key/value
+pairs. Valid option keys include:
-=item pod_inside()
+=over
-Returns a list of POD sections.
+=item version B<(required)>
-=item contains_pod()
+Specifies which version of the L<CPAN::Meta::Spec> should be used as
+the format of the C<provides> output. Currently only '1.4' and '2'
+are supported (and their format is identical). This may change in
+the future as the definition of C<provides> changes.
-Returns true if there is any POD in the file.
+The C<version> option is required. If it is omitted or if
+an unsupported version is given, then C<provides> will throw an error.
-=item pod($section)
+=item dir
-Returns the POD data in the given section.
+Directory to search recursively for F<.pm> files. May not be specified with
+C<files>.
-=item find_module_by_name($module, \@dirs)
+=item files
-Returns the path to a module given the module or package name. A list
-of directories can be passed in as an optional parameter, otherwise
-@INC is searched.
+Array reference of files to examine. May not be specified with C<dir>.
-Can be called as either an object or a class method.
+=item prefix
-=item find_module_dir_by_name($module, \@dirs)
+String to prepend to the C<file> field of the resulting output. This defaults
+to F<lib>, which is the common case for most CPAN distributions with their
+F<.pm> files in F<lib>. This option ensures the META information has the
+correct relative path even when the C<dir> or C<files> arguments are
+absolute or have relative paths from a location other than the distribution
+root.
-Returns the entry in C<@dirs> (or C<@INC> by default) that contains
-the module C<$module>. A list of directories can be passed in as an
-optional parameter, otherwise @INC is searched.
+=back
-Can be called as either an object or a class method.
+For example, given C<dir> of 'lib' and C<prefix> of 'lib', the return value
+is a hashref of the form:
+
+ {
+ 'Package::Name' => {
+ version => '0.123',
+ file => 'lib/Package/Name.pm'
+ },
+ 'OtherPackage::Name' => ...
+ }
-=item package_versions_from_directory($dir, \@files?)
+=item C<< package_versions_from_directory($dir, \@files?) >>
Scans C<$dir> for .pm files (unless C<@files> is given, in which case looks
for those files in C<$dir> - and reads each file for packages and versions,
@@ -731,23 +831,77 @@ returning a hashref of the form:
'OtherPackage::Name' => ...
}
-=item log_info (internal)
+The C<DB> and C<main> packages are always omitted, as are any "private"
+packages that have leading underscores in the namespace (e.g.
+C<Foo::_private>)
+
+Note that the file path is relative to C<$dir> if that is specified.
+This B<must not> be used directly for CPAN META C<provides>. See
+the C<provides> method instead.
+
+=item C<< log_info (internal) >>
Used internally to perform logging; imported from Log::Contextual if
Log::Contextual has already been loaded, otherwise simply calls warn.
=back
+=head2 Object methods
+
+=over 4
+
+=item C<< name() >>
+
+Returns the name of the package represented by this module. If there
+are more than one packages, it makes a best guess based on the
+filename. If it's a script (i.e. not a *.pm) the package name is
+'main'.
+
+=item C<< version($package) >>
+
+Returns the version as defined by the $VERSION variable for the
+package as returned by the C<name> method if no arguments are
+given. If given the name of a package it will attempt to return the
+version of that package if it is specified in the file.
+
+=item C<< filename() >>
+
+Returns the absolute path to the file.
+
+=item C<< packages_inside() >>
+
+Returns a list of packages. Note: this is a raw list of packages
+discovered (or assumed, in the case of C<main>). It is not
+filtered for C<DB>, C<main> or private packages the way the
+C<provides> method does.
+
+=item C<< pod_inside() >>
+
+Returns a list of POD sections.
+
+=item C<< contains_pod() >>
+
+Returns true if there is any POD in the file.
+
+=item C<< pod($section) >>
+
+Returns the POD data in the given section.
+
+=back
+
=head1 AUTHOR
-Ken Williams <kwilliams@cpan.org>, Randy W. Sims <RandyS@ThePierianSpring.org>
+Original code from Module::Build::ModuleInfo by Ken Williams
+<kwilliams@cpan.org>, Randy W. Sims <RandyS@ThePierianSpring.org>
Released as Module::Metadata by Matt S Trout (mst) <mst@shadowcat.co.uk> with
-assistance from David Golden (xdg) <dagolden@cpan.org>
+assistance from David Golden (xdg) <dagolden@cpan.org>.
=head1 COPYRIGHT
-Copyright (c) 2001-2011 Ken Williams. All rights reserved.
+Original code Copyright (c) 2001-2011 Ken Williams.
+Additional code Copyright (c) 2010-2011 Matt Trout and David Golden.
+All rights reserved.
This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Module/Pluggable.pm b/Master/tlpkg/tlperl/lib/Module/Pluggable.pm
index bbdb49b6bca..55cf7269e70 100644
--- a/Master/tlpkg/tlperl/lib/Module/Pluggable.pm
+++ b/Master/tlpkg/tlperl/lib/Module/Pluggable.pm
@@ -9,7 +9,7 @@ use Module::Pluggable::Object;
# Peter Gibbons: I wouldn't say I've been missing it, Bob!
-$VERSION = '3.9';
+$VERSION = '4.0';
sub import {
my $class = shift;
diff --git a/Master/tlpkg/tlperl/lib/Object/Accessor.pm b/Master/tlpkg/tlperl/lib/Object/Accessor.pm
index c7933ec8666..edee181d072 100644
--- a/Master/tlpkg/tlperl/lib/Object/Accessor.pm
+++ b/Master/tlpkg/tlperl/lib/Object/Accessor.pm
@@ -10,7 +10,7 @@ use Data::Dumper;
### disable string overloading for callbacks
require overload;
-$VERSION = '0.38';
+$VERSION = '0.42';
$FATAL = 0;
$DEBUG = 0;
@@ -36,7 +36,7 @@ Object::Accessor - interface to create per object accessors
$bool = $obj->mk_aliases( # create an alias to an existing
alias_name => 'method'); # method name
-
+
$clone = $obj->mk_clone; # create a clone of original
# object without data
$bool = $obj->mk_flush; # clean out all data
@@ -69,11 +69,11 @@ Object::Accessor - interface to create per object accessors
### advanced usage -- callbacks
{ my $obj = Object::Accessor->new('foo');
$obj->register_callback( sub { ... } );
-
+
$obj->foo( 1 ); # these calls invoke the callback you registered
- $obj->foo() # which allows you to change the get/set
+ $obj->foo() # which allows you to change the get/set
# behaviour and what is returned to the caller.
- }
+ }
### advanced usage -- lvalue attributes
{ my $obj = Object::Accessor::Lvalue->new('foo');
@@ -82,12 +82,12 @@ Object::Accessor - interface to create per object accessors
### advanced usage -- scoped attribute values
{ my $obj = Object::Accessor->new('foo');
-
+
$obj->foo( 1 );
print $obj->foo; # will print 1
### bind the scope of the value of attribute 'foo'
- ### to the scope of '$x' -- when $x goes out of
+ ### to the scope of '$x' -- when $x goes out of
### scope, 'foo's previous value will be restored
{ $obj->foo( 2 => \my $x );
print $obj->foo, ' ', $x; # will print '2 2'
@@ -117,7 +117,7 @@ inheritable.
Any arguments given to C<new> are passed straight to C<mk_accessors>.
If you want to be able to assign to your accessors as if they
-were C<lvalue>s, you should create your object in the
+were C<lvalue>s, you should create your object in the
C<Object::Accessor::Lvalue> namespace instead. See the section
on C<LVALUE ACCESSORS> below.
@@ -126,9 +126,9 @@ on C<LVALUE ACCESSORS> below.
sub new {
my $class = shift;
my $obj = bless {}, $class;
-
+
$obj->mk_accessors( @_ ) if @_;
-
+
return $obj;
}
@@ -151,7 +151,7 @@ For example:
foo => qr/^\d+$/, # digits only
bar => [0,1], # booleans
zot => \&my_sub # a custom verification sub
- } );
+ } );
Returns true on success, false on failure.
@@ -161,27 +161,27 @@ global variable C<$FATAL> to true. See the section on C<GLOBAL
VARIABLES> for details.
Note that you can bind the values of attributes to a scope. This allows
-you to C<temporarily> change a value of an attribute, and have it's
+you to C<temporarily> change a value of an attribute, and have it's
original value restored up on the end of it's bound variable's scope;
-For example, in this snippet of code, the attribute C<foo> will
-temporarily be set to C<2>, until the end of the scope of C<$x>, at
+For example, in this snippet of code, the attribute C<foo> will
+temporarily be set to C<2>, until the end of the scope of C<$x>, at
which point the original value of C<1> will be restored.
my $obj = Object::Accessor->new;
-
+
$obj->mk_accessors('foo');
$obj->foo( 1 );
print $obj->foo; # will print 1
### bind the scope of the value of attribute 'foo'
- ### to the scope of '$x' -- when $x goes out of
+ ### to the scope of '$x' -- when $x goes out of
### scope, 'foo' previous value will be restored
{ $obj->foo( 2 => \my $x );
print $obj->foo, ' ', $x; # will print '2 2'
}
print $obj->foo; # will print 1
-
+
Note that all accessors are read/write for everyone. See the C<TODO>
section for details.
@@ -191,11 +191,11 @@ section for details.
sub mk_accessors {
my $self = $_[0];
my $is_hash = UNIVERSAL::isa( $_[1], 'HASH' );
-
+
### first argument is a hashref, which means key/val pairs
### as keys + allow handlers
for my $acc ( $is_hash ? keys %{$_[1]} : @_[1..$#_] ) {
-
+
### already created apparently
if( exists $self->{$acc} ) {
__PACKAGE__->___debug( "Accessor '$acc' already exists");
@@ -206,7 +206,7 @@ sub mk_accessors {
### explicitly vivify it, so that exists works in ls_accessors()
$self->{$acc}->[VALUE] = undef;
-
+
### set the allow handler only if one was specified
$self->{$acc}->[ALLOW] = $_[1]->{$acc} if $is_hash;
}
@@ -223,7 +223,7 @@ by one to the C<can> method.
=cut
sub ls_accessors {
- ### metainformation is stored in the stringified
+ ### metainformation is stored in the stringified
### key of the object, so skip that when listing accessors
return sort grep { $_ ne "$_[0]" } keys %{$_[0]};
}
@@ -240,7 +240,7 @@ sub ls_allow {
my $self = shift;
my $key = shift or return;
return exists $self->{$key}->[ALLOW]
- ? $self->{$key}->[ALLOW]
+ ? $self->{$key}->[ALLOW]
: sub { 1 };
}
@@ -256,7 +256,7 @@ This allows you to do the following:
$self->mk_accessors('foo');
$self->mk_aliases( bar => 'foo' );
-
+
$self->bar( 42 );
print $self->foo; # will print 42
@@ -265,7 +265,7 @@ This allows you to do the following:
sub mk_aliases {
my $self = shift;
my %aliases = @_;
-
+
while( my($alias, $method) = each %aliases ) {
### already created apparently
@@ -294,7 +294,7 @@ sub mk_clone {
my $class = ref $self;
my $clone = $class->new;
-
+
### split out accessors with and without allow handlers, so we
### don't install dummy allow handers (which makes O::A::lvalue
### warn for example)
@@ -348,7 +348,7 @@ object has been filled with values satisfying their own allow criteria.
sub mk_verify {
my $self = $_[0];
-
+
my $fail;
for my $name ( $self->ls_accessors ) {
unless( allow( $self->$name, $self->ls_allow( $name ) ) ) {
@@ -361,7 +361,7 @@ sub mk_verify {
return if $fail;
return 1;
-}
+}
=head2 $bool = $self->register_callback( sub { ... } );
@@ -373,31 +373,31 @@ You are free to return whatever you wish. On a C<set> call, the
data is even stored in the object.
Below is an example of the use of a callback.
-
+
$object->some_method( "some_value" );
-
+
my $callback = sub {
my $self = shift; # the object
my $meth = shift; # "some_method"
- my $val = shift; # ["some_value"]
+ my $val = shift; # ["some_value"]
# could be undef -- check 'exists';
# if scalar @$val is empty, it was a 'get'
-
+
# your code here
return $new_val; # the value you want to be set/returned
- }
+ }
To access the values stored in the object, circumventing the
callback structure, you should use the C<___get> and C<___set> methods
-documented further down.
+documented further down.
=cut
sub register_callback {
my $self = shift;
my $sub = shift or return;
-
+
### use the memory address as key, it's not used EVER as an
### accessor --kane
$self->___callback( $sub );
@@ -470,21 +470,21 @@ sub ___autoload {
if ( not exists $self->{$method} ) {
__PACKAGE__->___error("No such accessor '$method'", 1);
return;
- }
-
+ }
+
### a method on something else, die with a descriptive error;
- } else {
+ } else {
local $FATAL = 1;
- __PACKAGE__->___error(
+ __PACKAGE__->___error(
"You called '$AUTOLOAD' on '$self' which was interpreted by ".
__PACKAGE__ . " as an object call. Did you mean to include ".
"'$method' from somewhere else?", 1 );
- }
+ }
### is this is an alias, redispatch to the original method
if( my $original = $self->{ $method }->[ALIAS] ) {
return $self->___autoload( $original, @_ );
- }
+ }
### assign?
my $val = $assign ? shift(@_) : $self->___get( $method );
@@ -494,43 +494,43 @@ sub ___autoload {
### any binding?
if( $_[0] ) {
if( ref $_[0] and UNIVERSAL::isa( $_[0], 'SCALAR' ) ) {
-
+
### tie the reference, so we get an object and
### we can use it's going out of scope to restore
### the old value
my $cur = $self->{$method}->[VALUE];
-
- tie ${$_[0]}, __PACKAGE__ . '::TIE',
+
+ tie ${$_[0]}, __PACKAGE__ . '::TIE',
sub { $self->$method( $cur ) };
-
+
${$_[0]} = $val;
-
+
} else {
- __PACKAGE__->___error(
- "Can not bind '$method' to anything but a SCALAR", 1
+ __PACKAGE__->___error(
+ "Can not bind '$method' to anything but a SCALAR", 1
);
}
}
-
+
### need to check the value?
- if( exists $self->{$method}->[ALLOW] ) {
+ if( defined $self->{$method}->[ALLOW] ) {
### double assignment due to 'used only once' warnings
local $Params::Check::VERBOSE = 0;
local $Params::Check::VERBOSE = 0;
-
+
allow( $val, $self->{$method}->[ALLOW] ) or (
- __PACKAGE__->___error(
- "'$val' is an invalid value for '$method'", 1),
- return
- );
+ __PACKAGE__->___error(
+ "'$val' is an invalid value for '$method'", 1),
+ return
+ );
}
}
-
+
### callbacks?
if( my $sub = $self->___callback ) {
$val = eval { $sub->( $self, $method, ($assign ? [$val] : []) ) };
-
+
### register the error
$self->___error( $@, 1 ), return if $@;
}
@@ -539,7 +539,7 @@ sub ___autoload {
if( $assign ) {
$self->___set( $method, $val ) or return;
}
-
+
return [$val];
}
@@ -548,7 +548,7 @@ sub ___autoload {
Method to directly access the value of the given accessor in the
object. It circumvents all calls to allow checks, callbacks, etc.
-Use only if you C<Know What You Are Doing>! General usage for
+Use only if you C<Know What You Are Doing>! General usage for
this functionality would be in your own custom callbacks.
=cut
@@ -566,19 +566,19 @@ sub ___get {
Method to directly set the value of the given accessor in the
object. It circumvents all calls to allow checks, callbacks, etc.
-Use only if you C<Know What You Are Doing>! General usage for
+Use only if you C<Know What You Are Doing>! General usage for
this functionality would be in your own custom callbacks.
-=cut
+=cut
sub ___set {
my $self = shift;
my $method = shift or return;
-
+
### you didn't give us a value to set!
- exists $_[0] or return;
+ @_ or return;
my $val = shift;
-
+
### if there's more arguments than $self, then
### replace the method called by the accessor.
### XXX implement rw vs ro accessors!
@@ -592,7 +592,7 @@ sub ___set {
Method to directly alias one accessor to another for
this object. It circumvents all sanity checks, etc.
-Use only if you C<Know What You Are Doing>!
+Use only if you C<Know What You Are Doing>!
=cut
@@ -600,9 +600,9 @@ sub ___alias {
my $self = shift;
my $alias = shift or return;
my $method = shift or return;
-
+
$self->{ $alias }->[ALIAS] = $method;
-
+
return 1;
}
@@ -614,7 +614,7 @@ sub ___debug {
my $lvl = shift || 0;
local $Carp::CarpLevel += 1;
-
+
carp($msg);
}
@@ -632,13 +632,13 @@ sub ___error {
sub ___callback {
my $self = shift;
my $sub = shift;
-
+
my $mem = overload::Overloaded( $self )
? overload::StrVal( $self )
: "$self";
$self->{$mem} = $sub if $sub;
-
+
return $self->{$mem};
}
@@ -651,7 +651,7 @@ C<Object::Accessor::Lvalue>. For example:
my $obj = Object::Accessor::Lvalue->new('foo');
$obj->foo += 1;
print $obj->foo;
-
+
will actually print C<1> and work as expected. Since this is an
optional feature, that's not desirable in all cases, we require
you to explicitly use the C<Object::Accessor::Lvalue> class.
@@ -685,7 +685,7 @@ See C<perldoc perlsub> for details.
Due to the nature of C<lvalue subs>, we never get access to the
value you are assigning, so we can not check provide this value
to your callback. Furthermore, we can not distinguish between
-a C<get> and a C<set> call. Callbacks are therefor unsupported
+a C<get> and a C<set> call. Callbacks are therefor unsupported
under C<lvalue> conditions.
See C<perldoc perlsub> for details.
@@ -702,7 +702,7 @@ See C<perldoc perlsub> for details.
*VALUE = *Object::Accessor::VALUE;
*ALLOW = *Object::Accessor::ALLOW;
- ### largely copied from O::A::Autoload
+ ### largely copied from O::A::Autoload
sub AUTOLOAD : lvalue {
my $self = shift;
my($method) = ($AUTOLOAD =~ /([^:']+$)/);
@@ -720,22 +720,22 @@ See C<perldoc perlsub> for details.
sub mk_accessors {
my $self = shift;
my $is_hash = UNIVERSAL::isa( $_[0], 'HASH' );
-
+
$self->___error(
"Allow handlers are not supported for '". __PACKAGE__ ."' objects"
) if $is_hash;
-
+
return $self->SUPER::mk_accessors( @_ );
- }
-
+ }
+
sub register_callback {
my $self = shift;
$self->___error(
"Callbacks are not supported for '". __PACKAGE__ ."' objects"
);
return;
- }
-}
+ }
+}
### standard tie class for bound attributes
@@ -752,18 +752,18 @@ See C<perldoc perlsub> for details.
my $ref = undef;
my $obj = bless \$ref, $class;
- ### store the restore sub
+ ### store the restore sub
$local{ $obj } = $sub;
return $obj;
}
-
+
sub DESTROY {
my $tied = shift;
my $sub = delete $local{ $tied };
### run the restore sub to set the old value back
- return $sub->();
- }
+ return $sub->();
+ }
}
=back
@@ -793,11 +793,11 @@ release should make it possible to have read-only accessors as well.
If you use codereferences for your allow handlers, you will not be able
to freeze the data structures using C<Storable>.
-Due to a bug in storable (until at least version 2.15), C<qr//> compiled
-regexes also don't de-serialize properly. Although this bug has been
+Due to a bug in storable (until at least version 2.15), C<qr//> compiled
+regexes also don't de-serialize properly. Although this bug has been
reported, you should be aware of this issue when serializing your objects.
-You can track the bug here:
+You can track the bug here:
http://rt.cpan.org/Ticket/Display.html?id=1827
@@ -811,7 +811,7 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=cut
diff --git a/Master/tlpkg/tlperl/lib/Opcode.pm b/Master/tlpkg/tlperl/lib/Opcode.pm
index 21d90797997..a9d5ab21515 100644
--- a/Master/tlpkg/tlperl/lib/Opcode.pm
+++ b/Master/tlpkg/tlperl/lib/Opcode.pm
@@ -6,7 +6,7 @@ use strict;
our($VERSION, @ISA, @EXPORT_OK);
-$VERSION = "1.18";
+$VERSION = "1.23";
use Carp;
use Exporter ();
@@ -308,7 +308,7 @@ invert_opset function.
rv2sv sassign
- rv2av aassign aelem aelemfast aslice av2arylen
+ rv2av aassign aelem aelemfast aelemfast_lex aslice av2arylen
rv2hv helem hslice each values keys exists delete aeach akeys avalues
boolkeys reach rvalues rkeys
@@ -325,7 +325,7 @@ invert_opset function.
substr vec stringify study pos length index rindex ord chr
- ucfirst lcfirst uc lc quotemeta trans transr chop schop chomp schomp
+ ucfirst lcfirst uc lc fc quotemeta trans transr chop schop chomp schomp
match split qr
@@ -335,7 +335,7 @@ invert_opset function.
warn die lineseq nextstate scope enter leave
- rv2cv anoncode prototype
+ rv2cv anoncode prototype coreargs
entersub leavesub leavesublv return method method_named -- XXX loops via recursion?
@@ -543,7 +543,7 @@ This tag holds opcodes related to loading modules and getting information
about calling environment and args.
require dofile
- caller
+ caller runcv
=item :still_to_be_decided
diff --git a/Master/tlpkg/tlperl/lib/POSIX.pm b/Master/tlpkg/tlperl/lib/POSIX.pm
index 990b73baaf0..457af508681 100644
--- a/Master/tlpkg/tlperl/lib/POSIX.pm
+++ b/Master/tlpkg/tlperl/lib/POSIX.pm
@@ -2,11 +2,9 @@ package POSIX;
use strict;
use warnings;
-our(@ISA, %EXPORT_TAGS, @EXPORT_OK, @EXPORT, $AUTOLOAD, %SIGRT) = ();
+our ($AUTOLOAD, %SIGRT);
-our $VERSION = "1.24";
-
-use AutoLoader;
+our $VERSION = '1.30';
require XSLoader;
@@ -18,321 +16,204 @@ use Fcntl qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK F_SETFD
S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID
S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR);
-# Grandfather old foo_h form to new :foo_h form
my $loaded;
sub import {
+ my $pkg = shift;
+
load_imports() unless $loaded++;
- my $this = shift;
- my @list = map { m/^\w+_h$/ ? ":$_" : $_ } @_;
+
+ # Grandfather old foo_h form to new :foo_h form
+ s/^(?=\w+_h$)/:/ for my @list = @_;
+
local $Exporter::ExportLevel = 1;
- Exporter::import($this,@list);
+ Exporter::import($pkg,@list);
}
sub croak { require Carp; goto &Carp::croak }
-# declare usage to assist AutoLoad
-sub usage;
+sub usage { croak "Usage: POSIX::$_[0]" }
XSLoader::load();
-sub AUTOLOAD {
- no warnings 'uninitialized';
- if ($AUTOLOAD =~ /::(_?[a-z])/) {
- # require AutoLoader;
- $AutoLoader::AUTOLOAD = $AUTOLOAD;
- goto &AutoLoader::AUTOLOAD
- }
- my $constname = $AUTOLOAD;
- $constname =~ s/.*:://;
- constant($constname);
-}
-
-package POSIX::SigAction;
-
-use AutoLoader 'AUTOLOAD';
-
-package POSIX::SigRt;
-
-use AutoLoader 'AUTOLOAD';
-
-use Tie::Hash;
-
-use vars qw($SIGACTION_FLAGS $_SIGRTMIN $_SIGRTMAX $_sigrtn @ISA);
-@POSIX::SigRt::ISA = qw(Tie::StdHash);
-
-$SIGACTION_FLAGS = 0;
-
-tie %POSIX::SIGRT, 'POSIX::SigRt';
-
-sub DESTROY {};
-
-package POSIX;
-
-1;
-__END__
-
-sub usage {
- my ($mess) = @_;
- croak "Usage: POSIX::$mess";
-}
+my %replacement = (
+ atexit => 'END {}',
+ atof => undef,
+ atoi => undef,
+ atol => undef,
+ bsearch => \'not supplied',
+ calloc => undef,
+ clearerr => 'IO::Handle::clearerr',
+ div => '/, % and int',
+ execl => undef,
+ execle => undef,
+ execlp => undef,
+ execv => undef,
+ execve => undef,
+ execvp => undef,
+ fclose => 'IO::Handle::close',
+ fdopen => 'IO::Handle::new_from_fd',
+ feof => 'IO::Handle::eof',
+ ferror => 'IO::Handle::error',
+ fflush => 'IO::Handle::flush',
+ fgetc => 'IO::Handle::getc',
+ fgetpos => 'IO::Seekable::getpos',
+ fgets => 'IO::Handle::gets',
+ fileno => 'IO::Handle::fileno',
+ fopen => 'IO::File::open',
+ fprintf => 'printf',
+ fputc => 'print',
+ fputs => 'print',
+ fread => 'read',
+ free => undef,
+ freopen => 'open',
+ fscanf => '<> and regular expressions',
+ fseek => 'IO::Seekable::seek',
+ fsetpos => 'IO::Seekable::setpos',
+ fsync => 'IO::Handle::sync',
+ ftell => 'IO::Seekable::tell',
+ fwrite => 'print',
+ labs => 'abs',
+ ldiv => '/, % and int',
+ longjmp => 'die',
+ malloc => undef,
+ memchr => 'index()',
+ memcmp => 'eq',
+ memcpy => '=',
+ memmove => '=',
+ memset => 'x',
+ offsetof => undef,
+ putc => 'print',
+ putchar => 'print',
+ puts => 'print',
+ qsort => 'sort',
+ rand => \'non-portable, use Perl\'s rand instead',
+ realloc => undef,
+ scanf => '<> and regular expressions',
+ setbuf => 'IO::Handle::setbuf',
+ setjmp => 'eval {}',
+ setvbuf => 'IO::Handle::setvbuf',
+ siglongjmp => 'die',
+ sigsetjmp => 'eval {}',
+ srand => \'not supplied; refer to Perl\'s srand documentation',
+ sscanf => 'regular expressions',
+ strcat => '.=',
+ strchr => 'index()',
+ strcmp => 'eq',
+ strcpy => '=',
+ strcspn => 'regular expressions',
+ strlen => 'length',
+ strncat => '.=',
+ strncmp => 'eq',
+ strncpy => '=',
+ strpbrk => undef,
+ strrchr => 'rindex()',
+ strspn => undef,
+ strtok => undef,
+ tmpfile => 'IO::File::new_tmpfile',
+ ungetc => 'IO::Handle::ungetc',
+ vfprintf => undef,
+ vprintf => undef,
+ vsprintf => undef,
+);
-sub redef {
- my ($mess) = @_;
- croak "Use method $mess instead";
-}
+my %reimpl = (
+ assert => 'expr => croak "Assertion failed" if !$_[0]',
+ tolower => 'string => lc($_[0])',
+ toupper => 'string => uc($_[0])',
+ closedir => 'dirhandle => CORE::closedir($_[0])',
+ opendir => 'directory => my $dh; CORE::opendir($dh, $_[0]) ? $dh : undef',
+ readdir => 'dirhandle => CORE::readdir($_[0])',
+ rewinddir => 'dirhandle => CORE::rewinddir($_[0])',
+ errno => '$! + 0',
+ creat => 'filename, mode => &open($_[0], &O_WRONLY | &O_CREAT | &O_TRUNC, $_[1])',
+ fcntl => 'filehandle, cmd, arg => CORE::fcntl($_[0], $_[1], $_[2])',
+ getgrgid => 'gid => CORE::getgrgid($_[0])',
+ getgrnam => 'name => CORE::getgrnam($_[0])',
+ atan2 => 'x, y => CORE::atan2($_[0], $_[1])',
+ cos => 'x => CORE::cos($_[0])',
+ exp => 'x => CORE::exp($_[0])',
+ fabs => 'x => CORE::abs($_[0])',
+ log => 'x => CORE::log($_[0])',
+ pow => 'x, exponent => $_[0] ** $_[1]',
+ sin => 'x => CORE::sin($_[0])',
+ sqrt => 'x => CORE::sqrt($_[0])',
+ getpwnam => 'name => CORE::getpwnam($_[0])',
+ getpwuid => 'uid => CORE::getpwuid($_[0])',
+ kill => 'pid, sig => CORE::kill $_[1], $_[0]',
+ raise => 'sig => CORE::kill $_[0], $$; # Is this good enough',
+ getc => 'handle => CORE::getc($_[0])',
+ getchar => 'CORE::getc(STDIN)',
+ gets => 'scalar <STDIN>',
+ remove => 'filename => (-d $_[0]) ? CORE::rmdir($_[0]) : CORE::unlink($_[0])',
+ rename => 'oldfilename, newfilename => CORE::rename($_[0], $_[1])',
+ rewind => 'filehandle => CORE::seek($_[0],0,0)',
+ abs => 'x => CORE::abs($_[0])',
+ exit => 'status => CORE::exit($_[0])',
+ getenv => 'name => $ENV{$_[0]}',
+ system => 'command => CORE::system($_[0])',
+ strerror => 'errno => local $! = $_[0]; "$!"',
+ strstr => 'big, little => CORE::index($_[0], $_[1])',
+ chmod => 'mode, filename => CORE::chmod($_[0], $_[1])',
+ fstat => 'fd => CORE::open my $dup, "<&", $_[0]; CORE::stat($dup)', # Gross.
+ mkdir => 'directoryname, mode => CORE::mkdir($_[0], $_[1])',
+ stat => 'filename => CORE::stat($_[0])',
+ umask => 'mask => CORE::umask($_[0])',
+ wait => 'CORE::wait()',
+ waitpid => 'pid, options => CORE::waitpid($_[0], $_[1])',
+ gmtime => 'time => CORE::gmtime($_[0])',
+ localtime => 'time => CORE::localtime($_[0])',
+ time => 'CORE::time',
+ alarm => 'seconds => CORE::alarm($_[0])',
+ chdir => 'directory => CORE::chdir($_[0])',
+ chown => 'uid, gid, filename => CORE::chown($_[0], $_[1], $_[2])',
+ fork => 'CORE::fork',
+ getegid => '$) + 0',
+ geteuid => '$> + 0',
+ getgid => '$( + 0',
+ getgroups => 'my %seen; grep !$seen{$_}++, split " ", $)',
+ getlogin => 'CORE::getlogin()',
+ getpgrp => 'CORE::getpgrp',
+ getpid => '$$',
+ getppid => 'CORE::getppid',
+ getuid => '$<',
+ isatty => 'filehandle => -t $_[0]',
+ link => 'oldfilename, newfilename => CORE::link($_[0], $_[1])',
+ rmdir => 'directoryname => CORE::rmdir($_[0])',
+ unlink => 'filename => CORE::unlink($_[0])',
+ utime => 'filename, atime, mtime => CORE::utime($_[1], $_[2], $_[0])',
+);
-sub unimpl {
- my ($mess) = @_;
- $mess =~ s/xxx//;
- croak "Unimplemented: POSIX::$mess";
-}
+eval join ';', map "sub $_", keys %replacement, keys %reimpl;
-sub assert {
- usage "assert(expr)" if @_ != 1;
- if (!$_[0]) {
- croak "Assertion failed";
+sub AUTOLOAD {
+ my ($func) = ($AUTOLOAD =~ /.*::(.*)/);
+
+ if (my $code = $reimpl{$func}) {
+ my ($num, $arg) = (0, '');
+ if ($code =~ s/^(.*?) *=> *//) {
+ $arg = $1;
+ $num = 1 + $arg =~ tr/,//;
+ }
+ # no warnings to be consistent with the old implementation, where each
+ # function was in its own little AutoSplit world:
+ eval qq{ sub $func {
+ no warnings;
+ usage "$func($arg)" if \@_ != $num;
+ $code
+ } };
+ no strict;
+ goto &$AUTOLOAD;
+ }
+ if (exists $replacement{$func}) {
+ my $how = $replacement{$func};
+ croak "Unimplemented: POSIX::$func() is C-specific, stopped"
+ unless defined $how;
+ croak "Unimplemented: POSIX::$func() is $$how" if ref $how;
+ croak "Use method $how() instead of POSIX::$func()" if $how =~ /::/;
+ croak "Unimplemented: POSIX::$func() is C-specific: use $how instead";
}
-}
-
-sub tolower {
- usage "tolower(string)" if @_ != 1;
- lc($_[0]);
-}
-
-sub toupper {
- usage "toupper(string)" if @_ != 1;
- uc($_[0]);
-}
-
-sub closedir {
- usage "closedir(dirhandle)" if @_ != 1;
- CORE::closedir($_[0]);
-}
-
-sub opendir {
- usage "opendir(directory)" if @_ != 1;
- my $dirhandle;
- CORE::opendir($dirhandle, $_[0])
- ? $dirhandle
- : undef;
-}
-
-sub readdir {
- usage "readdir(dirhandle)" if @_ != 1;
- CORE::readdir($_[0]);
-}
-
-sub rewinddir {
- usage "rewinddir(dirhandle)" if @_ != 1;
- CORE::rewinddir($_[0]);
-}
-
-sub errno {
- usage "errno()" if @_ != 0;
- $! + 0;
-}
-
-sub creat {
- usage "creat(filename, mode)" if @_ != 2;
- &open($_[0], &O_WRONLY | &O_CREAT | &O_TRUNC, $_[1]);
-}
-
-sub fcntl {
- usage "fcntl(filehandle, cmd, arg)" if @_ != 3;
- CORE::fcntl($_[0], $_[1], $_[2]);
-}
-
-sub getgrgid {
- usage "getgrgid(gid)" if @_ != 1;
- CORE::getgrgid($_[0]);
-}
-
-sub getgrnam {
- usage "getgrnam(name)" if @_ != 1;
- CORE::getgrnam($_[0]);
-}
-
-sub atan2 {
- usage "atan2(x,y)" if @_ != 2;
- CORE::atan2($_[0], $_[1]);
-}
-
-sub cos {
- usage "cos(x)" if @_ != 1;
- CORE::cos($_[0]);
-}
-
-sub exp {
- usage "exp(x)" if @_ != 1;
- CORE::exp($_[0]);
-}
-
-sub fabs {
- usage "fabs(x)" if @_ != 1;
- CORE::abs($_[0]);
-}
-
-sub log {
- usage "log(x)" if @_ != 1;
- CORE::log($_[0]);
-}
-
-sub pow {
- usage "pow(x,exponent)" if @_ != 2;
- $_[0] ** $_[1];
-}
-
-sub sin {
- usage "sin(x)" if @_ != 1;
- CORE::sin($_[0]);
-}
-
-sub sqrt {
- usage "sqrt(x)" if @_ != 1;
- CORE::sqrt($_[0]);
-}
-
-sub getpwnam {
- usage "getpwnam(name)" if @_ != 1;
- CORE::getpwnam($_[0]);
-}
-
-sub getpwuid {
- usage "getpwuid(uid)" if @_ != 1;
- CORE::getpwuid($_[0]);
-}
-
-sub longjmp {
- unimpl "longjmp() is C-specific: use die instead";
-}
-
-sub setjmp {
- unimpl "setjmp() is C-specific: use eval {} instead";
-}
-
-sub siglongjmp {
- unimpl "siglongjmp() is C-specific: use die instead";
-}
-
-sub sigsetjmp {
- unimpl "sigsetjmp() is C-specific: use eval {} instead";
-}
-
-sub kill {
- usage "kill(pid, sig)" if @_ != 2;
- CORE::kill $_[1], $_[0];
-}
-
-sub raise {
- usage "raise(sig)" if @_ != 1;
- CORE::kill $_[0], $$; # Is this good enough?
-}
-
-sub offsetof {
- unimpl "offsetof() is C-specific, stopped";
-}
-
-sub clearerr {
- redef "IO::Handle::clearerr()";
-}
-
-sub fclose {
- redef "IO::Handle::close()";
-}
-
-sub fdopen {
- redef "IO::Handle::new_from_fd()";
-}
-
-sub feof {
- redef "IO::Handle::eof()";
-}
-
-sub fgetc {
- redef "IO::Handle::getc()";
-}
-
-sub fgets {
- redef "IO::Handle::gets()";
-}
-
-sub fileno {
- redef "IO::Handle::fileno()";
-}
-
-sub fopen {
- redef "IO::File::open()";
-}
-
-sub fprintf {
- unimpl "fprintf() is C-specific--use printf instead";
-}
-
-sub fputc {
- unimpl "fputc() is C-specific--use print instead";
-}
-
-sub fputs {
- unimpl "fputs() is C-specific--use print instead";
-}
-
-sub fread {
- unimpl "fread() is C-specific--use read instead";
-}
-
-sub freopen {
- unimpl "freopen() is C-specific--use open instead";
-}
-
-sub fscanf {
- unimpl "fscanf() is C-specific--use <> and regular expressions instead";
-}
-
-sub fseek {
- redef "IO::Seekable::seek()";
-}
-
-sub fsync {
- redef "IO::Handle::sync()";
-}
-
-sub ferror {
- redef "IO::Handle::error()";
-}
-
-sub fflush {
- redef "IO::Handle::flush()";
-}
-
-sub fgetpos {
- redef "IO::Seekable::getpos()";
-}
-
-sub fsetpos {
- redef "IO::Seekable::setpos()";
-}
-
-sub ftell {
- redef "IO::Seekable::tell()";
-}
-
-sub fwrite {
- unimpl "fwrite() is C-specific--use print instead";
-}
-
-sub getc {
- usage "getc(handle)" if @_ != 1;
- CORE::getc($_[0]);
-}
-
-sub getchar {
- usage "getchar()" if @_ != 0;
- CORE::getc(STDIN);
-}
-sub gets {
- usage "gets()" if @_ != 0;
- scalar <STDIN>;
+ constant($func);
}
sub perror {
@@ -345,413 +226,13 @@ sub printf {
CORE::printf STDOUT @_;
}
-sub putc {
- unimpl "putc() is C-specific--use print instead";
-}
-
-sub putchar {
- unimpl "putchar() is C-specific--use print instead";
-}
-
-sub puts {
- unimpl "puts() is C-specific--use print instead";
-}
-
-sub remove {
- usage "remove(filename)" if @_ != 1;
- (-d $_[0]) ? CORE::rmdir($_[0]) : CORE::unlink($_[0]);
-}
-
-sub rename {
- usage "rename(oldfilename, newfilename)" if @_ != 2;
- CORE::rename($_[0], $_[1]);
-}
-
-sub rewind {
- usage "rewind(filehandle)" if @_ != 1;
- CORE::seek($_[0],0,0);
-}
-
-sub scanf {
- unimpl "scanf() is C-specific--use <> and regular expressions instead";
-}
-
sub sprintf {
- usage "sprintf(pattern,args)" if @_ == 0;
+ usage "sprintf(pattern, args...)" if @_ == 0;
CORE::sprintf(shift,@_);
}
-sub sscanf {
- unimpl "sscanf() is C-specific--use regular expressions instead";
-}
-
-sub tmpfile {
- redef "IO::File::new_tmpfile()";
-}
-
-sub ungetc {
- redef "IO::Handle::ungetc()";
-}
-
-sub vfprintf {
- unimpl "vfprintf() is C-specific";
-}
-
-sub vprintf {
- unimpl "vprintf() is C-specific";
-}
-
-sub vsprintf {
- unimpl "vsprintf() is C-specific";
-}
-
-sub abs {
- usage "abs(x)" if @_ != 1;
- CORE::abs($_[0]);
-}
-
-sub atexit {
- unimpl "atexit() is C-specific: use END {} instead";
-}
-
-sub atof {
- unimpl "atof() is C-specific, stopped";
-}
-
-sub atoi {
- unimpl "atoi() is C-specific, stopped";
-}
-
-sub atol {
- unimpl "atol() is C-specific, stopped";
-}
-
-sub bsearch {
- unimpl "bsearch() not supplied";
-}
-
-sub calloc {
- unimpl "calloc() is C-specific, stopped";
-}
-
-sub div {
- unimpl "div() is C-specific, use /, % and int instead";
-}
-
-sub exit {
- usage "exit(status)" if @_ != 1;
- CORE::exit($_[0]);
-}
-
-sub free {
- unimpl "free() is C-specific, stopped";
-}
-
-sub getenv {
- usage "getenv(name)" if @_ != 1;
- $ENV{$_[0]};
-}
-
-sub labs {
- unimpl "labs() is C-specific, use abs instead";
-}
-
-sub ldiv {
- unimpl "ldiv() is C-specific, use /, % and int instead";
-}
-
-sub malloc {
- unimpl "malloc() is C-specific, stopped";
-}
-
-sub qsort {
- unimpl "qsort() is C-specific, use sort instead";
-}
-
-sub rand {
- unimpl "rand() is non-portable, use Perl's rand instead";
-}
-
-sub realloc {
- unimpl "realloc() is C-specific, stopped";
-}
-
-sub srand {
- unimpl "srand()";
-}
-
-sub system {
- usage "system(command)" if @_ != 1;
- CORE::system($_[0]);
-}
-
-sub memchr {
- unimpl "memchr() is C-specific, use index() instead";
-}
-
-sub memcmp {
- unimpl "memcmp() is C-specific, use eq instead";
-}
-
-sub memcpy {
- unimpl "memcpy() is C-specific, use = instead";
-}
-
-sub memmove {
- unimpl "memmove() is C-specific, use = instead";
-}
-
-sub memset {
- unimpl "memset() is C-specific, use x instead";
-}
-
-sub strcat {
- unimpl "strcat() is C-specific, use .= instead";
-}
-
-sub strchr {
- unimpl "strchr() is C-specific, use index() instead";
-}
-
-sub strcmp {
- unimpl "strcmp() is C-specific, use eq instead";
-}
-
-sub strcpy {
- unimpl "strcpy() is C-specific, use = instead";
-}
-
-sub strcspn {
- unimpl "strcspn() is C-specific, use regular expressions instead";
-}
-
-sub strerror {
- usage "strerror(errno)" if @_ != 1;
- local $! = $_[0];
- $! . "";
-}
-
-sub strlen {
- unimpl "strlen() is C-specific, use length instead";
-}
-
-sub strncat {
- unimpl "strncat() is C-specific, use .= instead";
-}
-
-sub strncmp {
- unimpl "strncmp() is C-specific, use eq instead";
-}
-
-sub strncpy {
- unimpl "strncpy() is C-specific, use = instead";
-}
-
-sub strpbrk {
- unimpl "strpbrk() is C-specific, stopped";
-}
-
-sub strrchr {
- unimpl "strrchr() is C-specific, use rindex() instead";
-}
-
-sub strspn {
- unimpl "strspn() is C-specific, stopped";
-}
-
-sub strstr {
- usage "strstr(big, little)" if @_ != 2;
- CORE::index($_[0], $_[1]);
-}
-
-sub strtok {
- unimpl "strtok() is C-specific, stopped";
-}
-
-sub chmod {
- usage "chmod(mode, filename)" if @_ != 2;
- CORE::chmod($_[0], $_[1]);
-}
-
-sub fstat {
- usage "fstat(fd)" if @_ != 1;
- local *TMP;
- CORE::open(TMP, "<&$_[0]"); # Gross.
- my @l = CORE::stat(TMP);
- CORE::close(TMP);
- @l;
-}
-
-sub mkdir {
- usage "mkdir(directoryname, mode)" if @_ != 2;
- CORE::mkdir($_[0], $_[1]);
-}
-
-sub stat {
- usage "stat(filename)" if @_ != 1;
- CORE::stat($_[0]);
-}
-
-sub umask {
- usage "umask(mask)" if @_ != 1;
- CORE::umask($_[0]);
-}
-
-sub wait {
- usage "wait()" if @_ != 0;
- CORE::wait();
-}
-
-sub waitpid {
- usage "waitpid(pid, options)" if @_ != 2;
- CORE::waitpid($_[0], $_[1]);
-}
-
-sub gmtime {
- usage "gmtime(time)" if @_ != 1;
- CORE::gmtime($_[0]);
-}
-
-sub localtime {
- usage "localtime(time)" if @_ != 1;
- CORE::localtime($_[0]);
-}
-
-sub time {
- usage "time()" if @_ != 0;
- CORE::time;
-}
-
-sub alarm {
- usage "alarm(seconds)" if @_ != 1;
- CORE::alarm($_[0]);
-}
-
-sub chdir {
- usage "chdir(directory)" if @_ != 1;
- CORE::chdir($_[0]);
-}
-
-sub chown {
- usage "chown(uid, gid, filename)" if @_ != 3;
- CORE::chown($_[0], $_[1], $_[2]);
-}
-
-sub execl {
- unimpl "execl() is C-specific, stopped";
-}
-
-sub execle {
- unimpl "execle() is C-specific, stopped";
-}
-
-sub execlp {
- unimpl "execlp() is C-specific, stopped";
-}
-
-sub execv {
- unimpl "execv() is C-specific, stopped";
-}
-
-sub execve {
- unimpl "execve() is C-specific, stopped";
-}
-
-sub execvp {
- unimpl "execvp() is C-specific, stopped";
-}
-
-sub fork {
- usage "fork()" if @_ != 0;
- CORE::fork;
-}
-
-sub getegid {
- usage "getegid()" if @_ != 0;
- $) + 0;
-}
-
-sub geteuid {
- usage "geteuid()" if @_ != 0;
- $> + 0;
-}
-
-sub getgid {
- usage "getgid()" if @_ != 0;
- $( + 0;
-}
-
-sub getgroups {
- usage "getgroups()" if @_ != 0;
- my %seen;
- grep(!$seen{$_}++, split(' ', $) ));
-}
-
-sub getlogin {
- usage "getlogin()" if @_ != 0;
- CORE::getlogin();
-}
-
-sub getpgrp {
- usage "getpgrp()" if @_ != 0;
- CORE::getpgrp;
-}
-
-sub getpid {
- usage "getpid()" if @_ != 0;
- $$;
-}
-
-sub getppid {
- usage "getppid()" if @_ != 0;
- CORE::getppid;
-}
-
-sub getuid {
- usage "getuid()" if @_ != 0;
- $<;
-}
-
-sub isatty {
- usage "isatty(filehandle)" if @_ != 1;
- -t $_[0];
-}
-
-sub link {
- usage "link(oldfilename, newfilename)" if @_ != 2;
- CORE::link($_[0], $_[1]);
-}
-
-sub rmdir {
- usage "rmdir(directoryname)" if @_ != 1;
- CORE::rmdir($_[0]);
-}
-
-sub setbuf {
- redef "IO::Handle::setbuf()";
-}
-
-sub setvbuf {
- redef "IO::Handle::setvbuf()";
-}
-
-sub sleep {
- usage "sleep(seconds)" if @_ != 1;
- $_[0] - CORE::sleep($_[0]);
-}
-
-sub unlink {
- usage "unlink(filename)" if @_ != 1;
- CORE::unlink($_[0]);
-}
-
-sub utime {
- usage "utime(filename, atime, mtime)" if @_ != 3;
- CORE::utime($_[1], $_[2], $_[0]);
-}
-
sub load_imports {
-%EXPORT_TAGS = (
+our %EXPORT_TAGS = (
assert_h => [qw(assert NDEBUG)],
@@ -898,7 +379,6 @@ sub load_imports {
setsid setuid sysconf tcgetpgrp tcsetpgrp ttyname)],
utime_h => [],
-
);
# Exporter::export_tags();
@@ -908,67 +388,12 @@ sub load_imports {
@export{map {@$_} values %EXPORT_TAGS} = ();
# Doing the de-dup with a temporary hash has the advantage that the SVs in
# @EXPORT are actually shared hash key scalars, which will save some memory.
- push @EXPORT, keys %export;
-}
+ our @EXPORT = keys %export;
-@EXPORT_OK = qw(
- abs
- alarm
- atan2
- chdir
- chmod
- chown
- close
- closedir
- cos
- exit
- exp
- fcntl
- fileno
- fork
- getc
- getgrgid
- getgrnam
- getlogin
- getpgrp
- getppid
- getpwnam
- getpwuid
- gmtime
- isatty
- kill
- lchown
- link
- localtime
- log
- mkdir
- nice
- open
- opendir
- pipe
- printf
- rand
- read
- readdir
- rename
- rewinddir
- rmdir
- sin
- sleep
- sprintf
- sqrt
- srand
- stat
- system
- time
- times
- umask
- unlink
- utime
- wait
- waitpid
- write
-);
+ our @EXPORT_OK = (qw(close lchown nice open pipe read sleep times write
+ printf sprintf),
+ grep {!exists $export{$_}} keys %reimpl, keys %replacement);
+}
require Exporter;
}
@@ -981,8 +406,23 @@ sub mask { $_[0]->{MASK} = $_[1] if @_ > 1; $_[0]->{MASK} };
sub flags { $_[0]->{FLAGS} = $_[1] if @_ > 1; $_[0]->{FLAGS} };
sub safe { $_[0]->{SAFE} = $_[1] if @_ > 1; $_[0]->{SAFE} };
+{
+package POSIX::SigSet;
+# This package is here entirely to make sure that POSIX::SigSet is seen by the
+# PAUSE indexer, so that it will always be clearly indexed in core. This is to
+# prevent the accidental case where a third-party distribution can accidentally
+# claim the POSIX::SigSet package, as occurred in 2011-12. -- rjbs, 2011-12-30
+}
+
package POSIX::SigRt;
+require Tie::Hash;
+
+our @ISA = 'Tie::StdHash';
+
+our ($_SIGRTMIN, $_SIGRTMAX, $_sigrtn);
+
+our $SIGACTION_FLAGS = 0;
sub _init {
$_SIGRTMIN = &POSIX::SIGRTMIN;
@@ -1020,9 +460,7 @@ sub _check {
sub new {
my ($rtsig, $handler, $flags) = @_;
my $sigset = POSIX::SigSet->new($rtsig);
- my $sigact = POSIX::SigAction->new($handler,
- $sigset,
- $flags);
+ my $sigact = POSIX::SigAction->new($handler, $sigset, $flags);
POSIX::sigaction($rtsig, $sigact);
}
@@ -1035,3 +473,6 @@ sub STORE { my $rtsig = &_check; new($rtsig, $_[2], $SIGACTION_FLAGS) }
sub DELETE { delete $SIG{ &_check } }
sub CLEAR { &_exist; delete @SIG{ &POSIX::SIGRTMIN .. &POSIX::SIGRTMAX } }
sub SCALAR { &_croak; $_sigrtn + 1 }
+
+tie %POSIX::SIGRT, 'POSIX::SigRt';
+# and the expression on the line above is true, so we return true.
diff --git a/Master/tlpkg/tlperl/lib/POSIX.pod b/Master/tlpkg/tlperl/lib/POSIX.pod
index f7bd0f3a3c2..f935ae05743 100644
--- a/Master/tlpkg/tlperl/lib/POSIX.pod
+++ b/Master/tlpkg/tlperl/lib/POSIX.pod
@@ -4,7 +4,7 @@ POSIX - Perl interface to IEEE Std 1003.1
=head1 SYNOPSIS
- use POSIX;
+ use POSIX ();
use POSIX qw(setsid);
use POSIX qw(:errno_h :fcntl_h);
@@ -26,7 +26,9 @@ functions with the same name as a built-in Perl function, such as
C<abs>, C<alarm>, C<rmdir>, C<write>, etc.., which will be exported
only if you ask for them explicitly. This is an unfortunate backwards
compatibility feature. You can stop the exporting by saying C<use
-POSIX ()> and then use the fully qualified names (ie. C<POSIX::SEEK_END>).
+POSIX ()> and then use the fully qualified names (ie. C<POSIX::SEEK_END>),
+or by giving an explicit import list. If you do neither, and opt for the
+default, C<use POSIX;> has to import I<553 symbols>.
This document gives a condensed list of the features available in the POSIX
module. Consult your operating system's manpages for general information on
@@ -39,13 +41,6 @@ and other miscellaneous objects. The remaining sections list various
constants and macros in an organization which roughly follows IEEE Std
1003.1b-1993.
-=head1 NOTE
-
-The POSIX module is probably the most complex Perl module supplied with
-the standard distribution. It incorporates autoloading, namespace games,
-and dynamic loading of code that's in Perl, C, or both. It's a great
-source of wisdom.
-
=head1 CAVEATS
A few functions are not implemented because they are C specific. If you
@@ -375,7 +370,7 @@ Use method C<IO::Handle::getc()> instead, or see L<perlfunc/read>.
=item fgetpos
-Use method C<IO::Seekable::getpos()> instead, or see L<L/seek>.
+Use method C<IO::Seekable::getpos()> instead, or see L<perlfunc/seek>.
=item fgets
diff --git a/Master/tlpkg/tlperl/lib/Params/Check.pm b/Master/tlpkg/tlperl/lib/Params/Check.pm
index 9b2643dd0c0..c1365a9abe1 100644
--- a/Master/tlpkg/tlperl/lib/Params/Check.pm
+++ b/Master/tlpkg/tlperl/lib/Params/Check.pm
@@ -5,8 +5,6 @@ use strict;
use Carp qw[carp croak];
use Locale::Maketext::Simple Style => 'gettext';
-use Data::Dumper;
-
BEGIN {
use Exporter ();
use vars qw[ @ISA $VERSION @EXPORT_OK $VERBOSE $ALLOW_UNKNOWN
@@ -18,7 +16,7 @@ BEGIN {
@ISA = qw[ Exporter ];
@EXPORT_OK = qw[check allow last_error];
- $VERSION = '0.28';
+ $VERSION = '0.32';
$VERBOSE = $^W ? 1 : 0;
$NO_DUPLICATES = 0;
$STRIP_LEADING_DASHES = 0;
@@ -247,15 +245,19 @@ on this.
sub check {
my ($utmpl, $href, $verbose) = @_;
+ ### clear the current error string ###
+ _clear_error();
+
### did we get the arguments we need? ###
- return if !$utmpl or !$href;
+ if ( !$utmpl or !$href ) {
+ _store_error(loc('check() expects two arguments'));
+ return unless $WARNINGS_FATAL;
+ croak(__PACKAGE__->last_error);
+ }
### sensible defaults ###
$verbose ||= $VERBOSE || 0;
- ### clear the current error string ###
- _clear_error();
-
### XXX what type of template is it? ###
### { key => { } } ?
#if (ref $args eq 'HASH') {
@@ -275,8 +277,8 @@ sub check {
my %defs = %$defs;
### flag to see if anything went wrong ###
- my $wrong;
-
+ my $wrong;
+
### flag to see if we warned for anything, needed for warnings_fatal
my $warned;
@@ -338,7 +340,7 @@ sub check {
if( exists $tmpl{'allow'} and not do {
local $_ERROR_STRING;
allow( $args{$key}, $tmpl{'allow'} )
- }
+ }
) {
### stringify the value in the error report -- we don't want dumps
### of objects, but we do want to see *roughly* what we passed
@@ -355,7 +357,7 @@ sub check {
}
- ### croak with the collected errors if there were errors and
+ ### croak with the collected errors if there were errors and
### we have the fatal flag toggled.
croak(__PACKAGE__->last_error) if ($wrong || $warned) && $WARNINGS_FATAL;
@@ -439,7 +441,7 @@ sub allow {
for ( @{$_[1]} ) {
return 1 if allow( $_[0], $_ );
}
-
+
return;
### fall back to a simple, but safe 'eq' ###
@@ -509,7 +511,7 @@ sub _sanity_check_and_defaults {
} grep {
not $known_keys{$_}
} keys %{$utmpl{$key}};
-
+
### make sure you passed a ref, otherwise, complain about it!
if ( exists $utmpl{$key}->{'store'} ) {
_store_error( loc(
@@ -654,7 +656,7 @@ Default is 1;
=head2 $Params::Check::WARNINGS_FATAL
-If set to true, L<Params::Check> will C<croak> when an error during
+If set to true, L<Params::Check> will C<croak> when an error during
template validation occurs, rather than return C<false>.
Default is 0;
diff --git a/Master/tlpkg/tlperl/lib/Parse/CPAN/Meta.pm b/Master/tlpkg/tlperl/lib/Parse/CPAN/Meta.pm
index f7d717cdb1d..04ac3e16a1d 100644
--- a/Master/tlpkg/tlperl/lib/Parse/CPAN/Meta.pm
+++ b/Master/tlpkg/tlperl/lib/Parse/CPAN/Meta.pm
@@ -5,7 +5,7 @@ use Carp 'croak';
# UTF Support?
sub HAVE_UTF8 () { $] >= 5.007003 }
-sub IO_LAYER () { $] >= 5.008001 ? ":utf8" : "" }
+sub IO_LAYER () { $] >= 5.008001 ? ":utf8" : "" }
BEGIN {
if ( HAVE_UTF8 ) {
@@ -17,7 +17,7 @@ BEGIN {
# Class structure
require 5.004;
require Exporter;
- $Parse::CPAN::Meta::VERSION = '1.4401';
+ $Parse::CPAN::Meta::VERSION = '1.4402';
@Parse::CPAN::Meta::ISA = qw{ Exporter };
@Parse::CPAN::Meta::EXPORT_OK = qw{ Load LoadFile };
}
@@ -40,7 +40,7 @@ sub load_yaml_string {
my ($class, $string) = @_;
my $backend = $class->yaml_backend();
my $data = eval { no strict 'refs'; &{"$backend\::Load"}($string) };
- if ( $@ ) {
+ if ( $@ ) {
croak $backend->can('errstr') ? $backend->errstr : $@
}
return $data || {}; # in case document was valid but empty
@@ -88,7 +88,7 @@ sub _slurp {
or die "can't open $_[0] for reading: $!";
return do { local $/; <$fh> };
}
-
+
sub _can_load {
my ($module, $version) = @_;
(my $file = $module) =~ s{::}{/}g;
@@ -133,21 +133,21 @@ Parse::CPAN::Meta - Parse META.yml and META.json CPAN metadata files
#############################################
# In your file
-
+
---
name: My-Distribution
version: 1.23
resources:
homepage: "http://example.com/dist/My-Distribution"
-
-
+
+
#############################################
# In your program
-
+
use Parse::CPAN::Meta;
-
+
my $distmeta = Parse::CPAN::Meta->load_file('META.yml');
-
+
# Reading properties
my $name = $distmeta->{name};
my $version = $distmeta->{version};
@@ -196,7 +196,7 @@ C<load_yaml_string>.
my $metadata_structure = Parse::CPAN::Meta->load_json_string($json_string);
-This method deserializes the given string of JSON and the result.
+This method deserializes the given string of JSON and the result.
If the source was UTF-8 encoded, the string must be decoded before calling
C<load_json_string>.
diff --git a/Master/tlpkg/tlperl/lib/PerlIO.pm b/Master/tlpkg/tlperl/lib/PerlIO.pm
index 46e6e444ef3..c94685bbf9d 100644
--- a/Master/tlpkg/tlperl/lib/PerlIO.pm
+++ b/Master/tlpkg/tlperl/lib/PerlIO.pm
@@ -93,20 +93,6 @@ as being an end-of-file marker.
Based on the C<:perlio> layer.
-=item :mmap
-
-A layer which implements "reading" of files by using C<mmap()> to
-make a (whole) file appear in the process's address space, and then
-using that as PerlIO's "buffer". This I<may> be faster in certain
-circumstances for large files, and may result in less physical memory
-use when multiple processes are reading the same file.
-
-Files which are not C<mmap()>-able revert to behaving like the C<:perlio>
-layer. Writes also behave like the C<:perlio> layer, as C<mmap()> for write
-needs extra house-keeping (to extend the file) which negates any advantage.
-
-The C<:mmap> layer will not exist if the platform does not support C<mmap()>.
-
=item :utf8
Declares that the stream accepts perl's I<internal> encoding of
@@ -208,6 +194,20 @@ for example from Shift-JIS to Unicode. Note that under C<stdio>
an C<:encoding> also enables C<:utf8>. See L<PerlIO::encoding>
for more information.
+=item :mmap
+
+A layer which implements "reading" of files by using C<mmap()> to
+make a (whole) file appear in the process's address space, and then
+using that as PerlIO's "buffer". This I<may> be faster in certain
+circumstances for large files, and may result in less physical memory
+use when multiple processes are reading the same file.
+
+Files which are not C<mmap()>-able revert to behaving like the C<:perlio>
+layer. Writes also behave like the C<:perlio> layer, as C<mmap()> for write
+needs extra house-keeping (to extend the file) which negates any advantage.
+
+The C<:mmap> layer will not exist if the platform does not support C<mmap()>.
+
=item :via
Use C<:via(MODULE)> either in open() or binmode() to install a layer
@@ -284,7 +284,6 @@ DOS-like platforms and depending on the setting of C<$ENV{PERLIO}>:
unset / "" unix perlio / stdio [1] unix crlf
stdio unix perlio / stdio [1] stdio
perlio unix perlio unix perlio
- mmap unix mmap unix mmap
# [1] "stdio" if Configure found out how to do "fast stdio" (depends
# on the stdio implementation) and in Perl 5.8, otherwise "unix perlio"
diff --git a/Master/tlpkg/tlperl/lib/PerlIO/encoding.pm b/Master/tlpkg/tlperl/lib/PerlIO/encoding.pm
index f7f3f2e3127..ee3573e02bc 100644
--- a/Master/tlpkg/tlperl/lib/PerlIO/encoding.pm
+++ b/Master/tlpkg/tlperl/lib/PerlIO/encoding.pm
@@ -1,7 +1,7 @@
package PerlIO::encoding;
use strict;
-our $VERSION = '0.14';
+our $VERSION = '0.15';
our $DEBUG = 0;
$DEBUG and warn __PACKAGE__, " called by ", join(", ", caller), "\n";
diff --git a/Master/tlpkg/tlperl/lib/PerlIO/mmap.pm b/Master/tlpkg/tlperl/lib/PerlIO/mmap.pm
new file mode 100644
index 00000000000..7db4a55137f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/PerlIO/mmap.pm
@@ -0,0 +1,30 @@
+package PerlIO::mmap;
+use strict;
+use warnings;
+our $VERSION = '0.010';
+
+use XSLoader;
+XSLoader::load(__PACKAGE__, __PACKAGE__->VERSION);
+
+1;
+
+__END__
+
+=head1 NAME
+
+PerlIO::mmap - Memory mapped IO
+
+=head1 SYNOPSIS
+
+ open my $fh, '<:mmap', $filename;
+
+=head1 DESCRIPTION
+
+This layer does C<read> and C<write> operations by mmap()ing the file if possible, but falls back to the default behavior if not.
+
+=head1 IMPLEMENTATION NOTE
+
+C<PerlIO::mmap> only exists to use XSLoader to load C code that provides support for using memory mapped IO. One does not need to explicitly C<use PerlIO::mmap;>.
+
+=cut
+
diff --git a/Master/tlpkg/tlperl/lib/PerlIO/scalar.pm b/Master/tlpkg/tlperl/lib/PerlIO/scalar.pm
index a6da9631cfb..6c304f20db4 100644
--- a/Master/tlpkg/tlperl/lib/PerlIO/scalar.pm
+++ b/Master/tlpkg/tlperl/lib/PerlIO/scalar.pm
@@ -1,5 +1,5 @@
package PerlIO::scalar;
-our $VERSION = '0.11_01';
+our $VERSION = '0.14_01';
require XSLoader;
XSLoader::load();
1;
diff --git a/Master/tlpkg/tlperl/lib/PerlIO/via.pm b/Master/tlpkg/tlperl/lib/PerlIO/via.pm
index 2907762aa47..601be80bbcd 100644
--- a/Master/tlpkg/tlperl/lib/PerlIO/via.pm
+++ b/Master/tlpkg/tlperl/lib/PerlIO/via.pm
@@ -1,5 +1,5 @@
package PerlIO::via;
-our $VERSION = '0.11';
+our $VERSION = '0.12';
require XSLoader;
XSLoader::load();
1;
@@ -74,7 +74,7 @@ C<FDOPEN> or by letting a lower layer do the open.
Optional - called when the layer is about to be removed.
-=item $obj->UTF8($bellowFlag,[$fh])
+=item $obj->UTF8($belowFlag,[$fh])
Optional - if present it will be called immediately after PUSHED has
returned. It should return a true value if the layer expects data to be
@@ -84,7 +84,7 @@ UTF-8 encoded. If it returns true, the result is as if the caller had done
If not present or if it returns false, then the stream is left with
the UTF-8 flag clear.
-The I<$bellowFlag> argument will be true if there is a layer below
+The I<$belowFlag> argument will be true if there is a layer below
and that layer was expecting UTF-8.
=item $obj->OPEN($path,$mode,[$fh])
diff --git a/Master/tlpkg/tlperl/lib/Pod/Checker.pm b/Master/tlpkg/tlperl/lib/Pod/Checker.pm
index a2305423b23..25dab197b04 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Checker.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Checker.pm
@@ -11,7 +11,7 @@ package Pod::Checker;
use strict;
use vars qw($VERSION @ISA @EXPORT %VALID_COMMANDS %VALID_SEQUENCES);
-$VERSION = '1.45'; ## Current version of this package
+$VERSION = '1.51'; ## Current version of this package
require 5.005; ## requires this Perl version or later
use Pod::ParseUtils; ## for hyperlinks and lists
@@ -140,6 +140,14 @@ a time.
There is no specification of the formatter after the C<=for> command.
+=item * Apparent command =foo not preceded by blank line
+
+A command which has ended up in the middle of a paragraph or other command,
+such as
+
+ =item one
+ =item two <-- bad
+
=item * unresolved internal link I<NAME>
The given link to I<NAME> does not have a matching node in the current
@@ -189,6 +197,14 @@ The index entry specified contains nothing but whitespace.
The commands C<=pod> and C<=cut> do not take any arguments.
+=item * Spurious =cut command
+
+A C<=cut> command was found without a preceding POD paragraph.
+
+=item * Spurious =pod command
+
+A C<=pod> command was found after a preceding POD paragraph.
+
=item * Spurious character(s) after =back
The C<=back> command does not take any arguments.
@@ -813,6 +829,8 @@ sub command {
else { # found a valid command
$self->{_commands}++; # delete this line if below is enabled again
+ $self->_commands_in_paragraphs($paragraph, $pod_para);
+
##### following check disabled due to strong request
#if(!$self->{_commands}++ && $cmd !~ /^head/) {
# $self->poderror({ -line => $line, -file => $file,
@@ -1022,6 +1040,16 @@ sub command {
-severity => 'ERROR',
-msg => "Spurious text after =$cmd"});
}
+ if($cmd eq 'cut' && (!$self->{_PREVIOUS} || $self->{_PREVIOUS} eq 'cut')) {
+ $self->poderror({ -line => $line, -file => $file,
+ -severity => 'ERROR',
+ -msg => "Spurious =cut command"});
+ }
+ if($cmd eq 'pod' && $self->{_PREVIOUS} && $self->{_PREVIOUS} ne 'cut') {
+ $self->poderror({ -line => $line, -file => $file,
+ -severity => 'ERROR',
+ -msg => "Spurious =pod command"});
+ }
}
$self->{_commands_in_head}++;
## Check the interior sequences in the command-text
@@ -1099,7 +1127,7 @@ sub _check_ptree {
$text .= $self->_check_ptree($contents, $line, $file, "$nestlist$cmd");
next;
}
- if($nestlist =~ /$cmd/) {
+ if(index($nestlist, $cmd) != -1) {
$self->poderror({ -line => $line, -file => $file,
-severity => 'WARNING',
-msg => "nested commands $cmd<...$cmd<...>...>"});
@@ -1209,6 +1237,7 @@ sub verbatim {
my ($self, $paragraph, $line_num, $pod_para) = @_;
$self->_preproc_par($paragraph);
+ $self->_commands_in_paragraphs($paragraph, $pod_para);
if($self->{_current_head1} eq 'NAME') {
my ($file, $line) = $pod_para->file_line;
@@ -1224,6 +1253,7 @@ sub textblock {
my ($file, $line) = $pod_para->file_line;
$self->_preproc_par($paragraph);
+ $self->_commands_in_paragraphs($paragraph, $pod_para);
# skip this paragraph if in a =begin block
unless($self->{_have_begin}) {
@@ -1250,6 +1280,35 @@ sub _preproc_par
}
}
+# look for =foo commands at the start of a line within a paragraph, as for
+# instance the following which prints as "* one =item two".
+#
+# =item one
+# =item two
+#
+# Examples of =foo written in docs are expected to be indented in a verbatim
+# or marked up C<=foo> so won't be caught. A double-angle C<< =foo >> could
+# have the =foo at the start of a line, but that should be unlikely and is
+# easily enough dealt with by not putting a newline after the C<<.
+#
+sub _commands_in_paragraphs {
+ my ($self, $str, $pod_para) = @_;
+ while ($str =~ /[^\n]\n=([a-z][a-z0-9]+)/sg) {
+ my $cmd = $1;
+ my $pos = pos($str);
+ if ($VALID_COMMANDS{$cmd}) {
+ my ($file, $line) = $pod_para->file_line;
+ my $part = substr($str, 0, $pos);
+ $line += ($part =~ tr/\n//); # count of newlines
+
+ $self->poderror
+ ({ -line => $line, -file => $file,
+ -severity => 'ERROR',
+ -msg => "Apparent command =$cmd not preceded by blank line"});
+ }
+ }
+}
+
1;
__END__
@@ -1264,5 +1323,7 @@ Marek Rouchal E<lt>marekr@cpan.orgE<gt>
Based on code for B<Pod::Text::pod2text()> written by
Tom Christiansen E<lt>tchrist@mox.perl.comE<gt>
+B<Pod::Checker> is part of the L<Pod::Parser> distribution.
+
=cut
diff --git a/Master/tlpkg/tlperl/lib/Pod/Find.pm b/Master/tlpkg/tlperl/lib/Pod/Find.pm
index 8d1103b6a1f..028a405c79e 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Find.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Find.pm
@@ -14,7 +14,7 @@ package Pod::Find;
use strict;
use vars qw($VERSION);
-$VERSION = '1.35'; ## Current version of this package
+$VERSION = '1.51'; ## Current version of this package
require 5.005; ## requires this Perl version or later
use Carp;
@@ -60,7 +60,7 @@ files/directories like RCS, CVS, SCCS, .svn are ignored.
use Exporter;
use File::Spec;
use File::Find;
-use Cwd;
+use Cwd qw(abs_path cwd);
use vars qw(@ISA @EXPORT_OK $VERSION);
@ISA = qw(Exporter);
@@ -158,7 +158,13 @@ sub pod_find
}
push(@search, grep($_ ne File::Spec->curdir, @new_INC));
} else {
- push(@search, grep($_ ne File::Spec->curdir, @INC));
+ my %seen;
+ my $curdir = File::Spec->curdir;
+ foreach(@INC) {
+ next if $_ eq $curdir;
+ my $path = abs_path($_);
+ push(@search, $path) unless $seen{$path}++;
+ }
}
$opts{-perl} = 1;
@@ -198,8 +204,12 @@ sub pod_find
# simplify path
# on VMS canonpath will vmsify:[the.path], but File::Find::find
# wants /unixy/paths
- $try = File::Spec->canonpath($try) if ($^O ne 'VMS');
- $try = VMS::Filespec::unixify($try) if ($^O eq 'VMS');
+ if ($^O eq 'VMS') {
+ $try = VMS::Filespec::unixify($try);
+ }
+ else {
+ $try = File::Spec->canonpath($try);
+ }
my $name;
if(-f $try) {
if($name = _check_and_extract_name($try, $opts{-verbose})) {
@@ -208,6 +218,7 @@ sub pod_find
next;
}
my $root_rx = $^O eq 'MacOS' ? qq!^\Q$try\E! : qq!^\Q$try\E/!;
+ $root_rx=~ s|//$|/|; # remove trailing double slash
File::Find::find( sub {
my $item = $File::Find::name;
if(-d) {
@@ -268,8 +279,8 @@ sub _check_and_extract_name {
# TODO what happens on e.g. Win32?
my $name = $file;
if(defined $root_rx) {
- $name =~ s/$root_rx//s;
- $name =~ s/$SIMPLIFY_RX//s if(defined $SIMPLIFY_RX);
+ $name =~ s/$root_rx//is;
+ $name =~ s/$SIMPLIFY_RX//is if(defined $SIMPLIFY_RX);
}
else {
if ($^O eq 'MacOS') {
@@ -443,6 +454,7 @@ sub pod_where {
# Now concatenate this directory with the pod we are searching for
my $fullname = File::Spec->catfile($dir, @parts);
+ $fullname = VMS::Filespec::unixify($fullname) if $^O eq 'VMS';
warn "Filename is now $fullname\n"
if $options{'-verbose'};
@@ -525,6 +537,8 @@ heavily borrowing code from Nick Ing-Simmons' PodToHtml.
Tim Jenness E<lt>t.jenness@jach.hawaii.eduE<gt> provided
C<pod_where> and C<contains_pod>.
+B<Pod::Find> is part of the L<Pod::Parser> distribution.
+
=head1 SEE ALSO
L<Pod::Parser>, L<Pod::Checker>, L<perldoc>
diff --git a/Master/tlpkg/tlperl/lib/Pod/Functions.pm b/Master/tlpkg/tlperl/lib/Pod/Functions.pm
index 5181c3990bf..47b2bafc357 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Functions.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Functions.pm
@@ -52,84 +52,51 @@ L<perlfunc/"Perl Functions by Category"> section.
=back
-=head1 CHANGES
-
-1.02 20020813 <abe@ztreet.demon.nl>
- de-typo in the SYNOPSIS section (thanks Mike Castle for noticing)
-
-1.01 20011229 <abe@ztreet.demon.nl>
- fixed some bugs that slipped in after 5.6.1
- added the pod
- finished making it strict safe
-
-1.00 ??
- first numbered version
-
=cut
-our $VERSION = '1.04';
+our $VERSION = '1.05';
require Exporter;
our @ISA = qw(Exporter);
our @EXPORT = qw(%Kinds %Type %Flavor %Type_Description @Type_Order);
-our(%Kinds, %Type, %Flavor);
-
-our %Type_Description = (
- 'ARRAY' => 'Functions for real @ARRAYs',
- 'Binary' => 'Functions for fixed length data or records',
- 'File' => 'Functions for filehandles, files, or directories',
- 'Flow' => 'Keywords related to control flow of your perl program',
- 'HASH' => 'Functions for real %HASHes',
- 'I/O' => 'Input and output functions',
- 'LIST' => 'Functions for list data',
- 'Math' => 'Numeric functions',
- 'Misc' => 'Miscellaneous functions',
- 'Modules' => 'Keywords related to perl modules',
- 'Network' => 'Fetching network info',
- 'Objects' => 'Keywords related to classes and object-orientedness',
- 'Process' => 'Functions for processes and process groups',
- 'Regexp' => 'Regular expressions and pattern matching',
- 'Socket' => 'Low-level socket functions',
- 'String' => 'Functions for SCALARs or strings',
- 'SysV' => 'System V interprocess communication functions',
- 'Time' => 'Time-related functions',
- 'User' => 'Fetching user and group info',
- 'Namespace' => 'Keywords altering or affecting scoping of identifiers',
-);
-
-our @Type_Order = qw{
- String
- Regexp
- Math
- ARRAY
- LIST
- HASH
- I/O
- Binary
- File
- Flow
- Namespace
- Misc
- Process
- Modules
- Objects
- Socket
- SysV
- User
- Network
- Time
+our(%Kinds, %Type, %Flavor, %Type_Description, @Type_Order);
+
+foreach (
+ [String => 'Functions for SCALARs or strings'],
+ [Regexp => 'Regular expressions and pattern matching'],
+ [Math => 'Numeric functions'],
+ [ARRAY => 'Functions for real @ARRAYs'],
+ [LIST => 'Functions for list data'],
+ [HASH => 'Functions for real %HASHes'],
+ ['I/O' => 'Input and output functions'],
+ [Binary => 'Functions for fixed-length data or records'],
+ [File => 'Functions for filehandles, files, or directories'],
+ [Flow => 'Keywords related to the control flow of your Perl program'],
+ [Namespace => 'Keywords related to scoping'],
+ [Misc => 'Miscellaneous functions'],
+ [Process => 'Functions for processes and process groups'],
+ [Modules => 'Keywords related to Perl modules'],
+ [Objects => 'Keywords related to classes and object-orientation'],
+ [Socket => 'Low-level socket functions'],
+ [SysV => 'System V interprocess communication functions'],
+ [User => 'Fetching user and group info'],
+ [Network => 'Fetching network info'],
+ [Time => 'Time-related functions'],
+ ) {
+ push @Type_Order, $_->[0];
+ $Type_Description{$_->[0]} = $_->[1];
};
while (<DATA>) {
chomp;
- s/#.*//;
+ s/^#.*//;
next unless $_;
- my($name, $type, $text) = split " ", $_, 3;
- $Type{$name} = $type;
- $Flavor{$name} = $text;
- for my $t ( split /[,\s]+/, $type ) {
+ my($name, @data) = split "\t", $_;
+ $Flavor{$name} = pop @data;
+ $Type{$name} = join ',', @data;
+ for my $t (@data) {
push @{$Kinds{$t}}, $name;
}
}
@@ -161,33 +128,34 @@ __DATA__
-X File a file test (-r, -x, etc)
abs Math absolute value function
accept Socket accept an incoming socket connect
-alarm Process schedule a SIGALRM
+alarm Process schedule a SIGALRM
atan2 Math arctangent of Y/X in the range -PI to PI
bind Socket binds an address to a socket
binmode I/O prepare binary files for I/O
-bless Objects create an object
-caller Flow,Namespace get context of the current subroutine call
+bless Objects create an object
+break Flow break out of a C<given> block
+caller Flow Namespace get context of the current subroutine call
chdir File change your current working directory
chmod File changes the permissions on a list of files
-chomp String remove a trailing record separator from a string
-chop String remove the last character from a string
+chomp String remove a trailing record separator from a string
+chop String remove the last character from a string
chown File change the ownership on a list of files
-chr String get character this number represents
+chr String get character this number represents
chroot File make directory new root for path lookups
close I/O close file (or pipe or socket) handle
closedir I/O close directory handle
connect Socket connect to a remote socket
-continue Flow optional trailing block in a while or foreach
+continue Flow optional trailing block in a while or foreach
cos Math cosine function
crypt String one-way passwd-style encryption
-dbmclose Objects,I/O breaks binding on a tied dbm file
-dbmopen Objects,I/O create binding on a tied dbm file
+dbmclose Objects I/O breaks binding on a tied dbm file
+dbmopen Objects I/O create binding on a tied dbm file
defined Misc test whether a value, variable, or function is defined
delete HASH deletes a value from a hash
-die I/O,Flow raise an exception or bail out
-do Flow,Modules turn a BLOCK into a TERM
-dump Misc,Flow create an immediate core dump
-each HASH retrieve the next key/value pair from a hash
+die Flow I/O raise an exception or bail out
+do Modules Flow turn a BLOCK into a TERM
+dump Flow create an immediate core dump
+each HASH ARRAY retrieve the next key/value pair from a hash
endgrent User be done using group file
endhostent User be done using hosts file
endnetent User be done using networks file
@@ -195,28 +163,31 @@ endprotoent Network be done using protocols file
endpwent User be done using passwd file
endservent Network be done using services file
eof I/O test a filehandle for its end
-eval Flow,Misc catch exceptions or compile and run code
+eval Flow catch exceptions or compile and run code
+evalbytes Flow similar to string eval, but intend to parse a bytestream
exec Process abandon this program to run another
exists HASH test whether a hash key is present
exit Flow terminate this program
exp Math raise I<e> to a power
+fc String return casefolded version of a string
fcntl File file control system call
+__FILE__ Flow the name of the current source file
fileno I/O return file descriptor from filehandle
flock I/O lock an entire file with an advisory lock
fork Process create a new process just like this one
format I/O declare a picture format with use by the write() function
formline Misc internal function used for formats
-getc I/O get the next character from the filehandle
-getgrent User get next group record
+getc I/O get the next character from the filehandle
+getgrent User get next group record
getgrgid User get group record given group user ID
getgrnam User get group record given group name
gethostbyaddr Network get host record given its address
gethostbyname Network get host record given name
-gethostent Network get next hosts record
+gethostent Network get next hosts record
getlogin User return who logged in at this tty
getnetbyaddr Network get network record given its address
getnetbyname Network get networks record given name
-getnetent Network get next networks record
+getnetent Network get next networks record
getpeername Socket find the other end of a socket connection
getpgrp Process get process group
getppid Process get parent process ID
@@ -229,30 +200,31 @@ getpwnam User get passwd record given user login name
getpwuid User get passwd record given user ID
getservbyname Network get services record given its name
getservbyport Network get services record given numeric port
-getservent Network get next services record
+getservent Network get next services record
getsockname Socket retrieve the sockaddr for a given socket
getsockopt Socket get socket options on a given socket
-glob File expand filenames using wildcards
+glob File expand filenames using wildcards
gmtime Time convert UNIX time into record or string using Greenwich time
goto Flow create spaghetti code
grep LIST locate elements in a list test true against a given criterion
-hex Math,String convert a string to a hexadecimal number
-import Modules,Namespace patch a module's namespace into your own
+hex String Math convert a string to a hexadecimal number
+import Modules Namespace patch a module's namespace into your own
index String find a substring within a string
int Math get the integer portion of a number
ioctl File system-dependent device control system call
join LIST join a list into a string using a separator
-keys HASH retrieve list of indices from a hash
+keys HASH ARRAY retrieve list of indices from a hash
kill Process send a signal to a process or process group
last Flow exit a block prematurely
lc String return lower-case version of a string
lcfirst String return a string with just the next letter in lower case
length String return the number of bytes in a string
+__LINE__ Flow the current source line number
link File create a hard link in the filesystem
-listen Socket register your socket as a server
-local Misc,Namespace create a temporary value for a global variable (dynamic scoping)
+listen Socket register your socket as a server
+local Namespace create a temporary value for a global variable (dynamic scoping)
localtime Time convert UNIX time into record or string using local time
-lock Threads get a thread lock on a variable, subroutine, or method
+lock Misc get a thread lock on a variable, subroutine, or method
log Math retrieve the natural logarithm for a number
lstat File stat a symbolic link
m// Regexp match a string with a regular expression pattern
@@ -262,31 +234,32 @@ msgctl SysV SysV IPC message control operations
msgget SysV get SysV IPC message queue
msgrcv SysV receive a SysV IPC message from a message queue
msgsnd SysV send a SysV IPC message to a message queue
-my Misc,Namespace declare and assign a local variable (lexical scoping)
+my Namespace declare and assign a local variable (lexical scoping)
next Flow iterate a block prematurely
no Modules unimport some module symbols or semantics at compile time
-package Modules,Objects,Namespace declare a separate global namespace
-prototype Flow,Misc get the prototype (if any) of a subroutine
-oct String,Math convert a string to an octal number
+oct String Math convert a string to an octal number
open File open a file, pipe, or descriptor
opendir File open a directory
ord String find a character's numeric representation
-our Misc,Namespace declare and assign a package variable (lexical scoping)
-pack Binary,String convert a list into a binary representation
+our Namespace declare and assign a package variable (lexical scoping)
+pack String Binary convert a list into a binary representation
+package Modules Objects Namespace declare a separate global namespace
+__PACKAGE__ Flow the current package
pipe Process open a pair of connected filehandles
pop ARRAY remove the last element from an array and return it
pos Regexp find or set the offset for the last/next m//g search
print I/O output a list to a filehandle
-printf I/O output a formatted list to a filehandle
+printf I/O output a formatted list to a filehandle
+prototype Misc get the prototype (if any) of a subroutine
push ARRAY append one or more elements to an array
q/STRING/ String singly quote a string
qq/STRING/ String doubly quote a string
+qr/STRING/ Regexp compile pattern
quotemeta Regexp quote regular expression magic characters
qw/STRING/ LIST quote a list of words
qx/STRING/ Process backquote quote a string
-qr/STRING/ Regexp Compile pattern
-rand Math retrieve the next pseudorandom number
-read I/O,Binary fixed-length buffered input from a filehandle
+rand Math retrieve the next pseudorandom number
+read Binary I/O fixed-length buffered input from a filehandle
readdir I/O get a directory from a directory handle
readline I/O fetch a record from a file
readlink File determine where a symbolic link is pointing
@@ -298,14 +271,15 @@ rename File change a filename
require Modules load in external functions from a library at runtime
reset Misc clear all variables of a given name
return Flow get out of a function early
-reverse String,LIST flip a string or a list
+reverse String LIST flip a string or a list
rewinddir I/O reset directory handle
rindex String right-to-left substring search
rmdir File remove a directory
s/// Regexp replace a pattern with a string
+say I/O output a list to a filehandle, appending a newline
scalar Misc force a scalar context
seek I/O reposition file pointer for random-access I/O
-seekdir I/O reposition directory pointer
+seekdir I/O reposition directory pointer
select I/O reset default output or do I/O multiplexing
semctl SysV SysV semaphore control operations
semget SysV get set of SysV semaphores
@@ -323,36 +297,38 @@ setsockopt Socket set some socket options
shift ARRAY remove the first element of an array, and return it
shmctl SysV SysV shared memory operations
shmget SysV get SysV shared memory segment identifier
-shmread SysV read SysV shared memory
-shmwrite SysV write SysV shared memory
+shmread SysV read SysV shared memory
+shmwrite SysV write SysV shared memory
shutdown Socket close down just half of a socket connection
sin Math return the sine of a number
sleep Process block for some number of seconds
socket Socket create a socket
socketpair Socket create a pair of sockets
-sort LIST sort a list of values
+sort LIST sort a list of values
splice ARRAY add or remove elements anywhere in an array
split Regexp split up a string using a regexp delimiter
-sprintf String formatted print into a string
+sprintf String formatted print into a string
sqrt Math square root function
srand Math seed the random number generator
stat File get a file's status information
+state Namespace declare and assign a persistent lexical variable
study Regexp optimize input data for repeated searches
sub Flow declare a subroutine, possibly anonymously
+__SUB__ Flow the current subroutine, or C<undef> if not in a subroutine
substr String get or alter a portion of a string
symlink File create a symbolic link to a file
-syscall I/O,Binary execute an arbitrary system call
+syscall Binary I/O execute an arbitrary system call
sysopen File open a file, pipe, or descriptor
-sysread I/O,Binary fixed-length unbuffered input from a filehandle
-sysseek I/O,Binary position I/O pointer on handle used with sysread and syswrite
-system Process run a separate program
-syswrite I/O,Binary fixed-length unbuffered output to a filehandle
+sysread Binary I/O fixed-length unbuffered input from a filehandle
+sysseek Binary I/O position I/O pointer on handle used with sysread and syswrite
+system Process run a separate program
+syswrite Binary I/O fixed-length unbuffered output to a filehandle
tell I/O get current seekpointer on a filehandle
telldir I/O get current seekpointer on a directory handle
-tie Objects bind a variable to an object class
+tie Objects bind a variable to an object class
tied Objects get a reference to the object underlying a tied variable
time Time return number of seconds since 1970
-times Process,Time return elapsed time for self and child processes
+times Time Process return elapsed time for self and child processes
tr/// String transliterate a string
truncate I/O shorten a file
uc String return upper-case version of a string
@@ -360,17 +336,16 @@ ucfirst String return a string with just the next letter in upper case
umask File set file creation mode mask
undef Misc remove a variable or function definition
unlink File remove one link to a file
-unpack Binary,LIST convert binary structure into normal perl variables
+unpack Binary LIST convert binary structure into normal perl variables
unshift ARRAY prepend more elements to the beginning of a list
untie Objects break a tie binding to a variable
-use Modules,Namespace load a module and import its namespace
-use Objects load in a module at compile time
+use Modules Objects Namespace load in a module at compile time and import its namespace
utime File set a file's last access and modify times
-values HASH return a list of the values in a hash
+values HASH ARRAY return a list of the values in a hash
vec Binary test or set particular bits in a string
wait Process wait for any child process to die
waitpid Process wait for a particular child process to die
-wantarray Misc,Flow get void vs scalar vs list context of current subroutine call
+wantarray Flow get void vs scalar vs list context of current subroutine call
warn I/O print debugging info
write I/O print a picture record
y/// String transliterate a string
diff --git a/Master/tlpkg/tlperl/lib/Pod/Html.pm b/Master/tlpkg/tlperl/lib/Pod/Html.pm
index 2c5c4414cf2..47b937abbb5 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Html.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Html.pm
@@ -3,7 +3,7 @@ use strict;
require Exporter;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
-$VERSION = 1.11;
+$VERSION = 1.15_02;
@ISA = qw(Exporter);
@EXPORT = qw(pod2html htmlify);
@EXPORT_OK = qw(anchorify);
@@ -11,11 +11,13 @@ $VERSION = 1.11;
use Carp;
use Config;
use Cwd;
+use File::Basename;
use File::Spec;
use File::Spec::Unix;
use Getopt::Long;
+use Pod::Simple::Search;
-use locale; # make \w work right in non-ASCII lands
+use locale; # make \w work right in non-ASCII lands
=head1 NAME
@@ -40,7 +42,6 @@ a cache of things it knows how to cross-reference.
"--podpath=lib:ext:pod:vms",
"--podroot=/usr/src/perl",
"--htmlroot=/perl/nmanual",
- "--libpods=perlfunc:perlguts:perlvar:perlrun:perlop",
"--recurse",
"--infile=foo.pod",
"--outfile=/perl/nmanual/foo.html");
@@ -51,16 +52,16 @@ pod2html takes the following arguments:
=item backlink
- --backlink="Back to Top"
+ --backlink
-Adds "Back to Top" links in front of every C<head1> heading (except for
-the first). By default, no backlinks are generated.
+Turns every C<head1> heading into a link back to the top of the page.
+By default, no backlinks are generated.
=item cachedir
--cachedir=name
-Creates the item and directory caches in the given directory.
+Creates the directory cache in the given directory.
=item css
@@ -73,7 +74,7 @@ C<style> attributes that are output by default (to avoid conflicts).
--flush
-Flushes the item and directory caches.
+Flushes the directory cache.
=item header
@@ -89,28 +90,17 @@ section. By default, no headers are generated.
Displays the usage message.
-=item hiddendirs
-
- --hiddendirs
- --nohiddendirs
-
-Include hidden directories in the search for POD's in podpath if recurse
-is set.
-The default is not to traverse any directory whose name begins with C<.>.
-See L</"podpath"> and L</"recurse">.
-
-[This option is for backward compatibility only.
-It's hard to imagine that one would usefully create a module with a
-name component beginning with C<.>.]
-
=item htmldir
--htmldir=name
-Sets the directory in which the resulting HTML file is placed. This
-is used to generate relative links to other files. Not passing this
-causes all links to be absolute, since this is the value that tells
-Pod::Html the root of the documentation tree.
+Sets the directory to which all cross references in the resulting
+html file will be relative. Not passing this causes all links to be
+absolute since this is the value that tells Pod::Html the root of the
+documentation tree.
+
+Do not use this and --htmlroot in the same call to pod2html; they are
+mutually exclusive.
=item htmlroot
@@ -119,6 +109,11 @@ Pod::Html the root of the documentation tree.
Sets the base URL for the HTML files. When cross-references are made,
the HTML root is prepended to the URL.
+Do not use this if relative links are desired: use --htmldir instead.
+
+Do not pass both this and --htmldir to pod2html; they are mutually
+exclusive.
+
=item index
--index
@@ -134,19 +129,6 @@ behaviour.
Specify the pod file to convert. Input is taken from STDIN if no
infile is specified.
-=item libpods
-
- --libpods=name:...:name
-
-List of page names (eg, "perlfunc") which contain linkable C<=item>s.
-
-=item netscape
-
- --netscape
- --nonetscape
-
-B<Deprecated>, has no effect. For backwards compatibility only.
-
=item outfile
--outfile=name
@@ -154,6 +136,14 @@ B<Deprecated>, has no effect. For backwards compatibility only.
Specify the HTML file to create. Output goes to STDOUT if no outfile
is specified.
+=item poderrors
+
+ --poderrors
+ --nopoderrors
+
+Include a "POD ERRORS" section in the outfile if there were any POD
+errors in the infile. This section is included by default.
+
=item podpath
--podpath=name:...:name
@@ -165,7 +155,8 @@ HTML converted forms can be linked to in cross references.
--podroot=name
-Specify the base directory for finding library pods.
+Specify the base directory for finding library pods. Default is the
+current working directory.
=item quiet
@@ -203,7 +194,7 @@ Display progress messages. By default, they won't be displayed.
htmlify($heading);
Converts a pod section specification to a suitable section specification
-for HTML. Note that we keep spaces and special characters except
+for HTML. Note that we keep spaces and special characters except
C<", ?> (Netscape problem) and the hyphen (writer's problem...).
=head2 anchorify
@@ -219,7 +210,9 @@ Uses C<$Config{pod2html}> to setup default options.
=head1 AUTHOR
-Tom Christiansen, E<lt>tchrist@perl.comE<gt>.
+Marc Green, E<lt>marcgreen@cpan.orgE<gt>.
+
+Original version by Tom Christiansen, E<lt>tchrist@perl.comE<gt>.
=head1 SEE ALSO
@@ -231,258 +224,170 @@ This program is distributed under the Artistic License.
=cut
-my($Cachedir);
-my($Dircache, $Itemcache);
-my @Begin_Stack;
-my @Libpods;
+my $Cachedir;
+my $Dircache;
my($Htmlroot, $Htmldir, $Htmlfile, $Htmlfileurl);
my($Podfile, @Podpath, $Podroot);
+my $Poderrors;
my $Css;
my $Recurse;
my $Quiet;
-my $HiddenDirs;
my $Verbose;
my $Doindex;
my $Backlink;
-my($Listlevel, @Listtype);
-my $ListNewTerm;
-use vars qw($Ignore); # need to localize it later.
-my(%Items_Named, @Items_Seen);
my($Title, $Header);
-my $Top;
-my $Paragraph;
-
-my %Sections;
-
-# Caches
-my %Pages = (); # associative array used to find the location
- # of pages referenced by L<> links.
-my %Items = (); # associative array used to find the location
- # of =item directives referenced by C<> links
-
-my %Local_Items;
-my $Is83;
+my %Pages = (); # associative array used to find the location
+ # of pages referenced by L<> links.
my $Curdir = File::Spec->curdir;
init_globals();
sub init_globals {
- $Cachedir = "."; # The directory to which item and directory
- # caches will be written.
+ $Cachedir = "."; # The directory to which directory caches
+ # will be written.
$Dircache = "pod2htmd.tmp";
- $Itemcache = "pod2htmi.tmp";
-
- @Begin_Stack = (); # begin/end stack
-
- @Libpods = (); # files to search for links from C<> directives
- $Htmlroot = "/"; # http-server base directory from which all
- # relative paths in $podpath stem.
- $Htmldir = ""; # The directory to which the html pages
- # will (eventually) be written.
- $Htmlfile = ""; # write to stdout by default
- $Htmlfileurl = ""; # The url that other files would use to
- # refer to this file. This is only used
- # to make relative urls that point to
- # other files.
-
- $Podfile = ""; # read from stdin by default
- @Podpath = (); # list of directories containing library pods.
- $Podroot = $Curdir; # filesystem base directory from which all
- # relative paths in $podpath stem.
- $Css = ''; # Cascading style sheet
- $Recurse = 1; # recurse on subdirectories in $podpath.
- $Quiet = 0; # not quiet by default
- $Verbose = 0; # not verbose by default
- $Doindex = 1; # non-zero if we should generate an index
- $Backlink = ''; # text for "back to top" links
- $Listlevel = 0; # current list depth
- @Listtype = (); # list types for open lists
- $ListNewTerm = 0; # indicates new term in definition list; used
- # to correctly open/close <dd> tags
- $Ignore = 1; # whether or not to format text. we don't
- # format text until we hit our first pod
- # directive.
-
- @Items_Seen = (); # for multiples of the same item in perlfunc
- %Items_Named = ();
- $Header = 0; # produce block header/footer
- $Title = ''; # title to give the pod(s)
- $Top = 1; # true if we are at the top of the doc. used
- # to prevent the first <hr /> directive.
- $Paragraph = ''; # which paragraph we're processing (used
- # for error messages)
- %Sections = (); # sections within this page
-
- %Local_Items = ();
- $Is83 = $^O eq 'dos'; # Is it an 8.3 filesystem?
-}
-#
-# clean_data: global clean-up of pod data
-#
-sub clean_data($){
- my( $dataref ) = @_;
- for my $i ( 0..$#{$dataref} ) {
- ${$dataref}[$i] =~ s/\s+\Z//;
-
- # have a look for all-space lines
- if( ${$dataref}[$i] =~ /^\s+$/m and $dataref->[$i] !~ /^\s/ ){
- my @chunks = split( /^\s+$/m, ${$dataref}[$i] );
- splice( @$dataref, $i, 1, @chunks );
- }
- }
+ $Htmlroot = "/"; # http-server base directory from which all
+ # relative paths in $podpath stem.
+ $Htmldir = ""; # The directory to which the html pages
+ # will (eventually) be written.
+ $Htmlfile = ""; # write to stdout by default
+ $Htmlfileurl = ""; # The url that other files would use to
+ # refer to this file. This is only used
+ # to make relative urls that point to
+ # other files.
+
+ $Poderrors = 1;
+ $Podfile = ""; # read from stdin by default
+ @Podpath = (); # list of directories containing library pods.
+ $Podroot = $Curdir; # filesystem base directory from which all
+ # relative paths in $podpath stem.
+ $Css = ''; # Cascading style sheet
+ $Recurse = 1; # recurse on subdirectories in $podpath.
+ $Quiet = 0; # not quiet by default
+ $Verbose = 0; # not verbose by default
+ $Doindex = 1; # non-zero if we should generate an index
+ $Backlink = 0; # no backlinks added by default
+ $Header = 0; # produce block header/footer
+ $Title = ''; # title to give the pod(s)
}
-
sub pod2html {
local(@ARGV) = @_;
- local($/);
local $_;
init_globals();
-
- $Is83 = 0 if (defined (&Dos::UseLFN) && Dos::UseLFN());
-
- # cache of %Pages and %Items from last time we ran pod2html
-
- #undef $opt_help if defined $opt_help;
-
- # parse the command-line parameters
parse_command_line();
- # escape the backlink argument (same goes for title but is done later...)
- $Backlink = html_escape($Backlink) if defined $Backlink;
+ # prevent '//' in urls
+ $Htmlroot = "" if $Htmlroot eq "/";
+ $Htmldir =~ s#/\z##;
- # set some variables to their default values if necessary
- my $pod;
- unless (@ARGV && $ARGV[0]) {
- if ($Podfile and $Podfile ne '-') {
- open $pod, '<', $Podfile
- or die "$0: cannot open $Podfile file for input: $!\n";
- } else {
- open $pod, '-';
- }
- } else {
- $Podfile = $ARGV[0]; # XXX: might be more filenames
- $pod = *ARGV;
- }
- $Htmlfile = "-" unless $Htmlfile; # stdout
- $Htmlroot = "" if $Htmlroot eq "/"; # so we don't get a //
- $Htmldir =~ s#/\z## ; # so we don't get a //
if ( $Htmlroot eq ''
&& defined( $Htmldir )
&& $Htmldir ne ''
&& substr( $Htmlfile, 0, length( $Htmldir ) ) eq $Htmldir
- )
- {
- # Set the 'base' url for this file, so that we can use it
- # as the location from which to calculate relative links
- # to other files. If this is '', then absolute links will
- # be used throughout.
- $Htmlfileurl= "$Htmldir/" . substr( $Htmlfile, length( $Htmldir ) + 1);
- }
-
- # read the pod a paragraph at a time
- warn "Scanning for sections in input file(s)\n" if $Verbose;
- $/ = "";
- my @poddata = <$pod>;
- close $pod;
-
- # be eol agnostic
- for (@poddata) {
- if (/\r/) {
- if (/\r\n/) {
- @poddata = map { s/\r\n/\n/g;
- /\n\n/ ?
- map { "$_\n\n" } split /\n\n/ :
- $_ } @poddata;
- } else {
- @poddata = map { s/\r/\n/g;
- /\n\n/ ?
- map { "$_\n\n" } split /\n\n/ :
- $_ } @poddata;
- }
- last;
- }
- }
-
- clean_data( \@poddata );
-
- # scan the pod for =head[1-6] directives and build an index
- my $index = scan_headings(\%Sections, @poddata);
-
- unless($index) {
- warn "No headings in $Podfile\n" if $Verbose;
- }
-
- # open the output file
- my $html;
- if($Htmlfile and $Htmlfile ne '-') {
- open $html, ">", $Htmlfile
- or die "$0: cannot open $Htmlfile file for output: $!\n";
- } else {
- open $html, ">-";
- }
+ ) {
+ # Set the 'base' url for this file, so that we can use it
+ # as the location from which to calculate relative links
+ # to other files. If this is '', then absolute links will
+ # be used throughout.
+ #$Htmlfileurl = "$Htmldir/" . substr( $Htmlfile, length( $Htmldir ) + 1);
+ # Is the above not just "$Htmlfileurl = $Htmlfile"?
+ $Htmlfileurl = Pod::Html::_unixify($Htmlfile);
+
+ }
+
+ # load or generate/cache %Pages
+ unless (get_cache($Dircache, \@Podpath, $Podroot, $Recurse)) {
+ # generate %Pages
+ my $pwd = getcwd();
+ chdir($Podroot) ||
+ die "$0: error changing to directory $Podroot: $!\n";
+
+ # find all pod modules/pages in podpath, store in %Pages
+ # - callback used to remove Podroot and extension from each file
+ # - laborious to allow '.' in dirnames (e.g., /usr/share/perl/5.14.1)
+ Pod::Simple::Search->new->inc(0)->verbose($Verbose)->laborious(1)
+ ->callback(\&_save_page)->recurse($Recurse)->survey(@Podpath);
+
+ chdir($pwd) || die "$0: error changing to directory $pwd: $!\n";
+
+ # cache the directory list for later use
+ warn "caching directories for later use\n" if $Verbose;
+ open my $cache, '>', $Dircache
+ or die "$0: error open $Dircache for writing: $!\n";
+
+ print $cache join(":", @Podpath) . "\n$Podroot\n";
+ my $_updirs_only = ($Podroot =~ /\.\./) && !($Podroot =~ /[^\.\\\/]/);
+ foreach my $key (keys %Pages) {
+ if($_updirs_only) {
+ my $_dirlevel = $Podroot;
+ while($_dirlevel =~ /\.\./) {
+ $_dirlevel =~ s/\.\.//;
+ # Assume $Pages{$key} has '/' separators (html dir separators).
+ $Pages{$key} =~ s/^[\w\s\-\.]+\///;
+ }
+ }
+ print $cache "$key $Pages{$key}\n";
+ }
- # put a title in the HTML file if one wasn't specified
- if ($Title eq '') {
- TITLE_SEARCH: {
- for (my $i = 0; $i < @poddata; $i++) {
- if ($poddata[$i] =~ /^=head1\s*NAME\b/m) {
- for my $para ( @poddata[$i, $i+1] ) {
- last TITLE_SEARCH
- if ($Title) = $para =~ /(\S+\s+-+.*\S)/s;
- }
- }
-
- }
- }
- }
- if (!$Title and $Podfile =~ /\.pod\z/) {
- # probably a split pod so take first =head[12] as title
- for (my $i = 0; $i < @poddata; $i++) {
- last if ($Title) = $poddata[$i] =~ /^=head[12]\s*(.*)/;
- }
- warn "adopted '$Title' as title for $Podfile\n"
- if $Verbose and $Title;
- }
- if ($Title) {
- $Title =~ s/\s*\(.*\)//;
- } else {
- warn "$0: no title for $Podfile.\n" unless $Quiet;
- $Podfile =~ /^(.*)(\.[^.\/]+)?\z/s;
- $Title = ($Podfile eq "-" ? 'No Title' : $1);
- warn "using $Title" if $Verbose;
- }
+ close $cache or die "error closing $Dircache: $!";
+ }
+
+ # set options for the parser
+ my $parser = Pod::Simple::XHTML::LocalPodLinks->new();
+ $parser->codes_in_verbatim(0);
+ $parser->anchor_items(1); # the old Pod::Html always did
+ $parser->backlink($Backlink); # linkify =head1 directives
+ $parser->htmldir($Htmldir);
+ $parser->htmlfileurl($Htmlfileurl);
+ $parser->htmlroot($Htmlroot);
+ $parser->index($Doindex);
+ $parser->no_errata_section(!$Poderrors); # note the inverse
+ $parser->output_string(\my $output); # written to file later
+ $parser->pages(\%Pages);
+ $parser->quiet($Quiet);
+ $parser->verbose($Verbose);
+
+ # XXX: implement default title generator in pod::simple::xhtml
+ # copy the way the old Pod::Html did it
$Title = html_escape($Title);
+ # We need to add this ourselves because we use our own header, not
+ # ::XHTML's header. We need to set $parser->backlink to linkify
+ # the =head1 directives
+ my $bodyid = $Backlink ? ' id="_podtop_"' : '';
+
my $csslink = '';
my $bodystyle = ' style="background-color: white"';
my $tdstyle = ' style="background-color: #cccccc"';
if ($Css) {
- $csslink = qq(\n<link rel="stylesheet" href="$Css" type="text/css" />);
- $csslink =~ s,\\,/,g;
- $csslink =~ s,(/.):,$1|,;
- $bodystyle = '';
- $tdstyle = '';
+ $csslink = qq(\n<link rel="stylesheet" href="$Css" type="text/css" />);
+ $csslink =~ s,\\,/,g;
+ $csslink =~ s,(/.):,$1|,;
+ $bodystyle = '';
+ $tdstyle= '';
}
- my $block = $Header ? <<END_OF_BLOCK : '';
+ # header/footer block
+ my $block = $Header ? <<END_OF_BLOCK : '';
<table border="0" width="100%" cellspacing="0" cellpadding="3">
-<tr><td class="block"$tdstyle valign="middle">
-<big><strong><span class="block">&nbsp;$Title</span></strong></big>
+<tr><td class="_podblock_"$tdstyle valign="middle">
+<big><strong><span class="_podblock_">&nbsp;$Title</span></strong></big>
</td></tr>
</table>
END_OF_BLOCK
- print $html <<END_OF_HEAD;
+ # create own header/footer because of --header
+ $parser->html_header(<<"HTMLHEAD");
<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
@@ -492,147 +397,44 @@ END_OF_BLOCK
<link rev="made" href="mailto:$Config{perladmin}" />
</head>
-<body$bodystyle>
+<body$bodyid$bodystyle>
$block
-END_OF_HEAD
-
- # load/reload/validate/cache %Pages and %Items
- get_cache($Dircache, $Itemcache, \@Podpath, $Podroot, $Recurse);
-
- # scan the pod for =item directives
- scan_items( \%Local_Items, "", @poddata);
+HTMLHEAD
- # put an index at the top of the file. note, if $Doindex is 0 we
- # still generate an index, but surround it with an html comment.
- # that way some other program can extract it if desired.
- $index =~ s/--+/-/g;
-
- my $hr = ($Doindex and $index) ? qq(<hr name="index" />) : "";
-
- unless ($Doindex)
- {
- $index = qq(<!--\n$index\n-->\n);
- }
-
- print $html <<"END_OF_INDEX";
-
-<!-- INDEX BEGIN -->
-<div name="index">
-<p><a name=\"__index__\"></a></p>
-$index
-$hr
-</div>
-<!-- INDEX END -->
-
-END_OF_INDEX
-
- # now convert this file
- my $after_item; # set to true after an =item
- warn "Converting input file $Podfile\n" if $Verbose;
- foreach my $i (0..$#poddata){
- $_ = $poddata[$i];
- $Paragraph = $i+1;
- if (/^(=.*)/s) { # is it a pod directive?
- $Ignore = 0;
- $after_item = 0;
- $_ = $1;
- if (/^=begin\s+(\S+)\s*(.*)/si) {# =begin
- process_begin($html, $1, $2);
- } elsif (/^=end\s+(\S+)\s*(.*)/si) {# =end
- process_end($1, $2);
- } elsif (/^=cut/) { # =cut
- process_cut();
- } elsif (/^=pod/) { # =pod
- process_pod();
- } else {
- next if @Begin_Stack && $Begin_Stack[-1] ne 'html';
-
- if (/^=(head[1-6])\s+(.*\S)/s) { # =head[1-6] heading
- process_head( $html, $1, $2, $Doindex && $index );
- } elsif (/^=item\s*(.*\S)?/sm) { # =item text
- process_item( $html, $1 );
- $after_item = 1;
- } elsif (/^=over\s*(.*)/) { # =over N
- process_over();
- } elsif (/^=back/) { # =back
- process_back( $html );
- } elsif (/^=for\s+(\S+)\s*(.*)/si) {# =for
- process_for( $html, $1, $2 );
- } else {
- /^=(\S*)\s*/;
- warn "$0: $Podfile: unknown pod directive '$1' in "
- . "paragraph $Paragraph. ignoring.\n" unless $Quiet;
- }
- }
- $Top = 0;
- }
- else {
- next if $Ignore;
- if (@Begin_Stack) {
- print $html $_ if $Begin_Stack[-1] eq 'html';
- next;
- }
- my $text = $_;
-
- # Open tag for definition list as we have something to put in it
- if( $ListNewTerm ){
- print $html "<dd>\n";
- $ListNewTerm = 0;
- }
-
- if( $text =~ /\A\s+/ ){
- process_pre( \$text );
- print $html "<pre>\n$text</pre>\n";
-
- } else {
- process_text( \$text );
-
- # experimental: check for a paragraph where all lines
- # have some ...\t...\t...\n pattern
- if( $text =~ /\t/ ){
- my @lines = split( "\n", $text );
- if( @lines > 1 ){
- my $all = 2;
- foreach my $line ( @lines ){
- if( $line =~ /\S/ && $line !~ /\t/ ){
- $all--;
- last if $all == 0;
- }
- }
- if( $all > 0 ){
- $text =~ s/\t+/<td>/g;
- $text =~ s/^/<tr><td>/gm;
- $text = '<table cellspacing="0" cellpadding="0">' .
- $text . '</table>';
- }
- }
- }
- ## end of experimental
-
- print $html "<p>$text</p>\n";
- }
- $after_item = 0;
- }
- }
-
- # finish off any pending directives
- finish_list( $html );
-
- # link to page index
- print $html "<p><a href=\"#__index__\"><small>$Backlink</small></a></p>\n"
- if $Doindex and $index and $Backlink;
-
- print $html <<END_OF_TAIL;
+ $parser->html_footer(<<"HTMLFOOT");
$block
</body>
</html>
-END_OF_TAIL
+HTMLFOOT
+
+ my $input;
+ unless (@ARGV && $ARGV[0]) {
+ if ($Podfile and $Podfile ne '-') {
+ $input = $Podfile;
+ } else {
+ $input = '-'; # XXX: make a test case for this
+ }
+ } else {
+ $Podfile = $ARGV[0];
+ $input = *ARGV;
+ }
- # close the html file
- close $html or die "Failed to close $Htmlfile: $!";
+ warn "Converting input file $Podfile\n" if $Verbose;
+ $parser->parse_file($input);
- warn "Finished\n" if $Verbose;
+ # Write output to file
+ $Htmlfile = "-" unless $Htmlfile; # stdout
+ my $fhout;
+ if($Htmlfile and $Htmlfile ne '-') {
+ open $fhout, ">", $Htmlfile
+ or die "$0: cannot open $Htmlfile file for output: $!\n";
+ } else {
+ open $fhout, ">-";
+ }
+ print $fhout $output;
+ close $fhout or die "Failed to close $Htmlfile: $!";
+ chmod 0644, $Htmlfile unless $Htmlfile eq '-';
}
##############################################################################
@@ -642,112 +444,105 @@ sub usage {
warn "$0: $podfile: @_\n" if @_;
die <<END_OF_USAGE;
Usage: $0 --help --htmlroot=<name> --infile=<name> --outfile=<name>
- --podpath=<name>:...:<name> --podroot=<name>
- --libpods=<name>:...:<name> --recurse --verbose --index
- --netscape --norecurse --noindex --cachedir=<name>
-
- --backlink - set text for "back to top" links (default: none).
- --cachedir - directory for the item and directory cache files.
- --css - stylesheet URL
- --flush - flushes the item and directory caches.
- --[no]header - produce block header/footer (default is no headers).
- --help - prints this message.
- --hiddendirs - search hidden directories in podpath
- --htmldir - directory for resulting HTML files.
- --htmlroot - http-server base directory from which all relative paths
- in podpath stem (default is /).
- --[no]index - generate an index at the top of the resulting html
- (default behaviour).
- --infile - filename for the pod to convert (input taken from stdin
- by default).
- --libpods - colon-separated list of pages to search for =item pod
- directives in as targets of C<> and implicit links (empty
- by default). note, these are not filenames, but rather
- page names like those that appear in L<> links.
- --outfile - filename for the resulting html file (output sent to
- stdout by default).
- --podpath - colon-separated list of directories containing library
- pods (empty by default).
- --podroot - filesystem base directory from which all relative paths
- in podpath stem (default is .).
- --[no]quiet - suppress some benign warning messages (default is off).
- --[no]recurse - recurse on those subdirectories listed in podpath
- (default behaviour).
- --title - title that will appear in resulting html file.
- --[no]verbose - self-explanatory (off by default).
- --[no]netscape - deprecated, has no effect. for backwards compatibility only.
+ --podpath=<name>:...:<name> --podroot=<name> --cachedir=<name>
+ --recurse --verbose --index --norecurse --noindex
+
+ --[no]backlink - turn =head1 directives into links pointing to the top of
+ the page (off by default).
+ --cachedir - directory for the directory cache files.
+ --css - stylesheet URL
+ --flush - flushes the directory cache.
+ --[no]header - produce block header/footer (default is no headers).
+ --help - prints this message.
+ --htmldir - directory for resulting HTML files.
+ --htmlroot - http-server base directory from which all relative paths
+ in podpath stem (default is /).
+ --[no]index - generate an index at the top of the resulting html
+ (default behaviour).
+ --infile - filename for the pod to convert (input taken from stdin
+ by default).
+ --outfile - filename for the resulting html file (output sent to
+ stdout by default).
+ --[no]poderrors - include a POD ERRORS section in the output if there were
+ any POD errors in the input (default behavior).
+ --podpath - colon-separated list of directories containing library
+ pods (empty by default).
+ --podroot - filesystem base directory from which all relative paths
+ in podpath stem (default is .).
+ --[no]quiet - suppress some benign warning messages (default is off).
+ --[no]recurse - recurse on those subdirectories listed in podpath
+ (default behaviour).
+ --title - title that will appear in resulting html file.
+ --[no]verbose - self-explanatory (off by default).
END_OF_USAGE
}
sub parse_command_line {
- my ($opt_backlink,$opt_cachedir,$opt_css,$opt_flush,$opt_header,$opt_help,
- $opt_htmldir,$opt_htmlroot,$opt_index,$opt_infile,$opt_libpods,
- $opt_netscape,$opt_outfile,$opt_podpath,$opt_podroot,$opt_quiet,
- $opt_recurse,$opt_title,$opt_verbose,$opt_hiddendirs);
+ my ($opt_backlink,$opt_cachedir,$opt_css,$opt_flush,$opt_header,
+ $opt_help,$opt_htmldir,$opt_htmlroot,$opt_index,$opt_infile,
+ $opt_outfile,$opt_poderrors,$opt_podpath,$opt_podroot,
+ $opt_quiet,$opt_recurse,$opt_title,$opt_verbose,$opt_libpods);
unshift @ARGV, split ' ', $Config{pod2html} if $Config{pod2html};
my $result = GetOptions(
- 'backlink=s' => \$opt_backlink,
- 'cachedir=s' => \$opt_cachedir,
- 'css=s' => \$opt_css,
- 'flush' => \$opt_flush,
- 'header!' => \$opt_header,
- 'help' => \$opt_help,
- 'hiddendirs!'=> \$opt_hiddendirs,
- 'htmldir=s' => \$opt_htmldir,
- 'htmlroot=s' => \$opt_htmlroot,
- 'index!' => \$opt_index,
- 'infile=s' => \$opt_infile,
- 'libpods=s' => \$opt_libpods,
- 'netscape!' => \$opt_netscape,
- 'outfile=s' => \$opt_outfile,
- 'podpath=s' => \$opt_podpath,
- 'podroot=s' => \$opt_podroot,
- 'quiet!' => \$opt_quiet,
- 'recurse!' => \$opt_recurse,
- 'title=s' => \$opt_title,
- 'verbose!' => \$opt_verbose,
- );
+ 'backlink!' => \$opt_backlink,
+ 'cachedir=s' => \$opt_cachedir,
+ 'css=s' => \$opt_css,
+ 'flush' => \$opt_flush,
+ 'help' => \$opt_help,
+ 'header!' => \$opt_header,
+ 'htmldir=s' => \$opt_htmldir,
+ 'htmlroot=s' => \$opt_htmlroot,
+ 'index!' => \$opt_index,
+ 'infile=s' => \$opt_infile,
+ 'libpods=s' => \$opt_libpods, # deprecated
+ 'outfile=s' => \$opt_outfile,
+ 'poderrors!' => \$opt_poderrors,
+ 'podpath=s' => \$opt_podpath,
+ 'podroot=s' => \$opt_podroot,
+ 'quiet!' => \$opt_quiet,
+ 'recurse!' => \$opt_recurse,
+ 'title=s' => \$opt_title,
+ 'verbose!' => \$opt_verbose,
+ );
usage("-", "invalid parameters") if not $result;
- usage("-") if defined $opt_help; # see if the user asked for help
- $opt_help = ""; # just to make -w shut-up.
+ usage("-") if defined $opt_help; # see if the user asked for help
+ $opt_help = ""; # just to make -w shut-up.
@Podpath = split(":", $opt_podpath) if defined $opt_podpath;
- @Libpods = split(":", $opt_libpods) if defined $opt_libpods;
-
- $Backlink = $opt_backlink if defined $opt_backlink;
- $Cachedir = $opt_cachedir if defined $opt_cachedir;
- $Css = $opt_css if defined $opt_css;
- $Header = $opt_header if defined $opt_header;
- $Htmldir = $opt_htmldir if defined $opt_htmldir;
- $Htmlroot = $opt_htmlroot if defined $opt_htmlroot;
- $Doindex = $opt_index if defined $opt_index;
- $Podfile = $opt_infile if defined $opt_infile;
- $HiddenDirs = $opt_hiddendirs if defined $opt_hiddendirs;
- $Htmlfile = $opt_outfile if defined $opt_outfile;
- $Podroot = $opt_podroot if defined $opt_podroot;
- $Quiet = $opt_quiet if defined $opt_quiet;
- $Recurse = $opt_recurse if defined $opt_recurse;
- $Title = $opt_title if defined $opt_title;
- $Verbose = $opt_verbose if defined $opt_verbose;
-
- warn "Flushing item and directory caches\n"
- if $opt_verbose && defined $opt_flush;
+ warn "--libpods is no longer supported" if defined $opt_libpods;
+
+ $Backlink = $opt_backlink if defined $opt_backlink;
+ $Cachedir = _unixify($opt_cachedir) if defined $opt_cachedir;
+ $Css = $opt_css if defined $opt_css;
+ $Header = $opt_header if defined $opt_header;
+ $Htmldir = _unixify($opt_htmldir) if defined $opt_htmldir;
+ $Htmlroot = _unixify($opt_htmlroot) if defined $opt_htmlroot;
+ $Doindex = $opt_index if defined $opt_index;
+ $Podfile = _unixify($opt_infile) if defined $opt_infile;
+ $Htmlfile = _unixify($opt_outfile) if defined $opt_outfile;
+ $Poderrors = $opt_poderrors if defined $opt_poderrors;
+ $Podroot = _unixify($opt_podroot) if defined $opt_podroot;
+ $Quiet = $opt_quiet if defined $opt_quiet;
+ $Recurse = $opt_recurse if defined $opt_recurse;
+ $Title = $opt_title if defined $opt_title;
+ $Verbose = $opt_verbose if defined $opt_verbose;
+
+ warn "Flushing directory caches\n"
+ if $opt_verbose && defined $opt_flush;
$Dircache = "$Cachedir/pod2htmd.tmp";
- $Itemcache = "$Cachedir/pod2htmi.tmp";
if (defined $opt_flush) {
- 1 while unlink($Dircache, $Itemcache);
+ 1 while unlink($Dircache);
}
}
-
my $Saved_Cache_Key;
sub get_cache {
- my($dircache, $itemcache, $podpath, $podroot, $recurse) = @_;
+ my($dircache, $podpath, $podroot, $recurse) = @_;
my @cache_key_args = @_;
# A first-level cache:
@@ -755,1056 +550,65 @@ sub get_cache {
# and haven't changed since we last read them.
my $this_cache_key = cache_key(@cache_key_args);
+ return 1 if $Saved_Cache_Key and $this_cache_key eq $Saved_Cache_Key;
+ $Saved_Cache_Key = $this_cache_key;
- return if $Saved_Cache_Key and $this_cache_key eq $Saved_Cache_Key;
-
- # load the cache of %Pages and %Items if possible. $tests will be
+ # load the cache of %Pages if possible. $tests will be
# non-zero if successful.
my $tests = 0;
- if (-f $dircache && -f $itemcache) {
- warn "scanning for item cache\n" if $Verbose;
- $tests = load_cache($dircache, $itemcache, $podpath, $podroot);
+ if (-f $dircache) {
+ warn "scanning for directory cache\n" if $Verbose;
+ $tests = load_cache($dircache, $podpath, $podroot);
}
- # if we didn't succeed in loading the cache then we must (re)build
- # %Pages and %Items.
- if (!$tests) {
- warn "scanning directories in pod-path\n" if $Verbose;
- scan_podpath($podroot, $recurse, 0);
- }
- $Saved_Cache_Key = cache_key(@cache_key_args);
+ return $tests;
}
sub cache_key {
- my($dircache, $itemcache, $podpath, $podroot, $recurse) = @_;
- return join('!', $dircache, $itemcache, $recurse,
- @$podpath, $podroot, stat($dircache), stat($itemcache));
+ my($dircache, $podpath, $podroot, $recurse) = @_;
+ return join('!',$dircache,$recurse,@$podpath,$podroot,stat($dircache));
}
#
-# load_cache - tries to find if the caches stored in $dircache and $itemcache
-# are valid caches of %Pages and %Items. if they are valid then it loads
-# them and returns a non-zero value.
+# load_cache - tries to find if the cache stored in $dircache is a valid
+# cache of %Pages. if so, it loads them and returns a non-zero value.
#
sub load_cache {
- my($dircache, $itemcache, $podpath, $podroot) = @_;
- my($tests);
+ my($dircache, $podpath, $podroot) = @_;
+ my $tests = 0;
local $_;
- $tests = 0;
-
- open(CACHE, "<$itemcache") ||
- die "$0: error opening $itemcache for reading: $!\n";
- $/ = "\n";
-
- # is it the same podpath?
- $_ = <CACHE>;
- chomp($_);
- $tests++ if (join(":", @$podpath) eq $_);
-
- # is it the same podroot?
- $_ = <CACHE>;
- chomp($_);
- $tests++ if ($podroot eq $_);
-
- # load the cache if its good
- if ($tests != 2) {
- close(CACHE);
- return 0;
- }
-
- warn "loading item cache\n" if $Verbose;
- while (<CACHE>) {
- /(.*?) (.*)$/;
- $Items{$1} = $2;
- }
- close(CACHE);
-
warn "scanning for directory cache\n" if $Verbose;
- open(CACHE, "<$dircache") ||
- die "$0: error opening $dircache for reading: $!\n";
+ open(my $cachefh, '<', $dircache) ||
+ die "$0: error opening $dircache for reading: $!\n";
$/ = "\n";
- $tests = 0;
# is it the same podpath?
- $_ = <CACHE>;
+ $_ = <$cachefh>;
chomp($_);
$tests++ if (join(":", @$podpath) eq $_);
# is it the same podroot?
- $_ = <CACHE>;
+ $_ = <$cachefh>;
chomp($_);
$tests++ if ($podroot eq $_);
# load the cache if its good
if ($tests != 2) {
- close(CACHE);
- return 0;
+ close($cachefh);
+ return 0;
}
warn "loading directory cache\n" if $Verbose;
- while (<CACHE>) {
- /(.*?) (.*)$/;
- $Pages{$1} = $2;
+ while (<$cachefh>) {
+ /(.*?) (.*)$/;
+ $Pages{$1} = $2;
}
- close(CACHE);
-
+ close($cachefh);
return 1;
}
-#
-# scan_podpath - scans the directories specified in @podpath for directories,
-# .pod files, and .pm files. it also scans the pod files specified in
-# @Libpods for =item directives.
-#
-sub scan_podpath {
- my($podroot, $recurse, $append) = @_;
- my($pwd, $dir);
- my($libpod, $dirname, $pod, @files, @poddata);
-
- unless($append) {
- %Items = ();
- %Pages = ();
- }
-
- # scan each directory listed in @Podpath
- $pwd = getcwd();
- chdir($podroot)
- || die "$0: error changing to directory $podroot: $!\n";
- foreach $dir (@Podpath) {
- scan_dir($dir, $recurse);
- }
-
- # scan the pods listed in @Libpods for =item directives
- foreach $libpod (@Libpods) {
- # if the page isn't defined then we won't know where to find it
- # on the system.
- next unless defined $Pages{$libpod} && $Pages{$libpod};
-
- # if there is a directory then use the .pod and .pm files within it.
- # NOTE: Only finds the first so-named directory in the tree.
-# if ($Pages{$libpod} =~ /([^:]*[^(\.pod|\.pm)]):/) {
- if ($Pages{$libpod} =~ /([^:]*(?<!\.pod)(?<!\.pm)):/) {
- # find all the .pod and .pm files within the directory
- $dirname = $1;
- opendir(DIR, $dirname) ||
- die "$0: error opening directory $dirname: $!\n";
- @files = grep(/(\.pod|\.pm)\z/ && ! -d $_, readdir(DIR));
- closedir(DIR);
-
- # scan each .pod and .pm file for =item directives
- foreach $pod (@files) {
- open my $fh, '<', "$dirname/$pod"
- or die "$0: error opening $dirname/$pod for input: $!\n";
- @poddata = <$fh>;
- close $fh;
- clean_data( \@poddata );
-
- scan_items( \%Items, "$dirname/$pod", @poddata);
- }
-
- # use the names of files as =item directives too.
-### Don't think this should be done this way - confuses issues.(WL)
-### foreach $pod (@files) {
-### $pod =~ /^(.*)(\.pod|\.pm)$/;
-### $Items{$1} = "$dirname/$1.html" if $1;
-### }
- } elsif ($Pages{$libpod} =~ /([^:]*\.pod):/ ||
- $Pages{$libpod} =~ /([^:]*\.pm):/) {
- # scan the .pod or .pm file for =item directives
- $pod = $1;
- open my $fh, '<', $pod
- or die "$0: error opening $pod for input: $!\n";
- @poddata = <$fh>;
- close $fh;
- clean_data( \@poddata );
-
- scan_items( \%Items, "$pod", @poddata);
- } else {
- warn "$0: shouldn't be here (line ".__LINE__."\n" unless $Quiet;
- }
- }
- @poddata = (); # clean-up a bit
-
- chdir($pwd)
- || die "$0: error changing to directory $pwd: $!\n";
-
- # cache the item list for later use
- warn "caching items for later use\n" if $Verbose;
- open my $cache, '>', $Itemcache
- or die "$0: error open $Itemcache for writing: $!\n";
-
- print $cache join(":", @Podpath) . "\n$podroot\n";
- foreach my $key (keys %Items) {
- print $cache "$key $Items{$key}\n";
- }
-
- close $cache or die "error closing $Itemcache: $!";
-
- # cache the directory list for later use
- warn "caching directories for later use\n" if $Verbose;
- open $cache, '>', $Dircache
- or die "$0: error open $Dircache for writing: $!\n";
-
- print $cache join(":", @Podpath) . "\n$podroot\n";
- foreach my $key (keys %Pages) {
- print $cache "$key $Pages{$key}\n";
- }
-
- close $cache or die "error closing $Dircache: $!";
-}
-
-#
-# scan_dir - scans the directory specified in $dir for subdirectories, .pod
-# files, and .pm files. notes those that it finds. this information will
-# be used later in order to figure out where the pages specified in L<>
-# links are on the filesystem.
-#
-sub scan_dir {
- my($dir, $recurse) = @_;
- my($t, @subdirs, @pods, $pod, $dirname, @dirs);
- local $_;
-
- @subdirs = ();
- @pods = ();
-
- opendir(DIR, $dir) ||
- die "$0: error opening directory $dir: $!\n";
- while (defined($_ = readdir(DIR))) {
- if (-d "$dir/$_" && $_ ne "." && $_ ne ".."
- && ($HiddenDirs || !/^\./)
- ) { # directory
- $Pages{$_} = "" unless defined $Pages{$_};
- $Pages{$_} .= "$dir/$_:";
- push(@subdirs, $_);
- } elsif (/\.pod\z/) { # .pod
- s/\.pod\z//;
- $Pages{$_} = "" unless defined $Pages{$_};
- $Pages{$_} .= "$dir/$_.pod:";
- push(@pods, "$dir/$_.pod");
- } elsif (/\.html\z/) { # .html
- s/\.html\z//;
- $Pages{$_} = "" unless defined $Pages{$_};
- $Pages{$_} .= "$dir/$_.pod:";
- } elsif (/\.pm\z/) { # .pm
- s/\.pm\z//;
- $Pages{$_} = "" unless defined $Pages{$_};
- $Pages{$_} .= "$dir/$_.pm:";
- push(@pods, "$dir/$_.pm");
- } elsif (-T "$dir/$_") { # script(?)
- local *F;
- if (open(F, "$dir/$_")) {
- my $line;
- while (defined($line = <F>)) {
- if ($line =~ /^=(?:pod|head1)/) {
- $Pages{$_} = "" unless defined $Pages{$_};
- $Pages{$_} .= "$dir/$_.pod:";
- last;
- }
- }
- close(F);
- }
- }
- }
- closedir(DIR);
-
- # recurse on the subdirectories if necessary
- if ($recurse) {
- foreach my $subdir (@subdirs) {
- scan_dir("$dir/$subdir", $recurse);
- }
- }
-}
-
-#
-# scan_headings - scan a pod file for head[1-6] tags, note the tags, and
-# build an index.
-#
-sub scan_headings {
- my($sections, @data) = @_;
- my($tag, $which_head, $otitle, $listdepth, $index);
-
- local $Ignore = 0;
-
- $listdepth = 0;
- $index = "";
-
- # scan for =head directives, note their name, and build an index
- # pointing to each of them.
- foreach my $line (@data) {
- if ($line =~ /^=(head)([1-6])\s+(.*)/) {
- ($tag, $which_head, $otitle) = ($1,$2,$3);
-
- my $title = depod( $otitle );
- my $name = anchorify( $title );
- $$sections{$name} = 1;
- $title = process_text( \$otitle );
-
- while ($which_head != $listdepth) {
- if ($which_head > $listdepth) {
- $index .= "\n" . ("\t" x $listdepth) . "<ul>\n";
- $listdepth++;
- } elsif ($which_head < $listdepth) {
- $listdepth--;
- $index .= "\n" . ("\t" x $listdepth) . "</ul>\n";
- }
- }
-
- $index .= "\n" . ("\t" x $listdepth) . "<li>" .
- "<a href=\"#" . $name . "\">" .
- $title . "</a></li>";
- }
- }
-
- # finish off the lists
- while ($listdepth--) {
- $index .= "\n" . ("\t" x $listdepth) . "</ul>\n";
- }
-
- # get rid of bogus lists
- $index =~ s,\t*<ul>\s*</ul>\n,,g;
-
- return $index;
-}
-
-#
-# scan_items - scans the pod specified by $pod for =item directives. we
-# will use this information later on in resolving C<> links.
-#
-sub scan_items {
- my( $itemref, $pod, @poddata ) = @_;
- my($i, $item);
- local $_;
-
- $pod =~ s/\.pod\z//;
- $pod .= ".html" if $pod;
-
- foreach $i (0..$#poddata) {
- my $txt = depod( $poddata[$i] );
-
- # figure out what kind of item it is.
- # Build string for referencing this item.
- if ( $txt =~ /\A=item\s+\*\s*(.*)\Z/s ) { # bulleted list
- next unless $1;
- $item = $1;
- } elsif( $txt =~ /\A=item\s+(?>\d+\.?)\s*(.*)\Z/s ) { # numbered list
- $item = $1;
- } elsif( $txt =~ /\A=item\s+(.*)\Z/s ) { # definition list
- $item = $1;
- } else {
- next;
- }
- my $fid = fragment_id( $item );
- $$itemref{$fid} = "$pod" if $fid;
- }
-}
-
-#
-# process_head - convert a pod head[1-6] tag and convert it to HTML format.
-#
-sub process_head {
- my($fh, $tag, $heading, $hasindex) = @_;
-
- # figure out the level of the =head
- $tag =~ /head([1-6])/;
- my $level = $1;
-
- finish_list( $fh );
-
- print $fh "<p>\n";
- if( $level == 1 && ! $Top ){
- print $fh "<a href=\"#__index__\"><small>$Backlink</small></a>\n"
- if $hasindex and $Backlink;
- print $fh "</p>\n<hr />\n"
- } else {
- print $fh "</p>\n";
- }
-
- my $name = anchorify( depod( $heading ) );
- my $convert = process_text( \$heading );
- print $fh "<h$level><a name=\"$name\">$convert</a></h$level>\n";
-}
-
-
-#
-# emit_item_tag - print an =item's text
-# Note: The global $EmittedItem is used for inhibiting self-references.
-#
-my $EmittedItem;
-
-sub emit_item_tag {
- my( $fh, $otext, $text, $compact ) = @_;
- my $item = fragment_id( depod($text) , -generate);
- Carp::confess("Undefined fragment '$text' (".depod($text).") from fragment_id() in emit_item_tag() in $Podfile")
- if !defined $item;
- $EmittedItem = $item;
- ### print STDERR "emit_item_tag=$item ($text)\n";
-
- print $fh '<strong>';
- if ($Items_Named{$item}++) {
- print $fh process_text( \$otext );
- } else {
- my $name = $item;
- $name = anchorify($name);
- print $fh qq{<a name="$name" class="item">}, process_text( \$otext ), '</a>';
- }
- print $fh "</strong>";
- undef( $EmittedItem );
-}
-
-sub new_listitem {
- my ($fh, $tag) = @_;
- # Open tag for definition list as we have something to put in it
- if( ($tag ne 'dl') && ($ListNewTerm) ){
- print $fh "<dd>\n";
- $ListNewTerm = 0;
- }
-
- if( $Items_Seen[$Listlevel]++ == 0 ){
- # start of new list
- push( @Listtype, "$tag" );
- print $fh "<$tag>\n";
- } else {
- # if this is not the first item, close the previous one
- if ( $tag eq 'dl' ){
- print $fh "</dd>\n" unless $ListNewTerm;
- } else {
- print $fh "</li>\n";
- }
- }
- my $opentag = $tag eq 'dl' ? 'dt' : 'li';
- print $fh "<$opentag>";
-}
-
-#
-# process_item - convert a pod item tag and convert it to HTML format.
-#
-sub process_item {
- my ($fh, $otext) = @_;
-
- # lots of documents start a list without doing an =over. this is
- # bad! but, the proper thing to do seems to be to just assume
- # they did do an =over. so warn them once and then continue.
- if( $Listlevel == 0 ){
- warn "$0: $Podfile: unexpected =item directive in paragraph $Paragraph. ignoring.\n" unless $Quiet;
- process_over();
- }
-
- # remove formatting instructions from the text
- my $text = depod( $otext );
-
- # all the list variants:
- if( $text =~ /\A\*/ ){ # bullet
- new_listitem( $fh, 'ul' );
- if ($text =~ /\A\*\s+(\S.*)\Z/s ) { # with additional text
- my $tag = $1;
- $otext =~ s/\A\*\s+//;
- emit_item_tag( $fh, $otext, $tag, 1 );
- print $fh "\n";
- }
-
- } elsif( $text =~ /\A\d+/ ){ # numbered list
- new_listitem( $fh, 'ol' );
- if ($text =~ /\A(?>\d+\.?)\s*(\S.*)\Z/s ) { # with additional text
- my $tag = $1;
- $otext =~ s/\A\d+\.?\s*//;
- emit_item_tag( $fh, $otext, $tag, 1 );
- print $fh "\n";
- }
-
- } else { # definition list
- # new_listitem takes care of opening the <dt> tag
- new_listitem( $fh, 'dl' );
- if ($text =~ /\A(.+)\Z/s ){ # should have text
- emit_item_tag( $fh, $otext, $text, 1 );
- # write the definition term and close <dt> tag
- print $fh "</dt>\n";
- }
- # trigger opening a <dd> tag for the actual definition; will not
- # happen if next paragraph is also a definition term (=item)
- $ListNewTerm = 1;
- }
- print $fh "\n";
-}
-
-#
-# process_over - process a pod over tag and start a corresponding HTML list.
-#
-sub process_over {
- # start a new list
- $Listlevel++;
- push( @Items_Seen, 0 );
-}
-
-#
-# process_back - process a pod back tag and convert it to HTML format.
-#
-sub process_back {
- my $fh = shift;
- if( $Listlevel == 0 ){
- warn "$0: $Podfile: unexpected =back directive in paragraph $Paragraph. ignoring.\n" unless $Quiet;
- return;
- }
-
- # close off the list. note, I check to see if $Listtype[$Listlevel] is
- # defined because an =item directive may have never appeared and thus
- # $Listtype[$Listlevel] may have never been initialized.
- $Listlevel--;
- if( defined $Listtype[$Listlevel] ){
- if ( $Listtype[$Listlevel] eq 'dl' ){
- print $fh "</dd>\n" unless $ListNewTerm;
- } else {
- print $fh "</li>\n";
- }
- print $fh "</$Listtype[$Listlevel]>\n";
- pop( @Listtype );
- $ListNewTerm = 0;
- }
-
- # clean up item count
- pop( @Items_Seen );
-}
-
-#
-# process_cut - process a pod cut tag, thus start ignoring pod directives.
-#
-sub process_cut {
- $Ignore = 1;
-}
-
-#
-# process_pod - process a pod tag, thus stop ignoring pod directives
-# until we see a corresponding cut.
-#
-sub process_pod {
- # no need to set $Ignore to 0 cause the main loop did it
-}
-
-#
-# process_for - process a =for pod tag. if it's for html, spit
-# it out verbatim, if illustration, center it, otherwise ignore it.
-#
-sub process_for {
- my ($fh, $whom, $text) = @_;
- if ( $whom =~ /^(pod2)?html$/i) {
- print $fh $text;
- } elsif ($whom =~ /^illustration$/i) {
- 1 while chomp $text;
- for my $ext (qw[.png .gif .jpeg .jpg .tga .pcl .bmp]) {
- $text .= $ext, last if -r "$text$ext";
- }
- print $fh qq{<p align="center"><img src="$text" alt="$text illustration" /></p>};
- }
-}
-
-#
-# process_begin - process a =begin pod tag. this pushes
-# whom we're beginning on the begin stack. if there's a
-# begin stack, we only print if it us.
-#
-sub process_begin {
- my ($fh, $whom, $text) = @_;
- $whom = lc($whom);
- push (@Begin_Stack, $whom);
- if ( $whom =~ /^(pod2)?html$/) {
- print $fh $text if $text;
- }
-}
-
-#
-# process_end - process a =end pod tag. pop the
-# begin stack. die if we're mismatched.
-#
-sub process_end {
- my($whom, $text) = @_;
- $whom = lc($whom);
- if (!defined $Begin_Stack[-1] or $Begin_Stack[-1] ne $whom ) {
- Carp::confess("Unmatched begin/end at chunk $Paragraph in pod $Podfile\n")
- }
- pop( @Begin_Stack );
-}
-
-#
-# process_pre - indented paragraph, made into <pre></pre>
-#
-sub process_pre {
- my( $text ) = @_;
- my( $rest );
- return if $Ignore;
-
- $rest = $$text;
-
- # insert spaces in place of tabs
- $rest =~ s#(.+)#
- my $line = $1;
- 1 while $line =~ s/(\t+)/' ' x ((length($1) * 8) - $-[0] % 8)/e;
- $line;
- #eg;
-
- # convert some special chars to HTML escapes
- $rest = html_escape($rest);
-
- # try and create links for all occurrences of perl.* within
- # the preformatted text.
- $rest =~ s{
- (\s*)(perl\w+)
- }{
- if ( defined $Pages{$2} ){ # is a link
- qq($1<a href="$Htmlroot/$Pages{$2}">$2</a>);
- } elsif (defined $Pages{dosify($2)}) { # is a link
- qq($1<a href="$Htmlroot/$Pages{dosify($2)}">$2</a>);
- } else {
- "$1$2";
- }
- }xeg;
- $rest =~ s{
- (<a\ href="?) ([^>:]*:)? ([^>:]*) \.pod: ([^>:]*:)?
- }{
- my $url ;
- if ( $Htmlfileurl ne '' ){
- # Here, we take advantage of the knowledge
- # that $Htmlfileurl ne '' implies $Htmlroot eq ''.
- # Since $Htmlroot eq '', we need to prepend $Htmldir
- # on the fron of the link to get the absolute path
- # of the link's target. We check for a leading '/'
- # to avoid corrupting links that are #, file:, etc.
- my $old_url = $3 ;
- $old_url = "$Htmldir$old_url" if $old_url =~ m{^\/};
- $url = relativize_url( "$old_url.html", $Htmlfileurl );
- } else {
- $url = "$3.html" ;
- }
- "$1$url" ;
- }xeg;
-
- # Look for embedded URLs and make them into links. We don't
- # relativize them since they are best left as the author intended.
-
- my $urls = '(' . join ('|', qw{
- http
- telnet
- mailto
- news
- gopher
- file
- wais
- ftp
- } )
- . ')';
-
- my $ltrs = '\w';
- my $gunk = '/#~:.?+=&%@!\-';
- my $punc = '.:!?\-;';
- my $any = "${ltrs}${gunk}${punc}";
-
- $rest =~ s{
- \b # start at word boundary
- ( # begin $1 {
- $urls : # need resource and a colon
- (?!:) # Ignore File::, among others.
- [$any] +? # followed by one or more of any valid
- # character, but be conservative and
- # take only what you need to....
- ) # end $1 }
- (?=
- &quot; &gt; # maybe pre-quoted '<a href="...">'
- | # or:
- [$punc]* # 0 or more punctuation
- (?: # followed
- [^$any] # by a non-url char
- | # or
- $ # end of the string
- ) #
- | # or else
- $ # then end of the string
- )
- }{<a href="$1">$1</a>}igox;
-
- # text should be as it is (verbatim)
- $$text = $rest;
-}
-
-
-#
-# pure text processing
-#
-# pure_text/inIS_text: differ with respect to automatic C<> recognition.
-# we don't want this to happen within IS
-#
-sub pure_text($){
- my $text = shift();
- process_puretext( $text, 1 );
-}
-
-sub inIS_text($){
- my $text = shift();
- process_puretext( $text, 0 );
-}
-
-#
-# process_puretext - process pure text (without pod-escapes) converting
-# double-quotes and handling implicit C<> links.
-#
-sub process_puretext {
- my($text, $notinIS) = @_;
-
- ## Guessing at func() or [\$\@%&]*var references in plain text is destined
- ## to produce some strange looking ref's. uncomment to disable:
- ## $notinIS = 0;
-
- my(@words, $lead, $trail);
-
- # keep track of leading and trailing white-space
- $lead = ($text =~ s/\A(\s+)//s ? $1 : "");
- $trail = ($text =~ s/(\s+)\Z//s ? $1 : "");
-
- # split at space/non-space boundaries
- @words = split( /(?<=\s)(?=\S)|(?<=\S)(?=\s)/, $text );
-
- # process each word individually
- foreach my $word (@words) {
- # skip space runs
- next if $word =~ /^\s*$/;
- # see if we can infer a link or a function call
- #
- # NOTE: This is a word based search, it won't automatically
- # mark "substr($var, 1, 2)" because the 1st word would be "substr($var"
- # User has to enclose those with proper C<>
-
- if( $notinIS && $word =~
- m/
- ^([a-z_]{2,}) # The function name
- \(
- ([0-9][a-z]* # Manual page(1) or page(1M)
- |[^)]*[\$\@\%][^)]+ # ($foo), (1, @foo), (%hash)
- | # ()
- )
- \)
- ([.,;]?)$ # a possible punctuation follows
- /xi
- ) {
- # has parenthesis so should have been a C<> ref
- ## try for a pagename (perlXXX(1))?
- my( $func, $args, $rest ) = ( $1, $2, $3 || '' );
- if( $args =~ /^\d+$/ ){
- my $url = page_sect( $word, '' );
- if( defined $url ){
- $word = qq(<a href="$url" class="man">the $word manpage</a>$rest);
- next;
- }
- }
- ## try function name for a link, append tt'ed argument list
- $word = emit_C( $func, '', "($args)") . $rest;
-
-#### disabled. either all (including $\W, $\w+{.*} etc.) or nothing.
-## } elsif( $notinIS && $word =~ /^[\$\@%&*]+\w+$/) {
-## # perl variables, should be a C<> ref
-## $word = emit_C( $word );
-
- } elsif ($word =~ m,^\w+://\w,) {
- # looks like a URL
- # Don't relativize it: leave it as the author intended
- $word = qq(<a href="$word">$word</a>);
- } elsif ($word =~ /[\w.-]+\@[\w-]+\.\w/) {
- # looks like an e-mail address
- my ($w1, $w2, $w3) = ("", $word, "");
- ($w1, $w2, $w3) = ("(", $1, ")$2") if $word =~ /^\((.*?)\)(,?)/;
- ($w1, $w2, $w3) = ("&lt;", $1, "&gt;$2") if $word =~ /^<(.*?)>(,?)/;
- $word = qq($w1<a href="mailto:$w2">$w2</a>$w3);
- } else {
- $word = html_escape($word) if $word =~ /["&<>]/;
- }
- }
-
- # put everything back together
- return $lead . join( '', @words ) . $trail;
-}
-
-
-#
-# process_text - handles plaintext that appears in the input pod file.
-# there may be pod commands embedded within the text so those must be
-# converted to html commands.
-#
-
-sub process_text1($$;$$);
-sub pattern ($) { $_[0] ? '\s+'.('>' x ($_[0] + 1)) : '>' }
-sub closing ($) { local($_) = shift; (defined && s/\s+\z//) ? length : 0 }
-
-sub process_text {
- return if $Ignore;
- my( $tref ) = @_;
- my $res = process_text1( 0, $tref );
- $res =~ s/\s+$//s;
- $$tref = $res;
-}
-
-sub process_text_rfc_links {
- my $text = shift;
-
- # For every "RFCnnnn" or "RFC nnn", link it to the authoritative
- # ource. Do not use the /i modifier here. Require "RFC" to be written in
- # in capital letters.
-
- $text =~ s{
- (?<=[^<>[:alpha:]]) # Make sure this is not an URL already
- (RFC\s*([0-9]{1,5}))(?![0-9]) # max 5 digits
- }
- {<a href="http://www.ietf.org/rfc/rfc$2.txt" class="rfc">$1</a>}gx;
-
- $text;
-}
-
-sub process_text1($$;$$){
- my( $lev, $rstr, $func, $closing ) = @_;
- my $res = '';
-
- unless (defined $func) {
- $func = '';
- $lev++;
- }
-
- if( $func eq 'B' ){
- # B<text> - boldface
- $res = '<strong>' . process_text1( $lev, $rstr ) . '</strong>';
-
- } elsif( $func eq 'C' ){
- # C<code> - can be a ref or <code></code>
- # need to extract text
- my $par = go_ahead( $rstr, 'C', $closing );
-
- ## clean-up of the link target
- my $text = depod( $par );
-
- ### my $x = $par =~ /[BI]</ ? 'yes' : 'no' ;
- ### print STDERR "-->call emit_C($par) lev=$lev, par with BI=$x\n";
-
- $res = emit_C( $text, $lev > 1 || ($par =~ /[BI]</) );
-
- } elsif( $func eq 'E' ){
- # E<x> - convert to character
- $$rstr =~ s/^([^>]*)>//;
- my $escape = $1;
- $escape =~ s/^0?x([\dA-F]+)$/#x$1/i
- or $escape =~ s/^0([0-7]+)$/'#'.oct($1)/ei
- or $escape =~ s/^(\d+)$/#$1/;
- $res = "&$escape;";
-
- } elsif( $func eq 'F' ){
- # F<filename> - italicize
- $res = '<em class="file">' . process_text1( $lev, $rstr ) . '</em>';
-
- } elsif( $func eq 'I' ){
- # I<text> - italicize
- $res = '<em>' . process_text1( $lev, $rstr ) . '</em>';
-
- } elsif( $func eq 'L' ){
- # L<link> - link
- ## L<text|cross-ref> => produce text, use cross-ref for linking
- ## L<cross-ref> => make text from cross-ref
- ## need to extract text
- my $par = go_ahead( $rstr, 'L', $closing );
-
- # some L<>'s that shouldn't be:
- # a) full-blown URL's are emitted as-is
- if( $par =~ m{^\w+://}s ){
- return make_URL_href( $par );
- }
- # b) C<...> is stripped and treated as C<>
- if( $par =~ /^C<(.*)>$/ ){
- my $text = depod( $1 );
- return emit_C( $text, $lev > 1 || ($par =~ /[BI]</) );
- }
-
- # analyze the contents
- $par =~ s/\n/ /g; # undo word-wrapped tags
- my $opar = $par;
- my $linktext;
- if( $par =~ s{^([^|]+)\|}{} ){
- $linktext = $1;
- }
-
- # make sure sections start with a /
- $par =~ s{^"}{/"};
-
- my( $page, $section, $ident );
-
- # check for link patterns
- if( $par =~ m{^([^/]+?)/(?!")(.*?)$} ){ # name/ident
- # we've got a name/ident (no quotes)
- if (length $2) {
- ( $page, $ident ) = ( $1, $2 );
- } else {
- ( $page, $section ) = ( $1, $2 );
- }
- ### print STDERR "--> L<$par> to page $page, ident $ident\n";
-
- } elsif( $par =~ m{^(.*?)/"?(.*?)"?$} ){ # [name]/"section"
- # even though this should be a "section", we go for ident first
- ( $page, $ident ) = ( $1, $2 );
- ### print STDERR "--> L<$par> to page $page, section $section\n";
-
- } elsif( $par =~ /\s/ ){ # this must be a section with missing quotes
- ( $page, $section ) = ( '', $par );
- ### print STDERR "--> L<$par> to void page, section $section\n";
-
- } else {
- ( $page, $section ) = ( $par, '' );
- ### print STDERR "--> L<$par> to page $par, void section\n";
- }
-
- # now, either $section or $ident is defined. the convoluted logic
- # below tries to resolve L<> according to what the user specified.
- # failing this, we try to find the next best thing...
- my( $url, $ltext, $fid );
-
- RESOLVE: {
- if( defined $ident ){
- ## try to resolve $ident as an item
- ( $url, $fid ) = coderef( $page, $ident );
- if( $url ){
- if( ! defined( $linktext ) ){
- $linktext = $ident;
- $linktext .= " in " if $ident && $page;
- $linktext .= "the $page manpage" if $page;
- }
- ### print STDERR "got coderef url=$url\n";
- last RESOLVE;
- }
- ## no luck: go for a section (auto-quoting!)
- $section = $ident;
- }
- ## now go for a section
- my $htmlsection = htmlify( $section );
- $url = page_sect( $page, $htmlsection );
- if( $url ){
- if( ! defined( $linktext ) ){
- $linktext = $section;
- $linktext .= " in " if $section && $page;
- $linktext .= "the $page manpage" if $page;
- }
- ### print STDERR "got page/section url=$url\n";
- last RESOLVE;
- }
- ## no luck: go for an ident
- if( $section ){
- $ident = $section;
- } else {
- $ident = $page;
- $page = undef();
- }
- ( $url, $fid ) = coderef( $page, $ident );
- if( $url ){
- if( ! defined( $linktext ) ){
- $linktext = $ident;
- $linktext .= " in " if $ident && $page;
- $linktext .= "the $page manpage" if $page;
- }
- ### print STDERR "got section=>coderef url=$url\n";
- last RESOLVE;
- }
-
- # warning; show some text.
- $linktext = $opar unless defined $linktext;
- warn "$0: $Podfile: cannot resolve L<$opar> in paragraph $Paragraph.\n" unless $Quiet;
- }
-
- # now we have a URL or just plain code
- $$rstr = $linktext . '>' . $$rstr;
- if( defined( $url ) ){
- $res = "<a href=\"$url\">" . process_text1( $lev, $rstr ) . '</a>';
- } else {
- $res = '<em>' . process_text1( $lev, $rstr ) . '</em>';
- }
-
- } elsif( $func eq 'S' ){
- # S<text> - non-breaking spaces
- $res = process_text1( $lev, $rstr );
- $res =~ s/ /&nbsp;/g;
-
- } elsif( $func eq 'X' ){
- # X<> - ignore
- warn "$0: $Podfile: invalid X<> in paragraph $Paragraph.\n"
- unless $$rstr =~ s/^[^>]*>// or $Quiet;
- } elsif( $func eq 'Z' ){
- # Z<> - empty
- warn "$0: $Podfile: invalid Z<> in paragraph $Paragraph.\n"
- unless $$rstr =~ s/^>// or $Quiet;
-
- } else {
- my $term = pattern $closing;
- while( $$rstr =~ s/\A(.*?)(([BCEFILSXZ])<(<+[^\S\n]+)?|$term)//s ){
- # all others: either recurse into new function or
- # terminate at closing angle bracket(s)
- my $pt = $1;
- $pt .= $2 if !$3 && $lev == 1;
- $res .= $lev == 1 ? pure_text( $pt ) : inIS_text( $pt );
- return $res if !$3 && $lev > 1;
- if( $3 ){
- $res .= process_text1( $lev, $rstr, $3, closing $4 );
- }
- }
- if( $lev == 1 ){
- $res .= pure_text( $$rstr );
- } elsif( ! $Quiet ) {
- my $snippet = substr($$rstr,0,60);
- warn "$0: $Podfile: undelimited $func<> in paragraph $Paragraph: '$snippet'.\n"
-
- }
- $res = process_text_rfc_links($res);
- }
- return $res;
-}
-
-#
-# go_ahead: extract text of an IS (can be nested)
-#
-sub go_ahead($$$){
- my( $rstr, $func, $closing ) = @_;
- my $res = '';
- my @closing = ($closing);
- while( $$rstr =~
- s/\A(.*?)(([BCEFILSXZ])<(<+\s+)?|@{[pattern $closing[0]]})//s ){
- $res .= $1;
- unless( $3 ){
- shift @closing;
- return $res unless @closing;
- } else {
- unshift @closing, closing $4;
- }
- $res .= $2;
- }
- unless ($Quiet) {
- my $snippet = substr($$rstr,0,60);
- warn "$0: $Podfile: undelimited $func<> in paragraph $Paragraph (go_ahead): '$snippet'.\n"
- }
- return $res;
-}
-
-#
-# emit_C - output result of C<text>
-# $text is the depod-ed text
-#
-sub emit_C($;$$){
- my( $text, $nocode, $args ) = @_;
- $args = '' unless defined $args;
- my $res;
- my( $url, $fid ) = coderef( undef(), $text );
-
- # need HTML-safe text
- my $linktext = html_escape( "$text$args" );
-
- if( defined( $url ) &&
- (!defined( $EmittedItem ) || $EmittedItem ne $fid ) ){
- $res = "<a href=\"$url\"><code>$linktext</code></a>";
- } elsif( 0 && $nocode ){
- $res = $linktext;
- } else {
- $res = "<code>$linktext</code>";
- }
- return $res;
-}
#
# html_escape: make text safe for HTML
@@ -1820,240 +624,6 @@ sub html_escape {
return $rest;
}
-
-#
-# dosify - convert filenames to 8.3
-#
-sub dosify {
- my($str) = @_;
- return lc($str) if $^O eq 'VMS'; # VMS just needs casing
- if ($Is83) {
- $str = lc $str;
- $str =~ s/(\.\w+)/substr ($1,0,4)/ge;
- $str =~ s/(\w+)/substr ($1,0,8)/ge;
- }
- return $str;
-}
-
-#
-# page_sect - make a URL from the text of a L<>
-#
-sub page_sect($$) {
- my( $page, $section ) = @_;
- my( $linktext, $page83, $link); # work strings
-
- # check if we know that this is a section in this page
- if (!defined $Pages{$page} && defined $Sections{$page}) {
- $section = $page;
- $page = "";
- ### print STDERR "reset page='', section=$section\n";
- }
-
- $page83=dosify($page);
- $page=$page83 if (defined $Pages{$page83});
- if ($page eq "") {
- $link = "#" . anchorify( $section );
- } elsif ( $page =~ /::/ ) {
- $page =~ s,::,/,g;
- # Search page cache for an entry keyed under the html page name,
- # then look to see what directory that page might be in. NOTE:
- # this will only find one page. A better solution might be to produce
- # an intermediate page that is an index to all such pages.
- my $page_name = $page ;
- $page_name =~ s,^.*/,,s ;
- if ( defined( $Pages{ $page_name } ) &&
- $Pages{ $page_name } =~ /([^:]*$page)\.(?:pod|pm):/
- ) {
- $page = $1 ;
- }
- else {
- # NOTE: This branch assumes that all A::B pages are located in
- # $Htmlroot/A/B.html . This is often incorrect, since they are
- # often in $Htmlroot/lib/A/B.html or such like. Perhaps we could
- # analyze the contents of %Pages and figure out where any
- # cousins of A::B are, then assume that. So, if A::B isn't found,
- # but A::C is found in lib/A/C.pm, then A::B is assumed to be in
- # lib/A/B.pm. This is also limited, but it's an improvement.
- # Maybe a hints file so that the links point to the correct places
- # nonetheless?
-
- }
- $link = "$Htmlroot/$page.html";
- $link .= "#" . anchorify( $section ) if ($section);
- } elsif (!defined $Pages{$page}) {
- $link = "";
- } else {
- $section = anchorify( $section ) if $section ne "";
- ### print STDERR "...section=$section\n";
-
- # if there is a directory by the name of the page, then assume that an
- # appropriate section will exist in the subdirectory
-# if ($section ne "" && $Pages{$page} =~ /([^:]*[^(\.pod|\.pm)]):/) {
- if ($section ne "" && $Pages{$page} =~ /([^:]*(?<!\.pod)(?<!\.pm)):/) {
- $link = "$Htmlroot/$1/$section.html";
- ### print STDERR "...link=$link\n";
-
- # since there is no directory by the name of the page, the section will
- # have to exist within a .html of the same name. thus, make sure there
- # is a .pod or .pm that might become that .html
- } else {
- $section = "#$section" if $section;
- ### print STDERR "...section=$section\n";
-
- # check if there is a .pod with the page name.
- # for L<Foo>, Foo.(pod|pm) is preferred to A/Foo.(pod|pm)
- if ($Pages{$page} =~ /([^:]*)\.(?:pod|pm):/) {
- $link = "$Htmlroot/$1.html$section";
- } else {
- $link = "";
- }
- }
- }
-
- if ($link) {
- # Here, we take advantage of the knowledge that $Htmlfileurl ne ''
- # implies $Htmlroot eq ''. This means that the link in question
- # needs a prefix of $Htmldir if it begins with '/'. The test for
- # the initial '/' is done to avoid '#'-only links, and to allow
- # for other kinds of links, like file:, ftp:, etc.
- my $url ;
- if ( $Htmlfileurl ne '' ) {
- $link = "$Htmldir$link" if $link =~ m{^/}s;
- $url = relativize_url( $link, $Htmlfileurl );
-# print( " b: [$link,$Htmlfileurl,$url]\n" );
- }
- else {
- $url = $link ;
- }
- return $url;
-
- } else {
- return undef();
- }
-}
-
-#
-# relativize_url - convert an absolute URL to one relative to a base URL.
-# Assumes both end in a filename.
-#
-sub relativize_url {
- my ($dest,$source) = @_ ;
-
- my ($dest_volume,$dest_directory,$dest_file) =
- File::Spec::Unix->splitpath( $dest ) ;
- $dest = File::Spec::Unix->catpath( $dest_volume, $dest_directory, '' ) ;
-
- my ($source_volume,$source_directory,$source_file) =
- File::Spec::Unix->splitpath( $source ) ;
- $source = File::Spec::Unix->catpath( $source_volume, $source_directory, '' ) ;
-
- my $rel_path = '' ;
- if ( $dest ne '' ) {
- $rel_path = File::Spec::Unix->abs2rel( $dest, $source ) ;
- }
-
- if ( $rel_path ne '' &&
- substr( $rel_path, -1 ) ne '/' &&
- substr( $dest_file, 0, 1 ) ne '#'
- ) {
- $rel_path .= "/$dest_file" ;
- }
- else {
- $rel_path .= "$dest_file" ;
- }
-
- return $rel_path ;
-}
-
-
-#
-# coderef - make URL from the text of a C<>
-#
-sub coderef($$){
- my( $page, $item ) = @_;
- my( $url );
-
- my $fid = fragment_id( $item );
-
- if( defined( $page ) && $page ne "" ){
- # we have been given a $page...
- $page =~ s{::}{/}g;
-
- Carp::confess("Undefined fragment '$item' from fragment_id() in coderef() in $Podfile")
- if !defined $fid;
- # Do we take it? Item could be a section!
- my $base = $Items{$fid} || "";
- $base =~ s{[^/]*/}{};
- if( $base ne "$page.html" ){
- ### print STDERR "coderef( $page, $item ): items{$fid} = $Items{$fid} = $base => discard page!\n";
- $page = undef();
- }
-
- } else {
- # no page - local items precede cached items
- if( defined( $fid ) ){
- if( exists $Local_Items{$fid} ){
- $page = $Local_Items{$fid};
- } else {
- $page = $Items{$fid};
- }
- }
- }
-
- # if there was a pod file that we found earlier with an appropriate
- # =item directive, then create a link to that page.
- if( defined $page ){
- if( $page ){
- if( exists $Pages{$page} and $Pages{$page} =~ /([^:.]*)\.[^:]*:/){
- $page = $1 . '.html';
- }
- my $link = "$Htmlroot/$page#" . anchorify($fid);
-
- # Here, we take advantage of the knowledge that $Htmlfileurl
- # ne '' implies $Htmlroot eq ''.
- if ( $Htmlfileurl ne '' ) {
- $link = "$Htmldir$link" ;
- $url = relativize_url( $link, $Htmlfileurl ) ;
- } else {
- $url = $link ;
- }
- } else {
- $url = "#" . anchorify($fid);
- }
-
- confess "url has space: $url" if $url =~ /"[^"]*\s[^"]*"/;
- }
- return( $url, $fid );
-}
-
-
-
-#
-# Adapted from Nick Ing-Simmons' PodToHtml package.
-sub relative_url {
- my $source_file = shift ;
- my $destination_file = shift;
-
- my $source = URI::file->new_abs($source_file);
- my $uo = URI::file->new($destination_file,$source)->abs;
- return $uo->rel->as_string;
-}
-
-
-#
-# finish_list - finish off any pending HTML lists. this should be called
-# after the entire pod file has been read and converted.
-#
-sub finish_list {
- my $fh = shift;
- if( $Listlevel ){
- warn "$0: $Podfile: unterminated list(s) at =head in paragraph $Paragraph. ignoring.\n" unless $Quiet;
- while( $Listlevel ){
- process_back( $fh );
- }
- }
-}
-
#
# htmlify - converts a pod section specification to a suitable section
# specification for HTML. Note that we keep spaces and special characters
@@ -2082,166 +652,156 @@ sub anchorify {
}
#
-# depod - convert text by eliminating all interior sequences
-# Note: can be called with copy or modify semantics
+# store POD files in %Pages
#
-my %E2c;
-$E2c{lt} = '<';
-$E2c{gt} = '>';
-$E2c{sol} = '/';
-$E2c{verbar} = '|';
-$E2c{amp} = '&'; # in Tk's pods
-
-sub depod1($;$$);
-
-sub depod($){
- my $string;
- if( ref( $_[0] ) ){
- $string = ${$_[0]};
- ${$_[0]} = depod1( \$string );
- } else {
- $string = $_[0];
- depod1( \$string );
- }
-}
+sub _save_page {
+ my ($modspec, $modname) = @_;
-sub depod1($;$$){
- my( $rstr, $func, $closing ) = @_;
- my $res = '';
- return $res unless defined $$rstr;
- if( ! defined( $func ) ){
- # skip to next begin of an interior sequence
- while( $$rstr =~ s/\A(.*?)([BCEFILSXZ])<(<+[^\S\n]+)?//s ){
- # recurse into its text
- $res .= $1 . depod1( $rstr, $2, closing $3);
- }
- $res .= $$rstr;
- } elsif( $func eq 'E' ){
- # E<x> - convert to character
- $$rstr =~ s/^([^>]*)>//;
- $res .= $E2c{$1} || "";
- } elsif( $func eq 'X' ){
- # X<> - ignore
- $$rstr =~ s/^[^>]*>//;
- } elsif( $func eq 'Z' ){
- # Z<> - empty
- $$rstr =~ s/^>//;
- } else {
- # all others: either recurse into new function or
- # terminate at closing angle bracket
- my $term = pattern $closing;
- while( $$rstr =~ s/\A(.*?)(([BCEFILSXZ])<(<+[^\S\n]+)?|$term)//s ){
- $res .= $1;
- last unless $3;
- $res .= depod1( $rstr, $3, closing $4 );
- }
- ## If we're here and $2 ne '>': undelimited interior sequence.
- ## Ignored, as this is called without proper indication of where we are.
- ## Rely on process_text to produce diagnostics.
- }
- return $res;
+ # Remove Podroot from path
+ $modspec = $Podroot eq File::Spec->curdir
+ ? File::Spec->abs2rel($modspec)
+ : File::Spec->abs2rel($modspec,
+ File::Spec->canonpath($Podroot));
+
+ # Convert path to unix style path
+ $modspec = Pod::Html::_unixify($modspec);
+
+ my ($file, $dir) = fileparse($modspec, qr/\.[^.]*/); # strip .ext
+ $Pages{$modname} = $dir.$file;
}
-{
- my %seen; # static fragment record hash
+sub _unixify {
+ my $full_path = shift;
+ return '' unless $full_path;
+ return $full_path if $full_path eq '/';
-sub fragment_id_readable {
- my $text = shift;
- my $generate = shift; # optional flag
+ my ($vol, $dirs, $file) = File::Spec->splitpath($full_path);
+ my @dirs = $dirs eq File::Spec->curdir()
+ ? (File::Spec::Unix->curdir())
+ : File::Spec->splitdir($dirs);
+ if (defined($vol) && $vol) {
+ $vol =~ s/:$// if $^O eq 'VMS';
+ $vol = uc $vol if $^O eq 'MSWin32';
- my $orig = $text;
+ if( $dirs[0] ) {
+ unshift @dirs, $vol;
+ }
+ else {
+ $dirs[0] = $vol;
+ }
+ }
+ unshift @dirs, '' if File::Spec->file_name_is_absolute($full_path);
+ return $file unless scalar(@dirs);
+ $full_path = File::Spec::Unix->catfile(File::Spec::Unix->catdir(@dirs),
+ $file);
+ $full_path =~ s|^\/|| if $^O eq 'MSWin32'; # C:/foo works, /C:/foo doesn't
+ return $full_path;
+}
- # leave the words for the fragment identifier,
- # change everything else to underbars.
- $text =~ s/[^A-Za-z0-9_]+/_/g; # do not use \W to avoid locale dependency.
- $text =~ s/_{2,}/_/g;
- $text =~ s/\A_//;
- $text =~ s/_\Z//;
+package Pod::Simple::XHTML::LocalPodLinks;
+use strict;
+use warnings;
+use base 'Pod::Simple::XHTML';
- unless ($text)
- {
- # Nothing left after removing punctuation, so leave it as is
- # E.g. if option is named: "=item -#"
+use File::Spec;
+use File::Spec::Unix;
- $text = $orig;
- }
+__PACKAGE__->_accessorize(
+ 'htmldir',
+ 'htmlfileurl',
+ 'htmlroot',
+ 'pages', # Page name => relative/path/to/page from root POD dir
+ 'quiet',
+ 'verbose',
+);
+
+sub resolve_pod_page_link {
+ my ($self, $to, $section) = @_;
+
+ return undef unless defined $to || defined $section;
+ if (defined $section) {
+ $section = '#' . $self->idify($section, 1);
+ return $section unless defined $to;
+ } else {
+ $section = '';
+ }
+
+ my $path; # path to $to according to %Pages
+ unless (exists $self->pages->{$to}) {
+ # Try to find a POD that ends with $to and use that.
+ # e.g., given L<XHTML>, if there is no $Podpath/XHTML in %Pages,
+ # look for $Podpath/*/XHTML in %Pages, with * being any path,
+ # as a substitute (e.g., $Podpath/Pod/Simple/XHTML)
+ my @matches;
+ foreach my $modname (keys %{$self->pages}) {
+ push @matches, $modname if $modname =~ /::\Q$to\E\z/;
+ }
- if ($generate) {
- if ( exists $seen{$text} ) {
- # This already exists, make it unique
- $seen{$text}++;
- $text = $text . $seen{$text};
+ if ($#matches == -1) {
+ warn "Cannot find \"$to\" in podpath: " .
+ "cannot find suitable replacement path, cannot resolve link\n"
+ unless $self->quiet;
+ return '';
+ } elsif ($#matches == 0) {
+ warn "Cannot find \"$to\" in podpath: " .
+ "using $matches[0] as replacement path to $to\n"
+ unless $self->quiet;
+ $path = $self->pages->{$matches[0]};
} else {
- $seen{$text} = 1; # first time seen this fragment
+ warn "Cannot find \"$to\" in podpath: " .
+ "more than one possible replacement path to $to, " .
+ "using $matches[-1]\n" unless $self->quiet;
+ # Use [-1] so newer (higher numbered) perl PODs are used
+ $path = $self->pages->{$matches[-1]};
}
+ } else {
+ $path = $self->pages->{$to};
}
- $text;
-}}
-
-my @HC;
-sub fragment_id_obfuscated { # This was the old "_2d_2d__"
- my $text = shift;
- my $generate = shift; # optional flag
+ my $url = File::Spec::Unix->catfile(Pod::Html::_unixify($self->htmlroot),
+ $path);
- # text? Normalize by obfuscating the fragment id to make it unique
- $text =~ s/\s+/_/sg;
-
- $text =~ s{(\W)}{
- defined( $HC[ord($1)] ) ? $HC[ord($1)]
- : ( $HC[ord($1)] = sprintf( "%%%02X", ord($1) ) ) }gxe;
- $text = substr( $text, 0, 50 );
+ if ($self->htmlfileurl ne '') {
+ # then $self->htmlroot eq '' (by definition of htmlfileurl) so
+ # $self->htmldir needs to be prepended to link to get the absolute path
+ # that will be relativized
+ $url = relativize_url(
+ File::Spec::Unix->catdir(Pod::Html::_unixify($self->htmldir), $url),
+ $self->htmlfileurl # already unixified
+ );
+ }
- $text;
+ return $url . ".html$section";
}
#
-# fragment_id - construct a fragment identifier from:
-# a) =item text
-# b) contents of C<...>
+# relativize_url - convert an absolute URL to one relative to a base URL.
+# Assumes both end in a filename.
#
+sub relativize_url {
+ my ($dest, $source) = @_;
-sub fragment_id {
- my $text = shift;
- my $generate = shift; # optional flag
-
- $text =~ s/\s+\Z//s;
- if( $text ){
- # a method or function?
- return $1 if $text =~ /(\w+)\s*\(/;
- return $1 if $text =~ /->\s*(\w+)\s*\(?/;
-
- # a variable name?
- return $1 if $text =~ /^([\$\@%*]\S+)/;
-
- # some pattern matching operator?
- return $1 if $text =~ m|^(\w+/).*/\w*$|;
+ # Remove each file from its path
+ my ($dest_volume, $dest_directory, $dest_file) =
+ File::Spec::Unix->splitpath( $dest );
+ $dest = File::Spec::Unix->catpath( $dest_volume, $dest_directory, '' );
- # fancy stuff... like "do { }"
- return $1 if $text =~ m|^(\w+)\s*{.*}$|;
+ my ($source_volume, $source_directory, $source_file) =
+ File::Spec::Unix->splitpath( $source );
+ $source = File::Spec::Unix->catpath( $source_volume, $source_directory, '' );
- # honour the perlfunc manpage: func [PAR[,[ ]PAR]...]
- # and some funnies with ... Module ...
- return $1 if $text =~ m{^([a-z\d_]+)(\s+[A-Z,/& ][A-Z\d,/& ]*)?$};
- return $1 if $text =~ m{^([a-z\d]+)\s+Module(\s+[A-Z\d,/& ]+)?$};
+ my $rel_path = '';
+ if ($dest ne '') {
+ $rel_path = File::Spec::Unix->abs2rel( $dest, $source );
+ }
- return fragment_id_readable($text, $generate);
+ if ($rel_path ne '' && substr( $rel_path, -1 ) ne '/') {
+ $rel_path .= "/$dest_file";
} else {
- return;
+ $rel_path .= "$dest_file";
}
-}
-#
-# make_URL_href - generate HTML href from URL
-# Special treatment for CGI queries.
-#
-sub make_URL_href($){
- my( $url ) = @_;
- if( $url !~
- s{^(http:[-\w/#~:.+=&%@!]+)(\?.*)$}{<a href="$1$2">$1</a>}i ){
- $url = "<a href=\"$url\">$url</a>";
- }
- return $url;
+ return $rel_path;
}
1;
diff --git a/Master/tlpkg/tlperl/lib/Pod/InputObjects.pm b/Master/tlpkg/tlperl/lib/Pod/InputObjects.pm
index 13a86188bcb..2ed71fa2551 100644
--- a/Master/tlpkg/tlperl/lib/Pod/InputObjects.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/InputObjects.pm
@@ -12,7 +12,7 @@ package Pod::InputObjects;
use strict;
use vars qw($VERSION);
-$VERSION = '1.31'; ## Current version of this package
+$VERSION = '1.51'; ## Current version of this package
require 5.005; ## requires this Perl version or later
#############################################################################
@@ -39,10 +39,10 @@ This module defines some basic input objects used by B<Pod::Parser> when
reading and parsing POD text from an input source. The following objects
are defined:
-=over 4
-
=begin __PRIVATE__
+=over 4
+
=item package B<Pod::InputSource>
An object corresponding to a source of POD input text. It is mostly a
@@ -50,8 +50,12 @@ wrapper around a filehandle or C<IO::Handle>-type object (or anything
that implements the C<getline()> method) which keeps track of some
additional information relevant to the parsing of PODs.
+=back
+
=end __PRIVATE__
+=over 4
+
=item package B<Pod::Paragraph>
An object corresponding to a paragraph of POD input text. It may be a
@@ -923,6 +927,8 @@ sub DESTROY {
=head1 SEE ALSO
+B<Pod::InputObjects> is part of the L<Pod::Parser> distribution.
+
See L<Pod::Parser>, L<Pod::Select>
=head1 AUTHOR
diff --git a/Master/tlpkg/tlperl/lib/Pod/LaTeX.pm b/Master/tlpkg/tlperl/lib/Pod/LaTeX.pm
index 6404b27f578..f4b1aaf97b9 100644
--- a/Master/tlpkg/tlperl/lib/Pod/LaTeX.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/LaTeX.pm
@@ -33,7 +33,7 @@ use Carp;
use vars qw/ $VERSION %HTML_Escapes @LatexSections /;
-$VERSION = '0.59';
+$VERSION = '0.60';
# Definitions of =headN -> latex mapping
@LatexSections = (qw/
@@ -263,7 +263,7 @@ $VERSION = '0.59';
'prod' => q|$\prod$|, # n-ary product = product sign
# prod is NOT the same character as 'greek capital letter pi' though the
# same glyph might be used for both
- 'sum' => q|$\sum$|, # n-ary sumation
+ 'sum' => q|$\sum$|, # n-ary summation
# sum is NOT the same character as 'greek capital letter sigma' though
# the same glyph might be used for both
'minus' => q|$-$|, # minus sign
@@ -414,7 +414,7 @@ sub initialize {
$self->{StartWithNewPage} = 0 # Start new page for pod section
unless exists $self->{StartWithNewPage};
$self->{TableOfContents} = 0 # Add table of contents
- unless exists $self->{TableOfContents}; # only relevent if AddPreamble=1
+ unless exists $self->{TableOfContents}; # only relevant if AddPreamble=1
$self->{AddPostamble} = 1 # Add closing latex code at end
unless exists $self->{AddPostamble}; # effectively end{document} and index
$self->{MakeIndex} = 1 # Add index (only relevant AddPostamble
@@ -446,7 +446,7 @@ sub initialize {
$self->{Label} = undef # label to be used as prefix
unless exists $self->{Label}; # to all internal section names
- # These allow the caller to add arbritrary latex code to
+ # These allow the caller to add arbitrary latex code to
# start and end of document. AddPreamble and AddPostamble are ignored
# if these are set.
# Also MakeIndex and TableOfContents are also ignored.
@@ -1057,7 +1057,7 @@ sub command {
} else {
# Suppress all subsequent paragraphs unless
- # it is explcitly intended for latex
+ # it is explicitly intended for latex
$self->{_suppress_all_para} = 1;
}
@@ -1382,7 +1382,7 @@ sub end_list {
# What to write depends on list type
my $type = $self->lists->[-1]->type;
- # Dont write anything if the list type is not set
+ # Don't write anything if the list type is not set
# iomplying that a list was created but no entries were
# placed in it (eg because of a =begin/=end combination)
$self->_output("\\end{$type}\n")
@@ -1418,7 +1418,7 @@ sub add_item {
return;
}
- # If paragraphs printing is turned off via =begin/=end or whatver
+ # If paragraphs printing is turned off via =begin/=end or whatever
# simply return immediately
return if $self->{_suppress_all_para};
@@ -1621,6 +1621,10 @@ sub _replace_special_chars {
# Now add the dollars around each \backslash
$paragraph =~ s/(\\backslash)/\$$1\$/g;
+
+ # Convert ------ to -{}-{}-{}-{}-{}-
+ $paragraph =~ s/-(?=-)/-{}/g;
+
return $paragraph;
}
diff --git a/Master/tlpkg/tlperl/lib/Pod/ParseUtils.pm b/Master/tlpkg/tlperl/lib/Pod/ParseUtils.pm
index f3c7ef46779..3c74d786801 100644
--- a/Master/tlpkg/tlperl/lib/Pod/ParseUtils.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/ParseUtils.pm
@@ -11,7 +11,7 @@ package Pod::ParseUtils;
use strict;
use vars qw($VERSION);
-$VERSION = '1.36'; ## Current version of this package
+$VERSION = '1.51'; ## Current version of this package
require 5.005; ## requires this Perl version or later
=head1 NAME
@@ -845,6 +845,8 @@ Marek Rouchal E<lt>marekr@cpan.orgE<gt>, borrowing
a lot of things from L<pod2man> and L<pod2roff> as well as other POD
processing tools by Tom Christiansen, Brad Appleton and Russ Allbery.
+B<Pod::ParseUtils> is part of the L<Pod::Parser> distribution.
+
=head1 SEE ALSO
L<pod2man>, L<pod2roff>, L<Pod::Parser>, L<Pod::Checker>,
diff --git a/Master/tlpkg/tlperl/lib/Pod/Parser.pm b/Master/tlpkg/tlperl/lib/Pod/Parser.pm
index c807f3fbade..9a6acd62f18 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Parser.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Parser.pm
@@ -12,7 +12,7 @@ use strict;
## These "variables" are used as local "glob aliases" for performance
use vars qw($VERSION @ISA %myData %myOpts @input_stack);
-$VERSION = '1.37'; ## Current version of this package
+$VERSION = '1.51'; ## Current version of this package
require 5.005; ## requires this Perl version or later
#############################################################################
@@ -778,11 +778,11 @@ sub parse_text {
## Iterate over all sequence starts text (NOTE: split with
## capturing parens keeps the delimiters)
$_ = $text;
- my @tokens = split /([A-Z]<(?:<+\s)?)/;
+ my @tokens = split /([A-Z]<(?:<+(?:\r?\n|[ \t]))?)/;
while ( @tokens ) {
$_ = shift @tokens;
## Look for the beginning of a sequence
- if ( /^([A-Z])(<(?:<+\s)?)$/ ) {
+ if ( /^([A-Z])(<(?:<+(?:\r?\n|[ \t]))?)$/ ) {
## Push a new sequence onto the stack of those "in-progress"
my $ldelim_orig;
($cmd, $ldelim_orig) = ($1, $2);
@@ -840,7 +840,7 @@ sub parse_text {
$seq->append($expand_text ? &$xtext_sub($self,$_,$seq) : $_);
}
## Keep track of line count
- $line += s/\r*\n//;
+ $line += /\n/;
## Remember the "current" sequence
$seq = $seq_stack[-1];
}
@@ -963,6 +963,8 @@ sub parse_paragraph {
$pfx = $1;
$_ = substr($text, length $pfx);
($cmd, $sep, $text) = split /(\s+)/, $_, 2;
+ $sep = '' unless defined $sep;
+ $text = '' unless defined $text;
## If this is a "cut" directive then we dont need to do anything
## except return to "cutting" mode.
if ($cmd eq 'cut') {
@@ -1016,7 +1018,8 @@ sub parse_paragraph {
}
# Update the whitespace for the next time around
- $myData{_WHITESPACE} = $text =~ /^[^\S\r\n]+\Z/m ? 1 : 0;
+ #$myData{_WHITESPACE} = $text =~ /^[^\S\r\n]+\Z/m ? 1 : 0;
+ $myData{_WHITESPACE} = $text =~ /^[^\S\r\n]+\r*\Z/m ? 1 : 0;
return 1;
}
@@ -1096,7 +1099,7 @@ sub parse_from_filehandle {
## See if this line is blank and ends the current paragraph.
## If it isnt, then keep iterating until it is.
- next unless (($textline =~ /^([^\S\r\n]*)[\r\n]*$/)
+ next unless (($textline =~ /^[^\S\r\n]*[\r\n]*$/)
&& (length $paragraph));
## Now process the paragraph
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc.pm
index 083a6e907e1..a0dd24addc2 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc.pm
@@ -1,18 +1,19 @@
+use 5.006; # we use some open(X, "<", $y) syntax
-require 5;
-use 5.006; # we use some open(X, "<", $y) syntax
package Pod::Perldoc;
use strict;
use warnings;
use Config '%Config';
use Fcntl; # for sysopen
+use File::Basename qw(basename);
use File::Spec::Functions qw(catfile catdir splitdir);
use vars qw($VERSION @Pagers $Bindir $Pod2man
$Temp_Files_Created $Temp_File_Lifetime
);
-$VERSION = '3.15_04';
+$VERSION = '3.17';
+
#..........................................................................
BEGIN { # Make a DEBUG constant very first thing...
@@ -27,6 +28,32 @@ BEGIN { # Make a DEBUG constant very first thing...
}
use Pod::Perldoc::GetOptsOO; # uses the DEBUG.
+use Carp qw(croak carp);
+
+# these are also in BaseTo, which I don't want to inherit
+sub debugging {
+ my $self = shift;
+
+ ( defined(&Pod::Perldoc::DEBUG) and &Pod::Perldoc::DEBUG() )
+ }
+
+sub debug {
+ my( $self, @messages ) = @_;
+ return unless $self->debugging;
+ print STDERR map { "DEBUG : $_" } @messages;
+ }
+
+sub warn {
+ my( $self, @messages ) = @_;
+
+ carp( join "\n", @messages, '' );
+ }
+
+sub die {
+ my( $self, @messages ) = @_;
+
+ croak( join "\n", @messages, '' );
+ }
#..........................................................................
@@ -35,13 +62,13 @@ sub FALSE () {return}
sub BE_LENIENT () {1}
BEGIN {
- *IS_VMS = $^O eq 'VMS' ? \&TRUE : \&FALSE unless defined &IS_VMS;
- *IS_MSWin32 = $^O eq 'MSWin32' ? \&TRUE : \&FALSE unless defined &IS_MSWin32;
- *IS_Dos = $^O eq 'dos' ? \&TRUE : \&FALSE unless defined &IS_Dos;
- *IS_OS2 = $^O eq 'os2' ? \&TRUE : \&FALSE unless defined &IS_OS2;
- *IS_Cygwin = $^O eq 'cygwin' ? \&TRUE : \&FALSE unless defined &IS_Cygwin;
- *IS_Linux = $^O eq 'linux' ? \&TRUE : \&FALSE unless defined &IS_Linux;
- *IS_HPUX = $^O =~ m/hpux/ ? \&TRUE : \&FALSE unless defined &IS_HPUX;
+ *is_vms = $^O eq 'VMS' ? \&TRUE : \&FALSE unless defined &is_vms;
+ *is_mswin32 = $^O eq 'MSWin32' ? \&TRUE : \&FALSE unless defined &is_mswin32;
+ *is_dos = $^O eq 'dos' ? \&TRUE : \&FALSE unless defined &is_dos;
+ *is_os2 = $^O eq 'os2' ? \&TRUE : \&FALSE unless defined &is_os2;
+ *is_cygwin = $^O eq 'cygwin' ? \&TRUE : \&FALSE unless defined &is_cygwin;
+ *is_linux = $^O eq 'linux' ? \&TRUE : \&FALSE unless defined &is_linux;
+ *is_hpux = $^O =~ m/hpux/ ? \&TRUE : \&FALSE unless defined &is_hpux;
}
$Temp_File_Lifetime ||= 60 * 60 * 24 * 5;
@@ -52,7 +79,7 @@ $Temp_File_Lifetime ||= 60 * 60 * 24 * 5;
#..........................................................................
{ my $pager = $Config{'pager'};
- push @Pagers, $pager if -x (split /\s+/, $pager)[0] or IS_VMS;
+ push @Pagers, $pager if -x (split /\s+/, $pager)[0] or __PACKAGE__->is_vms;
}
$Bindir = $Config{'scriptdirexp'};
$Pod2man = "pod2man" . ( $Config{'versiononly'} ? $Config{'version'} : '' );
@@ -83,7 +110,7 @@ sub opt_w_with { # Specify an option for the formatter subclass
$option =~ tr/\-/_/s; # tolerate "foo-bar" for "foo_bar"
$self->add_formatter_option( $option, $option_value );
} else {
- warn "\"$value\" isn't a good formatter option name. I'm ignoring it!\n";
+ $self->warn( qq("$value" isn't a good formatter option name. I'm ignoring it!\n ) );
}
return;
}
@@ -99,17 +126,17 @@ sub opt_M_with { # specify formatter class name(s)
# A mildly restrictive concept of what modulenames are valid.
push @classes_to_add, $1; # untaint
} else {
- warn "\"$classname\" isn't a valid classname. Ignoring.\n";
+ $self->warn( qq("$classname" isn't a valid classname. Ignoring.\n) );
}
}
-
+
unshift @{ $self->{'formatter_classes'} }, @classes_to_add;
-
+
DEBUG > 3 and print(
"Adding @classes_to_add to the list of formatter classes, "
. "making them @{ $self->{'formatter_classes'} }.\n"
);
-
+
return;
}
@@ -119,9 +146,9 @@ sub opt_V { # report version and exit
(defined(&Win32::BuildNumber) and defined &Win32::BuildNumber())
? (" (win32 build ", &Win32::BuildNumber(), ")") : (),
-
+
(chr(65) eq 'A') ? () : " (non-ASCII)",
-
+
"\n",
;
exit;
@@ -152,14 +179,14 @@ sub opt_o_with { # "o" for output format
if($rest =~ m/^(\w+)$/s) {
$rest = $1; #untaint
} else {
- warn "\"$rest\" isn't a valid output format. Skipping.\n";
+ $self->warn( qq("$rest" isn't a valid output format. Skipping.\n") );
return;
}
-
+
$self->aside("Noting \"$rest\" as desired output format...\n");
-
+
# Figure out what class(es) that could actually mean...
-
+
my @classes;
foreach my $prefix ("Pod::Perldoc::To", "Pod::Simple::", "Pod::") {
# Messy but smart:
@@ -168,10 +195,10 @@ sub opt_o_with { # "o" for output format
"\L$rest", "\L\u$rest", "\U$rest" # And then try variations
) {
+ $self->aside("Considering $prefix$stem\n");
push @classes, $prefix . $stem;
- #print "Considering $prefix$stem\n";
}
-
+
# Tidier, but misses too much:
#push @classes, $prefix . ucfirst(lc($rest));
}
@@ -233,27 +260,27 @@ sub aside { # If we're in -D or DEBUG mode, say this.
sub usage {
my $self = shift;
- warn "@_\n" if @_;
-
+ $self->warn( "@_\n" ) if @_;
+
# Erase evidence of previous errors (if any), so exit status is simple.
$! = 0;
-
- die <<EOF;
-perldoc [options] PageName|ModuleName|ProgramName...
+
+ CORE::die( <<EOF );
+perldoc [options] PageName|ModuleName|ProgramName|URL...
perldoc [options] -f BuiltinFunction
perldoc [options] -q FAQRegex
perldoc [options] -v PerlVariable
Options:
-h Display this help message
- -V report version
+ -V Report version
-r Recursive search (slow)
-i Ignore case
- -t Display pod using pod2text instead of pod2man and nroff
+ -t Display pod using pod2text instead of Pod::Man and groff
(-t is the default on win32 unless -n is specified)
-u Display unformatted pod text
-m Display module's file in its entirety
- -n Specify replacement for nroff
+ -n Specify replacement for groff
-l Display the module's file name
-F Arguments are file names, not modules
-D Verbosely describe what's going on
@@ -263,20 +290,21 @@ Options:
-M FormatterModuleNameToUse
-w formatter_option:option_value
-L translation_code Choose doc translation (if any)
- -X use index if present (looks for pod.idx at $Config{archlib})
+ -X Use index if present (looks for pod.idx at $Config{archlib})
-q Search the text of questions (not answers) in perlfaq[1-9]
-f Search Perl built-in functions
-v Search predefined Perl variables
-PageName|ModuleName...
+PageName|ModuleName|ProgramName|URL...
is the name of a piece of documentation that you want to look at. You
may either give a descriptive name of the page (as in the case of
`perlfunc') the name of a module, either like `Term::Info' or like
- `Term/Info', or the name of a program, like `perldoc'.
+ `Term/Info', or the name of a program, like `perldoc', or a URL
+ starting with http(s).
BuiltinFunction
is the name of a perl function. Will extract documentation from
- `perlfunc'.
+ `perlfunc' or `perlop'.
FAQRegex
is a regex. Will search perlfaq[1-9] for and extract any
@@ -292,18 +320,87 @@ EOF
#..........................................................................
+sub program_name {
+ my( $self ) = @_;
+
+ if( my $link = readlink( $0 ) ) {
+ $self->debug( "The value in $0 is a symbolic link to $link\n" );
+ }
+
+ my $basename = basename( $0 );
+
+ $self->debug( "\$0 is [$0]\nbasename is [$basename]\n" );
+ # possible name forms
+ # perldoc
+ # perldoc-v5.14
+ # perldoc-5.14
+ # perldoc-5.14.2
+ # perlvar # an alias mentioned in Camel 3
+ {
+ my( $untainted ) = $basename =~ m/(
+ \A
+ perl
+ (?: doc | func | faq | help | op | toc | var # Camel 3
+ )
+ (?: -? v? \d+ \. \d+ (?:\. \d+)? )? # possible version
+ (?: \. (?: bat | exe | com ) )? # possible extension
+ \z
+ )
+ /x;
+
+ $self->debug($untainted);
+ return $untainted if $untainted;
+ }
+
+ $self->warn(<<"HERE");
+You called the perldoc command with a name that I didn't recognize.
+This might mean that someone is tricking you into running a
+program you don't intend to use, but it also might mean that you
+created your own link to perldoc. I think your program name is
+[$basename].
+
+I'll allow this if the filename only has [a-zA-Z0-9._-].
+HERE
+
+ {
+ my( $untainted ) = $basename =~ m/(
+ \A [a-zA-Z0-9._-]+ \z
+ )/x;
+
+ $self->debug($untainted);
+ return $untainted if $untainted;
+ }
+
+ $self->die(<<"HERE");
+I think that your name for perldoc is potentially unsafe, so I'm
+going to disallow it. I'd rather you be safe than sorry. If you
+intended to use the name I'm disallowing, please tell the maintainers
+about it. Write to:
+
+ Pod-Perldoc\@rt.cpan.org
+
+HERE
+}
+
+#..........................................................................
+
sub usage_brief {
- my $me = $0; # Editing $0 is unportable
+ my $self = shift;
+ my $program_name = $self->program_name;
+
+ CORE::die( <<"EOUSAGE" );
+Usage: $program_name [-hVriDtumFXlT] [-n nroffer_program]
+ [-d output_filename] [-o output_format] [-M FormatterModule]
+ [-w formatter_option:option_value] [-L translation_code]
+ PageName|ModuleName|ProgramName
+
+Examples:
- $me =~ s,.*[/\\],,; # get basename
-
- die <<"EOUSAGE";
-Usage: $me [-h] [-V] [-r] [-i] [-D] [-t] [-u] [-m] [-n nroffer_program] [-l] [-T] [-d output_filename] [-o output_format] [-M FormatterModuleNameToUse] [-w formatter_option:option_value] [-L translation_code] [-F] [-X] PageName|ModuleName|ProgramName
- $me -f PerlFunc
- $me -q FAQKeywords
- $me -v PerlVar
+ $program_name -f PerlFunc
+ $program_name -q FAQKeywords
+ $program_name -v PerlVar
-The -h option prints more help. Also try "perldoc perldoc" to get
+The -h option prints more help. Also try "$program_name perldoc" to get
acquainted with the system. [Perldoc v$VERSION]
EOUSAGE
@@ -311,7 +408,7 @@ EOUSAGE
#..........................................................................
-sub pagers { @{ shift->{'pagers'} } }
+sub pagers { @{ shift->{'pagers'} } }
#..........................................................................
@@ -335,8 +432,8 @@ sub init {
$self->{'args'} ||= \@ARGV;
$self->{'found'} ||= [];
$self->{'temp_file_list'} ||= [];
-
-
+
+
$self->{'target'} = undef;
$self->init_formatter_class_list;
@@ -373,7 +470,7 @@ sub init_formatter_class_list {
$self->opt_M_with('Pod::Perldoc::ToPod'); # the always-there fallthru
$self->opt_o_with('text');
- $self->opt_o_with('man') unless IS_MSWin32 || IS_Dos
+ $self->opt_o_with('man') unless $self->is_mswin32 || $self->is_dos
|| !($ENV{TERM} && (
($ENV{TERM} || '') !~ /dumb|emacs|none|unknown/i
));
@@ -403,14 +500,14 @@ sub process {
# TODO: make it deal with being invoked as various different things
# such as perlfaq".
-
+
return $self->usage_brief unless @{ $self->{'args'} };
$self->pagers_guessing;
$self->options_reading;
$self->aside(sprintf "$0 => %s v%s\n", ref($self), $self->VERSION);
$self->drop_privs_maybe;
$self->options_processing;
-
+
# Hm, we have @pages and @found, but we only really act on one
# file per call, with the exception of the opt_q hack, and with
# -l things
@@ -419,7 +516,7 @@ sub process {
my @pages;
$self->{'pages'} = \@pages;
- if( $self->opt_f) { @pages = ("perlfunc") }
+ if( $self->opt_f) { @pages = qw(perlfunc perlop) }
elsif( $self->opt_q) { @pages = ("perlfaq1" .. "perlfaq9") }
elsif( $self->opt_v) { @pages = ("perlvar") }
else { @pages = @{$self->{'args'}};
@@ -434,11 +531,11 @@ sub process {
$self->maybe_diddle_INC();
# for when we're apparently in a module or extension directory
-
+
my @found = $self->grand_search_init(\@pages);
- exit (IS_VMS ? 98962 : 1) unless @found;
-
- if ($self->opt_l) {
+ exit ($self->is_vms ? 98962 : 1) unless @found;
+
+ if ($self->opt_l and not $self->opt_q ) {
DEBUG and print "We're in -l mode, so byebye after this:\n";
print join("\n", @found), "\n";
return;
@@ -459,8 +556,8 @@ my( %class_seen, %class_loaded );
sub find_good_formatter_class {
my $self = $_[0];
my @class_list = @{ $self->{'formatter_classes'} || [] };
- die "WHAT? Nothing in the formatter class list!?" unless @class_list;
-
+ $self->die( "WHAT? Nothing in the formatter class list!?" ) unless @class_list;
+
my $good_class_found;
foreach my $c (@class_list) {
DEBUG > 4 and print "Trying to load $c...\n";
@@ -469,22 +566,22 @@ sub find_good_formatter_class {
$good_class_found = $c;
last;
}
-
+
if($class_seen{$c}) {
DEBUG > 4 and print
"I've tried $c before, and it's no good. Skipping.\n";
next;
}
-
+
$class_seen{$c} = 1;
-
+
if( $c->can('parse_from_file') ) {
DEBUG > 4 and print
"Interesting, the formatter class $c is already loaded!\n";
-
+
} elsif(
- (IS_VMS or IS_MSWin32 or IS_Dos or IS_OS2)
- # the alway case-insensitive fs's
+ ( $self->is_os2 or $self->is_mswin32 or $self->is_dos or $self->is_os2)
+ # the always case-insensitive filesystems
and $class_seen{lc("~$c")}++
) {
DEBUG > 4 and print
@@ -508,7 +605,7 @@ sub find_good_formatter_class {
next;
}
}
-
+
if( $c->can('parse_from_file') ) {
DEBUG > 4 and print "Settling on $c\n";
my $v = $c->VERSION;
@@ -520,13 +617,13 @@ sub find_good_formatter_class {
DEBUG > 4 and print "Class $c isn't a formatter?! Skipping.\n";
}
}
-
- die "Can't find any loadable formatter class in @class_list?!\nAborting"
+
+ $self->die( "Can't find any loadable formatter class in @class_list?!\nAborting" )
unless $good_class_found;
-
+
$self->{'formatter_class'} = $good_class_found;
$self->aside("Will format with the class $good_class_found\n");
-
+
return;
}
@@ -536,8 +633,8 @@ sub find_good_formatter_class {
sub formatter_sanity_check {
my $self = shift;
my $formatter_class = $self->{'formatter_class'}
- || die "NO FORMATTER CLASS YET!?";
-
+ || $self->die( "NO FORMATTER CLASS YET!?" );
+
if(!$self->opt_T # so -T can FORCE sending to STDOUT
and $formatter_class->can('is_pageable')
and !$formatter_class->is_pageable
@@ -548,11 +645,12 @@ sub formatter_sanity_check {
&& $formatter_class->output_extension
) || '';
$ext = ".$ext" if length $ext;
-
- die
+
+ my $me = $self->program_name;
+ $self->die(
"When using Perldoc to format with $formatter_class, you have to\n"
. "specify -T or -dsomefile$ext\n"
- . "See `perldoc perldoc' for more information on those switches.\n"
+ . "See `$me perldoc' for more information on those switches.\n" )
;
}
}
@@ -561,18 +659,18 @@ sub formatter_sanity_check {
sub render_and_page {
my($self, $found_list) = @_;
-
+
$self->maybe_generate_dynamic_pod($found_list);
my($out, $formatter) = $self->render_findings($found_list);
-
+
if($self->opt_d) {
printf "Perldoc (%s) output saved to %s\n",
$self->{'formatter_class'} || ref($self),
$out;
print "But notice that it's 0 bytes long!\n" unless -s $out;
-
-
+
+
} elsif( # Allow the formatter to "page" itself, if it wants.
$formatter->can('page_for_perldoc')
and do {
@@ -587,25 +685,25 @@ sub render_and_page {
}
) {
# Do nothing, since the formatter has "paged" it for itself.
-
+
} else {
# Page it normally (internally)
-
+
if( -s $out ) { # Usual case:
$self->page($out, $self->{'output_to_stdout'}, $self->pagers);
-
+
} else {
# Odd case:
$self->aside("Skipping $out (from $$found_list[0] "
. "via $$self{'formatter_class'}) as it is 0-length.\n");
-
+
push @{ $self->{'temp_file_list'} }, $out;
$self->unlink_if_temp_file($out);
}
}
-
+
$self->after_rendering(); # any extra cleanup or whatever
-
+
return;
}
@@ -613,7 +711,7 @@ sub render_and_page {
sub options_reading {
my $self = shift;
-
+
if( defined $ENV{"PERLDOC"} and length $ENV{"PERLDOC"} ) {
require Text::ParseWords;
$self->aside("Noting env PERLDOC setting of $ENV{'PERLDOC'}\n");
@@ -636,7 +734,7 @@ sub options_reading {
and print " Args after switch processing: @{$self->{'args'}}\n";
return $self->usage if $self->opt_h;
-
+
return;
}
@@ -644,7 +742,7 @@ sub options_reading {
sub options_processing {
my $self = shift;
-
+
if ($self->opt_X) {
my $podidx = "$Config{'archlib'}/pod.idx";
$podidx = "" unless -f $podidx && -r _ && -M _ <= 7;
@@ -655,8 +753,11 @@ sub options_processing {
$self->options_sanity;
- $self->opt_n("nroff") unless $self->opt_n;
- $self->add_formatter_option( '__nroffer' => $self->opt_n );
+ # This used to set a default, but that's now moved into any
+ # formatter that cares to have a default.
+ if( $self->opt_n ) {
+ $self->add_formatter_option( '__nroffer' => $self->opt_n );
+ }
# Get language from PERLDOC_POD2 environment variable
if ( ! $self->opt_L && $ENV{PERLDOC_POD2} ) {
@@ -689,19 +790,19 @@ sub options_sanity {
#;
#
#$self->usage("only one of -t, -u, -m or -l") if $opts > 1;
-
-
+
+
# Any sanity-checking need doing here?
-
- # But does not make sense to set either -f or -q in $ENV{"PERLDOC"}
- if( $self->opt_f or $self->opt_q ) {
- $self->usage("Only one of -f -or -q") if $self->opt_f and $self->opt_q;
- warn
- "Perldoc is only really meant for reading one word at a time.\n",
- "So these parameters are being ignored: ",
- join(' ', @{$self->{'args'}}),
- "\n"
- if @{$self->{'args'}}
+
+ # But does not make sense to set either -f or -q in $ENV{"PERLDOC"}
+ if( $self->opt_f or $self->opt_q ) {
+ $self->usage("Only one of -f -or -q") if $self->opt_f and $self->opt_q;
+ $self->warn(
+ "Perldoc is only really meant for reading one word at a time.\n",
+ "So these parameters are being ignored: ",
+ join(' ', @{$self->{'args'}}),
+ "\n" )
+ if @{$self->{'args'}}
}
return;
}
@@ -712,6 +813,24 @@ sub grand_search_init {
my($self, $pages, @found) = @_;
foreach (@$pages) {
+ if (/^http(s)?:\/\//) {
+ require HTTP::Tiny;
+ require File::Temp;
+ my $response = HTTP::Tiny->new->get($_);
+ if ($response->{success}) {
+ my ($fh, $filename) = File::Temp::tempfile(UNLINK => 1);
+ $fh->print($response->{content});
+ push @found, $filename;
+ ($self->{podnames}{$filename} =
+ m{.*/([^/#?]+)} ? uc $1 : "UNKNOWN")
+ =~ s/\.P(?:[ML]|OD)\z//;
+ }
+ else {
+ print STDERR "No " .
+ ($self->opt_m ? "module" : "documentation") . " found for \"$_\".\n";
+ }
+ next;
+ }
if ($self->{'podidx'} && open(PODIDX, $self->{'podidx'})) {
my $searchfor = catfile split '::', $_;
$self->aside( "Searching for '$searchfor' in $self->{'podidx'}\n" );
@@ -720,7 +839,7 @@ sub grand_search_init {
chomp;
push(@found, $_) if m,/$searchfor(?:\.(?:pod|pm))?\z,i;
}
- close(PODIDX) or die "Can't close $$self{'podidx'}: $!";
+ close(PODIDX) or $self->die( "Can't close $$self{'podidx'}: $!" );
next;
}
@@ -728,7 +847,7 @@ sub grand_search_init {
if ($self->opt_F) {
next unless -r;
- push @found, $_ if $self->opt_m or $self->containspod($_);
+ push @found, $_ if $self->opt_l or $self->opt_m or $self->containspod($_);
next;
}
@@ -741,7 +860,7 @@ sub grand_search_init {
# for executables, like h2xs or perldoc itself.
push @searchdirs, ($self->{'bindir'}, @INC);
unless ($self->opt_m) {
- if (IS_VMS) {
+ if ($self->is_vms) {
my($i,$trn);
for ($i = 0; $trn = $ENV{'DCL$PATH;'.$i}; $i++) {
push(@searchdirs,$trn);
@@ -758,7 +877,7 @@ sub grand_search_init {
$self->aside( "Found as @files\n" );
}
# add "perl" prefix, so "perldoc foo" may find perlfoo.pod
- elsif (BE_LENIENT and !/\W/ and @files = $self->searchfor(0, "perl$_", @searchdirs)) {
+ elsif (BE_LENIENT and !/\W/ and @files = $self->searchfor(0, "perl$_", @searchdirs)) {
$self->aside( "Loosely found as @files\n" );
}
else {
@@ -773,14 +892,15 @@ sub grand_search_init {
($self->opt_m ? "module" : "documentation") . " found for \"$_\".\n";
if ( @{ $self->{'found'} } ) {
print STDERR "However, try\n";
+ my $me = $self->program_name;
for my $dir (@{ $self->{'found'} }) {
- opendir(DIR, $dir) or die "opendir $dir: $!";
+ opendir(DIR, $dir) or $self->die( "opendir $dir: $!" );
while (my $file = readdir(DIR)) {
next if ($file =~ /^\./s);
$file =~ s/\.(pm|pod)\z//; # XXX: badfs
- print STDERR "\tperldoc $_\::$file\n";
+ print STDERR "\t$me $_\::$file\n";
}
- closedir(DIR) or die "closedir $dir: $!";
+ closedir(DIR) or $self->die( "closedir $dir: $!" );
}
}
}
@@ -795,11 +915,11 @@ sub grand_search_init {
sub maybe_generate_dynamic_pod {
my($self, $found_things) = @_;
my @dynamic_pod;
-
+
$self->search_perlfunc($found_things, \@dynamic_pod) if $self->opt_f;
$self->search_perlvar($found_things, \@dynamic_pod) if $self->opt_v;
-
+
$self->search_perlfaqs($found_things, \@dynamic_pod) if $self->opt_q;
if( ! $self->opt_f and ! $self->opt_q and ! $self->opt_v ) {
@@ -807,22 +927,22 @@ sub maybe_generate_dynamic_pod {
} elsif ( @dynamic_pod ) {
$self->aside("Hm, I found some Pod from that search!\n");
my ($buffd, $buffer) = $self->new_tempfile('pod', 'dyn');
-
+
push @{ $self->{'temp_file_list'} }, $buffer;
# I.e., it MIGHT be deleted at the end.
-
- my $in_list = $self->opt_f || $self->opt_v;
+
+ my $in_list = !$self->not_dynamic && $self->opt_f || $self->opt_v;
print $buffd "=over 8\n\n" if $in_list;
- print $buffd @dynamic_pod or die "Can't print $buffer: $!";
+ print $buffd @dynamic_pod or $self->die( "Can't print $buffer: $!" );
print $buffd "=back\n" if $in_list;
- close $buffd or die "Can't close $buffer: $!";
-
+ close $buffd or $self->die( "Can't close $buffer: $!" );
+
@$found_things = $buffer;
# Yes, so found_things never has more than one thing in
# it, by time we leave here
-
+
$self->add_formatter_option('__filter_nroff' => 1);
} else {
@@ -835,13 +955,21 @@ sub maybe_generate_dynamic_pod {
#..........................................................................
+sub not_dynamic {
+ my ($self,$value) = @_;
+ $self->{__not_dynamic} = $value if @_ == 2;
+ return $self->{__not_dynamic};
+}
+
+#..........................................................................
+
sub add_formatter_option { # $self->add_formatter_option('key' => 'value');
my $self = shift;
push @{ $self->{'formatter_switches'} }, [ @_ ] if @_;
DEBUG > 3 and printf "Formatter switches now: [%s]\n",
join ' ', map "[@$_]", @{ $self->{'formatter_switches'} };
-
+
return;
}
@@ -854,12 +982,12 @@ sub new_translator { # $tr = $self->new_translator($lang);
my $pack = 'POD2::' . uc($lang);
eval "require $pack";
if ( !$@ && $pack->can('new') ) {
- return $pack->new();
+ return $pack->new();
}
eval { require POD2::Base };
return if $@;
-
+
return POD2::Base->new({ lang => $lang });
}
@@ -876,7 +1004,7 @@ sub add_translator { # $self->add_translator($lang);
$self->aside( "translator for '$lang' loaded\n" );
} else {
# non-installed or bad translator package
- warn "Perldoc cannot load translator package for '$lang': ignored\n";
+ $self->warn( "Perldoc cannot load translator package for '$lang': ignored\n" );
}
}
@@ -891,23 +1019,23 @@ sub search_perlvar {
my $opt = $self->opt_v;
if ( $opt !~ /^ (?: [\@\%\$]\S+ | [A-Z]\w* ) $/x ) {
- die "'$opt' does not look like a Perl variable\n";
+ CORE::die( "'$opt' does not look like a Perl variable\n" );
}
DEBUG > 2 and print "Search: @$found_things\n";
-
+
my $perlvar = shift @$found_things;
open(PVAR, "<", $perlvar) # "Funk is its own reward"
- or die("Can't open $perlvar: $!");
+ or $self->die("Can't open $perlvar: $!");
- if ( $opt =~ /^\$\d+$/ ) { # handle $1, $2, ..., $9
+ if ( $opt ne '$0' && $opt =~ /^\$\d+$/ ) { # handle $1, $2, ...
$opt = '$<I<digits>>';
}
my $search_re = quotemeta($opt);
DEBUG > 2 and
print "Going to perlvar-scan for $search_re in $perlvar\n";
-
+
# Skip introduction
local $_;
while (<PVAR>) {
@@ -930,13 +1058,13 @@ sub search_perlvar {
elsif (!/^\s+$/) { # not a blank line
if ( $found ) {
$inheader = 0; # don't accept more =item (unless inlist)
- }
+ }
else {
@$pod = (); # reset
$inheader = 1; # start over
next;
}
- }
+ }
if (/^=over/) {
++$inlist;
@@ -950,15 +1078,68 @@ sub search_perlvar {
}
@$pod = () unless $found;
if (!@$pod) {
- die "No documentation for perl variable '$opt' found\n";
+ CORE::die( "No documentation for perl variable '$opt' found\n" );
}
- close PVAR or die "Can't open $perlvar: $!";
+ close PVAR or $self->die( "Can't open $perlvar: $!" );
return;
}
#..........................................................................
+sub search_perlop {
+ my ($self,$found_things,$pod) = @_;
+
+ $self->not_dynamic( 1 );
+
+ my $perlop = shift @$found_things;
+ open( PERLOP, '<', $perlop ) or $self->die( "Can't open $perlop: $!" );
+
+ my $paragraph = "";
+ my $has_text_seen = 0;
+ my $thing = $self->opt_f;
+ my $list = 0;
+
+ while( my $line = <PERLOP> ){
+ if( $paragraph and $line =~ m!^=(?:head|item)! and $paragraph =~ m!X<+\s*\Q$thing\E\s*>+! ){
+ if( $list ){
+ $paragraph =~ s!=back.*?\z!!s;
+ }
+
+ if( $paragraph =~ m!^=item! ){
+ $paragraph = "=over 8\n\n" . $paragraph . "=back\n";
+ }
+
+ push @$pod, $paragraph;
+ $paragraph = "";
+ $has_text_seen = 0;
+ $list = 0;
+ }
+
+ if( $line =~ m!^=over! ){
+ $list++;
+ }
+ elsif( $line =~ m!^=back! ){
+ $list--;
+ }
+
+ if( $line =~ m!^=(?:head|item)! and $has_text_seen ){
+ $paragraph = "";
+ }
+ elsif( $line !~ m!^=(?:head|item)! and $line !~ m!^\s*$! and $line !~ m!^\s*X<! ){
+ $has_text_seen = 1;
+ }
+
+ $paragraph .= $line;
+ }
+
+ close PERLOP;
+
+ return;
+}
+
+#..........................................................................
+
sub search_perlfunc {
my($self, $found_things, $pod) = @_;
@@ -966,7 +1147,7 @@ sub search_perlfunc {
my $perlfunc = shift @$found_things;
open(PFUNC, "<", $perlfunc) # "Funk is its own reward"
- or die("Can't open $perlfunc: $!");
+ or $self->die("Can't open $perlfunc: $!");
# Functions like -r, -e, etc. are listed under `-X'.
my $search_re = ($self->opt_f =~ /^-[rwxoRWXOeszfdlpSbctugkTBMAC]$/)
@@ -992,13 +1173,31 @@ sub search_perlfunc {
# Look for our function
my $found = 0;
my $inlist = 0;
+
+ my @perlops = qw(m q qq qr qx qw s tr y);
+
+ my @related;
+ my $related_re;
while (<PFUNC>) { # "The Mothership Connection is here!"
+ last if( grep{ $self->opt_f eq $_ }@perlops );
if ( m/^=item\s+$search_re\b/ ) {
$found = 1;
}
+ elsif (@related > 1 and /^=item/) {
+ $related_re ||= join "|", @related;
+ if (m/^=item\s+(?:$related_re)\b/) {
+ $found = 1;
+ }
+ else {
+ last;
+ }
+ }
elsif (/^=item/) {
last if $found > 1 and not $inlist;
}
+ elsif ($found and /^X<[^>]+>/) {
+ push @related, m/X<([^>]+)>/g;
+ }
next unless $found;
if (/^=over/) {
++$inlist;
@@ -1010,13 +1209,18 @@ sub search_perlfunc {
push @$pod, $_;
++$found if /^\w/; # found descriptive text
}
+
+ if( !@$pod ){
+ $self->search_perlop( $found_things, $pod );
+ }
+
if (!@$pod) {
- die sprintf
- "No documentation for perl function `%s' found\n",
- $self->opt_f
+ CORE::die( sprintf
+ "No documentation for perl function '%s' found\n",
+ $self->opt_f )
;
}
- close PFUNC or die "Can't open $perlfunc: $!";
+ close PFUNC or $self->die( "Can't open $perlfunc: $!" );
return;
}
@@ -1029,9 +1233,9 @@ sub search_perlfaqs {
my $found = 0;
my %found_in;
my $search_key = $self->opt_q;
-
+
my $rx = eval { qr/$search_key/ }
- or die <<EOD;
+ or $self->die( <<EOD );
Invalid regular expression '$search_key' given as -q pattern:
$@
Did you mean \\Q$search_key ?
@@ -1040,9 +1244,9 @@ EOD
local $_;
foreach my $file (@$found_things) {
- die "invalid file spec: $!" if $file =~ /[<>|]/;
+ $self->die( "invalid file spec: $!" ) if $file =~ /[<>|]/;
open(INFAQ, "<", $file) # XXX 5.6ism
- or die "Can't read-open $file: $!\nAborting";
+ or $self->die( "Can't read-open $file: $!\nAborting" );
while (<INFAQ>) {
if ( m/^=head2\s+.*(?:$search_key)/i ) {
$found = 1;
@@ -1056,9 +1260,12 @@ EOD
}
close(INFAQ);
}
- die("No documentation for perl FAQ keyword `$search_key' found\n")
+ CORE::die("No documentation for perl FAQ keyword '$search_key' found\n")
unless @$pod;
+ if ( $self->opt_l ) {
+ CORE::die((join "\n", keys %found_in) . "\n");
+ }
return;
}
@@ -1071,25 +1278,25 @@ sub render_findings {
my($self, $found_things) = @_;
my $formatter_class = $self->{'formatter_class'}
- || die "No formatter class set!?";
+ || $self->die( "No formatter class set!?" );
my $formatter = $formatter_class->can('new')
? $formatter_class->new
: $formatter_class
;
if(! @$found_things) {
- die "Nothing found?!";
+ $self->die( "Nothing found?!" );
# should have been caught before here
} elsif(@$found_things > 1) {
- warn
+ $self->warn(
"Perldoc is only really meant for reading one document at a time.\n",
"So these parameters are being ignored: ",
join(' ', @$found_things[1 .. $#$found_things] ),
- "\n"
+ "\n" );
}
my $file = $found_things->[0];
-
+
DEBUG > 3 and printf "Formatter switches now: [%s]\n",
join ' ', map "[@$_]", @{ $self->{'formatter_switches'} };
@@ -1099,21 +1306,26 @@ sub render_findings {
my($switch, $value, $silent_fail) = @$f;
if( $formatter->can($switch) ) {
eval { $formatter->$switch( defined($value) ? $value : () ) };
- warn "Got an error when setting $formatter_class\->$switch:\n$@\n"
+ $self->warn( "Got an error when setting $formatter_class\->$switch:\n$@\n" )
if $@;
} else {
if( $silent_fail or $switch =~ m/^__/s ) {
DEBUG > 2 and print "Formatter $formatter_class doesn't support $switch\n";
} else {
- warn "$formatter_class doesn't recognize the $switch switch.\n";
+ $self->warn( "$formatter_class doesn't recognize the $switch switch.\n" );
}
}
}
}
-
+
$self->{'output_is_binary'} =
$formatter->can('write_with_binmode') && $formatter->write_with_binmode;
+ if( $self->{podnames} and exists $self->{podnames}{$file} and
+ $formatter->can('name') ) {
+ $formatter->name($self->{podnames}{$file});
+ }
+
my ($out_fh, $out) = $self->new_output_file(
( $formatter->can('output_extension') && $formatter->output_extension )
|| undef,
@@ -1130,19 +1342,19 @@ sub render_findings {
# The average user just has no reason to be seeing
# $^W-suppressible warnings from the formatting!
}
-
+
eval { $formatter->parse_from_file( $file, $out_fh ) };
}
-
- warn "Error while formatting with $formatter_class:\n $@\n" if $@;
+
+ $self->warn( "Error while formatting with $formatter_class:\n $@\n" ) if $@;
DEBUG > 2 and print "Back from formatting with $formatter_class\n";
- close $out_fh
- or warn "Can't close $out: $!\n(Did $formatter already close it?)";
+ close $out_fh
+ or $self->warn( "Can't close $out: $!\n(Did $formatter already close it?)" );
sleep 0; sleep 0; sleep 0;
# Give the system a few timeslices to meditate on the fact
# that the output file does in fact exist and is closed.
-
+
$self->unlink_if_temp_file($file);
unless( -s $out ) {
@@ -1152,7 +1364,7 @@ sub render_findings {
# as a 0-length output file?
$formatter->if_zero_length( $file, $out, $out_fh );
} else {
- warn "Got a 0-length file from $$found_things[0] via $formatter_class!?\n"
+ $self->warn( "Got a 0-length file from $$found_things[0] via $formatter_class!?\n" );
}
}
@@ -1171,11 +1383,11 @@ sub unlink_if_temp_file {
#
my($self, $file) = @_;
return unless defined $file and length $file;
-
+
my $temp_file_list = $self->{'temp_file_list'} || return;
if(grep $_ eq $file, @$temp_file_list) {
$self->aside("Unlinking $file\n");
- unlink($file) or warn "Odd, couldn't unlink $file: $!";
+ unlink($file) or $self->warn( "Odd, couldn't unlink $file: $!" );
} else {
DEBUG > 1 and print "$file isn't a temp file, so not unlinking.\n";
}
@@ -1184,129 +1396,25 @@ sub unlink_if_temp_file {
#..........................................................................
-sub MSWin_temp_cleanup {
-
- # Nothing particularly MSWin-specific in here, but I don't know if any
- # other OS needs its temp dir policed like MSWin does!
-
- my $self = shift;
-
- my $tempdir = $ENV{'TEMP'};
- return unless defined $tempdir and length $tempdir
- and -e $tempdir and -d _ and -w _;
-
- $self->aside(
- "Considering whether any old files of mine in $tempdir need unlinking.\n"
- );
-
- opendir(TMPDIR, $tempdir) || return;
- my @to_unlink;
-
- my $limit = time() - $Temp_File_Lifetime;
-
- DEBUG > 5 and printf "Looking for things pre-dating %s (%x)\n",
- ($limit) x 2;
-
- my $filespec;
-
- while(defined($filespec = readdir(TMPDIR))) {
- if(
- $filespec =~ m{^perldoc_[a-zA-Z0-9]+_T([a-fA-F0-9]{7,})_[a-fA-F0-9]{3,}}s
- ) {
- if( hex($1) < $limit ) {
- push @to_unlink, "$tempdir/$filespec";
- $self->aside( "Will unlink my old temp file $to_unlink[-1]\n" );
- } else {
- DEBUG > 5 and
- printf " $tempdir/$filespec is too recent (after %x)\n", $limit;
- }
- } else {
- DEBUG > 5 and
- print " $tempdir/$filespec doesn't look like a perldoc temp file.\n";
- }
- }
- closedir(TMPDIR);
- $self->aside(sprintf "Unlinked %s items of mine in %s\n",
- scalar(unlink(@to_unlink)),
- $tempdir
- );
- return;
-}
-
-# . . . . . . . . . . . . . . . . . . . . . . . . .
-
-sub MSWin_perldoc_tempfile {
- my($self, $suffix, $infix) = @_;
-
- my $tempdir = $ENV{'TEMP'};
- return unless defined $tempdir and length $tempdir
- and -e $tempdir and -d _ and -w _;
-
- my $spec;
-
- do {
- $spec = sprintf "%s\\perldoc_%s_T%x_%x%02x.%s", # used also in MSWin_temp_cleanup
- # Yes, we embed the create-time in the filename!
- $tempdir,
- $infix || 'x',
- time(),
- $$,
- defined( &Win32::GetTickCount )
- ? (Win32::GetTickCount() & 0xff)
- : int(rand 256)
- # Under MSWin, $$ values get reused quickly! So if we ran
- # perldoc foo and then perldoc bar before there was time for
- # time() to increment time."_$$" would likely be the same
- # for each process! So we tack on the tick count's lower
- # bits (or, in a pinch, rand)
- ,
- $suffix || 'txt';
- ;
- } while( -e $spec );
-
- my $counter = 0;
-
- while($counter < 50) {
- my $fh;
- # If we are running before perl5.6.0, we can't autovivify
- if ($] < 5.006) {
- require Symbol;
- $fh = Symbol::gensym();
- }
- DEBUG > 3 and print "About to try making temp file $spec\n";
- return($fh, $spec) if open($fh, ">", $spec); # XXX 5.6ism
- $self->aside("Can't create temp file $spec: $!\n");
- }
-
- $self->aside("Giving up on making a temp file!\n");
- die "Can't make a tempfile!?";
-}
-
-#..........................................................................
-
sub after_rendering {
my $self = $_[0];
- $self->after_rendering_VMS if IS_VMS;
- $self->after_rendering_MSWin32 if IS_MSWin32;
- $self->after_rendering_Dos if IS_Dos;
- $self->after_rendering_OS2 if IS_OS2;
+ $self->after_rendering_VMS if $self->is_vms;
+ $self->after_rendering_MSWin32 if $self->is_mswin32;
+ $self->after_rendering_Dos if $self->is_dos;
+ $self->after_rendering_OS2 if $self->is_os2;
return;
}
sub after_rendering_VMS { return }
sub after_rendering_Dos { return }
sub after_rendering_OS2 { return }
-
-sub after_rendering_MSWin32 {
- shift->MSWin_temp_cleanup() if $Temp_Files_Created;
-}
+sub after_rendering_MSWin32 { return }
#..........................................................................
-# : : : : : : : : :
+# : : : : : : : : :
#..........................................................................
-
sub minus_f_nocase { # i.e., do like -f, but without regard to case
my($self, $dir, $file) = @_;
@@ -1314,59 +1422,59 @@ sub minus_f_nocase { # i.e., do like -f, but without regard to case
return $path if -f $path and -r _;
if(!$self->opt_i
- or IS_VMS or IS_MSWin32
- or IS_Dos or IS_OS2
+ or $self->is_vms or $self->is_mswin32
+ or $self->Is_dos or $self->is_os2
) {
# On a case-forgiving file system, or if case is important,
- # that is it, all we can do.
- warn "Ignored $path: unreadable\n" if -f _;
- return '';
+ # that is it, all we can do.
+ $self->warn( "Ignored $path: unreadable\n" ) if -f _;
+ return '';
}
-
+
local *DIR;
my @p = ($dir);
my($p,$cip);
foreach $p (splitdir $file){
- my $try = catfile @p, $p;
+ my $try = catfile @p, $p;
$self->aside("Scrutinizing $try...\n");
- stat $try;
- if (-d _) {
- push @p, $p;
- if ( $p eq $self->{'target'} ) {
- my $tmp_path = catfile @p;
- my $path_f = 0;
- for (@{ $self->{'found'} }) {
- $path_f = 1 if $_ eq $tmp_path;
- }
- push (@{ $self->{'found'} }, $tmp_path) unless $path_f;
- $self->aside( "Found as $tmp_path but directory\n" );
- }
- }
- elsif (-f _ && -r _) {
- return $try;
- }
- elsif (-f _) {
- warn "Ignored $try: unreadable\n";
- }
- elsif (-d catdir(@p)) { # at least we see the containing directory!
- my $found = 0;
- my $lcp = lc $p;
- my $p_dirspec = catdir(@p);
- opendir DIR, $p_dirspec or die "opendir $p_dirspec: $!";
- while(defined( $cip = readdir(DIR) )) {
- if (lc $cip eq $lcp){
- $found++;
- last; # XXX stop at the first? what if there's others?
- }
- }
- closedir DIR or die "closedir $p_dirspec: $!";
- return "" unless $found;
-
- push @p, $cip;
- my $p_filespec = catfile(@p);
- return $p_filespec if -f $p_filespec and -r _;
- warn "Ignored $p_filespec: unreadable\n" if -f _;
- }
+ stat $try;
+ if (-d _) {
+ push @p, $p;
+ if ( $p eq $self->{'target'} ) {
+ my $tmp_path = catfile @p;
+ my $path_f = 0;
+ for (@{ $self->{'found'} }) {
+ $path_f = 1 if $_ eq $tmp_path;
+ }
+ push (@{ $self->{'found'} }, $tmp_path) unless $path_f;
+ $self->aside( "Found as $tmp_path but directory\n" );
+ }
+ }
+ elsif (-f _ && -r _ && lc($try) eq lc($path)) {
+ return $try;
+ }
+ elsif (-f _) {
+ $self->warn( "Ignored $try: unreadable or file/dir mismatch\n" );
+ }
+ elsif (-d catdir(@p)) { # at least we see the containing directory!
+ my $found = 0;
+ my $lcp = lc $p;
+ my $p_dirspec = catdir(@p);
+ opendir DIR, $p_dirspec or $self->die( "opendir $p_dirspec: $!" );
+ while(defined( $cip = readdir(DIR) )) {
+ if (lc $cip eq $lcp){
+ $found++;
+ last; # XXX stop at the first? what if there's others?
+ }
+ }
+ closedir DIR or $self->die( "closedir $p_dirspec: $!" );
+ return "" unless $found;
+
+ push @p, $cip;
+ my $p_filespec = catfile(@p);
+ return $p_filespec if -f $p_filespec and -r _;
+ $self->warn( "Ignored $p_filespec: unreadable\n" ) if -f _;
+ }
}
return "";
}
@@ -1380,34 +1488,35 @@ sub pagers_guessing {
push @pagers, $self->pagers;
$self->{'pagers'} = \@pagers;
- if (IS_MSWin32) {
+ if ($self->is_mswin32) {
push @pagers, qw( more< less notepad );
unshift @pagers, $ENV{PAGER} if $ENV{PAGER};
}
- elsif (IS_VMS) {
+ elsif ($self->is_vms) {
push @pagers, qw( most more less type/page );
}
- elsif (IS_Dos) {
+ elsif ($self->is_dos) {
push @pagers, qw( less.exe more.com< );
unshift @pagers, $ENV{PAGER} if $ENV{PAGER};
}
else {
- if (IS_OS2) {
+ if ($self->is_os2) {
unshift @pagers, 'less', 'cmd /c more <';
}
push @pagers, qw( more less pg view cat );
- unshift @pagers, $ENV{PAGER} if $ENV{PAGER};
+ unshift @pagers, "$ENV{PAGER} <" if $ENV{PAGER};
}
- if (IS_Cygwin) {
+ if ($self->is_cygwin) {
if (($pagers[0] eq 'less') || ($pagers[0] eq '/usr/bin/less')) {
unshift @pagers, '/usr/bin/less -isrR';
- }
+ unshift @pagers, $ENV{PAGER} if $ENV{PAGER};
+ }
}
unshift @pagers, $ENV{PERLDOC_PAGER} if $ENV{PERLDOC_PAGER};
-
- return;
+
+ return;
}
#..........................................................................
@@ -1427,62 +1536,23 @@ sub page_module_file {
# occasionally hazy distinction between OS-local extension
# associations, and browser-specific MIME mappings.
- if ($self->{'output_to_stdout'}) {
- $self->aside("Sending unpaged output to STDOUT.\n");
- local $_;
- my $any_error = 0;
- foreach my $output (@found) {
- unless( open(TMP, "<", $output) ) { # XXX 5.6ism
- warn("Can't open $output: $!");
- $any_error = 1;
- next;
- }
- while (<TMP>) {
- print or die "Can't print to stdout: $!";
- }
- close TMP or die "Can't close while $output: $!";
- $self->unlink_if_temp_file($output);
- }
- return $any_error; # successful
+ if(@found > 1) {
+ $self->warn(
+ "Perldoc is only really meant for reading one document at a time.\n" .
+ "So these files are being ignored: " .
+ join(' ', @found[1 .. $#found] ) .
+ "\n" )
}
- foreach my $pager ( $self->pagers ) {
- $self->aside("About to try calling $pager @found\n");
- if (system($pager, @found) == 0) {
- $self->aside("Yay, it worked.\n");
- return 0;
- }
- $self->aside("That didn't work.\n");
-
- # Odd -- when it fails, under Win32, this seems to neither
- # return with a fail nor return with a success!!
- # That's discouraging!
- }
+ return $self->page($found[0], $self->{'output_to_stdout'}, $self->pagers);
- $self->aside(
- sprintf "Can't manage to find a way to page [%s] via pagers [%s]\n",
- join(' ', @found),
- join(' ', $self->pagers),
- );
-
- if (IS_VMS) {
- DEBUG > 1 and print "Bailing out in a VMSish way.\n";
- eval q{
- use vmsish qw(status exit);
- exit $?;
- 1;
- } or die;
- }
-
- return 1;
- # i.e., an UNSUCCESSFUL return value!
}
#..........................................................................
sub check_file {
my($self, $dir, $file) = @_;
-
+
unless( ref $self ) {
# Should never get called:
$Carp::Verbose = 1;
@@ -1493,29 +1563,41 @@ sub check_file {
"Aborting"
);
}
-
+
if(length $dir and not -d $dir) {
DEBUG > 3 and print " No dir $dir -- skipping.\n";
return "";
}
-
- if ($self->opt_m) {
- return $self->minus_f_nocase($dir,$file);
- }
-
- else {
- my $path = $self->minus_f_nocase($dir,$file);
- if( length $path and $self->containspod($path) ) {
- DEBUG > 3 and print
- " The file $path indeed looks promising!\n";
- return $path;
- }
+
+ my $path = $self->minus_f_nocase($dir,$file);
+ if( length $path and ($self->opt_m ? $self->isprintable($path)
+ : $self->containspod($path)) ) {
+ DEBUG > 3 and print
+ " The file $path indeed looks promising!\n";
+ return $path;
}
DEBUG > 3 and print " No good: $file in $dir\n";
-
+
return "";
}
+sub isprintable {
+ my($self, $file, $readit) = @_;
+ my $size= 1024;
+ my $maxunprintfrac= 0.2; # tolerate some unprintables for UTF-8 comments etc.
+
+ return 1 if !$readit && $file =~ /\.(?:pl|pm|pod|cmd|com|bat)\z/i;
+
+ my $data;
+ local($_);
+ open(TEST,"<", $file) or $self->die( "Can't open $file: $!" );
+ read TEST, $data, $size;
+ close TEST;
+ $size= length($data);
+ $data =~ tr/\x09-\x0D\x20-\x7E//d;
+ return length($data) <= $size*$maxunprintfrac;
+}
+
#..........................................................................
sub containspod {
@@ -1536,21 +1618,21 @@ sub containspod {
#
# $ perldoc perl.pod
- if ( IS_Cygwin and -x $file and -f "$file.exe" )
+ if ( $self->is_cygwin and -x $file and -f "$file.exe" )
{
- warn "Cygwin $file.exe search skipped\n" if DEBUG or $self->opt_D;
+ $self->warn( "Cygwin $file.exe search skipped\n" ) if DEBUG or $self->opt_D;
return 0;
}
local($_);
- open(TEST,"<", $file) or die "Can't open $file: $!"; # XXX 5.6ism
+ open(TEST,"<", $file) or $self->die( "Can't open $file: $!" ); # XXX 5.6ism
while (<TEST>) {
- if (/^=head/) {
- close(TEST) or die "Can't close $file: $!";
- return 1;
- }
+ if (/^=head/) {
+ close(TEST) or $self->die( "Can't close $file: $!" );
+ return 1;
+ }
}
- close(TEST) or die "Can't close $file: $!";
+ close(TEST) or $self->die( "Can't close $file: $!" );
return 0;
}
@@ -1558,21 +1640,21 @@ sub containspod {
sub maybe_diddle_INC {
my $self = shift;
-
+
# Does this look like a module or extension directory?
-
+
if (-f "Makefile.PL" || -f "Build.PL") {
# Add "." and "lib" to @INC (if they exist)
- eval q{ use lib qw(. lib); 1; } or die;
+ eval q{ use lib qw(. lib); 1; } or $self->die;
# don't add if superuser
if ($< && $> && -d "blib") { # don't be looking too hard now!
eval q{ use blib; 1 };
- warn $@ if $@ && $self->opt_D;
+ $self->warn( $@ ) if $@ && $self->opt_D;
}
}
-
+
return;
}
@@ -1582,21 +1664,21 @@ sub new_output_file {
my $self = shift;
my $outspec = $self->opt_d; # Yes, -d overrides all else!
# So don't call this twice per format-job!
-
+
return $self->new_tempfile(@_) unless defined $outspec and length $outspec;
# Otherwise open a write-handle on opt_d!f
my $fh;
# If we are running before perl5.6.0, we can't autovivify
- if ($] < 5.006) {
+ if ($^V < 5.006) {
require Symbol;
$fh = Symbol::gensym();
}
DEBUG > 3 and print "About to try writing to specified output file $outspec\n";
- die "Can't write-open $outspec: $!"
+ $self->die( "Can't write-open $outspec: $!" )
unless open($fh, ">", $outspec); # XXX 5.6ism
-
+
DEBUG > 3 and print "Successfully opened $outspec\n";
binmode($fh) if $self->{'output_is_binary'};
return($fh, $outspec);
@@ -1617,7 +1699,7 @@ sub useful_filename_bit {
my $self = shift;
my $pages = $self->{'pages'} || return undef;
return undef unless @$pages;
-
+
my $chunk = $pages->[0];
return undef unless defined $chunk;
$chunk =~ s/:://g;
@@ -1639,12 +1721,6 @@ sub new_tempfile { # $self->new_tempfile( [$suffix, [$infix] ] )
++$Temp_Files_Created;
- if( IS_MSWin32 ) {
- my @out = $self->MSWin_perldoc_tempfile(@_);
- return @out if @out;
- # otherwise fall thru to the normal stuff below...
- }
-
require File::Temp;
return File::Temp::tempfile(UNLINK => 1);
}
@@ -1655,32 +1731,32 @@ sub page { # apply a pager to the output file
my ($self, $output, $output_to_stdout, @pagers) = @_;
if ($output_to_stdout) {
$self->aside("Sending unpaged output to STDOUT.\n");
- open(TMP, "<", $output) or die "Can't open $output: $!"; # XXX 5.6ism
- local $_;
- while (<TMP>) {
- print or die "Can't print to stdout: $!";
- }
- close TMP or die "Can't close while $output: $!";
- $self->unlink_if_temp_file($output);
+ open(TMP, "<", $output) or $self->die( "Can't open $output: $!" ); # XXX 5.6ism
+ local $_;
+ while (<TMP>) {
+ print or $self->die( "Can't print to stdout: $!" );
+ }
+ close TMP or $self->die( "Can't close while $output: $!" );
+ $self->unlink_if_temp_file($output);
} else {
# On VMS, quoting prevents logical expansion, and temp files with no
# extension get the wrong default extension (such as .LIS for TYPE)
- $output = VMS::Filespec::rmsexpand($output, '.') if IS_VMS;
+ $output = VMS::Filespec::rmsexpand($output, '.') if $self->is_vms;
- $output =~ s{/}{\\}g if IS_MSWin32 || IS_Dos;
- # Altho "/" under MSWin is in theory good as a pathsep,
- # many many corners of the OS don't like it. So we
- # have to force it to be "\" to make everyone happy.
+ $output =~ s{/}{\\}g if $self->is_mswin32 || $self->is_dos;
+ # Altho "/" under MSWin is in theory good as a pathsep,
+ # many many corners of the OS don't like it. So we
+ # have to force it to be "\" to make everyone happy.
foreach my $pager (@pagers) {
$self->aside("About to try calling $pager $output\n");
- if (IS_VMS) {
+ if ($self->is_vms) {
last if system("$pager $output") == 0;
} else {
- last if system("$pager \"$output\"") == 0;
+ last if system("$pager \"$output\"") == 0;
}
- }
+ }
}
return;
}
@@ -1690,7 +1766,7 @@ sub page { # apply a pager to the output file
sub searchfor {
my($self, $recurse,$s,@dirs) = @_;
$s =~ s!::!/!g;
- $s = VMS::Filespec::unixify($s) if IS_VMS;
+ $s = VMS::Filespec::unixify($s) if $self->is_vms;
return $s if -f $s && $self->containspod($s);
$self->aside( "Looking for $s in @dirs\n" );
my $ret;
@@ -1698,41 +1774,41 @@ sub searchfor {
my $dir;
$self->{'target'} = (splitdir $s)[-1]; # XXX: why not use File::Basename?
for ($i=0; $i<@dirs; $i++) {
- $dir = $dirs[$i];
- next unless -d $dir;
- ($dir = VMS::Filespec::unixpath($dir)) =~ s!/\z!! if IS_VMS;
- if ( (! $self->opt_m && ( $ret = $self->check_file($dir,"$s.pod")))
- or ( $ret = $self->check_file($dir,"$s.pm"))
- or ( $ret = $self->check_file($dir,$s))
- or ( IS_VMS and
- $ret = $self->check_file($dir,"$s.com"))
- or ( IS_OS2 and
- $ret = $self->check_file($dir,"$s.cmd"))
- or ( (IS_MSWin32 or IS_Dos or IS_OS2) and
- $ret = $self->check_file($dir,"$s.bat"))
- or ( $ret = $self->check_file("$dir/pod","$s.pod"))
- or ( $ret = $self->check_file("$dir/pod",$s))
- or ( $ret = $self->check_file("$dir/pods","$s.pod"))
- or ( $ret = $self->check_file("$dir/pods",$s))
- ) {
- DEBUG > 1 and print " Found $ret\n";
- return $ret;
- }
+ $dir = $dirs[$i];
+ next unless -d $dir;
+ ($dir = VMS::Filespec::unixpath($dir)) =~ s!/\z!! if $self->is_vms;
+ if ( (! $self->opt_m && ( $ret = $self->check_file($dir,"$s.pod")))
+ or ( $ret = $self->check_file($dir,"$s.pm"))
+ or ( $ret = $self->check_file($dir,$s))
+ or ( $self->is_vms and
+ $ret = $self->check_file($dir,"$s.com"))
+ or ( $self->is_os2 and
+ $ret = $self->check_file($dir,"$s.cmd"))
+ or ( ($self->is_mswin32 or $self->is_dos or $self->is_os2) and
+ $ret = $self->check_file($dir,"$s.bat"))
+ or ( $ret = $self->check_file("$dir/pod","$s.pod"))
+ or ( $ret = $self->check_file("$dir/pod",$s))
+ or ( $ret = $self->check_file("$dir/pods","$s.pod"))
+ or ( $ret = $self->check_file("$dir/pods",$s))
+ ) {
+ DEBUG > 1 and print " Found $ret\n";
+ return $ret;
+ }
- if ($recurse) {
- opendir(D,$dir) or die "Can't opendir $dir: $!";
- my @newdirs = map catfile($dir, $_), grep {
- not /^\.\.?\z/s and
- not /^auto\z/s and # save time! don't search auto dirs
- -d catfile($dir, $_)
- } readdir D;
- closedir(D) or die "Can't closedir $dir: $!";
- next unless @newdirs;
- # what a wicked map!
- @newdirs = map((s/\.dir\z//,$_)[1],@newdirs) if IS_VMS;
- $self->aside( "Also looking in @newdirs\n" );
- push(@dirs,@newdirs);
- }
+ if ($recurse) {
+ opendir(D,$dir) or $self->die( "Can't opendir $dir: $!" );
+ my @newdirs = map catfile($dir, $_), grep {
+ not /^\.\.?\z/s and
+ not /^auto\z/s and # save time! don't search auto dirs
+ -d catfile($dir, $_)
+ } readdir D;
+ closedir(D) or $self->die( "Can't closedir $dir: $!" );
+ next unless @newdirs;
+ # what a wicked map!
+ @newdirs = map((s/\.dir\z//,$_)[1],@newdirs) if $self->is_vms;
+ $self->aside( "Also looking in @newdirs\n" );
+ push(@dirs,@newdirs);
+ }
}
return ();
}
@@ -1745,10 +1821,10 @@ sub searchfor {
return if $already_asserted;
- eval q~ END { close(STDOUT) || die "Can't close STDOUT: $!" } ~;
+ eval q~ END { close(STDOUT) || CORE::die "Can't close STDOUT: $!" } ~;
# What for? to let the pager know that nothing more will come?
-
- die $@ if $@;
+
+ $self->die( $@ ) if $@;
$already_asserted = 1;
return;
}
@@ -1758,21 +1834,22 @@ sub searchfor {
sub tweak_found_pathnames {
my($self, $found) = @_;
- if (IS_MSWin32) {
+ if ($self->is_mswin32) {
foreach (@$found) { s,/,\\,g }
}
+ foreach (@$found) { s,',\\',g } # RT 37347
return;
}
#..........................................................................
-# : : : : : : : : :
+# : : : : : : : : :
#..........................................................................
sub am_taint_checking {
my $self = shift;
- die "NO ENVIRONMENT?!?!" unless keys %ENV; # reset iterator along the way
+ $self->die( "NO ENVIRONMENT?!?!" ) unless keys %ENV; # reset iterator along the way
my($k,$v) = each %ENV;
- return is_tainted($v);
+ return is_tainted($v);
}
#..........................................................................
@@ -1789,10 +1866,10 @@ sub is_tainted { # just a function
sub drop_privs_maybe {
my $self = shift;
-
+
# Attempt to drop privs if we should be tainting and aren't
- if (!(IS_VMS || IS_MSWin32 || IS_Dos
- || IS_OS2
+ if (!( $self->is_vms || $self->is_mswin32 || $self->is_dos
+ || $self->is_os2
)
&& ($> == 0 || $< == 0)
&& !$self->am_taint_checking()
@@ -1873,94 +1950,11 @@ merchantability or fitness for a particular purpose.
=head1 AUTHOR
-Current maintainer: Adriano R. Ferreira <ferreira@cpan.org>
+Current maintainer: Mark Allen C<< <mallen@cpan.org> >>
Past contributions from:
-Sean M. Burke <sburke@cpan.org>
+brian d foy C<< <bdfoy@cpan.org> >>
+Adriano R. Ferreira C<< <ferreira@cpan.org> >>,
+Sean M. Burke C<< <sburke@cpan.org> >>
=cut
-
-#
-#
-# Perldoc -- look up a piece of documentation in .pod format that
-# is embedded in the perl installation tree.
-#
-#~~~~~~
-#
-# See ChangeLog in CPAN dist for Pod::Perldoc for later notes.
-#
-# Version 3.01: Sun Nov 10 21:38:09 MST 2002
-# Sean M. Burke <sburke@cpan.org>
-# Massive refactoring and code-tidying.
-# Now it's a module(-family)!
-# Formatter-specific stuff pulled out into Pod::Perldoc::To(Whatever).pm
-# Added -T, -d, -o, -M, -w.
-# Added some improved MSWin funk.
-#
-#~~~~~~
-#
-# Version 2.05: Sat Oct 12 16:09:00 CEST 2002
-# Hugo van der Sanden <hv@crypt.org>
-# Made -U the default, based on patch from Simon Cozens
-# Version 2.04: Sun Aug 18 13:27:12 BST 2002
-# Randy W. Sims <RandyS@ThePierianSpring.org>
-# allow -n to enable nroff under Win32
-# Version 2.03: Sun Apr 23 16:56:34 BST 2000
-# Hugo van der Sanden <hv@crypt.org>
-# don't die when 'use blib' fails
-# Version 2.02: Mon Mar 13 18:03:04 MST 2000
-# Tom Christiansen <tchrist@perl.com>
-# Added -U insecurity option
-# Version 2.01: Sat Mar 11 15:22:33 MST 2000
-# Tom Christiansen <tchrist@perl.com>, querulously.
-# Security and correctness patches.
-# What a twisted bit of distasteful spaghetti code.
-# Version 2.0: ????
-#
-#~~~~~~
-#
-# Version 1.15: Tue Aug 24 01:50:20 EST 1999
-# Charles Wilson <cwilson@ece.gatech.edu>
-# changed /pod/ directory to /pods/ for cygwin
-# to support cygwin/win32
-# Version 1.14: Wed Jul 15 01:50:20 EST 1998
-# Robin Barker <rmb1@cise.npl.co.uk>
-# -strict, -w cleanups
-# Version 1.13: Fri Feb 27 16:20:50 EST 1997
-# Gurusamy Sarathy <gsar@activestate.com>
-# -doc tweaks for -F and -X options
-# Version 1.12: Sat Apr 12 22:41:09 EST 1997
-# Gurusamy Sarathy <gsar@activestate.com>
-# -various fixes for win32
-# Version 1.11: Tue Dec 26 09:54:33 EST 1995
-# Kenneth Albanowski <kjahds@kjahds.com>
-# -added Charles Bailey's further VMS patches, and -u switch
-# -added -t switch, with pod2text support
-#
-# Version 1.10: Thu Nov 9 07:23:47 EST 1995
-# Kenneth Albanowski <kjahds@kjahds.com>
-# -added VMS support
-# -added better error recognition (on no found pages, just exit. On
-# missing nroff/pod2man, just display raw pod.)
-# -added recursive/case-insensitive matching (thanks, Andreas). This
-# slows things down a bit, unfortunately. Give a precise name, and
-# it'll run faster.
-#
-# Version 1.01: Tue May 30 14:47:34 EDT 1995
-# Andy Dougherty <doughera@lafcol.lafayette.edu>
-# -added pod documentation.
-# -added PATH searching.
-# -added searching pod/ subdirectory (mainly to pick up perlfunc.pod
-# and friends.
-#
-#~~~~~~~
-#
-# TODO:
-#
-# Cache the directories read during sloppy match
-# (To disk, or just in-memory?)
-#
-# Backport this to perl 5.005?
-#
-# Implement at least part of the "perlman" interface described
-# in Programming Perl 3e?
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/BaseTo.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/BaseTo.pm
index 29a3b7d108e..aa8d84493ff 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/BaseTo.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/BaseTo.pm
@@ -1,9 +1,14 @@
-
-require 5;
package Pod::Perldoc::BaseTo;
use strict;
use warnings;
+use vars qw($VERSION);
+$VERSION = '3.17';
+
+use Carp qw(croak carp);
+use Config qw(%Config);
+use File::Spec::Functions qw(catfile);
+
sub is_pageable { '' }
sub write_with_binmode { 1 }
@@ -14,6 +19,22 @@ sub output_extension { 'txt' } # override in subclass!
#sub new { return bless {}, ref($_[0]) || $_[0] }
+# this is also in Perldoc.pm, but why look there when you're a
+# subclass of this?
+sub TRUE () {1}
+sub FALSE () {return}
+
+BEGIN {
+ *is_vms = $^O eq 'VMS' ? \&TRUE : \&FALSE unless defined &is_vms;
+ *is_mswin32 = $^O eq 'MSWin32' ? \&TRUE : \&FALSE unless defined &is_mswin32;
+ *is_dos = $^O eq 'dos' ? \&TRUE : \&FALSE unless defined &is_dos;
+ *is_os2 = $^O eq 'os2' ? \&TRUE : \&FALSE unless defined &is_os2;
+ *is_cygwin = $^O eq 'cygwin' ? \&TRUE : \&FALSE unless defined &is_cygwin;
+ *is_linux = $^O eq 'linux' ? \&TRUE : \&FALSE unless defined &is_linux;
+ *is_hpux = $^O =~ m/hpux/ ? \&TRUE : \&FALSE unless defined &is_hpux;
+ *is_openbsd = $^O =~ m/openbsd/ ? \&TRUE : \&FALSE unless defined &is_openbsd;
+}
+
sub _perldoc_elem {
my($self, $name) = splice @_,0,2;
if(@_) {
@@ -23,6 +44,54 @@ sub _perldoc_elem {
}
}
+sub debugging {
+ my( $self, @messages ) = @_;
+
+ ( defined(&Pod::Perldoc::DEBUG) and &Pod::Perldoc::DEBUG() )
+ }
+
+sub debug {
+ my( $self, @messages ) = @_;
+ return unless $self->debugging;
+ print STDERR map { "DEBUG $_" } @messages;
+ }
+
+sub warn {
+ my( $self, @messages ) = @_;
+ carp join "\n", @messages, '';
+ }
+
+sub die {
+ my( $self, @messages ) = @_;
+ croak join "\n", @messages, '';
+ }
+
+sub _get_path_components {
+ my( $self ) = @_;
+
+ my @paths = split /\Q$Config{path_sep}/, $ENV{PATH};
+
+ return @paths;
+ }
+
+sub _find_executable_in_path {
+ my( $self, $program ) = @_;
+
+ my @found = ();
+ foreach my $dir ( $self->_get_path_components ) {
+ my $binary = catfile( $dir, $program );
+ $self->debug( "Looking for $binary\n" );
+ next unless -e $binary;
+ unless( -x $binary ) {
+ $self->warn( "Found $binary but it's not executable. Skipping.\n" );
+ next;
+ }
+ $self->debug( "Found $binary\n" );
+ push @found, $binary;
+ }
+
+ return @found;
+ }
1;
@@ -73,9 +142,11 @@ merchantability or fitness for a particular purpose.
=head1 AUTHOR
-Current maintainer: Adriano R. Ferreira <ferreira@cpan.org>
+Current maintainer: Mark Allen C<< <mallen@cpan.org> >>
Past contributions from:
-Sean M. Burke <sburke@cpan.org>
+brian d foy C<< <bdfoy@cpan.org> >>
+Adriano R. Ferreira C<< <ferreira@cpan.org> >>,
+Sean M. Burke C<< <sburke@cpan.org> >>
=cut
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/GetOptsOO.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/GetOptsOO.pm
index fa83fb74ccf..c77d5460483 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/GetOptsOO.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/GetOptsOO.pm
@@ -1,23 +1,8 @@
-
-require 5;
package Pod::Perldoc::GetOptsOO;
use strict;
-# Rather like Getopt::Std's getopts
-# Call Pod::Perldoc::GetOptsOO::getopts($object, \@ARGV, $truth)
-# Given -n, if there's a opt_n_with, it'll call $object->opt_n_with( ARGUMENT )
-# (e.g., "-n foo" => $object->opt_n_with('foo'). Ditto "-nfoo")
-# Otherwise (given -n) if there's an opt_n, we'll call it $object->opt_n($truth)
-# (Truth defaults to 1)
-# Otherwise we try calling $object->handle_unknown_option('n')
-# (and we increment the error count by the return value of it)
-# If there's no handle_unknown_option, then we just warn, and then increment
-# the error counter
-#
-# The return value of Pod::Perldoc::GetOptsOO::getopts is true if no errors,
-# otherwise it's false.
-#
-## sburke@cpan.org 2002-10-31
+use vars qw($VERSION);
+$VERSION = '3.17';
BEGIN { # Make a DEBUG constant ASAP
*DEBUG = defined( &Pod::Perldoc::DEBUG )
@@ -28,7 +13,7 @@ BEGIN { # Make a DEBUG constant ASAP
sub getopts {
my($target, $args, $truth) = @_;
-
+
$args ||= \@ARGV;
$target->aside(
@@ -50,11 +35,14 @@ sub getopts {
shift @$args;
last;
}
+ if ($first eq '-' and $rest) { # GNU style long param names
+ ($first, $rest) = split '=', $rest, 2;
+ }
my $method = "opt_${first}_with";
if( $target->can($method) ) { # it's argumental
if($rest eq '') { # like -f bar
shift @$args;
- warn "Option $first needs a following argument!\n" unless @$args;
+ $target->warn( "Option $first needs a following argument!\n" ) unless @$args;
$rest = shift @$args;
} else { # like -fbar (== -f bar)
shift @$args;
@@ -75,14 +63,14 @@ sub getopts {
} elsif( $target->can('handle_unknown_option') ) {
DEBUG > 3
and print " calling handle_unknown_option('$first')\n";
-
+
$error_count += (
$target->handle_unknown_option( $first ) || 0
);
} else {
++$error_count;
- warn "Unknown option: $first\n";
+ $target->warn( "Unknown option: $first\n" );
}
if($rest eq '') { # like -f
@@ -93,7 +81,7 @@ sub getopts {
}
}
}
-
+
$target->aside(
"Ending switch processing. Args are [@$args] with $error_count errors.\n"
@@ -123,9 +111,32 @@ Pod::Perldoc::GetOptsOO - Customized option parser for Pod::Perldoc
Implements a customized option parser used for
L<Pod::Perldoc>.
+Rather like Getopt::Std's getopts:
+
+=over
+
+=item Call Pod::Perldoc::GetOptsOO::getopts($object, \@ARGV, $truth)
+
+=item Given -n, if there's a opt_n_with, it'll call $object->opt_n_with( ARGUMENT )
+ (e.g., "-n foo" => $object->opt_n_with('foo'). Ditto "-nfoo")
+
+=item Otherwise (given -n) if there's an opt_n, we'll call it $object->opt_n($truth)
+ (Truth defaults to 1)
+
+=item Otherwise we try calling $object->handle_unknown_option('n')
+ (and we increment the error count by the return value of it)
+
+=item If there's no handle_unknown_option, then we just warn, and then increment
+ the error counter
+
+=back
+
+The return value of Pod::Perldoc::GetOptsOO::getopts is true if no errors,
+otherwise it's false.
+
=head1 SEE ALSO
- Pod::Perldoc
+L<Pod::Perldoc>
=head1 COPYRIGHT AND DISCLAIMERS
@@ -140,9 +151,11 @@ merchantability or fitness for a particular purpose.
=head1 AUTHOR
-Current maintainer: Adriano R. Ferreira <ferreira@cpan.org>
+Current maintainer: Mark Allen C<< <mallen@cpan.org> >>
Past contributions from:
-Sean M. Burke <sburke@cpan.org>
+brian d foy C<< <bdfoy@cpan.org> >>
+Adriano R. Ferreira C<< <ferreira@cpan.org> >>,
+Sean M. Burke C<< <sburke@cpan.org> >>
=cut
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToANSI.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToANSI.pm
new file mode 100644
index 00000000000..7be62e23589
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToANSI.pm
@@ -0,0 +1,96 @@
+package Pod::Perldoc::ToANSI;
+use strict;
+use warnings;
+use parent qw(Pod::Perldoc::BaseTo);
+
+use vars qw($VERSION);
+$VERSION = '3.17';
+
+sub is_pageable { 1 }
+sub write_with_binmode { 0 }
+sub output_extension { 'txt' }
+
+use Pod::Text::Color ();
+
+sub alt { shift->_perldoc_elem('alt' , @_) }
+sub indent { shift->_perldoc_elem('indent' , @_) }
+sub loose { shift->_perldoc_elem('loose' , @_) }
+sub quotes { shift->_perldoc_elem('quotes' , @_) }
+sub sentence { shift->_perldoc_elem('sentence', @_) }
+sub width { shift->_perldoc_elem('width' , @_) }
+
+sub new { return bless {}, ref($_[0]) || $_[0] }
+
+sub parse_from_file {
+ my $self = shift;
+
+ my @options =
+ map {; $_, $self->{$_} }
+ grep !m/^_/s,
+ keys %$self
+ ;
+
+ defined(&Pod::Perldoc::DEBUG)
+ and Pod::Perldoc::DEBUG()
+ and print "About to call new Pod::Text::Color ",
+ $Pod::Text::VERSION ? "(v$Pod::Text::VERSION) " : '',
+ "with options: ",
+ @options ? "[@options]" : "(nil)", "\n";
+ ;
+
+ Pod::Text::Color->new(@options)->parse_from_file(@_);
+}
+
+1;
+
+=head1 NAME
+
+Pod::Perldoc::ToANSI - render Pod with ANSI color escapes
+
+=head1 SYNOPSIS
+
+ perldoc -o ansi Some::Modulename
+
+=head1 DESCRIPTION
+
+This is a "plug-in" class that allows Perldoc to use
+Pod::Text as a formatter class.
+
+It supports the following options, which are explained in
+L<Pod::Text>: alt, indent, loose, quotes, sentence, width
+
+For example:
+
+ perldoc -o term -w indent:5 Some::Modulename
+
+=head1 CAVEAT
+
+This module may change to use a different text formatter class in the
+future, and this may change what options are supported.
+
+=head1 SEE ALSO
+
+L<Pod::Text>, L<Pod::Text::Color>, L<Pod::Perldoc>
+
+=head1 COPYRIGHT AND DISCLAIMERS
+
+Copyright (c) 2011 Mark Allen. All rights reserved.
+
+This library is free software; you can redistribute it and/or modify it
+under the same terms as Perl itself.
+
+This program is distributed in the hope that it will be useful, but
+without any warranty; without even the implied warranty of
+merchantability or fitness for a particular purpose.
+
+=head1 AUTHOR
+
+Current maintainer: Mark Allen C<< <mallen@cpan.org> >>
+
+Past contributions from:
+brian d foy C<< <bdfoy@cpan.org> >>
+Adriano R. Ferreira C<< <ferreira@cpan.org> >>,
+Sean M. Burke C<< <sburke@cpan.org> >>
+
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToChecker.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToChecker.pm
index 10870109e60..32c309bd445 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToChecker.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToChecker.pm
@@ -1,10 +1,11 @@
-
-require 5;
package Pod::Perldoc::ToChecker;
use strict;
use warnings;
use vars qw(@ISA);
+use vars qw($VERSION);
+$VERSION = '3.17';
+
# Pick our superclass...
#
eval 'require Pod::Simple::Checker';
@@ -66,10 +67,12 @@ merchantability or fitness for a particular purpose.
=head1 AUTHOR
-Current maintainer: Adriano R. Ferreira <ferreira@cpan.org>
+Current maintainer: Mark Allen C<< <mallen@cpan.org> >>
Past contributions from:
-Sean M. Burke <sburke@cpan.org>
+brian d foy C<< <bdfoy@cpan.org> >>
+Adriano R. Ferreira C<< <ferreira@cpan.org> >>,
+Sean M. Burke C<< <sburke@cpan.org> >>
=cut
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToMan.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToMan.pm
index 09b0e817377..55616e8b899 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToMan.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToMan.pm
@@ -1,15 +1,22 @@
-
-require 5;
+require 5.006;
package Pod::Perldoc::ToMan;
use strict;
use warnings;
+use parent qw(Pod::Perldoc::BaseTo);
+
+use vars qw($VERSION);
+$VERSION = '3.17';
+use File::Spec::Functions qw(catfile);
+use Pod::Man 2.18;
# This class is unlike ToText.pm et al, because we're NOT paging thru
# the output in our particular format -- we make the output and
# then we run nroff (or whatever) on it, and then page thru the
# (plaintext) output of THAT!
-use base qw(Pod::Perldoc::BaseTo);
+sub SUCCESS () { 1 }
+sub FAILED () { 0 }
+
sub is_pageable { 1 }
sub write_with_binmode { 0 }
sub output_extension { 'txt' }
@@ -26,112 +33,486 @@ sub fixed { shift->_perldoc_elem('fixed' , @_) }
sub fixedbold { shift->_perldoc_elem('fixedbold' , @_) }
sub fixeditalic { shift->_perldoc_elem('fixeditalic' , @_) }
sub fixedbolditalic { shift->_perldoc_elem('fixedbolditalic', @_) }
+sub name { shift->_perldoc_elem('name' , @_) }
sub quotes { shift->_perldoc_elem('quotes' , @_) }
sub release { shift->_perldoc_elem('release' , @_) }
sub section { shift->_perldoc_elem('section' , @_) }
-sub new { return bless {}, ref($_[0]) || $_[0] }
+sub new {
+ my( $either ) = shift;
+ my $self = bless {}, ref($either) || $either;
+ $self->init( @_ );
+ return $self;
+ }
-use File::Spec::Functions qw(catfile);
+sub init {
+ my( $self, @args ) = @_;
+
+ unless( $self->__nroffer ) {
+ my $roffer = $self->_find_roffer( $self->_roffer_candidates );
+ $self->debug( "Using $roffer\n" );
+ $self->__nroffer( $roffer );
+ }
+ else {
+ $self->debug( "__nroffer is " . $self->__nroffer() . "\n" );
+ }
+
+ $self->_check_nroffer;
+ }
+
+sub _roffer_candidates {
+ my( $self ) = @_;
+
+ if( $self->is_openbsd ) { qw( mandoc groff nroff ) }
+ else { qw( groff nroff mandoc ) }
+ }
+
+sub _find_roffer {
+ my( $self, @candidates ) = @_;
+
+ my @found = ();
+ foreach my $candidate ( @candidates ) {
+ push @found, $self->_find_executable_in_path( $candidate );
+ }
+
+ return wantarray ? @found : $found[0];
+ }
+
+sub _check_nroffer {
+ return 1;
+ # where is it in the PATH?
+
+ # is it executable?
+
+ # what is its real name?
+
+ # what is its version?
+
+ # does it support the flags we need?
+
+ # is it good enough for us?
+ }
+
+sub _get_stty { `stty -a` }
+
+sub _get_columns_from_stty {
+ my $output = $_[0]->_get_stty;
+
+ if( $output =~ /\bcolumns\s+(\d+)/ ) { return $1 }
+ elsif( $output =~ /;\s*(\d+)\s+columns;/ ) { return $1 }
+ else { return 0 }
+ }
+
+sub _get_columns_from_manwidth {
+ my( $self ) = @_;
+
+ return 0 unless defined $ENV{MANWIDTH};
+
+ unless( $ENV{MANWIDTH} =~ m/\A\d+\z/ ) {
+ $self->warn( "Ignoring non-numeric MANWIDTH ($ENV{MANWIDTH})\n" );
+ return 0;
+ }
+
+ if( $ENV{MANWIDTH} == 0 ) {
+ $self->warn( "Ignoring MANWIDTH of 0. Really? Why even run the program? :)\n" );
+ return 0;
+ }
+
+ if( $ENV{MANWIDTH} =~ m/\A(\d+)\z/ ) { return $1 }
+
+ return 0;
+ }
+
+sub _get_default_width {
+ 73
+ }
+
+sub _get_columns {
+ $_[0]->_get_columns_from_manwidth ||
+ $_[0]->_get_columns_from_stty ||
+ $_[0]->_get_default_width;
+ }
+
+sub _get_podman_switches {
+ my( $self ) = @_;
+
+ my @switches = grep !m/^_/s, keys %$self;
+
+ push @switches, 'utf8' => 1;
+ $self->debug( "Pod::Man switches are [@switches]\n" );
+
+ return @switches;
+ }
+
+sub _parse_with_pod_man {
+ my( $self, $file ) = @_;
+
+ #->output_fh and ->output_string from Pod::Simple aren't
+ # working, apparently, so there's this ugly hack:
+ local *STDOUT;
+ open STDOUT, '>', $self->{_text_ref};
+ my $parser = Pod::Man->new( $self->_get_podman_switches );
+ $self->debug( "Parsing $file\n" );
+ $parser->parse_from_file( $file );
+ $self->debug( "Done parsing $file\n" );
+ close STDOUT;
+
+ $self->die( "No output from Pod::Man!\n" )
+ unless length $self->{_text_ref};
+
+ $self->_save_pod_man_output if $self->debugging;
+
+ return SUCCESS;
+ }
+
+sub _save_pod_man_output {
+ my( $self, $fh ) = @_;
+
+ $fh = do {
+ my $file = "podman.out.$$.txt";
+ $self->debug( "Writing $file with Pod::Man output\n" );
+ open my $fh2, '>', $file;
+ $fh2;
+ } unless $fh;
+
+ print { $fh } ${ $self->{_text_ref} };
+ }
+
+sub _have_groff_with_utf8 {
+ my( $self ) = @_;
+
+ return 0 unless $self->_is_groff;
+ my $roffer = $self->__nroffer;
+
+ my $minimum_groff_version = '1.20.1';
+
+ my $version_string = `$roffer -v`;
+ my( $version ) = $version_string =~ /\(?groff\)? version (\d+\.\d+(?:\.\d+)?)/;
+ $self->debug( "Found groff $version\n" );
+
+ # is a string comparison good enough?
+ if( $version lt $minimum_groff_version ) {
+ $self->warn(
+ "You have an old groff." .
+ " Update to version $minimum_groff_version for good Unicode support.\n" .
+ "If you don't upgrade, wide characters may come out oddly.\n"
+ );
+ }
+
+ $version ge $minimum_groff_version;
+ }
+
+sub _have_mandoc_with_utf8 {
+ my( $self ) = @_;
+
+ return 0 unless $self->_is_mandoc;
+ my $roffer = $self->__nroffer;
+
+ my $minimum_mandoc_version = '1.11';
+
+ my $version_string = `$roffer -V`;
+ my( $version ) = $version_string =~ /mandoc ((\d+)\.(\d+))/;
+ $self->debug( "Found mandoc $version\n" );
+
+ # is a string comparison good enough?
+ if( $version lt $minimum_mandoc_version ) {
+ $self->warn(
+ "You have an older mandoc." .
+ " Update to version $minimum_mandoc_version for better Unicode support.\n" .
+ "If you don't upgrade, wide characters may come out oddly.\n" .
+ "Your results still might be odd. If you have groff, that's even better.\n"
+ );
+ }
+
+ $version ge $minimum_mandoc_version;
+ }
+
+sub _collect_nroff_switches {
+ my( $self ) = shift;
+
+ my @render_switches = $self->_is_mandoc ? qw(-mandoc) : qw(-man);
+
+ push @render_switches, $self->_get_device_switches;
+
+ # Thanks to Brendan O'Dea for contributing the following block
+ if( $self->_is_roff and $self->is_linux and -t STDOUT and my ($cols) = $self->_get_columns ) {
+ my $c = $cols * 39 / 40;
+ $cols = $c > $cols - 2 ? $c : $cols -2;
+ push @render_switches, '-rLL=' . (int $c) . 'n' if $cols > 80;
+ }
+
+ # I hear persistent reports that adding a -c switch to $render
+ # solves many people's problems. But I also hear that some mans
+ # don't have a -c switch, so that unconditionally adding it here
+ # would presumably be a Bad Thing -- sburke@cpan.org
+ push @render_switches, '-c' if( $self->_is_roff and $self->is_cygwin );
+
+ return @render_switches;
+ }
+
+sub _get_device_switches {
+ my( $self ) = @_;
+
+ if( $self->_is_nroff ) { qw() }
+ elsif( $self->_have_groff_with_utf8 ) { qw(-Kutf8 -Tutf8) }
+ elsif( $self->_is_ebcdic ) { qw(-Tcp1047) }
+ elsif( $self->_have_mandoc_with_utf8 ) { qw(-Tutf8) }
+ elsif( $self->_is_mandoc ) { qw() }
+ else { qw(-Tlatin1) }
+ }
+
+sub _is_roff {
+ my( $self ) = @_;
+
+ $self->_is_nroff or $self->_is_groff;
+ }
+
+sub _is_nroff {
+ my( $self ) = @_;
+
+ $self->__nroffer =~ /\bnroff\b/;
+ }
+
+sub _is_groff {
+ my( $self ) = @_;
+
+ $self->__nroffer =~ /\bgroff\b/;
+ }
+
+sub _is_mandoc {
+ my ( $self ) = @_;
+
+ $self->__nroffer =~ /\bmandoc\b/;
+ }
+
+sub _is_ebcdic {
+ my( $self ) = @_;
+
+ return 0;
+ }
+
+sub _filter_through_nroff {
+ my( $self ) = shift;
+ $self->debug( "Filtering through " . $self->__nroffer() . "\n" );
+
+ # Maybe someone set rendering switches as part of the opt_n value
+ # Deal with that here.
+
+ my ($render, $switches) = $self->__nroffer() =~ /\A([\/a-zA-Z0-9_-]+)\b(.+)?\z/;
+
+ $self->die("no nroffer!?") unless $render;
+ my @render_switches = $self->_collect_nroff_switches;
+
+ if ( $switches ) {
+ # Eliminate whitespace
+ $switches =~ s/\s//g;
+
+ # Then seperate the switches with a zero-width positive
+ # lookahead on the dash.
+ #
+ # See:
+ # http://www.effectiveperlprogramming.com/blog/1411
+ # for a good discussion of this technique
+
+ push @render_switches, split(/(?=-)/, $switches);
+ }
+
+ $self->debug( "render is $render\n" );
+ $self->debug( "render options are @render_switches\n" );
+
+ require Symbol;
+ require IPC::Open3;
+ require IO::Handle;
+
+ my $pid = IPC::Open3::open3(
+ my $writer,
+ my $reader,
+ my $err = Symbol::gensym(),
+ $render,
+ @render_switches
+ );
+
+ $reader->autoflush(1);
+
+ use IO::Select;
+ my $selector = IO::Select->new( $reader );
+
+ $self->debug( "Writing to pipe to $render\n" );
+
+ my $offset = 0;
+ my $chunk_size = 4096;
+ my $length = length( ${ $self->{_text_ref} } );
+ my $chunks = $length / $chunk_size;
+ my $done;
+ my $buffer;
+ while( $offset <= $length ) {
+ $self->debug( "Writing chunk $chunks\n" ); $chunks++;
+ syswrite $writer, ${ $self->{_text_ref} }, $chunk_size, $offset
+ or $self->die( $! );
+ $offset += $chunk_size;
+ $self->debug( "Checking read\n" );
+ READ: {
+ last READ unless $selector->can_read( 0.01 );
+ $self->debug( "Reading\n" );
+ my $bytes = sysread $reader, $buffer, 4096;
+ $self->debug( "Read $bytes bytes\n" );
+ $done .= $buffer;
+ $self->debug( sprintf "Output is %d bytes\n",
+ length $done
+ );
+ next READ;
+ }
+ }
+ close $writer;
+ $self->debug( "Done writing\n" );
+
+ # read any leftovers
+ $done .= do { local $/; <$reader> };
+ $self->debug( sprintf "Done reading. Output is %d bytes\n",
+ length $done
+ );
+
+ if( $? ) {
+ $self->warn( "Error from pipe to $render!\n" );
+ $self->debug( 'Error: ' . do { local $/; <$err> } );
+ }
+
+
+ close $reader;
+ if( my $err = $? ) {
+ $self->debug(
+ "Nonzero exit ($?) while running `$render @render_switches`.\n" .
+ "Falling back to Pod::Perldoc::ToPod\n"
+ );
+ return $self->_fallback_to_pod( @_ );
+ }
+
+ $self->debug( "Output:\n----\n$done\n----\n" );
+
+ ${ $self->{_text_ref} } = $done;
+
+ return length ${ $self->{_text_ref} } ? SUCCESS : FAILED;
+ }
sub parse_from_file {
- my $self = shift;
- my($file, $outfh) = @_;
-
- my $render = $self->{'__nroffer'} || die "no nroffer set!?";
-
- # turn the switches into CLIs
- my $switches = join ' ',
- map qq{"--$_=$self->{$_}"},
- grep !m/^_/s,
- keys %$self
- ;
-
- my $pod2man =
- catfile(
- ($self->{'__bindir'} || die "no bindir set?!" ),
- ($self->{'__pod2man'} || die "no pod2man set?!" ),
- )
- ;
- unless(-e $pod2man) {
- # This is rarely needed, I think.
- $pod2man = $self->{'__pod2man'} || die "no pod2man set?!";
- die "Can't find a pod2man?! (". $self->{'__pod2man'} .")\nAborting"
- unless -e $pod2man;
- }
-
- my $command = "$pod2man $switches --lax $file | $render -man";
- # no temp file, just a pipe!
-
- # Thanks to Brendan O'Dea for contributing the following block
- if(Pod::Perldoc::IS_Linux and -t STDOUT
- and my ($cols) = `stty -a` =~ m/\bcolumns\s+(\d+)/
- ) {
- my $c = $cols * 39 / 40;
- $cols = $c > $cols - 2 ? $c : $cols -2;
- $command .= ' -rLL=' . (int $c) . 'n' if $cols > 80;
- }
-
- if(Pod::Perldoc::IS_Cygwin) {
- $command .= ' -c';
- }
-
- # I hear persistent reports that adding a -c switch to $render
- # solves many people's problems. But I also hear that some mans
- # don't have a -c switch, so that unconditionally adding it here
- # would presumably be a Bad Thing -- sburke@cpan.org
-
- $command .= " | col -x" if Pod::Perldoc::IS_HPUX;
-
- defined(&Pod::Perldoc::DEBUG)
- and Pod::Perldoc::DEBUG()
- and print "About to run $command\n";
- ;
-
- my $rslt = `$command`;
-
- my $err;
-
- if( $self->{'__filter_nroff'} ) {
- defined(&Pod::Perldoc::DEBUG)
- and &Pod::Perldoc::DEBUG()
- and print "filter_nroff is set, so filtering...\n";
- $rslt = $self->___Do_filter_nroff($rslt);
- } else {
- defined(&Pod::Perldoc::DEBUG)
- and Pod::Perldoc::DEBUG()
- and print "filter_nroff isn't set, so not filtering.\n";
- }
-
- if (($err = $?)) {
- defined(&Pod::Perldoc::DEBUG)
- and Pod::Perldoc::DEBUG()
- and print "Nonzero exit ($?) while running $command.\n",
- "Falling back to Pod::Perldoc::ToPod\n ",
- ;
- # A desperate fallthru:
- require Pod::Perldoc::ToPod;
- return Pod::Perldoc::ToPod->new->parse_from_file(@_);
-
- } else {
- print $outfh $rslt
- or die "Can't print to $$self{__output_file}: $!";
- }
-
- return;
-}
-
-
-sub ___Do_filter_nroff {
- my $self = shift;
- my @data = split /\n{2,}/, shift;
-
- shift @data while @data and $data[0] !~ /\S/; # Go to header
- shift @data if @data and $data[0] =~ /Contributed\s+Perl/; # Skip header
- pop @data if @data and $data[-1] =~ /^\w/; # Skip footer, like
- # 28/Jan/99 perl 5.005, patch 53 1
- join "\n\n", @data;
-}
+ my( $self, $file, $outfh) = @_;
+
+ # We have a pipeline of filters each affecting the reference
+ # in $self->{_text_ref}
+ $self->{_text_ref} = \my $output;
+
+ $self->_parse_with_pod_man( $file );
+ # so far, nroff is an external command so we ensure it worked
+ my $result = $self->_filter_through_nroff;
+ return $self->_fallback_to_pod( @_ ) unless $result == SUCCESS;
+
+ $self->_post_nroff_processing;
+
+ print { $outfh } $output or
+ $self->die( "Can't print to $$self{__output_file}: $!" );
+
+ return;
+ }
+
+sub _fallback_to_pod {
+ my( $self, @args ) = @_;
+ $self->warn( "Falling back to Pod because there was a problem!\n" );
+ require Pod::Perldoc::ToPod;
+ return Pod::Perldoc::ToPod->new->parse_from_file(@_);
+ }
+
+# maybe there's a user setting we should check?
+sub _get_tab_width { 4 }
+
+sub _expand_tabs {
+ my( $self ) = @_;
+
+ my $tab_width = ' ' x $self->_get_tab_width;
+
+ ${ $self->{_text_ref} } =~ s/\t/$tab_width/g;
+ }
+
+sub _post_nroff_processing {
+ my( $self ) = @_;
+
+ if( $self->is_hpux ) {
+ $self->debug( "On HP-UX, I'm going to expand tabs for you\n" );
+ # this used to be a pipe to `col -x` for HP-UX
+ $self->_expand_tabs;
+ }
+
+ if( $self->{'__filter_nroff'} ) {
+ $self->debug( "filter_nroff is set, so filtering\n" );
+ $self->_remove_nroff_header;
+ $self->_remove_nroff_footer;
+ }
+ else {
+ $self->debug( "filter_nroff is not set, so not filtering\n" );
+ }
+
+ $self->_handle_unicode;
+
+ return 1;
+ }
+
+# I don't think this does anything since there aren't two consecutive
+# newlines in the Pod::Man output
+sub _remove_nroff_header {
+ my( $self ) = @_;
+ $self->debug( "_remove_nroff_header is still a stub!\n" );
+ return 1;
+
+# my @data = split /\n{2,}/, shift;
+# shift @data while @data and $data[0] !~ /\S/; # Go to header
+# shift @data if @data and $data[0] =~ /Contributed\s+Perl/; # Skip header
+ }
+
+# I don't think this does anything since there aren't two consecutive
+# newlines in the Pod::Man output
+sub _remove_nroff_footer {
+ my( $self ) = @_;
+ $self->debug( "_remove_nroff_footer is still a stub!\n" );
+ return 1;
+ ${ $self->{_text_ref} } =~ s/\n\n+.*\w.*\Z//m;
+
+# my @data = split /\n{2,}/, shift;
+# pop @data if @data and $data[-1] =~ /^\w/; # Skip footer, like
+ # 28/Jan/99 perl 5.005, patch 53 1
+ }
+
+sub _unicode_already_handled {
+ my( $self ) = @_;
+
+ $self->_have_groff_with_utf8 ||
+ 1 # so, we don't have a case that needs _handle_unicode
+ ;
+ }
+
+sub _handle_unicode {
+# this is the job of preconv
+# we don't need this with groff 1.20 and later.
+ my( $self ) = @_;
+
+ return 1 if $self->_unicode_already_handled;
+
+ require Encode;
+
+ # it's UTF-8 here, but we need character data
+ my $text = Encode::decode( 'UTF-8', ${ $self->{_text_ref} } ) ;
+
+# http://www.mail-archive.com/groff@gnu.org/msg01378.html
+# http://linux.die.net/man/7/groff_char
+# http://www.gnu.org/software/groff/manual/html_node/Using-Symbols.html
+# http://lists.gnu.org/archive/html/groff/2011-05/msg00007.html
+# http://www.simplicidade.org/notes/archives/2009/05/fixing_the_pod.html
+# http://lists.freebsd.org/pipermail/freebsd-questions/2011-July/232239.html
+ $text =~ s/(\P{ASCII})/
+ sprintf '\\[u%04X]', ord $1
+ /eg;
+
+ # should we encode?
+ ${ $self->{_text_ref} } = $text;
+ }
1;
@@ -148,7 +529,7 @@ Pod::Perldoc::ToMan - let Perldoc render Pod as man pages
=head1 DESCRIPTION
This is a "plug-in" class that allows Perldoc to use
-Pod::Man and C<nroff> for reading Pod pages.
+Pod::Man and C<groff> for reading Pod pages.
The following options are supported: center, date, fixed, fixedbold,
fixeditalic, fixedbolditalic, quotes, release, section
@@ -170,6 +551,8 @@ L<Pod::Man>, L<Pod::Perldoc>, L<Pod::Perldoc::ToNroff>
=head1 COPYRIGHT AND DISCLAIMERS
+Copyright (c) 2011 brian d foy. All rights reserved.
+
Copyright (c) 2002,3,4 Sean M. Burke. All rights reserved.
This library is free software; you can redistribute it and/or modify it
@@ -181,10 +564,12 @@ merchantability or fitness for a particular purpose.
=head1 AUTHOR
-Current maintainer: Adriano R. Ferreira <ferreira@cpan.org>
+Current maintainer: Mark Allen C<< <mallen@cpan.org> >>
Past contributions from:
-Sean M. Burke <sburke@cpan.org>
+brian d foy C<< <bdfoy@cpan.org> >>
+Adriano R. Ferreira C<< <ferreira@cpan.org> >>,
+Sean M. Burke C<< <sburke@cpan.org> >>
=cut
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToNroff.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToNroff.pm
index 991c1e3269c..2e92f2a134e 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToNroff.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToNroff.pm
@@ -1,12 +1,12 @@
-
-require 5;
package Pod::Perldoc::ToNroff;
use strict;
use warnings;
+use parent qw(Pod::Perldoc::BaseTo);
-# This is unlike ToMan.pm in that it emits the raw nroff source!
+use vars qw($VERSION);
+$VERSION = '3.17';
-use base qw(Pod::Perldoc::BaseTo);
+# This is unlike ToMan.pm in that it emits the raw nroff source!
sub is_pageable { 1 } # well, if you ask for it...
sub write_with_binmode { 0 }
@@ -29,13 +29,13 @@ sub new { return bless {}, ref($_[0]) || $_[0] }
sub parse_from_file {
my $self = shift;
my $file = $_[0];
-
+
my @options =
map {; $_, $self->{$_} }
grep !m/^_/s,
keys %$self
;
-
+
defined(&Pod::Perldoc::DEBUG)
and Pod::Perldoc::DEBUG()
and print "About to call new Pod::Man ",
@@ -94,10 +94,12 @@ merchantability or fitness for a particular purpose.
=head1 AUTHOR
-Current maintainer: Adriano R. Ferreira <ferreira@cpan.org>
+Current maintainer: Mark Allen C<< <mallen@cpan.org> >>
Past contributions from:
-Sean M. Burke <sburke@cpan.org>
+brian d foy C<< <bdfoy@cpan.org> >>
+Adriano R. Ferreira C<< <ferreira@cpan.org> >>,
+Sean M. Burke C<< <sburke@cpan.org> >>
=cut
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToPod.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToPod.pm
index c3173d43702..6c15c02a781 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToPod.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToPod.pm
@@ -1,18 +1,11 @@
-
-# This class is just a hack to act as a "formatter" for
-# actually unformatted Pod.
-#
-# Note that this isn't the same as just passing thru whatever
-# we're given -- we pass thru only the pod source, and suppress
-# the Perl code (or whatever non-pod stuff is in the source file).
-
-
-require 5;
package Pod::Perldoc::ToPod;
use strict;
use warnings;
+use parent qw(Pod::Perldoc::BaseTo);
+
+use vars qw($VERSION);
+$VERSION = '3.17';
-use base qw(Pod::Perldoc::BaseTo);
sub is_pageable { 1 }
sub write_with_binmode { 0 }
sub output_extension { 'pod' }
@@ -22,10 +15,10 @@ sub new { return bless {}, ref($_[0]) || $_[0] }
sub parse_from_file {
my( $self, $in, $outfh ) = @_;
- open(IN, "<", $in) or die "Can't read-open $in: $!\nAborting";
+ open(IN, "<", $in) or $self->die( "Can't read-open $in: $!\nAborting" );
my $cut_mode = 1;
-
+
# A hack for finding things between =foo and =cut, inclusive
local $_;
while (<IN>) {
@@ -37,10 +30,10 @@ sub parse_from_file {
}
}
next if $cut_mode;
- print $outfh $_ or die "Can't print to $outfh: $!";
+ print $outfh $_ or $self->die( "Can't print to $outfh: $!" );
}
-
- close IN or die "Can't close $in: $!";
+
+ close IN or $self->die( "Can't close $in: $!" );
return;
}
@@ -84,10 +77,12 @@ merchantability or fitness for a particular purpose.
=head1 AUTHOR
-Current maintainer: Adriano R. Ferreira <ferreira@cpan.org>
+Current maintainer: Mark Allen C<< <mallencpan.org> >>
Past contributions from:
-Sean M. Burke <sburke@cpan.org>
+brian d foy C<< <bdfoy@cpan.org> >>
+Adriano R. Ferreira C<< <ferreira@cpan.org> >>,
+Sean M. Burke C<< <sburke@cpan.org> >>
=cut
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToRtf.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToRtf.pm
index 14d419fc313..a7d4739a6f0 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToRtf.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToRtf.pm
@@ -1,17 +1,10 @@
-
-require 5;
package Pod::Perldoc::ToRtf;
use strict;
use warnings;
-use vars qw($VERSION);
-
-use base qw( Pod::Simple::RTF );
-
-$VERSION # so that ->VERSION is happy
-# stop CPAN from seeing this
- =
-$Pod::Simple::RTF::VERSION;
+use parent qw( Pod::Simple::RTF );
+use vars qw($VERSION);
+$VERSION = '3.17';
sub is_pageable { 0 }
sub write_with_binmode { 0 }
@@ -20,11 +13,11 @@ sub output_extension { 'rtf' }
sub page_for_perldoc {
my($self, $tempfile, $perldoc) = @_;
return unless $perldoc->IS_MSWin32;
-
+
my $rtf_pager = $ENV{'RTFREADER'} || 'write.exe';
-
+
$perldoc->aside( "About to launch <\"$rtf_pager\" \"$tempfile\">\n" );
-
+
return 1 if system( qq{"$rtf_pager"}, qq{"$tempfile"} ) == 0;
return 0;
}
@@ -79,10 +72,12 @@ merchantability or fitness for a particular purpose.
=head1 AUTHOR
-Current maintainer: Adriano R. Ferreira <ferreira@cpan.org>
+Current maintainer: Mark Allen C<< <mallen@cpan.org> >>
Past contributions from:
-Sean M. Burke <sburke@cpan.org>
+brian d foy C<< <bdfoy@cpan.org> >>
+Adriano R. Ferreira C<< <ferreira@cpan.org> >>,
+Sean M. Burke C<< <sburke@cpan.org> >>
=cut
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTerm.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTerm.pm
new file mode 100644
index 00000000000..dddc4c8fce7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTerm.pm
@@ -0,0 +1,90 @@
+package Pod::Perldoc::ToTerm;
+use strict;
+use warnings;
+
+use vars qw($VERSION);
+$VERSION = '3.17';
+
+use parent qw(Pod::Perldoc::BaseTo);
+
+sub is_pageable { 1 }
+sub write_with_binmode { 0 }
+sub output_extension { 'txt' }
+
+use Pod::Text::Termcap ();
+
+sub alt { shift->_perldoc_elem('alt' , @_) }
+sub indent { shift->_perldoc_elem('indent' , @_) }
+sub loose { shift->_perldoc_elem('loose' , @_) }
+sub quotes { shift->_perldoc_elem('quotes' , @_) }
+sub sentence { shift->_perldoc_elem('sentence', @_) }
+sub width { shift->_perldoc_elem('width' , @_) }
+
+sub new { return bless {}, ref($_[0]) || $_[0] }
+
+sub parse_from_file {
+ my $self = shift;
+
+ my @options =
+ map {; $_, $self->{$_} }
+ grep !m/^_/s,
+ keys %$self
+ ;
+
+ defined(&Pod::Perldoc::DEBUG)
+ and Pod::Perldoc::DEBUG()
+ and print "About to call new Pod::Text::Termcap ",
+ $Pod::Text::VERSION ? "(v$Pod::Text::VERSION) " : '',
+ "with options: ",
+ @options ? "[@options]" : "(nil)", "\n";
+ ;
+
+ Pod::Text::Termcap->new(@options)->parse_from_file(@_);
+}
+
+1;
+
+=head1 NAME
+
+Pod::Perldoc::ToTerm - render Pod with terminal escapes
+
+=head1 SYNOPSIS
+
+ perldoc -o term Some::Modulename
+
+=head1 DESCRIPTION
+
+This is a "plug-in" class that allows Perldoc to use
+Pod::Text as a formatter class.
+
+It supports the following options, which are explained in
+L<Pod::Text>: alt, indent, loose, quotes, sentence, width
+
+For example:
+
+ perldoc -o term -w indent:5 Some::Modulename
+
+=head1 CAVEAT
+
+This module may change to use a different text formatter class in the
+future, and this may change what options are supported.
+
+=head1 SEE ALSO
+
+L<Pod::Text>, L<Pod::Text::Termcap>, L<Pod::Perldoc>
+
+=head1 COPYRIGHT AND DISCLAIMERS
+
+Copyright (c) 2011 Mark Allen.
+
+This program is free software; you can redistribute it and/or modify it
+under the terms of either: the GNU General Public License as published
+by the Free Software Foundation; or the Artistic License.
+
+See http://dev.perl.org/licenses/ for more information.
+
+=head1 AUTHOR
+
+Mark Allen C<< <mallen@cpan.org> >>
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToText.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToText.pm
index 7d1784cd59a..0e4e2dacf4d 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToText.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToText.pm
@@ -1,10 +1,11 @@
-
-require 5;
package Pod::Perldoc::ToText;
use strict;
use warnings;
-use base qw(Pod::Perldoc::BaseTo);
+use vars qw($VERSION);
+$VERSION = '3.17';
+
+use parent qw(Pod::Perldoc::BaseTo);
sub is_pageable { 1 }
sub write_with_binmode { 0 }
@@ -23,13 +24,13 @@ sub new { return bless {}, ref($_[0]) || $_[0] }
sub parse_from_file {
my $self = shift;
-
+
my @options =
map {; $_, $self->{$_} }
grep !m/^_/s,
keys %$self
;
-
+
defined(&Pod::Perldoc::DEBUG)
and Pod::Perldoc::DEBUG()
and print "About to call new Pod::Text ",
@@ -85,10 +86,12 @@ merchantability or fitness for a particular purpose.
=head1 AUTHOR
-Current maintainer: Adriano R. Ferreira <ferreira@cpan.org>
+Current maintainer: Mark Allen C<< <mallen@cpan.org> >>
Past contributions from:
-Sean M. Burke <sburke@cpan.org>
+brian d foy C<< <bdfoy@cpan.org> >>
+Adriano R. Ferreira C<< <ferreira@cpan.org> >>,
+Sean M. Burke C<< <sburke@cpan.org> >>
=cut
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTk.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTk.pm
index 5b29fd996e5..fb8da15c245 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTk.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToTk.pm
@@ -1,10 +1,11 @@
-
-require 5;
package Pod::Perldoc::ToTk;
use strict;
use warnings;
-use base qw(Pod::Perldoc::BaseTo);
+use vars qw($VERSION);
+$VERSION = '3.17';
+
+use parent qw(Pod::Perldoc::BaseTo);
sub is_pageable { 1 }
sub write_with_binmode { 0 }
@@ -20,12 +21,30 @@ sub forky { shift->_perldoc_elem('forky' , @_) }
use Pod::Perldoc ();
use File::Spec::Functions qw(catfile);
-use Tk;
-die join '', __PACKAGE__, " doesn't work nice with Tk.pm version $Tk::VERSION"
- if $Tk::VERSION eq '800.003';
+BEGIN{ # Tk is not core, but this is
+ eval { require Tk } ||
+ __PACKAGE__->die( <<"HERE" );
+You must have the Tk module to use Pod::Perldoc::ToTk.
+If you have it installed, ensure it's in your Perl library
+path.
+HERE
+
+ __PACKAGE__->die(
+ __PACKAGE__,
+ " doesn't work nice with Tk.pm version $Tk::VERSION"
+ ) if $Tk::VERSION eq '800.003';
+ }
+
BEGIN { eval { require Tk::FcyEntry; }; };
-use Tk::Pod;
+BEGIN{ # Tk::Pod is not core, but this is
+ eval { require Tk::Pod } ||
+ __PACKAGE__->die( <<"HERE" );
+You must have the Tk::Pod module to use Pod::Perldoc::ToTk.
+If you have it installed, ensure it's in your Perl library
+path.
+HERE
+ }
# The following was adapted from "tkpod" in the Tk-Pod dist.
@@ -35,29 +54,29 @@ sub parse_from_file {
if($self->{'forky'}) {
return if fork; # i.e., parent process returns
}
-
+
$Input_File =~ s{\\}{/}g
- if Pod::Perldoc::IS_MSWin32 or Pod::Perldoc::IS_Dos
+ if $self->is_mswin32 or $self->is_dos
# and maybe OS/2
;
-
+
my($tk_opt, $tree);
$tree = $self->{'tree' };
$tk_opt = $self->{'tk_opt'};
-
+
#require Tk::ErrorDialog;
-
+
# Add 'Tk' subdirectories to search path so, e.g.,
# 'Scrolled' will find doc in 'Tk/Scrolled'
-
+
if( $tk_opt ) {
push @INC, grep -d $_, map catfile($_,'Tk'), @INC;
}
-
+
my $mw = MainWindow->new();
#eval 'use blib "/home/e/eserte/src/perl/Tk-App";require Tk::App::Debug';
$mw->withdraw;
-
+
# CDE use Font Settings if available
my $ufont = $mw->optionGet('userFont','UserFont'); # fixed width
my $sfont = $mw->optionGet('systemFont','SystemFont'); # proportional
@@ -67,18 +86,18 @@ sub parse_from_file {
$mw->optionAdd('*Entry.Font', $ufont);
$mw->optionAdd('*Text.Font', $ufont);
}
-
+
$mw->optionAdd('*Menu.tearOff', $Tk::platform ne 'MSWin32' ? 1 : 0);
-
+
$mw->Pod(
'-file' => $Input_File,
(($Tk::Pod::VERSION >= 4) ? ('-tree' => $tree) : ())
)->focusNext;
-
+
# xxx dirty but it works. A simple $mw->destroy if $mw->children
# does not work because Tk::ErrorDialogs could be created.
# (they are withdrawn after Ok instead of destory'ed I guess)
-
+
if ($mw->children) {
$mw->repeat(1000, sub {
# ErrorDialog is withdrawn not deleted :-(
@@ -122,10 +141,13 @@ L<Tk::Pod>, L<Pod::Perldoc>
=head1 AUTHOR
-Current maintainer: Adriano R. Ferreira <ferreira@cpan.org>
+Current maintainer: Mark Allen C<< <mallen@cpan.org> >>
Past contributions from:
-Sean M. Burke C<sburke@cpan.org>, with significant portions copied from
+brian d foy C<< <bdfoy@cpan.org> >>
+Adriano R. Ferreira C<< <ferreira@cpan.org> >>;
+Sean M. Burke C<< <sburke@cpan.org> >>;
+significant portions copied from
F<tkpod> in the Tk::Pod dist, by Nick Ing-Simmons, Slaven Rezic, et al.
=cut
diff --git a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToXml.pm b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToXml.pm
index 439e736c20e..96f35c4f4b7 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToXml.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Perldoc/ToXml.pm
@@ -1,17 +1,12 @@
-
-require 5;
package Pod::Perldoc::ToXml;
use strict;
use warnings;
use vars qw($VERSION);
-use base qw( Pod::Simple::XMLOutStream );
-
-$VERSION # so that ->VERSION is happy
-# stop CPAN from seeing this
- =
-$Pod::Simple::XMLOutStream::VERSION;
+use parent qw( Pod::Simple::XMLOutStream );
+use vars qw($VERSION);
+$VERSION = '3.17';
sub is_pageable { 0 }
sub write_with_binmode { 0 }
@@ -57,10 +52,12 @@ merchantability or fitness for a particular purpose.
=head1 AUTHOR
-Current maintainer: Adriano R. Ferreira <ferreira@cpan.org>
+Current maintainer: Mark Allen C<< <mallen@cpan.org> >>
Past contributions from:
-Sean M. Burke <sburke@cpan.org>
+brian d foy C<< <bdfoy@cpan.org> >>
+Adriano R. Ferreira C<< <ferreira@cpan.org> >>,
+Sean M. Burke C<< <sburke@cpan.org> >>
=cut
diff --git a/Master/tlpkg/tlperl/lib/Pod/PlainText.pm b/Master/tlpkg/tlperl/lib/Pod/PlainText.pm
index 0dce1799b2b..06df184097f 100644
--- a/Master/tlpkg/tlperl/lib/Pod/PlainText.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/PlainText.pm
@@ -29,7 +29,7 @@ use vars qw(@ISA %ESCAPES $VERSION);
# by Pod::Usage.
@ISA = qw(Pod::Select);
-$VERSION = '2.04';
+$VERSION = '2.05';
BEGIN {
if ($] < 5.006) {
@@ -390,7 +390,7 @@ sub cmd_for {
my $self = shift;
local $_ = shift;
my $line = shift;
- return unless s/^text\b[ \t]*\n?//;
+ return unless s/^text\b[ \t]*\r?\n?//;
$self->verbatim ($_, $line);
}
@@ -485,7 +485,7 @@ sub item {
my $margin = $$self{MARGIN};
$$self{MARGIN} = $indent;
my $output = $self->reformat ($tag);
- $output =~ s/\n*$/\n/;
+ $output =~ s/[\r\n]*$/\n/;
$self->output ($output);
$$self{MARGIN} = $margin;
$self->output ($self->reformat ($_)) if /\S/;
@@ -514,7 +514,7 @@ sub wrap {
my $spaces = ' ' x $$self{MARGIN};
my $width = $$self{width} - $$self{MARGIN};
while (length > $width) {
- if (s/^([^\n]{0,$width})\s+// || s/^([^\n]{$width})//) {
+ if (s/^([^\r\n]{0,$width})\s+// || s/^([^\r\n]{$width})//) {
$output .= $spaces . $1 . "\n";
} else {
last;
@@ -535,8 +535,8 @@ sub reformat {
# munging to support that. Otherwise, smash all repeated whitespace.
if ($$self{sentence}) {
s/ +$//mg;
- s/\.\n/. \n/g;
- s/\n/ /g;
+ s/\.\r?\n/. \n/g;
+ s/[\r\n]+/ /g;
s/ +/ /g;
} else {
s/\s+/ /g;
@@ -723,6 +723,8 @@ subclass of it does. Look for L<Pod::Text::Termcap|Pod::Text::Termcap>.
=head1 SEE ALSO
+B<Pod::PlainText> is part of the L<Pod::Parser> distribution.
+
L<Pod::Parser|Pod::Parser>, L<Pod::Text::Termcap|Pod::Text::Termcap>,
pod2text(1)
diff --git a/Master/tlpkg/tlperl/lib/Pod/Select.pm b/Master/tlpkg/tlperl/lib/Pod/Select.pm
index 4724cb79cf9..300eee537e8 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Select.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Select.pm
@@ -11,7 +11,7 @@ package Pod::Select;
use strict;
use vars qw($VERSION @ISA @EXPORT $MAX_HEADING_LEVEL %myData @section_headings @selected_sections);
-$VERSION = '1.36'; ## Current version of this package
+$VERSION = '1.51'; ## Current version of this package
require 5.005; ## requires this Perl version or later
#############################################################################
@@ -740,6 +740,8 @@ Brad Appleton E<lt>bradapp@enteract.comE<gt>
Based on code for B<pod2text> written by
Tom Christiansen E<lt>tchrist@mox.perl.comE<gt>
+B<Pod::Select> is part of the L<Pod::Parser> distribution.
+
=cut
1;
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple.pm b/Master/tlpkg/tlperl/lib/Pod/Simple.pm
index 909a2ec8341..ad7a19b8eff 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple.pm
@@ -18,7 +18,7 @@ use vars qw(
);
@ISA = ('Pod::Simple::BlackBox');
-$VERSION = '3.16';
+$VERSION = '3.20';
@Known_formatting_codes = qw(I B C L E F S X Z);
%Known_formatting_codes = map(($_=>1), @Known_formatting_codes);
@@ -93,10 +93,15 @@ __PACKAGE__->_accessorize(
'codes_in_verbatim', # for PseudoPod extensions
'code_handler', # coderef to call when a code (non-pod) line is seen
- 'cut_handler', # coderef to call when a =cut line is seen
+ 'cut_handler', # ... when a =cut line is seen
+ 'pod_handler', # ... when a =pod line is seen
+ 'whiteline_handler', # ... when a line with only whitespace is seen
#Called like:
# $code_handler->($line, $self->{'line_count'}, $self) if $code_handler;
# $cut_handler->($line, $self->{'line_count'}, $self) if $cut_handler;
+ # $pod_handler->($line, $self->{'line_count'}, $self) if $pod_handler;
+ # $wl_handler->($line, $self->{'line_count'}, $self) if $wl_handler;
+ 'parse_empty_lists', # whether to acknowledge empty =over/=back blocks
);
@@ -356,7 +361,8 @@ sub parse_string_document {
next unless defined $line_group and length $line_group;
pos($line_group) = 0;
while($line_group =~
- m/([^\n\r]*)((?:\r?\n)?)/g
+ m/([^\n\r]*)(\r?\n?)/g # supports \r, \n ,\r\n
+ #m/([^\n\r]*)((?:\r?\n)?)/g
) {
#print(">> $1\n"),
$self->parse_lines($1)
@@ -406,16 +412,30 @@ sub parse_file {
# By here, $source is a FH.
$self->{'source_fh'} = $source;
-
+
my($i, @lines);
until( $self->{'source_dead'} ) {
splice @lines;
+
for($i = MANY_LINES; $i--;) { # read those many lines at a time
local $/ = $NL;
push @lines, scalar(<$source>); # readline
last unless defined $lines[-1];
# but pass thru the undef, which will set source_dead to true
}
+
+ my $at_eof = ! $lines[-1]; # keep track of the undef
+ pop @lines if $at_eof; # silence warnings
+
+ # be eol agnostic
+ s/\r\n?/\n/g for @lines;
+
+ # make sure there are only one line elements for parse_lines
+ @lines = split(/(?<=\n)/, join('', @lines));
+
+ # push the undef back after popping it to set source_dead to true
+ push @lines, undef if $at_eof;
+
$self->parse_lines(@lines);
}
delete($self->{'source_fh'}); # so it can be GC'd
@@ -960,7 +980,7 @@ sub _treat_Zs { # Nix Z<...>'s
# possibly a man page name (like "crontab(5)" is).
#
-############# Not implemented, I guess.
+############# The "raw" attribute that is already there.
# Sixth:
# The raw original L<...> content, before text is split on "|", "/", etc,
# and before E<...> codes are expanded.
@@ -1330,6 +1350,10 @@ sub _treat_Es {
DEBUG > 1 and print "Ogling E<$content>\n";
+ # XXX E<>'s contents *should* be a valid char in the scope of the current
+ # =encoding directive. Defaults to iso-8859-1, I believe. Fix this in the
+ # future sometime.
+
$charnum = Pod::Escapes::e2charnum($content);
DEBUG > 1 and print " Considering E<$content> with char ",
defined($charnum) ? $charnum : "undef", ".\n";
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple.pod b/Master/tlpkg/tlperl/lib/Pod/Simple.pod
index d3f168d7e0a..a8ad211d3b6 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple.pod
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple.pod
@@ -85,9 +85,9 @@ the last call) ends with an C<undef> value.
=item C<< $parser->content_seen >>
-This returns true only if there has been any real content seen
-for this document.
-
+This returns true only if there has been any real content seen for this
+document. Returns false in cases where the document contains content,
+but does not make use of any Pod markup.
=item C<< I<SomeClass>->filter( I<$filename> ); >>
@@ -211,6 +211,117 @@ that you don't want I<any> lines indented. You can do something like this:
=back
+=head1 TERTIARY METHODS
+
+=over
+
+=item C<< $parser->abandon_output_fh() >>X<abandon_output_fh>
+
+Cancel output to the file handle. Any POD read by the C<$parser> is not
+effected.
+
+=item C<< $parser->abandon_output_string() >>X<abandon_output_string>
+
+Cancel output to the output string. Any POD read by the C<$parser> is not
+effected.
+
+=item C<< $parser->accept_code( @codes ) >>X<accept_code>
+
+Alias for L<< accept_codes >>.
+
+=item C<< $parser->accept_codes( @codes ) >>X<accept_codes>
+
+Allows C<$parser> to accept a list of L<perlpod/Formatting Codes>. This can be
+used to implement user-defined codes.
+
+=item C<< $parser->accept_directive_as_data( @directives ) >>X<accept_directive_as_data>
+
+Allows C<$parser> to accept a list of directives for data paragraphs. A
+directive is the label of a L<perlpod/Command Paragraph>. A data paragraph is
+one delimited by C<< =begin/=for/=end >> directives. This can be used to
+implement user-defined directives.
+
+=item C<< $parser->accept_directive_as_processed( @directives ) >>X<accept_directive_as_processed>
+
+Allows C<$parser> to accept a list of directives for processed paragraphs. A
+directive is the label of a L<perlpod/Command Paragraph>. A processed
+paragraph is also known as L<perlpod/Ordinary Paragraph>. This can be used to
+implement user-defined directives.
+
+=item C<< $parser->accept_directive_as_verbatim( @directives ) >>X<accept_directive_as_verbatim>
+
+Allows C<$parser> to accept a list of directives for L<perlpod/Verbatim
+Paragraph>. A directive is the label of a L<perlpod/Command Paragraph>. This
+can be used to implement user-defined directives.
+
+=item C<< $parser->accept_target( @targets ) >>X<accept_target>
+
+Alias for L<< accept_targets >>.
+
+=item C<< $parser->accept_target_as_text( @targets ) >>X<accept_target_as_text>
+
+Alias for L<< accept_targets_as_text >>.
+
+=item C<< $parser->accept_targets( @targets ) >>X<accept_targets>
+
+Accepts targets for C<< =begin/=for/=end >> sections of the POD.
+
+=item C<< $parser->accept_targets_as_text( @targets ) >>X<accept_targets_as_text>
+
+Accepts targets for C<< =begin/=for/=end >> sections that should be parsed as
+POD. For details, see L<< perlpodspec/About Data Paragraphs >>.
+
+=item C<< $parser->any_errata_seen() >>X<any_errata_seen>
+
+Used to check if any errata was seen.
+
+I<Example:>
+
+ die "too many errors\n" if $parser->any_errata_seen();
+
+=item C<< $parser->parse_from_file( $source, $to ) >>X<parse_from_file>
+
+Parses from C<$source> file to C<$to> file. Similar to L<<
+Pod::Parser/parse_from_file >>.
+
+=item C<< $parser->scream( @error_messages ) >>X<scream>
+
+Log an error that can't be ignored.
+
+=item C<< $parser->unaccept_code( @codes ) >>X<unaccept_code>
+
+Alias for L<< unaccept_codes >>.
+
+=item C<< $parser->unaccept_codes( @codes ) >>X<unaccept_codes>
+
+Removes C<< @codes >> as valid codes for the parse.
+
+=item C<< $parser->unaccept_directive( @directives ) >>X<unaccept_directive>
+
+Alias for L<< unaccept_directives >>.
+
+=item C<< $parser->unaccept_directives( @directives ) >>X<unaccept_directives>
+
+Removes C<< @directives >> as valid directives for the parse.
+
+=item C<< $parser->unaccept_target( @targets ) >>X<unaccept_target>
+
+Alias for L<< unaccept_targets >>.
+
+=item C<< $parser->unaccept_targets( @targets ) >>X<unaccept_targets>
+
+Removes C<< @targets >> as valid targets for the parse.
+
+=item C<< $parser->version_report() >>X<version_report>
+
+Returns a string describing the version.
+
+=item C<< $parser->whine( @error_messages ) >>X<whine>
+
+Log an error unless C<< $parser->no_whining( TRUE ); >>.
+
+=back
+
=head1 CAVEATS
This is just a beta release -- there are a good number of things still
@@ -271,4 +382,14 @@ Pod::Simple is maintained by:
=back
+Documentation has been contributed by:
+
+=over
+
+=item * Gabor Szabo C<szabgab@gmail.com>
+
+=item * Shawn H Corey C<SHCOREY at cpan.org>
+
+=back
+
=cut
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/BlackBox.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/BlackBox.pm
index 4765744d82c..c17cfd0ad51 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/BlackBox.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/BlackBox.pm
@@ -23,7 +23,7 @@ use integer; # vroom!
use strict;
use Carp ();
use vars qw($VERSION );
-$VERSION = '3.16';
+$VERSION = '3.20';
#use constant DEBUG => 7;
BEGIN {
require Pod::Simple;
@@ -42,6 +42,7 @@ sub parse_lines { # Usage: $parser->parse_lines(@lines)
my $code_handler = $self->{'code_handler'};
my $cut_handler = $self->{'cut_handler'};
+ my $wl_handler = $self->{'whiteline_handler'};
$self->{'line_count'} ||= 0;
my $scratch;
@@ -191,7 +192,12 @@ sub parse_lines { # Usage: $parser->parse_lines(@lines)
# TODO: add to docs: Note: this may cause cuts to be processed out
# of order relative to pods, but in order relative to code.
- } elsif($line =~ m/^\s*$/s) { # it's a blank line
+ } elsif($line =~ m/^(\s*)$/s) { # it's a blank line
+ if (defined $1 and $1 =~ /[^\S\r\n]/) { # it's a white line
+ $wl_handler->(map $_, $line, $self->{'line_count'}, $self)
+ if $wl_handler;
+ }
+
if(!$self->{'start_of_pod_block'} and @$paras and $paras->[-1][0] eq '~Verbatim') {
DEBUG > 1 and print "Saving blank line at line ${$self}{'line_count'}\n";
push @{$paras->[-1]}, $line;
@@ -592,7 +598,8 @@ sub _ponder_paragraph_buffer {
if($para_type eq '=item') {
my $over;
- unless(@$curr_open and ($over = $curr_open->[-1])->[0] eq '=over') {
+ unless(@$curr_open and
+ $over = (grep { $_->[0] eq '=over' } @$curr_open)[-1]) {
$self->whine(
$para->[1]{'start_line'},
"'=item' outside of any '=over'"
@@ -917,7 +924,7 @@ sub _ponder_begin {
$para->[1]{'title'} = $title if ($title);
$para->[1]{'target'} = $target; # without any ':'
$content = $target; # strip off the title
-
+
$content =~ s/^:!/!:/s;
my $neg; # whether this is a negation-match
$neg = 1 if $content =~ s/^!//s;
@@ -983,7 +990,7 @@ sub _ponder_end {
$content =~ s/^\s+//s;
$content =~ s/\s+$//s;
DEBUG and print "Ogling '=end $content' directive\n";
-
+
unless(length($content)) {
$self->whine(
$para->[1]{'start_line'},
@@ -1039,7 +1046,7 @@ sub _ponder_end {
# what's that for?
$self->{'content_seen'} ||= 1;
- $self->_handle_element_end( my $scratch = 'for' );
+ $self->_handle_element_end( my $scratch = 'for', $para->[1]);
}
DEBUG > 1 and print "Popping $curr_open->[-1][0] $curr_open->[-1][1]{'target'} because of =end $content\n";
pop @$curr_open;
@@ -1092,7 +1099,18 @@ sub _ponder_pod {
"=pod directives shouldn't be over one line long! Ignoring all "
. (@$para - 2) . " lines of content"
) if @$para > 3;
- # Content is always ignored.
+
+ # Content ignored unless 'pod_handler' is set
+ if (my $pod_handler = $self->{'pod_handler'}) {
+ my ($line_num, $line) = map $_, $para->[1]{'start_line'}, $para->[2];
+ $line = $line eq '' ? "=pod" : "=pod $line"; # imitate cut_handler output
+ $pod_handler->($line, $line_num, $self);
+ }
+
+ # The surrounding methods set content_seen, so let us remain consistent.
+ # I do not know why it was not here before -- should it not be here?
+ # $self->{'content_seen'} ||= 1;
+
return;
}
@@ -1105,10 +1123,13 @@ sub _ponder_over {
$list_type = $self->_get_initial_item_type($paras->[0]);
} elsif($paras->[0][0] eq '=back') {
- # Ignore empty lists. TODO: make this an option?
- shift @$paras;
- return 1;
-
+ # Ignore empty lists by default
+ if ($self->{'parse_empty_lists'}) {
+ $list_type = 'empty';
+ } else {
+ shift @$paras;
+ return 1;
+ }
} elsif($paras->[0][0] eq '~end') {
$self->whine(
$para->[1]{'start_line'},
@@ -1169,7 +1190,7 @@ sub _ponder_back {
#my $over = pop @$curr_open;
$self->{'content_seen'} ||= 1;
$self->_handle_element_end( my $scratch =
- 'over-' . ( (pop @$curr_open)->[1]{'~type'} )
+ 'over-' . ( (pop @$curr_open)->[1]{'~type'} ), $para->[1]
);
} else {
DEBUG > 1 and print "=back found without a matching =over. Stack: (",
@@ -1185,7 +1206,8 @@ sub _ponder_back {
sub _ponder_item {
my ($self,$para,$curr_open,$paras) = @_;
my $over;
- unless(@$curr_open and ($over = $curr_open->[-1])->[0] eq '=over') {
+ unless(@$curr_open and
+ $over = (grep { $_->[0] eq '=over' } @$curr_open)[-1]) {
$self->whine(
$para->[1]{'start_line'},
"'=item' outside of any '=over'"
@@ -1383,7 +1405,7 @@ sub _ponder_Verbatim {
for(my $i = 2; $i < @$para; $i++) {
foreach my $line ($para->[$i]) { # just for aliasing
# Strip indentation.
- $line =~ s/^\E$indent// if $indent
+ $line =~ s/^\Q$indent// if $indent
&& !($self->{accept_codes} && $self->{accept_codes}{VerbatimFormatted});
while( $line =~
# Sort of adapted from Text::Tabs -- yes, it's hardwired in that
@@ -1471,7 +1493,9 @@ sub _closers_for_all_curr_open {
$copy[-1] = '' unless defined $copy[-1];
# since =over's don't have targets
}
-
+
+ $copy[1]{'fake-closer'} = 1;
+
DEBUG and print "Queuing up fake-o event: ", pretty(\@copy), "\n";
unshift @closers, \@copy;
}
@@ -1638,6 +1662,10 @@ sub _treelet_from_formatting_codes {
my @stack;
my @lineage = ($treelet);
+ my $raw = ''; # raw content of L<> fcode before splitting/processing
+ # XXX 'raw' is not 100% accurate: all surrounding whitespace is condensed
+ # into just 1 ' '. Is this the regex's doing or 'raw's?
+ my $inL = 0;
DEBUG > 4 and print "Paragraph:\n$para\n\n";
@@ -1709,7 +1737,13 @@ sub _treelet_from_formatting_codes {
}
push @lineage, [ substr($1,0,1), {}, ]; # new node object
push @{ $lineage[-2] }, $lineage[-1];
-
+ if ('L' eq substr($1,0,1)) {
+ $raw = $inL ? $raw.$1 : ''; # reset raw content accumulator
+ $inL = 1;
+ } else {
+ $raw .= $1 if $inL;
+ }
+
} elsif(defined $4) {
DEBUG > 3 and print "Found apparent complex end-text code \"$3$4\"\n";
# This is where it gets messy...
@@ -1743,6 +1777,14 @@ sub _treelet_from_formatting_codes {
pop @stack;
pop @lineage;
+
+ unless (@stack) { # not in an L if there are no open fcodes
+ $inL = 0;
+ if (ref $lineage[-1][-1] && $lineage[-1][-1][0] eq 'L') {
+ $lineage[-1][-1][1]{'raw'} = $raw
+ }
+ }
+ $raw .= $3.$4 if $inL;
} elsif(defined $5) {
DEBUG > 3 and print "Found apparent simple end-text code \"$5\"\n";
@@ -1764,10 +1806,21 @@ sub _treelet_from_formatting_codes {
push @{ $lineage[-1] }, $5;
}
+ unless (@stack) { # not in an L if there are no open fcodes
+ $inL = 0;
+ if (ref $lineage[-1][-1] && $lineage[-1][-1][0] eq 'L') {
+ $lineage[-1][-1][1]{'raw'} = $raw
+ }
+ }
+ $raw .= $5 if $inL;
+
} elsif(defined $6) {
DEBUG > 3 and print "Found stuff \"$6\"\n";
push @{ $lineage[-1] }, $6;
-
+ $raw .= $6 if $inL;
+ # XXX does not capture multiplace whitespaces -- 'raw' ends up with
+ # at most 1 leading/trailing whitespace, why not all of it?
+
} else {
# should never ever ever ever happen
DEBUG and print "AYYAYAAAAA at line ", __LINE__, "\n";
@@ -1795,7 +1848,7 @@ sub _treelet_from_formatting_codes {
"Unterminated $x sequence",
);
}
-
+
return $treelet;
}
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/Checker.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/Checker.pm
index 6aca3894191..c97267a86ba 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/Checker.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/Checker.pm
@@ -9,7 +9,7 @@ use Carp ();
use Pod::Simple::Methody ();
use Pod::Simple ();
use vars qw( @ISA $VERSION );
-$VERSION = '3.16';
+$VERSION = '3.20';
@ISA = ('Pod::Simple::Methody');
BEGIN { *DEBUG = defined(&Pod::Simple::DEBUG)
? \&Pod::Simple::DEBUG
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/Debug.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/Debug.pm
index b3de557af3f..57733028427 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/Debug.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/Debug.pm
@@ -3,7 +3,7 @@ require 5;
package Pod::Simple::Debug;
use strict;
use vars qw($VERSION );
-$VERSION = '3.16';
+$VERSION = '3.20';
sub import {
my($value,$variable);
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsText.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsText.pm
index 5609c71e342..5e2d7ebf5ff 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsText.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsText.pm
@@ -1,7 +1,7 @@
require 5;
package Pod::Simple::DumpAsText;
-$VERSION = '3.16';
+$VERSION = '3.20';
use Pod::Simple ();
BEGIN {@ISA = ('Pod::Simple')}
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsXML.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsXML.pm
index beef7caad8a..e43422bbd7c 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsXML.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/DumpAsXML.pm
@@ -1,7 +1,7 @@
require 5;
package Pod::Simple::DumpAsXML;
-$VERSION = '3.16';
+$VERSION = '3.20';
use Pod::Simple ();
BEGIN {@ISA = ('Pod::Simple')}
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/HTML.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/HTML.pm
index 9d7d069645a..12fad403589 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/HTML.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/HTML.pm
@@ -10,7 +10,7 @@ use vars qw(
$Doctype_decl $Content_decl
);
@ISA = ('Pod::Simple::PullParser');
-$VERSION = '3.16';
+$VERSION = '3.20';
BEGIN {
if(defined &DEBUG) { } # no-op
@@ -491,8 +491,11 @@ sub _do_middle_main_loop {
$name = $self->do_section($name, $token) if defined $name;
print $fh "<a ";
- print $fh "class='u' href='#___top' title='click to go to top of document'\n"
- if $tagname =~ m/^head\d$/s;
+ if ($tagname =~ m/^head\d$/s) {
+ print $fh "class='u'", $self->index
+ ? " href='#___top' title='click to go to top of document'\n"
+ : "\n";
+ }
if(defined $name) {
my $esc = esc( $self->section_name_tidy( $name ) );
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/HTMLBatch.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/HTMLBatch.pm
index 7686cd41477..52e77bcc1b8 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/HTMLBatch.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/HTMLBatch.pm
@@ -5,7 +5,7 @@ use strict;
use vars qw( $VERSION $HTML_RENDER_CLASS $HTML_EXTENSION
$CSS $JAVASCRIPT $SLEEPY $SEARCH_CLASS @ISA
);
-$VERSION = '3.16';
+$VERSION = '3.20';
@ISA = (); # Yup, we're NOT a subclass of Pod::Simple::HTML!
# TODO: nocontents stylesheets. Strike some of the color variations?
@@ -1082,7 +1082,7 @@ Example:
% mkdir out_html
% perl -MPod::Simple::HTMLBatch -e Pod::Simple::HTMLBatch::go @INC out_html
(to convert the pod from Perl's @INC
- files under the directory ../htmlversion)
+ files under the directory ./out_html)
(Note that the command line there contains a literal atsign-I-N-C. This
is handled as a special case by batch_convert, in order to save you having
@@ -1095,7 +1095,7 @@ Example:
% chmod og-rx ../seekrut
% perl -MPod::Simple::HTMLBatch -e Pod::Simple::HTMLBatch::go . ../htmlversion
(to convert the pod under the current dir into HTML
- files under the directory ../htmlversion)
+ files under the directory ./seekrut)
Example:
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/LinkSection.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/LinkSection.pm
index 7d77ebb1f82..5aa5bc19897 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/LinkSection.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/LinkSection.pm
@@ -3,12 +3,12 @@ require 5;
package Pod::Simple::LinkSection;
# Based somewhat dimly on Array::Autojoin
use vars qw($VERSION );
-$VERSION = '3.16';
+$VERSION = '3.20';
use strict;
use Pod::Simple::BlackBox;
use vars qw($VERSION );
-$VERSION = '3.16';
+$VERSION = '3.20';
use overload( # So it'll stringify nice
'""' => \&Pod::Simple::BlackBox::stringify_lol,
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/Methody.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/Methody.pm
index 0d69b7a1d99..4113daf2351 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/Methody.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/Methody.pm
@@ -4,7 +4,7 @@ package Pod::Simple::Methody;
use strict;
use Pod::Simple ();
use vars qw(@ISA $VERSION);
-$VERSION = '3.16';
+$VERSION = '3.20';
@ISA = ('Pod::Simple');
# Yes, we could use named variables, but I want this to be impose
@@ -32,7 +32,7 @@ sub _handle_element_end {
( $_[0]->can( 'end_' . $_[1] )
|| return
)->(
- $_[0]
+ $_[0], $_[2]
);
}
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/Progress.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/Progress.pm
index 622909bb2b1..e85084a1c26 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/Progress.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/Progress.pm
@@ -1,7 +1,7 @@
require 5;
package Pod::Simple::Progress;
-$VERSION = '3.16';
+$VERSION = '3.20';
use strict;
# Objects of this class are used for noting progress of an
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParser.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParser.pm
index 4033213e825..c9726fd564a 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParser.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParser.pm
@@ -1,7 +1,7 @@
require 5;
package Pod::Simple::PullParser;
-$VERSION = '3.16';
+$VERSION = '3.20';
use Pod::Simple ();
BEGIN {@ISA = ('Pod::Simple')}
@@ -231,6 +231,8 @@ sub unget_token {
sub set_source {
my $self = shift @_;
return $self->{'source_fh'} unless @_;
+ Carp::croak("Cannot assign new source to pull parser; create a new instance, instead")
+ if $self->{'source_fh'} || $self->{'source_scalar_ref'} || $self->{'source_arrayref'};
my $handle;
if(!defined $_[0]) {
Carp::croak("Can't use empty-string as a source for set_source");
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserEndToken.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserEndToken.pm
index 8b12e646dcc..a45aba18bae 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserEndToken.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserEndToken.pm
@@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken ();
use strict;
use vars qw(@ISA $VERSION);
@ISA = ('Pod::Simple::PullParserToken');
-$VERSION = '3.16';
+$VERSION = '3.20';
sub new { # Class->new(tagname);
my $class = shift;
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserStartToken.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserStartToken.pm
index 232ef235f38..e9fbaa2b5ec 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserStartToken.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserStartToken.pm
@@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken ();
use strict;
use vars qw(@ISA $VERSION);
@ISA = ('Pod::Simple::PullParserToken');
-$VERSION = '3.16';
+$VERSION = '3.20';
sub new { # Class->new(tagname, optional_attrhash);
my $class = shift;
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserTextToken.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserTextToken.pm
index a7fcb0fbb16..34985fdfb03 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserTextToken.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserTextToken.pm
@@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken ();
use strict;
use vars qw(@ISA $VERSION);
@ISA = ('Pod::Simple::PullParserToken');
-$VERSION = '3.16';
+$VERSION = '3.20';
sub new { # Class->new(text);
my $class = shift;
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserToken.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserToken.pm
index ad6ebf38b44..b323ece2a32 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserToken.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/PullParserToken.pm
@@ -3,7 +3,7 @@ require 5;
package Pod::Simple::PullParserToken;
# Base class for tokens gotten from Pod::Simple::PullParser's $parser->get_token
@ISA = ();
-$VERSION = '3.16';
+$VERSION = '3.20';
use strict;
sub new { # Class->new('type', stuff...); ## Overridden in derived classes anyway
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/RTF.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/RTF.pm
index 7dbc643de52..0d184e3a66b 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/RTF.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/RTF.pm
@@ -8,7 +8,7 @@ package Pod::Simple::RTF;
use strict;
use vars qw($VERSION @ISA %Escape $WRAP %Tagmap);
-$VERSION = '3.16';
+$VERSION = '3.20';
use Pod::Simple::PullParser ();
BEGIN {@ISA = ('Pod::Simple::PullParser')}
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/Search.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/Search.pm
index b7d209b1031..7e507e62b95 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/Search.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/Search.pm
@@ -4,7 +4,7 @@ package Pod::Simple::Search;
use strict;
use vars qw($VERSION $MAX_VERSION_WITHIN $SLEEPY);
-$VERSION = '3.16'; ## Current version of this package
+$VERSION = '3.20'; ## Current version of this package
BEGIN { *DEBUG = sub () {0} unless defined &DEBUG; } # set DEBUG level
use Carp ();
@@ -25,7 +25,7 @@ use Cwd qw( cwd );
#==========================================================================
__PACKAGE__->_accessorize( # Make my dumb accessor methods
'callback', 'progress', 'dir_prefix', 'inc', 'laborious', 'limit_glob',
- 'limit_re', 'shadows', 'verbose', 'name2path', 'path2name',
+ 'limit_re', 'shadows', 'verbose', 'name2path', 'path2name', 'recurse',
);
#==========================================================================
@@ -39,6 +39,7 @@ sub new {
sub init {
my $self = shift;
$self->inc(1);
+ $self->recurse(1);
$self->verbose(DEBUG);
return $self;
}
@@ -127,9 +128,11 @@ sub _make_search_callback {
my $self = $_[0];
# Put the options in variables, for easy access
- my( $laborious, $verbose, $shadows, $limit_re, $callback, $progress,$path2name,$name2path) =
+ my( $laborious, $verbose, $shadows, $limit_re, $callback, $progress,
+ $path2name, $name2path, $recurse) =
map scalar($self->$_()),
- qw(laborious verbose shadows limit_re callback progress path2name name2path);
+ qw(laborious verbose shadows limit_re callback progress
+ path2name name2path recurse);
my($file, $shortname, $isdir, $modname_bits);
return sub {
@@ -137,6 +140,11 @@ sub _make_search_callback {
if($isdir) { # this never gets called on the startdir itself, just subdirs
+ unless( $recurse ) {
+ $verbose and print "Not recursing into '$file' as per requested.\n";
+ return 'PRUNE';
+ }
+
if( $self->{'_dirs_visited'}{$file} ) {
$verbose and print "Directory '$file' already seen, skipping.\n";
return 'PRUNE';
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/SimpleTree.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/SimpleTree.pm
index fc8b7a2a12a..3671af121f0 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/SimpleTree.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/SimpleTree.pm
@@ -6,7 +6,7 @@ use strict;
use Carp ();
use Pod::Simple ();
use vars qw( $ATTR_PAD @ISA $VERSION $SORT_ATTRS);
-$VERSION = '3.16';
+$VERSION = '3.20';
BEGIN {
@ISA = ('Pod::Simple');
*DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG;
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/Subclassing.pod b/Master/tlpkg/tlperl/lib/Pod/Simple/Subclassing.pod
index f5363183155..792d1be5a24 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/Subclassing.pod
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/Subclassing.pod
@@ -17,7 +17,11 @@ Pod::Simple::Subclassing -- write a formatter as a Pod::Simple subclass
}
sub _handle_element_end {
- my($parser, $element_name) = @_;
+ my($parser, $element_name, $attr_hash_r) = @_;
+ # NOTE: $attr_hash_r is only present when $element_name is "over" or "begin"
+ # The remaining code excerpts will mostly ignore this $attr_hash_r, as it is
+ # mostly useless. It is documented where "over-*" and "begin" events are
+ # documented.
...
}
@@ -214,7 +218,7 @@ There are, at first glance, three kinds of L links: URL, man, and pod.
When a LE<lt>I<some_url>E<gt> code is parsed, it produces this event
structure:
- <L content-implicit="yes" to="that_url" type="url">
+ <L content-implicit="yes" raw="that_url" to="that_url" type="url">
that_url
</L>
@@ -227,14 +231,14 @@ For example, this Pod source:
produces this event structure:
- <L content-implicit="yes" to="http://www.perl.com/CPAN/authors/" type="url">
+ <L content-implicit="yes" raw="http://www.perl.com/CPAN/authors/" to="http://www.perl.com/CPAN/authors/" type="url">
http://www.perl.com/CPAN/authors/
</L>
When a LE<lt>I<manpage(section)>E<gt> code is parsed (and these are
fairly rare and not terribly useful), it produces this event structure:
- <L content-implicit="yes" to="manpage(section)" type="man">
+ <L content-implicit="yes" raw="manpage(section)" to="manpage(section)" type="man">
manpage(section)
</L>
@@ -247,7 +251,7 @@ For example, this Pod source:
produces this event structure:
- <L content-implicit="yes" to="crontab(5)" type="man">
+ <L content-implicit="yes" raw="crontab(5)" to="crontab(5)" type="man">
crontab(5)
</L>
@@ -258,7 +262,7 @@ in a I<section> attribute. For example, this Pod source:
will produce this event structure:
- <L content-implicit="yes" section="ENVIRONMENT" to="crontab(5)" type="man">
+ <L content-implicit="yes" raw="crontab(5)/&quot;ENVIRONMENT&quot;" section="ENVIRONMENT" to="crontab(5)" type="man">
"ENVIRONMENT" in crontab(5)
</L>
@@ -278,7 +282,7 @@ For example, this Pod source:
will produce this event structure:
- <L to="crontab(5)" type="man">
+ <L raw="hell itself!|crontab(5)" to="crontab(5)" type="man">
hell itself!
</L>
@@ -290,7 +294,7 @@ specified for this type of L code.
In the most common case, the simple case of a LE<lt>podpageE<gt> code
produces this event structure:
- <L content-implicit="yes" to="Net::Ping" type="pod">
+ <L content-implicit="yes" raw="podpage" to="podpage" type="pod">
podpage
</L>
@@ -300,7 +304,7 @@ For example, this Pod source:
produces this event structure:
- <L content-implicit="yes" to="Net::Ping" type="pod">
+ <L content-implicit="yes" raw="Net::Ping" to="Net::Ping" type="pod">
Net::Ping
</L>
@@ -313,7 +317,7 @@ case discussed above. For example, this Pod source:
produces this event structure:
- <L to="perldiag" type="pod">
+ <L raw="Perl Error Messages|perldiag" to="perldiag" type="pod">
Perl Error Messages
</L>
@@ -325,7 +329,7 @@ For example, this Pod source:
produces this event structure:
- <L content-implicit="yes" section="Member Data" type="pod">
+ <L content-implicit="yes" raw="/&quot;Member Data&quot;" section="Member Data" type="pod">
"Member Data"
</L>
@@ -335,7 +339,7 @@ As another example, this Pod source:
produces this event structure:
- <L section="Member Data" type="pod">
+ <L raw="the various attributes|/&quot;Member Data&quot;" section="Member Data" type="pod">
the various attributes
</L>
@@ -347,7 +351,7 @@ For example, this Pod source:
produces this event structure:
- <L content-implicit="yes" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">
+ <L content-implicit="yes" raw="perlsyn/&quot;Basic BLOCKs and Switch Statements&quot;" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">
"Basic BLOCKs and Switch Statements" in perlsyn
</L>
@@ -357,7 +361,7 @@ As another example, this Pod source:
produces this event structure:
- <L section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">
+ <L raw="SWITCH statements|perlsyn/&quot;Basic BLOCKs and Switch Statements&quot;" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">
SWITCH statements
</L>
@@ -368,12 +372,33 @@ Incidentally, note that we do not distinguish between these syntaxes:
L</Member Data>
L<Member Data> [deprecated syntax]
-That is, they all produce the same event structure, namely:
+That is, they all produce the same event structure (for the most part), namely:
- <L content-implicit="yes" section="Member Data" type="pod">
+ <L content-implicit="yes" raw="$depends_on_syntax" section="Member Data" type="pod">
&#34;Member Data&#34;
</L>
+The I<raw> attribute depends on what the raw content of the L<> is, so that is
+why the event structure is the same "for the most part".
+
+If you have not guessed it yet, the I<raw> attribute contains the raw,
+original, unescaped content of the L<> formatting code. In addition to the
+examples above, take notice of the following event structure produced by
+the following L<> formatting code.
+
+ L<click B<here>|page/About the C<-M> switch>
+
+ <L raw="click B<here>|page/About the C<-M> switch" section="About the -M switch" to="page" type="pod">
+ click B<here>
+ </L>
+
+Specifically, notice that the formatting codes are present and unescaped
+in I<raw>.
+
+There is a known bug in the I<raw> attribute where any surrounding whitespace
+is condensed into a single ' '. For example, given LE<60> linkE<62>, I<raw>
+will be " link".
+
=item events with an element_name of E or Z
While there are Pod codes EE<lt>...E<gt> and ZE<lt>E<gt>, these
@@ -432,7 +457,36 @@ a bulleted list, it will produce this event structure:
...Stuff...
</item-bullet>
...more item-bullets...
- </over-bullet>
+ </over-bullet fake-closer="1">
+
+The attribute I<fake-closer> is only present if it is a true value; it is not
+present if it is a false value. It is shown in the above example to illustrate
+where the attribute is (in the B<closing> tag). It signifies that the C<=over>
+did not have a matching C<=back>, and thus Pod::Simple had to create a fake
+closer.
+
+For example, this Pod source:
+
+ =over
+
+ =item *
+
+ Something
+
+ =back
+
+Would produce an event structure that does B<not> have the I<fake-closer>
+attribute, whereas this Pod source:
+
+ =over
+
+ =item *
+
+ Gasp! An unclosed =over block!
+
+would. The rest of the over-* examples will not demonstrate this attribute,
+but they all can have it. See L<Pod::Checker>'s source for an example of this
+attribute being used.
The value of the I<indent> attribute is whatever value is after the
"=over" directive, as in "=over 8". If no such value is specified
@@ -490,7 +544,7 @@ message might be issued to the user.
=item events with an element_name of over-text
-These events are are somewhat unlike the other over-*
+These events are somewhat unlike the other over-*
structures, as far as what their contents are. When
an "=over ... Z<>=back" block is parsed where the items are
a list of text "subheadings", it will produce this event structure:
@@ -504,7 +558,7 @@ a list of text "subheadings", it will produce this event structure:
...more item-text and/or stuff...
</over-text>
-The I<indent> attribute is as with the other over-* events.
+The I<indent> and I<fake-closer> attributes are as with the other over-* events.
For example, this Pod source:
@@ -545,7 +599,7 @@ produces this event structure:
=item events with an element_name of over-block
-These events are are somewhat unlike the other over-*
+These events are somewhat unlike the other over-*
structures, as far as what their contents are. When
an "=over ... Z<>=back" block is parsed where there are no items,
it will produce this event structure:
@@ -554,7 +608,7 @@ it will produce this event structure:
...stuff (generally Para or Verbatim elements)...
</over-block>
-The I<indent> attribute is as with the other over-* events.
+The I<indent> and I<fake-closer> attributes are as with the other over-* events.
For example, this Pod source:
@@ -569,7 +623,7 @@ For example, this Pod source:
circumstances of cruelty and perfidy scarcely paralleled in the most
barbarous ages, and totally unworthy the head of a civilized nation.
- =cut
+ =back
will produce this event structure:
@@ -585,6 +639,41 @@ will produce this event structure:
</Para>
</over-block>
+=item events with an element_name of over-empty
+
+B<Note: These events are only triggered if C<parse_empty_lists()> is set to a
+true value.>
+
+These events are somewhat unlike the other over-* structures, as far as what
+their contents are. When an "=over ... Z<>=back" block is parsed where there
+is no content, it will produce this event structure:
+
+ <over-empty indent="4" start_line="543">
+ </over-empty>
+
+The I<indent> and I<fake-closer> attributes are as with the other over-* events.
+
+For example, this Pod source:
+
+ =over
+
+ =over
+
+ =back
+
+ =back
+
+will produce this event structure:
+
+ <over-block indent="4" start_line="1">
+ <over-empty indent="4" start_line="3">
+ </over-empty>
+ </over-block>
+
+Note that the outer C<=over> is a block because it has no C<=item>s but still
+has content: the inner C<=over>. The inner C<=over>, in turn, is completely
+empty, and is treated as such.
+
=item events with an element_name of item-bullet
See L</"events with an element_name of over-bullet">, above.
@@ -673,7 +762,7 @@ B<TODO: document how this interacts with =extend, and long element names>
In the unlikely situation that you need to tell the parser that you will
accept additional directives ("=foo" things), you need to first set the
-parset to treat its content as data (i.e., not really processed at
+parser to treat its content as data (i.e., not really processed at
all), or as verbatim (mostly just expanding tabs), or as processed text
(parsing formatting codes like BE<lt>...E<gt>).
@@ -783,6 +872,21 @@ This is just like the code_handler attribute, except that it's for
unlikely to be interesting, but this is included for completeness.
+=item C<< $parser->pod_handler( I<CODE_REF> ) >>
+
+This is just like the code_handler attribute, except that it's for
+"=pod" lines, not code lines. The same caveats apply. "=pod" lines are
+unlikely to be interesting, but this is included for completeness.
+
+
+=item C<< $parser->whiteline_handler( I<CODE_REF> ) >>
+
+This is just like the code_handler attribute, except that it's for
+lines that are seemingly blank but have whitespace (" " and/or "\t") on them,
+not code lines. The same caveats apply. These lines are unlikely to be
+interesting, but this is included for completeness.
+
+
=item C<< $parser->whine( I<linenumber>, I<complaint string> ) >>
This notes a problem in the Pod, which will be reported to in the "Pod
@@ -847,8 +951,13 @@ conventions as two spaces after periods will be preserved by the parser.
This is primarily useful for output formats that treat whitespace as
significant (such as text or *roff, but not HTML).
-=back
+=item C<< $parser->parse_empty_lists( I<SOMEVALUE> ) >>
+
+If this attribute is set to true, the parser will not ignore empty
+C<=over>/C<=back> blocks. The type of C<=over> will be I<empty>, documented
+above, L<events with an element_name of over-empty>.
+=back
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/Text.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/Text.pm
index 55dae9a6dbe..3032d0fcd57 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/Text.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/Text.pm
@@ -6,7 +6,7 @@ use Carp ();
use Pod::Simple::Methody ();
use Pod::Simple ();
use vars qw( @ISA $VERSION $FREAKYMODE);
-$VERSION = '3.16';
+$VERSION = '3.20';
@ISA = ('Pod::Simple::Methody');
BEGIN { *DEBUG = defined(&Pod::Simple::DEBUG)
? \&Pod::Simple::DEBUG
@@ -71,7 +71,7 @@ sub end_L {
if (my $link = delete $_[0]{'Link'}) {
# Append the URL to the output unless it's already present.
$_[0]{'Thispara'} .= " <$link->{to}>"
- unless $_[0]{'Thispara'} =~ /\b\E$link->{to}/;
+ unless $_[0]{'Thispara'} =~ /\b\Q$link->{to}/;
}
}
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/TextContent.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/TextContent.pm
index 36a4988cf12..dea1cde7ccf 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/TextContent.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/TextContent.pm
@@ -6,7 +6,7 @@ use strict;
use Carp ();
use Pod::Simple ();
use vars qw( @ISA $VERSION );
-$VERSION = '3.16';
+$VERSION = '3.20';
@ISA = ('Pod::Simple');
sub new {
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/TiedOutFH.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/TiedOutFH.pm
index e6e5a4a058f..9f2a224a278 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/TiedOutFH.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/TiedOutFH.pm
@@ -4,7 +4,7 @@ package Pod::Simple::TiedOutFH;
use Symbol ('gensym');
use Carp ();
use vars qw($VERSION );
-$VERSION = '3.16';
+$VERSION = '3.20';
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/Transcode.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/Transcode.pm
index dec3b967b39..892436db7f0 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/Transcode.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/Transcode.pm
@@ -2,7 +2,7 @@
require 5;
package Pod::Simple::Transcode;
use vars qw($VERSION );
-$VERSION = '3.16';
+$VERSION = '3.20';
BEGIN {
if(defined &DEBUG) {;} # Okay
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeDumb.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeDumb.pm
index 647447503ed..33030903430 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeDumb.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeDumb.pm
@@ -5,7 +5,7 @@ require 5;
package Pod::Simple::TranscodeDumb;
use strict;
use vars qw($VERSION %Supported);
-$VERSION = '3.16';
+$VERSION = '3.20';
# This module basically pretends it knows how to transcode, except
# only for null-transcodings! We use this when Encode isn't
# available.
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeSmart.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeSmart.pm
index 5c10f02ced2..a66dedd03bc 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeSmart.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/TranscodeSmart.pm
@@ -9,7 +9,7 @@ use strict;
use Pod::Simple;
require Encode;
use vars qw($VERSION );
-$VERSION = '3.16';
+$VERSION = '3.20';
sub is_dumb {0}
sub is_smart {1}
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/XHTML.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/XHTML.pm
index ef05ddb6ea5..9d31db0badd 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/XHTML.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/XHTML.pm
@@ -45,7 +45,7 @@ declare the output character set as UTF-8 before parsing, like so:
package Pod::Simple::XHTML;
use strict;
use vars qw( $VERSION @ISA $HAS_HTML_ENTITIES );
-$VERSION = '3.16';
+$VERSION = '3.20';
use Pod::Simple::Methody ();
@ISA = ('Pod::Simple::Methody');
@@ -194,6 +194,16 @@ to the empty string.
Whether to add a table-of-contents at the top of each page (called an
index for the sake of tradition).
+=head2 anchor_items
+
+Whether to anchor every definition C<=item> directive. This needs to be
+enabled if you want to be able to link to specific C<=item> directives, which
+are output as C<< <dt> >> elements. Disabled by default.
+
+=head2 backlink
+
+Whether to turn every =head1 directive into a link pointing to the top
+of the page (specifically, the opening body tag).
=cut
@@ -215,6 +225,8 @@ __PACKAGE__->_accessorize(
'html_header',
'html_footer',
'index',
+ 'anchor_items',
+ 'backlink',
'batch_mode', # whether we're in batch mode
'batch_mode_current_level',
# When in batch mode, how deep the current module is: 1 for "LWP",
@@ -244,7 +256,7 @@ sub new {
$new->{'to_index'} = [];
$new->{'output'} = [];
$new->{'saved'} = [];
- $new->{'ids'} = {};
+ $new->{'ids'} = { '_podtop_' => 1 }; # used in <body>
$new->{'in_li'} = [];
$new->{'__region_targets'} = [];
@@ -273,7 +285,7 @@ want to override this if you are adding a custom element type that does
more than just display formatted text. Perhaps adding a way to generate
HTML tables from an extended version of POD.
-So, let's say you want add a custom element called 'foo'. In your
+So, let's say you want to add a custom element called 'foo'. In your
subclass's C<new> method, after calling C<SUPER::new> you'd call:
$new->accept_targets_as_text( 'foo' );
@@ -342,11 +354,7 @@ sub start_item_bullet {
}
sub start_item_text {
- if ($_[0]{'in_dd'}[ $_[0]{'dl_level'} ]) {
- $_[0]{'scratch'} = "</dd>\n";
- $_[0]{'in_dd'}[ $_[0]{'dl_level'} ] = 0;
- }
- $_[0]{'scratch'} .= '<dt>';
+ # see end_item_text
}
sub start_over_bullet { $_[0]{'scratch'} = '<ul>'; push @{$_[0]{'in_li'}}, 0; $_[0]->emit }
@@ -402,7 +410,10 @@ sub _end_head {
my $id = $_[0]->idify($_[0]{scratch});
my $text = $_[0]{scratch};
- $_[0]{'scratch'} = qq{<h$h id="$id">$text</h$h>};
+ $_[0]{'scratch'} = $_[0]->backlink && ($h - $add == 0)
+ # backlinks enabled && =head1
+ ? qq{<a href="#_podtop_"><h$h id="$id">$text</h$h></a>}
+ : qq{<h$h id="$id">$text</h$h>};
$_[0]->emit;
push @{ $_[0]{'to_index'} }, [$h, $id, $text];
}
@@ -416,7 +427,21 @@ sub end_item_bullet { $_[0]{'scratch'} .= '</p>'; $_[0]->emit }
sub end_item_number { $_[0]{'scratch'} .= '</p>'; $_[0]->emit }
sub end_item_text {
- $_[0]{'scratch'} .= "</dt>\n<dd>";
+ # idify and anchor =item content if wanted
+ my $dt_id = $_[0]{'anchor_items'}
+ ? ' id="'. $_[0]->idify($_[0]{'scratch'}) .'"'
+ : '';
+
+ # reset scratch
+ my $text = $_[0]{scratch};
+ $_[0]{'scratch'} = '';
+
+ if ($_[0]{'in_dd'}[ $_[0]{'dl_level'} ]) {
+ $_[0]{'scratch'} = "</dd>\n";
+ $_[0]{'in_dd'}[ $_[0]{'dl_level'} ] = 0;
+ }
+
+ $_[0]{'scratch'} .= qq{<dt$dt_id>$text</dt>\n<dd>};
$_[0]{'in_dd'}[ $_[0]{'dl_level'} ] = 1;
$_[0]->emit;
}
@@ -451,18 +476,23 @@ sub start_Document {
$self->{'scratch'} .= $self->html_header;
$self->emit unless $self->html_header eq "";
} else {
- my ($doctype, $title, $metatags);
+ my ($doctype, $title, $metatags, $bodyid);
$doctype = $self->html_doctype || '';
$title = $self->force_title || $self->title || $self->default_title || '';
$metatags = $self->html_header_tags || '';
- if ($self->html_css) {
- $metatags .= "\n<link rel='stylesheet' href='" .
- $self->html_css . "' type='text/css' />";
+ if (my $css = $self->html_css) {
+ $metatags .= $css;
+ if ($css !~ /<link/) {
+ # this is required to be compatible with Pod::Simple::BatchHTML
+ $metatags .= '<link rel="stylesheet" href="'
+ . $self->encode_entities($css) . '" type="text/css" />';
+ }
}
if ($self->html_javascript) {
- $metatags .= "\n<script type='text/javascript' src='" .
+ $metatags .= qq{\n<script type="text/javascript" src="} .
$self->html_javascript . "'></script>";
}
+ $bodyid = $self->backlink ? ' id="_podtop_"' : '';
$self->{'scratch'} .= <<"HTML";
$doctype
<html>
@@ -470,7 +500,7 @@ $doctype
<title>$title</title>
$metatags
</head>
-<body>
+<body$bodyid>
HTML
$self->emit;
}
@@ -599,7 +629,7 @@ sub resolve_pod_page_link {
my ($self, $to, $section) = @_;
return undef unless defined $to || defined $section;
if (defined $section) {
- $section = '#' . $self->idify($section, 1);
+ $section = '#' . $self->idify($self->encode_entities($section), 1);
return $section unless defined $to;
} else {
$section = ''
@@ -708,6 +738,10 @@ sub batch_mode_page_object_init {
return $self;
}
+sub html_header_after_title {
+}
+
+
1;
__END__
diff --git a/Master/tlpkg/tlperl/lib/Pod/Simple/XMLOutStream.pm b/Master/tlpkg/tlperl/lib/Pod/Simple/XMLOutStream.pm
index 69b992d01ec..bbb815a5527 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Simple/XMLOutStream.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Simple/XMLOutStream.pm
@@ -5,7 +5,7 @@ use strict;
use Carp ();
use Pod::Simple ();
use vars qw( $ATTR_PAD @ISA $VERSION $SORT_ATTRS);
-$VERSION = '3.16';
+$VERSION = '3.20';
BEGIN {
@ISA = ('Pod::Simple');
*DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG;
diff --git a/Master/tlpkg/tlperl/lib/Pod/Usage.pm b/Master/tlpkg/tlperl/lib/Pod/Usage.pm
index f463fb9c468..d060b275d1a 100644
--- a/Master/tlpkg/tlperl/lib/Pod/Usage.pm
+++ b/Master/tlpkg/tlperl/lib/Pod/Usage.pm
@@ -11,7 +11,7 @@ package Pod::Usage;
use strict;
use vars qw($VERSION @ISA @EXPORT);
-$VERSION = '1.36'; ## Current version of this package
+$VERSION = '1.51'; ## Current version of this package
require 5.005; ## requires this Perl version or later
=head1 NAME
@@ -149,6 +149,14 @@ output the POD.
=back
+=head2 Pass-through options
+
+The following options are passed through to the underlying text formatter
+(L<Pod::Text> or L<Pod::PlainText> for Perl versions E<lt> 5.005_58). See
+the manual pages of these modules for more information.
+
+ alt code indent loose margin quotes sentence stderr utf8 width
+
=head1 DESCRIPTION
B<pod2usage> will print a usage message for the invoking script (using
@@ -434,6 +442,8 @@ with re-writing this manpage.
=head1 SEE ALSO
+B<Pod::Usage> is part of the L<Pod::Parser> distribution.
+
L<Pod::Parser>, L<Getopt::Long>, L<Pod::Find>
=cut
@@ -564,7 +574,8 @@ sub pod2usage {
and $opts{'-output'} == \*STDOUT )
{
## spit out the entire PODs. Might as well invoke perldoc
- my $progpath = File::Spec->catfile($Config{scriptdir}, 'perldoc');
+ my $progpath = File::Spec->catfile($Config{scriptdirexp}
+ || $Config{scriptdir}, 'perldoc');
print { $opts{'-output'} } ($opts{'-message'}, "\n") if($opts{'-message'});
if(defined $opts{-input} && $opts{-input} =~ /^\s*(\S.*?)\s*$/) {
# the perldocs back to 5.005 should all have -F
@@ -600,7 +611,13 @@ sub new {
if ($self->can('initialize')) {
$self->initialize();
} else {
- $self = $self->SUPER::new();
+ # pass through options to Pod::Text
+ my %opts;
+ for (qw(alt code indent loose margin quotes sentence stderr utf8 width)) {
+ my $val = $params{USAGE_OPTIONS}{"-$_"};
+ $opts{$_} = $val if defined $val;
+ }
+ $self = $self->SUPER::new(%opts);
%$self = (%$self, %params);
}
return $self;
diff --git a/Master/tlpkg/tlperl/lib/Safe.pm b/Master/tlpkg/tlperl/lib/Safe.pm
index 70549c5f4e8..a5cc238cba8 100644
--- a/Master/tlpkg/tlperl/lib/Safe.pm
+++ b/Master/tlpkg/tlperl/lib/Safe.pm
@@ -1,10 +1,9 @@
package Safe;
use 5.003_11;
-use strict;
use Scalar::Util qw(reftype refaddr);
-$Safe::VERSION = "2.29";
+$Safe::VERSION = "2.31_01";
# *** Don't declare any lexicals above this point ***
#
@@ -22,10 +21,11 @@ sub lexless_anon_sub {
# Uses a closure (on $__ExPr__) to pass in the code to be executed.
# (eval on one line to keep line numbers as expected by caller)
eval sprintf
- 'package %s; %s strict; sub { @_=(); eval q[my $__ExPr__;] . $__ExPr__; }',
- $_[0], $_[1] ? 'use' : 'no';
+ 'package %s; %s sub { @_=(); eval q[my $__ExPr__;] . $__ExPr__; }',
+ $_[0], $_[1] ? 'use strict;' : '';
}
+use strict;
use Carp;
BEGIN { eval q{
use Carp::Heavy;
@@ -61,12 +61,13 @@ use Opcode 1.01, qw(
# Safe is loaded. Then we can add utf8::SWASHNEW to $default_share.
require utf8;
# we must ensure that utf8_heavy.pl, where SWASHNEW is defined, is loaded
-# but without depending on knowledge of that implementation detail.
-# This code (//i on a unicode string) ensures utf8 is fully loaded
-# and also loads the ToFold SWASH.
+# but without depending on too much knowledge of that implementation detail.
+# This code (//i on a unicode string) should ensure utf8 is fully loaded
+# and also loads the ToFold SWASH, unless things change so that these
+# particular code points don't cause it to load.
# (Swashes are cached internally by perl in PL_utf8_* variables
# independent of being inside/outside of Safe. So once loaded they can be)
-do { my $a = pack('U',0xC4); my $b = chr 0xE4; utf8::upgrade $b; $a =~ /$b/i };
+do { my $a = pack('U',0x100); my $b = chr 0x101; utf8::upgrade $b; $a =~ /$b/i };
# now we can safely include utf8::SWASHNEW in $default_share defined below.
my $default_root = 0;
@@ -102,15 +103,6 @@ my $default_share = [qw[
&re::regname
&re::regnames
&re::regnames_count
- &Tie::Hash::NamedCapture::FETCH
- &Tie::Hash::NamedCapture::STORE
- &Tie::Hash::NamedCapture::DELETE
- &Tie::Hash::NamedCapture::CLEAR
- &Tie::Hash::NamedCapture::EXISTS
- &Tie::Hash::NamedCapture::FIRSTKEY
- &Tie::Hash::NamedCapture::NEXTKEY
- &Tie::Hash::NamedCapture::SCALAR
- &Tie::Hash::NamedCapture::flags
&UNIVERSAL::DOES
&version::()
&version::new
@@ -137,6 +129,16 @@ my $default_share = [qw[
&version::vxs::VCMP
]), ($] >= 5.011 && qw[
&re::regexp_pattern
+]), ($] >= 5.010 && $] < 5.014 && qw[
+ &Tie::Hash::NamedCapture::FETCH
+ &Tie::Hash::NamedCapture::STORE
+ &Tie::Hash::NamedCapture::DELETE
+ &Tie::Hash::NamedCapture::CLEAR
+ &Tie::Hash::NamedCapture::EXISTS
+ &Tie::Hash::NamedCapture::FIRSTKEY
+ &Tie::Hash::NamedCapture::NEXTKEY
+ &Tie::Hash::NamedCapture::SCALAR
+ &Tie::Hash::NamedCapture::flags
])];
sub new {
diff --git a/Master/tlpkg/tlperl/lib/Scalar/Util.pm b/Master/tlpkg/tlperl/lib/Scalar/Util.pm
index 24138ca4d85..ab97fe5446b 100644
--- a/Master/tlpkg/tlperl/lib/Scalar/Util.pm
+++ b/Master/tlpkg/tlperl/lib/Scalar/Util.pm
@@ -7,37 +7,33 @@
package Scalar::Util;
use strict;
-use vars qw(@ISA @EXPORT_OK $VERSION @EXPORT_FAIL);
require Exporter;
require List::Util; # List::Util loads the XS
-@ISA = qw(Exporter);
-@EXPORT_OK = qw(blessed dualvar reftype weaken isweak tainted readonly openhandle refaddr isvstring looks_like_number set_prototype);
-$VERSION = "1.23";
+our @ISA = qw(Exporter);
+our @EXPORT_OK = qw(blessed dualvar reftype weaken isweak tainted readonly openhandle refaddr isvstring looks_like_number set_prototype);
+our $VERSION = "1.25";
$VERSION = eval $VERSION;
-unless (defined &dualvar) {
- # Load Pure Perl version if XS not loaded
- require Scalar::Util::PP;
- Scalar::Util::PP->import;
- push @EXPORT_FAIL, qw(weaken isweak dualvar isvstring set_prototype);
+our @EXPORT_FAIL;
+
+unless (defined &weaken) {
+ push @EXPORT_FAIL, qw(weaken);
+}
+unless (defined &isweak) {
+ push @EXPORT_FAIL, qw(isweak isvstring);
+}
+unless (defined &isvstring) {
+ push @EXPORT_FAIL, qw(isvstring);
}
sub export_fail {
- if (grep { /dualvar/ } @EXPORT_FAIL) { # no XS loaded
- my $pat = join("|", @EXPORT_FAIL);
- if (my ($err) = grep { /^($pat)$/ } @_ ) {
- require Carp;
- Carp::croak("$err is only available with the XS version of Scalar::Util");
- }
- }
-
- if (grep { /^(weaken|isweak)$/ } @_ ) {
+ if (grep { /^(?:weaken|isweak)$/ } @_ ) {
require Carp;
Carp::croak("Weak references are not implemented in the version of perl");
}
- if (grep { /^(isvstring)$/ } @_ ) {
+ if (grep { /^isvstring$/ } @_ ) {
require Carp;
Carp::croak("Vstrings are not implemented in the version of perl");
}
@@ -45,24 +41,6 @@ sub export_fail {
@_;
}
-sub openhandle ($) {
- my $fh = shift;
- my $rt = reftype($fh) || '';
-
- return defined(fileno($fh)) ? $fh : undef
- if $rt eq 'IO';
-
- if (reftype(\$fh) eq 'GLOB') { # handle openhandle(*DATA)
- $fh = \(my $tmp=$fh);
- }
- elsif ($rt ne 'GLOB') {
- return undef;
- }
-
- (tied(*$fh) or defined(fileno($fh)))
- ? $fh : undef;
-}
-
1;
__END__
diff --git a/Master/tlpkg/tlperl/lib/Scalar/Util/PP.pm b/Master/tlpkg/tlperl/lib/Scalar/Util/PP.pm
deleted file mode 100644
index 7850e1b812d..00000000000
--- a/Master/tlpkg/tlperl/lib/Scalar/Util/PP.pm
+++ /dev/null
@@ -1,108 +0,0 @@
-# Scalar::Util::PP.pm
-#
-# Copyright (c) 1997-2009 Graham Barr <gbarr@pobox.com>. All rights reserved.
-# This program is free software; you can redistribute it and/or
-# modify it under the same terms as Perl itself.
-#
-# This module is normally only loaded if the XS module is not available
-
-package Scalar::Util::PP;
-
-use strict;
-use warnings;
-use vars qw(@ISA @EXPORT $VERSION $recurse);
-require Exporter;
-use B qw(svref_2object);
-
-@ISA = qw(Exporter);
-@EXPORT = qw(blessed reftype tainted readonly refaddr looks_like_number);
-$VERSION = "1.23";
-$VERSION = eval $VERSION;
-
-sub blessed ($) {
- return undef unless length(ref($_[0]));
- my $b = svref_2object($_[0]);
- return undef unless $b->isa('B::PVMG');
- my $s = $b->SvSTASH;
- return $s->isa('B::HV') ? $s->NAME : undef;
-}
-
-sub refaddr($) {
- return undef unless length(ref($_[0]));
-
- my $addr;
- if(defined(my $pkg = blessed($_[0]))) {
- $addr .= bless $_[0], 'Scalar::Util::Fake';
- bless $_[0], $pkg;
- }
- else {
- $addr .= $_[0]
- }
-
- $addr =~ /0x(\w+)/;
- local $^W;
- no warnings 'portable';
- hex($1);
-}
-
-{
- my %tmap = qw(
- B::NULL SCALAR
-
- B::HV HASH
- B::AV ARRAY
- B::CV CODE
- B::IO IO
- B::GV GLOB
- B::REGEXP REGEXP
- );
-
- sub reftype ($) {
- my $r = shift;
-
- return undef unless length(ref($r));
-
- my $t = ref(svref_2object($r));
-
- return
- exists $tmap{$t} ? $tmap{$t}
- : length(ref($$r)) ? 'REF'
- : 'SCALAR';
- }
-}
-
-sub tainted {
- local($@, $SIG{__DIE__}, $SIG{__WARN__});
- local $^W = 0;
- no warnings;
- eval { kill 0 * $_[0] };
- $@ =~ /^Insecure/;
-}
-
-sub readonly {
- return 0 if tied($_[0]) || (ref(\($_[0])) ne "SCALAR");
-
- local($@, $SIG{__DIE__}, $SIG{__WARN__});
- my $tmp = $_[0];
-
- !eval { $_[0] = $tmp; 1 };
-}
-
-sub looks_like_number {
- local $_ = shift;
-
- # checks from perlfaq4
- return 0 if !defined($_);
- if (ref($_)) {
- require overload;
- return overload::Overloaded($_) ? defined(0 + $_) : 0;
- }
- return 1 if (/^[+-]?[0-9]+$/); # is a +/- integer
- return 1 if (/^([+-]?)(?=[0-9]|\.[0-9])[0-9]*(\.[0-9]*)?([Ee]([+-]?[0-9]+))?$/); # a C float
- return 1 if ($] >= 5.008 and /^(Inf(inity)?|NaN)$/i) or ($] >= 5.006001 and /^Inf$/i);
-
- 0;
-}
-
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/Search/Dict.pm b/Master/tlpkg/tlperl/lib/Search/Dict.pm
index cbbaf99a50a..5fe6f73b041 100644
--- a/Master/tlpkg/tlperl/lib/Search/Dict.pm
+++ b/Master/tlpkg/tlperl/lib/Search/Dict.pm
@@ -4,13 +4,13 @@ require Exporter;
use strict;
-our $VERSION = '1.03';
+our $VERSION = '1.04';
our @ISA = qw(Exporter);
our @EXPORT = qw(look);
=head1 NAME
-Search::Dict, look - search for key in dictionary file
+Search::Dict - look - search for key in dictionary file
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/SelfLoader.pm b/Master/tlpkg/tlperl/lib/SelfLoader.pm
index 20e02cccdca..03d4ce01b0c 100644
--- a/Master/tlpkg/tlperl/lib/SelfLoader.pm
+++ b/Master/tlpkg/tlperl/lib/SelfLoader.pm
@@ -2,7 +2,7 @@ package SelfLoader;
use 5.008;
use strict;
use IO::Handle;
-our $VERSION = "1.18";
+our $VERSION = "1.20";
# The following bit of eval-magic is necessary to make this work on
# perls < 5.009005.
@@ -408,8 +408,8 @@ This package has the same copyright and license as the perl core:
You should also have received a copy of the GNU General Public License
along with this program in the file named "Copying". If not, write to the
- Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA or visit their web page on the internet at
+ Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ MA 02110-1301, USA or visit their web page on the internet at
http://www.gnu.org/copyleft/gpl.html.
For those of you that choose to use the GNU General Public License,
diff --git a/Master/tlpkg/tlperl/lib/Shell.pm b/Master/tlpkg/tlperl/lib/Shell.pm
deleted file mode 100644
index 66a0c6b0e11..00000000000
--- a/Master/tlpkg/tlperl/lib/Shell.pm
+++ /dev/null
@@ -1,272 +0,0 @@
-package Shell;
-use 5.006_001;
-use strict;
-use warnings;
-use File::Spec::Functions;
-
-our($capture_stderr, $raw, $VERSION, $AUTOLOAD);
-
-$VERSION = '0.72_01';
-$VERSION = eval $VERSION;
-
-use if $] >= 5.011, 'deprecate';
-
-sub new { bless \my $foo, shift }
-sub DESTROY { }
-
-sub import {
- my $self = shift;
- my ($callpack, $callfile, $callline) = caller;
- my @EXPORT;
- if (@_) {
- @EXPORT = @_;
- } else {
- @EXPORT = 'AUTOLOAD';
- }
- foreach my $sym (@EXPORT) {
- no strict 'refs';
- *{"${callpack}::$sym"} = \&{"Shell::$sym"};
- }
-}
-
-# NOTE: this is used to enable constant folding in
-# expressions like (OS eq 'MSWin32') and
-# (OS eq 'os2') just like it happened in 0.6 version
-# which used eval "string" to install subs on the fly.
-use constant OS => $^O;
-
-=begin private
-
-=item B<_make_cmd>
-
- $sub = _make_cmd($cmd);
- $sub = $shell->_make_cmd($cmd);
-
-Creates a closure which invokes the system command C<$cmd>.
-
-=end private
-
-=cut
-
-sub _make_cmd {
- shift if ref $_[0] && $_[0]->isa( 'Shell' );
- my $cmd = shift;
- my $null = File::Spec::Functions::devnull();
- $Shell::capture_stderr ||= 0;
- # closing over $^O, $cmd, and $null
- return sub {
- shift if ref $_[0] && $_[0]->isa( 'Shell' );
- if (@_ < 1) {
- $Shell::capture_stderr == 1 ? `$cmd 2>&1` :
- $Shell::capture_stderr == -1 ? `$cmd 2>$null` :
- `$cmd`;
- } elsif (OS eq 'os2') {
- local(*SAVEOUT, *READ, *WRITE);
-
- open SAVEOUT, '>&STDOUT' or die;
- pipe READ, WRITE or die;
- open STDOUT, '>&WRITE' or die;
- close WRITE;
-
- my $pid = system(1, $cmd, @_);
- die "Can't execute $cmd: $!\n" if $pid < 0;
-
- open STDOUT, '>&SAVEOUT' or die;
- close SAVEOUT;
-
- if (wantarray) {
- my @ret = <READ>;
- close READ;
- waitpid $pid, 0;
- @ret;
- } else {
- local($/) = undef;
- my $ret = <READ>;
- close READ;
- waitpid $pid, 0;
- $ret;
- }
- } else {
- my $a;
- my @arr = @_;
- unless( $Shell::raw ){
- if (OS eq 'MSWin32') {
- # XXX this special-casing should not be needed
- # if we do quoting right on Windows. :-(
- #
- # First, escape all quotes. Cover the case where we
- # want to pass along a quote preceded by a backslash
- # (i.e., C<"param \""" end">).
- # Ugly, yup? You know, windoze.
- # Enclose in quotes only the parameters that need it:
- # try this: c:> dir "/w"
- # and this: c:> dir /w
- for (@arr) {
- s/"/\\"/g;
- s/\\\\"/\\\\"""/g;
- $_ = qq["$_"] if /\s/;
- }
- } else {
- for (@arr) {
- s/(['\\])/\\$1/g;
- $_ = $_;
- }
- }
- }
- push @arr, '2>&1' if $Shell::capture_stderr == 1;
- push @arr, '2>$null' if $Shell::capture_stderr == -1;
- open(SUBPROC, join(' ', $cmd, @arr, '|'))
- or die "Can't exec $cmd: $!\n";
- if (wantarray) {
- my @ret = <SUBPROC>;
- close SUBPROC; # XXX Oughta use a destructor.
- @ret;
- } else {
- local($/) = undef;
- my $ret = <SUBPROC>;
- close SUBPROC;
- $ret;
- }
- }
- };
- }
-
-sub AUTOLOAD {
- shift if ref $_[0] && $_[0]->isa( 'Shell' );
- my $cmd = $AUTOLOAD;
- $cmd =~ s/^.*:://;
- no strict 'refs';
- *$AUTOLOAD = _make_cmd($cmd);
- goto &$AUTOLOAD;
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-Shell - run shell commands transparently within perl
-
-=head1 SYNOPSIS
-
- use Shell qw(cat ps cp);
- $passwd = cat('</etc/passwd');
- @pslines = ps('-ww'),
- cp("/etc/passwd", "/tmp/passwd");
-
- # object oriented
- my $sh = Shell->new;
- print $sh->ls('-l');
-
-=head1 DESCRIPTION
-
-=head2 Caveats
-
-This package is included as a show case, illustrating a few Perl features.
-It shouldn't be used for production programs. Although it does provide a
-simple interface for obtaining the standard output of arbitrary commands,
-there may be better ways of achieving what you need.
-
-Running shell commands while obtaining standard output can be done with the
-C<qx/STRING/> operator, or by calling C<open> with a filename expression that
-ends with C<|>, giving you the option to process one line at a time.
-If you don't need to process standard output at all, you might use C<system>
-(in preference of doing a print with the collected standard output).
-
-Since Shell.pm and all of the aforementioned techniques use your system's
-shell to call some local command, none of them is portable across different
-systems. Note, however, that there are several built in functions and
-library packages providing portable implementations of functions operating
-on files, such as: C<glob>, C<link> and C<unlink>, C<mkdir> and C<rmdir>,
-C<rename>, C<File::Compare>, C<File::Copy>, C<File::Find> etc.
-
-Using Shell.pm while importing C<foo> creates a subroutine C<foo> in the
-namespace of the importing package. Calling C<foo> with arguments C<arg1>,
-C<arg2>,... results in a shell command C<foo arg1 arg2...>, where the
-function name and the arguments are joined with a blank. (See the subsection
-on Escaping magic characters.) Since the result is essentially a command
-line to be passed to the shell, your notion of arguments to the Perl
-function is not necessarily identical to what the shell treats as a
-command line token, to be passed as an individual argument to the program.
-Furthermore, note that this implies that C<foo> is callable by file name
-only, which frequently depends on the setting of the program's environment.
-
-Creating a Shell object gives you the opportunity to call any command
-in the usual OO notation without requiring you to announce it in the
-C<use Shell> statement. Don't assume any additional semantics being
-associated with a Shell object: in no way is it similar to a shell
-process with its environment or current working directory or any
-other setting.
-
-=head2 Escaping Magic Characters
-
-It is, in general, impossible to take care of quoting the shell's
-magic characters. For some obscure reason, however, Shell.pm quotes
-apostrophes (C<'>) and backslashes (C<\>) on UNIX, and spaces and
-quotes (C<">) on Windows.
-
-=head2 Configuration
-
-If you set $Shell::capture_stderr to 1, the module will attempt to
-capture the standard error output of the process as well. This is
-done by adding C<2E<gt>&1> to the command line, so don't try this on
-a system not supporting this redirection.
-
-Setting $Shell::capture_stderr to -1 will send standard error to the
-bit bucket (i.e., the equivalent of adding C<2E<gt>/dev/null> to the
-command line). The same caveat regarding redirection applies.
-
-If you set $Shell::raw to true no quoting whatsoever is done.
-
-=head1 BUGS
-
-Quoting should be off by default.
-
-It isn't possible to call shell built in commands, but it can be
-done by using a workaround, e.g. shell( '-c', 'set' ).
-
-Capturing standard error does not work on some systems (e.g. VMS).
-
-=head1 AUTHOR
-
- Date: Thu, 22 Sep 94 16:18:16 -0700
- Message-Id: <9409222318.AA17072@scalpel.netlabs.com>
- To: perl5-porters@isu.edu
- From: Larry Wall <lwall@scalpel.netlabs.com>
- Subject: a new module I just wrote
-
-Here's one that'll whack your mind a little out.
-
- #!/usr/bin/perl
-
- use Shell;
-
- $foo = echo("howdy", "<funny>", "world");
- print $foo;
-
- $passwd = cat("</etc/passwd");
- print $passwd;
-
- sub ps;
- print ps -ww;
-
- cp("/etc/passwd", "/etc/passwd.orig");
-
-That's maybe too gonzo. It actually exports an AUTOLOAD to the current
-package (and uncovered a bug in Beta 3, by the way). Maybe the usual
-usage should be
-
- use Shell qw(echo cat ps cp);
-
-Larry Wall
-
-Changes by Jenda@Krynicky.cz and Dave Cottle <d.cottle@csc.canterbury.ac.nz>.
-
-Changes for OO syntax and bug fixes by Casey West <casey@geeknest.com>.
-
-C<$Shell::raw> and pod rewrite by Wolfgang Laun.
-
-Rewritten to use closures rather than C<eval "string"> by Adriano Ferreira.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/Socket.pm b/Master/tlpkg/tlperl/lib/Socket.pm
index aa3fe3fff80..e12d8517deb 100644
--- a/Master/tlpkg/tlperl/lib/Socket.pm
+++ b/Master/tlpkg/tlperl/lib/Socket.pm
@@ -1,242 +1,332 @@
package Socket;
use strict;
+{ use 5.006001; }
-our($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
-$VERSION = "1.94";
+our $VERSION = '2.001';
=head1 NAME
-Socket, sockaddr_in, sockaddr_un, inet_aton, inet_ntoa, inet_pton, inet_ntop - load the C socket.h defines and structure manipulators
+C<Socket> - networking constants and support functions
=head1 SYNOPSIS
- use Socket;
-
- $proto = getprotobyname('udp');
- socket(Socket_Handle, PF_INET, SOCK_DGRAM, $proto);
- $iaddr = gethostbyname('hishost.com');
- $port = getservbyname('time', 'udp');
- $sin = sockaddr_in($port, $iaddr);
- send(Socket_Handle, 0, 0, $sin);
-
- $proto = getprotobyname('tcp');
- socket(Socket_Handle, PF_INET, SOCK_STREAM, $proto);
- $port = getservbyname('smtp', 'tcp');
- $sin = sockaddr_in($port,inet_aton("127.1"));
- $sin = sockaddr_in(7,inet_aton("localhost"));
- $sin = sockaddr_in(7,INADDR_LOOPBACK);
- connect(Socket_Handle,$sin);
-
- ($port, $iaddr) = sockaddr_in(getpeername(Socket_Handle));
- $peer_host = gethostbyaddr($iaddr, AF_INET);
- $peer_addr = inet_ntoa($iaddr);
-
- $proto = getprotobyname('tcp');
- socket(Socket_Handle, PF_UNIX, SOCK_STREAM, $proto);
- unlink('/var/run/usock');
- $sun = sockaddr_un('/var/run/usock');
- connect(Socket_Handle,$sun);
+C<Socket> a low-level module used by, among other things, the L<IO::Socket>
+family of modules. The following examples demonstrate some low-level uses but
+a practical program would likely use the higher-level API provided by
+C<IO::Socket> or similar instead.
+
+ use Socket qw(PF_INET SOCK_STREAM pack_sockaddr_in inet_aton);
+
+ socket(my $socket, PF_INET, SOCK_STREAM, 0)
+ or die "socket: $!";
+
+ my $port = getservbyname "echo", "tcp";
+ connect($socket, pack_sockaddr_in($port, inet_aton("localhost")))
+ or die "connect: $!";
+
+ print $socket "Hello, world!\n";
+ print <$socket>;
+
+See also the L</EXAMPLES> section.
=head1 DESCRIPTION
-This module is just a translation of the C F<socket.h> file.
-Unlike the old mechanism of requiring a translated F<socket.ph>
-file, this uses the B<h2xs> program (see the Perl source distribution)
-and your native C compiler. This means that it has a
-far more likely chance of getting the numbers right. This includes
-all of the commonly used pound-defines like AF_INET, SOCK_STREAM, etc.
+This module provides a variety of constants, structure manipulators and other
+functions related to socket-based networking. The values and functions
+provided are useful when used in conjunction with Perl core functions such as
+socket(), setsockopt() and bind(). It also provides several other support
+functions, mostly for dealing with conversions of network addresses between
+human-readable and native binary forms, and for hostname resolver operations.
-Also, some common socket "newline" constants are provided: the
-constants C<CR>, C<LF>, and C<CRLF>, as well as C<$CR>, C<$LF>, and
-C<$CRLF>, which map to C<\015>, C<\012>, and C<\015\012>. If you do
-not want to use the literal characters in your programs, then use
-the constants provided here. They are not exported by default, but can
-be imported individually, and with the C<:crlf> export tag:
+Some constants and functions are exported by default by this module; but for
+backward-compatibility any recently-added symbols are not exported by default
+and must be requested explicitly. When an import list is provided to the
+C<use Socket> line, the default exports are not automatically imported. It is
+therefore best practice to always to explicitly list all the symbols required.
- use Socket qw(:DEFAULT :crlf);
+Also, some common socket "newline" constants are provided: the constants
+C<CR>, C<LF>, and C<CRLF>, as well as C<$CR>, C<$LF>, and C<$CRLF>, which map
+to C<\015>, C<\012>, and C<\015\012>. If you do not want to use the literal
+characters in your programs, then use the constants provided here. They are
+not exported by default, but can be imported individually, and with the
+C<:crlf> export tag:
-In addition, some structure manipulation functions are available:
+ use Socket qw(:DEFAULT :crlf);
-=over 4
+ $sock->print("GET / HTTP/1.0$CRLF");
-=item inet_aton HOSTNAME
+The entire getaddrinfo() subsystem can be exported using the tag C<:addrinfo>;
+this exports the getaddrinfo() and getnameinfo() functions, and all the
+C<AI_*>, C<NI_*>, C<NIx_*> and C<EAI_*> constants.
-Takes a string giving the name of a host, and translates that to an
-opaque string (if programming in C, struct in_addr). Takes arguments
-of both the 'rtfm.mit.edu' type and '18.181.0.24'. If the host name
-cannot be resolved, returns undef. For multi-homed hosts (hosts with
-more than one address), the first address found is returned.
+=cut
-For portability do not assume that the result of inet_aton() is 32
-bits wide, in other words, that it would contain only the IPv4 address
-in network order.
+=head1 CONSTANTS
-=item inet_ntoa IP_ADDRESS
+In each of the following groups, there may be many more constants provided
+than just the ones given as examples in the section heading. If the heading
+ends C<...> then this means there are likely more; the exact constants
+provided will depend on the OS and headers found at compile-time.
-Takes a string (an opaque string as returned by inet_aton(),
-or a v-string representing the four octets of the IPv4 address in
-network order) and translates it into a string of the form 'd.d.d.d'
-where the 'd's are numbers less than 256 (the normal human-readable
-four dotted number notation for Internet addresses).
+=cut
-=item INADDR_ANY
+=head2 PF_INET, PF_INET6, PF_UNIX, ...
-Note: does not return a number, but a packed string.
+Protocol family constants to use as the first argument to socket() or the
+value of the C<SO_DOMAIN> or C<SO_FAMILY> socket option.
-Returns the 4-byte wildcard ip address which specifies any
-of the hosts ip addresses. (A particular machine can have
-more than one ip address, each address corresponding to
-a particular network interface. This wildcard address
-allows you to bind to all of them simultaneously.)
-Normally equivalent to inet_aton('0.0.0.0').
+=head2 AF_INET, AF_INET6, AF_UNIX, ...
-=item INADDR_BROADCAST
+Address family constants used by the socket address structures, to pass to
+such functions as inet_pton() or getaddrinfo(), or are returned by such
+functions as sockaddr_family().
-Note: does not return a number, but a packed string.
+=head2 SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, ...
-Returns the 4-byte 'this-lan' ip broadcast address.
-This can be useful for some protocols to solicit information
-from all servers on the same LAN cable.
-Normally equivalent to inet_aton('255.255.255.255').
+Socket type constants to use as the second argument to socket(), or the value
+of the C<SO_TYPE> socket option.
-=item INADDR_LOOPBACK
+=head2 SOL_SOCKET
-Note - does not return a number.
+Socket option level constant for setsockopt() and getsockopt().
-Returns the 4-byte loopback address. Normally equivalent
-to inet_aton('localhost').
+=head2 SO_ACCEPTCONN, SO_BROADCAST, SO_ERROR, ...
-=item INADDR_NONE
+Socket option name constants for setsockopt() and getsockopt() at the
+C<SOL_SOCKET> level.
-Note - does not return a number.
+=head2 IP_OPTIONS, IP_TOS, IP_TTL, ...
-Returns the 4-byte 'invalid' ip address. Normally equivalent
-to inet_aton('255.255.255.255').
+Socket option name constants for IPv4 socket options at the C<IPPROTO_IP>
+level.
-=item IN6ADDR_ANY
+=head2 MSG_BCAST, MSG_OOB, MSG_TRUNC, ...
-Returns the 16-byte wildcard IPv6 address. Normally equivalent
-to inet_pton(AF_INET6, "::")
+Message flag constants for send() and recv().
-=item IN6ADDR_LOOPBACK
+=head2 SHUT_RD, SHUT_RDWR, SHUT_WR
-Returns the 16-byte loopback IPv6 address. Normally equivalent
-to inet_pton(AF_INET6, "::1")
+Direction constants for shutdown().
-=item sockaddr_family SOCKADDR
+=head2 INADDR_ANY, INADDR_BROADCAST, INADDR_LOOPBACK, INADDR_NONE
-Takes a sockaddr structure (as returned by pack_sockaddr_in(),
-pack_sockaddr_un() or the perl builtin functions getsockname() and
-getpeername()) and returns the address family tag. It will match the
-constant AF_INET for a sockaddr_in and AF_UNIX for a sockaddr_un. It
-can be used to figure out what unpacker to use for a sockaddr of
-unknown type.
+Constants giving the special C<AF_INET> addresses for wildcard, broadcast,
+local loopback, and invalid addresses.
+
+Normally equivalent to inet_aton('0.0.0.0'), inet_aton('255.255.255.255'),
+inet_aton('localhost') and inet_aton('255.255.255.255') respectively.
+
+=head2 IPPROTO_IP, IPPROTO_IPV6, IPPROTO_TCP, ...
+
+IP protocol constants to use as the third argument to socket(), the level
+argument to getsockopt() or setsockopt(), or the value of the C<SO_PROTOCOL>
+socket option.
+
+=head2 TCP_CORK, TCP_KEEPALIVE, TCP_NODELAY, ...
+
+Socket option name constants for TCP socket options at the C<IPPROTO_TCP>
+level.
+
+=head2 IN6ADDR_ANY, IN6ADDR_LOOPBACK
+
+Constants giving the special C<AF_INET6> addresses for wildcard and local
+loopback.
+
+Normally equivalent to inet_pton(AF_INET6, "::") and
+inet_pton(AF_INET6, "::1") respectively.
+
+=head2 IPV6_ADD_MEMBERSHIP, IPV6_MTU, IPV6_V6ONLY, ...
+
+Socket option name constants for IPv6 socket options at the C<IPPROTO_IPV6>
+level.
+
+=cut
+
+# Still undocumented: SCM_*, SOMAXCONN, IOV_MAX, UIO_MAXIOV
+
+=head1 STRUCTURE MANIPULATORS
+
+The following functions convert between lists of Perl values and packed binary
+strings representing structures.
+
+=cut
-=item sockaddr_in PORT, ADDRESS
+=head2 $family = sockaddr_family $sockaddr
-=item sockaddr_in SOCKADDR_IN
+Takes a packed socket address (as returned by pack_sockaddr_in(),
+pack_sockaddr_un() or the perl builtin functions getsockname() and
+getpeername()). Returns the address family tag. This will be one of the
+C<AF_*> constants, such as C<AF_INET> for a C<sockaddr_in> addresses or
+C<AF_UNIX> for a C<sockaddr_un>. It can be used to figure out what unpack to
+use for a sockaddr of unknown type.
-In a list context, unpacks its SOCKADDR_IN argument and returns an array
-consisting of (PORT, ADDRESS). In a scalar context, packs its (PORT,
-ADDRESS) arguments as a SOCKADDR_IN and returns it. If this is confusing,
-use pack_sockaddr_in() and unpack_sockaddr_in() explicitly.
+=head2 $sockaddr = pack_sockaddr_in $port, $ip_address
-=item pack_sockaddr_in PORT, IP_ADDRESS
+Takes two arguments, a port number and an opaque string (as returned by
+inet_aton(), or a v-string). Returns the C<sockaddr_in> structure with those
+arguments packed in and C<AF_INET> filled in. For Internet domain sockets,
+this structure is normally what you need for the arguments in bind(),
+connect(), and send().
-Takes two arguments, a port number and an opaque string, IP_ADDRESS
-(as returned by inet_aton(), or a v-string). Returns the sockaddr_in
-structure with those arguments packed in with AF_INET filled in. For
-Internet domain sockets, this structure is normally what you need for
-the arguments in bind(), connect(), and send(), and is also returned
-by getpeername(), getsockname() and recv().
+=head2 ($port, $ip_address) = unpack_sockaddr_in $sockaddr
-=item unpack_sockaddr_in SOCKADDR_IN
+Takes a C<sockaddr_in> structure (as returned by pack_sockaddr_in(),
+getpeername() or recv()). Returns a list of two elements: the port and an
+opaque string representing the IP address (you can use inet_ntoa() to convert
+the address to the four-dotted numeric format). Will croak if the structure
+does not represent an C<AF_INET> address.
-Takes a sockaddr_in structure (as returned by pack_sockaddr_in()) and
-returns an array of two elements: the port and an opaque string
-representing the IP address (you can use inet_ntoa() to convert the
-address to the four-dotted numeric format). Will croak if the
-structure does not have AF_INET in the right place.
+=head2 $sockaddr = sockaddr_in $port, $ip_address
-=item sockaddr_in6 PORT, IP6_ADDRESS, [ SCOPE_ID, [ FLOWINFO ] ]
+=head2 ($port, $ip_address) = sockaddr_in $sockaddr
-=item sockaddr_in6 SOCKADDR_IN6
+A wrapper of pack_sockaddr_in() or unpack_sockaddr_in(). In list context,
+unpacks its argument and returns a list consisting of the port and IP address.
+In scalar context, packs its port and IP address arguments as a C<sockaddr_in>
+and returns it.
-In list context, unpacks its SOCKADDR_IN6 argument according to
-unpack_sockaddr_in6(). In scalar context, packs its arguments according to
-pack_sockaddr_in6().
+Provided largely for legacy compatibility; it is better to use
+pack_sockaddr_in() or unpack_sockaddr_in() explicitly.
-=item pack_sockaddr_in6 PORT, IP6_ADDRESS, [ SCOPE_ID, [ FLOWINFO ] ]
+=head2 $sockaddr = pack_sockaddr_in6 $port, $ip6_address, [$scope_id, [$flowinfo]]
Takes two to four arguments, a port number, an opaque string (as returned by
inet_pton()), optionally a scope ID number, and optionally a flow label
-number. Returns the sockaddr_in6 structure with those arguments packed in
-with AF_INET6 filled in. IPv6 equivalent of pack_sockaddr_in().
+number. Returns the C<sockaddr_in6> structure with those arguments packed in
+and C<AF_INET6> filled in. IPv6 equivalent of pack_sockaddr_in().
+
+=head2 ($port, $ip6_address, $scope_id, $flowinfo) = unpack_sockaddr_in6 $sockaddr
+
+Takes a C<sockaddr_in6> structure. Returns a list of four elements: the port
+number, an opaque string representing the IPv6 address, the scope ID, and the
+flow label. (You can use inet_ntop() to convert the address to the usual
+string format). Will croak if the structure does not represent an C<AF_INET6>
+address.
+
+=head2 $sockaddr = sockaddr_in6 $port, $ip6_address, [$scope_id, [$flowinfo]]
+
+=head2 ($port, $ip6_address, $scope_id, $flowinfo) = sockaddr_in6 $sockaddr
+
+A wrapper of pack_sockaddr_in6() or unpack_sockaddr_in6(). In list context,
+unpacks its argument according to unpack_sockaddr_in6(). In scalar context,
+packs its arguments according to pack_sockaddr_in6().
-=item unpack_sockaddr_in6 SOCKADDR_IN6
+Provided largely for legacy compatibility; it is better to use
+pack_sockaddr_in6() or unpack_sockaddr_in6() explicitly.
-Takes a sockaddr_in6 structure (as returned by pack_sockaddr_in6()) and
-returns an array of four elements: the port number, an opaque string
-representing the IPv6 address, the scope ID, and the flow label. (You can
-use inet_ntop() to convert the address to the usual string format). Will
-croak if the structure does not have AF_INET6 in the right place.
+=head2 $sockaddr = pack_sockaddr_un $path
-=item sockaddr_un PATHNAME
+Takes one argument, a pathname. Returns the C<sockaddr_un> structure with that
+path packed in with C<AF_UNIX> filled in. For C<PF_UNIX> sockets, this
+structure is normally what you need for the arguments in bind(), connect(),
+and send().
-=item sockaddr_un SOCKADDR_UN
+=head2 ($path) = unpack_sockaddr_un $sockaddr
+
+Takes a C<sockaddr_un> structure (as returned by pack_sockaddr_un(),
+getpeername() or recv()). Returns a list of one element: the pathname. Will
+croak if the structure does not represent an C<AF_UNIX> address.
+
+=head2 $sockaddr = sockaddr_un $path
+
+=head2 ($path) = sockaddr_un $sockaddr
+
+A wrapper of pack_sockaddr_un() or unpack_sockaddr_un(). In a list context,
+unpacks its argument and returns a list consisting of the pathname. In a
+scalar context, packs its pathname as a C<sockaddr_un> and returns it.
+
+Provided largely for legacy compatibility; it is better to use
+pack_sockaddr_un() or unpack_sockaddr_un() explicitly.
-In a list context, unpacks its SOCKADDR_UN argument and returns an array
-consisting of (PATHNAME). In a scalar context, packs its PATHNAME
-arguments as a SOCKADDR_UN and returns it. If this is confusing, use
-pack_sockaddr_un() and unpack_sockaddr_un() explicitly.
These are only supported if your system has E<lt>F<sys/un.h>E<gt>.
-=item pack_sockaddr_un PATH
+=head2 $ipv6_mreq = pack_ipv6_mreq $ip6_address, $ifindex
+
+Takes an IPv6 address and an interface number. Returns the C<ipv6_mreq>
+structure with those arguments packed in. Suitable for use with the
+C<IPV6_ADD_MEMBERSHIP> and C<IPV6_DROP_MEMBERSHIP> sockopts.
+
+=head2 ($ip6_address, $ifindex) = unpack_ipv6_mreq $ipv6_mreq
+
+Takes an C<ipv6_mreq> structure. Returns a list of two elements; the IPv6
+address and an interface number.
+
+=cut
+
+=head1 FUNCTIONS
+
+=cut
+
+=head2 $ip_address = inet_aton $string
+
+Takes a string giving the name of a host, or a textual representation of an IP
+address and translates that to an packed binary address structure suitable to
+pass to pack_sockaddr_in(). If passed a hostname that cannot be resolved,
+returns C<undef>. For multi-homed hosts (hosts with more than one address),
+the first address found is returned.
+
+For portability do not assume that the result of inet_aton() is 32 bits wide,
+in other words, that it would contain only the IPv4 address in network order.
+
+This IPv4-only function is provided largely for legacy reasons. Newly-written
+code should use getaddrinfo() or inet_pton() instead for IPv6 support.
+
+=head2 $string = inet_ntoa $ip_address
+
+Takes a packed binary address structure such as returned by
+unpack_sockaddr_in() (or a v-string representing the four octets of the IPv4
+address in network order) and translates it into a string of the form
+C<d.d.d.d> where the C<d>s are numbers less than 256 (the normal
+human-readable four dotted number notation for Internet addresses).
-Takes one argument, a pathname. Returns the sockaddr_un structure with
-that path packed in with AF_UNIX filled in. For unix domain sockets, this
-structure is normally what you need for the arguments in bind(),
-connect(), and send(), and is also returned by getpeername(),
-getsockname() and recv().
+This IPv4-only function is provided largely for legacy reasons. Newly-written
+code should use getnameinfo() or inet_ntop() instead for IPv6 support.
-=item unpack_sockaddr_un SOCKADDR_UN
+=head2 $address = inet_pton $family, $string
-Takes a sockaddr_un structure (as returned by pack_sockaddr_un())
-and returns the pathname. Will croak if the structure does not
-have AF_UNIX in the right place.
+Takes an address family (such as C<AF_INET> or C<AF_INET6>) and a string
+containing a textual representation of an address in that family and
+translates that to an packed binary address structure.
-=item inet_pton ADDRESS_FAMILY, HOSTNAME
+See also getaddrinfo() for a more powerful and flexible function to look up
+socket addresses given hostnames or textual addresses.
-Takes an address family, either AF_INET or AF_INET6, and a string giving
-the name of a host, and translates that to an opaque string
-(if programming in C, struct in_addr or struct in6_addr depending on the
-address family passed in). The host string may be a string hostname, such
-as 'www.perl.org', or an IP address. If using an IP address, the type of
-IP address must be consistent with the address family passed into the function.
+=head2 $string = inet_ntop $family, $address
-This function is not exported by default.
+Takes an address family and a packed binary address structure and translates
+it into a human-readable textual representation of the address; typically in
+C<d.d.d.d> form for C<AF_INET> or C<hhhh:hhhh::hhhh> form for C<AF_INET6>.
-=item inet_ntop ADDRESS_FAMILY, IP_ADDRESS
+See also getnameinfo() for a more powerful and flexible function to turn
+socket addresses into human-readable textual representations.
-Takes an address family, either AF_INET or AF_INET6, and a string
-(an opaque string as returned by inet_aton() or inet_pton()) and
-translates it to an IPv4 or IPv6 address string.
+=head2 ($err, @result) = getaddrinfo $host, $service, [$hints]
-This function is not exported by default.
+Given both a hostname and service name, this function attempts to resolve the
+host name into a list of network addresses, and the service name into a
+protocol and port number, and then returns a list of address structures
+suitable to connect() to it.
-=item getaddrinfo HOST, SERVICE, [ HINTS ]
+Given just a host name, this function attempts to resolve it to a list of
+network addresses, and then returns a list of address structures giving these
+addresses.
-Given at least one of a hostname and a service name, returns a list of address
-structures to listen on or connect to. HOST and SERVICE should be plain
-strings (or a numerical port number for SERVICE). If present, HINTS should be
-a reference to a HASH, where the following keys are recognised:
+Given just a service name, this function attempts to resolve it to a protocol
+and port number, and then returns a list of address structures that represent
+it suitable to bind() to. This use should be combined with the C<AI_PASSIVE>
+flag; see below.
-=over 8
+Given neither name, it generates an error.
+
+If present, $hints should be a reference to a hash, where the following keys
+are recognised:
+
+=over 4
=item flags => INT
-A bitfield containing C<AI_*> constants
+A bitfield containing C<AI_*> constants; see below.
=item family => INT
@@ -253,31 +343,33 @@ Restrict to only generating addresses for this protocol
=back
The return value will be a list; the first value being an error indication,
-followed by a list of address structures (if no error occured).
-
- my ( $err, @results ) = getaddrinfo( ... );
+followed by a list of address structures (if no error occurred).
The error value will be a dualvar; comparable to the C<EI_*> error constants,
-or printable as a human-readable error message string. Each value in the
-results list will be a HASH reference containing the following fields:
+or printable as a human-readable error message string. If no error occurred it
+will be zero numerically and an empty string.
-=over 8
+Each value in the results list will be a hash reference containing the following
+fields:
+
+=over 4
=item family => INT
-The address family (e.g. AF_INET)
+The address family (e.g. C<AF_INET>)
=item socktype => INT
-The socket type (e.g. SOCK_STREAM)
+The socket type (e.g. C<SOCK_STREAM>)
=item protocol => INT
-The protocol (e.g. IPPROTO_TCP)
+The protocol (e.g. C<IPPROTO_TCP>)
=item addr => STRING
-The address in a packed string (such as would be returned by pack_sockaddr_in)
+The address in a packed string (such as would be returned by
+pack_sockaddr_in())
=item canonname => STRING
@@ -287,261 +379,390 @@ address.
=back
-=item getnameinfo ADDR, FLAGS
+The following flag constants are recognised in the $hints hash. Other flag
+constants may exist as provided by the OS.
+
+=over 4
+
+=item AI_PASSIVE
+
+Indicates that this resolution is for a local bind() for a passive (i.e.
+listening) socket, rather than an active (i.e. connecting) socket.
+
+=item AI_CANONNAME
+
+Indicates that the caller wishes the canonical hostname (C<canonname>) field
+of the result to be filled in.
+
+=item AI_NUMERICHOST
+
+Indicates that the caller will pass a numeric address, rather than a hostname,
+and that getaddrinfo() must not perform a resolve operation on this name. This
+flag will prevent a possibly-slow network lookup operation, and instead return
+an error if a hostname is passed.
+
+=back
+
+=head2 ($err, $hostname, $servicename) = getnameinfo $sockaddr, [$flags, [$xflags]]
-Given a packed socket address (such as from C<getsockname>, C<getpeername>, or
-returned by C<getaddrinfo> in a C<addr> field), returns the hostname and
-symbolic service name it represents. FLAGS may be a bitmask of C<NI_*>
+Given a packed socket address (such as from getsockname(), getpeername(), or
+returned by getaddrinfo() in a C<addr> field), returns the hostname and
+symbolic service name it represents. $flags may be a bitmask of C<NI_*>
constants, or defaults to 0 if unspecified.
The return value will be a list; the first value being an error condition,
followed by the hostname and service name.
- my ( $err, $host, $service ) = getnameinfo( ... );
-
The error value will be a dualvar; comparable to the C<EI_*> error constants,
or printable as a human-readable error message string. The host and service
names will be plain strings.
+The following flag constants are recognised as $flags. Other flag constants may
+exist as provided by the OS.
+
+=over 4
+
+=item NI_NUMERICHOST
+
+Requests that a human-readable string representation of the numeric address be
+returned directly, rather than performing a name resolve operation that may
+convert it into a hostname. This will also avoid potentially-blocking network
+IO.
+
+=item NI_NUMERICSERV
+
+Requests that the port number be returned directly as a number representation
+rather than performing a name resolve operation that may convert it into a
+service name.
+
+=item NI_NAMEREQD
+
+If a name resolve operation fails to provide a name, then this flag will cause
+getnameinfo() to indicate an error, rather than returning the numeric
+representation as a human-readable string.
+
+=item NI_DGRAM
+
+Indicates that the socket address relates to a C<SOCK_DGRAM> socket, for the
+services whose name differs between TCP and UDP protocols.
+
+=back
+
+The following constants may be supplied as $xflags.
+
+=over 4
+
+=item NIx_NOHOST
+
+Indicates that the caller is not interested in the hostname of the result, so
+it does not have to be converted. C<undef> will be returned as the hostname.
+
+=item NIx_NOSERV
+
+Indicates that the caller is not interested in the service name of the result,
+so it does not have to be converted. C<undef> will be returned as the service
+name.
+
+=back
+
+=head1 getaddrinfo() / getnameinfo() ERROR CONSTANTS
+
+The following constants may be returned by getaddrinfo() or getnameinfo().
+Others may be provided by the OS.
+
+=over 4
+
+=item EAI_AGAIN
+
+A temporary failure occurred during name resolution. The operation may be
+successful if it is retried later.
+
+=item EAI_BADFLAGS
+
+The value of the C<flags> hint to getaddrinfo(), or the $flags parameter to
+getnameinfo() contains unrecognised flags.
+
+=item EAI_FAMILY
+
+The C<family> hint to getaddrinfo(), or the family of the socket address
+passed to getnameinfo() is not supported.
+
+=item EAI_NODATA
+
+The host name supplied to getaddrinfo() did not provide any usable address
+data.
+
+=item EAI_NONAME
+
+The host name supplied to getaddrinfo() does not exist, or the address
+supplied to getnameinfo() is not associated with a host name and the
+C<NI_NAMEREQD> flag was supplied.
+
+=item EAI_SERVICE
+
+The service name supplied to getaddrinfo() is not available for the socket
+type given in the $hints.
+
=back
=cut
+=head1 EXAMPLES
+
+=head2 Lookup for connect()
+
+The getaddrinfo() function converts a hostname and a service name into a list
+of structures, each containing a potential way to connect() to the named
+service on the named host.
+
+ use IO::Socket;
+ use Socket qw(SOCK_STREAM getaddrinfo);
+
+ my %hints = (socktype => SOCK_STREAM);
+ my ($err, @res) = getaddrinfo("localhost", "echo", \%hints);
+ die "Cannot getaddrinfo - $err" if $err;
+
+ my $sock;
+
+ foreach my $ai (@res) {
+ my $candidate = IO::Socket->new();
+
+ $candidate->socket($ai->{family}, $ai->{socktype}, $ai->{protocol})
+ or next;
+
+ $candidate->connect($ai->{addr})
+ or next;
+
+ $sock = $candidate;
+ last;
+ }
+
+ die "Cannot connect to localhost:echo" unless $sock;
+
+ $sock->print("Hello, world!\n");
+ print <$sock>;
+
+Because a list of potential candidates is returned, the C<while> loop tries
+each in turn until it it finds one that succeeds both the socket() and
+connect() calls.
+
+This function performs the work of the legacy functions gethostbyname(),
+getservbyname(), inet_aton() and pack_sockaddr_in().
+
+In practice this logic is better performed by L<IO::Socket::IP>.
+
+=head2 Making a human-readable string out of an address
+
+The getnameinfo() function converts a socket address, such as returned by
+getsockname() or getpeername(), into a pair of human-readable strings
+representing the address and service name.
+
+ use IO::Socket::IP;
+ use Socket qw(getnameinfo);
+
+ my $server = IO::Socket::IP->new(LocalPort => 12345, Listen => 1) or
+ die "Cannot listen - $@";
+
+ my $socket = $server->accept or die "accept: $!";
+
+ my ($err, $hostname, $servicename) = getnameinfo($socket->peername);
+ die "Cannot getnameinfo - $err" if $err;
+
+ print "The peer is connected from $hostname\n";
+
+Since in this example only the hostname was used, the redundant conversion of
+the port number into a service name may be omitted by passing the
+C<NIx_NOSERV> flag.
+
+ use Socket qw(getnameinfo NIx_NOSERV);
+
+ my ($err, $hostname) = getnameinfo($socket->peername, 0, NIx_NOSERV);
+
+This function performs the work of the legacy functions unpack_sockaddr_in(),
+inet_ntoa(), gethostbyaddr() and getservbyport().
+
+In practice this logic is better performed by L<IO::Socket::IP>.
+
+=head2 Resolving hostnames into IP addresses
+
+To turn a hostname into a human-readable plain IP address use getaddrinfo()
+to turn the hostname into a list of socket structures, then getnameinfo() on
+each one to make it a readable IP address again.
+
+ use Socket qw(:addrinfo SOCK_RAW);
+
+ my ($err, @res) = getaddrinfo($hostname, "", {socktype => SOCK_RAW});
+ die "Cannot getaddrinfo - $err" if $err;
+
+ while( my $ai = shift @res ) {
+ my ($err, $ipaddr) = getnameinfo($ai->{addr}, NI_NUMERICHOST, NIx_NOSERV);
+ die "Cannot getnameinfo - $err" if $err;
+
+ print "$ipaddr\n";
+ }
+
+The C<socktype> hint to getaddrinfo() filters the results to only include one
+socket type and protocol. Without this most OSes return three combinations,
+for C<SOCK_STREAM>, C<SOCK_DGRAM> and C<SOCK_RAW>, resulting in triplicate
+output of addresses. The C<NI_NUMERICHOST> flag to getnameinfo() causes it to
+return a string-formatted plain IP address, rather than reverse resolving it
+back into a hostname.
+
+This combination performs the work of the legacy functions gethostbyname()
+and inet_ntoa().
+
+=head2 Accessing socket options
+
+The many C<SO_*> and other constants provide the socket option names for
+getsockopt() and setsockopt().
+
+ use IO::Socket::INET;
+ use Socket qw(SOL_SOCKET SO_RCVBUF IPPROTO_IP IP_TTL);
+
+ my $socket = IO::Socket::INET->new(LocalPort => 0, Proto => 'udp')
+ or die "Cannot create socket: $@";
+
+ $socket->setsockopt(SOL_SOCKET, SO_RCVBUF, 64*1024) or
+ die "setsockopt: $!";
+
+ print "Receive buffer is ", $socket->getsockopt(SOL_SOCKET, SO_RCVBUF),
+ " bytes\n";
+
+ print "IP TTL is ", $socket->getsockopt(IPPROTO_IP, IP_TTL), "\n";
+
+As a convenience, L<IO::Socket>'s setsockopt() method will convert a number
+into a packed byte buffer, and getsockopt() will unpack a byte buffer of the
+correct size back into a number.
+
+=cut
+
+=head1 AUTHOR
+
+This module was originally maintained in Perl core by the Perl 5 Porters.
+
+It was extracted to dual-life on CPAN at version 1.95 by
+Paul Evans <leonerd@leonerd.org.uk>
+
+=cut
+
use Carp;
use warnings::register;
require Exporter;
require XSLoader;
-@ISA = qw(Exporter);
+our @ISA = qw(Exporter);
# <@Nicholas> you can't change @EXPORT without breaking the implicit API
# Please put any new constants in @EXPORT_OK!
-@EXPORT = qw(
- inet_aton inet_ntoa
- sockaddr_family
- pack_sockaddr_in unpack_sockaddr_in
- pack_sockaddr_un unpack_sockaddr_un
- pack_sockaddr_in6 unpack_sockaddr_in6
- sockaddr_in sockaddr_in6 sockaddr_un
- INADDR_ANY INADDR_BROADCAST INADDR_LOOPBACK INADDR_NONE
- AF_802
- AF_AAL
- AF_APPLETALK
- AF_CCITT
- AF_CHAOS
- AF_CTF
- AF_DATAKIT
- AF_DECnet
- AF_DLI
- AF_ECMA
- AF_GOSIP
- AF_HYLINK
- AF_IMPLINK
- AF_INET
- AF_INET6
- AF_ISO
- AF_KEY
- AF_LAST
- AF_LAT
- AF_LINK
- AF_MAX
- AF_NBS
- AF_NIT
- AF_NS
- AF_OSI
- AF_OSINET
- AF_PUP
- AF_ROUTE
- AF_SNA
- AF_UNIX
- AF_UNSPEC
- AF_USER
- AF_WAN
- AF_X25
- IOV_MAX
- IP_OPTIONS
- IP_HDRINCL
- IP_TOS
- IP_TTL
- IP_RECVOPTS
- IP_RECVRETOPTS
- IP_RETOPTS
- MSG_BCAST
- MSG_BTAG
- MSG_CTLFLAGS
- MSG_CTLIGNORE
- MSG_CTRUNC
- MSG_DONTROUTE
- MSG_DONTWAIT
- MSG_EOF
- MSG_EOR
- MSG_ERRQUEUE
- MSG_ETAG
- MSG_FIN
- MSG_MAXIOVLEN
- MSG_MCAST
- MSG_NOSIGNAL
- MSG_OOB
- MSG_PEEK
- MSG_PROXY
- MSG_RST
- MSG_SYN
- MSG_TRUNC
- MSG_URG
- MSG_WAITALL
- MSG_WIRE
- PF_802
- PF_AAL
- PF_APPLETALK
- PF_CCITT
- PF_CHAOS
- PF_CTF
- PF_DATAKIT
- PF_DECnet
- PF_DLI
- PF_ECMA
- PF_GOSIP
- PF_HYLINK
- PF_IMPLINK
- PF_INET
- PF_INET6
- PF_ISO
- PF_KEY
- PF_LAST
- PF_LAT
- PF_LINK
- PF_MAX
- PF_NBS
- PF_NIT
- PF_NS
- PF_OSI
- PF_OSINET
- PF_PUP
- PF_ROUTE
- PF_SNA
- PF_UNIX
- PF_UNSPEC
- PF_USER
- PF_WAN
+
+# List re-ordered to match documentation above. Try to keep the ordering
+# consistent so it's easier to see which ones are or aren't documented.
+our @EXPORT = qw(
+ PF_802 PF_AAL PF_APPLETALK PF_CCITT PF_CHAOS PF_CTF PF_DATAKIT
+ PF_DECnet PF_DLI PF_ECMA PF_GOSIP PF_HYLINK PF_IMPLINK PF_INET PF_INET6
+ PF_ISO PF_KEY PF_LAST PF_LAT PF_LINK PF_MAX PF_NBS PF_NIT PF_NS PF_OSI
+ PF_OSINET PF_PUP PF_ROUTE PF_SNA PF_UNIX PF_UNSPEC PF_USER PF_WAN
PF_X25
- SCM_CONNECT
- SCM_CREDENTIALS
- SCM_CREDS
- SCM_RIGHTS
- SCM_TIMESTAMP
- SHUT_RD
- SHUT_RDWR
- SHUT_WR
- SOCK_DGRAM
- SOCK_RAW
- SOCK_RDM
- SOCK_SEQPACKET
- SOCK_STREAM
+
+ AF_802 AF_AAL AF_APPLETALK AF_CCITT AF_CHAOS AF_CTF AF_DATAKIT
+ AF_DECnet AF_DLI AF_ECMA AF_GOSIP AF_HYLINK AF_IMPLINK AF_INET AF_INET6
+ AF_ISO AF_KEY AF_LAST AF_LAT AF_LINK AF_MAX AF_NBS AF_NIT AF_NS AF_OSI
+ AF_OSINET AF_PUP AF_ROUTE AF_SNA AF_UNIX AF_UNSPEC AF_USER AF_WAN
+ AF_X25
+
+ SOCK_DGRAM SOCK_RAW SOCK_RDM SOCK_SEQPACKET SOCK_STREAM
+
SOL_SOCKET
+
+ SO_ACCEPTCONN SO_ATTACH_FILTER SO_BACKLOG SO_BROADCAST SO_CHAMELEON
+ SO_DEBUG SO_DETACH_FILTER SO_DGRAM_ERRIND SO_DOMAIN SO_DONTLINGER
+ SO_DONTROUTE SO_ERROR SO_FAMILY SO_KEEPALIVE SO_LINGER SO_OOBINLINE
+ SO_PASSCRED SO_PASSIFNAME SO_PEERCRED SO_PROTOCOL SO_PROTOTYPE
+ SO_RCVBUF SO_RCVLOWAT SO_RCVTIMEO SO_REUSEADDR SO_REUSEPORT
+ SO_SECURITY_AUTHENTICATION SO_SECURITY_ENCRYPTION_NETWORK
+ SO_SECURITY_ENCRYPTION_TRANSPORT SO_SNDBUF SO_SNDLOWAT SO_SNDTIMEO
+ SO_STATE SO_TYPE SO_USELOOPBACK SO_XOPEN SO_XSE
+
+ IP_OPTIONS IP_HDRINCL IP_TOS IP_TTL IP_RECVOPTS IP_RECVRETOPTS
+ IP_RETOPTS
+
+ MSG_BCAST MSG_BTAG MSG_CTLFLAGS MSG_CTLIGNORE MSG_CTRUNC MSG_DONTROUTE
+ MSG_DONTWAIT MSG_EOF MSG_EOR MSG_ERRQUEUE MSG_ETAG MSG_FIN
+ MSG_MAXIOVLEN MSG_MCAST MSG_NOSIGNAL MSG_OOB MSG_PEEK MSG_PROXY MSG_RST
+ MSG_SYN MSG_TRUNC MSG_URG MSG_WAITALL MSG_WIRE
+
+ SHUT_RD SHUT_RDWR SHUT_WR
+
+ INADDR_ANY INADDR_BROADCAST INADDR_LOOPBACK INADDR_NONE
+
+ SCM_CONNECT SCM_CREDENTIALS SCM_CREDS SCM_RIGHTS SCM_TIMESTAMP
+
SOMAXCONN
- SO_ACCEPTCONN
- SO_ATTACH_FILTER
- SO_BACKLOG
- SO_BROADCAST
- SO_CHAMELEON
- SO_DEBUG
- SO_DETACH_FILTER
- SO_DGRAM_ERRIND
- SO_DONTLINGER
- SO_DONTROUTE
- SO_ERROR
- SO_FAMILY
- SO_KEEPALIVE
- SO_LINGER
- SO_OOBINLINE
- SO_PASSCRED
- SO_PASSIFNAME
- SO_PEERCRED
- SO_PROTOCOL
- SO_PROTOTYPE
- SO_RCVBUF
- SO_RCVLOWAT
- SO_RCVTIMEO
- SO_REUSEADDR
- SO_REUSEPORT
- SO_SECURITY_AUTHENTICATION
- SO_SECURITY_ENCRYPTION_NETWORK
- SO_SECURITY_ENCRYPTION_TRANSPORT
- SO_SNDBUF
- SO_SNDLOWAT
- SO_SNDTIMEO
- SO_STATE
- SO_TYPE
- SO_USELOOPBACK
- SO_XOPEN
- SO_XSE
+
+ IOV_MAX
UIO_MAXIOV
+
+ sockaddr_family
+ pack_sockaddr_in unpack_sockaddr_in sockaddr_in
+ pack_sockaddr_in6 unpack_sockaddr_in6 sockaddr_in6
+ pack_sockaddr_un unpack_sockaddr_un sockaddr_un
+
+ inet_aton inet_ntoa
);
-@EXPORT_OK = qw(CR LF CRLF $CR $LF $CRLF
-
- inet_pton
- inet_ntop
-
- getaddrinfo
- getnameinfo
-
- IN6ADDR_ANY IN6ADDR_LOOPBACK
-
- AI_CANONNAME
- AI_NUMERICHOST
- AI_NUMERICSERV
- AI_PASSIVE
-
- EAI_ADDRFAMILY
- EAI_AGAIN
- EAI_BADFLAGS
- EAI_FAIL
- EAI_FAMILY
- EAI_NODATA
- EAI_NONAME
- EAI_SERVICE
- EAI_SOCKTYPE
-
- IPPROTO_IP
- IPPROTO_IPV6
- IPPROTO_RAW
- IPPROTO_ICMP
- IPPROTO_TCP
- IPPROTO_UDP
-
- NI_DGRAM
- NI_NAMEREQD
- NI_NUMERICHOST
- NI_NUMERICSERV
-
- TCP_KEEPALIVE
- TCP_MAXRT
- TCP_MAXSEG
- TCP_NODELAY
- TCP_STDURG
- TCP_CORK
- TCP_KEEPIDLE
- TCP_KEEPINTVL
- TCP_KEEPCNT
- TCP_SYNCNT
- TCP_LINGER2
- TCP_DEFER_ACCEPT
- TCP_WINDOW_CLAMP
- TCP_INFO
- TCP_QUICKACK
- TCP_CONGESTION
- TCP_MD5SIG);
-
-%EXPORT_TAGS = (
- crlf => [qw(CR LF CRLF $CR $LF $CRLF)],
- all => [@EXPORT, @EXPORT_OK],
+# List re-ordered to match documentation above. Try to keep the ordering
+# consistent so it's easier to see which ones are or aren't documented.
+our @EXPORT_OK = qw(
+ CR LF CRLF $CR $LF $CRLF
+
+ IPPROTO_IP IPPROTO_IPV6 IPPROTO_RAW IPPROTO_ICMP IPPROTO_TCP
+ IPPROTO_UDP
+
+ TCP_CONGESTION TCP_CORK TCP_DEFER_ACCEPT TCP_INFO TCP_KEEPALIVE
+ TCP_KEEPCNT TCP_KEEPIDLE TCP_KEEPINTVL TCP_LINGER2 TCP_MAXRT TCP_MAXSEG
+ TCP_MD5SIG TCP_NODELAY TCP_QUICKACK TCP_STDURG TCP_SYNCNT
+ TCP_WINDOW_CLAMP
+
+ IN6ADDR_ANY IN6ADDR_LOOPBACK
+
+ IPV6_ADD_MEMBERSHIP IPV6_DROP_MEMBERSHIP IPV6_MTU IPV6_MTU_DISCOVER
+ IPV6_MULTICAST_HOPS IPV6_MULTICAST_IF IPV6_MULTICAST_LOOP
+ IPV6_UNICAST_HOPS IPV6_V6ONLY
+
+ pack_ipv6_mreq unpack_ipv6_mreq
+
+ inet_pton inet_ntop
+
+ getaddrinfo getnameinfo
+
+ AI_ADDRCONFIG AI_ALL AI_CANONIDN AI_CANONNAME AI_IDN
+ AI_IDN_ALLOW_UNASSIGNED AI_IDN_USE_STD3_ASCII_RULES AI_NUMERICHOST
+ AI_NUMERICSERV AI_PASSIVE AI_V4MAPPED
+
+ NI_DGRAM NI_IDN NI_IDN_ALLOW_UNASSIGNED NI_IDN_USE_STD3_ASCII_RULES
+ NI_NAMEREQD NI_NOFQDN NI_NUMERICHOST NI_NUMERICSERV
+
+ NIx_NOHOST NIx_NOSERV
+
+ EAI_ADDRFAMILY EAI_AGAIN EAI_BADFLAGS EAI_BADHINTS EAI_FAIL EAI_FAMILY
+ EAI_NODATA EAI_NONAME EAI_PROTOCOL EAI_SERVICE EAI_SOCKTYPE EAI_SYSTEM
+);
+
+our %EXPORT_TAGS = (
+ crlf => [qw(CR LF CRLF $CR $LF $CRLF)],
+ addrinfo => [qw(getaddrinfo getnameinfo), grep m/^(?:AI|NI|NIx|EAI)_/, @EXPORT_OK],
+ all => [@EXPORT, @EXPORT_OK],
);
BEGIN {
sub CR () {"\015"}
sub LF () {"\012"}
sub CRLF () {"\015\012"}
+
+ # These are not gni() constants; they're extensions for the perl API
+ # The definitions in Socket.pm and Socket.xs must match
+ sub NIx_NOHOST() {1 << 0}
+ sub NIx_NOSERV() {1 << 1}
}
*CR = \CR();
@@ -584,7 +805,7 @@ sub sockaddr_un {
}
}
-XSLoader::load();
+XSLoader::load(__PACKAGE__, $VERSION);
my %errstr;
@@ -606,6 +827,9 @@ if( defined &getaddrinfo ) {
AI_PASSIVE => 1,
AI_CANONNAME => 2,
AI_NUMERICHOST => 4,
+ AI_V4MAPPED => 8,
+ AI_ALL => 16,
+ AI_ADDRCONFIG => 32,
# RFC 2553 doesn't define this but Linux does - lets be nice and
# provide it since we can
AI_NUMERICSERV => 1024,
@@ -618,8 +842,25 @@ if( defined &getaddrinfo ) {
NI_NUMERICHOST => 1,
NI_NUMERICSERV => 2,
+ NI_NOFQDN => 4,
NI_NAMEREQD => 8,
NI_DGRAM => 16,
+
+ # Constants we don't support. Export them, but croak if anyone tries to
+ # use them
+ AI_IDN => 64,
+ AI_CANONIDN => 128,
+ AI_IDN_ALLOW_UNASSIGNED => 256,
+ AI_IDN_USE_STD3_ASCII_RULES => 512,
+ NI_IDN => 32,
+ NI_IDN_ALLOW_UNASSIGNED => 64,
+ NI_IDN_USE_STD3_ASCII_RULES => 128,
+
+ # Error constants we'll never return, so it doesn't matter what value
+ # these have, nor that we don't provide strings for them
+ EAI_SYSTEM => -11,
+ EAI_BADHINTS => -1000,
+ EAI_PROTOCOL => -1001
);
foreach my $name ( keys %constants ) {
@@ -678,6 +919,14 @@ sub fake_getaddrinfo
my $flag_numerichost = $flags & AI_NUMERICHOST(); $flags &= ~AI_NUMERICHOST();
my $flag_numericserv = $flags & AI_NUMERICSERV(); $flags &= ~AI_NUMERICSERV();
+ # These constants don't apply to AF_INET-only lookups, so we might as well
+ # just ignore them. For AI_ADDRCONFIG we just presume the host has ability
+ # to talk AF_INET. If not we'd have to return no addresses at all. :)
+ $flags &= ~(AI_V4MAPPED()|AI_ALL()|AI_ADDRCONFIG());
+
+ $flags & (AI_IDN()|AI_CANONIDN()|AI_IDN_ALLOW_UNASSIGNED()|AI_IDN_USE_STD3_ASCII_RULES()) and
+ croak "Socket::getaddrinfo() does not support IDN";
+
$flags == 0 or return fake_makeerr( EAI_BADFLAGS() );
$node eq "" and $service eq "" and return fake_makeerr( EAI_NONAME() );
@@ -757,7 +1006,7 @@ sub fake_getaddrinfo
sub fake_getnameinfo
{
- my ( $addr, $flags ) = @_;
+ my ( $addr, $flags, $xflags ) = @_;
my ( $port, $inetaddr );
eval { ( $port, $inetaddr ) = Socket::unpack_sockaddr_in( $addr ) }
@@ -769,13 +1018,22 @@ sub fake_getnameinfo
my $flag_numerichost = $flags & NI_NUMERICHOST(); $flags &= ~NI_NUMERICHOST();
my $flag_numericserv = $flags & NI_NUMERICSERV(); $flags &= ~NI_NUMERICSERV();
+ my $flag_nofqdn = $flags & NI_NOFQDN(); $flags &= ~NI_NOFQDN();
my $flag_namereqd = $flags & NI_NAMEREQD(); $flags &= ~NI_NAMEREQD();
my $flag_dgram = $flags & NI_DGRAM() ; $flags &= ~NI_DGRAM();
+ $flags & (NI_IDN()|NI_IDN_ALLOW_UNASSIGNED()|NI_IDN_USE_STD3_ASCII_RULES()) and
+ croak "Socket::getnameinfo() does not support IDN";
+
$flags == 0 or return fake_makeerr( EAI_BADFLAGS() );
+ $xflags ||= 0;
+
my $node;
- if( $flag_numerichost ) {
+ if( $xflags & NIx_NOHOST ) {
+ $node = undef;
+ }
+ elsif( $flag_numerichost ) {
$node = Socket::inet_ntoa( $inetaddr );
}
else {
@@ -784,10 +1042,18 @@ sub fake_getnameinfo
return fake_makeerr( EAI_NONAME() ) if $flag_namereqd;
$node = Socket::inet_ntoa( $inetaddr );
}
+ elsif( $flag_nofqdn ) {
+ my ( $shortname ) = split m/\./, $node;
+ my ( $fqdn ) = gethostbyname $shortname;
+ $node = $shortname if defined $fqdn and $fqdn eq $node;
+ }
}
my $service;
- if( $flag_numericserv ) {
+ if( $xflags & NIx_NOSERV ) {
+ $service = undef;
+ }
+ elsif( $flag_numericserv ) {
$service = "$port";
}
else {
diff --git a/Master/tlpkg/tlperl/lib/Storable.pm b/Master/tlpkg/tlperl/lib/Storable.pm
index 44b85db2e41..5601f6d0f2b 100644
--- a/Master/tlpkg/tlperl/lib/Storable.pm
+++ b/Master/tlpkg/tlperl/lib/Storable.pm
@@ -21,7 +21,7 @@ package Storable; @ISA = qw(Exporter);
use vars qw($canonical $forgive_me $VERSION);
-$VERSION = '2.27';
+$VERSION = '2.34';
BEGIN {
if (eval { local $SIG{__DIE__}; require Log::Agent; 1 }) {
@@ -31,13 +31,14 @@ BEGIN {
# Use of Log::Agent is optional. If it hasn't imported these subs then
# provide a fallback implementation.
#
- else {
+ if (!exists &logcroak) {
require Carp;
-
*logcroak = sub {
Carp::croak(@_);
};
-
+ }
+ if (!exists &logcarp) {
+ require Carp;
*logcarp = sub {
Carp::carp(@_);
};
@@ -69,7 +70,7 @@ sub CLONE {
$Storable::downgrade_restricted = 1;
$Storable::accept_future_minor = 1;
-XSLoader::load 'Storable', $Storable::VERSION;
+XSLoader::load('Storable', $Storable::VERSION);
#
# Determine whether locking is possible, but only when needed.
diff --git a/Master/tlpkg/tlperl/lib/Term/ANSIColor.pm b/Master/tlpkg/tlperl/lib/Term/ANSIColor.pm
index 72b941f6211..bc2fc7e483e 100644
--- a/Master/tlpkg/tlperl/lib/Term/ANSIColor.pm
+++ b/Master/tlpkg/tlperl/lib/Term/ANSIColor.pm
@@ -1,7 +1,7 @@
# Term::ANSIColor -- Color screen output using ANSI escape sequences.
#
-# Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2005, 2006, 2008, 2009, 2010
-# Russ Allbery <rra@stanford.edu> and Zenin
+# Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2005, 2006, 2008, 2009, 2010,
+# 2011 Russ Allbery <rra@stanford.edu> and Zenin
# PUSH/POP support submitted 2007 by openmethods.com voice solutions
#
# This program is free software; you may redistribute it and/or modify it
@@ -17,7 +17,7 @@
package Term::ANSIColor;
require 5.001;
-$VERSION = '3.00';
+$VERSION = '3.01';
use strict;
use vars qw($AUTOLOAD $AUTOLOCAL $AUTORESET @COLORLIST @COLORSTACK $EACHLINE
@@ -226,7 +226,7 @@ sub uncolor {
# piped to a pager or some other program).
sub colored {
my ($string, @codes);
- if (ref $_[0]) {
+ if (ref ($_[0]) && ref ($_[0]) eq 'ARRAY') {
@codes = @{+shift};
$string = join ('', @_);
} else {
@@ -296,8 +296,8 @@ grey ATTR
print colored ("Yellow on magenta.", 'yellow on_magenta'), "\n";
print "This text is normal.\n";
print colored ['yellow on_magenta'], 'Yellow on magenta.', "\n";
- print colored ['red on_bright_yellow'] 'Red on bright yellow.', "\n";
- print colored ['bright_red on_black], 'Bright red on black.', "\n";
+ print colored ['red on_bright_yellow'], 'Red on bright yellow.', "\n";
+ print colored ['bright_red on_black'], 'Bright red on black.', "\n";
print "\n";
use Term::ANSIColor qw(uncolor);
@@ -644,6 +644,16 @@ For easier debugging, you may prefer to always use the commas when not
setting $Term::ANSIColor::AUTORESET or PUSHCOLOR/POPCOLOR so that you'll
get a fatal compile error rather than a warning.
+It's not possible to use this module to embed formatting and color
+attributes using Perl formats. They replace the escape character with a
+space (as documented in L<perlform(1)>), resulting in garbled output from
+the unrecognized attribute. Even if there were a way around that problem,
+the format doesn't know that the non-printing escape sequence is
+zero-length and would incorrectly format the output. For formatted output
+using color or other attributes, either use sprintf() instead or use
+formline() and then add the color or other attributes after formatting and
+before output.
+
=head1 NOTES
The codes generated by this module are standard terminal control codes,
@@ -695,7 +705,7 @@ currently supported by this module.
=head1 SEE ALSO
ECMA-048 is available on-line (at least at the time of this writing) at
-L<http://www.ecma-international.org/publications/standards/ECMA-048.HTM>.
+L<http://www.ecma-international.org/publications/standards/Ecma-048.htm>.
ISO 6429 is available from ISO for a charge; the author of this module
does not own a copy of it. Since the source material for ISO 6429 was
@@ -714,10 +724,10 @@ Russ with input from Zenin. Russ Allbery now maintains this module.
=head1 COPYRIGHT AND LICENSE
-Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2005, 2006, 2008, 2009, 2010
-Russ Allbery <rra@stanford.edu> and Zenin. This program is free software;
-you may redistribute it and/or modify it under the same terms as Perl
-itself.
+Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2005, 2006, 2008, 2009, 2010,
+2011 Russ Allbery <rra@stanford.edu> and Zenin. This program is free
+software; you may redistribute it and/or modify it under the same terms as
+Perl itself.
PUSHCOLOR, POPCOLOR, and LOCALCOLOR were contributed by openmethods.com
voice solutions.
diff --git a/Master/tlpkg/tlperl/lib/Term/Cap.pm b/Master/tlpkg/tlperl/lib/Term/Cap.pm
index 004a03c4124..5430091efda 100644
--- a/Master/tlpkg/tlperl/lib/Term/Cap.pm
+++ b/Master/tlpkg/tlperl/lib/Term/Cap.pm
@@ -19,7 +19,7 @@ use strict;
use vars qw($VERSION $VMS_TERMCAP);
use vars qw($termpat $state $first $entry);
-$VERSION = '1.12';
+$VERSION = '1.13';
# Version undef: Thu Dec 14 20:02:42 CST 1995 by sanders@bsdi.com
# Version 1.00: Thu Nov 30 23:34:29 EST 2000 by schwern@pobox.com
@@ -57,6 +57,8 @@ $VERSION = '1.12';
# EBDIC fixes from Chun Bing Ge <gecb@cn.ibm.com>
# Version 1.12: Sat Dec 8 00:10:21 GMT 2007
# QNX test fix from Matt Kraai <kraai@ftbfs.org>
+# Version 1.13: Thu Dec 22 22:21:09 GMT 2011
+# POD error fix from Domin Hargreaves <dom@earth.li>
#
# TODO:
# support Berkeley DB termcaps
@@ -86,8 +88,6 @@ termcap manpage on most Unix-like systems.
=head2 METHODS
-=over 4
-
The output strings for B<Tputs> are cached for counts of 1 for performance.
B<Tgoto> and B<Tpad> do not cache. C<$self-E<gt>{_xx}> is the raw termcap
data and C<$self-E<gt>{xx}> is the cached version.
@@ -145,6 +145,8 @@ sub termcap_path
return grep { defined $_ && -f $_ } @termcap_path;
}
+=over 4
+
=item B<Tgetent>
Returns a blessed object reference which the user can
diff --git a/Master/tlpkg/tlperl/lib/Term/ReadLine.pm b/Master/tlpkg/tlperl/lib/Term/ReadLine.pm
index 0121cdfd065..3770df05529 100644
--- a/Master/tlpkg/tlperl/lib/Term/ReadLine.pm
+++ b/Master/tlpkg/tlperl/lib/Term/ReadLine.pm
@@ -114,6 +114,46 @@ additional methods:
makes Tk event loop run when waiting for user input (i.e., during
C<readline> method).
+=item C<event_loop>
+
+Registers call-backs to wait for user input (i.e., during C<readline>
+method). This supercedes tkRunning.
+
+The first call-back registered is the call back for waiting. It is
+expected that the callback will call the current event loop until
+there is something waiting to get on the input filehandle. The parameter
+passed in is the return value of the second call back.
+
+The second call-back registered is the call back for registration. The
+input filehandle (often STDIN, but not necessarily) will be passed in.
+
+For example, with AnyEvent:
+
+ $term->event_loop(sub {
+ my $data = shift;
+ $data->[1] = AE::cv();
+ $data->[1]->recv();
+ }, sub {
+ my $fh = shift;
+ my $data = [];
+ $data->[0] = AE::io($fh, 0, sub { $data->[1]->send() });
+ $data;
+ });
+
+The second call-back is optional if the call back is registered prior to
+the call to $term-E<gt>readline.
+
+Deregistration is done in this case by calling event_loop with C<undef>
+as its parameter:
+
+ $term->event_loop(undef);
+
+This will cause the data array ref to be removed, allowing normal garbage
+collection to clean it up. With AnyEvent, that will cause $data->[0] to
+be cleaned up, and AnyEvent will automatically cancel the watcher at that
+time. If another loop requires more than that to clean up a file watcher,
+that will be up to the caller to handle.
+
=item C<ornaments>
makes the command line stand out by using termcap data. The argument
@@ -150,8 +190,8 @@ be C<o=0> or C<ornaments=0>. The head should be as described above, say
If the variable is not set, or if the head of space-separated list is
empty, the best available package is loaded.
- export "PERL_RL=Perl o=0" # Use Perl ReadLine without ornaments
- export "PERL_RL= o=0" # Use best available ReadLine without ornaments
+ export "PERL_RL=Perl o=0" # Use Perl ReadLine sans ornaments
+ export "PERL_RL= o=0" # Use best available ReadLine sans ornaments
(Note that processing of C<PERL_RL> for ornaments is in the discretion of the
particular used C<Term::ReadLine::*> package).
@@ -176,8 +216,7 @@ sub readline {
my $prompt = shift;
print $out $rl_term_set[0], $prompt, $rl_term_set[1], $rl_term_set[2];
$self->register_Tk
- if not $Term::ReadLine::registered and $Term::ReadLine::toloop
- and defined &Tk::DoOneEvent;
+ if not $Term::ReadLine::registered and $Term::ReadLine::toloop;
#$str = scalar <$in>;
$str = $self->get_line;
utf8::upgrade($str)
@@ -279,16 +318,16 @@ sub Attribs { {} }
my %features = (tkRunning => 1, ornaments => 1, 'newTTY' => 1);
sub Features { \%features }
-sub get_line {
- my $self = shift;
- my $in = $self->IN;
- local ($/) = "\n";
- return scalar <$in>;
-}
+#sub get_line {
+# my $self = shift;
+# my $in = $self->IN;
+# local ($/) = "\n";
+# return scalar <$in>;
+#}
package Term::ReadLine; # So late to allow the above code be defined?
-our $VERSION = '1.07';
+our $VERSION = '1.09';
my ($which) = exists $ENV{PERL_RL} ? split /\s+/, $ENV{PERL_RL} : undef;
if ($which) {
@@ -359,42 +398,88 @@ sub ornaments {
package Term::ReadLine::Tk;
-our($count_handle, $count_DoOne, $count_loop);
-$count_handle = $count_DoOne = $count_loop = 0;
+# This package inserts a Tk->fileevent() before the diamond operator.
+# The Tk watcher dispatches Tk events until the filehandle returned by
+# the$term->IN() accessor becomes ready for reading. It's assumed
+# that the diamond operator will return a line of input immediately at
+# that point.
-our($giveup);
-sub handle {$giveup = 1; $count_handle++}
+my ($giveup);
-sub Tk_loop {
- # Tk->tkwait('variable',\$giveup); # needs Widget
- $count_DoOne++, Tk::DoOneEvent(0) until $giveup;
- $count_loop++;
- $giveup = 0;
-}
+# maybe in the future the Tk-specific aspects will be removed.
+sub Tk_loop{
+ if (ref $Term::ReadLine::toloop)
+ {
+ $Term::ReadLine::toloop->[0]->($Term::ReadLine::toloop->[2]);
+ }
+ else
+ {
+ Tk::DoOneEvent(0) until $giveup;
+ $giveup = 0;
+ }
+};
sub register_Tk {
- my $self = shift;
- $Term::ReadLine::registered++
- or Tk->fileevent($self->IN,'readable',\&handle);
-}
+ my $self = shift;
+ unless ($Term::ReadLine::registered++)
+ {
+ if (ref $Term::ReadLine::toloop)
+ {
+ $Term::ReadLine::toloop->[2] = $Term::ReadLine::toloop->[1]->($self->IN) if $Term::ReadLine::toloop->[1];
+ }
+ else
+ {
+ Tk->fileevent($self->IN,'readable',sub { $giveup = 1});
+ }
+ }
+};
sub tkRunning {
$Term::ReadLine::toloop = $_[1] if @_ > 1;
$Term::ReadLine::toloop;
}
-sub get_c {
- my $self = shift;
- $self->Tk_loop if $Term::ReadLine::toloop && defined &Tk::DoOneEvent;
- return getc $self->IN;
+sub event_loop {
+ shift;
+
+ # T::RL::Gnu and T::RL::Perl check that this exists, if not,
+ # it doesn't call the loop. Those modules will need to be
+ # fixed before this can be removed.
+ if (not defined &Tk::DoOneEvent)
+ {
+ *Tk::DoOneEvent = sub {
+ die "what?"; # this shouldn't be called.
+ }
+ }
+
+ # store the callback in toloop, again so that other modules will
+ # recognise it and call us for the loop.
+ $Term::ReadLine::toloop = [ @_ ] if @_ > 0; # 0 because we shifted off $self.
+ $Term::ReadLine::toloop;
}
+sub PERL_UNICODE_STDIN () { 0x0001 }
+
sub get_line {
my $self = shift;
- $self->Tk_loop if $Term::ReadLine::toloop && defined &Tk::DoOneEvent;
- my $in = $self->IN;
+ my ($in,$out,$str) = @$self;
+
+ if ($Term::ReadLine::toloop) {
+ $self->register_Tk if not $Term::ReadLine::registered;
+ $self->Tk_loop;
+ }
+
local ($/) = "\n";
- return scalar <$in>;
+ $str = <$in>;
+
+ utf8::upgrade($str)
+ if (${^UNICODE} & PERL_UNICODE_STDIN || defined ${^ENCODING}) &&
+ utf8::valid($str);
+ print $out $rl_term_set[3];
+ # bug in 5.000: chomping empty string creats length -1:
+ chomp $str if defined $str;
+
+ $str;
}
1;
diff --git a/Master/tlpkg/tlperl/lib/Term/UI.pm b/Master/tlpkg/tlperl/lib/Term/UI.pm
index ba7a30421ba..34f13f8d513 100644
--- a/Master/tlpkg/tlperl/lib/Term/UI.pm
+++ b/Master/tlpkg/tlperl/lib/Term/UI.pm
@@ -11,7 +11,7 @@ use strict;
BEGIN {
use vars qw[$VERSION $AUTOREPLY $VERBOSE $INVALID];
$VERBOSE = 1;
- $VERSION = '0.26';
+ $VERSION = '0.30';
$INVALID = loc('Invalid selection, please try again: ');
}
@@ -35,7 +35,7 @@ Term::UI - Term::ReadLine UI made easy
my $reply = $term->get_reply(
prompt => 'What is your favourite colour?',
choices => [qw|blue red green|],
- default => blue,
+ default => 'blue',
);
my $bool = $term->ask_yn(
@@ -55,7 +55,7 @@ Term::UI - Term::ReadLine UI made easy
### always pick the default (good for non-interactive terms)
### -- default is '0'
$Term::UI::AUTOREPLY = 1;
-
+
### Retrieve the entire session as a printable string:
$hist = Term::UI::History->history_as_string;
$hist = $term->history_as_string;
@@ -73,12 +73,12 @@ For asking a yes or no question, there's even a shortcut.
=head1 HOW IT WORKS
-C<Term::UI> places itself at the back of the C<Term::ReadLine>
+C<Term::UI> places itself at the back of the C<Term::ReadLine>
C<@ISA> array, so you can call its functions through your term object.
C<Term::UI> uses C<Term::UI::History> to record all interactions
with the commandline. You can retrieve this history, or alter
-the filehandle the interaction is printed to. See the
+the filehandle the interaction is printed to. See the
C<Term::UI::History> manpage or the C<SYNOPSIS> for details.
=head1 METHODS
@@ -102,8 +102,8 @@ toggling the C<multi> flag. Note that a list of answers will then be
returned to you, rather than a simple string.
By specifying an C<allow> hander, you can yourself validate the answer
-a user gives. This can be any of the types that the Params::Check C<allow>
-function allows, so please refer to that manpage for details.
+a user gives. This can be any of the types that the Params::Check C<allow>
+function allows, so please refer to that manpage for details.
Finally, you have the option of adding a C<print_me> argument, which is
simply printed before the prompt. It's printed to the same file handle
@@ -135,7 +135,7 @@ sub get_reply {
### add this to the prompt to indicate the default
### answer to the question if there is one.
my $prompt_add;
-
+
### if you supplied several choices to pick from,
### we'll print them separately before the prompt
if( @{$args->{choices}} ) {
@@ -144,7 +144,7 @@ sub get_reply {
for my $choice ( @{$args->{choices}} ) {
$i++; # the answer counter -- but humans start counting
# at 1 :D
-
+
### so this choice is the default? add it to 'prompt_add'
### so we can construct a "foo? [DIGIT]" type prompt
$prompt_add = $i if (defined $args->{default} and $choice eq $args->{default});
@@ -153,7 +153,7 @@ sub get_reply {
$args->{print_me} .= sprintf "\n%3s> %-s", $i, $choice;
}
- ### we listed some choices -- add another newline for
+ ### we listed some choices -- add another newline for
### pretty printing
$args->{print_me} .= "\n" if $i;
@@ -169,14 +169,14 @@ sub get_reply {
### we set up the defaults, prompts etc, dispatch to the readline call
return $term->_tt_readline( %$args, prompt_add => $prompt_add );
-}
+}
=head2 $bool = $term->ask_yn( prompt => "your question", [default => (y|1,n|0), print_me => "extra text to print & record"] )
Asks a simple C<yes> or C<no> question to the user, returning a boolean
indicating C<true> or C<false> to the caller.
-The C<default> answer will automatically returned, if the user hits
+The C<default> answer will automatically returned, if the user hits
C<enter> or if C<$AUTOREPLY> is set to true. See the C<GLOBAL VARIABLES>
section further below.
@@ -199,7 +199,7 @@ sub ask_yn {
default => { default => undef, allow => [qw|0 1 y n|],
strict_type => 1 },
prompt => { default => '', required => 1, strict_type => 1 },
- print_me => { default => '', strict_type => 1 },
+ print_me => { default => '', strict_type => 1 },
multi => { default => 0, no_override => 1 },
choices => { default => [qw|y n|], no_override => 1 },
allow => { default => [qr/^y(?:es)?$/i, qr/^n(?:o)?$/i],
@@ -208,7 +208,7 @@ sub ask_yn {
};
my $args = check( $tmpl, \%hash, $VERBOSE ) or return undef;
-
+
### uppercase the default choice, if there is one, to be added
### to the prompt in a 'foo? [Y/n]' type style.
my $prompt_add;
@@ -217,10 +217,10 @@ sub ask_yn {
### if you supplied the default as a boolean, rather than y/n
### transform it to a y/n now
- $args->{default} = $args->{default} =~ /\d/
+ $args->{default} = $args->{default} =~ /\d/
? { 0 => 'n', 1 => 'y' }->{ $args->{default} }
: $args->{default};
-
+
@list = map { lc $args->{default} eq lc $_
? uc $args->{default}
: $_
@@ -231,7 +231,7 @@ sub ask_yn {
}
my $rv = $term->_tt_readline( %$args, prompt_add => $prompt_add );
-
+
return $rv =~ /^y/i ? 1 : 0;
}
@@ -247,11 +247,11 @@ sub _tt_readline {
my ($default, $prompt, $choices, $multi, $allow, $prompt_add, $print_me);
my $tmpl = {
- default => { default => undef, strict_type => 1,
+ default => { default => undef, strict_type => 1,
store => \$default },
prompt => { default => '', strict_type => 1, required => 1,
store => \$prompt },
- choices => { default => [], strict_type => 1,
+ choices => { default => [], strict_type => 1,
store => \$choices },
multi => { default => 0, allow => [0, 1], store => \$multi },
allow => { default => qr/.*/, store => \$allow, },
@@ -265,7 +265,7 @@ sub _tt_readline {
### it can display wonky on some terminals.
history( $print_me ) if $print_me;
-
+
### we might have to add a default value to the prompt, to
### show the user what will be picked by default:
$prompt .= " [$prompt_add]: " if $prompt_add;
@@ -273,16 +273,16 @@ sub _tt_readline {
### are we in autoreply mode?
if ($AUTOREPLY) {
-
+
### you used autoreply, but didnt provide a default!
- carp loc(
+ carp loc(
q[You have '%1' set to true, but did not provide a default!],
- '$AUTOREPLY'
+ '$AUTOREPLY'
) if( !defined $default && $VERBOSE);
### print it out for visual feedback
history( join ' ', grep { defined } $prompt, $default );
-
+
### and return the default
return $default;
}
@@ -290,16 +290,16 @@ sub _tt_readline {
### so, no AUTOREPLY, let's see what the user will answer
LOOP: {
-
+
### annoying bug in T::R::Perl that mucks up lines with a \n
### in them; So split by \n, save the last line as the prompt
### and just print the rest
{ my @lines = split "\n", $prompt;
$prompt = pop @lines;
-
+
history( "$_\n" ) for @lines;
}
-
+
### pose the question
my $answer = $term->readline($prompt);
$answer = $default unless length $answer;
@@ -315,12 +315,12 @@ sub _tt_readline {
### the return value list
my @rv;
-
+
if( @$choices ) {
-
+
for my $answer (@answers) {
-
- ### a digit implies a multiple choice question,
+
+ ### a digit implies a multiple choice question,
### a non-digit is an open answer
if( $answer =~ /\D/ ) {
push @rv, $answer if allow( $answer, $allow );
@@ -328,24 +328,24 @@ sub _tt_readline {
### remember, the answer digits are +1 compared to
### the choices, because humans want to start counting
- ### at 1, not at 0
- push @rv, $choices->[ $answer - 1 ]
+ ### at 1, not at 0
+ push @rv, $choices->[ $answer - 1 ]
if $answer > 0 && defined $choices->[ $answer - 1];
- }
+ }
}
-
+
### no fixed list of choices.. just check if the answers
### (or otherwise the default!) pass the allow handler
- } else {
+ } else {
push @rv, grep { allow( $_, $allow ) }
- scalar @answers ? @answers : ($default);
+ scalar @answers ? @answers : ($default);
}
### if not all the answers made it to the return value list,
- ### at least one of them was an invalid answer -- make the
+ ### at least one of them was an invalid answer -- make the
### user do it again
- if( (@rv != @answers) or
- (scalar(@$choices) and not scalar(@answers))
+ if( (@rv != @answers) or
+ (scalar(@$choices) and not scalar(@answers))
) {
$prompt = $INVALID;
$prompt .= "[$prompt_add] " if $prompt_add;
@@ -486,7 +486,7 @@ This defaults to C<*STDOUT>.
which would look like:
- Your favourite colour?
+ Your favourite colour?
and C<$reply> would hold the text the user typed.
@@ -502,8 +502,8 @@ which would look like:
1> red
2> green
3> blue
-
- Your favourite colour?
+
+ Your favourite colour?
C<$reply> will hold one of the choices presented. C<Term::UI> will repose
the question if the user attempts to enter an answer that's not in the
@@ -523,8 +523,8 @@ which would look like:
1> red
2> green
3> blue
-
- Your favourite colour? [3]:
+
+ Your favourite colour? [3]:
Note the default answer after the prompt. A user can now just hit C<enter>
(or set C<$Term::UI::AUTOREPLY> -- see the C<GLOBAL VARIABLES> section) and
@@ -532,10 +532,10 @@ the sensible answer 'blue' will be returned.
=head2 get_reply using print_me & multi
- ### allow the user to pick more than one colour and add an
+ ### allow the user to pick more than one colour and add an
### introduction text
@reply = $term->get_reply(
- print_me => 'Tell us what colours you like',
+ print_me => 'Tell us what colours you like',
prompt => 'Your favourite colours?',
choices => [qw|red green blue|],
multi => 1 );
@@ -546,15 +546,15 @@ which would look like:
1> red
2> green
3> blue
-
+
Your favourite colours?
An answer of C<3 2 1> would fill C<@reply> with C<blue green red>
=head2 get_reply & allow
- ### pose an open question, but do a custom verification on
- ### the answer, which will only exit the question loop, if
+ ### pose an open question, but do a custom verification on
+ ### the answer, which will only exit the question loop, if
### the answer matches the allow handler.
$reply = $term->get_reply(
prompt => "What is the magic number?",
@@ -571,18 +571,18 @@ C<Params::Check>'s C<allow> function. Check its manpage for details.
### and inform him first what cookies are.
$bool = $term->ask_yn( prompt => 'Do you like cookies?',
default => 'y',
- print_me => 'Cookies are LOVELY!!!' );
+ print_me => 'Cookies are LOVELY!!!' );
-would print:
+would print:
Cookies are LOVELY!!!
- Do you like cookies? [Y/n]:
+ Do you like cookies? [Y/n]:
-If a user then simply hits C<enter>, agreeing with the default,
-C<$bool> would be set to C<true>. (Simply hitting 'y' would also
+If a user then simply hits C<enter>, agreeing with the default,
+C<$bool> would be set to C<true>. (Simply hitting 'y' would also
return C<true>. Hitting 'n' would return C<false>)
-We could later retrieve this interaction by printing out the Q&A
+We could later retrieve this interaction by printing out the Q&A
history as follows:
print $term->history_as_string;
@@ -614,7 +614,7 @@ This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
=head1 COPYRIGHT
-This library is free software; you may redistribute and/or modify it
+This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
=cut
diff --git a/Master/tlpkg/tlperl/lib/Term/UI/History.pm b/Master/tlpkg/tlperl/lib/Term/UI/History.pm
index 1d77c01c6f6..6da99ed5aaf 100644
--- a/Master/tlpkg/tlperl/lib/Term/UI/History.pm
+++ b/Master/tlpkg/tlperl/lib/Term/UI/History.pm
@@ -8,7 +8,7 @@ use base 'Log::Message::Simple';
=head1 NAME
-Term::UI::History
+Term::UI::History - history function
=head1 SYNOPSIS
@@ -37,8 +37,8 @@ manpage for additional functionality available via this package.
=head2 history("message string" [,VERBOSE])
-Records a message on the stack, and prints it to C<STDOUT>
-(or actually C<$HISTORY_FH>, see the C<GLOBAL VARIABLES> section
+Records a message on the stack, and prints it to C<STDOUT>
+(or actually C<$HISTORY_FH>, see the C<GLOBAL VARIABLES> section
below), if the C<VERBOSE> option is true.
The C<VERBOSE> option defaults to true.
@@ -55,7 +55,7 @@ BEGIN {
for my $func ( @EXPORT ) {
no strict 'refs';
-
+
*$func = sub { my $msg = shift;
$log->store(
message => $msg,
@@ -74,8 +74,10 @@ BEGIN {
}
-{ package Log::Message::Handlers;
-
+{
+ package # hide this from PAUSE
+ Log::Message::Handlers;
+
sub history {
my $self = shift;
my $verbose = shift;
diff --git a/Master/tlpkg/tlperl/lib/Text/Abbrev.pm b/Master/tlpkg/tlperl/lib/Text/Abbrev.pm
index c6be63bcc60..3c179697f9f 100644
--- a/Master/tlpkg/tlperl/lib/Text/Abbrev.pm
+++ b/Master/tlpkg/tlperl/lib/Text/Abbrev.pm
@@ -2,11 +2,11 @@ package Text::Abbrev;
require 5.005; # Probably works on earlier versions too.
require Exporter;
-our $VERSION = '1.01';
+our $VERSION = '1.02';
=head1 NAME
-abbrev - create an abbreviation table from a list
+Text::Abbrev - abbrev - create an abbreviation table from a list
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/Tie/Array.pm b/Master/tlpkg/tlperl/lib/Tie/Array.pm
index 4e980a81fce..767cfdd77af 100644
--- a/Master/tlpkg/tlperl/lib/Tie/Array.pm
+++ b/Master/tlpkg/tlperl/lib/Tie/Array.pm
@@ -3,7 +3,7 @@ package Tie::Array;
use 5.006_001;
use strict;
use Carp;
-our $VERSION = '1.04';
+our $VERSION = '1.05';
# Pod documentation after __END__ below.
@@ -277,9 +277,6 @@ There is no support at present for tied @ISA. There is a potential conflict
between magic entries needed to notice setting of @ISA, and those needed to
implement 'tie'.
-Very little consideration has been given to the behaviour of tied arrays
-when C<$[> is not default value of zero.
-
=head1 AUTHOR
Nick Ing-Simmons E<lt>nik@tiuk.ti.comE<gt>
diff --git a/Master/tlpkg/tlperl/lib/Tie/File.pm b/Master/tlpkg/tlperl/lib/Tie/File.pm
index 9528ab1bfdb..3862da23672 100644
--- a/Master/tlpkg/tlperl/lib/Tie/File.pm
+++ b/Master/tlpkg/tlperl/lib/Tie/File.pm
@@ -7,7 +7,7 @@ use Fcntl 'O_CREAT', 'O_RDWR', 'LOCK_EX', 'LOCK_SH', 'O_WRONLY', 'O_RDONLY';
sub O_ACCMODE () { O_RDONLY | O_RDWR | O_WRONLY }
-$VERSION = "0.97_02";
+$VERSION = "0.98";
my $DEFAULT_MEMORY_SIZE = 1<<21; # 2 megabytes
my $DEFAULT_AUTODEFER_THRESHHOLD = 3; # 3 records
my $DEFAULT_AUTODEFER_FILELEN_THRESHHOLD = 65536; # 16 disk blocksful
@@ -2009,7 +2009,7 @@ Tie::File - Access the lines of a disk file via a Perl array
=head1 SYNOPSIS
- # This file documents Tie::File version 0.97
+ # This file documents Tie::File version 0.98
use Tie::File;
tie @array, 'Tie::File', filename or die ...;
@@ -2434,7 +2434,7 @@ support a C<concurrent =E<gt> 1> option that enables safe concurrent access.
Previous versions of this documentation suggested using C<memory
=E<gt> 0> for safe concurrent access. This was mistaken. Tie::File
-will not support safe concurrent access before version 0.98.
+will not support safe concurrent access before version 0.96.
=head1 CAVEATS
@@ -2532,7 +2532,7 @@ any news of importance, will be available at
=head1 LICENSE
-C<Tie::File> version 0.97 is copyright (C) 2003 Mark Jason Dominus.
+C<Tie::File> version 0.96 is copyright (C) 2003 Mark Jason Dominus.
This library is free software; you may redistribute it and/or modify
it under the same terms as Perl itself.
@@ -2560,7 +2560,7 @@ For licensing inquiries, contact the author at:
=head1 WARRANTY
-C<Tie::File> version 0.97 comes with ABSOLUTELY NO WARRANTY.
+C<Tie::File> version 0.98 comes with ABSOLUTELY NO WARRANTY.
For details, see the license.
=head1 THANKS
@@ -2597,7 +2597,8 @@ Peter Scott /
Peter Somu /
Autrijus Tang (again) /
Tels (again) /
-Juerd Waalboer
+Juerd Waalboer /
+Todd Rinaldo
=head1 TODO
diff --git a/Master/tlpkg/tlperl/lib/Time/HiRes.pm b/Master/tlpkg/tlperl/lib/Time/HiRes.pm
index 8f2ec21331b..5223ba99e96 100644
--- a/Master/tlpkg/tlperl/lib/Time/HiRes.pm
+++ b/Master/tlpkg/tlperl/lib/Time/HiRes.pm
@@ -1,15 +1,15 @@
package Time::HiRes;
+{ use 5.006; }
use strict;
-use vars qw($VERSION $XS_VERSION @ISA @EXPORT @EXPORT_OK $AUTOLOAD);
require Exporter;
require DynaLoader;
-@ISA = qw(Exporter DynaLoader);
+our @ISA = qw(Exporter DynaLoader);
-@EXPORT = qw( );
-@EXPORT_OK = qw (usleep sleep ualarm alarm gettimeofday time tv_interval
+our @EXPORT = qw( );
+our @EXPORT_OK = qw (usleep sleep ualarm alarm gettimeofday time tv_interval
getitimer setitimer nanosleep clock_gettime clock_getres
clock clock_nanosleep
CLOCK_HIGHRES CLOCK_MONOTONIC CLOCK_PROCESS_CPUTIME_ID
@@ -23,10 +23,11 @@ require DynaLoader;
stat
);
-$VERSION = '1.9721_01';
-$XS_VERSION = $VERSION;
+our $VERSION = '1.9725';
+our $XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
+our $AUTOLOAD;
sub AUTOLOAD {
my $constname;
($constname = $AUTOLOAD) =~ s/.*:://;
@@ -275,7 +276,7 @@ if an error occurred.
B<NOTE 1>: With some combinations of operating systems and Perl
releases C<SIGALRM> restarts C<select()>, instead of interrupting it.
This means that an C<alarm()> followed by a C<select()> may together
-take the sum of the times specified for the the C<alarm()> and the
+take the sum of the times specified for the C<alarm()> and the
C<select()>, not just the time of the C<alarm()>.
Note that the interaction between alarms and sleeps is unspecified.
@@ -585,6 +586,8 @@ Copyright (c) 1996-2002 Douglas E. Wegscheid. All rights reserved.
Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Jarkko Hietaniemi.
All rights reserved.
+Copyright (C) 2011, 2012 Andrew Main (Zefram) <zefram@fysh.org>
+
This program is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/UNIVERSAL.pm b/Master/tlpkg/tlperl/lib/UNIVERSAL.pm
index d66d4c5598c..1adf09c2722 100644
--- a/Master/tlpkg/tlperl/lib/UNIVERSAL.pm
+++ b/Master/tlpkg/tlperl/lib/UNIVERSAL.pm
@@ -1,6 +1,6 @@
package UNIVERSAL;
-our $VERSION = '1.08';
+our $VERSION = '1.11';
# UNIVERSAL should not contain any extra subs/methods beyond those
# that it exists to define. The use of Exporter below is a historical
@@ -103,7 +103,7 @@ check the invocand with C<blessed> from L<Scalar::Util> first:
use Scalar::Util 'blessed';
- if ( blessed( $obj ) && $obj->isa("Some::Class") {
+ if ( blessed( $obj ) && $obj->isa("Some::Class") ) {
...
}
@@ -165,9 +165,13 @@ block or C<blessed> if you need to be extra paranoid.
C<VERSION> will return the value of the variable C<$VERSION> in the
package the object is blessed into. If C<REQUIRE> is given then
it will do a comparison and die if the package version is not
-greater than or equal to C<REQUIRE>. Both C<$VERSION> or C<REQUIRE>
-must be "lax" version numbers (as defined by the L<version> module)
-or C<VERSION> will die with an error.
+greater than or equal to C<REQUIRE>, or if either C<$VERSION> or C<REQUIRE>
+is not a "lax" version number (as defined by the L<version> module).
+
+The return from C<VERSION> will actually be the stringified version object
+using the package C<$VERSION> scalar, which is guaranteed to be equivalent
+but may not be precisely the contents of the C<$VERSION> scalar. If you want
+the actual contents of C<$VERSION>, use C<$CLASS::VERSION> instead.
C<VERSION> can be called as either a class (static) method or an object
method.
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate.pm b/Master/tlpkg/tlperl/lib/Unicode/Collate.pm
index 0c9646f77a9..da362c15b43 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate.pm
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate.pm
@@ -14,12 +14,14 @@ use File::Spec;
no warnings 'utf8';
-our $VERSION = '0.73';
+our $VERSION = '0.89';
our $PACKAGE = __PACKAGE__;
+### begin XS only ###
require DynaLoader;
our @ISA = qw(DynaLoader);
bootstrap Unicode::Collate $VERSION;
+### end XS only ###
my @Path = qw(Unicode Collate);
my $KeyFile = "allkeys.txt";
@@ -69,6 +71,7 @@ use constant LEVEL_SEP => "\0\0";
# This character must not be included in any stringified
# representation of an integer.
use constant CODE_SEP => ';';
+ # NOTE: in regex /;/ is used for $jcps!
# boolean values of variable weights
use constant NON_VAR => 0; # Non-Variable character
@@ -81,9 +84,9 @@ use constant Hangul_SFin => 0xD7A3;
# Logical_Order_Exception in PropList.txt
my $DefaultRearrange = [ 0x0E40..0x0E44, 0x0EC0..0x0EC4 ];
-sub UCA_Version { "22" }
+sub UCA_Version { "24" }
-sub Base_Unicode_Version { "6.0.0" }
+sub Base_Unicode_Version { "6.1.0" }
######
@@ -100,19 +103,19 @@ my (%VariableOK);
our @ChangeOK = qw/
alternate backwards level normalization rearrange
- katakana_before_hiragana upper_before_lower
+ katakana_before_hiragana upper_before_lower ignore_level2
overrideHangul overrideCJK preprocess UCA_Version
hangul_terminator variable
/;
our @ChangeNG = qw/
entry mapping table maxlength contraction
- ignoreChar ignoreName undefChar undefName variableTable
- versionTable alternateTable backwardsTable forwardsTable rearrangeTable
+ ignoreChar ignoreName undefChar undefName rewrite
+ versionTable alternateTable backwardsTable forwardsTable
+ rearrangeTable variableTable
derivCode normCode rearrangeHash backwardsFlag
suppress suppressHash
- __useXS
- /;
+ __useXS /; ### XS only
# The hash key 'ignored' is deleted at v 0.21.
# The hash key 'isShift' is deleted at v 0.23.
# The hash key 'combining' is deleted at v 0.24.
@@ -172,6 +175,7 @@ my %DerivCode = (
18 => \&_derivCE_18,
20 => \&_derivCE_20,
22 => \&_derivCE_22,
+ 24 => \&_derivCE_24,
);
sub checkCollator {
@@ -245,11 +249,15 @@ sub new
my $class = shift;
my $self = bless { @_ }, $class;
- if (! exists $self->{table} &&
+### begin XS only ###
+ if (! exists $self->{table} && !defined $self->{rewrite} &&
!defined $self->{undefName} && !defined $self->{ignoreName} &&
!defined $self->{undefChar} && !defined $self->{ignoreChar}) {
$self->{__useXS} = \&_fetch_simple;
- } # XS only
+ } else {
+ $self->{__useXS} = undef;
+ }
+### end XS only ###
# keys of $self->{suppressHash} are $self->{suppress}.
if ($self->{suppress} && @{ $self->{suppress} }) {
@@ -262,7 +270,7 @@ sub new
if ($self->{entry}) {
while ($self->{entry} =~ /([^\n]+)/g) {
- $self->parseEntry($1);
+ $self->parseEntry($1, TRUE);
}
}
@@ -313,6 +321,7 @@ sub parseAtmark {
sub read_table {
my $self = shift;
+### begin XS only ###
if ($self->{__useXS}) {
my @rest = _fetch_rest(); # complex matter need to parse
for my $line (@rest) {
@@ -326,6 +335,7 @@ sub read_table {
}
return;
}
+### end XS only ###
my($f, $fh);
foreach my $d (@INC) {
@@ -358,8 +368,13 @@ sub parseEntry
{
my $self = shift;
my $line = shift;
+ my $tailoring = shift;
my($name, $entry, @uv, @key);
+ if (defined $self->{rewrite}) {
+ $line = $self->{rewrite}->($line);
+ }
+
return if $line !~ /^\s*[0-9A-Fa-f]/;
# removes comment and gets name
@@ -374,7 +389,7 @@ sub parseEntry
@uv = _getHexArray($e);
return if !@uv;
- return if @uv > 1 && $self->{suppressHash} &&
+ return if @uv > 1 && $self->{suppressHash} && !$tailoring &&
exists $self->{suppressHash}{$uv[0]};
$entry = join(CODE_SEP, @uv); # in JCPS
@@ -448,7 +463,7 @@ sub splitEnt
my $reH = $self->{rearrangeHash};
my $vers = $self->{UCA_Version};
my $ver9 = $vers >= 9 && $vers <= 11;
- my $uXS = $self->{__useXS};
+ my $uXS = $self->{__useXS}; ### XS only
my ($str, @buf);
@@ -487,9 +502,11 @@ sub splitEnt
} elsif ($ver9) {
$src[$i] = undef if $map->{ $src[$i] } &&
@{ $map->{ $src[$i] } } == 0;
+### begin XS only ###
if ($uXS) {
$src[$i] = undef if _ignorable_simple($src[$i]);
}
+### end XS only ###
}
}
@@ -569,7 +586,7 @@ sub splitEnt
}
# skip completely ignorable
- if ($uXS && $jcps =~ /^[0-9]+\z/ && _ignorable_simple($jcps) ||
+ if ($uXS && $jcps !~ /;/ && _ignorable_simple($jcps) || ### XS only
$map->{$jcps} && @{ $map->{$jcps} } == 0) {
if ($wLen && @buf) {
$buf[-1][2] = $i + 1;
@@ -606,16 +623,17 @@ sub getWt
{
my $self = shift;
my $u = shift;
- my $vbl = $self->{variable};
my $map = $self->{mapping};
my $der = $self->{derivCode};
- my $uXS = $self->{__useXS};
+ my $uXS = $self->{__useXS}; ### XS only
return if !defined $u;
- return map(_varCE($vbl, $_), @{ $map->{$u} })
+ return map($self->varCE($_), @{ $map->{$u} })
if $map->{$u};
- return map(_varCE($vbl, $_), _fetch_simple($u))
+### begin XS only ###
+ return map($self->varCE($_), _fetch_simple($u))
if $uXS && _exists_simple($u);
+### end XS only ###
# JCPS must not be a contraction, then it's a code point.
if (Hangul_SIni <= $u && $u <= Hangul_SFin) {
@@ -652,22 +670,22 @@ sub getWt
@hangulCE = map({
$map->{$_} ? @{ $map->{$_} } :
- $uXS && _exists_simple($_) ? _fetch_simple($_) :
+ $uXS && _exists_simple($_) ? _fetch_simple($_) : ### XS only
$der->($_);
} @decH);
}
- return map _varCE($vbl, $_), @hangulCE;
+ return map $self->varCE($_), @hangulCE;
} else {
my $cjk = $self->{overrideCJK};
my $vers = $self->{UCA_Version};
if ($cjk && _isUIdeo($u, $vers)) {
my @cjkCE = map _pack_override($_, $u, $der), $cjk->($u);
- return map _varCE($vbl, $_), @cjkCE;
+ return map $self->varCE($_), @cjkCE;
}
if ($vers == 8 && defined $cjk && _isUIdeo($u, 0)) {
- return map _varCE($vbl, $_), _uideoCE_8($u);
+ return map $self->varCE($_), _uideoCE_8($u);
}
- return map _varCE($vbl, $_), $der->($u);
+ return map $self->varCE($_), $der->($u);
}
}
@@ -680,13 +698,12 @@ sub getSortKey
my $self = shift;
my $rEnt = $self->splitEnt(shift); # get an arrayref of JCPS
my $vers = $self->{UCA_Version};
- my $vbl = $self->{variable};
my $term = $self->{hangul_terminator};
my @buf; # weight arrays
if ($term) {
my $preHST = '';
- my $termCE = _varCE($vbl, pack(VCE_TEMPLATE, NON_VAR, $term, 0,0,0));
+ my $termCE = $self->varCE(pack(VCE_TEMPLATE, NON_VAR, $term, 0,0,0));
foreach my $jcps (@$rEnt) {
# weird things like VL, TL-contraction are not considered!
my $curHST = join '', map getHST($_, $vers), split /;/, $jcps;
@@ -706,7 +723,7 @@ sub getSortKey
}
}
- return $self->mk_SortKey(\@buf);
+ return $self->mk_SortKey(\@buf); ### XS only
}
@@ -773,9 +790,9 @@ sub _eqArray($$$)
##
## (int position, int length)
-## int position = index(string, substring, position, [undoc'ed grobal])
+## int position = index(string, substring, position, [undoc'ed global])
##
-## With "grobal" (only for the list context),
+## With "global" (only for the list context),
## returns list of arrayref[position, length].
##
sub index
@@ -786,7 +803,7 @@ sub index
my $subE = $self->splitEnt(shift);
my $pos = @_ ? shift : 0;
$pos = 0 if $pos < 0;
- my $grob = shift;
+ my $glob = shift;
my $lev = $self->{level};
my $v2i = $self->{UCA_Version} >= 9 &&
@@ -794,7 +811,7 @@ sub index
if (! @$subE) {
my $temp = $pos <= 0 ? 0 : $len <= $pos ? $len : $pos;
- return $grob
+ return $glob
? map([$_, 0], $temp..$len)
: wantarray ? ($temp,0) : $temp;
}
@@ -880,7 +897,7 @@ sub index
_eqArray(\@strWt, \@subWt, $lev)) {
my $temp = $iniPos[0] + $pos;
- if ($grob) {
+ if ($glob) {
push @g_ret, [$temp, $finPos[$#subWt] - $iniPos[0]];
splice @strWt, 0, $#subWt;
splice @iniPos, 0, $#subWt;
@@ -898,7 +915,7 @@ sub index
}
}
- return $grob
+ return $glob
? @g_ret
: wantarray ? () : NOMATCHPOS;
}
@@ -1019,6 +1036,7 @@ with no parameters, the collator should do the default collation.
hangul_terminator => $term_primary_weight,
ignoreName => qr/$ignoreName/,
ignoreChar => qr/$ignoreChar/,
+ ignore_level2 => $bool,
katakana_before_hiragana => $bool,
level => $collationLevel,
normalization => $normalization_form,
@@ -1026,6 +1044,7 @@ with no parameters, the collator should do the default collation.
overrideHangul => \&overrideHangul,
preprocess => \&preprocess,
rearrange => \@charList,
+ rewrite => \&rewrite,
suppress => \@charList,
table => $filename,
undefName => qr/$undefName/,
@@ -1042,7 +1061,7 @@ If the revision (previously "tracking version") number of UCA is given,
behavior of that revision is emulated on collating.
If omitted, the return value of C<UCA_Version()> is used.
-The following revisions are supported. The default is 22.
+The following revisions are supported. The default is 24.
UCA Unicode Standard DUCET (@version)
-------------------------------------------------------
@@ -1054,6 +1073,7 @@ The following revisions are supported. The default is 22.
18 5.1.0 5.1.0 (5.1.0)
20 5.2.0 5.2.0 (5.2.0)
22 6.0.0 6.0.0 (6.0.0)
+ 24 6.1.0 6.1.0 (6.1.0)
* Noncharacters (e.g. U+FFFF) are not ignored, and can be overridden
since C<UCA_Version> 22.
@@ -1180,6 +1200,18 @@ will be ignored.
E.g. when 'a' and 'e' are ignorable,
'element' is equal to 'lament' (or 'lmnt').
+=item ignore_level2
+
+-- see 5.1 Parametric Tailoring, UTS #10.
+
+By default, case-sensitive comparison (that is level 3 difference)
+won't ignore accents (that is level 2 difference).
+
+If the parameter is made true, accents (and other primary ignorable
+characters) are ignored, even though cases are taken into account.
+
+B<NOTE>: C<level> should be 3 or greater.
+
=item katakana_before_hiragana
-- see 7.3.1 Tertiary Weight Table, UTS #10.
@@ -1259,10 +1291,11 @@ order, but those in the CJK Unified Ideographs block are lesser than
those in the CJK Unified Ideographs Extension A etc.
In the CJK Unified Ideographs block:
- U+4E00..U+9FA5 if UCA_Version is 8 to 11.
- U+4E00..U+9FBB if UCA_Version is 14 to 16.
+ U+4E00..U+9FA5 if UCA_Version is 8, 9 or 11.
+ U+4E00..U+9FBB if UCA_Version is 14 or 16.
U+4E00..U+9FC3 if UCA_Version is 18.
- U+4E00..U+9FCB if UCA_Version is 20 or greater.
+ U+4E00..U+9FCB if UCA_Version is 20 or 22.
+ U+4E00..U+9FCC if UCA_Version is 24.
In the CJK Unified Ideographs Extension blocks:
Ext.A (U+3400..U+4DB5) and Ext.B (U+20000..U+2A6D6) in any UCA_Version.
@@ -1342,7 +1375,7 @@ in C<table> or C<entry> is still valid.
-- see 5.1 Preprocessing, UTS #10.
-If specified, the coderef is used to preprocess
+If specified, the coderef is used to preprocess each string
before the formation of sort keys.
ex. dropping English articles, such as "a" or "the".
@@ -1385,13 +1418,35 @@ If C<UCA_Version> is equal to or greater than 14, default is C<[]>
B<According to the version 9 of UCA, this parameter shall not be used;
but it is not warned at present.>
+=item rewrite
+
+If specified, the coderef is used to rewrite lines in C<table> or C<entry>.
+The coderef will get each line, and then should return a rewritten line
+according to the UCA file format.
+If the coderef returns an empty line, the line will be skipped.
+
+e.g. any primary ignorable characters into tertiary ignorable:
+
+ rewrite => sub {
+ my $line = shift;
+ $line =~ s/\[\.0000\..{4}\..{4}\./[.0000.0000.0000./g;
+ return $line;
+ },
+
+This example shows rewriting weights. C<rewrite> is allowed to
+affect code points, weights, and the name.
+
+B<NOTE>: C<table> is available to use another table file;
+preparing a modified table once would be more efficient than
+rewriting lines on reading an unmodified table every time.
+
=item suppress
-- see suppress contractions in 5.14.11 Special-Purpose Commands,
UTS #35 (LDML).
Contractions beginning with the specified characters are suppressed,
-even if those contractions are defined in C<table> or C<entry>.
+even if those contractions are defined in C<table>.
An example for Russian and some languages using the Cyrillic script:
@@ -1399,6 +1454,8 @@ An example for Russian and some languages using the Cyrillic script:
where 0x0400 stands for C<U+0400>, CYRILLIC CAPITAL LETTER IE WITH GRAVE.
+B<NOTE>: Contractions via C<entry> are not be suppressed.
+
=item table
-- see 3.2 Default Unicode Collation Element Table, UTS #10.
@@ -1416,8 +1473,8 @@ may be better to avoid namespace conflict.
B<NOTE>: When XSUB is used, the DUCET is compiled on building this
module, and it may save time at the run time.
Explicit saying C<table =E<gt> 'allkeys.txt'> (or using another table),
-or using C<ignoreChar>, C<ignoreName>, C<undefChar>, or C<undefName>
-will prevent this module from using the compiled DUCET.
+or using C<ignoreChar>, C<ignoreName>, C<undefChar>, C<undefName> or
+C<rewrite> will prevent this module from using the compiled DUCET.
If C<undef> is passed explicitly as the value for this key,
no file is read (but you can define collation elements via C<entry>).
@@ -1482,7 +1539,7 @@ this parameter doesn't work validly.
-- see 3.2.2 Variable Weighting, UTS #10.
-This key allows to variable weighting for variable collation elements,
+This key allows for variable weighting of variable collation elements,
which are marked with an ASTERISK in the table
(NOTE: Many punctuation marks and symbols are variable in F<allkeys.txt>).
@@ -1572,17 +1629,19 @@ If C<UCA_Version> is 8, the output is slightly different.
=head2 Methods for Searching
-B<DISCLAIMER:> If C<preprocess> or C<normalization> parameter is true
-for C<$Collator>, calling these methods (C<index>, C<match>, C<gmatch>,
-C<subst>, C<gsubst>) is croaked,
-as the position and the length might differ
-from those on the specified string.
-(And C<rearrange> and C<hangul_terminator> parameters are neglected.)
-
The C<match>, C<gmatch>, C<subst>, C<gsubst> methods work
like C<m//>, C<m//g>, C<s///>, C<s///g>, respectively,
but they are not aware of any pattern, but only a literal substring.
+B<DISCLAIMER:> If C<preprocess> or C<normalization> parameter is true
+for C<$Collator>, calling these methods (C<index>, C<match>, C<gmatch>,
+C<subst>, C<gsubst>) is croaked, as the position and the length might
+differ from those on the specified string.
+
+C<rearrange> and C<hangul_terminator> parameters are neglected.
+C<katakana_before_hiragana> and C<upper_before_lower> don't affect
+matching and searching, as it doesn't matter whether greater or lesser.
+
=over 4
=item C<$position = $Collator-E<gt>index($string, $substring[, $position])>
@@ -1654,7 +1713,7 @@ returns an empty list.
If C<$substring> matches a part of C<$string>,
the first occurrence of the matching part is replaced by C<$replacement>
-(C<$string> is modified) and return C<$count> (always equals to C<1>).
+(C<$string> is modified) and C<$count> (always equals to C<1>) is returned.
C<$replacement> can be a C<CODEREF>,
taking the matching part as an argument,
@@ -1664,8 +1723,8 @@ and returning a string to replace the matching part
=item C<$count = $Collator-E<gt>gsubst($string, $substring, $replacement)>
If C<$substring> matches a part of C<$string>,
-all the occurrences of the matching part is replaced by C<$replacement>
-(C<$string> is modified) and return C<$count>.
+all the occurrences of the matching part are replaced by C<$replacement>
+(C<$string> is modified) and C<$count> is returned.
C<$replacement> can be a C<CODEREF>,
taking the matching part as an argument,
@@ -1676,12 +1735,29 @@ e.g.
my $Collator = Unicode::Collate->new( normalization => undef, level => 1 );
# (normalization => undef) is REQUIRED.
- my $str = "Camel donkey zebra came\x{301}l CAMEL horse cAm\0E\0L...";
+ my $str = "Camel donkey zebra came\x{301}l CAMEL horse cam\0e\0l...";
$Collator->gsubst($str, "camel", sub { "<b>$_[0]</b>" });
- # now $str is "<b>Camel</b> donkey zebra <b>came\x{301}l</b> <b>CAMEL</b> horse <b>cAm\0E\0L</b>...";
+ # now $str is "<b>Camel</b> donkey zebra <b>came\x{301}l</b> <b>CAMEL</b> horse <b>cam\0e\0l</b>...";
# i.e., all the camels are made bold-faced.
+ Examples: levels and ignore_level2 - what does camel match?
+ ---------------------------------------------------------------------------
+ level ignore_level2 | camel Camel came\x{301}l c-a-m-e-l cam\0e\0l
+ -----------------------|---------------------------------------------------
+ 1 false | yes yes yes yes yes
+ 2 false | yes yes no yes yes
+ 3 false | yes no no yes yes
+ 4 false | yes no no no yes
+ -----------------------|---------------------------------------------------
+ 1 true | yes yes yes yes yes
+ 2 true | yes yes yes yes yes
+ 3 true | yes no yes yes yes
+ 4 true | yes no yes no yes
+ ---------------------------------------------------------------------------
+ note: if variable => non-ignorable, camel doesn't match c-a-m-e-l
+ at any level.
+
=back
=head2 Other Methods
@@ -1692,7 +1768,7 @@ e.g.
=item C<$modified_collator = $Collator-E<gt>change(%new_tailoring)>
-Change the value of specified keys and returns the changed part.
+Changes the value of specified keys and returns the changed part.
$Collator = Unicode::Collate->new(level => 4);
@@ -1792,15 +1868,15 @@ B<Unicode::Normalize is required to try The Conformance Test.>
=head1 AUTHOR, COPYRIGHT AND LICENSE
The Unicode::Collate module for perl was written by SADAHIRO Tomoyuki,
-<SADAHIRO@cpan.org>. This module is Copyright(C) 2001-2011,
+<SADAHIRO@cpan.org>. This module is Copyright(C) 2001-2012,
SADAHIRO Tomoyuki. Japan. All rights reserved.
This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
The file Unicode/Collate/allkeys.txt was copied verbatim
-from L<http://www.unicode.org/Public/UCA/6.0.0/allkeys.txt>.
-This file is Copyright (c) 1991-2010 Unicode, Inc. All rights reserved.
+from L<http://www.unicode.org/Public/UCA/6.1.0/allkeys.txt>.
+For this file, Copyright (c) 2001-2011 Unicode, Inc.
Distributed under the Terms of Use in L<http://www.unicode.org/copyright.html>.
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Korean.pm b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Korean.pm
index 2b9c5747db7..7d19eac9488 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Korean.pm
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Korean.pm
@@ -4,21 +4,21 @@ use 5.006;
use strict;
use Unicode::Collate;
-our $VERSION = '0.66';
+our $VERSION = '0.88';
my %jamo2prim = (
- 0x1100, 0x3031, 0x1101, 0x3032, 0x1102, 0x3033, 0x1103, 0x3034,
- 0x1105, 0x3036, 0x1106, 0x3037, 0x1107, 0x3038, 0x1109, 0x303A,
- 0x110A, 0x303B, 0x110B, 0x303C, 0x110C, 0x303D, 0x110E, 0x303F,
- 0x110F, 0x3040, 0x1110, 0x3041, 0x1111, 0x3042, 0x1112, 0x3043,
- 0x1161, 0x30AF, 0x1162, 0x30B0, 0x1163, 0x30B1, 0x1165, 0x30B3,
- 0x1166, 0x30B4, 0x1167, 0x30B5, 0x1168, 0x30B6, 0x1169, 0x30B7,
- 0x116A, 0x30B8, 0x116B, 0x30B9, 0x116C, 0x30BA, 0x116D, 0x30BB,
- 0x116E, 0x30BC, 0x116F, 0x30BD, 0x1170, 0x30BE, 0x1171, 0x30BF,
- 0x1172, 0x30C0, 0x1173, 0x30C1, 0x1174, 0x30C2, 0x1175, 0x30C3,
- 0x11A8, 0x310D, 0x11AB, 0x3110, 0x11AF, 0x3114, 0x11B7, 0x311C,
- 0x11B8, 0x311D, 0x11BC, 0x3121, 0x11BD, 0x3122,
-); # for DUCET v6.0.0
+ 0x1100, 0x313B, 0x1101, 0x313C, 0x1102, 0x313D, 0x1103, 0x313E,
+ 0x1105, 0x3140, 0x1106, 0x3141, 0x1107, 0x3142, 0x1109, 0x3144,
+ 0x110A, 0x3145, 0x110B, 0x3146, 0x110C, 0x3147, 0x110E, 0x3149,
+ 0x110F, 0x314A, 0x1110, 0x314B, 0x1111, 0x314C, 0x1112, 0x314D,
+ 0x1161, 0x31B9, 0x1162, 0x31BA, 0x1163, 0x31BB, 0x1165, 0x31BD,
+ 0x1166, 0x31BE, 0x1167, 0x31BF, 0x1168, 0x31C0, 0x1169, 0x31C1,
+ 0x116A, 0x31C2, 0x116B, 0x31C3, 0x116C, 0x31C4, 0x116D, 0x31C5,
+ 0x116E, 0x31C6, 0x116F, 0x31C7, 0x1170, 0x31C8, 0x1171, 0x31C9,
+ 0x1172, 0x31CA, 0x1173, 0x31CB, 0x1174, 0x31CC, 0x1175, 0x31CD,
+ 0x11A8, 0x3217, 0x11AB, 0x321A, 0x11AF, 0x321E, 0x11B7, 0x3226,
+ 0x11B8, 0x3227, 0x11BC, 0x322B, 0x11BD, 0x322C,
+); # for DUCET v6.1.0
my(%u2e, $prim, $wt);
while (<DATA>) {
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Pinyin.pm b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Pinyin.pm
index 6288d31fa9c..d3d99412378 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Pinyin.pm
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Pinyin.pm
@@ -3,7 +3,7 @@ package Unicode::Collate::CJK::Pinyin;
use 5.006;
use strict;
-our $VERSION = '0.65';
+our $VERSION = '0.85';
my %u2p;
my $wt = 0x8000;
@@ -13,7 +13,7 @@ while (<DATA>) {
my @c = split;
for my $c (@c) {
next if !$c;
- $u2p{hex($c)} = $wt;
+ $u2p{hex($c)} = $wt if $c !~ /-/;
$wt++;
}
}
@@ -25,2106 +25,2972 @@ sub weightPinyin {
1;
__DATA__
-3105 3106 3107 3108 3109 310A 310B 310C 310D 310E
-310F 3110 3111 3112 3113 3114 3115 3116 3117 3118
-3119 311A 311B 311C 311D 311E 311F 3120 3121 3122
-3123 3124 3125 3126 3127 3128 3129 5416 963F 554A
-9515 9312 55C4 5391 54CE 54C0 5509 57C3 6328 6B38
-6EBE 953F 9384 5540 6371 7691 51D2 5D66 6EB0 560A
-6571 6573 769A 764C 6BD0 6639 5A3E 55F3 77EE 853C
-8EB7 566F 6FED FA1F 85F9 8B6A 972D 9744 827E 4F0C
-7231 7839 784B 9698 55CC 5867 5AD2 611B 788D 53C6
-66A7 7477 50FE 58D2 5B21 61D3 8586 61DD 66D6 74A6
-8CF9 9932 9D31 76A7 77B9 99A4 7919 8B7A 9440 9C6B
-9749 5B89 4F92 5CD6 6849 6C28 5EB5 83F4 8C19 5A95
-843B 844A 75F7 8164 9E4C 84ED 8A9D 978C 978D 76E6
-8AF3 95C7 99A3 9B9F 76EB 9D6A 97FD 9D95 73B5 557D
-96F8 57B5 4FFA 5535 57EF 94F5 968C 63DE 667B 7F6F
-92A8 72B4 5CB8 6309 6D1D 834C 6848 80FA 8C7B 5813
-5A69 6697 8C8B 5111 930C 9EEF 80AE 9AAF 5C87 6602
-663B 678A 76CE 91A0 51F9 5773 5787 67EA 8EEA 720A
-6556 53AB 969E 55F7 55F8 5D85 5ED2 6EF6 7352 7353
-9068 646E 71AC 7488 851C 78DD 7FF1 8071 87AF 7FF6
-8B37 7FFA 9CCC 93D6 9C32 9DD4 9F07 629D 82BA 62D7
-8884 5AAA 957A 5ABC 8956 5C99 6277 5CB0 50B2 5961
-5965 5AEF 6160 9A9C 5967 6F9A 58BA 5DB4 6FB3 61CA
-64D9 8B38 93CA 9A41 516B 4EC8 5DF4 53ED 6252 6733
-7390 5427 593F 5C9C 82AD 75A4 54F5 634C 7B06 7C91
-7D26 7F93 8686 91DF 8C5D 9C83 9B5E 53D0 72AE 629C
-577A 59AD 62D4 8307 70A6 7679 80C8 91DB 83DD 8A59
-8DCB 8EF7 98B0 9B43 58A2 9F25 628A 94AF 9200 9776
-575D 5F1D 7238 57BB 7F62 E83D 8DC1 9C85 7F77 E83C
-9B81 8987 77F2 9738 58E9 705E 6B1B 6300 63B0 767D
-767E 4F70 67CF 6822 636D 7AE1 7CA8 7D54 6446 64FA
-896C 5457 5E8D 62DD 8D25 62DC 5504 6557 7308 7A17
-7CBA 9781 85AD 8D01 97DB 5161 74F8 6273 653D 670C
-73ED 822C 9881 6591 642C 6592 9812 7622 8781 878C
-8929 764D 8FAC 962A 5742 5C85 6604 677F 7248 74EA
-94A3 7C84 8228 9211 8742 9B6C 95C6 529E 534A 4F34
-626E 59C5 6011 62CC 7ECA 79DA 6E74 7D46 9261 977D
-8FA6 74E3 90A6 5CC0 57B9 5E2E 6360 6886 6D5C 90AB
-5E47 5E5A 7E0D 5E6B 97A4 7ED1 7D81 699C 7253 8180
-73A4 868C 508D 68D2 68D3 7865 8C24 585D 5FAC 7A16
-84A1 872F 78C5 9551 8255 8B17 938A 52F9 5305 4F68
-5B62 82DE 80DE 525D 7B23 7172 9F85 8554 8912 95C1
-8943 9F59 7A87 5AD1 96F9 5B9D 6009 9971 4FDD 9E28
-73E4 5821 5822 5AAC 8446 5BDA 98F9 98FD 8913 99C2
-9CF5 7DE5 9D07 8CF2 85F5 5BF3 5BF6 974C 52FD 62A5
-62B1 8C79 8DB5 94C7 83E2 888C 5831 924B 9C8D 9764
-9AB2 66B4 9AF1 8663 9B91 5124 66D3 7206 5FC1 9464
-8421 9642 5351 676F 76C3 686E 60B2 63F9 7891 9E4E
-85E3 9D6F 55BA 5317 9273 8D1D 72C8 8C9D 90B6 5907
-6601 726C 82DD 80CC 94A1 4FFB 500D 6096 72FD 88AB
-505D 5079 6896 73FC 9101 5099 50C3 60EB 7119 7432
-8EF0 8F88 6102 789A 7999 84D3 86FD 7295 8919 8A96
-9AB3 8F29 92C7 618A 7CD2 97B4 943E 5954 6CCD 8D32
-5034 6E00 9029 7287 8CC1 951B 931B 672C 82EF 5959
-755A 694D 574C 6379 6873 7B28 64AA 7356 8F3D 4F3B
-794A 595F 5D29 7EF7 7D63 958D 5D6D 75ED 5623 7DB3
-7E43 752D 57C4 57F2 83F6 7423 742B 979B 6CF5 8FF8
-902C 8DF0 5874 750F 955A 8E66 93F0 7680 5C44 506A
-6BF4 903C 8C4D 8795 9CBE 939E 9D56 9C0F 67F2 8378
-9F3B 5B36 5315 6BD4 5936 673C 4F4A 5421 59A3 6C98
-7595 5F7C 67C0 79D5 4FFE 7B14 7C83 7C8A 822D 555A
-7B46 9119 805B 8C8F 5302 5E01 5FC5 6BD5 95ED 4F56
-5752 5E87 8BD0 90B2 59BC 602D 6788 7540 7541 82FE
-54D4 6BD6 73CC 75AA 80C7 835C 965B 6BD9 72F4 7562
-8890 94CB 5A62 5EB3 655D 6890 8406 841E 9587 9589
-581B 5F3B 5F3C 610A 610E 6E62 7695 7986 7B5A 8A56
-8CB1 8D51 55F6 5F43 6945 6ED7 6EED 714F 75F9 75FA
-8177 84D6 84FD 870C 88E8 8DF8 8F9F 924D 959F 98F6
-5E63 5F0A 719A 7359 78A7 7A2B 7B85 7B86 7DBC 853D
-912A 999D 5E64 6F77 7358 7F7C 8945 99DC 9AF2 58C1
-5B16 5EE6 7BE6 7BF3 7E2A 859C 89F1 907F 9B85 6583
-6FDE 81C2 8E55 979E 9AC0 5970 74A7 9128 9946 7E74
-895E 8963 93CE 97B8 97E0 8E83 8E84 9B53 8D14 9434
-9A46 9DDD 9DE9 9F0A 8FB9 782D 7B3E 7335 7F16 8439
-7178 7251 7502 7BAF 7DE8 8759 7371 9089 937D 9CCA
-908A 97AD 9BFE 9BFF 7C69 709E 8D2C 6241 7A86 533E
-8CB6 60FC 78A5 7A28 890A 7CC4 9D18 85CA 535E 5F01
-5FED 6283 6C73 6C74 82C4 91C6 5CC5 62DA 4FBF 53D8
-5909 662A 898D 5FA7 63D9 7F0F 904D 959E 8FA1 7DF6
-8251 9828 8FA7 8FA8 8FA9 8FAA 8FAB 8FAE 8FAF 8B8A
-706C 6753 5F6A 6807 98D1 9A89 9ADF 6DF2 730B 813F
-5882 5E56 6EEE 8508 98AE 9AA0 6A19 719B 8198 9E83
-762D 9556 98D9 98DA 5126 98B7 700C 85E8 8B24 7202
-81D5 8D06 93E2 7A6E 9573 98C6 98C7 98C8 98CA 9A43
-9463 9A6B 8868 5A4A 88F1 8AD8 893E 9336 6AA6 4FF5
-647D 9CD4 9C3E 618B 9CD6 9C49 9F08 864C 9F9E 5225
-522B 5487 8382 86C2 5FB6 8952 87DE 8E69 762A 765F
-5F46 6C43 90A0 780F 5BBE 5F6C 50A7 658C 6915 6EE8
-7F24 69DF 7478 8C69 8CD3 8CD4 9554 5110 6FD2 6FF1
-6FF5 8668 8C73 74B8 7015 9726 7E7D 8819 944C 986E
-6C1E 6448 6BA1 8191 9AE9 64EF 9B02 6BAF 81CF 9ACC
-9B13 9AD5 9B22 51AB 4ECC 6C37 51B0 5175 681F 63A4
-68B9 92F2 6AB3 4E19 90B4 9643 6032 62A6 79C9 82EA
-661E 663A 67C4 70B3 997C 772A 7A89 86C3 68C5 7980
-9235 927C 9786 9905 9920 71F7 5E76 4E26 4F75 5E77
-57AA 5EB0 5002 6824 75C5 7ADD 504B 50A1 5BCE 6452
-8A81 9BA9 9750 7676 62E8 6CE2 7677 73BB 5265 76CB
-7835 889A 88AF 94B5 997D 5575 7D34 7F3D 8116 83E0
-88B0 7886 9262 50E0 5D93 64A5 64AD 9911 78FB 8E73
-9A4B 9C4D 4EE2 4F2F 5B5B 72BB 9A73 5E1B 6CCA 72DB
-74DD 82E9 4FBC 52C3 67ED 80C9 90E3 4EB3 632C 6D61
-74DF 79E1 94B9 E84B 94C2 6872 6DFF 8236 535A 6E24
-6E50 8467 9E41 613D 640F 733C 9238 9251 998E 9C8C
-50F0 717F 7254 7B94 818A 824A 999B 99C1 8E23 92CD
-9548 58C6 8584 999E 99EE 9B8A 894F 8C70 5697 61EA
-7921 7C19 939B 993A 9D53 72A6 9AC6 9AC9 6B02 896E
-7934 946E 86BE 8DDB 7BA5 7C38 5B79 64D8 6A97 7CEA
-8B52 8617 8514 5CEC 5EAF 900B 94B8 6661 923D 8AA7
-9914 8F50 91AD 535C 535F 8865 54FA 6355 88DC 9CEA
-735B 9D4F 9E14 4E0D 5E03 4F48 5425 6B65 5498 6016
-6B68 6B69 949A 52CF 57D7 6091 6357 8379 90E8 57E0
-74FF 9208 5ECD 8500 8E04 90F6 7BF0 9922 7C3F 5693
-64E6 6503 7924 7938 906A 56C3 5072 731C 624D 6750
-8D22 8CA1 621D 88C1 7E94 91C7 5038 57F0 5A47 5BC0
-5F69 63A1 776C 8DF4 7DB5 8E29 83DC 68CC 8521 7E29
-4E72 53C2 53C3 53C4 98E1 9A96 53C5 55B0 6E4C 50AA
-5B20 9910 9A42 6B8B 8695 60ED 6B98 615A 8745 6159
-8836 883A 60E8 6701 6158 5646 61AF E835 7A47 9EEA
-9EF2 707F 7CB2 510F 6FAF 8592 71E6 74A8 8B32 7218
-4ED3 4EFA 4F27 6CA7 82CD 9E27 5009 8231 5096 51D4
-5D62 6EC4 734A 84BC 6FF8 8259 87A5 7F49 9DAC 5328
-8535 85CF 6B0C 9476 8CF6 64A1 64CD 7CD9 66FA 66F9
-5608 5D86 6F15 84F8 69FD 893F 825A 87AC 93EA 8279
-8278 8349 613A 61C6 9A32 808F 9135 8959 9F1C 518A
-518C 4FA7 5395 607B 62FA 6D4B 835D 6547 755F 5074
+FDD0-0041
+963F 5475 9515
+55C4
+554A
+54CE 54C0 5509 57C3 5A2D 6328 6B38 6EBE 55F3 92B0
+953F 566F 9384
+5540 6371 7691 6EB0 560A 6571 6573 769A 764C 9A03
+6BD0 6639 5A3E 77EE 853C 8EB7 6FED 85F9 972D 9744
+827E 4F0C 7231 7839 784B 9698 55CC 5867 5AD2 611B
+788D 53C6 66A7 7477 95A1 50FE 58D2 5B21 61D3 8586
+9D31 61DD 66D6 74A6 9932 76A7 77B9 99A4 7919 8B6A
+8B7A 9440 9749
+9C6B
+5B89 4F92 5CD6 6849 6C28 5EB5 83F4 8C19 5A95 843B
+844A 75F7 8164 9E4C 84ED 8A9D 978C 978D 76E6 8AF3
+99A3 76EB 9D6A 97FD 9D95
+73B5 557D 96F8 5111
+57B5 4FFA 5535 57EF 94F5 968C 63DE 7F6F 92A8
+72B4 5CB8 6309 6D1D 834C 6848 80FA 8C7B 5813 5A69
+667B 6697 930C 95C7 9B9F 9EEF
+80AE 9AAF
+536C 5C87 6602 663B
+678A 76CE 91A0
+51F9 67EA 688E 8EEA 720A
+6556 53AB 969E 55F7 55F8 5D85 5ED2 6EF6 7353 851C
+9068 646E 71AC 7352 7488 78DD 7FF1 8071 87AF 8B37
+8B38 7FFA 9CCC 93D6 9C32 9DD4 9F07
+629D 82BA 62D7 8884 957A 5AAA 5ABC 8956
+5C99 6277 5773 5787 5CB0 50B2 5961 5965 5967 5AEF
+6160 9A9C 96A9 58BA 5DB4 61CA 6FB3 64D9 93CA 9A41
+7FF6
+FDD0-0042
+516B 4EC8 6252 6733 7390 593F 5C9C 82AD 5CC7 67ED
+75A4 54F5 5DFC 634C 7C91 7F93 8686 91DB 91DF 8C5D
+9C83
+53D0 72AE 629C 577A 59AD 62D4 8307 70A6 7679 80C8
+83DD 8A59 8DCB 8EF7 98B0 9B43 58A2 9F25
+628A 94AF 9200 9776
+575D 5F1D 7238 57BB 8019 8DC1 9C85 9C8C 9B8A 8987
+77F2 9738 58E9 705E 6B1B
+5DF4 53ED 5427 7B06 7D26 7F62 9B5E 7F77
+6300 63B0 64D8
+767D
+767E 4F70 67CF 6822 636D 74F8 7CA8 7D54 6446 64FA
+896C
+5E8D 62DD 8D25 62DC 6557 7308 7A17 86FD 7CBA 8D01
+97DB
+7AE1 85AD
+6273 653D 73ED 822C 9881 6591 642C 6592 9812 7622
+9CFB 878C 8929 764D 8FAC
+962A 5742 5C85 6604 677F 7248 74EA 94A3 7C84 8228
+9211 8742 9B6C 95C6
+529E 534A 4F34 5762 59C5 6011 62CC 7ECA 67C8 79DA
+6E74 7D46 9261 977D 8FA6 74E3
+626E 8781
+90A6 57B9 5E2E 6360 6886 6D5C 90AB 5E47 5E5A 7E0D
+5E6B 97A4
+7ED1 7D81 699C 7253 8180 9AC8
+73A4 868C 508D 68D2 68D3 8C24 585D 6412 7A16 84A1
+872F 78C5 9551 8255 8B17 938A
+52F9 5305 5B62 82DE 67B9 80DE 7B23 7172 9F85 8554
+8912 8943 95C1 9F59
+7A87 5AD1 96F9 8584
+5B9D 6009 9971 4FDD 9E28 5BB2 73E4 5821 5822 5AAC
+8446 5BDA 98FD 8913 99C2 9CF5 7DE5 9D07 8CF2 5BF3
+5BF6 974C
+52FD 62A5 62B1 8C79 8DB5 94C7 83E2 86AB 888C 5831
+924B 9C8D 9764 9AB2 66B4 9AF1 8663 9B91 5124 66D3
+7206 5FC1 9464 9E14
+4F68 85F5
+9642 5351 676F 76C3 686E 60B2 63F9 6911 7986 7891
+9E4E 9303 85E3 9D6F
+5317 9273
+8D1D 5B5B 72C8 8C9D 90B6 5907 6601 726C 82DD 80CC
+90E5 94A1 4FFB 500D 6096 72FD 88AB 505D 5079 6896
+73FC 9101 5099 50C3 60EB 7119 7432 8EF0 8F88 6102
+789A 84D3 7295 8919 8A96 9781 9AB3 8F29 92C7 618A
+7CD2 97B4 943E
+5457 5504 7999
+5954 6CCD 8D32 681F 7287 951B 931B
+672C 82EF 5959 755A 7FC9 694D
+574B 574C 5034 6379 6873 6E00 7B28 9029 64AA 7356
+8F3D
+4F3B 794A 595F 5D29 7D63 958D 50B0 5D6D 75ED 5623
+7DB3
+752D
+57C4 57F2 7EF7 83F6 7423 742B 7E43 979B
+6CF5 8FF8 902C 5874 750F 955A 8E66 93F0 882F
+63FC
+5C44 506A 6BF4 903C 6945 8C4D 8795 9D56 9CBE 939E
+9C0F
+8378 9F3B
+5315 6BD4 5936 673C 4F4A 5421 59A3 6C98 7595 5F7C
+67C0 79D5 4FFE 7B14 7C83 822D 555A 7B46 9119 7B84
+805B 8C8F
+5E01 5FC5 6BD5 95ED 4F56 5752 5E87 8BD0 90B2 59BC
+602D 6036 6788 7540 82FE 54D4 67F2 6BD6 73CC 75AA
+835C 965B 6BD9 72F4 7562 7B13 7C8A 8890 94CB 5A62
+5EB3 655D 6890 8406 9587 9589 581B 5F3B 5F3C 610A
+610E 6E62 7695 7B5A 8A56 8CB1 8CC1 8D51 55F6 5F43
+6ED7 6EED 714F 75F9 75FA 7764 8177 84D6 84FD 870C
+88E8 8DF8 924D 959F 98F6 5E63 5F0A 719A 7359 78A7
+7B85 7B86 7DBC 853D 912A 999D 6F77 7358 7F7C 99DC
+9AF2 58C1 5B16 5EE6 7BE6 7BF3 7E2A 859C 89F1 907F
+9B85 6583 6FDE 81C2 8E55 9AC0 5970 74A7 9128 93CE
+9946 7E74 895E 8963 97B8 97E0 9B53 8E83 8E84 9A46
+8D14 9434 9DDD 9DE9 9F0A
+5302 841E 5E64 8945 5B36
+8FB9 8FBA 782D 7B3E 63D9 7335 7F16 7178 7251 7502
+7BAF 7DE8 8759 9089 937D 9CCA 908A 97AD 9BFE 9BFF
+7C69
+8D2C 6241 7A86 533E 8CB6 60FC 8439 78A5 7A28 890A
+7CC4 9D18 85CA
+535E 5F01 5325 5FED 6283 6C73 6C74 82C4 91C6 53D8
+73A3 4FBF 5909 662A 898D 5FA7 7F0F 904D 959E 8FA1
+7DF6 8251 8FA7 8FA8 8FA9 8FAB 8FAE 8FAF 8B8A
+5CC5 709E
+706C 6753 6807 98D1 9A89 9ADF 6DF2 5F6A 730B 813F
+98A9 5882 5E56 647D 6EEE 8508 98AE 9AA0 6A19 719B
+8198 762D 78E6 9556 98D9 98DA 5126 98B7 700C 85E8
+8B24 7202 81D5 8D06 93E2 7A6E 9573 98C6 98C7 98C8
+9A43 9463 9A6B
+8868 5A4A 88F1 8AD8 893E 9336 6AA6
+4FF5 9CD4 9C3E
+98CA
+618B 87DE 9CD6 9C49 9F08 864C 9F9E
+5225 522B 5487 8382 86C2 5FB6 8952 8E69
+762A 765F
+5F46
+6C43 90A0 73A2 780F 5BBE 5F6C 68B9 50A7 658C 6915
+6EE8 7F24 69DF 7478 8C69 8CD3 8CD4 9554 5110 6FD2
+6FF1 8668 8C73 6AB3 74B8 7015 9726 7E7D 944C 986E
+6448 6BA1 8191 9AE9 64EF 9B02 6BAF 81CF 9ACC 9B13
+9AD5 9B22
+6C1E 6FF5
+51AB 4ECC 4ED2 6C37 51B0 5175 63A4
+4E19 90B4 9643 6032 62A6 79C9 82EA 661E 663A 67C4
+70B3 997C 772A 7A89 86C3 6452 7980 7A1F 9235 927C
+9905 9920 979E
+5E76 4E26 4F75 5E77 5EB0 5002 6824 75C5 7ADD 504B
+50A1 5BCE 68C5 8A81 9BA9 9750
+57AA 9786 92F2
+7676 5E17 62E8 6CE2 7677 73BB 525D 5265 54F1 76CB
+7835 889A 94B5 997D 7D34 7F3D 83E0 88B0 7886 9262
+50E0 5D93 64A5 64AD 9911 9B81 8E73 9A4B 9C4D
+4EE2 4F2F 72BB 8091 9A73 5E1B 72DB 74DD 82E9 4FBC
+52C3 80C9 90E3 4EB3 632C 6D61 74DF 79E1 88AF 94B9
+94C2 8116 8236 88B9 535A 6E24 8467 9E41 613D 640F
+733C 9238 9251 998E 50F0 717F 7254 7B94 824A 8514
+999B 99C1 8E23 92CD 9548 999E 99EE 894F 8C70 5697
+61EA 7921 7C19 939B 993A 9D53 72A6 9AC6 9AC9 6B02
+896E 7934 946E
+8DDB 7BA5 7C38
+5B79 6A97 7CEA 8B52 8617
+535C 5575 8421 818A
+5CEC 5EAF 900B 6661 923D 8AA7
+9CEA 8F50 91AD
+535F 8865 54FA 6355 55B8 88DC 9D4F
+4E0D 5E03 4F48 5425 6B65 5498 6016 62AA 6B68 6B69
+67E8 949A 52CF 57D4 57D7 6091 6357 8379 90E8 94B8
+57E0 74FF 8500 8E04 90F6 9914 7BF0 9922 7C3F
+FDD0-0043
+5693 64E6 6503
+7924
+906A 56C3
+5072 5A47 731C
+624D 72B2 6750 8D22 8CA1 88C1 6EA8 7E94
+6BDD 91C7 5038 554B 5BC0 5F69 63A1 776C 8DF4 7DB5
+8E29
+57F0 83DC 68CC 8521 7E29
+53C2 53C3 53C4 98E1 9A96 53C5 55B0 6E4C 50AA 5B20
+9910 9A42
+6B8B 8695 60ED 6B98 615A 8745 6159 5B31 8836 883A
+60E8 6701 6158 61AF 7A47 7BF8 9EEA 9EF2
+707F 63BA 5B71 7CB2 647B 6FAF 8592 71E6 74A8 8B32
+510F 7218
+4ED3 4EFA 4F27 6CA7 82CD 9E27 5009 8231 5096 5D62
+6EC4 734A 84BC 8259 87A5 9DAC
+85CF 9476
+8CF6
+6FF8 7F49 6B0C
+64A1 64CD 7CD9
+66FA 66F9 5608 5D86 6F15 84F8 69FD 893F 825A 87AC
+93EA
+8278 8349 613A 61C6 9A32
+808F 9135 8959
+8279
+518A 518C 4FA7 5395 607B 62FA 6D4B 6547 755F 5074
53A0 7B27 7CA3 8417 5EC1 60FB 6E2C 7B56 8434 7B5E
-7B74 84DB 5884 7BA3 61A1 7C0E 5D7E 81A5 5C91 68A3
-6D94 7B12 564C 5C42 5C64 5D92 7AF2 9A53 8E6D 785B
-7873 5CBE 7320 4E7D 53C9 6260 6271 8286 6748 809E
-81FF 633F 8A0D 505B 55CF 63D2 63F7 9987 929F 9538
-8256 7580 9364 9388 9937 79C5 579E 67E5 67FB 832C
-8336 5D56 643D 7339 976B 69CE 8A67 5BDF 78B4 8928
-6AAB 8869 8E45 9572 9454 597C 6C4A 5C94 4F98 8BE7
-524E 59F9 5DEE 7D01 8A6B 62C6 9497 91F5 72B2 4FAA
-67F4 7961 8C7A 558D 5115 831D 867F 52D1 8883 7625
-8806 56C6 8FBF 89C7 68B4 63BA 6400 8998 88E7 647B
-92D3 5E68 895C 6519 5A75 8C17 5B71 68CE 6E79 7985
-998B 5B0B 7158 7F20 50DD 7351 8749 874A 8A97 92CB
-5103 5EDB 6F79 6F7A 7DFE 78DB 79AA 6BDA 913D 9561
-700D 87EC 5133 5296 7E75 87FE 9141 56B5 58E5 5DC9
-703A 6B03 7E8F 7E92 8E94 9575 826C 8B92 9471 995E
-4EA7 522C 65F5 4E33 6D50 5257 8C04 7522 7523 94F2
-9610 8487 5277 5D7C 644C 6EFB 5E5D 8546 8AC2 95B3
-71C0 7C05 5181 7E5F 91A6 8B42 93DF 95E1 56C5 705B
-8B87 5FCF 785F 6472 61F4 98A4 61FA 7FBC 97C2 986B
-4F25 660C 5000 5A3C 6DD0 7316 83D6 960A 667F 6919
-7429 88EE 9520 9329 95B6 9CB3 9BE7 9F1A 957F 4EE7
-514F 80A0 82CC 9577 9578 5C1D 507F 5E38 5F9C 74FA
+7B74 84DB 5884 7BA3 61A1 7C0E
+5D7E
+5C91 6D94 7B12 68A3
+66FD 564C
+5C42 66FE 5C64 5D92 7AF2 9A53
+8E6D
+53C9 6260 6748 809E 81FF 633F 505B 55CF 63D2 63F7
+9987 929F 9538 8256 7580 9364 9937
+79C5 579E 67E5 832C 8336 5D56 643D 7339 976B 69CE
+8A67 5BDF 78B4 6AAB
+8869 8E45 9572 9454
+597C 6C4A 5C94 4F98 8BE7 59F9 5DEE 7D01 8A6B
+8286 62C6 9497 91F5
+4FAA 67F4 8C7A 7961 558D 5115 9F5C
+831D
+867F 8883 8A0D 7625 8806 56C6
+8FBF 89C7 68B4 6400 8998 88E7 9246 92D3 5E68 895C
+6519
+5A75 8C17 68CE 6E79 7985 998B 7158 7F20 50DD 7351
+8749 8A97 92CB 5103 5B0B 5EDB 6F79 6F7A 7DFE 6FB6
+78DB 79AA 6BDA 913D 9561 700D 87EC 5133 5296 87FE
+9141 56B5 5DC9 703A 6B03 7E8F 7E92 8E94 9575 826C
+8B92 9471 995E
+4EA7 522C 65F5 4E33 65BA 6D50 5257 8C04 5574 7522
+7523 94F2 9610 8487 5277 5D7C 644C 6EFB 563D 5E5D
+8546 8AC2 95B3 9AA3 71C0 7C05 5181 7E5F 8B42 8FB4
+93DF 95E1 56C5 705B 8B87
+5FCF 785F 6472 61F4 98A4 61FA 7FBC 97C2 986B
+58E5
+4F25 660C 5000 5A3C 6DD0 7316 83D6 960A 667F 7429
+88EE 9520 9329 95B6 9CB3 9BE7 9F1A
+4EE7 514F 80A0 82CC 9578 5C1D 507F 5E38 5F9C 74FA
8407 751E 8178 5617 5872 5AE6 747A 8193 92FF 511F
-5690 87D0 9CBF 93DB 9C68 5382 573A 6636 60DD 5834
-655E 50D8 53B0 5EE0 6C05 92F9 6005 739A 7545 5021
-9B2F 5531 60B5 7452 66A2 757C 8AAF 97D4 6284 5F28
-600A 6B29 949E 8A2C 712F 8D85 9214 7E5B 724A 6641
-5DE2 5DE3 671D 911B 9F0C 6F05 5632 6A14 6F6E 7AB2
-7F7A 8F48 9F02 8B3F 5435 7092 7727 717C 9EA8 5DD0
-4EE6 4EEF 8016 89D8 8F66 4F21 8ECA 4FE5 7817 5513
-8397 7868 86FC 626F 5056 64A6 5972 5C6E 5F7B 577C
-8FE0 70E2 70F2 8045 63A3 7869 9819 5FB9 64A4 6F88
-52F6 77AE 7221 62BB 90F4 68FD 741B 55D4 7D9D 778B
-8AC3 8CDD 8B13 5C18 81E3 5FF1 6C89 8FB0 9648 8FE7
-831E 5BB8 70E5 8380 8390 9673 6550 6668 8A26 8C0C
-8ED9 6116 63E8 9202 7141 852F 5875 6A04 760E 9703
-87B4 8AF6 85BC 9E8E 66DF 9DD0 8DBB 7876 789C 588B
-5926 78E3 8E38 8D02 95EF 886C 75A2 79F0 9F80 8D81
-8D82 6987 7A31 9F53 9F54 512D 56AB 8C36 6AEC 896F
-8B96 9637 6CDF 8670 67FD 722F 68E6 6D7E 5041 86CF
-94DB 725A 7424 8D6A 6186 645A 9757 6490 6491 7DFD
-6A55 77A0 8D6C 9833 6A89 7AC0 7A6A 87F6 93F3 93FF
-9953 943A 4E1E 6210 673E 5448 627F 67A8 8BDA 90D5
-4E57 57CE 5A0D 5BAC 5CF8 6D06 837F 4E58 57D5 6330
-73F9 8100 6381 73F5 7A9A 812D 94D6 5818 60E9 68D6
-6909 7A0B 7B6C 7D7E 88CE 584D 5856 6E97 7880 8AA0
-757B 9172 92EE 6195 6F82 6F84 6A59 6A99 9BCE 7013
-61F2 9A2C 4FB1 5F8E 609C 901E 9A8B 5EB1 7748 9A01
-79E4 5403 599B 6758 4F99 54E7 5F68 80F5 86A9 9E31
-74FB 7735 7B1E 7C9A 55AB 8A35 55E4 5AB8 645B 75F4
-7D7A 5644 779D 8ABA 87AD 9D1F 9D44 7661 9B51 9F5D
-6521 9EB6 5F72 9ED0 5F1B 6C60 9A70 5758 8FDF 5CBB
-6CDC 830C 6301 7AFE 834E 4FFF 6B6D 5319 6DD4 801B
-86B3 8D7F 7B42 8CBE 9045 8D8D 905F 99B3 5880 6F26
-8E1F 9072 7BEA 8B18 5C3A 53FA 544E 8094 4F88 5376
-9F7F 5791 62F8 80E3 6065 803B 8687 88B3 8C49 6B3C
-6B6F 88B2 88ED 9279 892B 9F52 5F73 53F1 65A5 707B
-8D64 996C 62B6 8FE3 52C5 605C 70BD 7FC4 7FC5 6555
-70FE 75D3 557B 6E41 98ED 50BA 75F8 815F 8DEE 9253
-96F4 618F 7FE4 906B 9290 6157 761B 7FE8 71BE 61D8
-7CE6 8DA9 994E 9D92 9DD8 5145 51B2 5FE1 6C96 833A
-6D7A 73EB 7FC0 8202 5603 644F 5FB8 6183 61A7 885D
-7F7F 825F 8E56 866B 5D07 5D08 9680 6F34 8908 7DDF
-8769 87F2 721E 5BA0 57EB 5BF5 94F3 63F0 9283 62BD
-E837 7D2C 640A 7633 7BD8 72A8 72AB 4EC7 4FE6 5E31
-6826 60C6 7EF8 83D7 6906 7574 7D52 6101 7697 7A20
-7B79 88EF 8A76 9167 916C 7DA2 8E0C 5114 96D4 5B26
-5E6C 61E4 85B5 71FD 96E0 7587 7C4C 8E8A 91BB 8B8E
-8B90 4E11 4E12 541C 677D 4FB4 5062 7785 919C 77C1
-9B57 81ED 81F0 905A 6BA0 51FA 5C80 521D 6474 6A17
-8C99 9F63 520D 9664 82BB 53A8 6EC1 84A2 8C60 9504
-698B 8021 84AD 870D 8D8E 924F 96CF 7293 854F 5EDA
-7BE8 92E4 6A71 61E8 5E6E 6AC9 87F5 8E87 96DB 6AE5
-8E70 9DB5 8E95 6775 7840 6918 50A8 696E 7987 695A
-891A 6FCB 5132 6A9A 74B4 790E 9F6D 9F7C 4E8D 51E6
-5904 7ACC 6035 62C0 7ECC 8C56 6B2A 7AD0 4FF6 654A
-57F1 73FF 7D40 8655 5097 7421 9110 6410 6EC0 89E6
-8E00 95A6 510A 563C 8AD4 61B7 6A7B 65B6 6B5C 81C5
-9EDC 89F8 77D7 640B 8197 63E3 E852 E850 555C 562C
-8E39 5DDB 5DDD 6C1A 7A7F 5276 744F 4F20 8221 8229
-8239 570C 732D 9044 50B3 693D 6B42 66B7 7BC5 8F32
-821B 8348 5598 50E2 6C4C 4E32 7394 948F 91E7 8CD7
-9DA8 5205 56F1 75AE 7A93 7A97 724E 6450 7255 7621
-7ABB 5E8A 7240 5647 50B8 6F3A 78E2 95D6 521B 6006
-5231 524F 5259 5275 6134 5439 708A 9FA1 5782 5015
-57C0 6858 9672 6376 83D9 6425 68F0 8144 69CC 9524
-7BA0 9318 939A 9840 65FE 6776 6625 8405 583E 5A8B
-6699 693F 69C6 7443 7BBA 877D 6A41 8F34 6AC4 E858
-9C06 9D9E 7EAF 9659 5507 6D71 7D14 83BC 6DF3 8123
-6E7B 7289 6EE3 8493 9E51 6F18 84F4 9187 9195 931E
-9BD9 9D89 5046 8436 60F7 7776 8CF0 8E33 8822 8E14
-6233 8FB6 8FB5 5A15 5A16 60D9 6DB0 7EF0 9034 814F
-8F8D 916B 7DBD 8DA0 8F1F 9F8A 64C9 78ED 6B60 56BD
-9F6A 9461 9F71 5472 73BC 75B5 8D80 5068 7E12 9AB4
+5690 9CBF 93DB 9C68
+5382 573A 6636 60DD 5834 50D8 53B0 5EE0 6C05 92F9
+6005 739A 7545 5021 9B2F 5531 60B5 713B 7452 66A2
+757C 8AAF 97D4
+655E 6919 87D0
+6284 5F28 600A 6B29 949E 8A2C 712F 8D85 9214 52E6
+724A 6641 5DE2 5DE3 671D 911B 9F0C 6F05 5632 6A14
+6F6E 7AB2 7F7A 8F48 9F02 8B3F
+5435 7092 7727 7123 717C 9EA8 5DD0
+4EE6 4EEF 8016 89D8
+8F66 4F21 8ECA 4FE5 7817 5513 8397 7868 86FC
+626F 5056 64A6
+5C6E 5F7B 577C 8FE0 70E2 8045 63A3 7869 9819 5FB9
+64A4 6F88 52F6 77AE 7221
+62BB 90F4 6375 741B 55D4 7D9D 778B 8AC3 8CDD 7E1D
+8B13
+5C18 81E3 5FF1 6C88 6C89 8FB0 9648 8FE7 831E 5BB8
+8380 8390 9673 6550 8A26 8C0C 8ED9 6116 63E8 9202
+7141 852F 5875 6A04 760E 9703 87B4 8AF6 85BC 9E8E
+66DF 9DD0
+8DBB 7876 789C 588B 5926 78E3 8E38 9356 8D02 91A6
+886C 75A2 9F80 8D81 8D82 6987 9F53 512C 9F54 512D
+56AB 8C36 6AEC 896F 8B96
+70E5 6668
+9637 6CDF 67FD 722F 68E6 6D7E 7424 79F0 5041 86CF
+6E5E 725A 8D6A 50DC 6186 645A 7A31 9757 6490 6491
+7DFD 6A55 77A0 8D6C 9833 6A89 7AC0 7A6A 87F6 93F3
+93FF 9953
+4E1E 6210 673E 5448 627F 67A8 8BDA 90D5 4E57 57CE
+5A0D 5BAC 5CF8 6D06 837F 4E58 57D5 6330 665F 73F9
+8100 6381 73F5 7880 7A9A 812D 94D6 5818 60E9 68D6
+6909 7A0B 7B6C 7D7E 88CE 584D 5856 6E97 8AA0 757B
+9172 92EE 6195 6F82 6F84 6A59 6A99 7013 61F2 9A2C
+4FB1 5F8E 609C 901E 9A8B 5EB1 7748 9A01
+79E4
+9BCE
+5403 4F99 54E7 5F68 80F5 86A9 9E31 74FB 7735 7B1E
+55AB 8A35 55E4 5AB8 645B 75F4 7D7A 5644 779D 8ABA
+87AD 9D1F 7661 9B51 9F5D 5F72 9ED0
+5F1B 6C60 9A70 8FDF 577B 5CBB 830C 6301 7AFE 834E
+6B6D 86B3 8D7F 7B42 8CBE 9045 8D8D 905F 99B3 7B8E
+5880 6F26 8E1F 9072 7BEA 8B18
+5C3A 53FA 544E 4F88 5376 9F7F 5791 80E3 6065 7C8E
+803B 8687 88B3 6B3C 6B6F 88B2 88ED 9279 892B 9F52
+5F73 53F1 65A5 6758 707B 8D64 996C 62B6 52C5 605C
+70BD 52D1 7FC4 7FC5 6555 70FE 75D3 557B 6E41 7873
+98ED 50BA 75F8 815F 8DEE 9253 96F4 618F 7608 7FE4
+906B 9290 6157 761B 7FE8 71BE 61D8 8DA9 994E 9D92
+9DD8
+599B 9EB6
+5145 51B2 5FE1 6C96 833A 6D7A 73EB 7FC0 8202 5603
+644F 5FB8 6183 61A7 885D 7F7F 825F 8E56
+866B 5D07 5D08 9680 8908 7DDF 8769 87F2 721E
+5BA0 57EB 5BF5
+94F3 63F0 9283
+62BD 5A64 640A 7633 7BD8 72A8 72AB
+4EC7 601E 4FE6 5E31 6826 60C6 7D2C 7EF8 83D7 6906
+7574 7D52 6101 7697 7A20 7B79 88EF 9167 7DA2 8E0C
+5114 96D4 568B 5B26 5E6C 61E4 85B5 71FD 96E0 7587
+7C4C 8E8A 91BB 8B8E 8B90
+4E11 4E12 541C 677B 677D 4FB4 5062 7785 919C 77C1
+9B57
+81ED 81F0 905A 6BA0
+916C
+51FA 5C80 521D 6474 6A17 8C99 9F63
+520D 9664 82BB 53A8 6EC1 84A2 8C60 9504 5AB0 8021
+84AD 870D 8D8E 924F 96CF 7293 854F 5EDA 7BE8 92E4
+6A71 5E6E 6AC9 85F8 8E87 96DB 6AE5 8E70 9DB5 8E95
+51E6 6775 7840 6918 50A8 696E 891A 6FCB 5132 6A9A
+790E 9F6D 9E00 9F7C
+4E8D 5904 7ACC 6035 62C0 7ECC 8C56 67F7 6B2A 7AD0
+4FF6 654A 755C 57F1 73FF 7D40 8655 5097 7421 9110
+6410 6EC0 84EB 89E6 8E00 95A6 510A 563C 8AD4 61B7
+65B6 6B5C 81C5 9EDC 89F8 77D7
+695A 698B 6A7B 74B4 87F5
+6B3B 6B58
+63E3 640B
+8197
+555C 562C 81AA 8E39
+5DDB 5DDD 6C1A 7A7F 5276 732D 744F
+4F1D 4F20 8221 8229 8239 570C 9044 50B3 693D 66B7
+7BC5 8F32
+821B 8348 5598 6B42 50E2 8E33
+6C4C 4E32 7394 948F 91E7 8CD7 9DA8
+5205 75AE 7A93 7A97 724E 6450 7255 7621 7ABB
+5E8A 7240 5647 5E62
+95EF 50B8 6464 78E2 95D6
+521B 6006 5231 524F 5259 51D4 5275 6134
+5439 708A
+5782 5015 57C0 9672 6376 83D9 6425 68F0 690E 8144
+69CC 9524 7BA0 9318 939A 9840
+9FA1
+65FE 6776 6625 8405 583E 5A8B 6699 693F 7443 7BBA
+877D 6A41 8F34 81A5 6AC4 9C06 9D9E
+7EAF 9659 5507 6D71 7D14 83BC 6DF3 8123 6E7B 7289
+6EE3 8493 6F18 84F4 9187 9195 931E 9BD9
+5046 8436 60F7 7776 8CF0 8822
+9E51 9D89
+9034 8E14 6233
+8FB6 8FB5 5A15 5A16 5A7C 60D9 6DB0 7EF0 814F 8F8D
+916B 7DBD 8DA0 8F1F 9F8A 64C9 78ED 7E5B 6B60 56BD
+9F6A 9461
+5472 75B5 8D7C 8D80 5068 8DD0 7E12 9AB4 9ACA 8800
+9F79
8BCD 73C1 5790 67CC 7960 8308 8328 5832 74F7 8A5E
-8F9D 6148 7506 8F9E 9236 78C1 96CC 9E5A 7CCD 8FA4
-98FA 9908 5B28 6FE8 858B 9D1C 7920 8800 8FAD 9DBF
-9DC0 6B64 4F4C 6CDA 7689 8DD0 673F 6B21 4F7D 523A
-523E 5E9B 8326 6828 83BF 7D58 86D3 8D50 8786 8CDC
-55ED 4ECE 5306 56EA 82C1 5FE9 679E 8310 6031 5F9E
-60A4 68C7 7127 8471 6964 6F17 8061 84EF 8525 9AA2
-66B0 6A05 6A2C 719C 747D 7481 7DEB 8066 806A 779B
-7BF5 8070 87CC 7E71 93E6 9A18 9A44 4E1B 5F93 5A43
-5B6E 5F96 60B0 6DD9 742E 6152 6F0E 6F40 6F48 6F68
-8AB4 8CE8 8CE9 6A37 85C2 53E2 7047 6B09 721C 6181
-8B25 51D1 6E4A 6971 8160 8F8F 8F33 7C97 89D5 9E81
-9E84 9EA4 5F82 6B82 4FC3 731D 5AA8 9162 7604 851F
-8A8E 8D97 5648 61B1 8E27 918B 762F 7C07 7E2C 8E59
-9F00 8E74 8E75 9863 6C46 64BA 9569 8E7F 651B 8EA5
-9479 6505 6AD5 5DD1 6B11 7A73 7A9C 71B6 7BE1 6BA9
-7BF9 7C12 7AC4 7228 5D14 50AC 51D7 7F1E 5894 5D89
-615B 6467 69B1 69EF 7355 78EA 7E17 93D9 4E7C 6F3C
-7480 8DA1 76A0 4F1C 5FF0 75A9 5005 7D23 7FC6 8103
-8106 5550 555B 60B4 6DEC 8403 6BF3 7120 7601 7CB9
-7DB7 7FE0 81B5 81AC 7AC1 894A 9847 81CE 90A8 6751
-76B4 58AB 6F8A 7AF4 5B58 62F5 8E06 520C 5FD6 5BF8
-540B 7C7F 6413 7473 9073 78CB 64AE 8E49 919D 9ACA
-8658 5D6F 5D73 75E4 7749 77EC 84AB 8516 9E7E 9E7A
-9F79 811E 5249 5252 539D 590E 632B 839D 83A1 63AA
-902A 68E4 9509 84CC 9519 92BC 932F 5491 54D2 8037
-7563 642D 55D2 8921 5660 58B6 6498 939D 8FBE 8FCF
-8FD6 547E 59B2 601B 6C93 57AF 709F 7F8D 8345 8359
-5273 5312 7B2A 9039 6E9A 7B54 8A5A 9054 8DF6 7629
-977C 8598 9791 71F5 7E68 87FD 9389 8E82 943D 97C3
-9F96 9F98 6253 5927 4EA3 7714 6A7D 5446 5454 7343
-61DB 6B79 50A3 4EE3 6C4F 8F6A 4FA2 5788 5CB1 5E12
-7519 7ED0 8FE8 5E26 5F85 6020 67CB 6B86 73B3 8D37
-5E2F 8ED1 57ED 5E36 7D3F 86AE 888B 8EDA 902E 8CB8
-8EE9 7447 5ED7 53C7 66C3 7DFF 9B98 9D0F 6234 825C
-9EDB 7C24 8E5B 703B 9734 8976 9EF1 9746 4E39 5989
-5355 62C5 5358 7708 7803 803C 803D 90F8 8043 8EAD
-9156 55AE 5A85 6B9A 7605 5330 7BAA 891D 9132 9815
-510B 52EF 64D4 6BAB 7649 894C 7C1E 8078 4F14 5210
-72DA 73AC 74ED 80C6 8874 75B8 7D1E 63B8 4EB6 99BE
-64A3 6FB8 9ED5 81BD 65E6 4F46 5E0E 6C8A 6CF9 8BDE
-67E6 758D 8A11 5556 5557 5F39 60EE 6DE1 840F 86CB
-557F 6C2E 8145 8711 89DB 7A9E 8A95 50E4 5649 9AE7
-563E 5F48 619A 61BA 6FB9 79AB 9924 99F3 9D20 7514
-765A 56AA 8D09 972E 994F 5F53 73F0 88C6 7B5C 7576
-5105 5679 6FA2 74AB 8960 7C39 8261 87F7 6321 515A
-8C20 64CB 8B61 9EE8 6529 7059 6B13 8B9C 6C39 51FC
-5735 5B95 7800 57B1 8361 6863 83EA 5A78 74FD 903F
-96FC 6F52 78AD 778A 8569 8DA4 58CB 6A94 7497 76EA
-7911 7C1C 862F 95E3 5200 5202 53E8 5C76 5FC9 6737
-6C18 8220 91D6 9C7D 9B5B 636F 5BFC 5C9B 9666 5012
-5BB2 5CF6 6363 7977 7982 6417 969D 5D8B 5D8C 69DD
-5C0E 96AF 58D4 5DB9 64E3 8E48 79B1 5230 60BC 7118
-76D7 83FF 6921 76DC 9053 7A32 7FE2 5675 7A3B 885C
-6AA4 885F 71FE 7FFF 8EC7 74D9 7E9B 6074 5F97 6DC2
-60B3 60EA 951D 561A 5FB3 5FB7 9340 7684 63FC 6265
-627D 706F 767B 8C4B 5654 5B01 71C8 7492 7AF3 7C26
-8260 89B4 8E6C 7B49 6225 9093 50DC 51F3 9127 96A5
-58B1 5D9D 77AA 78F4 956B 6AC8 9419 4EFE 4F4E 5943
-5F7D 889B 5572 57DE 7F9D 9684 5824 8D86 5600 6EF4
-955D 78FE 9349 97AE 93D1 5EF8 72C4 8091 7C74 82D6
-8FEA 5519 654C 6DA4 837B 6891 7B1B 89CC 976E 6ECC
-9AE2 5AE1 850B 8510 9814 9B61 6575 7BF4 5681 85E1
-8C74 7CF4 89BF 9E10 6C10 538E 8BCB 90B8 963A 5467
-577B 5E95 5F24 62B5 62DE 67E2 7274 7825 638B 83E7
-89DD 8A46 8EE7 805C 9AB6 9BF3 5730 5F1A 5754 5F1F
-65F3 6755 7393 601F 67A4 82D0 4FE4 5E1D 57CA 5A23
-9012 9013 5059 5547 688A 710D 7731 7976 7B2C 83C2
-8C1B 91F1 5A82 68E3 7747 7F14 8482 50C0 7998 8163
-905E 926A 99B0 5891 58AC 6455 78B2 8515 8743 9070
-6178 750B 7DE0 5DB3 8AE6 8E36 87AE 55F2 6541 6382
-508E 53A7 5D6E 6EC7 69D9 7628 98A0 8E4E 5DC5 985A
-985B 766B 5DD3 5DD4 6527 7672 9F7B 5178 594C 70B9
-5A70 655F 6923 7898 84A7 8547 8E2E 9EDE 7535 4F43
-7538 963D 576B 5E97 57AB 6242 73B7 94BF 5538 5A5D
-60E6 6DC0 5960 7414 6BBF 8714 923F 96FB 588A 58C2
-6A42 6FB1 975B 78F9 765C 7C1F 9A54 5201 53FC 6C48
-521F 866D 51CB 595D 5F34 5F6B 86C1 7431 8C82 7889
-9CED 6BA6 7797 96D5 9B89 9CB7 7C13 9F26 9BDB 9D70
-625A 5C4C 5F14 4F04 540A 9493 7A8E 8A0B 8C03 6389
-91E3 94DE 921F 7AE8 84E7 92B1 96FF 8ABF 7639 7AB5
-92FD 85CB 9443 7239 8DCC 893A 82F5 8FED 57A4 5CCC
-604E 6315 7ED6 80C5 74DE 7723 800A 5551 621C 8C0D
-558B 581E 5E49 60F5 63F2 7573 7D70 800B 81F7 8A44
-8D83 53E0 6B9C 7243 7252 957B 5D7D 789F 8728 890B
-8253 8776 7582 8ADC 8E40 9CBD 66E1 66E2 9C08 7589
-758A 6C0E 54CB 6633 7730 56B8 4E01 4EC3 53EE 5E04
-738E 753C 7594 76EF 9489 8035 914A 91D8 976A 5975
-9876 9802 9F0E 5D7F 9F11 85A1 9424 8BA2 5FCA 9964
-77F4 5B9A 8A02 98E3 5576 8423 6917 815A 7887 952D
-78A0 8062 8063 9320 78F8 9841 4E1F 4E22 94E5 98A9
-92A9 4E1C 51AC 549A 5CBD 6771 82F3 6638 6C21 5032
-9E2B 57EC 5A3B 5D2C 6DB7 7B17 83C4 6C2D 8740 9B97
-9F15 9BDF 9D87 9DAB 8463 58A5 5B1E 61C2 7BBD 856B
-8ACC 52A8 51BB 4F97 578C 59DB 5CD2 5CDD 606B 630F
-680B 6D1E 80E8 8FF5 51CD 6219 80F4 52D5 5D20 7850
-68DF 6E69 8156 50CD 8A77 99E7 9718 543A 5245 5517
-90FD 515C 5160 8538 6A77 7BFC 8254 6597 4E67 9627
-6296 6793 94AD 9661 86AA 9204 8C46 90D6 6D62 8373
-9017 997E 9B25 68AA 6BED 8130 9158 75D8 9597 7AA6
-9B26 92C0 9916 65A3 95D8 7AC7 9B2A 9B2C 9B2D 5262
-9607 561F 7763 918F 95CD 6BD2 6D9C 8BFB 6E0E 691F
-724D 728A 88FB 8AAD 8773 7368 9316 51DF 5335 5B3B
-7006 6ADD 6BB0 7258 72A2 74C4 76BE 9A33 9EE9 8B80
-8C44 8D15 97E3 9AD1 945F 97C7 97E5 9EF7 8B9F 53BE
-72EC 7B03 5835 5E3E 743D 8D4C 7779 89A9 8CED 7BE4
+8F9D 6148 7506 8F9E 78C1 96CC 9E5A 7CCD 8FA4 98FA
+9908 5B28 6FE8 858B 9D1C 7920 8FAD 9DBF 9DC0
+6B64 4F4C 6CDA 73BC 7689 7D2A 9B86
+673F 6B21 4F3A 4F7D 523A 523E 5E9B 8326 6828 83BF
+7D58 86D3 8D50 8786 8CDC
+5306 56EA 56F1 82C1 5FE9 679E 6031 60A4 68C7 7127
+8471 6F17 8061 84EF 8525 9AA2 66B0 6A05 6A2C 719C
+747D 7481 7DEB 8066 806A 71EA 779B 7BF5 8070 87CC
+936F 7E71 93E6 9A18 9A44
+4ECE 4E1B 5F93 5A43 5B6E 5F96 5F9E 60B0 6DD9 742E
+6152 6F0E 6F40 6F68 8AB4 8CE8 8CE9 6A37 85C2 53E2
+7047 6B09 721C
+6181 8B25
+8310
+51D1 6E4A 8160 8F8F 8F33
+7C97 89D5 9E81 9E84 9EA4
+5F82 6B82
+4FC3 731D 8128 9162 7604 851F 8A8E 8D97 5648 61B1
+8E27 918B 762F 7C07 7E2C 8E59 9F00 8E74 8E75 9863
+6C46 64BA 92D1 9569 8E7F 651B 8EA5 9479
+6AD5 5DD1 6B11 7A73
+7A9C 6BA9 71B6 7BE1 7C12 7AC4 7228
+5D14 50AC 51D7 7F1E 5894 5D89 615B 6467 69B1 7355
+69EF 78EA 7E17 93D9
+6F3C 7480 8DA1 76A0
+4F1C 5FF0 75A9 5005 7C8B 7D23 7FC6 8103 8106 5550
+555B 60B4 6DEC 8403 6BF3 7120 813A 7601 7CB9 7DB7
+7FE0 81B5 81AC 6FE2 7AC1 894A 9847 81CE
+4E7C
+90A8 6751 76B4 8E06 6F8A 7AF4
+5B58 4F9F 62F5
+520C 5FD6
+5BF8 540B 7C7F
+6413 7473 9073 78CB 64AE 8E49 919D
+8658 5D6F 5D73 75E4 7749 77EC 84AB 8516 9E7E 9142
+9E7A 8EA6
+811E
+5249 5252 539D 590E 632B 839D 83A1 63AA 902A 65AE
+68E4 9509 84CC 9519 6B75 92BC 932F
+FDD0-0044
+5491 54D2 8037 8345 7B1A 55D2 642D 8921 5660 6498
+939D
+8FBE 8FD6 547E 59B2 601B 6C93 709F 7F8D 8359 7557
+5273 5312 7563 7B2A 9039 7B54 8A5A 9054 9618 977C
+8598 9791 87FD 9389 8E82 943D 97C3 9F96 9F98
+6253
+5927 6C4F 7714
+57AF 7629 58B6 71F5 7E68
+5446 5454 7343 61DB
+6B79 902E 50A3
+4EE3 8F6A 5788 5CB1 5E12 7519 7ED0 8FE8 9A80 5E26
+5F85 6020 67CB 6B86 73B3 8D37 5E2F 8ED1 57ED 5E36
+7D3F 888B 8EDA 8CB8 8EE9 7447 5ED7 53C7 66C3 7DFF
+9D0F 6234 825C 9EDB 7C24 8E5B 703B 9734 8976 9EF1
+9746
+9B98
+4E39 5989 5355 62C5 5358 7708 7803 803C 803D 90F8
+8043 8EAD 55AE 5A85 6B9A 7605 5330 7BAA 891D 9132
+9815 510B 52EF 64D4 6BAB 7514 7649 894C 7C1E 8078
+4F14 5210 628C 73AC 74ED 80C6 8874 75B8 7D1E 63B8
+8D55 4EB6 64A2 64A3 6FB8 9ED5 81BD 9EEE
+65E6 4F46 5E0E 6C8A 72DA 8BDE 67E6 758D 5556 5557
+5F39 60EE 6DE1 840F 86CB 557F 5F3E 6C2E 8145 8711
+89DB 7A9E 8A95 50E4 5649 99BE 9AE7 563E 5F48 619A
+61BA 66BA 6FB9 79AB 84DE 99F3 9D20 765A 56AA 7E75
+8D09 972E 994F
+6CF9
+5F53 73F0 88C6 7B5C 7576 5679 6FA2 74AB 8960 7C39
+8261 87F7
+6321 515A 8C20 64CB 8B61 9EE8 6529 7059 6B13 8B9C
+6C39 51FC 5735 5B95 7800 57B1 8361 6863 83EA 5A78
+6113 74FD 903F 5D63 96FC 6F52 78AD 5105 778A 8569
+8DA4 58CB 6A94 7497 76EA 7911 7C1C 862F 95E3
+94DB 943A
+5200 5202 53E8 5FC9 6737 6C18 8220 91D6 9C7D 9B5B
+636F
+5BFC 5C9B 5CF6 6363 7977 7982 6417 969D 5D8B 5D8C
+5C0E 96AF 58D4 5DB9 64E3 8E48 79B1
+5230 5012 60BC 7118 76D7 83FF 76DC 9053 7A32 7B8C
+7FE2 5675 7A3B 885C 6AA4 885F 71FE 7FFF 8EC7 74D9
+7E9B
+5C76 9666 6921 69DD
+561A
+6074 6DC2 60EA 68CF 951D 5FB3 5FB7 9340
+5730 7684 5F97 8126
+6265 627D
+706F 767B 8C4B 5654 5B01 71C8 7492 7AF3 7C26 89B4
+8E6C
+6729 7B49 6225
+9093 51F3 9127 96A5 58B1 5D9D 77AA 78F4 956B 6AC8
+9419
+8260
+6C10 4EFE 4F4E 5943 5F7D 889B 7F9D 9684 5824 8D86
+6EF4 6A00 955D 78FE 9349 97AE
+5EF8 72C4 7C74 82D6 8FEA 5519 654C 6DA4 837B 6891
+7B1B 89CC 976E 6ECC 99B0 9AE2 5600 5AE1 7FDF 850B
+8510 9814 6575 7BF4 5681 85E1 8C74 8E62 9B04 93D1
+7CF4 89BF 9E10
+538E 5758 8BCB 90B8 963A 5467 5E95 5F24 62B5 62DE
+830B 67E2 7274 7825 57DE 638B 83E7 89DD 8A46 8EE7
+805C 9AB6
+5754 5F1F 65F3 6755 7393 601F 4FE4 5E1D 57CA 5A23
+9012 9013 5059 5547 5572 688A 710D 73F6 7731 7976
+7B2C 83C2 8C1B 91F1 5A82 68E3 6E27 7747 7F14 8482
+50C0 7998 8163 905E 926A 5891 58AC 6455 78B2 8515
+8743 9070 6178 750B 7DE0 5DB3 8AE6 8E36 87AE
+9BF3
+55F2
+7538 6541 6382 508E 53A7 5D6E 6EC7 69C7 69D9 7628
+98A0 8E4E 5DC5 985A 985B 766B 5DD3 5DD4 6527 7672
+9F7B
+5178 594C 70B9 5A70 7320 655F 8DD5 7898 84A7 8547
+8E2E 9EDE 56B8
+7535 4F43 963D 576B 5E97 57AB 6242 73B7 94BF 5A5D
+60E6 6DC0 5960 7414 6BBF 8714 96FB 588A 58C2 6A42
+6A5D 6FB1 975B 765C 7C1F 9A54
+6923
+5201 53FC 6C48 866D 51CB 595D 5F34 5F6B 86C1 7431
+8C82 7889 9CED 6BA6 7797 96D5 9B89 9CB7 9F26 9BDB
+9D70
+625A 5C4C
+5F14 4F04 540A 9493 7A8E 8A0B 8C03 6389 91E3 94DE
+94EB 7AE8 84E7 92B1 96FF 9B61 8ABF 7639 7AB5 92FD
+85CB 9443
+7C13
+7239 8DCC 893A
+82F5 8FED 57A4 5CCC 604E 6315 6633 7ED6 80C5 74DE
+7723 621C 8C0D 558B 581E 60F5 63F2 7573 7D70 800B
+81F7 8A44 8D83 957B 53E0 6B9C 7243 7252 5D7D 789F
+8728 890B 8253 8776 8ADC 8E40 9CBD 66E1 7589 9C08
+758A 6C0E
+54CB 800A 7730
+5E49 7582
+4E01 4EC3 53EE 5E04 738E 7594 76EF 9489 8035 8670
+914A 91D8 976A
+5975 9876 9802 9F0E 5D7F 9F11 6FCE 85A1 9424
+8BA2 5FCA 9964 77F4 5B9A 8A02 98E3 5576 94E4 6917
+815A 7887 952D 78A0 874A 92CC 9320 78F8 9841
+8423 8062
+4E1F 4E22 94E5 92A9
+4E1C 51AC 549A 5CBD 6771 82F3 6638 6C21 5032 9E2B
+57EC 5A3B 5D20 5D2C 6DB7 7B17 83C4 5F9A 6C2D 8740
+9D24 9F15 9BDF 9D87
+8463 58A5 5B1E 61C2 7BBD 856B 8ACC
+52A8 51BB 4F97 578C 59DB 5CD2 606B 630F 680B 6D1E
+80E8 8FF5 51CD 6219 80F4 52D5 7850 68DF 6E69 7D67
+8156 50CD 99E7 9718
+9B97 9DAB
+543A 5517 90FD 515C 5160 8538 6A77 7BFC
+9627 6296 6793 67A1 9661 551E 86AA 9204
+6597 8C46 90D6 6D62 8373 9017 997E 9B25 68AA 6BED
+8130 9158 75D8 9597 7AA6 9B26 9916 65A3 95D8 7AC7
+9B2A 9B2D 9B2C
+4E67 8254
+53BE 5262 9607 561F 7763 918F 95CD
+6BD2 72EC 6D9C 8BFB 6E0E 691F 724D 728A 78A1 88FB
+8AAD 8773 7368 9316 51DF 5335 5B3B 7006 6ADD 6BB0
+7258 72A2 74C4 76BE 9A33 9EE9 8B80 8C44 8D15 97E3
+9AD1 945F 97C7 97E5 9EF7 8B9F
+7B03 5835 5E3E 743D 8D4C 7779 89A9 8CED 7BE4
828F 5992 675C 809A 59AC 5EA6 8370 79FA 6E21 976F
-9540 8799 6BAC 934D 8827 8839 8011 5073 5A8F 7AEF
-890D 9374 77ED 6BB5 65AD 5845 7F0E 846E 6934 7145
-7456 8176 78AB 953B 7DDE 6BC8 7C16 935B 65B7 8E96
-7C6A 53FE 5796 5806 5860 5D5F 75FD 78D3 9827 9D2D
-941C 961F 5BF9 514A 514C 5151 5BFE 794B 603C 966E
-968A 7893 7D90 5C0D 619D 6FE7 85B1 9566 61DF 7029
-8B48 9413 8B75 5428 60C7 6566 8733 58A9 58AA 58FF
-64B4 7364 5678 6489 6A54 729C 7905 8E72 8E7E 9A50
-76F9 8DB8 8E89 4F05 56E4 5E89 6C8C 7096 76FE 7818
-9007 949D 987F 9041 920D 815E 9813 78B7 906F 619E
-6F61 71C9 8E32 591A 591B 5484 54C6 8324 525F 5D1C
-6560 6BF2 88F0 5689 4EDB 593A 94CE 526B 6387 6553
-655A 55A5 656A 75E5 922C 596A 51D9 8E31 9BB5 9438
-6735 6736 54DA 579B 6305 6306 57F5 7F0D 692F 8D93
-8EB1 8EB2 7D9E 4EB8 8EC3 9B0C 56B2 5234 5241 6CB2
-964A 964F 9973 579C 5C2E 67EE 6857 5815 8235 60F0
-8DE2 8DE5 8DFA 98FF 58AE 5D9E 619C 58AF 9D7D 59B8
-59BF 5A3F 5C59 8BB9 542A 56EE 8FD7 4FC4 5A25 5CE8
-5CE9 6D90 83AA 73F4 8A1B 7692 774B 920B 9507 9E45
-86FE 78C0 8A90 92E8 981F 989D 9B64 984D 9D5D 9D5E
-8B4C 6799 7808 5A40 60E1 5641 9A00 9D48 5384 6B7A
-5C75 6239 5C8B 9628 5443 627C 82CA 9638 545D 7810
-8F6D 54A2 54B9 57A9 59F6 5CC9 530E 6076 7828 8685
-997F 5054 537E 580A 60AA 7846 8C14 8EDB 9102 960F
-582E 5D3F 6115 6E42 843C 8C5F 8EF6 904C 904F 5EC5
-6424 6439 7427 816D 8A7B 50EB 8741 9537 9E57 855A
-907B 981E 989A 9913 5669 64DC 89A8 8AE4 95BC 9929
-9354 9CC4 6B5E 984E 6AEE 9C10 9D9A 8B8D 9469 9F76
-9C77 5940 6069 84BD 717E 5CCE 6441 97A5 4ED2 4E7B
-65D5 513F 800C 5150 4F95 5152 9651 5CCF 6D0F 800F
-834B 682D 80F9 5532 88BB 9E38 7CAB 804F 8F00 9C95
-96AD 9AF5 9B9E 9D2F 8F5C 5C12 5C13 5C14 8033 8FE9
-6D31 9975 682E 6BE6 73E5 94D2 723E 927A 990C 99EC
-85BE 9087 8DB0 4E8C 5F0D 5F10 4F74 5235 54A1 8D30
-8CAE 8848 8CB3 8A80 6A32 53D1 6CB7 767A 767C 5F42
-9AEA 6A43 9197 4E4F 4F10 59C2 57A1 75BA 7F5A 8337
-9600 6830 50A0 7B4F 7782 7F70 95A5 7F78 85C5 4F71
-6CD5 781D 9345 704B 73D0 743A 9AEE 5E06 5FDB 72BF
-756A 52EB 5643 58A6 5B0F 5E61 61A3 65D9 65DB 7FFB
-85E9 8F53 98BF 7C53 98DC 9C55 51E1 51E2 51E3 5325
-674B 67C9 77FE 7C75 9492 8224 70E6 8227 7B32 91E9
-68E5 7169 7DD0 6A0A 8543 6A4E 71D4 74A0 81B0 85A0
-7E41 894E 7E59 7FB3 8E6F 703F 792C 8629 9407 881C
-9DED 53CD 4EEE 6255 8FBA 8FD4 6C3E 72AF 597F 6C4E
-6CDB 996D 8303 8D29 7548 8A09 8ED3 68B5 76D5 7B35
-8CA9 8EEC 98EF 98F0 6EFC 5B0E 7BC4 5B14 702A 531A
-65B9 90A1 574A 82B3 678B 7265 94AB 6DD3 8684 580F
-8DBD 9201 933A 9D0B 9632 59A8 623F 80AA 57C5 9C82
-9B74 4EFF 8BBF 5F77 7EBA 6609 6618 74EC 7706 5023
-65CA 7D21 822B 8A2A 9AE3 9DAD 653E 98DE 5983 975E
-98DB 5561 5A53 5A54 6E04 7EEF 83F2 6249 7306 975F
-88F6 7DCB 871A 970F 9CB1 9925 99A1 9A11 9A1B 9BE1
-98DD 80A5 6DDD 6683 8153 8730 87E6 670F 80D0 532A
-8BFD 595C 60B1 6590 68D0 69A7 7FE1 855C 8AB9 7BDA
-5420 5E9F 676E 6CB8 72D2 80BA 6632 8D39 4FF7 5255
-539E 75BF 5C5D 8409 5EC3 8CBB 75F1 9544 5EE2 855F
-66CA 7648 9F23 6FF7 6AE0 9428 9745 5206 5429 5E09
-7EB7 82AC 6610 6C1B 73A2 7AD5 886F 7D1B 7FC2 68FB
-8A1C 8EAE 915A 9216 96F0 6706 9934 9959 5746 575F
-59A2 5C8E 6C7E 678C 7083 80A6 68A4 7F92 86A0 86A1
-68FC 711A 84B6 999A 96AB 58B3 5E69 8561 9B75 9CFB
-6A68 71CC 71D3 8C6E 9F22 7FB5 9F16 8C76 8F52 943C
-99A9 9EC2 7C89 7793 9EFA 4EFD 574B 5F05 594B 5FFF
-79CE 507E 6124 7CAA 50E8 61A4 596E 81B9 7CDE 9CBC
-7035 9C5D 4E30 98CE 4EF9 51E8 51EC 59A6 6CA3 6CA8
-51EE 67AB 5C01 75AF 76FD 781C 98A8 5CEF 5CF0 5051
-687B 70FD 7412 5D36 6E22 6E84 7326 8451 950B 6953
-728E 8702 760B 78B8 50FC 7BC8 9137 92D2 6A92 8C50
-93BD 93E0 9146 5BF7 7043 8634 974A 98CC 9EB7 51AF
-5906 6340 6D72 9022 5838 99AE 6453 7D98 7F1D 8242
-7E2B 8BBD 8982 552A 8AF7 51E4 5949 752E 4FF8 6E57
-7128 7148 8D57 9CEF 9CF3 9D0C 8CF5 8615 74F0 8985
-4ECF 4F5B 5772 68BB 57BA 7D11 7F36 5426 599A 7F39
-7F3B 96EC 9D00 592B 4F15 909E 544B 598B 59C7 678E
-739E 80A4 6024 67CE 7806 80D5 8342 886D 5A10 5C03
-8374 65C9 7D28 8DBA 915C 9EB8 7A03 8DD7 9207 7B5F
-7D92 911C 5B75 8C67 6577 819A 9CFA 9EA9 7CD0 9EAC
-9EB1 61EF 4E40 5DFF 5F17 4F0F 51EB 7536 51B9 521C
-5B5A 6276 8299 82A3 82BE 5488 5CAA 5E17 5F7F 602B
-62C2 670D 6CED 7EC2 7ECB 82FB 8300 4FD8 5798 67B9
-67EB 6C1F 6D11 70A5 73B8 7549 7550 7953 7F58 832F
-90DB 97E8 9CEC 54F9 683F 6D6E 7557 7829 83A9 86A8
-5310 6874 6DAA 70F0 7408 7B26 7B30 7D31 7D3C 7FC7
-8274 83D4 8659 88B1 5E45 68F4 7D65 7F66 844D 798F
-7CB0 7D8D 8240 8709 8F90 9258 925C 98AB 9CE7 6991
-7A2A 7B99 8907 97CD 5E5E 6F93 8760 9AF4 9D14 8AE8
-8E3E 8F3B 9B84 7641 8946 9BB2 9EFB 8965 9D69 9D9D
-5452 629A 752B 5E9C 5F23 62CA 65A7 4FCC 90D9 4FEF
-91DC 91E1 636C 812F 8F85 6928 7124 76D9 8151 6ECF
-8705 8150 8F14 64AB 9B34 7C20 9EFC 961D 7236 8BA3
-4ED8 5987 8D1F 9644 5490 577F 7ACE 961C 9A78 590D
-5CCA 7954 8A03 8CA0 8D74 86A5 889D 965A 5069 51A8
-526F 5A4F 5A66 86B9 5085 5A8D 5BCC 5FA9 79FF 842F
-86D7 8984 8A42 8D4B 6931 7F1A 8179 9C8B 79A3 8914
-8D59 7DEE 8567 875C 876E 8CE6 99D9 7E1B 8F39 9B92
-8CFB 9351 9362 9CC6 8986 99A5 9C12 7324 65EE 4F3D
-5620 9486 5C1C 91D3 560E 5676 9337 5C15 738D 5C2C
-9B40 4F85 8BE5 90C2 9654 5793 59DF 5CD0 8344 6650
-8D45 7561 7974 7D6F 9691 8A72 8C65 8CC5 8CCC 5FCB
-6539 7D60 9385 4E10 4E62 5303 5304 675A 9499 76D6
-6461 6E89 8462 9223 6224 6982 84CB 69E9 69EA 6F11
-74C2 5E72 7518 5FD3 8289 8FC0 653C 6746 7395 809D
-5769 6CD4 82F7 67D1 7AFF 75B3 9150 7C93 4E81 51F2
-5C32 5C34 7B78 6F27 9CF1 5C36 5C37 9B50 4EE0 76AF
-79C6 8866 8D76 6562 687F 7B34 7A08 611F 6F89 8D95
-6A44 64C0 7C33 9CE1 9C64 65F0 6C75 76F0 77F8 7EC0
-501D 51CE 6DE6 7D3A 8A4C 9AAD 5E79 69A6 6A8A 8D63
-8D1B 7068 5188 7F53 51AE 521A 962C 5C97 7EB2 809B
-5CA1 7268 7598 77FC 7F38 94A2 525B 7F61 E827 E82D
-5808 6386 91ED 68E1 7285 583D 7DB1 7F41 92FC 93A0
-5D17 6E2F 6760 7135 7B7B 69D3 6206 6207 768B 7F94
-7F99 9AD8 7690 9AD9 81EF 6EDC 776A 69D4 777E 818F
-69F9 6A70 7BD9 7CD5 993B 6ADC 97DF 9DCE 9F1B 9DF1
-5930 6772 83D2 7A01 641E 7F1F 69C0 69C1 7354 7A3E
-7A3F 9550 7E1E 85C1 6ABA 85F3 93AC 543F 544A 52C2
-8BF0 90DC 5CFC 796E 7970 9506 7B76 66A0 799E 8AA5
-92EF 6208 572A 72B5 7EA5 6213 8090 726B 7599 7271
-7D07 54E5 80F3 88BC 9E3D 5272 6401 5F41 6B4C 6ED2
-6228 95A4 9D10 9D1A 64F1 8B0C 9D3F 93B6 5444 4F6E
-530C 630C 8316 9601 9769 654B 683C 9B32 6105 81F5
-845B 86D2 86E4 88D3 9694 55DD 5865 6EC6 89E1 643F
-69C5 8188 95A3 9549 9788 97D0 9ABC 8AFD 8F35 9BAF
-6ACA 9398 97DA 8F55 97B7 9A14 9C2A 54FF 8238 4E2A
-5404 867C 500B 784C 94EC 7B87 927B 7366 7ED9 7D66
-6839 8DDF 54CF 4E98 826E 831B 63EF 6404 66F4 522F
-5E9A 754A 6D6D 8015 63B6 83EE 6929 713F 7D5A 8D53
-9E52 7DEA 7E06 7FAE 8CE1 7FB9 9D8A 90E0 54FD 57C2
-5CFA 632D 7EE0 803F 8384 6897 7D86 9CA0 9ABE 9BC1
-4E99 5829 5579 55BC 55F0 5DE5 5F13 516C 53B7 529F
-653B 675B 4F9B 7CFC 80B1 5BAB 5BAE 606D 86A3 8EAC
-9F9A 5311 5868 5E4A 6129 89E5 8EB3 5314 78BD 7BE2
-9AF8 89F5 9F8F 9F94 5EFE 5DE9 6C5E 62F1 551D 62F2
-6831 73D9 8F01 978F 5171 8D21 7FBE 8CA2 6150 7195
-8D11 515D 5163 52FE 4F5D 6C9F 94A9 88A7 7F11 920E
-6E9D 9264 7DF1 8920 7BDD 7C3C 97B2 97DD 5CA3 72D7
-82DF 67B8 73BD 8007 8009 7B31 8008 86BC 8C7F 5778
-6784 8BDF 8D2D 57A2 59E4 8329 5193 591F 5920 8A3D
-5ABE 5F40 6406 8A6C 9058 96CA 69CB 7179 89CF 6480
-89AF 8CFC 4F30 5495 59D1 5B64 6CBD 6CD2 67E7 8F71
-5502 5503 7F5B 9E2A 7B1F 83C7 83F0 86C4 84C7 89DA
-8EF1 8EF2 8F9C 9164 6BC2 9232 7B8D 7B9B 5AF4 7BD0
-6A6D 9B95 9D23 8F42 9E58 9DBB 53E4 5903 6262 6C69
-8BC2 8C37 80A1 5CE0 726F 9AA8 7F5F 7F96 9027 94B4
-50A6 5552 6DC8 8135 86CA 86CC 5C33 6132 7138 7872
-8A41 9989 9E44 69BE 9237 9F13 9F14 560F 6996 76B7
-7A40 7E0E 7CD3 85A3 6FF2 81CC 9936 7014 76EC 77BD
-9D60 8831 56FA 6018 6545 51C5 987E 580C 5D13 5D2E
-688F 727F 68DD 797B 96C7 75FC 7A12 9522 980B 50F1
-932E 9CB4 9BDD 9867 74DC 522E 82FD 80CD 9E39 6B44
-713B 7171 98AA 8D8F 5280 7DFA 92BD 98B3 9D30 9A27
-518E 53E7 5471 5250 526E 5569 5BE1 5366 576C 8BD6
-6302 639B 7F63 7D53 7F6B 8902 8A7F 4E56 62D0 67B4
-67FA 7B89 592C 53CF 602A 6060 5173 89C2 5B98 51A0
-898C 500C 8416 68FA 8484 7AA4 95A2 761D 764F 89B3
-95D7 9CCF 95DC 9C25 89C0 9C5E 9986 742F 75EF 7B66
-7BA1 8F28 8218 9327 9928 8E80 9CE4 535D 6BCC 4E31
-8D2F 6CF4 60BA 60EF 63BC 6DAB 8CAB 60B9 797C 6163
-645C 6F45 9066 6A0C 76E5 7F46 96DA 93C6 704C 721F
-74D8 77D4 7936 9E73 7F50 9475 9E1B 9C79 5149 706E
-4F8A 7097 709A 709B 54A3 5799 59EF 6D38 832A 6844
-70E1 73D6 80F1 7844 50D9 8F04 92A7 9EC6 6B1F 5E7F
-5E83 72B7 5EE3 7377 81E9 4FC7 901B 81E6 6497 5F52
-572D 59AB 9F9F 89C4 90BD 7688 8325 95FA 5E30 73EA
-80FF 4E80 7845 7A90 88BF 898F 5AAF 691D 7470 90CC
-5AE2 646B 95A8 9C91 5B00 5DB2 69FB 69FC 749D 77A1
-81AD 9BAD 9F9C 5DC2 6B78 9B36 9A29 74CC 9B39 6AF7
-5B84 6C3F 8F68 5E8B 4F79 5326 8BE1 9652 579D 59FD
-6051 7678 8ECC 9B3C 5EAA 796A 532D 6677 6E40 86EB
-89E4 8A6D 53AC 7C0B 87E1 523D 523F 6530 660B 67DC
-7085 6531 8D35 6842 6922 7B40 8CB4 6E8E 84D5 8DEA
-7786 528A 528C 648C 69F6 77B6 79AC 7C02 6AC3 8958
-9CDC 97BC 9C56 9C65 4E28 886E 60C3 7EF2 889E 8F8A
-6EDA 84D8 88F7 6EFE 7DC4 8509 78D9 7DF7 8F25 9CA7
-9B8C 9BC0 68CD 68DE 7754 7774 74AD 8B34 5459 54BC
-57DA 90ED 556F 581D 5D1E 6947 8052 921B 9505 588E
-7611 5613 5F49 6FC4 8748 934B 5F4D 87C8 56EF 56F6
-56FB 56FD 5700 570B 5E3C 63B4 8158 5E57 6156 6451
-6F0D 805D 852E 8195 8662 9998 679C 60C8 6DC9 7313
-83D3 9983 6901 8901 69E8 7CBF 7DB6 873E 88F9 8F20
-991C 9439 8FC7 904E 8142 598E 94EA 927F 4E37 54C8
-548D 55E8 5B69 9AB8 6D77 80F2 70F8 5870 917C 91A2
-4EA5 9A87 5BB3 6C26 55D0 9900 99ED 99F4 56A1 995A
-4E64 516F 4F44 9878 54FB 86B6 9163 9807 5AE8 8C3D
-61A8 99A0 9B7D 9F3E 9097 542B 90AF 51FD 5481 80A3
-51FE 8677 5505 5705 5A22 6D5B 5D21 6657 6892 6DB5
-7113 5BD2 5D45 97E9 751D 7B68 7233 872C 6F8F 92E1
-97D3 5388 7F55 6D6B 558A 850A 8C43 9B2B 6C49 5C7D
-625E 6C57 95EC 65F1 57BE 608D 634D 6658 6D86 7302
-839F 6665 6DCA 710A 7400 83E1 91EC 9588 7694 7745
-50BC 86FF 9894 99AF 6496 6F22 872D 66B5 71AF 92B2
-92CE 61BE 64BC 7FF0 8792 9837 9844 99FB 8B40 E821
-E820 96D7 701A 862B 9DBE 592F 9B67 5994 82C0 8FD2
-65BB 676D 57B3 7ED7 7B10 822A 86A2 9883 8CA5 7B55
-7D4E 980F 6C86 8320 84BF 5686 8585 85A7 7AD3 869D
-6BEB 6903 55E5 7346 5651 8C6A 5637 734B 512B 66CD
-568E 58D5 6FE0 7C47 8814 8B79 597D 90DD 53F7 660A
-6626 79CF 54E0 604F 608E 6D69 8017 6667 6DCF 5090
-7693 6EC8 8055 865F 66A4 66AD 6F94 769C 769E 76A1
-8583 76A5 98A2 704F 9865 9C1D 705D 515E 8BC3 5475
-62B2 6B31 559D 8A36 55EC 881A 79BE 5408 4F55 52BE
-548A 548C 59C0 6CB3 90C3 5CC6 66F7 67C7 72E2 76C7
-7C7A 9602 9978 54EC 6546 6838 76C9 76CD 8377 555D
-6DB8 6E2E 76D2 79F4 83CF 8402 86B5 9F81 60D2 7CAD
-8A38 988C 6941 6BFC 8A65 8C88 8C89 924C 9616 9C84
-7186 95A1 9E56 9EA7 6F95 981C 7BD5 7FEE 879B 9B7A
-7909 95D4 97A8 9F55 8988 9DA1 76AC 9449 9FA2 4F6B
-578E 8D3A 8894 96BA 5BC9 7103 6E7C 8CC0 55C3 7142
-788B 7187 8910 8D6B 9E64 7FEF 58D1 764B 71FA 7200
-9DB4 9F43 974D 974E 9E16 974F 9ED2 9ED1 563F 6F76
-5B12 62EB 75D5 978E 4F77 5F88 72E0 8A6A 6068 4EA8
-54FC 6099 6DA5 811D 59EE 6046 6052 6841 70C6 73E9
-80FB 9E3B 6A2A 6A6B 8861 9D34 9D46 8605 9445 5548
-583C 56CD 4E4A 4E65 53FF 7074 8F70 54C4 8A07 70D8
-8EE3 63C8 6E39 7122 7861 8C3E 85A8 8F37 569D 9367
-8F5F 4EDC 5F18 5985 7EA2 5430 5B8F 6C6F 7392 7EAE
-95F3 5B96 6CD3 739C 82F0 57AC 5A02 6D2A 7AD1 7D05
-836D 8679 6D64 7D18 7FC3 803E 7854 7D2D 8C39 9E3F
-6E31 7AE4 7CA0 8452 8453 921C 958E 7D8B 7FDD 8C3C
-6F42 9277 9783 9B5F 7BCA 92D0 5F4B 857B 9710 9EC9
-971F 9D3B 9ECC 664E 55CA 8BA7 8A0C 95A7 6494 6F8B
-6F92 92BE 95C0 95C2 9B28 9F41 4FAF 77E6 5589 5E3F
-7334 8454 760A 777A 9297 7BCC 7CC7 7FED 9ABA 936D
-9931 9BF8 543C 543D 72BC 540E 90C8 539A 5795 5F8C
-6D09 9005 5019 9107 5820 8C5E 9C8E 9C98 9B9C 9C5F
-4E4E 5322 864D 547C 5780 5FFD 6612 66F6 6CD8 82F8
-6057 70C0 8F77 532B 553F 60DA 6DF4 8656 8EE4 96FD
-5611 5BE3 6EF9 96D0 5E60 6B51 81B4 8B3C 56EB 6287
-5F27 72D0 74F3 80E1 58F6 58F7 659B 7100 5596 58FA
-5AA9 6430 6E56 7322 7D57 846B 695C 7173 745A 561D
-851B 9E55 69F2 7BB6 7CCA 8774 885A 9B71 7E20 879C
-9190 9836 89F3 9378 992C 702B 9B0D 9C17 9D98 9DA6
-9DAE 4E55 6C7B 864E 6D52 552C 8400 7425 865D 6EF8
-7B8E 933F 9BF1 4E92 5F16 6236 6237 6238 51B1 51B4
-8290 5E0D 62A4 6C8D 6CAA 5CB5 6019 623D 6608 6791
-795C 7B0F 7C90 5A5F 6248 74E0 7D94 9120 5AED 5AEE
-6462 6EEC 8530 69F4 71A9 9CF8 7C04 9359 569B 9E71
-8B77 9CE0 97C4 9800 9C6F 9E0C 82B1 82B2 57D6 5A72
-691B 7874 7CC0 8AAE 9335 8624 534E 54D7 59E1 9A85
-83EF 94E7 6ED1 733E 5629 64B6 748D 78C6 8550 8796
-92D8 8B41 93F5 9A4A 9DE8 5316 5212 6779 753B 8BDD
-5D0B 6866 5A73 756B 5B05 7575 89DF 8A71 5283 6466
-69EC 6A3A 5AFF 6F85 8AD9 8AE3 9ECA 7E63 8219 8633
+9540 8799 6BAC 934D 7C35 8827 8839
+8011 5073 526C 5A8F 7AEF 890D 9374
+77ED
+6BB5 65AD 5845 7F0E 846E 6934 7145 7456 8176 78AB
+953B 7DDE 6BC8 7C16 935B 65B7 8E96 7C6A
+8968
+5796 5806 5860 5D5F 75FD 78D3 9D2D 941C
+9827
+961F 5BF9 514A 514C 5151 5BFE 794B 603C 966E 968A
+7893 7D90 5C0D 619E 619D 6FE7 85B1 9566 61DF 7029
+8B48 9413
+5428 60C7 6566 8733 58A9 58AA 64B4 7364 5678 6489
+6A54 729C 7905 8E72 8E7E 9A50
+76F9 8DB8 8E89
+4F05 56E4 5E89 6C8C 7096 76FE 7818 9007 949D 987F
+9041 920D 696F 9813 906F 6F61 71C9 8E32
+78B7
+591A 591B 5484 54C6 7553 525F 5D1C 6387 6560 6BF2
+88F0 5689
+593A 94CE 526B 6553 655A 55A5 60B3 656A 75E5 922C
+596A 51D9 8E31 9BB5 9438
+6736 54DA 579B 579C 6305 6306 57F5 7F0D 692F 8D93
+8EB1 8EB2 619C 7D9E 4EB8 937A 8EC3 56B2 5972
+5234 5241 964A 964F 9973 5C2E 67C1 67EE 70A8 6857
+5815 8235 60F0 8DE2 8DE5 8DFA 98FF 58AE 5D9E 58AF
+9D7D
+6735 67A4
+FDD0-0045
+59B8 59BF 5A3F 5A40 5C59 94B6 75FE
+8BB9 542A 56EE 8FD7 4FC4 5A25 5CE8 5CE9 6D90 83AA
+73F4 8A1B 7692 774B 920B 9507 9E45 86FE 78C0 8A90
+981F 989D 9B64 96B2 984D 9D5D 9D5E 8B4C 9C2A
+6799 7808 980B 5641 9A00
+5384 5C75 6239 6B7A 5C8B 9628 5443 627C 82CA 9638
+545D 7810 8F6D 54A2 54B9 57A9 59F6 5CC9 530E 6076
+7828 8685 997F 5054 537E 580A 60AA 63A0 7565 7846
+8C14 8EDB 9102 960F 582E 5D3F 60E1 6115 6E42 843C
+8C5F 8EF6 904C 904F 922A 5EC5 6424 6439 7427 816D
+8A7B 50EB 8741 9537 9B65 9E57 855A 981E 989A 9913
+5669 89A8 8AE4 95BC 9929 8C96 9354 9CC4 6B5E 984E
+7918 6AEE 9C10 9D9A 8B8D 9F43 9469 9F76 9C77
+64DC 9D48
+8BF6 8A92
+5940 6069 84BD 717E
+5CCE
+6441
+97A5
+513F 800C 5150 4F95 5152 9651 5CCF 6D0F 834B 682D
+80F9 5532 88BB 9E38 7CAB 804F 8F00 9C95 96AD 9AF5
+9B9E 9D2F 8F5C
+53BC 5C12 5C13 5C14 8033 8FE9 6D31 9975 682E 6BE6
+73E5 94D2 723E 990C 99EC 85BE 9087 8DB0
+4E8C 5F0D 5F10 4F74 5235 54A1 8D30 8CAE 8848 8CB3
+8A80 927A 6A32
+FDD0-0046
+53D1 6CB7 767A 50A0 767C 9166 5F42 91B1
+4E4F 4F10 59C2 57A1 6D4C 75BA 7F5A 8337 9600 6830
+781D 7B4F 7782 7F70 95A5 7F78 6A43 85C5
+4F71 6CD5 704B
+73D0 743A 9AEA 855F 9AEE
+9345
+5E06 8A09 756A 52EB 5643 5B0F 5E61 61A3 8543 65D9
+65DB 7E59 7FFB 85E9 8F53 98BF 7C53 98DC 9C55
+51E1 51E2 51E3 5FDB 674B 67C9 77FE 7C75 9492 70E6
+8227 7B32 68E5 6E22 7169 7DD0 58A6 6A0A 6A4E 71D4
+74A0 81B0 85A0 7E41 894E 7FB3 8E6F 702A 703F 792C
+8629 9407 9422 881C 9DED
+53CD 6255 8FD4 91E9
+6C3E 72AF 597F 6C4E 6CDB 996D 8303 8D29 7548 8ED3
+5A4F 68B5 76D5 7B35 8CA9 8EEC 98EF 98F0 6EFC 5B0E
+7BC4
+8224
+531A 65B9 90A1 6C78 82B3 678B 7265 94AB 6DD3 8684
+9201 9D0B
+9632 59A8 623F 80AA 57C5 9C82 9B74 9C1F
+4EFF 8BBF 5F77 7EBA 6609 6618 74EC 7706 5023 65CA
+7D21 822B 8A2A 9AE3 9DAD
+653E 8DBD
+574A 580F 933A
+98DE 5983 975E 98DB 5561 5A53 6E04 7EEF 83F2 6249
+7306 975F 88F6 7DCB 871A 970F 9CB1 9925 99A1 9A11
+9A1B 98DD
+80A5 6DDD 8153 8730 87E6
+670F 532A 8BFD 595C 60B1 6590 68D0 69A7 7FE1 855C
+8AB9 7BDA
+5420 82BE 5E9F 676E 6CB8 72D2 80BA 6632 80C7 8D39
+4FF7 5255 539E 75BF 966B 5C5D 8409 5EC3 8CBB 75F1
+9544 5EE2 66CA 7648 9F23 6FF7 6AE0 9BE1 9428 9745
+5A54 6683
+5206 5429 5E09 7EB7 82AC 6610 6C1B 54DB 886F 517A
+7D1B 7FC2 515D 68FB 8A1C 915A 9216 96F0 6706 71D3
+9934 9959
+575F 59A2 5C8E 6C7E 670C 678C 7083 80A6 7F92 86A0
+86A1 68A4 68FC 711A 84B6 999A 96AB 58B3 5E69 6FC6
+8561 9B75 6A68 71CC 8C6E 9F22 7FB5 9F16 8C76 8F52
+943C 99A9 9EC2
+7C89 9EFA
+4EFD 5F05 594B 5FFF 79CE 507E 6124 7CAA 50E8 61A4
+596E 81B9 7CDE 9CBC 7035 9C5D
+7AD5 8EAE
+4E30 98CE 4EF9 51E8 51EC 59A6 6CA3 6CA8 51EE 67AB
+5C01 75AF 76FD 781C 98A8 5CEF 5CF0 5051 687B 70FD
+5D36 7326 8451 950B 6953 728E 8702 760B 78B8 50FC
+7BC8 9137 92D2 6A92 95CF 8C50 93E0 9146 5BF7 7043
+8634 973B 882D 974A 98CC 9EB7
+51AF 5906 6340 6D72 9022 5838 99AE 6453 6F28 7D98
+8242
+8BBD 8982 552A 8AF7
+51E4 5949 752E 4FF8 6E57 7128 7148 7F1D 8D57 9CEF
+9CF3 9D0C 7E2B 8CF5
+7412 6E84 93BD 8615
+8985
+4ECF 5772
+68BB
+7D11 88E6
+7F36 5426 599A 7F39 7F3B 6B95 96EC 9D00
+4F15 909E 544B 598B 59C7 739E 80A4 6024 67CE 7806
+8342 886D 57BA 5A10 5C03 8374 65C9 7D28 8DBA 9EB8
+75E1 7A03 8DD7 9207 7B5F 7D92 911C 5B75 8C67 6577
+819A 9CFA 9EA9 7CD0 9EAC 9EB1 61EF
+4E40 5DFF 5F17 4F0F 51EB 7536 4F5B 51B9 521C 5B5A
+6276 8299 82A3 5488 5CAA 5F7F 602B 62C2 670D 678E
+6CED 7EC2 7ECB 82FB 8300 4FD8 5798 67EB 6C1F 6D11
+70A5 73B8 7549 7550 7953 7F58 832F 90DB 97E8 54F9
+683F 6D6E 7829 83A9 86A8 5310 6874 6DAA 70F0 7408
+7B26 7B30 7D31 7D3C 7FC7 8274 83D4 8659 5E45 68F4
+7D65 7F66 844D 798F 7CB0 7D8D 8240 8709 8F90 9258
+925C 98AB 9CE7 6991 7A2A 7B99 97CD 5E5E 6F93 8760
+9AF4 9D14 8AE8 8E3E 8F3B 9B84 7641 8946 9EFB 9D69
+9D9D
+5452 629A 4E76 5E9C 5F23 62CA 65A7 4FCC 4FDB 80D5
+90D9 9CEC 4FEF 91DC 91E1 636C 8F85 7124 76D9 8151
+6ECF 8705 8150 8F14 5638 64A8 64AB 982B 9B34 7C20
+9EFC
+961D 7236 8BA3 4ED8 5987 8D1F 9644 577F 7ACE 961C
+9A78 590D 5CCA 7954 8A03 8CA0 8D74 86A5 889D 965A
+5069 51A8 526F 5A66 86B9 5A8D 5BCC 5FA9 79FF 842F
+86D7 8A42 8D4B 5711 6931 7F1A 8179 9C8B 8907 8914
+8D59 7DEE 8567 875C 876E 8CE6 99D9 5B14 7E1B 8F39
+9B92 8CFB 9351 9362 9CC6 8986 99A5 9C12
+592B 752B 5490 88B1 915C 5085 6928 8984 79A3 9BB2
+FDD0-0047
+65EE 5477 560E 5620
+9486 5C1C 5676 9337
+5C15 738D
+5C2C 9B40
+4F85 8BE5 90C2 9654 5793 59DF 5CD0 8344 6650 8D45
+7561 7974 7D6F 8A72 8C65 8CC5
+5FCB 6539 7D60
+4E10 4E62 5303 5304 9623 675A 9499 76D6 6461 6E89
+8462 9223 9691 6224 6982 69E9 84CB 8CCC 6F11 69EA
+74C2
+7518 5FD3 8289 8FC0 653C 6746 7395 809D 5769 6CD4
+77F8 82F7 4E79 67D1 7AFF 75B3 9150 4E7E 7C93 4E81
+51F2 5C32 5C34 7B78 6F27 9CF1 5C36 5C37 9B50
+4EE0 625E 76AF 79C6 8866 8D76 6562 687F 7B34 7A08
+611F 6F89 8D95 6A44 64C0 7C33 9C14 9CE1 9C64
+5E72 65F0 6C75 76F0 7EC0 501D 51CE 6DE6 7D3A 8A4C
+9AAD 5E79 69A6 6A8A 8D11 8D63 8D1B 7068
+5188 7F53 51AE 521A 6760 7EB2 809B 5CA1 7268 7598
+77FC 7F38 94A2 525B 7F61 5808 6386 91ED 68E1 7285
+583D 7DB1 7F41 92FC 93A0
+5C97 5D17 6E2F
+7135 7B7B 69D3 6205 6206
+768B 7F94 7F99 9AD8 7690 9AD9 81EF 6EDC 69D4 777E
+818F 69F9 6A70 7BD9 7CD5 993B 6ADC 9DCE 9F1B 9DF1
+5930 6772 83D2 641E 7F1F 66A0 69C0 69C1 7A3E 7A3F
+9550 7E1E 85C1 6ABA 85F3
+543F 544A 52C2 53DD 8BF0 90DC 796E 7970 9506 7170
+7B76 799E 8AA5 92EF
+97DF
+6208 4EE1 572A 72B5 7EA5 6213 8090 726B 7599 54AF
+7271 54E5 80F3 88BC 9E3D 5272 6401 6ED2 6228 6B4C
+9D10 9D1A 64F1 8B0C 9D3F 93B6
+5444 4F6E 530C 630C 8316 9601 9769 654B 683C 9B32
+6105 81F5 845B 86D2 88D3 9694 55DD 5865 6EC6 89E1
+643F 69C5 8188 95A3 95A4 7366 9549 9788 97D0 9ABC
+8AFD 8F35 9BAF 97DA 8F55 97B7 9A14
+54FF 8238
+4E2A 5404 867C 500B 784C 94EC 55F0 7B87
+5F41 6ACA
+7ED9 7D66
+6839 8DDF
+54CF
+826E
+4E98 4E99 831B 63EF
+522F 5E9A 754A 6D6D 8015 83EE 6404 713F 7D5A 8D53
+9E52 7DEA 7E06 7FAE 8CE1 7FB9 9D8A
+90E0 54FD 57C2 5CFA 632D 7EE0 803F 8384 6897 7D86
+9CA0 9ABE 9BC1
+66F4 5829 6685
+63B6 6929
+5DE5 5F13 516C 53B7 529F 653B 675B 4F9B 739C 7CFC
+80B1 5BAB 5BAE 606D 8EAC 9F9A 5311 5868 5E4A 6129
+89E5 8EB3 7195 78BD 9AF8 89F5 9F8F 9F94
+5EFE 5DE9 6C5E 62F1 62F2 6831 73D9 8F01 92DB 978F
+5171 8D21 7FBE 551D 8CA2 83BB
+86A3 6150
+52FE 4F5D 6C9F 94A9 88A7 7F11 920E 6E9D 9264 7DF1
+8920 7BDD 97B2 97DD
+82B6 5CA3 72D7 82DF 67B8 73BD 8007 8009 7B31 8008
+86BC 8C7F
+5778 6784 8BDF 8D2D 57A2 59E4 8329 5193 591F 5920
+8A3D 5ABE 5F40 6406 8A6C 9058 96CA 69CB 7179 89CF
+6480 89AF 8CFC
+4F30 5471 59D1 5B64 6CBD 6CD2 82FD 67E7 8F71 5502
+7F5B 9E2A 7B1F 83F0 86C4 89DA 8EF1 8EF2 8F9C 9164
+9232 7B8D 7B9B 5AF4 6A6D 9B95 9D23
+9DBB
+5903 53E4 6262 6C69 8BC2 8C37 80A1 726F 9AA8 5503
+7F5F 7F96 94B4 5552 6DC8 8135 86CA 86CC 5C33 6132
+84C7 8A41 9989 9E44 69BE 6BC2 9237 9F13 9F14 560F
+6996 76B7 9E58 7A40 7E0E 7CD3 85A3 6FF2 76BC 81CC
+8F42 9936 7014 76EC 77BD 8831
+56FA 6545 51C5 987E 580C 5D13 5D2E 688F 727F 68DD
+797B 96C7 75FC 7A12 9522 50F1 932E 9CB4 9BDD 9867
+5495 5CE0 9027 50A6 83C7 7BD0
+74DC 522E 80CD 681D 9E39 6B44 7171 8052 8D8F 5280
+7DFA 8E3B 92BD 98B3 9D30 9A27
+518E 53E7 5250 526E 5BE1
+5366 576C 8BD6 6302 5569 639B 7F63 7D53 7F6B 8902
+8A7F
+98AA
+4E56 63B4 6451
+62D0 67B4 67FA 7B89
+592C 53CF 602A 6060
+5173 89C2 5B98 51A0 898C 500C 68FA 8484 7AA4 95A2
+761D 764F 89B3 95D7 9CCF 95DC 9C25 89C0 9C5E
+839E 9986 742F 75EF 7B66 7BA1 8F28 8218 9327 9928
+9CE4
+6BCC 4E31 8D2F 6CF4 60BA 60EF 63BC 6DAB 8CAB 60B9
+797C 6163 645C 6F45 9066 6A0C 76E5 7F46 96DA 93C6
+704C 721F 74D8 77D4 7936 9E73 7F50 9475 9C79 9E1B
+5149 706E 4F8A 7097 709B 54A3 5799 59EF 6D38 832A
+6844 70E1 80F1 50D9 8F04 92A7 9EC6
+5E7F 5E83 72B7 5EE3 7377 81E9
+4FC7 73D6 901B 81E6 6497
+709A 6B1F
+5F52 572D 59AB 9F9F 89C4 90BD 7688 8325 95FA 5E30
+73EA 80FF 4E80 5080 7845 7A90 88BF 898F 5AAF 5EC6
+691D 7470 90CC 5AE2 646B 95A8 9C91 5B00 69FB 69FC
+879D 749D 81AD 9BAD 9F9C 5DC2 6B78 9B36 9A29 74CC
+9B39 6AF7
+5B84 6C3F 6739 8F68 5E8B 4F79 5326 8BE1 9652 579D
+59FD 6051 6531 7678 8ECC 9B3C 5EAA 796A 532D 6677
+6E40 86EB 89E4 8A6D 53AC 77A1 7C0B 87E1
+6530 523D 523F 660B 67DC 7094 8D35 6842 6867 7324
+7B40 8CB4 84D5 8DEA 5331 528A 528C 5DA1 648C 69F6
+6A9C 77B6 79AC 7C02 6AC3 7650 8958 9CDC 97BC 9C56
+9C65
+6922
+4E28 886E 60C3 7EF2 889E 88AC 8F8A 6EDA 84D8 6EFE
+7DC4 8509 78D9 8F25 9CA7 9B8C 9BC0
+68CD 7754 7774 74AD 8B34
+5459 54BC 57DA 90ED 581D 5D1E 921B 9505 588E 7611
+5613 5F49 6FC4 8748 934B 5F4D 87C8
+56EF 56F6 56FB 56FD 5700 570B 5E3C 8158 5E57 6156
+6F0D 805D 852E 8195 8662 9998
+679C 60C8 6DC9 7313 83D3 9983 6901 69E8 7CBF 7DB6
+873E 88F9 8F20 9301 991C 9439
+8FC7 904E
+556F
+FDD0-0048
+54C8 94EA
+86E4
+5964
+4E37
+548D 54B3 55E8
+8FD8 5B69 9826 9AB8 9084
+6D77 80F2 70F8 917C 91A2
+4EA5 598E 9A87 5BB3 6C26 55D0 9900 99ED 995A
+5870 56A1
+4F44 70B6 9878 86B6 9163 9807 5AE8 8C3D 61A8 99A0
+6B5B 9F3E
+9097 542B 90AF 51FD 5481 80A3 51FE 8677 5505 5705
+5A22 6D5B 5D21 6657 6892 6DB5 7113 7400 5BD2 5D45
+97E9 751D 7B68 872C 6F8F 92E1 9B7D 97D3
+4E06 5388 7F55 6D6B 558A 850A 961A 8C43 9B2B
+6C49 5C7D 6C57 95EC 65F1 5CBE 54FB 57BE 608D 634D
+6D86 7302 839F 6658 6665 710A 83E1 91EC 9588 7694
+7745 50BC 86FF 9894 99AF 6496 6F22 872D 8C8B 66B5
+71AF 92B2 92CE 61BE 64BC 7FF0 8792 9837 9844 99FB
+8B40 96D7 701A 862B 9DBE
+516F 7233
+592F
+82C0 8FD2 65BB 676D 7ED7 73E9 7B10 822A 86A2 9883
+8CA5 7B55 7D4E 980F 9B67
+6C86
+57B3
+8320 84BF 5686 8585 85A7
+6BDC 869D 6BEB 6903 55E5 7346 8C89 5651 7354 8C6A
+5637 734B 8AD5 512B 568E 58D5 6FE0 7C47 8814 8B79
+597D 90DD
+53F7 660A 6626 79CF 54E0 5CFC 604F 608E 6D69 8017
+6667 6DCF 5090 7693 9117 6EC8 8055 865F 66A4 66AD
+6F94 769C 769E 66CD 76A1 8583 76A5 93AC 98A2 704F
+9865 9C1D 705D
+7AD3
+8BC3 62B2 6B31 559D 8A36 55EC 881A
+79BE 5408 4F55 52BE 5392 548A 548C 59C0 6CB3 90C3
+5CC6 66F7 67C7 72E2 76C7 7C7A 7D07 9602 9978 54EC
+6546 6838 76C9 76CD 8377 555D 6DB8 6E2E 76D2 79F4
+83CF 8402 86B5 9F81 60D2 8A38 988C 6941 6BFC 6F95
+8A65 8C88 8F05 924C 9616 9C84 7186 9E56 9EA7 981C
+7BD5 7FEE 879B 9B7A 7909 95D4 97A8 9F55 8988 9DA1
+76AC 9449 9FA2
+4F6B 578E 8D3A 8894 7103 8CC0 55C3 7142 788B 7187
+8910 8D6B 9E64 7A52 7FEF 58D1 764B 8B1E 7200 9DAE
+9DB4 974E 9E16 974F
+7CAD 974D
+9ED2 9ED1 563F 6F76
+62EB 75D5 978E
+4F77 5F88 72E0 8A6A
+6068
+4EA8 54FC 6099 5548 811D
+59EE 6046 6052 6841 70C6 80FB 9E3B 6A2A 6A6B 8861
+9D34 8605 9445
+583C
+6DA5 9D46
+5677
+53FF 543D 544D 7074 8F70 54C4 8A07 70D8 8EE3 63C8
+6E39 7122 7861 8C3E 85A8 8F37 569D 9367 8F5F
+4EDC 5F18 5985 7EA2 5430 5B8F 6C6F 7392 7EAE 95F3
+5B96 6CD3 82F0 57AC 5A02 6D2A 7AD1 7D05 836D 8679
+5CF5 6D64 7D18 7FC3 803E 7854 7D2D 8C39 9E3F 6E31
+7AE4 7CA0 8452 8453 921C 958E 7D8B 7FDD 8C3C 6F42
+9277 9783 9B5F 92D0 5F4B 857B 9710 9EC9 971F 9D3B
+9ECC
+664E 55CA
+8BA7 8A0C 95A7 6494 6F8B 6F92 92BE 95C2 9B28
+9F41
+4FAF 77E6 9107 5589 5E3F 7334 8454 760A 777A 7BCC
+7CC7 7FED 9ABA 7FF5 936D 9931 9BF8
+543C 72BC
+540E 90C8 539A 5795 5F8C 6D09 9005 5820 8C5E 9C8E
+9C98 9B9C 9C5F
+5019
+4E6F 5322 864D 547C 5780 5FFD 6612 66F6 6CD8 82F8
+6057 70C0 8F77 532B 553F 60DA 6DF4 8656 8EE4 5611
+5BE3 6EF9 96D0 5E60 622F 6B51 81B4 8B3C
+56EB 6287 5F27 72D0 74F3 80E1 58F6 96BA 58F7 659B
+7100 5596 58FA 5AA9 6430 6E56 7322 7D57 846B 695C
+7173 745A 561D 851B 9E55 69F2 7BB6 8774 885A 9B71
+7E20 879C 9190 9836 89F3 9378 992C 9D60 702B 9B0D
+9C17 9D98 9DA6
+4E55 6C7B 864E 6D52 4FFF 8400 7425 865D 6EF8
+4E65 4E92 5F16 6236 6237 6238 51B1 51B4 8290 5E0D
+62A4 6C8D 6CAA 5CB5 6019 623D 6608 6791 6018 795C
+7B0F 5A5F 6248 74E0 695B 55C0 7D94 9120 96FD 5AED
+5AEE 6462 6EEC 8530 69F4 71A9 9CF8 7C04 9359 569B
+9E71 8B77 9CE0 97C4 9800 9C6F 9E0C
+4E4E 7C90 552C 7CCA 933F 9BF1
+82B1 82B2 54D7 5629 848A 9335
+534E 59E1 9A85 83EF 91EA 91EB 94E7 6ED1 733E 6433
+64B6 78C6 8550 8796 92D8 8B41 93F5 9A4A 9DE8
+5316 5212 593B 6779 753B 8BDD 5D0B 6866 5A73 756B
+5B05 7575 89DF 8A71 5283 6466 6A3A 5AFF 69EC 6F85
+8AE3 9ECA 7E63 8219 8B6E
+57D6 5A72 691B 7874 7CC0 748D 8AAE
6000 5F8A 6DEE 69D0 8922 8E1D 61D0 8931 61F7 7024
-6AF0 8032 8639 574F 54B6 58CA 58DE 863E 6B22 6B25
-6B53 9D05 61C1 9D4D 9144 56BE 61FD 737E 6B61 8C9B
-8B99 9A69 8FD8 73AF 90C7 5CD8 6D39 72DF 8341 6853
-8408 8411 581A 5BCF 7D59 96C8 7D84 7FA6 8C86 953E
-961B 5BF0 6FB4 7F33 9084 74B0 8C72 9370 956E 9E6E
-7CEB 7E6F 8F58 95E4 9436 9B1F 74DB 7746 7F13 8F10
-7DE9 650C 5E7B 5942 8092 5950 5BA6 5524 6362 6D63
-6DA3 70C9 60A3 6899 7115 902D 559A 559B 5D48 610C
-63DB 6E19 75EA 7165 744D 8C62 6F36 7613 69F5 9CA9
-64D0 6FA3 77A3 85E7 9BC7 9BF6 9C00 5DDF 8093 8352
-8841 671A 5843 614C 7687 505F 51F0 968D 9EC3 9EC4
-55A4 582D 5A93 5D32 5FA8 60F6 63D8 6E5F 845F 9051
-697B 714C 745D 58B4 6F62 735A 953D 71BF 749C 7BC1
-824E 8757 7640 78FA 7A54 8AFB 7C27 87E5 9360 992D
-9CC7 8DAA 97F9 9404 9A1C 9C09 9C51 9DEC 6033 604D
-70BE 5BBA 6643 6644 595B 8C0E 5E4C 6130 8A64 7180
-7E28 8B0A 6ACE 76A9 5164 6EC9 69A5 66C2 769D 93A4
-7070 7073 8BD9 54B4 6062 62FB 6325 6D03 867A 8886
-6656 70E3 73F2 8C57 5A4E 5A88 63EE 7FDA 8F89 9693
-6689 694E 7147 743F 7988 8A7C 5E51 7773 8918 5645
-5655 649D 7FEC 8F1D 9EBE 5FBD 96B3 7008 9C34 56D8
-56DE 56EC 4F6A 5EFB 5EFD 605B 6D04 8334 8FF4 70E0
-8698 9025 75D0 86D4 86D5 8716 9BB0 6094 879D 6BC7
-6A93 71EC 8B6D 5349 5C77 6C47 4F1A 8BB3 6CCB 54D5
-6D4D 7ED8 8294 835F 8BF2 605A 6075 6867 70E9 70EA
-8D3F 5F57 6666 79FD 5599 60E0 6E4F 7D75 7F0B 7FD9
-9613 532F 5F59 5F5A 6703 6BC0 6BC1 6ED9 8A6F 8CC4
-50E1 5612 7623 8527 8AA8 571A 5BED 6167 6193 66B3
-69E5 6F53 8559 5666 5FBB 6A5E 6FAE 7369 74A4 8588
-8589 8AF1 982E 6A85 6A9C 71F4 74AF 7BF2 85F1 992F
-5696 61F3 77BA 7A62 7E62 87EA 6AD8 7E6A 7FFD 8B53
-5136 8B6E 93F8 95E0 5B48 942C 9767 97E2 8B7F 986A
-660F 662C 8364 5A5A 60DB 6DBD 960D 60FD 68D4 6B99
-8477 7767 776F 95BD 5FF6 6D51 9984 6E3E 9B42 991B
-7E49 8F4B 9F32 8BE8 4FD2 5031 5702 638D 6DF7 711D
-6EB7 6141 89E8 8AE2 5419 8020 952A 5290 9343 8C41
-6509 9A1E 4F78 6D3B 79EE 79F3 706B 4F19 90A9 94AC
-9225 6F37 5925 6C8E 6216 8D27 549F 4FF0 6347 7713
-83B7 9584 5268 639D 7978 8CA8 60D1 65E4 6E71 798D
-55C0 84A6 5684 596F 64ED 6FE9 7372 970D 6AB4 8B0B
-96D8 77C6 7A6B 956C 56AF 7016 802F 8267 85FF 8816
-56BF 66E4 81DB 7668 77D0 944A 9743 593B 4E0C 8BA5
-51FB 5209 53FD 9965 4E69 520F 573E 673A 7391 808C
-82A8 77F6 9E21 6785 54AD 8FF9 525E 5527 59EC 5C50
-79EF 7B04 98E2 57FA 7EE9 559E 5D46 5D47 6532 6567
-7284 7B53 7F09 8D4D 52E3 55D8 7578 7A18 8DFB 9CEE
-50DF 6BC4 7B95 9288 5630 6483 69E3 6A2D 757F 7A3D
-7DDD 89ED 8CEB 8EB8 9F51 58BC 61BF 6A5F 6FC0 74A3
-79A8 7A4D 9324 96AE 64CA 78EF 7C0A 7E3E 7F81 8CF7
-913F 6AC5 802D 96DE 8B4F 97F2 9D8F 8B64 9416 9951
-766A 8E8B 97BF 9DC4 9F4E 7F87 8640 9447 8989 9459
-9F4F 7F88 9E04 898A 4EBC 53CA 4F0B 5409 5C8C 5F76
-5FE3 6C72 7EA7 5373 6781 4E9F 4F76 90C6 537D 53DD
-59DE 6025 72E4 768D 7B08 7D1A 63E4 75BE 89D9 506E
-5359 5EB4 6956 710F 8128 8C3B 6222 68D8 6975 6B9B
-6E52 96C6 5849 5AC9 6131 696B 84BA 874D 8D8C 8F91
-69C9 8024 818C 92A1 5DAF 6F57 7620 7BBF 8540 857A
-8E16 978A 9E61 6A76 6A9D 6FC8 878F 8F2F 894B 8E50
-9353 8265 7C4D 8F5A 93F6 9735 9DBA 9DD1 8EA4 96E6
-96E7 51E0 5DF1 4E2E 5980 72B1 6CF2 866E 6324 810A
-638E 9C7E 5E7E 621F 5D74 9E82 9B62 64A0 64E0 7A56
-87E3 5F50 5F51 65E1 8BA1 8BB0 4F0E 7EAA 5756 5993
-5FCC 6280 82B0 82B6 9645 5242 5B63 54DC 578D 5CDC
-65E2 6D0E 6D4E 7D00 830D 8A08 5264 7D12 7EE7 89CA
+6AF0 8032 8639
+574F 54B6 8AD9 58CA 58DE 863E
+72BF 6B53 9D05 9D4D 9144 56BE 61FD 737E 8B99 8C9B
+9A69
+73AF 90C7 5CD8 6D39 72DF 8341 6853 8408 8411 5BCF
+7D59 96C8 7D84 7FA6 8C86 926E 953E 571C 5B1B 5BF0
+6FB4 7F33 961B 74B0 8C72 9370 956E 9E6E 7CEB 7E6F
+8F58 9436 95E4 9B1F 74DB
+7F13 7DE9 650C
+5E7B 5942 8092 5950 5BA6 5524 6362 6D63 6DA3 70C9
+60A3 6899 7115 902D 559A 559B 5D48 610C 63DB 6E19
+75EA 7746 7165 744D 8C62 6F36 7613 69F5 9CA9 64D0
+6FA3 85E7 9BC7 9C00
+6B22 77A3 6B61
+5DDF 8093 8352 8841 671A 5843 614C
+7687 505F 51F0 968D 9EC4 55A4 582D 5A93 5D32 5FA8
+60F6 6E5F 845F 9051 9EC3 697B 714C 745D 58B4 6F62
+735A 953D 71BF 749C 7BC1 7BCA 824E 8757 7640 78FA
+7A54 8AFB 7C27 87E5 9360 992D 9CC7 8DAA 97F9 9404
+9A1C 5164 9C09 9C51 9DEC
+6033 604D 70BE 5BBA 6644 595B 8C0E 5E4C 8A64 7180
+8B0A 6ACE
+6130 6EC9 69A5 66C2 769D 93A4 76A9
+6643 7E28
+7070 8BD9 54B4 6062 62FB 6325 6D03 867A 8886 6656
+70E3 73F2 8C57 5A4E 5A88 63EE 7FDA 8F89 9693 6689
+694E 7147 7988 8A7C 5E51 7773 8918 5645 649D 5655
+7FEC 8F1D 9EBE 5FBD 96B3 7008 8633 9C34
+56D8 56DE 56EC 4F6A 5EFB 5EFD 605B 6D04 8334 8FF4
+70E0 8698 9025 75D0 86D4 86D5 8716 9BB0
+6094 6BC0 6BC1 6BC7 6A93 71EC 8B6D
+5349 6C47 4F1A 8BB3 6CCB 54D5 6D4D 7ED8 8294 835F
+8BF2 605A 6075 70E9 8D3F 5F57 6666 79FD 5599 60E0
+6E4F 7D75 7F0B 7FD9 9613 532F 5F59 5F5A 6703 6ED9
+8A6F 8CC4 9892 50E1 5612 7623 8527 8AA8 571A 5BED
+6167 6193 66B3 69E5 6F53 8559 5666 5B12 5FBB 6A5E
+6BA8 6FAE 6FCA 7369 8588 8589 8AF1 982E 71F4 74AF
+7BF2 85F1 992F 5696 77BA 7A62 7E62 87EA 6AD8 7E6A
+7FFD 8B53 5136 93F8 95E0 5B48 942C 9767 8B7F 986A
+5C77 7073 74A4 61F3
+660F 662C 8364 5A5A 60DB 6DBD 960D 68D4 6B99 8477
+7767 776F 95BD
+5FF6 6D51 68A1 9984 581A 6E3E 743F 9B42 991B 7E49
+8F4B 9F32
+9BF6
+8BE8 4FD2 5031 5702 638D 6DF7 711D 6EB7 6141 89E8
+8AE2
+5419 5268 8020 952A 5290 5684 9343 8C41 6509 9A1E
+4F78 6D3B 79EE 79F3
+706B 4F19 90A9 94AC 9225 6F37 5925
+6C8E 6216 8D27 549F 7809 4FF0 6347 7713 83B7 9584
+639D 7978 8CA8 60D1 65E4 6947 6E71 798D 84A6 596F
+6FE9 7372 970D 6AB4 8B0B 77C6 7A6B 956C 56AF 7016
+802F 8267 85FF 8816 56BF 66E4 81DB 7668 77D0 944A
+9743
+FDD0-004A
+4E0C 8BA5 51FB 5209 53FD 9965 4E69 520F 573E 673A
+7391 808C 82A8 77F6 9E21 6785 54AD 59EB 8FF9 525E
+5527 59EC 5C50 79EF 7B04 98E2 57FA 7EE9 559E 5D46
+5D47 6567 671E 7284 7B53 7F09 8D4D 52E3 55D8 7578
+7A18 8DE1 8DFB 9CEE 50DF 6BC4 7B95 9288 5630 69E3
+757F 7A3D 7DDD 89ED 8CEB 8EB8 9F51 58BC 6A5F 6FC0
+74A3 79A8 7A4D 8940 9324 96AE 64CA 78EF 7C0A 7E3E
+7F81 8CF7 913F 6AC5 802D 8E5F 96DE 8B4F 97F2 9D8F
+8B64 9416 9951 8E8B 97BF 9DC4 9F4E 7F87 8640 9447
+8989 9459 9F4F 7F88 9E04 898A
+4EBC 53CA 4F0B 5409 5C8C 5F76 5FE3 6C72 7EA7 5373
+6781 7680 4E9F 4F76 8BD8 90C6 9491 537D 59DE 6025
+72E4 768D 7B08 7D1A 63E4 75BE 810A 89D9 506E 5359
+5EB4 710F 8C3B 6222 68D8 6975 6B9B 6E52 96C6 5849
+5AC9 6131 696B 84BA 8D8C 69C9 799D 8024 818C 92A1
+5DAF 6483 6F57 6FC8 7620 7BBF 8540 857A 8E16 9E61
+6A76 6A9D 878F 64EE 85C9 894B 8E50 9353 8265 7C4D
+8F5A 93F6 9735 9DBA 9DD1 96E6 96E7
+51E0 5DF1 4E2E 5980 72B1 6CF2 866E 6324 638E 9C7E
+5E7E 621F 9218 5D74 9E82 9B62 64A0 64E0 7A56 87E3
+9B55
+5F50 5F51 65E1 8BA1 8BB0 4F0E 7EAA 5756 5993 5FCC
+6280 82B0 9645 5242 5B63 54DC 578D 5CDC 65E2 6D0E
+6D4E 7D00 830D 8324 8360 8A08 5264 7D12 7EE7 89CA
8A18 5048 5BC2 5BC4 5F9B 60B8 65E3 689E 6E08 796D
-8415 60CE 81EE 846A 8507 517E 75F5 7D99 84DF 88DA
-8DE1 969B 588D 66A8 6F03 6F08 799D 7A29 7A4A 8A8B
-8DFD 9701 9C9A 66A9 7A37 8AC5 9CAB 5180 5291 66C1
-7A44 7E18 858A 8940 9AFB 568C 6A95 6FDF 7E4B 7F7D
-89AC 9B86 6AB5 74BE 8E5F 9BFD 9D4B 9F4C 5EED 61FB
-7660 7A67 7CED 7E6B 860E 9AA5 9BDA 7031 7E7C 862E
-9C40 863B 973D 9C36 9C3F 9C6D 9A65 52A0 5939 593E
-5B8A 62B8 4F73 62C1 6CC7 8FE6 67B7 6BE0 6D43 73C8
-57C9 5BB6 6D79 75C2 689C 7B33 801E 8888 88B7 50A2
-7333 846D 88CC 8DCF 728C 8175 926B 5609 9553 7CD8
-8C6D 8C91 93B5 9E9A 573F 6274 5CAC 90CF 835A 90DF
-550A 605D 83A2 621B 8125 94D7 621E 86F1 988A 86FA
-8DF2 9904 92CF 982C 9830 9D36 9D4A 7532 53DA 73BE
-80DB 659A 8D3E 94BE 5A7D 5FA6 659D 6935 8CC8 9240
-698E 69DA 7615 6A9F 4EF7 9A7E 67B6 5047 5AC1 5E4F
-69A2 50F9 7A3C 99D5 55E7 620B 5978 5C16 5E75 575A
-6B7C 95F4 51BF 6214 73AA 80A9 8270 59E6 59E7 517C
-76D1 5805 60E4 730F 7B3A 83C5 83FA 8C5C 6E54 724B
-728D 7F04 844C 844F 9593 976C 641B 6937 693E 714E
-744A 7777 788A 7F23 84B9 8C63 76E3 7B8B 6A2B 719E
-7DD8 8551 8573 9CA3 9CFD 9E63 71B8 7BEF 7E11 92FB
-8271 97AC 9930 99A2 9E89 7010 97AF 9CD2 6BB1 791B
-89B8 9D73 7038 9C14 6AFC 6BB2 8B7C 9C1C 9DBC 7C5B
-97C0 9C39 56CF 8643 946F 97C9 56DD 62E3 67A7 4FED
-67EC 8327 5039 6338 6361 7B15 51CF 526A 5E34 6898
-68C0 6E55 8DBC 63C0 63C3 691C 6E1B 7751 7877 88E5
-8A43 950F 5F3F 6695 7450 7B67 7B80 7D78 8C2B 5F45
-6229 622C 78B1 5109 7FE6 64BF 6AA2 85C6 8947 8949
-8B07 8E47 77BC 7906 7C21 7E6D 8B2D 9B0B 9C0E 9E78
-703D 8812 9417 9427 9E7B 8B7E 897A 9E7C 89C1 4EF6
-898B 4F9F 5EFA 996F 5251 6D0A 726E 8350 8D31 4FF4
-5065 5263 682B 6DA7 73D4 8230 5271 5FA4 6E10 88B8
-8C0F 91FC 5BCB 65D4 6957 6BFD 6E85 8171 81F6 8465
-8DC8 8DF5 9592 8CCE 9274 952E 50ED 6997 69DB 6F38
-528D 528E 58B9 6F97 7BAD 7CCB 8AD3 8CE4 8D9D 8E10
-8E3A 5292 5294 6A7A 85A6 8AEB 9375 991E 77AF 77B7
-78F5 7900 87B9 9373 64F6 6ABB 6FFA 7E5D 7033 89B5
-93E9 807B 8266 8F5E 9451 9452 946C 9473 6C5F 59DC
-5C06 8333 6D46 7555 8C47 8441 646A 7FDE 50F5 6F3F
-8780 58C3 5F4A 7F30 8591 6A7F 6BAD 87BF 9CC9 7585
-7913 7586 7E6E 97C1 9C42 8BB2 5956 6868 508B 848B
-52E5 5968 596C 8523 69F3 734E 8029 8199 8B1B 985C
-531E 5320 5905 5F1C 6762 964D 6D1A 7EDB 5C07 5F36
-88B6 7D73 757A 9171 647E 6EF0 5D79 729F 7CE1 91A4
-7CE8 91AC 6AE4 8B3D 827D 8281 4EA4 90CA 59E3 5A07
-5CE7 6D47 832D 832E 9A84 80F6 6912 7126 7133 86DF
-8DE4 50EC 5604 8660 9C9B 5B0C 5D95 5DA3 618D 6F86
-81A0 8549 71CB 81B2 7901 7A5A 9BAB E85D 9D41 9E6A
-7C25 87ED 8F47 940E 9A55 9DE6 9DEE 6AF5 81EB 89D2
-4F7C 4FA5 6322 72E1 7EDE 997A 6341 6648 70C4 7B05
-768E 77EB 811A 94F0 6405 6E6B 7B4A 7D5E 527F 52E6
+5848 60CE 81EE 846A 8507 517E 75F5 7D99 84DF 88DA
+8900 969B 9B3E 66A8 6F03 6F08 7A29 7A4A 8A8B 8DFD
+9701 9C9A 66A9 7A37 8AC5 9CAB 5180 5291 66C1 7A44
+858A 9AFB 568C 6A95 6FDF 7E4B 7F7D 85BA 89AC 6AB5
+9D4B 9F4C 61FB 7660 7A67 860E 9AA5 9BDA 7031 7E7C
+862E 9C40 863B 973D 9C36 9C3F 9C6D 9A65
+4EBD 8F91 6A2D 8F2F 5EED 766A
+52A0 4E6B 5939 4F3D 593E 62B8 4F73 62C1 6CC7 8304
+8FE6 67B7 6BE0 6D43 73C8 57C9 5BB6 6D79 75C2 689C
+7B33 801E 8888 50A2 7333 846D 8DCF 728C 8175 926B
+5609 927F 9553 8C6D 8C91 93B5 9E9A
+573F 5FE6 6274 90CF 835A 90DF 550A 605D 83A2 621B
+88B7 94D7 621E 86F1 88CC 988A 86FA 8DF2 9782 9904
+92CF 982C 9830 9D36 9D4A
+7532 4EEE 5CAC 53DA 73BE 80DB 659A 8D3E 94BE 5047
+5A7D 5FA6 659D 6935 8CC8 9240 698E 69DA 7615 6A9F
+4EF7 9A7E 67B6 5AC1 5E4F 69A2 50F9 99D5
+7A3C 7CD8
+620B 5978 5C16 5E75 575A 6B7C 95F4 51BF 6214 73AA
+80A9 8270 59E6 59E7 517C 76D1 5042 5805 60E4 730F
+7B3A 83C5 83FA 8C5C 6E54 724B 728D 7F04 844C 9593
+641B 6937 693E 714E 744A 7777 788A 7F23 84B9 8C63
+76E3 7B8B 6A2B 719E 7DD8 8551 8573 9CA3 9CFD 9E63
+71B8 7BEF 7E11 8271 97AC 9930 99A2 9E89 7010 97AF
+9CD2 791B 89B8 9D73 7038 9427 6AFC 6BB2 9DBC 97C0
+9C39 56CF 8643 946F 97C9
+56DD 62E3 67A7 4FED 67EC 8327 5039 6338 6361 7B15
+51CF 526A 6898 68C0 6E55 8DBC 583F 63C0 63C3 691C
+6E1B 7751 7877 88E5 8A43 950F 5F3F 6695 7450 7B67
+7B80 7D78 8C2B 6229 622C 78B1 5109 7FE6 64BF 6AA2
+85C6 8947 8949 8B07 8E47 77BC 7906 7C21 7E6D 8B2D
+9B0B 9C0E 9E78 703D 8812 9417 5297 9E7B 7C5B 8B7E
+897A 9E7C
+89C1 4EF6 898B 5EFA 996F 5251 6D0A 726E 8350 8D31
+4FF4 5065 5263 682B 6DA7 73D4 8230 5271 5FA4 6E10
+88B8 8C0F 91FC 5BCB 65D4 6957 6BFD 6E85 8171 81F6
+8465 8DF5 8CCE 9274 952E 50ED 6997 6F38 852A 528D
+528E 6F97 7BAD 7CCB 8AD3 8CE4 8D9D 8E10 8E3A 5292
+5294 85A6 8AEB 92FB 9375 991E 77B7 78F5 87B9 9373
+64F6 6FFA 7E5D 7033 89B5 93E9 8266 8B7C 8F5E 9431
+9451 9452 946C 9473
+5F45 58B9 6A7A 7900 6BB1
+6C5F 59DC 5C06 8333 6D46 7555 8C47 5C07 8441 757A
+646A 7FDE 50F5 6F3F 8780 58C3 7F30 8591 6A7F 6BAD
+87BF 9CC9 7585 7913 7586 7E6E 97C1 9C42
+8BB2 5956 6868 508B 848B 5968 596C 8523 69F3 734E
+8029 8199 8B1B 985C
+531E 5905 5F1C 964D 6D1A 7EDB 5F36 88B6 7D73 9171
+52E5 6EF0 5D79 647E 5F4A 729F 7CE1 91A4 7CE8 91AC
+8B3D
+5320 6762 6AE4
+827D 8281 4EA4 90CA 59E3 5A07 5CE7 6D47 832D 832E
+9A84 80F6 6912 7126 86DF 8DE4 50EC 5604 8660 9C9B
+5B0C 5D95 5DA3 618D 6F86 81A0 8549 71CB 81B2 7901
+7A5A 9BAB 9D41 9E6A 7C25 87ED 8F47 940E 9DCD 9A55
+9DE6 9DEE
+81EB 89D2 4F7C 4FA5 6054 6322 72E1 7EDE 997A 6341
+6648 70C4 768E 77EB 811A 94F0 6405 6E6B 7D5E 527F
656B 6E6C 714D 8173 8CCB 50E5 6477 669E 8E0B 9278
-9903 510C 528B 649F 64B9 5FBC 657D 657F 7F34 66D2
-74AC 77EF 76A6 87DC 9D64 7E73 8B51 5B42 7E90 652A
-705A 9C4E 53EB 544C 5CE4 630D 8A06 73D3 7A8C 8F7F
-8F83 654E 6559 7A96 6ED8 8F03 5602 5626 65A0 6F16
-9175 564D 5DA0 6F50 566D 5B13 7365 85E0 8DAD 8F4E
-91AE 8B65 76AD 91C2 9636 7596 7686 63A5 63B2 75CE
-79F8 83E8 968E 5588 55DF 5826 5A98 5AC5 63ED 6904
-6E5D 813B 8857 716F 7A2D 9782 8754 64D1 7664 9D9B
+9903 510C 528B 5FBA 649F 64B9 96A6 5FBC 61BF 657D
+657F 71DE 7F34 66D2 74AC 77EF 76A6 87DC 7E73 8B51
+5B42 652A 705A 9C4E
+53EB 544C 5CE4 630D 8A06 73D3 7A8C 8F7F 8F83 654E
+6559 7A96 6ED8 8F03 5602 5626 65A0 6F16 9175 564D
+5DA0 6F50 566D 5B13 7365 85E0 8DAD 8F4E 91AE 8B65
+76AD 91C2
+9D64 6AF5 7E90
+9636 7596 7686 63A5 63B2 75CE 79F8 83E8 968E 5588
+55DF 5826 5A98 5AC5 63ED 6904 6E5D 813B 8857 716F
+7A2D 64D1 8754 7664 8B2F 9D9B
5369 536A 5B51 5C10 8282 8BA6 5226 5227 52AB 5C8A
-6605 523C 52BC 6770 758C 8871 8BD8 62EE 6D01 7ED3
-8FFC 5022 6840 685D 83AD 8A10 507C 5A55 5D28 6377
-88BA 5091 5AAB 7D50 86E3 9889 5D65 696C 6976 6ED0
-776B 7BC0 8710 8A70 9263 9B5D 622A 69A4 78A3 7AED
-84F5 9C92 6F54 7FAF 8AB1 8E15 9821 5E6F 64F3 5DBB
-64EE 790D 937B 9B9A 5DC0 6AED 881E 8818 883D 5979
-59D0 6BD1 5A8E 89E3 89E7 98F7 6A9E 4E2F 4ECB 5424
-5C95 5E8E 5FE6 6212 82A5 5C46 5C4A 65BA 73A0 754C
-754D 75A5 780E 8878 8BEB 501F 6088 86A7 5FA3 583A
-6950 743E 86F6 9AB1 7297 8AA1 892F 9B6A 85C9 7E72
-5DFE 4ECA 65A4 9485 5153 91D1 91D2 6D25 77DC 781B
-8355 887F 89D4 57D0 73D2 7D1F 60CD 740E 583B 743B
-7B4B 5D9C 74A1 9E76 9EC5 895F 4EC5 537A 5DF9 7D27
-5807 83EB 50C5 53AA 8C28 9526 5AE4 5ED1 6F0C 76E1
-7DCA 84F3 9991 69FF 747E 9326 8B39 9949 4F12 52A4
-5C3D 52B2 5997 8FD1 8FDB 4FAD 6783 52C1 6D55 8369
-6649 664B 6D78 70EC 8D46 7972 9032 7161 7F19 5BD6
-6422 6E8D 7981 9773 5890 616C 7468 50F8 51DA 6B4F
-6BA3 89D0 5118 5664 6FC5 7E09 8CEE 568D 58D7 5B27
-6FDC 85CE 71FC 74B6 89B2 8D10 9F7D 5755 5759 5DE0
-4EAC 6CFE 7ECF 830E 4EB0 79D4 8346 834A 6D87 8396
-5A5B 60CA 65CC 65CD 7304 7D4C 83C1 6676 7A09 8148
-775B 7CB3 7D93 5162 7CBE 8059 6A78 9CB8 9D5B 9BE8
-9D81 E85F 9D84 9E96 9F31 9A5A 9EA0 4E95 4E3C 9631
-522D 5753 5B91 6C6B 6C6C 80BC 5244 7A7D 9888 666F
-5106 5E5C 61AC 7484 61BC 66BB 71DD 71DE 749F 74A5
-9838 87FC 8B66 598C 51C0 5F2A 5F84 8FF3 4FD3 6D44
-80EB 501E 51C8 5F33 5F91 75C9 7ADE 9015 5A59 5A67
-6871 68B7 6DE8 7ADF 7AEB 811B 656C 75D9 7AE7 9753
-50B9 9756 5883 734D 8AA9 8E01 9759 981A 975A 66D4
-955C 975C 701E 93E1 7AF6 7AF8 5182 518B 5770 6243
-57DB 7D45 99C9 99EB 860F 518F 56E7 6CC2 8FE5 4FB0
-70AF 9008 6D7B 70F1 715A 7A98 988E 7D97 50D2 715B
-71B2 6F83 71D1 71DB 8927 9848 8614 4E29 52FC 7EA0
-673B 725E 7A76 7CFA 9E20 7CFE 8D73 9604 841B 557E
-63C2 63EA 63EB 9CE9 644E 6A1B 9B0F 9B2E 4E5D 4E45
-4E46 4E63 597A 6C63 6766 7078 7396 820F 97ED 7D24
-9152 9579 97EE 531B 65E7 81FC 548E 7542 759A 67E9
-67FE 5003 6855 53A9 6551 5C31 5EC4 5313 8205 50E6
-5ECF 5ED0 6166 6BA7 820A 9E6B 9BE6 9E94 5336 9F68
-9DF2 6B0D 51E5 5727 6285 530A 5C45 62D8 6CC3 72D9
-82F4 9A79 5036 6336 6344 75BD 75C0 7717 7820 7F5D
-9671 5A35 5A45 5A6E 5D0C 63AC 68AE 6DBA 6910 741A
-8152 8D84 8DD4 9514 88FE 96CE 824D 871B 8ACA 8E18
-92E6 99D2 9B88 9D21 97A0 97AB 9D8B 5C40 6CE6 4FB7
-72CA 6854 6BE9 6DD7 7117 83CA 90F9 6908 6BF1 6E68
-7291 8F02 50EA 7CB7 84FB 8DFC 8D9C 8EB9 95B0 6A58
-6A8B 99F6 9D59 8E6B 9D74 5DC8 861C E860 9DAA 9F30
-9F33 9A67 5480 5F06 6CAE 4E3E 77E9 8392 6319 6907
-7B65 6989 6998 849F 9F83 8065 8209 8E3D 64E7 6AF8
-9F5F 6B05 8977 53E5 5DE8 8BB5 59D6 5CA0 6007 62D2
-6D30 82E3 90AD 5177 601A 62E0 661B 6B6B 70AC 79EC
-949C 4FF1 5028 51A3 5267 7C94 801F 86B7 8893 57E7
-57FE 60E7 636E 8A4E 8DDD 7123 728B 8DD9 9245 98D3
+6605 523C 52BC 6770 758C 8871 62EE 6D01 7ED3 8FFC
+5022 6840 83AD 8A10 507C 5A55 5D28 6377 88BA 5091
+55BC 7D50 7D5C 9889 5D65 696C 6976 6ED0 776B 7BC0
+8710 874D 8A70 9263 9B5D 622A 69A4 78A3 7AED 84F5
+9C92 6F54 7FAF 8AB1 8E15 978A 5E6F 937B 9B9A 5DC0
+6AED 881E 8818 883D
+6BD1 5A8E 89E3 89E7 98F7 6A9E
+4E2F 4ECB 5424 5C95 5E8E 6212 82A5 5C46 5C4A 73A0
+754C 754D 75A5 780E 8878 8BEB 501F 6088 86A7 5FA3
+583A 6950 743E 86F6 9AB1 7297 8AA1 892F 9B6A 9385
+8EA4
+59D0 685D
+5DFE 4ECA 65A4 9485 5153 91D1 6D25 77DC 8355 887F
+89D4 57D0 73D2 7D1F 60CD 583B 7B4B 91FF 5D9C 9E76
+9EC5 895F
+4EC5 5C3D 4FAD 537A 5DF9 7D27 5807 83EB 50C5 53AA
+8C28 9526 5AE4 5ED1 6F0C 76E1 7DCA 84F3 9991 69FF
+747E 5118 9326 8B39 9949
+4F12 52A4 52B2 5997 8FD1 8FDB 6783 52C1 6D55 8369
+6649 664B 6D78 70EC 8D46 552B 740E 7972 9032 5BD6
+6422 6E8D 7981 7F19 9773 5890 669C 7468 50F8 51DA
+6B4F 6BA3 74A1 89D0 5664 6FC5 7E09 8CEE 568D 5B27
+6FDC 85CE 71FC 74B6 89B2 8D10 9F7D
+91D2 781B 743B 58D7
+5755 5759 5DE0 4EAC 6CFE 7ECF 830E 4EB0 79D4 8346
+834A 6D87 8396 5A5B 60CA 65CC 65CD 7304 7D4C 83C1
+6676 7A09 8148 844F 7CB3 7D93 5162 7CBE 8059 9CB8
+9D5B 9BE8 9D81 9D84 9E96 9F31 9A5A 9EA0
+4E95 4E3C 9631 522D 5753 5B91 6C6B 6C6C 80BC 5244
+7A7D 9888 666F 5106 981A 5E5C 61AC 61BC 66BB 71DB
+749F 74A5 9838 87FC 8B66
+598C 51C0 5F2A 5F84 8FF3 4FD3 5A59 6D44 80EB 501E
+51C8 5F33 5F91 75C9 7ADE 9015 5A67 6871 68B7 6DE8
+7AEB 811B 7ADF 656C 75D9 7AE7 9753 50B9 9756 5883
+734D 8AA9 8E01 9759 975A 66D4 955C 975C 6FEA 701E
+93E1 7AF6 7AF8
+775B 6A78 71DD
+5182 518B 5770 6243 57DB 7D45 99C9 99EB 860F 8614
+518F 56E7 6CC2 7085 8FE5 4FB0 70AF 9008 6D7B 70F1
+715A 7A98 988E 7D97 50D2 715B 71B2 6F83 8927
+4E29 52FC 7EA0 673B 725E 7A76 7CFA 9E20 7CFE 8D73
+9604 841B 557E 63C2 63EA 63EB 9CE9 644E 6A1B 9B0F
+9B2E
+4E5D 4E45 4E46 4E63 597A 7078 7396 820F 97ED 7D24
+9152 9579 97EE
+531B 65E7 81FC 548E 759A 67E9 67FE 5003 6344 6855
+5313 53A9 6551 5AA8 5C31 5EC4 5ED0 8205 50E6 5ECF
+6166 6BA7 820A 9E6B 5336 9BE6 9E94 9F68 9DF2
+6C63 6766 6B0D
+51E5 521F 6285 530A 5C45 62D8 6CC3 72D9 82F4 9A79
+6336 75BD 75C0 7717 7820 7F5D 9671 5A35 5A6E 5D0C
+63AC 68AE 6DBA 83F9 6910 741A 8152 8D84 8DD4 9514
+88FE 96CE 824D 871B 8E18 8E19 92E6 99D2 9B88 9D21
+97A0 97AB 9D8B
+5C40 6CE6 4FB7 72CA 6854 6BE9 5579 5A45 6DD7 7117
+83CA 90F9 6908 6BF1 6E68 7291 8F02 50EA 7CB7 8DFC
+95B0 8ACA 8D9C 8EB9 6A58 6A8B 99F6 9D59 8E6B 9D74
+5DC8 861C 9DAA 9F33 9A67
+5480 5F06 6CAE 4E3E 8392 6319 6907 7B65 6989 6998
+849F 9F83 8065 8209 8E3D 64E7 6AF8 9F5F 6B05
+5DE8 53E5 4E6C 5DEA 8BB5 59D6 5CA0 6007 62D2 6D30
+82E3 90AD 5177 6010 601A 62E0 661B 6B6B 70AC 79EC
+949C 4FF1 5028 5036 51A3 5267 7C94 801F 86B7 8893
+57E7 57FE 60E7 636E 8A4E 8DDD 728B 8DD9 9245 98D3
8661 8C66 952F 5BE0 6133 7AAD 805A 99CF 5287 52EE
5C66 8E1E 9B94 58C9 61C5 64DA 6FBD 7AB6 907D 92F8
-5C68 98B6 77BF 8C97 7C34 8E86 91B5 61FC 943B 7220
-59E2 5A1F 6350 6D93 8127 88D0 9E43 52EC 92D1 92D7
-954C 93B8 9D51 942B 8832 5377 545F 5E23 57CD 6372
-83E4 9529 81C7 9308 5946 52B5 5F2E 5026 52CC 684A
-72F7 7EE2 96BD 6DC3 74F9 7737 9104 774A 7D6D 7F65
-96CB 7760 7D79 98EC 617B 8528 990B 7367 7F82 5658
-6485 64A7 5C69 5C6B 4E85 5B52 5B53 51B3 5214 6C12
-8BC0 599C 6289 6C7A 82B5 6CEC 73A6 73A8 6317 73CF
-7804 7EDD 8673 89C9 5014 6354 6B2E 8697 5D1B 6398
-658D 6877 6B8C 7106 8990 89D6 8A23 8D7D 8DB9 902B
-5095 53A5 7D55 7D76 899A 8D89 920C 5282 52EA 7474
-8C32 99C3 5DA1 5DA5 61B0 6F4F 71A6 7234 7357 761A
-855D 8568 9D02 9D03 5671 61A0 6A5B 6A5C 957C 7235
-81C4 9562 87E8 87E9 7211 8B4E 8E76 8E77 9D8C 56BC
-77CD 89BA 940D 941D 704D 721D 89FC 5F4F 6204 652B
-7383 9DE2 6B14 77E1 9FA3 8C9C 8EA9 E84F 9481 519B
-541B 5747 6C6E 59F0 8880 8ECD 94A7 8399 8690 687E
-76B2 83CC 921E 7885 7B60 76B8 76B9 89A0 9281 929E
-9CAA 9E87 9355 9BB6 9E8F 9E95 5441 4FCA 90E1 9656
-57C8 5CFB 6343 6659 6D5A 9982 9A8F 710C 73FA 756F
-7AE3 7B98 7B9F 8720 5101 5BEF 61CF 9915 71C7 6FEC
-99FF 9D54 9D55 9D58 6508 5494 5496 5580 5361 4F67
-57B0 80E9 88C3 9272 5F00 5952 63E9 8849 950E 958B
-9426 51EF 5240 57B2 607A 95FF 94E0 51F1 5274 6168
-8488 584F 6137 6977 8F06 669F 9534 9347 93A7 95D3
-98BD 5FFE 708C 708F 6B2C 70D7 52D3 5605 613E 938E
-4E6B 520A 681E 52D8 9F9B 582A 5D41 6221 9F95 519A
-574E 4F83 780D 83B0 5058 57F3 60C2 583F 6B3F 586A
-6B41 8F21 8F41 9851 7AF7 8F57 770B 884E 5D01 5888
-961A 77B0 78E1 95DE 77D9 5FFC 780A 7C87 5EB7 5ADD
-5D7B 6177 6F2E 69FA 7A45 7CE0 8EBF 93EE 9C47 625B
-6443 4EA2 4F09 531F 909F 56E5 6297 72BA 95F6 7095
-94AA 9227 958C 5C3B 9ADB 4E02 6537 8003 62F7 6D18
-6832 70E4 94D0 7292 92AC 9C93 9760 9BB3 9BCC 533C
-5777 82DB 67EF 7241 73C2 79D1 80E2 8F72 75B4 8DB7
-94B6 5D59 68F5 75FE 842A 8EFB 988F 6415 7290 7A1E
-7AA0 9233 69BC 8596 9897 6A16 778C 78D5 874C 9826
-9198 9846 9AC1 791A 58F3 54B3 6BBB 63E2 7FD7 5DB1
-53EF 5CA2 70A3 6E07 5D51 6564 6E34 514B 523B 524B
-52C0 52CA 5BA2 5CC7 606A 5A14 5C05 8BFE 5801 6C2A
-9A92 7F02 55D1 6119 6E98 951E 78A6 7DD9 8AB2 9301
-790A 9A0D 808E 80AF 80BB 57A6 6073 5543 8C64 8C87
-58BE 9339 61C7 63AF 88C9 8903 52A5 542D 5748 5751
-6333 7841 727C 785C 94FF 787B 8A99 92B5 935E 93D7
-5DEA 4E6C 551F 53BC 603E 7A7A 5025 57EA 5D06 60BE
-6DB3 787F 7B9C 8EBB 8EBC 9313 9D7C 5B54 6050 63A7
-979A 5EE4 62A0 82A4 770D 527E 5F44 6473 7798 53E3
-52B6 53E9 6263 6010 6542 51A6 5BBC 5BC7 91E6 7A9B
-7B58 6EF1 8532 853B 7789 7C06 9DC7 625D 5233 77FB
-90C0 67AF 54ED 684D 5800 5D2B 5710 8DCD 7A9F 9AB7
-9BAC 72DC 82E6 695B 5E93 4FC8 7ED4 5EAB 79D9 7105
-88B4 55BE 7D5D 88E4 7614 9177 8932 56B3 5938 59F1
-6647 823F 8A87 4F89 54B5 57AE 9299 630E 80EF 8DE8
-9ABB 84AF 64D3 5DDC 51F7 5726 5757 5FEB 4FA9 90D0
-54D9 72EF 810D 584A 7B77 E828 9C99 5108 58A4 9136
-5672 5EE5 736A 81BE 65DD 7CE9 9C60 5BBD 5BDB 5BEC
-9ACB 9467 9AD6 68A1 6B35 6B3E 6B40 7ABD 7ABE 5321
-52BB 8BD3 90BC 5329 54D0 6047 6D2D 7B50 7B7A 8A86
-8EED 6282 72C2 72C5 8BF3 8ED6 8EE0 8A91 9D5F 593C
-5123 61ED 909D 5739 7EA9 51B5 65F7 5CB2 6CC1 77FF
-663F 8D36 6846 7716 783F 7736 7D4B 7D56 8CBA 8EE6
-9271 92DB 913A 58D9 9ECB 61EC 66E0 720C 77CC 7926
-7A6C 7E8A 945B 4E8F 5232 5CBF 609D 76D4 7AA5 8067
-7ABA 8667 95DA 985D 5DCB 862C 594E 6646 9035 9108
-9804 9997 55B9 63C6 8475 9A99 6223 668C 694F 6951
-9B41 777D 8770 982F 6AC6 85C8 9368 9377 9A24 5914
-8637 8641 5DD9 8EA8 537C 5080 7143 8DEC 980D 78C8
-8E5E 5C2F 532E 6B33 559F 5ABF 6126 6127 6E83 8489
-848A 9988 5331 5633 E82E 5B07 6192 6F70 7BD1 8069
-E842 806D 8562 6A3B 6BA8 8B09 993D 7C23 E841 8075
-7C44 9400 994B 944E 5764 6606 665C 5803 5812 5A6B
-5D10 5D11 7311 83CE 88C8 711C 7428 9AE0 88E9 951F
-9AE1 9E4D 5C21 6F49 872B 890C 9AE8 71B4 747B 918C
-9315 9CB2 81D7 9A09 9BE4 9D7E 9DA4 6083 6346 9603
-58F8 68B1 7975 7871 7A07 88CD 58FC 7A1B 7D91 95AB
-95B8 56F0 6D83 774F 6269 62E1 62EC 6304 681D 6870
-7B48 843F 8440 86DE 9614 5ED3 564B 9822 9AFA 64F4
-6FF6 95CA 979F 97D5 61D6 9729 97B9 9B20 7A52 5783
-62C9 67C6 5566 7FCB 83C8 641A 908B 65EF 782C 63E6
-78D6 5587 85DE 56B9 524C 6E82 814A 63E7 694B 760C
-8721 874B 8FA2 8FA3 8772 81C8 650B 7209 81D8 9B0E
-6AF4 74CE 9574 9BFB 881F 945E 97A1 6765 4F86 4FEB
-5008 5D03 5F95 6D9E 83B1 90F2 5A61 5D0D 5EB2 5FA0
-68BE 6DF6 730D 840A 9028 68F6 741C 7B59 94FC 7B82
-9338 9A0B 9BE0 9D86 9EB3 553B 8D49 7750 775E 8D56
-8CDA 6FD1 8CF4 983C 9842 765E 9D63 7028 702C 7C41
-85FE 7669 8970 7C5F 5170 5C9A 62E6 680F 5A6A 5D50
-847B 9611 84DD 84DE 8C30 53B1 6F9C 8934 5116 6593
-7BEE 61E2 71E3 85CD 8955 9567 95CC 74BC 8964 8B4B
-5E71 6514 703E 7046 7C43 7E7F 862D 6595 6B04 7937
-8974 56D2 7061 7C63 6B17 8B95 8E9D 897D 946D 9484
-97CA 89C8 6D68 63FD 7F06 6984 6F24 7F71 9182 58C8
-61D2 89A7 64E5 5B3E 61F6 5B44 89BD 5B4F 652C 6B16
-7226 7E9C 70C2 6EE5 71D7 5682 58CF 6FEB 7201 721B
-7224 74D3 7060 7CF7 5577 52C6 90CE 90DE 6B34 72FC
-83A8 5ACF 5ECA 6879 7405 84C8 6994 746F 7860 7A02
-9512 7B64 8246 870B 90D2 8782 8EB4 92C3 93AF 99FA
-60A2 6717 9606 6716 70FA 5871 84E2 6A03 8A8F 95AC
-6724 57CC 5D00 6D6A 8497 5525 635E 7CA9 6488 52B3
-52B4 7262 72EB 7A82 54F0 5520 5D02 6D76 52DE 75E8
-94F9 50D7 562E 5D97 61A5 6725 7646 78F1 7C29 87E7
-91AA 9412 985F 9ADD 8002 8001 4F6C 54BE 59E5 6045
-8356 6833 73EF 7853 94D1 86EF 92A0 6F66 6A51 9BB1
-8F51 6D9D 70D9 55E0 8022 916A 5AEA 61A6 6F87 6A6F
-802E 8EC2 4EC2 961E 4E50 53FB 5FC7 6250 6C3B 827B
-738F 6CD0 7AFB 7833 52D2 697D 97F7 6A02 7C15 9CD3
-9C33 9979 990E 96F7 5AD8 7F27 8502 6A0F 757E 6A91
-7E32 956D 6AD1 74C3 7FB8 7927 7E8D 7F4D 8632 9433
-8F60 58E8 9458 9741 8646 9C69 6B19 7E9D 9F3A 53BD
-8012 8BD4 5792 5841 7D6B 50AB 8A84 78CA 854C 78E5
-857E 5121 58D8 7657 85DF 6AD0 77CB 7928 7045 881D
-863D 8B84 513D 9478 9E13 808B 6CEA 6D21 7C7B 6D99
-6DDA 7D2F 9179 9287 981B 982A 64C2 9311 6502 790C
-98A3 985E 7E87 8631 79B7 561E 8137 5844 68F1 695E
-7890 7A1C 8E1C 8590 51B7 5030 580E 6123 7756 550E
-5215 5398 5253 68A8 72F8 79BB 8372 8389 9A8A 60A1
-68B8 7281 83DE 55B1 68C3 7282 9E42 527A 6F13 775D
-7B63 7F21 8243 84E0 870A 5AE0 5B77 6A06 7483 76E0
-7AF0 8C8D 6C02 729B 7CCE 853E 8935 92EB 9CA1 9ECE
-7BF1 7E2D 7F79 9305 87CD 8B27 91A8 569F 85DC 908C
-91D0 96E2 9BCF 6584 93EB 9BEC 9D79 9EE7 56C4 7055
-863A 8821 882B 5B4B 5EF2 5299 9457 7A72 7C6C 9A6A
-9C7A 9E1D 793C 674E 91CC 4FDA 5CDB 54E9 5A0C 5CF2
-6D6C 9026 7406 88E1 9502 7CB4 88CF 8C4A 92F0 9CA4
-6FA7 79AE 9BC9 87F8 91B4 9CE2 9090 9C67 6B1A 529B
-5386 5389 5C74 7ACB 540F 6738 4E3D 5229 52B1 5456
-575C 6CA5 82C8 4F8B 5CA6 623E 67A5 6CB4 75A0 82D9
-96B6 4FD0 4FEA 6803 680E 75AC 7805 8318 8354 8D72
-8F79 90E6 5A33 60A7 6817 681B 6835 6D96 7301 73D5
-783A 783E 79DD 8385 5533 5A6F 60B7 740D 7B20 7C92
-7C9D 86B8 86CE 5088 51D3 53A4 68D9 75E2 86E0 8A48
-8DDE 96F3 585B 6144 642E 6EA7 849A 849E 925D 9CE8
-53AF 53B2 66A6 6B74 746E 7D9F 8727 52F5 66C6 6B77
-7BE5 96B7 9D17 5DC1 6AAA 6FFF 7658 78FF 96B8 9B01
-512E 66DE 6AD4 7204 72A1 79B2 8807 56A6 58E2 650A
-6ADF 701D 74C5 792A 85F6 9E97 6AEA 720F 74D1 76AA
-76ED 792B 7CF2 8823 5137 7667 7930 9148 9DC5 9E9C
-56C7 6526 8E92 8F62 6B10 8B88 8F63 652D 74E5 9742
-9C71 974B 74C8 4FE9 5006 5AFE 5941 8FDE 5E18 601C
-6D9F 83B2 9023 68BF 8054 88E2 4EB7 55F9 5EC9 6169
-6E93 6F23 84EE 5332 5969 7191 899D 5286 5333 5652
-6190 78CF 8068 806B 8933 9CA2 6FC2 6FD3 7E3A 7FF4
-806E 8595 878A 6AE3 71EB 806F 81C1 8E65 8B30 938C
-9570 7C3E 880A 8B67 9B11 942E 9C31 7C62 7C68 655B
-740F 8138 88E3 6459 69E4 7489 8539 5B1A 6582 6B5B
-81C9 913B 895D 7FB7 861D 861E 7EC3 5A08 70BC 604B
-6D70 6B93 581C 5AA1 6E45 8430 94FE 50C6 695D 7149
-7453 6F4B 7A34 7DF4 6FB0 932C 6BAE 934A 93C8 7032
-9C0A 6200 7E9E 7C17 826F 4FCD 51C9 6881 6DBC 690B
-8F8C 7CAE 7CB1 589A 7DA1 8E09 6A11 8F2C 7CE7 4E21
-4E24 5169 5521 5562 639A 813C 88F2 7DC9 873D 9B49
-9B4E 4EAE 54F4 8C05 8F86 55A8 667E 6E78 91CF 7177
-8F0C 8AD2 8F1B 9344 8E7D 8FBD 7597 804A 50DA 5BE5
-5D7A 5ED6 6180 6F3B 818B 5639 5AFD 5BEE 5D9A 5D9B
-61AD 64A9 6579 7360 7F2D 907C 66B8 71CE 7499 7AB7
-81AB 7642 7AC2 9563 9E69 5C6A 5EEB 7C1D 7E5A 87DF
-8C42 8CFF 8E58 720E 9410 9ACE 98C9 9DEF 948C 91D5
-911D 84FC 7212 957D 4E86 5C25 5C26 7093 6599 5C1E
-6482 77AD 54A7 6BDF 6318 57D3 5217 52A3 51BD 52BD
-59F4 5CE2 6312 6D0C 8322 8FFE 57D2 6D56 70C8 70EE
-6369 730E 731F 811F 86DA 88C2 716D 7759 8057 8D94
-5DE4 98B2 5120 9BA4 E85E 9D37 64F8 7375 72A3 8E90
-9B1B 9B23 9C72 53B8 90BB 6797 4E34 5549 5D0A 60CF
-6DCB 667D 7433 7CA6 75F3 7884 7B96 7CBC 9130 96A3
-5D99 6F7E 735C 9074 65B4 66BD 71D0 7498 8F9A 9716
-77B5 78F7 81E8 7E57 7FF7 9E90 8F54 58E3 7036 93FB
-9CDE 9A4E 9E9F 9C57 83FB 4E83 7A1F 50EF 51DB 51DC
-649B 5EE9 5EEA 61CD 61D4 6F9F 6A81 6AA9 765B 765D
-9872 541D 6061 608B 8D41 711B 8CC3 853A 6A49 7510
-81A6 95B5 7584 85FA 8E78 8E8F 8E99 8EAA 8F65 62CE
-4F36 5222 7075 56F9 577D 590C 59C8 5CAD 5CBA 5F7E
-6CE0 72D1 82D3 6624 670E 67C3 73B2 74F4 51CC 768A
-7831 79E2 7ADB 94C3 9675 9E30 5A48 5D1A 6395 68C2
-6DE9 740C 7B2D 7D37 7EEB 7F9A 7FCE 8046 8232 83F1
-86C9 8851 797E 8A45 8DC9 8EE8 84E4 88EC 9234 959D
-96F6 9F84 7DBE 8506 8F18 970A 99D6 6FAA 8576 9302
-9717 9B7F 9CAE 9D12 9E77 71EF 971B 971D 9F62 702E
-9143 9BEA 5B41 8626 9F61 6AFA 91BD 9748 6B1E 7227
-9EA2 9F97 963E 888A 9886 9818 5DBA 4EE4 53E6 5464
-70A9 6E9C 7198 5218 6CA0 7544 6D4F 6D41 7559 65C8
-7409 7571 786B 88D7 5AB9 5D67 65D2 84A5 84C5 905B
-998F 9A9D 69B4 7460 98D7 5289 746C 7624 78C2 954F
-99E0 9E60 6A4A 74A2 7581 9560 7645 87C9 99F5 56A0
-61F0 700F 85F0 938F 93A6 993E 9E8D 93D0 98C0 9402
-9A2E 98C5 9C21 9DB9 9A51 67F3 6801 685E 73CB 687A
-7EFA 950D 7DB9 71AE 7F76 92F6 6A6E 7F80 5B3C 516D
-7FCF 586F 5EC7 6F91 78DF 9E68 8E53 9724 96E1 98C2
-9B38 9DDA 74FC 7505 56D6 54AF 9F99 5C78 5499 6CF7
-830F 663D 680A 73D1 80E7 772C 783B 7ADC 7B3C 804B
-9686 6E70 5D90 69DE 6F0B 856F 7643 7ABF 7BED 9F8D
-56A8 5DC3 5DC4 7027 8622 93E7 9733 66E8 6727 6AF3
-7216 74CF 77D3 7931 7932 8971 9F92 7C60 807E 882A
-882C 9F93 8C45 8E98 9468 9747 9A61 9E17 9647 5784
-5785 62E2 5131 96B4 58DF 58E0 650F 7AC9 54E2 6887
-7866 8856 5FBF 8D1A 5A04 507B 5A41 55BD 6E87 848C
-50C2 697C 560D 5ED4 617A 851E 9071 6A13 71A1 8027
-877C 779C 802C 825B 87BB 8B31 8EC1 9AC5 97BB 9ACF
-5D5D 6402 587F 5D81 645F 6F0A 750A 7BD3 7C0D 964B
-5C5A 6F0F 7618 9542 E834 763A 763B 93E4 9732 565C
-64B8 5695 64FC 5362 5E90 82A6 5786 67A6 6CF8 7089
-680C 80EA 8F73 822E 9E2C 7388 823B 9885 9229 9C88
-9B72 76E7 56A7 58DA 5EEC 650E 7018 7379 74B7 8606
-6AE8 7210 74D0 81DA 77D1 7C5A 7E91 7F4F 826B 8826
-8F64 946A 9871 9AD7 9C78 9E15 9EF8 5364 864F 6314
-635B 63B3 9E75 7875 9C81 865C 5877 6EF7 84FE 6A10
-6F9B 9B6F 64C4 6A79 78E0 9565 7002 6AD3 6C0C 8263
-93C0 826A 942A 9465 5725 752A 9646 4F93 5774 5F54
-5F55 5CCD 52CE 8D42 8F82 9678 5A3D 6DD5 6DE5 6E0C
-7849 83C9 902F 9E7F 6902 742D 797F 7984 50C7 5279
-52E0 6EE4 76DD 7769 788C 7A11 8CC2 8DEF 8F05 5876
-5ED8 645D 6F09 7B93 7CB6 850D 622E 6A1A 719D 8194
-819F 89EE 8DA2 8E1B 8F98 9181 6F5E 7A4B 8557 9304
-9332 9334 7490 7C0F 87B0 9D3C 6FFE 7C36 8E57 8F46
-9A04 9E6D 7C2C 7C35 93D5 9BE5 9D66 9D71 9E93 93F4
-9A3C 7C59 89FB 8642 9DFA 6C07 9A74 95FE 6988 95AD
-99BF 6C00 81A2 6ADA 85D8 66E5 9DDC 9A62 5415 5442
-4FA3 90D8 4FB6 65C5 68A0 7112 7963 7A06 94DD 5C61
-7D7D 7F15 5C62 8182 8190 891B 92C1 5C65 8938 5122
-7A5E 7E37 7A6D 5BFD 578F 5F8B 54F7 8651 7387 7EFF
-5D42 6C2F 844E 7DA0 7DD1 616E 7BBB 52F4 7E42 6AD6
-7208 9462 5B6A 5CE6 631B 683E 9E3E 8114 6EE6 92AE
-9D49 571D 5971 5B4C 5B7F 5DD2 6523 66EB 6B12 7053
-7F89 81E0 571E 7064 864A 947E 7674 7675 9E1E 5375
-4E71 91E0 4E82 63A0 7565 7567 950A 7A24 7A25 5719
-92DD 92E2 64FD 62A1 6384 4ED1 4F26 56F5 6CA6 7EB6
-4F96 8F6E 502B 966F 5707 5A68 5D18 5D19 60C0 6DEA
-83D5 68C6 8140 7896 7DB8 8726 8E1A 8F2A 78EE 9300
-9BE9 7A10 8023 8BBA 57E8 6EA3 8AD6 634B 9831 56C9
-7F57 5570 7321 8136 841D 903B 6924 8161 9523 7BA9
-9AA1 9559 87BA 7F85 89B6 93CD 5138 89BC 9A3E 7380
-863F 908F 6B0F 9E01 7C6E 947C 9960 9A58 5246 502E
-7822 84CF 88F8 8EB6 7630 8803 81DD 651E 66EA 7673
-6CFA 5CC8 6D1B 7EDC 8366 9A86 6D1C 73DE 7B3F 7D61
-843D 645E 6F2F 7296 96D2 99F1 9BA5 9D45 6FFC 7E99
-9C73 5638 5463 5988 5ABD 5B24 5B37 9EBB 75F2 5AF2
-8534 7298 87C6 87C7 9A6C 72B8 739B 7801 8682 99AC
-6EA4 7341 9064 746A 78BC 879E 93B7 9DCC 9C22 4E87
-6769 7943 9581 9A82 551B 508C 7770 561C 69AA 79A1
-7F75 99E1 7923 9B15 5417 55CE 561B 57CB 85B6 973E
-4E70 836C 8CB7 562A 8552 9DF6 52A2 8FC8 4F45 58F2
-9EA6 5356 8109 8108 9EA5 8847 52F1 8CE3 9081 9721
-9722 989F 9862 59CF 6097 86EE 6172 6471 9992 69FE
-6A20 7792 779E 9794 9945 9CD7 9B17 9B18 9C3B 883B
+5C68 98B6 8C97 7C34 8E86 91B5 61FC 943B
+77E9 7220 8977
+59E2 5A1F 6350 6D93 7106 74F9 8127 88D0 9E43 52EC
+954C 93B8 9D51 942B 8832
+5377 545F 5E23 57CD 6372 83E4 9529 81C7 9308
+5946 52B5 5DFB 5026 52CC 684A 72F7 7EE2 96BD 6DC3
+7737 9104 774A 7D6D 7F65 96CB 7760 7D79 98EC 617B
+8528 990B 7367 7E33 7F82
+5658 6485 64A7 5C69 8E7B
+4E85 5B52 5B53 51B3 5214 6C12 8BC0 5F21 6289 6C7A
+82B5 6CEC 73A6 73A8 6317 73CF 75A6 7804 7EDD 8673
+89C9 5014 6354 6B2E 8697 5D1B 6398 658D 6877 6B8C
+8990 89D6 8A23 8D7D 8DB9 902B 5095 53A5 7133 7D55
+7D76 899A 8D89 920C 5282 52EA 7474 8C32 99C3 5DA5
+61B0 71A6 7234 7357 761A 855D 8568 9D02 9D03 5671
+61A0 6A5B 6A5C 7235 81C4 9562 87E8 87E9 5C6B 7211
+8B4E 8E76 8E77 9D8C 5337 56BC 77CD 89BA 940D 941D
+721D 89FC 5F4F 6204 652B 7383 9DE2 6B14 77E1 9FA3
+8C9C 8EA9 9481
+519B 541B 5747 6C6E 59F0 8880 8ECD 94A7 8399 8690
+687E 76B2 83CC 921E 7885 76B8 76B9 89A0 9281 929E
+9CAA 9E87 9355 9BB6 9E8F 9E95
+5441 4FCA 90E1 9656 57C8 5CFB 6343 6D5A 9982 9A8F
+6659 710C 73FA 68DE 756F 7AE3 5101 7B98 7B9F 8720
+5BEF 61CF 9915 71C7 6FEC 99FF 9D54 9D58 6508 651F
+FDD0-004B
+5494 5496 5580 8849 64D6
+5361 4F67 80E9 9272
+57B0 88C3
+5F00 5952 63E9 950E 958B 9426
+51EF 5240 57B2 607A 95FF 94E0 51F1 5274 5605 6168
+8488 584F 5D66 6137 6977 8F06 669F 9534 9347 93A7
+95D3 98BD
+5FFE 708C 708F 6B2C 70D7 52D3 6112 613E 938E
+520A 681E 52D8 9F9B 582A 5D41 6221 9F95
+519A 574E 4F83 780D 83B0 5058 57F3 60C2 6B3F 586A
+6B41 69DB 8F21 6ABB 9851 7AF7 8F57
+770B 884E 5D01 5888 77B0 78E1 95DE 77D9
+5FFC 95F6 780A 7C87 5EB7 5ADD 5D7B 6177 6F2E 69FA
+7A45 7CE0 8EBF 93EE 9C47
+625B 6443
+4EA2 4F09 531F 909F 56E5 6297 72BA 7095 94AA 9227
+958C
+5C3B 9ADB
+4E02 6537 8003 62F7 6D18 6832 70E4 7A01 9C93 71FA
+94D0 7292 92AC 9760 9BB3 9BCC
+533C 82DB 67EF 7241 73C2 79D1 80E2 8F72 75B4 7822
+8DB7 68F5 842A 8EFB 988F 55D1 6415 7290 7A1E 7AA0
+9233 69BC 8596 9897 6A16 778C 78D5 874C 9312 9198
+9846 9AC1 791A
+58F3 63E2 6BBC 7FD7
+53EF 5777 5CA2 70A3 6E07 5D51 6564 6E34 5DB1 790D
+514B 523B 524B 52C0 52CA 5BA2 606A 5A14 5C05 8BFE
+5801 6C2A 9A92 7F02 6119 6E98 951E 78A6 7DD9 8250
+8AB2 790A 9A0D
+5D59
+808E 80AF 80BB 57A6 6073 5543 8C64 9F88 58BE 9339
+61C7 9F66
+63AF 88C9 8903
+52A5 962C 542D 5751 5994 6333 7841 727C 785C 94FF
+787B 647C 8A99 92B5 935E 93D7
+7A7A 5025 57EA 5D06 60BE 6DB3 787F 7B9C 9313 9D7C
+5B54 6050
+63A7 979A
+8EBB
+62A0 82A4 770D 527E 5F44 6473 7798
+53E3 52B6
+53E9 6263 6542 51A6 5BBC 5BC7 91E6 7A9B 7B58 6EF1
+8532 853B 7789 7C06 9DC7
+625D 5233 77FB 90C0 67AF 80D0 54ED 684D 5800 5D2B
+5710 8DCD 7A9F 9AB7 9BAC
+72DC 82E6
+5E93 4FC8 7ED4 5EAB 79D9 8DB6 7105 88B4 55BE 7D5D
+88E4 7614 9177 5EE4 8932 56B3
+5938 59F1 8A87
+4F89 54B5 57AE 9299
+630E 80EF 8DE8 9ABB
+823F
+84AF 64D3
+5DDC 51F7 5757 5FEB 4FA9 90D0 54D9 72EF 810D 584A
+7B77 9C99 5108 58A4 9136 5672 5EE5 736A 81BE 65DD
+7CE9 9C60
+5726
+5BBD 5BDB 5BEC 81D7 9ACB 9AD6
+6B35 6B3E 6B40 7ABE
+7ABD 9467
+5321 52BB 8BD3 90BC 5329 54D0 6047 6D2D 6846 7844
+7B50 8A86 8EED
+5FF9 6282 72C2 8BF3 8ED6 8A91 9D5F
+593C 5123 61ED
+535D 909D 5739 7EA9 51B5 65F7 5CB2 6CC1 77FF 663F
+8D36 7716 7736 7D56 8CBA 8EE6 9271 913A 58D9 9ECB
+61EC 66E0 720C 8E80 77CC 7926 7A6C 7E8A 945B
+783F 7D4B 7B7A
+4E8F 5232 5CBF 609D 76D4 7AA5 8067 7ABA 8667 985D
+95DA 5DCB 862C
+594E 6646 9035 9108 9697 9804 9997 55B9 63C6 8475
+9A99 6223 668C 694F 6951 9B41 777D 8770 982F 6AC6
+85C8 9368 9377 9A24 5914 8637 5DD9 8641 72AA 8EA8
+7143 8DEC 980D 8E5E
+5C2F 532E 6B33 559F 5ABF 6126 6127 6E83 8143 8489
+9988 7786 5633 5B07 6192 6F70 7BD1 8069 806D 8562
+6A3B 8B09 993D 7C23 8075 7C44 9400 994B 944E
+5764 6606 5803 5A6B 5D10 5D11 665C 7311 83CE 88C8
+711C 7428 9AE0 88E9 8C87 951F 9AE1 9E4D 872B 890C
+9AE8 747B 918C 9315 9CB2 9A09 9BE4 9D7E 9DA4
+6083 6346 9603 58F8 68B1 7975 7871 7A07 88CD 58FC
+7A1B 7D91 95AB 95B8 9F6B
+56F0 6D83 774F
+5812 5C21 6F49 71B4
+6269 62E1 62EC 6304 6870 7B48 843F 8440 86DE 9614
+5ED3 9822 9AFA 64F4 6FF6 95CA 979F 61D6 9729 97B9
+9B20
+97D5
+FDD0-004C
+5783 62C9 67C6 7FCB 83C8 641A 908B
+65EF 524C 782C 63E6 78D6
+5587 85DE
+814A 63E7 694B 760C 8721 874B 8FA2 8FA3 8772 81C8
+650B 7209 81D8 9B0E 74CE 9574 9BFB 881F 945E
+5566 6E82 97A1 56B9
+6765 4F86 4FEB 5008 5D03 5F95 6D9E 83B1 90F2 5A61
+5D0D 5EB2 5FA0 68BE 6DF6 730D 840A 9028 68F6 741C
+7B59 94FC 7B82 9338 9A0B 9BE0 9D86 9EB3
+553B 8D49 7750 775E 8D56 8CDA 6FD1 8CF4 983C 9842
+765E 9D63 7028 702C 7C41 85FE 6AF4 7669 8970 7C5F
+5170 5C9A 62E6 680F 5A6A 60CF 5D50 847B 9611 84DD
+8C30 53B1 6F9C 8934 5116 6593 7BEE 61E2 71E3 71F7
+85CD 8955 9567 95CC 74BC 8964 8B4B 5E71 6514 703E
+7046 7C43 7E7F 862D 6595 6B04 7937 8974 56D2 7061
+7C63 6B17 8B95 8E9D 9484 97CA
+89C8 6D68 63FD 7F06 6984 6F24 7F71 9182 58C8 61D2
+89A7 64E5 5B3E 61F6 5B44 89BD 5B4F 652C 7060 56D5
+6B16 9872 7E9C
+70C2 6EE5 71D7 5682 6FEB 7201 721B 74D3 7224 946D
+7CF7
+7226 897D
+5577
+52C6 90CE 90DE 6B34 72FC 9606 5ACF 5ECA 658F 6879
+7405 84C8 6994 746F 7860 7A02 9512 7B64 8246 870B
+8782 8EB4 92C3 93AF 99FA
+6717 6716 70FA 5871 84E2 6A03 8A8F 6724
+57CC 5D00 6D6A 83A8 8497 95AC
+5525 90D2
+635E 6488
+52B3 52B4 7262 7A82 54F0 5520 5D02 6D76 52DE 75E8
+94F9 50D7 562E 5D97 61A5 7646 78F1 7C29 87E7 91AA
+9412 985F 9ADD
+8002 8001 4F6C 54BE 59E5 6045 72EB 8356 6833 94D1
+92A0 6F66 6A51 8F51
+6D9D 70D9 8022 916A 5AEA 61A6 6F87 8EBC 6A6F 802E
+8EC2
+73EF 7853 7CA9 86EF 6725 9BB1
+808B
+4EC2 961E 4E50 53FB 5FC7 6250 6C3B 827B 738F 6CD0
+7AFB 7833 697D 97F7 6A02 7C15 9CD3 9C33
+4E86 9979 990E
+52D2
+96F7 5AD8 7F27 8502 757E 64C2 6A91 7E32 790C 956D
+6AD1 74C3 7FB8 7927 7E8D 7F4D 8632 881D 9433 8F60
+513D 58E8 9458 9741 8646 6B19 7E9D 9F3A
+53BD 8012 8BD4 5792 7D6B 8142 50AB 8A84 6A0F 78CA
+854C 78E5 857E 5121 58D8 7657 85DF 6AD0 7928 7045
+863D 8B84 9478 9E13
+6CEA 6D21 7C7B 6D99 6DDA 7D2F 9179 9287 981B 982A
+9311 6502 98A3 985E 7E87 8631 79B7
+5841 561E 9C69
+5D1A 5844 68F1 695E 7890 7A1C 8F18 8590
+51B7
+5030 580E 6123 7756 8E1C
+5215 675D 5398 5253 79BB 8372 9A8A 60A1 68A8 68A9
+68B8 7281 740D 7C9A 83DE 55B1 68C3 7282 9E42 527A
+6F13 775D 7B63 7F21 8243 84E0 870A 5AE0 5B77 6A06
+7483 76E0 8C8D 7CCE 853E 8935 92EB 9CA1 9ECE 7BF1
+7E2D 7F79 9305 87CD 8B27 91A8 569F 85DC 908C 91D0
+96E2 6584 74C8 93EB 9BEC 9D79 9EE7 56C4 6521 7055
+863A 8821 9A39 5B4B 5EF2 5299 9457 7A72 7C6C 7E9A
+9A6A 9C7A 9E1D
+793C 91CC 4FDA 5CDB 5CE2 5A0C 5CF2 6D6C 9026 7406
+9502 7CB4 88CF 8C4A 92F0 9CA4 5163 6FA7 79AE 9BC9
+87F8 91B4 9CE2 9090 9C67 6B1A
+529B 5386 5389 5C74 7ACB 540F 6738 4E3D 5229 52B1
+5456 575C 6CA5 82C8 4F8B 5CA6 623E 67A5 6CB4 75A0
+82D9 96B6 4FD0 4FEA 680E 75AC 7805 8318 8354 8D72
+8F79 90E6 550E 60A7 6817 681B 6D96 7301 73D5 783A
+783E 79DD 8385 8389 5533 5A6F 7B20 7C92 7C9D 8137
+86B8 86CE 5088 51D3 53A4 68D9 75E2 86E0 8A48 8DDE
+96F3 53AF 585B 6144 642E 6EA7 849A 849E 925D 9CE8
+53B2 66A6 6B74 746E 7D9F 8727 8777 52F5 66C6 6B77
+7BE5 96B7 9D17 5DC1 6FFF 7658 78FF 96B8 9B01 512E
+66DE 6AD4 7204 72A1 79B2 8807 9398 56A6 58E2 650A
+6ADF 701D 74C5 77CB 792A 85F6 9E97 6AEA 720F 74D1
+76AA 76ED 792B 7CF2 8823 5137 7667 7930 882B 9148
+9DC5 9E9C 56C7 6526 89FB 8E92 8F62 6B10
+8B88 8F63 652D 74E5 9742 9C71 9C73 974B
+674E 6803 54E9 5A33 72F8 88E1 6AAA 9BCF
+4FE9 5006
+5941 8FDE 5E18 601C 6D9F 83B2 9023 68BF 8054 88E2
+4EB7 55F9 5EC9 6169 6E93 6F23 84EE 5332 5969 69E4
+7191 899D 5286 5333 5652 5AFE 6190 78CF 806B 8933
+9CA2 6FC2 6FD3 7E3A 7FF4 806E 8595 878A 6AE3 71EB
+806F 81C1 8B30 8E65 938C 9570 7C3E 880A 9B11 942E
+9C31 7C62 7C68
+655B 740F 8138 88E3 6459 7489 8539 5B1A 6582 81C9
+913B 895D 7FB7 861E
+7EC3 70BC 604B 6D70 6B93 50C6 581C 5AA1 6E45 8430
+94FE 695D 7149 7453 6F4B 7DF4 6FB0 932C 6BAE 934A
+93C8 7032 861D 9C0A 6200 7E9E
+8068
+826F 4FCD 51C9 6881 6DBC 690B 8F8C 7CAE 7CB1 589A
+7DA1 8E09 6A11 8F2C 7CE7
+4E21 4E24 5169 5521 5562 639A 813C 88F2 7DC9 873D
+9B49 9B4E
+4EAE 54F4 60A2 8C05 8F86 55A8 667E 6E78 91CF 8F0C
+8AD2 8F1B 9344
+7177 7C17
+64A9 8E7D
+8FBD 7597 804A 50DA 5BE5 5D7A 6180 6F3B 818B 5639
+5AFD 5BEE 5D9A 5D9B 6579 7360 7F2D 907C 66B8 71CE
+7499 81AB 7642 9E69 5C6A 5EEB 7C1D 7E5A 87DF 8C42
+8CFF 8E58 9410 9ACE 85D4 98C9 9DEF
+53FE 948C 91D5 911D 84FC 61AD 77AD 66E2 957D 7212
+5C25 5C26 7093 6599 5C1E 5ED6 6482 7AB7 9563
+720E
+5217 52A3 51BD 52BD 59F4 6312 6D0C 8322 8FFE 54F7
+57D2 57D3 6835 6D56 70C8 6369 730E 811F 86DA 88C2
+716D 7759 8057 8D94 5DE4 98B2 5120 9BA4 9D37 64F8
+7375 72A3 8E90 9B1B 9B23 9C72
+6BDF 54A7 6318 70EE 731F
+62CE
+53B8 90BB 6797 4E34 51A7 77DD 5549 5D0A 6DCB 667D
+7433 7CA6 75F3 7884 7B96 7CBC 9130 96A3 5D99 6F7E
+735C 9074 65B4 66BD 71D0 7498 8F9A 9716 77B5 78F7
+81E8 7E57 7FF7 9E90 8F54 58E3 7036 93FB 9CDE 9A4E
+9C57 9E9F
+83FB 4E83 51DB 51DC 649B 5EE9 5EEA 61CD 61D4 6F9F
+6A81 6AA9 765B 765D
+541D 6061 608B 8D41 711B 8CC3 50EF 853A 6A49 7510
+81A6 95B5 7584 85FA 8E78 8E8F 8E99 8EAA 8F65
+3007 5222 7075 56F9 577D 590C 59C8 5CBA 5F7E 6CE0
+72D1 82D3 6624 670E 67C3 73B2 74F4 51CC 768A 7831
+79E2 7ADB 94C3 9675 9E30 5A48 6395 68C2 6DE9 740C
+7B2D 7D37 7EEB 7F9A 7FCE 8046 8232 83F1 86C9 8851
+797E 8A45 8DC9 8EE8 88EC 9234 959D 96F6 9F84 7DBE
+8506 970A 99D6 6FAA 8576 9302 9B7F 9CAE 9D12 9E77
+71EF 971B 971D 9F62 9143 9BEA 5B41 8626 9F61 6AFA
+91BD 9748 6B1E 7227 9EA2 9F97
+963E 5CAD 888A 9886 9818 5DBA
+4EE4 53E6 5464 70A9
+4F36 84E4 9717 702E
+6E9C 7198 8E53
+5218 6CA0 7544 6D4F 6D41 7559 65C8 7409 7571 786B
+88D7 5AB9 5D67 65D2 84A5 84C5 905B 998F 9A9D 69B4
+7460 98D7 5289 746C 7624 78C2 954F 99E0 9E60 6A4A
+74A2 7581 9560 7645 87C9 99F5 56A0 61F0 700F 85F0
+938F 93A6 9E8D 93D0 98C0 9A2E 98C5 9C21 9DB9 9A51
+67F3 6801 73CB 687A 7EFA 950D 925A 98F9 7DB9 71AE
+7F76 92F6 6A6E 5B3C 7F80
+516D 7542 7FCF 586F 5EC7 6F91 78DF 9E68 9724 993E
+96E1 9402 98C2 9B38 9DDA
+685E
+56D6
+9F99 5C78 5499 6CF7 830F 663D 680A 73D1 80E7 772C
+783B 7ADC 7B3C 804B 9686 6E70 6EDD 5D90 6F0B 856F
+7643 7BED 9F8D 56A8 5DC3 5DC4 7027 7C3C 8622 93E7
+9733 66E8 6727 6AF3 7216 74CF 77D3 7931 7932 8971
+9F92 7C60 807E 882A 882C 8C45 8E98 9468 9747 9A61
+9E17
+9647 5784 5785 62E2 7BE2 5131 96B4 58DF 58E0 650F
+7AC9 9F93
+54E2 6335 6887 5FBF 8D1A
+69DE 7ABF
+779C
+5245 5A04 507B 5A41 6E87 848C 50C2 697C 5ED4 617A
+6F0A 851E 9071 6A13 71A1 8027 877C 802C 825B 87BB
+8B31 8EC1 9AC5 97BB 9ACF
+5D5D 6402 587F 5D81 645F 750A 7BD3 7C0D
+964B 5C5A 6F0F 7618 9542 763A 763B 93E4
+55BD 560D
+565C 64B8
+5362 5E90 82A6 5786 6CF8 7089 680C 80EA 8F73 9E2C
+7388 823B 9885 9C88 9B72 76E7 6ADA 56A7 58DA 5EEC
+650E 7018 7379 74B7 8606 66E5 6AE8 7210 74D0 81DA
+77D1 7C5A 7E91 7F4F 826B 8826 8F64 946A 9871 9AD7
+9C78 9E15 9EF8
+5364 864F 63B3 9E75 7875 9C81 865C 5877 6EF7 84FE
+6A10 9B6F 64C4 6A79 78E0 9565 5695 64FC 7002 6AD3
+6C0C 8263 93C0 826A 942A 9465
+5725 752A 9646 4F93 5774 5F54 5F55 5CCD 52CE 8D42
+8F82 9678 5A3D 6DD5 6DE5 6E0C 7849 83C9 902F 9E7F
+6902 742D 7984 797F 50C7 5279 52E0 76DD 7769 788C
+7A11 8CC2 8DEF 5876 5ED8 645D 6F09 7B93 7CB6 850D
+622E 6A1A 719D 8194 89EE 8DA2 8E1B 8F98 9181 6F5E
+7A4B 8557 9304 9332 9334 7490 7C0F 87B0 7C36 8E57
+8F46 9A04 9E6D 7C2C 93D5 9BE5 9D66 9D71 9E93 93F4
+9732 9A3C 7C59 8642 9DFA
+67A6 822E 9229 6F9B 6C07
+9A74 90D8 95FE 6988 95AD 99BF 6C00 81A2 85D8 9DDC
+9A62
+5415 5442 4FA3 4FB6 6314 635B 634B 65C5 68A0 7963
+7A06 94DD 5C61 7D7D 7F15 5C62 8182 891B 92C1 5C65
+8190 8938 5122 7A5E 7E37 7A6D
+5BFD 578F 5F8B 8651 7387 7EFF 5D42 6C2F 844E 6EE4
+7DA0 7DD1 616E 7BBB 819F 52F4 7E42 6FFE 6AD6 7208
+9462
+7112
+5A08 5B6A 5CE6 631B 683E 9E3E 8114 6EE6 92AE 9D49
+571D 5971 5B4C 5B7F 5DD2 6523 66EB 6B12 7053 7F89
+81E0 571E 7064 864A 947E 7674 7675 9E1E
+5375
+4E71 91E0 4E82
+7567 950A 7A24 5719 92DD 92E2 64FD
+62A1 6384
+4ED1 4F26 56F5 6CA6 7EB6 4F96 8F6E 502B 966F 5707
+5A68 5D18 5D19 60C0 6DEA 83D5 68C6 8140 7DB8 8726
+8E1A 8F2A 9300 9BE9
+57E8 7896 7A10 8023
+8BBA 6EA3 8AD6
+78EE
+7F57 5570 9831 56C9
+7F56 7321 8136 841D 903B 6924 8161 8999 9523 7BA9
+9AA1 9559 87BA 7F85 89B6 93CD 5138 89BC 9A3E 651E
+7380 863F 908F 6B0F 9A58 9E01 7C6E 947C 9960
+5246 502E 84CF 88F8 8EB6 7630 8803 81DD 66EA 7673
+6CFA 5CC8 6D1B 7EDC 8366 9A86 6D1C 73DE 7866 7B3F
+7D61 843D 55E0 645E 6F2F 7296 927B 96D2 99F1 9BA5
+9D3C 9D45 6FFC 7E99
+FDD0-004D
+5463
+5988 5B56 5ABD 5B24 5B37
+9EBB 75F2 8534 7298 87C7
+9A6C 739B 7801 8682 99AC 6EA4 746A 78BC 879E 93B7
+9C22 9DCC
+72B8 6769 7943 9581 9A82 551B 508C 7341 7770 561C
+69AA 79A1 7F75 99E1 7923 9B15
+4E87 5417 55CE 9064 561B 5AF2 87C6
+57CB 85B6 973E
+4E70 836C 8CB7 562A 8552 9DF6
+52A2 8FC8 4F45 58F2 9EA6 5356 8109 8108 9EA5 8847
+52F1 8CE3 9081 9721 9722
+5ADA 989F
+59CF 6097 86EE 50C8 8C29 6172 9992 6A20 7792 779E
+9794 8B3E 9945 9CD7 9862 9B17 9B18 9C3B 883B
5C58 6E80 774C 6EE1 6EFF 87A8 8954 87CE 93CB 77D5
-66FC 50C8 8C29 9124 5881 5ADA 5E54 6162 6F2B 734C
-7F26 8504 8513 71B3 6FAB 6FB7 9558 7E35 87C3 8B3E
-93DD 8630 7264 9099 5402 5FD9 6C52 8292 5C28 6757
-6767 76F2 5396 607E 7B00 832B 54E4 5A0F 6D5D 72F5
-727B 786D 91EF 94D3 75DD 86D6 92E9 99F9 8609 83BD
-83BE 833B 58FE 6F2D 87D2 880E 5301 732B 8C93 6BDB
-77DB 6BDC 6BDD 6786 7266 8305 65C4 6E35 8EDE 9155
-5825 86D1 951A 7DE2 9AE6 8765 9AF3 9328 87CA 9D9C
-5187 536F 5918 623C 5CC1 6CD6 8306 6634 94C6 7B37
-84E9 925A 5183 7683 82BC 5190 8302 5192 770A 8D38
-8004 88A4 8992 5AA2 5E3D 8CBF 911A 6117 6693 6959
-6BF7 7441 7780 8C8C 912E 8750 61CB 551C 5E85 5692
-6FF9 56B0 4E48 7666 5445 6C92 6CA1 679A 73AB 82FA
-6802 7709 8104 8393 6885 73FB 8122 90FF 5833 5A92
-5D4B 6E44 6E48 7338 7742 847F 6963 6973 7164 7442
-7996 815C 587A 69D1 9176 9545 9E5B 92C2 9709 5FBE
-9387 77C0 6517 862A 9DA5 651F 9EF4 6BCE 6BCF 51C2
-7F8E 6334 6D7C 5A84 5D44 6E3C 5ABA 9541 5B0D 71D8
-8EBE 9382 9EE3 59B9 62BA 6CAC 6627 7959 8882 771B
-5A9A 5BD0 75D7 8DCA 9B3D 715D 7778 97CE 9B45 7BC3
-875E 569C 691A 95E8 626A 73A3 9494 9580 9585 636B
-83DB 748A 7A48 9346 864B 95F7 7116 60B6 66AA 71DC
-61D1 61E3 4EEC 5011 63B9 64DD 6C13 753F 867B 51A1
-5EAC 7F5E 8394 840C 8420 5922 6E95 76DF 96FA 750D
-511A 6A57 77A2 8544 8771 9133 9138 5E6A 61DE 6FDB
-7374 66DA 6726 6AAC 6C0B 77C7 791E 9BCD 8268 9E72
-77D2 9740 995B 986D 9E0F 52D0 731B 74FE 8499 9530
-824B 8722 9333 61F5 8813 9BED 9F06 5B5F 68A6 5923
-61DC 9725 973F 8E0E 54AA 7787 519E 5F25 7962 8FF7
-88AE 7315 8C1C 84BE 8A78 8B0E 919A 5F4C 64DF 7CDC
-7E3B 9E8A 9E8B 79B0 9761 737C 9E9B 7222 6202 6520
-74D5 863C 957E 91BE 91BF 9E0D 91C4 7C73 7F8B 8288
-4F8E 6CB5 5F2D 6D23 6549 772B 7C8E 8112 772F 6E33
-845E 8746 851D 92A4 6FD4 7030 5B4A 7056 5196 7CF8
-6C68 6C95 5B93 6CCC 89C5 5CDA 7955 5BBB 79D8 5BC6
-6DE7 8993 8994 5E42 8C27 5853 5E4E 899B 5627 6993
-6EF5 6F1E 7190 8524 871C 9F0F 51AA 6A12 5E66 6FD7
-85CC 8B10 6AC1 7C1A 7F83 5B80 8287 7720 5A42 7EF5
-5A94 68C9 7DBF 7DDC 81F1 8752 5B35 6AB0 6ACB 77C8
-77CA 77CF 4E0F 6C45 514D 6C94 9EFE 4FDB 52C9 7704
-5A29 506D 5195 52D4 5595 6110 6E4E 7F05 8442 817C
-7DEC 9BB8 9763 9762 7CC6 9EAA 9EAB 9EBA 9EB5 55B5
-82D7 5A8C 63CF 7784 9E4B 5AF9 9D93 9C59 676A 7707
-79D2 6DFC 6E3A 7F08 7BCE 7DF2 85D0 9088 5999 5E99
-7385 7AD7 5EBF 5EDF 4E5C 5400 54A9 54F6 5B6D 706D
-8995 6423 6EC5 8511 858E 9D13 5E6D 61F1 700E 7BFE
-6AD7 881B 884A 9456 9C74 74F1 6C11 578A 59C4 5CB7
-5FDE 600B 65FB 65FC 739F 82E0 73C9 76FF 51A7 7F60
-5D0F 636A 7418 741D 7F17 668B 7449 75FB 7888 9231
-7DCD 7DE1 8CEF 9309 9D16 9372 76BF 51BA 5221 95F5
-62BF 6CEF 52C4 6543 95FD 60AF 654F 7B22 7B3D 6E63
-9594 610D 656F 9EFD 95A9 50F6 615C 61AB 6F63 7C22
-9CD8 8820 9C35 540D 660E 9E23 6D3A 7700 8317 51A5
-6719 7733 94ED 910D 5AC7 6E9F 733D 84C2 669D 69A0
-9298 9CF4 7791 879F 89AD 4F72 59F3 51D5 614F 9169
-547D 63B5 8A7A 8C2C 7F2A 7E46 8B2C 6478 56A4 5C1B
-8C1F 5AEB 998D 6479 6A21 819C 9EBC 9EBD 6469 9B79
-6A45 78E8 7CE2 8B28 8B29 64F5 9943 56A9 8611 8B55
-9ACD 9B54 5298 995D 62B9 61E1 9EBF 672B 52B0 573D
-59BA 5E13 603D 6B7E 6B7F 6B81 6CAB 8309 964C 5E1E
-6629 67BA 768C 771C 773F 781E 79E3 8388 83AB 773D
-7C96 7D48 88B9 86E8 8C83 55FC 587B 5BDE 6F20 84E6
-8C8A 9286 977A 58A8 5AFC 66AF 763C 7790 7799 9546
-9B69 9ED9 7E38 9ED8 8C98 85E6 87D4 93CC 7205 9A40
-7933 7E86 8031 4E6E 54DE 725F 4F94 52BA 6048 6D20
-6859 7738 8C0B 927E 8B00 77B4 936A 9D3E 9EB0 87F1
-67D0 6BCD 6BEA 734F 58B2 6C01 4EA9 7261 59C6 62C7
-5CD4 7273 7546 7552 80DF 5A12 755D 755E 782A 756E
-9267 8E07 6728 4EEB 76EE 51E9 6C90 72C7 5776 7091
-7267 82DC 6BE3 83AF 869E 94BC 52DF 843A 96EE 5893
-5E55 5E59 6154 6958 7766 926C 6155 66AE 6A22 8252
-9702 7A46 97AA 65C0 4E06 6927 62CF 62FF 6310 8ABD
-954E 93BF 4E78 54EA 96EB 5185 90A3 5436 59A0 7EB3
-80AD 5A1C 8872 94A0 7D0D 88A6 637A 7B1D 8C7D 8EDC
-8C80 9209 55F1 84B3 9779 9B76 8149 718B 6468 5B7B
+66FC 9124 5881 5E54 6162 6471 6F2B 734C 7F26 8504
+8513 69FE 71B3 6FB7 9558 7E35 93DD
+8630
+7264
+9099 5402 5FD9 6C52 8292 5C28 6757 6767 6C13 76F2
+607E 7B00 832B 54E4 5A0F 5EAC 6D5D 72F5 727B 786D
+91EF 94D3 75DD 86D6 92E9 99F9
+83BD 83BE 7865 833B 58FE 6F2D 87D2 880E
+732B 8C93
+6BDB 77DB 6786 7266 8305 8306 65C4 7F5E 515E 6E35
+8EDE 9155 5825 951A 5AF9 9AE6 6C02 729B 8765 9AF3
+9328 87CA 9D9C
+5187 536F 5918 4E6E 623C 5CC1 6CD6 6634 94C6 7B37
+84E9
+5183 7683 82BC 5190 8302 5192 67D5 770A 8D38 8004
+88A4 8992 5AA2 5E3D 843A 8CBF 911A 6117 6693 6959
+6BF7 7441 7780 8C8C 912E 8750 61CB
+4E48 9EBC 5692 6FF9 569C 7666
+5445 5746 6C92 6CA1 679A 73AB 82FA 6802 7709 5A12
+8104 8393 6885 73FB 8122 90FF 5833 5A92 5D4B 6E44
+6E48 7338 7742 847F 6963 6973 7164 7442 7996 587A
+69D1 9176 9545 9E5B 92C2 9709 7A48 5FBE 9387 77C0
+6517 862A 9DA5 9EF4
+6BCE 6BCF 51C2 7F8E 6334 6D7C 5A84 5D44 6E3C 5ABA
+815C 9541 5B0D 71D8 9382 9EE3
+59B9 62BA 6CAC 65C0 6627 7959 8882 771B 5A9A 5BD0
+75D7 8DCA 9B3D 715D 7778 97CE 9B45 7BC3 875E
+8EBE
+95E8 626A 73A7 9494 9580 9585 636B 83DB 748A 9346
+4EB9 864B
+95F7 7116 60B6 66AA 71DC 61D1 61E3
+4EEC 5011 691A
+753F 867B 51A1 8394 840C 8420 76DF 8499 750D 511A
+6A57 77A2 8544 8771 9133 9138 5E6A 61DE 6FDB 66DA
+6726 6AAC 6C0B 77C7 791E 9BCD 9E72 8268 8609 77D2
+973F 9740 995B 986D 9F06 9E0F
+52D0 731B 74FE 9530 824B 8722 61DC 7374 9333 61F5
+8813 9BED
+5B5F 68A6 5922 6E95 5923 9725
+63B9 64DD
+54AA 772F 7787
+519E 5F25 7F59 7962 8FF7 7315 8C1C 84BE 8A78 8B0E
+919A 5F4C 64DF 7CDC 7E3B 9E8A 9E8B 79B0 9761 7030
+737C 9E9B 957E 6202 6520 74D5 863C 7222 91BE 91BF
+9E0D 91C4
+7C73 8288 4F8E 6CB5 7F8B 5F2D 6D23 6549 772B 8112
+6E33 845E 851D 92A4 6FD4 5B4A 7056
+5196 7CF8 6C68 6C95 5B93 6CCC 89C5 5CDA 7955 5BBB
+79D8 5BC6 6DE7 6DFF 8993 8994 5E42 8C27 5853 5E4E
+899B 5627 6993 6EF5 6F1E 7190 8524 871C 9F0F 51AA
+6A12 5E66 6FD7 85CC 8B10 6AC1 7C1A 7F83
+5B80 8287 7720 5A42 7EF5 5A94 68C9 7DBF 7DDC 81F1
+8752 5B35 6AB0 6ACB 77C8 77CA 77CF
+4E0F 6C45 514D 6C94 9EFE 52C9 7704 5A29 506D 5195
+52D4 6E11 5595 6110 6E4E 7F05 8442 7D7B 817C 9EFD
+7DEC 9EAB 6FA0 9BB8
+9763 9762 7CC6 9EAA 9EBA 9EB5
+55B5
+82D7 5A8C 63CF 7784 9E4B 7DE2 9D93 9C59
+676A 7707 79D2 6DFC 6E3A 7F08 7BCE 7DF2 85D0 9088
+5999 5E99 7385 7AD7 5EBF 5EDF
+4E5C 5400 54A9 54F6 5B6D
+706D 70D5 8995 6423 6EC5 8511 858E 9D13 5E6D 61F1
+7BFE 6AD7 881B 884A 9456 9C74
+6C11 59C4 5CB7 5FDE 600B 65FB 65FC 82E0 73C9 76FF
+7807 7F60 5D0F 636A 7418 7F17 656F 7449 75FB 7888
+9231 7DCD 7DE1 9309 9D16 9372
+76BF 51BA 5221 95F5 62BF 6CEF 52C4 6543 95FD 60AF
+654F 7B22 60FD 6E63 9594 610D 668B 95A9 50F6 615C
+61AB 6F63 7C22 9CD8 8820 9C35
+578A 7B3D
+540D 660E 9E23 6D3A 7700 8317 51A5 6719 7733 94ED
+910D 5AC7 6E9F 733D 84C2 669D 69A0 9298 9CF4 7791
+879F 89AD
+4F72 59F3 51D5 614F 9169
+547D 6927 8A7A
+63B5
+8C2C 8B2C
+6478
+8C1F 5AEB 998D 6479 6A21 819C 9EBD 6469 6A45 78E8
+7CE2 8B28 56A4 64F5 9943 56A9 56B0 8611 9ACD 9B54
+5298 995D
+62B9 61E1
+672B 52B0 573D 59BA 5E13 6B7E 6B7F 6B81 6CAB 8309
+964C 5E1E 6629 67BA 551C 768C 771C 773F 781E 79E3
+8388 83AB 773D 7C96 7D48 6E50 86E8 8C83 55FC 587B
+5BDE 6F20 734F 84E6 8C8A 66AF 9286 977A 5AFC 9ED9
+763C 7790 7799 9546 9B69 58A8 9ED8 700E 8B29 8C98
+85E6 87D4 93CC 7205 9A40 7933 7E86 8031
+5E85 603D 5C1B 9B79 9EBF
+54DE
+725F 4F94 52BA 6048 6D20 7738 8C0B 86D1 7F2A 8E0E
+927E 8B00 77B4 7E46 936A 9D3E 9EB0
+67D0
+6BEA 6C01 58B2
+6BCD 4EA9 7261 5776 59C6 5CD4 7273 7546 7552 80DF
+755D 755E 782A 756E 9267 8E07
+6728 4EEB 6730 76EE 6C90 72C7 7091 7267 82DC 6BE3
+83AF 869E 94BC 52DF 96EE 5893 5E55 5E59 6154 6958
+7766 926C 6155 66AE 8252 9702 7A46 7E38 97AA
+51E9 62C7
+FDD0-004E
+55EF
+62CF 62FF 6310 55F1 954E 93BF
+4E78 54EA 96EB
+90A3 59A0 7EB3 80AD 5A1C 8872 94A0 7D0D 88A6 637A
+7B1D 8C7D 8EDC 8C80 9209 84B3 9779 9B76
+8149 718B 6468 5B7B
4E43 5976 827F 6C16 7593 59B3 5EFC 8FFA 5037 91E2
-5B2D 5948 67F0 8010 8418 6E3F 9F10 8926 879A 933C
-56E1 7537 62A9 678F 67AC 4FBD 5357 67DF 5A1A 7558
-83AE 96BE 5583 9056 6694 6960 7175 8AF5 96E3 8D67
-63C7 6E73 8433 8169 877B 6201 5A7B 56D4 4E6A 56A2
-56CA 8830 9B1E 9995 6B1C 9962 64C3 66E9 652E 7062
-513E 9F49 5B6C 6A82 5476 6013 6320 5CF1 7847 94D9
-7331 86F2 8A49 7899 6493 5DA9 7376 87EF 5912 8B4A
-9403 5DCE 737F 57B4 607C 60A9 8111 5318 8133 5816
-60F1 5AD0 7459 8166 78AF 95F9 5A65 6DD6 9599 9B27
-81D1 7592 8BB7 5450 6290 7732 8A25 5462 5A1E 9981
-8147 9912 9BBE 9BD8 5167 6C1D 713E 5AE9 80FD 83BB
-55EF 922A 92B0 5571 59AE 5C3C 576D 6029 6CE5 7C7E
-502A 5C54 79DC 90F3 94CC 57FF 5A57 6DE3 730A 86AD
-68FF 8DDC 922E 873A 89EC 8C8E 8F17 9713 9CB5 9BE2
-9E91 9F6F 81E1 4F31 4F32 4F60 62DF 62B3 72D4 82E8
-67C5 639C 65CE 6672 5B74 9268 999C 5117 511E 96AC
-64EC 85BF 6AB7 9448 5C70 6C3C 8FE1 6635 80D2 9006
-533F 75C6 7724 5804 60C4 5ADF 6135 6EBA 7768 817B
-66B1 7E0C 81A9 5B3A 62C8 5E74 79CA 54D6 79E5 9C87
-9B8E 9CB6 9D47 9ECF 9BF0 6D8A 637B 6DF0 8F87 649A
-64B5 78BE 8F26 7C10 6506 8E68 8E8E 5344 5EFF 5FF5
-59E9 57DD 824C 5A18 5B22 5B43 917F 91B8 91C0 9E1F
-8311 8312 8885 9CE5 5ACB 88CA 8526 5B1D 892D 5B32
-5C3F 8132 634F 63D1 8080 5E07 573C 82F6 67BF 9667
-6D85 8042 81EC 556E 60D7 83CD 9689 55A6 655C 55EB
-5D72 9269 8E02 565B 6470 69F7 8E17 8E19 954A 954D
-5DAD 7BDE 81F2 931C 989E 8E51 5699 8076 93B3 95D1
-5B7C 5B7D 6AF1 7C4B 8616 56C1 9F67 5DD5 7CF1 7CF5
-8825 56D3 8B98 8EA1 9477 9873 9480 810C 56DC 60A8
-62F0 5B81 549B 62E7 72DE 67E0 804D 5BCD 5BD5 5BDC
-5BE7 511C 51DD 5680 5B23 64F0 7370 85B4 6AB8 8079
-944F 9B21 9E0B 6A63 77C3 4F5E 4FAB 6CDE 752F 5BD7
-6F9D 6FD8 599E 725B 725C 6C7C 5FF8 626D 6C91 72C3
-7EBD 677B 7084 94AE 7D10 83A5 9215 9775 519C 4FAC
-54DD 6D53 8113 79FE 8FB2 5102 8FB3 5665 61B9 6FC3
-857D 79AF 81BF 7A60 895B 91B2 6B01 7E77 5F04 630A
-6335 7651 9F48 7FBA 8B68 5542 69C8 8028 7373 6ABD
-9392 941E 8B73 5974 4F16 5B65 9A7D 7B2F 99D1 4F2E
-52AA 5F29 782E 80EC 6012 5089 6419 5973 9495 7C79
-91F9 8842 6067 6712 8844 759F 8650 7627 597B 6E1C
-6696 7156 7157 992A 7878 9EC1 71F6 90CD 632A 689B
-50A9 643B 513A 6A60 8BFA 558F 63BF 903D 6426 9518
-6992 7A2C 8AFE 8E43 7CD1 9369 61E6 61E7 7CE5 7A64
-7CEF 685B 5662 54E6 7B7D 6BEE 591E 4E6F 97B0 8BB4
-6B27 6BB4 74EF 9E25 5878 6B50 6BC6 71B0 750C 8192
-9D0E 6AD9 85F2 8B33 93C2 9DD7 9F75 5418 5455 5076
-8162 5614 8026 8545 85D5 6004 6CA4 616A 6F1A 5991
-7685 8DB4 8225 556A 8469 6777 722C 8019 63B1 7436
-7B62 6F56 5E0A 5E15 6015 8899 62CD 4FF3 5F98 6392
-7305 68D1 724C 7B84 8F2B 7C30 72A4 54CC 6D3E 6E43
-848E 9383 78D7 7705 7568 6F58 6500 723F 67C8 76D8
-8DD8 5ABB 5E4B 84B0 642B 69C3 76E4 78D0 7E0F 8E52
-700A 87E0 8E63 939C 97B6 5762 51B8 5224 6C9C 6CEE
-708D 53DB 7249 76FC 7554 88A2 8A4A 6EBF 9816 92EC
-9D65 897B 947B 4E53 6C78 6C97 80A8 80EE 96F1 6EC2
-8196 9736 5390 5E9E 9004 65C1 823D 5ACE 7BE3 8783
-9CD1 9F8E 9F90 9C1F 882D 55D9 802A 89AB 9AC8 7090
-80D6 629B 62CB 812C 5228 5486 5789 5E96 72CD 70AE
-70B0 722E 888D 530F 86AB 8EF3 9784 891C 9E85 8DD1
-5945 6CE1 75B1 76B0 7832 8422 9EAD 791F 792E 5478
-600C 80A7 67F8 80DA 8843 9185 962B 966A 966B 57F9
-6BF0 8D54 952B 88F4 88F5 8CE0 9307 4FD6 4F02 6C9B
-4F69 5E14 59F5 65BE 65C6 6D7F 73EE 914D 7B29 84DC
-8F94 99B7 5D8F 9708 8F61 55B7 5674 6FC6 6B55 74EB
-76C6 6E53 8450 5460 7FC9 7FF8 55AF 5309 6026 62A8
-6CD9 6072 80D3 7830 6888 70F9 7851 8EEF 959B 6F30
-562D 99CD 78DE 8283 670B 6337 7AFC 5017 8391 580B
-5F38 5F6D 68DA 6916 50B0 585C 5873 6412 6F28 787C
-7A1D 84EC 9E4F 69F0 6A25 71A2 6189 6F8E 8F23 7BF7
-81A8 930B 97F8 9AFC 87DA 87DB 9B05 7E84 97FC 9D6C
-9A2F 9B14 945D 6367 6DCE 768F 527B 63BD 692A 78B0
-8E2B 6D4C 5DFC 95CF 4E76 55B8 4E15 4F13 4F3E 6279
-7EB0 90B3 576F 6036 62AB 62B7 708B 72C9 72D3 7812
-6082 79DB 79E0 7D15 94CD 65C7 7FCD 801A 8C7E 91FD
-921A 9239 925F 9294 5288 78C7 99D3 9AEC 567C 9303
-930D 9B7E 61B5 7914 7915 95E2 9739 76AE 9630 8298
-5CAF 6787 6BDE 80B6 6BD7 6BD8 75B2 7B13 868D 90EB
-9674 5564 57E4 5D25 86BD 8C7C 6911 7137 7435 813E
-8157 698C 9C8F 7F74 818D 8731 96A6 9B6E 58C0 9B8D
-7BFA 87B7 8C94 7C32 7F86 9D67 6707 9F19 882F 5339
-5E80 4EF3 572E 82C9 8134 75DE 92A2 8AC0 9D04 64D7
-567D 7656 56AD 5C41 6DE0 6E12 63CA 5AB2 5AD3 7764
-7765 6F4E 50FB 6FBC 568A 7513 7588 8B6C 9DFF E862
-9E0A 7247 56E8 504F 5AA5 728F 7BC7 7FE9 9DA3 9A88
-80FC 8141 6944 6969 8CC6 8ADA 9ABF 8E41 99E2 9A08
-8991 8C1D 8CB5 8ADE 9A97 9B78 9A17 9A19 527D 5F6F
-6F02 7F25 98D8 78E6 65DA 7E39 7FF2 87B5 72A5 98C3
-98C4 9B52 74E2 85B8 95DD 6B8D 779F 7BFB 91A5 76AB
-9860 7968 50C4 52E1 560C 5AD6 5FB1 6153 6C15 6487
-6486 66BC 77A5 4E3F 82E4 9405 5AF3 59D8 62FC 7917
-7A66 99AA 9A5E 73AD 8D2B 8CA7 7415 5AD4 9891 983B
-5B2A 85B2 56AC 77C9 98A6 9870 54C1 6980 6729 725D
-6C56 5A09 8058 4E52 7539 4FDC 6D84 782F 8275 7AEE
-9829 5E73 8BC4 51ED 546F 576A 5CBC 82F9 90F1 5C4F
-5E21 67B0 6D34 73B6 8353 5A26 74F6 5C5B 5E32 6DDC
-840D 86B2 5840 5E48 7129 7501 7F3E 8060 84F1 86E2
-8A55 8EFF 9C86 51F4 617F 7BB3 8F27 6191 9B83 6A98
-7C08 860B 948B 5761 5CA5 6CFC 5A1D 91D9 9887 6E8C
-9166 6F51 91B1 93FA 5A46 5619 8522 9131 76A4 8B08
-6AC7 53F5 5C00 94B7 7B38 9255 99CA 5EF9 5CB6 8FEB
-6540 6622 6D26 73C0 54F1 70DE 7834 7836 7C95 5964
-84AA 9817 9B44 5256 9892 6294 6299 634A 638A 88D2
-7B81 5485 54E3 5A44 5837 7283 517A 54DB 4EC6 6534
-6535 6251 62AA 7087 5DEC 5DED 67E8 9660 75E1 94FA
-99C7 5657 64B2 92EA 64C8 9BC6 5724 530D 8386 83E9
-83D0 8461 84B1 84B2 50D5 917A 58A3 749E 6FEE 77A8
-7A59 9564 8D0C 7E80 93F7 6734 5703 57D4 6D66 70F3
-666E 5711 6EA5 669C 8C31 6F7D 6A38 6C06 8AE9 6A8F
-9568 8B5C 8E7C 9420 8216 8217 7011 66DD 4E03 8FC9
-6C8F 59BB 6053 67D2 501B 51C4 6816 6864 7F3C 90EA
-5A38 60BD 621A 637F 687C 6DD2 840B 671E 671F 68F2
-6B3A 7D2A 8904 50DB 5601 617D 69BF 69ED 6F06 7DC0
-617C 78CE 8AC6 8E26 8AFF 970B 8E4A 9B4C 93DA 9D88
+5B2D
+5948 67F0 800F 8010 8418 6E3F 9F10 8926 879A 933C
+56E1
+7537 678F 67AC 4FBD 5357 67DF 5A1A 7558 83AE 96BE
+5583 6694 6960 8AF5 96E3
+8D67 63C7 6E73 8433 8169 877B 6201
+5A7B
+9056
+56D4
+4E6A 56A2 8B68 56CA 8830 9B1E 9995 6B1C 9962
+64C3 66E9 652E 7062
+513E 9F49
+5B6C
+5476 6013 6320 5CF1 7847 94D9 7331 86F2 8A49 7899
+6493 5DA9 61B9 87EF 5912 8B4A 9403 5DCE
+57B4 607C 60A9 8111 5318 5816 60F1 5AD0 7459 8166
+78AF 7376 737F
+95F9 5A65 6DD6 9599 9B27 81D1
+8133
+7592 8BB7 6290 7732 8A25
+5436 5450 5462
+5A1E 9981 812E 8147 9912 9BBE 9BD8
+5167 5185 6C1D 9317
+6041 5AE9 5AF0
+80FD
+59AE
+5C3C 576D 6029 6CE5 7C7E 502A 5C54 79DC 90F3 94CC
+57FF 5A57 6DE3 730A 86AD 68FF 8DDC 815D 8063 873A
+89EC 8C8E 8F17 9713 9CB5 9BD3 9BE2 9E91 9F6F 81E1
+4F31 4F60 62DF 62B3 72D4 82E8 67C5 65CE 6672 5B74
+922E 999C 5117 511E 96AC 64EC 85BF 6AB7 807B
+5C70 6C3C 4F32 8FE1 6635 80D2 9006 533F 7724 5804
+60C4 5ADF 6135 6EBA 7768 817B 66B1 7E0C 8ABD 81A9
+5B3A
+88AE
+62C8 852B
+5E74 79CA 79E5 9C87 9B8E 9CB6 9ECF 9BF0
+6D8A 637B 6DF0 713E 8DC8 8F87 8F97 649A 64B5 78BE
+8F26 7C10 8E4D 6506 8E68 8E8E
+5344 5EFF 5FF5 59E9 5538 57DD 824C 9F30
+54D6 9D47
+5B22 5B43
+917F 91B8 91C0
+5A18
+9E1F 8311 8885 9CE5 5ACB 88CA 8526 6A22 5B1D 892D
+5B32
+5C3F 8132
+634F 63D1
+82F6
+5E07 573C 67BF 9667 6D85 75C6 8042 81EC 556E 60D7
+83CD 9689 55A6 655C 6E7C 55EB 5D72 8E02 565B 6470
+69F7 8E17 954A 954D 5DAD 7BDE 81F2 931C 989E 8E51
+5699 8076 93B3 95D1 5B7C 5B7D 6AF1 7C4B 8616 56C1
+9F67 7CF1 7CF5 8825 9448 56D3 8B98 8EA1 9477 9873
+9480
+5DD5
+56DC 60A8
+62F0
+810C
+5B81 549B 62E7 72DE 82E7 67E0 804D 5BCD 5BD5 752F
+5BD7 5BDC 5BE7 511C 51DD 5680 5B23 64F0 7370 85B4
+6AB8 8079 944F 9B21 9E0B
+6A63 77C3
+4F5E 4FAB 6CDE 6FD8
+6F9D
+599E
+725B 6C7C
+5FF8 626D 72C3 7EBD 7084 94AE 7D10 83A5 9215 9775
+8842
+725C
+519C 4FAC 54DD 6D53 8113 79FE 8FB2 5102 8FB3 5665
+6FC3 857D 6A82 71F6 79AF 81BF 7A60 895B 91B2 6B01
+7E77
+5F04 630A 7651 9F48
+7FBA
+5542
+69C8 8028 7373 6ABD 9392 941E 8B73
+5974 5B65 9A7D 7B2F 99D1
+4F2E 52AA 5F29 782E 80EC
+6012 5089 6419
+5973 9495 7C79 91F9
+6C91 6067 6712 8844
+597B
+6E1C 6696 7156 7157 992A
+759F 8650 7878 7627
+9EC1
+90CD 632A 689B 50A9 513A
+6A60
+8BFA 558F 63BF 903D 611E 6426 9518 643B 6992 7A2C
+8AFE 8E43 7CD1 61E6 61E7 7CE5 7A64 7CEF
+FDD0-004F
+5594 5662
+54E6
+7B7D
+8BB4 6CA4 6B27 6BB4 74EF 9E25 5878 6F1A 6B50 6BC6
+71B0 750C 9D0E 6AD9 8B33 93C2 9DD7
+8192 9F75
+5418 5455 5076 8162 5614 8026 8545 85D5
+6004 616A
+85F2
+FDD0-0050
+5991 7685 8DB4 8225 556A 8469
+6777 722C 63B1 7436 7B62 6F56
+5E0A 5E15 6015 8899
+62CD
+4FF3 5F98 6392 7305 68D1 724C 8F2B 7C30 7C32 72A4
+5EF9
+54CC 6D3E 6E43 848E 9383
+7705 7819 7568 6F58 6500
+723F 6D00 76D8 8DD8 5ABB 5E4B 84B0 642B 69C3 76E4
+78D0 7E0F 78FB 8E52 700A 87E0 8E63 939C 97B6
+51B8 5224 6C9C 62DA 6CEE 708D 53DB 7249 76FC 7554
+8041 88A2 8A4A 6EBF 9816 92EC 897B 947B
+9D65
+4E53 6C97 80EE 96F1 6EC2 8196 9736
+5390 5E9E 5396 9004 65C1 823D 5ACE 5FAC 8783 9CD1
+9F8E 9F90
+55D9 802A 89AB
+7090 80A8 80D6
+629B 62CB 812C
+5228 5486 5789 5E96 72CD 70B0 722E 888D 530F 8EF3
+9784 9E83 9E85
+8DD1
+5945 6CE1 70AE 75B1 76B0 7832 9EAD 791F 792E
+8422 891C
+5478 600C 80A7 67F8 80DA 8843 9185
+962B 966A 57F9 6BF0 8D54 952B 88F4 88F5 8CE0 99CD
+4FD6
+4F02 6C9B 4F69 5E14 59F5 65BE 65C6 6D7F 73EE 914D
+7B29 8F94 99B7 5D8F 9708 8F61
+84DC
+55B7 5674 6B55
+74EB 76C6 6E53 8450
+5460 7FF8
+55AF
+5309 6026 62A8 6072 7830 6888 70F9 7851 8EEF 959B
+6F30 562D 6F8E 78DE
+8283 670B 6337 7AFC 5017 8391 580B 5F38 5F6D 68DA
+6916 5873 787C 7A1D 84EC 9E4F 69F0 6A25 71A2 6189
+8F23 7BE3 81A8 930B 97F8 9AFC 87DA 87DB 9B05 7E84
+97FC 9D6C 9A2F 9B14 945D
+6367 6DCE 768F 527B
+63BD 692A 78B0 8E2B
+7BF7
+4E15 4F13 4F3E 6279 7EB0 90B3 576F 62AB 62B7 708B
+72C9 7812 6082 79DB 79E0 7D15 94CD 65C7 7FCD 801A
+8C7E 9208 921A 9239 925F 9294 5288 78C7 99D3 9AEC
+567C 930D 9B7E 9B8D 61B5 7914 7915 9739
+76AE 9630 8298 5CAF 6787 6BDE 72D3 80B6 6BD7 6BD8
+75B2 868D 90EB 9674 5564 57E4 5D25 86BD 86BE 8C7C
+7137 7435 813E 8157 9C8F 7F74 818D 8731 9B6E 58C0
+7BFA 87B7 8C94 9D67 7F86 6707 9F19
+5339 5E80 758B 4EF3 572E 82C9 8134 75DE 92A2 8AC0
+9D04 64D7 567D 7656 56AD
+5C41 6DE0 6E12 63CA 91FD 5AB2 5AD3 7765 8F9F 6F4E
+7A2B 50FB 6FBC 568A 7513 7588 8B6C 95E2 9DFF 9E0A
+698C
+56E8 504F 5AA5 728F 7BC7 7FE9 9342 9DA3
+9A88 80FC 8141 6944 6969 8CC6 8DF0 8ADA 9ABF 8E41
+99E2 9A08
+8991 8C1D 8CB5 8ADE
+7247 9A97 9A17 9A19
+9B78
+527D 6153 7F25 98D8 65DA 7FF2 87B5 72A5 98C3 98C4
+9B52
+5AD6 74E2 7AC2 85B8 95DD
+6B8D 5F6F 779F 7BFB 7E39 91A5 76AB 9860
+7968 50C4 52E1 560C 5FB1 6F02
+6C15 6487 6486 66BC 77A5
+4E3F 82E4 9405
+5AF3
+59D8 62FC 7917 7A66 99AA 9A5E
+73AD 8D2B 5A26 8CA7 7415 5AD4 9891 983B 5B2A 7371
+85B2 56AC 77C9 8819 98A6 9870
+54C1 6980
+725D 6C56 8058
+4E52 7539 4FDC 5A09 6D84 782F 8060 8275 7AEE 9829
+5E73 8BC4 51ED 546F 576A 6CD9 82F9 90F1 5C4F 5E21
+67B0 6D34 73B6 80D3 8353 74F6 5C5B 5E32 6DDC 840D
+86B2 5E48 7129 7501 7F3E 84F1 86E2 8A55 8EFF 9C86
+51F4 617F 7BB3 8F27 6191 9B83 6A98 7C08 860B
+5CBC 5840
+948B 5761 5CA5 6CCA 9887 6E8C 9255 9817 93FA
+5A46 5619 8522 9131 76A4 8B08 6AC7
+53F5 5C00 94B7 7B38 99CA
+5CB6 7087 8FEB 6540 6622 6D26 73C0 70DE 7834 7836
+91D9 7C95 84AA 9B44 9197
+6CFC 6872 6F51
+5256 5A1D
+6294 6299 634A 638A 88D2 7B81 9307
+5485 54E3 5A44 7283 5ECD
+4EC6 6534 6251 9660 5657 64B2 6F7D 64C8 9BC6
+530D 8386 812F 83E9 83D0 8461 84B1 84B2 50D5 917A
+58A3 735B 749E 6FEE 77A8 7A59 9564 8965 7E80 93F7
+5724 6734 5703 6D66 70F3 666E 6EA5 8C31 8AE9 6A38
+6C06 6A8F 9568 8B5C 8E7C 9420
+94FA 8216 8217 92EA 7011 66DD
+5DEC 5DED 99C7 8D0C
+FDD0-0051
+4E03 8FC9 6C8F 59BB 67D2 501B 51C4 6816 6864 90EA
+5A38 60BD 687C 6DD2 840B 6532 671F 68F2 6B3A 86E3
+50DB 5601 617D 69BF 6F06 7DC0 617C 69ED 8AC6 8AFF
+970B 8E4A 9B4C 93DA 9D88
4E93 7941 9F50 573B 5C90 5C93 5FEF 82AA 4E9D 5176
-5947 6589 6B67 7947 7948 80B5 75A7 7AD2 5258 658A
-65C2 8006 8110 8691 8694 869A 9880 57FC 5D0E 5E3A
-6391 6DC7 6E0F 7309 7566 8401 8DC2 8EDD 91EE 9A90
-9A91 5D5C 68CA 68CB 7426 742A 797A 86F4 612D 7881
-7895 8900 951C 980E 9B3E 9B3F 65D7 7CB8 7DA5 7DA6
-7DA8 7DD5 871D 871E 9F4A 7482 79A5 8572 8E11 87A7
-9321 9CAF 61E0 6FDD 85C4 6AB1 6AC0 7C31 81CD 9A0E
-9A0F 9CCD 8604 9BD5 9D78 9D80 9E92 7C4F 7E83 8269
-8810 9B10 9A39 9B55 9C2D 7382 9EA1 4E5E 9094 4F01
-5C7A 5C82 8291 542F 5447 675E 7398 76C0 5518 8C48
-8D77 5553 5554 555F 5A4D 7EEE 6675 68E8 88FF 7DAE
-7DBA 8AEC 7C2F 95D9 6C14 8BAB 6C17 6C54 8FC4 5F03
-6C7D 77F5 829E 546E 6CE3 7081 76F5 54A0 5951 780C
-8360 6814 6C23 8A16 552D 6B2B 5921 6112 68C4 6E46
-6E47 847A 789B 6456 66A3 7508 78B6 5650 6187 5668
-61A9 78DC 78E7 78E9 85BA 7918 7F4A 87FF 6390 845C
-62E4 8DD2 9160 9790 5736 51BE 5E22 6070 6D3D 6B8E
-7848 6118 9AC2 5343 4EDF 9621 5731 5732 5977 6266
-6C58 828A 8FC1 4F65 5C8D 6744 6C67 833E 6B26 7ACF
-81E4 948E 62EA 7275 7C81 60AD 8688 8C38 94C5 5A5C
-5B6F 727D 91FA 6394 8C26 9206 96C3 50C9 6106 7B7E
-925B 9A9E 9E50 6173 6434 647C 6481 7B9E 8AD0 9077
-8930 8B19 9845 6AB6 6510 6511 6ACF 7C3D 93F2 9D6E
-6513 9A2B 9431 9B1C 9B1D 7C64 97C6 4EF1 5C92 5FF4
-6272 62D1 4E79 524D 8368 94A4 6B6C 8654 94B1 94B3
-4E7E 5042 63AE 63F5 8EE1 5A8A 9210 9246 9257 5898
-69A9 7B9D 92AD 6F5C 7FAC 8541 6A6C 9322 9ED4 9386
-9EDA 9A1D 6FF3 9A1A 704A 7C56 9C2C 51F5 6D45 80B7
-6DFA 5D70 614A 9063 69CF 8181 8738 6F5B 8C34 7F31
-7E7E 8B74 9453 6B20 520B 4F23 82A1 4FD4 831C 5029
-6093 5811 5094 5D4C 68C8 6920 55DB 7698 84A8 5879
-6B49 7DAA 8533 5119 69E7 7BCF 8F24 7BDF 58CD 5B31
-7E34 545B 7F8C 6215 6217 65A8 67AA 73B1 7F97 7310
-7437 8DC4 55F4 690C 7347 8154 55C6 6EAC 8723 9516
-5D88 6227 69CD 7244 7472 7FAB 9535 7BEC 9306 8E4C
-956A 8E61 9397 93D8 93F9 5F37 5F3A 5899 5AF1 8537
-6A2F 6F12 8503 58BB 5B19 5EE7 8594 6AA3 7246 8B12
-8262 8620 62A2 7F9F 6436 7FA5 588F 6464 7E48 8941
-7E66 709D 5534 7197 7FBB 515B 74E9 6084 7857 90FB
-9117 5D6A 8DF7 9121 9125 5281 6572 8E0D 9539 589D
-78BB 981D 9AB9 58BD 5E67 6A47 71C6 7F32 78FD 936B
-936C 7E51 7E70 8DAC 8E7A 8E7B 9430 4E54 4FA8 834D
-835E 6865 785A 83EC 55AC 7744 50D1 69D7 8C2F 563A
-5AF6 6194 854E 9792 6A35 6A4B 729E 7644 77A7 7904
-85EE 8B59 8DAB 9408 97BD 9866 5DE7 91E5 6100 9ADC
-4FCF 8BEE 9657 5CED 5E29 7A8D 6BBC 7FD8 8A9A 9ADA
-50FA 64AC 64BD 9798 97D2 7AC5 7FF9 97A9 8E88 5207
-82C6 767F 8304 807A 4E14 5392 59BE 602F 5327 7A83
-503F 608F 6308 6D2F 60EC 6DC1 7B21 611C 86EA 6705
-7BA7 7DC1 9532 9B65 7BCB 8E25 7A55 85D2 9365 9BDC
-9411 7ACA 7C61 4EB2 4FB5 94A6 887E 9A8E 83F3 5A87
-5D5A 7D85 8A9B 5D94 89AA 9849 99F8 9BBC 5BF4 5E88
-82A9 82B9 57C1 73E1 77DD 79E6 8039 83E6 8699 6366
-7434 7439 79BD 9219 96C2 52E4 55EA 5AC0 6EB1 9772
-5659 64D2 65B3 9CF9 61C4 6A8E 6FBF 763D 8793 61C3
-8804 5745 6611 7B09 68AB 8D7A 8D7E 5BD1 9513 5BDD
-5BE2 92DF 87BC 5422 5423 628B 6C81 551A 83E3 63FF
-6B3D 6407 64B3 7019 85FD 9751 9752 6C22 8F7B 503E
-537F 90EC 570A 57E5 6C2B 6DF8 6E05 8EFD 50BE 5ECE
-873B 8F15 9CAD 9BD6 944B 591D 7520 5260 52CD 60C5
-6B91 7858 6674 E847 68FE 6C30 845D 6692 64CF 6A08
-64CE 6AA0 9EE5 82D8 9877 8BF7 5EBC 9803 6F00 8ACB
-E846 6ABE 8B26 5E86 51CA 6385 6BB8 7883 7B90 9758
-6176 78EC 512C 6FEA 7F44 6AE6 5B86 8DEB 928E 536D
-909B 7A77 E840 7A79 8315 684F 7B3B 7B47 8D79 60F8
-712A 712D 743C 823C 86E9 86EC 7162 718D 7758 778F
-7AAE 511D 618C 6A69 749A 85D1 74CA 7AC6 85ED 74D7
-4E18 4E20 90B1 5775 6058 79CB 79CC 5BC8 86AF 5A9D
-8429 6978 84F2 9E59 7BCD 7DE7 8775 7A50 8DA5 9CC5
-87D7 97A6 97A7 8612 E859 9C0C 9C0D 9D96 9C43 9F9D
-53F4 56DA 624F 72B0 738C 6739 6C53 808D 6C42 866C
-6CC5 866F 4FC5 89D3 8A04 8A05 914B 5512 6D57 7D0C
-838D 900E 9011 91DA 6882 6B8F 6BEC 7403 8D47 91FB
-5D37 5DEF 6E1E 6E6D 76B3 76DA 9052 716A 7D7F 86F7
-88D8 5DF0 89E9 8CD5 7486 8764 92B6 9194 9B82 9F3D
-9BC4 9D6D 8824 9C3D 641D 7CD7 533A 66F2 4F39 4F49
-5324 5C96 8BCE 9639 9A71 5765 5C48 5CA8 5CB4 62BE
-6D40 795B 80E0 88AA 5340 86C6 8EAF 7B41 7CAC 86D0
-8A58 8D8B 5D87 99C6 6188 657A 8AB3 99C8 9EB9 9AF7
-9B7C 8DA8 9EAF 8EC0 9EB4 9EE2 9A45 9C38 9C4B 4F62
-52AC 65AA 6710 6711 80CA 83C3 8850 9E32 6DED 6E20
-7D47 7FD1 844B 8EE5 8556 7496 78F2 87B6 9D1D 74A9
-7FF5 87DD 9F29 8627 5337 5FC2 7048 6235 6B0B 6C0D
-7C67 81DE 766F 8837 8862 8EA3 883C 947A 9E1C 53D6
-7AD8 5A36 7D36 8A53 7AEC 877A 9F8B 9F72 53BA 53BB
-521E 547F 8FF2 90E5 801D 9612 89D1 8DA3 95B4 9EAE
-95C3 89B0 89B7 9F01 89BB 5CD1 606E 609B 5708 570F
-68EC 99E9 9A21 9409 5168 6743 4F7A 8BE0 59FE 6CC9
-6D24 8343 62F3 7277 8F81 5573 57E2 5A58 60D3 75CA
-7842 94E8 6E76 7288 7B4C 7D5F 8143 8472 643C 697E
-7454 89E0 8A6E 8DE7 8F07 8737 9293 6A29 8E21 7E13
-919B 95CE 9CC8 9B08 5B49 5DCF 9C01 6B0A 9F64 8838
-98A7 9874 72AD 72AC 6C71 753D 754E 70C7 7EFB 7DA3
-8647 529D 5238 5DFB 7276 6926 52E7 97CF 52F8 7094
-7F3A 849B 7638 5374 537B 57C6 5D05 60AB 96C0 785E
-786E 8203 9615 5859 6409 76B5 788F 9619 9E4A 6128
-69B7 58A7 6164 6BC3 78BA 8D9E 71E9 95CB 7910 95D5
-9D72 792D 590B 56F7 5CEE 9021 8F11 5BAD 5E2C 88D9
-7FA3 7FA4 88E0 4EBD 7F56 56D5 5465 80B0 887B 8887
-86A6 88A1 86BA 7136 9AE5 562B 9AEF 71C3 7E4E 5184
-5189 59CC 82D2 67D3 73C3 5AA3 8485 6A6A 7A63 5134
-52F7 703C 737D 8618 79B3 74E4 7A70 8E9F 9B24 58CC
-56B7 58E4 6518 7219 7E95 8BA9 61F9 8B72 8B93 835B
-9976 6861 8558 6A48 8953 9952 72AA 6270 5A06 96A2
-5B08 64FE 7ED5 9076 7E5E 60F9 70ED 71B1 4EBA 4EBB
-4EC1 58EC 5FC8 6732 5FCE 79C2 82A2 9213 9B5C 928B
-9D40 5FCD 834F 6820 6823 8375 79F9 68EF 7A14 7D9B
-8EB5 5203 5204 8BA4 4EDE 4EED 8BB1 4EFB 5C7B 6268
+5947 6589 6B67 7541 7947 7948 80B5 4FDF 75A7 7AD2
+5258 658A 65C2 8006 8110 8691 8694 869A 9880 57FC
+5D0E 5E3A 6391 6DC7 7309 7566 8401 8415 8DC2 8EDD
+91EE 9A90 9A91 68CA 68CB 7426 742A 797A 86F4 612D
+7881 7895 951C 980E 9B3F 65D7 7CB8 7DA5 7DA6 7DA8
+871D 871E 9F4A 7482 79A5 8572 8E11 9321 9CAF 61E0
+6FDD 85C4 6AB1 6AC0 81CD 9A0E 9A0F 9CCD 8604 9BD5
+9D78 9D80 9E92 7E83 8269 8810 9B10 9C2D 7382 9EA1
+4E5E 9094 4F01 5C7A 5C82 8291 542F 5447 675E 7398
+76C0 5518 8C48 8D77 5553 5554 5A4D 555F 7EEE 6675
+68E8 7DAE 7DBA 8AEC 95D9
+6C14 8BAB 5FD4 6C17 6C54 8FC4 5F03 6C7D 77F5 829E
+546E 6CE3 7081 76F5 54A0 5951 780C 6814 6C23 8A16
+552D 6B2B 5921 68C4 6E46 6E47 847A 789B 6456 66A3
+7508 78B6 5650 6187 5668 61A9 78DC 78E7 78E9 7F4A
+87FF 9F1C
+7F3C 621A 6E0F 8904 7DD5 87A7 7C2F 7C31 7C4F
+6390 845C
+62E4
+8DD2 9160
+5736 51BE 5E22 6070 6D3D 6B8E 7848 6118 9AC2
+9790
+5343 4EDF 9621 5731 5732 5977 6266 6C58 828A 8FC1
+4F65 5C8D 6744 6C67 74E9 833E 6B26 81E4 948E 62EA
+7275 7C81 515B 60AD 8688 8C38 94C5 5A5C 5B6F 727D
+91FA 6394 8C26 9206 96C3 50C9 6106 7B7E 925B 9A9E
+9E50 6173 6434 6481 7B9E 8AD0 9077 8930 8B19 9845
+6AB6 6510 6511 6ACF 7C3D 9D6E 5B45 6513 9A2B 9B1D
+9B1C 7C64 97C6
+4EF1 5C92 5FF4 6272 62D1 524D 94A4 6B6C 8654 94B1
+94B3 63AE 63F5 8EE1 5A8A 9210 976C 9257 5898 69A9
+7B9D 92AD 6F5B 6F5C 7FAC 8541 6A6C 9322 9ED4 9EDA
+9A1D 6FF3 9A1A 704A 9C2C
+51F5 6D45 80B7 6DFA 8125 55DB 5D70 9063 69CF 8181
+8738 8C34 7F31 7E7E 8B74
+6B20 520B 82A1 4FD4 831C 5029 6093 5811 5094 5D4C
+68C8 6920 614A 7698 84A8 5879 6B49 7DAA 8533 5119
+69E7 7BCF 8F24 7BDF 58CD 7E34 9C1C
+7ACF 9386 93F2 7C56 9453
+545B 7F8C 6215 6217 65A8 67AA 73B1 7F97 7310 8DC4
+690C 6EAC 8154 55C6 8723 9516 5D88 6227 69CD 7244
+7472 7FAB 9535 7BEC 9306 8B12 8E4C 956A 8E61 9397
+93D8
+4E2C 5F37 5F3A 5899 5AF1 8537 6A2F 6F12 8503 58BB
+5B19 5EE7 8594 6AA3 7246 8262 8620
+62A2 7F9F 6436 7FA5 588F 7E48 8941 7E66 93F9
+709D 5534 7197 7FBB
+55F4 7347
+6084 7857 90FB 5D6A 8DF7 9121 9125 5281 6572 6BC3
+8E0D 9539 589D 981D 9AB9 58BD 5E67 6A47 71C6 7F32
+78FD 936B 936C 7E51 8DAC 8E7A 9430
+4E54 4FA8 834D 835E 6865 785A 83EC 55AC 50D1 8C2F
+563A 5AF6 6194 854E 9792 6A35 6A4B 7644 77A7 7904
+85EE 8DAB 9408 97BD 9866
+5DE7 91E5 6100 9ADC
+4FCF 8BEE 9657 5CED 5E29 7A8D 6BBB 7FD8 8A9A 9ADA
+50FA 64AC 64BD 9798 97D2 7AC5 7FF9 8B59 8E88
+69D7 729E
+767F 807A
+4E14
+5207 59BE 602F 90C4 5327 7A83 608F 6308 6D2F 60EC
+6DC1 7B21 611C 86EA 6705 7BA7 7DC1 9532 7BCB 8E25
+7A55 85D2 9365 9BDC 9411 7ACA
+82C6 503F 5AAB 7C61
+4EB2 4FB5 94A6 887E 9A8E 5A87 5D5A 6B3D 7D85 8A9B
+5D94 89AA 9849 99F8 9BBC 5BF4
+5E88 82A9 82B9 57C1 73E1 79E6 8039 83E6 8699 6366
+83F3 7434 7439 79BD 9219 96C2 52E4 55EA 5AC0 6EB1
+9772 616C 5659 64D2 65B3 9CF9 61C4 6A8E 6FBF 763D
+8793 61C3 8804 9B35 9D6D
+5745 6611 7B09 68AB 8D7E 5BD1 9513 5BDD 5BE2 92DF
+87BC
+5422 5423 628B 6C81 551A 83E3 63FF 6407 64B3 7019
+85FD
+72C5 9751 9752 6C22 8F7B 503E 537F 90EC 570A 57E5
+5BC8 6C2B 6DF8 6E05 50BE 873B 8F15 9CAD 944B
+591D 7520 5260 52CD 60C5 6B91 6674 68FE 6C30 845D
+6692 64CF 6A08 64CE 6AA0 9EE5
+82D8 9877 8BF7 5EBC 9803 5ECE 6F00 8ACB 6ABE
+5E86 51CA 6385 6BB8 7883 7B90 9758 6176 78D8 78EC
+7F44 8B26
+7858 6AE6
+828E 5314
+536D 909B 5B86 7A77 7A79 8315 684F 7B3B 7B47 8D79
+60F8 712A 712D 743C 823C 86E9 86EC 7162 7758 8DEB
+928E 778F 7AAE 511D 618C 6A69 749A 85D1 74CA 7AC6
+85ED 74D7
+718D
+4E18 4E20 90B1 5775 6058 79CB 79CC 86AF 5A9D 8429
+6978 84F2 9E59 7BCD 7DE7 8775 7A50 8DA5 9CC5 87D7
+97A6 97A7 9C0C 9C0D 9D96 8824 9F9D
+53F4 56DA 624F 72B0 738C 6C53 808D 6C42 866C 6CC5
+866F 4FC5 89D3 8A04 8A05 914B 91D3 5512 6D57 7D0C
+838D 900E 9011 91DA 6882 6B8F 6BEC 7403 8D47 5D37
+5DEF 6E1E 6E6D 76B3 76DA 9052 716A 7D7F 86F7 88D8
+5DF0 89E9 8CD5 7486 8764 92B6 9194 9B82 9F3D 9BC4
+9C3D
+641D 7CD7
+91FB 8612
+533A 66F2 4F39 4F49 5324 5C96 8BCE 9639 9A71 5765
+5C48 5CA8 5CB4 62BE 6D40 795B 80E0 88AA 5340 7D36
+86C6 8EAF 7B41 7CAC 86D0 8A58 8D8B 5D87 6188 99C6
+657A 8AB3 957C 99C8 9EB9 9AF7 9B7C 8DA8 9EAF 89B0
+8EC0 9EB4 9EE2 89BB 9A45 9C38 9C4B
+4F62 52AC 65AA 6710 80CA 83C3 9E32 6DED 6E20 7D47
+7FD1 844B 8EE5 8556 7496 78F2 87B6 9D1D 74A9 87DD
+77BF 9F29 8627 5FC2 7048 6235 6B0B 6C0D 7C67 81DE
+766F 8837 8862 8EA3 883C 947A 9E1C
+53D6 7AD8 5A36 8A53 7AEC 877A 9F8B 9F72
+53BA 53BB 521E 547F 551F 801D 9612 89D1 8DA3 95B4
+9EAE 95C3 89B7 9F01
+8FF2 8850
+5CD1 5F2E 606E 609B 5708 570F 68EC 99E9 9409
+5168 6743 4F7A 8BE0 59FE 6CC9 6D24 8343 62F3 7277
+8F81 5573 57E2 5A58 60D3 75CA 7842 94E8 6E76 7288
+7B4C 7D5F 8472 643C 7454 89E0 8A6E 8DE7 8F07 8737
+9293 6A29 8E21 7E13 919B 9CC8 9B08 9A21 5B49 5DCF
+9C01 6B0A 9F64 8838 98A7 9874
+72AC 6C71 754E 70C7 7EFB 7DA3 8647
+529D 5238 7276 52E7 97CF 52F8
+72AD 6926 697E 95CE
+7F3A 849B 9619
+7638
+5374 537B 57C6 5D05 5BC9 60AB 7437 96C0 785E 786E
+9615 5859 6409 76B5 788F 6128 69B7 58A7 6164 78BA
+78BB 8D9E 71E9 95CB 7910 95D5 704D 792D
+9E4A 9D72
+590B 56F7 5CEE 9021
+5BAD 5E2C 88D9 7FA3 7FA4 88E0
+FDD0-0052
+5465 80B0 887B 8887 86A6 88A1 86BA 7136 9AE5 562B
+9AEF 71C3 7E4E
+5184 5189 59CC 82D2 67D3 73C3 5AA3 6A6A
+8485
+7A63 5134 52F7 703C 737D 8618 79B3 74E4 7A70 8E9F
+9B24
+58CC 56B7 58E4 6518 7219 7E95
+8BA9 61F9 8B72 8B93
+5A06 835B 9976 6861 5B08 8558 6A48 8953 9952
+6270 96A2 64FE
+7ED5 9076 7E5E
+60F9
+70ED 71B1
+4EBA 4EBB 4EC1 58EC 5FC8 6732 5FCE 79C2 82A2 9213
+9B5C 928B 9D40
+5FCD 834F 6820 6823 8375 79F9 68EF 7A14
+5203 5204 8BA4 4EDE 4EED 8BB1 4EFB 5C7B 5C83 6268
7EAB 598A 6752 7263 7EB4 8095 8F6B 97E7 996A 59D9
-7D09 887D 6041 7D1D 8A12 8ED4 6895 88B5 7D4D 814D
-845A 976D 9771 97CC 98EA 8A8D 9901 6254 4ECD 8FB8
-793D 82BF 967E 65E5 9A72 56F8 91F0 9224 99B9 620E
-809C 6804 72E8 7ED2 8319 8338 8363 5BB9 5CF5 6BE7
-70FF 5AB6 5D58 7D68 7FA2 5AC6 5D64 6408 6411 6449
-69B5 6EB6 84C9 6995 69AE 7194 7462 7A41 877E 8923
-9555 6C04 7E19 878D 878E 99E5 9AF6 5B2B 5DB8 7203
-9394 701C 66E7 8811 5197 5B82 5087 8EF5 7A43 53B9
-79B8 67D4 7C88 5A83 63C9 6E18 8447 7448 816C 7CC5
-875A 8E42 8F2E 9352 97A3 74C7 9A25 9C07 9D94 697A
-7163 97D6 8089 5B8D 5DBF 909A 5982 4F9E 5E24 8339
-6847 88BD 94F7 6E2A 7B4E 8498 92A3 8560 5112 9D11
-5685 5B2C 5B7A 6FE1 85B7 9D3D 66D8 71F8 8966 7E7B
-8815 98A5 91B9 986C 9C6C 6C5D 8097 4E73 8FB1 910F
-5165 6256 8FBC 6741 6D33 55D5 5AB7 6EBD 7F1B 84D0
-9CF0 8925 7E1F 64E9 5827 648B 58D6 962E 670A 8F6F
-800E 5044 8EDF 5A86 611E 744C 815D 5AF0 789D 7DDB
-8761 8F2D 74C0 791D 6875 7524 7DCC 8564 854A 854B
-6A64 7E60 8602 8603 6C6D 82AE 6798 868B 9510 745E
-8739 777F 92B3 92ED 53E1 58E1 95F0 6DA6 958F 95A0
-6F64 6A4D 633C 637C 53D2 82E5 504C 5F31 9100 5A7C
-6E03 712B 6949 5D76 84BB 7BAC 7BDB 7207 9C19 9C2F
-9DB8 4EE8 686C 6492 6D12 8A2F 9778 6F75 7051 5345
-9491 98D2 810E 8428 9212 644B 96A1 99BA 98AF 85A9
-6AD2 680D 6BE2 6122 63CC 585E 6BF8 816E 5625 567B
-9CC3 984B 9C13 55EE 8D5B 50FF 8CFD 7C3A 8644 4E09
-5F0E 53C1 6BF5 6BF6 5381 6BFF 7299 9B16 58ED 4F1E
-5098 6563 7CC1 7CC2 9993 6A75 7CDD 7CE3 7CE4 7E56
-93D2 994A 4FD5 9590 6852 6851 69E1 55D3 6421 78C9
-892C 98A1 939F 9859 4E27 55AA 63BB 6145 6414 6E9E
-9A9A 7F2B 7E45 81CA 9CCB 98BE 9A12 9A37 9C20 9C62
-626B 6383 5AC2 57FD 7619 6C09 77C2 9ADE 8272 6D13
-681C 6DA9 556C 6E0B 94EF 96ED 6B6E 7417 55C7 745F
-6B70 92AB 6F81 61CE 64CC 6FC7 6FCF 7637 7A51 6F80
-74B1 7012 7A61 7E6C 7A6F 8F56 93FC 8B45 98CB 88C7
-8053 68EE 69EE 8942 7BF8 50E7 9B19 95AA 7E07 6740
-6C99 7EB1 4E77 5239 7802 5526 6331 6BBA 7300 7C86
-7D17 838E 94E9 75E7 7870 8531 88DF 699D 6A27 9B66
-9CA8 95B7 93A9 9BCA 9BCB 7E7A 50BB 510D 7E4C 503D
-553C 5565 5E39 8410 55A2 6B43 715E 7FDC 7B91 7FE3
-95AF 970E 7B5B 7BE9 7C01 7C1B 6652 66EC 5C71 5F61
-9096 5738 5220 522A 6749 6763 829F 59CD 59D7 886B
-9490 57CF 633B 72E6 73CA 8222 70FB 75C1 8120 8ED5
-7B18 91E4 958A 8DDA 527C 6427 5607 5E53 717D 852A
-6F78 6F98 66D1 6A86 7E3F 81BB 9BC5 7FB4 7FB6 95EA
-9655 70B6 965D 9583 6671 7154 7752 718C 89A2 8BAA
-6C55 759D 82EB 5261 6247 8A15 8D78 5093 5584 692B
-928F 9A9F 50D0 912F 58A0 58A1 7F2E 5B17 64C5 657E
-6A3F 81B3 78F0 8B06 E84C E849 8D61 7E55 87EE 87FA
-8B71 8D0D E84E 9425 994D 9A38 9CDD 7057 9C53 9C54
-4F24 6B87 5546 6113 89DE 50B7 5892 616F 6EF3 6F21
-850F 6BA4 71B5 87AA 89F4 8B2A 9B3A 88F3 57A7 6244
-664C 8D4F 8CDE 945C 4E04 4E0A 4EE9 5C19 5C1A 6066
-7EF1 7DD4 5F30 634E 68A2 70E7 83A6 713C 713D 7A0D
-65D3 7B72 8244 86F8 8F0E 8571 71D2 98B5 9AFE 9BB9
-52FA 828D 82D5 67D6 73BF 8414 97F6 5C11 52AD 5372
-90B5 7ECD 54E8 5A0B 8891 7D39 7DA4 6F72 5962 731E
-8D4A 7572 8F0B 8CD2 8CD6 6AA8 820C 4F58 8675 86C7
-86E5 820D 6368 538D 8BBE 793E 820E 5399 5C04 6D89
-6DBB 6E09 8A2D 8D66 5F3D 6151 6442 6444 6EE0 6174
-6475 850E 8802 97D8 9A07 61FE 651D 7044 9E9D 6B07
+794D 7D09 887D 7D1D 8A12 8ED4 6895 88B5 8EE0 7D4D
+814D 845A 976D 9771 97CC 98EA 8A8D 9901
+7D9B 8EB5
+6254
+4ECD 8FB8 793D 967E
+82BF
+65E5 9A72 56F8 91F0 9224 99B9
+8338
+620E 809C 6804 72E8 7ED2 8319 8363 5BB9 6BE7 70FF
+5AB6 5D58 6411 7D68 7FA2 5AC6 5D64 6408 69B5 6EB6
+84C9 6995 69AE 7194 7462 7A41 7E19 877E 8923 9555
+878D 878E 99E5 9AF6 5B2B 5DB8 7203 9394 5DC6 701C
+66E7 8811
+5197 5B82 5748 5087 8EF5 6C04
+9D27
+7A43
+53B9 79B8 67D4 5A83 63C9 6E18 8447 7163 7448 7CC5
+875A 8E42 8F2E 9352 97A3 74C7 9A25 9C07 9D94
+7C88 697A 97D6
+8089 5B8D 816C
+909A 5982 4F9E 5E24 8339 6847 88BD 94F7 6E2A 7B4E
+8498 92A3 8560 8761 5112 9D11 5685 5B2C 5B7A 6FE1
+85B7 9D3D 66D8 71F8 8966 8815 98A5 91B9 986C 9C6C
+6C5D 8097 4E73 8FB1 910F 64E9
+5165 6D33 55D5 5AB7 6EBD 7F1B 84D0 8925 7E1F
+6256 8FBC 6741 9CF0 5DBF
+633C
+5827 648B 58D6
+962E 670A 8F6F 800E 5044 8EDF 5A86 744C 789D 7DDB
+8F2D 74C0 791D
+5A51 6875 7524 7DCC 8564
+854A 854B 6A64 7E60 8602 8603
+6C6D 82AE 6798 868B 9510 745E 8739 777F 92B3 92ED
+53E1 58E1
+77A4
+95F0 6DA6 958F 95A0 6F64 6A4D 81B6
+637C
+53D2 82E5 504C 5F31 9100 6E03 712B 6949 84BB 7BAC
+7BDB 7207 9C19 9C2F 9DB8
+5D76
+FDD0-0053
+4EE8 6331 6332 6492
+6D12 8A2F 9778 6F75 7051 8EA0
+5345 6CE7 98D2 810E 8428 9212 644B 99BA 98AF 85A9
+6AD2 8644
+96A1
+6BE2 6122 63CC 585E 6BF8 816E 567B 9CC3 984B 9C13
+55EE 8D5B 50FF 8CFD 7C3A
+5625
+4E09 5F0E 53C1 6BF5 6BFF 7299 9B16
+4ED0 4F1E 5098 7CC1 7CC2 9993 7CDD 7CE3 7CE4 7E56
+93D2 93FE 9730 994A
+4FD5 5E34 60B7 6563 9590
+58ED 6BF6 5381 6A75
+6852 6851
+55D3 6421 78C9 892C 98A1 939F 9859
+4E27 55AA
+69E1
+63BB 6145 6414 6E9E 9A9A 7F2B 7E45 81CA 9CCB 9A12
+9A37 9C20 9C62
+626B 6383 5AC2
+57FD 7619 6C09 77C2 9ADE
+87A6
+95AA
+8272 6D13 681C 6DA9 556C 94EF 96ED 6B6E 7417 55C7
+745F 6B70 92AB 6F81 61CE 64CC 6FC7 7637 7A51 6F80
+74B1 7012 7A61 7E6C 8F56 93FC 8B45 98CB
+6E0B 6FCF 7A6F
+68EE 692E 69EE 8942
+50E7 9B19
+6740 6C99 7EB1 4E77 5239 524E 7802 5526 6BBA 7300
+7C86 7D17 838E 686C 6BEE 94E9 75E7 7870 715E 8531
+88DF 699D 6A27 9B66 9CA8 93A9 9BCA 9BCB
+50BB 510D
+503D 553C 5551 5565 5E39 8410 53A6 55A2 5EC8 6B43
+7FDC 7B91 7FE3 95AF 970E
+7E4C
+7B5B 917E 7BE9 7C01 7C1B 91C3
+7E7A
+6652 95B7 66EC
+5C71 5F61 9096 5220 522A 6749 829F 59CD 59D7 82EB
+886B 9490 57CF 633B 67F5 72E6 73CA 8222 75C1 8120
+8ED5 7B18 8DDA 527C 6427 5607 5E53 717D 6F78 6F98
+6A86 7E3F 81BB 9BC5 7FB4 7FB6
+95EA 9655 965D 9583 6671 7154 7752 718C 89A2
+8BAA 6C55 759D 5261 6247 8A15 8D78 639E 91E4 5093
+5584 928F 9A9F 50D0 912F 58A0 58A1 6F6C 7F2E 5B17
+64C5 6A3F 6B5A 81B3 78F0 8B06 8D61 7E55 87EE 87FA
+8B71 8D0D 9425 994D 9A38 9CDD 7057 9C53 9C54
+5738 6763 958A 657E
+4F24 6B87 5546 89DE 50B7 5892 616F 6EF3 6F21 850F
+6BA4 71B5 87AA 89F4 8B2A 9B3A
+57A7 6244 664C 8D4F 8CDE 8D18 945C
+4E04 4E0A 5C19 5C1A 6066 7EF1 7DD4 979D
+4EE9 88F3
+5F30 634E 70E7 83A6 68A2 713C 7A0D 65D3 7B72 8244
+86F8 8F0E 71D2 98B5 9AFE 9BB9
+52FA 828D 82D5 67D6 73BF 7AF0 97F6
+5C11
+52AD 5372 90B5 7ECD 54E8 5A0B 8891 7D39 7744 7DA4
+6F72
+8571
+5962 731E 8D4A 756C 7572 8F0B 8CD2 8CD6 6AA8
+820C 4F58 8675 86C7 86E5
+820D 6368
+538D 8BBE 793E 5399 5C04 6D89 6DBB 6E09 8A2D 8D66
+5F3D 6151 6442 6444 6EE0 6174 6475 850E 6B59 8802
+97D8 9A07 61FE 651D 7044 9E9D 6B07
+820E
7533 5C7E 625F 4F38 8EAB 4F81 547B 59BD 7C76 7EC5
-7F59 8BDC 59FA 67DB 6C20 73C5 7A7C 7C78 5A20 5CF7
-7521 7712 7837 5814 6DF1 7D33 515F 692E 8460 88D1
-8A37 7F67 84E1 8A75 7527 8518 71CA 8593 99EA 9CB9
-9BD3 9D62 9BF5 9C3A 795E 698A 926E 9C30 90A5 5F1E
-628C 6C88 5BA1 77E4 54C2 77E7 5BB7 8C02 8C09 5A76
-6E16 8A20 5BE9 8AD7 9823 9B6B 66CB 77AB 5B38 700B
-89BE 8B85 80BE 4FBA 661A 751A 80C2 6D81 7718 6E17
-7973 8124 814E 613C 614E 6939 7606 8703 6EF2 92E0
-762E 5347 751F 9629 544F 58F0 6598 6607 67A1 6CE9
-82FC 6B85 7272 73C4 7AD4 80DC 965E 66FB 9679 7B19
-6E66 713A 7525 924E 8072 935F 9F2A 9D7F 6E11 7EF3
-7E04 61B4 6FA0 7E69 8B5D 9C66 7701 771A 5057 6E3B
-5723 665F 6660 5270 76DB 5269 52DD 741E 8CB9 5D4A
-8056 58AD 69BA 8542 6A73 8CF8 5C38 5931 5E08 545E
-8671 8672 8BD7 90BF 9E24 5C4D 65BD 6D49 72EE 5E2B
-7D41 91F6 6E64 6E7F 8479 6EAE 6EBC 7345 8492 84CD
-8A69 9247 7461 917E 9CF2 7BB7 8768 E85C 9CFE 8937
-9CBA 6FD5 9366 9BF4 9C24 9DB3 8979 7C6D 91C3 5341
-9963 4EC0 77F3 8FBB 4F66 65F6 7ACD 8BC6 5B9E 5B9F
-65F9 98E0 59FC 5CD5 62FE 70BB 794F 8680 98DF 57D8
-6642 83B3 5BD4 6E5C 9048 5852 5D75 6EA1 8494 9250
-5BE6 69AF 8755 927D 7BD2 9CA5 9B96 9F2B 8B58 9F2D
-9C23 53F2 77E2 4E68 8C55 4F7F 59CB 9A76 5158 5BA9
-5C4E 7B36 6981 9242 99DB 58EB 6C0F 793B 4E16 4E17
-4ED5 5E02 793A 534B 5F0F 5FD5 4E8A 53D3 623A 4E8B
-4F8D 52BF 5469 67F9 89C6 8BD5 9970 519F 5BA4 6040
-6043 62ED 662F 6630 67BE 67FF 7702 8D33 9002 683B
-70D2 770E 7721 8210 8F7C 901D 94C8 7B39 8996 91C8
-5D3C 5F11 5FA5 63D3 8C25 8CB0 91CA 52E2 55DC 5F12
-7176 7757 7B6E 89E2 8A66 8EFE 9230 9243 98FE 8213
-8906 8A93 9069 596D 92B4 566C 5B15 6FA8 8ADF 8AE1
-907E 991D 6AA1 87AB 8B1A 7C2D 7C42 896B 91CB 9C18
-9F5B 5159 74E7 53CE 6536 624B 624C 5B88 57A8 9996
-824F 5BFF 53D7 72E9 517D 552E 6388 6DAD 7EF6 75E9
-8184 58FD 7626 7DAC 5900 7363 7378 93C9 4E66 6BB3
-6292 7EBE 53D4 6778 67A2 964E 59DD 67D5 500F 5010
-66F8 6B8A 7D13 6393 68B3 6DD1 7102 83FD 8ED7 9103
-758E 758F 8212 6445 6BF9 6BFA 7D80 8F93 7479 8DFE
-8E08 6A1E 852C 8F38 6A7E 9B9B 5135 6504 702D 9D68
-5C17 79EB 5A4C 5B70 8D4E 587E 719F 74B9 8D16 668F
-6691 9ECD 7F72 9F20 5C5E 9F21 8700 6F7B 85A5 85AF
-66D9 7659 85F7 8961 7CEC 8969 7C54 8834 9C6A 9E00
-9C70 672E 672F 620D 675F 6CAD 8FF0 4FB8 54B0 6037
-6811 7AD6 8357 6055 5EB6 5EBB 7D49 8481 8853 5C0C
-88CB 6570 7AEA 8167 9265 5885 6F31 6F44 6578 6F8D
-8C4E 6A39 6FD6 9330 93E3 9D90 9D91 866A 5237 5530
-800D 8A9C 8870 6454 7529 5E05 5E25 87C0 535B 95E9
-62F4 9582 6813 6DAE 8168 53CC 6EDD 971C 96D9 5B40
-9AA6 5B47 9A3B 6B06 7935 9DDE 9E74 826D 9A66 9E18
-723D 587D 6161 6A09 7E14 93EF 7040 8C01 813D 8AB0
-6C35 6C34 6C3A 9596 5E28 6D97 6D9A 7971 7A05 7A0E
-88DE 7761 542E 696F 987A 821C 9806 8563 6A53 779A
-77A4 77AC 9B0A 8BF4 54FE 8AAA 8AAC 5981 70C1 6714
-94C4 6B36 7855 77DF 55CD 6420 84B4 55FD 69CA 78A9
-7361 7BBE 9399 720D 9460 53B6 7E9F 4E1D 53F8 7CF9
-79C1 549D 6CC0 4FEC 601D 6056 8652 9E36 5AA4 65AF
-7D72 7F0C 86F3 6952 7997 9270 98D4 51D8 53AE 69B9
-79A0 7F73 8724 92AF 9536 5636 565D 5EDD 6495 6F8C
-78C3 7DE6 856C 92D6 71CD 8784 9376 87D6 87F4 98B8
-9A26 9401 9DE5 9F36 6B7B 5DF3 4E96 56DB 7F52 5BFA
-6C5C 4F3A 4F3C 4F40 5155 59D2 6CE4 7940 4FA1 5B60
-6CD7 9972 9A77 4FDF 5A30 67B1 67F6 726D 68A9 6D0D
+8BDC 59FA 67DB 6C20 73C5 7A7C 7C78 5A20 5CF7 7521
+7712 7837 8398 6552 6DF1 7D33 515F 68FD 8460 88D1
+8A37 84E1 8A75 7527 8518 71CA 8593 99EA 9CB9 66D1
+9D62 9BF5 9C3A
+4EC0 751A 795E
+90A5 5F1E 5BA1 77E4 54C2 77E7 5BB7 8C02 8C09 5A76
+6E16 8A20 5BE9 8AD7 9823 9B6B 66CB 9825 77AB 5B38
+700B 89BE 8B85
+80BE 4FBA 661A 80C2 6D81 7718 6E17 7973 8124 814E
+613C 614E 6939 7606 7F67 8703 8704 6EF2 92E0 762E
+5814 698A 9C30
+5347 751F 9629 544F 58F0 6598 6607 6CE9 72CC 82FC
+680D 6B85 7272 73C4 965E 9679 7B19 6E66 713A 7525
+924E 8072 9F2A 9D7F
+7EF3 61B4 7E69 8B5D
+7701 771A 5057 6E3B
+5723 80DC 6660 5270 76DB 5269 52DD 8CB9 5D4A 741E
+8056 58AD 69BA 8542 8CF8
+7AD4 66FB 6A73
+5C38 5931 5E08 545E 8671 8BD7 90BF 9E24 5C4D 65BD
+6D49 72EE 5E2B 7D41 91F6 6E64 6E7F 8479 921F 6EAE
+6EBC 7345 8492 84CD 8A69 9247 9248 7461 9CF2 8768
+9CFE 8937 9CBA 6FD5 9366 9BF4 9C24 9DB3 8979
+5341 9963 77F3 8FBB 4E6D 65F6 5B9E 5B9F 65F9 98E0
+59FC 5CD5 70BB 794F 8680 98DF 57D8 6642 83B3 5BD4
+6E5C 9048 5852 6EA1 8494 9250 5BE6 69AF 8755 9CA5
+9F2B 9F2D 9C23
+53F2 77E2 4E68 8C55 4F7F 59CB 9A76 5158 5BA9 5C4E
+7B36 9242 99DB
+58EB 6C0F 793B 4E17 4E16 4ED5 5E02 793A 4F3C 534B
+5F0F 5FD5 4E8A 53D3 623A 4E8B 4F8D 52BF 5469 67F9
+89C6 8BD5 9970 519F 5BA4 6040 6043 62ED 662F 6630
+67BE 67FF 7702 8D33 9002 683B 70D2 770E 7721 8210
+8F7C 901D 94C8 8996 8C49 91C8 5A9E 5D3C 5F11 5FA5
+63D3 8C25 8CB0 91CA 52E2 55DC 5F12 7757 7B6E 89E2
+8A66 8EFE 9230 9243 98FE 8213 8A93 9069 927D 596D
+92B4 9919 991D 566C 5B15 6FA8 8ADF 8AE1 907E 87AB
+8B1A 7C2D 896B 91CB
+4F66 7ACD 8BC6 62FE 5319 5D75 6981 7176 7BD2 9B96
+7C42 8B58 9C18
+53CE 6536
+624B 5B88 57A8 9996 824F
+5BFF 53D7 72E9 517D 552E 6388 6DAD 7EF6 75E9 58FD
+5900 7626 7DAC 7378 93C9
+624C 7363
+4E66 6BB3 5C17 6292 7EBE 53D4 6778 67A2 964E 59DD
+500F 5010 66F8 6B8A 7D13 6393 68B3 6DD1 7102 83FD
+8ED7 9103 758E 758F 8212 6445 6BF9 7D80 8F93 7479
+8DFE 8E08 6A1E 852C 8F38 6A7E 9B9B 5135 6504 9D68
+79EB 5A4C 5B70 8D4E 587E 719F 74B9 8D16
+9F21 5C5E 6691 668F 9ECD 7F72 8700 9F20 6F7B 85A5
+85AF 66D9 7659 85F7 8961 8969 5C6C 9483
+672E 672F 620D 675F 6CAD 8FF0 4FB8 51C1 54B0 6037
+6811 7AD6 8357 6055 6352 5EB6 5EBB 7D49 8481 8853
+9683 5C0C 88CB 6570 7AEA 8167 9265 5885 6F31 6F44
+6578 6F8D 8C4E 6A39 6FD6 9330 93E3 9D90 866A
+702D 7CEC 8834 9C6A 9C70
+5237 5530
+800D
+8A9C
+8870 6454
+7529
+5E05 5E25 87C0 535B
+95E9 62F4 9582 6813
+6DAE 8168
+53CC 971C 96D9 5B40 9AA6 5B47 9A3B 6B06 7935 9DDE
+9E74 826D 9A66 9E18
+723D 587D 6161 6F3A 6A09 7E14
+7040
+93EF
+8C01 813D 8AB0
+6C34
+5E28 6D97 6D9A 7971 7A05 7A0E 88DE 7761 7793
+6C35 6C3A 9596
+542E
+987A 821C 9806 8563 6A53 779A 77AC 9B0A
+8BF4 54FE 8AAA 8AAC
+5981 70C1 6714 94C4 6B36 7855 77DF 6420 84B4 69CA
+7361 78A9 7BBE 9399 720D 9460
+53B6 7E9F 4E1D 53F8 7CF9 79C1 549D 6CC0 601D 8652
+9E36 5AA4 65AF 7D72 7F0C 86F3 6952 7997 9270 98D4
+51D8 53AE 69B9 79A0 7F73 8724 9536 5636 565D 5EDD
+6495 6F8C 78C3 7DE6 856C 92D6 71CD 8784 87D6 87F4
+98B8 9A26 9401 9DE5 9F36 7C6D
+6B7B
+5DF3 4E96 56DB 5BFA 6C5C 4F40 5155 59D2 6CE4 7940
+4FA1 5B60 676B 6CD7 9972 9A77 5A30 67F6 726D 6D0D
6D98 8082 98E4 7B25 801C 91F2 7AE2 8997 55E3 8086
-8C84 923B 98FC 79A9 99DF 857C 5129 9A03 7003 87A6
-4E7A 5FEA 677E 6780 67A9 5A00 67D7 502F 51C7 68A5
-5D27 5EBA 6DDE 83D8 5D69 7879 8719 61BD 6AA7 6FCD
-9B06 6002 609A 6352 8038 7AE6 50B1 612F 5D77 616B
-8073 99F7 8BBC 5B8B E82A 8BF5 9001 9882 8A1F 980C
-8AA6 9938 93B9 E829 51C1 635C 910B 55D6 5EC0 5ECB
-641C 6EB2 7340 8490 84C3 998A 98D5 6457 953C 8258
-878B 9199 93AA 993F 98BC 9A2A 53DC 53DF 5081 55FE
-778D 64DE 85AE 64FB 85EA 6AE2 7636 82CF 7526 9165
-7A23 7AA3 7A4C 9BC2 8607 8613 6AEF 56CC 4FD7 738A
-5919 8BC9 6CDD 8083 6D2C 6D91 73DF 7D20 901F 5BBF
-6880 6B90 7C9B 9A95 5083 7C9F 8A34 8C21 55C9 5850
+8C84 9236 923B 98FC 79A9 99DF 857C 5129 7003
+4FEC 6056 92AF
+5FEA 677E 6780 5A00 67D7 502F 51C7 5D27 5EBA 68A5
+6DDE 83D8 5D69 7879 8719 61BD 6FCD 6AA7 9376 9B06
+6002 609A 8038 7AE6 50B1 612F 6964 5D77 616B 8073
+99F7
+8BBC 5B8B 8BF5 9001 9882 8A1F 980C 8AA6 9938
+67A9 93B9
+635C 910B 55D6 5EC0 5ECB 641C 6EB2 7340 8490 84C3
+998A 6449 98D5 6457 953C 8258 878B 9199 93AA 993F
+98BC 98BE 9A2A
+53DC 53DF 5081 55FE 778D 64DE 85AE 64FB 85EA 6AE2
+7C54
+8184 7636
+55FD
+82CF 7526 9165 7A23 7AA3 7A4C 8607 8613 6AEF 56CC
+4FD7
+738A 5919 6CDD 8083 6D2C 6D91 73DF 7D20 83A4 901F
+5BBF 6880 6B90 7C9B 9A95 5083 7C9F 8C21 55C9 5850
5851 5ACA 612B 6EAF 6EB8 8085 9061 9E54 50F3 612C
69A1 8186 850C 89EB 8D9A 906C 619F 6A0E 6A15 6F65
78BF 92C9 9917 6F5A 7E24 6A5A 749B 7C0C 85D7 8B16
-8E5C 9A4C 9C50 9DEB 72FB 75E0 9178 5334 7958 7B07
-7B6D 849C 7B97 590A 8295 867D 5020 54F8 6D7D 837D
-837E 772D 8470 6ED6 7762 71A3 6FC9 9796 96D6 7EE5
-968B 968F 9040 7D8F 96A8 74CD 81B8 7021 9AC4 9AD3
-4E97 5C81 7815 795F 7C8B 8C07 57E3 5D57 813A 9042
-6B72 6B73 716B 775F 788E 96A7 5B18 6FBB 7A42 8AB6
-8CE5 6A96 71E7 74B2 79AD 7A57 7A5F 7E40 895A 9083
-65DE 7E50 7E78 9406 8B62 9429 5B59 72F2 836A 5B6B
-98E7 640E 733B 84C0 98F1 69C2 8575 859E 7543 635F
-7B0B 96BC 7B4D 640D 69AB 7BB0 7C28 93A8 9DBD 5DFA
-6F60 5506 5A11 838F 509E 6332 686B 68AD 7743 55E6
-7FA7 84D1 644D 7F29 8D96 7C11 7C14 7E2E 9AFF 9BBB
-6240 5522 7D22 7410 7411 60E2 9501 55E9 669B 6E91
-7463 938D 9396 93BB 93BC 93C1 9024 6EB9 8736 4ED6
-5B83 7260 7942 549C 8DBF 94CA 584C 6999 6EBB 9248
-891F 8E79 4FA4 5854 5896 736D 9B99 9CCE 737A 9C28
-E82F 631E 72E7 95FC 5D09 6DBE 6428 905D 9062 9618
-69BB 6BFE 79A2 64BB 6FBE 8ABB 8E0F 5683 9314 56BA
-6FCC 8E4B 979C 95D2 97B3 95E5 8B76 8EA2 8968 56FC
-5B61 9A80 73C6 80CE 99D8 53F0 65F2 90B0 576E 62AC
-82D4 70B1 70B2 83ED 8DC6 9C90 7B88 81FA 98B1 5113
-9B90 5B2F 64E1 85B9 6AAF 7C49 592A 51AD 5933 5FF2
-6C70 6001 80BD 949B 6CF0 7C8F 8226 915E 9226 6E99
-614B 71E4 574D 8D2A 6039 5574 75D1 8211 8CAA 644A
-6EE9 563D 6F6C 762B 64F9 6524 7058 7671 575B 6619
-5013 8C08 90EF 5A52 60D4 5F3E 8983 6983 75F0 952C
-8C2D 58B0 58B5 619B 6F6D 8AC7 9188 58C7 66C7 6A5D
-931F 6A80 9843 7F48 85EB 58DC 8B5A 8C9A 91B0 8B60
-7F4E 9DE4 5FD0 5766 8892 94BD 83FC 6BEF 926D 55FF
-61B3 61BB 66BA 9193 74AE 8962 53F9 70AD 57EE 63A2
-509D 6E60 8D55 50CB 5606 78B3 8215 64A2 6B4E 8CE7
-6C64 94F4 6E6F 5621 528F 7FB0 876A 859A 9557 8E5A
-93DC 940B 97BA 9F1E 9967 5763 5510 5802 508F 557A
-68E0 910C 5858 5D63 642A 6E8F 84CE 969A 69B6 6F1F
-717B 746D 799F 8185 6A18 78C4 7CC3 819B 6A56 7BD6
-7CD6 8797 8E3C 7CDB 87B3 8D6F 91A3 9933 9395 9939
-95DB 9944 9DB6 5E11 5018 5052 6DCC 50A5 8025 8EBA
-954B 93B2 513B 6203 66ED 7223 77D8 9482 70EB 6465
-8D9F 71D9 4ED0 5932 5F22 6D9B 7EE6 638F 7D5B 8A5C
-5ACD 5E4D 6146 642F 6ED4 69C4 746B 97EC 98F8 7E1A
-7E27 6FE4 8B1F 97B1 97DC 9955 530B 8FEF 54B7 6D2E
-9003 6843 9676 5555 68BC 6DD8 7EF9 8404 7979 88EA
-7DAF 872A 9780 9184 9789 92FE 932D 99E3 6AAE 9940
-9A0A 9F17 8BA8 5957 8A0E 7553 5FD1 5FD2 7279 8CA3
-8126 7286 94FD 615D 92F1 87D8 81AF 9F1F 75BC 75CB
-5E50 817E 8A8A 6F1B 6ED5 9086 7E22 87A3 99E6 8B04
-512F 85E4 9A30 7C50 E85B 9C27 7C58 8645 9A63 972F
-551E 6730 5254 68AF 9511 8E22 92BB 9DC8 E861 9DC9
-5397 7EE8 504D 73F6 557C 5A9E 5D39 60FF 63D0 6E27
-7A0A 7F07 7F64 9046 9E48 55C1 7445 7D88 78AE 5FB2
-6F3D 7DF9 855B 876D 9898 8DA7 8E44 918D 8B15 8E4F
-9357 9CC0 9D3A 984C 9BB7 9D5C 9A20 9BF7 9D97 9D99
-4F53 632E 8EB0 9AB5 8EC6 9AD4 623B 5C49 5243 6D1F
-501C 608C 6D95 9016 5C5C 6090 60D5 63A6 9037 60D6
-63E5 66FF 6974 88FC 8905 6B52 6BA2 9AF0 8599 568F
-9B00 5694 74CB 9B04 7C4A 941F 8DAF 5929 5172 5A56
-6DFB 915F 9754 9EC7 975D 7530 5C47 6CBA 606C 754B
-7551 76F7 80CB 7560 751B 751C 83FE 6E49 5861 586B
-6437 9617 78B5 7DC2 78CC 7AB4 9D2B 74B3 95D0 9DC6
-9DCF 5FDD 6B84 500E 553A 60BF 6375 6DDF 666A 7420
-8146 89CD 75F6 7753 8214 9902 89A5 8CDF 932A 9766
-63AD 7471 777C 821A 65EB 4F7B 5EA3 604C 6311 7967
-804E 8280 6761 5CA7 5CB9 8FE2 7952 689D 7B24 84DA
-84E8 9F86 6A24 8729 92DA 9797 9AEB 9CA6 87A9 9BC8
-93A5 9F60 9C37 5BA8 6640 6713 8101 7A95 8A82 7AB1
-5B25 773A 7C9C 94EB 7D69 899C 8D92 8DF3 982B 7CF6
-6017 8D34 841C 8051 8CBC 8DD5 94C1 86C8 9244 50E3
-9295 9D29 9421 9422 9435 9A56 546B 5E16 98FB 992E
+8E5C 9A4C 9C50 9DEB
+8BC9 8A34 9BC2
+72FB 75E0 9178
+5334
+7958 7B07 7B6D 849C 7B97
+590A 6535 8295 867D 5020 54F8 6D7D 837D 837E 772D
+8470 6ED6 7762 7D8F 71A3 6FC9 9796 96D6
+7EE5 968B 968F 9040 96A8 74CD
+7021 81B8 9AC4 9AD3
+4E97 5C81 7815 795F 8C07 57E3 5D57 9042 6B72 6B73
+716B 775F 788E 96A7 5B18 6FBB 7A42 8AB6 8CE5 6A96
+71E7 74B2 79AD 6A85 7A57 7A5F 7E40 895A 9083 65DE
+7E50 7E78 8B62 9406 9429 97E2
+5B59 72F2 836A 5B6B 98E7 640E 733B 84C0 98F1 69C2
+8575 859E
+635F 7B0B 96BC 7B4D 640D 69AB 7BB0 7C28 93A8 9DBD
+5506 5A11 838F 509E 686B 68AD 7743 55CD 7FA7 84D1
+644D 7F29 8D96 7C11 7C14 7E2E 9AFF 9BBB
+6240 4E7A 5522 7D22 7410 60E2 9501 55E9 669B 6E91
+7463 8928 7485 9388 938D 9396 93BB 93C1
+9024 6EB9 8736
+7411 55E6
+FDD0-0054
+4ED6 5B83 5979 7260 7942 8DBF 94CA 584C 6999 6EBB
+891F 5683 95E7
+8E79
+5854 6E9A 5896 736D 9CCE 737A 9C28
+4EA3 62D3 631E 72E7 95FC 5D09 6DBE 6428 8DF6 905D
+9062 69BB 6BFE 79A2 64BB 6FBE 8ABB 8E0F 6A7D 9314
+6FCC 8E4B 979C 9B99 95D2 97B3 56BA 95E5 8B76 8EA2
+4FA4 549C
+56FC 5B61 80CE
+51AD 53F0 65F2 90B0 576E 62AC 82D4 67B1 70B1 70B2
+83ED 8DC6 9C90 7B88 81FA 98B1 99D8 5113 9B90 5B2F
+64E1 85B9 6AAF 7C49
+592A 5933 5FF2 6C70 6001 80BD 949B 6CF0 8226 915E
+9226 6E99 614B 71E4
+7C8F
+574D 62A9 8D2A 6039 75D1 8211 8CAA 644A 6EE9 762B
+64F9 6524 7058 7671
+575B 6619 5013 8C08 90EF 5A52 60D4 8983 6983 75F0
+952C 8C2D 58B0 58B5 619B 6F6D 8AC7 9188 58C7 66C7
+71C2 931F 9924 6A80 78F9 9843 7F48 85EB 58DC 8B5A
+8C9A 91B0 8B60 7F4E
+5FD0 5766 8892 94BD 83FC 6BEF 926D 55FF 61B3 61BB
+9193 74AE 8962
+53F9 70AD 57EE 63A2 509D 6E60 50CB 5606 78B3 8215
+6B4E 8CE7
+6C64 5763 94F4 6E6F 5621 8025 528F 7FB0 876A 859A
+9557 8E5A 93DC 940B 97BA 9F1E
+9967 5510 5802 508F 557A 68E0 910C 5858 642A 6E8F
+84CE 969A 69B6 6F1F 717B 746D 799F 8185 6A18 78C4
+7CC3 819B 6A56 7BD6 7CD6 8797 8E3C 7CDB 87B3 8D6F
+91A3 9933 9395 9939 95DB 9944 9DB6
+4F16 5E11 5018 5052 6DCC 50A5 8EBA 954B 93B2 513B
+6203 66ED 7223 77D8 9482
+70EB 6465 8D9F 71D9
+5932 5F22 6D9B 7EE6 638F 7D5B 8A5C 5ACD 5E4D 6146
+642F 6ED4 69C4 746B 97EC 98F8 7E1A 7E27 6FE4 8B1F
+8F41 97B1 97DC 9955
+530B 8FEF 54B7 6D2E 9003 6843 9676 5555 68BC 6DD8
+7EF9 8404 7979 88EA 7DAF 872A 9780 9184 9789 92FE
+932D 99E3 6AAE 9940 9A0A 9F17
+8BA8 8A0E
+5957
+5FD1 5FD2 7279 8CA3 86AE 94FD 615D 92F1 87A3 87D8
+71A5 81AF 9F1F
+75BC 75CB 5E50 817E 8A8A 6F1B 6ED5 9086 7E22 99E6
+8B04 512F 85E4 9A30 7C50 9C27 7C58 9A63
+972F
+8645
+5254 68AF 9511 8E22 64FF 9DC8 9DC9
+82D0 5397 8351 7EE8 504D 557C 5D39 60FF 63D0 7A0A
+7F07 7F64 9046 9E48 55C1 7445 7D88 78AE 8906 5FB2
+6F3D 7DF9 855B 876D 92BB 9898 8DA7 8E44 918D 8B15
+8E4F 9357 9CC0 9D3A 984C 9BB7 9D5C 9A20 9BF7 9D97
+9D99 79B5 9DE4
+4F53 632E 8EB0 9AB5 9BA7 8EC6 9AD4
+623B 8FCF 5243 6711 6D1F 501C 608C 6D95 9016 6090
+60D5 63A6 9037 60D6 63E5 66FF 6974 88FC 8905 6B52
+6BA2 9AF0 8599 568F 9B00 5694 74CB 7C4A 8DAF
+5C49 5C5C 7B39 5D5C
+5929 5172 5A56 6DFB 915F 9754 9EC7 975D
+7530 5C47 6CBA 606C 754B 7551 76F7 80CB 7560 751B
+751C 83FE 6E49 5861 586B 6437 923F 9617 7DC2 78CC
+7AB4 74B3 95D0 9DC6 9DCF
+5FDD 6B84 500E 553A 60BF 6DDF 666A 7420 8146 89CD
+75F6 7753 8214 9902 89A5 8CDF 932A 9369 9766
+63AD 777C 821A
+78B5 9D2B
+65EB 4F7B 5EA3 604C 6311 7967 804E
+8280 6761 5CA7 5CB9 8FE2 7952 689D 7B24 8414 84DA
+84E8 8D92 9F86 6A24 8729 92DA 9797 9AEB 9CA6 9BC8
+93A5 9F60 9C37
+5BA8 6640 6713 8101 7A95 8A82 65A2 7AB1 5B25
+773A 7C9C 7D69 899C 8DF3 7CF6
+87A9
+5E16 6017 8D34 841C 8051 8CBC
+94C1 86C8 50E3 9295 92E8 9D29 9421 9435 9A56
+546B 98FB 992E
5385 5E81 6C40 827C 542C 753A 8013 539B 70C3 686F
-70F4 7D8E 9793 8074 807C 5EF0 807D 5EF3 9092 5EF7
-4EAD 5EAD 839B 505C 5A77 5D49 6E1F 7B73 8476 8713
-695F 69B3 95AE 9706 8064 874F 8AEA 9F2E 5722 4FB9
-5A17 633A 6D8F 6883 70F6 73FD 8121 94E4 8247 988B
-8248 8A94 92CC 9832 6FCE 4E6D 56F2 70B5 901A 75CC
-55F5 84EA 6A0B 71A5 4EDD 540C 4F5F 5F64 5CC2 5E9D
-54C3 72EA 833C 664D 6850 6D75 70D4 783C 8692 772E
-79F1 94DC 7AE5 7CA1 7D67 8855 8D68 916E 9256 50EE
-52ED 9275 9285 9907 9C96 6F7C 735E 66C8 6723 6A66
-6C03 729D 81A7 77B3 7A5C 9BA6 7EDF 6345 6876 7B52
-7D71 7B69 7D82 6078 75DB 615F 6185 5077 5078 5A7E
-5AAE 936E 4EA0 5934 6295 9AB0 7DF0 982D 59B5 7D0F
-6568 6B95 65A2 9EC8 8623 900F 51F8 79BF 79C3 6022
-7A81 550B 6D8B 6378 5817 6E65 75DC 8456 5D80 92F5
-9D5A 9F35 56F3 56FE 51C3 5CF9 5EA9 5F92 6087 6348
-6D82 837C 9014 5C60 688C 63EC 7A0C 5857 5D5E 760F
-7B61 816F 84A4 922F 5716 5717 5EDC 6F73 8DFF 9174
-999F 934E 99FC 9D4C 9D9F 9DCB 9DF5 571F 5721 5410
-6C62 948D 91F7 514E 8FCC 5154 83B5 580D 83DF 9D75
-6E4D 732F 7153 8C92 56E2 56E3 629F 526C 5278 5718
-587C 6171 6476 69EB 6F19 7BFF 6AB2 93C4 7CF0 9DD2
-9DFB 5715 7583 5F56 6E6A 8916 63A8 84F7 85EC 9893
-96A4 5C35 9839 983A 983D 9B4B 7A68 8608 8E6A 4FC0
-812E 817F 50D3 8E46 9ABD 9000 5A27 717A 86FB 8715
-892A 99FE 541E 5451 65FD 6D92 554D 671C 711E 66BE
-9ED7 5C6F 5FF3 829A 9968 8C58 8C5A 8ED8 98E9 9C80
-9B68 9715 81C0 81CB 6C3D 757D 5749 4E47 8BAC 6258
-6261 6C51 9966 6754 4F82 5483 62D5 62D6 6CB0 4FBB
-6329 635D 838C 88A5 8A17 6DB6 812B 8131 98E5 99B2
-9B60 9A5D 9A6E 4F57 9640 9641 5768 5CAE 6CB1 72CF
-8FF1 9A7C 67C1 7823 7824 8889 9E35 7D3D 5836 8A51
-8DCE 9161 78A2 99B1 69D6 99C4 8E3B 99DD 99DE 6A50
-9B80 9D15 9F27 9A28 9F0D 9A52 9F09 5F75 59A5 6BE4
-5EB9 5AA0 692D 6955 5AF7 64B1 6A62 9D4E 9C16 62D3
-67DD 553E 841A 8DC5 6BFB 7BA8 8600 7C5C 5C72 52B8
-54C7 5A03 5F8D 6316 6D3C 5A32 7556 7A8A 5558 5AA7
-55D7 86D9 6432 6E9B 6F25 7AAA 9F03 6528 74E6 4F64
-90B7 5493 74F2 7819 889C 8049 55E2 817D 8183 896A
-97C8 97E4 6B6A E81F 558E 7AF5 5D34 5916 9861 4E5B
-5F2F 525C 5A60 5E35 5846 6E7E 7755 873F 6F6B 8C4C
-5F4E 58EA 7063 4E38 5213 6C4D 7EA8 8284 5B8C 5C8F
-5FE8 628F 73A9 7B02 7D08 6356 987D 70F7 7413 8CA6
-9811 909C 5B9B 5007 550D 633D 665A 76CC 839E 57E6
-5A49 60CB 6669 689A 6DB4 7EFE 8118 83C0 667C 6900
-742C 7696 7579 7897 7DA9 7DB0 8F13 8E20 92D4 9350
-4E07 534D 5350 59A7 6764 6365 8155 842C 7FEB 92C4
-858D 933D 8D03 93AB 8D0E 5C23 5C29 5C2A 5C2B 6C6A
-4EA1 4EBE 5166 738B 4EFC 5F7A 83A3 869F 7F51 5FF9
-5F80 5F83 6789 7F54 60D8 83F5 6680 68E2 7139 86E7
-8F8B 7DB2 8744 8AB7 8F1E 7007 9B4D 5984 5FD8 8FCB
-65FA 76F3 671B 6722 5371 5A01 70D3 504E 9036 9687
-9688 55B4 5A81 5A99 6104 63CB 63FB 6E28 7140 8468
-8473 5FAE 6933 6972 6EA6 7168 8A74 7E05 875B 89A3
-5DB6 8587 71F0 9CC2 7650 5DCD 9C03 9C04 56D7 4E3A
-97E6 5729 56F4 5E0F 6CA9 8FDD 95F1 5CD7 5CDE 6D08
-70BA 97CB 6845 6DA0 552F 5E37 60DF 7EF4 55A1 570D
-5D6C 5E43 6E4B 6E88 7232 741F 9055 6F4D 7DAD 84F6
-912C 6F59 6F7F 9180 6FF0 934F 95C8 9BA0 7653 89B9
-72A9 973A 973B 5383 4F1F 4F2A 5C3E 7EAC 829B 82C7
-59D4 709C 73AE 6D27 5A13 6364 6D58 8371 8BFF 5049
-507D 5D23 68B6 75CF 784A 840E 9697 9AA9 5D54 5EC6
-5FAB 6107 7325 8466 848D 9AAA 9AAB 6690 6932 7152
-744B 75FF 8172 8249 97EA 50DE 78A8 8732 873C 9C94
-5BEA 7DEF 853F 8AC9 8E13 97D1 9820 85B3 5130 6FFB
-9361 9BAA 58DD 97D9 98B9 7022 97E1 4EB9 6596 536B
-672A 4F4D 5473 82FF 754F 80C3 53DE 8ECE 5C09 7859
-83CB 8C13 5582 5AA6 6E2D 732C 715F 589B 851A 6170
-71AD 729A 78D1 7DED 875F 885B 61C0 6FCA 748F 7F7B
-885E 8B02 9317 9927 9B87 87B1 893D 9935 9B4F 85EF
-8F4A 93CF 9728 9CDA 8636 9956 8B86 8E97 8B8F 8E9B
-6637 586D 6E29 6985 6B9F 6EAB 7465 8F92 69B2 761F
-8C71 8F3C 8F40 9CC1 93BE 9942 9C1B 9C2E 6587 5F63
-7EB9 82A0 7086 7807 95FB 7D0B 8689 868A 73F3 960C
-922B 96EF 7612 805E 99BC 9B70 9CFC 9D0D 87A1 95BA
-95BF 87C1 95C5 9F24 95E6 95E7 520E 543B 545A 5FDF
-6286 5461 80B3 7D0A 687D 8117 7A33 7A4F 7A69 95EE
-598F 6C76 83AC 554F 6E02 8115 63FE 6435 7D7B 9850
-74BA 7FC1 55E1 9E5F 8789 9393 9DB2 52DC 5963 5855
-5D61 6EC3 84CA 66A1 7788 806C 74EE 8579 7515 7F4B
-9F46 631D 502D 6DA1 83B4 5529 6DB9 6E26 7327 8435
-5594 7A9D 7AA9 8717 64BE 8778 8E12 6211 5A50 5A51
-6370 4EF4 6C83 809F 5367 81E5 5053 637E 5A89 5E44
-63E1 6E25 7125 786A 6943 815B 65A1 7783 6FE3 74C1
-81D2 9F8C 9F77 4E4C 572C 5F19 6C59 6C5A 6C61 90AC
-545C 6747 5DEB 5C4B 6D3F 8BEC 94A8 70CF 8DB6 526D
-7A8F 91EB 9114 55DA 8A88 6B4D 8AA3 7BBC 8790 9D2E
-93A2 9C1E 65E0 6BCB 5433 5434 543E 5449 829C 90DA
-5514 5A2A 68A7 6D16 6D6F 8323 8381 73F8 7966 9E40
-7121 7991 8708 856A 7491 9D50 9BC3 9F2F 9DE1 4E44
-4E94 5348 4EF5 4F0D 575E 59A9 5E91 5FE4 6003 8FD5
-65FF 6B66 739D 4FAE 4FC9 5035 6342 554E 5A2C 727E
-73F7 5862 6440 7193 7894 9E49 7466 821E 5AF5 5EE1
-61AE 6F55 933B 511B 6A46 7512 9D61 8E8C 5140 52FF
-52A1 620A 9622 4F06 5C7C 6264 5C89 674C 82B4 5FE2
-7269 77F9 6544 8BEF 52D9 609E 609F 60AE 7C85 901C
-6664 7110 7111 5A7A 5D4D 75E6 9696 9770 9A9B 5966
-5D68 6EA9 96FE 5BE4 7183 8AA4 9E5C 92C8 7AB9 971A
-9F3F 9727 9F40 8601 9A16 9DA9 5915 516E 5FDA 6C50
-897F 8980 5438 5E0C 6278 5365 6614 6790 77FD 7A78
-80B8 80B9 4FD9 5F86 6038 8BF6 90D7 997B 550F 595A
-5A2D 5C56 5C57 606F 6095 665E 6C25 6D60 727A 72F6
-8383 553D 6089 60DC 6878 6B37 6DC5 6E13 70EF 7101
+70F4 7D8E 9793 8074 807C 5EF0 807D 5EF3
+9092 5EF7 4EAD 5EAD 839B 505C 5A77 5D49 6E1F 7B73
+8476 8713 695F 69B3 95AE 9706 8064 874F 8AEA 9F2E
+5722 753C 4FB9 5A17 633A 6D8F 6883 70F6 73FD 8121
+8247 988B 8A94 9832
+56F2 70B5 901A 75CC 55F5 84EA
+4EDD 540C 4F5F 5F64 5CC2 5E9D 54C3 5CDD 72EA 833C
+664D 6850 6D75 70D4 783C 8692 772E 79F1 94DC 7AE5
+7CA1 7B69 8A77 8D68 916E 9256 50EE 52ED 9275 9285
+9907 9C96 6F7C 735E 66C8 6723 6A66 6C03 71D1 729D
+81A7 77B3 9BA6
+7EDF 6345 6876 7B52 7D71 7D82 6A0B
+6078 75DB 8855 615F 6185
+5077 5078 5A7E 5AAE 92C0 936E
+4EA0 5934 6295 9AB0 7DF0 982D
+59B5 94AD 7D0F 6568 98F3 9EC8 8623
+900F 7D89
+51F8 5B8A 79BF 79C3 6022 7A81 550B 6D8B 6378 5817
+6E65 75DC 8456 5D80 92F5 9D5A 9F35
+56F3 56FE 51C3 5CF9 5EA9 5F92 6087 6348 837C 9014
+5C60 688C 83DF 63EC 7A0C 5715 5857 5D5E 760F 7B61
+816F 84A4 922F 5716 5717 5EDC 6F73 8DFF 9174 999F
+934E 99FC 9D4C 9D9F 9DCB 9DF5
+571F 5721 5410 948D 91F7
+514E 8FCC 5154 580D 9D75
+6C62 6D82 83B5
+6E4D 732F 7153 8C92
+56E2 56E3 629F 5278 5718 6171 6476 6F19 69EB 7BFF
+6AB2 93C4 7CF0 9DD2 9DFB
+7583
+5F56 6E6A 8916
+63A8 84F7 85EC
+5F1A 9893 96A4 5C35 9839 983A 983D 9B4B 7A68 8608
+8E6A
+4FC0 817F 50D3 8E46 9ABD
+4FBB 9000 5A27 717A 86FB 8715 892A 99FE
+541E 5451 6D92 554D 671C 711E 564B 66BE 9ED7
+5C6F 5749 5FF3 829A 9968 8C58 8C5A 8ED8 98E9 9C80
+9B68 9715 81C0 81CB
+6C3D 757D
+65FD
+4E47 4EDB 8BAC 6258 6261 6C51 9966 6754 4F82 5483
+62D5 62D6 6CB0 6329 635D 838C 88A5 8A17 6DB6 812B
+8131 98E5 9B60 9A5D
+9A6E 4F57 9640 9641 5768 5CAE 6CB1 6CB2 72CF 8FF1
+7823 7824 8889 9E35 7D3D 5836 8DCE 9161 78A2 99B1
+69D6 99C4 99DE 6A50 9B80 9D15 9F27 9A28 9F0D 9A52
+9F09
+5F75 59A5 5EB9 5AA0 692D 6955 5AF7 6A62 9D4E 9B0C
+9C16
+67DD 6BE4 553E 841A 8DC5 6BFB 7BA8 8600 7C5C
+9A7C 99DD
+FDD0-0057
+7A75 52B8 6316 6D3C 5A32 7556 7A8A 5AA7 55D7 86D9
+6432 6E9B 6F25 7AAA 9F03 6528
+5A03
+74E6 4F64 90B7 5493
+889C 8049 55E2 817D 8183 896A 97C8 97E4
+5C72 74F2 54C7
+6B6A 558E 7AF5
+5D34
+5916 591E 9861
+5F2F 525C 5A60 5E35 5846 6E7E 873F 6F6B 8C4C 5F4E
+58EA 7063
+4E38 5213 6C4D 7EA8 8284 5B8C 5C8F 628F 73A9 7D08
+6356 987D 70F7 7413 9811 7FEB
+5B9B 5007 550D 633D 76CC 57E6 5A49 60CB 665A 689A
+7EFE 8118 83C0 8416 6669 667C 6900 742C 7696 7579
+7755 7897 7DA9 7DB0 8F13 8E20 92C4 92D4
+4E07 534D 5350 59A7 5FE8 6365 8115 8CA6 842C 8155
+8F10 6FAB 858D 933D 87C3 8D03 93AB 8D0E
+909C 6764 7B02
+5C23 5C2A 5C2B 6C6A 5C29
+4EA1 4EBE 5166 738B 4EFC 5F7A 83A3 869F
+7F52 7F51 5F80 5F83 7F54 5F8D 60D8 83F5 6680 68E2
+86E7 8F8B 7DB2 8744 8AB7 8F1E 7007 9B4D
+5984 5FD8 8FCB 65FA 76F3 671B 6722
+6789 7139
+5371 5A01 70D3 504E 840E 9036 9687 9688 55B4 5A99
+6104 63CB 63FB 6E28 8468 8473 5FAE 6933 6972 6EA6
+7168 8A74 8732 875B 89A3 8587 71F0 9CC2 5DCD 9C03
+9C04
+56D7 97E6 5729 56F4 5E0F 6CA9 8FDD 95F1 5CD7 5CDE
+6D08 97CB 6845 6DA0 552F 5E37 60DF 7859 7EF4 55A1
+570D 5A81 5D6C 5E43 6E4B 6E88 741F 9055 6F4D 7DAD
+84F6 912C 6F59 6F7F 78D1 9180 6FF0 934F 95C8 9BA0
+7653 89B9 72A9 973A 6B08
+5383 4F1F 4F2A 5C3E 7EAC 829B 82C7 59D4 709C 73AE
+6D27 5A13 5C57 6D58 8371 8BFF 5049 507D 5D23 68B6
+75CF 784A 9AA9 5D54 5FAB 6107 7325 8466 848D 9AAA
+9AAB 6690 6932 7152 744B 75FF 8172 8249 97EA 50DE
+64B1 78C8 9C94 5BEA 7DEF 853F 8AC9 8E13 97D1 9820
+85B3 5130 6FFB 9361 9BAA 58DD 7022 97D9 98B9 97E1
+8624 6596
+536B 4E3A 672A 4F4D 5473 82FF 70BA 754F 80C3 53DE
+8ECE 5C09 83CB 8C13 5582 5AA6 6E2D 7232 715F 78A8
+851A 873C 6170 71AD 729A 7DED 885B 61C0 748F 7F7B
+885E 8B02 9927 9B87 87B1 893D 9935 9B4F 85EF 8F4A
+93CF 9728 9CDA 8636 9956 8B86 8E97 8B8F 8E9B
+6364 7140 732C 589B 7E05 875F 5DB6
+6637 586D 6E29 6985 6B9F 6EAB 7465 8F92 761F 8570
+8C71 8F3C 8F40 9CC1 97B0 9C1B 9C2E
+5301 6587 5F63 7EB9 82A0 7086 739F 95FB 7D0B 8689
+868A 73F3 960C 741D 96EF 7612 805E 99BC 9B70 9CFC
+9D0D 87A1 95BA 95BF 87C1 95C5 9F24 95E6
+520E 543B 5FDF 6286 5461 80B3 7D0A 687D 8117 7A33
+7A4F 7A69
+95EE 598F 6C76 83AC 554F 6E02 63FE 6435 9850 74BA
+545A 922B 93BE
+7FC1 55E1 6EC3 9E5F 8789 9393 9DB2
+52DC 5963 5855 5D61 84CA 66A1 7788 806C
+74EE 8579 7515 7F4B 9F46
+631D 502D 6DA1 83B4 5529 6DB9 6E26 7327 8435 7A9D
+7AA9 8717 64BE 8778 8E12
+6211 5A50 6370
+4EF4 6C83 809F 5367 6782 81E5 5053 637E 6DB4 5A89
+5E44 63E1 6E25 7125 786A 6943 815B 65A1 7783 64ED
+6FE3 74C1 81D2 96D8 9F8C 9F77
+4E4C 572C 5F19 6C59 6C5A 6C61 90AC 545C 5DEB 6747
+5C4B 6D3F 8BEC 94A8 70CF 526D 7A8F 9114 55DA 6B4D
+8AA3 7BBC 8790 9D2E 93A2 9C1E
+65E0 6BCB 5433 5434 543E 5449 829C 90DA 5514 5A2A
+6D16 6D6F 8323 8381 68A7 73F8 7966 7121 94FB 9E40
+7991 8708 8A88 856A 7491 87F1 9BC3 9D50 8B55 9F2F
+9DE1
+4E94 5348 4EF5 59A9 5E91 5FE4 6003 65FF 6B66 739D
+4FAE 4FC9 5035 6342 554E 5A2C 727E 73F7 6440 7894
+9E49 7193 7466 821E 5AF5 5EE1 61AE 6F55 511B 6A46
+7512 9D61 8E8C
+5140 52FF 620A 9622 4F06 5C7C 6264 575E 5C89 674C
+82B4 8FD5 5FE2 7269 77F9 537C 6544 8BEF 609E 609F
+60AE 7C85 901C 6664 7110 5A7A 5D4D 75E6 9696 9770
+9A9B 5862 5966 5D68 6EA9 96FA 96FE 5BE4 7183 8AA4
+9E5C 907B 92C8 7AB9 971A 9F3F 9727 9F40 8601 9A16
+9DA9
+4E44 52A1 4F0D 52D9 933B
+FDD0-0058
+5915 516E 5438 5FDA 6271 6C50 8980 5E0C 6278 5365
+6614 6790 7A78 80B8 80B9 4FD9 5F86 6038 6053 90D7
+997B 550F 595A 5C56 6095 6C25 6D60 727A 72F6 8383
+553D 6089 60DC 637F 665E 6878 6B37 6DC5 70EF 7101
7108 740B 7852 83E5 8D65 91F8 5092 60C1 6670 6673
-711F 712C 7280 774E 7A00 7C9E 7FD5 7FD6 823E 910E
-5380 5D60 5FAF 6EAA 7155 7699 84A0 9521 50D6 69BD
-7184 7188 7199 7DC6 8725 8A92 8C68 990F 563B 564F
-5B06 5B09 761C 819D 9919 51DE 6A28 6A40 6B59 6B5A
-71B9 71BA 71BB 7AB8 7FB2 8785 8787 932B 71E8 72A0
-77A6 7902 87CB 8C3F 8C40 8C6F 8C95 7E65 96DF 9BD1
-9D57 89F9 8B46 91AF 93ED 96B5 5DC7 66E6 7214 72A7
-9145 89FD 9F37 8835 9E02 89FF 9474 4E60 90CB 5E2D
-7FD2 88AD 89CB 5AB3 693A 84B5 84C6 5D8D 6F1D 89A1
-8D98 69E2 8777 8582 96B0 6A84 8B35 93B4 972B 9CDB
-98C1 9A31 9A3D 8972 9C3C 9A68 676B 67B2 6D17 73BA
-5F99 94E3 559C 5F9A 8448 8478 9222 5C63 6F07 84F0
-9291 6198 6199 66BF 6A72 6B56 79A7 8AF0 58D0 7E30
-8B11 87E2 8E5D 74BD 9C5A 77D6 7E9A 8EA7 5338 534C
-620F 5C43 7CFB 9969 546C 5FE5 602C 7EC6 90C4 4FC2
-54A5 6044 76FB 90E4 6B2F 7EE4 7D30 91F3 960B 5848
-691E 8204 8D87 9699 6140 6ECA 798A 7D8C 8D69 969F
-7182 7294 7A27 622F 6F5D 6F5F 6F99 856E 89A4 6231
-9ED6 6232 78F6 8669 993C 9B29 56B1 95DF 973C 884B
-5477 75A8 867E 8C3A 5084 9595 656E 7146 98AC 778E
-8766 9C15 5323 4FA0 72CE 4FE0 5CE1 67D9 70A0 72ED
-965C 5CFD 70DA 72F9 73E8 796B 7856 7B1A 7FC8 823A
-967F 6E8A 7864 9050 6433 6687 7455 7B6A 78AC 821D
-8F96 78CD 7E00 8578 7E16 8D6E 9B7B 8F44 935C 971E
-938B 9EE0 9A22 9DB7 959C 4E05 4E0B 5413 5737 759C
-590F 68BA 53A6 5EC8 7771 8AD5 5687 61D7 7F45 5913
-93EC 4ED9 4EDA 5C73 5148 597E 7EA4 4F61 5FFA 6C19
-6774 7946 79C8 82EE 67AE 7C7C 73D7 83B6 6380 94E6
-8DF9 9170 9528 50CA 50F2 5615 929B 9C9C 66B9 97EF
-5B10 61B8 859F 9341 9342 7E4A 893C 97F1 9BAE 99A6
-8E6E 5B45 5EEF 6515 8B63 7E8E 9DB1 8973 8E9A 7E96
-9C7B 4F2D 549E 95F2 59B6 5F26 8D24 54B8 550C 6326
-6D8E 80D8 5A34 5A39 5A71 7D43 8237 86BF 8854 5563
-6E7A 75EB 86DD 9591 9E47 5ACC 8858 7509 929C 5AFA
-5AFB 61AA 648F 6F96 8AB8 8CE2 8AF4 8F31 918E 7647
-764E 85D6 9E79 7925 8D12 9466 9DF3 9DF4 9DFC 51BC
-72DD 663E 9669 5D04 6BE8 70CD 7303 86AC 967A 8D7B
-7B45 5C1F 5C20 641F 7992 8706 8DE3 7BB2 85D4 96AA
+711F 712C 7280 774E 7A00 7C9E 7FD5 823E 910E 5380
+5D60 5FAF 6EAA 7699 84A0 9521 50D6 69BD 7155 7184
+7188 7199 7DC6 8725 8C68 990F 563B 564F 5B06 5B09
+5DB2 6F5D 761C 78CE 819D 51DE 6199 6A28 6A40 71B9
+71BA 71BB 7AB8 7E18 7FB2 8785 8787 932B 71E8 77A6
+87CB 8C3F 8C40 8C6F 8C95 7CE6 7E65 96DF 9D57 89F9
+8B46 91AF 93ED 96B5 5DC7 66E6 7214 72A7 9145 89FD
+9F37 8835 9E02 89FF 9474
+4E60 90CB 5E2D 7FD2 88AD 89CB 5AB3 693A 84B5 84C6
+5D8D 6F1D 89A1 8D98 69E2 8582 96B0 6A84 8B35 93B4
+972B 9CDB 98C1 9A31 9A3D 8972 9C3C 9A68
+67B2 6D17 73BA 5F99 94E3 559C 8448 8478 9222 9268
+9269 5C63 6F07 84F0 6198 66BF 6B56 79A7 8AF0 58D0
+7E30 8B11 87E2 8E5D 74BD 56CD 9C5A 77D6 8EA7
+5338 534C 620F 5C43 7CFB 9969 546C 5FE5 602C 77FD
+7EC6 4FC2 54A5 6044 76FB 90E4 6B2F 7EE4 7D30 91F3
+960B 55BA 691E 7FD6 8203 8204 8D87 9699 6140 6ECA
+798A 7D8C 8D69 969F 588D 7182 7294 7A27 6F5F 6F99
+856E 89A4 6231 9ED6 6232 78F6 8669 993C 9B29 7E6B
+56B1 95DF 973C 5C6D 884B
+897F 606F 6E13 6A72 72A0 7902 9BD1
+8672 75A8 867E 8C3A 5084 9595 7146 7175 98AC 778E
+8766 9C15
+5323 4FA0 72CE 4FE0 5CE1 67D9 70A0 72ED 965C 5CFD
+70DA 72F9 73E8 796B 7856 7FC8 823A 967F 7864 9050
+656E 6687 7455 7B6A 821D 78AC 8F96 78CD 7E00 8578
+7E16 8D6E 9B7B 8F44 935C 971E 938B 9EE0 9A22 9DB7
+959C
+4E05 4E0B 4E64 5413 759C 590F 7771 5687 61D7 7F45
+93BC 5913 93EC
+5737 68BA 6E8A
+4EDA 5C73 5148 597E 7EA4 4F61 5FFA 6C19 6774 7946
+79C8 82EE 67AE 7C7C 73D7 83B6 6380 8A2E 94E6 8DF9
+9170 9528 50CA 5615 929B 9C9C 66B9 97EF 5B10 61B8
+859F 9341 893C 97F1 9BAE 8E6E 99A6 5EEF 6515 7E8E
+9DB1 8973 8E9A 7E96 9C7B
+4F2D 95F2 59B6 5F26 8D24 54B8 550C 6326 6D8E 80D8
+5A34 5A39 5A71 7D43 8237 86BF 8854 5563 75EB 86DD
+9591 9592 9E47 5ACC 8858 7509 929C 5AFA 5AFB 61AA
+648F 6F96 7A34 8AB8 8CE2 71C5 8AF4 8F31 918E 7647
+764E 77AF 85D6 7925 9E79 9E99 8D12 9DF3 9DF4 9DFC
+51BC 72DD 663E 9669 5D04 6BE8 70CD 7303 86AC 967A
+8D7B 7B45 5C1F 5C20 641F 7992 8DE3 9291 7BB2 96AA
5DAE 736B 736E 85D3 934C 71F9 9855 5E70 6507 6AF6
-861A 7381 97C5 986F 7066 53BF 5C98 82CB 73B0 7EBF
-81FD 9650 59ED 5BAA 770C 9665 54EF 57B7 5A0A 5A28
-5CF4 665B 6D80 83A7 9677 73FE 784D 9985 774D 7D64
-7F10 7FA1 732E 7CAF 7FA8 817A 50E9 50F4 7DAB 8AA2
-648A 7DDA 92E7 61B2 6A4C 7E23 930E 9921 8C4F 9EB2
-7017 81D4 737B 7CEE 93FE 9730 9F38 4E61 8297 76F8
-9999 90F7 53A2 554C 9109 910A 5EC2 6E58 7F03 8459
-9115 697F 858C 7BB1 7DD7 81B7 8944 5FC0 9AA7 9E98
-6B00 74D6 9576 9C5C 9472 9A64 74E8 4F6D 8BE6 5EA0
-6819 7965 7D74 7FD4 8A73 8DED 4EAB 4EAF 54CD 8683
-9977 6651 98E8 60F3 9284 9909 9C9E 56AE 8801 9B9D
-9BD7 97FF 9957 995F 9C76 5411 59E0 5DF7 9879 73E6
-8C61 7F3F 842B 9805 50CF 52E8 5D91 66CF 6A61 8950
-87D3 940C 9C4C 7071 7072 547A 67AD 4FBE 524A 54D3
-67B5 9A81 5BAF 5BB5 5EA8 6077 6D88 7EE1 8653 900D
-9E2E 554B 5A4B 689F 7107 7307 8427 75DA 75DF 785D
-7863 7A99 7FDB 8437 9500 63F1 7D83 5610 6B4A 6F47
-7BAB 8E03 5635 61A2 64A8 7362 92B7 9704 5F47 81AE
-856D 9B48 9D1E 7A58 7C18 85C3 87C2 87CF 8B1E 9D35
-56A3 701F 7C2B 87F0 9AC7 56BB 56C2 6AF9 9AD0 9DCD
-8828 9A4D 6BCA 8648 6D28 90E9 5D24 6DC6 8A24 8AB5
+861A 8B63 7381 97C5 986F 7066
+4F23 53BF 549E 5C98 82CB 73B0 7EBF 81FD 9650 59ED
+5BAA 770C 9665 54EF 57B7 5A0A 5A28 5CF4 6D80 83A7
+9677 665B 73FE 784D 9985 774D 7D64 7F10 7FA1 732E
+7CAF 7FA8 817A 8706 50E9 50F4 7DAB 8AA2 648A 7DDA
+92E7 61B2 6A4C 7E23 930E 9921 58CF 8C4F 9EB2 7017
+81D4 737B 7CEE 9F38
+4ED9 50F2 7E4A 9466
+4E61 8297 76F8 9999 90F7 53A2 554C 9109 910A 5EC2
+6E58 7F03 8459 9115 7A25 858C 7BB1 7DD7 81B7 8944
+5FC0 9AA7 9E98 6B00 74D6 9576 9472 9A64
+74E8 4F6D 8BE6 5EA0 6819 7965 7D74 7FD4 8A73 8DED
+4EAB 4EAF 54CD 9977 6651 98E8 60F3 9284 9909 9C9E
+66CF 8801 9B9D 9BD7 97FF 9957 995F 9C76
+5411 59E0 5DF7 8683 9879 73E6 8C61 5842 7F3F 842B
+8856 9805 50CF 52E8 5D91 9297 6A61 8950 56AE 87D3
+95C0 940C 9C4C
+697F 9C5C
+7071 7072 547A 67AD 4FBE 54D3 67B5 9A81 54EE 5BAF
+5BB5 5EA8 6D88 7EE1 8653 900D 9E2E 5A4B 689F 7107
+7307 8427 75DA 75DF 785D 7863 7A99 7FDB 8437 9500
+63F1 7D83 560B 5610 6B4A 6F47 7BAB 8E03 5635 61A2
+7362 92B7 9704 5F47 81AE 856D 9B48 9D1E 7A58 7C18
+85C3 87C2 87CF 9D35 56A3 701F 7C2B 87F0 9AC7 6AF9
+56BB 56C2 9AD0 8828 9A4D 6BCA 8648
+6D28 7B05 90E9 5D24 6DC6 8A24 6BBD 7B4A 8AB5
5C0F 6653 6681 7B71 7B7F 769B 66C9 7BE0 8B0F 76A2
-5B5D 8096 52B9 54B2 6054 4FF2 54EE 6548 6821 6D8D
-7B11 5578 509A 6569 6EE7 8A68 560B 5628 8A9F 562F
-6B57 71BD 6585 6586 4E9B 6954 6B47 874E 880D 52A6
-534F 65EA 90AA 5354 80C1 57A5 594A 5CEB 604A 62F9
-631F 633E 8105 8107 810B 887A 5055 659C 8C10 7332
-7D5C 7FD3 55CB 6136 643A 744E 7D8A 7181 818E 52F0
-64B7 64D5 7DF3 7F2C 8762 978B 8AE7 71F2 64F7 97B5
-896D 9437 651C 7E88 8B97 9FA4 5199 51A9 5BEB 85DB
+5B5D 8096 52B9 54B2 4FF2 6548 6821 6D8D 7B11 5578
+509A 6569 8A68 5628 8A9F 562F 6B57 71BD 97A9 6585
+6586
+6077 6EE7
+4E9B 63F3 7332 6954 6B47 874E 880D
+52A6 534F 65EA 90AA 5354 80C1 57A5 594A 5CEB 604A
+62F9 631F 633E 8105 8107 887A 5055 659C 8C10 7FD3
+55CB 6136 643A 744E 7D8A 7181 818E 52F0 64B7 64D5
+7DF3 7F2C 8762 978B 9821 8AE7 71F2 64F7 97B5 896D
+651C 7E88 8B97 9FA4
+5199 51A9 5BEB 85DB
4F33 707A 6CC4 6CFB 7944 7EC1 7F37 5378 6D29 70A7
-70A8 5368 5A0E 5C51 5C53 5070 5FA2 68B0 710E 79BC
-7D32 4EB5 5A9F 5C5F 63F3 6E2B 7D4F 7D6C 8C22 50C1
-586E 698D 69AD 8909 5667 5C67 66AC 7DE4 97F0 5DB0
-5EE8 61C8 6FA5 736C 7CCF 85A2 85A4 9082 71EE 893B
-8B1D 5911 7009 97A2 7023 7215 87F9 880F 9F58 9F65
-9F42 8EA0 5C6D 8E9E 5FC4 5FC3 90A4 59A1 5FFB E844
-82AF 8F9B 6615 677A 6B23 76FA 4FFD 8398 60DE 8A22
-920A 950C 65B0 6B46 5EDE 92C5 5677 567A 5B1C 85AA
-99A8 946B 99AB 6794 9B35 9414 4F08 6F43 9620 4F29
-56DF 5B5E 7098 4FE1 8ED0 812A 8845 8A2B 712E 99B8
-820B 9856 91C1 5174 72CC 661F 57B6 9A8D 60FA 7329
-714B 7446 8165 86F5 89EA 7BB5 7BC2 8208 8B03 9B8F
-66D0 89F2 9A02 76A8 9BF9 5211 884C 90A2 5F62 9649
-4F80 90C9 54D8 578B 6D10 9498 9658 5A19 784E 88C4
-94CF 9203 9276 9292 92DE 7772 9192 64E4 674F 59D3
-5E78 6027 8347 5016 8395 5A5E 60BB 6DAC 5842 7DC8
-5B39 81D6 51F6 5144 5147 5308 828E 8BBB 5FF7 6C79
-54C5 605F 6D36 80F7 80F8 8A29 8A7E 96C4 718A 8BC7
-8A57 5910 657B 4F11 4FE2 4FEE 54BB 5EA5 70CB 70CC
-7F9E 8129 8119 9E3A 81F9 8C85 9990 6A07 929D 9AE4
-9AF9 9380 9BB4 9D42 9948 93C5 98CD 82EC 673D 7D87
-6EEB 7CD4 79C0 5CAB 73DB 7EE3 8896 7407 9508 6EB4
-7D89 7493 88E6 890E 890F 92B9 8791 7E4D 7E61 93E5
-93FD 9F45 620C 65F4 759E 76F1 6B28 7809 80E5 987B
-8A0F 987C 8657 865A 8C1E 5AAD 5E41 63DF 6B3B 865B
-9808 6948 7AA2 980A 5618 7A30 9700 9B46 5653 589F
-5B03 6B54 7E03 8566 8751 6B58 8ADD 8B43 9B56 9A49
-9450 9B1A 4FC6 5F90 84A3 8BB8 5474 59C1 8BE9 5194
-6829 73DD 5066 8A31 6E51 668A 8A61 9126 7CC8 9191
-76E8 65ED 4F35 5E8F 6C7F 4F90 5379 6C80 53D9 6064
-662B 6D2B 57BF 6B30 6B88 70C5 73EC 755C 52D6 52D7
-654D 6558 70FC 7EEA 7EED 9157 55A3 58FB 5A7F 6702
-6E86 7D6E 8A39 55C5 6149 7166 7D9A 84C4 8CC9 69D2
-6F35 6F4A 76E2 7781 7DD2 805F 928A 735D 7A38 7DD6
-85C7 77B2 85DA 7E8C 9C6E 84FF 5405 8F69 660D 54BA
-5BA3 6645 8ED2 688B 8C16 55A7 5847 5A97 6103 610B
-63CE 8431 8432 6684 714A 7444 84D2 777B 5107 79A4
-7BAE 7FE7 8756 5B1B 857F 8AE0 8AFC 9379 99FD 77CE
-7FFE 85FC 8610 8809 8B5E 9C1A 8B82 7384 73B9 75C3
-60AC 65CB 7401 8701 5AD9 6F29 66B6 7487 6A88 74BF
-61F8 9009 70DC 6685 9078 7663 766C 6030 6CEB 6621
-70AB 7EDA 7729 88A8 94C9 7404 7734 8852 6E32 7D62
-6965 6966 9249 78B9 8519 955F 9799 98B4 7E3C 7E4F
-93C7 8D19 75B6 8486 9774 859B 8FA5 97BE 7A74 6588
-4E74 5779 5B66 5CA4 5CC3 8313 6CF6 8895 9E34 8E05
-5B78 5DA8 6FA9 71E2 89F7 96E4 9DFD 96EA 6A30 81A4
-825D 8F4C 9CD5 9C48 8840 5437 6034 6CE7 72D8 75A6
-6856 70D5 8C11 8D90 8B14 7025 5743 52CB 57D9 7104
-52DB 5864 718F 7AA8 8512 52F2 52F3 85AB 99E8 5691
-58CE 736F 85B0 66DB 71FB 81D0 77C4 860D 58E6 720B
-7E81 91BA 5EF5 5BFB 5DE1 65EC 9A6F 674A 8BE2 5CCB
-6042 6D35 6D54 7D03 8340 6812 686A 6BE5 73E3 5071
-5C0B 5FAA 63D7 8A62 99B4 9129 9C9F 565A 6F6F 6533
-6A33 71C2 71C5 71D6 7495 8951 87F3 9C4F 9C58 7065
-5342 8BAD 8BAF 4F28 6C5B 8FC5 4F9A 5F87 72E5 8FFF
-900A 6B89 8A0A 8A13 8A19 595E 5DFD 6BBE 905C 613B
-8CD0 5640 8548 9868 9442 4E2B 538B 5440 5E98 62BC
-9E26 6860 9E2D 5B72 94D4 690F 9D09 930F 9D28 58D3
-9D76 941A 7259 4F22 5C88 82BD 5393 6792 740A 7B0C
-869C 5810 5D15 5D16 6DAF 731A 7458 775A 8859 6F04
-9F56 758B 538A 5E8C 54D1 5516 555E 75D6 96C5 7602
-8565 529C 5720 4E9A 7A75 897E 8BB6 4E9C 72BD 8FD3
-4E9E 73A1 57AD 5A05 631C 7811 4FF9 6C29 57E1 5A6D
-6397 8A1D 63E0 6C2C 7330 8050 5714 7A0F 7AAB 9F7E
-54BD 6079 5266 70DF 73DA 80ED 5063 5D26 6DF9 7109
-83F8 9609 6E6E 814C 50BF 7159 9122 5AE3 6F39 852B
-5D96 6A2E 9183 95B9 5B2E 7BF6 61D5 81D9 9EEB 8BA0
-5186 5EF6 95EB 4E25 598D 82AB 8A00 8A01 5CA9 6616
-6CBF 708E 90D4 59F8 5A2B 72FF 7814 839A 5A2E 76D0
-7402 784F 8A2E 9586 960E 5D52 5D53 E863 7B75 7D96
-8712 5869 63C5 694C 8A7D 789E 8505 989C 8664 95BB
-53B3 6A90 984F 9854 56B4 58DB 5DCC 7C37 6AE9 9E99
-58E7 5B4D 5DD6 5DD7 5DDA 6B15 7939 9E7D 9EA3 5935
-6281 6C87 4E75 5156 5944 4FE8 5157 533D 5F07 884D
-5043 53A3 63A9 773C 8412 90FE 9153 5D43 611D 624A
-63DC 68EA 6E30 6E37 7430 9043 9692 693C 787D 7F68
-88FA 6F14 8917 622D 8758 9B47 565E 8EBD 7E2F 6ABF
-9EE1 53B4 7517 9C0B 9DA0 9EE4 9F5E 9F91 513C 9EEC
-9EED 9869 9F34 5DD8 66EE 9B58 9F39 9F74 9EF6 538C
-599F 89C3 726A 59F2 5F65 5F66 781A 5501 5BB4 664F
-8273 898E 9A8C 5050 639E 7114 8C1A 9681 55AD 5830
-6565 7130 7131 7312 786F 8455 96C1 693B 6EDF 9CEB
-53AD 5895 66A5 7196 917D 5B0A 8C33 990D 9D08 71C4
-71D5 8AFA 8D5D 9B33 66D5 9D33 9140 9A10 9A13 56A5
-E845 5B3F 8276 8D0B 8EC5 7213 91B6 9A34 9DC3 7054
-8D17 8D18 89FE 8B8C 91BC 995C 9A57 9DF0 8277 704E
-91C5 9A60 7067 8B9E 8C53 8C54 7069 592E 5489 59CE
-62B0 6CF1 6B83 80E6 770F 79E7 9E2F 9260 96F5 9785
-9348 9D26 626C 7F8A 9626 9633 65F8 6768 7080 4F6F
-52B7 6C1C 75A1 9496 98CF 579F 5F89 661C 6D0B 7F8F
-70CA 73DC 773B 967D 5D35 5D38 63DA 86D8 656D 6698
-694A 716C 7993 760D 8AF9 8F30 935A 9D39 98BA 940A
-9C11 9737 9E09 536C 4EF0 4F52 5771 594D 5C9F 517B
-70B4 6C27 75D2 7D3B 509F 6967 8EEE 6143 6C31 7FAA
-990A 99DA 61E9 6501 7001 7662 7922 600F 67CD 6059
-6837 7F95 8A47 69D8 6F3E 6A23 5E7A 592D 5406 5996
-6796 7945 8A1E 5593 847D 6946 8170 9D01 9080 723B
-5C27 5C2D 80B4 579A 59DA 5CE3 8F7A 5004 70D1 73E7
-7A91 509C 582F 63FA 6BBD 8C23 8EFA 55C2 5AB1 5FAD
-612E 6416 6447 733A 9059 9065 647F 669A 69A3 7464
-7476 929A 98D6 9906 5DA2 5DA4 5FBA 78D8 7AAF 7AB0
-991A 7E47 8B20 8B21 9390 9CD0 98BB 8628 9864 9C29
-4EF8 5B8E 5C86 62AD 6773 6B80 72D5 82ED 54AC 67FC
-7711 7A85 7A88 8200 5060 5A79 5D3E 6E94 84D4 699A
-9D22 95C4 9A15 9F69 9DD5 7A7E 836F 8981 888E 7A94
-7B44 846F 8A4F 718E 899E 977F 735F 9E5E 85AC 9F3C
-66DC 71FF 825E 85E5 77C5 66E3 8000 7E85 9DC2 8B91
-9470 503B 6930 668D 564E 6F71 882E 7237 8036 6353
-63F6 94D8 723A E84A 91FE 92E3 9381 64E8 4E5F 5414
-4EAA 51B6 57DC 91CE 5622 6F1C 58C4 4E1A 53F6 66F3
-9875 90BA 591C 62B4 4EB1 67BC 6D02 9801 6359 6654
-67BD 70E8 505E 6396 6DB2 8C12 5828 6B97 814B 8449
-9113 58B7 696A 696D 998C 50F7 66C4 66C5 6B4B 71C1
-64D6 64DB 76A3 77B1 9134 9765 5DAA 5DAB 6FB2 8B01
+5368 5A0E 5C51 5C53 505E 5070 5FA2 68B0 70F2 710E
+79BC 7D32 4EB5 5A9F 5C5F 6E2B 7D4F 7D6C 8C22 50C1
+586E 698D 69AD 8909 5667 5C67 66AC 7DE4 5DB0 5EE8
+61C8 6FA5 736C 7CCF 85A2 85A4 9082 97F0 71EE 893B
+8B1D 99F4 7009 97A2 7023 7215 7E72 87F9 880F 9F58
+9F5B 9F65 9F42 8E9E
+810B 5911
+5FC3 90A4 59A1 5FFB 82AF 8F9B 6615 677A 6B23 7098
+76FA 4FFD 60DE 8A22 920A 950C 65B0 6B46 5EDE 92C5
+5B1C 85AA 99A8 946B 99AB
+6794 8951 9414
+4F08
+9620 4F29 56DF 5B5E 4FE1 8ED0 812A 8845 8A2B 712E
+7161 99B8 9856 820B 91C1
+5FC4 567A
+661F 57B6 9A8D 60FA 7329 714B 7446 8165 86F5 89EA
+7BB5 7BC2 9B8F 66D0 89F2 935F 9A02 76A8 9BF9
+5211 884C 90A2 5F62 9649 4F80 90C9 578B 6D10 8365
+9498 9658 5A19 784E 94CF 9203 6ECE 9276 9292 92DE
+7772 9192 64E4
+5174 674F 59D3 5E78 6027 8347 5016 8395 5A5E 60BB
+6DAC 7DC8 8208 5B39 81D6
+54D8 88C4 8B03
+51F6 5144 5147 5308 8BBB 5FF7 6C79 54C5 605F 6D36
+80F7 80F8 8A29 8A7E 8CEF
+96C4 718A
+713D
+8BC7 7138 8A57 5910 657B
+4F11 4FE2 4FEE 54BB 5EA5 70CB 70CC 7F9E 8129 8119
+9E3A 81F9 8C85 9990 6A07 929D 9AE4 9AF9 9380 9D42
+93C5 9948 9C43 98CD
+82EC
+673D 6EEB 7D87 7CD4
+79C0 5CAB 5CC0 73DB 7EE3 8896 7407 9508 55C5 6EB4
+7493 890E 890F 92B9 8791 7E4D 7E61 93E5 93FD 9F45
+9BB4
+5401 620C 65F4 759E 76F1 6B28 80E5 987B 6647 8A0F
+987C 8657 865A 8C1E 5AAD 5E41 63DF 6E51 865B 88C7
+9808 6948 7AA2 980A 5618 589F 9700 9B46 5653 5B03
+6B54 7E03 8566 8751 8ADD 8B43 7E7B 9B56 9A49 9450
+9B1A
+4FC6 5F90 84A3
+8BB8 5474 59C1 8BE9 5194 6829 73DD 5066 8A31 668A
+8A61 7A30 9126 7CC8 9191 76E8
+65ED 4F35 5E8F 6C7F 82A7 4F90 5379 6034 6C80 53D9
+6064 662B 6D2B 57BF 6B30 6B88 70C5 73EC 52D6 654D
+6558 52D7 70FC 7EEA 7EED 9157 55A3 58FB 5A7F 6702
+6E86 7D6E 8A39 6149 7166 84C4 8CC9 69D2 6F35 6F4A
+76E2 7781 7DD2 805F 928A 735D 7A38 7DD6 9B63 85C7
+77B2 85DA 7E8C 9C6E
+8053 7D9A 84FF
+5405 8F69 660D 5BA3 5F32 8ED2 688B 8C16 55A7 5847
+5A97 6103 610B 63CE 8431 8432 6684 714A 7444 84D2
+777B 5107 79A4 7BAE 7E07 7FE7 8756 92D7 61C1 857F
+8AE0 8AFC 9379 99FD 77CE 7FFE 85FC 8610 8809 8B5E
+7384 73B9 75C3 60AC 65CB 7401 8701 5AD9 6F29 66B6
+7487 6A88 74BF 61F8
+54BA 9009 6645 70DC 9078 9848 7663 766C
+6030 6CEB 6621 70AB 7EDA 7729 88A8 94C9 7404 7734
+8852 6E32 7D62 6965 6966 9249 78B9 8519 955F 9799
+98B4 7E3C 7E4F 93C7 8B82 8D19
+9C1A
+524A 75B6 8486 9774 859B 8FA5 8FAA 97BE
+7A74 6588 4E74 5B66 5CA4 5CC3 8313 6CF6 8895 9E34
+8E05 58C6 5B78 5DA8 6FA9 71E2 89F7 96E4 9DFD
+96EA 9CD5 9C48
+8840 5437 5779 72D8 6856 8C11 8D90 8B14 7025
+81A4 6A30 825D 8F4C
+5743 52CB 57D9 7104 52DB 5864 718F 7AA8 8512 52F2
+52F3 85AB 99E8 58CE 736F 85B0 66DB 71FB 81D0 77C4
+860D 58E6 7E81 91BA
+5EF5 5BFB 65EC 5DE1 9A6F 674A 7543 8BE2 5CCB 6042
+6D35 6D54 7D03 8340 8368 6812 686A 6BE5 73E3 5071
+5C0B 5FAA 63D7 69C6 6F43 8A62 99B4 9129 9C9F 565A
+6F6F 6533 6A33 71D6 7495 87F3 9C4F 9C58 7065
+5342 8BAF 4F28 6C5B 8FC5 4F9A 5DFA 5F87 72E5 8FFF
+900A 6B89 8A0A 8A19 595E 5DFD 6BBE 7A04 905C 613B
+8CD0 5640 6F60 8548 9D55 720B 9868 9442
+8BAD 8A13 5691
+FDD0-0059
+4E2B 5727 538B 5416 5E98 62BC 6792 57AD 9E26 6860
+9E2D 57E1 5B72 690F 9D09 930F 9D28 58D3 9D76 941A
+7259 4F22 5391 5C88 82BD 5393 73A1 740A 7B0C 869C
+5810 5D15 5D16 6DAF 731A 7458 775A 8859 6F04 9F56
+538A 5E8C 54D1 5516 555E 75D6 96C5 7602 8565
+529C 5720 8F67 4E9A 897E 8BB6 4E9C 72BD 8FD3 4E9E
+8ECB 5A05 631C 7811 4FF9 6C29 5A6D 6397 8A1D 94D4
+63E0 6C2C 7330 8050 5714 7A0F 7AAB 9F7E
+4E5B 5440
+6079 5266 70DF 73DA 80ED 5063 5571 5D26 6DCA 6DF9
+7109 7111 83F8 9609 6E6E 7312 814C 7159 787D 9122
+5AE3 6F39 9183 95B9 5B2E 61E8 7BF6 61D5 81D9 9EEB
+8BA0 5EF6 4E25 598D 82AB 8A00 5CA9 6616 6CBF 708E
+90D4 59F8 5A2B 72FF 7814 839A 5A2E 76D0 7402 784F
+9586 960E 5D52 5D53 6E7A 7B75 7D96 8712 5869 63C5
+694C 8A7D 789E 8505 989C 53B3 8664 95BB 6A90 984F
+9854 56B4 58DB 5DCC 7C37 6AE9 9EEC 58E7 5B4D 5DD7
+5DD6 7939 9E7D 9EA3
+5935 6281 6C87 4E75 5156 5944 4FE8 5157 533D 5F07
+884D 5043 53A3 63A9 773C 8412 90FE 9153 5D43 611D
+624A 63DC 68EA 6E30 6E37 7430 9043 9692 693C 7F68
+88FA 6F14 8917 5D96 622D 8758 9B47 565E 8EBD 7E2F
+6ABF 9A13 9EE1 53B4 7517 9C0B 9DA0 9EE4 9F5E 9F91
+513C 9EED 9869 9F34 5DD8 5DDA 66EE 9B58 9F39 9F74
+9EF6
+538C 95EB 599F 89C3 726A 54BD 59F2 5F65 5F66 781A
+5501 5BB4 664F 70FB 8273 898E 9A8C 5050 7114 8C1A
+9681 55AD 5830 6565 7130 7131 786F 8455 96C1 50BF
+693B 6E8E 6EDF 9CEB 53AD 5895 66A5 917D 5B0A 8C33
+990D 9D08 71C4 71D5 8AFA 8D5D 9B33 66D5 9D33 9140
+9A10 56A5 5B3F 8276 8D0B 66E3 7213 91B6 9A34 9DC3
+7054 8D17 89FE 8B8C 91BC 995C 9A57 9DF0 8277 704E
+91C5 9A60 7067 8B9E 8C53 8C54 7069
+8A01 7196 6A2E 8EC5 6B15
+592E 5489 59CE 62B0 6CF1 6B83 80E6 770F 79E7 9E2F
+9260 96F5 9785 9D26
+626C 7F8A 9626 9633 65F8 6768 7080 98CF 4F6F 52B7
+6C1C 75A1 9496 579F 5F89 661C 6D0B 7F8F 70CA 73DC
+773B 967D 5D35 5D38 63DA 86D8 656D 6698 694A 716C
+7993 760D 8AF9 8F30 935A 9D39 98BA 940A 9C11 9737
+9E09
+4EF0 4F52 5771 5C9F 517B 67CD 70B4 6C27 75D2 7D3B
+509F 6967 8EEE 6143 6C31 8746 990A 99DA 61E9 6501
+7662
+600F 6059 6837 7F95 8A47 69D8 6F3E 6A23 7001
+594D 7FAA 7922
+5E7A 592D 5406 5996 6796 6B80 7945 8A1E 5593 847D
+6946 8170 9D01 9080
+723B 5C27 5C2D 80B4 579A 59DA 5CE3 8F7A 5004 70D1
+73E7 7A91 509C 582F 63FA 8C23 8EFA 55C2 5AB1 5FAD
+612E 6416 6447 733A 9059 9065 669A 69A3 7464 7476
+929A 98D6 9906 5DA2 5DA4 7AAF 7AB0 991A 7E47 8B20
+8B21 9390 9CD0 98BB 8628 908E 9864 9C29
+4EF8 5B8E 5C86 62AD 6773 72D5 82ED 54AC 67FC 7711
+7A85 7A88 8200 5060 5A79 5D3E 6E94 84D4 699A 9D22
+9F3C 95C4 9A15 9F69 9DD5
+7A7E 836F 8981 94A5 888E 7A94 7B44 846F 8A4F 718E
+899E 977F 735F 9E5E 85AC 66DC 71FF 825E 85E5 77C5
+8000 7E85 9DC2 8B91 9470
+503B 6396 6930 668D 564E 6F71 882E
+8036 6353 63F6 94D8 91FE 92E3 9381 64E8
+4E5F 5414 51B6 57DC 91CE 5622 6F1C 58C4
+4E1A 53F6 66F3 9875 66F5 90BA 591C 62B4 4EB1 67BC
+9801 6654 67BD 70E8 5558 6DB2 8C12 5828 6B97 814B
+8449 9113 58B7 696A 696D 998C 50F7 66C4 66C5 6B4B
+71C1 64DB 76A3 77B1 9134 9765 5DAA 5DAB 6FB2 8B01
9923 5688 64EB 66D7 77B8 9371 64EA 7217 790F 9391
-9941 9D7A 9768 9A5C 9E08 81B6 5C83 4E00 5F0C 8FB7
-8864 4F0A 8863 533B 541A 58F1 4F9D 794E 54BF 6D22
-7317 7569 90FC 94F1 58F9 63D6 6B39 86DC 7995 5ADB
-6F2A 7A26 92A5 5B04 566B 5901 747F 9E65 7E44 6AB9
-6BC9 91AB 9EDF 8B69 9DD6 9EF3 4E41 4EEA 531C 572F
-5937 519D 5B90 675D 6C82 8BD2 4F87 5B9C 6021 6CB6
-72CB 886A 8FE4 9974 54A6 59E8 5CD3 5F2C 605E 67C2
-74F5 8351 8D3B 8FFB 5BA7 5DF8 6245 6818 684B 7719
-80F0 8898 914F 75CD 79FB 8413 5A90 692C 7FA0 86E6
-8A52 8CBD 9057 6686 6938 8A83 8DE0 9809 9890 98F4
-7591 5100 71AA 907A 5DAC 5F5B 5F5C 8794 9824 9825
-5BF2 5DB7 7C03 984A 9BA7 5F5D 5F5E 8B3B 93D4 7C4E
-89FA 8B89 9E03 4E59 5DF2 4EE5 8FC6 9487 4F41 653A
-77E3 82E1 82E2 5EA1 8223 8681 91D4 501A 6246 7B16
-9018 506F 5D3A 65D1 6905 9218 926F 9CE6 65D6 8F22
-657C 8798 6AA5 7912 8264 87FB 9857 8F59 9F6E 4E42
-4E49 4EBF 5F0B 5208 5FC6 827A 4EE1 5307 808A 8BAE
-9623 4EA6 4F07 5C79 5F02 5FD4 8285 4F3F 4F5A 52AE
-5453 5744 5F79 6291 66F5 6759 8034 82C5 8BD1 9091
-4F7E 546D 5479 59B7 5CC4 6008 603F 6613 678D 6CC6
-7088 79C7 7ECE 8BE3 9A7F 4FCB 5955 5E1F 5E20 5F08
-67BB 6D42 73B4 75AB 7FBF 8875 8F76 5508 57BC 6092
-6339 6827 683A 6B2D 6D65 6D73 76CA 88A3 8C0A 8CA4
-966D 52DA 57F6 57F8 6098 60A5 6BB9 7570 7F9B 7FCA
-7FCC 841F 8A32 8A33 8C59 8C5B 9038 91F4 96BF 5E46
-6561 6679 68ED 6B94 6E59 7132 86E1 8A4D 8DC7 8EFC
-9220 9AAE 4E84 517F 610F 6EA2 7348 75EC 7AE9 7F22
-7FA9 8084 88D4 88DB 8A63 52E9 5AD5 5ED9 698F 6F69
-7617 8189 84FA 8734 977E 99C5 5104 648E 69F8 6BC5
+9941 9D7A 9437 9768 9A5C 9E08
+7237 4EAA 723A
+4E00 4E4A 5F0C 4F0A 8863 533B 541A 58F1 4F9D 794E
+54BF 6D22 6098 7317 90FC 94F1 58F9 63D6 6B39 86DC
+7995 5ADB 6F2A 7A26 92A5 5B04 566B 5901 747F 9E65
+7E44 6AB9 6BC9 91AB 9EDF 8B69 9DD6 9EF3
+4E41 4EEA 531C 572F 5937 8FC6 519D 5B90 6C82 8BD2
+4F87 6021 6CB6 72CB 886A 8FE4 9974 54A6 59E8 5CD3
+605E 62F8 67C2 73C6 74F5 8D3B 8FFB 5BA7 5DF8 5F2C
+6245 6818 684B 7719 80F0 8898 8A11 8CA4 75CD 79FB
+801B 8413 51D2 7FA0 86E6 8A51 8A52 8CBD 9057 5A90
+6686 6938 8A83 8DE0 9809 9890 98F4 7591 5100 71AA
+7BB7 907A 5DAC 5F5B 5F5C 8794 9824 5BF2 5DB7 7C03
+984A 5F5D 5F5E 8B3B 93D4 89FA 8B89 9E03
+4E59 5DF2 4EE5 9487 4F41 653A 77E3 8094 82E1 82E2
+5EA1 8223 8681 91D4 501A 6246 7B16 9018 914F 506F
+5D3A 65D1 6905 926F 9CE6 88FF 65D6 8E26 8F22 657C
+8798 6AA5 7912 8264 87FB 9857 8F59 9F6E
+4E42 4E49 4EBF 5F0B 5208 5FC6 827A 808A 8BAE 4EA6
+4F07 5C79 5F02 8285 4F3F 4F5A 52AE 5453 5744 5F79
+6291 6759 8034 82C5 8BD1 9091 4F7E 546D 5479 5CC4
+6008 603F 6613 678D 6B25 6CC6 7088 79C7 7ECE 8BE3
+9A7F 4FCB 5955 5E1F 5E20 5F08 67BB 6D02 6D42 73B4
+75AB 7FBF 8875 8F76 5508 57BC 6092 6339 6359 6827
+683A 6B2D 6D65 6D73 76CA 88A3 8C0A 966D 52DA 57F6
+57F8 60A5 639C 6BB9 7570 785B 7F9B 7FCA 7FCC 8A32
+8A33 8C59 8C5B 9038 91F4 96BF 5E46 6561 6679 68ED
+6B94 6E59 7132 86E1 8A4D 8DC7 8EFC 9220 9AAE 4E84
+517F 610F 6EA2 7348 75EC 776A 7AE9 7F22 7FA9 8084
+88D4 88DB 8A63 52E9 5AD5 5ED9 698F 6F69 7617 8189
+84FA 8734 977E 99C5 5104 648E 69F8 6BC5
71A0 71A4 71BC 761E 8ABC 9552 9E5D 9E62 9ED3 5293
571B 58BF 5B11 5B1F 5DA7 61B6 61CC 66C0 6BAA 6FBA
71DA 7631 7796 7A53 7E0A 8257 858F 87A0 8939 5BF1
-6581 66CE 6A8D 6B5D 71E1 71F1 7FF3 7FFC 81C6 8C96
+6581 66CE 6A8D 6B5D 71E1 71F1 7FF3 7FFC 81C6 8CF9
9BA8 7654 85D9 85DD 8D00 93B0 9571 7E76 7E79 8C77
-972C 9BE3 9D82 9D83 9D8D 7037 8619 8B6F 8B70 91B3
-91B7 9950 56C8 943F 9DC1 9DCA 61FF 897C 9A5B 9DE7
-8649 9DFE 8B9B 9F78 4E5A 56D9 56E0 9625 9634 4F8C
-5794 59FB 6D07 8335 836B 97F3 9A83 6836 6BB7 6C24
-9670 51D0 79F5 88C0 94DF 967B 9682 5591 5819 5A63
-6114 7B43 7D6A 6B45 6EB5 798B 8491 852D 6147 7616
-92A6 78E4 7DF8 9787 8AF2 9712 99F0 567E 6FE6 95C9
-9720 97FE 5198 4E51 541F 72BE 82C2 65A6 57A0 6CFF
-5701 5CFE 70CE 72FA 73E2 7C8C 8376 8A14 552B 5A6C
-5BC5 5D1F 5D2F 6DEB 8A21 94F6 921D 9F82 6EDB 7892
-911E 5924 8529 8A1A 8ABE 9280 9F88 5656 6BA5 748C
-569A 6AAD 87EB 972A 9F57 9F66 9DE3 5EF4 5C39 5F15
-5432 996E 8693 9690 6DFE 91FF 920F 98F2 96A0 9777
-98EE 6704 8D9B 6A83 763E 96B1 5DBE 6FE5 87BE 861F
-6AFD 766E 8B94 5370 831A 6D15 80E4 57BD 6E5A 730C
-5ED5 9173 616D 764A 6196 6197 E857 9BA3 61DA 6ABC
-5E94 5FDC 82F1 5040 685C 73F1 83BA 5568 5A74 5A96
-6125 6E36 7EEC 6720 7150 745B 5AC8 78A4 9533 5624
-6484 6ECE 7507 7DD3 7F28 7F42 8767 8CCF 6A31 748E
-565F 7F43 892E 9719 9D2C 9E66 5B30 61C9 81BA 97FA
-7516 93A3 9E70 9DA7 56B6 5B46 5B7E 6516 7034 7F4C
-8621 6AFB 74D4 792F 8B7B 9DAF 944D 7E93 8833 9DEA
-8EC8 9DF9 9E0E 9E1A 76C1 8FCE 8314 76C8 8365 8367
-83B9 8424 8425 8426 86CD 55B6 6E81 6E8B 843E 50CC
-584B 6979 6EE2 84E5 6F46 7192 8747 7469 877F 5B34
-71DF 7E08 87A2 6FD9 6FDA 6FF4 85C0 89AE 8B0D 8D62
-5DC6 650D 651A 701B 7020 702F 8805 6AFF 7050 7C5D
-705C 8D0F 7C6F 77E8 90E2 6D67 68AC 988D 9895 9896
-646C 5F71 6F41 763F 7A4E 9834 5DCA 5EEE 941B 766D
-6620 668E 786C 5AB5 81A1 9795 7005 8B4D 54DF 5537
-55B2 4F63 62E5 75C8 9095 5EB8 50AD 55C8 9118 96CD
-5889 5ADE 6175 6EFD 69E6 7245 92BF 5670 58C5 64C1
-6FAD 90FA 955B 81C3 7655 96DD 93DE 9CD9 5EF1 7049
-9954 9C45 9DDB 7670 5581 9899 9852 9C2B 6C38 752C
-548F 603A 6CF3 4FD1 52C7 52C8 6810 57C7 6080 67E1
-6D8C 607F 509B 60E5 6111 6E67 7867 8A60 584E 5D71
-5F6E 6139 86F9 6142 8E0A 799C 9CAC 8E34 9BD2 7528
-82DA 783D 919F 4F18 5FE7 6538 5466 602E 6CD1 5E7D
-60A0 9E80 6EFA 6182 512A 913E 5698 61EE 7000 6ACC
-7E8B 8030 5C22 5C24 7531 6C8B 72B9 90AE 601E 6CB9
-80AC 6023 65BF 67DA 75A3 5CF3 6D5F 79DE 839C 83A4
-83B8 900C 90F5 94C0 5064 86B0 8A27 9030 6E38 7336
-904A 9C7F 6962 7337 923E 9C89 8F0F 99C0 8555 8763
-9B77 8F36 9B8B 6AFE 908E 53CB 6709 4E23 5363 82C3
-9149 7F91 5EAE 7F90 83A0 6884 8048 811C 94D5 6E75
-848F 7989 870F 92AA 69F1 7256 7257 9EDD 53C8 53F3
-5E7C 4F51 4F91 5B67 72D6 7CFF 54CA 56FF 59F7 5BA5
-5CDF 7270 7950 8BF1 8FF6 5500 688E 86B4 4EB4 8C81
-91C9 916D 8A98 9F2C 625C 7EA1 8FC2 8FC3 7A7B 9653
-7D06 8676 5539 6DE4 76D3 6E1D 7600 7B8A 4E8E 4E90
-4E88 9098 4F03 4F59 59A4 6275 6745 6B24 7397 7399
-65BC 76C2 81FE 8867 9C7C 4FDE 516A 79BA 7AFD 8201
-8330 8362 5A1B 5A2F 5A31 72F3 8C00 9151 9980 6E14
-8438 91EA 9683 9685 96E9 9B5A 5823 582C 5D33 5D4E
-5D5B 6109 63C4 6970 6E61 756C 756D 7862 8174 903E
-9AAC 611A 6961 6986 6B48 724F 745C 8245 865E 89CE
-6F01 E856 E85A 776E 7AAC 8206 8915 6B76 7FAD 854D
-8753 8ADB 96D3 9918 9B63 5B29 61D9 6F9E 89A6 8E30
-6B5F 74B5 87B8 8F3F 935D 7916 8B23 9AC3 9BBD 65DF
-7C45 9A1F 9BF2 9C05 9DE0 9E06 4E0E 4F1B 5B87 5C7F
-7FBD 96E8 4FC1 4FE3 6327 79B9 8BED 5704 5CFF 7964
-504A 532C 5709 5EBE 6554 9105 842D 842E 94FB 50B4
-5BD9 659E 6940 7440 7610 8207 8A9E 7AB3 92D9 9F89
-5673 5DBC 8C90 6594 9E8C 860C 9F6C 7389 9A6D 5401
-572B 807F 828B 828C 59AA 5FEC 996B 80B2 90C1 5F67
-6631 72F1 79D7 831F 4FFC 5CEA 682F 6D74 7821 94B0
-9884 5590 57DF 5809 6086 60D0 6B32 6DE2 6DEF 88AC
-8C15 9033 9608 5585 55A9 55BB 5A80 5BD3 5EBD 5FA1
-68DB 68DC 68EB 7134 7419 77DE 88D5 9047 98EB 99AD
-9E46 6108 6EEA 715C 7A22 7F6D 84AE 84E3 8A89 923A
-9810 5AD7 5D8E 622B 6BD3 7344 7609 7DCE 871F 872E
-8F0D 9289 96A9 564A 617E 7A36 84F9 8581 8C6B 9079
-92CA 9CFF 6FA6 71CF 71E0 8577 8AED 9325 95BE 9D25
-9D27 9D2A 5125 7907 79A6 9B4A 9E6C 7652 791C 7A65
-7BFD 7E58 91A7 9D52 6AF2 9947 861B 8B7D 8F5D 942D
-9731 6B0E 9A48 9B3B 7C5E 9C4A 9DF8 9E12 6B1D 8EC9
-9B30 9B31 706A 7C72 7229 56E6 9E22 5248 51A4 5F32
-6081 7722 9E33 5BC3 6E01 6E06 6E0A 6E15 60CC 6DF5
-847E 68E9 84AC 870E 9E53 7BA2 9CF6 8735 99CC 92FA
-9D1B 5B3D 9D77 7041 9F18 9F1D 5143 8D20 90A7 5458
-56ED 6C85 676C 57A3 7230 8C9F 539F 54E1 5706 7B0E
-8696 8881 53A1 915B 570E 63F4 6E72 7328 7F18 9228
-9F0B 5712 5713 586C 5AB4 5AC4 6E90 6E92 733F 7342
-849D 699E 69AC 8F95 7DE3 7E01 875D 876F 9B6D 571C
-6A7C 7FB1 8597 8788 8B1C 8F45 9EFF 93B1 6ADE 908D
-9A35 9DA2 9DB0 53B5 8FDC 76F6 903A 9060 5917 8099
-59B4 82D1 6028 9662 57B8 884F 5086 5A9B 63BE 7457
-7990 613F 88EB 8911 8924 566E 9858 66F0 66F1 7EA6
-7D04 7BB9 77F1 5F5F 5F60 6708 6209 5216 6C4B 5C84
-6288 793F 5CB3 6782 73A5 6071 94A5 6085 60A6 868E
-868F 8ECF 94BA 9605 6373 8DC0 8DC3 7CA4 8D8A 9205
-7CB5 925E 95B1 95B2 5B33 6A3E 7BD7 5DBD 9FA0 7C46
-7039 8625 9EE6 721A 79B4 8E8D 7C65 9E11 7C70 9FA5
-9E19 8480 7174 8495 7185 596B 8779 8D5F 9835 99A7
-8D07 4E91 52FB 5300 4F1D 544D 56E9 5998 62A3 6C84
-7EAD 82B8 6600 7547 7703 79D0 90E7 6DA2 7D1C 8018
-803A 9116 96F2 612A 6C32 6EB3 7B7C 84B7 6C33 7189
-6F90 8553 92C6 6A52 7BD4 7E1C 7E67 5141 962D 593D
-628E 72C1 73A7 9668 837A 6B92 5597 9217 9695 6B9E
-891E 99BB 78D2 9723 9F6B 9F73 5B55 8FD0 679F 90D3
-607D 6655 9106 915D 508A 60F2 6120 7F0A 904B 614D
-6688 816A 97EB 97F5 71A8 7DFC 8570 8574 7E15 8580
-8CF1 9196 919E 992B 85F4 97D7 97DE 860A 97FB 5E00
-531D 6C9E 5482 62F6 6CAF 685A 7D25 7D2E 9254 9B73
-81DC 81E2 6742 7838 97F4 96D1 78FC 894D 96DC 56D0
-96E5 707D 707E 753E 54C9 683D 70D6 83D1 6E3D 6EA8
-7775 8CF3 5BB0 8F7D 5D3D 8F09 518D 5728 6257 6D05
-50A4 9168 510E 7E21 5142 7CCC 7C2A 7C2E 9415 54B1
-507A 5592 661D 5BC1 648D 5127 6512 5139 6522 8DB1
-8DB2 6682 66AB 8CDB 8D5E 933E 913C 6FFD 8E54 9142
-74C9 8D0A 93E8 74D2 9147 56CB 7052 8B83 74DA 79B6
-8978 8B9A 9961 7242 7F98 8D43 8CCD 81E7 8CD8 8D13
-9AD2 8D1C 9A75 99D4 5958 5F09 810F 585F 846C 92BA
-81D3 81DF 50AE 906D 7CDF 8E67 91A9 51FF 947F 65E9
-67A3 6806 86A4 68D7 7485 6FA1 74AA 85BB 85FB 7076
-7681 7682 5515 5523 9020 688D 55BF 6165 7170 8241
-566A 7C09 71E5 7AC3 8B5F 8DAE 8E81 7AC8 556B 4F2C
-5219 629E 6CA2 62E9 6CCE 6CFD 8D23 8FEE 5247 5536
-5567 5E3B 7B2E 8234 8CAC 6EAD 77E0 5616 5AE7 5E58
-7BA6 8536 6A0D 6B75 8ACE 8D5C 64C7 6FA4 769F 7794
-7C00 802B 790B 8957 8B2E 8CFE 880C 9F5A 9F70 9E05
-4EC4 5928 5E82 6C44 6603 6617 6351 5D31 7A04 8D3C
-8CCA 9C97 8808 9C02 9C61 600E 8C2E 8B56 8B5B 56CE
-66FD 66FE 5897 912B 589E 618E 7F2F 6A67 71B7 7494
-77F0 78F3 7F7E 7E52 8B44 9C5B 9503 92E5 7511 8D60
-8D08 5412 8FCA 548B 62AF 6313 67E4 54F3 5067 55B3
-63F8 6E23 6EA0 6942 5284 76B6 7B9A 6A1D 89F0 76BB
-76BC 8B47 9F44 9F47 624E 672D 7534 8F67 8ECB 95F8
-86BB 94E1 7160 7250 9598 9705 9358 8B57 538F 82F2
-7728 781F 6429 9C8A 9C9D 8E37 9B93 9BBA 4E4D 7079
-8BC8 54A4 5953 67F5 6805 70B8 5BB1 75C4 86B1 8A50
-643E 6463 69A8 81AA 91A1 5908 7C82 635A 658B 658E
-658F 6458 69B8 9F4B 5B85 7FDF 7A84 9259 503A 7826
-50B5 5BE8 7635 6CBE 6BE1 65C3 6834 7C98 86C5 98E6
-60C9 8A40 8D88 8A79 959A 8C35 5661 5DA6 6FB6 859D
-9085 9711 6C08 6C0A 77BB 9E6F 65DC 8B6B 9958 9CE3
-9A59 9B59 9C63 9E07 8B9D 62C3 65A9 98D0 5C55 76CF
-5D2D 65AC 7416 640C 76DE 5D83 5D84 6990 8F97 98AD
-5AF8 9186 6A4F 8E4D 8F3E 76BD 9EF5 5360 4F54 6218
-6808 685F 7AD9 5061 7EFD 83DA 68E7 6E5B 6226 7DBB
-5D98 8F1A 9AA3 6230 8665 8666 89B1 8F4F 8638 9A4F
-5F20 5F21 5F35 7AE0 50BD 9123 5ADC 5F70 615E 6F33
-7350 7CBB 8501 9067 66B2 6A1F 748B 9926 87D1 93F1
-9A3F 9C46 9E9E 4EC9 6DA8 6DB1 638C 6F32 5E65 7903
-979D 9423 4E08 4ED7 6259 5E10 6756 80C0 8D26 7C80
-5E33 8139 75EE 969C 5887 5D82 5E5B 8CEC 762C 7634
-7795 4F4B 948A 59B1 5DF6 62DB 662D 70A4 76C4 91D7
-5541 924A 99CB 7ABC 9363 722B 627E 6CBC 7475 53EC
-5146 8BCF 679B 5797 72E3 8D75 7B0A 8081 65D0 68F9
-7F40 8A54 7167 7F69 7B8C 8087 8088 8D99 66CC 71F3
-9BA1 6AC2 77BE 7F84 8707 5AEC 906E 5387 6298 6B7D
-77FA 7813 7C77 8674 54F2 57D1 7C8D 88A9 5560 608A
-6662 6663 8F84 5586 68CF 86F0 8A5F 8C2A 647A 8F12
-6A00 78D4 8F19 92B8 8F99 87C4 569E 8B2B 8B3A 9BBF
-8F4D 8B81 8975 8B8B 8005 9517 8D6D 8936 937A 8FD9
-67D8 6D59 9019 6DDB 55FB 8517 6A1C 9E67 87C5 9DD3
-8D1E 9488 4FA6 6D48 73CD 73CE 8C9E 5E2A 6815 6862
-771E 771F 7827 796F 91DD 5075 6552 686D 9159 5BCA
-6E5E 8474 9049 6438 659F 6968 7349 7504 798E 8496
-84C1 9241 9755 699B 69C7 6B9D 7467 78AA 799B 6F67
-7BB4 6A3C 6FB5 81FB 85BD 9331 8F43 9356 937C 7C48
-9C75 5C52 8BCA 62AE 6795 59EB 5F2B 6623 80D7 8F78
-755B 75B9 7715 8897 7D3E 8044 8419 88D6 8999 8A3A
-8EEB 5AC3 7F1C 7A39 99D7 7E1D 7E25 8FB4 9B12 9EF0
-5733 9635 7EBC 4FB2 630B 9663 9E29 632F 6715 681A
-7D16 7739 8D48 5866 63D5 7D7C 8704 6576 8AAB 8CD1
-92F4 9547 9707 9D06 93AD 93AE 9EEE 51E7 4E89 4F42
-59C3 5F81 6014 722D 5CE5 6323 70A1 72F0 E853 70DD
-7710 94B2 57E9 5D1D 5D22 6399 7319 7741 8047 94EE
-5A9C 63C1 7B5D 5FB0 775C 84B8 9266 5FB4 7B8F 5FB5
-E851 8E2D 7BDC 931A 9B07 7665 6C36 628D 7CFD 62EF
-639F 5863 6678 6138 649C 6574 6B63 32A3 8BC1 8BE4
-90D1 5E27 653F 75C7 5E40 8A3C 912D 8ACD 9D0A 8B49
-4E4B 652F 536E 6C41 829D 5431 5DF5 6C65 679D 77E5
-7EC7 80A2 5F94 6800 7957 79D3 79D6 80D1 80DD 8879
+972C 9BE3 9D82 9D83 7037 8619 8B6F 8B70 91B3 91B7
+9950 56C8 943F 9DC1 9DCA 61FF 897C 9A5B 9DE7 8649
+9DFE 8B9B 9F78
+8FB7 5307 8864 5B9C 7569 841F 692C 9D8D 7C4E
+56D9 56E0 9625 9634 4F8C 5794 59FB 6D07 8335 836B
+97F3 9A83 6836 6BB7 6C24 9670 51D0 79F5 88C0 94DF
+967B 9682 5591 5819 5A63 6114 7B43 7D6A 6B45 6EB5
+798B 852D 6147 647F 7616 92A6 7DF8 9787 8AF2 9712
+99F0 567E 95C9 9720 97FE
+5198 4E51 541F 72BE 82C2 65A6 70CE 57A0 6CFF 5701
+5CFE 72FA 73E2 8376 8A14 8A1A 5A6C 5BC5 5D1F 5D2F
+6DEB 8A21 94F6 921D 9F82 6EDB 7892 911E 5924 8529
+9280 5656 6BA5 748C 8ABE 569A 6AAD 87EB 972A 9F57
+9DE3
+4E5A 5EF4 5C39 5F15 5432 996E 8693 8D7A 9690 6DFE
+920F 98F2 96A0 9777 98EE 6704 8F11 78E4 8D9B 6A83
+763E 96B1 5DBE 6FE5 6FE6 87BE 861F 6AFD 766E 8B94
+5370 831A 6D15 80E4 57BD 5837 6E5A 730C 5ED5 8491
+9173 616D 764A 6196 6197 9BA3 61DA 6ABC
+7C8C
+5E94 5FDC 82F1 5040 685C 83BA 5568 5A74 5A96 6E36
+7EEC 6720 7150 745B 5AC8 78A4 9533 5624 6484 7507
+7DD3 7F28 7F42 8767 8CCF 6A31 748E 7F43 892E 9348
+9719 9D2C 9E66 5B30 61C9 81BA 97FA 7516 9E70 9D91
+9DA7 56B6 5B46 5B7E 6516 7F4C 8621 8B4D 6AFB 74D4
+792F 8B7B 9DAF 944D 7E93 8833 9DEA 9DF9 9E0E 9E1A
+76C1 8FCE 8314 76C8 8367 83B9 55B6 8424 8425 8426
+86CD 6E81 6E8B 843E 50CC 584B 6979 6EE2 84E5 6F46
+7192 7469 877F 5B34 71DF 7E08 87A2 6FD9 6FDA 6FF4
+85C0 89AE 8B0D 8D62 7005 93A3 650D 701B 7020 702F
+6AFF 7034 8D0F 7C5D 7C6F
+77E8 90E2 6D67 68AC 988D 9895 9896 646C 5F71 6F41
+7484 763F 7A4E 9834 5DCA 5EEE 766D
+6620 668E 786C 5AB5 81A1 565F 9795 941B 9C66
+73F1 6125 8747 7E04 651A 8805 7050 705C 8EC8
+54DF 5537 55B2
+4F63 62E5 75C8 9095 5EB8 50AD 55C8 9118 96CD 5889
+5ADE 6175 6EFD 69E6 5670 58C5 64C1 6FAD 90FA 955B
+81C3 7655 96DD 93DE 9CD9 5EF1 7049 9954 9C45 9DDB
+7670
+5581 63D8 7245 9899 9852 9C2B
+6C38 752C 548F 6CF3 4FD1 52C7 52C8 6810 57C7 6080
+67E1 6D8C 607F 509B 60E5 6111 6E67 7867 8A60 584E
+5D71 5F6E 6139 86F9 6142 8E0A 799C 9CAC 8E34 9BD2
+7528 82DA 919F
+603A 783D
+4F18 5FE7 6538 5466 602E 6CD1 5E7D 900C 60A0 9E80
+6EFA 6182 512A 913E 5698 7000 6ACC 7E8B 8030
+5C22 5C24 7531 6C8B 72B9 90AE 6CB9 80AC 6023 65BF
+75A3 5CF3 6D5F 79DE 839C 83B8 90F5 94C0 5064 86B0
+8A27 9030 6E38 7336 904A 9C7F 6962 7337 923E 9C89
+8F0F 99C0 8555 8763 9B77 8F36 9B8B 6AFE
+6709 4E23 5363 82C3 9149 7F91 5EAE 682F 7F90 83A0
+6884 8048 811C 94D5 6E75 7989 870F 92AA 69F1 7256
+9EDD 61EE
+53C8 53F3 5E7C 4F51 4F91 72D6 7CFF 54CA 56FF 59F7
+5BA5 5CDF 67DA 7270 7950 8BF1 8FF6 5500 86B4 4EB4
+8C81 91C9 916D 8A98 9F2C
+53CB 5B67 848F 7257
+625C 7EA1 8FC2 8FC3 7A7B 9653 7D06 8676 5539 6DE4
+76D3 6BFA 7600 7B8A
+4E90 4E8E 9098 4F03 4F59 59A4 6275 6745 6B24 7397
+7399 65BC 76C2 81FE 8867 9C7C 4E7B 4FDE 516A 79BA
+7AFD 8201 8330 5A1B 5A2F 5A31 6859 72F3 8C00 9151
+9980 6E14 8438 9685 96E9 9B5A 5823 582C 5D33 5D4E
+5D5B 6109 63C4 6970 6E1D 6E61 756D 7862 8174 842E
+903E 9AAC 611A 65D5 6961 6986 6B48 724F 745C 8245
+865E 89CE 6F01 776E 7AAC 8206 8915 6B76 7FAD 854D
+8753 8ADB 96D3 9918 5B29 6F9E 89A6 8E30 6B5F 74B5
+87B8 8F3F 935D 8B23 9AC3 9BBD 65DF 7C45 9A1F 861B
+9C05 9DE0 9E06
+4E0E 4E88 4F1B 5B87 5C7F 7FBD 96E8 4FC1 4FE3 79B9
+8BED 5704 5CFF 7964 504A 532C 5709 5EBE 6554 9105
+659E 842D 50B4 5BD9 6940 7440 7610 8207 8A9E 7AB3
+92D9 9828 9F89 5673 5DBC 61D9 8C90 6594 9E8C 860C
+9F6C
+8080 7389 9A6D 572B 807F 828B 828C 59AA 5FEC 996B
+80B2 90C1 6631 72F1 79D7 831F 4FFC 5CEA 5F67 6D74
+7821 94B0 9884 5590 57DF 5809 6086 60D0 6B32 6DE2
+6DEF 8C15 9033 9608 5585 55A9 55BB 5A80 5BD3 5EBD
+5FA1 68DB 68DC 68EB 7134 7419 77DE 7872 88D5 9047
+98EB 99AD 9E46 6108 6EEA 715C 7A22 7F6D 8248 84AE
+84E3 8A89 923A 9810 5AD7 5D8E 622B 6BD3 7344 7609
+7DCE 871F 872E 8F0D 9289 564A 617E 6F4F 7A36 84F9
+8581 8C6B 9079 92CA 9CFF 6FA6 71CF 71E0 8577 8AED
+9325 95BE 9D25 9D2A 5125 7907 79A6 9B4A 9E6C 7652
+7916 791C 7A65 7BFD 7E58 91A7 9D52 6AF2 9947 8B7D
+8F5D 942D 9731 6B0E 9A48 9B3B 7C5E 9C4A 9DF8 9E12
+6B1D 9FA5 8EC9 9B30 9B31 706A 7C72 7229
+6327 8362 6F9A 9BF2
+56E6 9E22 5248 51A4 6081 7722 9E33 5BC3 6E01 6E06
+6E0A 6E15 60CC 6DF5 847E 68E9 84AC 870E 88F7 9E53
+7BA2 9CF6 8735 99CC 9D1B 5B3D 9D77 7041 9F18 9F1D
+5143 5186 8D20 90A7 5458 56ED 6C85 676C 57A3 7230
+8C9F 539F 54E1 5706 7B0E 8696 8881 53A1 570E 63F4
+6E72 7328 7F18 8312 9F0B 5712 5713 586C 5AB4 5AC4
+6E90 6E92 733F 7342 849D 699E 69AC 8F95 7DE3 7E01
+875D 876F 9B6D 6A7C 7FB1 8597 8788 8B1C 8F45 9EFF
+93B1 6ADE 908D 9A35 9DA2 9DB0 53B5
+8FDC 76F6 903A 9060 92FA
+5917 8099 59B4 82D1 6028 9662 57B8 884F 5086 5A9B
+63BE 7457 7990 613F 88EB 8911 8924 566E 9858
+915B 9228
+66F0 66F1 7EA6 7D04 7BB9 77F1 5F5F 5F60
+6708 6209 5216 599C 5C84 6288 793F 5CB3 73A5 6071
+6085 60A6 868E 868F 8ECF 94BA 9605 6373 8DC0 8DC3
+7CA4 8D8A 9205 7CB5 925E 95B1 95B2 5B33 6A3E 7BD7
+5DBD 9FA0 7C46 7039 8625 9EE6 721A 79B4 8E8D 7C65
+9E11 7C70 9E19
+6655 7F0A 8480 6688 6C32 7174 8495 6C33 596B 8779
+7E15 8D5F 9835 99A7 8D07
+4E91 52FB 5300 56E9 5998 6C84 7EAD 82B8 6600 7547
+7703 79D0 90E7 6DA2 7D1C 8018 803A 9116 96F2 612A
+6EB3 7B60 7B7C 84B7 69B2 7189 6F90 8553 92C6 6A52
+7BD4 7E1C 9942
+5141 962D 593D 628E 72C1 9668 837A 6B92 5597 9217
+9695 6B9E 891E 99BB 78D2 8CF1 9723 9F73
+5B55 8FD0 679F 90D3 607D 9106 915D 508A 60F2 6120
+904B 614D 816A 97EB 97F5 7185 71A8 7DF7 7DFC 8574
+8580 9196 919E 992B 85F4 97D7 97DE 860A 97FB
+62A3 7E67
+FDD0-005A
+5E00 531D 6C9E 8FCA 5482 62F6 7D25 7D2E 9254 9B73
+81DC 81E2
+6742 7838 507A 5592 97F4 96D1 5DBB 78FC 894D 96DC
+56CB 56D0 96E5
+548B
+707D 707E 753E 54C9 683D 70D6 83D1 6E3D 7775 8CF3
+5BB0 5D3D
+518D 5728 6257 4FA2 6D05 8F7D 50A4 8F09 9168 510E
+7E21
+5142 7CCC 7C2A 7C2E 9415 941F
+54B1
+661D 6CAF 685A 5BC1 63DD 5646 648D 5127 6505 6512
+5139 6522 8DB1 7938 8DB2
+6682 66AB 8CDB 8D5E 933E 913C 6FFD 8E54 74C9 8D0A
+93E8 74D2 9147 7052 8B83 74DA 79B6 8978 8B9A 9961
+5328 7242 7F98 8D43 8CCD 81E7 8535 8CD8 8D13 9AD2
+8D1C
+9A75 99D4
+5958 5F09 810F 585F 846C 92BA 81D3 81DF
+50AE 906D 7CDF 8E67 91A9
+51FF 947F
+65E9 67A3 86A4 68D7 6FA1 74AA 85BB 7E70 85FB
+7076 7681 7682 5515 5523 9020 688D 55BF 6165 8241
+566A 7C09 71E5 7AC3 8B5F 8DAE 8E81 7AC8
+6806
+5219 629E 6CA2 62E9 6CCE 6CFD 8D23 8FEE 5247 835D
+5536 5567 5E3B 7B2E 8234 8CAC 6EAD 77E0 5616 5AE7
+5E58 7BA6 6A0D 8ACE 8D5C 64C7 6FA4 769F 7794 7C00
+790B 8957 8B2E 8CFE 880C 9F5A 9F70 9E05
+5928 4EC4 5E82 6C44 6603 6617 6351 5D31
+4F2C 8536
+8D3C 621D 8CCA 9C97 9BFD 8808 9C02 9C61
+600E
+8C2E 8B56 8B5B
+56CE
+5897 912B 589E 618E 7F2F 6A67 71B7 7494 77F0 78F3
+7F7E 7E52 8B44
+9503 92E5 7511 8D60 8D08
+9C5B
+624E 5412 62AF 5953 6313 67E4 67FB 54F3 5067 55B3
+63F8 6E23 6942 5284 6463 76B6 6A1D 89F0 76BB 8B47
+9F44 9F47
+672D 7534 95F8 86BB 94E1 7160 7250 9598 7B9A 802B
+9358 8B57
+538F 62C3 82F2 7728 781F 6429 9C8A 9C9D 8E37 9B93
+9BBA
+4E4D 7079 8BC8 54A4 67DE 6805 70B8 5BB1 75C4 86B1
+6EA0 8A50 643E 69A8 9705 91A1
+635A 658B 658E 6458 69B8 9F4B
+5B85 6AA1
+7A84 9259
+503A 7826 50B5 5BE8 7635
+5908 7C82
+6CBE 6BE1 65C3 6834 7C98 86C5 98E6 60C9 8A40 8D88
+8A79 959A 8C35 5661 5DA6 859D 9085 9711 6C08 6C0A
+77BB 9E6F 65DC 8B6B 9958 9CE3 9A59 9B59 9C63 9E07
+8B9D
+65A9 98D0 5C55 76CF 5D2D 65AC 692B 7416 640C 76DE
+5D83 5D84 6990 98AD 5AF8 9186 6A4F 8F3E 9EF5
+5360 4F54 6218 6808 685F 7AD9 5061 7EFD 83DA 68E7
+6E5B 6226 7DBB 5D98 8F1A 6230 8665 8666 89B1 8F4F
+8B67 8638 9A4F
+5F20 5F35 7AE0 50BD 9123 5887 5ADC 5F70 615E 6F33
+7350 7CBB 8501 9067 66B2 6A1F 748B 9926 87D1 9A3F
+9C46 9E9E
+4EC9 957F 9577 6DA8 638C 6F32 7903
+4E08 4ED7 6259 5E10 6756 80C0 8D26 5E33 6DB1 8139
+75EE 969C 5D82 5E5B 8CEC 762C 7634 7795
+7C80 5E65 93F1 9423
+4F4B 948A 59B1 5DF6 62DB 662D 76C4 91D7 5541 924A
+99CB 7ABC 9363 76BD
+722A 627E 6CBC 7475
+53EC 5146 8BCF 679B 5797 70A4 72E3 8D75 7B0A 8081
+65D0 68F9 8A54 7167 7F69 8087 8088 8D99 66CC 71F3
+9BA1 6AC2 77BE 7F84
+722B 7F40
+8707 55FB 5AEC 906E
+5387 6298 6B7D 77FA 7813 7C77 8674 54F2 57D1 7C8D
+88A9 5560 608A 6662 6663 8F84 5586 86F0 8A5F 8C2A
+99B2 647A 8F12 78D4 8F19 92B8 8F99 87C4 569E 8B2B
+8B3A 9BBF 8F4D 8B81 8B8B
+8005 4E7D 556B 7987 9517 8D6D 8936 8975
+8FD9 67D8 6D59 9019 6DDB 6A1C 6F6A 9E67 87C5 9DD3
+7740 8457 8517
+8D1E 9488 4FA6 6D48 73CD 73CE 80D7 8C9E 5E2A 6815
+6862 771E 771F 7827 796F 91DD 5075 686D 9159 5BCA
+8474 9049 5AC3 6438 659F 6968 7349 7504 798E 8496
+84C1 9241 9755 699B 6B9D 7467 78AA 799B 6F67 7BB4
+6A3C 6FB5 81FB 85BD 9331 8F43 937C 7C48 9C75
+8BCA 62AE 6795 5F2B 6623 8F78 5C52 755B 75B9 7715
+8897 7D3E 8044 88D6 8A3A 8EEB 7D7C 7F1C 7A39 99D7
+7E25 9B12 9EF0
+5733 9635 7EBC 753D 4FB2 630B 9663 9E29 632F 6715
+681A 7D16 7739 8D48 9156 5866 63D5 6576 7471 8AAB
+8CD1 9547 9707 9D06 93AD 93AE
+8419 92F4
+4E89 4F42 59C3 5F81 6014 722D 8BE4 57E9 5CE5 6323
+70A1 72F0 70DD 7710 94B2 5D1D 5D22 6399 7319 7741
+8047 94EE 5A9C 63C1 7B5D 5FB0 84B8 775C 8E2D 9266
+5FB4 7B8F 931A 5FB5 7BDC 9B07 9BD6 7665
+6C36 628D 7CFD 62EF 639F 6678 6138 649C 6574
+6B63 8BC1 90D1 5E27 653F 75C7 5E40 8A3C 5863 8ACD
+912D 9D0A 8B49
+51E7
+4E4B 652F 536E 6C41 829D 5431 5DF5 6C65 5767 679D
+6CDC 77E5 7EC7 80A2 6800 7957 79D3 79D6 80D1 80DD
887C 5001 75B7 796C 79EA 8102 96BB 6894 6220 6925
-81F8 6418 7994 7D95 69B0 8718 99B6 9CF7 8B22 9D32
-7E54 8635 9F05 79B5 6267 4F84 5767 76F4 59EA 5024
-503C 8040 8041 91DE 57F4 57F7 804C 690D 6B96 7983
-7D77 8DD6 74E1 588C 646D 99BD 5B02 6179 6F10 8E2F
-6A34 81B1 7E36 8077 87D9 8E60 8E62 8EC4 8E91 5902
-6B62 53EA 51EA 52A7 65E8 962F 5740 5741 5E0B 627A
-6C66 6C9A 7EB8 82B7 62A7 7949 830B 54AB 6049 6307
-67B3 6D14 780B 8F75 6DFD 75BB 7D19 8A28 8DBE 8EF9
-9EF9 916F 85E2 8967 9624 81F3 8296 5FD7 5FEE 627B
-8C78 5236 5394 5781 5E19 5E1C 6CBB 7099 8D28 90C5
-4FE7 5CD9 5EA2 5EA4 6303 67E3 6809 6D37 7951 965F
-5A21 5F8F 631A 664A 684E 72FE 79E9 81F4 889F 8D3D
-8F7E 4E7F 506B 5F9D 63B7 68BD 7318 7564 75D4 79F2
-79F7 7A92 7D29 7FD0 88A0 89D7 8CAD 94DA 9E37 5082
-5D3B 5F58 667A 6EDE 75E3 86ED 9A98 5BD8 5ECC 6431
-6ECD 7A19 7A1A 7B6B 7F6E 8DF1 8F0A 9527 96C9 5886
-69DC 6EEF 6F4C 7590 7608 88FD 899F 8A8C 928D 5E5F
-6184 646F 6F6A 71AB 7A3A 81A3 89EF 8CEA 8E2C 92D5
-65D8 7004 7DFB 96B2 99E4 9D19 5128 5295 61E5 64F2
-64FF 6ADB 7A49 87B2 61EB 8D04 6ACD 74C6 89F6 9A2D
-9BEF 7929 8C51 9A3A 9A47 8E93 9DD9 9455 8C52 4E2D
-4F00 6C77 5223 5990 5F78 8FDA 5FE0 6CC8 7082 7EC8
+81F8 6418 7994 7A19 7D95 69B0 8718 99B6 9CF7 9D32
+9D44 7E54 8635 9F05
+6267 4F84 59B7 76F4 59EA 5024 503C 8040 91DE 57F4
+57F7 6DD4 804C 8CAD 690D 6B96 7286 7983 7D77 8901
+8DD6 55ED 74E1 9244 588C 646D 99BD 5B02 6179 6F10
+8E2F 6A34 81B1 5128 7E36 8077 87D9 8E60 8EC4 8E91
+5902 6B62 53EA 52A7 65E8 962F 5740 5741 5E0B 627A
+6C66 6C9A 7EB8 82B7 603E 62A7 7949 54AB 6049 6307
+67B3 6D14 780B 8879 8F75 6DFD 75BB 7D19 8A28 8DBE
+8EF9 9EF9 916F 85E2 8967
+9624 81F3 8296 5FD7 5FEE 627B 8C78 5236 5394 5781
+5E19 5E1C 6CBB 7099 8D28 8FE3 90C5 5CD9 5EA2 5EA4
+6303 67E3 6809 6D37 7951 965F 5A21 5F8F 631A 664A
+684E 72FE 79E9 81F4 889F 8D3D 8F7E 4E7F 506B 5F9D
+63B7 68BD 6956 7318 7564 75D4 79F2 79F7 7A92 7D29
+7FD0 88A0 89D7 94DA 9E37 5082 5D3B 5F58 667A 6EDE
+75E3 86ED 8EFD 9A98 5BD8 5ECC 6431 6ECD 7A1A 7B6B
+7F6E 8DF1 8F0A 9527 96C9 5886 6EEF 6F4C 7590 88FD
+899F 8A8C 928D 5E5F 6184 646F 71AB 7A3A 81A3 89EF
+8CEA 8E2C 92D5 64F3 65D8 7004 7DFB 99E4 9D19 5295
+61E5 64F2 6ADB 7A49 87B2 61EB 8D04 6ACD 74C6 89F6
+9A2D 9BEF 7929 8C51 9A3A 9A47 8E93 9DD9 9455 8C52
+51EA 4FE7 5F94 8B22
+4E2D 4F00 6C77 5223 5990 5F78 5FE0 6CC8 7082 7EC8
67CA 76C5 8873 949F 822F 8877 7D42 9221 5E52 8520
-953A 87A4 9D24 87BD 937E 9F28 8E71 9418 7C66 80BF
-79CD 51A2 55A0 5C30 585A 6B71 7144 816B 7607 7A2E
-8E35 4EF2 4F17 5995 72C6 794C 794D 833D 8876 91CD
-869B 5045 773E 5839 5A91 7B57 8846 8AE5 5DDE 821F
-8BCC E81B E81A 4F9C 5468 6D00 6D32 70BF 8BEA 70D0
-73D8 8F80 90EE 5A64 5F9F 6DCD 77EA 9031 9E3C 558C
-7CA5 8D52 8F08 9282 8CD9 8F16 970C 99F2 568B 76E9
-8B05 9D43 9A06 8B78 59AF 8F74 8EF8 78A1 8098 5E1A
-759B 83F7 666D 776D 7B92 9BDE 7EA3 4F37 546A 5492
-5B99 7EC9 E825 E824 5191 54AE 663C 7D02 80C4 836E
-665D 76B1 914E 7C99 8464 8A4B 7503 50FD 76BA 99CE
-5663 7E10 9AA4 7C40 7C55 7C52 9A5F 6731 52AF 4F8F
-8BDB 90BE 6D19 8331 682A 3231 73E0 8BF8 732A 7843
-88BE 94E2 7D51 86DB 8A85 8DE6 69E0 6F74 876B 9296
-6A65 8AF8 8C6C 99EF 9BA2 9D38 7026 85F8 6AE7 6AEB
-9F04 9BFA 8829 7AF9 6CCF 7AFA 70A2 7B01 833F 70DB
-7A8B 9010 7B1C 8233 7603 84EB 71ED 880B 8E85 9C41
-529A 5B4E 705F 65B8 66EF 6B18 7225 883E 9483 4E36
-4E3B 5B94 62C4 782B 7F5C 967C 6E1A 7151 716E 8A5D
-5631 6FD0 9E88 77A9 5C6C 56D1 77DA 4F2B 4F47 4F4F
-52A9 7EBB 82A7 82CE 577E 677C 6CE8 82E7 8D2E 8FEC
-9A7B 58F4 67F1 67F7 6BB6 70B7 795D 75B0 771D 7969
-7ADA 8387 79FC 7D35 7D38 7F9C 8457 86C0 5D40 7B51
-8A3B 8CAF 8DD3 8EF4 94F8 7B6F 9252 98F3 99B5 58B8
-7BB8 7FE5 6A26 92F3 99D0 7BC9 7BEB 9714 9E86 9444
-6293 6A9B 81BC 7C3B 9AFD 722A 62FD 8DE9 4E13 53C0
-5C02 7816 5C08 911F 5AE5 747C 750E 819E 989B 78DA
-8AEF 87E4 9853 9C44 8F6C E83F 5B68 8EE2 7AF1 8F49
-7077 556D 581F 8483 7451 50CE 8D5A 64B0 7BC6 9994
-7E33 8948 8CFA 8B54 994C 56C0 7C51 5986 5E84 599D
-5E92 8358 5A24 6869 838A 6E77 7CA7 88C5 88DD 6A01
-7CDA 4E2C 58EE 58EF 72B6 72C0 58F5 6889 710B 5E62
-649E 6205 96B9 8FFD 9A93 690E 9525 9310 9A05 9D7B
-6C9D 5760 7B0D 5A37 7F00 60F4 7500 7F12 7577 787E
-8187 589C 7DB4 8D58 7E0B 8AC8 918A 9323 991F 7908
-8D05 8F5B 9446 5B92 8FCD 80AB 7A80 8C06 8AC4 8860
-51C6 57FB 51D6 6E96 7DA7 8A30 7A15 5353 62D9 70AA
-502C 6349 684C 68C1 6DBF 68F3 7438 7AA7 69D5 7A5B
-7A71 883F 5734 5F74 72B3 707C 53D5 59B0 8301 65AB
-6D4A 4E35 6D5E 70F5 8BFC 914C 5544 5545 5A3A 68B2
-7740 65AE 666B 6913 7422 65B1 787A 7AA1 7F6C 64AF
-64C6 65B2 799A 5285 8AC1 8AD1 92DC 6FC1 7BE7 64E2
-6580 65B5 6FEF 6AE1 8B36 956F E84D 942F 9D6B 7042
-8817 9432 7C57 9DDF 7C71 4ED4 5B56 5B5C 830A 5179
-54A8 59D5 59FF 8332 6825 7386 7D0E 8D40 8D44 5D30
-6DC4 79F6 7F01 8C18 8D7C 55DE 5B73 5D6B 6914 6E7D
-6ECB 7CA2 8458 8F8E 9111 5B76 798C 89DC 8CB2 8CC7
-8D91 9531 7A35 7DC7 922D 9543 9F87 8F1C 9F12 6FAC
-8AEE 8DA6 8F3A 9319 9AED 9CBB 937F 93A1 983E 983F
-9BD4 9D85 9F4D 9C26 9F5C 7C7D 5B50 5407 59C9 59CA
-674D 77F7 79C4 80CF 5470 79ED 8014 8678 7B2B 6893
-91E8 5559 7D2B 6ED3 8A3E 8A3F 699F 6A74 5B57 81EA
-8293 8321 5033 525A 6063 7278 6E0D 7725 7726 80D4
-80FE 6F2C 5528 5B97 5027 7EFC 9A94 582B 5D4F 5D55
-60FE 68D5 7323 8159 847C 6721 6936 5D78 7A2F 7D9C
-7DC3 71A7 7DF5 7FEA 8250 876C 8E28 8E2A 78EB 8C75
-8E64 9A0C 9B03 9A23 9B09 9B37 9BEE 9BFC 9441 603B
-506C 6374 60E3 6121 63D4 6403 50AF 84D7 6460 7DCF
-7E02 71EA 7E3D 936F 93D3 7EB5 662E 75AD 500A 7314
-7882 7CBD 7CC9 7632 7E26 931D 7E31 90B9 9A7A 8BF9
-90F0 966C 63AB 83C6 68F7 68F8 9112 7B83 7DC5 8ACF
-9139 9CB0 9BEB 9EC0 9A36 9F7A 8D71 8D70 9BD0 594F
-63CD 5AB0 79DF 83F9 8445 84A9 5346 8DB3 5352 54EB
-5D12 5D2A 65CF 50B6 7A21 7BA4 8E24 8E3F 955E 93C3
+953A 92BF 87A4 87BD 937E 9F28 8E71 9418 7C66
+80BF 79CD 51A2 55A0 5C30 585A 585C 6B71 7144 816B
+7607 7A2E 8E35 7A5C
+4EF2 4F17 5995 72C6 794C 833D 8876 91CD 869B 5045
+773E 5839 5A91 7B57 8846 8AE5
+8FDA
+5DDE 821F 8BCC 4F9C 5468 6D32 8BEA 70D0 73D8 8F80
+90EE 5F9F 63AB 6DCD 77EA 9031 9E3C 558C 7CA5 8D52
+8F08 9282 8CD9 8F16 970C 76E9 8B05 9D43 9A06 8B78
+59AF 8F74 8EF8
+8098 759B 83F7 666D 776D 7B92 9BDE
+7EA3 4F37 546A 5492 5B99 7EC9 5191 54AE 663C 7D02
+80C4 836E 76B1 914E 665D 7C99 8464 8A4B 7503 8A76
+50FD 76BA 99CE 5663 7E10 9AA4 7C40 7C55 7C52 9A5F
+5E1A 70BF 99F2
+6731 52AF 4F8F 8BDB 90BE 6D19 8331 682A 73E0 8BF8
+732A 7843 79FC 88BE 94E2 7D51 86DB 8A85 8DE6 69E0
+6F74 876B 9296 6A65 8AF8 8C6C 99EF 9BA2 9D38 7026
+6AEB 6AE7 9BFA 9F04 8829
+7AF9 6CCF 7AFA 70A2 7B01 833F 70DB 7A8B 9010 7B1C
+8233 7603 7BC9 71ED 880B 8E85 9C41 5B4E 705F 66EF
+6B18 7225 883E
+4E36 4E3B 5B94 62C4 7F5C 967C 6E1A 716E 7151 8A5D
+5631 6FD0 9E88 77A9 529A 56D1 65B8 77DA
+4F2B 4F47 4F4F 52A9 7EBB 82CE 577E 677C 6CE8 8D2E
+8FEC 9A7B 58F4 67F1 6BB6 70B7 795D 75B0 771D 782B
+7969 7ADA 8387 7D35 7D38 7F9C 86C0 5D40 7B51 8A3B
+8CAF 8DD3 8EF4 94F8 7B6F 9252 99B5 7BB8 7FE5 6A26
+92F3 99D0 7BEB 9714 9E86 9444
+58B8
+6293 6A9B 81BC 7C3B 9AFD
+62FD
+8DE9
+4E13 53C0 5C02 7816 5C08 911F 587C 5AE5 747C 750E
+78D7 819E 989B 78DA 8AEF 87E4 9853 9C44
+8F6C 5B68 8EE2 7AF1 8F49
+7077 556D 581F 8483 7451 815E 50CE 8D5A 64B0 7BC6
+9994 7BF9 8948 8CFA 8B54 994C 56C0 7C51
+5986 5E84 599D 8358 5A24 6869 838A 6889 6E77 7CA7
+88C5 88DD 6A01 7CDA
+58EE 58EF 72B6 72C0 58F5 710B 6F34 649E 6207
+5E92
+96B9 8FFD 9A93 9525 9310 9A05 9D7B
+6C9D
+5760 6858 7B0D 5A37 60F4 7500 7F12 7577 787E 8187
+589C 8D58 7E0B 8AC8 918A 9323 991F 7908 8D05 8B75
+8F5B 9446
+7F00 7DB4
+5B92 8FCD 80AB 7A80 8C06 8AC4 8860
+51C6 57FB 6E96 7DA7
+8A30 7A15
+51D6
+5353 62D9 70AA 502C 6349 684C 68C1 6DBF 68F3 7A5B
+7A71 883F
+5734 5F74 6C4B 72B3 707C 53D5 59B0 8301 65AB 6D4A
+4E35 6D5E 70F5 8BFC 914C 5544 5545 5A3A 68B2 65B1
+666B 6913 7438 787A 7AA1 7F6C 64AF 64C6 65B2 69D5
+799A 8AC1 8AD1 92DC 6FC1 7BE7 64E2 6580 65B5 6FEF
+6AE1 8B36 956F 942F 9D6B 7042 8817 9432 7C57 9DDF
+7C71
+5285
+7AA7
+4E72 5B5C 830A 5179 54A8 59D5 59FF 8332 6825 7386
+7D0E 8D40 8D44 6DC4 79F6 7F01 8C18 55DE 5B73 5D6B
+6914 6E7D 6ECB 7CA2 8458 8F8E 9111 5B76 798C 89DC
+8A3E 8CB2 8CC7 8D91 9531 7A35 7DC7 922D 9543 9F87
+8F1C 9F12 6FAC 8AEE 8DA6 8F3A 9319 9AED 9CBB 937F
+93A1 74BE 983F 983E 9BD4 9D85 9F4D 9C26
+84FB
+4ED4 5407 59C9 59CA 674D 77F7 79C4 80CF 5470 79ED
+7C7D 8014 8678 7B2B 6893 91E8 5559 7D2B 6ED3 8A3F
+699F
+5B57 81EA 8293 8321 5033 525A 6063 7278 6E0D 7725
+7726 80D4 80FE 6F2C
+5B50 5D30 6A74
+5B97 5027 7EFC 9A94 582B 5D4F 5D55 60FE 68D5 7323
+8159 847C 6721 6936 5D78 7A2F 7D9C 7DC3 71A7 7DF5
+7FEA 876C 8E28 8E2A 78EB 9350 8C75 8E64 9A0C 9B03
+9A23 9B09 9B37 9BEE 9BFC 9441
+603B 506C 6374 60E3 6121 63D4 6403 50AF 84D7 6460
+7DCF 7E02 7E3D 93D3
+7EB5 662E 75AD 500A 7314 7882 7CBD 7CC9 7632 7E26
+931D 7E31 7CED
+6F48
+90B9 9A7A 8BF9 90F0 966C 83C6 68F7 68F8 9112 7B83
+7DC5 8ACF 9139 9CB0 9BEB 9EC0 9A36 9F71 9F7A
+8D71 8D70
+594F 63CD 6971
+9BD0
+79DF 8445 84A9
+5346 8DB3 5352 54EB 5D12 5D2A 65CF 50B6 7BA4 8E24
+8E3F 955E 93C3
8BC5 963B 7EC4 4FCE 723C 73C7 7956 7D44 8A5B 977B
-93BA 8B2F 5297 8E9C 945A 8EA6 947D 7E64 7F35 7E82
-7E89 7C6B 7E98 94BB 63DD 6525 539C 6718 55FA 6A36
-87D5 7E97 5D8A 5634 567F 6FE2 74BB 67A0 682C 7D4A
-9154 666C 6700 797D 7F6A 8FA0 917B 855E 9189 5DB5
-6A87 92F7 930A 6A8C 7A5D 6B08 5C0A 5D9F 9075 6A3D
-7E5C 7F47 9D8E 940F 9CDF 9C52 9DF7 50D4 5642 6499
-8B50 6358 928C 6628 79E8 838B 637D 690A 8443 7A13
-7B70 923C 5DE6 4F50 7E53 4F5C 5750 963C 5C9D 5C9E
-600D 4FB3 67DE 795A 80D9 5511 5EA7 888F 505A 8444
-84D9 98F5 7CF3 5497
+93BA
+94BB 8E9C 947D
+7E64 7F35 7E82 7E89 7C6B 7E98
+6525 945A
+539C 6718 55FA 6A36 87D5 7E97
+5D8A 5634 5DB5 567F 74BB
+682C 7D4A 9154 6700 666C 797D 7A21 7F6A 8FA0 69DC
+917B 855E 9189 6A87 92F7 930A 6A8C
+67A0 7A5D
+5C0A 58AB 58FF 5D9F 9075 6A3D 7E5C 7F47 940F 9CDF
+9C52 9DF7
+50D4 5642 6499 8B50
+6358 928C
+9D8E
+6628 79E8 838B 637D 690A 7422 7A13 7B70 923C
+5DE6 4F50 5528 7E53
+4F5C 5750 963C 5C9D 5C9E 600D 4FB3 795A 80D9 5511
+5EA7 888F 505A 8443 8444 98F5 7CF3
+5497 84D9
__END__
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Stroke.pm b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Stroke.pm
index d5b207dc632..eeb4c07bd0c 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Stroke.pm
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/CJK/Stroke.pm
@@ -3,7 +3,7 @@ package Unicode::Collate::CJK::Stroke;
use 5.006;
use strict;
-our $VERSION = '0.65';
+our $VERSION = '0.85';
my %u2p;
my $wt = 0x8000;
@@ -13,7 +13,7 @@ while (<DATA>) {
my @c = split;
for my $c (@c) {
next if !$c;
- $u2p{hex($c)} = $wt;
+ $u2p{hex($c)} = $wt if $c !~ /-/;
$wt++;
}
}
@@ -25,1312 +25,2461 @@ sub weightStroke {
1;
__DATA__
-4E00 4E59 4E01 4E03 4E43 4E5D 4E86 4E8C 4EBA 513F
-5165 516B 51E0 5200 5201 529B 5315 5341 535C 53C8
-4E42 4E5C 51F5 531A 5382 4E09 4E0B 4E08 4E0A 4E2B
-4E38 51E1 4E45 4E48 4E5F 4E5E 4E8E 4EA1 5140 5203
-52FA 5343 53C9 53E3 571F 58EB 5915 5927 5973 5B50
-5B51 5B53 5BF8 5C0F 5C22 5C38 5C71 5DDD 5DE5 5DF1
-5DF2 5DF3 5DFE 5E72 5EFE 5F0B 5F13 624D 4E07 4E0C
-4E47 4E8D 56D7 5C6E 5F73 4E11 4E10 4E0D 4E2D 4E30
-4E39 4E4B 5C39 4E88 4E91 4E95 4E92 4E94 4EA2 4EC1
-4EC0 4EC3 4EC6 4EC7 4ECD 4ECA 4ECB 4EC4 5143 5141
-5167 516D 516E 516C 5197 51F6 5206 5207 5208 52FB
-52FE 52FF 5316 5339 5348 5347 5345 535E 5384 53CB
-53CA 53CD 58EC 5929 592B 592A 592D 5B54 5C11 5C24
-5C3A 5C6F 5DF4 5E7B 5EFF 5F14 5F15 5FC3 6208 6236
-624B 624E 652F 6587 6597 65A4 65B9 65E5 66F0 6708
-6728 6B20 6B62 6B79 6BCB 6BD4 6BDB 6C0F 6C34 706B
-722A 7236 723B 7247 7259 725B 72AC 738B 4E0F 5187
-4E0E 4E2E 4E93 4EC2 4EC9 4EC8 5198 52FC 536C 53B9
-5720 5903 592C 5C10 5DFF 65E1 6BB3 6BCC 6C14 723F
-4E19 4E16 4E15 4E14 4E18 4E3B 4E4D 4E4F 4E4E 4EE5
-4ED8 4ED4 4ED5 4ED6 4ED7 4EE3 4EE4 4ED9 4EDE 5145
-5144 5189 518A 51AC 51F9 51FA 51F8 520A 52A0 529F
-5305 5306 5317 531D 4EDF 534A 5349 5361 5360 536F
-536E 53BB 53EF 53E4 53F3 53EC 53EE 53E9 53E8 53FC
-53F8 53F5 53EB 53E6 53EA 53F2 53F1 53F0 53E5 53ED
-53FB 56DB 56DA 5916 592E 5931 5974 5976 5B55 5B83
-5C3C 5DE8 5DE7 5DE6 5E02 5E03 5E73 5E7C 5F01 5F18
-5F17 5FC5 620A 6253 6254 6252 6251 65A5 65E6 672E
-672C 672A 672B 672D 6B63 6BCD 6C11 6C10 6C38 6C41
-6C40 6C3E 72AF 7384 7389 74DC 74E6 7518 751F 7528
-7529 7530 7531 7532 7533 758B 767D 76AE 76BF 76EE
-77DB 77E2 77F3 793A 79BE 7A74 7ACB 4E31 4E3C 4EE8
-4EDC 4EE9 4EE1 4EDD 4EDA 520C 531C 534C 5722 5723
-5917 592F 5B81 5B84 5C12 5C3B 5C74 5C73 5E04 5E80
-5E82 5FC9 6209 6250 6C15 6C36 6C43 6C3F 6C3B 72AE
-72B0 738A 79B8 808A 961E 4E1E 4E1F 4E52 4E53 4E69
-4E99 4EA4 4EA6 4EA5 4EFF 4F09 4F19 4F0A 4F15 4F0D
-4F10 4F11 4F0F 4EF2 4EF6 4EFB 4EF0 4EF3 4EFD 4F01
-4F0B 5149 5147 5146 5148 5168 5171 518D 51B0 5217
-5211 5212 520E 5216 52A3 5308 5321 5320 5370 5371
-5409 540F 540C 540A 5410 540B 5404 5411 540D 5408
-5403 540E 5406 5412 56E0 56DE 56DD 5733 5730 5728
-572D 572C 572F 5729 5919 591A 5937 5938 5984 5978
-5983 597D 5979 5982 5981 5B57 5B58 5B87 5B88 5B85
-5B89 5BFA 5C16 5C79 5DDE 5E06 5E76 5E74 5F0F 5F1B
-5FD9 5FD6 620E 620C 620D 6210 6263 625B 6258 6536
-65E9 65E8 65EC 65ED 66F2 66F3 6709 673D 6734 6731
-6735 6B21 6B64 6B7B 6C16 6C5D 6C57 6C59 6C5F 6C60
-6C50 6C55 6C61 6C5B 6C4D 6C4E 7070 725F 725D 767E
-7AF9 7C73 7CF8 7F36 7F8A 7FBD 8001 8003 800C 8012
-8033 807F 8089 808B 808C 81E3 81EA 81F3 81FC 820C
-821B 821F 826E 8272 827E 866B 8840 884C 8863 897F
-9621 4F0E 4F18 4F2C 4EF5 4F14 4EF1 4F00 4EF7 4F08
-4F1D 4F02 4F05 4F22 4F13 4F04 4EF4 4F12 51B1 5213
-5209 5210 52A6 5322 531F 534D 538A 5407 56E1 56DF
-572E 572A 5734 593C 5980 597C 5985 597B 597E 5977
-597F 5B56 5C15 5C25 5C7C 5C7A 5C7B 5C7E 5DDF 5E75
-5E84 5F02 5F1A 5F74 5FD5 5FD4 5FCF 625C 625E 6264
-6261 6266 6262 6259 6260 625A 6265 65EF 65EE 673E
-6739 6738 673B 673A 673F 673C 6733 6C18 6C46 6C52
-6C5C 6C4F 6C4A 6C54 6C4B 6C4C 7071 725E 72B4 72B5
-738E 752A 767F 7A75 7F51 8278 827C 8280 827D 827F
-864D 897E 9099 9097 9098 909B 9094 9622 9624 9620
-9623 4E32 4EA8 4F4D 4F4F 4F47 4F57 4F5E 4F34 4F5B
-4F55 4F30 4F50 4F51 4F3D 4F3A 4F38 4F43 4F54 4F3C
-4F46 4F63 4F5C 4F60 4F2F 4F4E 4F36 4F59 4F5D 4F48
-4F5A 514C 514B 514D 5175 51B6 51B7 5225 5224 5229
-522A 5228 52AB 52A9 52AA 52AC 5323 5373 5375 541D
-542D 541E 543E 5426 544E 5427 5446 5443 5433 5448
-5442 541B 5429 544A 5439 543B 5438 542E 5435 5436
-5420 543C 5440 5431 542B 541F 542C 56EA 56F0 56E4
-56EB 574A 5751 5740 574D 5747 574E 573E 5750 574F
-573B 58EF 593E 599D 5992 59A8 599E 59A3 5999 5996
-598D 59A4 5993 598A 59A5 5B5D 5B5C 5B5A 5B5B 5B8C
-5B8B 5B8F 5C2C 5C40 5C41 5C3F 5C3E 5C90 5C91 5C94
-5C8C 5DEB 5E0C 5E8F 5E87 5E8A 5EF7 5F04 5F1F 5F64
-5F62 5F77 5F79 5FD8 5FCC 5FD7 5FCD 5FF1 5FEB 5FF8
-5FEA 6212 6211 6284 6297 6296 6280 6276 6289 626D
-628A 627C 627E 6279 6273 6292 626F 6298 626E 6295
-6293 6291 6286 6539 653B 6538 65F1 66F4 675F 674E
-674F 6750 6751 675C 6756 675E 6749 6746 6760 6753
-6757 6B65 6BCF 6C42 6C5E 6C99 6C81 6C88 6C89 6C85
-6C9B 6C6A 6C7A 6C90 6C70 6C8C 6C68 6C96 6C92 6C7D
-6C83 6C72 6C7E 6C74 6C86 6C76 6C8D 6C94 6C98 6C82
-7076 707C 707D 7078 7262 7261 7260 72C4 72C2 7396
-752C 752B 7537 7538 7682 76EF 77E3 79C1 79C0 79BF
-7A76 7CFB 7F55 8096 8093 809D 8098 809B 809A 80B2
-826F 8292 828B 828D 898B 89D2 8A00 8C37 8C46 8C55
-8C9D 8D64 8D70 8DB3 8EAB 8ECA 8F9B 8FB0 8FC2 8FC6
-8FC5 8FC4 5DE1 9091 90A2 90AA 90A6 90A3 9149 91C6
-91CC 9632 962E 9631 962A 962C 4F56 4F3B 4F62 4F49
-4F53 4F64 4F3E 4F67 4F52 4F5F 4F41 4F58 4F2D 4F33
-4F3F 4F61 518F 51B9 521C 521E 5221 52AD 52AE 5309
-5363 5372 538E 538F 5430 5437 542A 5454 5445 5419
-541C 5425 5418 543D 544F 5441 5428 5424 5447 56EE
-56E7 56E5 5741 5745 574C 5749 574B 5752 5906 5940
-59A6 5998 59A0 5997 598E 59A2 5990 598F 59A7 59A1
-5B8E 5B92 5C28 5C2A 5C8D 5C8F 5C88 5C8B 5C89 5C92
-5C8A 5C86 5C93 5C95 5DE0 5E0A 5E0E 5E8B 5E89 5E8C
-5E88 5E8D 5F05 5F1D 5F78 5F76 5FD2 5FD1 5FD0 5FED
-5FE8 5FEE 5FF3 5FE1 5FE4 5FE3 5FFA 5FEF 5FF7 5FFB
-6000 5FF4 623A 6283 628C 628E 628F 6294 6287 6271
-627B 627A 6270 6281 6288 6277 627D 6272 6274 6537
-65F0 65F4 65F3 65F2 65F5 6745 6747 6759 6755 674C
-6748 675D 674D 675A 674B 6BD0 6C19 6C1A 6C78 6C67
-6C6B 6C84 6C8B 6C8F 6C71 6C6F 6C69 6C9A 6C6D 6C87
-6C95 6C9C 6C66 6C73 6C65 6C7B 6C8E 7074 707A 7263
-72BF 72BD 72C3 72C6 72C1 72BA 72C5 7395 7397 7393
-7394 7392 753A 7539 7594 7595 7681 793D 8034 8095
-8099 8090 8092 809C 8290 828F 8285 828E 8291 8293
-828A 8283 8284 8C78 8FC9 8FBF 909F 90A1 90A5 909E
-90A7 90A0 9630 9628 962F 962D 4E26 4E56 4E73 4E8B
-4E9B 4E9E 4EAB 4EAC 4F6F 4F9D 4F8D 4F73 4F7F 4F6C
-4F9B 4F8B 4F86 4F83 4F70 4F75 4F88 4F69 4F7B 4F96
-4F7E 4F8F 4F91 4F7A 5154 5152 5155 5169 5177 5176
-5178 51BD 51FD 523B 5238 5237 523A 5230 522E 5236
-5241 52BE 52BB 5352 5354 5353 5351 5366 5377 5378
-5379 53D6 53D4 53D7 5473 5475 5496 5478 5495 5480
-547B 5477 5484 5492 5486 547C 5490 5471 5476 548C
-549A 5462 5468 548B 547D 548E 56FA 5783 5777 576A
-5769 5761 5766 5764 577C 591C 5949 5947 5948 5944
-5954 59BE 59BB 59D4 59B9 59AE 59D1 59C6 59D0 59CD
-59CB 59D3 59CA 59AF 59B3 59D2 59C5 5B5F 5B64 5B63
-5B97 5B9A 5B98 5B9C 5B99 5B9B 5C1A 5C48 5C45 5C46
-5CB7 5CA1 5CB8 5CA9 5CAB 5CB1 5CB3 5E18 5E1A 5E16
-5E15 5E1B 5E11 5E78 5E9A 5E97 5E9C 5E95 5E96 5EF6
-5F26 5F27 5F29 5F80 5F81 5F7F 5F7C 5FDD 5FE0 5FFD
-5FF5 5FFF 600F 6014 602F 6035 6016 602A 6015 6021
-6027 6029 602B 601B 6216 6215 623F 623E 6240 627F
-62C9 62CC 62C4 62BF 62C2 62B9 62D2 62DB 62AB 62D3
-62D4 62CB 62C8 62A8 62BD 62BC 62D0 62D9 62C7 62CD
-62B5 62DA 62B1 62D8 62D6 62D7 62C6 62AC 62CE 653E
-65A7 65BC 65FA 6614 6613 660C 6606 6602 660E 6600
-660F 6615 660A 6607 670D 670B 676D 678B 6795 6771
-679C 6773 6777 6787 679D 6797 676F 6770 677F 6789
-677E 6790 6775 679A 6793 677C 676A 6772 6B23 6B66
-6B67 6B7F 6C13 6C1B 6CE3 6CE8 6CF3 6CB1 6CCC 6CE5
-6CB3 6CBD 6CBE 6CBC 6CE2 6CAB 6CD5 6CD3 6CB8 6CC4
-6CB9 6CC1 6CAE 6CD7 6CC5 6CF1 6CBF 6CBB 6CE1 6CDB
-6CCA 6CAC 6CEF 6CDC 6CD6 6CE0 7095 708E 7092 708A
-7099 722C 722D 7238 7248 7267 7269 72C0 72CE 72D9
-72D7 72D0 73A9 73A8 739F 73AB 73A5 753D 759D 7599
-759A 7684 76C2 76F2 76F4 77E5 77FD 793E 7940 7941
-79C9 79C8 7A7A 7A79 7AFA 7CFE 7F54 7F8C 7F8B 8005
-80BA 80A5 80A2 80B1 80A1 80AB 80A9 80B4 80AA 80AF
-81E5 81FE 820D 82B3 829D 8299 82AD 82BD 829F 82B9
-82B1 82AC 82A5 82AF 82B8 82A3 82B0 82BE 82B7 864E
-8671 521D 8868 8ECB 8FCE 8FD4 8FD1 90B5 90B8 90B1
-90B6 91C7 91D1 9577 9580 961C 9640 963F 963B 9644
-9642 96B9 96E8 9752 975E 4E33 4F98 4F7C 4F85 4F7D
-4F80 4F87 4F76 4F74 4F89 4F84 4F77 4F4C 4F97 4F6A
-4F9A 4F79 4F81 4F78 4F90 4F9C 4F94 4F9E 4F92 4F82
-4F95 4F6B 4F6E 519E 51BC 51BE 5235 5232 5233 5246
-5231 52BC 530A 530B 533C 5392 5394 5487 547F 5481
-5491 5482 5488 546B 547A 547E 5465 546C 5474 5466
-548D 546F 5461 5460 5498 5463 5467 5464 56F7 56F9
-576F 5772 576D 576B 5771 5770 5776 5780 5775 577B
-5773 5774 5762 5768 577D 590C 5945 59B5 59BA 59CF
-59CE 59B2 59CC 59C1 59B6 59BC 59C3 59D6 59B1 59BD
-59C0 59C8 59B4 59C7 5B62 5B65 5B93 5B95 5C44 5C47
-5CAE 5CA4 5CA0 5CB5 5CAF 5CA8 5CAC 5C9F 5CA3 5CAD
-5CA2 5CAA 5CA7 5C9D 5CA5 5CB6 5CB0 5CA6 5E17 5E14
-5E19 5F28 5F22 5F23 5F24 5F54 5F82 5F7E 5F7D 5FDE
-5FE5 602D 6026 6019 6032 600B 6034 600A 6017 6033
-601A 601E 602C 6022 600D 6010 602E 6013 6011 600C
-6009 601C 6214 623D 62AD 62B4 62D1 62BE 62AA 62B6
-62CA 62AE 62B3 62AF 62BB 62A9 62B0 62B8 653D 65A8
-65BB 6609 65FC 6604 6612 6608 65FB 6603 660B 660D
-6605 65FD 6611 6610 66F6 670A 6785 676C 678E 6792
-6776 677B 6798 6786 6784 6774 678D 678C 677A 679F
-6791 6799 6783 677D 6781 6778 6779 6794 6B25 6B80
-6B7E 6BDE 6C1D 6C93 6CEC 6CEB 6CEE 6CD9 6CB6 6CD4
-6CAD 6CE7 6CB7 6CD0 6CC2 6CBA 6CC3 6CC6 6CED 6CF2
-6CD2 6CDD 6CB4 6C8A 6C9D 6C80 6CDE 6CC0 6D30 6CCD
-6CC7 6CB0 6CF9 6CCF 6CE9 6CD1 7094 7098 7085 7093
-7086 7084 7091 7096 7082 709A 7083 726A 72D6 72CB
-72D8 72C9 72DC 72D2 72D4 72DA 72CC 72D1 73A4 73A1
-73AD 73A6 73A2 73A0 73AC 739D 74DD 74E8 753F 7540
-753E 758C 7598 76AF 76F3 76F1 76F0 76F5 77F8 77FC
-77F9 77FB 77FA 77F7 7942 793F 79C5 7A78 7A7B 7AFB
-7C75 7CFD 8035 808F 80AE 80A3 80B8 80B5 80AD 8220
-82A0 82C0 82AB 829A 8298 829B 82B5 82A7 82AE 82BC
-829E 82BA 82B4 82A8 82A1 82A9 82C2 82A4 82C3 82B6
-82A2 8670 866F 866D 866E 8C56 8FD2 8FCB 8FD3 8FCD
-8FD6 8FD5 8FD7 90B2 90B4 90AF 90B3 90B0 9639 963D
-963C 963A 9643 4E9F 4EAD 4EAE 4FE1 4FB5 4FAF 4FBF
-4FE0 4FD1 4FCF 4FDD 4FC3 4FB6 4FD8 4FDF 4FCA 4FD7
-4FAE 4FD0 4FC4 4FC2 4FDA 4FCE 4FDE 4FB7 5157 5192
-5191 51A0 524E 5243 524A 524D 524C 524B 5247 52C7
-52C9 52C3 52C1 530D 5357 537B 539A 53DB 54AC 54C0
-54A8 54CE 54C9 54B8 54A6 54B3 54C7 54C2 54BD 54AA
-54C1 54C4 54C8 54AF 54AB 54B1 54BB 54A9 54A7 54BF
-56FF 5782 578B 57A0 57A3 57A2 57CE 57AE 5793 5955
-5951 594F 594E 5950 59DC 59D8 59FF 59E3 59E8 5A03
-59E5 59EA 59DA 59E6 5A01 59FB 5B69 5BA3 5BA6 5BA4
-5BA2 5BA5 5C01 5C4E 5C4F 5C4D 5C4B 5CD9 5CD2 5DF7
-5E1D 5E25 5E1F 5E7D 5EA0 5EA6 5EFA 5F08 5F2D 5F65
-5F88 5F85 5F8A 5F8B 5F87 5F8C 5F89 6012 601D 6020
-6025 600E 6028 604D 6070 6068 6062 6046 6043 606C
-606B 606A 6064 6241 62DC 6316 6309 62FC 62ED 6301
-62EE 62FD 6307 62F1 62F7 62EF 62EC 62FE 62F4 6311
-6302 653F 6545 65AB 65BD 65E2 6625 662D 6620 6627
-662F 661F 6628 6631 6624 66F7 67FF 67D3 67F1 67D4
-67D0 67EC 67B6 67AF 67F5 67E9 67EF 67C4 67D1 67B4
-67DA 67E5 67B8 67CF 67DE 67F3 67B0 67D9 67E2 67DD
-67D2 6B6A 6B83 6B86 6BB5 6BD2 6BD7 6C1F 6CC9 6D0B
-6D32 6D2A 6D41 6D25 6D0C 6D31 6D1E 6D17 6D3B 6D3D
-6D3E 6D36 6D1B 6CF5 6D39 6D27 6D38 6D29 6D2E 6D35
-6D0E 6D2B 70AB 70BA 70B3 70AC 70AF 70AD 70B8 70AE
-70A4 7230 7272 726F 7274 72E9 72E0 72E1 73B7 73CA
-73BB 73B2 73CD 73C0 73B3 751A 752D 754F 754C 754E
-754B 75AB 75A4 75A5 75A2 75A3 7678 7686 7687 7688
-76C8 76C6 76C3 76C5 7701 76F9 76F8 7709 770B 76FE
-76FC 7707 77DC 7802 7814 780C 780D 7946 7949 7948
-7947 79B9 79BA 79D1 79D2 79CB 7A7F 7A81 7AFF 7AFD
-7C7D 7D02 7D05 7D00 7D09 7D07 7D04 7D06 7F38 7F8E
-7FBF 8004 8010 800D 8011 8036 80D6 80E5 80DA 80C3
-80C4 80CC 80E1 80DB 80CE 80DE 80E4 80DD 81F4 8222
-82E7 8303 8305 82E3 82DB 82E6 8304 82E5 8302 8309
-82D2 82D7 82F1 8301 82DC 82D4 82D1 82DE 82D3 82DF
-82EF 8306 8650 8679 867B 867A 884D 886B 8981 89D4
-8A08 8A02 8A03 8C9E 8CA0 8D74 8D73 8DB4 8ECD 8ECC
-8FF0 8FE6 8FE2 8FEA 8FE5 8FED 8FEB 8FE4 8FE8 90CA
-90CE 90C1 90C3 914B 914A 91CD 9582 9650 964B 964C
-964D 9762 9769 97CB 97ED 97F3 9801 98A8 98DB 98DF
-9996 9999 4FCD 4FC5 4FD3 4FB2 4FC9 4FCB 4FC1 4FD4
-4FDC 4FD9 4FBB 4FB3 4FDB 4FC7 4FD6 4FBA 4FC0 4FB9
-4FEC 5244 5249 52C0 52C2 533D 537C 5397 5396 5399
-5398 54BA 54A1 54AD 54A5 54CF 54C3 830D 54B7 54AE
-54D6 54B6 54C5 54C6 54A0 5470 54BC 54A2 54BE 5472
-54DE 54B0 57B5 579E 579F 57A4 578C 5797 579D 579B
-5794 5798 578F 5799 57A5 579A 5795 58F4 590D 5953
-59E1 59DE 59EE 5A00 59F1 59DD 59FA 59FD 59FC 59F6
-59E4 59F2 59F7 59DB 59E9 59F3 59F5 59E0 59FE 59F4
-59ED 5BA8 5C4C 5CD0 5CD8 5CCC 5CD7 5CCB 5CDB 5CDE
-5CDA 5CC9 5CC7 5CCA 5CD6 5CD3 5CD4 5CCF 5CC8 5CC6
-5CCE 5CDF 5CF8 5DF9 5E21 5E22 5E23 5E20 5E24 5EB0
-5EA4 5EA2 5E9B 5EA3 5EA5 5F07 5F2E 5F56 5F86 6037
-6039 6054 6072 605E 6045 6053 6047 6049 605B 604C
-6040 6042 605F 6024 6044 6058 6066 606E 6242 6243
-62CF 630D 630B 62F5 630E 6303 62EB 62F9 630F 630C
-62F8 62F6 6300 6313 6314 62FA 6315 62FB 62F0 6541
-6543 65AA 65BF 6636 6621 6632 6635 661C 6626 6622
-6633 662B 663A 661D 6634 6639 662E 670F 6710 67C1
-67F2 67C8 67BA 67DC 67BB 67F8 67D8 67C0 67B7 67C5
-67EB 67E4 67DF 67B5 67CD 67B3 67F7 67F6 67EE 67E3
-67C2 67B9 67CE 67E7 67F0 67B2 67FC 67C6 67ED 67CC
-67AE 67E6 67DB 67FA 67C9 67CA 67C3 67EA 67CB 6B28
-6B82 6B84 6BB6 6BD6 6BD8 6BE0 6C20 6C21 6D28 6D34
-6D2D 6D1F 6D3C 6D3F 6D12 6D0A 6CDA 6D33 6D04 6D19
-6D3A 6D1A 6D11 6D00 6D1D 6D42 6D01 6D18 6D37 6D03
-6D0F 6D40 6D07 6D20 6D2C 6D08 6D22 6D09 6D10 70B7
-709F 70BE 70B1 70B0 70A1 70B4 70B5 70A9 7241 7249
-724A 726C 7270 7273 726E 72CA 72E4 72E8 72EB 72DF
-72EA 72E6 72E3 7385 73CC 73C2 73C8 73C5 73B9 73B6
-73B5 73B4 73EB 73BF 73C7 73BE 73C3 73C6 73B8 73CB
-74EC 74EE 752E 7547 7548 75A7 75AA 7679 76C4 7708
-7703 7704 7705 770A 76F7 76FB 76FA 77E7 77E8 7806
-7811 7812 7805 7810 780F 780E 7809 7803 7813 794A
-794C 794B 7945 7944 79D5 79CD 79CF 79D6 79CE 7A80
-7A7E 7AD1 7B00 7B01 7C7A 7C78 7C79 7C7F 7C80 7C81
-7D03 7D08 7D01 7F58 7F91 7F8D 7FBE 8007 800E 800F
-8014 8037 80D8 80C7 80E0 80D1 80C8 80C2 80D0 80C5
-80E3 80D9 80DC 80CA 80D5 80C9 80CF 80D7 80E6 80CD
-81FF 8221 8294 82D9 82FE 82F9 8307 82E8 8300 82D5
-833A 82EB 82D6 82F4 82EC 82E1 82F2 82F5 830C 82FB
-82F6 82F0 82EA 82E4 82E0 82FA 82F3 82ED 8677 8674
-867C 8673 8841 884E 8867 886A 8869 89D3 8A04 8A07
-8D72 8FE3 8FE1 8FEE 8FE0 90F1 90BD 90BF 90D5 90C5
-90BE 90C7 90CB 90C8 91D4 91D3 9654 964F 9651 9653
-964A 964E 6052 4E58 4EB3 500C 500D 5023 4FEF 5026
-5025 4FF8 5029 5016 5006 503C 501F 501A 5012 5011
-4FFA 5000 5014 5028 4FF1 5021 500B 5019 5018 4FF3
-4FEE 502D 502A 4FFE 502B 5009 517C 51A4 51A5 51A2
-51CD 51CC 51C6 51CB 5256 525C 5254 525B 525D 532A
-537F 539F 539D 53DF 54E8 5510 5501 5537 54FC 54E5
-54F2 5506 54FA 5514 54E9 54ED 54E1 5509 54EE 54EA
-54E6 5527 5507 54FD 550F 5703 5704 57C2 57D4 57CB
-57C3 5809 590F 5957 5958 595A 5A11 5A18 5A1C 5A1F
-5A1B 5A13 59EC 5A20 5A23 5A29 5A25 5A0C 5A09 5B6B
-5C58 5BB0 5BB3 5BB6 5BB4 5BAE 5BB5 5BB9 5BB8 5C04
-5C51 5C55 5C50 5CED 5CFD 5CFB 5CEA 5CE8 5CF0 5CF6
-5D01 5CF4 5DEE 5E2D 5E2B 5EAB 5EAD 5EA7 5F31 5F92
-5F91 5F90 6059 6063 6065 6050 6055 606D 6069 606F
-6084 609F 609A 608D 6094 608C 6085 6096 6247 62F3
-6308 62FF 634E 633E 632F 6355 6342 6346 634F 6349
-633A 6350 633D 632A 632B 6328 634D 634C 6548 6549
-6599 65C1 65C5 6642 6649 664F 6643 6652 664C 6645
-6641 66F8 6714 6715 6717 6821 6838 6848 6846 6853
-6839 6842 6854 6829 68B3 6817 684C 6851 683D 67F4
-6850 6840 683C 6843 682A 6845 6813 6818 6841 6B8A
-6B89 6BB7 6C23 6C27 6C28 6C26 6C24 6CF0 6D6A 6D95
-6D88 6D87 6D66 6D78 6D77 6D59 6D93 6D6C 6D89 6D6E
-6D5A 6D74 6D69 6D8C 6D8A 6D79 6D85 6D65 6D94 70CA
-70D8 70E4 70D9 70C8 70CF 7239 7279 72FC 72F9 72FD
-72F8 72F7 7386 73ED 7409 73EE 73E0 73EA 73DE 7554
-755D 755C 755A 7559 75BE 75C5 75C7 75B2 75B3 75BD
-75BC 75B9 75C2 75B8 768B 76B0 76CA 76CD 76CE 7729
-771F 7720 7728 77E9 7830 7827 7838 781D 7834 7837
-7825 782D 7820 781F 7832 7955 7950 7960 795F 7956
-795E 795D 7957 795A 79E4 79E3 79E7 79DF 79E6 79E9
-79D8 7A84 7A88 7AD9 7B06 7B11 7C89 7D21 7D17 7D0B
-7D0A 7D20 7D22 7D14 7D10 7D15 7D1A 7D1C 7D0D 7D19
-7D1B 7F3A 7F5F 7F94 7FC5 7FC1 8006 8018 8015 8019
-8017 803D 803F 80F1 8102 80F0 8105 80ED 80F4 8106
-80F8 80F3 8108 80FD 810A 80FC 80EF 81ED 81EC 8200
-8210 822A 822B 8228 822C 82BB 832B 8352 8354 834A
-8338 8350 8349 8335 8334 834F 8332 8339 8336 8317
-8340 8331 8328 8343 8654 868A 86AA 8693 86A4 86A9
-868C 86A3 869C 8870 8877 8881 8882 887D 8879 8A18
-8A10 8A0E 8A0C 8A15 8A0A 8A17 8A13 8A16 8A0F 8A11
-8C48 8C7A 8C79 8CA1 8CA2 8D77 8EAC 8ED2 8ED4 8ECF
-8FB1 9001 9006 8FF7 9000 8FFA 8FF4 9003 8FFD 9005
-8FF8 9095 90E1 90DD 90E2 9152 914D 914C 91D8 91DD
-91D7 91DC 91D9 9583 9662 9663 9661 965B 965D 9664
-9658 965E 96BB 98E2 99AC 9AA8 9AD8 9B25 9B32 9B3C
-501E 5005 5007 5013 5022 5030 501B 4FF5 4FF4 5033
-5037 502C 4FF6 4FF7 5017 501C 5020 5027 5035 502F
-5031 500E 515A 5194 5193 51CA 51C4 51C5 51C8 51CE
-5261 525A 5252 525E 525F 5255 5262 52CD 530E 539E
-5526 54E2 5517 5512 54E7 54F3 54E4 551A 54FF 5504
-5508 54EB 5511 5505 54F1 550A 54FB 54F7 54F8 54E0
-550E 5503 550B 5701 5702 57CC 5832 57D5 57D2 57BA
-57C6 57BD 57BC 57B8 57B6 57BF 57C7 57D0 57B9 57C1
-590E 594A 5A19 5A16 5A2D 5A2E 5A15 5A0F 5A17 5A0A
-5A1E 5A33 5B6C 5BA7 5BAD 5BAC 5C03 5C56 5C54 5CEC
-5CFF 5CEE 5CF1 5CF7 5D00 5CF9 5E29 5E28 5EA8 5EAE
-5EAA 5EAC 5F33 5F30 5F67 605D 605A 6067 6041 60A2
-6088 6080 6092 6081 609D 6083 6095 609B 6097 6087
-609C 608E 6219 6246 62F2 6310 6356 632C 6344 6345
-6336 6343 63E4 6339 634B 634A 633C 6329 6341 6334
-6358 6354 6359 632D 6347 6333 635A 6351 6338 6357
-6340 6348 654A 6546 65C6 65C3 65C4 65C2 664A 665F
-6647 6651 6712 6713 681F 681A 6849 6832 6833 683B
-684B 684F 6816 6831 681C 6835 682B 682D 682F 684E
-6844 6834 681D 6812 6814 6826 6828 682E 684D 683A
-6825 6820 6B2C 6B2F 6B2D 6B31 6B34 6B6D 8082 6B88
-6BE6 6BE4 6BE8 6BE3 6BE2 6BE7 6C25 6D7A 6D63 6D64
-6D76 6D0D 6D61 6D92 6D58 6D62 6D6D 6D6F 6D91 6D8D
-6DEF 6D7F 6D86 6D5E 6D67 6D60 6D97 6D70 6D7C 6D5F
-6D82 6D98 6D2F 6D68 6D8B 6D7E 6D80 6D84 6D16 6D83
-6D7B 6D7D 6D75 6D90 70DC 70D3 70D1 70DD 70CB 7F39
-70E2 70D7 70D2 70DE 70E0 70D4 70CD 70C5 70C6 70C7
-70DA 70CE 70E1 7242 7278 7277 7276 7300 72FA 72F4
-72FE 72F6 72F3 72FB 7301 73D3 73D9 73E5 73D6 73BC
-73E7 73E3 73E9 73DC 73D2 73DB 73D4 73DD 73DA 73D7
-73D8 73E8 74DE 74DF 74F4 74F5 7521 755B 755F 75B0
-75C1 75BB 75C4 75C0 75BF 75B6 75BA 768A 76C9 771D
-771B 7710 7713 7712 7723 7711 7715 7719 771A 7722
-7727 7823 782C 7822 7835 782F 7828 782E 782B 7821
-7829 7833 782A 7831 7954 795B 794F 795C 7953 7952
-7951 79EB 79EC 79E0 79EE 79ED 79EA 79DC 79DE 79DD
-7A86 7A89 7A85 7A8B 7A8C 7A8A 7A87 7AD8 7B10 7B04
-7B13 7B05 7B0F 7B08 7B0A 7B0E 7B09 7B12 7C84 7C91
-7C8A 7C8C 7C88 7C8D 7C85 7D1E 7D1D 7D11 7D0E 7D18
-7D16 7D13 7D1F 7D12 7D0F 7D0C 7F5C 7F61 7F5E 7F60
-7F5D 7F5B 7F96 7F92 7FC3 7FC2 7FC0 8016 803E 8039
-80FA 80F2 80F9 80F5 8101 80FB 8100 8201 822F 8225
-8333 832D 8344 8319 8351 8325 8356 833F 8341 8326
-831C 8322 8342 834E 831B 832A 8308 833C 834D 8316
-8324 8320 8337 832F 8329 8347 8345 834C 8353 831E
-832C 834B 8327 8348 8653 8652 86A2 86A8 8696 868D
-8691 869E 8687 8697 8686 868B 869A 8685 86A5 8699
-86A1 86A7 8695 8698 868E 869D 8690 8694 8843 8844
-886D 8875 8876 8872 8880 8871 887F 886F 8883 887E
-8874 887C 8A12 8C47 8C57 8C7B 8CA4 8CA3 8D76 8D78
-8DB5 8DB7 8DB6 8ED1 8ED3 8FFE 8FF5 9002 8FFF 8FFB
-9004 8FFC 8FF6 90D6 90E0 90D9 90DA 90E3 90DF 90E5
-90D8 90DB 90D7 90DC 90E4 9150 914E 914F 91D5 91E2
-91DA 965C 965F 96BC 98E3 9ADF 9B2F 4E7E 507A 507D
-505C 5047 5043 504C 505A 5049 5065 5076 504E 5055
-5075 5074 5077 504F 500F 506F 506D 515C 5195 51F0
-526A 526F 52D2 52D9 52D8 52D5 5310 530F 5319 533F
-5340 533E 53C3 66FC 5546 556A 5566 5544 555E 5561
-5543 554A 5531 5556 554F 5555 552F 5564 5538 552E
-555C 552C 5563 5533 5541 5557 5708 570B 5709 57DF
-5805 580A 5806 57E0 57E4 57FA 5802 5835 57F7 57F9
-5920 5962 5A36 5A41 5A49 5A66 5A6A 5A40 5A3C 5A62
-5A5A 5A46 5A4A 5B70 5BC7 5BC5 5BC4 5BC2 5BBF 5BC6
-5C09 5C08 5C07 5C60 5C5C 5C5D 5D07 5D06 5D0E 5D1B
-5D16 5D22 5D11 5D29 5D14 5D19 5D24 5D27 5D17 5DE2
-5E38 5E36 5E33 5E37 5EB7 5EB8 5EB6 5EB5 5EBE 5F35
-5F37 5F57 5F6C 5F69 5F6B 5F97 5F99 5F9E 5F98 5FA1
-5FA0 5F9C 607F 60A3 6089 60A0 60A8 60CB 60B4 60E6
-60BD 60C5 60BB 60B5 60DC 60BC 60D8 60D5 60C6 60DF
-60B8 60DA 60C7 621A 621B 6248 63A0 63A7 6372 6396
-63A2 63A5 6377 6367 6398 63AA 6371 63A9 6389 6383
-639B 636B 63A8 6384 6388 6399 63A1 63AC 6392 638F
-6380 637B 6369 6368 637A 655D 6556 6551 6559 6557
-555F 654F 6558 6555 6554 659C 659B 65AC 65CF 65CB
-65CC 65CE 665D 665A 6664 6668 6666 665E 66F9 52D7
-671B 6881 68AF 68A2 6893 68B5 687F 6876 68B1 68A7
-6897 68B0 6883 68C4 68AD 6886 6885 6894 689D 68A8
-689F 68A1 6882 6B32 6BBA 6BEB 6BEC 6C2B 6D8E 6DBC
-6DF3 6DD9 6DB2 6DE1 6DCC 6DE4 6DFB 6DFA 6E05 6DC7
-6DCB 6DAF 6DD1 6DAE 6DDE 6DF9 6DB8 6DF7 6DF5 6DC5
-6DD2 6E1A 6DB5 6DDA 6DEB 6DD8 6DEA 6DF1 6DEE 6DE8
-6DC6 6DC4 6DAA 6DEC 6DBF 6DE6 70F9 7109 710A 70FD
-70EF 723D 727D 7281 731C 731B 7316 7313 7319 7387
-7405 740A 7403 7406 73FE 740D 74E0 74F6 74F7 751C
-7522 7565 7566 7562 7570 758F 75D4 75D5 75B5 75CA
-75CD 768E 76D4 76D2 76DB 7737 773E 773C 7736 7738
-773A 786B 7843 784E 7965 7968 796D 79FB 7A92 7A95
-7B20 7B28 7B1B 7B2C 7B26 7B19 7B1E 7B2E 7C92 7C97
-7C95 7D46 7D43 7D71 7D2E 7D39 7D3C 7D40 7D30 7D33
-7D44 7D2F 7D42 7D32 7D31 7F3D 7F9E 7F9A 7FCC 7FCE
-7FD2 801C 804A 8046 812F 8116 8123 812B 8129 8130
-8124 8202 8235 8237 8236 8239 838E 839E 8398 8378
-83A2 8396 83BD 83AB 8392 838A 8393 8389 83A0 8377
-837B 837C 8386 83A7 8655 5F6A 86C7 86C0 86B6 86C4
-86B5 86C6 86CB 86B1 86AF 86C9 8853 889E 8888 88AB
-8892 8896 888D 888B 8993 898F 8A2A 8A1D 8A23 8A25
-8A31 8A2D 8A1F 8A1B 8A22 8C49 8C5A 8CA9 8CAC 8CAB
-8CA8 8CAA 8CA7 8D67 8D66 8DBE 8DBA 8EDB 8EDF 9019
-900D 901A 9017 9023 901F 901D 9010 9015 901E 9020
-900F 9022 9016 901B 9014 90E8 90ED 90FD 9157 91CE
-91F5 91E6 91E3 91E7 91ED 91E9 9589 966A 9675 9673
-9678 9670 9674 9676 9677 966C 96C0 96EA 96E9 7AE0
-7ADF 9802 9803 9B5A 9CE5 9E75 9E7F 9EA5 9EBB 4E7F
-5070 506A 5061 505E 5060 5053 504B 505D 5072 5048
-504D 5041 505B 504A 5062 5015 5045 505F 5069 506B
-5063 5064 5046 5040 506E 5073 5057 5051 51D0 526B
-526D 526C 526E 52D6 52D3 532D 539C 5575 5576 553C
-554D 5550 5534 552A 5551 5562 5536 5535 5530 5552
-5545 550C 5532 5565 554E 5539 5548 552D 553B 5540
-554B 570A 5707 57FB 5814 57E2 57F6 57DC 57F4 5800
-57ED 57FD 5808 57F8 580B 57F3 57CF 5807 57EE 57E3
-57F2 57E5 57EC 57E1 580E 57FC 5810 57E7 5801 580C
-57F1 57E9 57F0 580D 5804 595C 5A60 5A58 5A55 5A67
-5A5E 5A38 5A35 5A6D 5A50 5A5F 5A65 5A6C 5A53 5A64
-5A57 5A43 5A5D 5A52 5A44 5A5B 5A48 5A8E 5A3E 5A4D
-5A39 5A4C 5A70 5A69 5A47 5A51 5A56 5A42 5A5C 5B72
-5B6E 5BC1 5BC0 5C59 5D1E 5D0B 5D1D 5D1A 5D20 5D0C
-5D28 5D0D 5D26 5D25 5D0F 5D30 5D12 5D23 5D1F 5D2E
-5E3E 5E34 5EB1 5EB4 5EB9 5EB2 5EB3 5F36 5F38 5F9B
-5F96 5F9F 608A 6090 6086 60BE 60B0 60BA 60D3 60D4
-60CF 60E4 60D9 60DD 60C8 60B1 60DB 60B7 60CA 60BF
-60C3 60CD 60C0 6332 6365 638A 6382 637D 63BD 639E
-63AD 639D 6397 63AB 638E 636F 6387 6390 636E 63AF
-6375 639C 636D 63AE 637C 63A4 633B 639F 6378 6385
-6381 6391 638D 6370 6553 65CD 6665 6661 665B 6659
-665C 6662 6718 6879 6887 6890 689C 686D 686E 68AE
-68AB 6956 686F 68A3 68AC 68A9 6875 6874 68B2 688F
-6877 6892 687C 686B 6872 68AA 6880 6871 687E 689B
-6896 688B 68A0 6889 68A4 6878 687B 6891 688C 688A
-687D 6B36 6B33 6B37 6B38 6B91 6B8F 6B8D 6B8E 6B8C
-6C2A 6DC0 6DAB 6DB4 6DB3 6E74 6DAC 6DE9 6DE2 6DB7
-6DF6 6DD4 6E00 6DC8 6DE0 6DDF 6DD6 6DBE 6DE5 6DDC
-6DDD 6DDB 6DF4 6DCA 6DBD 6DED 6DF0 6DBA 6DD5 6DC2
-6DCF 6DC9 6DD0 6DF2 6DD3 6DFD 6DD7 6DCD 6DE3 6DBB
-70FA 710D 70F7 7117 70F4 710C 70F0 7104 70F3 7110
-70FC 70FF 7106 7113 7100 70F8 70F6 710B 7102 710E
-727E 727B 727C 727F 731D 7317 7307 7311 7318 730A
-7308 72FF 730F 731E 7388 73F6 73F8 73F5 7404 7401
-73FD 7407 7400 73FA 73FC 73FF 740C 740B 73F4 7408
-7564 7563 75CE 75D2 75CF 75CB 75CC 75D1 75D0 768F
-7689 76D3 7739 772F 772D 7731 7732 7734 7733 773D
-7725 773B 7735 7848 7852 7849 784D 784A 784C 7826
-7845 7850 7964 7967 7969 796A 7963 796B 7961 79BB
-79FA 79F8 79F6 79F7 7A8F 7A94 7A90 7B35 7B47 7B34
-7B25 7B30 7B22 7B24 7B33 7B18 7B2A 7B1D 7B31 7B2B
-7B2D 7B2F 7B32 7B38 7B1A 7B23 7C94 7C98 7C96 7CA3
-7D35 7D3D 7D38 7D36 7D3A 7D45 7D2C 7D29 7D41 7D47
-7D3E 7D3F 7D4A 7D3B 7D28 7F63 7F95 7F9C 7F9D 7F9B
-7FCA 7FCB 7FCD 7FD0 7FD1 7FC7 7FCF 7FC9 801F 801E
-801B 8047 8043 8048 8118 8125 8119 811B 812D 811F
-812C 811E 8121 8115 8127 811D 8122 8211 8238 8233
-823A 8234 8232 8274 8390 83A3 83A8 838D 837A 8373
-83A4 8374 838F 8381 8395 8399 8375 8394 83A9 837D
-8383 838C 839D 839B 83AA 838B 837E 83A5 83AF 8388
-8397 83B0 837F 83A6 8387 83AE 8376 8659 8656 86BF
-86B7 86C2 86C1 86C5 86BA 86B0 86C8 86B9 86B3 86B8
-86CC 86B4 86BB 86BC 86C3 86BD 86BE 8852 8889 8895
-88A8 88A2 88AA 889A 8891 88A1 889F 8898 88A7 8899
-889B 8897 88A4 88AC 888C 8893 888E 8982 89D6 89D9
-89D5 8A30 8A27 8A2C 8A1E 8C39 8C3B 8C5C 8C5D 8C7D
-8CA5 8D7D 8D7B 8D79 8DBC 8DC2 8DB9 8DBF 8DC1 8ED8
-8EDE 8EDD 8EDC 8ED7 8EE0 8EE1 9024 900B 9011 901C
-900C 9021 90EF 90EA 90F0 90F4 90F2 90F3 90D4 90EB
-90EC 90E9 9156 9158 915A 9153 9155 91EC 91F4 91F1
-91F3 91F8 91E4 91F9 91EA 91EB 91F7 91E8 91EE 957A
-9586 9588 967C 966D 966B 9671 966F 96BF 976A 9804
-98E5 9997 50A2 508D 5085 5099 5091 5080 5096 5098
-509A 6700 51F1 5272 5274 5275 5269 52DE 52DD 52DB
-535A 53A5 557B 5580 55A7 557C 558A 559D 5598 5582
-559C 55AA 5594 5587 558B 5583 55B3 55AE 559F 553E
-55B2 559A 55BB 55AC 55B1 557E 5589 55AB 5599 570D
-582F 582A 5834 5824 5830 5831 5821 581D 5820 58F9
-58FA 5960 5A77 5A9A 5A7F 5A92 5A9B 5AA7 5B73 5B71
-5BD2 5BCC 5BD3 5BD0 5C0A 5C0B 5C31 5D4C 5D50 5D34
-5D47 5DFD 5E45 5E3D 5E40 5E43 5E7E 5ECA 5EC1 5EC2
-5EC4 5F3C 5F6D 5FA9 5FAA 5FA8 60D1 60E1 60B2 60B6
-60E0 611C 6123 60FA 6115 60F0 60FB 60F4 6168 60F1
-610E 60F6 6109 6100 6112 621F 6249 63A3 638C 63CF
-63C0 63E9 63C9 63C6 63CD 63D2 63E3 63D0 63E1 63D6
-63ED 63EE 6376 63F4 63EA 63DB 6452 63DA 63F9 655E
-6566 6562 6563 6591 6590 65AF 666E 6670 6674 6676
-666F 6691 667A 667E 6677 66FE 66FF 671F 671D 68FA
-68D5 68E0 68D8 68D7 6905 68DF 68F5 68EE 68E7 68F9
-68D2 68F2 68E3 68CB 68CD 690D 6912 690E 68C9 68DA
-696E 68FB 6B3E 6B3A 6B3D 6B98 6B96 6BBC 6BEF 6C2E
-6C2F 6C2C 6E2F 6E38 6E54 6E21 6E32 6E67 6E4A 6E20
-6E25 6E23 6E1B 6E5B 6E58 6E24 6E56 6E6E 6E2D 6E26
-6E6F 6E34 6E4D 6E3A 6E2C 6E43 6E1D 6E3E 6ECB 6E89
-6E19 6E4E 6E63 6E44 6E72 6E69 6E5F 7119 711A 7126
-7130 7121 7136 716E 711C 724C 7284 7280 7336 7325
-7334 7329 743A 742A 7433 7422 7425 7435 7436 7434
-742F 741B 7426 7428 7525 7526 756B 756A 75E2 75DB
-75E3 75D9 75D8 75DE 75E0 767B 767C 7696 7693 76B4
-76DC 774F 77ED 785D 786C 786F 7A0D 7A08 7A0B 7A05
-7A00 7A98 7A97 7A96 7AE5 7AE3 7B49 7B56 7B46 7B50
-7B52 7B54 7B4D 7B4B 7B4F 7B51 7C9F 7CA5 7D5E 7D50
-7D68 7D55 7D2B 7D6E 7D72 7D61 7D66 7D62 7D70 7D73
-5584 7FD4 7FD5 800B 8052 8085 8155 8154 814B 8151
-814E 8139 8146 813E 814C 8153 8174 8212 821C 83E9
-8403 83F8 840D 83E0 83C5 840B 83C1 83EF 83F1 83F4
-8457 840A 83F0 840C 83CC 83FD 83F2 83CA 8438 840E
-8404 83DC 8407 83D4 83DF 865B 86DF 86D9 86ED 86D4
-86DB 86E4 86D0 86DE 8857 88C1 88C2 88B1 8983 8996
-8A3B 8A60 8A55 8A5E 8A3C 8A41 8A54 8A5B 8A50 8A46
-8A34 8A3A 8A36 8A56 8C61 8C82 8CAF 8CBC 8CB3 8CBD
-8CC1 8CBB 8CC0 8CB4 8CB7 8CB6 8CBF 8CB8 8D8A 8D85
-8D81 8DCE 8DDD 8DCB 8DDA 8DD1 8DCC 8DDB 8DC6 8EFB
-8EF8 8EFC 8F9C 902E 9035 9031 9038 9032 9036 9102
-90F5 9109 90FE 9163 9165 91CF 9214 9215 9223 9209
-921E 920D 9210 9207 9211 9594 958F 958B 9591 9593
-9592 958E 968A 968E 968B 967D 9685 9686 968D 9672
-9684 96C1 96C5 96C4 96C6 96C7 96EF 96F2 97CC 9805
-9806 9808 98E7 98EA 98EF 98E9 98F2 98ED 99AE 99AD
-9EC3 9ECD 9ED1 839A 509B 5095 5094 509E 508B 50A3
-5083 508C 508E 509D 5068 509C 5092 5082 5087 515F
-51D4 5312 5311 53A4 53A7 5591 55A8 55A5 55AD 5577
-5645 55A2 5593 5588 558F 55B5 5581 55A3 5592 55A4
-557D 558C 55A6 557F 5595 55A1 558E 570C 5829 5837
-5819 581E 5827 5823 5828 57F5 5848 5825 581C 581B
-5833 583F 5836 582E 5839 5838 582D 582C 583B 5961
-5AAF 5A94 5A9F 5A7A 5AA2 5A9E 5A78 5AA6 5A7C 5AA5
-5AAC 5A95 5AAE 5A37 5A84 5A8A 5A97 5A83 5A8B 5AA9
-5A7B 5A7D 5A8C 5A9C 5A8F 5A93 5A9D 5BEA 5BCD 5BCB
-5BD4 5BD1 5BCA 5BCE 5C0C 5C30 5D37 5D43 5D6B 5D41
-5D4B 5D3F 5D35 5D51 5D4E 5D55 5D33 5D3A 5D52 5D3D
-5D31 5D59 5D42 5D39 5D49 5D38 5D3C 5D32 5D36 5D40
-5D45 5E44 5E41 5F58 5FA6 5FA5 5FAB 60C9 60B9 60CC
-60E2 60CE 60C4 6114 60F2 610A 6116 6105 60F5 6113
-60F8 60FC 60FE 60C1 6103 6118 611D 6110 60FF 6104
-610B 624A 6394 63B1 63B0 63CE 63E5 63E8 63EF 63C3
-649D 63F3 63CA 63E0 63F6 63D5 63F2 63F5 6461 63DF
-63BE 63DD 63DC 63C4 63D8 63D3 63C2 63C7 63CC 63CB
-63C8 63F0 63D7 63D9 6532 6567 656A 6564 655C 6568
-6565 658C 659D 659E 65AE 65D0 65D2 667C 666C 667B
-6680 6671 6679 666A 6672 6701 690C 68D3 6904 68DC
-692A 68EC 68EA 68F1 690F 68D6 68F7 68EB 68E4 68F6
-6913 6910 68F3 68E1 6907 68CC 6908 6970 68B4 6911
-68EF 68C6 6914 68F8 68D0 68FD 68FC 68E8 690B 690A
-6917 68CE 68C8 68DD 68DE 68E6 68F4 68D1 6906 68D4
-68E9 6915 6925 68C7 6B39 6B3B 6B3F 6B3C 6B94 6B97
-6B99 6B95 6BBD 6BF0 6BF2 6BF3 6C30 6DFC 6E46 6E47
-6E1F 6E49 6E88 6E3C 6E3D 6E45 6E62 6E2B 6E3F 6E41
-6E5D 6E73 6E1C 6E33 6E4B 6E40 6E51 6E3B 6E03 6E2E
-6E5E 6E68 6E5C 6E61 6E31 6E28 6E60 6E71 6E6B 6E39
-6E22 6E30 6E53 6E65 6E27 6E78 6E64 6E77 6E55 6E79
-6E52 6E66 6E35 6E36 6E5A 7120 711E 712F 70FB 712E
-7131 7123 7125 7122 7132 711F 7128 713A 711B 724B
-725A 7288 7289 7286 7285 728B 7312 730B 7330 7322
-7331 7333 7327 7332 732D 7326 7323 7335 730C 742E
-742C 7430 742B 7416 741A 7421 742D 7431 7424 7423
-741D 7429 7420 7432 74FB 752F 756F 756C 75E7 75DA
-75E1 75E6 75DD 75DF 75E4 75D7 7695 7692 76DA 7746
-7747 7744 774D 7745 774A 774E 774B 774C 77DE 77EC
-7860 7864 7865 785C 786D 7871 786A 786E 7870 7869
-7868 785E 7862 7974 7973 7972 7970 7A02 7A0A 7A03
-7A0C 7A04 7A99 7AE6 7AE4 7B4A 7B3B 7B44 7B48 7B4C
-7B4E 7B40 7B58 7B45 7CA2 7C9E 7CA8 7CA1 7D58 7D6F
-7D63 7D53 7D56 7D67 7D6A 7D4F 7D6D 7D5C 7D6B 7D52
-7D54 7D69 7D51 7D5F 7D4E 7F3E 7F3F 7F65 7F66 7FA2
-7FA0 7FA1 7FD7 8051 804F 8050 80FE 80D4 8143 814A
-8152 814F 8147 813D 814D 813A 81E6 81EE 81F7 81F8
-81F9 8204 823C 823D 823F 8275 833B 83CF 83F9 8423
-83C0 83E8 8412 83E7 83E4 83FC 83F6 8410 83C6 83C8
-83EB 83E3 83BF 8401 83DD 83E5 83D8 83FF 83E1 83CB
-83CE 83D6 83F5 83C9 8409 840F 83DE 8411 8406 83C2
-83F3 83D5 83FA 83C7 83D1 83EA 8413 83C3 83EC 83EE
-83C4 83FB 83D7 83E2 841B 83DB 83FE 86D8 86E2 86E6
-86D3 86E3 86DA 86EA 86DD 86EB 86DC 86EC 86E9 86D7
-86E8 86D1 8848 8856 8855 88BA 88D7 88B9 88B8 88C0
-88BE 88B6 88BC 88B7 88BD 88B2 8901 88C9 8995 8998
-8997 89DD 89DA 89DB 8A4E 8A4D 8A39 8A59 8A40 8A57
-8A58 8A44 8A45 8A52 8A48 8A51 8A4A 8A4C 8A4F 8C5F
-8C81 8C80 8CBA 8CBE 8CB0 8CB9 8CB5 8D84 8D80 8D89
-8DD8 8DD3 8DCD 8DC7 8DD6 8DDC 8DCF 8DD5 8DD9 8DC8
-8DD7 8DC5 8EEF 8EF7 8EFA 8EF9 8EE6 8EEE 8EE5 8EF5
-8EE7 8EE8 8EF6 8EEB 8EF1 8EEC 8EF4 8EE9 902D 9034
-902F 9106 912C 9104 90FF 90FC 9108 90F9 90FB 9101
-9100 9107 9105 9103 9161 9164 915F 9162 9160 9201
-920A 9225 9203 921A 9226 920F 920C 9200 9212 91FF
-91FD 9206 9204 9227 9202 921C 9224 9219 9217 9205
-9216 957B 958D 958C 9590 9687 967E 9688 9689 9683
-9680 96C2 96C8 96C3 96F1 96F0 976C 9770 976E 9807
-98A9 98EB 9CE6 9EF9 4E82 7CA7 50AD 50B5 50B2 50B3
-50C5 50BE 50AC 50B7 50BB 50AF 50C7 527F 5277 527D
-52DF 52E6 52E4 52E2 52E3 532F 55DF 55E8 55D3 55E6
-55CE 55DC 55C7 55D1 55E3 55E4 55EF 55DA 55E1 55C5
-55C6 55E5 55C9 5712 5713 585E 5851 5858 5857 585A
-5854 586B 584C 586D 584A 5862 5852 584B 5967 5AC1
-5AC9 5ACC 5ABE 5ABD 5ABC 5AB3 5AC2 5AB2 5D69 5D6F
-5E4C 5E79 5EC9 5EC8 5F12 5F59 5FAC 5FAE 611A 610F
-6148 611F 60F3 611B 60F9 6101 6108 614E 614C 6144
-614D 613E 6134 6127 610D 6106 6137 6221 6222 6413
-643E 641E 642A 642D 643D 642C 640F 641C 6414 640D
-6436 6416 6417 6406 656C 659F 65B0 6697 6689 6687
-6688 6696 6684 6698 668D 6703 6994 696D 695A 6977
-6960 6954 6975 6930 6982 694A 6968 696B 695E 6953
-6979 6986 695D 6963 695B 6B47 6B72 6BC0 6BBF 6BD3
-6BFD 6EA2 6EAF 6ED3 6EB6 6EC2 6E90 6E9D 6EC7 6EC5
-6EA5 6E98 6EBC 6EBA 6EAB 6ED1 6E96 6E9C 6EC4 6ED4
-6EAA 6EA7 6EB4 714E 7159 7169 7164 7149 7167 715C
-716C 7166 714C 7165 715E 7146 7168 7156 723A 7252
-7337 7345 733F 733E 746F 745A 7455 745F 745E 7441
-743F 7459 745B 745C 7576 7578 7600 75F0 7601 75F2
-75F1 75FA 75FF 75F4 75F3 76DE 76DF 775B 776B 7766
-775E 7763 7779 776A 776C 775C 7765 7768 7762 77EE
-788E 78B0 7897 7898 788C 7889 787C 7891 7893 787F
-797A 797F 7981 842C 79BD 7A1C 7A1A 7A20 7A14 7A1F
-7A1E 7A9F 7AA0 7B77 7BC0 7B60 7B6E 7B67 7CB1 7CB3
-7CB5 7D93 7D79 7D91 7D81 7D8F 7D5B 7F6E 7F69 7F6A
-7F72 7FA9 7FA8 7FA4 8056 8058 8086 8084 8171 8170
-8178 8165 816E 8173 816B 8179 817A 8166 8205 8247
-8482 8477 843D 8431 8475 8466 846B 8449 846C 845B
-843C 8435 8461 8463 8469 846D 8446 865E 865C 865F
-86F9 8713 8708 8707 8700 86FE 86FB 8702 8703 8706
-870A 8859 88DF 88D4 88D9 88DC 88D8 88DD 88E1 88CA
-88D5 88D2 899C 89E3 8A6B 8A72 8A73 8A66 8A69 8A70
-8A87 8A7C 8A63 8AA0 8A71 8A85 8A6D 8A62 8A6E 8A6C
-8A79 8A7B 8A3E 8A68 8C62 8C8A 8C89 8CCA 8CC7 8CC8
-8CC4 8CB2 8CC3 8CC2 8CC5 8DE1 8DDF 8DE8 8DEF 8DF3
-8DFA 8DEA 8DE4 8DE6 8EB2 8F03 8F09 8EFE 8F0A 8F9F
-8FB2 904B 904A 9053 9042 9054 903C 9055 9050 9047
-904F 904E 904D 9051 903E 9041 9112 9117 916C 916A
-9169 91C9 9237 9257 9238 923D 9240 923E 925B 924B
-9264 9251 9234 9249 924D 9245 9239 923F 925A 9598
-9698 9694 9695 96CD 96CB 96C9 96CA 96F7 96FB 96F9
-96F6 9756 9774 9776 9810 9811 9813 980A 9812 980C
-98FC 98F4 98FD 98FE 99B3 99B1 99B4 9AE1 9CE9 9E82
-9F0E 9F13 9F20 4E83 4E84 4EB6 50BD 50BF 50C6 50AE
-50C4 50CA 50B4 50C8 50C2 50B0 50C1 50BA 50B1 50CB
-50C9 50B6 50B8 51D7 527A 5278 527B 527C 55C3 55DB
-55CC 55D0 55CB 55CA 55DD 55C0 55D4 55C4 55E9 55BF
-55D2 558D 55CF 55D5 55E2 55D6 55C8 55F2 55CD 55D9
-55C2 5714 5853 5868 5864 584F 584D 5849 586F 5855
-584E 585D 5859 5865 585B 583D 5863 5871 58FC 5AC7
-5AC4 5ACB 5ABA 5AB8 5AB1 5AB5 5AB0 5ABF 5AC8 5ABB
-5AC6 5AB7 5AC0 5ACA 5AB4 5AB6 5ACD 5AB9 5A90 5BD6
-5BD8 5BD9 5C1F 5C33 5D71 5D63 5D4A 5D65 5D72 5D6C
-5D5E 5D68 5D67 5D62 5DF0 5E4F 5E4E 5E4A 5E4D 5E4B
-5EC5 5ECC 5EC6 5ECB 5EC7 5F40 5FAF 5FAD 60F7 6149
-614A 612B 6145 6136 6132 612E 6146 612F 614F 6129
-6140 6220 9168 6223 6225 6224 63C5 63F1 63EB 6410
-6412 6409 6420 6424 6433 6443 641F 6415 6418 6439
-6437 6422 6423 640C 6426 6430 6428 6441 6435 642F
-640A 641A 6440 6425 6427 640B 63E7 641B 642E 6421
-640E 656F 6592 65D3 6686 668C 6695 6690 668B 668A
-6699 6694 6678 6720 6966 695F 6938 694E 6962 6971
-693F 6945 696A 6939 6942 6957 6959 697A 6948 6949
-6935 696C 6933 693D 6965 68F0 6978 6934 6969 6940
-696F 6944 6976 6958 6941 6974 694C 693B 694B 6937
-695C 694F 6951 6932 6952 692F 697B 693C 6B46 6B45
-6B43 6B42 6B48 6B41 6B9B 6BFB 6BFC 6BF9 6BF7 6BF8
-6E9B 6ED6 6EC8 6E8F 6EC0 6E9F 6E93 6E94 6EA0 6EB1
-6EB9 6EC6 6ED2 6EBD 6EC1 6E9E 6EC9 6EB7 6EB0 6ECD
-6EA6 6ECF 6EB2 6EBE 6EC3 6EDC 6ED8 6E99 6E92 6E8E
-6E8D 6EA4 6EA1 6EBF 6EB3 6ED0 6ECA 6E97 6EAE 6EA3
-7147 7154 7152 7163 7160 7141 715D 7162 7172 7178
-716A 7161 7142 7158 7143 714B 7170 715F 7150 7153
-7144 714D 715A 724F 728D 728C 7291 7290 728E 733C
-7342 733B 733A 7340 734A 7349 7444 744A 744B 7452
-7451 7457 7440 744F 7450 744E 7442 7446 744D 7454
-74E1 74FF 74FE 74FD 751D 7579 7577 6983 75EF 760F
-7603 75F7 75FE 75FC 75F9 75F8 7610 75FB 75F6 75ED
-75F5 75FD 7699 76B5 76DD 7755 775F 7760 7752 7756
-775A 7769 7767 7754 7759 776D 77E0 7887 789A 7894
-788F 7884 7895 7885 7886 78A1 7883 7879 7899 7880
-7896 787B 797C 7982 797D 7979 7A11 7A18 7A19 7A12
-7A17 7A15 7A22 7A13 7A1B 7A10 7AA3 7AA2 7A9E 7AEB
-7B66 7B64 7B6D 7B74 7B69 7B72 7B65 7B73 7B71 7B70
-7B61 7B78 7B76 7B63 7CB2 7CB4 7CAF 7D88 7D86 7D80
-7D8D 7D7F 7D85 7D7A 7D8E 7D7B 7D83 7D7C 7D8C 7D94
-7D84 7D7D 7D92 7F6D 7F6B 7F67 7F68 7F6C 7FA6 7FA5
-7FA7 7FDB 7FDC 8021 8164 8160 8177 815C 8169 815B
-8162 8172 6721 815E 8176 8167 816F 8144 8161 821D
-8249 8244 8240 8242 8245 84F1 843F 8456 8476 8479
-848F 848D 8465 8451 8440 8486 8467 8430 844D 847D
-845A 8459 8474 8473 845D 8507 845E 8437 843A 8434
-847A 8443 8478 8432 8445 8429 83D9 844B 842F 8442
-842D 845F 8470 8439 844E 844C 8452 846F 84C5 848E
-843B 8447 8436 8433 8468 847E 8444 842B 8460 8454
-846E 8450 870B 8704 86F7 870C 86FA 86D6 86F5 874D
-86F8 870E 8709 8701 86F6 870D 8705 88D6 88CB 88CD
-88CE 88DE 88DB 88DA 88CC 88D0 8985 899B 89DF 89E5
-89E4 89E1 89E0 89E2 89DC 89E6 8A76 8A86 8A7F 8A61
-8A3F 8A77 8A82 8A84 8A75 8A83 8A81 8A74 8A7A 8C3C
-8C4B 8C4A 8C65 8C64 8C66 8C86 8C84 8C85 8CCC 8D68
-8D69 8D91 8D8C 8D8E 8D8F 8D8D 8D93 8D94 8D90 8D92
-8DF0 8DE0 8DEC 8DF1 8DEE 8DD0 8DE9 8DE3 8DE2 8DE7
-8DF2 8DEB 8DF4 8F06 8EFF 8F01 8F00 8F05 8F07 8F08
-8F02 8F0B 9052 903F 9044 9049 903D 9110 910D 910F
-9111 9116 9114 910B 910E 916E 916F 9248 9252 9230
-923A 9266 9233 9265 925E 9283 922E 924A 9246 926D
-926C 924F 9260 9267 926F 9236 9261 9270 9231 9254
-9263 9250 9272 924E 9253 924C 9256 9232 959F 959C
-959E 959B 9692 9693 9691 9697 96CE 96FA 96FD 96F8
-96F5 9773 9777 9778 9772 980F 980D 980E 98AC 98F6
-98F9 99AF 99B2 99B0 99B5 9AAD 9AAB 9B5B 9CEA 9CED
-9CE7 9E80 9EFD 7881 88CF 50E7 50EE 50E5 50D6 50ED
-50DA 50D5 50CF 50D1 50F1 50CE 50E9 5162 51F3 5283
-5282 5331 53AD 55FE 5600 561B 5617 55FD 5614 5606
-5609 560D 560E 55F7 5616 561F 5608 5610 55F6 5718
-5716 5875 587E 5883 5893 588A 5879 5885 587D 58FD
-5925 5922 5924 596A 5969 5AE1 5AE6 5AE9 5AD7 5AD6
-5AD8 5AE3 5B75 5BDE 5BE7 5BE1 5BE5 5BE6 5BE8 5BE2
-5BE4 5BDF 5C0D 5C62 5D84 5D87 5E5B 5E63 5E55 5E57
-5E54 5ED3 5ED6 5F0A 5F46 5F70 5FB9 6147 613F 614B
-6177 6162 6163 615F 615A 6158 6175 622A 6487 6458
-6454 64A4 6478 645F 647A 6451 6467 6434 646D 647B
-6572 65A1 65D7 65D6 66A2 66A8 669D 699C 69A8 6995
-69C1 69AE 69D3 69CB 699B 69B7 69BB 69AB 69B4 69D0
-69CD 69AD 69CC 69A6 69C3 69A3 6B49 6B4C 6C33 6F33
-6F14 6EFE 6F13 6EF4 6F29 6F3E 6F20 6F2C 6F0F 6F02
-6F22 6EFF 6EEF 6F06 6F31 6F38 6F32 6F23 6F15 6F2B
-6F2F 6F88 6F2A 6EEC 6F01 6EF2 6ECC 6EF7 7194 7199
-717D 718A 7184 7192 723E 7292 7296 7344 7350 7464
-7463 746A 7470 746D 7504 7591 7627 760D 760B 7609
-7613 76E1 76E3 7784 777D 777F 7761 78C1 789F 78A7
-78B3 78A9 78A3 798E 798F 798D 7A2E 7A31 7AAA 7AA9
-7AED 7AEF 7BA1 7B95 7B8B 7B75 7B97 7B9D 7B94 7B8F
-7BB8 7B87 7B84 7CB9 7CBD 7CBE 7DBB 7DB0 7D9C 7DBD
-7DBE 7DA0 7DCA 7DB4 7DB2 7DB1 7DBA 7DA2 7DBF 7DB5
-7DB8 7DAD 7DD2 7DC7 7DAC 7F70 7FE0 7FE1 7FDF 805E
-805A 8087 8150 8180 818F 8188 818A 817F 8182 81E7
-81FA 8207 8214 821E 824B 84C9 84BF 84C6 84C4 8499
-849E 84B2 849C 84CB 84B8 84C0 84D3 8490 84BC 84D1
-84CA 873F 871C 873B 8722 8725 8734 8718 8755 8737
-8729 88F3 8902 88F4 88F9 88F8 88FD 88E8 891A 88EF
-8AA6 8A8C 8A9E 8AA3 8A8D 8AA1 8A93 8AA4 8AAA 8AA5
-8AA8 8A98 8A91 8A9A 8AA7 8C6A 8C8D 8C8C 8CD3 8CD1
-8CD2 8D6B 8D99 8D95 8DFC 8F14 8F12 8F15 8F13 8FA3
-9060 9058 905C 9063 9059 905E 9062 905D 905B 9119
-9118 911E 9175 9178 9177 9174 9278 9280 9285 9298
-9296 927B 9293 929C 92A8 927C 9291 95A1 95A8 95A9
-95A3 95A5 95A4 9699 969C 969B 96CC 96D2 9700 977C
-9785 97F6 9817 9818 98AF 98B1 9903 9905 990C 9909
-99C1 9AAF 9AB0 9AE6 9B41 9B42 9CF4 9CF6 9CF3 9EBC
-9F3B 9F4A 50E6 50D4 50D7 50E8 50F3 50DB 50EA 50DD
-50E4 50D3 50EC 50F0 50EF 50E3 50E0 51D8 5280 5281
-52E9 52EB 5330 53AC 5627 5615 560C 5612 55FC 560F
-561C 5601 5613 5602 55FA 561D 5604 55FF 55F9 5889
-587C 5890 5898 5886 5881 587F 5874 588B 587A 5887
-5891 588E 5876 5882 5888 587B 5894 588F 58FE 596B
-5ADC 5AEE 5AE5 5AD5 5AEA 5ADA 5AED 5AEB 5AF3 5AE2
-5AE0 5ADB 5AEC 5ADE 5ADD 5AD9 5AE8 5ADF 5B77 5BE0
-5BE3 5C63 5D82 5D80 5D7D 5D86 5D7A 5D81 5D77 5D8A
-5D89 5D88 5D7E 5D7C 5D8D 5D79 5D7F 5E58 5E59 5E53
-5ED8 5ED1 5ED7 5ECE 5EDC 5ED5 5ED9 5ED2 5ED4 5F44
-5F43 5F6F 5FB6 612C 6128 6141 615E 6171 6173 6152
-6153 6172 616C 6180 6174 6154 617A 615B 6165 613B
-616A 6161 6156 6229 6227 622B 642B 644D 645B 645D
-6474 6476 6472 6473 647D 6475 6466 64A6 644E 6482
-645E 645C 644B 6453 6460 6450 647F 643F 646C 646B
-6459 6465 6477 6573 65A0 66A1 66A0 669F 6705 6704
-6722 69B1 69B6 69C9 69A0 69CE 6996 69B0 69AC 69BC
-6991 6999 698E 69A7 698D 69A9 69BE 69AF 69BF 69C4
-69BD 69A4 69D4 69B9 69CA 699A 69CF 69B3 6993 69AA
-69A1 699E 69D9 6997 6990 69C2 69B5 69A5 69C6 6B4A
-6B4D 6B4B 6B9E 6B9F 6BA0 6BC3 6BC4 6BFE 6ECE 6EF5
-6EF1 6F03 6F25 6EF8 6F37 6EFB 6F2E 6F09 6F4E 6F19
-6F1A 6F27 6F18 6F3B 6F12 6EED 6F0A 6F36 6F73 6EF9
-6EEE 6F2D 6F40 6F30 6F3C 6F35 6EEB 6F07 6F0E 6F43
-6F05 6EFD 6EF6 6F39 6F1C 6EFC 6F3A 6F1F 6F0D 6F1E
-6F08 6F21 7187 7190 7189 7180 7185 7182 718F 717B
-7186 7181 7197 7244 7253 7297 7295 7293 7343 734D
-7351 734C 7462 7473 7471 7475 7472 7467 746E 7500
-7502 7503 757D 7590 7616 7608 760C 7615 7611 760A
-7614 76B8 7781 777C 7785 7782 776E 7780 776F 777E
-7783 78B2 78AA 78B4 78AD 78A8 787E 78AB 789E 78A5
-78A0 78AC 78A2 78A4 7998 798A 798B 7996 7995 7994
-7993 7997 7988 7992 7990 7A2B 7A4A 7A30 7A2F 7A28
-7A26 7AA8 7AAB 7AAC 7AEE 7B88 7B9C 7B8A 7B91 7B90
-7B96 7B8D 7B8C 7B9B 7B8E 7B85 7B98 5284 7B99 7BA4
-7B82 7CBB 7CBF 7CBC 7CBA 7DA7 7DB7 7DC2 7DA3 7DAA
-7DC1 7DC0 7DC5 7D9D 7DCE 7DC4 7DC6 7DCB 7DCC 7DAF
-7DB9 7D96 7DBC 7D9F 7DA6 7DAE 7DA9 7DA1 7DC9 7F73
-7FE2 7FE3 7FE5 7FDE 8024 805D 805C 8189 8186 8183
-8187 818D 818C 818B 8215 8497 84A4 84A1 849F 84BA
-84CE 84C2 84AC 84AE 84AB 84B9 84B4 84C1 84CD 84AA
-849A 84B1 84D0 849D 84A7 84BB 84A2 8494 84C7 84CC
-849B 84A9 84AF 84A8 84D6 8498 84B6 84CF 84A0 84D7
-84D4 84D2 84DB 84B0 8491 8661 8733 8723 8728 876B
-8740 872E 871E 8721 8719 871B 8743 872C 8741 873E
-8746 8720 8732 872A 872D 873C 8712 873A 8731 8735
-8742 8726 8727 8738 8724 871A 8730 8711 88F7 88E7
-88F1 88F2 88FA 88FE 88EE 88FC 88F6 88FB 88F0 88EC
-88EB 899D 89A1 899F 899E 89E9 89EB 89E8 8AAB 8A99
-8A8B 8A92 8A8F 8A96 8C3D 8C68 8C69 8CD5 8CCF 8CD7
-8D96 8E09 8E02 8DFF 8E0D 8DFD 8E0A 8E03 8E07 8E06
-8E05 8DFE 8E00 8E04 8F10 8F11 8F0E 8F0D 9123 911C
-9120 9122 911F 911D 911A 9124 9121 911B 917A 9172
-9179 9173 92A5 92A4 9276 929B 927A 92A0 9294 92AA
-928D 92A6 929A 92AB 9279 9297 927F 92A3 92EE 928E
-9282 9295 92A2 927D 9288 92A1 928A 9286 928C 9299
-92A7 927E 9287 92A9 929D 928B 922D 969E 96A1 96FF
-9758 977D 977A 977E 9783 9780 9782 977B 9784 9781
-977F 97CE 97CD 9816 98AD 98AE 9902 9900 9907 999D
-999C 99C3 99B9 99BB 99BA 99C2 99BD 99C7 9AB1 9AE3
-9AE7 9B3E 9B3F 9B60 9B61 9B5F 9CF1 9CF2 9CF5 9EA7
-50FF 5103 5130 50F8 5106 5107 50F6 50FE 510B 510C
-50FD 510A 528B 528C 52F1 52EF 5104 5100 50FB 50F5
-50F9 5102 5108 5109 5105 51DC 5287 5288 5289 528D
-528A 52F0 53B2 562E 563B 5639 5632 563F 5634 5629
-5653 564E 5657 5674 5636 562F 5630 5880 589F 589E
-58B3 589C 58AE 58A9 58A6 596D 5B09 5AFB 5B0B 5AF5
-5B0C 5B08 5BEE 5BEC 5BE9 5BEB 5C64 5C65 5D9D 5D94
-5E62 5E5F 5E61 5EE2 5EDA 5EDF 5EDD 5EE3 5EE0 5F48
-5F71 5FB7 5FB5 6176 6167 616E 615D 6155 6182 617C
-6170 616B 617E 61A7 6190 61AB 618E 61AC 619A 61A4
-6194 61AE 622E 6469 646F 6479 649E 64B2 6488 6490
-64B0 64A5 6493 6495 64A9 6492 64AE 64AD 64AB 649A
-64AC 6499 64A2 64B3 6575 6577 6578 66AE 66AB 66B4
-66B1 6A23 6A1F 69E8 6A01 6A1E 6A19 69FD 6A21 6A13
-6A0A 69F3 6A02 6A05 69ED 6A11 6B50 6B4E 6BA4 6BC5
-6BC6 6F3F 6F7C 6F84 6F51 6F66 6F54 6F86 6F6D 6F5B
-6F78 6F6E 6F8E 6F7A 6F70 6F64 6F97 6F58 6ED5 6F6F
-6F60 6F5F 719F 71AC 71B1 71A8 7256 729B 734E 7357
-7469 748B 7483 747E 7480 757F 7620 7629 761F 7624
-7626 7621 7622 769A 76BA 76E4 778E 7787 778C 7791
-778B 78CB 78C5 78BA 78CA 78BE 78D5 78BC 78D0 7A3F
-7A3C 7A40 7A3D 7A37 7A3B 7AAF 7AAE 7BAD 7BB1 7BC4
-7BB4 7BC6 7BC7 7BC1 7BA0 7BCC 7CCA 7DE0 7DF4 7DEF
-7DFB 7DD8 7DEC 7DDD 7DE8 7DE3 7DDA 7DDE 7DE9 7D9E
-7DD9 7DF2 7DF9 7F75 7F77 7FAF 7FE9 8026 819B 819C
-819D 81A0 819A 8198 8517 853D 851A 84EE 852C 852D
-8513 8511 8523 8521 8514 84EC 8525 84FF 8506 8782
-8774 8776 8760 8766 8778 8768 8759 8757 874C 8753
-885B 885D 8910 8907 8912 8913 8915 890A 8ABC 8AD2
-8AC7 8AC4 8A95 8ACB 8AF8 8AB2 8AC9 8AC2 8ABF 8AB0
-8AD6 8ACD 8AB6 8AB9 8ADB 8C4C 8C4E 8C6C 8CE0 8CDE
-8CE6 8CE4 8CEC 8CED 8CE2 8CE3 8CDC 8CEA 8CE1 8D6D
-8D9F 8DA3 8E2B 8E10 8E1D 8E22 8E0F 8E29 8E1F 8E21
-8E1E 8EBA 8F1D 8F1B 8F1F 8F29 8F26 8F2A 8F1C 8F1E
-8F25 9069 906E 9068 906D 9077 9130 912D 9127 9131
-9187 9189 918B 9183 92C5 92BB 92B7 92EA 92AC 92E4
-92C1 92B3 92BC 92D2 92C7 92F0 92B2 95AD 95B1 9704
-9706 9707 9709 9760 978D 978B 978F 9821 982B 981C
-98B3 990A 9913 9912 9918 99DD 99D0 99DF 99DB 99D1
-99D5 99D2 99D9 9AB7 9AEE 9AEF 9B27 9B45 9B44 9B77
-9B6F 9D06 9D09 9D03 9EA9 9EBE 9ECE 58A8 9F52 5648
-5642 564C 5635 5641 564A 5649 5646 5658 565A 5640
-5633 563D 562C 563E 5638 562A 563A 571A 58AB 589D
-58B1 58A0 58A3 58AF 58AC 58A5 58A1 58FF 5AFF 5AF4
-5AFD 5AF7 5AF6 5B03 5AF8 5B02 5AF9 5B01 5B07 5B05
-5B0F 5C67 5D99 5D97 5D9F 5D92 5DA2 5D93 5D95 5DA0
-5D9C 5DA1 5D9A 5D9E 5E69 5E5D 5E60 5E5C 7DF3 5EDB
-5EDE 5EE1 5F49 5FB2 618B 6183 6179 61B1 61B0 61A2
-6189 619B 6193 61AF 61AD 619F 6192 61AA 61A1 618D
-6166 61B3 622D 646E 6470 6496 64A0 6485 6497 649C
-648F 648B 648A 648C 64A3 649F 6468 64B1 6498 6576
-657A 6579 657B 65B2 65B3 66B5 66B0 66A9 66B2 66B7
-66AA 66AF 6A00 6A06 6A17 69E5 69F8 6A15 69F1 69E4
-6A20 69FF 69EC 69E2 6A1B 6A1D 69FE 6A27 69F2 69EE
-6A14 69F7 69E7 6A40 6A08 69E6 69FB 6A0D 69FC 69EB
-6A09 6A04 6A18 6A25 6A0F 69F6 6A26 6A07 69F4 6A16
-6B51 6BA5 6BA3 6BA2 6BA6 6C01 6C00 6BFF 6C02 6F41
-6F26 6F7E 6F87 6FC6 6F92 6F8D 6F89 6F8C 6F62 6F4F
-6F85 6F5A 6F96 6F76 6F6C 6F82 6F55 6F72 6F52 6F50
-6F57 6F94 6F93 6F5D 6F00 6F61 6F6B 6F7D 6F67 6F90
-6F53 6F8B 6F69 6F7F 6F95 6F63 6F77 6F6A 6F7B 71B2
-71AF 719B 71B0 71A0 719A 71A9 71B5 719D 71A5 719E
-71A4 71A1 71AA 719C 71A7 71B3 7298 729A 7358 7352
-735E 735F 7360 735D 735B 7361 735A 7359 7362 7487
-7489 748A 7486 7481 747D 7485 7488 747C 7479 7508
-7507 757E 7625 761E 7619 761D 761C 7623 761A 7628
-761B 769C 769D 769E 769B 778D 778F 7789 7788 78CD
-78BB 78CF 78CC 78D1 78CE 78D4 78C8 78C3 78C4 78C9
-799A 79A1 79A0 799C 79A2 799B 6B76 7A39 7AB2 7AB4
-7AB3 7BB7 7BCB 7BBE 7BAC 7BCE 7BAF 7BB9 7BCA 7BB5
-7CC5 7CC8 7CCC 7CCB 7DF7 7DDB 7DEA 7DE7 7DD7 7DE1
-7E03 7DFA 7DE6 7DF6 7DF1 7DF0 7DEE 7DDF 7F76 7FAC
-7FB0 7FAD 7FED 7FEB 7FEA 7FEC 7FE6 7FE8 8064 8067
-81A3 819F 819E 8195 81A2 8199 8197 8216 824F 8253
-8252 8250 824E 8251 8524 853B 850F 8500 8529 850E
-8509 850D 851F 850A 8527 851C 84FB 852B 84FA 8508
-850C 84F4 852A 84F2 8515 84F7 84EB 84F3 84FC 8512
-84EA 84E9 8516 84FE 8528 851D 852E 8502 84FD 851E
-84F6 8531 8526 84E7 84E8 84F0 84EF 84F9 8518 8520
-8530 850B 8519 852F 8662 8756 8763 8764 8777 87E1
-8773 8758 8754 875B 8752 8761 875A 8751 875E 876D
-876A 8750 874E 875F 875D 876F 876C 877A 876E 875C
-8765 874F 877B 8775 8762 8767 8769 885A 8905 890C
-8914 890B 8917 8918 8919 8906 8916 8911 890E 8909
-89A2 89A4 89A3 89ED 89F0 89EC 8ACF 8AC6 8AB8 8AD3
-8AD1 8AD4 8AD5 8ABB 8AD7 8ABE 8AC0 8AC5 8AD8 8AC3
-8ABA 8ABD 8AD9 8C3E 8C4D 8C8F 8CE5 8CDF 8CD9 8CE8
-8CDA 8CDD 8CE7 8DA0 8D9C 8DA1 8D9B 8E20 8E23 8E25
-8E24 8E2E 8E15 8E1B 8E16 8E11 8E19 8E26 8E27 8E14
-8E12 8E18 8E13 8E1C 8E17 8E1A 8F2C 8F24 8F18 8F1A
-8F20 8F23 8F16 8F17 9073 9070 906F 9067 906B 912F
-912B 9129 912A 9132 9126 912E 9185 9186 918A 9181
-9182 9184 9180 92D0 92C3 92C4 92C0 92D9 92B6 92CF
-92F1 92DF 92D8 92E9 92D7 92DD 92CC 92EF 92C2 92E8
-92CA 92C8 92CE 92E6 92CD 92D5 92C9 92E0 92DE 92E7
-92D1 92D3 92B5 92E1 92C6 92B4 957C 95AC 95AB 95AE
-95B0 96A4 96A2 96D3 9705 9708 9702 975A 978A 978E
-9788 97D0 97CF 981E 981D 9826 9829 9828 9820 981B
-9827 98B2 9908 98FA 9911 9914 9916 9917 9915 99DC
-99CD 99CF 99D3 99D4 99CE 99C9 99D6 99D8 99CB 99D7
-99CC 9AB3 9AEC 9AEB 9AF3 9AF2 9AF1 9B46 9B43 9B67
-9B74 9B71 9B66 9B76 9B75 9B70 9B68 9B64 9B6C 9CFC
-9CFA 9CFD 9CFF 9CF7 9D07 9D00 9CF9 9CFB 9D08 9D05
-9D04 9E83 9ED3 9F0F 9F10 92B9 5AFA 5112 5118 5114
-5110 5115 5180 51AA 51DD 5291 5293 52F3 5659 566B
-5679 5669 5664 5678 566A 5668 5665 5671 566F 566C
-5662 5676 58C1 58BE 58C7 58C5 596E 5B1D 5B34 5B78
-5BF0 5C0E 5F4A 61B2 6191 61A9 618A 61CD 61B6 61BE
-61CA 61C8 6230 64C5 64C1 64CB 64BB 64BC 64DA 64C4
-64C7 64C2 64CD 64BF 64D2 64D4 64BE 6574 66C6 66C9
-66B9 66C4 66C7 66B8 6A3D 6A38 6A3A 6A59 6A6B 6A58
-6A39 6A44 6A62 6A61 6A4B 6A47 6A35 6A5F 6A48 6B59
-6B77 6C05 6FC2 6FB1 6FA1 6FC3 6FA4 6FC1 6FA7 6FB3
-6FC0 6FB9 6FB6 6FA6 6FA0 6FB4 71BE 71C9 71D0 71D2
-71C8 71D5 71B9 71CE 71D9 71DC 71C3 71C4 7368 749C
-74A3 7498 749F 749E 74E2 750C 750D 7634 7638 763A
-76E7 76E5 77A0 779E 779F 77A5 78E8 78DA 78EC 78E7
-79A6 7A4D 7A4E 7A46 7A4C 7A4B 7ABA 7BD9 7C11 7BC9
-7BE4 7BDB 7BE1 7BE9 7BE6 7CD5 7CD6 7E0A 7E11 7E08
-7E1B 7E23 7E1E 7E1D 7E09 7E10 7F79 7FB2 7FF0 7FF1
-7FEE 8028 81B3 81A9 81A8 81FB 8208 8258 8259 854A
-8559 8548 8568 8569 8543 8549 856D 856A 855E 8783
-879F 879E 87A2 878D 8861 892A 8932 8925 892B 8921
-89AA 89A6 8AE6 8AFA 8AEB 8AF1 8B00 8ADC 8AE7 8AEE
-8AFE 8B01 8B02 8AF7 8AED 8AF3 8AF6 8AFC 8C6B 8C6D
-8C93 8CF4 8E44 8E31 8E34 8E42 8E39 8E35 8F3B 8F2F
-8F38 8F33 8FA8 8FA6 9075 9074 9078 9072 907C 907A
-9134 9192 9320 9336 92F8 9333 932F 9322 92FC 932B
-9304 931A 9310 9326 9321 9315 932E 9319 95BB 96A7
-96A8 96AA 96D5 970E 9711 9716 970D 9713 970F 975B
-975C 9766 9798 9830 9838 983B 9837 982D 9839 9824
-9910 9928 991E 991B 9921 991A 99ED 99E2 99F1 9AB8
-9ABC 9AFB 9AED 9B28 9B91 9D15 9D23 9D26 9D28 9D12
-9D1B 9ED8 9ED4 9F8D 9F9C 511C 5113 5117 511A 5111
-51DE 5334 53E1 5670 5660 566E 5673 5666 5663 566D
-5672 565E 5677 571C 571B 58C8 58BD 58C9 58BF 58BA
-58C2 58BC 58C6 5B17 5B19 5B1B 5B21 5B14 5B13 5B10
-5B16 5B28 5B1A 5B20 5B1E 5BEF 5DAC 5DB1 5DA9 5DA7
-5DB5 5DB0 5DAE 5DAA 5DA8 5DB2 5DAD 5DAF 5DB4 5E67
-5E68 5E66 5E6F 5EE9 5EE7 5EE6 5EE8 5EE5 5F4B 5FBC
-619D 61A8 6196 61C5 61B4 61C6 61C1 61CC 61BA 61BF
-61B8 618C 64D7 64D6 64D0 64CF 64C9 64BD 6489 64C3
-64DB 64F3 64D9 6533 657F 657C 65A2 66C8 66BE 66C0
-66CA 66CB 66CF 66BD 66BB 66BA 66CC 6723 6A34 6A66
-6A49 6A67 6A32 6A68 6A3E 6A5D 6A6D 6A76 6A5B 6A51
-6A28 6A5A 6A3B 6A3F 6A41 6A6A 6A64 6A50 6A4F 6A54
-6A6F 6A69 6A60 6A3C 6A5E 6A56 6A55 6A4D 6A4E 6A46
-6B55 6B54 6B56 6BA7 6BAA 6BAB 6BC8 6BC7 6C04 6C03
-6C06 6FAD 6FCB 6FA3 6FC7 6FBC 6FCE 6FC8 6F5E 6FC4
-6FBD 6F9E 6FCA 6FA8 7004 6FA5 6FAE 6FBA 6FAC 6FAA
-6FCF 6FBF 6FB8 6FA2 6FC9 6FAB 6FCD 6FAF 6FB2 6FB0
-71C5 71C2 71BF 71B8 71D6 71C0 71C1 71CB 71D4 71CA
-71C7 71CF 71BD 71D8 71BC 71C6 71DA 71DB 729D 729E
-7369 7366 7367 736C 7365 736B 736A 747F 749A 74A0
-7494 7492 7495 74A1 750B 7580 762F 762D 7631 763D
-7633 763C 7635 7632 7630 76BB 76E6 779A 779D 77A1
-779C 779B 77A2 77A3 7795 7799 7797 78DD 78E9 78E5
-78EA 78DE 78E3 78DB 78E1 78E2 78ED 78DF 78E0 79A4
-7A44 7A48 7A47 7AB6 7AB8 7AB5 7AB1 7AB7 7BDE 7BE3
-7BE7 7BDD 7BD5 7BE5 7BDA 7BE8 7BF9 7BD4 7BEA 7BE2
-7BDC 7BEB 7BD8 7BDF 7CD2 7CD4 7CD7 7CD0 7CD1 7E12
-7E21 7E17 7E0C 7E1F 7E20 7E13 7E0E 7E1C 7E15 7E1A
-7E22 7E0B 7E0F 7E16 7E0D 7E14 7E25 7E24 7F43 7F7B
-7F7C 7F7A 7FB1 7FEF 802A 8029 806C 81B1 81A6 81AE
-81B9 81B5 81AB 81B0 81AC 81B4 81B2 81B7 81A7 81F2
-8255 8256 8257 8556 8545 856B 854D 8553 8561 8558
-8540 8546 8564 8541 8562 8544 8551 8547 8563 853E
-855B 8571 854E 856E 8575 8555 8567 8560 858C 8566
-855D 8554 8565 856C 8663 8665 8664 879B 878F 8797
-8793 8792 8788 8781 8796 8798 8779 8787 87A3 8785
-8790 8791 879D 8784 8794 879C 879A 8789 891E 8926
-8930 892D 892E 8927 8931 8922 8929 8923 892F 892C
-891F 89F1 8AE0 8AE2 8AF2 8AF4 8AF5 8ADD 8B14 8AE4
-8ADF 8AF0 8AC8 8ADE 8AE1 8AE8 8AFF 8AEF 8AFB 8C91
-8C92 8C90 8CF5 8CEE 8CF1 8CF0 8CF3 8D6C 8D6E 8DA5
-8DA7 8E33 8E3E 8E38 8E40 8E45 8E36 8E3C 8E3D 8E41
-8E30 8E3F 8EBD 8F36 8F2E 8F35 8F32 8F39 8F37 8F34
-9076 9079 907B 9086 90FA 9133 9135 9136 9193 9190
-9191 918D 918F 9327 931E 9308 931F 9306 930F 937A
-9338 933C 931B 9323 9312 9301 9346 932D 930E 930D
-92CB 931D 92FA 9325 9313 92F9 92F7 9334 9302 9324
-92FF 9329 9339 9335 932A 9314 930C 930B 92FE 9309
-9300 92FB 9316 95BC 95CD 95BE 95B9 95BA 95B6 95BF
-95B5 95BD 96A9 96D4 970B 9712 9710 9799 9797 9794
-97F0 97F8 9835 982F 9832 9924 991F 9927 9929 999E
-99EE 99EC 99E5 99E4 99F0 99E3 99EA 99E9 99E7 9AB9
-9ABF 9AB4 9ABB 9AF6 9AFA 9AF9 9AF7 9B33 9B80 9B85
-9B87 9B7C 9B7E 9B7B 9B82 9B93 9B92 9B90 9B7A 9B95
-9B7D 9B88 9D25 9D17 9D20 9D1E 9D14 9D29 9D1D 9D18
-9D22 9D10 9D19 9D1F 9E88 9E86 9E87 9EAE 9EAD 9ED5
-9ED6 9EFA 9F12 9F3D 87A4 58BB 512A 511F 5121 5132
-52F5 568E 5680 5690 5685 5687 568F 58D5 58D3 58D1
-58CE 5B30 5B2A 5B24 5B7A 5C37 5C68 5DBC 5DBA 5DBD
-5DB8 5E6B 5F4C 5FBD 61C9 61C2 61C7 61E6 61CB 6232
-6234 64CE 64CA 64D8 64E0 64F0 64E6 64EC 64F1 64E2
-64ED 6582 6583 66D9 66D6 6A80 6A94 6A84 6AA2 6A9C
-6ADB 6AA3 6A7E 6A97 6A90 6AA0 6B5C 6BAE 6BDA 6C08
-6FD8 6FF1 6FDF 6FE0 6FDB 6FE4 6FEB 6FEF 6F80 6FEC
-6FE1 6FE9 6FD5 6FEE 6FF0 71E7 71DF 71EE 71E6 71E5
-71ED 71EC 71F4 71E0 7235 7246 7370 7372 74A9 74B0
-74A6 74A8 7646 7642 764C 76EA 77B3 77AA 77B0 77AC
-77A7 77AD 77EF 78F7 78FA 78F4 78EF 7901 79A7 79AA
-7A57 7ABF 7C07 7C0D 7BFE 7BF7 7C0C 7BE0 7CE0 7CDC
-7CDE 7CE2 7CDF 7CD9 7CDD 7E2E 7E3E 7E46 7E37 7E32
-7E43 7E2B 7E3D 7E31 7E45 7E41 7E34 7E39 7E48 7E35
-7E3F 7E2F 7F44 7FF3 7FFC 8071 8072 8070 806F 8073
-81C6 81C3 81BA 81C2 81C0 81BF 81BD 81C9 81BE 81E8
-8209 8271 85AA 8584 857E 859C 8591 8594 85AF 859B
-8587 85A8 858A 8667 87C0 87D1 87B3 87D2 87C6 87AB
-87BB 87BA 87C8 87CB 893B 8936 8944 8938 893D 89AC
-8B0E 8B17 8B19 8B1B 8B0A 8B20 8B1D 8B04 8B10 8C41
-8C3F 8C73 8CFA 8CFD 8CFC 8CF8 8CFB 8DA8 8E49 8E4B
-8E48 8E4A 8F44 8F3E 8F42 8F45 8F3F 907F 907D 9084
-9081 9082 9080 9139 91A3 919E 919C 934D 9382 9328
-9375 934A 9365 934B 9318 937E 936C 935B 9370 935A
-9354 95CA 95CB 95CC 95C8 95C6 96B1 96B8 96D6 971C
-971E 97A0 97D3 9846 98B6 9935 9A01 99FF 9BAE 9BAB
-9BAA 9BAD 9D3B 9D3F 9E8B 9ECF 9EDE 9EDC 9EDD 9EDB
-9F3E 9F4B 5126 5125 5122 5124 5120 5129 52F4 5693
-568C 568D 5686 5684 5683 567E 5682 567F 5681 58D6
-58D4 58CF 58D2 5B2D 5B25 5B32 5B23 5B2C 5B27 5B26
-5B2F 5B2E 5B7B 5BF1 5BF2 5DB7 5E6C 5E6A 5FBE 5FBB
-61C3 61B5 61BC 61E7 61E0 61E5 61E4 61E8 61DE 64EF
-64E9 64E3 64EB 64E4 64E8 6581 6580 65B6 65DA 66D2
-6A8D 6A96 6A81 6AA5 6A89 6A9F 6A9B 6AA1 6A9E 6A87
-6A93 6A8E 6A95 6A83 6AA8 6AA4 6A91 6A7F 6AA6 6A9A
-6A85 6A8C 6A92 6B5B 6BAD 6C09 6FCC 6FA9 6FF4 6FD4
-6FE3 6FDC 6FED 6FE7 6FE6 6FDE 6FF2 6FDD 6FE2 6FE8
-71E1 71F1 71E8 71F2 71E4 71F0 71E2 7373 736E 736F
-7497 74B2 74AB 7490 74AA 74AD 74B1 74A5 74AF 7510
-7511 7512 750F 7584 7643 7648 7649 7647 76A4 76E9
-77B5 77AB 77B2 77B7 77B6 77B4 77B1 77A8 77F0 78F3
-78FD 7902 78FB 78FC 78F2 7905 78F9 78FE 7904 79AB
-79A8 7A5C 7A5B 7A56 7A58 7A54 7A5A 7ABE 7AC0 7AC1
-7C05 7C0F 7BF2 7C00 7BFF 7BFB 7C0E 7BF4 7C0B 7BF3
-7C02 7C09 7C03 7C01 7BF8 7BFD 7C06 7BF0 7BF1 7C10
-7C0A 7CE8 7E2D 7E3C 7E42 7E33 9848 7E38 7E2A 7E49
-7E40 7E47 7E29 7E4C 7E30 7E3B 7E36 7E44 7E3A 7F45
-7F7F 7F7E 7F7D 7FF4 7FF2 802C 81BB 81C4 81CC 81CA
-81C5 81C7 81BC 81E9 825B 825A 825C 8583 8580 858F
-85A7 8595 85A0 858B 85A3 857B 85A4 859A 859E 8577
-857C 8589 85A1 857A 8578 8557 858E 8596 8586 858D
-8599 859D 8581 85A2 8582 8588 8585 8579 8576 8598
-8590 859F 8668 87BE 87AA 87AD 87C5 87B0 87AC 87B9
-87B5 87BC 87AE 87C9 87C3 87C2 87CC 87B7 87AF 87C4
-87CA 87B4 87B6 87BF 87B8 87BD 87DE 87B2 8935 8933
-893C 893E 8941 8952 8937 8942 89AD 89AF 89AE 89F2
-89F3 8B1E 8B18 8B16 8B11 8B05 8B0B 8B22 8B0F 8B12
-8B15 8B07 8B0D 8B08 8B06 8B1C 8B13 8B1A 8C4F 8C70
-8C72 8C71 8C6F 8C95 8C94 8CF9 8D6F 8E4E 8E4D 8E53
-8E50 8E4C 8E47 8F43 8F40 9085 907E 9138 919A 91A2
-919B 9199 919F 91A1 919D 91A0 93A1 9383 93AF 9364
-9356 9347 937C 9358 935C 9376 9349 9350 9351 9360
-936D 938F 934C 936A 9379 9357 9355 9352 934F 9371
-9377 937B 9361 935E 9363 9367 934E 9359 95C7 95C0
-95C9 95C3 95C5 95B7 96AE 96B0 96AC 9720 971F 9718
-971D 9719 979A 97A1 979C 979E 979D 97D5 97D4 97F1
-9841 9844 984A 9849 9845 9843 9925 992B 992C 992A
-9933 9932 992F 992D 9931 9930 9998 99A3 99A1 9A02
-99FA 99F4 99F7 99F9 99F8 99F6 99FB 99FD 99FE 99FC
-9A03 9ABE 9AFE 9AFD 9B01 9AFC 9B48 9B9A 9BA8 9B9E
-9B9B 9BA6 9BA1 9BA5 9BA4 9B86 9BA2 9BA0 9BAF 9D33
-9D41 9D67 9D36 9D2E 9D2F 9D31 9D38 9D30 9D45 9D42
-9D43 9D3E 9D37 9D40 9D3D 7FF5 9D2D 9E8A 9E89 9E8D
-9EB0 9EC8 9EDA 9EFB 9EFF 9F24 9F23 9F22 9F54 9FA0
-78FF 53E2 5695 56AE 58D9 58D8 5B38 5F5D 61E3 6233
-64F4 64F2 64FE 6506 64FA 64FB 64F7 65B7 66DC 6726
-6AB3 6AAC 6AC3 6ABB 6AB8 6AC2 6AAE 6AAF 6B5F 6B78
-6BAF 7009 700B 6FFE 7006 6FFA 7011 700F 71FB 71FC
-71FE 71F8 7377 7375 74A7 74BF 7515 7656 7658 7652
-77BD 77BF 77BB 77BC 790E 79AE 7A61 7A62 7A60 7AC4
-7AC5 7C2B 7C27 7C2A 7C1E 7C23 7C21 7CE7 7E54 7E55
-7E5E 7E5A 7E61 7E52 7E59 7F48 7FF9 7FFB 8077 8076
-81CD 81CF 820A 85CF 85A9 85CD 85D0 85C9 85B0 85BA
-85B9 85A6 87EF 87EC 87F2 87E0 8986 89B2 89F4 8B28
-8B39 8B2C 8B2B 8C50 8D05 8E59 8E63 8E66 8E64 8E5F
-8E55 8EC0 8F49 8F4D 9087 9083 9088 91AB 91AC 91D0
-9394 938A 9396 93A2 93B3 93AE 93AC 93B0 9398 939A
-9397 95D4 95D6 95D0 95D5 96E2 96DC 96D9 96DB 96DE
-9724 97A3 97A6 97AD 97F9 984D 984F 984C 984E 9853
-98BA 993E 993F 993D 992E 99A5 9A0E 9AC1 9B03 9B06
-9B4F 9B4E 9B4D 9BCA 9BC9 9BFD 9BC8 9BC0 9D51 9D5D
-9D60 9EE0 9F15 9F2C 9380 5131 512D 512E 5698 569C
-5697 569A 569D 5699 5970 5B3C 5C69 5C6A 5DC0 5E6D
-5E6E 61D8 61DF 61ED 61EE 61F1 61EA 61F0 61EB 61D6
-61E9 64FF 6504 64FD 64F8 6501 6503 64FC 6594 65DB
-66DA 66DB 66D8 6AC5 6AB9 6ABD 6AE1 6AC6 6ABA 6AB6
-6AB7 6AC7 6AB4 6AAD 6B5E 6BC9 6C0B 7007 700C 700D
-7001 7005 7014 700E 6FFF 7000 6FFB 7026 6FFC 6FF7
-700A 7201 71FF 71F9 7203 71FD 7376 74B8 74C0 74B5
-74C1 74BE 74B6 74BB 74C2 7514 7513 765C 7664 7659
-7650 7653 7657 765A 76A6 76BD 76EC 77C2 77BA 790C
-7913 7914 7909 7910 7912 7911 79AD 79AC 7A5F 7C1C
-7C29 7C19 7C20 7C1F 7C2D 7C1D 7C26 7C28 7C22 7C25
-7C30 7E5C 7E50 7E56 7E63 7E58 7E62 7E5F 7E51 7E60
-7E57 7E53 7FB5 7FB3 7FF7 7FF8 8075 81D1 81D2 81D0
-825F 825E 85B4 85C6 85C0 85C3 85C2 85B3 85B5 85BD
-85C7 85C4 85BF 85CB 85CE 85C8 85C5 85B1 85B6 85D2
-8624 85B8 85B7 85BE 8669 87E7 87E6 87E2 87DB 87EB
-87EA 87E5 87DF 87F3 87E4 87D4 87DC 87D3 87ED 87D8
-87E3 87D7 87D9 8801 87F4 87E8 87DD 8953 894B 894F
-894C 8946 8950 8951 8949 8B2A 8B27 8B23 8B33 8B30
-8B35 8B47 8B2F 8B3C 8B3E 8B31 8B25 8B37 8B26 8B36
-8B2E 8B24 8B3B 8B3D 8B3A 8C42 8C75 8C99 8C98 8C97
-8CFE 8D04 8D02 8D00 8E5C 8E62 8E60 8E57 8E56 8E5E
-8E65 8E67 8E5B 8E5A 8E61 8E5D 8E69 8E54 8F46 8F47
-8F48 8F4B 9128 913A 913B 913E 91A8 91A5 91A7 91AF
-91AA 93B5 938C 9392 93B7 939B 939D 9389 93A7 938E
-93AA 939E 93A6 9395 9388 9399 939F 938D 93B1 9391
-93B2 93A4 93A8 93B4 93A3 93A5 95D2 95D3 95D1 96B3
-96D7 96DA 5DC2 96DF 96D8 96DD 9723 9722 9725 97AC
-97AE 97A8 97AB 97A4 97AA 97A2 97A5 97D7 97D9 97D6
-97D8 97FA 9850 9851 9852 98B8 9941 993C 993A 9A0F
-9A0B 9A09 9A0D 9A04 9A11 9A0A 9A05 9A07 9A06 9AC0
-9ADC 9B08 9B04 9B05 9B29 9B35 9B4A 9B4C 9B4B 9BC7
-9BC6 9BC3 9BBF 9BC1 9BB5 9BB8 9BD3 9BB6 9BC4 9BB9
-9BBD 9D5C 9D53 9D4F 9D4A 9D5B 9D4B 9D59 9D56 9D4C
-9D57 9D52 9D54 9D5F 9D58 9D5A 9E8E 9E8C 9EDF 9F01
-9F00 9F16 9F25 9F2B 9F2A 9F29 9F28 9F4C 9F55 5133
-56A5 58DE 58DF 58E2 5BF5 9F90 5EEC 61F2 61F7 61F6
-61F5 6500 650F 66E0 66DD 6AE5 6ADD 6ADA 6AD3 701B
-701F 7028 701A 701D 7015 7018 7206 720D 7258 72A2
-7378 737A 74BD 74CA 74E3 7587 7586 765F 7661 77C7
-7919 79B1 7A6B 7A69 7C3E 7C3F 7C38 7C3D 7C37 7C40
-7E6B 7E6D 7E79 7E69 7E6A 7F85 7E73 7FB6 7FB9 7FB8
-81D8 85E9 85DD 85EA 85D5 85E4 85E5 85F7 87FB 8805
-880D 87F9 87FE 8960 895F 8956 895E 8B41 8B5C 8B58
-8B49 8B5A 8B4E 8B4F 8B46 8B59 8D08 8D0A 8E7C 8E72
-8E87 8E76 8E6C 8E7A 8E74 8F54 8F4E 8FAD 908A 908B
-91B1 91AE 93E1 93D1 93DF 93C3 93C8 93DC 93DD 93D6
-93E2 93CD 93D8 93E4 93D7 93E8 95DC 96B4 96E3 972A
-9727 9761 97DC 97FB 985E 9858 985B 98BC 9945 9949
-9A16 9A19 9B0D 9BE8 9BE7 9BD6 9BDB 9D89 9D61 9D72
-9D6A 9D6C 9E92 9E97 9E93 9EB4 56A8 5134 5135 5296
-52F7 53B4 56AB 56AD 56A6 56A7 56AA 56AC 58DA 58DD
-58DB 5912 5B3D 5B3E 5B3F 5DC3 5E70 5FBF 61FB 6507
-6510 650D 6509 650C 650E 6584 65DE 65DD 66DE 6AE7
-6AE0 6ACC 6AD1 6AD9 6ACB 6ADF 6ADC 6AD0 6AEB 6ACF
-6ACD 6ADE 6B60 6BB0 6C0C 7019 7027 7020 7016 702B
-7021 7022 7023 7029 7017 7024 701C 702A 720C 720A
-7207 7202 7205 72A5 72A6 72A4 72A3 72A1 74CB 74C5
-74B7 74C3 7516 7660 77C9 77CA 77C4 77F1 791D 791B
-7921 791C 7917 791E 79B0 7A67 7A68 7C33 7C3C 7C39
-7C2C 7C3B 7CEC 7CEA 7E76 7E75 7E78 7E70 7E77 7E6F
-7E7A 7E72 7E74 7E68 7F4B 7F4A 7F83 7F86 7FB7 7FFD
-7FFE 8078 81D7 81D5 8264 8261 8263 85EB 85F1 85ED
-85D9 85E1 85E8 85DA 85D7 85EC 85F2 85F8 85D8 85DF
-85E3 85DC 85D1 85F0 85E6 85EF 85DE 85E2 8800 87FA
-8803 87F6 87F7 8809 880C 880B 8806 87FC 8808 87FF
-880A 8802 8962 895A 895B 8957 8961 895C 8958 895D
-8959 8988 89B7 89B6 89F6 8B50 8B48 8B4A 8B40 8B53
-8B56 8B54 8B4B 8B55 8B51 8B42 8B52 8B57 8C43 8C77
-8C76 8C9A 8D06 8D07 8D09 8DAC 8DAA 8DAD 8DAB 8E6D
-8E78 8E73 8E6A 8E6F 8E7B 8EC2 8F52 8F51 8F4F 8F50
-8F53 8FB4 9140 913F 91B0 91AD 93DE 93C7 93CF 93C2
-93DA 93D0 93F9 93EC 93CC 93D9 93A9 93E6 93CA 93D4
-93EE 93E3 93D5 93C4 93CE 93C0 93D2 93E7 957D 95DA
-95DB 96E1 9729 972B 972C 9728 9726 97B3 97B7 97B6
-97DD 97DE 97DF 985C 9859 985D 9857 98BF 98BD 98BB
-98BE 9948 9947 9943 99A6 99A7 9A1A 9A15 9A25 9A1D
-9A24 9A1B 9A22 9A20 9A27 9A23 9A1E 9A1C 9A14 9AC2
-9B0B 9B0A 9B0E 9B0C 9B37 9BEA 9BEB 9BE0 9BDE 9BE4
-9BE6 9BE2 9BF0 9BD4 9BD7 9BEC 9BDC 9BD9 9BE5 9BD5
-9BE1 9BDA 9D77 9D81 9D8A 9D84 9D88 9D71 9D80 9D78
-9D86 9D8B 9D8C 9D7D 9D6B 9D74 9D75 9D70 9D69 9D85
-9D73 9D7B 9D82 9D6F 9D79 9D7F 9D87 9D68 9E94 9E91
-9EC0 9EFC 9F2D 9F40 9F41 9F4D 9F56 9F57 9F58 52F8
-56B7 56B6 56B4 56BC 58E4 5B40 5B43 5B7D 5BF6 5DC9
-61F8 61FA 6518 6514 6519 66E6 6727 6AEC 703E 7030
-7032 7210 737B 74CF 7662 7665 7926 792A 792C 792B
-7AC7 7AF6 7C4C 7C43 7C4D 7CEF 7CF0 8FAE 7E7D 7E7C
-7E82 7F4C 8000 81DA 8266 85FB 85F9 8611 85FA 8606
-860B 8607 860A 8814 8815 8964 89BA 89F8 8B70 8B6C
-8B66 8B6F 8B5F 8B6B 8D0F 8D0D 8E89 8E81 8E85 8E82
-91B4 91CB 9418 9403 93FD 95E1 9730 98C4 9952 9951
-99A8 9A2B 9A30 9A37 9A35 9C13 9C0D 9E79 9EB5 9EE8
-9F2F 9F5F 9F63 9F61 5337 56B2 56B5 56B3 58E3 5B45
-5DC6 5DC7 5EEE 5EEF 5FC0 5FC1 61F9 6517 6516 6515
-6513 65DF 66E8 66E3 66E4 6AF3 6AF0 6AEA 6AE8 6AF9
-6AF1 6AEE 6AEF 703C 7035 702F 7037 7034 7031 7042
-7038 703F 703A 7039 7040 703B 7033 7041 7213 7214
-72A8 737D 737C 74BA 76AB 76AA 76BE 76ED 77CC 77CE
-77CF 77CD 77F2 7925 7923 7927 7928 7924 7929 79B2
-7A6E 7A6C 7A6D 7AF7 7C49 7C48 7C4A 7C47 7C45 7CEE
-7E7B 7E7E 7E81 7E80 7FBA 7FFF 8079 81DB 81D9 820B
-8268 8269 8622 85FF 8601 85FE 861B 8600 85F6 8604
-8609 8605 860C 85FD 8819 8810 8811 8817 8813 8816
-8963 8966 89B9 89F7 8B60 8B6A 8B5D 8B68 8B63 8B65
-8B67 8B6D 8DAE 8E86 8E88 8E84 8F59 8F56 8F57 8F55
-8F58 8F5A 908D 9143 9141 91B7 91B5 91B2 91B3 940B
-9413 93FB 9420 940F 9414 93FE 9415 9410 9428 9419
-940D 93F5 9400 93F7 9407 940E 9416 9412 93FA 9409
-93F8 940A 93FF 93FC 940C 93F6 9411 9406 95DE 95E0
-95DF 972E 972F 97B9 97BB 97FD 97FE 9860 9862 9863
-985F 98C1 98C2 9950 994E 9959 994C 994B 9953 9A32
-9A34 9A31 9A2C 9A2A 9A36 9A29 9A2E 9A38 9A2D 9AC7
-9ACA 9AC6 9B10 9B12 9B11 9C0B 9C08 9BF7 9C05 9C12
-9BF8 9C40 9C07 9C0E 9C06 9C17 9C14 9C09 9D9F 9D99
-9DA4 9D9D 9D92 9D98 9D90 9D9B 9DA0 9D94 9D9C 9DAA
-9D97 9DA1 9D9A 9DA2 9DA8 9D9E 9DA3 9DBF 9DA9 9D96
-9DA6 9DA7 9E99 9E9B 9E9A 9EE5 9EE4 9EE7 9EE6 9F30
-9F2E 9F5B 9F60 9F5E 9F5D 9F59 9F91 5137 5138 56C1
-56C0 56C2 5914 5C6C 5DCD 61FC 61FE 651D 651C 6595
-66E9 6AFB 6B04 6AFA 6BB2 704C 721B 72A7 74D6 74D4
-7669 77D3 7C50 7E8F 7E8C 7FBC 8617 862D 861A 8823
-8822 8821 881F 896A 896C 89BD 8B74 8B77 8B7D 8D13
-8E8A 8E8D 8E8B 8F5F 8FAF 91BA 942E 9433 9435 943A
-9438 9432 942B 95E2 9738 9739 9732 97FF 9867 9865
-9957 9A45 9A43 9A40 9A3E 9ACF 9B54 9B51 9C2D 9C25
-9DAF 9DB4 9DC2 9DB8 9E9D 9EEF 9F19 9F5C 9F66 9F67
-513A 5139 5298 5297 56C3 56BD 56BE 5B48 5B47 5DCB
-5DCF 5EF1 61FD 651B 6B02 6AFC 6B03 6AF8 6B00 7043
-7044 704A 7048 7049 7045 7046 721D 721A 7219 737E
-7517 766A 77D0 792D 7931 792F 7C54 7C53 7CF2 7E8A
-7E87 7E88 7E8B 7E86 7E8D 7F4D 7FBB 8030 81DD 8618
-862A 8626 861F 8623 861C 8619 8627 862E 8621 8620
-8629 861E 8625 8829 881D 881B 8820 8824 881C 882B
-884A 896D 8969 896E 896B 89FA 8B79 8B78 8B45 8B7A
-8B7B 8D10 8D14 8DAF 8E8E 8E8C 8F5E 8F5B 8F5D 9146
-9144 9145 91B9 943F 943B 9436 9429 943D 943C 9430
-9439 942A 9437 942C 9440 9431 95E5 95E4 95E3 9735
-973A 97BF 97E1 9864 98C9 98C6 98C0 9958 9956 9A39
-9A3D 9A46 9A44 9A42 9A41 9A3A 9A3F 9ACD 9B15 9B17
-9B18 9B16 9B3A 9B52 9C2B 9C1D 9C1C 9C2C 9C23 9C28
-9C29 9C24 9C21 9DB7 9DB6 9DBC 9DC1 9DC7 9DCA 9DCF
-9DBE 9DC5 9DC3 9DBB 9DB5 9DCE 9DB9 9DBA 9DAC 9DC8
-9DB1 9DAD 9DCC 9DB3 9DCD 9DB2 9E7A 9E9C 9EEB 9EEE
-9EED 9F1B 9F18 9F1A 9F31 9F4E 9F65 9F64 9F92 513C
-513B 56C8 56CA 56C9 5B7F 5DD4 5DD2 5F4E 61FF 6524
-6B0A 6B61 7051 7058 7380 74E4 758A 766E 766C 79B3
-7C60 7C5F 807E 807D 81DF 8972 896F 89FC 8B80 8D16
-8D17 8E91 8E93 8F61 9148 9444 9451 9452 973D 973E
-97C3 97C1 986B 9955 9A55 9A4D 9AD2 9B1A 9C49 9C31
-9C3E 9C3B 9DD3 9DD7 9F34 9F6C 9F6A 9F94 4EB9 56C6
-56C5 56CB 5971 5B4B 5B4C 5DD5 5DD1 5EF2 6521 6520
-6526 6522 6B0B 6B08 6B09 6C0D 7055 7056 7057 7052
-721E 721F 72A9 737F 74D8 74D5 74D9 74D7 766D 76AD
-7935 79B4 7A70 7A71 7C57 7C5C 7C59 7C5B 7C5A 7CF4
-7CF1 7E91 7F4F 7F87 81DE 826B 8634 8635 8633 862C
-8632 8636 882C 8828 8826 882A 8825 8971 89BF 89BE
-89FB 8B7E 8B84 8B82 8B86 8B85 8B7F 8D15 8E95 8E94
-8E9A 8E92 8E90 8E96 8E97 8F60 8F62 9147 944C 9450
-944A 944B 944F 9447 9445 9448 9449 9446 973F 97E3
-986A 9869 98CB 9954 995B 9A4E 9A53 9A54 9A4C 9A4F
-9A48 9A4A 9A49 9A52 9A50 9AD0 9B19 9B2B 9B3B 9B56
-9B55 9C46 9C48 9C3F 9C44 9C39 9C33 9C41 9C3C 9C37
-9C34 9C32 9C3D 9C36 9DDB 9DD2 9DDE 9DDA 9DCB 9DD0
-9DDC 9DD1 9DDF 9DE9 9DD9 9DD8 9DD6 9DF5 9DD5 9DDD
-9EB6 9EF0 9F35 9F33 9F32 9F42 9F6B 9F95 9FA2 56CC
-5DD6 6200 6523 652B 652A 66EC 6B10 74DA 7ACA 7C64
-7C63 7C65 7E93 7E96 7E94 81E2 8638 863F 8831 8B8A
-9090 908F 9463 9460 9464 9768 986F 995C 9A5A 9A5B
-9A57 9AD3 9AD4 9AD1 9C54 9C57 9C56 9DE5 9E9F 9EF4
-513D 5299 58E8 58E7 5972 5B4D 5DD8 882F 5F4F 6201
-6203 6204 6529 6525 6596 66EB 6B11 6B12 6B0F 6BCA
-705B 705A 7222 7382 7381 7383 7670 77D4 7C67 7C66
-7E95 826C 863A 8640 8639 863C 8631 863B 863E 8830
-8832 882E 8833 8976 8974 8973 89FE 8B8C 8B8E 8B8B
-8B88 8C45 8D19 8E98 8F64 8F63 91BC 9462 9455 945D
-9457 945E 97C4 97C5 9800 9A56 9A59 9B1E 9B1F 9B20
-9C52 9C58 9C50 9C4A 9C4D 9C4B 9C55 9C59 9C4C 9C4E
-9DFB 9DF7 9DEF 9DE3 9DEB 9DF8 9DE4 9DF6 9DE1 9DEE
-9DE6 9DF2 9DF0 9DE2 9DEC 9DF4 9DF3 9DE8 9DED 9EC2
-9ED0 9EF2 9EF3 9F06 9F1C 9F38 9F37 9F36 9F43 9F4F
-9F71 9F70 9F6E 9F6F 56D1 58E9 652C 705E 7671 7672
-77D7 7F50 7F88 8836 8839 8862 8B93 8B92 8B96 8277
-8D1B 91C0 946A 9742 9748 9744 97C6 9870 9A5F 9B22
-9B58 9C5F 9DF9 9DFA 9E7C 9E7D 9F07 9F77 9F72 56D3
-56CD 5B4E 5C6D 652D 66ED 66EE 6B13 705F 7061 705D
-7060 7223 74DB 74E5 77D5 7938 79B7 79B6 7C6A 7E97
-7F89 826D 8643 8838 8837 8835 884B 8B94 8B95 8E9E
-8E9F 8EA0 8E9D 91BE 91BD 91C2 946B 9468 9469 96E5
-9746 9743 9747 97C7 97E5 9A5E 9AD5 9B59 9C63 9C67
-9C66 9C62 9C5E 9C60 9E02 9DFE 9E07 9E03 9E06 9E05
-9E00 9E01 9E09 9DFF 9DFD 9E04 9EA0 9F1E 9F46 9F74
-9F75 9F76 5EF3 6B16 7063 7C6C 7C6E 883B 89C0 8EA1
-91C1 9472 9470 9871 995E 9AD6 9B23 9ECC 56D4 652E
-65B8 6B18 6B19 6B17 6B1A 7062 7226 72AA 77D8 77D9
-7939 7C69 7C6B 7CF6 7E9A 7E98 7E9B 7E99 81E0 81E1
-8646 8647 8648 8979 897A 897C 897B 89FF 8B98 8B99
-8EA5 8EA4 8EA3 946E 946D 946F 9471 9473 9749 9872
-995F 9C68 9C6E 9C6D 9E0B 9E0D 9E10 9E0F 9E12 9E11
-9EA1 9EF5 9F09 9F47 9F78 9F7B 9F7A 9F79 7064 77DA
-8B9A 9477 97C9 9A62 9A65 571E 7066 7C6F 883C 8DB2
-8EA6 91C3 9474 9478 9476 9475 9A60 9C74 9C73 9C71
-9C75 9E14 9E13 9EF6 9F0A 9FA4 9B2E 7E9C 8B9C 8EAA
-91C5 947D 947E 947C 9C77 9C78 9EF7 7068 7065 7CF7
-866A 883E 883D 883F 8B9E 8C9C 8EA9 8EC9 974B 9873
-9874 98CC 9961 99AB 9A64 9A66 9A67 9B24 9E15 9E17
-9F48 8C54 947F 9E1A 6207 6B1E 7227 864C 8EA8 9482
-9480 9481 9A69 9A68 9E19 7228 9A6A 9B31 9E1B 9E1E
-864B 8B9F 9483 9C79 9EB7 7675 9A6B 9C7A 9E1D 7069
-7C72 706A 7229 9EA4 9F7E 9F49 9F98
+FDD0-2801
+4E00 4E28 4E36 4E3F 4E40 4E41 2E84 4E59 4E5A 4E5B
+200CA 200CB 200CC 200CD 200D1 4E85 2010C 3006 3007 3021
+3025 303B
+FDD0-2802
+4E01 4E02 4E03 4E04 4E05 4E06 4E29 4E37 4E42 4E43
+4E44 20086 20087 2008A 4E5C 4E5D 4E86 2010E 4E8C 4EA0
+4EBA 4EBB 513F 5165 516B 2E86 5182 5196 51AB 2E87
+51E0 51F5 2E88 5200 5201 5202 529B 52F9 5315 531A
+5338 5341 2E8A 535C 5369 5382 53B6 2E80 53C8 5DDC
+8BA0 2ECF 2ED6 28E0F 3022 3024 3026
+FDD0-2803
+4E07 4E08 4E09 4E0A 4E0B 4E0C 4E90 5344 3404 4E2A
+4E2B 4E38 4E49 4E45 4E46 4E47 4E48 4E4A 4E5E 4E5F
+4E60 4E87 4E8D 4E8E 4E8F 4EA1 4EBC 4EBD 4EBE 4EBF
+5140 5166 51E1 51E2 51E3 5203 5204 529C 52FA 5342
+5343 353E 536A 536B 53C9 53E3 56D7 571F 58EB 5902
+590A 5915 5927 5928 5973 5B50 5B51 5B52 5B53 5B80
+5BF8 2E8C 2E8D 5C0F 5C22 21BC1 21BC2 5C38 5C6E 5C71
+5DDB 5DDD 21FE8 5DE5 5DF1 5DF2 5DF3 5DFE 5E72 4E61
+5E7A 5E7F 5EF4 5EFE 5F0B 5F13 2E95 5F50 5F51 5F61
+5F73 5FC4 624C 624D 6C35 72AD 7E9F 2EBE 8279 2ECC
+95E8 961D 98DE 9963 9A6C 3005 3023 3027
+FDD0-2804
+4E0D 4E0E 4E0F 4E10 4E11 4E12 4E13 4E2D 4E2E 4E2F
+4E30 4E39 4E3A 4E4B 4E4C 5C39 4E63 4E64 4E65 4E66
+4E88 4E91 4E92 4E93 4E94 4E95 4E96 4EA2 4EA3 4EC0
+4EC1 4EC2 4EC3 4EC4 4EC5 4EC6 4EC7 4EC8 4EC9 4ECA
+4ECB 4ECC 4ECD 4ECE 4ECF 4ED0 4ED1 4ED2 4ED3 5141
+5142 5143 5167 516C 516D 516E 516F 5183 5184 5185
+5186 5187 5188 34C1 5197 5198 51E4 20630 51F6 20676
+5205 5206 5207 5208 529D 529E 52FB 52FC 52FD 52FE
+52FF 5300 5301 5302 352B 5316 5339 533A 3539 5345
+5346 5347 5348 535D 535E 536C 5383 5384 5385 5386
+53B7 53B8 53B9 53CA 53CB 53CC 53CD 53CE 5720 5721
+2123C 58EC 5903 5929 592A 592B 592C 592D 5B54 5C10
+5C11 5C23 5C24 5C3A 5C6F 4E62 5C72 5DF4
+5DFF 5E00 5E01 5E7B 5EFF 5F00 5F0C 5F14 5F15 5F16
+5FC3 5FC6 6208 6236 6237 6238 624B 624E 22A66 652F
+6534 6535 6587 6597 65A4 65B9 65E0 65E1 2E9C 65E5
+66F0 2E9D 6708 6728 6729 233B4 6B20 6B62 6B79 6BB3
+6BCB 6BCC 6BD4 6BDB 6C0F 6C14 6C34 706B 706C 2EA5
+722A 722B 7236 723B 4E2C 723F 7247 3E26 7259 2EA7
+725B 725C 72AC 738B 248E9 793B 25605 7F53 8002 8080
+2EBC 89C1 8BA1 8BA2 8BA3 8BA4 8BA5 8D1D 8F66 2ECD
+8FB6 95E9 97E6 98CE 3028 3029
+FDD0-2805
+4E17 3400 4E14 4E15 4E16 4E18 4E19 4E1A 4E1B 4E1C
+4E1D 4E31 4E3B 4E3C 4E4D 4E4E 4E4F 4E50 20094 4E67
+4E97 3430 3431 3432 3433 3434 3435 3436 3437 4ED4
+4ED5 4ED6 4ED7 4ED8 4ED9 4EDA 4EDB 4EDC 4EDD 4EDE
+4EDF 4EE0 4EE1 4EE2 4EE3 4EE4 4EE5 4EE6 4EE7 4EE8
+4EE9 4EEA 4EEB 4EEC 4EED 201A9 201AB 5144 5145 34B0
+5170 5189 518A 518B 518C 20547 5199 519A 51AC 51AD
+51AE 51AF 51E5 51E6 51E7 51F7 51F8 51F9 51FA 51FB
+5209 520A 520B 520C 520D 529F 52A0 52A1 52A2 5303
+5304 5305 5306 5307 5317 531B 531C 531D 531E 5349
+534A 534C 535F 5360 5361 5362 536D 536E 536F 20A11
+5387 5388 5389 53BA 53BB 53BC 53CF 53D0 53D1 53E4
+53E5 53E6 53E7 53E8 53E9 53EA 53EB 53EC
+53ED 53EE 53EF 53F0 53F1 53F2 53F3 53F4 53F5 53F6
+53F7 53F8 53F9 53FA 53FB 53FC 53FD 53FE 20BA8 20BA9
+56D8 56D9 56DA 56DB 56DC 3626 5722 5723 5724 5725
+5726 5727 58ED 5904 5916 5917 5918 592E 592F 5930
+5931 5932 5933 5934 5974 5975 5976 5B55 5B81 5B82
+5B83 5B84 5BF9 5C12 5C13 5C14 5C15 5C3B 5C3C 5C73
+5C74 5C75 5C76 5C77 5DE6 5DE7 5DE8 3832 3833 5E02
+5E03 5E04 5E05 5E73 5E7C 5E80 5E81 5E82 5E83 5F01
+5F0D 5F17 5F18 5F52 38FA 5FC5 5FC7 5FC9 5FCA 225AF
+6209 620A 620B 6239 6250 6251 6252 6253 6254 6255
+6256 624F 65A5 65E6 65E7 2313D 66F1 672A 672B 672C
+672D 672E 672F 6730 6B63 6B7A 6BCD 6C10 6C11 6C15
+6C3A 6C36 6C37 6C38 6C39 6C3B 6C3E 6C3F
+6C40 6C41 6C43 6C44 6C45 6C47 6C48 6C49 706D 72AE
+72AF 72B0 7384 7389 738A 738C 738D 74DC 74E6 7518
+751F 7528 7529 7530 7531 7532 7533 7534 7535 2EAA
+758B 24D13 7592 7676 767D 76AE 76BF 76EE 77DB 77E2
+77F3 2EAC 793A 79B8 79BE 7A74 7ACB 7EA0 7F52 2626A
+2626B 808A 827A 8864 27607 8BA6 8BA7 8BA8 8BA9 8BAA
+8BAB 8BAC 8BAD 8BAE 8BAF 8BB0 8BB1 8F67 8FB7 9092
+9093 9485 957F 95EA 961E 961F 9964 9965 9A6D 9E1F
+9F99
+FDD0-2806
+3401 4E1E 4E1F 4E20 4E21 4E22 4E51 4E52 4E53 4E54
+4E68 4E69 4E6A 4E6B 4E6C 4E6D 4E6E 4E6F 4E70 4E89
+4E98 4E99 4E9A 342B 4EA4 4EA5 4EA6 4EA7 3438 3439
+343B 343F 3440 4EEE 4EEF 4EF0 4EF1 4EF2 4EF3 4EF4
+4EF5 4EF6 4EF7 4EF8 4EF9 4EFA 4EFB 4EFC 4EFD 4EFE
+4EFF 4F00 4F01 4F02 4F03 4F04 4F05 4F06 4F07 4F08
+4F09 4F0A 4F0B 4F0C 4F0D 4F0E 4F0F 4F10 4F11 4F12
+4F13 4F14 4F15 4F16 4F17 4F18 4F19 4F1A 4F1B 4F1C
+4F1D 4F1E 4F1F 4F20 4F21 4F22 4F23 4F24 4F25 4F26
+4F27 4F28 4F29 4F2A 4F2B 4F2C 4F64 201C1 201D4 5146
+5147 5148 5149 514A 5168 6C3D 5171 5172 5173 5174
+518D 518E 519B 519C 51B0 51B1 51B2 51B3 51B4 205B3
+51E8 51E9 51EA 51EB 51FC 520E 520F 5210
+5211 5212 5213 5214 5215 5216 5217 5218 5219 521A
+521B 52A3 52A4 52A5 52A6 52A7 52A8 5308 531F 5320
+5321 5322 353B 534B 534D 534E 534F 5350 5370 5371
+3542 538A 538B 538C 538D 53BD 53BE 53D2 3566 53FF
+5400 5401 5402 5403 5404 5405 5406 5407 5408 5409
+540A 540B 540C 540D 540E 540F 5410 5411 5412 5413
+5414 5415 5416 5417 20BBF 20BC6 56DD 56DE 56DF 56E0
+56E1 56E2 56E3 5728 5729 572A 572B 572C 572D 572E
+572F 5730 5731 5732 5733 5734 5735 5736 5737 5738
+5739 573A 2124F 58EE 5905 5919 591A 591B 5935 5936
+5937 5938 5939 593A 593B 593C 36A5 5977 5978 5979
+597A 597B 597C 597D 597E 597F 5980 5981 5982 5983
+5984 5985 5986 5987 5988 216B8 216BA 5B56
+5B57 5B58 5B59 21944 5B85 5B86 5B87 5B88 5B89 5BFA
+5BFB 5BFC 5C16 5C17 5C18 5C25 5C26 5C27 5C3D 21C2A
+5C70 5C78 5C79 5C7A 5C7B 5C7C 5C7D 5C7E 5C7F 5C80
+5C81 5C82 5C83 21D46 5DDE 5DDF 5DE9 5DEA 3834 3835
+3836 5E06 5E07 5E08 5E74 5E75 5E76 5E84 5E85 5E86
+5EF5 5F02 5F0E 5F0F 5F10 5F19 5F1A 5F1B 5F1C 5F53
+5F74 5F75 5FC8 5FCB 5FCF 5FD3 5FD4 5FD5 5FD6 5FD9
+5FDA 5FDB 225BE 620C 620D 620E 620F 6210 6257 6258
+6259 625A 625B 625C 625D 625E 6260 6261 6262 6263
+6264 6265 6266 6267 6268 6269 626A 626B 626C 625F
+6530 6536 6537 65E8 65E9 65EA 65EB 65EC 65ED 65EE
+65EF 3B30 66F2 66F3 6709 3B41 6731 6732 6733 6734
+6735 6736 6737 6738 6739 673A 673B 673C
+673D 673E 673F 6740 6741 6742 6743 6B21 6B22 6B64
+6B7B 6BCE 6BD5 6C12 6C16 6C17 6C18 6C3C 6C46 6C4A
+6C4B 6C4C 6C4D 6C4E 6C4F 6C50 6C51 6C52 6C53 6C54
+6C55 6C57 6C58 6C59 6C5A 6C5B 6C5C 6C5D 6C5F 6C60
+6C61 6C62 6C63 6C64 6C77 706E 706F 7070 7071 7072
+7073 7237 725D 725E 725F 72B1 72B2 72B3 72B4 72B5
+72B7 72B8 24725 3EA8 3EA9 3EAA 738E 738F 7390 7391
+752A 7536 767E 767F 2EAE 793C 7A75 7AF9 7C73 7CF8
+7CF9 7EA1 7EA2 7EA3 7EA4 7EA5 7EA6 7EA7 7EA8 7EA9
+7EAA 7EAB 7F36 7F51 2EB6 7F8A 2634B 2634C 7FBD 8001
+8003 800C 8012 8033 807F 26612 8089 808B 808C 808D
+808E 81E3 81EA 81F3 81FC 26951 820C 821B 821F 826E
+8272 8278 827B 827C 827D 827E 827F 8280
+8281 8282 864D 866B 8840 884C 8863 897E 897F 8980
+89C2 8BB2 8BB3 8BB4 8BB5 8BB6 8BB7 8BB8 8BB9 8BBA
+8BBB 8BBC 8BBD 8BBE 8BBF 8BC0 8D1E 8D1F 8D20 8D71
+8F68 8FB8 8FB9 8FBA 8FBB 8FBC 8FBD 9094 9096 9097
+9098 9099 909A 909B 909C 909D 9486 9487 95EB 95EC
+95ED 95EE 95EF 9620 9621 9622 9623 9624 9875 9966
+9967 9A6E 9A6F 9A70 9F50
+FDD0-2807
+4E23 4E24 4E25 4E3D 20021 4E32 20068 4E55 4E71 4E72
+4E8A 20118 4E9C 4EA8 4EA9 4EAA 3446 4F2D 4F2E 4F2F
+4F30 4F31 4F32 4F33 4F34 4F35 4F36 4F37 4F38 4F39
+4F3A 4F3B 4F3C 4F3D 4F3E 4F3F 4F40 4F41 4F42 4F43
+4F44 4F45 4F46 4F47 4F48 4F49 4F4A 4F4B 4F4D 4F4E
+4F4F 4F50 4F51 4F52 4F53 4F54 4F55 4F56 4F57 4F58
+4F59 4F5A 4F5B 4F5C 4F5D 4F5E 4F5F 4F60 4F61 4F62
+4F63 4F65 4F66 4F67 4F68 201F2 514B 514C 514D 514E
+514F 5150 5151 34B3 5175 518F 519D 34C8 51B5 51B6
+51B7 51B8 51B9 51BA 51BB 51EC 34DF 521C 521D 521E
+521F 5220 5221 5222 5223 5224 5225 5226 5227 5228
+5229 522A 522B 522C 522D 52A9 52AA 52AB 52AC 52AD
+52AE 52AF 52B0 52B1 52B2 52B3 52B4 5309
+208D5 3530 5323 5324 5325 3537 533B 5363 5364 5372
+5373 5374 5375 538E 538F 5390 5391 53BF 53D3 356D
+3570 3572 5418 5419 541A 541B 541C 541D 541E 541F
+5420 5421 5422 5423 5424 5425 5426 5427 5428 5429
+542A 542B 542C 542D 542E 542F 5430 5431 5432 5433
+5434 5435 5436 5437 5438 5439 543A 543B 543C 543D
+543E 543F 5440 5441 5442 5443 5444 5445 5446 5447
+5448 5449 544A 544B 544C 544D 544E 544F 5450 5451
+5452 5453 5454 5455 5456 5457 5458 5459 545A 545B
+545C 20BCB 20BE2 20BEB 20BFB 20BFF 56E4 56E5 56E6 56E7
+56E8 56E9 56EA 56EB 56EC 56ED 56EE 56EF 56F0 56F1
+56F2 56F3 56F4 56F5 3629 362B 362D 362E 3630 573B
+573C 573D 573E 573F 5740 5741 5742 5743
+5744 5745 5746 5747 5748 5749 574A 574B 574C 574D
+574E 574F 5750 5751 5752 5753 5754 5755 5756 5757
+5758 5759 575A 575B 575C 575D 575E 575F 5760 2127C
+58EF 58F0 58F1 58F2 58F3 5906 590B 593D 593E 593F
+5940 5941 5942 36AA 36AC 5989 598A 598B 598C 598E
+598F 5990 5991 5992 5993 5994 5995 5996 5997 5998
+5999 599A 599B 599C 599D 599E 599F 59A0 59A1 59A2
+59A3 59A4 59A5 59A6 59A7 59A8 59A9 59AA 59AB 216C0
+216C1 216C2 216D3 216D5 5B5A 5B5B 5B5C 5B5D 5B5E 5B8A
+5B8B 5B8C 5B8D 5B8E 5B8F 5B90 5B91 5B92 5BFD 5BFE
+5BFF 5C28 5C29 5C2A 5C2B 5C2C 5C3E 5C3F 5C40 5C41
+5C42 5C43 5C84 5C85 5C86 5C87 5C88 5C89 5C8A 5C8B
+5C8C 5C8E 5C8F 5C90 5C91 5C92 5C93 5C94
+5C95 5C96 5C97 5C98 5C99 5C9A 5C9B 5C9C 5C8D 5DE0
+5DEB 5DF5 3837 3838 3839 383B 5E09 5E0A 5E0B 5E0C
+5E0D 5E0E 5E0F 5E10 5E87 5E88 5E89 5E8A 5E8B 5E8C
+5E8D 5E8E 5E8F 5E90 5E91 5E92 5E93 5E94 5EF7 5F03
+5F04 5F05 5F1D 5F1E 5F1F 5F20 223BD 5F62 5F63 5F64
+5F76 5F77 5F78 5F79 5F7A 5F7B 3900 5FCC 5FCD 5FCE
+5FD0 5FD1 5FD2 5FD7 5FD8 5FDC 3908 5FDF 5FE1 5FE3
+5FE4 5FE6 5FE7 5FE8 5FEA 5FEB 5FEC 5FED 5FEE 5FEF
+5FF0 5FF1 5FF2 5FF3 5FF4 5FF6 5FF7 5FF8 5FF9 5FFA
+5FFB 5FFC 5FFE 6000 6003 6004 6005 6006 6211 6212
+6213 22993 623A 623B 623C 39D1 626D 626E 626F 6270
+6271 6272 6273 6274 6275 6276 6277 6279 627A 627B
+627C 627D 627E 6280 6281 6282 6283 6284
+6285 6286 6287 6288 6289 628A 628B 628C 628D 628E
+628F 6290 6291 6292 6293 6294 6295 6296 6297 6298
+6299 629A 629B 629C 629D 629E 629F 62A0 62A1 62A2
+62A3 62A4 62A5 6278 6538 6539 653A 653B 653C 22EEF
+6588 6598 65F0 65F1 65F2 65F3 65F4 65F5 65F6 65F7
+65F8 66F4 66F5 3B42 3B43 3B44 3B45 3B46 6744 6745
+6746 6747 6748 6749 674A 674B 674C 674D 674E 674F
+6750 6751 6752 6753 6754 6755 6756 6757 6758 6759
+675A 675B 675C 675D 675E 675F 6760 6761 6762 6763
+6764 6765 6766 6767 6768 6769 6781 233CC 6B24 3C50
+6B65 6B7C 239C2 6BCF 6BD0 23AEE 6BDC 6BDD 6C19 6C1A
+6C42 6C56 6C5E 6C65 6C66 6C67 6C68 6C69 6C6A 6C6B
+6C6D 6C6E 6C6F 6C70 6C71 6C72 6C73 6C74
+6C75 6C76 6C78 6C79 6C7A 6C7B 6C7C 6C7D 6C7E 6C7F
+6C81 6C82 6C83 6C84 6C85 6C86 6C87 6C88 6C89 6C8B
+6C8C 6C8D 6C8E 6C8F 6C90 6C91 6C92 6C94 6C95 6C96
+6C98 6C99 6C9A 6C9B 6C9C 6C9E 6C9F 6CA0 6CA1 6CA2
+6CA3 6CA4 6CA5 6CA6 6CA7 6CA8 6CA9 6CAA 23C99 23C9A
+23C9B 3DA5 7074 7075 7076 7077 7078 7079 707A 707B
+707C 707D 707E 707F 7080 7260 7261 7262 7263 7264
+24618 72B6 72B9 72BA 72BB 72BC 72BD 72BE 72BF 72C1
+72C2 72C3 72C4 72C5 72C6 72C7 72C8 2472F 3EAD 7392
+7393 7394 7395 7396 7397 7398 7399 739A 739B 248F0
+248F1 248F2 248F3 74E7 752B 752C 3F55 7537 7538 7539
+753A 753C 7593 7594 7595 7596 7597 7680 7681 7682
+7683 76C0 76C1 76EF 77E3 77F4 77F5 77F6
+25419 793D 4126 79BF 79C0 79C1 79C2 79C3 7A76 7A77
+7ACC 7ACD 7CFA 7CFB 7EB6 7EAC 7EAD 7EAE 7EAF 7EB0
+7EB1 7EB2 7EB3 7EB4 7EB5 7EB7 7EB8 7EB9 7EBA 7EBB
+7EBC 7EBD 7EBE 7F55 8034 8090 8091 8092 8093 8094
+8095 8096 8097 8098 8099 809A 809B 809C 809D 809E
+809F 80A0 81EB 826F 8283 8284 8285 8286 8287 8288
+8289 828A 828B 828C 828D 828E 828F 8290 8291 8292
+8293 8295 8296 8297 26B05 26B0A 866C 2760C 898B 89C3
+2EC6 89D2 278B2 8A00 8A01 8BC1 8BC2 8BC3 8BC4 8BC5
+8BC6 8BC7 8BC8 8BC9 8BCA 8BCB 8BCC 8BCD 8BCE 8BCF
+8BD0 8BD1 8BD2 8C37 8C46 8C55 8C78 8C9D 8D21 8D22
+8D64 8D70 2ECA 8DB3 8EAB 8ECA 8F69 8F6A 8F6B 8F9B
+8FB0 8FB5 5DE1 8FBE 8FBF 8FC0 8FC1 8FC2
+8FC3 8FC4 8FC5 8FC6 8FC7 8FC8 8FC9 28468 2846C 28473
+9091 909E 909F 90A0 90A1 90A2 90A3 90A4 90A5 90A6
+90A7 90A8 90A9 90AA 90AC 286AA 286AB 9149 91C6 91CC
+9488 9489 948A 948B 948C 95F0 95F1 95F2 95F3 95F4
+95F5 95F6 95F7 9625 9626 9627 9628 9629 962A 962B
+962C 962D 962E 962F 9630 9631 9632 9633 9634 9635
+9636 28E36 28E39 97E7 98CF 9968 9969 996A 996B 996C
+996D 996E 9A71 9A72 9A73 9A74 9E20 9E21 9EA6 9F9F
+FDD0-2808
+4E26 4E27 4E33 4E56 4E73 4E74 4E75 4E76 4E77 4E78
+200EE 4E8B 4E9B 4E9D 4E9E 4E9F 342D 4EAB 4EAC 4F4C
+344C 3450 4F69 4F6A 4F6B 4F6C 4F6D 4F6E 4F6F 4F70
+4F71 4F72 4F73 4F74 4F75 4F76 4F77 4F78 4F79 4F7A
+4F7B 4F7C 4F7D 4F7E 4F7F 4F80 4F81 4F82 4F83 4F84
+4F85 4F86 4F87 4F88 4F89 4F8A 4F8B 4F8C 4F8D 4F8E
+4F8F 4F90 4F91 4F92 4F93 4F94 4F95 4F96 4F97 4F98
+4F99 4F9A 4F9B 4F9C 4F9D 4F9E 4F9F 4FA0 4FA1 4FA2
+4FA3 4FA4 4FA5 4FA6 4FA7 4FA8 4FA9 4FAA 4FAB 4FAC
+4FAD 20204 2020C 20214 5152 5153 5154 5155 5156 20487
+5169 5176 5177 5178 5190 519E 51BC 51BD 51BE 51BF
+51C0 205C3 51ED 51EE 51EF 51FD 34E4 522E 522F 5230
+5231 5232 5233 5234 5235 5236 5237 5238
+5239 523A 523B 523C 523D 523E 523F 5240 5241 5242
+2070E 5246 351A 52B5 52B6 52B7 52B8 52B9 52BA 52BB
+52BC 52BD 52BE 52BF 52C6 530A 530B 530C 20916 5326
+533C 5351 5352 5353 5354 5355 5356 5365 5366 5367
+209E7 5376 5377 5378 5379 537A 5392 5393 5394 5395
+20A50 53C0 53C1 53C2 53D4 53D5 53D6 53D7 53D8 3577
+3578 545D 545E 545F 5460 5461 5462 5463 5464 5465
+5466 5467 5468 5469 546A 546B 546C 546D 546E 546F
+5471 5473 5474 5475 5476 5477 5478 5479 547A 547B
+547C 547D 547E 547F 5480 5481 5482 5483 5484 5485
+5486 5487 5488 5489 548A 548B 548C 548D 548E 548F
+5490 5491 5492 5493 5494 5495 5496 5497 5498 5499
+549A 549B 549C 549D 20C0B 20C0D 20C20 20C34
+20C3A 20C3B 20C41 20C42 20C43 3620 56F6 56F7 56F8 56F9
+56FA 56FB 56FC 56FD 56FE 3631 3632 3633 3634 3635
+5761 5762 5763 5764 5765 5766 5767 5768 5769 576A
+576B 576C 576D 576E 576F 5770 5771 5772 5773 5774
+5775 5776 5777 5778 5779 577A 577B 577C 577D 577E
+577F 5780 5781 5782 5783 5784 5785 5786 5787 5788
+5789 578A 212A8 212A9 212B0 5907 590C 591C 591D 5943
+5944 5945 5946 5947 5948 5949 594B 594C 594D 2160A
+5954 36B0 36B1 36B5 36B9 36BC 36C1 59AC 59AD 59AE
+59AF 59B0 59B1 59B2 59B3 59B4 59B5 59B6 59B7 59B8
+59B9 59BA 59BB 59BC 59BD 59BE 59BF 59C0 59C1 59C2
+59C3 59C4 59C5 59C6 59C7 59C8 59C9 59CA 59CB 59CC
+59CD 59CE 59CF 59D0 59D1 59D2 59D3 59D4
+59D6 59D7 216DF 216E6 216E7 216E8 216FA 216FB 216FC 216FE
+3740 5B5F 5B60 5B61 5B62 5B63 5B64 5B65 5B66 5B67
+21958 5B93 5B94 5B95 5B96 5B97 5B98 5B99 5B9A 5B9B
+5B9C 5B9D 5B9E 5B9F 5BA0 5BA1 219DB 5C00 5C19 5C1A
+5C2D 5C44 5C45 5C46 5C47 5C48 5C49 5C4A 37B9 37BE
+5C9D 5C9E 5C9F 5CA0 5CA1 5CA2 5CA3 5CA4 5CA5 5CA6
+5CA7 5CA8 5CA9 5CAA 5CAB 5CAC 5CAD 5CAE 5CAF 5CB0
+5CB1 5CB2 5CB3 5CB4 5CB5 5CB6 5CB7 5CB8 5CB9 5CBA
+5CBB 5CBC 5CBD 5CBE 5CBF 5CC0 5CC1 5CC2 5CC3 5CC4
+5CC5 21D90 3830 5DF6 5E11 5E12 5E13 5E14 5E15 5E16
+5E17 5E18 5E19 5E1A 5E1B 5E1C 2207E 5E77 5E78 5E98
+5E95 5E96 5E97 5E99 5E9A 5E9C 5E9D 5E9E 5E9F 5EF6
+38A0 5EF8 5EF9 5F06 5F21 5F22 5F23 5F24
+5F25 5F26 5F27 5F28 5F29 5F2A 223D0 5F54 5F55 38CC
+2248B 5F7C 5F7D 5F7E 5F7F 5F80 5F81 5F82 5F83 5F84
+5FDD 5FDE 5FE0 5FE2 5FE5 5FE9 5FF5 5FFD 5FFF 6001
+6002 3914 6007 6008 6009 600A 600B 600C 600D 600F
+6010 6011 6013 6014 6015 6016 6017 6019 601A 601B
+601C 601E 601F 6021 6022 6026 6027 6029 602A 602B
+602C 602D 602E 602F 6030 6032 6033 6034 6035 6036
+603A 603D 603E 603F 2261B 2261C 2262B 6214 6215 6216
+6217 623D 623E 623F 6240 627F 39D4 39D5 39D9 39DA
+39DC 39DD 39DE 39DF 62A6 62A7 62A8 62A9 62AA 62AB
+62AC 62AD 62AE 62AF 62B0 62B1 62B2 62B3 62B4 62B5
+62B6 62B7 62B8 62B9 62BA 62BB 62BC 62BD 62BE 62BF
+62C0 62C1 62C2 62C3 62C4 62C5 62C6 62C7
+62C8 62C9 62CA 62CB 62CC 62CD 62CE 62D0 62D1 62D2
+62D3 62D4 62D5 62D6 62D7 62D8 62D9 62DA 62DB 62DD
+62DE 62DF 62E0 62E1 62E2 62E3 62E4 62E5 62E6 62E7
+62E8 62E9 22ACF 22AD5 3A81 653D 653E 6589 23044 65A6
+65A7 65A8 65A9 65BA 65BB 65BC 230DA 65F9 65FA 65FB
+65FC 65FD 65FE 65FF 6600 6601 6602 6603 6604 6605
+6606 6607 6608 6609 660A 660B 660C 660D 660E 660F
+6610 6611 6612 6613 6614 6615 6616 6617 6618 6619
+66F6 3B33 670A 670B 670C 670D 3B47 3B48 3B49 3B4A
+3B4B 3B4C 3B4D 3B4E 3B4F 3B50 676A 676B 676C 676D
+676E 676F 6770 6771 6772 6773 6774 6775 6776 6777
+6778 6779 677A 677B 677C 677D 677E 677F 6780 6782
+6783 6784 6785 6786 6787 6788 6789 678A
+678B 678C 678D 678E 678F 6790 6791 6792 6793 6794
+6795 6796 6797 6798 6799 679A 679B 679C 679D 679E
+679F 67A0 67A1 67A2 67A3 67A4 67A5 67A6 67A7 67A8
+67A9 67AA 67AB 67AC 67AD 233DE 233E6 233F4 233F5 233F9
+233FA 233FE 23400 67F9 3C20 6B23 6B25 6B26 6B27 6B66
+6B67 6B68 6B69 6B7D 6B7E 6B7F 6B80 6B81 6BB4 6BD1
+6BDE 6BDF 6C13 6C1B 6C1C 6C1D 6C6C 6C80 6C8A 6C93
+6C9D 3CCB 3CCD 3CD1 6CAB 6CAC 6CAD 6CAE 6CB0 6CB1
+6CB2 6CB3 6CB4 6CB5 6CB6 6CB7 6CB8 6CB9 6CBA 6CBB
+6CBC 6CBD 6CBE 6CBF 6CC0 6CC1 6CC2 6CC3 6CC4 6CC5
+6CC6 6CC7 6CC8 6CCA 6CCB 6CCC 6CCD 6CCE 6CCF 6CD0
+6CD1 6CD2 6CD3 6CD4 6CD5 6CD6 6CD7 6CD8 6CD9 6CDB
+6CDC 6CDD 6CDE 6CDF 6CE0 6CE1 6CE2 6CE3
+6CE4 6CE5 6CE6 6CE7 6CE8 6CE9 6CEA 6CEB 6CEC 6CED
+6CEE 6CEF 6CF1 6CF2 6CF3 6CF7 6CF8 6CF9 6CFA 6CFB
+6CFC 6CFD 6CFE 23CB5 23CB7 23CC7 23CC8 23CC9 6D30 7087
+7081 7082 7083 7084 7085 7086 7088 7089 708A 708B
+708C 708D 708E 708F 7090 7091 7092 7093 7094 7095
+7096 7097 7098 7099 709A 709B 709C 709D 709E 241A3
+241A4 241A5 241AC 241B5 722C 722D 7238 7240 7248 3E2F
+7265 7266 7267 7268 7269 726A 726B 726C 2462A 72C0
+3E62 3E69 72C9 72CB 72CC 72CD 72CE 72CF 72D0 72D1
+72D2 72D3 72D4 72D5 72D6 72D7 72D8 72D9 72DA 72DB
+72DC 72DD 72DE 739C 739D 739E 739F 73A0 73A1 73A2
+73A3 73A4 73A5 73A6 73A7 73A8 73A9 73AA 73AB 73AC
+73AD 73AE 73AF 73B0 73B1 248FB 248FF 24900
+24901 2490C 74DD 74E8 74E9 7519 753B 753D 753E 753F
+7540 7541 7542 7543 7544 7545 758C 7598 7599 759A
+759B 759C 759D 759E 759F 75A0 75A1 7677 7684 76AF
+76C2 76F0 76F1 76F2 76F3 76F4 76F5 77E4 77E5 77F7
+77F8 77F9 77FA 77FB 77FC 77FD 77FE 77FF 7800 7801
+25425 793E 793F 7940 7941 7942 7943 79C4 79C5 79C6
+79C7 79C8 79C9 79CA 4192 7A78 7A79 7A7A 7A7B 41C4
+7ACE 7ACF 7AFA 7AFB 7C74 7C75 7C76 42B5 7CFC 7CFD
+7CFE 7CFF 7EBF 7EC0 7EC1 7EC2 7EC3 7EC4 7EC5 7EC6
+7EC7 7EC8 7EC9 7ECA 7ECB 7ECC 7ECD 7ECE 7ECF 7ED0
+7F37 7F54 7F56 7F57 7F59 7F8B 7F8C 8005 8013 8035
+8083 808F 43D9 80A1 80A2 80A3 80A4 80A5 80A6 80A7
+80A8 80A9 80AA 80AB 80AC 80AD 80AE 80AF
+80B0 80B1 80B2 80B3 80B4 80B5 80B6 80B7 80B8 80B9
+80BA 80BB 80BC 80BD 80BE 80BF 80C0 80C1 81E4 81E5
+81FD 81FE 820D 820E 820F 8220 8270 8298 8299 829A
+829B 829C 829D 829E 829F 82A0 82A1 82A2 82A3 82A4
+82A5 82A6 82A7 82A8 82A9 82AA 82AB 82AC 82AD 82AE
+82AF 82B0 82B1 82B2 82B3 82B4 82B5 82B6 82B7 82B8
+82B9 82BA 82BC 82BD 82BE 82C0 82C1 82C2 82C3 82C4
+82C5 82C6 82C7 82C8 82C9 82CA 82CB 82CC 82CD 82CE
+82CF 833E 26B13 26B15 26B28 82BF 864E 864F 866D 866E
+866F 8670 8671 8672 275E0 8865 8868 89C4 89C5 8BD3
+8BD4 8BD5 8BD6 8BD7 8BD8 8BD9 8BDA 8BDB 8BDC 8BDD
+8BDE 8BDF 8BE0 8BE1 8BE2 8BE3 8BE4 8BE5 8BE6 8BE7
+8BE8 8BE9 8C56 8D23 8D24 8D25 8D26 8D27
+8D28 8D29 8D2A 8D2B 8D2C 8D2D 8D2E 8D2F 8ECB 8F6C
+8F6D 8F6E 8F6F 8F70 8FCA 8FCB 8FCC 8FCD 8FCE 8FCF
+8FD0 8FD1 8FD2 8FD3 8FD4 8FD5 8FD6 8FD7 8FD8 8FD9
+8FDA 8FDB 8FDC 8FDD 8FDE 8FDF 8FEC FA24 28482 90AD
+90AE 90AF 90B0 90B1 90B2 90B3 90B4 90B5 90B6 90B7
+90B8 90B9 90BA 90BB 286BC 91C7 91D1 91D2 948D 948E
+948F 9490 9491 9492 9493 9494 9495 9496 9497 9577
+9578 9580 95F8 95F9 961C 9637 9638 9639 963A 963B
+963C 963D 963E 963F 9640 9641 9642 9643 9644 9645
+9646 9647 9648 9649 96B6 96B9 2ED7 96E8 9751 9752
+975E 9763 9876 9877 996F 9970 9971 9972 9973 9974
+9A75 9A76 9A77 9A78 9A79 9A7A 9A7B 9A7C 9A7D 9A7E
+9A7F 9A80 9C7C 9E22 9E23 9E24 9EFE 9F21
+9F7F
+FDD0-2809
+4E34 4E3E 4E57 3420 4E79 4E7A 4E7B 4E7C 4EAD 4EAE
+4EAF 4EB0 4EB1 4EB2 4FAE 4FAF 4FB0 4FB1 4FB2 4FB3
+4FB4 4FB5 4FB6 4FB7 4FB8 4FB9 4FBA 4FBB 4FBC 4FBD
+4FBE 4FBF 4FC0 4FC1 4FC2 4FC3 4FC4 4FC5 4FC6 4FC7
+4FC8 4FC9 4FCA 4FCB 4FCC 4FCD 4FCE 4FCF 4FD0 4FD1
+4FD2 4FD3 4FD4 4FD5 4FD6 4FD7 4FD8 4FD9 4FDA 4FDB
+4FDC 4FDD 4FDE 4FDF 4FE0 4FE1 4FE2 4FE3 4FE4 4FE5
+4FE6 4FE7 4FE8 4FE9 4FEA 4FEB 4FEC 4FED 2025B 5157
+5158 5159 2048E 516A 5179 517B 5191 5192 519F 51A0
+51C1 51C2 51C3 205CA 205D0 205D5 51FE 5243 5244 5245
+5247 5248 5249 524A 524B 524C 524D 524E 524F 5250
+5251 52C0 52C1 52C2 52C3 52C4 52C5 52C7 52C8 52C9
+52CA 52CB 530D 5327 5328 5329 533D 5357
+5358 537B 537C 537D 5396 5397 5398 5399 539A 539B
+53D9 53DA 53DB 53DC 53DD 5470 5472 3584 549E 549F
+54A0 54A1 54A2 54A3 54A4 54A5 54A6 54A7 54A8 54A9
+54AA 54AB 54AC 54AD 54AE 54AF 54B0 54B1 54B2 54B3
+54B4 54B5 54B6 54B7 54B8 54B9 54BA 54BB 54BC 54BD
+54BE 54BF 54C0 54C1 54C2 54C3 54C4 54C5 54C6 54C7
+54C8 54C9 54CA 54CB 54CC 54CD 54CE 54CF 54D0 54D1
+54D2 54D3 54D4 54D5 54D6 54D7 54D8 54D9 54DA 54DB
+54DC 54DD 54DE 54DF 20C53 20C65 20C77 20C78 20C7C 20C8D
+20C96 20C9C 3622 56FF 5700 211D9 3636 3637 3638 3639
+363B 363E 578B 578C 578D 578E 578F 5790 5791 5792
+5793 5794 5795 5796 5797 5798 5799 579A 579B 579C
+579D 579E 579F 57A0 57A1 57A2 57A3 57A4
+57A5 57A6 57A7 57A8 57A9 57AA 57AB 57AC 57AD 57AE
+57AF 57B0 57B1 57B2 57B3 57B4 57B5 57CE 212E3 58F4
+58F5 5908 5909 590D 369A 594E 594F 5950 5951 5952
+5953 5955 5956 21613 21619 59D5 36C3 36C4 36C5 36C7
+36C8 598D 59D8 59D9 59DA 59DB 59DC 59DD 59DE 59DF
+59E0 59E1 59E2 59E3 59E4 59E5 59E6 59E7 59E8 59E9
+59EA 59EB 59ED 59EE 59EF 59F0 59F1 59F2 59F3 59F4
+59F5 59F6 59F7 59F8 59F9 59FA 59FB 59FC 59FD 59FE
+59FF 5A00 5A01 5A02 5A03 5A05 5A06 5A07 5A08 2170D
+21710 21726 5A0D 5B68 5B69 5B6A 5BA2 5BA3 5BA4 5BA5
+5BA6 5BA8 5BA9 5BAA 5BAB 219F3 5C01 5C02 5C06 5C1B
+5C1C 5C1D 5C2E 5C2F 5C4B 5C4C 5C4D 5C4E 5C4F 5CC6
+5CC7 5CC8 5CC9 5CCA 5CCB 5CCC 5CCD 5CCE
+5CCF 5CD0 5CD1 5CD2 5CD3 5CD4 5CD5 5CD6 5CD7 5CD8
+5CD9 5CDA 5CDB 5CDC 5CDD 5CDE 5CDF 5CE0 5CE1 5CE2
+5CE3 5CE4 5CE5 5CE6 5CE7 21DB6 21DBA 21DCA 21DD1 5CF8
+5DEC 5DED 5DF7 5DF8 5DF9 5DFA 5DFB 5E1D 5E1E 5E1F
+5E20 5E21 5E22 5E23 5E24 5E25 5E26 5E27 2209A 5E7D
+5E9B 5EA0 5EA1 5EA2 5EA3 5EA4 5EA5 5EA6 22208 5EB0
+5EFA 5EFB 5EFC 22321 22325 5F07 5F08 5F2B 5F2C 5F2D
+5F2E 5F2F 223D7 5F56 5F65 5F66 5F85 5F86 5F87 5F88
+5F89 5F8A 5F8B 5F8C 5F8D 5F94 600E 6012 6018 601D
+6020 6023 6024 6025 6028 6031 6037 6038 6039 603B
+603C 3922 3926 3927 392D 6040 6042 6043 6044 6045
+6046 6047 6048 6049 604A 604C 604D 604E 6051 6052
+6053 6054 6057 6058 605B 605C 605E 605F
+6060 6061 6062 6064 6066 6068 606A 606B 606C 606E
+6070 6071 6072 6078 6079 607A 607B 607C 607D 22668
+6218 6241 6242 6243 39D8 62CF 62DC 39E1 39E2 39E5
+39E6 62EA 62EB 62EC 62ED 62EE 62EF 62F0 62F1 62F4
+62F5 62F6 62F7 62F8 62F9 62FA 62FB 62FC 62FD 62FE
+6300 6301 6302 6303 6304 6305 6306 6307 6309 630A
+630B 630C 630D 630E 630F 6311 6312 6313 6314 6315
+6316 6317 6318 631C 631D 631E 631F 6320 6321 6322
+6323 6324 6325 6326 6327 22AE6 22AE8 22B0E 22B22 6531
+653F 3A83 3A84 3A85 6540 6541 6542 6543 6544 6545
+3ABC 3ABD 65AA 65AB 3AC6 65BD 65BE 65BF 65C0 65E2
+3ADE 3AE0 661A 661B 661C 661D 661E 661F 6620 6621
+6622 6623 6624 6625 6626 6627 6628 6629
+662A 662B 662C 662D 662E 662F 6630 6631 6632 6633
+6634 6635 6636 6637 6638 6639 663A 663B 663C 663D
+663E 663F 2317D 23182 66F7 670E 670F 6710 6711 3B51
+3B52 3B53 3B54 3B55 3B56 3B57 67AE 67AF 67B0 67B1
+67B2 67B3 67B4 67B5 67B6 67B7 67B8 67B9 67BA 67BB
+67BC 67BE 67BF 67C0 67C1 67C2 67C3 67C4 67C5 67C6
+67C7 67C8 67C9 67CA 67CB 67CC 67CD 67CE 67CF 67D0
+67D1 67D2 67D3 67D4 67D5 67D6 67D7 67D8 67D9 67DA
+67DB 67DC 67DD 67DE 67DF 67E0 67E2 67E3 67E4 67E5
+67E6 67E7 67E8 67E9 67EA 67EB 67EC 67ED 67EE 67EF
+67F0 67F1 67F2 67F3 67F5 67F6 67F7 67F8 67FA 67FB
+67FC 67FD 67FE 67FF 6800 6801 6802 6803 6804 6805
+6806 6807 6808 6809 680A 680B 680C 680D
+680E 680F 6810 6811 6852 3C26 6B28 6B29 6B2A 3C54
+6B6A 6B6B 6B82 6B83 6B84 6B85 6B86 6B87 6BB5 6BB6
+6BD2 3C8B 6BD6 6BD7 6BD8 6BE0 6BE1 23B5A 6C1E 6C1F
+6C20 6C21 6C22 6C97 6CAF 6CC9 6CF4 6CF6 3CD6 3CDC
+6CDA 6CFF 6D00 6D01 6D02 6D03 6D04 6D05 6D06 6D07
+6D08 6D09 6D0A 6D0B 6D0C 6D0E 6D0F 6D10 6D11 6D12
+6D13 6D14 6D15 6D17 6D18 6D19 6D1A 6D1B 6D1D 6D1E
+6D1F 6D20 6D21 6D22 6D23 6D24 6D25 6D26 6D27 6D28
+6D29 6D2A 6D2B 6D2C 6D2D 6D2E 6D31 6D32 6D33 6D34
+6D35 6D36 6D37 6D38 6D39 6D3A 6D3B 6D3C 6D3D 6D3E
+6D3F 6D40 6D41 6D42 6D43 6D44 6D45 6D47 6D48 6D49
+6D4A 6D4B 6D4C 6D4D 6D4E 6D4F 6D50 6D51 6D52 6D53
+6D54 6D55 23CFC 23CFD 23CFE 23CFF 3DAD 709F
+70A0 70A1 70A2 70A3 70A4 70A5 70A6 70A7 70A8 70A9
+70AA 70AB 70AC 70AD 70AE 70AF 70B0 70B1 70B2 70B3
+70B4 70B5 70B6 70B7 70B8 70B9 70BA 70BB 70BC 70BD
+70BE 70BF 70C0 70C1 70C2 70C3 241CD 241E2 722E 722F
+7230 24505 723C 7241 7249 724A 726D 726E 726F 7270
+7271 7272 7273 7274 7275 72CA 72DF 72E0 72E1 72E2
+72E3 72E4 72E5 72E6 72E7 72E8 72E9 72EA 72EB 72EC
+72ED 72EE 72EF 72F0 72F1 72F2 2478F 7385 3EB1 73B2
+73B3 73B4 73B5 73B6 73B7 73B8 73B9 73BB 73BD 73BE
+73BF 73C0 73C1 73C2 73C3 73C4 73C5 73C6 73C7 73C8
+73C9 73CA 73CB 73CC 73CD 73CE 73CF 73D0 73D1 24916
+24917 24919 2492F 24933 24934 74EA 74EB 74EC 74ED 74EE
+74EF 74F0 74F1 74F2 751A 7520 752D 752E
+3F58 3F59 7546 7547 7548 7549 754A 754B 754C 754D
+754E 754F 7550 7551 7552 7553 3F7C 75A2 75A3 75A4
+75A5 75A6 75A7 75A8 75A9 75AA 75AB 75AC 75AD 75AE
+75AF 75BA 7678 7679 767A 7685 7686 7687 7688 76C3
+76C4 76C5 76C6 76C7 76C8 401D 76F6 76F7 76F8 76F9
+76FA 76FB 76FC 76FD 76FE 76FF 7700 7701 7702 7703
+7704 7705 7706 7707 7708 7709 770A 770B 770C 770D
+2512B 77DC 77E6 77E7 77E8 409A 6CF5 7802 7803 7804
+7805 7806 7807 7808 7809 780A 780B 780C 780D 780E
+780F 7810 7811 7812 7813 7814 7815 7816 7817 7818
+7819 781A 781B 781C 2542F 25430 4100 7944 7945 7946
+7947 7948 7949 794A 794B 794C 794D 794E 89C6 25635
+79B9 79BA 4132 79CB 79CC 79CD 79CE 79CF
+79D0 79D1 79D2 79D3 79D4 79D5 79D6 79D7 25772 4195
+7A7C 7A7D 7A7E 7A7F 7A80 7A81 7A82 7A83 25946 7AD0
+7AD1 7AD2 7AD3 7AD4 7AD5 7AD6 7AD7 7AFC 7AFD 7AFE
+7AFF 7B00 7B01 7B02 7B03 25AE9 427A 5A04 7C77 7C78
+7C79 7C7A 7C7B 7C7C 7C7D 7C7E 7C7F 7C80 7C81 7C82
+42B6 42B7 42B9 7D00 7D01 7D02 7D03 7D04 7D05 7D06
+7D07 7D08 7D09 7ED1 7ED2 7ED3 7ED4 7ED5 7ED6 7ED7
+7ED8 7ED9 7EDA 7EDB 7EDC 7EDD 7EDE 7EDF 4342 7F38
+7F58 7F5A 7F8D 7F8E 7F8F 7F91 26351 7FBE 7FBF 263F5
+263F8 8007 800D 800E 800F 8010 8011 8014 8036 8037
+43DF 80C2 80C3 80C4 80C5 80C6 80C7 80C8 80C9 80CA
+80CB 80CC 80CD 80CE 80CF 80D0 80D1 80D2 80D3 80D5
+80D6 80D7 80D8 80D9 80DA 80DB 80DC 80DD
+80DE 80DF 80E0 80E1 80E2 80E3 80E4 80E5 80E6 80E7
+80E8 80E9 80EA 80EB 8109 81F4 81FF 8221 8222 8223
+8224 8294 82D0 82D1 82D2 82D3 82D4 82D5 82D6 82D7
+82D8 82D9 82DA 82DB 82DC 82DD 82DE 82DF 82E0 82E1
+82E2 82E3 82E4 82E5 82E6 82E7 82E8 82E9 82EA 82EB
+82EC 82ED 82EE 82EF 82F0 82F1 82F2 82F3 82F4 82F5
+82F6 82F7 82F8 82F9 82FA 82FB 82FC 82FD 82FE 82FF
+8300 8301 8302 8303 8304 8305 8306 8307 8309 830A
+830B 830C 830D 830E 830F 8310 8311 8313 8314 8315
+26B50 26B51 26B52 26B53 26B5B 833A 8650 8673 8674 8675
+8676 8677 8678 8679 867A 867B 867C 867D 867E 867F
+8680 8681 8682 8683 460F 8841 8842 884D 884E 275E4
+8866 8867 8869 886A 886B 886C 27632 27639
+8981 898C 89C7 89C8 89C9 89D3 89D4 8A02 8A03 8A04
+8A05 8A06 8A07 8A08 8BEA 8BEB 8BEC 8BED 8BEE 8BEF
+8BF0 8BF1 8BF2 8BF3 8BF4 8BF5 8BF6 8C9E 8C9F 8CA0
+8D30 8D31 8D32 8D33 8D34 8D35 8D36 8D37 8D38 8D39
+8D3A 8D3B 8D72 8D73 8D74 8D75 8DB4 8ECC 8ECD 8F71
+8F72 8F73 8F74 8F75 8F76 8F77 8F78 8F79 8F7A 8F7B
+8FE0 8FE1 8FE2 8FE3 8FE4 8FE5 8FE6 8FE7 8FE8 8FE9
+8FEA 8FEB 8FED 8FEE 8FEF 8FF0 8FF1 8FF2 8FF3 90BC
+90BD 90BE 90BF 90C0 90C1 90C2 90C3 90C4 90C5 90C6
+90C7 90C8 90C9 90CA 90CB 90CD 90CE 90CF 90D0 90D1
+90D3 90D5 286D8 286E6 90F1 914A 914B 91CD 91D3 91D4
+9498 9499 949A 949B 949C 949D 949E 949F 94A0 94A1
+94A2 94A3 94A4 94A5 94A6 94A7 94A8 94A9
+94AA 94AB 94AC 94AD 94AE 94AF 9581 9582 95FA 95FB
+95FC 95FD 95FE 95FF 9600 9601 9602 964A 964B 964C
+964D 964E 964F 9650 9651 9652 9653 9654 9655 28E65
+28E66 9762 9769 97CB 97E8 97ED 97F3 9801 9878 9879
+987A 987B 98A8 98D0 98D1 98D2 98DB 2EDE 98DF 98E0
+9975 9976 9977 9978 9979 997A 997B 997C 9996 29810
+9999 9A81 9A82 9A83 9A84 9A85 9A86 9A87 9A88 9A89
+2EE3 9CEC 9E25 9E26 9E27 9E28 9E29
+FDD0-280A
+2003E 4E35 4E58 4E7D 4EB3 3465 3466 4FEE 4FEF 4FF0
+4FF1 4FF2 4FF3 4FF4 4FF5 4FF6 4FF7 4FF8 4FF9 4FFA
+4FFB 4FFC 4FFD 4FFE 4FFF 5000 5001 5002 5003 5004
+5005 5006 5007 5008 5009 500A 500B 500C 500D 500E
+500F 5010 5011 5012 5013 5014 5015 5016 5017 5018
+5019 501A 501B 501C 501D 501E 501F 5020 5021 5022
+5023 5024 5025 5026 5027 5028 5029 502A 502B 502C
+502D 502E 502F 5030 5031 5032 5033 5034 5035 5036
+5037 5038 5039 503A 503B 503C 503D 503E 503F 20274
+20275 20299 2029E 202A0 5056 515A 515B 20491 20492 517A
+517C 5193 5194 51A1 51A2 51A3 51A4 51A5 51A6 51A7
+2058E 51C4 51C5 51C6 51C7 51C8 51C9 51CA 51CB 51CC
+51CD 51CE 205DF 205E0 20656 5252 5253 5254
+5255 5256 5257 5258 5259 525A 525B 525C 525D 525E
+525F 5260 5261 5262 5263 5264 5265 5266 5267 20731
+52CC 52CD 52CE 52CF 52D0 52D1 20873 530E 532A 532B
+537F 539C 539D 539E 539F 8652 53DE 53DF 3597 3598
+54E0 54E1 54E2 54E3 54E4 54E5 54E6 54E7 54E8 54E9
+54EA 54EB 54EC 54ED 54EE 54EF 54F0 54F1 54F2 54F3
+54F4 54F5 54F6 54F7 54F8 54F9 54FA 54FB 54FC 54FD
+54FE 54FF 5500 5501 5502 5503 5504 5505 5506 5507
+5508 5509 550A 550B 550D 550E 550F 5510 5511 5512
+5513 5514 5515 5516 5517 5518 5519 551A 551B 551C
+551D 551E 551F 5520 5521 5522 5523 5524 5525 5526
+5527 20CB5 20CB8 20CCF 20CD3 20CD4 20CD5 20CD6 20CDD 20CED
+20CFF 20D15 3623 5701 5702 5703 5704 5705
+5706 57B6 57B7 57B8 57B9 57BA 57BB 57BC 57BD 57BE
+57BF 57C0 57C1 57C2 57C3 57C4 57C5 57C6 57C7 57C8
+57C9 57CA 57CB 57CC 57CD 57CF 57D0 57D1 57D2 57D3
+57D4 57D5 57D6 57D7 57D8 57D9 57DA 57DB FA0F 212FE
+21302 21303 21304 21305 5832 58F6 590E 590F 591E 21596
+594A 5957 5958 5959 595A 36CE 36D1 36D3 36D4 36D6
+36DD 36E1 36E2 59EC 5A09 5A0A 5A0B 5A0C 5A0E 5A0F
+5A10 5A11 5A12 5A13 5A14 5A15 5A16 5A17 5A18 5A19
+5A1A 5A1B 5A1C 5A1D 5A1E 5A1F 5A20 5A21 5A22 5A23
+5A24 5A25 5A26 5A27 5A28 5A29 5A2A 5A2D 5A2E 5A2F
+5A30 5A31 5A32 5A33 5A34 2173A 2173B 2173C 21757 3743
+5B6B 5B6C 5B6D 2196A 5BA7 5BAC 5BAD 5BAE 5BAF 5BB0
+5BB1 5BB2 5BB3 5BB4 5BB5 5BB6 5BB7 5BB8
+5BB9 5BBA 5BBB 5BBC 5BBD 5BBE 5C03 5C04 5C05 3797
+5C50 5C51 5C52 5C53 5C54 5C55 5C56 5C57 5C58 21C70
+5CE8 5CE9 5CEA 5CEB 5CEC 5CED 5CEE 5CEF 5CF0 5CF1
+5CF2 5CF3 5CF4 5CF5 5CF6 5CF7 5CF9 5CFA 5CFB 5CFC
+5CFD 5CFE 5CFF 5D00 5D01 5D02 5D03 5D04 5D05 21DEB
+21DF9 382B 5DEE 5DFC 5E28 5E29 5E2A 5E2B 5E2C 5E2D
+5E2E 5E2F 5E30 5E31 220C7 221C3 5EA7 5EA8 5EA9 5EAA
+5EAB 5EAC 5EAD 5EAE 5EAF 5EFD 5F09 5F30 5F31 5F32
+5F33 5F67 5F68 22491 5F8E 5F8F 5F90 5F91 5F92 5F93
+5F95 224ED 3920 392B 6041 604B 604F 6050 6055 6056
+6059 605A 605D 6063 6065 6067 6069 606D 606F 6073
+6074 6075 6076 6077 3931 3933 3934 3936 3937 3938
+3939 607E 6080 6081 6082 6083 6084 6085
+6087 6088 608B 608C 608D 608E 608F 6091 6092 6093
+6094 6095 6096 6097 6099 609A 609B 609C 609D 609E
+609F 60A2 60A6 60A7 60A9 60AD 60AE 60AF 2267A 22696
+22698 6219 6244 6245 6246 6247 39EC 62F2 62F3 62FF
+6308 6310 6319 631A 631B 39F8 6328 6329 632A 632B
+632C 632D 632E 632F 6330 6331 6333 6334 6335 6336
+6337 6338 6339 633A 633C 633D 633E 633F 6340 6341
+6342 6343 6344 6345 6346 6347 6348 6349 634A 634B
+634C 634D 634E 634F 6350 6351 6352 6353 6354 6355
+6356 6357 6358 6359 635A 635B 635C 635D 635E 635F
+6360 6361 6362 6363 6364 22B3F 22B43 22B6A 63E4 3A87
+3A88 3A89 6546 6547 6548 6549 654A 654B 654C 2304B
+658A 658B 6599 659A 3AC9 65C1 65C2 65C3
+65C4 65C5 65C6 65CA 6640 6641 6642 6643 6644 6645
+6646 6647 6648 6649 664A 664B 664C 664D 664E 664F
+6650 6651 6652 6653 6654 6655 6656 231A4 231A5 665F
+6660 66F8 66FA 66FB 3B34 3B35 6712 6713 6714 6715
+6717 67BD 67E1 67F4 3B58 3B59 3B5A 3B5B 3B5C 3B5D
+3B5E 3B5F 3B60 3B61 3B62 3B63 3B64 3B65 3B66 3B67
+6812 6813 6814 6815 6816 6817 6818 6819 681A 681B
+681C 681D 681E 681F 6820 6821 6822 6823 6824 6825
+6826 6827 6828 6829 682A 682B 682C 682D 682E 682F
+6830 6831 6832 6833 6834 6835 6836 6837 6838 6839
+683A 683B 683C 683D 683E 683F 6840 6841 6842 6843
+6844 6845 6846 6847 6848 6849 684A 684B 684C 684D
+684E 684F 6850 6851 6853 6854 6855 6856
+6857 6858 6859 685A 685B 685C 685D 685E 685F 6860
+6861 6862 6863 6864 6865 6866 6867 6868 6869 686A
+2343F 23450 2346F 23472 6B2B 6B2C 6B2D 6B2E 6B2F 6B30
+6B31 6B34 6B6C 6B6D 3C61 6B88 6B89 6B8A 6B8B 6BB7
+6BD9 6BE2 6BE3 6BE4 6BE5 6BE6 6BE7 6BE8 6BE9 6BEA
+6C23 6C24 6C25 6C26 6C27 6C28 6C29 6CF0 6D1C 6D2F
+6D46 3CEF 6D0D 6D16 6D56 6D57 6D58 6D59 6D5A 6D5B
+6D5C 6D5D 6D5E 6D5F 6D60 6D61 6D62 6D63 6D64 6D65
+6D66 6D67 6D68 6D69 6D6A 6D6B 6D6C 6D6D 6D6E 6D6F
+6D70 6D71 6D72 6D73 6D74 6D75 6D76 6D77 6D78 6D79
+6D7A 6D7B 6D7C 6D7D 6D7E 6D7F 6D80 6D81 6D82 6D83
+6D84 6D85 6D86 6D87 6D88 6D89 6D8A 6D8B 6D8C 6D8D
+6D8F 6D90 6D91 6D92 6D93 6D94 6D95 6D96
+6D97 6D98 6D9A 6D9B 6D9C 6D9D 6D9E 6D9F 6DA0 6DA1
+6DA2 6DA3 6DA4 6DA5 6DA6 6DA7 6DA8 6DA9 23D40 23D5B
+3DB4 70C4 70C5 70C6 70C7 70C8 70C9 70CA 70CB 70CC
+70CD 70CE 70CF 70D0 70D1 70D2 70D3 70D4 70D5 70D6
+70D7 70D8 70D9 70DA 70DB 70DC 70DD 70DE 70DF 70E0
+70E1 70E2 70E3 70E4 70E5 70E6 70E7 70E8 70E9 70EA
+70EB 70EC 70ED 70EE 241FC 2421B 7231 7239 7242 24578
+3E20 7276 7277 7278 7279 727A 3E74 72F3 72F4 72F5
+72F6 72F7 72F8 72F9 72FA 72FB 72FC 72FD 72FE 7300
+7301 7302 7303 7386 3EB8 73BA 73BC 3EBF 3EC2 3EC7
+73D2 73D3 73D4 73D5 73D6 73D7 73D8 73D9 73DA 73DB
+73DC 73DD 73DE 73DF 73E0 73E1 73E2 73E3 73E4 73E5
+73E6 73E7 73E8 73E9 73EA 73EB 73EC 73ED
+73EE 73EF 73F0 73F1 73F2 7409 2493E 2493F 24940 24941
+24942 24943 73F9 74DE 74DF 74F3 74F4 74F5 7521 7554
+7555 7556 7557 7558 7559 755A 755B 755C 755D 755E
+755F 758D 75B0 75B1 75B2 75B3 75B4 75B6 75B7 75B8
+75B9 75BB 75BC 75BD 75BE 75BF 75C0 75C1 75C2 75C3
+75C4 75C5 75C6 75C7 75C8 75C9 7560 768A 768B 768C
+768D 24F5C 3FED 76B0 76B1 4000 76C9 76CA 76CB 76CC
+76CD 76CE 76CF 76D0 76D1 25052 4026 770E 770F 7710
+7711 7712 7713 7714 7715 7716 7717 7718 7719 771A
+771B 771C 771D 771E 771F 7720 7721 7722 7723 7724
+7727 7728 7729 772A 772B 772C 773F 25148 77DD 77E9
+40A8 781D 781E 781F 7820 7821 7822 7823 7824 7825
+7827 7828 7829 782A 782B 782C 782D 782E
+782F 7830 7831 7832 7833 7834 7835 7836 7837 7838
+7839 783A 783B 783C 783D 783E 783F 7840 7841 25446
+2546C 2546E 4103 794F 7950 7951 7952 7953 7954 7955
+7956 7957 7958 7959 795A 795B 795C 795D 795E 795F
+7960 7962 25651 2573D 79D8 79D9 79DA 79DB 79DC 79DD
+79DE 79DF 79E0 79E1 79E2 79E3 79E4 79E5 79E6 79E7
+79E8 79E9 79EA 79EB 79EC 79ED 79EE 79EF 79F0 7A84
+7A85 7A86 7A87 7A88 7A89 7A8A 7A8B 7A8C 7A8D 7A8E
+25956 41CA 7AD8 7AD9 7ADA 7ADB 7ADC 7ADD 7ADE 41D7
+41DB 7B05 7B06 7B07 7B08 7B09 7B0A 7B0B 7B0C 7B0D
+7B0E 7B0F 7B10 7B11 7B12 7B13 7B14 7B15 7B04 7C83
+7C84 7C85 7C86 7C87 7C88 7C89 7C8A 7C8B 7C8C 7C8D
+7C8E 7C8F 7C90 7C91 42BC 7D0A 7D0B 7D0C
+7D0D 7D0E 7D0F 7D10 7D11 7D12 7D13 7D14 7D15 7D16
+7D17 7D18 7D19 7D1A 7D1B 7D1C 7D1D 7D1E 7D1F 7D20
+7D21 7D22 7D23 7D24 7D25 7D26 7D27 7EE0 7EE1 7EE2
+7EE3 7EE4 7EE5 7EE6 7EE7 7EE8 4343 7F39 7F3A 7F3C
+7F5B 7F5C 7F5D 7F5E 7F5F 7F60 7F61 7F62 7F90 7F92
+7F93 7F94 7F96 7F97 7F98 7F99 7FC0 7FC1 7FC2 7FC3
+7FC4 7FC5 7FC6 26402 26410 26411 26412 8004 8006 800A
+8015 8016 8017 8018 8019 8038 8039 803A 803B 803C
+803D 803E 803F 8040 8041 8042 8081 8082 43ED 80ED
+80EE 80EF 80F0 80F1 80F2 80F3 80F4 80F5 80F6 80F7
+80F8 80F9 80FA 80FB 80FC 80FD 80FF 8100 8101 8102
+8103 8104 8105 8106 8107 8108 810A 810B 810C 810D
+810E 810F 8110 8111 8112 8113 266AF 266B1
+266B5 81EC 81ED 26939 8200 8201 8210 4465 8225 8226
+8227 8228 8229 822A 822B 822C 822D 822E 822F 8230
+8231 8273 449F 44A0 44A2 82BB 8308 8316 8317 8318
+8319 831A 831B 831C 831E 831F 8320 8321 8322 8324
+8325 8326 8327 8328 8329 832A 832B 832C 832D 832E
+832F 8330 8331 8332 8333 8334 8335 8336 8337 8338
+8339 833C 833D 833F 8340 8341 8342 8343 8344 8345
+8347 8348 8349 834A 834B 834C 834D 834E 834F 8350
+8351 8352 8354 8355 8356 8357 8358 835A 835B 835C
+835D 835E 835F 8360 8361 8362 8363 8364 8365 8366
+8367 8368 8369 836A 836C 836D 836E 836F 26B75 26B82
+26B96 26B97 26B9D 26BB3 8353 8651 8653 8654 8684 8685
+8686 8687 8689 868A 868B 868C 868D 868E
+868F 8690 8691 8692 8693 8694 8695 8696 8697 8698
+8699 869A 869B 869C 869D 869E 869F 86A0 86A1 86A2
+86A3 86A4 86A5 86A6 86A7 86A8 86A9 86AA 86AC 8843
+8844 4615 884F 886D 886E 886F 8870 8871 8872 8873
+8874 8875 8876 8877 8878 8879 887A 887B 887C 887D
+887E 887F 8880 8881 8882 8883 8884 8885 8886 8887
+27655 27656 27657 898D 898E 89CA 8A09 8A0A 8A0B 8A0C
+8A0D 8A0E 8A0F 8A10 8A11 8A12 8A13 8A14 8A15 8A16
+8A17 8A18 8A19 8A1A 27967 8BF7 8BF8 8BF9 8BFA 8BFB
+8BFC 8BFD 8BFE 8BFF 8C00 8C01 8C02 8C03 8C04 8C05
+8C06 8C07 8C08 8C09 8C0A 8C38 8C47 8C48 8C57 8C79
+8C7A 8C7B 8CA1 8CA2 8CA3 8CA4 27D2F 8D3C 8D3D 8D3E
+8D3F 8D40 8D41 8D42 8D43 8D44 8D45 8D46
+4798 8D76 8D77 8D78 47D5 8DB5 8DB6 8DB7 8DB8 8EAC
+8ECE 8ECF 8ED0 8ED1 8ED2 8ED3 8ED4 8ED5 8F7C 8F7D
+8F7E 8F7F 8F80 8F81 8F82 8F83 8FB1 8FF4 8FF5 8FF6
+8FF7 8FF8 8FF9 8FFA 8FFB 8FFC 8FFD 8FFE 8FFF 9000
+9001 9002 9003 9004 9005 9006 9007 9008 9009 900A
+9095 90D6 90D7 90D8 90D9 90DA 90DB 90DC 90DD 90DE
+90DF 90E0 90E1 90E2 90E3 90E4 90E5 90E6 90E7 914C
+914D 914E 914F 9150 9151 9152 91D5 91D6 91D7 91D8
+91D9 91DA 91DB 91DC 91DD 91DE 91DF 91E0 91E1 91E2
+94B0 94B1 94B2 94B3 94B4 94B5 94B6 94B7 94B8 94B9
+94BA 94BB 94BC 94BD 94BE 94BF 94C0 94C1 94C2 94C3
+94C4 94C5 94C6 94C7 94C8 94C9 94CA 94CB 94CC 94CD
+94CE 9583 9584 9585 28CCA 28CCD 9603 9604
+9605 9606 9656 9657 9658 9659 965B 965C 965D 965E
+965F 9660 9661 9662 9663 9664 9665 9666 9667 9668
+9669 965A 28E97 96BA 96BB 96BC 96BD 96BE 987C 987D
+987E 987F 9880 9881 9882 9883 9884 98E2 98E3 98E4
+997D 997E 997F 9980 9981 9982 99AC 9A8A 9A8B 9A8C
+9A8D 9A8E 9A8F 9AA8 9AD8 9ADF 9B25 9B2F 9B32 9B3C
+9C7D 9E2A 9E2B 9E2C 9E2D 9E2E 9E2F 9E30 9E31 9E32
+9E33 9E34 9E35 9E36 9F80
+FDD0-280B
+3422 4E7E 4E7F 4E80 3464 5040 5041 5042 5043 5044
+5045 5046 5047 5048 5049 504A 504B 504C 504D 504E
+504F 5050 5051 5052 5053 5054 5055 5057 5058 5059
+505A 505B 505C 505D 505E 505F 5060 5061 5062 5063
+5064 5065 5066 5067 5069 506A 506B 506C 506D 506E
+506F 5070 5071 5072 5073 5074 5075 5076 5077 5078
+5079 507A 507B 507C 507D 507E 507F 202B7 202BF 202C0
+202E5 515C 515D 515E 517D 34BC 5195 51A8 51CF 51D0
+51D1 205EB 51F0 5268 526A 526B 526C 526D 526E 526F
+5270 5271 5276 20779 3520 52D2 52D3 52D4 52D5 52D6
+52D8 52D9 52DA 530F 5310 5313 352D 5318 5319 3531
+532C 532D 532E 533E 533F 5340 5359 5368 537E 53A0
+53A1 53A2 53A3 53A9 53C3 53C4 550C 35A1
+35A5 35AD 5528 5529 552A 552B 552C 552D 552E 552F
+5530 5531 5532 5533 5534 5535 5536 5537 5538 5539
+553A 553B 553C 553D 553E 553F 5540 5541 5542 5543
+5544 5545 5546 5547 5548 5549 554A 554B 554C 554D
+554E 554F 5550 5551 5552 5553 5554 5555 5556 5557
+5558 555A 555B 555C 555D 555E 5560 5561 5562 5563
+5564 5565 5566 5567 5568 5569 556A 556C 556D 556E
+556F 5570 5571 5572 5573 5574 5575 5576 5577 5578
+5579 20D28 20D31 20D32 20D46 20D47 20D48 20D49 20D4C 20D4D
+20D4E 20D6F 20D71 20D74 20D7C 20D7E 20D7F 20D96 20D9C 20DA7
+20DB2 556B 55B6 5707 5708 5709 570A 570B 570F 3647
+3648 3649 57DC 57DD 57DE 57DF 57E0 57E1 57E2 57E3
+57E4 57E5 57E6 57E7 57E8 57E9 57EB 57EC
+57ED 57EE 57EF 57F0 57F1 57F2 57F3 57F4 57F5 57F6
+57F7 57F8 57F9 57FA 57FB 57FC 57FD 57FE 57FF 5800
+5801 5802 5803 5804 5805 5806 5807 5808 5809 580A
+580B 580C 580D 580E 580F 5810 5811 5812 5813 5814
+5815 21336 2133A 57EA 5835 58F7 58F8 591F 5920 595B
+595C 595D 595E 2163E 595F 5962 5A2B 5A3D 36E5 36E6
+5A2C 5A35 5A36 5A37 5A38 5A39 5A3A 5A3B 5A3C 5A3E
+5A3F 5A40 5A41 5A42 5A43 5A44 5A45 5A46 5A47 5A48
+5A49 5A4A 5A4B 5A4C 5A4D 5A4E 5A4F 5A50 5A51 5A52
+5A53 5A54 5A55 5A56 5A57 5A58 5A59 5A5A 5A5B 5A5C
+5A5D 5A5E 5A5F 5A60 5A61 5A62 5A63 5A64 5A65 5A66
+5A67 5A68 5A69 5A6A 5A6B 5A6C 5A6D 5A6E 5A6F 5A70
+5A71 5A72 5A73 5A74 5A75 5A76 2176C 2176D
+2176E 2176F 21770 21771 21773 21774 5A8E 5B6E 5B6F 5B70
+5B72 5BBF 5BC0 5BC1 5BC2 5BC3 5BC4 5BC5 5BC6 5BC7
+5BC8 5BC9 21A2D 21A34 5C07 5C08 5C09 5C59 5C5A 5C5B
+5C5C 5C5D 5C60 5D06 5D07 5D08 5D09 5D0A 5D0B 5D0C
+5D0D 5D0E 5D0F 5D10 5D11 5D12 5D13 5D14 5D15 5D16
+5D17 5D18 5D19 5D1A 5D1B 5D1C 5D1D 5D1E 5D1F 5D20
+5D21 5D22 5D23 5D24 5D25 5D26 5D27 5D28 5D29 5D2A
+5D2B 5D2C 5D2D 5D2E 5D2F 5D30 21E1C 21E37 21E3D 5DE2
+5DE3 3831 5E32 5E33 5E34 5E35 5E36 5E37 5E38 5E39
+5E3A 5E3B 5E3C 5E3E 5EB1 5EB2 5EB3 5EB4 5EB5 5EB6
+5EB7 5EB8 5EB9 5EBA 5EBB 5EBC 5EBE 5F34 5F35 5F36
+5F37 5F38 5F39 223FA 5F57 5F69 5F6B 5F6C 5F96 5F97
+5F98 5F99 5F9B 5F9C 5F9D 5F9E 5F9F 5FA0
+5FA1 5FA2 5FA3 5FA4 22513 2251B 3930 3932 3935 393B
+607F 6086 6089 608A 6090 6098 60A0 60A1 60A3 60A4
+60A5 60A8 60AA 60AB 60AC 393F 394D 60B0 60B1 60B4
+60B5 60B7 60B8 60BA 60BB 60BC 60BD 60BE 60BF 60C0
+60C2 60C3 60C5 60C6 60C7 60C8 60CA 60CB 60CD 60CF
+60D0 60D3 60D4 60D5 60D7 60D8 60D9 60DA 60DB 60DC
+60DD 60DE 60DF 60E4 60E6 60E7 60E8 60EC 60ED 60EE
+60EF 226F4 226F5 226F6 22712 22714 2271B 2271F 621A 621B
+621C 621D 6248 6332 633B 39FB 39FE 3A00 3A01 3A02
+3A03 3A04 3A06 6365 6366 6367 6368 6369 636A 636B
+636C 636D 636E 636F 6370 6371 6372 6373 6374 6375
+6376 6377 6378 6379 637A 637B 637C 637D 637E 637F
+6380 6381 6382 6383 6384 6385 6386 6387
+6388 6389 638A 638B 638D 638E 638F 6390 6391 6392
+6393 6395 6396 6397 6398 6399 639A 639B 639C 639D
+639E 639F 63A0 63A1 63A2 63A4 63A5 63A6 63A7 63A8
+63A9 63AA 63AB 63AC 63AD 63AE 63AF 63B3 63B4 63B5
+63B6 63B7 63B8 63B9 63BA 63BB 63BC 63BD 22BCA 22BCE
+63B2 3A8A 3A8B 3A8C 3A8D 3A8E 555F 654D 654E 654F
+6550 6551 6552 6553 6554 6555 6556 6557 6558 6559
+655A 655B 655D 658D 658E 658F 659B 659C 65AC 65AD
+3ACB 65C7 65C8 65C9 65CB 65CC 65CD 65CE 65CF 65E3
+3AF0 3AF2 52D7 6657 6658 6659 665A 665B 665C 665D
+665E 6661 6662 6663 6664 6665 6666 6667 6668 6669
+66FD 231B3 231C8 231C9 66F9 66FC 3B36 3B37 6716 6718
+6719 671A 671B 3B68 3B69 3B6A 3B6B 3B6C
+3B6D 3B6E 3B6F 3B70 3B71 3B72 3B73 3B74 3B75 3B77
+686B 686C 686D 686E 686F 6870 6871 6872 6873 6874
+6875 6876 6877 6878 6879 687A 687B 687C 687D 687E
+687F 6880 6881 6882 6883 6884 6885 6886 6887 6888
+6889 688A 688B 688C 688D 688E 688F 6890 6891 6892
+6893 6894 6895 6896 6897 6898 6899 689A 689B 689C
+689D 689E 689F 68A0 68A1 68A2 68A3 68A4 68A5 68A6
+68A7 68A8 68A9 68AA 68AB 68AC 68AD 68AE 68AF 68B0
+68B1 68B2 68B3 68B5 68B6 68B7 68B8 68B9 68BA 68BB
+68BC 68BD 68BE 68BF 68C0 68C1 68C2 6956 3C2F 6B32
+6B33 6B35 6B36 6B37 6B38 3C62 6B8C 6B8D 6B8E 6B8F
+6B90 6B91 6B92 6B93 6BB8 6BB9 6BBA 6BBB 6BEB 6BEC
+6BED 6BEE 6C2A 6C2B 23C63 3CEB 6D8E 3D00
+3D04 6D99 6DAA 6DAB 6DAC 6DAD 6DAE 6DAF 6DB0 6DB1
+6DB2 6DB3 6DB4 6DB5 6DB6 6DB7 6DB8 6DB9 6DBA 6DBB
+6DBC 6DBD 6DBE 6DBF 6DC0 6DC1 6DC2 6DC3 6DC4 6DC5
+6DC6 6DC7 6DC8 6DC9 6DCA 6DCB 6DCC 6DCD 6DCE 6DCF
+6DD0 6DD1 6DD2 6DD3 6DD4 6DD5 6DD6 6DD7 6DD8 6DD9
+6DDA 6DDB 6DDC 6DDD 6DDE 6DDF 6DE0 6DE1 6DE2 6DE3
+6DE4 6DE5 6DE6 6DE7 6DE8 6DE9 6DEA 6DEB 6DEC 6DED
+6DEE 6DEF 6DF0 6DF1 6DF2 6DF3 6DF4 6DF5 6DF6 6DF7
+6DF8 6DF9 6DFA 6DFB 6DFD 6DFF 6E00 6E01 6E02 6E04
+6E05 6E06 6E07 6E08 6E09 6E0A 6E0B 6E0C 6E0D 6E0E
+6E0F 6E10 6E11 6E12 6E13 6E14 6E15 6E16 6E17 6E1A
+6E74 23D7E 23D8F 23DB6 23DB7 23DB8 23DB9 23DBA 23DBB 23DBC
+23DBD 23DE3 23DF8 3DBF 70EF 70F0 70F1 70F2
+70F3 70F4 70F5 70F6 70F7 70F8 70F9 70FA 70FC 70FD
+70FE 70FF 7100 7101 7102 7103 7104 7105 7106 7107
+7108 7109 710A 710B 710C 710D 710E 710F 7110 7111
+7112 7113 7115 7116 7117 7118 2424B 24256 24259 7114
+723D 3E3A 3E3C 3E3E 3E40 727B 727C 727D 727E 727F
+7281 24665 72FF 7304 7305 7307 7308 7309 730A 730D
+730E 730F 7310 7311 7313 7314 7315 7316 7317 7318
+7319 731A 731B 731C 731D 731E 731F 7320 7321 732A
+7387 7388 3ECA 3ECC 3ED0 73F3 73F4 73F5 73F6 73F8
+73FA 73FB 73FC 73FD 73FE 73FF 7400 7401 7402 7403
+7404 7405 7406 7407 7408 740A 740B 740C 740D 740E
+740F 7410 7411 7412 7413 24962 24963 24974 24975 24976
+3F0E 74E0 3F26 74F6 74F7 74F8 751B 751C
+7522 7523 7561 7562 7563 7564 7565 7566 7567 7569
+7570 75B5 75CA 75CB 75CC 75CD 75CE 75CF 75D0 75D1
+75D2 75D3 75D4 75D5 75D6 7689 768E 768F 7690 7691
+76B2 4001 4002 76D2 76D3 76D4 76D5 76D6 76D7 76D8
+76DB 7725 7726 772D 772E 772F 7730 7731 7732 7733
+7734 7735 7736 7737 7738 7739 773A 773B 773C 773D
+773E 7741 2517D 2517E 7740 77EA 77EB 7826 7842 7843
+7844 7845 7846 7847 7848 7849 784A 784B 784C 784D
+784E 784F 7850 7851 7852 7853 7854 7855 7856 7857
+7858 7859 785A 785B 7961 4104 7963 7964 7965 7967
+7968 7969 796A 796B 796C 796D 796E 796F 8996 25683
+79BB 413B 4141 4143 4145 79F1 79F2 79F3 79F4 79F5
+79F6 79F7 79F8 79F9 79FA 79FB 79FC 79FD
+79FE 7A06 7A8F 7A90 7A91 7A92 7A93 7A94 7A95 7A9A
+7AE1 7B16 7B17 7B18 7B19 7B1A 7B1B 7B1C 7B1D 7B1E
+7B1F 7B20 7B21 7B22 7B23 7B24 7B25 7B26 7B27 7B28
+7B29 7B2A 7B2B 7B2C 7B2D 7B2E 7B2F 7B30 7B31 7B32
+7B33 7B34 7B35 7B36 7B37 7B38 7B39 7B3A 7B3B 7B3C
+7B3D 7B3E 7568 7C92 7C93 7C94 7C95 7C96 7C97 7C98
+7C99 7C9A 7C9B 7C9C 7C9D 7CA3 25E49 7D28 7D29 7D2C
+7D2D 7D2E 7D2F 7D30 7D31 7D32 7D33 7D34 7D35 7D36
+7D37 7D38 7D39 7D3A 7D3B 7D3C 7D3D 7D3E 7D3F 7D40
+7D41 7D42 7D43 7D44 7D45 7D46 7D47 7D48 7D49 7D4A
+7D4B 7D4C 25FE1 25FE2 7EE9 7EEA 7EEB 7EEC 7EED 7EEE
+7EEF 7EF0 7EF1 7EF2 7EF3 7EF4 7EF5 7EF6 7EF7 7EF8
+7EF9 7EFA 7EFB 7EFC 7EFD 7EFE 7EFF 7F00
+7F01 4344 4345 7F3B 7F3D 7F63 7F95 7F9A 7F9B 7F9C
+7F9D 7F9E 7F9F 7FC7 7FC8 7FC9 7FCA 7FCB 7FCC 7FCD
+7FCE 7FCF 7FD0 7FD1 7FD2 8008 8009 801A 801B 801C
+801D 801E 801F 8043 8044 8045 8046 8047 8048 8049
+804A 804B 804C 804D 80EC 43F2 8115 8116 8117 8118
+8119 811A 811B 811C 811D 811E 811F 8121 8122 8123
+8124 8125 8126 8127 8128 8129 812A 812B 812C 812D
+812E 812F 8130 8131 8132 8133 8134 8135 8136 8137
+8138 266DA 266E8 266FC 2690E 8202 8211 8232 8233 8234
+8235 8236 8237 8238 8239 823A 823B 26A2D 26A2E 8274
+8359 836B 831D 8323 8370 8371 8372 8373 8374 8375
+8376 8377 8378 8379 837A 837B 837C 837D 837E 837F
+8380 8381 8382 8383 8384 8385 8386 8387
+8388 8389 838A 838B 838C 838D 838E 838F 8390 8391
+8392 8393 8394 8395 8396 8397 8398 8399 839B 839C
+839D 839E 839F 83A0 83A1 83A2 83A3 83A4 83A5 83A6
+83A7 83A8 83A9 83AA 83AB 83AC 83AE 83AF 83B0 83B1
+83B2 83B3 83B4 83B5 83B6 83B7 83B8 83B9 83BA 83BC
+83BD 26BC0 26BF7 26C21 83AD 5F6A 8655 8656 8657 8658
+8659 865A 86AB 86AD 86AE 86AF 86B0 86B1 86B2 86B3
+86B4 86B5 86B6 86B7 86B8 86B9 86BA 86BB 86BC 86BD
+86BE 86BF 86C0 86C1 86C2 86C3 86C4 86C5 86C6 86C7
+86C8 86C9 86CA 86CB 86CC 86CD 86CE 86CF FA21 27280
+27285 2728B 8845 8850 8851 8852 8853 8854 4626 8888
+8889 888A 888B 888C 888D 888E 888F 8890 8891 8892
+8893 8894 8895 8896 8897 8898 8899 889A
+889B 889C 889D 889E 889F 88A0 88A1 88A2 88A3 88A4
+88A5 88A6 88A7 88A8 88A9 88AA 88AB 88AC 88AD 88AE
+88B0 88AF 8982 467A 898F 8990 8991 8992 8993 8994
+89CB 89D5 89D6 89D7 89D8 89D9 278C8 46BC 8A1B 8A1C
+8A1D 8A1E 8A1F 8A20 8A21 8A22 8A23 8A24 8A25 8A26
+8A27 8A28 8A29 8A2A 8A2B 8A2C 8A2D 8A2E 8A2F 8A30
+8A31 8A32 8A33 2797A 8C0B 8C0C 8C0D 8C0E 8C0F 8C10
+8C11 8C12 8C13 8C14 8C15 8C16 8C17 8C18 8C19 8C1A
+8C1B 8C1C 8C1D 8C1E 8C39 8C3A 8C3B 8C49 4746 4747
+8C58 8C59 8C5A 8C5B 8C5C 8C5D 8C7C 8C7D 8CA5 8CA6
+8CA7 8CA8 8CA9 8CAA 8CAB 8CAC 8CAD 8CAE 8D47 8D48
+8D49 8D4A 8D65 8D66 8D67 479B 8D79 8D7A 8D7B 8D7C
+8D7D 8D7E 8D7F FA23 8DB9 8DBA 8DBB 8DBD
+8DBE 8DBF 8DC0 8DC1 8DC2 8DC3 8DC4 8EAD 8EAE 8EAF
+28218 2821A 4846 4847 4848 4849 484A 8ED6 8ED7 8ED8
+8ED9 8EDA 8EDB 8EDC 8EDD 8EDE 8EDF 8EE0 8EE1 8EE2
+8EE3 282CD 8F84 8F85 8F86 489B 900B 900C 900D 900E
+900F 9010 9011 9012 9013 9014 9015 9016 9017 9018
+9019 901A 901B 901C 901D 901E 901F 9020 9021 9022
+9023 9024 9025 9026 9027 28501 90AB 90D4 90E8 90E9
+90EA 90EB 90EC 90ED 90EE 90EF 90F0 90F2 90F3 90F4
+90F7 90F8 90FD 2870F 28713 48ED 9153 9154 9155 9156
+9157 9158 9159 915A 915B 915C 915D 915E 28804 91C8
+91CE 91E3 91E4 91E5 91E6 91E7 91E8 91E9 91EA 91EB
+91EC 91ED 91EE 91EF 91F0 91F1 91F2 91F3 91F4 91F5
+91F6 91F7 91F8 91F9 91FA 91FB 91FC 28948
+28949 94CF 94D0 94D1 94D2 94D3 94D4 94D5 94D6 94D7
+94D8 94D9 94DA 94DB 94DC 94DD 94DE 94DF 94E0 94E1
+94E2 94E3 94E4 94E5 94E6 94E7 94E8 94E9 94EA 94EB
+94EC 94ED 94EE 94EF 94F0 94F1 94F2 94F3 94F4 94F5
+94F6 94F7 9579 957A 9586 9587 9588 9589 958A 28CD2
+9607 9608 9609 960A 960B 960C 960D 960E 960F 9610
+966A 966B 966C 966D 966E 966F 9670 9671 9673 9674
+9675 9676 9677 9678 9679 967A 967C 28EAC 28EB2 28EB3
+96BF 96C0 96E9 96EA 96EB 291D5 291EB 976A 7ADF 7AE0
+9802 9803 9804 9885 9886 9887 9888 98E1 98E5 98E6
+9983 9984 9985 9986 9997 9A90 9A91 9A92 9A93 9A94
+9A95 9A96 9AD9 9B5A 9C7E 9CE5 9E37 9E38 9E39 9E3A
+9E3B 9E3C 9E3D 9E3E 9E3F 9E75 9E7F 9EA5
+9EB8 9EBB 9ED2 9F81 9F9A 9F9B
+FDD0-280C
+20046 4E81 4EB4 4EB5 5068 3473 347A 5080 5081 5082
+5083 5084 5085 5086 5087 5088 5089 508A 508B 508C
+508D 508E 508F 5090 5091 5092 5093 5094 5095 5096
+5097 5098 5099 509A 509B 509C 509D 509E 509F 50A0
+50A1 50A2 50A3 50A4 50A5 50A6 50A7 50A8 50A9 2030A
+20325 515F 5160 204A3 6700 51D2 51D3 51D4 51D5 51D6
+51F1 51F2 51FF 34FB 5269 5272 5273 5274 5275 52DB
+52DC 52DD 52DE 5311 5312 20923 20954 3538 535A 53A4
+53A5 53A6 53A7 53A8 53C5 35BF 35C1 35C4 35C5 35C7
+35CA 35CE 5559 557A 557B 557C 557D 557E 557F 5580
+5581 5582 5583 5584 5585 5586 5587 5588 5589 558A
+558B 558C 558E 558F 5590 5591 5592 5593 5594 5595
+5596 5597 5598 5599 559A 559B 559C 559D
+559E 559F 55A0 55A1 55A2 55A3 55A4 55A5 55A6 55A7
+55A8 55A9 55AA 55AB 55AC 55AD 55AE 55AF 55B0 55B1
+55B2 55B3 55B4 55B5 55B7 55B8 55B9 55BA 55BB 55BC
+55BD 55BE 5645 20DC8 20E04 20E09 20E0A 20E0D 20E0E 20E0F
+20E10 20E11 20E16 20E1D 55DE 570C 570D 570E 5710 364E
+5816 5817 5818 5819 581A 581B 581C 581D 581E 581F
+5820 5821 5822 5823 5824 5825 5826 5827 5828 5829
+582A 582B 582C 582D 582E 582F 5830 5831 5833 5834
+5836 5837 5838 5839 583A 583B 583C 583E 583F 5840
+5841 5842 5844 5845 5846 5847 5848 21375 21376 2138E
+21398 2139C 58F9 58FA 58FB 5921 5960 5961 5963 5964
+5965 36F5 3700 3701 3703 3704 5A77 5A78 5A79 5A7A
+5A7B 5A7C 5A7D 5A7E 5A7F 5A80 5A81 5A82
+5A83 5A84 5A85 5A86 5A87 5A88 5A89 5A8A 5A8B 5A8C
+5A8D 5A8F 5A91 5A92 5A93 5A94 5A95 5A96 5A97 5A98
+5A99 5A9A 5A9B 5A9C 5A9D 5A9E 5A9F 5AA0 5AA1 5AA2
+5AA3 5AA4 5AA5 5AA6 5AA7 5AA8 5AA9 5AAA 5AAB 5AAC
+5AAD 5AAE 5AAF 5ACF 217AB 217B0 217B1 217B2 217B3 217B4
+217B5 217C3 217C7 217D9 217DA 217DB 217DC 217DF 5B71 2197C
+21980 5B73 3762 5BCA 5BCB 5BCC 5BCD 5BCE 5BCF 5BD0
+5BD1 5BD2 5BD3 5BD4 5BD5 5BEA 21A45 21A4B 5C0A 5C0B
+5C0C 5C1E 5C30 5C31 5C5E 5C5F 5C61 21CA2 21CA5 5D31
+5D32 5D33 5D34 5D35 5D36 5D37 5D38 5D39 5D3A 5D3B
+5D3C 5D3D 5D3E 5D3F 5D40 5D41 5D42 5D43 5D44 5D45
+5D46 5D47 5D48 5D49 5D4B 5D4C 5D4D 5D4E 5D4F 5D50
+5D51 5D52 5D53 5D54 5D55 5D56 5D57 5D58
+5D59 5D5A 5D5B 5D5C 5D5D FA11 21E89 21EA4 21EA8 5D6B
+382D 5DEF 5DFD 22045 22049 5E3D 5E3F 5E40 5E41 5E42
+5E43 5E44 5E45 5E46 5E47 5E49 220FC 5E48 5E7E 5EBD
+5EBF 5EC0 5EC1 5EC2 5EC3 5ECA 5EC4 5F11 5F3A 5F3B
+5F3C 5F3D 5F3E 5F58 5F6D 5F9A 5FA5 5FA6 5FA7 5FA8
+5FA9 5FAA 5FAB 22530 60B2 60B3 60B6 60B9 60C1 60C4
+60C9 60CC 60CE 60D1 60D2 60D6 60E0 60E1 60E2 60E3
+60E5 60E9 60EA 60EB 3961 3962 3965 60F0 60F1 60F2
+60F4 60F5 60F6 60F8 60FA 60FB 60FC 60FD 60FE 60FF
+6100 6103 6104 6105 6107 6109 610A 610B 610C 610E
+6110 6111 6112 6113 6114 6115 6116 6118 611C 611D
+611E 6120 6121 6122 6123 6124 6125 6126 6168 2272A
+22775 22781 39B8 621E 621F 6249 624A 638C
+6394 63A3 63B0 63B1 3A17 3A18 63BE 63BF 63C0 63C1
+63C2 63C3 63C4 63C6 63C7 63C8 63C9 63CA 63CB 63CC
+63CD 63CE 63CF 63D0 63D1 63D2 63D3 63D4 63D5 63D6
+63D7 63D8 63D9 63DA 63DB 63DC 63DD 63DE 63DF 63E0
+63E1 63E2 63E3 63E5 63E6 63E8 63E9 63EA 63EC 63ED
+63EE 63EF 63F0 63F2 63F3 63F4 63F5 63F6 63F7 63F8
+63F9 63FA 63FB 63FC 63FD 63FE 63FF 6400 6401 6402
+6403 6404 6405 6452 22C26 22C27 22C38 22C4C 22C51 22C55
+6461 6532 3A8F 3A90 3A97 655C 655E 655F 6560 6561
+6562 6563 6564 6565 6566 6567 6568 6569 656A 22F74
+658C 6590 6591 3AB8 659D 2307D 2307E 659E 3AC0 65AE
+65AF 65B1 65D0 65D1 23103 3AFB 3B00 666A 666B 666C
+666D 666E 666F 6670 6671 6672 6673 6674
+6675 6676 6677 6679 667A 667B 667C 667D 667E 667F
+6680 6681 6682 6683 6691 231F7 231F8 231F9 2320F 66FE
+66FF 6701 6702 3B38 671C 671D 671E 671F 68B4 3B76
+3B78 3B79 3B7A 3B7B 3B7C 3B7D 3B7E 3B7F 3B80 68C3
+68C4 68C5 68C6 68C7 68C8 68C9 68CA 68CB 68CC 68CD
+68CE 68CF 68D0 68D1 68D2 68D3 68D4 68D5 68D6 68D7
+68D8 68D9 68DA 68DB 68DC 68DD 68DE 68DF 68E0 68E1
+68E2 68E3 68E4 68E5 68E6 68E7 68E8 68E9 68EA 68EB
+68EC 68ED 68EE 68EF 68F0 68F1 68F2 68F3 68F4 68F5
+68F6 68F7 68F8 68F9 68FA 68FB 68FC 68FD 68FE 68FF
+6900 6901 6902 6903 6904 6905 6906 6907 6908 6909
+690A 690B 690C 690D 690E 690F 6910 6911 6912 6913
+6914 6915 6916 6917 6918 6919 691A 691B
+691C 691D 691E 691F 6920 6921 6922 6923 6924 6925
+6926 6927 6928 6929 692A 692B 692C 692D 692E 234E5
+23519 23530 696E 6970 6B39 6B3A 6B3B 6B3C 6B3D 6B3E
+6B3F 6B6E 6B6F 3C64 3C66 3C68 3C69 6B94 6B95 6B96
+6B97 6B98 6B99 6B9A 6BBC 6BBD 6BBE 6BEF 6BF0 6BF1
+6BF2 6BF3 6BF4 6BF5 6BF6 6C2C 6C2D 6C2E 6C2F 6C30
+6DFC 6DFE 3D13 3D1D 3D20 3D22 6E03 6E18 6E19 6E1B
+6E1C 6E1D 6E1E 6E1F 6E20 6E21 6E22 6E23 6E24 6E25
+6E26 6E27 6E28 6E29 6E2A 6E2B 6E2C 6E2D 6E2E 6E2F
+6E30 6E31 6E32 6E33 6E34 6E35 6E36 6E37 6E38 6E39
+6E3A 6E3B 6E3C 6E3D 6E3E 6E3F 6E40 6E41 6E42 6E43
+6E44 6E45 6E46 6E47 6E48 6E49 6E4A 6E4B 6E4C 6E4D
+6E4E 6E4F 6E50 6E51 6E52 6E53 6E54 6E55
+6E56 6E57 6E58 6E59 6E5A 6E5B 6E5C 6E5D 6E5E 6E5F
+6E60 6E61 6E62 6E63 6E64 6E65 6E66 6E67 6E68 6E69
+6E6A 6E6B 6E6D 6E6E 6E6F 6E70 6E71 6E72 6E73 6E75
+6E76 6E77 6E78 6E79 6E7A 6E7B 6E7C 6E7D 6E7E 6E7F
+6E80 6E81 6E82 6E83 6E84 6E85 6E86 6E87 6E88 6E89
+6E8A 6E8B 6E8C 6ECB 6EDE 23E11 23E2C 23E2D 23E2E 23E2F
+23E30 23E31 23E39 70FB 3DC6 3DC7 3DC9 3DCC 3DCD 7119
+711A 711B 711C 711D 711E 711F 7120 7121 7122 7123
+7124 7125 7126 7127 7128 7129 712A 712B 712C 712D
+712E 712F 7130 7131 7132 7133 7134 7135 7136 7137
+7138 7139 713A 713B 713C 713D 713E 713F 7140 716E
+24276 24277 24278 24284 24293 24295 242A5 7232 724B 724C
+724D 245C8 725A 3E43 7280 7282 7283 7284
+7285 7286 7287 7288 7289 728A 728B 24674 7306 730B
+730C 7312 732B 7322 7323 7324 7325 7326 7327 7328
+7329 732C 732D 732F 7330 7331 7332 7333 7334 7335
+7336 7338 7339 247E0 3ED1 3ED6 3EDA 3EDB 73F7 7414
+7415 7416 7417 7418 7419 741A 741B 741C 741D 741F
+7420 7421 7422 7423 7424 7425 7426 7428 7429 742A
+742B 742C 742D 742E 742F 7430 7431 7432 7433 7434
+7435 7436 7437 7438 7439 743A 743B 743C 2497B 2497F
+24982 24988 24989 2498A 2498B 2498C 2498D 2498E 2498F 24994
+249A4 249A7 249A9 249AB 249AC 249AD 74F9 74FA 74FB 74FC
+7524 7525 7526 752F 24C09 756A 756B 756C 756D 756E
+756F 7572 7573 7574 7571 758E 758F 3F93 3F98 75D7
+75D8 75D9 75DA 75DB 75DC 75DD 75DE 75DF
+75E0 75E1 75E2 75E3 75E4 75E5 75E6 75E7 75E8 75E9
+75EA 75EB 24DB8 767B 767C 7692 7693 7694 7695 7696
+76B3 76B4 4003 76D9 76DA 76DC 4039 4040 7742 7743
+7744 7745 7746 7747 7748 7749 774A 774B 774C 774D
+774E 774F 7750 7751 77DE 77DF 77EC 77ED 785C 785D
+785E 785F 7860 7861 7862 7863 7864 7865 7866 7867
+7868 7869 786A 786B 786C 786D 786E 786F 7870 7871
+7872 7873 7874 7875 7876 7877 4109 7966 7970 7971
+7972 7973 7974 7975 7976 7977 7978 7984 25695 79BC
+79FF 7A00 7A01 7A02 7A03 7A04 7A05 7A07 7A08 7A09
+7A0A 7A0B 7A0C 7A0D 7A0E 257C7 7A96 7A97 7A98 7A99
+7A9B 7A9C 7A9D 7AE2 7AE3 7AE4 7AE5 7AE6 7AE7 41ED
+41EE 41EF 7B3F 7B40 7B41 7B42 7B43 7B44
+7B45 7B46 7B47 7B48 7B49 7B4A 7B4B 7B4C 7B4D 7B4E
+7B4F 7B50 7B51 7B52 7B53 7B54 7B55 7B56 7B57 7B58
+7B59 7B5A 7B5B 7B5C 7B5D 7B6C 4283 7C9E 7C9F 7CA0
+7CA1 7CA2 7CA4 7CA5 7CA6 7CA7 7CA8 7CA9 7CAA 7CAB
+7CAC 7CAD 7D2A 7D2B 7D4D 7D4E 7D4F 7D50 7D51 7D52
+7D53 7D54 7D55 7D56 7D57 7D58 7D59 7D5A 7D5C 7D5D
+7D5E 7D5F 7D60 7D61 7D62 7D63 7D64 7D65 7D66 7D67
+7D68 7D69 7D6A 7D6B 7D6C 7D6D 7D6E 7D6F 7D70 7D71
+7D72 7D73 7D74 7D75 7D76 7D77 7D7E 433B 7F02 7F03
+7F04 7F05 7F06 7F07 7F08 7F09 7F0A 7F0B 7F0C 7F0D
+7F0E 7F0F 7F10 7F11 7F12 7F13 7F14 7F15 7F16 7F17
+7F18 7F3E 7F3F 7F40 7F64 7F65 7F66 436E 436F 7FA0
+7FA1 7FA2 7FD3 7FD4 7FD5 7FD6 7FD7 7FD8
+7FD9 7FDA 800B 8020 804E 804F 8050 8051 8052 8053
+8054 8060 26572 80D4 80FE 8114 8120 3B39 4400 4401
+4402 8139 813A 813B 813C 813D 813E 813F 8140 8141
+8142 8143 8144 8145 8146 8147 8148 8149 814A 814B
+814C 814D 814E 814F 8151 8152 8153 8154 8155 8156
+8157 8158 8159 815A 26716 26741 8174 81E6 81EE 81EF
+81F0 26911 81F5 81F6 81F7 81F8 81F9 8203 8204 8212
+821C 823C 823D 823E 823F 26A34 8275 44B0 44B7 44C0
+8312 833B 8346 839A 83BE 83BF 83C0 83C1 83C2 83C3
+83C4 83C5 83C6 83C7 83C8 83C9 83CA 83CB 83CC 83CD
+83CE 83CF 83D0 83D1 83D2 83D3 83D4 83D5 83D6 83D7
+83D8 83DA 83DB 83DC 83DD 83DE 83DF 83E0 83E1 83E2
+83E3 83E4 83E5 83E6 83E7 83E8 83E9 83EA
+83EB 83EC 83ED 83EE 83EF 83F0 83F1 83F2 83F3 83F4
+83F5 83F6 83F7 83F8 83F9 83FA 83FB 83FC 83FD 83FE
+83FF 8400 8401 8402 8403 8404 8405 8406 8407 8408
+8409 840A 840B 840C 840D 840E 840F 8410 8411 8412
+8413 8414 8415 8416 8417 8418 8419 841A 841B 841C
+841D 841E 841F 8420 8421 8422 8423 8424 8426 8427
+8457 26C40 26C7E 26C7F 26C80 26C81 26C82 26CA4 26CB7 26CB8
+26CBD 26CC0 8438 865B 865D 45AD 45AF 8688 86D0 86D1
+86D2 86D3 86D4 86D5 86D7 86D8 86D9 86DA 86DB 86DC
+86DD 86DE 86DF 86E0 86E1 86E2 86E3 86E4 86E5 86E6
+86E7 86E8 86E9 86EA 86EB 86EC 86ED 86EE 86EF 86F0
+86F1 86F2 86F3 86F4 272B2 272B6 8846 8847 8848 8849
+8855 8856 8857 88B1 88B2 88B3 88B4 88B5
+88B6 88B7 88B8 88B9 88BA 88BB 88BC 88BD 88BE 88BF
+88C0 88C1 88C2 88C3 88C4 88C5 88C6 88C7 88C8 88C9
+88D7 27694 8901 8983 8984 8999 8995 8997 8998 899A
+89CC 89CD 89DA 89DB 89DD 89DE 46CF 46D0 8A34 8A35
+8A36 8A37 8A38 8A39 8A3A 8A3B 8A3C 8A3D 8A40 8A41
+8A42 8A43 8A44 8A45 8A46 8A47 8A48 8A49 8A4A 8A4B
+8A4C 8A4D 8A4E 8A4F 8A50 8A51 8A52 8A53 8A54 8A55
+8A56 8A57 8A58 8A59 8A5A 8A5B 8A5C 8A5D 8A5E 8A5F
+8A60 279A0 8C1F 8C20 8C21 8C22 8C23 8C24 8C25 8C26
+8C27 4748 8C5E 8C5F 8C60 8C61 8C7E 8C7F 8C80 8C81
+8C82 8C83 8CAF 8CB0 8CB1 8CB3 8CB4 8CB5 8CB6 8CB7
+8CB8 8CB9 8CBA 8CBB 8CBC 8CBD 8CBE 8CBF 8CC0 8CC1
+27D53 27D54 8D4B 8D4C 8D4D 8D4E 8D4F 8D50
+8D51 8D52 8D53 8D54 8D55 47A1 47A3 8D80 8D81 8D82
+8D83 8D84 8D85 8D86 8D87 8D88 8D89 8D8A 8D8B 47ED
+8DC5 8DC6 8DC7 8DC8 8DC9 8DCA 8DCB 8DCC 8DCD 8DCE
+8DCF 8DD1 8DD2 8DD3 8DD4 8DD5 8DD6 8DD7 8DD8 8DD9
+8DDA 8DDB 8DDC 8DDD 8DDE 8DF5 27FF9 28002 28009 8EB0
+4852 8EE4 8EE5 8EE6 8EE7 8EE8 8EE9 8EEA 8EEB 8EEC
+8EEE 8EEF 8EF0 8EF1 8EF2 8EF3 8EF4 8EF5 8EF6 8EF7
+8EF8 8EF9 8EFA 8EFB 8EFC 8EFD 282E2 8F87 8F88 8F89
+8F8A 8F8B 8F8C 8F8D 8F8E 8F9C 8F9D 28412 9028 9029
+902A 902B 902C 902D 902E 902F 9030 9031 9032 9033
+9034 9035 9036 9037 9038 9039 903A 903B 2853C 2853D
+90F5 48D0 90F9 90FB 90FC 90FE 90FF 9100 9101 9102
+9103 9104 9105 9106 9107 9108 9109 910A
+912C 48F3 915F 9160 9161 9162 9163 9164 9165 91C9
+91CA 91CF 491E 4920 91FD 91FE 91FF 9200 9201 9202
+9203 9204 9205 9206 9207 9208 9209 920A 920B 920C
+920D 920E 920F 9210 9211 9212 9213 9214 9215 9216
+9217 9218 9219 921A 921B 921C 921D 921E 921F 9220
+9221 9222 9223 9224 9225 9226 9227 9228 9229 922A
+922B 922C 28956 28964 94F8 94F9 94FA 94FB 94FC 94FD
+94FE 94FF 9500 9501 9502 9503 9504 9505 9506 9507
+9508 9509 950A 950B 950C 950D 950E 950F 9510 9511
+9512 9513 9514 9515 957B 958B 958C 958D 958E 958F
+9590 9591 9592 9593 9594 9595 9596 9597 9611 9612
+9613 9614 9615 9672 967B 967D 967E 967F 9680 9681
+9682 9683 9684 9685 9686 9687 9688 9689
+968A 968B 968C 968D 968E 9690 28ED9 28EE7 96C1 96C2
+96C3 96C4 96C5 96C6 96C7 96C8 96EC 96ED 96EE 96EF
+96F0 96F1 96F2 96F3 29088 2908B 9753 9754 975F 976B
+976C 976D 976E 976F 9770 9771 97CC 97E9 9805 9806
+9807 9808 9889 988A 988B 988C 988D 988E 988F 98A9
+98AA 2959E 98D3 98E7 98E8 98E9 98EA 98EB 98ED 98EF
+98F0 98F2 9987 9988 998A 998B 99AD 99AE 9A97 9A98
+9A99 9A9A 9A9B 9AA9 9AE0 9C7F 9C80 9C81 9C82 9C83
+9CE6 9E40 9E41 9E42 9E43 9E44 9E45 9E46 9E47 9E48
+9EC3 9EC4 9ECD 9ED1 9EF9 9F0B 9F82
+FDD0-280D
+4E82 4E83 4E84 4EB6 4EB7 347D 347E 50AA 50AB 50AC
+50AD 50AE 50AF 50B0 50B1 50B2 50B3 50B4 50B5 50B6
+50B7 50B8 50B9 50BA 50BB 50BC 50BD 50BE 50BF 50C0
+50C1 50C2 50C3 50C4 50C5 50C6 50C7 50C8 50C9 50CA
+50CB 50CC 50CD 20341 20345 20346 20347 203B5 5161 517E
+517F 51D7 5277 5278 5279 527A 527B 527C 527D 527E
+527F 52DF 52E0 52E1 52E2 52E3 52E4 52E5 52E6 52E7
+3532 3533 3534 532F 5380 5381 53AA 53AB 53AF 53E0
+FA0E 35D2 35D6 35DB 35DD 35E0 558D 55BF 55C0 55C1
+55C2 55C3 55C4 55C5 55C6 55C7 55C8 55C9 55CA 55CB
+55CC 55CD 55CE 55CF 55D0 55D1 55D2 55D3 55D4 55D5
+55D6 55D7 55D8 55D9 55DA 55DB 55DC 55DD 55DF 55E0
+55E1 55E2 55E3 55E4 55E5 55E6 55E7 55E8
+55E9 55EA 55EB 55EC 55ED 55EE 55EF 55F0 55F1 55F2
+55F3 55F4 55F5 20E4C 20E6D 20E73 20E75 20E76 20E77 20E78
+20E79 20E7A 20E7B 20E8C 20E96 20E98 20E9D 20EA2 20EAA 20EAB
+20EAC 20EB6 5711 5712 5713 5714 5715 365F 583D 5843
+5849 584A 584B 584C 584D 584E 584F 5850 5851 5852
+5853 5854 5855 5856 5857 5858 5859 585A 585B 585C
+585D 585E 585F 5860 5861 5862 5863 5864 5865 5866
+5867 5868 5869 586A 586B 586C 586D 586E 586F 5870
+5871 213C5 213C6 58FC 5966 5967 5968 21661 3708 370A
+370D 5A90 5AB0 5AB1 5AB2 5AB3 5AB4 5AB5 5AB6 5AB7
+5AB8 5AB9 5ABA 5ABB 5ABC 5ABD 5ABE 5ABF 5AC0 5AC1
+5AC2 5AC3 5AC4 5AC5 5AC6 5AC7 5AC8 5AC9 5ACA 5ACB
+5ACC 5ACD 5ACE 5AD0 5AD1 5AD2 5AD3 5AD4
+217EF 217F5 217F6 217F8 217F9 217FA 217FB 217FC 5B74 21983
+21988 5B76 3766 5BD6 5BD7 5BD8 5BD9 5BDA 5BDB 5BDC
+5BDD 5C1F 5C20 5C32 5C33 5C34 21CAC 37F2 37F8 5D4A
+5D5E 5D5F 5D60 5D61 5D62 5D63 5D64 5D65 5D66 5D67
+5D68 5D69 5D6A 5D6C 5D6D 5D6E 5D6F 5D70 5D71 5D72
+5D73 5D74 5D75 5D76 21EC8 21ED5 5DF0 5E4A 5E4B 5E4C
+5E4D 5E4E 5E4F 5E79 5EC5 5EC6 5EC7 5EC8 5EC9 5ECB
+5ECC 2227C 5F12 5F3F 5F40 5F41 5F42 5F59 5F5A 22465
+5F6E 5FAC 5FAD 5FAE 5FAF 5FB0 3963 3964 3966 60F3
+60F7 60F9 6101 6102 6106 6108 610D 610F 6117 6119
+611A 611B 611F 6127 6129 612A 612B 612D 612E 612F
+6130 6131 6132 6134 6135 6136 6137 6139 613A 613C
+613D 613E 6140 6143 6144 6145 6146 6149
+614A 614C 614D 614E 614F 6151 227B4 227B5 227CD 6226
+6220 6221 6222 6223 6224 6225 63E7 63EB 63F1 3A20
+3A23 3A26 3A29 3A2A 6406 6407 6408 6409 640A 640B
+640C 640D 640E 640F 6410 6411 6412 6413 6414 6415
+6416 6417 6418 6419 641A 641B 641C 641D 641E 641F
+6420 6421 6422 6423 6424 6425 6426 6427 6428 6429
+642A 642C 642D 642E 642F 6430 6432 6433 6435 6436
+6437 6438 6439 643A 643C 643D 643E 6440 6441 6442
+6443 6444 6445 6446 6447 6448 6449 644A 22C62 22C88
+22C9B 22CA1 22CA9 22CB2 63C5 6431 656D 656B 656C 656E
+656F 6570 6592 295B0 659F 65B0 65D2 65D3 65D4 65D5
+65E4 6678 3B01 3B02 3B03 3B04 3B05 3B06 3B07 3B08
+3B09 3B0A 3B0B 3B0C 6684 6685 6686 6687
+6688 6689 668A 668B 668C 668D 668E 668F 6690 6692
+6693 6694 6695 6696 6697 6698 6699 23225 2322F 23231
+23232 23233 23234 6703 6720 6721 3B96 3B99 692F 6930
+6931 6932 6933 6934 6935 6936 6937 6938 6939 693A
+693B 693C 693D 693E 693F 6940 6941 6942 6943 6944
+6945 6946 6947 6948 6949 694A 694B 694C 694D 694E
+694F 6950 6951 6952 6953 6954 6955 6957 6958 6959
+695A 695B 695C 695D 695E 695F 6960 6961 6962 6963
+6964 6965 6966 6967 6968 6969 696A 696B 696C 696D
+696F 6971 6972 6973 6974 6975 6976 6977 6978 6979
+697A 697B 697C 697D 697E 697F 6980 6981 6982 6983
+6984 6985 6986 6987 6988 6989 698B 698C 6994 6998
+FA13 2355A 23567 23595 23599 2359C 3C3C 3C3E
+6B40 6B41 6B42 6B43 6B44 6B45 6B46 6B47 6B48 6B71
+6B72 6B73 3C6E 6B9B 6B9C 6BBF 6BC0 6BC1 6BC2 23AA7
+6BD3 6BF7 6BF8 6BF9 6BFA 6BFB 6BFC 6BFD 6C31 6E6C
+3D26 3D32 3D33 3D3B 6E8D 6E8E 6E8F 6E90 6E91 6E92
+6E93 6E94 6E95 6E96 6E97 6E98 6E99 6E9A 6E9B 6E9C
+6E9D 6E9E 6E9F 6EA0 6EA1 6EA2 6EA3 6EA4 6EA5 6EA6
+6EA7 6EA8 6EA9 6EAA 6EAB 6EAC 6EAD 6EAE 6EAF 6EB0
+6EB1 6EB2 6EB3 6EB4 6EB5 6EB6 6EB7 6EB8 6EB9 6EBA
+6EBB 6EBC 6EBD 6EBE 6EBF 6EC0 6EC1 6EC2 6EC3 6EC4
+6EC5 6EC6 6EC7 6EC8 6EC9 6ECA 6ECD 6ECF 6ED0 6ED1
+6ED2 6ED3 6ED4 6ED6 6ED7 6ED8 6ED9 6EDB 6EDC 6EDD
+6EDF 6EE0 6EE1 6EE2 6EE3 6EE4 6EE5 6EE6 6EE7 6EE8
+6EE9 6EEA 6F13 23E88 23E89 23E8A 23E8B 23EB9
+23EBF 6EDA 3BA1 3DD3 3DDB 7141 7142 7143 7144 7145
+7146 7147 7148 7149 714A 714B 714C 714D 714E 714F
+7150 7151 7152 7153 7154 7156 7157 7158 7159 715A
+715C 715D 715E 715F 7160 7161 7162 7163 7164 7165
+7166 7167 7168 7169 716A 716B 716C 716D 716F 7170
+7171 7172 7173 7174 7175 7176 7177 7178 717A 242C1
+242C9 242CA 242EE 242FA 24521 723A 7243 724E 724F 7250
+7251 7252 3E48 728C 728D 728E 728F 7290 7291 24697
+732E 7337 7341 733A 733B 733C 733D 733E 733F 7340
+7342 7345 7346 7347 7348 7349 734A 24812 24823 3ED7
+7427 3EDE 3EE1 3EE2 741E 743D 743E 743F 7440 7441
+7442 7443 7444 7445 7446 7447 7448 7449 744A 744B
+744C 744D 744E 744F 7450 7451 7452 7453
+7454 7455 7456 7457 7458 7459 745A 745B 745C 745D
+745E 745F 249B7 249B8 249B9 249BA 249BB 249C5 249D0 249DA
+249DE 249DF 249E3 249E5 746F 74E1 74FD 74FE 74FF 7501
+751D 751E 3F63 7575 7576 7577 7578 7579 757A 24C9E
+24C9F 75EC 75ED 75EE 75EF 75F0 75F1 75F2 75F3 75F4
+75F5 75F6 75F7 75F8 75F9 75FA 75FB 75FC 75FD 75FE
+75FF 7600 7601 7602 7603 7604 7605 7606 24DEA 24DEB
+760F 7610 7697 7698 7699 24F82 24F86 76B5 4004 76DD
+76DE 76DF 4045 7752 7753 7754 7755 7756 7757 7758
+7759 775A 775B 775C 775D 775E 775F 7760 7762 7763
+7764 7765 7766 7767 7768 7769 776A 776B 776C 776D
+251CD 251E3 251E6 251E7 7761 7779 77E0 77EE 40BB 40BF
+7878 7879 787A 787B 787C 787D 787F 7880
+7881 7882 7883 7884 7885 7886 7887 7888 7889 788A
+788B 788C 788D 788E 788F 7890 7891 7892 7893 7894
+7895 7896 7897 7898 7899 789A 789B 789C 78B0 410E
+7979 797A 797B 797C 797D 797E 797F 7980 7981 7982
+7983 7985 7986 79BD 842C 7A0F 7A10 7A11 7A12 7A13
+7A14 7A15 7A16 7A17 7A18 7A19 7A1A 7A1B 7A1C 7A1D
+7A1E 7A1F 7A20 7A21 7A22 7A23 7A24 7A25 257DF 257E0
+257E1 7A9E 7A9F 7AA0 7AA1 7AA2 7AA3 7AA4 7AA5 7AA6
+7AA7 259AC 41CF 7AE8 7AE9 7AEA 7AEB 25A95 41F8 41F9
+41FB 41FC 41FD 41FE 41FF 4200 7B5E 7B5F 7B60 7B61
+7B62 7B63 7B64 7B65 7B66 7B67 7B68 7B69 7B6A 7B6B
+7B6D 7B6E 7B6F 7B70 7B71 7B72 7B73 7B74 7B76 7B77
+7B78 7B79 7B7A 7B7B 7B7C 7B7D 7B7E 7B7F
+7B80 7BC0 25B74 25B89 428C 7CAE 7CAF 7CB0 7CB1 7CB2
+7CB3 7CB4 7CB5 7CC0 25E81 25E82 25E83 7D5B 7D78 7D79
+7D7A 7D7B 7D7C 7D7D 7D7F 7D80 7D81 7D82 7D83 7D84
+7D85 7D86 7D87 7D88 7D89 7D8A 7D8B 7D8C 7D8D 7D8E
+7D8F 7D90 7D91 7D92 7D93 7D94 7D95 7D97 7D98 7D99
+7D9A 7D9B 26029 7F19 7F1A 7F1B 7F1C 7F1D 7F1E 7F1F
+7F20 7F21 7F22 7F23 7F24 7F67 7F68 7F69 7F6A 7F6B
+7F6C 7F6D 7F6E 7F72 262D0 7FA3 7FA4 7FA5 7FA6 7FA7
+7FA8 7FA9 7FAA 7FDB 7FDC 7FDD 8021 8022 8055 8056
+8057 8058 8084 8085 8086 4413 5E50 815B 815C 815D
+815E 815F 8160 8161 8162 8163 8164 8165 8166 8167
+8168 8169 816A 816B 816C 816D 816E 816F 8170 8171
+8172 8173 8175 8176 8177 8178 8179 817A
+817B 817C 817D 817E 8205 821D 8240 8241 8242 8243
+8244 8245 8246 8247 8248 8249 26A42 44C5 44CE 83BB
+83D9 8425 8428 8429 842A 842B 842D 842E 842F 8430
+8431 8432 8433 8434 8435 8436 8437 8439 843A 843B
+843C 843D 843E 843F 8440 8441 8442 8443 8444 8445
+8446 8447 8448 8449 844A 844B 844C 844D 844E 844F
+8450 8451 8452 8453 8454 8455 8456 8458 8459 845A
+845B 845C 845D 845E 845F 8460 8461 8462 8463 8464
+8465 8466 8467 8468 8469 846A 846B 846C 846D 846E
+846F 8470 8471 8472 8473 8474 8475 8476 8477 8478
+8479 847A 847B 847C 847D 847E 847F 8480 8481 8482
+8483 8484 8485 8486 8487 8488 8489 848B 848C 848D
+848E 848F 26CC3 26CD1 26D22 26D23 26D24 26D25
+26D26 26D27 26D28 26D29 26D2A 26D51 84C5 84C8 84F1 8507
+865C 865E 865F 86D6 86F5 86F6 86F7 86F8 86F9 86FA
+86FB 86FC 86FD 86FE 86FF 8700 8701 8702 8703 8704
+8705 8706 8707 8708 8709 870A 870B 870C 870D 870E
+870F 8710 8713 8714 8715 8716 8717 8746 272E6 874D
+8858 8859 88CA 88CB 88CC 88CD 88CE 88CF 88D0 88D1
+88D2 88D3 88D4 88D5 88D6 88D8 88D9 88DA 88DB 88DC
+88DD 88DE 88DF 88E0 88E1 88E3 88E4 88E5 8985 4680
+899B 899C 89CE 89DC 89DF 89E0 89E1 89E2 89E3 89E4
+89E5 89E6 89E7 8A3E 8A3F 8A61 8A62 8A63 8A64 8A65
+8A66 8A67 8A68 8A69 8A6A 8A6B 8A6C 8A6D 8A6E 8A6F
+8A70 8A71 8A72 8A73 8A74 8A75 8A76 8A77 8A78 8A79
+8A7A 8A7B 8A7C 8A7D 8A7E 8A7F 8A80 8A81
+8A82 8A83 8A84 8A85 8A86 8A87 8A88 8A89 8A8A 8AA0
+279DD 8C28 8C29 8C2A 8C2B 8C2C 8C3C 8C4A 8C4B 8C62
+8C63 8C64 8C65 8C66 8C84 8C85 8C86 8C87 8C88 8C89
+8C8A 8CB2 8CC2 8CC3 8CC4 8CC5 8CC6 8CC7 8CC8 8CC9
+8CCA 8CCB 8CCC 8CCD 8CCE 27D66 27D73 27D84 8D56 8D57
+8D68 8D69 8D6A 47A6 8D8C 8D8D 8D8E 8D8F 8D90 8D91
+8D92 8D93 8D94 8DD0 8DBC 8DDF 8DE0 8DE1 8DE2 8DE3
+8DE4 8DE5 8DE6 8DE7 8DE8 8DE9 8DEA 8DEB 8DEC 8DED
+8DEE 8DEF 8DF0 8DF1 8DF2 8DF3 8DF4 8DF6 8DF7 8DF8
+8DF9 8DFA 8DFB 2801E 28023 28024 4837 8EB1 8EB2 8EED
+8EFE 8EFF 8F00 8F01 8F02 8F03 8F04 8F05 8F06 8F07
+8F08 8F09 8F0A 8F0B 8F0C 8F8F 8F90 8F91 8F92 8F93
+8F94 8F9E 8F9F 8FA0 8FB2 903C 903D 903E
+903F 9040 9041 9042 9043 9044 9045 9046 9047 9048
+9049 904A 904B 904C 904D 904E 904F 9050 9051 9052
+9053 9054 9055 9056 9057 2856C 90CC 910B 910C 910D
+910E 910F 9110 9111 9112 9113 9114 9115 9116 9117
+9166 9167 9168 9169 916A 916B 916C 916D 916E 916F
+9170 9171 2882B 922E 922F 9230 9231 9232 9233 9234
+9235 9236 9237 9238 9239 923A 923B 923C 923D 923E
+923F 9240 9241 9242 9243 9244 9245 9246 9247 9248
+9249 924A 924B 924C 924D 924E 924F 9250 9251 9252
+9253 9254 9255 9256 9257 9258 9259 925A 925B 925C
+925D 925E 925F 9260 9261 9262 9263 9264 9265 9266
+9267 9268 9269 926A 926B 926C 926D 926E 926F 9270
+9271 9272 9273 9274 928F 28968 2896C 2897E
+9516 9517 9518 9519 951A 951B 951C 951D 951E 951F
+9520 9521 9522 9523 9524 9525 9526 9527 9528 9529
+952A 952B 952C 952D 952E 952F 9530 9531 4989 9598
+9599 959A 959B 959C 959D 959E 959F 95A0 9616 9617
+9618 9619 968F 49DF 9691 9692 9693 9694 9695 9696
+9697 9698 FA29 96C9 96CA 96CB 96CD 96CE 96CF 96F4
+96F5 96F6 96F7 96F8 96F9 96FA 96FB 96FC 96FD 96FE
+29093 9755 9756 9772 9773 9774 9775 9776 9777 9778
+9779 97EA 97EB 97EE 97F4 97F5 9809 4AB4 980A 980B
+980C 980D 980E 980F 9810 9811 9812 9813 9890 9891
+9892 9893 9894 9895 9896 98AB 98AC 98D4 4B26 98EC
+98EE 98F1 98F3 98F4 98F5 98F6 98F7 98F9 98FB 98FC
+98FD 98FE 98FF 9989 998C 998D 998E 998F
+9990 999A 99AF 99B0 99B1 99B2 99B3 99B4 99B5 9A9C
+9A9D 9A9E 9A9F 9AAA 9AAB 9AAC 9AAD 9AAE 29A28 9AE1
+9AE2 9B3D 9B5B 9B5C 9B5D 9B5E 9C84 9C85 9C86 9C87
+9C88 9C89 9C8A 9C8B 9C8C 9C8D 9C8E 9C8F 9C90 9CE7
+9CE8 9CE9 9CEA 9CEB 9CED 9CEE 9CEF 9CF0 9E49 9E4A
+9E4B 9E4C 9E4D 9E4E 9E4F 9E50 9E51 9E52 9E53 9E54
+9E80 9E81 9E82 2A2FF 9EFD 9F0C 9F0E 9F13 9F14 9F20
+9F83 9F84 9F85 9F86
+FDD0-280E
+2004E 221A1 50CE 50CF 50D0 50D1 50D2 50D3 50D4 50D5
+50D6 50D7 50D8 50D9 50DA 50DB 50DC 50DD 50DE 50DF
+50E0 50E1 50E2 50E3 50E4 50E5 50E6 50E7 50E8 50E9
+50EA 50EB 50EC 50ED 50EE 50EF 50F0 50F1 50F3 50F4
+50F7 2037E 2037F 20380 203A0 203A7 50F2 5162 51A9 51D8
+51F3 51F4 3500 3504 3506 5280 5281 5282 5283 5284
+3522 52E8 52E9 52EA 52EB 52EC 52ED 3535 5330 5331
+5332 3551 53AC 53AD 53AE 53B0 53C6 20B0D 3561 55F6
+55F7 55F8 55F9 55FA 55FB 55FC 55FD 55FE 55FF 5600
+5601 5602 5603 5604 5605 5606 5607 5608 5609 560A
+560B 560C 560D 560E 560F 5610 5611 5612 5613 5614
+5615 5616 5617 5618 5619 561A 561B 561C 561D 561E
+5621 5622 5623 5624 5625 5626 5627 5651
+20ED7 20ED8 20EDD 20EF8 20EF9 20EFA 20EFB 20F1D 20F26 20F2D
+20F2E 20F30 20F31 20F3B 20F4C 561F 5628 5716 5717 5718
+5719 3665 3666 5872 5873 5874 5875 5876 5877 5878
+5879 587A 587B 587C 587D 587E 587F 5881 5882 5883
+5884 5885 5886 5887 5888 5889 588A 588B 588C 588D
+588E 588F 5890 5891 5892 5893 5894 5895 5896 5897
+5898 5899 589A 589B 213ED 213FE 21413 21416 58AD 58FD
+58FE 5910 5922 5923 5924 5925 5969 596A 596B 596C
+371C 371E 3720 3722 5AD5 5AD6 5AD7 5AD8 5AD9 5ADA
+5ADB 5ADC 5ADD 5ADE 5ADF 5AE0 5AE1 5AE2 5AE3 5AE4
+5AE5 5AE6 5AE7 5AE8 5AE9 5AEA 5AEB 5AEC 5AED 5AEE
+5AEF 5AF0 5AF1 5AF2 21820 21828 21829 2182A 2182D 21839
+2183A 2183B 21840 21845 5AF3 5B75 5B77 21996
+5BDE 5BDF 5BE0 5BE1 5BE2 5BE3 5BE4 5BE5 5BE6 5BE7
+5BE8 5C0D 5C21 5C62 5C63 37FB 3800 3801 3804 5D77
+5D78 5D79 5D7A 5D7B 5D7C 5D7D 5D7E 5D7F 5D80 5D81
+5D82 5D83 5D84 5D85 5D86 5D87 5D88 5D89 5D8A 5D8B
+5D8C 5D8D 5D8E 5E51 5E52 5E53 5E54 5E55 5E56 5E57
+5E58 5E59 5E5B 2212A 5E63 5ECD 5ECE 5ECF 5ED0 5ED1
+5ED2 5ED3 5ED4 5ED5 5ED6 5ED7 5ED8 5ED9 5EDC 5F0A
+38C3 5F43 5F44 5F45 5F46 38D1 5F6F 5F70 5FB1 5FB3
+5FB4 22554 5FB6 6128 612C 6133 6138 613B 613F 6141
+6142 6147 6148 614B 6150 3980 6152 6153 6154 6156
+6158 615A 615B 615E 615F 6160 6161 6162 6163 6165
+6169 616A 616C 616F 6171 6172 6173 6174 6175 6177
+617A 617B 617D 6180 6181 6186 6188 22803
+6227 6228 6229 622A 622B 622C 642B 6434 643B 643F
+3A2F 3A31 3A32 3A33 3A34 3A35 3A36 3A37 3A38 3A39
+644B 644C 644D 644E 644F 6450 6451 6453 6454 6455
+6457 6458 6459 645A 645B 645C 645D 645E 645F 6460
+6462 6463 6464 6465 6466 6467 646A 646B 646C 646D
+6471 6472 6473 6474 6475 6476 6477 6478 647A 647B
+647C 647D 647E 647F 6481 6482 6484 6487 22CB7 22CC2
+22CC6 22CC9 22D07 22D08 22D12 6456 64A6 6571 6572 6573
+65A0 65A1 65B2 230B7 65D6 65D7 3B0D 3B0E 3B0F 3B10
+669A 669B 669C 669D 669E 669F 66A0 66A1 66A2 66A3
+66A4 66A5 66A6 66A7 66A8 23262 6704 6705 3B3A 3B3B
+6722 3BBC 698A 698D 698E 698F 6990 6991 6992 6993
+6995 6996 6997 6999 699A 699B 699C 699D
+699E 699F 69A0 69A1 69A2 69A3 69A4 69A5 69A6 69A7
+69A8 69A9 69AA 69AB 69AC 69AD 69AE 69AF 69B0 69B1
+69B2 69B3 69B4 69B5 69B6 69B7 69B8 69B9 69BA 69BB
+69BC 69BD 69BE 69BF 69C0 69C1 69C2 69C3 69C4 69C5
+69C6 69C7 69C8 69C9 69CA 69CB 69CC 69CD 69CE 69CF
+69D0 69D1 69D2 69D3 69D4 69D5 69D6 69D7 69D8 69D9
+69DA 69DB 69DC 69DD 69DE 69DF 69E0 69E1 6A2E FA14
+235CD 235CE 235CF 235F3 23600 6A03 6B49 6B4A 6B4B 6B4C
+6B4D 6B70 6B74 6B9D 6B9E 6B9F 6BA0 6BA1 6BC3 6BC4
+23AFA 6BFE 6C32 6C33 6ECE 3D3D 3D46 6ECC 6EEB 6EEC
+6EED 6EEE 6EEF 6EF0 6EF1 6EF2 6EF3 6EF4 6EF5 6EF6
+6EF7 6EF8 6EF9 6EFA 6EFB 6EFC 6EFD 6EFE 6EFF 6F01
+6F02 6F03 6F04 6F05 6F06 6F07 6F08 6F09
+6F0A 6F0C 6F0D 6F0E 6F0F 6F11 6F12 6F14 6F15 6F16
+6F17 6F18 6F19 6F1A 6F1B 6F1C 6F1D 6F1E 6F1F 6F20
+6F21 6F22 6F23 6F24 6F25 6F27 6F28 6F29 6F2A 6F2B
+6F2C 6F2D 6F2E 6F2F 6F30 6F31 6F32 6F33 6F34 6F35
+6F36 6F37 6F38 6F39 6F3A 6F3B 6F3C 6F3E 6F40 6F42
+6F43 6F44 6F45 6F46 6F47 6F48 6F49 6F4A 6F4B 6F4C
+6F4D 23ED7 23EF7 23EF8 23EF9 23EFA 23EFB 23EFC 23F35 23F41
+6F4E 6F73 7155 715B 3DE7 3DE8 7179 717B 717C 717D
+717E 717F 7180 7181 7182 7183 7184 7185 7186 7187
+7188 7189 718A 718B 718C 718D 718E 718F 7190 7191
+7192 7193 7194 7195 7196 7197 7198 7199 84B8 2430D
+2431A 24334 24348 7233 723E 7244 3E22 7253 7254 7292
+7293 7294 7295 7296 7297 7353 7343 7344
+734C 734D 734F 7350 7351 7352 7354 7355 3EE7 3EE9
+7460 7461 7462 7463 7464 7465 7466 7467 7468 746A
+746B 746D 746E 7470 7471 7472 7473 7474 7475 7476
+7477 7478 249EC 249ED 249F6 249F7 249F8 249F9 249FB 24A0E
+24A12 24A13 7500 7502 7503 7504 7505 7506 24B6E 7527
+757B 757C 757D 7590 7591 7607 7608 7609 760A 760B
+760C 760D 760E 7611 7612 7613 7614 7615 7616 7617
+7618 7627 76B6 76B7 76B8 76B9 76E0 76E1 76E2 76E3
+4053 776E 776F 7770 7771 7772 7773 7774 7775 7776
+7777 7778 777A 777B 777C 777D 777E 777F 7780 7781
+7782 7783 7784 7785 7786 25220 25221 40C8 787E 789D
+789E 789F 78A0 78A1 78A2 78A3 78A4 78A5 78A6 78A7
+78A8 78A9 78AA 78AB 78AC 78AD 78AE 78AF
+78B1 78B2 78B3 78B4 78B5 78B6 78B7 78B8 78B9 78C1
+7987 7988 7989 798A 798B 798C 798D 798E 798F 7990
+7991 7992 7993 7994 7995 7996 7997 7998 7999 4167
+7A26 7A27 7A28 7A29 7A2A 7A2B 7A2C 7A2D 7A2E 7A2F
+7A30 7A31 7A32 7A33 7A4A 7A35 7AA8 7AA9 7AAA 7AAB
+7AAC 7AAD 259CC 7AEC 7AED 7AEF 7AF0 25A9C 7AEE 7B75
+4201 4202 4203 4204 4205 4206 4207 4208 4209 420A
+420B 420C 420D 7B81 7B82 7B83 7B84 7B85 7B86 7B87
+7B88 7B89 7B8A 7B8B 7B8C 7B8D 7B8E 7B8F 7B90 7B91
+7B92 7B93 7B94 7B95 7B96 7B97 7B98 7B99 7B9A 7B9B
+7B9C 7B9D 7B9E 7B9F 7BA0 7BA1 7BA2 7BA3 7BA4 7BA5
+7BA6 7BA7 7BA8 7BA9 7BAA 7BAB 25BB3 25BB4 25BC6 7BB8
+7CB6 7CB7 7CB8 7CB9 7CBA 7CBB 7CBC 7CBD
+7CBE 7CBF 7CC1 25EA6 25EBC 7D96 7DD0 42E8 42E9 42EC
+42ED 42F1 7D9C 7D9D 7D9E 7D9F 7DA0 7DA1 7DA2 7DA3
+7DA4 7DA5 7DA6 7DA7 7DA8 7DA9 7DAA 7DAB 7DAC 7DAD
+7DAE 7DAF 7DB0 7DB1 7DB2 7DB3 7DB4 7DB5 7DB6 7DB7
+7DB8 7DB9 7DBA 7DBB 7DBC 7DBD 7DBE 7DBF 7DC0 7DC1
+7DC2 7DC3 7DC4 7DC5 7DC6 7DC7 7DC8 7DC9 7DCA 7DCB
+7DCC 7DCD 7DCE 7DCF 7DD1 7DD2 7DD4 7DD5 26048 26064
+7F25 7F26 7F27 7F28 7F29 7F2A 7F2B 7F41 7F42 7F6F
+7F70 7F71 7F73 7F74 7FAB 7FDE 7FDF 7FE0 7FE1 7FE2
+7FE3 7FE4 2644A 7FE5 8023 8024 8025 43BA 8059 805A
+805B 805C 805D 805E 805F 8061 8062 8063 265A0 8087
+8088 8150 4420 4425 4426 817F 8180 8181 8182 8183
+8184 8185 8186 8187 8188 8189 818A 818B
+818C 818D 818E 818F 8191 26799 267B3 267B4 267CC 81E7
+81FA 8207 8213 8214 8215 821E 824A 824B 824C 824D
+26A51 26A52 44DD 44DF 44E4 44E9 44EA 44EB 44EC 8490
+8491 8492 8493 8494 8495 8496 8497 8498 8499 849A
+849B 849C 849D 849E 849F 84A0 84A1 84A2 84A3 84A4
+84A5 84A6 84A7 84A8 84A9 84AA 84AB 84AC 84AD 84AE
+84AF 84B0 84B1 84B2 84B3 84B4 84B5 84B6 84B7 84B9
+84BA 84BB 84BC 84BD 84BE 84BF 84C0 84C1 84C2 84C3
+84C4 84C6 84C7 84C9 84CA 84CB 84CC 84CD 84CE 84CF
+84D0 84D1 84D2 84D3 84D4 84D5 84D6 84D7 84D8 84D9
+84DA 84DB 84DC 84DD 84DF 84E1 84E2 84E3 84E4 84E6
+26D74 26DA0 26DA1 26DA2 26DA3 26DA4 26DA5 26DA6 26DA7 26DAE
+26DDC 26DEA 26DEB 26DF0 84E5 8660 8661 271CD
+8711 8712 872B 8718 8719 871A 871B 871C 871D 871E
+871F 8720 8721 8722 8723 8724 8725 8726 8727 8728
+8729 872A 872C 872D 872E 872F 8730 8731 8732 8733
+8734 8735 8736 8737 8738 8739 873A 873B 873C 873D
+873E 873F 8740 8741 8742 8743 8744 8745 8747 8748
+8749 874A 874B 8755 876B 88E2 463B 88E7 88E8 88E9
+88EA 88EB 88EC 88ED 88EE 88EF 88F0 88F1 88F2 88F3
+88F4 88F5 88F6 88F7 88F8 88F9 88FA 88FB 88FC 88FD
+88FE 88FF 8900 8902 8903 8904 891A 899D 899E 899F
+89A0 89A1 89CF 89E8 89E9 89EA 89EB 8A8B 8A8C 8A8D
+8A8E 8A8F 8A90 8A91 8A92 8A93 8A94 8A96 8A97 8A98
+8A99 8A9A 8A9B 8A9C 8A9D 8A9E 8A9F 8AA1 8AA2 8AA3
+8AA4 8AA5 8AA6 8AA7 8AA8 8AA9 8AAA 8AAB
+8AAC 8AAD 8AAE 279FD 27A0A 27A0E 8C2D 8C2E 8C2F 8C30
+8C31 8C32 8C3D 8C67 8C68 8C69 8C6A 8C8B 8C8C 8C8D
+3562 8CCF 8CD0 8CD1 8CD2 8CD3 8CD4 8CD5 8CD6 8CD7
+8CD8 27D8F 27D98 8D58 8D59 8D5A 8D5B 8D6B 8D95 8D96
+8D97 8D98 8D99 8D9A 47F4 8DFC 8DFD 8DFE 8DFF 8E00
+8E01 8E02 8E03 8E04 8E05 8E06 8E07 8E08 8E09 8E0A
+8E0B 8E0C 8E0D 8E0E 28048 8EB3 8EB4 8EB5 8F0D 8F0E
+8F0F 8F10 8F11 8F12 8F13 8F14 8F15 28306 28318 8F95
+8F96 8F97 8FA1 8FA2 8FA3 9058 9059 905A 905B 905C
+905D 905E 905F 9060 9061 9062 9063 9064 9065 90D2
+9118 9119 911A 911B 911C 911D 911E 911F 9120 9121
+9122 9123 9124 9125 48FA 9172 9173 9174 9175 9176
+9177 9178 9179 917A 917B 917C 917D 917E
+917F 922D 4924 4925 4926 492A 9275 9276 9277 9278
+9279 927A 927B 927D 927E 927F 9280 9281 9282 9283
+9284 9285 9286 9287 9288 9289 928A 928B 928C 928D
+928E 9290 9291 9292 9293 9294 9295 9296 9297 9298
+9299 929A 929B 929C 929D 929E 929F 92A0 92A1 92A2
+92A3 92A4 92A5 92A6 92A7 92A8 92A9 92AA 92AB 92AC
+92AD 92AE 92AF 92B0 92B1 28989 289A8 289AA 289AB 92EE
+927C 9532 9533 9534 9535 9536 9537 9538 9539 953A
+953B 953C 953D 953E 953F 9540 9541 9542 9543 9544
+9545 95A1 95A2 95A3 95A4 95A5 95A6 95A7 95A8 95A9
+95AA 961A 9699 969A 969B 969C 969D 969E 969F 96A0
+96A1 96CC 96D0 96D1 96D2 28FC5 4A0F 96FF 9700 9701
+290AF 290B0 290B1 9757 9758 9759 9764 977A
+977B 977C 977D 977E 977F 9780 9781 9782 9783 9784
+9785 9786 97CD 97CE 97EC 97F6 97F7 2941D 9819 4AB8
+9814 9815 9816 9817 9818 981A 9897 4AFF 4B00 98AD
+98AE 98AF 98B0 98B1 295B8 98D6 98D5 98D7 4B2C 98F8
+9900 9901 9902 9903 9904 9905 9906 9907 9909 990C
+990E 990F 9991 9992 4B6F 999B 999C 999D 4B7B 4B7E
+99B6 99B7 99B8 99B9 99BA 99BB 99BC 99BD 99BE 99BF
+99C0 99C1 99C2 99C3 99C4 99C5 99C6 99C7 9AA0 9AA1
+9AA2 4BC8 9AAF 9AB0 9AB1 9ADA 9AE3 9AE4 9AE5 9AE6
+9AE7 9AE8 9AE9 9AEA 29B05 29B0E 9B26 9B3E 9B3F 9B40
+9B41 9B42 29CAD 9B5F 9B60 9B61 9B62 29D5A 9C91 9C92
+9C93 9C94 9C95 9C96 9C97 9C98 9C99 9C9A 9C9B 9C9C
+9C9D 9C9E 9C9F 9CF1 9CF2 9CF3 9CF4 9CF5
+9CF6 9E55 9E56 9E57 9E59 9E5A 9E5B 9E5C 9EA7 9EBC
+9EBD 9F3B 9F4A 9F87 9F88
+FDD0-280F
+3493 3496 3498 50F5 50F6 50F8 50F9 50FA 50FB 50FC
+50FD 50FE 50FF 5100 5101 5102 5103 5104 5105 5106
+5107 5108 5109 510A 510B 510C 510D 510E 510F 203C9
+203CB 5130 51D9 51DA 51DB 51DC 20611 5285 5286 5287
+5288 5289 528A 528B 528C 528D 528E 528F 52EE 52EF
+52F0 52F1 52F2 5314 5333 53B1 53B2 20AB4 3559 53C7
+5653 35F1 35F2 35F3 5620 5629 562A 562B 562C 562D
+562E 562F 5630 5631 5632 5633 5634 5635 5636 5637
+5638 5639 563A 563B 563C 563D 563E 563F 5640 5641
+5642 5643 5644 5646 5647 5648 5649 564A 564B 564C
+564D 564E 564F 5650 5652 5654 5656 5657 5658 5659
+565A 565B 565C 565D 5674 20F64 20F8D 20F90 20FAD 20FB4
+20FB5 20FB6 20FBC 21014 571A 5880 589C 589D
+589E 589F 58A0 58A1 58A2 58A3 58A4 58A5 58A6 58A7
+58A9 58AA 58AB 58AC 58AE 58AF 58B0 58B1 58B2 58B3
+58B4 58B5 58B6 58B7 58B8 58B9 21424 2143F 21452 21454
+21455 58FF 5900 21577 5926 596D 3723 3725 3726 5AF4
+5AF5 5AF6 5AF7 5AF8 5AF9 5AFA 5AFB 5AFC 5AFD 5AFE
+5AFF 5B00 5B01 5B02 5B03 5B04 5B05 5B06 5B07 5B08
+5B09 5B0A 5B0B 5B0C 5B0D 5B0E 5B0F 21852 2185E 21861
+21862 21863 21864 21877 2187B 21883 21884 21885 376F 5BE9
+5BEB 5BEC 5BED 5BEE 5C0E 21B44 5C35 37A0 5C64 5C65
+5C66 5C67 380F 5D8F 5D90 5D91 5D92 5D93 5D94 5D95
+5D96 5D97 5D98 5D99 5D9A 5D9B 5D9C 5D9D 5D9E 5D9F
+5DA0 5DA1 5DA2 5DA3 5DA4 5DA5 21F0F 21F15 5DE4 3861
+5E5A 5E5C 5E5D 5E5E 5E5F 5E60 5E61 5E62
+5E64 5E65 5E69 5EDA 5EDB 5EDD 5EDE 5EDF 5EE0 5EE1
+5EE2 5EE3 5EE4 5F47 5F48 5F49 5F71 5FB2 5FB5 5FB7
+5FB8 5FB9 5FBA 6155 6157 6159 615C 615D 6164 6166
+6167 616B 616E 6170 6176 6178 6179 617C 617E 617F
+6182 6183 6184 6185 6187 3989 398A 3992 616D 6189
+618B 618D 618E 618F 6190 6192 6193 6194 6195 6198
+619A 619B 619C 619E 619F 61A1 61A2 61A3 61A4 61A6
+61A7 61AA 61AB 61AC 61AD 61AE 61AF 61B0 61B1 61B3
+2285F 22860 22871 622D 622E 622F 3A3C 6468 6469 646E
+646F 6470 6479 6480 6483 3A4B 6485 6486 6488 648A
+648B 648C 648D 648E 648F 6490 6491 6492 6493 6494
+6495 6496 6497 6498 6499 649A 649B 649C 649D 649E
+649F 64A0 64A1 64A2 64A3 64A4 64A5 64A7
+64A8 64A9 64AA 64AB 64AC 64AD 64AE 64AF 64B0 64B1
+64B2 64B3 64B4 64B5 64B6 64B7 64B8 64B9 64BA 64C6
+22D44 22D4C 22D67 6575 6576 6577 6578 6579 657A 657B
+22FCC 65B3 230BC 3B11 3B12 3B13 3B14 3B15 3B16 66A9
+66AA 66AB 66AC 66AD 66AE 66AF 66B0 66B1 66B2 66B3
+66B4 66B5 66B6 66B7 23281 2328A 66BC 3B3C 3B3D 3B3E
+81A4 69E9 3BBE 3BC2 3BC4 69E2 69E3 69E4 69E5 69E6
+69E7 69E8 69EA 69EB 69EC 69ED 69EE 69EF 69F0 69F1
+69F2 69F3 69F4 69F5 69F6 69F7 69F8 69F9 69FA 69FB
+69FC 69FD 69FE 69FF 6A00 6A01 6A02 6A04 6A05 6A06
+6A07 6A08 6A09 6A0A 6A0B 6A0C 6A0D 6A0E 6A0F 6A10
+6A11 6A12 6A13 6A14 6A15 6A16 6A17 6A18 6A19 6A1A
+6A1B 6A1C 6A1D 6A1E 6A1F 6A20 6A21 6A22
+6A23 6A24 6A25 6A26 6A27 6A29 6A2A 6A2B 6A2C 6A2D
+6A2F 6A30 6A31 6A65 2361A 2363C 23640 23659 2365F 23677
+6B4E 6B4F 6B50 6B51 6B52 6B53 6B75 6B76 3C73 3C74
+6BA2 6BA3 6BA4 6BA5 6BA6 6BC5 6BC6 6BFF 6C00 6C01
+6C02 6ED5 6F00 6F10 6F26 6F3F 6F41 3D4C 3D4E 3D51
+6F0B 6F3D 6F4F 6F50 6F51 6F52 6F53 6F54 6F55 6F56
+6F57 6F58 6F59 6F5A 6F5B 6F5C 6F5D 6F5F 6F60 6F61
+6F62 6F63 6F64 6F65 6F66 6F67 6F68 6F69 6F6A 6F6B
+6F6C 6F6D 6F6E 6F6F 6F70 6F71 6F72 6F74 6F75 6F76
+6F77 6F78 6F79 6F7A 6F7B 6F7C 6F7D 6F7E 6F7F 6F81
+6F82 6F84 6F85 6F86 6F87 6F88 6F89 6F8A 6F8B 6F8C
+6F8D 6F8E 6F8F 6F90 6F91 6F92 6F93 6F94 6F95 6F96
+6F97 6F98 6F9A 6F9B 6F9C 6F9D 6FD0 23F4A
+23F7F 23F80 23F81 23F82 23F8F 23FB4 23FB7 6FC6 71A6 3DEB
+719A 719B 719C 719D 719E 719F 71A0 71A1 71A2 71A3
+71A4 71A5 71A7 71A8 71A9 71AA 71AB 71AC 71AD 71AE
+71AF 71B0 71B1 71B2 71B3 71B4 71B5 9ED9 24362 24363
+24364 24365 2438C 24396 2439C 5655 7234 7245 7255 7256
+7257 7298 7299 729A 729B 246D4 734E 734B 7356 7357
+7358 7359 735A 735B 735C 735D 735E 735F 7360 7361
+7362 7364 24882 7469 746C 3EEB 3EF0 3EF3 3EF4 7479
+747A 747B 747C 747D 747E 7480 7481 7482 7483 7484
+7485 7486 7487 7488 7489 748A 748B 748C 748E 7493
+24A15 24A21 24A22 24A23 24A24 24A25 24A26 24A27 24A28 24A29
+24A2A 24A3E 7507 7508 7509 3F53 24BF5 757E 757F 761F
+3FB7 3FC0 7619 761A 761B 761C 761D 761E
+7620 7621 7622 7623 7624 7625 7626 7628 7629 762A
+762B 24E3B 24E50 3FE5 769A 769B 769C 769D 769E 24F97
+24F9A 76BA 76E4 4057 7787 7788 7789 778A 778B 778C
+778D 778E 778F 7790 7791 7792 7793 25250 78BA 78BB
+78BC 78BD 78BE 78BF 78C0 78C2 78C3 78C4 78C5 78C6
+78C7 78C8 78C9 78CA 78CB 78CC 78CD 78CE 78CF 78D0
+78D1 78D2 78D3 78D4 78D5 78D7 78D8 78D9 78E4 25531
+25535 2553F 799A 799B 799C 799D 799E 799F 79A0 79A1
+79A2 79A3 256E3 416C 416E 4175 7A34 7A36 7A37 7A38
+7A39 7A3A 7A3B 7A3C 7A3D 7A3E 7A3F 7A40 7A41 7A42
+7A43 25857 7AAE 7AAF 7AB0 7AB1 7AB2 7AB3 7AB4 420E
+420F 4210 4211 4212 4213 4214 4215 421A 421C 4220
+4222 4223 4226 4229 7BAC 7BAD 7BAE 7BAF
+7BB0 7BB1 7BB2 7BB3 7BB4 7BB5 7BB6 7BB7 7BB9 7BBA
+7BBB 7BBC 7BBD 7BBE 7BBF 7BC1 7BC2 7BC3 7BC4 7BC5
+7BC6 7BC7 7BC8 7BCA 7BCB 7BCC 7BCD 7BCE 7BCF 7BD0
+7BD1 7BD2 7BD3 25BE4 25BE8 25C01 25C06 4294 7CC2 7CC3
+7CC4 7CC5 7CC6 7CC7 7CC8 7CC9 7CCA 7CCB 7CCC 7CCD
+7CCE 25ED7 25ED8 42F4 42FB 42FC 4300 4301 4304 7DD3
+7DD6 7DD7 7DD8 7DD9 7DDA 7DDB 7DDC 7DDD 7DDE 7DDF
+7DE0 7DE1 7DE2 7DE3 7DE4 7DE5 7DE6 7DE7 7DE8 7DE9
+7DEA 7DEB 7DEC 7DED 7DEE 7DEF 7DF0 7DF1 7DF2 7DF3
+7DF4 7DF5 7DF6 7DF7 7DF8 7DF9 7DFA 7DFB 7DFC 7DFD
+7DFE 7DFF 7E00 7E01 7E02 7E03 7E04 7E05 7E06 7E07
+26083 26097 260A4 260A5 433E 7F2C 7F2D 7F2E 7F2F 7F75
+7F76 7F77 7F78 7FAC 7FAD 7FAE 7FAF 7FB0
+7FE6 7FE7 7FE8 7FE9 7FEA 7FEB 7FEC 7FED 26469 43AC
+8026 8027 8064 8065 8066 8067 8068 8069 806A 806B
+265AD 442D 4433 4434 8192 8193 8194 8195 8196 8197
+8198 8199 819A 819B 819C 819D 819E 819F 81A0 81A1
+81A2 81A3 81F1 8216 8217 447A 824E 824F 8250 8251
+8252 8253 8254 44F4 848A 84E0 84E7 84E8 84E9 84EA
+84EB 84EC 84ED 84EE 84EF 84F0 84F2 84F3 84F4 84F5
+84F6 84F7 84F8 84F9 84FA 84FB 84FC 84FD 84FE 84FF
+8500 8501 8502 8503 8504 8505 8506 8508 8509 850A
+850B 850C 850D 850E 850F 8510 8511 8512 8513 8514
+8515 8516 8517 8518 8519 851A 851B 851C 851D 851E
+851F 8520 8521 8522 8523 8524 8525 8526 8527 8528
+8529 852A 852B 852C 852D 852E 852F 8530
+8531 8532 8533 8534 8535 8536 8537 8538 8539 853A
+853B 853C 26E00 26E05 26E07 26E12 26E42 26E43 26E44 26E45
+26E6E 26E72 26E77 26E84 853D 854F 8662 874C 874E 874F
+8750 8751 8752 8753 8754 8756 8757 8758 8759 875A
+875B 875C 875D 875E 875F 8760 8761 8762 8763 8764
+8765 8766 8767 8768 8769 876A 876C 876D 876E 876F
+8770 8771 8772 8773 8774 8775 8776 8777 8778 877A
+877B 877C 877D 877E 877F 8780 87E1 2739A 8782 885A
+885B 885C 885D 275FD 4645 4646 88E6 8905 8906 8907
+8908 8909 890A 890B 890C 890D 890E 890F 8910 8911
+8912 8913 8914 8915 8916 8917 8918 8919 891B 891C
+891D 2770F 89A2 89A3 89A4 89A5 27858 89A9 89D0 89D1
+89EC 89ED 89EE 89EF 89F0 8A95 46F5 8AAF
+8AB0 8AB1 8AB2 8AB3 8AB4 8AB5 8AB6 8AB7 8AB8 8AB9
+8ABA 8ABB 8ABC 8ABD 8ABE 8ABF 8AC0 8AC1 8AC2 8AC3
+8AC4 8AC5 8AC6 8AC7 8AC8 8AC9 8ACA 8ACB 8ACC 8ACD
+8ACE 8ACF 8AD0 8AD1 8AD2 8AD3 8AD4 8AD5 8AD6 8AD7
+8AD8 8AD9 8ADA 8AE9 27A3E 27A53 27A59 8ADB 8AF8 8C33
+8C34 8C35 8C3E 8C4C 8C4D 8C4E 27BF4 8C6C 8C8E 8C8F
+477C 8CD9 8CDA 8CDB 8CDC 8CDD 8CDE 8CDF 8CE0 8CE1
+8CE2 8CE3 8CE4 8CE5 8CE6 8CE7 8CE8 8CE9 8CEA 8CEB
+8CEC 8CED 8D5C 8D6D 47B6 8D9B 8D9C 8D9D 8D9E 8D9F
+8DA0 8DA1 8DA2 8DA3 8DA4 4800 4801 480B 8E0F 8E10
+8E11 8E12 8E13 8E14 8E15 8E16 8E17 8E18 8E19 8E1A
+8E1B 8E1C 8E1D 8E1E 8E1F 8E20 8E21 8E22 8E23 8E24
+8E25 8E26 8E27 8E28 8E29 8E2A 8E2C 8E2D
+8E2E 8E2F 8E3A 28083 28090 8E2B 8E37 8EB6 8EB7 8EB8
+8EB9 8EBA 8EBB 8EBC 28256 485D 8F16 8F17 8F18 8F19
+8F1A 8F1B 8F1C 8F1D 8F1E 8F1F 8F20 8F21 8F22 8F23
+8F24 8F25 8F26 8F27 8F28 8F29 8F2A 8F2B 8F2C 2832F
+2833A 8F98 8FA4 8FB3 9066 9067 9068 9069 906A 906B
+906C 906D 906E 906F 9070 9071 9073 9077 90F6 48DD
+9126 9127 9129 912A 912B 912D 912E 912F 9130 9131
+9132 9180 9181 9182 9183 9184 9185 9186 9187 9188
+9189 918A 918B 918C 492D 92B2 92B3 92B4 92B5 92B6
+92B7 92B8 92B9 92BA 92BB 92BC 92BD 92BE 92BF 92C0
+92C1 92C2 92C3 92C4 92C5 92C6 92C7 92C8 92C9 92CA
+92CC 92CD 92CE 92CF 92D0 92D1 92D2 92D3 92D4 92D5
+92D6 92D7 92D8 92D9 92DA 92DB 92DC 92DD
+92DE 92DF 92E0 92E1 92E2 92E3 92E4 92E5 92E6 92E7
+92E8 92E9 92EA 92EB 92EC 92ED 92EF 92F0 92F1 92F2
+92F3 92F4 92F5 92F6 FA27 289B8 289BC 289C0 289DC 289DE
+289E1 289E3 289E4 9546 9547 9548 9549 954A 954B 954C
+954D 954E 954F 9550 9551 9552 9553 9554 9555 957C
+95AB 95AC 95AD 95AE 95AF 95B0 95B1 95B2 95B3 95B4
+28D34 49E5 96A2 96A3 96A4 96A5 96D3 9702 9703 9704
+9705 9706 9707 9708 9709 970A 290C0 975A 9760 9765
+9787 9788 9789 978A 978B 978C 978D 978E 978F 9790
+9791 9792 97CF 97D0 97D1 97EF 29420 981B 981C 981D
+981E 981F 9820 9821 9822 9823 9826 9827 9828 9829
+982A 982B 982C 9898 9899 989A 989B 989C 989D 98B2
+98B3 98D8 4B37 98FA 9908 990A 990B 990D
+9911 9912 9913 9914 9915 9916 9917 9918 9919 9993
+9994 99C8 99C9 99CA 99CB 99CC 99CD 99CE 99CF 99D0
+99D1 99D2 99D3 99D4 99D5 99D6 99D7 99D8 99D9 99DA
+99DB 99DC 99DD 99DE 99DF 99E0 298A4 9AA3 9AB2 9AB3
+9AB4 9AB5 9AB6 9AB7 9ADB 9AEB 9AEC 9AEE 9AEF 9AF0
+9AF1 9AF2 9AF3 9AF4 9B27 4C20 9B43 9B44 9B45 9B46
+4C3B 4C3E 9B63 9B64 9B65 9B66 9B67 9B68 9B69 9B6A
+9B6B 9B6C 9B6D 9B6E 9B6F 9B70 9B71 9B72 9B73 9B74
+9B75 9B76 9B77 9B78 9B79 29D7C 9CA0 9CA1 9CA2 9CA3
+9CA4 9CA5 9CA6 9CA7 9CA8 9CA9 9CAA 9CAB 9CAC 4CAE
+4CB0 4CB7 9CF7 9CF8 9CF9 9CFA 9CFB 9CFC 9CFD 9CFE
+9CFF 9D00 9D01 9D02 9D03 9D04 9D05 9D06 9D07 9D08
+9D09 9D0B 9D0C 9D0D 9D0E 29FB7 9E58 9E5D
+9E5E 9E5F 9E60 9E61 9E62 9E63 9E64 9E76 9E83 9E84
+2A293 9EA8 9EA9 9EAA 9EAB 9EB9 9EBE 9ECE 58A8 9ED3
+9F0F 9F10 9F11 9F51 9F52 9F89 9F8A
+FDD0-2810
+4EB8 5110 5111 5112 5113 5114 5115 5116 5117 5118
+5119 511A 511B 511C 511D 511E 512B 203F5 203FC 5163
+204FC 5180 51AA 51DD 51DE 20615 5290 5291 5292 5293
+5294 52F3 5334 53E1 35FB 35FE 3600 3601 3602 3603
+3604 565E 565F 5660 5661 5662 5663 5664 5665 5666
+5667 5668 5669 566A 566B 566C 566D 566E 566F 5670
+5671 5672 5673 5675 5676 5677 5678 5679 567A 567B
+567C 20FDF 20FEA 20FEB 20FEC 20FED 2101D 2101E 571B 571C
+58BA 58BB 58BC 58BD 58BE 58BF 58C0 58C1 58C2 58C3
+58C4 58C5 58C6 58C7 58C8 58C9 58CA 58CB 58CC 5901
+596E 596F 372B 372C 372D 5B10 5B11 5B12 5B13 5B14
+5B15 5B16 5B17 5B18 5B19 5B1A 5B1B 5B1C 5B1D 5B1E
+5B1F 5B20 5B21 5B22 5B34 2189E 2189F 218A0
+218A1 218A2 218BE 218BF 5B28 5B78 5B79 5BEF 5BF0 5DA6
+5DA7 5DA8 5DA9 5DAA 5DAB 5DAC 5DAD 5DAE 5DAF 5DB0
+5DB1 5DB2 5DB3 5DB4 5DB5 5DB6 3862 3863 3864 5E66
+5E67 5E68 2215B 5E6F 5EE5 5EE6 5EE7 5EE8 5EE9 5EEA
+5F4A 5F4B 5F5B 5F5C 22471 224B0 5FBB 5FBC 618A 618C
+6191 6196 6197 6199 619D 61A0 61A5 61A8 61A9 61B2
+3999 61B4 61B6 61B7 61B8 61B9 61BA 61BD 61BE 61BF
+61C0 61C1 61C4 61C5 61C6 61C8 61CA 61CC 61CD 61CE
+61CF 61D0 61D2 61D3 61D4 228AD 228C1 61BB 6231 6230
+6489 3A52 3A54 3A57 64BB 64BC 64BD 64BE 64BF 64C0
+64C1 64C2 64C3 64C4 64C5 64C7 64C8 64C9 64CB 64CC
+64CD 64CF 64D0 64D1 64D2 64D3 64D4 64D5 64D6 64D7
+64D9 64DA 64DB 64DC 64DD 64DE 22D8D 22D95
+22DA0 22DA3 22DA4 22DB7 64F3 6533 6574 657C 657D 657E
+657F 22FE3 6593 65A2 65B4 65D8 65D9 3B17 3B18 3B19
+3B1A 3B1B 3B1C 3B1D 3B1E 3B1F 66B8 66B9 66BA 66BB
+66BD 66BE 66BF 66C0 66C1 66C2 66C3 66C4 66C5 66C6
+66C7 66C8 66C9 66CA 66CB 66CC 66CD 23289 232AB 232AC
+232AD 66CF 3B31 6706 3B3F 6723 6724 6725 6A28 6A74
+3BD7 3BDD 6A32 6A33 6A34 6A35 6A36 6A37 6A38 6A39
+6A3A 6A3B 6A3C 6A3D 6A3E 6A3F 6A40 6A41 6A42 6A43
+6A44 6A45 6A46 6A47 6A48 6A49 6A4A 6A4B 6A4C 6A4D
+6A4E 6A4F 6A50 6A51 6A52 6A53 6A54 6A55 6A56 6A57
+6A58 6A59 6A5A 6A5B 6A5C 6A5D 6A5E 6A5F 6A60 6A61
+6A62 6A63 6A64 6A66 6A67 6A68 6A69 6A6A 6A6B 6A6C
+6A6D 6A6E 6A6F 6A70 6A71 6A72 6A73 6A75
+6A76 6A77 6A78 6A79 6A7A 6A7B 6A7C 236A6 236AD 236BA
+236DF 236EE 6B54 6B55 6B56 6B57 6B58 6B59 6B5A 6B77
+6BA7 6BA8 6BA9 6BAA 6BAB 6BC7 6BC8 6C03 6C04 6C05
+6C06 6C07 6F5E 6F83 3D5F 3D62 3D65 3D69 3D6A 6F99
+6F9E 6F9F 6FA0 6FA1 6FA2 6FA3 6FA4 6FA5 6FA6 6FA7
+6FA8 6FAA 6FAB 6FAC 6FAD 6FAE 6FAF 6FB0 6FB1 6FB2
+6FB3 6FB4 6FB5 6FB6 6FB7 6FB8 6FB9 6FBA 6FBB 6FBC
+6FBD 6FBE 6FBF 6FC0 6FC1 6FC2 6FC3 6FC4 6FC5 6FC7
+6FC8 6FC9 6FCA 6FCB 6FCD 6FCE 6FCF 6FD1 6FD2 6FD3
+6FD6 23FC5 23FEB 23FEC 23FED 23FEE 23FEF 23FF0 24011 7004
+3DF3 3DF7 3DFC 3DFD 71B6 71B7 71B8 71B9 71BA 71BB
+71BC 71BD 71BE 71BF 71C0 71C1 71C2 71C3 71C4 71C5
+71C6 71C7 71C8 71C9 71CA 71CB 71CC 71CD
+71CE 71CF 71D0 71D1 71D2 71D3 71D4 71D5 71D6 71D7
+71D8 71D9 71DA 71DB 71DC 71DD 71DE 243BD 243C1 243E9
+243EA 243F2 729C 729D 729E 729F 7363 7365 7366 7367
+7368 7369 736A 736B 736C 736D 747F 3EFC 748D 748F
+7491 7492 7494 7495 7496 7498 7499 749A 749B 749C
+749D 749E 749F 74A0 74A1 74A3 74A4 24A42 24A45 24A4A
+24A4E 24A4F 24A50 24A51 24A5D 24A65 24A66 24A67 74A2 74E2
+750A 750B 750C 750D 750E 7580 7581 7582 24CC9 762C
+762D 762E 762F 7630 7631 7632 7633 7634 7635 7636
+7637 7638 7639 763A 763B 763C 763D 763E 763F 764A
+769F 76A0 76A1 76BB 76E5 76E6 76E7 2509D 4062 4065
+406A 7794 7795 7796 7797 7798 7799 779A 779B 779C
+779D 779E 779F 77A0 77A1 77A2 77A3 25299
+77A5 78D6 78DC 40D8 78DA 78DB 78DD 78DE 78DF 78E0
+78E1 78E2 78E3 78E5 78E6 78E7 78E8 78E9 78EA 78EB
+78EC 78ED 78EE 2555B 2555C 2555D 2555E 25562 25565 25566
+79A4 79A5 79A6 79A9 256F6 7A44 7A45 7A46 7A47 7A48
+7A4B 7A4C 7A4D 7A4E 7A4F 7A50 7A51 7A52 2585D 25872
+7A53 41B2 7AB5 7AB6 7AB7 7AB8 7AB9 7ABA 7ABB 7ABC
+7ABD 7AF1 25AAE 422A 422B 422D 422E 4230 4231 4232
+7BC9 7BD4 7BD5 7BD6 7BD7 7BD8 7BD9 7BDA 7BDB 7BDC
+7BDD 7BDE 7BDF 7BE0 7BE1 7BE2 7BE3 7BE4 7BE5 7BE6
+7BE7 7BE8 7BE9 7BEA 7BEB 7BEC 7BED 7BEE 7BEF 7C11
+25C21 25C4A 25C65 7BF9 4A00 7CCF 7CD0 7CD1 7CD2 7CD3
+7CD4 7CD5 7CD6 7CD7 7CD8 7E08 7E09 7E0A 7E0B 7E0C
+7E0D 7E0E 7E0F 7E10 7E11 7E12 7E13 7E14
+7E15 7E16 7E17 7E18 7E19 7E1A 7E1B 7E1C 7E1D 7E1E
+7E1F 7E20 7E21 7E22 7E23 7E24 7E25 7E26 7E27 7E28
+7F30 7F31 7F32 7F33 7F34 7F43 7F79 7F7A 7F7B 7F7C
+7FB1 7FB2 7FEE 7FEF 7FF0 7FF1 8028 8029 802A 26512
+43C1 806C 806D 265BF 806E 8190 443B 81A6 81A7 81A8
+81A9 81AA 81AB 81AC 81AD 81AE 81AF 81B0 81B1 81B2
+81B3 81B4 81B5 81B6 2681C 2686E 81B7 81B9 81F2 81FB
+8208 8206 8209 8218 8255 8256 8257 8258 8259 4500
+4503 4504 4509 450B 84DE 853E 853F 8540 8541 8542
+8543 8544 8545 8546 8547 8548 8549 854A 854B 854C
+854D 854E 8550 8551 8552 8553 8554 8555 8556 8558
+8559 855A 855B 855C 855D 855E 855F 8560 8561 8562
+8563 8564 8565 8566 8567 8568 8569 856A
+856B 856C 856D 856E 856F 8570 8571 8572 8573 8574
+8575 26E99 26ED0 26ED1 26ED2 26ED3 26ED4 26ED5 26ED6 26ED7
+26F26 858C 8663 8664 8665 8666 45DD 8779 8781 8783
+8784 8785 8786 8787 8788 8789 878A 878B 878C 878D
+878E 878F 8790 8791 8792 8793 8794 8795 8796 8797
+8798 8799 879A 879B 879C 879D 879E 879F 87A0 87A1
+87A2 87A3 87A4 87A5 87A6 87A7 87A8 87A9 4617 885E
+885F 8860 8861 275FE 464F 891E 891F 8920 8921 8922
+8923 8924 8925 8926 8927 8928 8929 892A 892B 892C
+892D 892E 892F 8930 8931 8932 8934 27735 27736 27741
+89A6 89A7 89A8 89AA 27870 89F1 8ADC 8ADD 8ADE 8ADF
+8AE0 8AE1 8AE2 8AE3 8AE4 8AE5 8AE6 8AE7 8AE8 8AEA
+8AEB 8AEC 8AED 8AEE 8AEF 8AF0 8AF1 8AF2
+8AF3 8AF4 8AF5 8AF6 8AF7 8AF9 8AFA 8AFB 8AFC 8AFD
+8AFE 8AFF 8B00 8B01 8B02 8B03 27A79 27A84 8B14 474E
+8C6B 8C6D 8C6E 8C90 8C91 8C92 8C93 8CEE 8CEF 8CF0
+8CF1 8CF2 8CF3 8CF4 8CF5 27DBD 8D5D 8D5E 8D5F 8D60
+8D6C 8D6E 8DA5 8DA6 8DA7 8E30 8E31 8E32 8E33 8E34
+8E35 8E36 8E38 8E39 8E3B 8E3C 8E3D 8E3E 8E3F 8E40
+8E41 8E42 8E43 8E44 8E45 280BD 280BE 8EBD 8EBE 8F2D
+8F2E 8F2F 8F30 8F31 8F32 8F33 8F34 8F35 8F36 8F37
+8F38 8F39 8F3A 8F3B 8F3C 28365 8F99 8F9A 8FA5 8FA6
+8FA7 8FA8 8FA9 8FAA 48AD 9072 9074 9075 9076 9078
+9079 907A 907B 907C 9086 285E8 285F4 28600 90FA 9133
+9134 9135 9136 9137 4900 4906 918D 918E 918F 9190
+9191 9192 9193 9194 9195 9196 9197 92CB
+4935 92F7 92F8 92F9 92FA 92FB 92FC 92FD 92FE 92FF
+9300 9301 9302 9303 9304 9305 9306 9307 9308 9309
+930A 930B 930C 930D 930E 930F 9310 9311 9312 9313
+9314 9315 9316 9317 9318 9319 931A 931B 931C 931D
+931E 931F 9320 9321 9322 9323 9324 9325 9326 9327
+9329 932A 932B 932C 932D 932E 932F 9330 9331 9332
+9333 9334 9335 9336 9337 9338 9339 933A 933B 933C
+933D 933E 933F 9340 9341 9342 9343 9344 9345 9346
+9348 FA28 289E7 289E8 289F9 289FA 289FB 289FC 28A0F 28A16
+28A25 28A29 937A 9556 9557 9558 9559 955A 955B 955C
+955D 955E 955F 9560 49A1 49A7 95B5 95B6 95B8 95B9
+95BA 95BB 95BC 95BD 95BE 95BF 95C1 95C2 95CD 961B
+49E7 96A6 96A7 96A8 96A9 96AA 96AB 96B7
+96D4 96D5 4A1D 970B 970C 970D 970E 970F 9710 9711
+9712 9713 9714 9715 9716 9717 290E4 290E5 290EC 290ED
+975B 975C 9766 9793 9794 9795 9796 9797 9798 9799
+97D2 97F0 97F8 9824 9825 982D 982E 982F 9830 9831
+9832 9833 9834 9835 9836 9837 9838 9839 983A 983B
+983C 983D 294D0 294D9 294DA 989E 989F 98A0 98A1 98B4
+98B5 295D7 98D9 98DA 9910 991D 991A 991B 991C 991E
+991F 9920 9921 9922 9923 9924 9926 9927 9928 9929
+29720 9934 999E 999F 99A0 99E1 99E2 99E3 99E4 99E5
+99E6 99E7 99E8 99E9 99EA 99EB 99EC 99ED 99EE 99EF
+99F0 99F1 99F2 298D1 9AB8 9AB9 9ABA 9ABB 9ABC 29A4D
+9ABF 9AED 9AF5 9AF6 9AF7 9AF8 9AF9 9AFA 9AFB 9B07
+9B28 9B33 9B47 4C49 9B7A 9B7B 9B7C 9B7D
+9B7E 9B7F 9B80 9B81 9B82 9B83 9B84 9B85 9B87 9B88
+9B89 9B8A 9B8B 9B8C 9B8D 9B8E 9B8F 9B90 9B91 9B92
+9B93 9B94 9B95 9B96 9B97 9B98 9BA3 29D98 29D9B 9CAD
+9CAE 9CAF 9CB0 9CB1 9CB2 9CB3 9CB4 9CB5 9CB6 9CB7
+9CB8 9CB9 9CBA 9CBB 9D0A 9D0F 9D10 9D11 9D12 9D13
+9D14 9D15 9D16 9D17 9D18 9D19 9D1A 9D1B 9D1D 9D1E
+9D1F 9D20 9D21 9D22 9D23 9D24 9D25 9D26 9D27 9D28
+9D29 9D2A 9D2B 9D2C 29FDE 9E65 9E66 9E67 9E68 9E77
+9E7E 9E85 9E86 9E87 9E88 2A29F 4D34 9EAC 9EAD 9EAE
+9EBA 9EC5 9EC6 9ED4 9ED5 9ED6 9ED7 9ED8 9EFA 9F12
+9F3C 9F3D 9F53 9F8D 9F9C
+FDD0-2811
+511F 5120 5121 5122 5123 5124 5125 5126 5127 5128
+5129 512A 512C 20413 20414 2041F 5132 51DF 20619 2061A
+5295 3525 3526 52F4 52F5 52F6 5335 3553 53B3 20B8F
+567D 567E 567F 5680 5681 5682 5683 5684 5685 5686
+5687 5688 5689 568A 568B 568C 568D 568E 568F 5690
+5691 5692 5693 2104F 2105C 2106F 21075 21076 21077 21078
+2107B 21088 367A 58CD 58CE 58CF 58D0 58D1 58D2 58D3
+58D4 58D5 58D6 58D7 2148A 21497 21692 5B23 5B24 5B25
+5B26 5B27 5B29 5B2A 5B2B 5B2C 5B2D 5B2E 5B2F 5B30
+5B31 5B32 5B33 5B35 5B36 5B37 218D1 218D6 218D7 218D8
+218D9 5B7A 5B7B 5BF1 5BF2 5C36 5C37 5C68 3819 5DB7
+5DB8 5DB9 5DBA 5DBC 5DBD 5DBE 5DBF 21F6A 5DBB 3865
+3866 5E6A 5E6B 5E6C 5F4C 5FBD 5FBE 2258D
+61B5 61BC 61C2 61C3 61C7 61C9 61CB 61D1 61D7 61D9
+61DA 61DB 61DC 61DD 61DE 61E0 61E1 61E2 61E4 61E5
+61E6 61E7 61E8 228F7 6232 6234 64CA 64CE 64D8 3A5C
+3A5E 64DF 64E0 64E1 64E2 64E3 64E4 64E6 64E8 64E9
+64EB 64EC 64ED 64EE 64EF 64F0 64F1 22DEE 6580 6581
+6582 6583 65A3 65B5 65B6 65DA 3B20 3B21 3B22 66CE
+66D0 66D1 66D2 66D3 66D4 66D5 66D6 66D7 66DA 232D2
+66D9 3B32 3B40 3BEC 3BF2 3BF3 3BF4 6A7D 6A7E 6A7F
+6A80 6A81 6A82 6A83 6A84 6A85 6A86 6A87 6A88 6A89
+6A8A 6A8B 6A8C 6A8D 6A8E 6A8F 6A90 6A91 6A92 6A93
+6A94 6A95 6A96 6A97 6A98 6A99 6A9A 6A9B 6A9C 6A9D
+6A9E 6A9F 6AA0 6AA1 6AA2 6AA3 6AA4 6AA5 6AA6 6AA7
+6AA8 6AA9 6AAA 23703 23716 23720 2372D 2372F
+2373F 6ADB 3C46 6B5B 6B5C 6B5D 6BAC 6BAD 6BAE 6BDA
+6C08 6C09 6C0A 6FA9 6FCC 3D6F 3D73 3D75 6F80 6FD4
+6FD5 6FD7 6FD8 6FD9 6FDA 6FDB 6FDC 6FDD 6FDE 6FDF
+6FE0 6FE1 6FE2 6FE3 6FE4 6FE5 6FE6 6FE7 6FE8 6FE9
+6FEA 6FEB 6FEC 6FED 6FEE 6FEF 6FF0 6FF1 6FF2 6FF4
+6FF5 6FF6 6FF8 23FC0 24039 2403A 2403B 2403C 2403D 24057
+3E00 3E01 3E02 71DF 71E0 71E1 71E2 71E3 71E4 71E5
+71E6 71E7 71E8 71E9 71EA 71EB 71EC 71ED 71EE 71EF
+71F0 71F1 71F2 71F3 71F4 71F5 71F6 71F7 243F8 24404
+7235 7246 3E55 72A0 736E 736F 7370 7371 7372 7373
+7374 3EFA 7490 7497 3EFF 3F00 3F01 74A5 74A6 74A8
+74A9 74AA 74AB 74AC 74AD 74AE 74AF 74B0 74B1 74B2
+74B3 74B4 24A71 24A77 24A78 24A79 24A7A 3F3F
+750F 7510 7511 7512 7583 7584 24CD9 7640 7641 7642
+7643 7644 7645 7646 7647 7648 7649 764B 764C 764D
+764E 24EA5 24EA7 76A2 76A3 76A4 76A5 76BC 4009 76E8
+76E9 76EA 406F 4071 77A4 77A6 77A7 77A8 77A9 77AA
+77AB 77AC 77AD 77AE 77AF 77B0 77B1 77B2 77B3 77B4
+77B5 77B6 77B7 252C7 77EF 77F0 40DF 78EF 78F0 78F1
+78F2 78F3 78F4 78F5 78F6 78F7 78F8 78F9 78FA 78FB
+78FC 78FD 78FE 78FF 7900 7901 7902 7903 7904 7905
+25581 25584 2558F 79A7 79A8 79AA 79AB 25706 417F 7A49
+7A54 7A55 7A56 7A57 7A58 7A59 7A5A 7A5B 7A5C 7A5D
+7A5E 41B9 7ABE 7ABF 7AC0 7AC1 7AC2 7AF2 7AF3 7AF4
+25AAF 7C15 423B 4240 4241 4242 4243 4244 4245 7BF0
+7BF1 7BF2 7BF3 7BF4 7BF5 7BF6 7BF7 7BF8
+7BFA 7BFB 7BFC 7BFD 7BFE 7BFF 7C00 7C01 7C02 7C03
+7C04 7C05 7C06 7C07 7C08 7C09 7C0A 7C0B 7C0C 7C0D
+7C0E 7C0F 7C10 7C12 7C13 7C14 7C16 7C17 25C91 25CA4
+25CC0 7C18 42A2 7CD9 7CDA 7CDB 7CDC 7CDD 7CDE 7CDF
+7CE0 7CE1 7CE2 7CE8 7E29 7E2A 7E2B 7E2C 7E2D 7E2E
+7E2F 7E30 7E31 7E32 7E33 7E34 7E35 7E36 7E37 7E38
+7E39 7E3A 7E3B 7E3C 7E3D 7E3E 7E3F 7E40 7E41 7E42
+7E43 7E44 7E45 7E46 7E47 7E49 7E4A 7E4C 7E4D 26102
+26121 7E48 7F44 7F45 7F46 7F7D 7F7E 7F7F 7F81 263BE
+7FF2 7FF3 7FF4 7FF5 7FF6 7FFC 26484 26488 26489 802B
+802C 806F 8070 8071 8072 8073 8074 26626 81A5 81B8
+81BA 81BB 81BC 81BD 81BE 81BF 81C0 81C1 81C2 81C3
+81C4 81C5 81C6 81C7 81C8 81C9 81CA 81CC
+26846 2685E 81E8 81E9 269F2 825A 825B 825C 825D 8271
+4516 451D 4520 4526 4527 8557 8576 8577 8578 8579
+857A 857B 857C 857D 857E 857F 8580 8581 8582 8583
+8584 8585 8586 8587 8588 8589 858A 858B 858D 858E
+858F 8590 8591 8592 8593 8594 8595 8596 8597 8598
+8599 859A 859B 859C 859D 859E 859F 85A0 85A1 85A2
+85A3 85A4 85A5 85A6 85A7 85A8 85AA 85AB 85AC 85AE
+26F73 26F74 26F9F 26FA1 85AD 85AF 8667 8668 45E9 45EE
+87AA 87AB 87AC 87AD 87AE 87AF 87B0 87B1 87B2 87B3
+87B4 87B5 87B6 87B7 87B8 87B9 87BA 87BB 87BC 87BD
+87BE 87BF 87C0 87C1 87C2 87C3 87C4 87C5 87C6 87C7
+87C8 87C9 87CA 87CB 87CC 87CD 87CE 87CF 87D0 87D1
+87D2 27422 87DE 465B 8933 8935 8936 8937
+8938 8939 893A 893B 893C 893D 893E 893F 8940 8941
+8942 8943 8944 8945 8954 8952 2775E 89AB 89AC 89AD
+89AE 89AF 89F2 89F3 27924 4700 8B04 8B05 8B06 8B07
+8B08 8B09 8B0A 8B0B 8B0C 8B0D 8B0E 8B0F 8B10 8B11
+8B12 8B13 8B15 8B16 8B17 8B18 8B19 8B1A 8B1B 8B1C
+8B1D 8B1E 8B1F 8B20 8B21 8B22 27ABD 27ABE 4726 8C3F
+8C40 8C41 8C4F 8C6F 8C70 8C71 8C72 8C73 8C94 8C95
+8C96 8CF6 8CF7 8CF8 8CF9 8CFA 8CFB 8CFC 8CFD 27DDC
+8D61 8D62 8D6F 8DA8 8E46 8E47 8E48 8E49 8E4A 8E4B
+8E4C 8E4D 8E4E 8E4F 8E50 8E51 8E52 8E53 280E8 280E9
+280F4 8F3D 8F3E 8F3F 8F40 8F41 8F42 8F43 8F44 8F45
+2836D 2837D 8FAB 48AE 907D 907E 907F 9080 9081 9082
+9083 9084 9085 9089 2860B 9138 9139 9198
+9199 919A 919B 919C 919D 919E 919F 91A0 91A1 91A2
+91A3 91A4 28933 493C 9328 9347 9349 934A 934B 934C
+934D 934E 934F 9350 9351 9352 9353 9354 9355 9356
+9357 9358 9359 935A 935B 935C 935D 935E 935F 9360
+9361 9362 9363 9364 9365 9366 9367 9368 9369 936A
+936B 936C 936D 936E 936F 9370 9371 9372 9373 9374
+9375 9376 9377 9378 9379 937B 937C 937D 937E 937F
+9380 9381 9382 9383 9384 9385 9386 9387 28A32 28A36
+28A44 28A45 28A46 28A47 28A48 28A49 28A4A 28A4B 28A59 28A5A
+28A81 28A82 28A83 93A1 93AF 9561 9562 9563 9564 9565
+9566 9567 9568 9569 956A 956B 95C0 95B7 95C3 95C4
+95C5 95C6 95C7 95C8 95C9 95CA 95CB 95CC 95CE 95CF
+96AC 96AD 96AE 96AF 96B0 96B1 96B2 96B8
+4A01 4A02 96D6 4A24 9718 9719 971A 971B 971C 971D
+971E 971F 9720 2910D 29110 9721 4A4A 979A 979B 979C
+979D 979E 979F 97A0 97A1 97D3 97D4 97D5 97F1 4AD1
+9840 9841 9842 9843 9844 9845 9846 9847 9848 9849
+984A 294E5 294E7 4B10 98B6 98B7 295E9 295F4 4B20 9925
+992A 992B 992C 992D 992F 9930 9931 9932 9933 9935
+9937 29732 9942 9946 9998 4B70 4B72 99A1 99A2 99A3
+4B8E 4B90 99F4 99F5 99F6 99F7 99F8 99F9 99FA 99FB
+99FC 99FD 99FE 99FF 9A00 9A01 9A02 9A03 298EA 99F3
+9AA4 9ABD 9ABE 9AFC 9AFD 9AFE 9AFF 9B00 9B01 9B02
+9B34 9B48 9B49 9B86 4C4B 4C4C 4C4D 9B99 9B9A 9B9B
+9B9C 9B9D 9B9E 9B9F 9BA0 9BA1 9BA2 9BA4 9BA5 9BA6
+9BA7 9BA8 9BA9 9BAA 9BAB 9BAC 9BAD 9BAE
+9BAF 9BB0 9BB1 9BB2 9BB3 9BB4 9BBA 9BCE 9CBC 9CBD
+9CBF 9CC0 9CC1 9CC2 9CC3 9CC4 9CC5 9CC6 9CC7 9CC8
+9CC9 9CCA 9CCB 9CBE 9D1C 4CCD 4CD4 9D2D 9D2E 9D2F
+9D30 9D31 9D32 9D33 9D34 9D35 9D36 9D37 9D38 9D39
+9D3A 9D3B 9D3C 9D3D 9D3E 9D3F 9D40 9D41 9D42 9D43
+9D44 9D45 9D46 9D47 9D48 9D49 2A014 9D67 9E69 9E6A
+9E6B 9E6C 9E89 9E8A 9E8B 2A2B2 9EAF 9EB0 9EC7 9EC8
+9EC9 9ECF 9EDA 9EDB 9EDC 9EDD 9EDE 2A434 9EFB 9EFF
+9F22 9F23 9F24 9F3E 9F3F 9F4B 2A5C6 9F54 9F62 9F8B
+9F8C 9FA0
+FDD0-2812
+512D 512E 512F 5131 34AF 204FE 5181 205A5 20AC2 53E2
+3609 5694 5695 5696 5697 5698 5699 569A 569B 569C
+569D 569E 569F 56A0 56A1 56A2 56A3 56A4 21096 2109D
+210B4 210BF 210C0 210C1 210C7 210C8 210C9 210CF 210D3 56AE
+58D8 58D9 214B6 5911 5913 5970 3730 3731 5B38 5B3A
+5B3B 5B3C 218FA 5C69 5C6A 5DC0 5DC1 5DC2 5E6D 5E6E
+5EEB 5F4D 5F5D 5F5E 399B 61D5 61D6 61D8 61DF 61E3
+39A1 61E9 61EA 61EB 61ED 61EE 61F0 61F1 61F3 61F4
+6233 64E7 64EA 3A61 3A66 3A67 64E5 64F2 64F4 64F5
+64F6 64F7 64F8 64F9 64FA 64FB 64FC 64FD 64FE 64FF
+6501 6502 6503 6504 6505 6506 22E0D 3AAB 8D01 23066
+6594 2308E 65B7 65DB 3B23 3B24 3B25 3B26 3B27 3B28
+66D8 66DB 66DC 232E0 232E1 6726 6AAB 6AAC
+6AAD 6AAE 6AAF 6AB0 6AB1 6AB2 6AB3 6AB4 6AB5 6AB6
+6AB7 6AB8 6AB9 6ABA 6ABB 6ABC 6ABD 6ABE 6ABF 6AC0
+6AC1 6AC2 6AC3 6AC4 6AC5 6AC6 6AC7 6AC8 6AC9 6ACA
+23766 23781 6AE1 6AED 6B5E 6B5F 6B78 6BAF 6BC9 6C0B
+6FF7 3D7D 6FF9 6FFA 6FFB 6FFC 6FFD 6FFE 6FFF 7000
+7001 7002 7003 7005 7006 7007 7008 7009 700A 700B
+700C 700D 700E 700F 7010 7011 7012 7013 7014 24085
+2408B 2408C 2408D 24091 7026 3E04 71F8 71F9 71FA 71FB
+71FC 71FD 71FE 71FF 7200 7201 7203 24435 24436 269A8
+7375 7376 7377 74A7 74B5 74B6 74B8 74B9 74BB 74BC
+74BE 74BF 74C0 74C1 74C2 24A8C 24A93 24A94 24A95 24A96
+24AA4 24AA5 24AA6 24AA7 7513 7514 7515 7585 764F 7650
+7651 7652 7653 7654 7655 7656 7657 7658
+7659 765A 765B 765C 765D 765E 7664 76A6 76A7 76A8
+24FA9 3FF9 76BD 76EB 76EC 77B8 77B9 77BA 77BB 77BC
+77BD 77BE 77BF 77C0 77C1 77C2 252D8 7906 7907 7908
+7909 790A 790B 790C 790D 790E 790F 7910 7911 7912
+7913 7914 7915 7916 4120 79AC 79AD 79AE 79AF 7A5F
+7A60 7A61 7A62 7A63 258C8 7AC4 7AC5 7AF5 424E 4255
+7C19 7C1A 7C1B 7C1C 7C1D 7C1E 7C1F 7C20 7C21 7C22
+7C23 7C24 7C25 7C26 7C27 7C28 7C29 7C2A 7C2B 7C2D
+7C2E 7C2F 7C30 7C31 7C32 25CC1 25CFE 25D20 42A6 7CE3
+7CE4 7CE5 7CE6 7CE7 25F1A 4318 7E4E 7E4F 7E50 7E51
+7E52 7E53 7E54 7E55 7E56 7E57 7E58 7E59 7E5A 7E5B
+7E5C 7E5D 7E5E 7E5F 7E60 7E61 7E62 7E63 7E64 7E65
+7E67 7E71 26159 2615A 2615B 2615C 7F47 7F48
+7F49 26258 7F80 7F82 7FB3 7FB4 7FB5 4397 7FF7 7FF8
+7FF9 7FFA 7FFB 2648D 26498 802D 802E 8075 8076 8077
+4443 4444 4445 81CD 81CE 81CF 81D0 81D1 81D2 81D3
+26888 820A 8219 825E 825F 8260 448F 452E 4533 453B
+453D 453F 4540 4543 4544 85A9 85B0 85B1 85B2 85B3
+85B4 85B5 85B6 85B7 85B8 85B9 85BA 85BB 85BC 85BD
+85BE 85BF 85C0 85C1 85C2 85C3 85C4 85C5 85C6 85C7
+85C8 85C9 85CA 85CB 85CC 85CD 85CE 85CF 85D0 85D2
+85D3 26FBE 26FDE 26FDF 2700E 459B 8669 87D7 87D3 87D4
+87D6 87D8 87D9 87DA 87DB 87DC 87DD 87DF 87E0 87E2
+87E3 87E4 87E5 87E6 87E7 87E8 87E9 87EA 87EB 87EC
+87ED 87EE 87EF 87F0 87F1 87F2 87F3 87F4 87F5 880E
+27450 27484 27486 8946 8947 8948 8949 894A
+894B 894C 894D 894E 894F 8950 8951 8953 8955 27784
+27785 8986 468D 89B0 89B1 89B2 89B3 89F4 9D64 8B23
+8B24 8B25 8B26 8B27 8B28 8B29 8B2A 8B2B 8B2C 8B2D
+8B2E 8B2F 8B30 8B31 8B32 8B33 8B34 8B35 8B36 8B37
+8B38 8B39 8B3A 8B3B 8B3C 8B3D 8B3E 27AF4 8B47 8C42
+8C50 8C74 8C75 8C97 8C98 8C99 8CFE 8CFF 8D00 8D02
+8D03 8D04 8D05 8DA9 4820 8E54 8E55 8E56 8E57 8E58
+8E59 8E5A 8E5B 8E5C 8E5D 8E5E 8E5F 8E60 8E61 8E62
+8E63 8E64 8E65 8E66 8E67 8E6E 8E80 2812E 8E69 8EBF
+8EC0 8EC1 2827C 4871 8F46 8F47 8F48 8F49 8F4A 8F4B
+8F4C 2838A 8FAC 9087 9088 28625 9128 913A 913B 913C
+913D 913E 91A5 91A6 91A7 91A8 91A9 91AA 91AB 91AC
+91D0 493E 4944 4945 4947 9388 9389 938A
+938B 938C 938D 938E 938F 9390 9391 9392 9393 9394
+9395 9396 9397 9398 9399 939A 939B 939C 939D 939E
+939F 93A0 93A2 93A3 93A4 93A5 93A6 93A7 93A8 93AA
+93AB 93AC 93AD 93AE 93B0 93B1 93B2 93B3 93B4 93B5
+93B6 93B7 93B8 93B9 93BA 93BB 93BC 93BD 93BE 93BF
+28A9A 28A9B 28A9C 28AC0 28AC6 28ACB 28ACC 28ACE 956C 956D
+956E 956F 9570 9571 95D0 95D1 95D2 95D3 95D4 95D5
+95D6 95D7 95D8 28D99 96B3 4A03 96D7 96D8 96D9 96DA
+96DB 96DC 96DD 96DE 96DF 96E0 96E2 4A26 9722 9723
+9724 9725 975D 97A2 97A3 97A4 97A5 97A6 97A7 97A8
+97A9 97AA 97AB 97AC 97AD 97AE 97AF 97B0 4A96 97D6
+97D7 97D8 97D9 97DA 97F9 97FA 29433 983F 983E 984B
+984C 984D 984E 984F 9850 9851 9852 9853
+9854 9855 98A2 98A3 98B8 98B9 98BA 4B49 4B4B 4B4C
+992E 9936 9938 9939 993A 993B 993C 993D 993E 993F
+9940 9941 99A4 99A5 4B93 4B96 4B97 9A04 9A05 9A06
+9A07 9A08 9A09 9A0A 9A0B 9A0C 9A0D 9A0E 9A0F 9A10
+9A11 9A12 9A13 298F1 29903 29905 9AC0 9AC1 9ADC 4C00
+4C01 9B03 9B04 9B05 9B06 9B08 9B29 9B35 9B36 4C26
+9B4A 9B4B 9B4C 9B4D 9B4E 9B4F 9BB5 9BB6 9BB7 9BB8
+9BB9 9BBB 9BBC 9BBD 9BBE 9BBF 9BC0 9BC1 9BC2 9BC3
+9BC4 9BC6 9BC7 9BC8 9BC9 9BCA 9BCB 9BCC 9BCD 9BCF
+9BD0 9BD1 9BD2 9BD3 9BFD 29DF6 9CCC 9CCD 9CCE 9CCF
+9CD0 9CD1 9CD2 9D4A 9D4B 9D4C 9D4D 9D4E 9D4F 9D50
+9D51 9D52 9D53 9D54 9D55 9D56 9D57 9D58 9D59 9D5A
+9D5B 9D5C 9D5D 9D5E 9D5F 9D60 9D62 9D63
+9D65 9E6D 9E6E 9E6F 9E70 4D26 9E8C 9E8D 9E8E 9E8F
+9E90 2A2B4 2A2B6 2A2BA 2A2BD 4D36 9EB1 9EB2 9EBF 9ECA
+9ECB 9EDF 9EE0 9EE1 9F00 9F01 9F02 9F15 9F16 9F25
+9F26 9F27 9F28 9F29 9F2A 9F2B 9F2C 9F4C 9F55 9F8E
+FDD0-2813
+3426 34A3 5133 5134 5135 5296 52F7 52F8 5336 53B4
+58E1 56A5 56A6 56A7 56A8 56A9 56AA 56AB 56AC 56AD
+56AF 56B0 210E4 210F4 210F5 210F6 58DA 58DB 58DC 58DD
+58DE 58DF 58E0 58E2 5912 5B3D 3732 3733 3734 3735
+5B39 5B3E 5B3F 21903 21904 21905 5B7C 5BF3 5BF4 5BF5
+5C6B 3820 3822 5DC3 5DC4 5DC5 21F9E 21FA1 5E70 22173
+5EEC 5EED 9F90 5F5F 5FBF 61EC 61EF 61F2 61F5 61F6
+61F7 22926 22939 61FB 6500 6507 6508 6509 650A 650B
+650C 650D 650E 650F 6510 6512 22E36 22E42 6584 65DC
+65DD 65DE 3B29 3B2A 66DD 66DE 66DF 66E0 66E1 66E2
+3C00 3C01 3C02 3C04 6ACB 6ACC 6ACD 6ACE 6ACF 6AD0
+6AD1 6AD2 6AD3 6AD4 6AD5 6AD6 6AD7 6AD8 6AD9 6ADA
+6ADC 6ADD 6ADE 6ADF 6AE0 6AE2 6AE3 6AE4
+6AE5 6AE6 6AEB 237A2 237BC 237C2 6AE7 6B60 6BB0 6BB1
+23ADB 6C0C 3D85 3D8A 6FF3 7015 7016 7017 7018 7019
+701A 701B 701C 701D 701E 701F 7020 7021 7022 7023
+7024 7025 7027 7028 7029 702B 702C 702D 702E 240C9
+240E1 7202 3E06 7204 7205 7206 7207 7208 7209 720A
+720C 720D 720E 7215 2445A 2445B 7258 72A1 72A2 72A3
+72A4 72A5 72A6 7378 7379 737A 74B7 74BD 3F04 3F06
+74C3 74C4 74C5 74C6 74C7 74C8 74C9 74CA 74CB 24AB1
+24AB2 24AB3 24ABA 24ABB 24ABC 74E3 7516 7586 7587 765F
+7660 7661 7663 76A9 2502C 77C3 77C4 77C5 77C6 77C7
+77C8 77C9 77CA 2530E 25311 25313 77F1 7917 7918 7919
+791A 791B 791C 791D 791E 791F 7920 7921 255B9 79B0
+79B1 2571D 7A64 7A65 7A66 7A67 7A68 7A69
+7A6A 7A6B 258E1 7AC6 7C2C 424F 4260 7C33 7C34 7C35
+7C36 7C37 7C38 7C39 7C3A 7C3B 7C3C 7C3D 7C3E 7C3F
+7C40 7C41 7C42 25D30 25D43 7CE9 7CEA 7CEB 7CEC 7CED
+25F4B 4320 7E4B 7E66 7E68 7E69 7E6A 7E6B 7E6C 7E6D
+7E6E 7E6F 7E70 7E72 7E73 7E74 7E75 7E76 7E77 7E78
+7E79 7E7A 7F35 7F4A 7F4B 7F83 7F84 7F85 7F86 7FB6
+7FB7 7FB8 7FB9 7FFD 7FFE 8078 81CB 4446 81D4 81D5
+81D7 81D8 2688A 26893 26926 820B 821A 8261 8262 8263
+8264 8265 8276 4545 4546 4551 FA1F 85D1 85D5 85D6
+85D7 85D8 85D9 85DA 85DB 85DC 85DD 85DE 85DF 85E0
+85E1 85E2 85E3 85E4 85E5 85E6 85E7 85E8 85E9 85EA
+85EB 85EC 85ED 85EF 85F0 85F1 85F2 85F3 85F4 85F5
+2704B 27052 27053 85F7 85F8 8801 87D5 87F6
+87F7 87F8 87F9 87FA 87FB 87FC 87FD 87FE 87FF 8800
+8802 8803 8804 8805 8806 8807 8808 8809 880A 880B
+880C 880D 880F 881E 8956 8957 8958 8959 895A 895B
+895C 895D 895E 895F 8960 8961 8962 8987 8988 89B4
+89B5 89B6 89B7 89B8 89F5 89F6 8B3F 8B40 8B41 8B42
+8B43 8B44 8B46 8B48 8B49 8B4A 8B4B 8B4C 8B4E 8B4F
+8B50 8B51 8B52 8B53 8B54 8B55 8B56 8B57 8B58 8B59
+8B5A 8B5B 8B5C 27B06 27B0B 27B18 8C36 8C43 8C77 8C76
+8C9A 8D06 8D07 8D08 8D09 8D0A 8D0B 8D0C 8DAA 8DAB
+8DAC 8DAD 4826 8E68 8E6A 8E6B 8E6C 8E6D 8E6F 8E70
+8E71 8E72 8E73 8E74 8E75 8E76 8E77 8E78 8E79 8E7A
+8E7B 8E7C 8E7D 8E7E 8E7F 2814F 2815D 2816F 8E87 8EC2
+8EC3 8EC4 8EC5 8F4D 8F4E 8F4F 8F50 8F51
+8F52 8F53 8F54 8FAD 8FB4 908A 908B 908C 2863B 913F
+9140 9142 4911 91AD 91AE 91AF 91B0 91B1 4949 4951
+4953 93A9 93C0 93C1 93C2 93C3 93C4 93C5 93C6 93C7
+93C8 93C9 93CA 93CB 93CC 93CD 93CE 93CF 93D0 93D1
+93D2 93D3 93D4 93D5 93D6 93D7 93D8 93D9 93DA 93DB
+93DC 93DD 93DE 93DF 93E0 93E1 93E2 93E3 93E4 93E5
+93E6 93E7 93E8 93E9 93EA 93EB 93EC 93ED 93EE 93EF
+93F0 93F1 93F2 93F9 28ADE 28ADF 28AE0 28AE1 28AE2 28AE3
+28AE5 28AEA 28AFC 28B0C 9572 957D 95D9 95DA 95DB 95DC
+95DD 96B4 4A04 96E1 96E3 9726 9727 9728 9729 972A
+972B 972C 972D 2913C 2914D 2915B 9761 97B1 97B2 97B3
+97B4 97B5 97B6 97B7 97DC 97DD 97DE 97DF 97F2 97FB
+97FC 4AE4 9856 9857 9858 9859 985A 985B
+985C 985D 985E 98A4 4B19 98BB 98BC 98BD 98BE 98BF
+98C0 4B53 9943 9944 9945 9947 9948 9949 99A6 99A7
+29857 4B9D 9A14 9A15 9A16 9A17 9A18 9A19 9A1A 9A1B
+9A1C 9A1D 9A1E 9A1F 9A20 9A21 9A22 9A23 9A24 9A25
+9A26 9A27 9A28 2992F 9AA5 9AC2 9AC3 9AC5 4C04 4C07
+9B09 9B0A 9B0B 9B0C 9B0D 9B0E 9B0F 9B37 9BC5 4C5B
+9BD4 9BD5 9BD6 9BD7 9BD8 9BD9 9BDA 9BDB 9BDC 9BDD
+9BDE 9BDF 9BE0 9BE1 9BE2 9BE3 9BE4 9BE5 9BE6 9BE7
+9BE8 9BE9 9BEA 9BEB 9BEC 9BED 9BEE 9BEF 9BF0 9BF1
+9BF2 9BF3 9BF4 9BF5 29E06 29E2D 9BFA 9CD3 9CD4 9CD5
+9CD6 9CD7 9CD8 9CD9 9CDA 9CDB 9D61 4CE1 9D66 9D68
+9D69 9D6A 9D6B 9D6C 9D6D 9D6E 9D6F 9D70 9D71 9D72
+9D73 9D74 9D75 9D76 9D77 9D78 9D79 9D7A
+9D7B 9D7C 9D7D 9D7E 9D7F 9D80 9D81 9D82 9D83 9D84
+9D85 9D86 9D87 9D88 9D89 9D8A 9D8B 9D8C 9D8D 9D8E
+9D8F 9D91 2A087 9E71 9E72 9E78 9E91 9E92 9E93 9E94
+9E95 9E96 9E97 9EB3 9EB4 9EC0 4D4C 9EE2 9EE3 9EFC
+9F03 9F04 9F17 9F2D 9F40 9F41 9F4D 9F56 9F57 9F58
+9F8F 2A6A9
+FDD0-2814
+34A5 5136 5337 56B1 56B2 56B3 56B4 56B5 56B6 56B7
+56B8 56B9 2112F 56BC 58E3 58E4 58E5 214E8 3736 3737
+3738 5B40 5B41 5B42 5B43 5B44 5B45 5B46 21910 21911
+21912 21915 5B7D 5B7E 5BF6 5DC6 5DC7 5DC8 5DC9 5DCA
+5DCC 5E71 2217A 5EEE 5EEF 5EF0 5FC0 5FC1 39A4 61F8
+61F9 61FA 2294F 3A70 6513 6514 6515 6516 6517 6518
+6519 651A 6585 6586 65DF 3B2B 66E3 66E4 66E5 66E6
+66E7 66E8 23300 6727 3C09 3C0A 3C0D 3C11 6AE8 6AE9
+6AEA 6AEC 6AEE 6AEF 6AF0 6AF1 6AF2 6AF3 6AF4 6AF5
+6AF6 237D5 237D6 237D7 6AF9 702A 3D8F 3D91 702F 7030
+7031 7032 7033 7034 7035 7036 7037 7038 7039 703A
+703B 703C 703D 703E 703F 7040 7041 24104 7042 3E0A
+720B 720F 7210 7211 7212 7213 7214 7216
+7217 7218 24473 24487 24488 72A7 72A8 24706 737B 737C
+737D 74BA 74CC 74CD 74CE 74CF 74D0 74D1 74D2 24AC0
+24AC7 7588 7589 7662 7665 7666 76AA 76AB 3FFA 76BE
+76ED 77CB 77CC 77CD 77CE 77CF 77F2 7922 7923 7924
+7925 7926 7927 7928 7929 792A 792B 792C 79B2 7A6C
+7A6D 7A6E 7A6F 7AC7 7AF6 7AF7 7C43 7C44 7C45 7C46
+7C47 7C48 7C49 7C4A 7C4B 7C4C 7C4D 7C4E 7C4F 7C55
+42AE 7CEE 7CEF 7CF0 4326 7E7B 7E7C 7E7D 7E7E 7E7F
+7E80 7E81 7E82 7E83 261AD 261AE 261B2 7F4C 26335 7FBA
+7FFF 8000 802F 8079 807A 807B 807C 81D6 81D9 81DA
+81DB 81DC 269B5 8266 8267 8268 8269 4552 4554 4555
+4557 455C 8624 85EE 85F6 85F9 85FA 85FB 85FC 85FD
+85FE 85FF 8600 8601 8602 8603 8604 8605
+8606 8607 8608 8609 860A 860B 860C 860D 860E 860F
+8610 8611 8613 8614 8622 27088 270AD 270AE 270AF 8612
+861B 8630 4600 4601 8810 8811 8812 8813 8814 8815
+8816 8817 8818 8819 8963 8964 8965 8966 8967 8968
+89B9 89BA 89BB 89F7 89F8 89F9 4713 4718 8B4D 8B5D
+8B5E 8B5F 8B60 8B61 8B62 8B63 8B64 8B65 8B66 8B67
+8B68 8B69 8B6A 8B6B 8B6C 8B6D 8B6E 8B6F 8B70 8B71
+8B72 27B38 27B39 27B3A 8C51 27C12 8D0D 8D0E 8D0F 8DAE
+8E81 8E82 8E83 8E84 8E85 8E86 8E88 8E89 28189 8EC6
+8F55 8F56 8F57 8F58 8F59 8F5A 8FAE 908D 9141 9143
+91B2 91B3 91B4 91B5 91B6 91B7 91B8 91CB 93F3 93F5
+93F6 93F7 93F8 93FA 93FB 93FC 93FD 93FE 93FF 9400
+9401 9402 9403 9404 9405 9406 9407 9408
+9409 940A 940B 940C 940D 940E 940F 9410 9411 9412
+9413 9414 9415 9416 9417 9418 9419 941A 941B 941C
+941D 941E 941F 9420 9421 9422 9423 9424 9425 9426
+9427 9428 28B13 28B21 28B22 28B2B 28B2C 28B2D 28B2F 28B46
+28B4C 28B4E 28B50 942F 943C 9573 9574 95DE 95DF 95E0
+95E1 28DB9 96B5 972E 972F 9730 9731 9733 9734 2915E
+29170 4A4B 97B8 97B9 97BA 97BB 97DB 97E0 97FD 97FE
+97FF 985F 9860 9861 9862 9863 98A5 98C1 98C2 98C3
+98C4 994A 994B 994C 994D 994E 9950 9951 9952 9953
+9959 99A8 9A29 9A2A 9A2B 9A2C 9A2D 9A2E 9A2F 9A30
+9A31 9A32 9A33 9A34 9A35 9A36 9A37 9A38 29947 29948
+29949 2995D 2996A 9AA6 9AA7 9AC4 9AC6 9AC7 9AC8 9AC9
+9ACA 9ACB 9ACC 9B10 9B11 9B12 9B13 9B2A
+9B38 9B50 9BFB 4C6D 9BF6 9BF7 9BF8 9BF9 9BFC 9BFE
+9BFF 9C00 9C01 9C02 9C03 9C04 9C05 9C06 9C07 9C08
+9C09 9C0A 9C0B 9C0C 9C0D 9C0E 9C0F 9C10 9C11 9C12
+9C13 9C14 9C15 9C16 9C17 9C18 9C19 9C1A 9C1B 9C20
+29E68 9C40 9CDC 9CDD 9CDE 9CDF 4CED 9D90 9D92 9D93
+9D94 9D95 9D96 9D97 9D98 9D99 9D9A 9D9B 9D9C 9D9D
+9D9E 9D9F 9DA0 9DA1 9DA2 9DA3 9DA4 9DA5 9DA6 9DA7
+9DA8 9DA9 9DAA 9DAB 2A0B9 2A0E1 2A0ED 2A0F3 2A0F8 9DBF
+9E79 9E98 9E99 9E9A 9E9B 9EB5 9EC1 2A3A9 4D4D 9EE4
+9EE5 9EE6 9EE7 9EE8 9EE9 9EEA 2A45B 9F0D 9F2E 9F2F
+9F30 2A5CB 9F59 9F5A 9F5B 9F5D 9F5E 9F5F 9F60 9F61
+9F63 9F91
+FDD0-2815
+34A7 5137 5138 5139 513A 5164 5297 5298 2082C 535B
+56BA 56BB 56BD 56BE 56BF 56C0 56C1 56C2 56C3 56C4
+56CD 2113B 2113D 21145 21148 2114F 58E6 214FD 5914 3739
+5B47 5B48 5B49 2191C 5BF7 5C6C 5DCB 3826 5DCD 5DCF
+5DD0 5EF1 5FC2 61FC 61FD 61FE 6511 651B 651C 651D
+22E78 6595 66E9 2330A 6707 3C15 6AF8 6AFA 6AFB 6AFC
+6AFD 6AFE 6AFF 6B00 6B01 6B02 6B03 6B04 6B05 6B0C
+6BB2 7043 7044 7045 7046 7047 7048 7049 704A 704B
+704C 704D 704F 7050 2410F 24119 3E0D 7219 721A 721B
+244B9 721D 737E 74D3 74D4 74D6 24ACA 24AD1 7517 3FD7
+7667 7668 7669 766A 766B 76AC 24FB8 77D0 77D1 77D2
+77D3 792D 792E 792F 7930 7931 7932 7933 7934 255D5
+255DB 25725 25903 7AC3 7AC8 7AC9 7C56 426A
+7C50 7C51 7C52 7C53 7C54 7CF2 7E84 7E85 7E86 7E87
+7E88 7E89 7E8A 7E8B 7E8C 7E8D 7E8E 7E8F 7E90 7F4D
+7FBB 7FBC 8030 81DD 826A 4562 85D4 8615 8616 8617
+8618 8619 861A 861C 861D 861E 861F 8620 8621 8623
+8625 8626 8627 8628 8629 862A 862B 862D 862E 862F
+270CD 270F8 27109 2710C 4602 881A 881B 881C 881D 881F
+8820 8821 8822 8823 8824 8829 882B 884A 8969 896A
+896B 896C 896D 896E 89BC 89BD 89FA 8B45 8B73 8B74
+8B75 8B76 8B77 8B78 8B79 8B7A 8B7B 8B7C 8B7D 27B48
+8D10 8D11 8D12 8D13 8D14 8D63 8DAF 8DB0 8E8A 8E8B
+8E8C 8E8D 8E8E 8E8F 281AF 281BC 8EC7 8F5B 8F5C 8F5D
+8F5E 8F5F 8FAF 908E 9144 9145 9146 91B9 91BA 91BB
+4965 93F4 9429 942A 942B 942C 942D 942E
+9430 9431 9432 9433 9434 9435 9436 9437 9438 9439
+943A 943B 943D 943E 943F 9440 9441 28B63 28B64 28B65
+28B66 28B6C 28B8F 95E2 95E3 95E4 95E5 95E6 96E4 9732
+9735 9736 9737 9738 9739 973A 973B 9767 97BC 97BD
+97BE 97BF 97E1 97E2 2943F 9864 9865 9866 9867 9868
+98A6 98C5 98C6 98C7 98C8 98C9 98CA 98DC 994F 9956
+9957 9958 99A9 9A39 9A3A 9A3B 9A3C 9A3D 9A3E 9A3F
+9A40 9A41 9A42 9A43 9A44 9A45 9A46 9A47 9ACD 9ACE
+9ACF 9B14 9B15 9B16 9B17 9B18 9B39 9B3A 9B51 9B52
+9B53 9B54 4C7D 9C1C 9C1D 9C1E 9C1F 9C21 9C22 9C23
+9C24 9C25 9C26 9C27 9C28 9C29 9C2A 9C2B 9C2C 9C2D
+9C2E 9C2F 9C30 29EAC 4CA3 4CA4 9CE0 9CE1 9CE2 9CE3
+9DAC 9DAD 9DAE 9DAF 9DB0 9DB1 9DB2 9DB3
+9DB4 9DB5 9DB6 9DB7 9DB8 9DB9 9DBA 9DBB 9DBC 9DBD
+9DBE 9DC0 9DC1 9DC2 9DC3 9DC4 9DC5 9DC6 9DC7 9DC8
+9DC9 9DCA 9DCC 9DCD 9DCE 9DCF 2A0FE 2A107 2A123 9E7A
+9E7B 9E9C 9E9D 4D4E 9EEB 9EEC 9EED 9EEE 9EEF 9F05
+9F18 9F19 9F1A 9F1B 9F31 9F4E 9F5C 9F64 9F65 9F66
+9F67 9F68 9F69 2A601 9F92 9F9D 9FA1
+FDD0-2816
+4EB9 513B 513C 20465 20979 3618 56C5 56C6 56C7 56C8
+56C9 56CA 56CB 56CE 571D 5971 373A 5B4A 5B4B 5B4C
+21922 21927 5B7F 5DCE 5DD1 5DD2 5DD3 5DD4 5DD5 5DD7
+5EF2 5F4E 5F72 61FF 6202 22967 2296B 6235 651E 651F
+6520 6521 6522 6524 6526 6527 22E8B 23033 3B2C 3B2D
+3C18 6AF7 6B06 6B07 6B08 6B09 6B0A 6B0B 6B0D 6B0E
+6B61 6C0D 7051 7052 7054 7055 7056 7057 7058 2413F
+24140 24144 721C 721E 721F 7220 72A9 737F 7380 74D5
+74D7 74D8 74D9 74E4 758A 766C 766D 766E 24F0E 76AD
+7935 255E0 79B3 79B4 7A70 7A71 7ACA 7AF8 7C57 7C58
+7C59 7C5A 7C5B 7C5C 7C5D 7C5F 7C60 7C61 7CF1 7CF4
+432B 7E91 7E92 261DD 7F4E 7F4F 26261 7F87 8031 8032
+807D 807E 81DE 81DF 269FA 826B 4567 456A
+862C 8632 8633 8634 8635 8636 8637 2710D 27126 27127
+4606 8825 8826 8827 8828 882A 882C 896F 8970 8971
+8972 89BE 89BF 2789D 89FB 89FC 4720 8B7E 8B7F 8B80
+8B81 8B82 8B83 8B84 8B85 8B86 8C44 8D15 8D16 8D17
+8D18 8E90 8E91 8E92 8E93 8E94 8E95 8E96 8E97 8E9A
+8F60 8F61 8F62 9147 9148 496A 496D 9442 9443 9444
+9445 9446 9447 9448 9449 944A 944B 944C 944D 944E
+944F 9450 9451 9452 9453 9454 9467 28B99 28B9C 28B9D
+9575 9576 957E 95E7 973C 973D 973E 973F 9740 2919C
+97C0 97C1 97C2 97C3 97E3 9869 986A 986B 98CB 9954
+9955 995A 995B 297D4 9A48 9A49 9A4A 9A4B 9A4C 9A4D
+9A4E 9A4F 9A50 9A51 9A52 9A53 9A54 9A55 2999D 9AD0
+9AD2 9ADD 9B1D 4C0E 9B19 9B1A 9B1B 9B1C
+29BD5 9B2B 9B3B 9B55 9B56 4C81 9C31 9C32 9C33 9C34
+9C35 9C36 9C37 9C38 9C39 9C3A 9C3B 9C3C 9C3D 9C3E
+9C3F 9C41 9C42 9C43 9C44 9C45 9C46 9C47 9C48 9DE0
+29EC3 9C49 9CE4 9DCB 9DD0 9DD1 9DD2 9DD3 9DD4 9DD5
+9DD6 9DD7 9DD8 9DD9 9DDA 9DDB 9DDC 9DDD 9DDE 9DDF
+2A133 2A134 2A150 9DE9 9DF5 9E73 9E74 9E9E 2A2DF 9EB6
+9ED0 9EF0 9EF1 9F32 9F33 9F34 9F35 9F42 4D9C 9F6A
+9F6B 9F6C 9F93 9F94 9F95 9FA2
+FDD0-2817
+513D 5299 529A 20ACD 361A 56CC 56CF 56D0 58E7 58E8
+21582 5972 5B4D 5DD6 5DD8 5DDA 5F4F 6200 6201 6203
+6204 6523 3A77 6525 6528 6529 652A 652B 6596 3B2E
+66EA 66EB 66EC 6B0F 6B10 6B11 6B12 2383A 6BCA 7053
+7059 705A 705B 705C 2414E 24155 24156 24157 2415C 2415F
+7221 7222 244BC 244CE 244D3 244D6 7381 7382 7383 74DA
+24ADF 766F 7670 77D4 7936 7937 79B5 7C5E 4274 7C62
+7C63 7C64 7C65 7C66 7C67 7C68 7CF5 7E93 7E94 7E95
+7E96 81E2 268C7 826C 4577 8631 8638 8639 863A 863B
+863C 863D 863E 863F 8640 8641 2721B 8834 882D 882E
+882F 8830 8831 8832 8833 8973 8974 8976 8989 89FD
+89FE 8B87 8B88 8B89 8B8A 8B8B 8B8C 8B8D 8B8E 8B8F
+8B90 8C45 8D19 8D1A 8DB1 8E98 8E99 8E9B
+8E9C 2829B 8F63 8F64 908F 9090 91BC 4972 9455 9456
+9457 9458 9459 945A 945B 945C 945D 945E 945F 9460
+9461 9462 9463 9464 9465 9466 28BC2 28BC5 28BD4 28BD7
+28BD9 28BDA 4A35 9741 291A8 9768 97C4 97C5 9800 986C
+986D 986E 986F 98A7 995C 99AA 9A56 9A57 9A58 9A59
+9A5A 9A5B 9A5C 9AD1 9AD3 9AD4 9ADE 9B1E 9B1F 9B20
+9C4A 9C4B 9C4C 9C4D 9C4E 9C4F 9C50 9C51 9C52 9C53
+9C54 9C55 9C56 9C57 9C58 9C59 9C5A 9C5B 29EF8 9C6A
+4D00 9DE1 9DE2 9DE3 9DE4 9DE5 9DE6 9DE7 9DE8 9DEA
+9DEB 9DEC 9DED 9DEE 9DEF 9DF0 9DF1 9DF2 9DF3 9DF4
+9DF6 9DF7 9DF8 9DFB 9DFC 2A192 2A193 2A1AB 9E9F 9EC2
+9EF2 9EF3 9EF4 9F06 9F07 9F1C 9F36 9F37 9F38 9F39
+9F43 9F44 9F4F 9F6D 9F6E 9F6F 9F70 9F71
+2A632
+FDD0-2818
+513E 204D7 56D1 56D2 56D3 21180 3681 58E9 5B4E 5B4F
+5C6D 5DD9 22980 652C 652D 66ED 66EE 6B13 6B14 6B15
+705D 705E 705F 7060 7061 7223 74DB 74E5 7671 7672
+24FC2 77D5 77D7 77D6 40FA 7938 79B6 79B7 7A73 7A72
+4276 7C6A 7E97 7F50 7F88 7F89 826D 8277 8643 8645
+27164 27165 8835 8836 8837 8838 8839 883A 884B 8862
+8975 8977 277CC 8B91 8B92 8B93 8B94 8B95 8B96 8D1B
+8E9D 8E9E 8E9F 8EA0 8EC8 91BD 91BE 91BF 91C0 91C2
+9468 9469 946A 946B 946C 28BE7 28BE8 28BE9 28BEA 28BEB
+28BEC 28BF5 96E5 96E6 9742 9743 9744 9745 9746 9747
+9748 97C6 97C7 97C8 97E4 97E5 29448 9870 995D 9A5D
+9A5E 9A5F 9AD5 9B21 9B22 9B2C 9B2D 9B57 9B58 9B59
+29D3E 9C5C 9C5D 9C5E 9C5F 9C60 9C61 9C62
+9C63 9C64 9C65 9C66 9C67 9C69 9C6B 29F23 9C70 9DFA
+4D09 9DF9 9DFD 9DFE 9DFF 9E00 9E01 9E02 9E03 9E04
+9E05 9E06 9E07 9E08 9E09 9E0A 2A1B4 9E7C 9E7D 9EA0
+9F1E 9F45 9F46 9F72 9F73 9F74 9F75 9F76 9F77
+FDD0-2819
+56D4 56D5 21187 58EA 5EF3 6205 6206 652E 65B8 3B2F
+66EF 6B16 6B17 6B18 6B19 6B1A 6B1B 6B1D 7062 7063
+7224 7225 7226 72AA 24D06 77D8 77D9 77E1 7939 7C69
+7C6B 7C6C 7C6D 7C6E 7CF6 7E98 7E99 7E9A 7E9B 81E0
+81E1 8642 8646 8647 8648 8649 883B 27574 8978 8979
+897A 897B 897C 898A 89C0 89FF 8B97 8B98 8B99 8C52
+8C9B 8D1C 27E4D 8EA1 8EA2 8EA3 8EA4 8EA5 91C1 946D
+946E 946F 9470 9471 9472 9473 28BFF 28C03 9749 9871
+9872 995E 995F 9995 4BBD 299C3 299C9 9AD6 9B23 9C68
+9C6C 9C6D 9C6E 9C6F 29F30 9E0B 9E0C 9E0D 9E0E 9E0F
+9E10 9E11 9E12 2A1DF 9EA1 9ECC 9EF5 9F08 9F09 9F1D
+9F1F 9F47 9F78 9F79 9F7A 9F7B 2A64A 9FA3
+FDD0-281A
+3536 571E 373B 5F60 6B1C 6C0E 704E 7064 7066 24AE2
+7673 77DA 7C6F 7C70 25E0E 7CF3 8644 866A 883C 8B9A
+8B9B 27E4F 8DB2 8EA6 8EA7 91C3 91C4 9474 9475 9476
+9477 9478 9479 947A 28C09 28C1C 28C1D 974A 97C9 4BBE
+9A60 9A61 9A62 9A63 9A65 9AD7 9C71 9C72 9C73 9C74
+9C75 9C76 9E13 9E14 2A1F5 9EF6 9F0A 2A65B 9FA4 9FA5
+FDD0-281B
+7065 7067 7068 24177 2417A 72AB 7CF7 7E9C 7E9D 864A
+883D 883E 883F 897D 8B9C 8B9D 8B9E 8C53 8C9C 8EA9
+8EAA 8EC9 8F65 91C5 947B 947C 947D 947E 28C23 28C26
+974B 974C 974D 974E 9873 9874 98CC 98CD 98DD 9960
+9961 99AB 9A64 9A66 9A67 9B24 9B2E 9B30 9C77 9C78
+9E15 9E16 9E17 9EF7 9F48
+FDD0-281C
+56D6 6207 22EB3 2331F 6B1E 6B1F 7227 24AE9 3FDC 7674
+27175 864C 8C54 8EA8 28207 947F 9480 9481 9482 28C2B
+28C30 96E7 4BC0 9A68 9A69 9E18 9E19 9E1A 2A220 9EA2
+9EF8 9F3A 9F7C 9F7D 9F9E
+FDD0-281D
+7228 7E9E 864B 8B9F 4979 9483 9484 974F 9A6A 9B31
+9C79 9E1B 9E1C 9EB7
+FDD0-281E
+53B5 7675 4190 7C71 4585 28C39 97CA 9962 9A6B 29C73
+9C7A 9E1D 9E1E 2A233 4D91
+FDD0-281F
+7069 275A3 4D10 9EA3
+FDD0-2820
+706A 7C72 28C3B 9F96
+FDD0-2821
+2193B 7229 9C7B 9EA4 9F97
+FDD0-2823
+9F7E
+FDD0-2824
+9F49
+FDD0-2827
+9750
+FDD0-2830
+9F98
__END__
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale.pm b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale.pm
index b26db00f371..1fbd5ab5959 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale.pm
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale.pm
@@ -4,43 +4,70 @@ use strict;
use Carp;
use base qw(Unicode::Collate);
-our $VERSION = '0.73';
+our $VERSION = '0.89';
-use File::Spec;
-
-(my $ModPath = $INC{'Unicode/Collate/Locale.pm'}) =~ s/\.pm$//;
my $PL_EXT = '.pl';
my %LocaleFile = map { ($_, $_) } qw(
- af ar az ca cs cy da eo es et fi fil fo fr ha haw
- hr hu hy ig is ja kk kl ko lt lv mt nb nn nso om pl ro ru
- se sk sl sq sv sw tn to tr uk vi wo yo zh
+ af ar as az be bg bn ca cs cy da eo es et fa fi fil fo fr
+ gu ha haw hi hr hu hy ig is ja kk kl kn ko kok ln lt lv
+ mk ml mr mt nb nn nso om or pa pl ro ru sa se si sk sl sq
+ sr sv ta te th tn to tr uk ur vi wae wo yo zh
);
- $LocaleFile{'default'} = '';
+ $LocaleFile{'default'} = '';
+# aliases
+ $LocaleFile{'bs'} = 'hr';
+ $LocaleFile{'sr_Latn'} = 'hr';
+# short file names
$LocaleFile{'de__phonebook'} = 'de_phone';
$LocaleFile{'es__traditional'} = 'es_trad';
- $LocaleFile{'be'} = 'ru';
- $LocaleFile{'bg'} = 'ru';
- $LocaleFile{'mk'} = 'ru';
- $LocaleFile{'sr'} = 'ru';
- $LocaleFile{'zh__big5han'} = 'zh_big5';
- $LocaleFile{'zh__gb2312han'} = 'zh_gb';
- $LocaleFile{'zh__pinyin'} = 'zh_pin';
- $LocaleFile{'zh__stroke'} = 'zh_strk';
+ $LocaleFile{'fi__phonebook'} = 'fi_phone';
+ $LocaleFile{'si__dictionary'} = 'si_dict';
+ $LocaleFile{'sv__reformed'} = 'sv_refo';
+ $LocaleFile{'zh__big5han'} = 'zh_big5';
+ $LocaleFile{'zh__gb2312han'} = 'zh_gb';
+ $LocaleFile{'zh__pinyin'} = 'zh_pin';
+ $LocaleFile{'zh__stroke'} = 'zh_strk';
+
+my %TypeAlias = qw(
+ phone phonebook
+ phonebk phonebook
+ dict dictionary
+ reform reformed
+ trad traditional
+ big5 big5han
+ gb2312 gb2312han
+);
sub _locale {
my $locale = shift;
if ($locale) {
$locale = lc $locale;
$locale =~ tr/\-\ \./_/;
- $locale =~ s/_phone(?:bk)?\z/_phonebook/;
- $locale =~ s/_trad\z/_traditional/;
- $locale =~ s/_big5\z/_big5han/;
- $locale =~ s/_gb2312\z/_gb2312han/;
+ $locale =~ s/_([0-9a-z]+)\z/$TypeAlias{$1} ?
+ "_$TypeAlias{$1}" : "_$1"/e;
$LocaleFile{$locale} and return $locale;
- my ($l,$t,$v) = split(/_/, $locale.'__');
- for my $loc ("${l}_${t}_$v", "${l}_$t", "${l}__$v", "${l}__$t", $l) {
+ my @code = split /_/, $locale;
+ my $lan = shift @code;
+ my $scr = @code && length $code[0] == 4 ? ucfirst shift @code : '';
+ my $reg = @code && length $code[0] < 4 ? uc shift @code : '';
+ my $var = @code ? shift @code : '';
+
+ my @list;
+ push @list, (
+ "${lan}_${scr}_${reg}_$var",
+ "${lan}_${scr}__$var", # empty $scr should not be ${lan}__$var.
+ "${lan}_${reg}_$var", # empty $reg may be ${lan}__$var.
+ "${lan}__$var",
+ ) if $var ne '';
+ push @list, (
+ "${lan}_${scr}_${reg}",
+ "${lan}_${scr}",
+ "${lan}_${reg}",
+ ${lan},
+ );
+ for my $loc (@list) {
$LocaleFile{$loc} and return $loc;
}
}
@@ -51,12 +78,20 @@ sub getlocale {
return shift->{accepted_locale};
}
+sub locale_version {
+ return shift->{locale_version};
+}
+
sub _fetchpl {
my $accepted = shift;
my $f = $LocaleFile{$accepted};
return if !$f;
$f .= $PL_EXT;
- my $path = File::Spec->catfile($ModPath, $f);
+
+ # allow to search @INC
+# use File::Spec;
+# my $path = File::Spec->catfile('Unicode', 'Collate', 'Locale', $f);
+ my $path = "Unicode/Collate/Locale/$f";
my $h = do $path;
croak "Unicode/Collate/Locale/$f can't be found" if !$h;
return $h;
@@ -84,6 +119,94 @@ sub new {
1;
__END__
+MEMORANDA for developing
+
+locale based CLDR
+----------------------------------------------------------------------------
+af 2.0 = 1.8.1
+ar 2.0
+as 2.0 = 1.8.1
+az 2.0 = 1.8.1 (type="standard")
+be 2.0
+bg 2.0
+bn 2.0.1 (type="standard")
+bs 2.0 (alias source="hr")
+ca 2.0 = 1.8.1 (alt="proposed" type="standard")
+cs 2.0 = 1.8.1 (type="standard")
+cy 2.0 = 1.8.1
+da 2.0 = 1.8.1 (type="standard") [modify aA to pass CLDR tests]
+de__phonebook 2.0 (type="phonebook")
+eo 2.0 = 1.8.1
+es 2.0 (type="standard")
+es__traditional 2.0 = 1.8.1 (type="traditional")
+et 2.0 = 1.8.1
+fa 2.0 = 1.8.1
+fi 2.0 = 1.8.1 (type="standard" alt="proposed")
+fi__phonebook 2.0 = 1.8.1 (type="phonebook")
+fil 2.0 (type="standard") = 1.8.1
+fo 2.0 = 1.8.1 (alt="proposed" type="standard")
+fr 2.0 (fr_CA, backwards="on")
+gu 2.0 (type="standard")
+ha 2.0
+haw 2.0 = 1.8.1
+hi 2.0 (type="standard")
+hr 2.0 (type="standard")
+hu 2.0 = 1.8.1 (alt="proposed" type="standard")
+hy 2.0 = 1.8.1
+ig 2.0 = 1.8.1
+is 2.0 = 1.8.1 (type="standard")
+ja 2.0 = 1.8.1 (type="standard")
+kk 2.0
+kl 2.0 = 1.8.1 (type="standard")
+kn 2.0 (type="standard")
+ko 2.0 = 1.8.1 (type="standard")
+kok 2.0 = 1.8.1
+ln 2.0 (type="standard") = 1.8.1
+lt 2.0
+lv 2.0 (type="standard") = 1.8.1
+mk 2.0
+ml 2.0
+mr 2.0 = 1.8.1
+mt 2.0
+nb 2.0 (type="standard")
+nn 2.0 (type="standard")
+nso 2.0 = 1.8.1
+om 2.0 = 1.8.1
+or 2.0
+pa 2.0 = 1.8.1
+pl 2.0 = 1.8.1
+ro 2.0 (type="standard")
+ru 2.0
+sa 1.8.1 (type="standard" alt="proposed") [currently in /seed]
+se 2.0 = 1.8.1 (type="standard")
+si 2.0 (type="standard")
+si__dictionary 2.0 (type="dictionary")
+sk 2.0 (type="standard")
+sl 2.0 = 1.8.1 (type="standard" alt="proposed")
+sq 2.0 = 1.8.1 (alt="proposed" type="standard")
+sr 2.0 (type="standard")
+sr_Latn 2.0 = 1.8.1 (alias source="hr")
+sv 2.0 (type="standard")
+sv__reformed 2.0 = 1.8.1 (type="reformed")
+ta 2.0
+te 2.0
+th 2.0 (type="standard")
+tn 2.0 = 1.8.1
+to 2.0 = 1.8.1 (type="standard" alt="proposed")
+tr 2.0 = 1.8.1 (type="standard")
+uk 2.0
+ur 2.0
+vi 2.0 = 1.8.1
+wae 2.0
+wo 1.8.1 [currently in /seed]
+yo 2.0 = 1.8.1
+zh 2.0 = 1.8.1 (type="standard")
+zh__big5han 2.0 = 1.8.1 (type="big5han")
+zh__gb2312han 2.0 = 1.8.1 (type="gb2312han")
+zh__pinyin 2.0 (type='pinyin' alt='short')
+zh__stroke 2.0 = 1.9.1 (type='stroke' alt='short')
+----------------------------------------------------------------------------
+
=head1 NAME
Unicode::Collate::Locale - Linguistic tailoring for DUCET via Unicode::Collate
@@ -119,27 +242,29 @@ The C<new> method returns a collator object.
A parameter list for the constructor is a hash, which can include
a special key C<locale> and its value (case-insensitive) standing
-for a two-letter language code (ISO-639) like C<'en'> for English.
+for a Unicode base language code (two or three-letter).
For example, C<Unicode::Collate::Locale-E<gt>new(locale =E<gt> 'FR')>
returns a collator tailored for French.
-C<$locale_name> may be suffixed with a territory(country)
-code or a variant code, which are separated with C<'_'>.
+C<$locale_name> may be suffixed with a Unicode script code (four-letter),
+a Unicode region code, a Unicode language variant code. These codes are
+case-insensitive, and separated with C<'_'> or C<'-'>.
E.g. C<en_US> for English in USA,
-C<es_ES_traditional> for Spanish in Spain (Traditional),
+C<az_Cyrl> for Azerbaijani in the Cyrillic script,
+C<es_ES_traditional> for Spanish in Spain (Traditional).
-If C<$localename> is not defined,
+If C<$locale_name> is not available,
fallback is selected in the following order:
- 1. language_territory_variant
- 2. language_territory
- 3. language__variant
+ 1. language with a variant code
+ 2. language with a script code
+ 3. language with a region code
4. language
5. default
Tailoring tags provided by C<Unicode::Collate> are allowed as long as
they are not used for C<locale> support. Esp. the C<table> tag
-is always untailorable since it is reserved for DUCET.
+is always untailorable, since it is reserved for DUCET.
E.g. a collator for French, which ignores diacritics and case difference
(i.e. level 1), with reversed case ordering and no normalization.
@@ -182,17 +307,29 @@ If linguistic tailoring is not provided for a language code you passed
(intensionally for some languages, or due to the incomplete implementation),
this method returns a string C<'default'> meaning no special tailoring.
+=item C<$Collator-E<gt>locale_version>
+
+(Since Unicode::Collate::Locale 0.87)
+Returns the version number (perhaps C</\d\.\d\d/>) of the locale, as that
+of F<Locale/*.pl>.
+
+B<Note:> F<Locale/*.pl> that a collator uses should be identified by
+a combination of return values from C<getlocale> and C<locale_version>.
+
=back
=head2 A list of tailorable locales
locale name description
- ----------------------------------------------------------
+ --------------------------------------------------------------
af Afrikaans
ar Arabic
+ as Assamese
az Azerbaijani (Azeri)
be Belarusian
bg Bulgarian
+ bn Bengali
+ bs Bosnian
ca Catalan
cs Czech
cy Welsh
@@ -202,12 +339,16 @@ this method returns a string C<'default'> meaning no special tailoring.
es Spanish
es__traditional Spanish ('ch' and 'll' as a grapheme)
et Estonian
- fi Finnish
+ fa Persian
+ fi Finnish (v and w are primary equal)
+ fi__phonebook Finnish (v and w as separate characters)
fil Filipino
fo Faroese
fr French
+ gu Gujarati
ha Hausa
haw Hawaiian
+ hi Hindi
hr Croatian
hu Hungarian
hy Armenian
@@ -216,51 +357,68 @@ this method returns a string C<'default'> meaning no special tailoring.
ja Japanese [1]
kk Kazakh
kl Kalaallisut
+ kn Kannada
ko Korean [2]
+ kok Konkani
+ ln Lingala
lt Lithuanian
lv Latvian
mk Macedonian
+ ml Malayalam
+ mr Marathi
mt Maltese
nb Norwegian Bokmal
nn Norwegian Nynorsk
nso Northern Sotho
om Oromo
+ or Oriya
+ pa Punjabi
pl Polish
ro Romanian
ru Russian
+ sa Sanskrit
se Northern Sami
+ si Sinhala
+ si__dictionary Sinhala (U+0DA5 = U+0DA2,0DCA,0DA4)
sk Slovak
sl Slovenian
sq Albanian
sr Serbian
- sv Swedish
- sw Swahili
+ sr_Latn Serbian in Latin (tailored as Croatian)
+ sv Swedish (v and w are primary equal)
+ sv__reformed Swedish (v and w as separate characters)
+ ta Tamil
+ te Telugu
+ th Thai
tn Tswana
to Tonga
tr Turkish
uk Ukrainian
+ ur Urdu
vi Vietnamese
+ wae Walser
wo Wolof
yo Yoruba
zh Chinese
zh__big5han Chinese (ideographs: big5 order)
zh__gb2312han Chinese (ideographs: GB-2312 order)
- zh__pinyin Chinese (ideographs: pinyin order)
- zh__stroke Chinese (ideographs: stroke order)
- ----------------------------------------------------------
+ zh__pinyin Chinese (ideographs: pinyin order) [3]
+ zh__stroke Chinese (ideographs: stroke order) [3]
+ --------------------------------------------------------------
Locales according to the default UCA rules include
+chr (Cherokee),
de (German),
en (English),
ga (Irish),
id (Indonesian),
it (Italian),
ka (Georgian),
-ln (Lingala),
ms (Malay),
nl (Dutch),
pt (Portuguese),
st (Southern Sotho),
+sw (Swahili),
xh (Xhosa),
zu (Zulu).
@@ -276,6 +434,9 @@ and then C<katakana_before_hiragana> has no effect.
an ideograph is primary (level 1) equal to, and secondary (level 2)
greater than, the corresponding hangul syllable.
+[3] zh__pinyin and zh__stroke: implemented alt='short', where
+a smaller number of ideographs are tailored.
+
=head1 INSTALL
Installation of C<Unicode::Collate::Locale> requires F<Collate/Locale.pm>,
@@ -303,7 +464,7 @@ Thus C<(normalization =E<gt> undef)> is less preferred.
The Unicode::Collate::Locale module for perl was written
by SADAHIRO Tomoyuki, <SADAHIRO@cpan.org>.
-This module is Copyright(C) 2004-2011, SADAHIRO Tomoyuki. Japan.
+This module is Copyright(C) 2004-2012, SADAHIRO Tomoyuki. Japan.
All rights reserved.
This module is free software; you can redistribute it and/or
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/af.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/af.pl
index 68a7659f3ce..d6ea8a9fe3d 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/af.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/af.pl
@@ -1,5 +1,6 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0149 ; [.1702.0020.0009.0149] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0149 ; [.1734.0020.0009.0149] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ar.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ar.pl
index 516e02dfd2c..77cab004309 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ar.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ar.pl
@@ -1,7 +1,15 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0629 ; [.1C54.0020.0002.062A] # ARABIC LETTER TEH MARBUTA
-FE93 ; [.1C54.0020.0002.062A] # ARABIC LETTER TEH MARBUTA ISOLATED FORM
-FE94 ; [.1C54.0020.0002.062A] # ARABIC LETTER TEH MARBUTA FINAL FORM
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0629 ; [.1C90.0021.0002.0629] # ARABIC LETTER TEH MARBUTA
+FE94 ; [.1C90.0021.0019.FE94] # ARABIC LETTER TEH MARBUTA FINAL FORM
+FE93 ; [.1C90.0021.001A.FE93] # ARABIC LETTER TEH MARBUTA ISOLATED FORM
+0649 ; [.1D2D.0021.0002.0649] # ARABIC LETTER ALEF MAKSURA
+FBE8 ; [.1D2D.0021.0017.FBE8] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
+FBE9 ; [.1D2D.0021.0018.FBE9] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
+FEF0 ; [.1D2D.0021.0019.FEF0] # ARABIC LETTER ALEF MAKSURA FINAL FORM
+FEEF ; [.1D2D.0021.001A.FEEF] # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
+FC90 ; [.1D2D.0021.001B.FC90] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
+FC5D ; [.1D2D.0021.001C.FC5D] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/as.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/as.pl
new file mode 100644
index 00000000000..a4729f3d241
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/as.pl
@@ -0,0 +1,10 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0982 ; [.2030.0020.0002.0982][.FFF1.0000.0000.0000] # BENGALI SIGN ANUSVARA
+0981 ; [.2030.0020.0002.0981][.FFF2.0000.0000.0000] # BENGALI SIGN CANDRABINDU
+0983 ; [.2030.0020.0002.0983][.FFF3.0000.0000.0000] # BENGALI SIGN VISARGA
+09A4 09CD 200D ; [.203F.0020.0002.09A4][.FFF1.0000.0000.0000] # <BENGALI LETTER TA, BENGALI SIGN VIRAMA, ZERO WIDTH JOINER>
+0995 09CD 09B7 ; [.2052.0020.0002.0995][.FFF1.0000.0000.0000] # <BENGALI LETTER KA, BENGALI SIGN VIRAMA, BENGALI LETTER SSA>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/az.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/az.pl
index 615cdb60658..384b725e105 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/az.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/az.pl
@@ -1,50 +1,51 @@
+{
+ locale_version => 0.88,
# schwa doesn't require tailoring
- entry => <<'ENTRY', # for DUCET v6.0.0
-00E7 ; [.15D2.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
-0063 0327 ; [.15D2.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
-00C7 ; [.15D2.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
-0043 0327 ; [.15D2.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
-011F ; [.1645.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
-0067 0306 ; [.1645.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
-011E ; [.1645.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
-0047 0306 ; [.1645.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
-0131 ; [.167F.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
-0049 ; [.167F.0020.0008.0049] # LATIN CAPITAL LETTER I
-00CC ; [.167F.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE
-00CD ; [.167F.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
-00CE ; [.167F.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-00CF ; [.167F.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS
-012A ; [.167F.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
-012C ; [.167F.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
-012E ; [.167F.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK
-0130 ; [.1680.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
-0049 0307 ; [.1680.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
-00F6 ; [.1725.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1725.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1725.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1725.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1725.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1725.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-015F ; [.17A7.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
-0073 0327 ; [.17A7.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
-015E ; [.17A7.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
-0053 0327 ; [.17A7.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
-00FC ; [.17EA.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.17EA.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.17EA.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.17EA.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.17EA.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.17EA.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.17EA.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.17EA.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.17EA.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.17EA.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.17EA.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.17EA.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0071 ; [.16B3.0020.0002.0071] # LATIN SMALL LETTER Q
-0051 ; [.16B3.0020.0008.0051] # LATIN CAPITAL LETTER Q
-0078 ; [.1668.0020.0002.0078] # LATIN SMALL LETTER X
-0058 ; [.1668.0020.0008.0058] # LATIN CAPITAL LETTER X
+ entry => <<'ENTRY', # for DUCET v6.1.0
+00E7 ; [.1603.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+0063 0327 ; [.1603.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+00C7 ; [.1603.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+0043 0327 ; [.1603.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+011F ; [.1677.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+0067 0306 ; [.1677.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+011E ; [.1677.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0047 0306 ; [.1677.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0131 ; [.16B1.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
+0049 ; [.16B1.0020.0008.0049] # LATIN CAPITAL LETTER I
+00CC ; [.16B1.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE
+00CD ; [.16B1.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
+00CE ; [.16B1.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+00CF ; [.16B1.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS
+012A ; [.16B1.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
+012C ; [.16B1.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
+012E ; [.16B1.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK
+0130 ; [.16B2.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0049 0307 ; [.16B2.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+00F6 ; [.1757.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1757.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1757.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1757.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1757.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1757.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+015F ; [.17D9.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.17D9.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+015E ; [.17D9.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.17D9.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+00FC ; [.181C.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.181C.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.181C.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.181C.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.181C.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.181C.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.181C.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.181C.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.181C.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.181C.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.181C.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.181C.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0071 ; [.16E5.0020.0002.0071] # LATIN SMALL LETTER Q
+0051 ; [.16E5.0020.0008.0051] # LATIN CAPITAL LETTER Q
+0078 ; [.169A.0020.0002.0078] # LATIN SMALL LETTER X
+0058 ; [.169A.0020.0008.0058] # LATIN CAPITAL LETTER X
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/be.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/be.pl
new file mode 100644
index 00000000000..331aee81062
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/be.pl
@@ -0,0 +1,43 @@
++{
+ locale_version => 0.88,
+ suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
+ 0x0416, 0x0436, 0x0417, 0x0437, 0x0406, 0x0456, 0x041E, 0x043E,
+ 0x04E8, 0x04E9, 0x041A, 0x043A, 0x0427, 0x0447, 0x042B, 0x044B,
+ 0x042D, 0x044D, 0x0474, 0x0475],
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0451 ; [.19BF.0020.0002.0451] # CYRILLIC SMALL LETTER IO
+0435 0308 ; [.19BF.0020.0002.0451] # CYRILLIC SMALL LETTER IO
+0401 ; [.19BF.0020.0008.0401] # CYRILLIC CAPITAL LETTER IO
+0415 0308 ; [.19BF.0020.0008.0401] # CYRILLIC CAPITAL LETTER IO
+04D1 ; [.1976.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.1976.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.1976.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.1976.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04DB ; [.1982.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA ; [.1982.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+0453 ; [.1996.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
+0403 ; [.1996.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
+04D7 ; [.19BE.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.19BE.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD ; [.19CA.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.19CA.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF ; [.19D7.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19D7.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+0457 ; [.19FB.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
+0407 ; [.19FB.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
+04E7 ; [.1A5C.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A5C.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04EB ; [.1A64.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA ; [.1A64.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+045C ; [.1A0D.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
+040C ; [.1A0D.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
+04F5 ; [.1AF1.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1AF1.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9 ; [.1B24.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1B24.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED ; [.1B39.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B39.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+0477 ; [.1B6F.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476 ; [.1B6F.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/bg.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/bg.pl
new file mode 100644
index 00000000000..e7296dafa96
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/bg.pl
@@ -0,0 +1,45 @@
++{
+ locale_version => 0.88,
+ suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
+ 0x0416, 0x0436, 0x0417, 0x0437, 0x0406, 0x0456, 0x041E, 0x043E,
+ 0x04E8, 0x04E9, 0x041A, 0x043A, 0x0423, 0x0443, 0x0427, 0x0447,
+ 0x042B, 0x044B, 0x042D, 0x044D, 0x0474, 0x0475],
+ entry => <<'ENTRY', # for DUCET v6.1.0
+04D1 ; [.1976.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.1976.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.1976.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.1976.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04DB ; [.1982.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA ; [.1982.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+0453 ; [.1996.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
+0403 ; [.1996.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
+04D7 ; [.19BE.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.19BE.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD ; [.19CA.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.19CA.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF ; [.19D7.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19D7.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+0457 ; [.19FB.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
+0407 ; [.19FB.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
+04E7 ; [.1A5C.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A5C.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04EB ; [.1A64.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA ; [.1A64.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+045C ; [.1A0D.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
+040C ; [.1A0D.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
+045E ; [.1A9E.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
+040E ; [.1A9E.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
+04F1 ; [.1A9E.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0 ; [.1A9E.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3 ; [.1A9E.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2 ; [.1A9E.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F5 ; [.1AF1.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1AF1.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9 ; [.1B24.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1B24.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED ; [.1B39.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B39.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+0477 ; [.1B6F.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476 ; [.1B6F.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/bn.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/bn.pl
new file mode 100644
index 00000000000..0c02d25b53a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/bn.pl
@@ -0,0 +1,8 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0982 ; [.2030.0020.0002.0982][.FFF1.0000.0000.0000] # BENGALI SIGN ANUSVARA
+0983 ; [.2030.0020.0002.0983][.FFF2.0000.0000.0000] # BENGALI SIGN VISARGA
+0981 ; [.2030.0020.0002.0981][.FFF3.0000.0000.0000] # BENGALI SIGN CANDRABINDU
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ca.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ca.pl
index 6c5f5d4704a..440afbbd76f 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ca.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ca.pl
@@ -1,17 +1,18 @@
+{
+ locale_version => 0.88,
backwards => 2,
- entry => <<'ENTRY', # for DUCET v6.0.0
-0063 0068 ; [.15D2.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0063 0048 ; [.15D2.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
-0043 0068 ; [.15D2.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.15D2.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-006C 006C ; [.16C5.0020.0002.006C][.0000.0000.0001.0000] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
-006C 00B7 006C ; [.16C5.0020.0002.006C][.0000.0000.0007.0000] # <LATIN SMALL LETTER L, MIDDLE DOT, LATIN SMALL LETTER L>
-006C 004C ; [.16C5.0020.0007.006C][.0000.0000.0002.0000][.0000.0000.0001.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L>
-006C 00B7 004C ; [.16C5.0020.0007.006C][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER L, MIDDLE DOT, LATIN CAPITAL LETTER L>
-004C 006C ; [.16C5.0020.0007.004C][.0000.0000.0008.0000][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
-004C 00B7 006C ; [.16C5.0020.0007.004C][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER L, MIDDLE DOT, LATIN SMALL LETTER L>
-004C 004C ; [.16C5.0020.0008.004C][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
-004C 00B7 004C ; [.16C5.0020.0008.004C][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER L, MIDDLE DOT, LATIN CAPITAL LETTER L>
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0063 0068 ; [.1603.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0063 0048 ; [.1603.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
+0043 0068 ; [.1603.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.1603.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+006C 006C ; [.16F7.0020.0002.006C][.0000.0000.0001.0000] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+006C 00B7 006C ; [.16F7.0020.0002.006C][.0000.0000.0007.0000] # <LATIN SMALL LETTER L, MIDDLE DOT, LATIN SMALL LETTER L>
+006C 004C ; [.16F7.0020.0007.006C][.0000.0000.0002.0000][.0000.0000.0001.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L>
+006C 00B7 004C ; [.16F7.0020.0007.006C][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER L, MIDDLE DOT, LATIN CAPITAL LETTER L>
+004C 006C ; [.16F7.0020.0007.004C][.0000.0000.0008.0000][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 00B7 006C ; [.16F7.0020.0007.004C][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER L, MIDDLE DOT, LATIN SMALL LETTER L>
+004C 004C ; [.16F7.0020.0008.004C][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+004C 00B7 004C ; [.16F7.0020.0008.004C][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER L, MIDDLE DOT, LATIN CAPITAL LETTER L>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cs.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cs.pl
index fe6697a7579..84257bf96b0 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cs.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cs.pl
@@ -1,24 +1,25 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-010D ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0063 0068 ; [.1668.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0063 0048 ; [.1668.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
-0043 0068 ; [.1668.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.1668.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-0159 ; [.1771.0020.0002.0159] # LATIN SMALL LETTER R WITH CARON
-0072 030C ; [.1771.0020.0002.0159] # LATIN SMALL LETTER R WITH CARON
-0158 ; [.1771.0020.0008.0158] # LATIN CAPITAL LETTER R WITH CARON
-0052 030C ; [.1771.0020.0008.0158] # LATIN CAPITAL LETTER R WITH CARON
-0161 ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-017E ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+010D ; [.1603.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.1603.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C ; [.1603.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.1603.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0063 0068 ; [.169A.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0063 0048 ; [.169A.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
+0043 0068 ; [.169A.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.169A.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0159 ; [.17A3.0020.0002.0159] # LATIN SMALL LETTER R WITH CARON
+0072 030C ; [.17A3.0020.0002.0159] # LATIN SMALL LETTER R WITH CARON
+0158 ; [.17A3.0020.0008.0158] # LATIN CAPITAL LETTER R WITH CARON
+0052 030C ; [.17A3.0020.0008.0158] # LATIN CAPITAL LETTER R WITH CARON
+0161 ; [.17D9.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17D9.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17D9.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17D9.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+017E ; [.187B.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.187B.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.187B.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.187B.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cy.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cy.pl
index c8295d2b839..ba6e7fc8f5c 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cy.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/cy.pl
@@ -1,28 +1,29 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0063 0068 ; [.15D2.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0043 0068 ; [.15D2.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.15D2.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-0064 0064 ; [.15E5.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D>
-0044 0064 ; [.15E5.0020.0007.0044] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D>
-0044 0044 ; [.15E5.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D>
-0066 0066 ; [.1638.0020.0002.0066] # <LATIN SMALL LETTER F, LATIN SMALL LETTER F>
-0046 0066 ; [.1638.0020.0007.0046] # <LATIN CAPITAL LETTER F, LATIN SMALL LETTER F>
-0046 0046 ; [.1638.0020.0008.0046] # <LATIN CAPITAL LETTER F, LATIN CAPITAL LETTER F>
-006E 0067 ; [.1645.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
-004E 0067 ; [.1645.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
-004E 0047 ; [.1645.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
-006C 006C ; [.16C5.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
-004C 006C ; [.16C5.0020.0007.004C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
-004C 004C ; [.16C5.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
-0070 0068 ; [.174A.0020.0002.0070] # <LATIN SMALL LETTER P, LATIN SMALL LETTER H>
-0050 0068 ; [.174A.0020.0007.0050] # <LATIN CAPITAL LETTER P, LATIN SMALL LETTER H>
-0050 0048 ; [.174A.0020.0008.0050] # <LATIN CAPITAL LETTER P, LATIN CAPITAL LETTER H>
-0072 0068 ; [.1771.0020.0002.0072] # <LATIN SMALL LETTER R, LATIN SMALL LETTER H>
-0052 0068 ; [.1771.0020.0007.0052] # <LATIN CAPITAL LETTER R, LATIN SMALL LETTER H>
-0052 0048 ; [.1771.0020.0008.0052] # <LATIN CAPITAL LETTER R, LATIN CAPITAL LETTER H>
-0074 0068 ; [.17CA.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
-0054 0068 ; [.17CA.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
-0054 0048 ; [.17CA.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H>
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0063 0068 ; [.1603.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.1603.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.1603.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0064 0064 ; [.1617.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D>
+0044 0064 ; [.1617.0020.0007.0044] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D>
+0044 0044 ; [.1617.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D>
+0066 0066 ; [.166A.0020.0002.0066] # <LATIN SMALL LETTER F, LATIN SMALL LETTER F>
+0046 0066 ; [.166A.0020.0007.0046] # <LATIN CAPITAL LETTER F, LATIN SMALL LETTER F>
+0046 0046 ; [.166A.0020.0008.0046] # <LATIN CAPITAL LETTER F, LATIN CAPITAL LETTER F>
+006E 0067 ; [.1677.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
+004E 0067 ; [.1677.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+004E 0047 ; [.1677.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
+006C 006C ; [.16F7.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+004C 006C ; [.16F7.0020.0007.004C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 004C ; [.16F7.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+0070 0068 ; [.177C.0020.0002.0070] # <LATIN SMALL LETTER P, LATIN SMALL LETTER H>
+0050 0068 ; [.177C.0020.0007.0050] # <LATIN CAPITAL LETTER P, LATIN SMALL LETTER H>
+0050 0048 ; [.177C.0020.0008.0050] # <LATIN CAPITAL LETTER P, LATIN CAPITAL LETTER H>
+0072 0068 ; [.17A3.0020.0002.0072] # <LATIN SMALL LETTER R, LATIN SMALL LETTER H>
+0052 0068 ; [.17A3.0020.0007.0052] # <LATIN CAPITAL LETTER R, LATIN SMALL LETTER H>
+0052 0048 ; [.17A3.0020.0008.0052] # <LATIN CAPITAL LETTER R, LATIN CAPITAL LETTER H>
+0074 0068 ; [.17FC.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
+0054 0068 ; [.17FC.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
+0054 0048 ; [.17FC.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/da.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/da.pl
index 20b50345f46..7569b2c07f9 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/da.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/da.pl
@@ -1,75 +1,76 @@
+{
+ locale_version => 0.88,
upper_before_lower => 1,
- entry => <<'ENTRY', # for DUCET v6.0.0
-0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0 ; [.15E4.0022.0002.00F0] # LATIN SMALL LETTER ETH
-00D0 ; [.15E4.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
-00FE ; [.17C9.0020.0003.00FE][.1667.0020.0003.00FE] # LATIN SMALL LETTER THORN
-00DE ; [.17C9.0020.0009.00DE][.1667.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-00FC ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171 ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170 ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6 ; [.1845.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.1845.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.1845.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.1845.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.1845.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.1845.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.1845.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.1845.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.1845.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.1846.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.1846.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1846.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1846.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151 ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150 ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153 ; [.1846.0023.0002.0153] # LATIN SMALL LIGATURE OE
-0152 ; [.1846.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
-00E5 ; [.1847.0020.0002.00E5][.0000.0000.0001.0000] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1847.0020.0002.00E5][.0000.0000.0001.0000] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.1847.0020.0008.00C5][.0000.0000.0001.0000] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1847.0020.0008.00C5][.0000.0000.0001.0000] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.1847.0020.0008.00C5][.0000.0000.0001.0000] # ANGSTROM SIGN
-01FB ; [.1847.0020.0002.00E5][.0000.0000.0001.0000][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.1847.0020.0008.00C5][.0000.0000.0001.0000][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-0061 0061 ; [.1847.0020.0002.0061][.0000.0000.0007.0000] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
-0041 0061 ; [.1847.0020.0007.0041][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
-0061 0041 ; [.1847.0020.0007.0061][.0000.0000.0008.0000] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A>
-0041 0041 ; [.1847.0020.0008.0041][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0111 ; [.1616.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1616.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.1616.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1616.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.1616.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0 ; [.1616.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+00FE ; [.17FB.0020.0003.00FE][.1699.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE ; [.17FB.0020.0009.00DE][.1699.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+00FC ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1865.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1865.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1865.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1865.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1865.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1865.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1865.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1865.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.1865.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1865.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.1865.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1865.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6 ; [.18EB.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.18EB.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.18EB.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.18EB.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.18EB.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.18EB.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.18EB.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4 ; [.18EB.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.18EB.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.18EB.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.18EB.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.18EB.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.18EB.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119 ; [.18EB.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.18EB.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.18EB.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.18EB.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8 ; [.18EC.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.18EC.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.18EC.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.18EC.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.18EC.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.18EC.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6 ; [.18EC.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.18EC.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.18EC.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.18EC.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.18EC.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.18EC.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.18EC.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.18EC.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.18EC.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.18EC.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.18EC.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152 ; [.18EC.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E5 ; [.18ED.0020.0002.00E5][.0000.0000.0001.0000] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.18ED.0020.0002.00E5][.0000.0000.0001.0000] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.18ED.0020.0008.00C5][.0000.0000.0001.0000] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.18ED.0020.0008.00C5][.0000.0000.0001.0000] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.18ED.0020.0008.00C5][.0000.0000.0001.0000] # ANGSTROM SIGN
+01FB ; [.18ED.0020.0002.00E5][.0000.0000.0001.0000][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.18ED.0020.0008.00C5][.0000.0000.0001.0000][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.18ED.0020.0002.0061][.0000.0000.0007.0000] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0041 0061 ; [.18ED.0020.0007.0041][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0061 0041 ; [.18ED.0020.0007.0061][.0000.0000.0008.0000] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A>
+0041 0041 ; [.18ED.0020.0008.0041][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/de_phone.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/de_phone.pl
index 4f90ce5027c..bd4b84d91fc 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/de_phone.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/de_phone.pl
@@ -1,28 +1,29 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-00E4 ; [.15A3.0021.0002.00E4][.15FF.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.15A3.0021.0002.00E4][.15FF.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.15A3.0021.0008.00C4][.15FF.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.15A3.0021.0008.00C4][.15FF.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.15A3.0021.0002.00E4][.15FF.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.15A3.0021.0008.00C4][.15FF.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00F6 ; [.1724.0021.0002.00F6][.15FF.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1724.0021.0002.00F6][.15FF.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1724.0021.0008.00D6][.15FF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1724.0021.0008.00D6][.15FF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1724.0021.0002.00F6][.15FF.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1724.0021.0008.00D6][.15FF.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00FC ; [.17E9.0021.0002.00FC][.15FF.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.17E9.0021.0002.00FC][.15FF.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.17E9.0021.0008.00DC][.15FF.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.17E9.0021.0008.00DC][.15FF.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.17E9.0021.0002.00FC][.15FF.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.17E9.0021.0008.00DC][.15FF.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.17E9.0021.0002.00FC][.15FF.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.17E9.0021.0008.00DC][.15FF.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.17E9.0021.0002.00FC][.15FF.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.17E9.0021.0008.00DC][.15FF.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.17E9.0021.0002.00FC][.15FF.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.17E9.0021.0008.00DC][.15FF.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+00E4 ; [.15D4.0021.0002.00E4][.1631.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.15D4.0021.0002.00E4][.1631.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.15D4.0021.0008.00C4][.1631.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.15D4.0021.0008.00C4][.1631.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.15D4.0021.0002.00E4][.1631.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.15D4.0021.0008.00C4][.1631.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00F6 ; [.1756.0021.0002.00F6][.1631.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1756.0021.0002.00F6][.1631.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1756.0021.0008.00D6][.1631.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1756.0021.0008.00D6][.1631.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1756.0021.0002.00F6][.1631.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1756.0021.0008.00D6][.1631.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00FC ; [.181B.0021.0002.00FC][.1631.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.181B.0021.0002.00FC][.1631.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.181B.0021.0008.00DC][.1631.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.181B.0021.0008.00DC][.1631.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.181B.0021.0002.00FC][.1631.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.181B.0021.0008.00DC][.1631.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.181B.0021.0002.00FC][.1631.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.181B.0021.0008.00DC][.1631.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.181B.0021.0002.00FC][.1631.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.181B.0021.0008.00DC][.1631.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.181B.0021.0002.00FC][.1631.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.181B.0021.0008.00DC][.1631.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/eo.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/eo.pl
index 248e3d05ca0..9c9b95c41e9 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/eo.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/eo.pl
@@ -1,28 +1,29 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0109 ; [.15D2.0020.0002.0109] # LATIN SMALL LETTER C WITH CIRCUMFLEX
-0063 0302 ; [.15D2.0020.0002.0109] # LATIN SMALL LETTER C WITH CIRCUMFLEX
-0108 ; [.15D2.0020.0008.0108] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-0043 0302 ; [.15D2.0020.0008.0108] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-011D ; [.1645.0020.0002.011D] # LATIN SMALL LETTER G WITH CIRCUMFLEX
-0067 0302 ; [.1645.0020.0002.011D] # LATIN SMALL LETTER G WITH CIRCUMFLEX
-011C ; [.1645.0020.0008.011C] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-0047 0302 ; [.1645.0020.0008.011C] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-0125 ; [.1668.0020.0002.0125] # LATIN SMALL LETTER H WITH CIRCUMFLEX
-0068 0302 ; [.1668.0020.0002.0125] # LATIN SMALL LETTER H WITH CIRCUMFLEX
-0124 ; [.1668.0020.0008.0124] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-0048 0302 ; [.1668.0020.0008.0124] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-0135 ; [.169A.0020.0002.0135] # LATIN SMALL LETTER J WITH CIRCUMFLEX
-006A 0302 ; [.169A.0020.0002.0135] # LATIN SMALL LETTER J WITH CIRCUMFLEX
-0134 ; [.169A.0020.0008.0134] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-004A 0302 ; [.169A.0020.0008.0134] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-015D ; [.17A7.0020.0002.015D] # LATIN SMALL LETTER S WITH CIRCUMFLEX
-0073 0302 ; [.17A7.0020.0002.015D] # LATIN SMALL LETTER S WITH CIRCUMFLEX
-015C ; [.17A7.0020.0008.015C] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-0053 0302 ; [.17A7.0020.0008.015C] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-016D ; [.17EA.0020.0002.016D] # LATIN SMALL LETTER U WITH BREVE
-0075 0306 ; [.17EA.0020.0002.016D] # LATIN SMALL LETTER U WITH BREVE
-016C ; [.17EA.0020.0008.016C] # LATIN CAPITAL LETTER U WITH BREVE
-0055 0306 ; [.17EA.0020.0008.016C] # LATIN CAPITAL LETTER U WITH BREVE
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0109 ; [.1603.0020.0002.0109] # LATIN SMALL LETTER C WITH CIRCUMFLEX
+0063 0302 ; [.1603.0020.0002.0109] # LATIN SMALL LETTER C WITH CIRCUMFLEX
+0108 ; [.1603.0020.0008.0108] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+0043 0302 ; [.1603.0020.0008.0108] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+011D ; [.1677.0020.0002.011D] # LATIN SMALL LETTER G WITH CIRCUMFLEX
+0067 0302 ; [.1677.0020.0002.011D] # LATIN SMALL LETTER G WITH CIRCUMFLEX
+011C ; [.1677.0020.0008.011C] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+0047 0302 ; [.1677.0020.0008.011C] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+0125 ; [.169A.0020.0002.0125] # LATIN SMALL LETTER H WITH CIRCUMFLEX
+0068 0302 ; [.169A.0020.0002.0125] # LATIN SMALL LETTER H WITH CIRCUMFLEX
+0124 ; [.169A.0020.0008.0124] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0048 0302 ; [.169A.0020.0008.0124] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0135 ; [.16CC.0020.0002.0135] # LATIN SMALL LETTER J WITH CIRCUMFLEX
+006A 0302 ; [.16CC.0020.0002.0135] # LATIN SMALL LETTER J WITH CIRCUMFLEX
+0134 ; [.16CC.0020.0008.0134] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+004A 0302 ; [.16CC.0020.0008.0134] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+015D ; [.17D9.0020.0002.015D] # LATIN SMALL LETTER S WITH CIRCUMFLEX
+0073 0302 ; [.17D9.0020.0002.015D] # LATIN SMALL LETTER S WITH CIRCUMFLEX
+015C ; [.17D9.0020.0008.015C] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+0053 0302 ; [.17D9.0020.0008.015C] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+016D ; [.181C.0020.0002.016D] # LATIN SMALL LETTER U WITH BREVE
+0075 0306 ; [.181C.0020.0002.016D] # LATIN SMALL LETTER U WITH BREVE
+016C ; [.181C.0020.0008.016C] # LATIN CAPITAL LETTER U WITH BREVE
+0055 0306 ; [.181C.0020.0008.016C] # LATIN CAPITAL LETTER U WITH BREVE
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es.pl
index 3f955bbb30d..7a37242ef4c 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es.pl
@@ -1,8 +1,9 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-00F1 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-00D1 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+00F1 ; [.1735.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1735.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.1735.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1735.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es_trad.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es_trad.pl
index 33896603904..42837ec667c 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es_trad.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/es_trad.pl
@@ -1,14 +1,15 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0063 0068 ; [.15D2.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0043 0068 ; [.15D2.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.15D2.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-006C 006C ; [.16C5.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
-004C 006C ; [.16C5.0020.0007.004C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
-004C 004C ; [.16C5.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
-00F1 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-00D1 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0063 0068 ; [.1603.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.1603.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.1603.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+006C 006C ; [.16F7.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+004C 006C ; [.16F7.0020.0007.004C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 004C ; [.16F7.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+00F1 ; [.1735.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1735.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.1735.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1735.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/et.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/et.pl
index 8ce7d265abd..68847b2f5a7 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/et.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/et.pl
@@ -1,52 +1,53 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0161 ; [.17C6.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17C6.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.17C6.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17C6.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-007A ; [.17C7.0020.0002.007A] # LATIN SMALL LETTER Z
-005A ; [.17C7.0020.0008.005A] # LATIN CAPITAL LETTER Z
-017E ; [.17C8.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.17C8.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D ; [.17C8.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.17C8.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-0077 ; [.1812.0021.0002.0077] # LATIN SMALL LETTER W
-0057 ; [.1812.0021.0008.0057] # LATIN CAPITAL LETTER W
-00F5 ; [.182A.0020.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
-006F 0303 ; [.182A.0020.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
-00D5 ; [.182A.0020.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
-004F 0303 ; [.182A.0020.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
-1E4D ; [.182A.0020.0002.00F5][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
-1E4C ; [.182A.0020.0008.00D5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-022D ; [.182A.0020.0002.00F5][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON
-022C ; [.182A.0020.0008.00D5][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-1E4F ; [.182A.0020.0002.00F5][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
-1E4E ; [.182A.0020.0008.00D5][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-1EE1 ; [.182A.0020.0002.00F5][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE0 ; [.182A.0020.0008.00D5][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
-00E4 ; [.182B.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.182B.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.182B.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.182B.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.182B.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.182B.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00F6 ; [.182C.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.182C.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.182C.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.182C.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.182C.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.182C.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00FC ; [.182D.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.182D.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.182D.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.182D.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.182D.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.182D.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.182D.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.182D.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.182D.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.182D.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.182D.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.182D.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0161 ; [.17F8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17F8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17F8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17F8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+007A ; [.17F9.0020.0002.007A] # LATIN SMALL LETTER Z
+005A ; [.17F9.0020.0008.005A] # LATIN CAPITAL LETTER Z
+017E ; [.17FA.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.17FA.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.17FA.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.17FA.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+0077 ; [.1844.0021.0002.0077] # LATIN SMALL LETTER W
+0057 ; [.1844.0021.0008.0057] # LATIN CAPITAL LETTER W
+00F5 ; [.185C.0020.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
+006F 0303 ; [.185C.0020.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
+00D5 ; [.185C.0020.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
+004F 0303 ; [.185C.0020.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
+1E4D ; [.185C.0020.0002.00F5][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
+1E4C ; [.185C.0020.0008.00D5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+022D ; [.185C.0020.0002.00F5][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON
+022C ; [.185C.0020.0008.00D5][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+1E4F ; [.185C.0020.0002.00F5][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+1E4E ; [.185C.0020.0008.00D5][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+1EE1 ; [.185C.0020.0002.00F5][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0 ; [.185C.0020.0008.00D5][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+00E4 ; [.185D.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.185D.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.185D.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.185D.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.185D.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.185D.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00F6 ; [.185E.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.185E.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.185E.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.185E.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.185E.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.185E.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00FC ; [.185F.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.185F.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.185F.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.185F.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.185F.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.185F.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.185F.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.185F.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.185F.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.185F.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.185F.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.185F.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fa.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fa.pl
new file mode 100644
index 00000000000..35aec8089fb
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fa.pl
@@ -0,0 +1,50 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+064E ; [.0000.00A8.0002.064E] # ARABIC FATHA
+0650 ; [.0000.00A9.0002.0650] # ARABIC KASRA
+064F ; [.0000.00AA.0002.064F] # ARABIC DAMMA
+064B ; [.0000.00AB.0002.064B] # ARABIC FATHATAN
+064D ; [.0000.00AC.0002.064D] # ARABIC KASRATAN
+064C ; [.0000.00AD.0002.064C] # ARABIC DAMMATAN
+0622 ; [.1C80.0020.0002.0622][.FFF1.0000.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
+0627 0653 ; [.1C80.0020.0002.0622][.FFF1.0000.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
+0671 ; [.1C81.0021.0002.0671] # ARABIC LETTER ALEF WASLA
+0621 ; [.1C81.0020.0002.0621][.FFF1.0000.0000.0000] # ARABIC LETTER HAMZA
+0623 ; [.1C81.0021.0002.0623][.FFF1.0000.0000.0000] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+0627 0654 ; [.1C81.0021.0002.0623][.FFF1.0000.0000.0000] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+0672 ; [.1C81.0022.0002.0672][.FFF1.0000.0000.0000] # ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
+0625 ; [.1C81.0023.0002.0625][.FFF1.0000.0000.0000] # ARABIC LETTER ALEF WITH HAMZA BELOW
+0627 0655 ; [.1C81.0023.0002.0625][.FFF1.0000.0000.0000] # ARABIC LETTER ALEF WITH HAMZA BELOW
+0673 ; [.1C81.0024.0002.0673][.FFF1.0000.0000.0000] # ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
+0624 ; [.1C81.0025.0002.0624][.FFF1.0000.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
+0648 0654 ; [.1C81.0025.0002.0624][.FFF1.0000.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
+06CC 0654 ; [.1C81.0026.0002.06CC][.FFF1.0000.0000.0000] # <ARABIC LETTER FARSI YEH, ARABIC HAMZA ABOVE>
+0649 0654 ; [.1C81.0026.0003.0649][.FFF1.0000.0000.0000] # <ARABIC LETTER ALEF MAKSURA, ARABIC HAMZA ABOVE>
+0626 ; [.1C81.0026.0004.0626][.FFF1.0000.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
+064A 0654 ; [.1C81.0026.0004.0626][.FFF1.0000.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
+06AA ; [.1CF3.0021.0002.06AA] # ARABIC LETTER SWASH KAF
+06AB ; [.1CF3.0022.0002.06AB] # ARABIC LETTER KAF WITH RING
+0643 ; [.1CF3.0023.0002.0643] # ARABIC LETTER KAF
+06AC ; [.1CF3.0024.0002.06AC] # ARABIC LETTER KAF WITH DOT ABOVE
+06AD ; [.1CF3.0025.0002.06AD] # ARABIC LETTER NG
+06AE ; [.1CF3.0026.0002.06AE] # ARABIC LETTER KAF WITH THREE DOTS BELOW
+0647 ; [.1D28.0020.0002.0647][.FFF1.0000.0000.0000] # ARABIC LETTER HEH
+06D5 ; [.1D28.0021.0002.06D5][.FFF1.0000.0000.0000] # ARABIC LETTER AE
+06C1 ; [.1D28.0022.0002.06C1][.FFF1.0000.0000.0000] # ARABIC LETTER HEH GOAL
+06C2 ; [.1D28.0022.0002.06C1][.FFF1.0000.0000.0000][.0000.00BE.0002.0654] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
+0629 ; [.1D28.0023.0002.0629][.FFF1.0000.0000.0000] # ARABIC LETTER TEH MARBUTA
+06C3 ; [.1D28.0024.0002.06C3][.FFF1.0000.0000.0000] # ARABIC LETTER TEH MARBUTA GOAL
+06C0 ; [.1D28.0025.0002.06C0][.FFF1.0000.0000.0000] # ARABIC LETTER HEH WITH YEH ABOVE
+06D5 0654 ; [.1D28.0025.0002.06C0][.FFF1.0000.0000.0000] # ARABIC LETTER HEH WITH YEH ABOVE
+06BE ; [.1D28.0026.0002.06BE][.FFF1.0000.0000.0000] # ARABIC LETTER HEH DOACHASHMEE
+0649 ; [.1D2E.0021.0002.0649] # ARABIC LETTER ALEF MAKSURA
+06D2 ; [.1D2E.0022.0002.06D2] # ARABIC LETTER YEH BARREE
+06D3 ; [.1D2E.0022.0002.06D2][.0000.00BE.0002.0654] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
+064A ; [.1D2E.0023.0002.064A] # ARABIC LETTER YEH
+06D0 ; [.1D2E.0024.0002.06D0] # ARABIC LETTER E
+06D1 ; [.1D2E.0025.0002.06D1] # ARABIC LETTER YEH WITH THREE DOTS BELOW
+06CD ; [.1D2E.0026.0002.06CD] # ARABIC LETTER YEH WITH TAIL
+06CE ; [.1D2E.0027.0002.06CE] # ARABIC LETTER YEH WITH SMALL V
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi.pl
index 433d59caa7c..d8dc6d380db 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi.pl
@@ -1,63 +1,64 @@
+{
+ locale_version => 0.88,
# in cldr test/fi.xml why x{110}x < xdx though xd < x{110} ?
- entry => <<'ENTRY', # for DUCET v6.0.0
-0111 ; [.15E4.0021.0002.0111][.0000.007D.0002.0335] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.15E4.0021.0008.0110][.0000.007D.0002.0335] # LATIN CAPITAL LETTER D WITH STROKE
-01E5 ; [.1644.0021.0002.01E5][.0000.007D.0002.0335] # LATIN SMALL LETTER G WITH STROKE
-01E4 ; [.1644.0021.0008.01E4][.0000.007D.0002.0335] # LATIN CAPITAL LETTER G WITH STROKE
-014B ; [.1702.0021.0002.014B][.0000.007D.0002.0335] # LATIN SMALL LETTER ENG
-014A ; [.1702.0021.0008.014A][.0000.007D.0002.0335] # LATIN CAPITAL LETTER ENG
-0167 ; [.17C9.0021.0002.0167][.0000.007D.0002.0335] # LATIN SMALL LETTER T WITH STROKE
-0166 ; [.17C9.0021.0008.0166][.0000.007D.0002.0335] # LATIN CAPITAL LETTER T WITH STROKE
-0077 ; [.1812.0021.0002.0077] # LATIN SMALL LETTER W
-0057 ; [.1812.0021.0008.0057] # LATIN CAPITAL LETTER W
-00FC ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0292 ; [.1844.0021.0002.0292][.0000.007D.0002.0335] # LATIN SMALL LETTER EZH
-01B7 ; [.1844.0021.0008.01B7][.0000.007D.0002.0335] # LATIN CAPITAL LETTER EZH
-01EF ; [.1844.0021.0002.0292][.0000.007D.0002.0335][.0000.0041.0002.030C] # LATIN SMALL LETTER EZH WITH CARON
-01EE ; [.1844.0021.0008.01B7][.0000.007D.0002.0335][.0000.0041.0002.030C] # LATIN CAPITAL LETTER EZH WITH CARON
-00E5 ; [.1845.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1845.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.1845.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1845.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.1845.0020.0008.00C5] # ANGSTROM SIGN
-01FB ; [.1845.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.1845.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-00E4 ; [.1846.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1846.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.1846.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1846.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.1846.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.1846.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00E6 ; [.1846.0021.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.1846.0021.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.1846.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.1846.0021.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.1846.0021.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.1846.0021.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.1846.0021.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00F6 ; [.1847.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1847.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1847.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1847.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1847.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1847.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00F8 ; [.1847.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1847.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.1847.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1847.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.1847.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.1847.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0111 ; [.1616.0021.0002.0111][.0000.007D.0002.0335] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.1616.0021.0008.0110][.0000.007D.0002.0335] # LATIN CAPITAL LETTER D WITH STROKE
+01E5 ; [.1676.0021.0002.01E5][.0000.007D.0002.0335] # LATIN SMALL LETTER G WITH STROKE
+01E4 ; [.1676.0021.0008.01E4][.0000.007D.0002.0335] # LATIN CAPITAL LETTER G WITH STROKE
+014B ; [.1734.0021.0002.014B][.0000.007D.0002.0335] # LATIN SMALL LETTER ENG
+014A ; [.1734.0021.0008.014A][.0000.007D.0002.0335] # LATIN CAPITAL LETTER ENG
+0167 ; [.17FB.0021.0002.0167][.0000.007D.0002.0335] # LATIN SMALL LETTER T WITH STROKE
+0166 ; [.17FB.0021.0008.0166][.0000.007D.0002.0335] # LATIN CAPITAL LETTER T WITH STROKE
+0077 ; [.1844.0021.0002.0077] # LATIN SMALL LETTER W
+0057 ; [.1844.0021.0008.0057] # LATIN CAPITAL LETTER W
+00FC ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1865.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1865.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1865.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1865.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1865.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1865.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1865.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1865.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0292 ; [.187A.0021.0002.0292][.0000.007D.0002.0335] # LATIN SMALL LETTER EZH
+01B7 ; [.187A.0021.0008.01B7][.0000.007D.0002.0335] # LATIN CAPITAL LETTER EZH
+01EF ; [.187A.0021.0002.0292][.0000.007D.0002.0335][.0000.0041.0002.030C] # LATIN SMALL LETTER EZH WITH CARON
+01EE ; [.187A.0021.0008.01B7][.0000.007D.0002.0335][.0000.0041.0002.030C] # LATIN CAPITAL LETTER EZH WITH CARON
+00E5 ; [.18EB.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.18EB.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.18EB.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.18EB.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.18EB.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.18EB.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.18EB.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4 ; [.18EC.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.18EC.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.18EC.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.18EC.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.18EC.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.18EC.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E6 ; [.18EC.0021.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.18EC.0021.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.18EC.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.18EC.0021.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.18EC.0021.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.18EC.0021.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.18EC.0021.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00F6 ; [.18ED.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.18ED.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.18ED.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.18ED.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.18ED.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.18ED.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8 ; [.18ED.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.18ED.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.18ED.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.18ED.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.18ED.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.18ED.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi_phone.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi_phone.pl
new file mode 100644
index 00000000000..f8b5120a32d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fi_phone.pl
@@ -0,0 +1,62 @@
++{
+ locale_version => 0.88,
+# in cldr test/fi.xml why x{110}x < xdx though xd < x{110} ?
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0111 ; [.1616.0021.0002.0111][.0000.007D.0002.0335] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.1616.0021.0008.0110][.0000.007D.0002.0335] # LATIN CAPITAL LETTER D WITH STROKE
+01E5 ; [.1676.0021.0002.01E5][.0000.007D.0002.0335] # LATIN SMALL LETTER G WITH STROKE
+01E4 ; [.1676.0021.0008.01E4][.0000.007D.0002.0335] # LATIN CAPITAL LETTER G WITH STROKE
+014B ; [.1734.0021.0002.014B][.0000.007D.0002.0335] # LATIN SMALL LETTER ENG
+014A ; [.1734.0021.0008.014A][.0000.007D.0002.0335] # LATIN CAPITAL LETTER ENG
+0167 ; [.17FB.0021.0002.0167][.0000.007D.0002.0335] # LATIN SMALL LETTER T WITH STROKE
+0166 ; [.17FB.0021.0008.0166][.0000.007D.0002.0335] # LATIN CAPITAL LETTER T WITH STROKE
+00FC ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1865.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1865.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1865.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1865.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1865.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1865.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1865.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1865.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0292 ; [.187A.0021.0002.0292][.0000.007D.0002.0335] # LATIN SMALL LETTER EZH
+01B7 ; [.187A.0021.0008.01B7][.0000.007D.0002.0335] # LATIN CAPITAL LETTER EZH
+01EF ; [.187A.0021.0002.0292][.0000.007D.0002.0335][.0000.0041.0002.030C] # LATIN SMALL LETTER EZH WITH CARON
+01EE ; [.187A.0021.0008.01B7][.0000.007D.0002.0335][.0000.0041.0002.030C] # LATIN CAPITAL LETTER EZH WITH CARON
+00E5 ; [.18EB.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.18EB.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.18EB.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.18EB.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.18EB.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.18EB.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.18EB.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4 ; [.18EC.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.18EC.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.18EC.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.18EC.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.18EC.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.18EC.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E6 ; [.18EC.0021.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.18EC.0021.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.18EC.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.18EC.0021.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.18EC.0021.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.18EC.0021.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.18EC.0021.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00F6 ; [.18ED.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.18ED.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.18ED.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.18ED.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.18ED.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.18ED.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8 ; [.18ED.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.18ED.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.18ED.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.18ED.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.18ED.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.18ED.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fil.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fil.pl
index 2e645ec32b3..dd27b7236af 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fil.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fil.pl
@@ -1,11 +1,12 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-00F1 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-00D1 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-006E 0067 ; [.1704.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
-004E 0067 ; [.1704.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
-004E 0047 ; [.1704.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+00F1 ; [.1735.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1735.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.1735.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1735.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+006E 0067 ; [.1736.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
+004E 0067 ; [.1736.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+004E 0047 ; [.1736.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fo.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fo.pl
index 3f0506d5919..a0b27ee2b1c 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fo.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fo.pl
@@ -1,74 +1,75 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0 ; [.15E4.0022.0002.00F0] # LATIN SMALL LETTER ETH
-00D0 ; [.15E4.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
-00FE ; [.17C9.0020.0003.00FE][.1667.0020.0003.00FE] # LATIN SMALL LETTER THORN
-00DE ; [.17C9.0020.0009.00DE][.1667.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-00FC ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171 ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170 ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6 ; [.1845.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.1845.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.1845.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.1845.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.1845.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.1845.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.1845.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.1845.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.1845.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.1846.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.1846.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1846.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1846.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151 ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150 ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153 ; [.1846.0023.0002.0153] # LATIN SMALL LIGATURE OE
-0152 ; [.1846.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
-00E5 ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.1847.0020.0008.00C5] # ANGSTROM SIGN
-01FB ; [.1847.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.1847.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-0061 0061 ; [.1847.0020.001C.0061][.0000.0000.0002.0000] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
-0061 0041 ; [.1847.0020.001C.0061][.0000.0000.0008.0000] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A>
-0041 0061 ; [.1847.0020.001D.0041][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
-0041 0041 ; [.1847.0020.001D.0041][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0111 ; [.1616.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1616.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.1616.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1616.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.1616.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0 ; [.1616.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+00FE ; [.17FB.0020.0003.00FE][.1699.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE ; [.17FB.0020.0009.00DE][.1699.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+00FC ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1865.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1865.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1865.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1865.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1865.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1865.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1865.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1865.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.1865.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1865.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.1865.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1865.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6 ; [.18EB.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.18EB.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.18EB.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.18EB.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.18EB.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.18EB.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.18EB.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4 ; [.18EB.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.18EB.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.18EB.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.18EB.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.18EB.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.18EB.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119 ; [.18EB.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.18EB.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.18EB.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.18EB.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8 ; [.18EC.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.18EC.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.18EC.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.18EC.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.18EC.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.18EC.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6 ; [.18EC.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.18EC.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.18EC.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.18EC.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.18EC.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.18EC.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.18EC.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.18EC.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.18EC.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.18EC.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.18EC.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152 ; [.18EC.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E5 ; [.18ED.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.18ED.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.18ED.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.18ED.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.18ED.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.18ED.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.18ED.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.18ED.0020.001C.0061][.0000.0000.0002.0000] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0061 0041 ; [.18ED.0020.001C.0061][.0000.0000.0008.0000] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A>
+0041 0061 ; [.18ED.0020.001D.0041][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0041 0041 ; [.18ED.0020.001D.0041][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fr.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fr.pl
index d7e8355abdf..aa464f8153f 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fr.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/fr.pl
@@ -1,3 +1,4 @@
+{
+ locale_version => 0.87,
backwards => 2,
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/gu.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/gu.pl
new file mode 100644
index 00000000000..456a28fcd15
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/gu.pl
@@ -0,0 +1,8 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0A82 ; [.209C.0020.0002.0A82][.FFF1.0000.0000.0000] # GUJARATI SIGN ANUSVARA
+0A81 ; [.209C.0021.0002.0A81][.FFF1.0000.0000.0A81] # GUJARATI SIGN CANDRABINDU
+0A83 ; [.209C.0020.0002.0A83][.FFF2.0000.0000.0000] # GUJARATI SIGN VISARGA
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ha.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ha.pl
index 644716a5516..486d3782c63 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ha.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ha.pl
@@ -1,13 +1,16 @@
+{
+ locale_version => 0.88,
# b-hook, d-hook, k-hook, y-hook don't require tailoring
- entry => <<'ENTRY', # for DUCET v6.0.0
-0073 0068 ; [.17A7.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
-0053 0068 ; [.17A7.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
-0053 0048 ; [.17A7.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
-0074 0073 ; [.17CA.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER S>
-0054 0073 ; [.17CA.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER S>
-0054 0053 ; [.17CA.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER S>
-0027 0079 ; [.183F.0020.0002.01B4] # <APOSTROPHE, LATIN SMALL LETTER Y>
-0027 0059 ; [.183F.0020.0008.01B3] # <APOSTROPHE, LATIN CAPITAL LETTER Y>
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0073 0068 ; [.17D9.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0053 0068 ; [.17D9.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+0053 0048 ; [.17D9.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
+0074 0073 ; [.17FC.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER S>
+0054 0073 ; [.17FC.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER S>
+0054 0053 ; [.17FC.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER S>
+02BC 0079 ; [.1871.0020.0003.02BC] # <MODIFIER LETTER APOSTROPHE, LATIN SMALL LETTER Y>
+02BC 0059 ; [.1871.0020.0009.02BC] # <MODIFIER LETTER APOSTROPHE, LATIN CAPITAL LETTER Y>
+0027 0079 ; [.1871.0020.0004.0027] # <APOSTROPHE, LATIN SMALL LETTER Y>
+0027 0059 ; [.1871.0020.000A.0027] # <APOSTROPHE, LATIN CAPITAL LETTER Y>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/haw.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/haw.pl
index 4c53b23e2b5..b436c8364ba 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/haw.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/haw.pl
@@ -1,35 +1,36 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0065 ; [.15A4.0020.0002.0065] # LATIN SMALL LETTER E
-0045 ; [.15A4.0020.0008.0045] # LATIN CAPITAL LETTER E
-0069 ; [.15A5.0020.0002.0069] # LATIN SMALL LETTER I
-0049 ; [.15A5.0020.0008.0049] # LATIN CAPITAL LETTER I
-006F ; [.15A6.0020.0002.006F] # LATIN SMALL LETTER O
-004F ; [.15A6.0020.0008.004F] # LATIN CAPITAL LETTER O
-0075 ; [.15A7.0020.0002.0075] # LATIN SMALL LETTER U
-0055 ; [.15A7.0020.0008.0055] # LATIN CAPITAL LETTER U
-0068 ; [.15A8.0020.0002.0068] # LATIN SMALL LETTER H
-0048 ; [.15A8.0020.0008.0048] # LATIN CAPITAL LETTER H
-006B ; [.15A9.0020.0002.006B] # LATIN SMALL LETTER K
-004B ; [.15A9.0020.0008.004B] # LATIN CAPITAL LETTER K
-006C ; [.15AA.0020.0002.006C] # LATIN SMALL LETTER L
-004C ; [.15AA.0020.0008.004C] # LATIN CAPITAL LETTER L
-006D ; [.15AB.0020.0002.006D] # LATIN SMALL LETTER M
-004D ; [.15AB.0020.0008.004D] # LATIN CAPITAL LETTER M
-006E ; [.15AC.0020.0002.006E] # LATIN SMALL LETTER N
-004E ; [.15AC.0020.0008.004E] # LATIN CAPITAL LETTER N
-0070 ; [.15AD.0020.0002.0070] # LATIN SMALL LETTER P
-0050 ; [.15AD.0020.0008.0050] # LATIN CAPITAL LETTER P
-0077 ; [.15AE.0020.0002.0077] # LATIN SMALL LETTER W
-0057 ; [.15AE.0020.0008.0057] # LATIN CAPITAL LETTER W
-02BB ; [.15AF.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
-0113 ; [.15A4.0020.0002.0065][.0000.005B.0002.0304] # LATIN SMALL LETTER E WITH MACRON
-0112 ; [.15A4.0020.0008.0045][.0000.005B.0002.0304] # LATIN CAPITAL LETTER E WITH MACRON
-012B ; [.15A5.0020.0002.0069][.0000.005B.0002.0304] # LATIN SMALL LETTER I WITH MACRON
-012A ; [.15A5.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
-014D ; [.15A6.0020.0002.006F][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH MACRON
-014C ; [.15A6.0020.0008.004F][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH MACRON
-016B ; [.15A7.0020.0002.0075][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH MACRON
-016A ; [.15A7.0020.0008.0055][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH MACRON
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0065 ; [.15D5.0020.0002.0065] # LATIN SMALL LETTER E
+0045 ; [.15D5.0020.0008.0045] # LATIN CAPITAL LETTER E
+0069 ; [.15D6.0020.0002.0069] # LATIN SMALL LETTER I
+0049 ; [.15D6.0020.0008.0049] # LATIN CAPITAL LETTER I
+006F ; [.15D7.0020.0002.006F] # LATIN SMALL LETTER O
+004F ; [.15D7.0020.0008.004F] # LATIN CAPITAL LETTER O
+0075 ; [.15D8.0020.0002.0075] # LATIN SMALL LETTER U
+0055 ; [.15D8.0020.0008.0055] # LATIN CAPITAL LETTER U
+0068 ; [.15D9.0020.0002.0068] # LATIN SMALL LETTER H
+0048 ; [.15D9.0020.0008.0048] # LATIN CAPITAL LETTER H
+006B ; [.15DA.0020.0002.006B] # LATIN SMALL LETTER K
+004B ; [.15DA.0020.0008.004B] # LATIN CAPITAL LETTER K
+006C ; [.15DB.0020.0002.006C] # LATIN SMALL LETTER L
+004C ; [.15DB.0020.0008.004C] # LATIN CAPITAL LETTER L
+006D ; [.15DC.0020.0002.006D] # LATIN SMALL LETTER M
+004D ; [.15DC.0020.0008.004D] # LATIN CAPITAL LETTER M
+006E ; [.15DD.0020.0002.006E] # LATIN SMALL LETTER N
+004E ; [.15DD.0020.0008.004E] # LATIN CAPITAL LETTER N
+0070 ; [.15DE.0020.0002.0070] # LATIN SMALL LETTER P
+0050 ; [.15DE.0020.0008.0050] # LATIN CAPITAL LETTER P
+0077 ; [.15DF.0020.0002.0077] # LATIN SMALL LETTER W
+0057 ; [.15DF.0020.0008.0057] # LATIN CAPITAL LETTER W
+02BB ; [.15E0.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
+0113 ; [.15D5.0020.0002.0065][.0000.005B.0002.0304] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.15D5.0020.0008.0045][.0000.005B.0002.0304] # LATIN CAPITAL LETTER E WITH MACRON
+012B ; [.15D6.0020.0002.0069][.0000.005B.0002.0304] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.15D6.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
+014D ; [.15D7.0020.0002.006F][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.15D7.0020.0008.004F][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH MACRON
+016B ; [.15D8.0020.0002.0075][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.15D8.0020.0008.0055][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH MACRON
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hi.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hi.pl
new file mode 100644
index 00000000000..4d4336d893d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hi.pl
@@ -0,0 +1,8 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0902 ; [.1FC1.0020.0002.0902][.FFF1.0000.0000.0000] # DEVANAGARI SIGN ANUSVARA
+0901 ; [.1FC1.0021.0002.0901][.FFF1.0000.0000.0901] # DEVANAGARI SIGN CANDRABINDU
+0903 ; [.1FC1.0020.0002.0903][.FFF2.0000.0000.0000] # DEVANAGARI SIGN VISARGA
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hr.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hr.pl
index b83305ca3f2..486c8cf4aa6 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hr.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hr.pl
@@ -1,51 +1,48 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-010D ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0107 ; [.15D3.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
-0063 0301 ; [.15D3.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
-0063 0341 ; [.15D3.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
-0106 ; [.15D3.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
-0043 0301 ; [.15D3.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
-0043 0341 ; [.15D3.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
-01C6 ; [.15E5.0020.0002.01C6] # LATIN SMALL LETTER DZ WITH CARON
-0064 017D ; [.15E5.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z WITH CARON>
-01C5 ; [.15E5.0020.0007.01C5][.0000.0000.0008.0000] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
-01C4 ; [.15E5.0020.0008.01C4] # LATIN CAPITAL LETTER DZ WITH CARON
-0064 017E ; [.15E5.0020.0002.01C6] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z WITH CARON>
-0044 017E ; [.15E5.0020.0007.01C5][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z WITH CARON>
-0044 017D ; [.15E5.0020.0008.01C4] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z WITH CARON>
-0064 007A 030C ; [.15E5.0020.0002.01C6] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, COMBINING CARON>
-0064 005A 030C ; [.15E5.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, COMBINING CARON>
-0044 007A 030C ; [.15E5.0020.0007.01C5][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, COMBINING CARON>
-0044 005A 030C ; [.15E5.0020.0008.01C4] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, COMBINING CARON>
-0111 ; [.15E6.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E6.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.15E6.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E6.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-01C9 ; [.16C5.0020.0002.01C9] # LATIN SMALL LETTER LJ
-006C 006A ; [.16C5.0020.0002.01C9] # <LATIN SMALL LETTER L, LATIN SMALL LETTER J>
-006C 004A ; [.16C5.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER J>
-01C8 ; [.16C5.0020.0007.01C8][.0000.0000.0008.0000] # LATIN CAPITAL LETTER L WITH SMALL LETTER J
-004C 006A ; [.16C5.0020.0007.01C8][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER J>
-01C7 ; [.16C5.0020.0008.01C7] # LATIN CAPITAL LETTER LJ
-004C 004A ; [.16C5.0020.0008.01C7] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER J>
-01CC ; [.1703.0020.0002.01CC] # LATIN SMALL LETTER NJ
-006E 006A ; [.1703.0020.0002.01CC] # <LATIN SMALL LETTER N, LATIN SMALL LETTER J>
-006E 004A ; [.1703.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER J>
-01CB ; [.1703.0020.0007.01CB][.0000.0000.0008.0000] # LATIN CAPITAL LETTER N WITH SMALL LETTER J
-004E 006A ; [.1703.0020.0007.01CB][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER J>
-01CA ; [.1703.0020.0008.01CA] # LATIN CAPITAL LETTER NJ
-004E 004A ; [.1703.0020.0008.01CA] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER J>
-0161 ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-017E ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+010D ; [.1603.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.1603.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C ; [.1603.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.1603.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0107 ; [.1604.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
+0063 0301 ; [.1604.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
+0063 0341 ; [.1604.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
+0106 ; [.1604.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0301 ; [.1604.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0341 ; [.1604.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
+0064 017E ; [.1617.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z WITH CARON>
+01C6 ; [.1617.0020.0003.01C6] # LATIN SMALL LETTER DZ WITH CARON
+0044 017E ; [.1617.0020.0007.0044][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z WITH CARON>
+01C5 ; [.1617.0020.0007.01C5][.0000.0000.0007.0000] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
+0044 017D ; [.1617.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z WITH CARON>
+01C4 ; [.1617.0020.0009.01C4] # LATIN CAPITAL LETTER DZ WITH CARON
+0064 007A 030C ; [.1617.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, COMBINING CARON>
+0044 007A 030C ; [.1617.0020.0007.0044][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, COMBINING CARON>
+0044 005A 030C ; [.1617.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, COMBINING CARON>
+0111 ; [.1618.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1618.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.1618.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1618.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+006C 006A ; [.16F7.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER J>
+01C9 ; [.16F7.0020.0003.01C9] # LATIN SMALL LETTER LJ
+004C 006A ; [.16F7.0020.0007.004C][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER J>
+01C8 ; [.16F7.0020.0007.01C8][.0000.0000.0007.0000] # LATIN CAPITAL LETTER L WITH SMALL LETTER J
+004C 004A ; [.16F7.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER J>
+01C7 ; [.16F7.0020.0009.01C7] # LATIN CAPITAL LETTER LJ
+006E 006A ; [.1735.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER J>
+01CC ; [.1735.0020.0003.01CC] # LATIN SMALL LETTER NJ
+004E 006A ; [.1735.0020.0007.004E][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER J>
+01CB ; [.1735.0020.0007.01CB][.0000.0000.0007.0000] # LATIN CAPITAL LETTER N WITH SMALL LETTER J
+004E 004A ; [.1735.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER J>
+01CA ; [.1735.0020.0009.01CA] # LATIN CAPITAL LETTER NJ
+0161 ; [.17D9.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17D9.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17D9.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17D9.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+017E ; [.187B.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.187B.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.187B.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.187B.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hu.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hu.pl
index 508f45356f9..b5faea3949f 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hu.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hu.pl
@@ -1,150 +1,151 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0063 0073 ; [.15D2.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER S>
-0063 0053 ; [.15D2.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
-0043 0073 ; [.15D2.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
-0043 0053 ; [.15D2.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
-0064 007A ; [.15E5.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
-0064 005A ; [.15E5.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
-0044 007A ; [.15E5.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
-0044 005A ; [.15E5.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
-0064 007A 0073 ; [.15E6.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0064 007A 0053 ; [.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-0064 005A 0073 ; [.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-0064 005A 0053 ; [.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0044 007A 0073 ; [.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0044 007A 0053 ; [.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-0044 005A 0073 ; [.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-0044 005A 0053 ; [.15E6.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0067 0079 ; [.1645.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
-0067 0059 ; [.1645.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
-0047 0079 ; [.1645.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
-0047 0059 ; [.1645.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
-006C 0079 ; [.16C5.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
-006C 0059 ; [.16C5.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
-004C 0079 ; [.16C5.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
-004C 0059 ; [.16C5.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
-006E 0079 ; [.1703.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-006E 0059 ; [.1703.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
-004E 0079 ; [.1703.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 0059 ; [.1703.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-0073 007A ; [.17A7.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
-0073 005A ; [.17A7.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
-0053 007A ; [.17A7.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
-0053 005A ; [.17A7.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
-0074 0079 ; [.17CA.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
-0074 0059 ; [.17CA.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
-0054 0079 ; [.17CA.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
-0054 0059 ; [.17CA.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
-007A 0073 ; [.1845.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-007A 0053 ; [.1845.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-005A 0073 ; [.1845.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-005A 0053 ; [.1845.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-00F6 ; [.1725.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1725.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1725.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1725.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1725.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1725.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151 ; [.1725.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1725.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150 ; [.1725.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1725.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-00FC ; [.17EA.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.17EA.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.17EA.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.17EA.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.17EA.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.17EA.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.17EA.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.17EA.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.17EA.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.17EA.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.17EA.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.17EA.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171 ; [.17EA.0021.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.17EA.0021.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170 ; [.17EA.0021.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.17EA.0021.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0063 0063 0073 ; [.15D2.0020.0002.0063][.15D2.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
-0063 0063 0053 ; [.15D2.0020.0002.0063][.15D2.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
-0063 0043 0073 ; [.15D2.0020.0002.0063][.15D2.0020.0007.0043][.0000.0000.0008.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
-0063 0043 0053 ; [.15D2.0020.0002.0063][.15D2.0020.0008.0043] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
-0043 0063 0073 ; [.15D2.0020.0008.0043][.15D2.0020.0002.0063] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
-0043 0063 0053 ; [.15D2.0020.0008.0043][.15D2.0020.0007.0063][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
-0043 0043 0073 ; [.15D2.0020.0008.0043][.15D2.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
-0043 0043 0053 ; [.15D2.0020.0008.0043][.15D2.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
-0064 0064 007A ; [.15E5.0020.0002.0064][.15E5.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
-0064 0064 005A ; [.15E5.0020.0002.0064][.15E5.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
-0064 0044 007A ; [.15E5.0020.0002.0064][.15E5.0020.0007.0044][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
-0064 0044 005A ; [.15E5.0020.0002.0064][.15E5.0020.0008.0044] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
-0044 0064 007A ; [.15E5.0020.0008.0044][.15E5.0020.0002.0064] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
-0044 0064 005A ; [.15E5.0020.0008.0044][.15E5.0020.0007.0064][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
-0044 0044 007A ; [.15E5.0020.0008.0044][.15E5.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
-0044 0044 005A ; [.15E5.0020.0008.0044][.15E5.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
-0064 0064 007A 0073 ; [.15E6.0020.0002.0064][.15E6.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0064 0064 007A 0053 ; [.15E6.0020.0002.0064][.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-0064 0064 005A 0073 ; [.15E6.0020.0002.0064][.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-0064 0064 005A 0053 ; [.15E6.0020.0002.0064][.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0064 0044 007A 0073 ; [.15E6.0020.0002.0064][.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0064 0044 007A 0053 ; [.15E6.0020.0002.0064][.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-0064 0044 005A 0073 ; [.15E6.0020.0002.0064][.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-0064 0044 005A 0053 ; [.15E6.0020.0002.0064][.15E6.0020.0008.0044] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0044 0064 007A 0073 ; [.15E6.0020.0008.0044][.15E6.0020.0002.0064] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0044 0064 007A 0053 ; [.15E6.0020.0008.0044][.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-0044 0064 005A 0073 ; [.15E6.0020.0008.0044][.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-0044 0064 005A 0053 ; [.15E6.0020.0008.0044][.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0044 0044 007A 0073 ; [.15E6.0020.0008.0044][.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0044 0044 007A 0053 ; [.15E6.0020.0008.0044][.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-0044 0044 005A 0073 ; [.15E6.0020.0008.0044][.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-0044 0044 005A 0053 ; [.15E6.0020.0008.0044][.15E6.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0067 0067 0079 ; [.1645.0020.0002.0067][.1645.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
-0067 0067 0059 ; [.1645.0020.0002.0067][.1645.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
-0067 0047 0079 ; [.1645.0020.0002.0067][.1645.0020.0007.0047][.0000.0000.0008.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
-0067 0047 0059 ; [.1645.0020.0002.0067][.1645.0020.0008.0047] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
-0047 0067 0079 ; [.1645.0020.0008.0047][.1645.0020.0002.0067] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
-0047 0067 0059 ; [.1645.0020.0008.0047][.1645.0020.0007.0067][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
-0047 0047 0079 ; [.1645.0020.0008.0047][.1645.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
-0047 0047 0059 ; [.1645.0020.0008.0047][.1645.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
-006C 006C 0079 ; [.16C5.0020.0002.006C][.16C5.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
-006C 006C 0059 ; [.16C5.0020.0002.006C][.16C5.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
-006C 004C 0079 ; [.16C5.0020.0002.006C][.16C5.0020.0007.004C][.0000.0000.0008.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
-006C 004C 0059 ; [.16C5.0020.0002.006C][.16C5.0020.0008.004C] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
-004C 006C 0079 ; [.16C5.0020.0008.004C][.16C5.0020.0002.006C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
-004C 006C 0059 ; [.16C5.0020.0008.004C][.16C5.0020.0007.006C][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
-004C 004C 0079 ; [.16C5.0020.0008.004C][.16C5.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
-004C 004C 0059 ; [.16C5.0020.0008.004C][.16C5.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
-006E 006E 0079 ; [.1703.0020.0002.006E][.1703.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-006E 006E 0059 ; [.1703.0020.0002.006E][.1703.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
-006E 004E 0079 ; [.1703.0020.0002.006E][.1703.0020.0007.004E][.0000.0000.0008.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-006E 004E 0059 ; [.1703.0020.0002.006E][.1703.0020.0008.004E] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-004E 006E 0079 ; [.1703.0020.0008.004E][.1703.0020.0002.006E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-004E 006E 0059 ; [.1703.0020.0008.004E][.1703.0020.0007.006E][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
-004E 004E 0079 ; [.1703.0020.0008.004E][.1703.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 004E 0059 ; [.1703.0020.0008.004E][.1703.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-0073 0073 007A ; [.17A7.0020.0002.0073][.17A7.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
-0073 0073 005A ; [.17A7.0020.0002.0073][.17A7.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
-0073 0053 007A ; [.17A7.0020.0002.0073][.17A7.0020.0007.0053][.0000.0000.0008.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
-0073 0053 005A ; [.17A7.0020.0002.0073][.17A7.0020.0008.0053] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
-0053 0073 007A ; [.17A7.0020.0008.0053][.17A7.0020.0002.0073] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
-0053 0073 005A ; [.17A7.0020.0008.0053][.17A7.0020.0007.0073][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
-0053 0053 007A ; [.17A7.0020.0008.0053][.17A7.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
-0053 0053 005A ; [.17A7.0020.0008.0053][.17A7.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
-0074 0074 0079 ; [.17CA.0020.0002.0074][.17CA.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
-0074 0074 0059 ; [.17CA.0020.0002.0074][.17CA.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
-0074 0054 0079 ; [.17CA.0020.0002.0074][.17CA.0020.0007.0054][.0000.0000.0008.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
-0074 0054 0059 ; [.17CA.0020.0002.0074][.17CA.0020.0008.0054] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
-0054 0074 0079 ; [.17CA.0020.0008.0054][.17CA.0020.0002.0074] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
-0054 0074 0059 ; [.17CA.0020.0008.0054][.17CA.0020.0007.0074][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
-0054 0054 0079 ; [.17CA.0020.0008.0054][.17CA.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
-0054 0054 0059 ; [.17CA.0020.0008.0054][.17CA.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
-007A 007A 0073 ; [.1845.0020.0002.007A][.1845.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-007A 007A 0053 ; [.1845.0020.0002.007A][.1845.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-007A 005A 0073 ; [.1845.0020.0002.007A][.1845.0020.0007.005A][.0000.0000.0008.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-007A 005A 0053 ; [.1845.0020.0002.007A][.1845.0020.0008.005A] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-005A 007A 0073 ; [.1845.0020.0008.005A][.1845.0020.0002.007A] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-005A 007A 0053 ; [.1845.0020.0008.005A][.1845.0020.0007.007A][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-005A 005A 0073 ; [.1845.0020.0008.005A][.1845.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-005A 005A 0053 ; [.1845.0020.0008.005A][.1845.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0063 0073 ; [.1603.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER S>
+0063 0053 ; [.1603.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+0043 0073 ; [.1603.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
+0043 0053 ; [.1603.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
+0064 007A ; [.1617.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0064 005A ; [.1617.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
+0044 007A ; [.1617.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0044 005A ; [.1617.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0064 007A 0073 ; [.1618.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0064 007A 0053 ; [.1618.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0064 005A 0073 ; [.1618.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0064 005A 0053 ; [.1618.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0044 007A 0073 ; [.1618.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0044 007A 0053 ; [.1618.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0044 005A 0073 ; [.1618.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0044 005A 0053 ; [.1618.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0067 0079 ; [.1677.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
+0067 0059 ; [.1677.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
+0047 0079 ; [.1677.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
+0047 0059 ; [.1677.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
+006C 0079 ; [.16F7.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
+006C 0059 ; [.16F7.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
+004C 0079 ; [.16F7.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
+004C 0059 ; [.16F7.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
+006E 0079 ; [.1735.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+006E 0059 ; [.1735.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
+004E 0079 ; [.1735.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.1735.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0073 007A ; [.17D9.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
+0073 005A ; [.17D9.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
+0053 007A ; [.17D9.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
+0053 005A ; [.17D9.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
+0074 0079 ; [.17FC.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
+0074 0059 ; [.17FC.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
+0054 0079 ; [.17FC.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
+0054 0059 ; [.17FC.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
+007A 0073 ; [.187B.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+007A 0053 ; [.187B.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+005A 0073 ; [.187B.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+005A 0053 ; [.187B.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+00F6 ; [.1757.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1757.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1757.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1757.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1757.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1757.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.1757.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1757.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.1757.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1757.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+00FC ; [.181C.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.181C.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.181C.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.181C.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.181C.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.181C.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.181C.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.181C.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.181C.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.181C.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.181C.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.181C.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.181C.0021.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.181C.0021.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.181C.0021.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.181C.0021.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0063 0063 0073 ; [.1603.0020.0002.0063][.1603.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
+0063 0063 0053 ; [.1603.0020.0002.0063][.1603.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+0063 0043 0073 ; [.1603.0020.0002.0063][.1603.0020.0007.0043][.0000.0000.0008.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
+0063 0043 0053 ; [.1603.0020.0002.0063][.1603.0020.0008.0043] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
+0043 0063 0073 ; [.1603.0020.0008.0043][.1603.0020.0002.0063] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
+0043 0063 0053 ; [.1603.0020.0008.0043][.1603.0020.0007.0063][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+0043 0043 0073 ; [.1603.0020.0008.0043][.1603.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
+0043 0043 0053 ; [.1603.0020.0008.0043][.1603.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
+0064 0064 007A ; [.1617.0020.0002.0064][.1617.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0064 0064 005A ; [.1617.0020.0002.0064][.1617.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
+0064 0044 007A ; [.1617.0020.0002.0064][.1617.0020.0007.0044][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0064 0044 005A ; [.1617.0020.0002.0064][.1617.0020.0008.0044] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0044 0064 007A ; [.1617.0020.0008.0044][.1617.0020.0002.0064] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0044 0064 005A ; [.1617.0020.0008.0044][.1617.0020.0007.0064][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
+0044 0044 007A ; [.1617.0020.0008.0044][.1617.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0044 0044 005A ; [.1617.0020.0008.0044][.1617.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0064 0064 007A 0073 ; [.1618.0020.0002.0064][.1618.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0064 0064 007A 0053 ; [.1618.0020.0002.0064][.1618.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0064 0064 005A 0073 ; [.1618.0020.0002.0064][.1618.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0064 0064 005A 0053 ; [.1618.0020.0002.0064][.1618.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0064 0044 007A 0073 ; [.1618.0020.0002.0064][.1618.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0064 0044 007A 0053 ; [.1618.0020.0002.0064][.1618.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0064 0044 005A 0073 ; [.1618.0020.0002.0064][.1618.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0064 0044 005A 0053 ; [.1618.0020.0002.0064][.1618.0020.0008.0044] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0064 007A 0073 ; [.1618.0020.0008.0044][.1618.0020.0002.0064] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0044 0064 007A 0053 ; [.1618.0020.0008.0044][.1618.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0064 005A 0073 ; [.1618.0020.0008.0044][.1618.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0044 0064 005A 0053 ; [.1618.0020.0008.0044][.1618.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0044 007A 0073 ; [.1618.0020.0008.0044][.1618.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0044 0044 007A 0053 ; [.1618.0020.0008.0044][.1618.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0044 005A 0073 ; [.1618.0020.0008.0044][.1618.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0044 0044 005A 0053 ; [.1618.0020.0008.0044][.1618.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0067 0067 0079 ; [.1677.0020.0002.0067][.1677.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
+0067 0067 0059 ; [.1677.0020.0002.0067][.1677.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
+0067 0047 0079 ; [.1677.0020.0002.0067][.1677.0020.0007.0047][.0000.0000.0008.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
+0067 0047 0059 ; [.1677.0020.0002.0067][.1677.0020.0008.0047] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
+0047 0067 0079 ; [.1677.0020.0008.0047][.1677.0020.0002.0067] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
+0047 0067 0059 ; [.1677.0020.0008.0047][.1677.0020.0007.0067][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
+0047 0047 0079 ; [.1677.0020.0008.0047][.1677.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
+0047 0047 0059 ; [.1677.0020.0008.0047][.1677.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
+006C 006C 0079 ; [.16F7.0020.0002.006C][.16F7.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
+006C 006C 0059 ; [.16F7.0020.0002.006C][.16F7.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
+006C 004C 0079 ; [.16F7.0020.0002.006C][.16F7.0020.0007.004C][.0000.0000.0008.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
+006C 004C 0059 ; [.16F7.0020.0002.006C][.16F7.0020.0008.004C] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
+004C 006C 0079 ; [.16F7.0020.0008.004C][.16F7.0020.0002.006C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
+004C 006C 0059 ; [.16F7.0020.0008.004C][.16F7.0020.0007.006C][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
+004C 004C 0079 ; [.16F7.0020.0008.004C][.16F7.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
+004C 004C 0059 ; [.16F7.0020.0008.004C][.16F7.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
+006E 006E 0079 ; [.1735.0020.0002.006E][.1735.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+006E 006E 0059 ; [.1735.0020.0002.006E][.1735.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
+006E 004E 0079 ; [.1735.0020.0002.006E][.1735.0020.0007.004E][.0000.0000.0008.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+006E 004E 0059 ; [.1735.0020.0002.006E][.1735.0020.0008.004E] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+004E 006E 0079 ; [.1735.0020.0008.004E][.1735.0020.0002.006E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 006E 0059 ; [.1735.0020.0008.004E][.1735.0020.0007.006E][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
+004E 004E 0079 ; [.1735.0020.0008.004E][.1735.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 004E 0059 ; [.1735.0020.0008.004E][.1735.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0073 0073 007A ; [.17D9.0020.0002.0073][.17D9.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
+0073 0073 005A ; [.17D9.0020.0002.0073][.17D9.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
+0073 0053 007A ; [.17D9.0020.0002.0073][.17D9.0020.0007.0053][.0000.0000.0008.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
+0073 0053 005A ; [.17D9.0020.0002.0073][.17D9.0020.0008.0053] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
+0053 0073 007A ; [.17D9.0020.0008.0053][.17D9.0020.0002.0073] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
+0053 0073 005A ; [.17D9.0020.0008.0053][.17D9.0020.0007.0073][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
+0053 0053 007A ; [.17D9.0020.0008.0053][.17D9.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
+0053 0053 005A ; [.17D9.0020.0008.0053][.17D9.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
+0074 0074 0079 ; [.17FC.0020.0002.0074][.17FC.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
+0074 0074 0059 ; [.17FC.0020.0002.0074][.17FC.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
+0074 0054 0079 ; [.17FC.0020.0002.0074][.17FC.0020.0007.0054][.0000.0000.0008.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
+0074 0054 0059 ; [.17FC.0020.0002.0074][.17FC.0020.0008.0054] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
+0054 0074 0079 ; [.17FC.0020.0008.0054][.17FC.0020.0002.0074] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
+0054 0074 0059 ; [.17FC.0020.0008.0054][.17FC.0020.0007.0074][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
+0054 0054 0079 ; [.17FC.0020.0008.0054][.17FC.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
+0054 0054 0059 ; [.17FC.0020.0008.0054][.17FC.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
+007A 007A 0073 ; [.187B.0020.0002.007A][.187B.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+007A 007A 0053 ; [.187B.0020.0002.007A][.187B.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+007A 005A 0073 ; [.187B.0020.0002.007A][.187B.0020.0007.005A][.0000.0000.0008.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+007A 005A 0053 ; [.187B.0020.0002.007A][.187B.0020.0008.005A] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+005A 007A 0073 ; [.187B.0020.0008.005A][.187B.0020.0002.007A] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+005A 007A 0053 ; [.187B.0020.0008.005A][.187B.0020.0007.007A][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+005A 005A 0073 ; [.187B.0020.0008.005A][.187B.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+005A 005A 0053 ; [.187B.0020.0008.005A][.187B.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hy.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hy.pl
index e67f3609f96..4da170550d0 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hy.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/hy.pl
@@ -1,6 +1,7 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0587 ; [.1BF1.0020.0002.0584][.FFF1.0000.0000.0000] # ARMENIAN SMALL LIGATURE ECH YIWN
-0535 0582 ; [.1BF1.0020.0008.0554][.FFF1.0000.0000.0000] # <ARMENIAN CAPITAL LETTER ECH, ARMENIAN SMALL LETTER YIWN>
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0587 ; [.1C29.0020.0002.0587][.FFF1.0000.0000.0000] # ARMENIAN SMALL LIGATURE ECH YIWN
+0535 0582 ; [.1C29.0020.0008.0535][.FFF1.0000.0000.0000] # <ARMENIAN CAPITAL LETTER ECH, ARMENIAN SMALL LETTER YIWN>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ig.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ig.pl
index 6f1ed06541f..e7410ca3674 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ig.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ig.pl
@@ -1,53 +1,54 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0063 0068 ; [.15BA.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0043 0068 ; [.15BA.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.15BA.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-0067 0062 ; [.1645.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
-0047 0062 ; [.1645.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
-0047 0042 ; [.1645.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
-0067 0068 ; [.1646.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H>
-0047 0068 ; [.1646.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H>
-0047 0048 ; [.1646.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H>
-0067 0077 ; [.1647.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER W>
-0047 0077 ; [.1647.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER W>
-0047 0057 ; [.1647.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER W>
-1ECB ; [.1681.0020.0002.1ECB] # LATIN SMALL LETTER I WITH DOT BELOW
-0069 0323 ; [.1681.0020.0002.1ECB] # LATIN SMALL LETTER I WITH DOT BELOW
-1ECA ; [.1681.0020.0008.1ECA] # LATIN CAPITAL LETTER I WITH DOT BELOW
-0049 0323 ; [.1681.0020.0008.1ECA] # LATIN CAPITAL LETTER I WITH DOT BELOW
-006B 0070 ; [.16B3.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER P>
-004B 0070 ; [.16B3.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER P>
-004B 0050 ; [.16B3.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER P>
-006B 0077 ; [.16B4.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER W>
-004B 0077 ; [.16B4.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER W>
-004B 0057 ; [.16B4.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER W>
-1E45 ; [.1703.0020.0002.1E45] # LATIN SMALL LETTER N WITH DOT ABOVE
-006E 0307 ; [.1703.0020.0002.1E45] # LATIN SMALL LETTER N WITH DOT ABOVE
-1E44 ; [.1703.0020.0008.1E44] # LATIN CAPITAL LETTER N WITH DOT ABOVE
-004E 0307 ; [.1703.0020.0008.1E44] # LATIN CAPITAL LETTER N WITH DOT ABOVE
-006E 0077 ; [.1704.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER W>
-004E 0077 ; [.1704.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER W>
-004E 0057 ; [.1704.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER W>
-006E 0079 ; [.1705.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-004E 0079 ; [.1705.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 0059 ; [.1705.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-1ECD ; [.1725.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
-006F 0323 ; [.1725.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
-1ECC ; [.1725.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
-004F 0323 ; [.1725.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
-1ED9 ; [.1725.0020.0002.1ECD][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8 ; [.1725.0020.0008.1ECC][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EE3 ; [.1725.0020.0002.1ECD][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE2 ; [.1725.0020.0008.1ECC][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-0073 0068 ; [.17A7.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
-0053 0068 ; [.17A7.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
-0053 0048 ; [.17A7.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
-1EE5 ; [.17EA.0020.0002.1EE5] # LATIN SMALL LETTER U WITH DOT BELOW
-0075 0323 ; [.17EA.0020.0002.1EE5] # LATIN SMALL LETTER U WITH DOT BELOW
-1EE4 ; [.17EA.0020.0008.1EE4] # LATIN CAPITAL LETTER U WITH DOT BELOW
-0055 0323 ; [.17EA.0020.0008.1EE4] # LATIN CAPITAL LETTER U WITH DOT BELOW
-1EF1 ; [.17EA.0020.0002.1EE5][.0000.0068.0002.031B] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-1EF0 ; [.17EA.0020.0008.1EE4][.0000.0068.0002.031B] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0063 0068 ; [.15EB.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.15EB.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.15EB.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0067 0062 ; [.1677.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
+0047 0062 ; [.1677.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
+0047 0042 ; [.1677.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
+0067 0068 ; [.1678.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H>
+0047 0068 ; [.1678.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H>
+0047 0048 ; [.1678.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H>
+0067 0077 ; [.1679.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER W>
+0047 0077 ; [.1679.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER W>
+0047 0057 ; [.1679.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER W>
+1ECB ; [.16B3.0020.0002.1ECB] # LATIN SMALL LETTER I WITH DOT BELOW
+0069 0323 ; [.16B3.0020.0002.1ECB] # LATIN SMALL LETTER I WITH DOT BELOW
+1ECA ; [.16B3.0020.0008.1ECA] # LATIN CAPITAL LETTER I WITH DOT BELOW
+0049 0323 ; [.16B3.0020.0008.1ECA] # LATIN CAPITAL LETTER I WITH DOT BELOW
+006B 0070 ; [.16E5.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER P>
+004B 0070 ; [.16E5.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER P>
+004B 0050 ; [.16E5.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER P>
+006B 0077 ; [.16E6.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER W>
+004B 0077 ; [.16E6.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER W>
+004B 0057 ; [.16E6.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER W>
+1E45 ; [.1735.0020.0002.1E45] # LATIN SMALL LETTER N WITH DOT ABOVE
+006E 0307 ; [.1735.0020.0002.1E45] # LATIN SMALL LETTER N WITH DOT ABOVE
+1E44 ; [.1735.0020.0008.1E44] # LATIN CAPITAL LETTER N WITH DOT ABOVE
+004E 0307 ; [.1735.0020.0008.1E44] # LATIN CAPITAL LETTER N WITH DOT ABOVE
+006E 0077 ; [.1736.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER W>
+004E 0077 ; [.1736.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER W>
+004E 0057 ; [.1736.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER W>
+006E 0079 ; [.1737.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 0079 ; [.1737.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.1737.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+1ECD ; [.1757.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
+006F 0323 ; [.1757.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC ; [.1757.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
+004F 0323 ; [.1757.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1ED9 ; [.1757.0020.0002.1ECD][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.1757.0020.0008.1ECC][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1EE3 ; [.1757.0020.0002.1ECD][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE2 ; [.1757.0020.0008.1ECC][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+0073 0068 ; [.17D9.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0053 0068 ; [.17D9.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+0053 0048 ; [.17D9.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
+1EE5 ; [.181C.0020.0002.1EE5] # LATIN SMALL LETTER U WITH DOT BELOW
+0075 0323 ; [.181C.0020.0002.1EE5] # LATIN SMALL LETTER U WITH DOT BELOW
+1EE4 ; [.181C.0020.0008.1EE4] # LATIN CAPITAL LETTER U WITH DOT BELOW
+0055 0323 ; [.181C.0020.0008.1EE4] # LATIN CAPITAL LETTER U WITH DOT BELOW
+1EF1 ; [.181C.0020.0002.1EE5][.0000.0068.0002.031B] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+1EF0 ; [.181C.0020.0008.1EE4][.0000.0068.0002.031B] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/is.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/is.pl
index 75b1efddbc0..dd183965d1d 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/is.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/is.pl
@@ -1,78 +1,79 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-00E1 ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.15B8.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15B8.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15B8.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0 ; [.15E5.0020.0002.00F0] # LATIN SMALL LETTER ETH
-00D0 ; [.15E5.0020.0008.00D0] # LATIN CAPITAL LETTER ETH
-00E9 ; [.1636.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.1636.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.1636.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.1636.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.1636.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.1636.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-00ED ; [.1698.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1698.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1698.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD ; [.1698.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1698.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1698.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-00F3 ; [.1748.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1748.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1748.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1748.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1748.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1748.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-00FA ; [.1811.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.1811.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.1811.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA ; [.1811.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.1811.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.1811.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-00FD ; [.1843.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE
-0079 0301 ; [.1843.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE
-0079 0341 ; [.1843.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE
-00DD ; [.1843.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE
-0059 0301 ; [.1843.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE
-0059 0341 ; [.1843.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE
-00E6 ; [.18B9.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.18B9.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.18B9.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.18B9.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.18B9.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.18B9.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.18B9.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4 ; [.18B9.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.18B9.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.18B9.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.18B9.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.18B9.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.18B9.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00F6 ; [.18BA.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.18BA.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.18BA.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.18BA.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.18BA.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.18BA.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00F8 ; [.18BA.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.18BA.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.18BA.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.18BA.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.18BA.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.18BA.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00E5 ; [.18BB.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.18BB.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.18BB.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.18BB.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.18BB.0020.0008.00C5] # ANGSTROM SIGN
-01FB ; [.18BB.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.18BB.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+00E1 ; [.15E9.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15E9.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15E9.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15E9.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15E9.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15E9.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0111 ; [.1616.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1616.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.1616.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1616.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.1617.0020.0002.00F0] # LATIN SMALL LETTER ETH
+00D0 ; [.1617.0020.0008.00D0] # LATIN CAPITAL LETTER ETH
+00E9 ; [.1668.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1668.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1668.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1668.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1668.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1668.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+00ED ; [.16CA.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16CA.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16CA.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16CA.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16CA.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16CA.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+00F3 ; [.177A.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.177A.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.177A.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.177A.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.177A.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.177A.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+00FA ; [.1843.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1843.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1843.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.1843.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1843.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1843.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+00FD ; [.1879.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE
+0079 0301 ; [.1879.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE
+0079 0341 ; [.1879.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE
+00DD ; [.1879.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE
+0059 0301 ; [.1879.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE
+0059 0341 ; [.1879.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE
+00E6 ; [.18EB.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.18EB.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.18EB.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.18EB.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.18EB.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.18EB.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.18EB.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4 ; [.18EB.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.18EB.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.18EB.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.18EB.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.18EB.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.18EB.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00F6 ; [.18EC.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.18EC.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.18EC.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.18EC.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.18EC.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.18EC.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8 ; [.18EC.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.18EC.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.18EC.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.18EC.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.18EC.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.18EC.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00E5 ; [.18ED.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.18ED.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.18ED.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.18ED.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.18ED.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.18ED.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.18ED.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ja.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ja.pl
index 0b49c178848..670814d3738 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ja.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ja.pl
@@ -1,1241 +1,1846 @@
use Unicode::Collate::CJK::JISX0208;
+{
+ locale_version => 0.88,
overrideCJK => \&Unicode::Collate::CJK::JISX0208::weightJISX0208,
- entry => <<'ENTRY', # for DUCET v6.0.0
-3041 ; [.3196.0020.000F.3041] # HIRAGANA LETTER SMALL A
-3042 ; [.3196.0020.0011.3042] # HIRAGANA LETTER A
-3043 ; [.3197.0020.000F.3043] # HIRAGANA LETTER SMALL I
-3044 ; [.3197.0020.0011.3044] # HIRAGANA LETTER I
-3045 ; [.3198.0020.000F.3045] # HIRAGANA LETTER SMALL U
-3046 ; [.3198.0020.0011.3046] # HIRAGANA LETTER U
-3047 ; [.319A.0020.000F.3047] # HIRAGANA LETTER SMALL E
-3048 ; [.319A.0020.0011.3048] # HIRAGANA LETTER E
-3049 ; [.319B.0020.000F.3049] # HIRAGANA LETTER SMALL O
-304A ; [.319B.0020.0011.304A] # HIRAGANA LETTER O
-304B ; [.319C.0020.0011.304B] # HIRAGANA LETTER KA
-304C ; [.319C.0020.0011.304B][.0000.014E.0002.3099] # HIRAGANA LETTER GA
-304D ; [.319D.0020.0011.304D] # HIRAGANA LETTER KI
-304E ; [.319D.0020.0011.304D][.0000.014E.0002.3099] # HIRAGANA LETTER GI
-304F ; [.319E.0020.0011.304F] # HIRAGANA LETTER KU
-3050 ; [.319E.0020.0011.304F][.0000.014E.0002.3099] # HIRAGANA LETTER GU
-3051 ; [.319F.0020.0011.3051] # HIRAGANA LETTER KE
-3052 ; [.319F.0020.0011.3051][.0000.014E.0002.3099] # HIRAGANA LETTER GE
-3053 ; [.31A0.0020.0011.3053] # HIRAGANA LETTER KO
-3054 ; [.31A0.0020.0011.3053][.0000.014E.0002.3099] # HIRAGANA LETTER GO
-3055 ; [.31A1.0020.0011.3055] # HIRAGANA LETTER SA
-3056 ; [.31A1.0020.0011.3055][.0000.014E.0002.3099] # HIRAGANA LETTER ZA
-3057 ; [.31A2.0020.0011.3057] # HIRAGANA LETTER SI
-3058 ; [.31A2.0020.0011.3057][.0000.014E.0002.3099] # HIRAGANA LETTER ZI
-3059 ; [.31A3.0020.0011.3059] # HIRAGANA LETTER SU
-305A ; [.31A3.0020.0011.3059][.0000.014E.0002.3099] # HIRAGANA LETTER ZU
-305B ; [.31A4.0020.0011.305B] # HIRAGANA LETTER SE
-305C ; [.31A4.0020.0011.305B][.0000.014E.0002.3099] # HIRAGANA LETTER ZE
-305D ; [.31A5.0020.0011.305D] # HIRAGANA LETTER SO
-305E ; [.31A5.0020.0011.305D][.0000.014E.0002.3099] # HIRAGANA LETTER ZO
-305F ; [.31A6.0020.0011.305F] # HIRAGANA LETTER TA
-3060 ; [.31A6.0020.0011.305F][.0000.014E.0002.3099] # HIRAGANA LETTER DA
-3061 ; [.31A7.0020.0011.3061] # HIRAGANA LETTER TI
-3062 ; [.31A7.0020.0011.3061][.0000.014E.0002.3099] # HIRAGANA LETTER DI
-3063 ; [.31A8.0020.000F.3063] # HIRAGANA LETTER SMALL TU
-3064 ; [.31A8.0020.0011.3064] # HIRAGANA LETTER TU
-3065 ; [.31A8.0020.0011.3064][.0000.014E.0002.3099] # HIRAGANA LETTER DU
-3066 ; [.31A9.0020.0011.3066] # HIRAGANA LETTER TE
-3067 ; [.31A9.0020.0011.3066][.0000.014E.0002.3099] # HIRAGANA LETTER DE
-3068 ; [.31AA.0020.0011.3068] # HIRAGANA LETTER TO
-3069 ; [.31AA.0020.0011.3068][.0000.014E.0002.3099] # HIRAGANA LETTER DO
-306A ; [.31AB.0020.0011.306A] # HIRAGANA LETTER NA
-306B ; [.31AC.0020.0011.306B] # HIRAGANA LETTER NI
-306C ; [.31AD.0020.0011.306C] # HIRAGANA LETTER NU
-306D ; [.31AE.0020.0011.306D] # HIRAGANA LETTER NE
-306E ; [.31AF.0020.0011.306E] # HIRAGANA LETTER NO
-306F ; [.31B0.0020.0011.306F] # HIRAGANA LETTER HA
-3070 ; [.31B0.0020.0011.306F][.0000.014E.0002.3099] # HIRAGANA LETTER BA
-3071 ; [.31B0.0020.0011.306F][.0000.014F.0002.309A] # HIRAGANA LETTER PA
-3072 ; [.31B1.0020.0011.3072] # HIRAGANA LETTER HI
-3073 ; [.31B1.0020.0011.3072][.0000.014E.0002.3099] # HIRAGANA LETTER BI
-3074 ; [.31B1.0020.0011.3072][.0000.014F.0002.309A] # HIRAGANA LETTER PI
-3075 ; [.31B2.0020.0011.3075] # HIRAGANA LETTER HU
-3076 ; [.31B2.0020.0011.3075][.0000.014E.0002.3099] # HIRAGANA LETTER BU
-3077 ; [.31B2.0020.0011.3075][.0000.014F.0002.309A] # HIRAGANA LETTER PU
-3078 ; [.31B3.0020.0011.3078] # HIRAGANA LETTER HE
-3079 ; [.31B3.0020.0011.3078][.0000.014E.0002.3099] # HIRAGANA LETTER BE
-307A ; [.31B3.0020.0011.3078][.0000.014F.0002.309A] # HIRAGANA LETTER PE
-307B ; [.31B4.0020.0011.307B] # HIRAGANA LETTER HO
-307C ; [.31B4.0020.0011.307B][.0000.014E.0002.3099] # HIRAGANA LETTER BO
-307D ; [.31B4.0020.0011.307B][.0000.014F.0002.309A] # HIRAGANA LETTER PO
-307E ; [.31B5.0020.0011.307E] # HIRAGANA LETTER MA
-307F ; [.31B6.0020.0011.307F] # HIRAGANA LETTER MI
-3080 ; [.31B7.0020.0011.3080] # HIRAGANA LETTER MU
-3081 ; [.31B8.0020.0011.3081] # HIRAGANA LETTER ME
-3082 ; [.31B9.0020.0011.3082] # HIRAGANA LETTER MO
-3083 ; [.31BA.0020.000F.3083] # HIRAGANA LETTER SMALL YA
-3084 ; [.31BA.0020.0011.3084] # HIRAGANA LETTER YA
-3085 ; [.31BB.0020.000F.3085] # HIRAGANA LETTER SMALL YU
-3086 ; [.31BB.0020.0011.3086] # HIRAGANA LETTER YU
-3087 ; [.31BD.0020.000F.3087] # HIRAGANA LETTER SMALL YO
-3088 ; [.31BD.0020.0011.3088] # HIRAGANA LETTER YO
-3089 ; [.31BE.0020.0011.3089] # HIRAGANA LETTER RA
-308A ; [.31BF.0020.0011.308A] # HIRAGANA LETTER RI
-308B ; [.31C0.0020.0011.308B] # HIRAGANA LETTER RU
-308C ; [.31C1.0020.0011.308C] # HIRAGANA LETTER RE
-308D ; [.31C2.0020.0011.308D] # HIRAGANA LETTER RO
-308E ; [.31C3.0020.000F.308E] # HIRAGANA LETTER SMALL WA
-308F ; [.31C3.0020.0011.308F] # HIRAGANA LETTER WA
-3090 ; [.31C4.0020.0011.3090] # HIRAGANA LETTER WI
-3091 ; [.31C5.0020.0011.3091] # HIRAGANA LETTER WE
-3092 ; [.31C6.0020.0011.3092] # HIRAGANA LETTER WO
-3093 ; [.31C7.0020.0011.3093] # HIRAGANA LETTER N
-3094 ; [.3198.0020.0011.3046][.0000.014E.0002.3099] # HIRAGANA LETTER VU
-3095 ; [.319C.0020.000F.3095] # HIRAGANA LETTER SMALL KA
-3096 ; [.319F.0020.000F.3096] # HIRAGANA LETTER SMALL KE
+ entry => <<'ENTRY', # for DUCET v6.1.0
+3041 ; [.32A0.0020.000F.3041] # HIRAGANA LETTER SMALL A
+3042 ; [.32A0.0020.0011.3042] # HIRAGANA LETTER A
+3043 ; [.32A1.0020.000F.3043] # HIRAGANA LETTER SMALL I
+3044 ; [.32A1.0020.0011.3044] # HIRAGANA LETTER I
+3045 ; [.32A2.0020.000F.3045] # HIRAGANA LETTER SMALL U
+3046 ; [.32A2.0020.0011.3046] # HIRAGANA LETTER U
+3047 ; [.32A4.0020.000F.3047] # HIRAGANA LETTER SMALL E
+3048 ; [.32A4.0020.0011.3048] # HIRAGANA LETTER E
+3049 ; [.32A5.0020.000F.3049] # HIRAGANA LETTER SMALL O
+304A ; [.32A5.0020.0011.304A] # HIRAGANA LETTER O
+304B ; [.32A6.0020.0011.304B] # HIRAGANA LETTER KA
+304C ; [.32A6.0020.0011.304B][.0000.0128.0002.3099] # HIRAGANA LETTER GA
+304D ; [.32A7.0020.0011.304D] # HIRAGANA LETTER KI
+304E ; [.32A7.0020.0011.304D][.0000.0128.0002.3099] # HIRAGANA LETTER GI
+304F ; [.32A8.0020.0011.304F] # HIRAGANA LETTER KU
+3050 ; [.32A8.0020.0011.304F][.0000.0128.0002.3099] # HIRAGANA LETTER GU
+3051 ; [.32A9.0020.0011.3051] # HIRAGANA LETTER KE
+3052 ; [.32A9.0020.0011.3051][.0000.0128.0002.3099] # HIRAGANA LETTER GE
+3053 ; [.32AA.0020.0011.3053] # HIRAGANA LETTER KO
+3054 ; [.32AA.0020.0011.3053][.0000.0128.0002.3099] # HIRAGANA LETTER GO
+3055 ; [.32AB.0020.0011.3055] # HIRAGANA LETTER SA
+3056 ; [.32AB.0020.0011.3055][.0000.0128.0002.3099] # HIRAGANA LETTER ZA
+3057 ; [.32AC.0020.0011.3057] # HIRAGANA LETTER SI
+3058 ; [.32AC.0020.0011.3057][.0000.0128.0002.3099] # HIRAGANA LETTER ZI
+3059 ; [.32AD.0020.0011.3059] # HIRAGANA LETTER SU
+305A ; [.32AD.0020.0011.3059][.0000.0128.0002.3099] # HIRAGANA LETTER ZU
+305B ; [.32AE.0020.0011.305B] # HIRAGANA LETTER SE
+305C ; [.32AE.0020.0011.305B][.0000.0128.0002.3099] # HIRAGANA LETTER ZE
+305D ; [.32AF.0020.0011.305D] # HIRAGANA LETTER SO
+305E ; [.32AF.0020.0011.305D][.0000.0128.0002.3099] # HIRAGANA LETTER ZO
+305F ; [.32B0.0020.0011.305F] # HIRAGANA LETTER TA
+3060 ; [.32B0.0020.0011.305F][.0000.0128.0002.3099] # HIRAGANA LETTER DA
+3061 ; [.32B1.0020.0011.3061] # HIRAGANA LETTER TI
+3062 ; [.32B1.0020.0011.3061][.0000.0128.0002.3099] # HIRAGANA LETTER DI
+3063 ; [.32B2.0020.000F.3063] # HIRAGANA LETTER SMALL TU
+3064 ; [.32B2.0020.0011.3064] # HIRAGANA LETTER TU
+3065 ; [.32B2.0020.0011.3064][.0000.0128.0002.3099] # HIRAGANA LETTER DU
+3066 ; [.32B3.0020.0011.3066] # HIRAGANA LETTER TE
+3067 ; [.32B3.0020.0011.3066][.0000.0128.0002.3099] # HIRAGANA LETTER DE
+3068 ; [.32B4.0020.0011.3068] # HIRAGANA LETTER TO
+3069 ; [.32B4.0020.0011.3068][.0000.0128.0002.3099] # HIRAGANA LETTER DO
+306A ; [.32B5.0020.0011.306A] # HIRAGANA LETTER NA
+306B ; [.32B6.0020.0011.306B] # HIRAGANA LETTER NI
+306C ; [.32B7.0020.0011.306C] # HIRAGANA LETTER NU
+306D ; [.32B8.0020.0011.306D] # HIRAGANA LETTER NE
+306E ; [.32B9.0020.0011.306E] # HIRAGANA LETTER NO
+306F ; [.32BA.0020.0011.306F] # HIRAGANA LETTER HA
+3070 ; [.32BA.0020.0011.306F][.0000.0128.0002.3099] # HIRAGANA LETTER BA
+3071 ; [.32BA.0020.0011.306F][.0000.0129.0002.309A] # HIRAGANA LETTER PA
+3072 ; [.32BB.0020.0011.3072] # HIRAGANA LETTER HI
+3073 ; [.32BB.0020.0011.3072][.0000.0128.0002.3099] # HIRAGANA LETTER BI
+3074 ; [.32BB.0020.0011.3072][.0000.0129.0002.309A] # HIRAGANA LETTER PI
+3075 ; [.32BC.0020.0011.3075] # HIRAGANA LETTER HU
+3076 ; [.32BC.0020.0011.3075][.0000.0128.0002.3099] # HIRAGANA LETTER BU
+3077 ; [.32BC.0020.0011.3075][.0000.0129.0002.309A] # HIRAGANA LETTER PU
+3078 ; [.32BD.0020.0011.3078] # HIRAGANA LETTER HE
+3079 ; [.32BD.0020.0011.3078][.0000.0128.0002.3099] # HIRAGANA LETTER BE
+307A ; [.32BD.0020.0011.3078][.0000.0129.0002.309A] # HIRAGANA LETTER PE
+307B ; [.32BE.0020.0011.307B] # HIRAGANA LETTER HO
+307C ; [.32BE.0020.0011.307B][.0000.0128.0002.3099] # HIRAGANA LETTER BO
+307D ; [.32BE.0020.0011.307B][.0000.0129.0002.309A] # HIRAGANA LETTER PO
+307E ; [.32BF.0020.0011.307E] # HIRAGANA LETTER MA
+307F ; [.32C0.0020.0011.307F] # HIRAGANA LETTER MI
+3080 ; [.32C1.0020.0011.3080] # HIRAGANA LETTER MU
+3081 ; [.32C2.0020.0011.3081] # HIRAGANA LETTER ME
+3082 ; [.32C3.0020.0011.3082] # HIRAGANA LETTER MO
+3083 ; [.32C4.0020.000F.3083] # HIRAGANA LETTER SMALL YA
+3084 ; [.32C4.0020.0011.3084] # HIRAGANA LETTER YA
+3085 ; [.32C5.0020.000F.3085] # HIRAGANA LETTER SMALL YU
+3086 ; [.32C5.0020.0011.3086] # HIRAGANA LETTER YU
+3087 ; [.32C7.0020.000F.3087] # HIRAGANA LETTER SMALL YO
+3088 ; [.32C7.0020.0011.3088] # HIRAGANA LETTER YO
+3089 ; [.32C8.0020.0011.3089] # HIRAGANA LETTER RA
+308A ; [.32C9.0020.0011.308A] # HIRAGANA LETTER RI
+308B ; [.32CA.0020.0011.308B] # HIRAGANA LETTER RU
+308C ; [.32CB.0020.0011.308C] # HIRAGANA LETTER RE
+308D ; [.32CC.0020.0011.308D] # HIRAGANA LETTER RO
+308E ; [.32CD.0020.000F.308E] # HIRAGANA LETTER SMALL WA
+308F ; [.32CD.0020.0011.308F] # HIRAGANA LETTER WA
+3090 ; [.32CE.0020.0011.3090] # HIRAGANA LETTER WI
+3091 ; [.32CF.0020.0011.3091] # HIRAGANA LETTER WE
+3092 ; [.32D0.0020.0011.3092] # HIRAGANA LETTER WO
+3093 ; [.32D1.0020.0011.3093] # HIRAGANA LETTER N
+3094 ; [.32A2.0020.0011.3046][.0000.0128.0002.3099] # HIRAGANA LETTER VU
+3095 ; [.32A6.0020.000F.3095] # HIRAGANA LETTER SMALL KA
+3096 ; [.32A9.0020.000F.3096] # HIRAGANA LETTER SMALL KE
+309D ; [.15A1.0020.0002.309D] # HIRAGANA ITERATION MARK
+309E ; [.15A1.0020.0002.309D][.0000.0128.0002.3099] # HIRAGANA VOICED ITERATION MARK
3000 ; [*020A.0020.0002.0020] # IDEOGRAPHIC SPACE
-FF01 ; [*027B.0020.0002.0021] # FULLWIDTH EXCLAMATION MARK
-FF02 ; [*0304.0020.0002.0022] # FULLWIDTH QUOTATION MARK
-FF03 ; [*0371.0020.0002.0023] # FULLWIDTH NUMBER SIGN
-FF04 ; [.1574.0020.0002.0024] # FULLWIDTH DOLLAR SIGN
-FF05 ; [*0372.0020.0002.0025] # FULLWIDTH PERCENT SIGN
-FF06 ; [*036E.0020.0002.0026] # FULLWIDTH AMPERSAND
-FF07 ; [*02FD.0020.0002.0027] # FULLWIDTH APOSTROPHE
-FF08 ; [*030E.0020.0002.0028] # FULLWIDTH LEFT PARENTHESIS
-FF09 ; [*030F.0020.0002.0029] # FULLWIDTH RIGHT PARENTHESIS
-FF0A ; [*0366.0020.0002.002A] # FULLWIDTH ASTERISK
-FF0B ; [*056A.0020.0002.002B] # FULLWIDTH PLUS SIGN
-FF0C ; [*0241.0020.0002.002C] # FULLWIDTH COMMA
-FF0D ; [*0230.0020.0002.002D] # FULLWIDTH HYPHEN-MINUS
-FF0E ; [*028E.0020.0002.002E] # FULLWIDTH FULL STOP
-FF0F ; [*036B.0020.0002.002F] # FULLWIDTH SOLIDUS
-FF10 ; [.1599.0020.0002.0030] # FULLWIDTH DIGIT ZERO
-FF11 ; [.159A.0020.0002.0031] # FULLWIDTH DIGIT ONE
-FF12 ; [.159B.0020.0002.0032] # FULLWIDTH DIGIT TWO
-FF13 ; [.159C.0020.0002.0033] # FULLWIDTH DIGIT THREE
-FF14 ; [.159D.0020.0002.0034] # FULLWIDTH DIGIT FOUR
-FF15 ; [.159E.0020.0002.0035] # FULLWIDTH DIGIT FIVE
-FF16 ; [.159F.0020.0002.0036] # FULLWIDTH DIGIT SIX
-FF17 ; [.15A0.0020.0002.0037] # FULLWIDTH DIGIT SEVEN
-FF18 ; [.15A1.0020.0002.0038] # FULLWIDTH DIGIT EIGHT
-FF19 ; [.15A2.0020.0002.0039] # FULLWIDTH DIGIT NINE
-FF1A ; [*0254.0020.0002.003A] # FULLWIDTH COLON
-FF1B ; [*0250.0020.0002.003B] # FULLWIDTH SEMICOLON
-FF1C ; [*056E.0020.0002.003C] # FULLWIDTH LESS-THAN SIGN
-FF1D ; [*056F.0020.0002.003D] # FULLWIDTH EQUALS SIGN
-FF1E ; [*0570.0020.0002.003E] # FULLWIDTH GREATER-THAN SIGN
-FF1F ; [*0280.0020.0002.003F] # FULLWIDTH QUESTION MARK
-FF20 ; [*0365.0020.0002.0040] # FULLWIDTH COMMERCIAL AT
-FF21 ; [.15A3.0020.0008.0041] # FULLWIDTH LATIN CAPITAL LETTER A
-FF22 ; [.15B9.0020.0008.0042] # FULLWIDTH LATIN CAPITAL LETTER B
-FF23 ; [.15D1.0020.0008.0043] # FULLWIDTH LATIN CAPITAL LETTER C
-FF24 ; [.15E4.0020.0008.0044] # FULLWIDTH LATIN CAPITAL LETTER D
-FF25 ; [.15FF.0020.0008.0045] # FULLWIDTH LATIN CAPITAL LETTER E
-FF26 ; [.1637.0020.0008.0046] # FULLWIDTH LATIN CAPITAL LETTER F
-FF27 ; [.1644.0020.0008.0047] # FULLWIDTH LATIN CAPITAL LETTER G
-FF28 ; [.1667.0020.0008.0048] # FULLWIDTH LATIN CAPITAL LETTER H
-FF29 ; [.1680.0020.0008.0049] # FULLWIDTH LATIN CAPITAL LETTER I
-FF2A ; [.1699.0020.0008.004A] # FULLWIDTH LATIN CAPITAL LETTER J
-FF2B ; [.16B2.0020.0008.004B] # FULLWIDTH LATIN CAPITAL LETTER K
-FF2C ; [.16C4.0020.0008.004C] # FULLWIDTH LATIN CAPITAL LETTER L
-FF2D ; [.16F4.0020.0008.004D] # FULLWIDTH LATIN CAPITAL LETTER M
-FF2E ; [.1702.0020.0008.004E] # FULLWIDTH LATIN CAPITAL LETTER N
-FF2F ; [.1724.0020.0008.004F] # FULLWIDTH LATIN CAPITAL LETTER O
-FF30 ; [.1749.0020.0008.0050] # FULLWIDTH LATIN CAPITAL LETTER P
-FF31 ; [.175E.0020.0008.0051] # FULLWIDTH LATIN CAPITAL LETTER Q
-FF32 ; [.1770.0020.0008.0052] # FULLWIDTH LATIN CAPITAL LETTER R
-FF33 ; [.17A6.0020.0008.0053] # FULLWIDTH LATIN CAPITAL LETTER S
-FF34 ; [.17C9.0020.0008.0054] # FULLWIDTH LATIN CAPITAL LETTER T
-FF35 ; [.17E9.0020.0008.0055] # FULLWIDTH LATIN CAPITAL LETTER U
-FF36 ; [.1812.0020.0008.0056] # FULLWIDTH LATIN CAPITAL LETTER V
-FF37 ; [.1824.0020.0008.0057] # FULLWIDTH LATIN CAPITAL LETTER W
-FF38 ; [.182E.0020.0008.0058] # FULLWIDTH LATIN CAPITAL LETTER X
-FF39 ; [.1833.0020.0008.0059] # FULLWIDTH LATIN CAPITAL LETTER Y
-FF3A ; [.1844.0020.0008.005A] # FULLWIDTH LATIN CAPITAL LETTER Z
-FF3B ; [*0310.0020.0002.005B] # FULLWIDTH LEFT SQUARE BRACKET
-FF3C ; [*02FD.0020.0002.0027] # FULLWIDTH REVERSE SOLIDUS
-FF3D ; [*0311.0020.0002.005D] # FULLWIDTH RIGHT SQUARE BRACKET
-FF3E ; [*020F.0020.0002.005E] # FULLWIDTH CIRCUMFLEX ACCENT
-FF3F ; [*021B.0020.0002.005F] # FULLWIDTH LOW LINE
-FF40 ; [*020C.0020.0002.0060] # FULLWIDTH GRAVE ACCENT
-FF41 ; [.15A3.0020.0002.0061] # FULLWIDTH LATIN SMALL LETTER A
-FF42 ; [.15B9.0020.0002.0062] # FULLWIDTH LATIN SMALL LETTER B
-FF43 ; [.15D1.0020.0002.0063] # FULLWIDTH LATIN SMALL LETTER C
-FF44 ; [.15E4.0020.0002.0064] # FULLWIDTH LATIN SMALL LETTER D
-FF45 ; [.15FF.0020.0002.0065] # FULLWIDTH LATIN SMALL LETTER E
-FF46 ; [.1637.0020.0002.0066] # FULLWIDTH LATIN SMALL LETTER F
-FF47 ; [.1644.0020.0002.0067] # FULLWIDTH LATIN SMALL LETTER G
-FF48 ; [.1667.0020.0002.0068] # FULLWIDTH LATIN SMALL LETTER H
-FF49 ; [.1680.0020.0002.0069] # FULLWIDTH LATIN SMALL LETTER I
-FF4A ; [.1699.0020.0002.006A] # FULLWIDTH LATIN SMALL LETTER J
-FF4B ; [.16B2.0020.0002.006B] # FULLWIDTH LATIN SMALL LETTER K
-FF4C ; [.16C4.0020.0002.006C] # FULLWIDTH LATIN SMALL LETTER L
-FF4D ; [.16F4.0020.0002.006D] # FULLWIDTH LATIN SMALL LETTER M
-FF4E ; [.1702.0020.0002.006E] # FULLWIDTH LATIN SMALL LETTER N
-FF4F ; [.1724.0020.0002.006F] # FULLWIDTH LATIN SMALL LETTER O
-FF50 ; [.1749.0020.0002.0070] # FULLWIDTH LATIN SMALL LETTER P
-FF51 ; [.175E.0020.0002.0071] # FULLWIDTH LATIN SMALL LETTER Q
-FF52 ; [.1770.0020.0002.0072] # FULLWIDTH LATIN SMALL LETTER R
-FF53 ; [.17A6.0020.0002.0073] # FULLWIDTH LATIN SMALL LETTER S
-FF54 ; [.17C9.0020.0002.0074] # FULLWIDTH LATIN SMALL LETTER T
-FF55 ; [.17E9.0020.0002.0075] # FULLWIDTH LATIN SMALL LETTER U
-FF56 ; [.1812.0020.0002.0076] # FULLWIDTH LATIN SMALL LETTER V
-FF57 ; [.1824.0020.0002.0077] # FULLWIDTH LATIN SMALL LETTER W
-FF58 ; [.182E.0020.0002.0078] # FULLWIDTH LATIN SMALL LETTER X
-FF59 ; [.1833.0020.0002.0079] # FULLWIDTH LATIN SMALL LETTER Y
-FF5A ; [.1844.0020.0002.007A] # FULLWIDTH LATIN SMALL LETTER Z
-FF5B ; [*0312.0020.0002.007B] # FULLWIDTH LEFT CURLY BRACKET
-FF5C ; [*0572.0020.0002.007C] # FULLWIDTH VERTICAL LINE
-FF5D ; [*0313.0020.0002.007D] # FULLWIDTH RIGHT CURLY BRACKET
-FF5E ; [*0575.0020.0002.007E] # FULLWIDTH TILDE
-FF5F ; [*0320.0020.0002.2985] # FULLWIDTH LEFT WHITE PARENTHESIS
-FF60 ; [*0321.0020.0002.2986] # FULLWIDTH RIGHT WHITE PARENTHESIS
-FF61 ; [*029E.0020.0002.3002] # HALFWIDTH IDEOGRAPHIC FULL STOP
-FF62 ; [*0350.0020.0002.300C] # HALFWIDTH LEFT CORNER BRACKET
-FF63 ; [*0351.0020.0002.300D] # HALFWIDTH RIGHT CORNER BRACKET
-FF64 ; [*024D.0020.0002.3001] # HALFWIDTH IDEOGRAPHIC COMMA
-FF65 ; [*0240.0020.0002.30FB] # HALFWIDTH KATAKANA MIDDLE DOT
-FF66 ; [.31C6.0020.0011.30F2] # HALFWIDTH KATAKANA LETTER WO
-FF67 ; [.3196.0020.000F.30A1] # HALFWIDTH KATAKANA LETTER SMALL A
-FF68 ; [.3197.0020.000F.30A3] # HALFWIDTH KATAKANA LETTER SMALL I
-FF69 ; [.3198.0020.000F.30A5] # HALFWIDTH KATAKANA LETTER SMALL U
-FF6A ; [.319A.0020.000F.30A7] # HALFWIDTH KATAKANA LETTER SMALL E
-FF6B ; [.319B.0020.000F.30A9] # HALFWIDTH KATAKANA LETTER SMALL O
-FF6C ; [.31BA.0020.000F.30E3] # HALFWIDTH KATAKANA LETTER SMALL YA
-FF6D ; [.31BB.0020.000F.30E5] # HALFWIDTH KATAKANA LETTER SMALL YU
-FF6E ; [.31BD.0020.000F.30E7] # HALFWIDTH KATAKANA LETTER SMALL YO
-FF6F ; [.31A8.0020.000F.30C3] # HALFWIDTH KATAKANA LETTER SMALL TU
-FF70 ; [.1570.0020.0002.30FC] # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71 ; [.3196.0020.0011.30A2] # HALFWIDTH KATAKANA LETTER A
-FF72 ; [.3197.0020.0011.30A4] # HALFWIDTH KATAKANA LETTER I
-FF73 ; [.3198.0020.0011.30A6] # HALFWIDTH KATAKANA LETTER U
-FF74 ; [.319A.0020.0011.30A8] # HALFWIDTH KATAKANA LETTER E
-FF75 ; [.319B.0020.0011.30AA] # HALFWIDTH KATAKANA LETTER O
-FF76 ; [.319C.0020.0011.30AB] # HALFWIDTH KATAKANA LETTER KA
-FF77 ; [.319D.0020.0011.30AD] # HALFWIDTH KATAKANA LETTER KI
-FF78 ; [.319E.0020.0011.30AF] # HALFWIDTH KATAKANA LETTER KU
-FF79 ; [.319F.0020.0011.30B1] # HALFWIDTH KATAKANA LETTER KE
-FF7A ; [.31A0.0020.0011.30B3] # HALFWIDTH KATAKANA LETTER KO
-FF7B ; [.31A1.0020.0011.30B5] # HALFWIDTH KATAKANA LETTER SA
-FF7C ; [.31A2.0020.0011.30B7] # HALFWIDTH KATAKANA LETTER SI
-FF7D ; [.31A3.0020.0011.30B9] # HALFWIDTH KATAKANA LETTER SU
-FF7E ; [.31A4.0020.0011.30BB] # HALFWIDTH KATAKANA LETTER SE
-FF7F ; [.31A5.0020.0011.30BD] # HALFWIDTH KATAKANA LETTER SO
-FF80 ; [.31A6.0020.0011.30BF] # HALFWIDTH KATAKANA LETTER TA
-FF81 ; [.31A7.0020.0011.30C1] # HALFWIDTH KATAKANA LETTER TI
-FF82 ; [.31A8.0020.0011.30C4] # HALFWIDTH KATAKANA LETTER TU
-FF83 ; [.31A9.0020.0011.30C6] # HALFWIDTH KATAKANA LETTER TE
-FF84 ; [.31AA.0020.0011.30C8] # HALFWIDTH KATAKANA LETTER TO
-FF85 ; [.31AB.0020.0011.30CA] # HALFWIDTH KATAKANA LETTER NA
-FF86 ; [.31AC.0020.0011.30CB] # HALFWIDTH KATAKANA LETTER NI
-FF87 ; [.31AD.0020.0011.30CC] # HALFWIDTH KATAKANA LETTER NU
-FF88 ; [.31AE.0020.0011.30CD] # HALFWIDTH KATAKANA LETTER NE
-FF89 ; [.31AF.0020.0011.30CE] # HALFWIDTH KATAKANA LETTER NO
-FF8A ; [.31B0.0020.0011.30CF] # HALFWIDTH KATAKANA LETTER HA
-FF8B ; [.31B1.0020.0011.30D2] # HALFWIDTH KATAKANA LETTER HI
-FF8C ; [.31B2.0020.0011.30D5] # HALFWIDTH KATAKANA LETTER HU
-FF8D ; [.31B3.0020.0011.30D8] # HALFWIDTH KATAKANA LETTER HE
-FF8E ; [.31B4.0020.0011.30DB] # HALFWIDTH KATAKANA LETTER HO
-FF8F ; [.31B5.0020.0011.30DE] # HALFWIDTH KATAKANA LETTER MA
-FF90 ; [.31B6.0020.0011.30DF] # HALFWIDTH KATAKANA LETTER MI
-FF91 ; [.31B7.0020.0011.30E0] # HALFWIDTH KATAKANA LETTER MU
-FF92 ; [.31B8.0020.0011.30E1] # HALFWIDTH KATAKANA LETTER ME
-FF93 ; [.31B9.0020.0011.30E2] # HALFWIDTH KATAKANA LETTER MO
-FF94 ; [.31BA.0020.0011.30E4] # HALFWIDTH KATAKANA LETTER YA
-FF95 ; [.31BB.0020.0011.30E6] # HALFWIDTH KATAKANA LETTER YU
-FF96 ; [.31BD.0020.0011.30E8] # HALFWIDTH KATAKANA LETTER YO
-FF97 ; [.31BE.0020.0011.30E9] # HALFWIDTH KATAKANA LETTER RA
-FF98 ; [.31BF.0020.0011.30EA] # HALFWIDTH KATAKANA LETTER RI
-FF99 ; [.31C0.0020.0011.30EB] # HALFWIDTH KATAKANA LETTER RU
-FF9A ; [.31C1.0020.0011.30EC] # HALFWIDTH KATAKANA LETTER RE
-FF9B ; [.31C2.0020.0011.30ED] # HALFWIDTH KATAKANA LETTER RO
-FF9C ; [.31C3.0020.0011.30EF] # HALFWIDTH KATAKANA LETTER WA
-FF9D ; [.31C7.0020.0011.30F3] # HALFWIDTH KATAKANA LETTER N
-FF9E ; [.0000.014E.0002.3099] # HALFWIDTH KATAKANA VOICED SOUND MARK
-FF9F ; [.0000.014F.0002.309A] # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFE0 ; [.1573.0020.0002.00A2] # FULLWIDTH CENT SIGN
-FFE1 ; [.1575.0020.0002.00A3] # FULLWIDTH POUND SIGN
-FFE2 ; [*0571.0020.0002.00AC] # FULLWIDTH NOT SIGN
+FF01 ; [*025E.0020.0002.0021] # FULLWIDTH EXCLAMATION MARK
+FF02 ; [*02F1.0020.0002.0022] # FULLWIDTH QUOTATION MARK
+FF03 ; [*0376.0020.0002.0023] # FULLWIDTH NUMBER SIGN
+FF04 ; [.15A4.0020.0002.0024] # FULLWIDTH DOLLAR SIGN
+FF05 ; [*0377.0020.0002.0025] # FULLWIDTH PERCENT SIGN
+FF06 ; [*0374.0020.0002.0026] # FULLWIDTH AMPERSAND
+FF07 ; [*02EA.0020.0002.0027] # FULLWIDTH APOSTROPHE
+FF08 ; [*02FB.0020.0002.0028] # FULLWIDTH LEFT PARENTHESIS
+FF09 ; [*02FC.0020.0002.0029] # FULLWIDTH RIGHT PARENTHESIS
+FF0A ; [*036D.0020.0002.002A] # FULLWIDTH ASTERISK
+FF0B ; [*059C.0020.0002.002B] # FULLWIDTH PLUS SIGN
+FF0C ; [*0221.0020.0002.002C] # FULLWIDTH COMMA
+FF0D ; [*020E.0020.0002.002D] # FULLWIDTH HYPHEN-MINUS
+FF0E ; [*0273.0020.0002.002E] # FULLWIDTH FULL STOP
+FF0F ; [*0372.0020.0002.002F] # FULLWIDTH SOLIDUS
+FF10 ; [.15CA.0020.0002.0030] # FULLWIDTH DIGIT ZERO
+FF11 ; [.15CB.0020.0002.0031] # FULLWIDTH DIGIT ONE
+FF12 ; [.15CC.0020.0002.0032] # FULLWIDTH DIGIT TWO
+FF13 ; [.15CD.0020.0002.0033] # FULLWIDTH DIGIT THREE
+FF14 ; [.15CE.0020.0002.0034] # FULLWIDTH DIGIT FOUR
+FF15 ; [.15CF.0020.0002.0035] # FULLWIDTH DIGIT FIVE
+FF16 ; [.15D0.0020.0002.0036] # FULLWIDTH DIGIT SIX
+FF17 ; [.15D1.0020.0002.0037] # FULLWIDTH DIGIT SEVEN
+FF18 ; [.15D2.0020.0002.0038] # FULLWIDTH DIGIT EIGHT
+FF19 ; [.15D3.0020.0002.0039] # FULLWIDTH DIGIT NINE
+FF1A ; [*0237.0020.0002.003A] # FULLWIDTH COLON
+FF1B ; [*0232.0020.0002.003B] # FULLWIDTH SEMICOLON
+FF1C ; [*05A0.0020.0002.003C] # FULLWIDTH LESS-THAN SIGN
+FF1D ; [*05A1.0020.0002.003D] # FULLWIDTH EQUALS SIGN
+FF1E ; [*05A2.0020.0002.003E] # FULLWIDTH GREATER-THAN SIGN
+FF1F ; [*0263.0020.0002.003F] # FULLWIDTH QUESTION MARK
+FF20 ; [*036C.0020.0002.0040] # FULLWIDTH COMMERCIAL AT
+FF21 ; [.15D4.0020.0008.0041] # FULLWIDTH LATIN CAPITAL LETTER A
+FF22 ; [.15EA.0020.0008.0042] # FULLWIDTH LATIN CAPITAL LETTER B
+FF23 ; [.1602.0020.0008.0043] # FULLWIDTH LATIN CAPITAL LETTER C
+FF24 ; [.1616.0020.0008.0044] # FULLWIDTH LATIN CAPITAL LETTER D
+FF25 ; [.1631.0020.0008.0045] # FULLWIDTH LATIN CAPITAL LETTER E
+FF26 ; [.1669.0020.0008.0046] # FULLWIDTH LATIN CAPITAL LETTER F
+FF27 ; [.1676.0020.0008.0047] # FULLWIDTH LATIN CAPITAL LETTER G
+FF28 ; [.1699.0020.0008.0048] # FULLWIDTH LATIN CAPITAL LETTER H
+FF29 ; [.16B2.0020.0008.0049] # FULLWIDTH LATIN CAPITAL LETTER I
+FF2A ; [.16CB.0020.0008.004A] # FULLWIDTH LATIN CAPITAL LETTER J
+FF2B ; [.16E4.0020.0008.004B] # FULLWIDTH LATIN CAPITAL LETTER K
+FF2C ; [.16F6.0020.0008.004C] # FULLWIDTH LATIN CAPITAL LETTER L
+FF2D ; [.1726.0020.0008.004D] # FULLWIDTH LATIN CAPITAL LETTER M
+FF2E ; [.1734.0020.0008.004E] # FULLWIDTH LATIN CAPITAL LETTER N
+FF2F ; [.1756.0020.0008.004F] # FULLWIDTH LATIN CAPITAL LETTER O
+FF30 ; [.177B.0020.0008.0050] # FULLWIDTH LATIN CAPITAL LETTER P
+FF31 ; [.1790.0020.0008.0051] # FULLWIDTH LATIN CAPITAL LETTER Q
+FF32 ; [.17A2.0020.0008.0052] # FULLWIDTH LATIN CAPITAL LETTER R
+FF33 ; [.17D8.0020.0008.0053] # FULLWIDTH LATIN CAPITAL LETTER S
+FF34 ; [.17FB.0020.0008.0054] # FULLWIDTH LATIN CAPITAL LETTER T
+FF35 ; [.181B.0020.0008.0055] # FULLWIDTH LATIN CAPITAL LETTER U
+FF36 ; [.1844.0020.0008.0056] # FULLWIDTH LATIN CAPITAL LETTER V
+FF37 ; [.1856.0020.0008.0057] # FULLWIDTH LATIN CAPITAL LETTER W
+FF38 ; [.1860.0020.0008.0058] # FULLWIDTH LATIN CAPITAL LETTER X
+FF39 ; [.1865.0020.0008.0059] # FULLWIDTH LATIN CAPITAL LETTER Y
+FF3A ; [.187A.0020.0008.005A] # FULLWIDTH LATIN CAPITAL LETTER Z
+FF3B ; [*02FD.0020.0002.005B] # FULLWIDTH LEFT SQUARE BRACKET
+FF3C ; [*02EA.0020.0002.0027] # FULLWIDTH REVERSE SOLIDUS
+FF3D ; [*02FE.0020.0002.005D] # FULLWIDTH RIGHT SQUARE BRACKET
+FF3E ; [*0412.0020.0002.005E] # FULLWIDTH CIRCUMFLEX ACCENT
+FF3F ; [*020C.0020.0002.005F] # FULLWIDTH LOW LINE
+FF40 ; [*040F.0020.0002.0060] # FULLWIDTH GRAVE ACCENT
+FF41 ; [.15D4.0020.0002.0061] # FULLWIDTH LATIN SMALL LETTER A
+FF42 ; [.15EA.0020.0002.0062] # FULLWIDTH LATIN SMALL LETTER B
+FF43 ; [.1602.0020.0002.0063] # FULLWIDTH LATIN SMALL LETTER C
+FF44 ; [.1616.0020.0002.0064] # FULLWIDTH LATIN SMALL LETTER D
+FF45 ; [.1631.0020.0002.0065] # FULLWIDTH LATIN SMALL LETTER E
+FF46 ; [.1669.0020.0002.0066] # FULLWIDTH LATIN SMALL LETTER F
+FF47 ; [.1676.0020.0002.0067] # FULLWIDTH LATIN SMALL LETTER G
+FF48 ; [.1699.0020.0002.0068] # FULLWIDTH LATIN SMALL LETTER H
+FF49 ; [.16B2.0020.0002.0069] # FULLWIDTH LATIN SMALL LETTER I
+FF4A ; [.16CB.0020.0002.006A] # FULLWIDTH LATIN SMALL LETTER J
+FF4B ; [.16E4.0020.0002.006B] # FULLWIDTH LATIN SMALL LETTER K
+FF4C ; [.16F6.0020.0002.006C] # FULLWIDTH LATIN SMALL LETTER L
+FF4D ; [.1726.0020.0002.006D] # FULLWIDTH LATIN SMALL LETTER M
+FF4E ; [.1734.0020.0002.006E] # FULLWIDTH LATIN SMALL LETTER N
+FF4F ; [.1756.0020.0002.006F] # FULLWIDTH LATIN SMALL LETTER O
+FF50 ; [.177B.0020.0002.0070] # FULLWIDTH LATIN SMALL LETTER P
+FF51 ; [.1790.0020.0002.0071] # FULLWIDTH LATIN SMALL LETTER Q
+FF52 ; [.17A2.0020.0002.0072] # FULLWIDTH LATIN SMALL LETTER R
+FF53 ; [.17D8.0020.0002.0073] # FULLWIDTH LATIN SMALL LETTER S
+FF54 ; [.17FB.0020.0002.0074] # FULLWIDTH LATIN SMALL LETTER T
+FF55 ; [.181B.0020.0002.0075] # FULLWIDTH LATIN SMALL LETTER U
+FF56 ; [.1844.0020.0002.0076] # FULLWIDTH LATIN SMALL LETTER V
+FF57 ; [.1856.0020.0002.0077] # FULLWIDTH LATIN SMALL LETTER W
+FF58 ; [.1860.0020.0002.0078] # FULLWIDTH LATIN SMALL LETTER X
+FF59 ; [.1865.0020.0002.0079] # FULLWIDTH LATIN SMALL LETTER Y
+FF5A ; [.187A.0020.0002.007A] # FULLWIDTH LATIN SMALL LETTER Z
+FF5B ; [*02FF.0020.0002.007B] # FULLWIDTH LEFT CURLY BRACKET
+FF5C ; [*05A4.0020.0002.007C] # FULLWIDTH VERTICAL LINE
+FF5D ; [*0300.0020.0002.007D] # FULLWIDTH RIGHT CURLY BRACKET
+FF5E ; [*05A6.0020.0002.007E] # FULLWIDTH TILDE
+FF5F ; [*030D.0020.0002.2985] # FULLWIDTH LEFT WHITE PARENTHESIS
+FF60 ; [*030E.0020.0002.2986] # FULLWIDTH RIGHT WHITE PARENTHESIS
+FF61 ; [*0283.0020.0002.3002] # HALFWIDTH IDEOGRAPHIC FULL STOP
+FF62 ; [*0353.0020.0002.300C] # HALFWIDTH LEFT CORNER BRACKET
+FF63 ; [*0354.0020.0002.300D] # HALFWIDTH RIGHT CORNER BRACKET
+FF64 ; [*022F.0020.0002.3001] # HALFWIDTH IDEOGRAPHIC COMMA
+FF65 ; [*0220.0020.0002.30FB] # HALFWIDTH KATAKANA MIDDLE DOT
+FF66 ; [.32D0.0020.0011.30F2] # HALFWIDTH KATAKANA LETTER WO
+FF67 ; [.32A0.0020.000F.30A1] # HALFWIDTH KATAKANA LETTER SMALL A
+FF68 ; [.32A1.0020.000F.30A3] # HALFWIDTH KATAKANA LETTER SMALL I
+FF69 ; [.32A2.0020.000F.30A5] # HALFWIDTH KATAKANA LETTER SMALL U
+FF6A ; [.32A4.0020.000F.30A7] # HALFWIDTH KATAKANA LETTER SMALL E
+FF6B ; [.32A5.0020.000F.30A9] # HALFWIDTH KATAKANA LETTER SMALL O
+FF6C ; [.32C4.0020.000F.30E3] # HALFWIDTH KATAKANA LETTER SMALL YA
+FF6D ; [.32C5.0020.000F.30E5] # HALFWIDTH KATAKANA LETTER SMALL YU
+FF6E ; [.32C7.0020.000F.30E7] # HALFWIDTH KATAKANA LETTER SMALL YO
+FF6F ; [.32B2.0020.000F.30C3] # HALFWIDTH KATAKANA LETTER SMALL TU
+FF70 ; [.15A0.0020.0002.30FC] # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
+FF71 ; [.32A0.0020.0011.30A2] # HALFWIDTH KATAKANA LETTER A
+FF72 ; [.32A1.0020.0011.30A4] # HALFWIDTH KATAKANA LETTER I
+FF73 ; [.32A2.0020.0011.30A6] # HALFWIDTH KATAKANA LETTER U
+FF74 ; [.32A4.0020.0011.30A8] # HALFWIDTH KATAKANA LETTER E
+FF75 ; [.32A5.0020.0011.30AA] # HALFWIDTH KATAKANA LETTER O
+FF76 ; [.32A6.0020.0011.30AB] # HALFWIDTH KATAKANA LETTER KA
+FF77 ; [.32A7.0020.0011.30AD] # HALFWIDTH KATAKANA LETTER KI
+FF78 ; [.32A8.0020.0011.30AF] # HALFWIDTH KATAKANA LETTER KU
+FF79 ; [.32A9.0020.0011.30B1] # HALFWIDTH KATAKANA LETTER KE
+FF7A ; [.32AA.0020.0011.30B3] # HALFWIDTH KATAKANA LETTER KO
+FF7B ; [.32AB.0020.0011.30B5] # HALFWIDTH KATAKANA LETTER SA
+FF7C ; [.32AC.0020.0011.30B7] # HALFWIDTH KATAKANA LETTER SI
+FF7D ; [.32AD.0020.0011.30B9] # HALFWIDTH KATAKANA LETTER SU
+FF7E ; [.32AE.0020.0011.30BB] # HALFWIDTH KATAKANA LETTER SE
+FF7F ; [.32AF.0020.0011.30BD] # HALFWIDTH KATAKANA LETTER SO
+FF80 ; [.32B0.0020.0011.30BF] # HALFWIDTH KATAKANA LETTER TA
+FF81 ; [.32B1.0020.0011.30C1] # HALFWIDTH KATAKANA LETTER TI
+FF82 ; [.32B2.0020.0011.30C4] # HALFWIDTH KATAKANA LETTER TU
+FF83 ; [.32B3.0020.0011.30C6] # HALFWIDTH KATAKANA LETTER TE
+FF84 ; [.32B4.0020.0011.30C8] # HALFWIDTH KATAKANA LETTER TO
+FF85 ; [.32B5.0020.0011.30CA] # HALFWIDTH KATAKANA LETTER NA
+FF86 ; [.32B6.0020.0011.30CB] # HALFWIDTH KATAKANA LETTER NI
+FF87 ; [.32B7.0020.0011.30CC] # HALFWIDTH KATAKANA LETTER NU
+FF88 ; [.32B8.0020.0011.30CD] # HALFWIDTH KATAKANA LETTER NE
+FF89 ; [.32B9.0020.0011.30CE] # HALFWIDTH KATAKANA LETTER NO
+FF8A ; [.32BA.0020.0011.30CF] # HALFWIDTH KATAKANA LETTER HA
+FF8B ; [.32BB.0020.0011.30D2] # HALFWIDTH KATAKANA LETTER HI
+FF8C ; [.32BC.0020.0011.30D5] # HALFWIDTH KATAKANA LETTER HU
+FF8D ; [.32BD.0020.0011.30D8] # HALFWIDTH KATAKANA LETTER HE
+FF8E ; [.32BE.0020.0011.30DB] # HALFWIDTH KATAKANA LETTER HO
+FF8F ; [.32BF.0020.0011.30DE] # HALFWIDTH KATAKANA LETTER MA
+FF90 ; [.32C0.0020.0011.30DF] # HALFWIDTH KATAKANA LETTER MI
+FF91 ; [.32C1.0020.0011.30E0] # HALFWIDTH KATAKANA LETTER MU
+FF92 ; [.32C2.0020.0011.30E1] # HALFWIDTH KATAKANA LETTER ME
+FF93 ; [.32C3.0020.0011.30E2] # HALFWIDTH KATAKANA LETTER MO
+FF94 ; [.32C4.0020.0011.30E4] # HALFWIDTH KATAKANA LETTER YA
+FF95 ; [.32C5.0020.0011.30E6] # HALFWIDTH KATAKANA LETTER YU
+FF96 ; [.32C7.0020.0011.30E8] # HALFWIDTH KATAKANA LETTER YO
+FF97 ; [.32C8.0020.0011.30E9] # HALFWIDTH KATAKANA LETTER RA
+FF98 ; [.32C9.0020.0011.30EA] # HALFWIDTH KATAKANA LETTER RI
+FF99 ; [.32CA.0020.0011.30EB] # HALFWIDTH KATAKANA LETTER RU
+FF9A ; [.32CB.0020.0011.30EC] # HALFWIDTH KATAKANA LETTER RE
+FF9B ; [.32CC.0020.0011.30ED] # HALFWIDTH KATAKANA LETTER RO
+FF9C ; [.32CD.0020.0011.30EF] # HALFWIDTH KATAKANA LETTER WA
+FF9D ; [.32D1.0020.0011.30F3] # HALFWIDTH KATAKANA LETTER N
+FF9E ; [.0000.0128.0002.3099] # HALFWIDTH KATAKANA VOICED SOUND MARK
+FF9F ; [.0000.0129.0002.309A] # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+FFE0 ; [.15A3.0020.0002.00A2] # FULLWIDTH CENT SIGN
+FFE1 ; [.15A5.0020.0002.00A3] # FULLWIDTH POUND SIGN
+FFE2 ; [*05A3.0020.0002.00AC] # FULLWIDTH NOT SIGN
FFE3 ; [*020A.0020.0002.0020] # FULLWIDTH MACRON
-FFE4 ; [*0573.0020.0002.00A6] # FULLWIDTH BROKEN BAR
-FFE5 ; [.1576.0020.0002.00A5] # FULLWIDTH YEN SIGN
-FFE6 ; [.1588.0020.0002.20A9] # FULLWIDTH WON SIGN
-FFE8 ; [*0765.0020.0002.2502] # HALFWIDTH FORMS LIGHT VERTICAL
-FFE9 ; [*04F0.0020.0002.2190] # HALFWIDTH LEFTWARDS ARROW
-FFEA ; [*04F2.0020.0002.2191] # HALFWIDTH UPWARDS ARROW
-FFEB ; [*04F1.0020.0002.2192] # HALFWIDTH RIGHTWARDS ARROW
-FFEC ; [*04F3.0020.0002.2193] # HALFWIDTH DOWNWARDS ARROW
-FFED ; [*0803.0020.0002.25A0] # HALFWIDTH BLACK SQUARE
-FFEE ; [*082E.0020.0002.25CB] # HALFWIDTH WHITE CIRCLE
-30A1 30FC ; [.3196.0020.000F.30A1][.3196.0020.0007.30A1] # <KATAKANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF67 30FC ; [.3196.0020.000F.30A1][.3196.0020.0007.30A1] # <HALFWIDTH KATAKANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF67 FF70 ; [.3196.0020.000F.30A1][.3196.0020.0007.30A1] # <HALFWIDTH KATAKANA LETTER SMALL A, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3041 30FC ; [.3196.0020.000F.3041][.3196.0020.0007.3041] # <HIRAGANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A2 30FC ; [.3196.0020.0011.30A2][.3196.0020.0007.30A2] # <KATAKANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF71 30FC ; [.3196.0020.0011.30A2][.3196.0020.0007.30A2] # <HALFWIDTH KATAKANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF71 FF70 ; [.3196.0020.0011.30A2][.3196.0020.0007.30A2] # <HALFWIDTH KATAKANA LETTER A, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3042 30FC ; [.3196.0020.0011.3042][.3196.0020.0007.3042] # <HIRAGANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AB 30FC ; [.319C.0020.0011.30AB][.3196.0020.0007.30AB] # <KATAKANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF76 30FC ; [.319C.0020.0011.30AB][.3196.0020.0007.30AB] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF76 FF70 ; [.319C.0020.0011.30AB][.3196.0020.0007.30AB] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304B 30FC ; [.319C.0020.0011.304B][.3196.0020.0007.304B] # <HIRAGANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AC 30FC ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.3196.0020.0007.30AC] # <KATAKANA LETTER GA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AB 3099 30FC ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.3196.0020.0007.30AC] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF76 FF9E 30FC ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.3196.0020.0007.30AC] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF76 FF9E FF70 ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.3196.0020.0007.30AC] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304C 30FC ; [.319C.0020.0011.304B][.0000.014E.0002.3099][.3196.0020.0007.304C] # <HIRAGANA LETTER GA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304B 3099 30FC ; [.319C.0020.0011.304B][.0000.014E.0002.3099][.3196.0020.0007.304C] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B5 30FC ; [.31A1.0020.0011.30B5][.3196.0020.0007.30B5] # <KATAKANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7B 30FC ; [.31A1.0020.0011.30B5][.3196.0020.0007.30B5] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7B FF70 ; [.31A1.0020.0011.30B5][.3196.0020.0007.30B5] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3055 30FC ; [.31A1.0020.0011.3055][.3196.0020.0007.3055] # <HIRAGANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B6 30FC ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.3196.0020.0007.30B6] # <KATAKANA LETTER ZA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B5 3099 30FC ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.3196.0020.0007.30B6] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7B FF9E 30FC ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.3196.0020.0007.30B6] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7B FF9E FF70 ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.3196.0020.0007.30B6] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3056 30FC ; [.31A1.0020.0011.3055][.0000.014E.0002.3099][.3196.0020.0007.3056] # <HIRAGANA LETTER ZA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3055 3099 30FC ; [.31A1.0020.0011.3055][.0000.014E.0002.3099][.3196.0020.0007.3056] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BF 30FC ; [.31A6.0020.0011.30BF][.3196.0020.0007.30BF] # <KATAKANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF80 30FC ; [.31A6.0020.0011.30BF][.3196.0020.0007.30BF] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF80 FF70 ; [.31A6.0020.0011.30BF][.3196.0020.0007.30BF] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305F 30FC ; [.31A6.0020.0011.305F][.3196.0020.0007.305F] # <HIRAGANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C0 30FC ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.3196.0020.0007.30C0] # <KATAKANA LETTER DA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BF 3099 30FC ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.3196.0020.0007.30C0] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF80 FF9E 30FC ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.3196.0020.0007.30C0] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF80 FF9E FF70 ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.3196.0020.0007.30C0] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3060 30FC ; [.31A6.0020.0011.305F][.0000.014E.0002.3099][.3196.0020.0007.3060] # <HIRAGANA LETTER DA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305F 3099 30FC ; [.31A6.0020.0011.305F][.0000.014E.0002.3099][.3196.0020.0007.3060] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CA 30FC ; [.31AB.0020.0011.30CA][.3196.0020.0007.30CA] # <KATAKANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF85 30FC ; [.31AB.0020.0011.30CA][.3196.0020.0007.30CA] # <HALFWIDTH KATAKANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF85 FF70 ; [.31AB.0020.0011.30CA][.3196.0020.0007.30CA] # <HALFWIDTH KATAKANA LETTER NA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306A 30FC ; [.31AB.0020.0011.306A][.3196.0020.0007.306A] # <HIRAGANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CF 30FC ; [.31B0.0020.0011.30CF][.3196.0020.0007.30CF] # <KATAKANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A 30FC ; [.31B0.0020.0011.30CF][.3196.0020.0007.30CF] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF70 ; [.31B0.0020.0011.30CF][.3196.0020.0007.30CF] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306F 30FC ; [.31B0.0020.0011.306F][.3196.0020.0007.306F] # <HIRAGANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D0 30FC ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.3196.0020.0007.30D0] # <KATAKANA LETTER BA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CF 3099 30FC ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.3196.0020.0007.30D0] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF9E 30FC ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.3196.0020.0007.30D0] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF9E FF70 ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.3196.0020.0007.30D0] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3070 30FC ; [.31B0.0020.0011.306F][.0000.014E.0002.3099][.3196.0020.0007.3070] # <HIRAGANA LETTER BA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306F 3099 30FC ; [.31B0.0020.0011.306F][.0000.014E.0002.3099][.3196.0020.0007.3070] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D1 30FC ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.3196.0020.0007.30D1] # <KATAKANA LETTER PA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CF 309A 30FC ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.3196.0020.0007.30D1] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF9F 30FC ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.3196.0020.0007.30D1] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF9F FF70 ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.3196.0020.0007.30D1] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3071 30FC ; [.31B0.0020.0011.306F][.0000.014F.0002.309A][.3196.0020.0007.3071] # <HIRAGANA LETTER PA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306F 309A 30FC ; [.31B0.0020.0011.306F][.0000.014F.0002.309A][.3196.0020.0007.3071] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DE 30FC ; [.31B5.0020.0011.30DE][.3196.0020.0007.30DE] # <KATAKANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8F 30FC ; [.31B5.0020.0011.30DE][.3196.0020.0007.30DE] # <HALFWIDTH KATAKANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8F FF70 ; [.31B5.0020.0011.30DE][.3196.0020.0007.30DE] # <HALFWIDTH KATAKANA LETTER MA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307E 30FC ; [.31B5.0020.0011.307E][.3196.0020.0007.307E] # <HIRAGANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E3 30FC ; [.31BA.0020.000F.30E3][.3196.0020.0007.30E3] # <KATAKANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6C 30FC ; [.31BA.0020.000F.30E3][.3196.0020.0007.30E3] # <HALFWIDTH KATAKANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6C FF70 ; [.31BA.0020.000F.30E3][.3196.0020.0007.30E3] # <HALFWIDTH KATAKANA LETTER SMALL YA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3083 30FC ; [.31BA.0020.000F.3083][.3196.0020.0007.3083] # <HIRAGANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E4 30FC ; [.31BA.0020.0011.30E4][.3196.0020.0007.30E4] # <KATAKANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF94 30FC ; [.31BA.0020.0011.30E4][.3196.0020.0007.30E4] # <HALFWIDTH KATAKANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF94 FF70 ; [.31BA.0020.0011.30E4][.3196.0020.0007.30E4] # <HALFWIDTH KATAKANA LETTER YA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3084 30FC ; [.31BA.0020.0011.3084][.3196.0020.0007.3084] # <HIRAGANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E9 30FC ; [.31BE.0020.0011.30E9][.3196.0020.0007.30E9] # <KATAKANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF97 30FC ; [.31BE.0020.0011.30E9][.3196.0020.0007.30E9] # <HALFWIDTH KATAKANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF97 FF70 ; [.31BE.0020.0011.30E9][.3196.0020.0007.30E9] # <HALFWIDTH KATAKANA LETTER RA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3089 30FC ; [.31BE.0020.0011.3089][.3196.0020.0007.3089] # <HIRAGANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EE 30FC ; [.31C3.0020.000F.30EE][.3196.0020.0007.30EE] # <KATAKANA LETTER SMALL WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308E 30FC ; [.31C3.0020.000F.308E][.3196.0020.0007.308E] # <HIRAGANA LETTER SMALL WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EF 30FC ; [.31C3.0020.0011.30EF][.3196.0020.0007.30EF] # <KATAKANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9C 30FC ; [.31C3.0020.0011.30EF][.3196.0020.0007.30EF] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9C FF70 ; [.31C3.0020.0011.30EF][.3196.0020.0007.30EF] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308F 30FC ; [.31C3.0020.0011.308F][.3196.0020.0007.308F] # <HIRAGANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F7 30FC ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.3196.0020.0007.30F7] # <KATAKANA LETTER VA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EF 3099 30FC ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.3196.0020.0007.30F7] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9C FF9E 30FC ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.3196.0020.0007.30F7] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9C FF9E FF70 ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.3196.0020.0007.30F7] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F5 30FC ; [.319C.0020.000F.30F5][.3196.0020.0007.30F5] # <KATAKANA LETTER SMALL KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3095 30FC ; [.319C.0020.000F.3095][.3196.0020.0007.3095] # <HIRAGANA LETTER SMALL KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F5 30FC ; [.31B0.0020.000F.31F5][.3196.0020.0007.31F5] # <KATAKANA LETTER SMALL HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FB 30FC ; [.31BE.0020.000F.31FB][.3196.0020.0007.31FB] # <KATAKANA LETTER SMALL RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A3 30FC ; [.3197.0020.000F.30A3][.3197.0020.0007.30A3] # <KATAKANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF68 30FC ; [.3197.0020.000F.30A3][.3197.0020.0007.30A3] # <HALFWIDTH KATAKANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF68 FF70 ; [.3197.0020.000F.30A3][.3197.0020.0007.30A3] # <HALFWIDTH KATAKANA LETTER SMALL I, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3043 30FC ; [.3197.0020.000F.3043][.3197.0020.0007.3043] # <HIRAGANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A4 30FC ; [.3197.0020.0011.30A4][.3197.0020.0007.30A4] # <KATAKANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF72 30FC ; [.3197.0020.0011.30A4][.3197.0020.0007.30A4] # <HALFWIDTH KATAKANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF72 FF70 ; [.3197.0020.0011.30A4][.3197.0020.0007.30A4] # <HALFWIDTH KATAKANA LETTER I, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3044 30FC ; [.3197.0020.0011.3044][.3197.0020.0007.3044] # <HIRAGANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AD 30FC ; [.319D.0020.0011.30AD][.3197.0020.0007.30AD] # <KATAKANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF77 30FC ; [.319D.0020.0011.30AD][.3197.0020.0007.30AD] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF77 FF70 ; [.319D.0020.0011.30AD][.3197.0020.0007.30AD] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304D 30FC ; [.319D.0020.0011.304D][.3197.0020.0007.304D] # <HIRAGANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AE 30FC ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.3197.0020.0007.30AE] # <KATAKANA LETTER GI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AD 3099 30FC ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.3197.0020.0007.30AE] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF77 FF9E 30FC ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.3197.0020.0007.30AE] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF77 FF9E FF70 ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.3197.0020.0007.30AE] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304E 30FC ; [.319D.0020.0011.304D][.0000.014E.0002.3099][.3197.0020.0007.304E] # <HIRAGANA LETTER GI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304D 3099 30FC ; [.319D.0020.0011.304D][.0000.014E.0002.3099][.3197.0020.0007.304E] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B7 30FC ; [.31A2.0020.0011.30B7][.3197.0020.0007.30B7] # <KATAKANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7C 30FC ; [.31A2.0020.0011.30B7][.3197.0020.0007.30B7] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7C FF70 ; [.31A2.0020.0011.30B7][.3197.0020.0007.30B7] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3057 30FC ; [.31A2.0020.0011.3057][.3197.0020.0007.3057] # <HIRAGANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B8 30FC ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.3197.0020.0007.30B8] # <KATAKANA LETTER ZI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B7 3099 30FC ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.3197.0020.0007.30B8] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7C FF9E 30FC ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.3197.0020.0007.30B8] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7C FF9E FF70 ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.3197.0020.0007.30B8] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3058 30FC ; [.31A2.0020.0011.3057][.0000.014E.0002.3099][.3197.0020.0007.3058] # <HIRAGANA LETTER ZI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3057 3099 30FC ; [.31A2.0020.0011.3057][.0000.014E.0002.3099][.3197.0020.0007.3058] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C1 30FC ; [.31A7.0020.0011.30C1][.3197.0020.0007.30C1] # <KATAKANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF81 30FC ; [.31A7.0020.0011.30C1][.3197.0020.0007.30C1] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF81 FF70 ; [.31A7.0020.0011.30C1][.3197.0020.0007.30C1] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3061 30FC ; [.31A7.0020.0011.3061][.3197.0020.0007.3061] # <HIRAGANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C2 30FC ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.3197.0020.0007.30C2] # <KATAKANA LETTER DI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C1 3099 30FC ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.3197.0020.0007.30C2] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF81 FF9E 30FC ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.3197.0020.0007.30C2] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF81 FF9E FF70 ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.3197.0020.0007.30C2] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3062 30FC ; [.31A7.0020.0011.3061][.0000.014E.0002.3099][.3197.0020.0007.3062] # <HIRAGANA LETTER DI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3061 3099 30FC ; [.31A7.0020.0011.3061][.0000.014E.0002.3099][.3197.0020.0007.3062] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CB 30FC ; [.31AC.0020.0011.30CB][.3197.0020.0007.30CB] # <KATAKANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF86 30FC ; [.31AC.0020.0011.30CB][.3197.0020.0007.30CB] # <HALFWIDTH KATAKANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF86 FF70 ; [.31AC.0020.0011.30CB][.3197.0020.0007.30CB] # <HALFWIDTH KATAKANA LETTER NI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306B 30FC ; [.31AC.0020.0011.306B][.3197.0020.0007.306B] # <HIRAGANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D2 30FC ; [.31B1.0020.0011.30D2][.3197.0020.0007.30D2] # <KATAKANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B 30FC ; [.31B1.0020.0011.30D2][.3197.0020.0007.30D2] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF70 ; [.31B1.0020.0011.30D2][.3197.0020.0007.30D2] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3072 30FC ; [.31B1.0020.0011.3072][.3197.0020.0007.3072] # <HIRAGANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D3 30FC ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.3197.0020.0007.30D3] # <KATAKANA LETTER BI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D2 3099 30FC ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.3197.0020.0007.30D3] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF9E 30FC ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.3197.0020.0007.30D3] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF9E FF70 ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.3197.0020.0007.30D3] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3073 30FC ; [.31B1.0020.0011.3072][.0000.014E.0002.3099][.3197.0020.0007.3073] # <HIRAGANA LETTER BI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3072 3099 30FC ; [.31B1.0020.0011.3072][.0000.014E.0002.3099][.3197.0020.0007.3073] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D4 30FC ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.3197.0020.0007.30D4] # <KATAKANA LETTER PI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D2 309A 30FC ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.3197.0020.0007.30D4] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF9F 30FC ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.3197.0020.0007.30D4] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF9F FF70 ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.3197.0020.0007.30D4] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3074 30FC ; [.31B1.0020.0011.3072][.0000.014F.0002.309A][.3197.0020.0007.3074] # <HIRAGANA LETTER PI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3072 309A 30FC ; [.31B1.0020.0011.3072][.0000.014F.0002.309A][.3197.0020.0007.3074] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DF 30FC ; [.31B6.0020.0011.30DF][.3197.0020.0007.30DF] # <KATAKANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF90 30FC ; [.31B6.0020.0011.30DF][.3197.0020.0007.30DF] # <HALFWIDTH KATAKANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF90 FF70 ; [.31B6.0020.0011.30DF][.3197.0020.0007.30DF] # <HALFWIDTH KATAKANA LETTER MI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307F 30FC ; [.31B6.0020.0011.307F][.3197.0020.0007.307F] # <HIRAGANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EA 30FC ; [.31BF.0020.0011.30EA][.3197.0020.0007.30EA] # <KATAKANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF98 30FC ; [.31BF.0020.0011.30EA][.3197.0020.0007.30EA] # <HALFWIDTH KATAKANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF98 FF70 ; [.31BF.0020.0011.30EA][.3197.0020.0007.30EA] # <HALFWIDTH KATAKANA LETTER RI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308A 30FC ; [.31BF.0020.0011.308A][.3197.0020.0007.308A] # <HIRAGANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F0 30FC ; [.31C4.0020.0011.30F0][.3197.0020.0007.30F0] # <KATAKANA LETTER WI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3090 30FC ; [.31C4.0020.0011.3090][.3197.0020.0007.3090] # <HIRAGANA LETTER WI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F8 30FC ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099][.3197.0020.0007.30F8] # <KATAKANA LETTER VI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F0 3099 30FC ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099][.3197.0020.0007.30F8] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F1 30FC ; [.31A2.0020.000F.31F1][.3197.0020.0007.31F1] # <KATAKANA LETTER SMALL SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F6 30FC ; [.31B1.0020.000F.31F6][.3197.0020.0007.31F6] # <KATAKANA LETTER SMALL HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FC 30FC ; [.31BF.0020.000F.31FC][.3197.0020.0007.31FC] # <KATAKANA LETTER SMALL RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A5 30FC ; [.3198.0020.000F.30A5][.3198.0020.0007.30A5] # <KATAKANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF69 30FC ; [.3198.0020.000F.30A5][.3198.0020.0007.30A5] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF69 FF70 ; [.3198.0020.000F.30A5][.3198.0020.0007.30A5] # <HALFWIDTH KATAKANA LETTER SMALL U, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3045 30FC ; [.3198.0020.000F.3045][.3198.0020.0007.3045] # <HIRAGANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A6 30FC ; [.3198.0020.0011.30A6][.3198.0020.0007.30A6] # <KATAKANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF73 30FC ; [.3198.0020.0011.30A6][.3198.0020.0007.30A6] # <HALFWIDTH KATAKANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF73 FF70 ; [.3198.0020.0011.30A6][.3198.0020.0007.30A6] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3046 30FC ; [.3198.0020.0011.3046][.3198.0020.0007.3046] # <HIRAGANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AF 30FC ; [.319E.0020.0011.30AF][.3198.0020.0007.30AF] # <KATAKANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF78 30FC ; [.319E.0020.0011.30AF][.3198.0020.0007.30AF] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF78 FF70 ; [.319E.0020.0011.30AF][.3198.0020.0007.30AF] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304F 30FC ; [.319E.0020.0011.304F][.3198.0020.0007.304F] # <HIRAGANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B0 30FC ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.3198.0020.0007.30B0] # <KATAKANA LETTER GU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AF 3099 30FC ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.3198.0020.0007.30B0] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF78 FF9E 30FC ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.3198.0020.0007.30B0] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF78 FF9E FF70 ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.3198.0020.0007.30B0] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3050 30FC ; [.319E.0020.0011.304F][.0000.014E.0002.3099][.3198.0020.0007.3050] # <HIRAGANA LETTER GU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304F 3099 30FC ; [.319E.0020.0011.304F][.0000.014E.0002.3099][.3198.0020.0007.3050] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B9 30FC ; [.31A3.0020.0011.30B9][.3198.0020.0007.30B9] # <KATAKANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7D 30FC ; [.31A3.0020.0011.30B9][.3198.0020.0007.30B9] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7D FF70 ; [.31A3.0020.0011.30B9][.3198.0020.0007.30B9] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3059 30FC ; [.31A3.0020.0011.3059][.3198.0020.0007.3059] # <HIRAGANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BA 30FC ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.3198.0020.0007.30BA] # <KATAKANA LETTER ZU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B9 3099 30FC ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.3198.0020.0007.30BA] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7D FF9E 30FC ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.3198.0020.0007.30BA] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7D FF9E FF70 ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.3198.0020.0007.30BA] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305A 30FC ; [.31A3.0020.0011.3059][.0000.014E.0002.3099][.3198.0020.0007.305A] # <HIRAGANA LETTER ZU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3059 3099 30FC ; [.31A3.0020.0011.3059][.0000.014E.0002.3099][.3198.0020.0007.305A] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C3 30FC ; [.31A8.0020.000F.30C3][.3198.0020.0007.30C3] # <KATAKANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6F 30FC ; [.31A8.0020.000F.30C3][.3198.0020.0007.30C3] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6F FF70 ; [.31A8.0020.000F.30C3][.3198.0020.0007.30C3] # <HALFWIDTH KATAKANA LETTER SMALL TU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3063 30FC ; [.31A8.0020.000F.3063][.3198.0020.0007.3063] # <HIRAGANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C4 30FC ; [.31A8.0020.0011.30C4][.3198.0020.0007.30C4] # <KATAKANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF82 30FC ; [.31A8.0020.0011.30C4][.3198.0020.0007.30C4] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF82 FF70 ; [.31A8.0020.0011.30C4][.3198.0020.0007.30C4] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3064 30FC ; [.31A8.0020.0011.3064][.3198.0020.0007.3064] # <HIRAGANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C5 30FC ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.3198.0020.0007.30C5] # <KATAKANA LETTER DU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C4 3099 30FC ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.3198.0020.0007.30C5] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF82 FF9E 30FC ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.3198.0020.0007.30C5] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF82 FF9E FF70 ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.3198.0020.0007.30C5] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3065 30FC ; [.31A8.0020.0011.3064][.0000.014E.0002.3099][.3198.0020.0007.3065] # <HIRAGANA LETTER DU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3064 3099 30FC ; [.31A8.0020.0011.3064][.0000.014E.0002.3099][.3198.0020.0007.3065] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CC 30FC ; [.31AD.0020.0011.30CC][.3198.0020.0007.30CC] # <KATAKANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF87 30FC ; [.31AD.0020.0011.30CC][.3198.0020.0007.30CC] # <HALFWIDTH KATAKANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF87 FF70 ; [.31AD.0020.0011.30CC][.3198.0020.0007.30CC] # <HALFWIDTH KATAKANA LETTER NU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306C 30FC ; [.31AD.0020.0011.306C][.3198.0020.0007.306C] # <HIRAGANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D5 30FC ; [.31B2.0020.0011.30D5][.3198.0020.0007.30D5] # <KATAKANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C 30FC ; [.31B2.0020.0011.30D5][.3198.0020.0007.30D5] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF70 ; [.31B2.0020.0011.30D5][.3198.0020.0007.30D5] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3075 30FC ; [.31B2.0020.0011.3075][.3198.0020.0007.3075] # <HIRAGANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D6 30FC ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.3198.0020.0007.30D6] # <KATAKANA LETTER BU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D5 3099 30FC ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.3198.0020.0007.30D6] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF9E 30FC ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.3198.0020.0007.30D6] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF9E FF70 ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.3198.0020.0007.30D6] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3076 30FC ; [.31B2.0020.0011.3075][.0000.014E.0002.3099][.3198.0020.0007.3076] # <HIRAGANA LETTER BU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3075 3099 30FC ; [.31B2.0020.0011.3075][.0000.014E.0002.3099][.3198.0020.0007.3076] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D7 30FC ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.3198.0020.0007.30D7] # <KATAKANA LETTER PU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D5 309A 30FC ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.3198.0020.0007.30D7] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF9F 30FC ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.3198.0020.0007.30D7] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF9F FF70 ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.3198.0020.0007.30D7] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3077 30FC ; [.31B2.0020.0011.3075][.0000.014F.0002.309A][.3198.0020.0007.3077] # <HIRAGANA LETTER PU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3075 309A 30FC ; [.31B2.0020.0011.3075][.0000.014F.0002.309A][.3198.0020.0007.3077] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E0 30FC ; [.31B7.0020.0011.30E0][.3198.0020.0007.30E0] # <KATAKANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF91 30FC ; [.31B7.0020.0011.30E0][.3198.0020.0007.30E0] # <HALFWIDTH KATAKANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF91 FF70 ; [.31B7.0020.0011.30E0][.3198.0020.0007.30E0] # <HALFWIDTH KATAKANA LETTER MU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3080 30FC ; [.31B7.0020.0011.3080][.3198.0020.0007.3080] # <HIRAGANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E5 30FC ; [.31BB.0020.000F.30E5][.3198.0020.0007.30E5] # <KATAKANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6D 30FC ; [.31BB.0020.000F.30E5][.3198.0020.0007.30E5] # <HALFWIDTH KATAKANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6D FF70 ; [.31BB.0020.000F.30E5][.3198.0020.0007.30E5] # <HALFWIDTH KATAKANA LETTER SMALL YU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3085 30FC ; [.31BB.0020.000F.3085][.3198.0020.0007.3085] # <HIRAGANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E6 30FC ; [.31BB.0020.0011.30E6][.3198.0020.0007.30E6] # <KATAKANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF95 30FC ; [.31BB.0020.0011.30E6][.3198.0020.0007.30E6] # <HALFWIDTH KATAKANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF95 FF70 ; [.31BB.0020.0011.30E6][.3198.0020.0007.30E6] # <HALFWIDTH KATAKANA LETTER YU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3086 30FC ; [.31BB.0020.0011.3086][.3198.0020.0007.3086] # <HIRAGANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EB 30FC ; [.31C0.0020.0011.30EB][.3198.0020.0007.30EB] # <KATAKANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF99 30FC ; [.31C0.0020.0011.30EB][.3198.0020.0007.30EB] # <HALFWIDTH KATAKANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF99 FF70 ; [.31C0.0020.0011.30EB][.3198.0020.0007.30EB] # <HALFWIDTH KATAKANA LETTER RU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308B 30FC ; [.31C0.0020.0011.308B][.3198.0020.0007.308B] # <HIRAGANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F4 30FC ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0007.30F4] # <KATAKANA LETTER VU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A6 3099 30FC ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0007.30F4] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF73 FF9E 30FC ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0007.30F4] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF73 FF9E FF70 ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0007.30F4] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3094 30FC ; [.3198.0020.0011.3046][.0000.014E.0002.3099][.3198.0020.0007.3094] # <HIRAGANA LETTER VU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3046 3099 30FC ; [.3198.0020.0011.3046][.0000.014E.0002.3099][.3198.0020.0007.3094] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F0 30FC ; [.319E.0020.000F.31F0][.3198.0020.0007.31F0] # <KATAKANA LETTER SMALL KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F2 30FC ; [.31A3.0020.000F.31F2][.3198.0020.0007.31F2] # <KATAKANA LETTER SMALL SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F4 30FC ; [.31AD.0020.000F.31F4][.3198.0020.0007.31F4] # <KATAKANA LETTER SMALL NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F7 30FC ; [.31B2.0020.000F.31F7][.3198.0020.0007.31F7] # <KATAKANA LETTER SMALL HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FA 30FC ; [.31B7.0020.000F.31FA][.3198.0020.0007.31FA] # <KATAKANA LETTER SMALL MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FD 30FC ; [.31C0.0020.000F.31FD][.3198.0020.0007.31FD] # <KATAKANA LETTER SMALL RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A7 30FC ; [.319A.0020.000F.30A7][.319A.0020.0007.30A7] # <KATAKANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6A 30FC ; [.319A.0020.000F.30A7][.319A.0020.0007.30A7] # <HALFWIDTH KATAKANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6A FF70 ; [.319A.0020.000F.30A7][.319A.0020.0007.30A7] # <HALFWIDTH KATAKANA LETTER SMALL E, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3047 30FC ; [.319A.0020.000F.3047][.319A.0020.0007.3047] # <HIRAGANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A8 30FC ; [.319A.0020.0011.30A8][.319A.0020.0007.30A8] # <KATAKANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF74 30FC ; [.319A.0020.0011.30A8][.319A.0020.0007.30A8] # <HALFWIDTH KATAKANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF74 FF70 ; [.319A.0020.0011.30A8][.319A.0020.0007.30A8] # <HALFWIDTH KATAKANA LETTER E, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3048 30FC ; [.319A.0020.0011.3048][.319A.0020.0007.3048] # <HIRAGANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B1 30FC ; [.319F.0020.0011.30B1][.319A.0020.0007.30B1] # <KATAKANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF79 30FC ; [.319F.0020.0011.30B1][.319A.0020.0007.30B1] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF79 FF70 ; [.319F.0020.0011.30B1][.319A.0020.0007.30B1] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3051 30FC ; [.319F.0020.0011.3051][.319A.0020.0007.3051] # <HIRAGANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B2 30FC ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319A.0020.0007.30B2] # <KATAKANA LETTER GE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B1 3099 30FC ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319A.0020.0007.30B2] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF79 FF9E 30FC ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319A.0020.0007.30B2] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF79 FF9E FF70 ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319A.0020.0007.30B2] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3052 30FC ; [.319F.0020.0011.3051][.0000.014E.0002.3099][.319A.0020.0007.3052] # <HIRAGANA LETTER GE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3051 3099 30FC ; [.319F.0020.0011.3051][.0000.014E.0002.3099][.319A.0020.0007.3052] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BB 30FC ; [.31A4.0020.0011.30BB][.319A.0020.0007.30BB] # <KATAKANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7E 30FC ; [.31A4.0020.0011.30BB][.319A.0020.0007.30BB] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7E FF70 ; [.31A4.0020.0011.30BB][.319A.0020.0007.30BB] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305B 30FC ; [.31A4.0020.0011.305B][.319A.0020.0007.305B] # <HIRAGANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BC 30FC ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.319A.0020.0007.30BC] # <KATAKANA LETTER ZE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BB 3099 30FC ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.319A.0020.0007.30BC] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7E FF9E 30FC ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.319A.0020.0007.30BC] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7E FF9E FF70 ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.319A.0020.0007.30BC] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305C 30FC ; [.31A4.0020.0011.305B][.0000.014E.0002.3099][.319A.0020.0007.305C] # <HIRAGANA LETTER ZE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305B 3099 30FC ; [.31A4.0020.0011.305B][.0000.014E.0002.3099][.319A.0020.0007.305C] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C6 30FC ; [.31A9.0020.0011.30C6][.319A.0020.0007.30C6] # <KATAKANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF83 30FC ; [.31A9.0020.0011.30C6][.319A.0020.0007.30C6] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF83 FF70 ; [.31A9.0020.0011.30C6][.319A.0020.0007.30C6] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3066 30FC ; [.31A9.0020.0011.3066][.319A.0020.0007.3066] # <HIRAGANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C7 30FC ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.319A.0020.0007.30C7] # <KATAKANA LETTER DE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C6 3099 30FC ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.319A.0020.0007.30C7] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF83 FF9E 30FC ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.319A.0020.0007.30C7] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF83 FF9E FF70 ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.319A.0020.0007.30C7] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3067 30FC ; [.31A9.0020.0011.3066][.0000.014E.0002.3099][.319A.0020.0007.3067] # <HIRAGANA LETTER DE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3066 3099 30FC ; [.31A9.0020.0011.3066][.0000.014E.0002.3099][.319A.0020.0007.3067] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CD 30FC ; [.31AE.0020.0011.30CD][.319A.0020.0007.30CD] # <KATAKANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF88 30FC ; [.31AE.0020.0011.30CD][.319A.0020.0007.30CD] # <HALFWIDTH KATAKANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF88 FF70 ; [.31AE.0020.0011.30CD][.319A.0020.0007.30CD] # <HALFWIDTH KATAKANA LETTER NE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306D 30FC ; [.31AE.0020.0011.306D][.319A.0020.0007.306D] # <HIRAGANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D8 30FC ; [.31B3.0020.0011.30D8][.319A.0020.0007.30D8] # <KATAKANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D 30FC ; [.31B3.0020.0011.30D8][.319A.0020.0007.30D8] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF70 ; [.31B3.0020.0011.30D8][.319A.0020.0007.30D8] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3078 30FC ; [.31B3.0020.0011.3078][.319A.0020.0007.3078] # <HIRAGANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D9 30FC ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.319A.0020.0007.30D9] # <KATAKANA LETTER BE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D8 3099 30FC ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.319A.0020.0007.30D9] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF9E 30FC ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.319A.0020.0007.30D9] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF9E FF70 ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.319A.0020.0007.30D9] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3079 30FC ; [.31B3.0020.0011.3078][.0000.014E.0002.3099][.319A.0020.0007.3079] # <HIRAGANA LETTER BE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3078 3099 30FC ; [.31B3.0020.0011.3078][.0000.014E.0002.3099][.319A.0020.0007.3079] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DA 30FC ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.319A.0020.0007.30DA] # <KATAKANA LETTER PE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D8 309A 30FC ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.319A.0020.0007.30DA] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF9F 30FC ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.319A.0020.0007.30DA] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF9F FF70 ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.319A.0020.0007.30DA] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307A 30FC ; [.31B3.0020.0011.3078][.0000.014F.0002.309A][.319A.0020.0007.307A] # <HIRAGANA LETTER PE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3078 309A 30FC ; [.31B3.0020.0011.3078][.0000.014F.0002.309A][.319A.0020.0007.307A] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E1 30FC ; [.31B8.0020.0011.30E1][.319A.0020.0007.30E1] # <KATAKANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF92 30FC ; [.31B8.0020.0011.30E1][.319A.0020.0007.30E1] # <HALFWIDTH KATAKANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF92 FF70 ; [.31B8.0020.0011.30E1][.319A.0020.0007.30E1] # <HALFWIDTH KATAKANA LETTER ME, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3081 30FC ; [.31B8.0020.0011.3081][.319A.0020.0007.3081] # <HIRAGANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EC 30FC ; [.31C1.0020.0011.30EC][.319A.0020.0007.30EC] # <KATAKANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9A 30FC ; [.31C1.0020.0011.30EC][.319A.0020.0007.30EC] # <HALFWIDTH KATAKANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9A FF70 ; [.31C1.0020.0011.30EC][.319A.0020.0007.30EC] # <HALFWIDTH KATAKANA LETTER RE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308C 30FC ; [.31C1.0020.0011.308C][.319A.0020.0007.308C] # <HIRAGANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F1 30FC ; [.31C5.0020.0011.30F1][.319A.0020.0007.30F1] # <KATAKANA LETTER WE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3091 30FC ; [.31C5.0020.0011.3091][.319A.0020.0007.3091] # <HIRAGANA LETTER WE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F9 30FC ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099][.319A.0020.0007.30F9] # <KATAKANA LETTER VE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F1 3099 30FC ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099][.319A.0020.0007.30F9] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F6 30FC ; [.319F.0020.000F.30F6][.319A.0020.0007.30F6] # <KATAKANA LETTER SMALL KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3096 30FC ; [.319F.0020.000F.3096][.319A.0020.0007.3096] # <HIRAGANA LETTER SMALL KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F8 30FC ; [.31B3.0020.000F.31F8][.319A.0020.0007.31F8] # <KATAKANA LETTER SMALL HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FE 30FC ; [.31C1.0020.000F.31FE][.319A.0020.0007.31FE] # <KATAKANA LETTER SMALL RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A9 30FC ; [.319B.0020.000F.30A9][.319B.0020.0007.30A9] # <KATAKANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6B 30FC ; [.319B.0020.000F.30A9][.319B.0020.0007.30A9] # <HALFWIDTH KATAKANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6B FF70 ; [.319B.0020.000F.30A9][.319B.0020.0007.30A9] # <HALFWIDTH KATAKANA LETTER SMALL O, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3049 30FC ; [.319B.0020.000F.3049][.319B.0020.0007.3049] # <HIRAGANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AA 30FC ; [.319B.0020.0011.30AA][.319B.0020.0007.30AA] # <KATAKANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF75 30FC ; [.319B.0020.0011.30AA][.319B.0020.0007.30AA] # <HALFWIDTH KATAKANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF75 FF70 ; [.319B.0020.0011.30AA][.319B.0020.0007.30AA] # <HALFWIDTH KATAKANA LETTER O, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304A 30FC ; [.319B.0020.0011.304A][.319B.0020.0007.304A] # <HIRAGANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B3 30FC ; [.31A0.0020.0011.30B3][.319B.0020.0007.30B3] # <KATAKANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7A 30FC ; [.31A0.0020.0011.30B3][.319B.0020.0007.30B3] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7A FF70 ; [.31A0.0020.0011.30B3][.319B.0020.0007.30B3] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3053 30FC ; [.31A0.0020.0011.3053][.319B.0020.0007.3053] # <HIRAGANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B4 30FC ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.319B.0020.0007.30B4] # <KATAKANA LETTER GO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B3 3099 30FC ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.319B.0020.0007.30B4] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7A FF9E 30FC ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.319B.0020.0007.30B4] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7A FF9E FF70 ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.319B.0020.0007.30B4] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3054 30FC ; [.31A0.0020.0011.3053][.0000.014E.0002.3099][.319B.0020.0007.3054] # <HIRAGANA LETTER GO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3053 3099 30FC ; [.31A0.0020.0011.3053][.0000.014E.0002.3099][.319B.0020.0007.3054] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BD 30FC ; [.31A5.0020.0011.30BD][.319B.0020.0007.30BD] # <KATAKANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7F 30FC ; [.31A5.0020.0011.30BD][.319B.0020.0007.30BD] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7F FF70 ; [.31A5.0020.0011.30BD][.319B.0020.0007.30BD] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305D 30FC ; [.31A5.0020.0011.305D][.319B.0020.0007.305D] # <HIRAGANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BE 30FC ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.319B.0020.0007.30BE] # <KATAKANA LETTER ZO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BD 3099 30FC ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.319B.0020.0007.30BE] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7F FF9E 30FC ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.319B.0020.0007.30BE] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7F FF9E FF70 ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.319B.0020.0007.30BE] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305E 30FC ; [.31A5.0020.0011.305D][.0000.014E.0002.3099][.319B.0020.0007.305E] # <HIRAGANA LETTER ZO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305D 3099 30FC ; [.31A5.0020.0011.305D][.0000.014E.0002.3099][.319B.0020.0007.305E] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C8 30FC ; [.31AA.0020.0011.30C8][.319B.0020.0007.30C8] # <KATAKANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF84 30FC ; [.31AA.0020.0011.30C8][.319B.0020.0007.30C8] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF84 FF70 ; [.31AA.0020.0011.30C8][.319B.0020.0007.30C8] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3068 30FC ; [.31AA.0020.0011.3068][.319B.0020.0007.3068] # <HIRAGANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C9 30FC ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.319B.0020.0007.30C9] # <KATAKANA LETTER DO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C8 3099 30FC ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.319B.0020.0007.30C9] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF84 FF9E 30FC ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.319B.0020.0007.30C9] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF84 FF9E FF70 ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.319B.0020.0007.30C9] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3069 30FC ; [.31AA.0020.0011.3068][.0000.014E.0002.3099][.319B.0020.0007.3069] # <HIRAGANA LETTER DO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3068 3099 30FC ; [.31AA.0020.0011.3068][.0000.014E.0002.3099][.319B.0020.0007.3069] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CE 30FC ; [.31AF.0020.0011.30CE][.319B.0020.0007.30CE] # <KATAKANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF89 30FC ; [.31AF.0020.0011.30CE][.319B.0020.0007.30CE] # <HALFWIDTH KATAKANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF89 FF70 ; [.31AF.0020.0011.30CE][.319B.0020.0007.30CE] # <HALFWIDTH KATAKANA LETTER NO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306E 30FC ; [.31AF.0020.0011.306E][.319B.0020.0007.306E] # <HIRAGANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DB 30FC ; [.31B4.0020.0011.30DB][.319B.0020.0007.30DB] # <KATAKANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E 30FC ; [.31B4.0020.0011.30DB][.319B.0020.0007.30DB] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF70 ; [.31B4.0020.0011.30DB][.319B.0020.0007.30DB] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307B 30FC ; [.31B4.0020.0011.307B][.319B.0020.0007.307B] # <HIRAGANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DC 30FC ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.319B.0020.0007.30DC] # <KATAKANA LETTER BO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DB 3099 30FC ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.319B.0020.0007.30DC] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF9E 30FC ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.319B.0020.0007.30DC] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF9E FF70 ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.319B.0020.0007.30DC] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307C 30FC ; [.31B4.0020.0011.307B][.0000.014E.0002.3099][.319B.0020.0007.307C] # <HIRAGANA LETTER BO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307B 3099 30FC ; [.31B4.0020.0011.307B][.0000.014E.0002.3099][.319B.0020.0007.307C] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DD 30FC ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.319B.0020.0007.30DD] # <KATAKANA LETTER PO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DB 309A 30FC ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.319B.0020.0007.30DD] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF9F 30FC ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.319B.0020.0007.30DD] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF9F FF70 ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.319B.0020.0007.30DD] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307D 30FC ; [.31B4.0020.0011.307B][.0000.014F.0002.309A][.319B.0020.0007.307D] # <HIRAGANA LETTER PO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307B 309A 30FC ; [.31B4.0020.0011.307B][.0000.014F.0002.309A][.319B.0020.0007.307D] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E2 30FC ; [.31B9.0020.0011.30E2][.319B.0020.0007.30E2] # <KATAKANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF93 30FC ; [.31B9.0020.0011.30E2][.319B.0020.0007.30E2] # <HALFWIDTH KATAKANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF93 FF70 ; [.31B9.0020.0011.30E2][.319B.0020.0007.30E2] # <HALFWIDTH KATAKANA LETTER MO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3082 30FC ; [.31B9.0020.0011.3082][.319B.0020.0007.3082] # <HIRAGANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E7 30FC ; [.31BD.0020.000F.30E7][.319B.0020.0007.30E7] # <KATAKANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6E 30FC ; [.31BD.0020.000F.30E7][.319B.0020.0007.30E7] # <HALFWIDTH KATAKANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6E FF70 ; [.31BD.0020.000F.30E7][.319B.0020.0007.30E7] # <HALFWIDTH KATAKANA LETTER SMALL YO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3087 30FC ; [.31BD.0020.000F.3087][.319B.0020.0007.3087] # <HIRAGANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E8 30FC ; [.31BD.0020.0011.30E8][.319B.0020.0007.30E8] # <KATAKANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF96 30FC ; [.31BD.0020.0011.30E8][.319B.0020.0007.30E8] # <HALFWIDTH KATAKANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF96 FF70 ; [.31BD.0020.0011.30E8][.319B.0020.0007.30E8] # <HALFWIDTH KATAKANA LETTER YO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3088 30FC ; [.31BD.0020.0011.3088][.319B.0020.0007.3088] # <HIRAGANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30ED 30FC ; [.31C2.0020.0011.30ED][.319B.0020.0007.30ED] # <KATAKANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9B 30FC ; [.31C2.0020.0011.30ED][.319B.0020.0007.30ED] # <HALFWIDTH KATAKANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9B FF70 ; [.31C2.0020.0011.30ED][.319B.0020.0007.30ED] # <HALFWIDTH KATAKANA LETTER RO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308D 30FC ; [.31C2.0020.0011.308D][.319B.0020.0007.308D] # <HIRAGANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F2 30FC ; [.31C6.0020.0011.30F2][.319B.0020.0007.30F2] # <KATAKANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF66 30FC ; [.31C6.0020.0011.30F2][.319B.0020.0007.30F2] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF66 FF70 ; [.31C6.0020.0011.30F2][.319B.0020.0007.30F2] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3092 30FC ; [.31C6.0020.0011.3092][.319B.0020.0007.3092] # <HIRAGANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30FA 30FC ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.319B.0020.0007.30FA] # <KATAKANA LETTER VO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F2 3099 30FC ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.319B.0020.0007.30FA] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF66 FF9E 30FC ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.319B.0020.0007.30FA] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF66 FF9E FF70 ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.319B.0020.0007.30FA] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F3 30FC ; [.31AA.0020.000F.31F3][.319B.0020.0007.31F3] # <KATAKANA LETTER SMALL TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F9 30FC ; [.31B4.0020.000F.31F9][.319B.0020.0007.31F9] # <KATAKANA LETTER SMALL HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FF 30FC ; [.31C2.0020.000F.31FF][.319B.0020.0007.31FF] # <KATAKANA LETTER SMALL RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A1 30FD ; [.3196.0020.000F.30A1][.3196.0020.0010.30A1] # <KATAKANA LETTER SMALL A, KATAKANA ITERATION MARK>
-FF67 30FD ; [.3196.0020.000F.30A1][.3196.0020.0010.30A1] # <HALFWIDTH KATAKANA LETTER SMALL A, KATAKANA ITERATION MARK>
-3041 309D ; [.3196.0020.000F.3041][.3196.0020.0010.3041] # <HIRAGANA LETTER SMALL A, HIRAGANA ITERATION MARK>
-30A2 30FD ; [.3196.0020.0011.30A2][.3196.0020.0010.30A2] # <KATAKANA LETTER A, KATAKANA ITERATION MARK>
-FF71 30FD ; [.3196.0020.0011.30A2][.3196.0020.0010.30A2] # <HALFWIDTH KATAKANA LETTER A, KATAKANA ITERATION MARK>
-3042 309D ; [.3196.0020.0011.3042][.3196.0020.0010.3042] # <HIRAGANA LETTER A, HIRAGANA ITERATION MARK>
-30A3 30FD ; [.3197.0020.000F.30A3][.3197.0020.0010.30A3] # <KATAKANA LETTER SMALL I, KATAKANA ITERATION MARK>
-FF68 30FD ; [.3197.0020.000F.30A3][.3197.0020.0010.30A3] # <HALFWIDTH KATAKANA LETTER SMALL I, KATAKANA ITERATION MARK>
-3043 309D ; [.3197.0020.000F.3043][.3197.0020.0010.3043] # <HIRAGANA LETTER SMALL I, HIRAGANA ITERATION MARK>
-30A4 30FD ; [.3197.0020.0011.30A4][.3197.0020.0010.30A4] # <KATAKANA LETTER I, KATAKANA ITERATION MARK>
-FF72 30FD ; [.3197.0020.0011.30A4][.3197.0020.0010.30A4] # <HALFWIDTH KATAKANA LETTER I, KATAKANA ITERATION MARK>
-3044 309D ; [.3197.0020.0011.3044][.3197.0020.0010.3044] # <HIRAGANA LETTER I, HIRAGANA ITERATION MARK>
-30A5 30FD ; [.3198.0020.000F.30A5][.3198.0020.0010.30A5] # <KATAKANA LETTER SMALL U, KATAKANA ITERATION MARK>
-FF69 30FD ; [.3198.0020.000F.30A5][.3198.0020.0010.30A5] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA ITERATION MARK>
-3045 309D ; [.3198.0020.000F.3045][.3198.0020.0010.3045] # <HIRAGANA LETTER SMALL U, HIRAGANA ITERATION MARK>
-30A5 30FE ; [.3198.0020.000F.30A5][.3198.0020.0010.30A5][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL U, KATAKANA VOICED ITERATION MARK>
-FF69 30FE ; [.3198.0020.000F.30A5][.3198.0020.0010.30A5][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA VOICED ITERATION MARK>
-3045 309E ; [.3198.0020.000F.3045][.3198.0020.0010.3045][.0000.014E.0002.3099] # <HIRAGANA LETTER SMALL U, HIRAGANA VOICED ITERATION MARK>
-30A6 30FD ; [.3198.0020.0011.30A6][.3198.0020.0010.30A6] # <KATAKANA LETTER U, KATAKANA ITERATION MARK>
-FF73 30FD ; [.3198.0020.0011.30A6][.3198.0020.0010.30A6] # <HALFWIDTH KATAKANA LETTER U, KATAKANA ITERATION MARK>
-3046 309D ; [.3198.0020.0011.3046][.3198.0020.0010.3046] # <HIRAGANA LETTER U, HIRAGANA ITERATION MARK>
-30A6 30FE ; [.3198.0020.0011.30A6][.3198.0020.0010.30A6][.0000.014E.0002.3099] # <KATAKANA LETTER U, KATAKANA VOICED ITERATION MARK>
-FF73 30FE ; [.3198.0020.0011.30A6][.3198.0020.0010.30A6][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER U, KATAKANA VOICED ITERATION MARK>
-3046 309E ; [.3198.0020.0011.3046][.3198.0020.0010.3046][.0000.014E.0002.3099] # <HIRAGANA LETTER U, HIRAGANA VOICED ITERATION MARK>
-30A7 30FD ; [.319A.0020.000F.30A7][.319A.0020.0010.30A7] # <KATAKANA LETTER SMALL E, KATAKANA ITERATION MARK>
-FF6A 30FD ; [.319A.0020.000F.30A7][.319A.0020.0010.30A7] # <HALFWIDTH KATAKANA LETTER SMALL E, KATAKANA ITERATION MARK>
-3047 309D ; [.319A.0020.000F.3047][.319A.0020.0010.3047] # <HIRAGANA LETTER SMALL E, HIRAGANA ITERATION MARK>
-30A8 30FD ; [.319A.0020.0011.30A8][.319A.0020.0010.30A8] # <KATAKANA LETTER E, KATAKANA ITERATION MARK>
-FF74 30FD ; [.319A.0020.0011.30A8][.319A.0020.0010.30A8] # <HALFWIDTH KATAKANA LETTER E, KATAKANA ITERATION MARK>
-3048 309D ; [.319A.0020.0011.3048][.319A.0020.0010.3048] # <HIRAGANA LETTER E, HIRAGANA ITERATION MARK>
-30A9 30FD ; [.319B.0020.000F.30A9][.319B.0020.0010.30A9] # <KATAKANA LETTER SMALL O, KATAKANA ITERATION MARK>
-FF6B 30FD ; [.319B.0020.000F.30A9][.319B.0020.0010.30A9] # <HALFWIDTH KATAKANA LETTER SMALL O, KATAKANA ITERATION MARK>
-3049 309D ; [.319B.0020.000F.3049][.319B.0020.0010.3049] # <HIRAGANA LETTER SMALL O, HIRAGANA ITERATION MARK>
-30AA 30FD ; [.319B.0020.0011.30AA][.319B.0020.0010.30AA] # <KATAKANA LETTER O, KATAKANA ITERATION MARK>
-FF75 30FD ; [.319B.0020.0011.30AA][.319B.0020.0010.30AA] # <HALFWIDTH KATAKANA LETTER O, KATAKANA ITERATION MARK>
-304A 309D ; [.319B.0020.0011.304A][.319B.0020.0010.304A] # <HIRAGANA LETTER O, HIRAGANA ITERATION MARK>
-30AB 30FD ; [.319C.0020.0011.30AB][.319C.0020.0010.30AB] # <KATAKANA LETTER KA, KATAKANA ITERATION MARK>
-FF76 30FD ; [.319C.0020.0011.30AB][.319C.0020.0010.30AB] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA ITERATION MARK>
-304B 309D ; [.319C.0020.0011.304B][.319C.0020.0010.304B] # <HIRAGANA LETTER KA, HIRAGANA ITERATION MARK>
-30AB 30FE ; [.319C.0020.0011.30AB][.319C.0020.0010.30AB][.0000.014E.0002.3099] # <KATAKANA LETTER KA, KATAKANA VOICED ITERATION MARK>
-FF76 30FE ; [.319C.0020.0011.30AB][.319C.0020.0010.30AB][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA VOICED ITERATION MARK>
-304B 309E ; [.319C.0020.0011.304B][.319C.0020.0010.304B][.0000.014E.0002.3099] # <HIRAGANA LETTER KA, HIRAGANA VOICED ITERATION MARK>
-30AC 30FD ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.319C.0020.0010.30AC] # <KATAKANA LETTER GA, KATAKANA ITERATION MARK>
-30AB 3099 30FD ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.319C.0020.0010.30AC] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF76 FF9E 30FD ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.319C.0020.0010.30AC] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-304C 309D ; [.319C.0020.0011.304B][.0000.014E.0002.3099][.319C.0020.0010.304C] # <HIRAGANA LETTER GA, HIRAGANA ITERATION MARK>
-304B 3099 309D ; [.319C.0020.0011.304B][.0000.014E.0002.3099][.319C.0020.0010.304C] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30AC 30FE ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.319C.0020.0010.30AC][.0000.014E.0002.3099] # <KATAKANA LETTER GA, KATAKANA VOICED ITERATION MARK>
-30AB 3099 30FE ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.319C.0020.0010.30AC][.0000.014E.0002.3099] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF76 FF9E 30FE ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.319C.0020.0010.30AC][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-304C 309E ; [.319C.0020.0011.304B][.0000.014E.0002.3099][.319C.0020.0010.304C][.0000.014E.0002.3099] # <HIRAGANA LETTER GA, HIRAGANA VOICED ITERATION MARK>
-304B 3099 309E ; [.319C.0020.0011.304B][.0000.014E.0002.3099][.319C.0020.0010.304C][.0000.014E.0002.3099] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30AD 30FD ; [.319D.0020.0011.30AD][.319D.0020.0010.30AD] # <KATAKANA LETTER KI, KATAKANA ITERATION MARK>
-FF77 30FD ; [.319D.0020.0011.30AD][.319D.0020.0010.30AD] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA ITERATION MARK>
-304D 309D ; [.319D.0020.0011.304D][.319D.0020.0010.304D] # <HIRAGANA LETTER KI, HIRAGANA ITERATION MARK>
-30AD 30FE ; [.319D.0020.0011.30AD][.319D.0020.0010.30AD][.0000.014E.0002.3099] # <KATAKANA LETTER KI, KATAKANA VOICED ITERATION MARK>
-FF77 30FE ; [.319D.0020.0011.30AD][.319D.0020.0010.30AD][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA VOICED ITERATION MARK>
-304D 309E ; [.319D.0020.0011.304D][.319D.0020.0010.304D][.0000.014E.0002.3099] # <HIRAGANA LETTER KI, HIRAGANA VOICED ITERATION MARK>
-30AE 30FD ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.319D.0020.0010.30AE] # <KATAKANA LETTER GI, KATAKANA ITERATION MARK>
-30AD 3099 30FD ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.319D.0020.0010.30AE] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF77 FF9E 30FD ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.319D.0020.0010.30AE] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-304E 309D ; [.319D.0020.0011.304D][.0000.014E.0002.3099][.319D.0020.0010.304E] # <HIRAGANA LETTER GI, HIRAGANA ITERATION MARK>
-304D 3099 309D ; [.319D.0020.0011.304D][.0000.014E.0002.3099][.319D.0020.0010.304E] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30AE 30FE ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.319D.0020.0010.30AE][.0000.014E.0002.3099] # <KATAKANA LETTER GI, KATAKANA VOICED ITERATION MARK>
-30AD 3099 30FE ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.319D.0020.0010.30AE][.0000.014E.0002.3099] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF77 FF9E 30FE ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.319D.0020.0010.30AE][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-304E 309E ; [.319D.0020.0011.304D][.0000.014E.0002.3099][.319D.0020.0010.304E][.0000.014E.0002.3099] # <HIRAGANA LETTER GI, HIRAGANA VOICED ITERATION MARK>
-304D 3099 309E ; [.319D.0020.0011.304D][.0000.014E.0002.3099][.319D.0020.0010.304E][.0000.014E.0002.3099] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30AF 30FD ; [.319E.0020.0011.30AF][.319E.0020.0010.30AF] # <KATAKANA LETTER KU, KATAKANA ITERATION MARK>
-FF78 30FD ; [.319E.0020.0011.30AF][.319E.0020.0010.30AF] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA ITERATION MARK>
-304F 309D ; [.319E.0020.0011.304F][.319E.0020.0010.304F] # <HIRAGANA LETTER KU, HIRAGANA ITERATION MARK>
-30AF 30FE ; [.319E.0020.0011.30AF][.319E.0020.0010.30AF][.0000.014E.0002.3099] # <KATAKANA LETTER KU, KATAKANA VOICED ITERATION MARK>
-FF78 30FE ; [.319E.0020.0011.30AF][.319E.0020.0010.30AF][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA VOICED ITERATION MARK>
-304F 309E ; [.319E.0020.0011.304F][.319E.0020.0010.304F][.0000.014E.0002.3099] # <HIRAGANA LETTER KU, HIRAGANA VOICED ITERATION MARK>
-30B0 30FD ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.319E.0020.0010.30B0] # <KATAKANA LETTER GU, KATAKANA ITERATION MARK>
-30AF 3099 30FD ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.319E.0020.0010.30B0] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF78 FF9E 30FD ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.319E.0020.0010.30B0] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3050 309D ; [.319E.0020.0011.304F][.0000.014E.0002.3099][.319E.0020.0010.3050] # <HIRAGANA LETTER GU, HIRAGANA ITERATION MARK>
-304F 3099 309D ; [.319E.0020.0011.304F][.0000.014E.0002.3099][.319E.0020.0010.3050] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B0 30FE ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.319E.0020.0010.30B0][.0000.014E.0002.3099] # <KATAKANA LETTER GU, KATAKANA VOICED ITERATION MARK>
-30AF 3099 30FE ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.319E.0020.0010.30B0][.0000.014E.0002.3099] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF78 FF9E 30FE ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.319E.0020.0010.30B0][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3050 309E ; [.319E.0020.0011.304F][.0000.014E.0002.3099][.319E.0020.0010.3050][.0000.014E.0002.3099] # <HIRAGANA LETTER GU, HIRAGANA VOICED ITERATION MARK>
-304F 3099 309E ; [.319E.0020.0011.304F][.0000.014E.0002.3099][.319E.0020.0010.3050][.0000.014E.0002.3099] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B1 30FD ; [.319F.0020.0011.30B1][.319F.0020.0010.30B1] # <KATAKANA LETTER KE, KATAKANA ITERATION MARK>
-FF79 30FD ; [.319F.0020.0011.30B1][.319F.0020.0010.30B1] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA ITERATION MARK>
-3051 309D ; [.319F.0020.0011.3051][.319F.0020.0010.3051] # <HIRAGANA LETTER KE, HIRAGANA ITERATION MARK>
-30B1 30FE ; [.319F.0020.0011.30B1][.319F.0020.0010.30B1][.0000.014E.0002.3099] # <KATAKANA LETTER KE, KATAKANA VOICED ITERATION MARK>
-FF79 30FE ; [.319F.0020.0011.30B1][.319F.0020.0010.30B1][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA VOICED ITERATION MARK>
-3051 309E ; [.319F.0020.0011.3051][.319F.0020.0010.3051][.0000.014E.0002.3099] # <HIRAGANA LETTER KE, HIRAGANA VOICED ITERATION MARK>
-30B2 30FD ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319F.0020.0010.30B2] # <KATAKANA LETTER GE, KATAKANA ITERATION MARK>
-30B1 3099 30FD ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319F.0020.0010.30B2] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF79 FF9E 30FD ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319F.0020.0010.30B2] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3052 309D ; [.319F.0020.0011.3051][.0000.014E.0002.3099][.319F.0020.0010.3052] # <HIRAGANA LETTER GE, HIRAGANA ITERATION MARK>
-3051 3099 309D ; [.319F.0020.0011.3051][.0000.014E.0002.3099][.319F.0020.0010.3052] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B2 30FE ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319F.0020.0010.30B2][.0000.014E.0002.3099] # <KATAKANA LETTER GE, KATAKANA VOICED ITERATION MARK>
-30B1 3099 30FE ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319F.0020.0010.30B2][.0000.014E.0002.3099] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF79 FF9E 30FE ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319F.0020.0010.30B2][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3052 309E ; [.319F.0020.0011.3051][.0000.014E.0002.3099][.319F.0020.0010.3052][.0000.014E.0002.3099] # <HIRAGANA LETTER GE, HIRAGANA VOICED ITERATION MARK>
-3051 3099 309E ; [.319F.0020.0011.3051][.0000.014E.0002.3099][.319F.0020.0010.3052][.0000.014E.0002.3099] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B3 30FD ; [.31A0.0020.0011.30B3][.31A0.0020.0010.30B3] # <KATAKANA LETTER KO, KATAKANA ITERATION MARK>
-FF7A 30FD ; [.31A0.0020.0011.30B3][.31A0.0020.0010.30B3] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA ITERATION MARK>
-3053 309D ; [.31A0.0020.0011.3053][.31A0.0020.0010.3053] # <HIRAGANA LETTER KO, HIRAGANA ITERATION MARK>
-30B3 30FE ; [.31A0.0020.0011.30B3][.31A0.0020.0010.30B3][.0000.014E.0002.3099] # <KATAKANA LETTER KO, KATAKANA VOICED ITERATION MARK>
-FF7A 30FE ; [.31A0.0020.0011.30B3][.31A0.0020.0010.30B3][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA VOICED ITERATION MARK>
-3053 309E ; [.31A0.0020.0011.3053][.31A0.0020.0010.3053][.0000.014E.0002.3099] # <HIRAGANA LETTER KO, HIRAGANA VOICED ITERATION MARK>
-30B4 30FD ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.31A0.0020.0010.30B4] # <KATAKANA LETTER GO, KATAKANA ITERATION MARK>
-30B3 3099 30FD ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.31A0.0020.0010.30B4] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7A FF9E 30FD ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.31A0.0020.0010.30B4] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3054 309D ; [.31A0.0020.0011.3053][.0000.014E.0002.3099][.31A0.0020.0010.3054] # <HIRAGANA LETTER GO, HIRAGANA ITERATION MARK>
-3053 3099 309D ; [.31A0.0020.0011.3053][.0000.014E.0002.3099][.31A0.0020.0010.3054] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B4 30FE ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.31A0.0020.0010.30B4][.0000.014E.0002.3099] # <KATAKANA LETTER GO, KATAKANA VOICED ITERATION MARK>
-30B3 3099 30FE ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.31A0.0020.0010.30B4][.0000.014E.0002.3099] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7A FF9E 30FE ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.31A0.0020.0010.30B4][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3054 309E ; [.31A0.0020.0011.3053][.0000.014E.0002.3099][.31A0.0020.0010.3054][.0000.014E.0002.3099] # <HIRAGANA LETTER GO, HIRAGANA VOICED ITERATION MARK>
-3053 3099 309E ; [.31A0.0020.0011.3053][.0000.014E.0002.3099][.31A0.0020.0010.3054][.0000.014E.0002.3099] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B5 30FD ; [.31A1.0020.0011.30B5][.31A1.0020.0010.30B5] # <KATAKANA LETTER SA, KATAKANA ITERATION MARK>
-FF7B 30FD ; [.31A1.0020.0011.30B5][.31A1.0020.0010.30B5] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA ITERATION MARK>
-3055 309D ; [.31A1.0020.0011.3055][.31A1.0020.0010.3055] # <HIRAGANA LETTER SA, HIRAGANA ITERATION MARK>
-30B5 30FE ; [.31A1.0020.0011.30B5][.31A1.0020.0010.30B5][.0000.014E.0002.3099] # <KATAKANA LETTER SA, KATAKANA VOICED ITERATION MARK>
-FF7B 30FE ; [.31A1.0020.0011.30B5][.31A1.0020.0010.30B5][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA VOICED ITERATION MARK>
-3055 309E ; [.31A1.0020.0011.3055][.31A1.0020.0010.3055][.0000.014E.0002.3099] # <HIRAGANA LETTER SA, HIRAGANA VOICED ITERATION MARK>
-30B6 30FD ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.31A1.0020.0010.30B6] # <KATAKANA LETTER ZA, KATAKANA ITERATION MARK>
-30B5 3099 30FD ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.31A1.0020.0010.30B6] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7B FF9E 30FD ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.31A1.0020.0010.30B6] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3056 309D ; [.31A1.0020.0011.3055][.0000.014E.0002.3099][.31A1.0020.0010.3056] # <HIRAGANA LETTER ZA, HIRAGANA ITERATION MARK>
-3055 3099 309D ; [.31A1.0020.0011.3055][.0000.014E.0002.3099][.31A1.0020.0010.3056] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B6 30FE ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.31A1.0020.0010.30B6][.0000.014E.0002.3099] # <KATAKANA LETTER ZA, KATAKANA VOICED ITERATION MARK>
-30B5 3099 30FE ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.31A1.0020.0010.30B6][.0000.014E.0002.3099] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7B FF9E 30FE ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.31A1.0020.0010.30B6][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3056 309E ; [.31A1.0020.0011.3055][.0000.014E.0002.3099][.31A1.0020.0010.3056][.0000.014E.0002.3099] # <HIRAGANA LETTER ZA, HIRAGANA VOICED ITERATION MARK>
-3055 3099 309E ; [.31A1.0020.0011.3055][.0000.014E.0002.3099][.31A1.0020.0010.3056][.0000.014E.0002.3099] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B7 30FD ; [.31A2.0020.0011.30B7][.31A2.0020.0010.30B7] # <KATAKANA LETTER SI, KATAKANA ITERATION MARK>
-FF7C 30FD ; [.31A2.0020.0011.30B7][.31A2.0020.0010.30B7] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA ITERATION MARK>
-3057 309D ; [.31A2.0020.0011.3057][.31A2.0020.0010.3057] # <HIRAGANA LETTER SI, HIRAGANA ITERATION MARK>
-30B7 30FE ; [.31A2.0020.0011.30B7][.31A2.0020.0010.30B7][.0000.014E.0002.3099] # <KATAKANA LETTER SI, KATAKANA VOICED ITERATION MARK>
-FF7C 30FE ; [.31A2.0020.0011.30B7][.31A2.0020.0010.30B7][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA VOICED ITERATION MARK>
-3057 309E ; [.31A2.0020.0011.3057][.31A2.0020.0010.3057][.0000.014E.0002.3099] # <HIRAGANA LETTER SI, HIRAGANA VOICED ITERATION MARK>
-30B8 30FD ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.31A2.0020.0010.30B8] # <KATAKANA LETTER ZI, KATAKANA ITERATION MARK>
-30B7 3099 30FD ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.31A2.0020.0010.30B8] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7C FF9E 30FD ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.31A2.0020.0010.30B8] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3058 309D ; [.31A2.0020.0011.3057][.0000.014E.0002.3099][.31A2.0020.0010.3058] # <HIRAGANA LETTER ZI, HIRAGANA ITERATION MARK>
-3057 3099 309D ; [.31A2.0020.0011.3057][.0000.014E.0002.3099][.31A2.0020.0010.3058] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B8 30FE ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.31A2.0020.0010.30B8][.0000.014E.0002.3099] # <KATAKANA LETTER ZI, KATAKANA VOICED ITERATION MARK>
-30B7 3099 30FE ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.31A2.0020.0010.30B8][.0000.014E.0002.3099] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7C FF9E 30FE ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.31A2.0020.0010.30B8][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3058 309E ; [.31A2.0020.0011.3057][.0000.014E.0002.3099][.31A2.0020.0010.3058][.0000.014E.0002.3099] # <HIRAGANA LETTER ZI, HIRAGANA VOICED ITERATION MARK>
-3057 3099 309E ; [.31A2.0020.0011.3057][.0000.014E.0002.3099][.31A2.0020.0010.3058][.0000.014E.0002.3099] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B9 30FD ; [.31A3.0020.0011.30B9][.31A3.0020.0010.30B9] # <KATAKANA LETTER SU, KATAKANA ITERATION MARK>
-FF7D 30FD ; [.31A3.0020.0011.30B9][.31A3.0020.0010.30B9] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA ITERATION MARK>
-3059 309D ; [.31A3.0020.0011.3059][.31A3.0020.0010.3059] # <HIRAGANA LETTER SU, HIRAGANA ITERATION MARK>
-30B9 30FE ; [.31A3.0020.0011.30B9][.31A3.0020.0010.30B9][.0000.014E.0002.3099] # <KATAKANA LETTER SU, KATAKANA VOICED ITERATION MARK>
-FF7D 30FE ; [.31A3.0020.0011.30B9][.31A3.0020.0010.30B9][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA VOICED ITERATION MARK>
-3059 309E ; [.31A3.0020.0011.3059][.31A3.0020.0010.3059][.0000.014E.0002.3099] # <HIRAGANA LETTER SU, HIRAGANA VOICED ITERATION MARK>
-30BA 30FD ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.31A3.0020.0010.30BA] # <KATAKANA LETTER ZU, KATAKANA ITERATION MARK>
-30B9 3099 30FD ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.31A3.0020.0010.30BA] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7D FF9E 30FD ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.31A3.0020.0010.30BA] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-305A 309D ; [.31A3.0020.0011.3059][.0000.014E.0002.3099][.31A3.0020.0010.305A] # <HIRAGANA LETTER ZU, HIRAGANA ITERATION MARK>
-3059 3099 309D ; [.31A3.0020.0011.3059][.0000.014E.0002.3099][.31A3.0020.0010.305A] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30BA 30FE ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.31A3.0020.0010.30BA][.0000.014E.0002.3099] # <KATAKANA LETTER ZU, KATAKANA VOICED ITERATION MARK>
-30B9 3099 30FE ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.31A3.0020.0010.30BA][.0000.014E.0002.3099] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7D FF9E 30FE ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.31A3.0020.0010.30BA][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-305A 309E ; [.31A3.0020.0011.3059][.0000.014E.0002.3099][.31A3.0020.0010.305A][.0000.014E.0002.3099] # <HIRAGANA LETTER ZU, HIRAGANA VOICED ITERATION MARK>
-3059 3099 309E ; [.31A3.0020.0011.3059][.0000.014E.0002.3099][.31A3.0020.0010.305A][.0000.014E.0002.3099] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30BB 30FD ; [.31A4.0020.0011.30BB][.31A4.0020.0010.30BB] # <KATAKANA LETTER SE, KATAKANA ITERATION MARK>
-FF7E 30FD ; [.31A4.0020.0011.30BB][.31A4.0020.0010.30BB] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA ITERATION MARK>
-305B 309D ; [.31A4.0020.0011.305B][.31A4.0020.0010.305B] # <HIRAGANA LETTER SE, HIRAGANA ITERATION MARK>
-30BB 30FE ; [.31A4.0020.0011.30BB][.31A4.0020.0010.30BB][.0000.014E.0002.3099] # <KATAKANA LETTER SE, KATAKANA VOICED ITERATION MARK>
-FF7E 30FE ; [.31A4.0020.0011.30BB][.31A4.0020.0010.30BB][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA VOICED ITERATION MARK>
-305B 309E ; [.31A4.0020.0011.305B][.31A4.0020.0010.305B][.0000.014E.0002.3099] # <HIRAGANA LETTER SE, HIRAGANA VOICED ITERATION MARK>
-30BC 30FD ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.31A4.0020.0010.30BC] # <KATAKANA LETTER ZE, KATAKANA ITERATION MARK>
-30BB 3099 30FD ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.31A4.0020.0010.30BC] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7E FF9E 30FD ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.31A4.0020.0010.30BC] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-305C 309D ; [.31A4.0020.0011.305B][.0000.014E.0002.3099][.31A4.0020.0010.305C] # <HIRAGANA LETTER ZE, HIRAGANA ITERATION MARK>
-305B 3099 309D ; [.31A4.0020.0011.305B][.0000.014E.0002.3099][.31A4.0020.0010.305C] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30BC 30FE ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.31A4.0020.0010.30BC][.0000.014E.0002.3099] # <KATAKANA LETTER ZE, KATAKANA VOICED ITERATION MARK>
-30BB 3099 30FE ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.31A4.0020.0010.30BC][.0000.014E.0002.3099] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7E FF9E 30FE ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.31A4.0020.0010.30BC][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-305C 309E ; [.31A4.0020.0011.305B][.0000.014E.0002.3099][.31A4.0020.0010.305C][.0000.014E.0002.3099] # <HIRAGANA LETTER ZE, HIRAGANA VOICED ITERATION MARK>
-305B 3099 309E ; [.31A4.0020.0011.305B][.0000.014E.0002.3099][.31A4.0020.0010.305C][.0000.014E.0002.3099] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30BD 30FD ; [.31A5.0020.0011.30BD][.31A5.0020.0010.30BD] # <KATAKANA LETTER SO, KATAKANA ITERATION MARK>
-FF7F 30FD ; [.31A5.0020.0011.30BD][.31A5.0020.0010.30BD] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA ITERATION MARK>
-305D 309D ; [.31A5.0020.0011.305D][.31A5.0020.0010.305D] # <HIRAGANA LETTER SO, HIRAGANA ITERATION MARK>
-30BD 30FE ; [.31A5.0020.0011.30BD][.31A5.0020.0010.30BD][.0000.014E.0002.3099] # <KATAKANA LETTER SO, KATAKANA VOICED ITERATION MARK>
-FF7F 30FE ; [.31A5.0020.0011.30BD][.31A5.0020.0010.30BD][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA VOICED ITERATION MARK>
-305D 309E ; [.31A5.0020.0011.305D][.31A5.0020.0010.305D][.0000.014E.0002.3099] # <HIRAGANA LETTER SO, HIRAGANA VOICED ITERATION MARK>
-30BE 30FD ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.31A5.0020.0010.30BE] # <KATAKANA LETTER ZO, KATAKANA ITERATION MARK>
-30BD 3099 30FD ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.31A5.0020.0010.30BE] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7F FF9E 30FD ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.31A5.0020.0010.30BE] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-305E 309D ; [.31A5.0020.0011.305D][.0000.014E.0002.3099][.31A5.0020.0010.305E] # <HIRAGANA LETTER ZO, HIRAGANA ITERATION MARK>
-305D 3099 309D ; [.31A5.0020.0011.305D][.0000.014E.0002.3099][.31A5.0020.0010.305E] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30BE 30FE ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.31A5.0020.0010.30BE][.0000.014E.0002.3099] # <KATAKANA LETTER ZO, KATAKANA VOICED ITERATION MARK>
-30BD 3099 30FE ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.31A5.0020.0010.30BE][.0000.014E.0002.3099] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7F FF9E 30FE ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.31A5.0020.0010.30BE][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-305E 309E ; [.31A5.0020.0011.305D][.0000.014E.0002.3099][.31A5.0020.0010.305E][.0000.014E.0002.3099] # <HIRAGANA LETTER ZO, HIRAGANA VOICED ITERATION MARK>
-305D 3099 309E ; [.31A5.0020.0011.305D][.0000.014E.0002.3099][.31A5.0020.0010.305E][.0000.014E.0002.3099] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30BF 30FD ; [.31A6.0020.0011.30BF][.31A6.0020.0010.30BF] # <KATAKANA LETTER TA, KATAKANA ITERATION MARK>
-FF80 30FD ; [.31A6.0020.0011.30BF][.31A6.0020.0010.30BF] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA ITERATION MARK>
-305F 309D ; [.31A6.0020.0011.305F][.31A6.0020.0010.305F] # <HIRAGANA LETTER TA, HIRAGANA ITERATION MARK>
-30BF 30FE ; [.31A6.0020.0011.30BF][.31A6.0020.0010.30BF][.0000.014E.0002.3099] # <KATAKANA LETTER TA, KATAKANA VOICED ITERATION MARK>
-FF80 30FE ; [.31A6.0020.0011.30BF][.31A6.0020.0010.30BF][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA VOICED ITERATION MARK>
-305F 309E ; [.31A6.0020.0011.305F][.31A6.0020.0010.305F][.0000.014E.0002.3099] # <HIRAGANA LETTER TA, HIRAGANA VOICED ITERATION MARK>
-30C0 30FD ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.31A6.0020.0010.30C0] # <KATAKANA LETTER DA, KATAKANA ITERATION MARK>
-30BF 3099 30FD ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.31A6.0020.0010.30C0] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF80 FF9E 30FD ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.31A6.0020.0010.30C0] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3060 309D ; [.31A6.0020.0011.305F][.0000.014E.0002.3099][.31A6.0020.0010.3060] # <HIRAGANA LETTER DA, HIRAGANA ITERATION MARK>
-305F 3099 309D ; [.31A6.0020.0011.305F][.0000.014E.0002.3099][.31A6.0020.0010.3060] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C0 30FE ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.31A6.0020.0010.30C0][.0000.014E.0002.3099] # <KATAKANA LETTER DA, KATAKANA VOICED ITERATION MARK>
-30BF 3099 30FE ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.31A6.0020.0010.30C0][.0000.014E.0002.3099] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF80 FF9E 30FE ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.31A6.0020.0010.30C0][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3060 309E ; [.31A6.0020.0011.305F][.0000.014E.0002.3099][.31A6.0020.0010.3060][.0000.014E.0002.3099] # <HIRAGANA LETTER DA, HIRAGANA VOICED ITERATION MARK>
-305F 3099 309E ; [.31A6.0020.0011.305F][.0000.014E.0002.3099][.31A6.0020.0010.3060][.0000.014E.0002.3099] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30C1 30FD ; [.31A7.0020.0011.30C1][.31A7.0020.0010.30C1] # <KATAKANA LETTER TI, KATAKANA ITERATION MARK>
-FF81 30FD ; [.31A7.0020.0011.30C1][.31A7.0020.0010.30C1] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA ITERATION MARK>
-3061 309D ; [.31A7.0020.0011.3061][.31A7.0020.0010.3061] # <HIRAGANA LETTER TI, HIRAGANA ITERATION MARK>
-30C1 30FE ; [.31A7.0020.0011.30C1][.31A7.0020.0010.30C1][.0000.014E.0002.3099] # <KATAKANA LETTER TI, KATAKANA VOICED ITERATION MARK>
-FF81 30FE ; [.31A7.0020.0011.30C1][.31A7.0020.0010.30C1][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA VOICED ITERATION MARK>
-3061 309E ; [.31A7.0020.0011.3061][.31A7.0020.0010.3061][.0000.014E.0002.3099] # <HIRAGANA LETTER TI, HIRAGANA VOICED ITERATION MARK>
-30C2 30FD ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.31A7.0020.0010.30C2] # <KATAKANA LETTER DI, KATAKANA ITERATION MARK>
-30C1 3099 30FD ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.31A7.0020.0010.30C2] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF81 FF9E 30FD ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.31A7.0020.0010.30C2] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3062 309D ; [.31A7.0020.0011.3061][.0000.014E.0002.3099][.31A7.0020.0010.3062] # <HIRAGANA LETTER DI, HIRAGANA ITERATION MARK>
-3061 3099 309D ; [.31A7.0020.0011.3061][.0000.014E.0002.3099][.31A7.0020.0010.3062] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C2 30FE ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.31A7.0020.0010.30C2][.0000.014E.0002.3099] # <KATAKANA LETTER DI, KATAKANA VOICED ITERATION MARK>
-30C1 3099 30FE ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.31A7.0020.0010.30C2][.0000.014E.0002.3099] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF81 FF9E 30FE ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.31A7.0020.0010.30C2][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3062 309E ; [.31A7.0020.0011.3061][.0000.014E.0002.3099][.31A7.0020.0010.3062][.0000.014E.0002.3099] # <HIRAGANA LETTER DI, HIRAGANA VOICED ITERATION MARK>
-3061 3099 309E ; [.31A7.0020.0011.3061][.0000.014E.0002.3099][.31A7.0020.0010.3062][.0000.014E.0002.3099] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30C3 30FD ; [.31A8.0020.000F.30C3][.31A8.0020.0010.30C3] # <KATAKANA LETTER SMALL TU, KATAKANA ITERATION MARK>
-FF6F 30FD ; [.31A8.0020.000F.30C3][.31A8.0020.0010.30C3] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA ITERATION MARK>
-3063 309D ; [.31A8.0020.000F.3063][.31A8.0020.0010.3063] # <HIRAGANA LETTER SMALL TU, HIRAGANA ITERATION MARK>
-30C3 30FE ; [.31A8.0020.000F.30C3][.31A8.0020.0010.30C3][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL TU, KATAKANA VOICED ITERATION MARK>
-FF6F 30FE ; [.31A8.0020.000F.30C3][.31A8.0020.0010.30C3][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA VOICED ITERATION MARK>
-3063 309E ; [.31A8.0020.000F.3063][.31A8.0020.0010.3063][.0000.014E.0002.3099] # <HIRAGANA LETTER SMALL TU, HIRAGANA VOICED ITERATION MARK>
-30C4 30FD ; [.31A8.0020.0011.30C4][.31A8.0020.0010.30C4] # <KATAKANA LETTER TU, KATAKANA ITERATION MARK>
-FF82 30FD ; [.31A8.0020.0011.30C4][.31A8.0020.0010.30C4] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA ITERATION MARK>
-3064 309D ; [.31A8.0020.0011.3064][.31A8.0020.0010.3064] # <HIRAGANA LETTER TU, HIRAGANA ITERATION MARK>
-30C4 30FE ; [.31A8.0020.0011.30C4][.31A8.0020.0010.30C4][.0000.014E.0002.3099] # <KATAKANA LETTER TU, KATAKANA VOICED ITERATION MARK>
-FF82 30FE ; [.31A8.0020.0011.30C4][.31A8.0020.0010.30C4][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA VOICED ITERATION MARK>
-3064 309E ; [.31A8.0020.0011.3064][.31A8.0020.0010.3064][.0000.014E.0002.3099] # <HIRAGANA LETTER TU, HIRAGANA VOICED ITERATION MARK>
-30C5 30FD ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.31A8.0020.0010.30C5] # <KATAKANA LETTER DU, KATAKANA ITERATION MARK>
-30C4 3099 30FD ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.31A8.0020.0010.30C5] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF82 FF9E 30FD ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.31A8.0020.0010.30C5] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3065 309D ; [.31A8.0020.0011.3064][.0000.014E.0002.3099][.31A8.0020.0010.3065] # <HIRAGANA LETTER DU, HIRAGANA ITERATION MARK>
-3064 3099 309D ; [.31A8.0020.0011.3064][.0000.014E.0002.3099][.31A8.0020.0010.3065] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C5 30FE ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.31A8.0020.0010.30C5][.0000.014E.0002.3099] # <KATAKANA LETTER DU, KATAKANA VOICED ITERATION MARK>
-30C4 3099 30FE ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.31A8.0020.0010.30C5][.0000.014E.0002.3099] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF82 FF9E 30FE ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.31A8.0020.0010.30C5][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3065 309E ; [.31A8.0020.0011.3064][.0000.014E.0002.3099][.31A8.0020.0010.3065][.0000.014E.0002.3099] # <HIRAGANA LETTER DU, HIRAGANA VOICED ITERATION MARK>
-3064 3099 309E ; [.31A8.0020.0011.3064][.0000.014E.0002.3099][.31A8.0020.0010.3065][.0000.014E.0002.3099] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30C6 30FD ; [.31A9.0020.0011.30C6][.31A9.0020.0010.30C6] # <KATAKANA LETTER TE, KATAKANA ITERATION MARK>
-FF83 30FD ; [.31A9.0020.0011.30C6][.31A9.0020.0010.30C6] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA ITERATION MARK>
-3066 309D ; [.31A9.0020.0011.3066][.31A9.0020.0010.3066] # <HIRAGANA LETTER TE, HIRAGANA ITERATION MARK>
-30C6 30FE ; [.31A9.0020.0011.30C6][.31A9.0020.0010.30C6][.0000.014E.0002.3099] # <KATAKANA LETTER TE, KATAKANA VOICED ITERATION MARK>
-FF83 30FE ; [.31A9.0020.0011.30C6][.31A9.0020.0010.30C6][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA VOICED ITERATION MARK>
-3066 309E ; [.31A9.0020.0011.3066][.31A9.0020.0010.3066][.0000.014E.0002.3099] # <HIRAGANA LETTER TE, HIRAGANA VOICED ITERATION MARK>
-30C7 30FD ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.31A9.0020.0010.30C7] # <KATAKANA LETTER DE, KATAKANA ITERATION MARK>
-30C6 3099 30FD ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.31A9.0020.0010.30C7] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF83 FF9E 30FD ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.31A9.0020.0010.30C7] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3067 309D ; [.31A9.0020.0011.3066][.0000.014E.0002.3099][.31A9.0020.0010.3067] # <HIRAGANA LETTER DE, HIRAGANA ITERATION MARK>
-3066 3099 309D ; [.31A9.0020.0011.3066][.0000.014E.0002.3099][.31A9.0020.0010.3067] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C7 30FE ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.31A9.0020.0010.30C7][.0000.014E.0002.3099] # <KATAKANA LETTER DE, KATAKANA VOICED ITERATION MARK>
-30C6 3099 30FE ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.31A9.0020.0010.30C7][.0000.014E.0002.3099] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF83 FF9E 30FE ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.31A9.0020.0010.30C7][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3067 309E ; [.31A9.0020.0011.3066][.0000.014E.0002.3099][.31A9.0020.0010.3067][.0000.014E.0002.3099] # <HIRAGANA LETTER DE, HIRAGANA VOICED ITERATION MARK>
-3066 3099 309E ; [.31A9.0020.0011.3066][.0000.014E.0002.3099][.31A9.0020.0010.3067][.0000.014E.0002.3099] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30C8 30FD ; [.31AA.0020.0011.30C8][.31AA.0020.0010.30C8] # <KATAKANA LETTER TO, KATAKANA ITERATION MARK>
-FF84 30FD ; [.31AA.0020.0011.30C8][.31AA.0020.0010.30C8] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA ITERATION MARK>
-3068 309D ; [.31AA.0020.0011.3068][.31AA.0020.0010.3068] # <HIRAGANA LETTER TO, HIRAGANA ITERATION MARK>
-30C8 30FE ; [.31AA.0020.0011.30C8][.31AA.0020.0010.30C8][.0000.014E.0002.3099] # <KATAKANA LETTER TO, KATAKANA VOICED ITERATION MARK>
-FF84 30FE ; [.31AA.0020.0011.30C8][.31AA.0020.0010.30C8][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA VOICED ITERATION MARK>
-3068 309E ; [.31AA.0020.0011.3068][.31AA.0020.0010.3068][.0000.014E.0002.3099] # <HIRAGANA LETTER TO, HIRAGANA VOICED ITERATION MARK>
-30C9 30FD ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.31AA.0020.0010.30C9] # <KATAKANA LETTER DO, KATAKANA ITERATION MARK>
-30C8 3099 30FD ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.31AA.0020.0010.30C9] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF84 FF9E 30FD ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.31AA.0020.0010.30C9] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3069 309D ; [.31AA.0020.0011.3068][.0000.014E.0002.3099][.31AA.0020.0010.3069] # <HIRAGANA LETTER DO, HIRAGANA ITERATION MARK>
-3068 3099 309D ; [.31AA.0020.0011.3068][.0000.014E.0002.3099][.31AA.0020.0010.3069] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C9 30FE ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.31AA.0020.0010.30C9][.0000.014E.0002.3099] # <KATAKANA LETTER DO, KATAKANA VOICED ITERATION MARK>
-30C8 3099 30FE ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.31AA.0020.0010.30C9][.0000.014E.0002.3099] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF84 FF9E 30FE ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.31AA.0020.0010.30C9][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3069 309E ; [.31AA.0020.0011.3068][.0000.014E.0002.3099][.31AA.0020.0010.3069][.0000.014E.0002.3099] # <HIRAGANA LETTER DO, HIRAGANA VOICED ITERATION MARK>
-3068 3099 309E ; [.31AA.0020.0011.3068][.0000.014E.0002.3099][.31AA.0020.0010.3069][.0000.014E.0002.3099] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30CA 30FD ; [.31AB.0020.0011.30CA][.31AB.0020.0010.30CA] # <KATAKANA LETTER NA, KATAKANA ITERATION MARK>
-FF85 30FD ; [.31AB.0020.0011.30CA][.31AB.0020.0010.30CA] # <HALFWIDTH KATAKANA LETTER NA, KATAKANA ITERATION MARK>
-306A 309D ; [.31AB.0020.0011.306A][.31AB.0020.0010.306A] # <HIRAGANA LETTER NA, HIRAGANA ITERATION MARK>
-30CB 30FD ; [.31AC.0020.0011.30CB][.31AC.0020.0010.30CB] # <KATAKANA LETTER NI, KATAKANA ITERATION MARK>
-FF86 30FD ; [.31AC.0020.0011.30CB][.31AC.0020.0010.30CB] # <HALFWIDTH KATAKANA LETTER NI, KATAKANA ITERATION MARK>
-306B 309D ; [.31AC.0020.0011.306B][.31AC.0020.0010.306B] # <HIRAGANA LETTER NI, HIRAGANA ITERATION MARK>
-30CC 30FD ; [.31AD.0020.0011.30CC][.31AD.0020.0010.30CC] # <KATAKANA LETTER NU, KATAKANA ITERATION MARK>
-FF87 30FD ; [.31AD.0020.0011.30CC][.31AD.0020.0010.30CC] # <HALFWIDTH KATAKANA LETTER NU, KATAKANA ITERATION MARK>
-306C 309D ; [.31AD.0020.0011.306C][.31AD.0020.0010.306C] # <HIRAGANA LETTER NU, HIRAGANA ITERATION MARK>
-30CD 30FD ; [.31AE.0020.0011.30CD][.31AE.0020.0010.30CD] # <KATAKANA LETTER NE, KATAKANA ITERATION MARK>
-FF88 30FD ; [.31AE.0020.0011.30CD][.31AE.0020.0010.30CD] # <HALFWIDTH KATAKANA LETTER NE, KATAKANA ITERATION MARK>
-306D 309D ; [.31AE.0020.0011.306D][.31AE.0020.0010.306D] # <HIRAGANA LETTER NE, HIRAGANA ITERATION MARK>
-30CE 30FD ; [.31AF.0020.0011.30CE][.31AF.0020.0010.30CE] # <KATAKANA LETTER NO, KATAKANA ITERATION MARK>
-FF89 30FD ; [.31AF.0020.0011.30CE][.31AF.0020.0010.30CE] # <HALFWIDTH KATAKANA LETTER NO, KATAKANA ITERATION MARK>
-306E 309D ; [.31AF.0020.0011.306E][.31AF.0020.0010.306E] # <HIRAGANA LETTER NO, HIRAGANA ITERATION MARK>
-30CF 30FD ; [.31B0.0020.0011.30CF][.31B0.0020.0010.30CF] # <KATAKANA LETTER HA, KATAKANA ITERATION MARK>
-FF8A 30FD ; [.31B0.0020.0011.30CF][.31B0.0020.0010.30CF] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA ITERATION MARK>
-306F 309D ; [.31B0.0020.0011.306F][.31B0.0020.0010.306F] # <HIRAGANA LETTER HA, HIRAGANA ITERATION MARK>
-30CF 30FE ; [.31B0.0020.0011.30CF][.31B0.0020.0010.30CF][.0000.014E.0002.3099] # <KATAKANA LETTER HA, KATAKANA VOICED ITERATION MARK>
-FF8A 30FE ; [.31B0.0020.0011.30CF][.31B0.0020.0010.30CF][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA VOICED ITERATION MARK>
-306F 309E ; [.31B0.0020.0011.306F][.31B0.0020.0010.306F][.0000.014E.0002.3099] # <HIRAGANA LETTER HA, HIRAGANA VOICED ITERATION MARK>
-30D0 30FD ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.31B0.0020.0010.30D0] # <KATAKANA LETTER BA, KATAKANA ITERATION MARK>
-30CF 3099 30FD ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.31B0.0020.0010.30D0] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8A FF9E 30FD ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.31B0.0020.0010.30D0] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3070 309D ; [.31B0.0020.0011.306F][.0000.014E.0002.3099][.31B0.0020.0010.3070] # <HIRAGANA LETTER BA, HIRAGANA ITERATION MARK>
-306F 3099 309D ; [.31B0.0020.0011.306F][.0000.014E.0002.3099][.31B0.0020.0010.3070] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D0 30FE ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.31B0.0020.0010.30D0][.0000.014E.0002.3099] # <KATAKANA LETTER BA, KATAKANA VOICED ITERATION MARK>
-30CF 3099 30FE ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.31B0.0020.0010.30D0][.0000.014E.0002.3099] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8A FF9E 30FE ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.31B0.0020.0010.30D0][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3070 309E ; [.31B0.0020.0011.306F][.0000.014E.0002.3099][.31B0.0020.0010.3070][.0000.014E.0002.3099] # <HIRAGANA LETTER BA, HIRAGANA VOICED ITERATION MARK>
-306F 3099 309E ; [.31B0.0020.0011.306F][.0000.014E.0002.3099][.31B0.0020.0010.3070][.0000.014E.0002.3099] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D1 30FD ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.31B0.0020.0010.30D1] # <KATAKANA LETTER PA, KATAKANA ITERATION MARK>
-30CF 309A 30FD ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.31B0.0020.0010.30D1] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8A FF9F 30FD ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.31B0.0020.0010.30D1] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3071 309D ; [.31B0.0020.0011.306F][.0000.014F.0002.309A][.31B0.0020.0010.3071] # <HIRAGANA LETTER PA, HIRAGANA ITERATION MARK>
-306F 309A 309D ; [.31B0.0020.0011.306F][.0000.014F.0002.309A][.31B0.0020.0010.3071] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D1 30FE ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.31B0.0020.0010.30D1][.0000.014E.0002.3099] # <KATAKANA LETTER PA, KATAKANA VOICED ITERATION MARK>
-30CF 309A 30FE ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.31B0.0020.0010.30D1][.0000.014E.0002.3099] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8A FF9F 30FE ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.31B0.0020.0010.30D1][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3071 309E ; [.31B0.0020.0011.306F][.0000.014F.0002.309A][.31B0.0020.0010.3071][.0000.014E.0002.3099] # <HIRAGANA LETTER PA, HIRAGANA VOICED ITERATION MARK>
-306F 309A 309E ; [.31B0.0020.0011.306F][.0000.014F.0002.309A][.31B0.0020.0010.3071][.0000.014E.0002.3099] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D2 30FD ; [.31B1.0020.0011.30D2][.31B1.0020.0010.30D2] # <KATAKANA LETTER HI, KATAKANA ITERATION MARK>
-FF8B 30FD ; [.31B1.0020.0011.30D2][.31B1.0020.0010.30D2] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA ITERATION MARK>
-3072 309D ; [.31B1.0020.0011.3072][.31B1.0020.0010.3072] # <HIRAGANA LETTER HI, HIRAGANA ITERATION MARK>
-30D2 30FE ; [.31B1.0020.0011.30D2][.31B1.0020.0010.30D2][.0000.014E.0002.3099] # <KATAKANA LETTER HI, KATAKANA VOICED ITERATION MARK>
-FF8B 30FE ; [.31B1.0020.0011.30D2][.31B1.0020.0010.30D2][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA VOICED ITERATION MARK>
-3072 309E ; [.31B1.0020.0011.3072][.31B1.0020.0010.3072][.0000.014E.0002.3099] # <HIRAGANA LETTER HI, HIRAGANA VOICED ITERATION MARK>
-30D3 30FD ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.31B1.0020.0010.30D3] # <KATAKANA LETTER BI, KATAKANA ITERATION MARK>
-30D2 3099 30FD ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.31B1.0020.0010.30D3] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8B FF9E 30FD ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.31B1.0020.0010.30D3] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3073 309D ; [.31B1.0020.0011.3072][.0000.014E.0002.3099][.31B1.0020.0010.3073] # <HIRAGANA LETTER BI, HIRAGANA ITERATION MARK>
-3072 3099 309D ; [.31B1.0020.0011.3072][.0000.014E.0002.3099][.31B1.0020.0010.3073] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D3 30FE ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.31B1.0020.0010.30D3][.0000.014E.0002.3099] # <KATAKANA LETTER BI, KATAKANA VOICED ITERATION MARK>
-30D2 3099 30FE ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.31B1.0020.0010.30D3][.0000.014E.0002.3099] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8B FF9E 30FE ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.31B1.0020.0010.30D3][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3073 309E ; [.31B1.0020.0011.3072][.0000.014E.0002.3099][.31B1.0020.0010.3073][.0000.014E.0002.3099] # <HIRAGANA LETTER BI, HIRAGANA VOICED ITERATION MARK>
-3072 3099 309E ; [.31B1.0020.0011.3072][.0000.014E.0002.3099][.31B1.0020.0010.3073][.0000.014E.0002.3099] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D4 30FD ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.31B1.0020.0010.30D4] # <KATAKANA LETTER PI, KATAKANA ITERATION MARK>
-30D2 309A 30FD ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.31B1.0020.0010.30D4] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8B FF9F 30FD ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.31B1.0020.0010.30D4] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3074 309D ; [.31B1.0020.0011.3072][.0000.014F.0002.309A][.31B1.0020.0010.3074] # <HIRAGANA LETTER PI, HIRAGANA ITERATION MARK>
-3072 309A 309D ; [.31B1.0020.0011.3072][.0000.014F.0002.309A][.31B1.0020.0010.3074] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D4 30FE ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.31B1.0020.0010.30D4][.0000.014E.0002.3099] # <KATAKANA LETTER PI, KATAKANA VOICED ITERATION MARK>
-30D2 309A 30FE ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.31B1.0020.0010.30D4][.0000.014E.0002.3099] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8B FF9F 30FE ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.31B1.0020.0010.30D4][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3074 309E ; [.31B1.0020.0011.3072][.0000.014F.0002.309A][.31B1.0020.0010.3074][.0000.014E.0002.3099] # <HIRAGANA LETTER PI, HIRAGANA VOICED ITERATION MARK>
-3072 309A 309E ; [.31B1.0020.0011.3072][.0000.014F.0002.309A][.31B1.0020.0010.3074][.0000.014E.0002.3099] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D5 30FD ; [.31B2.0020.0011.30D5][.31B2.0020.0010.30D5] # <KATAKANA LETTER HU, KATAKANA ITERATION MARK>
-FF8C 30FD ; [.31B2.0020.0011.30D5][.31B2.0020.0010.30D5] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA ITERATION MARK>
-3075 309D ; [.31B2.0020.0011.3075][.31B2.0020.0010.3075] # <HIRAGANA LETTER HU, HIRAGANA ITERATION MARK>
-30D5 30FE ; [.31B2.0020.0011.30D5][.31B2.0020.0010.30D5][.0000.014E.0002.3099] # <KATAKANA LETTER HU, KATAKANA VOICED ITERATION MARK>
-FF8C 30FE ; [.31B2.0020.0011.30D5][.31B2.0020.0010.30D5][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA VOICED ITERATION MARK>
-3075 309E ; [.31B2.0020.0011.3075][.31B2.0020.0010.3075][.0000.014E.0002.3099] # <HIRAGANA LETTER HU, HIRAGANA VOICED ITERATION MARK>
-30D6 30FD ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.31B2.0020.0010.30D6] # <KATAKANA LETTER BU, KATAKANA ITERATION MARK>
-30D5 3099 30FD ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.31B2.0020.0010.30D6] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8C FF9E 30FD ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.31B2.0020.0010.30D6] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3076 309D ; [.31B2.0020.0011.3075][.0000.014E.0002.3099][.31B2.0020.0010.3076] # <HIRAGANA LETTER BU, HIRAGANA ITERATION MARK>
-3075 3099 309D ; [.31B2.0020.0011.3075][.0000.014E.0002.3099][.31B2.0020.0010.3076] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D6 30FE ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.31B2.0020.0010.30D6][.0000.014E.0002.3099] # <KATAKANA LETTER BU, KATAKANA VOICED ITERATION MARK>
-30D5 3099 30FE ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.31B2.0020.0010.30D6][.0000.014E.0002.3099] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8C FF9E 30FE ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.31B2.0020.0010.30D6][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3076 309E ; [.31B2.0020.0011.3075][.0000.014E.0002.3099][.31B2.0020.0010.3076][.0000.014E.0002.3099] # <HIRAGANA LETTER BU, HIRAGANA VOICED ITERATION MARK>
-3075 3099 309E ; [.31B2.0020.0011.3075][.0000.014E.0002.3099][.31B2.0020.0010.3076][.0000.014E.0002.3099] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D7 30FD ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.31B2.0020.0010.30D7] # <KATAKANA LETTER PU, KATAKANA ITERATION MARK>
-30D5 309A 30FD ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.31B2.0020.0010.30D7] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8C FF9F 30FD ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.31B2.0020.0010.30D7] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3077 309D ; [.31B2.0020.0011.3075][.0000.014F.0002.309A][.31B2.0020.0010.3077] # <HIRAGANA LETTER PU, HIRAGANA ITERATION MARK>
-3075 309A 309D ; [.31B2.0020.0011.3075][.0000.014F.0002.309A][.31B2.0020.0010.3077] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D7 30FE ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.31B2.0020.0010.30D7][.0000.014E.0002.3099] # <KATAKANA LETTER PU, KATAKANA VOICED ITERATION MARK>
-30D5 309A 30FE ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.31B2.0020.0010.30D7][.0000.014E.0002.3099] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8C FF9F 30FE ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.31B2.0020.0010.30D7][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3077 309E ; [.31B2.0020.0011.3075][.0000.014F.0002.309A][.31B2.0020.0010.3077][.0000.014E.0002.3099] # <HIRAGANA LETTER PU, HIRAGANA VOICED ITERATION MARK>
-3075 309A 309E ; [.31B2.0020.0011.3075][.0000.014F.0002.309A][.31B2.0020.0010.3077][.0000.014E.0002.3099] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D8 30FD ; [.31B3.0020.0011.30D8][.31B3.0020.0010.30D8] # <KATAKANA LETTER HE, KATAKANA ITERATION MARK>
-FF8D 30FD ; [.31B3.0020.0011.30D8][.31B3.0020.0010.30D8] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA ITERATION MARK>
-3078 309D ; [.31B3.0020.0011.3078][.31B3.0020.0010.3078] # <HIRAGANA LETTER HE, HIRAGANA ITERATION MARK>
-30D8 30FE ; [.31B3.0020.0011.30D8][.31B3.0020.0010.30D8][.0000.014E.0002.3099] # <KATAKANA LETTER HE, KATAKANA VOICED ITERATION MARK>
-FF8D 30FE ; [.31B3.0020.0011.30D8][.31B3.0020.0010.30D8][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA VOICED ITERATION MARK>
-3078 309E ; [.31B3.0020.0011.3078][.31B3.0020.0010.3078][.0000.014E.0002.3099] # <HIRAGANA LETTER HE, HIRAGANA VOICED ITERATION MARK>
-30D9 30FD ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.31B3.0020.0010.30D9] # <KATAKANA LETTER BE, KATAKANA ITERATION MARK>
-30D8 3099 30FD ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.31B3.0020.0010.30D9] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8D FF9E 30FD ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.31B3.0020.0010.30D9] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3079 309D ; [.31B3.0020.0011.3078][.0000.014E.0002.3099][.31B3.0020.0010.3079] # <HIRAGANA LETTER BE, HIRAGANA ITERATION MARK>
-3078 3099 309D ; [.31B3.0020.0011.3078][.0000.014E.0002.3099][.31B3.0020.0010.3079] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D9 30FE ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.31B3.0020.0010.30D9][.0000.014E.0002.3099] # <KATAKANA LETTER BE, KATAKANA VOICED ITERATION MARK>
-30D8 3099 30FE ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.31B3.0020.0010.30D9][.0000.014E.0002.3099] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8D FF9E 30FE ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.31B3.0020.0010.30D9][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3079 309E ; [.31B3.0020.0011.3078][.0000.014E.0002.3099][.31B3.0020.0010.3079][.0000.014E.0002.3099] # <HIRAGANA LETTER BE, HIRAGANA VOICED ITERATION MARK>
-3078 3099 309E ; [.31B3.0020.0011.3078][.0000.014E.0002.3099][.31B3.0020.0010.3079][.0000.014E.0002.3099] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30DA 30FD ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.31B3.0020.0010.30DA] # <KATAKANA LETTER PE, KATAKANA ITERATION MARK>
-30D8 309A 30FD ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.31B3.0020.0010.30DA] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8D FF9F 30FD ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.31B3.0020.0010.30DA] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-307A 309D ; [.31B3.0020.0011.3078][.0000.014F.0002.309A][.31B3.0020.0010.307A] # <HIRAGANA LETTER PE, HIRAGANA ITERATION MARK>
-3078 309A 309D ; [.31B3.0020.0011.3078][.0000.014F.0002.309A][.31B3.0020.0010.307A] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30DA 30FE ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.31B3.0020.0010.30DA][.0000.014E.0002.3099] # <KATAKANA LETTER PE, KATAKANA VOICED ITERATION MARK>
-30D8 309A 30FE ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.31B3.0020.0010.30DA][.0000.014E.0002.3099] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8D FF9F 30FE ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.31B3.0020.0010.30DA][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-307A 309E ; [.31B3.0020.0011.3078][.0000.014F.0002.309A][.31B3.0020.0010.307A][.0000.014E.0002.3099] # <HIRAGANA LETTER PE, HIRAGANA VOICED ITERATION MARK>
-3078 309A 309E ; [.31B3.0020.0011.3078][.0000.014F.0002.309A][.31B3.0020.0010.307A][.0000.014E.0002.3099] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30DB 30FD ; [.31B4.0020.0011.30DB][.31B4.0020.0010.30DB] # <KATAKANA LETTER HO, KATAKANA ITERATION MARK>
-FF8E 30FD ; [.31B4.0020.0011.30DB][.31B4.0020.0010.30DB] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA ITERATION MARK>
-307B 309D ; [.31B4.0020.0011.307B][.31B4.0020.0010.307B] # <HIRAGANA LETTER HO, HIRAGANA ITERATION MARK>
-30DB 30FE ; [.31B4.0020.0011.30DB][.31B4.0020.0010.30DB][.0000.014E.0002.3099] # <KATAKANA LETTER HO, KATAKANA VOICED ITERATION MARK>
-FF8E 30FE ; [.31B4.0020.0011.30DB][.31B4.0020.0010.30DB][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA VOICED ITERATION MARK>
-307B 309E ; [.31B4.0020.0011.307B][.31B4.0020.0010.307B][.0000.014E.0002.3099] # <HIRAGANA LETTER HO, HIRAGANA VOICED ITERATION MARK>
-30DC 30FD ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.31B4.0020.0010.30DC] # <KATAKANA LETTER BO, KATAKANA ITERATION MARK>
-30DB 3099 30FD ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.31B4.0020.0010.30DC] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8E FF9E 30FD ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.31B4.0020.0010.30DC] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-307C 309D ; [.31B4.0020.0011.307B][.0000.014E.0002.3099][.31B4.0020.0010.307C] # <HIRAGANA LETTER BO, HIRAGANA ITERATION MARK>
-307B 3099 309D ; [.31B4.0020.0011.307B][.0000.014E.0002.3099][.31B4.0020.0010.307C] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30DC 30FE ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.31B4.0020.0010.30DC][.0000.014E.0002.3099] # <KATAKANA LETTER BO, KATAKANA VOICED ITERATION MARK>
-30DB 3099 30FE ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.31B4.0020.0010.30DC][.0000.014E.0002.3099] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8E FF9E 30FE ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.31B4.0020.0010.30DC][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-307C 309E ; [.31B4.0020.0011.307B][.0000.014E.0002.3099][.31B4.0020.0010.307C][.0000.014E.0002.3099] # <HIRAGANA LETTER BO, HIRAGANA VOICED ITERATION MARK>
-307B 3099 309E ; [.31B4.0020.0011.307B][.0000.014E.0002.3099][.31B4.0020.0010.307C][.0000.014E.0002.3099] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30DD 30FD ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.31B4.0020.0010.30DD] # <KATAKANA LETTER PO, KATAKANA ITERATION MARK>
-30DB 309A 30FD ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.31B4.0020.0010.30DD] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8E FF9F 30FD ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.31B4.0020.0010.30DD] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-307D 309D ; [.31B4.0020.0011.307B][.0000.014F.0002.309A][.31B4.0020.0010.307D] # <HIRAGANA LETTER PO, HIRAGANA ITERATION MARK>
-307B 309A 309D ; [.31B4.0020.0011.307B][.0000.014F.0002.309A][.31B4.0020.0010.307D] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30DD 30FE ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.31B4.0020.0010.30DD][.0000.014E.0002.3099] # <KATAKANA LETTER PO, KATAKANA VOICED ITERATION MARK>
-30DB 309A 30FE ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.31B4.0020.0010.30DD][.0000.014E.0002.3099] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8E FF9F 30FE ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.31B4.0020.0010.30DD][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-307D 309E ; [.31B4.0020.0011.307B][.0000.014F.0002.309A][.31B4.0020.0010.307D][.0000.014E.0002.3099] # <HIRAGANA LETTER PO, HIRAGANA VOICED ITERATION MARK>
-307B 309A 309E ; [.31B4.0020.0011.307B][.0000.014F.0002.309A][.31B4.0020.0010.307D][.0000.014E.0002.3099] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30DE 30FD ; [.31B5.0020.0011.30DE][.31B5.0020.0010.30DE] # <KATAKANA LETTER MA, KATAKANA ITERATION MARK>
-FF8F 30FD ; [.31B5.0020.0011.30DE][.31B5.0020.0010.30DE] # <HALFWIDTH KATAKANA LETTER MA, KATAKANA ITERATION MARK>
-307E 309D ; [.31B5.0020.0011.307E][.31B5.0020.0010.307E] # <HIRAGANA LETTER MA, HIRAGANA ITERATION MARK>
-30DF 30FD ; [.31B6.0020.0011.30DF][.31B6.0020.0010.30DF] # <KATAKANA LETTER MI, KATAKANA ITERATION MARK>
-FF90 30FD ; [.31B6.0020.0011.30DF][.31B6.0020.0010.30DF] # <HALFWIDTH KATAKANA LETTER MI, KATAKANA ITERATION MARK>
-307F 309D ; [.31B6.0020.0011.307F][.31B6.0020.0010.307F] # <HIRAGANA LETTER MI, HIRAGANA ITERATION MARK>
-30E0 30FD ; [.31B7.0020.0011.30E0][.31B7.0020.0010.30E0] # <KATAKANA LETTER MU, KATAKANA ITERATION MARK>
-FF91 30FD ; [.31B7.0020.0011.30E0][.31B7.0020.0010.30E0] # <HALFWIDTH KATAKANA LETTER MU, KATAKANA ITERATION MARK>
-3080 309D ; [.31B7.0020.0011.3080][.31B7.0020.0010.3080] # <HIRAGANA LETTER MU, HIRAGANA ITERATION MARK>
-30E1 30FD ; [.31B8.0020.0011.30E1][.31B8.0020.0010.30E1] # <KATAKANA LETTER ME, KATAKANA ITERATION MARK>
-FF92 30FD ; [.31B8.0020.0011.30E1][.31B8.0020.0010.30E1] # <HALFWIDTH KATAKANA LETTER ME, KATAKANA ITERATION MARK>
-3081 309D ; [.31B8.0020.0011.3081][.31B8.0020.0010.3081] # <HIRAGANA LETTER ME, HIRAGANA ITERATION MARK>
-30E2 30FD ; [.31B9.0020.0011.30E2][.31B9.0020.0010.30E2] # <KATAKANA LETTER MO, KATAKANA ITERATION MARK>
-FF93 30FD ; [.31B9.0020.0011.30E2][.31B9.0020.0010.30E2] # <HALFWIDTH KATAKANA LETTER MO, KATAKANA ITERATION MARK>
-3082 309D ; [.31B9.0020.0011.3082][.31B9.0020.0010.3082] # <HIRAGANA LETTER MO, HIRAGANA ITERATION MARK>
-30E3 30FD ; [.31BA.0020.000F.30E3][.31BA.0020.0010.30E3] # <KATAKANA LETTER SMALL YA, KATAKANA ITERATION MARK>
-FF6C 30FD ; [.31BA.0020.000F.30E3][.31BA.0020.0010.30E3] # <HALFWIDTH KATAKANA LETTER SMALL YA, KATAKANA ITERATION MARK>
-3083 309D ; [.31BA.0020.000F.3083][.31BA.0020.0010.3083] # <HIRAGANA LETTER SMALL YA, HIRAGANA ITERATION MARK>
-30E4 30FD ; [.31BA.0020.0011.30E4][.31BA.0020.0010.30E4] # <KATAKANA LETTER YA, KATAKANA ITERATION MARK>
-FF94 30FD ; [.31BA.0020.0011.30E4][.31BA.0020.0010.30E4] # <HALFWIDTH KATAKANA LETTER YA, KATAKANA ITERATION MARK>
-3084 309D ; [.31BA.0020.0011.3084][.31BA.0020.0010.3084] # <HIRAGANA LETTER YA, HIRAGANA ITERATION MARK>
-30E5 30FD ; [.31BB.0020.000F.30E5][.31BB.0020.0010.30E5] # <KATAKANA LETTER SMALL YU, KATAKANA ITERATION MARK>
-FF6D 30FD ; [.31BB.0020.000F.30E5][.31BB.0020.0010.30E5] # <HALFWIDTH KATAKANA LETTER SMALL YU, KATAKANA ITERATION MARK>
-3085 309D ; [.31BB.0020.000F.3085][.31BB.0020.0010.3085] # <HIRAGANA LETTER SMALL YU, HIRAGANA ITERATION MARK>
-30E6 30FD ; [.31BB.0020.0011.30E6][.31BB.0020.0010.30E6] # <KATAKANA LETTER YU, KATAKANA ITERATION MARK>
-FF95 30FD ; [.31BB.0020.0011.30E6][.31BB.0020.0010.30E6] # <HALFWIDTH KATAKANA LETTER YU, KATAKANA ITERATION MARK>
-3086 309D ; [.31BB.0020.0011.3086][.31BB.0020.0010.3086] # <HIRAGANA LETTER YU, HIRAGANA ITERATION MARK>
-30E7 30FD ; [.31BD.0020.000F.30E7][.31BD.0020.0010.30E7] # <KATAKANA LETTER SMALL YO, KATAKANA ITERATION MARK>
-FF6E 30FD ; [.31BD.0020.000F.30E7][.31BD.0020.0010.30E7] # <HALFWIDTH KATAKANA LETTER SMALL YO, KATAKANA ITERATION MARK>
-3087 309D ; [.31BD.0020.000F.3087][.31BD.0020.0010.3087] # <HIRAGANA LETTER SMALL YO, HIRAGANA ITERATION MARK>
-30E8 30FD ; [.31BD.0020.0011.30E8][.31BD.0020.0010.30E8] # <KATAKANA LETTER YO, KATAKANA ITERATION MARK>
-FF96 30FD ; [.31BD.0020.0011.30E8][.31BD.0020.0010.30E8] # <HALFWIDTH KATAKANA LETTER YO, KATAKANA ITERATION MARK>
-3088 309D ; [.31BD.0020.0011.3088][.31BD.0020.0010.3088] # <HIRAGANA LETTER YO, HIRAGANA ITERATION MARK>
-30E9 30FD ; [.31BE.0020.0011.30E9][.31BE.0020.0010.30E9] # <KATAKANA LETTER RA, KATAKANA ITERATION MARK>
-FF97 30FD ; [.31BE.0020.0011.30E9][.31BE.0020.0010.30E9] # <HALFWIDTH KATAKANA LETTER RA, KATAKANA ITERATION MARK>
-3089 309D ; [.31BE.0020.0011.3089][.31BE.0020.0010.3089] # <HIRAGANA LETTER RA, HIRAGANA ITERATION MARK>
-30EA 30FD ; [.31BF.0020.0011.30EA][.31BF.0020.0010.30EA] # <KATAKANA LETTER RI, KATAKANA ITERATION MARK>
-FF98 30FD ; [.31BF.0020.0011.30EA][.31BF.0020.0010.30EA] # <HALFWIDTH KATAKANA LETTER RI, KATAKANA ITERATION MARK>
-308A 309D ; [.31BF.0020.0011.308A][.31BF.0020.0010.308A] # <HIRAGANA LETTER RI, HIRAGANA ITERATION MARK>
-30EB 30FD ; [.31C0.0020.0011.30EB][.31C0.0020.0010.30EB] # <KATAKANA LETTER RU, KATAKANA ITERATION MARK>
-FF99 30FD ; [.31C0.0020.0011.30EB][.31C0.0020.0010.30EB] # <HALFWIDTH KATAKANA LETTER RU, KATAKANA ITERATION MARK>
-308B 309D ; [.31C0.0020.0011.308B][.31C0.0020.0010.308B] # <HIRAGANA LETTER RU, HIRAGANA ITERATION MARK>
-30EC 30FD ; [.31C1.0020.0011.30EC][.31C1.0020.0010.30EC] # <KATAKANA LETTER RE, KATAKANA ITERATION MARK>
-FF9A 30FD ; [.31C1.0020.0011.30EC][.31C1.0020.0010.30EC] # <HALFWIDTH KATAKANA LETTER RE, KATAKANA ITERATION MARK>
-308C 309D ; [.31C1.0020.0011.308C][.31C1.0020.0010.308C] # <HIRAGANA LETTER RE, HIRAGANA ITERATION MARK>
-30ED 30FD ; [.31C2.0020.0011.30ED][.31C2.0020.0010.30ED] # <KATAKANA LETTER RO, KATAKANA ITERATION MARK>
-FF9B 30FD ; [.31C2.0020.0011.30ED][.31C2.0020.0010.30ED] # <HALFWIDTH KATAKANA LETTER RO, KATAKANA ITERATION MARK>
-308D 309D ; [.31C2.0020.0011.308D][.31C2.0020.0010.308D] # <HIRAGANA LETTER RO, HIRAGANA ITERATION MARK>
-30EE 30FD ; [.31C3.0020.000F.30EE][.31C3.0020.0010.30EE] # <KATAKANA LETTER SMALL WA, KATAKANA ITERATION MARK>
-308E 309D ; [.31C3.0020.000F.308E][.31C3.0020.0010.308E] # <HIRAGANA LETTER SMALL WA, HIRAGANA ITERATION MARK>
-30EE 30FE ; [.31C3.0020.000F.30EE][.31C3.0020.0010.30EE][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL WA, KATAKANA VOICED ITERATION MARK>
-308E 309E ; [.31C3.0020.000F.308E][.31C3.0020.0010.308E][.0000.014E.0002.3099] # <HIRAGANA LETTER SMALL WA, HIRAGANA VOICED ITERATION MARK>
-30EF 30FD ; [.31C3.0020.0011.30EF][.31C3.0020.0010.30EF] # <KATAKANA LETTER WA, KATAKANA ITERATION MARK>
-FF9C 30FD ; [.31C3.0020.0011.30EF][.31C3.0020.0010.30EF] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA ITERATION MARK>
-308F 309D ; [.31C3.0020.0011.308F][.31C3.0020.0010.308F] # <HIRAGANA LETTER WA, HIRAGANA ITERATION MARK>
-30EF 30FE ; [.31C3.0020.0011.30EF][.31C3.0020.0010.30EF][.0000.014E.0002.3099] # <KATAKANA LETTER WA, KATAKANA VOICED ITERATION MARK>
-FF9C 30FE ; [.31C3.0020.0011.30EF][.31C3.0020.0010.30EF][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA VOICED ITERATION MARK>
-308F 309E ; [.31C3.0020.0011.308F][.31C3.0020.0010.308F][.0000.014E.0002.3099] # <HIRAGANA LETTER WA, HIRAGANA VOICED ITERATION MARK>
-30F0 30FD ; [.31C4.0020.0011.30F0][.31C4.0020.0010.30F0] # <KATAKANA LETTER WI, KATAKANA ITERATION MARK>
-3090 309D ; [.31C4.0020.0011.3090][.31C4.0020.0010.3090] # <HIRAGANA LETTER WI, HIRAGANA ITERATION MARK>
-30F0 30FE ; [.31C4.0020.0011.30F0][.31C4.0020.0010.30F0][.0000.014E.0002.3099] # <KATAKANA LETTER WI, KATAKANA VOICED ITERATION MARK>
-3090 309E ; [.31C4.0020.0011.3090][.31C4.0020.0010.3090][.0000.014E.0002.3099] # <HIRAGANA LETTER WI, HIRAGANA VOICED ITERATION MARK>
-30F1 30FD ; [.31C5.0020.0011.30F1][.31C5.0020.0010.30F1] # <KATAKANA LETTER WE, KATAKANA ITERATION MARK>
-3091 309D ; [.31C5.0020.0011.3091][.31C5.0020.0010.3091] # <HIRAGANA LETTER WE, HIRAGANA ITERATION MARK>
-30F1 30FE ; [.31C5.0020.0011.30F1][.31C5.0020.0010.30F1][.0000.014E.0002.3099] # <KATAKANA LETTER WE, KATAKANA VOICED ITERATION MARK>
-3091 309E ; [.31C5.0020.0011.3091][.31C5.0020.0010.3091][.0000.014E.0002.3099] # <HIRAGANA LETTER WE, HIRAGANA VOICED ITERATION MARK>
-30F2 30FD ; [.31C6.0020.0011.30F2][.31C6.0020.0010.30F2] # <KATAKANA LETTER WO, KATAKANA ITERATION MARK>
-FF66 30FD ; [.31C6.0020.0011.30F2][.31C6.0020.0010.30F2] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA ITERATION MARK>
-3092 309D ; [.31C6.0020.0011.3092][.31C6.0020.0010.3092] # <HIRAGANA LETTER WO, HIRAGANA ITERATION MARK>
-30F2 30FE ; [.31C6.0020.0011.30F2][.31C6.0020.0010.30F2][.0000.014E.0002.3099] # <KATAKANA LETTER WO, KATAKANA VOICED ITERATION MARK>
-FF66 30FE ; [.31C6.0020.0011.30F2][.31C6.0020.0010.30F2][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA VOICED ITERATION MARK>
-3092 309E ; [.31C6.0020.0011.3092][.31C6.0020.0010.3092][.0000.014E.0002.3099] # <HIRAGANA LETTER WO, HIRAGANA VOICED ITERATION MARK>
-30F3 30FD ; [.31C7.0020.0011.30F3][.31C7.0020.0010.30F3] # <KATAKANA LETTER N, KATAKANA ITERATION MARK>
-FF9D 30FD ; [.31C7.0020.0011.30F3][.31C7.0020.0010.30F3] # <HALFWIDTH KATAKANA LETTER N, KATAKANA ITERATION MARK>
-3093 309D ; [.31C7.0020.0011.3093][.31C7.0020.0010.3093] # <HIRAGANA LETTER N, HIRAGANA ITERATION MARK>
-30F4 30FD ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0010.30F4] # <KATAKANA LETTER VU, KATAKANA ITERATION MARK>
-30A6 3099 30FD ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0010.30F4] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF73 FF9E 30FD ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0010.30F4] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3094 309D ; [.3198.0020.0011.3046][.0000.014E.0002.3099][.3198.0020.0010.3094] # <HIRAGANA LETTER VU, HIRAGANA ITERATION MARK>
-3046 3099 309D ; [.3198.0020.0011.3046][.0000.014E.0002.3099][.3198.0020.0010.3094] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30F4 30FE ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0010.30F4][.0000.014E.0002.3099] # <KATAKANA LETTER VU, KATAKANA VOICED ITERATION MARK>
-30A6 3099 30FE ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0010.30F4][.0000.014E.0002.3099] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF73 FF9E 30FE ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0010.30F4][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3094 309E ; [.3198.0020.0011.3046][.0000.014E.0002.3099][.3198.0020.0010.3094][.0000.014E.0002.3099] # <HIRAGANA LETTER VU, HIRAGANA VOICED ITERATION MARK>
-3046 3099 309E ; [.3198.0020.0011.3046][.0000.014E.0002.3099][.3198.0020.0010.3094][.0000.014E.0002.3099] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30F5 30FD ; [.319C.0020.000F.30F5][.319C.0020.0010.30F5] # <KATAKANA LETTER SMALL KA, KATAKANA ITERATION MARK>
-3095 309D ; [.319C.0020.000F.3095][.319C.0020.0010.3095] # <HIRAGANA LETTER SMALL KA, HIRAGANA ITERATION MARK>
-30F5 30FE ; [.319C.0020.000F.30F5][.319C.0020.0010.30F5][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL KA, KATAKANA VOICED ITERATION MARK>
-3095 309E ; [.319C.0020.000F.3095][.319C.0020.0010.3095][.0000.014E.0002.3099] # <HIRAGANA LETTER SMALL KA, HIRAGANA VOICED ITERATION MARK>
-30F6 30FD ; [.319F.0020.000F.30F6][.319F.0020.0010.30F6] # <KATAKANA LETTER SMALL KE, KATAKANA ITERATION MARK>
-3096 309D ; [.319F.0020.000F.3096][.319F.0020.0010.3096] # <HIRAGANA LETTER SMALL KE, HIRAGANA ITERATION MARK>
-30F6 30FE ; [.319F.0020.000F.30F6][.319F.0020.0010.30F6][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL KE, KATAKANA VOICED ITERATION MARK>
-3096 309E ; [.319F.0020.000F.3096][.319F.0020.0010.3096][.0000.014E.0002.3099] # <HIRAGANA LETTER SMALL KE, HIRAGANA VOICED ITERATION MARK>
-30F7 30FD ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.31C3.0020.0010.30F7] # <KATAKANA LETTER VA, KATAKANA ITERATION MARK>
-30EF 3099 30FD ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.31C3.0020.0010.30F7] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF9C FF9E 30FD ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.31C3.0020.0010.30F7] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-30F7 30FE ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.31C3.0020.0010.30F7][.0000.014E.0002.3099] # <KATAKANA LETTER VA, KATAKANA VOICED ITERATION MARK>
-30EF 3099 30FE ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.31C3.0020.0010.30F7][.0000.014E.0002.3099] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF9C FF9E 30FE ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.31C3.0020.0010.30F7][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-30F8 30FD ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099][.31C4.0020.0010.30F8] # <KATAKANA LETTER VI, KATAKANA ITERATION MARK>
-30F0 3099 30FD ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099][.31C4.0020.0010.30F8] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-30F8 30FE ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099][.31C4.0020.0010.30F8][.0000.014E.0002.3099] # <KATAKANA LETTER VI, KATAKANA VOICED ITERATION MARK>
-30F0 3099 30FE ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099][.31C4.0020.0010.30F8][.0000.014E.0002.3099] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-30F9 30FD ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099][.31C5.0020.0010.30F9] # <KATAKANA LETTER VE, KATAKANA ITERATION MARK>
-30F1 3099 30FD ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099][.31C5.0020.0010.30F9] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-30F9 30FE ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099][.31C5.0020.0010.30F9][.0000.014E.0002.3099] # <KATAKANA LETTER VE, KATAKANA VOICED ITERATION MARK>
-30F1 3099 30FE ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099][.31C5.0020.0010.30F9][.0000.014E.0002.3099] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-30FA 30FD ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.31C6.0020.0010.30FA] # <KATAKANA LETTER VO, KATAKANA ITERATION MARK>
-30F2 3099 30FD ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.31C6.0020.0010.30FA] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF66 FF9E 30FD ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.31C6.0020.0010.30FA] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-30FA 30FE ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.31C6.0020.0010.30FA][.0000.014E.0002.3099] # <KATAKANA LETTER VO, KATAKANA VOICED ITERATION MARK>
-30F2 3099 30FE ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.31C6.0020.0010.30FA][.0000.014E.0002.3099] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF66 FF9E 30FE ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.31C6.0020.0010.30FA][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-31F0 30FD ; [.319E.0020.000F.31F0][.319E.0020.0010.31F0] # <KATAKANA LETTER SMALL KU, KATAKANA ITERATION MARK>
-31F0 30FE ; [.319E.0020.000F.31F0][.319E.0020.0010.31F0][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL KU, KATAKANA VOICED ITERATION MARK>
-31F1 30FD ; [.31A2.0020.000F.31F1][.31A2.0020.0010.31F1] # <KATAKANA LETTER SMALL SI, KATAKANA ITERATION MARK>
-31F1 30FE ; [.31A2.0020.000F.31F1][.31A2.0020.0010.31F1][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL SI, KATAKANA VOICED ITERATION MARK>
-31F2 30FD ; [.31A3.0020.000F.31F2][.31A3.0020.0010.31F2] # <KATAKANA LETTER SMALL SU, KATAKANA ITERATION MARK>
-31F2 30FE ; [.31A3.0020.000F.31F2][.31A3.0020.0010.31F2][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL SU, KATAKANA VOICED ITERATION MARK>
-31F3 30FD ; [.31AA.0020.000F.31F3][.31AA.0020.0010.31F3] # <KATAKANA LETTER SMALL TO, KATAKANA ITERATION MARK>
-31F3 30FE ; [.31AA.0020.000F.31F3][.31AA.0020.0010.31F3][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL TO, KATAKANA VOICED ITERATION MARK>
-31F4 30FD ; [.31AD.0020.000F.31F4][.31AD.0020.0010.31F4] # <KATAKANA LETTER SMALL NU, KATAKANA ITERATION MARK>
-31F5 30FD ; [.31B0.0020.000F.31F5][.31B0.0020.0010.31F5] # <KATAKANA LETTER SMALL HA, KATAKANA ITERATION MARK>
-31F5 30FE ; [.31B0.0020.000F.31F5][.31B0.0020.0010.31F5][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL HA, KATAKANA VOICED ITERATION MARK>
-31F6 30FD ; [.31B1.0020.000F.31F6][.31B1.0020.0010.31F6] # <KATAKANA LETTER SMALL HI, KATAKANA ITERATION MARK>
-31F6 30FE ; [.31B1.0020.000F.31F6][.31B1.0020.0010.31F6][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL HI, KATAKANA VOICED ITERATION MARK>
-31F7 30FD ; [.31B2.0020.000F.31F7][.31B2.0020.0010.31F7] # <KATAKANA LETTER SMALL HU, KATAKANA ITERATION MARK>
-31F7 30FE ; [.31B2.0020.000F.31F7][.31B2.0020.0010.31F7][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL HU, KATAKANA VOICED ITERATION MARK>
-31F8 30FD ; [.31B3.0020.000F.31F8][.31B3.0020.0010.31F8] # <KATAKANA LETTER SMALL HE, KATAKANA ITERATION MARK>
-31F8 30FE ; [.31B3.0020.000F.31F8][.31B3.0020.0010.31F8][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL HE, KATAKANA VOICED ITERATION MARK>
-31F9 30FD ; [.31B4.0020.000F.31F9][.31B4.0020.0010.31F9] # <KATAKANA LETTER SMALL HO, KATAKANA ITERATION MARK>
-31F9 30FE ; [.31B4.0020.000F.31F9][.31B4.0020.0010.31F9][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL HO, KATAKANA VOICED ITERATION MARK>
-31FA 30FD ; [.31B7.0020.000F.31FA][.31B7.0020.0010.31FA] # <KATAKANA LETTER SMALL MU, KATAKANA ITERATION MARK>
-31FB 30FD ; [.31BE.0020.000F.31FB][.31BE.0020.0010.31FB] # <KATAKANA LETTER SMALL RA, KATAKANA ITERATION MARK>
-31FC 30FD ; [.31BF.0020.000F.31FC][.31BF.0020.0010.31FC] # <KATAKANA LETTER SMALL RI, KATAKANA ITERATION MARK>
-31FD 30FD ; [.31C0.0020.000F.31FD][.31C0.0020.0010.31FD] # <KATAKANA LETTER SMALL RU, KATAKANA ITERATION MARK>
-31FE 30FD ; [.31C1.0020.000F.31FE][.31C1.0020.0010.31FE] # <KATAKANA LETTER SMALL RE, KATAKANA ITERATION MARK>
-31FF 30FD ; [.31C2.0020.000F.31FF][.31C2.0020.0010.31FF] # <KATAKANA LETTER SMALL RO, KATAKANA ITERATION MARK>
+FFE4 ; [*05A5.0020.0002.00A6] # FULLWIDTH BROKEN BAR
+FFE5 ; [.15A6.0020.0002.00A5] # FULLWIDTH YEN SIGN
+FFE6 ; [.15B9.0020.0002.20A9] # FULLWIDTH WON SIGN
+FFE8 ; [*0799.0020.0002.2502] # HALFWIDTH FORMS LIGHT VERTICAL
+FFE9 ; [*0522.0020.0002.2190] # HALFWIDTH LEFTWARDS ARROW
+FFEA ; [*0524.0020.0002.2191] # HALFWIDTH UPWARDS ARROW
+FFEB ; [*0523.0020.0002.2192] # HALFWIDTH RIGHTWARDS ARROW
+FFEC ; [*0525.0020.0002.2193] # HALFWIDTH DOWNWARDS ARROW
+FFED ; [*0837.0020.0002.25A0] # HALFWIDTH BLACK SQUARE
+FFEE ; [*0862.0020.0002.25CB] # HALFWIDTH WHITE CIRCLE
+30A1 30FC ; [.32A0.0020.000F.30A1][.32A0.0020.0007.30A1] # <KATAKANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF67 30FC ; [.32A0.0020.000F.30A1][.32A0.0020.0007.30A1] # <HALFWIDTH KATAKANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF67 FF70 ; [.32A0.0020.000F.30A1][.32A0.0020.0007.30A1] # <HALFWIDTH KATAKANA LETTER SMALL A, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3041 30FC ; [.32A0.0020.000F.3041][.32A0.0020.0007.3041] # <HIRAGANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A2 30FC ; [.32A0.0020.0011.30A2][.32A0.0020.0007.30A2] # <KATAKANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF71 30FC ; [.32A0.0020.0011.30A2][.32A0.0020.0007.30A2] # <HALFWIDTH KATAKANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF71 FF70 ; [.32A0.0020.0011.30A2][.32A0.0020.0007.30A2] # <HALFWIDTH KATAKANA LETTER A, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3042 30FC ; [.32A0.0020.0011.3042][.32A0.0020.0007.3042] # <HIRAGANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AB 30FC ; [.32A6.0020.0011.30AB][.32A0.0020.0007.30AB] # <KATAKANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 30FC ; [.32A6.0020.0011.30AB][.32A0.0020.0007.30AB] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 FF70 ; [.32A6.0020.0011.30AB][.32A0.0020.0007.30AB] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304B 30FC ; [.32A6.0020.0011.304B][.32A0.0020.0007.304B] # <HIRAGANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AC 30FC ; [.32A6.0020.0011.30AB][.0000.0128.0002.3099][.32A0.0020.0007.30AC] # <KATAKANA LETTER GA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AB 3099 30FC ; [.32A6.0020.0011.30AB][.0000.0128.0002.3099][.32A0.0020.0007.30AC] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 FF9E 30FC ; [.32A6.0020.0011.30AB][.0000.0128.0002.3099][.32A0.0020.0007.30AC] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 FF9E FF70 ; [.32A6.0020.0011.30AB][.0000.0128.0002.3099][.32A0.0020.0007.30AC] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304C 30FC ; [.32A6.0020.0011.304B][.0000.0128.0002.3099][.32A0.0020.0007.304C] # <HIRAGANA LETTER GA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304B 3099 30FC ; [.32A6.0020.0011.304B][.0000.0128.0002.3099][.32A0.0020.0007.304C] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B5 30FC ; [.32AB.0020.0011.30B5][.32A0.0020.0007.30B5] # <KATAKANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B 30FC ; [.32AB.0020.0011.30B5][.32A0.0020.0007.30B5] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B FF70 ; [.32AB.0020.0011.30B5][.32A0.0020.0007.30B5] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3055 30FC ; [.32AB.0020.0011.3055][.32A0.0020.0007.3055] # <HIRAGANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B6 30FC ; [.32AB.0020.0011.30B5][.0000.0128.0002.3099][.32A0.0020.0007.30B6] # <KATAKANA LETTER ZA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B5 3099 30FC ; [.32AB.0020.0011.30B5][.0000.0128.0002.3099][.32A0.0020.0007.30B6] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B FF9E 30FC ; [.32AB.0020.0011.30B5][.0000.0128.0002.3099][.32A0.0020.0007.30B6] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B FF9E FF70 ; [.32AB.0020.0011.30B5][.0000.0128.0002.3099][.32A0.0020.0007.30B6] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3056 30FC ; [.32AB.0020.0011.3055][.0000.0128.0002.3099][.32A0.0020.0007.3056] # <HIRAGANA LETTER ZA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3055 3099 30FC ; [.32AB.0020.0011.3055][.0000.0128.0002.3099][.32A0.0020.0007.3056] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BF 30FC ; [.32B0.0020.0011.30BF][.32A0.0020.0007.30BF] # <KATAKANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 30FC ; [.32B0.0020.0011.30BF][.32A0.0020.0007.30BF] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 FF70 ; [.32B0.0020.0011.30BF][.32A0.0020.0007.30BF] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305F 30FC ; [.32B0.0020.0011.305F][.32A0.0020.0007.305F] # <HIRAGANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C0 30FC ; [.32B0.0020.0011.30BF][.0000.0128.0002.3099][.32A0.0020.0007.30C0] # <KATAKANA LETTER DA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BF 3099 30FC ; [.32B0.0020.0011.30BF][.0000.0128.0002.3099][.32A0.0020.0007.30C0] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 FF9E 30FC ; [.32B0.0020.0011.30BF][.0000.0128.0002.3099][.32A0.0020.0007.30C0] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 FF9E FF70 ; [.32B0.0020.0011.30BF][.0000.0128.0002.3099][.32A0.0020.0007.30C0] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3060 30FC ; [.32B0.0020.0011.305F][.0000.0128.0002.3099][.32A0.0020.0007.3060] # <HIRAGANA LETTER DA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305F 3099 30FC ; [.32B0.0020.0011.305F][.0000.0128.0002.3099][.32A0.0020.0007.3060] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CA 30FC ; [.32B5.0020.0011.30CA][.32A0.0020.0007.30CA] # <KATAKANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF85 30FC ; [.32B5.0020.0011.30CA][.32A0.0020.0007.30CA] # <HALFWIDTH KATAKANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF85 FF70 ; [.32B5.0020.0011.30CA][.32A0.0020.0007.30CA] # <HALFWIDTH KATAKANA LETTER NA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306A 30FC ; [.32B5.0020.0011.306A][.32A0.0020.0007.306A] # <HIRAGANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CF 30FC ; [.32BA.0020.0011.30CF][.32A0.0020.0007.30CF] # <KATAKANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A 30FC ; [.32BA.0020.0011.30CF][.32A0.0020.0007.30CF] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF70 ; [.32BA.0020.0011.30CF][.32A0.0020.0007.30CF] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306F 30FC ; [.32BA.0020.0011.306F][.32A0.0020.0007.306F] # <HIRAGANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D0 30FC ; [.32BA.0020.0011.30CF][.0000.0128.0002.3099][.32A0.0020.0007.30D0] # <KATAKANA LETTER BA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CF 3099 30FC ; [.32BA.0020.0011.30CF][.0000.0128.0002.3099][.32A0.0020.0007.30D0] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9E 30FC ; [.32BA.0020.0011.30CF][.0000.0128.0002.3099][.32A0.0020.0007.30D0] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9E FF70 ; [.32BA.0020.0011.30CF][.0000.0128.0002.3099][.32A0.0020.0007.30D0] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3070 30FC ; [.32BA.0020.0011.306F][.0000.0128.0002.3099][.32A0.0020.0007.3070] # <HIRAGANA LETTER BA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306F 3099 30FC ; [.32BA.0020.0011.306F][.0000.0128.0002.3099][.32A0.0020.0007.3070] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D1 30FC ; [.32BA.0020.0011.30CF][.0000.0129.0002.309A][.32A0.0020.0007.30D1] # <KATAKANA LETTER PA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CF 309A 30FC ; [.32BA.0020.0011.30CF][.0000.0129.0002.309A][.32A0.0020.0007.30D1] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9F 30FC ; [.32BA.0020.0011.30CF][.0000.0129.0002.309A][.32A0.0020.0007.30D1] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9F FF70 ; [.32BA.0020.0011.30CF][.0000.0129.0002.309A][.32A0.0020.0007.30D1] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3071 30FC ; [.32BA.0020.0011.306F][.0000.0129.0002.309A][.32A0.0020.0007.3071] # <HIRAGANA LETTER PA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306F 309A 30FC ; [.32BA.0020.0011.306F][.0000.0129.0002.309A][.32A0.0020.0007.3071] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DE 30FC ; [.32BF.0020.0011.30DE][.32A0.0020.0007.30DE] # <KATAKANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8F 30FC ; [.32BF.0020.0011.30DE][.32A0.0020.0007.30DE] # <HALFWIDTH KATAKANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8F FF70 ; [.32BF.0020.0011.30DE][.32A0.0020.0007.30DE] # <HALFWIDTH KATAKANA LETTER MA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307E 30FC ; [.32BF.0020.0011.307E][.32A0.0020.0007.307E] # <HIRAGANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E3 30FC ; [.32C4.0020.000F.30E3][.32A0.0020.0007.30E3] # <KATAKANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6C 30FC ; [.32C4.0020.000F.30E3][.32A0.0020.0007.30E3] # <HALFWIDTH KATAKANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6C FF70 ; [.32C4.0020.000F.30E3][.32A0.0020.0007.30E3] # <HALFWIDTH KATAKANA LETTER SMALL YA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3083 30FC ; [.32C4.0020.000F.3083][.32A0.0020.0007.3083] # <HIRAGANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E4 30FC ; [.32C4.0020.0011.30E4][.32A0.0020.0007.30E4] # <KATAKANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF94 30FC ; [.32C4.0020.0011.30E4][.32A0.0020.0007.30E4] # <HALFWIDTH KATAKANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF94 FF70 ; [.32C4.0020.0011.30E4][.32A0.0020.0007.30E4] # <HALFWIDTH KATAKANA LETTER YA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3084 30FC ; [.32C4.0020.0011.3084][.32A0.0020.0007.3084] # <HIRAGANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E9 30FC ; [.32C8.0020.0011.30E9][.32A0.0020.0007.30E9] # <KATAKANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF97 30FC ; [.32C8.0020.0011.30E9][.32A0.0020.0007.30E9] # <HALFWIDTH KATAKANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF97 FF70 ; [.32C8.0020.0011.30E9][.32A0.0020.0007.30E9] # <HALFWIDTH KATAKANA LETTER RA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3089 30FC ; [.32C8.0020.0011.3089][.32A0.0020.0007.3089] # <HIRAGANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EE 30FC ; [.32CD.0020.000F.30EE][.32A0.0020.0007.30EE] # <KATAKANA LETTER SMALL WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308E 30FC ; [.32CD.0020.000F.308E][.32A0.0020.0007.308E] # <HIRAGANA LETTER SMALL WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EF 30FC ; [.32CD.0020.0011.30EF][.32A0.0020.0007.30EF] # <KATAKANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C 30FC ; [.32CD.0020.0011.30EF][.32A0.0020.0007.30EF] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C FF70 ; [.32CD.0020.0011.30EF][.32A0.0020.0007.30EF] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308F 30FC ; [.32CD.0020.0011.308F][.32A0.0020.0007.308F] # <HIRAGANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F7 30FC ; [.32CD.0020.0011.30EF][.0000.0128.0002.3099][.32A0.0020.0007.30F7] # <KATAKANA LETTER VA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EF 3099 30FC ; [.32CD.0020.0011.30EF][.0000.0128.0002.3099][.32A0.0020.0007.30F7] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C FF9E 30FC ; [.32CD.0020.0011.30EF][.0000.0128.0002.3099][.32A0.0020.0007.30F7] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C FF9E FF70 ; [.32CD.0020.0011.30EF][.0000.0128.0002.3099][.32A0.0020.0007.30F7] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F5 30FC ; [.32A6.0020.000F.30F5][.32A0.0020.0007.30F5] # <KATAKANA LETTER SMALL KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3095 30FC ; [.32A6.0020.000F.3095][.32A0.0020.0007.3095] # <HIRAGANA LETTER SMALL KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F5 30FC ; [.32BA.0020.000F.31F5][.32A0.0020.0007.31F5] # <KATAKANA LETTER SMALL HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FB 30FC ; [.32C8.0020.000F.31FB][.32A0.0020.0007.31FB] # <KATAKANA LETTER SMALL RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A3 30FC ; [.32A1.0020.000F.30A3][.32A1.0020.0007.30A3] # <KATAKANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF68 30FC ; [.32A1.0020.000F.30A3][.32A1.0020.0007.30A3] # <HALFWIDTH KATAKANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF68 FF70 ; [.32A1.0020.000F.30A3][.32A1.0020.0007.30A3] # <HALFWIDTH KATAKANA LETTER SMALL I, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3043 30FC ; [.32A1.0020.000F.3043][.32A1.0020.0007.3043] # <HIRAGANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A4 30FC ; [.32A1.0020.0011.30A4][.32A1.0020.0007.30A4] # <KATAKANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF72 30FC ; [.32A1.0020.0011.30A4][.32A1.0020.0007.30A4] # <HALFWIDTH KATAKANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF72 FF70 ; [.32A1.0020.0011.30A4][.32A1.0020.0007.30A4] # <HALFWIDTH KATAKANA LETTER I, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3044 30FC ; [.32A1.0020.0011.3044][.32A1.0020.0007.3044] # <HIRAGANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AD 30FC ; [.32A7.0020.0011.30AD][.32A1.0020.0007.30AD] # <KATAKANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 30FC ; [.32A7.0020.0011.30AD][.32A1.0020.0007.30AD] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 FF70 ; [.32A7.0020.0011.30AD][.32A1.0020.0007.30AD] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304D 30FC ; [.32A7.0020.0011.304D][.32A1.0020.0007.304D] # <HIRAGANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AE 30FC ; [.32A7.0020.0011.30AD][.0000.0128.0002.3099][.32A1.0020.0007.30AE] # <KATAKANA LETTER GI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AD 3099 30FC ; [.32A7.0020.0011.30AD][.0000.0128.0002.3099][.32A1.0020.0007.30AE] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 FF9E 30FC ; [.32A7.0020.0011.30AD][.0000.0128.0002.3099][.32A1.0020.0007.30AE] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 FF9E FF70 ; [.32A7.0020.0011.30AD][.0000.0128.0002.3099][.32A1.0020.0007.30AE] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304E 30FC ; [.32A7.0020.0011.304D][.0000.0128.0002.3099][.32A1.0020.0007.304E] # <HIRAGANA LETTER GI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304D 3099 30FC ; [.32A7.0020.0011.304D][.0000.0128.0002.3099][.32A1.0020.0007.304E] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B7 30FC ; [.32AC.0020.0011.30B7][.32A1.0020.0007.30B7] # <KATAKANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C 30FC ; [.32AC.0020.0011.30B7][.32A1.0020.0007.30B7] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C FF70 ; [.32AC.0020.0011.30B7][.32A1.0020.0007.30B7] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3057 30FC ; [.32AC.0020.0011.3057][.32A1.0020.0007.3057] # <HIRAGANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B8 30FC ; [.32AC.0020.0011.30B7][.0000.0128.0002.3099][.32A1.0020.0007.30B8] # <KATAKANA LETTER ZI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B7 3099 30FC ; [.32AC.0020.0011.30B7][.0000.0128.0002.3099][.32A1.0020.0007.30B8] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C FF9E 30FC ; [.32AC.0020.0011.30B7][.0000.0128.0002.3099][.32A1.0020.0007.30B8] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C FF9E FF70 ; [.32AC.0020.0011.30B7][.0000.0128.0002.3099][.32A1.0020.0007.30B8] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3058 30FC ; [.32AC.0020.0011.3057][.0000.0128.0002.3099][.32A1.0020.0007.3058] # <HIRAGANA LETTER ZI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3057 3099 30FC ; [.32AC.0020.0011.3057][.0000.0128.0002.3099][.32A1.0020.0007.3058] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C1 30FC ; [.32B1.0020.0011.30C1][.32A1.0020.0007.30C1] # <KATAKANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 30FC ; [.32B1.0020.0011.30C1][.32A1.0020.0007.30C1] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 FF70 ; [.32B1.0020.0011.30C1][.32A1.0020.0007.30C1] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3061 30FC ; [.32B1.0020.0011.3061][.32A1.0020.0007.3061] # <HIRAGANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C2 30FC ; [.32B1.0020.0011.30C1][.0000.0128.0002.3099][.32A1.0020.0007.30C2] # <KATAKANA LETTER DI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C1 3099 30FC ; [.32B1.0020.0011.30C1][.0000.0128.0002.3099][.32A1.0020.0007.30C2] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 FF9E 30FC ; [.32B1.0020.0011.30C1][.0000.0128.0002.3099][.32A1.0020.0007.30C2] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 FF9E FF70 ; [.32B1.0020.0011.30C1][.0000.0128.0002.3099][.32A1.0020.0007.30C2] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3062 30FC ; [.32B1.0020.0011.3061][.0000.0128.0002.3099][.32A1.0020.0007.3062] # <HIRAGANA LETTER DI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3061 3099 30FC ; [.32B1.0020.0011.3061][.0000.0128.0002.3099][.32A1.0020.0007.3062] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CB 30FC ; [.32B6.0020.0011.30CB][.32A1.0020.0007.30CB] # <KATAKANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF86 30FC ; [.32B6.0020.0011.30CB][.32A1.0020.0007.30CB] # <HALFWIDTH KATAKANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF86 FF70 ; [.32B6.0020.0011.30CB][.32A1.0020.0007.30CB] # <HALFWIDTH KATAKANA LETTER NI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306B 30FC ; [.32B6.0020.0011.306B][.32A1.0020.0007.306B] # <HIRAGANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D2 30FC ; [.32BB.0020.0011.30D2][.32A1.0020.0007.30D2] # <KATAKANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B 30FC ; [.32BB.0020.0011.30D2][.32A1.0020.0007.30D2] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF70 ; [.32BB.0020.0011.30D2][.32A1.0020.0007.30D2] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3072 30FC ; [.32BB.0020.0011.3072][.32A1.0020.0007.3072] # <HIRAGANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D3 30FC ; [.32BB.0020.0011.30D2][.0000.0128.0002.3099][.32A1.0020.0007.30D3] # <KATAKANA LETTER BI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D2 3099 30FC ; [.32BB.0020.0011.30D2][.0000.0128.0002.3099][.32A1.0020.0007.30D3] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9E 30FC ; [.32BB.0020.0011.30D2][.0000.0128.0002.3099][.32A1.0020.0007.30D3] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9E FF70 ; [.32BB.0020.0011.30D2][.0000.0128.0002.3099][.32A1.0020.0007.30D3] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3073 30FC ; [.32BB.0020.0011.3072][.0000.0128.0002.3099][.32A1.0020.0007.3073] # <HIRAGANA LETTER BI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3072 3099 30FC ; [.32BB.0020.0011.3072][.0000.0128.0002.3099][.32A1.0020.0007.3073] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D4 30FC ; [.32BB.0020.0011.30D2][.0000.0129.0002.309A][.32A1.0020.0007.30D4] # <KATAKANA LETTER PI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D2 309A 30FC ; [.32BB.0020.0011.30D2][.0000.0129.0002.309A][.32A1.0020.0007.30D4] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9F 30FC ; [.32BB.0020.0011.30D2][.0000.0129.0002.309A][.32A1.0020.0007.30D4] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9F FF70 ; [.32BB.0020.0011.30D2][.0000.0129.0002.309A][.32A1.0020.0007.30D4] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3074 30FC ; [.32BB.0020.0011.3072][.0000.0129.0002.309A][.32A1.0020.0007.3074] # <HIRAGANA LETTER PI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3072 309A 30FC ; [.32BB.0020.0011.3072][.0000.0129.0002.309A][.32A1.0020.0007.3074] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DF 30FC ; [.32C0.0020.0011.30DF][.32A1.0020.0007.30DF] # <KATAKANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF90 30FC ; [.32C0.0020.0011.30DF][.32A1.0020.0007.30DF] # <HALFWIDTH KATAKANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF90 FF70 ; [.32C0.0020.0011.30DF][.32A1.0020.0007.30DF] # <HALFWIDTH KATAKANA LETTER MI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307F 30FC ; [.32C0.0020.0011.307F][.32A1.0020.0007.307F] # <HIRAGANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EA 30FC ; [.32C9.0020.0011.30EA][.32A1.0020.0007.30EA] # <KATAKANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF98 30FC ; [.32C9.0020.0011.30EA][.32A1.0020.0007.30EA] # <HALFWIDTH KATAKANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF98 FF70 ; [.32C9.0020.0011.30EA][.32A1.0020.0007.30EA] # <HALFWIDTH KATAKANA LETTER RI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308A 30FC ; [.32C9.0020.0011.308A][.32A1.0020.0007.308A] # <HIRAGANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F0 30FC ; [.32CE.0020.0011.30F0][.32A1.0020.0007.30F0] # <KATAKANA LETTER WI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3090 30FC ; [.32CE.0020.0011.3090][.32A1.0020.0007.3090] # <HIRAGANA LETTER WI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F8 30FC ; [.32CE.0020.0011.30F0][.0000.0128.0002.3099][.32A1.0020.0007.30F8] # <KATAKANA LETTER VI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F0 3099 30FC ; [.32CE.0020.0011.30F0][.0000.0128.0002.3099][.32A1.0020.0007.30F8] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F1 30FC ; [.32AC.0020.000F.31F1][.32A1.0020.0007.31F1] # <KATAKANA LETTER SMALL SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F6 30FC ; [.32BB.0020.000F.31F6][.32A1.0020.0007.31F6] # <KATAKANA LETTER SMALL HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FC 30FC ; [.32C9.0020.000F.31FC][.32A1.0020.0007.31FC] # <KATAKANA LETTER SMALL RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A5 30FC ; [.32A2.0020.000F.30A5][.32A2.0020.0007.30A5] # <KATAKANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF69 30FC ; [.32A2.0020.000F.30A5][.32A2.0020.0007.30A5] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF69 FF70 ; [.32A2.0020.000F.30A5][.32A2.0020.0007.30A5] # <HALFWIDTH KATAKANA LETTER SMALL U, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3045 30FC ; [.32A2.0020.000F.3045][.32A2.0020.0007.3045] # <HIRAGANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A6 30FC ; [.32A2.0020.0011.30A6][.32A2.0020.0007.30A6] # <KATAKANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 30FC ; [.32A2.0020.0011.30A6][.32A2.0020.0007.30A6] # <HALFWIDTH KATAKANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 FF70 ; [.32A2.0020.0011.30A6][.32A2.0020.0007.30A6] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3046 30FC ; [.32A2.0020.0011.3046][.32A2.0020.0007.3046] # <HIRAGANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AF 30FC ; [.32A8.0020.0011.30AF][.32A2.0020.0007.30AF] # <KATAKANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 30FC ; [.32A8.0020.0011.30AF][.32A2.0020.0007.30AF] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 FF70 ; [.32A8.0020.0011.30AF][.32A2.0020.0007.30AF] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304F 30FC ; [.32A8.0020.0011.304F][.32A2.0020.0007.304F] # <HIRAGANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B0 30FC ; [.32A8.0020.0011.30AF][.0000.0128.0002.3099][.32A2.0020.0007.30B0] # <KATAKANA LETTER GU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AF 3099 30FC ; [.32A8.0020.0011.30AF][.0000.0128.0002.3099][.32A2.0020.0007.30B0] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 FF9E 30FC ; [.32A8.0020.0011.30AF][.0000.0128.0002.3099][.32A2.0020.0007.30B0] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 FF9E FF70 ; [.32A8.0020.0011.30AF][.0000.0128.0002.3099][.32A2.0020.0007.30B0] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3050 30FC ; [.32A8.0020.0011.304F][.0000.0128.0002.3099][.32A2.0020.0007.3050] # <HIRAGANA LETTER GU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304F 3099 30FC ; [.32A8.0020.0011.304F][.0000.0128.0002.3099][.32A2.0020.0007.3050] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B9 30FC ; [.32AD.0020.0011.30B9][.32A2.0020.0007.30B9] # <KATAKANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D 30FC ; [.32AD.0020.0011.30B9][.32A2.0020.0007.30B9] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D FF70 ; [.32AD.0020.0011.30B9][.32A2.0020.0007.30B9] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3059 30FC ; [.32AD.0020.0011.3059][.32A2.0020.0007.3059] # <HIRAGANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BA 30FC ; [.32AD.0020.0011.30B9][.0000.0128.0002.3099][.32A2.0020.0007.30BA] # <KATAKANA LETTER ZU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B9 3099 30FC ; [.32AD.0020.0011.30B9][.0000.0128.0002.3099][.32A2.0020.0007.30BA] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D FF9E 30FC ; [.32AD.0020.0011.30B9][.0000.0128.0002.3099][.32A2.0020.0007.30BA] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D FF9E FF70 ; [.32AD.0020.0011.30B9][.0000.0128.0002.3099][.32A2.0020.0007.30BA] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305A 30FC ; [.32AD.0020.0011.3059][.0000.0128.0002.3099][.32A2.0020.0007.305A] # <HIRAGANA LETTER ZU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3059 3099 30FC ; [.32AD.0020.0011.3059][.0000.0128.0002.3099][.32A2.0020.0007.305A] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C3 30FC ; [.32B2.0020.000F.30C3][.32A2.0020.0007.30C3] # <KATAKANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6F 30FC ; [.32B2.0020.000F.30C3][.32A2.0020.0007.30C3] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6F FF70 ; [.32B2.0020.000F.30C3][.32A2.0020.0007.30C3] # <HALFWIDTH KATAKANA LETTER SMALL TU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3063 30FC ; [.32B2.0020.000F.3063][.32A2.0020.0007.3063] # <HIRAGANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C4 30FC ; [.32B2.0020.0011.30C4][.32A2.0020.0007.30C4] # <KATAKANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 30FC ; [.32B2.0020.0011.30C4][.32A2.0020.0007.30C4] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 FF70 ; [.32B2.0020.0011.30C4][.32A2.0020.0007.30C4] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3064 30FC ; [.32B2.0020.0011.3064][.32A2.0020.0007.3064] # <HIRAGANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C5 30FC ; [.32B2.0020.0011.30C4][.0000.0128.0002.3099][.32A2.0020.0007.30C5] # <KATAKANA LETTER DU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C4 3099 30FC ; [.32B2.0020.0011.30C4][.0000.0128.0002.3099][.32A2.0020.0007.30C5] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 FF9E 30FC ; [.32B2.0020.0011.30C4][.0000.0128.0002.3099][.32A2.0020.0007.30C5] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 FF9E FF70 ; [.32B2.0020.0011.30C4][.0000.0128.0002.3099][.32A2.0020.0007.30C5] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3065 30FC ; [.32B2.0020.0011.3064][.0000.0128.0002.3099][.32A2.0020.0007.3065] # <HIRAGANA LETTER DU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3064 3099 30FC ; [.32B2.0020.0011.3064][.0000.0128.0002.3099][.32A2.0020.0007.3065] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CC 30FC ; [.32B7.0020.0011.30CC][.32A2.0020.0007.30CC] # <KATAKANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF87 30FC ; [.32B7.0020.0011.30CC][.32A2.0020.0007.30CC] # <HALFWIDTH KATAKANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF87 FF70 ; [.32B7.0020.0011.30CC][.32A2.0020.0007.30CC] # <HALFWIDTH KATAKANA LETTER NU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306C 30FC ; [.32B7.0020.0011.306C][.32A2.0020.0007.306C] # <HIRAGANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D5 30FC ; [.32BC.0020.0011.30D5][.32A2.0020.0007.30D5] # <KATAKANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C 30FC ; [.32BC.0020.0011.30D5][.32A2.0020.0007.30D5] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF70 ; [.32BC.0020.0011.30D5][.32A2.0020.0007.30D5] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3075 30FC ; [.32BC.0020.0011.3075][.32A2.0020.0007.3075] # <HIRAGANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D6 30FC ; [.32BC.0020.0011.30D5][.0000.0128.0002.3099][.32A2.0020.0007.30D6] # <KATAKANA LETTER BU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D5 3099 30FC ; [.32BC.0020.0011.30D5][.0000.0128.0002.3099][.32A2.0020.0007.30D6] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9E 30FC ; [.32BC.0020.0011.30D5][.0000.0128.0002.3099][.32A2.0020.0007.30D6] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9E FF70 ; [.32BC.0020.0011.30D5][.0000.0128.0002.3099][.32A2.0020.0007.30D6] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3076 30FC ; [.32BC.0020.0011.3075][.0000.0128.0002.3099][.32A2.0020.0007.3076] # <HIRAGANA LETTER BU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3075 3099 30FC ; [.32BC.0020.0011.3075][.0000.0128.0002.3099][.32A2.0020.0007.3076] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D7 30FC ; [.32BC.0020.0011.30D5][.0000.0129.0002.309A][.32A2.0020.0007.30D7] # <KATAKANA LETTER PU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D5 309A 30FC ; [.32BC.0020.0011.30D5][.0000.0129.0002.309A][.32A2.0020.0007.30D7] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9F 30FC ; [.32BC.0020.0011.30D5][.0000.0129.0002.309A][.32A2.0020.0007.30D7] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9F FF70 ; [.32BC.0020.0011.30D5][.0000.0129.0002.309A][.32A2.0020.0007.30D7] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3077 30FC ; [.32BC.0020.0011.3075][.0000.0129.0002.309A][.32A2.0020.0007.3077] # <HIRAGANA LETTER PU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3075 309A 30FC ; [.32BC.0020.0011.3075][.0000.0129.0002.309A][.32A2.0020.0007.3077] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E0 30FC ; [.32C1.0020.0011.30E0][.32A2.0020.0007.30E0] # <KATAKANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF91 30FC ; [.32C1.0020.0011.30E0][.32A2.0020.0007.30E0] # <HALFWIDTH KATAKANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF91 FF70 ; [.32C1.0020.0011.30E0][.32A2.0020.0007.30E0] # <HALFWIDTH KATAKANA LETTER MU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3080 30FC ; [.32C1.0020.0011.3080][.32A2.0020.0007.3080] # <HIRAGANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E5 30FC ; [.32C5.0020.000F.30E5][.32A2.0020.0007.30E5] # <KATAKANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6D 30FC ; [.32C5.0020.000F.30E5][.32A2.0020.0007.30E5] # <HALFWIDTH KATAKANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6D FF70 ; [.32C5.0020.000F.30E5][.32A2.0020.0007.30E5] # <HALFWIDTH KATAKANA LETTER SMALL YU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3085 30FC ; [.32C5.0020.000F.3085][.32A2.0020.0007.3085] # <HIRAGANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E6 30FC ; [.32C5.0020.0011.30E6][.32A2.0020.0007.30E6] # <KATAKANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF95 30FC ; [.32C5.0020.0011.30E6][.32A2.0020.0007.30E6] # <HALFWIDTH KATAKANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF95 FF70 ; [.32C5.0020.0011.30E6][.32A2.0020.0007.30E6] # <HALFWIDTH KATAKANA LETTER YU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3086 30FC ; [.32C5.0020.0011.3086][.32A2.0020.0007.3086] # <HIRAGANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EB 30FC ; [.32CA.0020.0011.30EB][.32A2.0020.0007.30EB] # <KATAKANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF99 30FC ; [.32CA.0020.0011.30EB][.32A2.0020.0007.30EB] # <HALFWIDTH KATAKANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF99 FF70 ; [.32CA.0020.0011.30EB][.32A2.0020.0007.30EB] # <HALFWIDTH KATAKANA LETTER RU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308B 30FC ; [.32CA.0020.0011.308B][.32A2.0020.0007.308B] # <HIRAGANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F4 30FC ; [.32A2.0020.0011.30A6][.0000.0128.0002.3099][.32A2.0020.0007.30F4] # <KATAKANA LETTER VU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A6 3099 30FC ; [.32A2.0020.0011.30A6][.0000.0128.0002.3099][.32A2.0020.0007.30F4] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 FF9E 30FC ; [.32A2.0020.0011.30A6][.0000.0128.0002.3099][.32A2.0020.0007.30F4] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 FF9E FF70 ; [.32A2.0020.0011.30A6][.0000.0128.0002.3099][.32A2.0020.0007.30F4] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3094 30FC ; [.32A2.0020.0011.3046][.0000.0128.0002.3099][.32A2.0020.0007.3094] # <HIRAGANA LETTER VU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3046 3099 30FC ; [.32A2.0020.0011.3046][.0000.0128.0002.3099][.32A2.0020.0007.3094] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F0 30FC ; [.32A8.0020.000F.31F0][.32A2.0020.0007.31F0] # <KATAKANA LETTER SMALL KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F2 30FC ; [.32AD.0020.000F.31F2][.32A2.0020.0007.31F2] # <KATAKANA LETTER SMALL SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F4 30FC ; [.32B7.0020.000F.31F4][.32A2.0020.0007.31F4] # <KATAKANA LETTER SMALL NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F7 30FC ; [.32BC.0020.000F.31F7][.32A2.0020.0007.31F7] # <KATAKANA LETTER SMALL HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FA 30FC ; [.32C1.0020.000F.31FA][.32A2.0020.0007.31FA] # <KATAKANA LETTER SMALL MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FD 30FC ; [.32CA.0020.000F.31FD][.32A2.0020.0007.31FD] # <KATAKANA LETTER SMALL RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A7 30FC ; [.32A4.0020.000F.30A7][.32A4.0020.0007.30A7] # <KATAKANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6A 30FC ; [.32A4.0020.000F.30A7][.32A4.0020.0007.30A7] # <HALFWIDTH KATAKANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6A FF70 ; [.32A4.0020.000F.30A7][.32A4.0020.0007.30A7] # <HALFWIDTH KATAKANA LETTER SMALL E, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3047 30FC ; [.32A4.0020.000F.3047][.32A4.0020.0007.3047] # <HIRAGANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A8 30FC ; [.32A4.0020.0011.30A8][.32A4.0020.0007.30A8] # <KATAKANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF74 30FC ; [.32A4.0020.0011.30A8][.32A4.0020.0007.30A8] # <HALFWIDTH KATAKANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF74 FF70 ; [.32A4.0020.0011.30A8][.32A4.0020.0007.30A8] # <HALFWIDTH KATAKANA LETTER E, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3048 30FC ; [.32A4.0020.0011.3048][.32A4.0020.0007.3048] # <HIRAGANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B1 30FC ; [.32A9.0020.0011.30B1][.32A4.0020.0007.30B1] # <KATAKANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 30FC ; [.32A9.0020.0011.30B1][.32A4.0020.0007.30B1] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 FF70 ; [.32A9.0020.0011.30B1][.32A4.0020.0007.30B1] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3051 30FC ; [.32A9.0020.0011.3051][.32A4.0020.0007.3051] # <HIRAGANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B2 30FC ; [.32A9.0020.0011.30B1][.0000.0128.0002.3099][.32A4.0020.0007.30B2] # <KATAKANA LETTER GE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B1 3099 30FC ; [.32A9.0020.0011.30B1][.0000.0128.0002.3099][.32A4.0020.0007.30B2] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 FF9E 30FC ; [.32A9.0020.0011.30B1][.0000.0128.0002.3099][.32A4.0020.0007.30B2] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 FF9E FF70 ; [.32A9.0020.0011.30B1][.0000.0128.0002.3099][.32A4.0020.0007.30B2] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3052 30FC ; [.32A9.0020.0011.3051][.0000.0128.0002.3099][.32A4.0020.0007.3052] # <HIRAGANA LETTER GE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3051 3099 30FC ; [.32A9.0020.0011.3051][.0000.0128.0002.3099][.32A4.0020.0007.3052] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BB 30FC ; [.32AE.0020.0011.30BB][.32A4.0020.0007.30BB] # <KATAKANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E 30FC ; [.32AE.0020.0011.30BB][.32A4.0020.0007.30BB] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E FF70 ; [.32AE.0020.0011.30BB][.32A4.0020.0007.30BB] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305B 30FC ; [.32AE.0020.0011.305B][.32A4.0020.0007.305B] # <HIRAGANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BC 30FC ; [.32AE.0020.0011.30BB][.0000.0128.0002.3099][.32A4.0020.0007.30BC] # <KATAKANA LETTER ZE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BB 3099 30FC ; [.32AE.0020.0011.30BB][.0000.0128.0002.3099][.32A4.0020.0007.30BC] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E FF9E 30FC ; [.32AE.0020.0011.30BB][.0000.0128.0002.3099][.32A4.0020.0007.30BC] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E FF9E FF70 ; [.32AE.0020.0011.30BB][.0000.0128.0002.3099][.32A4.0020.0007.30BC] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305C 30FC ; [.32AE.0020.0011.305B][.0000.0128.0002.3099][.32A4.0020.0007.305C] # <HIRAGANA LETTER ZE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305B 3099 30FC ; [.32AE.0020.0011.305B][.0000.0128.0002.3099][.32A4.0020.0007.305C] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C6 30FC ; [.32B3.0020.0011.30C6][.32A4.0020.0007.30C6] # <KATAKANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 30FC ; [.32B3.0020.0011.30C6][.32A4.0020.0007.30C6] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 FF70 ; [.32B3.0020.0011.30C6][.32A4.0020.0007.30C6] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3066 30FC ; [.32B3.0020.0011.3066][.32A4.0020.0007.3066] # <HIRAGANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C7 30FC ; [.32B3.0020.0011.30C6][.0000.0128.0002.3099][.32A4.0020.0007.30C7] # <KATAKANA LETTER DE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C6 3099 30FC ; [.32B3.0020.0011.30C6][.0000.0128.0002.3099][.32A4.0020.0007.30C7] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 FF9E 30FC ; [.32B3.0020.0011.30C6][.0000.0128.0002.3099][.32A4.0020.0007.30C7] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 FF9E FF70 ; [.32B3.0020.0011.30C6][.0000.0128.0002.3099][.32A4.0020.0007.30C7] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3067 30FC ; [.32B3.0020.0011.3066][.0000.0128.0002.3099][.32A4.0020.0007.3067] # <HIRAGANA LETTER DE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3066 3099 30FC ; [.32B3.0020.0011.3066][.0000.0128.0002.3099][.32A4.0020.0007.3067] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CD 30FC ; [.32B8.0020.0011.30CD][.32A4.0020.0007.30CD] # <KATAKANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF88 30FC ; [.32B8.0020.0011.30CD][.32A4.0020.0007.30CD] # <HALFWIDTH KATAKANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF88 FF70 ; [.32B8.0020.0011.30CD][.32A4.0020.0007.30CD] # <HALFWIDTH KATAKANA LETTER NE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306D 30FC ; [.32B8.0020.0011.306D][.32A4.0020.0007.306D] # <HIRAGANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D8 30FC ; [.32BD.0020.0011.30D8][.32A4.0020.0007.30D8] # <KATAKANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D 30FC ; [.32BD.0020.0011.30D8][.32A4.0020.0007.30D8] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF70 ; [.32BD.0020.0011.30D8][.32A4.0020.0007.30D8] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3078 30FC ; [.32BD.0020.0011.3078][.32A4.0020.0007.3078] # <HIRAGANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D9 30FC ; [.32BD.0020.0011.30D8][.0000.0128.0002.3099][.32A4.0020.0007.30D9] # <KATAKANA LETTER BE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D8 3099 30FC ; [.32BD.0020.0011.30D8][.0000.0128.0002.3099][.32A4.0020.0007.30D9] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9E 30FC ; [.32BD.0020.0011.30D8][.0000.0128.0002.3099][.32A4.0020.0007.30D9] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9E FF70 ; [.32BD.0020.0011.30D8][.0000.0128.0002.3099][.32A4.0020.0007.30D9] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3079 30FC ; [.32BD.0020.0011.3078][.0000.0128.0002.3099][.32A4.0020.0007.3079] # <HIRAGANA LETTER BE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3078 3099 30FC ; [.32BD.0020.0011.3078][.0000.0128.0002.3099][.32A4.0020.0007.3079] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DA 30FC ; [.32BD.0020.0011.30D8][.0000.0129.0002.309A][.32A4.0020.0007.30DA] # <KATAKANA LETTER PE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D8 309A 30FC ; [.32BD.0020.0011.30D8][.0000.0129.0002.309A][.32A4.0020.0007.30DA] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9F 30FC ; [.32BD.0020.0011.30D8][.0000.0129.0002.309A][.32A4.0020.0007.30DA] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9F FF70 ; [.32BD.0020.0011.30D8][.0000.0129.0002.309A][.32A4.0020.0007.30DA] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307A 30FC ; [.32BD.0020.0011.3078][.0000.0129.0002.309A][.32A4.0020.0007.307A] # <HIRAGANA LETTER PE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3078 309A 30FC ; [.32BD.0020.0011.3078][.0000.0129.0002.309A][.32A4.0020.0007.307A] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E1 30FC ; [.32C2.0020.0011.30E1][.32A4.0020.0007.30E1] # <KATAKANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF92 30FC ; [.32C2.0020.0011.30E1][.32A4.0020.0007.30E1] # <HALFWIDTH KATAKANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF92 FF70 ; [.32C2.0020.0011.30E1][.32A4.0020.0007.30E1] # <HALFWIDTH KATAKANA LETTER ME, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3081 30FC ; [.32C2.0020.0011.3081][.32A4.0020.0007.3081] # <HIRAGANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EC 30FC ; [.32CB.0020.0011.30EC][.32A4.0020.0007.30EC] # <KATAKANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9A 30FC ; [.32CB.0020.0011.30EC][.32A4.0020.0007.30EC] # <HALFWIDTH KATAKANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9A FF70 ; [.32CB.0020.0011.30EC][.32A4.0020.0007.30EC] # <HALFWIDTH KATAKANA LETTER RE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308C 30FC ; [.32CB.0020.0011.308C][.32A4.0020.0007.308C] # <HIRAGANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F1 30FC ; [.32CF.0020.0011.30F1][.32A4.0020.0007.30F1] # <KATAKANA LETTER WE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3091 30FC ; [.32CF.0020.0011.3091][.32A4.0020.0007.3091] # <HIRAGANA LETTER WE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F9 30FC ; [.32CF.0020.0011.30F1][.0000.0128.0002.3099][.32A4.0020.0007.30F9] # <KATAKANA LETTER VE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F1 3099 30FC ; [.32CF.0020.0011.30F1][.0000.0128.0002.3099][.32A4.0020.0007.30F9] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F6 30FC ; [.32A9.0020.000F.30F6][.32A4.0020.0007.30F6] # <KATAKANA LETTER SMALL KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3096 30FC ; [.32A9.0020.000F.3096][.32A4.0020.0007.3096] # <HIRAGANA LETTER SMALL KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F8 30FC ; [.32BD.0020.000F.31F8][.32A4.0020.0007.31F8] # <KATAKANA LETTER SMALL HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FE 30FC ; [.32CB.0020.000F.31FE][.32A4.0020.0007.31FE] # <KATAKANA LETTER SMALL RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A9 30FC ; [.32A5.0020.000F.30A9][.32A5.0020.0007.30A9] # <KATAKANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6B 30FC ; [.32A5.0020.000F.30A9][.32A5.0020.0007.30A9] # <HALFWIDTH KATAKANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6B FF70 ; [.32A5.0020.000F.30A9][.32A5.0020.0007.30A9] # <HALFWIDTH KATAKANA LETTER SMALL O, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3049 30FC ; [.32A5.0020.000F.3049][.32A5.0020.0007.3049] # <HIRAGANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AA 30FC ; [.32A5.0020.0011.30AA][.32A5.0020.0007.30AA] # <KATAKANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF75 30FC ; [.32A5.0020.0011.30AA][.32A5.0020.0007.30AA] # <HALFWIDTH KATAKANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF75 FF70 ; [.32A5.0020.0011.30AA][.32A5.0020.0007.30AA] # <HALFWIDTH KATAKANA LETTER O, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304A 30FC ; [.32A5.0020.0011.304A][.32A5.0020.0007.304A] # <HIRAGANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B3 30FC ; [.32AA.0020.0011.30B3][.32A5.0020.0007.30B3] # <KATAKANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A 30FC ; [.32AA.0020.0011.30B3][.32A5.0020.0007.30B3] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A FF70 ; [.32AA.0020.0011.30B3][.32A5.0020.0007.30B3] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3053 30FC ; [.32AA.0020.0011.3053][.32A5.0020.0007.3053] # <HIRAGANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B4 30FC ; [.32AA.0020.0011.30B3][.0000.0128.0002.3099][.32A5.0020.0007.30B4] # <KATAKANA LETTER GO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B3 3099 30FC ; [.32AA.0020.0011.30B3][.0000.0128.0002.3099][.32A5.0020.0007.30B4] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A FF9E 30FC ; [.32AA.0020.0011.30B3][.0000.0128.0002.3099][.32A5.0020.0007.30B4] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A FF9E FF70 ; [.32AA.0020.0011.30B3][.0000.0128.0002.3099][.32A5.0020.0007.30B4] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3054 30FC ; [.32AA.0020.0011.3053][.0000.0128.0002.3099][.32A5.0020.0007.3054] # <HIRAGANA LETTER GO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3053 3099 30FC ; [.32AA.0020.0011.3053][.0000.0128.0002.3099][.32A5.0020.0007.3054] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BD 30FC ; [.32AF.0020.0011.30BD][.32A5.0020.0007.30BD] # <KATAKANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F 30FC ; [.32AF.0020.0011.30BD][.32A5.0020.0007.30BD] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F FF70 ; [.32AF.0020.0011.30BD][.32A5.0020.0007.30BD] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305D 30FC ; [.32AF.0020.0011.305D][.32A5.0020.0007.305D] # <HIRAGANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BE 30FC ; [.32AF.0020.0011.30BD][.0000.0128.0002.3099][.32A5.0020.0007.30BE] # <KATAKANA LETTER ZO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BD 3099 30FC ; [.32AF.0020.0011.30BD][.0000.0128.0002.3099][.32A5.0020.0007.30BE] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F FF9E 30FC ; [.32AF.0020.0011.30BD][.0000.0128.0002.3099][.32A5.0020.0007.30BE] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F FF9E FF70 ; [.32AF.0020.0011.30BD][.0000.0128.0002.3099][.32A5.0020.0007.30BE] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305E 30FC ; [.32AF.0020.0011.305D][.0000.0128.0002.3099][.32A5.0020.0007.305E] # <HIRAGANA LETTER ZO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305D 3099 30FC ; [.32AF.0020.0011.305D][.0000.0128.0002.3099][.32A5.0020.0007.305E] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C8 30FC ; [.32B4.0020.0011.30C8][.32A5.0020.0007.30C8] # <KATAKANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 30FC ; [.32B4.0020.0011.30C8][.32A5.0020.0007.30C8] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 FF70 ; [.32B4.0020.0011.30C8][.32A5.0020.0007.30C8] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3068 30FC ; [.32B4.0020.0011.3068][.32A5.0020.0007.3068] # <HIRAGANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C9 30FC ; [.32B4.0020.0011.30C8][.0000.0128.0002.3099][.32A5.0020.0007.30C9] # <KATAKANA LETTER DO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C8 3099 30FC ; [.32B4.0020.0011.30C8][.0000.0128.0002.3099][.32A5.0020.0007.30C9] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 FF9E 30FC ; [.32B4.0020.0011.30C8][.0000.0128.0002.3099][.32A5.0020.0007.30C9] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 FF9E FF70 ; [.32B4.0020.0011.30C8][.0000.0128.0002.3099][.32A5.0020.0007.30C9] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3069 30FC ; [.32B4.0020.0011.3068][.0000.0128.0002.3099][.32A5.0020.0007.3069] # <HIRAGANA LETTER DO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3068 3099 30FC ; [.32B4.0020.0011.3068][.0000.0128.0002.3099][.32A5.0020.0007.3069] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CE 30FC ; [.32B9.0020.0011.30CE][.32A5.0020.0007.30CE] # <KATAKANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF89 30FC ; [.32B9.0020.0011.30CE][.32A5.0020.0007.30CE] # <HALFWIDTH KATAKANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF89 FF70 ; [.32B9.0020.0011.30CE][.32A5.0020.0007.30CE] # <HALFWIDTH KATAKANA LETTER NO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306E 30FC ; [.32B9.0020.0011.306E][.32A5.0020.0007.306E] # <HIRAGANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DB 30FC ; [.32BE.0020.0011.30DB][.32A5.0020.0007.30DB] # <KATAKANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E 30FC ; [.32BE.0020.0011.30DB][.32A5.0020.0007.30DB] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF70 ; [.32BE.0020.0011.30DB][.32A5.0020.0007.30DB] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307B 30FC ; [.32BE.0020.0011.307B][.32A5.0020.0007.307B] # <HIRAGANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DC 30FC ; [.32BE.0020.0011.30DB][.0000.0128.0002.3099][.32A5.0020.0007.30DC] # <KATAKANA LETTER BO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DB 3099 30FC ; [.32BE.0020.0011.30DB][.0000.0128.0002.3099][.32A5.0020.0007.30DC] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9E 30FC ; [.32BE.0020.0011.30DB][.0000.0128.0002.3099][.32A5.0020.0007.30DC] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9E FF70 ; [.32BE.0020.0011.30DB][.0000.0128.0002.3099][.32A5.0020.0007.30DC] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307C 30FC ; [.32BE.0020.0011.307B][.0000.0128.0002.3099][.32A5.0020.0007.307C] # <HIRAGANA LETTER BO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307B 3099 30FC ; [.32BE.0020.0011.307B][.0000.0128.0002.3099][.32A5.0020.0007.307C] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DD 30FC ; [.32BE.0020.0011.30DB][.0000.0129.0002.309A][.32A5.0020.0007.30DD] # <KATAKANA LETTER PO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DB 309A 30FC ; [.32BE.0020.0011.30DB][.0000.0129.0002.309A][.32A5.0020.0007.30DD] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9F 30FC ; [.32BE.0020.0011.30DB][.0000.0129.0002.309A][.32A5.0020.0007.30DD] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9F FF70 ; [.32BE.0020.0011.30DB][.0000.0129.0002.309A][.32A5.0020.0007.30DD] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307D 30FC ; [.32BE.0020.0011.307B][.0000.0129.0002.309A][.32A5.0020.0007.307D] # <HIRAGANA LETTER PO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307B 309A 30FC ; [.32BE.0020.0011.307B][.0000.0129.0002.309A][.32A5.0020.0007.307D] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E2 30FC ; [.32C3.0020.0011.30E2][.32A5.0020.0007.30E2] # <KATAKANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF93 30FC ; [.32C3.0020.0011.30E2][.32A5.0020.0007.30E2] # <HALFWIDTH KATAKANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF93 FF70 ; [.32C3.0020.0011.30E2][.32A5.0020.0007.30E2] # <HALFWIDTH KATAKANA LETTER MO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3082 30FC ; [.32C3.0020.0011.3082][.32A5.0020.0007.3082] # <HIRAGANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E7 30FC ; [.32C7.0020.000F.30E7][.32A5.0020.0007.30E7] # <KATAKANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6E 30FC ; [.32C7.0020.000F.30E7][.32A5.0020.0007.30E7] # <HALFWIDTH KATAKANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6E FF70 ; [.32C7.0020.000F.30E7][.32A5.0020.0007.30E7] # <HALFWIDTH KATAKANA LETTER SMALL YO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3087 30FC ; [.32C7.0020.000F.3087][.32A5.0020.0007.3087] # <HIRAGANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E8 30FC ; [.32C7.0020.0011.30E8][.32A5.0020.0007.30E8] # <KATAKANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF96 30FC ; [.32C7.0020.0011.30E8][.32A5.0020.0007.30E8] # <HALFWIDTH KATAKANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF96 FF70 ; [.32C7.0020.0011.30E8][.32A5.0020.0007.30E8] # <HALFWIDTH KATAKANA LETTER YO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3088 30FC ; [.32C7.0020.0011.3088][.32A5.0020.0007.3088] # <HIRAGANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30ED 30FC ; [.32CC.0020.0011.30ED][.32A5.0020.0007.30ED] # <KATAKANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9B 30FC ; [.32CC.0020.0011.30ED][.32A5.0020.0007.30ED] # <HALFWIDTH KATAKANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9B FF70 ; [.32CC.0020.0011.30ED][.32A5.0020.0007.30ED] # <HALFWIDTH KATAKANA LETTER RO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308D 30FC ; [.32CC.0020.0011.308D][.32A5.0020.0007.308D] # <HIRAGANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F2 30FC ; [.32D0.0020.0011.30F2][.32A5.0020.0007.30F2] # <KATAKANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 30FC ; [.32D0.0020.0011.30F2][.32A5.0020.0007.30F2] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 FF70 ; [.32D0.0020.0011.30F2][.32A5.0020.0007.30F2] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3092 30FC ; [.32D0.0020.0011.3092][.32A5.0020.0007.3092] # <HIRAGANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30FA 30FC ; [.32D0.0020.0011.30F2][.0000.0128.0002.3099][.32A5.0020.0007.30FA] # <KATAKANA LETTER VO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F2 3099 30FC ; [.32D0.0020.0011.30F2][.0000.0128.0002.3099][.32A5.0020.0007.30FA] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 FF9E 30FC ; [.32D0.0020.0011.30F2][.0000.0128.0002.3099][.32A5.0020.0007.30FA] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 FF9E FF70 ; [.32D0.0020.0011.30F2][.0000.0128.0002.3099][.32A5.0020.0007.30FA] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F3 30FC ; [.32B4.0020.000F.31F3][.32A5.0020.0007.31F3] # <KATAKANA LETTER SMALL TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F9 30FC ; [.32BE.0020.000F.31F9][.32A5.0020.0007.31F9] # <KATAKANA LETTER SMALL HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FF 30FC ; [.32CC.0020.000F.31FF][.32A5.0020.0007.31FF] # <KATAKANA LETTER SMALL RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A1 30FD ; [.32A0.0020.000F.30A1][.32A0.0020.0010.30A1] # <KATAKANA LETTER SMALL A, KATAKANA ITERATION MARK>
+FF67 30FD ; [.32A0.0020.000F.30A1][.32A0.0020.0010.30A1] # <HALFWIDTH KATAKANA LETTER SMALL A, KATAKANA ITERATION MARK>
+3041 309D ; [.32A0.0020.000F.3041][.32A0.0020.0010.3041] # <HIRAGANA LETTER SMALL A, HIRAGANA ITERATION MARK>
+30A2 30FD ; [.32A0.0020.0011.30A2][.32A0.0020.0010.30A2] # <KATAKANA LETTER A, KATAKANA ITERATION MARK>
+FF71 30FD ; [.32A0.0020.0011.30A2][.32A0.0020.0010.30A2] # <HALFWIDTH KATAKANA LETTER A, KATAKANA ITERATION MARK>
+3042 309D ; [.32A0.0020.0011.3042][.32A0.0020.0010.3042] # <HIRAGANA LETTER A, HIRAGANA ITERATION MARK>
+30A3 30FD ; [.32A1.0020.000F.30A3][.32A1.0020.0010.30A3] # <KATAKANA LETTER SMALL I, KATAKANA ITERATION MARK>
+FF68 30FD ; [.32A1.0020.000F.30A3][.32A1.0020.0010.30A3] # <HALFWIDTH KATAKANA LETTER SMALL I, KATAKANA ITERATION MARK>
+3043 309D ; [.32A1.0020.000F.3043][.32A1.0020.0010.3043] # <HIRAGANA LETTER SMALL I, HIRAGANA ITERATION MARK>
+30A4 30FD ; [.32A1.0020.0011.30A4][.32A1.0020.0010.30A4] # <KATAKANA LETTER I, KATAKANA ITERATION MARK>
+FF72 30FD ; [.32A1.0020.0011.30A4][.32A1.0020.0010.30A4] # <HALFWIDTH KATAKANA LETTER I, KATAKANA ITERATION MARK>
+3044 309D ; [.32A1.0020.0011.3044][.32A1.0020.0010.3044] # <HIRAGANA LETTER I, HIRAGANA ITERATION MARK>
+30A5 30FD ; [.32A2.0020.000F.30A5][.32A2.0020.0010.30A5] # <KATAKANA LETTER SMALL U, KATAKANA ITERATION MARK>
+FF69 30FD ; [.32A2.0020.000F.30A5][.32A2.0020.0010.30A5] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA ITERATION MARK>
+3045 309D ; [.32A2.0020.000F.3045][.32A2.0020.0010.3045] # <HIRAGANA LETTER SMALL U, HIRAGANA ITERATION MARK>
+30A5 30FE ; [.32A2.0020.000F.30A5][.32A2.0020.0010.30A5][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL U, KATAKANA VOICED ITERATION MARK>
+FF69 30FE ; [.32A2.0020.000F.30A5][.32A2.0020.0010.30A5][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA VOICED ITERATION MARK>
+3045 309E ; [.32A2.0020.000F.3045][.32A2.0020.0010.3045][.0000.0128.0002.3099] # <HIRAGANA LETTER SMALL U, HIRAGANA VOICED ITERATION MARK>
+30A6 30FD ; [.32A2.0020.0011.30A6][.32A2.0020.0010.30A6] # <KATAKANA LETTER U, KATAKANA ITERATION MARK>
+FF73 30FD ; [.32A2.0020.0011.30A6][.32A2.0020.0010.30A6] # <HALFWIDTH KATAKANA LETTER U, KATAKANA ITERATION MARK>
+3046 309D ; [.32A2.0020.0011.3046][.32A2.0020.0010.3046] # <HIRAGANA LETTER U, HIRAGANA ITERATION MARK>
+30A6 30FE ; [.32A2.0020.0011.30A6][.32A2.0020.0010.30A6][.0000.0128.0002.3099] # <KATAKANA LETTER U, KATAKANA VOICED ITERATION MARK>
+FF73 30FE ; [.32A2.0020.0011.30A6][.32A2.0020.0010.30A6][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER U, KATAKANA VOICED ITERATION MARK>
+3046 309E ; [.32A2.0020.0011.3046][.32A2.0020.0010.3046][.0000.0128.0002.3099] # <HIRAGANA LETTER U, HIRAGANA VOICED ITERATION MARK>
+30A7 30FD ; [.32A4.0020.000F.30A7][.32A4.0020.0010.30A7] # <KATAKANA LETTER SMALL E, KATAKANA ITERATION MARK>
+FF6A 30FD ; [.32A4.0020.000F.30A7][.32A4.0020.0010.30A7] # <HALFWIDTH KATAKANA LETTER SMALL E, KATAKANA ITERATION MARK>
+3047 309D ; [.32A4.0020.000F.3047][.32A4.0020.0010.3047] # <HIRAGANA LETTER SMALL E, HIRAGANA ITERATION MARK>
+30A8 30FD ; [.32A4.0020.0011.30A8][.32A4.0020.0010.30A8] # <KATAKANA LETTER E, KATAKANA ITERATION MARK>
+FF74 30FD ; [.32A4.0020.0011.30A8][.32A4.0020.0010.30A8] # <HALFWIDTH KATAKANA LETTER E, KATAKANA ITERATION MARK>
+3048 309D ; [.32A4.0020.0011.3048][.32A4.0020.0010.3048] # <HIRAGANA LETTER E, HIRAGANA ITERATION MARK>
+30A9 30FD ; [.32A5.0020.000F.30A9][.32A5.0020.0010.30A9] # <KATAKANA LETTER SMALL O, KATAKANA ITERATION MARK>
+FF6B 30FD ; [.32A5.0020.000F.30A9][.32A5.0020.0010.30A9] # <HALFWIDTH KATAKANA LETTER SMALL O, KATAKANA ITERATION MARK>
+3049 309D ; [.32A5.0020.000F.3049][.32A5.0020.0010.3049] # <HIRAGANA LETTER SMALL O, HIRAGANA ITERATION MARK>
+30AA 30FD ; [.32A5.0020.0011.30AA][.32A5.0020.0010.30AA] # <KATAKANA LETTER O, KATAKANA ITERATION MARK>
+FF75 30FD ; [.32A5.0020.0011.30AA][.32A5.0020.0010.30AA] # <HALFWIDTH KATAKANA LETTER O, KATAKANA ITERATION MARK>
+304A 309D ; [.32A5.0020.0011.304A][.32A5.0020.0010.304A] # <HIRAGANA LETTER O, HIRAGANA ITERATION MARK>
+30AB 30FD ; [.32A6.0020.0011.30AB][.32A6.0020.0010.30AB] # <KATAKANA LETTER KA, KATAKANA ITERATION MARK>
+FF76 30FD ; [.32A6.0020.0011.30AB][.32A6.0020.0010.30AB] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA ITERATION MARK>
+304B 309D ; [.32A6.0020.0011.304B][.32A6.0020.0010.304B] # <HIRAGANA LETTER KA, HIRAGANA ITERATION MARK>
+30AB 30FE ; [.32A6.0020.0011.30AB][.32A6.0020.0010.30AB][.0000.0128.0002.3099] # <KATAKANA LETTER KA, KATAKANA VOICED ITERATION MARK>
+FF76 30FE ; [.32A6.0020.0011.30AB][.32A6.0020.0010.30AB][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA VOICED ITERATION MARK>
+304B 309E ; [.32A6.0020.0011.304B][.32A6.0020.0010.304B][.0000.0128.0002.3099] # <HIRAGANA LETTER KA, HIRAGANA VOICED ITERATION MARK>
+30AC 30FD ; [.32A6.0020.0011.30AB][.0000.0128.0002.3099][.32A6.0020.0010.30AC] # <KATAKANA LETTER GA, KATAKANA ITERATION MARK>
+30AB 3099 30FD ; [.32A6.0020.0011.30AB][.0000.0128.0002.3099][.32A6.0020.0010.30AC] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF76 FF9E 30FD ; [.32A6.0020.0011.30AB][.0000.0128.0002.3099][.32A6.0020.0010.30AC] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+304C 309D ; [.32A6.0020.0011.304B][.0000.0128.0002.3099][.32A6.0020.0010.304C] # <HIRAGANA LETTER GA, HIRAGANA ITERATION MARK>
+304B 3099 309D ; [.32A6.0020.0011.304B][.0000.0128.0002.3099][.32A6.0020.0010.304C] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30AC 30FE ; [.32A6.0020.0011.30AB][.0000.0128.0002.3099][.32A6.0020.0010.30AC][.0000.0128.0002.3099] # <KATAKANA LETTER GA, KATAKANA VOICED ITERATION MARK>
+30AB 3099 30FE ; [.32A6.0020.0011.30AB][.0000.0128.0002.3099][.32A6.0020.0010.30AC][.0000.0128.0002.3099] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF76 FF9E 30FE ; [.32A6.0020.0011.30AB][.0000.0128.0002.3099][.32A6.0020.0010.30AC][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+304C 309E ; [.32A6.0020.0011.304B][.0000.0128.0002.3099][.32A6.0020.0010.304C][.0000.0128.0002.3099] # <HIRAGANA LETTER GA, HIRAGANA VOICED ITERATION MARK>
+304B 3099 309E ; [.32A6.0020.0011.304B][.0000.0128.0002.3099][.32A6.0020.0010.304C][.0000.0128.0002.3099] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30AD 30FD ; [.32A7.0020.0011.30AD][.32A7.0020.0010.30AD] # <KATAKANA LETTER KI, KATAKANA ITERATION MARK>
+FF77 30FD ; [.32A7.0020.0011.30AD][.32A7.0020.0010.30AD] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA ITERATION MARK>
+304D 309D ; [.32A7.0020.0011.304D][.32A7.0020.0010.304D] # <HIRAGANA LETTER KI, HIRAGANA ITERATION MARK>
+30AD 30FE ; [.32A7.0020.0011.30AD][.32A7.0020.0010.30AD][.0000.0128.0002.3099] # <KATAKANA LETTER KI, KATAKANA VOICED ITERATION MARK>
+FF77 30FE ; [.32A7.0020.0011.30AD][.32A7.0020.0010.30AD][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA VOICED ITERATION MARK>
+304D 309E ; [.32A7.0020.0011.304D][.32A7.0020.0010.304D][.0000.0128.0002.3099] # <HIRAGANA LETTER KI, HIRAGANA VOICED ITERATION MARK>
+30AE 30FD ; [.32A7.0020.0011.30AD][.0000.0128.0002.3099][.32A7.0020.0010.30AE] # <KATAKANA LETTER GI, KATAKANA ITERATION MARK>
+30AD 3099 30FD ; [.32A7.0020.0011.30AD][.0000.0128.0002.3099][.32A7.0020.0010.30AE] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF77 FF9E 30FD ; [.32A7.0020.0011.30AD][.0000.0128.0002.3099][.32A7.0020.0010.30AE] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+304E 309D ; [.32A7.0020.0011.304D][.0000.0128.0002.3099][.32A7.0020.0010.304E] # <HIRAGANA LETTER GI, HIRAGANA ITERATION MARK>
+304D 3099 309D ; [.32A7.0020.0011.304D][.0000.0128.0002.3099][.32A7.0020.0010.304E] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30AE 30FE ; [.32A7.0020.0011.30AD][.0000.0128.0002.3099][.32A7.0020.0010.30AE][.0000.0128.0002.3099] # <KATAKANA LETTER GI, KATAKANA VOICED ITERATION MARK>
+30AD 3099 30FE ; [.32A7.0020.0011.30AD][.0000.0128.0002.3099][.32A7.0020.0010.30AE][.0000.0128.0002.3099] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF77 FF9E 30FE ; [.32A7.0020.0011.30AD][.0000.0128.0002.3099][.32A7.0020.0010.30AE][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+304E 309E ; [.32A7.0020.0011.304D][.0000.0128.0002.3099][.32A7.0020.0010.304E][.0000.0128.0002.3099] # <HIRAGANA LETTER GI, HIRAGANA VOICED ITERATION MARK>
+304D 3099 309E ; [.32A7.0020.0011.304D][.0000.0128.0002.3099][.32A7.0020.0010.304E][.0000.0128.0002.3099] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30AF 30FD ; [.32A8.0020.0011.30AF][.32A8.0020.0010.30AF] # <KATAKANA LETTER KU, KATAKANA ITERATION MARK>
+FF78 30FD ; [.32A8.0020.0011.30AF][.32A8.0020.0010.30AF] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA ITERATION MARK>
+304F 309D ; [.32A8.0020.0011.304F][.32A8.0020.0010.304F] # <HIRAGANA LETTER KU, HIRAGANA ITERATION MARK>
+30AF 30FE ; [.32A8.0020.0011.30AF][.32A8.0020.0010.30AF][.0000.0128.0002.3099] # <KATAKANA LETTER KU, KATAKANA VOICED ITERATION MARK>
+FF78 30FE ; [.32A8.0020.0011.30AF][.32A8.0020.0010.30AF][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA VOICED ITERATION MARK>
+304F 309E ; [.32A8.0020.0011.304F][.32A8.0020.0010.304F][.0000.0128.0002.3099] # <HIRAGANA LETTER KU, HIRAGANA VOICED ITERATION MARK>
+30B0 30FD ; [.32A8.0020.0011.30AF][.0000.0128.0002.3099][.32A8.0020.0010.30B0] # <KATAKANA LETTER GU, KATAKANA ITERATION MARK>
+30AF 3099 30FD ; [.32A8.0020.0011.30AF][.0000.0128.0002.3099][.32A8.0020.0010.30B0] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF78 FF9E 30FD ; [.32A8.0020.0011.30AF][.0000.0128.0002.3099][.32A8.0020.0010.30B0] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3050 309D ; [.32A8.0020.0011.304F][.0000.0128.0002.3099][.32A8.0020.0010.3050] # <HIRAGANA LETTER GU, HIRAGANA ITERATION MARK>
+304F 3099 309D ; [.32A8.0020.0011.304F][.0000.0128.0002.3099][.32A8.0020.0010.3050] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B0 30FE ; [.32A8.0020.0011.30AF][.0000.0128.0002.3099][.32A8.0020.0010.30B0][.0000.0128.0002.3099] # <KATAKANA LETTER GU, KATAKANA VOICED ITERATION MARK>
+30AF 3099 30FE ; [.32A8.0020.0011.30AF][.0000.0128.0002.3099][.32A8.0020.0010.30B0][.0000.0128.0002.3099] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF78 FF9E 30FE ; [.32A8.0020.0011.30AF][.0000.0128.0002.3099][.32A8.0020.0010.30B0][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3050 309E ; [.32A8.0020.0011.304F][.0000.0128.0002.3099][.32A8.0020.0010.3050][.0000.0128.0002.3099] # <HIRAGANA LETTER GU, HIRAGANA VOICED ITERATION MARK>
+304F 3099 309E ; [.32A8.0020.0011.304F][.0000.0128.0002.3099][.32A8.0020.0010.3050][.0000.0128.0002.3099] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B1 30FD ; [.32A9.0020.0011.30B1][.32A9.0020.0010.30B1] # <KATAKANA LETTER KE, KATAKANA ITERATION MARK>
+FF79 30FD ; [.32A9.0020.0011.30B1][.32A9.0020.0010.30B1] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA ITERATION MARK>
+3051 309D ; [.32A9.0020.0011.3051][.32A9.0020.0010.3051] # <HIRAGANA LETTER KE, HIRAGANA ITERATION MARK>
+30B1 30FE ; [.32A9.0020.0011.30B1][.32A9.0020.0010.30B1][.0000.0128.0002.3099] # <KATAKANA LETTER KE, KATAKANA VOICED ITERATION MARK>
+FF79 30FE ; [.32A9.0020.0011.30B1][.32A9.0020.0010.30B1][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA VOICED ITERATION MARK>
+3051 309E ; [.32A9.0020.0011.3051][.32A9.0020.0010.3051][.0000.0128.0002.3099] # <HIRAGANA LETTER KE, HIRAGANA VOICED ITERATION MARK>
+30B2 30FD ; [.32A9.0020.0011.30B1][.0000.0128.0002.3099][.32A9.0020.0010.30B2] # <KATAKANA LETTER GE, KATAKANA ITERATION MARK>
+30B1 3099 30FD ; [.32A9.0020.0011.30B1][.0000.0128.0002.3099][.32A9.0020.0010.30B2] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF79 FF9E 30FD ; [.32A9.0020.0011.30B1][.0000.0128.0002.3099][.32A9.0020.0010.30B2] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3052 309D ; [.32A9.0020.0011.3051][.0000.0128.0002.3099][.32A9.0020.0010.3052] # <HIRAGANA LETTER GE, HIRAGANA ITERATION MARK>
+3051 3099 309D ; [.32A9.0020.0011.3051][.0000.0128.0002.3099][.32A9.0020.0010.3052] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B2 30FE ; [.32A9.0020.0011.30B1][.0000.0128.0002.3099][.32A9.0020.0010.30B2][.0000.0128.0002.3099] # <KATAKANA LETTER GE, KATAKANA VOICED ITERATION MARK>
+30B1 3099 30FE ; [.32A9.0020.0011.30B1][.0000.0128.0002.3099][.32A9.0020.0010.30B2][.0000.0128.0002.3099] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF79 FF9E 30FE ; [.32A9.0020.0011.30B1][.0000.0128.0002.3099][.32A9.0020.0010.30B2][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3052 309E ; [.32A9.0020.0011.3051][.0000.0128.0002.3099][.32A9.0020.0010.3052][.0000.0128.0002.3099] # <HIRAGANA LETTER GE, HIRAGANA VOICED ITERATION MARK>
+3051 3099 309E ; [.32A9.0020.0011.3051][.0000.0128.0002.3099][.32A9.0020.0010.3052][.0000.0128.0002.3099] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B3 30FD ; [.32AA.0020.0011.30B3][.32AA.0020.0010.30B3] # <KATAKANA LETTER KO, KATAKANA ITERATION MARK>
+FF7A 30FD ; [.32AA.0020.0011.30B3][.32AA.0020.0010.30B3] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA ITERATION MARK>
+3053 309D ; [.32AA.0020.0011.3053][.32AA.0020.0010.3053] # <HIRAGANA LETTER KO, HIRAGANA ITERATION MARK>
+30B3 30FE ; [.32AA.0020.0011.30B3][.32AA.0020.0010.30B3][.0000.0128.0002.3099] # <KATAKANA LETTER KO, KATAKANA VOICED ITERATION MARK>
+FF7A 30FE ; [.32AA.0020.0011.30B3][.32AA.0020.0010.30B3][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA VOICED ITERATION MARK>
+3053 309E ; [.32AA.0020.0011.3053][.32AA.0020.0010.3053][.0000.0128.0002.3099] # <HIRAGANA LETTER KO, HIRAGANA VOICED ITERATION MARK>
+30B4 30FD ; [.32AA.0020.0011.30B3][.0000.0128.0002.3099][.32AA.0020.0010.30B4] # <KATAKANA LETTER GO, KATAKANA ITERATION MARK>
+30B3 3099 30FD ; [.32AA.0020.0011.30B3][.0000.0128.0002.3099][.32AA.0020.0010.30B4] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7A FF9E 30FD ; [.32AA.0020.0011.30B3][.0000.0128.0002.3099][.32AA.0020.0010.30B4] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3054 309D ; [.32AA.0020.0011.3053][.0000.0128.0002.3099][.32AA.0020.0010.3054] # <HIRAGANA LETTER GO, HIRAGANA ITERATION MARK>
+3053 3099 309D ; [.32AA.0020.0011.3053][.0000.0128.0002.3099][.32AA.0020.0010.3054] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B4 30FE ; [.32AA.0020.0011.30B3][.0000.0128.0002.3099][.32AA.0020.0010.30B4][.0000.0128.0002.3099] # <KATAKANA LETTER GO, KATAKANA VOICED ITERATION MARK>
+30B3 3099 30FE ; [.32AA.0020.0011.30B3][.0000.0128.0002.3099][.32AA.0020.0010.30B4][.0000.0128.0002.3099] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7A FF9E 30FE ; [.32AA.0020.0011.30B3][.0000.0128.0002.3099][.32AA.0020.0010.30B4][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3054 309E ; [.32AA.0020.0011.3053][.0000.0128.0002.3099][.32AA.0020.0010.3054][.0000.0128.0002.3099] # <HIRAGANA LETTER GO, HIRAGANA VOICED ITERATION MARK>
+3053 3099 309E ; [.32AA.0020.0011.3053][.0000.0128.0002.3099][.32AA.0020.0010.3054][.0000.0128.0002.3099] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B5 30FD ; [.32AB.0020.0011.30B5][.32AB.0020.0010.30B5] # <KATAKANA LETTER SA, KATAKANA ITERATION MARK>
+FF7B 30FD ; [.32AB.0020.0011.30B5][.32AB.0020.0010.30B5] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA ITERATION MARK>
+3055 309D ; [.32AB.0020.0011.3055][.32AB.0020.0010.3055] # <HIRAGANA LETTER SA, HIRAGANA ITERATION MARK>
+30B5 30FE ; [.32AB.0020.0011.30B5][.32AB.0020.0010.30B5][.0000.0128.0002.3099] # <KATAKANA LETTER SA, KATAKANA VOICED ITERATION MARK>
+FF7B 30FE ; [.32AB.0020.0011.30B5][.32AB.0020.0010.30B5][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA VOICED ITERATION MARK>
+3055 309E ; [.32AB.0020.0011.3055][.32AB.0020.0010.3055][.0000.0128.0002.3099] # <HIRAGANA LETTER SA, HIRAGANA VOICED ITERATION MARK>
+30B6 30FD ; [.32AB.0020.0011.30B5][.0000.0128.0002.3099][.32AB.0020.0010.30B6] # <KATAKANA LETTER ZA, KATAKANA ITERATION MARK>
+30B5 3099 30FD ; [.32AB.0020.0011.30B5][.0000.0128.0002.3099][.32AB.0020.0010.30B6] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7B FF9E 30FD ; [.32AB.0020.0011.30B5][.0000.0128.0002.3099][.32AB.0020.0010.30B6] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3056 309D ; [.32AB.0020.0011.3055][.0000.0128.0002.3099][.32AB.0020.0010.3056] # <HIRAGANA LETTER ZA, HIRAGANA ITERATION MARK>
+3055 3099 309D ; [.32AB.0020.0011.3055][.0000.0128.0002.3099][.32AB.0020.0010.3056] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B6 30FE ; [.32AB.0020.0011.30B5][.0000.0128.0002.3099][.32AB.0020.0010.30B6][.0000.0128.0002.3099] # <KATAKANA LETTER ZA, KATAKANA VOICED ITERATION MARK>
+30B5 3099 30FE ; [.32AB.0020.0011.30B5][.0000.0128.0002.3099][.32AB.0020.0010.30B6][.0000.0128.0002.3099] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7B FF9E 30FE ; [.32AB.0020.0011.30B5][.0000.0128.0002.3099][.32AB.0020.0010.30B6][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3056 309E ; [.32AB.0020.0011.3055][.0000.0128.0002.3099][.32AB.0020.0010.3056][.0000.0128.0002.3099] # <HIRAGANA LETTER ZA, HIRAGANA VOICED ITERATION MARK>
+3055 3099 309E ; [.32AB.0020.0011.3055][.0000.0128.0002.3099][.32AB.0020.0010.3056][.0000.0128.0002.3099] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B7 30FD ; [.32AC.0020.0011.30B7][.32AC.0020.0010.30B7] # <KATAKANA LETTER SI, KATAKANA ITERATION MARK>
+FF7C 30FD ; [.32AC.0020.0011.30B7][.32AC.0020.0010.30B7] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA ITERATION MARK>
+3057 309D ; [.32AC.0020.0011.3057][.32AC.0020.0010.3057] # <HIRAGANA LETTER SI, HIRAGANA ITERATION MARK>
+30B7 30FE ; [.32AC.0020.0011.30B7][.32AC.0020.0010.30B7][.0000.0128.0002.3099] # <KATAKANA LETTER SI, KATAKANA VOICED ITERATION MARK>
+FF7C 30FE ; [.32AC.0020.0011.30B7][.32AC.0020.0010.30B7][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA VOICED ITERATION MARK>
+3057 309E ; [.32AC.0020.0011.3057][.32AC.0020.0010.3057][.0000.0128.0002.3099] # <HIRAGANA LETTER SI, HIRAGANA VOICED ITERATION MARK>
+30B8 30FD ; [.32AC.0020.0011.30B7][.0000.0128.0002.3099][.32AC.0020.0010.30B8] # <KATAKANA LETTER ZI, KATAKANA ITERATION MARK>
+30B7 3099 30FD ; [.32AC.0020.0011.30B7][.0000.0128.0002.3099][.32AC.0020.0010.30B8] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7C FF9E 30FD ; [.32AC.0020.0011.30B7][.0000.0128.0002.3099][.32AC.0020.0010.30B8] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3058 309D ; [.32AC.0020.0011.3057][.0000.0128.0002.3099][.32AC.0020.0010.3058] # <HIRAGANA LETTER ZI, HIRAGANA ITERATION MARK>
+3057 3099 309D ; [.32AC.0020.0011.3057][.0000.0128.0002.3099][.32AC.0020.0010.3058] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B8 30FE ; [.32AC.0020.0011.30B7][.0000.0128.0002.3099][.32AC.0020.0010.30B8][.0000.0128.0002.3099] # <KATAKANA LETTER ZI, KATAKANA VOICED ITERATION MARK>
+30B7 3099 30FE ; [.32AC.0020.0011.30B7][.0000.0128.0002.3099][.32AC.0020.0010.30B8][.0000.0128.0002.3099] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7C FF9E 30FE ; [.32AC.0020.0011.30B7][.0000.0128.0002.3099][.32AC.0020.0010.30B8][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3058 309E ; [.32AC.0020.0011.3057][.0000.0128.0002.3099][.32AC.0020.0010.3058][.0000.0128.0002.3099] # <HIRAGANA LETTER ZI, HIRAGANA VOICED ITERATION MARK>
+3057 3099 309E ; [.32AC.0020.0011.3057][.0000.0128.0002.3099][.32AC.0020.0010.3058][.0000.0128.0002.3099] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B9 30FD ; [.32AD.0020.0011.30B9][.32AD.0020.0010.30B9] # <KATAKANA LETTER SU, KATAKANA ITERATION MARK>
+FF7D 30FD ; [.32AD.0020.0011.30B9][.32AD.0020.0010.30B9] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA ITERATION MARK>
+3059 309D ; [.32AD.0020.0011.3059][.32AD.0020.0010.3059] # <HIRAGANA LETTER SU, HIRAGANA ITERATION MARK>
+30B9 30FE ; [.32AD.0020.0011.30B9][.32AD.0020.0010.30B9][.0000.0128.0002.3099] # <KATAKANA LETTER SU, KATAKANA VOICED ITERATION MARK>
+FF7D 30FE ; [.32AD.0020.0011.30B9][.32AD.0020.0010.30B9][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA VOICED ITERATION MARK>
+3059 309E ; [.32AD.0020.0011.3059][.32AD.0020.0010.3059][.0000.0128.0002.3099] # <HIRAGANA LETTER SU, HIRAGANA VOICED ITERATION MARK>
+30BA 30FD ; [.32AD.0020.0011.30B9][.0000.0128.0002.3099][.32AD.0020.0010.30BA] # <KATAKANA LETTER ZU, KATAKANA ITERATION MARK>
+30B9 3099 30FD ; [.32AD.0020.0011.30B9][.0000.0128.0002.3099][.32AD.0020.0010.30BA] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7D FF9E 30FD ; [.32AD.0020.0011.30B9][.0000.0128.0002.3099][.32AD.0020.0010.30BA] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+305A 309D ; [.32AD.0020.0011.3059][.0000.0128.0002.3099][.32AD.0020.0010.305A] # <HIRAGANA LETTER ZU, HIRAGANA ITERATION MARK>
+3059 3099 309D ; [.32AD.0020.0011.3059][.0000.0128.0002.3099][.32AD.0020.0010.305A] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30BA 30FE ; [.32AD.0020.0011.30B9][.0000.0128.0002.3099][.32AD.0020.0010.30BA][.0000.0128.0002.3099] # <KATAKANA LETTER ZU, KATAKANA VOICED ITERATION MARK>
+30B9 3099 30FE ; [.32AD.0020.0011.30B9][.0000.0128.0002.3099][.32AD.0020.0010.30BA][.0000.0128.0002.3099] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7D FF9E 30FE ; [.32AD.0020.0011.30B9][.0000.0128.0002.3099][.32AD.0020.0010.30BA][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+305A 309E ; [.32AD.0020.0011.3059][.0000.0128.0002.3099][.32AD.0020.0010.305A][.0000.0128.0002.3099] # <HIRAGANA LETTER ZU, HIRAGANA VOICED ITERATION MARK>
+3059 3099 309E ; [.32AD.0020.0011.3059][.0000.0128.0002.3099][.32AD.0020.0010.305A][.0000.0128.0002.3099] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30BB 30FD ; [.32AE.0020.0011.30BB][.32AE.0020.0010.30BB] # <KATAKANA LETTER SE, KATAKANA ITERATION MARK>
+FF7E 30FD ; [.32AE.0020.0011.30BB][.32AE.0020.0010.30BB] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA ITERATION MARK>
+305B 309D ; [.32AE.0020.0011.305B][.32AE.0020.0010.305B] # <HIRAGANA LETTER SE, HIRAGANA ITERATION MARK>
+30BB 30FE ; [.32AE.0020.0011.30BB][.32AE.0020.0010.30BB][.0000.0128.0002.3099] # <KATAKANA LETTER SE, KATAKANA VOICED ITERATION MARK>
+FF7E 30FE ; [.32AE.0020.0011.30BB][.32AE.0020.0010.30BB][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA VOICED ITERATION MARK>
+305B 309E ; [.32AE.0020.0011.305B][.32AE.0020.0010.305B][.0000.0128.0002.3099] # <HIRAGANA LETTER SE, HIRAGANA VOICED ITERATION MARK>
+30BC 30FD ; [.32AE.0020.0011.30BB][.0000.0128.0002.3099][.32AE.0020.0010.30BC] # <KATAKANA LETTER ZE, KATAKANA ITERATION MARK>
+30BB 3099 30FD ; [.32AE.0020.0011.30BB][.0000.0128.0002.3099][.32AE.0020.0010.30BC] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7E FF9E 30FD ; [.32AE.0020.0011.30BB][.0000.0128.0002.3099][.32AE.0020.0010.30BC] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+305C 309D ; [.32AE.0020.0011.305B][.0000.0128.0002.3099][.32AE.0020.0010.305C] # <HIRAGANA LETTER ZE, HIRAGANA ITERATION MARK>
+305B 3099 309D ; [.32AE.0020.0011.305B][.0000.0128.0002.3099][.32AE.0020.0010.305C] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30BC 30FE ; [.32AE.0020.0011.30BB][.0000.0128.0002.3099][.32AE.0020.0010.30BC][.0000.0128.0002.3099] # <KATAKANA LETTER ZE, KATAKANA VOICED ITERATION MARK>
+30BB 3099 30FE ; [.32AE.0020.0011.30BB][.0000.0128.0002.3099][.32AE.0020.0010.30BC][.0000.0128.0002.3099] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7E FF9E 30FE ; [.32AE.0020.0011.30BB][.0000.0128.0002.3099][.32AE.0020.0010.30BC][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+305C 309E ; [.32AE.0020.0011.305B][.0000.0128.0002.3099][.32AE.0020.0010.305C][.0000.0128.0002.3099] # <HIRAGANA LETTER ZE, HIRAGANA VOICED ITERATION MARK>
+305B 3099 309E ; [.32AE.0020.0011.305B][.0000.0128.0002.3099][.32AE.0020.0010.305C][.0000.0128.0002.3099] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30BD 30FD ; [.32AF.0020.0011.30BD][.32AF.0020.0010.30BD] # <KATAKANA LETTER SO, KATAKANA ITERATION MARK>
+FF7F 30FD ; [.32AF.0020.0011.30BD][.32AF.0020.0010.30BD] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA ITERATION MARK>
+305D 309D ; [.32AF.0020.0011.305D][.32AF.0020.0010.305D] # <HIRAGANA LETTER SO, HIRAGANA ITERATION MARK>
+30BD 30FE ; [.32AF.0020.0011.30BD][.32AF.0020.0010.30BD][.0000.0128.0002.3099] # <KATAKANA LETTER SO, KATAKANA VOICED ITERATION MARK>
+FF7F 30FE ; [.32AF.0020.0011.30BD][.32AF.0020.0010.30BD][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA VOICED ITERATION MARK>
+305D 309E ; [.32AF.0020.0011.305D][.32AF.0020.0010.305D][.0000.0128.0002.3099] # <HIRAGANA LETTER SO, HIRAGANA VOICED ITERATION MARK>
+30BE 30FD ; [.32AF.0020.0011.30BD][.0000.0128.0002.3099][.32AF.0020.0010.30BE] # <KATAKANA LETTER ZO, KATAKANA ITERATION MARK>
+30BD 3099 30FD ; [.32AF.0020.0011.30BD][.0000.0128.0002.3099][.32AF.0020.0010.30BE] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7F FF9E 30FD ; [.32AF.0020.0011.30BD][.0000.0128.0002.3099][.32AF.0020.0010.30BE] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+305E 309D ; [.32AF.0020.0011.305D][.0000.0128.0002.3099][.32AF.0020.0010.305E] # <HIRAGANA LETTER ZO, HIRAGANA ITERATION MARK>
+305D 3099 309D ; [.32AF.0020.0011.305D][.0000.0128.0002.3099][.32AF.0020.0010.305E] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30BE 30FE ; [.32AF.0020.0011.30BD][.0000.0128.0002.3099][.32AF.0020.0010.30BE][.0000.0128.0002.3099] # <KATAKANA LETTER ZO, KATAKANA VOICED ITERATION MARK>
+30BD 3099 30FE ; [.32AF.0020.0011.30BD][.0000.0128.0002.3099][.32AF.0020.0010.30BE][.0000.0128.0002.3099] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7F FF9E 30FE ; [.32AF.0020.0011.30BD][.0000.0128.0002.3099][.32AF.0020.0010.30BE][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+305E 309E ; [.32AF.0020.0011.305D][.0000.0128.0002.3099][.32AF.0020.0010.305E][.0000.0128.0002.3099] # <HIRAGANA LETTER ZO, HIRAGANA VOICED ITERATION MARK>
+305D 3099 309E ; [.32AF.0020.0011.305D][.0000.0128.0002.3099][.32AF.0020.0010.305E][.0000.0128.0002.3099] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30BF 30FD ; [.32B0.0020.0011.30BF][.32B0.0020.0010.30BF] # <KATAKANA LETTER TA, KATAKANA ITERATION MARK>
+FF80 30FD ; [.32B0.0020.0011.30BF][.32B0.0020.0010.30BF] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA ITERATION MARK>
+305F 309D ; [.32B0.0020.0011.305F][.32B0.0020.0010.305F] # <HIRAGANA LETTER TA, HIRAGANA ITERATION MARK>
+30BF 30FE ; [.32B0.0020.0011.30BF][.32B0.0020.0010.30BF][.0000.0128.0002.3099] # <KATAKANA LETTER TA, KATAKANA VOICED ITERATION MARK>
+FF80 30FE ; [.32B0.0020.0011.30BF][.32B0.0020.0010.30BF][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA VOICED ITERATION MARK>
+305F 309E ; [.32B0.0020.0011.305F][.32B0.0020.0010.305F][.0000.0128.0002.3099] # <HIRAGANA LETTER TA, HIRAGANA VOICED ITERATION MARK>
+30C0 30FD ; [.32B0.0020.0011.30BF][.0000.0128.0002.3099][.32B0.0020.0010.30C0] # <KATAKANA LETTER DA, KATAKANA ITERATION MARK>
+30BF 3099 30FD ; [.32B0.0020.0011.30BF][.0000.0128.0002.3099][.32B0.0020.0010.30C0] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF80 FF9E 30FD ; [.32B0.0020.0011.30BF][.0000.0128.0002.3099][.32B0.0020.0010.30C0] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3060 309D ; [.32B0.0020.0011.305F][.0000.0128.0002.3099][.32B0.0020.0010.3060] # <HIRAGANA LETTER DA, HIRAGANA ITERATION MARK>
+305F 3099 309D ; [.32B0.0020.0011.305F][.0000.0128.0002.3099][.32B0.0020.0010.3060] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C0 30FE ; [.32B0.0020.0011.30BF][.0000.0128.0002.3099][.32B0.0020.0010.30C0][.0000.0128.0002.3099] # <KATAKANA LETTER DA, KATAKANA VOICED ITERATION MARK>
+30BF 3099 30FE ; [.32B0.0020.0011.30BF][.0000.0128.0002.3099][.32B0.0020.0010.30C0][.0000.0128.0002.3099] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF80 FF9E 30FE ; [.32B0.0020.0011.30BF][.0000.0128.0002.3099][.32B0.0020.0010.30C0][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3060 309E ; [.32B0.0020.0011.305F][.0000.0128.0002.3099][.32B0.0020.0010.3060][.0000.0128.0002.3099] # <HIRAGANA LETTER DA, HIRAGANA VOICED ITERATION MARK>
+305F 3099 309E ; [.32B0.0020.0011.305F][.0000.0128.0002.3099][.32B0.0020.0010.3060][.0000.0128.0002.3099] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C1 30FD ; [.32B1.0020.0011.30C1][.32B1.0020.0010.30C1] # <KATAKANA LETTER TI, KATAKANA ITERATION MARK>
+FF81 30FD ; [.32B1.0020.0011.30C1][.32B1.0020.0010.30C1] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA ITERATION MARK>
+3061 309D ; [.32B1.0020.0011.3061][.32B1.0020.0010.3061] # <HIRAGANA LETTER TI, HIRAGANA ITERATION MARK>
+30C1 30FE ; [.32B1.0020.0011.30C1][.32B1.0020.0010.30C1][.0000.0128.0002.3099] # <KATAKANA LETTER TI, KATAKANA VOICED ITERATION MARK>
+FF81 30FE ; [.32B1.0020.0011.30C1][.32B1.0020.0010.30C1][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA VOICED ITERATION MARK>
+3061 309E ; [.32B1.0020.0011.3061][.32B1.0020.0010.3061][.0000.0128.0002.3099] # <HIRAGANA LETTER TI, HIRAGANA VOICED ITERATION MARK>
+30C2 30FD ; [.32B1.0020.0011.30C1][.0000.0128.0002.3099][.32B1.0020.0010.30C2] # <KATAKANA LETTER DI, KATAKANA ITERATION MARK>
+30C1 3099 30FD ; [.32B1.0020.0011.30C1][.0000.0128.0002.3099][.32B1.0020.0010.30C2] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF81 FF9E 30FD ; [.32B1.0020.0011.30C1][.0000.0128.0002.3099][.32B1.0020.0010.30C2] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3062 309D ; [.32B1.0020.0011.3061][.0000.0128.0002.3099][.32B1.0020.0010.3062] # <HIRAGANA LETTER DI, HIRAGANA ITERATION MARK>
+3061 3099 309D ; [.32B1.0020.0011.3061][.0000.0128.0002.3099][.32B1.0020.0010.3062] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C2 30FE ; [.32B1.0020.0011.30C1][.0000.0128.0002.3099][.32B1.0020.0010.30C2][.0000.0128.0002.3099] # <KATAKANA LETTER DI, KATAKANA VOICED ITERATION MARK>
+30C1 3099 30FE ; [.32B1.0020.0011.30C1][.0000.0128.0002.3099][.32B1.0020.0010.30C2][.0000.0128.0002.3099] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF81 FF9E 30FE ; [.32B1.0020.0011.30C1][.0000.0128.0002.3099][.32B1.0020.0010.30C2][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3062 309E ; [.32B1.0020.0011.3061][.0000.0128.0002.3099][.32B1.0020.0010.3062][.0000.0128.0002.3099] # <HIRAGANA LETTER DI, HIRAGANA VOICED ITERATION MARK>
+3061 3099 309E ; [.32B1.0020.0011.3061][.0000.0128.0002.3099][.32B1.0020.0010.3062][.0000.0128.0002.3099] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C3 30FD ; [.32B2.0020.000F.30C3][.32B2.0020.0010.30C3] # <KATAKANA LETTER SMALL TU, KATAKANA ITERATION MARK>
+FF6F 30FD ; [.32B2.0020.000F.30C3][.32B2.0020.0010.30C3] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA ITERATION MARK>
+3063 309D ; [.32B2.0020.000F.3063][.32B2.0020.0010.3063] # <HIRAGANA LETTER SMALL TU, HIRAGANA ITERATION MARK>
+30C3 30FE ; [.32B2.0020.000F.30C3][.32B2.0020.0010.30C3][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL TU, KATAKANA VOICED ITERATION MARK>
+FF6F 30FE ; [.32B2.0020.000F.30C3][.32B2.0020.0010.30C3][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA VOICED ITERATION MARK>
+3063 309E ; [.32B2.0020.000F.3063][.32B2.0020.0010.3063][.0000.0128.0002.3099] # <HIRAGANA LETTER SMALL TU, HIRAGANA VOICED ITERATION MARK>
+30C4 30FD ; [.32B2.0020.0011.30C4][.32B2.0020.0010.30C4] # <KATAKANA LETTER TU, KATAKANA ITERATION MARK>
+FF82 30FD ; [.32B2.0020.0011.30C4][.32B2.0020.0010.30C4] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA ITERATION MARK>
+3064 309D ; [.32B2.0020.0011.3064][.32B2.0020.0010.3064] # <HIRAGANA LETTER TU, HIRAGANA ITERATION MARK>
+30C4 30FE ; [.32B2.0020.0011.30C4][.32B2.0020.0010.30C4][.0000.0128.0002.3099] # <KATAKANA LETTER TU, KATAKANA VOICED ITERATION MARK>
+FF82 30FE ; [.32B2.0020.0011.30C4][.32B2.0020.0010.30C4][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA VOICED ITERATION MARK>
+3064 309E ; [.32B2.0020.0011.3064][.32B2.0020.0010.3064][.0000.0128.0002.3099] # <HIRAGANA LETTER TU, HIRAGANA VOICED ITERATION MARK>
+30C5 30FD ; [.32B2.0020.0011.30C4][.0000.0128.0002.3099][.32B2.0020.0010.30C5] # <KATAKANA LETTER DU, KATAKANA ITERATION MARK>
+30C4 3099 30FD ; [.32B2.0020.0011.30C4][.0000.0128.0002.3099][.32B2.0020.0010.30C5] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF82 FF9E 30FD ; [.32B2.0020.0011.30C4][.0000.0128.0002.3099][.32B2.0020.0010.30C5] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3065 309D ; [.32B2.0020.0011.3064][.0000.0128.0002.3099][.32B2.0020.0010.3065] # <HIRAGANA LETTER DU, HIRAGANA ITERATION MARK>
+3064 3099 309D ; [.32B2.0020.0011.3064][.0000.0128.0002.3099][.32B2.0020.0010.3065] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C5 30FE ; [.32B2.0020.0011.30C4][.0000.0128.0002.3099][.32B2.0020.0010.30C5][.0000.0128.0002.3099] # <KATAKANA LETTER DU, KATAKANA VOICED ITERATION MARK>
+30C4 3099 30FE ; [.32B2.0020.0011.30C4][.0000.0128.0002.3099][.32B2.0020.0010.30C5][.0000.0128.0002.3099] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF82 FF9E 30FE ; [.32B2.0020.0011.30C4][.0000.0128.0002.3099][.32B2.0020.0010.30C5][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3065 309E ; [.32B2.0020.0011.3064][.0000.0128.0002.3099][.32B2.0020.0010.3065][.0000.0128.0002.3099] # <HIRAGANA LETTER DU, HIRAGANA VOICED ITERATION MARK>
+3064 3099 309E ; [.32B2.0020.0011.3064][.0000.0128.0002.3099][.32B2.0020.0010.3065][.0000.0128.0002.3099] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C6 30FD ; [.32B3.0020.0011.30C6][.32B3.0020.0010.30C6] # <KATAKANA LETTER TE, KATAKANA ITERATION MARK>
+FF83 30FD ; [.32B3.0020.0011.30C6][.32B3.0020.0010.30C6] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA ITERATION MARK>
+3066 309D ; [.32B3.0020.0011.3066][.32B3.0020.0010.3066] # <HIRAGANA LETTER TE, HIRAGANA ITERATION MARK>
+30C6 30FE ; [.32B3.0020.0011.30C6][.32B3.0020.0010.30C6][.0000.0128.0002.3099] # <KATAKANA LETTER TE, KATAKANA VOICED ITERATION MARK>
+FF83 30FE ; [.32B3.0020.0011.30C6][.32B3.0020.0010.30C6][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA VOICED ITERATION MARK>
+3066 309E ; [.32B3.0020.0011.3066][.32B3.0020.0010.3066][.0000.0128.0002.3099] # <HIRAGANA LETTER TE, HIRAGANA VOICED ITERATION MARK>
+30C7 30FD ; [.32B3.0020.0011.30C6][.0000.0128.0002.3099][.32B3.0020.0010.30C7] # <KATAKANA LETTER DE, KATAKANA ITERATION MARK>
+30C6 3099 30FD ; [.32B3.0020.0011.30C6][.0000.0128.0002.3099][.32B3.0020.0010.30C7] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF83 FF9E 30FD ; [.32B3.0020.0011.30C6][.0000.0128.0002.3099][.32B3.0020.0010.30C7] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3067 309D ; [.32B3.0020.0011.3066][.0000.0128.0002.3099][.32B3.0020.0010.3067] # <HIRAGANA LETTER DE, HIRAGANA ITERATION MARK>
+3066 3099 309D ; [.32B3.0020.0011.3066][.0000.0128.0002.3099][.32B3.0020.0010.3067] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C7 30FE ; [.32B3.0020.0011.30C6][.0000.0128.0002.3099][.32B3.0020.0010.30C7][.0000.0128.0002.3099] # <KATAKANA LETTER DE, KATAKANA VOICED ITERATION MARK>
+30C6 3099 30FE ; [.32B3.0020.0011.30C6][.0000.0128.0002.3099][.32B3.0020.0010.30C7][.0000.0128.0002.3099] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF83 FF9E 30FE ; [.32B3.0020.0011.30C6][.0000.0128.0002.3099][.32B3.0020.0010.30C7][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3067 309E ; [.32B3.0020.0011.3066][.0000.0128.0002.3099][.32B3.0020.0010.3067][.0000.0128.0002.3099] # <HIRAGANA LETTER DE, HIRAGANA VOICED ITERATION MARK>
+3066 3099 309E ; [.32B3.0020.0011.3066][.0000.0128.0002.3099][.32B3.0020.0010.3067][.0000.0128.0002.3099] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C8 30FD ; [.32B4.0020.0011.30C8][.32B4.0020.0010.30C8] # <KATAKANA LETTER TO, KATAKANA ITERATION MARK>
+FF84 30FD ; [.32B4.0020.0011.30C8][.32B4.0020.0010.30C8] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA ITERATION MARK>
+3068 309D ; [.32B4.0020.0011.3068][.32B4.0020.0010.3068] # <HIRAGANA LETTER TO, HIRAGANA ITERATION MARK>
+30C8 30FE ; [.32B4.0020.0011.30C8][.32B4.0020.0010.30C8][.0000.0128.0002.3099] # <KATAKANA LETTER TO, KATAKANA VOICED ITERATION MARK>
+FF84 30FE ; [.32B4.0020.0011.30C8][.32B4.0020.0010.30C8][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA VOICED ITERATION MARK>
+3068 309E ; [.32B4.0020.0011.3068][.32B4.0020.0010.3068][.0000.0128.0002.3099] # <HIRAGANA LETTER TO, HIRAGANA VOICED ITERATION MARK>
+30C9 30FD ; [.32B4.0020.0011.30C8][.0000.0128.0002.3099][.32B4.0020.0010.30C9] # <KATAKANA LETTER DO, KATAKANA ITERATION MARK>
+30C8 3099 30FD ; [.32B4.0020.0011.30C8][.0000.0128.0002.3099][.32B4.0020.0010.30C9] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF84 FF9E 30FD ; [.32B4.0020.0011.30C8][.0000.0128.0002.3099][.32B4.0020.0010.30C9] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3069 309D ; [.32B4.0020.0011.3068][.0000.0128.0002.3099][.32B4.0020.0010.3069] # <HIRAGANA LETTER DO, HIRAGANA ITERATION MARK>
+3068 3099 309D ; [.32B4.0020.0011.3068][.0000.0128.0002.3099][.32B4.0020.0010.3069] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C9 30FE ; [.32B4.0020.0011.30C8][.0000.0128.0002.3099][.32B4.0020.0010.30C9][.0000.0128.0002.3099] # <KATAKANA LETTER DO, KATAKANA VOICED ITERATION MARK>
+30C8 3099 30FE ; [.32B4.0020.0011.30C8][.0000.0128.0002.3099][.32B4.0020.0010.30C9][.0000.0128.0002.3099] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF84 FF9E 30FE ; [.32B4.0020.0011.30C8][.0000.0128.0002.3099][.32B4.0020.0010.30C9][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3069 309E ; [.32B4.0020.0011.3068][.0000.0128.0002.3099][.32B4.0020.0010.3069][.0000.0128.0002.3099] # <HIRAGANA LETTER DO, HIRAGANA VOICED ITERATION MARK>
+3068 3099 309E ; [.32B4.0020.0011.3068][.0000.0128.0002.3099][.32B4.0020.0010.3069][.0000.0128.0002.3099] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30CA 30FD ; [.32B5.0020.0011.30CA][.32B5.0020.0010.30CA] # <KATAKANA LETTER NA, KATAKANA ITERATION MARK>
+FF85 30FD ; [.32B5.0020.0011.30CA][.32B5.0020.0010.30CA] # <HALFWIDTH KATAKANA LETTER NA, KATAKANA ITERATION MARK>
+306A 309D ; [.32B5.0020.0011.306A][.32B5.0020.0010.306A] # <HIRAGANA LETTER NA, HIRAGANA ITERATION MARK>
+30CB 30FD ; [.32B6.0020.0011.30CB][.32B6.0020.0010.30CB] # <KATAKANA LETTER NI, KATAKANA ITERATION MARK>
+FF86 30FD ; [.32B6.0020.0011.30CB][.32B6.0020.0010.30CB] # <HALFWIDTH KATAKANA LETTER NI, KATAKANA ITERATION MARK>
+306B 309D ; [.32B6.0020.0011.306B][.32B6.0020.0010.306B] # <HIRAGANA LETTER NI, HIRAGANA ITERATION MARK>
+30CC 30FD ; [.32B7.0020.0011.30CC][.32B7.0020.0010.30CC] # <KATAKANA LETTER NU, KATAKANA ITERATION MARK>
+FF87 30FD ; [.32B7.0020.0011.30CC][.32B7.0020.0010.30CC] # <HALFWIDTH KATAKANA LETTER NU, KATAKANA ITERATION MARK>
+306C 309D ; [.32B7.0020.0011.306C][.32B7.0020.0010.306C] # <HIRAGANA LETTER NU, HIRAGANA ITERATION MARK>
+30CD 30FD ; [.32B8.0020.0011.30CD][.32B8.0020.0010.30CD] # <KATAKANA LETTER NE, KATAKANA ITERATION MARK>
+FF88 30FD ; [.32B8.0020.0011.30CD][.32B8.0020.0010.30CD] # <HALFWIDTH KATAKANA LETTER NE, KATAKANA ITERATION MARK>
+306D 309D ; [.32B8.0020.0011.306D][.32B8.0020.0010.306D] # <HIRAGANA LETTER NE, HIRAGANA ITERATION MARK>
+30CE 30FD ; [.32B9.0020.0011.30CE][.32B9.0020.0010.30CE] # <KATAKANA LETTER NO, KATAKANA ITERATION MARK>
+FF89 30FD ; [.32B9.0020.0011.30CE][.32B9.0020.0010.30CE] # <HALFWIDTH KATAKANA LETTER NO, KATAKANA ITERATION MARK>
+306E 309D ; [.32B9.0020.0011.306E][.32B9.0020.0010.306E] # <HIRAGANA LETTER NO, HIRAGANA ITERATION MARK>
+30CF 30FD ; [.32BA.0020.0011.30CF][.32BA.0020.0010.30CF] # <KATAKANA LETTER HA, KATAKANA ITERATION MARK>
+FF8A 30FD ; [.32BA.0020.0011.30CF][.32BA.0020.0010.30CF] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA ITERATION MARK>
+306F 309D ; [.32BA.0020.0011.306F][.32BA.0020.0010.306F] # <HIRAGANA LETTER HA, HIRAGANA ITERATION MARK>
+30CF 30FE ; [.32BA.0020.0011.30CF][.32BA.0020.0010.30CF][.0000.0128.0002.3099] # <KATAKANA LETTER HA, KATAKANA VOICED ITERATION MARK>
+FF8A 30FE ; [.32BA.0020.0011.30CF][.32BA.0020.0010.30CF][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA VOICED ITERATION MARK>
+306F 309E ; [.32BA.0020.0011.306F][.32BA.0020.0010.306F][.0000.0128.0002.3099] # <HIRAGANA LETTER HA, HIRAGANA VOICED ITERATION MARK>
+30D0 30FD ; [.32BA.0020.0011.30CF][.0000.0128.0002.3099][.32BA.0020.0010.30D0] # <KATAKANA LETTER BA, KATAKANA ITERATION MARK>
+30CF 3099 30FD ; [.32BA.0020.0011.30CF][.0000.0128.0002.3099][.32BA.0020.0010.30D0] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8A FF9E 30FD ; [.32BA.0020.0011.30CF][.0000.0128.0002.3099][.32BA.0020.0010.30D0] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3070 309D ; [.32BA.0020.0011.306F][.0000.0128.0002.3099][.32BA.0020.0010.3070] # <HIRAGANA LETTER BA, HIRAGANA ITERATION MARK>
+306F 3099 309D ; [.32BA.0020.0011.306F][.0000.0128.0002.3099][.32BA.0020.0010.3070] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D0 30FE ; [.32BA.0020.0011.30CF][.0000.0128.0002.3099][.32BA.0020.0010.30D0][.0000.0128.0002.3099] # <KATAKANA LETTER BA, KATAKANA VOICED ITERATION MARK>
+30CF 3099 30FE ; [.32BA.0020.0011.30CF][.0000.0128.0002.3099][.32BA.0020.0010.30D0][.0000.0128.0002.3099] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8A FF9E 30FE ; [.32BA.0020.0011.30CF][.0000.0128.0002.3099][.32BA.0020.0010.30D0][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3070 309E ; [.32BA.0020.0011.306F][.0000.0128.0002.3099][.32BA.0020.0010.3070][.0000.0128.0002.3099] # <HIRAGANA LETTER BA, HIRAGANA VOICED ITERATION MARK>
+306F 3099 309E ; [.32BA.0020.0011.306F][.0000.0128.0002.3099][.32BA.0020.0010.3070][.0000.0128.0002.3099] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D1 30FD ; [.32BA.0020.0011.30CF][.0000.0129.0002.309A][.32BA.0020.0010.30D1] # <KATAKANA LETTER PA, KATAKANA ITERATION MARK>
+30CF 309A 30FD ; [.32BA.0020.0011.30CF][.0000.0129.0002.309A][.32BA.0020.0010.30D1] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8A FF9F 30FD ; [.32BA.0020.0011.30CF][.0000.0129.0002.309A][.32BA.0020.0010.30D1] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3071 309D ; [.32BA.0020.0011.306F][.0000.0129.0002.309A][.32BA.0020.0010.3071] # <HIRAGANA LETTER PA, HIRAGANA ITERATION MARK>
+306F 309A 309D ; [.32BA.0020.0011.306F][.0000.0129.0002.309A][.32BA.0020.0010.3071] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D1 30FE ; [.32BA.0020.0011.30CF][.0000.0129.0002.309A][.32BA.0020.0010.30D1][.0000.0128.0002.3099] # <KATAKANA LETTER PA, KATAKANA VOICED ITERATION MARK>
+30CF 309A 30FE ; [.32BA.0020.0011.30CF][.0000.0129.0002.309A][.32BA.0020.0010.30D1][.0000.0128.0002.3099] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8A FF9F 30FE ; [.32BA.0020.0011.30CF][.0000.0129.0002.309A][.32BA.0020.0010.30D1][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3071 309E ; [.32BA.0020.0011.306F][.0000.0129.0002.309A][.32BA.0020.0010.3071][.0000.0128.0002.3099] # <HIRAGANA LETTER PA, HIRAGANA VOICED ITERATION MARK>
+306F 309A 309E ; [.32BA.0020.0011.306F][.0000.0129.0002.309A][.32BA.0020.0010.3071][.0000.0128.0002.3099] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D2 30FD ; [.32BB.0020.0011.30D2][.32BB.0020.0010.30D2] # <KATAKANA LETTER HI, KATAKANA ITERATION MARK>
+FF8B 30FD ; [.32BB.0020.0011.30D2][.32BB.0020.0010.30D2] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA ITERATION MARK>
+3072 309D ; [.32BB.0020.0011.3072][.32BB.0020.0010.3072] # <HIRAGANA LETTER HI, HIRAGANA ITERATION MARK>
+30D2 30FE ; [.32BB.0020.0011.30D2][.32BB.0020.0010.30D2][.0000.0128.0002.3099] # <KATAKANA LETTER HI, KATAKANA VOICED ITERATION MARK>
+FF8B 30FE ; [.32BB.0020.0011.30D2][.32BB.0020.0010.30D2][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA VOICED ITERATION MARK>
+3072 309E ; [.32BB.0020.0011.3072][.32BB.0020.0010.3072][.0000.0128.0002.3099] # <HIRAGANA LETTER HI, HIRAGANA VOICED ITERATION MARK>
+30D3 30FD ; [.32BB.0020.0011.30D2][.0000.0128.0002.3099][.32BB.0020.0010.30D3] # <KATAKANA LETTER BI, KATAKANA ITERATION MARK>
+30D2 3099 30FD ; [.32BB.0020.0011.30D2][.0000.0128.0002.3099][.32BB.0020.0010.30D3] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8B FF9E 30FD ; [.32BB.0020.0011.30D2][.0000.0128.0002.3099][.32BB.0020.0010.30D3] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3073 309D ; [.32BB.0020.0011.3072][.0000.0128.0002.3099][.32BB.0020.0010.3073] # <HIRAGANA LETTER BI, HIRAGANA ITERATION MARK>
+3072 3099 309D ; [.32BB.0020.0011.3072][.0000.0128.0002.3099][.32BB.0020.0010.3073] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D3 30FE ; [.32BB.0020.0011.30D2][.0000.0128.0002.3099][.32BB.0020.0010.30D3][.0000.0128.0002.3099] # <KATAKANA LETTER BI, KATAKANA VOICED ITERATION MARK>
+30D2 3099 30FE ; [.32BB.0020.0011.30D2][.0000.0128.0002.3099][.32BB.0020.0010.30D3][.0000.0128.0002.3099] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8B FF9E 30FE ; [.32BB.0020.0011.30D2][.0000.0128.0002.3099][.32BB.0020.0010.30D3][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3073 309E ; [.32BB.0020.0011.3072][.0000.0128.0002.3099][.32BB.0020.0010.3073][.0000.0128.0002.3099] # <HIRAGANA LETTER BI, HIRAGANA VOICED ITERATION MARK>
+3072 3099 309E ; [.32BB.0020.0011.3072][.0000.0128.0002.3099][.32BB.0020.0010.3073][.0000.0128.0002.3099] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D4 30FD ; [.32BB.0020.0011.30D2][.0000.0129.0002.309A][.32BB.0020.0010.30D4] # <KATAKANA LETTER PI, KATAKANA ITERATION MARK>
+30D2 309A 30FD ; [.32BB.0020.0011.30D2][.0000.0129.0002.309A][.32BB.0020.0010.30D4] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8B FF9F 30FD ; [.32BB.0020.0011.30D2][.0000.0129.0002.309A][.32BB.0020.0010.30D4] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3074 309D ; [.32BB.0020.0011.3072][.0000.0129.0002.309A][.32BB.0020.0010.3074] # <HIRAGANA LETTER PI, HIRAGANA ITERATION MARK>
+3072 309A 309D ; [.32BB.0020.0011.3072][.0000.0129.0002.309A][.32BB.0020.0010.3074] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D4 30FE ; [.32BB.0020.0011.30D2][.0000.0129.0002.309A][.32BB.0020.0010.30D4][.0000.0128.0002.3099] # <KATAKANA LETTER PI, KATAKANA VOICED ITERATION MARK>
+30D2 309A 30FE ; [.32BB.0020.0011.30D2][.0000.0129.0002.309A][.32BB.0020.0010.30D4][.0000.0128.0002.3099] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8B FF9F 30FE ; [.32BB.0020.0011.30D2][.0000.0129.0002.309A][.32BB.0020.0010.30D4][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3074 309E ; [.32BB.0020.0011.3072][.0000.0129.0002.309A][.32BB.0020.0010.3074][.0000.0128.0002.3099] # <HIRAGANA LETTER PI, HIRAGANA VOICED ITERATION MARK>
+3072 309A 309E ; [.32BB.0020.0011.3072][.0000.0129.0002.309A][.32BB.0020.0010.3074][.0000.0128.0002.3099] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D5 30FD ; [.32BC.0020.0011.30D5][.32BC.0020.0010.30D5] # <KATAKANA LETTER HU, KATAKANA ITERATION MARK>
+FF8C 30FD ; [.32BC.0020.0011.30D5][.32BC.0020.0010.30D5] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA ITERATION MARK>
+3075 309D ; [.32BC.0020.0011.3075][.32BC.0020.0010.3075] # <HIRAGANA LETTER HU, HIRAGANA ITERATION MARK>
+30D5 30FE ; [.32BC.0020.0011.30D5][.32BC.0020.0010.30D5][.0000.0128.0002.3099] # <KATAKANA LETTER HU, KATAKANA VOICED ITERATION MARK>
+FF8C 30FE ; [.32BC.0020.0011.30D5][.32BC.0020.0010.30D5][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA VOICED ITERATION MARK>
+3075 309E ; [.32BC.0020.0011.3075][.32BC.0020.0010.3075][.0000.0128.0002.3099] # <HIRAGANA LETTER HU, HIRAGANA VOICED ITERATION MARK>
+30D6 30FD ; [.32BC.0020.0011.30D5][.0000.0128.0002.3099][.32BC.0020.0010.30D6] # <KATAKANA LETTER BU, KATAKANA ITERATION MARK>
+30D5 3099 30FD ; [.32BC.0020.0011.30D5][.0000.0128.0002.3099][.32BC.0020.0010.30D6] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8C FF9E 30FD ; [.32BC.0020.0011.30D5][.0000.0128.0002.3099][.32BC.0020.0010.30D6] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3076 309D ; [.32BC.0020.0011.3075][.0000.0128.0002.3099][.32BC.0020.0010.3076] # <HIRAGANA LETTER BU, HIRAGANA ITERATION MARK>
+3075 3099 309D ; [.32BC.0020.0011.3075][.0000.0128.0002.3099][.32BC.0020.0010.3076] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D6 30FE ; [.32BC.0020.0011.30D5][.0000.0128.0002.3099][.32BC.0020.0010.30D6][.0000.0128.0002.3099] # <KATAKANA LETTER BU, KATAKANA VOICED ITERATION MARK>
+30D5 3099 30FE ; [.32BC.0020.0011.30D5][.0000.0128.0002.3099][.32BC.0020.0010.30D6][.0000.0128.0002.3099] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8C FF9E 30FE ; [.32BC.0020.0011.30D5][.0000.0128.0002.3099][.32BC.0020.0010.30D6][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3076 309E ; [.32BC.0020.0011.3075][.0000.0128.0002.3099][.32BC.0020.0010.3076][.0000.0128.0002.3099] # <HIRAGANA LETTER BU, HIRAGANA VOICED ITERATION MARK>
+3075 3099 309E ; [.32BC.0020.0011.3075][.0000.0128.0002.3099][.32BC.0020.0010.3076][.0000.0128.0002.3099] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D7 30FD ; [.32BC.0020.0011.30D5][.0000.0129.0002.309A][.32BC.0020.0010.30D7] # <KATAKANA LETTER PU, KATAKANA ITERATION MARK>
+30D5 309A 30FD ; [.32BC.0020.0011.30D5][.0000.0129.0002.309A][.32BC.0020.0010.30D7] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8C FF9F 30FD ; [.32BC.0020.0011.30D5][.0000.0129.0002.309A][.32BC.0020.0010.30D7] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3077 309D ; [.32BC.0020.0011.3075][.0000.0129.0002.309A][.32BC.0020.0010.3077] # <HIRAGANA LETTER PU, HIRAGANA ITERATION MARK>
+3075 309A 309D ; [.32BC.0020.0011.3075][.0000.0129.0002.309A][.32BC.0020.0010.3077] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D7 30FE ; [.32BC.0020.0011.30D5][.0000.0129.0002.309A][.32BC.0020.0010.30D7][.0000.0128.0002.3099] # <KATAKANA LETTER PU, KATAKANA VOICED ITERATION MARK>
+30D5 309A 30FE ; [.32BC.0020.0011.30D5][.0000.0129.0002.309A][.32BC.0020.0010.30D7][.0000.0128.0002.3099] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8C FF9F 30FE ; [.32BC.0020.0011.30D5][.0000.0129.0002.309A][.32BC.0020.0010.30D7][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3077 309E ; [.32BC.0020.0011.3075][.0000.0129.0002.309A][.32BC.0020.0010.3077][.0000.0128.0002.3099] # <HIRAGANA LETTER PU, HIRAGANA VOICED ITERATION MARK>
+3075 309A 309E ; [.32BC.0020.0011.3075][.0000.0129.0002.309A][.32BC.0020.0010.3077][.0000.0128.0002.3099] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D8 30FD ; [.32BD.0020.0011.30D8][.32BD.0020.0010.30D8] # <KATAKANA LETTER HE, KATAKANA ITERATION MARK>
+FF8D 30FD ; [.32BD.0020.0011.30D8][.32BD.0020.0010.30D8] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA ITERATION MARK>
+3078 309D ; [.32BD.0020.0011.3078][.32BD.0020.0010.3078] # <HIRAGANA LETTER HE, HIRAGANA ITERATION MARK>
+30D8 30FE ; [.32BD.0020.0011.30D8][.32BD.0020.0010.30D8][.0000.0128.0002.3099] # <KATAKANA LETTER HE, KATAKANA VOICED ITERATION MARK>
+FF8D 30FE ; [.32BD.0020.0011.30D8][.32BD.0020.0010.30D8][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA VOICED ITERATION MARK>
+3078 309E ; [.32BD.0020.0011.3078][.32BD.0020.0010.3078][.0000.0128.0002.3099] # <HIRAGANA LETTER HE, HIRAGANA VOICED ITERATION MARK>
+30D9 30FD ; [.32BD.0020.0011.30D8][.0000.0128.0002.3099][.32BD.0020.0010.30D9] # <KATAKANA LETTER BE, KATAKANA ITERATION MARK>
+30D8 3099 30FD ; [.32BD.0020.0011.30D8][.0000.0128.0002.3099][.32BD.0020.0010.30D9] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8D FF9E 30FD ; [.32BD.0020.0011.30D8][.0000.0128.0002.3099][.32BD.0020.0010.30D9] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3079 309D ; [.32BD.0020.0011.3078][.0000.0128.0002.3099][.32BD.0020.0010.3079] # <HIRAGANA LETTER BE, HIRAGANA ITERATION MARK>
+3078 3099 309D ; [.32BD.0020.0011.3078][.0000.0128.0002.3099][.32BD.0020.0010.3079] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D9 30FE ; [.32BD.0020.0011.30D8][.0000.0128.0002.3099][.32BD.0020.0010.30D9][.0000.0128.0002.3099] # <KATAKANA LETTER BE, KATAKANA VOICED ITERATION MARK>
+30D8 3099 30FE ; [.32BD.0020.0011.30D8][.0000.0128.0002.3099][.32BD.0020.0010.30D9][.0000.0128.0002.3099] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8D FF9E 30FE ; [.32BD.0020.0011.30D8][.0000.0128.0002.3099][.32BD.0020.0010.30D9][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3079 309E ; [.32BD.0020.0011.3078][.0000.0128.0002.3099][.32BD.0020.0010.3079][.0000.0128.0002.3099] # <HIRAGANA LETTER BE, HIRAGANA VOICED ITERATION MARK>
+3078 3099 309E ; [.32BD.0020.0011.3078][.0000.0128.0002.3099][.32BD.0020.0010.3079][.0000.0128.0002.3099] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DA 30FD ; [.32BD.0020.0011.30D8][.0000.0129.0002.309A][.32BD.0020.0010.30DA] # <KATAKANA LETTER PE, KATAKANA ITERATION MARK>
+30D8 309A 30FD ; [.32BD.0020.0011.30D8][.0000.0129.0002.309A][.32BD.0020.0010.30DA] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8D FF9F 30FD ; [.32BD.0020.0011.30D8][.0000.0129.0002.309A][.32BD.0020.0010.30DA] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+307A 309D ; [.32BD.0020.0011.3078][.0000.0129.0002.309A][.32BD.0020.0010.307A] # <HIRAGANA LETTER PE, HIRAGANA ITERATION MARK>
+3078 309A 309D ; [.32BD.0020.0011.3078][.0000.0129.0002.309A][.32BD.0020.0010.307A] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30DA 30FE ; [.32BD.0020.0011.30D8][.0000.0129.0002.309A][.32BD.0020.0010.30DA][.0000.0128.0002.3099] # <KATAKANA LETTER PE, KATAKANA VOICED ITERATION MARK>
+30D8 309A 30FE ; [.32BD.0020.0011.30D8][.0000.0129.0002.309A][.32BD.0020.0010.30DA][.0000.0128.0002.3099] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8D FF9F 30FE ; [.32BD.0020.0011.30D8][.0000.0129.0002.309A][.32BD.0020.0010.30DA][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+307A 309E ; [.32BD.0020.0011.3078][.0000.0129.0002.309A][.32BD.0020.0010.307A][.0000.0128.0002.3099] # <HIRAGANA LETTER PE, HIRAGANA VOICED ITERATION MARK>
+3078 309A 309E ; [.32BD.0020.0011.3078][.0000.0129.0002.309A][.32BD.0020.0010.307A][.0000.0128.0002.3099] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DB 30FD ; [.32BE.0020.0011.30DB][.32BE.0020.0010.30DB] # <KATAKANA LETTER HO, KATAKANA ITERATION MARK>
+FF8E 30FD ; [.32BE.0020.0011.30DB][.32BE.0020.0010.30DB] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA ITERATION MARK>
+307B 309D ; [.32BE.0020.0011.307B][.32BE.0020.0010.307B] # <HIRAGANA LETTER HO, HIRAGANA ITERATION MARK>
+30DB 30FE ; [.32BE.0020.0011.30DB][.32BE.0020.0010.30DB][.0000.0128.0002.3099] # <KATAKANA LETTER HO, KATAKANA VOICED ITERATION MARK>
+FF8E 30FE ; [.32BE.0020.0011.30DB][.32BE.0020.0010.30DB][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA VOICED ITERATION MARK>
+307B 309E ; [.32BE.0020.0011.307B][.32BE.0020.0010.307B][.0000.0128.0002.3099] # <HIRAGANA LETTER HO, HIRAGANA VOICED ITERATION MARK>
+30DC 30FD ; [.32BE.0020.0011.30DB][.0000.0128.0002.3099][.32BE.0020.0010.30DC] # <KATAKANA LETTER BO, KATAKANA ITERATION MARK>
+30DB 3099 30FD ; [.32BE.0020.0011.30DB][.0000.0128.0002.3099][.32BE.0020.0010.30DC] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8E FF9E 30FD ; [.32BE.0020.0011.30DB][.0000.0128.0002.3099][.32BE.0020.0010.30DC] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+307C 309D ; [.32BE.0020.0011.307B][.0000.0128.0002.3099][.32BE.0020.0010.307C] # <HIRAGANA LETTER BO, HIRAGANA ITERATION MARK>
+307B 3099 309D ; [.32BE.0020.0011.307B][.0000.0128.0002.3099][.32BE.0020.0010.307C] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30DC 30FE ; [.32BE.0020.0011.30DB][.0000.0128.0002.3099][.32BE.0020.0010.30DC][.0000.0128.0002.3099] # <KATAKANA LETTER BO, KATAKANA VOICED ITERATION MARK>
+30DB 3099 30FE ; [.32BE.0020.0011.30DB][.0000.0128.0002.3099][.32BE.0020.0010.30DC][.0000.0128.0002.3099] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8E FF9E 30FE ; [.32BE.0020.0011.30DB][.0000.0128.0002.3099][.32BE.0020.0010.30DC][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+307C 309E ; [.32BE.0020.0011.307B][.0000.0128.0002.3099][.32BE.0020.0010.307C][.0000.0128.0002.3099] # <HIRAGANA LETTER BO, HIRAGANA VOICED ITERATION MARK>
+307B 3099 309E ; [.32BE.0020.0011.307B][.0000.0128.0002.3099][.32BE.0020.0010.307C][.0000.0128.0002.3099] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DD 30FD ; [.32BE.0020.0011.30DB][.0000.0129.0002.309A][.32BE.0020.0010.30DD] # <KATAKANA LETTER PO, KATAKANA ITERATION MARK>
+30DB 309A 30FD ; [.32BE.0020.0011.30DB][.0000.0129.0002.309A][.32BE.0020.0010.30DD] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8E FF9F 30FD ; [.32BE.0020.0011.30DB][.0000.0129.0002.309A][.32BE.0020.0010.30DD] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+307D 309D ; [.32BE.0020.0011.307B][.0000.0129.0002.309A][.32BE.0020.0010.307D] # <HIRAGANA LETTER PO, HIRAGANA ITERATION MARK>
+307B 309A 309D ; [.32BE.0020.0011.307B][.0000.0129.0002.309A][.32BE.0020.0010.307D] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30DD 30FE ; [.32BE.0020.0011.30DB][.0000.0129.0002.309A][.32BE.0020.0010.30DD][.0000.0128.0002.3099] # <KATAKANA LETTER PO, KATAKANA VOICED ITERATION MARK>
+30DB 309A 30FE ; [.32BE.0020.0011.30DB][.0000.0129.0002.309A][.32BE.0020.0010.30DD][.0000.0128.0002.3099] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8E FF9F 30FE ; [.32BE.0020.0011.30DB][.0000.0129.0002.309A][.32BE.0020.0010.30DD][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+307D 309E ; [.32BE.0020.0011.307B][.0000.0129.0002.309A][.32BE.0020.0010.307D][.0000.0128.0002.3099] # <HIRAGANA LETTER PO, HIRAGANA VOICED ITERATION MARK>
+307B 309A 309E ; [.32BE.0020.0011.307B][.0000.0129.0002.309A][.32BE.0020.0010.307D][.0000.0128.0002.3099] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DE 30FD ; [.32BF.0020.0011.30DE][.32BF.0020.0010.30DE] # <KATAKANA LETTER MA, KATAKANA ITERATION MARK>
+FF8F 30FD ; [.32BF.0020.0011.30DE][.32BF.0020.0010.30DE] # <HALFWIDTH KATAKANA LETTER MA, KATAKANA ITERATION MARK>
+307E 309D ; [.32BF.0020.0011.307E][.32BF.0020.0010.307E] # <HIRAGANA LETTER MA, HIRAGANA ITERATION MARK>
+30DF 30FD ; [.32C0.0020.0011.30DF][.32C0.0020.0010.30DF] # <KATAKANA LETTER MI, KATAKANA ITERATION MARK>
+FF90 30FD ; [.32C0.0020.0011.30DF][.32C0.0020.0010.30DF] # <HALFWIDTH KATAKANA LETTER MI, KATAKANA ITERATION MARK>
+307F 309D ; [.32C0.0020.0011.307F][.32C0.0020.0010.307F] # <HIRAGANA LETTER MI, HIRAGANA ITERATION MARK>
+30E0 30FD ; [.32C1.0020.0011.30E0][.32C1.0020.0010.30E0] # <KATAKANA LETTER MU, KATAKANA ITERATION MARK>
+FF91 30FD ; [.32C1.0020.0011.30E0][.32C1.0020.0010.30E0] # <HALFWIDTH KATAKANA LETTER MU, KATAKANA ITERATION MARK>
+3080 309D ; [.32C1.0020.0011.3080][.32C1.0020.0010.3080] # <HIRAGANA LETTER MU, HIRAGANA ITERATION MARK>
+30E1 30FD ; [.32C2.0020.0011.30E1][.32C2.0020.0010.30E1] # <KATAKANA LETTER ME, KATAKANA ITERATION MARK>
+FF92 30FD ; [.32C2.0020.0011.30E1][.32C2.0020.0010.30E1] # <HALFWIDTH KATAKANA LETTER ME, KATAKANA ITERATION MARK>
+3081 309D ; [.32C2.0020.0011.3081][.32C2.0020.0010.3081] # <HIRAGANA LETTER ME, HIRAGANA ITERATION MARK>
+30E2 30FD ; [.32C3.0020.0011.30E2][.32C3.0020.0010.30E2] # <KATAKANA LETTER MO, KATAKANA ITERATION MARK>
+FF93 30FD ; [.32C3.0020.0011.30E2][.32C3.0020.0010.30E2] # <HALFWIDTH KATAKANA LETTER MO, KATAKANA ITERATION MARK>
+3082 309D ; [.32C3.0020.0011.3082][.32C3.0020.0010.3082] # <HIRAGANA LETTER MO, HIRAGANA ITERATION MARK>
+30E3 30FD ; [.32C4.0020.000F.30E3][.32C4.0020.0010.30E3] # <KATAKANA LETTER SMALL YA, KATAKANA ITERATION MARK>
+FF6C 30FD ; [.32C4.0020.000F.30E3][.32C4.0020.0010.30E3] # <HALFWIDTH KATAKANA LETTER SMALL YA, KATAKANA ITERATION MARK>
+3083 309D ; [.32C4.0020.000F.3083][.32C4.0020.0010.3083] # <HIRAGANA LETTER SMALL YA, HIRAGANA ITERATION MARK>
+30E4 30FD ; [.32C4.0020.0011.30E4][.32C4.0020.0010.30E4] # <KATAKANA LETTER YA, KATAKANA ITERATION MARK>
+FF94 30FD ; [.32C4.0020.0011.30E4][.32C4.0020.0010.30E4] # <HALFWIDTH KATAKANA LETTER YA, KATAKANA ITERATION MARK>
+3084 309D ; [.32C4.0020.0011.3084][.32C4.0020.0010.3084] # <HIRAGANA LETTER YA, HIRAGANA ITERATION MARK>
+30E5 30FD ; [.32C5.0020.000F.30E5][.32C5.0020.0010.30E5] # <KATAKANA LETTER SMALL YU, KATAKANA ITERATION MARK>
+FF6D 30FD ; [.32C5.0020.000F.30E5][.32C5.0020.0010.30E5] # <HALFWIDTH KATAKANA LETTER SMALL YU, KATAKANA ITERATION MARK>
+3085 309D ; [.32C5.0020.000F.3085][.32C5.0020.0010.3085] # <HIRAGANA LETTER SMALL YU, HIRAGANA ITERATION MARK>
+30E6 30FD ; [.32C5.0020.0011.30E6][.32C5.0020.0010.30E6] # <KATAKANA LETTER YU, KATAKANA ITERATION MARK>
+FF95 30FD ; [.32C5.0020.0011.30E6][.32C5.0020.0010.30E6] # <HALFWIDTH KATAKANA LETTER YU, KATAKANA ITERATION MARK>
+3086 309D ; [.32C5.0020.0011.3086][.32C5.0020.0010.3086] # <HIRAGANA LETTER YU, HIRAGANA ITERATION MARK>
+30E7 30FD ; [.32C7.0020.000F.30E7][.32C7.0020.0010.30E7] # <KATAKANA LETTER SMALL YO, KATAKANA ITERATION MARK>
+FF6E 30FD ; [.32C7.0020.000F.30E7][.32C7.0020.0010.30E7] # <HALFWIDTH KATAKANA LETTER SMALL YO, KATAKANA ITERATION MARK>
+3087 309D ; [.32C7.0020.000F.3087][.32C7.0020.0010.3087] # <HIRAGANA LETTER SMALL YO, HIRAGANA ITERATION MARK>
+30E8 30FD ; [.32C7.0020.0011.30E8][.32C7.0020.0010.30E8] # <KATAKANA LETTER YO, KATAKANA ITERATION MARK>
+FF96 30FD ; [.32C7.0020.0011.30E8][.32C7.0020.0010.30E8] # <HALFWIDTH KATAKANA LETTER YO, KATAKANA ITERATION MARK>
+3088 309D ; [.32C7.0020.0011.3088][.32C7.0020.0010.3088] # <HIRAGANA LETTER YO, HIRAGANA ITERATION MARK>
+30E9 30FD ; [.32C8.0020.0011.30E9][.32C8.0020.0010.30E9] # <KATAKANA LETTER RA, KATAKANA ITERATION MARK>
+FF97 30FD ; [.32C8.0020.0011.30E9][.32C8.0020.0010.30E9] # <HALFWIDTH KATAKANA LETTER RA, KATAKANA ITERATION MARK>
+3089 309D ; [.32C8.0020.0011.3089][.32C8.0020.0010.3089] # <HIRAGANA LETTER RA, HIRAGANA ITERATION MARK>
+30EA 30FD ; [.32C9.0020.0011.30EA][.32C9.0020.0010.30EA] # <KATAKANA LETTER RI, KATAKANA ITERATION MARK>
+FF98 30FD ; [.32C9.0020.0011.30EA][.32C9.0020.0010.30EA] # <HALFWIDTH KATAKANA LETTER RI, KATAKANA ITERATION MARK>
+308A 309D ; [.32C9.0020.0011.308A][.32C9.0020.0010.308A] # <HIRAGANA LETTER RI, HIRAGANA ITERATION MARK>
+30EB 30FD ; [.32CA.0020.0011.30EB][.32CA.0020.0010.30EB] # <KATAKANA LETTER RU, KATAKANA ITERATION MARK>
+FF99 30FD ; [.32CA.0020.0011.30EB][.32CA.0020.0010.30EB] # <HALFWIDTH KATAKANA LETTER RU, KATAKANA ITERATION MARK>
+308B 309D ; [.32CA.0020.0011.308B][.32CA.0020.0010.308B] # <HIRAGANA LETTER RU, HIRAGANA ITERATION MARK>
+30EC 30FD ; [.32CB.0020.0011.30EC][.32CB.0020.0010.30EC] # <KATAKANA LETTER RE, KATAKANA ITERATION MARK>
+FF9A 30FD ; [.32CB.0020.0011.30EC][.32CB.0020.0010.30EC] # <HALFWIDTH KATAKANA LETTER RE, KATAKANA ITERATION MARK>
+308C 309D ; [.32CB.0020.0011.308C][.32CB.0020.0010.308C] # <HIRAGANA LETTER RE, HIRAGANA ITERATION MARK>
+30ED 30FD ; [.32CC.0020.0011.30ED][.32CC.0020.0010.30ED] # <KATAKANA LETTER RO, KATAKANA ITERATION MARK>
+FF9B 30FD ; [.32CC.0020.0011.30ED][.32CC.0020.0010.30ED] # <HALFWIDTH KATAKANA LETTER RO, KATAKANA ITERATION MARK>
+308D 309D ; [.32CC.0020.0011.308D][.32CC.0020.0010.308D] # <HIRAGANA LETTER RO, HIRAGANA ITERATION MARK>
+30EE 30FD ; [.32CD.0020.000F.30EE][.32CD.0020.0010.30EE] # <KATAKANA LETTER SMALL WA, KATAKANA ITERATION MARK>
+308E 309D ; [.32CD.0020.000F.308E][.32CD.0020.0010.308E] # <HIRAGANA LETTER SMALL WA, HIRAGANA ITERATION MARK>
+30EE 30FE ; [.32CD.0020.000F.30EE][.32CD.0020.0010.30EE][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL WA, KATAKANA VOICED ITERATION MARK>
+308E 309E ; [.32CD.0020.000F.308E][.32CD.0020.0010.308E][.0000.0128.0002.3099] # <HIRAGANA LETTER SMALL WA, HIRAGANA VOICED ITERATION MARK>
+30EF 30FD ; [.32CD.0020.0011.30EF][.32CD.0020.0010.30EF] # <KATAKANA LETTER WA, KATAKANA ITERATION MARK>
+FF9C 30FD ; [.32CD.0020.0011.30EF][.32CD.0020.0010.30EF] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA ITERATION MARK>
+308F 309D ; [.32CD.0020.0011.308F][.32CD.0020.0010.308F] # <HIRAGANA LETTER WA, HIRAGANA ITERATION MARK>
+30EF 30FE ; [.32CD.0020.0011.30EF][.32CD.0020.0010.30EF][.0000.0128.0002.3099] # <KATAKANA LETTER WA, KATAKANA VOICED ITERATION MARK>
+FF9C 30FE ; [.32CD.0020.0011.30EF][.32CD.0020.0010.30EF][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA VOICED ITERATION MARK>
+308F 309E ; [.32CD.0020.0011.308F][.32CD.0020.0010.308F][.0000.0128.0002.3099] # <HIRAGANA LETTER WA, HIRAGANA VOICED ITERATION MARK>
+30F0 30FD ; [.32CE.0020.0011.30F0][.32CE.0020.0010.30F0] # <KATAKANA LETTER WI, KATAKANA ITERATION MARK>
+3090 309D ; [.32CE.0020.0011.3090][.32CE.0020.0010.3090] # <HIRAGANA LETTER WI, HIRAGANA ITERATION MARK>
+30F0 30FE ; [.32CE.0020.0011.30F0][.32CE.0020.0010.30F0][.0000.0128.0002.3099] # <KATAKANA LETTER WI, KATAKANA VOICED ITERATION MARK>
+3090 309E ; [.32CE.0020.0011.3090][.32CE.0020.0010.3090][.0000.0128.0002.3099] # <HIRAGANA LETTER WI, HIRAGANA VOICED ITERATION MARK>
+30F1 30FD ; [.32CF.0020.0011.30F1][.32CF.0020.0010.30F1] # <KATAKANA LETTER WE, KATAKANA ITERATION MARK>
+3091 309D ; [.32CF.0020.0011.3091][.32CF.0020.0010.3091] # <HIRAGANA LETTER WE, HIRAGANA ITERATION MARK>
+30F1 30FE ; [.32CF.0020.0011.30F1][.32CF.0020.0010.30F1][.0000.0128.0002.3099] # <KATAKANA LETTER WE, KATAKANA VOICED ITERATION MARK>
+3091 309E ; [.32CF.0020.0011.3091][.32CF.0020.0010.3091][.0000.0128.0002.3099] # <HIRAGANA LETTER WE, HIRAGANA VOICED ITERATION MARK>
+30F2 30FD ; [.32D0.0020.0011.30F2][.32D0.0020.0010.30F2] # <KATAKANA LETTER WO, KATAKANA ITERATION MARK>
+FF66 30FD ; [.32D0.0020.0011.30F2][.32D0.0020.0010.30F2] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA ITERATION MARK>
+3092 309D ; [.32D0.0020.0011.3092][.32D0.0020.0010.3092] # <HIRAGANA LETTER WO, HIRAGANA ITERATION MARK>
+30F2 30FE ; [.32D0.0020.0011.30F2][.32D0.0020.0010.30F2][.0000.0128.0002.3099] # <KATAKANA LETTER WO, KATAKANA VOICED ITERATION MARK>
+FF66 30FE ; [.32D0.0020.0011.30F2][.32D0.0020.0010.30F2][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA VOICED ITERATION MARK>
+3092 309E ; [.32D0.0020.0011.3092][.32D0.0020.0010.3092][.0000.0128.0002.3099] # <HIRAGANA LETTER WO, HIRAGANA VOICED ITERATION MARK>
+30F3 30FD ; [.32D1.0020.0011.30F3][.32D1.0020.0010.30F3] # <KATAKANA LETTER N, KATAKANA ITERATION MARK>
+FF9D 30FD ; [.32D1.0020.0011.30F3][.32D1.0020.0010.30F3] # <HALFWIDTH KATAKANA LETTER N, KATAKANA ITERATION MARK>
+3093 309D ; [.32D1.0020.0011.3093][.32D1.0020.0010.3093] # <HIRAGANA LETTER N, HIRAGANA ITERATION MARK>
+30F4 30FD ; [.32A2.0020.0011.30A6][.0000.0128.0002.3099][.32A2.0020.0010.30F4] # <KATAKANA LETTER VU, KATAKANA ITERATION MARK>
+30A6 3099 30FD ; [.32A2.0020.0011.30A6][.0000.0128.0002.3099][.32A2.0020.0010.30F4] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF73 FF9E 30FD ; [.32A2.0020.0011.30A6][.0000.0128.0002.3099][.32A2.0020.0010.30F4] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3094 309D ; [.32A2.0020.0011.3046][.0000.0128.0002.3099][.32A2.0020.0010.3094] # <HIRAGANA LETTER VU, HIRAGANA ITERATION MARK>
+3046 3099 309D ; [.32A2.0020.0011.3046][.0000.0128.0002.3099][.32A2.0020.0010.3094] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30F4 30FE ; [.32A2.0020.0011.30A6][.0000.0128.0002.3099][.32A2.0020.0010.30F4][.0000.0128.0002.3099] # <KATAKANA LETTER VU, KATAKANA VOICED ITERATION MARK>
+30A6 3099 30FE ; [.32A2.0020.0011.30A6][.0000.0128.0002.3099][.32A2.0020.0010.30F4][.0000.0128.0002.3099] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF73 FF9E 30FE ; [.32A2.0020.0011.30A6][.0000.0128.0002.3099][.32A2.0020.0010.30F4][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3094 309E ; [.32A2.0020.0011.3046][.0000.0128.0002.3099][.32A2.0020.0010.3094][.0000.0128.0002.3099] # <HIRAGANA LETTER VU, HIRAGANA VOICED ITERATION MARK>
+3046 3099 309E ; [.32A2.0020.0011.3046][.0000.0128.0002.3099][.32A2.0020.0010.3094][.0000.0128.0002.3099] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30F5 30FD ; [.32A6.0020.000F.30F5][.32A6.0020.0010.30F5] # <KATAKANA LETTER SMALL KA, KATAKANA ITERATION MARK>
+3095 309D ; [.32A6.0020.000F.3095][.32A6.0020.0010.3095] # <HIRAGANA LETTER SMALL KA, HIRAGANA ITERATION MARK>
+30F5 30FE ; [.32A6.0020.000F.30F5][.32A6.0020.0010.30F5][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL KA, KATAKANA VOICED ITERATION MARK>
+3095 309E ; [.32A6.0020.000F.3095][.32A6.0020.0010.3095][.0000.0128.0002.3099] # <HIRAGANA LETTER SMALL KA, HIRAGANA VOICED ITERATION MARK>
+30F6 30FD ; [.32A9.0020.000F.30F6][.32A9.0020.0010.30F6] # <KATAKANA LETTER SMALL KE, KATAKANA ITERATION MARK>
+3096 309D ; [.32A9.0020.000F.3096][.32A9.0020.0010.3096] # <HIRAGANA LETTER SMALL KE, HIRAGANA ITERATION MARK>
+30F6 30FE ; [.32A9.0020.000F.30F6][.32A9.0020.0010.30F6][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL KE, KATAKANA VOICED ITERATION MARK>
+3096 309E ; [.32A9.0020.000F.3096][.32A9.0020.0010.3096][.0000.0128.0002.3099] # <HIRAGANA LETTER SMALL KE, HIRAGANA VOICED ITERATION MARK>
+30F7 30FD ; [.32CD.0020.0011.30EF][.0000.0128.0002.3099][.32CD.0020.0010.30F7] # <KATAKANA LETTER VA, KATAKANA ITERATION MARK>
+30EF 3099 30FD ; [.32CD.0020.0011.30EF][.0000.0128.0002.3099][.32CD.0020.0010.30F7] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF9C FF9E 30FD ; [.32CD.0020.0011.30EF][.0000.0128.0002.3099][.32CD.0020.0010.30F7] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30F7 30FE ; [.32CD.0020.0011.30EF][.0000.0128.0002.3099][.32CD.0020.0010.30F7][.0000.0128.0002.3099] # <KATAKANA LETTER VA, KATAKANA VOICED ITERATION MARK>
+30EF 3099 30FE ; [.32CD.0020.0011.30EF][.0000.0128.0002.3099][.32CD.0020.0010.30F7][.0000.0128.0002.3099] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF9C FF9E 30FE ; [.32CD.0020.0011.30EF][.0000.0128.0002.3099][.32CD.0020.0010.30F7][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+30F8 30FD ; [.32CE.0020.0011.30F0][.0000.0128.0002.3099][.32CE.0020.0010.30F8] # <KATAKANA LETTER VI, KATAKANA ITERATION MARK>
+30F0 3099 30FD ; [.32CE.0020.0011.30F0][.0000.0128.0002.3099][.32CE.0020.0010.30F8] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30F8 30FE ; [.32CE.0020.0011.30F0][.0000.0128.0002.3099][.32CE.0020.0010.30F8][.0000.0128.0002.3099] # <KATAKANA LETTER VI, KATAKANA VOICED ITERATION MARK>
+30F0 3099 30FE ; [.32CE.0020.0011.30F0][.0000.0128.0002.3099][.32CE.0020.0010.30F8][.0000.0128.0002.3099] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+30F9 30FD ; [.32CF.0020.0011.30F1][.0000.0128.0002.3099][.32CF.0020.0010.30F9] # <KATAKANA LETTER VE, KATAKANA ITERATION MARK>
+30F1 3099 30FD ; [.32CF.0020.0011.30F1][.0000.0128.0002.3099][.32CF.0020.0010.30F9] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30F9 30FE ; [.32CF.0020.0011.30F1][.0000.0128.0002.3099][.32CF.0020.0010.30F9][.0000.0128.0002.3099] # <KATAKANA LETTER VE, KATAKANA VOICED ITERATION MARK>
+30F1 3099 30FE ; [.32CF.0020.0011.30F1][.0000.0128.0002.3099][.32CF.0020.0010.30F9][.0000.0128.0002.3099] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+30FA 30FD ; [.32D0.0020.0011.30F2][.0000.0128.0002.3099][.32D0.0020.0010.30FA] # <KATAKANA LETTER VO, KATAKANA ITERATION MARK>
+30F2 3099 30FD ; [.32D0.0020.0011.30F2][.0000.0128.0002.3099][.32D0.0020.0010.30FA] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF66 FF9E 30FD ; [.32D0.0020.0011.30F2][.0000.0128.0002.3099][.32D0.0020.0010.30FA] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30FA 30FE ; [.32D0.0020.0011.30F2][.0000.0128.0002.3099][.32D0.0020.0010.30FA][.0000.0128.0002.3099] # <KATAKANA LETTER VO, KATAKANA VOICED ITERATION MARK>
+30F2 3099 30FE ; [.32D0.0020.0011.30F2][.0000.0128.0002.3099][.32D0.0020.0010.30FA][.0000.0128.0002.3099] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF66 FF9E 30FE ; [.32D0.0020.0011.30F2][.0000.0128.0002.3099][.32D0.0020.0010.30FA][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+31F0 30FD ; [.32A8.0020.000F.31F0][.32A8.0020.0010.31F0] # <KATAKANA LETTER SMALL KU, KATAKANA ITERATION MARK>
+31F0 30FE ; [.32A8.0020.000F.31F0][.32A8.0020.0010.31F0][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL KU, KATAKANA VOICED ITERATION MARK>
+31F1 30FD ; [.32AC.0020.000F.31F1][.32AC.0020.0010.31F1] # <KATAKANA LETTER SMALL SI, KATAKANA ITERATION MARK>
+31F1 30FE ; [.32AC.0020.000F.31F1][.32AC.0020.0010.31F1][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL SI, KATAKANA VOICED ITERATION MARK>
+31F2 30FD ; [.32AD.0020.000F.31F2][.32AD.0020.0010.31F2] # <KATAKANA LETTER SMALL SU, KATAKANA ITERATION MARK>
+31F2 30FE ; [.32AD.0020.000F.31F2][.32AD.0020.0010.31F2][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL SU, KATAKANA VOICED ITERATION MARK>
+31F3 30FD ; [.32B4.0020.000F.31F3][.32B4.0020.0010.31F3] # <KATAKANA LETTER SMALL TO, KATAKANA ITERATION MARK>
+31F3 30FE ; [.32B4.0020.000F.31F3][.32B4.0020.0010.31F3][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL TO, KATAKANA VOICED ITERATION MARK>
+31F4 30FD ; [.32B7.0020.000F.31F4][.32B7.0020.0010.31F4] # <KATAKANA LETTER SMALL NU, KATAKANA ITERATION MARK>
+31F5 30FD ; [.32BA.0020.000F.31F5][.32BA.0020.0010.31F5] # <KATAKANA LETTER SMALL HA, KATAKANA ITERATION MARK>
+31F5 30FE ; [.32BA.0020.000F.31F5][.32BA.0020.0010.31F5][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL HA, KATAKANA VOICED ITERATION MARK>
+31F6 30FD ; [.32BB.0020.000F.31F6][.32BB.0020.0010.31F6] # <KATAKANA LETTER SMALL HI, KATAKANA ITERATION MARK>
+31F6 30FE ; [.32BB.0020.000F.31F6][.32BB.0020.0010.31F6][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL HI, KATAKANA VOICED ITERATION MARK>
+31F7 30FD ; [.32BC.0020.000F.31F7][.32BC.0020.0010.31F7] # <KATAKANA LETTER SMALL HU, KATAKANA ITERATION MARK>
+31F7 30FE ; [.32BC.0020.000F.31F7][.32BC.0020.0010.31F7][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL HU, KATAKANA VOICED ITERATION MARK>
+31F8 30FD ; [.32BD.0020.000F.31F8][.32BD.0020.0010.31F8] # <KATAKANA LETTER SMALL HE, KATAKANA ITERATION MARK>
+31F8 30FE ; [.32BD.0020.000F.31F8][.32BD.0020.0010.31F8][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL HE, KATAKANA VOICED ITERATION MARK>
+31F9 30FD ; [.32BE.0020.000F.31F9][.32BE.0020.0010.31F9] # <KATAKANA LETTER SMALL HO, KATAKANA ITERATION MARK>
+31F9 30FE ; [.32BE.0020.000F.31F9][.32BE.0020.0010.31F9][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL HO, KATAKANA VOICED ITERATION MARK>
+31FA 30FD ; [.32C1.0020.000F.31FA][.32C1.0020.0010.31FA] # <KATAKANA LETTER SMALL MU, KATAKANA ITERATION MARK>
+31FB 30FD ; [.32C8.0020.000F.31FB][.32C8.0020.0010.31FB] # <KATAKANA LETTER SMALL RA, KATAKANA ITERATION MARK>
+31FC 30FD ; [.32C9.0020.000F.31FC][.32C9.0020.0010.31FC] # <KATAKANA LETTER SMALL RI, KATAKANA ITERATION MARK>
+31FD 30FD ; [.32CA.0020.000F.31FD][.32CA.0020.0010.31FD] # <KATAKANA LETTER SMALL RU, KATAKANA ITERATION MARK>
+31FE 30FD ; [.32CB.0020.000F.31FE][.32CB.0020.0010.31FE] # <KATAKANA LETTER SMALL RE, KATAKANA ITERATION MARK>
+31FF 30FD ; [.32CC.0020.000F.31FF][.32CC.0020.0010.31FF] # <KATAKANA LETTER SMALL RO, KATAKANA ITERATION MARK>
+F967 ; [.8961.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
+FA70 ; [.89AD.0020.0002.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
+F905 ; [.828D.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801 ; [.81B4.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E ; [.8709.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
+F91B ; [.8BA0.0020.0002.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
+F9BA ; [.8B1E.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977 ; [.8B1F.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD ; [.84DF.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+F9A8 ; [.8B44.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+F92D ; [.8BC8.0020.0002.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5 ; [.8B46.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30 ; [.897B.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805 ; [.897B.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
+F965 ; [.89C3.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
+F9D4 ; [.8B34.0020.0002.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F809 ; [.8926.0020.0002.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B ; [.8699.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB ; [.8B20.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31 ; [.866B.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A ; [.866B.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C ; [.8C0C.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74 ; [.84E1.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32 ; [.8A6F.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E ; [.8A6F.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F ; [.8C0F.0020.0002.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+FA72 ; [.8651.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978 ; [.8C12.0020.0002.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
+F9D1 ; [.8B7C.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811 ; [.8284.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75 ; [.8C15.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815 ; [.83D1.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2 ; [.8A0A.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3 ; [.8C1D.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817 ; [.856C.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818 ; [.8C1F.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A ; [.87F4.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+FA71 ; [.8C29.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-FA71
+2F81B ; [.8C29.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-2F81B
+F92E ; [.8B47.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979 ; [.8C2C.0020.0002.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955 ; [.8B22.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954 ; [.98D1.0020.0002.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
+2F81D ; [.8C33.0020.0002.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F81E ; [.85B0.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00 ; [.8619.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850 ; [.8619.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C ; [.8B56.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD ; [.8AFD.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF ; [.8432.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820 ; [.839C.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F822 ; [.815D.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
+F9C7 ; [.8B10.0020.0002.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A ; [.8B32.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D ; [.8B57.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
+FA76 ; [.8AAB.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825 ; [.8AAB.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33 ; [.89C4.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826 ; [.89C4.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952 ; [.9789.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
+F92F ; [.8C59.0020.0002.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34 ; [.8263.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827 ; [.8263.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F ; [.8C5F.0020.0002.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
+FA77 ; [.84A2.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828 ; [.84A2.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829 ; [.89DC.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A ; [.8C62.0020.0002.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+F963 ; [.8A15.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B ; [.8A15.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB ; [.8832.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C ; [.8C73.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35 ; [.890B.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D ; [.890B.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E ; [.88BF.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F ; [.86A3.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C ; [.8AF6.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F831 ; [.823D.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832 ; [.823D.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833 ; [.823D.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
+F96B ; [.8C84.0020.0002.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F836 ; [.820F.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837 ; [.8C87.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906 ; [.827A.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839 ; [.823E.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A ; [.847F.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+F9DE ; [.8AFE.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED ; [.8C97.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D ; [.8210.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+F980 ; [.8B65.0020.0002.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E ; [.879F.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F ; [.84C5.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+2F840 ; [.8CA8.0020.0002.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E ; [.8055.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F842 ; [.87F7.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
+2F843 ; [.82AD.0020.0002.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843
+2F844 ; [.8CC0.0020.0002.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845 ; [.864E.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846 ; [.864E.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B ; [.8CD7.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A ; [.8CCA.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847 ; [.8CCA.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36 ; [.815E.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78 ; [.815E.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848 ; [.81FF.0020.0002.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
+FA37 ; [.870B.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C ; [.870B.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+FA38 ; [.81C6.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F ; [.8999.0020.0002.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+F9A9 ; [.8D08.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B ; [.8D12.0020.0002.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F855 ; [.82B0.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852 ; [.856E.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853 ; [.8580.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F857 ; [.89DE.0020.0002.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
+FA39 ; [.89A8.0020.0002.5840] # CJK COMPATIBILITY IDEOGRAPH-FA39
+FA10 ; [.8784.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C ; [.8784.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C ; [.83D4.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A ; [.8A18.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+FA7D ; [.899A.0020.0002.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A ; [.8D4A.0020.0002.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942 ; [.8D4E.0020.0002.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F851 ; [.8671.0020.0002.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851
+2F85A ; [.88B5.0020.0002.58F2] # CJK COMPATIBILITY IDEOGRAPH-2F85A
+2F85B ; [.8792.0020.0002.58F7] # CJK COMPATIBILITY IDEOGRAPH-2F85B
+2F85D ; [.86BA.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+2F85E ; [.8A5B.0020.0002.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+FA7E ; [.809F.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C ; [.8853.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909 ; [.82B1.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F ; [.8A24.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F ; [.8D66.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981 ; [.851C.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
+FA80 ; [.8D83.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866 ; [.8965.0020.0002.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F86A ; [.8D99.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B ; [.8D99.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+FA04 ; [.86EB.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
+2F86D ; [.8DAD.0020.0002.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D
+F95F ; [.887C.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA ; [.887C.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F ; [.887C.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC ; [.8B23.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F870 ; [.8DBA.0020.0002.5BF3] # CJK COMPATIBILITY IDEOGRAPH-2F870
+2F872 ; [.84BE.0020.0002.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872
+2F873 ; [.8530.0020.0002.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873
+2F875 ; [.8DC1.0020.0002.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
+F9BD ; [.8873.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877 ; [.87E0.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
+FA3B ; [.8675.0020.0002.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF ; [.8AFF.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C ; [.8DCD.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878 ; [.8DCD.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
+F9D5 ; [.8DEE.0020.0002.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+F921 ; [.8AF7.0020.0002.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
+F9AB ; [.8B49.0020.0002.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F881 ; [.8509.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F884 ; [.8700.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F886 ; [.8A02.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
+F98E ; [.8880.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01 ; [.87EE.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88D ; [.8513.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2 ; [.8B5A.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928 ; [.8B6E.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E ; [.8B6E.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA0B ; [.8140.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+F982 ; [.8E30.0020.0002.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
+2F890 ; [.8E36.0020.0002.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
+F943 ; [.8B6F.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F874 ; [.880B.0020.0002.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874
+2F899 ; [.82B2.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84 ; [.83D7.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A ; [.875D.0020.0002.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+F9D8 ; [.8B0A.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+F966 ; [.8989.0020.0002.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85 ; [.8E5A.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D ; [.8877.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E ; [.843F.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3 ; [.8881.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+F960 ; [.87F1.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC ; [.8B4A.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+FA6B ; [.82B4.0020.0002.6075] # CJK COMPATIBILITY IDEOGRAPH-FA6B
+2F8A0 ; [.8E80.0020.0002.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D ; [.8114.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3 ; [.8114.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5 ; [.884A.0020.0002.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86 ; [.8E95.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9 ; [.8E8C.0020.0002.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88 ; [.8AA3.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9 ; [.8EAF.0020.0002.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6 ; [.8465.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7 ; [.835F.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9 ; [.835F.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87 ; [.8596.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8 ; [.8596.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA3E ; [.812D.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+FA3F ; [.869B.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89 ; [.869B.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB ; [.869B.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F ; [.8B5C.0020.0002.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD ; [.899B.0020.0002.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AC ; [.82EC.0020.0002.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+FA40 ; [.875F.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B ; [.875F.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0 ; [.875F.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D ; [.8ED5.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1 ; [.8ED5.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990 ; [.8EDC.0020.0002.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F8B2 ; [.85ED.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3 ; [.8EE2.0020.0002.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2 ; [.8EE6.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C ; [.86D2.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B5 ; [.89E5.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925 ; [.8F09.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B ; [.8EFE.0020.0002.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02 ; [.86EE.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6 ; [.8EF8.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+F973 ; [.84CB.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9 ; [.8903.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7 ; [.8F12.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+2F8BB ; [.8495.0020.0002.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4 ; [.8882.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC ; [.867A.0020.0002.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975 ; [.8B0E.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1 ; [.80A3.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D ; [.8F2B.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+FA8E ; [.8F15.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8C3 ; [.8A29.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+F991 ; [.8883.0020.0002.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
+FA41 ; [.895F.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8 ; [.895F.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90 ; [.8F64.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9 ; [.82BA.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969 ; [.8F6B.0020.0002.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
+F9BE ; [.8B24.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983 ; [.8B1C.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
+FA42 ; [.81D2.0020.0002.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
+F9E0 ; [.8036.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+2F8CD ; [.8F89.0020.0002.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12 ; [.85F1.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91 ; [.85F1.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5 ; [.8F94.0020.0002.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43 ; [.8510.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF ; [.8510.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+FA06 ; [.8A06.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F901 ; [.8366.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC ; [.8516.0020.0002.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4 ; [.83D2.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929 ; [.8B70.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92 ; [.8B70.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8 ; [.8B70.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93 ; [.8A07.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9 ; [.8A07.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+F9E1 ; [.8B00.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC ; [.84A4.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94 ; [.8576.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB ; [.8FB7.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+2F8E0 ; [.8FC5.0020.0002.6785] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
+F9F4 ; [.8B36.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9 ; [.8A9F.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+F9DA ; [.829B.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+F97A ; [.8B25.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44 ; [.88B0.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2 ; [.88B0.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+F9E2 ; [.8B01.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+F914 ; [.9037.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C ; [.9037.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF ; [.9037.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C ; [.9048.0020.0002.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
+F931 ; [.8B67.0020.0002.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED ; [.828E.0020.0002.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D ; [.8AF8.0020.0002.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F8EF ; [.8468.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1 ; [.907B.0020.0002.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+FA95 ; [.9080.0020.0002.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
+F970 ; [.840F.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96 ; [.840F.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5 ; [.840F.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8F6 ; [.8145.0020.0002.6BBB] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
+2F8FA ; [.88F5.0020.0002.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+F972 ; [.8777.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC ; [.80A5.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968 ; [.8916.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
+F9E3 ; [.87BA.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+F915 ; [.8AF1.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05 ; [.8829.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F900 ; [.889A.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA ; [.8B11.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97 ; [.8B11.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902 ; [.8B11.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903 ; [.836D.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A ; [.8B73.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45 ; [.811D.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901 ; [.811D.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904 ; [.859C.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905 ; [.90D2.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5 ; [.8B37.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F9D6 ; [.90E5.0020.0002.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E ; [.90D3.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46 ; [.8512.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908 ; [.836E.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909 ; [.90E8.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB ; [.8B12.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC ; [.87C3.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+FA99 ; [.8469.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B ; [.8469.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904 ; [.8163.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
+F94E ; [.8B74.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
+FA47 ; [.8198.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A ; [.8198.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992 ; [.8B5D.0020.0002.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F ; [.8763.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912 ; [.912F.0020.0002.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922 ; [.8AF9.0020.0002.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984 ; [.913F.0020.0002.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915 ; [.9140.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
+FA9B ; [.8847.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-FA9B
+2F914 ; [.8847.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-2F914
+2F835 ; [.811E.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F918 ; [.83DD.0020.0002.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB ; [.914B.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A ; [.8713.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F ; [.8B58.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916 ; [.9156.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
+F993 ; [.8B5E.0020.0002.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48 ; [.8498.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C ; [.8498.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+F9C0 ; [.916F.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE ; [.8B38.0020.0002.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932 ; [.9178.0020.0002.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E ; [.9179.0020.0002.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920 ; [.917A.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA9E ; [.84A6.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921 ; [.84A6.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
+F946 ; [.8B75.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924 ; [.83DF.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
+FA9F ; [.88F7.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F92B ; [.8B76.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16 ; [.874F.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0 ; [.874F.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F9A7 ; [.91AE.0020.0002.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928 ; [.91B0.0020.0002.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
+F961 ; [.8B0B.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB ; [.8B0B.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929 ; [.80C1.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
+F9AD ; [.8B4B.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917 ; [.91B8.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4 ; [.8B02.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC ; [.8B13.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A ; [.86F1.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92F ; [.91C5.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE ; [.91C6.0020.0002.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+2F932 ; [.91CF.0020.0002.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
+FAA3 ; [.8103.0020.0002.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3
+F9CD ; [.8B14.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976 ; [.8B0F.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962 ; [.803A.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938 ; [.803A.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
+F9E5 ; [.8B04.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+FAA5 ; [.921B.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1 ; [.8B28.0020.0002.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E ; [.922C.0020.0002.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
+FA17 ; [.8094.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6 ; [.8094.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7 ; [.85F8.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+F933 ; [.924A.0020.0002.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
+FAA8 ; [.8775.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940 ; [.8775.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D ; [.854D.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F945 ; [.9253.0020.0002.771E] # CJK COMPATIBILITY IDEOGRAPH-2F945
+2F946 ; [.85A0.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947 ; [.85A0.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAAA ; [.873E.0020.0002.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+2F94A ; [.9263.0020.0002.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+F9CE ; [.8B15.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B ; [.9281.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F ; [.9281.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B ; [.8919.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947 ; [.928D.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
+F985 ; [.927A.0020.0002.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
+FA18 ; [.8B4C.0020.0002.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18
+FA4C ; [.8499.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E ; [.81DC.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D ; [.844C.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F ; [.8AB9.0020.0002.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50 ; [.8661.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953 ; [.8661.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51 ; [.84F0.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19 ; [.85A1.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A ; [.8550.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+F93C ; [.92A1.0020.0002.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
+FA52 ; [.80ED.0020.0002.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53 ; [.87AE.0020.0002.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B ; [.898C.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956 ; [.898C.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6 ; [.92A7.0020.0002.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+F956 ; [.8B2A.0020.0002.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54 ; [.839F.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959 ; [.839F.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
+2F95B ; [.80D5.0020.0002.7A4F] # CJK COMPATIBILITY IDEOGRAPH-2F95B
+FA55 ; [.8840.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
+F9F7 ; [.8B0C.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+F9F8 ; [.8157.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+FA56 ; [.8620.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD ; [.8620.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962 ; [.930B.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963 ; [.8734.0020.0002.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6 ; [.8B5F.0020.0002.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944 ; [.9312.0020.0002.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
+F9F9 ; [.8B16.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D ; [.85F9.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+2F966 ; [.9341.0020.0002.7CD2] # CJK COMPATIBILITY IDEOGRAPH-2F966
+FA03 ; [.8811.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
+F97B ; [.8B2B.0020.0002.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F96A ; [.81DF.0020.0002.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF ; [.8940.0020.0002.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A ; [.8402.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F ; [.8B42.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FAAF ; [.9360.0020.0002.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C ; [.935D.0020.0002.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F957 ; [.801C.0020.0002.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E ; [.9368.0020.0002.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996 ; [.8B60.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57 ; [.8B60.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0 ; [.8B60.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+FA58 ; [.9380.0020.0002.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950 ; [.9389.0020.0002.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59 ; [.88FA.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
+FA5A ; [.8515.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6 ; [.8ED1.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+F90F ; [.8AEA.0020.0002.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
+F9AF ; [.93C1.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E ; [.8066.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+F934 ; [.8B78.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B ; [.849B.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2 ; [.849B.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A ; [.849B.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0 ; [.93E1.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+F997 ; [.8B61.0020.0002.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F ; [.93EA.0020.0002.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945 ; [.8B79.0020.0002.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
+F953 ; [.8B7F.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6 ; [.93F5.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982 ; [.8048.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F985 ; [.9409.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926 ; [.942A.0020.0002.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
+F9F6 ; [.8B3A.0020.0002.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+FA5C ; [.84D2.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893 ; [.9433.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B ; [.9433.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+FA6D ; [.81B3.0020.0002.8218] # CJK COMPATIBILITY IDEOGRAPH-FA6D
+F97C ; [.8B2C.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
+2F990 ; [.8051.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F991 ; [.848E.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993 ; [.80F1.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994 ; [.89F0.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995 ; [.8105.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974 ; [.84AA.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998 ; [.84AA.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996 ; [.827F.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
+2F99C ; [.9478.0020.0002.8323] # CJK COMPATIBILITY IDEOGRAPH-2F99C
+F9FE ; [.873C.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3 ; [.8380.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F99D ; [.9493.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+2F9A1 ; [.81FB.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2 ; [.8270.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3 ; [.83E5.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+FAB4 ; [.80F5.0020.0002.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958 ; [.8936.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918 ; [.8AF3.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E ; [.8ADA.0020.0002.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F ; [.8751.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F ; [.8751.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999 ; [.8B62.0020.0002.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
+F9C2 ; [.94BE.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+F923 ; [.8AFA.0020.0002.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0 ; [.94E4.0020.0002.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935 ; [.94E5.0020.0002.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
+F91F ; [.8AFB.0020.0002.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910 ; [.94E9.0020.0002.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F9B3 ; [.8209.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936 ; [.8B1D.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4 ; [.8B1D.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5 ; [.94EE.0020.0002.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B7 ; [.94F2.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+F911 ; [.8AEB.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
+FA08 ; [.8381.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C4 ; [.8040.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0 ; [.8B59.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F9E7 ; [.8B05.0020.0002.88CF] # CJK COMPATIBILITY IDEOGRAPH-F9E7
+F9E8 ; [.8B06.0020.0002.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912 ; [.8AEC.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
+FA60 ; [.8165.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6 ; [.9576.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924 ; [.9580.0020.0002.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
+FAB7 ; [.898F.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A ; [.82FA.0020.0002.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+FA61 ; [.8454.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8 ; [.8454.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2F9CF ; [.85FE.0020.0002.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+FAB9 ; [.876B.0020.0002.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB ; [.8600.0020.0002.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D ; [.8B2D.0020.0002.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941 ; [.8B81.0020.0002.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE ; [.8AA6.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0 ; [.8AA6.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22 ; [.8519.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA ; [.8519.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D ; [.86F5.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD ; [.86F5.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62 ; [.8097.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC ; [.8097.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63 ; [.8273.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF ; [.8273.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC ; [.8478.0020.0002.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A ; [.95E2.0020.0002.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0 ; [.8F6E.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1 ; [.8F6E.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+F900 ; [.95ED.0020.0002.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2 ; [.95F1.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D4 ; [.81AA.0020.0002.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5 ; [.9608.0020.0002.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948 ; [.8B69.0020.0002.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
+F903 ; [.9607.0020.0002.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64 ; [.895D.0020.0002.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65 ; [.869E.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1 ; [.869E.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D7 ; [.81E4.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DA ; [.9629.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937 ; [.8B6A.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
+F902 ; [.849D.0020.0002.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
+F998 ; [.966D.0020.0002.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7 ; [.8B3B.0020.0002.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2 ; [.8AA7.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF ; [.8AA7.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07 ; [.966F.0020.0002.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D ; [.967A.0020.0002.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
+2F98D ; [.8474.0020.0002.8F9E] # CJK COMPATIBILITY IDEOGRAPH-2F98D
+F971 ; [.86FD.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
+F99A ; [.8B63.0020.0002.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25 ; [.804E.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67 ; [.804E.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
+FAC3 ; [.96A7.0020.0002.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3 ; [.8B2E.0020.0002.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913 ; [.96AE.0020.0002.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
+F92C ; [.8B7B.0020.0002.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
+FA26 ; [.87E9.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
+F919 ; [.8AF4.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
+F9B7 ; [.96CC.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9 ; [.8B07.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E ; [.8B2F.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A ; [.8275.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9B1 ; [.8B4E.0020.0002.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9EE ; [.8124.0020.0002.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986 ; [.9739.0020.0002.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
+F9C6 ; [.974C.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951 ; [.9751.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09 ; [.838C.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959 ; [.8B30.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3 ; [.8B09.0020.0002.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+F9DC ; [.8B17.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9F1 ; [.8B3C.0020.0002.96A3] # CJK COMPATIBILITY IDEOGRAPH-F9F1
+FA2F ; [.8B4F.0020.0002.96B7] # CJK COMPATIBILITY IDEOGRAPH-FA2F
+F9B8 ; [.9765.0020.0002.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+F9EA ; [.8B08.0020.0002.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68 ; [.8864.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7 ; [.8864.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+F9B2 ; [.8B50.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949 ; [.8AF0.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
+F938 ; [.8B6B.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3 ; [.9781.0020.0002.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+FA1C ; [.8A9E.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8 ; [.8A9E.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+FA69 ; [.8254.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA ; [.8254.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
+F9B4 ; [.8B31.0020.0002.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+FA6A ; [.895E.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC ; [.895E.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0 ; [.8B43.0020.0002.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2FA02 ; [.81E7.0020.0002.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A ; [.8902.0020.0002.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B ; [.845D.0020.0002.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C ; [.81B2.0020.0002.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+F91A ; [.97E3.0020.0002.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
+F987 ; [.97FD.0020.0002.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
+F939 ; [.8B66.0020.0002.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
+F9F2 ; [.8B3D.0020.0002.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+FA2D ; [.8798.0020.0002.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A ; [.83F8.0020.0002.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920 ; [.9890.0020.0002.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
+F940 ; [.8476.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
+F988 ; [.8B52.0020.0002.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3 ; [.8B3E.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15 ; [.8A2C.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989 ; [.98A3.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA17 ; [.98B1.0020.0002.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FA1C ; [.892E.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+F9C4 ; [.8B19.0020.0002.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+F907 ; [.98CB.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908 ; [.98CB.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE ; [.98CB.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kk.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kk.pl
index bc36ebdc734..d2f48fc38d1 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kk.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kk.pl
@@ -1,44 +1,53 @@
+{
-# barred-o doesn't require tailoring
- suppress => [0x0400..0x045F],
- entry => <<'ENTRY', # for DUCET v6.0.0
-04B1 ; [.1A7A.0020.0002.04B1] # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
-04B0 ; [.1A7A.0020.0008.04B0] # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
-0456 ; [.1AF8.0020.0002.0456] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-0406 ; [.1AF8.0020.0008.0406] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-04D1 ; [.1943.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
-04D0 ; [.1943.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
-04D3 ; [.1943.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D2 ; [.1943.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-0453 ; [.1963.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
-0403 ; [.1963.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
-04D7 ; [.198B.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
-04D6 ; [.198B.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-04DD ; [.1997.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DC ; [.1997.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DF ; [.19A4.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04DE ; [.19A4.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-04E5 ; [.19BC.0020.0002.0438][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER I WITH DIAERESIS
-04E4 ; [.19BC.0020.0008.0418][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-0457 ; [.1AF8.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
-0407 ; [.1AF8.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
-0439 ; [.19BC.0020.0002.0438][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT I
-0419 ; [.19BC.0020.0008.0418][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT I
-04E7 ; [.1A29.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E6 ; [.1A29.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-045C ; [.19DA.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
-040C ; [.19DA.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
-045E ; [.1A6B.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
-040E ; [.1A6B.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
-04F1 ; [.1A6B.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F0 ; [.1A6B.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F3 ; [.1A6B.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F2 ; [.1A6B.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F5 ; [.1ABE.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F4 ; [.1ABE.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F9 ; [.1AF1.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04F8 ; [.1AF1.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04ED ; [.1B06.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EC ; [.1B06.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+ locale_version => 0.88,
+ suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
+ 0x0416, 0x0436, 0x0417, 0x0437, 0x0406, 0x0456, 0x041E, 0x043E,
+ 0x04E8, 0x04E9, 0x041A, 0x043A, 0x0423, 0x0443, 0x0427, 0x0447,
+ 0x042B, 0x044B, 0x042D, 0x044D, 0x0474, 0x0475],
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0451 ; [.19BF.0020.0002.0451] # CYRILLIC SMALL LETTER IO
+0435 0308 ; [.19BF.0020.0002.0451] # CYRILLIC SMALL LETTER IO
+0401 ; [.19BF.0020.0008.0401] # CYRILLIC CAPITAL LETTER IO
+0415 0308 ; [.19BF.0020.0008.0401] # CYRILLIC CAPITAL LETTER IO
+04AF ; [.1AB3.0020.0002.04AF] # CYRILLIC SMALL LETTER STRAIGHT U
+04AE ; [.1AB3.0020.0008.04AE] # CYRILLIC CAPITAL LETTER STRAIGHT U
+0456 ; [.1B2B.0020.0002.0456] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0406 ; [.1B2B.0020.0008.0406] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+04D1 ; [.1976.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.1976.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.1976.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.1976.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04DB ; [.1982.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA ; [.1982.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+0453 ; [.1996.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
+0403 ; [.1996.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
+04D7 ; [.19BE.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.19BE.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD ; [.19CA.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.19CA.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF ; [.19D7.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19D7.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+0457 ; [.1B2B.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
+0407 ; [.1B2B.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
+04E7 ; [.1A5C.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A5C.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04EB ; [.1A64.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA ; [.1A64.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+045C ; [.1A0D.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
+040C ; [.1A0D.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
+045E ; [.1A9E.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
+040E ; [.1A9E.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
+04F1 ; [.1A9E.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0 ; [.1A9E.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3 ; [.1A9E.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2 ; [.1A9E.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F5 ; [.1AF1.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1AF1.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9 ; [.1B24.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1B24.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED ; [.1B39.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B39.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+0477 ; [.1B6F.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476 ; [.1B6F.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kl.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kl.pl
index 10a73344044..18e0c74f7fa 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kl.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kl.pl
@@ -1,72 +1,73 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0 ; [.15E4.0022.0002.00F0] # LATIN SMALL LETTER ETH
-00D0 ; [.15E4.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
-0138 ; [.175E.0021.0002.0138] # LATIN SMALL LETTER KRA
-004B 0027 ; [.175E.0021.0008.004B] # <LATIN CAPITAL LETTER K, APOSTROPHE>
-00FE ; [.17C9.0020.0003.00FE][.1667.0020.0003.00FE] # LATIN SMALL LETTER THORN
-00DE ; [.17C9.0020.0009.00DE][.1667.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-00FC ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171 ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170 ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6 ; [.1845.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.1845.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.1845.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.1845.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.1845.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.1845.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.1845.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.1845.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.1845.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.1846.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.1846.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1846.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1846.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151 ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150 ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153 ; [.1846.0023.0002.0153] # LATIN SMALL LIGATURE OE
-0152 ; [.1846.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
-00E5 ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.1847.0020.0008.00C5] # ANGSTROM SIGN
-01FB ; [.1847.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.1847.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0111 ; [.1616.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1616.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.1616.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1616.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.1616.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0 ; [.1616.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+0138 ; [.1790.0021.0002.0138] # LATIN SMALL LETTER KRA
+004B 0027 ; [.1790.0021.0008.004B] # <LATIN CAPITAL LETTER K, APOSTROPHE>
+00FE ; [.17FB.0020.0003.00FE][.1699.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE ; [.17FB.0020.0009.00DE][.1699.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+00FC ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1865.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1865.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1865.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1865.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1865.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1865.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1865.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1865.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.1865.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1865.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.1865.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1865.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6 ; [.18EB.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.18EB.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.18EB.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.18EB.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.18EB.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.18EB.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.18EB.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4 ; [.18EB.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.18EB.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.18EB.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.18EB.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.18EB.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.18EB.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119 ; [.18EB.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.18EB.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.18EB.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.18EB.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8 ; [.18EC.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.18EC.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.18EC.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.18EC.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.18EC.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.18EC.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6 ; [.18EC.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.18EC.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.18EC.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.18EC.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.18EC.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.18EC.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.18EC.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.18EC.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.18EC.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.18EC.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.18EC.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152 ; [.18EC.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E5 ; [.18ED.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.18ED.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.18ED.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.18ED.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.18ED.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.18ED.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.18ED.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kn.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kn.pl
new file mode 100644
index 00000000000..24e78320475
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kn.pl
@@ -0,0 +1,9 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0C82 ; [.21AC.0020.0002.0C82][.FFF1.0000.0000.0000] # KANNADA SIGN ANUSVARA
+0C83 ; [.21AC.0020.0002.0C83][.FFF2.0000.0000.0000] # KANNADA SIGN VISARGA
+0CF1 ; [.21AC.0020.0002.0CF1][.FFF3.0000.0000.0000] # KANNADA SIGN JIHVAMULIYA
+0CF2 ; [.21AC.0020.0002.0CF2][.FFF4.0000.0000.0000] # KANNADA SIGN UPADHMANIYA
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ko.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ko.pl
index a5d91e267e9..fd4610027f9 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ko.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ko.pl
@@ -1,4 +1,647 @@
use Unicode::Collate::CJK::Korean;
+{
+ locale_version => 0.88,
overrideCJK => \&Unicode::Collate::CJK::Korean::weightKorean,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+F967 ; [.3142.0021.0002.4E0D][.31C6.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
+FA70 ; [.3142.0032.0002.4E26][.31BF.0020.0002.4E26][.322B.0020.0002.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
+F905 ; [.313B.0021.0002.4E32][.31C1.0020.0002.4E32][.322C.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801 ; [.314D.0021.0002.4E38][.31C2.0020.0002.4E38][.321A.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E ; [.313E.0021.0002.4E39][.31B9.0020.0002.4E39][.321A.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
+F91B ; [.3140.0021.0002.4E82][.31B9.0020.0002.4E82][.321A.0020.0002.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
+F9BA ; [.3140.0021.0002.4E86][.31C5.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977 ; [.3140.0021.0002.4EAE][.31BB.0020.0002.4EAE][.322B.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD ; [.3144.0021.0002.4EC0][.31CD.0020.0002.4EC0][.3227.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+F9A8 ; [.3140.0021.0002.4EE4][.31BF.0020.0002.4EE4][.322B.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+F92D ; [.3140.0021.0002.4F86][.31BA.0020.0002.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5 ; [.3140.0021.0002.4F8B][.31C0.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30 ; [.3141.0021.0002.4FAE][.31C1.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805 ; [.3141.0021.0002.4FAE][.31C1.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
+2F806 ; [.314B.0023.0002.4FBB][.31B9.0020.0002.4FBB][.321E.0020.0002.4FBB] # CJK COMPATIBILITY IDEOGRAPH-2F806
+F965 ; [.314C.0021.0002.4FBF][.31BF.0020.0002.4FBF][.321A.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
+2F807 ; [.3142.0022.0002.5002][.31BF.0020.0002.5002][.322B.0020.0002.5002] # CJK COMPATIBILITY IDEOGRAPH-2F807
+F9D4 ; [.3140.0022.0002.502B][.31CA.0020.0002.502B][.321A.0020.0002.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F809 ; [.3142.0022.0002.5099][.31CD.0020.0002.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B ; [.3144.0023.0002.50CF][.31B9.0020.0002.50CF][.322B.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB ; [.3140.0022.0002.50DA][.31C5.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31 ; [.3144.0023.0002.50E7][.31CB.0020.0002.50E7][.322B.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A ; [.3144.0023.0002.50E7][.31CB.0020.0002.50E7][.322B.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C ; [.3146.0021.0002.5140][.31C1.0020.0002.5140][.321E.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74 ; [.3149.0021.0002.5145][.31C6.0020.0002.5145][.322B.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32 ; [.3141.0021.0002.514D][.31BF.0020.0002.514D][.321A.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E ; [.3141.0021.0002.514D][.31BF.0020.0002.514D][.321A.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F814 ; [.313D.0022.0002.5167][.31BA.0020.0002.5167] # CJK COMPATIBILITY IDEOGRAPH-2F814
+FA72 ; [.3147.0024.0002.5168][.31BD.0020.0002.5168][.321A.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978 ; [.3140.0023.0002.5169][.31BB.0020.0002.5169][.322B.0020.0002.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
+F9D1 ; [.3140.0021.0002.516D][.31CA.0020.0002.516D][.3217.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811 ; [.313B.0026.0002.5177][.31C6.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75 ; [.313B.0024.0002.5180][.31CD.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815 ; [.3147.0021.0002.518D][.31BA.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2 ; [.3141.0022.0002.5192][.31C1.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3 ; [.3141.0022.0002.5195][.31BF.0020.0002.5195][.321A.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817 ; [.3146.0023.0002.5197][.31C5.0020.0002.5197][.322B.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818 ; [.3146.003B.0002.51A4][.31C7.0020.0002.51A4][.321A.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A ; [.313E.0022.0002.51AC][.31C1.0020.0002.51AC][.322B.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+F92E ; [.3140.0021.0002.51B7][.31BA.0020.0002.51B7][.322B.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979 ; [.3140.0024.0002.51C9][.31BB.0020.0002.51C9][.322B.0020.0002.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955 ; [.3140.0021.0002.51CC][.31CB.0020.0002.51CC][.322B.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954 ; [.3140.0021.0002.51DC][.31CB.0020.0002.51DC][.3226.0020.0002.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
+FA15 ; [.314D.0022.0002.51DE][.31CC.0020.0002.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15
+2F81E ; [.3146.0023.0002.5203][.31CD.0020.0002.5203][.321A.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00 ; [.3147.0021.0002.5207][.31BD.0020.0002.5207][.321E.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850 ; [.3147.0021.0002.5207][.31BD.0020.0002.5207][.321E.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C ; [.3140.0022.0002.5217][.31BF.0020.0002.5217][.321E.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD ; [.3140.0022.0002.5229][.31CD.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF ; [.3147.0022.0002.523A][.31B9.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820 ; [.313B.0021.0002.523B][.31B9.0020.0002.523B][.3217.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F822 ; [.314D.0021.0002.5272][.31B9.0020.0002.5272][.321E.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
+2F823 ; [.3144.002D.0002.5277][.31B9.0020.0002.5277][.321A.0020.0002.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823
+F9C7 ; [.3140.0021.0002.5289][.31CA.0020.0002.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A ; [.3140.0021.0002.529B][.31BF.0020.0002.529B][.3217.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D ; [.3140.0023.0002.52A3][.31BF.0020.0002.52A3][.321E.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
+FA76 ; [.3146.0024.0002.52C7][.31C5.0020.0002.52C7][.322B.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825 ; [.3146.0024.0002.52C7][.31C5.0020.0002.52C7][.322B.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33 ; [.3141.0023.0002.52C9][.31BF.0020.0002.52C9][.321A.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826 ; [.3141.0023.0002.52C9][.31BF.0020.0002.52C9][.321A.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952 ; [.3140.0021.0002.52D2][.31CB.0020.0002.52D2][.3217.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
+F92F ; [.3140.0021.0002.52DE][.31C1.0020.0002.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34 ; [.313B.0023.0002.52E4][.31CB.0020.0002.52E4][.321A.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827 ; [.313B.0023.0002.52E4][.31CB.0020.0002.52E4][.321A.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F ; [.3140.0023.0002.52F5][.31BF.0020.0002.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
+FA77 ; [.3147.0022.0002.52FA][.31B9.0020.0002.52FA][.3217.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828 ; [.3147.0022.0002.52FA][.31B9.0020.0002.52FA][.3217.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829 ; [.314C.0022.0002.5305][.31C1.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
+F963 ; [.3142.0021.0002.5317][.31C6.0020.0002.5317][.3217.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B ; [.3142.0021.0002.5317][.31C6.0020.0002.5317][.3217.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB ; [.313D.0021.0002.533F][.31CD.0020.0002.533F][.3217.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C ; [.314D.0021.0002.5349][.31C8.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35 ; [.3142.0025.0002.5351][.31CD.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D ; [.3142.0025.0002.5351][.31CD.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E ; [.3142.0022.0002.535A][.31B9.0020.0002.535A][.3217.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F ; [.3147.0022.0002.5373][.31CB.0020.0002.5373][.3217.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C ; [.3140.0022.0002.5375][.31B9.0020.0002.5375][.321A.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F830 ; [.3147.0021.0002.537D][.31CB.0020.0002.537D][.3217.0020.0002.537D] # CJK COMPATIBILITY IDEOGRAPH-2F830
+2F831 ; [.313B.0028.0002.537F][.31BF.0020.0002.537F][.322B.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832 ; [.313B.0028.0002.537F][.31BF.0020.0002.537F][.322B.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833 ; [.313B.0028.0002.537F][.31BF.0020.0002.537F][.322B.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
+F96B ; [.3149.0022.0002.53C3][.31B9.0020.0002.53C3][.3226.0020.0002.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F836 ; [.313B.0022.0002.53CA][.31CB.0020.0002.53CA][.3227.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837 ; [.3144.005E.0002.53DF][.31C6.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906 ; [.313B.002A.0002.53E5][.31C6.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839 ; [.313B.0021.0002.53EB][.31CA.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A ; [.3147.0022.0002.53F1][.31CD.0020.0002.53F1][.321E.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+F9DE ; [.3140.0024.0002.540F][.31CD.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED ; [.3140.0021.0002.541D][.31CD.0020.0002.541D][.321A.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D ; [.314D.0021.0002.5438][.31CB.0020.0002.5438][.3227.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+F980 ; [.3140.0024.0002.5442][.31BF.0020.0002.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E ; [.3147.0026.0002.5448][.31BD.0020.0002.5448][.322B.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F ; [.3147.0028.0002.5468][.31C6.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+2F840 ; [.3146.0031.0002.54A2][.31B9.0020.0002.54A2][.3217.0020.0002.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E ; [.3146.0025.0002.54BD][.31CD.0020.0002.54BD][.321A.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F842 ; [.313E.0021.0002.5510][.31B9.0020.0002.5510][.322B.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
+2F843 ; [.313B.0022.0002.5553][.31C0.0020.0002.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843
+2F844 ; [.314D.0024.0002.5563][.31B9.0020.0002.5563][.3226.0020.0002.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845 ; [.3144.0024.0002.5584][.31BD.0020.0002.5584][.321A.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846 ; [.3144.0024.0002.5584][.31BD.0020.0002.5584][.321A.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B ; [.3140.0021.0002.5587][.31B9.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A ; [.314D.0022.0002.5599][.31C8.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847 ; [.314D.0022.0002.5599][.31C8.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36 ; [.313B.0022.0002.559D][.31B9.0020.0002.559D][.321E.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78 ; [.313B.0022.0002.559D][.31B9.0020.0002.559D][.321E.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848 ; [.313C.0021.0002.55AB][.31CD.0020.0002.55AB][.3217.0020.0002.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
+FA7B ; [.3146.0022.0002.55E2][.31C1.0020.0002.55E2][.321E.0020.0002.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B
+FA37 ; [.314B.0022.0002.5606][.31B9.0020.0002.5606][.321A.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C ; [.314B.0022.0002.5606][.31B9.0020.0002.5606][.321A.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+FA38 ; [.313B.0026.0002.5668][.31CD.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F ; [.3142.0023.0002.5674][.31C6.0020.0002.5674][.321A.0020.0002.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+F9A9 ; [.3140.0023.0002.56F9][.31BF.0020.0002.56F9][.322B.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B ; [.313E.0024.0002.5716][.31C1.0020.0002.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F855 ; [.314D.0024.0002.578B][.31BF.0020.0002.578B][.322B.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852 ; [.3144.0021.0002.57CE][.31BD.0020.0002.57CE][.322B.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853 ; [.3144.0021.0002.57F4][.31CD.0020.0002.57F4][.3217.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F857 ; [.3142.0023.0002.5831][.31C1.0020.0002.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
+FA39 ; [.3142.0033.0002.5840][.31BF.0020.0002.5840][.322B.0020.0002.5840] # CJK COMPATIBILITY IDEOGRAPH-FA39
+FA10 ; [.3149.0022.0002.585A][.31C1.0020.0002.585A][.322B.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C ; [.3149.0022.0002.585A][.31C1.0020.0002.585A][.322B.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C ; [.3144.0021.0002.585E][.31BA.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A ; [.3141.0021.0002.58A8][.31C6.0020.0002.58A8][.3217.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+FA7D ; [.3142.0024.0002.58B3][.31C6.0020.0002.58B3][.321A.0020.0002.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A ; [.3140.0021.0002.58D8][.31C6.0020.0002.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942 ; [.3140.0021.0002.58DF][.31C1.0020.0002.58DF][.322B.0020.0002.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F85C ; [.3142.0032.0002.5906][.31C1.0020.0002.5906][.322B.0020.0002.5906] # CJK COMPATIBILITY IDEOGRAPH-2F85C
+2F85D ; [.313E.0021.0002.591A][.31B9.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+2F85E ; [.3141.0021.0002.5922][.31C1.0020.0002.5922][.322B.0020.0002.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+FA7E ; [.3146.0024.0002.5944][.31BD.0020.0002.5944][.3226.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C ; [.313D.0023.0002.5948][.31BA.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909 ; [.313B.0024.0002.5951][.31C0.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F ; [.3142.0025.0002.5954][.31C6.0020.0002.5954][.321A.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F ; [.3144.0030.0002.5962][.31B9.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981 ; [.313D.0021.0002.5973][.31BF.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F862 ; [.314D.0026.0002.59EC][.31CC.0020.0002.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
+2F863 ; [.3146.002C.0002.5A1B][.31C1.0020.0002.5A1B] # CJK COMPATIBILITY IDEOGRAPH-2F863
+2F864 ; [.314B.0030.0002.5A27][.31BA.0020.0002.5A27] # CJK COMPATIBILITY IDEOGRAPH-2F864
+FA80 ; [.3142.0027.0002.5A62][.31CD.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866 ; [.3142.002B.0002.5A66][.31C6.0020.0002.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F986 ; [.3146.0025.0002.5AB5][.31CD.0020.0002.5AB5][.322B.0020.0002.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
+2F869 ; [.3146.0041.0002.5B08][.31C5.0020.0002.5B08] # CJK COMPATIBILITY IDEOGRAPH-2F869
+FA81 ; [.3147.003C.0002.5B28][.31B9.0020.0002.5B28] # CJK COMPATIBILITY IDEOGRAPH-FA81
+2F86A ; [.3140.0029.0002.5B3E][.31B9.0020.0002.5B3E][.321A.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B ; [.3140.0029.0002.5B3E][.31B9.0020.0002.5B3E][.321A.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+FA04 ; [.313E.0021.0002.5B85][.31BA.0020.0002.5B85][.3217.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
+2F86D ; [.3146.0029.0002.5BC3][.31C7.0020.0002.5BC3][.321A.0020.0002.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D
+2F86E ; [.3149.003B.0002.5BD8][.31CD.0020.0002.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E
+F95F ; [.313D.0021.0002.5BE7][.31BF.0020.0002.5BE7][.322B.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA ; [.313D.0021.0002.5BE7][.31BF.0020.0002.5BE7][.322B.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F ; [.313D.0021.0002.5BE7][.31BF.0020.0002.5BE7][.322B.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC ; [.3140.0023.0002.5BEE][.31C5.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+F9BD ; [.313D.0021.0002.5C3F][.31C5.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877 ; [.313E.0028.0002.5C60][.31C1.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F94B ; [.3140.0023.0002.5C62][.31C6.0020.0002.5C62] # CJK COMPATIBILITY IDEOGRAPH-F94B
+FA3B ; [.3149.0021.0002.5C64][.31CB.0020.0002.5C64][.322B.0020.0002.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF ; [.3140.0026.0002.5C65][.31CD.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+2F879 ; [.3144.002A.0002.5CC0][.31C6.0020.0002.5CC0] # CJK COMPATIBILITY IDEOGRAPH-2F879
+F9D5 ; [.3140.0023.0002.5D19][.31CA.0020.0002.5D19][.321A.0020.0002.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+F921 ; [.3140.0021.0002.5D50][.31B9.0020.0002.5D50][.3226.0020.0002.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
+F9AB ; [.3140.0025.0002.5DBA][.31BF.0020.0002.5DBA][.322B.0020.0002.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F881 ; [.3144.0021.0002.5DE1][.31C6.0020.0002.5DE1][.321A.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882 ; [.3144.0027.0002.5DE2][.31C1.0020.0002.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F884 ; [.3144.0022.0002.5DFD][.31C1.0020.0002.5DFD][.321A.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F885 ; [.3144.0029.0002.5E28][.31BE.0020.0002.5E28] # CJK COMPATIBILITY IDEOGRAPH-2F885
+2F886 ; [.3141.0025.0002.5E3D][.31C1.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
+F98E ; [.313D.0021.0002.5E74][.31BF.0020.0002.5E74][.321A.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01 ; [.313E.002B.0002.5EA6][.31C1.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88C ; [.3142.0052.0002.5EB3][.31CD.0020.0002.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D ; [.3144.0025.0002.5EB6][.31BD.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2 ; [.3140.0021.0002.5EC9][.31BF.0020.0002.5EC9][.3226.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928 ; [.3140.0021.0002.5ECA][.31B9.0020.0002.5ECA][.322B.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E ; [.3140.0021.0002.5ECA][.31B9.0020.0002.5ECA][.322B.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA0B ; [.313B.0021.0002.5ED3][.31C2.0020.0002.5ED3][.3217.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+F982 ; [.3140.0025.0002.5EEC][.31BF.0020.0002.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
+F943 ; [.3140.0022.0002.5F04][.31C1.0020.0002.5F04][.322B.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F894 ; [.313E.004B.0002.5F22][.31C1.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894
+2F895 ; [.313E.004B.0002.5F22][.31C1.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895
+2F899 ; [.314D.0025.0002.5F62][.31BF.0020.0002.5F62][.322B.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84 ; [.3149.0025.0002.5F69][.31BA.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A ; [.3147.0027.0002.5F6B][.31C1.0020.0002.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+F9D8 ; [.3140.0021.0002.5F8B][.31CA.0020.0002.5F8B][.321E.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+F966 ; [.3142.0026.0002.5FA9][.31C1.0020.0002.5FA9][.3217.0020.0002.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85 ; [.3146.0043.0002.5FAD][.31C5.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D ; [.3146.002A.0002.5FCD][.31CD.0020.0002.5FCD][.321A.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E ; [.3147.0026.0002.5FD7][.31CD.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3 ; [.313D.0021.0002.5FF5][.31BF.0020.0002.5FF5][.3226.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+F960 ; [.313D.0024.0002.6012][.31C1.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC ; [.3140.0026.0002.601C][.31BF.0020.0002.601C][.322B.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+2F8A0 ; [.3146.0042.0002.6081][.31BF.0020.0002.6081][.321A.0020.0002.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D ; [.314D.0026.0002.6094][.31C4.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3 ; [.314D.0026.0002.6094][.31C4.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5 ; [.313E.0022.0002.60C7][.31C1.0020.0002.60C7][.321A.0020.0002.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86 ; [.3141.002D.0002.60D8][.31B9.0020.0002.60D8][.322B.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9 ; [.3146.0025.0002.60E1][.31B9.0020.0002.60E1][.3217.0020.0002.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88 ; [.3146.002E.0002.6108][.31CA.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9 ; [.3140.0022.0002.6144][.31CA.0020.0002.6144][.321E.0020.0002.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6 ; [.3147.002A.0002.6148][.31B9.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7 ; [.314D.0027.0002.614C][.31C2.0020.0002.614C][.322B.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9 ; [.314D.0027.0002.614C][.31C2.0020.0002.614C][.322B.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA8A ; [.3146.0047.0002.6160][.31C1.0020.0002.6160] # CJK COMPATIBILITY IDEOGRAPH-FA8A
+FA3E ; [.313B.0028.0002.6168][.31BA.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+2F8AA ; [.3140.0031.0002.617A][.31C6.0020.0002.617A] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
+FA3F ; [.3147.0022.0002.618E][.31CB.0020.0002.618E][.322B.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89 ; [.3147.0022.0002.618E][.31CB.0020.0002.618E][.322B.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB ; [.3147.0022.0002.618E][.31CB.0020.0002.618E][.322B.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F ; [.3140.0021.0002.6190][.31BF.0020.0002.6190][.321A.0020.0002.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD ; [.3142.0028.0002.61A4][.31C6.0020.0002.61A4][.321A.0020.0002.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AE ; [.3149.0030.0002.61AF][.31B9.0020.0002.61AF][.3226.0020.0002.61AF] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
+2F8AC ; [.314D.0021.0002.61B2][.31BD.0020.0002.61B2][.321A.0020.0002.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+2F8AF ; [.3141.0025.0002.61DE][.31C1.0020.0002.61DE][.322B.0020.0002.61DE] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
+FA40 ; [.3147.0022.0002.61F2][.31CD.0020.0002.61F2][.322B.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B ; [.3147.0022.0002.61F2][.31CD.0020.0002.61F2][.322B.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0 ; [.3147.0022.0002.61F2][.31CD.0020.0002.61F2][.322B.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D ; [.3140.0022.0002.61F6][.31B9.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1 ; [.3140.0022.0002.61F6][.31B9.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990 ; [.3140.0022.0002.6200][.31BF.0020.0002.6200][.321A.0020.0002.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F8B2 ; [.3144.0026.0002.6210][.31BD.0020.0002.6210][.322B.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+F9D2 ; [.3140.0022.0002.622E][.31CA.0020.0002.622E][.3217.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C ; [.313E.0029.0002.6234][.31BA.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B5 ; [.314C.002B.0002.62B1][.31C1.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925 ; [.3140.0021.0002.62C9][.31B9.0020.0002.62C9][.3227.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B ; [.313D.0024.0002.62CF][.31B9.0020.0002.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02 ; [.3149.0026.0002.62D3][.31BD.0020.0002.62D3][.3217.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6 ; [.3142.0022.0002.62D4][.31B9.0020.0002.62D4][.321E.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+F973 ; [.3144.0022.0002.62FE][.31CB.0020.0002.62FE][.3227.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9 ; [.3141.0027.0002.633D][.31B9.0020.0002.633D][.321A.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7 ; [.3146.0027.0002.6350][.31BF.0020.0002.6350][.321A.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+2F8BB ; [.3144.0039.0002.6368][.31B9.0020.0002.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4 ; [.313D.0024.0002.637B][.31BF.0020.0002.637B][.3226.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC ; [.3144.0029.0002.6383][.31C1.0020.0002.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975 ; [.3140.0021.0002.63A0][.31BB.0020.0002.63A0][.3217.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1 ; [.3146.0025.0002.63A9][.31BD.0020.0002.63A9][.3226.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D ; [.3146.0030.0002.63C4][.31CA.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+FA8E ; [.3144.0030.0002.641C][.31C6.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8BF ; [.3147.0025.0002.6422][.31CD.0020.0002.6422][.321A.0020.0002.6422] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
+2F8C3 ; [.3141.0021.0002.6469][.31B9.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+F991 ; [.313D.0022.0002.649A][.31BF.0020.0002.649A][.321A.0020.0002.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
+2F8C5 ; [.314D.0029.0002.649D][.31C9.0020.0002.649D] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
+F930 ; [.3140.0023.0002.64C4][.31C1.0020.0002.64C4] # CJK COMPATIBILITY IDEOGRAPH-F930
+FA41 ; [.3141.0025.0002.654F][.31CD.0020.0002.654F][.321A.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8 ; [.3141.0025.0002.654F][.31CD.0020.0002.654F][.321A.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90 ; [.3146.0030.0002.6556][.31C1.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9 ; [.313B.0030.0002.656C][.31BF.0020.0002.656C][.322B.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969 ; [.3144.0032.0002.6578][.31C6.0020.0002.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
+F9BE ; [.3140.0025.0002.6599][.31C5.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983 ; [.3140.0028.0002.65C5][.31BF.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
+2F8CB ; [.313B.0035.0002.65E3][.31CD.0020.0002.65E3] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
+F9E0 ; [.3146.0024.0002.6613][.31BF.0020.0002.6613][.3217.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+2F8CD ; [.3147.0026.0002.6649][.31CD.0020.0002.6649][.321A.0020.0002.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12 ; [.3149.0022.0002.6674][.31BD.0020.0002.6674][.322B.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91 ; [.3149.0022.0002.6674][.31BD.0020.0002.6674][.322B.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5 ; [.314D.002A.0002.6688][.31C6.0020.0002.6688][.321A.0020.0002.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43 ; [.3144.002B.0002.6691][.31BD.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF ; [.3144.002B.0002.6691][.31BD.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+FA06 ; [.314C.0022.0002.66B4][.31C1.0020.0002.66B4][.3217.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F98B ; [.3140.0022.0002.66C6][.31BF.0020.0002.66C6][.3217.0020.0002.66C6] # CJK COMPATIBILITY IDEOGRAPH-F98B
+F901 ; [.313B.0033.0002.66F4][.31BF.0020.0002.66F4][.322B.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC ; [.3144.002D.0002.66F8][.31BD.0020.0002.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4 ; [.3149.0023.0002.6700][.31C4.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929 ; [.3140.0022.0002.6717][.31B9.0020.0002.6717][.322B.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92 ; [.3140.0022.0002.6717][.31B9.0020.0002.6717][.322B.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8 ; [.3140.0022.0002.6717][.31B9.0020.0002.6717][.322B.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93 ; [.3141.0025.0002.671B][.31B9.0020.0002.671B][.322B.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9 ; [.3141.0025.0002.671B][.31B9.0020.0002.671B][.322B.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+F9E1 ; [.3140.0028.0002.674E][.31CD.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC ; [.314C.0025.0002.6753][.31C5.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94 ; [.3147.002E.0002.6756][.31B9.0020.0002.6756][.322B.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB ; [.313B.0038.0002.675E][.31CD.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9C8 ; [.313D.0021.0002.677B][.31CA.0020.0002.677B] # CJK COMPATIBILITY IDEOGRAPH-F9C8
+F9F4 ; [.3140.0021.0002.6797][.31CD.0020.0002.6797][.3226.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9 ; [.3140.0023.0002.67F3][.31CA.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+F9DA ; [.3140.0023.0002.6817][.31CA.0020.0002.6817][.321E.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+F97A ; [.3140.0025.0002.6881][.31BB.0020.0002.6881][.322B.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44 ; [.3141.0027.0002.6885][.31BA.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2 ; [.3141.0027.0002.6885][.31BA.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+F9E2 ; [.3140.0029.0002.68A8][.31CD.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E8 ; [.3144.0062.0002.6942][.31B9.0020.0002.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8EA ; [.313B.002A.0002.69EA][.31BA.0020.0002.69EA] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
+F914 ; [.3146.0028.0002.6A02][.31B9.0020.0002.6A02][.3217.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C ; [.3146.0028.0002.6A02][.31B9.0020.0002.6A02][.3217.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF ; [.3146.0028.0002.6A02][.31B9.0020.0002.6A02][.3217.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C ; [.3140.0024.0002.6A13][.31C6.0020.0002.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
+F931 ; [.3140.0024.0002.6AD3][.31C1.0020.0002.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED ; [.3147.0021.0002.6ADB][.31CB.0020.0002.6ADB][.321E.0020.0002.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D ; [.3140.0023.0002.6B04][.31B9.0020.0002.6B04][.321A.0020.0002.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F8EF ; [.3149.0028.0002.6B21][.31B9.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1 ; [.314D.0025.0002.6B54][.31BD.0020.0002.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+2F8F3 ; [.3144.0023.0002.6B72][.31BE.0020.0002.6B72] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
+F98C ; [.3140.0023.0002.6B77][.31BF.0020.0002.6B77][.3217.0020.0002.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C
+F9A5 ; [.3140.0023.0002.6BAE][.31BF.0020.0002.6BAE][.3226.0020.0002.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5
+F970 ; [.3144.0023.0002.6BBA][.31B9.0020.0002.6BBA][.321E.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96 ; [.3144.0023.0002.6BBA][.31B9.0020.0002.6BBA][.321E.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5 ; [.3144.0023.0002.6BBA][.31B9.0020.0002.6BBA][.321E.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8FA ; [.3142.0025.0002.6C4E][.31BD.0020.0002.6C4E][.3226.0020.0002.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+F972 ; [.3149.0024.0002.6C88][.31CD.0020.0002.6C88][.3226.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC ; [.3146.002B.0002.6CBF][.31BF.0020.0002.6CBF][.321A.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968 ; [.314C.0024.0002.6CCC][.31CD.0020.0002.6CCC][.321E.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
+F9E3 ; [.313D.0022.0002.6CE5][.31CD.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+F915 ; [.3140.0021.0002.6D1B][.31B9.0020.0002.6D1B][.3217.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05 ; [.313E.002A.0002.6D1E][.31C1.0020.0002.6D1E][.322B.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F900 ; [.314C.0029.0002.6D3E][.31B9.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA ; [.3140.0025.0002.6D41][.31CA.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97 ; [.3140.0025.0002.6D41][.31CA.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902 ; [.3140.0025.0002.6D41][.31CA.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903 ; [.314D.002E.0002.6D69][.31C1.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A ; [.3140.0023.0002.6D6A][.31B9.0020.0002.6D6A][.322B.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45 ; [.314D.002A.0002.6D77][.31BA.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901 ; [.314D.002A.0002.6D77][.31BA.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904 ; [.3149.0025.0002.6D78][.31CD.0020.0002.6D78][.3226.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905 ; [.3146.0022.0002.6D85][.31BF.0020.0002.6D85][.321E.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5 ; [.3140.0022.0002.6DCB][.31CD.0020.0002.6DCB][.3226.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F94D ; [.3140.0025.0002.6DDA][.31C6.0020.0002.6DDA] # CJK COMPATIBILITY IDEOGRAPH-F94D
+F9D6 ; [.3140.0024.0002.6DEA][.31CA.0020.0002.6DEA][.321A.0020.0002.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E ; [.3146.0026.0002.6DF9][.31BD.0020.0002.6DF9][.3226.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46 ; [.3147.002C.0002.6E1A][.31BD.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908 ; [.314D.002B.0002.6E2F][.31B9.0020.0002.6E2F][.322B.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909 ; [.3146.002B.0002.6E6E][.31CD.0020.0002.6E6E][.321A.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB ; [.3140.0026.0002.6E9C][.31CA.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC ; [.313D.0022.0002.6EBA][.31CD.0020.0002.6EBA][.3217.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+FA99 ; [.3147.002B.0002.6ECB][.31B9.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B ; [.3147.002B.0002.6ECB][.31B9.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904 ; [.314D.0022.0002.6ED1][.31C2.0020.0002.6ED1][.321E.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
+F94E ; [.3140.0026.0002.6F0F][.31C6.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
+FA47 ; [.314D.0026.0002.6F22][.31B9.0020.0002.6F22][.321A.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A ; [.314D.0026.0002.6F22][.31B9.0020.0002.6F22][.321A.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992 ; [.3140.0024.0002.6F23][.31BF.0020.0002.6F23][.321A.0020.0002.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F ; [.3147.0033.0002.6F6E][.31C1.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912 ; [.3142.003C.0002.6FC6][.31C6.0020.0002.6FC6][.321A.0020.0002.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922 ; [.3140.0025.0002.6FEB][.31B9.0020.0002.6FEB][.3226.0020.0002.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984 ; [.3140.002A.0002.6FFE][.31BF.0020.0002.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915 ; [.3146.002D.0002.701B][.31BF.0020.0002.701B][.322B.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
+FA9B ; [.3147.003D.0002.701E][.31BD.0020.0002.701E][.322B.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-FA9B
+2F914 ; [.3147.003D.0002.701E][.31BD.0020.0002.701E][.322B.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-2F914
+2F835 ; [.314D.002D.0002.7070][.31C4.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F918 ; [.3147.002B.0002.707D][.31BA.0020.0002.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB ; [.3147.002C.0002.7099][.31B9.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A ; [.314B.0028.0002.70AD][.31B9.0020.0002.70AD][.321A.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F ; [.3140.0025.0002.70C8][.31BF.0020.0002.70C8][.321E.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916 ; [.3140.0022.0002.70D9][.31B9.0020.0002.70D9][.3217.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
+F993 ; [.3140.0025.0002.7149][.31BF.0020.0002.7149][.321A.0020.0002.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48 ; [.3147.002D.0002.716E][.31B9.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C ; [.3147.002D.0002.716E][.31B9.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+F9C0 ; [.3140.0026.0002.71CE][.31C5.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE ; [.3140.0023.0002.71D0][.31CD.0020.0002.71D0][.321A.0020.0002.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932 ; [.3140.0027.0002.7210][.31C1.0020.0002.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E ; [.3140.0026.0002.721B][.31B9.0020.0002.721B][.321A.0020.0002.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920 ; [.3149.0036.0002.7228][.31B9.0020.0002.7228][.321A.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA9E ; [.3147.0028.0002.7235][.31B9.0020.0002.7235][.3217.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921 ; [.3147.0028.0002.7235][.31B9.0020.0002.7235][.3217.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
+F946 ; [.3140.0023.0002.7262][.31C4.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924 ; [.3144.0030.0002.7280][.31BD.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
+FA9F ; [.3142.0027.0002.72AF][.31BD.0020.0002.72AF][.3226.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F9FA ; [.3144.0035.0002.72C0][.31B9.0020.0002.72C0][.322B.0020.0002.72C0] # CJK COMPATIBILITY IDEOGRAPH-F9FA
+F92B ; [.3140.0024.0002.72FC][.31B9.0020.0002.72FC][.322B.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16 ; [.3147.002E.0002.732A][.31BD.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0 ; [.3147.002E.0002.732A][.31BD.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F9A7 ; [.3140.0021.0002.7375][.31BF.0020.0002.7375][.3227.0020.0002.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928 ; [.313E.0023.0002.737A][.31B9.0020.0002.737A][.321E.0020.0002.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
+F961 ; [.3144.0021.0002.7387][.31C1.0020.0002.7387][.321E.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB ; [.3144.0021.0002.7387][.31C1.0020.0002.7387][.321E.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929 ; [.3146.0025.0002.738B][.31C2.0020.0002.738B][.322B.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
+F9AD ; [.3140.0027.0002.73B2][.31BF.0020.0002.73B2][.322B.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917 ; [.3140.0023.0002.73DE][.31B9.0020.0002.73DE][.3217.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4 ; [.3140.002D.0002.7406][.31CD.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC ; [.3140.0028.0002.7409][.31CA.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A ; [.314B.002B.0002.7422][.31B9.0020.0002.7422][.3217.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92F ; [.3146.003D.0002.745C][.31CA.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE ; [.314D.002D.0002.7469][.31BF.0020.0002.7469][.322B.0020.0002.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+FAA1 ; [.3147.0057.0002.7471][.31BD.0020.0002.7471][.321A.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-FAA1
+2F930 ; [.3147.0057.0002.7471][.31BD.0020.0002.7471][.321A.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-2F930
+F994 ; [.3140.0026.0002.7489][.31BF.0020.0002.7489][.321A.0020.0002.7489] # CJK COMPATIBILITY IDEOGRAPH-F994
+F9EF ; [.3140.0024.0002.7498][.31CD.0020.0002.7498][.321A.0020.0002.7498] # CJK COMPATIBILITY IDEOGRAPH-F9EF
+2F932 ; [.313B.003A.0002.74CA][.31BF.0020.0002.74CA][.322B.0020.0002.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
+F9CD ; [.3140.002A.0002.7559][.31CA.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976 ; [.3140.0022.0002.7565][.31BB.0020.0002.7565][.3217.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962 ; [.3146.002C.0002.7570][.31CD.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938 ; [.3146.002C.0002.7570][.31CD.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
+F9E5 ; [.3140.002F.0002.75E2][.31CD.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A ; [.3146.0059.0002.7610][.31CA.0020.0002.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA5 ; [.3146.0023.0002.761F][.31C1.0020.0002.761F][.321A.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1 ; [.3140.0027.0002.7642][.31C5.0020.0002.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E ; [.3140.0023.0002.7669][.31B9.0020.0002.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
+FA17 ; [.3146.0022.0002.76CA][.31CD.0020.0002.76CA][.3217.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6 ; [.3146.0022.0002.76CA][.31CD.0020.0002.76CA][.3217.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7 ; [.3144.002B.0002.76DB][.31BD.0020.0002.76DB][.322B.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+F933 ; [.3140.0028.0002.76E7][.31C1.0020.0002.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
+FAA8 ; [.3147.0021.0002.76F4][.31CD.0020.0002.76F4][.3217.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940 ; [.3147.0021.0002.76F4][.31CD.0020.0002.76F4][.3217.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D ; [.3144.002C.0002.7701][.31BD.0020.0002.7701][.322B.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F945 ; [.3147.0033.0002.771E][.31CD.0020.0002.771E][.321A.0020.0002.771E] # CJK COMPATIBILITY IDEOGRAPH-2F945
+FAAA ; [.3149.0023.0002.7740][.31B9.0020.0002.7740][.3217.0020.0002.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+2F94A ; [.3147.0034.0002.778B][.31CD.0020.0002.778B][.321A.0020.0002.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+F9CE ; [.3140.002C.0002.786B][.31CA.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B ; [.3140.0021.0002.788C][.31C1.0020.0002.788C][.3217.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F ; [.3140.0021.0002.788C][.31C1.0020.0002.788C][.3217.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B ; [.3142.0038.0002.7891][.31CD.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947 ; [.3140.0024.0002.78CA][.31C4.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
+F964 ; [.3142.0032.0002.78FB][.31B9.0020.0002.78FB][.321A.0020.0002.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964
+F985 ; [.3140.002B.0002.792A][.31BF.0020.0002.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
+FA4C ; [.3144.0046.0002.793E][.31B9.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E ; [.313B.004C.0002.7948][.31CD.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D ; [.3147.0035.0002.7949][.31CD.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F ; [.3146.0032.0002.7950][.31C6.0020.0002.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50 ; [.3147.0039.0002.7956][.31C1.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953 ; [.3147.0039.0002.7956][.31C1.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51 ; [.3149.0023.0002.795D][.31C6.0020.0002.795D][.3217.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19 ; [.3144.002C.0002.795E][.31CD.0020.0002.795E][.321A.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A ; [.3144.0037.0002.7965][.31B9.0020.0002.7965][.322B.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+F93C ; [.3140.0022.0002.797F][.31C1.0020.0002.797F][.3217.0020.0002.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
+FA52 ; [.314D.0027.0002.798D][.31C2.0020.0002.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53 ; [.3147.0044.0002.798E][.31BD.0020.0002.798E][.322B.0020.0002.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B ; [.3142.0028.0002.798F][.31C1.0020.0002.798F][.3217.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956 ; [.3142.0028.0002.798F][.31C1.0020.0002.798F][.3217.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6 ; [.3140.0023.0002.79AE][.31C0.0020.0002.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+F995 ; [.313D.0023.0002.79CA][.31BF.0020.0002.79CA][.321A.0020.0002.79CA] # CJK COMPATIBILITY IDEOGRAPH-F995
+2F957 ; [.3149.0024.0002.79EB][.31C6.0020.0002.79EB][.321E.0020.0002.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
+F956 ; [.3140.0023.0002.7A1C][.31CB.0020.0002.7A1C][.322B.0020.0002.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54 ; [.313B.0025.0002.7A40][.31C1.0020.0002.7A40][.3217.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959 ; [.313B.0025.0002.7A40][.31C1.0020.0002.7A40][.3217.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
+FA55 ; [.313E.0022.0002.7A81][.31C1.0020.0002.7A81][.321E.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
+F9F7 ; [.3140.0022.0002.7ACB][.31CD.0020.0002.7ACB][.3227.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+F9F8 ; [.3140.0023.0002.7B20][.31CD.0020.0002.7B20][.3227.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+FA56 ; [.3147.0027.0002.7BC0][.31BD.0020.0002.7BC0][.321E.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD ; [.3147.0027.0002.7BC0][.31BD.0020.0002.7BC0][.321E.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962 ; [.3147.003D.0002.7BC6][.31BD.0020.0002.7BC6][.321A.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963 ; [.3149.0026.0002.7BC9][.31C6.0020.0002.7BC9][.3217.0020.0002.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6 ; [.3140.0025.0002.7C3E][.31BF.0020.0002.7C3E][.3226.0020.0002.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944 ; [.3140.0026.0002.7C60][.31C1.0020.0002.7C60][.322B.0020.0002.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
+F9F9 ; [.3140.0024.0002.7C92][.31CD.0020.0002.7C92][.3227.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D ; [.3147.0047.0002.7CBE][.31BD.0020.0002.7CBE][.322B.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+FA03 ; [.313E.0029.0002.7CD6][.31B9.0020.0002.7CD6][.322B.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
+F97B ; [.3140.0029.0002.7CE7][.31BB.0020.0002.7CE7][.322B.0020.0002.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F96A ; [.313B.004F.0002.7D00][.31CD.0020.0002.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF ; [.313D.0022.0002.7D10][.31CA.0020.0002.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A ; [.3144.0023.0002.7D22][.31BA.0020.0002.7D22][.3217.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F ; [.3140.0028.0002.7D2F][.31C6.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FAAF ; [.3147.0063.0002.7D5B][.31C1.0020.0002.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C ; [.3142.0034.0002.7D63][.31BF.0020.0002.7D63][.322B.0020.0002.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F93D ; [.3140.0023.0002.7DA0][.31C1.0020.0002.7DA0][.3217.0020.0002.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D
+F957 ; [.3140.0024.0002.7DBE][.31CB.0020.0002.7DBE][.322B.0020.0002.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E ; [.3149.0030.0002.7DC7][.31CD.0020.0002.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996 ; [.3140.0027.0002.7DF4][.31BF.0020.0002.7DF4][.321A.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57 ; [.3140.0027.0002.7DF4][.31BF.0020.0002.7DF4][.321A.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0 ; [.3140.0027.0002.7DF4][.31BF.0020.0002.7DF4][.321A.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+FA58 ; [.3147.0036.0002.7E09][.31CD.0020.0002.7E09][.321A.0020.0002.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950 ; [.3140.0029.0002.7E37][.31C6.0020.0002.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59 ; [.3142.0026.0002.7E41][.31BD.0020.0002.7E41][.321A.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
+2F970 ; [.3144.0052.0002.7E45][.31C1.0020.0002.7E45] # CJK COMPATIBILITY IDEOGRAPH-2F970
+FAB1 ; [.3142.0035.0002.7F3E][.31BF.0020.0002.7F3E][.322B.0020.0002.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1
+FA5A ; [.3144.0035.0002.7F72][.31BD.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6 ; [.3140.0031.0002.7F79][.31CD.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+F90F ; [.3140.0024.0002.7F85][.31B9.0020.0002.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
+F9AF ; [.3140.0029.0002.7F9A][.31BF.0020.0002.7F9A][.322B.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E ; [.3146.0036.0002.7FBD][.31C6.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+2F979 ; [.313B.005A.0002.7FFA][.31C1.0020.0002.7FFA] # CJK COMPATIBILITY IDEOGRAPH-2F979
+F934 ; [.3140.0029.0002.8001][.31C1.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B ; [.3147.0033.0002.8005][.31B9.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2 ; [.3147.0033.0002.8005][.31B9.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A ; [.3147.0033.0002.8005][.31B9.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0 ; [.3140.002B.0002.8046][.31BF.0020.0002.8046][.322B.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+F997 ; [.3140.0028.0002.806F][.31BF.0020.0002.806F][.321A.0020.0002.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F ; [.3149.0028.0002.8070][.31C1.0020.0002.8070][.322B.0020.0002.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945 ; [.3140.0027.0002.807E][.31C1.0020.0002.807E][.322B.0020.0002.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
+F953 ; [.3140.0022.0002.808B][.31CB.0020.0002.808B][.3217.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6 ; [.313D.0023.0002.80AD][.31C6.0020.0002.80AD][.321E.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982 ; [.3146.0024.0002.80B2][.31CA.0020.0002.80B2][.3217.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F985 ; [.3142.003F.0002.813E][.31CD.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926 ; [.3140.0022.0002.81D8][.31B9.0020.0002.81D8][.3227.0020.0002.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
+F9F6 ; [.3140.0024.0002.81E8][.31CD.0020.0002.81E8][.3226.0020.0002.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+FA5C ; [.3149.002A.0002.81ED][.31C9.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893 ; [.3146.002E.0002.8201][.31BF.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B ; [.3146.002E.0002.8201][.31BF.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+F97C ; [.3140.002A.0002.826F][.31BB.0020.0002.826F][.322B.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
+2F990 ; [.3146.0037.0002.828B][.31C6.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F991 ; [.3147.003B.0002.829D][.31CD.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993 ; [.314D.0029.0002.82B1][.31C2.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994 ; [.3142.0035.0002.82B3][.31B9.0020.0002.82B3][.322B.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995 ; [.3146.0029.0002.82BD][.31B9.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974 ; [.3146.0023.0002.82E5][.31BB.0020.0002.82E5][.3217.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998 ; [.3146.0023.0002.82E5][.31BB.0020.0002.82E5][.3217.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996 ; [.313B.003A.0002.82E6][.31C1.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
+2F999 ; [.3149.002E.0002.831D][.31BA.0020.0002.831D] # CJK COMPATIBILITY IDEOGRAPH-2F999
+2F99C ; [.3146.004C.0002.8323][.31C1.0020.0002.8323] # CJK COMPATIBILITY IDEOGRAPH-2F99C
+F9FE ; [.313E.0022.0002.8336][.31B9.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3 ; [.314D.0034.0002.8352][.31C2.0020.0002.8352][.322B.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F99D ; [.3141.002A.0002.83BD][.31B9.0020.0002.83BD][.322B.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+F93E ; [.3140.0024.0002.83C9][.31C1.0020.0002.83C9][.3217.0020.0002.83C9] # CJK COMPATIBILITY IDEOGRAPH-F93E
+2F9A1 ; [.313B.0023.0002.83CA][.31C6.0020.0002.83CA][.3217.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2 ; [.313B.0025.0002.83CC][.31CA.0020.0002.83CC][.321A.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3 ; [.3149.0029.0002.83DC][.31BA.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+FAB4 ; [.314D.002A.0002.83EF][.31C2.0020.0002.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958 ; [.3140.0025.0002.83F1][.31CB.0020.0002.83F1][.322B.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918 ; [.3140.0025.0002.843D][.31B9.0020.0002.843D][.3217.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E ; [.3146.0023.0002.8449][.31BF.0020.0002.8449][.3227.0020.0002.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F ; [.3147.0034.0002.8457][.31BD.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F ; [.3147.0034.0002.8457][.31BD.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999 ; [.3140.0029.0002.84EE][.31BF.0020.0002.84EE][.321A.0020.0002.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
+2F9A8 ; [.314C.002A.0002.84F1][.31BF.0020.0002.84F1][.322B.0020.0002.84F1] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
+F9C2 ; [.3140.002A.0002.84FC][.31C5.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AC ; [.3146.0062.0002.8564][.31CA.0020.0002.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+F923 ; [.3140.0028.0002.85CD][.31B9.0020.0002.85CD][.3226.0020.0002.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0 ; [.3140.0025.0002.85FA][.31CD.0020.0002.85FA][.321A.0020.0002.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935 ; [.3140.002A.0002.8606][.31C1.0020.0002.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
+F91F ; [.3140.0027.0002.862D][.31B9.0020.0002.862D][.321A.0020.0002.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910 ; [.3140.0025.0002.863F][.31B9.0020.0002.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F9B3 ; [.314D.0023.0002.8650][.31B9.0020.0002.8650][.3217.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936 ; [.3140.002B.0002.865C][.31C1.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4 ; [.3140.002B.0002.865C][.31C1.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5 ; [.314D.0025.0002.8667][.31CA.0020.0002.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B7 ; [.3149.0034.0002.86A9][.31CD.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+2F9BC ; [.3147.0026.0002.8728][.31BD.0020.0002.8728][.3227.0020.0002.8728] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
+F911 ; [.3140.0026.0002.87BA][.31B9.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
+F927 ; [.3140.0023.0002.881F][.31B9.0020.0002.881F][.3227.0020.0002.881F] # CJK COMPATIBILITY IDEOGRAPH-F927
+FA08 ; [.314D.0025.0002.884C][.31BA.0020.0002.884C][.322B.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C4 ; [.3146.0030.0002.8863][.31CC.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0 ; [.3140.0026.0002.88C2][.31BF.0020.0002.88C2][.321E.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F9E7 ; [.3140.0034.0002.88CF][.31CD.0020.0002.88CF] # CJK COMPATIBILITY IDEOGRAPH-F9E7
+F9E8 ; [.3140.0035.0002.88E1][.31CD.0020.0002.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912 ; [.3140.0027.0002.88F8][.31B9.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
+FA60 ; [.313B.0028.0002.8910][.31B9.0020.0002.8910][.321E.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6 ; [.313B.0034.0002.8941][.31B9.0020.0002.8941][.322B.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924 ; [.3140.0029.0002.8964][.31B9.0020.0002.8964][.3226.0020.0002.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
+FAB7 ; [.3142.002D.0002.8986][.31C1.0020.0002.8986][.3217.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A ; [.313B.0028.0002.898B][.31BF.0020.0002.898B][.321A.0020.0002.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+FA61 ; [.3144.0037.0002.8996][.31CD.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8 ; [.3144.0037.0002.8996][.31CD.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2F9CF ; [.3144.0031.0002.8AA0][.31BD.0020.0002.8AA0][.322B.0020.0002.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+F96F ; [.3144.002B.0002.8AAA][.31BD.0020.0002.8AAA][.321E.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F
+F9A1 ; [.3144.002B.0002.8AAA][.31BD.0020.0002.8AAA][.321E.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F9A1
+FAB9 ; [.3147.0046.0002.8ABF][.31C1.0020.0002.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB ; [.3149.0026.0002.8ACB][.31BD.0020.0002.8ACB][.322B.0020.0002.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D ; [.3140.002B.0002.8AD2][.31BB.0020.0002.8AD2][.322B.0020.0002.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941 ; [.3140.0021.0002.8AD6][.31C1.0020.0002.8AD6][.321A.0020.0002.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE ; [.3146.0046.0002.8AED][.31CA.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0 ; [.3146.0046.0002.8AED][.31CA.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22 ; [.3147.0030.0002.8AF8][.31BE.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA ; [.3147.0030.0002.8AF8][.31BE.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D ; [.313D.0021.0002.8AFE][.31B9.0020.0002.8AFE][.3217.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD ; [.313D.0021.0002.8AFE][.31B9.0020.0002.8AFE][.3217.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62 ; [.3146.0022.0002.8B01][.31B9.0020.0002.8B01][.321E.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC ; [.3146.0022.0002.8B01][.31B9.0020.0002.8B01][.321E.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63 ; [.313B.002D.0002.8B39][.31CB.0020.0002.8B39][.321A.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF ; [.313B.002D.0002.8B39][.31CB.0020.0002.8B39][.321A.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC ; [.3144.002C.0002.8B58][.31CD.0020.0002.8B58][.3217.0020.0002.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A ; [.313E.002A.0002.8B80][.31C1.0020.0002.8B80][.3217.0020.0002.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0 ; [.3142.0023.0002.8B8A][.31BF.0020.0002.8B8A][.321A.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1 ; [.3142.0023.0002.8B8A][.31BF.0020.0002.8B8A][.321A.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+F900 ; [.313B.0057.0002.8C48][.31CD.0020.0002.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2 ; [.3144.003B.0002.8C55][.31CD.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D4 ; [.313B.002E.0002.8CAB][.31C2.0020.0002.8CAB][.321A.0020.0002.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5 ; [.3142.0032.0002.8CC1][.31C6.0020.0002.8CC1][.321A.0020.0002.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948 ; [.3140.0025.0002.8CC2][.31C4.0020.0002.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
+F903 ; [.313B.0039.0002.8CC8][.31B9.0020.0002.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64 ; [.3142.002D.0002.8CD3][.31CD.0020.0002.8CD3][.321A.0020.0002.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65 ; [.3147.002B.0002.8D08][.31CB.0020.0002.8D08][.322B.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1 ; [.3147.002B.0002.8D08][.31CB.0020.0002.8D08][.322B.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D6 ; [.313B.0039.0002.8D1B][.31C1.0020.0002.8D1B][.322B.0020.0002.8D1B] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
+2F9D7 ; [.313B.0058.0002.8D77][.31CD.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DA ; [.3142.0027.0002.8DCB][.31B9.0020.0002.8DCB][.321E.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937 ; [.3140.002C.0002.8DEF][.31C1.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
+F902 ; [.3149.002D.0002.8ECA][.31B9.0020.0002.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
+F998 ; [.3140.002A.0002.8F26][.31BF.0020.0002.8F26][.321A.0020.0002.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7 ; [.3140.0026.0002.8F2A][.31CA.0020.0002.8F2A][.321A.0020.0002.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2 ; [.3144.004F.0002.8F38][.31C6.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF ; [.3144.004F.0002.8F38][.31C6.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07 ; [.3142.002F.0002.8F3B][.31C1.0020.0002.8F3B][.3217.0020.0002.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D ; [.3140.0026.0002.8F62][.31BF.0020.0002.8F62][.3217.0020.0002.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
+F971 ; [.3147.003E.0002.8FB0][.31CD.0020.0002.8FB0][.321A.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
+F99A ; [.3140.002B.0002.9023][.31BF.0020.0002.9023][.321A.0020.0002.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25 ; [.3146.0027.0002.9038][.31CD.0020.0002.9038][.321E.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67 ; [.3146.0027.0002.9038][.31CD.0020.0002.9038][.321E.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
+FAC3 ; [.3147.0041.0002.9072][.31CD.0020.0002.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3 ; [.3140.002B.0002.907C][.31C5.0020.0002.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913 ; [.3140.0028.0002.908F][.31B9.0020.0002.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
+FA2E ; [.3140.0028.0002.90DE][.31B9.0020.0002.90DE][.322B.0020.0002.90DE] # CJK COMPATIBILITY IDEOGRAPH-FA2E
+FA26 ; [.313E.0045.0002.90FD][.31C1.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
+F919 ; [.3140.0026.0002.916A][.31B9.0020.0002.916A][.3217.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
+F9B7 ; [.3140.0024.0002.91B4][.31C0.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9 ; [.3140.0036.0002.91CC][.31CD.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E ; [.3140.002D.0002.91CF][.31BB.0020.0002.91CF][.322B.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A ; [.313B.0021.0002.91D1][.31CD.0020.0002.91D1][.3226.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9B1 ; [.3140.002D.0002.9234][.31BF.0020.0002.9234][.322B.0020.0002.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9E7 ; [.3142.002F.0002.9238][.31B9.0020.0002.9238][.321E.0020.0002.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
+2F9EA ; [.3142.0039.0002.927C][.31BF.0020.0002.927C][.322B.0020.0002.927C] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
+2F9E8 ; [.314D.003F.0002.92D7][.31BF.0020.0002.92D7][.321A.0020.0002.92D7] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
+F93F ; [.3140.0025.0002.9304][.31C1.0020.0002.9304][.3217.0020.0002.9304] # CJK COMPATIBILITY IDEOGRAPH-F93F
+F99B ; [.3140.002C.0002.934A][.31BF.0020.0002.934A][.321A.0020.0002.934A] # CJK COMPATIBILITY IDEOGRAPH-F99B
+2F9EE ; [.313B.0033.0002.958B][.31BA.0020.0002.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986 ; [.3140.002E.0002.95AD][.31BF.0020.0002.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
+F9C6 ; [.3146.0031.0002.962E][.31C2.0020.0002.962E][.321A.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951 ; [.3140.002D.0002.964B][.31C6.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09 ; [.313B.0037.0002.964D][.31B9.0020.0002.964D][.322B.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959 ; [.3140.0026.0002.9675][.31CB.0020.0002.9675][.322B.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3 ; [.3140.0023.0002.9678][.31CA.0020.0002.9678][.3217.0020.0002.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+FAC6 ; [.3147.004E.0002.967C][.31BD.0020.0002.967C] # CJK COMPATIBILITY IDEOGRAPH-FAC6
+F9DC ; [.3140.0021.0002.9686][.31CA.0020.0002.9686][.322B.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9F1 ; [.3140.0027.0002.96A3][.31CD.0020.0002.96A3][.321A.0020.0002.96A3] # CJK COMPATIBILITY IDEOGRAPH-F9F1
+FA2F ; [.3140.0025.0002.96B7][.31C0.0020.0002.96B7] # CJK COMPATIBILITY IDEOGRAPH-FA2F
+F9B8 ; [.3140.0026.0002.96B8][.31C0.0020.0002.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+F9EA ; [.3140.0038.0002.96E2][.31CD.0020.0002.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68 ; [.313D.0023.0002.96E3][.31B9.0020.0002.96E3][.321A.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7 ; [.313D.0023.0002.96E3][.31B9.0020.0002.96E3][.321A.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+F9B2 ; [.3140.002E.0002.96F6][.31BF.0020.0002.96F6][.322B.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949 ; [.3140.0028.0002.96F7][.31C4.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
+2F9F5 ; [.3146.0031.0002.9723][.31C6.0020.0002.9723][.321A.0020.0002.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
+F938 ; [.3140.002E.0002.9732][.31C1.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3 ; [.3140.002F.0002.9748][.31BF.0020.0002.9748][.322B.0020.0002.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+FA1C ; [.3147.0054.0002.9756][.31BD.0020.0002.9756][.322B.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8 ; [.3147.0054.0002.9756][.31BD.0020.0002.9756][.322B.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+2F9FA ; [.314C.0034.0002.97E0][.31CD.0020.0002.97E0][.321E.0020.0002.97E0] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
+FA69 ; [.314D.0026.0002.97FF][.31BB.0020.0002.97FF][.322B.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA ; [.314D.0026.0002.97FF][.31BB.0020.0002.97FF][.322B.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
+F9B4 ; [.3140.0030.0002.9818][.31BF.0020.0002.9818][.322B.0020.0002.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+FA6A ; [.3142.002E.0002.983B][.31CD.0020.0002.983B][.321A.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC ; [.3142.002E.0002.983B][.31CD.0020.0002.983B][.321A.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0 ; [.3140.002E.0002.985E][.31CA.0020.0002.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2FA02 ; [.313B.005B.0002.98E2][.31CD.0020.0002.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A ; [.3142.0039.0002.98EF][.31B9.0020.0002.98EF][.321A.0020.0002.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B ; [.3144.005A.0002.98FC][.31B9.0020.0002.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C ; [.313B.0030.0002.9928][.31C2.0020.0002.9928][.321A.0020.0002.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+F91A ; [.3140.0027.0002.99F1][.31B9.0020.0002.99F1][.3217.0020.0002.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
+F987 ; [.3140.0030.0002.9A6A][.31BF.0020.0002.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
+FACD ; [.3147.004C.0002.9B12][.31CD.0020.0002.9B12][.321A.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD
+2FA0A ; [.3147.004C.0002.9B12][.31CD.0020.0002.9B12][.321A.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
+F939 ; [.3140.002F.0002.9B6F][.31C1.0020.0002.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
+F9F2 ; [.3140.0028.0002.9C57][.31CD.0020.0002.9C57][.321A.0020.0002.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+FA2D ; [.314D.0025.0002.9DB4][.31B9.0020.0002.9DB4][.3217.0020.0002.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A ; [.3140.0030.0002.9DFA][.31C1.0020.0002.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920 ; [.3140.0028.0002.9E1E][.31B9.0020.0002.9E1E][.321A.0020.0002.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
+F940 ; [.3140.0026.0002.9E7F][.31C1.0020.0002.9E7F][.3217.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
+F988 ; [.3140.0031.0002.9E97][.31BF.0020.0002.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3 ; [.3140.0029.0002.9E9F][.31CD.0020.0002.9E9F][.321A.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15 ; [.3141.0028.0002.9EBB][.31B9.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989 ; [.3140.0032.0002.9ECE][.31BF.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA1C ; [.3142.004A.0002.9F3B][.31CD.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+F9C4 ; [.3140.0021.0002.9F8D][.31C5.0020.0002.9F8D][.322B.0020.0002.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+FAD9 ; [.3140.002E.0002.9F8E][.31C1.0020.0002.9F8E][.322B.0020.0002.9F8E] # CJK COMPATIBILITY IDEOGRAPH-FAD9
+F907 ; [.313B.0056.0002.9F9C][.31C6.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908 ; [.313B.0056.0002.9F9C][.31C6.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE ; [.313B.0056.0002.9F9C][.31C6.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
+ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kok.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kok.pl
new file mode 100644
index 00000000000..d6c4a4c3d33
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/kok.pl
@@ -0,0 +1,11 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0902 ; [.1FC1.0020.0002.0902][.FFF1.0000.0000.0000] # DEVANAGARI SIGN ANUSVARA
+0901 ; [.1FC1.0021.0002.0901][.FFF1.0000.0000.0901] # DEVANAGARI SIGN CANDRABINDU
+0903 ; [.1FC1.0020.0002.0903][.FFF2.0000.0000.0000] # DEVANAGARI SIGN VISARGA
+0933 ; [.2002.0020.0002.0933][.FFF1.0000.0000.0000] # DEVANAGARI LETTER LLA
+0934 ; [.2002.0020.0002.0933][.FFF1.0000.0000.0000][.0000.00F1.0002.093C] # DEVANAGARI LETTER LLLA
+0915 094D 0937 ; [.2002.0020.0002.0915][.FFF2.0000.0000.0000] # <DEVANAGARI LETTER KA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER SSA>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ln.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ln.pl
new file mode 100644
index 00000000000..7b2df5cda3b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ln.pl
@@ -0,0 +1,12 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+025B ; [.1632.0020.0002.025B] # LATIN SMALL LETTER OPEN E
+0190 ; [.1632.0020.0008.0190] # LATIN CAPITAL LETTER OPEN E
+2107 ; [.1632.0020.000A.2107] # EULER CONSTANT
+1D4B ; [.1632.0020.0014.1D4B] # MODIFIER LETTER SMALL OPEN E
+0254 ; [.1756.0021.0002.0254] # LATIN SMALL LETTER OPEN O
+0186 ; [.1756.0021.0008.0186] # LATIN CAPITAL LETTER OPEN O
+1D53 ; [.1756.0021.0014.1D53] # MODIFIER LETTER SMALL OPEN O
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lt.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lt.pl
index bf6a034d847..fe159333ceb 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lt.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lt.pl
@@ -1,22 +1,48 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0307 ; [.0000.005A.0002.0307] # COMBINING DOT ABOVE
-010D ; [.15E3.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.15E3.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C ; [.15E3.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.15E3.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0079 ; [.1680.0021.0002.0079] # LATIN SMALL LETTER Y
-0059 ; [.1680.0021.0008.0059] # LATIN CAPITAL LETTER Y
-0161 ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-017E ; [.1860.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1860.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D ; [.1860.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1860.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-0117 ; [.15FF.0020.0002.0065][.0000.005A.0002.0307] # LATIN SMALL LETTER E WITH DOT ABOVE
-0116 ; [.15FF.0020.0008.0045][.0000.005A.0002.0307] # LATIN CAPITAL LETTER E WITH DOT ABOVE
-0130 ; [.1680.0020.0008.0049][.0000.005A.0002.0307] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+ locale_version => 0.88,
+# in cldr test/lt.xml why I-dot-acute > I-dot though i-dot-acute < i-dot ?
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0049 0307 ; [.16B2.0020.0008.0049][.0000.0052.0002.0307] # <LATIN CAPITAL LETTER I, COMBINING DOT ABOVE>
+0307 0300 ; [.0000.0035.0002.0300] # <COMBINING DOT ABOVE, COMBINING GRAVE ACCENT>
+0307 0301 ; [.0000.0032.0002.0301] # <COMBINING DOT ABOVE, COMBINING ACUTE ACCENT>
+0307 0303 ; [.0000.004E.0002.0303] # <COMBINING DOT ABOVE, COMBINING TILDE>
+0105 ; [.15D4.0021.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
+0061 0328 ; [.15D4.0021.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
+0104 ; [.15D4.0021.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK
+0041 0328 ; [.15D4.0021.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK
+010D ; [.1603.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.1603.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C ; [.1603.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.1603.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0119 ; [.1631.0021.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1631.0021.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1631.0021.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1631.0021.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0117 ; [.1631.0022.0002.0117] # LATIN SMALL LETTER E WITH DOT ABOVE
+0065 0307 ; [.1631.0022.0002.0117] # LATIN SMALL LETTER E WITH DOT ABOVE
+0116 ; [.1631.0022.0008.0116] # LATIN CAPITAL LETTER E WITH DOT ABOVE
+0045 0307 ; [.1631.0022.0008.0116] # LATIN CAPITAL LETTER E WITH DOT ABOVE
+012F ; [.16B2.0021.0002.012F] # LATIN SMALL LETTER I WITH OGONEK
+0069 0328 ; [.16B2.0021.0002.012F] # LATIN SMALL LETTER I WITH OGONEK
+012E ; [.16B2.0021.0008.012E] # LATIN CAPITAL LETTER I WITH OGONEK
+0049 0328 ; [.16B2.0021.0008.012E] # LATIN CAPITAL LETTER I WITH OGONEK
+0079 ; [.16B2.0022.0002.0079] # LATIN SMALL LETTER Y
+0059 ; [.16B2.0022.0008.0059] # LATIN CAPITAL LETTER Y
+0161 ; [.17D9.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17D9.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17D9.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17D9.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0173 ; [.181B.0021.0002.0173] # LATIN SMALL LETTER U WITH OGONEK
+0075 0328 ; [.181B.0021.0002.0173] # LATIN SMALL LETTER U WITH OGONEK
+0172 ; [.181B.0021.0008.0172] # LATIN CAPITAL LETTER U WITH OGONEK
+0055 0328 ; [.181B.0021.0008.0172] # LATIN CAPITAL LETTER U WITH OGONEK
+016B ; [.181B.0022.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.181B.0022.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.181B.0022.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.181B.0022.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+017E ; [.187B.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.187B.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.187B.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.187B.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lv.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lv.pl
index 7397f0c2297..880856fc0f4 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lv.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/lv.pl
@@ -1,37 +1,37 @@
+{
-# ignored: Y < J
- entry => <<'ENTRY', # for DUCET v6.0.0
-010D ; [.15E3.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.15E3.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C ; [.15E3.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.15E3.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0123 ; [.1666.0020.0002.0123] # LATIN SMALL LETTER G WITH CEDILLA
-0067 0327 ; [.1666.0020.0002.0123] # LATIN SMALL LETTER G WITH CEDILLA
-0122 ; [.1666.0020.0008.0122] # LATIN CAPITAL LETTER G WITH CEDILLA
-0047 0327 ; [.1666.0020.0008.0122] # LATIN CAPITAL LETTER G WITH CEDILLA
-0137 ; [.16C3.0020.0002.0137] # LATIN SMALL LETTER K WITH CEDILLA
-006B 0327 ; [.16C3.0020.0002.0137] # LATIN SMALL LETTER K WITH CEDILLA
-0136 ; [.16C3.0020.0008.0136] # LATIN CAPITAL LETTER K WITH CEDILLA
-004B 0327 ; [.16C3.0020.0008.0136] # LATIN CAPITAL LETTER K WITH CEDILLA
-013C ; [.16F3.0020.0002.013C] # LATIN SMALL LETTER L WITH CEDILLA
-006C 0327 ; [.16F3.0020.0002.013C] # LATIN SMALL LETTER L WITH CEDILLA
-013B ; [.16F3.0020.0008.013B] # LATIN CAPITAL LETTER L WITH CEDILLA
-004C 0327 ; [.16F3.0020.0008.013B] # LATIN CAPITAL LETTER L WITH CEDILLA
-0146 ; [.1723.0020.0002.0146] # LATIN SMALL LETTER N WITH CEDILLA
-006E 0327 ; [.1723.0020.0002.0146] # LATIN SMALL LETTER N WITH CEDILLA
-0145 ; [.1723.0020.0008.0145] # LATIN CAPITAL LETTER N WITH CEDILLA
-004E 0327 ; [.1723.0020.0008.0145] # LATIN CAPITAL LETTER N WITH CEDILLA
-0157 ; [.17A5.0020.0002.0157] # LATIN SMALL LETTER R WITH CEDILLA
-0072 0327 ; [.17A5.0020.0002.0157] # LATIN SMALL LETTER R WITH CEDILLA
-0156 ; [.17A5.0020.0008.0156] # LATIN CAPITAL LETTER R WITH CEDILLA
-0052 0327 ; [.17A5.0020.0008.0156] # LATIN CAPITAL LETTER R WITH CEDILLA
-0161 ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-017E ; [.1860.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1860.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D ; [.1860.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1860.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+010D ; [.1615.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.1615.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C ; [.1615.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.1615.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0123 ; [.1698.0020.0002.0123] # LATIN SMALL LETTER G WITH CEDILLA
+0067 0327 ; [.1698.0020.0002.0123] # LATIN SMALL LETTER G WITH CEDILLA
+0122 ; [.1698.0020.0008.0122] # LATIN CAPITAL LETTER G WITH CEDILLA
+0047 0327 ; [.1698.0020.0008.0122] # LATIN CAPITAL LETTER G WITH CEDILLA
+0137 ; [.16F5.0020.0002.0137] # LATIN SMALL LETTER K WITH CEDILLA
+006B 0327 ; [.16F5.0020.0002.0137] # LATIN SMALL LETTER K WITH CEDILLA
+0136 ; [.16F5.0020.0008.0136] # LATIN CAPITAL LETTER K WITH CEDILLA
+004B 0327 ; [.16F5.0020.0008.0136] # LATIN CAPITAL LETTER K WITH CEDILLA
+013C ; [.1725.0020.0002.013C] # LATIN SMALL LETTER L WITH CEDILLA
+006C 0327 ; [.1725.0020.0002.013C] # LATIN SMALL LETTER L WITH CEDILLA
+013B ; [.1725.0020.0008.013B] # LATIN CAPITAL LETTER L WITH CEDILLA
+004C 0327 ; [.1725.0020.0008.013B] # LATIN CAPITAL LETTER L WITH CEDILLA
+0146 ; [.1755.0020.0002.0146] # LATIN SMALL LETTER N WITH CEDILLA
+006E 0327 ; [.1755.0020.0002.0146] # LATIN SMALL LETTER N WITH CEDILLA
+0145 ; [.1755.0020.0008.0145] # LATIN CAPITAL LETTER N WITH CEDILLA
+004E 0327 ; [.1755.0020.0008.0145] # LATIN CAPITAL LETTER N WITH CEDILLA
+0157 ; [.17D7.0020.0002.0157] # LATIN SMALL LETTER R WITH CEDILLA
+0072 0327 ; [.17D7.0020.0002.0157] # LATIN SMALL LETTER R WITH CEDILLA
+0156 ; [.17D7.0020.0008.0156] # LATIN CAPITAL LETTER R WITH CEDILLA
+0052 0327 ; [.17D7.0020.0008.0156] # LATIN CAPITAL LETTER R WITH CEDILLA
+0161 ; [.17FA.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17FA.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17FA.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17FA.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+017E ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mk.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mk.pl
new file mode 100644
index 00000000000..1e267cbe90f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mk.pl
@@ -0,0 +1,45 @@
++{
+ locale_version => 0.88,
+ suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0415, 0x0435, 0x0416, 0x0436,
+ 0x0417, 0x0437, 0x0418, 0x0438, 0x0406, 0x0456, 0x041E, 0x043E,
+ 0x04E8, 0x04E9, 0x0423, 0x0443, 0x0427, 0x0447, 0x042B, 0x044B,
+ 0x042D, 0x044D, 0x0474, 0x0475],
+ entry => <<'ENTRY', # for DUCET v6.1.0
+04D1 ; [.1976.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.1976.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.1976.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.1976.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04DB ; [.1982.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA ; [.1982.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+04D7 ; [.19BE.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.19BE.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD ; [.19CA.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.19CA.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF ; [.19D7.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19D7.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+04E5 ; [.19EF.0020.0002.0438][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER I WITH DIAERESIS
+04E4 ; [.19EF.0020.0008.0418][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+0457 ; [.19FB.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
+0407 ; [.19FB.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
+0439 ; [.19EF.0020.0002.0438][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT I
+0419 ; [.19EF.0020.0008.0418][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT I
+04E7 ; [.1A5C.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A5C.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04EB ; [.1A64.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA ; [.1A64.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+045E ; [.1A9E.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
+040E ; [.1A9E.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
+04F1 ; [.1A9E.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0 ; [.1A9E.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3 ; [.1A9E.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2 ; [.1A9E.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F5 ; [.1AF1.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1AF1.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9 ; [.1B24.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1B24.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED ; [.1B39.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B39.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+0477 ; [.1B6F.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476 ; [.1B6F.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ml.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ml.pl
new file mode 100644
index 00000000000..524e5deb31f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ml.pl
@@ -0,0 +1,23 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0D3D ; [.0000.00F5.0002.0D3D] # MALAYALAM SIGN AVAGRAHA
+0D57 ; [.222B.0020.0002.0D57] # MALAYALAM AU LENGTH MARK
+0D4C ; [.222B.0020.0003.0D4C] # MALAYALAM VOWEL SIGN AU
+0D46 0D57 ; [.222B.0020.0003.0D4C] # MALAYALAM VOWEL SIGN AU
+0D15 0D4D 200D ; [.21F6.0020.0002.0D15][.222D.0021.0002.0D15] # <MALAYALAM LETTER KA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7F ; [.21F6.0020.0003.0D7F][.222D.0021.0002.0D7F] # MALAYALAM LETTER CHILLU K
+0D23 0D4D 200D ; [.2204.0020.0002.0D23][.222D.0021.0002.0D23] # <MALAYALAM LETTER NNA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7A ; [.2204.0020.0003.0D7A][.222D.0021.0002.0D7A] # MALAYALAM LETTER CHILLU NN
+0D28 0D4D 200D ; [.2209.0020.0002.0D28][.222D.0021.0002.0D28] # <MALAYALAM LETTER NA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7B ; [.2209.0020.0003.0D7B][.222D.0021.0002.0D7B] # MALAYALAM LETTER CHILLU N
+0D30 0D4D 200D ; [.2211.0020.0002.0D30][.222D.0021.0002.0D30] # <MALAYALAM LETTER RA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7C ; [.2211.0020.0003.0D7C][.222D.0021.0002.0D7C] # MALAYALAM LETTER CHILLU RR
+0D32 0D4D 200D ; [.2212.0020.0002.0D32][.222D.0021.0002.0D32] # <MALAYALAM LETTER LA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7D ; [.2212.0020.0003.0D7D][.222D.0021.0002.0D7D] # MALAYALAM LETTER CHILLU L
+0D33 0D4D 200D ; [.2218.0020.0002.0D33][.222D.0021.0002.0D33] # <MALAYALAM LETTER LLA, MALAYALAM SIGN VIRAMA, ZERO WIDTH JOINER>
+0D7E ; [.2218.0020.0003.0D7E][.222D.0021.0002.0D7E] # MALAYALAM LETTER CHILLU LL
+0D02 ; [.220F.0020.0002.0D2E][.222D.0021.0002.0D02] # MALAYALAM SIGN ANUSVARA
+0D7B 0D4D ; [.2209.0020.0002.0D28][.222D.0020.0003.0D7B] # <MALAYALAM LETTER CHILLU N, MALAYALAM SIGN VIRAMA>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mr.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mr.pl
new file mode 100644
index 00000000000..da9b0c89e9b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mr.pl
@@ -0,0 +1,12 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0902 ; [.1FC1.0020.0002.0902][.FFF1.0000.0000.0000] # DEVANAGARI SIGN ANUSVARA
+0901 ; [.1FC1.0021.0002.0901][.FFF1.0000.0000.0901] # DEVANAGARI SIGN CANDRABINDU
+0903 ; [.1FC1.0020.0002.0903][.FFF2.0000.0000.0000] # DEVANAGARI SIGN VISARGA
+0933 ; [.2002.0020.0002.0933][.FFF1.0000.0000.0000] # DEVANAGARI LETTER LLA
+0934 ; [.2002.0020.0002.0933][.FFF1.0000.0000.0000][.0000.00F1.0002.093C] # DEVANAGARI LETTER LLLA
+0915 094D 0937 ; [.2002.0020.0002.0915][.FFF2.0000.0000.0000] # <DEVANAGARI LETTER KA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER SSA>
+091C 094D 091E ; [.2002.0020.0002.091C][.FFF3.0000.0000.0000] # <DEVANAGARI LETTER JA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER NYA>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mt.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mt.pl
index 2066428c7a2..83afd2a9625 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mt.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/mt.pl
@@ -1,29 +1,30 @@
+{
+ locale_version => 0.88,
upper_before_lower => 1,
- entry => <<'ENTRY', # for DUCET v6.0.0
-010B ; [.15E3.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
-0063 0307 ; [.15E3.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
-010A ; [.15E3.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
-0043 0307 ; [.15E3.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
-0121 ; [.1643.0020.0002.0121] # LATIN SMALL LETTER G WITH DOT ABOVE
-0067 0307 ; [.1643.0020.0002.0121] # LATIN SMALL LETTER G WITH DOT ABOVE
-0120 ; [.1643.0020.0008.0120] # LATIN CAPITAL LETTER G WITH DOT ABOVE
-0047 0307 ; [.1643.0020.0008.0120] # LATIN CAPITAL LETTER G WITH DOT ABOVE
-0067 0127 ; [.1666.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H WITH STROKE>
-0067 0126 ; [.1666.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
-0047 0127 ; [.1666.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H WITH STROKE>
-0047 0126 ; [.1666.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
-0067 0068 0335 ; [.1666.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
-0067 0048 0335 ; [.1666.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
-0047 0068 0335 ; [.1666.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
-0047 0048 0335 ; [.1666.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
-0127 ; [.167F.0020.0002.0127] # LATIN SMALL LETTER H WITH STROKE
-0068 0335 ; [.167F.0020.0002.0127] # LATIN SMALL LETTER H WITH STROKE
-0126 ; [.167F.0020.0008.0126] # LATIN CAPITAL LETTER H WITH STROKE
-0048 0335 ; [.167F.0020.0008.0126] # LATIN CAPITAL LETTER H WITH STROKE
-017C ; [.1843.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
-007A 0307 ; [.1843.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
-017B ; [.1843.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
-005A 0307 ; [.1843.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ entry => <<'ENTRY', # for DUCET v6.1.0
+010B ; [.1601.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
+0063 0307 ; [.1601.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
+010A ; [.1601.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+0043 0307 ; [.1601.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+0121 ; [.1675.0020.0002.0121] # LATIN SMALL LETTER G WITH DOT ABOVE
+0067 0307 ; [.1675.0020.0002.0121] # LATIN SMALL LETTER G WITH DOT ABOVE
+0120 ; [.1675.0020.0008.0120] # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0047 0307 ; [.1675.0020.0008.0120] # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0067 0127 ; [.1698.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H WITH STROKE>
+0067 0126 ; [.1698.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
+0047 0127 ; [.1698.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H WITH STROKE>
+0047 0126 ; [.1698.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
+0067 0068 0335 ; [.1698.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0067 0048 0335 ; [.1698.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0047 0068 0335 ; [.1698.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0047 0048 0335 ; [.1698.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0127 ; [.16B1.0020.0002.0127] # LATIN SMALL LETTER H WITH STROKE
+0068 0335 ; [.16B1.0020.0002.0127] # LATIN SMALL LETTER H WITH STROKE
+0126 ; [.16B1.0020.0008.0126] # LATIN CAPITAL LETTER H WITH STROKE
+0048 0335 ; [.16B1.0020.0008.0126] # LATIN CAPITAL LETTER H WITH STROKE
+017C ; [.1879.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+007A 0307 ; [.1879.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+017B ; [.1879.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+005A 0307 ; [.1879.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nb.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nb.pl
index 0968d8b25b3..dd5baddcf40 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nb.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nb.pl
@@ -1,70 +1,74 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0 ; [.15E4.0022.0002.00F0] # LATIN SMALL LETTER ETH
-00D0 ; [.15E4.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
-00FE ; [.17C9.0020.0003.00FE][.1667.0020.0003.00FE] # LATIN SMALL LETTER THORN
-00DE ; [.17C9.0020.0009.00DE][.1667.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-00FC ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171 ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170 ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6 ; [.1845.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.1845.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.1845.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.1845.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.1845.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.1845.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.1845.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.1845.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.1845.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.1846.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.1846.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1846.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1846.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151 ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150 ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153 ; [.1846.0023.0002.0153] # LATIN SMALL LIGATURE OE
-0152 ; [.1846.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
-00E5 ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.1847.0020.0008.00C5] # ANGSTROM SIGN
-01FB ; [.1847.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.1847.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0111 ; [.1616.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1616.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.1616.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1616.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.1616.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0 ; [.1616.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+00FE ; [.17FB.0020.0003.00FE][.1699.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE ; [.17FB.0020.0009.00DE][.1699.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+00FC ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1865.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1865.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1865.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1865.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1865.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1865.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1865.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1865.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.1865.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1865.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.1865.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1865.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6 ; [.18EB.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.18EB.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.18EB.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.18EB.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.18EB.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.18EB.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.18EB.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4 ; [.18EB.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.18EB.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.18EB.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.18EB.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.18EB.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.18EB.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119 ; [.18EB.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.18EB.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.18EB.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.18EB.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8 ; [.18EC.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.18EC.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.18EC.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.18EC.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.18EC.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.18EC.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6 ; [.18EC.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.18EC.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.18EC.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.18EC.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.18EC.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.18EC.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.18EC.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.18EC.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.18EC.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.18EC.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.18EC.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152 ; [.18EC.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E5 ; [.18ED.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.18ED.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.18ED.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.18ED.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.18ED.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.18ED.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.18ED.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.18ED.0021.0002.0061] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0041 0061 ; [.18ED.0021.0007.0041] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0041 0041 ; [.18ED.0021.0008.0041] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nn.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nn.pl
index 0968d8b25b3..dd5baddcf40 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nn.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nn.pl
@@ -1,70 +1,74 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0 ; [.15E4.0022.0002.00F0] # LATIN SMALL LETTER ETH
-00D0 ; [.15E4.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
-00FE ; [.17C9.0020.0003.00FE][.1667.0020.0003.00FE] # LATIN SMALL LETTER THORN
-00DE ; [.17C9.0020.0009.00DE][.1667.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-00FC ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171 ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170 ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6 ; [.1845.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.1845.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.1845.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.1845.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.1845.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.1845.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.1845.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.1845.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.1845.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.1846.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.1846.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1846.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1846.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151 ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150 ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153 ; [.1846.0023.0002.0153] # LATIN SMALL LIGATURE OE
-0152 ; [.1846.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
-00E5 ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.1847.0020.0008.00C5] # ANGSTROM SIGN
-01FB ; [.1847.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.1847.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0111 ; [.1616.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1616.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.1616.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1616.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.1616.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0 ; [.1616.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+00FE ; [.17FB.0020.0003.00FE][.1699.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE ; [.17FB.0020.0009.00DE][.1699.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+00FC ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1865.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1865.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1865.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1865.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1865.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1865.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1865.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1865.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.1865.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1865.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.1865.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1865.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6 ; [.18EB.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.18EB.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.18EB.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.18EB.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.18EB.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.18EB.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.18EB.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4 ; [.18EB.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.18EB.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.18EB.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.18EB.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.18EB.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.18EB.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119 ; [.18EB.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.18EB.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.18EB.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.18EB.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8 ; [.18EC.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.18EC.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.18EC.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.18EC.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.18EC.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.18EC.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6 ; [.18EC.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.18EC.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.18EC.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.18EC.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.18EC.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.18EC.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.18EC.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.18EC.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.18EC.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.18EC.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.18EC.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152 ; [.18EC.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E5 ; [.18ED.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.18ED.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.18ED.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.18ED.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.18ED.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.18ED.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.18ED.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.18ED.0021.0002.0061] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0041 0061 ; [.18ED.0021.0007.0041] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0041 0041 ; [.18ED.0021.0008.0041] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nso.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nso.pl
index e21752e9c0a..f6c4673aa2e 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nso.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/nso.pl
@@ -1,36 +1,37 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-00EA ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.1600.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.1600.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC1 ; [.1600.0020.0002.00EA][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0 ; [.1600.0020.0008.00CA][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EBF ; [.1600.0020.0002.00EA][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE ; [.1600.0020.0008.00CA][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC5 ; [.1600.0020.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4 ; [.1600.0020.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3 ; [.1600.0020.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2 ; [.1600.0020.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7 ; [.1600.0020.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.1600.0020.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-00F4 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3 ; [.1725.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2 ; [.1725.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1 ; [.1725.0020.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0 ; [.1725.0020.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7 ; [.1725.0020.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6 ; [.1725.0020.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5 ; [.1725.0020.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4 ; [.1725.0020.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9 ; [.1725.0020.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8 ; [.1725.0020.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-0161 ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+00EA ; [.1632.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1632.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1632.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1632.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC1 ; [.1632.0020.0002.00EA][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1632.0020.0008.00CA][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EBF ; [.1632.0020.0002.00EA][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1632.0020.0008.00CA][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC5 ; [.1632.0020.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1632.0020.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1632.0020.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1632.0020.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1632.0020.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1632.0020.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+00F4 ; [.1757.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1757.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.1757.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1757.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.1757.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.1757.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.1757.0020.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.1757.0020.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.1757.0020.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.1757.0020.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.1757.0020.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.1757.0020.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.1757.0020.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.1757.0020.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0161 ; [.17D9.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17D9.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17D9.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17D9.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/om.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/om.pl
index dc9499bd35d..a56ad1b707e 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/om.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/om.pl
@@ -1,21 +1,22 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0063 0068 ; [.1845.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0043 0068 ; [.1845.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.1845.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-0064 0068 ; [.1846.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
-0044 0068 ; [.1846.0020.0007.0044] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
-0044 0048 ; [.1846.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
-006B 0068 ; [.1847.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER H>
-004B 0068 ; [.1847.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER H>
-004B 0048 ; [.1847.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER H>
-006E 0079 ; [.1848.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-004E 0079 ; [.1848.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 0059 ; [.1848.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-0070 0068 ; [.1849.0020.0002.0070] # <LATIN SMALL LETTER P, LATIN SMALL LETTER H>
-0050 0068 ; [.1849.0020.0007.0050] # <LATIN CAPITAL LETTER P, LATIN SMALL LETTER H>
-0050 0048 ; [.1849.0020.0008.0050] # <LATIN CAPITAL LETTER P, LATIN CAPITAL LETTER H>
-0073 0068 ; [.184A.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
-0053 0068 ; [.184A.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0063 0068 ; [.187B.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.187B.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.187B.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0064 0068 ; [.187C.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
+0044 0068 ; [.187C.0020.0007.0044] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
+0044 0048 ; [.187C.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
+006B 0068 ; [.187D.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER H>
+004B 0068 ; [.187D.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER H>
+004B 0048 ; [.187D.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER H>
+006E 0079 ; [.187E.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 0079 ; [.187E.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.187E.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0070 0068 ; [.187F.0020.0002.0070] # <LATIN SMALL LETTER P, LATIN SMALL LETTER H>
+0050 0068 ; [.187F.0020.0007.0050] # <LATIN CAPITAL LETTER P, LATIN SMALL LETTER H>
+0050 0048 ; [.187F.0020.0008.0050] # <LATIN CAPITAL LETTER P, LATIN CAPITAL LETTER H>
+0073 0068 ; [.1880.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0053 0068 ; [.1880.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/or.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/or.pl
new file mode 100644
index 00000000000..fd9a43bf218
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/or.pl
@@ -0,0 +1,10 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0B01 ; [.20ED.0020.0002.0B01][.FFF1.0000.0000.0000] # ORIYA SIGN CANDRABINDU
+0B02 ; [.20ED.0020.0002.0B02][.FFF2.0000.0000.0000] # ORIYA SIGN ANUSVARA
+0B03 ; [.20ED.0020.0002.0B03][.FFF3.0000.0000.0000] # ORIYA SIGN VISARGA
+0B15 0B4D 0B37 ; [.2111.0020.0002.0B15][.FFF1.0000.0000.0000] # <ORIYA LETTER KA, ORIYA SIGN VIRAMA, ORIYA LETTER SSA>
+0B5F ; [.2107.0021.0002.0B5F] # ORIYA LETTER YYA
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pa.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pa.pl
new file mode 100644
index 00000000000..60552f14f95
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pa.pl
@@ -0,0 +1,27 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0A71 ; [.0000.00F2.0002.0A71] # GURMUKHI ADDAK
+0A03 ; [.0000.00F1.0002.0A03] # GURMUKHI SIGN VISARGA
+0A70 ; [.0000.00F3.0002.0A70] # GURMUKHI TIPPI
+0A02 ; [.0000.00F4.0002.0A02] # GURMUKHI SIGN BINDI
+0A01 ; [.0000.00F5.0002.0A01] # GURMUKHI SIGN ADAK BINDI
+0A3C ; [.0000.00F6.0002.0A3C] # GURMUKHI SIGN NUKTA
+0A33 ; [.208F.0020.0002.0A32][.0000.00F6.0002.0A3C] # GURMUKHI LETTER LLA
+0A36 ; [.2070.0020.0002.0A38][.0000.00F6.0002.0A3C] # GURMUKHI LETTER SHA
+0A59 ; [.2074.0020.0002.0A16][.0000.00F6.0002.0A3C] # GURMUKHI LETTER KHHA
+0A5A ; [.2075.0020.0002.0A17][.0000.00F6.0002.0A3C] # GURMUKHI LETTER GHHA
+0A5B ; [.207A.0020.0002.0A1C][.0000.00F6.0002.0A3C] # GURMUKHI LETTER ZA
+0A5E ; [.2088.0020.0002.0A2B][.0000.00F6.0002.0A3C] # GURMUKHI LETTER FA
+0A4D ; [.2092.0020.0002.0A4D] # GURMUKHI SIGN VIRAMA
+0A3E ; [.2093.0020.0002.0A3E] # GURMUKHI VOWEL SIGN AA
+0A3F ; [.2094.0020.0002.0A3F] # GURMUKHI VOWEL SIGN I
+0A40 ; [.2095.0020.0002.0A40] # GURMUKHI VOWEL SIGN II
+0A41 ; [.2096.0020.0002.0A41] # GURMUKHI VOWEL SIGN U
+0A42 ; [.2097.0020.0002.0A42] # GURMUKHI VOWEL SIGN UU
+0A47 ; [.2098.0020.0002.0A47] # GURMUKHI VOWEL SIGN EE
+0A48 ; [.2099.0020.0002.0A48] # GURMUKHI VOWEL SIGN AI
+0A4B ; [.209A.0020.0002.0A4B] # GURMUKHI VOWEL SIGN OO
+0A4C ; [.209B.0020.0002.0A4C] # GURMUKHI VOWEL SIGN AU
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pl.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pl.pl
index 20f66d7967e..53aa618eefb 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pl.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/pl.pl
@@ -1,50 +1,51 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0105 ; [.15A4.0020.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
-0061 0328 ; [.15A4.0020.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
-0104 ; [.15A4.0020.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK
-0041 0328 ; [.15A4.0020.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK
-0107 ; [.15D2.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
-0063 0301 ; [.15D2.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
-0063 0341 ; [.15D2.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
-0106 ; [.15D2.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
-0043 0301 ; [.15D2.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
-0043 0341 ; [.15D2.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
-0119 ; [.1600.0020.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1600.0020.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118 ; [.1600.0020.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1600.0020.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0142 ; [.16C5.0020.0002.0142] # LATIN SMALL LETTER L WITH STROKE
-006C 0335 ; [.16C5.0020.0002.0142] # LATIN SMALL LETTER L WITH STROKE
-0141 ; [.16C5.0020.0008.0141] # LATIN CAPITAL LETTER L WITH STROKE
-004C 0335 ; [.16C5.0020.0008.0141] # LATIN CAPITAL LETTER L WITH STROKE
-0144 ; [.1703.0020.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1703.0020.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1703.0020.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143 ; [.1703.0020.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1703.0020.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1703.0020.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-00F3 ; [.1725.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1725.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1725.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1725.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1725.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1725.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-015B ; [.17A7.0020.0002.015B] # LATIN SMALL LETTER S WITH ACUTE
-0073 0301 ; [.17A7.0020.0002.015B] # LATIN SMALL LETTER S WITH ACUTE
-0073 0341 ; [.17A7.0020.0002.015B] # LATIN SMALL LETTER S WITH ACUTE
-015A ; [.17A7.0020.0008.015A] # LATIN CAPITAL LETTER S WITH ACUTE
-0053 0301 ; [.17A7.0020.0008.015A] # LATIN CAPITAL LETTER S WITH ACUTE
-0053 0341 ; [.17A7.0020.0008.015A] # LATIN CAPITAL LETTER S WITH ACUTE
-017A ; [.1845.0020.0002.017A] # LATIN SMALL LETTER Z WITH ACUTE
-007A 0301 ; [.1845.0020.0002.017A] # LATIN SMALL LETTER Z WITH ACUTE
-007A 0341 ; [.1845.0020.0002.017A] # LATIN SMALL LETTER Z WITH ACUTE
-0179 ; [.1845.0020.0008.0179] # LATIN CAPITAL LETTER Z WITH ACUTE
-005A 0301 ; [.1845.0020.0008.0179] # LATIN CAPITAL LETTER Z WITH ACUTE
-005A 0341 ; [.1845.0020.0008.0179] # LATIN CAPITAL LETTER Z WITH ACUTE
-017C ; [.1846.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
-007A 0307 ; [.1846.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
-017B ; [.1846.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
-005A 0307 ; [.1846.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0105 ; [.15D5.0020.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
+0061 0328 ; [.15D5.0020.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
+0104 ; [.15D5.0020.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK
+0041 0328 ; [.15D5.0020.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK
+0107 ; [.1603.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
+0063 0301 ; [.1603.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
+0063 0341 ; [.1603.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
+0106 ; [.1603.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0301 ; [.1603.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0341 ; [.1603.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
+0119 ; [.1632.0020.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1632.0020.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1632.0020.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1632.0020.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0142 ; [.16F7.0020.0002.0142] # LATIN SMALL LETTER L WITH STROKE
+006C 0335 ; [.16F7.0020.0002.0142] # LATIN SMALL LETTER L WITH STROKE
+0141 ; [.16F7.0020.0008.0141] # LATIN CAPITAL LETTER L WITH STROKE
+004C 0335 ; [.16F7.0020.0008.0141] # LATIN CAPITAL LETTER L WITH STROKE
+0144 ; [.1735.0020.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1735.0020.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1735.0020.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.1735.0020.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1735.0020.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1735.0020.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+00F3 ; [.1757.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1757.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1757.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1757.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1757.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1757.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+015B ; [.17D9.0020.0002.015B] # LATIN SMALL LETTER S WITH ACUTE
+0073 0301 ; [.17D9.0020.0002.015B] # LATIN SMALL LETTER S WITH ACUTE
+0073 0341 ; [.17D9.0020.0002.015B] # LATIN SMALL LETTER S WITH ACUTE
+015A ; [.17D9.0020.0008.015A] # LATIN CAPITAL LETTER S WITH ACUTE
+0053 0301 ; [.17D9.0020.0008.015A] # LATIN CAPITAL LETTER S WITH ACUTE
+0053 0341 ; [.17D9.0020.0008.015A] # LATIN CAPITAL LETTER S WITH ACUTE
+017A ; [.187B.0020.0002.017A] # LATIN SMALL LETTER Z WITH ACUTE
+007A 0301 ; [.187B.0020.0002.017A] # LATIN SMALL LETTER Z WITH ACUTE
+007A 0341 ; [.187B.0020.0002.017A] # LATIN SMALL LETTER Z WITH ACUTE
+0179 ; [.187B.0020.0008.0179] # LATIN CAPITAL LETTER Z WITH ACUTE
+005A 0301 ; [.187B.0020.0008.0179] # LATIN CAPITAL LETTER Z WITH ACUTE
+005A 0341 ; [.187B.0020.0008.0179] # LATIN CAPITAL LETTER Z WITH ACUTE
+017C ; [.187C.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+007A 0307 ; [.187C.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+017B ; [.187C.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+005A 0307 ; [.187C.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ro.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ro.pl
index 6c484248580..61a6a856b00 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ro.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ro.pl
@@ -1,60 +1,53 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0103 ; [.15A4.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
-0061 0306 ; [.15A4.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
-0102 ; [.15A4.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
-0041 0306 ; [.15A4.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
-1EB1 ; [.15A4.0020.0002.0103][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
-1EB0 ; [.15A4.0020.0008.0102][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EAF ; [.15A4.0020.0002.0103][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
-1EAE ; [.15A4.0020.0008.0102][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EB5 ; [.15A4.0020.0002.0103][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH BREVE AND TILDE
-1EB4 ; [.15A4.0020.0008.0102][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB3 ; [.15A4.0020.0002.0103][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
-1EB2 ; [.15A4.0020.0008.0102][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-1EB7 ; [.15A4.0020.0002.0103][.0000.0070.0002.0323] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-1EB6 ; [.15A4.0020.0008.0102][.0000.0070.0002.0323] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-00E2 ; [.15A5.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-0061 0302 ; [.15A5.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-00C2 ; [.15A5.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-0041 0302 ; [.15A5.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-1EA7 ; [.15A5.0020.0002.00E2][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA6 ; [.15A5.0020.0008.00C2][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA5 ; [.15A5.0020.0002.00E2][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA4 ; [.15A5.0020.0008.00C2][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EAB ; [.15A5.0020.0002.00E2][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAA ; [.15A5.0020.0008.00C2][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EA9 ; [.15A5.0020.0002.00E2][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EA8 ; [.15A5.0020.0008.00C2][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAD ; [.15A5.0020.0002.00E2][.0000.0070.0002.0323] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAC ; [.15A5.0020.0008.00C2][.0000.0070.0002.0323] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-0111 ; [.15E5.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E5.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.15E5.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E5.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00EE ; [.1681.0020.0002.00EE] # LATIN SMALL LETTER I WITH CIRCUMFLEX
-0069 0302 ; [.1681.0020.0002.00EE] # LATIN SMALL LETTER I WITH CIRCUMFLEX
-00CE ; [.1681.0020.0008.00CE] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-0049 0302 ; [.1681.0020.0008.00CE] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-015F ; [.17A7.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
-0073 0327 ; [.17A7.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
-0219 ; [.17A7.0020.0002.0219] # LATIN SMALL LETTER S WITH COMMA BELOW
-0073 0326 ; [.17A7.0020.0002.0219] # LATIN SMALL LETTER S WITH COMMA BELOW
-015E ; [.17A7.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
-0053 0327 ; [.17A7.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
-0218 ; [.17A7.0020.0008.0218] # LATIN CAPITAL LETTER S WITH COMMA BELOW
-0053 0326 ; [.17A7.0020.0008.0218] # LATIN CAPITAL LETTER S WITH COMMA BELOW
-0163 ; [.17CA.0020.0002.0163] # LATIN SMALL LETTER T WITH CEDILLA
-0074 0327 ; [.17CA.0020.0002.0163] # LATIN SMALL LETTER T WITH CEDILLA
-021B ; [.17CA.0020.0002.021B] # LATIN SMALL LETTER T WITH COMMA BELOW
-0074 0326 ; [.17CA.0020.0002.021B] # LATIN SMALL LETTER T WITH COMMA BELOW
-0162 ; [.17CA.0020.0008.0162] # LATIN CAPITAL LETTER T WITH CEDILLA
-0054 0327 ; [.17CA.0020.0008.0162] # LATIN CAPITAL LETTER T WITH CEDILLA
-021A ; [.17CA.0020.0008.021A] # LATIN CAPITAL LETTER T WITH COMMA BELOW
-0054 0326 ; [.17CA.0020.0008.021A] # LATIN CAPITAL LETTER T WITH COMMA BELOW
-017C ; [.1845.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
-007A 0307 ; [.1845.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
-017B ; [.1845.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
-005A 0307 ; [.1845.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0103 ; [.15D5.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
+0061 0306 ; [.15D5.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
+0102 ; [.15D5.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
+0041 0306 ; [.15D5.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
+1EB1 ; [.15D5.0020.0002.0103][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
+1EB0 ; [.15D5.0020.0008.0102][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+1EAF ; [.15D5.0020.0002.0103][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
+1EAE ; [.15D5.0020.0008.0102][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+1EB5 ; [.15D5.0020.0002.0103][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH BREVE AND TILDE
+1EB4 ; [.15D5.0020.0008.0102][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+1EB3 ; [.15D5.0020.0002.0103][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+1EB2 ; [.15D5.0020.0008.0102][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+1EB7 ; [.15D5.0020.0002.0103][.0000.0070.0002.0323] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+1EB6 ; [.15D5.0020.0008.0102][.0000.0070.0002.0323] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+00E2 ; [.15D6.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0061 0302 ; [.15D6.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+00C2 ; [.15D6.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0041 0302 ; [.15D6.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+1EA7 ; [.15D6.0020.0002.00E2][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA6 ; [.15D6.0020.0008.00C2][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA5 ; [.15D6.0020.0002.00E2][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA4 ; [.15D6.0020.0008.00C2][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EAB ; [.15D6.0020.0002.00E2][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+1EAA ; [.15D6.0020.0008.00C2][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+1EA9 ; [.15D6.0020.0002.00E2][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EA8 ; [.15D6.0020.0008.00C2][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EAD ; [.15D6.0020.0002.00E2][.0000.0070.0002.0323] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1EAC ; [.15D6.0020.0008.00C2][.0000.0070.0002.0323] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+00EE ; [.16B3.0020.0002.00EE] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0069 0302 ; [.16B3.0020.0002.00EE] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+00CE ; [.16B3.0020.0008.00CE] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0049 0302 ; [.16B3.0020.0008.00CE] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+015F ; [.17D9.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.17D9.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+0219 ; [.17D9.0020.0002.0219] # LATIN SMALL LETTER S WITH COMMA BELOW
+0073 0326 ; [.17D9.0020.0002.0219] # LATIN SMALL LETTER S WITH COMMA BELOW
+015E ; [.17D9.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.17D9.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+0218 ; [.17D9.0020.0008.0218] # LATIN CAPITAL LETTER S WITH COMMA BELOW
+0053 0326 ; [.17D9.0020.0008.0218] # LATIN CAPITAL LETTER S WITH COMMA BELOW
+0163 ; [.17FC.0020.0002.0163] # LATIN SMALL LETTER T WITH CEDILLA
+0074 0327 ; [.17FC.0020.0002.0163] # LATIN SMALL LETTER T WITH CEDILLA
+021B ; [.17FC.0020.0002.021B] # LATIN SMALL LETTER T WITH COMMA BELOW
+0074 0326 ; [.17FC.0020.0002.021B] # LATIN SMALL LETTER T WITH COMMA BELOW
+0162 ; [.17FC.0020.0008.0162] # LATIN CAPITAL LETTER T WITH CEDILLA
+0054 0327 ; [.17FC.0020.0008.0162] # LATIN CAPITAL LETTER T WITH CEDILLA
+021A ; [.17FC.0020.0008.021A] # LATIN CAPITAL LETTER T WITH COMMA BELOW
+0054 0326 ; [.17FC.0020.0008.021A] # LATIN CAPITAL LETTER T WITH COMMA BELOW
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ru.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ru.pl
index 54bccaddd14..e7296dafa96 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ru.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ru.pl
@@ -1,35 +1,45 @@
+{
- suppress => [0x0400..0x0417, 0x041A..0x0437, 0x043A..0x045F],
- entry => <<'ENTRY', # for DUCET v6.0.0
-04D1 ; [.1943.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
-04D0 ; [.1943.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
-04D3 ; [.1943.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D2 ; [.1943.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-0453 ; [.1963.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
-0403 ; [.1963.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
-04D7 ; [.198B.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
-04D6 ; [.198B.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-04DD ; [.1997.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DC ; [.1997.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DF ; [.19A4.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04DE ; [.19A4.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-0457 ; [.19C8.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
-0407 ; [.19C8.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
-04E7 ; [.1A29.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E6 ; [.1A29.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-045C ; [.19DA.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
-040C ; [.19DA.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
-045E ; [.1A6B.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
-040E ; [.1A6B.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
-04F1 ; [.1A6B.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F0 ; [.1A6B.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F3 ; [.1A6B.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F2 ; [.1A6B.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F5 ; [.1ABE.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F4 ; [.1ABE.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F9 ; [.1AF1.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04F8 ; [.1AF1.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04ED ; [.1B06.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EC ; [.1B06.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+ locale_version => 0.88,
+ suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
+ 0x0416, 0x0436, 0x0417, 0x0437, 0x0406, 0x0456, 0x041E, 0x043E,
+ 0x04E8, 0x04E9, 0x041A, 0x043A, 0x0423, 0x0443, 0x0427, 0x0447,
+ 0x042B, 0x044B, 0x042D, 0x044D, 0x0474, 0x0475],
+ entry => <<'ENTRY', # for DUCET v6.1.0
+04D1 ; [.1976.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.1976.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.1976.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.1976.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04DB ; [.1982.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA ; [.1982.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+0453 ; [.1996.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
+0403 ; [.1996.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
+04D7 ; [.19BE.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.19BE.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD ; [.19CA.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.19CA.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF ; [.19D7.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19D7.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+0457 ; [.19FB.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
+0407 ; [.19FB.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
+04E7 ; [.1A5C.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A5C.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04EB ; [.1A64.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA ; [.1A64.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+045C ; [.1A0D.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
+040C ; [.1A0D.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
+045E ; [.1A9E.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
+040E ; [.1A9E.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
+04F1 ; [.1A9E.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0 ; [.1A9E.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3 ; [.1A9E.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2 ; [.1A9E.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F5 ; [.1AF1.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1AF1.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9 ; [.1B24.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1B24.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED ; [.1B39.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B39.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+0477 ; [.1B6F.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476 ; [.1B6F.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sa.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sa.pl
new file mode 100644
index 00000000000..da9b0c89e9b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sa.pl
@@ -0,0 +1,12 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0902 ; [.1FC1.0020.0002.0902][.FFF1.0000.0000.0000] # DEVANAGARI SIGN ANUSVARA
+0901 ; [.1FC1.0021.0002.0901][.FFF1.0000.0000.0901] # DEVANAGARI SIGN CANDRABINDU
+0903 ; [.1FC1.0020.0002.0903][.FFF2.0000.0000.0000] # DEVANAGARI SIGN VISARGA
+0933 ; [.2002.0020.0002.0933][.FFF1.0000.0000.0000] # DEVANAGARI LETTER LLA
+0934 ; [.2002.0020.0002.0933][.FFF1.0000.0000.0000][.0000.00F1.0002.093C] # DEVANAGARI LETTER LLLA
+0915 094D 0937 ; [.2002.0020.0002.0915][.FFF2.0000.0000.0000] # <DEVANAGARI LETTER KA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER SSA>
+091C 094D 091E ; [.2002.0020.0002.091C][.FFF3.0000.0000.0000] # <DEVANAGARI LETTER JA, DEVANAGARI SIGN VIRAMA, DEVANAGARI LETTER NYA>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/se.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/se.pl
index 536a4241b34..3c851555aec 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/se.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/se.pl
@@ -1,147 +1,148 @@
+{
+ locale_version => 0.88,
# eng, g-stroke, t-stroke don't require tailoring
- entry => <<'ENTRY', # for DUCET v6.0.0
-00E1 ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.15B8.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15B8.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15B8.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-010D ; [.15E1.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.15E1.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C ; [.15E1.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.15E1.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0292 ; [.15E2.0020.0002.0292] # LATIN SMALL LETTER EZH
-01B7 ; [.15E2.0020.0008.01B7] # LATIN CAPITAL LETTER EZH
-01EF ; [.15E3.0020.0002.01EF] # LATIN SMALL LETTER EZH WITH CARON
-0292 030C ; [.15E3.0020.0002.01EF] # LATIN SMALL LETTER EZH WITH CARON
-01EE ; [.15E3.0020.0008.01EE] # LATIN CAPITAL LETTER EZH WITH CARON
-01B7 030C ; [.15E3.0020.0008.01EE] # LATIN CAPITAL LETTER EZH WITH CARON
-0111 ; [.15FE.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15FE.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.15FE.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15FE.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0 ; [.15FE.0021.0002.00F0] # LATIN SMALL LETTER ETH
-00D0 ; [.15FE.0021.0008.00D0] # LATIN CAPITAL LETTER ETH
-01E7 ; [.164F.0020.0002.01E7] # LATIN SMALL LETTER G WITH CARON
-0067 030C ; [.164F.0020.0002.01E7] # LATIN SMALL LETTER G WITH CARON
-01E6 ; [.164F.0020.0008.01E6] # LATIN CAPITAL LETTER G WITH CARON
-0047 030C ; [.164F.0020.0008.01E6] # LATIN CAPITAL LETTER G WITH CARON
-01E9 ; [.16C3.0020.0002.01E9] # LATIN SMALL LETTER K WITH CARON
-006B 030C ; [.16C3.0020.0002.01E9] # LATIN SMALL LETTER K WITH CARON
-01E8 ; [.16C3.0020.0008.01E8] # LATIN CAPITAL LETTER K WITH CARON
-004B 030C ; [.16C3.0020.0008.01E8] # LATIN CAPITAL LETTER K WITH CARON
-0144 ; [.1720.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1720.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1720.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143 ; [.1720.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1720.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1720.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-00F1 ; [.1720.0022.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.1720.0022.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-00D1 ; [.1720.0022.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.1720.0022.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-0161 ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-00FE ; [.17CE.0021.0002.00FE] # LATIN SMALL LETTER THORN
-00DE ; [.17CE.0021.0008.00DE] # LATIN CAPITAL LETTER THORN
-00FC ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171 ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170 ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-017E ; [.18B5.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.18B5.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D ; [.18B5.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.18B5.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-00F8 ; [.18B6.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.18B6.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.18B6.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.18B6.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.18B6.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.18B6.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-0153 ; [.18B6.0021.0002.0153] # LATIN SMALL LIGATURE OE
-0152 ; [.18B6.0021.0008.0152] # LATIN CAPITAL LIGATURE OE
-00E6 ; [.18B7.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.18B7.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.18B7.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.18B7.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.18B7.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.18B7.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.18B7.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E5 ; [.18B9.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.18B9.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.18B9.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.18B9.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.18B9.0020.0008.00C5] # ANGSTROM SIGN
-01FB ; [.18B9.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.18B9.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-0227 ; [.18B9.0021.0002.0227] # LATIN SMALL LETTER A WITH DOT ABOVE
-0061 0307 ; [.18B9.0021.0002.0227] # LATIN SMALL LETTER A WITH DOT ABOVE
-0226 ; [.18B9.0021.0008.0226] # LATIN CAPITAL LETTER A WITH DOT ABOVE
-0041 0307 ; [.18B9.0021.0008.0226] # LATIN CAPITAL LETTER A WITH DOT ABOVE
-00E4 ; [.18BA.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.18BA.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.18BA.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.18BA.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.18BA.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.18BA.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00E3 ; [.18BA.0021.0002.00E3] # LATIN SMALL LETTER A WITH TILDE
-0061 0303 ; [.18BA.0021.0002.00E3] # LATIN SMALL LETTER A WITH TILDE
-00C3 ; [.18BA.0021.0008.00C3] # LATIN CAPITAL LETTER A WITH TILDE
-0041 0303 ; [.18BA.0021.0008.00C3] # LATIN CAPITAL LETTER A WITH TILDE
-00F6 ; [.18BB.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.18BB.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.18BB.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.18BB.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.18BB.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.18BB.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151 ; [.18BB.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.18BB.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150 ; [.18BB.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.18BB.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-00F5 ; [.18BB.0022.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
-006F 0303 ; [.18BB.0022.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
-00D5 ; [.18BB.0022.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
-004F 0303 ; [.18BB.0022.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
-1E4D ; [.18BB.0022.0002.00F5][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
-1E4C ; [.18BB.0022.0008.00D5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-022D ; [.18BB.0022.0002.00F5][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON
-022C ; [.18BB.0022.0008.00D5][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-1E4F ; [.18BB.0022.0002.00F5][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
-1E4E ; [.18BB.0022.0008.00D5][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-1EE1 ; [.18BB.0022.0002.00F5][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE0 ; [.18BB.0022.0008.00D5][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
-00F4 ; [.18BB.0023.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.18BB.0023.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4 ; [.18BB.0023.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.18BB.0023.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3 ; [.18BB.0023.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2 ; [.18BB.0023.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1 ; [.18BB.0023.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0 ; [.18BB.0023.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7 ; [.18BB.0023.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6 ; [.18BB.0023.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5 ; [.18BB.0023.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4 ; [.18BB.0023.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9 ; [.18BB.0023.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8 ; [.18BB.0023.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-01EB ; [.18BB.0024.0002.01EB] # LATIN SMALL LETTER O WITH OGONEK
-006F 0328 ; [.18BB.0024.0002.01EB] # LATIN SMALL LETTER O WITH OGONEK
-01EA ; [.18BB.0024.0008.01EA] # LATIN CAPITAL LETTER O WITH OGONEK
-004F 0328 ; [.18BB.0024.0008.01EA] # LATIN CAPITAL LETTER O WITH OGONEK
+ entry => <<'ENTRY', # for DUCET v6.1.0
+00E1 ; [.15E9.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15E9.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15E9.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15E9.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15E9.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15E9.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+010D ; [.1613.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.1613.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C ; [.1613.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.1613.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0292 ; [.1614.0020.0002.0292] # LATIN SMALL LETTER EZH
+01B7 ; [.1614.0020.0008.01B7] # LATIN CAPITAL LETTER EZH
+01EF ; [.1615.0020.0002.01EF] # LATIN SMALL LETTER EZH WITH CARON
+0292 030C ; [.1615.0020.0002.01EF] # LATIN SMALL LETTER EZH WITH CARON
+01EE ; [.1615.0020.0008.01EE] # LATIN CAPITAL LETTER EZH WITH CARON
+01B7 030C ; [.1615.0020.0008.01EE] # LATIN CAPITAL LETTER EZH WITH CARON
+0111 ; [.1630.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1630.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.1630.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1630.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.1630.0021.0002.00F0] # LATIN SMALL LETTER ETH
+00D0 ; [.1630.0021.0008.00D0] # LATIN CAPITAL LETTER ETH
+01E7 ; [.1681.0020.0002.01E7] # LATIN SMALL LETTER G WITH CARON
+0067 030C ; [.1681.0020.0002.01E7] # LATIN SMALL LETTER G WITH CARON
+01E6 ; [.1681.0020.0008.01E6] # LATIN CAPITAL LETTER G WITH CARON
+0047 030C ; [.1681.0020.0008.01E6] # LATIN CAPITAL LETTER G WITH CARON
+01E9 ; [.16F5.0020.0002.01E9] # LATIN SMALL LETTER K WITH CARON
+006B 030C ; [.16F5.0020.0002.01E9] # LATIN SMALL LETTER K WITH CARON
+01E8 ; [.16F5.0020.0008.01E8] # LATIN CAPITAL LETTER K WITH CARON
+004B 030C ; [.16F5.0020.0008.01E8] # LATIN CAPITAL LETTER K WITH CARON
+0144 ; [.1752.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1752.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1752.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.1752.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1752.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1752.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+00F1 ; [.1752.0022.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1752.0022.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.1752.0022.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1752.0022.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+0161 ; [.17FA.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17FA.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17FA.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17FA.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+00FE ; [.1800.0021.0002.00FE] # LATIN SMALL LETTER THORN
+00DE ; [.1800.0021.0008.00DE] # LATIN CAPITAL LETTER THORN
+00FC ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1865.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1865.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1865.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1865.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1865.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1865.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1865.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1865.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.1865.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1865.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.1865.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1865.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+017E ; [.18E7.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.18E7.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.18E7.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.18E7.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+00F8 ; [.18E8.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.18E8.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.18E8.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.18E8.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.18E8.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.18E8.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+0153 ; [.18E8.0021.0002.0153] # LATIN SMALL LIGATURE OE
+0152 ; [.18E8.0021.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E6 ; [.18E9.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.18E9.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.18E9.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.18E9.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.18E9.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.18E9.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.18E9.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E5 ; [.18EB.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.18EB.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.18EB.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.18EB.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.18EB.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.18EB.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.18EB.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0227 ; [.18EB.0021.0002.0227] # LATIN SMALL LETTER A WITH DOT ABOVE
+0061 0307 ; [.18EB.0021.0002.0227] # LATIN SMALL LETTER A WITH DOT ABOVE
+0226 ; [.18EB.0021.0008.0226] # LATIN CAPITAL LETTER A WITH DOT ABOVE
+0041 0307 ; [.18EB.0021.0008.0226] # LATIN CAPITAL LETTER A WITH DOT ABOVE
+00E4 ; [.18EC.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.18EC.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.18EC.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.18EC.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.18EC.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.18EC.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E3 ; [.18EC.0021.0002.00E3] # LATIN SMALL LETTER A WITH TILDE
+0061 0303 ; [.18EC.0021.0002.00E3] # LATIN SMALL LETTER A WITH TILDE
+00C3 ; [.18EC.0021.0008.00C3] # LATIN CAPITAL LETTER A WITH TILDE
+0041 0303 ; [.18EC.0021.0008.00C3] # LATIN CAPITAL LETTER A WITH TILDE
+00F6 ; [.18ED.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.18ED.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.18ED.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.18ED.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.18ED.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.18ED.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.18ED.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.18ED.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.18ED.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.18ED.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+00F5 ; [.18ED.0022.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
+006F 0303 ; [.18ED.0022.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
+00D5 ; [.18ED.0022.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
+004F 0303 ; [.18ED.0022.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
+1E4D ; [.18ED.0022.0002.00F5][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
+1E4C ; [.18ED.0022.0008.00D5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+022D ; [.18ED.0022.0002.00F5][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON
+022C ; [.18ED.0022.0008.00D5][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+1E4F ; [.18ED.0022.0002.00F5][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+1E4E ; [.18ED.0022.0008.00D5][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+1EE1 ; [.18ED.0022.0002.00F5][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0 ; [.18ED.0022.0008.00D5][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+00F4 ; [.18ED.0023.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.18ED.0023.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.18ED.0023.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.18ED.0023.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.18ED.0023.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.18ED.0023.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.18ED.0023.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.18ED.0023.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.18ED.0023.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.18ED.0023.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.18ED.0023.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.18ED.0023.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.18ED.0023.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.18ED.0023.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+01EB ; [.18ED.0024.0002.01EB] # LATIN SMALL LETTER O WITH OGONEK
+006F 0328 ; [.18ED.0024.0002.01EB] # LATIN SMALL LETTER O WITH OGONEK
+01EA ; [.18ED.0024.0008.01EA] # LATIN CAPITAL LETTER O WITH OGONEK
+004F 0328 ; [.18ED.0024.0008.01EA] # LATIN CAPITAL LETTER O WITH OGONEK
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/si.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/si.pl
new file mode 100644
index 00000000000..8508cc944b1
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/si.pl
@@ -0,0 +1,9 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0D82 ; [.223F.0020.0002.0D82][.FFF1.0000.0000.0000] # SINHALA SIGN ANUSVARAYA
+0D83 ; [.223F.0020.0002.0D83][.FFF2.0000.0000.0000] # SINHALA SIGN VISARGAYA
+0DA5 ; [.224A.0020.0002.0DA5] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
+0DA4 ; [.224B.0020.0002.0DA4] # SINHALA LETTER TAALUJA NAASIKYAYA
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/si_dict.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/si_dict.pl
new file mode 100644
index 00000000000..36d4f3013d1
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/si_dict.pl
@@ -0,0 +1,8 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0D82 ; [.223F.0020.0002.0D82][.FFF1.0000.0000.0000] # SINHALA SIGN ANUSVARAYA
+0D83 ; [.223F.0020.0002.0D83][.FFF2.0000.0000.0000] # SINHALA SIGN VISARGAYA
+0DA5 ; [.2248.0020.0002.0DA2][.227A.0020.0002.0DCA][.224A.0021.0002.0DA5] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sk.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sk.pl
index b9b27ad3ee7..26494c44846 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sk.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sk.pl
@@ -1,40 +1,45 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-00E4 ; [.15A4.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.15A4.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.15A4.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.15A4.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.15A4.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.15A4.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-010D ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0063 0068 ; [.1668.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0063 0048 ; [.1668.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
-0043 0068 ; [.1668.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.1668.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-00F4 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3 ; [.1725.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2 ; [.1725.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1 ; [.1725.0020.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0 ; [.1725.0020.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7 ; [.1725.0020.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6 ; [.1725.0020.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5 ; [.1725.0020.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4 ; [.1725.0020.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9 ; [.1725.0020.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8 ; [.1725.0020.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-0161 ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-017E ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+00E4 ; [.15D5.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.15D5.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.15D5.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.15D5.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.15D5.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.15D5.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+010D ; [.1603.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.1603.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C ; [.1603.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.1603.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0063 0068 ; [.169A.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0063 0048 ; [.169A.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
+0043 0068 ; [.169A.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.169A.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+00F4 ; [.1757.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1757.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.1757.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1757.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.1757.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.1757.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.1757.0020.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.1757.0020.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.1757.0020.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.1757.0020.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.1757.0020.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.1757.0020.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.1757.0020.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.1757.0020.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0159 ; [.17A3.0020.0002.0159] # LATIN SMALL LETTER R WITH CARON
+0072 030C ; [.17A3.0020.0002.0159] # LATIN SMALL LETTER R WITH CARON
+0158 ; [.17A3.0020.0008.0158] # LATIN CAPITAL LETTER R WITH CARON
+0052 030C ; [.17A3.0020.0008.0158] # LATIN CAPITAL LETTER R WITH CARON
+0161 ; [.17D9.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17D9.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17D9.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17D9.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+017E ; [.187B.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.187B.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.187B.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.187B.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sl.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sl.pl
index d1281feffe5..80cb12b64c7 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sl.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sl.pl
@@ -1,17 +1,17 @@
+{
-# c-acute not included
- entry => <<'ENTRY', # for DUCET v6.0.0
-010D ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0161 ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-017E ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+010D ; [.1603.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.1603.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C ; [.1603.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.1603.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0161 ; [.17D9.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17D9.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17D9.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17D9.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+017E ; [.187B.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.187B.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.187B.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.187B.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sq.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sq.pl
index b98cb0c4a20..2679af9402d 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sq.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sq.pl
@@ -1,48 +1,49 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-00E7 ; [.15E3.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
-0063 0327 ; [.15E3.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
-00C7 ; [.15E3.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
-0043 0327 ; [.15E3.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
-0064 0068 ; [.15FE.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
-0064 0048 ; [.15FE.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER H>
-0044 0068 ; [.15FE.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
-0044 0048 ; [.15FE.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
-00EB ; [.1636.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
-0065 0308 ; [.1636.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
-00CB ; [.1636.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
-0045 0308 ; [.1636.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
-0067 006A ; [.1666.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER J>
-0067 004A ; [.1666.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER J>
-0047 006A ; [.1666.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER J>
-0047 004A ; [.1666.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER J>
-006C 006C ; [.16F3.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
-006C 004C ; [.16F3.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L>
-004C 006C ; [.16F3.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
-004C 004C ; [.16F3.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
-006E 006A ; [.1723.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER J>
-006E 004A ; [.1723.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER J>
-004E 006A ; [.1723.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER J>
-004E 004A ; [.1723.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER J>
-0072 0072 ; [.17A5.0020.0002.0072] # <LATIN SMALL LETTER R, LATIN SMALL LETTER R>
-0072 0052 ; [.17A5.0020.0007.0072][.0000.0000.0002.0000] # <LATIN SMALL LETTER R, LATIN CAPITAL LETTER R>
-0052 0072 ; [.17A5.0020.0007.0052][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER R, LATIN SMALL LETTER R>
-0052 0052 ; [.17A5.0020.0008.0052] # <LATIN CAPITAL LETTER R, LATIN CAPITAL LETTER R>
-0073 0068 ; [.17C8.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
-0073 0048 ; [.17C8.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER H>
-0053 0068 ; [.17C8.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
-0053 0048 ; [.17C8.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
-0074 0068 ; [.17E8.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
-0074 0048 ; [.17E8.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER H>
-0054 0068 ; [.17E8.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
-0054 0048 ; [.17E8.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H>
-0078 0068 ; [.1832.0020.0002.0078] # <LATIN SMALL LETTER X, LATIN SMALL LETTER H>
-0078 0048 ; [.1832.0020.0007.0078][.0000.0000.0002.0000] # <LATIN SMALL LETTER X, LATIN CAPITAL LETTER H>
-0058 0068 ; [.1832.0020.0007.0058][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER X, LATIN SMALL LETTER H>
-0058 0048 ; [.1832.0020.0008.0058] # <LATIN CAPITAL LETTER X, LATIN CAPITAL LETTER H>
-007A 0068 ; [.1860.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER H>
-007A 0048 ; [.1860.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER H>
-005A 0068 ; [.1860.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER H>
-005A 0048 ; [.1860.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER H>
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+00E7 ; [.1615.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+0063 0327 ; [.1615.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+00C7 ; [.1615.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+0043 0327 ; [.1615.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+0064 0068 ; [.1630.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
+0064 0048 ; [.1630.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER H>
+0044 0068 ; [.1630.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
+0044 0048 ; [.1630.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
+00EB ; [.1668.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
+0065 0308 ; [.1668.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
+00CB ; [.1668.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
+0045 0308 ; [.1668.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
+0067 006A ; [.1698.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER J>
+0067 004A ; [.1698.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER J>
+0047 006A ; [.1698.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER J>
+0047 004A ; [.1698.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER J>
+006C 006C ; [.1725.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+006C 004C ; [.1725.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L>
+004C 006C ; [.1725.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 004C ; [.1725.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+006E 006A ; [.1755.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER J>
+006E 004A ; [.1755.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER J>
+004E 006A ; [.1755.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER J>
+004E 004A ; [.1755.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER J>
+0072 0072 ; [.17D7.0020.0002.0072] # <LATIN SMALL LETTER R, LATIN SMALL LETTER R>
+0072 0052 ; [.17D7.0020.0007.0072][.0000.0000.0002.0000] # <LATIN SMALL LETTER R, LATIN CAPITAL LETTER R>
+0052 0072 ; [.17D7.0020.0007.0052][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER R, LATIN SMALL LETTER R>
+0052 0052 ; [.17D7.0020.0008.0052] # <LATIN CAPITAL LETTER R, LATIN CAPITAL LETTER R>
+0073 0068 ; [.17FA.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0073 0048 ; [.17FA.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER H>
+0053 0068 ; [.17FA.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+0053 0048 ; [.17FA.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
+0074 0068 ; [.181A.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
+0074 0048 ; [.181A.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER H>
+0054 0068 ; [.181A.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
+0054 0048 ; [.181A.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H>
+0078 0068 ; [.1864.0020.0002.0078] # <LATIN SMALL LETTER X, LATIN SMALL LETTER H>
+0078 0048 ; [.1864.0020.0007.0078][.0000.0000.0002.0000] # <LATIN SMALL LETTER X, LATIN CAPITAL LETTER H>
+0058 0068 ; [.1864.0020.0007.0058][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER X, LATIN SMALL LETTER H>
+0058 0048 ; [.1864.0020.0008.0058] # <LATIN CAPITAL LETTER X, LATIN CAPITAL LETTER H>
+007A 0068 ; [.1896.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER H>
+007A 0048 ; [.1896.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER H>
+005A 0068 ; [.1896.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER H>
+005A 0048 ; [.1896.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER H>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sr.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sr.pl
new file mode 100644
index 00000000000..4c4cfa1c211
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sr.pl
@@ -0,0 +1,49 @@
++{
+ locale_version => 0.88,
+ suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
+ 0x0416, 0x0436, 0x0417, 0x0437, 0x0418, 0x0438, 0x0406, 0x0456,
+ 0x041E, 0x043E, 0x04E8, 0x04E9, 0x041A, 0x043A, 0x0423, 0x0443,
+ 0x0427, 0x0447, 0x042B, 0x044B, 0x042D, 0x044D, 0x0474, 0x0475],
+ entry => <<'ENTRY', # for DUCET v6.1.0
+04D1 ; [.1976.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.1976.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.1976.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.1976.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04DB ; [.1982.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA ; [.1982.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+0453 ; [.1996.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
+0403 ; [.1996.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
+04D7 ; [.19BE.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.19BE.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD ; [.19CA.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.19CA.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF ; [.19D7.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19D7.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+04E5 ; [.19EF.0020.0002.0438][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER I WITH DIAERESIS
+04E4 ; [.19EF.0020.0008.0418][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+0457 ; [.19FB.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
+0407 ; [.19FB.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
+0439 ; [.19EF.0020.0002.0438][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT I
+0419 ; [.19EF.0020.0008.0418][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT I
+04E7 ; [.1A5C.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A5C.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04EB ; [.1A64.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA ; [.1A64.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+045C ; [.1A0D.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
+040C ; [.1A0D.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
+045E ; [.1A9E.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
+040E ; [.1A9E.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
+04F1 ; [.1A9E.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0 ; [.1A9E.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3 ; [.1A9E.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2 ; [.1A9E.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F5 ; [.1AF1.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1AF1.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9 ; [.1B24.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1B24.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED ; [.1B39.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B39.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+0477 ; [.1B6F.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476 ; [.1B6F.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv.pl
index c7f0ee74fe7..8f22bb00314 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv.pl
@@ -1,86 +1,87 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0111 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0 ; [.15E4.0022.0002.00F0] # LATIN SMALL LETTER ETH
-00D0 ; [.15E4.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
-00FE ; [.17C9.0020.0003.00FE][.1667.0020.0003.00FE] # LATIN SMALL LETTER THORN
-00DE ; [.17C9.0020.0009.00DE][.1667.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-0077 ; [.1812.0020.0003.0077] # LATIN SMALL LETTER W
-0057 ; [.1812.0020.0009.0057] # LATIN CAPITAL LETTER W
-00FC ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171 ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170 ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E5 ; [.1845.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1845.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5 ; [.1845.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1845.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B ; [.1845.0020.0008.00C5] # ANGSTROM SIGN
-01FB ; [.1845.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA ; [.1845.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-00E4 ; [.1846.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1846.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4 ; [.1846.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1846.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF ; [.1846.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE ; [.1846.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00E6 ; [.1846.0021.0002.00E6] # LATIN SMALL LETTER AE
-00C6 ; [.1846.0021.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D ; [.1846.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD ; [.1846.0021.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC ; [.1846.0021.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3 ; [.1846.0021.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2 ; [.1846.0021.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-0119 ; [.1846.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1846.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118 ; [.1846.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1846.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-00F6 ; [.1847.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1847.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1847.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1847.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1847.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1847.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00F8 ; [.1847.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1847.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8 ; [.1847.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1847.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF ; [.1847.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE ; [.1847.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-0151 ; [.1847.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1847.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150 ; [.1847.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1847.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153 ; [.1847.0023.0002.0153] # LATIN SMALL LIGATURE OE
-0152 ; [.1847.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
-00F4 ; [.1847.0024.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1847.0024.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4 ; [.1847.0024.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1847.0024.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3 ; [.1847.0024.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2 ; [.1847.0024.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1 ; [.1847.0024.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0 ; [.1847.0024.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7 ; [.1847.0024.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6 ; [.1847.0024.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5 ; [.1847.0024.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4 ; [.1847.0024.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9 ; [.1847.0024.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8 ; [.1847.0024.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0111 ; [.1616.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1616.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.1616.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1616.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.1616.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0 ; [.1616.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+00FE ; [.17FB.0020.0003.00FE][.1699.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE ; [.17FB.0020.0009.00DE][.1699.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+0077 ; [.1844.0021.0002.0077] # LATIN SMALL LETTER W
+0057 ; [.1844.0021.0008.0057] # LATIN CAPITAL LETTER W
+00FC ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1865.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1865.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1865.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1865.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1865.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1865.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1865.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1865.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.1865.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1865.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.1865.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1865.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E5 ; [.18EB.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.18EB.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.18EB.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.18EB.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.18EB.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.18EB.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.18EB.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4 ; [.18EC.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.18EC.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.18EC.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.18EC.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.18EC.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.18EC.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E6 ; [.18EC.0021.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.18EC.0021.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.18EC.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.18EC.0021.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.18EC.0021.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.18EC.0021.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.18EC.0021.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+0119 ; [.18EC.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.18EC.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.18EC.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.18EC.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F6 ; [.18ED.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.18ED.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.18ED.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.18ED.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.18ED.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.18ED.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8 ; [.18ED.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.18ED.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.18ED.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.18ED.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.18ED.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.18ED.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+0151 ; [.18ED.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.18ED.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.18ED.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.18ED.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.18ED.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152 ; [.18ED.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00F4 ; [.18ED.0024.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.18ED.0024.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.18ED.0024.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.18ED.0024.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.18ED.0024.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.18ED.0024.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.18ED.0024.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.18ED.0024.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.18ED.0024.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.18ED.0024.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.18ED.0024.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.18ED.0024.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.18ED.0024.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.18ED.0024.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv_refo.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv_refo.pl
new file mode 100644
index 00000000000..2d4b583b9d7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sv_refo.pl
@@ -0,0 +1,85 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0111 ; [.1616.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1616.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.1616.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1616.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.1616.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0 ; [.1616.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+00FE ; [.17FB.0020.0003.00FE][.1699.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE ; [.17FB.0020.0009.00DE][.1699.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+00FC ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1865.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1865.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.1865.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.1865.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.1865.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.1865.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.1865.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.1865.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.1865.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.1865.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171 ; [.1865.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1865.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.1865.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1865.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E5 ; [.18EB.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.18EB.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.18EB.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.18EB.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.18EB.0020.0008.00C5] # ANGSTROM SIGN
+01FB ; [.18EB.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.18EB.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4 ; [.18EC.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.18EC.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.18EC.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.18EC.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.18EC.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.18EC.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E6 ; [.18EC.0021.0002.00E6] # LATIN SMALL LETTER AE
+00C6 ; [.18EC.0021.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.18EC.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.18EC.0021.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.18EC.0021.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.18EC.0021.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.18EC.0021.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+0119 ; [.18EC.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.18EC.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.18EC.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.18EC.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F6 ; [.18ED.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.18ED.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.18ED.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.18ED.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.18ED.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.18ED.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8 ; [.18ED.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.18ED.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.18ED.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.18ED.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.18ED.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.18ED.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+0151 ; [.18ED.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.18ED.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.18ED.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.18ED.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153 ; [.18ED.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152 ; [.18ED.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00F4 ; [.18ED.0024.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.18ED.0024.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.18ED.0024.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.18ED.0024.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.18ED.0024.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.18ED.0024.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.18ED.0024.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.18ED.0024.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.18ED.0024.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.18ED.0024.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.18ED.0024.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.18ED.0024.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.18ED.0024.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.18ED.0024.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sw.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sw.pl
deleted file mode 100644
index 32ac3af5dd5..00000000000
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/sw.pl
+++ /dev/null
@@ -1,28 +0,0 @@
-+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0063 0068 ; [.15BA.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0043 0068 ; [.15BA.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.15BA.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-0064 0068 ; [.15E5.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
-0044 0068 ; [.15E5.0020.0007.0044] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
-0044 0048 ; [.15E5.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
-0067 0068 ; [.1645.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H>
-0047 0068 ; [.1645.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H>
-0047 0048 ; [.1645.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H>
-006B 0068 ; [.16B3.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER H>
-004B 0068 ; [.16B3.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER H>
-004B 0048 ; [.16B3.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER H>
-006E 0067 0027 ; [.1703.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G, APOSTROPHE>
-004E 0067 0027 ; [.1703.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G, APOSTROPHE>
-004E 0047 0027 ; [.1703.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G, APOSTROPHE>
-006E 0079 ; [.1704.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-004E 0079 ; [.1704.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 0059 ; [.1704.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-0073 0068 ; [.17A7.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
-0053 0068 ; [.17A7.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
-0053 0048 ; [.17A7.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
-0074 0068 ; [.17CA.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
-0054 0068 ; [.17CA.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
-0054 0048 ; [.17CA.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H>
-ENTRY
-};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ta.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ta.pl
new file mode 100644
index 00000000000..bf017292ba2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ta.pl
@@ -0,0 +1,31 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0B82 ; [.212F.0020.0002.0B82][.FFF1.0000.0000.0000] # TAMIL SIGN ANUSVARA
+0B95 0BCD ; [.2130.0020.0002.0B95][.FFF1.0000.0000.0000] # <TAMIL LETTER KA, TAMIL SIGN VIRAMA>
+0B99 0BCD ; [.2131.0020.0002.0B99][.FFF1.0000.0000.0000] # <TAMIL LETTER NGA, TAMIL SIGN VIRAMA>
+0B9A 0BCD ; [.2132.0020.0002.0B9A][.FFF1.0000.0000.0000] # <TAMIL LETTER CA, TAMIL SIGN VIRAMA>
+0B9E 0BCD ; [.2133.0020.0002.0B9E][.FFF1.0000.0000.0000] # <TAMIL LETTER NYA, TAMIL SIGN VIRAMA>
+0B9F 0BCD ; [.2134.0020.0002.0B9F][.FFF1.0000.0000.0000] # <TAMIL LETTER TTA, TAMIL SIGN VIRAMA>
+0BA3 0BCD ; [.2135.0020.0002.0BA3][.FFF1.0000.0000.0000] # <TAMIL LETTER NNA, TAMIL SIGN VIRAMA>
+0BA4 0BCD ; [.2136.0020.0002.0BA4][.FFF1.0000.0000.0000] # <TAMIL LETTER TA, TAMIL SIGN VIRAMA>
+0BA8 0BCD ; [.2137.0020.0002.0BA8][.FFF1.0000.0000.0000] # <TAMIL LETTER NA, TAMIL SIGN VIRAMA>
+0BAA 0BCD ; [.2138.0020.0002.0BAA][.FFF1.0000.0000.0000] # <TAMIL LETTER PA, TAMIL SIGN VIRAMA>
+0BAE 0BCD ; [.2139.0020.0002.0BAE][.FFF1.0000.0000.0000] # <TAMIL LETTER MA, TAMIL SIGN VIRAMA>
+0BAF 0BCD ; [.213A.0020.0002.0BAF][.FFF1.0000.0000.0000] # <TAMIL LETTER YA, TAMIL SIGN VIRAMA>
+0BB0 0BCD ; [.213B.0020.0002.0BB0][.FFF1.0000.0000.0000] # <TAMIL LETTER RA, TAMIL SIGN VIRAMA>
+0BB2 0BCD ; [.213C.0020.0002.0BB2][.FFF1.0000.0000.0000] # <TAMIL LETTER LA, TAMIL SIGN VIRAMA>
+0BB5 0BCD ; [.213D.0020.0002.0BB5][.FFF1.0000.0000.0000] # <TAMIL LETTER VA, TAMIL SIGN VIRAMA>
+0BB4 0BCD ; [.213E.0020.0002.0BB4][.FFF1.0000.0000.0000] # <TAMIL LETTER LLLA, TAMIL SIGN VIRAMA>
+0BB3 0BCD ; [.213F.0020.0002.0BB3][.FFF1.0000.0000.0000] # <TAMIL LETTER LLA, TAMIL SIGN VIRAMA>
+0BB1 0BCD ; [.2140.0020.0002.0BB1][.FFF1.0000.0000.0000] # <TAMIL LETTER RRA, TAMIL SIGN VIRAMA>
+0BA9 0BCD ; [.2141.0020.0002.0BA9][.FFF1.0000.0000.0000] # <TAMIL LETTER NNNA, TAMIL SIGN VIRAMA>
+0B9C 0BCD ; [.2142.0020.0002.0B9C][.FFF1.0000.0000.0000] # <TAMIL LETTER JA, TAMIL SIGN VIRAMA>
+0BB6 0BCD ; [.2143.0020.0002.0BB6][.FFF1.0000.0000.0000] # <TAMIL LETTER SHA, TAMIL SIGN VIRAMA>
+0BB7 0BCD ; [.2144.0020.0002.0BB7][.FFF1.0000.0000.0000] # <TAMIL LETTER SSA, TAMIL SIGN VIRAMA>
+0BB8 0BCD ; [.2145.0020.0002.0BB8][.FFF1.0000.0000.0000] # <TAMIL LETTER SA, TAMIL SIGN VIRAMA>
+0BB9 0BCD ; [.2146.0020.0002.0BB9][.FFF1.0000.0000.0000] # <TAMIL LETTER HA, TAMIL SIGN VIRAMA>
+0B95 0BCD 0BB7 0BCD ; [.2147.0020.0002.0B95][.FFF1.0000.0000.0000] # <TAMIL LETTER KA, TAMIL SIGN VIRAMA, TAMIL LETTER SSA, TAMIL SIGN VIRAMA>
+0B95 0BCD 0BB7 ; [.2147.0020.0002.0B95][.FFF2.0000.0000.0000] # <TAMIL LETTER KA, TAMIL SIGN VIRAMA, TAMIL LETTER SSA>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/te.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/te.pl
new file mode 100644
index 00000000000..1e27b67e765
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/te.pl
@@ -0,0 +1,8 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0C01 ; [.2164.0020.0002.0C01][.FFF1.0000.0000.0000] # TELUGU SIGN CANDRABINDU
+0C02 ; [.2164.0020.0002.0C02][.FFF2.0000.0000.0000] # TELUGU SIGN ANUSVARA
+0C03 ; [.2164.0020.0002.0C03][.FFF3.0000.0000.0000] # TELUGU SIGN VISARGA
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/th.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/th.pl
new file mode 100644
index 00000000000..a1794cb87bb
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/th.pl
@@ -0,0 +1,16 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0E2F ; [*03BC.0020.0002.0E2F][*FFF1.0000.0000.0000] # THAI CHARACTER PAIYANNOI
+0E46 ; [*03BC.0020.0002.0E46][*FFF2.0000.0000.0000] # THAI CHARACTER MAIYAMOK
+0E4C ; [.0000.00FF.0002.0E4C] # THAI CHARACTER THANTHAKHAT
+0E47 ; [.0000.0100.0002.0E47] # THAI CHARACTER MAITAIKHU
+0E48 ; [.0000.0101.0002.0E48] # THAI CHARACTER MAI EK
+0E49 ; [.0000.0102.0002.0E49] # THAI CHARACTER MAI THO
+0E4A ; [.0000.0103.0002.0E4A] # THAI CHARACTER MAI TRI
+0E4B ; [.0000.0104.0002.0E4B] # THAI CHARACTER MAI CHATTAWA
+0E4D ; [.249B.0020.0002.0E4D] # THAI CHARACTER NIKHAHIT
+0E45 ; [.249E.0020.0003.0E45] # THAI CHARACTER LAKKHANGYAO
+0E3A ; [.24AC.0020.0002.0E3A] # THAI CHARACTER PHINTHU
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tn.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tn.pl
index e21752e9c0a..f6c4673aa2e 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tn.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tn.pl
@@ -1,36 +1,37 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-00EA ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.1600.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.1600.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC1 ; [.1600.0020.0002.00EA][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0 ; [.1600.0020.0008.00CA][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EBF ; [.1600.0020.0002.00EA][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE ; [.1600.0020.0008.00CA][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC5 ; [.1600.0020.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4 ; [.1600.0020.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3 ; [.1600.0020.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2 ; [.1600.0020.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7 ; [.1600.0020.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.1600.0020.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-00F4 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3 ; [.1725.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2 ; [.1725.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1 ; [.1725.0020.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0 ; [.1725.0020.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7 ; [.1725.0020.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6 ; [.1725.0020.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5 ; [.1725.0020.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4 ; [.1725.0020.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9 ; [.1725.0020.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8 ; [.1725.0020.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-0161 ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160 ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+00EA ; [.1632.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1632.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1632.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1632.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC1 ; [.1632.0020.0002.00EA][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1632.0020.0008.00CA][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EBF ; [.1632.0020.0002.00EA][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1632.0020.0008.00CA][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC5 ; [.1632.0020.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1632.0020.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1632.0020.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1632.0020.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1632.0020.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1632.0020.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+00F4 ; [.1757.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1757.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.1757.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1757.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.1757.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.1757.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.1757.0020.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.1757.0020.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.1757.0020.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.1757.0020.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.1757.0020.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.1757.0020.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.1757.0020.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.1757.0020.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0161 ; [.17D9.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17D9.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17D9.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17D9.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/to.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/to.pl
index 54e4fbbdabf..f4ecb843419 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/to.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/to.pl
@@ -1,61 +1,62 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-006E 0067 ; [.1703.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
-004E 0067 ; [.1703.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
-004E 0047 ; [.1703.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
-014B ; [.1703.0020.001C.014B] # LATIN SMALL LETTER ENG
-014A ; [.1703.0020.001D.014A] # LATIN CAPITAL LETTER ENG
-02BB ; [.1845.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
-02BD ; [.1845.0020.0003.02BD] # MODIFIER LETTER REVERSED COMMA
-0101 ; [.15A3.0021.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15A3.0021.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-00E1 ; [.15A3.0021.0003.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15A3.0021.0003.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15A3.0021.0003.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0100 ; [.15A3.0021.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15A3.0021.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00C1 ; [.15A3.0021.0009.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15A3.0021.0009.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15A3.0021.0009.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0113 ; [.15FF.0021.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.15FF.0021.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-00E9 ; [.15FF.0021.0003.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.15FF.0021.0003.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.15FF.0021.0003.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0112 ; [.15FF.0021.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.15FF.0021.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00C9 ; [.15FF.0021.0009.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.15FF.0021.0009.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.15FF.0021.0009.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-012B ; [.1680.0021.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.1680.0021.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-00ED ; [.1680.0021.0003.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1680.0021.0003.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1680.0021.0003.00ED] # LATIN SMALL LETTER I WITH ACUTE
-012A ; [.1680.0021.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.1680.0021.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00CD ; [.1680.0021.0009.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1680.0021.0009.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1680.0021.0009.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-014D ; [.1724.0021.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1724.0021.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-00F3 ; [.1724.0021.0003.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1724.0021.0003.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1724.0021.0003.00F3] # LATIN SMALL LETTER O WITH ACUTE
-014C ; [.1724.0021.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1724.0021.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00D3 ; [.1724.0021.0009.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1724.0021.0009.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1724.0021.0009.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-016B ; [.17E9.0021.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.17E9.0021.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-00FA ; [.17E9.0021.0003.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.17E9.0021.0003.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.17E9.0021.0003.00FA] # LATIN SMALL LETTER U WITH ACUTE
-016A ; [.17E9.0021.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.17E9.0021.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-00DA ; [.17E9.0021.0009.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.17E9.0021.0009.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.17E9.0021.0009.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+006E 0067 ; [.1735.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
+004E 0067 ; [.1735.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+004E 0047 ; [.1735.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
+014B ; [.1735.0020.001C.014B] # LATIN SMALL LETTER ENG
+014A ; [.1735.0020.001D.014A] # LATIN CAPITAL LETTER ENG
+02BB ; [.187B.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
+02BD ; [.187B.0020.0003.02BD] # MODIFIER LETTER REVERSED COMMA
+0101 ; [.15D4.0021.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15D4.0021.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+00E1 ; [.15D4.0021.0003.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15D4.0021.0003.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15D4.0021.0003.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0100 ; [.15D4.0021.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15D4.0021.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00C1 ; [.15D4.0021.0009.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15D4.0021.0009.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15D4.0021.0009.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0113 ; [.1631.0021.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1631.0021.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+00E9 ; [.1631.0021.0003.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1631.0021.0003.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1631.0021.0003.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0112 ; [.1631.0021.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1631.0021.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00C9 ; [.1631.0021.0009.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1631.0021.0009.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1631.0021.0009.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+012B ; [.16B2.0021.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16B2.0021.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+00ED ; [.16B2.0021.0003.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16B2.0021.0003.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16B2.0021.0003.00ED] # LATIN SMALL LETTER I WITH ACUTE
+012A ; [.16B2.0021.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16B2.0021.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00CD ; [.16B2.0021.0009.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16B2.0021.0009.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16B2.0021.0009.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+014D ; [.1756.0021.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1756.0021.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+00F3 ; [.1756.0021.0003.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1756.0021.0003.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1756.0021.0003.00F3] # LATIN SMALL LETTER O WITH ACUTE
+014C ; [.1756.0021.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1756.0021.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00D3 ; [.1756.0021.0009.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1756.0021.0009.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1756.0021.0009.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+016B ; [.181B.0021.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.181B.0021.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+00FA ; [.181B.0021.0003.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.181B.0021.0003.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.181B.0021.0003.00FA] # LATIN SMALL LETTER U WITH ACUTE
+016A ; [.181B.0021.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.181B.0021.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+00DA ; [.181B.0021.0009.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.181B.0021.0009.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.181B.0021.0009.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tr.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tr.pl
index 4d2aa64611a..270dee58b0f 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tr.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/tr.pl
@@ -1,45 +1,46 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-00E7 ; [.15D2.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
-0063 0327 ; [.15D2.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
-00C7 ; [.15D2.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
-0043 0327 ; [.15D2.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
-011F ; [.1645.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
-0067 0306 ; [.1645.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
-011E ; [.1645.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
-0047 0306 ; [.1645.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
-0131 ; [.167F.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
-0049 ; [.167F.0020.0008.0049] # LATIN CAPITAL LETTER I
-00CC ; [.167F.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE
-00CD ; [.167F.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
-00CE ; [.167F.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-00CF ; [.167F.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS
-012A ; [.167F.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
-012C ; [.167F.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
-012E ; [.167F.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK
-0130 ; [.1680.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
-0049 0307 ; [.1680.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
-00F6 ; [.1725.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1725.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6 ; [.1725.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1725.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B ; [.1725.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A ; [.1725.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-015F ; [.17A7.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
-0073 0327 ; [.17A7.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
-015E ; [.17A7.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
-0053 0327 ; [.17A7.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
-00FC ; [.17EA.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.17EA.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.17EA.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.17EA.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC ; [.17EA.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.17EA.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8 ; [.17EA.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.17EA.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6 ; [.17EA.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.17EA.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA ; [.17EA.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.17EA.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+00E7 ; [.1603.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+0063 0327 ; [.1603.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+00C7 ; [.1603.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+0043 0327 ; [.1603.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+011F ; [.1677.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+0067 0306 ; [.1677.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+011E ; [.1677.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0047 0306 ; [.1677.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0131 ; [.16B1.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
+0049 ; [.16B1.0020.0008.0049] # LATIN CAPITAL LETTER I
+00CC ; [.16B1.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE
+00CD ; [.16B1.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
+00CE ; [.16B1.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+00CF ; [.16B1.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS
+012A ; [.16B1.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
+012C ; [.16B1.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
+012E ; [.16B1.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK
+0130 ; [.16B2.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0049 0307 ; [.16B2.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+00F6 ; [.1757.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1757.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1757.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1757.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1757.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1757.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+015F ; [.17D9.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.17D9.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+015E ; [.17D9.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.17D9.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+00FC ; [.181C.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.181C.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.181C.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.181C.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC ; [.181C.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.181C.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8 ; [.181C.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.181C.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6 ; [.181C.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.181C.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA ; [.181C.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.181C.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/uk.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/uk.pl
index 9f24b3250e6..d50bd752778 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/uk.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/uk.pl
@@ -1,6 +1,47 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0491 ; [.1964.0020.0002.0491] # CYRILLIC SMALL LETTER GHE WITH UPTURN
-0490 ; [.1964.0020.0008.0490] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+ locale_version => 0.88,
+ suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
+ 0x0416, 0x0436, 0x0417, 0x0437, 0x041E, 0x043E, 0x04E8, 0x04E9,
+ 0x041A, 0x043A, 0x0423, 0x0443, 0x0427, 0x0447, 0x042B, 0x044B,
+ 0x042D, 0x044D, 0x0474, 0x0475],
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0491 ; [.1997.0020.0002.0491] # CYRILLIC SMALL LETTER GHE WITH UPTURN
+0490 ; [.1997.0020.0008.0490] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+044C ; [.1B48.0020.0002.044C] # CYRILLIC SMALL LETTER SOFT SIGN
+042C ; [.1B48.0020.0008.042C] # CYRILLIC CAPITAL LETTER SOFT SIGN
+04D1 ; [.1976.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.1976.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.1976.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.1976.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04DB ; [.1982.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA ; [.1982.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+0453 ; [.1996.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
+0403 ; [.1996.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
+04D7 ; [.19BE.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.19BE.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD ; [.19CA.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.19CA.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF ; [.19D7.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19D7.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+04E7 ; [.1A5C.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A5C.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04EB ; [.1A64.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA ; [.1A64.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+045C ; [.1A0D.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
+040C ; [.1A0D.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
+045E ; [.1A9E.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
+040E ; [.1A9E.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
+04F1 ; [.1A9E.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0 ; [.1A9E.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3 ; [.1A9E.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2 ; [.1A9E.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F5 ; [.1AF1.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1AF1.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9 ; [.1B24.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1B24.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED ; [.1B39.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B39.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+0477 ; [.1B6F.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476 ; [.1B6F.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ur.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ur.pl
new file mode 100644
index 00000000000..c57712050e1
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/ur.pl
@@ -0,0 +1,89 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0627 ; [.1C7E.0020.0002.0627] # ARABIC LETTER ALEF
+0623 ; [.1C7E.0021.0002.0623] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+0627 0654 ; [.1C7E.0021.0002.0623] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+0622 ; [.1C7E.0020.0002.0622][.FFF1.0000.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
+0627 0653 ; [.1C7E.0020.0002.0622][.FFF1.0000.0000.0000] # ARABIC LETTER ALEF WITH MADDA ABOVE
+0628 ; [.1C7E.0020.0002.0628][.FFF2.0000.0000.0000] # ARABIC LETTER BEH
+0628 06BE ; [.1C7E.0020.0002.0628][.FFF3.0000.0000.0000] # <ARABIC LETTER BEH, ARABIC LETTER HEH DOACHASHMEE>
+067E ; [.1C7E.0020.0002.067E][.FFF4.0000.0000.0000] # ARABIC LETTER PEH
+067E 06BE ; [.1C7E.0020.0002.067E][.FFF5.0000.0000.0000] # <ARABIC LETTER PEH, ARABIC LETTER HEH DOACHASHMEE>
+062A ; [.1C7E.0020.0002.062A][.FFF6.0000.0000.0000] # ARABIC LETTER TEH
+062A 06BE ; [.1C7E.0020.0002.062A][.FFF7.0000.0000.0000] # <ARABIC LETTER TEH, ARABIC LETTER HEH DOACHASHMEE>
+0679 ; [.1C7E.0020.0002.0679][.FFF8.0000.0000.0000] # ARABIC LETTER TTEH
+0679 06BE ; [.1C7E.0020.0002.0679][.FFF9.0000.0000.0000] # <ARABIC LETTER TTEH, ARABIC LETTER HEH DOACHASHMEE>
+062B ; [.1C7E.0020.0002.062B][.FFFA.0000.0000.0000] # ARABIC LETTER THEH
+062C ; [.1C7E.0020.0002.062C][.FFFB.0000.0000.0000] # ARABIC LETTER JEEM
+062C 06BE ; [.1C7F.0020.0002.062C][.FFF1.0000.0000.0000] # <ARABIC LETTER JEEM, ARABIC LETTER HEH DOACHASHMEE>
+0686 ; [.1C7F.0020.0002.0686][.FFF2.0000.0000.0000] # ARABIC LETTER TCHEH
+0686 06BE ; [.1C7F.0020.0002.0686][.FFF3.0000.0000.0000] # <ARABIC LETTER TCHEH, ARABIC LETTER HEH DOACHASHMEE>
+062D ; [.1C7F.0020.0002.062D][.FFF4.0000.0000.0000] # ARABIC LETTER HAH
+062E ; [.1C7F.0020.0002.062E][.FFF5.0000.0000.0000] # ARABIC LETTER KHAH
+062F ; [.1C7F.0020.0002.062F][.FFF6.0000.0000.0000] # ARABIC LETTER DAL
+062F 06BE ; [.1C7F.0020.0002.062F][.FFF7.0000.0000.0000] # <ARABIC LETTER DAL, ARABIC LETTER HEH DOACHASHMEE>
+0688 ; [.1C7F.0020.0002.0688][.FFF8.0000.0000.0000] # ARABIC LETTER DDAL
+0688 06BE ; [.1C7F.0020.0002.0688][.FFF9.0000.0000.0000] # <ARABIC LETTER DDAL, ARABIC LETTER HEH DOACHASHMEE>
+0630 ; [.1C7F.0020.0002.0630][.FFFA.0000.0000.0000] # ARABIC LETTER THAL
+0631 ; [.1C7F.0020.0002.0631][.FFFB.0000.0000.0000] # ARABIC LETTER REH
+0631 06BE ; [.1C80.0020.0002.0631][.FFF1.0000.0000.0000] # <ARABIC LETTER REH, ARABIC LETTER HEH DOACHASHMEE>
+0691 ; [.1C80.0020.0002.0691][.FFF2.0000.0000.0000] # ARABIC LETTER RREH
+0691 06BE ; [.1C80.0020.0002.0691][.FFF3.0000.0000.0000] # <ARABIC LETTER RREH, ARABIC LETTER HEH DOACHASHMEE>
+0632 ; [.1C80.0020.0002.0632][.FFF4.0000.0000.0000] # ARABIC LETTER ZAIN
+0698 ; [.1C80.0020.0002.0698][.FFF5.0000.0000.0000] # ARABIC LETTER JEH
+0633 ; [.1C80.0020.0002.0633][.FFF6.0000.0000.0000] # ARABIC LETTER SEEN
+0634 ; [.1C80.0020.0002.0634][.FFF7.0000.0000.0000] # ARABIC LETTER SHEEN
+0635 ; [.1C80.0020.0002.0635][.FFF8.0000.0000.0000] # ARABIC LETTER SAD
+0636 ; [.1C80.0020.0002.0636][.FFF9.0000.0000.0000] # ARABIC LETTER DAD
+0637 ; [.1C80.0020.0002.0637][.FFFA.0000.0000.0000] # ARABIC LETTER TAH
+0638 ; [.1C80.0020.0002.0638][.FFFB.0000.0000.0000] # ARABIC LETTER ZAH
+0639 ; [.1C81.0020.0002.0639][.FFF1.0000.0000.0000] # ARABIC LETTER AIN
+063A ; [.1C81.0020.0002.063A][.FFF2.0000.0000.0000] # ARABIC LETTER GHAIN
+0641 ; [.1C81.0020.0002.0641][.FFF3.0000.0000.0000] # ARABIC LETTER FEH
+0642 ; [.1C81.0020.0002.0642][.FFF4.0000.0000.0000] # ARABIC LETTER QAF
+06A9 ; [.1C81.0020.0002.06A9][.FFF5.0000.0000.0000] # ARABIC LETTER KEHEH
+06A9 06BE ; [.1C81.0020.0002.06A9][.FFF6.0000.0000.0000] # <ARABIC LETTER KEHEH, ARABIC LETTER HEH DOACHASHMEE>
+06AF ; [.1C81.0020.0002.06AF][.FFF7.0000.0000.0000] # ARABIC LETTER GAF
+06AF 06BE ; [.1C81.0020.0002.06AF][.FFF8.0000.0000.0000] # <ARABIC LETTER GAF, ARABIC LETTER HEH DOACHASHMEE>
+0644 ; [.1C81.0020.0002.0644][.FFF9.0000.0000.0000] # ARABIC LETTER LAM
+0644 06BE ; [.1C81.0020.0002.0644][.FFFA.0000.0000.0000] # <ARABIC LETTER LAM, ARABIC LETTER HEH DOACHASHMEE>
+0645 ; [.1C81.0020.0002.0645][.FFFB.0000.0000.0000] # ARABIC LETTER MEEM
+0645 06BE ; [.1C82.0020.0002.0645][.FFF1.0000.0000.0000] # <ARABIC LETTER MEEM, ARABIC LETTER HEH DOACHASHMEE>
+0646 ; [.1C82.0020.0002.0646][.FFF2.0000.0000.0000] # ARABIC LETTER NOON
+0646 06BE ; [.1C82.0020.0002.0646][.FFF3.0000.0000.0000] # <ARABIC LETTER NOON, ARABIC LETTER HEH DOACHASHMEE>
+06BA ; [.1C82.0020.0002.06BA][.FFF4.0000.0000.0000] # ARABIC LETTER NOON GHUNNA
+06BA 06BE ; [.1C82.0020.0002.06BA][.FFF5.0000.0000.0000] # <ARABIC LETTER NOON GHUNNA, ARABIC LETTER HEH DOACHASHMEE>
+0648 ; [.1C82.0020.0002.0648][.FFF6.0000.0000.0000] # ARABIC LETTER WAW
+0624 ; [.1C82.0021.0002.0624][.FFF6.0000.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
+0648 0654 ; [.1C82.0021.0002.0624][.FFF6.0000.0000.0000] # ARABIC LETTER WAW WITH HAMZA ABOVE
+0648 06BE ; [.1C82.0020.0002.0648][.FFF7.0000.0000.0000] # <ARABIC LETTER WAW, ARABIC LETTER HEH DOACHASHMEE>
+06C1 ; [.1C82.0020.0002.06C1][.FFF8.0000.0000.0000] # ARABIC LETTER HEH GOAL
+06C2 ; [.1C82.0021.0002.06C2][.FFF8.0000.0000.0000] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
+06C1 0654 ; [.1C82.0021.0002.06C2][.FFF8.0000.0000.0000] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
+06BE ; [.1C82.0020.0002.06BE][.FFF9.0000.0000.0000] # ARABIC LETTER HEH DOACHASHMEE
+06C3 ; [.1C82.0020.0002.06C3][.FFFA.0000.0000.0000] # ARABIC LETTER TEH MARBUTA GOAL
+0621 ; [.1C82.0020.0002.0621][.FFFB.0000.0000.0000] # ARABIC LETTER HAMZA
+06CC ; [.1C83.0020.0002.06CC][.FFF1.0000.0000.0000] # ARABIC LETTER FARSI YEH
+0626 ; [.1C83.0021.0002.0626][.FFF1.0000.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
+064A 0654 ; [.1C83.0021.0002.0626][.FFF1.0000.0000.0000] # ARABIC LETTER YEH WITH HAMZA ABOVE
+06CC 06BE ; [.1C83.0020.0002.06CC][.FFF2.0000.0000.0000] # <ARABIC LETTER FARSI YEH, ARABIC LETTER HEH DOACHASHMEE>
+06D2 ; [.1C83.0020.0002.06D2][.FFF3.0000.0000.0000] # ARABIC LETTER YEH BARREE
+06D3 ; [.1C83.0021.0002.06D3][.FFF3.0000.0000.0000] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
+06D2 0654 ; [.1C83.0021.0002.06D3][.FFF3.0000.0000.0000] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
+0652 ; [.0000.00AF.0002.0652] # ARABIC SUKUN
+064E ; [.0000.00B0.0002.064E] # ARABIC FATHA
+0650 ; [.0000.00B1.0002.0650] # ARABIC KASRA
+064F ; [.0000.00B2.0002.064F] # ARABIC DAMMA
+0670 ; [.0000.00B3.0002.0670] # ARABIC LETTER SUPERSCRIPT ALEF
+0656 ; [.0000.00B4.0002.0656] # ARABIC SUBSCRIPT ALEF
+0657 ; [.0000.00B5.0002.0657] # ARABIC INVERTED DAMMA
+064B ; [.0000.00B6.0002.064B] # ARABIC FATHATAN
+064D ; [.0000.00B7.0002.064D] # ARABIC KASRATAN
+064C ; [.0000.00B8.0002.064C] # ARABIC DAMMATAN
+0654 ; [.0000.00B9.0002.0654] # ARABIC HAMZA ABOVE
+0651 ; [.0000.00BA.0002.0651] # ARABIC SHADDA
+0658 ; [.0000.00BB.0002.0658] # ARABIC MARK NOON GHUNNA
+0653 ; [.0000.00BC.0002.0653] # ARABIC MADDAH ABOVE
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/vi.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/vi.pl
index d03985eaea8..6a5508b6edc 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/vi.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/vi.pl
@@ -1,219 +1,220 @@
+{
+ locale_version => 0.88,
# 0306 is not a Vietnamese tone, just to avoid \x{303} eq \x{306}.
- entry => <<'ENTRY', # for DUCET v6.0.0
+ entry => <<'ENTRY', # for DUCET v6.1.0
0309 ; [.0000.0036.0002.0309] # COMBINING HOOK ABOVE
-1EA3 ; [.15A3.0020.0002.0061][.0000.0036.0002.0309] # LATIN SMALL LETTER A WITH HOOK ABOVE
-1EA2 ; [.15A3.0020.0008.0041][.0000.0036.0002.0309] # LATIN CAPITAL LETTER A WITH HOOK ABOVE
-1EBB ; [.15FF.0020.0002.0065][.0000.0036.0002.0309] # LATIN SMALL LETTER E WITH HOOK ABOVE
-1EBA ; [.15FF.0020.0008.0045][.0000.0036.0002.0309] # LATIN CAPITAL LETTER E WITH HOOK ABOVE
-1EC9 ; [.1680.0020.0002.0069][.0000.0036.0002.0309] # LATIN SMALL LETTER I WITH HOOK ABOVE
-1EC8 ; [.1680.0020.0008.0049][.0000.0036.0002.0309] # LATIN CAPITAL LETTER I WITH HOOK ABOVE
-1ECF ; [.1724.0020.0002.006F][.0000.0036.0002.0309] # LATIN SMALL LETTER O WITH HOOK ABOVE
-1ECE ; [.1724.0020.0008.004F][.0000.0036.0002.0309] # LATIN CAPITAL LETTER O WITH HOOK ABOVE
-1EE7 ; [.17E9.0020.0002.0075][.0000.0036.0002.0309] # LATIN SMALL LETTER U WITH HOOK ABOVE
-1EE6 ; [.17E9.0020.0008.0055][.0000.0036.0002.0309] # LATIN CAPITAL LETTER U WITH HOOK ABOVE
-1EF7 ; [.1833.0020.0002.0079][.0000.0036.0002.0309] # LATIN SMALL LETTER Y WITH HOOK ABOVE
-1EF6 ; [.1833.0020.0008.0059][.0000.0036.0002.0309] # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
+1EA3 ; [.15D4.0020.0002.0061][.0000.0036.0002.0309] # LATIN SMALL LETTER A WITH HOOK ABOVE
+1EA2 ; [.15D4.0020.0008.0041][.0000.0036.0002.0309] # LATIN CAPITAL LETTER A WITH HOOK ABOVE
+1EBB ; [.1631.0020.0002.0065][.0000.0036.0002.0309] # LATIN SMALL LETTER E WITH HOOK ABOVE
+1EBA ; [.1631.0020.0008.0045][.0000.0036.0002.0309] # LATIN CAPITAL LETTER E WITH HOOK ABOVE
+1EC9 ; [.16B2.0020.0002.0069][.0000.0036.0002.0309] # LATIN SMALL LETTER I WITH HOOK ABOVE
+1EC8 ; [.16B2.0020.0008.0049][.0000.0036.0002.0309] # LATIN CAPITAL LETTER I WITH HOOK ABOVE
+1ECF ; [.1756.0020.0002.006F][.0000.0036.0002.0309] # LATIN SMALL LETTER O WITH HOOK ABOVE
+1ECE ; [.1756.0020.0008.004F][.0000.0036.0002.0309] # LATIN CAPITAL LETTER O WITH HOOK ABOVE
+1EE7 ; [.181B.0020.0002.0075][.0000.0036.0002.0309] # LATIN SMALL LETTER U WITH HOOK ABOVE
+1EE6 ; [.181B.0020.0008.0055][.0000.0036.0002.0309] # LATIN CAPITAL LETTER U WITH HOOK ABOVE
+1EF7 ; [.1865.0020.0002.0079][.0000.0036.0002.0309] # LATIN SMALL LETTER Y WITH HOOK ABOVE
+1EF6 ; [.1865.0020.0008.0059][.0000.0036.0002.0309] # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
0303 ; [.0000.0037.0002.0303] # COMBINING TILDE
-00E3 ; [.15A3.0020.0002.0061][.0000.0037.0002.0303] # LATIN SMALL LETTER A WITH TILDE
-00C3 ; [.15A3.0020.0008.0041][.0000.0037.0002.0303] # LATIN CAPITAL LETTER A WITH TILDE
-1EBD ; [.15FF.0020.0002.0065][.0000.0037.0002.0303] # LATIN SMALL LETTER E WITH TILDE
-1EBC ; [.15FF.0020.0008.0045][.0000.0037.0002.0303] # LATIN CAPITAL LETTER E WITH TILDE
-0129 ; [.1680.0020.0002.0069][.0000.0037.0002.0303] # LATIN SMALL LETTER I WITH TILDE
-0128 ; [.1680.0020.0008.0049][.0000.0037.0002.0303] # LATIN CAPITAL LETTER I WITH TILDE
-00F5 ; [.1724.0020.0002.006F][.0000.0037.0002.0303] # LATIN SMALL LETTER O WITH TILDE
-00D5 ; [.1724.0020.0008.004F][.0000.0037.0002.0303] # LATIN CAPITAL LETTER O WITH TILDE
-0169 ; [.17E9.0020.0002.0075][.0000.0037.0002.0303] # LATIN SMALL LETTER U WITH TILDE
-0168 ; [.17E9.0020.0008.0055][.0000.0037.0002.0303] # LATIN CAPITAL LETTER U WITH TILDE
-1EF9 ; [.1833.0020.0002.0079][.0000.0037.0002.0303] # LATIN SMALL LETTER Y WITH TILDE
-1EF8 ; [.1833.0020.0008.0059][.0000.0037.0002.0303] # LATIN CAPITAL LETTER Y WITH TILDE
+00E3 ; [.15D4.0020.0002.0061][.0000.0037.0002.0303] # LATIN SMALL LETTER A WITH TILDE
+00C3 ; [.15D4.0020.0008.0041][.0000.0037.0002.0303] # LATIN CAPITAL LETTER A WITH TILDE
+1EBD ; [.1631.0020.0002.0065][.0000.0037.0002.0303] # LATIN SMALL LETTER E WITH TILDE
+1EBC ; [.1631.0020.0008.0045][.0000.0037.0002.0303] # LATIN CAPITAL LETTER E WITH TILDE
+0129 ; [.16B2.0020.0002.0069][.0000.0037.0002.0303] # LATIN SMALL LETTER I WITH TILDE
+0128 ; [.16B2.0020.0008.0049][.0000.0037.0002.0303] # LATIN CAPITAL LETTER I WITH TILDE
+00F5 ; [.1756.0020.0002.006F][.0000.0037.0002.0303] # LATIN SMALL LETTER O WITH TILDE
+00D5 ; [.1756.0020.0008.004F][.0000.0037.0002.0303] # LATIN CAPITAL LETTER O WITH TILDE
+0169 ; [.181B.0020.0002.0075][.0000.0037.0002.0303] # LATIN SMALL LETTER U WITH TILDE
+0168 ; [.181B.0020.0008.0055][.0000.0037.0002.0303] # LATIN CAPITAL LETTER U WITH TILDE
+1EF9 ; [.1865.0020.0002.0079][.0000.0037.0002.0303] # LATIN SMALL LETTER Y WITH TILDE
+1EF8 ; [.1865.0020.0008.0059][.0000.0037.0002.0303] # LATIN CAPITAL LETTER Y WITH TILDE
0301 ; [.0000.0038.0002.0301] # COMBINING ACUTE ACCENT
-00E1 ; [.15A3.0020.0002.0061][.0000.0038.0002.0301] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.15A3.0020.0008.0041][.0000.0038.0002.0301] # LATIN CAPITAL LETTER A WITH ACUTE
-00E9 ; [.15FF.0020.0002.0065][.0000.0038.0002.0301] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.15FF.0020.0008.0045][.0000.0038.0002.0301] # LATIN CAPITAL LETTER E WITH ACUTE
-00ED ; [.1680.0020.0002.0069][.0000.0038.0002.0301] # LATIN SMALL LETTER I WITH ACUTE
-00CD ; [.1680.0020.0008.0049][.0000.0038.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
-00F3 ; [.1724.0020.0002.006F][.0000.0038.0002.0301] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1724.0020.0008.004F][.0000.0038.0002.0301] # LATIN CAPITAL LETTER O WITH ACUTE
-00FA ; [.17E9.0020.0002.0075][.0000.0038.0002.0301] # LATIN SMALL LETTER U WITH ACUTE
-00DA ; [.17E9.0020.0008.0055][.0000.0038.0002.0301] # LATIN CAPITAL LETTER U WITH ACUTE
-00FD ; [.1833.0020.0002.0079][.0000.0038.0002.0301] # LATIN SMALL LETTER Y WITH ACUTE
-00DD ; [.1833.0020.0008.0059][.0000.0038.0002.0301] # LATIN CAPITAL LETTER Y WITH ACUTE
+00E1 ; [.15D4.0020.0002.0061][.0000.0038.0002.0301] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15D4.0020.0008.0041][.0000.0038.0002.0301] # LATIN CAPITAL LETTER A WITH ACUTE
+00E9 ; [.1631.0020.0002.0065][.0000.0038.0002.0301] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1631.0020.0008.0045][.0000.0038.0002.0301] # LATIN CAPITAL LETTER E WITH ACUTE
+00ED ; [.16B2.0020.0002.0069][.0000.0038.0002.0301] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16B2.0020.0008.0049][.0000.0038.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
+00F3 ; [.1756.0020.0002.006F][.0000.0038.0002.0301] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1756.0020.0008.004F][.0000.0038.0002.0301] # LATIN CAPITAL LETTER O WITH ACUTE
+00FA ; [.181B.0020.0002.0075][.0000.0038.0002.0301] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.181B.0020.0008.0055][.0000.0038.0002.0301] # LATIN CAPITAL LETTER U WITH ACUTE
+00FD ; [.1865.0020.0002.0079][.0000.0038.0002.0301] # LATIN SMALL LETTER Y WITH ACUTE
+00DD ; [.1865.0020.0008.0059][.0000.0038.0002.0301] # LATIN CAPITAL LETTER Y WITH ACUTE
0341 ; [.0000.0038.0002.0341] # COMBINING ACUTE TONE MARK
0323 ; [.0000.0039.0002.0323] # COMBINING DOT BELOW
-1EA1 ; [.15A3.0020.0002.0061][.0000.0039.0002.0323] # LATIN SMALL LETTER A WITH DOT BELOW
-1EA0 ; [.15A3.0020.0008.0041][.0000.0039.0002.0323] # LATIN CAPITAL LETTER A WITH DOT BELOW
-1EB9 ; [.15FF.0020.0002.0065][.0000.0039.0002.0323] # LATIN SMALL LETTER E WITH DOT BELOW
-1EB8 ; [.15FF.0020.0008.0045][.0000.0039.0002.0323] # LATIN CAPITAL LETTER E WITH DOT BELOW
-1ECB ; [.1680.0020.0002.0069][.0000.0039.0002.0323] # LATIN SMALL LETTER I WITH DOT BELOW
-1ECA ; [.1680.0020.0008.0049][.0000.0039.0002.0323] # LATIN CAPITAL LETTER I WITH DOT BELOW
-1ECD ; [.1724.0020.0002.006F][.0000.0039.0002.0323] # LATIN SMALL LETTER O WITH DOT BELOW
-1ECC ; [.1724.0020.0008.004F][.0000.0039.0002.0323] # LATIN CAPITAL LETTER O WITH DOT BELOW
-1EE5 ; [.17E9.0020.0002.0075][.0000.0039.0002.0323] # LATIN SMALL LETTER U WITH DOT BELOW
-1EE4 ; [.17E9.0020.0008.0055][.0000.0039.0002.0323] # LATIN CAPITAL LETTER U WITH DOT BELOW
-1EF5 ; [.1833.0020.0002.0079][.0000.0039.0002.0323] # LATIN SMALL LETTER Y WITH DOT BELOW
-1EF4 ; [.1833.0020.0008.0059][.0000.0039.0002.0323] # LATIN CAPITAL LETTER Y WITH DOT BELOW
+1EA1 ; [.15D4.0020.0002.0061][.0000.0039.0002.0323] # LATIN SMALL LETTER A WITH DOT BELOW
+1EA0 ; [.15D4.0020.0008.0041][.0000.0039.0002.0323] # LATIN CAPITAL LETTER A WITH DOT BELOW
+1EB9 ; [.1631.0020.0002.0065][.0000.0039.0002.0323] # LATIN SMALL LETTER E WITH DOT BELOW
+1EB8 ; [.1631.0020.0008.0045][.0000.0039.0002.0323] # LATIN CAPITAL LETTER E WITH DOT BELOW
+1ECB ; [.16B2.0020.0002.0069][.0000.0039.0002.0323] # LATIN SMALL LETTER I WITH DOT BELOW
+1ECA ; [.16B2.0020.0008.0049][.0000.0039.0002.0323] # LATIN CAPITAL LETTER I WITH DOT BELOW
+1ECD ; [.1756.0020.0002.006F][.0000.0039.0002.0323] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC ; [.1756.0020.0008.004F][.0000.0039.0002.0323] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1EE5 ; [.181B.0020.0002.0075][.0000.0039.0002.0323] # LATIN SMALL LETTER U WITH DOT BELOW
+1EE4 ; [.181B.0020.0008.0055][.0000.0039.0002.0323] # LATIN CAPITAL LETTER U WITH DOT BELOW
+1EF5 ; [.1865.0020.0002.0079][.0000.0039.0002.0323] # LATIN SMALL LETTER Y WITH DOT BELOW
+1EF4 ; [.1865.0020.0008.0059][.0000.0039.0002.0323] # LATIN CAPITAL LETTER Y WITH DOT BELOW
0306 ; [.0000.003A.0002.0306] # COMBINING BREVE
-0115 ; [.15FF.0020.0002.0065][.0000.003A.0002.0306] # LATIN SMALL LETTER E WITH BREVE
-0114 ; [.15FF.0020.0008.0045][.0000.003A.0002.0306] # LATIN CAPITAL LETTER E WITH BREVE
-012D ; [.1680.0020.0002.0069][.0000.003A.0002.0306] # LATIN SMALL LETTER I WITH BREVE
-012C ; [.1680.0020.0008.0049][.0000.003A.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
-014F ; [.1724.0020.0002.006F][.0000.003A.0002.0306] # LATIN SMALL LETTER O WITH BREVE
-014E ; [.1724.0020.0008.004F][.0000.003A.0002.0306] # LATIN CAPITAL LETTER O WITH BREVE
-016D ; [.17E9.0020.0002.0075][.0000.003A.0002.0306] # LATIN SMALL LETTER U WITH BREVE
-016C ; [.17E9.0020.0008.0055][.0000.003A.0002.0306] # LATIN CAPITAL LETTER U WITH BREVE
-0103 ; [.15A4.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
-0061 0306 ; [.15A4.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
-0102 ; [.15A4.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
-0041 0306 ; [.15A4.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
-1EB1 ; [.15A4.0020.0002.0103][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
-1EB0 ; [.15A4.0020.0008.0102][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EAF ; [.15A4.0020.0002.0103][.0000.0038.0002.0301] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
-1EAE ; [.15A4.0020.0008.0102][.0000.0038.0002.0301] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EB5 ; [.15A4.0020.0002.0103][.0000.0037.0002.0303] # LATIN SMALL LETTER A WITH BREVE AND TILDE
-1EB4 ; [.15A4.0020.0008.0102][.0000.0037.0002.0303] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB3 ; [.15A4.0020.0002.0103][.0000.0036.0002.0309] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
-1EB2 ; [.15A4.0020.0008.0102][.0000.0036.0002.0309] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-1EB7 ; [.15A4.0020.0002.0103][.0000.0039.0002.0323] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-1EB6 ; [.15A4.0020.0008.0102][.0000.0039.0002.0323] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-00E2 ; [.15A5.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-0061 0302 ; [.15A5.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-00C2 ; [.15A5.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-0041 0302 ; [.15A5.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-1EA7 ; [.15A5.0020.0002.00E2][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA6 ; [.15A5.0020.0008.00C2][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA5 ; [.15A5.0020.0002.00E2][.0000.0038.0002.0301] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA4 ; [.15A5.0020.0008.00C2][.0000.0038.0002.0301] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EAB ; [.15A5.0020.0002.00E2][.0000.0037.0002.0303] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAA ; [.15A5.0020.0008.00C2][.0000.0037.0002.0303] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EA9 ; [.15A5.0020.0002.00E2][.0000.0036.0002.0309] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EA8 ; [.15A5.0020.0008.00C2][.0000.0036.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAD ; [.15A5.0020.0002.00E2][.0000.0039.0002.0323] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAC ; [.15A5.0020.0008.00C2][.0000.0039.0002.0323] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-0111 ; [.15E5.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E5.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110 ; [.15E5.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E5.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00EA ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.1600.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.1600.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC1 ; [.1600.0020.0002.00EA][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0 ; [.1600.0020.0008.00CA][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EBF ; [.1600.0020.0002.00EA][.0000.0038.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE ; [.1600.0020.0008.00CA][.0000.0038.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC5 ; [.1600.0020.0002.00EA][.0000.0037.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4 ; [.1600.0020.0008.00CA][.0000.0037.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3 ; [.1600.0020.0002.00EA][.0000.0036.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2 ; [.1600.0020.0008.00CA][.0000.0036.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7 ; [.1600.0020.0002.00EA][.0000.0039.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.1600.0020.0008.00CA][.0000.0039.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-00F4 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3 ; [.1725.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2 ; [.1725.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1 ; [.1725.0020.0002.00F4][.0000.0038.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0 ; [.1725.0020.0008.00D4][.0000.0038.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7 ; [.1725.0020.0002.00F4][.0000.0037.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6 ; [.1725.0020.0008.00D4][.0000.0037.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5 ; [.1725.0020.0002.00F4][.0000.0036.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4 ; [.1725.0020.0008.00D4][.0000.0036.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9 ; [.1725.0020.0002.00F4][.0000.0039.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8 ; [.1725.0020.0008.00D4][.0000.0039.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-01A1 ; [.1726.0020.0002.01A1] # LATIN SMALL LETTER O WITH HORN
-006F 031B ; [.1726.0020.0002.01A1] # LATIN SMALL LETTER O WITH HORN
-01A0 ; [.1726.0020.0008.01A0] # LATIN CAPITAL LETTER O WITH HORN
-004F 031B ; [.1726.0020.0008.01A0] # LATIN CAPITAL LETTER O WITH HORN
-1EDD ; [.1726.0020.0002.01A1][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH HORN AND GRAVE
-1EDC ; [.1726.0020.0008.01A0][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
-1EDB ; [.1726.0020.0002.01A1][.0000.0038.0002.0301] # LATIN SMALL LETTER O WITH HORN AND ACUTE
-1EDA ; [.1726.0020.0008.01A0][.0000.0038.0002.0301] # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
-1EE1 ; [.1726.0020.0002.01A1][.0000.0037.0002.0303] # LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE0 ; [.1726.0020.0008.01A0][.0000.0037.0002.0303] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
-1EDF ; [.1726.0020.0002.01A1][.0000.0036.0002.0309] # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
-1EDE ; [.1726.0020.0008.01A0][.0000.0036.0002.0309] # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
-1EE3 ; [.1726.0020.0002.01A1][.0000.0039.0002.0323] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE2 ; [.1726.0020.0008.01A0][.0000.0039.0002.0323] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-01B0 ; [.17EA.0020.0002.01B0] # LATIN SMALL LETTER U WITH HORN
-0075 031B ; [.17EA.0020.0002.01B0] # LATIN SMALL LETTER U WITH HORN
-01AF ; [.17EA.0020.0008.01AF] # LATIN CAPITAL LETTER U WITH HORN
-0055 031B ; [.17EA.0020.0008.01AF] # LATIN CAPITAL LETTER U WITH HORN
-1EEB ; [.17EA.0020.0002.01B0][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH HORN AND GRAVE
-1EEA ; [.17EA.0020.0008.01AF][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
-1EE9 ; [.17EA.0020.0002.01B0][.0000.0038.0002.0301] # LATIN SMALL LETTER U WITH HORN AND ACUTE
-1EE8 ; [.17EA.0020.0008.01AF][.0000.0038.0002.0301] # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
-1EEF ; [.17EA.0020.0002.01B0][.0000.0037.0002.0303] # LATIN SMALL LETTER U WITH HORN AND TILDE
-1EEE ; [.17EA.0020.0008.01AF][.0000.0037.0002.0303] # LATIN CAPITAL LETTER U WITH HORN AND TILDE
-1EED ; [.17EA.0020.0002.01B0][.0000.0036.0002.0309] # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
-1EEC ; [.17EA.0020.0008.01AF][.0000.0036.0002.0309] # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
-1EF1 ; [.17EA.0020.0002.01B0][.0000.0039.0002.0323] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-1EF0 ; [.17EA.0020.0008.01AF][.0000.0039.0002.0323] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
-1EA1 0306 ; [.15A4.0020.0002.0103][.0000.0039.0002.0323] # <LATIN SMALL LETTER A WITH DOT BELOW, COMBINING BREVE>
-1EA0 0306 ; [.15A4.0020.0008.0102][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A WITH DOT BELOW, COMBINING BREVE>
-1EA1 0302 ; [.15A5.0020.0002.00E2][.0000.0039.0002.0323] # <LATIN SMALL LETTER A WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1EA0 0302 ; [.15A5.0020.0008.00C2][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1EB9 0302 ; [.1600.0020.0002.00EA][.0000.0039.0002.0323] # <LATIN SMALL LETTER E WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1EB8 0302 ; [.1600.0020.0008.00CA][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER E WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1ECD 0302 ; [.1725.0020.0002.00F4][.0000.0039.0002.0323] # <LATIN SMALL LETTER O WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1ECC 0302 ; [.1725.0020.0008.00D4][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-00F2 031B ; [.1726.0020.0002.01A1][.0000.0035.0002.0300] # <LATIN SMALL LETTER O WITH GRAVE, COMBINING HORN>
-1ECF 031B ; [.1726.0020.0002.01A1][.0000.0036.0002.0309] # <LATIN SMALL LETTER O WITH HOOK ABOVE, COMBINING HORN>
-00F5 031B ; [.1726.0020.0002.01A1][.0000.0037.0002.0303] # <LATIN SMALL LETTER O WITH TILDE, COMBINING HORN>
-00F3 031B ; [.1726.0020.0002.01A1][.0000.0038.0002.0301] # <LATIN SMALL LETTER O WITH ACUTE, COMBINING HORN>
-1ECD 031B ; [.1726.0020.0002.01A1][.0000.0039.0002.0323] # <LATIN SMALL LETTER O WITH DOT BELOW, COMBINING HORN>
-00D2 031B ; [.1726.0020.0008.01A0][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER O WITH GRAVE, COMBINING HORN>
-1ECE 031B ; [.1726.0020.0008.01A0][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER O WITH HOOK ABOVE, COMBINING HORN>
-00D5 031B ; [.1726.0020.0008.01A0][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER O WITH TILDE, COMBINING HORN>
-00D3 031B ; [.1726.0020.0008.01A0][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER O WITH ACUTE, COMBINING HORN>
-1ECC 031B ; [.1726.0020.0008.01A0][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O WITH DOT BELOW, COMBINING HORN>
-00F9 031B ; [.17EA.0020.0002.01B0][.0000.0035.0002.0300] # <LATIN SMALL LETTER U WITH GRAVE, COMBINING HORN>
-1EE7 031B ; [.17EA.0020.0002.01B0][.0000.0036.0002.0309] # <LATIN SMALL LETTER U WITH HOOK ABOVE, COMBINING HORN>
-0169 031B ; [.17EA.0020.0002.01B0][.0000.0037.0002.0303] # <LATIN SMALL LETTER U WITH TILDE, COMBINING HORN>
-00FA 031B ; [.17EA.0020.0002.01B0][.0000.0038.0002.0301] # <LATIN SMALL LETTER U WITH ACUTE, COMBINING HORN>
-1EE5 031B ; [.17EA.0020.0002.01B0][.0000.0039.0002.0323] # <LATIN SMALL LETTER U WITH DOT BELOW, COMBINING HORN>
-00D9 031B ; [.17EA.0020.0008.01AF][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER U WITH GRAVE, COMBINING HORN>
-1EE6 031B ; [.17EA.0020.0008.01AF][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER U WITH HOOK ABOVE, COMBINING HORN>
-0168 031B ; [.17EA.0020.0008.01AF][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER U WITH TILDE, COMBINING HORN>
-00DA 031B ; [.17EA.0020.0008.01AF][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER U WITH ACUTE, COMBINING HORN>
-1EE4 031B ; [.17EA.0020.0008.01AF][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER U WITH DOT BELOW, COMBINING HORN>
-0061 0323 0306 ; [.15A4.0020.0002.0103][.0000.0039.0002.0323] # <LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING BREVE>
-0041 0323 0306 ; [.15A4.0020.0008.0102][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING BREVE>
-0061 0323 0302 ; [.15A5.0020.0002.00E2][.0000.0039.0002.0323] # <LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-0041 0323 0302 ; [.15A5.0020.0008.00C2][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-0065 0323 0302 ; [.1600.0020.0002.00EA][.0000.0039.0002.0323] # <LATIN SMALL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-0045 0323 0302 ; [.1600.0020.0008.00CA][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-006F 0323 0302 ; [.1725.0020.0002.00F4][.0000.0039.0002.0323] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-004F 0323 0302 ; [.1725.0020.0008.00D4][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-006F 0300 031B ; [.1726.0020.0002.01A1][.0000.0035.0002.0300] # <LATIN SMALL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
-006F 0340 031B ; [.1726.0020.0002.01A1][.0000.0035.0002.0340] # <LATIN SMALL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
-006F 0309 031B ; [.1726.0020.0002.01A1][.0000.0036.0002.0309] # <LATIN SMALL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
-006F 0303 031B ; [.1726.0020.0002.01A1][.0000.0037.0002.0303] # <LATIN SMALL LETTER O, COMBINING TILDE, COMBINING HORN>
-006F 0301 031B ; [.1726.0020.0002.01A1][.0000.0038.0002.0301] # <LATIN SMALL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
-006F 0341 031B ; [.1726.0020.0002.01A1][.0000.0038.0002.0341] # <LATIN SMALL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
-006F 0323 031B ; [.1726.0020.0002.01A1][.0000.0039.0002.0323] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
-004F 0300 031B ; [.1726.0020.0008.01A0][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
-004F 0340 031B ; [.1726.0020.0008.01A0][.0000.0035.0002.0340] # <LATIN CAPITAL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
-004F 0309 031B ; [.1726.0020.0008.01A0][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
-004F 0303 031B ; [.1726.0020.0008.01A0][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER O, COMBINING TILDE, COMBINING HORN>
-004F 0301 031B ; [.1726.0020.0008.01A0][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
-004F 0341 031B ; [.1726.0020.0008.01A0][.0000.0038.0002.0341] # <LATIN CAPITAL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
-004F 0323 031B ; [.1726.0020.0008.01A0][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
-0075 0300 031B ; [.17EA.0020.0002.01B0][.0000.0035.0002.0300] # <LATIN SMALL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
-0075 0340 031B ; [.17EA.0020.0002.01B0][.0000.0035.0002.0340] # <LATIN SMALL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
-0075 0309 031B ; [.17EA.0020.0002.01B0][.0000.0036.0002.0309] # <LATIN SMALL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
-0075 0303 031B ; [.17EA.0020.0002.01B0][.0000.0037.0002.0303] # <LATIN SMALL LETTER U, COMBINING TILDE, COMBINING HORN>
-0075 0301 031B ; [.17EA.0020.0002.01B0][.0000.0038.0002.0301] # <LATIN SMALL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
-0075 0341 031B ; [.17EA.0020.0002.01B0][.0000.0038.0002.0341] # <LATIN SMALL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
-0075 0323 031B ; [.17EA.0020.0002.01B0][.0000.0039.0002.0323] # <LATIN SMALL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
-0055 0300 031B ; [.17EA.0020.0008.01AF][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
-0055 0340 031B ; [.17EA.0020.0008.01AF][.0000.0035.0002.0340] # <LATIN CAPITAL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
-0055 0309 031B ; [.17EA.0020.0008.01AF][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
-0055 0303 031B ; [.17EA.0020.0008.01AF][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER U, COMBINING TILDE, COMBINING HORN>
-0055 0301 031B ; [.17EA.0020.0008.01AF][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
-0055 0341 031B ; [.17EA.0020.0008.01AF][.0000.0038.0002.0341] # <LATIN CAPITAL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
-0055 0323 031B ; [.17EA.0020.0008.01AF][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
+0115 ; [.1631.0020.0002.0065][.0000.003A.0002.0306] # LATIN SMALL LETTER E WITH BREVE
+0114 ; [.1631.0020.0008.0045][.0000.003A.0002.0306] # LATIN CAPITAL LETTER E WITH BREVE
+012D ; [.16B2.0020.0002.0069][.0000.003A.0002.0306] # LATIN SMALL LETTER I WITH BREVE
+012C ; [.16B2.0020.0008.0049][.0000.003A.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
+014F ; [.1756.0020.0002.006F][.0000.003A.0002.0306] # LATIN SMALL LETTER O WITH BREVE
+014E ; [.1756.0020.0008.004F][.0000.003A.0002.0306] # LATIN CAPITAL LETTER O WITH BREVE
+016D ; [.181B.0020.0002.0075][.0000.003A.0002.0306] # LATIN SMALL LETTER U WITH BREVE
+016C ; [.181B.0020.0008.0055][.0000.003A.0002.0306] # LATIN CAPITAL LETTER U WITH BREVE
+0103 ; [.15D5.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
+0061 0306 ; [.15D5.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
+0102 ; [.15D5.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
+0041 0306 ; [.15D5.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
+1EB1 ; [.15D5.0020.0002.0103][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
+1EB0 ; [.15D5.0020.0008.0102][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+1EAF ; [.15D5.0020.0002.0103][.0000.0038.0002.0301] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
+1EAE ; [.15D5.0020.0008.0102][.0000.0038.0002.0301] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+1EB5 ; [.15D5.0020.0002.0103][.0000.0037.0002.0303] # LATIN SMALL LETTER A WITH BREVE AND TILDE
+1EB4 ; [.15D5.0020.0008.0102][.0000.0037.0002.0303] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+1EB3 ; [.15D5.0020.0002.0103][.0000.0036.0002.0309] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+1EB2 ; [.15D5.0020.0008.0102][.0000.0036.0002.0309] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+1EB7 ; [.15D5.0020.0002.0103][.0000.0039.0002.0323] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+1EB6 ; [.15D5.0020.0008.0102][.0000.0039.0002.0323] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+00E2 ; [.15D6.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0061 0302 ; [.15D6.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+00C2 ; [.15D6.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0041 0302 ; [.15D6.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+1EA7 ; [.15D6.0020.0002.00E2][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA6 ; [.15D6.0020.0008.00C2][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA5 ; [.15D6.0020.0002.00E2][.0000.0038.0002.0301] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA4 ; [.15D6.0020.0008.00C2][.0000.0038.0002.0301] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EAB ; [.15D6.0020.0002.00E2][.0000.0037.0002.0303] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+1EAA ; [.15D6.0020.0008.00C2][.0000.0037.0002.0303] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+1EA9 ; [.15D6.0020.0002.00E2][.0000.0036.0002.0309] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EA8 ; [.15D6.0020.0008.00C2][.0000.0036.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EAD ; [.15D6.0020.0002.00E2][.0000.0039.0002.0323] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1EAC ; [.15D6.0020.0008.00C2][.0000.0039.0002.0323] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+0111 ; [.1617.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1617.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.1617.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1617.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00EA ; [.1632.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1632.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1632.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1632.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC1 ; [.1632.0020.0002.00EA][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1632.0020.0008.00CA][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EBF ; [.1632.0020.0002.00EA][.0000.0038.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1632.0020.0008.00CA][.0000.0038.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC5 ; [.1632.0020.0002.00EA][.0000.0037.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1632.0020.0008.00CA][.0000.0037.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1632.0020.0002.00EA][.0000.0036.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1632.0020.0008.00CA][.0000.0036.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1632.0020.0002.00EA][.0000.0039.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1632.0020.0008.00CA][.0000.0039.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+00F4 ; [.1757.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1757.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.1757.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1757.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3 ; [.1757.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.1757.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1 ; [.1757.0020.0002.00F4][.0000.0038.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.1757.0020.0008.00D4][.0000.0038.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7 ; [.1757.0020.0002.00F4][.0000.0037.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.1757.0020.0008.00D4][.0000.0037.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.1757.0020.0002.00F4][.0000.0036.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.1757.0020.0008.00D4][.0000.0036.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9 ; [.1757.0020.0002.00F4][.0000.0039.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.1757.0020.0008.00D4][.0000.0039.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+01A1 ; [.1758.0020.0002.01A1] # LATIN SMALL LETTER O WITH HORN
+006F 031B ; [.1758.0020.0002.01A1] # LATIN SMALL LETTER O WITH HORN
+01A0 ; [.1758.0020.0008.01A0] # LATIN CAPITAL LETTER O WITH HORN
+004F 031B ; [.1758.0020.0008.01A0] # LATIN CAPITAL LETTER O WITH HORN
+1EDD ; [.1758.0020.0002.01A1][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH HORN AND GRAVE
+1EDC ; [.1758.0020.0008.01A0][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+1EDB ; [.1758.0020.0002.01A1][.0000.0038.0002.0301] # LATIN SMALL LETTER O WITH HORN AND ACUTE
+1EDA ; [.1758.0020.0008.01A0][.0000.0038.0002.0301] # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+1EE1 ; [.1758.0020.0002.01A1][.0000.0037.0002.0303] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0 ; [.1758.0020.0008.01A0][.0000.0037.0002.0303] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+1EDF ; [.1758.0020.0002.01A1][.0000.0036.0002.0309] # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
+1EDE ; [.1758.0020.0008.01A0][.0000.0036.0002.0309] # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+1EE3 ; [.1758.0020.0002.01A1][.0000.0039.0002.0323] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE2 ; [.1758.0020.0008.01A0][.0000.0039.0002.0323] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+01B0 ; [.181C.0020.0002.01B0] # LATIN SMALL LETTER U WITH HORN
+0075 031B ; [.181C.0020.0002.01B0] # LATIN SMALL LETTER U WITH HORN
+01AF ; [.181C.0020.0008.01AF] # LATIN CAPITAL LETTER U WITH HORN
+0055 031B ; [.181C.0020.0008.01AF] # LATIN CAPITAL LETTER U WITH HORN
+1EEB ; [.181C.0020.0002.01B0][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH HORN AND GRAVE
+1EEA ; [.181C.0020.0008.01AF][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+1EE9 ; [.181C.0020.0002.01B0][.0000.0038.0002.0301] # LATIN SMALL LETTER U WITH HORN AND ACUTE
+1EE8 ; [.181C.0020.0008.01AF][.0000.0038.0002.0301] # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+1EEF ; [.181C.0020.0002.01B0][.0000.0037.0002.0303] # LATIN SMALL LETTER U WITH HORN AND TILDE
+1EEE ; [.181C.0020.0008.01AF][.0000.0037.0002.0303] # LATIN CAPITAL LETTER U WITH HORN AND TILDE
+1EED ; [.181C.0020.0002.01B0][.0000.0036.0002.0309] # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
+1EEC ; [.181C.0020.0008.01AF][.0000.0036.0002.0309] # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+1EF1 ; [.181C.0020.0002.01B0][.0000.0039.0002.0323] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+1EF0 ; [.181C.0020.0008.01AF][.0000.0039.0002.0323] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+1EA1 0306 ; [.15D5.0020.0002.0103][.0000.0039.0002.0323] # <LATIN SMALL LETTER A WITH DOT BELOW, COMBINING BREVE>
+1EA0 0306 ; [.15D5.0020.0008.0102][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A WITH DOT BELOW, COMBINING BREVE>
+1EA1 0302 ; [.15D6.0020.0002.00E2][.0000.0039.0002.0323] # <LATIN SMALL LETTER A WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1EA0 0302 ; [.15D6.0020.0008.00C2][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1EB9 0302 ; [.1632.0020.0002.00EA][.0000.0039.0002.0323] # <LATIN SMALL LETTER E WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1EB8 0302 ; [.1632.0020.0008.00CA][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER E WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1ECD 0302 ; [.1757.0020.0002.00F4][.0000.0039.0002.0323] # <LATIN SMALL LETTER O WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1ECC 0302 ; [.1757.0020.0008.00D4][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+00F2 031B ; [.1758.0020.0002.01A1][.0000.0035.0002.0300] # <LATIN SMALL LETTER O WITH GRAVE, COMBINING HORN>
+1ECF 031B ; [.1758.0020.0002.01A1][.0000.0036.0002.0309] # <LATIN SMALL LETTER O WITH HOOK ABOVE, COMBINING HORN>
+00F5 031B ; [.1758.0020.0002.01A1][.0000.0037.0002.0303] # <LATIN SMALL LETTER O WITH TILDE, COMBINING HORN>
+00F3 031B ; [.1758.0020.0002.01A1][.0000.0038.0002.0301] # <LATIN SMALL LETTER O WITH ACUTE, COMBINING HORN>
+1ECD 031B ; [.1758.0020.0002.01A1][.0000.0039.0002.0323] # <LATIN SMALL LETTER O WITH DOT BELOW, COMBINING HORN>
+00D2 031B ; [.1758.0020.0008.01A0][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER O WITH GRAVE, COMBINING HORN>
+1ECE 031B ; [.1758.0020.0008.01A0][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER O WITH HOOK ABOVE, COMBINING HORN>
+00D5 031B ; [.1758.0020.0008.01A0][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER O WITH TILDE, COMBINING HORN>
+00D3 031B ; [.1758.0020.0008.01A0][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER O WITH ACUTE, COMBINING HORN>
+1ECC 031B ; [.1758.0020.0008.01A0][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O WITH DOT BELOW, COMBINING HORN>
+00F9 031B ; [.181C.0020.0002.01B0][.0000.0035.0002.0300] # <LATIN SMALL LETTER U WITH GRAVE, COMBINING HORN>
+1EE7 031B ; [.181C.0020.0002.01B0][.0000.0036.0002.0309] # <LATIN SMALL LETTER U WITH HOOK ABOVE, COMBINING HORN>
+0169 031B ; [.181C.0020.0002.01B0][.0000.0037.0002.0303] # <LATIN SMALL LETTER U WITH TILDE, COMBINING HORN>
+00FA 031B ; [.181C.0020.0002.01B0][.0000.0038.0002.0301] # <LATIN SMALL LETTER U WITH ACUTE, COMBINING HORN>
+1EE5 031B ; [.181C.0020.0002.01B0][.0000.0039.0002.0323] # <LATIN SMALL LETTER U WITH DOT BELOW, COMBINING HORN>
+00D9 031B ; [.181C.0020.0008.01AF][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER U WITH GRAVE, COMBINING HORN>
+1EE6 031B ; [.181C.0020.0008.01AF][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER U WITH HOOK ABOVE, COMBINING HORN>
+0168 031B ; [.181C.0020.0008.01AF][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER U WITH TILDE, COMBINING HORN>
+00DA 031B ; [.181C.0020.0008.01AF][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER U WITH ACUTE, COMBINING HORN>
+1EE4 031B ; [.181C.0020.0008.01AF][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER U WITH DOT BELOW, COMBINING HORN>
+0061 0323 0306 ; [.15D5.0020.0002.0103][.0000.0039.0002.0323] # <LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING BREVE>
+0041 0323 0306 ; [.15D5.0020.0008.0102][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING BREVE>
+0061 0323 0302 ; [.15D6.0020.0002.00E2][.0000.0039.0002.0323] # <LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+0041 0323 0302 ; [.15D6.0020.0008.00C2][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+0065 0323 0302 ; [.1632.0020.0002.00EA][.0000.0039.0002.0323] # <LATIN SMALL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+0045 0323 0302 ; [.1632.0020.0008.00CA][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+006F 0323 0302 ; [.1757.0020.0002.00F4][.0000.0039.0002.0323] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+004F 0323 0302 ; [.1757.0020.0008.00D4][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+006F 0300 031B ; [.1758.0020.0002.01A1][.0000.0035.0002.0300] # <LATIN SMALL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
+006F 0340 031B ; [.1758.0020.0002.01A1][.0000.0035.0002.0340] # <LATIN SMALL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
+006F 0309 031B ; [.1758.0020.0002.01A1][.0000.0036.0002.0309] # <LATIN SMALL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
+006F 0303 031B ; [.1758.0020.0002.01A1][.0000.0037.0002.0303] # <LATIN SMALL LETTER O, COMBINING TILDE, COMBINING HORN>
+006F 0301 031B ; [.1758.0020.0002.01A1][.0000.0038.0002.0301] # <LATIN SMALL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
+006F 0341 031B ; [.1758.0020.0002.01A1][.0000.0038.0002.0341] # <LATIN SMALL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
+006F 0323 031B ; [.1758.0020.0002.01A1][.0000.0039.0002.0323] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
+004F 0300 031B ; [.1758.0020.0008.01A0][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
+004F 0340 031B ; [.1758.0020.0008.01A0][.0000.0035.0002.0340] # <LATIN CAPITAL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
+004F 0309 031B ; [.1758.0020.0008.01A0][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
+004F 0303 031B ; [.1758.0020.0008.01A0][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER O, COMBINING TILDE, COMBINING HORN>
+004F 0301 031B ; [.1758.0020.0008.01A0][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
+004F 0341 031B ; [.1758.0020.0008.01A0][.0000.0038.0002.0341] # <LATIN CAPITAL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
+004F 0323 031B ; [.1758.0020.0008.01A0][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
+0075 0300 031B ; [.181C.0020.0002.01B0][.0000.0035.0002.0300] # <LATIN SMALL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
+0075 0340 031B ; [.181C.0020.0002.01B0][.0000.0035.0002.0340] # <LATIN SMALL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
+0075 0309 031B ; [.181C.0020.0002.01B0][.0000.0036.0002.0309] # <LATIN SMALL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
+0075 0303 031B ; [.181C.0020.0002.01B0][.0000.0037.0002.0303] # <LATIN SMALL LETTER U, COMBINING TILDE, COMBINING HORN>
+0075 0301 031B ; [.181C.0020.0002.01B0][.0000.0038.0002.0301] # <LATIN SMALL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
+0075 0341 031B ; [.181C.0020.0002.01B0][.0000.0038.0002.0341] # <LATIN SMALL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
+0075 0323 031B ; [.181C.0020.0002.01B0][.0000.0039.0002.0323] # <LATIN SMALL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
+0055 0300 031B ; [.181C.0020.0008.01AF][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
+0055 0340 031B ; [.181C.0020.0008.01AF][.0000.0035.0002.0340] # <LATIN CAPITAL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
+0055 0309 031B ; [.181C.0020.0008.01AF][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
+0055 0303 031B ; [.181C.0020.0008.01AF][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER U, COMBINING TILDE, COMBINING HORN>
+0055 0301 031B ; [.181C.0020.0008.01AF][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
+0055 0341 031B ; [.181C.0020.0008.01AF][.0000.0038.0002.0341] # <LATIN CAPITAL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
+0055 0323 031B ; [.181C.0020.0008.01AF][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wae.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wae.pl
new file mode 100644
index 00000000000..069cde07c6a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wae.pl
@@ -0,0 +1,24 @@
++{
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0061 0061 ; [.15D4.0020.0002.0061][.0000.0032.0002.0301] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+00E4 00E4 ; [.15D4.0020.0002.0061][.0000.004E.0002.0303] # <LATIN SMALL LETTER A WITH DIAERESIS, LATIN SMALL LETTER A WITH DIAERESIS>
+00E4 0061 0308 ; [.15D4.0020.0002.0061][.0000.004E.0002.0303] # <LATIN SMALL LETTER A WITH DIAERESIS, LATIN SMALL LETTER A, COMBINING DIAERESIS>
+0061 0308 00E4 ; [.15D4.0020.0002.0061][.0000.004E.0002.0303] # <LATIN SMALL LETTER A, COMBINING DIAERESIS, LATIN SMALL LETTER A WITH DIAERESIS>
+0061 0308 0061 0308 ; [.15D4.0020.0002.0061][.0000.004E.0002.0303] # <LATIN SMALL LETTER A, COMBINING DIAERESIS, LATIN SMALL LETTER A, COMBINING DIAERESIS>
+0065 0065 ; [.1631.0020.0002.0065][.0000.0032.0002.0301] # <LATIN SMALL LETTER E, LATIN SMALL LETTER E>
+0069 0069 ; [.16B2.0020.0002.0069][.0000.0032.0002.0301] # <LATIN SMALL LETTER I, LATIN SMALL LETTER I>
+006F 006F ; [.1756.0020.0002.006F][.0000.0032.0002.0301] # <LATIN SMALL LETTER O, LATIN SMALL LETTER O>
+00F6 00F6 ; [.1756.0020.0002.006F][.0000.004E.0002.0303] # <LATIN SMALL LETTER O WITH DIAERESIS, LATIN SMALL LETTER O WITH DIAERESIS>
+00F6 006F 0308 ; [.1756.0020.0002.006F][.0000.004E.0002.0303] # <LATIN SMALL LETTER O WITH DIAERESIS, LATIN SMALL LETTER O, COMBINING DIAERESIS>
+006F 0308 00F6 ; [.1756.0020.0002.006F][.0000.004E.0002.0303] # <LATIN SMALL LETTER O, COMBINING DIAERESIS, LATIN SMALL LETTER O WITH DIAERESIS>
+006F 0308 006F 0308 ; [.1756.0020.0002.006F][.0000.004E.0002.0303] # <LATIN SMALL LETTER O, COMBINING DIAERESIS, LATIN SMALL LETTER O, COMBINING DIAERESIS>
+0063 0068 ; [.1602.0020.0002.0063][.0000.0041.0002.030C] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0073 0063 0068 ; [.17D8.0020.0002.0073][.0000.0041.0002.030C] # <LATIN SMALL LETTER S, LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0075 0075 ; [.181B.0020.0002.0075][.0000.0032.0002.0301] # <LATIN SMALL LETTER U, LATIN SMALL LETTER U>
+00FC 00FC ; [.181B.0020.0002.0075][.0000.004E.0002.0303] # <LATIN SMALL LETTER U WITH DIAERESIS, LATIN SMALL LETTER U WITH DIAERESIS>
+00FC 0075 0308 ; [.181B.0020.0002.0075][.0000.004E.0002.0303] # <LATIN SMALL LETTER U WITH DIAERESIS, LATIN SMALL LETTER U, COMBINING DIAERESIS>
+0075 0308 00FC ; [.181B.0020.0002.0075][.0000.004E.0002.0303] # <LATIN SMALL LETTER U, COMBINING DIAERESIS, LATIN SMALL LETTER U WITH DIAERESIS>
+0075 0308 0075 0308 ; [.181B.0020.0002.0075][.0000.004E.0002.0303] # <LATIN SMALL LETTER U, COMBINING DIAERESIS, LATIN SMALL LETTER U, COMBINING DIAERESIS>
+ENTRY
+};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wo.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wo.pl
index 2d42aac7356..a15f97ae2e0 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wo.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/wo.pl
@@ -1,31 +1,32 @@
+{
+ locale_version => 0.88,
# eng doesn't require tailoring
- entry => <<'ENTRY', # for DUCET v6.0.0
-00E0 ; [.15A4.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15A4.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15A4.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-00C0 ; [.15A4.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15A4.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15A4.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-00E9 ; [.1600.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.1600.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.1600.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.1600.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.1600.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.1600.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-00EB ; [.1601.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
-0065 0308 ; [.1601.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
-00CB ; [.1601.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
-0045 0308 ; [.1601.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
-00F1 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-00D1 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-00F3 ; [.1725.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1725.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1725.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1725.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1725.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1725.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+ entry => <<'ENTRY', # for DUCET v6.1.0
+00E0 ; [.15D5.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15D5.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15D5.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15D5.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15D5.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15D5.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+00E9 ; [.1632.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1632.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1632.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1632.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1632.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1632.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+00EB ; [.1633.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
+0065 0308 ; [.1633.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
+00CB ; [.1633.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
+0045 0308 ; [.1633.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
+00F1 ; [.1735.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1735.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.1735.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1735.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+00F3 ; [.1757.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1757.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1757.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1757.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1757.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1757.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/yo.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/yo.pl
index e0182c01ad3..243130f1363 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/yo.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/yo.pl
@@ -1,25 +1,26 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-1EB9 ; [.1600.0020.0002.1EB9] # LATIN SMALL LETTER E WITH DOT BELOW
-0065 0323 ; [.1600.0020.0002.1EB9] # LATIN SMALL LETTER E WITH DOT BELOW
-1EB8 ; [.1600.0020.0008.1EB8] # LATIN CAPITAL LETTER E WITH DOT BELOW
-0045 0323 ; [.1600.0020.0008.1EB8] # LATIN CAPITAL LETTER E WITH DOT BELOW
-1EC7 ; [.1600.0020.0002.1EB9][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.1600.0020.0008.1EB8][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-0067 0062 ; [.1645.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
-0047 0062 ; [.1645.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
-0047 0042 ; [.1645.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
-1ECD ; [.1725.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
-006F 0323 ; [.1725.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
-1ECC ; [.1725.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
-004F 0323 ; [.1725.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
-1ED9 ; [.1725.0020.0002.1ECD][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8 ; [.1725.0020.0008.1ECC][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EE3 ; [.1725.0020.0002.1ECD][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE2 ; [.1725.0020.0008.1ECC][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-1E63 ; [.17A7.0020.0002.1E63] # LATIN SMALL LETTER S WITH DOT BELOW
-0073 0323 ; [.17A7.0020.0002.1E63] # LATIN SMALL LETTER S WITH DOT BELOW
-1E62 ; [.17A7.0020.0008.1E62] # LATIN CAPITAL LETTER S WITH DOT BELOW
-0053 0323 ; [.17A7.0020.0008.1E62] # LATIN CAPITAL LETTER S WITH DOT BELOW
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+1EB9 ; [.1632.0020.0002.1EB9] # LATIN SMALL LETTER E WITH DOT BELOW
+0065 0323 ; [.1632.0020.0002.1EB9] # LATIN SMALL LETTER E WITH DOT BELOW
+1EB8 ; [.1632.0020.0008.1EB8] # LATIN CAPITAL LETTER E WITH DOT BELOW
+0045 0323 ; [.1632.0020.0008.1EB8] # LATIN CAPITAL LETTER E WITH DOT BELOW
+1EC7 ; [.1632.0020.0002.1EB9][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1632.0020.0008.1EB8][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+0067 0062 ; [.1677.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
+0047 0062 ; [.1677.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
+0047 0042 ; [.1677.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
+1ECD ; [.1757.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
+006F 0323 ; [.1757.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC ; [.1757.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
+004F 0323 ; [.1757.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1ED9 ; [.1757.0020.0002.1ECD][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.1757.0020.0008.1ECC][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1EE3 ; [.1757.0020.0002.1ECD][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE2 ; [.1757.0020.0008.1ECC][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+1E63 ; [.17D9.0020.0002.1E63] # LATIN SMALL LETTER S WITH DOT BELOW
+0073 0323 ; [.17D9.0020.0002.1E63] # LATIN SMALL LETTER S WITH DOT BELOW
+1E62 ; [.17D9.0020.0008.1E62] # LATIN CAPITAL LETTER S WITH DOT BELOW
+0053 0323 ; [.17D9.0020.0008.1E62] # LATIN CAPITAL LETTER S WITH DOT BELOW
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh.pl
index b58cbe80d41..7756222adbd 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh.pl
@@ -1,210 +1,211 @@
+{
- entry => <<'ENTRY', # for DUCET v6.0.0
-0101 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0100 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00E1 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-01CD ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-00E0 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-00C0 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0113 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0112 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00E9 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-011B ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-011A ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-00E8 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-00C8 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5 ; [.15FF.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4 ; [.15FF.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3 ; [.15FF.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2 ; [.15FF.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7 ; [.15FF.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.15FF.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-012A ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00ED ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0 ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-01CF ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-00EC ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-00CC ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.16F4.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.16F4.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-1E3E ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.16F4.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.16F4.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.1702.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.1702.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-0148 ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-0147 ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-01F9 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-01F8 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-014D ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-014C ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00F3 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2 ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-01D1 ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-00F2 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-00D2 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-016B ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-016A ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-00FA ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4 ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-01D3 ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-00F9 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-00D9 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.17E9.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.17E9.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.17E9.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.17E9.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+ locale_version => 0.88,
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0101 ; [.15D4.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15D4.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15D4.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15D4.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00E1 ; [.15D4.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15D4.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15D4.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15D4.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15D4.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15D4.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE ; [.15D4.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15D4.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+01CD ; [.15D4.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15D4.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+00E0 ; [.15D4.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15D4.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15D4.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15D4.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15D4.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15D4.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0113 ; [.1631.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1631.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.1631.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1631.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00E9 ; [.1631.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1631.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1631.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1631.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1631.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1631.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+011B ; [.1631.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.1631.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+011A ; [.1631.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.1631.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+00E8 ; [.1631.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.1631.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.1631.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+00C8 ; [.1631.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.1631.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.1631.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.1631.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.1631.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.1631.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.1631.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF ; [.1631.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.1631.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.1631.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1631.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.1631.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.1631.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.1631.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.1631.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.1631.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.1631.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.1631.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.1631.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.1631.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.1631.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1 ; [.1631.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.1631.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.1631.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1631.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.1631.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.1631.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.1631.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.1631.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.1631.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.1631.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA ; [.1631.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1631.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1631.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1631.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5 ; [.1631.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1631.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1631.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1631.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1631.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1631.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B ; [.16B2.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16B2.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.16B2.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16B2.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00ED ; [.16B2.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16B2.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16B2.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16B2.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16B2.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16B2.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0 ; [.16B2.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.16B2.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+01CF ; [.16B2.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.16B2.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+00EC ; [.16B2.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.16B2.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.16B2.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+00CC ; [.16B2.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.16B2.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.16B2.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.1726.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.1726.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F ; [.1726.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.1726.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.1726.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+1E3E ; [.1726.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.1726.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.1726.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.1726.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.1726.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.1726.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.1726.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.1726.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.1726.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.1734.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.1734.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144 ; [.1734.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1734.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1734.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.1734.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1734.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1734.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+0148 ; [.1734.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.1734.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+0147 ; [.1734.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.1734.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+01F9 ; [.1734.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.1734.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.1734.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+01F8 ; [.1734.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.1734.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.1734.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+014D ; [.1756.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1756.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.1756.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1756.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00F3 ; [.1756.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1756.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1756.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1756.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1756.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1756.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2 ; [.1756.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1756.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+01D1 ; [.1756.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1756.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+00F2 ; [.1756.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1756.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1756.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+00D2 ; [.1756.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1756.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1756.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+016B ; [.181B.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.181B.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.181B.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.181B.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+00FA ; [.181B.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.181B.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.181B.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.181B.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.181B.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.181B.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4 ; [.181B.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.181B.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+01D3 ; [.181B.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.181B.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+00F9 ; [.181B.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.181B.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.181B.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+00D9 ; [.181B.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.181B.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.181B.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6 ; [.181B.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.181B.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.181B.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.181B.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.181B.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.181B.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8 ; [.181B.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.181B.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.181B.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.181B.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.181B.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.181B.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.181B.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.181B.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.181B.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.181B.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA ; [.181B.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.181B.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.181B.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.181B.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.181B.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.181B.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC ; [.181B.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.181B.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.181B.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.181B.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.181B.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.181B.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.181B.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.181B.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.181B.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.181B.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC ; [.181B.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.181B.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.181B.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.181B.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_big5.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_big5.pl
index 6d8384c35fa..43735e888fc 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_big5.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_big5.pl
@@ -1,212 +1,945 @@
use Unicode::Collate::CJK::Big5;
+{
+ locale_version => 0.88,
overrideCJK => \&Unicode::Collate::CJK::Big5::weightBig5,
- entry => <<'ENTRY', # for DUCET v6.0.0
-0101 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0100 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00E1 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-01CD ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-00E0 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-00C0 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0113 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0112 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00E9 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-011B ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-011A ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-00E8 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-00C8 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5 ; [.15FF.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4 ; [.15FF.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3 ; [.15FF.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2 ; [.15FF.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7 ; [.15FF.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.15FF.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-012A ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00ED ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0 ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-01CF ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-00EC ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-00CC ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.16F4.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.16F4.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-1E3E ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.16F4.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.16F4.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.1702.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.1702.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-0148 ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-0147 ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-01F9 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-01F8 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-014D ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-014C ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00F3 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2 ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-01D1 ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-00F2 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-00D2 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-016B ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-016A ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-00FA ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4 ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-01D3 ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-00F9 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-00D9 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.17E9.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.17E9.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.17E9.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.17E9.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0101 ; [.15D4.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15D4.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15D4.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15D4.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00E1 ; [.15D4.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15D4.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15D4.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15D4.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15D4.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15D4.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE ; [.15D4.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15D4.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+01CD ; [.15D4.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15D4.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+00E0 ; [.15D4.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15D4.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15D4.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15D4.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15D4.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15D4.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0113 ; [.1631.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1631.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.1631.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1631.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00E9 ; [.1631.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1631.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1631.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1631.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1631.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1631.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+011B ; [.1631.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.1631.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+011A ; [.1631.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.1631.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+00E8 ; [.1631.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.1631.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.1631.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+00C8 ; [.1631.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.1631.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.1631.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.1631.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.1631.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.1631.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.1631.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF ; [.1631.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.1631.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.1631.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1631.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.1631.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.1631.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.1631.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.1631.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.1631.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.1631.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.1631.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.1631.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.1631.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.1631.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1 ; [.1631.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.1631.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.1631.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1631.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.1631.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.1631.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.1631.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.1631.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.1631.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.1631.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA ; [.1631.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1631.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1631.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1631.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5 ; [.1631.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1631.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1631.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1631.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1631.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1631.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B ; [.16B2.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16B2.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.16B2.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16B2.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00ED ; [.16B2.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16B2.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16B2.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16B2.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16B2.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16B2.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0 ; [.16B2.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.16B2.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+01CF ; [.16B2.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.16B2.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+00EC ; [.16B2.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.16B2.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.16B2.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+00CC ; [.16B2.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.16B2.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.16B2.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.1726.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.1726.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F ; [.1726.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.1726.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.1726.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+1E3E ; [.1726.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.1726.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.1726.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.1726.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.1726.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.1726.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.1726.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.1726.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.1726.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.1734.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.1734.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144 ; [.1734.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1734.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1734.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.1734.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1734.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1734.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+0148 ; [.1734.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.1734.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+0147 ; [.1734.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.1734.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+01F9 ; [.1734.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.1734.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.1734.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+01F8 ; [.1734.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.1734.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.1734.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+014D ; [.1756.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1756.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.1756.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1756.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00F3 ; [.1756.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1756.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1756.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1756.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1756.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1756.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2 ; [.1756.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1756.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+01D1 ; [.1756.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1756.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+00F2 ; [.1756.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1756.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1756.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+00D2 ; [.1756.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1756.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1756.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+016B ; [.181B.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.181B.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.181B.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.181B.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+00FA ; [.181B.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.181B.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.181B.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.181B.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.181B.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.181B.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4 ; [.181B.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.181B.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+01D3 ; [.181B.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.181B.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+00F9 ; [.181B.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.181B.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.181B.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+00D9 ; [.181B.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.181B.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.181B.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6 ; [.181B.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.181B.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.181B.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.181B.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.181B.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.181B.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8 ; [.181B.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.181B.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.181B.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.181B.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.181B.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.181B.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.181B.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.181B.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.181B.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.181B.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA ; [.181B.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.181B.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.181B.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.181B.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.181B.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.181B.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC ; [.181B.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.181B.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.181B.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.181B.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.181B.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.181B.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.181B.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.181B.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.181B.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.181B.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC ; [.181B.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.181B.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.181B.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.181B.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+F967 ; [.804A.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
+FA70 ; [.82DE.0020.0002.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
+F905 ; [.81CB.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801 ; [.8022.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E ; [.804D.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
+F91B ; [.8B74.0020.0002.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
+F9BA ; [.800F.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977 ; [.845B.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD ; [.8057.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+F9A8 ; [.80B5.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+2F804 ; [.81E1.0020.0002.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804
+FA73 ; [.96AF.0020.0002.4F80] # CJK COMPATIBILITY IDEOGRAPH-FA73
+F92D ; [.82EE.0020.0002.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5 ; [.82ED.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30 ; [.846A.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805 ; [.846A.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
+2F806 ; [.981A.0020.0002.4FBB] # CJK COMPATIBILITY IDEOGRAPH-2F806
+F965 ; [.845F.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
+F9D4 ; [.8607.0020.0002.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F808 ; [.87B2.0020.0002.507A] # CJK COMPATIBILITY IDEOGRAPH-2F808
+2F809 ; [.89A0.0020.0002.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B ; [.8D3B.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB ; [.8D39.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31 ; [.8D34.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A ; [.8D34.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C ; [.802A.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74 ; [.80B8.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32 ; [.81EB.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E ; [.81EB.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F ; [.82FA.0020.0002.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+2F814 ; [.8061.0020.0002.5167] # CJK COMPATIBILITY IDEOGRAPH-2F814
+FA72 ; [.8142.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978 ; [.82FD.0020.0002.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
+F9D1 ; [.8062.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811 ; [.82FE.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75 ; [.9045.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815 ; [.8144.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2 ; [.8473.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3 ; [.87C6.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817 ; [.8065.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818 ; [.860A.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A ; [.80BC.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+F92E ; [.81EE.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F955 ; [.860E.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954 ; [.8EC0.0020.0002.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
+FA15 ; [.A8BA.0020.0002.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15
+2F81D ; [.9524.0020.0002.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F81E ; [.802B.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00 ; [.8068.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850 ; [.8068.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C ; [.8146.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD ; [.81F1.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF ; [.8306.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820 ; [.8303.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F821 ; [.96CC.0020.0002.5246] # CJK COMPATIBILITY IDEOGRAPH-2F821
+2F822 ; [.89A8.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
+2F823 ; [.8B81.0020.0002.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823
+F9C7 ; [.8EC3.0020.0002.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A ; [.8018.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D ; [.814B.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
+FA76 ; [.847D.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825 ; [.847D.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33 ; [.847E.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826 ; [.847E.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952 ; [.87CA.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
+F92F ; [.89AC.0020.0002.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34 ; [.8B85.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827 ; [.8B85.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F ; [.916E.0020.0002.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
+FA77 ; [.802C.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828 ; [.802C.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829 ; [.80C3.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A ; [.80C4.0020.0002.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+F963 ; [.80C5.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B ; [.80C5.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB ; [.87D1.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C ; [.80C9.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35 ; [.8310.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D ; [.8310.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E ; [.89AF.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F ; [.81F9.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C ; [.81FA.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F831 ; [.8617.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832 ; [.8617.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833 ; [.8617.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
+F96B ; [.87D4.0020.0002.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F836 ; [.8075.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837 ; [.861A.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906 ; [.80DF.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839 ; [.80D9.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A ; [.80DD.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+2F83B ; [.815E.0020.0002.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B
+F9DE ; [.8152.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED ; [.81FB.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D ; [.820C.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+F980 ; [.8206.0020.0002.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E ; [.8205.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F ; [.832A.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+2F840 ; [.983D.0020.0002.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E ; [.8490.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F842 ; [.861C.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
+FA79 ; [.87E1.0020.0002.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79
+2F844 ; [.87E8.0020.0002.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845 ; [.8AD1.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846 ; [.8AD1.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B ; [.89BC.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A ; [.89CB.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847 ; [.89CB.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36 ; [.89B6.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78 ; [.89B6.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848 ; [.89CA.0020.0002.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
+2F849 ; [.89BF.0020.0002.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849
+FA0D ; [.A137.0020.0002.55C0] # CJK COMPATIBILITY IDEOGRAPH-FA0D
+2F84A ; [.A146.0020.0002.55C2] # CJK COMPATIBILITY IDEOGRAPH-2F84A
+FA7B ; [.A140.0020.0002.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B
+FA37 ; [.8D4C.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C ; [.8D4C.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+FA38 ; [.9052.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F ; [.8ED2.0020.0002.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+F9A9 ; [.96EA.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B ; [.8D57.0020.0002.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F855 ; [.849E.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852 ; [.84A2.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853 ; [.9C30.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F854 ; [.9C49.0020.0002.580D] # CJK COMPATIBILITY IDEOGRAPH-2F854
+2F857 ; [.89D2.0020.0002.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
+2F856 ; [.9A14.0020.0002.5832] # CJK COMPATIBILITY IDEOGRAPH-2F856
+FA10 ; [.8BA0.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C ; [.8BA0.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C ; [.8B9C.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A ; [.903E.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+2F858 ; [.A65C.0020.0002.58AC] # CJK COMPATIBILITY IDEOGRAPH-2F858
+FA7D ; [.8ED9.0020.0002.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A ; [.9282.0020.0002.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942 ; [.932E.0020.0002.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F85C ; [.960C.0020.0002.5906] # CJK COMPATIBILITY IDEOGRAPH-2F85C
+2F85D ; [.816B.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+2F85E ; [.8D62.0020.0002.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+FA7E ; [.833B.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C ; [.833A.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909 ; [.84A6.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F ; [.833C.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F ; [.87FB.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981 ; [.8034.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F865 ; [.84AB.0020.0002.59D8] # CJK COMPATIBILITY IDEOGRAPH-2F865
+2F862 ; [.8641.0020.0002.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
+2F863 ; [.863F.0020.0002.5A1B] # CJK COMPATIBILITY IDEOGRAPH-2F863
+FA80 ; [.8803.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866 ; [.87FF.0020.0002.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F986 ; [.A15F.0020.0002.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
+2F869 ; [.8EE4.0020.0002.5B08] # CJK COMPATIBILITY IDEOGRAPH-2F869
+FA81 ; [.A8D9.0020.0002.5B28] # CJK COMPATIBILITY IDEOGRAPH-FA81
+2F86A ; [.AE41.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B ; [.AE41.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+FA04 ; [.8179.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
+2F86E ; [.A16E.0020.0002.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E
+F95F ; [.8D6F.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA ; [.8D6F.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F ; [.8D6F.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC ; [.8EE5.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F875 ; [.803A.0020.0002.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
+F9BD ; [.823D.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877 ; [.8811.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F94B ; [.8D78.0020.0002.5C62] # CJK COMPATIBILITY IDEOGRAPH-F94B
+FA3B ; [.8EE9.0020.0002.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF ; [.8EEA.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C ; [.952C.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878 ; [.952C.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
+2F87A ; [.961C.0020.0002.5C8D] # CJK COMPATIBILITY IDEOGRAPH-2F87A
+F9D5 ; [.881D.0020.0002.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+2F87C ; [.9ECC.0020.0002.5D43] # CJK COMPATIBILITY IDEOGRAPH-2F87C
+F921 ; [.89E9.0020.0002.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
+2F87F ; [.9ECD.0020.0002.5D6B] # CJK COMPATIBILITY IDEOGRAPH-2F87F
+2F880 ; [.A424.0020.0002.5D7C] # CJK COMPATIBILITY IDEOGRAPH-2F880
+2F9F4 ; [.A8E7.0020.0002.5DB2] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
+F9AB ; [.9180.0020.0002.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F881 ; [.82D0.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882 ; [.8821.0020.0002.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F884 ; [.89EC.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F885 ; [.9A3D.0020.0002.5E28] # CJK COMPATIBILITY IDEOGRAPH-2F885
+2F886 ; [.89EE.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
+2F887 ; [.A67A.0020.0002.5E69] # CJK COMPATIBILITY IDEOGRAPH-2F887
+F98E ; [.8181.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01 ; [.84C9.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88B ; [.9885.0020.0002.5EB0] # CJK COMPATIBILITY IDEOGRAPH-2F88B
+2F88C ; [.9C88.0020.0002.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D ; [.8828.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2 ; [.8BB7.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928 ; [.89F2.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E ; [.89F2.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA82 ; [.A432.0020.0002.5ED2] # CJK COMPATIBILITY IDEOGRAPH-FA82
+FA0B ; [.8D80.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+FA83 ; [.A431.0020.0002.5ED9] # CJK COMPATIBILITY IDEOGRAPH-FA83
+F982 ; [.9332.0020.0002.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
+2F890 ; [.8044.0020.0002.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
+F943 ; [.8249.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F894 ; [.9729.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894
+2F895 ; [.9729.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895
+2F899 ; [.824C.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84 ; [.882F.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A ; [.8830.0020.0002.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+F9D8 ; [.84D1.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+F966 ; [.89F8.0020.0002.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85 ; [.A189.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D ; [.8252.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E ; [.8251.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3 ; [.8378.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+F960 ; [.84D5.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC ; [.9746.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+2F8A0 ; [.9A4D.0020.0002.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D ; [.8675.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3 ; [.8675.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5 ; [.884C.0020.0002.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86 ; [.8846.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9 ; [.89FC.0020.0002.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88 ; [.8BC5.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9 ; [.8BC8.0020.0002.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6 ; [.8BBF.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7 ; [.8BC7.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9 ; [.8BC7.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87 ; [.8BC6.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8 ; [.8BC6.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA3E ; [.8A07.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+2F8AA ; [.A445.0020.0002.617A] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
+FA3F ; [.8F07.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89 ; [.8F07.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB ; [.8F07.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F ; [.8F05.0020.0002.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD ; [.8F0A.0020.0002.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AE ; [.A68D.0020.0002.61AF] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
+2F8AC ; [.9064.0020.0002.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+2F8AF ; [.AB1C.0020.0002.61DE] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
+FA40 ; [.9333.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B ; [.9333.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0 ; [.9333.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D ; [.9335.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1 ; [.9335.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990 ; [.94AE.0020.0002.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F8B2 ; [.8189.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3 ; [.884E.0020.0002.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2 ; [.8F0D.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C ; [.918C.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B5 ; [.83A2.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925 ; [.838C.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B ; [.98A4.0020.0002.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02 ; [.8395.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6 ; [.8396.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+2F8BA ; [.84E9.0020.0002.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
+F973 ; [.84F3.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9 ; [.8687.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7 ; [.8686.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+2F8BB ; [.886B.0020.0002.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4 ; [.8869.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC ; [.885D.0020.0002.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975 ; [.8850.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1 ; [.885B.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D ; [.9F18.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+2F8C0 ; [.A19C.0020.0002.63C5] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
+2F8BD ; [.9A60.0020.0002.63E4] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
+FA8E ; [.8BDA.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8BF ; [.A1AB.0020.0002.6422] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
+FA8F ; [.8A23.0020.0002.6452] # CJK COMPATIBILITY IDEOGRAPH-FA8F
+2F8C3 ; [.8F0E.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+2F8C6 ; [.A469.0020.0002.6477] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
+F991 ; [.8F1E.0020.0002.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
+2F8C5 ; [.9F0B.0020.0002.649D] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
+F930 ; [.9074.0020.0002.64C4] # CJK COMPATIBILITY IDEOGRAPH-F930
+FA41 ; [.8873.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8 ; [.8873.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90 ; [.886E.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9 ; [.8BE1.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969 ; [.8F25.0020.0002.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
+F9BE ; [.868F.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983 ; [.8691.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
+FA42 ; [.84FB.0020.0002.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
+F9E0 ; [.83AE.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+2F8CD ; [.8693.0020.0002.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12 ; [.8A2F.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91 ; [.8A2F.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5 ; [.8BE7.0020.0002.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43 ; [.8A32.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF ; [.8A32.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+FA06 ; [.8F28.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F98B ; [.907D.0020.0002.66C6] # CJK COMPATIBILITY IDEOGRAPH-F98B
+F901 ; [.8271.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC ; [.869A.0020.0002.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4 ; [.89A6.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929 ; [.869D.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92 ; [.869D.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8 ; [.869D.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93 ; [.8886.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9 ; [.8886.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+2F8DA ; [.A2D8.0020.0002.6721] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
+F9E1 ; [.8273.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC ; [.827D.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94 ; [.8278.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB ; [.8279.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9C8 ; [.976E.0020.0002.677B] # CJK COMPATIBILITY IDEOGRAPH-F9C8
+2F8E0 ; [.9769.0020.0002.6785] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
+F9F4 ; [.83C3.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9 ; [.8519.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+2F8DF ; [.98ED.0020.0002.67FA] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
+F9DA ; [.86A8.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+2F8E5 ; [.9A80.0020.0002.681F] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
+F97A ; [.8887.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44 ; [.8896.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2 ; [.8896.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+F9E2 ; [.8899.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E6 ; [.9F53.0020.0002.6914] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
+2F8E8 ; [.A1D6.0020.0002.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8E9 ; [.8DB6.0020.0002.69A3] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
+F914 ; [.8F35.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C ; [.8F35.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF ; [.8F35.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C ; [.8F32.0020.0002.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
+2F8EB ; [.AB36.0020.0002.6AA8] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
+F931 ; [.933E.0020.0002.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED ; [.91A0.0020.0002.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D ; [.942D.0020.0002.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F8EF ; [.8199.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1 ; [.A93D.0020.0002.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+2F8F3 ; [.8C01.0020.0002.6B72] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
+F98C ; [.9093.0020.0002.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C
+FA95 ; [.8096.0020.0002.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
+2F8F4 ; [.A49C.0020.0002.6B9F] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
+F9A5 ; [.91A7.0020.0002.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5
+F970 ; [.889E.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96 ; [.889E.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5 ; [.889E.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8FA ; [.81A7.0020.0002.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+2F8FE ; [.9667.0020.0002.6C67] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
+F972 ; [.8285.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC ; [.83EC.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968 ; [.83DA.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
+2F8FD ; [.979E.0020.0002.6CCD] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
+F9E3 ; [.83DB.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+2F8FF ; [.9ACA.0020.0002.6D16] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
+F915 ; [.8534.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05 ; [.852E.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F907 ; [.98FD.0020.0002.6D34] # CJK COMPATIBILITY IDEOGRAPH-2F907
+2F900 ; [.8532.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA ; [.852A.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97 ; [.852A.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902 ; [.852A.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903 ; [.86CD.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A ; [.86BF.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45 ; [.86C5.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901 ; [.86C5.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904 ; [.86C4.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905 ; [.86D1.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5 ; [.88AE.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F94D ; [.88BB.0020.0002.6DDA] # CJK COMPATIBILITY IDEOGRAPH-F94D
+F9D6 ; [.88BE.0020.0002.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E ; [.88B3.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46 ; [.88B9.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908 ; [.8A5B.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909 ; [.8A6A.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB ; [.8C16.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC ; [.8C12.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+2F90C ; [.8C0D.0020.0002.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C
+FA99 ; [.8A75.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B ; [.8A75.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904 ; [.8C14.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
+F94E ; [.8DC3.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
+FA47 ; [.8DC5.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A ; [.8DC5.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992 ; [.8DCC.0020.0002.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F ; [.8F48.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912 ; [.A6E7.0020.0002.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922 ; [.91B0.0020.0002.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984 ; [.929E.0020.0002.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915 ; [.933F.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
+2F913 ; [.AFA4.0020.0002.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913
+2F917 ; [.B08F.0020.0002.704A] # CJK COMPATIBILITY IDEOGRAPH-2F917
+2F835 ; [.81A8.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F918 ; [.829E.0020.0002.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB ; [.83FA.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A ; [.8543.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F ; [.86D8.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916 ; [.86D7.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
+F993 ; [.8C20.0020.0002.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48 ; [.8A84.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C ; [.8A84.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+2F91E ; [.A719.0020.0002.719C] # CJK COMPATIBILITY IDEOGRAPH-2F91E
+F9C0 ; [.90AA.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE ; [.90A5.0020.0002.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932 ; [.93D5.0020.0002.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E ; [.9431.0020.0002.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920 ; [.951C.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA9E ; [.91C2.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921 ; [.91C2.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
+F946 ; [.82A0.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924 ; [.8A88.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
+2F925 ; [.A4DB.0020.0002.7295] # CJK COMPATIBILITY IDEOGRAPH-2F925
+FA9F ; [.810B.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F9FA ; [.8401.0020.0002.72C0] # CJK COMPATIBILITY IDEOGRAPH-F9FA
+F92B ; [.86DC.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
+F9A7 ; [.92A8.0020.0002.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928 ; [.934B.0020.0002.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
+F961 ; [.88D5.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB ; [.88D5.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929 ; [.80A4.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
+2F92B ; [.840A.0020.0002.73A5] # CJK COMPATIBILITY IDEOGRAPH-2F92B
+F9AD ; [.8551.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917 ; [.86E7.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4 ; [.88D9.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC ; [.86E3.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A ; [.8A90.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92F ; [.8C3A.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE ; [.8F5B.0020.0002.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+FAA1 ; [.A4E3.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-FAA1
+2F930 ; [.A4E3.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-2F930
+2F931 ; [.A72F.0020.0002.7485] # CJK COMPATIBILITY IDEOGRAPH-2F931
+F994 ; [.A72A.0020.0002.7489] # CJK COMPATIBILITY IDEOGRAPH-F994
+F9EF ; [.90B2.0020.0002.7498] # CJK COMPATIBILITY IDEOGRAPH-F9EF
+2F932 ; [.934D.0020.0002.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
+2F936 ; [.97C7.0020.0002.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936
+F9CD ; [.86EC.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976 ; [.88E1.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962 ; [.88E4.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938 ; [.88E4.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
+F9E5 ; [.8A9D.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A ; [.A26E.0020.0002.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA4 ; [.A739.0020.0002.761D] # CJK COMPATIBILITY IDEOGRAPH-FAA4
+FAA5 ; [.8F63.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1 ; [.91CB.0020.0002.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E ; [.9435.0020.0002.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
+FA17 ; [.86F9.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6 ; [.86F9.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7 ; [.88EE.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+F933 ; [.90BB.0020.0002.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
+FAA8 ; [.8412.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940 ; [.8412.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D ; [.8568.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F946 ; [.86FD.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947 ; [.86FD.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAA9 ; [.9FEB.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-FAA9
+2F948 ; [.9FEB.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-2F948
+2F94A ; [.8F6F.0020.0002.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+FA9D ; [.91D2.0020.0002.77A7] # CJK COMPATIBILITY IDEOGRAPH-FA9D
+2F94E ; [.88F7.0020.0002.784E] # CJK COMPATIBILITY IDEOGRAPH-2F94E
+F9CE ; [.88F5.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B ; [.8C59.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F ; [.8C59.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B ; [.8C5C.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947 ; [.8F73.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
+FAAB ; [.A74A.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-FAAB
+2F950 ; [.A74A.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-2F950
+F964 ; [.AB7A.0020.0002.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964
+F985 ; [.93DB.0020.0002.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
+FA4C ; [.8415.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E ; [.8577.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D ; [.8576.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F ; [.870D.0020.0002.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50 ; [.8710.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953 ; [.8710.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51 ; [.8712.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19 ; [.8711.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A ; [.88F8.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+F93C ; [.8C60.0020.0002.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
+FA52 ; [.8DFC.0020.0002.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53 ; [.8DFA.0020.0002.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B ; [.8DFB.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956 ; [.8DFB.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6 ; [.92B4.0020.0002.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+2F957 ; [.9B31.0020.0002.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
+F956 ; [.8C64.0020.0002.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54 ; [.8F7A.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959 ; [.8F7A.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
+2F95A ; [.A517.0020.0002.7A4A] # CJK COMPATIBILITY IDEOGRAPH-2F95A
+FA55 ; [.857F.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
+FAAC ; [.A9B0.0020.0002.7AB1] # CJK COMPATIBILITY IDEOGRAPH-FAAC
+F9F7 ; [.8123.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+2F95F ; [.A51F.0020.0002.7AEE] # CJK COMPATIBILITY IDEOGRAPH-2F95F
+F9F8 ; [.88FE.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+FA56 ; [.8C6D.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD ; [.8C6D.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962 ; [.8F84.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963 ; [.90CE.0020.0002.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6 ; [.9358.0020.0002.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944 ; [.9486.0020.0002.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
+F9F9 ; [.8906.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D ; [.8E10.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+2F966 ; [.A9C2.0020.0002.7CD2] # CJK COMPATIBILITY IDEOGRAPH-2F966
+FA03 ; [.90D5.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
+F97B ; [.92C0.0020.0002.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F968 ; [.ABA1.0020.0002.7CE8] # CJK COMPATIBILITY IDEOGRAPH-2F968
+2F96A ; [.8585.0020.0002.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF ; [.8729.0020.0002.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A ; [.8727.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F ; [.8913.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FAAF ; [.8C79.0020.0002.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C ; [.A019.0020.0002.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F93D ; [.8E16.0020.0002.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D
+F957 ; [.8E15.0020.0002.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E ; [.8E22.0020.0002.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996 ; [.8F8B.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57 ; [.8F8B.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0 ; [.8F8B.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+FA58 ; [.90DD.0020.0002.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950 ; [.91EE.0020.0002.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59 ; [.91F5.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
+2F970 ; [.91F4.0020.0002.7E45] # CJK COMPATIBILITY IDEOGRAPH-2F970
+FAB1 ; [.A028.0020.0002.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1
+FA5A ; [.8C7D.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6 ; [.90DF.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+2F976 ; [.A9DD.0020.0002.7F7A] # CJK COMPATIBILITY IDEOGRAPH-2F976
+F90F ; [.9363.0020.0002.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
+2F978 ; [.9DAA.0020.0002.7F95] # CJK COMPATIBILITY IDEOGRAPH-2F978
+F9AF ; [.8919.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E ; [.81B1.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+F934 ; [.81B2.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B ; [.8421.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2 ; [.8421.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A ; [.8421.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0 ; [.891F.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+F997 ; [.9202.0020.0002.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F ; [.9201.0020.0002.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945 ; [.9488.0020.0002.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
+F953 ; [.81B9.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6 ; [.97E3.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982 ; [.82B9.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F985 ; [.8ADE.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926 ; [.9368.0020.0002.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
+F9F6 ; [.920D.0020.0002.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+FA5C ; [.874A.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893 ; [.9B73.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B ; [.9B73.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+2F98C ; [.A042.0020.0002.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C
+F97C ; [.82BA.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
+2F990 ; [.82BC.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F98F ; [.9698.0020.0002.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F
+2F991 ; [.8430.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993 ; [.8436.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994 ; [.842F.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995 ; [.8433.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974 ; [.85A7.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998 ; [.85A7.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996 ; [.85A5.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
+F9FE ; [.875F.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3 ; [.8754.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F9A0 ; [.9B92.0020.0002.8353] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
+2F99D ; [.8932.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+F93E ; [.A062.0020.0002.83C9] # CJK COMPATIBILITY IDEOGRAPH-F93E
+2F9A1 ; [.8AF6.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2 ; [.8AF3.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3 ; [.8AFA.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+2F99E ; [.A04E.0020.0002.83E7] # CJK COMPATIBILITY IDEOGRAPH-2F99E
+FAB4 ; [.8AEC.0020.0002.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958 ; [.8AED.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918 ; [.8C93.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E ; [.8C98.0020.0002.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F ; [.8AEF.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F ; [.8AEF.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999 ; [.8FA8.0020.0002.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
+2F9A8 ; [.A2E5.0020.0002.84F1] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
+2F9A9 ; [.A7A9.0020.0002.84F3] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
+F9C2 ; [.A7AA.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AA ; [.A7AE.0020.0002.8516] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
+2F9AC ; [.A9FC.0020.0002.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+F923 ; [.92D2.0020.0002.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0 ; [.93F0.0020.0002.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935 ; [.93F1.0020.0002.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
+F91F ; [.943C.0020.0002.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910 ; [.94BE.0020.0002.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F9B3 ; [.85B6.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936 ; [.8CA3.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4 ; [.8CA3.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5 ; [.921B.0020.0002.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B6 ; [.AD63.0020.0002.8669] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
+2F9B7 ; [.876A.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+2F9BA ; [.A07B.0020.0002.86E2] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
+2F9B9 ; [.A327.0020.0002.870E] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
+2F9BC ; [.A587.0020.0002.8728] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
+2F9BD ; [.A588.0020.0002.876B] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
+FAB5 ; [.AA1E.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-FAB5
+2F9BB ; [.AA1E.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
+F911 ; [.9223.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
+2F9C0 ; [.A7C9.0020.0002.87E1] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
+2F9C1 ; [.AD77.0020.0002.8801] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
+F927 ; [.9441.0020.0002.881F] # CJK COMPATIBILITY IDEOGRAPH-F927
+FA08 ; [.81C7.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C4 ; [.81C8.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0 ; [.8B09.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+2F9C6 ; [.A08D.0020.0002.88D7] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
+2F9C7 ; [.A331.0020.0002.88DE] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
+F9E8 ; [.8CB7.0020.0002.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912 ; [.8E56.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
+2F9C9 ; [.A5A9.0020.0002.88FA] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
+FA60 ; [.8FC1.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6 ; [.AC06.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924 ; [.93F7.0020.0002.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
+FAB7 ; [.92DD.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A ; [.82BE.0020.0002.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+FA61 ; [.8B0C.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8 ; [.8B0C.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2F9CF ; [.8CC6.0020.0002.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+F96F ; [.8E63.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F
+F9A1 ; [.8E63.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F9A1
+FAB9 ; [.8FD1.0020.0002.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB ; [.8FCC.0020.0002.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D ; [.8FC8.0020.0002.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941 ; [.8FD3.0020.0002.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE ; [.910F.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0 ; [.910F.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22 ; [.8FCD.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA ; [.8FCD.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D ; [.910B.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD ; [.910B.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62 ; [.910C.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC ; [.910C.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63 ; [.92E1.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF ; [.92E1.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC ; [.937B.0020.0002.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A ; [.948E.0020.0002.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0 ; [.94C0.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1 ; [.94C0.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+F900 ; [.877F.0020.0002.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2 ; [.82C3.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D4 ; [.8961.0020.0002.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5 ; [.8B21.0020.0002.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948 ; [.8CDA.0020.0002.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
+F903 ; [.8CD6.0020.0002.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64 ; [.8E6D.0020.0002.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65 ; [.9382.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1 ; [.9382.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D6 ; [.94E5.0020.0002.8D1B] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
+2F9D7 ; [.8784.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DB ; [.9E2B.0020.0002.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
+2F9DA ; [.8B2E.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937 ; [.8CDF.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
+2F9DC ; [.A362.0020.0002.8DF0] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
+F902 ; [.82C9.0020.0002.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
+2F9DE ; [.8787.0020.0002.8ED4] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
+F998 ; [.8FF7.0020.0002.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7 ; [.8FF8.0020.0002.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2 ; [.911F.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF ; [.911F.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07 ; [.911D.0020.0002.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D ; [.B17B.0020.0002.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
+F971 ; [.82CB.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
+F99A ; [.896F.0020.0002.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25 ; [.8B3B.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67 ; [.8B3B.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
+FAC3 ; [.9126.0020.0002.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3 ; [.9127.0020.0002.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913 ; [.94C2.0020.0002.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
+2F9E2 ; [.95D3.0020.0002.9094] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
+F92C ; [.85D2.0020.0002.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
+2F9E3 ; [.99C1.0020.0002.90F1] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
+FA26 ; [.897D.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
+2F9E4 ; [.A380.0020.0002.9111] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
+2F9E6 ; [.A5E0.0020.0002.911B] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
+F919 ; [.8CFE.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
+FAC4 ; [.AC37.0020.0002.9199] # CJK COMPATIBILITY IDEOGRAPH-FAC4
+F9B7 ; [.9406.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9 ; [.82D8.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E ; [.8B44.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A ; [.844C.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9B1 ; [.8D0B.0020.0002.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9E7 ; [.8D03.0020.0002.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
+FAC5 ; [.A5E7.0020.0002.9276] # CJK COMPATIBILITY IDEOGRAPH-FAC5
+2F9EA ; [.8E92.0020.0002.927C] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
+2F9E8 ; [.A850.0020.0002.92D7] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
+2F9E9 ; [.A84E.0020.0002.92D8] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
+F93F ; [.9133.0020.0002.9304] # CJK COMPATIBILITY IDEOGRAPH-F93F
+F99B ; [.9255.0020.0002.934A] # CJK COMPATIBILITY IDEOGRAPH-F99B
+2F9EB ; [.AF08.0020.0002.93F9] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
+2F9EC ; [.B00B.0020.0002.9415] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
+2F9EE ; [.8B50.0020.0002.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986 ; [.9016.0020.0002.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
+2F9F0 ; [.AC62.0020.0002.95B7] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
+F9C6 ; [.82DA.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951 ; [.85DA.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09 ; [.85DC.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959 ; [.8988.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3 ; [.898A.0020.0002.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+FAC6 ; [.9E5B.0020.0002.967C] # CJK COMPATIBILITY IDEOGRAPH-FAC6
+F9DC ; [.8B5A.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9B8 ; [.9265.0020.0002.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+2F9F3 ; [.A10C.0020.0002.96C3] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
+F9EA ; [.9304.0020.0002.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68 ; [.93A2.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7 ; [.93A2.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+F9B2 ; [.8D1D.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949 ; [.8D1A.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
+2F9F5 ; [.ADDE.0020.0002.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
+F938 ; [.9459.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3 ; [.94E9.0020.0002.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+FA1C ; [.8D1E.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8 ; [.8D1E.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+FA69 ; [.945A.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA ; [.945A.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
+F9B4 ; [.8EA4.0020.0002.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+2FA00 ; [.A87A.0020.0002.9829] # CJK COMPATIBILITY IDEOGRAPH-2FA00
+FA6A ; [.914C.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC ; [.914C.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0 ; [.93A8.0020.0002.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2FA02 ; [.87AA.0020.0002.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A ; [.8B6B.0020.0002.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B ; [.8D27.0020.0002.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C ; [.9152.0020.0002.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+2FA04 ; [.AAB6.0020.0002.9929] # CJK COMPATIBILITY IDEOGRAPH-2FA04
+2FA05 ; [.AF33.0020.0002.99A7] # CJK COMPATIBILITY IDEOGRAPH-2FA05
+2FA06 ; [.A624.0020.0002.99C2] # CJK COMPATIBILITY IDEOGRAPH-2FA06
+F91A ; [.9159.0020.0002.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
+2FA07 ; [.AC8F.0020.0002.99FE] # CJK COMPATIBILITY IDEOGRAPH-2FA07
+F987 ; [.951D.0020.0002.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
+FACD ; [.B044.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD
+2FA0A ; [.B044.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
+F939 ; [.9037.0020.0002.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
+2FA0B ; [.B04C.0020.0002.9C40] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
+F9F2 ; [.94D0.0020.0002.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+2FA0C ; [.A8A7.0020.0002.9CFD] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
+2FA0F ; [.ACA6.0020.0002.9D67] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
+FA2D ; [.9468.0020.0002.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A ; [.94F2.0020.0002.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920 ; [.9520.0020.0002.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
+F940 ; [.899A.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
+F988 ; [.93BB.0020.0002.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3 ; [.94D3.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15 ; [.899C.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989 ; [.903D.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA17 ; [.A116.0020.0002.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FA1A ; [.A8B3.0020.0002.9F0F] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
+2FA1B ; [.AE29.0020.0002.9F16] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
+2FA1C ; [.8EB5.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+FAD8 ; [.B230.0020.0002.9F43] # CJK COMPATIBILITY IDEOGRAPH-FAD8
+F9C4 ; [.9168.0020.0002.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+F907 ; [.9169.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908 ; [.9169.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE ; [.9169.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_gb.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_gb.pl
index 450250071ad..1d4bef79f87 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_gb.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_gb.pl
@@ -1,217 +1,627 @@
use Unicode::Collate::CJK::GB2312;
+{
+ locale_version => 0.88,
overrideCJK => \&Unicode::Collate::CJK::GB2312::weightGB2312,
- entry => <<'ENTRY', # for DUCET v6.0.0
-0101 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0100 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00E1 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-01CD ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-00E0 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-00C0 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0113 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0112 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00E9 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-011B ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-011A ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-00E8 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-00C8 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5 ; [.15FF.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4 ; [.15FF.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3 ; [.15FF.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2 ; [.15FF.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7 ; [.15FF.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.15FF.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-012A ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00ED ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0 ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-01CF ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-00EC ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-00CC ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.16F4.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.16F4.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-1E3E ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.16F4.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.16F4.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.1702.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.1702.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-0148 ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-0147 ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-01F9 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-01F8 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-014D ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-014C ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00F3 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2 ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-01D1 ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-00F2 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-00D2 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-016B ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-016A ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-00FA ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4 ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-01D3 ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-00F9 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-00D9 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.17E9.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.17E9.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.17E9.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.17E9.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0101 ; [.15D4.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15D4.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15D4.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15D4.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00E1 ; [.15D4.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15D4.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15D4.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15D4.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15D4.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15D4.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE ; [.15D4.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15D4.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+01CD ; [.15D4.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15D4.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+00E0 ; [.15D4.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15D4.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15D4.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15D4.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15D4.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15D4.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0113 ; [.1631.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1631.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.1631.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1631.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00E9 ; [.1631.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1631.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1631.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1631.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1631.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1631.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+011B ; [.1631.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.1631.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+011A ; [.1631.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.1631.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+00E8 ; [.1631.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.1631.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.1631.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+00C8 ; [.1631.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.1631.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.1631.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.1631.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.1631.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.1631.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.1631.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF ; [.1631.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.1631.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.1631.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1631.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.1631.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.1631.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.1631.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.1631.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.1631.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.1631.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.1631.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.1631.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.1631.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.1631.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1 ; [.1631.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.1631.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.1631.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1631.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.1631.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.1631.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.1631.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.1631.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.1631.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.1631.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA ; [.1631.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1631.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1631.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1631.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5 ; [.1631.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1631.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1631.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1631.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1631.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1631.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B ; [.16B2.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16B2.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.16B2.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16B2.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00ED ; [.16B2.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16B2.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16B2.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16B2.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16B2.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16B2.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0 ; [.16B2.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.16B2.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+01CF ; [.16B2.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.16B2.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+00EC ; [.16B2.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.16B2.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.16B2.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+00CC ; [.16B2.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.16B2.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.16B2.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.1726.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.1726.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F ; [.1726.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.1726.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.1726.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+1E3E ; [.1726.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.1726.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.1726.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.1726.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.1726.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.1726.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.1726.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.1726.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.1726.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.1734.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.1734.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144 ; [.1734.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1734.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1734.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.1734.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1734.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1734.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+0148 ; [.1734.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.1734.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+0147 ; [.1734.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.1734.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+01F9 ; [.1734.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.1734.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.1734.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+01F8 ; [.1734.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.1734.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.1734.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+014D ; [.1756.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1756.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.1756.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1756.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00F3 ; [.1756.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1756.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1756.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1756.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1756.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1756.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2 ; [.1756.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1756.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+01D1 ; [.1756.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1756.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+00F2 ; [.1756.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1756.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1756.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+00D2 ; [.1756.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1756.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1756.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+016B ; [.181B.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.181B.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.181B.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.181B.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+00FA ; [.181B.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.181B.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.181B.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.181B.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.181B.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.181B.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4 ; [.181B.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.181B.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+01D3 ; [.181B.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.181B.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+00F9 ; [.181B.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.181B.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.181B.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+00D9 ; [.181B.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.181B.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.181B.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6 ; [.181B.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.181B.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.181B.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.181B.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.181B.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.181B.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8 ; [.181B.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.181B.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.181B.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.181B.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.181B.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.181B.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.181B.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.181B.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.181B.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.181B.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA ; [.181B.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.181B.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.181B.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.181B.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.181B.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.181B.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC ; [.181B.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.181B.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.181B.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.181B.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.181B.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.181B.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.181B.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.181B.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.181B.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.181B.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC ; [.181B.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.181B.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.181B.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.181B.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
E2D8 ; [.8EAB.0020.0002.E2D8] # <unknown>
E2D9 ; [.8EAC.0020.0002.E2D9] # <unknown>
E2DA ; [.8EAD.0020.0002.E2DA] # <unknown>
E2DB ; [.8EAE.0020.0002.E2DB] # <unknown>
E2DC ; [.8EAF.0020.0002.E2DC] # <unknown>
+F967 ; [.80D6.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
+F905 ; [.8185.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801 ; [.8AED.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E ; [.81D9.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
+2F800 ; [.8635.0020.0002.4E3D] # CJK COMPATIBILITY IDEOGRAPH-2F800
+F9BA ; [.8668.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977 ; [.865E.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD ; [.899D.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+F9A8 ; [.868B.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+2F804 ; [.879A.0020.0002.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804
+F9B5 ; [.863C.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30 ; [.8B4D.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805 ; [.8B4D.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
+F965 ; [.80A0.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
+2F80B ; [.8BB2.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB ; [.8662.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31 ; [.893B.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A ; [.893B.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C ; [.8EB2.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74 ; [.815D.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32 ; [.873B.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E ; [.873B.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F ; [.8AC8.0020.0002.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+FA72 ; [.88DA.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F9D1 ; [.8696.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811 ; [.8562.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75 ; [.8484.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815 ; [.8D70.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2 ; [.8709.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3 ; [.873A.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817 ; [.890E.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818 ; [.8D40.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A ; [.823F.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+FA71 ; [.85D7.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-FA71
+2F81B ; [.85D7.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-2F81B
+F92E ; [.8623.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979 ; [.8656.0020.0002.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955 ; [.8685.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
+2F81D ; [.8FF2.0020.0002.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F81E ; [.88FF.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00 ; [.88A1.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850 ; [.88A1.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C ; [.866D.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD ; [.863A.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF ; [.81A3.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820 ; [.85AD.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F822 ; [.833D.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
+F98A ; [.8643.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D ; [.8670.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
+2F992 ; [.860C.0020.0002.52B3] # CJK COMPATIBILITY IDEOGRAPH-2F992
+FA76 ; [.8CFB.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825 ; [.8CFB.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33 ; [.873C.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826 ; [.873C.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952 ; [.8614.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
+FA34 ; [.88AB.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827 ; [.88AB.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
+FA77 ; [.8964.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828 ; [.8964.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829 ; [.805B.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A ; [.81A9.0020.0002.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+F963 ; [.806E.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B ; [.806E.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB ; [.879B.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C ; [.8445.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35 ; [.806D.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D ; [.806D.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E ; [.80C4.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F ; [.847B.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C ; [.86CC.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F831 ; [.88B5.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832 ; [.88B5.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833 ; [.88B5.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
+2F836 ; [.8477.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837 ; [.8FEE.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906 ; [.8567.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839 ; [.84F5.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A ; [.9154.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+2F83B ; [.915B.0020.0002.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B
+F9DE ; [.8633.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED ; [.867C.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D ; [.8B5F.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+2F83E ; [.8143.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F ; [.8E2F.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+F99E ; [.8C47.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F842 ; [.8A6D.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
+FA79 ; [.919C.0020.0002.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79
+2F845 ; [.8953.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846 ; [.8953.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B ; [.85ED.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A ; [.91B8.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847 ; [.91B8.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36 ; [.83D3.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78 ; [.83D3.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F849 ; [.8D92.0020.0002.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849
+FA38 ; [.886A.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
+F9A9 ; [.91F1.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F855 ; [.8BEC.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852 ; [.8140.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853 ; [.9023.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F854 ; [.9029.0020.0002.580D] # CJK COMPATIBILITY IDEOGRAPH-2F854
+F96C ; [.892A.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A ; [.8762.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+2F851 ; [.8E64.0020.0002.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851
+2F85D ; [.8273.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+FA7E ; [.8C56.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C ; [.8785.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909 ; [.8868.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F ; [.8079.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F ; [.896A.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981 ; [.87C3.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F865 ; [.93E3.0020.0002.59D8] # CJK COMPATIBILITY IDEOGRAPH-2F865
+2F862 ; [.846E.0020.0002.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
+FA80 ; [.93F1.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F986 ; [.95FD.0020.0002.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
+FA04 ; [.8DA1.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
+F9BC ; [.9391.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F872 ; [.89C4.0020.0002.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872
+2F873 ; [.84D0.0020.0002.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873
+2F875 ; [.910F.0020.0002.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
+F9BD ; [.87A9.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877 ; [.8AC5.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F9DF ; [.86BF.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C ; [.93CD.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878 ; [.93CD.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
+2F87A ; [.9206.0020.0002.5C8D] # CJK COMPATIBILITY IDEOGRAPH-2F87A
+2F87F ; [.922E.0020.0002.5D6B] # CJK COMPATIBILITY IDEOGRAPH-2F87F
+2F881 ; [.8C2F.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882 ; [.812B.0020.0002.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F884 ; [.8F50.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F886 ; [.870A.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
+F98E ; [.87A1.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01 ; [.825B.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88C ; [.9293.0020.0002.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D ; [.89E7.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2 ; [.864B.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928 ; [.8607.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E ; [.8607.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA82 ; [.9295.0020.0002.5ED2] # CJK COMPATIBILITY IDEOGRAPH-FA82
+FA0B ; [.85E9.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+2F890 ; [.9106.0020.0002.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
+F943 ; [.87BF.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F874 ; [.81E6.0020.0002.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874
+2F899 ; [.8BED.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84 ; [.80E5.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
+F9D8 ; [.86C4.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+FA85 ; [.9243.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D ; [.88FB.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E ; [.8E11.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3 ; [.87A5.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+F960 ; [.87C2.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC ; [.864C.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+FA3D ; [.8443.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3 ; [.8443.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+FA86 ; [.92C8.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
+FA88 ; [.8D33.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
+2F8A6 ; [.819F.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7 ; [.842E.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9 ; [.842E.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87 ; [.8984.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8 ; [.8984.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA3E ; [.858F.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+FA3F ; [.8D8E.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89 ; [.8D8E.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB ; [.8D8E.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+2F8B2 ; [.8142.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3 ; [.9554.0020.0002.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2 ; [.86B9.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C ; [.81CE.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B5 ; [.8064.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925 ; [.85EC.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
+FA02 ; [.8ADD.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6 ; [.802D.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+2F8BA ; [.8827.0020.0002.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
+F973 ; [.899B.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9 ; [.8AF1.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7 ; [.856B.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+F9A4 ; [.87A4.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+F975 ; [.86CE.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1 ; [.8C57.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D ; [.9130.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+FA8E ; [.8A1A.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+FA8F ; [.9133.0020.0002.6452] # CJK COMPATIBILITY IDEOGRAPH-FA8F
+2F8C3 ; [.875D.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+FA41 ; [.874D.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8 ; [.874D.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90 ; [.801C.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9 ; [.8537.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F9BE ; [.866C.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983 ; [.86BE.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
+FA42 ; [.848F.0020.0002.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
+F9E0 ; [.8CB2.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+FA12 ; [.88B8.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91 ; [.88B8.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
+FA43 ; [.89D9.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF ; [.89D9.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+FA06 ; [.8066.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F901 ; [.834B.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8D4 ; [.8E9F.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929 ; [.8609.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92 ; [.8609.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8 ; [.8609.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93 ; [.8B00.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9 ; [.8B00.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+F9E1 ; [.862D.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC ; [.94AB.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94 ; [.8DBD.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB ; [.94AC.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9F4 ; [.8673.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9 ; [.8695.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+F9DA ; [.8634.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+F97A ; [.8657.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44 ; [.8710.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2 ; [.8710.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+F9E2 ; [.8625.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E8 ; [.94F8.0020.0002.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8EF ; [.81A5.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+FA95 ; [.81CC.0020.0002.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
+F972 ; [.897F.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC ; [.8C55.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968 ; [.8733.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
+F9E3 ; [.8797.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+F915 ; [.86E0.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05 ; [.8247.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F900 ; [.87DE.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA ; [.8694.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97 ; [.8694.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902 ; [.8694.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903 ; [.83D1.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A ; [.860A.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45 ; [.83AE.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901 ; [.83AE.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904 ; [.8523.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905 ; [.87B0.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5 ; [.8679.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+2F90E ; [.8C4A.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46 ; [.9335.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908 ; [.832A.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909 ; [.9345.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB ; [.868C.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC ; [.879E.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+2F90C ; [.8216.0020.0002.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C
+FA99 ; [.8E7D.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B ; [.8E7D.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904 ; [.8415.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
+F94E ; [.86A4.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
+2F90F ; [.812A.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F915 ; [.9382.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
+2F913 ; [.9383.0020.0002.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913
+2F835 ; [.843B.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
+F9FB ; [.8E1E.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A ; [.8A66.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F ; [.866F.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916 ; [.8612.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
+2F91C ; [.9638.0020.0002.7145] # CJK COMPATIBILITY IDEOGRAPH-2F91C
+FA48 ; [.8E46.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C ; [.8E46.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+F9C0 ; [.8664.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+2F920 ; [.9647.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA9E ; [.8577.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921 ; [.8577.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
+F946 ; [.860D.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924 ; [.8B6D.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
+FA9F ; [.82A9.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F92B ; [.8606.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16 ; [.8E40.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0 ; [.8E40.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F961 ; [.86C5.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB ; [.86C5.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929 ; [.8AFA.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
+F9AD ; [.867E.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917 ; [.9484.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4 ; [.862C.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC ; [.868D.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A ; [.8E72.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92F ; [.9493.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+FAA3 ; [.8416.0020.0002.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3
+2F936 ; [.946F.0020.0002.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936
+F9CD ; [.8691.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976 ; [.86CF.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
+F9E5 ; [.863E.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A ; [.97D4.0020.0002.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA5 ; [.8B24.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+FA17 ; [.8CC1.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6 ; [.8CC1.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7 ; [.898D.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+FAA8 ; [.8E04.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940 ; [.8E04.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D ; [.898C.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F946 ; [.8DDB.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947 ; [.8DDB.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAAA ; [.8E76.0020.0002.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+FA9D ; [.8897.0020.0002.77A7] # CJK COMPATIBILITY IDEOGRAPH-FA9D
+2F94E ; [.968F.0020.0002.784E] # CJK COMPATIBILITY IDEOGRAPH-2F94E
+F9CE ; [.868F.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B ; [.86B0.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F ; [.86B0.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B ; [.806B.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947 ; [.8619.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
+FA18 ; [.8630.0020.0002.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18
+FA4C ; [.8974.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E ; [.8860.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D ; [.9654.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA50 ; [.8E97.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953 ; [.8E97.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51 ; [.8E54.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19 ; [.897E.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A ; [.8BAA.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+FA1B ; [.82F2.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956 ; [.82F2.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
+2F957 ; [.9779.0020.0002.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
+FA55 ; [.8AC0.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
+F9F7 ; [.863F.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+F9F8 ; [.98CB.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+2F962 ; [.8E5E.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
+FAAE ; [.861F.0020.0002.7C7B] # CJK COMPATIBILITY IDEOGRAPH-FAAE
+F9F9 ; [.8640.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D ; [.852E.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+FA03 ; [.8A6E.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
+2F968 ; [.9934.0020.0002.7CE8] # CJK COMPATIBILITY IDEOGRAPH-2F968
+F96A ; [.8A40.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F ; [.861A.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FA59 ; [.82A2.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
+FA5A ; [.89DB.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6 ; [.96E1.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+F9AF ; [.8684.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E ; [.8D29.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+F934 ; [.860E.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B ; [.8DD4.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2 ; [.8DD4.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A ; [.8DD4.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0 ; [.9833.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+F953 ; [.861E.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6 ; [.95D0.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982 ; [.8D36.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F985 ; [.8815.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
+FA5C ; [.816D.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893 ; [.98FF.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B ; [.98FF.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+2F98C ; [.9901.0020.0002.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C
+F97C ; [.8659.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
+FA5D ; [.903A.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5D
+FA5E ; [.903A.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5E
+2F990 ; [.8D2C.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F98F ; [.9042.0020.0002.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F
+2F991 ; [.8DF8.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993 ; [.8411.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994 ; [.82AD.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995 ; [.8C3C.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974 ; [.8923.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998 ; [.8923.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996 ; [.85C1.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
+F9FE ; [.8103.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3 ; [.842D.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F99A ; [.8908.0020.0002.8363] # CJK COMPATIBILITY IDEOGRAPH-2F99A
+2F99D ; [.8700.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+2F9A1 ; [.8558.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2 ; [.857D.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3 ; [.80E6.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+F958 ; [.867F.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918 ; [.86DF.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
+FA5F ; [.8E4B.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F ; [.8E4B.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F9C2 ; [.90E7.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AC ; [.90EB.0020.0002.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+2F9B3 ; [.87C5.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+2F9B7 ; [.985A.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+F911 ; [.86D8.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
+FA08 ; [.8BEF.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C4 ; [.8C9D.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0 ; [.866E.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F912 ; [.86DE.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
+FA60 ; [.83E1.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6 ; [.981C.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+FAB7 ; [.8301.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+2F9D2 ; [.996E.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D7 ; [.8863.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DB ; [.9977.0020.0002.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
+2F9DA ; [.802E.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937 ; [.86B2.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
+2F98D ; [.819E.0020.0002.8F9E] # CJK COMPATIBILITY IDEOGRAPH-2F98D
+F971 ; [.8136.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
+FA66 ; [.9396.0020.0002.8FB6] # CJK COMPATIBILITY IDEOGRAPH-FA66
+FA25 ; [.8CB8.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67 ; [.8CB8.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
+F92C ; [.8608.0020.0002.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
+FA26 ; [.824F.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
+F919 ; [.8611.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
+F9B7 ; [.996C.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9 ; [.862E.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E ; [.865C.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A ; [.8515.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9C6 ; [.891D.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951 ; [.86A5.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09 ; [.84DA.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959 ; [.8687.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9DC ; [.869C.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9B2 ; [.8680.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949 ; [.8616.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
+F938 ; [.86B1.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
+FA1C ; [.853B.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8 ; [.853B.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+F940 ; [.86B4.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
+F9F3 ; [.9A5C.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15 ; [.86E4.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989 ; [.8627.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA17 ; [.96AE.0020.0002.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FA18 ; [.99CF.0020.0002.9EFE] # CJK COMPATIBILITY IDEOGRAPH-2FA18
+2FA1C ; [.8084.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_pin.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_pin.pl
index a3dd01d9365..c9fb780b834 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_pin.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_pin.pl
@@ -1,304 +1,1505 @@
use Unicode::Collate::CJK::Pinyin;
+{
+ locale_version => 0.88,
overrideCJK => \&Unicode::Collate::CJK::Pinyin::weightPinyin,
- entry => <<'ENTRY', # for DUCET v6.0.0
-0101 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0100 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00E1 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-01CD ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-00E0 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-00C0 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0113 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0112 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00E9 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-011B ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-011A ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-00E8 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-00C8 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5 ; [.15FF.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4 ; [.15FF.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3 ; [.15FF.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2 ; [.15FF.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7 ; [.15FF.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.15FF.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-012A ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00ED ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0 ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-01CF ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-00EC ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-00CC ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.16F4.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.16F4.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-1E3E ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.16F4.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.16F4.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.1702.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.1702.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-0148 ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-0147 ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-01F9 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-01F8 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-014D ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-014C ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00F3 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2 ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-01D1 ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-00F2 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-00D2 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-016B ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-016A ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-00FA ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4 ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-01D3 ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-00F9 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-00D9 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.17E9.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.17E9.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.17E9.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.17E9.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-3105 ; [.8000.0020.0002.3105] # BOPOMOFO LETTER B
-3106 ; [.8001.0020.0002.3106] # BOPOMOFO LETTER P
-3107 ; [.8002.0020.0002.3107] # BOPOMOFO LETTER M
-3108 ; [.8003.0020.0002.3108] # BOPOMOFO LETTER F
-3109 ; [.8004.0020.0002.3109] # BOPOMOFO LETTER D
-310A ; [.8005.0020.0002.310A] # BOPOMOFO LETTER T
-310B ; [.8006.0020.0002.310B] # BOPOMOFO LETTER N
-310C ; [.8007.0020.0002.310C] # BOPOMOFO LETTER L
-310D ; [.8008.0020.0002.310D] # BOPOMOFO LETTER G
-310E ; [.8009.0020.0002.310E] # BOPOMOFO LETTER K
-310F ; [.800A.0020.0002.310F] # BOPOMOFO LETTER H
-3110 ; [.800B.0020.0002.3110] # BOPOMOFO LETTER J
-3111 ; [.800C.0020.0002.3111] # BOPOMOFO LETTER Q
-3112 ; [.800D.0020.0002.3112] # BOPOMOFO LETTER X
-3113 ; [.800E.0020.0002.3113] # BOPOMOFO LETTER ZH
-3114 ; [.800F.0020.0002.3114] # BOPOMOFO LETTER CH
-3115 ; [.8010.0020.0002.3115] # BOPOMOFO LETTER SH
-3116 ; [.8011.0020.0002.3116] # BOPOMOFO LETTER R
-3117 ; [.8012.0020.0002.3117] # BOPOMOFO LETTER Z
-3118 ; [.8013.0020.0002.3118] # BOPOMOFO LETTER C
-3119 ; [.8014.0020.0002.3119] # BOPOMOFO LETTER S
-311A ; [.8015.0020.0002.311A] # BOPOMOFO LETTER A
-311B ; [.8016.0020.0002.311B] # BOPOMOFO LETTER O
-311C ; [.8017.0020.0002.311C] # BOPOMOFO LETTER E
-311D ; [.8018.0020.0002.311D] # BOPOMOFO LETTER EH
-311E ; [.8019.0020.0002.311E] # BOPOMOFO LETTER AI
-311F ; [.801A.0020.0002.311F] # BOPOMOFO LETTER EI
-3120 ; [.801B.0020.0002.3120] # BOPOMOFO LETTER AU
-3121 ; [.801C.0020.0002.3121] # BOPOMOFO LETTER OU
-3122 ; [.801D.0020.0002.3122] # BOPOMOFO LETTER AN
-3123 ; [.801E.0020.0002.3123] # BOPOMOFO LETTER EN
-3124 ; [.801F.0020.0002.3124] # BOPOMOFO LETTER ANG
-3125 ; [.8020.0020.0002.3125] # BOPOMOFO LETTER ENG
-3126 ; [.8021.0020.0002.3126] # BOPOMOFO LETTER ER
-3127 ; [.8022.0020.0002.3127] # BOPOMOFO LETTER I
-3128 ; [.8023.0020.0002.3128] # BOPOMOFO LETTER U
-3129 ; [.8024.0020.0002.3129] # BOPOMOFO LETTER IU
-FA1F ; [.8049.0020.0002.FA1F] # CJK COMPATIBILITY IDEOGRAPH-FA1F
-E83D ; [.811D.0020.0002.E83D] # <unknown>
-E83C ; [.8121.0020.0002.E83C] # <unknown>
-E84B ; [.83F5.0020.0002.E84B] # <unknown>
-E835 ; [.8499.0020.0002.E835] # <unknown>
-E837 ; [.876C.0020.0002.E837] # <unknown>
-E852 ; [.87FE.0020.0002.E852] # <unknown>
-E850 ; [.87FF.0020.0002.E850] # <unknown>
-E858 ; [.885B.0020.0002.E858] # <unknown>
-E827 ; [.9106.0020.0002.E827] # <unknown>
-E82D ; [.9107.0020.0002.E82D] # <unknown>
-E821 ; [.943B.0020.0002.E821] # <unknown>
-E820 ; [.943C.0020.0002.E820] # <unknown>
-E85D ; [.9AAB.0020.0002.E85D] # <unknown>
-E85F ; [.9C17.0020.0002.E85F] # <unknown>
-E860 ; [.9D0D.0020.0002.E860] # <unknown>
-E84F ; [.9DFD.0020.0002.E84F] # <unknown>
-E828 ; [.9F81.0020.0002.E828] # <unknown>
-E82E ; [.A00C.0020.0002.E82E] # <unknown>
-E842 ; [.A012.0020.0002.E842] # <unknown>
-E841 ; [.A01A.0020.0002.E841] # <unknown>
-E85E ; [.A3AE.0020.0002.E85E] # <unknown>
-E834 ; [.A520.0020.0002.E834] # <unknown>
-E862 ; [.AD1D.0020.0002.E862] # <unknown>
-E847 ; [.B0AF.0020.0002.E847] # <unknown>
-E846 ; [.B0C0.0020.0002.E846] # <unknown>
-E840 ; [.B0D6.0020.0002.E840] # <unknown>
-E859 ; [.B10A.0020.0002.E859] # <unknown>
-E84C ; [.B47A.0020.0002.E84C] # <unknown>
-E849 ; [.B47B.0020.0002.E849] # <unknown>
-E84E ; [.B482.0020.0002.E84E] # <unknown>
-E85C ; [.B5A9.0020.0002.E85C] # <unknown>
-E82A ; [.B7A4.0020.0002.E82A] # <unknown>
-E829 ; [.B7AD.0020.0002.E829] # <unknown>
-E82F ; [.B8AE.0020.0002.E82F] # <unknown>
-E85B ; [.B9DE.0020.0002.E85B] # <unknown>
-E861 ; [.B9EC.0020.0002.E861] # <unknown>
-E81F ; [.BC3F.0020.0002.E81F] # <unknown>
-E844 ; [.C1BD.0020.0002.E844] # <unknown>
-E863 ; [.C43B.0020.0002.E863] # <unknown>
-E845 ; [.C4CA.0020.0002.E845] # <unknown>
-E84A ; [.C5BD.0020.0002.E84A] # <unknown>
-E857 ; [.C7F0.0020.0002.E857] # <unknown>
-E856 ; [.C985.0020.0002.E856] # <unknown>
-E85A ; [.C986.0020.0002.E85A] # <unknown>
-E853 ; [.CDE2.0020.0002.E853] # <unknown>
-E851 ; [.CDF8.0020.0002.E851] # <unknown>
-32A3 ; [.CE09.0020.0002.32A3] # CIRCLED IDEOGRAPH CORRECT
-E81B ; [.CF43.0020.0002.E81B] # <unknown>
-E81A ; [.CF44.0020.0002.E81A] # <unknown>
-E825 ; [.CF76.0020.0002.E825] # <unknown>
-E824 ; [.CF77.0020.0002.E824] # <unknown>
-3231 ; [.CF97.0020.0002.3231] # PARENTHESIZED IDEOGRAPH STOCK
-E83F ; [.D02D.0020.0002.E83F] # <unknown>
-E84D ; [.D0C4.0020.0002.E84D] # <unknown>
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0101 ; [.15D4.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15D4.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15D4.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15D4.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00E1 ; [.15D4.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15D4.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15D4.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15D4.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15D4.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15D4.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE ; [.15D4.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15D4.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+01CD ; [.15D4.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15D4.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+00E0 ; [.15D4.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15D4.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15D4.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15D4.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15D4.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15D4.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0113 ; [.1631.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1631.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.1631.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1631.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00E9 ; [.1631.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1631.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1631.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1631.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1631.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1631.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+011B ; [.1631.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.1631.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+011A ; [.1631.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.1631.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+00E8 ; [.1631.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.1631.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.1631.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+00C8 ; [.1631.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.1631.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.1631.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.1631.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.1631.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.1631.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.1631.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF ; [.1631.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.1631.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.1631.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1631.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.1631.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.1631.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.1631.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.1631.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.1631.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.1631.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.1631.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.1631.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.1631.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.1631.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1 ; [.1631.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.1631.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.1631.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1631.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.1631.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.1631.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.1631.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.1631.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.1631.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.1631.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA ; [.1631.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1631.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1631.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1631.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5 ; [.1631.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1631.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1631.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1631.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1631.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1631.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B ; [.16B2.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16B2.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.16B2.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16B2.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00ED ; [.16B2.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16B2.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16B2.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16B2.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16B2.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16B2.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0 ; [.16B2.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.16B2.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+01CF ; [.16B2.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.16B2.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+00EC ; [.16B2.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.16B2.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.16B2.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+00CC ; [.16B2.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.16B2.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.16B2.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.1726.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.1726.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F ; [.1726.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.1726.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.1726.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+1E3E ; [.1726.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.1726.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.1726.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.1726.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.1726.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.1726.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.1726.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.1726.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.1726.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.1734.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.1734.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144 ; [.1734.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1734.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1734.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.1734.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1734.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1734.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+0148 ; [.1734.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.1734.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+0147 ; [.1734.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.1734.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+01F9 ; [.1734.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.1734.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.1734.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+01F8 ; [.1734.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.1734.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.1734.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+014D ; [.1756.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1756.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.1756.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1756.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00F3 ; [.1756.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1756.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1756.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1756.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1756.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1756.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2 ; [.1756.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1756.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+01D1 ; [.1756.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1756.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+00F2 ; [.1756.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1756.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1756.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+00D2 ; [.1756.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1756.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1756.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+016B ; [.181B.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.181B.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.181B.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.181B.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+00FA ; [.181B.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.181B.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.181B.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.181B.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.181B.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.181B.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4 ; [.181B.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.181B.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+01D3 ; [.181B.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.181B.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+00F9 ; [.181B.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.181B.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.181B.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+00D9 ; [.181B.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.181B.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.181B.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6 ; [.181B.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.181B.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.181B.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.181B.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.181B.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.181B.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8 ; [.181B.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.181B.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.181B.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.181B.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.181B.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.181B.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.181B.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.181B.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.181B.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.181B.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA ; [.181B.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.181B.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.181B.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.181B.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.181B.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.181B.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC ; [.181B.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.181B.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.181B.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.181B.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.181B.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.181B.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.181B.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.181B.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.181B.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.181B.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC ; [.181B.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.181B.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.181B.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.181B.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+FDD0 0041 ; [.8000.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER A>
+FDD0 0042 ; [.80C5.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER B>
+FDD0 0043 ; [.8441.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER C>
+FDD0 0044 ; [.897D.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER D>
+FDD0 0045 ; [.8D61.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER E>
+FDD0 0046 ; [.8E1B.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER F>
+FDD0 0047 ; [.9089.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER G>
+FDD0 0048 ; [.93C4.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER H>
+FDD0 004A ; [.97EC.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER J>
+FDD0 004B ; [.9E32.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER K>
+FDD0 004C ; [.A05D.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER L>
+3007 ; [.A401.0020.0002.3007] # IDEOGRAPHIC NUMBER ZERO
+FDD0 004D ; [.A680.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER M>
+FDD0 004E ; [.A9A9.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER N>
+FDD0 004F ; [.AB89.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER O>
+FDD0 0050 ; [.ABAC.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER P>
+FDD0 0051 ; [.AE02.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER Q>
+FDD0 0052 ; [.B1F1.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER R>
+FDD0 0053 ; [.B337.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER S>
+FDD0 0054 ; [.B858.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER T>
+FDD0 0057 ; [.BBD3.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER W>
+FDD0 0058 ; [.BE4A.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER X>
+FDD0 0059 ; [.C382.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER Y>
+FDD0 005A ; [.CB22.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER Z>
+3220 ; [*02FB.0020.0004.3220][.C5CF.0020.0004.3220][*02FC.0020.001F.3220] # PARENTHESIZED IDEOGRAPH ONE
+3226 ; [*02FB.0020.0004.3226][.AE03.0020.0004.3226][*02FC.0020.001F.3226] # PARENTHESIZED IDEOGRAPH SEVEN
+3222 ; [*02FB.0020.0004.3222][.B35F.0020.0004.3222][*02FC.0020.001F.3222] # PARENTHESIZED IDEOGRAPH THREE
+3228 ; [*02FB.0020.0004.3228][.9C92.0020.0004.3228][*02FC.0020.001F.3228] # PARENTHESIZED IDEOGRAPH NINE
+3221 ; [*02FB.0020.0004.3221][.8E0E.0020.0004.3221][*02FC.0020.001F.3221] # PARENTHESIZED IDEOGRAPH TWO
+3224 ; [*02FB.0020.0004.3224][.BDF1.0020.0004.3224][*02FC.0020.001F.3224] # PARENTHESIZED IDEOGRAPH FIVE
+3239 ; [*02FB.0020.0004.3239][.89B6.0020.0004.3239][*02FC.0020.001F.3239] # PARENTHESIZED IDEOGRAPH REPRESENT
+323D ; [*02FB.0020.0004.323D][.AE82.0020.0004.323D][*02FC.0020.001F.323D] # PARENTHESIZED IDEOGRAPH ENTERPRISE
+3241 ; [*02FB.0020.0004.3241][.C1F9.0020.0004.3241][*02FC.0020.001F.3241] # PARENTHESIZED IDEOGRAPH REST
+3227 ; [*02FB.0020.0004.3227][.80C6.0020.0004.3227][*02FC.0020.001F.3227] # PARENTHESIZED IDEOGRAPH EIGHT
+3225 ; [*02FB.0020.0004.3225][.A49F.0020.0004.3225][*02FC.0020.001F.3225] # PARENTHESIZED IDEOGRAPH SIX
+3238 ; [*02FB.0020.0004.3238][.A132.0020.0004.3238][*02FC.0020.001F.3238] # PARENTHESIZED IDEOGRAPH LABOR
+3229 ; [*02FB.0020.0004.3229][.B57B.0020.0004.3229][*02FC.0020.001F.3229] # PARENTHESIZED IDEOGRAPH TEN
+323F ; [*02FB.0020.0004.323F][.C10A.0020.0004.323F][*02FC.0020.001F.323F] # PARENTHESIZED IDEOGRAPH ALLIANCE
+3234 ; [*02FB.0020.0004.3234][.A8EB.0020.0004.3234][*02FC.0020.001F.3234] # PARENTHESIZED IDEOGRAPH NAME
+323A ; [*02FB.0020.0004.323A][.9589.0020.0004.323A][*02FC.0020.001F.323A] # PARENTHESIZED IDEOGRAPH CALL
+3223 ; [*02FB.0020.0004.3223][.B715.0020.0004.3223][*02FC.0020.001F.3223] # PARENTHESIZED IDEOGRAPH FOUR
+322F ; [*02FB.0020.0004.322F][.BB2D.0020.0004.322F][*02FC.0020.001F.322F] # PARENTHESIZED IDEOGRAPH EARTH
+323B ; [*02FB.0020.0004.323B][.C304.0020.0004.323B][*02FC.0020.001F.323B] # PARENTHESIZED IDEOGRAPH STUDY
+3230 ; [*02FB.0020.0004.3230][.B272.0020.0004.3230][*02FC.0020.001F.3230] # PARENTHESIZED IDEOGRAPH SUN
+322A ; [*02FB.0020.0004.322A][.CA96.0020.0004.322A][*02FC.0020.001F.322A] # PARENTHESIZED IDEOGRAPH MOON
+3232 ; [*02FB.0020.0004.3232][.C8D2.0020.0004.3232][*02FC.0020.001F.3232] # PARENTHESIZED IDEOGRAPH HAVE
+322D ; [*02FB.0020.0004.322D][.A98A.0020.0004.322D][*02FC.0020.001F.322D] # PARENTHESIZED IDEOGRAPH WOOD
+3231 ; [*02FB.0020.0004.3231][.CF58.0020.0004.3231][*02FC.0020.001F.3231] # PARENTHESIZED IDEOGRAPH STOCK
+322C ; [*02FB.0020.0004.322C][.B6BA.0020.0004.322C][*02FC.0020.001F.322C] # PARENTHESIZED IDEOGRAPH WATER
+322B ; [*02FB.0020.0004.322B][.97BC.0020.0004.322B][*02FC.0020.001F.322B] # PARENTHESIZED IDEOGRAPH FIRE
+3235 ; [*02FB.0020.0004.3235][.B980.0020.0004.3235][*02FC.0020.001F.3235] # PARENTHESIZED IDEOGRAPH SPECIAL
+323C ; [*02FB.0020.0004.323C][.999B.0020.0004.323C][*02FC.0020.001F.323C] # PARENTHESIZED IDEOGRAPH SUPERVISE
+3233 ; [*02FB.0020.0004.3233][.B4AC.0020.0004.3233][*02FC.0020.001F.3233] # PARENTHESIZED IDEOGRAPH SOCIETY
+3237 ; [*02FB.0020.0004.3237][.CFAD.0020.0004.3237][*02FC.0020.001F.3237] # PARENTHESIZED IDEOGRAPH CONGRATULATION
+3240 ; [*02FB.0020.0004.3240][.98D6.0020.0004.3240][*02FC.0020.001F.3240] # PARENTHESIZED IDEOGRAPH FESTIVAL
+3242 ; [*02FB.0020.0004.3242][.D0D4.0020.0004.3242][*02FC.0020.001F.3242] # PARENTHESIZED IDEOGRAPH SELF
+3243 ; [*02FB.0020.0004.3243][.CE51.0020.0004.3243][*02FC.0020.001F.3243] # PARENTHESIZED IDEOGRAPH REACH
+3236 ; [*02FB.0020.0004.3236][.844F.0020.0004.3236][*02FC.0020.001F.3236] # PARENTHESIZED IDEOGRAPH FINANCIAL
+323E ; [*02FB.0020.0004.323E][.D0A3.0020.0004.323E][*02FC.0020.001F.323E] # PARENTHESIZED IDEOGRAPH RESOURCE
+322E ; [*02FB.0020.0004.322E][.9B96.0020.0004.322E][*02FC.0020.001F.322E] # PARENTHESIZED IDEOGRAPH METAL
+3358 ; [.15CA.0020.0004.3358][.8B60.0020.0004.3358] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
+33E9 ; [.15CB.0020.0004.33E9][.15CA.0020.0004.33E9][.B272.0020.001F.33E9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
+32C9 ; [.15CB.0020.0004.32C9][.15CA.0020.0004.32C9][.CA96.0020.001F.32C9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
+3362 ; [.15CB.0020.0004.3362][.15CA.0020.0004.3362][.8B60.0020.001F.3362] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
+33EA ; [.15CB.0020.0004.33EA][.15CB.0020.0004.33EA][.B272.0020.001F.33EA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
+32CA ; [.15CB.0020.0004.32CA][.15CB.0020.0004.32CA][.CA96.0020.001F.32CA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
+3363 ; [.15CB.0020.0004.3363][.15CB.0020.0004.3363][.8B60.0020.001F.3363] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
+33EB ; [.15CB.0020.0004.33EB][.15CC.0020.0004.33EB][.B272.0020.001F.33EB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
+32CB ; [.15CB.0020.0004.32CB][.15CC.0020.0004.32CB][.CA96.0020.001F.32CB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
+3364 ; [.15CB.0020.0004.3364][.15CC.0020.0004.3364][.8B60.0020.001F.3364] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
+33EC ; [.15CB.0020.0004.33EC][.15CD.0020.0004.33EC][.B272.0020.001F.33EC] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
+3365 ; [.15CB.0020.0004.3365][.15CD.0020.0004.3365][.8B60.0020.001F.3365] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
+33ED ; [.15CB.0020.0004.33ED][.15CE.0020.0004.33ED][.B272.0020.001F.33ED] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
+3366 ; [.15CB.0020.0004.3366][.15CE.0020.0004.3366][.8B60.0020.001F.3366] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
+33EE ; [.15CB.0020.0004.33EE][.15CF.0020.0004.33EE][.B272.0020.001F.33EE] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
+3367 ; [.15CB.0020.0004.3367][.15CF.0020.0004.3367][.8B60.0020.001F.3367] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
+33EF ; [.15CB.0020.0004.33EF][.15D0.0020.0004.33EF][.B272.0020.001F.33EF] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
+3368 ; [.15CB.0020.0004.3368][.15D0.0020.0004.3368][.8B60.0020.001F.3368] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
+33F0 ; [.15CB.0020.0004.33F0][.15D1.0020.0004.33F0][.B272.0020.001F.33F0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
+3369 ; [.15CB.0020.0004.3369][.15D1.0020.0004.3369][.8B60.0020.001F.3369] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
+33F1 ; [.15CB.0020.0004.33F1][.15D2.0020.0004.33F1][.B272.0020.001F.33F1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
+336A ; [.15CB.0020.0004.336A][.15D2.0020.0004.336A][.8B60.0020.001F.336A] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
+33F2 ; [.15CB.0020.0004.33F2][.15D3.0020.0004.33F2][.B272.0020.001F.33F2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
+336B ; [.15CB.0020.0004.336B][.15D3.0020.0004.336B][.8B60.0020.001F.336B] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
+33E0 ; [.15CB.0020.0004.33E0][.B272.0020.0004.33E0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
+32C0 ; [.15CB.0020.0004.32C0][.CA96.0020.0004.32C0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
+3359 ; [.15CB.0020.0004.3359][.8B60.0020.0004.3359] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
+33F3 ; [.15CC.0020.0004.33F3][.15CA.0020.0004.33F3][.B272.0020.001F.33F3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
+336C ; [.15CC.0020.0004.336C][.15CA.0020.0004.336C][.8B60.0020.001F.336C] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
+33F4 ; [.15CC.0020.0004.33F4][.15CB.0020.0004.33F4][.B272.0020.001F.33F4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
+336D ; [.15CC.0020.0004.336D][.15CB.0020.0004.336D][.8B60.0020.001F.336D] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
+33F5 ; [.15CC.0020.0004.33F5][.15CC.0020.0004.33F5][.B272.0020.001F.33F5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
+336E ; [.15CC.0020.0004.336E][.15CC.0020.0004.336E][.8B60.0020.001F.336E] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
+33F6 ; [.15CC.0020.0004.33F6][.15CD.0020.0004.33F6][.B272.0020.001F.33F6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
+336F ; [.15CC.0020.0004.336F][.15CD.0020.0004.336F][.8B60.0020.001F.336F] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
+33F7 ; [.15CC.0020.0004.33F7][.15CE.0020.0004.33F7][.B272.0020.001F.33F7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
+3370 ; [.15CC.0020.0004.3370][.15CE.0020.0004.3370][.8B60.0020.001F.3370] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
+33F8 ; [.15CC.0020.0004.33F8][.15CF.0020.0004.33F8][.B272.0020.001F.33F8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
+33F9 ; [.15CC.0020.0004.33F9][.15D0.0020.0004.33F9][.B272.0020.001F.33F9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
+33FA ; [.15CC.0020.0004.33FA][.15D1.0020.0004.33FA][.B272.0020.001F.33FA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
+33FB ; [.15CC.0020.0004.33FB][.15D2.0020.0004.33FB][.B272.0020.001F.33FB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
+33FC ; [.15CC.0020.0004.33FC][.15D3.0020.0004.33FC][.B272.0020.001F.33FC] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
+33E1 ; [.15CC.0020.0004.33E1][.B272.0020.0004.33E1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
+32C1 ; [.15CC.0020.0004.32C1][.CA96.0020.0004.32C1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
+335A ; [.15CC.0020.0004.335A][.8B60.0020.0004.335A] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
+33FD ; [.15CD.0020.0004.33FD][.15CA.0020.0004.33FD][.B272.0020.001F.33FD] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
+33FE ; [.15CD.0020.0004.33FE][.15CB.0020.0004.33FE][.B272.0020.001F.33FE] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
+33E2 ; [.15CD.0020.0004.33E2][.B272.0020.0004.33E2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
+32C2 ; [.15CD.0020.0004.32C2][.CA96.0020.0004.32C2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
+335B ; [.15CD.0020.0004.335B][.8B60.0020.0004.335B] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
+33E3 ; [.15CE.0020.0004.33E3][.B272.0020.0004.33E3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
+32C3 ; [.15CE.0020.0004.32C3][.CA96.0020.0004.32C3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
+335C ; [.15CE.0020.0004.335C][.8B60.0020.0004.335C] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
+33E4 ; [.15CF.0020.0004.33E4][.B272.0020.0004.33E4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
+32C4 ; [.15CF.0020.0004.32C4][.CA96.0020.0004.32C4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
+335D ; [.15CF.0020.0004.335D][.8B60.0020.0004.335D] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
+33E5 ; [.15D0.0020.0004.33E5][.B272.0020.0004.33E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
+32C5 ; [.15D0.0020.0004.32C5][.CA96.0020.0004.32C5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
+335E ; [.15D0.0020.0004.335E][.8B60.0020.0004.335E] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
+33E6 ; [.15D1.0020.0004.33E6][.B272.0020.0004.33E6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
+32C6 ; [.15D1.0020.0004.32C6][.CA96.0020.0004.32C6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
+335F ; [.15D1.0020.0004.335F][.8B60.0020.0004.335F] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
+33E7 ; [.15D2.0020.0004.33E7][.B272.0020.0004.33E7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
+32C7 ; [.15D2.0020.0004.32C7][.CA96.0020.0004.32C7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
+3360 ; [.15D2.0020.0004.3360][.8B60.0020.0004.3360] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
+33E8 ; [.15D3.0020.0004.33E8][.B272.0020.0004.33E8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
+32C8 ; [.15D3.0020.0004.32C8][.CA96.0020.0004.32C8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
+3361 ; [.15D3.0020.0004.3361][.8B60.0020.0004.3361] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
+1F241 ; [*0359.0020.0004.1F241][.B35F.0020.0004.1F241][*035A.0020.001F.1F241] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
+1F242 ; [*0359.0020.0004.1F242][.8E0E.0020.0004.1F242][*035A.0020.001F.1F242] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
+1F247 ; [*0359.0020.0004.1F247][.B548.0020.0004.1F247][*035A.0020.001F.1F247] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
+1F243 ; [*0359.0020.0004.1F243][.8049.0020.0004.1F243][*035A.0020.001F.1F243] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
+1F245 ; [*0359.0020.0004.1F245][.89A6.0020.0004.1F245][*035A.0020.001F.1F245] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
+1F248 ; [*0359.0020.0004.1F248][.811B.0020.0004.1F248][*035A.0020.001F.1F248] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
+1F240 ; [*0359.0020.0004.1F240][.81FC.0020.0004.1F240][*035A.0020.001F.1F240] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
+1F244 ; [*0359.0020.0004.1F244][.8B60.0020.0004.1F244][*035A.0020.001F.1F244] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
+1F246 ; [*0359.0020.0004.1F246][.8A91.0020.0004.1F246][*035A.0020.001F.1F246] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
+2F00 ; [.C5CF.0020.0004.2F00] # KANGXI RADICAL ONE
+3192 ; [.C5CF.0020.0014.3192] # IDEOGRAPHIC ANNOTATION ONE MARK
+3280 ; [.C5CF.0020.0006.3280] # CIRCLED IDEOGRAPH ONE
+1F229 ; [.C5CF.0020.001C.1F229] # SQUARED CJK UNIFIED IDEOGRAPH-4E00
+319C ; [.8BE6.0020.0014.319C] # IDEOGRAPHIC ANNOTATION FOURTH MARK
+3286 ; [.AE03.0020.0006.3286] # CIRCLED IDEOGRAPH SEVEN
+3194 ; [.B35F.0020.0014.3194] # IDEOGRAPHIC ANNOTATION THREE MARK
+3282 ; [.B35F.0020.0006.3282] # CIRCLED IDEOGRAPH THREE
+1F22A ; [.B35F.0020.001C.1F22A] # SQUARED CJK UNIFIED IDEOGRAPH-4E09
+3196 ; [.B46D.0020.0014.3196] # IDEOGRAPHIC ANNOTATION TOP MARK
+32A4 ; [.B46D.0020.0006.32A4] # CIRCLED IDEOGRAPH HIGH
+3198 ; [.BF75.0020.0014.3198] # IDEOGRAPHIC ANNOTATION BOTTOM MARK
+32A6 ; [.BF75.0020.0006.32A6] # CIRCLED IDEOGRAPH LOW
+319B ; [.8382.0020.0014.319B] # IDEOGRAPHIC ANNOTATION THIRD MARK
+2F01 ; [.937A.0020.0004.2F01] # KANGXI RADICAL LINE
+3197 ; [.CECC.0020.0014.3197] # IDEOGRAPHIC ANNOTATION MIDDLE MARK
+32A5 ; [.CECC.0020.0006.32A5] # CIRCLED IDEOGRAPH CENTRE
+1F22D ; [.CECC.0020.001C.1F22D] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
+2F02 ; [.CF8B.0020.0004.2F02] # KANGXI RADICAL DOT
+2F03 ; [.AD44.0020.0004.2F03] # KANGXI RADICAL SLASH
+2F04 ; [.C643.0020.0004.2F04] # KANGXI RADICAL SECOND
+319A ; [.C643.0020.0014.319A] # IDEOGRAPHIC ANNOTATION SECOND MARK
+3288 ; [.9C92.0020.0006.3288] # CIRCLED IDEOGRAPH NINE
+2F05 ; [.9D9D.0020.0004.2F05] # KANGXI RADICAL HOOK
+2F06 ; [.8E0E.0020.0004.2F06] # KANGXI RADICAL TWO
+3193 ; [.8E0E.0020.0014.3193] # IDEOGRAPHIC ANNOTATION TWO MARK
+3281 ; [.8E0E.0020.0006.3281] # CIRCLED IDEOGRAPH TWO
+1F214 ; [.8E0E.0020.001C.1F214] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
+3284 ; [.BDF1.0020.0006.3284] # CIRCLED IDEOGRAPH FIVE
+2F07 ; [.BAE9.0020.0004.2F07] # KANGXI RADICAL LID
+1F218 ; [.9A8F.0020.001C.1F218] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
+2F08 ; [.B22F.0020.0004.2F08] # KANGXI RADICAL MAN
+319F ; [.B22F.0020.0014.319F] # IDEOGRAPHIC ANNOTATION MAN MARK
+32AD ; [.AE82.0020.0006.32AD] # CIRCLED IDEOGRAPH ENTERPRISE
+32A1 ; [.C1F9.0020.0006.32A1] # CIRCLED IDEOGRAPH REST
+329D ; [.C8A5.0020.0006.329D] # CIRCLED IDEOGRAPH EXCELLENT
+2F09 ; [.8DE5.0020.0004.2F09] # KANGXI RADICAL LEGS
+2F0A ; [.B2E8.0020.0004.2F0A] # KANGXI RADICAL ENTER
+2F0B ; [.80C6.0020.0004.2F0B] # KANGXI RADICAL EIGHT
+3287 ; [.80C6.0020.0006.3287] # CIRCLED IDEOGRAPH EIGHT
+3285 ; [.A49F.0020.0006.3285] # CIRCLED IDEOGRAPH SIX
+2F0C ; [.9C60.0020.0004.2F0C] # KANGXI RADICAL DOWN BOX
+1F21E ; [.CB49.0020.001C.1F21E] # SQUARED CJK UNIFIED IDEOGRAPH-518D
+2F0D ; [.A832.0020.0004.2F0D] # KANGXI RADICAL COVER
+32A2 ; [.C132.0020.0006.32A2] # CIRCLED IDEOGRAPH COPY
+2F0E ; [.837B.0020.0004.2F0E] # KANGXI RADICAL ICE
+2F0F ; [.989A.0020.0004.2F0F] # KANGXI RADICAL TABLE
+2F10 ; [.AF3D.0020.0004.2F10] # KANGXI RADICAL OPEN BOX
+2F11 ; [.8A71.0020.0004.2F11] # KANGXI RADICAL KNIFE
+1F220 ; [.8779.0020.001C.1F220] # SQUARED CJK UNIFIED IDEOGRAPH-521D
+1F21C ; [.AF1F.0020.001C.1F21C] # SQUARED CJK UNIFIED IDEOGRAPH-524D
+1F239 ; [.9162.0020.001C.1F239] # SQUARED CJK UNIFIED IDEOGRAPH-5272
+2F12 ; [.A237.0020.0004.2F12] # KANGXI RADICAL POWER
+3298 ; [.A132.0020.0006.3298] # CIRCLED IDEOGRAPH LABOR
+2F13 ; [.8175.0020.0004.2F13] # KANGXI RADICAL WRAP
+2F14 ; [.8238.0020.0004.2F14] # KANGXI RADICAL SPOON
+2F15 ; [.8E8F.0020.0004.2F15] # KANGXI RADICAL RIGHT OPEN BOX
+2F16 ; [.BF01.0020.0004.2F16] # KANGXI RADICAL HIDING ENCLOSURE
+32A9 ; [.C5D4.0020.0006.32A9] # CIRCLED IDEOGRAPH MEDICINE
+2F17 ; [.B57B.0020.0004.2F17] # KANGXI RADICAL TEN
+3038 ; [.B57B.0020.0004.3038] # HANGZHOU NUMERAL TEN
+3289 ; [.B57B.0020.0006.3289] # CIRCLED IDEOGRAPH TEN
+3039 ; [.AAA8.0020.0004.3039] # HANGZHOU NUMERAL TWENTY
+303A ; [.B342.0020.0004.303A] # HANGZHOU NUMERAL THIRTY
+32AF ; [.C10A.0020.0006.32AF] # CIRCLED IDEOGRAPH ALLIANCE
+2F18 ; [.8410.0020.0004.2F18] # KANGXI RADICAL DIVINATION
+2F19 ; [.9B2A.0020.0004.2F19] # KANGXI RADICAL SEAL
+329E ; [.C7AF.0020.0006.329E] # CIRCLED IDEOGRAPH PRINT
+2F1A ; [.85AC.0020.0004.2F1A] # KANGXI RADICAL CLIFF
+2F1B ; [.B6E4.0020.0004.2F1B] # KANGXI RADICAL PRIVATE
+2F1C ; [.C8E8.0020.0004.2F1C] # KANGXI RADICAL AGAIN
+1F212 ; [.B6A1.0020.001C.1F212] # SQUARED CJK UNIFIED IDEOGRAPH-53CC
+2F1D ; [.9F2E.0020.0004.2F1D] # KANGXI RADICAL MOUTH
+1F251 ; [.9ED7.0020.0006.1F251] # CIRCLED IDEOGRAPH ACCEPT
+32A8 ; [.C8E9.0020.0006.32A8] # CIRCLED IDEOGRAPH RIGHT
+1F22E ; [.C8E9.0020.001C.1F22E] # SQUARED CJK UNIFIED IDEOGRAPH-53F3
+1F234 ; [.9499.0020.001C.1F234] # SQUARED CJK UNIFIED IDEOGRAPH-5408
+3294 ; [.A8EB.0020.0006.3294] # CIRCLED IDEOGRAPH NAME
+1F225 ; [.8816.0020.001C.1F225] # SQUARED CJK UNIFIED IDEOGRAPH-5439
+3244 ; [.BD6F.0020.0006.3244] # CIRCLED IDEOGRAPH QUESTION
+1F23A ; [.C804.0020.001C.1F23A] # SQUARED CJK UNIFIED IDEOGRAPH-55B6
+2F1E ; [.BC8F.0020.0004.2F1E] # KANGXI RADICAL ENCLOSURE
+3195 ; [.B715.0020.0014.3195] # IDEOGRAPHIC ANNOTATION FOUR MARK
+3283 ; [.B715.0020.0006.3283] # CIRCLED IDEOGRAPH FOUR
+2F1F ; [.BB2D.0020.0004.2F1F] # KANGXI RADICAL EARTH
+328F ; [.BB2D.0020.0006.328F] # CIRCLED IDEOGRAPH EARTH
+319E ; [.8AAF.0020.0014.319E] # IDEOGRAPHIC ANNOTATION EARTH MARK
+2F20 ; [.B5A9.0020.0004.2F20] # KANGXI RADICAL SCHOLAR
+1F224 ; [.B526.0020.001C.1F224] # SQUARED CJK UNIFIED IDEOGRAPH-58F0
+2F21 ; [.CE2D.0020.0004.2F21] # KANGXI RADICAL GO
+2F22 ; [.B7D9.0020.0004.2F22] # KANGXI RADICAL GO SLOWLY
+2F23 ; [.BE4B.0020.0004.2F23] # KANGXI RADICAL EVENING
+1F215 ; [.8D1C.0020.001C.1F215] # SQUARED CJK UNIFIED IDEOGRAPH-591A
+32B0 ; [.C59A.0020.0006.32B0] # CIRCLED IDEOGRAPH NIGHT
+2F24 ; [.89A7.0020.0004.2F24] # KANGXI RADICAL BIG
+337D ; [.89A7.0020.001C.337D][.CDCB.0020.001F.337D] # SQUARE ERA NAME TAISYOU
+319D ; [.B9F9.0020.0014.319D] # IDEOGRAPHIC ANNOTATION HEAVEN MARK
+1F217 ; [.B9F9.0020.001C.1F217] # SQUARED CJK UNIFIED IDEOGRAPH-5929
+2F25 ; [.AB5E.0020.0004.2F25] # KANGXI RADICAL WOMAN
+329B ; [.AB5E.0020.0006.329B] # CIRCLED IDEOGRAPH FEMALE
+2F26 ; [.D0E1.0020.0004.2F26] # KANGXI RADICAL CHILD
+1F211 ; [.D0D3.0020.001C.1F211] # SQUARED CJK UNIFIED IDEOGRAPH-5B57
+32AB ; [.C304.0020.0006.32AB] # CIRCLED IDEOGRAPH STUDY
+2F27 ; [.A858.0020.0004.2F27] # KANGXI RADICAL ROOF
+32AA ; [.D0E4.0020.0006.32AA] # CIRCLED IDEOGRAPH RELIGION
+2F28 ; [.8955.0020.0004.2F28] # KANGXI RADICAL INCH
+2F29 ; [.C0DE.0020.0004.2F29] # KANGXI RADICAL SMALL
+2F2A ; [.C8AC.0020.0004.2F2A] # KANGXI RADICAL LAME
+2F2B ; [.B554.0020.0004.2F2B] # KANGXI RADICAL CORPSE
+2F2C ; [.85F7.0020.0004.2F2C] # KANGXI RADICAL SPROUT
+2F2D ; [.B3FD.0020.0004.2F2D] # KANGXI RADICAL MOUNTAIN
+2F2E ; [.87DC.0020.0004.2F2E] # KANGXI RADICAL RIVER
+2F2F ; [.91CB.0020.0004.2F2F] # KANGXI RADICAL WORK
+32A7 ; [.D19D.0020.0006.32A7] # CIRCLED IDEOGRAPH LEFT
+1F22C ; [.D19D.0020.001C.1F22C] # SQUARED CJK UNIFIED IDEOGRAPH-5DE6
+2F30 ; [.989B.0020.0004.2F30] # KANGXI RADICAL ONESELF
+2F31 ; [.9B91.0020.0004.2F31] # KANGXI RADICAL TURBAN
+2F32 ; [.90EE.0020.0004.2F32] # KANGXI RADICAL DRY
+337B ; [.AD6D.0020.001C.337B][.866D.0020.001F.337B] # SQUARE ERA NAME HEISEI
+2F33 ; [.C50D.0020.0004.2F33] # KANGXI RADICAL SHORT THREAD
+3245 ; [.C8EA.0020.0006.3245] # CIRCLED IDEOGRAPH KINDERGARTEN
+2F34 ; [.9307.0020.0004.2F34] # KANGXI RADICAL DOTTED CLIFF
+2F35 ; [.C792.0020.0004.2F35] # KANGXI RADICAL LONG STRIDE
+2F36 ; [.91E7.0020.0004.2F36] # KANGXI RADICAL TWO HANDS
+2F37 ; [.C66C.0020.0004.2F37] # KANGXI RADICAL SHOOT
+2F38 ; [.91CC.0020.0004.2F38] # KANGXI RADICAL BOW
+2F39 ; [.98AF.0020.0004.2F39] # KANGXI RADICAL SNOUT
+2F3A ; [.B3FE.0020.0004.2F3A] # KANGXI RADICAL BRISTLE
+2F3B ; [.86F1.0020.0004.2F3B] # KANGXI RADICAL STEP
+1F21D ; [.957C.0020.001C.1F21D] # SQUARED CJK UNIFIED IDEOGRAPH-5F8C
+1F250 ; [.8AB1.0020.0006.1F250] # CIRCLED IDEOGRAPH ADVANTAGE
+2F3C ; [.C178.0020.0004.2F3C] # KANGXI RADICAL HEART
+2F3D ; [.9153.0020.0004.2F3D] # KANGXI RADICAL HALBERD
+2F3E ; [.95D9.0020.0004.2F3E] # KANGXI RADICAL DOOR
+2F3F ; [.B60C.0020.0004.2F3F] # KANGXI RADICAL HAND
+1F210 ; [.B60C.0020.001C.1F210] # SQUARED CJK UNIFIED IDEOGRAPH-624B
+1F231 ; [.89A6.0020.001C.1F231] # SQUARED CJK UNIFIED IDEOGRAPH-6253
+1F227 ; [.BAEB.0020.001C.1F227] # SQUARED CJK UNIFIED IDEOGRAPH-6295
+1F22F ; [.CE40.0020.001C.1F22F] # SQUARED CJK UNIFIED IDEOGRAPH-6307
+1F228 ; [.8420.0020.001C.1F228] # SQUARED CJK UNIFIED IDEOGRAPH-6355
+2F40 ; [.CDDA.0020.0004.2F40] # KANGXI RADICAL BRANCH
+2F41 ; [.ADCC.0020.0004.2F41] # KANGXI RADICAL RAP
+2F42 ; [.BD44.0020.0004.2F42] # KANGXI RADICAL SCRIPT
+3246 ; [.BD44.0020.0006.3246] # CIRCLED IDEOGRAPH SCHOOL
+2F43 ; [.8C5E.0020.0004.2F43] # KANGXI RADICAL DIPPER
+1F21B ; [.A385.0020.001C.1F21B] # SQUARED CJK UNIFIED IDEOGRAPH-6599
+2F44 ; [.9B93.0020.0004.2F44] # KANGXI RADICAL AXE
+1F21F ; [.C188.0020.001C.1F21F] # SQUARED CJK UNIFIED IDEOGRAPH-65B0
+2F45 ; [.8E90.0020.0004.2F45] # KANGXI RADICAL SQUARE
+2F46 ; [.BDD2.0020.0004.2F46] # KANGXI RADICAL NOT
+2F47 ; [.B272.0020.0004.2F47] # KANGXI RADICAL SUN
+3290 ; [.B272.0020.0006.3290] # CIRCLED IDEOGRAPH SUN
+337E ; [.A8EC.0020.001C.337E][.CE5C.0020.001F.337E] # SQUARE ERA NAME MEIZI
+1F219 ; [.C83C.0020.001C.1F219] # SQUARED CJK UNIFIED IDEOGRAPH-6620
+337C ; [.CCD5.0020.001C.337C][.949E.0020.001F.337C] # SQUARE ERA NAME SYOUWA
+2F48 ; [.CA8E.0020.0004.2F48] # KANGXI RADICAL SAY
+2F49 ; [.CA96.0020.0004.2F49] # KANGXI RADICAL MOON
+328A ; [.CA96.0020.0006.328A] # CIRCLED IDEOGRAPH MOON
+1F237 ; [.CA96.0020.001C.1F237] # SQUARED CJK UNIFIED IDEOGRAPH-6708
+3292 ; [.C8D2.0020.0006.3292] # CIRCLED IDEOGRAPH HAVE
+1F236 ; [.C8D2.0020.001C.1F236] # SQUARED CJK UNIFIED IDEOGRAPH-6709
+2F4A ; [.A98A.0020.0004.2F4A] # KANGXI RADICAL TREE
+328D ; [.A98A.0020.0006.328D] # CIRCLED IDEOGRAPH WOOD
+3291 ; [.CF58.0020.0006.3291] # CIRCLED IDEOGRAPH STOCK
+337F ; [.CF58.0020.001C.337F][.B5B3.0020.001F.337F][.9737.0020.001F.337F][.B4AC.0020.001F.337F] # SQUARE CORPORATION
+2F4B ; [.AF4C.0020.0004.2F4B] # KANGXI RADICAL LACK
+2F4C ; [.CE2E.0020.0004.2F4C] # KANGXI RADICAL STOP
+32A3 ; [.CDCB.0020.0006.32A3] # CIRCLED IDEOGRAPH CORRECT
+2F4D ; [.89B3.0020.0004.2F4D] # KANGXI RADICAL DEATH
+2F4E ; [.B623.0020.0004.2F4E] # KANGXI RADICAL WEAPON
+2F4F ; [.BDD3.0020.0004.2F4F] # KANGXI RADICAL DO NOT
+2E9F ; [.A97A.0020.0004.2E9F] # CJK RADICAL MOTHER
+2F50 ; [.8239.0020.0004.2F50] # KANGXI RADICAL COMPARE
+2F51 ; [.A71D.0020.0004.2F51] # KANGXI RADICAL FUR
+2F52 ; [.B5AA.0020.0004.2F52] # KANGXI RADICAL CLAN
+2F53 ; [.AE99.0020.0004.2F53] # KANGXI RADICAL STEAM
+2F54 ; [.B6BA.0020.0004.2F54] # KANGXI RADICAL WATER
+328C ; [.B6BA.0020.0006.328C] # CIRCLED IDEOGRAPH WATER
+329F ; [.CFA5.0020.0006.329F] # CIRCLED IDEOGRAPH ATTENTION
+1F235 ; [.A6DD.0020.001C.1F235] # SQUARED CJK UNIFIED IDEOGRAPH-6E80
+1F226 ; [.C445.0020.001C.1F226] # SQUARED CJK UNIFIED IDEOGRAPH-6F14
+2F55 ; [.97BC.0020.0004.2F55] # KANGXI RADICAL FIRE
+328B ; [.97BC.0020.0006.328B] # CIRCLED IDEOGRAPH FIRE
+1F21A ; [.BDE3.0020.001C.1F21A] # SQUARED CJK UNIFIED IDEOGRAPH-7121
+2F56 ; [.CCDE.0020.0004.2F56] # KANGXI RADICAL CLAW
+2F57 ; [.9046.0020.0004.2F57] # KANGXI RADICAL FATHER
+2F58 ; [.C51B.0020.0004.2F58] # KANGXI RADICAL DOUBLE X
+2F59 ; [.ABD3.0020.0004.2F59] # KANGXI RADICAL HALF TREE TRUNK
+2F5A ; [.AD1C.0020.0004.2F5A] # KANGXI RADICAL SLICE
+2F5B ; [.C397.0020.0004.2F5B] # KANGXI RADICAL FANG
+2F5C ; [.AB21.0020.0004.2F5C] # KANGXI RADICAL COW
+3295 ; [.B980.0020.0006.3295] # CIRCLED IDEOGRAPH SPECIAL
+2F5D ; [.B1B4.0020.0004.2F5D] # KANGXI RADICAL DOG
+2F5E ; [.C2C8.0020.0004.2F5E] # KANGXI RADICAL PROFOUND
+2F5F ; [.C99A.0020.0004.2F5F] # KANGXI RADICAL JADE
+2F60 ; [.928E.0020.0004.2F60] # KANGXI RADICAL MELON
+2F61 ; [.BBE5.0020.0004.2F61] # KANGXI RADICAL TILE
+2F62 ; [.90BE.0020.0004.2F62] # KANGXI RADICAL SWEET
+2F63 ; [.B523.0020.0004.2F63] # KANGXI RADICAL LIFE
+1F222 ; [.B523.0020.001C.1F222] # SQUARED CJK UNIFIED IDEOGRAPH-751F
+2F64 ; [.C894.0020.0004.2F64] # KANGXI RADICAL USE
+2F65 ; [.BA01.0020.0004.2F65] # KANGXI RADICAL FIELD
+3199 ; [.9955.0020.0014.3199] # IDEOGRAPHIC ANNOTATION FIRST MARK
+1F238 ; [.B4C6.0020.001C.1F238] # SQUARED CJK UNIFIED IDEOGRAPH-7533
+329A ; [.A9E0.0020.0006.329A] # CIRCLED IDEOGRAPH MALE
+2F66 ; [.ACE2.0020.0004.2F66] # KANGXI RADICAL BOLT OF CLOTH
+2F67 ; [.AA2F.0020.0004.2F67] # KANGXI RADICAL SICKNESS
+2F68 ; [.83AC.0020.0004.2F68] # KANGXI RADICAL DOTTED TENT
+2F69 ; [.810B.0020.0004.2F69] # KANGXI RADICAL WHITE
+2F6A ; [.ACBB.0020.0004.2F6A] # KANGXI RADICAL SKIN
+2F6B ; [.A8CF.0020.0004.2F6B] # KANGXI RADICAL DISH
+32AC ; [.999B.0020.0006.32AC] # CIRCLED IDEOGRAPH SUPERVISE
+2F6C ; [.A98D.0020.0004.2F6C] # KANGXI RADICAL EYE
+2F6D ; [.A71E.0020.0004.2F6D] # KANGXI RADICAL SPEAR
+2F6E ; [.B59D.0020.0004.2F6E] # KANGXI RADICAL ARROW
+2F6F ; [.B57D.0020.0004.2F6F] # KANGXI RADICAL STONE
+2F70 ; [.B5B0.0020.0004.2F70] # KANGXI RADICAL SPIRIT
+3293 ; [.B4AC.0020.0006.3293] # CIRCLED IDEOGRAPH SOCIETY
+3297 ; [.CFAD.0020.0006.3297] # CIRCLED IDEOGRAPH CONGRATULATION
+1F232 ; [.9BD6.0020.001C.1F232] # SQUARED CJK UNIFIED IDEOGRAPH-7981
+2F71 ; [.B2AC.0020.0004.2F71] # KANGXI RADICAL TRACK
+2F72 ; [.9498.0020.0004.2F72] # KANGXI RADICAL GRAIN
+3299 ; [.A83C.0020.0006.3299] # CIRCLED IDEOGRAPH SECRET
+2F73 ; [.C301.0020.0004.2F73] # KANGXI RADICAL CAVE
+1F233 ; [.9F18.0020.001C.1F233] # SQUARED CJK UNIFIED IDEOGRAPH-7A7A
+2F74 ; [.A23B.0020.0004.2F74] # KANGXI RADICAL STAND
+2F75 ; [.CF74.0020.0004.2F75] # KANGXI RADICAL BAMBOO
+3247 ; [.CDBB.0020.0006.3247] # CIRCLED IDEOGRAPH KOTO
+2F76 ; [.A821.0020.0004.2F76] # KANGXI RADICAL RICE
+2F77 ; [.A833.0020.0004.2F77] # KANGXI RADICAL SILK
+1F221 ; [.CEDC.0020.001C.1F221] # SQUARED CJK UNIFIED IDEOGRAPH-7D42
+2F78 ; [.8F9E.0020.0004.2F78] # KANGXI RADICAL JAR
+2F79 ; [.BC56.0020.0004.2F79] # KANGXI RADICAL NET
+2F7A ; [.C4C4.0020.0004.2F7A] # KANGXI RADICAL SHEEP
+2F7B ; [.C975.0020.0004.2F7B] # KANGXI RADICAL FEATHER
+2F7C ; [.A149.0020.0004.2F7C] # KANGXI RADICAL OLD
+2F7D ; [.8DE6.0020.0004.2F7D] # KANGXI RADICAL AND
+2F7E ; [.A19B.0020.0004.2F7E] # KANGXI RADICAL PLOW
+2F7F ; [.8E00.0020.0004.2F7F] # KANGXI RADICAL EAR
+2F80 ; [.C99D.0020.0004.2F80] # KANGXI RADICAL BRUSH
+2F81 ; [.B2C1.0020.0004.2F81] # KANGXI RADICAL MEAT
+2F82 ; [.8612.0020.0004.2F82] # KANGXI RADICAL MINISTER
+2F83 ; [.D0D4.0020.0004.2F83] # KANGXI RADICAL SELF
+2F84 ; [.CE51.0020.0004.2F84] # KANGXI RADICAL ARRIVE
+2F85 ; [.9CA1.0020.0004.2F85] # KANGXI RADICAL MORTAR
+2F86 ; [.B4A3.0020.0004.2F86] # KANGXI RADICAL TONGUE
+2F87 ; [.87EF.0020.0004.2F87] # KANGXI RADICAL OPPOSE
+2F88 ; [.CF09.0020.0004.2F88] # KANGXI RADICAL BOAT
+2F89 ; [.91A3.0020.0004.2F89] # KANGXI RADICAL STOPPING
+2F8A ; [.B3A0.0020.0004.2F8A] # KANGXI RADICAL COLOR
+2F8B ; [.84B1.0020.0004.2F8B] # KANGXI RADICAL GRASS
+2F8C ; [.9588.0020.0004.2F8C] # KANGXI RADICAL TIGER
+2F8D ; [.872E.0020.0004.2F8D] # KANGXI RADICAL INSECT
+2F8E ; [.C317.0020.0004.2F8E] # KANGXI RADICAL BLOOD
+2F8F ; [.C1BA.0020.0004.2F8F] # KANGXI RADICAL WALK ENCLOSURE
+2F90 ; [.C5D3.0020.0004.2F90] # KANGXI RADICAL CLOTHES
+2F91 ; [.C3B8.0020.0004.2F91] # KANGXI RADICAL WEST
+2F92 ; [.99FE.0020.0004.2F92] # KANGXI RADICAL SEE
+2F93 ; [.9AB8.0020.0004.2F93] # KANGXI RADICAL HORN
+1F216 ; [.9B6C.0020.001C.1F216] # SQUARED CJK UNIFIED IDEOGRAPH-89E3
+2F94 ; [.C3F5.0020.0004.2F94] # KANGXI RADICAL SPEECH
+2F95 ; [.924B.0020.0004.2F95] # KANGXI RADICAL VALLEY
+2F96 ; [.8C5F.0020.0004.2F96] # KANGXI RADICAL BEAN
+2F97 ; [.B59F.0020.0004.2F97] # KANGXI RADICAL PIG
+2F98 ; [.CE56.0020.0004.2F98] # KANGXI RADICAL BADGER
+2F99 ; [.81CA.0020.0004.2F99] # KANGXI RADICAL SHELL
+3296 ; [.844F.0020.0006.3296] # CIRCLED IDEOGRAPH FINANCIAL
+1F223 ; [.8E87.0020.001C.1F223] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
+32AE ; [.D0A3.0020.0006.32AE] # CIRCLED IDEOGRAPH RESOURCE
+2F9A ; [.86F6.0020.0004.2F9A] # KANGXI RADICAL RED
+2F9B ; [.D138.0020.0004.2F9B] # KANGXI RADICAL RUN
+1F230 ; [.D138.0020.001C.1F230] # SQUARED CJK UNIFIED IDEOGRAPH-8D70
+2F9C ; [.D141.0020.0004.2F9C] # KANGXI RADICAL FOOT
+2F9D ; [.B4CA.0020.0004.2F9D] # KANGXI RADICAL BODY
+2F9E ; [.85ED.0020.0004.2F9E] # KANGXI RADICAL CART
+2F9F ; [.C17D.0020.0004.2F9F] # KANGXI RADICAL BITTER
+2FA0 ; [.8616.0020.0004.2FA0] # KANGXI RADICAL MORNING
+2FA1 ; [.8858.0020.0004.2FA1] # KANGXI RADICAL WALK
+1F22B ; [.C8C4.0020.001C.1F22B] # SQUARED CJK UNIFIED IDEOGRAPH-904A
+329C ; [.B5EC.0020.0006.329C] # CIRCLED IDEOGRAPH SUITABLE
+2FA2 ; [.C682.0020.0004.2FA2] # KANGXI RADICAL CITY
+2FA3 ; [.C8D6.0020.0004.2FA3] # KANGXI RADICAL WINE
+2FA4 ; [.82F0.0020.0004.2FA4] # KANGXI RADICAL DISTINGUISH
+2FA5 ; [.A21E.0020.0004.2FA5] # KANGXI RADICAL VILLAGE
+2FA6 ; [.9B96.0020.0004.2FA6] # KANGXI RADICAL GOLD
+328E ; [.9B96.0020.0006.328E] # CIRCLED IDEOGRAPH METAL
+2FA7 ; [.CCB5.0020.0004.2FA7] # KANGXI RADICAL LONG
+2FA8 ; [.A7B4.0020.0004.2FA8] # KANGXI RADICAL GATE
+2FA9 ; [.904E.0020.0004.2FA9] # KANGXI RADICAL MOUND
+2FAA ; [.A24C.0020.0004.2FAA] # KANGXI RADICAL SLAVE
+2FAB ; [.D014.0020.0004.2FAB] # KANGXI RADICAL SHORT TAILED BIRD
+2FAC ; [.C976.0020.0004.2FAC] # KANGXI RADICAL RAIN
+2FAD ; [.B063.0020.0004.2FAD] # KANGXI RADICAL BLUE
+2FAE ; [.8EB9.0020.0004.2FAE] # KANGXI RADICAL WRONG
+2FAF ; [.A882.0020.0004.2FAF] # KANGXI RADICAL FACE
+2FB0 ; [.9173.0020.0004.2FB0] # KANGXI RADICAL LEATHER
+2FB1 ; [.BC9A.0020.0004.2FB1] # KANGXI RADICAL TANNED LEATHER
+2FB2 ; [.9C9A.0020.0004.2FB2] # KANGXI RADICAL LEEK
+2FB3 ; [.C745.0020.0004.2FB3] # KANGXI RADICAL SOUND
+2FB4 ; [.C59E.0020.0004.2FB4] # KANGXI RADICAL LEAF
+32A0 ; [.C084.0020.0006.32A0] # CIRCLED IDEOGRAPH ITEM
+2FB5 ; [.8F57.0020.0004.2FB5] # KANGXI RADICAL WIND
+2FB6 ; [.8EBA.0020.0004.2FB6] # KANGXI RADICAL FLY
+2FB7 ; [.B58A.0020.0004.2FB7] # KANGXI RADICAL EAT
+2FB8 ; [.B60F.0020.0004.2FB8] # KANGXI RADICAL HEAD
+2FB9 ; [.C044.0020.0004.2FB9] # KANGXI RADICAL FRAGRANT
+2FBA ; [.A690.0020.0004.2FBA] # KANGXI RADICAL HORSE
+2FBB ; [.924E.0020.0004.2FBB] # KANGXI RADICAL BONE
+2FBC ; [.9124.0020.0004.2FBC] # KANGXI RADICAL TALL
+2FBD ; [.830C.0020.0004.2FBD] # KANGXI RADICAL HAIR
+2FBE ; [.8C65.0020.0004.2FBE] # KANGXI RADICAL FIGHT
+2FBF ; [.85BA.0020.0004.2FBF] # KANGXI RADICAL SACRIFICIAL WINE
+2FC0 ; [.9176.0020.0004.2FC0] # KANGXI RADICAL CAULDRON
+2FC1 ; [.934D.0020.0004.2FC1] # KANGXI RADICAL GHOST
+2FC2 ; [.C936.0020.0004.2FC2] # KANGXI RADICAL FISH
+2FC3 ; [.AABB.0020.0004.2FC3] # KANGXI RADICAL BIRD
+2FC4 ; [.A552.0020.0004.2FC4] # KANGXI RADICAL SALT
+2FC5 ; [.A57C.0020.0004.2FC5] # KANGXI RADICAL DEER
+2FC6 ; [.A6C0.0020.0004.2FC6] # KANGXI RADICAL WHEAT
+2FC7 ; [.A687.0020.0004.2FC7] # KANGXI RADICAL HEMP
+2FC8 ; [.96C2.0020.0004.2FC8] # KANGXI RADICAL YELLOW
+2FC9 ; [.B656.0020.0004.2FC9] # KANGXI RADICAL MILLET
+2FCA ; [.94F2.0020.0004.2FCA] # KANGXI RADICAL BLACK
+2FCB ; [.CE4C.0020.0004.2FCB] # KANGXI RADICAL EMBROIDERY
+2FCC ; [.A87C.0020.0004.2FCC] # KANGXI RADICAL FROG
+2FCD ; [.8BF6.0020.0004.2FCD] # KANGXI RADICAL TRIPOD
+2FCE ; [.9261.0020.0004.2FCE] # KANGXI RADICAL DRUM
+2FCF ; [.B659.0020.0004.2FCF] # KANGXI RADICAL RAT
+2FD0 ; [.8237.0020.0004.2FD0] # KANGXI RADICAL NOSE
+2FD1 ; [.AE64.0020.0004.2FD1] # KANGXI RADICAL EVEN
+2FD2 ; [.86F0.0020.0004.2FD2] # KANGXI RADICAL TOOTH
+2FD3 ; [.A4C6.0020.0004.2FD3] # KANGXI RADICAL DRAGON
+2FD4 ; [.9336.0020.0004.2FD4] # KANGXI RADICAL TURTLE
+2EF3 ; [.9317.0020.0004.2EF3] # CJK RADICAL C-SIMPLIFIED TURTLE
+2FD5 ; [.CAB5.0020.0004.2FD5] # KANGXI RADICAL FLUTE
+F967 ; [.8424.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
+FA70 ; [.839A.0020.0002.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
+F905 ; [.87F6.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801 ; [.BC07.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E ; [.89E0.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
+2F800 ; [.A23E.0020.0002.4E3D] # CJK COMPATIBILITY IDEOGRAPH-2F800
+2F802 ; [.C5F5.0020.0002.4E41] # CJK COMPATIBILITY IDEOGRAPH-2F802
+F91B ; [.A613.0020.0002.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
+F9BA ; [.A17A.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977 ; [.A342.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD ; [.B4F1.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+2F819 ; [.837C.0020.0002.4ECC] # CJK COMPATIBILITY IDEOGRAPH-2F819
+F9A8 ; [.A453.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+2F804 ; [.AA66.0020.0002.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804
+FA73 ; [.C1BE.0020.0002.4F80] # CJK COMPATIBILITY IDEOGRAPH-FA73
+F92D ; [.A084.0020.0002.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5 ; [.A245.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30 ; [.BDFB.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805 ; [.BDFB.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
+2F806 ; [.BB64.0020.0002.4FBB] # CJK COMPATIBILITY IDEOGRAPH-2F806
+F965 ; [.82F3.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
+2F807 ; [.839E.0020.0002.5002] # CJK COMPATIBILITY IDEOGRAPH-2F807
+F9D4 ; [.A624.0020.0002.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F808 ; [.CB31.0020.0002.507A] # CJK COMPATIBILITY IDEOGRAPH-2F808
+2F809 ; [.81DD.0020.0002.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B ; [.C085.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB ; [.A356.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31 ; [.B3C3.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A ; [.B3C3.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C ; [.BE12.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74 ; [.871C.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32 ; [.A86B.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E ; [.A86B.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F ; [.BB34.0020.0002.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+2F810 ; [.96DD.0020.0002.5164] # CJK COMPATIBILITY IDEOGRAPH-2F810
+2F814 ; [.AA3E.0020.0002.5167] # CJK COMPATIBILITY IDEOGRAPH-2F814
+FA72 ; [.B186.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978 ; [.A338.0020.0002.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
+F9D1 ; [.A49F.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811 ; [.9D2C.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75 ; [.98F1.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815 ; [.CB49.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2 ; [.A744.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3 ; [.A872.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817 ; [.B2A3.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818 ; [.CA20.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A ; [.8C16.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+FA71 ; [.9FAC.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-FA71
+2F81B ; [.9FAC.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-2F81B
+F92E ; [.A1CE.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979 ; [.A329.0020.0002.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955 ; [.A412.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954 ; [.A3E3.0020.0002.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
+FA15 ; [.BEA0.0020.0002.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15
+2F81D ; [.AF3D.0020.0002.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F81E ; [.B244.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00 ; [.AFFB.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850 ; [.AFFB.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C ; [.A38C.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD ; [.A23F.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF ; [.88A0.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820 ; [.9EE2.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F821 ; [.A65E.0020.0002.5246] # CJK COMPATIBILITY IDEOGRAPH-2F821
+2F822 ; [.9162.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
+2F823 ; [.8564.0020.0002.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823
+F9C7 ; [.A474.0020.0002.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A ; [.A237.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D ; [.A38D.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
+2F992 ; [.A131.0020.0002.52B3] # CJK COMPATIBILITY IDEOGRAPH-2F992
+FA76 ; [.C87B.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825 ; [.C87B.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33 ; [.A86E.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826 ; [.A86E.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952 ; [.A17D.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
+F92F ; [.A139.0020.0002.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34 ; [.B039.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827 ; [.B039.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F ; [.A284.0020.0002.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
+FA77 ; [.B486.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828 ; [.B486.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829 ; [.8176.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A ; [.88AB.0020.0002.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+F963 ; [.81C5.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B ; [.81C5.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB ; [.AA7F.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C ; [.9735.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35 ; [.81B8.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D ; [.81B8.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E ; [.83E1.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F ; [.9856.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C ; [.A610.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F830 ; [.985E.0020.0002.537D] # CJK COMPATIBILITY IDEOGRAPH-2F830
+2F831 ; [.B068.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832 ; [.B068.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833 ; [.B068.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
+F96B ; [.8464.0020.0002.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F836 ; [.984E.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837 ; [.B77F.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906 ; [.9D21.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839 ; [.9AED.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A ; [.86F2.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+2F83B ; [.C50F.0020.0002.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B
+F9DE ; [.A23C.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED ; [.A3EE.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D ; [.BE4D.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+F980 ; [.A5C5.0020.0002.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E ; [.866F.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F ; [.CF0C.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+2F83C ; [.C009.0020.0002.549E] # CJK COMPATIBILITY IDEOGRAPH-2F83C
+2F840 ; [.8D98.0020.0002.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E ; [.C468.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F841 ; [.A8A3.0020.0002.54F6] # CJK COMPATIBILITY IDEOGRAPH-2F841
+2F842 ; [.B912.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
+2F843 ; [.AE8E.0020.0002.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843
+FA79 ; [.B968.0020.0002.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79
+2F844 ; [.BFC2.0020.0002.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845 ; [.B434.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846 ; [.B434.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B ; [.A06A.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A ; [.9747.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847 ; [.9747.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36 ; [.9494.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78 ; [.9494.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848 ; [.86B2.0020.0002.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
+2F849 ; [.CC0F.0020.0002.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849
+FA0D ; [.95EF.0020.0002.55C0] # CJK COMPATIBILITY IDEOGRAPH-FA0D
+2F84A ; [.C52C.0020.0002.55C2] # CJK COMPATIBILITY IDEOGRAPH-2F84A
+FA7B ; [.BBEB.0020.0002.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B
+FA37 ; [.B8FC.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C ; [.B8FC.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+2F84E ; [.9460.0020.0002.5651] # CJK COMPATIBILITY IDEOGRAPH-2F84E
+FA38 ; [.AEBB.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F ; [.AC52.0020.0002.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+F9A9 ; [.A404.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B ; [.BB20.0020.0002.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F84D ; [.BB21.0020.0002.5717] # CJK COMPATIBILITY IDEOGRAPH-2F84D
+2F855 ; [.C1C0.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852 ; [.8675.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853 ; [.CE0E.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F854 ; [.BB35.0020.0002.580D] # CJK COMPATIBILITY IDEOGRAPH-2F854
+2F857 ; [.81A6.0020.0002.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
+2F856 ; [.887F.0020.0002.5832] # CJK COMPATIBILITY IDEOGRAPH-2F856
+FA39 ; [.AD95.0020.0002.5840] # CJK COMPATIBILITY IDEOGRAPH-FA39
+FA10 ; [.CEEE.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C ; [.CEEE.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C ; [.B352.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A ; [.A952.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+2F858 ; [.8B3A.0020.0002.58AC] # CJK COMPATIBILITY IDEOGRAPH-2F858
+FA7D ; [.8F25.0020.0002.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A ; [.A1A8.0020.0002.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942 ; [.A4EA.0020.0002.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F851 ; [.D00A.0020.0002.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851
+2F85A ; [.A6BB.0020.0002.58F2] # CJK COMPATIBILITY IDEOGRAPH-2F85A
+2F85B ; [.95AA.0020.0002.58F7] # CJK COMPATIBILITY IDEOGRAPH-2F85B
+2F85C ; [.8F78.0020.0002.5906] # CJK COMPATIBILITY IDEOGRAPH-2F85C
+2F85D ; [.8D1C.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+2F85E ; [.A7F8.0020.0002.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+FA7E ; [.C42B.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C ; [.A9D5.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909 ; [.AEA8.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F ; [.81F5.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F ; [.B49A.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981 ; [.AB5E.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F865 ; [.AD48.0020.0002.59D8] # CJK COMPATIBILITY IDEOGRAPH-2F865
+2F862 ; [.9802.0020.0002.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
+2F863 ; [.C92A.0020.0002.5A1B] # CJK COMPATIBILITY IDEOGRAPH-2F863
+2F864 ; [.BB66.0020.0002.5A27] # CJK COMPATIBILITY IDEOGRAPH-2F864
+FA80 ; [.826B.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866 ; [.905C.0020.0002.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F986 ; [.C83F.0020.0002.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
+2F869 ; [.B221.0020.0002.5B08] # CJK COMPATIBILITY IDEOGRAPH-2F869
+FA81 ; [.888D.0020.0002.5B28] # CJK COMPATIBILITY IDEOGRAPH-FA81
+2F86A ; [.A0ED.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B ; [.A0ED.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+FA04 ; [.CC49.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
+2F86D ; [.CA24.0020.0002.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D
+2F86E ; [.CE90.0020.0002.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E
+F95F ; [.AB0C.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA ; [.AB0C.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F ; [.AB0C.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC ; [.A35E.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F870 ; [.819A.0020.0002.5BF3] # CJK COMPATIBILITY IDEOGRAPH-2F870
+2F872 ; [.B611.0020.0002.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872
+2F873 ; [.9A4D.0020.0002.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873
+2F875 ; [.C8AC.0020.0002.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
+F9BD ; [.AAC3.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877 ; [.BB13.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F94B ; [.A5D3.0020.0002.5C62] # CJK COMPATIBILITY IDEOGRAPH-F94B
+FA3B ; [.84DD.0020.0002.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF ; [.A5D7.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C ; [.85F7.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878 ; [.85F7.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
+2F87A ; [.AEE6.0020.0002.5C8D] # CJK COMPATIBILITY IDEOGRAPH-2F87A
+2F879 ; [.C218.0020.0002.5CC0] # CJK COMPATIBILITY IDEOGRAPH-2F879
+F9D5 ; [.A629.0020.0002.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+2F87C ; [.C438.0020.0002.5D43] # CJK COMPATIBILITY IDEOGRAPH-2F87C
+F921 ; [.A0B9.0020.0002.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
+2F87F ; [.D096.0020.0002.5D6B] # CJK COMPATIBILITY IDEOGRAPH-2F87F
+2F87E ; [.8B4E.0020.0002.5D6E] # CJK COMPATIBILITY IDEOGRAPH-2F87E
+2F880 ; [.8565.0020.0002.5D7C] # CJK COMPATIBILITY IDEOGRAPH-2F880
+2F9F4 ; [.BE9B.0020.0002.5DB2] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
+F9AB ; [.A452.0020.0002.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F881 ; [.C33F.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882 ; [.85D2.0020.0002.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F884 ; [.C372.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F885 ; [.B6BB.0020.0002.5E28] # CJK COMPATIBILITY IDEOGRAPH-2F885
+2F886 ; [.A74C.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
+2F887 ; [.8F26.0020.0002.5E69] # CJK COMPATIBILITY IDEOGRAPH-2F887
+F98E ; [.AA90.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01 ; [.8CB0.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88B ; [.839D.0020.0002.5EB0] # CJK COMPATIBILITY IDEOGRAPH-2F88B
+2F88C ; [.826C.0020.0002.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D ; [.B673.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2 ; [.A2D5.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928 ; [.A10D.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E ; [.A10D.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA82 ; [.8093.0020.0002.5ED2] # CJK COMPATIBILITY IDEOGRAPH-FA82
+FA0B ; [.A051.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+FA83 ; [.C6DC.0020.0002.5ED9] # CJK COMPATIBILITY IDEOGRAPH-FA83
+F982 ; [.A537.0020.0002.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
+2F890 ; [.91E7.0020.0002.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
+F943 ; [.AB44.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F894 ; [.B94A.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894
+2F895 ; [.B94A.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895
+2F874 ; [.8A3C.0020.0002.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874
+2F899 ; [.C1BC.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84 ; [.8458.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A ; [.8B8D.0020.0002.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+F9D8 ; [.A5E0.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+2F89C ; [.8C26.0020.0002.5F9A] # CJK COMPATIBILITY IDEOGRAPH-2F89C
+F966 ; [.9060.0020.0002.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85 ; [.C52E.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D ; [.B23C.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E ; [.CE53.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3 ; [.AAAA.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+2F89F ; [.9F9E.0020.0002.5FF9] # CJK COMPATIBILITY IDEOGRAPH-2F89F
+F960 ; [.AB5B.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC ; [.A2CC.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+FA6B ; [.9741.0020.0002.6075] # CJK COMPATIBILITY IDEOGRAPH-FA6B
+2F8A0 ; [.CA21.0020.0002.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D ; [.972E.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3 ; [.972E.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5 ; [.8CF7.0020.0002.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86 ; [.BC5B.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9 ; [.8DAF.0020.0002.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88 ; [.C9CE.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9 ; [.A276.0020.0002.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6 ; [.8883.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7 ; [.96B3.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9 ; [.96B3.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87 ; [.B516.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8 ; [.B516.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA8A ; [.80BA.0020.0002.6160] # CJK COMPATIBILITY IDEOGRAPH-FA8A
+FA3E ; [.9E4D.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+2F8AA ; [.A500.0020.0002.617A] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
+FA3F ; [.CBF6.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89 ; [.CBF6.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB ; [.CBF6.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F ; [.A2E3.0020.0002.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD ; [.8F40.0020.0002.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AE ; [.847C.0020.0002.61AF] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
+2F8AC ; [.C030.0020.0002.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+2F8AF ; [.A7D7.0020.0002.61DE] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
+FA40 ; [.869C.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B ; [.869C.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0 ; [.869C.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D ; [.A0EE.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1 ; [.A0EE.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990 ; [.A324.0020.0002.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F8B2 ; [.866D.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3 ; [.9945.0020.0002.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2 ; [.A591.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C ; [.89D5.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B4 ; [.9F3F.0020.0002.625D] # CJK COMPATIBILITY IDEOGRAPH-2F8B4
+2F8B5 ; [.819F.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925 ; [.A05F.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B ; [.A9AB.0020.0002.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02 ; [.B86F.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6 ; [.80E0.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+2F8BA ; [.AD49.0020.0002.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
+F973 ; [.B600.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9 ; [.BC1A.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7 ; [.9D69.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+2F8BB ; [.B4A9.0020.0002.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4 ; [.AA99.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC ; [.B397.0020.0002.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975 ; [.8DA6.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1 ; [.C433.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D ; [.C93D.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+2F8C0 ; [.C40D.0020.0002.63C5] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
+2F8BD ; [.9865.0020.0002.63E4] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
+FA8E ; [.B76C.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8BF ; [.9BD4.0020.0002.6422] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
+FA8F ; [.8391.0020.0002.6452] # CJK COMPATIBILITY IDEOGRAPH-FA8F
+2F8C3 ; [.A914.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+2F8C6 ; [.9AD1.0020.0002.6477] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
+2F8C4 ; [.9A82.0020.0002.647E] # CJK COMPATIBILITY IDEOGRAPH-2F8C4
+F991 ; [.AA9F.0020.0002.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
+2F8C5 ; [.9712.0020.0002.649D] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
+F930 ; [.A55B.0020.0002.64C4] # CJK COMPATIBILITY IDEOGRAPH-F930
+FA41 ; [.A8D9.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8 ; [.A8D9.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90 ; [.808D.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9 ; [.9C49.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969 ; [.B682.0020.0002.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
+F9BE ; [.A385.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983 ; [.A5CB.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
+FA42 ; [.98C1.0020.0002.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
+2F8CB ; [.98D3.0020.0002.65E3] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
+F9E0 ; [.C689.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+2F8CD ; [.9BCA.0020.0002.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12 ; [.B07B.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91 ; [.B07B.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5 ; [.CAC4.0020.0002.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43 ; [.B654.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF ; [.B654.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+2F8D5 ; [.9BDA.0020.0002.669C] # CJK COMPATIBILITY IDEOGRAPH-2F8D5
+FA06 ; [.81AB.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F98B ; [.A285.0020.0002.66C6] # CJK COMPATIBILITY IDEOGRAPH-F98B
+F901 ; [.91C6.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC ; [.B62E.0020.0002.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4 ; [.D171.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929 ; [.A11F.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92 ; [.A11F.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8 ; [.A11F.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93 ; [.BC6C.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9 ; [.BC6C.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+2F8DA ; [.D0F0.0020.0002.6721] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
+F9E1 ; [.A2BF.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC ; [.8308.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94 ; [.CCBE.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB ; [.AE88.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9C8 ; [.876A.0020.0002.677B] # CJK COMPATIBILITY IDEOGRAPH-F9C8
+2F8E0 ; [.97FC.0020.0002.6785] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
+F9F4 ; [.A3B8.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9 ; [.A490.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+2F8DF ; [.92B4.0020.0002.67FA] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
+F9DA ; [.A259.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+2F8E5 ; [.81F8.0020.0002.681F] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
+2F8E1 ; [.B37D.0020.0002.6852] # CJK COMPATIBILITY IDEOGRAPH-2F8E1
+F97A ; [.A32A.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44 ; [.A76C.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2 ; [.A76C.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+2F8E4 ; [.808A.0020.0002.688E] # CJK COMPATIBILITY IDEOGRAPH-2F8E4
+F9E2 ; [.A1DC.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E6 ; [.D097.0020.0002.6914] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
+2F8E8 ; [.CC12.0020.0002.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8E9 ; [.C536.0020.0002.69A3] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
+2F8EA ; [.90BC.0020.0002.69EA] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
+F914 ; [.A176.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C ; [.A176.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF ; [.A176.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C ; [.A504.0020.0002.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
+2F8EB ; [.B4A2.0020.0002.6AA8] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
+F931 ; [.A562.0020.0002.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED ; [.CEB6.0020.0002.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D ; [.A0D6.0020.0002.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F8EF ; [.889D.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1 ; [.C249.0020.0002.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+2F8F3 ; [.B7FD.0020.0002.6B72] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
+F98C ; [.A286.0020.0002.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C
+FA95 ; [.89B3.0020.0002.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
+2F8F4 ; [.BD36.0020.0002.6B9F] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
+F9A5 ; [.A31E.0020.0002.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5
+F970 ; [.B3CD.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96 ; [.B3CD.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5 ; [.B3CD.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8F6 ; [.AFE9.0020.0002.6BBB] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
+2F8FA ; [.8E7C.0020.0002.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+2F8FE ; [.AEE8.0020.0002.6C67] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
+F972 ; [.8614.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC ; [.C3F8.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968 ; [.A837.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
+2F8FD ; [.81F6.0020.0002.6CCD] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
+F9E3 ; [.AA4A.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+2F8FF ; [.BDDC.0020.0002.6D16] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
+F915 ; [.A66A.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05 ; [.8C3D.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F907 ; [.AD78.0020.0002.6D34] # CJK COMPATIBILITY IDEOGRAPH-2F907
+2F900 ; [.ABCA.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA ; [.A462.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97 ; [.A462.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902 ; [.A462.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903 ; [.9477.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A ; [.A129.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45 ; [.93D2.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901 ; [.93D2.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904 ; [.9BCC.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905 ; [.AACC.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5 ; [.A3BE.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F94D ; [.A1B6.0020.0002.6DDA] # CJK COMPATIBILITY IDEOGRAPH-F94D
+F9D6 ; [.A62B.0020.0002.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E ; [.C3DB.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46 ; [.CF91.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908 ; [.911B.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909 ; [.C3E0.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB ; [.A45B.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC ; [.AA85.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+2F90C ; [.8B4F.0020.0002.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C
+FA99 ; [.D099.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B ; [.D099.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904 ; [.9618.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
+FA98 ; [.C781.0020.0002.6EDB] # CJK COMPATIBILITY IDEOGRAPH-FA98
+F94E ; [.A51A.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
+FA47 ; [.942D.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A ; [.942D.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992 ; [.A2D8.0020.0002.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F ; [.85DA.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912 ; [.8F27.0020.0002.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922 ; [.A0FC.0020.0002.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984 ; [.A5EF.0020.0002.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915 ; [.C823.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
+FA9B ; [.9C59.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-FA9B
+2F914 ; [.9C59.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-2F914
+2F913 ; [.CAB7.0020.0002.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913
+2F917 ; [.AF3B.0020.0002.704A] # CJK COMPATIBILITY IDEOGRAPH-2F917
+2F835 ; [.96F6.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F919 ; [.CFEA.0020.0002.7077] # CJK COMPATIBILITY IDEOGRAPH-2F919
+2F918 ; [.CB3D.0020.0002.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB ; [.CE5D.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A ; [.B8F6.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F ; [.A39A.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916 ; [.A157.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
+2F91C ; [.8CCA.0020.0002.7145] # CJK COMPATIBILITY IDEOGRAPH-2F91C
+F993 ; [.A318.0020.0002.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48 ; [.CF92.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C ; [.CF92.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+2F91E ; [.88BE.0020.0002.719C] # CJK COMPATIBILITY IDEOGRAPH-2F91E
+F9C0 ; [.A366.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE ; [.A3CE.0020.0002.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932 ; [.A53F.0020.0002.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E ; [.A0FE.0020.0002.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920 ; [.891A.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA49 ; [.CCFA.0020.0002.722B] # CJK COMPATIBILITY IDEOGRAPH-FA49
+FA9E ; [.9DDC.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921 ; [.9DDC.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
+2F922 ; [.CC22.0020.0002.7250] # CJK COMPATIBILITY IDEOGRAPH-2F922
+F946 ; [.A133.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924 ; [.BE7F.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
+2F925 ; [.81E7.0020.0002.7295] # CJK COMPATIBILITY IDEOGRAPH-2F925
+FA9F ; [.8E7A.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F9FA ; [.D00D.0020.0002.72C0] # CJK COMPATIBILITY IDEOGRAPH-F9FA
+F92B ; [.A10A.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16 ; [.CF5B.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0 ; [.CF5B.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F9A7 ; [.A3AA.0020.0002.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928 ; [.B86C.0020.0002.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
+F961 ; [.A5E2.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB ; [.A5E2.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929 ; [.BC50.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
+2F92B ; [.CA9E.0020.0002.73A5] # CJK COMPATIBILITY IDEOGRAPH-2F92B
+F9AD ; [.A410.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917 ; [.A66F.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4 ; [.A226.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC ; [.A465.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A ; [.D199.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92E ; [.89CF.0020.0002.7447] # CJK COMPATIBILITY IDEOGRAPH-2F92E
+2F92F ; [.C94D.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE ; [.C813.0020.0002.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+FAA1 ; [.CD92.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-FAA1
+2F930 ; [.CD92.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-2F930
+2F931 ; [.B84D.0020.0002.7485] # CJK COMPATIBILITY IDEOGRAPH-2F931
+F994 ; [.A303.0020.0002.7489] # CJK COMPATIBILITY IDEOGRAPH-F994
+F9EF ; [.A3CF.0020.0002.7498] # CJK COMPATIBILITY IDEOGRAPH-F9EF
+2F932 ; [.B0BA.0020.0002.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
+FAA2 ; [.8884.0020.0002.7506] # CJK COMPATIBILITY IDEOGRAPH-FAA2
+2F934 ; [.B309.0020.0002.7524] # CJK COMPATIBILITY IDEOGRAPH-2F934
+FAA3 ; [.9628.0020.0002.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3
+2F936 ; [.CB3F.0020.0002.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936
+F9CD ; [.A463.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976 ; [.8DA7.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962 ; [.C6B3.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938 ; [.C6B3.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
+F9E5 ; [.A26F.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A ; [.C98A.0020.0002.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA4 ; [.92C4.0020.0002.761D] # CJK COMPATIBILITY IDEOGRAPH-FAA4
+FAA5 ; [.BD3A.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1 ; [.A369.0020.0002.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E ; [.A0B0.0020.0002.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
+FA17 ; [.C6A9.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6 ; [.C6A9.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7 ; [.B546.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+F933 ; [.A533.0020.0002.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
+FAA8 ; [.CE08.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940 ; [.CE08.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D ; [.B53E.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F945 ; [.CD43.0020.0002.771E] # CJK COMPATIBILITY IDEOGRAPH-2F945
+2F946 ; [.CD44.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947 ; [.CD44.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAAA ; [.CD35.0020.0002.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+FAA9 ; [.9D8B.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-FAA9
+2F948 ; [.9D8B.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-2F948
+2F94A ; [.860C.0020.0002.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+FA9D ; [.AFD8.0020.0002.77A7] # CJK COMPATIBILITY IDEOGRAPH-FA9D
+2F94E ; [.C1C6.0020.0002.784E] # CJK COMPATIBILITY IDEOGRAPH-2F94E
+F9CE ; [.A467.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B ; [.A586.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F ; [.A586.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B ; [.81C0.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947 ; [.A1A3.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
+FAAB ; [.BA14.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-FAAB
+2F950 ; [.BA14.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-2F950
+F964 ; [.ABDF.0020.0002.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964
+F985 ; [.A29F.0020.0002.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
+FA18 ; [.A21D.0020.0002.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18
+FA4C ; [.B4AC.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E ; [.AE35.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D ; [.CE3D.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F ; [.C8F6.0020.0002.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50 ; [.D153.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953 ; [.D153.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51 ; [.CFAD.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19 ; [.B4F3.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A ; [.C062.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+F93C ; [.A580.0020.0002.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
+FA52 ; [.97D4.0020.0002.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53 ; [.CD54.0020.0002.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B ; [.900A.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956 ; [.900A.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6 ; [.A22F.0020.0002.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+F995 ; [.AA91.0020.0002.79CA] # CJK COMPATIBILITY IDEOGRAPH-F995
+2F957 ; [.B64A.0020.0002.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
+F956 ; [.A1CB.0020.0002.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54 ; [.9267.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959 ; [.9267.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
+2F95A ; [.98E8.0020.0002.7A4A] # CJK COMPATIBILITY IDEOGRAPH-2F95A
+2F95B ; [.BD69.0020.0002.7A4F] # CJK COMPATIBILITY IDEOGRAPH-2F95B
+FA55 ; [.BAFD.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
+FAAC ; [.BA57.0020.0002.7AB1] # CJK COMPATIBILITY IDEOGRAPH-FAAC
+F9F7 ; [.A23B.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+2F95F ; [.AD6B.0020.0002.7AEE] # CJK COMPATIBILITY IDEOGRAPH-2F95F
+F9F8 ; [.A265.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+FA56 ; [.9B51.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD ; [.9B51.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962 ; [.CFF3.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963 ; [.CF80.0020.0002.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6 ; [.A2F7.0020.0002.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944 ; [.A4D9.0020.0002.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
+FAAE ; [.A1B4.0020.0002.7C7B] # CJK COMPATIBILITY IDEOGRAPH-FAAE
+F9F9 ; [.A266.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D ; [.9C0E.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+2F966 ; [.81EF.0020.0002.7CD2] # CJK COMPATIBILITY IDEOGRAPH-2F966
+FA03 ; [.B929.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
+2F969 ; [.B36D.0020.0002.7CE3] # CJK COMPATIBILITY IDEOGRAPH-2F969
+F97B ; [.A335.0020.0002.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F968 ; [.9A87.0020.0002.7CE8] # CJK COMPATIBILITY IDEOGRAPH-2F968
+2F96A ; [.98C4.0020.0002.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF ; [.AB29.0020.0002.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A ; [.B844.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F ; [.A1B7.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FAAF ; [.B94E.0020.0002.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C ; [.8211.0020.0002.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F93D ; [.A5E8.0020.0002.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D
+F957 ; [.A432.0020.0002.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E ; [.D0A7.0020.0002.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996 ; [.A31B.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57 ; [.A31B.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0 ; [.A31B.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+2F96F ; [.D113.0020.0002.7E02] # CJK COMPATIBILITY IDEOGRAPH-2F96F
+FA58 ; [.9BE4.0020.0002.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950 ; [.A5DC.0020.0002.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59 ; [.8E69.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
+2F970 ; [.B38F.0020.0002.7E45] # CJK COMPATIBILITY IDEOGRAPH-2F970
+FAB1 ; [.AD85.0020.0002.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1
+FA5A ; [.B657.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6 ; [.A1FD.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+2F976 ; [.85DC.0020.0002.7F7A] # CJK COMPATIBILITY IDEOGRAPH-2F976
+F90F ; [.A64E.0020.0002.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
+2F978 ; [.C504.0020.0002.7F95] # CJK COMPATIBILITY IDEOGRAPH-2F978
+F9AF ; [.A422.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E ; [.C975.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+2F979 ; [.80A2.0020.0002.7FFA] # CJK COMPATIBILITY IDEOGRAPH-2F979
+F934 ; [.A149.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B ; [.CD23.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2 ; [.CD23.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A ; [.CD23.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0 ; [.A424.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+2F97D ; [.AD69.0020.0002.8060] # CJK COMPATIBILITY IDEOGRAPH-2F97D
+F997 ; [.A2F1.0020.0002.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F ; [.88C7.0020.0002.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945 ; [.A4DA.0020.0002.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
+F953 ; [.A167.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6 ; [.A9B7.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982 ; [.C9A3.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F983 ; [.8934.0020.0002.8103] # CJK COMPATIBILITY IDEOGRAPH-2F983
+2F985 ; [.ACD1.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926 ; [.A078.0020.0002.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
+F9F6 ; [.A3D4.0020.0002.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+FA5C ; [.8772.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893 ; [.C928.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B ; [.C928.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+2F98C ; [.BF1A.0020.0002.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C
+FA6D ; [.92D4.0020.0002.8218] # CJK COMPATIBILITY IDEOGRAPH-FA6D
+F97C ; [.A327.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
+FA5D ; [.84B9.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5D
+FA5E ; [.84B9.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5E
+2F990 ; [.C99E.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F98F ; [.AE85.0020.0002.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F
+2F991 ; [.CDDD.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993 ; [.960B.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994 ; [.8E93.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995 ; [.C39B.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974 ; [.B328.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998 ; [.B328.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996 ; [.9F4F.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
+2F999 ; [.8519.0020.0002.831D] # CJK COMPATIBILITY IDEOGRAPH-2F999
+2F99C ; [.BDDE.0020.0002.8323] # CJK COMPATIBILITY IDEOGRAPH-2F99C
+F9FE ; [.84F7.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3 ; [.96AF.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F9A0 ; [.AD7B.0020.0002.8353] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
+2F99A ; [.B27F.0020.0002.8363] # CJK COMPATIBILITY IDEOGRAPH-2F99A
+2F99B ; [.9B40.0020.0002.83AD] # CJK COMPATIBILITY IDEOGRAPH-2F99B
+2F99D ; [.A713.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+F93E ; [.A57A.0020.0002.83C9] # CJK COMPATIBILITY IDEOGRAPH-F93E
+2F9A1 ; [.9CF4.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2 ; [.9E06.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3 ; [.845F.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+2F99E ; [.8B10.0020.0002.83E7] # CJK COMPATIBILITY IDEOGRAPH-2F99E
+FAB4 ; [.9614.0020.0002.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958 ; [.A426.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918 ; [.A673.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E ; [.C5A8.0020.0002.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F ; [.CD36.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F ; [.CD36.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999 ; [.A2D9.0020.0002.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
+2F9A8 ; [.AD86.0020.0002.84F1] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
+2F9A9 ; [.9BB8.0020.0002.84F3] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
+F9C2 ; [.A37C.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AA ; [.8966.0020.0002.8516] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
+2F9AC ; [.B30B.0020.0002.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+F923 ; [.A0C7.0020.0002.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0 ; [.A3FB.0020.0002.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935 ; [.A53C.0020.0002.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
+FA20 ; [.B110.0020.0002.8612] # CJK COMPATIBILITY IDEOGRAPH-FA20
+F91F ; [.A0D4.0020.0002.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910 ; [.A656.0020.0002.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F9B3 ; [.AB6D.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936 ; [.A555.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4 ; [.A555.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5 ; [.9FD0.0020.0002.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B6 ; [.BF2F.0020.0002.8669] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
+2F9B8 ; [.AEF3.0020.0002.8688] # CJK COMPATIBILITY IDEOGRAPH-2F9B8
+2F9B7 ; [.86AD.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+2F9BA ; [.AD87.0020.0002.86E2] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
+2F9B9 ; [.CA2E.0020.0002.870E] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
+2F9BC ; [.8BD5.0020.0002.8728] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
+2F9BD ; [.CF66.0020.0002.876B] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
+FAB5 ; [.CACA.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-FAB5
+2F9BB ; [.CACA.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
+2F9BE ; [.88A9.0020.0002.8786] # CJK COMPATIBILITY IDEOGRAPH-2F9BE
+F911 ; [.A64D.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
+2F9C0 ; [.9359.0020.0002.87E1] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
+2F9C1 ; [.C072.0020.0002.8801] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
+F927 ; [.A07D.0020.0002.881F] # CJK COMPATIBILITY IDEOGRAPH-F927
+FA08 ; [.C1BA.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C3 ; [.D03A.0020.0002.8860] # CJK COMPATIBILITY IDEOGRAPH-2F9C3
+2F9C4 ; [.C5D3.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0 ; [.A39F.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F9E7 ; [.A229.0020.0002.88CF] # CJK COMPATIBILITY IDEOGRAPH-F9E7
+2F9C6 ; [.A468.0020.0002.88D7] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
+2F9C7 ; [.B6C1.0020.0002.88DE] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
+F9E8 ; [.A2C4.0020.0002.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912 ; [.A661.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
+2F9C9 ; [.C444.0020.0002.88FA] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
+FA60 ; [.94E1.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6 ; [.AFA2.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924 ; [.A0CC.0020.0002.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
+FAB7 ; [.907C.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A ; [.99FE.0020.0002.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+FA61 ; [.B5D4.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8 ; [.B5D4.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2F9CF ; [.8692.0020.0002.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+F96F ; [.B6D2.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F
+F9A1 ; [.B6D2.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F9A1
+FAB9 ; [.8BAD.0020.0002.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB ; [.B08C.0020.0002.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D ; [.A34C.0020.0002.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941 ; [.A63B.0020.0002.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE ; [.C9F2.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0 ; [.C9F2.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22 ; [.CF69.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA ; [.CF69.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D ; [.AB81.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD ; [.AB81.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62 ; [.C5BB.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC ; [.C5BB.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63 ; [.9BBE.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF ; [.9BBE.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC ; [.B608.0020.0002.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A ; [.8C98.0020.0002.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0 ; [.8304.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1 ; [.8304.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+F900 ; [.AE8C.0020.0002.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2 ; [.B59F.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D4 ; [.92E0.0020.0002.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5 ; [.827C.0020.0002.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948 ; [.A588.0020.0002.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
+F903 ; [.9963.0020.0002.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64 ; [.835E.0020.0002.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65 ; [.CC04.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1 ; [.CC04.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D6 ; [.90FE.0020.0002.8D1B] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
+2F9D7 ; [.AE8D.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DB ; [.99CD.0020.0002.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
+2F9DA ; [.80E7.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937 ; [.A589.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
+2F9DC ; [.AD12.0020.0002.8DF0] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
+F902 ; [.85ED.0020.0002.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
+2F9DE ; [.B25D.0020.0002.8ED4] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
+F998 ; [.AAA2.0020.0002.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7 ; [.A632.0020.0002.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2 ; [.B644.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF ; [.B644.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07 ; [.901F.0020.0002.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D ; [.A2B5.0020.0002.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
+2F98D ; [.8885.0020.0002.8F9E] # CJK COMPATIBILITY IDEOGRAPH-2F98D
+F971 ; [.8616.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
+FA66 ; [.8857.0020.0002.8FB6] # CJK COMPATIBILITY IDEOGRAPH-FA66
+F99A ; [.A2CF.0020.0002.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25 ; [.C6BC.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67 ; [.C6BC.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
+FAC3 ; [.86DA.0020.0002.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3 ; [.A364.0020.0002.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913 ; [.A657.0020.0002.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
+2F9E2 ; [.AE81.0020.0002.9094] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
+F92C ; [.A107.0020.0002.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
+FA2E ; [.A108.0020.0002.90DE] # CJK COMPATIBILITY IDEOGRAPH-FA2E
+2F9E3 ; [.AD74.0020.0002.90F1] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
+FA26 ; [.8C50.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
+2F9E4 ; [.D09D.0020.0002.9111] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
+2F9E6 ; [.85D5.0020.0002.911B] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
+F919 ; [.A159.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
+FAC4 ; [.B778.0020.0002.9199] # CJK COMPATIBILITY IDEOGRAPH-FAC4
+F9B7 ; [.A232.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9 ; [.A21E.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E ; [.A34A.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A ; [.9B96.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9B1 ; [.A42E.0020.0002.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9E7 ; [.83E8.0020.0002.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
+FAC5 ; [.C1CA.0020.0002.9276] # CJK COMPATIBILITY IDEOGRAPH-FAC5
+2F9EA ; [.8395.0020.0002.927C] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
+2F9E8 ; [.C2BB.0020.0002.92D7] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
+2F9E9 ; [.961F.0020.0002.92D8] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
+F93F ; [.A59D.0020.0002.9304] # CJK COMPATIBILITY IDEOGRAPH-F93F
+F99B ; [.A31F.0020.0002.934A] # CJK COMPATIBILITY IDEOGRAPH-F99B
+2F9EB ; [.AFA4.0020.0002.93F9] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
+2F9EC ; [.CB58.0020.0002.9415] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
+2F9EE ; [.9E42.0020.0002.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986 ; [.A5BD.0020.0002.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
+2F9F0 ; [.B3FB.0020.0002.95B7] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
+F9C6 ; [.B2FA.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951 ; [.A518.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09 ; [.9A78.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959 ; [.A418.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3 ; [.A574.0020.0002.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+FAC6 ; [.CF90.0020.0002.967C] # CJK COMPATIBILITY IDEOGRAPH-FAC6
+F9DC ; [.A4BE.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9F1 ; [.A3C7.0020.0002.96A3] # CJK COMPATIBILITY IDEOGRAPH-F9F1
+FA2F ; [.A288.0020.0002.96B7] # CJK COMPATIBILITY IDEOGRAPH-FA2F
+F9B8 ; [.A28E.0020.0002.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+2F9F3 ; [.AEFD.0020.0002.96C3] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
+F9EA ; [.A206.0020.0002.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68 ; [.A9EE.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7 ; [.A9EE.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+F9B2 ; [.A430.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949 ; [.A17E.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
+2F9F5 ; [.CB01.0020.0002.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
+F938 ; [.A5AF.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3 ; [.A448.0020.0002.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+FA1C ; [.9C4E.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8 ; [.9C4E.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+FAC9 ; [.8121.0020.0002.97DB] # CJK COMPATIBILITY IDEOGRAPH-FAC9
+2F9FA ; [.82B7.0020.0002.97E0] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
+FA69 ; [.C075.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA ; [.C075.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
+FACB ; [.8D88.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-FACB
+2F9FE ; [.8D88.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FE
+2F9FF ; [.8D88.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FF
+F9B4 ; [.A451.0020.0002.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+2FA00 ; [.AD6C.0020.0002.9829] # CJK COMPATIBILITY IDEOGRAPH-2FA00
+FA6A ; [.AD55.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC ; [.AD55.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0 ; [.A1BF.0020.0002.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2FA02 ; [.9806.0020.0002.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A ; [.8E89.0020.0002.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B ; [.B734.0020.0002.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C ; [.92D6.0020.0002.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+2FA04 ; [.8DCB.0020.0002.9929] # CJK COMPATIBILITY IDEOGRAPH-2FA04
+2FA05 ; [.CACE.0020.0002.99A7] # CJK COMPATIBILITY IDEOGRAPH-2FA05
+2FA06 ; [.8195.0020.0002.99C2] # CJK COMPATIBILITY IDEOGRAPH-2FA06
+F91A ; [.A67A.0020.0002.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
+2FA07 ; [.BB6B.0020.0002.99FE] # CJK COMPATIBILITY IDEOGRAPH-2FA07
+F987 ; [.A21A.0020.0002.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
+FACD ; [.CD7E.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD
+2FA0A ; [.CD7E.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
+F939 ; [.A55A.0020.0002.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
+2FA0B ; [.990A.0020.0002.9C40] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
+F9F2 ; [.A3DE.0020.0002.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+2FA0C ; [.99A3.0020.0002.9CFD] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
+2FA0F ; [.ACDC.0020.0002.9D67] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
+FA2D ; [.94EB.0020.0002.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A ; [.A5B3.0020.0002.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920 ; [.A60F.0020.0002.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
+F940 ; [.A57C.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
+F988 ; [.A2A1.0020.0002.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3 ; [.A3DF.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15 ; [.A687.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989 ; [.A1FA.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA17 ; [.CE4C.0020.0002.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FA18 ; [.A86D.0020.0002.9EFE] # CJK COMPATIBILITY IDEOGRAPH-2FA18
+2FA19 ; [.CE04.0020.0002.9F05] # CJK COMPATIBILITY IDEOGRAPH-2FA19
+2FA1A ; [.A84E.0020.0002.9F0F] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
+2FA1B ; [.8F2F.0020.0002.9F16] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
+2FA1C ; [.8237.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+FAD8 ; [.8DD6.0020.0002.9F43] # CJK COMPATIBILITY IDEOGRAPH-FAD8
+F9C4 ; [.A4C6.0020.0002.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+FAD9 ; [.AC0A.0020.0002.9F8E] # CJK COMPATIBILITY IDEOGRAPH-FAD9
+F907 ; [.9336.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908 ; [.9336.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE ; [.9336.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_strk.pl b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_strk.pl
index 37342dffef6..c1ff7ff3121 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_strk.pl
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/Locale/zh_strk.pl
@@ -1,212 +1,1589 @@
use Unicode::Collate::CJK::Stroke;
+{
+ locale_version => 0.88,
overrideCJK => \&Unicode::Collate::CJK::Stroke::weightStroke,
- entry => <<'ENTRY', # for DUCET v6.0.0
-0101 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0100 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00E1 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-01CD ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-00E0 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-00C0 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0113 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0112 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00E9 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-011B ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-011A ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-00E8 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-00C8 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5 ; [.15FF.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4 ; [.15FF.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3 ; [.15FF.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2 ; [.15FF.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7 ; [.15FF.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6 ; [.15FF.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-012A ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00ED ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0 ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-01CF ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-00EC ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-00CC ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.16F4.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.16F4.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-1E3E ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.16F4.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.16F4.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.1702.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.1702.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-0148 ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-0147 ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-01F9 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-01F8 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-014D ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-014C ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00F3 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2 ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-01D1 ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-00F2 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-00D2 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-016B ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-016A ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-00FA ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4 ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-01D3 ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-00F9 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-00D9 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.17E9.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.17E9.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9 ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.17E9.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.17E9.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+ entry => <<'ENTRY', # for DUCET v6.1.0
+0101 ; [.15D4.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15D4.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15D4.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15D4.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00E1 ; [.15D4.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15D4.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15D4.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15D4.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15D4.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15D4.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE ; [.15D4.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15D4.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+01CD ; [.15D4.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15D4.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+00E0 ; [.15D4.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15D4.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15D4.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15D4.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15D4.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15D4.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0113 ; [.1631.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.1631.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.1631.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.1631.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00E9 ; [.1631.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1631.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1631.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1631.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1631.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1631.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+011B ; [.1631.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.1631.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+011A ; [.1631.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.1631.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+00E8 ; [.1631.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.1631.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.1631.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+00C8 ; [.1631.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.1631.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.1631.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.1631.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.1631.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.1631.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.1631.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF ; [.1631.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.1631.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.1631.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1631.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.1631.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.1631.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.1631.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.1631.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.1631.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.1631.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.1631.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.1631.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.1631.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.1631.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1 ; [.1631.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.1631.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.1631.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1631.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.1631.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.1631.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.1631.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.1631.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.1631.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.1631.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA ; [.1631.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.1631.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1631.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.1631.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5 ; [.1631.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1631.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1631.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1631.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7 ; [.1631.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1631.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B ; [.16B2.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16B2.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.16B2.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16B2.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00ED ; [.16B2.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16B2.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16B2.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16B2.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16B2.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16B2.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0 ; [.16B2.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.16B2.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+01CF ; [.16B2.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.16B2.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+00EC ; [.16B2.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.16B2.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.16B2.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+00CC ; [.16B2.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.16B2.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.16B2.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.1726.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.1726.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F ; [.1726.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.1726.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.1726.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+1E3E ; [.1726.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.1726.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.1726.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.1726.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.1726.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.1726.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.1726.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.1726.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.1726.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.1734.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.1734.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144 ; [.1734.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1734.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1734.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.1734.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1734.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1734.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+0148 ; [.1734.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.1734.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+0147 ; [.1734.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.1734.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+01F9 ; [.1734.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.1734.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.1734.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+01F8 ; [.1734.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.1734.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.1734.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+014D ; [.1756.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1756.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.1756.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1756.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00F3 ; [.1756.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1756.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1756.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1756.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1756.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1756.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2 ; [.1756.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1756.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+01D1 ; [.1756.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1756.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+00F2 ; [.1756.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1756.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1756.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+00D2 ; [.1756.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1756.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1756.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+016B ; [.181B.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.181B.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.181B.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.181B.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+00FA ; [.181B.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.181B.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.181B.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.181B.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.181B.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.181B.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4 ; [.181B.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.181B.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+01D3 ; [.181B.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.181B.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+00F9 ; [.181B.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.181B.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.181B.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+00D9 ; [.181B.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.181B.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.181B.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6 ; [.181B.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.181B.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.181B.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.181B.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.181B.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.181B.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8 ; [.181B.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.181B.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.181B.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.181B.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.181B.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.181B.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.181B.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.181B.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.181B.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.181B.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA ; [.181B.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.181B.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.181B.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.181B.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.181B.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.181B.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC ; [.181B.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.181B.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.181B.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.181B.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.181B.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.181B.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.181B.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.181B.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.181B.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.181B.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC ; [.181B.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.181B.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.181B.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.181B.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+FDD0 2801 ; [.8000.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1>
+2E84 ; [.8007.0020.0002.2E84] # CJK RADICAL SECOND THREE
+3006 ; [.8012.0020.0002.3006] # IDEOGRAPHIC CLOSING MARK
+3007 ; [.8013.0020.0002.3007] # IDEOGRAPHIC NUMBER ZERO
+3021 ; [.8014.0020.0002.3021] # HANGZHOU NUMERAL ONE
+3025 ; [.8015.0020.0002.3025] # HANGZHOU NUMERAL FIVE
+303B ; [.8016.0020.0002.303B] # VERTICAL IDEOGRAPHIC ITERATION MARK
+FDD0 2802 ; [.8017.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-2>
+2E86 ; [.8031.0020.0002.2E86] # CJK RADICAL BOX
+2E87 ; [.8035.0020.0002.2E87] # CJK RADICAL TABLE
+2E88 ; [.8038.0020.0002.2E88] # CJK RADICAL KNIFE ONE
+2E8A ; [.8042.0020.0002.2E8A] # CJK RADICAL DIVINATION
+2E80 ; [.8047.0020.0002.2E80] # CJK RADICAL REPEAT
+2ECF ; [.804B.0020.0002.2ECF] # CJK RADICAL CITY
+2ED6 ; [.804C.0020.0002.2ED6] # CJK RADICAL MOUND TWO
+3022 ; [.804E.0020.0002.3022] # HANGZHOU NUMERAL TWO
+3024 ; [.804F.0020.0002.3024] # HANGZHOU NUMERAL FOUR
+3026 ; [.8050.0020.0002.3026] # HANGZHOU NUMERAL SIX
+FDD0 2803 ; [.8051.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-12>
+2E8C ; [.808F.0020.0002.2E8C] # CJK RADICAL SMALL ONE
+2E8D ; [.8090.0020.0002.2E8D] # CJK RADICAL SMALL TWO
+2E95 ; [.80A8.0020.0002.2E95] # CJK RADICAL SNOUT TWO
+2EBE ; [.80B3.0020.0002.2EBE] # CJK RADICAL GRASS ONE
+2ECC ; [.80B5.0020.0002.2ECC] # CJK RADICAL SIMPLIFIED WALK
+3005 ; [.80BB.0020.0002.3005] # IDEOGRAPHIC ITERATION MARK
+3023 ; [.80BC.0020.0002.3023] # HANGZHOU NUMERAL THREE
+3027 ; [.80BD.0020.0002.3027] # HANGZHOU NUMERAL SEVEN
+FDD0 2804 ; [.80BE.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-3>
+2E9C ; [.815B.0020.0002.2E9C] # CJK RADICAL SUN
+2E9D ; [.815E.0020.0002.2E9D] # CJK RADICAL MOON
+2EA5 ; [.8170.0020.0002.2EA5] # CJK RADICAL PAW TWO
+2EA7 ; [.817A.0020.0002.2EA7] # CJK RADICAL COW
+2EBC ; [.8185.0020.0002.2EBC] # CJK RADICAL MEAT
+2ECD ; [.818E.0020.0002.2ECD] # CJK RADICAL WALK ONE
+3028 ; [.8193.0020.0002.3028] # HANGZHOU NUMERAL EIGHT
+3029 ; [.8194.0020.0002.3029] # HANGZHOU NUMERAL NINE
+FDD0 2805 ; [.8195.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-13>
+2EAA ; [.82B3.0020.0002.2EAA] # CJK RADICAL BOLT OF CLOTH
+2EAC ; [.82BF.0020.0002.2EAC] # CJK RADICAL SPIRIT ONE
+FDD0 2806 ; [.82E7.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-23>
+2EAE ; [.84B2.0020.0002.2EAE] # CJK RADICAL BAMBOO
+2EB6 ; [.84C6.0020.0002.2EB6] # CJK RADICAL SHEEP
+FDD0 2807 ; [.8529.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-123>
+2EC6 ; [.887A.0020.0002.2EC6] # CJK RADICAL SIMPLIFIED HORN
+2ECA ; [.889A.0020.0002.2ECA] # CJK RADICAL FOOT
+FDD0 2808 ; [.88FA.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-4>
+FA24 ; [.8E20.0020.0002.FA24] # CJK COMPATIBILITY IDEOGRAPH-FA24
+2ED7 ; [.8E5B.0020.0002.2ED7] # CJK RADICAL RAIN
+FDD0 2809 ; [.8E7C.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-14>
+2EDE ; [.94AC.0020.0002.2EDE] # CJK RADICAL EAT TWO
+2EE3 ; [.94C3.0020.0002.2EE3] # CJK RADICAL BONE
+FDD0 280A ; [.94CA.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-24>
+FA0F ; [.95F1.0020.0002.FA0F] # CJK COMPATIBILITY IDEOGRAPH-FA0F
+FDD0 280B ; [.9C16.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-124>
+FA21 ; [.A279.0020.0002.FA21] # CJK COMPATIBILITY IDEOGRAPH-FA21
+FA23 ; [.A312.0020.0002.FA23] # CJK COMPATIBILITY IDEOGRAPH-FA23
+FDD0 280C ; [.A41D.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-34>
+FA11 ; [.A5A3.0020.0002.FA11] # CJK COMPATIBILITY IDEOGRAPH-FA11
+FDD0 280D ; [.AC7F.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-134>
+FA0E ; [.ACD0.0020.0002.FA0E] # CJK COMPATIBILITY IDEOGRAPH-FA0E
+FA13 ; [.AEF8.0020.0002.FA13] # CJK COMPATIBILITY IDEOGRAPH-FA13
+FA29 ; [.B3B4.0020.0002.FA29] # CJK COMPATIBILITY IDEOGRAPH-FA29
+FDD0 280E ; [.B44A.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-234>
+FA14 ; [.B690.0020.0002.FA14] # CJK COMPATIBILITY IDEOGRAPH-FA14
+FDD0 280F ; [.BB5A.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1234>
+FA27 ; [.C173.0020.0002.FA27] # CJK COMPATIBILITY IDEOGRAPH-FA27
+FDD0 2810 ; [.C276.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-5>
+FA28 ; [.C748.0020.0002.FA28] # CJK COMPATIBILITY IDEOGRAPH-FA28
+FDD0 2811 ; [.C860.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-15>
+FDD0 2812 ; [.CD3D.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-25>
+FDD0 2813 ; [.D0E6.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-125>
+FA1F ; [.D23D.0020.0002.FA1F] # CJK COMPATIBILITY IDEOGRAPH-FA1F
+FDD0 2814 ; [.D41B.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-35>
+FDD0 2815 ; [.D68C.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-135>
+FDD0 2816 ; [.D846.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-235>
+FDD0 2817 ; [.D993.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1235>
+FDD0 2818 ; [.DA95.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-45>
+FDD0 2819 ; [.DB3D.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-145>
+FDD0 281A ; [.DBB4.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-245>
+FDD0 281B ; [.DBF1.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1245>
+FDD0 281C ; [.DC29.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-345>
+FDD0 281D ; [.DC4D.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1345>
+FDD0 281E ; [.DC5C.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-2345>
+FDD0 281F ; [.DC6C.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-12345>
+FDD0 2820 ; [.DC71.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-6>
+FDD0 2821 ; [.DC76.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-16>
+FDD0 2823 ; [.DC7C.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-126>
+FDD0 2824 ; [.DC7E.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-36>
+FDD0 2827 ; [.DC80.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1236>
+FDD0 2830 ; [.DC82.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-56>
+3220 ; [*02FB.0020.0004.3220][.8001.0020.0004.3220][*02FC.0020.001F.3220] # PARENTHESIZED IDEOGRAPH ONE
+3226 ; [*02FB.0020.0004.3226][.801A.0020.0004.3226][*02FC.0020.001F.3226] # PARENTHESIZED IDEOGRAPH SEVEN
+3222 ; [*02FB.0020.0004.3222][.8054.0020.0004.3222][*02FC.0020.001F.3222] # PARENTHESIZED IDEOGRAPH THREE
+3228 ; [*02FB.0020.0004.3228][.8027.0020.0004.3228][*02FC.0020.001F.3228] # PARENTHESIZED IDEOGRAPH NINE
+3221 ; [*02FB.0020.0004.3221][.802A.0020.0004.3221][*02FC.0020.001F.3221] # PARENTHESIZED IDEOGRAPH TWO
+3224 ; [*02FB.0020.0004.3224][.80D7.0020.0004.3224][*02FC.0020.001F.3224] # PARENTHESIZED IDEOGRAPH FIVE
+3239 ; [*02FB.0020.0004.3239][.81C2.0020.0004.3239][*02FC.0020.001F.3239] # PARENTHESIZED IDEOGRAPH REPRESENT
+323D ; [*02FB.0020.0004.323D][.831C.0020.0004.323D][*02FC.0020.001F.323D] # PARENTHESIZED IDEOGRAPH ENTERPRISE
+3241 ; [*02FB.0020.0004.3241][.832C.0020.0004.3241][*02FC.0020.001F.3241] # PARENTHESIZED IDEOGRAPH REST
+3227 ; [*02FB.0020.0004.3227][.8030.0020.0004.3227][*02FC.0020.001F.3227] # PARENTHESIZED IDEOGRAPH EIGHT
+3225 ; [*02FB.0020.0004.3225][.80F5.0020.0004.3225][*02FC.0020.001F.3225] # PARENTHESIZED IDEOGRAPH SIX
+3238 ; [*02FB.0020.0004.3238][.85A8.0020.0004.3238][*02FC.0020.001F.3238] # PARENTHESIZED IDEOGRAPH LABOR
+3229 ; [*02FB.0020.0004.3229][.8041.0020.0004.3229][*02FC.0020.001F.3229] # PARENTHESIZED IDEOGRAPH TEN
+323F ; [*02FB.0020.0004.323F][.899D.0020.0004.323F][*02FC.0020.001F.323F] # PARENTHESIZED IDEOGRAPH ALLIANCE
+3234 ; [*02FB.0020.0004.3234][.839D.0020.0004.3234][*02FC.0020.001F.3234] # PARENTHESIZED IDEOGRAPH NAME
+323A ; [*02FB.0020.0004.323A][.89D5.0020.0004.323A][*02FC.0020.001F.323A] # PARENTHESIZED IDEOGRAPH CALL
+3223 ; [*02FB.0020.0004.3223][.822D.0020.0004.3223][*02FC.0020.001F.3223] # PARENTHESIZED IDEOGRAPH FOUR
+322F ; [*02FB.0020.0004.322F][.8081.0020.0004.322F][*02FC.0020.001F.322F] # PARENTHESIZED IDEOGRAPH EARTH
+323B ; [*02FB.0020.0004.323B][.8A8D.0020.0004.323B][*02FC.0020.001F.323B] # PARENTHESIZED IDEOGRAPH STUDY
+3230 ; [*02FB.0020.0004.3230][.815C.0020.0004.3230][*02FC.0020.001F.3230] # PARENTHESIZED IDEOGRAPH SUN
+322A ; [*02FB.0020.0004.322A][.815F.0020.0004.322A][*02FC.0020.001F.322A] # PARENTHESIZED IDEOGRAPH MOON
+3232 ; [*02FB.0020.0004.3232][.845A.0020.0004.3232][*02FC.0020.001F.3232] # PARENTHESIZED IDEOGRAPH HAVE
+322D ; [*02FB.0020.0004.322D][.8160.0020.0004.322D][*02FC.0020.001F.322D] # PARENTHESIZED IDEOGRAPH WOOD
+3231 ; [*02FB.0020.0004.3231][.979F.0020.0004.3231][*02FC.0020.001F.3231] # PARENTHESIZED IDEOGRAPH STOCK
+322C ; [*02FB.0020.0004.322C][.816D.0020.0004.322C][*02FC.0020.001F.322C] # PARENTHESIZED IDEOGRAPH WATER
+322B ; [*02FB.0020.0004.322B][.816E.0020.0004.322B][*02FC.0020.001F.322B] # PARENTHESIZED IDEOGRAPH FIRE
+3235 ; [*02FB.0020.0004.3235][.9895.0020.0004.3235][*02FC.0020.001F.3235] # PARENTHESIZED IDEOGRAPH SPECIAL
+323C ; [*02FB.0020.0004.323C][.B79A.0020.0004.323C][*02FC.0020.001F.323C] # PARENTHESIZED IDEOGRAPH SUPERVISE
+3233 ; [*02FB.0020.0004.3233][.8D2E.0020.0004.3233][*02FC.0020.001F.3233] # PARENTHESIZED IDEOGRAPH SOCIETY
+3237 ; [*02FB.0020.0004.3237][.9970.0020.0004.3237][*02FC.0020.001F.3237] # PARENTHESIZED IDEOGRAPH CONGRATULATION
+3240 ; [*02FB.0020.0004.3240][.A100.0020.0004.3240][*02FC.0020.001F.3240] # PARENTHESIZED IDEOGRAPH FESTIVAL
+3242 ; [*02FB.0020.0004.3242][.84D8.0020.0004.3242][*02FC.0020.001F.3242] # PARENTHESIZED IDEOGRAPH SELF
+3243 ; [*02FB.0020.0004.3243][.84D9.0020.0004.3243][*02FC.0020.001F.3243] # PARENTHESIZED IDEOGRAPH REACH
+3236 ; [*02FB.0020.0004.3236][.9B3B.0020.0004.3236][*02FC.0020.001F.3236] # PARENTHESIZED IDEOGRAPH FINANCIAL
+323E ; [*02FB.0020.0004.323E][.B2A5.0020.0004.323E][*02FC.0020.001F.323E] # PARENTHESIZED IDEOGRAPH RESOURCE
+322E ; [*02FB.0020.0004.322E][.8E33.0020.0004.322E][*02FC.0020.001F.322E] # PARENTHESIZED IDEOGRAPH METAL
+3358 ; [.15CA.0020.0004.3358][.9216.0020.0004.3358] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
+33E9 ; [.15CB.0020.0004.33E9][.15CA.0020.0004.33E9][.815C.0020.001F.33E9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
+32C9 ; [.15CB.0020.0004.32C9][.15CA.0020.0004.32C9][.815F.0020.001F.32C9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
+3362 ; [.15CB.0020.0004.3362][.15CA.0020.0004.3362][.9216.0020.001F.3362] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
+33EA ; [.15CB.0020.0004.33EA][.15CB.0020.0004.33EA][.815C.0020.001F.33EA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
+32CA ; [.15CB.0020.0004.32CA][.15CB.0020.0004.32CA][.815F.0020.001F.32CA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
+3363 ; [.15CB.0020.0004.3363][.15CB.0020.0004.3363][.9216.0020.001F.3363] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
+33EB ; [.15CB.0020.0004.33EB][.15CC.0020.0004.33EB][.815C.0020.001F.33EB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
+32CB ; [.15CB.0020.0004.32CB][.15CC.0020.0004.32CB][.815F.0020.001F.32CB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
+3364 ; [.15CB.0020.0004.3364][.15CC.0020.0004.3364][.9216.0020.001F.3364] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
+33EC ; [.15CB.0020.0004.33EC][.15CD.0020.0004.33EC][.815C.0020.001F.33EC] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
+3365 ; [.15CB.0020.0004.3365][.15CD.0020.0004.3365][.9216.0020.001F.3365] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
+33ED ; [.15CB.0020.0004.33ED][.15CE.0020.0004.33ED][.815C.0020.001F.33ED] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
+3366 ; [.15CB.0020.0004.3366][.15CE.0020.0004.3366][.9216.0020.001F.3366] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
+33EE ; [.15CB.0020.0004.33EE][.15CF.0020.0004.33EE][.815C.0020.001F.33EE] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
+3367 ; [.15CB.0020.0004.3367][.15CF.0020.0004.3367][.9216.0020.001F.3367] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
+33EF ; [.15CB.0020.0004.33EF][.15D0.0020.0004.33EF][.815C.0020.001F.33EF] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
+3368 ; [.15CB.0020.0004.3368][.15D0.0020.0004.3368][.9216.0020.001F.3368] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
+33F0 ; [.15CB.0020.0004.33F0][.15D1.0020.0004.33F0][.815C.0020.001F.33F0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
+3369 ; [.15CB.0020.0004.3369][.15D1.0020.0004.3369][.9216.0020.001F.3369] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
+33F1 ; [.15CB.0020.0004.33F1][.15D2.0020.0004.33F1][.815C.0020.001F.33F1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
+336A ; [.15CB.0020.0004.336A][.15D2.0020.0004.336A][.9216.0020.001F.336A] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
+33F2 ; [.15CB.0020.0004.33F2][.15D3.0020.0004.33F2][.815C.0020.001F.33F2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
+336B ; [.15CB.0020.0004.336B][.15D3.0020.0004.336B][.9216.0020.001F.336B] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
+33E0 ; [.15CB.0020.0004.33E0][.815C.0020.0004.33E0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
+32C0 ; [.15CB.0020.0004.32C0][.815F.0020.0004.32C0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
+3359 ; [.15CB.0020.0004.3359][.9216.0020.0004.3359] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
+33F3 ; [.15CC.0020.0004.33F3][.15CA.0020.0004.33F3][.815C.0020.001F.33F3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
+336C ; [.15CC.0020.0004.336C][.15CA.0020.0004.336C][.9216.0020.001F.336C] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
+33F4 ; [.15CC.0020.0004.33F4][.15CB.0020.0004.33F4][.815C.0020.001F.33F4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
+336D ; [.15CC.0020.0004.336D][.15CB.0020.0004.336D][.9216.0020.001F.336D] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
+33F5 ; [.15CC.0020.0004.33F5][.15CC.0020.0004.33F5][.815C.0020.001F.33F5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
+336E ; [.15CC.0020.0004.336E][.15CC.0020.0004.336E][.9216.0020.001F.336E] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
+33F6 ; [.15CC.0020.0004.33F6][.15CD.0020.0004.33F6][.815C.0020.001F.33F6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
+336F ; [.15CC.0020.0004.336F][.15CD.0020.0004.336F][.9216.0020.001F.336F] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
+33F7 ; [.15CC.0020.0004.33F7][.15CE.0020.0004.33F7][.815C.0020.001F.33F7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
+3370 ; [.15CC.0020.0004.3370][.15CE.0020.0004.3370][.9216.0020.001F.3370] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
+33F8 ; [.15CC.0020.0004.33F8][.15CF.0020.0004.33F8][.815C.0020.001F.33F8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
+33F9 ; [.15CC.0020.0004.33F9][.15D0.0020.0004.33F9][.815C.0020.001F.33F9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
+33FA ; [.15CC.0020.0004.33FA][.15D1.0020.0004.33FA][.815C.0020.001F.33FA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
+33FB ; [.15CC.0020.0004.33FB][.15D2.0020.0004.33FB][.815C.0020.001F.33FB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
+33FC ; [.15CC.0020.0004.33FC][.15D3.0020.0004.33FC][.815C.0020.001F.33FC] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
+33E1 ; [.15CC.0020.0004.33E1][.815C.0020.0004.33E1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
+32C1 ; [.15CC.0020.0004.32C1][.815F.0020.0004.32C1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
+335A ; [.15CC.0020.0004.335A][.9216.0020.0004.335A] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
+33FD ; [.15CD.0020.0004.33FD][.15CA.0020.0004.33FD][.815C.0020.001F.33FD] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
+33FE ; [.15CD.0020.0004.33FE][.15CB.0020.0004.33FE][.815C.0020.001F.33FE] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
+33E2 ; [.15CD.0020.0004.33E2][.815C.0020.0004.33E2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
+32C2 ; [.15CD.0020.0004.32C2][.815F.0020.0004.32C2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
+335B ; [.15CD.0020.0004.335B][.9216.0020.0004.335B] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
+33E3 ; [.15CE.0020.0004.33E3][.815C.0020.0004.33E3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
+32C3 ; [.15CE.0020.0004.32C3][.815F.0020.0004.32C3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
+335C ; [.15CE.0020.0004.335C][.9216.0020.0004.335C] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
+33E4 ; [.15CF.0020.0004.33E4][.815C.0020.0004.33E4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
+32C4 ; [.15CF.0020.0004.32C4][.815F.0020.0004.32C4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
+335D ; [.15CF.0020.0004.335D][.9216.0020.0004.335D] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
+33E5 ; [.15D0.0020.0004.33E5][.815C.0020.0004.33E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
+32C5 ; [.15D0.0020.0004.32C5][.815F.0020.0004.32C5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
+335E ; [.15D0.0020.0004.335E][.9216.0020.0004.335E] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
+33E6 ; [.15D1.0020.0004.33E6][.815C.0020.0004.33E6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
+32C6 ; [.15D1.0020.0004.32C6][.815F.0020.0004.32C6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
+335F ; [.15D1.0020.0004.335F][.9216.0020.0004.335F] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
+33E7 ; [.15D2.0020.0004.33E7][.815C.0020.0004.33E7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
+32C7 ; [.15D2.0020.0004.32C7][.815F.0020.0004.32C7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
+3360 ; [.15D2.0020.0004.3360][.9216.0020.0004.3360] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
+33E8 ; [.15D3.0020.0004.33E8][.815C.0020.0004.33E8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
+32C8 ; [.15D3.0020.0004.32C8][.815F.0020.0004.32C8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
+3361 ; [.15D3.0020.0004.3361][.9216.0020.0004.3361] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
+1F241 ; [*0359.0020.0004.1F241][.8054.0020.0004.1F241][*035A.0020.001F.1F241] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
+1F242 ; [*0359.0020.0004.1F242][.802A.0020.0004.1F242][*035A.0020.001F.1F242] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
+1F247 ; [*0359.0020.0004.1F247][.A465.0020.0004.1F247][*035A.0020.001F.1F247] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
+1F243 ; [*0359.0020.0004.1F243][.83F0.0020.0004.1F243][*035A.0020.001F.1F243] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
+1F245 ; [*0359.0020.0004.1F245][.8277.0020.0004.1F245][*035A.0020.001F.1F245] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
+1F248 ; [*0359.0020.0004.1F248][.9EDA.0020.0004.1F248][*035A.0020.001F.1F248] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
+1F240 ; [*0359.0020.0004.1F240][.8283.0020.0004.1F240][*035A.0020.001F.1F240] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
+1F244 ; [*0359.0020.0004.1F244][.9216.0020.0004.1F244][*035A.0020.001F.1F244] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
+1F246 ; [*0359.0020.0004.1F246][.A0BD.0020.0004.1F246][*035A.0020.001F.1F246] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
+2F00 ; [.8001.0020.0004.2F00] # KANGXI RADICAL ONE
+3192 ; [.8001.0020.0014.3192] # IDEOGRAPHIC ANNOTATION ONE MARK
+3280 ; [.8001.0020.0006.3280] # CIRCLED IDEOGRAPH ONE
+1F229 ; [.8001.0020.001C.1F229] # SQUARED CJK UNIFIED IDEOGRAPH-4E00
+319C ; [.8018.0020.0014.319C] # IDEOGRAPHIC ANNOTATION FOURTH MARK
+3286 ; [.801A.0020.0006.3286] # CIRCLED IDEOGRAPH SEVEN
+3194 ; [.8054.0020.0014.3194] # IDEOGRAPHIC ANNOTATION THREE MARK
+3282 ; [.8054.0020.0006.3282] # CIRCLED IDEOGRAPH THREE
+1F22A ; [.8054.0020.001C.1F22A] # SQUARED CJK UNIFIED IDEOGRAPH-4E09
+3196 ; [.8055.0020.0014.3196] # IDEOGRAPHIC ANNOTATION TOP MARK
+32A4 ; [.8055.0020.0006.32A4] # CIRCLED IDEOGRAPH HIGH
+3198 ; [.8056.0020.0014.3198] # IDEOGRAPHIC ANNOTATION BOTTOM MARK
+32A6 ; [.8056.0020.0006.32A6] # CIRCLED IDEOGRAPH LOW
+319B ; [.819C.0020.0014.319B] # IDEOGRAPHIC ANNOTATION THIRD MARK
+2F01 ; [.8002.0020.0004.2F01] # KANGXI RADICAL LINE
+3197 ; [.80C6.0020.0014.3197] # IDEOGRAPHIC ANNOTATION MIDDLE MARK
+32A5 ; [.80C6.0020.0006.32A5] # CIRCLED IDEOGRAPH CENTRE
+1F22D ; [.80C6.0020.001C.1F22D] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
+2F02 ; [.8003.0020.0004.2F02] # KANGXI RADICAL DOT
+2F03 ; [.8004.0020.0004.2F03] # KANGXI RADICAL SLASH
+2F04 ; [.8008.0020.0004.2F04] # KANGXI RADICAL SECOND
+319A ; [.8008.0020.0014.319A] # IDEOGRAPHIC ANNOTATION SECOND MARK
+3288 ; [.8027.0020.0006.3288] # CIRCLED IDEOGRAPH NINE
+2F05 ; [.8010.0020.0004.2F05] # KANGXI RADICAL HOOK
+2F06 ; [.802A.0020.0004.2F06] # KANGXI RADICAL TWO
+3193 ; [.802A.0020.0014.3193] # IDEOGRAPHIC ANNOTATION TWO MARK
+3281 ; [.802A.0020.0006.3281] # CIRCLED IDEOGRAPH TWO
+1F214 ; [.802A.0020.001C.1F214] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
+3284 ; [.80D7.0020.0006.3284] # CIRCLED IDEOGRAPH FIVE
+2F07 ; [.802B.0020.0004.2F07] # KANGXI RADICAL LID
+1F218 ; [.8300.0020.001C.1F218] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
+2F08 ; [.802C.0020.0004.2F08] # KANGXI RADICAL MAN
+319F ; [.802C.0020.0014.319F] # IDEOGRAPHIC ANNOTATION MAN MARK
+32AD ; [.831C.0020.0006.32AD] # CIRCLED IDEOGRAPH ENTERPRISE
+32A1 ; [.832C.0020.0006.32A1] # CIRCLED IDEOGRAPH REST
+329D ; [.C86C.0020.0006.329D] # CIRCLED IDEOGRAPH EXCELLENT
+2F09 ; [.802E.0020.0004.2F09] # KANGXI RADICAL LEGS
+2F0A ; [.802F.0020.0004.2F0A] # KANGXI RADICAL ENTER
+2F0B ; [.8030.0020.0004.2F0B] # KANGXI RADICAL EIGHT
+3287 ; [.8030.0020.0006.3287] # CIRCLED IDEOGRAPH EIGHT
+3285 ; [.80F5.0020.0006.3285] # CIRCLED IDEOGRAPH SIX
+2F0C ; [.8032.0020.0004.2F0C] # KANGXI RADICAL DOWN BOX
+1F21E ; [.8356.0020.001C.1F21E] # SQUARED CJK UNIFIED IDEOGRAPH-518D
+2F0D ; [.8033.0020.0004.2F0D] # KANGXI RADICAL COVER
+32A2 ; [.81D8.0020.0006.32A2] # CIRCLED IDEOGRAPH COPY
+2F0E ; [.8034.0020.0004.2F0E] # KANGXI RADICAL ICE
+2F0F ; [.8036.0020.0004.2F0F] # KANGXI RADICAL TABLE
+2F10 ; [.8037.0020.0004.2F10] # KANGXI RADICAL OPEN BOX
+2F11 ; [.8039.0020.0004.2F11] # KANGXI RADICAL KNIFE
+1F220 ; [.858C.0020.001C.1F220] # SQUARED CJK UNIFIED IDEOGRAPH-521D
+1F21C ; [.8EE7.0020.001C.1F21C] # SQUARED CJK UNIFIED IDEOGRAPH-524D
+1F239 ; [.A45F.0020.001C.1F239] # SQUARED CJK UNIFIED IDEOGRAPH-5272
+2F12 ; [.803C.0020.0004.2F12] # KANGXI RADICAL POWER
+3298 ; [.85A8.0020.0006.3298] # CIRCLED IDEOGRAPH LABOR
+2F13 ; [.803D.0020.0004.2F13] # KANGXI RADICAL WRAP
+2F14 ; [.803E.0020.0004.2F14] # KANGXI RADICAL SPOON
+2F15 ; [.803F.0020.0004.2F15] # KANGXI RADICAL RIGHT OPEN BOX
+2F16 ; [.8040.0020.0004.2F16] # KANGXI RADICAL HIDING ENCLOSURE
+32A9 ; [.85B0.0020.0006.32A9] # CIRCLED IDEOGRAPH MEDICINE
+2F17 ; [.8041.0020.0004.2F17] # KANGXI RADICAL TEN
+3038 ; [.8041.0020.0004.3038] # HANGZHOU NUMERAL TEN
+3289 ; [.8041.0020.0006.3289] # CIRCLED IDEOGRAPH TEN
+3039 ; [.8059.0020.0004.3039] # HANGZHOU NUMERAL TWENTY
+303A ; [.8118.0020.0004.303A] # HANGZHOU NUMERAL THIRTY
+32AF ; [.899D.0020.0006.32AF] # CIRCLED IDEOGRAPH ALLIANCE
+2F18 ; [.8043.0020.0004.2F18] # KANGXI RADICAL DIVINATION
+2F19 ; [.8044.0020.0004.2F19] # KANGXI RADICAL SEAL
+329E ; [.8384.0020.0006.329E] # CIRCLED IDEOGRAPH PRINT
+2F1A ; [.8045.0020.0004.2F1A] # KANGXI RADICAL CLIFF
+2F1B ; [.8046.0020.0004.2F1B] # KANGXI RADICAL PRIVATE
+2F1C ; [.8048.0020.0004.2F1C] # KANGXI RADICAL AGAIN
+1F212 ; [.8128.0020.001C.1F212] # SQUARED CJK UNIFIED IDEOGRAPH-53CC
+2F1D ; [.807F.0020.0004.2F1D] # KANGXI RADICAL MOUTH
+1F251 ; [.8218.0020.0006.1F251] # CIRCLED IDEOGRAPH ACCEPT
+32A8 ; [.821C.0020.0006.32A8] # CIRCLED IDEOGRAPH RIGHT
+1F22E ; [.821C.0020.001C.1F22E] # SQUARED CJK UNIFIED IDEOGRAPH-53F3
+1F234 ; [.8398.0020.001C.1F234] # SQUARED CJK UNIFIED IDEOGRAPH-5408
+3294 ; [.839D.0020.0006.3294] # CIRCLED IDEOGRAPH NAME
+1F225 ; [.85E1.0020.001C.1F225] # SQUARED CJK UNIFIED IDEOGRAPH-5439
+3244 ; [.9CC0.0020.0006.3244] # CIRCLED IDEOGRAPH QUESTION
+1F23A ; [.9CFD.0020.001C.1F23A] # SQUARED CJK UNIFIED IDEOGRAPH-55B6
+2F1E ; [.8080.0020.0004.2F1E] # KANGXI RADICAL ENCLOSURE
+3195 ; [.822D.0020.0014.3195] # IDEOGRAPHIC ANNOTATION FOUR MARK
+3283 ; [.822D.0020.0006.3283] # CIRCLED IDEOGRAPH FOUR
+2F1F ; [.8081.0020.0004.2F1F] # KANGXI RADICAL EARTH
+328F ; [.8081.0020.0006.328F] # CIRCLED IDEOGRAPH EARTH
+319E ; [.83B9.0020.0014.319E] # IDEOGRAPHIC ANNOTATION EARTH MARK
+2F20 ; [.8082.0020.0004.2F20] # KANGXI RADICAL SCHOLAR
+1F224 ; [.8649.0020.001C.1F224] # SQUARED CJK UNIFIED IDEOGRAPH-58F0
+2F21 ; [.8083.0020.0004.2F21] # KANGXI RADICAL GO
+2F22 ; [.8084.0020.0004.2F22] # KANGXI RADICAL GO SLOWLY
+2F23 ; [.8085.0020.0004.2F23] # KANGXI RADICAL EVENING
+1F215 ; [.83C8.0020.001C.1F215] # SQUARED CJK UNIFIED IDEOGRAPH-591A
+32B0 ; [.8A3E.0020.0006.32B0] # CIRCLED IDEOGRAPH NIGHT
+2F24 ; [.8086.0020.0004.2F24] # KANGXI RADICAL BIG
+337D ; [.8086.0020.001C.337D][.8288.0020.001F.337D] # SQUARE ERA NAME TAISYOU
+319D ; [.8130.0020.0014.319D] # IDEOGRAPHIC ANNOTATION HEAVEN MARK
+1F217 ; [.8130.0020.001C.1F217] # SQUARED CJK UNIFIED IDEOGRAPH-5929
+2F25 ; [.8088.0020.0004.2F25] # KANGXI RADICAL WOMAN
+329B ; [.8088.0020.0006.329B] # CIRCLED IDEOGRAPH FEMALE
+2F26 ; [.8089.0020.0004.2F26] # KANGXI RADICAL CHILD
+1F211 ; [.83E8.0020.001C.1F211] # SQUARED CJK UNIFIED IDEOGRAPH-5B57
+32AB ; [.8A8D.0020.0006.32AB] # CIRCLED IDEOGRAPH STUDY
+2F27 ; [.808D.0020.0004.2F27] # KANGXI RADICAL ROOF
+32AA ; [.8A94.0020.0006.32AA] # CIRCLED IDEOGRAPH RELIGION
+2F28 ; [.808E.0020.0004.2F28] # KANGXI RADICAL INCH
+2F29 ; [.8091.0020.0004.2F29] # KANGXI RADICAL SMALL
+2F2A ; [.8092.0020.0004.2F2A] # KANGXI RADICAL LAME
+2F2B ; [.8095.0020.0004.2F2B] # KANGXI RADICAL CORPSE
+2F2C ; [.8096.0020.0004.2F2C] # KANGXI RADICAL SPROUT
+2F2D ; [.8097.0020.0004.2F2D] # KANGXI RADICAL MOUNTAIN
+2F2E ; [.8098.0020.0004.2F2E] # KANGXI RADICAL RIVER
+2F2F ; [.809B.0020.0004.2F2F] # KANGXI RADICAL WORK
+32A7 ; [.8256.0020.0006.32A7] # CIRCLED IDEOGRAPH LEFT
+1F22C ; [.8256.0020.001C.1F22C] # SQUARED CJK UNIFIED IDEOGRAPH-5DE6
+2F30 ; [.809C.0020.0004.2F30] # KANGXI RADICAL ONESELF
+2F31 ; [.809F.0020.0004.2F31] # KANGXI RADICAL TURBAN
+2F32 ; [.80A0.0020.0004.2F32] # KANGXI RADICAL DRY
+337B ; [.825F.0020.001C.337B][.8435.0020.001F.337B] # SQUARE ERA NAME HEISEI
+2F33 ; [.80A2.0020.0004.2F33] # KANGXI RADICAL SHORT THREAD
+3245 ; [.8260.0020.0006.3245] # CIRCLED IDEOGRAPH KINDERGARTEN
+2F34 ; [.80A3.0020.0004.2F34] # KANGXI RADICAL DOTTED CLIFF
+2F35 ; [.80A4.0020.0004.2F35] # KANGXI RADICAL LONG STRIDE
+2F36 ; [.80A5.0020.0004.2F36] # KANGXI RADICAL TWO HANDS
+2F37 ; [.80A6.0020.0004.2F37] # KANGXI RADICAL SHOOT
+2F38 ; [.80A7.0020.0004.2F38] # KANGXI RADICAL BOW
+2F39 ; [.80A9.0020.0004.2F39] # KANGXI RADICAL SNOUT
+2F3A ; [.80AB.0020.0004.2F3A] # KANGXI RADICAL BRISTLE
+2F3B ; [.80AC.0020.0004.2F3B] # KANGXI RADICAL STEP
+1F21D ; [.9050.0020.001C.1F21D] # SQUARED CJK UNIFIED IDEOGRAPH-5F8C
+1F250 ; [.9E0E.0020.0006.1F250] # CIRCLED IDEOGRAPH ADVANTAGE
+2F3C ; [.8149.0020.0004.2F3C] # KANGXI RADICAL HEART
+2F3D ; [.814B.0020.0004.2F3D] # KANGXI RADICAL HALBERD
+2F3E ; [.814C.0020.0004.2F3E] # KANGXI RADICAL DOOR
+2F3F ; [.814F.0020.0004.2F3F] # KANGXI RADICAL HAND
+1F210 ; [.814F.0020.001C.1F210] # SQUARED CJK UNIFIED IDEOGRAPH-624B
+1F231 ; [.8277.0020.001C.1F231] # SQUARED CJK UNIFIED IDEOGRAPH-6253
+1F227 ; [.873A.0020.001C.1F227] # SQUARED CJK UNIFIED IDEOGRAPH-6295
+1F22F ; [.90B6.0020.001C.1F22F] # SQUARED CJK UNIFIED IDEOGRAPH-6307
+1F228 ; [.9724.0020.001C.1F228] # SQUARED CJK UNIFIED IDEOGRAPH-6355
+2F40 ; [.8152.0020.0004.2F40] # KANGXI RADICAL BRANCH
+2F41 ; [.8153.0020.0004.2F41] # KANGXI RADICAL RAP
+2F42 ; [.8155.0020.0004.2F42] # KANGXI RADICAL SCRIPT
+3246 ; [.8155.0020.0006.3246] # CIRCLED IDEOGRAPH SCHOOL
+2F43 ; [.8156.0020.0004.2F43] # KANGXI RADICAL DIPPER
+1F21B ; [.9745.0020.001C.1F21B] # SQUARED CJK UNIFIED IDEOGRAPH-6599
+2F44 ; [.8157.0020.0004.2F44] # KANGXI RADICAL AXE
+1F21F ; [.AE69.0020.001C.1F21F] # SQUARED CJK UNIFIED IDEOGRAPH-65B0
+2F45 ; [.8158.0020.0004.2F45] # KANGXI RADICAL SQUARE
+2F46 ; [.8159.0020.0004.2F46] # KANGXI RADICAL NOT
+2F47 ; [.815C.0020.0004.2F47] # KANGXI RADICAL SUN
+3290 ; [.815C.0020.0006.3290] # CIRCLED IDEOGRAPH SUN
+337E ; [.8BBF.0020.001C.337E][.8C54.0020.001F.337E] # SQUARE ERA NAME MEIZI
+1F219 ; [.90F3.0020.001C.1F219] # SQUARED CJK UNIFIED IDEOGRAPH-6620
+337C ; [.9100.0020.001C.337C][.89E5.0020.001F.337C] # SQUARE ERA NAME SYOUWA
+2F48 ; [.815D.0020.0004.2F48] # KANGXI RADICAL SAY
+2F49 ; [.815F.0020.0004.2F49] # KANGXI RADICAL MOON
+328A ; [.815F.0020.0006.328A] # CIRCLED IDEOGRAPH MOON
+1F237 ; [.815F.0020.001C.1F237] # SQUARED CJK UNIFIED IDEOGRAPH-6708
+3292 ; [.845A.0020.0006.3292] # CIRCLED IDEOGRAPH HAVE
+1F236 ; [.845A.0020.001C.1F236] # SQUARED CJK UNIFIED IDEOGRAPH-6709
+2F4A ; [.8160.0020.0004.2F4A] # KANGXI RADICAL TREE
+328D ; [.8160.0020.0006.328D] # CIRCLED IDEOGRAPH WOOD
+3291 ; [.979F.0020.0006.3291] # CIRCLED IDEOGRAPH STOCK
+337F ; [.979F.0020.001C.337F][.841D.0020.001F.337F][.8335.0020.001F.337F][.8D2E.0020.001F.337F] # SQUARE CORPORATION
+2F4B ; [.8163.0020.0004.2F4B] # KANGXI RADICAL LACK
+2F4C ; [.8164.0020.0004.2F4C] # KANGXI RADICAL STOP
+32A3 ; [.8288.0020.0006.32A3] # CIRCLED IDEOGRAPH CORRECT
+2F4D ; [.8165.0020.0004.2F4D] # KANGXI RADICAL DEATH
+2F4E ; [.8166.0020.0004.2F4E] # KANGXI RADICAL WEAPON
+2F4F ; [.8167.0020.0004.2F4F] # KANGXI RADICAL DO NOT
+2E9F ; [.828A.0020.0004.2E9F] # CJK RADICAL MOTHER
+2F50 ; [.8169.0020.0004.2F50] # KANGXI RADICAL COMPARE
+2F51 ; [.816A.0020.0004.2F51] # KANGXI RADICAL FUR
+2F52 ; [.816B.0020.0004.2F52] # KANGXI RADICAL CLAN
+2F53 ; [.816C.0020.0004.2F53] # KANGXI RADICAL STEAM
+2F54 ; [.816D.0020.0004.2F54] # KANGXI RADICAL WATER
+328C ; [.816D.0020.0006.328C] # CIRCLED IDEOGRAPH WATER
+329F ; [.8C7F.0020.0006.329F] # CIRCLED IDEOGRAPH ATTENTION
+1F235 ; [.A7C6.0020.001C.1F235] # SQUARED CJK UNIFIED IDEOGRAPH-6E80
+1F226 ; [.B6D2.0020.001C.1F226] # SQUARED CJK UNIFIED IDEOGRAPH-6F14
+2F55 ; [.816E.0020.0004.2F55] # KANGXI RADICAL FIRE
+328B ; [.816E.0020.0006.328B] # CIRCLED IDEOGRAPH FIRE
+1F21A ; [.A7EB.0020.001C.1F21A] # SQUARED CJK UNIFIED IDEOGRAPH-7121
+2F56 ; [.8171.0020.0004.2F56] # KANGXI RADICAL CLAW
+2F57 ; [.8173.0020.0004.2F57] # KANGXI RADICAL FATHER
+2F58 ; [.8174.0020.0004.2F58] # KANGXI RADICAL DOUBLE X
+2F59 ; [.8176.0020.0004.2F59] # KANGXI RADICAL HALF TREE TRUNK
+2F5A ; [.8177.0020.0004.2F5A] # KANGXI RADICAL SLICE
+2F5B ; [.8179.0020.0004.2F5B] # KANGXI RADICAL FANG
+2F5C ; [.817B.0020.0004.2F5C] # KANGXI RADICAL COW
+3295 ; [.9895.0020.0006.3295] # CIRCLED IDEOGRAPH SPECIAL
+2F5D ; [.817D.0020.0004.2F5D] # KANGXI RADICAL DOG
+2F5E ; [.82A2.0020.0004.2F5E] # KANGXI RADICAL PROFOUND
+2F5F ; [.82A3.0020.0004.2F5F] # KANGXI RADICAL JADE
+2F60 ; [.82A7.0020.0004.2F60] # KANGXI RADICAL MELON
+2F61 ; [.82A8.0020.0004.2F61] # KANGXI RADICAL TILE
+2F62 ; [.82A9.0020.0004.2F62] # KANGXI RADICAL SWEET
+2F63 ; [.82AA.0020.0004.2F63] # KANGXI RADICAL LIFE
+1F222 ; [.82AA.0020.001C.1F222] # SQUARED CJK UNIFIED IDEOGRAPH-751F
+2F64 ; [.82AB.0020.0004.2F64] # KANGXI RADICAL USE
+2F65 ; [.82AD.0020.0004.2F65] # KANGXI RADICAL FIELD
+3199 ; [.82AF.0020.0014.3199] # IDEOGRAPHIC ANNOTATION FIRST MARK
+1F238 ; [.82B0.0020.001C.1F238] # SQUARED CJK UNIFIED IDEOGRAPH-7533
+329A ; [.8815.0020.0006.329A] # CIRCLED IDEOGRAPH MALE
+2F66 ; [.82B4.0020.0004.2F66] # KANGXI RADICAL BOLT OF CLOTH
+2F67 ; [.82B6.0020.0004.2F67] # KANGXI RADICAL SICKNESS
+2F68 ; [.82B7.0020.0004.2F68] # KANGXI RADICAL DOTTED TENT
+2F69 ; [.82B8.0020.0004.2F69] # KANGXI RADICAL WHITE
+2F6A ; [.82B9.0020.0004.2F6A] # KANGXI RADICAL SKIN
+2F6B ; [.82BA.0020.0004.2F6B] # KANGXI RADICAL DISH
+32AC ; [.B79A.0020.0006.32AC] # CIRCLED IDEOGRAPH SUPERVISE
+2F6C ; [.82BB.0020.0004.2F6C] # KANGXI RADICAL EYE
+2F6D ; [.82BC.0020.0004.2F6D] # KANGXI RADICAL SPEAR
+2F6E ; [.82BD.0020.0004.2F6E] # KANGXI RADICAL ARROW
+2F6F ; [.82BE.0020.0004.2F6F] # KANGXI RADICAL STONE
+2F70 ; [.82C0.0020.0004.2F70] # KANGXI RADICAL SPIRIT
+3293 ; [.8D2E.0020.0006.3293] # CIRCLED IDEOGRAPH SOCIETY
+3297 ; [.9970.0020.0006.3297] # CIRCLED IDEOGRAPH CONGRATULATION
+1F232 ; [.B0A6.0020.001C.1F232] # SQUARED CJK UNIFIED IDEOGRAPH-7981
+2F71 ; [.82C1.0020.0004.2F71] # KANGXI RADICAL TRACK
+2F72 ; [.82C2.0020.0004.2F72] # KANGXI RADICAL GRAIN
+3299 ; [.9977.0020.0006.3299] # CIRCLED IDEOGRAPH SECRET
+2F73 ; [.82C3.0020.0004.2F73] # KANGXI RADICAL CAVE
+1F233 ; [.8D3E.0020.001C.1F233] # SQUARED CJK UNIFIED IDEOGRAPH-7A7A
+2F74 ; [.82C4.0020.0004.2F74] # KANGXI RADICAL STAND
+2F75 ; [.84B5.0020.0004.2F75] # KANGXI RADICAL BAMBOO
+3247 ; [.B822.0020.0006.3247] # CIRCLED IDEOGRAPH KOTO
+2F76 ; [.84B6.0020.0004.2F76] # KANGXI RADICAL RICE
+2F77 ; [.84B7.0020.0004.2F77] # KANGXI RADICAL SILK
+1F221 ; [.A172.0020.001C.1F221] # SQUARED CJK UNIFIED IDEOGRAPH-7D42
+2F78 ; [.84C4.0020.0004.2F78] # KANGXI RADICAL JAR
+2F79 ; [.84C5.0020.0004.2F79] # KANGXI RADICAL NET
+2F7A ; [.84C7.0020.0004.2F7A] # KANGXI RADICAL SHEEP
+2F7B ; [.84CA.0020.0004.2F7B] # KANGXI RADICAL FEATHER
+2F7C ; [.84CB.0020.0004.2F7C] # KANGXI RADICAL OLD
+2F7D ; [.84CD.0020.0004.2F7D] # KANGXI RADICAL AND
+2F7E ; [.84CE.0020.0004.2F7E] # KANGXI RADICAL PLOW
+2F7F ; [.84CF.0020.0004.2F7F] # KANGXI RADICAL EAR
+2F80 ; [.84D0.0020.0004.2F80] # KANGXI RADICAL BRUSH
+2F81 ; [.84D2.0020.0004.2F81] # KANGXI RADICAL MEAT
+2F82 ; [.84D7.0020.0004.2F82] # KANGXI RADICAL MINISTER
+2F83 ; [.84D8.0020.0004.2F83] # KANGXI RADICAL SELF
+2F84 ; [.84D9.0020.0004.2F84] # KANGXI RADICAL ARRIVE
+2F85 ; [.84DA.0020.0004.2F85] # KANGXI RADICAL MORTAR
+2F86 ; [.84DC.0020.0004.2F86] # KANGXI RADICAL TONGUE
+2F87 ; [.84DD.0020.0004.2F87] # KANGXI RADICAL OPPOSE
+2F88 ; [.84DE.0020.0004.2F88] # KANGXI RADICAL BOAT
+2F89 ; [.84DF.0020.0004.2F89] # KANGXI RADICAL STOPPING
+2F8A ; [.84E0.0020.0004.2F8A] # KANGXI RADICAL COLOR
+2F8B ; [.84E1.0020.0004.2F8B] # KANGXI RADICAL GRASS
+2F8C ; [.84EA.0020.0004.2F8C] # KANGXI RADICAL TIGER
+2F8D ; [.84EB.0020.0004.2F8D] # KANGXI RADICAL INSECT
+2F8E ; [.84EC.0020.0004.2F8E] # KANGXI RADICAL BLOOD
+2F8F ; [.84ED.0020.0004.2F8F] # KANGXI RADICAL WALK ENCLOSURE
+2F90 ; [.84EE.0020.0004.2F90] # KANGXI RADICAL CLOTHES
+2F91 ; [.84EF.0020.0004.2F91] # KANGXI RADICAL WEST
+2F92 ; [.8878.0020.0004.2F92] # KANGXI RADICAL SEE
+2F93 ; [.887B.0020.0004.2F93] # KANGXI RADICAL HORN
+1F216 ; [.B258.0020.001C.1F216] # SQUARED CJK UNIFIED IDEOGRAPH-89E3
+2F94 ; [.887D.0020.0004.2F94] # KANGXI RADICAL SPEECH
+2F95 ; [.8891.0020.0004.2F95] # KANGXI RADICAL VALLEY
+2F96 ; [.8892.0020.0004.2F96] # KANGXI RADICAL BEAN
+2F97 ; [.8893.0020.0004.2F97] # KANGXI RADICAL PIG
+2F98 ; [.8894.0020.0004.2F98] # KANGXI RADICAL BADGER
+2F99 ; [.8895.0020.0004.2F99] # KANGXI RADICAL SHELL
+3296 ; [.9B3B.0020.0006.3296] # CIRCLED IDEOGRAPH FINANCIAL
+1F223 ; [.A2FD.0020.001C.1F223] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
+32AE ; [.B2A5.0020.0006.32AE] # CIRCLED IDEOGRAPH RESOURCE
+2F9A ; [.8898.0020.0004.2F9A] # KANGXI RADICAL RED
+2F9B ; [.8899.0020.0004.2F9B] # KANGXI RADICAL RUN
+1F230 ; [.8899.0020.001C.1F230] # SQUARED CJK UNIFIED IDEOGRAPH-8D70
+2F9C ; [.889B.0020.0004.2F9C] # KANGXI RADICAL FOOT
+2F9D ; [.889C.0020.0004.2F9D] # KANGXI RADICAL BODY
+2F9E ; [.889D.0020.0004.2F9E] # KANGXI RADICAL CART
+2F9F ; [.88A1.0020.0004.2F9F] # KANGXI RADICAL BITTER
+2FA0 ; [.88A2.0020.0004.2FA0] # KANGXI RADICAL MORNING
+2FA1 ; [.88A3.0020.0004.2FA1] # KANGXI RADICAL WALK
+1F22B ; [.B30B.0020.001C.1F22B] # SQUARED CJK UNIFIED IDEOGRAPH-904A
+329C ; [.C10A.0020.0006.329C] # CIRCLED IDEOGRAPH SUITABLE
+2FA2 ; [.88B4.0020.0004.2FA2] # KANGXI RADICAL CITY
+2FA3 ; [.88C5.0020.0004.2FA3] # KANGXI RADICAL WINE
+2FA4 ; [.88C6.0020.0004.2FA4] # KANGXI RADICAL DISTINGUISH
+2FA5 ; [.88C7.0020.0004.2FA5] # KANGXI RADICAL VILLAGE
+2FA6 ; [.8E33.0020.0004.2FA6] # KANGXI RADICAL GOLD
+328E ; [.8E33.0020.0006.328E] # CIRCLED IDEOGRAPH METAL
+2FA7 ; [.8E40.0020.0004.2FA7] # KANGXI RADICAL LONG
+2FA8 ; [.8E42.0020.0004.2FA8] # KANGXI RADICAL GATE
+2FA9 ; [.8E45.0020.0004.2FA9] # KANGXI RADICAL MOUND
+2FAA ; [.8E59.0020.0004.2FAA] # KANGXI RADICAL SLAVE
+2FAB ; [.8E5A.0020.0004.2FAB] # KANGXI RADICAL SHORT TAILED BIRD
+2FAC ; [.8E5C.0020.0004.2FAC] # KANGXI RADICAL RAIN
+2FAD ; [.8E5D.0020.0004.2FAD] # KANGXI RADICAL BLUE
+2FAE ; [.8E5F.0020.0004.2FAE] # KANGXI RADICAL WRONG
+2FAF ; [.949C.0020.0004.2FAF] # KANGXI RADICAL FACE
+2FB0 ; [.949D.0020.0004.2FB0] # KANGXI RADICAL LEATHER
+2FB1 ; [.949E.0020.0004.2FB1] # KANGXI RADICAL TANNED LEATHER
+2FB2 ; [.94A0.0020.0004.2FB2] # KANGXI RADICAL LEEK
+2FB3 ; [.94A1.0020.0004.2FB3] # KANGXI RADICAL SOUND
+2FB4 ; [.94A2.0020.0004.2FB4] # KANGXI RADICAL LEAF
+32A0 ; [.AC44.0020.0006.32A0] # CIRCLED IDEOGRAPH ITEM
+2FB5 ; [.94A7.0020.0004.2FB5] # KANGXI RADICAL WIND
+2FB6 ; [.94AB.0020.0004.2FB6] # KANGXI RADICAL FLY
+2FB7 ; [.94AD.0020.0004.2FB7] # KANGXI RADICAL EAT
+2FB8 ; [.94B7.0020.0004.2FB8] # KANGXI RADICAL HEAD
+2FB9 ; [.94B9.0020.0004.2FB9] # KANGXI RADICAL FRAGRANT
+2FBA ; [.9BF9.0020.0004.2FBA] # KANGXI RADICAL HORSE
+2FBB ; [.9C00.0020.0004.2FBB] # KANGXI RADICAL BONE
+2FBC ; [.9C01.0020.0004.2FBC] # KANGXI RADICAL TALL
+2FBD ; [.9C02.0020.0004.2FBD] # KANGXI RADICAL HAIR
+2FBE ; [.9C03.0020.0004.2FBE] # KANGXI RADICAL FIGHT
+2FBF ; [.9C04.0020.0004.2FBF] # KANGXI RADICAL SACRIFICIAL WINE
+2FC0 ; [.9C05.0020.0004.2FC0] # KANGXI RADICAL CAULDRON
+2FC1 ; [.9C06.0020.0004.2FC1] # KANGXI RADICAL GHOST
+2FC2 ; [.A408.0020.0004.2FC2] # KANGXI RADICAL FISH
+2FC3 ; [.A40A.0020.0004.2FC3] # KANGXI RADICAL BIRD
+2FC4 ; [.A414.0020.0004.2FC4] # KANGXI RADICAL SALT
+2FC5 ; [.A415.0020.0004.2FC5] # KANGXI RADICAL DEER
+2FC6 ; [.A416.0020.0004.2FC6] # KANGXI RADICAL WHEAT
+2FC7 ; [.A418.0020.0004.2FC7] # KANGXI RADICAL HEMP
+2FC8 ; [.AC78.0020.0004.2FC8] # KANGXI RADICAL YELLOW
+2FC9 ; [.AC7A.0020.0004.2FC9] # KANGXI RADICAL MILLET
+2FCA ; [.AC7B.0020.0004.2FCA] # KANGXI RADICAL BLACK
+2FCB ; [.AC7C.0020.0004.2FCB] # KANGXI RADICAL EMBROIDERY
+2FCC ; [.B440.0020.0004.2FCC] # KANGXI RADICAL FROG
+2FCD ; [.B442.0020.0004.2FCD] # KANGXI RADICAL TRIPOD
+2FCE ; [.B443.0020.0004.2FCE] # KANGXI RADICAL DRUM
+2FCF ; [.B445.0020.0004.2FCF] # KANGXI RADICAL RAT
+2FD0 ; [.BB56.0020.0004.2FD0] # KANGXI RADICAL NOSE
+2FD1 ; [.BB57.0020.0004.2FD1] # KANGXI RADICAL EVEN
+2FD2 ; [.C273.0020.0004.2FD2] # KANGXI RADICAL TOOTH
+2FD3 ; [.C85E.0020.0004.2FD3] # KANGXI RADICAL DRAGON
+2FD4 ; [.C85F.0020.0004.2FD4] # KANGXI RADICAL TURTLE
+2EF3 ; [.88F9.0020.0004.2EF3] # CJK RADICAL C-SIMPLIFIED TURTLE
+2FD5 ; [.CD3C.0020.0004.2FD5] # KANGXI RADICAL FLUTE
+F967 ; [.80BF.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
+FA70 ; [.88FB.0020.0002.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
+F905 ; [.852F.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801 ; [.805D.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E ; [.80CA.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
+2F800 ; [.852D.0020.0002.4E3D] # CJK COMPATIBILITY IDEOGRAPH-2F800
+2F802 ; [.8006.0020.0002.4E41] # CJK COMPATIBILITY IDEOGRAPH-2F802
+F91B ; [.AC80.0020.0002.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
+F9BA ; [.8028.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977 ; [.8E86.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD ; [.80DC.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+2F819 ; [.80E8.0020.0002.4ECC] # CJK COMPATIBILITY IDEOGRAPH-2F819
+F9A8 ; [.81C3.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+2F804 ; [.856D.0020.0002.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804
+FA73 ; [.8928.0020.0002.4F80] # CJK COMPATIBILITY IDEOGRAPH-FA73
+F92D ; [.892E.0020.0002.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5 ; [.8933.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30 ; [.8E8B.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805 ; [.8E8B.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
+2F806 ; [.8E98.0020.0002.4FBB] # CJK COMPATIBILITY IDEOGRAPH-2F806
+F965 ; [.8E9C.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
+2F807 ; [.94E6.0020.0002.5002] # CJK COMPATIBILITY IDEOGRAPH-2F807
+F9D4 ; [.950F.0020.0002.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F808 ; [.9C54.0020.0002.507A] # CJK COMPATIBILITY IDEOGRAPH-2F808
+2F809 ; [.A43E.0020.0002.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B ; [.B44E.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB ; [.B459.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31 ; [.B466.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A ; [.B466.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C ; [.8070.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74 ; [.81D0.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32 ; [.8578.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E ; [.8578.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F ; [.895B.0020.0002.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+2F810 ; [.D692.0020.0002.5164] # CJK COMPATIBILITY IDEOGRAPH-2F810
+2F814 ; [.80F3.0020.0002.5167] # CJK COMPATIBILITY IDEOGRAPH-2F814
+FA72 ; [.8350.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978 ; [.895F.0020.0002.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
+F9D1 ; [.80F5.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811 ; [.8961.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75 ; [.C28C.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815 ; [.8356.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2 ; [.8ED4.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3 ; [.9C63.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817 ; [.80FF.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818 ; [.9535.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A ; [.81DA.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+FA71 ; [.8582.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-FA71
+2F81B ; [.8582.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-2F81B
+F92E ; [.8584.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979 ; [.953F.0020.0002.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955 ; [.9542.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954 ; [.BB7E.0020.0002.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
+FA15 ; [.C28F.0020.0002.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15
+2F81D ; [.8037.0020.0002.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F81E ; [.8075.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00 ; [.8107.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850 ; [.8107.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C ; [.836E.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD ; [.8598.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF ; [.897C.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820 ; [.897D.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F821 ; [.8986.0020.0002.5246] # CJK COMPATIBILITY IDEOGRAPH-2F821
+2F822 ; [.A45F.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
+2F823 ; [.ACB4.0020.0002.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823
+F9C7 ; [.BB84.0020.0002.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A ; [.803C.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D ; [.8373.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
+2F992 ; [.85A7.0020.0002.52B3] # CJK COMPATIBILITY IDEOGRAPH-2F992
+FA76 ; [.8EF2.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825 ; [.8EF2.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33 ; [.8EF4.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826 ; [.8EF4.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952 ; [.9C76.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
+F92F ; [.A466.0020.0002.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34 ; [.ACC2.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827 ; [.ACC2.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F ; [.C879.0020.0002.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
+FA77 ; [.8078.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828 ; [.8078.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829 ; [.81F1.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A ; [.81F2.0020.0002.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+F963 ; [.81F4.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B ; [.81F4.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB ; [.9C89.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C ; [.81F9.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35 ; [.899A.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D ; [.899A.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E ; [.A46C.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F ; [.85B4.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C ; [.85B6.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F830 ; [.8F00.0020.0002.537D] # CJK COMPATIBILITY IDEOGRAPH-2F830
+2F831 ; [.9569.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832 ; [.9569.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833 ; [.9569.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
+F96B ; [.9C93.0020.0002.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F836 ; [.8126.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837 ; [.9570.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906 ; [.820E.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839 ; [.8214.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A ; [.821A.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+2F83B ; [.8396.0020.0002.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B
+F9DE ; [.839F.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED ; [.85C5.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D ; [.85E0.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+F980 ; [.85EA.0020.0002.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E ; [.85F0.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F ; [.89C3.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+2F83C ; [.8F0F.0020.0002.549E] # CJK COMPATIBILITY IDEOGRAPH-2F83C
+2F840 ; [.8F13.0020.0002.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E ; [.8F2E.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F841 ; [.9589.0020.0002.54F6] # CJK COMPATIBILITY IDEOGRAPH-2F841
+2F842 ; [.95A2.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
+2F843 ; [.9CC4.0020.0002.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843
+FA79 ; [.9CC6.0020.0002.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79
+2F844 ; [.9CD2.0020.0002.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845 ; [.A485.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846 ; [.A485.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B ; [.A488.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A ; [.A499.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847 ; [.A499.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36 ; [.A49D.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78 ; [.A49D.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848 ; [.A4AB.0020.0002.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
+2F849 ; [.A4B3.0020.0002.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849
+FA0D ; [.ACD8.0020.0002.55C0] # CJK COMPATIBILITY IDEOGRAPH-FA0D
+2F84A ; [.ACDA.0020.0002.55C2] # CJK COMPATIBILITY IDEOGRAPH-2F84A
+FA7B ; [.ACF9.0020.0002.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B
+FA37 ; [.B4AA.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C ; [.B4AA.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+2F84E ; [.B4CA.0020.0002.5651] # CJK COMPATIBILITY IDEOGRAPH-2F84E
+FA38 ; [.C2AA.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F ; [.BBCD.0020.0002.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+F9A9 ; [.8A04.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B ; [.B4DC.0020.0002.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F84D ; [.B4DD.0020.0002.5717] # CJK COMPATIBILITY IDEOGRAPH-2F84D
+2F855 ; [.8F63.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852 ; [.8F8E.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853 ; [.9D1E.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F854 ; [.9D37.0020.0002.580D] # CJK COMPATIBILITY IDEOGRAPH-2F854
+2F857 ; [.A4EB.0020.0002.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
+2F856 ; [.95F7.0020.0002.5832] # CJK COMPATIBILITY IDEOGRAPH-2F856
+FA39 ; [.A4F7.0020.0002.5840] # CJK COMPATIBILITY IDEOGRAPH-FA39
+FA10 ; [.AD39.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C ; [.AD39.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C ; [.AD3D.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A ; [.C26D.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+2F858 ; [.BBE8.0020.0002.58AC] # CJK COMPATIBILITY IDEOGRAPH-2F858
+FA7D ; [.BBEE.0020.0002.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A ; [.CD66.0020.0002.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942 ; [.D106.0020.0002.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F851 ; [.83C5.0020.0002.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851
+2F85A ; [.864B.0020.0002.58F2] # CJK COMPATIBILITY IDEOGRAPH-2F85A
+2F85B ; [.9D44.0020.0002.58F7] # CJK COMPATIBILITY IDEOGRAPH-2F85B
+2F85C ; [.864D.0020.0002.5906] # CJK COMPATIBILITY IDEOGRAPH-2F85C
+2F85D ; [.83C8.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+2F85E ; [.B513.0020.0002.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+FA7E ; [.8A41.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C ; [.8A45.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909 ; [.8F99.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F ; [.8A4B.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F ; [.9D4E.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981 ; [.8088.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F865 ; [.8FA7.0020.0002.59D8] # CJK COMPATIBILITY IDEOGRAPH-2F865
+2F862 ; [.960A.0020.0002.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
+2F863 ; [.961C.0020.0002.5A1B] # CJK COMPATIBILITY IDEOGRAPH-2F863
+2F864 ; [.9628.0020.0002.5A27] # CJK COMPATIBILITY IDEOGRAPH-2F864
+FA80 ; [.9D80.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866 ; [.9D84.0020.0002.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F986 ; [.AD61.0020.0002.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
+2F869 ; [.BC16.0020.0002.5B08] # CJK COMPATIBILITY IDEOGRAPH-2F869
+FA81 ; [.C2FB.0020.0002.5B28] # CJK COMPATIBILITY IDEOGRAPH-FA81
+2F86A ; [.D110.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B ; [.D110.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+FA04 ; [.83EC.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
+2F86D ; [.9DA6.0020.0002.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D
+2F86E ; [.AD8F.0020.0002.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E
+F95F ; [.B554.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA ; [.B554.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F ; [.B554.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC ; [.BC2E.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F870 ; [.D116.0020.0002.5BF3] # CJK COMPATIBILITY IDEOGRAPH-2F870
+2F872 ; [.868E.0020.0002.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872
+2F873 ; [.8FE9.0020.0002.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873
+2F875 ; [.8092.0020.0002.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
+F9BD ; [.8695.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877 ; [.9DB7.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F94B ; [.B558.0020.0002.5C62] # CJK COMPATIBILITY IDEOGRAPH-F94B
+FA3B ; [.BC33.0020.0002.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF ; [.BC34.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C ; [.8096.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878 ; [.8096.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
+2F87A ; [.86B2.0020.0002.5C8D] # CJK COMPATIBILITY IDEOGRAPH-2F87A
+2F879 ; [.8AD0.0020.0002.5CC0] # CJK COMPATIBILITY IDEOGRAPH-2F879
+F9D5 ; [.9DCB.0020.0002.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+2F87C ; [.A589.0020.0002.5D43] # CJK COMPATIBILITY IDEOGRAPH-2F87C
+F921 ; [.A595.0020.0002.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
+2F87F ; [.A5A7.0020.0002.5D6B] # CJK COMPATIBILITY IDEOGRAPH-2F87F
+2F87E ; [.ADAD.0020.0002.5D6E] # CJK COMPATIBILITY IDEOGRAPH-2F87E
+2F880 ; [.B563.0020.0002.5D7C] # CJK COMPATIBILITY IDEOGRAPH-2F880
+2F9F4 ; [.C30C.0020.0002.5DB2] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
+F9AB ; [.C8D1.0020.0002.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F881 ; [.88A4.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882 ; [.9DE6.0020.0002.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F884 ; [.A5AA.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F885 ; [.9681.0020.0002.5E28] # CJK COMPATIBILITY IDEOGRAPH-2F885
+2F886 ; [.A5AD.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
+2F887 ; [.BC5D.0020.0002.5E69] # CJK COMPATIBILITY IDEOGRAPH-2F887
+F98E ; [.8414.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01 ; [.9036.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88B ; [.9038.0020.0002.5EB0] # CJK COMPATIBILITY IDEOGRAPH-2F88B
+2F88C ; [.9DF7.0020.0002.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D ; [.9DFA.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2 ; [.ADC4.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928 ; [.A5C1.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E ; [.A5C1.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA82 ; [.B587.0020.0002.5ED2] # CJK COMPATIBILITY IDEOGRAPH-FA82
+FA0B ; [.B588.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+FA83 ; [.B58E.0020.0002.5ED9] # CJK COMPATIBILITY IDEOGRAPH-FA83
+F982 ; [.D123.0020.0002.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
+2F890 ; [.80A5.0020.0002.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
+F943 ; [.86D2.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F894 ; [.8AF8.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894
+2F895 ; [.8AF8.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895
+2F874 ; [.8423.0020.0002.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874
+2F899 ; [.86D9.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84 ; [.9E0A.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A ; [.9E0B.0020.0002.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+F9D8 ; [.904F.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+2F89C ; [.A5CB.0020.0002.5F9A] # CJK COMPATIBILITY IDEOGRAPH-2F89C
+F966 ; [.A5D0.0020.0002.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85 ; [.ADD2.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D ; [.86E4.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E ; [.86E9.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3 ; [.8B15.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+2F89F ; [.8702.0020.0002.5FF9] # CJK COMPATIBILITY IDEOGRAPH-2F89F
+F960 ; [.9054.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC ; [.8B2D.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+FA6B ; [.96BA.0020.0002.6075] # CJK COMPATIBILITY IDEOGRAPH-FA6B
+2F8A0 ; [.96C6.0020.0002.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D ; [.96D5.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3 ; [.96D5.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5 ; [.9E43.0020.0002.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86 ; [.9E4E.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9 ; [.A5E1.0020.0002.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88 ; [.ADDF.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9 ; [.ADFC.0020.0002.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6 ; [.B5A7.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7 ; [.AE01.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9 ; [.AE01.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87 ; [.AE03.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8 ; [.AE03.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA8A ; [.B5B4.0020.0002.6160] # CJK COMPATIBILITY IDEOGRAPH-FA8A
+FA3E ; [.A614.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+2F8AA ; [.B5C3.0020.0002.617A] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
+FA3F ; [.BC8F.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89 ; [.BC8F.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB ; [.BC8F.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F ; [.BC91.0020.0002.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD ; [.BC9F.0020.0002.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AE ; [.BCA7.0020.0002.61AF] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
+2F8AC ; [.C332.0020.0002.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+2F8AF ; [.C8EF.0020.0002.61DE] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
+FA40 ; [.D12A.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B ; [.D12A.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0 ; [.D12A.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D ; [.D12C.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1 ; [.D12C.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990 ; [.D9A5.0020.0002.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F8B2 ; [.8435.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3 ; [.9E66.0020.0002.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2 ; [.BCAF.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C ; [.C8FA.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B4 ; [.843C.0020.0002.625D] # CJK COMPATIBILITY IDEOGRAPH-2F8B4
+2F8B5 ; [.8B64.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925 ; [.8B7C.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B ; [.9096.0020.0002.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02 ; [.8B85.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6 ; [.8B86.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+2F8BA ; [.90AC.0020.0002.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
+F973 ; [.90AE.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9 ; [.970C.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7 ; [.971F.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+2F8BB ; [.9E77.0020.0002.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4 ; [.9E8A.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC ; [.9E92.0020.0002.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975 ; [.9EAD.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1 ; [.9EB5.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D ; [.A62A.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+2F8C0 ; [.AE5E.0020.0002.63C5] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
+2F8BD ; [.9737.0020.0002.63E4] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
+FA8E ; [.AE2E.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8BF ; [.AE34.0020.0002.6422] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
+FA8F ; [.A667.0020.0002.6452] # CJK COMPATIBILITY IDEOGRAPH-FA8F
+2F8C3 ; [.BCB3.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+2F8C6 ; [.B603.0020.0002.6477] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
+2F8C4 ; [.B609.0020.0002.647E] # CJK COMPATIBILITY IDEOGRAPH-2F8C4
+F991 ; [.BCCE.0020.0002.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
+2F8C5 ; [.BCD1.0020.0002.649D] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
+F930 ; [.C35E.0020.0002.64C4] # CJK COMPATIBILITY IDEOGRAPH-F930
+FA41 ; [.9ED2.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8 ; [.9ED2.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90 ; [.9ED9.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9 ; [.AE62.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969 ; [.BCF5.0020.0002.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
+F9BE ; [.9745.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983 ; [.974C.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
+FA42 ; [.90EA.0020.0002.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
+2F8CB ; [.9EF0.0020.0002.65E3] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
+F9E0 ; [.8BC4.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+2F8CD ; [.9758.0020.0002.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12 ; [.A69D.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91 ; [.A69D.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5 ; [.AE80.0020.0002.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43 ; [.A6AC.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF ; [.A6AC.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+2F8D5 ; [.B627.0020.0002.669C] # CJK COMPATIBILITY IDEOGRAPH-2F8D5
+FA06 ; [.BD0D.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F98B ; [.C39E.0020.0002.66C6] # CJK COMPATIBILITY IDEOGRAPH-F98B
+F901 ; [.875D.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC ; [.976A.0020.0002.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4 ; [.A454.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929 ; [.9773.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92 ; [.9773.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8 ; [.9773.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93 ; [.9F11.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9 ; [.9F11.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+2F8DA ; [.AE99.0020.0002.6721] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
+F9E1 ; [.876E.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC ; [.8773.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94 ; [.8776.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB ; [.877E.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9C8 ; [.8BEC.0020.0002.677B] # CJK COMPATIBILITY IDEOGRAPH-F9C8
+2F8E0 ; [.8BF5.0020.0002.6785] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
+F9F4 ; [.8C07.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9 ; [.9164.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+2F8DF ; [.9169.0020.0002.67FA] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
+F9DA ; [.978C.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+2F8E5 ; [.9794.0020.0002.681F] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
+2F8E1 ; [.9181.0020.0002.6852] # CJK COMPATIBILITY IDEOGRAPH-2F8E1
+F97A ; [.9F37.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44 ; [.9F3B.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2 ; [.9F3B.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+2F8E4 ; [.9F44.0020.0002.688E] # CJK COMPATIBILITY IDEOGRAPH-2F8E4
+F9E2 ; [.9F5E.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E6 ; [.A716.0020.0002.6914] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
+2F8E8 ; [.AEAF.0020.0002.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8E9 ; [.B650.0020.0002.69A3] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
+2F8EA ; [.BD23.0020.0002.69EA] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
+F914 ; [.BD3B.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C ; [.BD3B.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF ; [.BD3B.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C ; [.BD4B.0020.0002.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
+2F8EB ; [.C959.0020.0002.6AA8] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
+F931 ; [.D157.0020.0002.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED ; [.C962.0020.0002.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D ; [.D6D0.0020.0002.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F8EF ; [.846F.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1 ; [.C403.0020.0002.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+2F8F3 ; [.AF0A.0020.0002.6B72] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
+F98C ; [.C40A.0020.0002.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C
+FA95 ; [.8165.0020.0002.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
+2F8F4 ; [.B6A0.0020.0002.6B9F] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
+F9A5 ; [.C969.0020.0002.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5
+F970 ; [.9F8B.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96 ; [.9F8B.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5 ; [.9F8B.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8F6 ; [.9F8C.0020.0002.6BBB] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
+2F8FA ; [.847F.0020.0002.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+2F8FE ; [.879D.0020.0002.6C67] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
+F972 ; [.87BB.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC ; [.8C58.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968 ; [.8C64.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
+2F8FD ; [.8C65.0020.0002.6CCD] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
+F9E3 ; [.8C7C.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+2F8FF ; [.980A.0020.0002.6D16] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
+F915 ; [.91C0.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05 ; [.91C2.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F907 ; [.91D6.0020.0002.6D34] # CJK COMPATIBILITY IDEOGRAPH-2F907
+2F900 ; [.91E0.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA ; [.91E3.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97 ; [.91E3.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902 ; [.91E3.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903 ; [.981E.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A ; [.981F.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45 ; [.982C.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901 ; [.982C.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904 ; [.982D.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905 ; [.983A.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5 ; [.9FBA.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F94D ; [.9FC9.0020.0002.6DDA] # CJK COMPATIBILITY IDEOGRAPH-F94D
+F9D6 ; [.9FD9.0020.0002.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E ; [.9FE8.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46 ; [.A004.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908 ; [.A777.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909 ; [.A7B5.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB ; [.AF31.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC ; [.AF4F.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+2F90C ; [.AF5C.0020.0002.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C
+FA99 ; [.A7D3.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B ; [.A7D3.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904 ; [.AF63.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
+FA98 ; [.AF6B.0020.0002.6EDB] # CJK COMPATIBILITY IDEOGRAPH-FA98
+F94E ; [.B6CF.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
+FA47 ; [.B6E0.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A ; [.B6E0.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992 ; [.B6E1.0020.0002.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F ; [.BDAD.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912 ; [.BDE2.0020.0002.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922 ; [.C98A.0020.0002.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984 ; [.CDED.0020.0002.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915 ; [.D17C.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
+FA9B ; [.D17F.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-FA9B
+2F914 ; [.D17F.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-2F914
+2F913 ; [.D488.0020.0002.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913
+2F917 ; [.D6DB.0020.0002.704A] # CJK COMPATIBILITY IDEOGRAPH-2F917
+2F835 ; [.8497.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F919 ; [.87E1.0020.0002.7077] # CJK COMPATIBILITY IDEOGRAPH-2F919
+2F918 ; [.87E7.0020.0002.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB ; [.8CB0.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A ; [.920A.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F ; [.9864.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916 ; [.9875.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
+2F91C ; [.AF89.0020.0002.7145] # CJK COMPATIBILITY IDEOGRAPH-2F91C
+F993 ; [.AF8D.0020.0002.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48 ; [.A80B.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C ; [.A80B.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+2F91E ; [.BDE7.0020.0002.719C] # CJK COMPATIBILITY IDEOGRAPH-2F91E
+F9C0 ; [.C477.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE ; [.C479.0020.0002.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932 ; [.D496.0020.0002.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E ; [.D6E6.0020.0002.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920 ; [.DC4E.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA49 ; [.8172.0020.0002.722B] # CJK COMPATIBILITY IDEOGRAPH-FA49
+FA9E ; [.C9BB.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921 ; [.C9BB.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
+2F922 ; [.AFC5.0020.0002.7250] # CJK COMPATIBILITY IDEOGRAPH-2F922
+F946 ; [.87ED.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924 ; [.A81A.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
+2F925 ; [.B745.0020.0002.7295] # CJK COMPATIBILITY IDEOGRAPH-2F925
+FA9F ; [.82A0.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F9FA ; [.8CCA.0020.0002.72C0] # CJK COMPATIBILITY IDEOGRAPH-F9FA
+F92B ; [.98A1.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16 ; [.A066.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0 ; [.A066.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F9A7 ; [.CE18.0020.0002.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928 ; [.D1A8.0020.0002.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
+F961 ; [.A067.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB ; [.A067.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929 ; [.817E.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
+2F92B ; [.8CEB.0020.0002.73A5] # CJK COMPATIBILITY IDEOGRAPH-2F92B
+F9AD ; [.924C.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917 ; [.98BB.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4 ; [.A07D.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC ; [.98D0.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A ; [.A852.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92E ; [.AFF3.0020.0002.7447] # CJK COMPATIBILITY IDEOGRAPH-2F92E
+2F92F ; [.B008.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE ; [.BE24.0020.0002.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+FAA1 ; [.B763.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-FAA1
+2F930 ; [.B763.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-2F930
+2F931 ; [.BE35.0020.0002.7485] # CJK COMPATIBILITY IDEOGRAPH-2F931
+F994 ; [.BE39.0020.0002.7489] # CJK COMPATIBILITY IDEOGRAPH-F994
+F9EF ; [.C4A4.0020.0002.7498] # CJK COMPATIBILITY IDEOGRAPH-F9EF
+2F932 ; [.D1B4.0020.0002.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
+FAA2 ; [.B77A.0020.0002.7506] # CJK COMPATIBILITY IDEOGRAPH-FAA2
+2F934 ; [.A882.0020.0002.7524] # CJK COMPATIBILITY IDEOGRAPH-2F934
+FAA3 ; [.8D01.0020.0002.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3
+2F936 ; [.8D03.0020.0002.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936
+F9CD ; [.98E3.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976 ; [.A09D.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962 ; [.A0A1.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938 ; [.A0A1.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
+F9E5 ; [.A8A0.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A ; [.B047.0020.0002.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA4 ; [.BE59.0020.0002.761D] # CJK COMPATIBILITY IDEOGRAPH-FAA4
+FAA5 ; [.BE52.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1 ; [.C9EA.0020.0002.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E ; [.D6F3.0020.0002.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
+FA17 ; [.990E.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6 ; [.990E.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7 ; [.A0BF.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+F933 ; [.C4E1.0020.0002.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
+FAA8 ; [.8D1E.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940 ; [.8D1E.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D ; [.92B6.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F945 ; [.9928.0020.0002.771E] # CJK COMPATIBILITY IDEOGRAPH-2F945
+2F946 ; [.9929.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947 ; [.9929.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAAA ; [.A0D7.0020.0002.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+FAA9 ; [.A8C2.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-FAA9
+2F948 ; [.A8C2.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-2F948
+2F94A ; [.BE77.0020.0002.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+FA9D ; [.CA05.0020.0002.77A7] # CJK COMPATIBILITY IDEOGRAPH-FA9D
+2F94E ; [.A0E7.0020.0002.784E] # CJK COMPATIBILITY IDEOGRAPH-2F94E
+F9CE ; [.A8DD.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B ; [.B08B.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F ; [.B08B.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B ; [.B090.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947 ; [.BE90.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
+FAAB ; [.BE92.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-FAAB
+2F950 ; [.BE92.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-2F950
+F964 ; [.CA26.0020.0002.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964
+F985 ; [.D4C9.0020.0002.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
+FA18 ; [.84B3.0020.0002.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18
+FA4C ; [.8D2E.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E ; [.92EC.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D ; [.92ED.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F ; [.9963.0020.0002.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50 ; [.9969.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953 ; [.9969.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51 ; [.9970.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19 ; [.9971.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A ; [.A0F9.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+F93C ; [.B0A4.0020.0002.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
+FA52 ; [.B7DB.0020.0002.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53 ; [.B7DC.0020.0002.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B ; [.B7DD.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956 ; [.B7DD.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6 ; [.CE6D.0020.0002.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+F995 ; [.8D3A.0020.0002.79CA] # CJK COMPATIBILITY IDEOGRAPH-F995
+2F957 ; [.998A.0020.0002.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
+F956 ; [.B0BA.0020.0002.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54 ; [.BEBC.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959 ; [.BEBC.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
+2F95A ; [.B7F7.0020.0002.7A4A] # CJK COMPATIBILITY IDEOGRAPH-2F95A
+2F95B ; [.C523.0020.0002.7A4F] # CJK COMPATIBILITY IDEOGRAPH-2F95B
+FA55 ; [.930C.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
+FAAC ; [.BEC4.0020.0002.7AB1] # CJK COMPATIBILITY IDEOGRAPH-FAAC
+F9F7 ; [.82C4.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+2F95F ; [.B805.0020.0002.7AEE] # CJK COMPATIBILITY IDEOGRAPH-2F95F
+F9F8 ; [.A12C.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+FA56 ; [.B101.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD ; [.B101.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962 ; [.BEEF.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963 ; [.C53D.0020.0002.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6 ; [.D1F9.0020.0002.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944 ; [.D8B1.0020.0002.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
+FAAE ; [.9327.0020.0002.7C7B] # CJK COMPATIBILITY IDEOGRAPH-FAAE
+F9F9 ; [.A14C.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D ; [.B84B.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+2F966 ; [.C563.0020.0002.7CD2] # CJK COMPATIBILITY IDEOGRAPH-2F966
+FA03 ; [.C567.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
+2F969 ; [.CE97.0020.0002.7CE3] # CJK COMPATIBILITY IDEOGRAPH-2F969
+F97B ; [.CE9B.0020.0002.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F968 ; [.CA8C.0020.0002.7CE8] # CJK COMPATIBILITY IDEOGRAPH-2F968
+2F96A ; [.9332.0020.0002.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF ; [.99CE.0020.0002.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A ; [.99E0.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F ; [.A15F.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FAAF ; [.B111.0020.0002.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C ; [.A95F.0020.0002.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F93D ; [.B85B.0020.0002.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D
+F957 ; [.B879.0020.0002.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E ; [.B882.0020.0002.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996 ; [.BF35.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57 ; [.BF35.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0 ; [.BF35.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+2F96F ; [.BF43.0020.0002.7E02] # CJK COMPATIBILITY IDEOGRAPH-2F96F
+FA58 ; [.C56B.0020.0002.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950 ; [.CA9B.0020.0002.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59 ; [.CAA5.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
+2F970 ; [.CAA9.0020.0002.7E45] # CJK COMPATIBILITY IDEOGRAPH-2F970
+FAB1 ; [.A98D.0020.0002.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1
+FA5A ; [.B149.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6 ; [.C591.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+2F976 ; [.C592.0020.0002.7F7A] # CJK COMPATIBILITY IDEOGRAPH-2F976
+F90F ; [.D220.0020.0002.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
+2F978 ; [.A19D.0020.0002.7F95] # CJK COMPATIBILITY IDEOGRAPH-2F978
+F9AF ; [.A19E.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E ; [.84CA.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+2F979 ; [.CEC9.0020.0002.7FFA] # CJK COMPATIBILITY IDEOGRAPH-2F979
+F934 ; [.84CB.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B ; [.8D66.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2 ; [.8D66.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A ; [.8D66.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0 ; [.A1BB.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+2F97D ; [.A9A9.0020.0002.8060] # CJK COMPATIBILITY IDEOGRAPH-2F97D
+F997 ; [.CAC6.0020.0002.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F ; [.CAC7.0020.0002.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945 ; [.D8C0.0020.0002.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
+F953 ; [.84D3.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6 ; [.8D78.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982 ; [.8D7D.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F983 ; [.9A39.0020.0002.8103] # CJK COMPATIBILITY IDEOGRAPH-2F983
+2F985 ; [.A9B8.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926 ; [.D22E.0020.0002.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
+F9F6 ; [.CAE3.0020.0002.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+FA5C ; [.9A4D.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893 ; [.9A50.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B ; [.9A50.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+2F98C ; [.A9E2.0020.0002.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C
+FA6D ; [.C5C0.0020.0002.8218] # CJK COMPATIBILITY IDEOGRAPH-FA6D
+F97C ; [.885F.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
+FA5D ; [.80B4.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5D
+FA5E ; [.80B4.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5E
+2F990 ; [.8868.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F98F ; [.886E.0020.0002.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F
+2F991 ; [.8D9B.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993 ; [.8DAF.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994 ; [.8DB1.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995 ; [.8DBA.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974 ; [.93A8.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998 ; [.93A8.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996 ; [.93A9.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
+2F999 ; [.A1FD.0020.0002.831D] # CJK COMPATIBILITY IDEOGRAPH-2F999
+2F99C ; [.A1FE.0020.0002.8323] # CJK COMPATIBILITY IDEOGRAPH-2F99C
+F9FE ; [.9A84.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3 ; [.9A9C.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F9A0 ; [.9ABD.0020.0002.8353] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
+2F99A ; [.9AAB.0020.0002.8363] # CJK COMPATIBILITY IDEOGRAPH-2F99A
+2F99B ; [.A24D.0020.0002.83AD] # CJK COMPATIBILITY IDEOGRAPH-2F99B
+2F99D ; [.A249.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+F93E ; [.A9FD.0020.0002.83C9] # CJK COMPATIBILITY IDEOGRAPH-F93E
+2F9A1 ; [.A9FE.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2 ; [.AA00.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3 ; [.AA0F.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+2F99E ; [.AA1A.0020.0002.83E7] # CJK COMPATIBILITY IDEOGRAPH-2F99E
+FAB4 ; [.AA22.0020.0002.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958 ; [.AA24.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918 ; [.B1A9.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E ; [.B1B5.0020.0002.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F ; [.AA5A.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F ; [.AA5A.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999 ; [.BF9A.0020.0002.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
+2F9A8 ; [.B208.0020.0002.84F1] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
+2F9A9 ; [.BF9E.0020.0002.84F3] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
+F9C2 ; [.BFA7.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AA ; [.BFC0.0020.0002.8516] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
+2F9AC ; [.C5F0.0020.0002.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+F923 ; [.CF09.0020.0002.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0 ; [.D510.0020.0002.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935 ; [.D51C.0020.0002.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
+FA20 ; [.D52F.0020.0002.8612] # CJK COMPATIBILITY IDEOGRAPH-FA20
+F91F ; [.D73C.0020.0002.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910 ; [.D9F1.0020.0002.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F9B3 ; [.93DD.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936 ; [.B20A.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4 ; [.B20A.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5 ; [.CB2D.0020.0002.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B6 ; [.CF14.0020.0002.8669] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
+2F9B8 ; [.AA6B.0020.0002.8688] # CJK COMPATIBILITY IDEOGRAPH-2F9B8
+2F9B7 ; [.9AE5.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+2F9BA ; [.AA7D.0020.0002.86E2] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
+2F9B9 ; [.B227.0020.0002.870E] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
+2F9BC ; [.B95E.0020.0002.8728] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
+2F9BD ; [.B981.0020.0002.876B] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
+FAB5 ; [.C612.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-FAB5
+2F9BB ; [.C612.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
+2F9BE ; [.C617.0020.0002.8786] # CJK COMPATIBILITY IDEOGRAPH-2F9BE
+F911 ; [.CB41.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
+2F9C0 ; [.C027.0020.0002.87E1] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
+2F9C1 ; [.D264.0020.0002.8801] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
+F927 ; [.D748.0020.0002.881F] # CJK COMPATIBILITY IDEOGRAPH-F927
+FA08 ; [.84ED.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C3 ; [.C63E.0020.0002.8860] # CJK COMPATIBILITY IDEOGRAPH-2F9C3
+2F9C4 ; [.84EE.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0 ; [.AAAA.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F9E7 ; [.B239.0020.0002.88CF] # CJK COMPATIBILITY IDEOGRAPH-F9E7
+2F9C6 ; [.AAB2.0020.0002.88D7] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
+2F9C7 ; [.B247.0020.0002.88DE] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
+F9E8 ; [.B24A.0020.0002.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912 ; [.B995.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
+2F9C9 ; [.B997.0020.0002.88FA] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
+FA60 ; [.C03D.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6 ; [.CB6A.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924 ; [.D53F.0020.0002.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
+FAB7 ; [.CF49.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A ; [.8878.0020.0002.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+FA61 ; [.A103.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8 ; [.A103.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2F9CF ; [.B289.0020.0002.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+F96F ; [.B9C9.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F
+F9A1 ; [.B9C9.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F9A1
+FAB9 ; [.C06A.0020.0002.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB ; [.C076.0020.0002.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D ; [.C07D.0020.0002.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941 ; [.C081.0020.0002.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE ; [.C671.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0 ; [.C671.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22 ; [.C08B.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA ; [.C08B.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D ; [.C681.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD ; [.C681.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62 ; [.C684.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC ; [.C684.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63 ; [.CF67.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF ; [.CF67.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC ; [.D2AB.0020.0002.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A ; [.D8E4.0020.0002.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0 ; [.DA06.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1 ; [.DA06.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+F900 ; [.9B36.0020.0002.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2 ; [.8893.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D4 ; [.A2FF.0020.0002.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5 ; [.AB15.0020.0002.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948 ; [.B2A0.0020.0002.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
+F903 ; [.B2A6.0020.0002.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64 ; [.B9E4.0020.0002.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65 ; [.D2BA.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1 ; [.D2BA.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D6 ; [.DADB.0020.0002.8D1B] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
+2F9D7 ; [.9B4D.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DB ; [.B2C0.0020.0002.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
+2F9DA ; [.AB38.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937 ; [.B2D1.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
+2F9DC ; [.B2D2.0020.0002.8DF0] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
+F902 ; [.889D.0020.0002.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
+2F9DE ; [.9B5B.0020.0002.8ED4] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
+F998 ; [.C0FB.0020.0002.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7 ; [.C0FF.0020.0002.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2 ; [.C6C7.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF ; [.C6C7.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07 ; [.C6CA.0020.0002.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D ; [.D8FB.0020.0002.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
+2F98D ; [.B2F9.0020.0002.8F9E] # CJK COMPATIBILITY IDEOGRAPH-2F98D
+F971 ; [.88A2.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
+FA66 ; [.818F.0020.0002.8FB6] # CJK COMPATIBILITY IDEOGRAPH-FA66
+F99A ; [.A353.0020.0002.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25 ; [.AB86.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67 ; [.AB86.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
+FAC3 ; [.C6D6.0020.0002.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3 ; [.C6DE.0020.0002.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913 ; [.DA18.0020.0002.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
+2F9E2 ; [.850D.0020.0002.9094] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
+F92C ; [.945D.0020.0002.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
+FA2E ; [.9B86.0020.0002.90DE] # CJK COMPATIBILITY IDEOGRAPH-FA2E
+2F9E3 ; [.9465.0020.0002.90F1] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
+FA26 ; [.A369.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
+2F9E4 ; [.B321.0020.0002.9111] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
+2F9E6 ; [.BA32.0020.0002.911B] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
+F919 ; [.B32C.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
+FAC4 ; [.CBE1.0020.0002.9199] # CJK COMPATIBILITY IDEOGRAPH-FAC4
+F9B7 ; [.D582.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9 ; [.88C7.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E ; [.ABA9.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A ; [.8E33.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9B1 ; [.B33B.0020.0002.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9E7 ; [.B33F.0020.0002.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
+FAC5 ; [.BA52.0020.0002.9276] # CJK COMPATIBILITY IDEOGRAPH-FAC5
+2F9EA ; [.BA91.0020.0002.927C] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
+2F9E8 ; [.C154.0020.0002.92D7] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
+2F9E9 ; [.C155.0020.0002.92D8] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
+F93F ; [.C705.0020.0002.9304] # CJK COMPATIBILITY IDEOGRAPH-F93F
+F99B ; [.CBF2.0020.0002.934A] # CJK COMPATIBILITY IDEOGRAPH-F99B
+2F9EB ; [.D330.0020.0002.93F9] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
+2F9EC ; [.D5A8.0020.0002.9415] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
+2F9EE ; [.ABFD.0020.0002.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986 ; [.C18F.0020.0002.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
+2F9F0 ; [.CC4C.0020.0002.95B7] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
+F9C6 ; [.88DE.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951 ; [.948F.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09 ; [.9491.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959 ; [.A3DD.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3 ; [.A3E0.0020.0002.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+FAC6 ; [.A3E3.0020.0002.967C] # CJK COMPATIBILITY IDEOGRAPH-FAC6
+F9DC ; [.AC1A.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9F1 ; [.C19A.0020.0002.96A3] # CJK COMPATIBILITY IDEOGRAPH-F9F1
+FA2F ; [.C776.0020.0002.96B7] # CJK COMPATIBILITY IDEOGRAPH-FA2F
+F9B8 ; [.CC60.0020.0002.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+2F9F3 ; [.AC28.0020.0002.96C3] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
+F9EA ; [.D014.0020.0002.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68 ; [.D345.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7 ; [.D345.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+F9B2 ; [.B3BD.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949 ; [.B3BE.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
+2F9F5 ; [.D017.0020.0002.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
+F938 ; [.D7AA.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3 ; [.DAFA.0020.0002.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+FA1C ; [.B3C8.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8 ; [.B3C8.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+FAC9 ; [.D5DE.0020.0002.97DB] # CJK COMPATIBILITY IDEOGRAPH-FAC9
+2F9FA ; [.D5DF.0020.0002.97E0] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
+FA69 ; [.D5E2.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA ; [.D5E2.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
+FACB ; [.B3D9.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-FACB
+2F9FE ; [.B3D9.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FE
+2F9FF ; [.B3D9.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FF
+F9B4 ; [.BAE3.0020.0002.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+2FA00 ; [.C1C8.0020.0002.9829] # CJK COMPATIBILITY IDEOGRAPH-2FA00
+FA6A ; [.C7A8.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC ; [.C7A8.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0 ; [.D369.0020.0002.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2FA02 ; [.9BF0.0020.0002.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A ; [.AC59.0020.0002.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B ; [.B3F7.0020.0002.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C ; [.C7C5.0020.0002.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+2FA04 ; [.C7C6.0020.0002.9929] # CJK COMPATIBILITY IDEOGRAPH-2FA04
+2FA05 ; [.D37A.0020.0002.99A7] # CJK COMPATIBILITY IDEOGRAPH-2FA05
+2FA06 ; [.BB13.0020.0002.99C2] # CJK COMPATIBILITY IDEOGRAPH-2FA06
+F91A ; [.C7DC.0020.0002.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
+2FA07 ; [.CCB3.0020.0002.99FE] # CJK COMPATIBILITY IDEOGRAPH-2FA07
+F987 ; [.DC56.0020.0002.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
+FACD ; [.D619.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD
+2FA0A ; [.D619.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
+F939 ; [.C225.0020.0002.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
+2FA0B ; [.D645.0020.0002.9C40] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
+F9F2 ; [.DA5D.0020.0002.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+2FA0C ; [.C247.0020.0002.9CFD] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
+2FA0F ; [.CD1A.0020.0002.9D67] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
+FA2D ; [.D80D.0020.0002.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A ; [.DB1F.0020.0002.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920 ; [.DC69.0020.0002.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
+F940 ; [.A415.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
+F988 ; [.D407.0020.0002.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3 ; [.DA80.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15 ; [.A418.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989 ; [.C26C.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA17 ; [.AC7C.0020.0002.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FA18 ; [.8E79.0020.0002.9EFE] # CJK COMPATIBILITY IDEOGRAPH-2FA18
+2FA19 ; [.D834.0020.0002.9F05] # CJK COMPATIBILITY IDEOGRAPH-2FA19
+2FA1A ; [.C26F.0020.0002.9F0F] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
+2FA1B ; [.D0DA.0020.0002.9F16] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
+2FA1C ; [.BB56.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+FAD8 ; [.DA8C.0020.0002.9F43] # CJK COMPATIBILITY IDEOGRAPH-FAD8
+F9C4 ; [.C85E.0020.0002.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+FAD9 ; [.D0E5.0020.0002.9F8E] # CJK COMPATIBILITY IDEOGRAPH-FAD9
+F907 ; [.C85F.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908 ; [.C85F.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE ; [.C85F.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
+2F81F ; [.858A.0020.0002.34DF] # CJK COMPATIBILITY IDEOGRAPH-2F81F
+2F888 ; [.C311.0020.0002.3862] # CJK COMPATIBILITY IDEOGRAPH-2F888
+2F8D0 ; [.AE77.0020.0002.3B08] # CJK COMPATIBILITY IDEOGRAPH-2F8D0
+2F8CE ; [.C38A.0020.0002.3B19] # CJK COMPATIBILITY IDEOGRAPH-2F8CE
+2F8DE ; [.8BD3.0020.0002.3B49] # CJK COMPATIBILITY IDEOGRAPH-2F8DE
+2F8EE ; [.D879.0020.0002.3C18] # CJK COMPATIBILITY IDEOGRAPH-2F8EE
+2F90A ; [.AF20.0020.0002.3D33] # CJK COMPATIBILITY IDEOGRAPH-2F90A
+2F92C ; [.98A9.0020.0002.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92C
+2F92D ; [.98A9.0020.0002.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92D
+FAD4 ; [.A8B8.0020.0002.4039] # CJK COMPATIBILITY IDEOGRAPH-FAD4
+2F949 ; [.A8B8.0020.0002.4039] # CJK COMPATIBILITY IDEOGRAPH-2F949
+2F960 ; [.B808.0020.0002.4202] # CJK COMPATIBILITY IDEOGRAPH-2F960
+2F96D ; [.BF14.0020.0002.4301] # CJK COMPATIBILITY IDEOGRAPH-2F96D
+2F8D7 ; [.8D6B.0020.0002.43D9] # CJK COMPATIBILITY IDEOGRAPH-2F8D7
+2FA0E ; [.D64A.0020.0002.4CED] # CJK COMPATIBILITY IDEOGRAPH-2FA0E
+2F8F9 ; [.B6A5.0020.0002.23AFA] # CJK COMPATIBILITY IDEOGRAPH-2F8F9
+FA6C ; [.AFBE.0020.0002.242EE] # CJK COMPATIBILITY IDEOGRAPH-FA6C
+2F93C ; [.D6F7.0020.0002.24FB8] # CJK COMPATIBILITY IDEOGRAPH-2F93C
ENTRY
};
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Collate/allkeys.txt b/Master/tlpkg/tlperl/lib/Unicode/Collate/allkeys.txt
index 264ef55df5a..a39ea3ceaec 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Collate/allkeys.txt
+++ b/Master/tlpkg/tlperl/lib/Unicode/Collate/allkeys.txt
@@ -1,22 +1,22 @@
-# unidata-6.0.0.txt
-# Date: 2010-08-26, 13:40:04 PDT [KW]
+# unidata-6.1.0.txt
+# Date: 2011-12-06, 16:57:32 GMT [KW]
#
# This file defines the Default Unicode Collation Element Table
# (DUCET) for the Unicode Collation Algorithm
#
-# Copyright (c) 2001-2010 Unicode, Inc.
+# Copyright (c) 2001-2011 Unicode, Inc.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# See UTS #10, Unicode Collation Algorithm, for more information.
#
# Diagnostic weight ranges
-# Primary weight range: 0200..4150 (16209)
-# Secondary weight range: 0020..0199 (378)
-# Variant secondaries: 015F..0164 (6)
-# Digit secondaries: 0165..0199 (53)
+# Primary weight range: 0200..430F (16656)
+# Secondary weight range: 0020..0177 (344)
+# Variant secondaries: 0139..013E (6)
+# Digit secondaries: 013F..0177 (57)
# Tertiary weight range: 0002..001F (30)
#
-@version 6.0.0
+@version 6.1.0
0000 ; [.0000.0000.0000.0000] # [0000] NULL (in 6429)
0001 ; [.0000.0000.0000.0000] # [0001] START OF HEADING (in 6429)
@@ -470,133 +470,133 @@ E01EF ; [.0000.0000.0000.0000] # [E01EF] VARIATION SELECTOR-256
000C ; [*0204.0020.0002.000C] # FORM FEED (in 6429)
000D ; [*0205.0020.0002.000D] # CARRIAGE RETURN (in 6429)
0020 ; [*020A.0020.0002.0020] # SPACE
-0021 ; [*027B.0020.0002.0021] # EXCLAMATION MARK
-0022 ; [*0304.0020.0002.0022] # QUOTATION MARK
-0023 ; [*0371.0020.0002.0023] # NUMBER SIGN
-0025 ; [*0372.0020.0002.0025] # PERCENT SIGN
-0026 ; [*036E.0020.0002.0026] # AMPERSAND
-0027 ; [*02FD.0020.0002.0027] # APOSTROPHE
-0028 ; [*030E.0020.0002.0028] # LEFT PARENTHESIS
-0029 ; [*030F.0020.0002.0029] # RIGHT PARENTHESIS
-002A ; [*0366.0020.0002.002A] # ASTERISK
-002B ; [*056A.0020.0002.002B] # PLUS SIGN
-002C ; [*0241.0020.0002.002C] # COMMA
-002D ; [*0230.0020.0002.002D] # HYPHEN-MINUS
-002E ; [*028E.0020.0002.002E] # FULL STOP
-002F ; [*036B.0020.0002.002F] # SOLIDUS
-003A ; [*0254.0020.0002.003A] # COLON
-003B ; [*0250.0020.0002.003B] # SEMICOLON
-003C ; [*056E.0020.0002.003C] # LESS-THAN SIGN
-003D ; [*056F.0020.0002.003D] # EQUALS SIGN
-003E ; [*0570.0020.0002.003E] # GREATER-THAN SIGN
-003F ; [*0280.0020.0002.003F] # QUESTION MARK
-0040 ; [*0365.0020.0002.0040] # COMMERCIAL AT
-005B ; [*0310.0020.0002.005B] # LEFT SQUARE BRACKET
-005C ; [*036D.0020.0002.005C] # REVERSE SOLIDUS
-005D ; [*0311.0020.0002.005D] # RIGHT SQUARE BRACKET
-005E ; [*020F.0020.0002.005E] # CIRCUMFLEX ACCENT
-005F ; [*021B.0020.0002.005F] # LOW LINE
-0060 ; [*020C.0020.0002.0060] # GRAVE ACCENT
-007B ; [*0312.0020.0002.007B] # LEFT CURLY BRACKET
-007C ; [*0572.0020.0002.007C] # VERTICAL LINE
-007D ; [*0313.0020.0002.007D] # RIGHT CURLY BRACKET
-007E ; [*0575.0020.0002.007E] # TILDE
+0021 ; [*025E.0020.0002.0021] # EXCLAMATION MARK
+0022 ; [*02F1.0020.0002.0022] # QUOTATION MARK
+0023 ; [*0376.0020.0002.0023] # NUMBER SIGN
+0025 ; [*0377.0020.0002.0025] # PERCENT SIGN
+0026 ; [*0374.0020.0002.0026] # AMPERSAND
+0027 ; [*02EA.0020.0002.0027] # APOSTROPHE
+0028 ; [*02FB.0020.0002.0028] # LEFT PARENTHESIS
+0029 ; [*02FC.0020.0002.0029] # RIGHT PARENTHESIS
+002A ; [*036D.0020.0002.002A] # ASTERISK
+002B ; [*059C.0020.0002.002B] # PLUS SIGN
+002C ; [*0221.0020.0002.002C] # COMMA
+002D ; [*020E.0020.0002.002D] # HYPHEN-MINUS
+002E ; [*0273.0020.0002.002E] # FULL STOP
+002F ; [*0372.0020.0002.002F] # SOLIDUS
+003A ; [*0237.0020.0002.003A] # COLON
+003B ; [*0232.0020.0002.003B] # SEMICOLON
+003C ; [*05A0.0020.0002.003C] # LESS-THAN SIGN
+003D ; [*05A1.0020.0002.003D] # EQUALS SIGN
+003E ; [*05A2.0020.0002.003E] # GREATER-THAN SIGN
+003F ; [*0263.0020.0002.003F] # QUESTION MARK
+0040 ; [*036C.0020.0002.0040] # COMMERCIAL AT
+005B ; [*02FD.0020.0002.005B] # LEFT SQUARE BRACKET
+005C ; [*0373.0020.0002.005C] # REVERSE SOLIDUS
+005D ; [*02FE.0020.0002.005D] # RIGHT SQUARE BRACKET
+005E ; [*0412.0020.0002.005E] # CIRCUMFLEX ACCENT
+005F ; [*020C.0020.0002.005F] # LOW LINE
+0060 ; [*040F.0020.0002.0060] # GRAVE ACCENT
+007B ; [*02FF.0020.0002.007B] # LEFT CURLY BRACKET
+007C ; [*05A4.0020.0002.007C] # VERTICAL LINE
+007D ; [*0300.0020.0002.007D] # RIGHT CURLY BRACKET
+007E ; [*05A6.0020.0002.007E] # TILDE
0085 ; [*0206.0020.0002.0085] # NEXT LINE (in 6429)
-00A0 ; [*020A.0020.001B.00A0] # NO-BREAK SPACE; QQK
-00A1 ; [*027C.0020.0002.00A1] # INVERTED EXCLAMATION MARK
-00A6 ; [*0573.0020.0002.00A6] # BROKEN BAR
-00A7 ; [*0360.0020.0002.00A7] # SECTION SIGN
-00A8 ; [*0214.0020.0002.00A8] # DIAERESIS
-00A9 ; [*0363.0020.0002.00A9] # COPYRIGHT SIGN
-00AB ; [*030C.0020.0002.00AB] # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-00AC ; [*0571.0020.0002.00AC] # NOT SIGN
-00AE ; [*0364.0020.0002.00AE] # REGISTERED SIGN
-00AF ; [*0210.0020.0002.00AF] # MACRON
-00B0 ; [*0466.0020.0002.00B0] # DEGREE SIGN
-00B1 ; [*056B.0020.0002.00B1] # PLUS-MINUS SIGN
-00B4 ; [*020D.0020.0002.00B4] # ACUTE ACCENT
-00B6 ; [*0361.0020.0002.00B6] # PILCROW SIGN
-00B7 ; [*029F.0020.0002.00B7] # MIDDLE DOT
-00B8 ; [*0219.0020.0002.00B8] # CEDILLA
-00BB ; [*030D.0020.0002.00BB] # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-00BF ; [*0281.0020.0002.00BF] # INVERTED QUESTION MARK
-00D7 ; [*056D.0020.0002.00D7] # MULTIPLICATION SIGN
-00F7 ; [*056C.0020.0002.00F7] # DIVISION SIGN
-02B9 ; [*0404.0020.0002.02B9] # MODIFIER LETTER PRIME
-02BA ; [*0406.0020.0002.02BA] # MODIFIER LETTER DOUBLE PRIME
-02C2 ; [*0407.0020.0002.02C2] # MODIFIER LETTER LEFT ARROWHEAD
-02C3 ; [*0408.0020.0002.02C3] # MODIFIER LETTER RIGHT ARROWHEAD
-02C4 ; [*0409.0020.0002.02C4] # MODIFIER LETTER UP ARROWHEAD
-02C5 ; [*040A.0020.0002.02C5] # MODIFIER LETTER DOWN ARROWHEAD
-02C6 ; [*040B.0020.0002.02C6] # MODIFIER LETTER CIRCUMFLEX ACCENT
-02C7 ; [*040C.0020.0002.02C7] # CARON
-02C8 ; [*040D.0020.0002.02C8] # MODIFIER LETTER VERTICAL LINE
-02C9 ; [*040E.0020.0002.02C9] # MODIFIER LETTER MACRON
-02CA ; [*040F.0020.0002.02CA] # MODIFIER LETTER ACUTE ACCENT
-02CB ; [*0410.0020.0002.02CB] # MODIFIER LETTER GRAVE ACCENT
-02CC ; [*0411.0020.0002.02CC] # MODIFIER LETTER LOW VERTICAL LINE
-02CD ; [*0412.0020.0002.02CD] # MODIFIER LETTER LOW MACRON
-02CE ; [*0413.0020.0002.02CE] # MODIFIER LETTER LOW GRAVE ACCENT
-02CF ; [*0414.0020.0002.02CF] # MODIFIER LETTER LOW ACUTE ACCENT
-02D2 ; [*0415.0020.0002.02D2] # MODIFIER LETTER CENTRED RIGHT HALF RING
-02D3 ; [*0416.0020.0002.02D3] # MODIFIER LETTER CENTRED LEFT HALF RING
-02D4 ; [*0417.0020.0002.02D4] # MODIFIER LETTER UP TACK
-02D5 ; [*0418.0020.0002.02D5] # MODIFIER LETTER DOWN TACK
-02D6 ; [*0419.0020.0002.02D6] # MODIFIER LETTER PLUS SIGN
-02D7 ; [*041A.0020.0002.02D7] # MODIFIER LETTER MINUS SIGN
-02D8 ; [*0212.0020.0002.02D8] # BREVE
-02D9 ; [*0213.0020.0002.02D9] # DOT ABOVE
-02DA ; [*0215.0020.0002.02DA] # RING ABOVE
-02DB ; [*021A.0020.0002.02DB] # OGONEK
-02DC ; [*020E.0020.0002.02DC] # SMALL TILDE
-02DD ; [*0216.0020.0002.02DD] # DOUBLE ACUTE ACCENT
-02DE ; [*041B.0020.0002.02DE] # MODIFIER LETTER RHOTIC HOOK
-02DF ; [*041C.0020.0002.02DF] # MODIFIER LETTER CROSS ACCENT
-02E5 ; [*041D.0020.0002.02E5] # MODIFIER LETTER EXTRA-HIGH TONE BAR
-02E6 ; [*041E.0020.0002.02E6] # MODIFIER LETTER HIGH TONE BAR
-02E7 ; [*041F.0020.0002.02E7] # MODIFIER LETTER MID TONE BAR
-02E8 ; [*0420.0020.0002.02E8] # MODIFIER LETTER LOW TONE BAR
-02E9 ; [*0421.0020.0002.02E9] # MODIFIER LETTER EXTRA-LOW TONE BAR
-02EA ; [*0422.0020.0002.02EA] # MODIFIER LETTER YIN DEPARTING TONE MARK
-02EB ; [*0423.0020.0002.02EB] # MODIFIER LETTER YANG DEPARTING TONE MARK
-02EC ; [*0424.0020.0002.02EC] # MODIFIER LETTER VOICING
-02ED ; [*0425.0020.0002.02ED] # MODIFIER LETTER UNASPIRATED
-02EF ; [*0426.0020.0002.02EF] # MODIFIER LETTER LOW DOWN ARROWHEAD
-02F0 ; [*0427.0020.0002.02F0] # MODIFIER LETTER LOW UP ARROWHEAD
-02F1 ; [*0428.0020.0002.02F1] # MODIFIER LETTER LOW LEFT ARROWHEAD
-02F2 ; [*0429.0020.0002.02F2] # MODIFIER LETTER LOW RIGHT ARROWHEAD
-02F3 ; [*042A.0020.0002.02F3] # MODIFIER LETTER LOW RING
-02F4 ; [*042B.0020.0002.02F4] # MODIFIER LETTER MIDDLE GRAVE ACCENT
-02F5 ; [*042C.0020.0002.02F5] # MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
-02F6 ; [*042D.0020.0002.02F6] # MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
-02F7 ; [*042E.0020.0002.02F7] # MODIFIER LETTER LOW TILDE
-02F8 ; [*042F.0020.0002.02F8] # MODIFIER LETTER RAISED COLON
-02F9 ; [*0430.0020.0002.02F9] # MODIFIER LETTER BEGIN HIGH TONE
-02FA ; [*0431.0020.0002.02FA] # MODIFIER LETTER END HIGH TONE
-02FB ; [*0432.0020.0002.02FB] # MODIFIER LETTER BEGIN LOW TONE
-02FC ; [*0433.0020.0002.02FC] # MODIFIER LETTER END LOW TONE
-02FD ; [*0434.0020.0002.02FD] # MODIFIER LETTER SHELF
-02FE ; [*0435.0020.0002.02FE] # MODIFIER LETTER OPEN SHELF
-02FF ; [*0436.0020.0002.02FF] # MODIFIER LETTER LOW LEFT ARROW
+00A0 ; [*020A.0020.001B.00A0] # NO-BREAK SPACE
+00A1 ; [*025F.0020.0002.00A1] # INVERTED EXCLAMATION MARK
+00A6 ; [*05A5.0020.0002.00A6] # BROKEN BAR
+00A7 ; [*0368.0020.0002.00A7] # SECTION SIGN
+00A8 ; [*0416.0020.0002.00A8] # DIAERESIS
+00A9 ; [*050C.0020.0002.00A9] # COPYRIGHT SIGN
+00AB ; [*02F9.0020.0002.00AB] # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+00AC ; [*05A3.0020.0002.00AC] # NOT SIGN
+00AE ; [*050D.0020.0002.00AE] # REGISTERED SIGN
+00AF ; [*0413.0020.0002.00AF] # MACRON
+00B0 ; [*0482.0020.0002.00B0] # DEGREE SIGN
+00B1 ; [*059D.0020.0002.00B1] # PLUS-MINUS SIGN
+00B4 ; [*0410.0020.0002.00B4] # ACUTE ACCENT
+00B6 ; [*036A.0020.0002.00B6] # PILCROW SIGN
+00B7 ; [*0284.0020.0002.00B7] # MIDDLE DOT
+00B8 ; [*0419.0020.0002.00B8] # CEDILLA
+00BB ; [*02FA.0020.0002.00BB] # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+00BF ; [*0264.0020.0002.00BF] # INVERTED QUESTION MARK
+00D7 ; [*059F.0020.0002.00D7] # MULTIPLICATION SIGN
+00F7 ; [*059E.0020.0002.00F7] # DIVISION SIGN
+02B9 ; [*0420.0020.0002.02B9] # MODIFIER LETTER PRIME
+02BA ; [*0422.0020.0002.02BA] # MODIFIER LETTER DOUBLE PRIME
+02C2 ; [*0423.0020.0002.02C2] # MODIFIER LETTER LEFT ARROWHEAD
+02C3 ; [*0424.0020.0002.02C3] # MODIFIER LETTER RIGHT ARROWHEAD
+02C4 ; [*0425.0020.0002.02C4] # MODIFIER LETTER UP ARROWHEAD
+02C5 ; [*0426.0020.0002.02C5] # MODIFIER LETTER DOWN ARROWHEAD
+02C6 ; [*0427.0020.0002.02C6] # MODIFIER LETTER CIRCUMFLEX ACCENT
+02C7 ; [*0428.0020.0002.02C7] # CARON
+02C8 ; [*0429.0020.0002.02C8] # MODIFIER LETTER VERTICAL LINE
+02C9 ; [*042A.0020.0002.02C9] # MODIFIER LETTER MACRON
+02CA ; [*042B.0020.0002.02CA] # MODIFIER LETTER ACUTE ACCENT
+02CB ; [*042C.0020.0002.02CB] # MODIFIER LETTER GRAVE ACCENT
+02CC ; [*042D.0020.0002.02CC] # MODIFIER LETTER LOW VERTICAL LINE
+02CD ; [*042E.0020.0002.02CD] # MODIFIER LETTER LOW MACRON
+02CE ; [*042F.0020.0002.02CE] # MODIFIER LETTER LOW GRAVE ACCENT
+02CF ; [*0430.0020.0002.02CF] # MODIFIER LETTER LOW ACUTE ACCENT
+02D2 ; [*0431.0020.0002.02D2] # MODIFIER LETTER CENTRED RIGHT HALF RING
+02D3 ; [*0432.0020.0002.02D3] # MODIFIER LETTER CENTRED LEFT HALF RING
+02D4 ; [*0433.0020.0002.02D4] # MODIFIER LETTER UP TACK
+02D5 ; [*0434.0020.0002.02D5] # MODIFIER LETTER DOWN TACK
+02D6 ; [*0435.0020.0002.02D6] # MODIFIER LETTER PLUS SIGN
+02D7 ; [*0436.0020.0002.02D7] # MODIFIER LETTER MINUS SIGN
+02D8 ; [*0414.0020.0002.02D8] # BREVE
+02D9 ; [*0415.0020.0002.02D9] # DOT ABOVE
+02DA ; [*0417.0020.0002.02DA] # RING ABOVE
+02DB ; [*041A.0020.0002.02DB] # OGONEK
+02DC ; [*0411.0020.0002.02DC] # SMALL TILDE
+02DD ; [*0418.0020.0002.02DD] # DOUBLE ACUTE ACCENT
+02DE ; [*0437.0020.0002.02DE] # MODIFIER LETTER RHOTIC HOOK
+02DF ; [*0438.0020.0002.02DF] # MODIFIER LETTER CROSS ACCENT
+02E5 ; [*0439.0020.0002.02E5] # MODIFIER LETTER EXTRA-HIGH TONE BAR
+02E6 ; [*043A.0020.0002.02E6] # MODIFIER LETTER HIGH TONE BAR
+02E7 ; [*043B.0020.0002.02E7] # MODIFIER LETTER MID TONE BAR
+02E8 ; [*043C.0020.0002.02E8] # MODIFIER LETTER LOW TONE BAR
+02E9 ; [*043D.0020.0002.02E9] # MODIFIER LETTER EXTRA-LOW TONE BAR
+02EA ; [*043E.0020.0002.02EA] # MODIFIER LETTER YIN DEPARTING TONE MARK
+02EB ; [*043F.0020.0002.02EB] # MODIFIER LETTER YANG DEPARTING TONE MARK
+02EC ; [*0440.0020.0002.02EC] # MODIFIER LETTER VOICING
+02ED ; [*0441.0020.0002.02ED] # MODIFIER LETTER UNASPIRATED
+02EF ; [*0442.0020.0002.02EF] # MODIFIER LETTER LOW DOWN ARROWHEAD
+02F0 ; [*0443.0020.0002.02F0] # MODIFIER LETTER LOW UP ARROWHEAD
+02F1 ; [*0444.0020.0002.02F1] # MODIFIER LETTER LOW LEFT ARROWHEAD
+02F2 ; [*0445.0020.0002.02F2] # MODIFIER LETTER LOW RIGHT ARROWHEAD
+02F3 ; [*0446.0020.0002.02F3] # MODIFIER LETTER LOW RING
+02F4 ; [*0447.0020.0002.02F4] # MODIFIER LETTER MIDDLE GRAVE ACCENT
+02F5 ; [*0448.0020.0002.02F5] # MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
+02F6 ; [*0449.0020.0002.02F6] # MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
+02F7 ; [*044A.0020.0002.02F7] # MODIFIER LETTER LOW TILDE
+02F8 ; [*044B.0020.0002.02F8] # MODIFIER LETTER RAISED COLON
+02F9 ; [*044C.0020.0002.02F9] # MODIFIER LETTER BEGIN HIGH TONE
+02FA ; [*044D.0020.0002.02FA] # MODIFIER LETTER END HIGH TONE
+02FB ; [*044E.0020.0002.02FB] # MODIFIER LETTER BEGIN LOW TONE
+02FC ; [*044F.0020.0002.02FC] # MODIFIER LETTER END LOW TONE
+02FD ; [*0450.0020.0002.02FD] # MODIFIER LETTER SHELF
+02FE ; [*0451.0020.0002.02FE] # MODIFIER LETTER OPEN SHELF
+02FF ; [*0452.0020.0002.02FF] # MODIFIER LETTER LOW LEFT ARROW
034F ; [.0000.0000.0000.034F] # COMBINING GRAPHEME JOINER
-0374 ; [*0404.0020.0002.0374] # GREEK NUMERAL SIGN; QQC
-0375 ; [*0405.0020.0002.0375] # GREEK LOWER NUMERAL SIGN
-037E ; [*0250.0020.0002.037E] # GREEK QUESTION MARK; QQC
-0384 ; [*020D.0020.0002.0384] # GREEK TONOS; QQC
-0385 ; [*0214.0020.0002.00A8][.0000.0032.0002.0301] # GREEK DIALYTIKA TONOS; QQCM
-0387 ; [*029F.0020.0002.0387] # GREEK ANO TELEIA; QQC
-03F6 ; [*0565.0020.0002.03F6] # GREEK REVERSED LUNATE EPSILON SYMBOL
-0482 ; [*0467.0020.0002.0482] # CYRILLIC THOUSANDS SIGN
+0374 ; [*0420.0020.0002.0374] # GREEK NUMERAL SIGN
+0375 ; [*0421.0020.0002.0375] # GREEK LOWER NUMERAL SIGN
+037E ; [*0232.0020.0002.037E] # GREEK QUESTION MARK
+0384 ; [*0410.0020.0002.0384] # GREEK TONOS
+0385 ; [*0416.0020.0002.00A8][.0000.0032.0002.0301] # GREEK DIALYTIKA TONOS
+0387 ; [*0284.0020.0002.0387] # GREEK ANO TELEIA
+03F6 ; [*0597.0020.0002.03F6] # GREEK REVERSED LUNATE EPSILON SYMBOL
+0482 ; [*0483.0020.0002.0482] # CYRILLIC THOUSANDS SIGN
0488 ; [.0000.0000.0000.0488] # COMBINING CYRILLIC HUNDRED THOUSANDS SIGN
0489 ; [.0000.0000.0000.0489] # COMBINING CYRILLIC MILLIONS SIGN
-055A ; [*03A1.0020.0002.055A] # ARMENIAN APOSTROPHE
-055B ; [*03A2.0020.0002.055B] # ARMENIAN EMPHASIS MARK
-055C ; [*027D.0020.0002.055C] # ARMENIAN EXCLAMATION MARK
-055D ; [*0242.0020.0002.055D] # ARMENIAN COMMA
-055E ; [*0283.0020.0002.055E] # ARMENIAN QUESTION MARK
-055F ; [*03A3.0020.0002.055F] # ARMENIAN ABBREVIATION MARK
-0589 ; [*0255.0020.0002.0589] # ARMENIAN FULL STOP
-058A ; [*0231.0020.0002.058A] # ARMENIAN HYPHEN
+055A ; [*03A8.0020.0002.055A] # ARMENIAN APOSTROPHE
+055B ; [*03A9.0020.0002.055B] # ARMENIAN EMPHASIS MARK
+055C ; [*0260.0020.0002.055C] # ARMENIAN EXCLAMATION MARK
+055D ; [*0224.0020.0002.055D] # ARMENIAN COMMA
+055E ; [*0266.0020.0002.055E] # ARMENIAN QUESTION MARK
+055F ; [*03AA.0020.0002.055F] # ARMENIAN ABBREVIATION MARK
+0589 ; [*0238.0020.0002.0589] # ARMENIAN FULL STOP
+058A ; [*020F.0020.0002.058A] # ARMENIAN HYPHEN
0591 ; [.0000.0000.0000.0591] # HEBREW ACCENT ETNAHTA
0592 ; [.0000.0000.0000.0592] # HEBREW ACCENT SEGOL
0593 ; [.0000.0000.0000.0593] # HEBREW ACCENT SHALSHELET
@@ -629,27 +629,28 @@ E01EF ; [.0000.0000.0000.0000] # [E01EF] VARIATION SELECTOR-256
05AE ; [.0000.0000.0000.05AE] # HEBREW ACCENT ZINOR
05AF ; [.0000.0000.0000.05AF] # HEBREW MARK MASORA CIRCLE
05BD ; [.0000.0000.0000.05BD] # HEBREW POINT METEG
-05BE ; [*03A4.0020.0002.05BE] # HEBREW PUNCTUATION MAQAF
-05C0 ; [*03A5.0020.0002.05C0] # HEBREW PUNCTUATION PASEQ
-05C3 ; [*03A6.0020.0002.05C3] # HEBREW PUNCTUATION SOF PASUQ
+05BE ; [*03AB.0020.0002.05BE] # HEBREW PUNCTUATION MAQAF
+05C0 ; [*03AC.0020.0002.05C0] # HEBREW PUNCTUATION PASEQ
+05C3 ; [*03AD.0020.0002.05C3] # HEBREW PUNCTUATION SOF PASUQ
05C4 ; [.0000.0000.0000.05C4] # HEBREW MARK UPPER DOT
05C5 ; [.0000.0000.0000.05C5] # HEBREW MARK LOWER DOT
-05C6 ; [*03A7.0020.0002.05C6] # HEBREW PUNCTUATION NUN HAFUKHA
-05F3 ; [*03A8.0020.0002.05F3] # HEBREW PUNCTUATION GERESH
-05F4 ; [*03A9.0020.0002.05F4] # HEBREW PUNCTUATION GERSHAYIM
+05C6 ; [*03AE.0020.0002.05C6] # HEBREW PUNCTUATION NUN HAFUKHA
+05F3 ; [*03AF.0020.0002.05F3] # HEBREW PUNCTUATION GERESH
+05F4 ; [*03B0.0020.0002.05F4] # HEBREW PUNCTUATION GERSHAYIM
0600 ; [.0000.0000.0000.0600] # ARABIC NUMBER SIGN
0601 ; [.0000.0000.0000.0601] # ARABIC SIGN SANAH
0602 ; [.0000.0000.0000.0602] # ARABIC FOOTNOTE MARKER
0603 ; [.0000.0000.0000.0603] # ARABIC SIGN SAFHA
-0606 ; [*0580.0020.0002.0606] # ARABIC-INDIC CUBE ROOT
-0607 ; [*0582.0020.0002.0607] # ARABIC-INDIC FOURTH ROOT
-0608 ; [*0468.0020.0002.0608] # ARABIC RAY
-0609 ; [*0375.0020.0002.0609] # ARABIC-INDIC PER MILLE SIGN
-060A ; [*0377.0020.0002.060A] # ARABIC-INDIC PER TEN THOUSAND SIGN
-060C ; [*0243.0020.0002.060C] # ARABIC COMMA
-060D ; [*0244.0020.0002.060D] # ARABIC DATE SEPARATOR
-060E ; [*0469.0020.0002.060E] # ARABIC POETIC VERSE SIGN
-060F ; [*046A.0020.0002.060F] # ARABIC SIGN MISRA
+0604 ; [.0000.0000.0000.0604] # ARABIC SIGN SAMVAT
+0606 ; [*05B3.0020.0002.0606] # ARABIC-INDIC CUBE ROOT
+0607 ; [*05B5.0020.0002.0607] # ARABIC-INDIC FOURTH ROOT
+0608 ; [*0484.0020.0002.0608] # ARABIC RAY
+0609 ; [*037A.0020.0002.0609] # ARABIC-INDIC PER MILLE SIGN
+060A ; [*037C.0020.0002.060A] # ARABIC-INDIC PER TEN THOUSAND SIGN
+060C ; [*0225.0020.0002.060C] # ARABIC COMMA
+060D ; [*0226.0020.0002.060D] # ARABIC DATE SEPARATOR
+060E ; [*0487.0020.0002.060E] # ARABIC POETIC VERSE SIGN
+060F ; [*0488.0020.0002.060F] # ARABIC SIGN MISRA
0610 ; [.0000.0000.0000.0610] # ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM
0611 ; [.0000.0000.0000.0611] # ARABIC SIGN ALAYHE ASSALLAM
0612 ; [.0000.0000.0000.0612] # ARABIC SIGN RAHMATULLAH ALAYHE
@@ -661,15 +662,15 @@ E01EF ; [.0000.0000.0000.0000] # [E01EF] VARIATION SELECTOR-256
0618 ; [.0000.0000.0000.0618] # ARABIC SMALL FATHA
0619 ; [.0000.0000.0000.0619] # ARABIC SMALL DAMMA
061A ; [.0000.0000.0000.061A] # ARABIC SMALL KASRA
-061B ; [*0251.0020.0002.061B] # ARABIC SEMICOLON
-061E ; [*0256.0020.0002.061E] # ARABIC TRIPLE DOT PUNCTUATION MARK
-061F ; [*0284.0020.0002.061F] # ARABIC QUESTION MARK
+061B ; [*0233.0020.0002.061B] # ARABIC SEMICOLON
+061E ; [*0239.0020.0002.061E] # ARABIC TRIPLE DOT PUNCTUATION MARK
+061F ; [*0267.0020.0002.061F] # ARABIC QUESTION MARK
0640 ; [.0000.0000.0000.0640] # ARABIC TATWEEL
-066A ; [*0373.0020.0002.066A] # ARABIC PERCENT SIGN
-066B ; [*0245.0020.0002.066B] # ARABIC DECIMAL SEPARATOR
-066C ; [*0246.0020.0002.066C] # ARABIC THOUSANDS SEPARATOR
-066D ; [*0369.0020.0002.066D] # ARABIC FIVE POINTED STAR
-06D4 ; [*0290.0020.0002.06D4] # ARABIC FULL STOP
+066A ; [*0378.0020.0002.066A] # ARABIC PERCENT SIGN
+066B ; [*0227.0020.0002.066B] # ARABIC DECIMAL SEPARATOR
+066C ; [*0228.0020.0002.066C] # ARABIC THOUSANDS SEPARATOR
+066D ; [*0370.0020.0002.066D] # ARABIC FIVE POINTED STAR
+06D4 ; [*0275.0020.0002.06D4] # ARABIC FULL STOP
06D6 ; [.0000.0000.0000.06D6] # ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA
06D7 ; [.0000.0000.0000.06D7] # ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA
06D8 ; [.0000.0000.0000.06D8] # ARABIC SMALL HIGH MEEM INITIAL FORM
@@ -678,7 +679,7 @@ E01EF ; [.0000.0000.0000.0000] # [E01EF] VARIATION SELECTOR-256
06DB ; [.0000.0000.0000.06DB] # ARABIC SMALL HIGH THREE DOTS
06DC ; [.0000.0000.0000.06DC] # ARABIC SMALL HIGH SEEN
06DD ; [.0000.0000.0000.06DD] # ARABIC END OF AYAH
-06DE ; [*046B.0020.0002.06DE] # ARABIC START OF RUB EL HIZB
+06DE ; [*0489.0020.0002.06DE] # ARABIC START OF RUB EL HIZB
06DF ; [.0000.0000.0000.06DF] # ARABIC SMALL HIGH ROUNDED ZERO
06E0 ; [.0000.0000.0000.06E0] # ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO
06E1 ; [.0000.0000.0000.06E1] # ARABIC SMALL HIGH DOTLESS HEAD OF KHAH
@@ -687,25 +688,25 @@ E01EF ; [.0000.0000.0000.0000] # [E01EF] VARIATION SELECTOR-256
06E4 ; [.0000.0000.0000.06E4] # ARABIC SMALL HIGH MADDA
06E7 ; [.0000.0000.0000.06E7] # ARABIC SMALL HIGH YEH
06E8 ; [.0000.0000.0000.06E8] # ARABIC SMALL HIGH NOON
-06E9 ; [*046C.0020.0002.06E9] # ARABIC PLACE OF SAJDAH
+06E9 ; [*048A.0020.0002.06E9] # ARABIC PLACE OF SAJDAH
06EA ; [.0000.0000.0000.06EA] # ARABIC EMPTY CENTRE LOW STOP
06EB ; [.0000.0000.0000.06EB] # ARABIC EMPTY CENTRE HIGH STOP
06EC ; [.0000.0000.0000.06EC] # ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE
06ED ; [.0000.0000.0000.06ED] # ARABIC SMALL LOW MEEM
-0700 ; [*02C4.0020.0002.0700] # SYRIAC END OF PARAGRAPH
-0701 ; [*0291.0020.0002.0701] # SYRIAC SUPRALINEAR FULL STOP
-0702 ; [*0292.0020.0002.0702] # SYRIAC SUBLINEAR FULL STOP
-0703 ; [*0257.0020.0002.0703] # SYRIAC SUPRALINEAR COLON
-0704 ; [*0258.0020.0002.0704] # SYRIAC SUBLINEAR COLON
-0705 ; [*0259.0020.0002.0705] # SYRIAC HORIZONTAL COLON
-0706 ; [*025A.0020.0002.0706] # SYRIAC COLON SKEWED LEFT
-0707 ; [*025B.0020.0002.0707] # SYRIAC COLON SKEWED RIGHT
-0708 ; [*025C.0020.0002.0708] # SYRIAC SUPRALINEAR COLON SKEWED LEFT
-0709 ; [*0285.0020.0002.0709] # SYRIAC SUBLINEAR COLON SKEWED RIGHT
-070A ; [*03AA.0020.0002.070A] # SYRIAC CONTRACTION
-070B ; [*03AB.0020.0002.070B] # SYRIAC HARKLEAN OBELUS
-070C ; [*03AC.0020.0002.070C] # SYRIAC HARKLEAN METOBELUS
-070D ; [*03AD.0020.0002.070D] # SYRIAC HARKLEAN ASTERISCUS
+0700 ; [*02AF.0020.0002.0700] # SYRIAC END OF PARAGRAPH
+0701 ; [*0276.0020.0002.0701] # SYRIAC SUPRALINEAR FULL STOP
+0702 ; [*0277.0020.0002.0702] # SYRIAC SUBLINEAR FULL STOP
+0703 ; [*023A.0020.0002.0703] # SYRIAC SUPRALINEAR COLON
+0704 ; [*023B.0020.0002.0704] # SYRIAC SUBLINEAR COLON
+0705 ; [*023C.0020.0002.0705] # SYRIAC HORIZONTAL COLON
+0706 ; [*023D.0020.0002.0706] # SYRIAC COLON SKEWED LEFT
+0707 ; [*023E.0020.0002.0707] # SYRIAC COLON SKEWED RIGHT
+0708 ; [*023F.0020.0002.0708] # SYRIAC SUPRALINEAR COLON SKEWED LEFT
+0709 ; [*0268.0020.0002.0709] # SYRIAC SUBLINEAR COLON SKEWED RIGHT
+070A ; [*03B1.0020.0002.070A] # SYRIAC CONTRACTION
+070B ; [*03B2.0020.0002.070B] # SYRIAC HARKLEAN OBELUS
+070C ; [*03B3.0020.0002.070C] # SYRIAC HARKLEAN METOBELUS
+070D ; [*03B4.0020.0002.070D] # SYRIAC HARKLEAN ASTERISCUS
0740 ; [.0000.0000.0000.0740] # SYRIAC FEMININE DOT
0743 ; [.0000.0000.0000.0743] # SYRIAC TWO VERTICAL DOTS ABOVE
0744 ; [.0000.0000.0000.0744] # SYRIAC TWO VERTICAL DOTS BELOW
@@ -713,281 +714,290 @@ E01EF ; [.0000.0000.0000.0000] # [E01EF] VARIATION SELECTOR-256
0748 ; [.0000.0000.0000.0748] # SYRIAC OBLIQUE LINE BELOW
0749 ; [.0000.0000.0000.0749] # SYRIAC MUSIC
074A ; [.0000.0000.0000.074A] # SYRIAC BARREKH
-07F6 ; [*046E.0020.0002.07F6] # NKO SYMBOL OO DENNEN
-07F7 ; [*02C5.0020.0002.07F7] # NKO SYMBOL GBAKURUNEN
-07F8 ; [*0247.0020.0002.07F8] # NKO COMMA
-07F9 ; [*027E.0020.0002.07F9] # NKO EXCLAMATION MARK
+07F6 ; [*049C.0020.0002.07F6] # NKO SYMBOL OO DENNEN
+07F7 ; [*02B0.0020.0002.07F7] # NKO SYMBOL GBAKURUNEN
+07F8 ; [*0229.0020.0002.07F8] # NKO COMMA
+07F9 ; [*0261.0020.0002.07F9] # NKO EXCLAMATION MARK
07FA ; [.0000.0000.0000.07FA] # NKO LAJANYALAN
-0830 ; [*025D.0020.0002.0830] # SAMARITAN PUNCTUATION NEQUDAA
-0831 ; [*025E.0020.0002.0831] # SAMARITAN PUNCTUATION AFSAAQ
-0832 ; [*025F.0020.0002.0832] # SAMARITAN PUNCTUATION ANGED
-0833 ; [*0260.0020.0002.0833] # SAMARITAN PUNCTUATION BAU
-0834 ; [*0261.0020.0002.0834] # SAMARITAN PUNCTUATION ATMAAU
-0835 ; [*0262.0020.0002.0835] # SAMARITAN PUNCTUATION SHIYYAALAA
-0836 ; [*0263.0020.0002.0836] # SAMARITAN ABBREVIATION MARK
-0837 ; [*0264.0020.0002.0837] # SAMARITAN PUNCTUATION MELODIC QITSA
-0838 ; [*0265.0020.0002.0838] # SAMARITAN PUNCTUATION ZIQAA
-0839 ; [*0266.0020.0002.0839] # SAMARITAN PUNCTUATION QITSA
-083A ; [*0267.0020.0002.083A] # SAMARITAN PUNCTUATION ZAEF
-083B ; [*0268.0020.0002.083B] # SAMARITAN PUNCTUATION TURU
-083C ; [*0269.0020.0002.083C] # SAMARITAN PUNCTUATION ARKAANU
-083D ; [*026A.0020.0002.083D] # SAMARITAN PUNCTUATION SOF MASHFAAT
-083E ; [*026B.0020.0002.083E] # SAMARITAN PUNCTUATION ANNAAU
-085E ; [*03AE.0020.0002.085E] # MANDAIC PUNCTUATION
+0830 ; [*0240.0020.0002.0830] # SAMARITAN PUNCTUATION NEQUDAA
+0831 ; [*0241.0020.0002.0831] # SAMARITAN PUNCTUATION AFSAAQ
+0832 ; [*0242.0020.0002.0832] # SAMARITAN PUNCTUATION ANGED
+0833 ; [*0243.0020.0002.0833] # SAMARITAN PUNCTUATION BAU
+0834 ; [*0244.0020.0002.0834] # SAMARITAN PUNCTUATION ATMAAU
+0835 ; [*0245.0020.0002.0835] # SAMARITAN PUNCTUATION SHIYYAALAA
+0836 ; [*0246.0020.0002.0836] # SAMARITAN ABBREVIATION MARK
+0837 ; [*0247.0020.0002.0837] # SAMARITAN PUNCTUATION MELODIC QITSA
+0838 ; [*0248.0020.0002.0838] # SAMARITAN PUNCTUATION ZIQAA
+0839 ; [*0249.0020.0002.0839] # SAMARITAN PUNCTUATION QITSA
+083A ; [*024A.0020.0002.083A] # SAMARITAN PUNCTUATION ZAEF
+083B ; [*024B.0020.0002.083B] # SAMARITAN PUNCTUATION TURU
+083C ; [*024C.0020.0002.083C] # SAMARITAN PUNCTUATION ARKAANU
+083D ; [*024D.0020.0002.083D] # SAMARITAN PUNCTUATION SOF MASHFAAT
+083E ; [*024E.0020.0002.083E] # SAMARITAN PUNCTUATION ANNAAU
+085E ; [*03B5.0020.0002.085E] # MANDAIC PUNCTUATION
+08EA ; [.0000.0000.0000.08EA] # ARABIC TONE ONE DOT ABOVE
+08EB ; [.0000.0000.0000.08EB] # ARABIC TONE TWO DOTS ABOVE
+08EC ; [.0000.0000.0000.08EC] # ARABIC TONE LOOP ABOVE
+08ED ; [.0000.0000.0000.08ED] # ARABIC TONE ONE DOT BELOW
+08EE ; [.0000.0000.0000.08EE] # ARABIC TONE TWO DOTS BELOW
+08EF ; [.0000.0000.0000.08EF] # ARABIC TONE LOOP BELOW
+08F3 ; [.0000.0000.0000.08F3] # ARABIC SMALL HIGH WAW
0951 ; [.0000.0000.0000.0951] # DEVANAGARI STRESS SIGN UDATTA
0952 ; [.0000.0000.0000.0952] # DEVANAGARI STRESS SIGN ANUDATTA
-0964 ; [*02A1.0020.0002.0964] # DEVANAGARI DANDA
-0965 ; [*02A2.0020.0002.0965] # DEVANAGARI DOUBLE DANDA
-0970 ; [*03B0.0020.0002.0970] # DEVANAGARI ABBREVIATION SIGN
-09F4 ; [*1492.0020.0002.09F4] # BENGALI CURRENCY NUMERATOR ONE
-09F5 ; [*1493.0020.0002.09F5] # BENGALI CURRENCY NUMERATOR TWO
-09F6 ; [*1494.0020.0002.09F6] # BENGALI CURRENCY NUMERATOR THREE
-09F7 ; [*1495.0020.0002.09F7] # BENGALI CURRENCY NUMERATOR FOUR
-09F8 ; [*1496.0020.0002.09F8] # BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
-09F9 ; [*1497.0020.0002.09F9] # BENGALI CURRENCY DENOMINATOR SIXTEEN
-09FA ; [*046F.0020.0002.09FA] # BENGALI ISSHAR
-0B70 ; [*0470.0020.0002.0B70] # ORIYA ISSHAR
-0B72 ; [*1498.0020.0002.0B72] # ORIYA FRACTION ONE QUARTER
-0B73 ; [*1499.0020.0002.0B73] # ORIYA FRACTION ONE HALF
-0B74 ; [*149A.0020.0002.0B74] # ORIYA FRACTION THREE QUARTERS
-0B75 ; [*149B.0020.0002.0B75] # ORIYA FRACTION ONE SIXTEENTH
-0B76 ; [*149C.0020.0002.0B76] # ORIYA FRACTION ONE EIGHTH
-0B77 ; [*149D.0020.0002.0B77] # ORIYA FRACTION THREE SIXTEENTHS
-0BF0 ; [*14A4.0020.0002.0BF0] # TAMIL NUMBER TEN
-0BF1 ; [*14A5.0020.0002.0BF1] # TAMIL NUMBER ONE HUNDRED
-0BF2 ; [*14A6.0020.0002.0BF2] # TAMIL NUMBER ONE THOUSAND
-0BF3 ; [*0471.0020.0002.0BF3] # TAMIL DAY SIGN
-0BF4 ; [*0472.0020.0002.0BF4] # TAMIL MONTH SIGN
-0BF5 ; [*0473.0020.0002.0BF5] # TAMIL YEAR SIGN
-0BF6 ; [*0474.0020.0002.0BF6] # TAMIL DEBIT SIGN
-0BF7 ; [*0475.0020.0002.0BF7] # TAMIL CREDIT SIGN
-0BF8 ; [*0476.0020.0002.0BF8] # TAMIL AS ABOVE SIGN
-0BFA ; [*0477.0020.0002.0BFA] # TAMIL NUMBER SIGN
-0C7F ; [*0478.0020.0002.0C7F] # TELUGU SIGN TUUMU
-0D70 ; [*14A7.0020.0002.0D70] # MALAYALAM NUMBER TEN
-0D71 ; [*14A8.0020.0002.0D71] # MALAYALAM NUMBER ONE HUNDRED
-0D72 ; [*14A9.0020.0002.0D72] # MALAYALAM NUMBER ONE THOUSAND
-0D73 ; [*14AA.0020.0002.0D73] # MALAYALAM FRACTION ONE QUARTER
-0D74 ; [*14AB.0020.0002.0D74] # MALAYALAM FRACTION ONE HALF
-0D75 ; [*14AC.0020.0002.0D75] # MALAYALAM FRACTION THREE QUARTERS
-0D79 ; [*0479.0020.0002.0D79] # MALAYALAM DATE MARK
-0DF4 ; [*03B4.0020.0002.0DF4] # SINHALA PUNCTUATION KUNDDALIYA
-0E4F ; [*0481.0020.0002.0E4F] # THAI CHARACTER FONGMAN
-0E5A ; [*03B5.0020.0002.0E5A] # THAI CHARACTER ANGKHANKHU
-0E5B ; [*03B6.0020.0002.0E5B] # THAI CHARACTER KHOMUT
-0F01 ; [*0482.0020.0002.0F01] # TIBETAN MARK GTER YIG MGO TRUNCATED A
-0F02 ; [*0483.0020.0002.0F02] # TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
-0F03 ; [*0484.0020.0002.0F03] # TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
-0F04 ; [*03B9.0020.0002.0F04] # TIBETAN MARK INITIAL YIG MGO MDUN MA
-0F05 ; [*03BA.0020.0002.0F05] # TIBETAN MARK CLOSING YIG MGO SGAB MA
-0F06 ; [*03BB.0020.0002.0F06] # TIBETAN MARK CARET YIG MGO PHUR SHAD MA
-0F07 ; [*03BC.0020.0002.0F07] # TIBETAN MARK YIG MGO TSHEG SHAD MA
-0F08 ; [*03BD.0020.0002.0F08] # TIBETAN MARK SBRUL SHAD
-0F09 ; [*03BE.0020.0002.0F09] # TIBETAN MARK BSKUR YIG MGO
-0F0A ; [*03BF.0020.0002.0F0A] # TIBETAN MARK BKA- SHOG YIG MGO
-0F0B ; [*03C2.0020.0002.0F0B] # TIBETAN MARK INTERSYLLABIC TSHEG
-0F0C ; [*03C2.0020.001B.0F0C] # TIBETAN MARK DELIMITER TSHEG BSTAR; QQK
-0F0D ; [*03C3.0020.0002.0F0D] # TIBETAN MARK SHAD
-0F0E ; [*03C4.0020.0002.0F0E] # TIBETAN MARK NYIS SHAD
-0F0F ; [*03C5.0020.0002.0F0F] # TIBETAN MARK TSHEG SHAD
-0F10 ; [*03C6.0020.0002.0F10] # TIBETAN MARK NYIS TSHEG SHAD
-0F11 ; [*03C7.0020.0002.0F11] # TIBETAN MARK RIN CHEN SPUNGS SHAD
-0F12 ; [*03C8.0020.0002.0F12] # TIBETAN MARK RGYA GRAM SHAD
-0F13 ; [*0485.0020.0002.0F13] # TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
-0F14 ; [*0273.0020.0002.0F14] # TIBETAN MARK GTER TSHEG
-0F15 ; [*0486.0020.0002.0F15] # TIBETAN LOGOTYPE SIGN CHAD RTAGS
-0F16 ; [*0487.0020.0002.0F16] # TIBETAN LOGOTYPE SIGN LHAG RTAGS
-0F17 ; [*0488.0020.0002.0F17] # TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
+0964 ; [*0287.0020.0002.0964] # DEVANAGARI DANDA
+0965 ; [*0288.0020.0002.0965] # DEVANAGARI DOUBLE DANDA
+0970 ; [*03B7.0020.0002.0970] # DEVANAGARI ABBREVIATION SIGN
+09F4 ; [*14BF.0020.0002.09F4] # BENGALI CURRENCY NUMERATOR ONE
+09F5 ; [*14C0.0020.0002.09F5] # BENGALI CURRENCY NUMERATOR TWO
+09F6 ; [*14C1.0020.0002.09F6] # BENGALI CURRENCY NUMERATOR THREE
+09F7 ; [*14C2.0020.0002.09F7] # BENGALI CURRENCY NUMERATOR FOUR
+09F8 ; [*14C3.0020.0002.09F8] # BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
+09F9 ; [*14C4.0020.0002.09F9] # BENGALI CURRENCY DENOMINATOR SIXTEEN
+09FA ; [*049D.0020.0002.09FA] # BENGALI ISSHAR
+0AF0 ; [*03BB.0020.0002.0AF0] # GUJARATI ABBREVIATION SIGN
+0B70 ; [*049E.0020.0002.0B70] # ORIYA ISSHAR
+0B72 ; [*14C5.0020.0002.0B72] # ORIYA FRACTION ONE QUARTER
+0B73 ; [*14C6.0020.0002.0B73] # ORIYA FRACTION ONE HALF
+0B74 ; [*14C7.0020.0002.0B74] # ORIYA FRACTION THREE QUARTERS
+0B75 ; [*14C8.0020.0002.0B75] # ORIYA FRACTION ONE SIXTEENTH
+0B76 ; [*14C9.0020.0002.0B76] # ORIYA FRACTION ONE EIGHTH
+0B77 ; [*14CA.0020.0002.0B77] # ORIYA FRACTION THREE SIXTEENTHS
+0BF0 ; [*14D1.0020.0002.0BF0] # TAMIL NUMBER TEN
+0BF1 ; [*14D2.0020.0002.0BF1] # TAMIL NUMBER ONE HUNDRED
+0BF2 ; [*14D3.0020.0002.0BF2] # TAMIL NUMBER ONE THOUSAND
+0BF3 ; [*049F.0020.0002.0BF3] # TAMIL DAY SIGN
+0BF4 ; [*04A0.0020.0002.0BF4] # TAMIL MONTH SIGN
+0BF5 ; [*04A1.0020.0002.0BF5] # TAMIL YEAR SIGN
+0BF6 ; [*04A2.0020.0002.0BF6] # TAMIL DEBIT SIGN
+0BF7 ; [*04A3.0020.0002.0BF7] # TAMIL CREDIT SIGN
+0BF8 ; [*04A4.0020.0002.0BF8] # TAMIL AS ABOVE SIGN
+0BFA ; [*04A5.0020.0002.0BFA] # TAMIL NUMBER SIGN
+0C7F ; [*04A6.0020.0002.0C7F] # TELUGU SIGN TUUMU
+0D70 ; [*14D4.0020.0002.0D70] # MALAYALAM NUMBER TEN
+0D71 ; [*14D5.0020.0002.0D71] # MALAYALAM NUMBER ONE HUNDRED
+0D72 ; [*14D6.0020.0002.0D72] # MALAYALAM NUMBER ONE THOUSAND
+0D73 ; [*14D7.0020.0002.0D73] # MALAYALAM FRACTION ONE QUARTER
+0D74 ; [*14D8.0020.0002.0D74] # MALAYALAM FRACTION ONE HALF
+0D75 ; [*14D9.0020.0002.0D75] # MALAYALAM FRACTION THREE QUARTERS
+0D79 ; [*04A7.0020.0002.0D79] # MALAYALAM DATE MARK
+0DF4 ; [*03BC.0020.0002.0DF4] # SINHALA PUNCTUATION KUNDDALIYA
+0E4F ; [*03BD.0020.0002.0E4F] # THAI CHARACTER FONGMAN
+0E5A ; [*03BE.0020.0002.0E5A] # THAI CHARACTER ANGKHANKHU
+0E5B ; [*03BF.0020.0002.0E5B] # THAI CHARACTER KHOMUT
+0F01 ; [*04AF.0020.0002.0F01] # TIBETAN MARK GTER YIG MGO TRUNCATED A
+0F02 ; [*04B0.0020.0002.0F02] # TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
+0F03 ; [*04B1.0020.0002.0F03] # TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
+0F04 ; [*03C2.0020.0002.0F04] # TIBETAN MARK INITIAL YIG MGO MDUN MA
+0F05 ; [*03C3.0020.0002.0F05] # TIBETAN MARK CLOSING YIG MGO SGAB MA
+0F06 ; [*03C4.0020.0002.0F06] # TIBETAN MARK CARET YIG MGO PHUR SHAD MA
+0F07 ; [*03C5.0020.0002.0F07] # TIBETAN MARK YIG MGO TSHEG SHAD MA
+0F08 ; [*03C6.0020.0002.0F08] # TIBETAN MARK SBRUL SHAD
+0F09 ; [*03C7.0020.0002.0F09] # TIBETAN MARK BSKUR YIG MGO
+0F0A ; [*03C8.0020.0002.0F0A] # TIBETAN MARK BKA- SHOG YIG MGO
+0F0B ; [*03CB.0020.0002.0F0B] # TIBETAN MARK INTERSYLLABIC TSHEG
+0F0C ; [*03CB.0020.001B.0F0C] # TIBETAN MARK DELIMITER TSHEG BSTAR
+0F0D ; [*03CC.0020.0002.0F0D] # TIBETAN MARK SHAD
+0F0E ; [*03CD.0020.0002.0F0E] # TIBETAN MARK NYIS SHAD
+0F0F ; [*03CE.0020.0002.0F0F] # TIBETAN MARK TSHEG SHAD
+0F10 ; [*03CF.0020.0002.0F10] # TIBETAN MARK NYIS TSHEG SHAD
+0F11 ; [*03D0.0020.0002.0F11] # TIBETAN MARK RIN CHEN SPUNGS SHAD
+0F12 ; [*03D1.0020.0002.0F12] # TIBETAN MARK RGYA GRAM SHAD
+0F13 ; [*04B2.0020.0002.0F13] # TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
+0F14 ; [*0256.0020.0002.0F14] # TIBETAN MARK GTER TSHEG
+0F15 ; [*04B3.0020.0002.0F15] # TIBETAN LOGOTYPE SIGN CHAD RTAGS
+0F16 ; [*04B4.0020.0002.0F16] # TIBETAN LOGOTYPE SIGN LHAG RTAGS
+0F17 ; [*04B5.0020.0002.0F17] # TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
0F18 ; [.0000.0000.0000.0F18] # TIBETAN ASTROLOGICAL SIGN -KHYUD PA
0F19 ; [.0000.0000.0000.0F19] # TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F1A ; [*0489.0020.0002.0F1A] # TIBETAN SIGN RDEL DKAR GCIG
-0F1B ; [*048A.0020.0002.0F1B] # TIBETAN SIGN RDEL DKAR GNYIS
-0F1C ; [*048B.0020.0002.0F1C] # TIBETAN SIGN RDEL DKAR GSUM
-0F1D ; [*048C.0020.0002.0F1D] # TIBETAN SIGN RDEL NAG GCIG
-0F1E ; [*048D.0020.0002.0F1E] # TIBETAN SIGN RDEL NAG GNYIS
-0F1F ; [*048E.0020.0002.0F1F] # TIBETAN SIGN RDEL DKAR RDEL NAG
-0F34 ; [*048F.0020.0002.0F34] # TIBETAN MARK BSDUS RTAGS
+0F1A ; [*04B6.0020.0002.0F1A] # TIBETAN SIGN RDEL DKAR GCIG
+0F1B ; [*04B7.0020.0002.0F1B] # TIBETAN SIGN RDEL DKAR GNYIS
+0F1C ; [*04B8.0020.0002.0F1C] # TIBETAN SIGN RDEL DKAR GSUM
+0F1D ; [*04B9.0020.0002.0F1D] # TIBETAN SIGN RDEL NAG GCIG
+0F1E ; [*04BA.0020.0002.0F1E] # TIBETAN SIGN RDEL NAG GNYIS
+0F1F ; [*04BB.0020.0002.0F1F] # TIBETAN SIGN RDEL DKAR RDEL NAG
+0F34 ; [*04BC.0020.0002.0F34] # TIBETAN MARK BSDUS RTAGS
0F35 ; [.0000.0000.0000.0F35] # TIBETAN MARK NGAS BZUNG NYI ZLA
-0F36 ; [*0490.0020.0002.0F36] # TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
+0F36 ; [*04BD.0020.0002.0F36] # TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
0F37 ; [.0000.0000.0000.0F37] # TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F38 ; [*0491.0020.0002.0F38] # TIBETAN MARK CHE MGO
-0F3A ; [*0314.0020.0002.0F3A] # TIBETAN MARK GUG RTAGS GYON
-0F3B ; [*0315.0020.0002.0F3B] # TIBETAN MARK GUG RTAGS GYAS
-0F3C ; [*0316.0020.0002.0F3C] # TIBETAN MARK ANG KHANG GYON
-0F3D ; [*0317.0020.0002.0F3D] # TIBETAN MARK ANG KHANG GYAS
-0F3E ; [*0492.0020.0002.0F3E] # TIBETAN SIGN YAR TSHES
-0F3F ; [*0493.0020.0002.0F3F] # TIBETAN SIGN MAR TSHES
+0F38 ; [*04BE.0020.0002.0F38] # TIBETAN MARK CHE MGO
+0F3A ; [*0301.0020.0002.0F3A] # TIBETAN MARK GUG RTAGS GYON
+0F3B ; [*0302.0020.0002.0F3B] # TIBETAN MARK GUG RTAGS GYAS
+0F3C ; [*0303.0020.0002.0F3C] # TIBETAN MARK ANG KHANG GYON
+0F3D ; [*0304.0020.0002.0F3D] # TIBETAN MARK ANG KHANG GYAS
+0F3E ; [.0000.0000.0000.0F3E] # TIBETAN SIGN YAR TSHES
+0F3F ; [.0000.0000.0000.0F3F] # TIBETAN SIGN MAR TSHES
0F82 ; [.0000.0000.0000.0F82] # TIBETAN SIGN NYI ZLA NAA DA
0F83 ; [.0000.0000.0000.0F83] # TIBETAN SIGN SNA LDAN
-0F85 ; [*03C9.0020.0002.0F85] # TIBETAN MARK PALUTA
+0F85 ; [*03D2.0020.0002.0F85] # TIBETAN MARK PALUTA
0F86 ; [.0000.0000.0000.0F86] # TIBETAN SIGN LCI RTAGS
0F87 ; [.0000.0000.0000.0F87] # TIBETAN SIGN YANG RTAGS
-0FBE ; [*0494.0020.0002.0FBE] # TIBETAN KU RU KHA
-0FBF ; [*0495.0020.0002.0FBF] # TIBETAN KU RU KHA BZHI MIG CAN
-0FC0 ; [*0496.0020.0002.0FC0] # TIBETAN CANTILLATION SIGN HEAVY BEAT
-0FC1 ; [*0497.0020.0002.0FC1] # TIBETAN CANTILLATION SIGN LIGHT BEAT
-0FC2 ; [*0498.0020.0002.0FC2] # TIBETAN CANTILLATION SIGN CANG TE-U
-0FC3 ; [*0499.0020.0002.0FC3] # TIBETAN CANTILLATION SIGN SBUB -CHAL
-0FC4 ; [*049A.0020.0002.0FC4] # TIBETAN SYMBOL DRIL BU
-0FC5 ; [*049B.0020.0002.0FC5] # TIBETAN SYMBOL RDO RJE
+0FBE ; [*04BF.0020.0002.0FBE] # TIBETAN KU RU KHA
+0FBF ; [*04C0.0020.0002.0FBF] # TIBETAN KU RU KHA BZHI MIG CAN
+0FC0 ; [*04C1.0020.0002.0FC0] # TIBETAN CANTILLATION SIGN HEAVY BEAT
+0FC1 ; [*04C2.0020.0002.0FC1] # TIBETAN CANTILLATION SIGN LIGHT BEAT
+0FC2 ; [*04C3.0020.0002.0FC2] # TIBETAN CANTILLATION SIGN CANG TE-U
+0FC3 ; [*04C4.0020.0002.0FC3] # TIBETAN CANTILLATION SIGN SBUB -CHAL
+0FC4 ; [*04C5.0020.0002.0FC4] # TIBETAN SYMBOL DRIL BU
+0FC5 ; [*04C6.0020.0002.0FC5] # TIBETAN SYMBOL RDO RJE
0FC6 ; [.0000.0000.0000.0FC6] # TIBETAN SYMBOL PADMA GDAN
-0FC7 ; [*049C.0020.0002.0FC7] # TIBETAN SYMBOL RDO RJE RGYA GRAM
-0FC8 ; [*049D.0020.0002.0FC8] # TIBETAN SYMBOL PHUR PA
-0FC9 ; [*049E.0020.0002.0FC9] # TIBETAN SYMBOL NOR BU
-0FCA ; [*049F.0020.0002.0FCA] # TIBETAN SYMBOL NOR BU NYIS -KHYIL
-0FCB ; [*04A0.0020.0002.0FCB] # TIBETAN SYMBOL NOR BU GSUM -KHYIL
-0FCC ; [*04A1.0020.0002.0FCC] # TIBETAN SYMBOL NOR BU BZHI -KHYIL
-0FCE ; [*04A2.0020.0002.0FCE] # TIBETAN SIGN RDEL NAG RDEL DKAR
-0FCF ; [*04A3.0020.0002.0FCF] # TIBETAN SIGN RDEL NAG GSUM
-0FD0 ; [*03C0.0020.0002.0FD0] # TIBETAN MARK BSKA- SHOG GI MGO RGYAN
-0FD1 ; [*03C1.0020.0002.0FD1] # TIBETAN MARK MNYAM YIG GI MGO RGYAN
-0FD2 ; [*03CA.0020.0002.0FD2] # TIBETAN MARK NYIS TSHEG
-0FD3 ; [*03CB.0020.0002.0FD3] # TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA
-0FD4 ; [*03CC.0020.0002.0FD4] # TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
-0FD5 ; [*04A4.0020.0002.0FD5] # RIGHT-FACING SVASTI SIGN
-0FD6 ; [*04A5.0020.0002.0FD6] # LEFT-FACING SVASTI SIGN
-0FD7 ; [*04A6.0020.0002.0FD7] # RIGHT-FACING SVASTI SIGN WITH DOTS
-0FD8 ; [*04A7.0020.0002.0FD8] # LEFT-FACING SVASTI SIGN WITH DOTS
-0FD9 ; [*03CD.0020.0002.0FD9] # TIBETAN MARK LEADING MCHAN RTAGS
-0FDA ; [*03CE.0020.0002.0FDA] # TIBETAN MARK TRAILING MCHAN RTAGS
-104A ; [*02AC.0020.0002.104A] # MYANMAR SIGN LITTLE SECTION
-104B ; [*02AD.0020.0002.104B] # MYANMAR SIGN SECTION
-104C ; [*03D3.0020.0002.104C] # MYANMAR SYMBOL LOCATIVE
-104D ; [*03D4.0020.0002.104D] # MYANMAR SYMBOL COMPLETED
-104E ; [*03D5.0020.0002.104E] # MYANMAR SYMBOL AFOREMENTIONED
-104F ; [*03D6.0020.0002.104F] # MYANMAR SYMBOL GENITIVE
-109E ; [*03D7.0020.0002.109E] # MYANMAR SYMBOL SHAN ONE
-109F ; [*03D8.0020.0002.109F] # MYANMAR SYMBOL SHAN EXCLAMATION
-10FB ; [*02C6.0020.0002.10FB] # GEORGIAN PARAGRAPH SEPARATOR
-1360 ; [*02C7.0020.0002.1360] # ETHIOPIC SECTION MARK
-1361 ; [*026C.0020.0002.1361] # ETHIOPIC WORDSPACE
-1362 ; [*0293.0020.0002.1362] # ETHIOPIC FULL STOP
-1363 ; [*026D.0020.0002.1363] # ETHIOPIC COMMA
-1364 ; [*026E.0020.0002.1364] # ETHIOPIC SEMICOLON
-1365 ; [*026F.0020.0002.1365] # ETHIOPIC COLON
-1366 ; [*0270.0020.0002.1366] # ETHIOPIC PREFACE COLON
-1367 ; [*0286.0020.0002.1367] # ETHIOPIC QUESTION MARK
-1368 ; [*02C8.0020.0002.1368] # ETHIOPIC PARAGRAPH SEPARATOR
-1372 ; [*14AD.0020.0002.1372] # ETHIOPIC NUMBER TEN
-1373 ; [*14AE.0020.0002.1373] # ETHIOPIC NUMBER TWENTY
-1374 ; [*14AF.0020.0002.1374] # ETHIOPIC NUMBER THIRTY
-1375 ; [*14B0.0020.0002.1375] # ETHIOPIC NUMBER FORTY
-1376 ; [*14B1.0020.0002.1376] # ETHIOPIC NUMBER FIFTY
-1377 ; [*14B2.0020.0002.1377] # ETHIOPIC NUMBER SIXTY
-1378 ; [*14B3.0020.0002.1378] # ETHIOPIC NUMBER SEVENTY
-1379 ; [*14B4.0020.0002.1379] # ETHIOPIC NUMBER EIGHTY
-137A ; [*14B5.0020.0002.137A] # ETHIOPIC NUMBER NINETY
-137B ; [*14B6.0020.0002.137B] # ETHIOPIC NUMBER HUNDRED
-137C ; [*14B7.0020.0002.137C] # ETHIOPIC NUMBER TEN THOUSAND
-1390 ; [*0437.0020.0002.1390] # ETHIOPIC TONAL MARK YIZET
-1391 ; [*0438.0020.0002.1391] # ETHIOPIC TONAL MARK DERET
-1392 ; [*0439.0020.0002.1392] # ETHIOPIC TONAL MARK RIKRIK
-1393 ; [*043A.0020.0002.1393] # ETHIOPIC TONAL MARK SHORT RIKRIK
-1394 ; [*043B.0020.0002.1394] # ETHIOPIC TONAL MARK DIFAT
-1395 ; [*043C.0020.0002.1395] # ETHIOPIC TONAL MARK KENAT
-1396 ; [*043D.0020.0002.1396] # ETHIOPIC TONAL MARK CHIRET
-1397 ; [*043E.0020.0002.1397] # ETHIOPIC TONAL MARK HIDET
-1398 ; [*043F.0020.0002.1398] # ETHIOPIC TONAL MARK DERET-HIDET
-1399 ; [*0440.0020.0002.1399] # ETHIOPIC TONAL MARK KURT
-1400 ; [*0232.0020.0002.1400] # CANADIAN SYLLABICS HYPHEN
-166D ; [*03E9.0020.0002.166D] # CANADIAN SYLLABICS CHI SIGN
-166E ; [*0296.0020.0002.166E] # CANADIAN SYLLABICS FULL STOP
-1680 ; [*020B.0020.0002.1680] # OGHAM SPACE MARK
-169B ; [*0318.0020.0002.169B] # OGHAM FEATHER MARK
-169C ; [*0319.0020.0002.169C] # OGHAM REVERSED FEATHER MARK
-16EB ; [*0277.0020.0002.16EB] # RUNIC SINGLE PUNCTUATION
-16EC ; [*0278.0020.0002.16EC] # RUNIC MULTIPLE PUNCTUATION
-16ED ; [*0279.0020.0002.16ED] # RUNIC CROSS PUNCTUATION
-1735 ; [*02A9.0020.0002.1735] # PHILIPPINE SINGLE PUNCTUATION
-1736 ; [*02AA.0020.0002.1736] # PHILIPPINE DOUBLE PUNCTUATION
+0FC7 ; [*04C7.0020.0002.0FC7] # TIBETAN SYMBOL RDO RJE RGYA GRAM
+0FC8 ; [*04C8.0020.0002.0FC8] # TIBETAN SYMBOL PHUR PA
+0FC9 ; [*04C9.0020.0002.0FC9] # TIBETAN SYMBOL NOR BU
+0FCA ; [*04CA.0020.0002.0FCA] # TIBETAN SYMBOL NOR BU NYIS -KHYIL
+0FCB ; [*04CB.0020.0002.0FCB] # TIBETAN SYMBOL NOR BU GSUM -KHYIL
+0FCC ; [*04CC.0020.0002.0FCC] # TIBETAN SYMBOL NOR BU BZHI -KHYIL
+0FCE ; [*04CD.0020.0002.0FCE] # TIBETAN SIGN RDEL NAG RDEL DKAR
+0FCF ; [*04CE.0020.0002.0FCF] # TIBETAN SIGN RDEL NAG GSUM
+0FD0 ; [*03C9.0020.0002.0FD0] # TIBETAN MARK BSKA- SHOG GI MGO RGYAN
+0FD1 ; [*03CA.0020.0002.0FD1] # TIBETAN MARK MNYAM YIG GI MGO RGYAN
+0FD2 ; [*03D3.0020.0002.0FD2] # TIBETAN MARK NYIS TSHEG
+0FD3 ; [*03D4.0020.0002.0FD3] # TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA
+0FD4 ; [*03D5.0020.0002.0FD4] # TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
+0FD5 ; [*04CF.0020.0002.0FD5] # RIGHT-FACING SVASTI SIGN
+0FD6 ; [*04D0.0020.0002.0FD6] # LEFT-FACING SVASTI SIGN
+0FD7 ; [*04D1.0020.0002.0FD7] # RIGHT-FACING SVASTI SIGN WITH DOTS
+0FD8 ; [*04D2.0020.0002.0FD8] # LEFT-FACING SVASTI SIGN WITH DOTS
+0FD9 ; [*03D6.0020.0002.0FD9] # TIBETAN MARK LEADING MCHAN RTAGS
+0FDA ; [*03D7.0020.0002.0FDA] # TIBETAN MARK TRAILING MCHAN RTAGS
+104A ; [*0292.0020.0002.104A] # MYANMAR SIGN LITTLE SECTION
+104B ; [*0293.0020.0002.104B] # MYANMAR SIGN SECTION
+104C ; [*03DB.0020.0002.104C] # MYANMAR SYMBOL LOCATIVE
+104D ; [*03DC.0020.0002.104D] # MYANMAR SYMBOL COMPLETED
+104E ; [*03DD.0020.0002.104E] # MYANMAR SYMBOL AFOREMENTIONED
+104F ; [*03DE.0020.0002.104F] # MYANMAR SYMBOL GENITIVE
+109E ; [*04D4.0020.0002.109E] # MYANMAR SYMBOL SHAN ONE
+109F ; [*04D5.0020.0002.109F] # MYANMAR SYMBOL SHAN EXCLAMATION
+10FB ; [*02B1.0020.0002.10FB] # GEORGIAN PARAGRAPH SEPARATOR
+1360 ; [*02B2.0020.0002.1360] # ETHIOPIC SECTION MARK
+1361 ; [*024F.0020.0002.1361] # ETHIOPIC WORDSPACE
+1362 ; [*0278.0020.0002.1362] # ETHIOPIC FULL STOP
+1363 ; [*0250.0020.0002.1363] # ETHIOPIC COMMA
+1364 ; [*0251.0020.0002.1364] # ETHIOPIC SEMICOLON
+1365 ; [*0252.0020.0002.1365] # ETHIOPIC COLON
+1366 ; [*0253.0020.0002.1366] # ETHIOPIC PREFACE COLON
+1367 ; [*0269.0020.0002.1367] # ETHIOPIC QUESTION MARK
+1368 ; [*02B3.0020.0002.1368] # ETHIOPIC PARAGRAPH SEPARATOR
+1372 ; [*14DA.0020.0002.1372] # ETHIOPIC NUMBER TEN
+1373 ; [*14DB.0020.0002.1373] # ETHIOPIC NUMBER TWENTY
+1374 ; [*14DC.0020.0002.1374] # ETHIOPIC NUMBER THIRTY
+1375 ; [*14DD.0020.0002.1375] # ETHIOPIC NUMBER FORTY
+1376 ; [*14DE.0020.0002.1376] # ETHIOPIC NUMBER FIFTY
+1377 ; [*14DF.0020.0002.1377] # ETHIOPIC NUMBER SIXTY
+1378 ; [*14E0.0020.0002.1378] # ETHIOPIC NUMBER SEVENTY
+1379 ; [*14E1.0020.0002.1379] # ETHIOPIC NUMBER EIGHTY
+137A ; [*14E2.0020.0002.137A] # ETHIOPIC NUMBER NINETY
+137B ; [*14E3.0020.0002.137B] # ETHIOPIC NUMBER HUNDRED
+137C ; [*14E4.0020.0002.137C] # ETHIOPIC NUMBER TEN THOUSAND
+1390 ; [*0453.0020.0002.1390] # ETHIOPIC TONAL MARK YIZET
+1391 ; [*0454.0020.0002.1391] # ETHIOPIC TONAL MARK DERET
+1392 ; [*0455.0020.0002.1392] # ETHIOPIC TONAL MARK RIKRIK
+1393 ; [*0456.0020.0002.1393] # ETHIOPIC TONAL MARK SHORT RIKRIK
+1394 ; [*0457.0020.0002.1394] # ETHIOPIC TONAL MARK DIFAT
+1395 ; [*0458.0020.0002.1395] # ETHIOPIC TONAL MARK KENAT
+1396 ; [*0459.0020.0002.1396] # ETHIOPIC TONAL MARK CHIRET
+1397 ; [*045A.0020.0002.1397] # ETHIOPIC TONAL MARK HIDET
+1398 ; [*045B.0020.0002.1398] # ETHIOPIC TONAL MARK DERET-HIDET
+1399 ; [*045C.0020.0002.1399] # ETHIOPIC TONAL MARK KURT
+1400 ; [*0210.0020.0002.1400] # CANADIAN SYLLABICS HYPHEN
+166D ; [*03EB.0020.0002.166D] # CANADIAN SYLLABICS CHI SIGN
+166E ; [*027B.0020.0002.166E] # CANADIAN SYLLABICS FULL STOP
+1680 ; [*020A.0020.0004.1680] # OGHAM SPACE MARK
+169B ; [*0305.0020.0002.169B] # OGHAM FEATHER MARK
+169C ; [*0306.0020.0002.169C] # OGHAM REVERSED FEATHER MARK
+16EB ; [*025A.0020.0002.16EB] # RUNIC SINGLE PUNCTUATION
+16EC ; [*025B.0020.0002.16EC] # RUNIC MULTIPLE PUNCTUATION
+16ED ; [*025C.0020.0002.16ED] # RUNIC CROSS PUNCTUATION
+1735 ; [*028F.0020.0002.1735] # PHILIPPINE SINGLE PUNCTUATION
+1736 ; [*0290.0020.0002.1736] # PHILIPPINE DOUBLE PUNCTUATION
+17B4 ; [.0000.0000.0000.17B4] # KHMER VOWEL INHERENT AQ
+17B5 ; [.0000.0000.0000.17B5] # KHMER VOWEL INHERENT AA
17D3 ; [.0000.0000.0000.17D3] # KHMER SIGN BATHAMASAT
-17D4 ; [*02AE.0020.0002.17D4] # KHMER SIGN KHAN
-17D5 ; [*02AF.0020.0002.17D5] # KHMER SIGN BARIYOOSAN
-17D6 ; [*0274.0020.0002.17D6] # KHMER SIGN CAMNUC PII KUUH
-17D7 ; [*03DC.0020.0002.17D7] # KHMER SIGN LEK TOO
-17D8 ; [*03DD.0020.0002.17D8] # KHMER SIGN BEYYAL
-17D9 ; [*03DE.0020.0002.17D9] # KHMER SIGN PHNAEK MUAN
-17DA ; [*03DF.0020.0002.17DA] # KHMER SIGN KOOMUUT
-1800 ; [*03AF.0020.0002.1800] # MONGOLIAN BIRGA
-1801 ; [*028F.0020.0002.1801] # MONGOLIAN ELLIPSIS
-1802 ; [*0248.0020.0002.1802] # MONGOLIAN COMMA
-1803 ; [*0294.0020.0002.1803] # MONGOLIAN FULL STOP
-1804 ; [*0271.0020.0002.1804] # MONGOLIAN COLON
-1805 ; [*0272.0020.0002.1805] # MONGOLIAN FOUR DOTS
-1806 ; [*0234.0020.0002.1806] # MONGOLIAN TODO SOFT HYPHEN
-1807 ; [*0235.0020.0002.1807] # MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER
-1808 ; [*0249.0020.0002.1808] # MONGOLIAN MANCHU COMMA
-1809 ; [*0295.0020.0002.1809] # MONGOLIAN MANCHU FULL STOP
+17D4 ; [*0294.0020.0002.17D4] # KHMER SIGN KHAN
+17D5 ; [*0295.0020.0002.17D5] # KHMER SIGN BARIYOOSAN
+17D6 ; [*0257.0020.0002.17D6] # KHMER SIGN CAMNUC PII KUUH
+17D8 ; [*03DF.0020.0002.17D8] # KHMER SIGN BEYYAL
+17D9 ; [*03E0.0020.0002.17D9] # KHMER SIGN PHNAEK MUAN
+17DA ; [*03E1.0020.0002.17DA] # KHMER SIGN KOOMUUT
+1800 ; [*03B6.0020.0002.1800] # MONGOLIAN BIRGA
+1801 ; [*0274.0020.0002.1801] # MONGOLIAN ELLIPSIS
+1802 ; [*022A.0020.0002.1802] # MONGOLIAN COMMA
+1803 ; [*0279.0020.0002.1803] # MONGOLIAN FULL STOP
+1804 ; [*0254.0020.0002.1804] # MONGOLIAN COLON
+1805 ; [*0255.0020.0002.1805] # MONGOLIAN FOUR DOTS
+1806 ; [*0212.0020.0002.1806] # MONGOLIAN TODO SOFT HYPHEN
+1807 ; [*0213.0020.0002.1807] # MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER
+1808 ; [*022B.0020.0002.1808] # MONGOLIAN MANCHU COMMA
+1809 ; [*027A.0020.0002.1809] # MONGOLIAN MANCHU FULL STOP
180A ; [.0000.0000.0000.180A] # MONGOLIAN NIRUGU
180E ; [*0207.0020.0002.180E] # MONGOLIAN VOWEL SEPARATOR
-1940 ; [*03D2.0020.0002.1940] # LIMBU SIGN LOO
-1944 ; [*027F.0020.0002.1944] # LIMBU EXCLAMATION MARK
-1945 ; [*0287.0020.0002.1945] # LIMBU QUESTION MARK
-19E0 ; [*04A8.0020.0002.19E0] # KHMER SYMBOL PATHAMASAT
-19E1 ; [*04A9.0020.0002.19E1] # KHMER SYMBOL MUOY KOET
-19E2 ; [*04AA.0020.0002.19E2] # KHMER SYMBOL PII KOET
-19E3 ; [*04AB.0020.0002.19E3] # KHMER SYMBOL BEI KOET
-19E4 ; [*04AC.0020.0002.19E4] # KHMER SYMBOL BUON KOET
-19E5 ; [*04AD.0020.0002.19E5] # KHMER SYMBOL PRAM KOET
-19E6 ; [*04AE.0020.0002.19E6] # KHMER SYMBOL PRAM-MUOY KOET
-19E7 ; [*04AF.0020.0002.19E7] # KHMER SYMBOL PRAM-PII KOET
-19E8 ; [*04B0.0020.0002.19E8] # KHMER SYMBOL PRAM-BEI KOET
-19E9 ; [*04B1.0020.0002.19E9] # KHMER SYMBOL PRAM-BUON KOET
-19EA ; [*04B2.0020.0002.19EA] # KHMER SYMBOL DAP KOET
-19EB ; [*04B3.0020.0002.19EB] # KHMER SYMBOL DAP-MUOY KOET
-19EC ; [*04B4.0020.0002.19EC] # KHMER SYMBOL DAP-PII KOET
-19ED ; [*04B5.0020.0002.19ED] # KHMER SYMBOL DAP-BEI KOET
-19EE ; [*04B6.0020.0002.19EE] # KHMER SYMBOL DAP-BUON KOET
-19EF ; [*04B7.0020.0002.19EF] # KHMER SYMBOL DAP-PRAM KOET
-19F0 ; [*04B8.0020.0002.19F0] # KHMER SYMBOL TUTEYASAT
-19F1 ; [*04B9.0020.0002.19F1] # KHMER SYMBOL MUOY ROC
-19F2 ; [*04BA.0020.0002.19F2] # KHMER SYMBOL PII ROC
-19F3 ; [*04BB.0020.0002.19F3] # KHMER SYMBOL BEI ROC
-19F4 ; [*04BC.0020.0002.19F4] # KHMER SYMBOL BUON ROC
-19F5 ; [*04BD.0020.0002.19F5] # KHMER SYMBOL PRAM ROC
-19F6 ; [*04BE.0020.0002.19F6] # KHMER SYMBOL PRAM-MUOY ROC
-19F7 ; [*04BF.0020.0002.19F7] # KHMER SYMBOL PRAM-PII ROC
-19F8 ; [*04C0.0020.0002.19F8] # KHMER SYMBOL PRAM-BEI ROC
-19F9 ; [*04C1.0020.0002.19F9] # KHMER SYMBOL PRAM-BUON ROC
-19FA ; [*04C2.0020.0002.19FA] # KHMER SYMBOL DAP ROC
-19FB ; [*04C3.0020.0002.19FB] # KHMER SYMBOL DAP-MUOY ROC
-19FC ; [*04C4.0020.0002.19FC] # KHMER SYMBOL DAP-PII ROC
-19FD ; [*04C5.0020.0002.19FD] # KHMER SYMBOL DAP-BEI ROC
-19FE ; [*04C6.0020.0002.19FE] # KHMER SYMBOL DAP-BUON ROC
-19FF ; [*04C7.0020.0002.19FF] # KHMER SYMBOL DAP-PRAM ROC
-1A1E ; [*02C9.0020.0002.1A1E] # BUGINESE PALLAWA
-1A1F ; [*02CA.0020.0002.1A1F] # BUGINESE END OF SECTION
+1940 ; [*04D3.0020.0002.1940] # LIMBU SIGN LOO
+1944 ; [*0262.0020.0002.1944] # LIMBU EXCLAMATION MARK
+1945 ; [*026A.0020.0002.1945] # LIMBU QUESTION MARK
+19E0 ; [*04D9.0020.0002.19E0] # KHMER SYMBOL PATHAMASAT
+19E1 ; [*04DA.0020.0002.19E1] # KHMER SYMBOL MUOY KOET
+19E2 ; [*04DB.0020.0002.19E2] # KHMER SYMBOL PII KOET
+19E3 ; [*04DC.0020.0002.19E3] # KHMER SYMBOL BEI KOET
+19E4 ; [*04DD.0020.0002.19E4] # KHMER SYMBOL BUON KOET
+19E5 ; [*04DE.0020.0002.19E5] # KHMER SYMBOL PRAM KOET
+19E6 ; [*04DF.0020.0002.19E6] # KHMER SYMBOL PRAM-MUOY KOET
+19E7 ; [*04E0.0020.0002.19E7] # KHMER SYMBOL PRAM-PII KOET
+19E8 ; [*04E1.0020.0002.19E8] # KHMER SYMBOL PRAM-BEI KOET
+19E9 ; [*04E2.0020.0002.19E9] # KHMER SYMBOL PRAM-BUON KOET
+19EA ; [*04E3.0020.0002.19EA] # KHMER SYMBOL DAP KOET
+19EB ; [*04E4.0020.0002.19EB] # KHMER SYMBOL DAP-MUOY KOET
+19EC ; [*04E5.0020.0002.19EC] # KHMER SYMBOL DAP-PII KOET
+19ED ; [*04E6.0020.0002.19ED] # KHMER SYMBOL DAP-BEI KOET
+19EE ; [*04E7.0020.0002.19EE] # KHMER SYMBOL DAP-BUON KOET
+19EF ; [*04E8.0020.0002.19EF] # KHMER SYMBOL DAP-PRAM KOET
+19F0 ; [*04E9.0020.0002.19F0] # KHMER SYMBOL TUTEYASAT
+19F1 ; [*04EA.0020.0002.19F1] # KHMER SYMBOL MUOY ROC
+19F2 ; [*04EB.0020.0002.19F2] # KHMER SYMBOL PII ROC
+19F3 ; [*04EC.0020.0002.19F3] # KHMER SYMBOL BEI ROC
+19F4 ; [*04ED.0020.0002.19F4] # KHMER SYMBOL BUON ROC
+19F5 ; [*04EE.0020.0002.19F5] # KHMER SYMBOL PRAM ROC
+19F6 ; [*04EF.0020.0002.19F6] # KHMER SYMBOL PRAM-MUOY ROC
+19F7 ; [*04F0.0020.0002.19F7] # KHMER SYMBOL PRAM-PII ROC
+19F8 ; [*04F1.0020.0002.19F8] # KHMER SYMBOL PRAM-BEI ROC
+19F9 ; [*04F2.0020.0002.19F9] # KHMER SYMBOL PRAM-BUON ROC
+19FA ; [*04F3.0020.0002.19FA] # KHMER SYMBOL DAP ROC
+19FB ; [*04F4.0020.0002.19FB] # KHMER SYMBOL DAP-MUOY ROC
+19FC ; [*04F5.0020.0002.19FC] # KHMER SYMBOL DAP-PII ROC
+19FD ; [*04F6.0020.0002.19FD] # KHMER SYMBOL DAP-BEI ROC
+19FE ; [*04F7.0020.0002.19FE] # KHMER SYMBOL DAP-BUON ROC
+19FF ; [*04F8.0020.0002.19FF] # KHMER SYMBOL DAP-PRAM ROC
+1A1E ; [*02B4.0020.0002.1A1E] # BUGINESE PALLAWA
+1A1F ; [*02B5.0020.0002.1A1F] # BUGINESE END OF SECTION
1A7F ; [.0000.0000.0000.1A7F] # TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1AA0 ; [*03E0.0020.0002.1AA0] # TAI THAM SIGN WIANG
-1AA1 ; [*03E1.0020.0002.1AA1] # TAI THAM SIGN WIANGWAAK
-1AA2 ; [*03E2.0020.0002.1AA2] # TAI THAM SIGN SAWAN
-1AA3 ; [*03E3.0020.0002.1AA3] # TAI THAM SIGN KEOW
-1AA4 ; [*03E4.0020.0002.1AA4] # TAI THAM SIGN HOY
-1AA5 ; [*03E5.0020.0002.1AA5] # TAI THAM SIGN DOKMAI
-1AA6 ; [*03E6.0020.0002.1AA6] # TAI THAM SIGN REVERSED ROTATED RANA
-1AA8 ; [*02B0.0020.0002.1AA8] # TAI THAM SIGN KAAN
-1AA9 ; [*02B1.0020.0002.1AA9] # TAI THAM SIGN KAANKUU
-1AAA ; [*02B2.0020.0002.1AAA] # TAI THAM SIGN SATKAAN
-1AAB ; [*02B3.0020.0002.1AAB] # TAI THAM SIGN SATKAANKUU
-1AAC ; [*03E7.0020.0002.1AAC] # TAI THAM SIGN HANG
-1AAD ; [*03E8.0020.0002.1AAD] # TAI THAM SIGN CAANG
-1B5A ; [*02CB.0020.0002.1B5A] # BALINESE PANTI
-1B5B ; [*02CC.0020.0002.1B5B] # BALINESE PAMADA
-1B5C ; [*0297.0020.0002.1B5C] # BALINESE WINDU
-1B5D ; [*0275.0020.0002.1B5D] # BALINESE CARIK PAMUNGKAH
-1B5E ; [*02B4.0020.0002.1B5E] # BALINESE CARIK SIKI
-1B5F ; [*02B5.0020.0002.1B5F] # BALINESE CARIK PAREREN
-1B60 ; [*0233.0020.0002.1B60] # BALINESE PAMENENG
-1B61 ; [*04C8.0020.0002.1B61] # BALINESE MUSICAL SYMBOL DONG
-1B62 ; [*04C9.0020.0002.1B62] # BALINESE MUSICAL SYMBOL DENG
-1B63 ; [*04CA.0020.0002.1B63] # BALINESE MUSICAL SYMBOL DUNG
-1B64 ; [*04CB.0020.0002.1B64] # BALINESE MUSICAL SYMBOL DANG
-1B65 ; [*04CC.0020.0002.1B65] # BALINESE MUSICAL SYMBOL DANG SURANG
-1B66 ; [*04CD.0020.0002.1B66] # BALINESE MUSICAL SYMBOL DING
-1B67 ; [*04CE.0020.0002.1B67] # BALINESE MUSICAL SYMBOL DAENG
-1B68 ; [*04CF.0020.0002.1B68] # BALINESE MUSICAL SYMBOL DEUNG
-1B69 ; [*04D0.0020.0002.1B69] # BALINESE MUSICAL SYMBOL DAING
-1B6A ; [*04D1.0020.0002.1B6A] # BALINESE MUSICAL SYMBOL DANG GEDE
+1AA0 ; [*03E2.0020.0002.1AA0] # TAI THAM SIGN WIANG
+1AA1 ; [*03E3.0020.0002.1AA1] # TAI THAM SIGN WIANGWAAK
+1AA2 ; [*03E4.0020.0002.1AA2] # TAI THAM SIGN SAWAN
+1AA3 ; [*03E5.0020.0002.1AA3] # TAI THAM SIGN KEOW
+1AA4 ; [*03E6.0020.0002.1AA4] # TAI THAM SIGN HOY
+1AA5 ; [*03E7.0020.0002.1AA5] # TAI THAM SIGN DOKMAI
+1AA6 ; [*03E8.0020.0002.1AA6] # TAI THAM SIGN REVERSED ROTATED RANA
+1AA8 ; [*0296.0020.0002.1AA8] # TAI THAM SIGN KAAN
+1AA9 ; [*0297.0020.0002.1AA9] # TAI THAM SIGN KAANKUU
+1AAA ; [*0298.0020.0002.1AAA] # TAI THAM SIGN SATKAAN
+1AAB ; [*0299.0020.0002.1AAB] # TAI THAM SIGN SATKAANKUU
+1AAC ; [*03E9.0020.0002.1AAC] # TAI THAM SIGN HANG
+1AAD ; [*03EA.0020.0002.1AAD] # TAI THAM SIGN CAANG
+1B5A ; [*02B6.0020.0002.1B5A] # BALINESE PANTI
+1B5B ; [*02B7.0020.0002.1B5B] # BALINESE PAMADA
+1B5C ; [*027C.0020.0002.1B5C] # BALINESE WINDU
+1B5D ; [*0258.0020.0002.1B5D] # BALINESE CARIK PAMUNGKAH
+1B5E ; [*029A.0020.0002.1B5E] # BALINESE CARIK SIKI
+1B5F ; [*029B.0020.0002.1B5F] # BALINESE CARIK PAREREN
+1B60 ; [*0211.0020.0002.1B60] # BALINESE PAMENENG
+1B61 ; [*04F9.0020.0002.1B61] # BALINESE MUSICAL SYMBOL DONG
+1B62 ; [*04FA.0020.0002.1B62] # BALINESE MUSICAL SYMBOL DENG
+1B63 ; [*04FB.0020.0002.1B63] # BALINESE MUSICAL SYMBOL DUNG
+1B64 ; [*04FC.0020.0002.1B64] # BALINESE MUSICAL SYMBOL DANG
+1B65 ; [*04FD.0020.0002.1B65] # BALINESE MUSICAL SYMBOL DANG SURANG
+1B66 ; [*04FE.0020.0002.1B66] # BALINESE MUSICAL SYMBOL DING
+1B67 ; [*04FF.0020.0002.1B67] # BALINESE MUSICAL SYMBOL DAENG
+1B68 ; [*0500.0020.0002.1B68] # BALINESE MUSICAL SYMBOL DEUNG
+1B69 ; [*0501.0020.0002.1B69] # BALINESE MUSICAL SYMBOL DAING
+1B6A ; [*0502.0020.0002.1B6A] # BALINESE MUSICAL SYMBOL DANG GEDE
1B6B ; [.0000.0000.0000.1B6B] # BALINESE MUSICAL SYMBOL COMBINING TEGEH
1B6C ; [.0000.0000.0000.1B6C] # BALINESE MUSICAL SYMBOL COMBINING ENDEP
1B6D ; [.0000.0000.0000.1B6D] # BALINESE MUSICAL SYMBOL COMBINING KEMPUL
@@ -997,26 +1007,34 @@ E01EF ; [.0000.0000.0000.0000] # [E01EF] VARIATION SELECTOR-256
1B71 ; [.0000.0000.0000.1B71] # BALINESE MUSICAL SYMBOL COMBINING KEMPLI WITH JEGOGAN
1B72 ; [.0000.0000.0000.1B72] # BALINESE MUSICAL SYMBOL COMBINING BENDE
1B73 ; [.0000.0000.0000.1B73] # BALINESE MUSICAL SYMBOL COMBINING GONG
-1B74 ; [*04D2.0020.0002.1B74] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG
-1B75 ; [*04D3.0020.0002.1B75] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG
-1B76 ; [*04D4.0020.0002.1B76] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK
-1B77 ; [*04D5.0020.0002.1B77] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK
-1B78 ; [*04D6.0020.0002.1B78] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG
-1B79 ; [*04D7.0020.0002.1B79] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG
-1B7A ; [*04D8.0020.0002.1B7A] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK
-1B7B ; [*04D9.0020.0002.1B7B] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK
-1B7C ; [*04DA.0020.0002.1B7C] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
-1BFC ; [*03ED.0020.0002.1BFC] # BATAK SYMBOL BINDU NA METEK
-1BFD ; [*03EE.0020.0002.1BFD] # BATAK SYMBOL BINDU PINARBORAS
-1BFE ; [*03EF.0020.0002.1BFE] # BATAK SYMBOL BINDU JUDUL
-1BFF ; [*03F0.0020.0002.1BFF] # BATAK SYMBOL BINDU PANGOLAT
-1C3B ; [*02A5.0020.0002.1C3B] # LEPCHA PUNCTUATION TA-ROL
-1C3C ; [*02A6.0020.0002.1C3C] # LEPCHA PUNCTUATION NYET THYOOM TA-ROL
-1C3D ; [*03CF.0020.0002.1C3D] # LEPCHA PUNCTUATION CER-WA
-1C3E ; [*03D0.0020.0002.1C3E] # LEPCHA PUNCTUATION TSHOOK CER-WA
-1C3F ; [*03D1.0020.0002.1C3F] # LEPCHA PUNCTUATION TSHOOK
-1C7E ; [*02C2.0020.0002.1C7E] # OL CHIKI PUNCTUATION MUCAAD
-1C7F ; [*02C3.0020.0002.1C7F] # OL CHIKI PUNCTUATION DOUBLE MUCAAD
+1B74 ; [*0503.0020.0002.1B74] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG
+1B75 ; [*0504.0020.0002.1B75] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG
+1B76 ; [*0505.0020.0002.1B76] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK
+1B77 ; [*0506.0020.0002.1B77] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK
+1B78 ; [*0507.0020.0002.1B78] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG
+1B79 ; [*0508.0020.0002.1B79] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG
+1B7A ; [*0509.0020.0002.1B7A] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK
+1B7B ; [*050A.0020.0002.1B7B] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK
+1B7C ; [*050B.0020.0002.1B7C] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
+1BFC ; [*03F7.0020.0002.1BFC] # BATAK SYMBOL BINDU NA METEK
+1BFD ; [*03F8.0020.0002.1BFD] # BATAK SYMBOL BINDU PINARBORAS
+1BFE ; [*03F9.0020.0002.1BFE] # BATAK SYMBOL BINDU JUDUL
+1BFF ; [*03FA.0020.0002.1BFF] # BATAK SYMBOL BINDU PANGOLAT
+1C3B ; [*028B.0020.0002.1C3B] # LEPCHA PUNCTUATION TA-ROL
+1C3C ; [*028C.0020.0002.1C3C] # LEPCHA PUNCTUATION NYET THYOOM TA-ROL
+1C3D ; [*03D8.0020.0002.1C3D] # LEPCHA PUNCTUATION CER-WA
+1C3E ; [*03D9.0020.0002.1C3E] # LEPCHA PUNCTUATION TSHOOK CER-WA
+1C3F ; [*03DA.0020.0002.1C3F] # LEPCHA PUNCTUATION TSHOOK
+1C7E ; [*02AD.0020.0002.1C7E] # OL CHIKI PUNCTUATION MUCAAD
+1C7F ; [*02AE.0020.0002.1C7F] # OL CHIKI PUNCTUATION DOUBLE MUCAAD
+1CC0 ; [*03EC.0020.0002.1CC0] # SUNDANESE PUNCTUATION BINDU SURYA
+1CC1 ; [*03ED.0020.0002.1CC1] # SUNDANESE PUNCTUATION BINDU PANGLONG
+1CC2 ; [*03EE.0020.0002.1CC2] # SUNDANESE PUNCTUATION BINDU PURNAMA
+1CC3 ; [*03EF.0020.0002.1CC3] # SUNDANESE PUNCTUATION BINDU CAKRA
+1CC4 ; [*03F0.0020.0002.1CC4] # SUNDANESE PUNCTUATION BINDU LEU SATANGA
+1CC5 ; [*03F1.0020.0002.1CC5] # SUNDANESE PUNCTUATION BINDU KA SATANGA
+1CC6 ; [*03F2.0020.0002.1CC6] # SUNDANESE PUNCTUATION BINDU DA SATANGA
+1CC7 ; [*03F3.0020.0002.1CC7] # SUNDANESE PUNCTUATION BINDU BA SATANGA
1CD0 ; [.0000.0000.0000.1CD0] # VEDIC TONE KARSHANA
1CD1 ; [.0000.0000.0000.1CD1] # VEDIC TONE SHARA
1CD2 ; [.0000.0000.0000.1CD2] # VEDIC TONE PRENKHA
@@ -1042,2748 +1060,2760 @@ E01EF ; [.0000.0000.0000.0000] # [E01EF] VARIATION SELECTOR-256
1CE6 ; [.0000.0000.0000.1CE6] # VEDIC SIGN REVERSED VISARGA ANUDATTA
1CE7 ; [.0000.0000.0000.1CE7] # VEDIC SIGN VISARGA UDATTA WITH TAIL
1CE8 ; [.0000.0000.0000.1CE8] # VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-1FBD ; [*0217.0020.0002.1FBD] # GREEK KORONIS; QQC
-1FBF ; [*0217.0020.0002.1FBF] # GREEK PSILI
-1FC0 ; [*021D.0020.0002.1FC0] # GREEK PERISPOMENI
-1FC1 ; [*0214.0020.0002.00A8][.0000.0045.0002.0342] # GREEK DIALYTIKA AND PERISPOMENI; QQCM
-1FCD ; [*0217.0020.0002.1FBF][.0000.0035.0002.0300] # GREEK PSILI AND VARIA; QQCM
-1FCE ; [*0217.0020.0002.1FBF][.0000.0032.0002.0301] # GREEK PSILI AND OXIA; QQCM
-1FCF ; [*0217.0020.0002.1FBF][.0000.0045.0002.0342] # GREEK PSILI AND PERISPOMENI; QQCM
-1FDD ; [*0218.0020.0002.1FFE][.0000.0035.0002.0300] # GREEK DASIA AND VARIA; QQCM
-1FDE ; [*0218.0020.0002.1FFE][.0000.0032.0002.0301] # GREEK DASIA AND OXIA; QQCM
-1FDF ; [*0218.0020.0002.1FFE][.0000.0045.0002.0342] # GREEK DASIA AND PERISPOMENI; QQCM
-1FED ; [*0214.0020.0002.00A8][.0000.0035.0002.0300] # GREEK DIALYTIKA AND VARIA; QQCM
-1FEE ; [*0214.0020.0002.00A8][.0000.0032.0002.0301] # GREEK DIALYTIKA AND OXIA; QQCM
-1FEF ; [*020C.0020.0002.1FEF] # GREEK VARIA; QQC
-1FFD ; [*020D.0020.0002.1FFD] # GREEK OXIA; QQC
-1FFE ; [*0218.0020.0002.1FFE] # GREEK DASIA
-2000 ; [*020A.0020.0004.2000] # EN QUAD; QQK
-2001 ; [*020A.0020.0004.2001] # EM QUAD; QQK
-2002 ; [*020A.0020.0004.2002] # EN SPACE; QQK
-2003 ; [*020A.0020.0004.2003] # EM SPACE; QQK
-2004 ; [*020A.0020.0004.2004] # THREE-PER-EM SPACE; QQK
-2005 ; [*020A.0020.0004.2005] # FOUR-PER-EM SPACE; QQK
-2006 ; [*020A.0020.0004.2006] # SIX-PER-EM SPACE; QQK
-2007 ; [*020A.0020.001B.2007] # FIGURE SPACE; QQK
-2008 ; [*020A.0020.0004.2008] # PUNCTUATION SPACE; QQK
-2009 ; [*020A.0020.0004.2009] # THIN SPACE; QQK
-200A ; [*020A.0020.0004.200A] # HAIR SPACE; QQK
-2010 ; [*0236.0020.0002.2010] # HYPHEN
-2011 ; [*0236.0020.001B.2011] # NON-BREAKING HYPHEN; QQK
-2012 ; [*0237.0020.0002.2012] # FIGURE DASH
-2013 ; [*0238.0020.0002.2013] # EN DASH
-2014 ; [*0239.0020.0002.2014] # EM DASH
-2015 ; [*023A.0020.0002.2015] # HORIZONTAL BAR
-2016 ; [*0574.0020.0002.2016] # DOUBLE VERTICAL LINE
-2017 ; [*021C.0020.0002.2017] # DOUBLE LOW LINE
-2018 ; [*02FE.0020.0002.2018] # LEFT SINGLE QUOTATION MARK
-2019 ; [*02FF.0020.0002.2019] # RIGHT SINGLE QUOTATION MARK
-201A ; [*0300.0020.0002.201A] # SINGLE LOW-9 QUOTATION MARK
-201B ; [*0301.0020.0002.201B] # SINGLE HIGH-REVERSED-9 QUOTATION MARK
-201C ; [*0305.0020.0002.201C] # LEFT DOUBLE QUOTATION MARK
-201D ; [*0306.0020.0002.201D] # RIGHT DOUBLE QUOTATION MARK
-201E ; [*0307.0020.0002.201E] # DOUBLE LOW-9 QUOTATION MARK
-201F ; [*0308.0020.0002.201F] # DOUBLE HIGH-REVERSED-9 QUOTATION MARK
-2020 ; [*0379.0020.0002.2020] # DAGGER
-2021 ; [*037A.0020.0002.2021] # DOUBLE DAGGER
-2022 ; [*037B.0020.0002.2022] # BULLET
-2023 ; [*037C.0020.0002.2023] # TRIANGULAR BULLET
-2024 ; [*028E.0020.0004.2024] # ONE DOT LEADER; QQK
-2025 ; [*028E.0020.0004.2025][*028E.0020.0004.2025] # TWO DOT LEADER; QQKN
-2026 ; [*028E.0020.0004.2026][*028E.0020.0004.2026][*028E.0020.001F.2026] # HORIZONTAL ELLIPSIS; QQKN
-2027 ; [*037D.0020.0002.2027] # HYPHENATION POINT
+1CF4 ; [.0000.0000.0000.1CF4] # VEDIC TONE CANDRA ABOVE
+1FBD ; [*041B.0020.0002.1FBD] # GREEK KORONIS
+1FBF ; [*041B.0020.0002.1FBF] # GREEK PSILI
+1FC0 ; [*041D.0020.0002.1FC0] # GREEK PERISPOMENI
+1FC1 ; [*0416.0020.0002.00A8][.0000.0045.0002.0342] # GREEK DIALYTIKA AND PERISPOMENI
+1FCD ; [*041B.0020.0002.1FBF][.0000.0035.0002.0300] # GREEK PSILI AND VARIA
+1FCE ; [*041B.0020.0002.1FBF][.0000.0032.0002.0301] # GREEK PSILI AND OXIA
+1FCF ; [*041B.0020.0002.1FBF][.0000.0045.0002.0342] # GREEK PSILI AND PERISPOMENI
+1FDD ; [*041C.0020.0002.1FFE][.0000.0035.0002.0300] # GREEK DASIA AND VARIA
+1FDE ; [*041C.0020.0002.1FFE][.0000.0032.0002.0301] # GREEK DASIA AND OXIA
+1FDF ; [*041C.0020.0002.1FFE][.0000.0045.0002.0342] # GREEK DASIA AND PERISPOMENI
+1FED ; [*0416.0020.0002.00A8][.0000.0035.0002.0300] # GREEK DIALYTIKA AND VARIA
+1FEE ; [*0416.0020.0002.00A8][.0000.0032.0002.0301] # GREEK DIALYTIKA AND OXIA
+1FEF ; [*040F.0020.0002.1FEF] # GREEK VARIA
+1FFD ; [*0410.0020.0002.1FFD] # GREEK OXIA
+1FFE ; [*041C.0020.0002.1FFE] # GREEK DASIA
+2000 ; [*020A.0020.0004.2000] # EN QUAD
+2001 ; [*020A.0020.0004.2001] # EM QUAD
+2002 ; [*020A.0020.0004.2002] # EN SPACE
+2003 ; [*020A.0020.0004.2003] # EM SPACE
+2004 ; [*020A.0020.0004.2004] # THREE-PER-EM SPACE
+2005 ; [*020A.0020.0004.2005] # FOUR-PER-EM SPACE
+2006 ; [*020A.0020.0004.2006] # SIX-PER-EM SPACE
+2007 ; [*020A.0020.001B.2007] # FIGURE SPACE
+2008 ; [*020A.0020.0004.2008] # PUNCTUATION SPACE
+2009 ; [*020A.0020.0004.2009] # THIN SPACE
+200A ; [*020A.0020.0004.200A] # HAIR SPACE
+2010 ; [*0214.0020.0002.2010] # HYPHEN
+2011 ; [*0214.0020.001B.2011] # NON-BREAKING HYPHEN
+2012 ; [*0215.0020.0002.2012] # FIGURE DASH
+2013 ; [*0216.0020.0002.2013] # EN DASH
+2014 ; [*0217.0020.0002.2014] # EM DASH
+2015 ; [*0218.0020.0002.2015] # HORIZONTAL BAR
+2016 ; [*0363.0020.0002.2016] # DOUBLE VERTICAL LINE
+2017 ; [*020D.0020.0002.2017] # DOUBLE LOW LINE
+2018 ; [*02EB.0020.0002.2018] # LEFT SINGLE QUOTATION MARK
+2019 ; [*02EC.0020.0002.2019] # RIGHT SINGLE QUOTATION MARK
+201A ; [*02ED.0020.0002.201A] # SINGLE LOW-9 QUOTATION MARK
+201B ; [*02EE.0020.0002.201B] # SINGLE HIGH-REVERSED-9 QUOTATION MARK
+201C ; [*02F2.0020.0002.201C] # LEFT DOUBLE QUOTATION MARK
+201D ; [*02F3.0020.0002.201D] # RIGHT DOUBLE QUOTATION MARK
+201E ; [*02F4.0020.0002.201E] # DOUBLE LOW-9 QUOTATION MARK
+201F ; [*02F5.0020.0002.201F] # DOUBLE HIGH-REVERSED-9 QUOTATION MARK
+2020 ; [*037D.0020.0002.2020] # DAGGER
+2021 ; [*037E.0020.0002.2021] # DOUBLE DAGGER
+2022 ; [*0382.0020.0002.2022] # BULLET
+2023 ; [*0383.0020.0002.2023] # TRIANGULAR BULLET
+2024 ; [*0273.0020.0004.2024] # ONE DOT LEADER
+2025 ; [*0273.0020.0004.2025][*0273.0020.0004.2025] # TWO DOT LEADER
+2026 ; [*0273.0020.0004.2026][*0273.0020.0004.2026][*0273.0020.001F.2026] # HORIZONTAL ELLIPSIS
+2027 ; [*0384.0020.0002.2027] # HYPHENATION POINT
2028 ; [*0208.0020.0002.2028] # LINE SEPARATOR
2029 ; [*0209.0020.0002.2029] # PARAGRAPH SEPARATOR
-202F ; [*020A.0020.001B.202F] # NARROW NO-BREAK SPACE; QQK
-2030 ; [*0374.0020.0002.2030] # PER MILLE SIGN
-2031 ; [*0376.0020.0002.2031] # PER TEN THOUSAND SIGN
-2032 ; [*0381.0020.0002.2032] # PRIME
-2033 ; [*0381.0020.0004.2033][*0381.0020.0004.2033] # DOUBLE PRIME; QQKN
-2034 ; [*0381.0020.0004.2034][*0381.0020.0004.2034][*0381.0020.001F.2034] # TRIPLE PRIME; QQKN
-2035 ; [*0382.0020.0002.2035] # REVERSED PRIME
-2036 ; [*0382.0020.0004.2036][*0382.0020.0004.2036] # REVERSED DOUBLE PRIME; QQKN
-2037 ; [*0382.0020.0004.2037][*0382.0020.0004.2037][*0382.0020.001F.2037] # REVERSED TRIPLE PRIME; QQKN
-2038 ; [*0385.0020.0002.2038] # CARET
-2039 ; [*0302.0020.0002.2039] # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-203A ; [*0303.0020.0002.203A] # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-203B ; [*0386.0020.0002.203B] # REFERENCE MARK
-203C ; [*027B.0020.0004.203C][*027B.0020.0004.203C] # DOUBLE EXCLAMATION MARK; QQKN
-203D ; [*028C.0020.0002.203D] # INTERROBANG
-203E ; [*0211.0020.0002.203E] # OVERLINE
-203F ; [*0387.0020.0002.203F] # UNDERTIE
-2040 ; [*0389.0020.0002.2040] # CHARACTER TIE
-2041 ; [*038B.0020.0002.2041] # CARET INSERTION POINT
-2042 ; [*038C.0020.0002.2042] # ASTERISM
-2043 ; [*037E.0020.0002.2043] # HYPHEN BULLET
-2044 ; [*036C.0020.0002.2044] # FRACTION SLASH
-2045 ; [*031A.0020.0002.2045] # LEFT SQUARE BRACKET WITH QUILL
-2046 ; [*031B.0020.0002.2046] # RIGHT SQUARE BRACKET WITH QUILL
-2047 ; [*0280.0020.0004.2047][*0280.0020.0004.2047] # DOUBLE QUESTION MARK; QQKN
-2048 ; [*0280.0020.0004.2048][*027B.0020.0004.2048] # QUESTION EXCLAMATION MARK; QQKN
-2049 ; [*027B.0020.0004.2049][*0280.0020.0004.2049] # EXCLAMATION QUESTION MARK; QQKN
-204A ; [*0370.0020.0002.204A] # TIRONIAN SIGN ET
-204B ; [*0362.0020.0002.204B] # REVERSED PILCROW SIGN
-204C ; [*037F.0020.0002.204C] # BLACK LEFTWARDS BULLET
-204D ; [*0380.0020.0002.204D] # BLACK RIGHTWARDS BULLET
-204E ; [*0367.0020.0002.204E] # LOW ASTERISK
-204F ; [*0252.0020.0002.204F] # REVERSED SEMICOLON
-2050 ; [*038A.0020.0002.2050] # CLOSE UP
-2051 ; [*0368.0020.0002.2051] # TWO ASTERISKS ALIGNED VERTICALLY
-2052 ; [*0378.0020.0002.2052] # COMMERCIAL MINUS SIGN
-2053 ; [*023B.0020.0002.2053] # SWUNG DASH
-2054 ; [*0388.0020.0002.2054] # INVERTED UNDERTIE
-2055 ; [*02E2.0020.0002.2055] # FLOWER PUNCTUATION MARK
-2056 ; [*02E3.0020.0002.2056] # THREE DOT PUNCTUATION
-2057 ; [*0381.0020.0004.2057][*0381.0020.0004.2057][*0381.0020.001F.2057][*0381.0020.001F.2057] # QUADRUPLE PRIME; QQKN
-2058 ; [*02E4.0020.0002.2058] # FOUR DOT PUNCTUATION
-2059 ; [*02E5.0020.0002.2059] # FIVE DOT PUNCTUATION
-205A ; [*02E6.0020.0002.205A] # TWO DOT PUNCTUATION
-205B ; [*02E7.0020.0002.205B] # FOUR DOT MARK
-205C ; [*02E8.0020.0002.205C] # DOTTED CROSS
-205D ; [*02E9.0020.0002.205D] # TRICOLON
-205E ; [*02EA.0020.0002.205E] # VERTICAL FOUR DOTS
-205F ; [*020A.0020.0004.205F] # MEDIUM MATHEMATICAL SPACE; QQK
+202F ; [*020A.0020.001B.202F] # NARROW NO-BREAK SPACE
+2030 ; [*0379.0020.0002.2030] # PER MILLE SIGN
+2031 ; [*037B.0020.0002.2031] # PER TEN THOUSAND SIGN
+2032 ; [*0388.0020.0002.2032] # PRIME
+2033 ; [*0388.0020.0004.2033][*0388.0020.0004.2033] # DOUBLE PRIME
+2034 ; [*0388.0020.0004.2034][*0388.0020.0004.2034][*0388.0020.001F.2034] # TRIPLE PRIME
+2035 ; [*0389.0020.0002.2035] # REVERSED PRIME
+2036 ; [*0389.0020.0004.2036][*0389.0020.0004.2036] # REVERSED DOUBLE PRIME
+2037 ; [*0389.0020.0004.2037][*0389.0020.0004.2037][*0389.0020.001F.2037] # REVERSED TRIPLE PRIME
+2038 ; [*038C.0020.0002.2038] # CARET
+2039 ; [*02EF.0020.0002.2039] # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+203A ; [*02F0.0020.0002.203A] # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+203B ; [*038D.0020.0002.203B] # REFERENCE MARK
+203C ; [*025E.0020.0004.203C][*025E.0020.0004.203C] # DOUBLE EXCLAMATION MARK
+203D ; [*0271.0020.0002.203D] # INTERROBANG
+203E ; [*020B.0020.0002.203E] # OVERLINE
+203F ; [*038E.0020.0002.203F] # UNDERTIE
+2040 ; [*0390.0020.0002.2040] # CHARACTER TIE
+2041 ; [*0392.0020.0002.2041] # CARET INSERTION POINT
+2042 ; [*0393.0020.0002.2042] # ASTERISM
+2043 ; [*0385.0020.0002.2043] # HYPHEN BULLET
+2044 ; [*05AC.0020.0002.2044] # FRACTION SLASH
+2045 ; [*0307.0020.0002.2045] # LEFT SQUARE BRACKET WITH QUILL
+2046 ; [*0308.0020.0002.2046] # RIGHT SQUARE BRACKET WITH QUILL
+2047 ; [*0263.0020.0004.2047][*0263.0020.0004.2047] # DOUBLE QUESTION MARK
+2048 ; [*0263.0020.0004.2048][*025E.0020.0004.2048] # QUESTION EXCLAMATION MARK
+2049 ; [*025E.0020.0004.2049][*0263.0020.0004.2049] # EXCLAMATION QUESTION MARK
+204A ; [*0375.0020.0002.204A] # TIRONIAN SIGN ET
+204B ; [*036B.0020.0002.204B] # REVERSED PILCROW SIGN
+204C ; [*0386.0020.0002.204C] # BLACK LEFTWARDS BULLET
+204D ; [*0387.0020.0002.204D] # BLACK RIGHTWARDS BULLET
+204E ; [*036E.0020.0002.204E] # LOW ASTERISK
+204F ; [*0234.0020.0002.204F] # REVERSED SEMICOLON
+2050 ; [*0391.0020.0002.2050] # CLOSE UP
+2051 ; [*036F.0020.0002.2051] # TWO ASTERISKS ALIGNED VERTICALLY
+2052 ; [*05A8.0020.0002.2052] # COMMERCIAL MINUS SIGN
+2053 ; [*021B.0020.0002.2053] # SWUNG DASH
+2054 ; [*038F.0020.0002.2054] # INVERTED UNDERTIE
+2055 ; [*02CF.0020.0002.2055] # FLOWER PUNCTUATION MARK
+2056 ; [*02D0.0020.0002.2056] # THREE DOT PUNCTUATION
+2057 ; [*0388.0020.0004.2057][*0388.0020.0004.2057][*0388.0020.001F.2057][*0388.0020.001F.2057] # QUADRUPLE PRIME
+2058 ; [*02D1.0020.0002.2058] # FOUR DOT PUNCTUATION
+2059 ; [*02D2.0020.0002.2059] # FIVE DOT PUNCTUATION
+205A ; [*02D3.0020.0002.205A] # TWO DOT PUNCTUATION
+205B ; [*02D4.0020.0002.205B] # FOUR DOT MARK
+205C ; [*02D5.0020.0002.205C] # DOTTED CROSS
+205D ; [*02D6.0020.0002.205D] # TRICOLON
+205E ; [*02D7.0020.0002.205E] # VERTICAL FOUR DOTS
+205F ; [*020A.0020.0004.205F] # MEDIUM MATHEMATICAL SPACE
2061 ; [.0000.0000.0000.2061] # FUNCTION APPLICATION
2062 ; [.0000.0000.0000.2062] # INVISIBLE TIMES
2063 ; [.0000.0000.0000.2063] # INVISIBLE SEPARATOR
2064 ; [.0000.0000.0000.2064] # INVISIBLE PLUS
-207A ; [*056A.0020.0014.207A] # SUPERSCRIPT PLUS SIGN; QQK
-207B ; [*0576.0020.0014.207B] # SUPERSCRIPT MINUS; QQK
-207C ; [*056F.0020.0014.207C] # SUPERSCRIPT EQUALS SIGN; QQK
-207D ; [*030E.0020.0014.207D] # SUPERSCRIPT LEFT PARENTHESIS; QQK
-207E ; [*030F.0020.0014.207E] # SUPERSCRIPT RIGHT PARENTHESIS; QQK
-208A ; [*056A.0020.0015.208A] # SUBSCRIPT PLUS SIGN; QQK
-208B ; [*0576.0020.0015.208B] # SUBSCRIPT MINUS; QQK
-208C ; [*056F.0020.0015.208C] # SUBSCRIPT EQUALS SIGN; QQK
-208D ; [*030E.0020.0015.208D] # SUBSCRIPT LEFT PARENTHESIS; QQK
-208E ; [*030F.0020.0015.208E] # SUBSCRIPT RIGHT PARENTHESIS; QQK
-2104 ; [*04DB.0020.0002.2104] # CENTRE LINE SYMBOL
-2108 ; [*04DC.0020.0002.2108] # SCRUPLE
-2114 ; [*04DD.0020.0002.2114] # L B BAR SYMBOL
-2117 ; [*04DE.0020.0002.2117] # SOUND RECORDING COPYRIGHT
-2118 ; [*04DF.0020.0002.2118] # SCRIPT CAPITAL P
-211E ; [*04E0.0020.0002.211E] # PRESCRIPTION TAKE
-211F ; [*04E1.0020.0002.211F] # RESPONSE
-2123 ; [*04E2.0020.0002.2123] # VERSICLE
-2125 ; [*04E3.0020.0002.2125] # OUNCE SIGN
-2127 ; [*04E4.0020.0002.2127] # INVERTED OHM SIGN
-2129 ; [*04E5.0020.0002.2129] # TURNED GREEK SMALL LETTER IOTA
-212E ; [*04E6.0020.0002.212E] # ESTIMATED SYMBOL
-213A ; [*04E7.0020.0002.213A] # ROTATED CAPITAL Q
-2140 ; [*0569.0020.0005.2140] # DOUBLE-STRUCK N-ARY SUMMATION; QQK
-2141 ; [*04E8.0020.0002.2141] # TURNED SANS-SERIF CAPITAL G
-2142 ; [*04E9.0020.0002.2142] # TURNED SANS-SERIF CAPITAL L
-2143 ; [*04EA.0020.0002.2143] # REVERSED SANS-SERIF CAPITAL L
-2144 ; [*04EB.0020.0002.2144] # TURNED SANS-SERIF CAPITAL Y
-214A ; [*04EC.0020.0002.214A] # PROPERTY LINE
-214B ; [*036F.0020.0002.214B] # TURNED AMPERSAND
-214C ; [*04ED.0020.0002.214C] # PER SIGN
-214D ; [*04EE.0020.0002.214D] # AKTIESELSKAB
-214F ; [*04EF.0020.0002.214F] # SYMBOL FOR SAMARITAN SOURCE
-2180 ; [*14B8.0020.0002.2180] # ROMAN NUMERAL ONE THOUSAND C D
-2181 ; [*14B9.0020.0002.2181] # ROMAN NUMERAL FIVE THOUSAND
-2182 ; [*14BA.0020.0002.2182] # ROMAN NUMERAL TEN THOUSAND
-2186 ; [*14BB.0020.0002.2186] # ROMAN NUMERAL FIFTY EARLY FORM
-2187 ; [*14BC.0020.0002.2187] # ROMAN NUMERAL FIFTY THOUSAND
-2188 ; [*14BD.0020.0002.2188] # ROMAN NUMERAL ONE HUNDRED THOUSAND
-2190 ; [*04F0.0020.0002.2190] # LEFTWARDS ARROW
-2191 ; [*04F2.0020.0002.2191] # UPWARDS ARROW
-2192 ; [*04F1.0020.0002.2192] # RIGHTWARDS ARROW
-2193 ; [*04F3.0020.0002.2193] # DOWNWARDS ARROW
-2194 ; [*04F4.0020.0002.2194] # LEFT RIGHT ARROW
-2195 ; [*04F5.0020.0002.2195] # UP DOWN ARROW
-2196 ; [*04F6.0020.0002.2196] # NORTH WEST ARROW
-2197 ; [*04F7.0020.0002.2197] # NORTH EAST ARROW
-2198 ; [*04F8.0020.0002.2198] # SOUTH EAST ARROW
-2199 ; [*04F9.0020.0002.2199] # SOUTH WEST ARROW
-219A ; [*04F0.0020.0002.2190][.0000.0054.0002.0338] # LEFTWARDS ARROW WITH STROKE; QQCM
-219B ; [*04F1.0020.0002.2192][.0000.0054.0002.0338] # RIGHTWARDS ARROW WITH STROKE; QQCM
-219C ; [*04FA.0020.0002.219C] # LEFTWARDS WAVE ARROW
-219D ; [*04FB.0020.0002.219D] # RIGHTWARDS WAVE ARROW
-219E ; [*04FC.0020.0002.219E] # LEFTWARDS TWO HEADED ARROW
-219F ; [*04FD.0020.0002.219F] # UPWARDS TWO HEADED ARROW
-21A0 ; [*04FE.0020.0002.21A0] # RIGHTWARDS TWO HEADED ARROW
-21A1 ; [*04FF.0020.0002.21A1] # DOWNWARDS TWO HEADED ARROW
-21A2 ; [*0500.0020.0002.21A2] # LEFTWARDS ARROW WITH TAIL
-21A3 ; [*0501.0020.0002.21A3] # RIGHTWARDS ARROW WITH TAIL
-21A4 ; [*0502.0020.0002.21A4] # LEFTWARDS ARROW FROM BAR
-21A5 ; [*0503.0020.0002.21A5] # UPWARDS ARROW FROM BAR
-21A6 ; [*0504.0020.0002.21A6] # RIGHTWARDS ARROW FROM BAR
-21A7 ; [*0505.0020.0002.21A7] # DOWNWARDS ARROW FROM BAR
-21A8 ; [*0506.0020.0002.21A8] # UP DOWN ARROW WITH BASE
-21A9 ; [*0507.0020.0002.21A9] # LEFTWARDS ARROW WITH HOOK
-21AA ; [*0508.0020.0002.21AA] # RIGHTWARDS ARROW WITH HOOK
-21AB ; [*0509.0020.0002.21AB] # LEFTWARDS ARROW WITH LOOP
-21AC ; [*050A.0020.0002.21AC] # RIGHTWARDS ARROW WITH LOOP
-21AD ; [*050B.0020.0002.21AD] # LEFT RIGHT WAVE ARROW
-21AE ; [*04F4.0020.0002.2194][.0000.0054.0002.0338] # LEFT RIGHT ARROW WITH STROKE; QQCM
-21AF ; [*050C.0020.0002.21AF] # DOWNWARDS ZIGZAG ARROW
-21B0 ; [*050D.0020.0002.21B0] # UPWARDS ARROW WITH TIP LEFTWARDS
-21B1 ; [*050E.0020.0002.21B1] # UPWARDS ARROW WITH TIP RIGHTWARDS
-21B2 ; [*050F.0020.0002.21B2] # DOWNWARDS ARROW WITH TIP LEFTWARDS
-21B3 ; [*0510.0020.0002.21B3] # DOWNWARDS ARROW WITH TIP RIGHTWARDS
-21B4 ; [*0511.0020.0002.21B4] # RIGHTWARDS ARROW WITH CORNER DOWNWARDS
-21B5 ; [*0512.0020.0002.21B5] # DOWNWARDS ARROW WITH CORNER LEFTWARDS
-21B6 ; [*0513.0020.0002.21B6] # ANTICLOCKWISE TOP SEMICIRCLE ARROW
-21B7 ; [*0514.0020.0002.21B7] # CLOCKWISE TOP SEMICIRCLE ARROW
-21B8 ; [*0515.0020.0002.21B8] # NORTH WEST ARROW TO LONG BAR
-21B9 ; [*0516.0020.0002.21B9] # LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
-21BA ; [*0517.0020.0002.21BA] # ANTICLOCKWISE OPEN CIRCLE ARROW
-21BB ; [*0518.0020.0002.21BB] # CLOCKWISE OPEN CIRCLE ARROW
-21BC ; [*0519.0020.0002.21BC] # LEFTWARDS HARPOON WITH BARB UPWARDS
-21BD ; [*051A.0020.0002.21BD] # LEFTWARDS HARPOON WITH BARB DOWNWARDS
-21BE ; [*051B.0020.0002.21BE] # UPWARDS HARPOON WITH BARB RIGHTWARDS
-21BF ; [*051C.0020.0002.21BF] # UPWARDS HARPOON WITH BARB LEFTWARDS
-21C0 ; [*051D.0020.0002.21C0] # RIGHTWARDS HARPOON WITH BARB UPWARDS
-21C1 ; [*051E.0020.0002.21C1] # RIGHTWARDS HARPOON WITH BARB DOWNWARDS
-21C2 ; [*051F.0020.0002.21C2] # DOWNWARDS HARPOON WITH BARB RIGHTWARDS
-21C3 ; [*0520.0020.0002.21C3] # DOWNWARDS HARPOON WITH BARB LEFTWARDS
-21C4 ; [*0521.0020.0002.21C4] # RIGHTWARDS ARROW OVER LEFTWARDS ARROW
-21C5 ; [*0522.0020.0002.21C5] # UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
-21C6 ; [*0523.0020.0002.21C6] # LEFTWARDS ARROW OVER RIGHTWARDS ARROW
-21C7 ; [*0524.0020.0002.21C7] # LEFTWARDS PAIRED ARROWS
-21C8 ; [*0525.0020.0002.21C8] # UPWARDS PAIRED ARROWS
-21C9 ; [*0526.0020.0002.21C9] # RIGHTWARDS PAIRED ARROWS
-21CA ; [*0527.0020.0002.21CA] # DOWNWARDS PAIRED ARROWS
-21CB ; [*0528.0020.0002.21CB] # LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
-21CC ; [*0529.0020.0002.21CC] # RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
-21CD ; [*052A.0020.0002.21D0][.0000.0054.0002.0338] # LEFTWARDS DOUBLE ARROW WITH STROKE; QQCM
-21CE ; [*052E.0020.0002.21D4][.0000.0054.0002.0338] # LEFT RIGHT DOUBLE ARROW WITH STROKE; QQCM
-21CF ; [*052C.0020.0002.21D2][.0000.0054.0002.0338] # RIGHTWARDS DOUBLE ARROW WITH STROKE; QQCM
-21D0 ; [*052A.0020.0002.21D0] # LEFTWARDS DOUBLE ARROW
-21D1 ; [*052B.0020.0002.21D1] # UPWARDS DOUBLE ARROW
-21D2 ; [*052C.0020.0002.21D2] # RIGHTWARDS DOUBLE ARROW
-21D3 ; [*052D.0020.0002.21D3] # DOWNWARDS DOUBLE ARROW
-21D4 ; [*052E.0020.0002.21D4] # LEFT RIGHT DOUBLE ARROW
-21D5 ; [*052F.0020.0002.21D5] # UP DOWN DOUBLE ARROW
-21D6 ; [*0530.0020.0002.21D6] # NORTH WEST DOUBLE ARROW
-21D7 ; [*0531.0020.0002.21D7] # NORTH EAST DOUBLE ARROW
-21D8 ; [*0532.0020.0002.21D8] # SOUTH EAST DOUBLE ARROW
-21D9 ; [*0533.0020.0002.21D9] # SOUTH WEST DOUBLE ARROW
-21DA ; [*0534.0020.0002.21DA] # LEFTWARDS TRIPLE ARROW
-21DB ; [*0535.0020.0002.21DB] # RIGHTWARDS TRIPLE ARROW
-21DC ; [*0536.0020.0002.21DC] # LEFTWARDS SQUIGGLE ARROW
-21DD ; [*0537.0020.0002.21DD] # RIGHTWARDS SQUIGGLE ARROW
-21DE ; [*0538.0020.0002.21DE] # UPWARDS ARROW WITH DOUBLE STROKE
-21DF ; [*0539.0020.0002.21DF] # DOWNWARDS ARROW WITH DOUBLE STROKE
-21E0 ; [*053A.0020.0002.21E0] # LEFTWARDS DASHED ARROW
-21E1 ; [*053B.0020.0002.21E1] # UPWARDS DASHED ARROW
-21E2 ; [*053C.0020.0002.21E2] # RIGHTWARDS DASHED ARROW
-21E3 ; [*053D.0020.0002.21E3] # DOWNWARDS DASHED ARROW
-21E4 ; [*053E.0020.0002.21E4] # LEFTWARDS ARROW TO BAR
-21E5 ; [*053F.0020.0002.21E5] # RIGHTWARDS ARROW TO BAR
-21E6 ; [*0540.0020.0002.21E6] # LEFTWARDS WHITE ARROW
-21E7 ; [*0541.0020.0002.21E7] # UPWARDS WHITE ARROW
-21E8 ; [*0542.0020.0002.21E8] # RIGHTWARDS WHITE ARROW
-21E9 ; [*0543.0020.0002.21E9] # DOWNWARDS WHITE ARROW
-21EA ; [*0544.0020.0002.21EA] # UPWARDS WHITE ARROW FROM BAR
-21EB ; [*0545.0020.0002.21EB] # UPWARDS WHITE ARROW ON PEDESTAL
-21EC ; [*0546.0020.0002.21EC] # UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR
-21ED ; [*0547.0020.0002.21ED] # UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR
-21EE ; [*0548.0020.0002.21EE] # UPWARDS WHITE DOUBLE ARROW
-21EF ; [*0549.0020.0002.21EF] # UPWARDS WHITE DOUBLE ARROW ON PEDESTAL
-21F0 ; [*054A.0020.0002.21F0] # RIGHTWARDS WHITE ARROW FROM WALL
-21F1 ; [*054B.0020.0002.21F1] # NORTH WEST ARROW TO CORNER
-21F2 ; [*054C.0020.0002.21F2] # SOUTH EAST ARROW TO CORNER
-21F3 ; [*054D.0020.0002.21F3] # UP DOWN WHITE ARROW
-21F4 ; [*054E.0020.0002.21F4] # RIGHT ARROW WITH SMALL CIRCLE
-21F5 ; [*054F.0020.0002.21F5] # DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
-21F6 ; [*0550.0020.0002.21F6] # THREE RIGHTWARDS ARROWS
-21F7 ; [*0551.0020.0002.21F7] # LEFTWARDS ARROW WITH VERTICAL STROKE
-21F8 ; [*0552.0020.0002.21F8] # RIGHTWARDS ARROW WITH VERTICAL STROKE
-21F9 ; [*0553.0020.0002.21F9] # LEFT RIGHT ARROW WITH VERTICAL STROKE
-21FA ; [*0554.0020.0002.21FA] # LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE
-21FB ; [*0555.0020.0002.21FB] # RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE
-21FC ; [*0556.0020.0002.21FC] # LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE
-21FD ; [*0557.0020.0002.21FD] # LEFTWARDS OPEN-HEADED ARROW
-21FE ; [*0558.0020.0002.21FE] # RIGHTWARDS OPEN-HEADED ARROW
-21FF ; [*0559.0020.0002.21FF] # LEFT RIGHT OPEN-HEADED ARROW
-2200 ; [*055A.0020.0002.2200] # FOR ALL
-2201 ; [*055B.0020.0002.2201] # COMPLEMENT
-2202 ; [*055C.0020.0002.2202] # PARTIAL DIFFERENTIAL
-2203 ; [*055D.0020.0002.2203] # THERE EXISTS
-2204 ; [*055D.0020.0002.2203][.0000.0054.0002.0338] # THERE DOES NOT EXIST; QQCM
-2205 ; [*055E.0020.0002.2205] # EMPTY SET
-2206 ; [*055F.0020.0002.2206] # INCREMENT
-2207 ; [*0560.0020.0002.2207] # NABLA
-2208 ; [*0561.0020.0002.2208] # ELEMENT OF
-2209 ; [*0561.0020.0002.2208][.0000.0054.0002.0338] # NOT AN ELEMENT OF; QQCM
-220A ; [*0562.0020.0002.220A] # SMALL ELEMENT OF
-220B ; [*0563.0020.0002.220B] # CONTAINS AS MEMBER
-220C ; [*0563.0020.0002.220B][.0000.0054.0002.0338] # DOES NOT CONTAIN AS MEMBER; QQCM
-220D ; [*0564.0020.0002.220D] # SMALL CONTAINS AS MEMBER
-220E ; [*0566.0020.0002.220E] # END OF PROOF
-220F ; [*0567.0020.0002.220F] # N-ARY PRODUCT
-2210 ; [*0568.0020.0002.2210] # N-ARY COPRODUCT
-2211 ; [*0569.0020.0002.2211] # N-ARY SUMMATION
-2212 ; [*0576.0020.0002.2212] # MINUS SIGN
-2213 ; [*0577.0020.0002.2213] # MINUS-OR-PLUS SIGN
-2214 ; [*0578.0020.0002.2214] # DOT PLUS
-2215 ; [*0579.0020.0002.2215] # DIVISION SLASH
-2216 ; [*057A.0020.0002.2216] # SET MINUS
-2217 ; [*057B.0020.0002.2217] # ASTERISK OPERATOR
-2218 ; [*057C.0020.0002.2218] # RING OPERATOR
-2219 ; [*057D.0020.0002.2219] # BULLET OPERATOR
-221A ; [*057E.0020.0002.221A] # SQUARE ROOT
-221B ; [*057F.0020.0002.221B] # CUBE ROOT
-221C ; [*0581.0020.0002.221C] # FOURTH ROOT
-221D ; [*0583.0020.0002.221D] # PROPORTIONAL TO
-221E ; [*0584.0020.0002.221E] # INFINITY
-221F ; [*0585.0020.0002.221F] # RIGHT ANGLE
-2220 ; [*0586.0020.0002.2220] # ANGLE
-2221 ; [*0587.0020.0002.2221] # MEASURED ANGLE
-2222 ; [*0588.0020.0002.2222] # SPHERICAL ANGLE
-2223 ; [*0589.0020.0002.2223] # DIVIDES
-2224 ; [*0589.0020.0002.2223][.0000.0054.0002.0338] # DOES NOT DIVIDE; QQCM
-2225 ; [*058A.0020.0002.2225] # PARALLEL TO
-2226 ; [*058A.0020.0002.2225][.0000.0054.0002.0338] # NOT PARALLEL TO; QQCM
-2227 ; [*058B.0020.0002.2227] # LOGICAL AND
-2228 ; [*058C.0020.0002.2228] # LOGICAL OR
-2229 ; [*058D.0020.0002.2229] # INTERSECTION
-222A ; [*058E.0020.0002.222A] # UNION
-222B ; [*058F.0020.0002.222B] # INTEGRAL
-222C ; [*058F.0020.0004.222C][*058F.0020.0004.222C] # DOUBLE INTEGRAL; QQKN
-222D ; [*058F.0020.0004.222D][*058F.0020.0004.222D][*058F.0020.001F.222D] # TRIPLE INTEGRAL; QQKN
-222E ; [*0590.0020.0002.222E] # CONTOUR INTEGRAL
-222F ; [*0590.0020.0004.222F][*0590.0020.0004.222F] # SURFACE INTEGRAL; QQKN
-2230 ; [*0590.0020.0004.2230][*0590.0020.0004.2230][*0590.0020.001F.2230] # VOLUME INTEGRAL; QQKN
-2231 ; [*0591.0020.0002.2231] # CLOCKWISE INTEGRAL
-2232 ; [*0592.0020.0002.2232] # CLOCKWISE CONTOUR INTEGRAL
-2233 ; [*0593.0020.0002.2233] # ANTICLOCKWISE CONTOUR INTEGRAL
-2234 ; [*0594.0020.0002.2234] # THEREFORE
-2235 ; [*0595.0020.0002.2235] # BECAUSE
-2236 ; [*0596.0020.0002.2236] # RATIO
-2237 ; [*0597.0020.0002.2237] # PROPORTION
-2238 ; [*0598.0020.0002.2238] # DOT MINUS
-2239 ; [*0599.0020.0002.2239] # EXCESS
-223A ; [*059A.0020.0002.223A] # GEOMETRIC PROPORTION
-223B ; [*059B.0020.0002.223B] # HOMOTHETIC
-223C ; [*059C.0020.0002.223C] # TILDE OPERATOR
-223D ; [*059D.0020.0002.223D] # REVERSED TILDE
-223E ; [*059E.0020.0002.223E] # INVERTED LAZY S
-223F ; [*059F.0020.0002.223F] # SINE WAVE
-2240 ; [*05A0.0020.0002.2240] # WREATH PRODUCT
-2241 ; [*059C.0020.0002.223C][.0000.0054.0002.0338] # NOT TILDE; QQCM
-2242 ; [*05A1.0020.0002.2242] # MINUS TILDE
-2243 ; [*05A2.0020.0002.2243] # ASYMPTOTICALLY EQUAL TO
-2244 ; [*05A2.0020.0002.2243][.0000.0054.0002.0338] # NOT ASYMPTOTICALLY EQUAL TO; QQCM
-2245 ; [*05A3.0020.0002.2245] # APPROXIMATELY EQUAL TO
-2246 ; [*05A4.0020.0002.2246] # APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
-2247 ; [*05A3.0020.0002.2245][.0000.0054.0002.0338] # NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO; QQCM
-2248 ; [*05A5.0020.0002.2248] # ALMOST EQUAL TO
-2249 ; [*05A5.0020.0002.2248][.0000.0054.0002.0338] # NOT ALMOST EQUAL TO; QQCM
-224A ; [*05A6.0020.0002.224A] # ALMOST EQUAL OR EQUAL TO
-224B ; [*05A7.0020.0002.224B] # TRIPLE TILDE
-224C ; [*05A8.0020.0002.224C] # ALL EQUAL TO
-224D ; [*05A9.0020.0002.224D] # EQUIVALENT TO
-224E ; [*05AA.0020.0002.224E] # GEOMETRICALLY EQUIVALENT TO
-224F ; [*05AB.0020.0002.224F] # DIFFERENCE BETWEEN
-2250 ; [*05AC.0020.0002.2250] # APPROACHES THE LIMIT
-2251 ; [*05AD.0020.0002.2251] # GEOMETRICALLY EQUAL TO
-2252 ; [*05AE.0020.0002.2252] # APPROXIMATELY EQUAL TO OR THE IMAGE OF
-2253 ; [*05AF.0020.0002.2253] # IMAGE OF OR APPROXIMATELY EQUAL TO
-2254 ; [*05B0.0020.0002.2254] # COLON EQUALS
-2255 ; [*05B1.0020.0002.2255] # EQUALS COLON
-2256 ; [*05B2.0020.0002.2256] # RING IN EQUAL TO
-2257 ; [*05B3.0020.0002.2257] # RING EQUAL TO
-2258 ; [*05B4.0020.0002.2258] # CORRESPONDS TO
-2259 ; [*05B5.0020.0002.2259] # ESTIMATES
-225A ; [*05B6.0020.0002.225A] # EQUIANGULAR TO
-225B ; [*05B7.0020.0002.225B] # STAR EQUALS
-225C ; [*05B8.0020.0002.225C] # DELTA EQUAL TO
-225D ; [*05B9.0020.0002.225D] # EQUAL TO BY DEFINITION
-225E ; [*05BA.0020.0002.225E] # MEASURED BY
-225F ; [*05BB.0020.0002.225F] # QUESTIONED EQUAL TO
-2260 ; [*056F.0020.0002.003D][.0000.0054.0002.0338] # NOT EQUAL TO; QQCM
-2261 ; [*05BC.0020.0002.2261] # IDENTICAL TO
-2262 ; [*05BC.0020.0002.2261][.0000.0054.0002.0338] # NOT IDENTICAL TO; QQCM
-2263 ; [*05BD.0020.0002.2263] # STRICTLY EQUIVALENT TO
-2264 ; [*05BE.0020.0002.2264] # LESS-THAN OR EQUAL TO
-2265 ; [*05BF.0020.0002.2265] # GREATER-THAN OR EQUAL TO
-2266 ; [*05C0.0020.0002.2266] # LESS-THAN OVER EQUAL TO
-2267 ; [*05C1.0020.0002.2267] # GREATER-THAN OVER EQUAL TO
-2268 ; [*05C2.0020.0002.2268] # LESS-THAN BUT NOT EQUAL TO
-2269 ; [*05C3.0020.0002.2269] # GREATER-THAN BUT NOT EQUAL TO
-226A ; [*05C4.0020.0002.226A] # MUCH LESS-THAN
-226B ; [*05C5.0020.0002.226B] # MUCH GREATER-THAN
-226C ; [*05C6.0020.0002.226C] # BETWEEN
-226D ; [*05A9.0020.0002.224D][.0000.0054.0002.0338] # NOT EQUIVALENT TO; QQCM
-226E ; [*056E.0020.0002.003C][.0000.0054.0002.0338] # NOT LESS-THAN; QQCM
-226F ; [*0570.0020.0002.003E][.0000.0054.0002.0338] # NOT GREATER-THAN; QQCM
-2270 ; [*05BE.0020.0002.2264][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR EQUAL TO; QQCM
-2271 ; [*05BF.0020.0002.2265][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR EQUAL TO; QQCM
-2272 ; [*05C7.0020.0002.2272] # LESS-THAN OR EQUIVALENT TO
-2273 ; [*05C8.0020.0002.2273] # GREATER-THAN OR EQUIVALENT TO
-2274 ; [*05C7.0020.0002.2272][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR EQUIVALENT TO; QQCM
-2275 ; [*05C8.0020.0002.2273][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR EQUIVALENT TO; QQCM
-2276 ; [*05C9.0020.0002.2276] # LESS-THAN OR GREATER-THAN
-2277 ; [*05CA.0020.0002.2277] # GREATER-THAN OR LESS-THAN
-2278 ; [*05C9.0020.0002.2276][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR GREATER-THAN; QQCM
-2279 ; [*05CA.0020.0002.2277][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR LESS-THAN; QQCM
-227A ; [*05CB.0020.0002.227A] # PRECEDES
-227B ; [*05CC.0020.0002.227B] # SUCCEEDS
-227C ; [*05CD.0020.0002.227C] # PRECEDES OR EQUAL TO
-227D ; [*05CE.0020.0002.227D] # SUCCEEDS OR EQUAL TO
-227E ; [*05CF.0020.0002.227E] # PRECEDES OR EQUIVALENT TO
-227F ; [*05D0.0020.0002.227F] # SUCCEEDS OR EQUIVALENT TO
-2280 ; [*05CB.0020.0002.227A][.0000.0054.0002.0338] # DOES NOT PRECEDE; QQCM
-2281 ; [*05CC.0020.0002.227B][.0000.0054.0002.0338] # DOES NOT SUCCEED; QQCM
-2282 ; [*05D1.0020.0002.2282] # SUBSET OF
-2283 ; [*05D2.0020.0002.2283] # SUPERSET OF
-2284 ; [*05D1.0020.0002.2282][.0000.0054.0002.0338] # NOT A SUBSET OF; QQCM
-2285 ; [*05D2.0020.0002.2283][.0000.0054.0002.0338] # NOT A SUPERSET OF; QQCM
-2286 ; [*05D3.0020.0002.2286] # SUBSET OF OR EQUAL TO
-2287 ; [*05D4.0020.0002.2287] # SUPERSET OF OR EQUAL TO
-2288 ; [*05D3.0020.0002.2286][.0000.0054.0002.0338] # NEITHER A SUBSET OF NOR EQUAL TO; QQCM
-2289 ; [*05D4.0020.0002.2287][.0000.0054.0002.0338] # NEITHER A SUPERSET OF NOR EQUAL TO; QQCM
-228A ; [*05D5.0020.0002.228A] # SUBSET OF WITH NOT EQUAL TO
-228B ; [*05D6.0020.0002.228B] # SUPERSET OF WITH NOT EQUAL TO
-228C ; [*05D7.0020.0002.228C] # MULTISET
-228D ; [*05D8.0020.0002.228D] # MULTISET MULTIPLICATION
-228E ; [*05D9.0020.0002.228E] # MULTISET UNION
-228F ; [*05DA.0020.0002.228F] # SQUARE IMAGE OF
-2290 ; [*05DB.0020.0002.2290] # SQUARE ORIGINAL OF
-2291 ; [*05DC.0020.0002.2291] # SQUARE IMAGE OF OR EQUAL TO
-2292 ; [*05DD.0020.0002.2292] # SQUARE ORIGINAL OF OR EQUAL TO
-2293 ; [*05DE.0020.0002.2293] # SQUARE CAP
-2294 ; [*05DF.0020.0002.2294] # SQUARE CUP
-2295 ; [*05E0.0020.0002.2295] # CIRCLED PLUS
-2296 ; [*05E1.0020.0002.2296] # CIRCLED MINUS
-2297 ; [*05E2.0020.0002.2297] # CIRCLED TIMES
-2298 ; [*05E3.0020.0002.2298] # CIRCLED DIVISION SLASH
-2299 ; [*05E4.0020.0002.2299] # CIRCLED DOT OPERATOR
-229A ; [*05E5.0020.0002.229A] # CIRCLED RING OPERATOR
-229B ; [*05E6.0020.0002.229B] # CIRCLED ASTERISK OPERATOR
-229C ; [*05E7.0020.0002.229C] # CIRCLED EQUALS
-229D ; [*05E8.0020.0002.229D] # CIRCLED DASH
-229E ; [*05E9.0020.0002.229E] # SQUARED PLUS
-229F ; [*05EA.0020.0002.229F] # SQUARED MINUS
-22A0 ; [*05EB.0020.0002.22A0] # SQUARED TIMES
-22A1 ; [*05EC.0020.0002.22A1] # SQUARED DOT OPERATOR
-22A2 ; [*05ED.0020.0002.22A2] # RIGHT TACK
-22A3 ; [*05EE.0020.0002.22A3] # LEFT TACK
-22A4 ; [*05EF.0020.0002.22A4] # DOWN TACK
-22A5 ; [*05F0.0020.0002.22A5] # UP TACK
-22A6 ; [*05F1.0020.0002.22A6] # ASSERTION
-22A7 ; [*05F2.0020.0002.22A7] # MODELS
-22A8 ; [*05F3.0020.0002.22A8] # TRUE
-22A9 ; [*05F4.0020.0002.22A9] # FORCES
-22AA ; [*05F5.0020.0002.22AA] # TRIPLE VERTICAL BAR RIGHT TURNSTILE
-22AB ; [*05F6.0020.0002.22AB] # DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22AC ; [*05ED.0020.0002.22A2][.0000.0054.0002.0338] # DOES NOT PROVE; QQCM
-22AD ; [*05F3.0020.0002.22A8][.0000.0054.0002.0338] # NOT TRUE; QQCM
-22AE ; [*05F4.0020.0002.22A9][.0000.0054.0002.0338] # DOES NOT FORCE; QQCM
-22AF ; [*05F6.0020.0002.22AB][.0000.0054.0002.0338] # NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE; QQCM
-22B0 ; [*05F7.0020.0002.22B0] # PRECEDES UNDER RELATION
-22B1 ; [*05F8.0020.0002.22B1] # SUCCEEDS UNDER RELATION
-22B2 ; [*05F9.0020.0002.22B2] # NORMAL SUBGROUP OF
-22B3 ; [*05FA.0020.0002.22B3] # CONTAINS AS NORMAL SUBGROUP
-22B4 ; [*05FB.0020.0002.22B4] # NORMAL SUBGROUP OF OR EQUAL TO
-22B5 ; [*05FC.0020.0002.22B5] # CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
-22B6 ; [*05FD.0020.0002.22B6] # ORIGINAL OF
-22B7 ; [*05FE.0020.0002.22B7] # IMAGE OF
-22B8 ; [*05FF.0020.0002.22B8] # MULTIMAP
-22B9 ; [*0600.0020.0002.22B9] # HERMITIAN CONJUGATE MATRIX
-22BA ; [*0601.0020.0002.22BA] # INTERCALATE
-22BB ; [*0602.0020.0002.22BB] # XOR
-22BC ; [*0603.0020.0002.22BC] # NAND
-22BD ; [*0604.0020.0002.22BD] # NOR
-22BE ; [*0605.0020.0002.22BE] # RIGHT ANGLE WITH ARC
-22BF ; [*0606.0020.0002.22BF] # RIGHT TRIANGLE
-22C0 ; [*0607.0020.0002.22C0] # N-ARY LOGICAL AND
-22C1 ; [*0608.0020.0002.22C1] # N-ARY LOGICAL OR
-22C2 ; [*0609.0020.0002.22C2] # N-ARY INTERSECTION
-22C3 ; [*060A.0020.0002.22C3] # N-ARY UNION
-22C4 ; [*060B.0020.0002.22C4] # DIAMOND OPERATOR
-22C5 ; [*060C.0020.0002.22C5] # DOT OPERATOR
-22C6 ; [*060D.0020.0002.22C6] # STAR OPERATOR
-22C7 ; [*060E.0020.0002.22C7] # DIVISION TIMES
-22C8 ; [*060F.0020.0002.22C8] # BOWTIE
-22C9 ; [*0610.0020.0002.22C9] # LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CA ; [*0611.0020.0002.22CA] # RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CB ; [*0612.0020.0002.22CB] # LEFT SEMIDIRECT PRODUCT
-22CC ; [*0613.0020.0002.22CC] # RIGHT SEMIDIRECT PRODUCT
-22CD ; [*0614.0020.0002.22CD] # REVERSED TILDE EQUALS
-22CE ; [*0615.0020.0002.22CE] # CURLY LOGICAL OR
-22CF ; [*0616.0020.0002.22CF] # CURLY LOGICAL AND
-22D0 ; [*0617.0020.0002.22D0] # DOUBLE SUBSET
-22D1 ; [*0618.0020.0002.22D1] # DOUBLE SUPERSET
-22D2 ; [*0619.0020.0002.22D2] # DOUBLE INTERSECTION
-22D3 ; [*061A.0020.0002.22D3] # DOUBLE UNION
-22D4 ; [*061B.0020.0002.22D4] # PITCHFORK
-22D5 ; [*061C.0020.0002.22D5] # EQUAL AND PARALLEL TO
-22D6 ; [*061D.0020.0002.22D6] # LESS-THAN WITH DOT
-22D7 ; [*061E.0020.0002.22D7] # GREATER-THAN WITH DOT
-22D8 ; [*061F.0020.0002.22D8] # VERY MUCH LESS-THAN
-22D9 ; [*0620.0020.0002.22D9] # VERY MUCH GREATER-THAN
-22DA ; [*0621.0020.0002.22DA] # LESS-THAN EQUAL TO OR GREATER-THAN
-22DB ; [*0622.0020.0002.22DB] # GREATER-THAN EQUAL TO OR LESS-THAN
-22DC ; [*0623.0020.0002.22DC] # EQUAL TO OR LESS-THAN
-22DD ; [*0624.0020.0002.22DD] # EQUAL TO OR GREATER-THAN
-22DE ; [*0625.0020.0002.22DE] # EQUAL TO OR PRECEDES
-22DF ; [*0626.0020.0002.22DF] # EQUAL TO OR SUCCEEDS
-22E0 ; [*05CD.0020.0002.227C][.0000.0054.0002.0338] # DOES NOT PRECEDE OR EQUAL; QQCM
-22E1 ; [*05CE.0020.0002.227D][.0000.0054.0002.0338] # DOES NOT SUCCEED OR EQUAL; QQCM
-22E2 ; [*05DC.0020.0002.2291][.0000.0054.0002.0338] # NOT SQUARE IMAGE OF OR EQUAL TO; QQCM
-22E3 ; [*05DD.0020.0002.2292][.0000.0054.0002.0338] # NOT SQUARE ORIGINAL OF OR EQUAL TO; QQCM
-22E4 ; [*0627.0020.0002.22E4] # SQUARE IMAGE OF OR NOT EQUAL TO
-22E5 ; [*0628.0020.0002.22E5] # SQUARE ORIGINAL OF OR NOT EQUAL TO
-22E6 ; [*0629.0020.0002.22E6] # LESS-THAN BUT NOT EQUIVALENT TO
-22E7 ; [*062A.0020.0002.22E7] # GREATER-THAN BUT NOT EQUIVALENT TO
-22E8 ; [*062B.0020.0002.22E8] # PRECEDES BUT NOT EQUIVALENT TO
-22E9 ; [*062C.0020.0002.22E9] # SUCCEEDS BUT NOT EQUIVALENT TO
-22EA ; [*05F9.0020.0002.22B2][.0000.0054.0002.0338] # NOT NORMAL SUBGROUP OF; QQCM
-22EB ; [*05FA.0020.0002.22B3][.0000.0054.0002.0338] # DOES NOT CONTAIN AS NORMAL SUBGROUP; QQCM
-22EC ; [*05FB.0020.0002.22B4][.0000.0054.0002.0338] # NOT NORMAL SUBGROUP OF OR EQUAL TO; QQCM
-22ED ; [*05FC.0020.0002.22B5][.0000.0054.0002.0338] # DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL; QQCM
-22EE ; [*062D.0020.0002.22EE] # VERTICAL ELLIPSIS
-22EF ; [*062E.0020.0002.22EF] # MIDLINE HORIZONTAL ELLIPSIS
-22F0 ; [*062F.0020.0002.22F0] # UP RIGHT DIAGONAL ELLIPSIS
-22F1 ; [*0630.0020.0002.22F1] # DOWN RIGHT DIAGONAL ELLIPSIS
-22F2 ; [*0631.0020.0002.22F2] # ELEMENT OF WITH LONG HORIZONTAL STROKE
-22F3 ; [*0632.0020.0002.22F3] # ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F4 ; [*0633.0020.0002.22F4] # SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F5 ; [*0634.0020.0002.22F5] # ELEMENT OF WITH DOT ABOVE
-22F6 ; [*0635.0020.0002.22F6] # ELEMENT OF WITH OVERBAR
-22F7 ; [*0636.0020.0002.22F7] # SMALL ELEMENT OF WITH OVERBAR
-22F8 ; [*0637.0020.0002.22F8] # ELEMENT OF WITH UNDERBAR
-22F9 ; [*0638.0020.0002.22F9] # ELEMENT OF WITH TWO HORIZONTAL STROKES
-22FA ; [*0639.0020.0002.22FA] # CONTAINS WITH LONG HORIZONTAL STROKE
-22FB ; [*063A.0020.0002.22FB] # CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FC ; [*063B.0020.0002.22FC] # SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FD ; [*063C.0020.0002.22FD] # CONTAINS WITH OVERBAR
-22FE ; [*063D.0020.0002.22FE] # SMALL CONTAINS WITH OVERBAR
-22FF ; [*063E.0020.0002.22FF] # Z NOTATION BAG MEMBERSHIP
-2300 ; [*063F.0020.0002.2300] # DIAMETER SIGN
-2301 ; [*0640.0020.0002.2301] # ELECTRIC ARROW
-2302 ; [*0641.0020.0002.2302] # HOUSE
-2303 ; [*0642.0020.0002.2303] # UP ARROWHEAD
-2304 ; [*0643.0020.0002.2304] # DOWN ARROWHEAD
-2305 ; [*0644.0020.0002.2305] # PROJECTIVE
-2306 ; [*0645.0020.0002.2306] # PERSPECTIVE
-2307 ; [*0646.0020.0002.2307] # WAVY LINE
-2308 ; [*0647.0020.0002.2308] # LEFT CEILING
-2309 ; [*0648.0020.0002.2309] # RIGHT CEILING
-230A ; [*0649.0020.0002.230A] # LEFT FLOOR
-230B ; [*064A.0020.0002.230B] # RIGHT FLOOR
-230C ; [*064B.0020.0002.230C] # BOTTOM RIGHT CROP
-230D ; [*064C.0020.0002.230D] # BOTTOM LEFT CROP
-230E ; [*064D.0020.0002.230E] # TOP RIGHT CROP
-230F ; [*064E.0020.0002.230F] # TOP LEFT CROP
-2310 ; [*064F.0020.0002.2310] # REVERSED NOT SIGN
-2311 ; [*0650.0020.0002.2311] # SQUARE LOZENGE
-2312 ; [*0651.0020.0002.2312] # ARC
-2313 ; [*0652.0020.0002.2313] # SEGMENT
-2314 ; [*0653.0020.0002.2314] # SECTOR
-2315 ; [*0654.0020.0002.2315] # TELEPHONE RECORDER
-2316 ; [*0655.0020.0002.2316] # POSITION INDICATOR
-2317 ; [*0656.0020.0002.2317] # VIEWDATA SQUARE
-2318 ; [*0657.0020.0002.2318] # PLACE OF INTEREST SIGN
-2319 ; [*0658.0020.0002.2319] # TURNED NOT SIGN
-231A ; [*0659.0020.0002.231A] # WATCH
-231B ; [*065A.0020.0002.231B] # HOURGLASS
-231C ; [*065B.0020.0002.231C] # TOP LEFT CORNER
-231D ; [*065C.0020.0002.231D] # TOP RIGHT CORNER
-231E ; [*065D.0020.0002.231E] # BOTTOM LEFT CORNER
-231F ; [*065E.0020.0002.231F] # BOTTOM RIGHT CORNER
-2320 ; [*065F.0020.0002.2320] # TOP HALF INTEGRAL
-2321 ; [*0660.0020.0002.2321] # BOTTOM HALF INTEGRAL
-2322 ; [*0661.0020.0002.2322] # FROWN
-2323 ; [*0662.0020.0002.2323] # SMILE
-2324 ; [*0663.0020.0002.2324] # UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
-2325 ; [*0664.0020.0002.2325] # OPTION KEY
-2326 ; [*0665.0020.0002.2326] # ERASE TO THE RIGHT
-2327 ; [*0666.0020.0002.2327] # X IN A RECTANGLE BOX
-2328 ; [*0667.0020.0002.2328] # KEYBOARD
-2329 ; [*034C.0020.0002.2329] # LEFT-POINTING ANGLE BRACKET; QQC
-232A ; [*034D.0020.0002.232A] # RIGHT-POINTING ANGLE BRACKET; QQC
-232B ; [*0668.0020.0002.232B] # ERASE TO THE LEFT
-232C ; [*0669.0020.0002.232C] # BENZENE RING
-232D ; [*066A.0020.0002.232D] # CYLINDRICITY
-232E ; [*066B.0020.0002.232E] # ALL AROUND-PROFILE
-232F ; [*066C.0020.0002.232F] # SYMMETRY
-2330 ; [*066D.0020.0002.2330] # TOTAL RUNOUT
-2331 ; [*066E.0020.0002.2331] # DIMENSION ORIGIN
-2332 ; [*066F.0020.0002.2332] # CONICAL TAPER
-2333 ; [*0670.0020.0002.2333] # SLOPE
-2334 ; [*0671.0020.0002.2334] # COUNTERBORE
-2335 ; [*0672.0020.0002.2335] # COUNTERSINK
-2336 ; [*0673.0020.0002.2336] # APL FUNCTIONAL SYMBOL I-BEAM
-2337 ; [*0674.0020.0002.2337] # APL FUNCTIONAL SYMBOL SQUISH QUAD
-2338 ; [*0675.0020.0002.2338] # APL FUNCTIONAL SYMBOL QUAD EQUAL
-2339 ; [*0676.0020.0002.2339] # APL FUNCTIONAL SYMBOL QUAD DIVIDE
-233A ; [*0677.0020.0002.233A] # APL FUNCTIONAL SYMBOL QUAD DIAMOND
-233B ; [*0678.0020.0002.233B] # APL FUNCTIONAL SYMBOL QUAD JOT
-233C ; [*0679.0020.0002.233C] # APL FUNCTIONAL SYMBOL QUAD CIRCLE
-233D ; [*067A.0020.0002.233D] # APL FUNCTIONAL SYMBOL CIRCLE STILE
-233E ; [*067B.0020.0002.233E] # APL FUNCTIONAL SYMBOL CIRCLE JOT
-233F ; [*067C.0020.0002.233F] # APL FUNCTIONAL SYMBOL SLASH BAR
-2340 ; [*067D.0020.0002.2340] # APL FUNCTIONAL SYMBOL BACKSLASH BAR
-2341 ; [*067E.0020.0002.2341] # APL FUNCTIONAL SYMBOL QUAD SLASH
-2342 ; [*067F.0020.0002.2342] # APL FUNCTIONAL SYMBOL QUAD BACKSLASH
-2343 ; [*0680.0020.0002.2343] # APL FUNCTIONAL SYMBOL QUAD LESS-THAN
-2344 ; [*0681.0020.0002.2344] # APL FUNCTIONAL SYMBOL QUAD GREATER-THAN
-2345 ; [*0682.0020.0002.2345] # APL FUNCTIONAL SYMBOL LEFTWARDS VANE
-2346 ; [*0683.0020.0002.2346] # APL FUNCTIONAL SYMBOL RIGHTWARDS VANE
-2347 ; [*0684.0020.0002.2347] # APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
-2348 ; [*0685.0020.0002.2348] # APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
-2349 ; [*0686.0020.0002.2349] # APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH
-234A ; [*0687.0020.0002.234A] # APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
-234B ; [*0688.0020.0002.234B] # APL FUNCTIONAL SYMBOL DELTA STILE
-234C ; [*0689.0020.0002.234C] # APL FUNCTIONAL SYMBOL QUAD DOWN CARET
-234D ; [*068A.0020.0002.234D] # APL FUNCTIONAL SYMBOL QUAD DELTA
-234E ; [*068B.0020.0002.234E] # APL FUNCTIONAL SYMBOL DOWN TACK JOT
-234F ; [*068C.0020.0002.234F] # APL FUNCTIONAL SYMBOL UPWARDS VANE
-2350 ; [*068D.0020.0002.2350] # APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
-2351 ; [*068E.0020.0002.2351] # APL FUNCTIONAL SYMBOL UP TACK OVERBAR
-2352 ; [*068F.0020.0002.2352] # APL FUNCTIONAL SYMBOL DEL STILE
-2353 ; [*0690.0020.0002.2353] # APL FUNCTIONAL SYMBOL QUAD UP CARET
-2354 ; [*0691.0020.0002.2354] # APL FUNCTIONAL SYMBOL QUAD DEL
-2355 ; [*0692.0020.0002.2355] # APL FUNCTIONAL SYMBOL UP TACK JOT
-2356 ; [*0693.0020.0002.2356] # APL FUNCTIONAL SYMBOL DOWNWARDS VANE
-2357 ; [*0694.0020.0002.2357] # APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
-2358 ; [*0695.0020.0002.2358] # APL FUNCTIONAL SYMBOL QUOTE UNDERBAR
-2359 ; [*0696.0020.0002.2359] # APL FUNCTIONAL SYMBOL DELTA UNDERBAR
-235A ; [*0697.0020.0002.235A] # APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR
-235B ; [*0698.0020.0002.235B] # APL FUNCTIONAL SYMBOL JOT UNDERBAR
-235C ; [*0699.0020.0002.235C] # APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR
-235D ; [*069A.0020.0002.235D] # APL FUNCTIONAL SYMBOL UP SHOE JOT
-235E ; [*069B.0020.0002.235E] # APL FUNCTIONAL SYMBOL QUOTE QUAD
-235F ; [*069C.0020.0002.235F] # APL FUNCTIONAL SYMBOL CIRCLE STAR
-2360 ; [*069D.0020.0002.2360] # APL FUNCTIONAL SYMBOL QUAD COLON
-2361 ; [*069E.0020.0002.2361] # APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
-2362 ; [*069F.0020.0002.2362] # APL FUNCTIONAL SYMBOL DEL DIAERESIS
-2363 ; [*06A0.0020.0002.2363] # APL FUNCTIONAL SYMBOL STAR DIAERESIS
-2364 ; [*06A1.0020.0002.2364] # APL FUNCTIONAL SYMBOL JOT DIAERESIS
-2365 ; [*06A2.0020.0002.2365] # APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
-2366 ; [*06A3.0020.0002.2366] # APL FUNCTIONAL SYMBOL DOWN SHOE STILE
-2367 ; [*06A4.0020.0002.2367] # APL FUNCTIONAL SYMBOL LEFT SHOE STILE
-2368 ; [*06A5.0020.0002.2368] # APL FUNCTIONAL SYMBOL TILDE DIAERESIS
-2369 ; [*06A6.0020.0002.2369] # APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS
-236A ; [*06A7.0020.0002.236A] # APL FUNCTIONAL SYMBOL COMMA BAR
-236B ; [*06A8.0020.0002.236B] # APL FUNCTIONAL SYMBOL DEL TILDE
-236C ; [*06A9.0020.0002.236C] # APL FUNCTIONAL SYMBOL ZILDE
-236D ; [*06AA.0020.0002.236D] # APL FUNCTIONAL SYMBOL STILE TILDE
-236E ; [*06AB.0020.0002.236E] # APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR
-236F ; [*06AC.0020.0002.236F] # APL FUNCTIONAL SYMBOL QUAD NOT EQUAL
-2370 ; [*06AD.0020.0002.2370] # APL FUNCTIONAL SYMBOL QUAD QUESTION
-2371 ; [*06AE.0020.0002.2371] # APL FUNCTIONAL SYMBOL DOWN CARET TILDE
-2372 ; [*06AF.0020.0002.2372] # APL FUNCTIONAL SYMBOL UP CARET TILDE
-2373 ; [*06B0.0020.0002.2373] # APL FUNCTIONAL SYMBOL IOTA
-2374 ; [*06B1.0020.0002.2374] # APL FUNCTIONAL SYMBOL RHO
-2375 ; [*06B2.0020.0002.2375] # APL FUNCTIONAL SYMBOL OMEGA
-2376 ; [*06B3.0020.0002.2376] # APL FUNCTIONAL SYMBOL ALPHA UNDERBAR
-2377 ; [*06B4.0020.0002.2377] # APL FUNCTIONAL SYMBOL EPSILON UNDERBAR
-2378 ; [*06B5.0020.0002.2378] # APL FUNCTIONAL SYMBOL IOTA UNDERBAR
-2379 ; [*06B6.0020.0002.2379] # APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
-237A ; [*06B7.0020.0002.237A] # APL FUNCTIONAL SYMBOL ALPHA
-237B ; [*06B8.0020.0002.237B] # NOT CHECK MARK
-237C ; [*06B9.0020.0002.237C] # RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
-237D ; [*06BA.0020.0002.237D] # SHOULDERED OPEN BOX
-237E ; [*06BB.0020.0002.237E] # BELL SYMBOL
-237F ; [*06BC.0020.0002.237F] # VERTICAL LINE WITH MIDDLE DOT
-2380 ; [*06BD.0020.0002.2380] # INSERTION SYMBOL
-2381 ; [*06BE.0020.0002.2381] # CONTINUOUS UNDERLINE SYMBOL
-2382 ; [*06BF.0020.0002.2382] # DISCONTINUOUS UNDERLINE SYMBOL
-2383 ; [*06C0.0020.0002.2383] # EMPHASIS SYMBOL
-2384 ; [*06C1.0020.0002.2384] # COMPOSITION SYMBOL
-2385 ; [*06C2.0020.0002.2385] # WHITE SQUARE WITH CENTRE VERTICAL LINE
-2386 ; [*06C3.0020.0002.2386] # ENTER SYMBOL
-2387 ; [*06C4.0020.0002.2387] # ALTERNATIVE KEY SYMBOL
-2388 ; [*06C5.0020.0002.2388] # HELM SYMBOL
-2389 ; [*06C6.0020.0002.2389] # CIRCLED HORIZONTAL BAR WITH NOTCH
-238A ; [*06C7.0020.0002.238A] # CIRCLED TRIANGLE DOWN
-238B ; [*06C8.0020.0002.238B] # BROKEN CIRCLE WITH NORTHWEST ARROW
-238C ; [*06C9.0020.0002.238C] # UNDO SYMBOL
-238D ; [*06CA.0020.0002.238D] # MONOSTABLE SYMBOL
-238E ; [*06CB.0020.0002.238E] # HYSTERESIS SYMBOL
-238F ; [*06CC.0020.0002.238F] # OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL
-2390 ; [*06CD.0020.0002.2390] # OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL
-2391 ; [*06CE.0020.0002.2391] # PASSIVE-PULL-DOWN-OUTPUT SYMBOL
-2392 ; [*06CF.0020.0002.2392] # PASSIVE-PULL-UP-OUTPUT SYMBOL
-2393 ; [*06D0.0020.0002.2393] # DIRECT CURRENT SYMBOL FORM TWO
-2394 ; [*06D1.0020.0002.2394] # SOFTWARE-FUNCTION SYMBOL
-2395 ; [*06D2.0020.0002.2395] # APL FUNCTIONAL SYMBOL QUAD
-2396 ; [*06D3.0020.0002.2396] # DECIMAL SEPARATOR KEY SYMBOL
-2397 ; [*06D4.0020.0002.2397] # PREVIOUS PAGE
-2398 ; [*06D5.0020.0002.2398] # NEXT PAGE
-2399 ; [*06D6.0020.0002.2399] # PRINT SCREEN SYMBOL
-239A ; [*06D7.0020.0002.239A] # CLEAR SCREEN SYMBOL
-239B ; [*06D8.0020.0002.239B] # LEFT PARENTHESIS UPPER HOOK
-239C ; [*06D9.0020.0002.239C] # LEFT PARENTHESIS EXTENSION
-239D ; [*06DA.0020.0002.239D] # LEFT PARENTHESIS LOWER HOOK
-239E ; [*06DB.0020.0002.239E] # RIGHT PARENTHESIS UPPER HOOK
-239F ; [*06DC.0020.0002.239F] # RIGHT PARENTHESIS EXTENSION
-23A0 ; [*06DD.0020.0002.23A0] # RIGHT PARENTHESIS LOWER HOOK
-23A1 ; [*06DE.0020.0002.23A1] # LEFT SQUARE BRACKET UPPER CORNER
-23A2 ; [*06DF.0020.0002.23A2] # LEFT SQUARE BRACKET EXTENSION
-23A3 ; [*06E0.0020.0002.23A3] # LEFT SQUARE BRACKET LOWER CORNER
-23A4 ; [*06E1.0020.0002.23A4] # RIGHT SQUARE BRACKET UPPER CORNER
-23A5 ; [*06E2.0020.0002.23A5] # RIGHT SQUARE BRACKET EXTENSION
-23A6 ; [*06E3.0020.0002.23A6] # RIGHT SQUARE BRACKET LOWER CORNER
-23A7 ; [*06E4.0020.0002.23A7] # LEFT CURLY BRACKET UPPER HOOK
-23A8 ; [*06E5.0020.0002.23A8] # LEFT CURLY BRACKET MIDDLE PIECE
-23A9 ; [*06E6.0020.0002.23A9] # LEFT CURLY BRACKET LOWER HOOK
-23AA ; [*06E7.0020.0002.23AA] # CURLY BRACKET EXTENSION
-23AB ; [*06E8.0020.0002.23AB] # RIGHT CURLY BRACKET UPPER HOOK
-23AC ; [*06E9.0020.0002.23AC] # RIGHT CURLY BRACKET MIDDLE PIECE
-23AD ; [*06EA.0020.0002.23AD] # RIGHT CURLY BRACKET LOWER HOOK
-23AE ; [*06EB.0020.0002.23AE] # INTEGRAL EXTENSION
-23AF ; [*06EC.0020.0002.23AF] # HORIZONTAL LINE EXTENSION
-23B0 ; [*06ED.0020.0002.23B0] # UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
-23B1 ; [*06EE.0020.0002.23B1] # UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
-23B2 ; [*06EF.0020.0002.23B2] # SUMMATION TOP
-23B3 ; [*06F0.0020.0002.23B3] # SUMMATION BOTTOM
-23B4 ; [*06F1.0020.0002.23B4] # TOP SQUARE BRACKET
-23B5 ; [*06F2.0020.0002.23B5] # BOTTOM SQUARE BRACKET
-23B6 ; [*06F3.0020.0002.23B6] # BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
-23B7 ; [*06F4.0020.0002.23B7] # RADICAL SYMBOL BOTTOM
-23B8 ; [*06F5.0020.0002.23B8] # LEFT VERTICAL BOX LINE
-23B9 ; [*06F6.0020.0002.23B9] # RIGHT VERTICAL BOX LINE
-23BA ; [*06F7.0020.0002.23BA] # HORIZONTAL SCAN LINE-1
-23BB ; [*06F8.0020.0002.23BB] # HORIZONTAL SCAN LINE-3
-23BC ; [*06F9.0020.0002.23BC] # HORIZONTAL SCAN LINE-7
-23BD ; [*06FA.0020.0002.23BD] # HORIZONTAL SCAN LINE-9
-23BE ; [*06FB.0020.0002.23BE] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT
-23BF ; [*06FC.0020.0002.23BF] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT
-23C0 ; [*06FD.0020.0002.23C0] # DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE
-23C1 ; [*06FE.0020.0002.23C1] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE
-23C2 ; [*06FF.0020.0002.23C2] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE
-23C3 ; [*0700.0020.0002.23C3] # DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE
-23C4 ; [*0701.0020.0002.23C4] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE
-23C5 ; [*0702.0020.0002.23C5] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE
-23C6 ; [*0703.0020.0002.23C6] # DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE
-23C7 ; [*0704.0020.0002.23C7] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE
-23C8 ; [*0705.0020.0002.23C8] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE
-23C9 ; [*0706.0020.0002.23C9] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL
-23CA ; [*0707.0020.0002.23CA] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL
-23CB ; [*0708.0020.0002.23CB] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT
-23CC ; [*0709.0020.0002.23CC] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT
-23CD ; [*070A.0020.0002.23CD] # SQUARE FOOT
-23CE ; [*070B.0020.0002.23CE] # RETURN SYMBOL
-23CF ; [*070C.0020.0002.23CF] # EJECT SYMBOL
-23D0 ; [*070D.0020.0002.23D0] # VERTICAL LINE EXTENSION
-23D1 ; [*070E.0020.0002.23D1] # METRICAL BREVE
-23D2 ; [*070F.0020.0002.23D2] # METRICAL LONG OVER SHORT
-23D3 ; [*0710.0020.0002.23D3] # METRICAL SHORT OVER LONG
-23D4 ; [*0711.0020.0002.23D4] # METRICAL LONG OVER TWO SHORTS
-23D5 ; [*0712.0020.0002.23D5] # METRICAL TWO SHORTS OVER LONG
-23D6 ; [*0713.0020.0002.23D6] # METRICAL TWO SHORTS JOINED
-23D7 ; [*0714.0020.0002.23D7] # METRICAL TRISEME
-23D8 ; [*0715.0020.0002.23D8] # METRICAL TETRASEME
-23D9 ; [*0716.0020.0002.23D9] # METRICAL PENTASEME
-23DA ; [*0717.0020.0002.23DA] # EARTH GROUND
-23DB ; [*0718.0020.0002.23DB] # FUSE
-23DC ; [*0719.0020.0002.23DC] # TOP PARENTHESIS
-23DD ; [*071A.0020.0002.23DD] # BOTTOM PARENTHESIS
-23DE ; [*071B.0020.0002.23DE] # TOP CURLY BRACKET
-23DF ; [*071C.0020.0002.23DF] # BOTTOM CURLY BRACKET
-23E0 ; [*071D.0020.0002.23E0] # TOP TORTOISE SHELL BRACKET
-23E1 ; [*071E.0020.0002.23E1] # BOTTOM TORTOISE SHELL BRACKET
-23E2 ; [*071F.0020.0002.23E2] # WHITE TRAPEZIUM
-23E3 ; [*0720.0020.0002.23E3] # BENZENE RING WITH CIRCLE
-23E4 ; [*0721.0020.0002.23E4] # STRAIGHTNESS
-23E5 ; [*0722.0020.0002.23E5] # FLATNESS
-23E6 ; [*0723.0020.0002.23E6] # AC CURRENT
-23E7 ; [*0724.0020.0002.23E7] # ELECTRICAL INTERSECTION
-23E8 ; [*0725.0020.0002.23E8] # DECIMAL EXPONENT SYMBOL
-23E9 ; [*0726.0020.0002.23E9] # BLACK RIGHT-POINTING DOUBLE TRIANGLE
-23EA ; [*0727.0020.0002.23EA] # BLACK LEFT-POINTING DOUBLE TRIANGLE
-23EB ; [*0728.0020.0002.23EB] # BLACK UP-POINTING DOUBLE TRIANGLE
-23EC ; [*0729.0020.0002.23EC] # BLACK DOWN-POINTING DOUBLE TRIANGLE
-23ED ; [*072A.0020.0002.23ED] # BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
-23EE ; [*072B.0020.0002.23EE] # BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
-23EF ; [*072C.0020.0002.23EF] # BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
-23F0 ; [*072D.0020.0002.23F0] # ALARM CLOCK
-23F1 ; [*072E.0020.0002.23F1] # STOPWATCH
-23F2 ; [*072F.0020.0002.23F2] # TIMER CLOCK
-23F3 ; [*0730.0020.0002.23F3] # HOURGLASS WITH FLOWING SAND
-2400 ; [*0731.0020.0002.2400] # SYMBOL FOR NULL
-2401 ; [*0732.0020.0002.2401] # SYMBOL FOR START OF HEADING
-2402 ; [*0733.0020.0002.2402] # SYMBOL FOR START OF TEXT
-2403 ; [*0734.0020.0002.2403] # SYMBOL FOR END OF TEXT
-2404 ; [*0735.0020.0002.2404] # SYMBOL FOR END OF TRANSMISSION
-2405 ; [*0736.0020.0002.2405] # SYMBOL FOR ENQUIRY
-2406 ; [*0737.0020.0002.2406] # SYMBOL FOR ACKNOWLEDGE
-2407 ; [*0738.0020.0002.2407] # SYMBOL FOR BELL
-2408 ; [*0739.0020.0002.2408] # SYMBOL FOR BACKSPACE
-2409 ; [*073A.0020.0002.2409] # SYMBOL FOR HORIZONTAL TABULATION
-240A ; [*073B.0020.0002.240A] # SYMBOL FOR LINE FEED
-240B ; [*073C.0020.0002.240B] # SYMBOL FOR VERTICAL TABULATION
-240C ; [*073D.0020.0002.240C] # SYMBOL FOR FORM FEED
-240D ; [*073E.0020.0002.240D] # SYMBOL FOR CARRIAGE RETURN
-240E ; [*073F.0020.0002.240E] # SYMBOL FOR SHIFT OUT
-240F ; [*0740.0020.0002.240F] # SYMBOL FOR SHIFT IN
-2410 ; [*0741.0020.0002.2410] # SYMBOL FOR DATA LINK ESCAPE
-2411 ; [*0742.0020.0002.2411] # SYMBOL FOR DEVICE CONTROL ONE
-2412 ; [*0743.0020.0002.2412] # SYMBOL FOR DEVICE CONTROL TWO
-2413 ; [*0744.0020.0002.2413] # SYMBOL FOR DEVICE CONTROL THREE
-2414 ; [*0745.0020.0002.2414] # SYMBOL FOR DEVICE CONTROL FOUR
-2415 ; [*0746.0020.0002.2415] # SYMBOL FOR NEGATIVE ACKNOWLEDGE
-2416 ; [*0747.0020.0002.2416] # SYMBOL FOR SYNCHRONOUS IDLE
-2417 ; [*0748.0020.0002.2417] # SYMBOL FOR END OF TRANSMISSION BLOCK
-2418 ; [*0749.0020.0002.2418] # SYMBOL FOR CANCEL
-2419 ; [*074A.0020.0002.2419] # SYMBOL FOR END OF MEDIUM
-241A ; [*074B.0020.0002.241A] # SYMBOL FOR SUBSTITUTE
-241B ; [*074C.0020.0002.241B] # SYMBOL FOR ESCAPE
-241C ; [*074D.0020.0002.241C] # SYMBOL FOR FILE SEPARATOR
-241D ; [*074E.0020.0002.241D] # SYMBOL FOR GROUP SEPARATOR
-241E ; [*074F.0020.0002.241E] # SYMBOL FOR RECORD SEPARATOR
-241F ; [*0750.0020.0002.241F] # SYMBOL FOR UNIT SEPARATOR
-2420 ; [*0751.0020.0002.2420] # SYMBOL FOR SPACE
-2421 ; [*0752.0020.0002.2421] # SYMBOL FOR DELETE
-2422 ; [*0753.0020.0002.2422] # BLANK SYMBOL
-2423 ; [*0754.0020.0002.2423] # OPEN BOX
-2424 ; [*0755.0020.0002.2424] # SYMBOL FOR NEWLINE
-2425 ; [*0756.0020.0002.2425] # SYMBOL FOR DELETE FORM TWO
-2426 ; [*0757.0020.0002.2426] # SYMBOL FOR SUBSTITUTE FORM TWO
-2440 ; [*0758.0020.0002.2440] # OCR HOOK
-2441 ; [*0759.0020.0002.2441] # OCR CHAIR
-2442 ; [*075A.0020.0002.2442] # OCR FORK
-2443 ; [*075B.0020.0002.2443] # OCR INVERTED FORK
-2444 ; [*075C.0020.0002.2444] # OCR BELT BUCKLE
-2445 ; [*075D.0020.0002.2445] # OCR BOW TIE
-2446 ; [*075E.0020.0002.2446] # OCR BRANCH BANK IDENTIFICATION
-2447 ; [*075F.0020.0002.2447] # OCR AMOUNT OF CHECK
-2448 ; [*0760.0020.0002.2448] # OCR DASH
-2449 ; [*0761.0020.0002.2449] # OCR CUSTOMER ACCOUNT NUMBER
-244A ; [*0762.0020.0002.244A] # OCR DOUBLE BACKSLASH
-2500 ; [*0763.0020.0002.2500] # BOX DRAWINGS LIGHT HORIZONTAL
-2501 ; [*0764.0020.0002.2501] # BOX DRAWINGS HEAVY HORIZONTAL
-2502 ; [*0765.0020.0002.2502] # BOX DRAWINGS LIGHT VERTICAL
-2503 ; [*0766.0020.0002.2503] # BOX DRAWINGS HEAVY VERTICAL
-2504 ; [*0767.0020.0002.2504] # BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
-2505 ; [*0768.0020.0002.2505] # BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
-2506 ; [*0769.0020.0002.2506] # BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
-2507 ; [*076A.0020.0002.2507] # BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
-2508 ; [*076B.0020.0002.2508] # BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
-2509 ; [*076C.0020.0002.2509] # BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
-250A ; [*076D.0020.0002.250A] # BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
-250B ; [*076E.0020.0002.250B] # BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
-250C ; [*076F.0020.0002.250C] # BOX DRAWINGS LIGHT DOWN AND RIGHT
-250D ; [*0770.0020.0002.250D] # BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
-250E ; [*0771.0020.0002.250E] # BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
-250F ; [*0772.0020.0002.250F] # BOX DRAWINGS HEAVY DOWN AND RIGHT
-2510 ; [*0773.0020.0002.2510] # BOX DRAWINGS LIGHT DOWN AND LEFT
-2511 ; [*0774.0020.0002.2511] # BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
-2512 ; [*0775.0020.0002.2512] # BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
-2513 ; [*0776.0020.0002.2513] # BOX DRAWINGS HEAVY DOWN AND LEFT
-2514 ; [*0777.0020.0002.2514] # BOX DRAWINGS LIGHT UP AND RIGHT
-2515 ; [*0778.0020.0002.2515] # BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
-2516 ; [*0779.0020.0002.2516] # BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
-2517 ; [*077A.0020.0002.2517] # BOX DRAWINGS HEAVY UP AND RIGHT
-2518 ; [*077B.0020.0002.2518] # BOX DRAWINGS LIGHT UP AND LEFT
-2519 ; [*077C.0020.0002.2519] # BOX DRAWINGS UP LIGHT AND LEFT HEAVY
-251A ; [*077D.0020.0002.251A] # BOX DRAWINGS UP HEAVY AND LEFT LIGHT
-251B ; [*077E.0020.0002.251B] # BOX DRAWINGS HEAVY UP AND LEFT
-251C ; [*077F.0020.0002.251C] # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-251D ; [*0780.0020.0002.251D] # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
-251E ; [*0781.0020.0002.251E] # BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
-251F ; [*0782.0020.0002.251F] # BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
-2520 ; [*0783.0020.0002.2520] # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
-2521 ; [*0784.0020.0002.2521] # BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
-2522 ; [*0785.0020.0002.2522] # BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
-2523 ; [*0786.0020.0002.2523] # BOX DRAWINGS HEAVY VERTICAL AND RIGHT
-2524 ; [*0787.0020.0002.2524] # BOX DRAWINGS LIGHT VERTICAL AND LEFT
-2525 ; [*0788.0020.0002.2525] # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
-2526 ; [*0789.0020.0002.2526] # BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
-2527 ; [*078A.0020.0002.2527] # BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
-2528 ; [*078B.0020.0002.2528] # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
-2529 ; [*078C.0020.0002.2529] # BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
-252A ; [*078D.0020.0002.252A] # BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
-252B ; [*078E.0020.0002.252B] # BOX DRAWINGS HEAVY VERTICAL AND LEFT
-252C ; [*078F.0020.0002.252C] # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-252D ; [*0790.0020.0002.252D] # BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
-252E ; [*0791.0020.0002.252E] # BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
-252F ; [*0792.0020.0002.252F] # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
-2530 ; [*0793.0020.0002.2530] # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
-2531 ; [*0794.0020.0002.2531] # BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
-2532 ; [*0795.0020.0002.2532] # BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
-2533 ; [*0796.0020.0002.2533] # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
-2534 ; [*0797.0020.0002.2534] # BOX DRAWINGS LIGHT UP AND HORIZONTAL
-2535 ; [*0798.0020.0002.2535] # BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
-2536 ; [*0799.0020.0002.2536] # BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
-2537 ; [*079A.0020.0002.2537] # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
-2538 ; [*079B.0020.0002.2538] # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
-2539 ; [*079C.0020.0002.2539] # BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
-253A ; [*079D.0020.0002.253A] # BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
-253B ; [*079E.0020.0002.253B] # BOX DRAWINGS HEAVY UP AND HORIZONTAL
-253C ; [*079F.0020.0002.253C] # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-253D ; [*07A0.0020.0002.253D] # BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
-253E ; [*07A1.0020.0002.253E] # BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
-253F ; [*07A2.0020.0002.253F] # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
-2540 ; [*07A3.0020.0002.2540] # BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
-2541 ; [*07A4.0020.0002.2541] # BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
-2542 ; [*07A5.0020.0002.2542] # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
-2543 ; [*07A6.0020.0002.2543] # BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
-2544 ; [*07A7.0020.0002.2544] # BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
-2545 ; [*07A8.0020.0002.2545] # BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
-2546 ; [*07A9.0020.0002.2546] # BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
-2547 ; [*07AA.0020.0002.2547] # BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
-2548 ; [*07AB.0020.0002.2548] # BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
-2549 ; [*07AC.0020.0002.2549] # BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
-254A ; [*07AD.0020.0002.254A] # BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
-254B ; [*07AE.0020.0002.254B] # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
-254C ; [*07AF.0020.0002.254C] # BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
-254D ; [*07B0.0020.0002.254D] # BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
-254E ; [*07B1.0020.0002.254E] # BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
-254F ; [*07B2.0020.0002.254F] # BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
-2550 ; [*07B3.0020.0002.2550] # BOX DRAWINGS DOUBLE HORIZONTAL
-2551 ; [*07B4.0020.0002.2551] # BOX DRAWINGS DOUBLE VERTICAL
-2552 ; [*07B5.0020.0002.2552] # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-2553 ; [*07B6.0020.0002.2553] # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-2554 ; [*07B7.0020.0002.2554] # BOX DRAWINGS DOUBLE DOWN AND RIGHT
-2555 ; [*07B8.0020.0002.2555] # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-2556 ; [*07B9.0020.0002.2556] # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-2557 ; [*07BA.0020.0002.2557] # BOX DRAWINGS DOUBLE DOWN AND LEFT
-2558 ; [*07BB.0020.0002.2558] # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-2559 ; [*07BC.0020.0002.2559] # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-255A ; [*07BD.0020.0002.255A] # BOX DRAWINGS DOUBLE UP AND RIGHT
-255B ; [*07BE.0020.0002.255B] # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-255C ; [*07BF.0020.0002.255C] # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-255D ; [*07C0.0020.0002.255D] # BOX DRAWINGS DOUBLE UP AND LEFT
-255E ; [*07C1.0020.0002.255E] # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-255F ; [*07C2.0020.0002.255F] # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-2560 ; [*07C3.0020.0002.2560] # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-2561 ; [*07C4.0020.0002.2561] # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-2562 ; [*07C5.0020.0002.2562] # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-2563 ; [*07C6.0020.0002.2563] # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-2564 ; [*07C7.0020.0002.2564] # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-2565 ; [*07C8.0020.0002.2565] # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-2566 ; [*07C9.0020.0002.2566] # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-2567 ; [*07CA.0020.0002.2567] # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-2568 ; [*07CB.0020.0002.2568] # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-2569 ; [*07CC.0020.0002.2569] # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-256A ; [*07CD.0020.0002.256A] # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-256B ; [*07CE.0020.0002.256B] # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-256C ; [*07CF.0020.0002.256C] # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-256D ; [*07D0.0020.0002.256D] # BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
-256E ; [*07D1.0020.0002.256E] # BOX DRAWINGS LIGHT ARC DOWN AND LEFT
-256F ; [*07D2.0020.0002.256F] # BOX DRAWINGS LIGHT ARC UP AND LEFT
-2570 ; [*07D3.0020.0002.2570] # BOX DRAWINGS LIGHT ARC UP AND RIGHT
-2571 ; [*07D4.0020.0002.2571] # BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
-2572 ; [*07D5.0020.0002.2572] # BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
-2573 ; [*07D6.0020.0002.2573] # BOX DRAWINGS LIGHT DIAGONAL CROSS
-2574 ; [*07D7.0020.0002.2574] # BOX DRAWINGS LIGHT LEFT
-2575 ; [*07D8.0020.0002.2575] # BOX DRAWINGS LIGHT UP
-2576 ; [*07D9.0020.0002.2576] # BOX DRAWINGS LIGHT RIGHT
-2577 ; [*07DA.0020.0002.2577] # BOX DRAWINGS LIGHT DOWN
-2578 ; [*07DB.0020.0002.2578] # BOX DRAWINGS HEAVY LEFT
-2579 ; [*07DC.0020.0002.2579] # BOX DRAWINGS HEAVY UP
-257A ; [*07DD.0020.0002.257A] # BOX DRAWINGS HEAVY RIGHT
-257B ; [*07DE.0020.0002.257B] # BOX DRAWINGS HEAVY DOWN
-257C ; [*07DF.0020.0002.257C] # BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
-257D ; [*07E0.0020.0002.257D] # BOX DRAWINGS LIGHT UP AND HEAVY DOWN
-257E ; [*07E1.0020.0002.257E] # BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
-257F ; [*07E2.0020.0002.257F] # BOX DRAWINGS HEAVY UP AND LIGHT DOWN
-2580 ; [*07E3.0020.0002.2580] # UPPER HALF BLOCK
-2581 ; [*07E4.0020.0002.2581] # LOWER ONE EIGHTH BLOCK
-2582 ; [*07E5.0020.0002.2582] # LOWER ONE QUARTER BLOCK
-2583 ; [*07E6.0020.0002.2583] # LOWER THREE EIGHTHS BLOCK
-2584 ; [*07E7.0020.0002.2584] # LOWER HALF BLOCK
-2585 ; [*07E8.0020.0002.2585] # LOWER FIVE EIGHTHS BLOCK
-2586 ; [*07E9.0020.0002.2586] # LOWER THREE QUARTERS BLOCK
-2587 ; [*07EA.0020.0002.2587] # LOWER SEVEN EIGHTHS BLOCK
-2588 ; [*07EB.0020.0002.2588] # FULL BLOCK
-2589 ; [*07EC.0020.0002.2589] # LEFT SEVEN EIGHTHS BLOCK
-258A ; [*07ED.0020.0002.258A] # LEFT THREE QUARTERS BLOCK
-258B ; [*07EE.0020.0002.258B] # LEFT FIVE EIGHTHS BLOCK
-258C ; [*07EF.0020.0002.258C] # LEFT HALF BLOCK
-258D ; [*07F0.0020.0002.258D] # LEFT THREE EIGHTHS BLOCK
-258E ; [*07F1.0020.0002.258E] # LEFT ONE QUARTER BLOCK
-258F ; [*07F2.0020.0002.258F] # LEFT ONE EIGHTH BLOCK
-2590 ; [*07F3.0020.0002.2590] # RIGHT HALF BLOCK
-2591 ; [*07F4.0020.0002.2591] # LIGHT SHADE
-2592 ; [*07F5.0020.0002.2592] # MEDIUM SHADE
-2593 ; [*07F6.0020.0002.2593] # DARK SHADE
-2594 ; [*07F7.0020.0002.2594] # UPPER ONE EIGHTH BLOCK
-2595 ; [*07F8.0020.0002.2595] # RIGHT ONE EIGHTH BLOCK
-2596 ; [*07F9.0020.0002.2596] # QUADRANT LOWER LEFT
-2597 ; [*07FA.0020.0002.2597] # QUADRANT LOWER RIGHT
-2598 ; [*07FB.0020.0002.2598] # QUADRANT UPPER LEFT
-2599 ; [*07FC.0020.0002.2599] # QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT
-259A ; [*07FD.0020.0002.259A] # QUADRANT UPPER LEFT AND LOWER RIGHT
-259B ; [*07FE.0020.0002.259B] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT
-259C ; [*07FF.0020.0002.259C] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT
-259D ; [*0800.0020.0002.259D] # QUADRANT UPPER RIGHT
-259E ; [*0801.0020.0002.259E] # QUADRANT UPPER RIGHT AND LOWER LEFT
-259F ; [*0802.0020.0002.259F] # QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
-25A0 ; [*0803.0020.0002.25A0] # BLACK SQUARE
-25A1 ; [*0804.0020.0002.25A1] # WHITE SQUARE
-25A2 ; [*0805.0020.0002.25A2] # WHITE SQUARE WITH ROUNDED CORNERS
-25A3 ; [*0806.0020.0002.25A3] # WHITE SQUARE CONTAINING BLACK SMALL SQUARE
-25A4 ; [*0807.0020.0002.25A4] # SQUARE WITH HORIZONTAL FILL
-25A5 ; [*0808.0020.0002.25A5] # SQUARE WITH VERTICAL FILL
-25A6 ; [*0809.0020.0002.25A6] # SQUARE WITH ORTHOGONAL CROSSHATCH FILL
-25A7 ; [*080A.0020.0002.25A7] # SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
-25A8 ; [*080B.0020.0002.25A8] # SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
-25A9 ; [*080C.0020.0002.25A9] # SQUARE WITH DIAGONAL CROSSHATCH FILL
-25AA ; [*080D.0020.0002.25AA] # BLACK SMALL SQUARE
-25AB ; [*080E.0020.0002.25AB] # WHITE SMALL SQUARE
-25AC ; [*080F.0020.0002.25AC] # BLACK RECTANGLE
-25AD ; [*0810.0020.0002.25AD] # WHITE RECTANGLE
-25AE ; [*0811.0020.0002.25AE] # BLACK VERTICAL RECTANGLE
-25AF ; [*0812.0020.0002.25AF] # WHITE VERTICAL RECTANGLE
-25B0 ; [*0813.0020.0002.25B0] # BLACK PARALLELOGRAM
-25B1 ; [*0814.0020.0002.25B1] # WHITE PARALLELOGRAM
-25B2 ; [*0815.0020.0002.25B2] # BLACK UP-POINTING TRIANGLE
-25B3 ; [*0816.0020.0002.25B3] # WHITE UP-POINTING TRIANGLE
-25B4 ; [*0817.0020.0002.25B4] # BLACK UP-POINTING SMALL TRIANGLE
-25B5 ; [*0818.0020.0002.25B5] # WHITE UP-POINTING SMALL TRIANGLE
-25B6 ; [*0819.0020.0002.25B6] # BLACK RIGHT-POINTING TRIANGLE
-25B7 ; [*081A.0020.0002.25B7] # WHITE RIGHT-POINTING TRIANGLE
-25B8 ; [*081B.0020.0002.25B8] # BLACK RIGHT-POINTING SMALL TRIANGLE
-25B9 ; [*081C.0020.0002.25B9] # WHITE RIGHT-POINTING SMALL TRIANGLE
-25BA ; [*081D.0020.0002.25BA] # BLACK RIGHT-POINTING POINTER
-25BB ; [*081E.0020.0002.25BB] # WHITE RIGHT-POINTING POINTER
-25BC ; [*081F.0020.0002.25BC] # BLACK DOWN-POINTING TRIANGLE
-25BD ; [*0820.0020.0002.25BD] # WHITE DOWN-POINTING TRIANGLE
-25BE ; [*0821.0020.0002.25BE] # BLACK DOWN-POINTING SMALL TRIANGLE
-25BF ; [*0822.0020.0002.25BF] # WHITE DOWN-POINTING SMALL TRIANGLE
-25C0 ; [*0823.0020.0002.25C0] # BLACK LEFT-POINTING TRIANGLE
-25C1 ; [*0824.0020.0002.25C1] # WHITE LEFT-POINTING TRIANGLE
-25C2 ; [*0825.0020.0002.25C2] # BLACK LEFT-POINTING SMALL TRIANGLE
-25C3 ; [*0826.0020.0002.25C3] # WHITE LEFT-POINTING SMALL TRIANGLE
-25C4 ; [*0827.0020.0002.25C4] # BLACK LEFT-POINTING POINTER
-25C5 ; [*0828.0020.0002.25C5] # WHITE LEFT-POINTING POINTER
-25C6 ; [*0829.0020.0002.25C6] # BLACK DIAMOND
-25C7 ; [*082A.0020.0002.25C7] # WHITE DIAMOND
-25C8 ; [*082B.0020.0002.25C8] # WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
-25C9 ; [*082C.0020.0002.25C9] # FISHEYE
-25CA ; [*082D.0020.0002.25CA] # LOZENGE
-25CB ; [*082E.0020.0002.25CB] # WHITE CIRCLE
-25CC ; [*082F.0020.0002.25CC] # DOTTED CIRCLE
-25CD ; [*0830.0020.0002.25CD] # CIRCLE WITH VERTICAL FILL
-25CE ; [*0831.0020.0002.25CE] # BULLSEYE
-25CF ; [*0832.0020.0002.25CF] # BLACK CIRCLE
-25D0 ; [*0833.0020.0002.25D0] # CIRCLE WITH LEFT HALF BLACK
-25D1 ; [*0834.0020.0002.25D1] # CIRCLE WITH RIGHT HALF BLACK
-25D2 ; [*0835.0020.0002.25D2] # CIRCLE WITH LOWER HALF BLACK
-25D3 ; [*0836.0020.0002.25D3] # CIRCLE WITH UPPER HALF BLACK
-25D4 ; [*0837.0020.0002.25D4] # CIRCLE WITH UPPER RIGHT QUADRANT BLACK
-25D5 ; [*0838.0020.0002.25D5] # CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK
-25D6 ; [*0839.0020.0002.25D6] # LEFT HALF BLACK CIRCLE
-25D7 ; [*083A.0020.0002.25D7] # RIGHT HALF BLACK CIRCLE
-25D8 ; [*083B.0020.0002.25D8] # INVERSE BULLET
-25D9 ; [*083C.0020.0002.25D9] # INVERSE WHITE CIRCLE
-25DA ; [*083D.0020.0002.25DA] # UPPER HALF INVERSE WHITE CIRCLE
-25DB ; [*083E.0020.0002.25DB] # LOWER HALF INVERSE WHITE CIRCLE
-25DC ; [*083F.0020.0002.25DC] # UPPER LEFT QUADRANT CIRCULAR ARC
-25DD ; [*0840.0020.0002.25DD] # UPPER RIGHT QUADRANT CIRCULAR ARC
-25DE ; [*0841.0020.0002.25DE] # LOWER RIGHT QUADRANT CIRCULAR ARC
-25DF ; [*0842.0020.0002.25DF] # LOWER LEFT QUADRANT CIRCULAR ARC
-25E0 ; [*0843.0020.0002.25E0] # UPPER HALF CIRCLE
-25E1 ; [*0844.0020.0002.25E1] # LOWER HALF CIRCLE
-25E2 ; [*0845.0020.0002.25E2] # BLACK LOWER RIGHT TRIANGLE
-25E3 ; [*0846.0020.0002.25E3] # BLACK LOWER LEFT TRIANGLE
-25E4 ; [*0847.0020.0002.25E4] # BLACK UPPER LEFT TRIANGLE
-25E5 ; [*0848.0020.0002.25E5] # BLACK UPPER RIGHT TRIANGLE
-25E6 ; [*0849.0020.0002.25E6] # WHITE BULLET
-25E7 ; [*084A.0020.0002.25E7] # SQUARE WITH LEFT HALF BLACK
-25E8 ; [*084B.0020.0002.25E8] # SQUARE WITH RIGHT HALF BLACK
-25E9 ; [*084C.0020.0002.25E9] # SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK
-25EA ; [*084D.0020.0002.25EA] # SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK
-25EB ; [*084E.0020.0002.25EB] # WHITE SQUARE WITH VERTICAL BISECTING LINE
-25EC ; [*084F.0020.0002.25EC] # WHITE UP-POINTING TRIANGLE WITH DOT
-25ED ; [*0850.0020.0002.25ED] # UP-POINTING TRIANGLE WITH LEFT HALF BLACK
-25EE ; [*0851.0020.0002.25EE] # UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
-25EF ; [*0852.0020.0002.25EF] # LARGE CIRCLE
-25F0 ; [*0853.0020.0002.25F0] # WHITE SQUARE WITH UPPER LEFT QUADRANT
-25F1 ; [*0854.0020.0002.25F1] # WHITE SQUARE WITH LOWER LEFT QUADRANT
-25F2 ; [*0855.0020.0002.25F2] # WHITE SQUARE WITH LOWER RIGHT QUADRANT
-25F3 ; [*0856.0020.0002.25F3] # WHITE SQUARE WITH UPPER RIGHT QUADRANT
-25F4 ; [*0857.0020.0002.25F4] # WHITE CIRCLE WITH UPPER LEFT QUADRANT
-25F5 ; [*0858.0020.0002.25F5] # WHITE CIRCLE WITH LOWER LEFT QUADRANT
-25F6 ; [*0859.0020.0002.25F6] # WHITE CIRCLE WITH LOWER RIGHT QUADRANT
-25F7 ; [*085A.0020.0002.25F7] # WHITE CIRCLE WITH UPPER RIGHT QUADRANT
-25F8 ; [*085B.0020.0002.25F8] # UPPER LEFT TRIANGLE
-25F9 ; [*085C.0020.0002.25F9] # UPPER RIGHT TRIANGLE
-25FA ; [*085D.0020.0002.25FA] # LOWER LEFT TRIANGLE
-25FB ; [*085E.0020.0002.25FB] # WHITE MEDIUM SQUARE
-25FC ; [*085F.0020.0002.25FC] # BLACK MEDIUM SQUARE
-25FD ; [*0860.0020.0002.25FD] # WHITE MEDIUM SMALL SQUARE
-25FE ; [*0861.0020.0002.25FE] # BLACK MEDIUM SMALL SQUARE
-25FF ; [*0862.0020.0002.25FF] # LOWER RIGHT TRIANGLE
-2600 ; [*0863.0020.0002.2600] # BLACK SUN WITH RAYS
-2601 ; [*0864.0020.0002.2601] # CLOUD
-2602 ; [*0865.0020.0002.2602] # UMBRELLA
-2603 ; [*0866.0020.0002.2603] # SNOWMAN
-2604 ; [*0867.0020.0002.2604] # COMET
-2605 ; [*0868.0020.0002.2605] # BLACK STAR
-2606 ; [*0869.0020.0002.2606] # WHITE STAR
-2607 ; [*086A.0020.0002.2607] # LIGHTNING
-2608 ; [*086B.0020.0002.2608] # THUNDERSTORM
-2609 ; [*086C.0020.0002.2609] # SUN
-260A ; [*086D.0020.0002.260A] # ASCENDING NODE
-260B ; [*086E.0020.0002.260B] # DESCENDING NODE
-260C ; [*086F.0020.0002.260C] # CONJUNCTION
-260D ; [*0870.0020.0002.260D] # OPPOSITION
-260E ; [*0871.0020.0002.260E] # BLACK TELEPHONE
-260F ; [*0872.0020.0002.260F] # WHITE TELEPHONE
-2610 ; [*0873.0020.0002.2610] # BALLOT BOX
-2611 ; [*0874.0020.0002.2611] # BALLOT BOX WITH CHECK
-2612 ; [*0875.0020.0002.2612] # BALLOT BOX WITH X
-2613 ; [*0876.0020.0002.2613] # SALTIRE
-2614 ; [*0877.0020.0002.2614] # UMBRELLA WITH RAIN DROPS
-2615 ; [*0878.0020.0002.2615] # HOT BEVERAGE
-2616 ; [*0879.0020.0002.2616] # WHITE SHOGI PIECE
-2617 ; [*087A.0020.0002.2617] # BLACK SHOGI PIECE
-2618 ; [*087B.0020.0002.2618] # SHAMROCK
-2619 ; [*087C.0020.0002.2619] # REVERSED ROTATED FLORAL HEART BULLET
-261A ; [*087D.0020.0002.261A] # BLACK LEFT POINTING INDEX
-261B ; [*087E.0020.0002.261B] # BLACK RIGHT POINTING INDEX
-261C ; [*087F.0020.0002.261C] # WHITE LEFT POINTING INDEX
-261D ; [*0880.0020.0002.261D] # WHITE UP POINTING INDEX
-261E ; [*0881.0020.0002.261E] # WHITE RIGHT POINTING INDEX
-261F ; [*0882.0020.0002.261F] # WHITE DOWN POINTING INDEX
-2620 ; [*0883.0020.0002.2620] # SKULL AND CROSSBONES
-2621 ; [*0884.0020.0002.2621] # CAUTION SIGN
-2622 ; [*0885.0020.0002.2622] # RADIOACTIVE SIGN
-2623 ; [*0886.0020.0002.2623] # BIOHAZARD SIGN
-2624 ; [*0887.0020.0002.2624] # CADUCEUS
-2625 ; [*0888.0020.0002.2625] # ANKH
-2626 ; [*0889.0020.0002.2626] # ORTHODOX CROSS
-2627 ; [*088A.0020.0002.2627] # CHI RHO
-2628 ; [*088B.0020.0002.2628] # CROSS OF LORRAINE
-2629 ; [*088C.0020.0002.2629] # CROSS OF JERUSALEM
-262A ; [*088D.0020.0002.262A] # STAR AND CRESCENT
-262B ; [*088E.0020.0002.262B] # FARSI SYMBOL
-262C ; [*088F.0020.0002.262C] # ADI SHAKTI
-262D ; [*0890.0020.0002.262D] # HAMMER AND SICKLE
-262E ; [*0891.0020.0002.262E] # PEACE SYMBOL
-262F ; [*0892.0020.0002.262F] # YIN YANG
-2630 ; [*0D73.0020.0002.2630] # TRIGRAM FOR HEAVEN
-2631 ; [*0D74.0020.0002.2631] # TRIGRAM FOR LAKE
-2632 ; [*0D75.0020.0002.2632] # TRIGRAM FOR FIRE
-2633 ; [*0D76.0020.0002.2633] # TRIGRAM FOR THUNDER
-2634 ; [*0D77.0020.0002.2634] # TRIGRAM FOR WIND
-2635 ; [*0D78.0020.0002.2635] # TRIGRAM FOR WATER
-2636 ; [*0D79.0020.0002.2636] # TRIGRAM FOR MOUNTAIN
-2637 ; [*0D7A.0020.0002.2637] # TRIGRAM FOR EARTH
-2638 ; [*0893.0020.0002.2638] # WHEEL OF DHARMA
-2639 ; [*0894.0020.0002.2639] # WHITE FROWNING FACE
-263A ; [*0895.0020.0002.263A] # WHITE SMILING FACE
-263B ; [*0896.0020.0002.263B] # BLACK SMILING FACE
-263C ; [*0897.0020.0002.263C] # WHITE SUN WITH RAYS
-263D ; [*0898.0020.0002.263D] # FIRST QUARTER MOON
-263E ; [*0899.0020.0002.263E] # LAST QUARTER MOON
-263F ; [*089A.0020.0002.263F] # MERCURY
-2640 ; [*089B.0020.0002.2640] # FEMALE SIGN
-2641 ; [*089C.0020.0002.2641] # EARTH
-2642 ; [*089D.0020.0002.2642] # MALE SIGN
-2643 ; [*089E.0020.0002.2643] # JUPITER
-2644 ; [*089F.0020.0002.2644] # SATURN
-2645 ; [*08A0.0020.0002.2645] # URANUS
-2646 ; [*08A1.0020.0002.2646] # NEPTUNE
-2647 ; [*08A2.0020.0002.2647] # PLUTO
-2648 ; [*08A3.0020.0002.2648] # ARIES
-2649 ; [*08A4.0020.0002.2649] # TAURUS
-264A ; [*08A5.0020.0002.264A] # GEMINI
-264B ; [*08A6.0020.0002.264B] # CANCER
-264C ; [*08A7.0020.0002.264C] # LEO
-264D ; [*08A8.0020.0002.264D] # VIRGO
-264E ; [*08A9.0020.0002.264E] # LIBRA
-264F ; [*08AA.0020.0002.264F] # SCORPIUS
-2650 ; [*08AB.0020.0002.2650] # SAGITTARIUS
-2651 ; [*08AC.0020.0002.2651] # CAPRICORN
-2652 ; [*08AD.0020.0002.2652] # AQUARIUS
-2653 ; [*08AE.0020.0002.2653] # PISCES
-2654 ; [*08AF.0020.0002.2654] # WHITE CHESS KING
-2655 ; [*08B0.0020.0002.2655] # WHITE CHESS QUEEN
-2656 ; [*08B1.0020.0002.2656] # WHITE CHESS ROOK
-2657 ; [*08B2.0020.0002.2657] # WHITE CHESS BISHOP
-2658 ; [*08B3.0020.0002.2658] # WHITE CHESS KNIGHT
-2659 ; [*08B4.0020.0002.2659] # WHITE CHESS PAWN
-265A ; [*08B5.0020.0002.265A] # BLACK CHESS KING
-265B ; [*08B6.0020.0002.265B] # BLACK CHESS QUEEN
-265C ; [*08B7.0020.0002.265C] # BLACK CHESS ROOK
-265D ; [*08B8.0020.0002.265D] # BLACK CHESS BISHOP
-265E ; [*08B9.0020.0002.265E] # BLACK CHESS KNIGHT
-265F ; [*08BA.0020.0002.265F] # BLACK CHESS PAWN
-2660 ; [*08BB.0020.0002.2660] # BLACK SPADE SUIT
-2661 ; [*08BC.0020.0002.2661] # WHITE HEART SUIT
-2662 ; [*08BD.0020.0002.2662] # WHITE DIAMOND SUIT
-2663 ; [*08BE.0020.0002.2663] # BLACK CLUB SUIT
-2664 ; [*08BF.0020.0002.2664] # WHITE SPADE SUIT
-2665 ; [*08C0.0020.0002.2665] # BLACK HEART SUIT
-2666 ; [*08C1.0020.0002.2666] # BLACK DIAMOND SUIT
-2667 ; [*08C2.0020.0002.2667] # WHITE CLUB SUIT
-2668 ; [*08C3.0020.0002.2668] # HOT SPRINGS
-2669 ; [*08C4.0020.0002.2669] # QUARTER NOTE
-266A ; [*08C5.0020.0002.266A] # EIGHTH NOTE
-266B ; [*08C6.0020.0002.266B] # BEAMED EIGHTH NOTES
-266C ; [*08C7.0020.0002.266C] # BEAMED SIXTEENTH NOTES
-266D ; [*0FB9.0020.0002.266D] # MUSIC FLAT SIGN
-266E ; [*0FBA.0020.0002.266E] # MUSIC NATURAL SIGN
-266F ; [*0FBB.0020.0002.266F] # MUSIC SHARP SIGN
-2670 ; [*08C8.0020.0002.2670] # WEST SYRIAC CROSS
-2671 ; [*08C9.0020.0002.2671] # EAST SYRIAC CROSS
-2672 ; [*08CA.0020.0002.2672] # UNIVERSAL RECYCLING SYMBOL
-2673 ; [*08CB.0020.0002.2673] # RECYCLING SYMBOL FOR TYPE-1 PLASTICS
-2674 ; [*08CC.0020.0002.2674] # RECYCLING SYMBOL FOR TYPE-2 PLASTICS
-2675 ; [*08CD.0020.0002.2675] # RECYCLING SYMBOL FOR TYPE-3 PLASTICS
-2676 ; [*08CE.0020.0002.2676] # RECYCLING SYMBOL FOR TYPE-4 PLASTICS
-2677 ; [*08CF.0020.0002.2677] # RECYCLING SYMBOL FOR TYPE-5 PLASTICS
-2678 ; [*08D0.0020.0002.2678] # RECYCLING SYMBOL FOR TYPE-6 PLASTICS
-2679 ; [*08D1.0020.0002.2679] # RECYCLING SYMBOL FOR TYPE-7 PLASTICS
-267A ; [*08D2.0020.0002.267A] # RECYCLING SYMBOL FOR GENERIC MATERIALS
-267B ; [*08D3.0020.0002.267B] # BLACK UNIVERSAL RECYCLING SYMBOL
-267C ; [*08D4.0020.0002.267C] # RECYCLED PAPER SYMBOL
-267D ; [*08D5.0020.0002.267D] # PARTIALLY-RECYCLED PAPER SYMBOL
-267E ; [*08D6.0020.0002.267E] # PERMANENT PAPER SIGN
-267F ; [*08D7.0020.0002.267F] # WHEELCHAIR SYMBOL
-2680 ; [*08D8.0020.0002.2680] # DIE FACE-1
-2681 ; [*08D9.0020.0002.2681] # DIE FACE-2
-2682 ; [*08DA.0020.0002.2682] # DIE FACE-3
-2683 ; [*08DB.0020.0002.2683] # DIE FACE-4
-2684 ; [*08DC.0020.0002.2684] # DIE FACE-5
-2685 ; [*08DD.0020.0002.2685] # DIE FACE-6
-2686 ; [*08DE.0020.0002.2686] # WHITE CIRCLE WITH DOT RIGHT
-2687 ; [*08DF.0020.0002.2687] # WHITE CIRCLE WITH TWO DOTS
-2688 ; [*08E0.0020.0002.2688] # BLACK CIRCLE WITH WHITE DOT RIGHT
-2689 ; [*08E1.0020.0002.2689] # BLACK CIRCLE WITH TWO WHITE DOTS
-268A ; [*0D6D.0020.0002.268A] # MONOGRAM FOR YANG
-268B ; [*0D6E.0020.0002.268B] # MONOGRAM FOR YIN
-268C ; [*0D6F.0020.0002.268C] # DIGRAM FOR GREATER YANG
-268D ; [*0D70.0020.0002.268D] # DIGRAM FOR LESSER YIN
-268E ; [*0D71.0020.0002.268E] # DIGRAM FOR LESSER YANG
-268F ; [*0D72.0020.0002.268F] # DIGRAM FOR GREATER YIN
-2690 ; [*08E2.0020.0002.2690] # WHITE FLAG
-2691 ; [*08E3.0020.0002.2691] # BLACK FLAG
-2692 ; [*08E4.0020.0002.2692] # HAMMER AND PICK
-2693 ; [*08E5.0020.0002.2693] # ANCHOR
-2694 ; [*08E6.0020.0002.2694] # CROSSED SWORDS
-2695 ; [*08E7.0020.0002.2695] # STAFF OF AESCULAPIUS
-2696 ; [*08E8.0020.0002.2696] # SCALES
-2697 ; [*08E9.0020.0002.2697] # ALEMBIC
-2698 ; [*08EA.0020.0002.2698] # FLOWER
-2699 ; [*08EB.0020.0002.2699] # GEAR
-269A ; [*08EC.0020.0002.269A] # STAFF OF HERMES
-269B ; [*08ED.0020.0002.269B] # ATOM SYMBOL
-269C ; [*08EE.0020.0002.269C] # FLEUR-DE-LIS
-269D ; [*08EF.0020.0002.269D] # OUTLINED WHITE STAR
-269E ; [*08F0.0020.0002.269E] # THREE LINES CONVERGING RIGHT
-269F ; [*08F1.0020.0002.269F] # THREE LINES CONVERGING LEFT
-26A0 ; [*08F2.0020.0002.26A0] # WARNING SIGN
-26A1 ; [*08F3.0020.0002.26A1] # HIGH VOLTAGE SIGN
-26A2 ; [*08F4.0020.0002.26A2] # DOUBLED FEMALE SIGN
-26A3 ; [*08F5.0020.0002.26A3] # DOUBLED MALE SIGN
-26A4 ; [*08F6.0020.0002.26A4] # INTERLOCKED FEMALE AND MALE SIGN
-26A5 ; [*08F7.0020.0002.26A5] # MALE AND FEMALE SIGN
-26A6 ; [*08F8.0020.0002.26A6] # MALE WITH STROKE SIGN
-26A7 ; [*08F9.0020.0002.26A7] # MALE WITH STROKE AND MALE AND FEMALE SIGN
-26A8 ; [*08FA.0020.0002.26A8] # VERTICAL MALE WITH STROKE SIGN
-26A9 ; [*08FB.0020.0002.26A9] # HORIZONTAL MALE WITH STROKE SIGN
-26AA ; [*08FC.0020.0002.26AA] # MEDIUM WHITE CIRCLE
-26AB ; [*08FD.0020.0002.26AB] # MEDIUM BLACK CIRCLE
-26AC ; [*08FE.0020.0002.26AC] # MEDIUM SMALL WHITE CIRCLE
-26AD ; [*08FF.0020.0002.26AD] # MARRIAGE SYMBOL
-26AE ; [*0900.0020.0002.26AE] # DIVORCE SYMBOL
-26AF ; [*0901.0020.0002.26AF] # UNMARRIED PARTNERSHIP SYMBOL
-26B0 ; [*0902.0020.0002.26B0] # COFFIN
-26B1 ; [*0903.0020.0002.26B1] # FUNERAL URN
-26B2 ; [*0904.0020.0002.26B2] # NEUTER
-26B3 ; [*0905.0020.0002.26B3] # CERES
-26B4 ; [*0906.0020.0002.26B4] # PALLAS
-26B5 ; [*0907.0020.0002.26B5] # JUNO
-26B6 ; [*0908.0020.0002.26B6] # VESTA
-26B7 ; [*0909.0020.0002.26B7] # CHIRON
-26B8 ; [*090A.0020.0002.26B8] # BLACK MOON LILITH
-26B9 ; [*090B.0020.0002.26B9] # SEXTILE
-26BA ; [*090C.0020.0002.26BA] # SEMISEXTILE
-26BB ; [*090D.0020.0002.26BB] # QUINCUNX
-26BC ; [*090E.0020.0002.26BC] # SESQUIQUADRATE
-26BD ; [*090F.0020.0002.26BD] # SOCCER BALL
-26BE ; [*0910.0020.0002.26BE] # BASEBALL
-26BF ; [*0911.0020.0002.26BF] # SQUARED KEY
-26C0 ; [*0912.0020.0002.26C0] # WHITE DRAUGHTS MAN
-26C1 ; [*0913.0020.0002.26C1] # WHITE DRAUGHTS KING
-26C2 ; [*0914.0020.0002.26C2] # BLACK DRAUGHTS MAN
-26C3 ; [*0915.0020.0002.26C3] # BLACK DRAUGHTS KING
-26C4 ; [*0916.0020.0002.26C4] # SNOWMAN WITHOUT SNOW
-26C5 ; [*0917.0020.0002.26C5] # SUN BEHIND CLOUD
-26C6 ; [*0918.0020.0002.26C6] # RAIN
-26C7 ; [*0919.0020.0002.26C7] # BLACK SNOWMAN
-26C8 ; [*091A.0020.0002.26C8] # THUNDER CLOUD AND RAIN
-26C9 ; [*091B.0020.0002.26C9] # TURNED WHITE SHOGI PIECE
-26CA ; [*091C.0020.0002.26CA] # TURNED BLACK SHOGI PIECE
-26CB ; [*091D.0020.0002.26CB] # WHITE DIAMOND IN SQUARE
-26CC ; [*091E.0020.0002.26CC] # CROSSING LANES
-26CD ; [*091F.0020.0002.26CD] # DISABLED CAR
-26CE ; [*0920.0020.0002.26CE] # OPHIUCHUS
-26CF ; [*0921.0020.0002.26CF] # PICK
-26D0 ; [*0922.0020.0002.26D0] # CAR SLIDING
-26D1 ; [*0923.0020.0002.26D1] # HELMET WITH WHITE CROSS
-26D2 ; [*0924.0020.0002.26D2] # CIRCLED CROSSING LANES
-26D3 ; [*0925.0020.0002.26D3] # CHAINS
-26D4 ; [*0926.0020.0002.26D4] # NO ENTRY
-26D5 ; [*0927.0020.0002.26D5] # ALTERNATE ONE-WAY LEFT WAY TRAFFIC
-26D6 ; [*0928.0020.0002.26D6] # BLACK TWO-WAY LEFT WAY TRAFFIC
-26D7 ; [*0929.0020.0002.26D7] # WHITE TWO-WAY LEFT WAY TRAFFIC
-26D8 ; [*092A.0020.0002.26D8] # BLACK LEFT LANE MERGE
-26D9 ; [*092B.0020.0002.26D9] # WHITE LEFT LANE MERGE
-26DA ; [*092C.0020.0002.26DA] # DRIVE SLOW SIGN
-26DB ; [*092D.0020.0002.26DB] # HEAVY WHITE DOWN-POINTING TRIANGLE
-26DC ; [*092E.0020.0002.26DC] # LEFT CLOSED ENTRY
-26DD ; [*092F.0020.0002.26DD] # SQUARED SALTIRE
-26DE ; [*0930.0020.0002.26DE] # FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
-26DF ; [*0931.0020.0002.26DF] # BLACK TRUCK
-26E0 ; [*0932.0020.0002.26E0] # RESTRICTED LEFT ENTRY-1
-26E1 ; [*0933.0020.0002.26E1] # RESTRICTED LEFT ENTRY-2
-26E2 ; [*0934.0020.0002.26E2] # ASTRONOMICAL SYMBOL FOR URANUS
-26E3 ; [*0935.0020.0002.26E3] # HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
-26E4 ; [*0936.0020.0002.26E4] # PENTAGRAM
-26E5 ; [*0937.0020.0002.26E5] # RIGHT-HANDED INTERLACED PENTAGRAM
-26E6 ; [*0938.0020.0002.26E6] # LEFT-HANDED INTERLACED PENTAGRAM
-26E7 ; [*0939.0020.0002.26E7] # INVERTED PENTAGRAM
-26E8 ; [*093A.0020.0002.26E8] # BLACK CROSS ON SHIELD
-26E9 ; [*093B.0020.0002.26E9] # SHINTO SHRINE
-26EA ; [*093C.0020.0002.26EA] # CHURCH
-26EB ; [*093D.0020.0002.26EB] # CASTLE
-26EC ; [*093E.0020.0002.26EC] # HISTORIC SITE
-26ED ; [*093F.0020.0002.26ED] # GEAR WITHOUT HUB
-26EE ; [*0940.0020.0002.26EE] # GEAR WITH HANDLES
-26EF ; [*0941.0020.0002.26EF] # MAP SYMBOL FOR LIGHTHOUSE
-26F0 ; [*0942.0020.0002.26F0] # MOUNTAIN
-26F1 ; [*0943.0020.0002.26F1] # UMBRELLA ON GROUND
-26F2 ; [*0944.0020.0002.26F2] # FOUNTAIN
-26F3 ; [*0945.0020.0002.26F3] # FLAG IN HOLE
-26F4 ; [*0946.0020.0002.26F4] # FERRY
-26F5 ; [*0947.0020.0002.26F5] # SAILBOAT
-26F6 ; [*0948.0020.0002.26F6] # SQUARE FOUR CORNERS
-26F7 ; [*0949.0020.0002.26F7] # SKIER
-26F8 ; [*094A.0020.0002.26F8] # ICE SKATE
-26F9 ; [*094B.0020.0002.26F9] # PERSON WITH BALL
-26FA ; [*094C.0020.0002.26FA] # TENT
-26FB ; [*094D.0020.0002.26FB] # JAPANESE BANK SYMBOL
-26FC ; [*094E.0020.0002.26FC] # HEADSTONE GRAVEYARD SYMBOL
-26FD ; [*094F.0020.0002.26FD] # FUEL PUMP
-26FE ; [*0950.0020.0002.26FE] # CUP ON BLACK SQUARE
-26FF ; [*0951.0020.0002.26FF] # WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
-2701 ; [*0952.0020.0002.2701] # UPPER BLADE SCISSORS
-2702 ; [*0953.0020.0002.2702] # BLACK SCISSORS
-2703 ; [*0954.0020.0002.2703] # LOWER BLADE SCISSORS
-2704 ; [*0955.0020.0002.2704] # WHITE SCISSORS
-2705 ; [*0956.0020.0002.2705] # WHITE HEAVY CHECK MARK
-2706 ; [*0957.0020.0002.2706] # TELEPHONE LOCATION SIGN
-2707 ; [*0958.0020.0002.2707] # TAPE DRIVE
-2708 ; [*0959.0020.0002.2708] # AIRPLANE
-2709 ; [*095A.0020.0002.2709] # ENVELOPE
-270A ; [*095B.0020.0002.270A] # RAISED FIST
-270B ; [*095C.0020.0002.270B] # RAISED HAND
-270C ; [*095D.0020.0002.270C] # VICTORY HAND
-270D ; [*095E.0020.0002.270D] # WRITING HAND
-270E ; [*095F.0020.0002.270E] # LOWER RIGHT PENCIL
-270F ; [*0960.0020.0002.270F] # PENCIL
-2710 ; [*0961.0020.0002.2710] # UPPER RIGHT PENCIL
-2711 ; [*0962.0020.0002.2711] # WHITE NIB
-2712 ; [*0963.0020.0002.2712] # BLACK NIB
-2713 ; [*0964.0020.0002.2713] # CHECK MARK
-2714 ; [*0965.0020.0002.2714] # HEAVY CHECK MARK
-2715 ; [*0966.0020.0002.2715] # MULTIPLICATION X
-2716 ; [*0967.0020.0002.2716] # HEAVY MULTIPLICATION X
-2717 ; [*0968.0020.0002.2717] # BALLOT X
-2718 ; [*0969.0020.0002.2718] # HEAVY BALLOT X
-2719 ; [*096A.0020.0002.2719] # OUTLINED GREEK CROSS
-271A ; [*096B.0020.0002.271A] # HEAVY GREEK CROSS
-271B ; [*096C.0020.0002.271B] # OPEN CENTRE CROSS
-271C ; [*096D.0020.0002.271C] # HEAVY OPEN CENTRE CROSS
-271D ; [*096E.0020.0002.271D] # LATIN CROSS
-271E ; [*096F.0020.0002.271E] # SHADOWED WHITE LATIN CROSS
-271F ; [*0970.0020.0002.271F] # OUTLINED LATIN CROSS
-2720 ; [*0971.0020.0002.2720] # MALTESE CROSS
-2721 ; [*0972.0020.0002.2721] # STAR OF DAVID
-2722 ; [*0973.0020.0002.2722] # FOUR TEARDROP-SPOKED ASTERISK
-2723 ; [*0974.0020.0002.2723] # FOUR BALLOON-SPOKED ASTERISK
-2724 ; [*0975.0020.0002.2724] # HEAVY FOUR BALLOON-SPOKED ASTERISK
-2725 ; [*0976.0020.0002.2725] # FOUR CLUB-SPOKED ASTERISK
-2726 ; [*0977.0020.0002.2726] # BLACK FOUR POINTED STAR
-2727 ; [*0978.0020.0002.2727] # WHITE FOUR POINTED STAR
-2728 ; [*0979.0020.0002.2728] # SPARKLES
-2729 ; [*097A.0020.0002.2729] # STRESS OUTLINED WHITE STAR
-272A ; [*097B.0020.0002.272A] # CIRCLED WHITE STAR
-272B ; [*097C.0020.0002.272B] # OPEN CENTRE BLACK STAR
-272C ; [*097D.0020.0002.272C] # BLACK CENTRE WHITE STAR
-272D ; [*097E.0020.0002.272D] # OUTLINED BLACK STAR
-272E ; [*097F.0020.0002.272E] # HEAVY OUTLINED BLACK STAR
-272F ; [*0980.0020.0002.272F] # PINWHEEL STAR
-2730 ; [*0981.0020.0002.2730] # SHADOWED WHITE STAR
-2731 ; [*0982.0020.0002.2731] # HEAVY ASTERISK
-2732 ; [*0983.0020.0002.2732] # OPEN CENTRE ASTERISK
-2733 ; [*0984.0020.0002.2733] # EIGHT SPOKED ASTERISK
-2734 ; [*0985.0020.0002.2734] # EIGHT POINTED BLACK STAR
-2735 ; [*0986.0020.0002.2735] # EIGHT POINTED PINWHEEL STAR
-2736 ; [*0987.0020.0002.2736] # SIX POINTED BLACK STAR
-2737 ; [*0988.0020.0002.2737] # EIGHT POINTED RECTILINEAR BLACK STAR
-2738 ; [*0989.0020.0002.2738] # HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
-2739 ; [*098A.0020.0002.2739] # TWELVE POINTED BLACK STAR
-273A ; [*098B.0020.0002.273A] # SIXTEEN POINTED ASTERISK
-273B ; [*098C.0020.0002.273B] # TEARDROP-SPOKED ASTERISK
-273C ; [*098D.0020.0002.273C] # OPEN CENTRE TEARDROP-SPOKED ASTERISK
-273D ; [*098E.0020.0002.273D] # HEAVY TEARDROP-SPOKED ASTERISK
-273E ; [*098F.0020.0002.273E] # SIX PETALLED BLACK AND WHITE FLORETTE
-273F ; [*0990.0020.0002.273F] # BLACK FLORETTE
-2740 ; [*0991.0020.0002.2740] # WHITE FLORETTE
-2741 ; [*0992.0020.0002.2741] # EIGHT PETALLED OUTLINED BLACK FLORETTE
-2742 ; [*0993.0020.0002.2742] # CIRCLED OPEN CENTRE EIGHT POINTED STAR
-2743 ; [*0994.0020.0002.2743] # HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
-2744 ; [*0995.0020.0002.2744] # SNOWFLAKE
-2745 ; [*0996.0020.0002.2745] # TIGHT TRIFOLIATE SNOWFLAKE
-2746 ; [*0997.0020.0002.2746] # HEAVY CHEVRON SNOWFLAKE
-2747 ; [*0998.0020.0002.2747] # SPARKLE
-2748 ; [*0999.0020.0002.2748] # HEAVY SPARKLE
-2749 ; [*099A.0020.0002.2749] # BALLOON-SPOKED ASTERISK
-274A ; [*099B.0020.0002.274A] # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274B ; [*099C.0020.0002.274B] # HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274C ; [*099D.0020.0002.274C] # CROSS MARK
-274D ; [*099E.0020.0002.274D] # SHADOWED WHITE CIRCLE
-274E ; [*099F.0020.0002.274E] # NEGATIVE SQUARED CROSS MARK
-274F ; [*09A0.0020.0002.274F] # LOWER RIGHT DROP-SHADOWED WHITE SQUARE
-2750 ; [*09A1.0020.0002.2750] # UPPER RIGHT DROP-SHADOWED WHITE SQUARE
-2751 ; [*09A2.0020.0002.2751] # LOWER RIGHT SHADOWED WHITE SQUARE
-2752 ; [*09A3.0020.0002.2752] # UPPER RIGHT SHADOWED WHITE SQUARE
-2753 ; [*09A4.0020.0002.2753] # BLACK QUESTION MARK ORNAMENT
-2754 ; [*09A5.0020.0002.2754] # WHITE QUESTION MARK ORNAMENT
-2755 ; [*09A6.0020.0002.2755] # WHITE EXCLAMATION MARK ORNAMENT
-2756 ; [*09A7.0020.0002.2756] # BLACK DIAMOND MINUS WHITE X
-2757 ; [*09A8.0020.0002.2757] # HEAVY EXCLAMATION MARK SYMBOL
-2758 ; [*09A9.0020.0002.2758] # LIGHT VERTICAL BAR
-2759 ; [*09AA.0020.0002.2759] # MEDIUM VERTICAL BAR
-275A ; [*09AB.0020.0002.275A] # HEAVY VERTICAL BAR
-275B ; [*09AC.0020.0002.275B] # HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
-275C ; [*09AD.0020.0002.275C] # HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
-275D ; [*09AE.0020.0002.275D] # HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
-275E ; [*09AF.0020.0002.275E] # HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-275F ; [*09B0.0020.0002.275F] # HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT
-2760 ; [*09B1.0020.0002.2760] # HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT
-2761 ; [*09B2.0020.0002.2761] # CURVED STEM PARAGRAPH SIGN ORNAMENT
-2762 ; [*09B3.0020.0002.2762] # HEAVY EXCLAMATION MARK ORNAMENT
-2763 ; [*09B4.0020.0002.2763] # HEAVY HEART EXCLAMATION MARK ORNAMENT
-2764 ; [*09B5.0020.0002.2764] # HEAVY BLACK HEART
-2765 ; [*09B6.0020.0002.2765] # ROTATED HEAVY BLACK HEART BULLET
-2766 ; [*09B7.0020.0002.2766] # FLORAL HEART
-2767 ; [*09B8.0020.0002.2767] # ROTATED FLORAL HEART BULLET
-2768 ; [*09B9.0020.0002.2768] # MEDIUM LEFT PARENTHESIS ORNAMENT
-2769 ; [*09BA.0020.0002.2769] # MEDIUM RIGHT PARENTHESIS ORNAMENT
-276A ; [*09BB.0020.0002.276A] # MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276B ; [*09BC.0020.0002.276B] # MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276C ; [*09BD.0020.0002.276C] # MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
-276D ; [*09BE.0020.0002.276D] # MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
-276E ; [*09BF.0020.0002.276E] # HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
-276F ; [*09C0.0020.0002.276F] # HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2770 ; [*09C1.0020.0002.2770] # HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2771 ; [*09C2.0020.0002.2771] # HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2772 ; [*09C3.0020.0002.2772] # LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
-2773 ; [*09C4.0020.0002.2773] # LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
-2774 ; [*09C5.0020.0002.2774] # MEDIUM LEFT CURLY BRACKET ORNAMENT
-2775 ; [*09C6.0020.0002.2775] # MEDIUM RIGHT CURLY BRACKET ORNAMENT
-2794 ; [*09C7.0020.0002.2794] # HEAVY WIDE-HEADED RIGHTWARDS ARROW
-2795 ; [*09C8.0020.0002.2795] # HEAVY PLUS SIGN
-2796 ; [*09C9.0020.0002.2796] # HEAVY MINUS SIGN
-2797 ; [*09CA.0020.0002.2797] # HEAVY DIVISION SIGN
-2798 ; [*09CB.0020.0002.2798] # HEAVY SOUTH EAST ARROW
-2799 ; [*09CC.0020.0002.2799] # HEAVY RIGHTWARDS ARROW
-279A ; [*09CD.0020.0002.279A] # HEAVY NORTH EAST ARROW
-279B ; [*09CE.0020.0002.279B] # DRAFTING POINT RIGHTWARDS ARROW
-279C ; [*09CF.0020.0002.279C] # HEAVY ROUND-TIPPED RIGHTWARDS ARROW
-279D ; [*09D0.0020.0002.279D] # TRIANGLE-HEADED RIGHTWARDS ARROW
-279E ; [*09D1.0020.0002.279E] # HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
-279F ; [*09D2.0020.0002.279F] # DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-27A0 ; [*09D3.0020.0002.27A0] # HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-27A1 ; [*09D4.0020.0002.27A1] # BLACK RIGHTWARDS ARROW
-27A2 ; [*09D5.0020.0002.27A2] # THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
-27A3 ; [*09D6.0020.0002.27A3] # THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
-27A4 ; [*09D7.0020.0002.27A4] # BLACK RIGHTWARDS ARROWHEAD
-27A5 ; [*09D8.0020.0002.27A5] # HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
-27A6 ; [*09D9.0020.0002.27A6] # HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
-27A7 ; [*09DA.0020.0002.27A7] # SQUAT BLACK RIGHTWARDS ARROW
-27A8 ; [*09DB.0020.0002.27A8] # HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
-27A9 ; [*09DC.0020.0002.27A9] # RIGHT-SHADED WHITE RIGHTWARDS ARROW
-27AA ; [*09DD.0020.0002.27AA] # LEFT-SHADED WHITE RIGHTWARDS ARROW
-27AB ; [*09DE.0020.0002.27AB] # BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-27AC ; [*09DF.0020.0002.27AC] # FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-27AD ; [*09E0.0020.0002.27AD] # HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27AE ; [*09E1.0020.0002.27AE] # HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27AF ; [*09E2.0020.0002.27AF] # NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B0 ; [*09E3.0020.0002.27B0] # CURLY LOOP
-27B1 ; [*09E4.0020.0002.27B1] # NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B2 ; [*09E5.0020.0002.27B2] # CIRCLED HEAVY WHITE RIGHTWARDS ARROW
-27B3 ; [*09E6.0020.0002.27B3] # WHITE-FEATHERED RIGHTWARDS ARROW
-27B4 ; [*09E7.0020.0002.27B4] # BLACK-FEATHERED SOUTH EAST ARROW
-27B5 ; [*09E8.0020.0002.27B5] # BLACK-FEATHERED RIGHTWARDS ARROW
-27B6 ; [*09E9.0020.0002.27B6] # BLACK-FEATHERED NORTH EAST ARROW
-27B7 ; [*09EA.0020.0002.27B7] # HEAVY BLACK-FEATHERED SOUTH EAST ARROW
-27B8 ; [*09EB.0020.0002.27B8] # HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
-27B9 ; [*09EC.0020.0002.27B9] # HEAVY BLACK-FEATHERED NORTH EAST ARROW
-27BA ; [*09ED.0020.0002.27BA] # TEARDROP-BARBED RIGHTWARDS ARROW
-27BB ; [*09EE.0020.0002.27BB] # HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
-27BC ; [*09EF.0020.0002.27BC] # WEDGE-TAILED RIGHTWARDS ARROW
-27BD ; [*09F0.0020.0002.27BD] # HEAVY WEDGE-TAILED RIGHTWARDS ARROW
-27BE ; [*09F1.0020.0002.27BE] # OPEN-OUTLINED RIGHTWARDS ARROW
-27BF ; [*09F2.0020.0002.27BF] # DOUBLE CURLY LOOP
-27C0 ; [*09F3.0020.0002.27C0] # THREE DIMENSIONAL ANGLE
-27C1 ; [*09F4.0020.0002.27C1] # WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
-27C2 ; [*09F5.0020.0002.27C2] # PERPENDICULAR
-27C3 ; [*09F6.0020.0002.27C3] # OPEN SUBSET
-27C4 ; [*09F7.0020.0002.27C4] # OPEN SUPERSET
-27C5 ; [*09F8.0020.0002.27C5] # LEFT S-SHAPED BAG DELIMITER
-27C6 ; [*09F9.0020.0002.27C6] # RIGHT S-SHAPED BAG DELIMITER
-27C7 ; [*09FA.0020.0002.27C7] # OR WITH DOT INSIDE
-27C8 ; [*09FB.0020.0002.27C8] # REVERSE SOLIDUS PRECEDING SUBSET
-27C9 ; [*09FC.0020.0002.27C9] # SUPERSET PRECEDING SOLIDUS
-27CA ; [*09FD.0020.0002.27CA] # VERTICAL BAR WITH HORIZONTAL STROKE
-27CC ; [*09FE.0020.0002.27CC] # LONG DIVISION
-27CE ; [*09FF.0020.0002.27CE] # SQUARED LOGICAL AND
-27CF ; [*0A00.0020.0002.27CF] # SQUARED LOGICAL OR
-27D0 ; [*0A01.0020.0002.27D0] # WHITE DIAMOND WITH CENTRED DOT
-27D1 ; [*0A02.0020.0002.27D1] # AND WITH DOT
-27D2 ; [*0A03.0020.0002.27D2] # ELEMENT OF OPENING UPWARDS
-27D3 ; [*0A04.0020.0002.27D3] # LOWER RIGHT CORNER WITH DOT
-27D4 ; [*0A05.0020.0002.27D4] # UPPER LEFT CORNER WITH DOT
-27D5 ; [*0A06.0020.0002.27D5] # LEFT OUTER JOIN
-27D6 ; [*0A07.0020.0002.27D6] # RIGHT OUTER JOIN
-27D7 ; [*0A08.0020.0002.27D7] # FULL OUTER JOIN
-27D8 ; [*0A09.0020.0002.27D8] # LARGE UP TACK
-27D9 ; [*0A0A.0020.0002.27D9] # LARGE DOWN TACK
-27DA ; [*0A0B.0020.0002.27DA] # LEFT AND RIGHT DOUBLE TURNSTILE
-27DB ; [*0A0C.0020.0002.27DB] # LEFT AND RIGHT TACK
-27DC ; [*0A0D.0020.0002.27DC] # LEFT MULTIMAP
-27DD ; [*0A0E.0020.0002.27DD] # LONG RIGHT TACK
-27DE ; [*0A0F.0020.0002.27DE] # LONG LEFT TACK
-27DF ; [*0A10.0020.0002.27DF] # UP TACK WITH CIRCLE ABOVE
-27E0 ; [*0A11.0020.0002.27E0] # LOZENGE DIVIDED BY HORIZONTAL RULE
-27E1 ; [*0A12.0020.0002.27E1] # WHITE CONCAVE-SIDED DIAMOND
-27E2 ; [*0A13.0020.0002.27E2] # WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
-27E3 ; [*0A14.0020.0002.27E3] # WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK
-27E4 ; [*0A15.0020.0002.27E4] # WHITE SQUARE WITH LEFTWARDS TICK
-27E5 ; [*0A16.0020.0002.27E5] # WHITE SQUARE WITH RIGHTWARDS TICK
-27E6 ; [*0A17.0020.0002.27E6] # MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E7 ; [*0A18.0020.0002.27E7] # MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E8 ; [*0A19.0020.0002.27E8] # MATHEMATICAL LEFT ANGLE BRACKET
-27E9 ; [*0A1A.0020.0002.27E9] # MATHEMATICAL RIGHT ANGLE BRACKET
-27EA ; [*0A1B.0020.0002.27EA] # MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EB ; [*0A1C.0020.0002.27EB] # MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27EC ; [*0334.0020.0002.27EC] # MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27ED ; [*0335.0020.0002.27ED] # MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-27EE ; [*0336.0020.0002.27EE] # MATHEMATICAL LEFT FLATTENED PARENTHESIS
-27EF ; [*0337.0020.0002.27EF] # MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-27F0 ; [*0A1D.0020.0002.27F0] # UPWARDS QUADRUPLE ARROW
-27F1 ; [*0A1E.0020.0002.27F1] # DOWNWARDS QUADRUPLE ARROW
-27F2 ; [*0A1F.0020.0002.27F2] # ANTICLOCKWISE GAPPED CIRCLE ARROW
-27F3 ; [*0A20.0020.0002.27F3] # CLOCKWISE GAPPED CIRCLE ARROW
-27F4 ; [*0A21.0020.0002.27F4] # RIGHT ARROW WITH CIRCLED PLUS
-27F5 ; [*0A22.0020.0002.27F5] # LONG LEFTWARDS ARROW
-27F6 ; [*0A23.0020.0002.27F6] # LONG RIGHTWARDS ARROW
-27F7 ; [*0A24.0020.0002.27F7] # LONG LEFT RIGHT ARROW
-27F8 ; [*0A25.0020.0002.27F8] # LONG LEFTWARDS DOUBLE ARROW
-27F9 ; [*0A26.0020.0002.27F9] # LONG RIGHTWARDS DOUBLE ARROW
-27FA ; [*0A27.0020.0002.27FA] # LONG LEFT RIGHT DOUBLE ARROW
-27FB ; [*0A28.0020.0002.27FB] # LONG LEFTWARDS ARROW FROM BAR
-27FC ; [*0A29.0020.0002.27FC] # LONG RIGHTWARDS ARROW FROM BAR
-27FD ; [*0A2A.0020.0002.27FD] # LONG LEFTWARDS DOUBLE ARROW FROM BAR
-27FE ; [*0A2B.0020.0002.27FE] # LONG RIGHTWARDS DOUBLE ARROW FROM BAR
-27FF ; [*0A2C.0020.0002.27FF] # LONG RIGHTWARDS SQUIGGLE ARROW
-2800 ; [*0C6D.0020.0002.2800] # BRAILLE PATTERN BLANK
-2801 ; [*0C6E.0020.0002.2801] # BRAILLE PATTERN DOTS-1
-2802 ; [*0C6F.0020.0002.2802] # BRAILLE PATTERN DOTS-2
-2803 ; [*0C70.0020.0002.2803] # BRAILLE PATTERN DOTS-12
-2804 ; [*0C71.0020.0002.2804] # BRAILLE PATTERN DOTS-3
-2805 ; [*0C72.0020.0002.2805] # BRAILLE PATTERN DOTS-13
-2806 ; [*0C73.0020.0002.2806] # BRAILLE PATTERN DOTS-23
-2807 ; [*0C74.0020.0002.2807] # BRAILLE PATTERN DOTS-123
-2808 ; [*0C75.0020.0002.2808] # BRAILLE PATTERN DOTS-4
-2809 ; [*0C76.0020.0002.2809] # BRAILLE PATTERN DOTS-14
-280A ; [*0C77.0020.0002.280A] # BRAILLE PATTERN DOTS-24
-280B ; [*0C78.0020.0002.280B] # BRAILLE PATTERN DOTS-124
-280C ; [*0C79.0020.0002.280C] # BRAILLE PATTERN DOTS-34
-280D ; [*0C7A.0020.0002.280D] # BRAILLE PATTERN DOTS-134
-280E ; [*0C7B.0020.0002.280E] # BRAILLE PATTERN DOTS-234
-280F ; [*0C7C.0020.0002.280F] # BRAILLE PATTERN DOTS-1234
-2810 ; [*0C7D.0020.0002.2810] # BRAILLE PATTERN DOTS-5
-2811 ; [*0C7E.0020.0002.2811] # BRAILLE PATTERN DOTS-15
-2812 ; [*0C7F.0020.0002.2812] # BRAILLE PATTERN DOTS-25
-2813 ; [*0C80.0020.0002.2813] # BRAILLE PATTERN DOTS-125
-2814 ; [*0C81.0020.0002.2814] # BRAILLE PATTERN DOTS-35
-2815 ; [*0C82.0020.0002.2815] # BRAILLE PATTERN DOTS-135
-2816 ; [*0C83.0020.0002.2816] # BRAILLE PATTERN DOTS-235
-2817 ; [*0C84.0020.0002.2817] # BRAILLE PATTERN DOTS-1235
-2818 ; [*0C85.0020.0002.2818] # BRAILLE PATTERN DOTS-45
-2819 ; [*0C86.0020.0002.2819] # BRAILLE PATTERN DOTS-145
-281A ; [*0C87.0020.0002.281A] # BRAILLE PATTERN DOTS-245
-281B ; [*0C88.0020.0002.281B] # BRAILLE PATTERN DOTS-1245
-281C ; [*0C89.0020.0002.281C] # BRAILLE PATTERN DOTS-345
-281D ; [*0C8A.0020.0002.281D] # BRAILLE PATTERN DOTS-1345
-281E ; [*0C8B.0020.0002.281E] # BRAILLE PATTERN DOTS-2345
-281F ; [*0C8C.0020.0002.281F] # BRAILLE PATTERN DOTS-12345
-2820 ; [*0C8D.0020.0002.2820] # BRAILLE PATTERN DOTS-6
-2821 ; [*0C8E.0020.0002.2821] # BRAILLE PATTERN DOTS-16
-2822 ; [*0C8F.0020.0002.2822] # BRAILLE PATTERN DOTS-26
-2823 ; [*0C90.0020.0002.2823] # BRAILLE PATTERN DOTS-126
-2824 ; [*0C91.0020.0002.2824] # BRAILLE PATTERN DOTS-36
-2825 ; [*0C92.0020.0002.2825] # BRAILLE PATTERN DOTS-136
-2826 ; [*0C93.0020.0002.2826] # BRAILLE PATTERN DOTS-236
-2827 ; [*0C94.0020.0002.2827] # BRAILLE PATTERN DOTS-1236
-2828 ; [*0C95.0020.0002.2828] # BRAILLE PATTERN DOTS-46
-2829 ; [*0C96.0020.0002.2829] # BRAILLE PATTERN DOTS-146
-282A ; [*0C97.0020.0002.282A] # BRAILLE PATTERN DOTS-246
-282B ; [*0C98.0020.0002.282B] # BRAILLE PATTERN DOTS-1246
-282C ; [*0C99.0020.0002.282C] # BRAILLE PATTERN DOTS-346
-282D ; [*0C9A.0020.0002.282D] # BRAILLE PATTERN DOTS-1346
-282E ; [*0C9B.0020.0002.282E] # BRAILLE PATTERN DOTS-2346
-282F ; [*0C9C.0020.0002.282F] # BRAILLE PATTERN DOTS-12346
-2830 ; [*0C9D.0020.0002.2830] # BRAILLE PATTERN DOTS-56
-2831 ; [*0C9E.0020.0002.2831] # BRAILLE PATTERN DOTS-156
-2832 ; [*0C9F.0020.0002.2832] # BRAILLE PATTERN DOTS-256
-2833 ; [*0CA0.0020.0002.2833] # BRAILLE PATTERN DOTS-1256
-2834 ; [*0CA1.0020.0002.2834] # BRAILLE PATTERN DOTS-356
-2835 ; [*0CA2.0020.0002.2835] # BRAILLE PATTERN DOTS-1356
-2836 ; [*0CA3.0020.0002.2836] # BRAILLE PATTERN DOTS-2356
-2837 ; [*0CA4.0020.0002.2837] # BRAILLE PATTERN DOTS-12356
-2838 ; [*0CA5.0020.0002.2838] # BRAILLE PATTERN DOTS-456
-2839 ; [*0CA6.0020.0002.2839] # BRAILLE PATTERN DOTS-1456
-283A ; [*0CA7.0020.0002.283A] # BRAILLE PATTERN DOTS-2456
-283B ; [*0CA8.0020.0002.283B] # BRAILLE PATTERN DOTS-12456
-283C ; [*0CA9.0020.0002.283C] # BRAILLE PATTERN DOTS-3456
-283D ; [*0CAA.0020.0002.283D] # BRAILLE PATTERN DOTS-13456
-283E ; [*0CAB.0020.0002.283E] # BRAILLE PATTERN DOTS-23456
-283F ; [*0CAC.0020.0002.283F] # BRAILLE PATTERN DOTS-123456
-2840 ; [*0CAD.0020.0002.2840] # BRAILLE PATTERN DOTS-7
-2841 ; [*0CAE.0020.0002.2841] # BRAILLE PATTERN DOTS-17
-2842 ; [*0CAF.0020.0002.2842] # BRAILLE PATTERN DOTS-27
-2843 ; [*0CB0.0020.0002.2843] # BRAILLE PATTERN DOTS-127
-2844 ; [*0CB1.0020.0002.2844] # BRAILLE PATTERN DOTS-37
-2845 ; [*0CB2.0020.0002.2845] # BRAILLE PATTERN DOTS-137
-2846 ; [*0CB3.0020.0002.2846] # BRAILLE PATTERN DOTS-237
-2847 ; [*0CB4.0020.0002.2847] # BRAILLE PATTERN DOTS-1237
-2848 ; [*0CB5.0020.0002.2848] # BRAILLE PATTERN DOTS-47
-2849 ; [*0CB6.0020.0002.2849] # BRAILLE PATTERN DOTS-147
-284A ; [*0CB7.0020.0002.284A] # BRAILLE PATTERN DOTS-247
-284B ; [*0CB8.0020.0002.284B] # BRAILLE PATTERN DOTS-1247
-284C ; [*0CB9.0020.0002.284C] # BRAILLE PATTERN DOTS-347
-284D ; [*0CBA.0020.0002.284D] # BRAILLE PATTERN DOTS-1347
-284E ; [*0CBB.0020.0002.284E] # BRAILLE PATTERN DOTS-2347
-284F ; [*0CBC.0020.0002.284F] # BRAILLE PATTERN DOTS-12347
-2850 ; [*0CBD.0020.0002.2850] # BRAILLE PATTERN DOTS-57
-2851 ; [*0CBE.0020.0002.2851] # BRAILLE PATTERN DOTS-157
-2852 ; [*0CBF.0020.0002.2852] # BRAILLE PATTERN DOTS-257
-2853 ; [*0CC0.0020.0002.2853] # BRAILLE PATTERN DOTS-1257
-2854 ; [*0CC1.0020.0002.2854] # BRAILLE PATTERN DOTS-357
-2855 ; [*0CC2.0020.0002.2855] # BRAILLE PATTERN DOTS-1357
-2856 ; [*0CC3.0020.0002.2856] # BRAILLE PATTERN DOTS-2357
-2857 ; [*0CC4.0020.0002.2857] # BRAILLE PATTERN DOTS-12357
-2858 ; [*0CC5.0020.0002.2858] # BRAILLE PATTERN DOTS-457
-2859 ; [*0CC6.0020.0002.2859] # BRAILLE PATTERN DOTS-1457
-285A ; [*0CC7.0020.0002.285A] # BRAILLE PATTERN DOTS-2457
-285B ; [*0CC8.0020.0002.285B] # BRAILLE PATTERN DOTS-12457
-285C ; [*0CC9.0020.0002.285C] # BRAILLE PATTERN DOTS-3457
-285D ; [*0CCA.0020.0002.285D] # BRAILLE PATTERN DOTS-13457
-285E ; [*0CCB.0020.0002.285E] # BRAILLE PATTERN DOTS-23457
-285F ; [*0CCC.0020.0002.285F] # BRAILLE PATTERN DOTS-123457
-2860 ; [*0CCD.0020.0002.2860] # BRAILLE PATTERN DOTS-67
-2861 ; [*0CCE.0020.0002.2861] # BRAILLE PATTERN DOTS-167
-2862 ; [*0CCF.0020.0002.2862] # BRAILLE PATTERN DOTS-267
-2863 ; [*0CD0.0020.0002.2863] # BRAILLE PATTERN DOTS-1267
-2864 ; [*0CD1.0020.0002.2864] # BRAILLE PATTERN DOTS-367
-2865 ; [*0CD2.0020.0002.2865] # BRAILLE PATTERN DOTS-1367
-2866 ; [*0CD3.0020.0002.2866] # BRAILLE PATTERN DOTS-2367
-2867 ; [*0CD4.0020.0002.2867] # BRAILLE PATTERN DOTS-12367
-2868 ; [*0CD5.0020.0002.2868] # BRAILLE PATTERN DOTS-467
-2869 ; [*0CD6.0020.0002.2869] # BRAILLE PATTERN DOTS-1467
-286A ; [*0CD7.0020.0002.286A] # BRAILLE PATTERN DOTS-2467
-286B ; [*0CD8.0020.0002.286B] # BRAILLE PATTERN DOTS-12467
-286C ; [*0CD9.0020.0002.286C] # BRAILLE PATTERN DOTS-3467
-286D ; [*0CDA.0020.0002.286D] # BRAILLE PATTERN DOTS-13467
-286E ; [*0CDB.0020.0002.286E] # BRAILLE PATTERN DOTS-23467
-286F ; [*0CDC.0020.0002.286F] # BRAILLE PATTERN DOTS-123467
-2870 ; [*0CDD.0020.0002.2870] # BRAILLE PATTERN DOTS-567
-2871 ; [*0CDE.0020.0002.2871] # BRAILLE PATTERN DOTS-1567
-2872 ; [*0CDF.0020.0002.2872] # BRAILLE PATTERN DOTS-2567
-2873 ; [*0CE0.0020.0002.2873] # BRAILLE PATTERN DOTS-12567
-2874 ; [*0CE1.0020.0002.2874] # BRAILLE PATTERN DOTS-3567
-2875 ; [*0CE2.0020.0002.2875] # BRAILLE PATTERN DOTS-13567
-2876 ; [*0CE3.0020.0002.2876] # BRAILLE PATTERN DOTS-23567
-2877 ; [*0CE4.0020.0002.2877] # BRAILLE PATTERN DOTS-123567
-2878 ; [*0CE5.0020.0002.2878] # BRAILLE PATTERN DOTS-4567
-2879 ; [*0CE6.0020.0002.2879] # BRAILLE PATTERN DOTS-14567
-287A ; [*0CE7.0020.0002.287A] # BRAILLE PATTERN DOTS-24567
-287B ; [*0CE8.0020.0002.287B] # BRAILLE PATTERN DOTS-124567
-287C ; [*0CE9.0020.0002.287C] # BRAILLE PATTERN DOTS-34567
-287D ; [*0CEA.0020.0002.287D] # BRAILLE PATTERN DOTS-134567
-287E ; [*0CEB.0020.0002.287E] # BRAILLE PATTERN DOTS-234567
-287F ; [*0CEC.0020.0002.287F] # BRAILLE PATTERN DOTS-1234567
-2880 ; [*0CED.0020.0002.2880] # BRAILLE PATTERN DOTS-8
-2881 ; [*0CEE.0020.0002.2881] # BRAILLE PATTERN DOTS-18
-2882 ; [*0CEF.0020.0002.2882] # BRAILLE PATTERN DOTS-28
-2883 ; [*0CF0.0020.0002.2883] # BRAILLE PATTERN DOTS-128
-2884 ; [*0CF1.0020.0002.2884] # BRAILLE PATTERN DOTS-38
-2885 ; [*0CF2.0020.0002.2885] # BRAILLE PATTERN DOTS-138
-2886 ; [*0CF3.0020.0002.2886] # BRAILLE PATTERN DOTS-238
-2887 ; [*0CF4.0020.0002.2887] # BRAILLE PATTERN DOTS-1238
-2888 ; [*0CF5.0020.0002.2888] # BRAILLE PATTERN DOTS-48
-2889 ; [*0CF6.0020.0002.2889] # BRAILLE PATTERN DOTS-148
-288A ; [*0CF7.0020.0002.288A] # BRAILLE PATTERN DOTS-248
-288B ; [*0CF8.0020.0002.288B] # BRAILLE PATTERN DOTS-1248
-288C ; [*0CF9.0020.0002.288C] # BRAILLE PATTERN DOTS-348
-288D ; [*0CFA.0020.0002.288D] # BRAILLE PATTERN DOTS-1348
-288E ; [*0CFB.0020.0002.288E] # BRAILLE PATTERN DOTS-2348
-288F ; [*0CFC.0020.0002.288F] # BRAILLE PATTERN DOTS-12348
-2890 ; [*0CFD.0020.0002.2890] # BRAILLE PATTERN DOTS-58
-2891 ; [*0CFE.0020.0002.2891] # BRAILLE PATTERN DOTS-158
-2892 ; [*0CFF.0020.0002.2892] # BRAILLE PATTERN DOTS-258
-2893 ; [*0D00.0020.0002.2893] # BRAILLE PATTERN DOTS-1258
-2894 ; [*0D01.0020.0002.2894] # BRAILLE PATTERN DOTS-358
-2895 ; [*0D02.0020.0002.2895] # BRAILLE PATTERN DOTS-1358
-2896 ; [*0D03.0020.0002.2896] # BRAILLE PATTERN DOTS-2358
-2897 ; [*0D04.0020.0002.2897] # BRAILLE PATTERN DOTS-12358
-2898 ; [*0D05.0020.0002.2898] # BRAILLE PATTERN DOTS-458
-2899 ; [*0D06.0020.0002.2899] # BRAILLE PATTERN DOTS-1458
-289A ; [*0D07.0020.0002.289A] # BRAILLE PATTERN DOTS-2458
-289B ; [*0D08.0020.0002.289B] # BRAILLE PATTERN DOTS-12458
-289C ; [*0D09.0020.0002.289C] # BRAILLE PATTERN DOTS-3458
-289D ; [*0D0A.0020.0002.289D] # BRAILLE PATTERN DOTS-13458
-289E ; [*0D0B.0020.0002.289E] # BRAILLE PATTERN DOTS-23458
-289F ; [*0D0C.0020.0002.289F] # BRAILLE PATTERN DOTS-123458
-28A0 ; [*0D0D.0020.0002.28A0] # BRAILLE PATTERN DOTS-68
-28A1 ; [*0D0E.0020.0002.28A1] # BRAILLE PATTERN DOTS-168
-28A2 ; [*0D0F.0020.0002.28A2] # BRAILLE PATTERN DOTS-268
-28A3 ; [*0D10.0020.0002.28A3] # BRAILLE PATTERN DOTS-1268
-28A4 ; [*0D11.0020.0002.28A4] # BRAILLE PATTERN DOTS-368
-28A5 ; [*0D12.0020.0002.28A5] # BRAILLE PATTERN DOTS-1368
-28A6 ; [*0D13.0020.0002.28A6] # BRAILLE PATTERN DOTS-2368
-28A7 ; [*0D14.0020.0002.28A7] # BRAILLE PATTERN DOTS-12368
-28A8 ; [*0D15.0020.0002.28A8] # BRAILLE PATTERN DOTS-468
-28A9 ; [*0D16.0020.0002.28A9] # BRAILLE PATTERN DOTS-1468
-28AA ; [*0D17.0020.0002.28AA] # BRAILLE PATTERN DOTS-2468
-28AB ; [*0D18.0020.0002.28AB] # BRAILLE PATTERN DOTS-12468
-28AC ; [*0D19.0020.0002.28AC] # BRAILLE PATTERN DOTS-3468
-28AD ; [*0D1A.0020.0002.28AD] # BRAILLE PATTERN DOTS-13468
-28AE ; [*0D1B.0020.0002.28AE] # BRAILLE PATTERN DOTS-23468
-28AF ; [*0D1C.0020.0002.28AF] # BRAILLE PATTERN DOTS-123468
-28B0 ; [*0D1D.0020.0002.28B0] # BRAILLE PATTERN DOTS-568
-28B1 ; [*0D1E.0020.0002.28B1] # BRAILLE PATTERN DOTS-1568
-28B2 ; [*0D1F.0020.0002.28B2] # BRAILLE PATTERN DOTS-2568
-28B3 ; [*0D20.0020.0002.28B3] # BRAILLE PATTERN DOTS-12568
-28B4 ; [*0D21.0020.0002.28B4] # BRAILLE PATTERN DOTS-3568
-28B5 ; [*0D22.0020.0002.28B5] # BRAILLE PATTERN DOTS-13568
-28B6 ; [*0D23.0020.0002.28B6] # BRAILLE PATTERN DOTS-23568
-28B7 ; [*0D24.0020.0002.28B7] # BRAILLE PATTERN DOTS-123568
-28B8 ; [*0D25.0020.0002.28B8] # BRAILLE PATTERN DOTS-4568
-28B9 ; [*0D26.0020.0002.28B9] # BRAILLE PATTERN DOTS-14568
-28BA ; [*0D27.0020.0002.28BA] # BRAILLE PATTERN DOTS-24568
-28BB ; [*0D28.0020.0002.28BB] # BRAILLE PATTERN DOTS-124568
-28BC ; [*0D29.0020.0002.28BC] # BRAILLE PATTERN DOTS-34568
-28BD ; [*0D2A.0020.0002.28BD] # BRAILLE PATTERN DOTS-134568
-28BE ; [*0D2B.0020.0002.28BE] # BRAILLE PATTERN DOTS-234568
-28BF ; [*0D2C.0020.0002.28BF] # BRAILLE PATTERN DOTS-1234568
-28C0 ; [*0D2D.0020.0002.28C0] # BRAILLE PATTERN DOTS-78
-28C1 ; [*0D2E.0020.0002.28C1] # BRAILLE PATTERN DOTS-178
-28C2 ; [*0D2F.0020.0002.28C2] # BRAILLE PATTERN DOTS-278
-28C3 ; [*0D30.0020.0002.28C3] # BRAILLE PATTERN DOTS-1278
-28C4 ; [*0D31.0020.0002.28C4] # BRAILLE PATTERN DOTS-378
-28C5 ; [*0D32.0020.0002.28C5] # BRAILLE PATTERN DOTS-1378
-28C6 ; [*0D33.0020.0002.28C6] # BRAILLE PATTERN DOTS-2378
-28C7 ; [*0D34.0020.0002.28C7] # BRAILLE PATTERN DOTS-12378
-28C8 ; [*0D35.0020.0002.28C8] # BRAILLE PATTERN DOTS-478
-28C9 ; [*0D36.0020.0002.28C9] # BRAILLE PATTERN DOTS-1478
-28CA ; [*0D37.0020.0002.28CA] # BRAILLE PATTERN DOTS-2478
-28CB ; [*0D38.0020.0002.28CB] # BRAILLE PATTERN DOTS-12478
-28CC ; [*0D39.0020.0002.28CC] # BRAILLE PATTERN DOTS-3478
-28CD ; [*0D3A.0020.0002.28CD] # BRAILLE PATTERN DOTS-13478
-28CE ; [*0D3B.0020.0002.28CE] # BRAILLE PATTERN DOTS-23478
-28CF ; [*0D3C.0020.0002.28CF] # BRAILLE PATTERN DOTS-123478
-28D0 ; [*0D3D.0020.0002.28D0] # BRAILLE PATTERN DOTS-578
-28D1 ; [*0D3E.0020.0002.28D1] # BRAILLE PATTERN DOTS-1578
-28D2 ; [*0D3F.0020.0002.28D2] # BRAILLE PATTERN DOTS-2578
-28D3 ; [*0D40.0020.0002.28D3] # BRAILLE PATTERN DOTS-12578
-28D4 ; [*0D41.0020.0002.28D4] # BRAILLE PATTERN DOTS-3578
-28D5 ; [*0D42.0020.0002.28D5] # BRAILLE PATTERN DOTS-13578
-28D6 ; [*0D43.0020.0002.28D6] # BRAILLE PATTERN DOTS-23578
-28D7 ; [*0D44.0020.0002.28D7] # BRAILLE PATTERN DOTS-123578
-28D8 ; [*0D45.0020.0002.28D8] # BRAILLE PATTERN DOTS-4578
-28D9 ; [*0D46.0020.0002.28D9] # BRAILLE PATTERN DOTS-14578
-28DA ; [*0D47.0020.0002.28DA] # BRAILLE PATTERN DOTS-24578
-28DB ; [*0D48.0020.0002.28DB] # BRAILLE PATTERN DOTS-124578
-28DC ; [*0D49.0020.0002.28DC] # BRAILLE PATTERN DOTS-34578
-28DD ; [*0D4A.0020.0002.28DD] # BRAILLE PATTERN DOTS-134578
-28DE ; [*0D4B.0020.0002.28DE] # BRAILLE PATTERN DOTS-234578
-28DF ; [*0D4C.0020.0002.28DF] # BRAILLE PATTERN DOTS-1234578
-28E0 ; [*0D4D.0020.0002.28E0] # BRAILLE PATTERN DOTS-678
-28E1 ; [*0D4E.0020.0002.28E1] # BRAILLE PATTERN DOTS-1678
-28E2 ; [*0D4F.0020.0002.28E2] # BRAILLE PATTERN DOTS-2678
-28E3 ; [*0D50.0020.0002.28E3] # BRAILLE PATTERN DOTS-12678
-28E4 ; [*0D51.0020.0002.28E4] # BRAILLE PATTERN DOTS-3678
-28E5 ; [*0D52.0020.0002.28E5] # BRAILLE PATTERN DOTS-13678
-28E6 ; [*0D53.0020.0002.28E6] # BRAILLE PATTERN DOTS-23678
-28E7 ; [*0D54.0020.0002.28E7] # BRAILLE PATTERN DOTS-123678
-28E8 ; [*0D55.0020.0002.28E8] # BRAILLE PATTERN DOTS-4678
-28E9 ; [*0D56.0020.0002.28E9] # BRAILLE PATTERN DOTS-14678
-28EA ; [*0D57.0020.0002.28EA] # BRAILLE PATTERN DOTS-24678
-28EB ; [*0D58.0020.0002.28EB] # BRAILLE PATTERN DOTS-124678
-28EC ; [*0D59.0020.0002.28EC] # BRAILLE PATTERN DOTS-34678
-28ED ; [*0D5A.0020.0002.28ED] # BRAILLE PATTERN DOTS-134678
-28EE ; [*0D5B.0020.0002.28EE] # BRAILLE PATTERN DOTS-234678
-28EF ; [*0D5C.0020.0002.28EF] # BRAILLE PATTERN DOTS-1234678
-28F0 ; [*0D5D.0020.0002.28F0] # BRAILLE PATTERN DOTS-5678
-28F1 ; [*0D5E.0020.0002.28F1] # BRAILLE PATTERN DOTS-15678
-28F2 ; [*0D5F.0020.0002.28F2] # BRAILLE PATTERN DOTS-25678
-28F3 ; [*0D60.0020.0002.28F3] # BRAILLE PATTERN DOTS-125678
-28F4 ; [*0D61.0020.0002.28F4] # BRAILLE PATTERN DOTS-35678
-28F5 ; [*0D62.0020.0002.28F5] # BRAILLE PATTERN DOTS-135678
-28F6 ; [*0D63.0020.0002.28F6] # BRAILLE PATTERN DOTS-235678
-28F7 ; [*0D64.0020.0002.28F7] # BRAILLE PATTERN DOTS-1235678
-28F8 ; [*0D65.0020.0002.28F8] # BRAILLE PATTERN DOTS-45678
-28F9 ; [*0D66.0020.0002.28F9] # BRAILLE PATTERN DOTS-145678
-28FA ; [*0D67.0020.0002.28FA] # BRAILLE PATTERN DOTS-245678
-28FB ; [*0D68.0020.0002.28FB] # BRAILLE PATTERN DOTS-1245678
-28FC ; [*0D69.0020.0002.28FC] # BRAILLE PATTERN DOTS-345678
-28FD ; [*0D6A.0020.0002.28FD] # BRAILLE PATTERN DOTS-1345678
-28FE ; [*0D6B.0020.0002.28FE] # BRAILLE PATTERN DOTS-2345678
-28FF ; [*0D6C.0020.0002.28FF] # BRAILLE PATTERN DOTS-12345678
-2900 ; [*0A2D.0020.0002.2900] # RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
-2901 ; [*0A2E.0020.0002.2901] # RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
-2902 ; [*0A2F.0020.0002.2902] # LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
-2903 ; [*0A30.0020.0002.2903] # RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
-2904 ; [*0A31.0020.0002.2904] # LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
-2905 ; [*0A32.0020.0002.2905] # RIGHTWARDS TWO-HEADED ARROW FROM BAR
-2906 ; [*0A33.0020.0002.2906] # LEFTWARDS DOUBLE ARROW FROM BAR
-2907 ; [*0A34.0020.0002.2907] # RIGHTWARDS DOUBLE ARROW FROM BAR
-2908 ; [*0A35.0020.0002.2908] # DOWNWARDS ARROW WITH HORIZONTAL STROKE
-2909 ; [*0A36.0020.0002.2909] # UPWARDS ARROW WITH HORIZONTAL STROKE
-290A ; [*0A37.0020.0002.290A] # UPWARDS TRIPLE ARROW
-290B ; [*0A38.0020.0002.290B] # DOWNWARDS TRIPLE ARROW
-290C ; [*0A39.0020.0002.290C] # LEFTWARDS DOUBLE DASH ARROW
-290D ; [*0A3A.0020.0002.290D] # RIGHTWARDS DOUBLE DASH ARROW
-290E ; [*0A3B.0020.0002.290E] # LEFTWARDS TRIPLE DASH ARROW
-290F ; [*0A3C.0020.0002.290F] # RIGHTWARDS TRIPLE DASH ARROW
-2910 ; [*0A3D.0020.0002.2910] # RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
-2911 ; [*0A3E.0020.0002.2911] # RIGHTWARDS ARROW WITH DOTTED STEM
-2912 ; [*0A3F.0020.0002.2912] # UPWARDS ARROW TO BAR
-2913 ; [*0A40.0020.0002.2913] # DOWNWARDS ARROW TO BAR
-2914 ; [*0A41.0020.0002.2914] # RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
-2915 ; [*0A42.0020.0002.2915] # RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2916 ; [*0A43.0020.0002.2916] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL
-2917 ; [*0A44.0020.0002.2917] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
-2918 ; [*0A45.0020.0002.2918] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2919 ; [*0A46.0020.0002.2919] # LEFTWARDS ARROW-TAIL
-291A ; [*0A47.0020.0002.291A] # RIGHTWARDS ARROW-TAIL
-291B ; [*0A48.0020.0002.291B] # LEFTWARDS DOUBLE ARROW-TAIL
-291C ; [*0A49.0020.0002.291C] # RIGHTWARDS DOUBLE ARROW-TAIL
-291D ; [*0A4A.0020.0002.291D] # LEFTWARDS ARROW TO BLACK DIAMOND
-291E ; [*0A4B.0020.0002.291E] # RIGHTWARDS ARROW TO BLACK DIAMOND
-291F ; [*0A4C.0020.0002.291F] # LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
-2920 ; [*0A4D.0020.0002.2920] # RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
-2921 ; [*0A4E.0020.0002.2921] # NORTH WEST AND SOUTH EAST ARROW
-2922 ; [*0A4F.0020.0002.2922] # NORTH EAST AND SOUTH WEST ARROW
-2923 ; [*0A50.0020.0002.2923] # NORTH WEST ARROW WITH HOOK
-2924 ; [*0A51.0020.0002.2924] # NORTH EAST ARROW WITH HOOK
-2925 ; [*0A52.0020.0002.2925] # SOUTH EAST ARROW WITH HOOK
-2926 ; [*0A53.0020.0002.2926] # SOUTH WEST ARROW WITH HOOK
-2927 ; [*0A54.0020.0002.2927] # NORTH WEST ARROW AND NORTH EAST ARROW
-2928 ; [*0A55.0020.0002.2928] # NORTH EAST ARROW AND SOUTH EAST ARROW
-2929 ; [*0A56.0020.0002.2929] # SOUTH EAST ARROW AND SOUTH WEST ARROW
-292A ; [*0A57.0020.0002.292A] # SOUTH WEST ARROW AND NORTH WEST ARROW
-292B ; [*0A58.0020.0002.292B] # RISING DIAGONAL CROSSING FALLING DIAGONAL
-292C ; [*0A59.0020.0002.292C] # FALLING DIAGONAL CROSSING RISING DIAGONAL
-292D ; [*0A5A.0020.0002.292D] # SOUTH EAST ARROW CROSSING NORTH EAST ARROW
-292E ; [*0A5B.0020.0002.292E] # NORTH EAST ARROW CROSSING SOUTH EAST ARROW
-292F ; [*0A5C.0020.0002.292F] # FALLING DIAGONAL CROSSING NORTH EAST ARROW
-2930 ; [*0A5D.0020.0002.2930] # RISING DIAGONAL CROSSING SOUTH EAST ARROW
-2931 ; [*0A5E.0020.0002.2931] # NORTH EAST ARROW CROSSING NORTH WEST ARROW
-2932 ; [*0A5F.0020.0002.2932] # NORTH WEST ARROW CROSSING NORTH EAST ARROW
-2933 ; [*0A60.0020.0002.2933] # WAVE ARROW POINTING DIRECTLY RIGHT
-2934 ; [*0A61.0020.0002.2934] # ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
-2935 ; [*0A62.0020.0002.2935] # ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
-2936 ; [*0A63.0020.0002.2936] # ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
-2937 ; [*0A64.0020.0002.2937] # ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
-2938 ; [*0A65.0020.0002.2938] # RIGHT-SIDE ARC CLOCKWISE ARROW
-2939 ; [*0A66.0020.0002.2939] # LEFT-SIDE ARC ANTICLOCKWISE ARROW
-293A ; [*0A67.0020.0002.293A] # TOP ARC ANTICLOCKWISE ARROW
-293B ; [*0A68.0020.0002.293B] # BOTTOM ARC ANTICLOCKWISE ARROW
-293C ; [*0A69.0020.0002.293C] # TOP ARC CLOCKWISE ARROW WITH MINUS
-293D ; [*0A6A.0020.0002.293D] # TOP ARC ANTICLOCKWISE ARROW WITH PLUS
-293E ; [*0A6B.0020.0002.293E] # LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW
-293F ; [*0A6C.0020.0002.293F] # LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW
-2940 ; [*0A6D.0020.0002.2940] # ANTICLOCKWISE CLOSED CIRCLE ARROW
-2941 ; [*0A6E.0020.0002.2941] # CLOCKWISE CLOSED CIRCLE ARROW
-2942 ; [*0A6F.0020.0002.2942] # RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
-2943 ; [*0A70.0020.0002.2943] # LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
-2944 ; [*0A71.0020.0002.2944] # SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
-2945 ; [*0A72.0020.0002.2945] # RIGHTWARDS ARROW WITH PLUS BELOW
-2946 ; [*0A73.0020.0002.2946] # LEFTWARDS ARROW WITH PLUS BELOW
-2947 ; [*0A74.0020.0002.2947] # RIGHTWARDS ARROW THROUGH X
-2948 ; [*0A75.0020.0002.2948] # LEFT RIGHT ARROW THROUGH SMALL CIRCLE
-2949 ; [*0A76.0020.0002.2949] # UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
-294A ; [*0A77.0020.0002.294A] # LEFT BARB UP RIGHT BARB DOWN HARPOON
-294B ; [*0A78.0020.0002.294B] # LEFT BARB DOWN RIGHT BARB UP HARPOON
-294C ; [*0A79.0020.0002.294C] # UP BARB RIGHT DOWN BARB LEFT HARPOON
-294D ; [*0A7A.0020.0002.294D] # UP BARB LEFT DOWN BARB RIGHT HARPOON
-294E ; [*0A7B.0020.0002.294E] # LEFT BARB UP RIGHT BARB UP HARPOON
-294F ; [*0A7C.0020.0002.294F] # UP BARB RIGHT DOWN BARB RIGHT HARPOON
-2950 ; [*0A7D.0020.0002.2950] # LEFT BARB DOWN RIGHT BARB DOWN HARPOON
-2951 ; [*0A7E.0020.0002.2951] # UP BARB LEFT DOWN BARB LEFT HARPOON
-2952 ; [*0A7F.0020.0002.2952] # LEFTWARDS HARPOON WITH BARB UP TO BAR
-2953 ; [*0A80.0020.0002.2953] # RIGHTWARDS HARPOON WITH BARB UP TO BAR
-2954 ; [*0A81.0020.0002.2954] # UPWARDS HARPOON WITH BARB RIGHT TO BAR
-2955 ; [*0A82.0020.0002.2955] # DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
-2956 ; [*0A83.0020.0002.2956] # LEFTWARDS HARPOON WITH BARB DOWN TO BAR
-2957 ; [*0A84.0020.0002.2957] # RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
-2958 ; [*0A85.0020.0002.2958] # UPWARDS HARPOON WITH BARB LEFT TO BAR
-2959 ; [*0A86.0020.0002.2959] # DOWNWARDS HARPOON WITH BARB LEFT TO BAR
-295A ; [*0A87.0020.0002.295A] # LEFTWARDS HARPOON WITH BARB UP FROM BAR
-295B ; [*0A88.0020.0002.295B] # RIGHTWARDS HARPOON WITH BARB UP FROM BAR
-295C ; [*0A89.0020.0002.295C] # UPWARDS HARPOON WITH BARB RIGHT FROM BAR
-295D ; [*0A8A.0020.0002.295D] # DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
-295E ; [*0A8B.0020.0002.295E] # LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
-295F ; [*0A8C.0020.0002.295F] # RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
-2960 ; [*0A8D.0020.0002.2960] # UPWARDS HARPOON WITH BARB LEFT FROM BAR
-2961 ; [*0A8E.0020.0002.2961] # DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
-2962 ; [*0A8F.0020.0002.2962] # LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
-2963 ; [*0A90.0020.0002.2963] # UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
-2964 ; [*0A91.0020.0002.2964] # RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
-2965 ; [*0A92.0020.0002.2965] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
-2966 ; [*0A93.0020.0002.2966] # LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
-2967 ; [*0A94.0020.0002.2967] # LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
-2968 ; [*0A95.0020.0002.2968] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
-2969 ; [*0A96.0020.0002.2969] # RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
-296A ; [*0A97.0020.0002.296A] # LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
-296B ; [*0A98.0020.0002.296B] # LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
-296C ; [*0A99.0020.0002.296C] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
-296D ; [*0A9A.0020.0002.296D] # RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
-296E ; [*0A9B.0020.0002.296E] # UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
-296F ; [*0A9C.0020.0002.296F] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
-2970 ; [*0A9D.0020.0002.2970] # RIGHT DOUBLE ARROW WITH ROUNDED HEAD
-2971 ; [*0A9E.0020.0002.2971] # EQUALS SIGN ABOVE RIGHTWARDS ARROW
-2972 ; [*0A9F.0020.0002.2972] # TILDE OPERATOR ABOVE RIGHTWARDS ARROW
-2973 ; [*0AA0.0020.0002.2973] # LEFTWARDS ARROW ABOVE TILDE OPERATOR
-2974 ; [*0AA1.0020.0002.2974] # RIGHTWARDS ARROW ABOVE TILDE OPERATOR
-2975 ; [*0AA2.0020.0002.2975] # RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
-2976 ; [*0AA3.0020.0002.2976] # LESS-THAN ABOVE LEFTWARDS ARROW
-2977 ; [*0AA4.0020.0002.2977] # LEFTWARDS ARROW THROUGH LESS-THAN
-2978 ; [*0AA5.0020.0002.2978] # GREATER-THAN ABOVE RIGHTWARDS ARROW
-2979 ; [*0AA6.0020.0002.2979] # SUBSET ABOVE RIGHTWARDS ARROW
-297A ; [*0AA7.0020.0002.297A] # LEFTWARDS ARROW THROUGH SUBSET
-297B ; [*0AA8.0020.0002.297B] # SUPERSET ABOVE LEFTWARDS ARROW
-297C ; [*0AA9.0020.0002.297C] # LEFT FISH TAIL
-297D ; [*0AAA.0020.0002.297D] # RIGHT FISH TAIL
-297E ; [*0AAB.0020.0002.297E] # UP FISH TAIL
-297F ; [*0AAC.0020.0002.297F] # DOWN FISH TAIL
-2980 ; [*0AAD.0020.0002.2980] # TRIPLE VERTICAL BAR DELIMITER
-2981 ; [*0AAE.0020.0002.2981] # Z NOTATION SPOT
-2982 ; [*0AAF.0020.0002.2982] # Z NOTATION TYPE COLON
-2983 ; [*031E.0020.0002.2983] # LEFT WHITE CURLY BRACKET
-2984 ; [*031F.0020.0002.2984] # RIGHT WHITE CURLY BRACKET
-2985 ; [*0320.0020.0002.2985] # LEFT WHITE PARENTHESIS
-2986 ; [*0321.0020.0002.2986] # RIGHT WHITE PARENTHESIS
-2987 ; [*0322.0020.0002.2987] # Z NOTATION LEFT IMAGE BRACKET
-2988 ; [*0323.0020.0002.2988] # Z NOTATION RIGHT IMAGE BRACKET
-2989 ; [*0324.0020.0002.2989] # Z NOTATION LEFT BINDING BRACKET
-298A ; [*0325.0020.0002.298A] # Z NOTATION RIGHT BINDING BRACKET
-298B ; [*0326.0020.0002.298B] # LEFT SQUARE BRACKET WITH UNDERBAR
-298C ; [*0327.0020.0002.298C] # RIGHT SQUARE BRACKET WITH UNDERBAR
-298D ; [*0328.0020.0002.298D] # LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E ; [*0329.0020.0002.298E] # RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F ; [*032A.0020.0002.298F] # LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990 ; [*032B.0020.0002.2990] # RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991 ; [*032C.0020.0002.2991] # LEFT ANGLE BRACKET WITH DOT
-2992 ; [*032D.0020.0002.2992] # RIGHT ANGLE BRACKET WITH DOT
-2993 ; [*032E.0020.0002.2993] # LEFT ARC LESS-THAN BRACKET
-2994 ; [*032F.0020.0002.2994] # RIGHT ARC GREATER-THAN BRACKET
-2995 ; [*0330.0020.0002.2995] # DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996 ; [*0331.0020.0002.2996] # DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997 ; [*0332.0020.0002.2997] # LEFT BLACK TORTOISE SHELL BRACKET
-2998 ; [*0333.0020.0002.2998] # RIGHT BLACK TORTOISE SHELL BRACKET
-2999 ; [*0AB0.0020.0002.2999] # DOTTED FENCE
-299A ; [*0AB1.0020.0002.299A] # VERTICAL ZIGZAG LINE
-299B ; [*0AB2.0020.0002.299B] # MEASURED ANGLE OPENING LEFT
-299C ; [*0AB3.0020.0002.299C] # RIGHT ANGLE VARIANT WITH SQUARE
-299D ; [*0AB4.0020.0002.299D] # MEASURED RIGHT ANGLE WITH DOT
-299E ; [*0AB5.0020.0002.299E] # ANGLE WITH S INSIDE
-299F ; [*0AB6.0020.0002.299F] # ACUTE ANGLE
-29A0 ; [*0AB7.0020.0002.29A0] # SPHERICAL ANGLE OPENING LEFT
-29A1 ; [*0AB8.0020.0002.29A1] # SPHERICAL ANGLE OPENING UP
-29A2 ; [*0AB9.0020.0002.29A2] # TURNED ANGLE
-29A3 ; [*0ABA.0020.0002.29A3] # REVERSED ANGLE
-29A4 ; [*0ABB.0020.0002.29A4] # ANGLE WITH UNDERBAR
-29A5 ; [*0ABC.0020.0002.29A5] # REVERSED ANGLE WITH UNDERBAR
-29A6 ; [*0ABD.0020.0002.29A6] # OBLIQUE ANGLE OPENING UP
-29A7 ; [*0ABE.0020.0002.29A7] # OBLIQUE ANGLE OPENING DOWN
-29A8 ; [*0ABF.0020.0002.29A8] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
-29A9 ; [*0AC0.0020.0002.29A9] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
-29AA ; [*0AC1.0020.0002.29AA] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
-29AB ; [*0AC2.0020.0002.29AB] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
-29AC ; [*0AC3.0020.0002.29AC] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
-29AD ; [*0AC4.0020.0002.29AD] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
-29AE ; [*0AC5.0020.0002.29AE] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
-29AF ; [*0AC6.0020.0002.29AF] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
-29B0 ; [*0AC7.0020.0002.29B0] # REVERSED EMPTY SET
-29B1 ; [*0AC8.0020.0002.29B1] # EMPTY SET WITH OVERBAR
-29B2 ; [*0AC9.0020.0002.29B2] # EMPTY SET WITH SMALL CIRCLE ABOVE
-29B3 ; [*0ACA.0020.0002.29B3] # EMPTY SET WITH RIGHT ARROW ABOVE
-29B4 ; [*0ACB.0020.0002.29B4] # EMPTY SET WITH LEFT ARROW ABOVE
-29B5 ; [*0ACC.0020.0002.29B5] # CIRCLE WITH HORIZONTAL BAR
-29B6 ; [*0ACD.0020.0002.29B6] # CIRCLED VERTICAL BAR
-29B7 ; [*0ACE.0020.0002.29B7] # CIRCLED PARALLEL
-29B8 ; [*0ACF.0020.0002.29B8] # CIRCLED REVERSE SOLIDUS
-29B9 ; [*0AD0.0020.0002.29B9] # CIRCLED PERPENDICULAR
-29BA ; [*0AD1.0020.0002.29BA] # CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR
-29BB ; [*0AD2.0020.0002.29BB] # CIRCLE WITH SUPERIMPOSED X
-29BC ; [*0AD3.0020.0002.29BC] # CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
-29BD ; [*0AD4.0020.0002.29BD] # UP ARROW THROUGH CIRCLE
-29BE ; [*0AD5.0020.0002.29BE] # CIRCLED WHITE BULLET
-29BF ; [*0AD6.0020.0002.29BF] # CIRCLED BULLET
-29C0 ; [*0AD7.0020.0002.29C0] # CIRCLED LESS-THAN
-29C1 ; [*0AD8.0020.0002.29C1] # CIRCLED GREATER-THAN
-29C2 ; [*0AD9.0020.0002.29C2] # CIRCLE WITH SMALL CIRCLE TO THE RIGHT
-29C3 ; [*0ADA.0020.0002.29C3] # CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
-29C4 ; [*0ADB.0020.0002.29C4] # SQUARED RISING DIAGONAL SLASH
-29C5 ; [*0ADC.0020.0002.29C5] # SQUARED FALLING DIAGONAL SLASH
-29C6 ; [*0ADD.0020.0002.29C6] # SQUARED ASTERISK
-29C7 ; [*0ADE.0020.0002.29C7] # SQUARED SMALL CIRCLE
-29C8 ; [*0ADF.0020.0002.29C8] # SQUARED SQUARE
-29C9 ; [*0AE0.0020.0002.29C9] # TWO JOINED SQUARES
-29CA ; [*0AE1.0020.0002.29CA] # TRIANGLE WITH DOT ABOVE
-29CB ; [*0AE2.0020.0002.29CB] # TRIANGLE WITH UNDERBAR
-29CC ; [*0AE3.0020.0002.29CC] # S IN TRIANGLE
-29CD ; [*0AE4.0020.0002.29CD] # TRIANGLE WITH SERIFS AT BOTTOM
-29CE ; [*0AE5.0020.0002.29CE] # RIGHT TRIANGLE ABOVE LEFT TRIANGLE
-29CF ; [*0AE6.0020.0002.29CF] # LEFT TRIANGLE BESIDE VERTICAL BAR
-29D0 ; [*0AE7.0020.0002.29D0] # VERTICAL BAR BESIDE RIGHT TRIANGLE
-29D1 ; [*0AE8.0020.0002.29D1] # BOWTIE WITH LEFT HALF BLACK
-29D2 ; [*0AE9.0020.0002.29D2] # BOWTIE WITH RIGHT HALF BLACK
-29D3 ; [*0AEA.0020.0002.29D3] # BLACK BOWTIE
-29D4 ; [*0AEB.0020.0002.29D4] # TIMES WITH LEFT HALF BLACK
-29D5 ; [*0AEC.0020.0002.29D5] # TIMES WITH RIGHT HALF BLACK
-29D6 ; [*0AED.0020.0002.29D6] # WHITE HOURGLASS
-29D7 ; [*0AEE.0020.0002.29D7] # BLACK HOURGLASS
-29D8 ; [*0AEF.0020.0002.29D8] # LEFT WIGGLY FENCE
-29D9 ; [*0AF0.0020.0002.29D9] # RIGHT WIGGLY FENCE
-29DA ; [*0AF1.0020.0002.29DA] # LEFT DOUBLE WIGGLY FENCE
-29DB ; [*0AF2.0020.0002.29DB] # RIGHT DOUBLE WIGGLY FENCE
-29DC ; [*0AF3.0020.0002.29DC] # INCOMPLETE INFINITY
-29DD ; [*0AF4.0020.0002.29DD] # TIE OVER INFINITY
-29DE ; [*0AF5.0020.0002.29DE] # INFINITY NEGATED WITH VERTICAL BAR
-29DF ; [*0AF6.0020.0002.29DF] # DOUBLE-ENDED MULTIMAP
-29E0 ; [*0AF7.0020.0002.29E0] # SQUARE WITH CONTOURED OUTLINE
-29E1 ; [*0AF8.0020.0002.29E1] # INCREASES AS
-29E2 ; [*0AF9.0020.0002.29E2] # SHUFFLE PRODUCT
-29E3 ; [*0AFA.0020.0002.29E3] # EQUALS SIGN AND SLANTED PARALLEL
-29E4 ; [*0AFB.0020.0002.29E4] # EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
-29E5 ; [*0AFC.0020.0002.29E5] # IDENTICAL TO AND SLANTED PARALLEL
-29E6 ; [*0AFD.0020.0002.29E6] # GLEICH STARK
-29E7 ; [*0AFE.0020.0002.29E7] # THERMODYNAMIC
-29E8 ; [*0AFF.0020.0002.29E8] # DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
-29E9 ; [*0B00.0020.0002.29E9] # DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
-29EA ; [*0B01.0020.0002.29EA] # BLACK DIAMOND WITH DOWN ARROW
-29EB ; [*0B02.0020.0002.29EB] # BLACK LOZENGE
-29EC ; [*0B03.0020.0002.29EC] # WHITE CIRCLE WITH DOWN ARROW
-29ED ; [*0B04.0020.0002.29ED] # BLACK CIRCLE WITH DOWN ARROW
-29EE ; [*0B05.0020.0002.29EE] # ERROR-BARRED WHITE SQUARE
-29EF ; [*0B06.0020.0002.29EF] # ERROR-BARRED BLACK SQUARE
-29F0 ; [*0B07.0020.0002.29F0] # ERROR-BARRED WHITE DIAMOND
-29F1 ; [*0B08.0020.0002.29F1] # ERROR-BARRED BLACK DIAMOND
-29F2 ; [*0B09.0020.0002.29F2] # ERROR-BARRED WHITE CIRCLE
-29F3 ; [*0B0A.0020.0002.29F3] # ERROR-BARRED BLACK CIRCLE
-29F4 ; [*0B0B.0020.0002.29F4] # RULE-DELAYED
-29F5 ; [*0B0C.0020.0002.29F5] # REVERSE SOLIDUS OPERATOR
-29F6 ; [*0B0D.0020.0002.29F6] # SOLIDUS WITH OVERBAR
-29F7 ; [*0B0E.0020.0002.29F7] # REVERSE SOLIDUS WITH HORIZONTAL STROKE
-29F8 ; [*0B0F.0020.0002.29F8] # BIG SOLIDUS
-29F9 ; [*0B10.0020.0002.29F9] # BIG REVERSE SOLIDUS
-29FA ; [*0B11.0020.0002.29FA] # DOUBLE PLUS
-29FB ; [*0B12.0020.0002.29FB] # TRIPLE PLUS
-29FC ; [*031C.0020.0002.29FC] # LEFT-POINTING CURVED ANGLE BRACKET
-29FD ; [*031D.0020.0002.29FD] # RIGHT-POINTING CURVED ANGLE BRACKET
-29FE ; [*0B13.0020.0002.29FE] # TINY
-29FF ; [*0B14.0020.0002.29FF] # MINY
-2A00 ; [*0B15.0020.0002.2A00] # N-ARY CIRCLED DOT OPERATOR
-2A01 ; [*0B16.0020.0002.2A01] # N-ARY CIRCLED PLUS OPERATOR
-2A02 ; [*0B17.0020.0002.2A02] # N-ARY CIRCLED TIMES OPERATOR
-2A03 ; [*0B18.0020.0002.2A03] # N-ARY UNION OPERATOR WITH DOT
-2A04 ; [*0B19.0020.0002.2A04] # N-ARY UNION OPERATOR WITH PLUS
-2A05 ; [*0B1A.0020.0002.2A05] # N-ARY SQUARE INTERSECTION OPERATOR
-2A06 ; [*0B1B.0020.0002.2A06] # N-ARY SQUARE UNION OPERATOR
-2A07 ; [*0B1C.0020.0002.2A07] # TWO LOGICAL AND OPERATOR
-2A08 ; [*0B1D.0020.0002.2A08] # TWO LOGICAL OR OPERATOR
-2A09 ; [*0B1E.0020.0002.2A09] # N-ARY TIMES OPERATOR
-2A0A ; [*0B1F.0020.0002.2A0A] # MODULO TWO SUM
-2A0B ; [*0B20.0020.0002.2A0B] # SUMMATION WITH INTEGRAL
-2A0C ; [*058F.0020.0004.2A0C][*058F.0020.0004.2A0C][*058F.0020.001F.2A0C][*058F.0020.001F.2A0C] # QUADRUPLE INTEGRAL OPERATOR; QQKN
-2A0D ; [*0B21.0020.0002.2A0D] # FINITE PART INTEGRAL
-2A0E ; [*0B22.0020.0002.2A0E] # INTEGRAL WITH DOUBLE STROKE
-2A0F ; [*0B23.0020.0002.2A0F] # INTEGRAL AVERAGE WITH SLASH
-2A10 ; [*0B24.0020.0002.2A10] # CIRCULATION FUNCTION
-2A11 ; [*0B25.0020.0002.2A11] # ANTICLOCKWISE INTEGRATION
-2A12 ; [*0B26.0020.0002.2A12] # LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
-2A13 ; [*0B27.0020.0002.2A13] # LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
-2A14 ; [*0B28.0020.0002.2A14] # LINE INTEGRATION NOT INCLUDING THE POLE
-2A15 ; [*0B29.0020.0002.2A15] # INTEGRAL AROUND A POINT OPERATOR
-2A16 ; [*0B2A.0020.0002.2A16] # QUATERNION INTEGRAL OPERATOR
-2A17 ; [*0B2B.0020.0002.2A17] # INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
-2A18 ; [*0B2C.0020.0002.2A18] # INTEGRAL WITH TIMES SIGN
-2A19 ; [*0B2D.0020.0002.2A19] # INTEGRAL WITH INTERSECTION
-2A1A ; [*0B2E.0020.0002.2A1A] # INTEGRAL WITH UNION
-2A1B ; [*0B2F.0020.0002.2A1B] # INTEGRAL WITH OVERBAR
-2A1C ; [*0B30.0020.0002.2A1C] # INTEGRAL WITH UNDERBAR
-2A1D ; [*0B31.0020.0002.2A1D] # JOIN
-2A1E ; [*0B32.0020.0002.2A1E] # LARGE LEFT TRIANGLE OPERATOR
-2A1F ; [*0B33.0020.0002.2A1F] # Z NOTATION SCHEMA COMPOSITION
-2A20 ; [*0B34.0020.0002.2A20] # Z NOTATION SCHEMA PIPING
-2A21 ; [*0B35.0020.0002.2A21] # Z NOTATION SCHEMA PROJECTION
-2A22 ; [*0B36.0020.0002.2A22] # PLUS SIGN WITH SMALL CIRCLE ABOVE
-2A23 ; [*0B37.0020.0002.2A23] # PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
-2A24 ; [*0B38.0020.0002.2A24] # PLUS SIGN WITH TILDE ABOVE
-2A25 ; [*0B39.0020.0002.2A25] # PLUS SIGN WITH DOT BELOW
-2A26 ; [*0B3A.0020.0002.2A26] # PLUS SIGN WITH TILDE BELOW
-2A27 ; [*0B3B.0020.0002.2A27] # PLUS SIGN WITH SUBSCRIPT TWO
-2A28 ; [*0B3C.0020.0002.2A28] # PLUS SIGN WITH BLACK TRIANGLE
-2A29 ; [*0B3D.0020.0002.2A29] # MINUS SIGN WITH COMMA ABOVE
-2A2A ; [*0B3E.0020.0002.2A2A] # MINUS SIGN WITH DOT BELOW
-2A2B ; [*0B3F.0020.0002.2A2B] # MINUS SIGN WITH FALLING DOTS
-2A2C ; [*0B40.0020.0002.2A2C] # MINUS SIGN WITH RISING DOTS
-2A2D ; [*0B41.0020.0002.2A2D] # PLUS SIGN IN LEFT HALF CIRCLE
-2A2E ; [*0B42.0020.0002.2A2E] # PLUS SIGN IN RIGHT HALF CIRCLE
-2A2F ; [*0B43.0020.0002.2A2F] # VECTOR OR CROSS PRODUCT
-2A30 ; [*0B44.0020.0002.2A30] # MULTIPLICATION SIGN WITH DOT ABOVE
-2A31 ; [*0B45.0020.0002.2A31] # MULTIPLICATION SIGN WITH UNDERBAR
-2A32 ; [*0B46.0020.0002.2A32] # SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
-2A33 ; [*0B47.0020.0002.2A33] # SMASH PRODUCT
-2A34 ; [*0B48.0020.0002.2A34] # MULTIPLICATION SIGN IN LEFT HALF CIRCLE
-2A35 ; [*0B49.0020.0002.2A35] # MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
-2A36 ; [*0B4A.0020.0002.2A36] # CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
-2A37 ; [*0B4B.0020.0002.2A37] # MULTIPLICATION SIGN IN DOUBLE CIRCLE
-2A38 ; [*0B4C.0020.0002.2A38] # CIRCLED DIVISION SIGN
-2A39 ; [*0B4D.0020.0002.2A39] # PLUS SIGN IN TRIANGLE
-2A3A ; [*0B4E.0020.0002.2A3A] # MINUS SIGN IN TRIANGLE
-2A3B ; [*0B4F.0020.0002.2A3B] # MULTIPLICATION SIGN IN TRIANGLE
-2A3C ; [*0B50.0020.0002.2A3C] # INTERIOR PRODUCT
-2A3D ; [*0B51.0020.0002.2A3D] # RIGHTHAND INTERIOR PRODUCT
-2A3E ; [*0B52.0020.0002.2A3E] # Z NOTATION RELATIONAL COMPOSITION
-2A3F ; [*0B53.0020.0002.2A3F] # AMALGAMATION OR COPRODUCT
-2A40 ; [*0B54.0020.0002.2A40] # INTERSECTION WITH DOT
-2A41 ; [*0B55.0020.0002.2A41] # UNION WITH MINUS SIGN
-2A42 ; [*0B56.0020.0002.2A42] # UNION WITH OVERBAR
-2A43 ; [*0B57.0020.0002.2A43] # INTERSECTION WITH OVERBAR
-2A44 ; [*0B58.0020.0002.2A44] # INTERSECTION WITH LOGICAL AND
-2A45 ; [*0B59.0020.0002.2A45] # UNION WITH LOGICAL OR
-2A46 ; [*0B5A.0020.0002.2A46] # UNION ABOVE INTERSECTION
-2A47 ; [*0B5B.0020.0002.2A47] # INTERSECTION ABOVE UNION
-2A48 ; [*0B5C.0020.0002.2A48] # UNION ABOVE BAR ABOVE INTERSECTION
-2A49 ; [*0B5D.0020.0002.2A49] # INTERSECTION ABOVE BAR ABOVE UNION
-2A4A ; [*0B5E.0020.0002.2A4A] # UNION BESIDE AND JOINED WITH UNION
-2A4B ; [*0B5F.0020.0002.2A4B] # INTERSECTION BESIDE AND JOINED WITH INTERSECTION
-2A4C ; [*0B60.0020.0002.2A4C] # CLOSED UNION WITH SERIFS
-2A4D ; [*0B61.0020.0002.2A4D] # CLOSED INTERSECTION WITH SERIFS
-2A4E ; [*0B62.0020.0002.2A4E] # DOUBLE SQUARE INTERSECTION
-2A4F ; [*0B63.0020.0002.2A4F] # DOUBLE SQUARE UNION
-2A50 ; [*0B64.0020.0002.2A50] # CLOSED UNION WITH SERIFS AND SMASH PRODUCT
-2A51 ; [*0B65.0020.0002.2A51] # LOGICAL AND WITH DOT ABOVE
-2A52 ; [*0B66.0020.0002.2A52] # LOGICAL OR WITH DOT ABOVE
-2A53 ; [*0B67.0020.0002.2A53] # DOUBLE LOGICAL AND
-2A54 ; [*0B68.0020.0002.2A54] # DOUBLE LOGICAL OR
-2A55 ; [*0B69.0020.0002.2A55] # TWO INTERSECTING LOGICAL AND
-2A56 ; [*0B6A.0020.0002.2A56] # TWO INTERSECTING LOGICAL OR
-2A57 ; [*0B6B.0020.0002.2A57] # SLOPING LARGE OR
-2A58 ; [*0B6C.0020.0002.2A58] # SLOPING LARGE AND
-2A59 ; [*0B6D.0020.0002.2A59] # LOGICAL OR OVERLAPPING LOGICAL AND
-2A5A ; [*0B6E.0020.0002.2A5A] # LOGICAL AND WITH MIDDLE STEM
-2A5B ; [*0B6F.0020.0002.2A5B] # LOGICAL OR WITH MIDDLE STEM
-2A5C ; [*0B70.0020.0002.2A5C] # LOGICAL AND WITH HORIZONTAL DASH
-2A5D ; [*0B71.0020.0002.2A5D] # LOGICAL OR WITH HORIZONTAL DASH
-2A5E ; [*0B72.0020.0002.2A5E] # LOGICAL AND WITH DOUBLE OVERBAR
-2A5F ; [*0B73.0020.0002.2A5F] # LOGICAL AND WITH UNDERBAR
-2A60 ; [*0B74.0020.0002.2A60] # LOGICAL AND WITH DOUBLE UNDERBAR
-2A61 ; [*0B75.0020.0002.2A61] # SMALL VEE WITH UNDERBAR
-2A62 ; [*0B76.0020.0002.2A62] # LOGICAL OR WITH DOUBLE OVERBAR
-2A63 ; [*0B77.0020.0002.2A63] # LOGICAL OR WITH DOUBLE UNDERBAR
-2A64 ; [*0B78.0020.0002.2A64] # Z NOTATION DOMAIN ANTIRESTRICTION
-2A65 ; [*0B79.0020.0002.2A65] # Z NOTATION RANGE ANTIRESTRICTION
-2A66 ; [*0B7A.0020.0002.2A66] # EQUALS SIGN WITH DOT BELOW
-2A67 ; [*0B7B.0020.0002.2A67] # IDENTICAL WITH DOT ABOVE
-2A68 ; [*0B7C.0020.0002.2A68] # TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE
-2A69 ; [*0B7D.0020.0002.2A69] # TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE
-2A6A ; [*0B7E.0020.0002.2A6A] # TILDE OPERATOR WITH DOT ABOVE
-2A6B ; [*0B7F.0020.0002.2A6B] # TILDE OPERATOR WITH RISING DOTS
-2A6C ; [*0B80.0020.0002.2A6C] # SIMILAR MINUS SIMILAR
-2A6D ; [*0B81.0020.0002.2A6D] # CONGRUENT WITH DOT ABOVE
-2A6E ; [*0B82.0020.0002.2A6E] # EQUALS WITH ASTERISK
-2A6F ; [*0B83.0020.0002.2A6F] # ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
-2A70 ; [*0B84.0020.0002.2A70] # APPROXIMATELY EQUAL OR EQUAL TO
-2A71 ; [*0B85.0020.0002.2A71] # EQUALS SIGN ABOVE PLUS SIGN
-2A72 ; [*0B86.0020.0002.2A72] # PLUS SIGN ABOVE EQUALS SIGN
-2A73 ; [*0B87.0020.0002.2A73] # EQUALS SIGN ABOVE TILDE OPERATOR
-2A74 ; [*0254.0020.0004.2A74][*0254.0020.0004.2A74][*056F.0020.001F.2A74] # DOUBLE COLON EQUAL; QQKN
-2A75 ; [*056F.0020.0004.2A75][*056F.0020.0004.2A75] # TWO CONSECUTIVE EQUALS SIGNS; QQKN
-2A76 ; [*056F.0020.0004.2A76][*056F.0020.0004.2A76][*056F.0020.001F.2A76] # THREE CONSECUTIVE EQUALS SIGNS; QQKN
-2A77 ; [*0B88.0020.0002.2A77] # EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
-2A78 ; [*0B89.0020.0002.2A78] # EQUIVALENT WITH FOUR DOTS ABOVE
-2A79 ; [*0B8A.0020.0002.2A79] # LESS-THAN WITH CIRCLE INSIDE
-2A7A ; [*0B8B.0020.0002.2A7A] # GREATER-THAN WITH CIRCLE INSIDE
-2A7B ; [*0B8C.0020.0002.2A7B] # LESS-THAN WITH QUESTION MARK ABOVE
-2A7C ; [*0B8D.0020.0002.2A7C] # GREATER-THAN WITH QUESTION MARK ABOVE
-2A7D ; [*0B8E.0020.0002.2A7D] # LESS-THAN OR SLANTED EQUAL TO
-2A7E ; [*0B8F.0020.0002.2A7E] # GREATER-THAN OR SLANTED EQUAL TO
-2A7F ; [*0B90.0020.0002.2A7F] # LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A80 ; [*0B91.0020.0002.2A80] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A81 ; [*0B92.0020.0002.2A81] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A82 ; [*0B93.0020.0002.2A82] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A83 ; [*0B94.0020.0002.2A83] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
-2A84 ; [*0B95.0020.0002.2A84] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
-2A85 ; [*0B96.0020.0002.2A85] # LESS-THAN OR APPROXIMATE
-2A86 ; [*0B97.0020.0002.2A86] # GREATER-THAN OR APPROXIMATE
-2A87 ; [*0B98.0020.0002.2A87] # LESS-THAN AND SINGLE-LINE NOT EQUAL TO
-2A88 ; [*0B99.0020.0002.2A88] # GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
-2A89 ; [*0B9A.0020.0002.2A89] # LESS-THAN AND NOT APPROXIMATE
-2A8A ; [*0B9B.0020.0002.2A8A] # GREATER-THAN AND NOT APPROXIMATE
-2A8B ; [*0B9C.0020.0002.2A8B] # LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
-2A8C ; [*0B9D.0020.0002.2A8C] # GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
-2A8D ; [*0B9E.0020.0002.2A8D] # LESS-THAN ABOVE SIMILAR OR EQUAL
-2A8E ; [*0B9F.0020.0002.2A8E] # GREATER-THAN ABOVE SIMILAR OR EQUAL
-2A8F ; [*0BA0.0020.0002.2A8F] # LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
-2A90 ; [*0BA1.0020.0002.2A90] # GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
-2A91 ; [*0BA2.0020.0002.2A91] # LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
-2A92 ; [*0BA3.0020.0002.2A92] # GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
-2A93 ; [*0BA4.0020.0002.2A93] # LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
-2A94 ; [*0BA5.0020.0002.2A94] # GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
-2A95 ; [*0BA6.0020.0002.2A95] # SLANTED EQUAL TO OR LESS-THAN
-2A96 ; [*0BA7.0020.0002.2A96] # SLANTED EQUAL TO OR GREATER-THAN
-2A97 ; [*0BA8.0020.0002.2A97] # SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
-2A98 ; [*0BA9.0020.0002.2A98] # SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
-2A99 ; [*0BAA.0020.0002.2A99] # DOUBLE-LINE EQUAL TO OR LESS-THAN
-2A9A ; [*0BAB.0020.0002.2A9A] # DOUBLE-LINE EQUAL TO OR GREATER-THAN
-2A9B ; [*0BAC.0020.0002.2A9B] # DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
-2A9C ; [*0BAD.0020.0002.2A9C] # DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
-2A9D ; [*0BAE.0020.0002.2A9D] # SIMILAR OR LESS-THAN
-2A9E ; [*0BAF.0020.0002.2A9E] # SIMILAR OR GREATER-THAN
-2A9F ; [*0BB0.0020.0002.2A9F] # SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
-2AA0 ; [*0BB1.0020.0002.2AA0] # SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
-2AA1 ; [*0BB2.0020.0002.2AA1] # DOUBLE NESTED LESS-THAN
-2AA2 ; [*0BB3.0020.0002.2AA2] # DOUBLE NESTED GREATER-THAN
-2AA3 ; [*0BB4.0020.0002.2AA3] # DOUBLE NESTED LESS-THAN WITH UNDERBAR
-2AA4 ; [*0BB5.0020.0002.2AA4] # GREATER-THAN OVERLAPPING LESS-THAN
-2AA5 ; [*0BB6.0020.0002.2AA5] # GREATER-THAN BESIDE LESS-THAN
-2AA6 ; [*0BB7.0020.0002.2AA6] # LESS-THAN CLOSED BY CURVE
-2AA7 ; [*0BB8.0020.0002.2AA7] # GREATER-THAN CLOSED BY CURVE
-2AA8 ; [*0BB9.0020.0002.2AA8] # LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AA9 ; [*0BBA.0020.0002.2AA9] # GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AAA ; [*0BBB.0020.0002.2AAA] # SMALLER THAN
-2AAB ; [*0BBC.0020.0002.2AAB] # LARGER THAN
-2AAC ; [*0BBD.0020.0002.2AAC] # SMALLER THAN OR EQUAL TO
-2AAD ; [*0BBE.0020.0002.2AAD] # LARGER THAN OR EQUAL TO
-2AAE ; [*0BBF.0020.0002.2AAE] # EQUALS SIGN WITH BUMPY ABOVE
-2AAF ; [*0BC0.0020.0002.2AAF] # PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
-2AB0 ; [*0BC1.0020.0002.2AB0] # SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
-2AB1 ; [*0BC2.0020.0002.2AB1] # PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
-2AB2 ; [*0BC3.0020.0002.2AB2] # SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
-2AB3 ; [*0BC4.0020.0002.2AB3] # PRECEDES ABOVE EQUALS SIGN
-2AB4 ; [*0BC5.0020.0002.2AB4] # SUCCEEDS ABOVE EQUALS SIGN
-2AB5 ; [*0BC6.0020.0002.2AB5] # PRECEDES ABOVE NOT EQUAL TO
-2AB6 ; [*0BC7.0020.0002.2AB6] # SUCCEEDS ABOVE NOT EQUAL TO
-2AB7 ; [*0BC8.0020.0002.2AB7] # PRECEDES ABOVE ALMOST EQUAL TO
-2AB8 ; [*0BC9.0020.0002.2AB8] # SUCCEEDS ABOVE ALMOST EQUAL TO
-2AB9 ; [*0BCA.0020.0002.2AB9] # PRECEDES ABOVE NOT ALMOST EQUAL TO
-2ABA ; [*0BCB.0020.0002.2ABA] # SUCCEEDS ABOVE NOT ALMOST EQUAL TO
-2ABB ; [*0BCC.0020.0002.2ABB] # DOUBLE PRECEDES
-2ABC ; [*0BCD.0020.0002.2ABC] # DOUBLE SUCCEEDS
-2ABD ; [*0BCE.0020.0002.2ABD] # SUBSET WITH DOT
-2ABE ; [*0BCF.0020.0002.2ABE] # SUPERSET WITH DOT
-2ABF ; [*0BD0.0020.0002.2ABF] # SUBSET WITH PLUS SIGN BELOW
-2AC0 ; [*0BD1.0020.0002.2AC0] # SUPERSET WITH PLUS SIGN BELOW
-2AC1 ; [*0BD2.0020.0002.2AC1] # SUBSET WITH MULTIPLICATION SIGN BELOW
-2AC2 ; [*0BD3.0020.0002.2AC2] # SUPERSET WITH MULTIPLICATION SIGN BELOW
-2AC3 ; [*0BD4.0020.0002.2AC3] # SUBSET OF OR EQUAL TO WITH DOT ABOVE
-2AC4 ; [*0BD5.0020.0002.2AC4] # SUPERSET OF OR EQUAL TO WITH DOT ABOVE
-2AC5 ; [*0BD6.0020.0002.2AC5] # SUBSET OF ABOVE EQUALS SIGN
-2AC6 ; [*0BD7.0020.0002.2AC6] # SUPERSET OF ABOVE EQUALS SIGN
-2AC7 ; [*0BD8.0020.0002.2AC7] # SUBSET OF ABOVE TILDE OPERATOR
-2AC8 ; [*0BD9.0020.0002.2AC8] # SUPERSET OF ABOVE TILDE OPERATOR
-2AC9 ; [*0BDA.0020.0002.2AC9] # SUBSET OF ABOVE ALMOST EQUAL TO
-2ACA ; [*0BDB.0020.0002.2ACA] # SUPERSET OF ABOVE ALMOST EQUAL TO
-2ACB ; [*0BDC.0020.0002.2ACB] # SUBSET OF ABOVE NOT EQUAL TO
-2ACC ; [*0BDD.0020.0002.2ACC] # SUPERSET OF ABOVE NOT EQUAL TO
-2ACD ; [*0BDE.0020.0002.2ACD] # SQUARE LEFT OPEN BOX OPERATOR
-2ACE ; [*0BDF.0020.0002.2ACE] # SQUARE RIGHT OPEN BOX OPERATOR
-2ACF ; [*0BE0.0020.0002.2ACF] # CLOSED SUBSET
-2AD0 ; [*0BE1.0020.0002.2AD0] # CLOSED SUPERSET
-2AD1 ; [*0BE2.0020.0002.2AD1] # CLOSED SUBSET OR EQUAL TO
-2AD2 ; [*0BE3.0020.0002.2AD2] # CLOSED SUPERSET OR EQUAL TO
-2AD3 ; [*0BE4.0020.0002.2AD3] # SUBSET ABOVE SUPERSET
-2AD4 ; [*0BE5.0020.0002.2AD4] # SUPERSET ABOVE SUBSET
-2AD5 ; [*0BE6.0020.0002.2AD5] # SUBSET ABOVE SUBSET
-2AD6 ; [*0BE7.0020.0002.2AD6] # SUPERSET ABOVE SUPERSET
-2AD7 ; [*0BE8.0020.0002.2AD7] # SUPERSET BESIDE SUBSET
-2AD8 ; [*0BE9.0020.0002.2AD8] # SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
-2AD9 ; [*0BEA.0020.0002.2AD9] # ELEMENT OF OPENING DOWNWARDS
-2ADA ; [*0BEB.0020.0002.2ADA] # PITCHFORK WITH TEE TOP
-2ADB ; [*0BEC.0020.0002.2ADB] # TRANSVERSAL INTERSECTION
-2ADC ; [*0BED.0020.0002.2ADD][.0000.0054.0002.0338] # FORKING; QQCM
-2ADD ; [*0BED.0020.0002.2ADD] # NONFORKING
-2ADE ; [*0BEE.0020.0002.2ADE] # SHORT LEFT TACK
-2ADF ; [*0BEF.0020.0002.2ADF] # SHORT DOWN TACK
-2AE0 ; [*0BF0.0020.0002.2AE0] # SHORT UP TACK
-2AE1 ; [*0BF1.0020.0002.2AE1] # PERPENDICULAR WITH S
-2AE2 ; [*0BF2.0020.0002.2AE2] # VERTICAL BAR TRIPLE RIGHT TURNSTILE
-2AE3 ; [*0BF3.0020.0002.2AE3] # DOUBLE VERTICAL BAR LEFT TURNSTILE
-2AE4 ; [*0BF4.0020.0002.2AE4] # VERTICAL BAR DOUBLE LEFT TURNSTILE
-2AE5 ; [*0BF5.0020.0002.2AE5] # DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
-2AE6 ; [*0BF6.0020.0002.2AE6] # LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
-2AE7 ; [*0BF7.0020.0002.2AE7] # SHORT DOWN TACK WITH OVERBAR
-2AE8 ; [*0BF8.0020.0002.2AE8] # SHORT UP TACK WITH UNDERBAR
-2AE9 ; [*0BF9.0020.0002.2AE9] # SHORT UP TACK ABOVE SHORT DOWN TACK
-2AEA ; [*0BFA.0020.0002.2AEA] # DOUBLE DOWN TACK
-2AEB ; [*0BFB.0020.0002.2AEB] # DOUBLE UP TACK
-2AEC ; [*0BFC.0020.0002.2AEC] # DOUBLE STROKE NOT SIGN
-2AED ; [*0BFD.0020.0002.2AED] # REVERSED DOUBLE STROKE NOT SIGN
-2AEE ; [*0BFE.0020.0002.2AEE] # DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
-2AEF ; [*0BFF.0020.0002.2AEF] # VERTICAL LINE WITH CIRCLE ABOVE
-2AF0 ; [*0C00.0020.0002.2AF0] # VERTICAL LINE WITH CIRCLE BELOW
-2AF1 ; [*0C01.0020.0002.2AF1] # DOWN TACK WITH CIRCLE BELOW
-2AF2 ; [*0C02.0020.0002.2AF2] # PARALLEL WITH HORIZONTAL STROKE
-2AF3 ; [*0C03.0020.0002.2AF3] # PARALLEL WITH TILDE OPERATOR
-2AF4 ; [*0C04.0020.0002.2AF4] # TRIPLE VERTICAL BAR BINARY RELATION
-2AF5 ; [*0C05.0020.0002.2AF5] # TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE
-2AF6 ; [*0C06.0020.0002.2AF6] # TRIPLE COLON OPERATOR
-2AF7 ; [*0C07.0020.0002.2AF7] # TRIPLE NESTED LESS-THAN
-2AF8 ; [*0C08.0020.0002.2AF8] # TRIPLE NESTED GREATER-THAN
-2AF9 ; [*0C09.0020.0002.2AF9] # DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
-2AFA ; [*0C0A.0020.0002.2AFA] # DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
-2AFB ; [*0C0B.0020.0002.2AFB] # TRIPLE SOLIDUS BINARY RELATION
-2AFC ; [*0C0C.0020.0002.2AFC] # LARGE TRIPLE VERTICAL BAR OPERATOR
-2AFD ; [*0C0D.0020.0002.2AFD] # DOUBLE SOLIDUS OPERATOR
-2AFE ; [*0C0E.0020.0002.2AFE] # WHITE VERTICAL BAR
-2AFF ; [*0C0F.0020.0002.2AFF] # N-ARY WHITE VERTICAL BAR
-2B00 ; [*0C10.0020.0002.2B00] # NORTH EAST WHITE ARROW
-2B01 ; [*0C11.0020.0002.2B01] # NORTH WEST WHITE ARROW
-2B02 ; [*0C12.0020.0002.2B02] # SOUTH EAST WHITE ARROW
-2B03 ; [*0C13.0020.0002.2B03] # SOUTH WEST WHITE ARROW
-2B04 ; [*0C14.0020.0002.2B04] # LEFT RIGHT WHITE ARROW
-2B05 ; [*0C15.0020.0002.2B05] # LEFTWARDS BLACK ARROW
-2B06 ; [*0C16.0020.0002.2B06] # UPWARDS BLACK ARROW
-2B07 ; [*0C17.0020.0002.2B07] # DOWNWARDS BLACK ARROW
-2B08 ; [*0C18.0020.0002.2B08] # NORTH EAST BLACK ARROW
-2B09 ; [*0C19.0020.0002.2B09] # NORTH WEST BLACK ARROW
-2B0A ; [*0C1A.0020.0002.2B0A] # SOUTH EAST BLACK ARROW
-2B0B ; [*0C1B.0020.0002.2B0B] # SOUTH WEST BLACK ARROW
-2B0C ; [*0C1C.0020.0002.2B0C] # LEFT RIGHT BLACK ARROW
-2B0D ; [*0C1D.0020.0002.2B0D] # UP DOWN BLACK ARROW
-2B0E ; [*0C1E.0020.0002.2B0E] # RIGHTWARDS ARROW WITH TIP DOWNWARDS
-2B0F ; [*0C1F.0020.0002.2B0F] # RIGHTWARDS ARROW WITH TIP UPWARDS
-2B10 ; [*0C20.0020.0002.2B10] # LEFTWARDS ARROW WITH TIP DOWNWARDS
-2B11 ; [*0C21.0020.0002.2B11] # LEFTWARDS ARROW WITH TIP UPWARDS
-2B12 ; [*0C22.0020.0002.2B12] # SQUARE WITH TOP HALF BLACK
-2B13 ; [*0C23.0020.0002.2B13] # SQUARE WITH BOTTOM HALF BLACK
-2B14 ; [*0C24.0020.0002.2B14] # SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK
-2B15 ; [*0C25.0020.0002.2B15] # SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK
-2B16 ; [*0C26.0020.0002.2B16] # DIAMOND WITH LEFT HALF BLACK
-2B17 ; [*0C27.0020.0002.2B17] # DIAMOND WITH RIGHT HALF BLACK
-2B18 ; [*0C28.0020.0002.2B18] # DIAMOND WITH TOP HALF BLACK
-2B19 ; [*0C29.0020.0002.2B19] # DIAMOND WITH BOTTOM HALF BLACK
-2B1A ; [*0C2A.0020.0002.2B1A] # DOTTED SQUARE
-2B1B ; [*0C2B.0020.0002.2B1B] # BLACK LARGE SQUARE
-2B1C ; [*0C2C.0020.0002.2B1C] # WHITE LARGE SQUARE
-2B1D ; [*0C2D.0020.0002.2B1D] # BLACK VERY SMALL SQUARE
-2B1E ; [*0C2E.0020.0002.2B1E] # WHITE VERY SMALL SQUARE
-2B1F ; [*0C2F.0020.0002.2B1F] # BLACK PENTAGON
-2B20 ; [*0C30.0020.0002.2B20] # WHITE PENTAGON
-2B21 ; [*0C31.0020.0002.2B21] # WHITE HEXAGON
-2B22 ; [*0C32.0020.0002.2B22] # BLACK HEXAGON
-2B23 ; [*0C33.0020.0002.2B23] # HORIZONTAL BLACK HEXAGON
-2B24 ; [*0C34.0020.0002.2B24] # BLACK LARGE CIRCLE
-2B25 ; [*0C35.0020.0002.2B25] # BLACK MEDIUM DIAMOND
-2B26 ; [*0C36.0020.0002.2B26] # WHITE MEDIUM DIAMOND
-2B27 ; [*0C37.0020.0002.2B27] # BLACK MEDIUM LOZENGE
-2B28 ; [*0C38.0020.0002.2B28] # WHITE MEDIUM LOZENGE
-2B29 ; [*0C39.0020.0002.2B29] # BLACK SMALL DIAMOND
-2B2A ; [*0C3A.0020.0002.2B2A] # BLACK SMALL LOZENGE
-2B2B ; [*0C3B.0020.0002.2B2B] # WHITE SMALL LOZENGE
-2B2C ; [*0C3C.0020.0002.2B2C] # BLACK HORIZONTAL ELLIPSE
-2B2D ; [*0C3D.0020.0002.2B2D] # WHITE HORIZONTAL ELLIPSE
-2B2E ; [*0C3E.0020.0002.2B2E] # BLACK VERTICAL ELLIPSE
-2B2F ; [*0C3F.0020.0002.2B2F] # WHITE VERTICAL ELLIPSE
-2B30 ; [*0C40.0020.0002.2B30] # LEFT ARROW WITH SMALL CIRCLE
-2B31 ; [*0C41.0020.0002.2B31] # THREE LEFTWARDS ARROWS
-2B32 ; [*0C42.0020.0002.2B32] # LEFT ARROW WITH CIRCLED PLUS
-2B33 ; [*0C43.0020.0002.2B33] # LONG LEFTWARDS SQUIGGLE ARROW
-2B34 ; [*0C44.0020.0002.2B34] # LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
-2B35 ; [*0C45.0020.0002.2B35] # LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
-2B36 ; [*0C46.0020.0002.2B36] # LEFTWARDS TWO-HEADED ARROW FROM BAR
-2B37 ; [*0C47.0020.0002.2B37] # LEFTWARDS TWO-HEADED TRIPLE DASH ARROW
-2B38 ; [*0C48.0020.0002.2B38] # LEFTWARDS ARROW WITH DOTTED STEM
-2B39 ; [*0C49.0020.0002.2B39] # LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
-2B3A ; [*0C4A.0020.0002.2B3A] # LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2B3B ; [*0C4B.0020.0002.2B3B] # LEFTWARDS TWO-HEADED ARROW WITH TAIL
-2B3C ; [*0C4C.0020.0002.2B3C] # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
-2B3D ; [*0C4D.0020.0002.2B3D] # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2B3E ; [*0C4E.0020.0002.2B3E] # LEFTWARDS ARROW THROUGH X
-2B3F ; [*0C4F.0020.0002.2B3F] # WAVE ARROW POINTING DIRECTLY LEFT
-2B40 ; [*0C50.0020.0002.2B40] # EQUALS SIGN ABOVE LEFTWARDS ARROW
-2B41 ; [*0C51.0020.0002.2B41] # REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW
-2B42 ; [*0C52.0020.0002.2B42] # LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
-2B43 ; [*0C53.0020.0002.2B43] # RIGHTWARDS ARROW THROUGH GREATER-THAN
-2B44 ; [*0C54.0020.0002.2B44] # RIGHTWARDS ARROW THROUGH SUPERSET
-2B45 ; [*0C55.0020.0002.2B45] # LEFTWARDS QUADRUPLE ARROW
-2B46 ; [*0C56.0020.0002.2B46] # RIGHTWARDS QUADRUPLE ARROW
-2B47 ; [*0C57.0020.0002.2B47] # REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW
-2B48 ; [*0C58.0020.0002.2B48] # RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
-2B49 ; [*0C59.0020.0002.2B49] # TILDE OPERATOR ABOVE LEFTWARDS ARROW
-2B4A ; [*0C5A.0020.0002.2B4A] # LEFTWARDS ARROW ABOVE ALMOST EQUAL TO
-2B4B ; [*0C5B.0020.0002.2B4B] # LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B4C ; [*0C5C.0020.0002.2B4C] # RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B50 ; [*0C5D.0020.0002.2B50] # WHITE MEDIUM STAR
-2B51 ; [*0C5E.0020.0002.2B51] # BLACK SMALL STAR
-2B52 ; [*0C5F.0020.0002.2B52] # WHITE SMALL STAR
-2B53 ; [*0C60.0020.0002.2B53] # BLACK RIGHT-POINTING PENTAGON
-2B54 ; [*0C61.0020.0002.2B54] # WHITE RIGHT-POINTING PENTAGON
-2B55 ; [*0C62.0020.0002.2B55] # HEAVY LARGE CIRCLE
-2B56 ; [*0C63.0020.0002.2B56] # HEAVY OVAL WITH OVAL INSIDE
-2B57 ; [*0C64.0020.0002.2B57] # HEAVY CIRCLE WITH CIRCLE INSIDE
-2B58 ; [*0C65.0020.0002.2B58] # HEAVY CIRCLE
-2B59 ; [*0C66.0020.0002.2B59] # HEAVY CIRCLED SALTIRE
-2CE5 ; [*0C67.0020.0002.2CE5] # COPTIC SYMBOL MI RO
-2CE6 ; [*0C68.0020.0002.2CE6] # COPTIC SYMBOL PI RO
-2CE7 ; [*0C69.0020.0002.2CE7] # COPTIC SYMBOL STAUROS
-2CE8 ; [*0C6A.0020.0002.2CE8] # COPTIC SYMBOL TAU RO
-2CE9 ; [*0C6B.0020.0002.2CE9] # COPTIC SYMBOL KHI RO
-2CEA ; [*0C6C.0020.0002.2CEA] # COPTIC SYMBOL SHIMA SIMA
-2CF9 ; [*0298.0020.0002.2CF9] # COPTIC OLD NUBIAN FULL STOP
-2CFA ; [*0288.0020.0002.2CFA] # COPTIC OLD NUBIAN DIRECT QUESTION MARK
-2CFB ; [*0289.0020.0002.2CFB] # COPTIC OLD NUBIAN INDIRECT QUESTION MARK
-2CFC ; [*02EF.0020.0002.2CFC] # COPTIC OLD NUBIAN VERSE DIVIDER
-2CFD ; [*14D4.0020.0002.2CFD] # COPTIC FRACTION ONE HALF
-2CFE ; [*0299.0020.0002.2CFE] # COPTIC FULL STOP
-2CFF ; [*02F0.0020.0002.2CFF] # COPTIC MORPHOLOGICAL DIVIDER
-2D70 ; [*03EA.0020.0002.2D70] # TIFINAGH SEPARATOR MARK
+207A ; [*059C.0020.0014.207A] # SUPERSCRIPT PLUS SIGN
+207B ; [*05A7.0020.0014.207B] # SUPERSCRIPT MINUS
+207C ; [*05A1.0020.0014.207C] # SUPERSCRIPT EQUALS SIGN
+207D ; [*02FB.0020.0014.207D] # SUPERSCRIPT LEFT PARENTHESIS
+207E ; [*02FC.0020.0014.207E] # SUPERSCRIPT RIGHT PARENTHESIS
+208A ; [*059C.0020.0015.208A] # SUBSCRIPT PLUS SIGN
+208B ; [*05A7.0020.0015.208B] # SUBSCRIPT MINUS
+208C ; [*05A1.0020.0015.208C] # SUBSCRIPT EQUALS SIGN
+208D ; [*02FB.0020.0015.208D] # SUBSCRIPT LEFT PARENTHESIS
+208E ; [*02FC.0020.0015.208E] # SUBSCRIPT RIGHT PARENTHESIS
+2104 ; [*050E.0020.0002.2104] # CENTRE LINE SYMBOL
+2108 ; [*050F.0020.0002.2108] # SCRUPLE
+2114 ; [*0510.0020.0002.2114] # L B BAR SYMBOL
+2117 ; [*0511.0020.0002.2117] # SOUND RECORDING COPYRIGHT
+2118 ; [*0512.0020.0002.2118] # SCRIPT CAPITAL P
+211E ; [*0513.0020.0002.211E] # PRESCRIPTION TAKE
+211F ; [*0514.0020.0002.211F] # RESPONSE
+2123 ; [*0515.0020.0002.2123] # VERSICLE
+2125 ; [*0516.0020.0002.2125] # OUNCE SIGN
+2127 ; [*0517.0020.0002.2127] # INVERTED OHM SIGN
+2129 ; [*0518.0020.0002.2129] # TURNED GREEK SMALL LETTER IOTA
+212E ; [*0519.0020.0002.212E] # ESTIMATED SYMBOL
+213A ; [*051A.0020.0002.213A] # ROTATED CAPITAL Q
+2140 ; [*059B.0020.0005.2140] # DOUBLE-STRUCK N-ARY SUMMATION
+2141 ; [*051B.0020.0002.2141] # TURNED SANS-SERIF CAPITAL G
+2142 ; [*051C.0020.0002.2142] # TURNED SANS-SERIF CAPITAL L
+2143 ; [*051D.0020.0002.2143] # REVERSED SANS-SERIF CAPITAL L
+2144 ; [*051E.0020.0002.2144] # TURNED SANS-SERIF CAPITAL Y
+214A ; [*051F.0020.0002.214A] # PROPERTY LINE
+214B ; [*0637.0020.0002.214B] # TURNED AMPERSAND
+214C ; [*0520.0020.0002.214C] # PER SIGN
+214F ; [*0521.0020.0002.214F] # SYMBOL FOR SAMARITAN SOURCE
+2180 ; [*14E5.0020.0002.2180] # ROMAN NUMERAL ONE THOUSAND C D
+2181 ; [*14E6.0020.0002.2181] # ROMAN NUMERAL FIVE THOUSAND
+2182 ; [*14E7.0020.0002.2182] # ROMAN NUMERAL TEN THOUSAND
+2186 ; [*14E8.0020.0002.2186] # ROMAN NUMERAL FIFTY EARLY FORM
+2187 ; [*14E9.0020.0002.2187] # ROMAN NUMERAL FIFTY THOUSAND
+2188 ; [*14EA.0020.0002.2188] # ROMAN NUMERAL ONE HUNDRED THOUSAND
+2190 ; [*0522.0020.0002.2190] # LEFTWARDS ARROW
+2191 ; [*0524.0020.0002.2191] # UPWARDS ARROW
+2192 ; [*0523.0020.0002.2192] # RIGHTWARDS ARROW
+2193 ; [*0525.0020.0002.2193] # DOWNWARDS ARROW
+2194 ; [*0526.0020.0002.2194] # LEFT RIGHT ARROW
+2195 ; [*0527.0020.0002.2195] # UP DOWN ARROW
+2196 ; [*0528.0020.0002.2196] # NORTH WEST ARROW
+2197 ; [*0529.0020.0002.2197] # NORTH EAST ARROW
+2198 ; [*052A.0020.0002.2198] # SOUTH EAST ARROW
+2199 ; [*052B.0020.0002.2199] # SOUTH WEST ARROW
+219A ; [*0522.0020.0002.2190][.0000.0054.0002.0338] # LEFTWARDS ARROW WITH STROKE
+219B ; [*0523.0020.0002.2192][.0000.0054.0002.0338] # RIGHTWARDS ARROW WITH STROKE
+219C ; [*052C.0020.0002.219C] # LEFTWARDS WAVE ARROW
+219D ; [*052D.0020.0002.219D] # RIGHTWARDS WAVE ARROW
+219E ; [*052E.0020.0002.219E] # LEFTWARDS TWO HEADED ARROW
+219F ; [*052F.0020.0002.219F] # UPWARDS TWO HEADED ARROW
+21A0 ; [*0530.0020.0002.21A0] # RIGHTWARDS TWO HEADED ARROW
+21A1 ; [*0531.0020.0002.21A1] # DOWNWARDS TWO HEADED ARROW
+21A2 ; [*0532.0020.0002.21A2] # LEFTWARDS ARROW WITH TAIL
+21A3 ; [*0533.0020.0002.21A3] # RIGHTWARDS ARROW WITH TAIL
+21A4 ; [*0534.0020.0002.21A4] # LEFTWARDS ARROW FROM BAR
+21A5 ; [*0535.0020.0002.21A5] # UPWARDS ARROW FROM BAR
+21A6 ; [*0536.0020.0002.21A6] # RIGHTWARDS ARROW FROM BAR
+21A7 ; [*0537.0020.0002.21A7] # DOWNWARDS ARROW FROM BAR
+21A8 ; [*0538.0020.0002.21A8] # UP DOWN ARROW WITH BASE
+21A9 ; [*0539.0020.0002.21A9] # LEFTWARDS ARROW WITH HOOK
+21AA ; [*053A.0020.0002.21AA] # RIGHTWARDS ARROW WITH HOOK
+21AB ; [*053B.0020.0002.21AB] # LEFTWARDS ARROW WITH LOOP
+21AC ; [*053C.0020.0002.21AC] # RIGHTWARDS ARROW WITH LOOP
+21AD ; [*053D.0020.0002.21AD] # LEFT RIGHT WAVE ARROW
+21AE ; [*0526.0020.0002.2194][.0000.0054.0002.0338] # LEFT RIGHT ARROW WITH STROKE
+21AF ; [*053E.0020.0002.21AF] # DOWNWARDS ZIGZAG ARROW
+21B0 ; [*053F.0020.0002.21B0] # UPWARDS ARROW WITH TIP LEFTWARDS
+21B1 ; [*0540.0020.0002.21B1] # UPWARDS ARROW WITH TIP RIGHTWARDS
+21B2 ; [*0541.0020.0002.21B2] # DOWNWARDS ARROW WITH TIP LEFTWARDS
+21B3 ; [*0542.0020.0002.21B3] # DOWNWARDS ARROW WITH TIP RIGHTWARDS
+21B4 ; [*0543.0020.0002.21B4] # RIGHTWARDS ARROW WITH CORNER DOWNWARDS
+21B5 ; [*0544.0020.0002.21B5] # DOWNWARDS ARROW WITH CORNER LEFTWARDS
+21B6 ; [*0545.0020.0002.21B6] # ANTICLOCKWISE TOP SEMICIRCLE ARROW
+21B7 ; [*0546.0020.0002.21B7] # CLOCKWISE TOP SEMICIRCLE ARROW
+21B8 ; [*0547.0020.0002.21B8] # NORTH WEST ARROW TO LONG BAR
+21B9 ; [*0548.0020.0002.21B9] # LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
+21BA ; [*0549.0020.0002.21BA] # ANTICLOCKWISE OPEN CIRCLE ARROW
+21BB ; [*054A.0020.0002.21BB] # CLOCKWISE OPEN CIRCLE ARROW
+21BC ; [*054B.0020.0002.21BC] # LEFTWARDS HARPOON WITH BARB UPWARDS
+21BD ; [*054C.0020.0002.21BD] # LEFTWARDS HARPOON WITH BARB DOWNWARDS
+21BE ; [*054D.0020.0002.21BE] # UPWARDS HARPOON WITH BARB RIGHTWARDS
+21BF ; [*054E.0020.0002.21BF] # UPWARDS HARPOON WITH BARB LEFTWARDS
+21C0 ; [*054F.0020.0002.21C0] # RIGHTWARDS HARPOON WITH BARB UPWARDS
+21C1 ; [*0550.0020.0002.21C1] # RIGHTWARDS HARPOON WITH BARB DOWNWARDS
+21C2 ; [*0551.0020.0002.21C2] # DOWNWARDS HARPOON WITH BARB RIGHTWARDS
+21C3 ; [*0552.0020.0002.21C3] # DOWNWARDS HARPOON WITH BARB LEFTWARDS
+21C4 ; [*0553.0020.0002.21C4] # RIGHTWARDS ARROW OVER LEFTWARDS ARROW
+21C5 ; [*0554.0020.0002.21C5] # UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
+21C6 ; [*0555.0020.0002.21C6] # LEFTWARDS ARROW OVER RIGHTWARDS ARROW
+21C7 ; [*0556.0020.0002.21C7] # LEFTWARDS PAIRED ARROWS
+21C8 ; [*0557.0020.0002.21C8] # UPWARDS PAIRED ARROWS
+21C9 ; [*0558.0020.0002.21C9] # RIGHTWARDS PAIRED ARROWS
+21CA ; [*0559.0020.0002.21CA] # DOWNWARDS PAIRED ARROWS
+21CB ; [*055A.0020.0002.21CB] # LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
+21CC ; [*055B.0020.0002.21CC] # RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
+21CD ; [*055C.0020.0002.21D0][.0000.0054.0002.0338] # LEFTWARDS DOUBLE ARROW WITH STROKE
+21CE ; [*0560.0020.0002.21D4][.0000.0054.0002.0338] # LEFT RIGHT DOUBLE ARROW WITH STROKE
+21CF ; [*055E.0020.0002.21D2][.0000.0054.0002.0338] # RIGHTWARDS DOUBLE ARROW WITH STROKE
+21D0 ; [*055C.0020.0002.21D0] # LEFTWARDS DOUBLE ARROW
+21D1 ; [*055D.0020.0002.21D1] # UPWARDS DOUBLE ARROW
+21D2 ; [*055E.0020.0002.21D2] # RIGHTWARDS DOUBLE ARROW
+21D3 ; [*055F.0020.0002.21D3] # DOWNWARDS DOUBLE ARROW
+21D4 ; [*0560.0020.0002.21D4] # LEFT RIGHT DOUBLE ARROW
+21D5 ; [*0561.0020.0002.21D5] # UP DOWN DOUBLE ARROW
+21D6 ; [*0562.0020.0002.21D6] # NORTH WEST DOUBLE ARROW
+21D7 ; [*0563.0020.0002.21D7] # NORTH EAST DOUBLE ARROW
+21D8 ; [*0564.0020.0002.21D8] # SOUTH EAST DOUBLE ARROW
+21D9 ; [*0565.0020.0002.21D9] # SOUTH WEST DOUBLE ARROW
+21DA ; [*0566.0020.0002.21DA] # LEFTWARDS TRIPLE ARROW
+21DB ; [*0567.0020.0002.21DB] # RIGHTWARDS TRIPLE ARROW
+21DC ; [*0568.0020.0002.21DC] # LEFTWARDS SQUIGGLE ARROW
+21DD ; [*0569.0020.0002.21DD] # RIGHTWARDS SQUIGGLE ARROW
+21DE ; [*056A.0020.0002.21DE] # UPWARDS ARROW WITH DOUBLE STROKE
+21DF ; [*056B.0020.0002.21DF] # DOWNWARDS ARROW WITH DOUBLE STROKE
+21E0 ; [*056C.0020.0002.21E0] # LEFTWARDS DASHED ARROW
+21E1 ; [*056D.0020.0002.21E1] # UPWARDS DASHED ARROW
+21E2 ; [*056E.0020.0002.21E2] # RIGHTWARDS DASHED ARROW
+21E3 ; [*056F.0020.0002.21E3] # DOWNWARDS DASHED ARROW
+21E4 ; [*0570.0020.0002.21E4] # LEFTWARDS ARROW TO BAR
+21E5 ; [*0571.0020.0002.21E5] # RIGHTWARDS ARROW TO BAR
+21E6 ; [*0572.0020.0002.21E6] # LEFTWARDS WHITE ARROW
+21E7 ; [*0573.0020.0002.21E7] # UPWARDS WHITE ARROW
+21E8 ; [*0574.0020.0002.21E8] # RIGHTWARDS WHITE ARROW
+21E9 ; [*0575.0020.0002.21E9] # DOWNWARDS WHITE ARROW
+21EA ; [*0576.0020.0002.21EA] # UPWARDS WHITE ARROW FROM BAR
+21EB ; [*0577.0020.0002.21EB] # UPWARDS WHITE ARROW ON PEDESTAL
+21EC ; [*0578.0020.0002.21EC] # UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR
+21ED ; [*0579.0020.0002.21ED] # UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR
+21EE ; [*057A.0020.0002.21EE] # UPWARDS WHITE DOUBLE ARROW
+21EF ; [*057B.0020.0002.21EF] # UPWARDS WHITE DOUBLE ARROW ON PEDESTAL
+21F0 ; [*057C.0020.0002.21F0] # RIGHTWARDS WHITE ARROW FROM WALL
+21F1 ; [*057D.0020.0002.21F1] # NORTH WEST ARROW TO CORNER
+21F2 ; [*057E.0020.0002.21F2] # SOUTH EAST ARROW TO CORNER
+21F3 ; [*057F.0020.0002.21F3] # UP DOWN WHITE ARROW
+21F4 ; [*0580.0020.0002.21F4] # RIGHT ARROW WITH SMALL CIRCLE
+21F5 ; [*0581.0020.0002.21F5] # DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
+21F6 ; [*0582.0020.0002.21F6] # THREE RIGHTWARDS ARROWS
+21F7 ; [*0583.0020.0002.21F7] # LEFTWARDS ARROW WITH VERTICAL STROKE
+21F8 ; [*0584.0020.0002.21F8] # RIGHTWARDS ARROW WITH VERTICAL STROKE
+21F9 ; [*0585.0020.0002.21F9] # LEFT RIGHT ARROW WITH VERTICAL STROKE
+21FA ; [*0586.0020.0002.21FA] # LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE
+21FB ; [*0587.0020.0002.21FB] # RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE
+21FC ; [*0588.0020.0002.21FC] # LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE
+21FD ; [*0589.0020.0002.21FD] # LEFTWARDS OPEN-HEADED ARROW
+21FE ; [*058A.0020.0002.21FE] # RIGHTWARDS OPEN-HEADED ARROW
+21FF ; [*058B.0020.0002.21FF] # LEFT RIGHT OPEN-HEADED ARROW
+2200 ; [*058C.0020.0002.2200] # FOR ALL
+2201 ; [*058D.0020.0002.2201] # COMPLEMENT
+2202 ; [*058E.0020.0002.2202] # PARTIAL DIFFERENTIAL
+2203 ; [*058F.0020.0002.2203] # THERE EXISTS
+2204 ; [*058F.0020.0002.2203][.0000.0054.0002.0338] # THERE DOES NOT EXIST
+2205 ; [*0590.0020.0002.2205] # EMPTY SET
+2206 ; [*0591.0020.0002.2206] # INCREMENT
+2207 ; [*0592.0020.0002.2207] # NABLA
+2208 ; [*0593.0020.0002.2208] # ELEMENT OF
+2209 ; [*0593.0020.0002.2208][.0000.0054.0002.0338] # NOT AN ELEMENT OF
+220A ; [*0594.0020.0002.220A] # SMALL ELEMENT OF
+220B ; [*0595.0020.0002.220B] # CONTAINS AS MEMBER
+220C ; [*0595.0020.0002.220B][.0000.0054.0002.0338] # DOES NOT CONTAIN AS MEMBER
+220D ; [*0596.0020.0002.220D] # SMALL CONTAINS AS MEMBER
+220E ; [*0598.0020.0002.220E] # END OF PROOF
+220F ; [*0599.0020.0002.220F] # N-ARY PRODUCT
+2210 ; [*059A.0020.0002.2210] # N-ARY COPRODUCT
+2211 ; [*059B.0020.0002.2211] # N-ARY SUMMATION
+2212 ; [*05A7.0020.0002.2212] # MINUS SIGN
+2213 ; [*05A9.0020.0002.2213] # MINUS-OR-PLUS SIGN
+2214 ; [*05AA.0020.0002.2214] # DOT PLUS
+2215 ; [*05AB.0020.0002.2215] # DIVISION SLASH
+2216 ; [*05AD.0020.0002.2216] # SET MINUS
+2217 ; [*05AE.0020.0002.2217] # ASTERISK OPERATOR
+2218 ; [*05AF.0020.0002.2218] # RING OPERATOR
+2219 ; [*05B0.0020.0002.2219] # BULLET OPERATOR
+221A ; [*05B1.0020.0002.221A] # SQUARE ROOT
+221B ; [*05B2.0020.0002.221B] # CUBE ROOT
+221C ; [*05B4.0020.0002.221C] # FOURTH ROOT
+221D ; [*05B6.0020.0002.221D] # PROPORTIONAL TO
+221E ; [*05B7.0020.0002.221E] # INFINITY
+221F ; [*05B8.0020.0002.221F] # RIGHT ANGLE
+2220 ; [*05B9.0020.0002.2220] # ANGLE
+2221 ; [*05BA.0020.0002.2221] # MEASURED ANGLE
+2222 ; [*05BB.0020.0002.2222] # SPHERICAL ANGLE
+2223 ; [*05BC.0020.0002.2223] # DIVIDES
+2224 ; [*05BC.0020.0002.2223][.0000.0054.0002.0338] # DOES NOT DIVIDE
+2225 ; [*05BD.0020.0002.2225] # PARALLEL TO
+2226 ; [*05BD.0020.0002.2225][.0000.0054.0002.0338] # NOT PARALLEL TO
+2227 ; [*05BE.0020.0002.2227] # LOGICAL AND
+2228 ; [*05BF.0020.0002.2228] # LOGICAL OR
+2229 ; [*05C0.0020.0002.2229] # INTERSECTION
+222A ; [*05C1.0020.0002.222A] # UNION
+222B ; [*05C2.0020.0002.222B] # INTEGRAL
+222C ; [*05C2.0020.0004.222C][*05C2.0020.0004.222C] # DOUBLE INTEGRAL
+222D ; [*05C2.0020.0004.222D][*05C2.0020.0004.222D][*05C2.0020.001F.222D] # TRIPLE INTEGRAL
+222E ; [*05C3.0020.0002.222E] # CONTOUR INTEGRAL
+222F ; [*05C3.0020.0004.222F][*05C3.0020.0004.222F] # SURFACE INTEGRAL
+2230 ; [*05C3.0020.0004.2230][*05C3.0020.0004.2230][*05C3.0020.001F.2230] # VOLUME INTEGRAL
+2231 ; [*05C4.0020.0002.2231] # CLOCKWISE INTEGRAL
+2232 ; [*05C5.0020.0002.2232] # CLOCKWISE CONTOUR INTEGRAL
+2233 ; [*05C6.0020.0002.2233] # ANTICLOCKWISE CONTOUR INTEGRAL
+2234 ; [*05C7.0020.0002.2234] # THEREFORE
+2235 ; [*05C8.0020.0002.2235] # BECAUSE
+2236 ; [*05C9.0020.0002.2236] # RATIO
+2237 ; [*05CA.0020.0002.2237] # PROPORTION
+2238 ; [*05CB.0020.0002.2238] # DOT MINUS
+2239 ; [*05CC.0020.0002.2239] # EXCESS
+223A ; [*05CD.0020.0002.223A] # GEOMETRIC PROPORTION
+223B ; [*05CE.0020.0002.223B] # HOMOTHETIC
+223C ; [*05CF.0020.0002.223C] # TILDE OPERATOR
+223D ; [*05D0.0020.0002.223D] # REVERSED TILDE
+223E ; [*05D1.0020.0002.223E] # INVERTED LAZY S
+223F ; [*05D2.0020.0002.223F] # SINE WAVE
+2240 ; [*05D3.0020.0002.2240] # WREATH PRODUCT
+2241 ; [*05CF.0020.0002.223C][.0000.0054.0002.0338] # NOT TILDE
+2242 ; [*05D4.0020.0002.2242] # MINUS TILDE
+2243 ; [*05D5.0020.0002.2243] # ASYMPTOTICALLY EQUAL TO
+2244 ; [*05D5.0020.0002.2243][.0000.0054.0002.0338] # NOT ASYMPTOTICALLY EQUAL TO
+2245 ; [*05D6.0020.0002.2245] # APPROXIMATELY EQUAL TO
+2246 ; [*05D7.0020.0002.2246] # APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
+2247 ; [*05D6.0020.0002.2245][.0000.0054.0002.0338] # NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
+2248 ; [*05D8.0020.0002.2248] # ALMOST EQUAL TO
+2249 ; [*05D8.0020.0002.2248][.0000.0054.0002.0338] # NOT ALMOST EQUAL TO
+224A ; [*05D9.0020.0002.224A] # ALMOST EQUAL OR EQUAL TO
+224B ; [*05DA.0020.0002.224B] # TRIPLE TILDE
+224C ; [*05DB.0020.0002.224C] # ALL EQUAL TO
+224D ; [*05DC.0020.0002.224D] # EQUIVALENT TO
+224E ; [*05DD.0020.0002.224E] # GEOMETRICALLY EQUIVALENT TO
+224F ; [*05DE.0020.0002.224F] # DIFFERENCE BETWEEN
+2250 ; [*05DF.0020.0002.2250] # APPROACHES THE LIMIT
+2251 ; [*05E0.0020.0002.2251] # GEOMETRICALLY EQUAL TO
+2252 ; [*05E1.0020.0002.2252] # APPROXIMATELY EQUAL TO OR THE IMAGE OF
+2253 ; [*05E2.0020.0002.2253] # IMAGE OF OR APPROXIMATELY EQUAL TO
+2254 ; [*05E3.0020.0002.2254] # COLON EQUALS
+2255 ; [*05E4.0020.0002.2255] # EQUALS COLON
+2256 ; [*05E5.0020.0002.2256] # RING IN EQUAL TO
+2257 ; [*05E6.0020.0002.2257] # RING EQUAL TO
+2258 ; [*05E7.0020.0002.2258] # CORRESPONDS TO
+2259 ; [*05E8.0020.0002.2259] # ESTIMATES
+225A ; [*05E9.0020.0002.225A] # EQUIANGULAR TO
+225B ; [*05EA.0020.0002.225B] # STAR EQUALS
+225C ; [*05EB.0020.0002.225C] # DELTA EQUAL TO
+225D ; [*05EC.0020.0002.225D] # EQUAL TO BY DEFINITION
+225E ; [*05ED.0020.0002.225E] # MEASURED BY
+225F ; [*05EE.0020.0002.225F] # QUESTIONED EQUAL TO
+2260 ; [*05A1.0020.0002.003D][.0000.0054.0002.0338] # NOT EQUAL TO
+2261 ; [*05EF.0020.0002.2261] # IDENTICAL TO
+2262 ; [*05EF.0020.0002.2261][.0000.0054.0002.0338] # NOT IDENTICAL TO
+2263 ; [*05F0.0020.0002.2263] # STRICTLY EQUIVALENT TO
+2264 ; [*05F1.0020.0002.2264] # LESS-THAN OR EQUAL TO
+2265 ; [*05F2.0020.0002.2265] # GREATER-THAN OR EQUAL TO
+2266 ; [*05F3.0020.0002.2266] # LESS-THAN OVER EQUAL TO
+2267 ; [*05F4.0020.0002.2267] # GREATER-THAN OVER EQUAL TO
+2268 ; [*05F5.0020.0002.2268] # LESS-THAN BUT NOT EQUAL TO
+2269 ; [*05F6.0020.0002.2269] # GREATER-THAN BUT NOT EQUAL TO
+226A ; [*05F7.0020.0002.226A] # MUCH LESS-THAN
+226B ; [*05F8.0020.0002.226B] # MUCH GREATER-THAN
+226C ; [*05F9.0020.0002.226C] # BETWEEN
+226D ; [*05DC.0020.0002.224D][.0000.0054.0002.0338] # NOT EQUIVALENT TO
+226E ; [*05A0.0020.0002.003C][.0000.0054.0002.0338] # NOT LESS-THAN
+226F ; [*05A2.0020.0002.003E][.0000.0054.0002.0338] # NOT GREATER-THAN
+2270 ; [*05F1.0020.0002.2264][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR EQUAL TO
+2271 ; [*05F2.0020.0002.2265][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR EQUAL TO
+2272 ; [*05FA.0020.0002.2272] # LESS-THAN OR EQUIVALENT TO
+2273 ; [*05FB.0020.0002.2273] # GREATER-THAN OR EQUIVALENT TO
+2274 ; [*05FA.0020.0002.2272][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR EQUIVALENT TO
+2275 ; [*05FB.0020.0002.2273][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR EQUIVALENT TO
+2276 ; [*05FC.0020.0002.2276] # LESS-THAN OR GREATER-THAN
+2277 ; [*05FD.0020.0002.2277] # GREATER-THAN OR LESS-THAN
+2278 ; [*05FC.0020.0002.2276][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR GREATER-THAN
+2279 ; [*05FD.0020.0002.2277][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR LESS-THAN
+227A ; [*05FE.0020.0002.227A] # PRECEDES
+227B ; [*05FF.0020.0002.227B] # SUCCEEDS
+227C ; [*0600.0020.0002.227C] # PRECEDES OR EQUAL TO
+227D ; [*0601.0020.0002.227D] # SUCCEEDS OR EQUAL TO
+227E ; [*0602.0020.0002.227E] # PRECEDES OR EQUIVALENT TO
+227F ; [*0603.0020.0002.227F] # SUCCEEDS OR EQUIVALENT TO
+2280 ; [*05FE.0020.0002.227A][.0000.0054.0002.0338] # DOES NOT PRECEDE
+2281 ; [*05FF.0020.0002.227B][.0000.0054.0002.0338] # DOES NOT SUCCEED
+2282 ; [*0604.0020.0002.2282] # SUBSET OF
+2283 ; [*0605.0020.0002.2283] # SUPERSET OF
+2284 ; [*0604.0020.0002.2282][.0000.0054.0002.0338] # NOT A SUBSET OF
+2285 ; [*0605.0020.0002.2283][.0000.0054.0002.0338] # NOT A SUPERSET OF
+2286 ; [*0606.0020.0002.2286] # SUBSET OF OR EQUAL TO
+2287 ; [*0607.0020.0002.2287] # SUPERSET OF OR EQUAL TO
+2288 ; [*0606.0020.0002.2286][.0000.0054.0002.0338] # NEITHER A SUBSET OF NOR EQUAL TO
+2289 ; [*0607.0020.0002.2287][.0000.0054.0002.0338] # NEITHER A SUPERSET OF NOR EQUAL TO
+228A ; [*0608.0020.0002.228A] # SUBSET OF WITH NOT EQUAL TO
+228B ; [*0609.0020.0002.228B] # SUPERSET OF WITH NOT EQUAL TO
+228C ; [*060A.0020.0002.228C] # MULTISET
+228D ; [*060B.0020.0002.228D] # MULTISET MULTIPLICATION
+228E ; [*060C.0020.0002.228E] # MULTISET UNION
+228F ; [*060D.0020.0002.228F] # SQUARE IMAGE OF
+2290 ; [*060E.0020.0002.2290] # SQUARE ORIGINAL OF
+2291 ; [*060F.0020.0002.2291] # SQUARE IMAGE OF OR EQUAL TO
+2292 ; [*0610.0020.0002.2292] # SQUARE ORIGINAL OF OR EQUAL TO
+2293 ; [*0611.0020.0002.2293] # SQUARE CAP
+2294 ; [*0612.0020.0002.2294] # SQUARE CUP
+2295 ; [*0613.0020.0002.2295] # CIRCLED PLUS
+2296 ; [*0614.0020.0002.2296] # CIRCLED MINUS
+2297 ; [*0615.0020.0002.2297] # CIRCLED TIMES
+2298 ; [*0616.0020.0002.2298] # CIRCLED DIVISION SLASH
+2299 ; [*0617.0020.0002.2299] # CIRCLED DOT OPERATOR
+229A ; [*0618.0020.0002.229A] # CIRCLED RING OPERATOR
+229B ; [*0619.0020.0002.229B] # CIRCLED ASTERISK OPERATOR
+229C ; [*061A.0020.0002.229C] # CIRCLED EQUALS
+229D ; [*061B.0020.0002.229D] # CIRCLED DASH
+229E ; [*061C.0020.0002.229E] # SQUARED PLUS
+229F ; [*061D.0020.0002.229F] # SQUARED MINUS
+22A0 ; [*061E.0020.0002.22A0] # SQUARED TIMES
+22A1 ; [*061F.0020.0002.22A1] # SQUARED DOT OPERATOR
+22A2 ; [*0620.0020.0002.22A2] # RIGHT TACK
+22A3 ; [*0621.0020.0002.22A3] # LEFT TACK
+22A4 ; [*0622.0020.0002.22A4] # DOWN TACK
+22A5 ; [*0623.0020.0002.22A5] # UP TACK
+22A6 ; [*0624.0020.0002.22A6] # ASSERTION
+22A7 ; [*0625.0020.0002.22A7] # MODELS
+22A8 ; [*0626.0020.0002.22A8] # TRUE
+22A9 ; [*0627.0020.0002.22A9] # FORCES
+22AA ; [*0628.0020.0002.22AA] # TRIPLE VERTICAL BAR RIGHT TURNSTILE
+22AB ; [*0629.0020.0002.22AB] # DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+22AC ; [*0620.0020.0002.22A2][.0000.0054.0002.0338] # DOES NOT PROVE
+22AD ; [*0626.0020.0002.22A8][.0000.0054.0002.0338] # NOT TRUE
+22AE ; [*0627.0020.0002.22A9][.0000.0054.0002.0338] # DOES NOT FORCE
+22AF ; [*0629.0020.0002.22AB][.0000.0054.0002.0338] # NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+22B0 ; [*062A.0020.0002.22B0] # PRECEDES UNDER RELATION
+22B1 ; [*062B.0020.0002.22B1] # SUCCEEDS UNDER RELATION
+22B2 ; [*062C.0020.0002.22B2] # NORMAL SUBGROUP OF
+22B3 ; [*062D.0020.0002.22B3] # CONTAINS AS NORMAL SUBGROUP
+22B4 ; [*062E.0020.0002.22B4] # NORMAL SUBGROUP OF OR EQUAL TO
+22B5 ; [*062F.0020.0002.22B5] # CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
+22B6 ; [*0630.0020.0002.22B6] # ORIGINAL OF
+22B7 ; [*0631.0020.0002.22B7] # IMAGE OF
+22B8 ; [*0632.0020.0002.22B8] # MULTIMAP
+22B9 ; [*0633.0020.0002.22B9] # HERMITIAN CONJUGATE MATRIX
+22BA ; [*0634.0020.0002.22BA] # INTERCALATE
+22BB ; [*0635.0020.0002.22BB] # XOR
+22BC ; [*0636.0020.0002.22BC] # NAND
+22BD ; [*0638.0020.0002.22BD] # NOR
+22BE ; [*0639.0020.0002.22BE] # RIGHT ANGLE WITH ARC
+22BF ; [*063A.0020.0002.22BF] # RIGHT TRIANGLE
+22C0 ; [*063B.0020.0002.22C0] # N-ARY LOGICAL AND
+22C1 ; [*063C.0020.0002.22C1] # N-ARY LOGICAL OR
+22C2 ; [*063D.0020.0002.22C2] # N-ARY INTERSECTION
+22C3 ; [*063E.0020.0002.22C3] # N-ARY UNION
+22C4 ; [*063F.0020.0002.22C4] # DIAMOND OPERATOR
+22C5 ; [*0640.0020.0002.22C5] # DOT OPERATOR
+22C6 ; [*0641.0020.0002.22C6] # STAR OPERATOR
+22C7 ; [*0642.0020.0002.22C7] # DIVISION TIMES
+22C8 ; [*0643.0020.0002.22C8] # BOWTIE
+22C9 ; [*0644.0020.0002.22C9] # LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
+22CA ; [*0645.0020.0002.22CA] # RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
+22CB ; [*0646.0020.0002.22CB] # LEFT SEMIDIRECT PRODUCT
+22CC ; [*0647.0020.0002.22CC] # RIGHT SEMIDIRECT PRODUCT
+22CD ; [*0648.0020.0002.22CD] # REVERSED TILDE EQUALS
+22CE ; [*0649.0020.0002.22CE] # CURLY LOGICAL OR
+22CF ; [*064A.0020.0002.22CF] # CURLY LOGICAL AND
+22D0 ; [*064B.0020.0002.22D0] # DOUBLE SUBSET
+22D1 ; [*064C.0020.0002.22D1] # DOUBLE SUPERSET
+22D2 ; [*064D.0020.0002.22D2] # DOUBLE INTERSECTION
+22D3 ; [*064E.0020.0002.22D3] # DOUBLE UNION
+22D4 ; [*064F.0020.0002.22D4] # PITCHFORK
+22D5 ; [*0650.0020.0002.22D5] # EQUAL AND PARALLEL TO
+22D6 ; [*0651.0020.0002.22D6] # LESS-THAN WITH DOT
+22D7 ; [*0652.0020.0002.22D7] # GREATER-THAN WITH DOT
+22D8 ; [*0653.0020.0002.22D8] # VERY MUCH LESS-THAN
+22D9 ; [*0654.0020.0002.22D9] # VERY MUCH GREATER-THAN
+22DA ; [*0655.0020.0002.22DA] # LESS-THAN EQUAL TO OR GREATER-THAN
+22DB ; [*0656.0020.0002.22DB] # GREATER-THAN EQUAL TO OR LESS-THAN
+22DC ; [*0657.0020.0002.22DC] # EQUAL TO OR LESS-THAN
+22DD ; [*0658.0020.0002.22DD] # EQUAL TO OR GREATER-THAN
+22DE ; [*0659.0020.0002.22DE] # EQUAL TO OR PRECEDES
+22DF ; [*065A.0020.0002.22DF] # EQUAL TO OR SUCCEEDS
+22E0 ; [*0600.0020.0002.227C][.0000.0054.0002.0338] # DOES NOT PRECEDE OR EQUAL
+22E1 ; [*0601.0020.0002.227D][.0000.0054.0002.0338] # DOES NOT SUCCEED OR EQUAL
+22E2 ; [*060F.0020.0002.2291][.0000.0054.0002.0338] # NOT SQUARE IMAGE OF OR EQUAL TO
+22E3 ; [*0610.0020.0002.2292][.0000.0054.0002.0338] # NOT SQUARE ORIGINAL OF OR EQUAL TO
+22E4 ; [*065B.0020.0002.22E4] # SQUARE IMAGE OF OR NOT EQUAL TO
+22E5 ; [*065C.0020.0002.22E5] # SQUARE ORIGINAL OF OR NOT EQUAL TO
+22E6 ; [*065D.0020.0002.22E6] # LESS-THAN BUT NOT EQUIVALENT TO
+22E7 ; [*065E.0020.0002.22E7] # GREATER-THAN BUT NOT EQUIVALENT TO
+22E8 ; [*065F.0020.0002.22E8] # PRECEDES BUT NOT EQUIVALENT TO
+22E9 ; [*0660.0020.0002.22E9] # SUCCEEDS BUT NOT EQUIVALENT TO
+22EA ; [*062C.0020.0002.22B2][.0000.0054.0002.0338] # NOT NORMAL SUBGROUP OF
+22EB ; [*062D.0020.0002.22B3][.0000.0054.0002.0338] # DOES NOT CONTAIN AS NORMAL SUBGROUP
+22EC ; [*062E.0020.0002.22B4][.0000.0054.0002.0338] # NOT NORMAL SUBGROUP OF OR EQUAL TO
+22ED ; [*062F.0020.0002.22B5][.0000.0054.0002.0338] # DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
+22EE ; [*0661.0020.0002.22EE] # VERTICAL ELLIPSIS
+22EF ; [*0662.0020.0002.22EF] # MIDLINE HORIZONTAL ELLIPSIS
+22F0 ; [*0663.0020.0002.22F0] # UP RIGHT DIAGONAL ELLIPSIS
+22F1 ; [*0664.0020.0002.22F1] # DOWN RIGHT DIAGONAL ELLIPSIS
+22F2 ; [*0665.0020.0002.22F2] # ELEMENT OF WITH LONG HORIZONTAL STROKE
+22F3 ; [*0666.0020.0002.22F3] # ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22F4 ; [*0667.0020.0002.22F4] # SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22F5 ; [*0668.0020.0002.22F5] # ELEMENT OF WITH DOT ABOVE
+22F6 ; [*0669.0020.0002.22F6] # ELEMENT OF WITH OVERBAR
+22F7 ; [*066A.0020.0002.22F7] # SMALL ELEMENT OF WITH OVERBAR
+22F8 ; [*066B.0020.0002.22F8] # ELEMENT OF WITH UNDERBAR
+22F9 ; [*066C.0020.0002.22F9] # ELEMENT OF WITH TWO HORIZONTAL STROKES
+22FA ; [*066D.0020.0002.22FA] # CONTAINS WITH LONG HORIZONTAL STROKE
+22FB ; [*066E.0020.0002.22FB] # CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22FC ; [*066F.0020.0002.22FC] # SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22FD ; [*0670.0020.0002.22FD] # CONTAINS WITH OVERBAR
+22FE ; [*0671.0020.0002.22FE] # SMALL CONTAINS WITH OVERBAR
+22FF ; [*0672.0020.0002.22FF] # Z NOTATION BAG MEMBERSHIP
+2300 ; [*0673.0020.0002.2300] # DIAMETER SIGN
+2301 ; [*0674.0020.0002.2301] # ELECTRIC ARROW
+2302 ; [*0675.0020.0002.2302] # HOUSE
+2303 ; [*0676.0020.0002.2303] # UP ARROWHEAD
+2304 ; [*0677.0020.0002.2304] # DOWN ARROWHEAD
+2305 ; [*0678.0020.0002.2305] # PROJECTIVE
+2306 ; [*0679.0020.0002.2306] # PERSPECTIVE
+2307 ; [*067A.0020.0002.2307] # WAVY LINE
+2308 ; [*067B.0020.0002.2308] # LEFT CEILING
+2309 ; [*067C.0020.0002.2309] # RIGHT CEILING
+230A ; [*067D.0020.0002.230A] # LEFT FLOOR
+230B ; [*067E.0020.0002.230B] # RIGHT FLOOR
+230C ; [*067F.0020.0002.230C] # BOTTOM RIGHT CROP
+230D ; [*0680.0020.0002.230D] # BOTTOM LEFT CROP
+230E ; [*0681.0020.0002.230E] # TOP RIGHT CROP
+230F ; [*0682.0020.0002.230F] # TOP LEFT CROP
+2310 ; [*0683.0020.0002.2310] # REVERSED NOT SIGN
+2311 ; [*0684.0020.0002.2311] # SQUARE LOZENGE
+2312 ; [*0685.0020.0002.2312] # ARC
+2313 ; [*0686.0020.0002.2313] # SEGMENT
+2314 ; [*0687.0020.0002.2314] # SECTOR
+2315 ; [*0688.0020.0002.2315] # TELEPHONE RECORDER
+2316 ; [*0689.0020.0002.2316] # POSITION INDICATOR
+2317 ; [*068A.0020.0002.2317] # VIEWDATA SQUARE
+2318 ; [*068B.0020.0002.2318] # PLACE OF INTEREST SIGN
+2319 ; [*068C.0020.0002.2319] # TURNED NOT SIGN
+231A ; [*068D.0020.0002.231A] # WATCH
+231B ; [*068E.0020.0002.231B] # HOURGLASS
+231C ; [*068F.0020.0002.231C] # TOP LEFT CORNER
+231D ; [*0690.0020.0002.231D] # TOP RIGHT CORNER
+231E ; [*0691.0020.0002.231E] # BOTTOM LEFT CORNER
+231F ; [*0692.0020.0002.231F] # BOTTOM RIGHT CORNER
+2320 ; [*0693.0020.0002.2320] # TOP HALF INTEGRAL
+2321 ; [*0694.0020.0002.2321] # BOTTOM HALF INTEGRAL
+2322 ; [*0695.0020.0002.2322] # FROWN
+2323 ; [*0696.0020.0002.2323] # SMILE
+2324 ; [*0697.0020.0002.2324] # UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
+2325 ; [*0698.0020.0002.2325] # OPTION KEY
+2326 ; [*0699.0020.0002.2326] # ERASE TO THE RIGHT
+2327 ; [*069A.0020.0002.2327] # X IN A RECTANGLE BOX
+2328 ; [*069B.0020.0002.2328] # KEYBOARD
+2329 ; [*034F.0020.0002.2329] # LEFT-POINTING ANGLE BRACKET
+232A ; [*0350.0020.0002.232A] # RIGHT-POINTING ANGLE BRACKET
+232B ; [*069C.0020.0002.232B] # ERASE TO THE LEFT
+232C ; [*069D.0020.0002.232C] # BENZENE RING
+232D ; [*069E.0020.0002.232D] # CYLINDRICITY
+232E ; [*069F.0020.0002.232E] # ALL AROUND-PROFILE
+232F ; [*06A0.0020.0002.232F] # SYMMETRY
+2330 ; [*06A1.0020.0002.2330] # TOTAL RUNOUT
+2331 ; [*06A2.0020.0002.2331] # DIMENSION ORIGIN
+2332 ; [*06A3.0020.0002.2332] # CONICAL TAPER
+2333 ; [*06A4.0020.0002.2333] # SLOPE
+2334 ; [*06A5.0020.0002.2334] # COUNTERBORE
+2335 ; [*06A6.0020.0002.2335] # COUNTERSINK
+2336 ; [*06A7.0020.0002.2336] # APL FUNCTIONAL SYMBOL I-BEAM
+2337 ; [*06A8.0020.0002.2337] # APL FUNCTIONAL SYMBOL SQUISH QUAD
+2338 ; [*06A9.0020.0002.2338] # APL FUNCTIONAL SYMBOL QUAD EQUAL
+2339 ; [*06AA.0020.0002.2339] # APL FUNCTIONAL SYMBOL QUAD DIVIDE
+233A ; [*06AB.0020.0002.233A] # APL FUNCTIONAL SYMBOL QUAD DIAMOND
+233B ; [*06AC.0020.0002.233B] # APL FUNCTIONAL SYMBOL QUAD JOT
+233C ; [*06AD.0020.0002.233C] # APL FUNCTIONAL SYMBOL QUAD CIRCLE
+233D ; [*06AE.0020.0002.233D] # APL FUNCTIONAL SYMBOL CIRCLE STILE
+233E ; [*06AF.0020.0002.233E] # APL FUNCTIONAL SYMBOL CIRCLE JOT
+233F ; [*06B0.0020.0002.233F] # APL FUNCTIONAL SYMBOL SLASH BAR
+2340 ; [*06B1.0020.0002.2340] # APL FUNCTIONAL SYMBOL BACKSLASH BAR
+2341 ; [*06B2.0020.0002.2341] # APL FUNCTIONAL SYMBOL QUAD SLASH
+2342 ; [*06B3.0020.0002.2342] # APL FUNCTIONAL SYMBOL QUAD BACKSLASH
+2343 ; [*06B4.0020.0002.2343] # APL FUNCTIONAL SYMBOL QUAD LESS-THAN
+2344 ; [*06B5.0020.0002.2344] # APL FUNCTIONAL SYMBOL QUAD GREATER-THAN
+2345 ; [*06B6.0020.0002.2345] # APL FUNCTIONAL SYMBOL LEFTWARDS VANE
+2346 ; [*06B7.0020.0002.2346] # APL FUNCTIONAL SYMBOL RIGHTWARDS VANE
+2347 ; [*06B8.0020.0002.2347] # APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
+2348 ; [*06B9.0020.0002.2348] # APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
+2349 ; [*06BA.0020.0002.2349] # APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH
+234A ; [*06BB.0020.0002.234A] # APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
+234B ; [*06BC.0020.0002.234B] # APL FUNCTIONAL SYMBOL DELTA STILE
+234C ; [*06BD.0020.0002.234C] # APL FUNCTIONAL SYMBOL QUAD DOWN CARET
+234D ; [*06BE.0020.0002.234D] # APL FUNCTIONAL SYMBOL QUAD DELTA
+234E ; [*06BF.0020.0002.234E] # APL FUNCTIONAL SYMBOL DOWN TACK JOT
+234F ; [*06C0.0020.0002.234F] # APL FUNCTIONAL SYMBOL UPWARDS VANE
+2350 ; [*06C1.0020.0002.2350] # APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
+2351 ; [*06C2.0020.0002.2351] # APL FUNCTIONAL SYMBOL UP TACK OVERBAR
+2352 ; [*06C3.0020.0002.2352] # APL FUNCTIONAL SYMBOL DEL STILE
+2353 ; [*06C4.0020.0002.2353] # APL FUNCTIONAL SYMBOL QUAD UP CARET
+2354 ; [*06C5.0020.0002.2354] # APL FUNCTIONAL SYMBOL QUAD DEL
+2355 ; [*06C6.0020.0002.2355] # APL FUNCTIONAL SYMBOL UP TACK JOT
+2356 ; [*06C7.0020.0002.2356] # APL FUNCTIONAL SYMBOL DOWNWARDS VANE
+2357 ; [*06C8.0020.0002.2357] # APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
+2358 ; [*06C9.0020.0002.2358] # APL FUNCTIONAL SYMBOL QUOTE UNDERBAR
+2359 ; [*06CA.0020.0002.2359] # APL FUNCTIONAL SYMBOL DELTA UNDERBAR
+235A ; [*06CB.0020.0002.235A] # APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR
+235B ; [*06CC.0020.0002.235B] # APL FUNCTIONAL SYMBOL JOT UNDERBAR
+235C ; [*06CD.0020.0002.235C] # APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR
+235D ; [*06CE.0020.0002.235D] # APL FUNCTIONAL SYMBOL UP SHOE JOT
+235E ; [*06CF.0020.0002.235E] # APL FUNCTIONAL SYMBOL QUOTE QUAD
+235F ; [*06D0.0020.0002.235F] # APL FUNCTIONAL SYMBOL CIRCLE STAR
+2360 ; [*06D1.0020.0002.2360] # APL FUNCTIONAL SYMBOL QUAD COLON
+2361 ; [*06D2.0020.0002.2361] # APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
+2362 ; [*06D3.0020.0002.2362] # APL FUNCTIONAL SYMBOL DEL DIAERESIS
+2363 ; [*06D4.0020.0002.2363] # APL FUNCTIONAL SYMBOL STAR DIAERESIS
+2364 ; [*06D5.0020.0002.2364] # APL FUNCTIONAL SYMBOL JOT DIAERESIS
+2365 ; [*06D6.0020.0002.2365] # APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
+2366 ; [*06D7.0020.0002.2366] # APL FUNCTIONAL SYMBOL DOWN SHOE STILE
+2367 ; [*06D8.0020.0002.2367] # APL FUNCTIONAL SYMBOL LEFT SHOE STILE
+2368 ; [*06D9.0020.0002.2368] # APL FUNCTIONAL SYMBOL TILDE DIAERESIS
+2369 ; [*06DA.0020.0002.2369] # APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS
+236A ; [*06DB.0020.0002.236A] # APL FUNCTIONAL SYMBOL COMMA BAR
+236B ; [*06DC.0020.0002.236B] # APL FUNCTIONAL SYMBOL DEL TILDE
+236C ; [*06DD.0020.0002.236C] # APL FUNCTIONAL SYMBOL ZILDE
+236D ; [*06DE.0020.0002.236D] # APL FUNCTIONAL SYMBOL STILE TILDE
+236E ; [*06DF.0020.0002.236E] # APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR
+236F ; [*06E0.0020.0002.236F] # APL FUNCTIONAL SYMBOL QUAD NOT EQUAL
+2370 ; [*06E1.0020.0002.2370] # APL FUNCTIONAL SYMBOL QUAD QUESTION
+2371 ; [*06E2.0020.0002.2371] # APL FUNCTIONAL SYMBOL DOWN CARET TILDE
+2372 ; [*06E3.0020.0002.2372] # APL FUNCTIONAL SYMBOL UP CARET TILDE
+2373 ; [*06E4.0020.0002.2373] # APL FUNCTIONAL SYMBOL IOTA
+2374 ; [*06E5.0020.0002.2374] # APL FUNCTIONAL SYMBOL RHO
+2375 ; [*06E6.0020.0002.2375] # APL FUNCTIONAL SYMBOL OMEGA
+2376 ; [*06E7.0020.0002.2376] # APL FUNCTIONAL SYMBOL ALPHA UNDERBAR
+2377 ; [*06E8.0020.0002.2377] # APL FUNCTIONAL SYMBOL EPSILON UNDERBAR
+2378 ; [*06E9.0020.0002.2378] # APL FUNCTIONAL SYMBOL IOTA UNDERBAR
+2379 ; [*06EA.0020.0002.2379] # APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
+237A ; [*06EB.0020.0002.237A] # APL FUNCTIONAL SYMBOL ALPHA
+237B ; [*06EC.0020.0002.237B] # NOT CHECK MARK
+237C ; [*06ED.0020.0002.237C] # RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
+237D ; [*06EE.0020.0002.237D] # SHOULDERED OPEN BOX
+237E ; [*06EF.0020.0002.237E] # BELL SYMBOL
+237F ; [*06F0.0020.0002.237F] # VERTICAL LINE WITH MIDDLE DOT
+2380 ; [*06F1.0020.0002.2380] # INSERTION SYMBOL
+2381 ; [*06F2.0020.0002.2381] # CONTINUOUS UNDERLINE SYMBOL
+2382 ; [*06F3.0020.0002.2382] # DISCONTINUOUS UNDERLINE SYMBOL
+2383 ; [*06F4.0020.0002.2383] # EMPHASIS SYMBOL
+2384 ; [*06F5.0020.0002.2384] # COMPOSITION SYMBOL
+2385 ; [*06F6.0020.0002.2385] # WHITE SQUARE WITH CENTRE VERTICAL LINE
+2386 ; [*06F7.0020.0002.2386] # ENTER SYMBOL
+2387 ; [*06F8.0020.0002.2387] # ALTERNATIVE KEY SYMBOL
+2388 ; [*06F9.0020.0002.2388] # HELM SYMBOL
+2389 ; [*06FA.0020.0002.2389] # CIRCLED HORIZONTAL BAR WITH NOTCH
+238A ; [*06FB.0020.0002.238A] # CIRCLED TRIANGLE DOWN
+238B ; [*06FC.0020.0002.238B] # BROKEN CIRCLE WITH NORTHWEST ARROW
+238C ; [*06FD.0020.0002.238C] # UNDO SYMBOL
+238D ; [*06FE.0020.0002.238D] # MONOSTABLE SYMBOL
+238E ; [*06FF.0020.0002.238E] # HYSTERESIS SYMBOL
+238F ; [*0700.0020.0002.238F] # OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL
+2390 ; [*0701.0020.0002.2390] # OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL
+2391 ; [*0702.0020.0002.2391] # PASSIVE-PULL-DOWN-OUTPUT SYMBOL
+2392 ; [*0703.0020.0002.2392] # PASSIVE-PULL-UP-OUTPUT SYMBOL
+2393 ; [*0704.0020.0002.2393] # DIRECT CURRENT SYMBOL FORM TWO
+2394 ; [*0705.0020.0002.2394] # SOFTWARE-FUNCTION SYMBOL
+2395 ; [*0706.0020.0002.2395] # APL FUNCTIONAL SYMBOL QUAD
+2396 ; [*0707.0020.0002.2396] # DECIMAL SEPARATOR KEY SYMBOL
+2397 ; [*0708.0020.0002.2397] # PREVIOUS PAGE
+2398 ; [*0709.0020.0002.2398] # NEXT PAGE
+2399 ; [*070A.0020.0002.2399] # PRINT SCREEN SYMBOL
+239A ; [*070B.0020.0002.239A] # CLEAR SCREEN SYMBOL
+239B ; [*070C.0020.0002.239B] # LEFT PARENTHESIS UPPER HOOK
+239C ; [*070D.0020.0002.239C] # LEFT PARENTHESIS EXTENSION
+239D ; [*070E.0020.0002.239D] # LEFT PARENTHESIS LOWER HOOK
+239E ; [*070F.0020.0002.239E] # RIGHT PARENTHESIS UPPER HOOK
+239F ; [*0710.0020.0002.239F] # RIGHT PARENTHESIS EXTENSION
+23A0 ; [*0711.0020.0002.23A0] # RIGHT PARENTHESIS LOWER HOOK
+23A1 ; [*0712.0020.0002.23A1] # LEFT SQUARE BRACKET UPPER CORNER
+23A2 ; [*0713.0020.0002.23A2] # LEFT SQUARE BRACKET EXTENSION
+23A3 ; [*0714.0020.0002.23A3] # LEFT SQUARE BRACKET LOWER CORNER
+23A4 ; [*0715.0020.0002.23A4] # RIGHT SQUARE BRACKET UPPER CORNER
+23A5 ; [*0716.0020.0002.23A5] # RIGHT SQUARE BRACKET EXTENSION
+23A6 ; [*0717.0020.0002.23A6] # RIGHT SQUARE BRACKET LOWER CORNER
+23A7 ; [*0718.0020.0002.23A7] # LEFT CURLY BRACKET UPPER HOOK
+23A8 ; [*0719.0020.0002.23A8] # LEFT CURLY BRACKET MIDDLE PIECE
+23A9 ; [*071A.0020.0002.23A9] # LEFT CURLY BRACKET LOWER HOOK
+23AA ; [*071B.0020.0002.23AA] # CURLY BRACKET EXTENSION
+23AB ; [*071C.0020.0002.23AB] # RIGHT CURLY BRACKET UPPER HOOK
+23AC ; [*071D.0020.0002.23AC] # RIGHT CURLY BRACKET MIDDLE PIECE
+23AD ; [*071E.0020.0002.23AD] # RIGHT CURLY BRACKET LOWER HOOK
+23AE ; [*071F.0020.0002.23AE] # INTEGRAL EXTENSION
+23AF ; [*0720.0020.0002.23AF] # HORIZONTAL LINE EXTENSION
+23B0 ; [*0721.0020.0002.23B0] # UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
+23B1 ; [*0722.0020.0002.23B1] # UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
+23B2 ; [*0723.0020.0002.23B2] # SUMMATION TOP
+23B3 ; [*0724.0020.0002.23B3] # SUMMATION BOTTOM
+23B4 ; [*0725.0020.0002.23B4] # TOP SQUARE BRACKET
+23B5 ; [*0726.0020.0002.23B5] # BOTTOM SQUARE BRACKET
+23B6 ; [*0727.0020.0002.23B6] # BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
+23B7 ; [*0728.0020.0002.23B7] # RADICAL SYMBOL BOTTOM
+23B8 ; [*0729.0020.0002.23B8] # LEFT VERTICAL BOX LINE
+23B9 ; [*072A.0020.0002.23B9] # RIGHT VERTICAL BOX LINE
+23BA ; [*072B.0020.0002.23BA] # HORIZONTAL SCAN LINE-1
+23BB ; [*072C.0020.0002.23BB] # HORIZONTAL SCAN LINE-3
+23BC ; [*072D.0020.0002.23BC] # HORIZONTAL SCAN LINE-7
+23BD ; [*072E.0020.0002.23BD] # HORIZONTAL SCAN LINE-9
+23BE ; [*072F.0020.0002.23BE] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT
+23BF ; [*0730.0020.0002.23BF] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT
+23C0 ; [*0731.0020.0002.23C0] # DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE
+23C1 ; [*0732.0020.0002.23C1] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE
+23C2 ; [*0733.0020.0002.23C2] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE
+23C3 ; [*0734.0020.0002.23C3] # DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE
+23C4 ; [*0735.0020.0002.23C4] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE
+23C5 ; [*0736.0020.0002.23C5] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE
+23C6 ; [*0737.0020.0002.23C6] # DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE
+23C7 ; [*0738.0020.0002.23C7] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE
+23C8 ; [*0739.0020.0002.23C8] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE
+23C9 ; [*073A.0020.0002.23C9] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL
+23CA ; [*073B.0020.0002.23CA] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL
+23CB ; [*073C.0020.0002.23CB] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT
+23CC ; [*073D.0020.0002.23CC] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT
+23CD ; [*073E.0020.0002.23CD] # SQUARE FOOT
+23CE ; [*073F.0020.0002.23CE] # RETURN SYMBOL
+23CF ; [*0740.0020.0002.23CF] # EJECT SYMBOL
+23D0 ; [*0741.0020.0002.23D0] # VERTICAL LINE EXTENSION
+23D1 ; [*0742.0020.0002.23D1] # METRICAL BREVE
+23D2 ; [*0743.0020.0002.23D2] # METRICAL LONG OVER SHORT
+23D3 ; [*0744.0020.0002.23D3] # METRICAL SHORT OVER LONG
+23D4 ; [*0745.0020.0002.23D4] # METRICAL LONG OVER TWO SHORTS
+23D5 ; [*0746.0020.0002.23D5] # METRICAL TWO SHORTS OVER LONG
+23D6 ; [*0747.0020.0002.23D6] # METRICAL TWO SHORTS JOINED
+23D7 ; [*0748.0020.0002.23D7] # METRICAL TRISEME
+23D8 ; [*0749.0020.0002.23D8] # METRICAL TETRASEME
+23D9 ; [*074A.0020.0002.23D9] # METRICAL PENTASEME
+23DA ; [*074B.0020.0002.23DA] # EARTH GROUND
+23DB ; [*074C.0020.0002.23DB] # FUSE
+23DC ; [*074D.0020.0002.23DC] # TOP PARENTHESIS
+23DD ; [*074E.0020.0002.23DD] # BOTTOM PARENTHESIS
+23DE ; [*074F.0020.0002.23DE] # TOP CURLY BRACKET
+23DF ; [*0750.0020.0002.23DF] # BOTTOM CURLY BRACKET
+23E0 ; [*0751.0020.0002.23E0] # TOP TORTOISE SHELL BRACKET
+23E1 ; [*0752.0020.0002.23E1] # BOTTOM TORTOISE SHELL BRACKET
+23E2 ; [*0753.0020.0002.23E2] # WHITE TRAPEZIUM
+23E3 ; [*0754.0020.0002.23E3] # BENZENE RING WITH CIRCLE
+23E4 ; [*0755.0020.0002.23E4] # STRAIGHTNESS
+23E5 ; [*0756.0020.0002.23E5] # FLATNESS
+23E6 ; [*0757.0020.0002.23E6] # AC CURRENT
+23E7 ; [*0758.0020.0002.23E7] # ELECTRICAL INTERSECTION
+23E8 ; [*0759.0020.0002.23E8] # DECIMAL EXPONENT SYMBOL
+23E9 ; [*075A.0020.0002.23E9] # BLACK RIGHT-POINTING DOUBLE TRIANGLE
+23EA ; [*075B.0020.0002.23EA] # BLACK LEFT-POINTING DOUBLE TRIANGLE
+23EB ; [*075C.0020.0002.23EB] # BLACK UP-POINTING DOUBLE TRIANGLE
+23EC ; [*075D.0020.0002.23EC] # BLACK DOWN-POINTING DOUBLE TRIANGLE
+23ED ; [*075E.0020.0002.23ED] # BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
+23EE ; [*075F.0020.0002.23EE] # BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
+23EF ; [*0760.0020.0002.23EF] # BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
+23F0 ; [*0761.0020.0002.23F0] # ALARM CLOCK
+23F1 ; [*0762.0020.0002.23F1] # STOPWATCH
+23F2 ; [*0763.0020.0002.23F2] # TIMER CLOCK
+23F3 ; [*0764.0020.0002.23F3] # HOURGLASS WITH FLOWING SAND
+2400 ; [*0765.0020.0002.2400] # SYMBOL FOR NULL
+2401 ; [*0766.0020.0002.2401] # SYMBOL FOR START OF HEADING
+2402 ; [*0767.0020.0002.2402] # SYMBOL FOR START OF TEXT
+2403 ; [*0768.0020.0002.2403] # SYMBOL FOR END OF TEXT
+2404 ; [*0769.0020.0002.2404] # SYMBOL FOR END OF TRANSMISSION
+2405 ; [*076A.0020.0002.2405] # SYMBOL FOR ENQUIRY
+2406 ; [*076B.0020.0002.2406] # SYMBOL FOR ACKNOWLEDGE
+2407 ; [*076C.0020.0002.2407] # SYMBOL FOR BELL
+2408 ; [*076D.0020.0002.2408] # SYMBOL FOR BACKSPACE
+2409 ; [*076E.0020.0002.2409] # SYMBOL FOR HORIZONTAL TABULATION
+240A ; [*076F.0020.0002.240A] # SYMBOL FOR LINE FEED
+240B ; [*0770.0020.0002.240B] # SYMBOL FOR VERTICAL TABULATION
+240C ; [*0771.0020.0002.240C] # SYMBOL FOR FORM FEED
+240D ; [*0772.0020.0002.240D] # SYMBOL FOR CARRIAGE RETURN
+240E ; [*0773.0020.0002.240E] # SYMBOL FOR SHIFT OUT
+240F ; [*0774.0020.0002.240F] # SYMBOL FOR SHIFT IN
+2410 ; [*0775.0020.0002.2410] # SYMBOL FOR DATA LINK ESCAPE
+2411 ; [*0776.0020.0002.2411] # SYMBOL FOR DEVICE CONTROL ONE
+2412 ; [*0777.0020.0002.2412] # SYMBOL FOR DEVICE CONTROL TWO
+2413 ; [*0778.0020.0002.2413] # SYMBOL FOR DEVICE CONTROL THREE
+2414 ; [*0779.0020.0002.2414] # SYMBOL FOR DEVICE CONTROL FOUR
+2415 ; [*077A.0020.0002.2415] # SYMBOL FOR NEGATIVE ACKNOWLEDGE
+2416 ; [*077B.0020.0002.2416] # SYMBOL FOR SYNCHRONOUS IDLE
+2417 ; [*077C.0020.0002.2417] # SYMBOL FOR END OF TRANSMISSION BLOCK
+2418 ; [*077D.0020.0002.2418] # SYMBOL FOR CANCEL
+2419 ; [*077E.0020.0002.2419] # SYMBOL FOR END OF MEDIUM
+241A ; [*077F.0020.0002.241A] # SYMBOL FOR SUBSTITUTE
+241B ; [*0780.0020.0002.241B] # SYMBOL FOR ESCAPE
+241C ; [*0781.0020.0002.241C] # SYMBOL FOR FILE SEPARATOR
+241D ; [*0782.0020.0002.241D] # SYMBOL FOR GROUP SEPARATOR
+241E ; [*0783.0020.0002.241E] # SYMBOL FOR RECORD SEPARATOR
+241F ; [*0784.0020.0002.241F] # SYMBOL FOR UNIT SEPARATOR
+2420 ; [*0785.0020.0002.2420] # SYMBOL FOR SPACE
+2421 ; [*0786.0020.0002.2421] # SYMBOL FOR DELETE
+2422 ; [*0787.0020.0002.2422] # BLANK SYMBOL
+2423 ; [*0788.0020.0002.2423] # OPEN BOX
+2424 ; [*0789.0020.0002.2424] # SYMBOL FOR NEWLINE
+2425 ; [*078A.0020.0002.2425] # SYMBOL FOR DELETE FORM TWO
+2426 ; [*078B.0020.0002.2426] # SYMBOL FOR SUBSTITUTE FORM TWO
+2440 ; [*078C.0020.0002.2440] # OCR HOOK
+2441 ; [*078D.0020.0002.2441] # OCR CHAIR
+2442 ; [*078E.0020.0002.2442] # OCR FORK
+2443 ; [*078F.0020.0002.2443] # OCR INVERTED FORK
+2444 ; [*0790.0020.0002.2444] # OCR BELT BUCKLE
+2445 ; [*0791.0020.0002.2445] # OCR BOW TIE
+2446 ; [*0792.0020.0002.2446] # OCR BRANCH BANK IDENTIFICATION
+2447 ; [*0793.0020.0002.2447] # OCR AMOUNT OF CHECK
+2448 ; [*0794.0020.0002.2448] # OCR DASH
+2449 ; [*0795.0020.0002.2449] # OCR CUSTOMER ACCOUNT NUMBER
+244A ; [*0796.0020.0002.244A] # OCR DOUBLE BACKSLASH
+2500 ; [*0797.0020.0002.2500] # BOX DRAWINGS LIGHT HORIZONTAL
+2501 ; [*0798.0020.0002.2501] # BOX DRAWINGS HEAVY HORIZONTAL
+2502 ; [*0799.0020.0002.2502] # BOX DRAWINGS LIGHT VERTICAL
+2503 ; [*079A.0020.0002.2503] # BOX DRAWINGS HEAVY VERTICAL
+2504 ; [*079B.0020.0002.2504] # BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
+2505 ; [*079C.0020.0002.2505] # BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
+2506 ; [*079D.0020.0002.2506] # BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
+2507 ; [*079E.0020.0002.2507] # BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
+2508 ; [*079F.0020.0002.2508] # BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
+2509 ; [*07A0.0020.0002.2509] # BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
+250A ; [*07A1.0020.0002.250A] # BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
+250B ; [*07A2.0020.0002.250B] # BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
+250C ; [*07A3.0020.0002.250C] # BOX DRAWINGS LIGHT DOWN AND RIGHT
+250D ; [*07A4.0020.0002.250D] # BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
+250E ; [*07A5.0020.0002.250E] # BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
+250F ; [*07A6.0020.0002.250F] # BOX DRAWINGS HEAVY DOWN AND RIGHT
+2510 ; [*07A7.0020.0002.2510] # BOX DRAWINGS LIGHT DOWN AND LEFT
+2511 ; [*07A8.0020.0002.2511] # BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
+2512 ; [*07A9.0020.0002.2512] # BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
+2513 ; [*07AA.0020.0002.2513] # BOX DRAWINGS HEAVY DOWN AND LEFT
+2514 ; [*07AB.0020.0002.2514] # BOX DRAWINGS LIGHT UP AND RIGHT
+2515 ; [*07AC.0020.0002.2515] # BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
+2516 ; [*07AD.0020.0002.2516] # BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
+2517 ; [*07AE.0020.0002.2517] # BOX DRAWINGS HEAVY UP AND RIGHT
+2518 ; [*07AF.0020.0002.2518] # BOX DRAWINGS LIGHT UP AND LEFT
+2519 ; [*07B0.0020.0002.2519] # BOX DRAWINGS UP LIGHT AND LEFT HEAVY
+251A ; [*07B1.0020.0002.251A] # BOX DRAWINGS UP HEAVY AND LEFT LIGHT
+251B ; [*07B2.0020.0002.251B] # BOX DRAWINGS HEAVY UP AND LEFT
+251C ; [*07B3.0020.0002.251C] # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+251D ; [*07B4.0020.0002.251D] # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
+251E ; [*07B5.0020.0002.251E] # BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
+251F ; [*07B6.0020.0002.251F] # BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
+2520 ; [*07B7.0020.0002.2520] # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
+2521 ; [*07B8.0020.0002.2521] # BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
+2522 ; [*07B9.0020.0002.2522] # BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
+2523 ; [*07BA.0020.0002.2523] # BOX DRAWINGS HEAVY VERTICAL AND RIGHT
+2524 ; [*07BB.0020.0002.2524] # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+2525 ; [*07BC.0020.0002.2525] # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
+2526 ; [*07BD.0020.0002.2526] # BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
+2527 ; [*07BE.0020.0002.2527] # BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
+2528 ; [*07BF.0020.0002.2528] # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
+2529 ; [*07C0.0020.0002.2529] # BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
+252A ; [*07C1.0020.0002.252A] # BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
+252B ; [*07C2.0020.0002.252B] # BOX DRAWINGS HEAVY VERTICAL AND LEFT
+252C ; [*07C3.0020.0002.252C] # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+252D ; [*07C4.0020.0002.252D] # BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
+252E ; [*07C5.0020.0002.252E] # BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
+252F ; [*07C6.0020.0002.252F] # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
+2530 ; [*07C7.0020.0002.2530] # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
+2531 ; [*07C8.0020.0002.2531] # BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
+2532 ; [*07C9.0020.0002.2532] # BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
+2533 ; [*07CA.0020.0002.2533] # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
+2534 ; [*07CB.0020.0002.2534] # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+2535 ; [*07CC.0020.0002.2535] # BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
+2536 ; [*07CD.0020.0002.2536] # BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
+2537 ; [*07CE.0020.0002.2537] # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
+2538 ; [*07CF.0020.0002.2538] # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
+2539 ; [*07D0.0020.0002.2539] # BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
+253A ; [*07D1.0020.0002.253A] # BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
+253B ; [*07D2.0020.0002.253B] # BOX DRAWINGS HEAVY UP AND HORIZONTAL
+253C ; [*07D3.0020.0002.253C] # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+253D ; [*07D4.0020.0002.253D] # BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
+253E ; [*07D5.0020.0002.253E] # BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
+253F ; [*07D6.0020.0002.253F] # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
+2540 ; [*07D7.0020.0002.2540] # BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
+2541 ; [*07D8.0020.0002.2541] # BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
+2542 ; [*07D9.0020.0002.2542] # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
+2543 ; [*07DA.0020.0002.2543] # BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
+2544 ; [*07DB.0020.0002.2544] # BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
+2545 ; [*07DC.0020.0002.2545] # BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
+2546 ; [*07DD.0020.0002.2546] # BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
+2547 ; [*07DE.0020.0002.2547] # BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
+2548 ; [*07DF.0020.0002.2548] # BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
+2549 ; [*07E0.0020.0002.2549] # BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
+254A ; [*07E1.0020.0002.254A] # BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
+254B ; [*07E2.0020.0002.254B] # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
+254C ; [*07E3.0020.0002.254C] # BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
+254D ; [*07E4.0020.0002.254D] # BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
+254E ; [*07E5.0020.0002.254E] # BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
+254F ; [*07E6.0020.0002.254F] # BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
+2550 ; [*07E7.0020.0002.2550] # BOX DRAWINGS DOUBLE HORIZONTAL
+2551 ; [*07E8.0020.0002.2551] # BOX DRAWINGS DOUBLE VERTICAL
+2552 ; [*07E9.0020.0002.2552] # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+2553 ; [*07EA.0020.0002.2553] # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+2554 ; [*07EB.0020.0002.2554] # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+2555 ; [*07EC.0020.0002.2555] # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+2556 ; [*07ED.0020.0002.2556] # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+2557 ; [*07EE.0020.0002.2557] # BOX DRAWINGS DOUBLE DOWN AND LEFT
+2558 ; [*07EF.0020.0002.2558] # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+2559 ; [*07F0.0020.0002.2559] # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+255A ; [*07F1.0020.0002.255A] # BOX DRAWINGS DOUBLE UP AND RIGHT
+255B ; [*07F2.0020.0002.255B] # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+255C ; [*07F3.0020.0002.255C] # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+255D ; [*07F4.0020.0002.255D] # BOX DRAWINGS DOUBLE UP AND LEFT
+255E ; [*07F5.0020.0002.255E] # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+255F ; [*07F6.0020.0002.255F] # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+2560 ; [*07F7.0020.0002.2560] # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+2561 ; [*07F8.0020.0002.2561] # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+2562 ; [*07F9.0020.0002.2562] # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+2563 ; [*07FA.0020.0002.2563] # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+2564 ; [*07FB.0020.0002.2564] # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+2565 ; [*07FC.0020.0002.2565] # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+2566 ; [*07FD.0020.0002.2566] # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+2567 ; [*07FE.0020.0002.2567] # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+2568 ; [*07FF.0020.0002.2568] # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+2569 ; [*0800.0020.0002.2569] # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+256A ; [*0801.0020.0002.256A] # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+256B ; [*0802.0020.0002.256B] # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+256C ; [*0803.0020.0002.256C] # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+256D ; [*0804.0020.0002.256D] # BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
+256E ; [*0805.0020.0002.256E] # BOX DRAWINGS LIGHT ARC DOWN AND LEFT
+256F ; [*0806.0020.0002.256F] # BOX DRAWINGS LIGHT ARC UP AND LEFT
+2570 ; [*0807.0020.0002.2570] # BOX DRAWINGS LIGHT ARC UP AND RIGHT
+2571 ; [*0808.0020.0002.2571] # BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
+2572 ; [*0809.0020.0002.2572] # BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
+2573 ; [*080A.0020.0002.2573] # BOX DRAWINGS LIGHT DIAGONAL CROSS
+2574 ; [*080B.0020.0002.2574] # BOX DRAWINGS LIGHT LEFT
+2575 ; [*080C.0020.0002.2575] # BOX DRAWINGS LIGHT UP
+2576 ; [*080D.0020.0002.2576] # BOX DRAWINGS LIGHT RIGHT
+2577 ; [*080E.0020.0002.2577] # BOX DRAWINGS LIGHT DOWN
+2578 ; [*080F.0020.0002.2578] # BOX DRAWINGS HEAVY LEFT
+2579 ; [*0810.0020.0002.2579] # BOX DRAWINGS HEAVY UP
+257A ; [*0811.0020.0002.257A] # BOX DRAWINGS HEAVY RIGHT
+257B ; [*0812.0020.0002.257B] # BOX DRAWINGS HEAVY DOWN
+257C ; [*0813.0020.0002.257C] # BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
+257D ; [*0814.0020.0002.257D] # BOX DRAWINGS LIGHT UP AND HEAVY DOWN
+257E ; [*0815.0020.0002.257E] # BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
+257F ; [*0816.0020.0002.257F] # BOX DRAWINGS HEAVY UP AND LIGHT DOWN
+2580 ; [*0817.0020.0002.2580] # UPPER HALF BLOCK
+2581 ; [*0818.0020.0002.2581] # LOWER ONE EIGHTH BLOCK
+2582 ; [*0819.0020.0002.2582] # LOWER ONE QUARTER BLOCK
+2583 ; [*081A.0020.0002.2583] # LOWER THREE EIGHTHS BLOCK
+2584 ; [*081B.0020.0002.2584] # LOWER HALF BLOCK
+2585 ; [*081C.0020.0002.2585] # LOWER FIVE EIGHTHS BLOCK
+2586 ; [*081D.0020.0002.2586] # LOWER THREE QUARTERS BLOCK
+2587 ; [*081E.0020.0002.2587] # LOWER SEVEN EIGHTHS BLOCK
+2588 ; [*081F.0020.0002.2588] # FULL BLOCK
+2589 ; [*0820.0020.0002.2589] # LEFT SEVEN EIGHTHS BLOCK
+258A ; [*0821.0020.0002.258A] # LEFT THREE QUARTERS BLOCK
+258B ; [*0822.0020.0002.258B] # LEFT FIVE EIGHTHS BLOCK
+258C ; [*0823.0020.0002.258C] # LEFT HALF BLOCK
+258D ; [*0824.0020.0002.258D] # LEFT THREE EIGHTHS BLOCK
+258E ; [*0825.0020.0002.258E] # LEFT ONE QUARTER BLOCK
+258F ; [*0826.0020.0002.258F] # LEFT ONE EIGHTH BLOCK
+2590 ; [*0827.0020.0002.2590] # RIGHT HALF BLOCK
+2591 ; [*0828.0020.0002.2591] # LIGHT SHADE
+2592 ; [*0829.0020.0002.2592] # MEDIUM SHADE
+2593 ; [*082A.0020.0002.2593] # DARK SHADE
+2594 ; [*082B.0020.0002.2594] # UPPER ONE EIGHTH BLOCK
+2595 ; [*082C.0020.0002.2595] # RIGHT ONE EIGHTH BLOCK
+2596 ; [*082D.0020.0002.2596] # QUADRANT LOWER LEFT
+2597 ; [*082E.0020.0002.2597] # QUADRANT LOWER RIGHT
+2598 ; [*082F.0020.0002.2598] # QUADRANT UPPER LEFT
+2599 ; [*0830.0020.0002.2599] # QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT
+259A ; [*0831.0020.0002.259A] # QUADRANT UPPER LEFT AND LOWER RIGHT
+259B ; [*0832.0020.0002.259B] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT
+259C ; [*0833.0020.0002.259C] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT
+259D ; [*0834.0020.0002.259D] # QUADRANT UPPER RIGHT
+259E ; [*0835.0020.0002.259E] # QUADRANT UPPER RIGHT AND LOWER LEFT
+259F ; [*0836.0020.0002.259F] # QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
+25A0 ; [*0837.0020.0002.25A0] # BLACK SQUARE
+25A1 ; [*0838.0020.0002.25A1] # WHITE SQUARE
+25A2 ; [*0839.0020.0002.25A2] # WHITE SQUARE WITH ROUNDED CORNERS
+25A3 ; [*083A.0020.0002.25A3] # WHITE SQUARE CONTAINING BLACK SMALL SQUARE
+25A4 ; [*083B.0020.0002.25A4] # SQUARE WITH HORIZONTAL FILL
+25A5 ; [*083C.0020.0002.25A5] # SQUARE WITH VERTICAL FILL
+25A6 ; [*083D.0020.0002.25A6] # SQUARE WITH ORTHOGONAL CROSSHATCH FILL
+25A7 ; [*083E.0020.0002.25A7] # SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
+25A8 ; [*083F.0020.0002.25A8] # SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
+25A9 ; [*0840.0020.0002.25A9] # SQUARE WITH DIAGONAL CROSSHATCH FILL
+25AA ; [*0841.0020.0002.25AA] # BLACK SMALL SQUARE
+25AB ; [*0842.0020.0002.25AB] # WHITE SMALL SQUARE
+25AC ; [*0843.0020.0002.25AC] # BLACK RECTANGLE
+25AD ; [*0844.0020.0002.25AD] # WHITE RECTANGLE
+25AE ; [*0845.0020.0002.25AE] # BLACK VERTICAL RECTANGLE
+25AF ; [*0846.0020.0002.25AF] # WHITE VERTICAL RECTANGLE
+25B0 ; [*0847.0020.0002.25B0] # BLACK PARALLELOGRAM
+25B1 ; [*0848.0020.0002.25B1] # WHITE PARALLELOGRAM
+25B2 ; [*0849.0020.0002.25B2] # BLACK UP-POINTING TRIANGLE
+25B3 ; [*084A.0020.0002.25B3] # WHITE UP-POINTING TRIANGLE
+25B4 ; [*084B.0020.0002.25B4] # BLACK UP-POINTING SMALL TRIANGLE
+25B5 ; [*084C.0020.0002.25B5] # WHITE UP-POINTING SMALL TRIANGLE
+25B6 ; [*084D.0020.0002.25B6] # BLACK RIGHT-POINTING TRIANGLE
+25B7 ; [*084E.0020.0002.25B7] # WHITE RIGHT-POINTING TRIANGLE
+25B8 ; [*084F.0020.0002.25B8] # BLACK RIGHT-POINTING SMALL TRIANGLE
+25B9 ; [*0850.0020.0002.25B9] # WHITE RIGHT-POINTING SMALL TRIANGLE
+25BA ; [*0851.0020.0002.25BA] # BLACK RIGHT-POINTING POINTER
+25BB ; [*0852.0020.0002.25BB] # WHITE RIGHT-POINTING POINTER
+25BC ; [*0853.0020.0002.25BC] # BLACK DOWN-POINTING TRIANGLE
+25BD ; [*0854.0020.0002.25BD] # WHITE DOWN-POINTING TRIANGLE
+25BE ; [*0855.0020.0002.25BE] # BLACK DOWN-POINTING SMALL TRIANGLE
+25BF ; [*0856.0020.0002.25BF] # WHITE DOWN-POINTING SMALL TRIANGLE
+25C0 ; [*0857.0020.0002.25C0] # BLACK LEFT-POINTING TRIANGLE
+25C1 ; [*0858.0020.0002.25C1] # WHITE LEFT-POINTING TRIANGLE
+25C2 ; [*0859.0020.0002.25C2] # BLACK LEFT-POINTING SMALL TRIANGLE
+25C3 ; [*085A.0020.0002.25C3] # WHITE LEFT-POINTING SMALL TRIANGLE
+25C4 ; [*085B.0020.0002.25C4] # BLACK LEFT-POINTING POINTER
+25C5 ; [*085C.0020.0002.25C5] # WHITE LEFT-POINTING POINTER
+25C6 ; [*085D.0020.0002.25C6] # BLACK DIAMOND
+25C7 ; [*085E.0020.0002.25C7] # WHITE DIAMOND
+25C8 ; [*085F.0020.0002.25C8] # WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
+25C9 ; [*0860.0020.0002.25C9] # FISHEYE
+25CA ; [*0861.0020.0002.25CA] # LOZENGE
+25CB ; [*0862.0020.0002.25CB] # WHITE CIRCLE
+25CC ; [*0863.0020.0002.25CC] # DOTTED CIRCLE
+25CD ; [*0864.0020.0002.25CD] # CIRCLE WITH VERTICAL FILL
+25CE ; [*0865.0020.0002.25CE] # BULLSEYE
+25CF ; [*0866.0020.0002.25CF] # BLACK CIRCLE
+25D0 ; [*0867.0020.0002.25D0] # CIRCLE WITH LEFT HALF BLACK
+25D1 ; [*0868.0020.0002.25D1] # CIRCLE WITH RIGHT HALF BLACK
+25D2 ; [*0869.0020.0002.25D2] # CIRCLE WITH LOWER HALF BLACK
+25D3 ; [*086A.0020.0002.25D3] # CIRCLE WITH UPPER HALF BLACK
+25D4 ; [*086B.0020.0002.25D4] # CIRCLE WITH UPPER RIGHT QUADRANT BLACK
+25D5 ; [*086C.0020.0002.25D5] # CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK
+25D6 ; [*086D.0020.0002.25D6] # LEFT HALF BLACK CIRCLE
+25D7 ; [*086E.0020.0002.25D7] # RIGHT HALF BLACK CIRCLE
+25D8 ; [*086F.0020.0002.25D8] # INVERSE BULLET
+25D9 ; [*0870.0020.0002.25D9] # INVERSE WHITE CIRCLE
+25DA ; [*0871.0020.0002.25DA] # UPPER HALF INVERSE WHITE CIRCLE
+25DB ; [*0872.0020.0002.25DB] # LOWER HALF INVERSE WHITE CIRCLE
+25DC ; [*0873.0020.0002.25DC] # UPPER LEFT QUADRANT CIRCULAR ARC
+25DD ; [*0874.0020.0002.25DD] # UPPER RIGHT QUADRANT CIRCULAR ARC
+25DE ; [*0875.0020.0002.25DE] # LOWER RIGHT QUADRANT CIRCULAR ARC
+25DF ; [*0876.0020.0002.25DF] # LOWER LEFT QUADRANT CIRCULAR ARC
+25E0 ; [*0877.0020.0002.25E0] # UPPER HALF CIRCLE
+25E1 ; [*0878.0020.0002.25E1] # LOWER HALF CIRCLE
+25E2 ; [*0879.0020.0002.25E2] # BLACK LOWER RIGHT TRIANGLE
+25E3 ; [*087A.0020.0002.25E3] # BLACK LOWER LEFT TRIANGLE
+25E4 ; [*087B.0020.0002.25E4] # BLACK UPPER LEFT TRIANGLE
+25E5 ; [*087C.0020.0002.25E5] # BLACK UPPER RIGHT TRIANGLE
+25E6 ; [*087D.0020.0002.25E6] # WHITE BULLET
+25E7 ; [*087E.0020.0002.25E7] # SQUARE WITH LEFT HALF BLACK
+25E8 ; [*087F.0020.0002.25E8] # SQUARE WITH RIGHT HALF BLACK
+25E9 ; [*0880.0020.0002.25E9] # SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK
+25EA ; [*0881.0020.0002.25EA] # SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK
+25EB ; [*0882.0020.0002.25EB] # WHITE SQUARE WITH VERTICAL BISECTING LINE
+25EC ; [*0883.0020.0002.25EC] # WHITE UP-POINTING TRIANGLE WITH DOT
+25ED ; [*0884.0020.0002.25ED] # UP-POINTING TRIANGLE WITH LEFT HALF BLACK
+25EE ; [*0885.0020.0002.25EE] # UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
+25EF ; [*0886.0020.0002.25EF] # LARGE CIRCLE
+25F0 ; [*0887.0020.0002.25F0] # WHITE SQUARE WITH UPPER LEFT QUADRANT
+25F1 ; [*0888.0020.0002.25F1] # WHITE SQUARE WITH LOWER LEFT QUADRANT
+25F2 ; [*0889.0020.0002.25F2] # WHITE SQUARE WITH LOWER RIGHT QUADRANT
+25F3 ; [*088A.0020.0002.25F3] # WHITE SQUARE WITH UPPER RIGHT QUADRANT
+25F4 ; [*088B.0020.0002.25F4] # WHITE CIRCLE WITH UPPER LEFT QUADRANT
+25F5 ; [*088C.0020.0002.25F5] # WHITE CIRCLE WITH LOWER LEFT QUADRANT
+25F6 ; [*088D.0020.0002.25F6] # WHITE CIRCLE WITH LOWER RIGHT QUADRANT
+25F7 ; [*088E.0020.0002.25F7] # WHITE CIRCLE WITH UPPER RIGHT QUADRANT
+25F8 ; [*088F.0020.0002.25F8] # UPPER LEFT TRIANGLE
+25F9 ; [*0890.0020.0002.25F9] # UPPER RIGHT TRIANGLE
+25FA ; [*0891.0020.0002.25FA] # LOWER LEFT TRIANGLE
+25FB ; [*0892.0020.0002.25FB] # WHITE MEDIUM SQUARE
+25FC ; [*0893.0020.0002.25FC] # BLACK MEDIUM SQUARE
+25FD ; [*0894.0020.0002.25FD] # WHITE MEDIUM SMALL SQUARE
+25FE ; [*0895.0020.0002.25FE] # BLACK MEDIUM SMALL SQUARE
+25FF ; [*0896.0020.0002.25FF] # LOWER RIGHT TRIANGLE
+2600 ; [*0897.0020.0002.2600] # BLACK SUN WITH RAYS
+2601 ; [*0898.0020.0002.2601] # CLOUD
+2602 ; [*0899.0020.0002.2602] # UMBRELLA
+2603 ; [*089A.0020.0002.2603] # SNOWMAN
+2604 ; [*089B.0020.0002.2604] # COMET
+2605 ; [*089C.0020.0002.2605] # BLACK STAR
+2606 ; [*089D.0020.0002.2606] # WHITE STAR
+2607 ; [*089E.0020.0002.2607] # LIGHTNING
+2608 ; [*089F.0020.0002.2608] # THUNDERSTORM
+2609 ; [*08A0.0020.0002.2609] # SUN
+260A ; [*08A1.0020.0002.260A] # ASCENDING NODE
+260B ; [*08A2.0020.0002.260B] # DESCENDING NODE
+260C ; [*08A3.0020.0002.260C] # CONJUNCTION
+260D ; [*08A4.0020.0002.260D] # OPPOSITION
+260E ; [*08A5.0020.0002.260E] # BLACK TELEPHONE
+260F ; [*08A6.0020.0002.260F] # WHITE TELEPHONE
+2610 ; [*08A7.0020.0002.2610] # BALLOT BOX
+2611 ; [*08A8.0020.0002.2611] # BALLOT BOX WITH CHECK
+2612 ; [*08A9.0020.0002.2612] # BALLOT BOX WITH X
+2613 ; [*08AA.0020.0002.2613] # SALTIRE
+2614 ; [*08AB.0020.0002.2614] # UMBRELLA WITH RAIN DROPS
+2615 ; [*08AC.0020.0002.2615] # HOT BEVERAGE
+2616 ; [*08AD.0020.0002.2616] # WHITE SHOGI PIECE
+2617 ; [*08AE.0020.0002.2617] # BLACK SHOGI PIECE
+2618 ; [*08AF.0020.0002.2618] # SHAMROCK
+2619 ; [*08B0.0020.0002.2619] # REVERSED ROTATED FLORAL HEART BULLET
+261A ; [*08B1.0020.0002.261A] # BLACK LEFT POINTING INDEX
+261B ; [*08B2.0020.0002.261B] # BLACK RIGHT POINTING INDEX
+261C ; [*08B3.0020.0002.261C] # WHITE LEFT POINTING INDEX
+261D ; [*08B4.0020.0002.261D] # WHITE UP POINTING INDEX
+261E ; [*08B5.0020.0002.261E] # WHITE RIGHT POINTING INDEX
+261F ; [*08B6.0020.0002.261F] # WHITE DOWN POINTING INDEX
+2620 ; [*08B7.0020.0002.2620] # SKULL AND CROSSBONES
+2621 ; [*08B8.0020.0002.2621] # CAUTION SIGN
+2622 ; [*08B9.0020.0002.2622] # RADIOACTIVE SIGN
+2623 ; [*08BA.0020.0002.2623] # BIOHAZARD SIGN
+2624 ; [*08BB.0020.0002.2624] # CADUCEUS
+2625 ; [*08BC.0020.0002.2625] # ANKH
+2626 ; [*08BD.0020.0002.2626] # ORTHODOX CROSS
+2627 ; [*08BE.0020.0002.2627] # CHI RHO
+2628 ; [*08BF.0020.0002.2628] # CROSS OF LORRAINE
+2629 ; [*08C0.0020.0002.2629] # CROSS OF JERUSALEM
+262A ; [*08C1.0020.0002.262A] # STAR AND CRESCENT
+262B ; [*08C2.0020.0002.262B] # FARSI SYMBOL
+262C ; [*08C3.0020.0002.262C] # ADI SHAKTI
+262D ; [*08C4.0020.0002.262D] # HAMMER AND SICKLE
+262E ; [*08C5.0020.0002.262E] # PEACE SYMBOL
+262F ; [*08C6.0020.0002.262F] # YIN YANG
+2630 ; [*0D8F.0020.0002.2630] # TRIGRAM FOR HEAVEN
+2631 ; [*0D90.0020.0002.2631] # TRIGRAM FOR LAKE
+2632 ; [*0D91.0020.0002.2632] # TRIGRAM FOR FIRE
+2633 ; [*0D92.0020.0002.2633] # TRIGRAM FOR THUNDER
+2634 ; [*0D93.0020.0002.2634] # TRIGRAM FOR WIND
+2635 ; [*0D94.0020.0002.2635] # TRIGRAM FOR WATER
+2636 ; [*0D95.0020.0002.2636] # TRIGRAM FOR MOUNTAIN
+2637 ; [*0D96.0020.0002.2637] # TRIGRAM FOR EARTH
+2638 ; [*08C7.0020.0002.2638] # WHEEL OF DHARMA
+2639 ; [*08C8.0020.0002.2639] # WHITE FROWNING FACE
+263A ; [*08C9.0020.0002.263A] # WHITE SMILING FACE
+263B ; [*08CA.0020.0002.263B] # BLACK SMILING FACE
+263C ; [*08CB.0020.0002.263C] # WHITE SUN WITH RAYS
+263D ; [*08CC.0020.0002.263D] # FIRST QUARTER MOON
+263E ; [*08CD.0020.0002.263E] # LAST QUARTER MOON
+263F ; [*08CE.0020.0002.263F] # MERCURY
+2640 ; [*08CF.0020.0002.2640] # FEMALE SIGN
+2641 ; [*08D0.0020.0002.2641] # EARTH
+2642 ; [*08D1.0020.0002.2642] # MALE SIGN
+2643 ; [*08D2.0020.0002.2643] # JUPITER
+2644 ; [*08D3.0020.0002.2644] # SATURN
+2645 ; [*08D4.0020.0002.2645] # URANUS
+2646 ; [*08D5.0020.0002.2646] # NEPTUNE
+2647 ; [*08D6.0020.0002.2647] # PLUTO
+2648 ; [*08D7.0020.0002.2648] # ARIES
+2649 ; [*08D8.0020.0002.2649] # TAURUS
+264A ; [*08D9.0020.0002.264A] # GEMINI
+264B ; [*08DA.0020.0002.264B] # CANCER
+264C ; [*08DB.0020.0002.264C] # LEO
+264D ; [*08DC.0020.0002.264D] # VIRGO
+264E ; [*08DD.0020.0002.264E] # LIBRA
+264F ; [*08DE.0020.0002.264F] # SCORPIUS
+2650 ; [*08DF.0020.0002.2650] # SAGITTARIUS
+2651 ; [*08E0.0020.0002.2651] # CAPRICORN
+2652 ; [*08E1.0020.0002.2652] # AQUARIUS
+2653 ; [*08E2.0020.0002.2653] # PISCES
+2654 ; [*08E3.0020.0002.2654] # WHITE CHESS KING
+2655 ; [*08E4.0020.0002.2655] # WHITE CHESS QUEEN
+2656 ; [*08E5.0020.0002.2656] # WHITE CHESS ROOK
+2657 ; [*08E6.0020.0002.2657] # WHITE CHESS BISHOP
+2658 ; [*08E7.0020.0002.2658] # WHITE CHESS KNIGHT
+2659 ; [*08E8.0020.0002.2659] # WHITE CHESS PAWN
+265A ; [*08E9.0020.0002.265A] # BLACK CHESS KING
+265B ; [*08EA.0020.0002.265B] # BLACK CHESS QUEEN
+265C ; [*08EB.0020.0002.265C] # BLACK CHESS ROOK
+265D ; [*08EC.0020.0002.265D] # BLACK CHESS BISHOP
+265E ; [*08ED.0020.0002.265E] # BLACK CHESS KNIGHT
+265F ; [*08EE.0020.0002.265F] # BLACK CHESS PAWN
+2660 ; [*08EF.0020.0002.2660] # BLACK SPADE SUIT
+2661 ; [*08F0.0020.0002.2661] # WHITE HEART SUIT
+2662 ; [*08F1.0020.0002.2662] # WHITE DIAMOND SUIT
+2663 ; [*08F2.0020.0002.2663] # BLACK CLUB SUIT
+2664 ; [*08F3.0020.0002.2664] # WHITE SPADE SUIT
+2665 ; [*08F4.0020.0002.2665] # BLACK HEART SUIT
+2666 ; [*08F5.0020.0002.2666] # BLACK DIAMOND SUIT
+2667 ; [*08F6.0020.0002.2667] # WHITE CLUB SUIT
+2668 ; [*08F7.0020.0002.2668] # HOT SPRINGS
+2669 ; [*08F8.0020.0002.2669] # QUARTER NOTE
+266A ; [*08F9.0020.0002.266A] # EIGHTH NOTE
+266B ; [*08FA.0020.0002.266B] # BEAMED EIGHTH NOTES
+266C ; [*08FB.0020.0002.266C] # BEAMED SIXTEENTH NOTES
+266D ; [*0FD5.0020.0002.266D] # MUSIC FLAT SIGN
+266E ; [*0FD6.0020.0002.266E] # MUSIC NATURAL SIGN
+266F ; [*0FD7.0020.0002.266F] # MUSIC SHARP SIGN
+2670 ; [*08FC.0020.0002.2670] # WEST SYRIAC CROSS
+2671 ; [*08FD.0020.0002.2671] # EAST SYRIAC CROSS
+2672 ; [*08FE.0020.0002.2672] # UNIVERSAL RECYCLING SYMBOL
+2673 ; [*08FF.0020.0002.2673] # RECYCLING SYMBOL FOR TYPE-1 PLASTICS
+2674 ; [*0900.0020.0002.2674] # RECYCLING SYMBOL FOR TYPE-2 PLASTICS
+2675 ; [*0901.0020.0002.2675] # RECYCLING SYMBOL FOR TYPE-3 PLASTICS
+2676 ; [*0902.0020.0002.2676] # RECYCLING SYMBOL FOR TYPE-4 PLASTICS
+2677 ; [*0903.0020.0002.2677] # RECYCLING SYMBOL FOR TYPE-5 PLASTICS
+2678 ; [*0904.0020.0002.2678] # RECYCLING SYMBOL FOR TYPE-6 PLASTICS
+2679 ; [*0905.0020.0002.2679] # RECYCLING SYMBOL FOR TYPE-7 PLASTICS
+267A ; [*0906.0020.0002.267A] # RECYCLING SYMBOL FOR GENERIC MATERIALS
+267B ; [*0907.0020.0002.267B] # BLACK UNIVERSAL RECYCLING SYMBOL
+267C ; [*0908.0020.0002.267C] # RECYCLED PAPER SYMBOL
+267D ; [*0909.0020.0002.267D] # PARTIALLY-RECYCLED PAPER SYMBOL
+267E ; [*090A.0020.0002.267E] # PERMANENT PAPER SIGN
+267F ; [*090B.0020.0002.267F] # WHEELCHAIR SYMBOL
+2680 ; [*090C.0020.0002.2680] # DIE FACE-1
+2681 ; [*090D.0020.0002.2681] # DIE FACE-2
+2682 ; [*090E.0020.0002.2682] # DIE FACE-3
+2683 ; [*090F.0020.0002.2683] # DIE FACE-4
+2684 ; [*0910.0020.0002.2684] # DIE FACE-5
+2685 ; [*0911.0020.0002.2685] # DIE FACE-6
+2686 ; [*0912.0020.0002.2686] # WHITE CIRCLE WITH DOT RIGHT
+2687 ; [*0913.0020.0002.2687] # WHITE CIRCLE WITH TWO DOTS
+2688 ; [*0914.0020.0002.2688] # BLACK CIRCLE WITH WHITE DOT RIGHT
+2689 ; [*0915.0020.0002.2689] # BLACK CIRCLE WITH TWO WHITE DOTS
+268A ; [*0D89.0020.0002.268A] # MONOGRAM FOR YANG
+268B ; [*0D8A.0020.0002.268B] # MONOGRAM FOR YIN
+268C ; [*0D8B.0020.0002.268C] # DIGRAM FOR GREATER YANG
+268D ; [*0D8C.0020.0002.268D] # DIGRAM FOR LESSER YIN
+268E ; [*0D8D.0020.0002.268E] # DIGRAM FOR LESSER YANG
+268F ; [*0D8E.0020.0002.268F] # DIGRAM FOR GREATER YIN
+2690 ; [*0916.0020.0002.2690] # WHITE FLAG
+2691 ; [*0917.0020.0002.2691] # BLACK FLAG
+2692 ; [*0918.0020.0002.2692] # HAMMER AND PICK
+2693 ; [*0919.0020.0002.2693] # ANCHOR
+2694 ; [*091A.0020.0002.2694] # CROSSED SWORDS
+2695 ; [*091B.0020.0002.2695] # STAFF OF AESCULAPIUS
+2696 ; [*091C.0020.0002.2696] # SCALES
+2697 ; [*091D.0020.0002.2697] # ALEMBIC
+2698 ; [*091E.0020.0002.2698] # FLOWER
+2699 ; [*091F.0020.0002.2699] # GEAR
+269A ; [*0920.0020.0002.269A] # STAFF OF HERMES
+269B ; [*0921.0020.0002.269B] # ATOM SYMBOL
+269C ; [*0922.0020.0002.269C] # FLEUR-DE-LIS
+269D ; [*0923.0020.0002.269D] # OUTLINED WHITE STAR
+269E ; [*0924.0020.0002.269E] # THREE LINES CONVERGING RIGHT
+269F ; [*0925.0020.0002.269F] # THREE LINES CONVERGING LEFT
+26A0 ; [*0926.0020.0002.26A0] # WARNING SIGN
+26A1 ; [*0927.0020.0002.26A1] # HIGH VOLTAGE SIGN
+26A2 ; [*0928.0020.0002.26A2] # DOUBLED FEMALE SIGN
+26A3 ; [*0929.0020.0002.26A3] # DOUBLED MALE SIGN
+26A4 ; [*092A.0020.0002.26A4] # INTERLOCKED FEMALE AND MALE SIGN
+26A5 ; [*092B.0020.0002.26A5] # MALE AND FEMALE SIGN
+26A6 ; [*092C.0020.0002.26A6] # MALE WITH STROKE SIGN
+26A7 ; [*092D.0020.0002.26A7] # MALE WITH STROKE AND MALE AND FEMALE SIGN
+26A8 ; [*092E.0020.0002.26A8] # VERTICAL MALE WITH STROKE SIGN
+26A9 ; [*092F.0020.0002.26A9] # HORIZONTAL MALE WITH STROKE SIGN
+26AA ; [*0930.0020.0002.26AA] # MEDIUM WHITE CIRCLE
+26AB ; [*0931.0020.0002.26AB] # MEDIUM BLACK CIRCLE
+26AC ; [*0932.0020.0002.26AC] # MEDIUM SMALL WHITE CIRCLE
+26AD ; [*0933.0020.0002.26AD] # MARRIAGE SYMBOL
+26AE ; [*0934.0020.0002.26AE] # DIVORCE SYMBOL
+26AF ; [*0935.0020.0002.26AF] # UNMARRIED PARTNERSHIP SYMBOL
+26B0 ; [*0936.0020.0002.26B0] # COFFIN
+26B1 ; [*0937.0020.0002.26B1] # FUNERAL URN
+26B2 ; [*0938.0020.0002.26B2] # NEUTER
+26B3 ; [*0939.0020.0002.26B3] # CERES
+26B4 ; [*093A.0020.0002.26B4] # PALLAS
+26B5 ; [*093B.0020.0002.26B5] # JUNO
+26B6 ; [*093C.0020.0002.26B6] # VESTA
+26B7 ; [*093D.0020.0002.26B7] # CHIRON
+26B8 ; [*093E.0020.0002.26B8] # BLACK MOON LILITH
+26B9 ; [*093F.0020.0002.26B9] # SEXTILE
+26BA ; [*0940.0020.0002.26BA] # SEMISEXTILE
+26BB ; [*0941.0020.0002.26BB] # QUINCUNX
+26BC ; [*0942.0020.0002.26BC] # SESQUIQUADRATE
+26BD ; [*0943.0020.0002.26BD] # SOCCER BALL
+26BE ; [*0944.0020.0002.26BE] # BASEBALL
+26BF ; [*0945.0020.0002.26BF] # SQUARED KEY
+26C0 ; [*0946.0020.0002.26C0] # WHITE DRAUGHTS MAN
+26C1 ; [*0947.0020.0002.26C1] # WHITE DRAUGHTS KING
+26C2 ; [*0948.0020.0002.26C2] # BLACK DRAUGHTS MAN
+26C3 ; [*0949.0020.0002.26C3] # BLACK DRAUGHTS KING
+26C4 ; [*094A.0020.0002.26C4] # SNOWMAN WITHOUT SNOW
+26C5 ; [*094B.0020.0002.26C5] # SUN BEHIND CLOUD
+26C6 ; [*094C.0020.0002.26C6] # RAIN
+26C7 ; [*094D.0020.0002.26C7] # BLACK SNOWMAN
+26C8 ; [*094E.0020.0002.26C8] # THUNDER CLOUD AND RAIN
+26C9 ; [*094F.0020.0002.26C9] # TURNED WHITE SHOGI PIECE
+26CA ; [*0950.0020.0002.26CA] # TURNED BLACK SHOGI PIECE
+26CB ; [*0951.0020.0002.26CB] # WHITE DIAMOND IN SQUARE
+26CC ; [*0952.0020.0002.26CC] # CROSSING LANES
+26CD ; [*0953.0020.0002.26CD] # DISABLED CAR
+26CE ; [*0954.0020.0002.26CE] # OPHIUCHUS
+26CF ; [*0955.0020.0002.26CF] # PICK
+26D0 ; [*0956.0020.0002.26D0] # CAR SLIDING
+26D1 ; [*0957.0020.0002.26D1] # HELMET WITH WHITE CROSS
+26D2 ; [*0958.0020.0002.26D2] # CIRCLED CROSSING LANES
+26D3 ; [*0959.0020.0002.26D3] # CHAINS
+26D4 ; [*095A.0020.0002.26D4] # NO ENTRY
+26D5 ; [*095B.0020.0002.26D5] # ALTERNATE ONE-WAY LEFT WAY TRAFFIC
+26D6 ; [*095C.0020.0002.26D6] # BLACK TWO-WAY LEFT WAY TRAFFIC
+26D7 ; [*095D.0020.0002.26D7] # WHITE TWO-WAY LEFT WAY TRAFFIC
+26D8 ; [*095E.0020.0002.26D8] # BLACK LEFT LANE MERGE
+26D9 ; [*095F.0020.0002.26D9] # WHITE LEFT LANE MERGE
+26DA ; [*0960.0020.0002.26DA] # DRIVE SLOW SIGN
+26DB ; [*0961.0020.0002.26DB] # HEAVY WHITE DOWN-POINTING TRIANGLE
+26DC ; [*0962.0020.0002.26DC] # LEFT CLOSED ENTRY
+26DD ; [*0963.0020.0002.26DD] # SQUARED SALTIRE
+26DE ; [*0964.0020.0002.26DE] # FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
+26DF ; [*0965.0020.0002.26DF] # BLACK TRUCK
+26E0 ; [*0966.0020.0002.26E0] # RESTRICTED LEFT ENTRY-1
+26E1 ; [*0967.0020.0002.26E1] # RESTRICTED LEFT ENTRY-2
+26E2 ; [*0968.0020.0002.26E2] # ASTRONOMICAL SYMBOL FOR URANUS
+26E3 ; [*0969.0020.0002.26E3] # HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
+26E4 ; [*096A.0020.0002.26E4] # PENTAGRAM
+26E5 ; [*096B.0020.0002.26E5] # RIGHT-HANDED INTERLACED PENTAGRAM
+26E6 ; [*096C.0020.0002.26E6] # LEFT-HANDED INTERLACED PENTAGRAM
+26E7 ; [*096D.0020.0002.26E7] # INVERTED PENTAGRAM
+26E8 ; [*096E.0020.0002.26E8] # BLACK CROSS ON SHIELD
+26E9 ; [*096F.0020.0002.26E9] # SHINTO SHRINE
+26EA ; [*0970.0020.0002.26EA] # CHURCH
+26EB ; [*0971.0020.0002.26EB] # CASTLE
+26EC ; [*0972.0020.0002.26EC] # HISTORIC SITE
+26ED ; [*0973.0020.0002.26ED] # GEAR WITHOUT HUB
+26EE ; [*0974.0020.0002.26EE] # GEAR WITH HANDLES
+26EF ; [*0975.0020.0002.26EF] # MAP SYMBOL FOR LIGHTHOUSE
+26F0 ; [*0976.0020.0002.26F0] # MOUNTAIN
+26F1 ; [*0977.0020.0002.26F1] # UMBRELLA ON GROUND
+26F2 ; [*0978.0020.0002.26F2] # FOUNTAIN
+26F3 ; [*0979.0020.0002.26F3] # FLAG IN HOLE
+26F4 ; [*097A.0020.0002.26F4] # FERRY
+26F5 ; [*097B.0020.0002.26F5] # SAILBOAT
+26F6 ; [*097C.0020.0002.26F6] # SQUARE FOUR CORNERS
+26F7 ; [*097D.0020.0002.26F7] # SKIER
+26F8 ; [*097E.0020.0002.26F8] # ICE SKATE
+26F9 ; [*097F.0020.0002.26F9] # PERSON WITH BALL
+26FA ; [*0980.0020.0002.26FA] # TENT
+26FB ; [*0981.0020.0002.26FB] # JAPANESE BANK SYMBOL
+26FC ; [*0982.0020.0002.26FC] # HEADSTONE GRAVEYARD SYMBOL
+26FD ; [*0983.0020.0002.26FD] # FUEL PUMP
+26FE ; [*0984.0020.0002.26FE] # CUP ON BLACK SQUARE
+26FF ; [*0985.0020.0002.26FF] # WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
+2701 ; [*0986.0020.0002.2701] # UPPER BLADE SCISSORS
+2702 ; [*0987.0020.0002.2702] # BLACK SCISSORS
+2703 ; [*0988.0020.0002.2703] # LOWER BLADE SCISSORS
+2704 ; [*0989.0020.0002.2704] # WHITE SCISSORS
+2705 ; [*098A.0020.0002.2705] # WHITE HEAVY CHECK MARK
+2706 ; [*098B.0020.0002.2706] # TELEPHONE LOCATION SIGN
+2707 ; [*098C.0020.0002.2707] # TAPE DRIVE
+2708 ; [*098D.0020.0002.2708] # AIRPLANE
+2709 ; [*098E.0020.0002.2709] # ENVELOPE
+270A ; [*098F.0020.0002.270A] # RAISED FIST
+270B ; [*0990.0020.0002.270B] # RAISED HAND
+270C ; [*0991.0020.0002.270C] # VICTORY HAND
+270D ; [*0992.0020.0002.270D] # WRITING HAND
+270E ; [*0993.0020.0002.270E] # LOWER RIGHT PENCIL
+270F ; [*0994.0020.0002.270F] # PENCIL
+2710 ; [*0995.0020.0002.2710] # UPPER RIGHT PENCIL
+2711 ; [*0996.0020.0002.2711] # WHITE NIB
+2712 ; [*0997.0020.0002.2712] # BLACK NIB
+2713 ; [*0998.0020.0002.2713] # CHECK MARK
+2714 ; [*0999.0020.0002.2714] # HEAVY CHECK MARK
+2715 ; [*099A.0020.0002.2715] # MULTIPLICATION X
+2716 ; [*099B.0020.0002.2716] # HEAVY MULTIPLICATION X
+2717 ; [*099C.0020.0002.2717] # BALLOT X
+2718 ; [*099D.0020.0002.2718] # HEAVY BALLOT X
+2719 ; [*099E.0020.0002.2719] # OUTLINED GREEK CROSS
+271A ; [*099F.0020.0002.271A] # HEAVY GREEK CROSS
+271B ; [*09A0.0020.0002.271B] # OPEN CENTRE CROSS
+271C ; [*09A1.0020.0002.271C] # HEAVY OPEN CENTRE CROSS
+271D ; [*09A2.0020.0002.271D] # LATIN CROSS
+271E ; [*09A3.0020.0002.271E] # SHADOWED WHITE LATIN CROSS
+271F ; [*09A4.0020.0002.271F] # OUTLINED LATIN CROSS
+2720 ; [*09A5.0020.0002.2720] # MALTESE CROSS
+2721 ; [*09A6.0020.0002.2721] # STAR OF DAVID
+2722 ; [*09A7.0020.0002.2722] # FOUR TEARDROP-SPOKED ASTERISK
+2723 ; [*09A8.0020.0002.2723] # FOUR BALLOON-SPOKED ASTERISK
+2724 ; [*09A9.0020.0002.2724] # HEAVY FOUR BALLOON-SPOKED ASTERISK
+2725 ; [*09AA.0020.0002.2725] # FOUR CLUB-SPOKED ASTERISK
+2726 ; [*09AB.0020.0002.2726] # BLACK FOUR POINTED STAR
+2727 ; [*09AC.0020.0002.2727] # WHITE FOUR POINTED STAR
+2728 ; [*09AD.0020.0002.2728] # SPARKLES
+2729 ; [*09AE.0020.0002.2729] # STRESS OUTLINED WHITE STAR
+272A ; [*09AF.0020.0002.272A] # CIRCLED WHITE STAR
+272B ; [*09B0.0020.0002.272B] # OPEN CENTRE BLACK STAR
+272C ; [*09B1.0020.0002.272C] # BLACK CENTRE WHITE STAR
+272D ; [*09B2.0020.0002.272D] # OUTLINED BLACK STAR
+272E ; [*09B3.0020.0002.272E] # HEAVY OUTLINED BLACK STAR
+272F ; [*09B4.0020.0002.272F] # PINWHEEL STAR
+2730 ; [*09B5.0020.0002.2730] # SHADOWED WHITE STAR
+2731 ; [*09B6.0020.0002.2731] # HEAVY ASTERISK
+2732 ; [*09B7.0020.0002.2732] # OPEN CENTRE ASTERISK
+2733 ; [*09B8.0020.0002.2733] # EIGHT SPOKED ASTERISK
+2734 ; [*09B9.0020.0002.2734] # EIGHT POINTED BLACK STAR
+2735 ; [*09BA.0020.0002.2735] # EIGHT POINTED PINWHEEL STAR
+2736 ; [*09BB.0020.0002.2736] # SIX POINTED BLACK STAR
+2737 ; [*09BC.0020.0002.2737] # EIGHT POINTED RECTILINEAR BLACK STAR
+2738 ; [*09BD.0020.0002.2738] # HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
+2739 ; [*09BE.0020.0002.2739] # TWELVE POINTED BLACK STAR
+273A ; [*09BF.0020.0002.273A] # SIXTEEN POINTED ASTERISK
+273B ; [*09C0.0020.0002.273B] # TEARDROP-SPOKED ASTERISK
+273C ; [*09C1.0020.0002.273C] # OPEN CENTRE TEARDROP-SPOKED ASTERISK
+273D ; [*09C2.0020.0002.273D] # HEAVY TEARDROP-SPOKED ASTERISK
+273E ; [*09C3.0020.0002.273E] # SIX PETALLED BLACK AND WHITE FLORETTE
+273F ; [*09C4.0020.0002.273F] # BLACK FLORETTE
+2740 ; [*09C5.0020.0002.2740] # WHITE FLORETTE
+2741 ; [*09C6.0020.0002.2741] # EIGHT PETALLED OUTLINED BLACK FLORETTE
+2742 ; [*09C7.0020.0002.2742] # CIRCLED OPEN CENTRE EIGHT POINTED STAR
+2743 ; [*09C8.0020.0002.2743] # HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
+2744 ; [*09C9.0020.0002.2744] # SNOWFLAKE
+2745 ; [*09CA.0020.0002.2745] # TIGHT TRIFOLIATE SNOWFLAKE
+2746 ; [*09CB.0020.0002.2746] # HEAVY CHEVRON SNOWFLAKE
+2747 ; [*09CC.0020.0002.2747] # SPARKLE
+2748 ; [*09CD.0020.0002.2748] # HEAVY SPARKLE
+2749 ; [*09CE.0020.0002.2749] # BALLOON-SPOKED ASTERISK
+274A ; [*09CF.0020.0002.274A] # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+274B ; [*09D0.0020.0002.274B] # HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+274C ; [*09D1.0020.0002.274C] # CROSS MARK
+274D ; [*09D2.0020.0002.274D] # SHADOWED WHITE CIRCLE
+274E ; [*09D3.0020.0002.274E] # NEGATIVE SQUARED CROSS MARK
+274F ; [*09D4.0020.0002.274F] # LOWER RIGHT DROP-SHADOWED WHITE SQUARE
+2750 ; [*09D5.0020.0002.2750] # UPPER RIGHT DROP-SHADOWED WHITE SQUARE
+2751 ; [*09D6.0020.0002.2751] # LOWER RIGHT SHADOWED WHITE SQUARE
+2752 ; [*09D7.0020.0002.2752] # UPPER RIGHT SHADOWED WHITE SQUARE
+2753 ; [*09D8.0020.0002.2753] # BLACK QUESTION MARK ORNAMENT
+2754 ; [*09D9.0020.0002.2754] # WHITE QUESTION MARK ORNAMENT
+2755 ; [*09DA.0020.0002.2755] # WHITE EXCLAMATION MARK ORNAMENT
+2756 ; [*09DB.0020.0002.2756] # BLACK DIAMOND MINUS WHITE X
+2757 ; [*09DC.0020.0002.2757] # HEAVY EXCLAMATION MARK SYMBOL
+2758 ; [*09DD.0020.0002.2758] # LIGHT VERTICAL BAR
+2759 ; [*09DE.0020.0002.2759] # MEDIUM VERTICAL BAR
+275A ; [*09DF.0020.0002.275A] # HEAVY VERTICAL BAR
+275B ; [*09E0.0020.0002.275B] # HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
+275C ; [*09E1.0020.0002.275C] # HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
+275D ; [*09E2.0020.0002.275D] # HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
+275E ; [*09E3.0020.0002.275E] # HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
+275F ; [*09E4.0020.0002.275F] # HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT
+2760 ; [*09E5.0020.0002.2760] # HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT
+2761 ; [*09E6.0020.0002.2761] # CURVED STEM PARAGRAPH SIGN ORNAMENT
+2762 ; [*09E7.0020.0002.2762] # HEAVY EXCLAMATION MARK ORNAMENT
+2763 ; [*09E8.0020.0002.2763] # HEAVY HEART EXCLAMATION MARK ORNAMENT
+2764 ; [*09E9.0020.0002.2764] # HEAVY BLACK HEART
+2765 ; [*09EA.0020.0002.2765] # ROTATED HEAVY BLACK HEART BULLET
+2766 ; [*09EB.0020.0002.2766] # FLORAL HEART
+2767 ; [*09EC.0020.0002.2767] # ROTATED FLORAL HEART BULLET
+2768 ; [*032D.0020.0002.2768] # MEDIUM LEFT PARENTHESIS ORNAMENT
+2769 ; [*032E.0020.0002.2769] # MEDIUM RIGHT PARENTHESIS ORNAMENT
+276A ; [*032F.0020.0002.276A] # MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
+276B ; [*0330.0020.0002.276B] # MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
+276C ; [*0331.0020.0002.276C] # MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
+276D ; [*0332.0020.0002.276D] # MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
+276E ; [*0333.0020.0002.276E] # HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
+276F ; [*0334.0020.0002.276F] # HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
+2770 ; [*0335.0020.0002.2770] # HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
+2771 ; [*0336.0020.0002.2771] # HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
+2772 ; [*0337.0020.0002.2772] # LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
+2773 ; [*0338.0020.0002.2773] # LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
+2774 ; [*0339.0020.0002.2774] # MEDIUM LEFT CURLY BRACKET ORNAMENT
+2775 ; [*033A.0020.0002.2775] # MEDIUM RIGHT CURLY BRACKET ORNAMENT
+2794 ; [*09ED.0020.0002.2794] # HEAVY WIDE-HEADED RIGHTWARDS ARROW
+2795 ; [*09EE.0020.0002.2795] # HEAVY PLUS SIGN
+2796 ; [*09EF.0020.0002.2796] # HEAVY MINUS SIGN
+2797 ; [*09F0.0020.0002.2797] # HEAVY DIVISION SIGN
+2798 ; [*09F1.0020.0002.2798] # HEAVY SOUTH EAST ARROW
+2799 ; [*09F2.0020.0002.2799] # HEAVY RIGHTWARDS ARROW
+279A ; [*09F3.0020.0002.279A] # HEAVY NORTH EAST ARROW
+279B ; [*09F4.0020.0002.279B] # DRAFTING POINT RIGHTWARDS ARROW
+279C ; [*09F5.0020.0002.279C] # HEAVY ROUND-TIPPED RIGHTWARDS ARROW
+279D ; [*09F6.0020.0002.279D] # TRIANGLE-HEADED RIGHTWARDS ARROW
+279E ; [*09F7.0020.0002.279E] # HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
+279F ; [*09F8.0020.0002.279F] # DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+27A0 ; [*09F9.0020.0002.27A0] # HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+27A1 ; [*09FA.0020.0002.27A1] # BLACK RIGHTWARDS ARROW
+27A2 ; [*09FB.0020.0002.27A2] # THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
+27A3 ; [*09FC.0020.0002.27A3] # THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
+27A4 ; [*09FD.0020.0002.27A4] # BLACK RIGHTWARDS ARROWHEAD
+27A5 ; [*09FE.0020.0002.27A5] # HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
+27A6 ; [*09FF.0020.0002.27A6] # HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
+27A7 ; [*0A00.0020.0002.27A7] # SQUAT BLACK RIGHTWARDS ARROW
+27A8 ; [*0A01.0020.0002.27A8] # HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
+27A9 ; [*0A02.0020.0002.27A9] # RIGHT-SHADED WHITE RIGHTWARDS ARROW
+27AA ; [*0A03.0020.0002.27AA] # LEFT-SHADED WHITE RIGHTWARDS ARROW
+27AB ; [*0A04.0020.0002.27AB] # BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+27AC ; [*0A05.0020.0002.27AC] # FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+27AD ; [*0A06.0020.0002.27AD] # HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27AE ; [*0A07.0020.0002.27AE] # HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27AF ; [*0A08.0020.0002.27AF] # NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27B0 ; [*0A09.0020.0002.27B0] # CURLY LOOP
+27B1 ; [*0A0A.0020.0002.27B1] # NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27B2 ; [*0A0B.0020.0002.27B2] # CIRCLED HEAVY WHITE RIGHTWARDS ARROW
+27B3 ; [*0A0C.0020.0002.27B3] # WHITE-FEATHERED RIGHTWARDS ARROW
+27B4 ; [*0A0D.0020.0002.27B4] # BLACK-FEATHERED SOUTH EAST ARROW
+27B5 ; [*0A0E.0020.0002.27B5] # BLACK-FEATHERED RIGHTWARDS ARROW
+27B6 ; [*0A0F.0020.0002.27B6] # BLACK-FEATHERED NORTH EAST ARROW
+27B7 ; [*0A10.0020.0002.27B7] # HEAVY BLACK-FEATHERED SOUTH EAST ARROW
+27B8 ; [*0A11.0020.0002.27B8] # HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
+27B9 ; [*0A12.0020.0002.27B9] # HEAVY BLACK-FEATHERED NORTH EAST ARROW
+27BA ; [*0A13.0020.0002.27BA] # TEARDROP-BARBED RIGHTWARDS ARROW
+27BB ; [*0A14.0020.0002.27BB] # HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
+27BC ; [*0A15.0020.0002.27BC] # WEDGE-TAILED RIGHTWARDS ARROW
+27BD ; [*0A16.0020.0002.27BD] # HEAVY WEDGE-TAILED RIGHTWARDS ARROW
+27BE ; [*0A17.0020.0002.27BE] # OPEN-OUTLINED RIGHTWARDS ARROW
+27BF ; [*0A18.0020.0002.27BF] # DOUBLE CURLY LOOP
+27C0 ; [*0A19.0020.0002.27C0] # THREE DIMENSIONAL ANGLE
+27C1 ; [*0A1A.0020.0002.27C1] # WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
+27C2 ; [*0A1B.0020.0002.27C2] # PERPENDICULAR
+27C3 ; [*0A1C.0020.0002.27C3] # OPEN SUBSET
+27C4 ; [*0A1D.0020.0002.27C4] # OPEN SUPERSET
+27C5 ; [*0321.0020.0002.27C5] # LEFT S-SHAPED BAG DELIMITER
+27C6 ; [*0322.0020.0002.27C6] # RIGHT S-SHAPED BAG DELIMITER
+27C7 ; [*0A1E.0020.0002.27C7] # OR WITH DOT INSIDE
+27C8 ; [*0A1F.0020.0002.27C8] # REVERSE SOLIDUS PRECEDING SUBSET
+27C9 ; [*0A20.0020.0002.27C9] # SUPERSET PRECEDING SOLIDUS
+27CA ; [*0A21.0020.0002.27CA] # VERTICAL BAR WITH HORIZONTAL STROKE
+27CB ; [*0A22.0020.0002.27CB] # MATHEMATICAL RISING DIAGONAL
+27CC ; [*0A23.0020.0002.27CC] # LONG DIVISION
+27CD ; [*0A24.0020.0002.27CD] # MATHEMATICAL FALLING DIAGONAL
+27CE ; [*0A25.0020.0002.27CE] # SQUARED LOGICAL AND
+27CF ; [*0A26.0020.0002.27CF] # SQUARED LOGICAL OR
+27D0 ; [*0A27.0020.0002.27D0] # WHITE DIAMOND WITH CENTRED DOT
+27D1 ; [*0A28.0020.0002.27D1] # AND WITH DOT
+27D2 ; [*0A29.0020.0002.27D2] # ELEMENT OF OPENING UPWARDS
+27D3 ; [*0A2A.0020.0002.27D3] # LOWER RIGHT CORNER WITH DOT
+27D4 ; [*0A2B.0020.0002.27D4] # UPPER LEFT CORNER WITH DOT
+27D5 ; [*0A2C.0020.0002.27D5] # LEFT OUTER JOIN
+27D6 ; [*0A2D.0020.0002.27D6] # RIGHT OUTER JOIN
+27D7 ; [*0A2E.0020.0002.27D7] # FULL OUTER JOIN
+27D8 ; [*0A2F.0020.0002.27D8] # LARGE UP TACK
+27D9 ; [*0A30.0020.0002.27D9] # LARGE DOWN TACK
+27DA ; [*0A31.0020.0002.27DA] # LEFT AND RIGHT DOUBLE TURNSTILE
+27DB ; [*0A32.0020.0002.27DB] # LEFT AND RIGHT TACK
+27DC ; [*0A33.0020.0002.27DC] # LEFT MULTIMAP
+27DD ; [*0A34.0020.0002.27DD] # LONG RIGHT TACK
+27DE ; [*0A35.0020.0002.27DE] # LONG LEFT TACK
+27DF ; [*0A36.0020.0002.27DF] # UP TACK WITH CIRCLE ABOVE
+27E0 ; [*0A37.0020.0002.27E0] # LOZENGE DIVIDED BY HORIZONTAL RULE
+27E1 ; [*0A38.0020.0002.27E1] # WHITE CONCAVE-SIDED DIAMOND
+27E2 ; [*0A39.0020.0002.27E2] # WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
+27E3 ; [*0A3A.0020.0002.27E3] # WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK
+27E4 ; [*0A3B.0020.0002.27E4] # WHITE SQUARE WITH LEFTWARDS TICK
+27E5 ; [*0A3C.0020.0002.27E5] # WHITE SQUARE WITH RIGHTWARDS TICK
+27E6 ; [*0323.0020.0002.27E6] # MATHEMATICAL LEFT WHITE SQUARE BRACKET
+27E7 ; [*0324.0020.0002.27E7] # MATHEMATICAL RIGHT WHITE SQUARE BRACKET
+27E8 ; [*0325.0020.0002.27E8] # MATHEMATICAL LEFT ANGLE BRACKET
+27E9 ; [*0326.0020.0002.27E9] # MATHEMATICAL RIGHT ANGLE BRACKET
+27EA ; [*0327.0020.0002.27EA] # MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
+27EB ; [*0328.0020.0002.27EB] # MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
+27EC ; [*0329.0020.0002.27EC] # MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
+27ED ; [*032A.0020.0002.27ED] # MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
+27EE ; [*032B.0020.0002.27EE] # MATHEMATICAL LEFT FLATTENED PARENTHESIS
+27EF ; [*032C.0020.0002.27EF] # MATHEMATICAL RIGHT FLATTENED PARENTHESIS
+27F0 ; [*0A3D.0020.0002.27F0] # UPWARDS QUADRUPLE ARROW
+27F1 ; [*0A3E.0020.0002.27F1] # DOWNWARDS QUADRUPLE ARROW
+27F2 ; [*0A3F.0020.0002.27F2] # ANTICLOCKWISE GAPPED CIRCLE ARROW
+27F3 ; [*0A40.0020.0002.27F3] # CLOCKWISE GAPPED CIRCLE ARROW
+27F4 ; [*0A41.0020.0002.27F4] # RIGHT ARROW WITH CIRCLED PLUS
+27F5 ; [*0A42.0020.0002.27F5] # LONG LEFTWARDS ARROW
+27F6 ; [*0A43.0020.0002.27F6] # LONG RIGHTWARDS ARROW
+27F7 ; [*0A44.0020.0002.27F7] # LONG LEFT RIGHT ARROW
+27F8 ; [*0A45.0020.0002.27F8] # LONG LEFTWARDS DOUBLE ARROW
+27F9 ; [*0A46.0020.0002.27F9] # LONG RIGHTWARDS DOUBLE ARROW
+27FA ; [*0A47.0020.0002.27FA] # LONG LEFT RIGHT DOUBLE ARROW
+27FB ; [*0A48.0020.0002.27FB] # LONG LEFTWARDS ARROW FROM BAR
+27FC ; [*0A49.0020.0002.27FC] # LONG RIGHTWARDS ARROW FROM BAR
+27FD ; [*0A4A.0020.0002.27FD] # LONG LEFTWARDS DOUBLE ARROW FROM BAR
+27FE ; [*0A4B.0020.0002.27FE] # LONG RIGHTWARDS DOUBLE ARROW FROM BAR
+27FF ; [*0A4C.0020.0002.27FF] # LONG RIGHTWARDS SQUIGGLE ARROW
+2800 ; [*0C89.0020.0002.2800] # BRAILLE PATTERN BLANK
+2801 ; [*0C8A.0020.0002.2801] # BRAILLE PATTERN DOTS-1
+2802 ; [*0C8B.0020.0002.2802] # BRAILLE PATTERN DOTS-2
+2803 ; [*0C8C.0020.0002.2803] # BRAILLE PATTERN DOTS-12
+2804 ; [*0C8D.0020.0002.2804] # BRAILLE PATTERN DOTS-3
+2805 ; [*0C8E.0020.0002.2805] # BRAILLE PATTERN DOTS-13
+2806 ; [*0C8F.0020.0002.2806] # BRAILLE PATTERN DOTS-23
+2807 ; [*0C90.0020.0002.2807] # BRAILLE PATTERN DOTS-123
+2808 ; [*0C91.0020.0002.2808] # BRAILLE PATTERN DOTS-4
+2809 ; [*0C92.0020.0002.2809] # BRAILLE PATTERN DOTS-14
+280A ; [*0C93.0020.0002.280A] # BRAILLE PATTERN DOTS-24
+280B ; [*0C94.0020.0002.280B] # BRAILLE PATTERN DOTS-124
+280C ; [*0C95.0020.0002.280C] # BRAILLE PATTERN DOTS-34
+280D ; [*0C96.0020.0002.280D] # BRAILLE PATTERN DOTS-134
+280E ; [*0C97.0020.0002.280E] # BRAILLE PATTERN DOTS-234
+280F ; [*0C98.0020.0002.280F] # BRAILLE PATTERN DOTS-1234
+2810 ; [*0C99.0020.0002.2810] # BRAILLE PATTERN DOTS-5
+2811 ; [*0C9A.0020.0002.2811] # BRAILLE PATTERN DOTS-15
+2812 ; [*0C9B.0020.0002.2812] # BRAILLE PATTERN DOTS-25
+2813 ; [*0C9C.0020.0002.2813] # BRAILLE PATTERN DOTS-125
+2814 ; [*0C9D.0020.0002.2814] # BRAILLE PATTERN DOTS-35
+2815 ; [*0C9E.0020.0002.2815] # BRAILLE PATTERN DOTS-135
+2816 ; [*0C9F.0020.0002.2816] # BRAILLE PATTERN DOTS-235
+2817 ; [*0CA0.0020.0002.2817] # BRAILLE PATTERN DOTS-1235
+2818 ; [*0CA1.0020.0002.2818] # BRAILLE PATTERN DOTS-45
+2819 ; [*0CA2.0020.0002.2819] # BRAILLE PATTERN DOTS-145
+281A ; [*0CA3.0020.0002.281A] # BRAILLE PATTERN DOTS-245
+281B ; [*0CA4.0020.0002.281B] # BRAILLE PATTERN DOTS-1245
+281C ; [*0CA5.0020.0002.281C] # BRAILLE PATTERN DOTS-345
+281D ; [*0CA6.0020.0002.281D] # BRAILLE PATTERN DOTS-1345
+281E ; [*0CA7.0020.0002.281E] # BRAILLE PATTERN DOTS-2345
+281F ; [*0CA8.0020.0002.281F] # BRAILLE PATTERN DOTS-12345
+2820 ; [*0CA9.0020.0002.2820] # BRAILLE PATTERN DOTS-6
+2821 ; [*0CAA.0020.0002.2821] # BRAILLE PATTERN DOTS-16
+2822 ; [*0CAB.0020.0002.2822] # BRAILLE PATTERN DOTS-26
+2823 ; [*0CAC.0020.0002.2823] # BRAILLE PATTERN DOTS-126
+2824 ; [*0CAD.0020.0002.2824] # BRAILLE PATTERN DOTS-36
+2825 ; [*0CAE.0020.0002.2825] # BRAILLE PATTERN DOTS-136
+2826 ; [*0CAF.0020.0002.2826] # BRAILLE PATTERN DOTS-236
+2827 ; [*0CB0.0020.0002.2827] # BRAILLE PATTERN DOTS-1236
+2828 ; [*0CB1.0020.0002.2828] # BRAILLE PATTERN DOTS-46
+2829 ; [*0CB2.0020.0002.2829] # BRAILLE PATTERN DOTS-146
+282A ; [*0CB3.0020.0002.282A] # BRAILLE PATTERN DOTS-246
+282B ; [*0CB4.0020.0002.282B] # BRAILLE PATTERN DOTS-1246
+282C ; [*0CB5.0020.0002.282C] # BRAILLE PATTERN DOTS-346
+282D ; [*0CB6.0020.0002.282D] # BRAILLE PATTERN DOTS-1346
+282E ; [*0CB7.0020.0002.282E] # BRAILLE PATTERN DOTS-2346
+282F ; [*0CB8.0020.0002.282F] # BRAILLE PATTERN DOTS-12346
+2830 ; [*0CB9.0020.0002.2830] # BRAILLE PATTERN DOTS-56
+2831 ; [*0CBA.0020.0002.2831] # BRAILLE PATTERN DOTS-156
+2832 ; [*0CBB.0020.0002.2832] # BRAILLE PATTERN DOTS-256
+2833 ; [*0CBC.0020.0002.2833] # BRAILLE PATTERN DOTS-1256
+2834 ; [*0CBD.0020.0002.2834] # BRAILLE PATTERN DOTS-356
+2835 ; [*0CBE.0020.0002.2835] # BRAILLE PATTERN DOTS-1356
+2836 ; [*0CBF.0020.0002.2836] # BRAILLE PATTERN DOTS-2356
+2837 ; [*0CC0.0020.0002.2837] # BRAILLE PATTERN DOTS-12356
+2838 ; [*0CC1.0020.0002.2838] # BRAILLE PATTERN DOTS-456
+2839 ; [*0CC2.0020.0002.2839] # BRAILLE PATTERN DOTS-1456
+283A ; [*0CC3.0020.0002.283A] # BRAILLE PATTERN DOTS-2456
+283B ; [*0CC4.0020.0002.283B] # BRAILLE PATTERN DOTS-12456
+283C ; [*0CC5.0020.0002.283C] # BRAILLE PATTERN DOTS-3456
+283D ; [*0CC6.0020.0002.283D] # BRAILLE PATTERN DOTS-13456
+283E ; [*0CC7.0020.0002.283E] # BRAILLE PATTERN DOTS-23456
+283F ; [*0CC8.0020.0002.283F] # BRAILLE PATTERN DOTS-123456
+2840 ; [*0CC9.0020.0002.2840] # BRAILLE PATTERN DOTS-7
+2841 ; [*0CCA.0020.0002.2841] # BRAILLE PATTERN DOTS-17
+2842 ; [*0CCB.0020.0002.2842] # BRAILLE PATTERN DOTS-27
+2843 ; [*0CCC.0020.0002.2843] # BRAILLE PATTERN DOTS-127
+2844 ; [*0CCD.0020.0002.2844] # BRAILLE PATTERN DOTS-37
+2845 ; [*0CCE.0020.0002.2845] # BRAILLE PATTERN DOTS-137
+2846 ; [*0CCF.0020.0002.2846] # BRAILLE PATTERN DOTS-237
+2847 ; [*0CD0.0020.0002.2847] # BRAILLE PATTERN DOTS-1237
+2848 ; [*0CD1.0020.0002.2848] # BRAILLE PATTERN DOTS-47
+2849 ; [*0CD2.0020.0002.2849] # BRAILLE PATTERN DOTS-147
+284A ; [*0CD3.0020.0002.284A] # BRAILLE PATTERN DOTS-247
+284B ; [*0CD4.0020.0002.284B] # BRAILLE PATTERN DOTS-1247
+284C ; [*0CD5.0020.0002.284C] # BRAILLE PATTERN DOTS-347
+284D ; [*0CD6.0020.0002.284D] # BRAILLE PATTERN DOTS-1347
+284E ; [*0CD7.0020.0002.284E] # BRAILLE PATTERN DOTS-2347
+284F ; [*0CD8.0020.0002.284F] # BRAILLE PATTERN DOTS-12347
+2850 ; [*0CD9.0020.0002.2850] # BRAILLE PATTERN DOTS-57
+2851 ; [*0CDA.0020.0002.2851] # BRAILLE PATTERN DOTS-157
+2852 ; [*0CDB.0020.0002.2852] # BRAILLE PATTERN DOTS-257
+2853 ; [*0CDC.0020.0002.2853] # BRAILLE PATTERN DOTS-1257
+2854 ; [*0CDD.0020.0002.2854] # BRAILLE PATTERN DOTS-357
+2855 ; [*0CDE.0020.0002.2855] # BRAILLE PATTERN DOTS-1357
+2856 ; [*0CDF.0020.0002.2856] # BRAILLE PATTERN DOTS-2357
+2857 ; [*0CE0.0020.0002.2857] # BRAILLE PATTERN DOTS-12357
+2858 ; [*0CE1.0020.0002.2858] # BRAILLE PATTERN DOTS-457
+2859 ; [*0CE2.0020.0002.2859] # BRAILLE PATTERN DOTS-1457
+285A ; [*0CE3.0020.0002.285A] # BRAILLE PATTERN DOTS-2457
+285B ; [*0CE4.0020.0002.285B] # BRAILLE PATTERN DOTS-12457
+285C ; [*0CE5.0020.0002.285C] # BRAILLE PATTERN DOTS-3457
+285D ; [*0CE6.0020.0002.285D] # BRAILLE PATTERN DOTS-13457
+285E ; [*0CE7.0020.0002.285E] # BRAILLE PATTERN DOTS-23457
+285F ; [*0CE8.0020.0002.285F] # BRAILLE PATTERN DOTS-123457
+2860 ; [*0CE9.0020.0002.2860] # BRAILLE PATTERN DOTS-67
+2861 ; [*0CEA.0020.0002.2861] # BRAILLE PATTERN DOTS-167
+2862 ; [*0CEB.0020.0002.2862] # BRAILLE PATTERN DOTS-267
+2863 ; [*0CEC.0020.0002.2863] # BRAILLE PATTERN DOTS-1267
+2864 ; [*0CED.0020.0002.2864] # BRAILLE PATTERN DOTS-367
+2865 ; [*0CEE.0020.0002.2865] # BRAILLE PATTERN DOTS-1367
+2866 ; [*0CEF.0020.0002.2866] # BRAILLE PATTERN DOTS-2367
+2867 ; [*0CF0.0020.0002.2867] # BRAILLE PATTERN DOTS-12367
+2868 ; [*0CF1.0020.0002.2868] # BRAILLE PATTERN DOTS-467
+2869 ; [*0CF2.0020.0002.2869] # BRAILLE PATTERN DOTS-1467
+286A ; [*0CF3.0020.0002.286A] # BRAILLE PATTERN DOTS-2467
+286B ; [*0CF4.0020.0002.286B] # BRAILLE PATTERN DOTS-12467
+286C ; [*0CF5.0020.0002.286C] # BRAILLE PATTERN DOTS-3467
+286D ; [*0CF6.0020.0002.286D] # BRAILLE PATTERN DOTS-13467
+286E ; [*0CF7.0020.0002.286E] # BRAILLE PATTERN DOTS-23467
+286F ; [*0CF8.0020.0002.286F] # BRAILLE PATTERN DOTS-123467
+2870 ; [*0CF9.0020.0002.2870] # BRAILLE PATTERN DOTS-567
+2871 ; [*0CFA.0020.0002.2871] # BRAILLE PATTERN DOTS-1567
+2872 ; [*0CFB.0020.0002.2872] # BRAILLE PATTERN DOTS-2567
+2873 ; [*0CFC.0020.0002.2873] # BRAILLE PATTERN DOTS-12567
+2874 ; [*0CFD.0020.0002.2874] # BRAILLE PATTERN DOTS-3567
+2875 ; [*0CFE.0020.0002.2875] # BRAILLE PATTERN DOTS-13567
+2876 ; [*0CFF.0020.0002.2876] # BRAILLE PATTERN DOTS-23567
+2877 ; [*0D00.0020.0002.2877] # BRAILLE PATTERN DOTS-123567
+2878 ; [*0D01.0020.0002.2878] # BRAILLE PATTERN DOTS-4567
+2879 ; [*0D02.0020.0002.2879] # BRAILLE PATTERN DOTS-14567
+287A ; [*0D03.0020.0002.287A] # BRAILLE PATTERN DOTS-24567
+287B ; [*0D04.0020.0002.287B] # BRAILLE PATTERN DOTS-124567
+287C ; [*0D05.0020.0002.287C] # BRAILLE PATTERN DOTS-34567
+287D ; [*0D06.0020.0002.287D] # BRAILLE PATTERN DOTS-134567
+287E ; [*0D07.0020.0002.287E] # BRAILLE PATTERN DOTS-234567
+287F ; [*0D08.0020.0002.287F] # BRAILLE PATTERN DOTS-1234567
+2880 ; [*0D09.0020.0002.2880] # BRAILLE PATTERN DOTS-8
+2881 ; [*0D0A.0020.0002.2881] # BRAILLE PATTERN DOTS-18
+2882 ; [*0D0B.0020.0002.2882] # BRAILLE PATTERN DOTS-28
+2883 ; [*0D0C.0020.0002.2883] # BRAILLE PATTERN DOTS-128
+2884 ; [*0D0D.0020.0002.2884] # BRAILLE PATTERN DOTS-38
+2885 ; [*0D0E.0020.0002.2885] # BRAILLE PATTERN DOTS-138
+2886 ; [*0D0F.0020.0002.2886] # BRAILLE PATTERN DOTS-238
+2887 ; [*0D10.0020.0002.2887] # BRAILLE PATTERN DOTS-1238
+2888 ; [*0D11.0020.0002.2888] # BRAILLE PATTERN DOTS-48
+2889 ; [*0D12.0020.0002.2889] # BRAILLE PATTERN DOTS-148
+288A ; [*0D13.0020.0002.288A] # BRAILLE PATTERN DOTS-248
+288B ; [*0D14.0020.0002.288B] # BRAILLE PATTERN DOTS-1248
+288C ; [*0D15.0020.0002.288C] # BRAILLE PATTERN DOTS-348
+288D ; [*0D16.0020.0002.288D] # BRAILLE PATTERN DOTS-1348
+288E ; [*0D17.0020.0002.288E] # BRAILLE PATTERN DOTS-2348
+288F ; [*0D18.0020.0002.288F] # BRAILLE PATTERN DOTS-12348
+2890 ; [*0D19.0020.0002.2890] # BRAILLE PATTERN DOTS-58
+2891 ; [*0D1A.0020.0002.2891] # BRAILLE PATTERN DOTS-158
+2892 ; [*0D1B.0020.0002.2892] # BRAILLE PATTERN DOTS-258
+2893 ; [*0D1C.0020.0002.2893] # BRAILLE PATTERN DOTS-1258
+2894 ; [*0D1D.0020.0002.2894] # BRAILLE PATTERN DOTS-358
+2895 ; [*0D1E.0020.0002.2895] # BRAILLE PATTERN DOTS-1358
+2896 ; [*0D1F.0020.0002.2896] # BRAILLE PATTERN DOTS-2358
+2897 ; [*0D20.0020.0002.2897] # BRAILLE PATTERN DOTS-12358
+2898 ; [*0D21.0020.0002.2898] # BRAILLE PATTERN DOTS-458
+2899 ; [*0D22.0020.0002.2899] # BRAILLE PATTERN DOTS-1458
+289A ; [*0D23.0020.0002.289A] # BRAILLE PATTERN DOTS-2458
+289B ; [*0D24.0020.0002.289B] # BRAILLE PATTERN DOTS-12458
+289C ; [*0D25.0020.0002.289C] # BRAILLE PATTERN DOTS-3458
+289D ; [*0D26.0020.0002.289D] # BRAILLE PATTERN DOTS-13458
+289E ; [*0D27.0020.0002.289E] # BRAILLE PATTERN DOTS-23458
+289F ; [*0D28.0020.0002.289F] # BRAILLE PATTERN DOTS-123458
+28A0 ; [*0D29.0020.0002.28A0] # BRAILLE PATTERN DOTS-68
+28A1 ; [*0D2A.0020.0002.28A1] # BRAILLE PATTERN DOTS-168
+28A2 ; [*0D2B.0020.0002.28A2] # BRAILLE PATTERN DOTS-268
+28A3 ; [*0D2C.0020.0002.28A3] # BRAILLE PATTERN DOTS-1268
+28A4 ; [*0D2D.0020.0002.28A4] # BRAILLE PATTERN DOTS-368
+28A5 ; [*0D2E.0020.0002.28A5] # BRAILLE PATTERN DOTS-1368
+28A6 ; [*0D2F.0020.0002.28A6] # BRAILLE PATTERN DOTS-2368
+28A7 ; [*0D30.0020.0002.28A7] # BRAILLE PATTERN DOTS-12368
+28A8 ; [*0D31.0020.0002.28A8] # BRAILLE PATTERN DOTS-468
+28A9 ; [*0D32.0020.0002.28A9] # BRAILLE PATTERN DOTS-1468
+28AA ; [*0D33.0020.0002.28AA] # BRAILLE PATTERN DOTS-2468
+28AB ; [*0D34.0020.0002.28AB] # BRAILLE PATTERN DOTS-12468
+28AC ; [*0D35.0020.0002.28AC] # BRAILLE PATTERN DOTS-3468
+28AD ; [*0D36.0020.0002.28AD] # BRAILLE PATTERN DOTS-13468
+28AE ; [*0D37.0020.0002.28AE] # BRAILLE PATTERN DOTS-23468
+28AF ; [*0D38.0020.0002.28AF] # BRAILLE PATTERN DOTS-123468
+28B0 ; [*0D39.0020.0002.28B0] # BRAILLE PATTERN DOTS-568
+28B1 ; [*0D3A.0020.0002.28B1] # BRAILLE PATTERN DOTS-1568
+28B2 ; [*0D3B.0020.0002.28B2] # BRAILLE PATTERN DOTS-2568
+28B3 ; [*0D3C.0020.0002.28B3] # BRAILLE PATTERN DOTS-12568
+28B4 ; [*0D3D.0020.0002.28B4] # BRAILLE PATTERN DOTS-3568
+28B5 ; [*0D3E.0020.0002.28B5] # BRAILLE PATTERN DOTS-13568
+28B6 ; [*0D3F.0020.0002.28B6] # BRAILLE PATTERN DOTS-23568
+28B7 ; [*0D40.0020.0002.28B7] # BRAILLE PATTERN DOTS-123568
+28B8 ; [*0D41.0020.0002.28B8] # BRAILLE PATTERN DOTS-4568
+28B9 ; [*0D42.0020.0002.28B9] # BRAILLE PATTERN DOTS-14568
+28BA ; [*0D43.0020.0002.28BA] # BRAILLE PATTERN DOTS-24568
+28BB ; [*0D44.0020.0002.28BB] # BRAILLE PATTERN DOTS-124568
+28BC ; [*0D45.0020.0002.28BC] # BRAILLE PATTERN DOTS-34568
+28BD ; [*0D46.0020.0002.28BD] # BRAILLE PATTERN DOTS-134568
+28BE ; [*0D47.0020.0002.28BE] # BRAILLE PATTERN DOTS-234568
+28BF ; [*0D48.0020.0002.28BF] # BRAILLE PATTERN DOTS-1234568
+28C0 ; [*0D49.0020.0002.28C0] # BRAILLE PATTERN DOTS-78
+28C1 ; [*0D4A.0020.0002.28C1] # BRAILLE PATTERN DOTS-178
+28C2 ; [*0D4B.0020.0002.28C2] # BRAILLE PATTERN DOTS-278
+28C3 ; [*0D4C.0020.0002.28C3] # BRAILLE PATTERN DOTS-1278
+28C4 ; [*0D4D.0020.0002.28C4] # BRAILLE PATTERN DOTS-378
+28C5 ; [*0D4E.0020.0002.28C5] # BRAILLE PATTERN DOTS-1378
+28C6 ; [*0D4F.0020.0002.28C6] # BRAILLE PATTERN DOTS-2378
+28C7 ; [*0D50.0020.0002.28C7] # BRAILLE PATTERN DOTS-12378
+28C8 ; [*0D51.0020.0002.28C8] # BRAILLE PATTERN DOTS-478
+28C9 ; [*0D52.0020.0002.28C9] # BRAILLE PATTERN DOTS-1478
+28CA ; [*0D53.0020.0002.28CA] # BRAILLE PATTERN DOTS-2478
+28CB ; [*0D54.0020.0002.28CB] # BRAILLE PATTERN DOTS-12478
+28CC ; [*0D55.0020.0002.28CC] # BRAILLE PATTERN DOTS-3478
+28CD ; [*0D56.0020.0002.28CD] # BRAILLE PATTERN DOTS-13478
+28CE ; [*0D57.0020.0002.28CE] # BRAILLE PATTERN DOTS-23478
+28CF ; [*0D58.0020.0002.28CF] # BRAILLE PATTERN DOTS-123478
+28D0 ; [*0D59.0020.0002.28D0] # BRAILLE PATTERN DOTS-578
+28D1 ; [*0D5A.0020.0002.28D1] # BRAILLE PATTERN DOTS-1578
+28D2 ; [*0D5B.0020.0002.28D2] # BRAILLE PATTERN DOTS-2578
+28D3 ; [*0D5C.0020.0002.28D3] # BRAILLE PATTERN DOTS-12578
+28D4 ; [*0D5D.0020.0002.28D4] # BRAILLE PATTERN DOTS-3578
+28D5 ; [*0D5E.0020.0002.28D5] # BRAILLE PATTERN DOTS-13578
+28D6 ; [*0D5F.0020.0002.28D6] # BRAILLE PATTERN DOTS-23578
+28D7 ; [*0D60.0020.0002.28D7] # BRAILLE PATTERN DOTS-123578
+28D8 ; [*0D61.0020.0002.28D8] # BRAILLE PATTERN DOTS-4578
+28D9 ; [*0D62.0020.0002.28D9] # BRAILLE PATTERN DOTS-14578
+28DA ; [*0D63.0020.0002.28DA] # BRAILLE PATTERN DOTS-24578
+28DB ; [*0D64.0020.0002.28DB] # BRAILLE PATTERN DOTS-124578
+28DC ; [*0D65.0020.0002.28DC] # BRAILLE PATTERN DOTS-34578
+28DD ; [*0D66.0020.0002.28DD] # BRAILLE PATTERN DOTS-134578
+28DE ; [*0D67.0020.0002.28DE] # BRAILLE PATTERN DOTS-234578
+28DF ; [*0D68.0020.0002.28DF] # BRAILLE PATTERN DOTS-1234578
+28E0 ; [*0D69.0020.0002.28E0] # BRAILLE PATTERN DOTS-678
+28E1 ; [*0D6A.0020.0002.28E1] # BRAILLE PATTERN DOTS-1678
+28E2 ; [*0D6B.0020.0002.28E2] # BRAILLE PATTERN DOTS-2678
+28E3 ; [*0D6C.0020.0002.28E3] # BRAILLE PATTERN DOTS-12678
+28E4 ; [*0D6D.0020.0002.28E4] # BRAILLE PATTERN DOTS-3678
+28E5 ; [*0D6E.0020.0002.28E5] # BRAILLE PATTERN DOTS-13678
+28E6 ; [*0D6F.0020.0002.28E6] # BRAILLE PATTERN DOTS-23678
+28E7 ; [*0D70.0020.0002.28E7] # BRAILLE PATTERN DOTS-123678
+28E8 ; [*0D71.0020.0002.28E8] # BRAILLE PATTERN DOTS-4678
+28E9 ; [*0D72.0020.0002.28E9] # BRAILLE PATTERN DOTS-14678
+28EA ; [*0D73.0020.0002.28EA] # BRAILLE PATTERN DOTS-24678
+28EB ; [*0D74.0020.0002.28EB] # BRAILLE PATTERN DOTS-124678
+28EC ; [*0D75.0020.0002.28EC] # BRAILLE PATTERN DOTS-34678
+28ED ; [*0D76.0020.0002.28ED] # BRAILLE PATTERN DOTS-134678
+28EE ; [*0D77.0020.0002.28EE] # BRAILLE PATTERN DOTS-234678
+28EF ; [*0D78.0020.0002.28EF] # BRAILLE PATTERN DOTS-1234678
+28F0 ; [*0D79.0020.0002.28F0] # BRAILLE PATTERN DOTS-5678
+28F1 ; [*0D7A.0020.0002.28F1] # BRAILLE PATTERN DOTS-15678
+28F2 ; [*0D7B.0020.0002.28F2] # BRAILLE PATTERN DOTS-25678
+28F3 ; [*0D7C.0020.0002.28F3] # BRAILLE PATTERN DOTS-125678
+28F4 ; [*0D7D.0020.0002.28F4] # BRAILLE PATTERN DOTS-35678
+28F5 ; [*0D7E.0020.0002.28F5] # BRAILLE PATTERN DOTS-135678
+28F6 ; [*0D7F.0020.0002.28F6] # BRAILLE PATTERN DOTS-235678
+28F7 ; [*0D80.0020.0002.28F7] # BRAILLE PATTERN DOTS-1235678
+28F8 ; [*0D81.0020.0002.28F8] # BRAILLE PATTERN DOTS-45678
+28F9 ; [*0D82.0020.0002.28F9] # BRAILLE PATTERN DOTS-145678
+28FA ; [*0D83.0020.0002.28FA] # BRAILLE PATTERN DOTS-245678
+28FB ; [*0D84.0020.0002.28FB] # BRAILLE PATTERN DOTS-1245678
+28FC ; [*0D85.0020.0002.28FC] # BRAILLE PATTERN DOTS-345678
+28FD ; [*0D86.0020.0002.28FD] # BRAILLE PATTERN DOTS-1345678
+28FE ; [*0D87.0020.0002.28FE] # BRAILLE PATTERN DOTS-2345678
+28FF ; [*0D88.0020.0002.28FF] # BRAILLE PATTERN DOTS-12345678
+2900 ; [*0A4D.0020.0002.2900] # RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
+2901 ; [*0A4E.0020.0002.2901] # RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
+2902 ; [*0A4F.0020.0002.2902] # LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
+2903 ; [*0A50.0020.0002.2903] # RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
+2904 ; [*0A51.0020.0002.2904] # LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
+2905 ; [*0A52.0020.0002.2905] # RIGHTWARDS TWO-HEADED ARROW FROM BAR
+2906 ; [*0A53.0020.0002.2906] # LEFTWARDS DOUBLE ARROW FROM BAR
+2907 ; [*0A54.0020.0002.2907] # RIGHTWARDS DOUBLE ARROW FROM BAR
+2908 ; [*0A55.0020.0002.2908] # DOWNWARDS ARROW WITH HORIZONTAL STROKE
+2909 ; [*0A56.0020.0002.2909] # UPWARDS ARROW WITH HORIZONTAL STROKE
+290A ; [*0A57.0020.0002.290A] # UPWARDS TRIPLE ARROW
+290B ; [*0A58.0020.0002.290B] # DOWNWARDS TRIPLE ARROW
+290C ; [*0A59.0020.0002.290C] # LEFTWARDS DOUBLE DASH ARROW
+290D ; [*0A5A.0020.0002.290D] # RIGHTWARDS DOUBLE DASH ARROW
+290E ; [*0A5B.0020.0002.290E] # LEFTWARDS TRIPLE DASH ARROW
+290F ; [*0A5C.0020.0002.290F] # RIGHTWARDS TRIPLE DASH ARROW
+2910 ; [*0A5D.0020.0002.2910] # RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
+2911 ; [*0A5E.0020.0002.2911] # RIGHTWARDS ARROW WITH DOTTED STEM
+2912 ; [*0A5F.0020.0002.2912] # UPWARDS ARROW TO BAR
+2913 ; [*0A60.0020.0002.2913] # DOWNWARDS ARROW TO BAR
+2914 ; [*0A61.0020.0002.2914] # RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
+2915 ; [*0A62.0020.0002.2915] # RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2916 ; [*0A63.0020.0002.2916] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL
+2917 ; [*0A64.0020.0002.2917] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
+2918 ; [*0A65.0020.0002.2918] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2919 ; [*0A66.0020.0002.2919] # LEFTWARDS ARROW-TAIL
+291A ; [*0A67.0020.0002.291A] # RIGHTWARDS ARROW-TAIL
+291B ; [*0A68.0020.0002.291B] # LEFTWARDS DOUBLE ARROW-TAIL
+291C ; [*0A69.0020.0002.291C] # RIGHTWARDS DOUBLE ARROW-TAIL
+291D ; [*0A6A.0020.0002.291D] # LEFTWARDS ARROW TO BLACK DIAMOND
+291E ; [*0A6B.0020.0002.291E] # RIGHTWARDS ARROW TO BLACK DIAMOND
+291F ; [*0A6C.0020.0002.291F] # LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
+2920 ; [*0A6D.0020.0002.2920] # RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
+2921 ; [*0A6E.0020.0002.2921] # NORTH WEST AND SOUTH EAST ARROW
+2922 ; [*0A6F.0020.0002.2922] # NORTH EAST AND SOUTH WEST ARROW
+2923 ; [*0A70.0020.0002.2923] # NORTH WEST ARROW WITH HOOK
+2924 ; [*0A71.0020.0002.2924] # NORTH EAST ARROW WITH HOOK
+2925 ; [*0A72.0020.0002.2925] # SOUTH EAST ARROW WITH HOOK
+2926 ; [*0A73.0020.0002.2926] # SOUTH WEST ARROW WITH HOOK
+2927 ; [*0A74.0020.0002.2927] # NORTH WEST ARROW AND NORTH EAST ARROW
+2928 ; [*0A75.0020.0002.2928] # NORTH EAST ARROW AND SOUTH EAST ARROW
+2929 ; [*0A76.0020.0002.2929] # SOUTH EAST ARROW AND SOUTH WEST ARROW
+292A ; [*0A77.0020.0002.292A] # SOUTH WEST ARROW AND NORTH WEST ARROW
+292B ; [*0A78.0020.0002.292B] # RISING DIAGONAL CROSSING FALLING DIAGONAL
+292C ; [*0A79.0020.0002.292C] # FALLING DIAGONAL CROSSING RISING DIAGONAL
+292D ; [*0A7A.0020.0002.292D] # SOUTH EAST ARROW CROSSING NORTH EAST ARROW
+292E ; [*0A7B.0020.0002.292E] # NORTH EAST ARROW CROSSING SOUTH EAST ARROW
+292F ; [*0A7C.0020.0002.292F] # FALLING DIAGONAL CROSSING NORTH EAST ARROW
+2930 ; [*0A7D.0020.0002.2930] # RISING DIAGONAL CROSSING SOUTH EAST ARROW
+2931 ; [*0A7E.0020.0002.2931] # NORTH EAST ARROW CROSSING NORTH WEST ARROW
+2932 ; [*0A7F.0020.0002.2932] # NORTH WEST ARROW CROSSING NORTH EAST ARROW
+2933 ; [*0A80.0020.0002.2933] # WAVE ARROW POINTING DIRECTLY RIGHT
+2934 ; [*0A81.0020.0002.2934] # ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
+2935 ; [*0A82.0020.0002.2935] # ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
+2936 ; [*0A83.0020.0002.2936] # ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
+2937 ; [*0A84.0020.0002.2937] # ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
+2938 ; [*0A85.0020.0002.2938] # RIGHT-SIDE ARC CLOCKWISE ARROW
+2939 ; [*0A86.0020.0002.2939] # LEFT-SIDE ARC ANTICLOCKWISE ARROW
+293A ; [*0A87.0020.0002.293A] # TOP ARC ANTICLOCKWISE ARROW
+293B ; [*0A88.0020.0002.293B] # BOTTOM ARC ANTICLOCKWISE ARROW
+293C ; [*0A89.0020.0002.293C] # TOP ARC CLOCKWISE ARROW WITH MINUS
+293D ; [*0A8A.0020.0002.293D] # TOP ARC ANTICLOCKWISE ARROW WITH PLUS
+293E ; [*0A8B.0020.0002.293E] # LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW
+293F ; [*0A8C.0020.0002.293F] # LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW
+2940 ; [*0A8D.0020.0002.2940] # ANTICLOCKWISE CLOSED CIRCLE ARROW
+2941 ; [*0A8E.0020.0002.2941] # CLOCKWISE CLOSED CIRCLE ARROW
+2942 ; [*0A8F.0020.0002.2942] # RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
+2943 ; [*0A90.0020.0002.2943] # LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
+2944 ; [*0A91.0020.0002.2944] # SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
+2945 ; [*0A92.0020.0002.2945] # RIGHTWARDS ARROW WITH PLUS BELOW
+2946 ; [*0A93.0020.0002.2946] # LEFTWARDS ARROW WITH PLUS BELOW
+2947 ; [*0A94.0020.0002.2947] # RIGHTWARDS ARROW THROUGH X
+2948 ; [*0A95.0020.0002.2948] # LEFT RIGHT ARROW THROUGH SMALL CIRCLE
+2949 ; [*0A96.0020.0002.2949] # UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
+294A ; [*0A97.0020.0002.294A] # LEFT BARB UP RIGHT BARB DOWN HARPOON
+294B ; [*0A98.0020.0002.294B] # LEFT BARB DOWN RIGHT BARB UP HARPOON
+294C ; [*0A99.0020.0002.294C] # UP BARB RIGHT DOWN BARB LEFT HARPOON
+294D ; [*0A9A.0020.0002.294D] # UP BARB LEFT DOWN BARB RIGHT HARPOON
+294E ; [*0A9B.0020.0002.294E] # LEFT BARB UP RIGHT BARB UP HARPOON
+294F ; [*0A9C.0020.0002.294F] # UP BARB RIGHT DOWN BARB RIGHT HARPOON
+2950 ; [*0A9D.0020.0002.2950] # LEFT BARB DOWN RIGHT BARB DOWN HARPOON
+2951 ; [*0A9E.0020.0002.2951] # UP BARB LEFT DOWN BARB LEFT HARPOON
+2952 ; [*0A9F.0020.0002.2952] # LEFTWARDS HARPOON WITH BARB UP TO BAR
+2953 ; [*0AA0.0020.0002.2953] # RIGHTWARDS HARPOON WITH BARB UP TO BAR
+2954 ; [*0AA1.0020.0002.2954] # UPWARDS HARPOON WITH BARB RIGHT TO BAR
+2955 ; [*0AA2.0020.0002.2955] # DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
+2956 ; [*0AA3.0020.0002.2956] # LEFTWARDS HARPOON WITH BARB DOWN TO BAR
+2957 ; [*0AA4.0020.0002.2957] # RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
+2958 ; [*0AA5.0020.0002.2958] # UPWARDS HARPOON WITH BARB LEFT TO BAR
+2959 ; [*0AA6.0020.0002.2959] # DOWNWARDS HARPOON WITH BARB LEFT TO BAR
+295A ; [*0AA7.0020.0002.295A] # LEFTWARDS HARPOON WITH BARB UP FROM BAR
+295B ; [*0AA8.0020.0002.295B] # RIGHTWARDS HARPOON WITH BARB UP FROM BAR
+295C ; [*0AA9.0020.0002.295C] # UPWARDS HARPOON WITH BARB RIGHT FROM BAR
+295D ; [*0AAA.0020.0002.295D] # DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
+295E ; [*0AAB.0020.0002.295E] # LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
+295F ; [*0AAC.0020.0002.295F] # RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
+2960 ; [*0AAD.0020.0002.2960] # UPWARDS HARPOON WITH BARB LEFT FROM BAR
+2961 ; [*0AAE.0020.0002.2961] # DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
+2962 ; [*0AAF.0020.0002.2962] # LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
+2963 ; [*0AB0.0020.0002.2963] # UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
+2964 ; [*0AB1.0020.0002.2964] # RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
+2965 ; [*0AB2.0020.0002.2965] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
+2966 ; [*0AB3.0020.0002.2966] # LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
+2967 ; [*0AB4.0020.0002.2967] # LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
+2968 ; [*0AB5.0020.0002.2968] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
+2969 ; [*0AB6.0020.0002.2969] # RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
+296A ; [*0AB7.0020.0002.296A] # LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
+296B ; [*0AB8.0020.0002.296B] # LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
+296C ; [*0AB9.0020.0002.296C] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
+296D ; [*0ABA.0020.0002.296D] # RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
+296E ; [*0ABB.0020.0002.296E] # UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
+296F ; [*0ABC.0020.0002.296F] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
+2970 ; [*0ABD.0020.0002.2970] # RIGHT DOUBLE ARROW WITH ROUNDED HEAD
+2971 ; [*0ABE.0020.0002.2971] # EQUALS SIGN ABOVE RIGHTWARDS ARROW
+2972 ; [*0ABF.0020.0002.2972] # TILDE OPERATOR ABOVE RIGHTWARDS ARROW
+2973 ; [*0AC0.0020.0002.2973] # LEFTWARDS ARROW ABOVE TILDE OPERATOR
+2974 ; [*0AC1.0020.0002.2974] # RIGHTWARDS ARROW ABOVE TILDE OPERATOR
+2975 ; [*0AC2.0020.0002.2975] # RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
+2976 ; [*0AC3.0020.0002.2976] # LESS-THAN ABOVE LEFTWARDS ARROW
+2977 ; [*0AC4.0020.0002.2977] # LEFTWARDS ARROW THROUGH LESS-THAN
+2978 ; [*0AC5.0020.0002.2978] # GREATER-THAN ABOVE RIGHTWARDS ARROW
+2979 ; [*0AC6.0020.0002.2979] # SUBSET ABOVE RIGHTWARDS ARROW
+297A ; [*0AC7.0020.0002.297A] # LEFTWARDS ARROW THROUGH SUBSET
+297B ; [*0AC8.0020.0002.297B] # SUPERSET ABOVE LEFTWARDS ARROW
+297C ; [*0AC9.0020.0002.297C] # LEFT FISH TAIL
+297D ; [*0ACA.0020.0002.297D] # RIGHT FISH TAIL
+297E ; [*0ACB.0020.0002.297E] # UP FISH TAIL
+297F ; [*0ACC.0020.0002.297F] # DOWN FISH TAIL
+2980 ; [*0ACD.0020.0002.2980] # TRIPLE VERTICAL BAR DELIMITER
+2981 ; [*0ACE.0020.0002.2981] # Z NOTATION SPOT
+2982 ; [*0ACF.0020.0002.2982] # Z NOTATION TYPE COLON
+2983 ; [*030B.0020.0002.2983] # LEFT WHITE CURLY BRACKET
+2984 ; [*030C.0020.0002.2984] # RIGHT WHITE CURLY BRACKET
+2985 ; [*030D.0020.0002.2985] # LEFT WHITE PARENTHESIS
+2986 ; [*030E.0020.0002.2986] # RIGHT WHITE PARENTHESIS
+2987 ; [*030F.0020.0002.2987] # Z NOTATION LEFT IMAGE BRACKET
+2988 ; [*0310.0020.0002.2988] # Z NOTATION RIGHT IMAGE BRACKET
+2989 ; [*0311.0020.0002.2989] # Z NOTATION LEFT BINDING BRACKET
+298A ; [*0312.0020.0002.298A] # Z NOTATION RIGHT BINDING BRACKET
+298B ; [*0313.0020.0002.298B] # LEFT SQUARE BRACKET WITH UNDERBAR
+298C ; [*0314.0020.0002.298C] # RIGHT SQUARE BRACKET WITH UNDERBAR
+298D ; [*0315.0020.0002.298D] # LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
+298E ; [*0316.0020.0002.298E] # RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+298F ; [*0317.0020.0002.298F] # LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+2990 ; [*0318.0020.0002.2990] # RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
+2991 ; [*0319.0020.0002.2991] # LEFT ANGLE BRACKET WITH DOT
+2992 ; [*031A.0020.0002.2992] # RIGHT ANGLE BRACKET WITH DOT
+2993 ; [*031B.0020.0002.2993] # LEFT ARC LESS-THAN BRACKET
+2994 ; [*031C.0020.0002.2994] # RIGHT ARC GREATER-THAN BRACKET
+2995 ; [*031D.0020.0002.2995] # DOUBLE LEFT ARC GREATER-THAN BRACKET
+2996 ; [*031E.0020.0002.2996] # DOUBLE RIGHT ARC LESS-THAN BRACKET
+2997 ; [*031F.0020.0002.2997] # LEFT BLACK TORTOISE SHELL BRACKET
+2998 ; [*0320.0020.0002.2998] # RIGHT BLACK TORTOISE SHELL BRACKET
+2999 ; [*0AD0.0020.0002.2999] # DOTTED FENCE
+299A ; [*0AD1.0020.0002.299A] # VERTICAL ZIGZAG LINE
+299B ; [*0AD2.0020.0002.299B] # MEASURED ANGLE OPENING LEFT
+299C ; [*0AD3.0020.0002.299C] # RIGHT ANGLE VARIANT WITH SQUARE
+299D ; [*0AD4.0020.0002.299D] # MEASURED RIGHT ANGLE WITH DOT
+299E ; [*0AD5.0020.0002.299E] # ANGLE WITH S INSIDE
+299F ; [*0AD6.0020.0002.299F] # ACUTE ANGLE
+29A0 ; [*0AD7.0020.0002.29A0] # SPHERICAL ANGLE OPENING LEFT
+29A1 ; [*0AD8.0020.0002.29A1] # SPHERICAL ANGLE OPENING UP
+29A2 ; [*0AD9.0020.0002.29A2] # TURNED ANGLE
+29A3 ; [*0ADA.0020.0002.29A3] # REVERSED ANGLE
+29A4 ; [*0ADB.0020.0002.29A4] # ANGLE WITH UNDERBAR
+29A5 ; [*0ADC.0020.0002.29A5] # REVERSED ANGLE WITH UNDERBAR
+29A6 ; [*0ADD.0020.0002.29A6] # OBLIQUE ANGLE OPENING UP
+29A7 ; [*0ADE.0020.0002.29A7] # OBLIQUE ANGLE OPENING DOWN
+29A8 ; [*0ADF.0020.0002.29A8] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
+29A9 ; [*0AE0.0020.0002.29A9] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
+29AA ; [*0AE1.0020.0002.29AA] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
+29AB ; [*0AE2.0020.0002.29AB] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
+29AC ; [*0AE3.0020.0002.29AC] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
+29AD ; [*0AE4.0020.0002.29AD] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
+29AE ; [*0AE5.0020.0002.29AE] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
+29AF ; [*0AE6.0020.0002.29AF] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
+29B0 ; [*0AE7.0020.0002.29B0] # REVERSED EMPTY SET
+29B1 ; [*0AE8.0020.0002.29B1] # EMPTY SET WITH OVERBAR
+29B2 ; [*0AE9.0020.0002.29B2] # EMPTY SET WITH SMALL CIRCLE ABOVE
+29B3 ; [*0AEA.0020.0002.29B3] # EMPTY SET WITH RIGHT ARROW ABOVE
+29B4 ; [*0AEB.0020.0002.29B4] # EMPTY SET WITH LEFT ARROW ABOVE
+29B5 ; [*0AEC.0020.0002.29B5] # CIRCLE WITH HORIZONTAL BAR
+29B6 ; [*0AED.0020.0002.29B6] # CIRCLED VERTICAL BAR
+29B7 ; [*0AEE.0020.0002.29B7] # CIRCLED PARALLEL
+29B8 ; [*0AEF.0020.0002.29B8] # CIRCLED REVERSE SOLIDUS
+29B9 ; [*0AF0.0020.0002.29B9] # CIRCLED PERPENDICULAR
+29BA ; [*0AF1.0020.0002.29BA] # CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR
+29BB ; [*0AF2.0020.0002.29BB] # CIRCLE WITH SUPERIMPOSED X
+29BC ; [*0AF3.0020.0002.29BC] # CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
+29BD ; [*0AF4.0020.0002.29BD] # UP ARROW THROUGH CIRCLE
+29BE ; [*0AF5.0020.0002.29BE] # CIRCLED WHITE BULLET
+29BF ; [*0AF6.0020.0002.29BF] # CIRCLED BULLET
+29C0 ; [*0AF7.0020.0002.29C0] # CIRCLED LESS-THAN
+29C1 ; [*0AF8.0020.0002.29C1] # CIRCLED GREATER-THAN
+29C2 ; [*0AF9.0020.0002.29C2] # CIRCLE WITH SMALL CIRCLE TO THE RIGHT
+29C3 ; [*0AFA.0020.0002.29C3] # CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
+29C4 ; [*0AFB.0020.0002.29C4] # SQUARED RISING DIAGONAL SLASH
+29C5 ; [*0AFC.0020.0002.29C5] # SQUARED FALLING DIAGONAL SLASH
+29C6 ; [*0AFD.0020.0002.29C6] # SQUARED ASTERISK
+29C7 ; [*0AFE.0020.0002.29C7] # SQUARED SMALL CIRCLE
+29C8 ; [*0AFF.0020.0002.29C8] # SQUARED SQUARE
+29C9 ; [*0B00.0020.0002.29C9] # TWO JOINED SQUARES
+29CA ; [*0B01.0020.0002.29CA] # TRIANGLE WITH DOT ABOVE
+29CB ; [*0B02.0020.0002.29CB] # TRIANGLE WITH UNDERBAR
+29CC ; [*0B03.0020.0002.29CC] # S IN TRIANGLE
+29CD ; [*0B04.0020.0002.29CD] # TRIANGLE WITH SERIFS AT BOTTOM
+29CE ; [*0B05.0020.0002.29CE] # RIGHT TRIANGLE ABOVE LEFT TRIANGLE
+29CF ; [*0B06.0020.0002.29CF] # LEFT TRIANGLE BESIDE VERTICAL BAR
+29D0 ; [*0B07.0020.0002.29D0] # VERTICAL BAR BESIDE RIGHT TRIANGLE
+29D1 ; [*0B08.0020.0002.29D1] # BOWTIE WITH LEFT HALF BLACK
+29D2 ; [*0B09.0020.0002.29D2] # BOWTIE WITH RIGHT HALF BLACK
+29D3 ; [*0B0A.0020.0002.29D3] # BLACK BOWTIE
+29D4 ; [*0B0B.0020.0002.29D4] # TIMES WITH LEFT HALF BLACK
+29D5 ; [*0B0C.0020.0002.29D5] # TIMES WITH RIGHT HALF BLACK
+29D6 ; [*0B0D.0020.0002.29D6] # WHITE HOURGLASS
+29D7 ; [*0B0E.0020.0002.29D7] # BLACK HOURGLASS
+29D8 ; [*0364.0020.0002.29D8] # LEFT WIGGLY FENCE
+29D9 ; [*0365.0020.0002.29D9] # RIGHT WIGGLY FENCE
+29DA ; [*0366.0020.0002.29DA] # LEFT DOUBLE WIGGLY FENCE
+29DB ; [*0367.0020.0002.29DB] # RIGHT DOUBLE WIGGLY FENCE
+29DC ; [*0B0F.0020.0002.29DC] # INCOMPLETE INFINITY
+29DD ; [*0B10.0020.0002.29DD] # TIE OVER INFINITY
+29DE ; [*0B11.0020.0002.29DE] # INFINITY NEGATED WITH VERTICAL BAR
+29DF ; [*0B12.0020.0002.29DF] # DOUBLE-ENDED MULTIMAP
+29E0 ; [*0B13.0020.0002.29E0] # SQUARE WITH CONTOURED OUTLINE
+29E1 ; [*0B14.0020.0002.29E1] # INCREASES AS
+29E2 ; [*0B15.0020.0002.29E2] # SHUFFLE PRODUCT
+29E3 ; [*0B16.0020.0002.29E3] # EQUALS SIGN AND SLANTED PARALLEL
+29E4 ; [*0B17.0020.0002.29E4] # EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
+29E5 ; [*0B18.0020.0002.29E5] # IDENTICAL TO AND SLANTED PARALLEL
+29E6 ; [*0B19.0020.0002.29E6] # GLEICH STARK
+29E7 ; [*0B1A.0020.0002.29E7] # THERMODYNAMIC
+29E8 ; [*0B1B.0020.0002.29E8] # DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
+29E9 ; [*0B1C.0020.0002.29E9] # DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
+29EA ; [*0B1D.0020.0002.29EA] # BLACK DIAMOND WITH DOWN ARROW
+29EB ; [*0B1E.0020.0002.29EB] # BLACK LOZENGE
+29EC ; [*0B1F.0020.0002.29EC] # WHITE CIRCLE WITH DOWN ARROW
+29ED ; [*0B20.0020.0002.29ED] # BLACK CIRCLE WITH DOWN ARROW
+29EE ; [*0B21.0020.0002.29EE] # ERROR-BARRED WHITE SQUARE
+29EF ; [*0B22.0020.0002.29EF] # ERROR-BARRED BLACK SQUARE
+29F0 ; [*0B23.0020.0002.29F0] # ERROR-BARRED WHITE DIAMOND
+29F1 ; [*0B24.0020.0002.29F1] # ERROR-BARRED BLACK DIAMOND
+29F2 ; [*0B25.0020.0002.29F2] # ERROR-BARRED WHITE CIRCLE
+29F3 ; [*0B26.0020.0002.29F3] # ERROR-BARRED BLACK CIRCLE
+29F4 ; [*0B27.0020.0002.29F4] # RULE-DELAYED
+29F5 ; [*0B28.0020.0002.29F5] # REVERSE SOLIDUS OPERATOR
+29F6 ; [*0B29.0020.0002.29F6] # SOLIDUS WITH OVERBAR
+29F7 ; [*0B2A.0020.0002.29F7] # REVERSE SOLIDUS WITH HORIZONTAL STROKE
+29F8 ; [*0B2B.0020.0002.29F8] # BIG SOLIDUS
+29F9 ; [*0B2C.0020.0002.29F9] # BIG REVERSE SOLIDUS
+29FA ; [*0B2D.0020.0002.29FA] # DOUBLE PLUS
+29FB ; [*0B2E.0020.0002.29FB] # TRIPLE PLUS
+29FC ; [*0309.0020.0002.29FC] # LEFT-POINTING CURVED ANGLE BRACKET
+29FD ; [*030A.0020.0002.29FD] # RIGHT-POINTING CURVED ANGLE BRACKET
+29FE ; [*0B2F.0020.0002.29FE] # TINY
+29FF ; [*0B30.0020.0002.29FF] # MINY
+2A00 ; [*0B31.0020.0002.2A00] # N-ARY CIRCLED DOT OPERATOR
+2A01 ; [*0B32.0020.0002.2A01] # N-ARY CIRCLED PLUS OPERATOR
+2A02 ; [*0B33.0020.0002.2A02] # N-ARY CIRCLED TIMES OPERATOR
+2A03 ; [*0B34.0020.0002.2A03] # N-ARY UNION OPERATOR WITH DOT
+2A04 ; [*0B35.0020.0002.2A04] # N-ARY UNION OPERATOR WITH PLUS
+2A05 ; [*0B36.0020.0002.2A05] # N-ARY SQUARE INTERSECTION OPERATOR
+2A06 ; [*0B37.0020.0002.2A06] # N-ARY SQUARE UNION OPERATOR
+2A07 ; [*0B38.0020.0002.2A07] # TWO LOGICAL AND OPERATOR
+2A08 ; [*0B39.0020.0002.2A08] # TWO LOGICAL OR OPERATOR
+2A09 ; [*0B3A.0020.0002.2A09] # N-ARY TIMES OPERATOR
+2A0A ; [*0B3B.0020.0002.2A0A] # MODULO TWO SUM
+2A0B ; [*0B3C.0020.0002.2A0B] # SUMMATION WITH INTEGRAL
+2A0C ; [*05C2.0020.0004.2A0C][*05C2.0020.0004.2A0C][*05C2.0020.001F.2A0C][*05C2.0020.001F.2A0C] # QUADRUPLE INTEGRAL OPERATOR
+2A0D ; [*0B3D.0020.0002.2A0D] # FINITE PART INTEGRAL
+2A0E ; [*0B3E.0020.0002.2A0E] # INTEGRAL WITH DOUBLE STROKE
+2A0F ; [*0B3F.0020.0002.2A0F] # INTEGRAL AVERAGE WITH SLASH
+2A10 ; [*0B40.0020.0002.2A10] # CIRCULATION FUNCTION
+2A11 ; [*0B41.0020.0002.2A11] # ANTICLOCKWISE INTEGRATION
+2A12 ; [*0B42.0020.0002.2A12] # LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
+2A13 ; [*0B43.0020.0002.2A13] # LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
+2A14 ; [*0B44.0020.0002.2A14] # LINE INTEGRATION NOT INCLUDING THE POLE
+2A15 ; [*0B45.0020.0002.2A15] # INTEGRAL AROUND A POINT OPERATOR
+2A16 ; [*0B46.0020.0002.2A16] # QUATERNION INTEGRAL OPERATOR
+2A17 ; [*0B47.0020.0002.2A17] # INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
+2A18 ; [*0B48.0020.0002.2A18] # INTEGRAL WITH TIMES SIGN
+2A19 ; [*0B49.0020.0002.2A19] # INTEGRAL WITH INTERSECTION
+2A1A ; [*0B4A.0020.0002.2A1A] # INTEGRAL WITH UNION
+2A1B ; [*0B4B.0020.0002.2A1B] # INTEGRAL WITH OVERBAR
+2A1C ; [*0B4C.0020.0002.2A1C] # INTEGRAL WITH UNDERBAR
+2A1D ; [*0B4D.0020.0002.2A1D] # JOIN
+2A1E ; [*0B4E.0020.0002.2A1E] # LARGE LEFT TRIANGLE OPERATOR
+2A1F ; [*0B4F.0020.0002.2A1F] # Z NOTATION SCHEMA COMPOSITION
+2A20 ; [*0B50.0020.0002.2A20] # Z NOTATION SCHEMA PIPING
+2A21 ; [*0B51.0020.0002.2A21] # Z NOTATION SCHEMA PROJECTION
+2A22 ; [*0B52.0020.0002.2A22] # PLUS SIGN WITH SMALL CIRCLE ABOVE
+2A23 ; [*0B53.0020.0002.2A23] # PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
+2A24 ; [*0B54.0020.0002.2A24] # PLUS SIGN WITH TILDE ABOVE
+2A25 ; [*0B55.0020.0002.2A25] # PLUS SIGN WITH DOT BELOW
+2A26 ; [*0B56.0020.0002.2A26] # PLUS SIGN WITH TILDE BELOW
+2A27 ; [*0B57.0020.0002.2A27] # PLUS SIGN WITH SUBSCRIPT TWO
+2A28 ; [*0B58.0020.0002.2A28] # PLUS SIGN WITH BLACK TRIANGLE
+2A29 ; [*0B59.0020.0002.2A29] # MINUS SIGN WITH COMMA ABOVE
+2A2A ; [*0B5A.0020.0002.2A2A] # MINUS SIGN WITH DOT BELOW
+2A2B ; [*0B5B.0020.0002.2A2B] # MINUS SIGN WITH FALLING DOTS
+2A2C ; [*0B5C.0020.0002.2A2C] # MINUS SIGN WITH RISING DOTS
+2A2D ; [*0B5D.0020.0002.2A2D] # PLUS SIGN IN LEFT HALF CIRCLE
+2A2E ; [*0B5E.0020.0002.2A2E] # PLUS SIGN IN RIGHT HALF CIRCLE
+2A2F ; [*0B5F.0020.0002.2A2F] # VECTOR OR CROSS PRODUCT
+2A30 ; [*0B60.0020.0002.2A30] # MULTIPLICATION SIGN WITH DOT ABOVE
+2A31 ; [*0B61.0020.0002.2A31] # MULTIPLICATION SIGN WITH UNDERBAR
+2A32 ; [*0B62.0020.0002.2A32] # SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
+2A33 ; [*0B63.0020.0002.2A33] # SMASH PRODUCT
+2A34 ; [*0B64.0020.0002.2A34] # MULTIPLICATION SIGN IN LEFT HALF CIRCLE
+2A35 ; [*0B65.0020.0002.2A35] # MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
+2A36 ; [*0B66.0020.0002.2A36] # CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
+2A37 ; [*0B67.0020.0002.2A37] # MULTIPLICATION SIGN IN DOUBLE CIRCLE
+2A38 ; [*0B68.0020.0002.2A38] # CIRCLED DIVISION SIGN
+2A39 ; [*0B69.0020.0002.2A39] # PLUS SIGN IN TRIANGLE
+2A3A ; [*0B6A.0020.0002.2A3A] # MINUS SIGN IN TRIANGLE
+2A3B ; [*0B6B.0020.0002.2A3B] # MULTIPLICATION SIGN IN TRIANGLE
+2A3C ; [*0B6C.0020.0002.2A3C] # INTERIOR PRODUCT
+2A3D ; [*0B6D.0020.0002.2A3D] # RIGHTHAND INTERIOR PRODUCT
+2A3E ; [*0B6E.0020.0002.2A3E] # Z NOTATION RELATIONAL COMPOSITION
+2A3F ; [*0B6F.0020.0002.2A3F] # AMALGAMATION OR COPRODUCT
+2A40 ; [*0B70.0020.0002.2A40] # INTERSECTION WITH DOT
+2A41 ; [*0B71.0020.0002.2A41] # UNION WITH MINUS SIGN
+2A42 ; [*0B72.0020.0002.2A42] # UNION WITH OVERBAR
+2A43 ; [*0B73.0020.0002.2A43] # INTERSECTION WITH OVERBAR
+2A44 ; [*0B74.0020.0002.2A44] # INTERSECTION WITH LOGICAL AND
+2A45 ; [*0B75.0020.0002.2A45] # UNION WITH LOGICAL OR
+2A46 ; [*0B76.0020.0002.2A46] # UNION ABOVE INTERSECTION
+2A47 ; [*0B77.0020.0002.2A47] # INTERSECTION ABOVE UNION
+2A48 ; [*0B78.0020.0002.2A48] # UNION ABOVE BAR ABOVE INTERSECTION
+2A49 ; [*0B79.0020.0002.2A49] # INTERSECTION ABOVE BAR ABOVE UNION
+2A4A ; [*0B7A.0020.0002.2A4A] # UNION BESIDE AND JOINED WITH UNION
+2A4B ; [*0B7B.0020.0002.2A4B] # INTERSECTION BESIDE AND JOINED WITH INTERSECTION
+2A4C ; [*0B7C.0020.0002.2A4C] # CLOSED UNION WITH SERIFS
+2A4D ; [*0B7D.0020.0002.2A4D] # CLOSED INTERSECTION WITH SERIFS
+2A4E ; [*0B7E.0020.0002.2A4E] # DOUBLE SQUARE INTERSECTION
+2A4F ; [*0B7F.0020.0002.2A4F] # DOUBLE SQUARE UNION
+2A50 ; [*0B80.0020.0002.2A50] # CLOSED UNION WITH SERIFS AND SMASH PRODUCT
+2A51 ; [*0B81.0020.0002.2A51] # LOGICAL AND WITH DOT ABOVE
+2A52 ; [*0B82.0020.0002.2A52] # LOGICAL OR WITH DOT ABOVE
+2A53 ; [*0B83.0020.0002.2A53] # DOUBLE LOGICAL AND
+2A54 ; [*0B84.0020.0002.2A54] # DOUBLE LOGICAL OR
+2A55 ; [*0B85.0020.0002.2A55] # TWO INTERSECTING LOGICAL AND
+2A56 ; [*0B86.0020.0002.2A56] # TWO INTERSECTING LOGICAL OR
+2A57 ; [*0B87.0020.0002.2A57] # SLOPING LARGE OR
+2A58 ; [*0B88.0020.0002.2A58] # SLOPING LARGE AND
+2A59 ; [*0B89.0020.0002.2A59] # LOGICAL OR OVERLAPPING LOGICAL AND
+2A5A ; [*0B8A.0020.0002.2A5A] # LOGICAL AND WITH MIDDLE STEM
+2A5B ; [*0B8B.0020.0002.2A5B] # LOGICAL OR WITH MIDDLE STEM
+2A5C ; [*0B8C.0020.0002.2A5C] # LOGICAL AND WITH HORIZONTAL DASH
+2A5D ; [*0B8D.0020.0002.2A5D] # LOGICAL OR WITH HORIZONTAL DASH
+2A5E ; [*0B8E.0020.0002.2A5E] # LOGICAL AND WITH DOUBLE OVERBAR
+2A5F ; [*0B8F.0020.0002.2A5F] # LOGICAL AND WITH UNDERBAR
+2A60 ; [*0B90.0020.0002.2A60] # LOGICAL AND WITH DOUBLE UNDERBAR
+2A61 ; [*0B91.0020.0002.2A61] # SMALL VEE WITH UNDERBAR
+2A62 ; [*0B92.0020.0002.2A62] # LOGICAL OR WITH DOUBLE OVERBAR
+2A63 ; [*0B93.0020.0002.2A63] # LOGICAL OR WITH DOUBLE UNDERBAR
+2A64 ; [*0B94.0020.0002.2A64] # Z NOTATION DOMAIN ANTIRESTRICTION
+2A65 ; [*0B95.0020.0002.2A65] # Z NOTATION RANGE ANTIRESTRICTION
+2A66 ; [*0B96.0020.0002.2A66] # EQUALS SIGN WITH DOT BELOW
+2A67 ; [*0B97.0020.0002.2A67] # IDENTICAL WITH DOT ABOVE
+2A68 ; [*0B98.0020.0002.2A68] # TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE
+2A69 ; [*0B99.0020.0002.2A69] # TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE
+2A6A ; [*0B9A.0020.0002.2A6A] # TILDE OPERATOR WITH DOT ABOVE
+2A6B ; [*0B9B.0020.0002.2A6B] # TILDE OPERATOR WITH RISING DOTS
+2A6C ; [*0B9C.0020.0002.2A6C] # SIMILAR MINUS SIMILAR
+2A6D ; [*0B9D.0020.0002.2A6D] # CONGRUENT WITH DOT ABOVE
+2A6E ; [*0B9E.0020.0002.2A6E] # EQUALS WITH ASTERISK
+2A6F ; [*0B9F.0020.0002.2A6F] # ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
+2A70 ; [*0BA0.0020.0002.2A70] # APPROXIMATELY EQUAL OR EQUAL TO
+2A71 ; [*0BA1.0020.0002.2A71] # EQUALS SIGN ABOVE PLUS SIGN
+2A72 ; [*0BA2.0020.0002.2A72] # PLUS SIGN ABOVE EQUALS SIGN
+2A73 ; [*0BA3.0020.0002.2A73] # EQUALS SIGN ABOVE TILDE OPERATOR
+2A74 ; [*0237.0020.0004.2A74][*0237.0020.0004.2A74][*05A1.0020.001F.2A74] # DOUBLE COLON EQUAL
+2A75 ; [*05A1.0020.0004.2A75][*05A1.0020.0004.2A75] # TWO CONSECUTIVE EQUALS SIGNS
+2A76 ; [*05A1.0020.0004.2A76][*05A1.0020.0004.2A76][*05A1.0020.001F.2A76] # THREE CONSECUTIVE EQUALS SIGNS
+2A77 ; [*0BA4.0020.0002.2A77] # EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
+2A78 ; [*0BA5.0020.0002.2A78] # EQUIVALENT WITH FOUR DOTS ABOVE
+2A79 ; [*0BA6.0020.0002.2A79] # LESS-THAN WITH CIRCLE INSIDE
+2A7A ; [*0BA7.0020.0002.2A7A] # GREATER-THAN WITH CIRCLE INSIDE
+2A7B ; [*0BA8.0020.0002.2A7B] # LESS-THAN WITH QUESTION MARK ABOVE
+2A7C ; [*0BA9.0020.0002.2A7C] # GREATER-THAN WITH QUESTION MARK ABOVE
+2A7D ; [*0BAA.0020.0002.2A7D] # LESS-THAN OR SLANTED EQUAL TO
+2A7E ; [*0BAB.0020.0002.2A7E] # GREATER-THAN OR SLANTED EQUAL TO
+2A7F ; [*0BAC.0020.0002.2A7F] # LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
+2A80 ; [*0BAD.0020.0002.2A80] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
+2A81 ; [*0BAE.0020.0002.2A81] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
+2A82 ; [*0BAF.0020.0002.2A82] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
+2A83 ; [*0BB0.0020.0002.2A83] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
+2A84 ; [*0BB1.0020.0002.2A84] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
+2A85 ; [*0BB2.0020.0002.2A85] # LESS-THAN OR APPROXIMATE
+2A86 ; [*0BB3.0020.0002.2A86] # GREATER-THAN OR APPROXIMATE
+2A87 ; [*0BB4.0020.0002.2A87] # LESS-THAN AND SINGLE-LINE NOT EQUAL TO
+2A88 ; [*0BB5.0020.0002.2A88] # GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
+2A89 ; [*0BB6.0020.0002.2A89] # LESS-THAN AND NOT APPROXIMATE
+2A8A ; [*0BB7.0020.0002.2A8A] # GREATER-THAN AND NOT APPROXIMATE
+2A8B ; [*0BB8.0020.0002.2A8B] # LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
+2A8C ; [*0BB9.0020.0002.2A8C] # GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
+2A8D ; [*0BBA.0020.0002.2A8D] # LESS-THAN ABOVE SIMILAR OR EQUAL
+2A8E ; [*0BBB.0020.0002.2A8E] # GREATER-THAN ABOVE SIMILAR OR EQUAL
+2A8F ; [*0BBC.0020.0002.2A8F] # LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
+2A90 ; [*0BBD.0020.0002.2A90] # GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
+2A91 ; [*0BBE.0020.0002.2A91] # LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
+2A92 ; [*0BBF.0020.0002.2A92] # GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
+2A93 ; [*0BC0.0020.0002.2A93] # LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
+2A94 ; [*0BC1.0020.0002.2A94] # GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
+2A95 ; [*0BC2.0020.0002.2A95] # SLANTED EQUAL TO OR LESS-THAN
+2A96 ; [*0BC3.0020.0002.2A96] # SLANTED EQUAL TO OR GREATER-THAN
+2A97 ; [*0BC4.0020.0002.2A97] # SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
+2A98 ; [*0BC5.0020.0002.2A98] # SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
+2A99 ; [*0BC6.0020.0002.2A99] # DOUBLE-LINE EQUAL TO OR LESS-THAN
+2A9A ; [*0BC7.0020.0002.2A9A] # DOUBLE-LINE EQUAL TO OR GREATER-THAN
+2A9B ; [*0BC8.0020.0002.2A9B] # DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
+2A9C ; [*0BC9.0020.0002.2A9C] # DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
+2A9D ; [*0BCA.0020.0002.2A9D] # SIMILAR OR LESS-THAN
+2A9E ; [*0BCB.0020.0002.2A9E] # SIMILAR OR GREATER-THAN
+2A9F ; [*0BCC.0020.0002.2A9F] # SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
+2AA0 ; [*0BCD.0020.0002.2AA0] # SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
+2AA1 ; [*0BCE.0020.0002.2AA1] # DOUBLE NESTED LESS-THAN
+2AA2 ; [*0BCF.0020.0002.2AA2] # DOUBLE NESTED GREATER-THAN
+2AA3 ; [*0BD0.0020.0002.2AA3] # DOUBLE NESTED LESS-THAN WITH UNDERBAR
+2AA4 ; [*0BD1.0020.0002.2AA4] # GREATER-THAN OVERLAPPING LESS-THAN
+2AA5 ; [*0BD2.0020.0002.2AA5] # GREATER-THAN BESIDE LESS-THAN
+2AA6 ; [*0BD3.0020.0002.2AA6] # LESS-THAN CLOSED BY CURVE
+2AA7 ; [*0BD4.0020.0002.2AA7] # GREATER-THAN CLOSED BY CURVE
+2AA8 ; [*0BD5.0020.0002.2AA8] # LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
+2AA9 ; [*0BD6.0020.0002.2AA9] # GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
+2AAA ; [*0BD7.0020.0002.2AAA] # SMALLER THAN
+2AAB ; [*0BD8.0020.0002.2AAB] # LARGER THAN
+2AAC ; [*0BD9.0020.0002.2AAC] # SMALLER THAN OR EQUAL TO
+2AAD ; [*0BDA.0020.0002.2AAD] # LARGER THAN OR EQUAL TO
+2AAE ; [*0BDB.0020.0002.2AAE] # EQUALS SIGN WITH BUMPY ABOVE
+2AAF ; [*0BDC.0020.0002.2AAF] # PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
+2AB0 ; [*0BDD.0020.0002.2AB0] # SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
+2AB1 ; [*0BDE.0020.0002.2AB1] # PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
+2AB2 ; [*0BDF.0020.0002.2AB2] # SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
+2AB3 ; [*0BE0.0020.0002.2AB3] # PRECEDES ABOVE EQUALS SIGN
+2AB4 ; [*0BE1.0020.0002.2AB4] # SUCCEEDS ABOVE EQUALS SIGN
+2AB5 ; [*0BE2.0020.0002.2AB5] # PRECEDES ABOVE NOT EQUAL TO
+2AB6 ; [*0BE3.0020.0002.2AB6] # SUCCEEDS ABOVE NOT EQUAL TO
+2AB7 ; [*0BE4.0020.0002.2AB7] # PRECEDES ABOVE ALMOST EQUAL TO
+2AB8 ; [*0BE5.0020.0002.2AB8] # SUCCEEDS ABOVE ALMOST EQUAL TO
+2AB9 ; [*0BE6.0020.0002.2AB9] # PRECEDES ABOVE NOT ALMOST EQUAL TO
+2ABA ; [*0BE7.0020.0002.2ABA] # SUCCEEDS ABOVE NOT ALMOST EQUAL TO
+2ABB ; [*0BE8.0020.0002.2ABB] # DOUBLE PRECEDES
+2ABC ; [*0BE9.0020.0002.2ABC] # DOUBLE SUCCEEDS
+2ABD ; [*0BEA.0020.0002.2ABD] # SUBSET WITH DOT
+2ABE ; [*0BEB.0020.0002.2ABE] # SUPERSET WITH DOT
+2ABF ; [*0BEC.0020.0002.2ABF] # SUBSET WITH PLUS SIGN BELOW
+2AC0 ; [*0BED.0020.0002.2AC0] # SUPERSET WITH PLUS SIGN BELOW
+2AC1 ; [*0BEE.0020.0002.2AC1] # SUBSET WITH MULTIPLICATION SIGN BELOW
+2AC2 ; [*0BEF.0020.0002.2AC2] # SUPERSET WITH MULTIPLICATION SIGN BELOW
+2AC3 ; [*0BF0.0020.0002.2AC3] # SUBSET OF OR EQUAL TO WITH DOT ABOVE
+2AC4 ; [*0BF1.0020.0002.2AC4] # SUPERSET OF OR EQUAL TO WITH DOT ABOVE
+2AC5 ; [*0BF2.0020.0002.2AC5] # SUBSET OF ABOVE EQUALS SIGN
+2AC6 ; [*0BF3.0020.0002.2AC6] # SUPERSET OF ABOVE EQUALS SIGN
+2AC7 ; [*0BF4.0020.0002.2AC7] # SUBSET OF ABOVE TILDE OPERATOR
+2AC8 ; [*0BF5.0020.0002.2AC8] # SUPERSET OF ABOVE TILDE OPERATOR
+2AC9 ; [*0BF6.0020.0002.2AC9] # SUBSET OF ABOVE ALMOST EQUAL TO
+2ACA ; [*0BF7.0020.0002.2ACA] # SUPERSET OF ABOVE ALMOST EQUAL TO
+2ACB ; [*0BF8.0020.0002.2ACB] # SUBSET OF ABOVE NOT EQUAL TO
+2ACC ; [*0BF9.0020.0002.2ACC] # SUPERSET OF ABOVE NOT EQUAL TO
+2ACD ; [*0BFA.0020.0002.2ACD] # SQUARE LEFT OPEN BOX OPERATOR
+2ACE ; [*0BFB.0020.0002.2ACE] # SQUARE RIGHT OPEN BOX OPERATOR
+2ACF ; [*0BFC.0020.0002.2ACF] # CLOSED SUBSET
+2AD0 ; [*0BFD.0020.0002.2AD0] # CLOSED SUPERSET
+2AD1 ; [*0BFE.0020.0002.2AD1] # CLOSED SUBSET OR EQUAL TO
+2AD2 ; [*0BFF.0020.0002.2AD2] # CLOSED SUPERSET OR EQUAL TO
+2AD3 ; [*0C00.0020.0002.2AD3] # SUBSET ABOVE SUPERSET
+2AD4 ; [*0C01.0020.0002.2AD4] # SUPERSET ABOVE SUBSET
+2AD5 ; [*0C02.0020.0002.2AD5] # SUBSET ABOVE SUBSET
+2AD6 ; [*0C03.0020.0002.2AD6] # SUPERSET ABOVE SUPERSET
+2AD7 ; [*0C04.0020.0002.2AD7] # SUPERSET BESIDE SUBSET
+2AD8 ; [*0C05.0020.0002.2AD8] # SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
+2AD9 ; [*0C06.0020.0002.2AD9] # ELEMENT OF OPENING DOWNWARDS
+2ADA ; [*0C07.0020.0002.2ADA] # PITCHFORK WITH TEE TOP
+2ADB ; [*0C08.0020.0002.2ADB] # TRANSVERSAL INTERSECTION
+2ADC ; [*0C09.0020.0002.2ADD][.0000.0054.0002.0338] # FORKING
+2ADD ; [*0C09.0020.0002.2ADD] # NONFORKING
+2ADE ; [*0C0A.0020.0002.2ADE] # SHORT LEFT TACK
+2ADF ; [*0C0B.0020.0002.2ADF] # SHORT DOWN TACK
+2AE0 ; [*0C0C.0020.0002.2AE0] # SHORT UP TACK
+2AE1 ; [*0C0D.0020.0002.2AE1] # PERPENDICULAR WITH S
+2AE2 ; [*0C0E.0020.0002.2AE2] # VERTICAL BAR TRIPLE RIGHT TURNSTILE
+2AE3 ; [*0C0F.0020.0002.2AE3] # DOUBLE VERTICAL BAR LEFT TURNSTILE
+2AE4 ; [*0C10.0020.0002.2AE4] # VERTICAL BAR DOUBLE LEFT TURNSTILE
+2AE5 ; [*0C11.0020.0002.2AE5] # DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
+2AE6 ; [*0C12.0020.0002.2AE6] # LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
+2AE7 ; [*0C13.0020.0002.2AE7] # SHORT DOWN TACK WITH OVERBAR
+2AE8 ; [*0C14.0020.0002.2AE8] # SHORT UP TACK WITH UNDERBAR
+2AE9 ; [*0C15.0020.0002.2AE9] # SHORT UP TACK ABOVE SHORT DOWN TACK
+2AEA ; [*0C16.0020.0002.2AEA] # DOUBLE DOWN TACK
+2AEB ; [*0C17.0020.0002.2AEB] # DOUBLE UP TACK
+2AEC ; [*0C18.0020.0002.2AEC] # DOUBLE STROKE NOT SIGN
+2AED ; [*0C19.0020.0002.2AED] # REVERSED DOUBLE STROKE NOT SIGN
+2AEE ; [*0C1A.0020.0002.2AEE] # DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
+2AEF ; [*0C1B.0020.0002.2AEF] # VERTICAL LINE WITH CIRCLE ABOVE
+2AF0 ; [*0C1C.0020.0002.2AF0] # VERTICAL LINE WITH CIRCLE BELOW
+2AF1 ; [*0C1D.0020.0002.2AF1] # DOWN TACK WITH CIRCLE BELOW
+2AF2 ; [*0C1E.0020.0002.2AF2] # PARALLEL WITH HORIZONTAL STROKE
+2AF3 ; [*0C1F.0020.0002.2AF3] # PARALLEL WITH TILDE OPERATOR
+2AF4 ; [*0C20.0020.0002.2AF4] # TRIPLE VERTICAL BAR BINARY RELATION
+2AF5 ; [*0C21.0020.0002.2AF5] # TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE
+2AF6 ; [*0C22.0020.0002.2AF6] # TRIPLE COLON OPERATOR
+2AF7 ; [*0C23.0020.0002.2AF7] # TRIPLE NESTED LESS-THAN
+2AF8 ; [*0C24.0020.0002.2AF8] # TRIPLE NESTED GREATER-THAN
+2AF9 ; [*0C25.0020.0002.2AF9] # DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
+2AFA ; [*0C26.0020.0002.2AFA] # DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
+2AFB ; [*0C27.0020.0002.2AFB] # TRIPLE SOLIDUS BINARY RELATION
+2AFC ; [*0C28.0020.0002.2AFC] # LARGE TRIPLE VERTICAL BAR OPERATOR
+2AFD ; [*0C29.0020.0002.2AFD] # DOUBLE SOLIDUS OPERATOR
+2AFE ; [*0C2A.0020.0002.2AFE] # WHITE VERTICAL BAR
+2AFF ; [*0C2B.0020.0002.2AFF] # N-ARY WHITE VERTICAL BAR
+2B00 ; [*0C2C.0020.0002.2B00] # NORTH EAST WHITE ARROW
+2B01 ; [*0C2D.0020.0002.2B01] # NORTH WEST WHITE ARROW
+2B02 ; [*0C2E.0020.0002.2B02] # SOUTH EAST WHITE ARROW
+2B03 ; [*0C2F.0020.0002.2B03] # SOUTH WEST WHITE ARROW
+2B04 ; [*0C30.0020.0002.2B04] # LEFT RIGHT WHITE ARROW
+2B05 ; [*0C31.0020.0002.2B05] # LEFTWARDS BLACK ARROW
+2B06 ; [*0C32.0020.0002.2B06] # UPWARDS BLACK ARROW
+2B07 ; [*0C33.0020.0002.2B07] # DOWNWARDS BLACK ARROW
+2B08 ; [*0C34.0020.0002.2B08] # NORTH EAST BLACK ARROW
+2B09 ; [*0C35.0020.0002.2B09] # NORTH WEST BLACK ARROW
+2B0A ; [*0C36.0020.0002.2B0A] # SOUTH EAST BLACK ARROW
+2B0B ; [*0C37.0020.0002.2B0B] # SOUTH WEST BLACK ARROW
+2B0C ; [*0C38.0020.0002.2B0C] # LEFT RIGHT BLACK ARROW
+2B0D ; [*0C39.0020.0002.2B0D] # UP DOWN BLACK ARROW
+2B0E ; [*0C3A.0020.0002.2B0E] # RIGHTWARDS ARROW WITH TIP DOWNWARDS
+2B0F ; [*0C3B.0020.0002.2B0F] # RIGHTWARDS ARROW WITH TIP UPWARDS
+2B10 ; [*0C3C.0020.0002.2B10] # LEFTWARDS ARROW WITH TIP DOWNWARDS
+2B11 ; [*0C3D.0020.0002.2B11] # LEFTWARDS ARROW WITH TIP UPWARDS
+2B12 ; [*0C3E.0020.0002.2B12] # SQUARE WITH TOP HALF BLACK
+2B13 ; [*0C3F.0020.0002.2B13] # SQUARE WITH BOTTOM HALF BLACK
+2B14 ; [*0C40.0020.0002.2B14] # SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK
+2B15 ; [*0C41.0020.0002.2B15] # SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK
+2B16 ; [*0C42.0020.0002.2B16] # DIAMOND WITH LEFT HALF BLACK
+2B17 ; [*0C43.0020.0002.2B17] # DIAMOND WITH RIGHT HALF BLACK
+2B18 ; [*0C44.0020.0002.2B18] # DIAMOND WITH TOP HALF BLACK
+2B19 ; [*0C45.0020.0002.2B19] # DIAMOND WITH BOTTOM HALF BLACK
+2B1A ; [*0C46.0020.0002.2B1A] # DOTTED SQUARE
+2B1B ; [*0C47.0020.0002.2B1B] # BLACK LARGE SQUARE
+2B1C ; [*0C48.0020.0002.2B1C] # WHITE LARGE SQUARE
+2B1D ; [*0C49.0020.0002.2B1D] # BLACK VERY SMALL SQUARE
+2B1E ; [*0C4A.0020.0002.2B1E] # WHITE VERY SMALL SQUARE
+2B1F ; [*0C4B.0020.0002.2B1F] # BLACK PENTAGON
+2B20 ; [*0C4C.0020.0002.2B20] # WHITE PENTAGON
+2B21 ; [*0C4D.0020.0002.2B21] # WHITE HEXAGON
+2B22 ; [*0C4E.0020.0002.2B22] # BLACK HEXAGON
+2B23 ; [*0C4F.0020.0002.2B23] # HORIZONTAL BLACK HEXAGON
+2B24 ; [*0C50.0020.0002.2B24] # BLACK LARGE CIRCLE
+2B25 ; [*0C51.0020.0002.2B25] # BLACK MEDIUM DIAMOND
+2B26 ; [*0C52.0020.0002.2B26] # WHITE MEDIUM DIAMOND
+2B27 ; [*0C53.0020.0002.2B27] # BLACK MEDIUM LOZENGE
+2B28 ; [*0C54.0020.0002.2B28] # WHITE MEDIUM LOZENGE
+2B29 ; [*0C55.0020.0002.2B29] # BLACK SMALL DIAMOND
+2B2A ; [*0C56.0020.0002.2B2A] # BLACK SMALL LOZENGE
+2B2B ; [*0C57.0020.0002.2B2B] # WHITE SMALL LOZENGE
+2B2C ; [*0C58.0020.0002.2B2C] # BLACK HORIZONTAL ELLIPSE
+2B2D ; [*0C59.0020.0002.2B2D] # WHITE HORIZONTAL ELLIPSE
+2B2E ; [*0C5A.0020.0002.2B2E] # BLACK VERTICAL ELLIPSE
+2B2F ; [*0C5B.0020.0002.2B2F] # WHITE VERTICAL ELLIPSE
+2B30 ; [*0C5C.0020.0002.2B30] # LEFT ARROW WITH SMALL CIRCLE
+2B31 ; [*0C5D.0020.0002.2B31] # THREE LEFTWARDS ARROWS
+2B32 ; [*0C5E.0020.0002.2B32] # LEFT ARROW WITH CIRCLED PLUS
+2B33 ; [*0C5F.0020.0002.2B33] # LONG LEFTWARDS SQUIGGLE ARROW
+2B34 ; [*0C60.0020.0002.2B34] # LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
+2B35 ; [*0C61.0020.0002.2B35] # LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
+2B36 ; [*0C62.0020.0002.2B36] # LEFTWARDS TWO-HEADED ARROW FROM BAR
+2B37 ; [*0C63.0020.0002.2B37] # LEFTWARDS TWO-HEADED TRIPLE DASH ARROW
+2B38 ; [*0C64.0020.0002.2B38] # LEFTWARDS ARROW WITH DOTTED STEM
+2B39 ; [*0C65.0020.0002.2B39] # LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
+2B3A ; [*0C66.0020.0002.2B3A] # LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2B3B ; [*0C67.0020.0002.2B3B] # LEFTWARDS TWO-HEADED ARROW WITH TAIL
+2B3C ; [*0C68.0020.0002.2B3C] # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
+2B3D ; [*0C69.0020.0002.2B3D] # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2B3E ; [*0C6A.0020.0002.2B3E] # LEFTWARDS ARROW THROUGH X
+2B3F ; [*0C6B.0020.0002.2B3F] # WAVE ARROW POINTING DIRECTLY LEFT
+2B40 ; [*0C6C.0020.0002.2B40] # EQUALS SIGN ABOVE LEFTWARDS ARROW
+2B41 ; [*0C6D.0020.0002.2B41] # REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW
+2B42 ; [*0C6E.0020.0002.2B42] # LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
+2B43 ; [*0C6F.0020.0002.2B43] # RIGHTWARDS ARROW THROUGH GREATER-THAN
+2B44 ; [*0C70.0020.0002.2B44] # RIGHTWARDS ARROW THROUGH SUPERSET
+2B45 ; [*0C71.0020.0002.2B45] # LEFTWARDS QUADRUPLE ARROW
+2B46 ; [*0C72.0020.0002.2B46] # RIGHTWARDS QUADRUPLE ARROW
+2B47 ; [*0C73.0020.0002.2B47] # REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW
+2B48 ; [*0C74.0020.0002.2B48] # RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
+2B49 ; [*0C75.0020.0002.2B49] # TILDE OPERATOR ABOVE LEFTWARDS ARROW
+2B4A ; [*0C76.0020.0002.2B4A] # LEFTWARDS ARROW ABOVE ALMOST EQUAL TO
+2B4B ; [*0C77.0020.0002.2B4B] # LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
+2B4C ; [*0C78.0020.0002.2B4C] # RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
+2B50 ; [*0C79.0020.0002.2B50] # WHITE MEDIUM STAR
+2B51 ; [*0C7A.0020.0002.2B51] # BLACK SMALL STAR
+2B52 ; [*0C7B.0020.0002.2B52] # WHITE SMALL STAR
+2B53 ; [*0C7C.0020.0002.2B53] # BLACK RIGHT-POINTING PENTAGON
+2B54 ; [*0C7D.0020.0002.2B54] # WHITE RIGHT-POINTING PENTAGON
+2B55 ; [*0C7E.0020.0002.2B55] # HEAVY LARGE CIRCLE
+2B56 ; [*0C7F.0020.0002.2B56] # HEAVY OVAL WITH OVAL INSIDE
+2B57 ; [*0C80.0020.0002.2B57] # HEAVY CIRCLE WITH CIRCLE INSIDE
+2B58 ; [*0C81.0020.0002.2B58] # HEAVY CIRCLE
+2B59 ; [*0C82.0020.0002.2B59] # HEAVY CIRCLED SALTIRE
+2CE5 ; [*0C83.0020.0002.2CE5] # COPTIC SYMBOL MI RO
+2CE6 ; [*0C84.0020.0002.2CE6] # COPTIC SYMBOL PI RO
+2CE7 ; [*0C85.0020.0002.2CE7] # COPTIC SYMBOL STAUROS
+2CE8 ; [*0C86.0020.0002.2CE8] # COPTIC SYMBOL TAU RO
+2CE9 ; [*0C87.0020.0002.2CE9] # COPTIC SYMBOL KHI RO
+2CEA ; [*0C88.0020.0002.2CEA] # COPTIC SYMBOL SHIMA SIMA
+2CF9 ; [*027D.0020.0002.2CF9] # COPTIC OLD NUBIAN FULL STOP
+2CFA ; [*026B.0020.0002.2CFA] # COPTIC OLD NUBIAN DIRECT QUESTION MARK
+2CFB ; [*026C.0020.0002.2CFB] # COPTIC OLD NUBIAN INDIRECT QUESTION MARK
+2CFC ; [*02DC.0020.0002.2CFC] # COPTIC OLD NUBIAN VERSE DIVIDER
+2CFD ; [*1501.0020.0002.2CFD] # COPTIC FRACTION ONE HALF
+2CFE ; [*027E.0020.0002.2CFE] # COPTIC FULL STOP
+2CFF ; [*02DD.0020.0002.2CFF] # COPTIC MORPHOLOGICAL DIVIDER
+2D70 ; [*03F4.0020.0002.2D70] # TIFINAGH SEPARATOR MARK
2D7F ; [.0000.0000.0000.2D7F] # TIFINAGH CONSONANT JOINER
-2E00 ; [*038D.0020.0002.2E00] # RIGHT ANGLE SUBSTITUTION MARKER
-2E01 ; [*038E.0020.0002.2E01] # RIGHT ANGLE DOTTED SUBSTITUTION MARKER
-2E02 ; [*0338.0020.0002.2E02] # LEFT SUBSTITUTION BRACKET
-2E03 ; [*0339.0020.0002.2E03] # RIGHT SUBSTITUTION BRACKET
-2E04 ; [*033A.0020.0002.2E04] # LEFT DOTTED SUBSTITUTION BRACKET
-2E05 ; [*033B.0020.0002.2E05] # RIGHT DOTTED SUBSTITUTION BRACKET
-2E06 ; [*038F.0020.0002.2E06] # RAISED INTERPOLATION MARKER
-2E07 ; [*0390.0020.0002.2E07] # RAISED DOTTED INTERPOLATION MARKER
-2E08 ; [*0391.0020.0002.2E08] # DOTTED TRANSPOSITION MARKER
-2E09 ; [*033C.0020.0002.2E09] # LEFT TRANSPOSITION BRACKET
-2E0A ; [*033D.0020.0002.2E0A] # RIGHT TRANSPOSITION BRACKET
-2E0B ; [*0392.0020.0002.2E0B] # RAISED SQUARE
-2E0C ; [*033E.0020.0002.2E0C] # LEFT RAISED OMISSION BRACKET
-2E0D ; [*033F.0020.0002.2E0D] # RIGHT RAISED OMISSION BRACKET
-2E0E ; [*0393.0020.0002.2E0E] # EDITORIAL CORONIS
-2E0F ; [*0394.0020.0002.2E0F] # PARAGRAPHOS
-2E10 ; [*0395.0020.0002.2E10] # FORKED PARAGRAPHOS
-2E11 ; [*0396.0020.0002.2E11] # REVERSED FORKED PARAGRAPHOS
-2E12 ; [*0397.0020.0002.2E12] # HYPODIASTOLE
-2E13 ; [*0398.0020.0002.2E13] # DOTTED OBELOS
-2E14 ; [*0399.0020.0002.2E14] # DOWNWARDS ANCORA
-2E15 ; [*039A.0020.0002.2E15] # UPWARDS ANCORA
-2E16 ; [*039B.0020.0002.2E16] # DOTTED RIGHT-POINTING ANGLE
-2E17 ; [*023C.0020.0002.2E17] # DOUBLE OBLIQUE HYPHEN
-2E18 ; [*028D.0020.0002.2E18] # INVERTED INTERROBANG
-2E19 ; [*02F1.0020.0002.2E19] # PALM BRANCH
-2E1A ; [*039C.0020.0002.2E1A] # HYPHEN WITH DIAERESIS
-2E1B ; [*039D.0020.0002.2E1B] # TILDE WITH RING ABOVE
-2E1C ; [*0340.0020.0002.2E1C] # LEFT LOW PARAPHRASE BRACKET
-2E1D ; [*0341.0020.0002.2E1D] # RIGHT LOW PARAPHRASE BRACKET
-2E1E ; [*039E.0020.0002.2E1E] # TILDE WITH DOT ABOVE
-2E1F ; [*039F.0020.0002.2E1F] # TILDE WITH DOT BELOW
-2E20 ; [*0342.0020.0002.2E20] # LEFT VERTICAL BAR WITH QUILL
-2E21 ; [*0343.0020.0002.2E21] # RIGHT VERTICAL BAR WITH QUILL
-2E22 ; [*0344.0020.0002.2E22] # TOP LEFT HALF BRACKET
-2E23 ; [*0345.0020.0002.2E23] # TOP RIGHT HALF BRACKET
-2E24 ; [*0346.0020.0002.2E24] # BOTTOM LEFT HALF BRACKET
-2E25 ; [*0347.0020.0002.2E25] # BOTTOM RIGHT HALF BRACKET
-2E26 ; [*0348.0020.0002.2E26] # LEFT SIDEWAYS U BRACKET
-2E27 ; [*0349.0020.0002.2E27] # RIGHT SIDEWAYS U BRACKET
-2E28 ; [*034A.0020.0002.2E28] # LEFT DOUBLE PARENTHESIS
-2E29 ; [*034B.0020.0002.2E29] # RIGHT DOUBLE PARENTHESIS
-2E2A ; [*02EB.0020.0002.2E2A] # TWO DOTS OVER ONE DOT PUNCTUATION
-2E2B ; [*02EC.0020.0002.2E2B] # ONE DOT OVER TWO DOTS PUNCTUATION
-2E2C ; [*02ED.0020.0002.2E2C] # SQUARED FOUR DOT PUNCTUATION
-2E2D ; [*02EE.0020.0002.2E2D] # FIVE DOT MARK
-2E2E ; [*0282.0020.0002.2E2E] # REVERSED QUESTION MARK
-2E30 ; [*029A.0020.0002.2E30] # RING POINT
-2E31 ; [*02A0.0020.0002.2E31] # WORD SEPARATOR MIDDLE DOT
-2FF0 ; [*1456.0020.0002.2FF0] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT
-2FF1 ; [*1457.0020.0002.2FF1] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW
-2FF2 ; [*1458.0020.0002.2FF2] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT
-2FF3 ; [*1459.0020.0002.2FF3] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW
-2FF4 ; [*145A.0020.0002.2FF4] # IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND
-2FF5 ; [*145B.0020.0002.2FF5] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE
-2FF6 ; [*145C.0020.0002.2FF6] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW
-2FF7 ; [*145D.0020.0002.2FF7] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT
-2FF8 ; [*145E.0020.0002.2FF8] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT
-2FF9 ; [*145F.0020.0002.2FF9] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT
-2FFA ; [*1460.0020.0002.2FFA] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT
-2FFB ; [*1461.0020.0002.2FFB] # IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
-3000 ; [*020A.0020.0003.3000] # IDEOGRAPHIC SPACE; QQK
-3001 ; [*024D.0020.0002.3001] # IDEOGRAPHIC COMMA
-3002 ; [*029E.0020.0002.3002] # IDEOGRAPHIC FULL STOP
-3003 ; [*0383.0020.0002.3003] # DITTO MARK
-3004 ; [*1486.0020.0002.3004] # JAPANESE INDUSTRIAL STANDARD SYMBOL
-3008 ; [*034C.0020.0002.3008] # LEFT ANGLE BRACKET
-3009 ; [*034D.0020.0002.3009] # RIGHT ANGLE BRACKET
-300A ; [*034E.0020.0002.300A] # LEFT DOUBLE ANGLE BRACKET
-300B ; [*034F.0020.0002.300B] # RIGHT DOUBLE ANGLE BRACKET
-300C ; [*0350.0020.0002.300C] # LEFT CORNER BRACKET
-300D ; [*0351.0020.0002.300D] # RIGHT CORNER BRACKET
-300E ; [*0352.0020.0002.300E] # LEFT WHITE CORNER BRACKET
-300F ; [*0353.0020.0002.300F] # RIGHT WHITE CORNER BRACKET
-3010 ; [*0354.0020.0002.3010] # LEFT BLACK LENTICULAR BRACKET
-3011 ; [*0355.0020.0002.3011] # RIGHT BLACK LENTICULAR BRACKET
-3012 ; [*1487.0020.0002.3012] # POSTAL MARK
-3013 ; [*1488.0020.0002.3013] # GETA MARK
-3014 ; [*0356.0020.0002.3014] # LEFT TORTOISE SHELL BRACKET
-3015 ; [*0357.0020.0002.3015] # RIGHT TORTOISE SHELL BRACKET
-3016 ; [*0358.0020.0002.3016] # LEFT WHITE LENTICULAR BRACKET
-3017 ; [*0359.0020.0002.3017] # RIGHT WHITE LENTICULAR BRACKET
-3018 ; [*035A.0020.0002.3018] # LEFT WHITE TORTOISE SHELL BRACKET
-3019 ; [*035B.0020.0002.3019] # RIGHT WHITE TORTOISE SHELL BRACKET
-301A ; [*035C.0020.0002.301A] # LEFT WHITE SQUARE BRACKET
-301B ; [*035D.0020.0002.301B] # RIGHT WHITE SQUARE BRACKET
-301C ; [*023D.0020.0002.301C] # WAVE DASH
-301D ; [*0309.0020.0002.301D] # REVERSED DOUBLE PRIME QUOTATION MARK
-301E ; [*030A.0020.0002.301E] # DOUBLE PRIME QUOTATION MARK
-301F ; [*030B.0020.0002.301F] # LOW DOUBLE PRIME QUOTATION MARK
-3020 ; [*1489.0020.0002.3020] # POSTAL MARK FACE
-3030 ; [*023E.0020.0002.3030] # WAVY DASH
-3036 ; [*1487.0020.0004.3036] # CIRCLED POSTAL MARK; QQK
-3037 ; [*148A.0020.0002.3037] # IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
-303D ; [*0384.0020.0002.303D] # PART ALTERNATION MARK
-303E ; [*148B.0020.0002.303E] # IDEOGRAPHIC VARIATION INDICATOR
-303F ; [*148C.0020.0002.303F] # IDEOGRAPHIC HALF FILL SPACE
-309B ; [*022E.0020.0002.309B] # KATAKANA-HIRAGANA VOICED SOUND MARK
-309C ; [*022F.0020.0002.309C] # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-30A0 ; [*023F.0020.0002.30A0] # KATAKANA-HIRAGANA DOUBLE HYPHEN
-30FB ; [*0240.0020.0002.30FB] # KATAKANA MIDDLE DOT
-3190 ; [*148D.0020.0002.3190] # IDEOGRAPHIC ANNOTATION LINKING MARK
-3191 ; [*148E.0020.0002.3191] # IDEOGRAPHIC ANNOTATION REVERSE MARK
-31C0 ; [*1462.0020.0002.31C0] # CJK STROKE T
-31C1 ; [*1463.0020.0002.31C1] # CJK STROKE WG
-31C2 ; [*1464.0020.0002.31C2] # CJK STROKE XG
-31C3 ; [*1465.0020.0002.31C3] # CJK STROKE BXG
-31C4 ; [*1466.0020.0002.31C4] # CJK STROKE SW
-31C5 ; [*1467.0020.0002.31C5] # CJK STROKE HZZ
-31C6 ; [*1468.0020.0002.31C6] # CJK STROKE HZG
-31C7 ; [*1469.0020.0002.31C7] # CJK STROKE HP
-31C8 ; [*146A.0020.0002.31C8] # CJK STROKE HZWG
-31C9 ; [*146B.0020.0002.31C9] # CJK STROKE SZWG
-31CA ; [*146C.0020.0002.31CA] # CJK STROKE HZT
-31CB ; [*146D.0020.0002.31CB] # CJK STROKE HZZP
-31CC ; [*146E.0020.0002.31CC] # CJK STROKE HPWG
-31CD ; [*146F.0020.0002.31CD] # CJK STROKE HZW
-31CE ; [*1470.0020.0002.31CE] # CJK STROKE HZZZ
-31CF ; [*1471.0020.0002.31CF] # CJK STROKE N
-31D0 ; [*1472.0020.0002.31D0] # CJK STROKE H
-31D1 ; [*1473.0020.0002.31D1] # CJK STROKE S
-31D2 ; [*1474.0020.0002.31D2] # CJK STROKE P
-31D3 ; [*1475.0020.0002.31D3] # CJK STROKE SP
-31D4 ; [*1476.0020.0002.31D4] # CJK STROKE D
-31D5 ; [*1477.0020.0002.31D5] # CJK STROKE HZ
-31D6 ; [*1478.0020.0002.31D6] # CJK STROKE HG
-31D7 ; [*1479.0020.0002.31D7] # CJK STROKE SZ
-31D8 ; [*147A.0020.0002.31D8] # CJK STROKE SWZ
-31D9 ; [*147B.0020.0002.31D9] # CJK STROKE ST
-31DA ; [*147C.0020.0002.31DA] # CJK STROKE SG
-31DB ; [*147D.0020.0002.31DB] # CJK STROKE PD
-31DC ; [*147E.0020.0002.31DC] # CJK STROKE PZ
-31DD ; [*147F.0020.0002.31DD] # CJK STROKE TN
-31DE ; [*1480.0020.0002.31DE] # CJK STROKE SZZ
-31DF ; [*1481.0020.0002.31DF] # CJK STROKE SWG
-31E0 ; [*1482.0020.0002.31E0] # CJK STROKE HXWG
-31E1 ; [*1483.0020.0002.31E1] # CJK STROKE HZZZG
-31E2 ; [*1484.0020.0002.31E2] # CJK STROKE PG
-31E3 ; [*1485.0020.0002.31E3] # CJK STROKE Q
-327F ; [*148F.0020.0002.327F] # KOREAN STANDARD SYMBOL
-4DC0 ; [*0D7B.0020.0002.4DC0] # HEXAGRAM FOR THE CREATIVE HEAVEN
-4DC1 ; [*0D7C.0020.0002.4DC1] # HEXAGRAM FOR THE RECEPTIVE EARTH
-4DC2 ; [*0D7D.0020.0002.4DC2] # HEXAGRAM FOR DIFFICULTY AT THE BEGINNING
-4DC3 ; [*0D7E.0020.0002.4DC3] # HEXAGRAM FOR YOUTHFUL FOLLY
-4DC4 ; [*0D7F.0020.0002.4DC4] # HEXAGRAM FOR WAITING
-4DC5 ; [*0D80.0020.0002.4DC5] # HEXAGRAM FOR CONFLICT
-4DC6 ; [*0D81.0020.0002.4DC6] # HEXAGRAM FOR THE ARMY
-4DC7 ; [*0D82.0020.0002.4DC7] # HEXAGRAM FOR HOLDING TOGETHER
-4DC8 ; [*0D83.0020.0002.4DC8] # HEXAGRAM FOR SMALL TAMING
-4DC9 ; [*0D84.0020.0002.4DC9] # HEXAGRAM FOR TREADING
-4DCA ; [*0D85.0020.0002.4DCA] # HEXAGRAM FOR PEACE
-4DCB ; [*0D86.0020.0002.4DCB] # HEXAGRAM FOR STANDSTILL
-4DCC ; [*0D87.0020.0002.4DCC] # HEXAGRAM FOR FELLOWSHIP
-4DCD ; [*0D88.0020.0002.4DCD] # HEXAGRAM FOR GREAT POSSESSION
-4DCE ; [*0D89.0020.0002.4DCE] # HEXAGRAM FOR MODESTY
-4DCF ; [*0D8A.0020.0002.4DCF] # HEXAGRAM FOR ENTHUSIASM
-4DD0 ; [*0D8B.0020.0002.4DD0] # HEXAGRAM FOR FOLLOWING
-4DD1 ; [*0D8C.0020.0002.4DD1] # HEXAGRAM FOR WORK ON THE DECAYED
-4DD2 ; [*0D8D.0020.0002.4DD2] # HEXAGRAM FOR APPROACH
-4DD3 ; [*0D8E.0020.0002.4DD3] # HEXAGRAM FOR CONTEMPLATION
-4DD4 ; [*0D8F.0020.0002.4DD4] # HEXAGRAM FOR BITING THROUGH
-4DD5 ; [*0D90.0020.0002.4DD5] # HEXAGRAM FOR GRACE
-4DD6 ; [*0D91.0020.0002.4DD6] # HEXAGRAM FOR SPLITTING APART
-4DD7 ; [*0D92.0020.0002.4DD7] # HEXAGRAM FOR RETURN
-4DD8 ; [*0D93.0020.0002.4DD8] # HEXAGRAM FOR INNOCENCE
-4DD9 ; [*0D94.0020.0002.4DD9] # HEXAGRAM FOR GREAT TAMING
-4DDA ; [*0D95.0020.0002.4DDA] # HEXAGRAM FOR MOUTH CORNERS
-4DDB ; [*0D96.0020.0002.4DDB] # HEXAGRAM FOR GREAT PREPONDERANCE
-4DDC ; [*0D97.0020.0002.4DDC] # HEXAGRAM FOR THE ABYSMAL WATER
-4DDD ; [*0D98.0020.0002.4DDD] # HEXAGRAM FOR THE CLINGING FIRE
-4DDE ; [*0D99.0020.0002.4DDE] # HEXAGRAM FOR INFLUENCE
-4DDF ; [*0D9A.0020.0002.4DDF] # HEXAGRAM FOR DURATION
-4DE0 ; [*0D9B.0020.0002.4DE0] # HEXAGRAM FOR RETREAT
-4DE1 ; [*0D9C.0020.0002.4DE1] # HEXAGRAM FOR GREAT POWER
-4DE2 ; [*0D9D.0020.0002.4DE2] # HEXAGRAM FOR PROGRESS
-4DE3 ; [*0D9E.0020.0002.4DE3] # HEXAGRAM FOR DARKENING OF THE LIGHT
-4DE4 ; [*0D9F.0020.0002.4DE4] # HEXAGRAM FOR THE FAMILY
-4DE5 ; [*0DA0.0020.0002.4DE5] # HEXAGRAM FOR OPPOSITION
-4DE6 ; [*0DA1.0020.0002.4DE6] # HEXAGRAM FOR OBSTRUCTION
-4DE7 ; [*0DA2.0020.0002.4DE7] # HEXAGRAM FOR DELIVERANCE
-4DE8 ; [*0DA3.0020.0002.4DE8] # HEXAGRAM FOR DECREASE
-4DE9 ; [*0DA4.0020.0002.4DE9] # HEXAGRAM FOR INCREASE
-4DEA ; [*0DA5.0020.0002.4DEA] # HEXAGRAM FOR BREAKTHROUGH
-4DEB ; [*0DA6.0020.0002.4DEB] # HEXAGRAM FOR COMING TO MEET
-4DEC ; [*0DA7.0020.0002.4DEC] # HEXAGRAM FOR GATHERING TOGETHER
-4DED ; [*0DA8.0020.0002.4DED] # HEXAGRAM FOR PUSHING UPWARD
-4DEE ; [*0DA9.0020.0002.4DEE] # HEXAGRAM FOR OPPRESSION
-4DEF ; [*0DAA.0020.0002.4DEF] # HEXAGRAM FOR THE WELL
-4DF0 ; [*0DAB.0020.0002.4DF0] # HEXAGRAM FOR REVOLUTION
-4DF1 ; [*0DAC.0020.0002.4DF1] # HEXAGRAM FOR THE CAULDRON
-4DF2 ; [*0DAD.0020.0002.4DF2] # HEXAGRAM FOR THE AROUSING THUNDER
-4DF3 ; [*0DAE.0020.0002.4DF3] # HEXAGRAM FOR THE KEEPING STILL MOUNTAIN
-4DF4 ; [*0DAF.0020.0002.4DF4] # HEXAGRAM FOR DEVELOPMENT
-4DF5 ; [*0DB0.0020.0002.4DF5] # HEXAGRAM FOR THE MARRYING MAIDEN
-4DF6 ; [*0DB1.0020.0002.4DF6] # HEXAGRAM FOR ABUNDANCE
-4DF7 ; [*0DB2.0020.0002.4DF7] # HEXAGRAM FOR THE WANDERER
-4DF8 ; [*0DB3.0020.0002.4DF8] # HEXAGRAM FOR THE GENTLE WIND
-4DF9 ; [*0DB4.0020.0002.4DF9] # HEXAGRAM FOR THE JOYOUS LAKE
-4DFA ; [*0DB5.0020.0002.4DFA] # HEXAGRAM FOR DISPERSION
-4DFB ; [*0DB6.0020.0002.4DFB] # HEXAGRAM FOR LIMITATION
-4DFC ; [*0DB7.0020.0002.4DFC] # HEXAGRAM FOR INNER TRUTH
-4DFD ; [*0DB8.0020.0002.4DFD] # HEXAGRAM FOR SMALL PREPONDERANCE
-4DFE ; [*0DB9.0020.0002.4DFE] # HEXAGRAM FOR AFTER COMPLETION
-4DFF ; [*0DBA.0020.0002.4DFF] # HEXAGRAM FOR BEFORE COMPLETION
-A490 ; [*0E12.0020.0002.A490] # YI RADICAL QOT
-A491 ; [*0E13.0020.0002.A491] # YI RADICAL LI
-A492 ; [*0E14.0020.0002.A492] # YI RADICAL KIT
-A493 ; [*0E15.0020.0002.A493] # YI RADICAL NYIP
-A494 ; [*0E16.0020.0002.A494] # YI RADICAL CYP
-A495 ; [*0E17.0020.0002.A495] # YI RADICAL SSI
-A496 ; [*0E18.0020.0002.A496] # YI RADICAL GGOP
-A497 ; [*0E19.0020.0002.A497] # YI RADICAL GEP
-A498 ; [*0E1A.0020.0002.A498] # YI RADICAL MI
-A499 ; [*0E1B.0020.0002.A499] # YI RADICAL HXIT
-A49A ; [*0E1C.0020.0002.A49A] # YI RADICAL LYR
-A49B ; [*0E1D.0020.0002.A49B] # YI RADICAL BBUT
-A49C ; [*0E1E.0020.0002.A49C] # YI RADICAL MOP
-A49D ; [*0E1F.0020.0002.A49D] # YI RADICAL YO
-A49E ; [*0E20.0020.0002.A49E] # YI RADICAL PUT
-A49F ; [*0E21.0020.0002.A49F] # YI RADICAL HXUO
-A4A0 ; [*0E22.0020.0002.A4A0] # YI RADICAL TAT
-A4A1 ; [*0E23.0020.0002.A4A1] # YI RADICAL GA
-A4A2 ; [*0E24.0020.0002.A4A2] # YI RADICAL ZUP
-A4A3 ; [*0E25.0020.0002.A4A3] # YI RADICAL CYT
-A4A4 ; [*0E26.0020.0002.A4A4] # YI RADICAL DDUR
-A4A5 ; [*0E27.0020.0002.A4A5] # YI RADICAL BUR
-A4A6 ; [*0E28.0020.0002.A4A6] # YI RADICAL GGUO
-A4A7 ; [*0E29.0020.0002.A4A7] # YI RADICAL NYOP
-A4A8 ; [*0E2A.0020.0002.A4A8] # YI RADICAL TU
-A4A9 ; [*0E2B.0020.0002.A4A9] # YI RADICAL OP
-A4AA ; [*0E2C.0020.0002.A4AA] # YI RADICAL JJUT
-A4AB ; [*0E2D.0020.0002.A4AB] # YI RADICAL ZOT
-A4AC ; [*0E2E.0020.0002.A4AC] # YI RADICAL PYT
-A4AD ; [*0E2F.0020.0002.A4AD] # YI RADICAL HMO
-A4AE ; [*0E30.0020.0002.A4AE] # YI RADICAL YIT
-A4AF ; [*0E31.0020.0002.A4AF] # YI RADICAL VUR
-A4B0 ; [*0E32.0020.0002.A4B0] # YI RADICAL SHY
-A4B1 ; [*0E33.0020.0002.A4B1] # YI RADICAL VEP
-A4B2 ; [*0E34.0020.0002.A4B2] # YI RADICAL ZA
-A4B3 ; [*0E35.0020.0002.A4B3] # YI RADICAL JO
-A4B4 ; [*0E36.0020.0002.A4B4] # YI RADICAL NZUP
-A4B5 ; [*0E37.0020.0002.A4B5] # YI RADICAL JJY
-A4B6 ; [*0E38.0020.0002.A4B6] # YI RADICAL GOT
-A4B7 ; [*0E39.0020.0002.A4B7] # YI RADICAL JJIE
-A4B8 ; [*0E3A.0020.0002.A4B8] # YI RADICAL WO
-A4B9 ; [*0E3B.0020.0002.A4B9] # YI RADICAL DU
-A4BA ; [*0E3C.0020.0002.A4BA] # YI RADICAL SHUR
-A4BB ; [*0E3D.0020.0002.A4BB] # YI RADICAL LIE
-A4BC ; [*0E3E.0020.0002.A4BC] # YI RADICAL CY
-A4BD ; [*0E3F.0020.0002.A4BD] # YI RADICAL CUOP
-A4BE ; [*0E40.0020.0002.A4BE] # YI RADICAL CIP
-A4BF ; [*0E41.0020.0002.A4BF] # YI RADICAL HXOP
-A4C0 ; [*0E42.0020.0002.A4C0] # YI RADICAL SHAT
-A4C1 ; [*0E43.0020.0002.A4C1] # YI RADICAL ZUR
-A4C2 ; [*0E44.0020.0002.A4C2] # YI RADICAL SHOP
-A4C3 ; [*0E45.0020.0002.A4C3] # YI RADICAL CHE
-A4C4 ; [*0E46.0020.0002.A4C4] # YI RADICAL ZZIET
-A4C5 ; [*0E47.0020.0002.A4C5] # YI RADICAL NBIE
-A4C6 ; [*0E48.0020.0002.A4C6] # YI RADICAL KE
-A4FE ; [*024A.0020.0002.A4FE] # LISU PUNCTUATION COMMA
-A4FF ; [*029B.0020.0002.A4FF] # LISU PUNCTUATION FULL STOP
-A60D ; [*024B.0020.0002.A60D] # VAI COMMA
-A60E ; [*029C.0020.0002.A60E] # VAI FULL STOP
-A60F ; [*028A.0020.0002.A60F] # VAI QUESTION MARK
+2E00 ; [*0394.0020.0002.2E00] # RIGHT ANGLE SUBSTITUTION MARKER
+2E01 ; [*0395.0020.0002.2E01] # RIGHT ANGLE DOTTED SUBSTITUTION MARKER
+2E02 ; [*033B.0020.0002.2E02] # LEFT SUBSTITUTION BRACKET
+2E03 ; [*033C.0020.0002.2E03] # RIGHT SUBSTITUTION BRACKET
+2E04 ; [*033D.0020.0002.2E04] # LEFT DOTTED SUBSTITUTION BRACKET
+2E05 ; [*033E.0020.0002.2E05] # RIGHT DOTTED SUBSTITUTION BRACKET
+2E06 ; [*0396.0020.0002.2E06] # RAISED INTERPOLATION MARKER
+2E07 ; [*0397.0020.0002.2E07] # RAISED DOTTED INTERPOLATION MARKER
+2E08 ; [*0398.0020.0002.2E08] # DOTTED TRANSPOSITION MARKER
+2E09 ; [*033F.0020.0002.2E09] # LEFT TRANSPOSITION BRACKET
+2E0A ; [*0340.0020.0002.2E0A] # RIGHT TRANSPOSITION BRACKET
+2E0B ; [*0399.0020.0002.2E0B] # RAISED SQUARE
+2E0C ; [*0341.0020.0002.2E0C] # LEFT RAISED OMISSION BRACKET
+2E0D ; [*0342.0020.0002.2E0D] # RIGHT RAISED OMISSION BRACKET
+2E0E ; [*039A.0020.0002.2E0E] # EDITORIAL CORONIS
+2E0F ; [*039B.0020.0002.2E0F] # PARAGRAPHOS
+2E10 ; [*039C.0020.0002.2E10] # FORKED PARAGRAPHOS
+2E11 ; [*039D.0020.0002.2E11] # REVERSED FORKED PARAGRAPHOS
+2E12 ; [*039E.0020.0002.2E12] # HYPODIASTOLE
+2E13 ; [*039F.0020.0002.2E13] # DOTTED OBELOS
+2E14 ; [*03A0.0020.0002.2E14] # DOWNWARDS ANCORA
+2E15 ; [*03A1.0020.0002.2E15] # UPWARDS ANCORA
+2E16 ; [*03A2.0020.0002.2E16] # DOTTED RIGHT-POINTING ANGLE
+2E17 ; [*021C.0020.0002.2E17] # DOUBLE OBLIQUE HYPHEN
+2E18 ; [*0272.0020.0002.2E18] # INVERTED INTERROBANG
+2E19 ; [*02DE.0020.0002.2E19] # PALM BRANCH
+2E1A ; [*03A3.0020.0002.2E1A] # HYPHEN WITH DIAERESIS
+2E1B ; [*03A4.0020.0002.2E1B] # TILDE WITH RING ABOVE
+2E1C ; [*0343.0020.0002.2E1C] # LEFT LOW PARAPHRASE BRACKET
+2E1D ; [*0344.0020.0002.2E1D] # RIGHT LOW PARAPHRASE BRACKET
+2E1E ; [*03A5.0020.0002.2E1E] # TILDE WITH DOT ABOVE
+2E1F ; [*03A6.0020.0002.2E1F] # TILDE WITH DOT BELOW
+2E20 ; [*0345.0020.0002.2E20] # LEFT VERTICAL BAR WITH QUILL
+2E21 ; [*0346.0020.0002.2E21] # RIGHT VERTICAL BAR WITH QUILL
+2E22 ; [*0347.0020.0002.2E22] # TOP LEFT HALF BRACKET
+2E23 ; [*0348.0020.0002.2E23] # TOP RIGHT HALF BRACKET
+2E24 ; [*0349.0020.0002.2E24] # BOTTOM LEFT HALF BRACKET
+2E25 ; [*034A.0020.0002.2E25] # BOTTOM RIGHT HALF BRACKET
+2E26 ; [*034B.0020.0002.2E26] # LEFT SIDEWAYS U BRACKET
+2E27 ; [*034C.0020.0002.2E27] # RIGHT SIDEWAYS U BRACKET
+2E28 ; [*034D.0020.0002.2E28] # LEFT DOUBLE PARENTHESIS
+2E29 ; [*034E.0020.0002.2E29] # RIGHT DOUBLE PARENTHESIS
+2E2A ; [*02D8.0020.0002.2E2A] # TWO DOTS OVER ONE DOT PUNCTUATION
+2E2B ; [*02D9.0020.0002.2E2B] # ONE DOT OVER TWO DOTS PUNCTUATION
+2E2C ; [*02DA.0020.0002.2E2C] # SQUARED FOUR DOT PUNCTUATION
+2E2D ; [*02DB.0020.0002.2E2D] # FIVE DOT MARK
+2E2E ; [*0265.0020.0002.2E2E] # REVERSED QUESTION MARK
+2E30 ; [*027F.0020.0002.2E30] # RING POINT
+2E31 ; [*0285.0020.0002.2E31] # WORD SEPARATOR MIDDLE DOT
+2E32 ; [*0223.0020.0002.2E32] # TURNED COMMA
+2E33 ; [*0286.0020.0002.2E33] # RAISED DOT
+2E34 ; [*0222.0020.0002.2E34] # RAISED COMMA
+2E35 ; [*0235.0020.0002.2E35] # TURNED SEMICOLON
+2E36 ; [*037F.0020.0002.2E36] # DAGGER WITH LEFT GUARD
+2E37 ; [*0380.0020.0002.2E37] # DAGGER WITH RIGHT GUARD
+2E38 ; [*0381.0020.0002.2E38] # TURNED DAGGER
+2E39 ; [*0369.0020.0002.2E39] # TOP HALF SECTION SIGN
+2E3A ; [*0219.0020.0002.2E3A] # TWO-EM DASH
+2E3B ; [*021A.0020.0002.2E3B] # THREE-EM DASH
+2FF0 ; [*1483.0020.0002.2FF0] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT
+2FF1 ; [*1484.0020.0002.2FF1] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW
+2FF2 ; [*1485.0020.0002.2FF2] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT
+2FF3 ; [*1486.0020.0002.2FF3] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW
+2FF4 ; [*1487.0020.0002.2FF4] # IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND
+2FF5 ; [*1488.0020.0002.2FF5] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE
+2FF6 ; [*1489.0020.0002.2FF6] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW
+2FF7 ; [*148A.0020.0002.2FF7] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT
+2FF8 ; [*148B.0020.0002.2FF8] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT
+2FF9 ; [*148C.0020.0002.2FF9] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT
+2FFA ; [*148D.0020.0002.2FFA] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT
+2FFB ; [*148E.0020.0002.2FFB] # IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
+3000 ; [*020A.0020.0003.3000] # IDEOGRAPHIC SPACE
+3001 ; [*022F.0020.0002.3001] # IDEOGRAPHIC COMMA
+3002 ; [*0283.0020.0002.3002] # IDEOGRAPHIC FULL STOP
+3003 ; [*038A.0020.0002.3003] # DITTO MARK
+3004 ; [*14B3.0020.0002.3004] # JAPANESE INDUSTRIAL STANDARD SYMBOL
+3008 ; [*034F.0020.0002.3008] # LEFT ANGLE BRACKET
+3009 ; [*0350.0020.0002.3009] # RIGHT ANGLE BRACKET
+300A ; [*0351.0020.0002.300A] # LEFT DOUBLE ANGLE BRACKET
+300B ; [*0352.0020.0002.300B] # RIGHT DOUBLE ANGLE BRACKET
+300C ; [*0353.0020.0002.300C] # LEFT CORNER BRACKET
+300D ; [*0354.0020.0002.300D] # RIGHT CORNER BRACKET
+300E ; [*0355.0020.0002.300E] # LEFT WHITE CORNER BRACKET
+300F ; [*0356.0020.0002.300F] # RIGHT WHITE CORNER BRACKET
+3010 ; [*0357.0020.0002.3010] # LEFT BLACK LENTICULAR BRACKET
+3011 ; [*0358.0020.0002.3011] # RIGHT BLACK LENTICULAR BRACKET
+3012 ; [*14B4.0020.0002.3012] # POSTAL MARK
+3013 ; [*14B5.0020.0002.3013] # GETA MARK
+3014 ; [*0359.0020.0002.3014] # LEFT TORTOISE SHELL BRACKET
+3015 ; [*035A.0020.0002.3015] # RIGHT TORTOISE SHELL BRACKET
+3016 ; [*035B.0020.0002.3016] # LEFT WHITE LENTICULAR BRACKET
+3017 ; [*035C.0020.0002.3017] # RIGHT WHITE LENTICULAR BRACKET
+3018 ; [*035D.0020.0002.3018] # LEFT WHITE TORTOISE SHELL BRACKET
+3019 ; [*035E.0020.0002.3019] # RIGHT WHITE TORTOISE SHELL BRACKET
+301A ; [*035F.0020.0002.301A] # LEFT WHITE SQUARE BRACKET
+301B ; [*0360.0020.0002.301B] # RIGHT WHITE SQUARE BRACKET
+301C ; [*021D.0020.0002.301C] # WAVE DASH
+301D ; [*02F6.0020.0002.301D] # REVERSED DOUBLE PRIME QUOTATION MARK
+301E ; [*02F7.0020.0002.301E] # DOUBLE PRIME QUOTATION MARK
+301F ; [*02F8.0020.0002.301F] # LOW DOUBLE PRIME QUOTATION MARK
+3020 ; [*14B6.0020.0002.3020] # POSTAL MARK FACE
+3030 ; [*021E.0020.0002.3030] # WAVY DASH
+3036 ; [*14B4.0020.0004.3036] # CIRCLED POSTAL MARK
+3037 ; [*14B7.0020.0002.3037] # IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
+303D ; [*038B.0020.0002.303D] # PART ALTERNATION MARK
+303E ; [*14B8.0020.0002.303E] # IDEOGRAPHIC VARIATION INDICATOR
+303F ; [*14B9.0020.0002.303F] # IDEOGRAPHIC HALF FILL SPACE
+309B ; [*041E.0020.0002.309B] # KATAKANA-HIRAGANA VOICED SOUND MARK
+309C ; [*041F.0020.0002.309C] # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+30A0 ; [*021F.0020.0002.30A0] # KATAKANA-HIRAGANA DOUBLE HYPHEN
+30FB ; [*0220.0020.0002.30FB] # KATAKANA MIDDLE DOT
+3190 ; [*14BA.0020.0002.3190] # IDEOGRAPHIC ANNOTATION LINKING MARK
+3191 ; [*14BB.0020.0002.3191] # IDEOGRAPHIC ANNOTATION REVERSE MARK
+31C0 ; [*148F.0020.0002.31C0] # CJK STROKE T
+31C1 ; [*1490.0020.0002.31C1] # CJK STROKE WG
+31C2 ; [*1491.0020.0002.31C2] # CJK STROKE XG
+31C3 ; [*1492.0020.0002.31C3] # CJK STROKE BXG
+31C4 ; [*1493.0020.0002.31C4] # CJK STROKE SW
+31C5 ; [*1494.0020.0002.31C5] # CJK STROKE HZZ
+31C6 ; [*1495.0020.0002.31C6] # CJK STROKE HZG
+31C7 ; [*1496.0020.0002.31C7] # CJK STROKE HP
+31C8 ; [*1497.0020.0002.31C8] # CJK STROKE HZWG
+31C9 ; [*1498.0020.0002.31C9] # CJK STROKE SZWG
+31CA ; [*1499.0020.0002.31CA] # CJK STROKE HZT
+31CB ; [*149A.0020.0002.31CB] # CJK STROKE HZZP
+31CC ; [*149B.0020.0002.31CC] # CJK STROKE HPWG
+31CD ; [*149C.0020.0002.31CD] # CJK STROKE HZW
+31CE ; [*149D.0020.0002.31CE] # CJK STROKE HZZZ
+31CF ; [*149E.0020.0002.31CF] # CJK STROKE N
+31D0 ; [*149F.0020.0002.31D0] # CJK STROKE H
+31D1 ; [*14A0.0020.0002.31D1] # CJK STROKE S
+31D2 ; [*14A1.0020.0002.31D2] # CJK STROKE P
+31D3 ; [*14A2.0020.0002.31D3] # CJK STROKE SP
+31D4 ; [*14A3.0020.0002.31D4] # CJK STROKE D
+31D5 ; [*14A4.0020.0002.31D5] # CJK STROKE HZ
+31D6 ; [*14A5.0020.0002.31D6] # CJK STROKE HG
+31D7 ; [*14A6.0020.0002.31D7] # CJK STROKE SZ
+31D8 ; [*14A7.0020.0002.31D8] # CJK STROKE SWZ
+31D9 ; [*14A8.0020.0002.31D9] # CJK STROKE ST
+31DA ; [*14A9.0020.0002.31DA] # CJK STROKE SG
+31DB ; [*14AA.0020.0002.31DB] # CJK STROKE PD
+31DC ; [*14AB.0020.0002.31DC] # CJK STROKE PZ
+31DD ; [*14AC.0020.0002.31DD] # CJK STROKE TN
+31DE ; [*14AD.0020.0002.31DE] # CJK STROKE SZZ
+31DF ; [*14AE.0020.0002.31DF] # CJK STROKE SWG
+31E0 ; [*14AF.0020.0002.31E0] # CJK STROKE HXWG
+31E1 ; [*14B0.0020.0002.31E1] # CJK STROKE HZZZG
+31E2 ; [*14B1.0020.0002.31E2] # CJK STROKE PG
+31E3 ; [*14B2.0020.0002.31E3] # CJK STROKE Q
+327F ; [*14BC.0020.0002.327F] # KOREAN STANDARD SYMBOL
+4DC0 ; [*0D97.0020.0002.4DC0] # HEXAGRAM FOR THE CREATIVE HEAVEN
+4DC1 ; [*0D98.0020.0002.4DC1] # HEXAGRAM FOR THE RECEPTIVE EARTH
+4DC2 ; [*0D99.0020.0002.4DC2] # HEXAGRAM FOR DIFFICULTY AT THE BEGINNING
+4DC3 ; [*0D9A.0020.0002.4DC3] # HEXAGRAM FOR YOUTHFUL FOLLY
+4DC4 ; [*0D9B.0020.0002.4DC4] # HEXAGRAM FOR WAITING
+4DC5 ; [*0D9C.0020.0002.4DC5] # HEXAGRAM FOR CONFLICT
+4DC6 ; [*0D9D.0020.0002.4DC6] # HEXAGRAM FOR THE ARMY
+4DC7 ; [*0D9E.0020.0002.4DC7] # HEXAGRAM FOR HOLDING TOGETHER
+4DC8 ; [*0D9F.0020.0002.4DC8] # HEXAGRAM FOR SMALL TAMING
+4DC9 ; [*0DA0.0020.0002.4DC9] # HEXAGRAM FOR TREADING
+4DCA ; [*0DA1.0020.0002.4DCA] # HEXAGRAM FOR PEACE
+4DCB ; [*0DA2.0020.0002.4DCB] # HEXAGRAM FOR STANDSTILL
+4DCC ; [*0DA3.0020.0002.4DCC] # HEXAGRAM FOR FELLOWSHIP
+4DCD ; [*0DA4.0020.0002.4DCD] # HEXAGRAM FOR GREAT POSSESSION
+4DCE ; [*0DA5.0020.0002.4DCE] # HEXAGRAM FOR MODESTY
+4DCF ; [*0DA6.0020.0002.4DCF] # HEXAGRAM FOR ENTHUSIASM
+4DD0 ; [*0DA7.0020.0002.4DD0] # HEXAGRAM FOR FOLLOWING
+4DD1 ; [*0DA8.0020.0002.4DD1] # HEXAGRAM FOR WORK ON THE DECAYED
+4DD2 ; [*0DA9.0020.0002.4DD2] # HEXAGRAM FOR APPROACH
+4DD3 ; [*0DAA.0020.0002.4DD3] # HEXAGRAM FOR CONTEMPLATION
+4DD4 ; [*0DAB.0020.0002.4DD4] # HEXAGRAM FOR BITING THROUGH
+4DD5 ; [*0DAC.0020.0002.4DD5] # HEXAGRAM FOR GRACE
+4DD6 ; [*0DAD.0020.0002.4DD6] # HEXAGRAM FOR SPLITTING APART
+4DD7 ; [*0DAE.0020.0002.4DD7] # HEXAGRAM FOR RETURN
+4DD8 ; [*0DAF.0020.0002.4DD8] # HEXAGRAM FOR INNOCENCE
+4DD9 ; [*0DB0.0020.0002.4DD9] # HEXAGRAM FOR GREAT TAMING
+4DDA ; [*0DB1.0020.0002.4DDA] # HEXAGRAM FOR MOUTH CORNERS
+4DDB ; [*0DB2.0020.0002.4DDB] # HEXAGRAM FOR GREAT PREPONDERANCE
+4DDC ; [*0DB3.0020.0002.4DDC] # HEXAGRAM FOR THE ABYSMAL WATER
+4DDD ; [*0DB4.0020.0002.4DDD] # HEXAGRAM FOR THE CLINGING FIRE
+4DDE ; [*0DB5.0020.0002.4DDE] # HEXAGRAM FOR INFLUENCE
+4DDF ; [*0DB6.0020.0002.4DDF] # HEXAGRAM FOR DURATION
+4DE0 ; [*0DB7.0020.0002.4DE0] # HEXAGRAM FOR RETREAT
+4DE1 ; [*0DB8.0020.0002.4DE1] # HEXAGRAM FOR GREAT POWER
+4DE2 ; [*0DB9.0020.0002.4DE2] # HEXAGRAM FOR PROGRESS
+4DE3 ; [*0DBA.0020.0002.4DE3] # HEXAGRAM FOR DARKENING OF THE LIGHT
+4DE4 ; [*0DBB.0020.0002.4DE4] # HEXAGRAM FOR THE FAMILY
+4DE5 ; [*0DBC.0020.0002.4DE5] # HEXAGRAM FOR OPPOSITION
+4DE6 ; [*0DBD.0020.0002.4DE6] # HEXAGRAM FOR OBSTRUCTION
+4DE7 ; [*0DBE.0020.0002.4DE7] # HEXAGRAM FOR DELIVERANCE
+4DE8 ; [*0DBF.0020.0002.4DE8] # HEXAGRAM FOR DECREASE
+4DE9 ; [*0DC0.0020.0002.4DE9] # HEXAGRAM FOR INCREASE
+4DEA ; [*0DC1.0020.0002.4DEA] # HEXAGRAM FOR BREAKTHROUGH
+4DEB ; [*0DC2.0020.0002.4DEB] # HEXAGRAM FOR COMING TO MEET
+4DEC ; [*0DC3.0020.0002.4DEC] # HEXAGRAM FOR GATHERING TOGETHER
+4DED ; [*0DC4.0020.0002.4DED] # HEXAGRAM FOR PUSHING UPWARD
+4DEE ; [*0DC5.0020.0002.4DEE] # HEXAGRAM FOR OPPRESSION
+4DEF ; [*0DC6.0020.0002.4DEF] # HEXAGRAM FOR THE WELL
+4DF0 ; [*0DC7.0020.0002.4DF0] # HEXAGRAM FOR REVOLUTION
+4DF1 ; [*0DC8.0020.0002.4DF1] # HEXAGRAM FOR THE CAULDRON
+4DF2 ; [*0DC9.0020.0002.4DF2] # HEXAGRAM FOR THE AROUSING THUNDER
+4DF3 ; [*0DCA.0020.0002.4DF3] # HEXAGRAM FOR THE KEEPING STILL MOUNTAIN
+4DF4 ; [*0DCB.0020.0002.4DF4] # HEXAGRAM FOR DEVELOPMENT
+4DF5 ; [*0DCC.0020.0002.4DF5] # HEXAGRAM FOR THE MARRYING MAIDEN
+4DF6 ; [*0DCD.0020.0002.4DF6] # HEXAGRAM FOR ABUNDANCE
+4DF7 ; [*0DCE.0020.0002.4DF7] # HEXAGRAM FOR THE WANDERER
+4DF8 ; [*0DCF.0020.0002.4DF8] # HEXAGRAM FOR THE GENTLE WIND
+4DF9 ; [*0DD0.0020.0002.4DF9] # HEXAGRAM FOR THE JOYOUS LAKE
+4DFA ; [*0DD1.0020.0002.4DFA] # HEXAGRAM FOR DISPERSION
+4DFB ; [*0DD2.0020.0002.4DFB] # HEXAGRAM FOR LIMITATION
+4DFC ; [*0DD3.0020.0002.4DFC] # HEXAGRAM FOR INNER TRUTH
+4DFD ; [*0DD4.0020.0002.4DFD] # HEXAGRAM FOR SMALL PREPONDERANCE
+4DFE ; [*0DD5.0020.0002.4DFE] # HEXAGRAM FOR AFTER COMPLETION
+4DFF ; [*0DD6.0020.0002.4DFF] # HEXAGRAM FOR BEFORE COMPLETION
+A490 ; [*0E2E.0020.0002.A490] # YI RADICAL QOT
+A491 ; [*0E2F.0020.0002.A491] # YI RADICAL LI
+A492 ; [*0E30.0020.0002.A492] # YI RADICAL KIT
+A493 ; [*0E31.0020.0002.A493] # YI RADICAL NYIP
+A494 ; [*0E32.0020.0002.A494] # YI RADICAL CYP
+A495 ; [*0E33.0020.0002.A495] # YI RADICAL SSI
+A496 ; [*0E34.0020.0002.A496] # YI RADICAL GGOP
+A497 ; [*0E35.0020.0002.A497] # YI RADICAL GEP
+A498 ; [*0E36.0020.0002.A498] # YI RADICAL MI
+A499 ; [*0E37.0020.0002.A499] # YI RADICAL HXIT
+A49A ; [*0E38.0020.0002.A49A] # YI RADICAL LYR
+A49B ; [*0E39.0020.0002.A49B] # YI RADICAL BBUT
+A49C ; [*0E3A.0020.0002.A49C] # YI RADICAL MOP
+A49D ; [*0E3B.0020.0002.A49D] # YI RADICAL YO
+A49E ; [*0E3C.0020.0002.A49E] # YI RADICAL PUT
+A49F ; [*0E3D.0020.0002.A49F] # YI RADICAL HXUO
+A4A0 ; [*0E3E.0020.0002.A4A0] # YI RADICAL TAT
+A4A1 ; [*0E3F.0020.0002.A4A1] # YI RADICAL GA
+A4A2 ; [*0E40.0020.0002.A4A2] # YI RADICAL ZUP
+A4A3 ; [*0E41.0020.0002.A4A3] # YI RADICAL CYT
+A4A4 ; [*0E42.0020.0002.A4A4] # YI RADICAL DDUR
+A4A5 ; [*0E43.0020.0002.A4A5] # YI RADICAL BUR
+A4A6 ; [*0E44.0020.0002.A4A6] # YI RADICAL GGUO
+A4A7 ; [*0E45.0020.0002.A4A7] # YI RADICAL NYOP
+A4A8 ; [*0E46.0020.0002.A4A8] # YI RADICAL TU
+A4A9 ; [*0E47.0020.0002.A4A9] # YI RADICAL OP
+A4AA ; [*0E48.0020.0002.A4AA] # YI RADICAL JJUT
+A4AB ; [*0E49.0020.0002.A4AB] # YI RADICAL ZOT
+A4AC ; [*0E4A.0020.0002.A4AC] # YI RADICAL PYT
+A4AD ; [*0E4B.0020.0002.A4AD] # YI RADICAL HMO
+A4AE ; [*0E4C.0020.0002.A4AE] # YI RADICAL YIT
+A4AF ; [*0E4D.0020.0002.A4AF] # YI RADICAL VUR
+A4B0 ; [*0E4E.0020.0002.A4B0] # YI RADICAL SHY
+A4B1 ; [*0E4F.0020.0002.A4B1] # YI RADICAL VEP
+A4B2 ; [*0E50.0020.0002.A4B2] # YI RADICAL ZA
+A4B3 ; [*0E51.0020.0002.A4B3] # YI RADICAL JO
+A4B4 ; [*0E52.0020.0002.A4B4] # YI RADICAL NZUP
+A4B5 ; [*0E53.0020.0002.A4B5] # YI RADICAL JJY
+A4B6 ; [*0E54.0020.0002.A4B6] # YI RADICAL GOT
+A4B7 ; [*0E55.0020.0002.A4B7] # YI RADICAL JJIE
+A4B8 ; [*0E56.0020.0002.A4B8] # YI RADICAL WO
+A4B9 ; [*0E57.0020.0002.A4B9] # YI RADICAL DU
+A4BA ; [*0E58.0020.0002.A4BA] # YI RADICAL SHUR
+A4BB ; [*0E59.0020.0002.A4BB] # YI RADICAL LIE
+A4BC ; [*0E5A.0020.0002.A4BC] # YI RADICAL CY
+A4BD ; [*0E5B.0020.0002.A4BD] # YI RADICAL CUOP
+A4BE ; [*0E5C.0020.0002.A4BE] # YI RADICAL CIP
+A4BF ; [*0E5D.0020.0002.A4BF] # YI RADICAL HXOP
+A4C0 ; [*0E5E.0020.0002.A4C0] # YI RADICAL SHAT
+A4C1 ; [*0E5F.0020.0002.A4C1] # YI RADICAL ZUR
+A4C2 ; [*0E60.0020.0002.A4C2] # YI RADICAL SHOP
+A4C3 ; [*0E61.0020.0002.A4C3] # YI RADICAL CHE
+A4C4 ; [*0E62.0020.0002.A4C4] # YI RADICAL ZZIET
+A4C5 ; [*0E63.0020.0002.A4C5] # YI RADICAL NBIE
+A4C6 ; [*0E64.0020.0002.A4C6] # YI RADICAL KE
+A4FE ; [*022C.0020.0002.A4FE] # LISU PUNCTUATION COMMA
+A4FF ; [*0280.0020.0002.A4FF] # LISU PUNCTUATION FULL STOP
+A60D ; [*022D.0020.0002.A60D] # VAI COMMA
+A60E ; [*0281.0020.0002.A60E] # VAI FULL STOP
+A60F ; [*026D.0020.0002.A60F] # VAI QUESTION MARK
A670 ; [.0000.0000.0000.A670] # COMBINING CYRILLIC TEN MILLIONS SIGN
A671 ; [.0000.0000.0000.A671] # COMBINING CYRILLIC HUNDRED MILLIONS SIGN
A672 ; [.0000.0000.0000.A672] # COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A673 ; [*036A.0020.0002.A673] # SLAVONIC ASTERISK
-A67E ; [*03A0.0020.0002.A67E] # CYRILLIC KAVYKA
-A6F2 ; [*02D7.0020.0002.A6F2] # BAMUM NJAEMLI
-A6F3 ; [*029D.0020.0002.A6F3] # BAMUM FULL STOP
-A6F4 ; [*027A.0020.0002.A6F4] # BAMUM COLON
-A6F5 ; [*024C.0020.0002.A6F5] # BAMUM COMMA
-A6F6 ; [*0253.0020.0002.A6F6] # BAMUM SEMICOLON
-A6F7 ; [*028B.0020.0002.A6F7] # BAMUM QUESTION MARK
-A700 ; [*0441.0020.0002.A700] # MODIFIER LETTER CHINESE TONE YIN PING
-A701 ; [*0442.0020.0002.A701] # MODIFIER LETTER CHINESE TONE YANG PING
-A702 ; [*0443.0020.0002.A702] # MODIFIER LETTER CHINESE TONE YIN SHANG
-A703 ; [*0444.0020.0002.A703] # MODIFIER LETTER CHINESE TONE YANG SHANG
-A704 ; [*0445.0020.0002.A704] # MODIFIER LETTER CHINESE TONE YIN QU
-A705 ; [*0446.0020.0002.A705] # MODIFIER LETTER CHINESE TONE YANG QU
-A706 ; [*0447.0020.0002.A706] # MODIFIER LETTER CHINESE TONE YIN RU
-A707 ; [*0448.0020.0002.A707] # MODIFIER LETTER CHINESE TONE YANG RU
-A708 ; [*0449.0020.0002.A708] # MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR
-A709 ; [*044A.0020.0002.A709] # MODIFIER LETTER HIGH DOTTED TONE BAR
-A70A ; [*044B.0020.0002.A70A] # MODIFIER LETTER MID DOTTED TONE BAR
-A70B ; [*044C.0020.0002.A70B] # MODIFIER LETTER LOW DOTTED TONE BAR
-A70C ; [*044D.0020.0002.A70C] # MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR
-A70D ; [*044E.0020.0002.A70D] # MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR
-A70E ; [*044F.0020.0002.A70E] # MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR
-A70F ; [*0450.0020.0002.A70F] # MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR
-A710 ; [*0451.0020.0002.A710] # MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR
-A711 ; [*0452.0020.0002.A711] # MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR
-A712 ; [*0453.0020.0002.A712] # MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR
-A713 ; [*0454.0020.0002.A713] # MODIFIER LETTER HIGH LEFT-STEM TONE BAR
-A714 ; [*0455.0020.0002.A714] # MODIFIER LETTER MID LEFT-STEM TONE BAR
-A715 ; [*0456.0020.0002.A715] # MODIFIER LETTER LOW LEFT-STEM TONE BAR
-A716 ; [*0457.0020.0002.A716] # MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
-A717 ; [*0458.0020.0002.A717] # MODIFIER LETTER DOT VERTICAL BAR
-A718 ; [*0459.0020.0002.A718] # MODIFIER LETTER DOT SLASH
-A719 ; [*045A.0020.0002.A719] # MODIFIER LETTER DOT HORIZONTAL BAR
-A71A ; [*045B.0020.0002.A71A] # MODIFIER LETTER LOWER RIGHT CORNER ANGLE
-A71B ; [*045C.0020.0002.A71B] # MODIFIER LETTER RAISED UP ARROW
-A71C ; [*045D.0020.0002.A71C] # MODIFIER LETTER RAISED DOWN ARROW
-A71D ; [*045E.0020.0002.A71D] # MODIFIER LETTER RAISED EXCLAMATION MARK
-A71E ; [*045F.0020.0002.A71E] # MODIFIER LETTER RAISED INVERTED EXCLAMATION MARK
-A71F ; [*0460.0020.0002.A71F] # MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A720 ; [*0461.0020.0002.A720] # MODIFIER LETTER STRESS AND HIGH TONE
-A721 ; [*0462.0020.0002.A721] # MODIFIER LETTER STRESS AND LOW TONE
-A788 ; [*0463.0020.0002.A788] # MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A789 ; [*0464.0020.0002.A789] # MODIFIER LETTER COLON
-A78A ; [*0465.0020.0002.A78A] # MODIFIER LETTER SHORT EQUALS SIGN
-A828 ; [*047A.0020.0002.A828] # SYLOTI NAGRI POETRY MARK-1
-A829 ; [*047B.0020.0002.A829] # SYLOTI NAGRI POETRY MARK-2
-A82A ; [*047C.0020.0002.A82A] # SYLOTI NAGRI POETRY MARK-3
-A82B ; [*047D.0020.0002.A82B] # SYLOTI NAGRI POETRY MARK-4
-A830 ; [*149E.0020.0002.A830] # NORTH INDIC FRACTION ONE QUARTER
-A831 ; [*149F.0020.0002.A831] # NORTH INDIC FRACTION ONE HALF
-A832 ; [*14A0.0020.0002.A832] # NORTH INDIC FRACTION THREE QUARTERS
-A833 ; [*14A1.0020.0002.A833] # NORTH INDIC FRACTION ONE SIXTEENTH
-A834 ; [*14A2.0020.0002.A834] # NORTH INDIC FRACTION ONE EIGHTH
-A835 ; [*14A3.0020.0002.A835] # NORTH INDIC FRACTION THREE SIXTEENTHS
-A836 ; [*047E.0020.0002.A836] # NORTH INDIC QUARTER MARK
-A837 ; [*047F.0020.0002.A837] # NORTH INDIC PLACEHOLDER MARK
-A839 ; [*0480.0020.0002.A839] # NORTH INDIC QUANTITY MARK
-A874 ; [*03EB.0020.0002.A874] # PHAGS-PA SINGLE HEAD MARK
-A875 ; [*03EC.0020.0002.A875] # PHAGS-PA DOUBLE HEAD MARK
-A876 ; [*02A7.0020.0002.A876] # PHAGS-PA MARK SHAD
-A877 ; [*02A8.0020.0002.A877] # PHAGS-PA MARK DOUBLE SHAD
-A8CE ; [*02A3.0020.0002.A8CE] # SAURASHTRA DANDA
-A8CF ; [*02A4.0020.0002.A8CF] # SAURASHTRA DOUBLE DANDA
+A673 ; [*0371.0020.0002.A673] # SLAVONIC ASTERISK
+A67E ; [*03A7.0020.0002.A67E] # CYRILLIC KAVYKA
+A6F2 ; [*02C2.0020.0002.A6F2] # BAMUM NJAEMLI
+A6F3 ; [*0282.0020.0002.A6F3] # BAMUM FULL STOP
+A6F4 ; [*025D.0020.0002.A6F4] # BAMUM COLON
+A6F5 ; [*022E.0020.0002.A6F5] # BAMUM COMMA
+A6F6 ; [*0236.0020.0002.A6F6] # BAMUM SEMICOLON
+A6F7 ; [*026E.0020.0002.A6F7] # BAMUM QUESTION MARK
+A700 ; [*045D.0020.0002.A700] # MODIFIER LETTER CHINESE TONE YIN PING
+A701 ; [*045E.0020.0002.A701] # MODIFIER LETTER CHINESE TONE YANG PING
+A702 ; [*045F.0020.0002.A702] # MODIFIER LETTER CHINESE TONE YIN SHANG
+A703 ; [*0460.0020.0002.A703] # MODIFIER LETTER CHINESE TONE YANG SHANG
+A704 ; [*0461.0020.0002.A704] # MODIFIER LETTER CHINESE TONE YIN QU
+A705 ; [*0462.0020.0002.A705] # MODIFIER LETTER CHINESE TONE YANG QU
+A706 ; [*0463.0020.0002.A706] # MODIFIER LETTER CHINESE TONE YIN RU
+A707 ; [*0464.0020.0002.A707] # MODIFIER LETTER CHINESE TONE YANG RU
+A708 ; [*0465.0020.0002.A708] # MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR
+A709 ; [*0466.0020.0002.A709] # MODIFIER LETTER HIGH DOTTED TONE BAR
+A70A ; [*0467.0020.0002.A70A] # MODIFIER LETTER MID DOTTED TONE BAR
+A70B ; [*0468.0020.0002.A70B] # MODIFIER LETTER LOW DOTTED TONE BAR
+A70C ; [*0469.0020.0002.A70C] # MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR
+A70D ; [*046A.0020.0002.A70D] # MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR
+A70E ; [*046B.0020.0002.A70E] # MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR
+A70F ; [*046C.0020.0002.A70F] # MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR
+A710 ; [*046D.0020.0002.A710] # MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR
+A711 ; [*046E.0020.0002.A711] # MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR
+A712 ; [*046F.0020.0002.A712] # MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR
+A713 ; [*0470.0020.0002.A713] # MODIFIER LETTER HIGH LEFT-STEM TONE BAR
+A714 ; [*0471.0020.0002.A714] # MODIFIER LETTER MID LEFT-STEM TONE BAR
+A715 ; [*0472.0020.0002.A715] # MODIFIER LETTER LOW LEFT-STEM TONE BAR
+A716 ; [*0473.0020.0002.A716] # MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
+A717 ; [*0474.0020.0002.A717] # MODIFIER LETTER DOT VERTICAL BAR
+A718 ; [*0475.0020.0002.A718] # MODIFIER LETTER DOT SLASH
+A719 ; [*0476.0020.0002.A719] # MODIFIER LETTER DOT HORIZONTAL BAR
+A71A ; [*0477.0020.0002.A71A] # MODIFIER LETTER LOWER RIGHT CORNER ANGLE
+A71B ; [*0478.0020.0002.A71B] # MODIFIER LETTER RAISED UP ARROW
+A71C ; [*0479.0020.0002.A71C] # MODIFIER LETTER RAISED DOWN ARROW
+A71D ; [*047A.0020.0002.A71D] # MODIFIER LETTER RAISED EXCLAMATION MARK
+A71E ; [*047B.0020.0002.A71E] # MODIFIER LETTER RAISED INVERTED EXCLAMATION MARK
+A71F ; [*047C.0020.0002.A71F] # MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
+A720 ; [*047D.0020.0002.A720] # MODIFIER LETTER STRESS AND HIGH TONE
+A721 ; [*047E.0020.0002.A721] # MODIFIER LETTER STRESS AND LOW TONE
+A788 ; [*047F.0020.0002.A788] # MODIFIER LETTER LOW CIRCUMFLEX ACCENT
+A789 ; [*0480.0020.0002.A789] # MODIFIER LETTER COLON
+A78A ; [*0481.0020.0002.A78A] # MODIFIER LETTER SHORT EQUALS SIGN
+A828 ; [*04A8.0020.0002.A828] # SYLOTI NAGRI POETRY MARK-1
+A829 ; [*04A9.0020.0002.A829] # SYLOTI NAGRI POETRY MARK-2
+A82A ; [*04AA.0020.0002.A82A] # SYLOTI NAGRI POETRY MARK-3
+A82B ; [*04AB.0020.0002.A82B] # SYLOTI NAGRI POETRY MARK-4
+A830 ; [*14CB.0020.0002.A830] # NORTH INDIC FRACTION ONE QUARTER
+A831 ; [*14CC.0020.0002.A831] # NORTH INDIC FRACTION ONE HALF
+A832 ; [*14CD.0020.0002.A832] # NORTH INDIC FRACTION THREE QUARTERS
+A833 ; [*14CE.0020.0002.A833] # NORTH INDIC FRACTION ONE SIXTEENTH
+A834 ; [*14CF.0020.0002.A834] # NORTH INDIC FRACTION ONE EIGHTH
+A835 ; [*14D0.0020.0002.A835] # NORTH INDIC FRACTION THREE SIXTEENTHS
+A836 ; [*04AC.0020.0002.A836] # NORTH INDIC QUARTER MARK
+A837 ; [*04AD.0020.0002.A837] # NORTH INDIC PLACEHOLDER MARK
+A839 ; [*04AE.0020.0002.A839] # NORTH INDIC QUANTITY MARK
+A874 ; [*03F5.0020.0002.A874] # PHAGS-PA SINGLE HEAD MARK
+A875 ; [*03F6.0020.0002.A875] # PHAGS-PA DOUBLE HEAD MARK
+A876 ; [*028D.0020.0002.A876] # PHAGS-PA MARK SHAD
+A877 ; [*028E.0020.0002.A877] # PHAGS-PA MARK DOUBLE SHAD
+A8CE ; [*0289.0020.0002.A8CE] # SAURASHTRA DANDA
+A8CF ; [*028A.0020.0002.A8CF] # SAURASHTRA DOUBLE DANDA
A8E0 ; [.0000.0000.0000.A8E0] # COMBINING DEVANAGARI DIGIT ZERO
A8E1 ; [.0000.0000.0000.A8E1] # COMBINING DEVANAGARI DIGIT ONE
A8E2 ; [.0000.0000.0000.A8E2] # COMBINING DEVANAGARI DIGIT TWO
@@ -3802,811 +3832,821 @@ A8EE ; [.0000.0000.0000.A8EE] # COMBINING DEVANAGARI LETTER PA
A8EF ; [.0000.0000.0000.A8EF] # COMBINING DEVANAGARI LETTER RA
A8F0 ; [.0000.0000.0000.A8F0] # COMBINING DEVANAGARI LETTER VI
A8F1 ; [.0000.0000.0000.A8F1] # COMBINING DEVANAGARI SIGN AVAGRAHA
-A8F8 ; [*03B1.0020.0002.A8F8] # DEVANAGARI SIGN PUSHPIKA
-A8F9 ; [*03B2.0020.0002.A8F9] # DEVANAGARI GAP FILLER
-A8FA ; [*03B3.0020.0002.A8FA] # DEVANAGARI CARET
-A92E ; [*03F1.0020.0002.A92E] # KAYAH LI SIGN CWI
-A92F ; [*02AB.0020.0002.A92F] # KAYAH LI SIGN SHYA
-A95F ; [*02D8.0020.0002.A95F] # REJANG SECTION MARK
-A9C1 ; [*02CD.0020.0002.A9C1] # JAVANESE LEFT RERENGGAN
-A9C2 ; [*02CE.0020.0002.A9C2] # JAVANESE RIGHT RERENGGAN
-A9C3 ; [*02CF.0020.0002.A9C3] # JAVANESE PADA ANDAP
-A9C4 ; [*02D0.0020.0002.A9C4] # JAVANESE PADA MADYA
-A9C5 ; [*02D1.0020.0002.A9C5] # JAVANESE PADA LUHUR
-A9C6 ; [*02D2.0020.0002.A9C6] # JAVANESE PADA WINDU
-A9C7 ; [*0276.0020.0002.A9C7] # JAVANESE PADA PANGKAT
-A9C8 ; [*02B6.0020.0002.A9C8] # JAVANESE PADA LINGSA
-A9C9 ; [*02B7.0020.0002.A9C9] # JAVANESE PADA LUNGSI
-A9CA ; [*02D3.0020.0002.A9CA] # JAVANESE PADA ADEG
-A9CB ; [*02D4.0020.0002.A9CB] # JAVANESE PADA ADEG ADEG
-A9CC ; [*02D5.0020.0002.A9CC] # JAVANESE PADA PISELEH
-A9CD ; [*02D6.0020.0002.A9CD] # JAVANESE TURNED PADA PISELEH
-A9DE ; [*03F2.0020.0002.A9DE] # JAVANESE PADA TIRTA TUMETES
-A9DF ; [*03F3.0020.0002.A9DF] # JAVANESE PADA ISEN-ISEN
-AA5C ; [*03F4.0020.0002.AA5C] # CHAM PUNCTUATION SPIRAL
-AA5D ; [*02B8.0020.0002.AA5D] # CHAM PUNCTUATION DANDA
-AA5E ; [*02B9.0020.0002.AA5E] # CHAM PUNCTUATION DOUBLE DANDA
-AA5F ; [*02BA.0020.0002.AA5F] # CHAM PUNCTUATION TRIPLE DANDA
-AA77 ; [*03D9.0020.0002.AA77] # MYANMAR SYMBOL AITON EXCLAMATION
-AA78 ; [*03DA.0020.0002.AA78] # MYANMAR SYMBOL AITON ONE
-AA79 ; [*03DB.0020.0002.AA79] # MYANMAR SYMBOL AITON TWO
-AADE ; [*03B7.0020.0002.AADE] # TAI VIET SYMBOL HO HOI
-AADF ; [*03B8.0020.0002.AADF] # TAI VIET SYMBOL KOI KOI
-ABEB ; [*02BB.0020.0002.ABEB] # MEETEI MAYEK CHEIKHEI
-FB29 ; [*056A.0020.0005.FB29] # HEBREW LETTER ALTERNATIVE PLUS SIGN; QQK
-FBB2 ; [*021E.0020.0002.FBB2] # ARABIC SYMBOL DOT ABOVE
-FBB3 ; [*021F.0020.0002.FBB3] # ARABIC SYMBOL DOT BELOW
-FBB4 ; [*0220.0020.0002.FBB4] # ARABIC SYMBOL TWO DOTS ABOVE
-FBB5 ; [*0221.0020.0002.FBB5] # ARABIC SYMBOL TWO DOTS BELOW
-FBB6 ; [*0222.0020.0002.FBB6] # ARABIC SYMBOL THREE DOTS ABOVE
-FBB7 ; [*0223.0020.0002.FBB7] # ARABIC SYMBOL THREE DOTS BELOW
-FBB8 ; [*0224.0020.0002.FBB8] # ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS ABOVE
-FBB9 ; [*0225.0020.0002.FBB9] # ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS BELOW
-FBBA ; [*0226.0020.0002.FBBA] # ARABIC SYMBOL FOUR DOTS ABOVE
-FBBB ; [*0227.0020.0002.FBBB] # ARABIC SYMBOL FOUR DOTS BELOW
-FBBC ; [*0228.0020.0002.FBBC] # ARABIC SYMBOL DOUBLE VERTICAL BAR BELOW
-FBBD ; [*0229.0020.0002.FBBD] # ARABIC SYMBOL TWO DOTS VERTICALLY ABOVE
-FBBE ; [*022A.0020.0002.FBBE] # ARABIC SYMBOL TWO DOTS VERTICALLY BELOW
-FBBF ; [*022B.0020.0002.FBBF] # ARABIC SYMBOL RING
-FBC0 ; [*022C.0020.0002.FBC0] # ARABIC SYMBOL SMALL TAH ABOVE
-FBC1 ; [*022D.0020.0002.FBC1] # ARABIC SYMBOL SMALL TAH BELOW
-FD3E ; [*035E.0020.0002.FD3E] # ORNATE LEFT PARENTHESIS
-FD3F ; [*035F.0020.0002.FD3F] # ORNATE RIGHT PARENTHESIS
-FDFD ; [*046D.0020.0002.FDFD] # ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
-FE10 ; [*0241.0020.0016.FE10] # PRESENTATION FORM FOR VERTICAL COMMA; QQK
-FE11 ; [*024D.0020.0016.FE11] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA; QQK
-FE12 ; [*029E.0020.0016.FE12] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP; QQK
-FE13 ; [*0254.0020.0016.FE13] # PRESENTATION FORM FOR VERTICAL COLON; QQK
-FE14 ; [*0250.0020.0016.FE14] # PRESENTATION FORM FOR VERTICAL SEMICOLON; QQK
-FE15 ; [*027B.0020.0016.FE15] # PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK; QQK
-FE16 ; [*0280.0020.0016.FE16] # PRESENTATION FORM FOR VERTICAL QUESTION MARK; QQK
-FE17 ; [*0358.0020.0016.FE17] # PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET; QQK
-FE18 ; [*0359.0020.0016.FE18] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET; QQK
-FE19 ; [*028E.0020.0016.FE19][*028E.0020.0016.FE19][*028E.0020.001F.FE19] # PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS; QQKN
+A8F8 ; [*03B8.0020.0002.A8F8] # DEVANAGARI SIGN PUSHPIKA
+A8F9 ; [*03B9.0020.0002.A8F9] # DEVANAGARI GAP FILLER
+A8FA ; [*03BA.0020.0002.A8FA] # DEVANAGARI CARET
+A92E ; [*03FB.0020.0002.A92E] # KAYAH LI SIGN CWI
+A92F ; [*0291.0020.0002.A92F] # KAYAH LI SIGN SHYA
+A95F ; [*02C3.0020.0002.A95F] # REJANG SECTION MARK
+A9C1 ; [*02B8.0020.0002.A9C1] # JAVANESE LEFT RERENGGAN
+A9C2 ; [*02B9.0020.0002.A9C2] # JAVANESE RIGHT RERENGGAN
+A9C3 ; [*02BA.0020.0002.A9C3] # JAVANESE PADA ANDAP
+A9C4 ; [*02BB.0020.0002.A9C4] # JAVANESE PADA MADYA
+A9C5 ; [*02BC.0020.0002.A9C5] # JAVANESE PADA LUHUR
+A9C6 ; [*02BD.0020.0002.A9C6] # JAVANESE PADA WINDU
+A9C7 ; [*0259.0020.0002.A9C7] # JAVANESE PADA PANGKAT
+A9C8 ; [*029C.0020.0002.A9C8] # JAVANESE PADA LINGSA
+A9C9 ; [*029D.0020.0002.A9C9] # JAVANESE PADA LUNGSI
+A9CA ; [*02BE.0020.0002.A9CA] # JAVANESE PADA ADEG
+A9CB ; [*02BF.0020.0002.A9CB] # JAVANESE PADA ADEG ADEG
+A9CC ; [*02C0.0020.0002.A9CC] # JAVANESE PADA PISELEH
+A9CD ; [*02C1.0020.0002.A9CD] # JAVANESE TURNED PADA PISELEH
+A9DE ; [*03FC.0020.0002.A9DE] # JAVANESE PADA TIRTA TUMETES
+A9DF ; [*03FD.0020.0002.A9DF] # JAVANESE PADA ISEN-ISEN
+AA5C ; [*03FE.0020.0002.AA5C] # CHAM PUNCTUATION SPIRAL
+AA5D ; [*029E.0020.0002.AA5D] # CHAM PUNCTUATION DANDA
+AA5E ; [*029F.0020.0002.AA5E] # CHAM PUNCTUATION DOUBLE DANDA
+AA5F ; [*02A0.0020.0002.AA5F] # CHAM PUNCTUATION TRIPLE DANDA
+AA77 ; [*04D6.0020.0002.AA77] # MYANMAR SYMBOL AITON EXCLAMATION
+AA78 ; [*04D7.0020.0002.AA78] # MYANMAR SYMBOL AITON ONE
+AA79 ; [*04D8.0020.0002.AA79] # MYANMAR SYMBOL AITON TWO
+AADE ; [*03C0.0020.0002.AADE] # TAI VIET SYMBOL HO HOI
+AADF ; [*03C1.0020.0002.AADF] # TAI VIET SYMBOL KOI KOI
+AAF0 ; [*02A1.0020.0002.AAF0] # MEETEI MAYEK CHEIKHAN
+AAF1 ; [*026F.0020.0002.AAF1] # MEETEI MAYEK AHANG KHUDAM
+ABEB ; [*02A2.0020.0002.ABEB] # MEETEI MAYEK CHEIKHEI
+FB29 ; [*059C.0020.0005.FB29] # HEBREW LETTER ALTERNATIVE PLUS SIGN
+FBB2 ; [*048C.0020.0002.FBB2] # ARABIC SYMBOL DOT ABOVE
+FBB3 ; [*048D.0020.0002.FBB3] # ARABIC SYMBOL DOT BELOW
+FBB4 ; [*048E.0020.0002.FBB4] # ARABIC SYMBOL TWO DOTS ABOVE
+FBB5 ; [*048F.0020.0002.FBB5] # ARABIC SYMBOL TWO DOTS BELOW
+FBB6 ; [*0490.0020.0002.FBB6] # ARABIC SYMBOL THREE DOTS ABOVE
+FBB7 ; [*0491.0020.0002.FBB7] # ARABIC SYMBOL THREE DOTS BELOW
+FBB8 ; [*0492.0020.0002.FBB8] # ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS ABOVE
+FBB9 ; [*0493.0020.0002.FBB9] # ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS BELOW
+FBBA ; [*0494.0020.0002.FBBA] # ARABIC SYMBOL FOUR DOTS ABOVE
+FBBB ; [*0495.0020.0002.FBBB] # ARABIC SYMBOL FOUR DOTS BELOW
+FBBC ; [*0496.0020.0002.FBBC] # ARABIC SYMBOL DOUBLE VERTICAL BAR BELOW
+FBBD ; [*0497.0020.0002.FBBD] # ARABIC SYMBOL TWO DOTS VERTICALLY ABOVE
+FBBE ; [*0498.0020.0002.FBBE] # ARABIC SYMBOL TWO DOTS VERTICALLY BELOW
+FBBF ; [*0499.0020.0002.FBBF] # ARABIC SYMBOL RING
+FBC0 ; [*049A.0020.0002.FBC0] # ARABIC SYMBOL SMALL TAH ABOVE
+FBC1 ; [*049B.0020.0002.FBC1] # ARABIC SYMBOL SMALL TAH BELOW
+FD3E ; [*0361.0020.0002.FD3E] # ORNATE LEFT PARENTHESIS
+FD3F ; [*0362.0020.0002.FD3F] # ORNATE RIGHT PARENTHESIS
+FDFD ; [*048B.0020.0002.FDFD] # ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
+FE10 ; [*0221.0020.0016.FE10] # PRESENTATION FORM FOR VERTICAL COMMA
+FE11 ; [*022F.0020.0016.FE11] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA
+FE12 ; [*0283.0020.0016.FE12] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP
+FE13 ; [*0237.0020.0016.FE13] # PRESENTATION FORM FOR VERTICAL COLON
+FE14 ; [*0232.0020.0016.FE14] # PRESENTATION FORM FOR VERTICAL SEMICOLON
+FE15 ; [*025E.0020.0016.FE15] # PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK
+FE16 ; [*0263.0020.0016.FE16] # PRESENTATION FORM FOR VERTICAL QUESTION MARK
+FE17 ; [*035B.0020.0016.FE17] # PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
+FE18 ; [*035C.0020.0016.FE18] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
+FE19 ; [*0273.0020.0016.FE19][*0273.0020.0016.FE19][*0273.0020.001F.FE19] # PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
FE21 ; [.0000.0000.0000.FE21] # COMBINING LIGATURE RIGHT HALF
FE23 ; [.0000.0000.0000.FE23] # COMBINING DOUBLE TILDE RIGHT HALF
FE24 ; [.0000.0000.0000.FE24] # COMBINING MACRON LEFT HALF
FE25 ; [.0000.0000.0000.FE25] # COMBINING MACRON RIGHT HALF
FE26 ; [.0000.0000.0000.FE26] # COMBINING CONJOINING MACRON
-FE30 ; [*028E.0020.0016.FE30][*028E.0020.0016.FE30] # PRESENTATION FORM FOR VERTICAL TWO DOT LEADER; QQKN
-FE31 ; [*0239.0020.0016.FE31] # PRESENTATION FORM FOR VERTICAL EM DASH; QQK
-FE32 ; [*0238.0020.0016.FE32] # PRESENTATION FORM FOR VERTICAL EN DASH; QQK
-FE33 ; [*021B.0020.0016.FE33] # PRESENTATION FORM FOR VERTICAL LOW LINE; QQK
-FE34 ; [*021B.0020.0016.FE34] # PRESENTATION FORM FOR VERTICAL WAVY LOW LINE; QQK
-FE35 ; [*030E.0020.0016.FE35] # PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS; QQK
-FE36 ; [*030F.0020.0016.FE36] # PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS; QQK
-FE37 ; [*0312.0020.0016.FE37] # PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET; QQK
-FE38 ; [*0313.0020.0016.FE38] # PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET; QQK
-FE39 ; [*0356.0020.0016.FE39] # PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET; QQK
-FE3A ; [*0357.0020.0016.FE3A] # PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET; QQK
-FE3B ; [*0354.0020.0016.FE3B] # PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET; QQK
-FE3C ; [*0355.0020.0016.FE3C] # PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET; QQK
-FE3D ; [*034E.0020.0016.FE3D] # PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET; QQK
-FE3E ; [*034F.0020.0016.FE3E] # PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET; QQK
-FE3F ; [*034C.0020.0016.FE3F] # PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET; QQK
-FE40 ; [*034D.0020.0016.FE40] # PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET; QQK
-FE41 ; [*0350.0020.0016.FE41] # PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET; QQK
-FE42 ; [*0351.0020.0016.FE42] # PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET; QQK
-FE43 ; [*0352.0020.0016.FE43] # PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET; QQK
-FE44 ; [*0353.0020.0016.FE44] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET; QQK
-FE45 ; [*024E.0020.0002.FE45] # SESAME DOT
-FE46 ; [*024F.0020.0002.FE46] # WHITE SESAME DOT
-FE47 ; [*0310.0020.0016.FE47] # PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET; QQK
-FE48 ; [*0311.0020.0016.FE48] # PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET; QQK
-FE49 ; [*0211.0020.0004.FE49] # DASHED OVERLINE; QQK
-FE4A ; [*0211.0020.0004.FE4A] # CENTRELINE OVERLINE; QQK
-FE4B ; [*0211.0020.0004.FE4B] # WAVY OVERLINE; QQK
-FE4C ; [*0211.0020.0004.FE4C] # DOUBLE WAVY OVERLINE; QQK
-FE4D ; [*021B.0020.0004.FE4D] # DASHED LOW LINE; QQK
-FE4E ; [*021B.0020.0004.FE4E] # CENTRELINE LOW LINE; QQK
-FE4F ; [*021B.0020.0004.FE4F] # WAVY LOW LINE; QQK
-FE50 ; [*0241.0020.000F.FE50] # SMALL COMMA; QQK
-FE51 ; [*024D.0020.000F.FE51] # SMALL IDEOGRAPHIC COMMA; QQK
-FE52 ; [*028E.0020.000F.FE52] # SMALL FULL STOP; QQK
-FE54 ; [*0250.0020.000F.FE54] # SMALL SEMICOLON; QQK
-FE55 ; [*0254.0020.000F.FE55] # SMALL COLON; QQK
-FE56 ; [*0280.0020.000F.FE56] # SMALL QUESTION MARK; QQK
-FE57 ; [*027B.0020.000F.FE57] # SMALL EXCLAMATION MARK; QQK
-FE58 ; [*0239.0020.000F.FE58] # SMALL EM DASH; QQK
-FE59 ; [*030E.0020.000F.FE59] # SMALL LEFT PARENTHESIS; QQK
-FE5A ; [*030F.0020.000F.FE5A] # SMALL RIGHT PARENTHESIS; QQK
-FE5B ; [*0312.0020.000F.FE5B] # SMALL LEFT CURLY BRACKET; QQK
-FE5C ; [*0313.0020.000F.FE5C] # SMALL RIGHT CURLY BRACKET; QQK
-FE5D ; [*0356.0020.000F.FE5D] # SMALL LEFT TORTOISE SHELL BRACKET; QQK
-FE5E ; [*0357.0020.000F.FE5E] # SMALL RIGHT TORTOISE SHELL BRACKET; QQK
-FE5F ; [*0371.0020.000F.FE5F] # SMALL NUMBER SIGN; QQK
-FE60 ; [*036E.0020.000F.FE60] # SMALL AMPERSAND; QQK
-FE61 ; [*0366.0020.000F.FE61] # SMALL ASTERISK; QQK
-FE62 ; [*056A.0020.000F.FE62] # SMALL PLUS SIGN; QQK
-FE63 ; [*0230.0020.000F.FE63] # SMALL HYPHEN-MINUS; QQK
-FE64 ; [*056E.0020.000F.FE64] # SMALL LESS-THAN SIGN; QQK
-FE65 ; [*0570.0020.000F.FE65] # SMALL GREATER-THAN SIGN; QQK
-FE66 ; [*056F.0020.000F.FE66] # SMALL EQUALS SIGN; QQK
-FE68 ; [*036D.0020.000F.FE68] # SMALL REVERSE SOLIDUS; QQK
-FE6A ; [*0372.0020.000F.FE6A] # SMALL PERCENT SIGN; QQK
-FE6B ; [*0365.0020.000F.FE6B] # SMALL COMMERCIAL AT; QQK
+FE30 ; [*0273.0020.0016.FE30][*0273.0020.0016.FE30] # PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
+FE31 ; [*0217.0020.0016.FE31] # PRESENTATION FORM FOR VERTICAL EM DASH
+FE32 ; [*0216.0020.0016.FE32] # PRESENTATION FORM FOR VERTICAL EN DASH
+FE33 ; [*020C.0020.0016.FE33] # PRESENTATION FORM FOR VERTICAL LOW LINE
+FE34 ; [*020C.0020.0016.FE34] # PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
+FE35 ; [*02FB.0020.0016.FE35] # PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
+FE36 ; [*02FC.0020.0016.FE36] # PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
+FE37 ; [*02FF.0020.0016.FE37] # PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
+FE38 ; [*0300.0020.0016.FE38] # PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
+FE39 ; [*0359.0020.0016.FE39] # PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
+FE3A ; [*035A.0020.0016.FE3A] # PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
+FE3B ; [*0357.0020.0016.FE3B] # PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
+FE3C ; [*0358.0020.0016.FE3C] # PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
+FE3D ; [*0351.0020.0016.FE3D] # PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
+FE3E ; [*0352.0020.0016.FE3E] # PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
+FE3F ; [*034F.0020.0016.FE3F] # PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
+FE40 ; [*0350.0020.0016.FE40] # PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
+FE41 ; [*0353.0020.0016.FE41] # PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
+FE42 ; [*0354.0020.0016.FE42] # PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
+FE43 ; [*0355.0020.0016.FE43] # PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
+FE44 ; [*0356.0020.0016.FE44] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
+FE45 ; [*0230.0020.0002.FE45] # SESAME DOT
+FE46 ; [*0231.0020.0002.FE46] # WHITE SESAME DOT
+FE47 ; [*02FD.0020.0016.FE47] # PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
+FE48 ; [*02FE.0020.0016.FE48] # PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
+FE49 ; [*020B.0020.0004.FE49] # DASHED OVERLINE
+FE4A ; [*020B.0020.0004.FE4A] # CENTRELINE OVERLINE
+FE4B ; [*020B.0020.0004.FE4B] # WAVY OVERLINE
+FE4C ; [*020B.0020.0004.FE4C] # DOUBLE WAVY OVERLINE
+FE4D ; [*020C.0020.0004.FE4D] # DASHED LOW LINE
+FE4E ; [*020C.0020.0004.FE4E] # CENTRELINE LOW LINE
+FE4F ; [*020C.0020.0004.FE4F] # WAVY LOW LINE
+FE50 ; [*0221.0020.000F.FE50] # SMALL COMMA
+FE51 ; [*022F.0020.000F.FE51] # SMALL IDEOGRAPHIC COMMA
+FE52 ; [*0273.0020.000F.FE52] # SMALL FULL STOP
+FE54 ; [*0232.0020.000F.FE54] # SMALL SEMICOLON
+FE55 ; [*0237.0020.000F.FE55] # SMALL COLON
+FE56 ; [*0263.0020.000F.FE56] # SMALL QUESTION MARK
+FE57 ; [*025E.0020.000F.FE57] # SMALL EXCLAMATION MARK
+FE58 ; [*0217.0020.000F.FE58] # SMALL EM DASH
+FE59 ; [*02FB.0020.000F.FE59] # SMALL LEFT PARENTHESIS
+FE5A ; [*02FC.0020.000F.FE5A] # SMALL RIGHT PARENTHESIS
+FE5B ; [*02FF.0020.000F.FE5B] # SMALL LEFT CURLY BRACKET
+FE5C ; [*0300.0020.000F.FE5C] # SMALL RIGHT CURLY BRACKET
+FE5D ; [*0359.0020.000F.FE5D] # SMALL LEFT TORTOISE SHELL BRACKET
+FE5E ; [*035A.0020.000F.FE5E] # SMALL RIGHT TORTOISE SHELL BRACKET
+FE5F ; [*0376.0020.000F.FE5F] # SMALL NUMBER SIGN
+FE60 ; [*0374.0020.000F.FE60] # SMALL AMPERSAND
+FE61 ; [*036D.0020.000F.FE61] # SMALL ASTERISK
+FE62 ; [*059C.0020.000F.FE62] # SMALL PLUS SIGN
+FE63 ; [*020E.0020.000F.FE63] # SMALL HYPHEN-MINUS
+FE64 ; [*05A0.0020.000F.FE64] # SMALL LESS-THAN SIGN
+FE65 ; [*05A2.0020.000F.FE65] # SMALL GREATER-THAN SIGN
+FE66 ; [*05A1.0020.000F.FE66] # SMALL EQUALS SIGN
+FE68 ; [*0373.0020.000F.FE68] # SMALL REVERSE SOLIDUS
+FE6A ; [*0377.0020.000F.FE6A] # SMALL PERCENT SIGN
+FE6B ; [*036C.0020.000F.FE6B] # SMALL COMMERCIAL AT
FE73 ; [.0000.0000.0000.FE73] # ARABIC TAIL FRAGMENT
-FF01 ; [*027B.0020.0003.FF01] # FULLWIDTH EXCLAMATION MARK; QQK
-FF02 ; [*0304.0020.0003.FF02] # FULLWIDTH QUOTATION MARK; QQK
-FF03 ; [*0371.0020.0003.FF03] # FULLWIDTH NUMBER SIGN; QQK
-FF05 ; [*0372.0020.0003.FF05] # FULLWIDTH PERCENT SIGN; QQK
-FF06 ; [*036E.0020.0003.FF06] # FULLWIDTH AMPERSAND; QQK
-FF07 ; [*02FD.0020.0003.FF07] # FULLWIDTH APOSTROPHE; QQK
-FF08 ; [*030E.0020.0003.FF08] # FULLWIDTH LEFT PARENTHESIS; QQK
-FF09 ; [*030F.0020.0003.FF09] # FULLWIDTH RIGHT PARENTHESIS; QQK
-FF0A ; [*0366.0020.0003.FF0A] # FULLWIDTH ASTERISK; QQK
-FF0B ; [*056A.0020.0003.FF0B] # FULLWIDTH PLUS SIGN; QQK
-FF0C ; [*0241.0020.0003.FF0C] # FULLWIDTH COMMA; QQK
-FF0D ; [*0230.0020.0003.FF0D] # FULLWIDTH HYPHEN-MINUS; QQK
-FF0E ; [*028E.0020.0003.FF0E] # FULLWIDTH FULL STOP; QQK
-FF0F ; [*036B.0020.0003.FF0F] # FULLWIDTH SOLIDUS; QQK
-FF1A ; [*0254.0020.0003.FF1A] # FULLWIDTH COLON; QQK
-FF1B ; [*0250.0020.0003.FF1B] # FULLWIDTH SEMICOLON; QQK
-FF1C ; [*056E.0020.0003.FF1C] # FULLWIDTH LESS-THAN SIGN; QQK
-FF1D ; [*056F.0020.0003.FF1D] # FULLWIDTH EQUALS SIGN; QQK
-FF1E ; [*0570.0020.0003.FF1E] # FULLWIDTH GREATER-THAN SIGN; QQK
-FF1F ; [*0280.0020.0003.FF1F] # FULLWIDTH QUESTION MARK; QQK
-FF20 ; [*0365.0020.0003.FF20] # FULLWIDTH COMMERCIAL AT; QQK
-FF3B ; [*0310.0020.0003.FF3B] # FULLWIDTH LEFT SQUARE BRACKET; QQK
-FF3C ; [*036D.0020.0003.FF3C] # FULLWIDTH REVERSE SOLIDUS; QQK
-FF3D ; [*0311.0020.0003.FF3D] # FULLWIDTH RIGHT SQUARE BRACKET; QQK
-FF3E ; [*020F.0020.0003.FF3E] # FULLWIDTH CIRCUMFLEX ACCENT; QQK
-FF3F ; [*021B.0020.0003.FF3F] # FULLWIDTH LOW LINE; QQK
-FF40 ; [*020C.0020.0003.FF40] # FULLWIDTH GRAVE ACCENT; QQK
-FF5B ; [*0312.0020.0003.FF5B] # FULLWIDTH LEFT CURLY BRACKET; QQK
-FF5C ; [*0572.0020.0003.FF5C] # FULLWIDTH VERTICAL LINE; QQK
-FF5D ; [*0313.0020.0003.FF5D] # FULLWIDTH RIGHT CURLY BRACKET; QQK
-FF5E ; [*0575.0020.0003.FF5E] # FULLWIDTH TILDE; QQK
-FF5F ; [*0320.0020.0003.FF5F] # FULLWIDTH LEFT WHITE PARENTHESIS; QQK
-FF60 ; [*0321.0020.0003.FF60] # FULLWIDTH RIGHT WHITE PARENTHESIS; QQK
-FF61 ; [*029E.0020.0012.FF61] # HALFWIDTH IDEOGRAPHIC FULL STOP; QQK
-FF62 ; [*0350.0020.0012.FF62] # HALFWIDTH LEFT CORNER BRACKET; QQK
-FF63 ; [*0351.0020.0012.FF63] # HALFWIDTH RIGHT CORNER BRACKET; QQK
-FF64 ; [*024D.0020.0012.FF64] # HALFWIDTH IDEOGRAPHIC COMMA; QQK
-FF65 ; [*0240.0020.0012.FF65] # HALFWIDTH KATAKANA MIDDLE DOT; QQK
-FFE2 ; [*0571.0020.0003.FFE2] # FULLWIDTH NOT SIGN; QQK
-FFE3 ; [*0210.0020.0003.FFE3] # FULLWIDTH MACRON; QQK
-FFE4 ; [*0573.0020.0003.FFE4] # FULLWIDTH BROKEN BAR; QQK
-FFE8 ; [*0765.0020.0012.FFE8] # HALFWIDTH FORMS LIGHT VERTICAL; QQK
-FFE9 ; [*04F0.0020.0012.FFE9] # HALFWIDTH LEFTWARDS ARROW; QQK
-FFEA ; [*04F2.0020.0012.FFEA] # HALFWIDTH UPWARDS ARROW; QQK
-FFEB ; [*04F1.0020.0012.FFEB] # HALFWIDTH RIGHTWARDS ARROW; QQK
-FFEC ; [*04F3.0020.0012.FFEC] # HALFWIDTH DOWNWARDS ARROW; QQK
-FFED ; [*0803.0020.0012.FFED] # HALFWIDTH BLACK SQUARE; QQK
-FFEE ; [*082E.0020.0012.FFEE] # HALFWIDTH WHITE CIRCLE; QQK
-FFFC ; [*1490.0020.0002.FFFC] # OBJECT REPLACEMENT CHARACTER
-FFFD ; [*1491.0020.0002.FFFD] # REPLACEMENT CHARACTER
-10100 ; [*02F3.0020.0002.10100] # AEGEAN WORD SEPARATOR LINE
-10101 ; [*02F4.0020.0002.10101] # AEGEAN WORD SEPARATOR DOT
-10102 ; [*02F5.0020.0002.10102] # AEGEAN CHECK MARK
-10110 ; [*14D7.0020.0002.10110] # AEGEAN NUMBER TEN
-10111 ; [*14D8.0020.0002.10111] # AEGEAN NUMBER TWENTY
-10112 ; [*14D9.0020.0002.10112] # AEGEAN NUMBER THIRTY
-10113 ; [*14DA.0020.0002.10113] # AEGEAN NUMBER FORTY
-10114 ; [*14DB.0020.0002.10114] # AEGEAN NUMBER FIFTY
-10115 ; [*14DC.0020.0002.10115] # AEGEAN NUMBER SIXTY
-10116 ; [*14DD.0020.0002.10116] # AEGEAN NUMBER SEVENTY
-10117 ; [*14DE.0020.0002.10117] # AEGEAN NUMBER EIGHTY
-10118 ; [*14DF.0020.0002.10118] # AEGEAN NUMBER NINETY
-10119 ; [*14E0.0020.0002.10119] # AEGEAN NUMBER ONE HUNDRED
-1011A ; [*14E1.0020.0002.1011A] # AEGEAN NUMBER TWO HUNDRED
-1011B ; [*14E2.0020.0002.1011B] # AEGEAN NUMBER THREE HUNDRED
-1011C ; [*14E3.0020.0002.1011C] # AEGEAN NUMBER FOUR HUNDRED
-1011D ; [*14E4.0020.0002.1011D] # AEGEAN NUMBER FIVE HUNDRED
-1011E ; [*14E5.0020.0002.1011E] # AEGEAN NUMBER SIX HUNDRED
-1011F ; [*14E6.0020.0002.1011F] # AEGEAN NUMBER SEVEN HUNDRED
-10120 ; [*14E7.0020.0002.10120] # AEGEAN NUMBER EIGHT HUNDRED
-10121 ; [*14E8.0020.0002.10121] # AEGEAN NUMBER NINE HUNDRED
-10122 ; [*14E9.0020.0002.10122] # AEGEAN NUMBER ONE THOUSAND
-10123 ; [*14EA.0020.0002.10123] # AEGEAN NUMBER TWO THOUSAND
-10124 ; [*14EB.0020.0002.10124] # AEGEAN NUMBER THREE THOUSAND
-10125 ; [*14EC.0020.0002.10125] # AEGEAN NUMBER FOUR THOUSAND
-10126 ; [*14ED.0020.0002.10126] # AEGEAN NUMBER FIVE THOUSAND
-10127 ; [*14EE.0020.0002.10127] # AEGEAN NUMBER SIX THOUSAND
-10128 ; [*14EF.0020.0002.10128] # AEGEAN NUMBER SEVEN THOUSAND
-10129 ; [*14F0.0020.0002.10129] # AEGEAN NUMBER EIGHT THOUSAND
-1012A ; [*14F1.0020.0002.1012A] # AEGEAN NUMBER NINE THOUSAND
-1012B ; [*14F2.0020.0002.1012B] # AEGEAN NUMBER TEN THOUSAND
-1012C ; [*14F3.0020.0002.1012C] # AEGEAN NUMBER TWENTY THOUSAND
-1012D ; [*14F4.0020.0002.1012D] # AEGEAN NUMBER THIRTY THOUSAND
-1012E ; [*14F5.0020.0002.1012E] # AEGEAN NUMBER FORTY THOUSAND
-1012F ; [*14F6.0020.0002.1012F] # AEGEAN NUMBER FIFTY THOUSAND
-10130 ; [*14F7.0020.0002.10130] # AEGEAN NUMBER SIXTY THOUSAND
-10131 ; [*14F8.0020.0002.10131] # AEGEAN NUMBER SEVENTY THOUSAND
-10132 ; [*14F9.0020.0002.10132] # AEGEAN NUMBER EIGHTY THOUSAND
-10133 ; [*14FA.0020.0002.10133] # AEGEAN NUMBER NINETY THOUSAND
-10137 ; [*0E49.0020.0002.10137] # AEGEAN WEIGHT BASE UNIT
-10138 ; [*0E4A.0020.0002.10138] # AEGEAN WEIGHT FIRST SUBUNIT
-10139 ; [*0E4B.0020.0002.10139] # AEGEAN WEIGHT SECOND SUBUNIT
-1013A ; [*0E4C.0020.0002.1013A] # AEGEAN WEIGHT THIRD SUBUNIT
-1013B ; [*0E4D.0020.0002.1013B] # AEGEAN WEIGHT FOURTH SUBUNIT
-1013C ; [*0E4E.0020.0002.1013C] # AEGEAN DRY MEASURE FIRST SUBUNIT
-1013D ; [*0E4F.0020.0002.1013D] # AEGEAN LIQUID MEASURE FIRST SUBUNIT
-1013E ; [*0E50.0020.0002.1013E] # AEGEAN MEASURE SECOND SUBUNIT
-1013F ; [*0E51.0020.0002.1013F] # AEGEAN MEASURE THIRD SUBUNIT
-10140 ; [*14FB.0020.0002.10140] # GREEK ACROPHONIC ATTIC ONE QUARTER
-10141 ; [*14FC.0020.0002.10141] # GREEK ACROPHONIC ATTIC ONE HALF
-10144 ; [*14FD.0020.0002.10144] # GREEK ACROPHONIC ATTIC FIFTY
-10145 ; [*14FE.0020.0002.10145] # GREEK ACROPHONIC ATTIC FIVE HUNDRED
-10146 ; [*14FF.0020.0002.10146] # GREEK ACROPHONIC ATTIC FIVE THOUSAND
-10147 ; [*1500.0020.0002.10147] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND
-10149 ; [*1501.0020.0002.10149] # GREEK ACROPHONIC ATTIC TEN TALENTS
-1014A ; [*1502.0020.0002.1014A] # GREEK ACROPHONIC ATTIC FIFTY TALENTS
-1014B ; [*1503.0020.0002.1014B] # GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS
-1014C ; [*1504.0020.0002.1014C] # GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS
-1014D ; [*1505.0020.0002.1014D] # GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS
-1014E ; [*1506.0020.0002.1014E] # GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS
-10150 ; [*1507.0020.0002.10150] # GREEK ACROPHONIC ATTIC TEN STATERS
-10151 ; [*1508.0020.0002.10151] # GREEK ACROPHONIC ATTIC FIFTY STATERS
-10152 ; [*1509.0020.0002.10152] # GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS
-10153 ; [*150A.0020.0002.10153] # GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS
-10154 ; [*150B.0020.0002.10154] # GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS
-10155 ; [*150C.0020.0002.10155] # GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS
-10156 ; [*150D.0020.0002.10156] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS
-10157 ; [*150E.0020.0002.10157] # GREEK ACROPHONIC ATTIC TEN MNAS
-10160 ; [*150F.0020.0002.10160] # GREEK ACROPHONIC TROEZENIAN TEN
-10161 ; [*1510.0020.0002.10161] # GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM
-10162 ; [*1511.0020.0002.10162] # GREEK ACROPHONIC HERMIONIAN TEN
-10163 ; [*1512.0020.0002.10163] # GREEK ACROPHONIC MESSENIAN TEN
-10164 ; [*1513.0020.0002.10164] # GREEK ACROPHONIC THESPIAN TEN
-10165 ; [*1514.0020.0002.10165] # GREEK ACROPHONIC THESPIAN THIRTY
-10166 ; [*1515.0020.0002.10166] # GREEK ACROPHONIC TROEZENIAN FIFTY
-10167 ; [*1516.0020.0002.10167] # GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM
-10168 ; [*1517.0020.0002.10168] # GREEK ACROPHONIC HERMIONIAN FIFTY
-10169 ; [*1518.0020.0002.10169] # GREEK ACROPHONIC THESPIAN FIFTY
-1016A ; [*1519.0020.0002.1016A] # GREEK ACROPHONIC THESPIAN ONE HUNDRED
-1016B ; [*151A.0020.0002.1016B] # GREEK ACROPHONIC THESPIAN THREE HUNDRED
-1016C ; [*151B.0020.0002.1016C] # GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED
-1016D ; [*151C.0020.0002.1016D] # GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED
-1016E ; [*151D.0020.0002.1016E] # GREEK ACROPHONIC THESPIAN FIVE HUNDRED
-1016F ; [*151E.0020.0002.1016F] # GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED
-10170 ; [*151F.0020.0002.10170] # GREEK ACROPHONIC NAXIAN FIVE HUNDRED
-10171 ; [*1520.0020.0002.10171] # GREEK ACROPHONIC THESPIAN ONE THOUSAND
-10172 ; [*1521.0020.0002.10172] # GREEK ACROPHONIC THESPIAN FIVE THOUSAND
-10174 ; [*1522.0020.0002.10174] # GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10175 ; [*1523.0020.0002.10175] # GREEK ONE HALF SIGN
-10176 ; [*1524.0020.0002.10176] # GREEK ONE HALF SIGN ALTERNATE FORM
-10177 ; [*1525.0020.0002.10177] # GREEK TWO THIRDS SIGN
-10178 ; [*1526.0020.0002.10178] # GREEK THREE QUARTERS SIGN
-10179 ; [*0E52.0020.0002.10179] # GREEK YEAR SIGN
-1017A ; [*0E53.0020.0002.1017A] # GREEK TALENT SIGN
-1017B ; [*0E54.0020.0002.1017B] # GREEK DRACHMA SIGN
-1017C ; [*0E55.0020.0002.1017C] # GREEK OBOL SIGN
-1017D ; [*0E56.0020.0002.1017D] # GREEK TWO OBOLS SIGN
-1017E ; [*0E57.0020.0002.1017E] # GREEK THREE OBOLS SIGN
-1017F ; [*0E58.0020.0002.1017F] # GREEK FOUR OBOLS SIGN
-10180 ; [*0E59.0020.0002.10180] # GREEK FIVE OBOLS SIGN
-10181 ; [*0E5A.0020.0002.10181] # GREEK METRETES SIGN
-10182 ; [*0E5B.0020.0002.10182] # GREEK KYATHOS BASE SIGN
-10183 ; [*0E5C.0020.0002.10183] # GREEK LITRA SIGN
-10184 ; [*0E5D.0020.0002.10184] # GREEK OUNKIA SIGN
-10185 ; [*0E5E.0020.0002.10185] # GREEK XESTES SIGN
-10186 ; [*0E5F.0020.0002.10186] # GREEK ARTABE SIGN
-10187 ; [*0E60.0020.0002.10187] # GREEK AROURA SIGN
-10188 ; [*0E61.0020.0002.10188] # GREEK GRAMMA SIGN
-10189 ; [*0E62.0020.0002.10189] # GREEK TRYBLION BASE SIGN
-10190 ; [*0E63.0020.0002.10190] # ROMAN SEXTANS SIGN
-10191 ; [*0E64.0020.0002.10191] # ROMAN UNCIA SIGN
-10192 ; [*0E65.0020.0002.10192] # ROMAN SEMUNCIA SIGN
-10193 ; [*0E66.0020.0002.10193] # ROMAN SEXTULA SIGN
-10194 ; [*0E67.0020.0002.10194] # ROMAN DIMIDIA SEXTULA SIGN
-10195 ; [*0E68.0020.0002.10195] # ROMAN SILIQUA SIGN
-10196 ; [*0E69.0020.0002.10196] # ROMAN DENARIUS SIGN
-10197 ; [*0E6A.0020.0002.10197] # ROMAN QUINARIUS SIGN
-10198 ; [*0E6B.0020.0002.10198] # ROMAN SESTERTIUS SIGN
-10199 ; [*0E6C.0020.0002.10199] # ROMAN DUPONDIUS SIGN
-1019A ; [*0E6D.0020.0002.1019A] # ROMAN AS SIGN
-1019B ; [*0E6E.0020.0002.1019B] # ROMAN CENTURIAL SIGN
-101D0 ; [*0E6F.0020.0002.101D0] # PHAISTOS DISC SIGN PEDESTRIAN
-101D1 ; [*0E70.0020.0002.101D1] # PHAISTOS DISC SIGN PLUMED HEAD
-101D2 ; [*0E71.0020.0002.101D2] # PHAISTOS DISC SIGN TATTOOED HEAD
-101D3 ; [*0E72.0020.0002.101D3] # PHAISTOS DISC SIGN CAPTIVE
-101D4 ; [*0E73.0020.0002.101D4] # PHAISTOS DISC SIGN CHILD
-101D5 ; [*0E74.0020.0002.101D5] # PHAISTOS DISC SIGN WOMAN
-101D6 ; [*0E75.0020.0002.101D6] # PHAISTOS DISC SIGN HELMET
-101D7 ; [*0E76.0020.0002.101D7] # PHAISTOS DISC SIGN GAUNTLET
-101D8 ; [*0E77.0020.0002.101D8] # PHAISTOS DISC SIGN TIARA
-101D9 ; [*0E78.0020.0002.101D9] # PHAISTOS DISC SIGN ARROW
-101DA ; [*0E79.0020.0002.101DA] # PHAISTOS DISC SIGN BOW
-101DB ; [*0E7A.0020.0002.101DB] # PHAISTOS DISC SIGN SHIELD
-101DC ; [*0E7B.0020.0002.101DC] # PHAISTOS DISC SIGN CLUB
-101DD ; [*0E7C.0020.0002.101DD] # PHAISTOS DISC SIGN MANACLES
-101DE ; [*0E7D.0020.0002.101DE] # PHAISTOS DISC SIGN MATTOCK
-101DF ; [*0E7E.0020.0002.101DF] # PHAISTOS DISC SIGN SAW
-101E0 ; [*0E7F.0020.0002.101E0] # PHAISTOS DISC SIGN LID
-101E1 ; [*0E80.0020.0002.101E1] # PHAISTOS DISC SIGN BOOMERANG
-101E2 ; [*0E81.0020.0002.101E2] # PHAISTOS DISC SIGN CARPENTRY PLANE
-101E3 ; [*0E82.0020.0002.101E3] # PHAISTOS DISC SIGN DOLIUM
-101E4 ; [*0E83.0020.0002.101E4] # PHAISTOS DISC SIGN COMB
-101E5 ; [*0E84.0020.0002.101E5] # PHAISTOS DISC SIGN SLING
-101E6 ; [*0E85.0020.0002.101E6] # PHAISTOS DISC SIGN COLUMN
-101E7 ; [*0E86.0020.0002.101E7] # PHAISTOS DISC SIGN BEEHIVE
-101E8 ; [*0E87.0020.0002.101E8] # PHAISTOS DISC SIGN SHIP
-101E9 ; [*0E88.0020.0002.101E9] # PHAISTOS DISC SIGN HORN
-101EA ; [*0E89.0020.0002.101EA] # PHAISTOS DISC SIGN HIDE
-101EB ; [*0E8A.0020.0002.101EB] # PHAISTOS DISC SIGN BULLS LEG
-101EC ; [*0E8B.0020.0002.101EC] # PHAISTOS DISC SIGN CAT
-101ED ; [*0E8C.0020.0002.101ED] # PHAISTOS DISC SIGN RAM
-101EE ; [*0E8D.0020.0002.101EE] # PHAISTOS DISC SIGN EAGLE
-101EF ; [*0E8E.0020.0002.101EF] # PHAISTOS DISC SIGN DOVE
-101F0 ; [*0E8F.0020.0002.101F0] # PHAISTOS DISC SIGN TUNNY
-101F1 ; [*0E90.0020.0002.101F1] # PHAISTOS DISC SIGN BEE
-101F2 ; [*0E91.0020.0002.101F2] # PHAISTOS DISC SIGN PLANE TREE
-101F3 ; [*0E92.0020.0002.101F3] # PHAISTOS DISC SIGN VINE
-101F4 ; [*0E93.0020.0002.101F4] # PHAISTOS DISC SIGN PAPYRUS
-101F5 ; [*0E94.0020.0002.101F5] # PHAISTOS DISC SIGN ROSETTE
-101F6 ; [*0E95.0020.0002.101F6] # PHAISTOS DISC SIGN LILY
-101F7 ; [*0E96.0020.0002.101F7] # PHAISTOS DISC SIGN OX BACK
-101F8 ; [*0E97.0020.0002.101F8] # PHAISTOS DISC SIGN FLUTE
-101F9 ; [*0E98.0020.0002.101F9] # PHAISTOS DISC SIGN GRATER
-101FA ; [*0E99.0020.0002.101FA] # PHAISTOS DISC SIGN STRAINER
-101FB ; [*0E9A.0020.0002.101FB] # PHAISTOS DISC SIGN SMALL AXE
-101FC ; [*0E9B.0020.0002.101FC] # PHAISTOS DISC SIGN WAVY BAND
-10322 ; [*14D5.0020.0002.10322] # OLD ITALIC NUMERAL TEN
-10323 ; [*14D6.0020.0002.10323] # OLD ITALIC NUMERAL FIFTY
-1039F ; [*02F6.0020.0002.1039F] # UGARITIC WORD DIVIDER
-103D0 ; [*02F7.0020.0002.103D0] # OLD PERSIAN WORD DIVIDER
-103D3 ; [*1527.0020.0002.103D3] # OLD PERSIAN NUMBER TEN
-103D4 ; [*1528.0020.0002.103D4] # OLD PERSIAN NUMBER TWENTY
-103D5 ; [*1529.0020.0002.103D5] # OLD PERSIAN NUMBER HUNDRED
-10857 ; [*02D9.0020.0002.10857] # IMPERIAL ARAMAIC SECTION SIGN
-1085B ; [*152F.0020.0002.1085B] # IMPERIAL ARAMAIC NUMBER TEN
-1085C ; [*1530.0020.0002.1085C] # IMPERIAL ARAMAIC NUMBER TWENTY
-1085D ; [*1531.0020.0002.1085D] # IMPERIAL ARAMAIC NUMBER ONE HUNDRED
-1085E ; [*1532.0020.0002.1085E] # IMPERIAL ARAMAIC NUMBER ONE THOUSAND
-1085F ; [*1533.0020.0002.1085F] # IMPERIAL ARAMAIC NUMBER TEN THOUSAND
-10917 ; [*152C.0020.0002.10917] # PHOENICIAN NUMBER TEN
-10918 ; [*152D.0020.0002.10918] # PHOENICIAN NUMBER TWENTY
-10919 ; [*152E.0020.0002.10919] # PHOENICIAN NUMBER ONE HUNDRED
-1091F ; [*02F8.0020.0002.1091F] # PHOENICIAN WORD SEPARATOR
-1093F ; [*02F2.0020.0002.1093F] # LYDIAN TRIANGULAR MARK
-10A44 ; [*1547.0020.0002.10A44] # KHAROSHTHI NUMBER TEN
-10A45 ; [*1548.0020.0002.10A45] # KHAROSHTHI NUMBER TWENTY
-10A46 ; [*1549.0020.0002.10A46] # KHAROSHTHI NUMBER ONE HUNDRED
-10A47 ; [*154A.0020.0002.10A47] # KHAROSHTHI NUMBER ONE THOUSAND
-10A50 ; [*03FA.0020.0002.10A50] # KHAROSHTHI PUNCTUATION DOT
-10A51 ; [*03FB.0020.0002.10A51] # KHAROSHTHI PUNCTUATION SMALL CIRCLE
-10A52 ; [*03FC.0020.0002.10A52] # KHAROSHTHI PUNCTUATION CIRCLE
-10A53 ; [*03FD.0020.0002.10A53] # KHAROSHTHI PUNCTUATION CRESCENT BAR
-10A54 ; [*03FE.0020.0002.10A54] # KHAROSHTHI PUNCTUATION MANGALAM
-10A55 ; [*03FF.0020.0002.10A55] # KHAROSHTHI PUNCTUATION LOTUS
-10A56 ; [*02BC.0020.0002.10A56] # KHAROSHTHI PUNCTUATION DANDA
-10A57 ; [*02BD.0020.0002.10A57] # KHAROSHTHI PUNCTUATION DOUBLE DANDA
-10A58 ; [*0400.0020.0002.10A58] # KHAROSHTHI PUNCTUATION LINES
-10A7E ; [*152A.0020.0002.10A7E] # OLD SOUTH ARABIAN NUMBER FIFTY
-10A7F ; [*152B.0020.0002.10A7F] # OLD SOUTH ARABIAN NUMERIC INDICATOR
-10B39 ; [*0401.0020.0002.10B39] # AVESTAN ABBREVIATION MARK
-10B3A ; [*02DA.0020.0002.10B3A] # TINY TWO DOTS OVER ONE DOT PUNCTUATION
-10B3B ; [*02DB.0020.0002.10B3B] # SMALL TWO DOTS OVER ONE DOT PUNCTUATION
-10B3C ; [*02DC.0020.0002.10B3C] # LARGE TWO DOTS OVER ONE DOT PUNCTUATION
-10B3D ; [*02DD.0020.0002.10B3D] # LARGE ONE DOT OVER TWO DOTS PUNCTUATION
-10B3E ; [*02DE.0020.0002.10B3E] # LARGE TWO RINGS OVER ONE RING PUNCTUATION
-10B3F ; [*02DF.0020.0002.10B3F] # LARGE ONE RING OVER TWO RINGS PUNCTUATION
-10B5C ; [*1534.0020.0002.10B5C] # INSCRIPTIONAL PARTHIAN NUMBER TEN
-10B5D ; [*1535.0020.0002.10B5D] # INSCRIPTIONAL PARTHIAN NUMBER TWENTY
-10B5E ; [*1536.0020.0002.10B5E] # INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED
-10B5F ; [*1537.0020.0002.10B5F] # INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
-10B7C ; [*1538.0020.0002.10B7C] # INSCRIPTIONAL PAHLAVI NUMBER TEN
-10B7D ; [*1539.0020.0002.10B7D] # INSCRIPTIONAL PAHLAVI NUMBER TWENTY
-10B7E ; [*153A.0020.0002.10B7E] # INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED
-10B7F ; [*153B.0020.0002.10B7F] # INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
-10E69 ; [*14BE.0020.0002.10E69] # RUMI NUMBER TEN
-10E6A ; [*14BF.0020.0002.10E6A] # RUMI NUMBER TWENTY
-10E6B ; [*14C0.0020.0002.10E6B] # RUMI NUMBER THIRTY
-10E6C ; [*14C1.0020.0002.10E6C] # RUMI NUMBER FORTY
-10E6D ; [*14C2.0020.0002.10E6D] # RUMI NUMBER FIFTY
-10E6E ; [*14C3.0020.0002.10E6E] # RUMI NUMBER SIXTY
-10E6F ; [*14C4.0020.0002.10E6F] # RUMI NUMBER SEVENTY
-10E70 ; [*14C5.0020.0002.10E70] # RUMI NUMBER EIGHTY
-10E71 ; [*14C6.0020.0002.10E71] # RUMI NUMBER NINETY
-10E72 ; [*14C7.0020.0002.10E72] # RUMI NUMBER ONE HUNDRED
-10E73 ; [*14C8.0020.0002.10E73] # RUMI NUMBER TWO HUNDRED
-10E74 ; [*14C9.0020.0002.10E74] # RUMI NUMBER THREE HUNDRED
-10E75 ; [*14CA.0020.0002.10E75] # RUMI NUMBER FOUR HUNDRED
-10E76 ; [*14CB.0020.0002.10E76] # RUMI NUMBER FIVE HUNDRED
-10E77 ; [*14CC.0020.0002.10E77] # RUMI NUMBER SIX HUNDRED
-10E78 ; [*14CD.0020.0002.10E78] # RUMI NUMBER SEVEN HUNDRED
-10E79 ; [*14CE.0020.0002.10E79] # RUMI NUMBER EIGHT HUNDRED
-10E7A ; [*14CF.0020.0002.10E7A] # RUMI NUMBER NINE HUNDRED
-10E7B ; [*14D0.0020.0002.10E7B] # RUMI FRACTION ONE HALF
-10E7C ; [*14D1.0020.0002.10E7C] # RUMI FRACTION ONE QUARTER
-10E7D ; [*14D2.0020.0002.10E7D] # RUMI FRACTION ONE THIRD
-10E7E ; [*14D3.0020.0002.10E7E] # RUMI FRACTION TWO THIRDS
-11047 ; [*02BE.0020.0002.11047] # BRAHMI DANDA
-11048 ; [*02BF.0020.0002.11048] # BRAHMI DOUBLE DANDA
-11049 ; [*03F5.0020.0002.11049] # BRAHMI PUNCTUATION DOT
-1104A ; [*03F6.0020.0002.1104A] # BRAHMI PUNCTUATION DOUBLE DOT
-1104B ; [*03F7.0020.0002.1104B] # BRAHMI PUNCTUATION LINE
-1104C ; [*03F8.0020.0002.1104C] # BRAHMI PUNCTUATION CRESCENT BAR
-1104D ; [*03F9.0020.0002.1104D] # BRAHMI PUNCTUATION LOTUS
-1105B ; [*153C.0020.0002.1105B] # BRAHMI NUMBER TEN
-1105C ; [*153D.0020.0002.1105C] # BRAHMI NUMBER TWENTY
-1105D ; [*153E.0020.0002.1105D] # BRAHMI NUMBER THIRTY
-1105E ; [*153F.0020.0002.1105E] # BRAHMI NUMBER FORTY
-1105F ; [*1540.0020.0002.1105F] # BRAHMI NUMBER FIFTY
-11060 ; [*1541.0020.0002.11060] # BRAHMI NUMBER SIXTY
-11061 ; [*1542.0020.0002.11061] # BRAHMI NUMBER SEVENTY
-11062 ; [*1543.0020.0002.11062] # BRAHMI NUMBER EIGHTY
-11063 ; [*1544.0020.0002.11063] # BRAHMI NUMBER NINETY
-11064 ; [*1545.0020.0002.11064] # BRAHMI NUMBER ONE HUNDRED
-11065 ; [*1546.0020.0002.11065] # BRAHMI NUMBER ONE THOUSAND
-110BB ; [*0402.0020.0002.110BB] # KAITHI ABBREVIATION SIGN
-110BC ; [*0403.0020.0002.110BC] # KAITHI ENUMERATION SIGN
+FF01 ; [*025E.0020.0003.FF01] # FULLWIDTH EXCLAMATION MARK
+FF02 ; [*02F1.0020.0003.FF02] # FULLWIDTH QUOTATION MARK
+FF03 ; [*0376.0020.0003.FF03] # FULLWIDTH NUMBER SIGN
+FF05 ; [*0377.0020.0003.FF05] # FULLWIDTH PERCENT SIGN
+FF06 ; [*0374.0020.0003.FF06] # FULLWIDTH AMPERSAND
+FF07 ; [*02EA.0020.0003.FF07] # FULLWIDTH APOSTROPHE
+FF08 ; [*02FB.0020.0003.FF08] # FULLWIDTH LEFT PARENTHESIS
+FF09 ; [*02FC.0020.0003.FF09] # FULLWIDTH RIGHT PARENTHESIS
+FF0A ; [*036D.0020.0003.FF0A] # FULLWIDTH ASTERISK
+FF0B ; [*059C.0020.0003.FF0B] # FULLWIDTH PLUS SIGN
+FF0C ; [*0221.0020.0003.FF0C] # FULLWIDTH COMMA
+FF0D ; [*020E.0020.0003.FF0D] # FULLWIDTH HYPHEN-MINUS
+FF0E ; [*0273.0020.0003.FF0E] # FULLWIDTH FULL STOP
+FF0F ; [*0372.0020.0003.FF0F] # FULLWIDTH SOLIDUS
+FF1A ; [*0237.0020.0003.FF1A] # FULLWIDTH COLON
+FF1B ; [*0232.0020.0003.FF1B] # FULLWIDTH SEMICOLON
+FF1C ; [*05A0.0020.0003.FF1C] # FULLWIDTH LESS-THAN SIGN
+FF1D ; [*05A1.0020.0003.FF1D] # FULLWIDTH EQUALS SIGN
+FF1E ; [*05A2.0020.0003.FF1E] # FULLWIDTH GREATER-THAN SIGN
+FF1F ; [*0263.0020.0003.FF1F] # FULLWIDTH QUESTION MARK
+FF20 ; [*036C.0020.0003.FF20] # FULLWIDTH COMMERCIAL AT
+FF3B ; [*02FD.0020.0003.FF3B] # FULLWIDTH LEFT SQUARE BRACKET
+FF3C ; [*0373.0020.0003.FF3C] # FULLWIDTH REVERSE SOLIDUS
+FF3D ; [*02FE.0020.0003.FF3D] # FULLWIDTH RIGHT SQUARE BRACKET
+FF3E ; [*0412.0020.0003.FF3E] # FULLWIDTH CIRCUMFLEX ACCENT
+FF3F ; [*020C.0020.0003.FF3F] # FULLWIDTH LOW LINE
+FF40 ; [*040F.0020.0003.FF40] # FULLWIDTH GRAVE ACCENT
+FF5B ; [*02FF.0020.0003.FF5B] # FULLWIDTH LEFT CURLY BRACKET
+FF5C ; [*05A4.0020.0003.FF5C] # FULLWIDTH VERTICAL LINE
+FF5D ; [*0300.0020.0003.FF5D] # FULLWIDTH RIGHT CURLY BRACKET
+FF5E ; [*05A6.0020.0003.FF5E] # FULLWIDTH TILDE
+FF5F ; [*030D.0020.0003.FF5F] # FULLWIDTH LEFT WHITE PARENTHESIS
+FF60 ; [*030E.0020.0003.FF60] # FULLWIDTH RIGHT WHITE PARENTHESIS
+FF61 ; [*0283.0020.0012.FF61] # HALFWIDTH IDEOGRAPHIC FULL STOP
+FF62 ; [*0353.0020.0012.FF62] # HALFWIDTH LEFT CORNER BRACKET
+FF63 ; [*0354.0020.0012.FF63] # HALFWIDTH RIGHT CORNER BRACKET
+FF64 ; [*022F.0020.0012.FF64] # HALFWIDTH IDEOGRAPHIC COMMA
+FF65 ; [*0220.0020.0012.FF65] # HALFWIDTH KATAKANA MIDDLE DOT
+FFE2 ; [*05A3.0020.0003.FFE2] # FULLWIDTH NOT SIGN
+FFE3 ; [*0413.0020.0003.FFE3] # FULLWIDTH MACRON
+FFE4 ; [*05A5.0020.0003.FFE4] # FULLWIDTH BROKEN BAR
+FFE8 ; [*0799.0020.0012.FFE8] # HALFWIDTH FORMS LIGHT VERTICAL
+FFE9 ; [*0522.0020.0012.FFE9] # HALFWIDTH LEFTWARDS ARROW
+FFEA ; [*0524.0020.0012.FFEA] # HALFWIDTH UPWARDS ARROW
+FFEB ; [*0523.0020.0012.FFEB] # HALFWIDTH RIGHTWARDS ARROW
+FFEC ; [*0525.0020.0012.FFEC] # HALFWIDTH DOWNWARDS ARROW
+FFED ; [*0837.0020.0012.FFED] # HALFWIDTH BLACK SQUARE
+FFEE ; [*0862.0020.0012.FFEE] # HALFWIDTH WHITE CIRCLE
+FFFC ; [*14BD.0020.0002.FFFC] # OBJECT REPLACEMENT CHARACTER
+FFFD ; [*14BE.0020.0002.FFFD] # REPLACEMENT CHARACTER
+10100 ; [*02E0.0020.0002.10100] # AEGEAN WORD SEPARATOR LINE
+10101 ; [*02E1.0020.0002.10101] # AEGEAN WORD SEPARATOR DOT
+10102 ; [*02E2.0020.0002.10102] # AEGEAN CHECK MARK
+10110 ; [*1504.0020.0002.10110] # AEGEAN NUMBER TEN
+10111 ; [*1505.0020.0002.10111] # AEGEAN NUMBER TWENTY
+10112 ; [*1506.0020.0002.10112] # AEGEAN NUMBER THIRTY
+10113 ; [*1507.0020.0002.10113] # AEGEAN NUMBER FORTY
+10114 ; [*1508.0020.0002.10114] # AEGEAN NUMBER FIFTY
+10115 ; [*1509.0020.0002.10115] # AEGEAN NUMBER SIXTY
+10116 ; [*150A.0020.0002.10116] # AEGEAN NUMBER SEVENTY
+10117 ; [*150B.0020.0002.10117] # AEGEAN NUMBER EIGHTY
+10118 ; [*150C.0020.0002.10118] # AEGEAN NUMBER NINETY
+10119 ; [*150D.0020.0002.10119] # AEGEAN NUMBER ONE HUNDRED
+1011A ; [*150E.0020.0002.1011A] # AEGEAN NUMBER TWO HUNDRED
+1011B ; [*150F.0020.0002.1011B] # AEGEAN NUMBER THREE HUNDRED
+1011C ; [*1510.0020.0002.1011C] # AEGEAN NUMBER FOUR HUNDRED
+1011D ; [*1511.0020.0002.1011D] # AEGEAN NUMBER FIVE HUNDRED
+1011E ; [*1512.0020.0002.1011E] # AEGEAN NUMBER SIX HUNDRED
+1011F ; [*1513.0020.0002.1011F] # AEGEAN NUMBER SEVEN HUNDRED
+10120 ; [*1514.0020.0002.10120] # AEGEAN NUMBER EIGHT HUNDRED
+10121 ; [*1515.0020.0002.10121] # AEGEAN NUMBER NINE HUNDRED
+10122 ; [*1516.0020.0002.10122] # AEGEAN NUMBER ONE THOUSAND
+10123 ; [*1517.0020.0002.10123] # AEGEAN NUMBER TWO THOUSAND
+10124 ; [*1518.0020.0002.10124] # AEGEAN NUMBER THREE THOUSAND
+10125 ; [*1519.0020.0002.10125] # AEGEAN NUMBER FOUR THOUSAND
+10126 ; [*151A.0020.0002.10126] # AEGEAN NUMBER FIVE THOUSAND
+10127 ; [*151B.0020.0002.10127] # AEGEAN NUMBER SIX THOUSAND
+10128 ; [*151C.0020.0002.10128] # AEGEAN NUMBER SEVEN THOUSAND
+10129 ; [*151D.0020.0002.10129] # AEGEAN NUMBER EIGHT THOUSAND
+1012A ; [*151E.0020.0002.1012A] # AEGEAN NUMBER NINE THOUSAND
+1012B ; [*151F.0020.0002.1012B] # AEGEAN NUMBER TEN THOUSAND
+1012C ; [*1520.0020.0002.1012C] # AEGEAN NUMBER TWENTY THOUSAND
+1012D ; [*1521.0020.0002.1012D] # AEGEAN NUMBER THIRTY THOUSAND
+1012E ; [*1522.0020.0002.1012E] # AEGEAN NUMBER FORTY THOUSAND
+1012F ; [*1523.0020.0002.1012F] # AEGEAN NUMBER FIFTY THOUSAND
+10130 ; [*1524.0020.0002.10130] # AEGEAN NUMBER SIXTY THOUSAND
+10131 ; [*1525.0020.0002.10131] # AEGEAN NUMBER SEVENTY THOUSAND
+10132 ; [*1526.0020.0002.10132] # AEGEAN NUMBER EIGHTY THOUSAND
+10133 ; [*1527.0020.0002.10133] # AEGEAN NUMBER NINETY THOUSAND
+10137 ; [*0E65.0020.0002.10137] # AEGEAN WEIGHT BASE UNIT
+10138 ; [*0E66.0020.0002.10138] # AEGEAN WEIGHT FIRST SUBUNIT
+10139 ; [*0E67.0020.0002.10139] # AEGEAN WEIGHT SECOND SUBUNIT
+1013A ; [*0E68.0020.0002.1013A] # AEGEAN WEIGHT THIRD SUBUNIT
+1013B ; [*0E69.0020.0002.1013B] # AEGEAN WEIGHT FOURTH SUBUNIT
+1013C ; [*0E6A.0020.0002.1013C] # AEGEAN DRY MEASURE FIRST SUBUNIT
+1013D ; [*0E6B.0020.0002.1013D] # AEGEAN LIQUID MEASURE FIRST SUBUNIT
+1013E ; [*0E6C.0020.0002.1013E] # AEGEAN MEASURE SECOND SUBUNIT
+1013F ; [*0E6D.0020.0002.1013F] # AEGEAN MEASURE THIRD SUBUNIT
+10140 ; [*1528.0020.0002.10140] # GREEK ACROPHONIC ATTIC ONE QUARTER
+10141 ; [*1529.0020.0002.10141] # GREEK ACROPHONIC ATTIC ONE HALF
+10144 ; [*152A.0020.0002.10144] # GREEK ACROPHONIC ATTIC FIFTY
+10145 ; [*152B.0020.0002.10145] # GREEK ACROPHONIC ATTIC FIVE HUNDRED
+10146 ; [*152C.0020.0002.10146] # GREEK ACROPHONIC ATTIC FIVE THOUSAND
+10147 ; [*152D.0020.0002.10147] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND
+10149 ; [*152E.0020.0002.10149] # GREEK ACROPHONIC ATTIC TEN TALENTS
+1014A ; [*152F.0020.0002.1014A] # GREEK ACROPHONIC ATTIC FIFTY TALENTS
+1014B ; [*1530.0020.0002.1014B] # GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS
+1014C ; [*1531.0020.0002.1014C] # GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS
+1014D ; [*1532.0020.0002.1014D] # GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS
+1014E ; [*1533.0020.0002.1014E] # GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS
+10150 ; [*1534.0020.0002.10150] # GREEK ACROPHONIC ATTIC TEN STATERS
+10151 ; [*1535.0020.0002.10151] # GREEK ACROPHONIC ATTIC FIFTY STATERS
+10152 ; [*1536.0020.0002.10152] # GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS
+10153 ; [*1537.0020.0002.10153] # GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS
+10154 ; [*1538.0020.0002.10154] # GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS
+10155 ; [*1539.0020.0002.10155] # GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS
+10156 ; [*153A.0020.0002.10156] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS
+10157 ; [*153B.0020.0002.10157] # GREEK ACROPHONIC ATTIC TEN MNAS
+10160 ; [*153C.0020.0002.10160] # GREEK ACROPHONIC TROEZENIAN TEN
+10161 ; [*153D.0020.0002.10161] # GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM
+10162 ; [*153E.0020.0002.10162] # GREEK ACROPHONIC HERMIONIAN TEN
+10163 ; [*153F.0020.0002.10163] # GREEK ACROPHONIC MESSENIAN TEN
+10164 ; [*1540.0020.0002.10164] # GREEK ACROPHONIC THESPIAN TEN
+10165 ; [*1541.0020.0002.10165] # GREEK ACROPHONIC THESPIAN THIRTY
+10166 ; [*1542.0020.0002.10166] # GREEK ACROPHONIC TROEZENIAN FIFTY
+10167 ; [*1543.0020.0002.10167] # GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM
+10168 ; [*1544.0020.0002.10168] # GREEK ACROPHONIC HERMIONIAN FIFTY
+10169 ; [*1545.0020.0002.10169] # GREEK ACROPHONIC THESPIAN FIFTY
+1016A ; [*1546.0020.0002.1016A] # GREEK ACROPHONIC THESPIAN ONE HUNDRED
+1016B ; [*1547.0020.0002.1016B] # GREEK ACROPHONIC THESPIAN THREE HUNDRED
+1016C ; [*1548.0020.0002.1016C] # GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED
+1016D ; [*1549.0020.0002.1016D] # GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED
+1016E ; [*154A.0020.0002.1016E] # GREEK ACROPHONIC THESPIAN FIVE HUNDRED
+1016F ; [*154B.0020.0002.1016F] # GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED
+10170 ; [*154C.0020.0002.10170] # GREEK ACROPHONIC NAXIAN FIVE HUNDRED
+10171 ; [*154D.0020.0002.10171] # GREEK ACROPHONIC THESPIAN ONE THOUSAND
+10172 ; [*154E.0020.0002.10172] # GREEK ACROPHONIC THESPIAN FIVE THOUSAND
+10174 ; [*154F.0020.0002.10174] # GREEK ACROPHONIC STRATIAN FIFTY MNAS
+10175 ; [*1550.0020.0002.10175] # GREEK ONE HALF SIGN
+10176 ; [*1551.0020.0002.10176] # GREEK ONE HALF SIGN ALTERNATE FORM
+10177 ; [*1552.0020.0002.10177] # GREEK TWO THIRDS SIGN
+10178 ; [*1553.0020.0002.10178] # GREEK THREE QUARTERS SIGN
+10179 ; [*0E6E.0020.0002.10179] # GREEK YEAR SIGN
+1017A ; [*0E6F.0020.0002.1017A] # GREEK TALENT SIGN
+1017B ; [*0E70.0020.0002.1017B] # GREEK DRACHMA SIGN
+1017C ; [*0E71.0020.0002.1017C] # GREEK OBOL SIGN
+1017D ; [*0E72.0020.0002.1017D] # GREEK TWO OBOLS SIGN
+1017E ; [*0E73.0020.0002.1017E] # GREEK THREE OBOLS SIGN
+1017F ; [*0E74.0020.0002.1017F] # GREEK FOUR OBOLS SIGN
+10180 ; [*0E75.0020.0002.10180] # GREEK FIVE OBOLS SIGN
+10181 ; [*0E76.0020.0002.10181] # GREEK METRETES SIGN
+10182 ; [*0E77.0020.0002.10182] # GREEK KYATHOS BASE SIGN
+10183 ; [*0E78.0020.0002.10183] # GREEK LITRA SIGN
+10184 ; [*0E79.0020.0002.10184] # GREEK OUNKIA SIGN
+10185 ; [*0E7A.0020.0002.10185] # GREEK XESTES SIGN
+10186 ; [*0E7B.0020.0002.10186] # GREEK ARTABE SIGN
+10187 ; [*0E7C.0020.0002.10187] # GREEK AROURA SIGN
+10188 ; [*0E7D.0020.0002.10188] # GREEK GRAMMA SIGN
+10189 ; [*0E7E.0020.0002.10189] # GREEK TRYBLION BASE SIGN
+10190 ; [*0E7F.0020.0002.10190] # ROMAN SEXTANS SIGN
+10191 ; [*0E80.0020.0002.10191] # ROMAN UNCIA SIGN
+10192 ; [*0E81.0020.0002.10192] # ROMAN SEMUNCIA SIGN
+10193 ; [*0E82.0020.0002.10193] # ROMAN SEXTULA SIGN
+10194 ; [*0E83.0020.0002.10194] # ROMAN DIMIDIA SEXTULA SIGN
+10195 ; [*0E84.0020.0002.10195] # ROMAN SILIQUA SIGN
+10196 ; [*0E85.0020.0002.10196] # ROMAN DENARIUS SIGN
+10197 ; [*0E86.0020.0002.10197] # ROMAN QUINARIUS SIGN
+10198 ; [*0E87.0020.0002.10198] # ROMAN SESTERTIUS SIGN
+10199 ; [*0E88.0020.0002.10199] # ROMAN DUPONDIUS SIGN
+1019A ; [*0E89.0020.0002.1019A] # ROMAN AS SIGN
+1019B ; [*0E8A.0020.0002.1019B] # ROMAN CENTURIAL SIGN
+101D0 ; [*0E8B.0020.0002.101D0] # PHAISTOS DISC SIGN PEDESTRIAN
+101D1 ; [*0E8C.0020.0002.101D1] # PHAISTOS DISC SIGN PLUMED HEAD
+101D2 ; [*0E8D.0020.0002.101D2] # PHAISTOS DISC SIGN TATTOOED HEAD
+101D3 ; [*0E8E.0020.0002.101D3] # PHAISTOS DISC SIGN CAPTIVE
+101D4 ; [*0E8F.0020.0002.101D4] # PHAISTOS DISC SIGN CHILD
+101D5 ; [*0E90.0020.0002.101D5] # PHAISTOS DISC SIGN WOMAN
+101D6 ; [*0E91.0020.0002.101D6] # PHAISTOS DISC SIGN HELMET
+101D7 ; [*0E92.0020.0002.101D7] # PHAISTOS DISC SIGN GAUNTLET
+101D8 ; [*0E93.0020.0002.101D8] # PHAISTOS DISC SIGN TIARA
+101D9 ; [*0E94.0020.0002.101D9] # PHAISTOS DISC SIGN ARROW
+101DA ; [*0E95.0020.0002.101DA] # PHAISTOS DISC SIGN BOW
+101DB ; [*0E96.0020.0002.101DB] # PHAISTOS DISC SIGN SHIELD
+101DC ; [*0E97.0020.0002.101DC] # PHAISTOS DISC SIGN CLUB
+101DD ; [*0E98.0020.0002.101DD] # PHAISTOS DISC SIGN MANACLES
+101DE ; [*0E99.0020.0002.101DE] # PHAISTOS DISC SIGN MATTOCK
+101DF ; [*0E9A.0020.0002.101DF] # PHAISTOS DISC SIGN SAW
+101E0 ; [*0E9B.0020.0002.101E0] # PHAISTOS DISC SIGN LID
+101E1 ; [*0E9C.0020.0002.101E1] # PHAISTOS DISC SIGN BOOMERANG
+101E2 ; [*0E9D.0020.0002.101E2] # PHAISTOS DISC SIGN CARPENTRY PLANE
+101E3 ; [*0E9E.0020.0002.101E3] # PHAISTOS DISC SIGN DOLIUM
+101E4 ; [*0E9F.0020.0002.101E4] # PHAISTOS DISC SIGN COMB
+101E5 ; [*0EA0.0020.0002.101E5] # PHAISTOS DISC SIGN SLING
+101E6 ; [*0EA1.0020.0002.101E6] # PHAISTOS DISC SIGN COLUMN
+101E7 ; [*0EA2.0020.0002.101E7] # PHAISTOS DISC SIGN BEEHIVE
+101E8 ; [*0EA3.0020.0002.101E8] # PHAISTOS DISC SIGN SHIP
+101E9 ; [*0EA4.0020.0002.101E9] # PHAISTOS DISC SIGN HORN
+101EA ; [*0EA5.0020.0002.101EA] # PHAISTOS DISC SIGN HIDE
+101EB ; [*0EA6.0020.0002.101EB] # PHAISTOS DISC SIGN BULLS LEG
+101EC ; [*0EA7.0020.0002.101EC] # PHAISTOS DISC SIGN CAT
+101ED ; [*0EA8.0020.0002.101ED] # PHAISTOS DISC SIGN RAM
+101EE ; [*0EA9.0020.0002.101EE] # PHAISTOS DISC SIGN EAGLE
+101EF ; [*0EAA.0020.0002.101EF] # PHAISTOS DISC SIGN DOVE
+101F0 ; [*0EAB.0020.0002.101F0] # PHAISTOS DISC SIGN TUNNY
+101F1 ; [*0EAC.0020.0002.101F1] # PHAISTOS DISC SIGN BEE
+101F2 ; [*0EAD.0020.0002.101F2] # PHAISTOS DISC SIGN PLANE TREE
+101F3 ; [*0EAE.0020.0002.101F3] # PHAISTOS DISC SIGN VINE
+101F4 ; [*0EAF.0020.0002.101F4] # PHAISTOS DISC SIGN PAPYRUS
+101F5 ; [*0EB0.0020.0002.101F5] # PHAISTOS DISC SIGN ROSETTE
+101F6 ; [*0EB1.0020.0002.101F6] # PHAISTOS DISC SIGN LILY
+101F7 ; [*0EB2.0020.0002.101F7] # PHAISTOS DISC SIGN OX BACK
+101F8 ; [*0EB3.0020.0002.101F8] # PHAISTOS DISC SIGN FLUTE
+101F9 ; [*0EB4.0020.0002.101F9] # PHAISTOS DISC SIGN GRATER
+101FA ; [*0EB5.0020.0002.101FA] # PHAISTOS DISC SIGN STRAINER
+101FB ; [*0EB6.0020.0002.101FB] # PHAISTOS DISC SIGN SMALL AXE
+101FC ; [*0EB7.0020.0002.101FC] # PHAISTOS DISC SIGN WAVY BAND
+10322 ; [*1502.0020.0002.10322] # OLD ITALIC NUMERAL TEN
+10323 ; [*1503.0020.0002.10323] # OLD ITALIC NUMERAL FIFTY
+1039F ; [*02E3.0020.0002.1039F] # UGARITIC WORD DIVIDER
+103D0 ; [*02E4.0020.0002.103D0] # OLD PERSIAN WORD DIVIDER
+103D3 ; [*1554.0020.0002.103D3] # OLD PERSIAN NUMBER TEN
+103D4 ; [*1555.0020.0002.103D4] # OLD PERSIAN NUMBER TWENTY
+103D5 ; [*1556.0020.0002.103D5] # OLD PERSIAN NUMBER HUNDRED
+10857 ; [*02C4.0020.0002.10857] # IMPERIAL ARAMAIC SECTION SIGN
+1085B ; [*155C.0020.0002.1085B] # IMPERIAL ARAMAIC NUMBER TEN
+1085C ; [*155D.0020.0002.1085C] # IMPERIAL ARAMAIC NUMBER TWENTY
+1085D ; [*155E.0020.0002.1085D] # IMPERIAL ARAMAIC NUMBER ONE HUNDRED
+1085E ; [*155F.0020.0002.1085E] # IMPERIAL ARAMAIC NUMBER ONE THOUSAND
+1085F ; [*1560.0020.0002.1085F] # IMPERIAL ARAMAIC NUMBER TEN THOUSAND
+10917 ; [*1559.0020.0002.10917] # PHOENICIAN NUMBER TEN
+10918 ; [*155A.0020.0002.10918] # PHOENICIAN NUMBER TWENTY
+10919 ; [*155B.0020.0002.10919] # PHOENICIAN NUMBER ONE HUNDRED
+1091F ; [*02E5.0020.0002.1091F] # PHOENICIAN WORD SEPARATOR
+1093F ; [*02DF.0020.0002.1093F] # LYDIAN TRIANGULAR MARK
+10A44 ; [*1574.0020.0002.10A44] # KHAROSHTHI NUMBER TEN
+10A45 ; [*1575.0020.0002.10A45] # KHAROSHTHI NUMBER TWENTY
+10A46 ; [*1576.0020.0002.10A46] # KHAROSHTHI NUMBER ONE HUNDRED
+10A47 ; [*1577.0020.0002.10A47] # KHAROSHTHI NUMBER ONE THOUSAND
+10A50 ; [*0404.0020.0002.10A50] # KHAROSHTHI PUNCTUATION DOT
+10A51 ; [*0405.0020.0002.10A51] # KHAROSHTHI PUNCTUATION SMALL CIRCLE
+10A52 ; [*0406.0020.0002.10A52] # KHAROSHTHI PUNCTUATION CIRCLE
+10A53 ; [*0407.0020.0002.10A53] # KHAROSHTHI PUNCTUATION CRESCENT BAR
+10A54 ; [*0408.0020.0002.10A54] # KHAROSHTHI PUNCTUATION MANGALAM
+10A55 ; [*0409.0020.0002.10A55] # KHAROSHTHI PUNCTUATION LOTUS
+10A56 ; [*02A3.0020.0002.10A56] # KHAROSHTHI PUNCTUATION DANDA
+10A57 ; [*02A4.0020.0002.10A57] # KHAROSHTHI PUNCTUATION DOUBLE DANDA
+10A58 ; [*040A.0020.0002.10A58] # KHAROSHTHI PUNCTUATION LINES
+10A7E ; [*1557.0020.0002.10A7E] # OLD SOUTH ARABIAN NUMBER FIFTY
+10A7F ; [*1558.0020.0002.10A7F] # OLD SOUTH ARABIAN NUMERIC INDICATOR
+10B39 ; [*040B.0020.0002.10B39] # AVESTAN ABBREVIATION MARK
+10B3A ; [*02C5.0020.0002.10B3A] # TINY TWO DOTS OVER ONE DOT PUNCTUATION
+10B3B ; [*02C6.0020.0002.10B3B] # SMALL TWO DOTS OVER ONE DOT PUNCTUATION
+10B3C ; [*02C7.0020.0002.10B3C] # LARGE TWO DOTS OVER ONE DOT PUNCTUATION
+10B3D ; [*02C8.0020.0002.10B3D] # LARGE ONE DOT OVER TWO DOTS PUNCTUATION
+10B3E ; [*02C9.0020.0002.10B3E] # LARGE TWO RINGS OVER ONE RING PUNCTUATION
+10B3F ; [*02CA.0020.0002.10B3F] # LARGE ONE RING OVER TWO RINGS PUNCTUATION
+10B5C ; [*1561.0020.0002.10B5C] # INSCRIPTIONAL PARTHIAN NUMBER TEN
+10B5D ; [*1562.0020.0002.10B5D] # INSCRIPTIONAL PARTHIAN NUMBER TWENTY
+10B5E ; [*1563.0020.0002.10B5E] # INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED
+10B5F ; [*1564.0020.0002.10B5F] # INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
+10B7C ; [*1565.0020.0002.10B7C] # INSCRIPTIONAL PAHLAVI NUMBER TEN
+10B7D ; [*1566.0020.0002.10B7D] # INSCRIPTIONAL PAHLAVI NUMBER TWENTY
+10B7E ; [*1567.0020.0002.10B7E] # INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED
+10B7F ; [*1568.0020.0002.10B7F] # INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
+10E69 ; [*14EB.0020.0002.10E69] # RUMI NUMBER TEN
+10E6A ; [*14EC.0020.0002.10E6A] # RUMI NUMBER TWENTY
+10E6B ; [*14ED.0020.0002.10E6B] # RUMI NUMBER THIRTY
+10E6C ; [*14EE.0020.0002.10E6C] # RUMI NUMBER FORTY
+10E6D ; [*14EF.0020.0002.10E6D] # RUMI NUMBER FIFTY
+10E6E ; [*14F0.0020.0002.10E6E] # RUMI NUMBER SIXTY
+10E6F ; [*14F1.0020.0002.10E6F] # RUMI NUMBER SEVENTY
+10E70 ; [*14F2.0020.0002.10E70] # RUMI NUMBER EIGHTY
+10E71 ; [*14F3.0020.0002.10E71] # RUMI NUMBER NINETY
+10E72 ; [*14F4.0020.0002.10E72] # RUMI NUMBER ONE HUNDRED
+10E73 ; [*14F5.0020.0002.10E73] # RUMI NUMBER TWO HUNDRED
+10E74 ; [*14F6.0020.0002.10E74] # RUMI NUMBER THREE HUNDRED
+10E75 ; [*14F7.0020.0002.10E75] # RUMI NUMBER FOUR HUNDRED
+10E76 ; [*14F8.0020.0002.10E76] # RUMI NUMBER FIVE HUNDRED
+10E77 ; [*14F9.0020.0002.10E77] # RUMI NUMBER SIX HUNDRED
+10E78 ; [*14FA.0020.0002.10E78] # RUMI NUMBER SEVEN HUNDRED
+10E79 ; [*14FB.0020.0002.10E79] # RUMI NUMBER EIGHT HUNDRED
+10E7A ; [*14FC.0020.0002.10E7A] # RUMI NUMBER NINE HUNDRED
+10E7B ; [*14FD.0020.0002.10E7B] # RUMI FRACTION ONE HALF
+10E7C ; [*14FE.0020.0002.10E7C] # RUMI FRACTION ONE QUARTER
+10E7D ; [*14FF.0020.0002.10E7D] # RUMI FRACTION ONE THIRD
+10E7E ; [*1500.0020.0002.10E7E] # RUMI FRACTION TWO THIRDS
+11047 ; [*02A5.0020.0002.11047] # BRAHMI DANDA
+11048 ; [*02A6.0020.0002.11048] # BRAHMI DOUBLE DANDA
+11049 ; [*03FF.0020.0002.11049] # BRAHMI PUNCTUATION DOT
+1104A ; [*0400.0020.0002.1104A] # BRAHMI PUNCTUATION DOUBLE DOT
+1104B ; [*0401.0020.0002.1104B] # BRAHMI PUNCTUATION LINE
+1104C ; [*0402.0020.0002.1104C] # BRAHMI PUNCTUATION CRESCENT BAR
+1104D ; [*0403.0020.0002.1104D] # BRAHMI PUNCTUATION LOTUS
+1105B ; [*1569.0020.0002.1105B] # BRAHMI NUMBER TEN
+1105C ; [*156A.0020.0002.1105C] # BRAHMI NUMBER TWENTY
+1105D ; [*156B.0020.0002.1105D] # BRAHMI NUMBER THIRTY
+1105E ; [*156C.0020.0002.1105E] # BRAHMI NUMBER FORTY
+1105F ; [*156D.0020.0002.1105F] # BRAHMI NUMBER FIFTY
+11060 ; [*156E.0020.0002.11060] # BRAHMI NUMBER SIXTY
+11061 ; [*156F.0020.0002.11061] # BRAHMI NUMBER SEVENTY
+11062 ; [*1570.0020.0002.11062] # BRAHMI NUMBER EIGHTY
+11063 ; [*1571.0020.0002.11063] # BRAHMI NUMBER NINETY
+11064 ; [*1572.0020.0002.11064] # BRAHMI NUMBER ONE HUNDRED
+11065 ; [*1573.0020.0002.11065] # BRAHMI NUMBER ONE THOUSAND
+110BB ; [*040C.0020.0002.110BB] # KAITHI ABBREVIATION SIGN
+110BC ; [*040D.0020.0002.110BC] # KAITHI ENUMERATION SIGN
110BD ; [.0000.0000.0000.110BD] # KAITHI NUMBER SIGN
-110BE ; [*02E0.0020.0002.110BE] # KAITHI SECTION MARK
-110BF ; [*02E1.0020.0002.110BF] # KAITHI DOUBLE SECTION MARK
-110C0 ; [*02C0.0020.0002.110C0] # KAITHI DANDA
-110C1 ; [*02C1.0020.0002.110C1] # KAITHI DOUBLE DANDA
-12432 ; [*154B.0020.0002.12432] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH
-12433 ; [*154C.0020.0002.12433] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN
-12456 ; [*154D.0020.0002.12456] # CUNEIFORM NUMERIC SIGN NIGIDAMIN
-12457 ; [*154E.0020.0002.12457] # CUNEIFORM NUMERIC SIGN NIGIDAESH
-1245A ; [*154F.0020.0002.1245A] # CUNEIFORM NUMERIC SIGN ONE THIRD DISH
-1245B ; [*1550.0020.0002.1245B] # CUNEIFORM NUMERIC SIGN TWO THIRDS DISH
-1245C ; [*1551.0020.0002.1245C] # CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH
-1245D ; [*1552.0020.0002.1245D] # CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A
-1245E ; [*1553.0020.0002.1245E] # CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A
-1245F ; [*1554.0020.0002.1245F] # CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH
-12460 ; [*1555.0020.0002.12460] # CUNEIFORM NUMERIC SIGN ONE QUARTER ASH
-12461 ; [*1556.0020.0002.12461] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH
-12462 ; [*1557.0020.0002.12462] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-12470 ; [*02F9.0020.0002.12470] # CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER
-12471 ; [*02FA.0020.0002.12471] # CUNEIFORM PUNCTUATION SIGN VERTICAL COLON
-12472 ; [*02FB.0020.0002.12472] # CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON
-12473 ; [*02FC.0020.0002.12473] # CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
-1D000 ; [*0E9C.0020.0002.1D000] # BYZANTINE MUSICAL SYMBOL PSILI
-1D001 ; [*0E9D.0020.0002.1D001] # BYZANTINE MUSICAL SYMBOL DASEIA
-1D002 ; [*0E9E.0020.0002.1D002] # BYZANTINE MUSICAL SYMBOL PERISPOMENI
-1D003 ; [*0E9F.0020.0002.1D003] # BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON
-1D004 ; [*0EA0.0020.0002.1D004] # BYZANTINE MUSICAL SYMBOL OXEIA DIPLI
-1D005 ; [*0EA1.0020.0002.1D005] # BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON
-1D006 ; [*0EA2.0020.0002.1D006] # BYZANTINE MUSICAL SYMBOL VAREIA DIPLI
-1D007 ; [*0EA3.0020.0002.1D007] # BYZANTINE MUSICAL SYMBOL KATHISTI
-1D008 ; [*0EA4.0020.0002.1D008] # BYZANTINE MUSICAL SYMBOL SYRMATIKI
-1D009 ; [*0EA5.0020.0002.1D009] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI
-1D00A ; [*0EA6.0020.0002.1D00A] # BYZANTINE MUSICAL SYMBOL YPOKRISIS
-1D00B ; [*0EA7.0020.0002.1D00B] # BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI
-1D00C ; [*0EA8.0020.0002.1D00C] # BYZANTINE MUSICAL SYMBOL KREMASTI
-1D00D ; [*0EA9.0020.0002.1D00D] # BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON
-1D00E ; [*0EAA.0020.0002.1D00E] # BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON
-1D00F ; [*0EAB.0020.0002.1D00F] # BYZANTINE MUSICAL SYMBOL TELEIA
-1D010 ; [*0EAC.0020.0002.1D010] # BYZANTINE MUSICAL SYMBOL KENTIMATA
-1D011 ; [*0EAD.0020.0002.1D011] # BYZANTINE MUSICAL SYMBOL APOSTROFOS
-1D012 ; [*0EAE.0020.0002.1D012] # BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI
-1D013 ; [*0EAF.0020.0002.1D013] # BYZANTINE MUSICAL SYMBOL SYNEVMA
-1D014 ; [*0EB0.0020.0002.1D014] # BYZANTINE MUSICAL SYMBOL THITA
-1D015 ; [*0EB1.0020.0002.1D015] # BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION
-1D016 ; [*0EB2.0020.0002.1D016] # BYZANTINE MUSICAL SYMBOL GORGON ARCHAION
-1D017 ; [*0EB3.0020.0002.1D017] # BYZANTINE MUSICAL SYMBOL PSILON
-1D018 ; [*0EB4.0020.0002.1D018] # BYZANTINE MUSICAL SYMBOL CHAMILON
-1D019 ; [*0EB5.0020.0002.1D019] # BYZANTINE MUSICAL SYMBOL VATHY
-1D01A ; [*0EB6.0020.0002.1D01A] # BYZANTINE MUSICAL SYMBOL ISON ARCHAION
-1D01B ; [*0EB7.0020.0002.1D01B] # BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION
-1D01C ; [*0EB8.0020.0002.1D01C] # BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION
-1D01D ; [*0EB9.0020.0002.1D01D] # BYZANTINE MUSICAL SYMBOL SAXIMATA
-1D01E ; [*0EBA.0020.0002.1D01E] # BYZANTINE MUSICAL SYMBOL PARICHON
-1D01F ; [*0EBB.0020.0002.1D01F] # BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA
-1D020 ; [*0EBC.0020.0002.1D020] # BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION
-1D021 ; [*0EBD.0020.0002.1D021] # BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION
-1D022 ; [*0EBE.0020.0002.1D022] # BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION
-1D023 ; [*0EBF.0020.0002.1D023] # BYZANTINE MUSICAL SYMBOL APOTHEMA
-1D024 ; [*0EC0.0020.0002.1D024] # BYZANTINE MUSICAL SYMBOL KLASMA
-1D025 ; [*0EC1.0020.0002.1D025] # BYZANTINE MUSICAL SYMBOL REVMA
-1D026 ; [*0EC2.0020.0002.1D026] # BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION
-1D027 ; [*0EC3.0020.0002.1D027] # BYZANTINE MUSICAL SYMBOL TINAGMA
-1D028 ; [*0EC4.0020.0002.1D028] # BYZANTINE MUSICAL SYMBOL ANATRICHISMA
-1D029 ; [*0EC5.0020.0002.1D029] # BYZANTINE MUSICAL SYMBOL SEISMA
-1D02A ; [*0EC6.0020.0002.1D02A] # BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION
-1D02B ; [*0EC7.0020.0002.1D02B] # BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU
-1D02C ; [*0EC8.0020.0002.1D02C] # BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION
-1D02D ; [*0EC9.0020.0002.1D02D] # BYZANTINE MUSICAL SYMBOL THEMA
-1D02E ; [*0ECA.0020.0002.1D02E] # BYZANTINE MUSICAL SYMBOL LEMOI
-1D02F ; [*0ECB.0020.0002.1D02F] # BYZANTINE MUSICAL SYMBOL DYO
-1D030 ; [*0ECC.0020.0002.1D030] # BYZANTINE MUSICAL SYMBOL TRIA
-1D031 ; [*0ECD.0020.0002.1D031] # BYZANTINE MUSICAL SYMBOL TESSERA
-1D032 ; [*0ECE.0020.0002.1D032] # BYZANTINE MUSICAL SYMBOL KRATIMATA
-1D033 ; [*0ECF.0020.0002.1D033] # BYZANTINE MUSICAL SYMBOL APESO EXO NEO
-1D034 ; [*0ED0.0020.0002.1D034] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION
-1D035 ; [*0ED1.0020.0002.1D035] # BYZANTINE MUSICAL SYMBOL IMIFTHORA
-1D036 ; [*0ED2.0020.0002.1D036] # BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION
-1D037 ; [*0ED3.0020.0002.1D037] # BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON
-1D038 ; [*0ED4.0020.0002.1D038] # BYZANTINE MUSICAL SYMBOL PELASTON
-1D039 ; [*0ED5.0020.0002.1D039] # BYZANTINE MUSICAL SYMBOL PSIFISTON
-1D03A ; [*0ED6.0020.0002.1D03A] # BYZANTINE MUSICAL SYMBOL KONTEVMA
-1D03B ; [*0ED7.0020.0002.1D03B] # BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION
-1D03C ; [*0ED8.0020.0002.1D03C] # BYZANTINE MUSICAL SYMBOL RAPISMA
-1D03D ; [*0ED9.0020.0002.1D03D] # BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION
-1D03E ; [*0EDA.0020.0002.1D03E] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION
-1D03F ; [*0EDB.0020.0002.1D03F] # BYZANTINE MUSICAL SYMBOL ICHADIN
-1D040 ; [*0EDC.0020.0002.1D040] # BYZANTINE MUSICAL SYMBOL NANA
-1D041 ; [*0EDD.0020.0002.1D041] # BYZANTINE MUSICAL SYMBOL PETASMA
-1D042 ; [*0EDE.0020.0002.1D042] # BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO
-1D043 ; [*0EDF.0020.0002.1D043] # BYZANTINE MUSICAL SYMBOL TROMIKON ALLO
-1D044 ; [*0EE0.0020.0002.1D044] # BYZANTINE MUSICAL SYMBOL STRAGGISMATA
-1D045 ; [*0EE1.0020.0002.1D045] # BYZANTINE MUSICAL SYMBOL GRONTHISMATA
-1D046 ; [*0EE2.0020.0002.1D046] # BYZANTINE MUSICAL SYMBOL ISON NEO
-1D047 ; [*0EE3.0020.0002.1D047] # BYZANTINE MUSICAL SYMBOL OLIGON NEO
-1D048 ; [*0EE4.0020.0002.1D048] # BYZANTINE MUSICAL SYMBOL OXEIA NEO
-1D049 ; [*0EE5.0020.0002.1D049] # BYZANTINE MUSICAL SYMBOL PETASTI
-1D04A ; [*0EE6.0020.0002.1D04A] # BYZANTINE MUSICAL SYMBOL KOUFISMA
-1D04B ; [*0EE7.0020.0002.1D04B] # BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA
-1D04C ; [*0EE8.0020.0002.1D04C] # BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA
-1D04D ; [*0EE9.0020.0002.1D04D] # BYZANTINE MUSICAL SYMBOL PELASTON NEO
-1D04E ; [*0EEA.0020.0002.1D04E] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO
-1D04F ; [*0EEB.0020.0002.1D04F] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO
-1D050 ; [*0EEC.0020.0002.1D050] # BYZANTINE MUSICAL SYMBOL YPSILI
-1D051 ; [*0EED.0020.0002.1D051] # BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO
-1D052 ; [*0EEE.0020.0002.1D052] # BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO
-1D053 ; [*0EEF.0020.0002.1D053] # BYZANTINE MUSICAL SYMBOL YPORROI
-1D054 ; [*0EF0.0020.0002.1D054] # BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON
-1D055 ; [*0EF1.0020.0002.1D055] # BYZANTINE MUSICAL SYMBOL ELAFRON
-1D056 ; [*0EF2.0020.0002.1D056] # BYZANTINE MUSICAL SYMBOL CHAMILI
-1D057 ; [*0EF3.0020.0002.1D057] # BYZANTINE MUSICAL SYMBOL MIKRON ISON
-1D058 ; [*0EF4.0020.0002.1D058] # BYZANTINE MUSICAL SYMBOL VAREIA NEO
-1D059 ; [*0EF5.0020.0002.1D059] # BYZANTINE MUSICAL SYMBOL PIASMA NEO
-1D05A ; [*0EF6.0020.0002.1D05A] # BYZANTINE MUSICAL SYMBOL PSIFISTON NEO
-1D05B ; [*0EF7.0020.0002.1D05B] # BYZANTINE MUSICAL SYMBOL OMALON
-1D05C ; [*0EF8.0020.0002.1D05C] # BYZANTINE MUSICAL SYMBOL ANTIKENOMA
-1D05D ; [*0EF9.0020.0002.1D05D] # BYZANTINE MUSICAL SYMBOL LYGISMA
-1D05E ; [*0EFA.0020.0002.1D05E] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO
-1D05F ; [*0EFB.0020.0002.1D05F] # BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO
-1D060 ; [*0EFC.0020.0002.1D060] # BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA
-1D061 ; [*0EFD.0020.0002.1D061] # BYZANTINE MUSICAL SYMBOL KYLISMA
-1D062 ; [*0EFE.0020.0002.1D062] # BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA
-1D063 ; [*0EFF.0020.0002.1D063] # BYZANTINE MUSICAL SYMBOL TROMIKON NEO
-1D064 ; [*0F00.0020.0002.1D064] # BYZANTINE MUSICAL SYMBOL EKSTREPTON
-1D065 ; [*0F01.0020.0002.1D065] # BYZANTINE MUSICAL SYMBOL SYNAGMA NEO
-1D066 ; [*0F02.0020.0002.1D066] # BYZANTINE MUSICAL SYMBOL SYRMA
-1D067 ; [*0F03.0020.0002.1D067] # BYZANTINE MUSICAL SYMBOL CHOREVMA NEO
-1D068 ; [*0F04.0020.0002.1D068] # BYZANTINE MUSICAL SYMBOL EPEGERMA
-1D069 ; [*0F05.0020.0002.1D069] # BYZANTINE MUSICAL SYMBOL SEISMA NEO
-1D06A ; [*0F06.0020.0002.1D06A] # BYZANTINE MUSICAL SYMBOL XIRON KLASMA
-1D06B ; [*0F07.0020.0002.1D06B] # BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON
-1D06C ; [*0F08.0020.0002.1D06C] # BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA
-1D06D ; [*0F09.0020.0002.1D06D] # BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA
-1D06E ; [*0F0A.0020.0002.1D06E] # BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA
-1D06F ; [*0F0B.0020.0002.1D06F] # BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA
-1D070 ; [*0F0C.0020.0002.1D070] # BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA
-1D071 ; [*0F0D.0020.0002.1D071] # BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA
-1D072 ; [*0F0E.0020.0002.1D072] # BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON
-1D073 ; [*0F0F.0020.0002.1D073] # BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON
-1D074 ; [*0F10.0020.0002.1D074] # BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON
-1D075 ; [*0F11.0020.0002.1D075] # BYZANTINE MUSICAL SYMBOL OYRANISMA NEO
-1D076 ; [*0F12.0020.0002.1D076] # BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO
-1D077 ; [*0F13.0020.0002.1D077] # BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO
-1D078 ; [*0F14.0020.0002.1D078] # BYZANTINE MUSICAL SYMBOL THEMA APLOUN
-1D079 ; [*0F15.0020.0002.1D079] # BYZANTINE MUSICAL SYMBOL THES KAI APOTHES
-1D07A ; [*0F16.0020.0002.1D07A] # BYZANTINE MUSICAL SYMBOL KATAVASMA
-1D07B ; [*0F17.0020.0002.1D07B] # BYZANTINE MUSICAL SYMBOL ENDOFONON
-1D07C ; [*0F18.0020.0002.1D07C] # BYZANTINE MUSICAL SYMBOL YFEN KATO
-1D07D ; [*0F19.0020.0002.1D07D] # BYZANTINE MUSICAL SYMBOL YFEN ANO
-1D07E ; [*0F1A.0020.0002.1D07E] # BYZANTINE MUSICAL SYMBOL STAVROS
-1D07F ; [*0F1B.0020.0002.1D07F] # BYZANTINE MUSICAL SYMBOL KLASMA ANO
-1D080 ; [*0F1C.0020.0002.1D080] # BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION
-1D081 ; [*0F1D.0020.0002.1D081] # BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION
-1D082 ; [*0F1E.0020.0002.1D082] # BYZANTINE MUSICAL SYMBOL KRATIMA ALLO
-1D083 ; [*0F1F.0020.0002.1D083] # BYZANTINE MUSICAL SYMBOL KRATIMA NEO
-1D084 ; [*0F20.0020.0002.1D084] # BYZANTINE MUSICAL SYMBOL APODERMA NEO
-1D085 ; [*0F21.0020.0002.1D085] # BYZANTINE MUSICAL SYMBOL APLI
-1D086 ; [*0F22.0020.0002.1D086] # BYZANTINE MUSICAL SYMBOL DIPLI
-1D087 ; [*0F23.0020.0002.1D087] # BYZANTINE MUSICAL SYMBOL TRIPLI
-1D088 ; [*0F24.0020.0002.1D088] # BYZANTINE MUSICAL SYMBOL TETRAPLI
-1D089 ; [*0F25.0020.0002.1D089] # BYZANTINE MUSICAL SYMBOL KORONIS
-1D08A ; [*0F26.0020.0002.1D08A] # BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU
-1D08B ; [*0F27.0020.0002.1D08B] # BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON
-1D08C ; [*0F28.0020.0002.1D08C] # BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON
-1D08D ; [*0F29.0020.0002.1D08D] # BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON
-1D08E ; [*0F2A.0020.0002.1D08E] # BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU
-1D08F ; [*0F2B.0020.0002.1D08F] # BYZANTINE MUSICAL SYMBOL GORGON NEO ANO
-1D090 ; [*0F2C.0020.0002.1D090] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA
-1D091 ; [*0F2D.0020.0002.1D091] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA
-1D092 ; [*0F2E.0020.0002.1D092] # BYZANTINE MUSICAL SYMBOL DIGORGON
-1D093 ; [*0F2F.0020.0002.1D093] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO
-1D094 ; [*0F30.0020.0002.1D094] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO
-1D095 ; [*0F31.0020.0002.1D095] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA
-1D096 ; [*0F32.0020.0002.1D096] # BYZANTINE MUSICAL SYMBOL TRIGORGON
-1D097 ; [*0F33.0020.0002.1D097] # BYZANTINE MUSICAL SYMBOL ARGON
-1D098 ; [*0F34.0020.0002.1D098] # BYZANTINE MUSICAL SYMBOL IMIDIARGON
-1D099 ; [*0F35.0020.0002.1D099] # BYZANTINE MUSICAL SYMBOL DIARGON
-1D09A ; [*0F36.0020.0002.1D09A] # BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI
-1D09B ; [*0F37.0020.0002.1D09B] # BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI
-1D09C ; [*0F38.0020.0002.1D09C] # BYZANTINE MUSICAL SYMBOL AGOGI ARGI
-1D09D ; [*0F39.0020.0002.1D09D] # BYZANTINE MUSICAL SYMBOL AGOGI METRIA
-1D09E ; [*0F3A.0020.0002.1D09E] # BYZANTINE MUSICAL SYMBOL AGOGI MESI
-1D09F ; [*0F3B.0020.0002.1D09F] # BYZANTINE MUSICAL SYMBOL AGOGI GORGI
-1D0A0 ; [*0F3C.0020.0002.1D0A0] # BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI
-1D0A1 ; [*0F3D.0020.0002.1D0A1] # BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI
-1D0A2 ; [*0F3E.0020.0002.1D0A2] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS
-1D0A3 ; [*0F3F.0020.0002.1D0A3] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS
-1D0A4 ; [*0F40.0020.0002.1D0A4] # BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS
-1D0A5 ; [*0F41.0020.0002.1D0A5] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS
-1D0A6 ; [*0F42.0020.0002.1D0A6] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS
-1D0A7 ; [*0F43.0020.0002.1D0A7] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS
-1D0A8 ; [*0F44.0020.0002.1D0A8] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS
-1D0A9 ; [*0F45.0020.0002.1D0A9] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS
-1D0AA ; [*0F46.0020.0002.1D0AA] # BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS
-1D0AB ; [*0F47.0020.0002.1D0AB] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS
-1D0AC ; [*0F48.0020.0002.1D0AC] # BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS
-1D0AD ; [*0F49.0020.0002.1D0AD] # BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS
-1D0AE ; [*0F4A.0020.0002.1D0AE] # BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS
-1D0AF ; [*0F4B.0020.0002.1D0AF] # BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS
-1D0B0 ; [*0F4C.0020.0002.1D0B0] # BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS
-1D0B1 ; [*0F4D.0020.0002.1D0B1] # BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS
-1D0B2 ; [*0F4E.0020.0002.1D0B2] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS
-1D0B3 ; [*0F4F.0020.0002.1D0B3] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS
-1D0B4 ; [*0F50.0020.0002.1D0B4] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN
-1D0B5 ; [*0F51.0020.0002.1D0B5] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN
-1D0B6 ; [*0F52.0020.0002.1D0B6] # BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU
-1D0B7 ; [*0F53.0020.0002.1D0B7] # BYZANTINE MUSICAL SYMBOL IMIFONON
-1D0B8 ; [*0F54.0020.0002.1D0B8] # BYZANTINE MUSICAL SYMBOL IMIFTHORON
-1D0B9 ; [*0F55.0020.0002.1D0B9] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU
-1D0BA ; [*0F56.0020.0002.1D0BA] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA
-1D0BB ; [*0F57.0020.0002.1D0BB] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA
-1D0BC ; [*0F58.0020.0002.1D0BC] # BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS
-1D0BD ; [*0F59.0020.0002.1D0BD] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI
-1D0BE ; [*0F5A.0020.0002.1D0BE] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI
-1D0BF ; [*0F5B.0020.0002.1D0BF] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE
-1D0C0 ; [*0F5C.0020.0002.1D0C0] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO
-1D0C1 ; [*0F5D.0020.0002.1D0C1] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO
-1D0C2 ; [*0F5E.0020.0002.1D0C2] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO
-1D0C3 ; [*0F5F.0020.0002.1D0C3] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS
-1D0C4 ; [*0F60.0020.0002.1D0C4] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS
-1D0C5 ; [*0F61.0020.0002.1D0C5] # BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS
-1D0C6 ; [*0F62.0020.0002.1D0C6] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI
-1D0C7 ; [*0F63.0020.0002.1D0C7] # BYZANTINE MUSICAL SYMBOL FTHORA NENANO
-1D0C8 ; [*0F64.0020.0002.1D0C8] # BYZANTINE MUSICAL SYMBOL CHROA ZYGOS
-1D0C9 ; [*0F65.0020.0002.1D0C9] # BYZANTINE MUSICAL SYMBOL CHROA KLITON
-1D0CA ; [*0F66.0020.0002.1D0CA] # BYZANTINE MUSICAL SYMBOL CHROA SPATHI
-1D0CB ; [*0F67.0020.0002.1D0CB] # BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION
-1D0CC ; [*0F68.0020.0002.1D0CC] # BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA
-1D0CD ; [*0F69.0020.0002.1D0CD] # BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION
-1D0CE ; [*0F6A.0020.0002.1D0CE] # BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION
-1D0CF ; [*0F6B.0020.0002.1D0CF] # BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION
-1D0D0 ; [*0F6C.0020.0002.1D0D0] # BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA
-1D0D1 ; [*0F6D.0020.0002.1D0D1] # BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA
-1D0D2 ; [*0F6E.0020.0002.1D0D2] # BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA
-1D0D3 ; [*0F6F.0020.0002.1D0D3] # BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA
-1D0D4 ; [*0F70.0020.0002.1D0D4] # BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA
-1D0D5 ; [*0F71.0020.0002.1D0D5] # BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA
-1D0D6 ; [*0F72.0020.0002.1D0D6] # BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA
-1D0D7 ; [*0F73.0020.0002.1D0D7] # BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA
-1D0D8 ; [*0F74.0020.0002.1D0D8] # BYZANTINE MUSICAL SYMBOL GENIKI DIESIS
-1D0D9 ; [*0F75.0020.0002.1D0D9] # BYZANTINE MUSICAL SYMBOL GENIKI YFESIS
-1D0DA ; [*0F76.0020.0002.1D0DA] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI
-1D0DB ; [*0F77.0020.0002.1D0DB] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI
-1D0DC ; [*0F78.0020.0002.1D0DC] # BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI
-1D0DD ; [*0F79.0020.0002.1D0DD] # BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS
-1D0DE ; [*0F7A.0020.0002.1D0DE] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS
-1D0DF ; [*0F7B.0020.0002.1D0DF] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU
-1D0E0 ; [*0F7C.0020.0002.1D0E0] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU
-1D0E1 ; [*0F7D.0020.0002.1D0E1] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU
-1D0E2 ; [*0F7E.0020.0002.1D0E2] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS
-1D0E3 ; [*0F7F.0020.0002.1D0E3] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU
-1D0E4 ; [*0F80.0020.0002.1D0E4] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU
-1D0E5 ; [*0F81.0020.0002.1D0E5] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU
-1D0E6 ; [*0F82.0020.0002.1D0E6] # BYZANTINE MUSICAL SYMBOL DIGRAMMA GG
-1D0E7 ; [*0F83.0020.0002.1D0E7] # BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU
-1D0E8 ; [*0F84.0020.0002.1D0E8] # BYZANTINE MUSICAL SYMBOL STIGMA
-1D0E9 ; [*0F85.0020.0002.1D0E9] # BYZANTINE MUSICAL SYMBOL ARKTIKO PA
-1D0EA ; [*0F86.0020.0002.1D0EA] # BYZANTINE MUSICAL SYMBOL ARKTIKO VOU
-1D0EB ; [*0F87.0020.0002.1D0EB] # BYZANTINE MUSICAL SYMBOL ARKTIKO GA
-1D0EC ; [*0F88.0020.0002.1D0EC] # BYZANTINE MUSICAL SYMBOL ARKTIKO DI
-1D0ED ; [*0F89.0020.0002.1D0ED] # BYZANTINE MUSICAL SYMBOL ARKTIKO KE
-1D0EE ; [*0F8A.0020.0002.1D0EE] # BYZANTINE MUSICAL SYMBOL ARKTIKO ZO
-1D0EF ; [*0F8B.0020.0002.1D0EF] # BYZANTINE MUSICAL SYMBOL ARKTIKO NI
-1D0F0 ; [*0F8C.0020.0002.1D0F0] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO
-1D0F1 ; [*0F8D.0020.0002.1D0F1] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO
-1D0F2 ; [*0F8E.0020.0002.1D0F2] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO
-1D0F3 ; [*0F8F.0020.0002.1D0F3] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO
-1D0F4 ; [*0F90.0020.0002.1D0F4] # BYZANTINE MUSICAL SYMBOL KLASMA KATO
-1D0F5 ; [*0F91.0020.0002.1D0F5] # BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
-1D100 ; [*0F92.0020.0002.1D100] # MUSICAL SYMBOL SINGLE BARLINE
-1D101 ; [*0F93.0020.0002.1D101] # MUSICAL SYMBOL DOUBLE BARLINE
-1D102 ; [*0F94.0020.0002.1D102] # MUSICAL SYMBOL FINAL BARLINE
-1D103 ; [*0F95.0020.0002.1D103] # MUSICAL SYMBOL REVERSE FINAL BARLINE
-1D104 ; [*0F96.0020.0002.1D104] # MUSICAL SYMBOL DASHED BARLINE
-1D105 ; [*0F97.0020.0002.1D105] # MUSICAL SYMBOL SHORT BARLINE
-1D106 ; [*0F98.0020.0002.1D106] # MUSICAL SYMBOL LEFT REPEAT SIGN
-1D107 ; [*0F99.0020.0002.1D107] # MUSICAL SYMBOL RIGHT REPEAT SIGN
-1D108 ; [*0F9A.0020.0002.1D108] # MUSICAL SYMBOL REPEAT DOTS
-1D109 ; [*0F9B.0020.0002.1D109] # MUSICAL SYMBOL DAL SEGNO
-1D10A ; [*0F9C.0020.0002.1D10A] # MUSICAL SYMBOL DA CAPO
-1D10B ; [*0F9D.0020.0002.1D10B] # MUSICAL SYMBOL SEGNO
-1D10C ; [*0F9E.0020.0002.1D10C] # MUSICAL SYMBOL CODA
-1D10D ; [*0F9F.0020.0002.1D10D] # MUSICAL SYMBOL REPEATED FIGURE-1
-1D10E ; [*0FA0.0020.0002.1D10E] # MUSICAL SYMBOL REPEATED FIGURE-2
-1D10F ; [*0FA1.0020.0002.1D10F] # MUSICAL SYMBOL REPEATED FIGURE-3
-1D110 ; [*0FA2.0020.0002.1D110] # MUSICAL SYMBOL FERMATA
-1D111 ; [*0FA3.0020.0002.1D111] # MUSICAL SYMBOL FERMATA BELOW
-1D112 ; [*0FA4.0020.0002.1D112] # MUSICAL SYMBOL BREATH MARK
-1D113 ; [*0FA5.0020.0002.1D113] # MUSICAL SYMBOL CAESURA
-1D114 ; [*0FA6.0020.0002.1D114] # MUSICAL SYMBOL BRACE
-1D115 ; [*0FA7.0020.0002.1D115] # MUSICAL SYMBOL BRACKET
-1D116 ; [*0FA8.0020.0002.1D116] # MUSICAL SYMBOL ONE-LINE STAFF
-1D117 ; [*0FA9.0020.0002.1D117] # MUSICAL SYMBOL TWO-LINE STAFF
-1D118 ; [*0FAA.0020.0002.1D118] # MUSICAL SYMBOL THREE-LINE STAFF
-1D119 ; [*0FAB.0020.0002.1D119] # MUSICAL SYMBOL FOUR-LINE STAFF
-1D11A ; [*0FAC.0020.0002.1D11A] # MUSICAL SYMBOL FIVE-LINE STAFF
-1D11B ; [*0FAD.0020.0002.1D11B] # MUSICAL SYMBOL SIX-LINE STAFF
-1D11C ; [*0FAE.0020.0002.1D11C] # MUSICAL SYMBOL SIX-STRING FRETBOARD
-1D11D ; [*0FAF.0020.0002.1D11D] # MUSICAL SYMBOL FOUR-STRING FRETBOARD
-1D11E ; [*0FB0.0020.0002.1D11E] # MUSICAL SYMBOL G CLEF
-1D11F ; [*0FB1.0020.0002.1D11F] # MUSICAL SYMBOL G CLEF OTTAVA ALTA
-1D120 ; [*0FB2.0020.0002.1D120] # MUSICAL SYMBOL G CLEF OTTAVA BASSA
-1D121 ; [*0FB3.0020.0002.1D121] # MUSICAL SYMBOL C CLEF
-1D122 ; [*0FB4.0020.0002.1D122] # MUSICAL SYMBOL F CLEF
-1D123 ; [*0FB5.0020.0002.1D123] # MUSICAL SYMBOL F CLEF OTTAVA ALTA
-1D124 ; [*0FB6.0020.0002.1D124] # MUSICAL SYMBOL F CLEF OTTAVA BASSA
-1D125 ; [*0FB7.0020.0002.1D125] # MUSICAL SYMBOL DRUM CLEF-1
-1D126 ; [*0FB8.0020.0002.1D126] # MUSICAL SYMBOL DRUM CLEF-2
-1D129 ; [*0FCC.0020.0002.1D129] # MUSICAL SYMBOL MULTIPLE MEASURE REST
-1D12A ; [*0FBC.0020.0002.1D12A] # MUSICAL SYMBOL DOUBLE SHARP
-1D12B ; [*0FBD.0020.0002.1D12B] # MUSICAL SYMBOL DOUBLE FLAT
-1D12C ; [*0FBE.0020.0002.1D12C] # MUSICAL SYMBOL FLAT UP
-1D12D ; [*0FBF.0020.0002.1D12D] # MUSICAL SYMBOL FLAT DOWN
-1D12E ; [*0FC0.0020.0002.1D12E] # MUSICAL SYMBOL NATURAL UP
-1D12F ; [*0FC1.0020.0002.1D12F] # MUSICAL SYMBOL NATURAL DOWN
-1D130 ; [*0FC2.0020.0002.1D130] # MUSICAL SYMBOL SHARP UP
-1D131 ; [*0FC3.0020.0002.1D131] # MUSICAL SYMBOL SHARP DOWN
-1D132 ; [*0FC4.0020.0002.1D132] # MUSICAL SYMBOL QUARTER TONE SHARP
-1D133 ; [*0FC5.0020.0002.1D133] # MUSICAL SYMBOL QUARTER TONE FLAT
-1D134 ; [*0FC6.0020.0002.1D134] # MUSICAL SYMBOL COMMON TIME
-1D135 ; [*0FC7.0020.0002.1D135] # MUSICAL SYMBOL CUT TIME
-1D136 ; [*0FC8.0020.0002.1D136] # MUSICAL SYMBOL OTTAVA ALTA
-1D137 ; [*0FC9.0020.0002.1D137] # MUSICAL SYMBOL OTTAVA BASSA
-1D138 ; [*0FCA.0020.0002.1D138] # MUSICAL SYMBOL QUINDICESIMA ALTA
-1D139 ; [*0FCB.0020.0002.1D139] # MUSICAL SYMBOL QUINDICESIMA BASSA
-1D13A ; [*0FCD.0020.0002.1D13A] # MUSICAL SYMBOL MULTI REST
-1D13B ; [*0FCE.0020.0002.1D13B] # MUSICAL SYMBOL WHOLE REST
-1D13C ; [*0FCF.0020.0002.1D13C] # MUSICAL SYMBOL HALF REST
-1D13D ; [*0FD0.0020.0002.1D13D] # MUSICAL SYMBOL QUARTER REST
-1D13E ; [*0FD1.0020.0002.1D13E] # MUSICAL SYMBOL EIGHTH REST
-1D13F ; [*0FD2.0020.0002.1D13F] # MUSICAL SYMBOL SIXTEENTH REST
-1D140 ; [*0FD3.0020.0002.1D140] # MUSICAL SYMBOL THIRTY-SECOND REST
-1D141 ; [*0FD4.0020.0002.1D141] # MUSICAL SYMBOL SIXTY-FOURTH REST
-1D142 ; [*0FD5.0020.0002.1D142] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST
-1D143 ; [*0FD6.0020.0002.1D143] # MUSICAL SYMBOL X NOTEHEAD
-1D144 ; [*0FD7.0020.0002.1D144] # MUSICAL SYMBOL PLUS NOTEHEAD
-1D145 ; [*0FD8.0020.0002.1D145] # MUSICAL SYMBOL CIRCLE X NOTEHEAD
-1D146 ; [*0FD9.0020.0002.1D146] # MUSICAL SYMBOL SQUARE NOTEHEAD WHITE
-1D147 ; [*0FDA.0020.0002.1D147] # MUSICAL SYMBOL SQUARE NOTEHEAD BLACK
-1D148 ; [*0FDB.0020.0002.1D148] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE
-1D149 ; [*0FDC.0020.0002.1D149] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK
-1D14A ; [*0FDD.0020.0002.1D14A] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE
-1D14B ; [*0FDE.0020.0002.1D14B] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK
-1D14C ; [*0FDF.0020.0002.1D14C] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE
-1D14D ; [*0FE0.0020.0002.1D14D] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK
-1D14E ; [*0FE1.0020.0002.1D14E] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE
-1D14F ; [*0FE2.0020.0002.1D14F] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK
-1D150 ; [*0FE3.0020.0002.1D150] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE
-1D151 ; [*0FE4.0020.0002.1D151] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK
-1D152 ; [*0FE5.0020.0002.1D152] # MUSICAL SYMBOL MOON NOTEHEAD WHITE
-1D153 ; [*0FE6.0020.0002.1D153] # MUSICAL SYMBOL MOON NOTEHEAD BLACK
-1D154 ; [*0FE7.0020.0002.1D154] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE
-1D155 ; [*0FE8.0020.0002.1D155] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK
-1D156 ; [*0FE9.0020.0002.1D156] # MUSICAL SYMBOL PARENTHESIS NOTEHEAD
-1D157 ; [*0FEA.0020.0002.1D157] # MUSICAL SYMBOL VOID NOTEHEAD
-1D158 ; [*0FEB.0020.0002.1D158] # MUSICAL SYMBOL NOTEHEAD BLACK
-1D159 ; [*0FEC.0020.0002.1D159] # MUSICAL SYMBOL NULL NOTEHEAD
-1D15A ; [*0FED.0020.0002.1D15A] # MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE
-1D15B ; [*0FEE.0020.0002.1D15B] # MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK
-1D15C ; [*0FEF.0020.0002.1D15C] # MUSICAL SYMBOL BREVE
-1D15D ; [*0FF0.0020.0002.1D15D] # MUSICAL SYMBOL WHOLE NOTE
-1D15E ; [*0FEA.0020.0002.1D157][.0000.0000.0000.1D165] # MUSICAL SYMBOL HALF NOTE; QQCN
-1D15F ; [*0FEB.0020.0002.1D158][.0000.0000.0000.1D165] # MUSICAL SYMBOL QUARTER NOTE; QQCN
-1D160 ; [*0FEB.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL EIGHTH NOTE; QQCN
-1D161 ; [*0FEB.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL SIXTEENTH NOTE; QQCN
-1D162 ; [*0FEB.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D170] # MUSICAL SYMBOL THIRTY-SECOND NOTE; QQCN
-1D163 ; [*0FEB.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D171] # MUSICAL SYMBOL SIXTY-FOURTH NOTE; QQCN
-1D164 ; [*0FEB.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D172] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE; QQCN
+110BE ; [*02CB.0020.0002.110BE] # KAITHI SECTION MARK
+110BF ; [*02CC.0020.0002.110BF] # KAITHI DOUBLE SECTION MARK
+110C0 ; [*02A7.0020.0002.110C0] # KAITHI DANDA
+110C1 ; [*02A8.0020.0002.110C1] # KAITHI DOUBLE DANDA
+11140 ; [*02CD.0020.0002.11140] # CHAKMA SECTION MARK
+11141 ; [*02A9.0020.0002.11141] # CHAKMA DANDA
+11142 ; [*02AA.0020.0002.11142] # CHAKMA DOUBLE DANDA
+11143 ; [*0270.0020.0002.11143] # CHAKMA QUESTION MARK
+111C5 ; [*02AB.0020.0002.111C5] # SHARADA DANDA
+111C6 ; [*02AC.0020.0002.111C6] # SHARADA DOUBLE DANDA
+111C7 ; [*040E.0020.0002.111C7] # SHARADA ABBREVIATION SIGN
+111C8 ; [*02CE.0020.0002.111C8] # SHARADA SEPARATOR
+12432 ; [*1578.0020.0002.12432] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH
+12433 ; [*1579.0020.0002.12433] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN
+12456 ; [*157A.0020.0002.12456] # CUNEIFORM NUMERIC SIGN NIGIDAMIN
+12457 ; [*157B.0020.0002.12457] # CUNEIFORM NUMERIC SIGN NIGIDAESH
+1245A ; [*157C.0020.0002.1245A] # CUNEIFORM NUMERIC SIGN ONE THIRD DISH
+1245B ; [*157D.0020.0002.1245B] # CUNEIFORM NUMERIC SIGN TWO THIRDS DISH
+1245C ; [*157E.0020.0002.1245C] # CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH
+1245D ; [*157F.0020.0002.1245D] # CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A
+1245E ; [*1580.0020.0002.1245E] # CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A
+1245F ; [*1581.0020.0002.1245F] # CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH
+12460 ; [*1582.0020.0002.12460] # CUNEIFORM NUMERIC SIGN ONE QUARTER ASH
+12461 ; [*1583.0020.0002.12461] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH
+12462 ; [*1584.0020.0002.12462] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
+12470 ; [*02E6.0020.0002.12470] # CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER
+12471 ; [*02E7.0020.0002.12471] # CUNEIFORM PUNCTUATION SIGN VERTICAL COLON
+12472 ; [*02E8.0020.0002.12472] # CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON
+12473 ; [*02E9.0020.0002.12473] # CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
+1D000 ; [*0EB8.0020.0002.1D000] # BYZANTINE MUSICAL SYMBOL PSILI
+1D001 ; [*0EB9.0020.0002.1D001] # BYZANTINE MUSICAL SYMBOL DASEIA
+1D002 ; [*0EBA.0020.0002.1D002] # BYZANTINE MUSICAL SYMBOL PERISPOMENI
+1D003 ; [*0EBB.0020.0002.1D003] # BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON
+1D004 ; [*0EBC.0020.0002.1D004] # BYZANTINE MUSICAL SYMBOL OXEIA DIPLI
+1D005 ; [*0EBD.0020.0002.1D005] # BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON
+1D006 ; [*0EBE.0020.0002.1D006] # BYZANTINE MUSICAL SYMBOL VAREIA DIPLI
+1D007 ; [*0EBF.0020.0002.1D007] # BYZANTINE MUSICAL SYMBOL KATHISTI
+1D008 ; [*0EC0.0020.0002.1D008] # BYZANTINE MUSICAL SYMBOL SYRMATIKI
+1D009 ; [*0EC1.0020.0002.1D009] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI
+1D00A ; [*0EC2.0020.0002.1D00A] # BYZANTINE MUSICAL SYMBOL YPOKRISIS
+1D00B ; [*0EC3.0020.0002.1D00B] # BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI
+1D00C ; [*0EC4.0020.0002.1D00C] # BYZANTINE MUSICAL SYMBOL KREMASTI
+1D00D ; [*0EC5.0020.0002.1D00D] # BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON
+1D00E ; [*0EC6.0020.0002.1D00E] # BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON
+1D00F ; [*0EC7.0020.0002.1D00F] # BYZANTINE MUSICAL SYMBOL TELEIA
+1D010 ; [*0EC8.0020.0002.1D010] # BYZANTINE MUSICAL SYMBOL KENTIMATA
+1D011 ; [*0EC9.0020.0002.1D011] # BYZANTINE MUSICAL SYMBOL APOSTROFOS
+1D012 ; [*0ECA.0020.0002.1D012] # BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI
+1D013 ; [*0ECB.0020.0002.1D013] # BYZANTINE MUSICAL SYMBOL SYNEVMA
+1D014 ; [*0ECC.0020.0002.1D014] # BYZANTINE MUSICAL SYMBOL THITA
+1D015 ; [*0ECD.0020.0002.1D015] # BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION
+1D016 ; [*0ECE.0020.0002.1D016] # BYZANTINE MUSICAL SYMBOL GORGON ARCHAION
+1D017 ; [*0ECF.0020.0002.1D017] # BYZANTINE MUSICAL SYMBOL PSILON
+1D018 ; [*0ED0.0020.0002.1D018] # BYZANTINE MUSICAL SYMBOL CHAMILON
+1D019 ; [*0ED1.0020.0002.1D019] # BYZANTINE MUSICAL SYMBOL VATHY
+1D01A ; [*0ED2.0020.0002.1D01A] # BYZANTINE MUSICAL SYMBOL ISON ARCHAION
+1D01B ; [*0ED3.0020.0002.1D01B] # BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION
+1D01C ; [*0ED4.0020.0002.1D01C] # BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION
+1D01D ; [*0ED5.0020.0002.1D01D] # BYZANTINE MUSICAL SYMBOL SAXIMATA
+1D01E ; [*0ED6.0020.0002.1D01E] # BYZANTINE MUSICAL SYMBOL PARICHON
+1D01F ; [*0ED7.0020.0002.1D01F] # BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA
+1D020 ; [*0ED8.0020.0002.1D020] # BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION
+1D021 ; [*0ED9.0020.0002.1D021] # BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION
+1D022 ; [*0EDA.0020.0002.1D022] # BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION
+1D023 ; [*0EDB.0020.0002.1D023] # BYZANTINE MUSICAL SYMBOL APOTHEMA
+1D024 ; [*0EDC.0020.0002.1D024] # BYZANTINE MUSICAL SYMBOL KLASMA
+1D025 ; [*0EDD.0020.0002.1D025] # BYZANTINE MUSICAL SYMBOL REVMA
+1D026 ; [*0EDE.0020.0002.1D026] # BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION
+1D027 ; [*0EDF.0020.0002.1D027] # BYZANTINE MUSICAL SYMBOL TINAGMA
+1D028 ; [*0EE0.0020.0002.1D028] # BYZANTINE MUSICAL SYMBOL ANATRICHISMA
+1D029 ; [*0EE1.0020.0002.1D029] # BYZANTINE MUSICAL SYMBOL SEISMA
+1D02A ; [*0EE2.0020.0002.1D02A] # BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION
+1D02B ; [*0EE3.0020.0002.1D02B] # BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU
+1D02C ; [*0EE4.0020.0002.1D02C] # BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION
+1D02D ; [*0EE5.0020.0002.1D02D] # BYZANTINE MUSICAL SYMBOL THEMA
+1D02E ; [*0EE6.0020.0002.1D02E] # BYZANTINE MUSICAL SYMBOL LEMOI
+1D02F ; [*0EE7.0020.0002.1D02F] # BYZANTINE MUSICAL SYMBOL DYO
+1D030 ; [*0EE8.0020.0002.1D030] # BYZANTINE MUSICAL SYMBOL TRIA
+1D031 ; [*0EE9.0020.0002.1D031] # BYZANTINE MUSICAL SYMBOL TESSERA
+1D032 ; [*0EEA.0020.0002.1D032] # BYZANTINE MUSICAL SYMBOL KRATIMATA
+1D033 ; [*0EEB.0020.0002.1D033] # BYZANTINE MUSICAL SYMBOL APESO EXO NEO
+1D034 ; [*0EEC.0020.0002.1D034] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION
+1D035 ; [*0EED.0020.0002.1D035] # BYZANTINE MUSICAL SYMBOL IMIFTHORA
+1D036 ; [*0EEE.0020.0002.1D036] # BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION
+1D037 ; [*0EEF.0020.0002.1D037] # BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON
+1D038 ; [*0EF0.0020.0002.1D038] # BYZANTINE MUSICAL SYMBOL PELASTON
+1D039 ; [*0EF1.0020.0002.1D039] # BYZANTINE MUSICAL SYMBOL PSIFISTON
+1D03A ; [*0EF2.0020.0002.1D03A] # BYZANTINE MUSICAL SYMBOL KONTEVMA
+1D03B ; [*0EF3.0020.0002.1D03B] # BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION
+1D03C ; [*0EF4.0020.0002.1D03C] # BYZANTINE MUSICAL SYMBOL RAPISMA
+1D03D ; [*0EF5.0020.0002.1D03D] # BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION
+1D03E ; [*0EF6.0020.0002.1D03E] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION
+1D03F ; [*0EF7.0020.0002.1D03F] # BYZANTINE MUSICAL SYMBOL ICHADIN
+1D040 ; [*0EF8.0020.0002.1D040] # BYZANTINE MUSICAL SYMBOL NANA
+1D041 ; [*0EF9.0020.0002.1D041] # BYZANTINE MUSICAL SYMBOL PETASMA
+1D042 ; [*0EFA.0020.0002.1D042] # BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO
+1D043 ; [*0EFB.0020.0002.1D043] # BYZANTINE MUSICAL SYMBOL TROMIKON ALLO
+1D044 ; [*0EFC.0020.0002.1D044] # BYZANTINE MUSICAL SYMBOL STRAGGISMATA
+1D045 ; [*0EFD.0020.0002.1D045] # BYZANTINE MUSICAL SYMBOL GRONTHISMATA
+1D046 ; [*0EFE.0020.0002.1D046] # BYZANTINE MUSICAL SYMBOL ISON NEO
+1D047 ; [*0EFF.0020.0002.1D047] # BYZANTINE MUSICAL SYMBOL OLIGON NEO
+1D048 ; [*0F00.0020.0002.1D048] # BYZANTINE MUSICAL SYMBOL OXEIA NEO
+1D049 ; [*0F01.0020.0002.1D049] # BYZANTINE MUSICAL SYMBOL PETASTI
+1D04A ; [*0F02.0020.0002.1D04A] # BYZANTINE MUSICAL SYMBOL KOUFISMA
+1D04B ; [*0F03.0020.0002.1D04B] # BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA
+1D04C ; [*0F04.0020.0002.1D04C] # BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA
+1D04D ; [*0F05.0020.0002.1D04D] # BYZANTINE MUSICAL SYMBOL PELASTON NEO
+1D04E ; [*0F06.0020.0002.1D04E] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO
+1D04F ; [*0F07.0020.0002.1D04F] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO
+1D050 ; [*0F08.0020.0002.1D050] # BYZANTINE MUSICAL SYMBOL YPSILI
+1D051 ; [*0F09.0020.0002.1D051] # BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO
+1D052 ; [*0F0A.0020.0002.1D052] # BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO
+1D053 ; [*0F0B.0020.0002.1D053] # BYZANTINE MUSICAL SYMBOL YPORROI
+1D054 ; [*0F0C.0020.0002.1D054] # BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON
+1D055 ; [*0F0D.0020.0002.1D055] # BYZANTINE MUSICAL SYMBOL ELAFRON
+1D056 ; [*0F0E.0020.0002.1D056] # BYZANTINE MUSICAL SYMBOL CHAMILI
+1D057 ; [*0F0F.0020.0002.1D057] # BYZANTINE MUSICAL SYMBOL MIKRON ISON
+1D058 ; [*0F10.0020.0002.1D058] # BYZANTINE MUSICAL SYMBOL VAREIA NEO
+1D059 ; [*0F11.0020.0002.1D059] # BYZANTINE MUSICAL SYMBOL PIASMA NEO
+1D05A ; [*0F12.0020.0002.1D05A] # BYZANTINE MUSICAL SYMBOL PSIFISTON NEO
+1D05B ; [*0F13.0020.0002.1D05B] # BYZANTINE MUSICAL SYMBOL OMALON
+1D05C ; [*0F14.0020.0002.1D05C] # BYZANTINE MUSICAL SYMBOL ANTIKENOMA
+1D05D ; [*0F15.0020.0002.1D05D] # BYZANTINE MUSICAL SYMBOL LYGISMA
+1D05E ; [*0F16.0020.0002.1D05E] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO
+1D05F ; [*0F17.0020.0002.1D05F] # BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO
+1D060 ; [*0F18.0020.0002.1D060] # BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA
+1D061 ; [*0F19.0020.0002.1D061] # BYZANTINE MUSICAL SYMBOL KYLISMA
+1D062 ; [*0F1A.0020.0002.1D062] # BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA
+1D063 ; [*0F1B.0020.0002.1D063] # BYZANTINE MUSICAL SYMBOL TROMIKON NEO
+1D064 ; [*0F1C.0020.0002.1D064] # BYZANTINE MUSICAL SYMBOL EKSTREPTON
+1D065 ; [*0F1D.0020.0002.1D065] # BYZANTINE MUSICAL SYMBOL SYNAGMA NEO
+1D066 ; [*0F1E.0020.0002.1D066] # BYZANTINE MUSICAL SYMBOL SYRMA
+1D067 ; [*0F1F.0020.0002.1D067] # BYZANTINE MUSICAL SYMBOL CHOREVMA NEO
+1D068 ; [*0F20.0020.0002.1D068] # BYZANTINE MUSICAL SYMBOL EPEGERMA
+1D069 ; [*0F21.0020.0002.1D069] # BYZANTINE MUSICAL SYMBOL SEISMA NEO
+1D06A ; [*0F22.0020.0002.1D06A] # BYZANTINE MUSICAL SYMBOL XIRON KLASMA
+1D06B ; [*0F23.0020.0002.1D06B] # BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON
+1D06C ; [*0F24.0020.0002.1D06C] # BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA
+1D06D ; [*0F25.0020.0002.1D06D] # BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA
+1D06E ; [*0F26.0020.0002.1D06E] # BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA
+1D06F ; [*0F27.0020.0002.1D06F] # BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA
+1D070 ; [*0F28.0020.0002.1D070] # BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA
+1D071 ; [*0F29.0020.0002.1D071] # BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA
+1D072 ; [*0F2A.0020.0002.1D072] # BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON
+1D073 ; [*0F2B.0020.0002.1D073] # BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON
+1D074 ; [*0F2C.0020.0002.1D074] # BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON
+1D075 ; [*0F2D.0020.0002.1D075] # BYZANTINE MUSICAL SYMBOL OYRANISMA NEO
+1D076 ; [*0F2E.0020.0002.1D076] # BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO
+1D077 ; [*0F2F.0020.0002.1D077] # BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO
+1D078 ; [*0F30.0020.0002.1D078] # BYZANTINE MUSICAL SYMBOL THEMA APLOUN
+1D079 ; [*0F31.0020.0002.1D079] # BYZANTINE MUSICAL SYMBOL THES KAI APOTHES
+1D07A ; [*0F32.0020.0002.1D07A] # BYZANTINE MUSICAL SYMBOL KATAVASMA
+1D07B ; [*0F33.0020.0002.1D07B] # BYZANTINE MUSICAL SYMBOL ENDOFONON
+1D07C ; [*0F34.0020.0002.1D07C] # BYZANTINE MUSICAL SYMBOL YFEN KATO
+1D07D ; [*0F35.0020.0002.1D07D] # BYZANTINE MUSICAL SYMBOL YFEN ANO
+1D07E ; [*0F36.0020.0002.1D07E] # BYZANTINE MUSICAL SYMBOL STAVROS
+1D07F ; [*0F37.0020.0002.1D07F] # BYZANTINE MUSICAL SYMBOL KLASMA ANO
+1D080 ; [*0F38.0020.0002.1D080] # BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION
+1D081 ; [*0F39.0020.0002.1D081] # BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION
+1D082 ; [*0F3A.0020.0002.1D082] # BYZANTINE MUSICAL SYMBOL KRATIMA ALLO
+1D083 ; [*0F3B.0020.0002.1D083] # BYZANTINE MUSICAL SYMBOL KRATIMA NEO
+1D084 ; [*0F3C.0020.0002.1D084] # BYZANTINE MUSICAL SYMBOL APODERMA NEO
+1D085 ; [*0F3D.0020.0002.1D085] # BYZANTINE MUSICAL SYMBOL APLI
+1D086 ; [*0F3E.0020.0002.1D086] # BYZANTINE MUSICAL SYMBOL DIPLI
+1D087 ; [*0F3F.0020.0002.1D087] # BYZANTINE MUSICAL SYMBOL TRIPLI
+1D088 ; [*0F40.0020.0002.1D088] # BYZANTINE MUSICAL SYMBOL TETRAPLI
+1D089 ; [*0F41.0020.0002.1D089] # BYZANTINE MUSICAL SYMBOL KORONIS
+1D08A ; [*0F42.0020.0002.1D08A] # BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU
+1D08B ; [*0F43.0020.0002.1D08B] # BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON
+1D08C ; [*0F44.0020.0002.1D08C] # BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON
+1D08D ; [*0F45.0020.0002.1D08D] # BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON
+1D08E ; [*0F46.0020.0002.1D08E] # BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU
+1D08F ; [*0F47.0020.0002.1D08F] # BYZANTINE MUSICAL SYMBOL GORGON NEO ANO
+1D090 ; [*0F48.0020.0002.1D090] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA
+1D091 ; [*0F49.0020.0002.1D091] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA
+1D092 ; [*0F4A.0020.0002.1D092] # BYZANTINE MUSICAL SYMBOL DIGORGON
+1D093 ; [*0F4B.0020.0002.1D093] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO
+1D094 ; [*0F4C.0020.0002.1D094] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO
+1D095 ; [*0F4D.0020.0002.1D095] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA
+1D096 ; [*0F4E.0020.0002.1D096] # BYZANTINE MUSICAL SYMBOL TRIGORGON
+1D097 ; [*0F4F.0020.0002.1D097] # BYZANTINE MUSICAL SYMBOL ARGON
+1D098 ; [*0F50.0020.0002.1D098] # BYZANTINE MUSICAL SYMBOL IMIDIARGON
+1D099 ; [*0F51.0020.0002.1D099] # BYZANTINE MUSICAL SYMBOL DIARGON
+1D09A ; [*0F52.0020.0002.1D09A] # BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI
+1D09B ; [*0F53.0020.0002.1D09B] # BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI
+1D09C ; [*0F54.0020.0002.1D09C] # BYZANTINE MUSICAL SYMBOL AGOGI ARGI
+1D09D ; [*0F55.0020.0002.1D09D] # BYZANTINE MUSICAL SYMBOL AGOGI METRIA
+1D09E ; [*0F56.0020.0002.1D09E] # BYZANTINE MUSICAL SYMBOL AGOGI MESI
+1D09F ; [*0F57.0020.0002.1D09F] # BYZANTINE MUSICAL SYMBOL AGOGI GORGI
+1D0A0 ; [*0F58.0020.0002.1D0A0] # BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI
+1D0A1 ; [*0F59.0020.0002.1D0A1] # BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI
+1D0A2 ; [*0F5A.0020.0002.1D0A2] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS
+1D0A3 ; [*0F5B.0020.0002.1D0A3] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS
+1D0A4 ; [*0F5C.0020.0002.1D0A4] # BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS
+1D0A5 ; [*0F5D.0020.0002.1D0A5] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS
+1D0A6 ; [*0F5E.0020.0002.1D0A6] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS
+1D0A7 ; [*0F5F.0020.0002.1D0A7] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS
+1D0A8 ; [*0F60.0020.0002.1D0A8] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS
+1D0A9 ; [*0F61.0020.0002.1D0A9] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS
+1D0AA ; [*0F62.0020.0002.1D0AA] # BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS
+1D0AB ; [*0F63.0020.0002.1D0AB] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS
+1D0AC ; [*0F64.0020.0002.1D0AC] # BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS
+1D0AD ; [*0F65.0020.0002.1D0AD] # BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS
+1D0AE ; [*0F66.0020.0002.1D0AE] # BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS
+1D0AF ; [*0F67.0020.0002.1D0AF] # BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS
+1D0B0 ; [*0F68.0020.0002.1D0B0] # BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS
+1D0B1 ; [*0F69.0020.0002.1D0B1] # BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS
+1D0B2 ; [*0F6A.0020.0002.1D0B2] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS
+1D0B3 ; [*0F6B.0020.0002.1D0B3] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS
+1D0B4 ; [*0F6C.0020.0002.1D0B4] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN
+1D0B5 ; [*0F6D.0020.0002.1D0B5] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN
+1D0B6 ; [*0F6E.0020.0002.1D0B6] # BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU
+1D0B7 ; [*0F6F.0020.0002.1D0B7] # BYZANTINE MUSICAL SYMBOL IMIFONON
+1D0B8 ; [*0F70.0020.0002.1D0B8] # BYZANTINE MUSICAL SYMBOL IMIFTHORON
+1D0B9 ; [*0F71.0020.0002.1D0B9] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU
+1D0BA ; [*0F72.0020.0002.1D0BA] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA
+1D0BB ; [*0F73.0020.0002.1D0BB] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA
+1D0BC ; [*0F74.0020.0002.1D0BC] # BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS
+1D0BD ; [*0F75.0020.0002.1D0BD] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI
+1D0BE ; [*0F76.0020.0002.1D0BE] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI
+1D0BF ; [*0F77.0020.0002.1D0BF] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE
+1D0C0 ; [*0F78.0020.0002.1D0C0] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO
+1D0C1 ; [*0F79.0020.0002.1D0C1] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO
+1D0C2 ; [*0F7A.0020.0002.1D0C2] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO
+1D0C3 ; [*0F7B.0020.0002.1D0C3] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS
+1D0C4 ; [*0F7C.0020.0002.1D0C4] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS
+1D0C5 ; [*0F7D.0020.0002.1D0C5] # BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS
+1D0C6 ; [*0F7E.0020.0002.1D0C6] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI
+1D0C7 ; [*0F7F.0020.0002.1D0C7] # BYZANTINE MUSICAL SYMBOL FTHORA NENANO
+1D0C8 ; [*0F80.0020.0002.1D0C8] # BYZANTINE MUSICAL SYMBOL CHROA ZYGOS
+1D0C9 ; [*0F81.0020.0002.1D0C9] # BYZANTINE MUSICAL SYMBOL CHROA KLITON
+1D0CA ; [*0F82.0020.0002.1D0CA] # BYZANTINE MUSICAL SYMBOL CHROA SPATHI
+1D0CB ; [*0F83.0020.0002.1D0CB] # BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION
+1D0CC ; [*0F84.0020.0002.1D0CC] # BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA
+1D0CD ; [*0F85.0020.0002.1D0CD] # BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION
+1D0CE ; [*0F86.0020.0002.1D0CE] # BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION
+1D0CF ; [*0F87.0020.0002.1D0CF] # BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION
+1D0D0 ; [*0F88.0020.0002.1D0D0] # BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA
+1D0D1 ; [*0F89.0020.0002.1D0D1] # BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA
+1D0D2 ; [*0F8A.0020.0002.1D0D2] # BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA
+1D0D3 ; [*0F8B.0020.0002.1D0D3] # BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA
+1D0D4 ; [*0F8C.0020.0002.1D0D4] # BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA
+1D0D5 ; [*0F8D.0020.0002.1D0D5] # BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA
+1D0D6 ; [*0F8E.0020.0002.1D0D6] # BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA
+1D0D7 ; [*0F8F.0020.0002.1D0D7] # BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA
+1D0D8 ; [*0F90.0020.0002.1D0D8] # BYZANTINE MUSICAL SYMBOL GENIKI DIESIS
+1D0D9 ; [*0F91.0020.0002.1D0D9] # BYZANTINE MUSICAL SYMBOL GENIKI YFESIS
+1D0DA ; [*0F92.0020.0002.1D0DA] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI
+1D0DB ; [*0F93.0020.0002.1D0DB] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI
+1D0DC ; [*0F94.0020.0002.1D0DC] # BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI
+1D0DD ; [*0F95.0020.0002.1D0DD] # BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS
+1D0DE ; [*0F96.0020.0002.1D0DE] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS
+1D0DF ; [*0F97.0020.0002.1D0DF] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU
+1D0E0 ; [*0F98.0020.0002.1D0E0] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU
+1D0E1 ; [*0F99.0020.0002.1D0E1] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU
+1D0E2 ; [*0F9A.0020.0002.1D0E2] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS
+1D0E3 ; [*0F9B.0020.0002.1D0E3] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU
+1D0E4 ; [*0F9C.0020.0002.1D0E4] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU
+1D0E5 ; [*0F9D.0020.0002.1D0E5] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU
+1D0E6 ; [*0F9E.0020.0002.1D0E6] # BYZANTINE MUSICAL SYMBOL DIGRAMMA GG
+1D0E7 ; [*0F9F.0020.0002.1D0E7] # BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU
+1D0E8 ; [*0FA0.0020.0002.1D0E8] # BYZANTINE MUSICAL SYMBOL STIGMA
+1D0E9 ; [*0FA1.0020.0002.1D0E9] # BYZANTINE MUSICAL SYMBOL ARKTIKO PA
+1D0EA ; [*0FA2.0020.0002.1D0EA] # BYZANTINE MUSICAL SYMBOL ARKTIKO VOU
+1D0EB ; [*0FA3.0020.0002.1D0EB] # BYZANTINE MUSICAL SYMBOL ARKTIKO GA
+1D0EC ; [*0FA4.0020.0002.1D0EC] # BYZANTINE MUSICAL SYMBOL ARKTIKO DI
+1D0ED ; [*0FA5.0020.0002.1D0ED] # BYZANTINE MUSICAL SYMBOL ARKTIKO KE
+1D0EE ; [*0FA6.0020.0002.1D0EE] # BYZANTINE MUSICAL SYMBOL ARKTIKO ZO
+1D0EF ; [*0FA7.0020.0002.1D0EF] # BYZANTINE MUSICAL SYMBOL ARKTIKO NI
+1D0F0 ; [*0FA8.0020.0002.1D0F0] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO
+1D0F1 ; [*0FA9.0020.0002.1D0F1] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO
+1D0F2 ; [*0FAA.0020.0002.1D0F2] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO
+1D0F3 ; [*0FAB.0020.0002.1D0F3] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO
+1D0F4 ; [*0FAC.0020.0002.1D0F4] # BYZANTINE MUSICAL SYMBOL KLASMA KATO
+1D0F5 ; [*0FAD.0020.0002.1D0F5] # BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
+1D100 ; [*0FAE.0020.0002.1D100] # MUSICAL SYMBOL SINGLE BARLINE
+1D101 ; [*0FAF.0020.0002.1D101] # MUSICAL SYMBOL DOUBLE BARLINE
+1D102 ; [*0FB0.0020.0002.1D102] # MUSICAL SYMBOL FINAL BARLINE
+1D103 ; [*0FB1.0020.0002.1D103] # MUSICAL SYMBOL REVERSE FINAL BARLINE
+1D104 ; [*0FB2.0020.0002.1D104] # MUSICAL SYMBOL DASHED BARLINE
+1D105 ; [*0FB3.0020.0002.1D105] # MUSICAL SYMBOL SHORT BARLINE
+1D106 ; [*0FB4.0020.0002.1D106] # MUSICAL SYMBOL LEFT REPEAT SIGN
+1D107 ; [*0FB5.0020.0002.1D107] # MUSICAL SYMBOL RIGHT REPEAT SIGN
+1D108 ; [*0FB6.0020.0002.1D108] # MUSICAL SYMBOL REPEAT DOTS
+1D109 ; [*0FB7.0020.0002.1D109] # MUSICAL SYMBOL DAL SEGNO
+1D10A ; [*0FB8.0020.0002.1D10A] # MUSICAL SYMBOL DA CAPO
+1D10B ; [*0FB9.0020.0002.1D10B] # MUSICAL SYMBOL SEGNO
+1D10C ; [*0FBA.0020.0002.1D10C] # MUSICAL SYMBOL CODA
+1D10D ; [*0FBB.0020.0002.1D10D] # MUSICAL SYMBOL REPEATED FIGURE-1
+1D10E ; [*0FBC.0020.0002.1D10E] # MUSICAL SYMBOL REPEATED FIGURE-2
+1D10F ; [*0FBD.0020.0002.1D10F] # MUSICAL SYMBOL REPEATED FIGURE-3
+1D110 ; [*0FBE.0020.0002.1D110] # MUSICAL SYMBOL FERMATA
+1D111 ; [*0FBF.0020.0002.1D111] # MUSICAL SYMBOL FERMATA BELOW
+1D112 ; [*0FC0.0020.0002.1D112] # MUSICAL SYMBOL BREATH MARK
+1D113 ; [*0FC1.0020.0002.1D113] # MUSICAL SYMBOL CAESURA
+1D114 ; [*0FC2.0020.0002.1D114] # MUSICAL SYMBOL BRACE
+1D115 ; [*0FC3.0020.0002.1D115] # MUSICAL SYMBOL BRACKET
+1D116 ; [*0FC4.0020.0002.1D116] # MUSICAL SYMBOL ONE-LINE STAFF
+1D117 ; [*0FC5.0020.0002.1D117] # MUSICAL SYMBOL TWO-LINE STAFF
+1D118 ; [*0FC6.0020.0002.1D118] # MUSICAL SYMBOL THREE-LINE STAFF
+1D119 ; [*0FC7.0020.0002.1D119] # MUSICAL SYMBOL FOUR-LINE STAFF
+1D11A ; [*0FC8.0020.0002.1D11A] # MUSICAL SYMBOL FIVE-LINE STAFF
+1D11B ; [*0FC9.0020.0002.1D11B] # MUSICAL SYMBOL SIX-LINE STAFF
+1D11C ; [*0FCA.0020.0002.1D11C] # MUSICAL SYMBOL SIX-STRING FRETBOARD
+1D11D ; [*0FCB.0020.0002.1D11D] # MUSICAL SYMBOL FOUR-STRING FRETBOARD
+1D11E ; [*0FCC.0020.0002.1D11E] # MUSICAL SYMBOL G CLEF
+1D11F ; [*0FCD.0020.0002.1D11F] # MUSICAL SYMBOL G CLEF OTTAVA ALTA
+1D120 ; [*0FCE.0020.0002.1D120] # MUSICAL SYMBOL G CLEF OTTAVA BASSA
+1D121 ; [*0FCF.0020.0002.1D121] # MUSICAL SYMBOL C CLEF
+1D122 ; [*0FD0.0020.0002.1D122] # MUSICAL SYMBOL F CLEF
+1D123 ; [*0FD1.0020.0002.1D123] # MUSICAL SYMBOL F CLEF OTTAVA ALTA
+1D124 ; [*0FD2.0020.0002.1D124] # MUSICAL SYMBOL F CLEF OTTAVA BASSA
+1D125 ; [*0FD3.0020.0002.1D125] # MUSICAL SYMBOL DRUM CLEF-1
+1D126 ; [*0FD4.0020.0002.1D126] # MUSICAL SYMBOL DRUM CLEF-2
+1D129 ; [*0FE8.0020.0002.1D129] # MUSICAL SYMBOL MULTIPLE MEASURE REST
+1D12A ; [*0FD8.0020.0002.1D12A] # MUSICAL SYMBOL DOUBLE SHARP
+1D12B ; [*0FD9.0020.0002.1D12B] # MUSICAL SYMBOL DOUBLE FLAT
+1D12C ; [*0FDA.0020.0002.1D12C] # MUSICAL SYMBOL FLAT UP
+1D12D ; [*0FDB.0020.0002.1D12D] # MUSICAL SYMBOL FLAT DOWN
+1D12E ; [*0FDC.0020.0002.1D12E] # MUSICAL SYMBOL NATURAL UP
+1D12F ; [*0FDD.0020.0002.1D12F] # MUSICAL SYMBOL NATURAL DOWN
+1D130 ; [*0FDE.0020.0002.1D130] # MUSICAL SYMBOL SHARP UP
+1D131 ; [*0FDF.0020.0002.1D131] # MUSICAL SYMBOL SHARP DOWN
+1D132 ; [*0FE0.0020.0002.1D132] # MUSICAL SYMBOL QUARTER TONE SHARP
+1D133 ; [*0FE1.0020.0002.1D133] # MUSICAL SYMBOL QUARTER TONE FLAT
+1D134 ; [*0FE2.0020.0002.1D134] # MUSICAL SYMBOL COMMON TIME
+1D135 ; [*0FE3.0020.0002.1D135] # MUSICAL SYMBOL CUT TIME
+1D136 ; [*0FE4.0020.0002.1D136] # MUSICAL SYMBOL OTTAVA ALTA
+1D137 ; [*0FE5.0020.0002.1D137] # MUSICAL SYMBOL OTTAVA BASSA
+1D138 ; [*0FE6.0020.0002.1D138] # MUSICAL SYMBOL QUINDICESIMA ALTA
+1D139 ; [*0FE7.0020.0002.1D139] # MUSICAL SYMBOL QUINDICESIMA BASSA
+1D13A ; [*0FE9.0020.0002.1D13A] # MUSICAL SYMBOL MULTI REST
+1D13B ; [*0FEA.0020.0002.1D13B] # MUSICAL SYMBOL WHOLE REST
+1D13C ; [*0FEB.0020.0002.1D13C] # MUSICAL SYMBOL HALF REST
+1D13D ; [*0FEC.0020.0002.1D13D] # MUSICAL SYMBOL QUARTER REST
+1D13E ; [*0FED.0020.0002.1D13E] # MUSICAL SYMBOL EIGHTH REST
+1D13F ; [*0FEE.0020.0002.1D13F] # MUSICAL SYMBOL SIXTEENTH REST
+1D140 ; [*0FEF.0020.0002.1D140] # MUSICAL SYMBOL THIRTY-SECOND REST
+1D141 ; [*0FF0.0020.0002.1D141] # MUSICAL SYMBOL SIXTY-FOURTH REST
+1D142 ; [*0FF1.0020.0002.1D142] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST
+1D143 ; [*0FF2.0020.0002.1D143] # MUSICAL SYMBOL X NOTEHEAD
+1D144 ; [*0FF3.0020.0002.1D144] # MUSICAL SYMBOL PLUS NOTEHEAD
+1D145 ; [*0FF4.0020.0002.1D145] # MUSICAL SYMBOL CIRCLE X NOTEHEAD
+1D146 ; [*0FF5.0020.0002.1D146] # MUSICAL SYMBOL SQUARE NOTEHEAD WHITE
+1D147 ; [*0FF6.0020.0002.1D147] # MUSICAL SYMBOL SQUARE NOTEHEAD BLACK
+1D148 ; [*0FF7.0020.0002.1D148] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE
+1D149 ; [*0FF8.0020.0002.1D149] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK
+1D14A ; [*0FF9.0020.0002.1D14A] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE
+1D14B ; [*0FFA.0020.0002.1D14B] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK
+1D14C ; [*0FFB.0020.0002.1D14C] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE
+1D14D ; [*0FFC.0020.0002.1D14D] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK
+1D14E ; [*0FFD.0020.0002.1D14E] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE
+1D14F ; [*0FFE.0020.0002.1D14F] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK
+1D150 ; [*0FFF.0020.0002.1D150] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE
+1D151 ; [*1000.0020.0002.1D151] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK
+1D152 ; [*1001.0020.0002.1D152] # MUSICAL SYMBOL MOON NOTEHEAD WHITE
+1D153 ; [*1002.0020.0002.1D153] # MUSICAL SYMBOL MOON NOTEHEAD BLACK
+1D154 ; [*1003.0020.0002.1D154] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE
+1D155 ; [*1004.0020.0002.1D155] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK
+1D156 ; [*1005.0020.0002.1D156] # MUSICAL SYMBOL PARENTHESIS NOTEHEAD
+1D157 ; [*1006.0020.0002.1D157] # MUSICAL SYMBOL VOID NOTEHEAD
+1D158 ; [*1007.0020.0002.1D158] # MUSICAL SYMBOL NOTEHEAD BLACK
+1D159 ; [*1008.0020.0002.1D159] # MUSICAL SYMBOL NULL NOTEHEAD
+1D15A ; [*1009.0020.0002.1D15A] # MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE
+1D15B ; [*100A.0020.0002.1D15B] # MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK
+1D15C ; [*100B.0020.0002.1D15C] # MUSICAL SYMBOL BREVE
+1D15D ; [*100C.0020.0002.1D15D] # MUSICAL SYMBOL WHOLE NOTE
+1D15E ; [*1006.0020.0002.1D157][.0000.0000.0000.1D165] # MUSICAL SYMBOL HALF NOTE
+1D15F ; [*1007.0020.0002.1D158][.0000.0000.0000.1D165] # MUSICAL SYMBOL QUARTER NOTE
+1D160 ; [*1007.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL EIGHTH NOTE
+1D161 ; [*1007.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL SIXTEENTH NOTE
+1D162 ; [*1007.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D170] # MUSICAL SYMBOL THIRTY-SECOND NOTE
+1D163 ; [*1007.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D171] # MUSICAL SYMBOL SIXTY-FOURTH NOTE
+1D164 ; [*1007.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D172] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
1D165 ; [.0000.0000.0000.1D165] # MUSICAL SYMBOL COMBINING STEM
1D166 ; [.0000.0000.0000.1D166] # MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
1D167 ; [.0000.0000.0000.1D167] # MUSICAL SYMBOL COMBINING TREMOLO-1
1D168 ; [.0000.0000.0000.1D168] # MUSICAL SYMBOL COMBINING TREMOLO-2
1D169 ; [.0000.0000.0000.1D169] # MUSICAL SYMBOL COMBINING TREMOLO-3
-1D16A ; [*0FF1.0020.0002.1D16A] # MUSICAL SYMBOL FINGERED TREMOLO-1
-1D16B ; [*0FF2.0020.0002.1D16B] # MUSICAL SYMBOL FINGERED TREMOLO-2
-1D16C ; [*0FF3.0020.0002.1D16C] # MUSICAL SYMBOL FINGERED TREMOLO-3
+1D16A ; [*100D.0020.0002.1D16A] # MUSICAL SYMBOL FINGERED TREMOLO-1
+1D16B ; [*100E.0020.0002.1D16B] # MUSICAL SYMBOL FINGERED TREMOLO-2
+1D16C ; [*100F.0020.0002.1D16C] # MUSICAL SYMBOL FINGERED TREMOLO-3
1D16D ; [.0000.0000.0000.1D16D] # MUSICAL SYMBOL COMBINING AUGMENTATION DOT
1D16E ; [.0000.0000.0000.1D16E] # MUSICAL SYMBOL COMBINING FLAG-1
1D16F ; [.0000.0000.0000.1D16F] # MUSICAL SYMBOL COMBINING FLAG-2
@@ -4621,8 +4661,8 @@ FFFD ; [*1491.0020.0002.FFFD] # REPLACEMENT CHARACTER
1D180 ; [.0000.0000.0000.1D180] # MUSICAL SYMBOL COMBINING MARCATO-STACCATO
1D181 ; [.0000.0000.0000.1D181] # MUSICAL SYMBOL COMBINING ACCENT-STACCATO
1D182 ; [.0000.0000.0000.1D182] # MUSICAL SYMBOL COMBINING LOURE
-1D183 ; [*0FF4.0020.0002.1D183] # MUSICAL SYMBOL ARPEGGIATO UP
-1D184 ; [*0FF5.0020.0002.1D184] # MUSICAL SYMBOL ARPEGGIATO DOWN
+1D183 ; [*1010.0020.0002.1D183] # MUSICAL SYMBOL ARPEGGIATO UP
+1D184 ; [*1011.0020.0002.1D184] # MUSICAL SYMBOL ARPEGGIATO DOWN
1D185 ; [.0000.0000.0000.1D185] # MUSICAL SYMBOL COMBINING DOIT
1D186 ; [.0000.0000.0000.1D186] # MUSICAL SYMBOL COMBINING RIP
1D187 ; [.0000.0000.0000.1D187] # MUSICAL SYMBOL COMBINING FLIP
@@ -4630,1266 +4670,1285 @@ FFFD ; [*1491.0020.0002.FFFD] # REPLACEMENT CHARACTER
1D189 ; [.0000.0000.0000.1D189] # MUSICAL SYMBOL COMBINING BEND
1D18A ; [.0000.0000.0000.1D18A] # MUSICAL SYMBOL COMBINING DOUBLE TONGUE
1D18B ; [.0000.0000.0000.1D18B] # MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D18C ; [*0FF6.0020.0002.1D18C] # MUSICAL SYMBOL RINFORZANDO
-1D18D ; [*0FF7.0020.0002.1D18D] # MUSICAL SYMBOL SUBITO
-1D18E ; [*0FF8.0020.0002.1D18E] # MUSICAL SYMBOL Z
-1D18F ; [*0FF9.0020.0002.1D18F] # MUSICAL SYMBOL PIANO
-1D190 ; [*0FFA.0020.0002.1D190] # MUSICAL SYMBOL MEZZO
-1D191 ; [*0FFB.0020.0002.1D191] # MUSICAL SYMBOL FORTE
-1D192 ; [*0FFC.0020.0002.1D192] # MUSICAL SYMBOL CRESCENDO
-1D193 ; [*0FFD.0020.0002.1D193] # MUSICAL SYMBOL DECRESCENDO
-1D194 ; [*0FFE.0020.0002.1D194] # MUSICAL SYMBOL GRACE NOTE SLASH
-1D195 ; [*0FFF.0020.0002.1D195] # MUSICAL SYMBOL GRACE NOTE NO SLASH
-1D196 ; [*1000.0020.0002.1D196] # MUSICAL SYMBOL TR
-1D197 ; [*1001.0020.0002.1D197] # MUSICAL SYMBOL TURN
-1D198 ; [*1002.0020.0002.1D198] # MUSICAL SYMBOL INVERTED TURN
-1D199 ; [*1003.0020.0002.1D199] # MUSICAL SYMBOL TURN SLASH
-1D19A ; [*1004.0020.0002.1D19A] # MUSICAL SYMBOL TURN UP
-1D19B ; [*1005.0020.0002.1D19B] # MUSICAL SYMBOL ORNAMENT STROKE-1
-1D19C ; [*1006.0020.0002.1D19C] # MUSICAL SYMBOL ORNAMENT STROKE-2
-1D19D ; [*1007.0020.0002.1D19D] # MUSICAL SYMBOL ORNAMENT STROKE-3
-1D19E ; [*1008.0020.0002.1D19E] # MUSICAL SYMBOL ORNAMENT STROKE-4
-1D19F ; [*1009.0020.0002.1D19F] # MUSICAL SYMBOL ORNAMENT STROKE-5
-1D1A0 ; [*100A.0020.0002.1D1A0] # MUSICAL SYMBOL ORNAMENT STROKE-6
-1D1A1 ; [*100B.0020.0002.1D1A1] # MUSICAL SYMBOL ORNAMENT STROKE-7
-1D1A2 ; [*100C.0020.0002.1D1A2] # MUSICAL SYMBOL ORNAMENT STROKE-8
-1D1A3 ; [*100D.0020.0002.1D1A3] # MUSICAL SYMBOL ORNAMENT STROKE-9
-1D1A4 ; [*100E.0020.0002.1D1A4] # MUSICAL SYMBOL ORNAMENT STROKE-10
-1D1A5 ; [*100F.0020.0002.1D1A5] # MUSICAL SYMBOL ORNAMENT STROKE-11
-1D1A6 ; [*1010.0020.0002.1D1A6] # MUSICAL SYMBOL HAUPTSTIMME
-1D1A7 ; [*1011.0020.0002.1D1A7] # MUSICAL SYMBOL NEBENSTIMME
-1D1A8 ; [*1012.0020.0002.1D1A8] # MUSICAL SYMBOL END OF STIMME
-1D1A9 ; [*1013.0020.0002.1D1A9] # MUSICAL SYMBOL DEGREE SLASH
+1D18C ; [*1012.0020.0002.1D18C] # MUSICAL SYMBOL RINFORZANDO
+1D18D ; [*1013.0020.0002.1D18D] # MUSICAL SYMBOL SUBITO
+1D18E ; [*1014.0020.0002.1D18E] # MUSICAL SYMBOL Z
+1D18F ; [*1015.0020.0002.1D18F] # MUSICAL SYMBOL PIANO
+1D190 ; [*1016.0020.0002.1D190] # MUSICAL SYMBOL MEZZO
+1D191 ; [*1017.0020.0002.1D191] # MUSICAL SYMBOL FORTE
+1D192 ; [*1018.0020.0002.1D192] # MUSICAL SYMBOL CRESCENDO
+1D193 ; [*1019.0020.0002.1D193] # MUSICAL SYMBOL DECRESCENDO
+1D194 ; [*101A.0020.0002.1D194] # MUSICAL SYMBOL GRACE NOTE SLASH
+1D195 ; [*101B.0020.0002.1D195] # MUSICAL SYMBOL GRACE NOTE NO SLASH
+1D196 ; [*101C.0020.0002.1D196] # MUSICAL SYMBOL TR
+1D197 ; [*101D.0020.0002.1D197] # MUSICAL SYMBOL TURN
+1D198 ; [*101E.0020.0002.1D198] # MUSICAL SYMBOL INVERTED TURN
+1D199 ; [*101F.0020.0002.1D199] # MUSICAL SYMBOL TURN SLASH
+1D19A ; [*1020.0020.0002.1D19A] # MUSICAL SYMBOL TURN UP
+1D19B ; [*1021.0020.0002.1D19B] # MUSICAL SYMBOL ORNAMENT STROKE-1
+1D19C ; [*1022.0020.0002.1D19C] # MUSICAL SYMBOL ORNAMENT STROKE-2
+1D19D ; [*1023.0020.0002.1D19D] # MUSICAL SYMBOL ORNAMENT STROKE-3
+1D19E ; [*1024.0020.0002.1D19E] # MUSICAL SYMBOL ORNAMENT STROKE-4
+1D19F ; [*1025.0020.0002.1D19F] # MUSICAL SYMBOL ORNAMENT STROKE-5
+1D1A0 ; [*1026.0020.0002.1D1A0] # MUSICAL SYMBOL ORNAMENT STROKE-6
+1D1A1 ; [*1027.0020.0002.1D1A1] # MUSICAL SYMBOL ORNAMENT STROKE-7
+1D1A2 ; [*1028.0020.0002.1D1A2] # MUSICAL SYMBOL ORNAMENT STROKE-8
+1D1A3 ; [*1029.0020.0002.1D1A3] # MUSICAL SYMBOL ORNAMENT STROKE-9
+1D1A4 ; [*102A.0020.0002.1D1A4] # MUSICAL SYMBOL ORNAMENT STROKE-10
+1D1A5 ; [*102B.0020.0002.1D1A5] # MUSICAL SYMBOL ORNAMENT STROKE-11
+1D1A6 ; [*102C.0020.0002.1D1A6] # MUSICAL SYMBOL HAUPTSTIMME
+1D1A7 ; [*102D.0020.0002.1D1A7] # MUSICAL SYMBOL NEBENSTIMME
+1D1A8 ; [*102E.0020.0002.1D1A8] # MUSICAL SYMBOL END OF STIMME
+1D1A9 ; [*102F.0020.0002.1D1A9] # MUSICAL SYMBOL DEGREE SLASH
1D1AA ; [.0000.0000.0000.1D1AA] # MUSICAL SYMBOL COMBINING DOWN BOW
1D1AB ; [.0000.0000.0000.1D1AB] # MUSICAL SYMBOL COMBINING UP BOW
1D1AC ; [.0000.0000.0000.1D1AC] # MUSICAL SYMBOL COMBINING HARMONIC
1D1AD ; [.0000.0000.0000.1D1AD] # MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D1AE ; [*1014.0020.0002.1D1AE] # MUSICAL SYMBOL PEDAL MARK
-1D1AF ; [*1015.0020.0002.1D1AF] # MUSICAL SYMBOL PEDAL UP MARK
-1D1B0 ; [*1016.0020.0002.1D1B0] # MUSICAL SYMBOL HALF PEDAL MARK
-1D1B1 ; [*1017.0020.0002.1D1B1] # MUSICAL SYMBOL GLISSANDO UP
-1D1B2 ; [*1018.0020.0002.1D1B2] # MUSICAL SYMBOL GLISSANDO DOWN
-1D1B3 ; [*1019.0020.0002.1D1B3] # MUSICAL SYMBOL WITH FINGERNAILS
-1D1B4 ; [*101A.0020.0002.1D1B4] # MUSICAL SYMBOL DAMP
-1D1B5 ; [*101B.0020.0002.1D1B5] # MUSICAL SYMBOL DAMP ALL
-1D1B6 ; [*101C.0020.0002.1D1B6] # MUSICAL SYMBOL MAXIMA
-1D1B7 ; [*101D.0020.0002.1D1B7] # MUSICAL SYMBOL LONGA
-1D1B8 ; [*101E.0020.0002.1D1B8] # MUSICAL SYMBOL BREVIS
-1D1B9 ; [*101F.0020.0002.1D1B9] # MUSICAL SYMBOL SEMIBREVIS WHITE
-1D1BA ; [*1020.0020.0002.1D1BA] # MUSICAL SYMBOL SEMIBREVIS BLACK
-1D1BB ; [*101F.0020.0002.1D1B9][.0000.0000.0000.1D165] # MUSICAL SYMBOL MINIMA; QQCN
-1D1BC ; [*1020.0020.0002.1D1BA][.0000.0000.0000.1D165] # MUSICAL SYMBOL MINIMA BLACK; QQCN
-1D1BD ; [*101F.0020.0002.1D1B9][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL SEMIMINIMA WHITE; QQCN
-1D1BE ; [*1020.0020.0002.1D1BA][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL SEMIMINIMA BLACK; QQCN
-1D1BF ; [*101F.0020.0002.1D1B9][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL FUSA WHITE; QQCN
-1D1C0 ; [*1020.0020.0002.1D1BA][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL FUSA BLACK; QQCN
-1D1C1 ; [*1021.0020.0002.1D1C1] # MUSICAL SYMBOL LONGA PERFECTA REST
-1D1C2 ; [*1022.0020.0002.1D1C2] # MUSICAL SYMBOL LONGA IMPERFECTA REST
-1D1C3 ; [*1023.0020.0002.1D1C3] # MUSICAL SYMBOL BREVIS REST
-1D1C4 ; [*1024.0020.0002.1D1C4] # MUSICAL SYMBOL SEMIBREVIS REST
-1D1C5 ; [*1025.0020.0002.1D1C5] # MUSICAL SYMBOL MINIMA REST
-1D1C6 ; [*1026.0020.0002.1D1C6] # MUSICAL SYMBOL SEMIMINIMA REST
-1D1C7 ; [*1027.0020.0002.1D1C7] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA
-1D1C8 ; [*1028.0020.0002.1D1C8] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA
-1D1C9 ; [*1029.0020.0002.1D1C9] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1
-1D1CA ; [*102A.0020.0002.1D1CA] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA
-1D1CB ; [*102B.0020.0002.1D1CB] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA
-1D1CC ; [*102C.0020.0002.1D1CC] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1
-1D1CD ; [*102D.0020.0002.1D1CD] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2
-1D1CE ; [*102E.0020.0002.1D1CE] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3
-1D1CF ; [*102F.0020.0002.1D1CF] # MUSICAL SYMBOL CROIX
-1D1D0 ; [*1030.0020.0002.1D1D0] # MUSICAL SYMBOL GREGORIAN C CLEF
-1D1D1 ; [*1031.0020.0002.1D1D1] # MUSICAL SYMBOL GREGORIAN F CLEF
-1D1D2 ; [*1032.0020.0002.1D1D2] # MUSICAL SYMBOL SQUARE B
-1D1D3 ; [*1033.0020.0002.1D1D3] # MUSICAL SYMBOL VIRGA
-1D1D4 ; [*1034.0020.0002.1D1D4] # MUSICAL SYMBOL PODATUS
-1D1D5 ; [*1035.0020.0002.1D1D5] # MUSICAL SYMBOL CLIVIS
-1D1D6 ; [*1036.0020.0002.1D1D6] # MUSICAL SYMBOL SCANDICUS
-1D1D7 ; [*1037.0020.0002.1D1D7] # MUSICAL SYMBOL CLIMACUS
-1D1D8 ; [*1038.0020.0002.1D1D8] # MUSICAL SYMBOL TORCULUS
-1D1D9 ; [*1039.0020.0002.1D1D9] # MUSICAL SYMBOL PORRECTUS
-1D1DA ; [*103A.0020.0002.1D1DA] # MUSICAL SYMBOL PORRECTUS FLEXUS
-1D1DB ; [*103B.0020.0002.1D1DB] # MUSICAL SYMBOL SCANDICUS FLEXUS
-1D1DC ; [*103C.0020.0002.1D1DC] # MUSICAL SYMBOL TORCULUS RESUPINUS
-1D1DD ; [*103D.0020.0002.1D1DD] # MUSICAL SYMBOL PES SUBPUNCTIS
-1D200 ; [*103E.0020.0002.1D200] # GREEK VOCAL NOTATION SYMBOL-1
-1D201 ; [*103F.0020.0002.1D201] # GREEK VOCAL NOTATION SYMBOL-2
-1D202 ; [*1040.0020.0002.1D202] # GREEK VOCAL NOTATION SYMBOL-3
-1D203 ; [*1041.0020.0002.1D203] # GREEK VOCAL NOTATION SYMBOL-4
-1D204 ; [*1042.0020.0002.1D204] # GREEK VOCAL NOTATION SYMBOL-5
-1D205 ; [*1043.0020.0002.1D205] # GREEK VOCAL NOTATION SYMBOL-6
-1D206 ; [*1044.0020.0002.1D206] # GREEK VOCAL NOTATION SYMBOL-7
-1D207 ; [*1045.0020.0002.1D207] # GREEK VOCAL NOTATION SYMBOL-8
-1D208 ; [*1046.0020.0002.1D208] # GREEK VOCAL NOTATION SYMBOL-9
-1D209 ; [*1047.0020.0002.1D209] # GREEK VOCAL NOTATION SYMBOL-10
-1D20A ; [*1048.0020.0002.1D20A] # GREEK VOCAL NOTATION SYMBOL-11
-1D20B ; [*1049.0020.0002.1D20B] # GREEK VOCAL NOTATION SYMBOL-12
-1D20C ; [*104A.0020.0002.1D20C] # GREEK VOCAL NOTATION SYMBOL-13
-1D20D ; [*104B.0020.0002.1D20D] # GREEK VOCAL NOTATION SYMBOL-14
-1D20E ; [*104C.0020.0002.1D20E] # GREEK VOCAL NOTATION SYMBOL-15
-1D20F ; [*104D.0020.0002.1D20F] # GREEK VOCAL NOTATION SYMBOL-16
-1D210 ; [*104E.0020.0002.1D210] # GREEK VOCAL NOTATION SYMBOL-17
-1D211 ; [*104F.0020.0002.1D211] # GREEK VOCAL NOTATION SYMBOL-18
-1D212 ; [*1050.0020.0002.1D212] # GREEK VOCAL NOTATION SYMBOL-19
-1D213 ; [*1051.0020.0002.1D213] # GREEK VOCAL NOTATION SYMBOL-20
-1D214 ; [*1052.0020.0002.1D214] # GREEK VOCAL NOTATION SYMBOL-21
-1D215 ; [*1053.0020.0002.1D215] # GREEK VOCAL NOTATION SYMBOL-22
-1D216 ; [*1054.0020.0002.1D216] # GREEK VOCAL NOTATION SYMBOL-23
-1D217 ; [*1055.0020.0002.1D217] # GREEK VOCAL NOTATION SYMBOL-24
-1D218 ; [*1056.0020.0002.1D218] # GREEK VOCAL NOTATION SYMBOL-50
-1D219 ; [*1057.0020.0002.1D219] # GREEK VOCAL NOTATION SYMBOL-51
-1D21A ; [*1058.0020.0002.1D21A] # GREEK VOCAL NOTATION SYMBOL-52
-1D21B ; [*1059.0020.0002.1D21B] # GREEK VOCAL NOTATION SYMBOL-53
-1D21C ; [*105A.0020.0002.1D21C] # GREEK VOCAL NOTATION SYMBOL-54
-1D21D ; [*105B.0020.0002.1D21D] # GREEK INSTRUMENTAL NOTATION SYMBOL-1
-1D21E ; [*105C.0020.0002.1D21E] # GREEK INSTRUMENTAL NOTATION SYMBOL-2
-1D21F ; [*105D.0020.0002.1D21F] # GREEK INSTRUMENTAL NOTATION SYMBOL-4
-1D220 ; [*105E.0020.0002.1D220] # GREEK INSTRUMENTAL NOTATION SYMBOL-5
-1D221 ; [*105F.0020.0002.1D221] # GREEK INSTRUMENTAL NOTATION SYMBOL-7
-1D222 ; [*1060.0020.0002.1D222] # GREEK INSTRUMENTAL NOTATION SYMBOL-8
-1D223 ; [*1061.0020.0002.1D223] # GREEK INSTRUMENTAL NOTATION SYMBOL-11
-1D224 ; [*1062.0020.0002.1D224] # GREEK INSTRUMENTAL NOTATION SYMBOL-12
-1D225 ; [*1063.0020.0002.1D225] # GREEK INSTRUMENTAL NOTATION SYMBOL-13
-1D226 ; [*1064.0020.0002.1D226] # GREEK INSTRUMENTAL NOTATION SYMBOL-14
-1D227 ; [*1065.0020.0002.1D227] # GREEK INSTRUMENTAL NOTATION SYMBOL-17
-1D228 ; [*1066.0020.0002.1D228] # GREEK INSTRUMENTAL NOTATION SYMBOL-18
-1D229 ; [*1067.0020.0002.1D229] # GREEK INSTRUMENTAL NOTATION SYMBOL-19
-1D22A ; [*1068.0020.0002.1D22A] # GREEK INSTRUMENTAL NOTATION SYMBOL-23
-1D22B ; [*1069.0020.0002.1D22B] # GREEK INSTRUMENTAL NOTATION SYMBOL-24
-1D22C ; [*106A.0020.0002.1D22C] # GREEK INSTRUMENTAL NOTATION SYMBOL-25
-1D22D ; [*106B.0020.0002.1D22D] # GREEK INSTRUMENTAL NOTATION SYMBOL-26
-1D22E ; [*106C.0020.0002.1D22E] # GREEK INSTRUMENTAL NOTATION SYMBOL-27
-1D22F ; [*106D.0020.0002.1D22F] # GREEK INSTRUMENTAL NOTATION SYMBOL-29
-1D230 ; [*106E.0020.0002.1D230] # GREEK INSTRUMENTAL NOTATION SYMBOL-30
-1D231 ; [*106F.0020.0002.1D231] # GREEK INSTRUMENTAL NOTATION SYMBOL-32
-1D232 ; [*1070.0020.0002.1D232] # GREEK INSTRUMENTAL NOTATION SYMBOL-36
-1D233 ; [*1071.0020.0002.1D233] # GREEK INSTRUMENTAL NOTATION SYMBOL-37
-1D234 ; [*1072.0020.0002.1D234] # GREEK INSTRUMENTAL NOTATION SYMBOL-38
-1D235 ; [*1073.0020.0002.1D235] # GREEK INSTRUMENTAL NOTATION SYMBOL-39
-1D236 ; [*1074.0020.0002.1D236] # GREEK INSTRUMENTAL NOTATION SYMBOL-40
-1D237 ; [*1075.0020.0002.1D237] # GREEK INSTRUMENTAL NOTATION SYMBOL-42
-1D238 ; [*1076.0020.0002.1D238] # GREEK INSTRUMENTAL NOTATION SYMBOL-43
-1D239 ; [*1077.0020.0002.1D239] # GREEK INSTRUMENTAL NOTATION SYMBOL-45
-1D23A ; [*1078.0020.0002.1D23A] # GREEK INSTRUMENTAL NOTATION SYMBOL-47
-1D23B ; [*1079.0020.0002.1D23B] # GREEK INSTRUMENTAL NOTATION SYMBOL-48
-1D23C ; [*107A.0020.0002.1D23C] # GREEK INSTRUMENTAL NOTATION SYMBOL-49
-1D23D ; [*107B.0020.0002.1D23D] # GREEK INSTRUMENTAL NOTATION SYMBOL-50
-1D23E ; [*107C.0020.0002.1D23E] # GREEK INSTRUMENTAL NOTATION SYMBOL-51
-1D23F ; [*107D.0020.0002.1D23F] # GREEK INSTRUMENTAL NOTATION SYMBOL-52
-1D240 ; [*107E.0020.0002.1D240] # GREEK INSTRUMENTAL NOTATION SYMBOL-53
-1D241 ; [*107F.0020.0002.1D241] # GREEK INSTRUMENTAL NOTATION SYMBOL-54
+1D1AE ; [*1030.0020.0002.1D1AE] # MUSICAL SYMBOL PEDAL MARK
+1D1AF ; [*1031.0020.0002.1D1AF] # MUSICAL SYMBOL PEDAL UP MARK
+1D1B0 ; [*1032.0020.0002.1D1B0] # MUSICAL SYMBOL HALF PEDAL MARK
+1D1B1 ; [*1033.0020.0002.1D1B1] # MUSICAL SYMBOL GLISSANDO UP
+1D1B2 ; [*1034.0020.0002.1D1B2] # MUSICAL SYMBOL GLISSANDO DOWN
+1D1B3 ; [*1035.0020.0002.1D1B3] # MUSICAL SYMBOL WITH FINGERNAILS
+1D1B4 ; [*1036.0020.0002.1D1B4] # MUSICAL SYMBOL DAMP
+1D1B5 ; [*1037.0020.0002.1D1B5] # MUSICAL SYMBOL DAMP ALL
+1D1B6 ; [*1038.0020.0002.1D1B6] # MUSICAL SYMBOL MAXIMA
+1D1B7 ; [*1039.0020.0002.1D1B7] # MUSICAL SYMBOL LONGA
+1D1B8 ; [*103A.0020.0002.1D1B8] # MUSICAL SYMBOL BREVIS
+1D1B9 ; [*103B.0020.0002.1D1B9] # MUSICAL SYMBOL SEMIBREVIS WHITE
+1D1BA ; [*103C.0020.0002.1D1BA] # MUSICAL SYMBOL SEMIBREVIS BLACK
+1D1BB ; [*103B.0020.0002.1D1B9][.0000.0000.0000.1D165] # MUSICAL SYMBOL MINIMA
+1D1BC ; [*103C.0020.0002.1D1BA][.0000.0000.0000.1D165] # MUSICAL SYMBOL MINIMA BLACK
+1D1BD ; [*103B.0020.0002.1D1B9][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL SEMIMINIMA WHITE
+1D1BE ; [*103C.0020.0002.1D1BA][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL SEMIMINIMA BLACK
+1D1BF ; [*103B.0020.0002.1D1B9][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL FUSA WHITE
+1D1C0 ; [*103C.0020.0002.1D1BA][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL FUSA BLACK
+1D1C1 ; [*103D.0020.0002.1D1C1] # MUSICAL SYMBOL LONGA PERFECTA REST
+1D1C2 ; [*103E.0020.0002.1D1C2] # MUSICAL SYMBOL LONGA IMPERFECTA REST
+1D1C3 ; [*103F.0020.0002.1D1C3] # MUSICAL SYMBOL BREVIS REST
+1D1C4 ; [*1040.0020.0002.1D1C4] # MUSICAL SYMBOL SEMIBREVIS REST
+1D1C5 ; [*1041.0020.0002.1D1C5] # MUSICAL SYMBOL MINIMA REST
+1D1C6 ; [*1042.0020.0002.1D1C6] # MUSICAL SYMBOL SEMIMINIMA REST
+1D1C7 ; [*1043.0020.0002.1D1C7] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA
+1D1C8 ; [*1044.0020.0002.1D1C8] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA
+1D1C9 ; [*1045.0020.0002.1D1C9] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1
+1D1CA ; [*1046.0020.0002.1D1CA] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA
+1D1CB ; [*1047.0020.0002.1D1CB] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA
+1D1CC ; [*1048.0020.0002.1D1CC] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1
+1D1CD ; [*1049.0020.0002.1D1CD] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2
+1D1CE ; [*104A.0020.0002.1D1CE] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3
+1D1CF ; [*104B.0020.0002.1D1CF] # MUSICAL SYMBOL CROIX
+1D1D0 ; [*104C.0020.0002.1D1D0] # MUSICAL SYMBOL GREGORIAN C CLEF
+1D1D1 ; [*104D.0020.0002.1D1D1] # MUSICAL SYMBOL GREGORIAN F CLEF
+1D1D2 ; [*104E.0020.0002.1D1D2] # MUSICAL SYMBOL SQUARE B
+1D1D3 ; [*104F.0020.0002.1D1D3] # MUSICAL SYMBOL VIRGA
+1D1D4 ; [*1050.0020.0002.1D1D4] # MUSICAL SYMBOL PODATUS
+1D1D5 ; [*1051.0020.0002.1D1D5] # MUSICAL SYMBOL CLIVIS
+1D1D6 ; [*1052.0020.0002.1D1D6] # MUSICAL SYMBOL SCANDICUS
+1D1D7 ; [*1053.0020.0002.1D1D7] # MUSICAL SYMBOL CLIMACUS
+1D1D8 ; [*1054.0020.0002.1D1D8] # MUSICAL SYMBOL TORCULUS
+1D1D9 ; [*1055.0020.0002.1D1D9] # MUSICAL SYMBOL PORRECTUS
+1D1DA ; [*1056.0020.0002.1D1DA] # MUSICAL SYMBOL PORRECTUS FLEXUS
+1D1DB ; [*1057.0020.0002.1D1DB] # MUSICAL SYMBOL SCANDICUS FLEXUS
+1D1DC ; [*1058.0020.0002.1D1DC] # MUSICAL SYMBOL TORCULUS RESUPINUS
+1D1DD ; [*1059.0020.0002.1D1DD] # MUSICAL SYMBOL PES SUBPUNCTIS
+1D200 ; [*105A.0020.0002.1D200] # GREEK VOCAL NOTATION SYMBOL-1
+1D201 ; [*105B.0020.0002.1D201] # GREEK VOCAL NOTATION SYMBOL-2
+1D202 ; [*105C.0020.0002.1D202] # GREEK VOCAL NOTATION SYMBOL-3
+1D203 ; [*105D.0020.0002.1D203] # GREEK VOCAL NOTATION SYMBOL-4
+1D204 ; [*105E.0020.0002.1D204] # GREEK VOCAL NOTATION SYMBOL-5
+1D205 ; [*105F.0020.0002.1D205] # GREEK VOCAL NOTATION SYMBOL-6
+1D206 ; [*1060.0020.0002.1D206] # GREEK VOCAL NOTATION SYMBOL-7
+1D207 ; [*1061.0020.0002.1D207] # GREEK VOCAL NOTATION SYMBOL-8
+1D208 ; [*1062.0020.0002.1D208] # GREEK VOCAL NOTATION SYMBOL-9
+1D209 ; [*1063.0020.0002.1D209] # GREEK VOCAL NOTATION SYMBOL-10
+1D20A ; [*1064.0020.0002.1D20A] # GREEK VOCAL NOTATION SYMBOL-11
+1D20B ; [*1065.0020.0002.1D20B] # GREEK VOCAL NOTATION SYMBOL-12
+1D20C ; [*1066.0020.0002.1D20C] # GREEK VOCAL NOTATION SYMBOL-13
+1D20D ; [*1067.0020.0002.1D20D] # GREEK VOCAL NOTATION SYMBOL-14
+1D20E ; [*1068.0020.0002.1D20E] # GREEK VOCAL NOTATION SYMBOL-15
+1D20F ; [*1069.0020.0002.1D20F] # GREEK VOCAL NOTATION SYMBOL-16
+1D210 ; [*106A.0020.0002.1D210] # GREEK VOCAL NOTATION SYMBOL-17
+1D211 ; [*106B.0020.0002.1D211] # GREEK VOCAL NOTATION SYMBOL-18
+1D212 ; [*106C.0020.0002.1D212] # GREEK VOCAL NOTATION SYMBOL-19
+1D213 ; [*106D.0020.0002.1D213] # GREEK VOCAL NOTATION SYMBOL-20
+1D214 ; [*106E.0020.0002.1D214] # GREEK VOCAL NOTATION SYMBOL-21
+1D215 ; [*106F.0020.0002.1D215] # GREEK VOCAL NOTATION SYMBOL-22
+1D216 ; [*1070.0020.0002.1D216] # GREEK VOCAL NOTATION SYMBOL-23
+1D217 ; [*1071.0020.0002.1D217] # GREEK VOCAL NOTATION SYMBOL-24
+1D218 ; [*1072.0020.0002.1D218] # GREEK VOCAL NOTATION SYMBOL-50
+1D219 ; [*1073.0020.0002.1D219] # GREEK VOCAL NOTATION SYMBOL-51
+1D21A ; [*1074.0020.0002.1D21A] # GREEK VOCAL NOTATION SYMBOL-52
+1D21B ; [*1075.0020.0002.1D21B] # GREEK VOCAL NOTATION SYMBOL-53
+1D21C ; [*1076.0020.0002.1D21C] # GREEK VOCAL NOTATION SYMBOL-54
+1D21D ; [*1077.0020.0002.1D21D] # GREEK INSTRUMENTAL NOTATION SYMBOL-1
+1D21E ; [*1078.0020.0002.1D21E] # GREEK INSTRUMENTAL NOTATION SYMBOL-2
+1D21F ; [*1079.0020.0002.1D21F] # GREEK INSTRUMENTAL NOTATION SYMBOL-4
+1D220 ; [*107A.0020.0002.1D220] # GREEK INSTRUMENTAL NOTATION SYMBOL-5
+1D221 ; [*107B.0020.0002.1D221] # GREEK INSTRUMENTAL NOTATION SYMBOL-7
+1D222 ; [*107C.0020.0002.1D222] # GREEK INSTRUMENTAL NOTATION SYMBOL-8
+1D223 ; [*107D.0020.0002.1D223] # GREEK INSTRUMENTAL NOTATION SYMBOL-11
+1D224 ; [*107E.0020.0002.1D224] # GREEK INSTRUMENTAL NOTATION SYMBOL-12
+1D225 ; [*107F.0020.0002.1D225] # GREEK INSTRUMENTAL NOTATION SYMBOL-13
+1D226 ; [*1080.0020.0002.1D226] # GREEK INSTRUMENTAL NOTATION SYMBOL-14
+1D227 ; [*1081.0020.0002.1D227] # GREEK INSTRUMENTAL NOTATION SYMBOL-17
+1D228 ; [*1082.0020.0002.1D228] # GREEK INSTRUMENTAL NOTATION SYMBOL-18
+1D229 ; [*1083.0020.0002.1D229] # GREEK INSTRUMENTAL NOTATION SYMBOL-19
+1D22A ; [*1084.0020.0002.1D22A] # GREEK INSTRUMENTAL NOTATION SYMBOL-23
+1D22B ; [*1085.0020.0002.1D22B] # GREEK INSTRUMENTAL NOTATION SYMBOL-24
+1D22C ; [*1086.0020.0002.1D22C] # GREEK INSTRUMENTAL NOTATION SYMBOL-25
+1D22D ; [*1087.0020.0002.1D22D] # GREEK INSTRUMENTAL NOTATION SYMBOL-26
+1D22E ; [*1088.0020.0002.1D22E] # GREEK INSTRUMENTAL NOTATION SYMBOL-27
+1D22F ; [*1089.0020.0002.1D22F] # GREEK INSTRUMENTAL NOTATION SYMBOL-29
+1D230 ; [*108A.0020.0002.1D230] # GREEK INSTRUMENTAL NOTATION SYMBOL-30
+1D231 ; [*108B.0020.0002.1D231] # GREEK INSTRUMENTAL NOTATION SYMBOL-32
+1D232 ; [*108C.0020.0002.1D232] # GREEK INSTRUMENTAL NOTATION SYMBOL-36
+1D233 ; [*108D.0020.0002.1D233] # GREEK INSTRUMENTAL NOTATION SYMBOL-37
+1D234 ; [*108E.0020.0002.1D234] # GREEK INSTRUMENTAL NOTATION SYMBOL-38
+1D235 ; [*108F.0020.0002.1D235] # GREEK INSTRUMENTAL NOTATION SYMBOL-39
+1D236 ; [*1090.0020.0002.1D236] # GREEK INSTRUMENTAL NOTATION SYMBOL-40
+1D237 ; [*1091.0020.0002.1D237] # GREEK INSTRUMENTAL NOTATION SYMBOL-42
+1D238 ; [*1092.0020.0002.1D238] # GREEK INSTRUMENTAL NOTATION SYMBOL-43
+1D239 ; [*1093.0020.0002.1D239] # GREEK INSTRUMENTAL NOTATION SYMBOL-45
+1D23A ; [*1094.0020.0002.1D23A] # GREEK INSTRUMENTAL NOTATION SYMBOL-47
+1D23B ; [*1095.0020.0002.1D23B] # GREEK INSTRUMENTAL NOTATION SYMBOL-48
+1D23C ; [*1096.0020.0002.1D23C] # GREEK INSTRUMENTAL NOTATION SYMBOL-49
+1D23D ; [*1097.0020.0002.1D23D] # GREEK INSTRUMENTAL NOTATION SYMBOL-50
+1D23E ; [*1098.0020.0002.1D23E] # GREEK INSTRUMENTAL NOTATION SYMBOL-51
+1D23F ; [*1099.0020.0002.1D23F] # GREEK INSTRUMENTAL NOTATION SYMBOL-52
+1D240 ; [*109A.0020.0002.1D240] # GREEK INSTRUMENTAL NOTATION SYMBOL-53
+1D241 ; [*109B.0020.0002.1D241] # GREEK INSTRUMENTAL NOTATION SYMBOL-54
1D242 ; [.0000.0000.0000.1D242] # COMBINING GREEK MUSICAL TRISEME
1D243 ; [.0000.0000.0000.1D243] # COMBINING GREEK MUSICAL TETRASEME
1D244 ; [.0000.0000.0000.1D244] # COMBINING GREEK MUSICAL PENTASEME
-1D245 ; [*1080.0020.0002.1D245] # GREEK MUSICAL LEIMMA
-1D300 ; [*0DBB.0020.0002.1D300] # MONOGRAM FOR EARTH
-1D301 ; [*0DBC.0020.0002.1D301] # DIGRAM FOR HEAVENLY EARTH
-1D302 ; [*0DBD.0020.0002.1D302] # DIGRAM FOR HUMAN EARTH
-1D303 ; [*0DBE.0020.0002.1D303] # DIGRAM FOR EARTHLY HEAVEN
-1D304 ; [*0DBF.0020.0002.1D304] # DIGRAM FOR EARTHLY HUMAN
-1D305 ; [*0DC0.0020.0002.1D305] # DIGRAM FOR EARTH
-1D306 ; [*0DC1.0020.0002.1D306] # TETRAGRAM FOR CENTRE
-1D307 ; [*0DC2.0020.0002.1D307] # TETRAGRAM FOR FULL CIRCLE
-1D308 ; [*0DC3.0020.0002.1D308] # TETRAGRAM FOR MIRED
-1D309 ; [*0DC4.0020.0002.1D309] # TETRAGRAM FOR BARRIER
-1D30A ; [*0DC5.0020.0002.1D30A] # TETRAGRAM FOR KEEPING SMALL
-1D30B ; [*0DC6.0020.0002.1D30B] # TETRAGRAM FOR CONTRARIETY
-1D30C ; [*0DC7.0020.0002.1D30C] # TETRAGRAM FOR ASCENT
-1D30D ; [*0DC8.0020.0002.1D30D] # TETRAGRAM FOR OPPOSITION
-1D30E ; [*0DC9.0020.0002.1D30E] # TETRAGRAM FOR BRANCHING OUT
-1D30F ; [*0DCA.0020.0002.1D30F] # TETRAGRAM FOR DEFECTIVENESS OR DISTORTION
-1D310 ; [*0DCB.0020.0002.1D310] # TETRAGRAM FOR DIVERGENCE
-1D311 ; [*0DCC.0020.0002.1D311] # TETRAGRAM FOR YOUTHFULNESS
-1D312 ; [*0DCD.0020.0002.1D312] # TETRAGRAM FOR INCREASE
-1D313 ; [*0DCE.0020.0002.1D313] # TETRAGRAM FOR PENETRATION
-1D314 ; [*0DCF.0020.0002.1D314] # TETRAGRAM FOR REACH
-1D315 ; [*0DD0.0020.0002.1D315] # TETRAGRAM FOR CONTACT
-1D316 ; [*0DD1.0020.0002.1D316] # TETRAGRAM FOR HOLDING BACK
-1D317 ; [*0DD2.0020.0002.1D317] # TETRAGRAM FOR WAITING
-1D318 ; [*0DD3.0020.0002.1D318] # TETRAGRAM FOR FOLLOWING
-1D319 ; [*0DD4.0020.0002.1D319] # TETRAGRAM FOR ADVANCE
-1D31A ; [*0DD5.0020.0002.1D31A] # TETRAGRAM FOR RELEASE
-1D31B ; [*0DD6.0020.0002.1D31B] # TETRAGRAM FOR RESISTANCE
-1D31C ; [*0DD7.0020.0002.1D31C] # TETRAGRAM FOR EASE
-1D31D ; [*0DD8.0020.0002.1D31D] # TETRAGRAM FOR JOY
-1D31E ; [*0DD9.0020.0002.1D31E] # TETRAGRAM FOR CONTENTION
-1D31F ; [*0DDA.0020.0002.1D31F] # TETRAGRAM FOR ENDEAVOUR
-1D320 ; [*0DDB.0020.0002.1D320] # TETRAGRAM FOR DUTIES
-1D321 ; [*0DDC.0020.0002.1D321] # TETRAGRAM FOR CHANGE
-1D322 ; [*0DDD.0020.0002.1D322] # TETRAGRAM FOR DECISIVENESS
-1D323 ; [*0DDE.0020.0002.1D323] # TETRAGRAM FOR BOLD RESOLUTION
-1D324 ; [*0DDF.0020.0002.1D324] # TETRAGRAM FOR PACKING
-1D325 ; [*0DE0.0020.0002.1D325] # TETRAGRAM FOR LEGION
-1D326 ; [*0DE1.0020.0002.1D326] # TETRAGRAM FOR CLOSENESS
-1D327 ; [*0DE2.0020.0002.1D327] # TETRAGRAM FOR KINSHIP
-1D328 ; [*0DE3.0020.0002.1D328] # TETRAGRAM FOR GATHERING
-1D329 ; [*0DE4.0020.0002.1D329] # TETRAGRAM FOR STRENGTH
-1D32A ; [*0DE5.0020.0002.1D32A] # TETRAGRAM FOR PURITY
-1D32B ; [*0DE6.0020.0002.1D32B] # TETRAGRAM FOR FULLNESS
-1D32C ; [*0DE7.0020.0002.1D32C] # TETRAGRAM FOR RESIDENCE
-1D32D ; [*0DE8.0020.0002.1D32D] # TETRAGRAM FOR LAW OR MODEL
-1D32E ; [*0DE9.0020.0002.1D32E] # TETRAGRAM FOR RESPONSE
-1D32F ; [*0DEA.0020.0002.1D32F] # TETRAGRAM FOR GOING TO MEET
-1D330 ; [*0DEB.0020.0002.1D330] # TETRAGRAM FOR ENCOUNTERS
-1D331 ; [*0DEC.0020.0002.1D331] # TETRAGRAM FOR STOVE
-1D332 ; [*0DED.0020.0002.1D332] # TETRAGRAM FOR GREATNESS
-1D333 ; [*0DEE.0020.0002.1D333] # TETRAGRAM FOR ENLARGEMENT
-1D334 ; [*0DEF.0020.0002.1D334] # TETRAGRAM FOR PATTERN
-1D335 ; [*0DF0.0020.0002.1D335] # TETRAGRAM FOR RITUAL
-1D336 ; [*0DF1.0020.0002.1D336] # TETRAGRAM FOR FLIGHT
-1D337 ; [*0DF2.0020.0002.1D337] # TETRAGRAM FOR VASTNESS OR WASTING
-1D338 ; [*0DF3.0020.0002.1D338] # TETRAGRAM FOR CONSTANCY
-1D339 ; [*0DF4.0020.0002.1D339] # TETRAGRAM FOR MEASURE
-1D33A ; [*0DF5.0020.0002.1D33A] # TETRAGRAM FOR ETERNITY
-1D33B ; [*0DF6.0020.0002.1D33B] # TETRAGRAM FOR UNITY
-1D33C ; [*0DF7.0020.0002.1D33C] # TETRAGRAM FOR DIMINISHMENT
-1D33D ; [*0DF8.0020.0002.1D33D] # TETRAGRAM FOR CLOSED MOUTH
-1D33E ; [*0DF9.0020.0002.1D33E] # TETRAGRAM FOR GUARDEDNESS
-1D33F ; [*0DFA.0020.0002.1D33F] # TETRAGRAM FOR GATHERING IN
-1D340 ; [*0DFB.0020.0002.1D340] # TETRAGRAM FOR MASSING
-1D341 ; [*0DFC.0020.0002.1D341] # TETRAGRAM FOR ACCUMULATION
-1D342 ; [*0DFD.0020.0002.1D342] # TETRAGRAM FOR EMBELLISHMENT
-1D343 ; [*0DFE.0020.0002.1D343] # TETRAGRAM FOR DOUBT
-1D344 ; [*0DFF.0020.0002.1D344] # TETRAGRAM FOR WATCH
-1D345 ; [*0E00.0020.0002.1D345] # TETRAGRAM FOR SINKING
-1D346 ; [*0E01.0020.0002.1D346] # TETRAGRAM FOR INNER
-1D347 ; [*0E02.0020.0002.1D347] # TETRAGRAM FOR DEPARTURE
-1D348 ; [*0E03.0020.0002.1D348] # TETRAGRAM FOR DARKENING
-1D349 ; [*0E04.0020.0002.1D349] # TETRAGRAM FOR DIMMING
-1D34A ; [*0E05.0020.0002.1D34A] # TETRAGRAM FOR EXHAUSTION
-1D34B ; [*0E06.0020.0002.1D34B] # TETRAGRAM FOR SEVERANCE
-1D34C ; [*0E07.0020.0002.1D34C] # TETRAGRAM FOR STOPPAGE
-1D34D ; [*0E08.0020.0002.1D34D] # TETRAGRAM FOR HARDNESS
-1D34E ; [*0E09.0020.0002.1D34E] # TETRAGRAM FOR COMPLETION
-1D34F ; [*0E0A.0020.0002.1D34F] # TETRAGRAM FOR CLOSURE
-1D350 ; [*0E0B.0020.0002.1D350] # TETRAGRAM FOR FAILURE
-1D351 ; [*0E0C.0020.0002.1D351] # TETRAGRAM FOR AGGRAVATION
-1D352 ; [*0E0D.0020.0002.1D352] # TETRAGRAM FOR COMPLIANCE
-1D353 ; [*0E0E.0020.0002.1D353] # TETRAGRAM FOR ON THE VERGE
-1D354 ; [*0E0F.0020.0002.1D354] # TETRAGRAM FOR DIFFICULTIES
-1D355 ; [*0E10.0020.0002.1D355] # TETRAGRAM FOR LABOURING
-1D356 ; [*0E11.0020.0002.1D356] # TETRAGRAM FOR FOSTERING
-1D369 ; [*1558.0020.0002.1D369] # COUNTING ROD TENS DIGIT ONE
-1D36A ; [*1559.0020.0002.1D36A] # COUNTING ROD TENS DIGIT TWO
-1D36B ; [*155A.0020.0002.1D36B] # COUNTING ROD TENS DIGIT THREE
-1D36C ; [*155B.0020.0002.1D36C] # COUNTING ROD TENS DIGIT FOUR
-1D36D ; [*155C.0020.0002.1D36D] # COUNTING ROD TENS DIGIT FIVE
-1D36E ; [*155D.0020.0002.1D36E] # COUNTING ROD TENS DIGIT SIX
-1D36F ; [*155E.0020.0002.1D36F] # COUNTING ROD TENS DIGIT SEVEN
-1D370 ; [*155F.0020.0002.1D370] # COUNTING ROD TENS DIGIT EIGHT
-1D371 ; [*1560.0020.0002.1D371] # COUNTING ROD TENS DIGIT NINE
-1D6C1 ; [*0560.0020.0005.1D6C1] # MATHEMATICAL BOLD NABLA; QQK
-1D6DB ; [*055C.0020.0005.1D6DB] # MATHEMATICAL BOLD PARTIAL DIFFERENTIAL; QQK
-1D6FB ; [*0560.0020.0005.1D6FB] # MATHEMATICAL ITALIC NABLA; QQK
-1D715 ; [*055C.0020.0005.1D715] # MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL; QQK
-1D735 ; [*0560.0020.0005.1D735] # MATHEMATICAL BOLD ITALIC NABLA; QQK
-1D74F ; [*055C.0020.0005.1D74F] # MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL; QQK
-1D76F ; [*0560.0020.0005.1D76F] # MATHEMATICAL SANS-SERIF BOLD NABLA; QQK
-1D789 ; [*055C.0020.0005.1D789] # MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL; QQK
-1D7A9 ; [*0560.0020.0005.1D7A9] # MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA; QQK
-1D7C3 ; [*055C.0020.0005.1D7C3] # MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL; QQK
-1F000 ; [*1081.0020.0002.1F000] # MAHJONG TILE EAST WIND
-1F001 ; [*1082.0020.0002.1F001] # MAHJONG TILE SOUTH WIND
-1F002 ; [*1083.0020.0002.1F002] # MAHJONG TILE WEST WIND
-1F003 ; [*1084.0020.0002.1F003] # MAHJONG TILE NORTH WIND
-1F004 ; [*1085.0020.0002.1F004] # MAHJONG TILE RED DRAGON
-1F005 ; [*1086.0020.0002.1F005] # MAHJONG TILE GREEN DRAGON
-1F006 ; [*1087.0020.0002.1F006] # MAHJONG TILE WHITE DRAGON
-1F007 ; [*1088.0020.0002.1F007] # MAHJONG TILE ONE OF CHARACTERS
-1F008 ; [*1089.0020.0002.1F008] # MAHJONG TILE TWO OF CHARACTERS
-1F009 ; [*108A.0020.0002.1F009] # MAHJONG TILE THREE OF CHARACTERS
-1F00A ; [*108B.0020.0002.1F00A] # MAHJONG TILE FOUR OF CHARACTERS
-1F00B ; [*108C.0020.0002.1F00B] # MAHJONG TILE FIVE OF CHARACTERS
-1F00C ; [*108D.0020.0002.1F00C] # MAHJONG TILE SIX OF CHARACTERS
-1F00D ; [*108E.0020.0002.1F00D] # MAHJONG TILE SEVEN OF CHARACTERS
-1F00E ; [*108F.0020.0002.1F00E] # MAHJONG TILE EIGHT OF CHARACTERS
-1F00F ; [*1090.0020.0002.1F00F] # MAHJONG TILE NINE OF CHARACTERS
-1F010 ; [*1091.0020.0002.1F010] # MAHJONG TILE ONE OF BAMBOOS
-1F011 ; [*1092.0020.0002.1F011] # MAHJONG TILE TWO OF BAMBOOS
-1F012 ; [*1093.0020.0002.1F012] # MAHJONG TILE THREE OF BAMBOOS
-1F013 ; [*1094.0020.0002.1F013] # MAHJONG TILE FOUR OF BAMBOOS
-1F014 ; [*1095.0020.0002.1F014] # MAHJONG TILE FIVE OF BAMBOOS
-1F015 ; [*1096.0020.0002.1F015] # MAHJONG TILE SIX OF BAMBOOS
-1F016 ; [*1097.0020.0002.1F016] # MAHJONG TILE SEVEN OF BAMBOOS
-1F017 ; [*1098.0020.0002.1F017] # MAHJONG TILE EIGHT OF BAMBOOS
-1F018 ; [*1099.0020.0002.1F018] # MAHJONG TILE NINE OF BAMBOOS
-1F019 ; [*109A.0020.0002.1F019] # MAHJONG TILE ONE OF CIRCLES
-1F01A ; [*109B.0020.0002.1F01A] # MAHJONG TILE TWO OF CIRCLES
-1F01B ; [*109C.0020.0002.1F01B] # MAHJONG TILE THREE OF CIRCLES
-1F01C ; [*109D.0020.0002.1F01C] # MAHJONG TILE FOUR OF CIRCLES
-1F01D ; [*109E.0020.0002.1F01D] # MAHJONG TILE FIVE OF CIRCLES
-1F01E ; [*109F.0020.0002.1F01E] # MAHJONG TILE SIX OF CIRCLES
-1F01F ; [*10A0.0020.0002.1F01F] # MAHJONG TILE SEVEN OF CIRCLES
-1F020 ; [*10A1.0020.0002.1F020] # MAHJONG TILE EIGHT OF CIRCLES
-1F021 ; [*10A2.0020.0002.1F021] # MAHJONG TILE NINE OF CIRCLES
-1F022 ; [*10A3.0020.0002.1F022] # MAHJONG TILE PLUM
-1F023 ; [*10A4.0020.0002.1F023] # MAHJONG TILE ORCHID
-1F024 ; [*10A5.0020.0002.1F024] # MAHJONG TILE BAMBOO
-1F025 ; [*10A6.0020.0002.1F025] # MAHJONG TILE CHRYSANTHEMUM
-1F026 ; [*10A7.0020.0002.1F026] # MAHJONG TILE SPRING
-1F027 ; [*10A8.0020.0002.1F027] # MAHJONG TILE SUMMER
-1F028 ; [*10A9.0020.0002.1F028] # MAHJONG TILE AUTUMN
-1F029 ; [*10AA.0020.0002.1F029] # MAHJONG TILE WINTER
-1F02A ; [*10AB.0020.0002.1F02A] # MAHJONG TILE JOKER
-1F02B ; [*10AC.0020.0002.1F02B] # MAHJONG TILE BACK
-1F030 ; [*10AD.0020.0002.1F030] # DOMINO TILE HORIZONTAL BACK
-1F031 ; [*10AE.0020.0002.1F031] # DOMINO TILE HORIZONTAL-00-00
-1F032 ; [*10AF.0020.0002.1F032] # DOMINO TILE HORIZONTAL-00-01
-1F033 ; [*10B0.0020.0002.1F033] # DOMINO TILE HORIZONTAL-00-02
-1F034 ; [*10B1.0020.0002.1F034] # DOMINO TILE HORIZONTAL-00-03
-1F035 ; [*10B2.0020.0002.1F035] # DOMINO TILE HORIZONTAL-00-04
-1F036 ; [*10B3.0020.0002.1F036] # DOMINO TILE HORIZONTAL-00-05
-1F037 ; [*10B4.0020.0002.1F037] # DOMINO TILE HORIZONTAL-00-06
-1F038 ; [*10B5.0020.0002.1F038] # DOMINO TILE HORIZONTAL-01-00
-1F039 ; [*10B6.0020.0002.1F039] # DOMINO TILE HORIZONTAL-01-01
-1F03A ; [*10B7.0020.0002.1F03A] # DOMINO TILE HORIZONTAL-01-02
-1F03B ; [*10B8.0020.0002.1F03B] # DOMINO TILE HORIZONTAL-01-03
-1F03C ; [*10B9.0020.0002.1F03C] # DOMINO TILE HORIZONTAL-01-04
-1F03D ; [*10BA.0020.0002.1F03D] # DOMINO TILE HORIZONTAL-01-05
-1F03E ; [*10BB.0020.0002.1F03E] # DOMINO TILE HORIZONTAL-01-06
-1F03F ; [*10BC.0020.0002.1F03F] # DOMINO TILE HORIZONTAL-02-00
-1F040 ; [*10BD.0020.0002.1F040] # DOMINO TILE HORIZONTAL-02-01
-1F041 ; [*10BE.0020.0002.1F041] # DOMINO TILE HORIZONTAL-02-02
-1F042 ; [*10BF.0020.0002.1F042] # DOMINO TILE HORIZONTAL-02-03
-1F043 ; [*10C0.0020.0002.1F043] # DOMINO TILE HORIZONTAL-02-04
-1F044 ; [*10C1.0020.0002.1F044] # DOMINO TILE HORIZONTAL-02-05
-1F045 ; [*10C2.0020.0002.1F045] # DOMINO TILE HORIZONTAL-02-06
-1F046 ; [*10C3.0020.0002.1F046] # DOMINO TILE HORIZONTAL-03-00
-1F047 ; [*10C4.0020.0002.1F047] # DOMINO TILE HORIZONTAL-03-01
-1F048 ; [*10C5.0020.0002.1F048] # DOMINO TILE HORIZONTAL-03-02
-1F049 ; [*10C6.0020.0002.1F049] # DOMINO TILE HORIZONTAL-03-03
-1F04A ; [*10C7.0020.0002.1F04A] # DOMINO TILE HORIZONTAL-03-04
-1F04B ; [*10C8.0020.0002.1F04B] # DOMINO TILE HORIZONTAL-03-05
-1F04C ; [*10C9.0020.0002.1F04C] # DOMINO TILE HORIZONTAL-03-06
-1F04D ; [*10CA.0020.0002.1F04D] # DOMINO TILE HORIZONTAL-04-00
-1F04E ; [*10CB.0020.0002.1F04E] # DOMINO TILE HORIZONTAL-04-01
-1F04F ; [*10CC.0020.0002.1F04F] # DOMINO TILE HORIZONTAL-04-02
-1F050 ; [*10CD.0020.0002.1F050] # DOMINO TILE HORIZONTAL-04-03
-1F051 ; [*10CE.0020.0002.1F051] # DOMINO TILE HORIZONTAL-04-04
-1F052 ; [*10CF.0020.0002.1F052] # DOMINO TILE HORIZONTAL-04-05
-1F053 ; [*10D0.0020.0002.1F053] # DOMINO TILE HORIZONTAL-04-06
-1F054 ; [*10D1.0020.0002.1F054] # DOMINO TILE HORIZONTAL-05-00
-1F055 ; [*10D2.0020.0002.1F055] # DOMINO TILE HORIZONTAL-05-01
-1F056 ; [*10D3.0020.0002.1F056] # DOMINO TILE HORIZONTAL-05-02
-1F057 ; [*10D4.0020.0002.1F057] # DOMINO TILE HORIZONTAL-05-03
-1F058 ; [*10D5.0020.0002.1F058] # DOMINO TILE HORIZONTAL-05-04
-1F059 ; [*10D6.0020.0002.1F059] # DOMINO TILE HORIZONTAL-05-05
-1F05A ; [*10D7.0020.0002.1F05A] # DOMINO TILE HORIZONTAL-05-06
-1F05B ; [*10D8.0020.0002.1F05B] # DOMINO TILE HORIZONTAL-06-00
-1F05C ; [*10D9.0020.0002.1F05C] # DOMINO TILE HORIZONTAL-06-01
-1F05D ; [*10DA.0020.0002.1F05D] # DOMINO TILE HORIZONTAL-06-02
-1F05E ; [*10DB.0020.0002.1F05E] # DOMINO TILE HORIZONTAL-06-03
-1F05F ; [*10DC.0020.0002.1F05F] # DOMINO TILE HORIZONTAL-06-04
-1F060 ; [*10DD.0020.0002.1F060] # DOMINO TILE HORIZONTAL-06-05
-1F061 ; [*10DE.0020.0002.1F061] # DOMINO TILE HORIZONTAL-06-06
-1F062 ; [*10DF.0020.0002.1F062] # DOMINO TILE VERTICAL BACK
-1F063 ; [*10E0.0020.0002.1F063] # DOMINO TILE VERTICAL-00-00
-1F064 ; [*10E1.0020.0002.1F064] # DOMINO TILE VERTICAL-00-01
-1F065 ; [*10E2.0020.0002.1F065] # DOMINO TILE VERTICAL-00-02
-1F066 ; [*10E3.0020.0002.1F066] # DOMINO TILE VERTICAL-00-03
-1F067 ; [*10E4.0020.0002.1F067] # DOMINO TILE VERTICAL-00-04
-1F068 ; [*10E5.0020.0002.1F068] # DOMINO TILE VERTICAL-00-05
-1F069 ; [*10E6.0020.0002.1F069] # DOMINO TILE VERTICAL-00-06
-1F06A ; [*10E7.0020.0002.1F06A] # DOMINO TILE VERTICAL-01-00
-1F06B ; [*10E8.0020.0002.1F06B] # DOMINO TILE VERTICAL-01-01
-1F06C ; [*10E9.0020.0002.1F06C] # DOMINO TILE VERTICAL-01-02
-1F06D ; [*10EA.0020.0002.1F06D] # DOMINO TILE VERTICAL-01-03
-1F06E ; [*10EB.0020.0002.1F06E] # DOMINO TILE VERTICAL-01-04
-1F06F ; [*10EC.0020.0002.1F06F] # DOMINO TILE VERTICAL-01-05
-1F070 ; [*10ED.0020.0002.1F070] # DOMINO TILE VERTICAL-01-06
-1F071 ; [*10EE.0020.0002.1F071] # DOMINO TILE VERTICAL-02-00
-1F072 ; [*10EF.0020.0002.1F072] # DOMINO TILE VERTICAL-02-01
-1F073 ; [*10F0.0020.0002.1F073] # DOMINO TILE VERTICAL-02-02
-1F074 ; [*10F1.0020.0002.1F074] # DOMINO TILE VERTICAL-02-03
-1F075 ; [*10F2.0020.0002.1F075] # DOMINO TILE VERTICAL-02-04
-1F076 ; [*10F3.0020.0002.1F076] # DOMINO TILE VERTICAL-02-05
-1F077 ; [*10F4.0020.0002.1F077] # DOMINO TILE VERTICAL-02-06
-1F078 ; [*10F5.0020.0002.1F078] # DOMINO TILE VERTICAL-03-00
-1F079 ; [*10F6.0020.0002.1F079] # DOMINO TILE VERTICAL-03-01
-1F07A ; [*10F7.0020.0002.1F07A] # DOMINO TILE VERTICAL-03-02
-1F07B ; [*10F8.0020.0002.1F07B] # DOMINO TILE VERTICAL-03-03
-1F07C ; [*10F9.0020.0002.1F07C] # DOMINO TILE VERTICAL-03-04
-1F07D ; [*10FA.0020.0002.1F07D] # DOMINO TILE VERTICAL-03-05
-1F07E ; [*10FB.0020.0002.1F07E] # DOMINO TILE VERTICAL-03-06
-1F07F ; [*10FC.0020.0002.1F07F] # DOMINO TILE VERTICAL-04-00
-1F080 ; [*10FD.0020.0002.1F080] # DOMINO TILE VERTICAL-04-01
-1F081 ; [*10FE.0020.0002.1F081] # DOMINO TILE VERTICAL-04-02
-1F082 ; [*10FF.0020.0002.1F082] # DOMINO TILE VERTICAL-04-03
-1F083 ; [*1100.0020.0002.1F083] # DOMINO TILE VERTICAL-04-04
-1F084 ; [*1101.0020.0002.1F084] # DOMINO TILE VERTICAL-04-05
-1F085 ; [*1102.0020.0002.1F085] # DOMINO TILE VERTICAL-04-06
-1F086 ; [*1103.0020.0002.1F086] # DOMINO TILE VERTICAL-05-00
-1F087 ; [*1104.0020.0002.1F087] # DOMINO TILE VERTICAL-05-01
-1F088 ; [*1105.0020.0002.1F088] # DOMINO TILE VERTICAL-05-02
-1F089 ; [*1106.0020.0002.1F089] # DOMINO TILE VERTICAL-05-03
-1F08A ; [*1107.0020.0002.1F08A] # DOMINO TILE VERTICAL-05-04
-1F08B ; [*1108.0020.0002.1F08B] # DOMINO TILE VERTICAL-05-05
-1F08C ; [*1109.0020.0002.1F08C] # DOMINO TILE VERTICAL-05-06
-1F08D ; [*110A.0020.0002.1F08D] # DOMINO TILE VERTICAL-06-00
-1F08E ; [*110B.0020.0002.1F08E] # DOMINO TILE VERTICAL-06-01
-1F08F ; [*110C.0020.0002.1F08F] # DOMINO TILE VERTICAL-06-02
-1F090 ; [*110D.0020.0002.1F090] # DOMINO TILE VERTICAL-06-03
-1F091 ; [*110E.0020.0002.1F091] # DOMINO TILE VERTICAL-06-04
-1F092 ; [*110F.0020.0002.1F092] # DOMINO TILE VERTICAL-06-05
-1F093 ; [*1110.0020.0002.1F093] # DOMINO TILE VERTICAL-06-06
-1F0A0 ; [*1111.0020.0002.1F0A0] # PLAYING CARD BACK
-1F0A1 ; [*1112.0020.0002.1F0A1] # PLAYING CARD ACE OF SPADES
-1F0A2 ; [*1113.0020.0002.1F0A2] # PLAYING CARD TWO OF SPADES
-1F0A3 ; [*1114.0020.0002.1F0A3] # PLAYING CARD THREE OF SPADES
-1F0A4 ; [*1115.0020.0002.1F0A4] # PLAYING CARD FOUR OF SPADES
-1F0A5 ; [*1116.0020.0002.1F0A5] # PLAYING CARD FIVE OF SPADES
-1F0A6 ; [*1117.0020.0002.1F0A6] # PLAYING CARD SIX OF SPADES
-1F0A7 ; [*1118.0020.0002.1F0A7] # PLAYING CARD SEVEN OF SPADES
-1F0A8 ; [*1119.0020.0002.1F0A8] # PLAYING CARD EIGHT OF SPADES
-1F0A9 ; [*111A.0020.0002.1F0A9] # PLAYING CARD NINE OF SPADES
-1F0AA ; [*111B.0020.0002.1F0AA] # PLAYING CARD TEN OF SPADES
-1F0AB ; [*111C.0020.0002.1F0AB] # PLAYING CARD JACK OF SPADES
-1F0AC ; [*111D.0020.0002.1F0AC] # PLAYING CARD KNIGHT OF SPADES
-1F0AD ; [*111E.0020.0002.1F0AD] # PLAYING CARD QUEEN OF SPADES
-1F0AE ; [*111F.0020.0002.1F0AE] # PLAYING CARD KING OF SPADES
-1F0B1 ; [*1120.0020.0002.1F0B1] # PLAYING CARD ACE OF HEARTS
-1F0B2 ; [*1121.0020.0002.1F0B2] # PLAYING CARD TWO OF HEARTS
-1F0B3 ; [*1122.0020.0002.1F0B3] # PLAYING CARD THREE OF HEARTS
-1F0B4 ; [*1123.0020.0002.1F0B4] # PLAYING CARD FOUR OF HEARTS
-1F0B5 ; [*1124.0020.0002.1F0B5] # PLAYING CARD FIVE OF HEARTS
-1F0B6 ; [*1125.0020.0002.1F0B6] # PLAYING CARD SIX OF HEARTS
-1F0B7 ; [*1126.0020.0002.1F0B7] # PLAYING CARD SEVEN OF HEARTS
-1F0B8 ; [*1127.0020.0002.1F0B8] # PLAYING CARD EIGHT OF HEARTS
-1F0B9 ; [*1128.0020.0002.1F0B9] # PLAYING CARD NINE OF HEARTS
-1F0BA ; [*1129.0020.0002.1F0BA] # PLAYING CARD TEN OF HEARTS
-1F0BB ; [*112A.0020.0002.1F0BB] # PLAYING CARD JACK OF HEARTS
-1F0BC ; [*112B.0020.0002.1F0BC] # PLAYING CARD KNIGHT OF HEARTS
-1F0BD ; [*112C.0020.0002.1F0BD] # PLAYING CARD QUEEN OF HEARTS
-1F0BE ; [*112D.0020.0002.1F0BE] # PLAYING CARD KING OF HEARTS
-1F0C1 ; [*112E.0020.0002.1F0C1] # PLAYING CARD ACE OF DIAMONDS
-1F0C2 ; [*112F.0020.0002.1F0C2] # PLAYING CARD TWO OF DIAMONDS
-1F0C3 ; [*1130.0020.0002.1F0C3] # PLAYING CARD THREE OF DIAMONDS
-1F0C4 ; [*1131.0020.0002.1F0C4] # PLAYING CARD FOUR OF DIAMONDS
-1F0C5 ; [*1132.0020.0002.1F0C5] # PLAYING CARD FIVE OF DIAMONDS
-1F0C6 ; [*1133.0020.0002.1F0C6] # PLAYING CARD SIX OF DIAMONDS
-1F0C7 ; [*1134.0020.0002.1F0C7] # PLAYING CARD SEVEN OF DIAMONDS
-1F0C8 ; [*1135.0020.0002.1F0C8] # PLAYING CARD EIGHT OF DIAMONDS
-1F0C9 ; [*1136.0020.0002.1F0C9] # PLAYING CARD NINE OF DIAMONDS
-1F0CA ; [*1137.0020.0002.1F0CA] # PLAYING CARD TEN OF DIAMONDS
-1F0CB ; [*1138.0020.0002.1F0CB] # PLAYING CARD JACK OF DIAMONDS
-1F0CC ; [*1139.0020.0002.1F0CC] # PLAYING CARD KNIGHT OF DIAMONDS
-1F0CD ; [*113A.0020.0002.1F0CD] # PLAYING CARD QUEEN OF DIAMONDS
-1F0CE ; [*113B.0020.0002.1F0CE] # PLAYING CARD KING OF DIAMONDS
-1F0CF ; [*113C.0020.0002.1F0CF] # PLAYING CARD BLACK JOKER
-1F0D1 ; [*113D.0020.0002.1F0D1] # PLAYING CARD ACE OF CLUBS
-1F0D2 ; [*113E.0020.0002.1F0D2] # PLAYING CARD TWO OF CLUBS
-1F0D3 ; [*113F.0020.0002.1F0D3] # PLAYING CARD THREE OF CLUBS
-1F0D4 ; [*1140.0020.0002.1F0D4] # PLAYING CARD FOUR OF CLUBS
-1F0D5 ; [*1141.0020.0002.1F0D5] # PLAYING CARD FIVE OF CLUBS
-1F0D6 ; [*1142.0020.0002.1F0D6] # PLAYING CARD SIX OF CLUBS
-1F0D7 ; [*1143.0020.0002.1F0D7] # PLAYING CARD SEVEN OF CLUBS
-1F0D8 ; [*1144.0020.0002.1F0D8] # PLAYING CARD EIGHT OF CLUBS
-1F0D9 ; [*1145.0020.0002.1F0D9] # PLAYING CARD NINE OF CLUBS
-1F0DA ; [*1146.0020.0002.1F0DA] # PLAYING CARD TEN OF CLUBS
-1F0DB ; [*1147.0020.0002.1F0DB] # PLAYING CARD JACK OF CLUBS
-1F0DC ; [*1148.0020.0002.1F0DC] # PLAYING CARD KNIGHT OF CLUBS
-1F0DD ; [*1149.0020.0002.1F0DD] # PLAYING CARD QUEEN OF CLUBS
-1F0DE ; [*114A.0020.0002.1F0DE] # PLAYING CARD KING OF CLUBS
-1F0DF ; [*114B.0020.0002.1F0DF] # PLAYING CARD WHITE JOKER
-1F300 ; [*114C.0020.0002.1F300] # CYCLONE
-1F301 ; [*114D.0020.0002.1F301] # FOGGY
-1F302 ; [*114E.0020.0002.1F302] # CLOSED UMBRELLA
-1F303 ; [*114F.0020.0002.1F303] # NIGHT WITH STARS
-1F304 ; [*1150.0020.0002.1F304] # SUNRISE OVER MOUNTAINS
-1F305 ; [*1151.0020.0002.1F305] # SUNRISE
-1F306 ; [*1152.0020.0002.1F306] # CITYSCAPE AT DUSK
-1F307 ; [*1153.0020.0002.1F307] # SUNSET OVER BUILDINGS
-1F308 ; [*1154.0020.0002.1F308] # RAINBOW
-1F309 ; [*1155.0020.0002.1F309] # BRIDGE AT NIGHT
-1F30A ; [*1156.0020.0002.1F30A] # WATER WAVE
-1F30B ; [*1157.0020.0002.1F30B] # VOLCANO
-1F30C ; [*1158.0020.0002.1F30C] # MILKY WAY
-1F30D ; [*1159.0020.0002.1F30D] # EARTH GLOBE EUROPE-AFRICA
-1F30E ; [*115A.0020.0002.1F30E] # EARTH GLOBE AMERICAS
-1F30F ; [*115B.0020.0002.1F30F] # EARTH GLOBE ASIA-AUSTRALIA
-1F310 ; [*115C.0020.0002.1F310] # GLOBE WITH MERIDIANS
-1F311 ; [*115D.0020.0002.1F311] # NEW MOON SYMBOL
-1F312 ; [*115E.0020.0002.1F312] # WAXING CRESCENT MOON SYMBOL
-1F313 ; [*115F.0020.0002.1F313] # FIRST QUARTER MOON SYMBOL
-1F314 ; [*1160.0020.0002.1F314] # WAXING GIBBOUS MOON SYMBOL
-1F315 ; [*1161.0020.0002.1F315] # FULL MOON SYMBOL
-1F316 ; [*1162.0020.0002.1F316] # WANING GIBBOUS MOON SYMBOL
-1F317 ; [*1163.0020.0002.1F317] # LAST QUARTER MOON SYMBOL
-1F318 ; [*1164.0020.0002.1F318] # WANING CRESCENT MOON SYMBOL
-1F319 ; [*1165.0020.0002.1F319] # CRESCENT MOON
-1F31A ; [*1166.0020.0002.1F31A] # NEW MOON WITH FACE
-1F31B ; [*1167.0020.0002.1F31B] # FIRST QUARTER MOON WITH FACE
-1F31C ; [*1168.0020.0002.1F31C] # LAST QUARTER MOON WITH FACE
-1F31D ; [*1169.0020.0002.1F31D] # FULL MOON WITH FACE
-1F31E ; [*116A.0020.0002.1F31E] # SUN WITH FACE
-1F31F ; [*116B.0020.0002.1F31F] # GLOWING STAR
-1F320 ; [*116C.0020.0002.1F320] # SHOOTING STAR
-1F330 ; [*116D.0020.0002.1F330] # CHESTNUT
-1F331 ; [*116E.0020.0002.1F331] # SEEDLING
-1F332 ; [*116F.0020.0002.1F332] # EVERGREEN TREE
-1F333 ; [*1170.0020.0002.1F333] # DECIDUOUS TREE
-1F334 ; [*1171.0020.0002.1F334] # PALM TREE
-1F335 ; [*1172.0020.0002.1F335] # CACTUS
-1F337 ; [*1173.0020.0002.1F337] # TULIP
-1F338 ; [*1174.0020.0002.1F338] # CHERRY BLOSSOM
-1F339 ; [*1175.0020.0002.1F339] # ROSE
-1F33A ; [*1176.0020.0002.1F33A] # HIBISCUS
-1F33B ; [*1177.0020.0002.1F33B] # SUNFLOWER
-1F33C ; [*1178.0020.0002.1F33C] # BLOSSOM
-1F33D ; [*1179.0020.0002.1F33D] # EAR OF MAIZE
-1F33E ; [*117A.0020.0002.1F33E] # EAR OF RICE
-1F33F ; [*117B.0020.0002.1F33F] # HERB
-1F340 ; [*117C.0020.0002.1F340] # FOUR LEAF CLOVER
-1F341 ; [*117D.0020.0002.1F341] # MAPLE LEAF
-1F342 ; [*117E.0020.0002.1F342] # FALLEN LEAF
-1F343 ; [*117F.0020.0002.1F343] # LEAF FLUTTERING IN WIND
-1F344 ; [*1180.0020.0002.1F344] # MUSHROOM
-1F345 ; [*1181.0020.0002.1F345] # TOMATO
-1F346 ; [*1182.0020.0002.1F346] # AUBERGINE
-1F347 ; [*1183.0020.0002.1F347] # GRAPES
-1F348 ; [*1184.0020.0002.1F348] # MELON
-1F349 ; [*1185.0020.0002.1F349] # WATERMELON
-1F34A ; [*1186.0020.0002.1F34A] # TANGERINE
-1F34B ; [*1187.0020.0002.1F34B] # LEMON
-1F34C ; [*1188.0020.0002.1F34C] # BANANA
-1F34D ; [*1189.0020.0002.1F34D] # PINEAPPLE
-1F34E ; [*118A.0020.0002.1F34E] # RED APPLE
-1F34F ; [*118B.0020.0002.1F34F] # GREEN APPLE
-1F350 ; [*118C.0020.0002.1F350] # PEAR
-1F351 ; [*118D.0020.0002.1F351] # PEACH
-1F352 ; [*118E.0020.0002.1F352] # CHERRIES
-1F353 ; [*118F.0020.0002.1F353] # STRAWBERRY
-1F354 ; [*1190.0020.0002.1F354] # HAMBURGER
-1F355 ; [*1191.0020.0002.1F355] # SLICE OF PIZZA
-1F356 ; [*1192.0020.0002.1F356] # MEAT ON BONE
-1F357 ; [*1193.0020.0002.1F357] # POULTRY LEG
-1F358 ; [*1194.0020.0002.1F358] # RICE CRACKER
-1F359 ; [*1195.0020.0002.1F359] # RICE BALL
-1F35A ; [*1196.0020.0002.1F35A] # COOKED RICE
-1F35B ; [*1197.0020.0002.1F35B] # CURRY AND RICE
-1F35C ; [*1198.0020.0002.1F35C] # STEAMING BOWL
-1F35D ; [*1199.0020.0002.1F35D] # SPAGHETTI
-1F35E ; [*119A.0020.0002.1F35E] # BREAD
-1F35F ; [*119B.0020.0002.1F35F] # FRENCH FRIES
-1F360 ; [*119C.0020.0002.1F360] # ROASTED SWEET POTATO
-1F361 ; [*119D.0020.0002.1F361] # DANGO
-1F362 ; [*119E.0020.0002.1F362] # ODEN
-1F363 ; [*119F.0020.0002.1F363] # SUSHI
-1F364 ; [*11A0.0020.0002.1F364] # FRIED SHRIMP
-1F365 ; [*11A1.0020.0002.1F365] # FISH CAKE WITH SWIRL DESIGN
-1F366 ; [*11A2.0020.0002.1F366] # SOFT ICE CREAM
-1F367 ; [*11A3.0020.0002.1F367] # SHAVED ICE
-1F368 ; [*11A4.0020.0002.1F368] # ICE CREAM
-1F369 ; [*11A5.0020.0002.1F369] # DOUGHNUT
-1F36A ; [*11A6.0020.0002.1F36A] # COOKIE
-1F36B ; [*11A7.0020.0002.1F36B] # CHOCOLATE BAR
-1F36C ; [*11A8.0020.0002.1F36C] # CANDY
-1F36D ; [*11A9.0020.0002.1F36D] # LOLLIPOP
-1F36E ; [*11AA.0020.0002.1F36E] # CUSTARD
-1F36F ; [*11AB.0020.0002.1F36F] # HONEY POT
-1F370 ; [*11AC.0020.0002.1F370] # SHORTCAKE
-1F371 ; [*11AD.0020.0002.1F371] # BENTO BOX
-1F372 ; [*11AE.0020.0002.1F372] # POT OF FOOD
-1F373 ; [*11AF.0020.0002.1F373] # COOKING
-1F374 ; [*11B0.0020.0002.1F374] # FORK AND KNIFE
-1F375 ; [*11B1.0020.0002.1F375] # TEACUP WITHOUT HANDLE
-1F376 ; [*11B2.0020.0002.1F376] # SAKE BOTTLE AND CUP
-1F377 ; [*11B3.0020.0002.1F377] # WINE GLASS
-1F378 ; [*11B4.0020.0002.1F378] # COCKTAIL GLASS
-1F379 ; [*11B5.0020.0002.1F379] # TROPICAL DRINK
-1F37A ; [*11B6.0020.0002.1F37A] # BEER MUG
-1F37B ; [*11B7.0020.0002.1F37B] # CLINKING BEER MUGS
-1F37C ; [*11B8.0020.0002.1F37C] # BABY BOTTLE
-1F380 ; [*11B9.0020.0002.1F380] # RIBBON
-1F381 ; [*11BA.0020.0002.1F381] # WRAPPED PRESENT
-1F382 ; [*11BB.0020.0002.1F382] # BIRTHDAY CAKE
-1F383 ; [*11BC.0020.0002.1F383] # JACK-O-LANTERN
-1F384 ; [*11BD.0020.0002.1F384] # CHRISTMAS TREE
-1F385 ; [*11BE.0020.0002.1F385] # FATHER CHRISTMAS
-1F386 ; [*11BF.0020.0002.1F386] # FIREWORKS
-1F387 ; [*11C0.0020.0002.1F387] # FIREWORK SPARKLER
-1F388 ; [*11C1.0020.0002.1F388] # BALLOON
-1F389 ; [*11C2.0020.0002.1F389] # PARTY POPPER
-1F38A ; [*11C3.0020.0002.1F38A] # CONFETTI BALL
-1F38B ; [*11C4.0020.0002.1F38B] # TANABATA TREE
-1F38C ; [*11C5.0020.0002.1F38C] # CROSSED FLAGS
-1F38D ; [*11C6.0020.0002.1F38D] # PINE DECORATION
-1F38E ; [*11C7.0020.0002.1F38E] # JAPANESE DOLLS
-1F38F ; [*11C8.0020.0002.1F38F] # CARP STREAMER
-1F390 ; [*11C9.0020.0002.1F390] # WIND CHIME
-1F391 ; [*11CA.0020.0002.1F391] # MOON VIEWING CEREMONY
-1F392 ; [*11CB.0020.0002.1F392] # SCHOOL SATCHEL
-1F393 ; [*11CC.0020.0002.1F393] # GRADUATION CAP
-1F3A0 ; [*11CD.0020.0002.1F3A0] # CAROUSEL HORSE
-1F3A1 ; [*11CE.0020.0002.1F3A1] # FERRIS WHEEL
-1F3A2 ; [*11CF.0020.0002.1F3A2] # ROLLER COASTER
-1F3A3 ; [*11D0.0020.0002.1F3A3] # FISHING POLE AND FISH
-1F3A4 ; [*11D1.0020.0002.1F3A4] # MICROPHONE
-1F3A5 ; [*11D2.0020.0002.1F3A5] # MOVIE CAMERA
-1F3A6 ; [*11D3.0020.0002.1F3A6] # CINEMA
-1F3A7 ; [*11D4.0020.0002.1F3A7] # HEADPHONE
-1F3A8 ; [*11D5.0020.0002.1F3A8] # ARTIST PALETTE
-1F3A9 ; [*11D6.0020.0002.1F3A9] # TOP HAT
-1F3AA ; [*11D7.0020.0002.1F3AA] # CIRCUS TENT
-1F3AB ; [*11D8.0020.0002.1F3AB] # TICKET
-1F3AC ; [*11D9.0020.0002.1F3AC] # CLAPPER BOARD
-1F3AD ; [*11DA.0020.0002.1F3AD] # PERFORMING ARTS
-1F3AE ; [*11DB.0020.0002.1F3AE] # VIDEO GAME
-1F3AF ; [*11DC.0020.0002.1F3AF] # DIRECT HIT
-1F3B0 ; [*11DD.0020.0002.1F3B0] # SLOT MACHINE
-1F3B1 ; [*11DE.0020.0002.1F3B1] # BILLIARDS
-1F3B2 ; [*11DF.0020.0002.1F3B2] # GAME DIE
-1F3B3 ; [*11E0.0020.0002.1F3B3] # BOWLING
-1F3B4 ; [*11E1.0020.0002.1F3B4] # FLOWER PLAYING CARDS
-1F3B5 ; [*11E2.0020.0002.1F3B5] # MUSICAL NOTE
-1F3B6 ; [*11E3.0020.0002.1F3B6] # MULTIPLE MUSICAL NOTES
-1F3B7 ; [*11E4.0020.0002.1F3B7] # SAXOPHONE
-1F3B8 ; [*11E5.0020.0002.1F3B8] # GUITAR
-1F3B9 ; [*11E6.0020.0002.1F3B9] # MUSICAL KEYBOARD
-1F3BA ; [*11E7.0020.0002.1F3BA] # TRUMPET
-1F3BB ; [*11E8.0020.0002.1F3BB] # VIOLIN
-1F3BC ; [*11E9.0020.0002.1F3BC] # MUSICAL SCORE
-1F3BD ; [*11EA.0020.0002.1F3BD] # RUNNING SHIRT WITH SASH
-1F3BE ; [*11EB.0020.0002.1F3BE] # TENNIS RACQUET AND BALL
-1F3BF ; [*11EC.0020.0002.1F3BF] # SKI AND SKI BOOT
-1F3C0 ; [*11ED.0020.0002.1F3C0] # BASKETBALL AND HOOP
-1F3C1 ; [*11EE.0020.0002.1F3C1] # CHEQUERED FLAG
-1F3C2 ; [*11EF.0020.0002.1F3C2] # SNOWBOARDER
-1F3C3 ; [*11F0.0020.0002.1F3C3] # RUNNER
-1F3C4 ; [*11F1.0020.0002.1F3C4] # SURFER
-1F3C6 ; [*11F2.0020.0002.1F3C6] # TROPHY
-1F3C7 ; [*11F3.0020.0002.1F3C7] # HORSE RACING
-1F3C8 ; [*11F4.0020.0002.1F3C8] # AMERICAN FOOTBALL
-1F3C9 ; [*11F5.0020.0002.1F3C9] # RUGBY FOOTBALL
-1F3CA ; [*11F6.0020.0002.1F3CA] # SWIMMER
-1F3E0 ; [*11F7.0020.0002.1F3E0] # HOUSE BUILDING
-1F3E1 ; [*11F8.0020.0002.1F3E1] # HOUSE WITH GARDEN
-1F3E2 ; [*11F9.0020.0002.1F3E2] # OFFICE BUILDING
-1F3E3 ; [*11FA.0020.0002.1F3E3] # JAPANESE POST OFFICE
-1F3E4 ; [*11FB.0020.0002.1F3E4] # EUROPEAN POST OFFICE
-1F3E5 ; [*11FC.0020.0002.1F3E5] # HOSPITAL
-1F3E6 ; [*11FD.0020.0002.1F3E6] # BANK
-1F3E7 ; [*11FE.0020.0002.1F3E7] # AUTOMATED TELLER MACHINE
-1F3E8 ; [*11FF.0020.0002.1F3E8] # HOTEL
-1F3E9 ; [*1200.0020.0002.1F3E9] # LOVE HOTEL
-1F3EA ; [*1201.0020.0002.1F3EA] # CONVENIENCE STORE
-1F3EB ; [*1202.0020.0002.1F3EB] # SCHOOL
-1F3EC ; [*1203.0020.0002.1F3EC] # DEPARTMENT STORE
-1F3ED ; [*1204.0020.0002.1F3ED] # FACTORY
-1F3EE ; [*1205.0020.0002.1F3EE] # IZAKAYA LANTERN
-1F3EF ; [*1206.0020.0002.1F3EF] # JAPANESE CASTLE
-1F3F0 ; [*1207.0020.0002.1F3F0] # EUROPEAN CASTLE
-1F400 ; [*1208.0020.0002.1F400] # RAT
-1F401 ; [*1209.0020.0002.1F401] # MOUSE
-1F402 ; [*120A.0020.0002.1F402] # OX
-1F403 ; [*120B.0020.0002.1F403] # WATER BUFFALO
-1F404 ; [*120C.0020.0002.1F404] # COW
-1F405 ; [*120D.0020.0002.1F405] # TIGER
-1F406 ; [*120E.0020.0002.1F406] # LEOPARD
-1F407 ; [*120F.0020.0002.1F407] # RABBIT
-1F408 ; [*1210.0020.0002.1F408] # CAT
-1F409 ; [*1211.0020.0002.1F409] # DRAGON
-1F40A ; [*1212.0020.0002.1F40A] # CROCODILE
-1F40B ; [*1213.0020.0002.1F40B] # WHALE
-1F40C ; [*1214.0020.0002.1F40C] # SNAIL
-1F40D ; [*1215.0020.0002.1F40D] # SNAKE
-1F40E ; [*1216.0020.0002.1F40E] # HORSE
-1F40F ; [*1217.0020.0002.1F40F] # RAM
-1F410 ; [*1218.0020.0002.1F410] # GOAT
-1F411 ; [*1219.0020.0002.1F411] # SHEEP
-1F412 ; [*121A.0020.0002.1F412] # MONKEY
-1F413 ; [*121B.0020.0002.1F413] # ROOSTER
-1F414 ; [*121C.0020.0002.1F414] # CHICKEN
-1F415 ; [*121D.0020.0002.1F415] # DOG
-1F416 ; [*121E.0020.0002.1F416] # PIG
-1F417 ; [*121F.0020.0002.1F417] # BOAR
-1F418 ; [*1220.0020.0002.1F418] # ELEPHANT
-1F419 ; [*1221.0020.0002.1F419] # OCTOPUS
-1F41A ; [*1222.0020.0002.1F41A] # SPIRAL SHELL
-1F41B ; [*1223.0020.0002.1F41B] # BUG
-1F41C ; [*1224.0020.0002.1F41C] # ANT
-1F41D ; [*1225.0020.0002.1F41D] # HONEYBEE
-1F41E ; [*1226.0020.0002.1F41E] # LADY BEETLE
-1F41F ; [*1227.0020.0002.1F41F] # FISH
-1F420 ; [*1228.0020.0002.1F420] # TROPICAL FISH
-1F421 ; [*1229.0020.0002.1F421] # BLOWFISH
-1F422 ; [*122A.0020.0002.1F422] # TURTLE
-1F423 ; [*122B.0020.0002.1F423] # HATCHING CHICK
-1F424 ; [*122C.0020.0002.1F424] # BABY CHICK
-1F425 ; [*122D.0020.0002.1F425] # FRONT-FACING BABY CHICK
-1F426 ; [*122E.0020.0002.1F426] # BIRD
-1F427 ; [*122F.0020.0002.1F427] # PENGUIN
-1F428 ; [*1230.0020.0002.1F428] # KOALA
-1F429 ; [*1231.0020.0002.1F429] # POODLE
-1F42A ; [*1232.0020.0002.1F42A] # DROMEDARY CAMEL
-1F42B ; [*1233.0020.0002.1F42B] # BACTRIAN CAMEL
-1F42C ; [*1234.0020.0002.1F42C] # DOLPHIN
-1F42D ; [*1235.0020.0002.1F42D] # MOUSE FACE
-1F42E ; [*1236.0020.0002.1F42E] # COW FACE
-1F42F ; [*1237.0020.0002.1F42F] # TIGER FACE
-1F430 ; [*1238.0020.0002.1F430] # RABBIT FACE
-1F431 ; [*1239.0020.0002.1F431] # CAT FACE
-1F432 ; [*123A.0020.0002.1F432] # DRAGON FACE
-1F433 ; [*123B.0020.0002.1F433] # SPOUTING WHALE
-1F434 ; [*123C.0020.0002.1F434] # HORSE FACE
-1F435 ; [*123D.0020.0002.1F435] # MONKEY FACE
-1F436 ; [*123E.0020.0002.1F436] # DOG FACE
-1F437 ; [*123F.0020.0002.1F437] # PIG FACE
-1F438 ; [*1240.0020.0002.1F438] # FROG FACE
-1F439 ; [*1241.0020.0002.1F439] # HAMSTER FACE
-1F43A ; [*1242.0020.0002.1F43A] # WOLF FACE
-1F43B ; [*1243.0020.0002.1F43B] # BEAR FACE
-1F43C ; [*1244.0020.0002.1F43C] # PANDA FACE
-1F43D ; [*1245.0020.0002.1F43D] # PIG NOSE
-1F43E ; [*1246.0020.0002.1F43E] # PAW PRINTS
-1F440 ; [*1247.0020.0002.1F440] # EYES
-1F442 ; [*1248.0020.0002.1F442] # EAR
-1F443 ; [*1249.0020.0002.1F443] # NOSE
-1F444 ; [*124A.0020.0002.1F444] # MOUTH
-1F445 ; [*124B.0020.0002.1F445] # TONGUE
-1F446 ; [*124C.0020.0002.1F446] # WHITE UP POINTING BACKHAND INDEX
-1F447 ; [*124D.0020.0002.1F447] # WHITE DOWN POINTING BACKHAND INDEX
-1F448 ; [*124E.0020.0002.1F448] # WHITE LEFT POINTING BACKHAND INDEX
-1F449 ; [*124F.0020.0002.1F449] # WHITE RIGHT POINTING BACKHAND INDEX
-1F44A ; [*1250.0020.0002.1F44A] # FISTED HAND SIGN
-1F44B ; [*1251.0020.0002.1F44B] # WAVING HAND SIGN
-1F44C ; [*1252.0020.0002.1F44C] # OK HAND SIGN
-1F44D ; [*1253.0020.0002.1F44D] # THUMBS UP SIGN
-1F44E ; [*1254.0020.0002.1F44E] # THUMBS DOWN SIGN
-1F44F ; [*1255.0020.0002.1F44F] # CLAPPING HANDS SIGN
-1F450 ; [*1256.0020.0002.1F450] # OPEN HANDS SIGN
-1F451 ; [*1257.0020.0002.1F451] # CROWN
-1F452 ; [*1258.0020.0002.1F452] # WOMANS HAT
-1F453 ; [*1259.0020.0002.1F453] # EYEGLASSES
-1F454 ; [*125A.0020.0002.1F454] # NECKTIE
-1F455 ; [*125B.0020.0002.1F455] # T-SHIRT
-1F456 ; [*125C.0020.0002.1F456] # JEANS
-1F457 ; [*125D.0020.0002.1F457] # DRESS
-1F458 ; [*125E.0020.0002.1F458] # KIMONO
-1F459 ; [*125F.0020.0002.1F459] # BIKINI
-1F45A ; [*1260.0020.0002.1F45A] # WOMANS CLOTHES
-1F45B ; [*1261.0020.0002.1F45B] # PURSE
-1F45C ; [*1262.0020.0002.1F45C] # HANDBAG
-1F45D ; [*1263.0020.0002.1F45D] # POUCH
-1F45E ; [*1264.0020.0002.1F45E] # MANS SHOE
-1F45F ; [*1265.0020.0002.1F45F] # ATHLETIC SHOE
-1F460 ; [*1266.0020.0002.1F460] # HIGH-HEELED SHOE
-1F461 ; [*1267.0020.0002.1F461] # WOMANS SANDAL
-1F462 ; [*1268.0020.0002.1F462] # WOMANS BOOTS
-1F463 ; [*1269.0020.0002.1F463] # FOOTPRINTS
-1F464 ; [*126A.0020.0002.1F464] # BUST IN SILHOUETTE
-1F465 ; [*126B.0020.0002.1F465] # BUSTS IN SILHOUETTE
-1F466 ; [*126C.0020.0002.1F466] # BOY
-1F467 ; [*126D.0020.0002.1F467] # GIRL
-1F468 ; [*126E.0020.0002.1F468] # MAN
-1F469 ; [*126F.0020.0002.1F469] # WOMAN
-1F46A ; [*1270.0020.0002.1F46A] # FAMILY
-1F46B ; [*1271.0020.0002.1F46B] # MAN AND WOMAN HOLDING HANDS
-1F46C ; [*1272.0020.0002.1F46C] # TWO MEN HOLDING HANDS
-1F46D ; [*1273.0020.0002.1F46D] # TWO WOMEN HOLDING HANDS
-1F46E ; [*1274.0020.0002.1F46E] # POLICE OFFICER
-1F46F ; [*1275.0020.0002.1F46F] # WOMAN WITH BUNNY EARS
-1F470 ; [*1276.0020.0002.1F470] # BRIDE WITH VEIL
-1F471 ; [*1277.0020.0002.1F471] # PERSON WITH BLOND HAIR
-1F472 ; [*1278.0020.0002.1F472] # MAN WITH GUA PI MAO
-1F473 ; [*1279.0020.0002.1F473] # MAN WITH TURBAN
-1F474 ; [*127A.0020.0002.1F474] # OLDER MAN
-1F475 ; [*127B.0020.0002.1F475] # OLDER WOMAN
-1F476 ; [*127C.0020.0002.1F476] # BABY
-1F477 ; [*127D.0020.0002.1F477] # CONSTRUCTION WORKER
-1F478 ; [*127E.0020.0002.1F478] # PRINCESS
-1F479 ; [*127F.0020.0002.1F479] # JAPANESE OGRE
-1F47A ; [*1280.0020.0002.1F47A] # JAPANESE GOBLIN
-1F47B ; [*1281.0020.0002.1F47B] # GHOST
-1F47C ; [*1282.0020.0002.1F47C] # BABY ANGEL
-1F47D ; [*1283.0020.0002.1F47D] # EXTRATERRESTRIAL ALIEN
-1F47E ; [*1284.0020.0002.1F47E] # ALIEN MONSTER
-1F47F ; [*1285.0020.0002.1F47F] # IMP
-1F480 ; [*1286.0020.0002.1F480] # SKULL
-1F481 ; [*1287.0020.0002.1F481] # INFORMATION DESK PERSON
-1F482 ; [*1288.0020.0002.1F482] # GUARDSMAN
-1F483 ; [*1289.0020.0002.1F483] # DANCER
-1F484 ; [*128A.0020.0002.1F484] # LIPSTICK
-1F485 ; [*128B.0020.0002.1F485] # NAIL POLISH
-1F486 ; [*128C.0020.0002.1F486] # FACE MASSAGE
-1F487 ; [*128D.0020.0002.1F487] # HAIRCUT
-1F488 ; [*128E.0020.0002.1F488] # BARBER POLE
-1F489 ; [*128F.0020.0002.1F489] # SYRINGE
-1F48A ; [*1290.0020.0002.1F48A] # PILL
-1F48B ; [*1291.0020.0002.1F48B] # KISS MARK
-1F48C ; [*1292.0020.0002.1F48C] # LOVE LETTER
-1F48D ; [*1293.0020.0002.1F48D] # RING
-1F48E ; [*1294.0020.0002.1F48E] # GEM STONE
-1F48F ; [*1295.0020.0002.1F48F] # KISS
-1F490 ; [*1296.0020.0002.1F490] # BOUQUET
-1F491 ; [*1297.0020.0002.1F491] # COUPLE WITH HEART
-1F492 ; [*1298.0020.0002.1F492] # WEDDING
-1F493 ; [*1299.0020.0002.1F493] # BEATING HEART
-1F494 ; [*129A.0020.0002.1F494] # BROKEN HEART
-1F495 ; [*129B.0020.0002.1F495] # TWO HEARTS
-1F496 ; [*129C.0020.0002.1F496] # SPARKLING HEART
-1F497 ; [*129D.0020.0002.1F497] # GROWING HEART
-1F498 ; [*129E.0020.0002.1F498] # HEART WITH ARROW
-1F499 ; [*129F.0020.0002.1F499] # BLUE HEART
-1F49A ; [*12A0.0020.0002.1F49A] # GREEN HEART
-1F49B ; [*12A1.0020.0002.1F49B] # YELLOW HEART
-1F49C ; [*12A2.0020.0002.1F49C] # PURPLE HEART
-1F49D ; [*12A3.0020.0002.1F49D] # HEART WITH RIBBON
-1F49E ; [*12A4.0020.0002.1F49E] # REVOLVING HEARTS
-1F49F ; [*12A5.0020.0002.1F49F] # HEART DECORATION
-1F4A0 ; [*12A6.0020.0002.1F4A0] # DIAMOND SHAPE WITH A DOT INSIDE
-1F4A1 ; [*12A7.0020.0002.1F4A1] # ELECTRIC LIGHT BULB
-1F4A2 ; [*12A8.0020.0002.1F4A2] # ANGER SYMBOL
-1F4A3 ; [*12A9.0020.0002.1F4A3] # BOMB
-1F4A4 ; [*12AA.0020.0002.1F4A4] # SLEEPING SYMBOL
-1F4A5 ; [*12AB.0020.0002.1F4A5] # COLLISION SYMBOL
-1F4A6 ; [*12AC.0020.0002.1F4A6] # SPLASHING SWEAT SYMBOL
-1F4A7 ; [*12AD.0020.0002.1F4A7] # DROPLET
-1F4A8 ; [*12AE.0020.0002.1F4A8] # DASH SYMBOL
-1F4A9 ; [*12AF.0020.0002.1F4A9] # PILE OF POO
-1F4AA ; [*12B0.0020.0002.1F4AA] # FLEXED BICEPS
-1F4AB ; [*12B1.0020.0002.1F4AB] # DIZZY SYMBOL
-1F4AC ; [*12B2.0020.0002.1F4AC] # SPEECH BALLOON
-1F4AD ; [*12B3.0020.0002.1F4AD] # THOUGHT BALLOON
-1F4AE ; [*12B4.0020.0002.1F4AE] # WHITE FLOWER
-1F4AF ; [*12B5.0020.0002.1F4AF] # HUNDRED POINTS SYMBOL
-1F4B0 ; [*12B6.0020.0002.1F4B0] # MONEY BAG
-1F4B1 ; [*12B7.0020.0002.1F4B1] # CURRENCY EXCHANGE
-1F4B2 ; [*12B8.0020.0002.1F4B2] # HEAVY DOLLAR SIGN
-1F4B3 ; [*12B9.0020.0002.1F4B3] # CREDIT CARD
-1F4B4 ; [*12BA.0020.0002.1F4B4] # BANKNOTE WITH YEN SIGN
-1F4B5 ; [*12BB.0020.0002.1F4B5] # BANKNOTE WITH DOLLAR SIGN
-1F4B6 ; [*12BC.0020.0002.1F4B6] # BANKNOTE WITH EURO SIGN
-1F4B7 ; [*12BD.0020.0002.1F4B7] # BANKNOTE WITH POUND SIGN
-1F4B8 ; [*12BE.0020.0002.1F4B8] # MONEY WITH WINGS
-1F4B9 ; [*12BF.0020.0002.1F4B9] # CHART WITH UPWARDS TREND AND YEN SIGN
-1F4BA ; [*12C0.0020.0002.1F4BA] # SEAT
-1F4BB ; [*12C1.0020.0002.1F4BB] # PERSONAL COMPUTER
-1F4BC ; [*12C2.0020.0002.1F4BC] # BRIEFCASE
-1F4BD ; [*12C3.0020.0002.1F4BD] # MINIDISC
-1F4BE ; [*12C4.0020.0002.1F4BE] # FLOPPY DISK
-1F4BF ; [*12C5.0020.0002.1F4BF] # OPTICAL DISC
-1F4C0 ; [*12C6.0020.0002.1F4C0] # DVD
-1F4C1 ; [*12C7.0020.0002.1F4C1] # FILE FOLDER
-1F4C2 ; [*12C8.0020.0002.1F4C2] # OPEN FILE FOLDER
-1F4C3 ; [*12C9.0020.0002.1F4C3] # PAGE WITH CURL
-1F4C4 ; [*12CA.0020.0002.1F4C4] # PAGE FACING UP
-1F4C5 ; [*12CB.0020.0002.1F4C5] # CALENDAR
-1F4C6 ; [*12CC.0020.0002.1F4C6] # TEAR-OFF CALENDAR
-1F4C7 ; [*12CD.0020.0002.1F4C7] # CARD INDEX
-1F4C8 ; [*12CE.0020.0002.1F4C8] # CHART WITH UPWARDS TREND
-1F4C9 ; [*12CF.0020.0002.1F4C9] # CHART WITH DOWNWARDS TREND
-1F4CA ; [*12D0.0020.0002.1F4CA] # BAR CHART
-1F4CB ; [*12D1.0020.0002.1F4CB] # CLIPBOARD
-1F4CC ; [*12D2.0020.0002.1F4CC] # PUSHPIN
-1F4CD ; [*12D3.0020.0002.1F4CD] # ROUND PUSHPIN
-1F4CE ; [*12D4.0020.0002.1F4CE] # PAPERCLIP
-1F4CF ; [*12D5.0020.0002.1F4CF] # STRAIGHT RULER
-1F4D0 ; [*12D6.0020.0002.1F4D0] # TRIANGULAR RULER
-1F4D1 ; [*12D7.0020.0002.1F4D1] # BOOKMARK TABS
-1F4D2 ; [*12D8.0020.0002.1F4D2] # LEDGER
-1F4D3 ; [*12D9.0020.0002.1F4D3] # NOTEBOOK
-1F4D4 ; [*12DA.0020.0002.1F4D4] # NOTEBOOK WITH DECORATIVE COVER
-1F4D5 ; [*12DB.0020.0002.1F4D5] # CLOSED BOOK
-1F4D6 ; [*12DC.0020.0002.1F4D6] # OPEN BOOK
-1F4D7 ; [*12DD.0020.0002.1F4D7] # GREEN BOOK
-1F4D8 ; [*12DE.0020.0002.1F4D8] # BLUE BOOK
-1F4D9 ; [*12DF.0020.0002.1F4D9] # ORANGE BOOK
-1F4DA ; [*12E0.0020.0002.1F4DA] # BOOKS
-1F4DB ; [*12E1.0020.0002.1F4DB] # NAME BADGE
-1F4DC ; [*12E2.0020.0002.1F4DC] # SCROLL
-1F4DD ; [*12E3.0020.0002.1F4DD] # MEMO
-1F4DE ; [*12E4.0020.0002.1F4DE] # TELEPHONE RECEIVER
-1F4DF ; [*12E5.0020.0002.1F4DF] # PAGER
-1F4E0 ; [*12E6.0020.0002.1F4E0] # FAX MACHINE
-1F4E1 ; [*12E7.0020.0002.1F4E1] # SATELLITE ANTENNA
-1F4E2 ; [*12E8.0020.0002.1F4E2] # PUBLIC ADDRESS LOUDSPEAKER
-1F4E3 ; [*12E9.0020.0002.1F4E3] # CHEERING MEGAPHONE
-1F4E4 ; [*12EA.0020.0002.1F4E4] # OUTBOX TRAY
-1F4E5 ; [*12EB.0020.0002.1F4E5] # INBOX TRAY
-1F4E6 ; [*12EC.0020.0002.1F4E6] # PACKAGE
-1F4E7 ; [*12ED.0020.0002.1F4E7] # E-MAIL SYMBOL
-1F4E8 ; [*12EE.0020.0002.1F4E8] # INCOMING ENVELOPE
-1F4E9 ; [*12EF.0020.0002.1F4E9] # ENVELOPE WITH DOWNWARDS ARROW ABOVE
-1F4EA ; [*12F0.0020.0002.1F4EA] # CLOSED MAILBOX WITH LOWERED FLAG
-1F4EB ; [*12F1.0020.0002.1F4EB] # CLOSED MAILBOX WITH RAISED FLAG
-1F4EC ; [*12F2.0020.0002.1F4EC] # OPEN MAILBOX WITH RAISED FLAG
-1F4ED ; [*12F3.0020.0002.1F4ED] # OPEN MAILBOX WITH LOWERED FLAG
-1F4EE ; [*12F4.0020.0002.1F4EE] # POSTBOX
-1F4EF ; [*12F5.0020.0002.1F4EF] # POSTAL HORN
-1F4F0 ; [*12F6.0020.0002.1F4F0] # NEWSPAPER
-1F4F1 ; [*12F7.0020.0002.1F4F1] # MOBILE PHONE
-1F4F2 ; [*12F8.0020.0002.1F4F2] # MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT
-1F4F3 ; [*12F9.0020.0002.1F4F3] # VIBRATION MODE
-1F4F4 ; [*12FA.0020.0002.1F4F4] # MOBILE PHONE OFF
-1F4F5 ; [*12FB.0020.0002.1F4F5] # NO MOBILE PHONES
-1F4F6 ; [*12FC.0020.0002.1F4F6] # ANTENNA WITH BARS
-1F4F7 ; [*12FD.0020.0002.1F4F7] # CAMERA
-1F4F9 ; [*12FE.0020.0002.1F4F9] # VIDEO CAMERA
-1F4FA ; [*12FF.0020.0002.1F4FA] # TELEVISION
-1F4FB ; [*1300.0020.0002.1F4FB] # RADIO
-1F4FC ; [*1301.0020.0002.1F4FC] # VIDEOCASSETTE
-1F500 ; [*1302.0020.0002.1F500] # TWISTED RIGHTWARDS ARROWS
-1F501 ; [*1303.0020.0002.1F501] # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS
-1F502 ; [*1304.0020.0002.1F502] # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY
-1F503 ; [*1305.0020.0002.1F503] # CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
-1F504 ; [*1306.0020.0002.1F504] # ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
-1F505 ; [*1307.0020.0002.1F505] # LOW BRIGHTNESS SYMBOL
-1F506 ; [*1308.0020.0002.1F506] # HIGH BRIGHTNESS SYMBOL
-1F507 ; [*1309.0020.0002.1F507] # SPEAKER WITH CANCELLATION STROKE
-1F508 ; [*130A.0020.0002.1F508] # SPEAKER
-1F509 ; [*130B.0020.0002.1F509] # SPEAKER WITH ONE SOUND WAVE
-1F50A ; [*130C.0020.0002.1F50A] # SPEAKER WITH THREE SOUND WAVES
-1F50B ; [*130D.0020.0002.1F50B] # BATTERY
-1F50C ; [*130E.0020.0002.1F50C] # ELECTRIC PLUG
-1F50D ; [*130F.0020.0002.1F50D] # LEFT-POINTING MAGNIFYING GLASS
-1F50E ; [*1310.0020.0002.1F50E] # RIGHT-POINTING MAGNIFYING GLASS
-1F50F ; [*1311.0020.0002.1F50F] # LOCK WITH INK PEN
-1F510 ; [*1312.0020.0002.1F510] # CLOSED LOCK WITH KEY
-1F511 ; [*1313.0020.0002.1F511] # KEY
-1F512 ; [*1314.0020.0002.1F512] # LOCK
-1F513 ; [*1315.0020.0002.1F513] # OPEN LOCK
-1F514 ; [*1316.0020.0002.1F514] # BELL
-1F515 ; [*1317.0020.0002.1F515] # BELL WITH CANCELLATION STROKE
-1F516 ; [*1318.0020.0002.1F516] # BOOKMARK
-1F517 ; [*1319.0020.0002.1F517] # LINK SYMBOL
-1F518 ; [*131A.0020.0002.1F518] # RADIO BUTTON
-1F519 ; [*131B.0020.0002.1F519] # BACK WITH LEFTWARDS ARROW ABOVE
-1F51A ; [*131C.0020.0002.1F51A] # END WITH LEFTWARDS ARROW ABOVE
-1F51B ; [*131D.0020.0002.1F51B] # ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE
-1F51C ; [*131E.0020.0002.1F51C] # SOON WITH RIGHTWARDS ARROW ABOVE
-1F51D ; [*131F.0020.0002.1F51D] # TOP WITH UPWARDS ARROW ABOVE
-1F51E ; [*1320.0020.0002.1F51E] # NO ONE UNDER EIGHTEEN SYMBOL
-1F51F ; [*1321.0020.0002.1F51F] # KEYCAP TEN
-1F520 ; [*1322.0020.0002.1F520] # INPUT SYMBOL FOR LATIN CAPITAL LETTERS
-1F521 ; [*1323.0020.0002.1F521] # INPUT SYMBOL FOR LATIN SMALL LETTERS
-1F522 ; [*1324.0020.0002.1F522] # INPUT SYMBOL FOR NUMBERS
-1F523 ; [*1325.0020.0002.1F523] # INPUT SYMBOL FOR SYMBOLS
-1F524 ; [*1326.0020.0002.1F524] # INPUT SYMBOL FOR LATIN LETTERS
-1F525 ; [*1327.0020.0002.1F525] # FIRE
-1F526 ; [*1328.0020.0002.1F526] # ELECTRIC TORCH
-1F527 ; [*1329.0020.0002.1F527] # WRENCH
-1F528 ; [*132A.0020.0002.1F528] # HAMMER
-1F529 ; [*132B.0020.0002.1F529] # NUT AND BOLT
-1F52A ; [*132C.0020.0002.1F52A] # HOCHO
-1F52B ; [*132D.0020.0002.1F52B] # PISTOL
-1F52C ; [*132E.0020.0002.1F52C] # MICROSCOPE
-1F52D ; [*132F.0020.0002.1F52D] # TELESCOPE
-1F52E ; [*1330.0020.0002.1F52E] # CRYSTAL BALL
-1F52F ; [*1331.0020.0002.1F52F] # SIX POINTED STAR WITH MIDDLE DOT
-1F530 ; [*1332.0020.0002.1F530] # JAPANESE SYMBOL FOR BEGINNER
-1F531 ; [*1333.0020.0002.1F531] # TRIDENT EMBLEM
-1F532 ; [*1334.0020.0002.1F532] # BLACK SQUARE BUTTON
-1F533 ; [*1335.0020.0002.1F533] # WHITE SQUARE BUTTON
-1F534 ; [*1336.0020.0002.1F534] # LARGE RED CIRCLE
-1F535 ; [*1337.0020.0002.1F535] # LARGE BLUE CIRCLE
-1F536 ; [*1338.0020.0002.1F536] # LARGE ORANGE DIAMOND
-1F537 ; [*1339.0020.0002.1F537] # LARGE BLUE DIAMOND
-1F538 ; [*133A.0020.0002.1F538] # SMALL ORANGE DIAMOND
-1F539 ; [*133B.0020.0002.1F539] # SMALL BLUE DIAMOND
-1F53A ; [*133C.0020.0002.1F53A] # UP-POINTING RED TRIANGLE
-1F53B ; [*133D.0020.0002.1F53B] # DOWN-POINTING RED TRIANGLE
-1F53C ; [*133E.0020.0002.1F53C] # UP-POINTING SMALL RED TRIANGLE
-1F53D ; [*133F.0020.0002.1F53D] # DOWN-POINTING SMALL RED TRIANGLE
-1F550 ; [*1340.0020.0002.1F550] # CLOCK FACE ONE OCLOCK
-1F551 ; [*1341.0020.0002.1F551] # CLOCK FACE TWO OCLOCK
-1F552 ; [*1342.0020.0002.1F552] # CLOCK FACE THREE OCLOCK
-1F553 ; [*1343.0020.0002.1F553] # CLOCK FACE FOUR OCLOCK
-1F554 ; [*1344.0020.0002.1F554] # CLOCK FACE FIVE OCLOCK
-1F555 ; [*1345.0020.0002.1F555] # CLOCK FACE SIX OCLOCK
-1F556 ; [*1346.0020.0002.1F556] # CLOCK FACE SEVEN OCLOCK
-1F557 ; [*1347.0020.0002.1F557] # CLOCK FACE EIGHT OCLOCK
-1F558 ; [*1348.0020.0002.1F558] # CLOCK FACE NINE OCLOCK
-1F559 ; [*1349.0020.0002.1F559] # CLOCK FACE TEN OCLOCK
-1F55A ; [*134A.0020.0002.1F55A] # CLOCK FACE ELEVEN OCLOCK
-1F55B ; [*134B.0020.0002.1F55B] # CLOCK FACE TWELVE OCLOCK
-1F55C ; [*134C.0020.0002.1F55C] # CLOCK FACE ONE-THIRTY
-1F55D ; [*134D.0020.0002.1F55D] # CLOCK FACE TWO-THIRTY
-1F55E ; [*134E.0020.0002.1F55E] # CLOCK FACE THREE-THIRTY
-1F55F ; [*134F.0020.0002.1F55F] # CLOCK FACE FOUR-THIRTY
-1F560 ; [*1350.0020.0002.1F560] # CLOCK FACE FIVE-THIRTY
-1F561 ; [*1351.0020.0002.1F561] # CLOCK FACE SIX-THIRTY
-1F562 ; [*1352.0020.0002.1F562] # CLOCK FACE SEVEN-THIRTY
-1F563 ; [*1353.0020.0002.1F563] # CLOCK FACE EIGHT-THIRTY
-1F564 ; [*1354.0020.0002.1F564] # CLOCK FACE NINE-THIRTY
-1F565 ; [*1355.0020.0002.1F565] # CLOCK FACE TEN-THIRTY
-1F566 ; [*1356.0020.0002.1F566] # CLOCK FACE ELEVEN-THIRTY
-1F567 ; [*1357.0020.0002.1F567] # CLOCK FACE TWELVE-THIRTY
-1F5FB ; [*1358.0020.0002.1F5FB] # MOUNT FUJI
-1F5FC ; [*1359.0020.0002.1F5FC] # TOKYO TOWER
-1F5FD ; [*135A.0020.0002.1F5FD] # STATUE OF LIBERTY
-1F5FE ; [*135B.0020.0002.1F5FE] # SILHOUETTE OF JAPAN
-1F5FF ; [*135C.0020.0002.1F5FF] # MOYAI
-1F601 ; [*135D.0020.0002.1F601] # GRINNING FACE WITH SMILING EYES
-1F602 ; [*135E.0020.0002.1F602] # FACE WITH TEARS OF JOY
-1F603 ; [*135F.0020.0002.1F603] # SMILING FACE WITH OPEN MOUTH
-1F604 ; [*1360.0020.0002.1F604] # SMILING FACE WITH OPEN MOUTH AND SMILING EYES
-1F605 ; [*1361.0020.0002.1F605] # SMILING FACE WITH OPEN MOUTH AND COLD SWEAT
-1F606 ; [*1362.0020.0002.1F606] # SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES
-1F607 ; [*1363.0020.0002.1F607] # SMILING FACE WITH HALO
-1F608 ; [*1364.0020.0002.1F608] # SMILING FACE WITH HORNS
-1F609 ; [*1365.0020.0002.1F609] # WINKING FACE
-1F60A ; [*1366.0020.0002.1F60A] # SMILING FACE WITH SMILING EYES
-1F60B ; [*1367.0020.0002.1F60B] # FACE SAVOURING DELICIOUS FOOD
-1F60C ; [*1368.0020.0002.1F60C] # RELIEVED FACE
-1F60D ; [*1369.0020.0002.1F60D] # SMILING FACE WITH HEART-SHAPED EYES
-1F60E ; [*136A.0020.0002.1F60E] # SMILING FACE WITH SUNGLASSES
-1F60F ; [*136B.0020.0002.1F60F] # SMIRKING FACE
-1F610 ; [*136C.0020.0002.1F610] # NEUTRAL FACE
-1F612 ; [*136D.0020.0002.1F612] # UNAMUSED FACE
-1F613 ; [*136E.0020.0002.1F613] # FACE WITH COLD SWEAT
-1F614 ; [*136F.0020.0002.1F614] # PENSIVE FACE
-1F616 ; [*1370.0020.0002.1F616] # CONFOUNDED FACE
-1F618 ; [*1371.0020.0002.1F618] # FACE THROWING A KISS
-1F61A ; [*1372.0020.0002.1F61A] # KISSING FACE WITH CLOSED EYES
-1F61C ; [*1373.0020.0002.1F61C] # FACE WITH STUCK-OUT TONGUE AND WINKING EYE
-1F61D ; [*1374.0020.0002.1F61D] # FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES
-1F61E ; [*1375.0020.0002.1F61E] # DISAPPOINTED FACE
-1F620 ; [*1376.0020.0002.1F620] # ANGRY FACE
-1F621 ; [*1377.0020.0002.1F621] # POUTING FACE
-1F622 ; [*1378.0020.0002.1F622] # CRYING FACE
-1F623 ; [*1379.0020.0002.1F623] # PERSEVERING FACE
-1F624 ; [*137A.0020.0002.1F624] # FACE WITH LOOK OF TRIUMPH
-1F625 ; [*137B.0020.0002.1F625] # DISAPPOINTED BUT RELIEVED FACE
-1F628 ; [*137C.0020.0002.1F628] # FEARFUL FACE
-1F629 ; [*137D.0020.0002.1F629] # WEARY FACE
-1F62A ; [*137E.0020.0002.1F62A] # SLEEPY FACE
-1F62B ; [*137F.0020.0002.1F62B] # TIRED FACE
-1F62D ; [*1380.0020.0002.1F62D] # LOUDLY CRYING FACE
-1F630 ; [*1381.0020.0002.1F630] # FACE WITH OPEN MOUTH AND COLD SWEAT
-1F631 ; [*1382.0020.0002.1F631] # FACE SCREAMING IN FEAR
-1F632 ; [*1383.0020.0002.1F632] # ASTONISHED FACE
-1F633 ; [*1384.0020.0002.1F633] # FLUSHED FACE
-1F635 ; [*1385.0020.0002.1F635] # DIZZY FACE
-1F636 ; [*1386.0020.0002.1F636] # FACE WITHOUT MOUTH
-1F637 ; [*1387.0020.0002.1F637] # FACE WITH MEDICAL MASK
-1F638 ; [*1388.0020.0002.1F638] # GRINNING CAT FACE WITH SMILING EYES
-1F639 ; [*1389.0020.0002.1F639] # CAT FACE WITH TEARS OF JOY
-1F63A ; [*138A.0020.0002.1F63A] # SMILING CAT FACE WITH OPEN MOUTH
-1F63B ; [*138B.0020.0002.1F63B] # SMILING CAT FACE WITH HEART-SHAPED EYES
-1F63C ; [*138C.0020.0002.1F63C] # CAT FACE WITH WRY SMILE
-1F63D ; [*138D.0020.0002.1F63D] # KISSING CAT FACE WITH CLOSED EYES
-1F63E ; [*138E.0020.0002.1F63E] # POUTING CAT FACE
-1F63F ; [*138F.0020.0002.1F63F] # CRYING CAT FACE
-1F640 ; [*1390.0020.0002.1F640] # WEARY CAT FACE
-1F645 ; [*1391.0020.0002.1F645] # FACE WITH NO GOOD GESTURE
-1F646 ; [*1392.0020.0002.1F646] # FACE WITH OK GESTURE
-1F647 ; [*1393.0020.0002.1F647] # PERSON BOWING DEEPLY
-1F648 ; [*1394.0020.0002.1F648] # SEE-NO-EVIL MONKEY
-1F649 ; [*1395.0020.0002.1F649] # HEAR-NO-EVIL MONKEY
-1F64A ; [*1396.0020.0002.1F64A] # SPEAK-NO-EVIL MONKEY
-1F64B ; [*1397.0020.0002.1F64B] # HAPPY PERSON RAISING ONE HAND
-1F64C ; [*1398.0020.0002.1F64C] # PERSON RAISING BOTH HANDS IN CELEBRATION
-1F64D ; [*1399.0020.0002.1F64D] # PERSON FROWNING
-1F64E ; [*139A.0020.0002.1F64E] # PERSON WITH POUTING FACE
-1F64F ; [*139B.0020.0002.1F64F] # PERSON WITH FOLDED HANDS
-1F680 ; [*139C.0020.0002.1F680] # ROCKET
-1F681 ; [*139D.0020.0002.1F681] # HELICOPTER
-1F682 ; [*139E.0020.0002.1F682] # STEAM LOCOMOTIVE
-1F683 ; [*139F.0020.0002.1F683] # RAILWAY CAR
-1F684 ; [*13A0.0020.0002.1F684] # HIGH-SPEED TRAIN
-1F685 ; [*13A1.0020.0002.1F685] # HIGH-SPEED TRAIN WITH BULLET NOSE
-1F686 ; [*13A2.0020.0002.1F686] # TRAIN
-1F687 ; [*13A3.0020.0002.1F687] # METRO
-1F688 ; [*13A4.0020.0002.1F688] # LIGHT RAIL
-1F689 ; [*13A5.0020.0002.1F689] # STATION
-1F68A ; [*13A6.0020.0002.1F68A] # TRAM
-1F68B ; [*13A7.0020.0002.1F68B] # TRAM CAR
-1F68C ; [*13A8.0020.0002.1F68C] # BUS
-1F68D ; [*13A9.0020.0002.1F68D] # ONCOMING BUS
-1F68E ; [*13AA.0020.0002.1F68E] # TROLLEYBUS
-1F68F ; [*13AB.0020.0002.1F68F] # BUS STOP
-1F690 ; [*13AC.0020.0002.1F690] # MINIBUS
-1F691 ; [*13AD.0020.0002.1F691] # AMBULANCE
-1F692 ; [*13AE.0020.0002.1F692] # FIRE ENGINE
-1F693 ; [*13AF.0020.0002.1F693] # POLICE CAR
-1F694 ; [*13B0.0020.0002.1F694] # ONCOMING POLICE CAR
-1F695 ; [*13B1.0020.0002.1F695] # TAXI
-1F696 ; [*13B2.0020.0002.1F696] # ONCOMING TAXI
-1F697 ; [*13B3.0020.0002.1F697] # AUTOMOBILE
-1F698 ; [*13B4.0020.0002.1F698] # ONCOMING AUTOMOBILE
-1F699 ; [*13B5.0020.0002.1F699] # RECREATIONAL VEHICLE
-1F69A ; [*13B6.0020.0002.1F69A] # DELIVERY TRUCK
-1F69B ; [*13B7.0020.0002.1F69B] # ARTICULATED LORRY
-1F69C ; [*13B8.0020.0002.1F69C] # TRACTOR
-1F69D ; [*13B9.0020.0002.1F69D] # MONORAIL
-1F69E ; [*13BA.0020.0002.1F69E] # MOUNTAIN RAILWAY
-1F69F ; [*13BB.0020.0002.1F69F] # SUSPENSION RAILWAY
-1F6A0 ; [*13BC.0020.0002.1F6A0] # MOUNTAIN CABLEWAY
-1F6A1 ; [*13BD.0020.0002.1F6A1] # AERIAL TRAMWAY
-1F6A2 ; [*13BE.0020.0002.1F6A2] # SHIP
-1F6A3 ; [*13BF.0020.0002.1F6A3] # ROWBOAT
-1F6A4 ; [*13C0.0020.0002.1F6A4] # SPEEDBOAT
-1F6A5 ; [*13C1.0020.0002.1F6A5] # HORIZONTAL TRAFFIC LIGHT
-1F6A6 ; [*13C2.0020.0002.1F6A6] # VERTICAL TRAFFIC LIGHT
-1F6A7 ; [*13C3.0020.0002.1F6A7] # CONSTRUCTION SIGN
-1F6A8 ; [*13C4.0020.0002.1F6A8] # POLICE CARS REVOLVING LIGHT
-1F6A9 ; [*13C5.0020.0002.1F6A9] # TRIANGULAR FLAG ON POST
-1F6AA ; [*13C6.0020.0002.1F6AA] # DOOR
-1F6AB ; [*13C7.0020.0002.1F6AB] # NO ENTRY SIGN
-1F6AC ; [*13C8.0020.0002.1F6AC] # SMOKING SYMBOL
-1F6AD ; [*13C9.0020.0002.1F6AD] # NO SMOKING SYMBOL
-1F6AE ; [*13CA.0020.0002.1F6AE] # PUT LITTER IN ITS PLACE SYMBOL
-1F6AF ; [*13CB.0020.0002.1F6AF] # DO NOT LITTER SYMBOL
-1F6B0 ; [*13CC.0020.0002.1F6B0] # POTABLE WATER SYMBOL
-1F6B1 ; [*13CD.0020.0002.1F6B1] # NON-POTABLE WATER SYMBOL
-1F6B2 ; [*13CE.0020.0002.1F6B2] # BICYCLE
-1F6B3 ; [*13CF.0020.0002.1F6B3] # NO BICYCLES
-1F6B4 ; [*13D0.0020.0002.1F6B4] # BICYCLIST
-1F6B5 ; [*13D1.0020.0002.1F6B5] # MOUNTAIN BICYCLIST
-1F6B6 ; [*13D2.0020.0002.1F6B6] # PEDESTRIAN
-1F6B7 ; [*13D3.0020.0002.1F6B7] # NO PEDESTRIANS
-1F6B8 ; [*13D4.0020.0002.1F6B8] # CHILDREN CROSSING
-1F6B9 ; [*13D5.0020.0002.1F6B9] # MENS SYMBOL
-1F6BA ; [*13D6.0020.0002.1F6BA] # WOMENS SYMBOL
-1F6BB ; [*13D7.0020.0002.1F6BB] # RESTROOM
-1F6BC ; [*13D8.0020.0002.1F6BC] # BABY SYMBOL
-1F6BD ; [*13D9.0020.0002.1F6BD] # TOILET
-1F6BE ; [*13DA.0020.0002.1F6BE] # WATER CLOSET
-1F6BF ; [*13DB.0020.0002.1F6BF] # SHOWER
-1F6C0 ; [*13DC.0020.0002.1F6C0] # BATH
-1F6C1 ; [*13DD.0020.0002.1F6C1] # BATHTUB
-1F6C2 ; [*13DE.0020.0002.1F6C2] # PASSPORT CONTROL
-1F6C3 ; [*13DF.0020.0002.1F6C3] # CUSTOMS
-1F6C4 ; [*13E0.0020.0002.1F6C4] # BAGGAGE CLAIM
-1F6C5 ; [*13E1.0020.0002.1F6C5] # LEFT LUGGAGE
-1F700 ; [*13E2.0020.0002.1F700] # ALCHEMICAL SYMBOL FOR QUINTESSENCE
-1F701 ; [*13E3.0020.0002.1F701] # ALCHEMICAL SYMBOL FOR AIR
-1F702 ; [*13E4.0020.0002.1F702] # ALCHEMICAL SYMBOL FOR FIRE
-1F703 ; [*13E5.0020.0002.1F703] # ALCHEMICAL SYMBOL FOR EARTH
-1F704 ; [*13E6.0020.0002.1F704] # ALCHEMICAL SYMBOL FOR WATER
-1F705 ; [*13E7.0020.0002.1F705] # ALCHEMICAL SYMBOL FOR AQUAFORTIS
-1F706 ; [*13E8.0020.0002.1F706] # ALCHEMICAL SYMBOL FOR AQUA REGIA
-1F707 ; [*13E9.0020.0002.1F707] # ALCHEMICAL SYMBOL FOR AQUA REGIA-2
-1F708 ; [*13EA.0020.0002.1F708] # ALCHEMICAL SYMBOL FOR AQUA VITAE
-1F709 ; [*13EB.0020.0002.1F709] # ALCHEMICAL SYMBOL FOR AQUA VITAE-2
-1F70A ; [*13EC.0020.0002.1F70A] # ALCHEMICAL SYMBOL FOR VINEGAR
-1F70B ; [*13ED.0020.0002.1F70B] # ALCHEMICAL SYMBOL FOR VINEGAR-2
-1F70C ; [*13EE.0020.0002.1F70C] # ALCHEMICAL SYMBOL FOR VINEGAR-3
-1F70D ; [*13EF.0020.0002.1F70D] # ALCHEMICAL SYMBOL FOR SULFUR
-1F70E ; [*13F0.0020.0002.1F70E] # ALCHEMICAL SYMBOL FOR PHILOSOPHERS SULFUR
-1F70F ; [*13F1.0020.0002.1F70F] # ALCHEMICAL SYMBOL FOR BLACK SULFUR
-1F710 ; [*13F2.0020.0002.1F710] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE
-1F711 ; [*13F3.0020.0002.1F711] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-2
-1F712 ; [*13F4.0020.0002.1F712] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-3
-1F713 ; [*13F5.0020.0002.1F713] # ALCHEMICAL SYMBOL FOR CINNABAR
-1F714 ; [*13F6.0020.0002.1F714] # ALCHEMICAL SYMBOL FOR SALT
-1F715 ; [*13F7.0020.0002.1F715] # ALCHEMICAL SYMBOL FOR NITRE
-1F716 ; [*13F8.0020.0002.1F716] # ALCHEMICAL SYMBOL FOR VITRIOL
-1F717 ; [*13F9.0020.0002.1F717] # ALCHEMICAL SYMBOL FOR VITRIOL-2
-1F718 ; [*13FA.0020.0002.1F718] # ALCHEMICAL SYMBOL FOR ROCK SALT
-1F719 ; [*13FB.0020.0002.1F719] # ALCHEMICAL SYMBOL FOR ROCK SALT-2
-1F71A ; [*13FC.0020.0002.1F71A] # ALCHEMICAL SYMBOL FOR GOLD
-1F71B ; [*13FD.0020.0002.1F71B] # ALCHEMICAL SYMBOL FOR SILVER
-1F71C ; [*13FE.0020.0002.1F71C] # ALCHEMICAL SYMBOL FOR IRON ORE
-1F71D ; [*13FF.0020.0002.1F71D] # ALCHEMICAL SYMBOL FOR IRON ORE-2
-1F71E ; [*1400.0020.0002.1F71E] # ALCHEMICAL SYMBOL FOR CROCUS OF IRON
-1F71F ; [*1401.0020.0002.1F71F] # ALCHEMICAL SYMBOL FOR REGULUS OF IRON
-1F720 ; [*1402.0020.0002.1F720] # ALCHEMICAL SYMBOL FOR COPPER ORE
-1F721 ; [*1403.0020.0002.1F721] # ALCHEMICAL SYMBOL FOR IRON-COPPER ORE
-1F722 ; [*1404.0020.0002.1F722] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF COPPER
-1F723 ; [*1405.0020.0002.1F723] # ALCHEMICAL SYMBOL FOR CROCUS OF COPPER
-1F724 ; [*1406.0020.0002.1F724] # ALCHEMICAL SYMBOL FOR CROCUS OF COPPER-2
-1F725 ; [*1407.0020.0002.1F725] # ALCHEMICAL SYMBOL FOR COPPER ANTIMONIATE
-1F726 ; [*1408.0020.0002.1F726] # ALCHEMICAL SYMBOL FOR SALT OF COPPER ANTIMONIATE
-1F727 ; [*1409.0020.0002.1F727] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF COPPER
-1F728 ; [*140A.0020.0002.1F728] # ALCHEMICAL SYMBOL FOR VERDIGRIS
-1F729 ; [*140B.0020.0002.1F729] # ALCHEMICAL SYMBOL FOR TIN ORE
-1F72A ; [*140C.0020.0002.1F72A] # ALCHEMICAL SYMBOL FOR LEAD ORE
-1F72B ; [*140D.0020.0002.1F72B] # ALCHEMICAL SYMBOL FOR ANTIMONY ORE
-1F72C ; [*140E.0020.0002.1F72C] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF ANTIMONY
-1F72D ; [*140F.0020.0002.1F72D] # ALCHEMICAL SYMBOL FOR SALT OF ANTIMONY
-1F72E ; [*1410.0020.0002.1F72E] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF ANTIMONY
-1F72F ; [*1411.0020.0002.1F72F] # ALCHEMICAL SYMBOL FOR VINEGAR OF ANTIMONY
-1F730 ; [*1412.0020.0002.1F730] # ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY
-1F731 ; [*1413.0020.0002.1F731] # ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY-2
-1F732 ; [*1414.0020.0002.1F732] # ALCHEMICAL SYMBOL FOR REGULUS
-1F733 ; [*1415.0020.0002.1F733] # ALCHEMICAL SYMBOL FOR REGULUS-2
-1F734 ; [*1416.0020.0002.1F734] # ALCHEMICAL SYMBOL FOR REGULUS-3
-1F735 ; [*1417.0020.0002.1F735] # ALCHEMICAL SYMBOL FOR REGULUS-4
-1F736 ; [*1418.0020.0002.1F736] # ALCHEMICAL SYMBOL FOR ALKALI
-1F737 ; [*1419.0020.0002.1F737] # ALCHEMICAL SYMBOL FOR ALKALI-2
-1F738 ; [*141A.0020.0002.1F738] # ALCHEMICAL SYMBOL FOR MARCASITE
-1F739 ; [*141B.0020.0002.1F739] # ALCHEMICAL SYMBOL FOR SAL-AMMONIAC
-1F73A ; [*141C.0020.0002.1F73A] # ALCHEMICAL SYMBOL FOR ARSENIC
-1F73B ; [*141D.0020.0002.1F73B] # ALCHEMICAL SYMBOL FOR REALGAR
-1F73C ; [*141E.0020.0002.1F73C] # ALCHEMICAL SYMBOL FOR REALGAR-2
-1F73D ; [*141F.0020.0002.1F73D] # ALCHEMICAL SYMBOL FOR AURIPIGMENT
-1F73E ; [*1420.0020.0002.1F73E] # ALCHEMICAL SYMBOL FOR BISMUTH ORE
-1F73F ; [*1421.0020.0002.1F73F] # ALCHEMICAL SYMBOL FOR TARTAR
-1F740 ; [*1422.0020.0002.1F740] # ALCHEMICAL SYMBOL FOR TARTAR-2
-1F741 ; [*1423.0020.0002.1F741] # ALCHEMICAL SYMBOL FOR QUICK LIME
-1F742 ; [*1424.0020.0002.1F742] # ALCHEMICAL SYMBOL FOR BORAX
-1F743 ; [*1425.0020.0002.1F743] # ALCHEMICAL SYMBOL FOR BORAX-2
-1F744 ; [*1426.0020.0002.1F744] # ALCHEMICAL SYMBOL FOR BORAX-3
-1F745 ; [*1427.0020.0002.1F745] # ALCHEMICAL SYMBOL FOR ALUM
-1F746 ; [*1428.0020.0002.1F746] # ALCHEMICAL SYMBOL FOR OIL
-1F747 ; [*1429.0020.0002.1F747] # ALCHEMICAL SYMBOL FOR SPIRIT
-1F748 ; [*142A.0020.0002.1F748] # ALCHEMICAL SYMBOL FOR TINCTURE
-1F749 ; [*142B.0020.0002.1F749] # ALCHEMICAL SYMBOL FOR GUM
-1F74A ; [*142C.0020.0002.1F74A] # ALCHEMICAL SYMBOL FOR WAX
-1F74B ; [*142D.0020.0002.1F74B] # ALCHEMICAL SYMBOL FOR POWDER
-1F74C ; [*142E.0020.0002.1F74C] # ALCHEMICAL SYMBOL FOR CALX
-1F74D ; [*142F.0020.0002.1F74D] # ALCHEMICAL SYMBOL FOR TUTTY
-1F74E ; [*1430.0020.0002.1F74E] # ALCHEMICAL SYMBOL FOR CAPUT MORTUUM
-1F74F ; [*1431.0020.0002.1F74F] # ALCHEMICAL SYMBOL FOR SCEPTER OF JOVE
-1F750 ; [*1432.0020.0002.1F750] # ALCHEMICAL SYMBOL FOR CADUCEUS
-1F751 ; [*1433.0020.0002.1F751] # ALCHEMICAL SYMBOL FOR TRIDENT
-1F752 ; [*1434.0020.0002.1F752] # ALCHEMICAL SYMBOL FOR STARRED TRIDENT
-1F753 ; [*1435.0020.0002.1F753] # ALCHEMICAL SYMBOL FOR LODESTONE
-1F754 ; [*1436.0020.0002.1F754] # ALCHEMICAL SYMBOL FOR SOAP
-1F755 ; [*1437.0020.0002.1F755] # ALCHEMICAL SYMBOL FOR URINE
-1F756 ; [*1438.0020.0002.1F756] # ALCHEMICAL SYMBOL FOR HORSE DUNG
-1F757 ; [*1439.0020.0002.1F757] # ALCHEMICAL SYMBOL FOR ASHES
-1F758 ; [*143A.0020.0002.1F758] # ALCHEMICAL SYMBOL FOR POT ASHES
-1F759 ; [*143B.0020.0002.1F759] # ALCHEMICAL SYMBOL FOR BRICK
-1F75A ; [*143C.0020.0002.1F75A] # ALCHEMICAL SYMBOL FOR POWDERED BRICK
-1F75B ; [*143D.0020.0002.1F75B] # ALCHEMICAL SYMBOL FOR AMALGAM
-1F75C ; [*143E.0020.0002.1F75C] # ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM
-1F75D ; [*143F.0020.0002.1F75D] # ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM-2
-1F75E ; [*1440.0020.0002.1F75E] # ALCHEMICAL SYMBOL FOR SUBLIMATION
-1F75F ; [*1441.0020.0002.1F75F] # ALCHEMICAL SYMBOL FOR PRECIPITATE
-1F760 ; [*1442.0020.0002.1F760] # ALCHEMICAL SYMBOL FOR DISTILL
-1F761 ; [*1443.0020.0002.1F761] # ALCHEMICAL SYMBOL FOR DISSOLVE
-1F762 ; [*1444.0020.0002.1F762] # ALCHEMICAL SYMBOL FOR DISSOLVE-2
-1F763 ; [*1445.0020.0002.1F763] # ALCHEMICAL SYMBOL FOR PURIFY
-1F764 ; [*1446.0020.0002.1F764] # ALCHEMICAL SYMBOL FOR PUTREFACTION
-1F765 ; [*1447.0020.0002.1F765] # ALCHEMICAL SYMBOL FOR CRUCIBLE
-1F766 ; [*1448.0020.0002.1F766] # ALCHEMICAL SYMBOL FOR CRUCIBLE-2
-1F767 ; [*1449.0020.0002.1F767] # ALCHEMICAL SYMBOL FOR CRUCIBLE-3
-1F768 ; [*144A.0020.0002.1F768] # ALCHEMICAL SYMBOL FOR CRUCIBLE-4
-1F769 ; [*144B.0020.0002.1F769] # ALCHEMICAL SYMBOL FOR CRUCIBLE-5
-1F76A ; [*144C.0020.0002.1F76A] # ALCHEMICAL SYMBOL FOR ALEMBIC
-1F76B ; [*144D.0020.0002.1F76B] # ALCHEMICAL SYMBOL FOR BATH OF MARY
-1F76C ; [*144E.0020.0002.1F76C] # ALCHEMICAL SYMBOL FOR BATH OF VAPOURS
-1F76D ; [*144F.0020.0002.1F76D] # ALCHEMICAL SYMBOL FOR RETORT
-1F76E ; [*1450.0020.0002.1F76E] # ALCHEMICAL SYMBOL FOR HOUR
-1F76F ; [*1451.0020.0002.1F76F] # ALCHEMICAL SYMBOL FOR NIGHT
-1F770 ; [*1452.0020.0002.1F770] # ALCHEMICAL SYMBOL FOR DAY-NIGHT
-1F771 ; [*1453.0020.0002.1F771] # ALCHEMICAL SYMBOL FOR MONTH
-1F772 ; [*1454.0020.0002.1F772] # ALCHEMICAL SYMBOL FOR HALF DRAM
-1F773 ; [*1455.0020.0002.1F773] # ALCHEMICAL SYMBOL FOR HALF OUNCE
+1D245 ; [*109C.0020.0002.1D245] # GREEK MUSICAL LEIMMA
+1D300 ; [*0DD7.0020.0002.1D300] # MONOGRAM FOR EARTH
+1D301 ; [*0DD8.0020.0002.1D301] # DIGRAM FOR HEAVENLY EARTH
+1D302 ; [*0DD9.0020.0002.1D302] # DIGRAM FOR HUMAN EARTH
+1D303 ; [*0DDA.0020.0002.1D303] # DIGRAM FOR EARTHLY HEAVEN
+1D304 ; [*0DDB.0020.0002.1D304] # DIGRAM FOR EARTHLY HUMAN
+1D305 ; [*0DDC.0020.0002.1D305] # DIGRAM FOR EARTH
+1D306 ; [*0DDD.0020.0002.1D306] # TETRAGRAM FOR CENTRE
+1D307 ; [*0DDE.0020.0002.1D307] # TETRAGRAM FOR FULL CIRCLE
+1D308 ; [*0DDF.0020.0002.1D308] # TETRAGRAM FOR MIRED
+1D309 ; [*0DE0.0020.0002.1D309] # TETRAGRAM FOR BARRIER
+1D30A ; [*0DE1.0020.0002.1D30A] # TETRAGRAM FOR KEEPING SMALL
+1D30B ; [*0DE2.0020.0002.1D30B] # TETRAGRAM FOR CONTRARIETY
+1D30C ; [*0DE3.0020.0002.1D30C] # TETRAGRAM FOR ASCENT
+1D30D ; [*0DE4.0020.0002.1D30D] # TETRAGRAM FOR OPPOSITION
+1D30E ; [*0DE5.0020.0002.1D30E] # TETRAGRAM FOR BRANCHING OUT
+1D30F ; [*0DE6.0020.0002.1D30F] # TETRAGRAM FOR DEFECTIVENESS OR DISTORTION
+1D310 ; [*0DE7.0020.0002.1D310] # TETRAGRAM FOR DIVERGENCE
+1D311 ; [*0DE8.0020.0002.1D311] # TETRAGRAM FOR YOUTHFULNESS
+1D312 ; [*0DE9.0020.0002.1D312] # TETRAGRAM FOR INCREASE
+1D313 ; [*0DEA.0020.0002.1D313] # TETRAGRAM FOR PENETRATION
+1D314 ; [*0DEB.0020.0002.1D314] # TETRAGRAM FOR REACH
+1D315 ; [*0DEC.0020.0002.1D315] # TETRAGRAM FOR CONTACT
+1D316 ; [*0DED.0020.0002.1D316] # TETRAGRAM FOR HOLDING BACK
+1D317 ; [*0DEE.0020.0002.1D317] # TETRAGRAM FOR WAITING
+1D318 ; [*0DEF.0020.0002.1D318] # TETRAGRAM FOR FOLLOWING
+1D319 ; [*0DF0.0020.0002.1D319] # TETRAGRAM FOR ADVANCE
+1D31A ; [*0DF1.0020.0002.1D31A] # TETRAGRAM FOR RELEASE
+1D31B ; [*0DF2.0020.0002.1D31B] # TETRAGRAM FOR RESISTANCE
+1D31C ; [*0DF3.0020.0002.1D31C] # TETRAGRAM FOR EASE
+1D31D ; [*0DF4.0020.0002.1D31D] # TETRAGRAM FOR JOY
+1D31E ; [*0DF5.0020.0002.1D31E] # TETRAGRAM FOR CONTENTION
+1D31F ; [*0DF6.0020.0002.1D31F] # TETRAGRAM FOR ENDEAVOUR
+1D320 ; [*0DF7.0020.0002.1D320] # TETRAGRAM FOR DUTIES
+1D321 ; [*0DF8.0020.0002.1D321] # TETRAGRAM FOR CHANGE
+1D322 ; [*0DF9.0020.0002.1D322] # TETRAGRAM FOR DECISIVENESS
+1D323 ; [*0DFA.0020.0002.1D323] # TETRAGRAM FOR BOLD RESOLUTION
+1D324 ; [*0DFB.0020.0002.1D324] # TETRAGRAM FOR PACKING
+1D325 ; [*0DFC.0020.0002.1D325] # TETRAGRAM FOR LEGION
+1D326 ; [*0DFD.0020.0002.1D326] # TETRAGRAM FOR CLOSENESS
+1D327 ; [*0DFE.0020.0002.1D327] # TETRAGRAM FOR KINSHIP
+1D328 ; [*0DFF.0020.0002.1D328] # TETRAGRAM FOR GATHERING
+1D329 ; [*0E00.0020.0002.1D329] # TETRAGRAM FOR STRENGTH
+1D32A ; [*0E01.0020.0002.1D32A] # TETRAGRAM FOR PURITY
+1D32B ; [*0E02.0020.0002.1D32B] # TETRAGRAM FOR FULLNESS
+1D32C ; [*0E03.0020.0002.1D32C] # TETRAGRAM FOR RESIDENCE
+1D32D ; [*0E04.0020.0002.1D32D] # TETRAGRAM FOR LAW OR MODEL
+1D32E ; [*0E05.0020.0002.1D32E] # TETRAGRAM FOR RESPONSE
+1D32F ; [*0E06.0020.0002.1D32F] # TETRAGRAM FOR GOING TO MEET
+1D330 ; [*0E07.0020.0002.1D330] # TETRAGRAM FOR ENCOUNTERS
+1D331 ; [*0E08.0020.0002.1D331] # TETRAGRAM FOR STOVE
+1D332 ; [*0E09.0020.0002.1D332] # TETRAGRAM FOR GREATNESS
+1D333 ; [*0E0A.0020.0002.1D333] # TETRAGRAM FOR ENLARGEMENT
+1D334 ; [*0E0B.0020.0002.1D334] # TETRAGRAM FOR PATTERN
+1D335 ; [*0E0C.0020.0002.1D335] # TETRAGRAM FOR RITUAL
+1D336 ; [*0E0D.0020.0002.1D336] # TETRAGRAM FOR FLIGHT
+1D337 ; [*0E0E.0020.0002.1D337] # TETRAGRAM FOR VASTNESS OR WASTING
+1D338 ; [*0E0F.0020.0002.1D338] # TETRAGRAM FOR CONSTANCY
+1D339 ; [*0E10.0020.0002.1D339] # TETRAGRAM FOR MEASURE
+1D33A ; [*0E11.0020.0002.1D33A] # TETRAGRAM FOR ETERNITY
+1D33B ; [*0E12.0020.0002.1D33B] # TETRAGRAM FOR UNITY
+1D33C ; [*0E13.0020.0002.1D33C] # TETRAGRAM FOR DIMINISHMENT
+1D33D ; [*0E14.0020.0002.1D33D] # TETRAGRAM FOR CLOSED MOUTH
+1D33E ; [*0E15.0020.0002.1D33E] # TETRAGRAM FOR GUARDEDNESS
+1D33F ; [*0E16.0020.0002.1D33F] # TETRAGRAM FOR GATHERING IN
+1D340 ; [*0E17.0020.0002.1D340] # TETRAGRAM FOR MASSING
+1D341 ; [*0E18.0020.0002.1D341] # TETRAGRAM FOR ACCUMULATION
+1D342 ; [*0E19.0020.0002.1D342] # TETRAGRAM FOR EMBELLISHMENT
+1D343 ; [*0E1A.0020.0002.1D343] # TETRAGRAM FOR DOUBT
+1D344 ; [*0E1B.0020.0002.1D344] # TETRAGRAM FOR WATCH
+1D345 ; [*0E1C.0020.0002.1D345] # TETRAGRAM FOR SINKING
+1D346 ; [*0E1D.0020.0002.1D346] # TETRAGRAM FOR INNER
+1D347 ; [*0E1E.0020.0002.1D347] # TETRAGRAM FOR DEPARTURE
+1D348 ; [*0E1F.0020.0002.1D348] # TETRAGRAM FOR DARKENING
+1D349 ; [*0E20.0020.0002.1D349] # TETRAGRAM FOR DIMMING
+1D34A ; [*0E21.0020.0002.1D34A] # TETRAGRAM FOR EXHAUSTION
+1D34B ; [*0E22.0020.0002.1D34B] # TETRAGRAM FOR SEVERANCE
+1D34C ; [*0E23.0020.0002.1D34C] # TETRAGRAM FOR STOPPAGE
+1D34D ; [*0E24.0020.0002.1D34D] # TETRAGRAM FOR HARDNESS
+1D34E ; [*0E25.0020.0002.1D34E] # TETRAGRAM FOR COMPLETION
+1D34F ; [*0E26.0020.0002.1D34F] # TETRAGRAM FOR CLOSURE
+1D350 ; [*0E27.0020.0002.1D350] # TETRAGRAM FOR FAILURE
+1D351 ; [*0E28.0020.0002.1D351] # TETRAGRAM FOR AGGRAVATION
+1D352 ; [*0E29.0020.0002.1D352] # TETRAGRAM FOR COMPLIANCE
+1D353 ; [*0E2A.0020.0002.1D353] # TETRAGRAM FOR ON THE VERGE
+1D354 ; [*0E2B.0020.0002.1D354] # TETRAGRAM FOR DIFFICULTIES
+1D355 ; [*0E2C.0020.0002.1D355] # TETRAGRAM FOR LABOURING
+1D356 ; [*0E2D.0020.0002.1D356] # TETRAGRAM FOR FOSTERING
+1D369 ; [*1585.0020.0002.1D369] # COUNTING ROD TENS DIGIT ONE
+1D36A ; [*1586.0020.0002.1D36A] # COUNTING ROD TENS DIGIT TWO
+1D36B ; [*1587.0020.0002.1D36B] # COUNTING ROD TENS DIGIT THREE
+1D36C ; [*1588.0020.0002.1D36C] # COUNTING ROD TENS DIGIT FOUR
+1D36D ; [*1589.0020.0002.1D36D] # COUNTING ROD TENS DIGIT FIVE
+1D36E ; [*158A.0020.0002.1D36E] # COUNTING ROD TENS DIGIT SIX
+1D36F ; [*158B.0020.0002.1D36F] # COUNTING ROD TENS DIGIT SEVEN
+1D370 ; [*158C.0020.0002.1D370] # COUNTING ROD TENS DIGIT EIGHT
+1D371 ; [*158D.0020.0002.1D371] # COUNTING ROD TENS DIGIT NINE
+1D6C1 ; [*0592.0020.0005.1D6C1] # MATHEMATICAL BOLD NABLA
+1D6DB ; [*058E.0020.0005.1D6DB] # MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
+1D6FB ; [*0592.0020.0005.1D6FB] # MATHEMATICAL ITALIC NABLA
+1D715 ; [*058E.0020.0005.1D715] # MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
+1D735 ; [*0592.0020.0005.1D735] # MATHEMATICAL BOLD ITALIC NABLA
+1D74F ; [*058E.0020.0005.1D74F] # MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
+1D76F ; [*0592.0020.0005.1D76F] # MATHEMATICAL SANS-SERIF BOLD NABLA
+1D789 ; [*058E.0020.0005.1D789] # MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
+1D7A9 ; [*0592.0020.0005.1D7A9] # MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
+1D7C3 ; [*058E.0020.0005.1D7C3] # MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
+1EEF0 ; [*0485.0020.0002.1EEF0] # ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL
+1EEF1 ; [*0486.0020.0002.1EEF1] # ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
+1F000 ; [*109D.0020.0002.1F000] # MAHJONG TILE EAST WIND
+1F001 ; [*109E.0020.0002.1F001] # MAHJONG TILE SOUTH WIND
+1F002 ; [*109F.0020.0002.1F002] # MAHJONG TILE WEST WIND
+1F003 ; [*10A0.0020.0002.1F003] # MAHJONG TILE NORTH WIND
+1F004 ; [*10A1.0020.0002.1F004] # MAHJONG TILE RED DRAGON
+1F005 ; [*10A2.0020.0002.1F005] # MAHJONG TILE GREEN DRAGON
+1F006 ; [*10A3.0020.0002.1F006] # MAHJONG TILE WHITE DRAGON
+1F007 ; [*10A4.0020.0002.1F007] # MAHJONG TILE ONE OF CHARACTERS
+1F008 ; [*10A5.0020.0002.1F008] # MAHJONG TILE TWO OF CHARACTERS
+1F009 ; [*10A6.0020.0002.1F009] # MAHJONG TILE THREE OF CHARACTERS
+1F00A ; [*10A7.0020.0002.1F00A] # MAHJONG TILE FOUR OF CHARACTERS
+1F00B ; [*10A8.0020.0002.1F00B] # MAHJONG TILE FIVE OF CHARACTERS
+1F00C ; [*10A9.0020.0002.1F00C] # MAHJONG TILE SIX OF CHARACTERS
+1F00D ; [*10AA.0020.0002.1F00D] # MAHJONG TILE SEVEN OF CHARACTERS
+1F00E ; [*10AB.0020.0002.1F00E] # MAHJONG TILE EIGHT OF CHARACTERS
+1F00F ; [*10AC.0020.0002.1F00F] # MAHJONG TILE NINE OF CHARACTERS
+1F010 ; [*10AD.0020.0002.1F010] # MAHJONG TILE ONE OF BAMBOOS
+1F011 ; [*10AE.0020.0002.1F011] # MAHJONG TILE TWO OF BAMBOOS
+1F012 ; [*10AF.0020.0002.1F012] # MAHJONG TILE THREE OF BAMBOOS
+1F013 ; [*10B0.0020.0002.1F013] # MAHJONG TILE FOUR OF BAMBOOS
+1F014 ; [*10B1.0020.0002.1F014] # MAHJONG TILE FIVE OF BAMBOOS
+1F015 ; [*10B2.0020.0002.1F015] # MAHJONG TILE SIX OF BAMBOOS
+1F016 ; [*10B3.0020.0002.1F016] # MAHJONG TILE SEVEN OF BAMBOOS
+1F017 ; [*10B4.0020.0002.1F017] # MAHJONG TILE EIGHT OF BAMBOOS
+1F018 ; [*10B5.0020.0002.1F018] # MAHJONG TILE NINE OF BAMBOOS
+1F019 ; [*10B6.0020.0002.1F019] # MAHJONG TILE ONE OF CIRCLES
+1F01A ; [*10B7.0020.0002.1F01A] # MAHJONG TILE TWO OF CIRCLES
+1F01B ; [*10B8.0020.0002.1F01B] # MAHJONG TILE THREE OF CIRCLES
+1F01C ; [*10B9.0020.0002.1F01C] # MAHJONG TILE FOUR OF CIRCLES
+1F01D ; [*10BA.0020.0002.1F01D] # MAHJONG TILE FIVE OF CIRCLES
+1F01E ; [*10BB.0020.0002.1F01E] # MAHJONG TILE SIX OF CIRCLES
+1F01F ; [*10BC.0020.0002.1F01F] # MAHJONG TILE SEVEN OF CIRCLES
+1F020 ; [*10BD.0020.0002.1F020] # MAHJONG TILE EIGHT OF CIRCLES
+1F021 ; [*10BE.0020.0002.1F021] # MAHJONG TILE NINE OF CIRCLES
+1F022 ; [*10BF.0020.0002.1F022] # MAHJONG TILE PLUM
+1F023 ; [*10C0.0020.0002.1F023] # MAHJONG TILE ORCHID
+1F024 ; [*10C1.0020.0002.1F024] # MAHJONG TILE BAMBOO
+1F025 ; [*10C2.0020.0002.1F025] # MAHJONG TILE CHRYSANTHEMUM
+1F026 ; [*10C3.0020.0002.1F026] # MAHJONG TILE SPRING
+1F027 ; [*10C4.0020.0002.1F027] # MAHJONG TILE SUMMER
+1F028 ; [*10C5.0020.0002.1F028] # MAHJONG TILE AUTUMN
+1F029 ; [*10C6.0020.0002.1F029] # MAHJONG TILE WINTER
+1F02A ; [*10C7.0020.0002.1F02A] # MAHJONG TILE JOKER
+1F02B ; [*10C8.0020.0002.1F02B] # MAHJONG TILE BACK
+1F030 ; [*10C9.0020.0002.1F030] # DOMINO TILE HORIZONTAL BACK
+1F031 ; [*10CA.0020.0002.1F031] # DOMINO TILE HORIZONTAL-00-00
+1F032 ; [*10CB.0020.0002.1F032] # DOMINO TILE HORIZONTAL-00-01
+1F033 ; [*10CC.0020.0002.1F033] # DOMINO TILE HORIZONTAL-00-02
+1F034 ; [*10CD.0020.0002.1F034] # DOMINO TILE HORIZONTAL-00-03
+1F035 ; [*10CE.0020.0002.1F035] # DOMINO TILE HORIZONTAL-00-04
+1F036 ; [*10CF.0020.0002.1F036] # DOMINO TILE HORIZONTAL-00-05
+1F037 ; [*10D0.0020.0002.1F037] # DOMINO TILE HORIZONTAL-00-06
+1F038 ; [*10D1.0020.0002.1F038] # DOMINO TILE HORIZONTAL-01-00
+1F039 ; [*10D2.0020.0002.1F039] # DOMINO TILE HORIZONTAL-01-01
+1F03A ; [*10D3.0020.0002.1F03A] # DOMINO TILE HORIZONTAL-01-02
+1F03B ; [*10D4.0020.0002.1F03B] # DOMINO TILE HORIZONTAL-01-03
+1F03C ; [*10D5.0020.0002.1F03C] # DOMINO TILE HORIZONTAL-01-04
+1F03D ; [*10D6.0020.0002.1F03D] # DOMINO TILE HORIZONTAL-01-05
+1F03E ; [*10D7.0020.0002.1F03E] # DOMINO TILE HORIZONTAL-01-06
+1F03F ; [*10D8.0020.0002.1F03F] # DOMINO TILE HORIZONTAL-02-00
+1F040 ; [*10D9.0020.0002.1F040] # DOMINO TILE HORIZONTAL-02-01
+1F041 ; [*10DA.0020.0002.1F041] # DOMINO TILE HORIZONTAL-02-02
+1F042 ; [*10DB.0020.0002.1F042] # DOMINO TILE HORIZONTAL-02-03
+1F043 ; [*10DC.0020.0002.1F043] # DOMINO TILE HORIZONTAL-02-04
+1F044 ; [*10DD.0020.0002.1F044] # DOMINO TILE HORIZONTAL-02-05
+1F045 ; [*10DE.0020.0002.1F045] # DOMINO TILE HORIZONTAL-02-06
+1F046 ; [*10DF.0020.0002.1F046] # DOMINO TILE HORIZONTAL-03-00
+1F047 ; [*10E0.0020.0002.1F047] # DOMINO TILE HORIZONTAL-03-01
+1F048 ; [*10E1.0020.0002.1F048] # DOMINO TILE HORIZONTAL-03-02
+1F049 ; [*10E2.0020.0002.1F049] # DOMINO TILE HORIZONTAL-03-03
+1F04A ; [*10E3.0020.0002.1F04A] # DOMINO TILE HORIZONTAL-03-04
+1F04B ; [*10E4.0020.0002.1F04B] # DOMINO TILE HORIZONTAL-03-05
+1F04C ; [*10E5.0020.0002.1F04C] # DOMINO TILE HORIZONTAL-03-06
+1F04D ; [*10E6.0020.0002.1F04D] # DOMINO TILE HORIZONTAL-04-00
+1F04E ; [*10E7.0020.0002.1F04E] # DOMINO TILE HORIZONTAL-04-01
+1F04F ; [*10E8.0020.0002.1F04F] # DOMINO TILE HORIZONTAL-04-02
+1F050 ; [*10E9.0020.0002.1F050] # DOMINO TILE HORIZONTAL-04-03
+1F051 ; [*10EA.0020.0002.1F051] # DOMINO TILE HORIZONTAL-04-04
+1F052 ; [*10EB.0020.0002.1F052] # DOMINO TILE HORIZONTAL-04-05
+1F053 ; [*10EC.0020.0002.1F053] # DOMINO TILE HORIZONTAL-04-06
+1F054 ; [*10ED.0020.0002.1F054] # DOMINO TILE HORIZONTAL-05-00
+1F055 ; [*10EE.0020.0002.1F055] # DOMINO TILE HORIZONTAL-05-01
+1F056 ; [*10EF.0020.0002.1F056] # DOMINO TILE HORIZONTAL-05-02
+1F057 ; [*10F0.0020.0002.1F057] # DOMINO TILE HORIZONTAL-05-03
+1F058 ; [*10F1.0020.0002.1F058] # DOMINO TILE HORIZONTAL-05-04
+1F059 ; [*10F2.0020.0002.1F059] # DOMINO TILE HORIZONTAL-05-05
+1F05A ; [*10F3.0020.0002.1F05A] # DOMINO TILE HORIZONTAL-05-06
+1F05B ; [*10F4.0020.0002.1F05B] # DOMINO TILE HORIZONTAL-06-00
+1F05C ; [*10F5.0020.0002.1F05C] # DOMINO TILE HORIZONTAL-06-01
+1F05D ; [*10F6.0020.0002.1F05D] # DOMINO TILE HORIZONTAL-06-02
+1F05E ; [*10F7.0020.0002.1F05E] # DOMINO TILE HORIZONTAL-06-03
+1F05F ; [*10F8.0020.0002.1F05F] # DOMINO TILE HORIZONTAL-06-04
+1F060 ; [*10F9.0020.0002.1F060] # DOMINO TILE HORIZONTAL-06-05
+1F061 ; [*10FA.0020.0002.1F061] # DOMINO TILE HORIZONTAL-06-06
+1F062 ; [*10FB.0020.0002.1F062] # DOMINO TILE VERTICAL BACK
+1F063 ; [*10FC.0020.0002.1F063] # DOMINO TILE VERTICAL-00-00
+1F064 ; [*10FD.0020.0002.1F064] # DOMINO TILE VERTICAL-00-01
+1F065 ; [*10FE.0020.0002.1F065] # DOMINO TILE VERTICAL-00-02
+1F066 ; [*10FF.0020.0002.1F066] # DOMINO TILE VERTICAL-00-03
+1F067 ; [*1100.0020.0002.1F067] # DOMINO TILE VERTICAL-00-04
+1F068 ; [*1101.0020.0002.1F068] # DOMINO TILE VERTICAL-00-05
+1F069 ; [*1102.0020.0002.1F069] # DOMINO TILE VERTICAL-00-06
+1F06A ; [*1103.0020.0002.1F06A] # DOMINO TILE VERTICAL-01-00
+1F06B ; [*1104.0020.0002.1F06B] # DOMINO TILE VERTICAL-01-01
+1F06C ; [*1105.0020.0002.1F06C] # DOMINO TILE VERTICAL-01-02
+1F06D ; [*1106.0020.0002.1F06D] # DOMINO TILE VERTICAL-01-03
+1F06E ; [*1107.0020.0002.1F06E] # DOMINO TILE VERTICAL-01-04
+1F06F ; [*1108.0020.0002.1F06F] # DOMINO TILE VERTICAL-01-05
+1F070 ; [*1109.0020.0002.1F070] # DOMINO TILE VERTICAL-01-06
+1F071 ; [*110A.0020.0002.1F071] # DOMINO TILE VERTICAL-02-00
+1F072 ; [*110B.0020.0002.1F072] # DOMINO TILE VERTICAL-02-01
+1F073 ; [*110C.0020.0002.1F073] # DOMINO TILE VERTICAL-02-02
+1F074 ; [*110D.0020.0002.1F074] # DOMINO TILE VERTICAL-02-03
+1F075 ; [*110E.0020.0002.1F075] # DOMINO TILE VERTICAL-02-04
+1F076 ; [*110F.0020.0002.1F076] # DOMINO TILE VERTICAL-02-05
+1F077 ; [*1110.0020.0002.1F077] # DOMINO TILE VERTICAL-02-06
+1F078 ; [*1111.0020.0002.1F078] # DOMINO TILE VERTICAL-03-00
+1F079 ; [*1112.0020.0002.1F079] # DOMINO TILE VERTICAL-03-01
+1F07A ; [*1113.0020.0002.1F07A] # DOMINO TILE VERTICAL-03-02
+1F07B ; [*1114.0020.0002.1F07B] # DOMINO TILE VERTICAL-03-03
+1F07C ; [*1115.0020.0002.1F07C] # DOMINO TILE VERTICAL-03-04
+1F07D ; [*1116.0020.0002.1F07D] # DOMINO TILE VERTICAL-03-05
+1F07E ; [*1117.0020.0002.1F07E] # DOMINO TILE VERTICAL-03-06
+1F07F ; [*1118.0020.0002.1F07F] # DOMINO TILE VERTICAL-04-00
+1F080 ; [*1119.0020.0002.1F080] # DOMINO TILE VERTICAL-04-01
+1F081 ; [*111A.0020.0002.1F081] # DOMINO TILE VERTICAL-04-02
+1F082 ; [*111B.0020.0002.1F082] # DOMINO TILE VERTICAL-04-03
+1F083 ; [*111C.0020.0002.1F083] # DOMINO TILE VERTICAL-04-04
+1F084 ; [*111D.0020.0002.1F084] # DOMINO TILE VERTICAL-04-05
+1F085 ; [*111E.0020.0002.1F085] # DOMINO TILE VERTICAL-04-06
+1F086 ; [*111F.0020.0002.1F086] # DOMINO TILE VERTICAL-05-00
+1F087 ; [*1120.0020.0002.1F087] # DOMINO TILE VERTICAL-05-01
+1F088 ; [*1121.0020.0002.1F088] # DOMINO TILE VERTICAL-05-02
+1F089 ; [*1122.0020.0002.1F089] # DOMINO TILE VERTICAL-05-03
+1F08A ; [*1123.0020.0002.1F08A] # DOMINO TILE VERTICAL-05-04
+1F08B ; [*1124.0020.0002.1F08B] # DOMINO TILE VERTICAL-05-05
+1F08C ; [*1125.0020.0002.1F08C] # DOMINO TILE VERTICAL-05-06
+1F08D ; [*1126.0020.0002.1F08D] # DOMINO TILE VERTICAL-06-00
+1F08E ; [*1127.0020.0002.1F08E] # DOMINO TILE VERTICAL-06-01
+1F08F ; [*1128.0020.0002.1F08F] # DOMINO TILE VERTICAL-06-02
+1F090 ; [*1129.0020.0002.1F090] # DOMINO TILE VERTICAL-06-03
+1F091 ; [*112A.0020.0002.1F091] # DOMINO TILE VERTICAL-06-04
+1F092 ; [*112B.0020.0002.1F092] # DOMINO TILE VERTICAL-06-05
+1F093 ; [*112C.0020.0002.1F093] # DOMINO TILE VERTICAL-06-06
+1F0A0 ; [*112D.0020.0002.1F0A0] # PLAYING CARD BACK
+1F0A1 ; [*112E.0020.0002.1F0A1] # PLAYING CARD ACE OF SPADES
+1F0A2 ; [*112F.0020.0002.1F0A2] # PLAYING CARD TWO OF SPADES
+1F0A3 ; [*1130.0020.0002.1F0A3] # PLAYING CARD THREE OF SPADES
+1F0A4 ; [*1131.0020.0002.1F0A4] # PLAYING CARD FOUR OF SPADES
+1F0A5 ; [*1132.0020.0002.1F0A5] # PLAYING CARD FIVE OF SPADES
+1F0A6 ; [*1133.0020.0002.1F0A6] # PLAYING CARD SIX OF SPADES
+1F0A7 ; [*1134.0020.0002.1F0A7] # PLAYING CARD SEVEN OF SPADES
+1F0A8 ; [*1135.0020.0002.1F0A8] # PLAYING CARD EIGHT OF SPADES
+1F0A9 ; [*1136.0020.0002.1F0A9] # PLAYING CARD NINE OF SPADES
+1F0AA ; [*1137.0020.0002.1F0AA] # PLAYING CARD TEN OF SPADES
+1F0AB ; [*1138.0020.0002.1F0AB] # PLAYING CARD JACK OF SPADES
+1F0AC ; [*1139.0020.0002.1F0AC] # PLAYING CARD KNIGHT OF SPADES
+1F0AD ; [*113A.0020.0002.1F0AD] # PLAYING CARD QUEEN OF SPADES
+1F0AE ; [*113B.0020.0002.1F0AE] # PLAYING CARD KING OF SPADES
+1F0B1 ; [*113C.0020.0002.1F0B1] # PLAYING CARD ACE OF HEARTS
+1F0B2 ; [*113D.0020.0002.1F0B2] # PLAYING CARD TWO OF HEARTS
+1F0B3 ; [*113E.0020.0002.1F0B3] # PLAYING CARD THREE OF HEARTS
+1F0B4 ; [*113F.0020.0002.1F0B4] # PLAYING CARD FOUR OF HEARTS
+1F0B5 ; [*1140.0020.0002.1F0B5] # PLAYING CARD FIVE OF HEARTS
+1F0B6 ; [*1141.0020.0002.1F0B6] # PLAYING CARD SIX OF HEARTS
+1F0B7 ; [*1142.0020.0002.1F0B7] # PLAYING CARD SEVEN OF HEARTS
+1F0B8 ; [*1143.0020.0002.1F0B8] # PLAYING CARD EIGHT OF HEARTS
+1F0B9 ; [*1144.0020.0002.1F0B9] # PLAYING CARD NINE OF HEARTS
+1F0BA ; [*1145.0020.0002.1F0BA] # PLAYING CARD TEN OF HEARTS
+1F0BB ; [*1146.0020.0002.1F0BB] # PLAYING CARD JACK OF HEARTS
+1F0BC ; [*1147.0020.0002.1F0BC] # PLAYING CARD KNIGHT OF HEARTS
+1F0BD ; [*1148.0020.0002.1F0BD] # PLAYING CARD QUEEN OF HEARTS
+1F0BE ; [*1149.0020.0002.1F0BE] # PLAYING CARD KING OF HEARTS
+1F0C1 ; [*114A.0020.0002.1F0C1] # PLAYING CARD ACE OF DIAMONDS
+1F0C2 ; [*114B.0020.0002.1F0C2] # PLAYING CARD TWO OF DIAMONDS
+1F0C3 ; [*114C.0020.0002.1F0C3] # PLAYING CARD THREE OF DIAMONDS
+1F0C4 ; [*114D.0020.0002.1F0C4] # PLAYING CARD FOUR OF DIAMONDS
+1F0C5 ; [*114E.0020.0002.1F0C5] # PLAYING CARD FIVE OF DIAMONDS
+1F0C6 ; [*114F.0020.0002.1F0C6] # PLAYING CARD SIX OF DIAMONDS
+1F0C7 ; [*1150.0020.0002.1F0C7] # PLAYING CARD SEVEN OF DIAMONDS
+1F0C8 ; [*1151.0020.0002.1F0C8] # PLAYING CARD EIGHT OF DIAMONDS
+1F0C9 ; [*1152.0020.0002.1F0C9] # PLAYING CARD NINE OF DIAMONDS
+1F0CA ; [*1153.0020.0002.1F0CA] # PLAYING CARD TEN OF DIAMONDS
+1F0CB ; [*1154.0020.0002.1F0CB] # PLAYING CARD JACK OF DIAMONDS
+1F0CC ; [*1155.0020.0002.1F0CC] # PLAYING CARD KNIGHT OF DIAMONDS
+1F0CD ; [*1156.0020.0002.1F0CD] # PLAYING CARD QUEEN OF DIAMONDS
+1F0CE ; [*1157.0020.0002.1F0CE] # PLAYING CARD KING OF DIAMONDS
+1F0CF ; [*1158.0020.0002.1F0CF] # PLAYING CARD BLACK JOKER
+1F0D1 ; [*1159.0020.0002.1F0D1] # PLAYING CARD ACE OF CLUBS
+1F0D2 ; [*115A.0020.0002.1F0D2] # PLAYING CARD TWO OF CLUBS
+1F0D3 ; [*115B.0020.0002.1F0D3] # PLAYING CARD THREE OF CLUBS
+1F0D4 ; [*115C.0020.0002.1F0D4] # PLAYING CARD FOUR OF CLUBS
+1F0D5 ; [*115D.0020.0002.1F0D5] # PLAYING CARD FIVE OF CLUBS
+1F0D6 ; [*115E.0020.0002.1F0D6] # PLAYING CARD SIX OF CLUBS
+1F0D7 ; [*115F.0020.0002.1F0D7] # PLAYING CARD SEVEN OF CLUBS
+1F0D8 ; [*1160.0020.0002.1F0D8] # PLAYING CARD EIGHT OF CLUBS
+1F0D9 ; [*1161.0020.0002.1F0D9] # PLAYING CARD NINE OF CLUBS
+1F0DA ; [*1162.0020.0002.1F0DA] # PLAYING CARD TEN OF CLUBS
+1F0DB ; [*1163.0020.0002.1F0DB] # PLAYING CARD JACK OF CLUBS
+1F0DC ; [*1164.0020.0002.1F0DC] # PLAYING CARD KNIGHT OF CLUBS
+1F0DD ; [*1165.0020.0002.1F0DD] # PLAYING CARD QUEEN OF CLUBS
+1F0DE ; [*1166.0020.0002.1F0DE] # PLAYING CARD KING OF CLUBS
+1F0DF ; [*1167.0020.0002.1F0DF] # PLAYING CARD WHITE JOKER
+1F300 ; [*1168.0020.0002.1F300] # CYCLONE
+1F301 ; [*1169.0020.0002.1F301] # FOGGY
+1F302 ; [*116A.0020.0002.1F302] # CLOSED UMBRELLA
+1F303 ; [*116B.0020.0002.1F303] # NIGHT WITH STARS
+1F304 ; [*116C.0020.0002.1F304] # SUNRISE OVER MOUNTAINS
+1F305 ; [*116D.0020.0002.1F305] # SUNRISE
+1F306 ; [*116E.0020.0002.1F306] # CITYSCAPE AT DUSK
+1F307 ; [*116F.0020.0002.1F307] # SUNSET OVER BUILDINGS
+1F308 ; [*1170.0020.0002.1F308] # RAINBOW
+1F309 ; [*1171.0020.0002.1F309] # BRIDGE AT NIGHT
+1F30A ; [*1172.0020.0002.1F30A] # WATER WAVE
+1F30B ; [*1173.0020.0002.1F30B] # VOLCANO
+1F30C ; [*1174.0020.0002.1F30C] # MILKY WAY
+1F30D ; [*1175.0020.0002.1F30D] # EARTH GLOBE EUROPE-AFRICA
+1F30E ; [*1176.0020.0002.1F30E] # EARTH GLOBE AMERICAS
+1F30F ; [*1177.0020.0002.1F30F] # EARTH GLOBE ASIA-AUSTRALIA
+1F310 ; [*1178.0020.0002.1F310] # GLOBE WITH MERIDIANS
+1F311 ; [*1179.0020.0002.1F311] # NEW MOON SYMBOL
+1F312 ; [*117A.0020.0002.1F312] # WAXING CRESCENT MOON SYMBOL
+1F313 ; [*117B.0020.0002.1F313] # FIRST QUARTER MOON SYMBOL
+1F314 ; [*117C.0020.0002.1F314] # WAXING GIBBOUS MOON SYMBOL
+1F315 ; [*117D.0020.0002.1F315] # FULL MOON SYMBOL
+1F316 ; [*117E.0020.0002.1F316] # WANING GIBBOUS MOON SYMBOL
+1F317 ; [*117F.0020.0002.1F317] # LAST QUARTER MOON SYMBOL
+1F318 ; [*1180.0020.0002.1F318] # WANING CRESCENT MOON SYMBOL
+1F319 ; [*1181.0020.0002.1F319] # CRESCENT MOON
+1F31A ; [*1182.0020.0002.1F31A] # NEW MOON WITH FACE
+1F31B ; [*1183.0020.0002.1F31B] # FIRST QUARTER MOON WITH FACE
+1F31C ; [*1184.0020.0002.1F31C] # LAST QUARTER MOON WITH FACE
+1F31D ; [*1185.0020.0002.1F31D] # FULL MOON WITH FACE
+1F31E ; [*1186.0020.0002.1F31E] # SUN WITH FACE
+1F31F ; [*1187.0020.0002.1F31F] # GLOWING STAR
+1F320 ; [*1188.0020.0002.1F320] # SHOOTING STAR
+1F330 ; [*1189.0020.0002.1F330] # CHESTNUT
+1F331 ; [*118A.0020.0002.1F331] # SEEDLING
+1F332 ; [*118B.0020.0002.1F332] # EVERGREEN TREE
+1F333 ; [*118C.0020.0002.1F333] # DECIDUOUS TREE
+1F334 ; [*118D.0020.0002.1F334] # PALM TREE
+1F335 ; [*118E.0020.0002.1F335] # CACTUS
+1F337 ; [*118F.0020.0002.1F337] # TULIP
+1F338 ; [*1190.0020.0002.1F338] # CHERRY BLOSSOM
+1F339 ; [*1191.0020.0002.1F339] # ROSE
+1F33A ; [*1192.0020.0002.1F33A] # HIBISCUS
+1F33B ; [*1193.0020.0002.1F33B] # SUNFLOWER
+1F33C ; [*1194.0020.0002.1F33C] # BLOSSOM
+1F33D ; [*1195.0020.0002.1F33D] # EAR OF MAIZE
+1F33E ; [*1196.0020.0002.1F33E] # EAR OF RICE
+1F33F ; [*1197.0020.0002.1F33F] # HERB
+1F340 ; [*1198.0020.0002.1F340] # FOUR LEAF CLOVER
+1F341 ; [*1199.0020.0002.1F341] # MAPLE LEAF
+1F342 ; [*119A.0020.0002.1F342] # FALLEN LEAF
+1F343 ; [*119B.0020.0002.1F343] # LEAF FLUTTERING IN WIND
+1F344 ; [*119C.0020.0002.1F344] # MUSHROOM
+1F345 ; [*119D.0020.0002.1F345] # TOMATO
+1F346 ; [*119E.0020.0002.1F346] # AUBERGINE
+1F347 ; [*119F.0020.0002.1F347] # GRAPES
+1F348 ; [*11A0.0020.0002.1F348] # MELON
+1F349 ; [*11A1.0020.0002.1F349] # WATERMELON
+1F34A ; [*11A2.0020.0002.1F34A] # TANGERINE
+1F34B ; [*11A3.0020.0002.1F34B] # LEMON
+1F34C ; [*11A4.0020.0002.1F34C] # BANANA
+1F34D ; [*11A5.0020.0002.1F34D] # PINEAPPLE
+1F34E ; [*11A6.0020.0002.1F34E] # RED APPLE
+1F34F ; [*11A7.0020.0002.1F34F] # GREEN APPLE
+1F350 ; [*11A8.0020.0002.1F350] # PEAR
+1F351 ; [*11A9.0020.0002.1F351] # PEACH
+1F352 ; [*11AA.0020.0002.1F352] # CHERRIES
+1F353 ; [*11AB.0020.0002.1F353] # STRAWBERRY
+1F354 ; [*11AC.0020.0002.1F354] # HAMBURGER
+1F355 ; [*11AD.0020.0002.1F355] # SLICE OF PIZZA
+1F356 ; [*11AE.0020.0002.1F356] # MEAT ON BONE
+1F357 ; [*11AF.0020.0002.1F357] # POULTRY LEG
+1F358 ; [*11B0.0020.0002.1F358] # RICE CRACKER
+1F359 ; [*11B1.0020.0002.1F359] # RICE BALL
+1F35A ; [*11B2.0020.0002.1F35A] # COOKED RICE
+1F35B ; [*11B3.0020.0002.1F35B] # CURRY AND RICE
+1F35C ; [*11B4.0020.0002.1F35C] # STEAMING BOWL
+1F35D ; [*11B5.0020.0002.1F35D] # SPAGHETTI
+1F35E ; [*11B6.0020.0002.1F35E] # BREAD
+1F35F ; [*11B7.0020.0002.1F35F] # FRENCH FRIES
+1F360 ; [*11B8.0020.0002.1F360] # ROASTED SWEET POTATO
+1F361 ; [*11B9.0020.0002.1F361] # DANGO
+1F362 ; [*11BA.0020.0002.1F362] # ODEN
+1F363 ; [*11BB.0020.0002.1F363] # SUSHI
+1F364 ; [*11BC.0020.0002.1F364] # FRIED SHRIMP
+1F365 ; [*11BD.0020.0002.1F365] # FISH CAKE WITH SWIRL DESIGN
+1F366 ; [*11BE.0020.0002.1F366] # SOFT ICE CREAM
+1F367 ; [*11BF.0020.0002.1F367] # SHAVED ICE
+1F368 ; [*11C0.0020.0002.1F368] # ICE CREAM
+1F369 ; [*11C1.0020.0002.1F369] # DOUGHNUT
+1F36A ; [*11C2.0020.0002.1F36A] # COOKIE
+1F36B ; [*11C3.0020.0002.1F36B] # CHOCOLATE BAR
+1F36C ; [*11C4.0020.0002.1F36C] # CANDY
+1F36D ; [*11C5.0020.0002.1F36D] # LOLLIPOP
+1F36E ; [*11C6.0020.0002.1F36E] # CUSTARD
+1F36F ; [*11C7.0020.0002.1F36F] # HONEY POT
+1F370 ; [*11C8.0020.0002.1F370] # SHORTCAKE
+1F371 ; [*11C9.0020.0002.1F371] # BENTO BOX
+1F372 ; [*11CA.0020.0002.1F372] # POT OF FOOD
+1F373 ; [*11CB.0020.0002.1F373] # COOKING
+1F374 ; [*11CC.0020.0002.1F374] # FORK AND KNIFE
+1F375 ; [*11CD.0020.0002.1F375] # TEACUP WITHOUT HANDLE
+1F376 ; [*11CE.0020.0002.1F376] # SAKE BOTTLE AND CUP
+1F377 ; [*11CF.0020.0002.1F377] # WINE GLASS
+1F378 ; [*11D0.0020.0002.1F378] # COCKTAIL GLASS
+1F379 ; [*11D1.0020.0002.1F379] # TROPICAL DRINK
+1F37A ; [*11D2.0020.0002.1F37A] # BEER MUG
+1F37B ; [*11D3.0020.0002.1F37B] # CLINKING BEER MUGS
+1F37C ; [*11D4.0020.0002.1F37C] # BABY BOTTLE
+1F380 ; [*11D5.0020.0002.1F380] # RIBBON
+1F381 ; [*11D6.0020.0002.1F381] # WRAPPED PRESENT
+1F382 ; [*11D7.0020.0002.1F382] # BIRTHDAY CAKE
+1F383 ; [*11D8.0020.0002.1F383] # JACK-O-LANTERN
+1F384 ; [*11D9.0020.0002.1F384] # CHRISTMAS TREE
+1F385 ; [*11DA.0020.0002.1F385] # FATHER CHRISTMAS
+1F386 ; [*11DB.0020.0002.1F386] # FIREWORKS
+1F387 ; [*11DC.0020.0002.1F387] # FIREWORK SPARKLER
+1F388 ; [*11DD.0020.0002.1F388] # BALLOON
+1F389 ; [*11DE.0020.0002.1F389] # PARTY POPPER
+1F38A ; [*11DF.0020.0002.1F38A] # CONFETTI BALL
+1F38B ; [*11E0.0020.0002.1F38B] # TANABATA TREE
+1F38C ; [*11E1.0020.0002.1F38C] # CROSSED FLAGS
+1F38D ; [*11E2.0020.0002.1F38D] # PINE DECORATION
+1F38E ; [*11E3.0020.0002.1F38E] # JAPANESE DOLLS
+1F38F ; [*11E4.0020.0002.1F38F] # CARP STREAMER
+1F390 ; [*11E5.0020.0002.1F390] # WIND CHIME
+1F391 ; [*11E6.0020.0002.1F391] # MOON VIEWING CEREMONY
+1F392 ; [*11E7.0020.0002.1F392] # SCHOOL SATCHEL
+1F393 ; [*11E8.0020.0002.1F393] # GRADUATION CAP
+1F3A0 ; [*11E9.0020.0002.1F3A0] # CAROUSEL HORSE
+1F3A1 ; [*11EA.0020.0002.1F3A1] # FERRIS WHEEL
+1F3A2 ; [*11EB.0020.0002.1F3A2] # ROLLER COASTER
+1F3A3 ; [*11EC.0020.0002.1F3A3] # FISHING POLE AND FISH
+1F3A4 ; [*11ED.0020.0002.1F3A4] # MICROPHONE
+1F3A5 ; [*11EE.0020.0002.1F3A5] # MOVIE CAMERA
+1F3A6 ; [*11EF.0020.0002.1F3A6] # CINEMA
+1F3A7 ; [*11F0.0020.0002.1F3A7] # HEADPHONE
+1F3A8 ; [*11F1.0020.0002.1F3A8] # ARTIST PALETTE
+1F3A9 ; [*11F2.0020.0002.1F3A9] # TOP HAT
+1F3AA ; [*11F3.0020.0002.1F3AA] # CIRCUS TENT
+1F3AB ; [*11F4.0020.0002.1F3AB] # TICKET
+1F3AC ; [*11F5.0020.0002.1F3AC] # CLAPPER BOARD
+1F3AD ; [*11F6.0020.0002.1F3AD] # PERFORMING ARTS
+1F3AE ; [*11F7.0020.0002.1F3AE] # VIDEO GAME
+1F3AF ; [*11F8.0020.0002.1F3AF] # DIRECT HIT
+1F3B0 ; [*11F9.0020.0002.1F3B0] # SLOT MACHINE
+1F3B1 ; [*11FA.0020.0002.1F3B1] # BILLIARDS
+1F3B2 ; [*11FB.0020.0002.1F3B2] # GAME DIE
+1F3B3 ; [*11FC.0020.0002.1F3B3] # BOWLING
+1F3B4 ; [*11FD.0020.0002.1F3B4] # FLOWER PLAYING CARDS
+1F3B5 ; [*11FE.0020.0002.1F3B5] # MUSICAL NOTE
+1F3B6 ; [*11FF.0020.0002.1F3B6] # MULTIPLE MUSICAL NOTES
+1F3B7 ; [*1200.0020.0002.1F3B7] # SAXOPHONE
+1F3B8 ; [*1201.0020.0002.1F3B8] # GUITAR
+1F3B9 ; [*1202.0020.0002.1F3B9] # MUSICAL KEYBOARD
+1F3BA ; [*1203.0020.0002.1F3BA] # TRUMPET
+1F3BB ; [*1204.0020.0002.1F3BB] # VIOLIN
+1F3BC ; [*1205.0020.0002.1F3BC] # MUSICAL SCORE
+1F3BD ; [*1206.0020.0002.1F3BD] # RUNNING SHIRT WITH SASH
+1F3BE ; [*1207.0020.0002.1F3BE] # TENNIS RACQUET AND BALL
+1F3BF ; [*1208.0020.0002.1F3BF] # SKI AND SKI BOOT
+1F3C0 ; [*1209.0020.0002.1F3C0] # BASKETBALL AND HOOP
+1F3C1 ; [*120A.0020.0002.1F3C1] # CHEQUERED FLAG
+1F3C2 ; [*120B.0020.0002.1F3C2] # SNOWBOARDER
+1F3C3 ; [*120C.0020.0002.1F3C3] # RUNNER
+1F3C4 ; [*120D.0020.0002.1F3C4] # SURFER
+1F3C6 ; [*120E.0020.0002.1F3C6] # TROPHY
+1F3C7 ; [*120F.0020.0002.1F3C7] # HORSE RACING
+1F3C8 ; [*1210.0020.0002.1F3C8] # AMERICAN FOOTBALL
+1F3C9 ; [*1211.0020.0002.1F3C9] # RUGBY FOOTBALL
+1F3CA ; [*1212.0020.0002.1F3CA] # SWIMMER
+1F3E0 ; [*1213.0020.0002.1F3E0] # HOUSE BUILDING
+1F3E1 ; [*1214.0020.0002.1F3E1] # HOUSE WITH GARDEN
+1F3E2 ; [*1215.0020.0002.1F3E2] # OFFICE BUILDING
+1F3E3 ; [*1216.0020.0002.1F3E3] # JAPANESE POST OFFICE
+1F3E4 ; [*1217.0020.0002.1F3E4] # EUROPEAN POST OFFICE
+1F3E5 ; [*1218.0020.0002.1F3E5] # HOSPITAL
+1F3E6 ; [*1219.0020.0002.1F3E6] # BANK
+1F3E7 ; [*121A.0020.0002.1F3E7] # AUTOMATED TELLER MACHINE
+1F3E8 ; [*121B.0020.0002.1F3E8] # HOTEL
+1F3E9 ; [*121C.0020.0002.1F3E9] # LOVE HOTEL
+1F3EA ; [*121D.0020.0002.1F3EA] # CONVENIENCE STORE
+1F3EB ; [*121E.0020.0002.1F3EB] # SCHOOL
+1F3EC ; [*121F.0020.0002.1F3EC] # DEPARTMENT STORE
+1F3ED ; [*1220.0020.0002.1F3ED] # FACTORY
+1F3EE ; [*1221.0020.0002.1F3EE] # IZAKAYA LANTERN
+1F3EF ; [*1222.0020.0002.1F3EF] # JAPANESE CASTLE
+1F3F0 ; [*1223.0020.0002.1F3F0] # EUROPEAN CASTLE
+1F400 ; [*1224.0020.0002.1F400] # RAT
+1F401 ; [*1225.0020.0002.1F401] # MOUSE
+1F402 ; [*1226.0020.0002.1F402] # OX
+1F403 ; [*1227.0020.0002.1F403] # WATER BUFFALO
+1F404 ; [*1228.0020.0002.1F404] # COW
+1F405 ; [*1229.0020.0002.1F405] # TIGER
+1F406 ; [*122A.0020.0002.1F406] # LEOPARD
+1F407 ; [*122B.0020.0002.1F407] # RABBIT
+1F408 ; [*122C.0020.0002.1F408] # CAT
+1F409 ; [*122D.0020.0002.1F409] # DRAGON
+1F40A ; [*122E.0020.0002.1F40A] # CROCODILE
+1F40B ; [*122F.0020.0002.1F40B] # WHALE
+1F40C ; [*1230.0020.0002.1F40C] # SNAIL
+1F40D ; [*1231.0020.0002.1F40D] # SNAKE
+1F40E ; [*1232.0020.0002.1F40E] # HORSE
+1F40F ; [*1233.0020.0002.1F40F] # RAM
+1F410 ; [*1234.0020.0002.1F410] # GOAT
+1F411 ; [*1235.0020.0002.1F411] # SHEEP
+1F412 ; [*1236.0020.0002.1F412] # MONKEY
+1F413 ; [*1237.0020.0002.1F413] # ROOSTER
+1F414 ; [*1238.0020.0002.1F414] # CHICKEN
+1F415 ; [*1239.0020.0002.1F415] # DOG
+1F416 ; [*123A.0020.0002.1F416] # PIG
+1F417 ; [*123B.0020.0002.1F417] # BOAR
+1F418 ; [*123C.0020.0002.1F418] # ELEPHANT
+1F419 ; [*123D.0020.0002.1F419] # OCTOPUS
+1F41A ; [*123E.0020.0002.1F41A] # SPIRAL SHELL
+1F41B ; [*123F.0020.0002.1F41B] # BUG
+1F41C ; [*1240.0020.0002.1F41C] # ANT
+1F41D ; [*1241.0020.0002.1F41D] # HONEYBEE
+1F41E ; [*1242.0020.0002.1F41E] # LADY BEETLE
+1F41F ; [*1243.0020.0002.1F41F] # FISH
+1F420 ; [*1244.0020.0002.1F420] # TROPICAL FISH
+1F421 ; [*1245.0020.0002.1F421] # BLOWFISH
+1F422 ; [*1246.0020.0002.1F422] # TURTLE
+1F423 ; [*1247.0020.0002.1F423] # HATCHING CHICK
+1F424 ; [*1248.0020.0002.1F424] # BABY CHICK
+1F425 ; [*1249.0020.0002.1F425] # FRONT-FACING BABY CHICK
+1F426 ; [*124A.0020.0002.1F426] # BIRD
+1F427 ; [*124B.0020.0002.1F427] # PENGUIN
+1F428 ; [*124C.0020.0002.1F428] # KOALA
+1F429 ; [*124D.0020.0002.1F429] # POODLE
+1F42A ; [*124E.0020.0002.1F42A] # DROMEDARY CAMEL
+1F42B ; [*124F.0020.0002.1F42B] # BACTRIAN CAMEL
+1F42C ; [*1250.0020.0002.1F42C] # DOLPHIN
+1F42D ; [*1251.0020.0002.1F42D] # MOUSE FACE
+1F42E ; [*1252.0020.0002.1F42E] # COW FACE
+1F42F ; [*1253.0020.0002.1F42F] # TIGER FACE
+1F430 ; [*1254.0020.0002.1F430] # RABBIT FACE
+1F431 ; [*1255.0020.0002.1F431] # CAT FACE
+1F432 ; [*1256.0020.0002.1F432] # DRAGON FACE
+1F433 ; [*1257.0020.0002.1F433] # SPOUTING WHALE
+1F434 ; [*1258.0020.0002.1F434] # HORSE FACE
+1F435 ; [*1259.0020.0002.1F435] # MONKEY FACE
+1F436 ; [*125A.0020.0002.1F436] # DOG FACE
+1F437 ; [*125B.0020.0002.1F437] # PIG FACE
+1F438 ; [*125C.0020.0002.1F438] # FROG FACE
+1F439 ; [*125D.0020.0002.1F439] # HAMSTER FACE
+1F43A ; [*125E.0020.0002.1F43A] # WOLF FACE
+1F43B ; [*125F.0020.0002.1F43B] # BEAR FACE
+1F43C ; [*1260.0020.0002.1F43C] # PANDA FACE
+1F43D ; [*1261.0020.0002.1F43D] # PIG NOSE
+1F43E ; [*1262.0020.0002.1F43E] # PAW PRINTS
+1F440 ; [*1263.0020.0002.1F440] # EYES
+1F442 ; [*1264.0020.0002.1F442] # EAR
+1F443 ; [*1265.0020.0002.1F443] # NOSE
+1F444 ; [*1266.0020.0002.1F444] # MOUTH
+1F445 ; [*1267.0020.0002.1F445] # TONGUE
+1F446 ; [*1268.0020.0002.1F446] # WHITE UP POINTING BACKHAND INDEX
+1F447 ; [*1269.0020.0002.1F447] # WHITE DOWN POINTING BACKHAND INDEX
+1F448 ; [*126A.0020.0002.1F448] # WHITE LEFT POINTING BACKHAND INDEX
+1F449 ; [*126B.0020.0002.1F449] # WHITE RIGHT POINTING BACKHAND INDEX
+1F44A ; [*126C.0020.0002.1F44A] # FISTED HAND SIGN
+1F44B ; [*126D.0020.0002.1F44B] # WAVING HAND SIGN
+1F44C ; [*126E.0020.0002.1F44C] # OK HAND SIGN
+1F44D ; [*126F.0020.0002.1F44D] # THUMBS UP SIGN
+1F44E ; [*1270.0020.0002.1F44E] # THUMBS DOWN SIGN
+1F44F ; [*1271.0020.0002.1F44F] # CLAPPING HANDS SIGN
+1F450 ; [*1272.0020.0002.1F450] # OPEN HANDS SIGN
+1F451 ; [*1273.0020.0002.1F451] # CROWN
+1F452 ; [*1274.0020.0002.1F452] # WOMANS HAT
+1F453 ; [*1275.0020.0002.1F453] # EYEGLASSES
+1F454 ; [*1276.0020.0002.1F454] # NECKTIE
+1F455 ; [*1277.0020.0002.1F455] # T-SHIRT
+1F456 ; [*1278.0020.0002.1F456] # JEANS
+1F457 ; [*1279.0020.0002.1F457] # DRESS
+1F458 ; [*127A.0020.0002.1F458] # KIMONO
+1F459 ; [*127B.0020.0002.1F459] # BIKINI
+1F45A ; [*127C.0020.0002.1F45A] # WOMANS CLOTHES
+1F45B ; [*127D.0020.0002.1F45B] # PURSE
+1F45C ; [*127E.0020.0002.1F45C] # HANDBAG
+1F45D ; [*127F.0020.0002.1F45D] # POUCH
+1F45E ; [*1280.0020.0002.1F45E] # MANS SHOE
+1F45F ; [*1281.0020.0002.1F45F] # ATHLETIC SHOE
+1F460 ; [*1282.0020.0002.1F460] # HIGH-HEELED SHOE
+1F461 ; [*1283.0020.0002.1F461] # WOMANS SANDAL
+1F462 ; [*1284.0020.0002.1F462] # WOMANS BOOTS
+1F463 ; [*1285.0020.0002.1F463] # FOOTPRINTS
+1F464 ; [*1286.0020.0002.1F464] # BUST IN SILHOUETTE
+1F465 ; [*1287.0020.0002.1F465] # BUSTS IN SILHOUETTE
+1F466 ; [*1288.0020.0002.1F466] # BOY
+1F467 ; [*1289.0020.0002.1F467] # GIRL
+1F468 ; [*128A.0020.0002.1F468] # MAN
+1F469 ; [*128B.0020.0002.1F469] # WOMAN
+1F46A ; [*128C.0020.0002.1F46A] # FAMILY
+1F46B ; [*128D.0020.0002.1F46B] # MAN AND WOMAN HOLDING HANDS
+1F46C ; [*128E.0020.0002.1F46C] # TWO MEN HOLDING HANDS
+1F46D ; [*128F.0020.0002.1F46D] # TWO WOMEN HOLDING HANDS
+1F46E ; [*1290.0020.0002.1F46E] # POLICE OFFICER
+1F46F ; [*1291.0020.0002.1F46F] # WOMAN WITH BUNNY EARS
+1F470 ; [*1292.0020.0002.1F470] # BRIDE WITH VEIL
+1F471 ; [*1293.0020.0002.1F471] # PERSON WITH BLOND HAIR
+1F472 ; [*1294.0020.0002.1F472] # MAN WITH GUA PI MAO
+1F473 ; [*1295.0020.0002.1F473] # MAN WITH TURBAN
+1F474 ; [*1296.0020.0002.1F474] # OLDER MAN
+1F475 ; [*1297.0020.0002.1F475] # OLDER WOMAN
+1F476 ; [*1298.0020.0002.1F476] # BABY
+1F477 ; [*1299.0020.0002.1F477] # CONSTRUCTION WORKER
+1F478 ; [*129A.0020.0002.1F478] # PRINCESS
+1F479 ; [*129B.0020.0002.1F479] # JAPANESE OGRE
+1F47A ; [*129C.0020.0002.1F47A] # JAPANESE GOBLIN
+1F47B ; [*129D.0020.0002.1F47B] # GHOST
+1F47C ; [*129E.0020.0002.1F47C] # BABY ANGEL
+1F47D ; [*129F.0020.0002.1F47D] # EXTRATERRESTRIAL ALIEN
+1F47E ; [*12A0.0020.0002.1F47E] # ALIEN MONSTER
+1F47F ; [*12A1.0020.0002.1F47F] # IMP
+1F480 ; [*12A2.0020.0002.1F480] # SKULL
+1F481 ; [*12A3.0020.0002.1F481] # INFORMATION DESK PERSON
+1F482 ; [*12A4.0020.0002.1F482] # GUARDSMAN
+1F483 ; [*12A5.0020.0002.1F483] # DANCER
+1F484 ; [*12A6.0020.0002.1F484] # LIPSTICK
+1F485 ; [*12A7.0020.0002.1F485] # NAIL POLISH
+1F486 ; [*12A8.0020.0002.1F486] # FACE MASSAGE
+1F487 ; [*12A9.0020.0002.1F487] # HAIRCUT
+1F488 ; [*12AA.0020.0002.1F488] # BARBER POLE
+1F489 ; [*12AB.0020.0002.1F489] # SYRINGE
+1F48A ; [*12AC.0020.0002.1F48A] # PILL
+1F48B ; [*12AD.0020.0002.1F48B] # KISS MARK
+1F48C ; [*12AE.0020.0002.1F48C] # LOVE LETTER
+1F48D ; [*12AF.0020.0002.1F48D] # RING
+1F48E ; [*12B0.0020.0002.1F48E] # GEM STONE
+1F48F ; [*12B1.0020.0002.1F48F] # KISS
+1F490 ; [*12B2.0020.0002.1F490] # BOUQUET
+1F491 ; [*12B3.0020.0002.1F491] # COUPLE WITH HEART
+1F492 ; [*12B4.0020.0002.1F492] # WEDDING
+1F493 ; [*12B5.0020.0002.1F493] # BEATING HEART
+1F494 ; [*12B6.0020.0002.1F494] # BROKEN HEART
+1F495 ; [*12B7.0020.0002.1F495] # TWO HEARTS
+1F496 ; [*12B8.0020.0002.1F496] # SPARKLING HEART
+1F497 ; [*12B9.0020.0002.1F497] # GROWING HEART
+1F498 ; [*12BA.0020.0002.1F498] # HEART WITH ARROW
+1F499 ; [*12BB.0020.0002.1F499] # BLUE HEART
+1F49A ; [*12BC.0020.0002.1F49A] # GREEN HEART
+1F49B ; [*12BD.0020.0002.1F49B] # YELLOW HEART
+1F49C ; [*12BE.0020.0002.1F49C] # PURPLE HEART
+1F49D ; [*12BF.0020.0002.1F49D] # HEART WITH RIBBON
+1F49E ; [*12C0.0020.0002.1F49E] # REVOLVING HEARTS
+1F49F ; [*12C1.0020.0002.1F49F] # HEART DECORATION
+1F4A0 ; [*12C2.0020.0002.1F4A0] # DIAMOND SHAPE WITH A DOT INSIDE
+1F4A1 ; [*12C3.0020.0002.1F4A1] # ELECTRIC LIGHT BULB
+1F4A2 ; [*12C4.0020.0002.1F4A2] # ANGER SYMBOL
+1F4A3 ; [*12C5.0020.0002.1F4A3] # BOMB
+1F4A4 ; [*12C6.0020.0002.1F4A4] # SLEEPING SYMBOL
+1F4A5 ; [*12C7.0020.0002.1F4A5] # COLLISION SYMBOL
+1F4A6 ; [*12C8.0020.0002.1F4A6] # SPLASHING SWEAT SYMBOL
+1F4A7 ; [*12C9.0020.0002.1F4A7] # DROPLET
+1F4A8 ; [*12CA.0020.0002.1F4A8] # DASH SYMBOL
+1F4A9 ; [*12CB.0020.0002.1F4A9] # PILE OF POO
+1F4AA ; [*12CC.0020.0002.1F4AA] # FLEXED BICEPS
+1F4AB ; [*12CD.0020.0002.1F4AB] # DIZZY SYMBOL
+1F4AC ; [*12CE.0020.0002.1F4AC] # SPEECH BALLOON
+1F4AD ; [*12CF.0020.0002.1F4AD] # THOUGHT BALLOON
+1F4AE ; [*12D0.0020.0002.1F4AE] # WHITE FLOWER
+1F4AF ; [*12D1.0020.0002.1F4AF] # HUNDRED POINTS SYMBOL
+1F4B0 ; [*12D2.0020.0002.1F4B0] # MONEY BAG
+1F4B1 ; [*12D3.0020.0002.1F4B1] # CURRENCY EXCHANGE
+1F4B2 ; [*12D4.0020.0002.1F4B2] # HEAVY DOLLAR SIGN
+1F4B3 ; [*12D5.0020.0002.1F4B3] # CREDIT CARD
+1F4B4 ; [*12D6.0020.0002.1F4B4] # BANKNOTE WITH YEN SIGN
+1F4B5 ; [*12D7.0020.0002.1F4B5] # BANKNOTE WITH DOLLAR SIGN
+1F4B6 ; [*12D8.0020.0002.1F4B6] # BANKNOTE WITH EURO SIGN
+1F4B7 ; [*12D9.0020.0002.1F4B7] # BANKNOTE WITH POUND SIGN
+1F4B8 ; [*12DA.0020.0002.1F4B8] # MONEY WITH WINGS
+1F4B9 ; [*12DB.0020.0002.1F4B9] # CHART WITH UPWARDS TREND AND YEN SIGN
+1F4BA ; [*12DC.0020.0002.1F4BA] # SEAT
+1F4BB ; [*12DD.0020.0002.1F4BB] # PERSONAL COMPUTER
+1F4BC ; [*12DE.0020.0002.1F4BC] # BRIEFCASE
+1F4BD ; [*12DF.0020.0002.1F4BD] # MINIDISC
+1F4BE ; [*12E0.0020.0002.1F4BE] # FLOPPY DISK
+1F4BF ; [*12E1.0020.0002.1F4BF] # OPTICAL DISC
+1F4C0 ; [*12E2.0020.0002.1F4C0] # DVD
+1F4C1 ; [*12E3.0020.0002.1F4C1] # FILE FOLDER
+1F4C2 ; [*12E4.0020.0002.1F4C2] # OPEN FILE FOLDER
+1F4C3 ; [*12E5.0020.0002.1F4C3] # PAGE WITH CURL
+1F4C4 ; [*12E6.0020.0002.1F4C4] # PAGE FACING UP
+1F4C5 ; [*12E7.0020.0002.1F4C5] # CALENDAR
+1F4C6 ; [*12E8.0020.0002.1F4C6] # TEAR-OFF CALENDAR
+1F4C7 ; [*12E9.0020.0002.1F4C7] # CARD INDEX
+1F4C8 ; [*12EA.0020.0002.1F4C8] # CHART WITH UPWARDS TREND
+1F4C9 ; [*12EB.0020.0002.1F4C9] # CHART WITH DOWNWARDS TREND
+1F4CA ; [*12EC.0020.0002.1F4CA] # BAR CHART
+1F4CB ; [*12ED.0020.0002.1F4CB] # CLIPBOARD
+1F4CC ; [*12EE.0020.0002.1F4CC] # PUSHPIN
+1F4CD ; [*12EF.0020.0002.1F4CD] # ROUND PUSHPIN
+1F4CE ; [*12F0.0020.0002.1F4CE] # PAPERCLIP
+1F4CF ; [*12F1.0020.0002.1F4CF] # STRAIGHT RULER
+1F4D0 ; [*12F2.0020.0002.1F4D0] # TRIANGULAR RULER
+1F4D1 ; [*12F3.0020.0002.1F4D1] # BOOKMARK TABS
+1F4D2 ; [*12F4.0020.0002.1F4D2] # LEDGER
+1F4D3 ; [*12F5.0020.0002.1F4D3] # NOTEBOOK
+1F4D4 ; [*12F6.0020.0002.1F4D4] # NOTEBOOK WITH DECORATIVE COVER
+1F4D5 ; [*12F7.0020.0002.1F4D5] # CLOSED BOOK
+1F4D6 ; [*12F8.0020.0002.1F4D6] # OPEN BOOK
+1F4D7 ; [*12F9.0020.0002.1F4D7] # GREEN BOOK
+1F4D8 ; [*12FA.0020.0002.1F4D8] # BLUE BOOK
+1F4D9 ; [*12FB.0020.0002.1F4D9] # ORANGE BOOK
+1F4DA ; [*12FC.0020.0002.1F4DA] # BOOKS
+1F4DB ; [*12FD.0020.0002.1F4DB] # NAME BADGE
+1F4DC ; [*12FE.0020.0002.1F4DC] # SCROLL
+1F4DD ; [*12FF.0020.0002.1F4DD] # MEMO
+1F4DE ; [*1300.0020.0002.1F4DE] # TELEPHONE RECEIVER
+1F4DF ; [*1301.0020.0002.1F4DF] # PAGER
+1F4E0 ; [*1302.0020.0002.1F4E0] # FAX MACHINE
+1F4E1 ; [*1303.0020.0002.1F4E1] # SATELLITE ANTENNA
+1F4E2 ; [*1304.0020.0002.1F4E2] # PUBLIC ADDRESS LOUDSPEAKER
+1F4E3 ; [*1305.0020.0002.1F4E3] # CHEERING MEGAPHONE
+1F4E4 ; [*1306.0020.0002.1F4E4] # OUTBOX TRAY
+1F4E5 ; [*1307.0020.0002.1F4E5] # INBOX TRAY
+1F4E6 ; [*1308.0020.0002.1F4E6] # PACKAGE
+1F4E7 ; [*1309.0020.0002.1F4E7] # E-MAIL SYMBOL
+1F4E8 ; [*130A.0020.0002.1F4E8] # INCOMING ENVELOPE
+1F4E9 ; [*130B.0020.0002.1F4E9] # ENVELOPE WITH DOWNWARDS ARROW ABOVE
+1F4EA ; [*130C.0020.0002.1F4EA] # CLOSED MAILBOX WITH LOWERED FLAG
+1F4EB ; [*130D.0020.0002.1F4EB] # CLOSED MAILBOX WITH RAISED FLAG
+1F4EC ; [*130E.0020.0002.1F4EC] # OPEN MAILBOX WITH RAISED FLAG
+1F4ED ; [*130F.0020.0002.1F4ED] # OPEN MAILBOX WITH LOWERED FLAG
+1F4EE ; [*1310.0020.0002.1F4EE] # POSTBOX
+1F4EF ; [*1311.0020.0002.1F4EF] # POSTAL HORN
+1F4F0 ; [*1312.0020.0002.1F4F0] # NEWSPAPER
+1F4F1 ; [*1313.0020.0002.1F4F1] # MOBILE PHONE
+1F4F2 ; [*1314.0020.0002.1F4F2] # MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT
+1F4F3 ; [*1315.0020.0002.1F4F3] # VIBRATION MODE
+1F4F4 ; [*1316.0020.0002.1F4F4] # MOBILE PHONE OFF
+1F4F5 ; [*1317.0020.0002.1F4F5] # NO MOBILE PHONES
+1F4F6 ; [*1318.0020.0002.1F4F6] # ANTENNA WITH BARS
+1F4F7 ; [*1319.0020.0002.1F4F7] # CAMERA
+1F4F9 ; [*131A.0020.0002.1F4F9] # VIDEO CAMERA
+1F4FA ; [*131B.0020.0002.1F4FA] # TELEVISION
+1F4FB ; [*131C.0020.0002.1F4FB] # RADIO
+1F4FC ; [*131D.0020.0002.1F4FC] # VIDEOCASSETTE
+1F500 ; [*131E.0020.0002.1F500] # TWISTED RIGHTWARDS ARROWS
+1F501 ; [*131F.0020.0002.1F501] # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS
+1F502 ; [*1320.0020.0002.1F502] # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY
+1F503 ; [*1321.0020.0002.1F503] # CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
+1F504 ; [*1322.0020.0002.1F504] # ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
+1F505 ; [*1323.0020.0002.1F505] # LOW BRIGHTNESS SYMBOL
+1F506 ; [*1324.0020.0002.1F506] # HIGH BRIGHTNESS SYMBOL
+1F507 ; [*1325.0020.0002.1F507] # SPEAKER WITH CANCELLATION STROKE
+1F508 ; [*1326.0020.0002.1F508] # SPEAKER
+1F509 ; [*1327.0020.0002.1F509] # SPEAKER WITH ONE SOUND WAVE
+1F50A ; [*1328.0020.0002.1F50A] # SPEAKER WITH THREE SOUND WAVES
+1F50B ; [*1329.0020.0002.1F50B] # BATTERY
+1F50C ; [*132A.0020.0002.1F50C] # ELECTRIC PLUG
+1F50D ; [*132B.0020.0002.1F50D] # LEFT-POINTING MAGNIFYING GLASS
+1F50E ; [*132C.0020.0002.1F50E] # RIGHT-POINTING MAGNIFYING GLASS
+1F50F ; [*132D.0020.0002.1F50F] # LOCK WITH INK PEN
+1F510 ; [*132E.0020.0002.1F510] # CLOSED LOCK WITH KEY
+1F511 ; [*132F.0020.0002.1F511] # KEY
+1F512 ; [*1330.0020.0002.1F512] # LOCK
+1F513 ; [*1331.0020.0002.1F513] # OPEN LOCK
+1F514 ; [*1332.0020.0002.1F514] # BELL
+1F515 ; [*1333.0020.0002.1F515] # BELL WITH CANCELLATION STROKE
+1F516 ; [*1334.0020.0002.1F516] # BOOKMARK
+1F517 ; [*1335.0020.0002.1F517] # LINK SYMBOL
+1F518 ; [*1336.0020.0002.1F518] # RADIO BUTTON
+1F519 ; [*1337.0020.0002.1F519] # BACK WITH LEFTWARDS ARROW ABOVE
+1F51A ; [*1338.0020.0002.1F51A] # END WITH LEFTWARDS ARROW ABOVE
+1F51B ; [*1339.0020.0002.1F51B] # ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE
+1F51C ; [*133A.0020.0002.1F51C] # SOON WITH RIGHTWARDS ARROW ABOVE
+1F51D ; [*133B.0020.0002.1F51D] # TOP WITH UPWARDS ARROW ABOVE
+1F51E ; [*133C.0020.0002.1F51E] # NO ONE UNDER EIGHTEEN SYMBOL
+1F51F ; [*133D.0020.0002.1F51F] # KEYCAP TEN
+1F520 ; [*133E.0020.0002.1F520] # INPUT SYMBOL FOR LATIN CAPITAL LETTERS
+1F521 ; [*133F.0020.0002.1F521] # INPUT SYMBOL FOR LATIN SMALL LETTERS
+1F522 ; [*1340.0020.0002.1F522] # INPUT SYMBOL FOR NUMBERS
+1F523 ; [*1341.0020.0002.1F523] # INPUT SYMBOL FOR SYMBOLS
+1F524 ; [*1342.0020.0002.1F524] # INPUT SYMBOL FOR LATIN LETTERS
+1F525 ; [*1343.0020.0002.1F525] # FIRE
+1F526 ; [*1344.0020.0002.1F526] # ELECTRIC TORCH
+1F527 ; [*1345.0020.0002.1F527] # WRENCH
+1F528 ; [*1346.0020.0002.1F528] # HAMMER
+1F529 ; [*1347.0020.0002.1F529] # NUT AND BOLT
+1F52A ; [*1348.0020.0002.1F52A] # HOCHO
+1F52B ; [*1349.0020.0002.1F52B] # PISTOL
+1F52C ; [*134A.0020.0002.1F52C] # MICROSCOPE
+1F52D ; [*134B.0020.0002.1F52D] # TELESCOPE
+1F52E ; [*134C.0020.0002.1F52E] # CRYSTAL BALL
+1F52F ; [*134D.0020.0002.1F52F] # SIX POINTED STAR WITH MIDDLE DOT
+1F530 ; [*134E.0020.0002.1F530] # JAPANESE SYMBOL FOR BEGINNER
+1F531 ; [*134F.0020.0002.1F531] # TRIDENT EMBLEM
+1F532 ; [*1350.0020.0002.1F532] # BLACK SQUARE BUTTON
+1F533 ; [*1351.0020.0002.1F533] # WHITE SQUARE BUTTON
+1F534 ; [*1352.0020.0002.1F534] # LARGE RED CIRCLE
+1F535 ; [*1353.0020.0002.1F535] # LARGE BLUE CIRCLE
+1F536 ; [*1354.0020.0002.1F536] # LARGE ORANGE DIAMOND
+1F537 ; [*1355.0020.0002.1F537] # LARGE BLUE DIAMOND
+1F538 ; [*1356.0020.0002.1F538] # SMALL ORANGE DIAMOND
+1F539 ; [*1357.0020.0002.1F539] # SMALL BLUE DIAMOND
+1F53A ; [*1358.0020.0002.1F53A] # UP-POINTING RED TRIANGLE
+1F53B ; [*1359.0020.0002.1F53B] # DOWN-POINTING RED TRIANGLE
+1F53C ; [*135A.0020.0002.1F53C] # UP-POINTING SMALL RED TRIANGLE
+1F53D ; [*135B.0020.0002.1F53D] # DOWN-POINTING SMALL RED TRIANGLE
+1F540 ; [*135C.0020.0002.1F540] # CIRCLED CROSS POMMEE
+1F541 ; [*135D.0020.0002.1F541] # CROSS POMMEE WITH HALF-CIRCLE BELOW
+1F542 ; [*135E.0020.0002.1F542] # CROSS POMMEE
+1F543 ; [*135F.0020.0002.1F543] # NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
+1F550 ; [*1360.0020.0002.1F550] # CLOCK FACE ONE OCLOCK
+1F551 ; [*1361.0020.0002.1F551] # CLOCK FACE TWO OCLOCK
+1F552 ; [*1362.0020.0002.1F552] # CLOCK FACE THREE OCLOCK
+1F553 ; [*1363.0020.0002.1F553] # CLOCK FACE FOUR OCLOCK
+1F554 ; [*1364.0020.0002.1F554] # CLOCK FACE FIVE OCLOCK
+1F555 ; [*1365.0020.0002.1F555] # CLOCK FACE SIX OCLOCK
+1F556 ; [*1366.0020.0002.1F556] # CLOCK FACE SEVEN OCLOCK
+1F557 ; [*1367.0020.0002.1F557] # CLOCK FACE EIGHT OCLOCK
+1F558 ; [*1368.0020.0002.1F558] # CLOCK FACE NINE OCLOCK
+1F559 ; [*1369.0020.0002.1F559] # CLOCK FACE TEN OCLOCK
+1F55A ; [*136A.0020.0002.1F55A] # CLOCK FACE ELEVEN OCLOCK
+1F55B ; [*136B.0020.0002.1F55B] # CLOCK FACE TWELVE OCLOCK
+1F55C ; [*136C.0020.0002.1F55C] # CLOCK FACE ONE-THIRTY
+1F55D ; [*136D.0020.0002.1F55D] # CLOCK FACE TWO-THIRTY
+1F55E ; [*136E.0020.0002.1F55E] # CLOCK FACE THREE-THIRTY
+1F55F ; [*136F.0020.0002.1F55F] # CLOCK FACE FOUR-THIRTY
+1F560 ; [*1370.0020.0002.1F560] # CLOCK FACE FIVE-THIRTY
+1F561 ; [*1371.0020.0002.1F561] # CLOCK FACE SIX-THIRTY
+1F562 ; [*1372.0020.0002.1F562] # CLOCK FACE SEVEN-THIRTY
+1F563 ; [*1373.0020.0002.1F563] # CLOCK FACE EIGHT-THIRTY
+1F564 ; [*1374.0020.0002.1F564] # CLOCK FACE NINE-THIRTY
+1F565 ; [*1375.0020.0002.1F565] # CLOCK FACE TEN-THIRTY
+1F566 ; [*1376.0020.0002.1F566] # CLOCK FACE ELEVEN-THIRTY
+1F567 ; [*1377.0020.0002.1F567] # CLOCK FACE TWELVE-THIRTY
+1F5FB ; [*1378.0020.0002.1F5FB] # MOUNT FUJI
+1F5FC ; [*1379.0020.0002.1F5FC] # TOKYO TOWER
+1F5FD ; [*137A.0020.0002.1F5FD] # STATUE OF LIBERTY
+1F5FE ; [*137B.0020.0002.1F5FE] # SILHOUETTE OF JAPAN
+1F5FF ; [*137C.0020.0002.1F5FF] # MOYAI
+1F600 ; [*137D.0020.0002.1F600] # GRINNING FACE
+1F601 ; [*137E.0020.0002.1F601] # GRINNING FACE WITH SMILING EYES
+1F602 ; [*137F.0020.0002.1F602] # FACE WITH TEARS OF JOY
+1F603 ; [*1380.0020.0002.1F603] # SMILING FACE WITH OPEN MOUTH
+1F604 ; [*1381.0020.0002.1F604] # SMILING FACE WITH OPEN MOUTH AND SMILING EYES
+1F605 ; [*1382.0020.0002.1F605] # SMILING FACE WITH OPEN MOUTH AND COLD SWEAT
+1F606 ; [*1383.0020.0002.1F606] # SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES
+1F607 ; [*1384.0020.0002.1F607] # SMILING FACE WITH HALO
+1F608 ; [*1385.0020.0002.1F608] # SMILING FACE WITH HORNS
+1F609 ; [*1386.0020.0002.1F609] # WINKING FACE
+1F60A ; [*1387.0020.0002.1F60A] # SMILING FACE WITH SMILING EYES
+1F60B ; [*1388.0020.0002.1F60B] # FACE SAVOURING DELICIOUS FOOD
+1F60C ; [*1389.0020.0002.1F60C] # RELIEVED FACE
+1F60D ; [*138A.0020.0002.1F60D] # SMILING FACE WITH HEART-SHAPED EYES
+1F60E ; [*138B.0020.0002.1F60E] # SMILING FACE WITH SUNGLASSES
+1F60F ; [*138C.0020.0002.1F60F] # SMIRKING FACE
+1F610 ; [*138D.0020.0002.1F610] # NEUTRAL FACE
+1F611 ; [*138E.0020.0002.1F611] # EXPRESSIONLESS FACE
+1F612 ; [*138F.0020.0002.1F612] # UNAMUSED FACE
+1F613 ; [*1390.0020.0002.1F613] # FACE WITH COLD SWEAT
+1F614 ; [*1391.0020.0002.1F614] # PENSIVE FACE
+1F615 ; [*1392.0020.0002.1F615] # CONFUSED FACE
+1F616 ; [*1393.0020.0002.1F616] # CONFOUNDED FACE
+1F617 ; [*1394.0020.0002.1F617] # KISSING FACE
+1F618 ; [*1395.0020.0002.1F618] # FACE THROWING A KISS
+1F619 ; [*1396.0020.0002.1F619] # KISSING FACE WITH SMILING EYES
+1F61A ; [*1397.0020.0002.1F61A] # KISSING FACE WITH CLOSED EYES
+1F61B ; [*1398.0020.0002.1F61B] # FACE WITH STUCK-OUT TONGUE
+1F61C ; [*1399.0020.0002.1F61C] # FACE WITH STUCK-OUT TONGUE AND WINKING EYE
+1F61D ; [*139A.0020.0002.1F61D] # FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES
+1F61E ; [*139B.0020.0002.1F61E] # DISAPPOINTED FACE
+1F61F ; [*139C.0020.0002.1F61F] # WORRIED FACE
+1F620 ; [*139D.0020.0002.1F620] # ANGRY FACE
+1F621 ; [*139E.0020.0002.1F621] # POUTING FACE
+1F622 ; [*139F.0020.0002.1F622] # CRYING FACE
+1F623 ; [*13A0.0020.0002.1F623] # PERSEVERING FACE
+1F624 ; [*13A1.0020.0002.1F624] # FACE WITH LOOK OF TRIUMPH
+1F625 ; [*13A2.0020.0002.1F625] # DISAPPOINTED BUT RELIEVED FACE
+1F626 ; [*13A3.0020.0002.1F626] # FROWNING FACE WITH OPEN MOUTH
+1F627 ; [*13A4.0020.0002.1F627] # ANGUISHED FACE
+1F628 ; [*13A5.0020.0002.1F628] # FEARFUL FACE
+1F629 ; [*13A6.0020.0002.1F629] # WEARY FACE
+1F62A ; [*13A7.0020.0002.1F62A] # SLEEPY FACE
+1F62B ; [*13A8.0020.0002.1F62B] # TIRED FACE
+1F62C ; [*13A9.0020.0002.1F62C] # GRIMACING FACE
+1F62D ; [*13AA.0020.0002.1F62D] # LOUDLY CRYING FACE
+1F62E ; [*13AB.0020.0002.1F62E] # FACE WITH OPEN MOUTH
+1F62F ; [*13AC.0020.0002.1F62F] # HUSHED FACE
+1F630 ; [*13AD.0020.0002.1F630] # FACE WITH OPEN MOUTH AND COLD SWEAT
+1F631 ; [*13AE.0020.0002.1F631] # FACE SCREAMING IN FEAR
+1F632 ; [*13AF.0020.0002.1F632] # ASTONISHED FACE
+1F633 ; [*13B0.0020.0002.1F633] # FLUSHED FACE
+1F634 ; [*13B1.0020.0002.1F634] # SLEEPING FACE
+1F635 ; [*13B2.0020.0002.1F635] # DIZZY FACE
+1F636 ; [*13B3.0020.0002.1F636] # FACE WITHOUT MOUTH
+1F637 ; [*13B4.0020.0002.1F637] # FACE WITH MEDICAL MASK
+1F638 ; [*13B5.0020.0002.1F638] # GRINNING CAT FACE WITH SMILING EYES
+1F639 ; [*13B6.0020.0002.1F639] # CAT FACE WITH TEARS OF JOY
+1F63A ; [*13B7.0020.0002.1F63A] # SMILING CAT FACE WITH OPEN MOUTH
+1F63B ; [*13B8.0020.0002.1F63B] # SMILING CAT FACE WITH HEART-SHAPED EYES
+1F63C ; [*13B9.0020.0002.1F63C] # CAT FACE WITH WRY SMILE
+1F63D ; [*13BA.0020.0002.1F63D] # KISSING CAT FACE WITH CLOSED EYES
+1F63E ; [*13BB.0020.0002.1F63E] # POUTING CAT FACE
+1F63F ; [*13BC.0020.0002.1F63F] # CRYING CAT FACE
+1F640 ; [*13BD.0020.0002.1F640] # WEARY CAT FACE
+1F645 ; [*13BE.0020.0002.1F645] # FACE WITH NO GOOD GESTURE
+1F646 ; [*13BF.0020.0002.1F646] # FACE WITH OK GESTURE
+1F647 ; [*13C0.0020.0002.1F647] # PERSON BOWING DEEPLY
+1F648 ; [*13C1.0020.0002.1F648] # SEE-NO-EVIL MONKEY
+1F649 ; [*13C2.0020.0002.1F649] # HEAR-NO-EVIL MONKEY
+1F64A ; [*13C3.0020.0002.1F64A] # SPEAK-NO-EVIL MONKEY
+1F64B ; [*13C4.0020.0002.1F64B] # HAPPY PERSON RAISING ONE HAND
+1F64C ; [*13C5.0020.0002.1F64C] # PERSON RAISING BOTH HANDS IN CELEBRATION
+1F64D ; [*13C6.0020.0002.1F64D] # PERSON FROWNING
+1F64E ; [*13C7.0020.0002.1F64E] # PERSON WITH POUTING FACE
+1F64F ; [*13C8.0020.0002.1F64F] # PERSON WITH FOLDED HANDS
+1F680 ; [*13C9.0020.0002.1F680] # ROCKET
+1F681 ; [*13CA.0020.0002.1F681] # HELICOPTER
+1F682 ; [*13CB.0020.0002.1F682] # STEAM LOCOMOTIVE
+1F683 ; [*13CC.0020.0002.1F683] # RAILWAY CAR
+1F684 ; [*13CD.0020.0002.1F684] # HIGH-SPEED TRAIN
+1F685 ; [*13CE.0020.0002.1F685] # HIGH-SPEED TRAIN WITH BULLET NOSE
+1F686 ; [*13CF.0020.0002.1F686] # TRAIN
+1F687 ; [*13D0.0020.0002.1F687] # METRO
+1F688 ; [*13D1.0020.0002.1F688] # LIGHT RAIL
+1F689 ; [*13D2.0020.0002.1F689] # STATION
+1F68A ; [*13D3.0020.0002.1F68A] # TRAM
+1F68B ; [*13D4.0020.0002.1F68B] # TRAM CAR
+1F68C ; [*13D5.0020.0002.1F68C] # BUS
+1F68D ; [*13D6.0020.0002.1F68D] # ONCOMING BUS
+1F68E ; [*13D7.0020.0002.1F68E] # TROLLEYBUS
+1F68F ; [*13D8.0020.0002.1F68F] # BUS STOP
+1F690 ; [*13D9.0020.0002.1F690] # MINIBUS
+1F691 ; [*13DA.0020.0002.1F691] # AMBULANCE
+1F692 ; [*13DB.0020.0002.1F692] # FIRE ENGINE
+1F693 ; [*13DC.0020.0002.1F693] # POLICE CAR
+1F694 ; [*13DD.0020.0002.1F694] # ONCOMING POLICE CAR
+1F695 ; [*13DE.0020.0002.1F695] # TAXI
+1F696 ; [*13DF.0020.0002.1F696] # ONCOMING TAXI
+1F697 ; [*13E0.0020.0002.1F697] # AUTOMOBILE
+1F698 ; [*13E1.0020.0002.1F698] # ONCOMING AUTOMOBILE
+1F699 ; [*13E2.0020.0002.1F699] # RECREATIONAL VEHICLE
+1F69A ; [*13E3.0020.0002.1F69A] # DELIVERY TRUCK
+1F69B ; [*13E4.0020.0002.1F69B] # ARTICULATED LORRY
+1F69C ; [*13E5.0020.0002.1F69C] # TRACTOR
+1F69D ; [*13E6.0020.0002.1F69D] # MONORAIL
+1F69E ; [*13E7.0020.0002.1F69E] # MOUNTAIN RAILWAY
+1F69F ; [*13E8.0020.0002.1F69F] # SUSPENSION RAILWAY
+1F6A0 ; [*13E9.0020.0002.1F6A0] # MOUNTAIN CABLEWAY
+1F6A1 ; [*13EA.0020.0002.1F6A1] # AERIAL TRAMWAY
+1F6A2 ; [*13EB.0020.0002.1F6A2] # SHIP
+1F6A3 ; [*13EC.0020.0002.1F6A3] # ROWBOAT
+1F6A4 ; [*13ED.0020.0002.1F6A4] # SPEEDBOAT
+1F6A5 ; [*13EE.0020.0002.1F6A5] # HORIZONTAL TRAFFIC LIGHT
+1F6A6 ; [*13EF.0020.0002.1F6A6] # VERTICAL TRAFFIC LIGHT
+1F6A7 ; [*13F0.0020.0002.1F6A7] # CONSTRUCTION SIGN
+1F6A8 ; [*13F1.0020.0002.1F6A8] # POLICE CARS REVOLVING LIGHT
+1F6A9 ; [*13F2.0020.0002.1F6A9] # TRIANGULAR FLAG ON POST
+1F6AA ; [*13F3.0020.0002.1F6AA] # DOOR
+1F6AB ; [*13F4.0020.0002.1F6AB] # NO ENTRY SIGN
+1F6AC ; [*13F5.0020.0002.1F6AC] # SMOKING SYMBOL
+1F6AD ; [*13F6.0020.0002.1F6AD] # NO SMOKING SYMBOL
+1F6AE ; [*13F7.0020.0002.1F6AE] # PUT LITTER IN ITS PLACE SYMBOL
+1F6AF ; [*13F8.0020.0002.1F6AF] # DO NOT LITTER SYMBOL
+1F6B0 ; [*13F9.0020.0002.1F6B0] # POTABLE WATER SYMBOL
+1F6B1 ; [*13FA.0020.0002.1F6B1] # NON-POTABLE WATER SYMBOL
+1F6B2 ; [*13FB.0020.0002.1F6B2] # BICYCLE
+1F6B3 ; [*13FC.0020.0002.1F6B3] # NO BICYCLES
+1F6B4 ; [*13FD.0020.0002.1F6B4] # BICYCLIST
+1F6B5 ; [*13FE.0020.0002.1F6B5] # MOUNTAIN BICYCLIST
+1F6B6 ; [*13FF.0020.0002.1F6B6] # PEDESTRIAN
+1F6B7 ; [*1400.0020.0002.1F6B7] # NO PEDESTRIANS
+1F6B8 ; [*1401.0020.0002.1F6B8] # CHILDREN CROSSING
+1F6B9 ; [*1402.0020.0002.1F6B9] # MENS SYMBOL
+1F6BA ; [*1403.0020.0002.1F6BA] # WOMENS SYMBOL
+1F6BB ; [*1404.0020.0002.1F6BB] # RESTROOM
+1F6BC ; [*1405.0020.0002.1F6BC] # BABY SYMBOL
+1F6BD ; [*1406.0020.0002.1F6BD] # TOILET
+1F6BE ; [*1407.0020.0002.1F6BE] # WATER CLOSET
+1F6BF ; [*1408.0020.0002.1F6BF] # SHOWER
+1F6C0 ; [*1409.0020.0002.1F6C0] # BATH
+1F6C1 ; [*140A.0020.0002.1F6C1] # BATHTUB
+1F6C2 ; [*140B.0020.0002.1F6C2] # PASSPORT CONTROL
+1F6C3 ; [*140C.0020.0002.1F6C3] # CUSTOMS
+1F6C4 ; [*140D.0020.0002.1F6C4] # BAGGAGE CLAIM
+1F6C5 ; [*140E.0020.0002.1F6C5] # LEFT LUGGAGE
+1F700 ; [*140F.0020.0002.1F700] # ALCHEMICAL SYMBOL FOR QUINTESSENCE
+1F701 ; [*1410.0020.0002.1F701] # ALCHEMICAL SYMBOL FOR AIR
+1F702 ; [*1411.0020.0002.1F702] # ALCHEMICAL SYMBOL FOR FIRE
+1F703 ; [*1412.0020.0002.1F703] # ALCHEMICAL SYMBOL FOR EARTH
+1F704 ; [*1413.0020.0002.1F704] # ALCHEMICAL SYMBOL FOR WATER
+1F705 ; [*1414.0020.0002.1F705] # ALCHEMICAL SYMBOL FOR AQUAFORTIS
+1F706 ; [*1415.0020.0002.1F706] # ALCHEMICAL SYMBOL FOR AQUA REGIA
+1F707 ; [*1416.0020.0002.1F707] # ALCHEMICAL SYMBOL FOR AQUA REGIA-2
+1F708 ; [*1417.0020.0002.1F708] # ALCHEMICAL SYMBOL FOR AQUA VITAE
+1F709 ; [*1418.0020.0002.1F709] # ALCHEMICAL SYMBOL FOR AQUA VITAE-2
+1F70A ; [*1419.0020.0002.1F70A] # ALCHEMICAL SYMBOL FOR VINEGAR
+1F70B ; [*141A.0020.0002.1F70B] # ALCHEMICAL SYMBOL FOR VINEGAR-2
+1F70C ; [*141B.0020.0002.1F70C] # ALCHEMICAL SYMBOL FOR VINEGAR-3
+1F70D ; [*141C.0020.0002.1F70D] # ALCHEMICAL SYMBOL FOR SULFUR
+1F70E ; [*141D.0020.0002.1F70E] # ALCHEMICAL SYMBOL FOR PHILOSOPHERS SULFUR
+1F70F ; [*141E.0020.0002.1F70F] # ALCHEMICAL SYMBOL FOR BLACK SULFUR
+1F710 ; [*141F.0020.0002.1F710] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE
+1F711 ; [*1420.0020.0002.1F711] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-2
+1F712 ; [*1421.0020.0002.1F712] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-3
+1F713 ; [*1422.0020.0002.1F713] # ALCHEMICAL SYMBOL FOR CINNABAR
+1F714 ; [*1423.0020.0002.1F714] # ALCHEMICAL SYMBOL FOR SALT
+1F715 ; [*1424.0020.0002.1F715] # ALCHEMICAL SYMBOL FOR NITRE
+1F716 ; [*1425.0020.0002.1F716] # ALCHEMICAL SYMBOL FOR VITRIOL
+1F717 ; [*1426.0020.0002.1F717] # ALCHEMICAL SYMBOL FOR VITRIOL-2
+1F718 ; [*1427.0020.0002.1F718] # ALCHEMICAL SYMBOL FOR ROCK SALT
+1F719 ; [*1428.0020.0002.1F719] # ALCHEMICAL SYMBOL FOR ROCK SALT-2
+1F71A ; [*1429.0020.0002.1F71A] # ALCHEMICAL SYMBOL FOR GOLD
+1F71B ; [*142A.0020.0002.1F71B] # ALCHEMICAL SYMBOL FOR SILVER
+1F71C ; [*142B.0020.0002.1F71C] # ALCHEMICAL SYMBOL FOR IRON ORE
+1F71D ; [*142C.0020.0002.1F71D] # ALCHEMICAL SYMBOL FOR IRON ORE-2
+1F71E ; [*142D.0020.0002.1F71E] # ALCHEMICAL SYMBOL FOR CROCUS OF IRON
+1F71F ; [*142E.0020.0002.1F71F] # ALCHEMICAL SYMBOL FOR REGULUS OF IRON
+1F720 ; [*142F.0020.0002.1F720] # ALCHEMICAL SYMBOL FOR COPPER ORE
+1F721 ; [*1430.0020.0002.1F721] # ALCHEMICAL SYMBOL FOR IRON-COPPER ORE
+1F722 ; [*1431.0020.0002.1F722] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF COPPER
+1F723 ; [*1432.0020.0002.1F723] # ALCHEMICAL SYMBOL FOR CROCUS OF COPPER
+1F724 ; [*1433.0020.0002.1F724] # ALCHEMICAL SYMBOL FOR CROCUS OF COPPER-2
+1F725 ; [*1434.0020.0002.1F725] # ALCHEMICAL SYMBOL FOR COPPER ANTIMONIATE
+1F726 ; [*1435.0020.0002.1F726] # ALCHEMICAL SYMBOL FOR SALT OF COPPER ANTIMONIATE
+1F727 ; [*1436.0020.0002.1F727] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF COPPER
+1F728 ; [*1437.0020.0002.1F728] # ALCHEMICAL SYMBOL FOR VERDIGRIS
+1F729 ; [*1438.0020.0002.1F729] # ALCHEMICAL SYMBOL FOR TIN ORE
+1F72A ; [*1439.0020.0002.1F72A] # ALCHEMICAL SYMBOL FOR LEAD ORE
+1F72B ; [*143A.0020.0002.1F72B] # ALCHEMICAL SYMBOL FOR ANTIMONY ORE
+1F72C ; [*143B.0020.0002.1F72C] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF ANTIMONY
+1F72D ; [*143C.0020.0002.1F72D] # ALCHEMICAL SYMBOL FOR SALT OF ANTIMONY
+1F72E ; [*143D.0020.0002.1F72E] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF ANTIMONY
+1F72F ; [*143E.0020.0002.1F72F] # ALCHEMICAL SYMBOL FOR VINEGAR OF ANTIMONY
+1F730 ; [*143F.0020.0002.1F730] # ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY
+1F731 ; [*1440.0020.0002.1F731] # ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY-2
+1F732 ; [*1441.0020.0002.1F732] # ALCHEMICAL SYMBOL FOR REGULUS
+1F733 ; [*1442.0020.0002.1F733] # ALCHEMICAL SYMBOL FOR REGULUS-2
+1F734 ; [*1443.0020.0002.1F734] # ALCHEMICAL SYMBOL FOR REGULUS-3
+1F735 ; [*1444.0020.0002.1F735] # ALCHEMICAL SYMBOL FOR REGULUS-4
+1F736 ; [*1445.0020.0002.1F736] # ALCHEMICAL SYMBOL FOR ALKALI
+1F737 ; [*1446.0020.0002.1F737] # ALCHEMICAL SYMBOL FOR ALKALI-2
+1F738 ; [*1447.0020.0002.1F738] # ALCHEMICAL SYMBOL FOR MARCASITE
+1F739 ; [*1448.0020.0002.1F739] # ALCHEMICAL SYMBOL FOR SAL-AMMONIAC
+1F73A ; [*1449.0020.0002.1F73A] # ALCHEMICAL SYMBOL FOR ARSENIC
+1F73B ; [*144A.0020.0002.1F73B] # ALCHEMICAL SYMBOL FOR REALGAR
+1F73C ; [*144B.0020.0002.1F73C] # ALCHEMICAL SYMBOL FOR REALGAR-2
+1F73D ; [*144C.0020.0002.1F73D] # ALCHEMICAL SYMBOL FOR AURIPIGMENT
+1F73E ; [*144D.0020.0002.1F73E] # ALCHEMICAL SYMBOL FOR BISMUTH ORE
+1F73F ; [*144E.0020.0002.1F73F] # ALCHEMICAL SYMBOL FOR TARTAR
+1F740 ; [*144F.0020.0002.1F740] # ALCHEMICAL SYMBOL FOR TARTAR-2
+1F741 ; [*1450.0020.0002.1F741] # ALCHEMICAL SYMBOL FOR QUICK LIME
+1F742 ; [*1451.0020.0002.1F742] # ALCHEMICAL SYMBOL FOR BORAX
+1F743 ; [*1452.0020.0002.1F743] # ALCHEMICAL SYMBOL FOR BORAX-2
+1F744 ; [*1453.0020.0002.1F744] # ALCHEMICAL SYMBOL FOR BORAX-3
+1F745 ; [*1454.0020.0002.1F745] # ALCHEMICAL SYMBOL FOR ALUM
+1F746 ; [*1455.0020.0002.1F746] # ALCHEMICAL SYMBOL FOR OIL
+1F747 ; [*1456.0020.0002.1F747] # ALCHEMICAL SYMBOL FOR SPIRIT
+1F748 ; [*1457.0020.0002.1F748] # ALCHEMICAL SYMBOL FOR TINCTURE
+1F749 ; [*1458.0020.0002.1F749] # ALCHEMICAL SYMBOL FOR GUM
+1F74A ; [*1459.0020.0002.1F74A] # ALCHEMICAL SYMBOL FOR WAX
+1F74B ; [*145A.0020.0002.1F74B] # ALCHEMICAL SYMBOL FOR POWDER
+1F74C ; [*145B.0020.0002.1F74C] # ALCHEMICAL SYMBOL FOR CALX
+1F74D ; [*145C.0020.0002.1F74D] # ALCHEMICAL SYMBOL FOR TUTTY
+1F74E ; [*145D.0020.0002.1F74E] # ALCHEMICAL SYMBOL FOR CAPUT MORTUUM
+1F74F ; [*145E.0020.0002.1F74F] # ALCHEMICAL SYMBOL FOR SCEPTER OF JOVE
+1F750 ; [*145F.0020.0002.1F750] # ALCHEMICAL SYMBOL FOR CADUCEUS
+1F751 ; [*1460.0020.0002.1F751] # ALCHEMICAL SYMBOL FOR TRIDENT
+1F752 ; [*1461.0020.0002.1F752] # ALCHEMICAL SYMBOL FOR STARRED TRIDENT
+1F753 ; [*1462.0020.0002.1F753] # ALCHEMICAL SYMBOL FOR LODESTONE
+1F754 ; [*1463.0020.0002.1F754] # ALCHEMICAL SYMBOL FOR SOAP
+1F755 ; [*1464.0020.0002.1F755] # ALCHEMICAL SYMBOL FOR URINE
+1F756 ; [*1465.0020.0002.1F756] # ALCHEMICAL SYMBOL FOR HORSE DUNG
+1F757 ; [*1466.0020.0002.1F757] # ALCHEMICAL SYMBOL FOR ASHES
+1F758 ; [*1467.0020.0002.1F758] # ALCHEMICAL SYMBOL FOR POT ASHES
+1F759 ; [*1468.0020.0002.1F759] # ALCHEMICAL SYMBOL FOR BRICK
+1F75A ; [*1469.0020.0002.1F75A] # ALCHEMICAL SYMBOL FOR POWDERED BRICK
+1F75B ; [*146A.0020.0002.1F75B] # ALCHEMICAL SYMBOL FOR AMALGAM
+1F75C ; [*146B.0020.0002.1F75C] # ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM
+1F75D ; [*146C.0020.0002.1F75D] # ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM-2
+1F75E ; [*146D.0020.0002.1F75E] # ALCHEMICAL SYMBOL FOR SUBLIMATION
+1F75F ; [*146E.0020.0002.1F75F] # ALCHEMICAL SYMBOL FOR PRECIPITATE
+1F760 ; [*146F.0020.0002.1F760] # ALCHEMICAL SYMBOL FOR DISTILL
+1F761 ; [*1470.0020.0002.1F761] # ALCHEMICAL SYMBOL FOR DISSOLVE
+1F762 ; [*1471.0020.0002.1F762] # ALCHEMICAL SYMBOL FOR DISSOLVE-2
+1F763 ; [*1472.0020.0002.1F763] # ALCHEMICAL SYMBOL FOR PURIFY
+1F764 ; [*1473.0020.0002.1F764] # ALCHEMICAL SYMBOL FOR PUTREFACTION
+1F765 ; [*1474.0020.0002.1F765] # ALCHEMICAL SYMBOL FOR CRUCIBLE
+1F766 ; [*1475.0020.0002.1F766] # ALCHEMICAL SYMBOL FOR CRUCIBLE-2
+1F767 ; [*1476.0020.0002.1F767] # ALCHEMICAL SYMBOL FOR CRUCIBLE-3
+1F768 ; [*1477.0020.0002.1F768] # ALCHEMICAL SYMBOL FOR CRUCIBLE-4
+1F769 ; [*1478.0020.0002.1F769] # ALCHEMICAL SYMBOL FOR CRUCIBLE-5
+1F76A ; [*1479.0020.0002.1F76A] # ALCHEMICAL SYMBOL FOR ALEMBIC
+1F76B ; [*147A.0020.0002.1F76B] # ALCHEMICAL SYMBOL FOR BATH OF MARY
+1F76C ; [*147B.0020.0002.1F76C] # ALCHEMICAL SYMBOL FOR BATH OF VAPOURS
+1F76D ; [*147C.0020.0002.1F76D] # ALCHEMICAL SYMBOL FOR RETORT
+1F76E ; [*147D.0020.0002.1F76E] # ALCHEMICAL SYMBOL FOR HOUR
+1F76F ; [*147E.0020.0002.1F76F] # ALCHEMICAL SYMBOL FOR NIGHT
+1F770 ; [*147F.0020.0002.1F770] # ALCHEMICAL SYMBOL FOR DAY-NIGHT
+1F771 ; [*1480.0020.0002.1F771] # ALCHEMICAL SYMBOL FOR MONTH
+1F772 ; [*1481.0020.0002.1F772] # ALCHEMICAL SYMBOL FOR HALF DRAM
+1F773 ; [*1482.0020.0002.1F773] # ALCHEMICAL SYMBOL FOR HALF OUNCE
0332 ; [.0000.0021.0002.0332] # COMBINING LOW LINE
0313 ; [.0000.0022.0002.0313] # COMBINING COMMA ABOVE
-0343 ; [.0000.0022.0002.0343] # COMBINING GREEK KORONIS; QQC
-0486 ; [.0000.0022.0002.0486] # COMBINING CYRILLIC PSILI PNEUMATA; QQC
-2CF1 ; [.0000.0022.0002.2CF1] # COPTIC COMBINING SPIRITUS LENIS; QQC
+0343 ; [.0000.0022.0002.0343] # COMBINING GREEK KORONIS
+0486 ; [.0000.0022.0002.0486] # COMBINING CYRILLIC PSILI PNEUMATA
+2CF1 ; [.0000.0022.0002.2CF1] # COPTIC COMBINING SPIRITUS LENIS
0314 ; [.0000.002A.0002.0314] # COMBINING REVERSED COMMA ABOVE
-0485 ; [.0000.002A.0002.0485] # COMBINING CYRILLIC DASIA PNEUMATA; QQC
-2CF0 ; [.0000.002A.0002.2CF0] # COPTIC COMBINING SPIRITUS ASPER; QQC
+0485 ; [.0000.002A.0002.0485] # COMBINING CYRILLIC DASIA PNEUMATA
+2CF0 ; [.0000.002A.0002.2CF0] # COPTIC COMBINING SPIRITUS ASPER
0301 ; [.0000.0032.0002.0301] # COMBINING ACUTE ACCENT
-0341 ; [.0000.0032.0002.0341] # COMBINING ACUTE TONE MARK; QQC
-0954 ; [.0000.0032.0002.0954] # DEVANAGARI ACUTE ACCENT; QQC
+0341 ; [.0000.0032.0002.0341] # COMBINING ACUTE TONE MARK
+0954 ; [.0000.0032.0002.0954] # DEVANAGARI ACUTE ACCENT
0300 ; [.0000.0035.0002.0300] # COMBINING GRAVE ACCENT
-0340 ; [.0000.0035.0002.0340] # COMBINING GRAVE TONE MARK; QQC
-0953 ; [.0000.0035.0002.0953] # DEVANAGARI GRAVE ACCENT; QQC
+0340 ; [.0000.0035.0002.0340] # COMBINING GRAVE TONE MARK
+0953 ; [.0000.0035.0002.0953] # DEVANAGARI GRAVE ACCENT
0306 ; [.0000.0037.0002.0306] # COMBINING BREVE
0302 ; [.0000.003C.0002.0302] # COMBINING CIRCUMFLEX ACCENT
030C ; [.0000.0041.0002.030C] # COMBINING CARON
030A ; [.0000.0043.0002.030A] # COMBINING RING ABOVE
0342 ; [.0000.0045.0002.0342] # COMBINING GREEK PERISPOMENI
0308 ; [.0000.0047.0002.0308] # COMBINING DIAERESIS
-0344 ; [.0000.0047.0002.0308][.0000.0032.0002.0301] # COMBINING GREEK DIALYTIKA TONOS; QQCM
+0344 ; [.0000.0047.0002.0308][.0000.0032.0002.0301] # COMBINING GREEK DIALYTIKA TONOS
030B ; [.0000.004D.0002.030B] # COMBINING DOUBLE ACUTE ACCENT
0303 ; [.0000.004E.0002.0303] # COMBINING TILDE
0307 ; [.0000.0052.0002.0307] # COMBINING DOT ABOVE
@@ -5897,120 +5956,119 @@ FFFD ; [*1491.0020.0002.FFFD] # REPLACEMENT CHARACTER
0327 ; [.0000.0056.0002.0327] # COMBINING CEDILLA
0328 ; [.0000.0059.0002.0328] # COMBINING OGONEK
0304 ; [.0000.005B.0002.0304] # COMBINING MACRON
-030D ; [.0000.005F.0002.030D] # COMBINING VERTICAL LINE ABOVE; QQC
-030E ; [.0000.005F.0002.030E] # COMBINING DOUBLE VERTICAL LINE ABOVE; QQC
-0312 ; [.0000.005F.0002.0312] # COMBINING TURNED COMMA ABOVE; QQC
-0315 ; [.0000.005F.0002.0315] # COMBINING COMMA ABOVE RIGHT; QQC
-031A ; [.0000.005F.0002.031A] # COMBINING LEFT ANGLE ABOVE; QQC
-033D ; [.0000.005F.0002.033D] # COMBINING X ABOVE; QQC
-033E ; [.0000.005F.0002.033E] # COMBINING VERTICAL TILDE; QQC
-033F ; [.0000.005F.0002.033F] # COMBINING DOUBLE OVERLINE; QQC
-0346 ; [.0000.005F.0002.0346] # COMBINING BRIDGE ABOVE; QQC
-034A ; [.0000.005F.0002.034A] # COMBINING NOT TILDE ABOVE; QQC
-034B ; [.0000.005F.0002.034B] # COMBINING HOMOTHETIC ABOVE; QQC
-034C ; [.0000.005F.0002.034C] # COMBINING ALMOST EQUAL TO ABOVE; QQC
-0350 ; [.0000.005F.0002.0350] # COMBINING RIGHT ARROWHEAD ABOVE; QQC
-0351 ; [.0000.005F.0002.0351] # COMBINING LEFT HALF RING ABOVE; QQC
-0352 ; [.0000.005F.0002.0352] # COMBINING FERMATA; QQC
-0357 ; [.0000.005F.0002.0357] # COMBINING RIGHT HALF RING ABOVE; QQC
-035B ; [.0000.005F.0002.035B] # COMBINING ZIGZAG ABOVE; QQC
-035D ; [.0000.005F.0002.035D] # COMBINING DOUBLE BREVE; QQC
-035E ; [.0000.005F.0002.035E] # COMBINING DOUBLE MACRON; QQC
-0484 ; [.0000.005F.0002.0484] # COMBINING CYRILLIC PALATALIZATION; QQC
-0487 ; [.0000.005F.0002.0487] # COMBINING CYRILLIC POKRYTIE; QQC
-0741 ; [.0000.005F.0002.0741] # SYRIAC QUSHSHAYA; QQC
-0745 ; [.0000.005F.0002.0745] # SYRIAC THREE DOTS ABOVE; QQC
-17CB ; [.0000.005F.0002.17CB] # KHMER SIGN BANTOC; QQC
-17CC ; [.0000.005F.0002.17CC] # KHMER SIGN ROBAT; QQC
-17CD ; [.0000.005F.0002.17CD] # KHMER SIGN TOANDAKHIAT; QQC
-17CE ; [.0000.005F.0002.17CE] # KHMER SIGN KAKABAT; QQC
-17CF ; [.0000.005F.0002.17CF] # KHMER SIGN AHSDA; QQC
-17D0 ; [.0000.005F.0002.17D0] # KHMER SIGN SAMYOK SANNYA; QQC
-17D1 ; [.0000.005F.0002.17D1] # KHMER SIGN VIRIAM; QQC
-17DD ; [.0000.005F.0002.17DD] # KHMER SIGN ATTHACAN; QQC
-1BE6 ; [.0000.005F.0002.1BE6] # BATAK SIGN TOMPI; QQC
-1DC0 ; [.0000.005F.0002.1DC0] # COMBINING DOTTED GRAVE ACCENT; QQC
-1DC1 ; [.0000.005F.0002.1DC1] # COMBINING DOTTED ACUTE ACCENT; QQC
-1DC3 ; [.0000.005F.0002.1DC3] # COMBINING SUSPENSION MARK; QQC
-1DC4 ; [.0000.005F.0002.1DC4] # COMBINING MACRON-ACUTE; QQC
-1DC5 ; [.0000.005F.0002.1DC5] # COMBINING GRAVE-MACRON; QQC
-1DC6 ; [.0000.005F.0002.1DC6] # COMBINING MACRON-GRAVE; QQC
-1DC7 ; [.0000.005F.0002.1DC7] # COMBINING ACUTE-MACRON; QQC
-1DC8 ; [.0000.005F.0002.1DC8] # COMBINING GRAVE-ACUTE-GRAVE; QQC
-1DC9 ; [.0000.005F.0002.1DC9] # COMBINING ACUTE-GRAVE-ACUTE; QQC
-1DCB ; [.0000.005F.0002.1DCB] # COMBINING BREVE-MACRON; QQC
-1DCC ; [.0000.005F.0002.1DCC] # COMBINING MACRON-BREVE; QQC
-1DCD ; [.0000.005F.0002.1DCD] # COMBINING DOUBLE CIRCUMFLEX ABOVE; QQC
-1DCE ; [.0000.005F.0002.1DCE] # COMBINING OGONEK ABOVE; QQC
-1DD1 ; [.0000.005F.0002.1DD1] # COMBINING UR ABOVE; QQC
-1DFE ; [.0000.005F.0002.1DFE] # COMBINING LEFT ARROWHEAD ABOVE; QQC
-20F0 ; [.0000.005F.0002.20F0] # COMBINING ASTERISK ABOVE; QQC
-2CEF ; [.0000.005F.0002.2CEF] # COPTIC COMBINING NI ABOVE; QQC
-A67C ; [.0000.005F.0002.A67C] # COMBINING CYRILLIC KAVYKA; QQC
-A67D ; [.0000.005F.0002.A67D] # COMBINING CYRILLIC PAYEROK; QQC
-0316 ; [.0000.0060.0002.0316] # COMBINING GRAVE ACCENT BELOW; QQC
-0317 ; [.0000.0060.0002.0317] # COMBINING ACUTE ACCENT BELOW; QQC
-0318 ; [.0000.0060.0002.0318] # COMBINING LEFT TACK BELOW; QQC
-0319 ; [.0000.0060.0002.0319] # COMBINING RIGHT TACK BELOW; QQC
-031C ; [.0000.0060.0002.031C] # COMBINING LEFT HALF RING BELOW; QQC
-031D ; [.0000.0060.0002.031D] # COMBINING UP TACK BELOW; QQC
-031E ; [.0000.0060.0002.031E] # COMBINING DOWN TACK BELOW; QQC
-031F ; [.0000.0060.0002.031F] # COMBINING PLUS SIGN BELOW; QQC
-0320 ; [.0000.0060.0002.0320] # COMBINING MINUS SIGN BELOW; QQC
-0329 ; [.0000.0060.0002.0329] # COMBINING VERTICAL LINE BELOW; QQC
-032A ; [.0000.0060.0002.032A] # COMBINING BRIDGE BELOW; QQC
-032B ; [.0000.0060.0002.032B] # COMBINING INVERTED DOUBLE ARCH BELOW; QQC
-032C ; [.0000.0060.0002.032C] # COMBINING CARON BELOW; QQC
-032F ; [.0000.0060.0002.032F] # COMBINING INVERTED BREVE BELOW; QQC
-0333 ; [.0000.0060.0002.0333] # COMBINING DOUBLE LOW LINE; QQC
-033A ; [.0000.0060.0002.033A] # COMBINING INVERTED BRIDGE BELOW; QQC
-033B ; [.0000.0060.0002.033B] # COMBINING SQUARE BELOW; QQC
-033C ; [.0000.0060.0002.033C] # COMBINING SEAGULL BELOW; QQC
-0347 ; [.0000.0060.0002.0347] # COMBINING EQUALS SIGN BELOW; QQC
-0348 ; [.0000.0060.0002.0348] # COMBINING DOUBLE VERTICAL LINE BELOW; QQC
-0349 ; [.0000.0060.0002.0349] # COMBINING LEFT ANGLE BELOW; QQC
-034D ; [.0000.0060.0002.034D] # COMBINING LEFT RIGHT ARROW BELOW; QQC
-034E ; [.0000.0060.0002.034E] # COMBINING UPWARDS ARROW BELOW; QQC
-0353 ; [.0000.0060.0002.0353] # COMBINING X BELOW; QQC
-0354 ; [.0000.0060.0002.0354] # COMBINING LEFT ARROWHEAD BELOW; QQC
-0355 ; [.0000.0060.0002.0355] # COMBINING RIGHT ARROWHEAD BELOW; QQC
-0356 ; [.0000.0060.0002.0356] # COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW; QQC
-0359 ; [.0000.0060.0002.0359] # COMBINING ASTERISK BELOW; QQC
-035A ; [.0000.0060.0002.035A] # COMBINING DOUBLE RING BELOW; QQC
-035C ; [.0000.0060.0002.035C] # COMBINING DOUBLE BREVE BELOW; QQC
-035F ; [.0000.0060.0002.035F] # COMBINING DOUBLE MACRON BELOW; QQC
-0362 ; [.0000.0060.0002.0362] # COMBINING DOUBLE RIGHTWARDS ARROW BELOW; QQC
-0742 ; [.0000.0060.0002.0742] # SYRIAC RUKKAKHA; QQC
-0746 ; [.0000.0060.0002.0746] # SYRIAC THREE DOTS BELOW; QQC
-0859 ; [.0000.0060.0002.0859] # MANDAIC AFFRICATION MARK; QQC
-085A ; [.0000.0060.0002.085A] # MANDAIC VOCALIZATION MARK; QQC
-085B ; [.0000.0060.0002.085B] # MANDAIC GEMINATION MARK; QQC
-1DC2 ; [.0000.0060.0002.1DC2] # COMBINING SNAKE BELOW; QQC
-1DCF ; [.0000.0060.0002.1DCF] # COMBINING ZIGZAG BELOW; QQC
-1DD0 ; [.0000.0060.0002.1DD0] # COMBINING IS BELOW; QQC
-1DFC ; [.0000.0060.0002.1DFC] # COMBINING DOUBLE INVERTED BREVE BELOW; QQC
-1DFD ; [.0000.0060.0002.1DFD] # COMBINING ALMOST EQUAL TO BELOW; QQC
-1DFF ; [.0000.0060.0002.1DFF] # COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW; QQC
-20EC ; [.0000.0060.0002.20EC] # COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS; QQC
-20ED ; [.0000.0060.0002.20ED] # COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS; QQC
-20EE ; [.0000.0060.0002.20EE] # COMBINING LEFT ARROW BELOW; QQC
-20EF ; [.0000.0060.0002.20EF] # COMBINING RIGHT ARROW BELOW; QQC
-10A0D ; [.0000.0060.0002.10A0D] # KHAROSHTHI SIGN DOUBLE RING BELOW; QQC
-0336 ; [.0000.0061.0002.0336] # COMBINING LONG STROKE OVERLAY; QQC
-0337 ; [.0000.0061.0002.0337] # COMBINING SHORT SOLIDUS OVERLAY; QQC
-20D8 ; [.0000.0061.0002.20D8] # COMBINING RING OVERLAY; QQC
-20D9 ; [.0000.0061.0002.20D9] # COMBINING CLOCKWISE RING OVERLAY; QQC
-20DA ; [.0000.0061.0002.20DA] # COMBINING ANTICLOCKWISE RING OVERLAY; QQC
-20E5 ; [.0000.0061.0002.20E5] # COMBINING REVERSE SOLIDUS OVERLAY; QQC
-20EA ; [.0000.0061.0002.20EA] # COMBINING LEFTWARDS ARROW OVERLAY; QQC
-20EB ; [.0000.0061.0002.20EB] # COMBINING LONG DOUBLE SOLIDUS OVERLAY; QQC
-20DD ; [.0000.0062.0002.20DD] # COMBINING ENCLOSING CIRCLE; QQC
-20DE ; [.0000.0062.0002.20DE] # COMBINING ENCLOSING SQUARE; QQC
-20DF ; [.0000.0062.0002.20DF] # COMBINING ENCLOSING DIAMOND; QQC
-20E0 ; [.0000.0062.0002.20E0] # COMBINING ENCLOSING CIRCLE BACKSLASH; QQC
-20E2 ; [.0000.0062.0002.20E2] # COMBINING ENCLOSING SCREEN; QQC
-20E3 ; [.0000.0062.0002.20E3] # COMBINING ENCLOSING KEYCAP; QQC
-20E4 ; [.0000.0062.0002.20E4] # COMBINING ENCLOSING UPWARD POINTING TRIANGLE; QQC
+030D ; [.0000.005F.0002.030D] # COMBINING VERTICAL LINE ABOVE
+030E ; [.0000.005F.0002.030E] # COMBINING DOUBLE VERTICAL LINE ABOVE
+0312 ; [.0000.005F.0002.0312] # COMBINING TURNED COMMA ABOVE
+0315 ; [.0000.005F.0002.0315] # COMBINING COMMA ABOVE RIGHT
+031A ; [.0000.005F.0002.031A] # COMBINING LEFT ANGLE ABOVE
+033D ; [.0000.005F.0002.033D] # COMBINING X ABOVE
+033E ; [.0000.005F.0002.033E] # COMBINING VERTICAL TILDE
+033F ; [.0000.005F.0002.033F] # COMBINING DOUBLE OVERLINE
+0346 ; [.0000.005F.0002.0346] # COMBINING BRIDGE ABOVE
+034A ; [.0000.005F.0002.034A] # COMBINING NOT TILDE ABOVE
+034B ; [.0000.005F.0002.034B] # COMBINING HOMOTHETIC ABOVE
+034C ; [.0000.005F.0002.034C] # COMBINING ALMOST EQUAL TO ABOVE
+0350 ; [.0000.005F.0002.0350] # COMBINING RIGHT ARROWHEAD ABOVE
+0351 ; [.0000.005F.0002.0351] # COMBINING LEFT HALF RING ABOVE
+0352 ; [.0000.005F.0002.0352] # COMBINING FERMATA
+0357 ; [.0000.005F.0002.0357] # COMBINING RIGHT HALF RING ABOVE
+035B ; [.0000.005F.0002.035B] # COMBINING ZIGZAG ABOVE
+035D ; [.0000.005F.0002.035D] # COMBINING DOUBLE BREVE
+035E ; [.0000.005F.0002.035E] # COMBINING DOUBLE MACRON
+0484 ; [.0000.005F.0002.0484] # COMBINING CYRILLIC PALATALIZATION
+0487 ; [.0000.005F.0002.0487] # COMBINING CYRILLIC POKRYTIE
+0741 ; [.0000.005F.0002.0741] # SYRIAC QUSHSHAYA
+0745 ; [.0000.005F.0002.0745] # SYRIAC THREE DOTS ABOVE
+17CB ; [.0000.005F.0002.17CB] # KHMER SIGN BANTOC
+17CC ; [.0000.005F.0002.17CC] # KHMER SIGN ROBAT
+17CD ; [.0000.005F.0002.17CD] # KHMER SIGN TOANDAKHIAT
+17CE ; [.0000.005F.0002.17CE] # KHMER SIGN KAKABAT
+17CF ; [.0000.005F.0002.17CF] # KHMER SIGN AHSDA
+17D0 ; [.0000.005F.0002.17D0] # KHMER SIGN SAMYOK SANNYA
+17D1 ; [.0000.005F.0002.17D1] # KHMER SIGN VIRIAM
+17DD ; [.0000.005F.0002.17DD] # KHMER SIGN ATTHACAN
+1DC0 ; [.0000.005F.0002.1DC0] # COMBINING DOTTED GRAVE ACCENT
+1DC1 ; [.0000.005F.0002.1DC1] # COMBINING DOTTED ACUTE ACCENT
+1DC3 ; [.0000.005F.0002.1DC3] # COMBINING SUSPENSION MARK
+1DC4 ; [.0000.005F.0002.1DC4] # COMBINING MACRON-ACUTE
+1DC5 ; [.0000.005F.0002.1DC5] # COMBINING GRAVE-MACRON
+1DC6 ; [.0000.005F.0002.1DC6] # COMBINING MACRON-GRAVE
+1DC7 ; [.0000.005F.0002.1DC7] # COMBINING ACUTE-MACRON
+1DC8 ; [.0000.005F.0002.1DC8] # COMBINING GRAVE-ACUTE-GRAVE
+1DC9 ; [.0000.005F.0002.1DC9] # COMBINING ACUTE-GRAVE-ACUTE
+1DCB ; [.0000.005F.0002.1DCB] # COMBINING BREVE-MACRON
+1DCC ; [.0000.005F.0002.1DCC] # COMBINING MACRON-BREVE
+1DCD ; [.0000.005F.0002.1DCD] # COMBINING DOUBLE CIRCUMFLEX ABOVE
+1DCE ; [.0000.005F.0002.1DCE] # COMBINING OGONEK ABOVE
+1DD1 ; [.0000.005F.0002.1DD1] # COMBINING UR ABOVE
+1DFE ; [.0000.005F.0002.1DFE] # COMBINING LEFT ARROWHEAD ABOVE
+20F0 ; [.0000.005F.0002.20F0] # COMBINING ASTERISK ABOVE
+2CEF ; [.0000.005F.0002.2CEF] # COPTIC COMBINING NI ABOVE
+A67C ; [.0000.005F.0002.A67C] # COMBINING CYRILLIC KAVYKA
+A67D ; [.0000.005F.0002.A67D] # COMBINING CYRILLIC PAYEROK
+0316 ; [.0000.0060.0002.0316] # COMBINING GRAVE ACCENT BELOW
+0317 ; [.0000.0060.0002.0317] # COMBINING ACUTE ACCENT BELOW
+0318 ; [.0000.0060.0002.0318] # COMBINING LEFT TACK BELOW
+0319 ; [.0000.0060.0002.0319] # COMBINING RIGHT TACK BELOW
+031C ; [.0000.0060.0002.031C] # COMBINING LEFT HALF RING BELOW
+031D ; [.0000.0060.0002.031D] # COMBINING UP TACK BELOW
+031E ; [.0000.0060.0002.031E] # COMBINING DOWN TACK BELOW
+031F ; [.0000.0060.0002.031F] # COMBINING PLUS SIGN BELOW
+0320 ; [.0000.0060.0002.0320] # COMBINING MINUS SIGN BELOW
+0329 ; [.0000.0060.0002.0329] # COMBINING VERTICAL LINE BELOW
+032A ; [.0000.0060.0002.032A] # COMBINING BRIDGE BELOW
+032B ; [.0000.0060.0002.032B] # COMBINING INVERTED DOUBLE ARCH BELOW
+032C ; [.0000.0060.0002.032C] # COMBINING CARON BELOW
+032F ; [.0000.0060.0002.032F] # COMBINING INVERTED BREVE BELOW
+0333 ; [.0000.0060.0002.0333] # COMBINING DOUBLE LOW LINE
+033A ; [.0000.0060.0002.033A] # COMBINING INVERTED BRIDGE BELOW
+033B ; [.0000.0060.0002.033B] # COMBINING SQUARE BELOW
+033C ; [.0000.0060.0002.033C] # COMBINING SEAGULL BELOW
+0347 ; [.0000.0060.0002.0347] # COMBINING EQUALS SIGN BELOW
+0348 ; [.0000.0060.0002.0348] # COMBINING DOUBLE VERTICAL LINE BELOW
+0349 ; [.0000.0060.0002.0349] # COMBINING LEFT ANGLE BELOW
+034D ; [.0000.0060.0002.034D] # COMBINING LEFT RIGHT ARROW BELOW
+034E ; [.0000.0060.0002.034E] # COMBINING UPWARDS ARROW BELOW
+0353 ; [.0000.0060.0002.0353] # COMBINING X BELOW
+0354 ; [.0000.0060.0002.0354] # COMBINING LEFT ARROWHEAD BELOW
+0355 ; [.0000.0060.0002.0355] # COMBINING RIGHT ARROWHEAD BELOW
+0356 ; [.0000.0060.0002.0356] # COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW
+0359 ; [.0000.0060.0002.0359] # COMBINING ASTERISK BELOW
+035A ; [.0000.0060.0002.035A] # COMBINING DOUBLE RING BELOW
+035C ; [.0000.0060.0002.035C] # COMBINING DOUBLE BREVE BELOW
+035F ; [.0000.0060.0002.035F] # COMBINING DOUBLE MACRON BELOW
+0362 ; [.0000.0060.0002.0362] # COMBINING DOUBLE RIGHTWARDS ARROW BELOW
+0742 ; [.0000.0060.0002.0742] # SYRIAC RUKKAKHA
+0746 ; [.0000.0060.0002.0746] # SYRIAC THREE DOTS BELOW
+0859 ; [.0000.0060.0002.0859] # MANDAIC AFFRICATION MARK
+085A ; [.0000.0060.0002.085A] # MANDAIC VOCALIZATION MARK
+085B ; [.0000.0060.0002.085B] # MANDAIC GEMINATION MARK
+1DC2 ; [.0000.0060.0002.1DC2] # COMBINING SNAKE BELOW
+1DCF ; [.0000.0060.0002.1DCF] # COMBINING ZIGZAG BELOW
+1DD0 ; [.0000.0060.0002.1DD0] # COMBINING IS BELOW
+1DFC ; [.0000.0060.0002.1DFC] # COMBINING DOUBLE INVERTED BREVE BELOW
+1DFD ; [.0000.0060.0002.1DFD] # COMBINING ALMOST EQUAL TO BELOW
+1DFF ; [.0000.0060.0002.1DFF] # COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
+20EC ; [.0000.0060.0002.20EC] # COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS
+20ED ; [.0000.0060.0002.20ED] # COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS
+20EE ; [.0000.0060.0002.20EE] # COMBINING LEFT ARROW BELOW
+20EF ; [.0000.0060.0002.20EF] # COMBINING RIGHT ARROW BELOW
+10A0D ; [.0000.0060.0002.10A0D] # KHAROSHTHI SIGN DOUBLE RING BELOW
+0336 ; [.0000.0061.0002.0336] # COMBINING LONG STROKE OVERLAY
+0337 ; [.0000.0061.0002.0337] # COMBINING SHORT SOLIDUS OVERLAY
+20D8 ; [.0000.0061.0002.20D8] # COMBINING RING OVERLAY
+20D9 ; [.0000.0061.0002.20D9] # COMBINING CLOCKWISE RING OVERLAY
+20DA ; [.0000.0061.0002.20DA] # COMBINING ANTICLOCKWISE RING OVERLAY
+20E5 ; [.0000.0061.0002.20E5] # COMBINING REVERSE SOLIDUS OVERLAY
+20EA ; [.0000.0061.0002.20EA] # COMBINING LEFTWARDS ARROW OVERLAY
+20EB ; [.0000.0061.0002.20EB] # COMBINING LONG DOUBLE SOLIDUS OVERLAY
+20DD ; [.0000.0062.0002.20DD] # COMBINING ENCLOSING CIRCLE
+20DE ; [.0000.0062.0002.20DE] # COMBINING ENCLOSING SQUARE
+20DF ; [.0000.0062.0002.20DF] # COMBINING ENCLOSING DIAMOND
+20E0 ; [.0000.0062.0002.20E0] # COMBINING ENCLOSING CIRCLE BACKSLASH
+20E2 ; [.0000.0062.0002.20E2] # COMBINING ENCLOSING SCREEN
+20E3 ; [.0000.0062.0002.20E3] # COMBINING ENCLOSING KEYCAP
+20E4 ; [.0000.0062.0002.20E4] # COMBINING ENCLOSING UPWARD POINTING TRIANGLE
0305 ; [.0000.0063.0002.0305] # COMBINING OVERLINE
0309 ; [.0000.0064.0002.0309] # COMBINING HOOK ABOVE
030F ; [.0000.0065.0002.030F] # COMBINING DOUBLE GRAVE ACCENT
@@ -6033,9 +6091,9 @@ A67D ; [.0000.005F.0002.A67D] # COMBINING CYRILLIC PAYEROK; QQC
0345 ; [.0000.007F.0002.0345] # COMBINING GREEK YPOGEGRAMMENI
0358 ; [.0000.0080.0002.0358] # COMBINING DOT ABOVE RIGHT
0360 ; [.0000.0081.0002.0360] # COMBINING DOUBLE TILDE
-FE22 ; [.0000.0081.0002.FE22] # COMBINING DOUBLE TILDE LEFT HALF; QQC
+FE22 ; [.0000.0081.0002.FE22] # COMBINING DOUBLE TILDE LEFT HALF
0361 ; [.0000.0082.0002.0361] # COMBINING DOUBLE INVERTED BREVE
-FE20 ; [.0000.0082.0002.FE20] # COMBINING LIGATURE LEFT HALF; QQC
+FE20 ; [.0000.0082.0002.FE20] # COMBINING LIGATURE LEFT HALF
0483 ; [.0000.0083.0002.0483] # COMBINING CYRILLIC TITLO
A66F ; [.0000.0084.0002.A66F] # COMBINING CYRILLIC VZMET
05B0 ; [.0000.0085.0002.05B0] # HEBREW POINT SHEVA
@@ -6047,29 +6105,29 @@ A66F ; [.0000.0084.0002.A66F] # COMBINING CYRILLIC VZMET
05B6 ; [.0000.008B.0002.05B6] # HEBREW POINT SEGOL
05B7 ; [.0000.008C.0002.05B7] # HEBREW POINT PATAH
05B8 ; [.0000.008D.0002.05B8] # HEBREW POINT QAMATS
-05C7 ; [.0000.008D.0002.05C7] # HEBREW POINT QAMATS QATAN; QQC
+05C7 ; [.0000.008D.0002.05C7] # HEBREW POINT QAMATS QATAN
05B9 ; [.0000.008E.0002.05B9] # HEBREW POINT HOLAM
-05BA ; [.0000.008E.0002.05BA] # HEBREW POINT HOLAM HASER FOR VAV; QQC
+05BA ; [.0000.008E.0002.05BA] # HEBREW POINT HOLAM HASER FOR VAV
05BB ; [.0000.008F.0002.05BB] # HEBREW POINT QUBUTS
05C2 ; [.0000.0090.0002.05C2] # HEBREW POINT SIN DOT
05C1 ; [.0000.0091.0002.05C1] # HEBREW POINT SHIN DOT
05BC ; [.0000.0092.0002.05BC] # HEBREW POINT DAGESH OR MAPIQ
05BF ; [.0000.0095.0002.05BF] # HEBREW POINT RAFE
FB1E ; [.0000.0096.0002.FB1E] # HEBREW POINT JUDEO-SPANISH VARIKA
-081C ; [.0000.0097.0002.081C] # SAMARITAN VOWEL SIGN LONG E; QQC
+081C ; [.0000.0097.0002.081C] # SAMARITAN VOWEL SIGN LONG E
081D ; [.0000.0097.0002.081D] # SAMARITAN VOWEL SIGN E
-081E ; [.0000.0098.0002.081E] # SAMARITAN VOWEL SIGN OVERLONG AA; QQC
-081F ; [.0000.0098.0002.081F] # SAMARITAN VOWEL SIGN LONG AA; QQC
+081E ; [.0000.0098.0002.081E] # SAMARITAN VOWEL SIGN OVERLONG AA
+081F ; [.0000.0098.0002.081F] # SAMARITAN VOWEL SIGN LONG AA
0820 ; [.0000.0098.0002.0820] # SAMARITAN VOWEL SIGN AA
-0821 ; [.0000.0099.0002.0821] # SAMARITAN VOWEL SIGN OVERLONG A; QQC
-0822 ; [.0000.0099.0002.0822] # SAMARITAN VOWEL SIGN LONG A; QQC
+0821 ; [.0000.0099.0002.0821] # SAMARITAN VOWEL SIGN OVERLONG A
+0822 ; [.0000.0099.0002.0822] # SAMARITAN VOWEL SIGN LONG A
0823 ; [.0000.0099.0002.0823] # SAMARITAN VOWEL SIGN A
-0824 ; [.0000.009A.0002.0824] # SAMARITAN MODIFIER LETTER SHORT A; QQC
+0824 ; [.0000.009A.0002.0824] # SAMARITAN MODIFIER LETTER SHORT A
0825 ; [.0000.009A.0002.0825] # SAMARITAN VOWEL SIGN SHORT A
-0826 ; [.0000.009B.0002.0826] # SAMARITAN VOWEL SIGN LONG U; QQC
+0826 ; [.0000.009B.0002.0826] # SAMARITAN VOWEL SIGN LONG U
0827 ; [.0000.009B.0002.0827] # SAMARITAN VOWEL SIGN U
-0828 ; [.0000.009C.0002.0828] # SAMARITAN MODIFIER LETTER I; QQC
-0829 ; [.0000.009C.0002.0829] # SAMARITAN VOWEL SIGN LONG I; QQC
+0828 ; [.0000.009C.0002.0828] # SAMARITAN MODIFIER LETTER I
+0829 ; [.0000.009C.0002.0829] # SAMARITAN VOWEL SIGN LONG I
082A ; [.0000.009C.0002.082A] # SAMARITAN VOWEL SIGN I
082B ; [.0000.009D.0002.082B] # SAMARITAN VOWEL SIGN O
082C ; [.0000.009E.0002.082C] # SAMARITAN VOWEL SIGN SUKUN
@@ -6077,18141 +6135,18816 @@ FB1E ; [.0000.0096.0002.FB1E] # HEBREW POINT JUDEO-SPANISH VARIKA
0819 ; [.0000.00A0.0002.0819] # SAMARITAN MARK OCCLUSION
082D ; [.0000.00A1.0002.082D] # SAMARITAN MARK NEQUDAA
064B ; [.0000.00A2.0002.064B] # ARABIC FATHATAN
-FE71 ; [.0000.00A2.0018.FE71] # ARABIC TATWEEL WITH FATHATAN ABOVE; QQK
-FE70 ; [.0000.00A2.001A.FE70] # ARABIC FATHATAN ISOLATED FORM; QQK
-064C ; [.0000.00A3.0002.064C] # ARABIC DAMMATAN
-FE72 ; [.0000.00A3.001A.FE72] # ARABIC DAMMATAN ISOLATED FORM; QQK
-FC5E ; [.0000.00A3.001A.FC5E][.0000.00AD.001A.FC5E] # ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM; QQKA
-064D ; [.0000.00A5.0002.064D] # ARABIC KASRATAN
-FE74 ; [.0000.00A5.001A.FE74] # ARABIC KASRATAN ISOLATED FORM; QQK
-FC5F ; [.0000.00A5.001A.FC5F][.0000.00AD.001A.FC5F] # ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM; QQKA
-064E ; [.0000.00A7.0002.064E] # ARABIC FATHA
-FE77 ; [.0000.00A7.0018.FE77] # ARABIC FATHA MEDIAL FORM; QQK
-FE76 ; [.0000.00A7.001A.FE76] # ARABIC FATHA ISOLATED FORM; QQK
-FCF2 ; [.0000.00A7.0018.FCF2][.0000.00AD.0018.FCF2] # ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM; QQKA
-FC60 ; [.0000.00A7.001A.FC60][.0000.00AD.001A.FC60] # ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM; QQKA
-064F ; [.0000.00A9.0002.064F] # ARABIC DAMMA
-FE79 ; [.0000.00A9.0018.FE79] # ARABIC DAMMA MEDIAL FORM; QQK
-FE78 ; [.0000.00A9.001A.FE78] # ARABIC DAMMA ISOLATED FORM; QQK
-FCF3 ; [.0000.00A9.0018.FCF3][.0000.00AD.0018.FCF3] # ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM; QQKA
-FC61 ; [.0000.00A9.001A.FC61][.0000.00AD.001A.FC61] # ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM; QQKA
-0650 ; [.0000.00AB.0002.0650] # ARABIC KASRA
-FE7B ; [.0000.00AB.0018.FE7B] # ARABIC KASRA MEDIAL FORM; QQK
-FE7A ; [.0000.00AB.001A.FE7A] # ARABIC KASRA ISOLATED FORM; QQK
-FCF4 ; [.0000.00AB.0018.FCF4][.0000.00AD.0018.FCF4] # ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM; QQKA
-FC62 ; [.0000.00AB.001A.FC62][.0000.00AD.001A.FC62] # ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM; QQKA
-0651 ; [.0000.00AD.0002.0651] # ARABIC SHADDA
-FE7D ; [.0000.00AD.0018.FE7D] # ARABIC SHADDA MEDIAL FORM; QQK
-FE7C ; [.0000.00AD.001A.FE7C] # ARABIC SHADDA ISOLATED FORM; QQK
-FC63 ; [.0000.00AD.001A.FC63][.0000.00BD.001A.FC63] # ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM; QQKN
-0652 ; [.0000.00AF.0002.0652] # ARABIC SUKUN
-FE7F ; [.0000.00AF.0018.FE7F] # ARABIC SUKUN MEDIAL FORM; QQK
-FE7E ; [.0000.00AF.001A.FE7E] # ARABIC SUKUN ISOLATED FORM; QQK
-0653 ; [.0000.00B0.0002.0653] # ARABIC MADDAH ABOVE
-0654 ; [.0000.00B1.0002.0654] # ARABIC HAMZA ABOVE
-0655 ; [.0000.00B2.0002.0655] # ARABIC HAMZA BELOW
-065F ; [.0000.00B3.0002.065F] # ARABIC WAVY HAMZA BELOW
-0656 ; [.0000.00B4.0002.0656] # ARABIC SUBSCRIPT ALEF
-0657 ; [.0000.00B5.0002.0657] # ARABIC INVERTED DAMMA
-0658 ; [.0000.00B6.0002.0658] # ARABIC MARK NOON GHUNNA
-0659 ; [.0000.00B7.0002.0659] # ARABIC ZWARAKAY
-065A ; [.0000.00B8.0002.065A] # ARABIC VOWEL SIGN SMALL V ABOVE
-065B ; [.0000.00B9.0002.065B] # ARABIC VOWEL SIGN INVERTED SMALL V ABOVE
-065C ; [.0000.00BA.0002.065C] # ARABIC VOWEL SIGN DOT BELOW
-065D ; [.0000.00BB.0002.065D] # ARABIC REVERSED DAMMA
-065E ; [.0000.00BC.0002.065E] # ARABIC FATHA WITH TWO DOTS
-0670 ; [.0000.00BD.0002.0670] # ARABIC LETTER SUPERSCRIPT ALEF
-0711 ; [.0000.00BE.0002.0711] # SYRIAC LETTER SUPERSCRIPT ALAPH
-0730 ; [.0000.00BF.0002.0730] # SYRIAC PTHAHA ABOVE
-0731 ; [.0000.00C0.0002.0731] # SYRIAC PTHAHA BELOW
-0732 ; [.0000.00C1.0002.0732] # SYRIAC PTHAHA DOTTED
-0733 ; [.0000.00C2.0002.0733] # SYRIAC ZQAPHA ABOVE
-0734 ; [.0000.00C3.0002.0734] # SYRIAC ZQAPHA BELOW
-0735 ; [.0000.00C4.0002.0735] # SYRIAC ZQAPHA DOTTED
-0736 ; [.0000.00C5.0002.0736] # SYRIAC RBASA ABOVE
-0737 ; [.0000.00C6.0002.0737] # SYRIAC RBASA BELOW
-0738 ; [.0000.00C7.0002.0738] # SYRIAC DOTTED ZLAMA HORIZONTAL
-0739 ; [.0000.00C8.0002.0739] # SYRIAC DOTTED ZLAMA ANGULAR
-073A ; [.0000.00C9.0002.073A] # SYRIAC HBASA ABOVE
-073B ; [.0000.00CA.0002.073B] # SYRIAC HBASA BELOW
-073C ; [.0000.00CB.0002.073C] # SYRIAC HBASA-ESASA DOTTED
-073D ; [.0000.00CC.0002.073D] # SYRIAC ESASA ABOVE
-073E ; [.0000.00CD.0002.073E] # SYRIAC ESASA BELOW
-073F ; [.0000.00CE.0002.073F] # SYRIAC RWAHA
-07EB ; [.0000.00CF.0002.07EB] # NKO COMBINING SHORT HIGH TONE
-07EC ; [.0000.00D0.0002.07EC] # NKO COMBINING SHORT LOW TONE
-07ED ; [.0000.00D1.0002.07ED] # NKO COMBINING SHORT RISING TONE
-07EE ; [.0000.00D2.0002.07EE] # NKO COMBINING LONG DESCENDING TONE
-07EF ; [.0000.00D3.0002.07EF] # NKO COMBINING LONG HIGH TONE
-07F0 ; [.0000.00D4.0002.07F0] # NKO COMBINING LONG LOW TONE
-07F1 ; [.0000.00D5.0002.07F1] # NKO COMBINING LONG RISING TONE
-07F2 ; [.0000.00D6.0002.07F2] # NKO COMBINING NASALIZATION MARK
-07F3 ; [.0000.00D7.0002.07F3] # NKO COMBINING DOUBLE DOT ABOVE
-135F ; [.0000.00D8.0002.135F] # ETHIOPIC COMBINING GEMINATION MARK
-135E ; [.0000.00D9.0002.135E] # ETHIOPIC COMBINING VOWEL LENGTH MARK
-135D ; [.0000.00DA.0002.135D] # ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK
-A6F0 ; [.0000.00DB.0002.A6F0] # BAMUM COMBINING MARK KOQNDON
-A6F1 ; [.0000.00DC.0002.A6F1] # BAMUM COMBINING MARK TUKWENTIS
-093C ; [.0000.00DD.0002.093C] # DEVANAGARI SIGN NUKTA
-0900 ; [.0000.00DE.0002.0900] # DEVANAGARI SIGN INVERTED CANDRABINDU; QQC
-0901 ; [.0000.00DE.0002.0901] # DEVANAGARI SIGN CANDRABINDU
-0902 ; [.0000.00DF.0002.0902] # DEVANAGARI SIGN ANUSVARA
-1CED ; [.0000.00DF.0002.1CED] # VEDIC SIGN TIRYAK; QQC
-0903 ; [.0000.00E0.0002.0903] # DEVANAGARI SIGN VISARGA
-1CF2 ; [.0000.00E0.0002.1CF2] # VEDIC SIGN ARDHAVISARGA; QQC
-09BC ; [.0000.00E1.0002.09BC] # BENGALI SIGN NUKTA
-0981 ; [.0000.00E2.0002.0981] # BENGALI SIGN CANDRABINDU
-0982 ; [.0000.00E3.0002.0982] # BENGALI SIGN ANUSVARA
-0983 ; [.0000.00E4.0002.0983] # BENGALI SIGN VISARGA
-0A3C ; [.0000.00E5.0002.0A3C] # GURMUKHI SIGN NUKTA
-0A01 ; [.0000.00E6.0002.0A01] # GURMUKHI SIGN ADAK BINDI
-0A02 ; [.0000.00E7.0002.0A02] # GURMUKHI SIGN BINDI
-0A03 ; [.0000.00E8.0002.0A03] # GURMUKHI SIGN VISARGA
-0A70 ; [.0000.00E9.0002.0A70] # GURMUKHI TIPPI
-0A71 ; [.0000.00EA.0002.0A71] # GURMUKHI ADDAK
-0ABC ; [.0000.00EB.0002.0ABC] # GUJARATI SIGN NUKTA
-0A81 ; [.0000.00EC.0002.0A81] # GUJARATI SIGN CANDRABINDU
-0A82 ; [.0000.00ED.0002.0A82] # GUJARATI SIGN ANUSVARA
-0A83 ; [.0000.00EE.0002.0A83] # GUJARATI SIGN VISARGA
-0B3C ; [.0000.00EF.0002.0B3C] # ORIYA SIGN NUKTA
-0B01 ; [.0000.00F0.0002.0B01] # ORIYA SIGN CANDRABINDU
-0B02 ; [.0000.00F1.0002.0B02] # ORIYA SIGN ANUSVARA
-0B03 ; [.0000.00F2.0002.0B03] # ORIYA SIGN VISARGA
+FE71 ; [.0000.00A2.0018.FE71] # ARABIC TATWEEL WITH FATHATAN ABOVE
+FE70 ; [.0000.00A2.001A.FE70] # ARABIC FATHATAN ISOLATED FORM
+08F0 ; [.0000.00A3.0002.08F0] # ARABIC OPEN FATHATAN
+08E7 ; [.0000.00A4.0002.08E7] # ARABIC CURLY FATHATAN
+064C ; [.0000.00A5.0002.064C] # ARABIC DAMMATAN
+FE72 ; [.0000.00A5.001A.FE72] # ARABIC DAMMATAN ISOLATED FORM
+FC5E ; [.0000.00A5.001A.FC5E][.0000.00BA.001A.FC5E] # ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM
+08F1 ; [.0000.00A7.0002.08F1] # ARABIC OPEN DAMMATAN
+08E8 ; [.0000.00A8.0002.08E8] # ARABIC CURLY DAMMATAN
+064D ; [.0000.00A9.0002.064D] # ARABIC KASRATAN
+FE74 ; [.0000.00A9.001A.FE74] # ARABIC KASRATAN ISOLATED FORM
+FC5F ; [.0000.00A9.001A.FC5F][.0000.00BA.001A.FC5F] # ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM
+08F2 ; [.0000.00AB.0002.08F2] # ARABIC OPEN KASRATAN
+08E9 ; [.0000.00AC.0002.08E9] # ARABIC CURLY KASRATAN
+064E ; [.0000.00AD.0002.064E] # ARABIC FATHA
+FE77 ; [.0000.00AD.0018.FE77] # ARABIC FATHA MEDIAL FORM
+FE76 ; [.0000.00AD.001A.FE76] # ARABIC FATHA ISOLATED FORM
+FCF2 ; [.0000.00AD.0018.FCF2][.0000.00BA.0018.FCF2] # ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM
+FC60 ; [.0000.00AD.001A.FC60][.0000.00BA.001A.FC60] # ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM
+08E4 ; [.0000.00AF.0002.08E4] # ARABIC CURLY FATHA
+08F4 ; [.0000.00B0.0002.08F4] # ARABIC FATHA WITH RING
+08F5 ; [.0000.00B1.0002.08F5] # ARABIC FATHA WITH DOT ABOVE
+064F ; [.0000.00B2.0002.064F] # ARABIC DAMMA
+FE79 ; [.0000.00B2.0018.FE79] # ARABIC DAMMA MEDIAL FORM
+FE78 ; [.0000.00B2.001A.FE78] # ARABIC DAMMA ISOLATED FORM
+FCF3 ; [.0000.00B2.0018.FCF3][.0000.00BA.0018.FCF3] # ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM
+FC61 ; [.0000.00B2.001A.FC61][.0000.00BA.001A.FC61] # ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM
+08E5 ; [.0000.00B4.0002.08E5] # ARABIC CURLY DAMMA
+08FE ; [.0000.00B5.0002.08FE] # ARABIC DAMMA WITH DOT
+0650 ; [.0000.00B6.0002.0650] # ARABIC KASRA
+FE7B ; [.0000.00B6.0018.FE7B] # ARABIC KASRA MEDIAL FORM
+FE7A ; [.0000.00B6.001A.FE7A] # ARABIC KASRA ISOLATED FORM
+FCF4 ; [.0000.00B6.0018.FCF4][.0000.00BA.0018.FCF4] # ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM
+FC62 ; [.0000.00B6.001A.FC62][.0000.00BA.001A.FC62] # ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM
+08E6 ; [.0000.00B8.0002.08E6] # ARABIC CURLY KASRA
+08F6 ; [.0000.00B9.0002.08F6] # ARABIC KASRA WITH DOT BELOW
+0651 ; [.0000.00BA.0002.0651] # ARABIC SHADDA
+FE7D ; [.0000.00BA.0018.FE7D] # ARABIC SHADDA MEDIAL FORM
+FE7C ; [.0000.00BA.001A.FE7C] # ARABIC SHADDA ISOLATED FORM
+FC63 ; [.0000.00BA.001A.FC63][.0000.00D1.001A.FC63] # ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM
+0652 ; [.0000.00BC.0002.0652] # ARABIC SUKUN
+FE7F ; [.0000.00BC.0018.FE7F] # ARABIC SUKUN MEDIAL FORM
+FE7E ; [.0000.00BC.001A.FE7E] # ARABIC SUKUN ISOLATED FORM
+0653 ; [.0000.00BD.0002.0653] # ARABIC MADDAH ABOVE
+0654 ; [.0000.00BE.0002.0654] # ARABIC HAMZA ABOVE
+0655 ; [.0000.00BF.0002.0655] # ARABIC HAMZA BELOW
+065F ; [.0000.00C0.0002.065F] # ARABIC WAVY HAMZA BELOW
+0656 ; [.0000.00C1.0002.0656] # ARABIC SUBSCRIPT ALEF
+0657 ; [.0000.00C2.0002.0657] # ARABIC INVERTED DAMMA
+0658 ; [.0000.00C3.0002.0658] # ARABIC MARK NOON GHUNNA
+0659 ; [.0000.00C4.0002.0659] # ARABIC ZWARAKAY
+065A ; [.0000.00C5.0002.065A] # ARABIC VOWEL SIGN SMALL V ABOVE
+065B ; [.0000.00C6.0002.065B] # ARABIC VOWEL SIGN INVERTED SMALL V ABOVE
+065C ; [.0000.00C7.0002.065C] # ARABIC VOWEL SIGN DOT BELOW
+065D ; [.0000.00C8.0002.065D] # ARABIC REVERSED DAMMA
+065E ; [.0000.00C9.0002.065E] # ARABIC FATHA WITH TWO DOTS
+08F7 ; [.0000.00CA.0002.08F7] # ARABIC LEFT ARROWHEAD ABOVE
+08F8 ; [.0000.00CB.0002.08F8] # ARABIC RIGHT ARROWHEAD ABOVE
+08FD ; [.0000.00CC.0002.08FD] # ARABIC RIGHT ARROWHEAD ABOVE WITH DOT
+08FB ; [.0000.00CD.0002.08FB] # ARABIC DOUBLE RIGHT ARROWHEAD ABOVE
+08FC ; [.0000.00CE.0002.08FC] # ARABIC DOUBLE RIGHT ARROWHEAD ABOVE WITH DOT
+08F9 ; [.0000.00CF.0002.08F9] # ARABIC LEFT ARROWHEAD BELOW
+08FA ; [.0000.00D0.0002.08FA] # ARABIC RIGHT ARROWHEAD BELOW
+0670 ; [.0000.00D1.0002.0670] # ARABIC LETTER SUPERSCRIPT ALEF
+0711 ; [.0000.00D2.0002.0711] # SYRIAC LETTER SUPERSCRIPT ALAPH
+0730 ; [.0000.00D3.0002.0730] # SYRIAC PTHAHA ABOVE
+0731 ; [.0000.00D4.0002.0731] # SYRIAC PTHAHA BELOW
+0732 ; [.0000.00D5.0002.0732] # SYRIAC PTHAHA DOTTED
+0733 ; [.0000.00D6.0002.0733] # SYRIAC ZQAPHA ABOVE
+0734 ; [.0000.00D7.0002.0734] # SYRIAC ZQAPHA BELOW
+0735 ; [.0000.00D8.0002.0735] # SYRIAC ZQAPHA DOTTED
+0736 ; [.0000.00D9.0002.0736] # SYRIAC RBASA ABOVE
+0737 ; [.0000.00DA.0002.0737] # SYRIAC RBASA BELOW
+0738 ; [.0000.00DB.0002.0738] # SYRIAC DOTTED ZLAMA HORIZONTAL
+0739 ; [.0000.00DC.0002.0739] # SYRIAC DOTTED ZLAMA ANGULAR
+073A ; [.0000.00DD.0002.073A] # SYRIAC HBASA ABOVE
+073B ; [.0000.00DE.0002.073B] # SYRIAC HBASA BELOW
+073C ; [.0000.00DF.0002.073C] # SYRIAC HBASA-ESASA DOTTED
+073D ; [.0000.00E0.0002.073D] # SYRIAC ESASA ABOVE
+073E ; [.0000.00E1.0002.073E] # SYRIAC ESASA BELOW
+073F ; [.0000.00E2.0002.073F] # SYRIAC RWAHA
+07EB ; [.0000.00E3.0002.07EB] # NKO COMBINING SHORT HIGH TONE
+07EC ; [.0000.00E4.0002.07EC] # NKO COMBINING SHORT LOW TONE
+07ED ; [.0000.00E5.0002.07ED] # NKO COMBINING SHORT RISING TONE
+07EE ; [.0000.00E6.0002.07EE] # NKO COMBINING LONG DESCENDING TONE
+07EF ; [.0000.00E7.0002.07EF] # NKO COMBINING LONG HIGH TONE
+07F0 ; [.0000.00E8.0002.07F0] # NKO COMBINING LONG LOW TONE
+07F1 ; [.0000.00E9.0002.07F1] # NKO COMBINING LONG RISING TONE
+07F2 ; [.0000.00EA.0002.07F2] # NKO COMBINING NASALIZATION MARK
+07F3 ; [.0000.00EB.0002.07F3] # NKO COMBINING DOUBLE DOT ABOVE
+135F ; [.0000.00EC.0002.135F] # ETHIOPIC COMBINING GEMINATION MARK
+135E ; [.0000.00ED.0002.135E] # ETHIOPIC COMBINING VOWEL LENGTH MARK
+135D ; [.0000.00EE.0002.135D] # ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK
+A6F0 ; [.0000.00EF.0002.A6F0] # BAMUM COMBINING MARK KOQNDON
+A6F1 ; [.0000.00F0.0002.A6F1] # BAMUM COMBINING MARK TUKWENTIS
+093C ; [.0000.00F1.0002.093C] # DEVANAGARI SIGN NUKTA
+09BC ; [.0000.00F1.0002.09BC] # BENGALI SIGN NUKTA
+0A3C ; [.0000.00F1.0002.0A3C] # GURMUKHI SIGN NUKTA
+0ABC ; [.0000.00F1.0002.0ABC] # GUJARATI SIGN NUKTA
+0B3C ; [.0000.00F1.0002.0B3C] # ORIYA SIGN NUKTA
+0CBC ; [.0000.00F1.0002.0CBC] # KANNADA SIGN NUKTA
+1B34 ; [.0000.00F1.0002.1B34] # BALINESE SIGN REREKAN
+1BE6 ; [.0000.00F1.0002.1BE6] # BATAK SIGN TOMPI
+1C37 ; [.0000.00F1.0002.1C37] # LEPCHA SIGN NUKTA
+A9B3 ; [.0000.00F1.0002.A9B3] # JAVANESE SIGN CECAK TELU
+110BA ; [.0000.00F1.0002.110BA] # KAITHI SIGN NUKTA
+116B7 ; [.0000.00F1.0002.116B7] # TAKRI SIGN NUKTA
+0900 ; [.0000.00F2.0002.0900] # DEVANAGARI SIGN INVERTED CANDRABINDU
+0901 ; [.0000.00F2.0002.0901] # DEVANAGARI SIGN CANDRABINDU
+0981 ; [.0000.00F2.0002.0981] # BENGALI SIGN CANDRABINDU
+0A01 ; [.0000.00F2.0002.0A01] # GURMUKHI SIGN ADAK BINDI
+0A81 ; [.0000.00F2.0002.0A81] # GUJARATI SIGN CANDRABINDU
+0B01 ; [.0000.00F2.0002.0B01] # ORIYA SIGN CANDRABINDU
+0C01 ; [.0000.00F2.0002.0C01] # TELUGU SIGN CANDRABINDU
+1B00 ; [.0000.00F2.0002.1B00] # BALINESE SIGN ULU RICEM
+1B01 ; [.0000.00F2.0002.1B01] # BALINESE SIGN ULU CANDRA
+A980 ; [.0000.00F2.0002.A980] # JAVANESE SIGN PANYANGGA
+11000 ; [.0000.00F2.0002.11000] # BRAHMI SIGN CANDRABINDU
+11080 ; [.0000.00F2.0002.11080] # KAITHI SIGN CANDRABINDU
+11100 ; [.0000.00F2.0002.11100] # CHAKMA SIGN CANDRABINDU
+11180 ; [.0000.00F2.0002.11180] # SHARADA SIGN CANDRABINDU
+0902 ; [.0000.00F3.0002.0902] # DEVANAGARI SIGN ANUSVARA
+0982 ; [.0000.00F3.0002.0982] # BENGALI SIGN ANUSVARA
+0A02 ; [.0000.00F3.0002.0A02] # GURMUKHI SIGN BINDI
+0A82 ; [.0000.00F3.0002.0A82] # GUJARATI SIGN ANUSVARA
+0B02 ; [.0000.00F3.0002.0B02] # ORIYA SIGN ANUSVARA
0B82 ; [.0000.00F3.0002.0B82] # TAMIL SIGN ANUSVARA
-0C01 ; [.0000.00F4.0002.0C01] # TELUGU SIGN CANDRABINDU
-0C02 ; [.0000.00F5.0002.0C02] # TELUGU SIGN ANUSVARA
-0C03 ; [.0000.00F6.0002.0C03] # TELUGU SIGN VISARGA
-0CBC ; [.0000.00F7.0002.0CBC] # KANNADA SIGN NUKTA
-0C82 ; [.0000.00F8.0002.0C82] # KANNADA SIGN ANUSVARA
-0C83 ; [.0000.00F9.0002.0C83] # KANNADA SIGN VISARGA
-0D02 ; [.0000.00FA.0002.0D02] # MALAYALAM SIGN ANUSVARA
-0D03 ; [.0000.00FB.0002.0D03] # MALAYALAM SIGN VISARGA
-0D82 ; [.0000.00FC.0002.0D82] # SINHALA SIGN ANUSVARAYA
-0D83 ; [.0000.00FD.0002.0D83] # SINHALA SIGN VISARGAYA
-1B34 ; [.0000.00FE.0002.1B34] # BALINESE SIGN REREKAN
-1B00 ; [.0000.00FF.0002.1B00] # BALINESE SIGN ULU RICEM
-1B01 ; [.0000.0100.0002.1B01] # BALINESE SIGN ULU CANDRA
-1B02 ; [.0000.0101.0002.1B02] # BALINESE SIGN CECEK
-1B03 ; [.0000.0102.0002.1B03] # BALINESE SIGN SURANG
-1B04 ; [.0000.0103.0002.1B04] # BALINESE SIGN BISAH
-A9B3 ; [.0000.0104.0002.A9B3] # JAVANESE SIGN CECAK TELU
-A980 ; [.0000.0105.0002.A980] # JAVANESE SIGN PANYANGGA
-A981 ; [.0000.0106.0002.A981] # JAVANESE SIGN CECAK
-A982 ; [.0000.0107.0002.A982] # JAVANESE SIGN LAYAR
-A983 ; [.0000.0108.0002.A983] # JAVANESE SIGN WIGNYAN
-1B80 ; [.0000.0109.0002.1B80] # SUNDANESE SIGN PANYECEK
-1B81 ; [.0000.010A.0002.1B81] # SUNDANESE SIGN PANGLAYAR
-1B82 ; [.0000.010B.0002.1B82] # SUNDANESE SIGN PANGWISAD
-ABEC ; [.0000.010C.0002.ABEC] # MEETEI MAYEK LUM IYEK
-A80B ; [.0000.010D.0002.A80B] # SYLOTI NAGRI SIGN ANUSVARA
-A880 ; [.0000.010E.0002.A880] # SAURASHTRA SIGN ANUSVARA
-A881 ; [.0000.010F.0002.A881] # SAURASHTRA SIGN VISARGA
-11000 ; [.0000.0110.0002.11000] # BRAHMI SIGN CANDRABINDU
-11001 ; [.0000.0111.0002.11001] # BRAHMI SIGN ANUSVARA
-11002 ; [.0000.0112.0002.11002] # BRAHMI SIGN VISARGA
-10A0E ; [.0000.0113.0002.10A0E] # KHAROSHTHI SIGN ANUSVARA
-10A0F ; [.0000.0114.0002.10A0F] # KHAROSHTHI SIGN VISARGA
-10A38 ; [.0000.0115.0002.10A38] # KHAROSHTHI SIGN BAR ABOVE
-10A39 ; [.0000.0116.0002.10A39] # KHAROSHTHI SIGN CAUDA
-10A3A ; [.0000.0117.0002.10A3A] # KHAROSHTHI SIGN DOT BELOW
-110BA ; [.0000.0118.0002.110BA] # KAITHI SIGN NUKTA
-11080 ; [.0000.0119.0002.11080] # KAITHI SIGN CANDRABINDU
-11081 ; [.0000.011A.0002.11081] # KAITHI SIGN ANUSVARA
-11082 ; [.0000.011B.0002.11082] # KAITHI SIGN VISARGA
-0E4E ; [.0000.011C.0002.0E4E] # THAI CHARACTER YAMAKKAN
-0E47 ; [.0000.011D.0002.0E47] # THAI CHARACTER MAITAIKHU
-0E48 ; [.0000.011E.0002.0E48] # THAI CHARACTER MAI EK
-0E49 ; [.0000.011F.0002.0E49] # THAI CHARACTER MAI THO
-0E4A ; [.0000.0120.0002.0E4A] # THAI CHARACTER MAI TRI
-0E4B ; [.0000.0121.0002.0E4B] # THAI CHARACTER MAI CHATTAWA
-0E4C ; [.0000.0122.0002.0E4C] # THAI CHARACTER THANTHAKHAT
-0E4D ; [.0000.0123.0002.0E4D] # THAI CHARACTER NIKHAHIT
-0EC8 ; [.0000.0124.0002.0EC8] # LAO TONE MAI EK
-0EC9 ; [.0000.0125.0002.0EC9] # LAO TONE MAI THO
-0ECA ; [.0000.0126.0002.0ECA] # LAO TONE MAI TI
-0ECB ; [.0000.0127.0002.0ECB] # LAO TONE MAI CATAWA
-0ECC ; [.0000.0128.0002.0ECC] # LAO CANCELLATION MARK
-0ECD ; [.0000.0129.0002.0ECD] # LAO NIGGAHITA
-AABF ; [.0000.012A.0002.AABF] # TAI VIET TONE MAI EK
-AAC1 ; [.0000.012B.0002.AAC1] # TAI VIET TONE MAI THO
-0F39 ; [.0000.012C.0002.0F39] # TIBETAN MARK TSA -PHRU
-0F7E ; [.0000.012D.0002.0F7E] # TIBETAN SIGN RJES SU NGA RO
-0F7F ; [.0000.012E.0002.0F7F] # TIBETAN SIGN RNAM BCAD
-1C37 ; [.0000.012F.0002.1C37] # LEPCHA SIGN NUKTA
-A92B ; [.0000.0130.0002.A92B] # KAYAH LI TONE PLOPHU
-A92C ; [.0000.0131.0002.A92C] # KAYAH LI TONE CALYA
-A92D ; [.0000.0132.0002.A92D] # KAYAH LI TONE CALYA PLOPHU
-1036 ; [.0000.0133.0002.1036] # MYANMAR SIGN ANUSVARA
-1037 ; [.0000.0134.0002.1037] # MYANMAR SIGN DOT BELOW
-1038 ; [.0000.0135.0002.1038] # MYANMAR SIGN VISARGA
-108D ; [.0000.0136.0002.108D] # MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-17C6 ; [.0000.0137.0002.17C6] # KHMER SIGN NIKAHIT
-17C7 ; [.0000.0138.0002.17C7] # KHMER SIGN REAHMUK
-17C8 ; [.0000.0139.0002.17C8] # KHMER SIGN YUUKALEAPINTU
-17C9 ; [.0000.013A.0002.17C9] # KHMER SIGN MUUSIKATOAN
-17CA ; [.0000.013B.0002.17CA] # KHMER SIGN TRIISAP
-1A74 ; [.0000.013C.0002.1A74] # TAI THAM SIGN MAI KANG
-1A75 ; [.0000.013D.0002.1A75] # TAI THAM SIGN TONE-1
-1A76 ; [.0000.013E.0002.1A76] # TAI THAM SIGN TONE-2
-1A77 ; [.0000.013F.0002.1A77] # TAI THAM SIGN KHUEN TONE-3
-1A78 ; [.0000.0140.0002.1A78] # TAI THAM SIGN KHUEN TONE-4
-1A79 ; [.0000.0141.0002.1A79] # TAI THAM SIGN KHUEN TONE-5
-1A7A ; [.0000.0142.0002.1A7A] # TAI THAM SIGN RA HAAM
-1A7B ; [.0000.0143.0002.1A7B] # TAI THAM SIGN MAI SAM
-1A7C ; [.0000.0144.0002.1A7C] # TAI THAM SIGN KHUEN-LUE KARAN
-1939 ; [.0000.0145.0002.1939] # LIMBU SIGN MUKPHRENG
-193A ; [.0000.0146.0002.193A] # LIMBU SIGN KEMPHRENG
-193B ; [.0000.0147.0002.193B] # LIMBU SIGN SA-I
-302A ; [.0000.0148.0002.302A] # IDEOGRAPHIC LEVEL TONE MARK
-302B ; [.0000.0149.0002.302B] # IDEOGRAPHIC RISING TONE MARK
-302C ; [.0000.014A.0002.302C] # IDEOGRAPHIC DEPARTING TONE MARK
-302D ; [.0000.014B.0002.302D] # IDEOGRAPHIC ENTERING TONE MARK
-302E ; [.0000.014C.0002.302E] # HANGUL SINGLE DOT TONE MARK
-302F ; [.0000.014D.0002.302F] # HANGUL DOUBLE DOT TONE MARK
-3099 ; [.0000.014E.0002.3099] # COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
-FF9E ; [.0000.014E.0012.FF9E] # HALFWIDTH KATAKANA VOICED SOUND MARK; QQK
-309A ; [.0000.014F.0002.309A] # COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-FF9F ; [.0000.014F.0012.FF9F] # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK; QQK
-20D0 ; [.0000.0150.0002.20D0] # COMBINING LEFT HARPOON ABOVE
-20D1 ; [.0000.0151.0002.20D1] # COMBINING RIGHT HARPOON ABOVE
-20D2 ; [.0000.0152.0002.20D2] # COMBINING LONG VERTICAL LINE OVERLAY
-20D3 ; [.0000.0152.0002.20D3] # COMBINING SHORT VERTICAL LINE OVERLAY; QQC
-20D4 ; [.0000.0153.0002.20D4] # COMBINING ANTICLOCKWISE ARROW ABOVE
-20D5 ; [.0000.0154.0002.20D5] # COMBINING CLOCKWISE ARROW ABOVE
-20D6 ; [.0000.0155.0002.20D6] # COMBINING LEFT ARROW ABOVE
-20D7 ; [.0000.0156.0002.20D7] # COMBINING RIGHT ARROW ABOVE
-20DB ; [.0000.0157.0002.20DB] # COMBINING THREE DOTS ABOVE
-20DC ; [.0000.0158.0002.20DC] # COMBINING FOUR DOTS ABOVE
-20E1 ; [.0000.0159.0002.20E1] # COMBINING LEFT RIGHT ARROW ABOVE
-20E6 ; [.0000.015A.0002.20E6] # COMBINING DOUBLE VERTICAL STROKE OVERLAY
-20E7 ; [.0000.015B.0002.20E7] # COMBINING ANNUITY SYMBOL
-20E8 ; [.0000.015C.0002.20E8] # COMBINING TRIPLE UNDERDOT
-20E9 ; [.0000.015D.0002.20E9] # COMBINING WIDE BRIDGE ABOVE
-101FD ; [.0000.015E.0002.101FD] # PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-02D0 ; [.1561.0020.0002.02D0] # MODIFIER LETTER TRIANGULAR COLON
-02D1 ; [.1562.0020.0002.02D1] # MODIFIER LETTER HALF TRIANGULAR COLON
-0971 ; [.1563.0020.0002.0971] # DEVANAGARI SIGN HIGH SPACING DOT
-0E46 ; [.1564.0020.0002.0E46] # THAI CHARACTER MAIYAMOK
-0EC6 ; [.1565.0020.0002.0EC6] # LAO KO LA
-1AA7 ; [.1566.0020.0002.1AA7] # TAI THAM SIGN MAI YAMOK
-A9CF ; [.1567.0020.0002.A9CF] # JAVANESE PANGRANGKEP
-AA70 ; [.1568.0020.0002.AA70] # MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AADD ; [.1569.0020.0002.AADD] # TAI VIET SYMBOL SAM
-3005 ; [.156A.0020.0002.3005] # IDEOGRAPHIC ITERATION MARK
-303B ; [.156B.0020.0002.303B] # VERTICAL IDEOGRAPHIC ITERATION MARK
-3031 ; [.156C.0020.0002.3031] # VERTICAL KANA REPEAT MARK
-3032 ; [.156C.0020.0002.3031][.0000.014E.0002.3099] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK; QQCM
-3033 ; [.156D.0020.0002.3033] # VERTICAL KANA REPEAT MARK UPPER HALF
-3034 ; [.156D.0020.0002.3033][.0000.014E.0002.3099] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF; QQCM
-3035 ; [.156E.0020.0002.3035] # VERTICAL KANA REPEAT MARK LOWER HALF
-309D ; [.156F.0020.0002.309D] # HIRAGANA ITERATION MARK
-309E ; [.156F.0020.0002.309D][.0000.014E.0002.3099] # HIRAGANA VOICED ITERATION MARK; QQCM
-30FC ; [.1570.0020.0002.30FC] # KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF70 ; [.1570.0020.0012.FF70] # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK; QQK
-30FD ; [.1571.0020.0002.30FD] # KATAKANA ITERATION MARK
-30FE ; [.1571.0020.0002.30FD][.0000.014E.0002.3099] # KATAKANA VOICED ITERATION MARK; QQCM
-00A4 ; [.1572.0020.0002.00A4] # CURRENCY SIGN
-00A2 ; [.1573.0020.0002.00A2] # CENT SIGN
-FFE0 ; [.1573.0020.0003.FFE0] # FULLWIDTH CENT SIGN; QQK
-0024 ; [.1574.0020.0002.0024] # DOLLAR SIGN
-FF04 ; [.1574.0020.0003.FF04] # FULLWIDTH DOLLAR SIGN; QQK
-FE69 ; [.1574.0020.000F.FE69] # SMALL DOLLAR SIGN; QQK
-00A3 ; [.1575.0020.0002.00A3] # POUND SIGN
-FFE1 ; [.1575.0020.0003.FFE1] # FULLWIDTH POUND SIGN; QQK
-00A5 ; [.1576.0020.0002.00A5] # YEN SIGN
-FFE5 ; [.1576.0020.0003.FFE5] # FULLWIDTH YEN SIGN; QQK
-060B ; [.1577.0020.0002.060B] # AFGHANI SIGN
-09F2 ; [.1578.0020.0002.09F2] # BENGALI RUPEE MARK
-09F3 ; [.1579.0020.0002.09F3] # BENGALI RUPEE SIGN
-09FB ; [.157A.0020.0002.09FB] # BENGALI GANDA MARK
-0AF1 ; [.157B.0020.0002.0AF1] # GUJARATI RUPEE SIGN
-A838 ; [.157C.0020.0002.A838] # NORTH INDIC RUPEE MARK
-0BF9 ; [.157D.0020.0002.0BF9] # TAMIL RUPEE SIGN
-0E3F ; [.157E.0020.0002.0E3F] # THAI CURRENCY SYMBOL BAHT
-17DB ; [.157F.0020.0002.17DB] # KHMER CURRENCY SYMBOL RIEL
-20A0 ; [.1580.0020.0002.20A0] # EURO-CURRENCY SIGN
-20A1 ; [.1581.0020.0002.20A1] # COLON SIGN
-20A2 ; [.1582.0020.0002.20A2] # CRUZEIRO SIGN
-20A3 ; [.1583.0020.0002.20A3] # FRENCH FRANC SIGN
-20A4 ; [.1584.0020.0002.20A4] # LIRA SIGN
-20A5 ; [.1585.0020.0002.20A5] # MILL SIGN
-20A6 ; [.1586.0020.0002.20A6] # NAIRA SIGN
-20A7 ; [.1587.0020.0002.20A7] # PESETA SIGN
-20A9 ; [.1588.0020.0002.20A9] # WON SIGN
-FFE6 ; [.1588.0020.0003.FFE6] # FULLWIDTH WON SIGN; QQK
-20AA ; [.1589.0020.0002.20AA] # NEW SHEQEL SIGN
-20AB ; [.158A.0020.0002.20AB] # DONG SIGN
-20AC ; [.158B.0020.0002.20AC] # EURO SIGN
-20AD ; [.158C.0020.0002.20AD] # KIP SIGN
-20AE ; [.158D.0020.0002.20AE] # TUGRIK SIGN
-20AF ; [.158E.0020.0002.20AF] # DRACHMA SIGN
-20B0 ; [.158F.0020.0002.20B0] # GERMAN PENNY SIGN
-20B1 ; [.1590.0020.0002.20B1] # PESO SIGN
-20B2 ; [.1591.0020.0002.20B2] # GUARANI SIGN
-20B3 ; [.1592.0020.0002.20B3] # AUSTRAL SIGN
-20B4 ; [.1593.0020.0002.20B4] # HRYVNIA SIGN
-20B5 ; [.1594.0020.0002.20B5] # CEDI SIGN
-20B6 ; [.1595.0020.0002.20B6] # LIVRE TOURNOIS SIGN
-20B7 ; [.1596.0020.0002.20B7] # SPESMILO SIGN
-20B8 ; [.1597.0020.0002.20B8] # TENGE SIGN
-20B9 ; [.1598.0020.0002.20B9] # INDIAN RUPEE SIGN
-0030 ; [.1599.0020.0002.0030] # DIGIT ZERO
-FF10 ; [.1599.0020.0003.FF10] # FULLWIDTH DIGIT ZERO; QQK
-1F100 ; [.1599.0020.0004.1F100][*028E.0020.0004.1F100] # DIGIT ZERO FULL STOP; QQKN
-1F101 ; [.1599.0020.0004.1F101][*0241.0020.0004.1F101] # DIGIT ZERO COMMA; QQKN
-1D7CE ; [.1599.0020.0005.1D7CE] # MATHEMATICAL BOLD DIGIT ZERO; QQK
-1D7D8 ; [.1599.0020.0005.1D7D8] # MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO; QQK
-1D7E2 ; [.1599.0020.0005.1D7E2] # MATHEMATICAL SANS-SERIF DIGIT ZERO; QQK
-1D7EC ; [.1599.0020.0005.1D7EC] # MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO; QQK
-1D7F6 ; [.1599.0020.0005.1D7F6] # MATHEMATICAL MONOSPACE DIGIT ZERO; QQK
-24EA ; [.1599.0020.0006.24EA] # CIRCLED DIGIT ZERO; QQK
-24FF ; [.1599.0020.0006.24FF] # NEGATIVE CIRCLED DIGIT ZERO; QQK
-2070 ; [.1599.0020.0014.2070] # SUPERSCRIPT ZERO; QQK
-2080 ; [.1599.0020.0015.2080] # SUBSCRIPT ZERO; QQK
-0660 ; [.1599.0020.0002.0660][.0000.0165.0002.0660] # ARABIC-INDIC DIGIT ZERO
-06F0 ; [.1599.0020.0002.06F0][.0000.0166.0002.06F0] # EXTENDED ARABIC-INDIC DIGIT ZERO
-07C0 ; [.1599.0020.0002.07C0][.0000.0168.0002.07C0] # NKO DIGIT ZERO
-104A0 ; [.1599.0020.0002.104A0][.0000.016A.0002.104A0] # OSMANYA DIGIT ZERO
-0966 ; [.1599.0020.0002.0966][.0000.016B.0002.0966] # DEVANAGARI DIGIT ZERO
-09E6 ; [.1599.0020.0002.09E6][.0000.016C.0002.09E6] # BENGALI DIGIT ZERO
-0A66 ; [.1599.0020.0002.0A66][.0000.016D.0002.0A66] # GURMUKHI DIGIT ZERO
-0AE6 ; [.1599.0020.0002.0AE6][.0000.016E.0002.0AE6] # GUJARATI DIGIT ZERO
-0B66 ; [.1599.0020.0002.0B66][.0000.016F.0002.0B66] # ORIYA DIGIT ZERO
-0BE6 ; [.1599.0020.0002.0BE6][.0000.0170.0002.0BE6] # TAMIL DIGIT ZERO
-0C66 ; [.1599.0020.0002.0C66][.0000.0171.0002.0C66] # TELUGU DIGIT ZERO
-0C78 ; [.1599.0020.0002.0C78][.0000.0171.0002.0C78] # TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR
-0CE6 ; [.1599.0020.0002.0CE6][.0000.0172.0002.0CE6] # KANNADA DIGIT ZERO
-0D66 ; [.1599.0020.0002.0D66][.0000.0173.0002.0D66] # MALAYALAM DIGIT ZERO
-ABF0 ; [.1599.0020.0002.ABF0][.0000.0174.0002.ABF0] # MEETEI MAYEK DIGIT ZERO
-A8D0 ; [.1599.0020.0002.A8D0][.0000.0175.0002.A8D0] # SAURASHTRA DIGIT ZERO
-1946 ; [.1599.0020.0002.1946][.0000.0176.0002.1946] # LIMBU DIGIT ZERO
-19D0 ; [.1599.0020.0002.19D0][.0000.0177.0002.19D0] # NEW TAI LUE DIGIT ZERO
-1A80 ; [.1599.0020.0002.1A80][.0000.0178.0002.1A80] # TAI THAM HORA DIGIT ZERO
-1A90 ; [.1599.0020.0002.1A90][.0000.0179.0002.1A90] # TAI THAM THAM DIGIT ZERO
-0E50 ; [.1599.0020.0002.0E50][.0000.017A.0002.0E50] # THAI DIGIT ZERO
-0ED0 ; [.1599.0020.0002.0ED0][.0000.017B.0002.0ED0] # LAO DIGIT ZERO
-0F20 ; [.1599.0020.0002.0F20][.0000.017C.0002.0F20] # TIBETAN DIGIT ZERO
-0F33 ; [.1599.0020.0004.0F33][.0000.017C.0004.0F33] # TIBETAN DIGIT HALF ZERO; QQK
-1C40 ; [.1599.0020.0002.1C40][.0000.017D.0002.1C40] # LEPCHA DIGIT ZERO
-A900 ; [.1599.0020.0002.A900][.0000.017E.0002.A900] # KAYAH LI DIGIT ZERO
-1040 ; [.1599.0020.0002.1040][.0000.017F.0002.1040] # MYANMAR DIGIT ZERO
-1090 ; [.1599.0020.0002.1090][.0000.0180.0002.1090] # MYANMAR SHAN DIGIT ZERO
-17E0 ; [.1599.0020.0002.17E0][.0000.0181.0002.17E0] # KHMER DIGIT ZERO
-17F0 ; [.1599.0020.0002.17F0][.0000.0182.0002.17F0] # KHMER SYMBOL LEK ATTAK SON
-AA50 ; [.1599.0020.0002.AA50][.0000.0183.0002.AA50] # CHAM DIGIT ZERO
-1B50 ; [.1599.0020.0002.1B50][.0000.0184.0002.1B50] # BALINESE DIGIT ZERO
-A9D0 ; [.1599.0020.0002.A9D0][.0000.0185.0002.A9D0] # JAVANESE DIGIT ZERO
-1BB0 ; [.1599.0020.0002.1BB0][.0000.0186.0002.1BB0] # SUNDANESE DIGIT ZERO
-1810 ; [.1599.0020.0002.1810][.0000.0187.0002.1810] # MONGOLIAN DIGIT ZERO
-1C50 ; [.1599.0020.0002.1C50][.0000.0188.0002.1C50] # OL CHIKI DIGIT ZERO
-A620 ; [.1599.0020.0002.A620][.0000.0189.0002.A620] # VAI DIGIT ZERO
-3007 ; [.1599.0020.0002.3007][.0000.018A.0002.3007] # IDEOGRAPHIC NUMBER ZERO
-1018A ; [.1599.0020.0002.1018A][.0000.018C.0002.1018A] # GREEK ZERO SIGN
-11066 ; [.1599.0020.0002.11066][.0000.0196.0002.11066] # BRAHMI DIGIT ZERO
-2189 ; [.1599.0020.001E.2189][*036C.0020.001E.2189][.159C.0020.001F.2189] # VULGAR FRACTION ZERO THIRDS; QQKN
-3358 ; [.1599.0020.0004.3358][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO; QQKN
-0031 ; [.159A.0020.0002.0031] # DIGIT ONE
-FF11 ; [.159A.0020.0003.FF11] # FULLWIDTH DIGIT ONE; QQK
-2474 ; [*030E.0020.0004.2474][.159A.0020.0004.2474][*030F.0020.001F.2474] # PARENTHESIZED DIGIT ONE; QQKN
-2488 ; [.159A.0020.0004.2488][*028E.0020.0004.2488] # DIGIT ONE FULL STOP; QQKN
-1F102 ; [.159A.0020.0004.1F102][*0241.0020.0004.1F102] # DIGIT ONE COMMA; QQKN
-1D7CF ; [.159A.0020.0005.1D7CF] # MATHEMATICAL BOLD DIGIT ONE; QQK
-1D7D9 ; [.159A.0020.0005.1D7D9] # MATHEMATICAL DOUBLE-STRUCK DIGIT ONE; QQK
-1D7E3 ; [.159A.0020.0005.1D7E3] # MATHEMATICAL SANS-SERIF DIGIT ONE; QQK
-1D7ED ; [.159A.0020.0005.1D7ED] # MATHEMATICAL SANS-SERIF BOLD DIGIT ONE; QQK
-1D7F7 ; [.159A.0020.0005.1D7F7] # MATHEMATICAL MONOSPACE DIGIT ONE; QQK
-2460 ; [.159A.0020.0006.2460] # CIRCLED DIGIT ONE; QQK
-24F5 ; [.159A.0020.0006.24F5] # DOUBLE CIRCLED DIGIT ONE; QQK
-2776 ; [.159A.0020.0006.2776] # DINGBAT NEGATIVE CIRCLED DIGIT ONE; QQK
-2780 ; [.159A.0020.0006.2780] # DINGBAT CIRCLED SANS-SERIF DIGIT ONE; QQK
-278A ; [.159A.0020.0006.278A] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE; QQK
-00B9 ; [.159A.0020.0014.00B9] # SUPERSCRIPT ONE; QQK
-2081 ; [.159A.0020.0015.2081] # SUBSCRIPT ONE; QQK
-215F ; [.159A.0020.001E.215F][*036C.0020.001E.215F] # FRACTION NUMERATOR ONE; QQKN
-0661 ; [.159A.0020.0002.0661][.0000.0165.0002.0661] # ARABIC-INDIC DIGIT ONE
-06F1 ; [.159A.0020.0002.06F1][.0000.0166.0002.06F1] # EXTENDED ARABIC-INDIC DIGIT ONE
-10E60 ; [.159A.0020.0002.10E60][.0000.0167.0002.10E60] # RUMI DIGIT ONE
-07C1 ; [.159A.0020.0002.07C1][.0000.0168.0002.07C1] # NKO DIGIT ONE
-1369 ; [.159A.0020.0002.1369][.0000.0169.0002.1369] # ETHIOPIC DIGIT ONE
-104A1 ; [.159A.0020.0002.104A1][.0000.016A.0002.104A1] # OSMANYA DIGIT ONE
-0967 ; [.159A.0020.0002.0967][.0000.016B.0002.0967] # DEVANAGARI DIGIT ONE
-09E7 ; [.159A.0020.0002.09E7][.0000.016C.0002.09E7] # BENGALI DIGIT ONE
-0A67 ; [.159A.0020.0002.0A67][.0000.016D.0002.0A67] # GURMUKHI DIGIT ONE
-0AE7 ; [.159A.0020.0002.0AE7][.0000.016E.0002.0AE7] # GUJARATI DIGIT ONE
-0B67 ; [.159A.0020.0002.0B67][.0000.016F.0002.0B67] # ORIYA DIGIT ONE
-0BE7 ; [.159A.0020.0002.0BE7][.0000.0170.0002.0BE7] # TAMIL DIGIT ONE
-0C67 ; [.159A.0020.0002.0C67][.0000.0171.0002.0C67] # TELUGU DIGIT ONE
-0C79 ; [.159A.0020.0002.0C79][.0000.0171.0002.0C79] # TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR
-0C7C ; [.159A.0020.0002.0C7C][.0000.0171.0002.0C7C] # TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR
-0CE7 ; [.159A.0020.0002.0CE7][.0000.0172.0002.0CE7] # KANNADA DIGIT ONE
-0D67 ; [.159A.0020.0002.0D67][.0000.0173.0002.0D67] # MALAYALAM DIGIT ONE
-ABF1 ; [.159A.0020.0002.ABF1][.0000.0174.0002.ABF1] # MEETEI MAYEK DIGIT ONE
-A8D1 ; [.159A.0020.0002.A8D1][.0000.0175.0002.A8D1] # SAURASHTRA DIGIT ONE
-1947 ; [.159A.0020.0002.1947][.0000.0176.0002.1947] # LIMBU DIGIT ONE
-19D1 ; [.159A.0020.0002.19D1][.0000.0177.0002.19D1] # NEW TAI LUE DIGIT ONE
-19DA ; [.159A.0020.0002.19DA][.0000.0177.0002.19DA] # NEW TAI LUE THAM DIGIT ONE
-1A81 ; [.159A.0020.0002.1A81][.0000.0178.0002.1A81] # TAI THAM HORA DIGIT ONE
-1A91 ; [.159A.0020.0002.1A91][.0000.0179.0002.1A91] # TAI THAM THAM DIGIT ONE
-0E51 ; [.159A.0020.0002.0E51][.0000.017A.0002.0E51] # THAI DIGIT ONE
-0ED1 ; [.159A.0020.0002.0ED1][.0000.017B.0002.0ED1] # LAO DIGIT ONE
-0F21 ; [.159A.0020.0002.0F21][.0000.017C.0002.0F21] # TIBETAN DIGIT ONE
-0F2A ; [.159A.0020.0004.0F2A][.0000.017C.0004.0F2A] # TIBETAN DIGIT HALF ONE; QQK
-1C41 ; [.159A.0020.0002.1C41][.0000.017D.0002.1C41] # LEPCHA DIGIT ONE
-A901 ; [.159A.0020.0002.A901][.0000.017E.0002.A901] # KAYAH LI DIGIT ONE
-1041 ; [.159A.0020.0002.1041][.0000.017F.0002.1041] # MYANMAR DIGIT ONE
-1091 ; [.159A.0020.0002.1091][.0000.0180.0002.1091] # MYANMAR SHAN DIGIT ONE
-17E1 ; [.159A.0020.0002.17E1][.0000.0181.0002.17E1] # KHMER DIGIT ONE
-17F1 ; [.159A.0020.0002.17F1][.0000.0182.0002.17F1] # KHMER SYMBOL LEK ATTAK MUOY
-AA51 ; [.159A.0020.0002.AA51][.0000.0183.0002.AA51] # CHAM DIGIT ONE
-1B51 ; [.159A.0020.0002.1B51][.0000.0184.0002.1B51] # BALINESE DIGIT ONE
-A9D1 ; [.159A.0020.0002.A9D1][.0000.0185.0002.A9D1] # JAVANESE DIGIT ONE
-1BB1 ; [.159A.0020.0002.1BB1][.0000.0186.0002.1BB1] # SUNDANESE DIGIT ONE
-1811 ; [.159A.0020.0002.1811][.0000.0187.0002.1811] # MONGOLIAN DIGIT ONE
-1C51 ; [.159A.0020.0002.1C51][.0000.0188.0002.1C51] # OL CHIKI DIGIT ONE
-A621 ; [.159A.0020.0002.A621][.0000.0189.0002.A621] # VAI DIGIT ONE
-3021 ; [.159A.0020.0002.3021][.0000.018A.0002.3021] # HANGZHOU NUMERAL ONE
-10107 ; [.159A.0020.0002.10107][.0000.018B.0002.10107] # AEGEAN NUMBER ONE
-10142 ; [.159A.0020.0002.10142][.0000.018C.0002.10142] # GREEK ACROPHONIC ATTIC ONE DRACHMA
-10158 ; [.159A.0020.0002.10158][.0000.018C.0002.10158] # GREEK ACROPHONIC HERAEUM ONE PLETHRON
-10159 ; [.159A.0020.0002.10159][.0000.018C.0002.10159] # GREEK ACROPHONIC THESPIAN ONE
-1015A ; [.159A.0020.0002.1015A][.0000.018C.0002.1015A] # GREEK ACROPHONIC HERMIONIAN ONE
-10320 ; [.159A.0020.0002.10320][.0000.018E.0002.10320] # OLD ITALIC NUMERAL ONE
-103D1 ; [.159A.0020.0002.103D1][.0000.018F.0002.103D1] # OLD PERSIAN NUMBER ONE
-12415 ; [.159A.0020.0002.12415][.0000.0190.0002.12415] # CUNEIFORM NUMERIC SIGN ONE GESH2
-1241E ; [.159A.0020.0002.1241E][.0000.0190.0002.1241E] # CUNEIFORM NUMERIC SIGN ONE GESHU
-1242C ; [.159A.0020.0002.1242C][.0000.0190.0002.1242C] # CUNEIFORM NUMERIC SIGN ONE SHARU
-12434 ; [.159A.0020.0002.12434][.0000.0190.0002.12434] # CUNEIFORM NUMERIC SIGN ONE BURU
-1244F ; [.159A.0020.0002.1244F][.0000.0190.0002.1244F] # CUNEIFORM NUMERIC SIGN ONE BAN2
-12458 ; [.159A.0020.0002.12458][.0000.0190.0002.12458] # CUNEIFORM NUMERIC SIGN ONE ESHE3
-10A7D ; [.159A.0020.0002.10A7D][.0000.0191.0002.10A7D] # OLD SOUTH ARABIAN NUMBER ONE
-10916 ; [.159A.0020.0002.10916][.0000.0192.0002.10916] # PHOENICIAN NUMBER ONE
-10858 ; [.159A.0020.0002.10858][.0000.0193.0002.10858] # IMPERIAL ARAMAIC NUMBER ONE
-10B58 ; [.159A.0020.0002.10B58][.0000.0194.0002.10B58] # INSCRIPTIONAL PARTHIAN NUMBER ONE
-10B78 ; [.159A.0020.0002.10B78][.0000.0195.0002.10B78] # INSCRIPTIONAL PAHLAVI NUMBER ONE
-11067 ; [.159A.0020.0002.11067][.0000.0196.0002.11067] # BRAHMI DIGIT ONE
-11052 ; [.159A.0020.0002.11052][.0000.0197.0002.11052] # BRAHMI NUMBER ONE
-10A40 ; [.159A.0020.0002.10A40][.0000.0198.0002.10A40] # KHAROSHTHI DIGIT ONE
-1D360 ; [.159A.0020.0002.1D360][.0000.0199.0002.1D360] # COUNTING ROD UNIT DIGIT ONE
-2491 ; [.159A.0020.0004.2491][.1599.0020.0004.2491][*028E.0020.001F.2491] # NUMBER TEN FULL STOP; QQKN
-247D ; [*030E.0020.0004.247D][.159A.0020.0004.247D][.1599.0020.001F.247D][*030F.0020.001F.247D] # PARENTHESIZED NUMBER TEN; QQKN
-2469 ; [.159A.0020.0006.2469][.1599.0020.0006.2469] # CIRCLED NUMBER TEN; QQKN
-24FE ; [.159A.0020.0006.24FE][.1599.0020.0006.24FE] # DOUBLE CIRCLED NUMBER TEN; QQKN
-277F ; [.159A.0020.0006.277F][.1599.0020.0006.277F] # DINGBAT NEGATIVE CIRCLED NUMBER TEN; QQKN
-2789 ; [.159A.0020.0006.2789][.1599.0020.0006.2789] # DINGBAT CIRCLED SANS-SERIF NUMBER TEN; QQKN
-2793 ; [.159A.0020.0006.2793][.1599.0020.0006.2793] # DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN; QQKN
-3248 ; [.159A.0020.0006.3248][.1599.0020.0006.3248] # CIRCLED NUMBER TEN ON BLACK SQUARE; QQKN
-33E9 ; [.159A.0020.0004.33E9][.1599.0020.0004.33E9][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN; QQKN
-32C9 ; [.159A.0020.0004.32C9][.1599.0020.0004.32C9][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER; QQKN
-3362 ; [.159A.0020.0004.3362][.1599.0020.0004.3362][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN; QQKN
-2492 ; [.159A.0020.0004.2492][.159A.0020.0004.2492][*028E.0020.001F.2492] # NUMBER ELEVEN FULL STOP; QQKN
-247E ; [*030E.0020.0004.247E][.159A.0020.0004.247E][.159A.0020.001F.247E][*030F.0020.001F.247E] # PARENTHESIZED NUMBER ELEVEN; QQKN
-246A ; [.159A.0020.0006.246A][.159A.0020.0006.246A] # CIRCLED NUMBER ELEVEN; QQKN
-24EB ; [.159A.0020.0006.24EB][.159A.0020.0006.24EB] # NEGATIVE CIRCLED NUMBER ELEVEN; QQKN
-2152 ; [.159A.0020.001E.2152][*036C.0020.001E.2152][.159A.0020.001F.2152][.1599.0020.001F.2152] # VULGAR FRACTION ONE TENTH; QQKN
-33EA ; [.159A.0020.0004.33EA][.159A.0020.0004.33EA][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN; QQKN
-32CA ; [.159A.0020.0004.32CA][.159A.0020.0004.32CA][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER; QQKN
-3363 ; [.159A.0020.0004.3363][.159A.0020.0004.3363][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN; QQKN
-2493 ; [.159A.0020.0004.2493][.159B.0020.0004.2493][*028E.0020.001F.2493] # NUMBER TWELVE FULL STOP; QQKN
-247F ; [*030E.0020.0004.247F][.159A.0020.0004.247F][.159B.0020.001F.247F][*030F.0020.001F.247F] # PARENTHESIZED NUMBER TWELVE; QQKN
-246B ; [.159A.0020.0006.246B][.159B.0020.0006.246B] # CIRCLED NUMBER TWELVE; QQKN
-24EC ; [.159A.0020.0006.24EC][.159B.0020.0006.24EC] # NEGATIVE CIRCLED NUMBER TWELVE; QQKN
-00BD ; [.159A.0020.001E.00BD][*036C.0020.001E.00BD][.159B.0020.001F.00BD] # VULGAR FRACTION ONE HALF; QQKN
-33EB ; [.159A.0020.0004.33EB][.159B.0020.0004.33EB][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE; QQKN
-32CB ; [.159A.0020.0004.32CB][.159B.0020.0004.32CB][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER; QQKN
-3364 ; [.159A.0020.0004.3364][.159B.0020.0004.3364][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE; QQKN
-2494 ; [.159A.0020.0004.2494][.159C.0020.0004.2494][*028E.0020.001F.2494] # NUMBER THIRTEEN FULL STOP; QQKN
-2480 ; [*030E.0020.0004.2480][.159A.0020.0004.2480][.159C.0020.001F.2480][*030F.0020.001F.2480] # PARENTHESIZED NUMBER THIRTEEN; QQKN
-246C ; [.159A.0020.0006.246C][.159C.0020.0006.246C] # CIRCLED NUMBER THIRTEEN; QQKN
-24ED ; [.159A.0020.0006.24ED][.159C.0020.0006.24ED] # NEGATIVE CIRCLED NUMBER THIRTEEN; QQKN
-2153 ; [.159A.0020.001E.2153][*036C.0020.001E.2153][.159C.0020.001F.2153] # VULGAR FRACTION ONE THIRD; QQKN
-33EC ; [.159A.0020.0004.33EC][.159C.0020.0004.33EC][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN; QQKN
-3365 ; [.159A.0020.0004.3365][.159C.0020.0004.3365][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN; QQKN
-2495 ; [.159A.0020.0004.2495][.159D.0020.0004.2495][*028E.0020.001F.2495] # NUMBER FOURTEEN FULL STOP; QQKN
-2481 ; [*030E.0020.0004.2481][.159A.0020.0004.2481][.159D.0020.001F.2481][*030F.0020.001F.2481] # PARENTHESIZED NUMBER FOURTEEN; QQKN
-246D ; [.159A.0020.0006.246D][.159D.0020.0006.246D] # CIRCLED NUMBER FOURTEEN; QQKN
-24EE ; [.159A.0020.0006.24EE][.159D.0020.0006.24EE] # NEGATIVE CIRCLED NUMBER FOURTEEN; QQKN
-00BC ; [.159A.0020.001E.00BC][*036C.0020.001E.00BC][.159D.0020.001F.00BC] # VULGAR FRACTION ONE QUARTER; QQKN
-33ED ; [.159A.0020.0004.33ED][.159D.0020.0004.33ED][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN; QQKN
-3366 ; [.159A.0020.0004.3366][.159D.0020.0004.3366][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN; QQKN
-2496 ; [.159A.0020.0004.2496][.159E.0020.0004.2496][*028E.0020.001F.2496] # NUMBER FIFTEEN FULL STOP; QQKN
-2482 ; [*030E.0020.0004.2482][.159A.0020.0004.2482][.159E.0020.001F.2482][*030F.0020.001F.2482] # PARENTHESIZED NUMBER FIFTEEN; QQKN
-246E ; [.159A.0020.0006.246E][.159E.0020.0006.246E] # CIRCLED NUMBER FIFTEEN; QQKN
-24EF ; [.159A.0020.0006.24EF][.159E.0020.0006.24EF] # NEGATIVE CIRCLED NUMBER FIFTEEN; QQKN
-2155 ; [.159A.0020.001E.2155][*036C.0020.001E.2155][.159E.0020.001F.2155] # VULGAR FRACTION ONE FIFTH; QQKN
-33EE ; [.159A.0020.0004.33EE][.159E.0020.0004.33EE][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN; QQKN
-3367 ; [.159A.0020.0004.3367][.159E.0020.0004.3367][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN; QQKN
-2497 ; [.159A.0020.0004.2497][.159F.0020.0004.2497][*028E.0020.001F.2497] # NUMBER SIXTEEN FULL STOP; QQKN
-2483 ; [*030E.0020.0004.2483][.159A.0020.0004.2483][.159F.0020.001F.2483][*030F.0020.001F.2483] # PARENTHESIZED NUMBER SIXTEEN; QQKN
-246F ; [.159A.0020.0006.246F][.159F.0020.0006.246F] # CIRCLED NUMBER SIXTEEN; QQKN
-24F0 ; [.159A.0020.0006.24F0][.159F.0020.0006.24F0] # NEGATIVE CIRCLED NUMBER SIXTEEN; QQKN
-2159 ; [.159A.0020.001E.2159][*036C.0020.001E.2159][.159F.0020.001F.2159] # VULGAR FRACTION ONE SIXTH; QQKN
-33EF ; [.159A.0020.0004.33EF][.159F.0020.0004.33EF][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN; QQKN
-3368 ; [.159A.0020.0004.3368][.159F.0020.0004.3368][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN; QQKN
-2498 ; [.159A.0020.0004.2498][.15A0.0020.0004.2498][*028E.0020.001F.2498] # NUMBER SEVENTEEN FULL STOP; QQKN
-2484 ; [*030E.0020.0004.2484][.159A.0020.0004.2484][.15A0.0020.001F.2484][*030F.0020.001F.2484] # PARENTHESIZED NUMBER SEVENTEEN; QQKN
-2470 ; [.159A.0020.0006.2470][.15A0.0020.0006.2470] # CIRCLED NUMBER SEVENTEEN; QQKN
-24F1 ; [.159A.0020.0006.24F1][.15A0.0020.0006.24F1] # NEGATIVE CIRCLED NUMBER SEVENTEEN; QQKN
-2150 ; [.159A.0020.001E.2150][*036C.0020.001E.2150][.15A0.0020.001F.2150] # VULGAR FRACTION ONE SEVENTH; QQKN
-33F0 ; [.159A.0020.0004.33F0][.15A0.0020.0004.33F0][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN; QQKN
-3369 ; [.159A.0020.0004.3369][.15A0.0020.0004.3369][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN; QQKN
-2499 ; [.159A.0020.0004.2499][.15A1.0020.0004.2499][*028E.0020.001F.2499] # NUMBER EIGHTEEN FULL STOP; QQKN
-2485 ; [*030E.0020.0004.2485][.159A.0020.0004.2485][.15A1.0020.001F.2485][*030F.0020.001F.2485] # PARENTHESIZED NUMBER EIGHTEEN; QQKN
-2471 ; [.159A.0020.0006.2471][.15A1.0020.0006.2471] # CIRCLED NUMBER EIGHTEEN; QQKN
-24F2 ; [.159A.0020.0006.24F2][.15A1.0020.0006.24F2] # NEGATIVE CIRCLED NUMBER EIGHTEEN; QQKN
-215B ; [.159A.0020.001E.215B][*036C.0020.001E.215B][.15A1.0020.001F.215B] # VULGAR FRACTION ONE EIGHTH; QQKN
-33F1 ; [.159A.0020.0004.33F1][.15A1.0020.0004.33F1][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN; QQKN
-336A ; [.159A.0020.0004.336A][.15A1.0020.0004.336A][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN; QQKN
-249A ; [.159A.0020.0004.249A][.15A2.0020.0004.249A][*028E.0020.001F.249A] # NUMBER NINETEEN FULL STOP; QQKN
-2486 ; [*030E.0020.0004.2486][.159A.0020.0004.2486][.15A2.0020.001F.2486][*030F.0020.001F.2486] # PARENTHESIZED NUMBER NINETEEN; QQKN
-2472 ; [.159A.0020.0006.2472][.15A2.0020.0006.2472] # CIRCLED NUMBER NINETEEN; QQKN
-24F3 ; [.159A.0020.0006.24F3][.15A2.0020.0006.24F3] # NEGATIVE CIRCLED NUMBER NINETEEN; QQKN
-2151 ; [.159A.0020.001E.2151][*036C.0020.001E.2151][.15A2.0020.001F.2151] # VULGAR FRACTION ONE NINTH; QQKN
-33F2 ; [.159A.0020.0004.33F2][.15A2.0020.0004.33F2][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN; QQKN
-336B ; [.159A.0020.0004.336B][.15A2.0020.0004.336B][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN; QQKN
-33E0 ; [.159A.0020.0004.33E0][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE; QQKN
-32C0 ; [.159A.0020.0004.32C0][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY; QQKN
-3359 ; [.159A.0020.0004.3359][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE; QQKN
-0032 ; [.159B.0020.0002.0032] # DIGIT TWO
-FF12 ; [.159B.0020.0003.FF12] # FULLWIDTH DIGIT TWO; QQK
-2475 ; [*030E.0020.0004.2475][.159B.0020.0004.2475][*030F.0020.001F.2475] # PARENTHESIZED DIGIT TWO; QQKN
-2489 ; [.159B.0020.0004.2489][*028E.0020.0004.2489] # DIGIT TWO FULL STOP; QQKN
-1F103 ; [.159B.0020.0004.1F103][*0241.0020.0004.1F103] # DIGIT TWO COMMA; QQKN
-1D7D0 ; [.159B.0020.0005.1D7D0] # MATHEMATICAL BOLD DIGIT TWO; QQK
-1D7DA ; [.159B.0020.0005.1D7DA] # MATHEMATICAL DOUBLE-STRUCK DIGIT TWO; QQK
-1D7E4 ; [.159B.0020.0005.1D7E4] # MATHEMATICAL SANS-SERIF DIGIT TWO; QQK
-1D7EE ; [.159B.0020.0005.1D7EE] # MATHEMATICAL SANS-SERIF BOLD DIGIT TWO; QQK
-1D7F8 ; [.159B.0020.0005.1D7F8] # MATHEMATICAL MONOSPACE DIGIT TWO; QQK
-2461 ; [.159B.0020.0006.2461] # CIRCLED DIGIT TWO; QQK
-24F6 ; [.159B.0020.0006.24F6] # DOUBLE CIRCLED DIGIT TWO; QQK
-2777 ; [.159B.0020.0006.2777] # DINGBAT NEGATIVE CIRCLED DIGIT TWO; QQK
-2781 ; [.159B.0020.0006.2781] # DINGBAT CIRCLED SANS-SERIF DIGIT TWO; QQK
-278B ; [.159B.0020.0006.278B] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO; QQK
-00B2 ; [.159B.0020.0014.00B2] # SUPERSCRIPT TWO; QQK
-2082 ; [.159B.0020.0015.2082] # SUBSCRIPT TWO; QQK
-0662 ; [.159B.0020.0002.0662][.0000.0165.0002.0662] # ARABIC-INDIC DIGIT TWO
-06F2 ; [.159B.0020.0002.06F2][.0000.0166.0002.06F2] # EXTENDED ARABIC-INDIC DIGIT TWO
-10E61 ; [.159B.0020.0002.10E61][.0000.0167.0002.10E61] # RUMI DIGIT TWO
-07C2 ; [.159B.0020.0002.07C2][.0000.0168.0002.07C2] # NKO DIGIT TWO
-136A ; [.159B.0020.0002.136A][.0000.0169.0002.136A] # ETHIOPIC DIGIT TWO
-104A2 ; [.159B.0020.0002.104A2][.0000.016A.0002.104A2] # OSMANYA DIGIT TWO
-0968 ; [.159B.0020.0002.0968][.0000.016B.0002.0968] # DEVANAGARI DIGIT TWO
-09E8 ; [.159B.0020.0002.09E8][.0000.016C.0002.09E8] # BENGALI DIGIT TWO
-0A68 ; [.159B.0020.0002.0A68][.0000.016D.0002.0A68] # GURMUKHI DIGIT TWO
-0AE8 ; [.159B.0020.0002.0AE8][.0000.016E.0002.0AE8] # GUJARATI DIGIT TWO
-0B68 ; [.159B.0020.0002.0B68][.0000.016F.0002.0B68] # ORIYA DIGIT TWO
-0BE8 ; [.159B.0020.0002.0BE8][.0000.0170.0002.0BE8] # TAMIL DIGIT TWO
-0C68 ; [.159B.0020.0002.0C68][.0000.0171.0002.0C68] # TELUGU DIGIT TWO
-0C7A ; [.159B.0020.0002.0C7A][.0000.0171.0002.0C7A] # TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR
-0C7D ; [.159B.0020.0002.0C7D][.0000.0171.0002.0C7D] # TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR
-0CE8 ; [.159B.0020.0002.0CE8][.0000.0172.0002.0CE8] # KANNADA DIGIT TWO
-0D68 ; [.159B.0020.0002.0D68][.0000.0173.0002.0D68] # MALAYALAM DIGIT TWO
-ABF2 ; [.159B.0020.0002.ABF2][.0000.0174.0002.ABF2] # MEETEI MAYEK DIGIT TWO
-A8D2 ; [.159B.0020.0002.A8D2][.0000.0175.0002.A8D2] # SAURASHTRA DIGIT TWO
-1948 ; [.159B.0020.0002.1948][.0000.0176.0002.1948] # LIMBU DIGIT TWO
-19D2 ; [.159B.0020.0002.19D2][.0000.0177.0002.19D2] # NEW TAI LUE DIGIT TWO
-1A82 ; [.159B.0020.0002.1A82][.0000.0178.0002.1A82] # TAI THAM HORA DIGIT TWO
-1A92 ; [.159B.0020.0002.1A92][.0000.0179.0002.1A92] # TAI THAM THAM DIGIT TWO
-0E52 ; [.159B.0020.0002.0E52][.0000.017A.0002.0E52] # THAI DIGIT TWO
-0ED2 ; [.159B.0020.0002.0ED2][.0000.017B.0002.0ED2] # LAO DIGIT TWO
-0F22 ; [.159B.0020.0002.0F22][.0000.017C.0002.0F22] # TIBETAN DIGIT TWO
-0F2B ; [.159B.0020.0004.0F2B][.0000.017C.0004.0F2B] # TIBETAN DIGIT HALF TWO; QQK
-1C42 ; [.159B.0020.0002.1C42][.0000.017D.0002.1C42] # LEPCHA DIGIT TWO
-A902 ; [.159B.0020.0002.A902][.0000.017E.0002.A902] # KAYAH LI DIGIT TWO
-1042 ; [.159B.0020.0002.1042][.0000.017F.0002.1042] # MYANMAR DIGIT TWO
-1092 ; [.159B.0020.0002.1092][.0000.0180.0002.1092] # MYANMAR SHAN DIGIT TWO
-17E2 ; [.159B.0020.0002.17E2][.0000.0181.0002.17E2] # KHMER DIGIT TWO
-17F2 ; [.159B.0020.0002.17F2][.0000.0182.0002.17F2] # KHMER SYMBOL LEK ATTAK PII
-AA52 ; [.159B.0020.0002.AA52][.0000.0183.0002.AA52] # CHAM DIGIT TWO
-1B52 ; [.159B.0020.0002.1B52][.0000.0184.0002.1B52] # BALINESE DIGIT TWO
-A9D2 ; [.159B.0020.0002.A9D2][.0000.0185.0002.A9D2] # JAVANESE DIGIT TWO
-1BB2 ; [.159B.0020.0002.1BB2][.0000.0186.0002.1BB2] # SUNDANESE DIGIT TWO
-1812 ; [.159B.0020.0002.1812][.0000.0187.0002.1812] # MONGOLIAN DIGIT TWO
-1C52 ; [.159B.0020.0002.1C52][.0000.0188.0002.1C52] # OL CHIKI DIGIT TWO
-A622 ; [.159B.0020.0002.A622][.0000.0189.0002.A622] # VAI DIGIT TWO
-3022 ; [.159B.0020.0002.3022][.0000.018A.0002.3022] # HANGZHOU NUMERAL TWO
-10108 ; [.159B.0020.0002.10108][.0000.018B.0002.10108] # AEGEAN NUMBER TWO
-1015B ; [.159B.0020.0002.1015B][.0000.018C.0002.1015B] # GREEK ACROPHONIC EPIDAUREAN TWO
-1015C ; [.159B.0020.0002.1015C][.0000.018C.0002.1015C] # GREEK ACROPHONIC THESPIAN TWO
-1015D ; [.159B.0020.0002.1015D][.0000.018C.0002.1015D] # GREEK ACROPHONIC CYRENAIC TWO DRACHMAS
-1015E ; [.159B.0020.0002.1015E][.0000.018C.0002.1015E] # GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS
-103D2 ; [.159B.0020.0002.103D2][.0000.018F.0002.103D2] # OLD PERSIAN NUMBER TWO
-12400 ; [.159B.0020.0002.12400][.0000.0190.0002.12400] # CUNEIFORM NUMERIC SIGN TWO ASH
-12416 ; [.159B.0020.0002.12416][.0000.0190.0002.12416] # CUNEIFORM NUMERIC SIGN TWO GESH2
-1241F ; [.159B.0020.0002.1241F][.0000.0190.0002.1241F] # CUNEIFORM NUMERIC SIGN TWO GESHU
-12423 ; [.159B.0020.0002.12423][.0000.0190.0002.12423] # CUNEIFORM NUMERIC SIGN TWO SHAR2
-1242D ; [.159B.0020.0002.1242D][.0000.0190.0002.1242D] # CUNEIFORM NUMERIC SIGN TWO SHARU
-12435 ; [.159B.0020.0002.12435][.0000.0190.0002.12435] # CUNEIFORM NUMERIC SIGN TWO BURU
-1244A ; [.159B.0020.0002.1244A][.0000.0190.0002.1244A] # CUNEIFORM NUMERIC SIGN TWO ASH TENU
-12450 ; [.159B.0020.0002.12450][.0000.0190.0002.12450] # CUNEIFORM NUMERIC SIGN TWO BAN2
-12459 ; [.159B.0020.0002.12459][.0000.0190.0002.12459] # CUNEIFORM NUMERIC SIGN TWO ESHE3
-1091A ; [.159B.0020.0002.1091A][.0000.0192.0002.1091A] # PHOENICIAN NUMBER TWO
-10859 ; [.159B.0020.0002.10859][.0000.0193.0002.10859] # IMPERIAL ARAMAIC NUMBER TWO
-10B59 ; [.159B.0020.0002.10B59][.0000.0194.0002.10B59] # INSCRIPTIONAL PARTHIAN NUMBER TWO
-10B79 ; [.159B.0020.0002.10B79][.0000.0195.0002.10B79] # INSCRIPTIONAL PAHLAVI NUMBER TWO
-11068 ; [.159B.0020.0002.11068][.0000.0196.0002.11068] # BRAHMI DIGIT TWO
-11053 ; [.159B.0020.0002.11053][.0000.0197.0002.11053] # BRAHMI NUMBER TWO
-10A41 ; [.159B.0020.0002.10A41][.0000.0198.0002.10A41] # KHAROSHTHI DIGIT TWO
-1D361 ; [.159B.0020.0002.1D361][.0000.0199.0002.1D361] # COUNTING ROD UNIT DIGIT TWO
-249B ; [.159B.0020.0004.249B][.1599.0020.0004.249B][*028E.0020.001F.249B] # NUMBER TWENTY FULL STOP; QQKN
-2487 ; [*030E.0020.0004.2487][.159B.0020.0004.2487][.1599.0020.001F.2487][*030F.0020.001F.2487] # PARENTHESIZED NUMBER TWENTY; QQKN
-2473 ; [.159B.0020.0006.2473][.1599.0020.0006.2473] # CIRCLED NUMBER TWENTY; QQKN
-24F4 ; [.159B.0020.0006.24F4][.1599.0020.0006.24F4] # NEGATIVE CIRCLED NUMBER TWENTY; QQKN
-3249 ; [.159B.0020.0006.3249][.1599.0020.0006.3249] # CIRCLED NUMBER TWENTY ON BLACK SQUARE; QQKN
-33F3 ; [.159B.0020.0004.33F3][.1599.0020.0004.33F3][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY; QQKN
-336C ; [.159B.0020.0004.336C][.1599.0020.0004.336C][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY; QQKN
-3251 ; [.159B.0020.0006.3251][.159A.0020.0006.3251] # CIRCLED NUMBER TWENTY ONE; QQKN
-33F4 ; [.159B.0020.0004.33F4][.159A.0020.0004.33F4][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE; QQKN
-336D ; [.159B.0020.0004.336D][.159A.0020.0004.336D][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE; QQKN
-3252 ; [.159B.0020.0006.3252][.159B.0020.0006.3252] # CIRCLED NUMBER TWENTY TWO; QQKN
-33F5 ; [.159B.0020.0004.33F5][.159B.0020.0004.33F5][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO; QQKN
-336E ; [.159B.0020.0004.336E][.159B.0020.0004.336E][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO; QQKN
-3253 ; [.159B.0020.0006.3253][.159C.0020.0006.3253] # CIRCLED NUMBER TWENTY THREE; QQKN
-2154 ; [.159B.0020.001E.2154][*036C.0020.001E.2154][.159C.0020.001F.2154] # VULGAR FRACTION TWO THIRDS; QQKN
-33F6 ; [.159B.0020.0004.33F6][.159C.0020.0004.33F6][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE; QQKN
-336F ; [.159B.0020.0004.336F][.159C.0020.0004.336F][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE; QQKN
-3254 ; [.159B.0020.0006.3254][.159D.0020.0006.3254] # CIRCLED NUMBER TWENTY FOUR; QQKN
-33F7 ; [.159B.0020.0004.33F7][.159D.0020.0004.33F7][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR; QQKN
-3370 ; [.159B.0020.0004.3370][.159D.0020.0004.3370][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR; QQKN
-3255 ; [.159B.0020.0006.3255][.159E.0020.0006.3255] # CIRCLED NUMBER TWENTY FIVE; QQKN
-2156 ; [.159B.0020.001E.2156][*036C.0020.001E.2156][.159E.0020.001F.2156] # VULGAR FRACTION TWO FIFTHS; QQKN
-33F8 ; [.159B.0020.0004.33F8][.159E.0020.0004.33F8][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE; QQKN
-3256 ; [.159B.0020.0006.3256][.159F.0020.0006.3256] # CIRCLED NUMBER TWENTY SIX; QQKN
-33F9 ; [.159B.0020.0004.33F9][.159F.0020.0004.33F9][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX; QQKN
-3257 ; [.159B.0020.0006.3257][.15A0.0020.0006.3257] # CIRCLED NUMBER TWENTY SEVEN; QQKN
-33FA ; [.159B.0020.0004.33FA][.15A0.0020.0004.33FA][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN; QQKN
-3258 ; [.159B.0020.0006.3258][.15A1.0020.0006.3258] # CIRCLED NUMBER TWENTY EIGHT; QQKN
-33FB ; [.159B.0020.0004.33FB][.15A1.0020.0004.33FB][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT; QQKN
-3259 ; [.159B.0020.0006.3259][.15A2.0020.0006.3259] # CIRCLED NUMBER TWENTY NINE; QQKN
-33FC ; [.159B.0020.0004.33FC][.15A2.0020.0004.33FC][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE; QQKN
-33E1 ; [.159B.0020.0004.33E1][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO; QQKN
-32C1 ; [.159B.0020.0004.32C1][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY; QQKN
-335A ; [.159B.0020.0004.335A][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO; QQKN
-0033 ; [.159C.0020.0002.0033] # DIGIT THREE
-FF13 ; [.159C.0020.0003.FF13] # FULLWIDTH DIGIT THREE; QQK
-2476 ; [*030E.0020.0004.2476][.159C.0020.0004.2476][*030F.0020.001F.2476] # PARENTHESIZED DIGIT THREE; QQKN
-248A ; [.159C.0020.0004.248A][*028E.0020.0004.248A] # DIGIT THREE FULL STOP; QQKN
-1F104 ; [.159C.0020.0004.1F104][*0241.0020.0004.1F104] # DIGIT THREE COMMA; QQKN
-1D7D1 ; [.159C.0020.0005.1D7D1] # MATHEMATICAL BOLD DIGIT THREE; QQK
-1D7DB ; [.159C.0020.0005.1D7DB] # MATHEMATICAL DOUBLE-STRUCK DIGIT THREE; QQK
-1D7E5 ; [.159C.0020.0005.1D7E5] # MATHEMATICAL SANS-SERIF DIGIT THREE; QQK
-1D7EF ; [.159C.0020.0005.1D7EF] # MATHEMATICAL SANS-SERIF BOLD DIGIT THREE; QQK
-1D7F9 ; [.159C.0020.0005.1D7F9] # MATHEMATICAL MONOSPACE DIGIT THREE; QQK
-2462 ; [.159C.0020.0006.2462] # CIRCLED DIGIT THREE; QQK
-24F7 ; [.159C.0020.0006.24F7] # DOUBLE CIRCLED DIGIT THREE; QQK
-2778 ; [.159C.0020.0006.2778] # DINGBAT NEGATIVE CIRCLED DIGIT THREE; QQK
-2782 ; [.159C.0020.0006.2782] # DINGBAT CIRCLED SANS-SERIF DIGIT THREE; QQK
-278C ; [.159C.0020.0006.278C] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE; QQK
-00B3 ; [.159C.0020.0014.00B3] # SUPERSCRIPT THREE; QQK
-2083 ; [.159C.0020.0015.2083] # SUBSCRIPT THREE; QQK
-0663 ; [.159C.0020.0002.0663][.0000.0165.0002.0663] # ARABIC-INDIC DIGIT THREE
-06F3 ; [.159C.0020.0002.06F3][.0000.0166.0002.06F3] # EXTENDED ARABIC-INDIC DIGIT THREE
-10E62 ; [.159C.0020.0002.10E62][.0000.0167.0002.10E62] # RUMI DIGIT THREE
-07C3 ; [.159C.0020.0002.07C3][.0000.0168.0002.07C3] # NKO DIGIT THREE
-136B ; [.159C.0020.0002.136B][.0000.0169.0002.136B] # ETHIOPIC DIGIT THREE
-104A3 ; [.159C.0020.0002.104A3][.0000.016A.0002.104A3] # OSMANYA DIGIT THREE
-0969 ; [.159C.0020.0002.0969][.0000.016B.0002.0969] # DEVANAGARI DIGIT THREE
-09E9 ; [.159C.0020.0002.09E9][.0000.016C.0002.09E9] # BENGALI DIGIT THREE
-0A69 ; [.159C.0020.0002.0A69][.0000.016D.0002.0A69] # GURMUKHI DIGIT THREE
-0AE9 ; [.159C.0020.0002.0AE9][.0000.016E.0002.0AE9] # GUJARATI DIGIT THREE
-0B69 ; [.159C.0020.0002.0B69][.0000.016F.0002.0B69] # ORIYA DIGIT THREE
-0BE9 ; [.159C.0020.0002.0BE9][.0000.0170.0002.0BE9] # TAMIL DIGIT THREE
-0C69 ; [.159C.0020.0002.0C69][.0000.0171.0002.0C69] # TELUGU DIGIT THREE
-0C7B ; [.159C.0020.0002.0C7B][.0000.0171.0002.0C7B] # TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR
-0C7E ; [.159C.0020.0002.0C7E][.0000.0171.0002.0C7E] # TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
-0CE9 ; [.159C.0020.0002.0CE9][.0000.0172.0002.0CE9] # KANNADA DIGIT THREE
-0D69 ; [.159C.0020.0002.0D69][.0000.0173.0002.0D69] # MALAYALAM DIGIT THREE
-ABF3 ; [.159C.0020.0002.ABF3][.0000.0174.0002.ABF3] # MEETEI MAYEK DIGIT THREE
-A8D3 ; [.159C.0020.0002.A8D3][.0000.0175.0002.A8D3] # SAURASHTRA DIGIT THREE
-1949 ; [.159C.0020.0002.1949][.0000.0176.0002.1949] # LIMBU DIGIT THREE
-19D3 ; [.159C.0020.0002.19D3][.0000.0177.0002.19D3] # NEW TAI LUE DIGIT THREE
-1A83 ; [.159C.0020.0002.1A83][.0000.0178.0002.1A83] # TAI THAM HORA DIGIT THREE
-1A93 ; [.159C.0020.0002.1A93][.0000.0179.0002.1A93] # TAI THAM THAM DIGIT THREE
-0E53 ; [.159C.0020.0002.0E53][.0000.017A.0002.0E53] # THAI DIGIT THREE
-0ED3 ; [.159C.0020.0002.0ED3][.0000.017B.0002.0ED3] # LAO DIGIT THREE
-0F23 ; [.159C.0020.0002.0F23][.0000.017C.0002.0F23] # TIBETAN DIGIT THREE
-0F2C ; [.159C.0020.0004.0F2C][.0000.017C.0004.0F2C] # TIBETAN DIGIT HALF THREE; QQK
-1C43 ; [.159C.0020.0002.1C43][.0000.017D.0002.1C43] # LEPCHA DIGIT THREE
-A903 ; [.159C.0020.0002.A903][.0000.017E.0002.A903] # KAYAH LI DIGIT THREE
-1043 ; [.159C.0020.0002.1043][.0000.017F.0002.1043] # MYANMAR DIGIT THREE
-1093 ; [.159C.0020.0002.1093][.0000.0180.0002.1093] # MYANMAR SHAN DIGIT THREE
-17E3 ; [.159C.0020.0002.17E3][.0000.0181.0002.17E3] # KHMER DIGIT THREE
-17F3 ; [.159C.0020.0002.17F3][.0000.0182.0002.17F3] # KHMER SYMBOL LEK ATTAK BEI
-AA53 ; [.159C.0020.0002.AA53][.0000.0183.0002.AA53] # CHAM DIGIT THREE
-1B53 ; [.159C.0020.0002.1B53][.0000.0184.0002.1B53] # BALINESE DIGIT THREE
-A9D3 ; [.159C.0020.0002.A9D3][.0000.0185.0002.A9D3] # JAVANESE DIGIT THREE
-1BB3 ; [.159C.0020.0002.1BB3][.0000.0186.0002.1BB3] # SUNDANESE DIGIT THREE
-1813 ; [.159C.0020.0002.1813][.0000.0187.0002.1813] # MONGOLIAN DIGIT THREE
-1C53 ; [.159C.0020.0002.1C53][.0000.0188.0002.1C53] # OL CHIKI DIGIT THREE
-A623 ; [.159C.0020.0002.A623][.0000.0189.0002.A623] # VAI DIGIT THREE
-3023 ; [.159C.0020.0002.3023][.0000.018A.0002.3023] # HANGZHOU NUMERAL THREE
-10109 ; [.159C.0020.0002.10109][.0000.018B.0002.10109] # AEGEAN NUMBER THREE
-12401 ; [.159C.0020.0002.12401][.0000.0190.0002.12401] # CUNEIFORM NUMERIC SIGN THREE ASH
-12408 ; [.159C.0020.0002.12408][.0000.0190.0002.12408] # CUNEIFORM NUMERIC SIGN THREE DISH
-12417 ; [.159C.0020.0002.12417][.0000.0190.0002.12417] # CUNEIFORM NUMERIC SIGN THREE GESH2
-12420 ; [.159C.0020.0002.12420][.0000.0190.0002.12420] # CUNEIFORM NUMERIC SIGN THREE GESHU
-12424 ; [.159C.0020.0002.12424][.0000.0190.0002.12424] # CUNEIFORM NUMERIC SIGN THREE SHAR2
-12425 ; [.159C.0020.0002.12425][.0000.0190.0002.12425] # CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM
-1242E ; [.159C.0020.0002.1242E][.0000.0190.0002.1242E] # CUNEIFORM NUMERIC SIGN THREE SHARU
-1242F ; [.159C.0020.0002.1242F][.0000.0190.0002.1242F] # CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM
-12436 ; [.159C.0020.0002.12436][.0000.0190.0002.12436] # CUNEIFORM NUMERIC SIGN THREE BURU
-12437 ; [.159C.0020.0002.12437][.0000.0190.0002.12437] # CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM
-1243A ; [.159C.0020.0002.1243A][.0000.0190.0002.1243A] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16
-1243B ; [.159C.0020.0002.1243B][.0000.0190.0002.1243B] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21
-1244B ; [.159C.0020.0002.1244B][.0000.0190.0002.1244B] # CUNEIFORM NUMERIC SIGN THREE ASH TENU
-12451 ; [.159C.0020.0002.12451][.0000.0190.0002.12451] # CUNEIFORM NUMERIC SIGN THREE BAN2
-1091B ; [.159C.0020.0002.1091B][.0000.0192.0002.1091B] # PHOENICIAN NUMBER THREE
-1085A ; [.159C.0020.0002.1085A][.0000.0193.0002.1085A] # IMPERIAL ARAMAIC NUMBER THREE
-10B5A ; [.159C.0020.0002.10B5A][.0000.0194.0002.10B5A] # INSCRIPTIONAL PARTHIAN NUMBER THREE
-10B7A ; [.159C.0020.0002.10B7A][.0000.0195.0002.10B7A] # INSCRIPTIONAL PAHLAVI NUMBER THREE
-11069 ; [.159C.0020.0002.11069][.0000.0196.0002.11069] # BRAHMI DIGIT THREE
-11054 ; [.159C.0020.0002.11054][.0000.0197.0002.11054] # BRAHMI NUMBER THREE
-10A42 ; [.159C.0020.0002.10A42][.0000.0198.0002.10A42] # KHAROSHTHI DIGIT THREE
-1D362 ; [.159C.0020.0002.1D362][.0000.0199.0002.1D362] # COUNTING ROD UNIT DIGIT THREE
-324A ; [.159C.0020.0006.324A][.1599.0020.0006.324A] # CIRCLED NUMBER THIRTY ON BLACK SQUARE; QQKN
-325A ; [.159C.0020.0006.325A][.1599.0020.0006.325A] # CIRCLED NUMBER THIRTY; QQKN
-33FD ; [.159C.0020.0004.33FD][.1599.0020.0004.33FD][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY; QQKN
-325B ; [.159C.0020.0006.325B][.159A.0020.0006.325B] # CIRCLED NUMBER THIRTY ONE; QQKN
-33FE ; [.159C.0020.0004.33FE][.159A.0020.0004.33FE][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE; QQKN
-325C ; [.159C.0020.0006.325C][.159B.0020.0006.325C] # CIRCLED NUMBER THIRTY TWO; QQKN
-325D ; [.159C.0020.0006.325D][.159C.0020.0006.325D] # CIRCLED NUMBER THIRTY THREE; QQKN
-325E ; [.159C.0020.0006.325E][.159D.0020.0006.325E] # CIRCLED NUMBER THIRTY FOUR; QQKN
-00BE ; [.159C.0020.001E.00BE][*036C.0020.001E.00BE][.159D.0020.001F.00BE] # VULGAR FRACTION THREE QUARTERS; QQKN
-325F ; [.159C.0020.0006.325F][.159E.0020.0006.325F] # CIRCLED NUMBER THIRTY FIVE; QQKN
-2157 ; [.159C.0020.001E.2157][*036C.0020.001E.2157][.159E.0020.001F.2157] # VULGAR FRACTION THREE FIFTHS; QQKN
-32B1 ; [.159C.0020.0006.32B1][.159F.0020.0006.32B1] # CIRCLED NUMBER THIRTY SIX; QQKN
-32B2 ; [.159C.0020.0006.32B2][.15A0.0020.0006.32B2] # CIRCLED NUMBER THIRTY SEVEN; QQKN
-32B3 ; [.159C.0020.0006.32B3][.15A1.0020.0006.32B3] # CIRCLED NUMBER THIRTY EIGHT; QQKN
-215C ; [.159C.0020.001E.215C][*036C.0020.001E.215C][.15A1.0020.001F.215C] # VULGAR FRACTION THREE EIGHTHS; QQKN
-32B4 ; [.159C.0020.0006.32B4][.15A2.0020.0006.32B4] # CIRCLED NUMBER THIRTY NINE; QQKN
-33E2 ; [.159C.0020.0004.33E2][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE; QQKN
-32C2 ; [.159C.0020.0004.32C2][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH; QQKN
-335B ; [.159C.0020.0004.335B][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE; QQKN
-0034 ; [.159D.0020.0002.0034] # DIGIT FOUR
-FF14 ; [.159D.0020.0003.FF14] # FULLWIDTH DIGIT FOUR; QQK
-2477 ; [*030E.0020.0004.2477][.159D.0020.0004.2477][*030F.0020.001F.2477] # PARENTHESIZED DIGIT FOUR; QQKN
-248B ; [.159D.0020.0004.248B][*028E.0020.0004.248B] # DIGIT FOUR FULL STOP; QQKN
-1F105 ; [.159D.0020.0004.1F105][*0241.0020.0004.1F105] # DIGIT FOUR COMMA; QQKN
-1D7D2 ; [.159D.0020.0005.1D7D2] # MATHEMATICAL BOLD DIGIT FOUR; QQK
-1D7DC ; [.159D.0020.0005.1D7DC] # MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR; QQK
-1D7E6 ; [.159D.0020.0005.1D7E6] # MATHEMATICAL SANS-SERIF DIGIT FOUR; QQK
-1D7F0 ; [.159D.0020.0005.1D7F0] # MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR; QQK
-1D7FA ; [.159D.0020.0005.1D7FA] # MATHEMATICAL MONOSPACE DIGIT FOUR; QQK
-2463 ; [.159D.0020.0006.2463] # CIRCLED DIGIT FOUR; QQK
-24F8 ; [.159D.0020.0006.24F8] # DOUBLE CIRCLED DIGIT FOUR; QQK
-2779 ; [.159D.0020.0006.2779] # DINGBAT NEGATIVE CIRCLED DIGIT FOUR; QQK
-2783 ; [.159D.0020.0006.2783] # DINGBAT CIRCLED SANS-SERIF DIGIT FOUR; QQK
-278D ; [.159D.0020.0006.278D] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR; QQK
-2074 ; [.159D.0020.0014.2074] # SUPERSCRIPT FOUR; QQK
-2084 ; [.159D.0020.0015.2084] # SUBSCRIPT FOUR; QQK
-0664 ; [.159D.0020.0002.0664][.0000.0165.0002.0664] # ARABIC-INDIC DIGIT FOUR
-06F4 ; [.159D.0020.0002.06F4][.0000.0166.0002.06F4] # EXTENDED ARABIC-INDIC DIGIT FOUR
-10E63 ; [.159D.0020.0002.10E63][.0000.0167.0002.10E63] # RUMI DIGIT FOUR
-07C4 ; [.159D.0020.0002.07C4][.0000.0168.0002.07C4] # NKO DIGIT FOUR
-136C ; [.159D.0020.0002.136C][.0000.0169.0002.136C] # ETHIOPIC DIGIT FOUR
-104A4 ; [.159D.0020.0002.104A4][.0000.016A.0002.104A4] # OSMANYA DIGIT FOUR
-096A ; [.159D.0020.0002.096A][.0000.016B.0002.096A] # DEVANAGARI DIGIT FOUR
-09EA ; [.159D.0020.0002.09EA][.0000.016C.0002.09EA] # BENGALI DIGIT FOUR
-0A6A ; [.159D.0020.0002.0A6A][.0000.016D.0002.0A6A] # GURMUKHI DIGIT FOUR
-0AEA ; [.159D.0020.0002.0AEA][.0000.016E.0002.0AEA] # GUJARATI DIGIT FOUR
-0B6A ; [.159D.0020.0002.0B6A][.0000.016F.0002.0B6A] # ORIYA DIGIT FOUR
-0BEA ; [.159D.0020.0002.0BEA][.0000.0170.0002.0BEA] # TAMIL DIGIT FOUR
-0C6A ; [.159D.0020.0002.0C6A][.0000.0171.0002.0C6A] # TELUGU DIGIT FOUR
-0CEA ; [.159D.0020.0002.0CEA][.0000.0172.0002.0CEA] # KANNADA DIGIT FOUR
-0D6A ; [.159D.0020.0002.0D6A][.0000.0173.0002.0D6A] # MALAYALAM DIGIT FOUR
-ABF4 ; [.159D.0020.0002.ABF4][.0000.0174.0002.ABF4] # MEETEI MAYEK DIGIT FOUR
-A8D4 ; [.159D.0020.0002.A8D4][.0000.0175.0002.A8D4] # SAURASHTRA DIGIT FOUR
-194A ; [.159D.0020.0002.194A][.0000.0176.0002.194A] # LIMBU DIGIT FOUR
-19D4 ; [.159D.0020.0002.19D4][.0000.0177.0002.19D4] # NEW TAI LUE DIGIT FOUR
-1A84 ; [.159D.0020.0002.1A84][.0000.0178.0002.1A84] # TAI THAM HORA DIGIT FOUR
-1A94 ; [.159D.0020.0002.1A94][.0000.0179.0002.1A94] # TAI THAM THAM DIGIT FOUR
-0E54 ; [.159D.0020.0002.0E54][.0000.017A.0002.0E54] # THAI DIGIT FOUR
-0ED4 ; [.159D.0020.0002.0ED4][.0000.017B.0002.0ED4] # LAO DIGIT FOUR
-0F24 ; [.159D.0020.0002.0F24][.0000.017C.0002.0F24] # TIBETAN DIGIT FOUR
-0F2D ; [.159D.0020.0004.0F2D][.0000.017C.0004.0F2D] # TIBETAN DIGIT HALF FOUR; QQK
-1C44 ; [.159D.0020.0002.1C44][.0000.017D.0002.1C44] # LEPCHA DIGIT FOUR
-A904 ; [.159D.0020.0002.A904][.0000.017E.0002.A904] # KAYAH LI DIGIT FOUR
-1044 ; [.159D.0020.0002.1044][.0000.017F.0002.1044] # MYANMAR DIGIT FOUR
-1094 ; [.159D.0020.0002.1094][.0000.0180.0002.1094] # MYANMAR SHAN DIGIT FOUR
-17E4 ; [.159D.0020.0002.17E4][.0000.0181.0002.17E4] # KHMER DIGIT FOUR
-17F4 ; [.159D.0020.0002.17F4][.0000.0182.0002.17F4] # KHMER SYMBOL LEK ATTAK BUON
-AA54 ; [.159D.0020.0002.AA54][.0000.0183.0002.AA54] # CHAM DIGIT FOUR
-1B54 ; [.159D.0020.0002.1B54][.0000.0184.0002.1B54] # BALINESE DIGIT FOUR
-A9D4 ; [.159D.0020.0002.A9D4][.0000.0185.0002.A9D4] # JAVANESE DIGIT FOUR
-1BB4 ; [.159D.0020.0002.1BB4][.0000.0186.0002.1BB4] # SUNDANESE DIGIT FOUR
-1814 ; [.159D.0020.0002.1814][.0000.0187.0002.1814] # MONGOLIAN DIGIT FOUR
-1C54 ; [.159D.0020.0002.1C54][.0000.0188.0002.1C54] # OL CHIKI DIGIT FOUR
-A624 ; [.159D.0020.0002.A624][.0000.0189.0002.A624] # VAI DIGIT FOUR
-3024 ; [.159D.0020.0002.3024][.0000.018A.0002.3024] # HANGZHOU NUMERAL FOUR
-1010A ; [.159D.0020.0002.1010A][.0000.018B.0002.1010A] # AEGEAN NUMBER FOUR
-12402 ; [.159D.0020.0002.12402][.0000.0190.0002.12402] # CUNEIFORM NUMERIC SIGN FOUR ASH
-12409 ; [.159D.0020.0002.12409][.0000.0190.0002.12409] # CUNEIFORM NUMERIC SIGN FOUR DISH
-1240F ; [.159D.0020.0002.1240F][.0000.0190.0002.1240F] # CUNEIFORM NUMERIC SIGN FOUR U
-12418 ; [.159D.0020.0002.12418][.0000.0190.0002.12418] # CUNEIFORM NUMERIC SIGN FOUR GESH2
-12421 ; [.159D.0020.0002.12421][.0000.0190.0002.12421] # CUNEIFORM NUMERIC SIGN FOUR GESHU
-12426 ; [.159D.0020.0002.12426][.0000.0190.0002.12426] # CUNEIFORM NUMERIC SIGN FOUR SHAR2
-12430 ; [.159D.0020.0002.12430][.0000.0190.0002.12430] # CUNEIFORM NUMERIC SIGN FOUR SHARU
-12438 ; [.159D.0020.0002.12438][.0000.0190.0002.12438] # CUNEIFORM NUMERIC SIGN FOUR BURU
-1243C ; [.159D.0020.0002.1243C][.0000.0190.0002.1243C] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU
-1243D ; [.159D.0020.0002.1243D][.0000.0190.0002.1243D] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU4
-1243E ; [.159D.0020.0002.1243E][.0000.0190.0002.1243E] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU A
-1243F ; [.159D.0020.0002.1243F][.0000.0190.0002.1243F] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B
-1244C ; [.159D.0020.0002.1244C][.0000.0190.0002.1244C] # CUNEIFORM NUMERIC SIGN FOUR ASH TENU
-12452 ; [.159D.0020.0002.12452][.0000.0190.0002.12452] # CUNEIFORM NUMERIC SIGN FOUR BAN2
-12453 ; [.159D.0020.0002.12453][.0000.0190.0002.12453] # CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM
-10B5B ; [.159D.0020.0002.10B5B][.0000.0194.0002.10B5B] # INSCRIPTIONAL PARTHIAN NUMBER FOUR
-10B7B ; [.159D.0020.0002.10B7B][.0000.0195.0002.10B7B] # INSCRIPTIONAL PAHLAVI NUMBER FOUR
-1106A ; [.159D.0020.0002.1106A][.0000.0196.0002.1106A] # BRAHMI DIGIT FOUR
-11055 ; [.159D.0020.0002.11055][.0000.0197.0002.11055] # BRAHMI NUMBER FOUR
-10A43 ; [.159D.0020.0002.10A43][.0000.0198.0002.10A43] # KHAROSHTHI DIGIT FOUR
-1D363 ; [.159D.0020.0002.1D363][.0000.0199.0002.1D363] # COUNTING ROD UNIT DIGIT FOUR
-324B ; [.159D.0020.0006.324B][.1599.0020.0006.324B] # CIRCLED NUMBER FORTY ON BLACK SQUARE; QQKN
-32B5 ; [.159D.0020.0006.32B5][.1599.0020.0006.32B5] # CIRCLED NUMBER FORTY; QQKN
-32B6 ; [.159D.0020.0006.32B6][.159A.0020.0006.32B6] # CIRCLED NUMBER FORTY ONE; QQKN
-32B7 ; [.159D.0020.0006.32B7][.159B.0020.0006.32B7] # CIRCLED NUMBER FORTY TWO; QQKN
-32B8 ; [.159D.0020.0006.32B8][.159C.0020.0006.32B8] # CIRCLED NUMBER FORTY THREE; QQKN
-32B9 ; [.159D.0020.0006.32B9][.159D.0020.0006.32B9] # CIRCLED NUMBER FORTY FOUR; QQKN
-32BA ; [.159D.0020.0006.32BA][.159E.0020.0006.32BA] # CIRCLED NUMBER FORTY FIVE; QQKN
-2158 ; [.159D.0020.001E.2158][*036C.0020.001E.2158][.159E.0020.001F.2158] # VULGAR FRACTION FOUR FIFTHS; QQKN
-32BB ; [.159D.0020.0006.32BB][.159F.0020.0006.32BB] # CIRCLED NUMBER FORTY SIX; QQKN
-32BC ; [.159D.0020.0006.32BC][.15A0.0020.0006.32BC] # CIRCLED NUMBER FORTY SEVEN; QQKN
-32BD ; [.159D.0020.0006.32BD][.15A1.0020.0006.32BD] # CIRCLED NUMBER FORTY EIGHT; QQKN
-32BE ; [.159D.0020.0006.32BE][.15A2.0020.0006.32BE] # CIRCLED NUMBER FORTY NINE; QQKN
-33E3 ; [.159D.0020.0004.33E3][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR; QQKN
-32C3 ; [.159D.0020.0004.32C3][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL; QQKN
-335C ; [.159D.0020.0004.335C][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR; QQKN
-0035 ; [.159E.0020.0002.0035] # DIGIT FIVE
-FF15 ; [.159E.0020.0003.FF15] # FULLWIDTH DIGIT FIVE; QQK
-2478 ; [*030E.0020.0004.2478][.159E.0020.0004.2478][*030F.0020.001F.2478] # PARENTHESIZED DIGIT FIVE; QQKN
-248C ; [.159E.0020.0004.248C][*028E.0020.0004.248C] # DIGIT FIVE FULL STOP; QQKN
-1F106 ; [.159E.0020.0004.1F106][*0241.0020.0004.1F106] # DIGIT FIVE COMMA; QQKN
-1D7D3 ; [.159E.0020.0005.1D7D3] # MATHEMATICAL BOLD DIGIT FIVE; QQK
-1D7DD ; [.159E.0020.0005.1D7DD] # MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE; QQK
-1D7E7 ; [.159E.0020.0005.1D7E7] # MATHEMATICAL SANS-SERIF DIGIT FIVE; QQK
-1D7F1 ; [.159E.0020.0005.1D7F1] # MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE; QQK
-1D7FB ; [.159E.0020.0005.1D7FB] # MATHEMATICAL MONOSPACE DIGIT FIVE; QQK
-2464 ; [.159E.0020.0006.2464] # CIRCLED DIGIT FIVE; QQK
-24F9 ; [.159E.0020.0006.24F9] # DOUBLE CIRCLED DIGIT FIVE; QQK
-277A ; [.159E.0020.0006.277A] # DINGBAT NEGATIVE CIRCLED DIGIT FIVE; QQK
-2784 ; [.159E.0020.0006.2784] # DINGBAT CIRCLED SANS-SERIF DIGIT FIVE; QQK
-278E ; [.159E.0020.0006.278E] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE; QQK
-2075 ; [.159E.0020.0014.2075] # SUPERSCRIPT FIVE; QQK
-2085 ; [.159E.0020.0015.2085] # SUBSCRIPT FIVE; QQK
-0665 ; [.159E.0020.0002.0665][.0000.0165.0002.0665] # ARABIC-INDIC DIGIT FIVE
-06F5 ; [.159E.0020.0002.06F5][.0000.0166.0002.06F5] # EXTENDED ARABIC-INDIC DIGIT FIVE
-10E64 ; [.159E.0020.0002.10E64][.0000.0167.0002.10E64] # RUMI DIGIT FIVE
-07C5 ; [.159E.0020.0002.07C5][.0000.0168.0002.07C5] # NKO DIGIT FIVE
-136D ; [.159E.0020.0002.136D][.0000.0169.0002.136D] # ETHIOPIC DIGIT FIVE
-104A5 ; [.159E.0020.0002.104A5][.0000.016A.0002.104A5] # OSMANYA DIGIT FIVE
-096B ; [.159E.0020.0002.096B][.0000.016B.0002.096B] # DEVANAGARI DIGIT FIVE
-09EB ; [.159E.0020.0002.09EB][.0000.016C.0002.09EB] # BENGALI DIGIT FIVE
-0A6B ; [.159E.0020.0002.0A6B][.0000.016D.0002.0A6B] # GURMUKHI DIGIT FIVE
-0AEB ; [.159E.0020.0002.0AEB][.0000.016E.0002.0AEB] # GUJARATI DIGIT FIVE
-0B6B ; [.159E.0020.0002.0B6B][.0000.016F.0002.0B6B] # ORIYA DIGIT FIVE
-0BEB ; [.159E.0020.0002.0BEB][.0000.0170.0002.0BEB] # TAMIL DIGIT FIVE
-0C6B ; [.159E.0020.0002.0C6B][.0000.0171.0002.0C6B] # TELUGU DIGIT FIVE
-0CEB ; [.159E.0020.0002.0CEB][.0000.0172.0002.0CEB] # KANNADA DIGIT FIVE
-0D6B ; [.159E.0020.0002.0D6B][.0000.0173.0002.0D6B] # MALAYALAM DIGIT FIVE
-ABF5 ; [.159E.0020.0002.ABF5][.0000.0174.0002.ABF5] # MEETEI MAYEK DIGIT FIVE
-A8D5 ; [.159E.0020.0002.A8D5][.0000.0175.0002.A8D5] # SAURASHTRA DIGIT FIVE
-194B ; [.159E.0020.0002.194B][.0000.0176.0002.194B] # LIMBU DIGIT FIVE
-19D5 ; [.159E.0020.0002.19D5][.0000.0177.0002.19D5] # NEW TAI LUE DIGIT FIVE
-1A85 ; [.159E.0020.0002.1A85][.0000.0178.0002.1A85] # TAI THAM HORA DIGIT FIVE
-1A95 ; [.159E.0020.0002.1A95][.0000.0179.0002.1A95] # TAI THAM THAM DIGIT FIVE
-0E55 ; [.159E.0020.0002.0E55][.0000.017A.0002.0E55] # THAI DIGIT FIVE
-0ED5 ; [.159E.0020.0002.0ED5][.0000.017B.0002.0ED5] # LAO DIGIT FIVE
-0F25 ; [.159E.0020.0002.0F25][.0000.017C.0002.0F25] # TIBETAN DIGIT FIVE
-0F2E ; [.159E.0020.0004.0F2E][.0000.017C.0004.0F2E] # TIBETAN DIGIT HALF FIVE; QQK
-1C45 ; [.159E.0020.0002.1C45][.0000.017D.0002.1C45] # LEPCHA DIGIT FIVE
-A905 ; [.159E.0020.0002.A905][.0000.017E.0002.A905] # KAYAH LI DIGIT FIVE
-1045 ; [.159E.0020.0002.1045][.0000.017F.0002.1045] # MYANMAR DIGIT FIVE
-1095 ; [.159E.0020.0002.1095][.0000.0180.0002.1095] # MYANMAR SHAN DIGIT FIVE
-17E5 ; [.159E.0020.0002.17E5][.0000.0181.0002.17E5] # KHMER DIGIT FIVE
-17F5 ; [.159E.0020.0002.17F5][.0000.0182.0002.17F5] # KHMER SYMBOL LEK ATTAK PRAM
-AA55 ; [.159E.0020.0002.AA55][.0000.0183.0002.AA55] # CHAM DIGIT FIVE
-1B55 ; [.159E.0020.0002.1B55][.0000.0184.0002.1B55] # BALINESE DIGIT FIVE
-A9D5 ; [.159E.0020.0002.A9D5][.0000.0185.0002.A9D5] # JAVANESE DIGIT FIVE
-1BB5 ; [.159E.0020.0002.1BB5][.0000.0186.0002.1BB5] # SUNDANESE DIGIT FIVE
-1815 ; [.159E.0020.0002.1815][.0000.0187.0002.1815] # MONGOLIAN DIGIT FIVE
-1C55 ; [.159E.0020.0002.1C55][.0000.0188.0002.1C55] # OL CHIKI DIGIT FIVE
-A625 ; [.159E.0020.0002.A625][.0000.0189.0002.A625] # VAI DIGIT FIVE
-3025 ; [.159E.0020.0002.3025][.0000.018A.0002.3025] # HANGZHOU NUMERAL FIVE
-1010B ; [.159E.0020.0002.1010B][.0000.018B.0002.1010B] # AEGEAN NUMBER FIVE
-10143 ; [.159E.0020.0002.10143][.0000.018C.0002.10143] # GREEK ACROPHONIC ATTIC FIVE
-10148 ; [.159E.0020.0002.10148][.0000.018C.0002.10148] # GREEK ACROPHONIC ATTIC FIVE TALENTS
-1014F ; [.159E.0020.0002.1014F][.0000.018C.0002.1014F] # GREEK ACROPHONIC ATTIC FIVE STATERS
-1015F ; [.159E.0020.0002.1015F][.0000.018C.0002.1015F] # GREEK ACROPHONIC TROEZENIAN FIVE
-10173 ; [.159E.0020.0002.10173][.0000.018C.0002.10173] # GREEK ACROPHONIC DELPHIC FIVE MNAS
-10321 ; [.159E.0020.0002.10321][.0000.018E.0002.10321] # OLD ITALIC NUMERAL FIVE
-12403 ; [.159E.0020.0002.12403][.0000.0190.0002.12403] # CUNEIFORM NUMERIC SIGN FIVE ASH
-1240A ; [.159E.0020.0002.1240A][.0000.0190.0002.1240A] # CUNEIFORM NUMERIC SIGN FIVE DISH
-12410 ; [.159E.0020.0002.12410][.0000.0190.0002.12410] # CUNEIFORM NUMERIC SIGN FIVE U
-12419 ; [.159E.0020.0002.12419][.0000.0190.0002.12419] # CUNEIFORM NUMERIC SIGN FIVE GESH2
-12422 ; [.159E.0020.0002.12422][.0000.0190.0002.12422] # CUNEIFORM NUMERIC SIGN FIVE GESHU
-12427 ; [.159E.0020.0002.12427][.0000.0190.0002.12427] # CUNEIFORM NUMERIC SIGN FIVE SHAR2
-12431 ; [.159E.0020.0002.12431][.0000.0190.0002.12431] # CUNEIFORM NUMERIC SIGN FIVE SHARU
-12439 ; [.159E.0020.0002.12439][.0000.0190.0002.12439] # CUNEIFORM NUMERIC SIGN FIVE BURU
-1244D ; [.159E.0020.0002.1244D][.0000.0190.0002.1244D] # CUNEIFORM NUMERIC SIGN FIVE ASH TENU
-12454 ; [.159E.0020.0002.12454][.0000.0190.0002.12454] # CUNEIFORM NUMERIC SIGN FIVE BAN2
-12455 ; [.159E.0020.0002.12455][.0000.0190.0002.12455] # CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM
-1106B ; [.159E.0020.0002.1106B][.0000.0196.0002.1106B] # BRAHMI DIGIT FIVE
-11056 ; [.159E.0020.0002.11056][.0000.0197.0002.11056] # BRAHMI NUMBER FIVE
-1D364 ; [.159E.0020.0002.1D364][.0000.0199.0002.1D364] # COUNTING ROD UNIT DIGIT FIVE
-324C ; [.159E.0020.0006.324C][.1599.0020.0006.324C] # CIRCLED NUMBER FIFTY ON BLACK SQUARE; QQKN
-32BF ; [.159E.0020.0006.32BF][.1599.0020.0006.32BF] # CIRCLED NUMBER FIFTY; QQKN
-215A ; [.159E.0020.001E.215A][*036C.0020.001E.215A][.159F.0020.001F.215A] # VULGAR FRACTION FIVE SIXTHS; QQKN
-215D ; [.159E.0020.001E.215D][*036C.0020.001E.215D][.15A1.0020.001F.215D] # VULGAR FRACTION FIVE EIGHTHS; QQKN
-33E4 ; [.159E.0020.0004.33E4][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE; QQKN
-32C4 ; [.159E.0020.0004.32C4][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY; QQKN
-335D ; [.159E.0020.0004.335D][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE; QQKN
-0036 ; [.159F.0020.0002.0036] # DIGIT SIX
-FF16 ; [.159F.0020.0003.FF16] # FULLWIDTH DIGIT SIX; QQK
-2479 ; [*030E.0020.0004.2479][.159F.0020.0004.2479][*030F.0020.001F.2479] # PARENTHESIZED DIGIT SIX; QQKN
-248D ; [.159F.0020.0004.248D][*028E.0020.0004.248D] # DIGIT SIX FULL STOP; QQKN
-1F107 ; [.159F.0020.0004.1F107][*0241.0020.0004.1F107] # DIGIT SIX COMMA; QQKN
-1D7D4 ; [.159F.0020.0005.1D7D4] # MATHEMATICAL BOLD DIGIT SIX; QQK
-1D7DE ; [.159F.0020.0005.1D7DE] # MATHEMATICAL DOUBLE-STRUCK DIGIT SIX; QQK
-1D7E8 ; [.159F.0020.0005.1D7E8] # MATHEMATICAL SANS-SERIF DIGIT SIX; QQK
-1D7F2 ; [.159F.0020.0005.1D7F2] # MATHEMATICAL SANS-SERIF BOLD DIGIT SIX; QQK
-1D7FC ; [.159F.0020.0005.1D7FC] # MATHEMATICAL MONOSPACE DIGIT SIX; QQK
-2465 ; [.159F.0020.0006.2465] # CIRCLED DIGIT SIX; QQK
-24FA ; [.159F.0020.0006.24FA] # DOUBLE CIRCLED DIGIT SIX; QQK
-277B ; [.159F.0020.0006.277B] # DINGBAT NEGATIVE CIRCLED DIGIT SIX; QQK
-2785 ; [.159F.0020.0006.2785] # DINGBAT CIRCLED SANS-SERIF DIGIT SIX; QQK
-278F ; [.159F.0020.0006.278F] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX; QQK
-2076 ; [.159F.0020.0014.2076] # SUPERSCRIPT SIX; QQK
-2086 ; [.159F.0020.0015.2086] # SUBSCRIPT SIX; QQK
-0666 ; [.159F.0020.0002.0666][.0000.0165.0002.0666] # ARABIC-INDIC DIGIT SIX
-06F6 ; [.159F.0020.0002.06F6][.0000.0166.0002.06F6] # EXTENDED ARABIC-INDIC DIGIT SIX
-10E65 ; [.159F.0020.0002.10E65][.0000.0167.0002.10E65] # RUMI DIGIT SIX
-07C6 ; [.159F.0020.0002.07C6][.0000.0168.0002.07C6] # NKO DIGIT SIX
-136E ; [.159F.0020.0002.136E][.0000.0169.0002.136E] # ETHIOPIC DIGIT SIX
-104A6 ; [.159F.0020.0002.104A6][.0000.016A.0002.104A6] # OSMANYA DIGIT SIX
-096C ; [.159F.0020.0002.096C][.0000.016B.0002.096C] # DEVANAGARI DIGIT SIX
-09EC ; [.159F.0020.0002.09EC][.0000.016C.0002.09EC] # BENGALI DIGIT SIX
-0A6C ; [.159F.0020.0002.0A6C][.0000.016D.0002.0A6C] # GURMUKHI DIGIT SIX
-0AEC ; [.159F.0020.0002.0AEC][.0000.016E.0002.0AEC] # GUJARATI DIGIT SIX
-0B6C ; [.159F.0020.0002.0B6C][.0000.016F.0002.0B6C] # ORIYA DIGIT SIX
-0BEC ; [.159F.0020.0002.0BEC][.0000.0170.0002.0BEC] # TAMIL DIGIT SIX
-0C6C ; [.159F.0020.0002.0C6C][.0000.0171.0002.0C6C] # TELUGU DIGIT SIX
-0CEC ; [.159F.0020.0002.0CEC][.0000.0172.0002.0CEC] # KANNADA DIGIT SIX
-0D6C ; [.159F.0020.0002.0D6C][.0000.0173.0002.0D6C] # MALAYALAM DIGIT SIX
-ABF6 ; [.159F.0020.0002.ABF6][.0000.0174.0002.ABF6] # MEETEI MAYEK DIGIT SIX
-A8D6 ; [.159F.0020.0002.A8D6][.0000.0175.0002.A8D6] # SAURASHTRA DIGIT SIX
-194C ; [.159F.0020.0002.194C][.0000.0176.0002.194C] # LIMBU DIGIT SIX
-19D6 ; [.159F.0020.0002.19D6][.0000.0177.0002.19D6] # NEW TAI LUE DIGIT SIX
-1A86 ; [.159F.0020.0002.1A86][.0000.0178.0002.1A86] # TAI THAM HORA DIGIT SIX
-1A96 ; [.159F.0020.0002.1A96][.0000.0179.0002.1A96] # TAI THAM THAM DIGIT SIX
-0E56 ; [.159F.0020.0002.0E56][.0000.017A.0002.0E56] # THAI DIGIT SIX
-0ED6 ; [.159F.0020.0002.0ED6][.0000.017B.0002.0ED6] # LAO DIGIT SIX
-0F26 ; [.159F.0020.0002.0F26][.0000.017C.0002.0F26] # TIBETAN DIGIT SIX
-0F2F ; [.159F.0020.0004.0F2F][.0000.017C.0004.0F2F] # TIBETAN DIGIT HALF SIX; QQK
-1C46 ; [.159F.0020.0002.1C46][.0000.017D.0002.1C46] # LEPCHA DIGIT SIX
-A906 ; [.159F.0020.0002.A906][.0000.017E.0002.A906] # KAYAH LI DIGIT SIX
-1046 ; [.159F.0020.0002.1046][.0000.017F.0002.1046] # MYANMAR DIGIT SIX
-1096 ; [.159F.0020.0002.1096][.0000.0180.0002.1096] # MYANMAR SHAN DIGIT SIX
-17E6 ; [.159F.0020.0002.17E6][.0000.0181.0002.17E6] # KHMER DIGIT SIX
-17F6 ; [.159F.0020.0002.17F6][.0000.0182.0002.17F6] # KHMER SYMBOL LEK ATTAK PRAM-MUOY
-AA56 ; [.159F.0020.0002.AA56][.0000.0183.0002.AA56] # CHAM DIGIT SIX
-1B56 ; [.159F.0020.0002.1B56][.0000.0184.0002.1B56] # BALINESE DIGIT SIX
-A9D6 ; [.159F.0020.0002.A9D6][.0000.0185.0002.A9D6] # JAVANESE DIGIT SIX
-1BB6 ; [.159F.0020.0002.1BB6][.0000.0186.0002.1BB6] # SUNDANESE DIGIT SIX
-1816 ; [.159F.0020.0002.1816][.0000.0187.0002.1816] # MONGOLIAN DIGIT SIX
-1C56 ; [.159F.0020.0002.1C56][.0000.0188.0002.1C56] # OL CHIKI DIGIT SIX
-A626 ; [.159F.0020.0002.A626][.0000.0189.0002.A626] # VAI DIGIT SIX
-3026 ; [.159F.0020.0002.3026][.0000.018A.0002.3026] # HANGZHOU NUMERAL SIX
-1010C ; [.159F.0020.0002.1010C][.0000.018B.0002.1010C] # AEGEAN NUMBER SIX
-2185 ; [.159F.0020.0002.2185][.0000.018D.0002.2185] # ROMAN NUMERAL SIX LATE FORM
-12404 ; [.159F.0020.0002.12404][.0000.0190.0002.12404] # CUNEIFORM NUMERIC SIGN SIX ASH
-1240B ; [.159F.0020.0002.1240B][.0000.0190.0002.1240B] # CUNEIFORM NUMERIC SIGN SIX DISH
-12411 ; [.159F.0020.0002.12411][.0000.0190.0002.12411] # CUNEIFORM NUMERIC SIGN SIX U
-1241A ; [.159F.0020.0002.1241A][.0000.0190.0002.1241A] # CUNEIFORM NUMERIC SIGN SIX GESH2
-12428 ; [.159F.0020.0002.12428][.0000.0190.0002.12428] # CUNEIFORM NUMERIC SIGN SIX SHAR2
-12440 ; [.159F.0020.0002.12440][.0000.0190.0002.12440] # CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9
-1244E ; [.159F.0020.0002.1244E][.0000.0190.0002.1244E] # CUNEIFORM NUMERIC SIGN SIX ASH TENU
-1106C ; [.159F.0020.0002.1106C][.0000.0196.0002.1106C] # BRAHMI DIGIT SIX
-11057 ; [.159F.0020.0002.11057][.0000.0197.0002.11057] # BRAHMI NUMBER SIX
-1D365 ; [.159F.0020.0002.1D365][.0000.0199.0002.1D365] # COUNTING ROD UNIT DIGIT SIX
-324D ; [.159F.0020.0006.324D][.1599.0020.0006.324D] # CIRCLED NUMBER SIXTY ON BLACK SQUARE; QQKN
-33E5 ; [.159F.0020.0004.33E5][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX; QQKN
-32C5 ; [.159F.0020.0004.32C5][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE; QQKN
-335E ; [.159F.0020.0004.335E][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX; QQKN
-0037 ; [.15A0.0020.0002.0037] # DIGIT SEVEN
-FF17 ; [.15A0.0020.0003.FF17] # FULLWIDTH DIGIT SEVEN; QQK
-247A ; [*030E.0020.0004.247A][.15A0.0020.0004.247A][*030F.0020.001F.247A] # PARENTHESIZED DIGIT SEVEN; QQKN
-248E ; [.15A0.0020.0004.248E][*028E.0020.0004.248E] # DIGIT SEVEN FULL STOP; QQKN
-1F108 ; [.15A0.0020.0004.1F108][*0241.0020.0004.1F108] # DIGIT SEVEN COMMA; QQKN
-1D7D5 ; [.15A0.0020.0005.1D7D5] # MATHEMATICAL BOLD DIGIT SEVEN; QQK
-1D7DF ; [.15A0.0020.0005.1D7DF] # MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN; QQK
-1D7E9 ; [.15A0.0020.0005.1D7E9] # MATHEMATICAL SANS-SERIF DIGIT SEVEN; QQK
-1D7F3 ; [.15A0.0020.0005.1D7F3] # MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN; QQK
-1D7FD ; [.15A0.0020.0005.1D7FD] # MATHEMATICAL MONOSPACE DIGIT SEVEN; QQK
-2466 ; [.15A0.0020.0006.2466] # CIRCLED DIGIT SEVEN; QQK
-24FB ; [.15A0.0020.0006.24FB] # DOUBLE CIRCLED DIGIT SEVEN; QQK
-277C ; [.15A0.0020.0006.277C] # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN; QQK
-2786 ; [.15A0.0020.0006.2786] # DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN; QQK
-2790 ; [.15A0.0020.0006.2790] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN; QQK
-2077 ; [.15A0.0020.0014.2077] # SUPERSCRIPT SEVEN; QQK
-2087 ; [.15A0.0020.0015.2087] # SUBSCRIPT SEVEN; QQK
-0667 ; [.15A0.0020.0002.0667][.0000.0165.0002.0667] # ARABIC-INDIC DIGIT SEVEN
-06F7 ; [.15A0.0020.0002.06F7][.0000.0166.0002.06F7] # EXTENDED ARABIC-INDIC DIGIT SEVEN
-10E66 ; [.15A0.0020.0002.10E66][.0000.0167.0002.10E66] # RUMI DIGIT SEVEN
-07C7 ; [.15A0.0020.0002.07C7][.0000.0168.0002.07C7] # NKO DIGIT SEVEN
-136F ; [.15A0.0020.0002.136F][.0000.0169.0002.136F] # ETHIOPIC DIGIT SEVEN
-104A7 ; [.15A0.0020.0002.104A7][.0000.016A.0002.104A7] # OSMANYA DIGIT SEVEN
-096D ; [.15A0.0020.0002.096D][.0000.016B.0002.096D] # DEVANAGARI DIGIT SEVEN
-09ED ; [.15A0.0020.0002.09ED][.0000.016C.0002.09ED] # BENGALI DIGIT SEVEN
-0A6D ; [.15A0.0020.0002.0A6D][.0000.016D.0002.0A6D] # GURMUKHI DIGIT SEVEN
-0AED ; [.15A0.0020.0002.0AED][.0000.016E.0002.0AED] # GUJARATI DIGIT SEVEN
-0B6D ; [.15A0.0020.0002.0B6D][.0000.016F.0002.0B6D] # ORIYA DIGIT SEVEN
-0BED ; [.15A0.0020.0002.0BED][.0000.0170.0002.0BED] # TAMIL DIGIT SEVEN
-0C6D ; [.15A0.0020.0002.0C6D][.0000.0171.0002.0C6D] # TELUGU DIGIT SEVEN
-0CED ; [.15A0.0020.0002.0CED][.0000.0172.0002.0CED] # KANNADA DIGIT SEVEN
-0D6D ; [.15A0.0020.0002.0D6D][.0000.0173.0002.0D6D] # MALAYALAM DIGIT SEVEN
-ABF7 ; [.15A0.0020.0002.ABF7][.0000.0174.0002.ABF7] # MEETEI MAYEK DIGIT SEVEN
-A8D7 ; [.15A0.0020.0002.A8D7][.0000.0175.0002.A8D7] # SAURASHTRA DIGIT SEVEN
-194D ; [.15A0.0020.0002.194D][.0000.0176.0002.194D] # LIMBU DIGIT SEVEN
-19D7 ; [.15A0.0020.0002.19D7][.0000.0177.0002.19D7] # NEW TAI LUE DIGIT SEVEN
-1A87 ; [.15A0.0020.0002.1A87][.0000.0178.0002.1A87] # TAI THAM HORA DIGIT SEVEN
-1A97 ; [.15A0.0020.0002.1A97][.0000.0179.0002.1A97] # TAI THAM THAM DIGIT SEVEN
-0E57 ; [.15A0.0020.0002.0E57][.0000.017A.0002.0E57] # THAI DIGIT SEVEN
-0ED7 ; [.15A0.0020.0002.0ED7][.0000.017B.0002.0ED7] # LAO DIGIT SEVEN
-0F27 ; [.15A0.0020.0002.0F27][.0000.017C.0002.0F27] # TIBETAN DIGIT SEVEN
-0F30 ; [.15A0.0020.0004.0F30][.0000.017C.0004.0F30] # TIBETAN DIGIT HALF SEVEN; QQK
-1C47 ; [.15A0.0020.0002.1C47][.0000.017D.0002.1C47] # LEPCHA DIGIT SEVEN
-A907 ; [.15A0.0020.0002.A907][.0000.017E.0002.A907] # KAYAH LI DIGIT SEVEN
-1047 ; [.15A0.0020.0002.1047][.0000.017F.0002.1047] # MYANMAR DIGIT SEVEN
-1097 ; [.15A0.0020.0002.1097][.0000.0180.0002.1097] # MYANMAR SHAN DIGIT SEVEN
-17E7 ; [.15A0.0020.0002.17E7][.0000.0181.0002.17E7] # KHMER DIGIT SEVEN
-17F7 ; [.15A0.0020.0002.17F7][.0000.0182.0002.17F7] # KHMER SYMBOL LEK ATTAK PRAM-PII
-AA57 ; [.15A0.0020.0002.AA57][.0000.0183.0002.AA57] # CHAM DIGIT SEVEN
-1B57 ; [.15A0.0020.0002.1B57][.0000.0184.0002.1B57] # BALINESE DIGIT SEVEN
-A9D7 ; [.15A0.0020.0002.A9D7][.0000.0185.0002.A9D7] # JAVANESE DIGIT SEVEN
-1BB7 ; [.15A0.0020.0002.1BB7][.0000.0186.0002.1BB7] # SUNDANESE DIGIT SEVEN
-1817 ; [.15A0.0020.0002.1817][.0000.0187.0002.1817] # MONGOLIAN DIGIT SEVEN
-1C57 ; [.15A0.0020.0002.1C57][.0000.0188.0002.1C57] # OL CHIKI DIGIT SEVEN
-A627 ; [.15A0.0020.0002.A627][.0000.0189.0002.A627] # VAI DIGIT SEVEN
-3027 ; [.15A0.0020.0002.3027][.0000.018A.0002.3027] # HANGZHOU NUMERAL SEVEN
-1010D ; [.15A0.0020.0002.1010D][.0000.018B.0002.1010D] # AEGEAN NUMBER SEVEN
-12405 ; [.15A0.0020.0002.12405][.0000.0190.0002.12405] # CUNEIFORM NUMERIC SIGN SEVEN ASH
-1240C ; [.15A0.0020.0002.1240C][.0000.0190.0002.1240C] # CUNEIFORM NUMERIC SIGN SEVEN DISH
-12412 ; [.15A0.0020.0002.12412][.0000.0190.0002.12412] # CUNEIFORM NUMERIC SIGN SEVEN U
-1241B ; [.15A0.0020.0002.1241B][.0000.0190.0002.1241B] # CUNEIFORM NUMERIC SIGN SEVEN GESH2
-12429 ; [.15A0.0020.0002.12429][.0000.0190.0002.12429] # CUNEIFORM NUMERIC SIGN SEVEN SHAR2
-12441 ; [.15A0.0020.0002.12441][.0000.0190.0002.12441] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3
-12442 ; [.15A0.0020.0002.12442][.0000.0190.0002.12442] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN A
-12443 ; [.15A0.0020.0002.12443][.0000.0190.0002.12443] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B
-1106D ; [.15A0.0020.0002.1106D][.0000.0196.0002.1106D] # BRAHMI DIGIT SEVEN
-11058 ; [.15A0.0020.0002.11058][.0000.0197.0002.11058] # BRAHMI NUMBER SEVEN
-1D366 ; [.15A0.0020.0002.1D366][.0000.0199.0002.1D366] # COUNTING ROD UNIT DIGIT SEVEN
-324E ; [.15A0.0020.0006.324E][.1599.0020.0006.324E] # CIRCLED NUMBER SEVENTY ON BLACK SQUARE; QQKN
-215E ; [.15A0.0020.001E.215E][*036C.0020.001E.215E][.15A1.0020.001F.215E] # VULGAR FRACTION SEVEN EIGHTHS; QQKN
-33E6 ; [.15A0.0020.0004.33E6][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN; QQKN
-32C6 ; [.15A0.0020.0004.32C6][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY; QQKN
-335F ; [.15A0.0020.0004.335F][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN; QQKN
-0038 ; [.15A1.0020.0002.0038] # DIGIT EIGHT
-FF18 ; [.15A1.0020.0003.FF18] # FULLWIDTH DIGIT EIGHT; QQK
-247B ; [*030E.0020.0004.247B][.15A1.0020.0004.247B][*030F.0020.001F.247B] # PARENTHESIZED DIGIT EIGHT; QQKN
-248F ; [.15A1.0020.0004.248F][*028E.0020.0004.248F] # DIGIT EIGHT FULL STOP; QQKN
-1F109 ; [.15A1.0020.0004.1F109][*0241.0020.0004.1F109] # DIGIT EIGHT COMMA; QQKN
-1D7D6 ; [.15A1.0020.0005.1D7D6] # MATHEMATICAL BOLD DIGIT EIGHT; QQK
-1D7E0 ; [.15A1.0020.0005.1D7E0] # MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT; QQK
-1D7EA ; [.15A1.0020.0005.1D7EA] # MATHEMATICAL SANS-SERIF DIGIT EIGHT; QQK
-1D7F4 ; [.15A1.0020.0005.1D7F4] # MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT; QQK
-1D7FE ; [.15A1.0020.0005.1D7FE] # MATHEMATICAL MONOSPACE DIGIT EIGHT; QQK
-2467 ; [.15A1.0020.0006.2467] # CIRCLED DIGIT EIGHT; QQK
-24FC ; [.15A1.0020.0006.24FC] # DOUBLE CIRCLED DIGIT EIGHT; QQK
-277D ; [.15A1.0020.0006.277D] # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT; QQK
-2787 ; [.15A1.0020.0006.2787] # DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT; QQK
-2791 ; [.15A1.0020.0006.2791] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT; QQK
-2078 ; [.15A1.0020.0014.2078] # SUPERSCRIPT EIGHT; QQK
-2088 ; [.15A1.0020.0015.2088] # SUBSCRIPT EIGHT; QQK
-0668 ; [.15A1.0020.0002.0668][.0000.0165.0002.0668] # ARABIC-INDIC DIGIT EIGHT
-06F8 ; [.15A1.0020.0002.06F8][.0000.0166.0002.06F8] # EXTENDED ARABIC-INDIC DIGIT EIGHT
-10E67 ; [.15A1.0020.0002.10E67][.0000.0167.0002.10E67] # RUMI DIGIT EIGHT
-07C8 ; [.15A1.0020.0002.07C8][.0000.0168.0002.07C8] # NKO DIGIT EIGHT
-1370 ; [.15A1.0020.0002.1370][.0000.0169.0002.1370] # ETHIOPIC DIGIT EIGHT
-104A8 ; [.15A1.0020.0002.104A8][.0000.016A.0002.104A8] # OSMANYA DIGIT EIGHT
-096E ; [.15A1.0020.0002.096E][.0000.016B.0002.096E] # DEVANAGARI DIGIT EIGHT
-09EE ; [.15A1.0020.0002.09EE][.0000.016C.0002.09EE] # BENGALI DIGIT EIGHT
-0A6E ; [.15A1.0020.0002.0A6E][.0000.016D.0002.0A6E] # GURMUKHI DIGIT EIGHT
-0AEE ; [.15A1.0020.0002.0AEE][.0000.016E.0002.0AEE] # GUJARATI DIGIT EIGHT
-0B6E ; [.15A1.0020.0002.0B6E][.0000.016F.0002.0B6E] # ORIYA DIGIT EIGHT
-0BEE ; [.15A1.0020.0002.0BEE][.0000.0170.0002.0BEE] # TAMIL DIGIT EIGHT
-0C6E ; [.15A1.0020.0002.0C6E][.0000.0171.0002.0C6E] # TELUGU DIGIT EIGHT
-0CEE ; [.15A1.0020.0002.0CEE][.0000.0172.0002.0CEE] # KANNADA DIGIT EIGHT
-0D6E ; [.15A1.0020.0002.0D6E][.0000.0173.0002.0D6E] # MALAYALAM DIGIT EIGHT
-ABF8 ; [.15A1.0020.0002.ABF8][.0000.0174.0002.ABF8] # MEETEI MAYEK DIGIT EIGHT
-A8D8 ; [.15A1.0020.0002.A8D8][.0000.0175.0002.A8D8] # SAURASHTRA DIGIT EIGHT
-194E ; [.15A1.0020.0002.194E][.0000.0176.0002.194E] # LIMBU DIGIT EIGHT
-19D8 ; [.15A1.0020.0002.19D8][.0000.0177.0002.19D8] # NEW TAI LUE DIGIT EIGHT
-1A88 ; [.15A1.0020.0002.1A88][.0000.0178.0002.1A88] # TAI THAM HORA DIGIT EIGHT
-1A98 ; [.15A1.0020.0002.1A98][.0000.0179.0002.1A98] # TAI THAM THAM DIGIT EIGHT
-0E58 ; [.15A1.0020.0002.0E58][.0000.017A.0002.0E58] # THAI DIGIT EIGHT
-0ED8 ; [.15A1.0020.0002.0ED8][.0000.017B.0002.0ED8] # LAO DIGIT EIGHT
-0F28 ; [.15A1.0020.0002.0F28][.0000.017C.0002.0F28] # TIBETAN DIGIT EIGHT
-0F31 ; [.15A1.0020.0004.0F31][.0000.017C.0004.0F31] # TIBETAN DIGIT HALF EIGHT; QQK
-1C48 ; [.15A1.0020.0002.1C48][.0000.017D.0002.1C48] # LEPCHA DIGIT EIGHT
-A908 ; [.15A1.0020.0002.A908][.0000.017E.0002.A908] # KAYAH LI DIGIT EIGHT
-1048 ; [.15A1.0020.0002.1048][.0000.017F.0002.1048] # MYANMAR DIGIT EIGHT
-1098 ; [.15A1.0020.0002.1098][.0000.0180.0002.1098] # MYANMAR SHAN DIGIT EIGHT
-17E8 ; [.15A1.0020.0002.17E8][.0000.0181.0002.17E8] # KHMER DIGIT EIGHT
-17F8 ; [.15A1.0020.0002.17F8][.0000.0182.0002.17F8] # KHMER SYMBOL LEK ATTAK PRAM-BEI
-AA58 ; [.15A1.0020.0002.AA58][.0000.0183.0002.AA58] # CHAM DIGIT EIGHT
-1B58 ; [.15A1.0020.0002.1B58][.0000.0184.0002.1B58] # BALINESE DIGIT EIGHT
-A9D8 ; [.15A1.0020.0002.A9D8][.0000.0185.0002.A9D8] # JAVANESE DIGIT EIGHT
-1BB8 ; [.15A1.0020.0002.1BB8][.0000.0186.0002.1BB8] # SUNDANESE DIGIT EIGHT
-1818 ; [.15A1.0020.0002.1818][.0000.0187.0002.1818] # MONGOLIAN DIGIT EIGHT
-1C58 ; [.15A1.0020.0002.1C58][.0000.0188.0002.1C58] # OL CHIKI DIGIT EIGHT
-A628 ; [.15A1.0020.0002.A628][.0000.0189.0002.A628] # VAI DIGIT EIGHT
-3028 ; [.15A1.0020.0002.3028][.0000.018A.0002.3028] # HANGZHOU NUMERAL EIGHT
-1010E ; [.15A1.0020.0002.1010E][.0000.018B.0002.1010E] # AEGEAN NUMBER EIGHT
-12406 ; [.15A1.0020.0002.12406][.0000.0190.0002.12406] # CUNEIFORM NUMERIC SIGN EIGHT ASH
-1240D ; [.15A1.0020.0002.1240D][.0000.0190.0002.1240D] # CUNEIFORM NUMERIC SIGN EIGHT DISH
-12413 ; [.15A1.0020.0002.12413][.0000.0190.0002.12413] # CUNEIFORM NUMERIC SIGN EIGHT U
-1241C ; [.15A1.0020.0002.1241C][.0000.0190.0002.1241C] # CUNEIFORM NUMERIC SIGN EIGHT GESH2
-1242A ; [.15A1.0020.0002.1242A][.0000.0190.0002.1242A] # CUNEIFORM NUMERIC SIGN EIGHT SHAR2
-12444 ; [.15A1.0020.0002.12444][.0000.0190.0002.12444] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU
-12445 ; [.15A1.0020.0002.12445][.0000.0190.0002.12445] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3
-1106E ; [.15A1.0020.0002.1106E][.0000.0196.0002.1106E] # BRAHMI DIGIT EIGHT
-11059 ; [.15A1.0020.0002.11059][.0000.0197.0002.11059] # BRAHMI NUMBER EIGHT
-1D367 ; [.15A1.0020.0002.1D367][.0000.0199.0002.1D367] # COUNTING ROD UNIT DIGIT EIGHT
-324F ; [.15A1.0020.0006.324F][.1599.0020.0006.324F] # CIRCLED NUMBER EIGHTY ON BLACK SQUARE; QQKN
-33E7 ; [.15A1.0020.0004.33E7][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT; QQKN
-32C7 ; [.15A1.0020.0004.32C7][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST; QQKN
-3360 ; [.15A1.0020.0004.3360][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT; QQKN
-0039 ; [.15A2.0020.0002.0039] # DIGIT NINE
-FF19 ; [.15A2.0020.0003.FF19] # FULLWIDTH DIGIT NINE; QQK
-247C ; [*030E.0020.0004.247C][.15A2.0020.0004.247C][*030F.0020.001F.247C] # PARENTHESIZED DIGIT NINE; QQKN
-2490 ; [.15A2.0020.0004.2490][*028E.0020.0004.2490] # DIGIT NINE FULL STOP; QQKN
-1F10A ; [.15A2.0020.0004.1F10A][*0241.0020.0004.1F10A] # DIGIT NINE COMMA; QQKN
-1D7D7 ; [.15A2.0020.0005.1D7D7] # MATHEMATICAL BOLD DIGIT NINE; QQK
-1D7E1 ; [.15A2.0020.0005.1D7E1] # MATHEMATICAL DOUBLE-STRUCK DIGIT NINE; QQK
-1D7EB ; [.15A2.0020.0005.1D7EB] # MATHEMATICAL SANS-SERIF DIGIT NINE; QQK
-1D7F5 ; [.15A2.0020.0005.1D7F5] # MATHEMATICAL SANS-SERIF BOLD DIGIT NINE; QQK
-1D7FF ; [.15A2.0020.0005.1D7FF] # MATHEMATICAL MONOSPACE DIGIT NINE; QQK
-2468 ; [.15A2.0020.0006.2468] # CIRCLED DIGIT NINE; QQK
-24FD ; [.15A2.0020.0006.24FD] # DOUBLE CIRCLED DIGIT NINE; QQK
-277E ; [.15A2.0020.0006.277E] # DINGBAT NEGATIVE CIRCLED DIGIT NINE; QQK
-2788 ; [.15A2.0020.0006.2788] # DINGBAT CIRCLED SANS-SERIF DIGIT NINE; QQK
-2792 ; [.15A2.0020.0006.2792] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE; QQK
-2079 ; [.15A2.0020.0014.2079] # SUPERSCRIPT NINE; QQK
-2089 ; [.15A2.0020.0015.2089] # SUBSCRIPT NINE; QQK
-0669 ; [.15A2.0020.0002.0669][.0000.0165.0002.0669] # ARABIC-INDIC DIGIT NINE
-06F9 ; [.15A2.0020.0002.06F9][.0000.0166.0002.06F9] # EXTENDED ARABIC-INDIC DIGIT NINE
-10E68 ; [.15A2.0020.0002.10E68][.0000.0167.0002.10E68] # RUMI DIGIT NINE
-07C9 ; [.15A2.0020.0002.07C9][.0000.0168.0002.07C9] # NKO DIGIT NINE
-1371 ; [.15A2.0020.0002.1371][.0000.0169.0002.1371] # ETHIOPIC DIGIT NINE
-104A9 ; [.15A2.0020.0002.104A9][.0000.016A.0002.104A9] # OSMANYA DIGIT NINE
-096F ; [.15A2.0020.0002.096F][.0000.016B.0002.096F] # DEVANAGARI DIGIT NINE
-09EF ; [.15A2.0020.0002.09EF][.0000.016C.0002.09EF] # BENGALI DIGIT NINE
-0A6F ; [.15A2.0020.0002.0A6F][.0000.016D.0002.0A6F] # GURMUKHI DIGIT NINE
-0AEF ; [.15A2.0020.0002.0AEF][.0000.016E.0002.0AEF] # GUJARATI DIGIT NINE
-0B6F ; [.15A2.0020.0002.0B6F][.0000.016F.0002.0B6F] # ORIYA DIGIT NINE
-0BEF ; [.15A2.0020.0002.0BEF][.0000.0170.0002.0BEF] # TAMIL DIGIT NINE
-0C6F ; [.15A2.0020.0002.0C6F][.0000.0171.0002.0C6F] # TELUGU DIGIT NINE
-0CEF ; [.15A2.0020.0002.0CEF][.0000.0172.0002.0CEF] # KANNADA DIGIT NINE
-0D6F ; [.15A2.0020.0002.0D6F][.0000.0173.0002.0D6F] # MALAYALAM DIGIT NINE
-ABF9 ; [.15A2.0020.0002.ABF9][.0000.0174.0002.ABF9] # MEETEI MAYEK DIGIT NINE
-A8D9 ; [.15A2.0020.0002.A8D9][.0000.0175.0002.A8D9] # SAURASHTRA DIGIT NINE
-194F ; [.15A2.0020.0002.194F][.0000.0176.0002.194F] # LIMBU DIGIT NINE
-19D9 ; [.15A2.0020.0002.19D9][.0000.0177.0002.19D9] # NEW TAI LUE DIGIT NINE
-1A89 ; [.15A2.0020.0002.1A89][.0000.0178.0002.1A89] # TAI THAM HORA DIGIT NINE
-1A99 ; [.15A2.0020.0002.1A99][.0000.0179.0002.1A99] # TAI THAM THAM DIGIT NINE
-0E59 ; [.15A2.0020.0002.0E59][.0000.017A.0002.0E59] # THAI DIGIT NINE
-0ED9 ; [.15A2.0020.0002.0ED9][.0000.017B.0002.0ED9] # LAO DIGIT NINE
-0F29 ; [.15A2.0020.0002.0F29][.0000.017C.0002.0F29] # TIBETAN DIGIT NINE
-0F32 ; [.15A2.0020.0004.0F32][.0000.017C.0004.0F32] # TIBETAN DIGIT HALF NINE; QQK
-1C49 ; [.15A2.0020.0002.1C49][.0000.017D.0002.1C49] # LEPCHA DIGIT NINE
-A909 ; [.15A2.0020.0002.A909][.0000.017E.0002.A909] # KAYAH LI DIGIT NINE
-1049 ; [.15A2.0020.0002.1049][.0000.017F.0002.1049] # MYANMAR DIGIT NINE
-1099 ; [.15A2.0020.0002.1099][.0000.0180.0002.1099] # MYANMAR SHAN DIGIT NINE
-17E9 ; [.15A2.0020.0002.17E9][.0000.0181.0002.17E9] # KHMER DIGIT NINE
-17F9 ; [.15A2.0020.0002.17F9][.0000.0182.0002.17F9] # KHMER SYMBOL LEK ATTAK PRAM-BUON
-AA59 ; [.15A2.0020.0002.AA59][.0000.0183.0002.AA59] # CHAM DIGIT NINE
-1B59 ; [.15A2.0020.0002.1B59][.0000.0184.0002.1B59] # BALINESE DIGIT NINE
-A9D9 ; [.15A2.0020.0002.A9D9][.0000.0185.0002.A9D9] # JAVANESE DIGIT NINE
-1BB9 ; [.15A2.0020.0002.1BB9][.0000.0186.0002.1BB9] # SUNDANESE DIGIT NINE
-1819 ; [.15A2.0020.0002.1819][.0000.0187.0002.1819] # MONGOLIAN DIGIT NINE
-1C59 ; [.15A2.0020.0002.1C59][.0000.0188.0002.1C59] # OL CHIKI DIGIT NINE
-A629 ; [.15A2.0020.0002.A629][.0000.0189.0002.A629] # VAI DIGIT NINE
-3029 ; [.15A2.0020.0002.3029][.0000.018A.0002.3029] # HANGZHOU NUMERAL NINE
-1010F ; [.15A2.0020.0002.1010F][.0000.018B.0002.1010F] # AEGEAN NUMBER NINE
-12407 ; [.15A2.0020.0002.12407][.0000.0190.0002.12407] # CUNEIFORM NUMERIC SIGN NINE ASH
-1240E ; [.15A2.0020.0002.1240E][.0000.0190.0002.1240E] # CUNEIFORM NUMERIC SIGN NINE DISH
-12414 ; [.15A2.0020.0002.12414][.0000.0190.0002.12414] # CUNEIFORM NUMERIC SIGN NINE U
-1241D ; [.15A2.0020.0002.1241D][.0000.0190.0002.1241D] # CUNEIFORM NUMERIC SIGN NINE GESH2
-1242B ; [.15A2.0020.0002.1242B][.0000.0190.0002.1242B] # CUNEIFORM NUMERIC SIGN NINE SHAR2
-12446 ; [.15A2.0020.0002.12446][.0000.0190.0002.12446] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU
-12447 ; [.15A2.0020.0002.12447][.0000.0190.0002.12447] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU3
-12448 ; [.15A2.0020.0002.12448][.0000.0190.0002.12448] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU4
-12449 ; [.15A2.0020.0002.12449][.0000.0190.0002.12449] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A
-1106F ; [.15A2.0020.0002.1106F][.0000.0196.0002.1106F] # BRAHMI DIGIT NINE
-1105A ; [.15A2.0020.0002.1105A][.0000.0197.0002.1105A] # BRAHMI NUMBER NINE
-1D368 ; [.15A2.0020.0002.1D368][.0000.0199.0002.1D368] # COUNTING ROD UNIT DIGIT NINE
-33E8 ; [.15A2.0020.0004.33E8][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE; QQKN
-32C8 ; [.15A2.0020.0004.32C8][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER; QQKN
-3361 ; [.15A2.0020.0004.3361][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE; QQKN
-0061 ; [.15A3.0020.0002.0061] # LATIN SMALL LETTER A
-FF41 ; [.15A3.0020.0003.FF41] # FULLWIDTH LATIN SMALL LETTER A; QQK
-0363 ; [.15A3.0020.0004.0363] # COMBINING LATIN SMALL LETTER A; QQK
-249C ; [*030E.0020.0004.249C][.15A3.0020.0004.249C][*030F.0020.001F.249C] # PARENTHESIZED LATIN SMALL LETTER A; QQKN
-1D41A ; [.15A3.0020.0005.1D41A] # MATHEMATICAL BOLD SMALL A; QQK
-1D44E ; [.15A3.0020.0005.1D44E] # MATHEMATICAL ITALIC SMALL A; QQK
-1D482 ; [.15A3.0020.0005.1D482] # MATHEMATICAL BOLD ITALIC SMALL A; QQK
-1D4B6 ; [.15A3.0020.0005.1D4B6] # MATHEMATICAL SCRIPT SMALL A; QQK
-1D4EA ; [.15A3.0020.0005.1D4EA] # MATHEMATICAL BOLD SCRIPT SMALL A; QQK
-1D51E ; [.15A3.0020.0005.1D51E] # MATHEMATICAL FRAKTUR SMALL A; QQK
-1D552 ; [.15A3.0020.0005.1D552] # MATHEMATICAL DOUBLE-STRUCK SMALL A; QQK
-1D586 ; [.15A3.0020.0005.1D586] # MATHEMATICAL BOLD FRAKTUR SMALL A; QQK
-1D5BA ; [.15A3.0020.0005.1D5BA] # MATHEMATICAL SANS-SERIF SMALL A; QQK
-1D5EE ; [.15A3.0020.0005.1D5EE] # MATHEMATICAL SANS-SERIF BOLD SMALL A; QQK
-1D622 ; [.15A3.0020.0005.1D622] # MATHEMATICAL SANS-SERIF ITALIC SMALL A; QQK
-1D656 ; [.15A3.0020.0005.1D656] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A; QQK
-1D68A ; [.15A3.0020.0005.1D68A] # MATHEMATICAL MONOSPACE SMALL A; QQK
-24D0 ; [.15A3.0020.0006.24D0] # CIRCLED LATIN SMALL LETTER A; QQK
-0041 ; [.15A3.0020.0008.0041] # LATIN CAPITAL LETTER A
-FF21 ; [.15A3.0020.0009.FF21] # FULLWIDTH LATIN CAPITAL LETTER A; QQK
-1F110 ; [*030E.0020.0004.1F110][.15A3.0020.000A.1F110][*030F.0020.001F.1F110] # PARENTHESIZED LATIN CAPITAL LETTER A; QQKN
-1F1E6 ; [.15A3.0020.000A.1F1E6] # REGIONAL INDICATOR SYMBOL LETTER A; QQK
-1D400 ; [.15A3.0020.000B.1D400] # MATHEMATICAL BOLD CAPITAL A; QQK
-1D434 ; [.15A3.0020.000B.1D434] # MATHEMATICAL ITALIC CAPITAL A; QQK
-1D468 ; [.15A3.0020.000B.1D468] # MATHEMATICAL BOLD ITALIC CAPITAL A; QQK
-1D49C ; [.15A3.0020.000B.1D49C] # MATHEMATICAL SCRIPT CAPITAL A; QQK
-1D4D0 ; [.15A3.0020.000B.1D4D0] # MATHEMATICAL BOLD SCRIPT CAPITAL A; QQK
-1D504 ; [.15A3.0020.000B.1D504] # MATHEMATICAL FRAKTUR CAPITAL A; QQK
-1D538 ; [.15A3.0020.000B.1D538] # MATHEMATICAL DOUBLE-STRUCK CAPITAL A; QQK
-1D56C ; [.15A3.0020.000B.1D56C] # MATHEMATICAL BOLD FRAKTUR CAPITAL A; QQK
-1D5A0 ; [.15A3.0020.000B.1D5A0] # MATHEMATICAL SANS-SERIF CAPITAL A; QQK
-1D5D4 ; [.15A3.0020.000B.1D5D4] # MATHEMATICAL SANS-SERIF BOLD CAPITAL A; QQK
-1D608 ; [.15A3.0020.000B.1D608] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL A; QQK
-1D63C ; [.15A3.0020.000B.1D63C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A; QQK
-1D670 ; [.15A3.0020.000B.1D670] # MATHEMATICAL MONOSPACE CAPITAL A; QQK
-24B6 ; [.15A3.0020.000C.24B6] # CIRCLED LATIN CAPITAL LETTER A; QQK
-1F150 ; [.15A3.0020.000C.1F150] # NEGATIVE CIRCLED LATIN CAPITAL LETTER A; QQK
-00AA ; [.15A3.0020.0014.00AA] # FEMININE ORDINAL INDICATOR; QQK
-1D43 ; [.15A3.0020.0014.1D43] # MODIFIER LETTER SMALL A; QQK
-2090 ; [.15A3.0020.0015.2090] # LATIN SUBSCRIPT SMALL LETTER A; QQK
-1D2C ; [.15A3.0020.001D.1D2C] # MODIFIER LETTER CAPITAL A; QQK
-1F130 ; [.15A3.0020.001D.1F130] # SQUARED LATIN CAPITAL LETTER A; QQK
-1F170 ; [.15A3.0020.001D.1F170] # NEGATIVE SQUARED LATIN CAPITAL LETTER A; QQK
-00E1 ; [.15A3.0020.0002.0061][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH ACUTE; QQCM
-00C1 ; [.15A3.0020.0008.0041][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH ACUTE; QQCM
-00E0 ; [.15A3.0020.0002.0061][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH GRAVE; QQCM
-00C0 ; [.15A3.0020.0008.0041][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH GRAVE; QQCM
-0103 ; [.15A3.0020.0002.0061][.0000.0037.0002.0306] # LATIN SMALL LETTER A WITH BREVE; QQCM
-0102 ; [.15A3.0020.0008.0041][.0000.0037.0002.0306] # LATIN CAPITAL LETTER A WITH BREVE; QQCM
-1EAF ; [.15A3.0020.0002.0061][.0000.0037.0002.0306][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH BREVE AND ACUTE; QQCM
-1EAE ; [.15A3.0020.0008.0041][.0000.0037.0002.0306][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE; QQCM
-1EB1 ; [.15A3.0020.0002.0061][.0000.0037.0002.0306][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH BREVE AND GRAVE; QQCM
-1EB0 ; [.15A3.0020.0008.0041][.0000.0037.0002.0306][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE; QQCM
-1EB5 ; [.15A3.0020.0002.0061][.0000.0037.0002.0306][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH BREVE AND TILDE; QQCM
-1EB4 ; [.15A3.0020.0008.0041][.0000.0037.0002.0306][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE; QQCM
-1EB3 ; [.15A3.0020.0002.0061][.0000.0037.0002.0306][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE; QQCM
-1EB2 ; [.15A3.0020.0008.0041][.0000.0037.0002.0306][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE; QQCM
-00E2 ; [.15A3.0020.0002.0061][.0000.003C.0002.0302] # LATIN SMALL LETTER A WITH CIRCUMFLEX; QQCM
-00C2 ; [.15A3.0020.0008.0041][.0000.003C.0002.0302] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX; QQCM
-1EA5 ; [.15A3.0020.0002.0061][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE; QQCM
-1EA4 ; [.15A3.0020.0008.0041][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE; QQCM
-1EA7 ; [.15A3.0020.0002.0061][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE; QQCM
-1EA6 ; [.15A3.0020.0008.0041][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE; QQCM
-1EAB ; [.15A3.0020.0002.0061][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE; QQCM
-1EAA ; [.15A3.0020.0008.0041][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE; QQCM
-1EA9 ; [.15A3.0020.0002.0061][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
-1EA8 ; [.15A3.0020.0008.0041][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
-01CE ; [.15A3.0020.0002.0061][.0000.0041.0002.030C] # LATIN SMALL LETTER A WITH CARON; QQCM
-01CD ; [.15A3.0020.0008.0041][.0000.0041.0002.030C] # LATIN CAPITAL LETTER A WITH CARON; QQCM
-00E5 ; [.15A3.0020.0002.0061][.0000.0043.0002.030A] # LATIN SMALL LETTER A WITH RING ABOVE; QQCM
-00C5 ; [.15A3.0020.0008.0041][.0000.0043.0002.030A] # LATIN CAPITAL LETTER A WITH RING ABOVE; QQCM
-212B ; [.15A3.0020.0008.0041][.0000.0043.0002.030A] # ANGSTROM SIGN; QQCM
-01FB ; [.15A3.0020.0002.0061][.0000.0043.0002.030A][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE; QQCM
-01FA ; [.15A3.0020.0008.0041][.0000.0043.0002.030A][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE; QQCM
-00E4 ; [.15A3.0020.0002.0061][.0000.0047.0002.0308] # LATIN SMALL LETTER A WITH DIAERESIS; QQCM
-00C4 ; [.15A3.0020.0008.0041][.0000.0047.0002.0308] # LATIN CAPITAL LETTER A WITH DIAERESIS; QQCM
-01DF ; [.15A3.0020.0002.0061][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON; QQCM
-01DE ; [.15A3.0020.0008.0041][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON; QQCM
-00E3 ; [.15A3.0020.0002.0061][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH TILDE; QQCM
-00C3 ; [.15A3.0020.0008.0041][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH TILDE; QQCM
-0227 ; [.15A3.0020.0002.0061][.0000.0052.0002.0307] # LATIN SMALL LETTER A WITH DOT ABOVE; QQCM
-0226 ; [.15A3.0020.0008.0041][.0000.0052.0002.0307] # LATIN CAPITAL LETTER A WITH DOT ABOVE; QQCM
-01E1 ; [.15A3.0020.0002.0061][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON; QQCM
-01E0 ; [.15A3.0020.0008.0041][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON; QQCM
-0105 ; [.15A3.0020.0002.0061][.0000.0059.0002.0328] # LATIN SMALL LETTER A WITH OGONEK; QQCM
-0104 ; [.15A3.0020.0008.0041][.0000.0059.0002.0328] # LATIN CAPITAL LETTER A WITH OGONEK; QQCM
-0101 ; [.15A3.0020.0002.0061][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH MACRON; QQCM
-0100 ; [.15A3.0020.0008.0041][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH MACRON; QQCM
-1EA3 ; [.15A3.0020.0002.0061][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH HOOK ABOVE; QQCM
-1EA2 ; [.15A3.0020.0008.0041][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH HOOK ABOVE; QQCM
-0201 ; [.15A3.0020.0002.0061][.0000.0065.0002.030F] # LATIN SMALL LETTER A WITH DOUBLE GRAVE; QQCM
-0200 ; [.15A3.0020.0008.0041][.0000.0065.0002.030F] # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE; QQCM
-0203 ; [.15A3.0020.0002.0061][.0000.0067.0002.0311] # LATIN SMALL LETTER A WITH INVERTED BREVE; QQCM
-0202 ; [.15A3.0020.0008.0041][.0000.0067.0002.0311] # LATIN CAPITAL LETTER A WITH INVERTED BREVE; QQCM
-1EA1 ; [.15A3.0020.0002.0061][.0000.0070.0002.0323] # LATIN SMALL LETTER A WITH DOT BELOW; QQCM
-1EA0 ; [.15A3.0020.0008.0041][.0000.0070.0002.0323] # LATIN CAPITAL LETTER A WITH DOT BELOW; QQCM
-1EB7 ; [.15A3.0020.0002.0061][.0000.0070.0002.0323][.0000.0037.0002.0306] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW; QQCM
-1EB6 ; [.15A3.0020.0008.0041][.0000.0070.0002.0323][.0000.0037.0002.0306] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW; QQCM
-1EAD ; [.15A3.0020.0002.0061][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW; QQCM
-1EAC ; [.15A3.0020.0008.0041][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW; QQCM
-1E01 ; [.15A3.0020.0002.0061][.0000.0076.0002.0325] # LATIN SMALL LETTER A WITH RING BELOW; QQCM
-1E00 ; [.15A3.0020.0008.0041][.0000.0076.0002.0325] # LATIN CAPITAL LETTER A WITH RING BELOW; QQCM
-1DD3 ; [.15A3.0020.0004.1DD3][.0000.015F.0004.1DD3] # COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE; QQKN
-A733 ; [.15A3.0020.0004.A733][.15A3.0020.0004.A733] # LATIN SMALL LETTER AA; QQKN
-A732 ; [.15A3.0020.000A.A732][.15A3.0020.000A.A732] # LATIN CAPITAL LETTER AA; QQKN
-1F18E ; [.15A3.0020.001D.1F18E][.15B9.0020.001D.1F18E] # NEGATIVE SQUARED AB; QQKN
-2100 ; [.15A3.0020.0004.2100][*036B.0020.0004.2100][.15D1.0020.001F.2100] # ACCOUNT OF; QQKN
-00E6 ; [.15A3.0020.0004.00E6][.0000.015F.0004.00E6][.15FF.0020.001F.00E6] # LATIN SMALL LETTER AE; QQKN
-1DD4 ; [.15A3.0020.0004.1DD4][.0000.015F.0004.1DD4][.15FF.0020.001F.1DD4] # COMBINING LATIN SMALL LETTER AE; QQKN
-00C6 ; [.15A3.0020.000A.00C6][.0000.015F.0004.00C6][.15FF.0020.001F.00C6] # LATIN CAPITAL LETTER AE; QQKN
-1D2D ; [.15A3.0020.0014.1D2D][.0000.015F.0014.1D2D][.15FF.0020.001F.1D2D] # MODIFIER LETTER CAPITAL AE; QQKN
-01FD ; [.15A3.0020.0004.01FD][.0000.015F.0004.01FD][.15FF.0020.001F.01FD][.0000.0032.0002.01FD] # LATIN SMALL LETTER AE WITH ACUTE; QQKN
-01FC ; [.15A3.0020.000A.01FC][.0000.015F.0004.01FC][.15FF.0020.001F.01FC][.0000.0032.0002.01FC] # LATIN CAPITAL LETTER AE WITH ACUTE; QQKN
-01E3 ; [.15A3.0020.0004.01E3][.0000.015F.0004.01E3][.15FF.0020.001F.01E3][.0000.005B.0002.01E3] # LATIN SMALL LETTER AE WITH MACRON; QQKN
-01E2 ; [.15A3.0020.000A.01E2][.0000.015F.0004.01E2][.15FF.0020.001F.01E2][.0000.005B.0002.01E2] # LATIN CAPITAL LETTER AE WITH MACRON; QQKN
-33C2 ; [.15A3.0020.001C.33C2][*028E.0020.001C.33C2][.16F4.0020.001F.33C2][*028E.0020.001F.33C2] # SQUARE AM; QQKN
-33DF ; [.15A3.0020.001D.33DF][*0579.0020.001C.33DF][.16F4.0020.001F.33DF] # SQUARE A OVER M; QQKN
-1DD5 ; [.15A3.0020.0004.1DD5][.1724.0020.0004.1DD5] # COMBINING LATIN SMALL LETTER AO; QQKN
-A735 ; [.15A3.0020.0004.A735][.1724.0020.0004.A735] # LATIN SMALL LETTER AO; QQKN
-A734 ; [.15A3.0020.000A.A734][.1724.0020.000A.A734] # LATIN CAPITAL LETTER AO; QQKN
-2101 ; [.15A3.0020.0004.2101][*036B.0020.0004.2101][.17A6.0020.001F.2101] # ADDRESSED TO THE SUBJECT; QQKN
-A737 ; [.15A3.0020.0004.A737][.17E9.0020.0004.A737] # LATIN SMALL LETTER AU; QQKN
-A736 ; [.15A3.0020.000A.A736][.17E9.0020.000A.A736] # LATIN CAPITAL LETTER AU; QQKN
-3373 ; [.15A3.0020.001D.3373][.17E9.0020.001D.3373] # SQUARE AU; QQKN
-1DD6 ; [.15A3.0020.0004.1DD6][.1812.0020.0004.1DD6] # COMBINING LATIN SMALL LETTER AV; QQKN
-A739 ; [.15A3.0020.0004.A739][.1812.0020.0004.A739] # LATIN SMALL LETTER AV; QQKN
-A738 ; [.15A3.0020.000A.A738][.1812.0020.000A.A738] # LATIN CAPITAL LETTER AV; QQKN
-A73B ; [.15A3.0020.0004.A73B][.0000.015F.0004.A73B][.1812.0020.001F.A73B] # LATIN SMALL LETTER AV WITH HORIZONTAL BAR; QQKN
-A73A ; [.15A3.0020.000A.A73A][.0000.015F.0004.A73A][.1812.0020.001F.A73A] # LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR; QQKN
-A73D ; [.15A3.0020.0004.A73D][.1833.0020.0004.A73D] # LATIN SMALL LETTER AY; QQKN
-A73C ; [.15A3.0020.000A.A73C][.1833.0020.000A.A73C] # LATIN CAPITAL LETTER AY; QQKN
-1E9A ; [.15A3.0020.0004.1E9A][.18A4.0020.0004.1E9A] # LATIN SMALL LETTER A WITH RIGHT HALF RING; QQKN
-1D00 ; [.15A7.0020.0002.1D00] # LATIN LETTER SMALL CAPITAL A
-2C65 ; [.15A8.0020.0002.2C65] # LATIN SMALL LETTER A WITH STROKE
-023A ; [.15A8.0020.0008.023A] # LATIN CAPITAL LETTER A WITH STROKE
-1D8F ; [.15A9.0020.0002.1D8F] # LATIN SMALL LETTER A WITH RETROFLEX HOOK
-1D01 ; [.15AA.0020.0002.1D01] # LATIN LETTER SMALL CAPITAL AE
-1D02 ; [.15AB.0020.0002.1D02] # LATIN SMALL LETTER TURNED AE
-1D46 ; [.15AB.0020.0014.1D46] # MODIFIER LETTER SMALL TURNED AE; QQK
-0250 ; [.15AC.0020.0002.0250] # LATIN SMALL LETTER TURNED A
-2C6F ; [.15AC.0020.0008.2C6F] # LATIN CAPITAL LETTER TURNED A
-1D44 ; [.15AC.0020.0014.1D44] # MODIFIER LETTER SMALL TURNED A; QQK
-0251 ; [.15B0.0020.0002.0251] # LATIN SMALL LETTER ALPHA
-2C6D ; [.15B0.0020.0008.2C6D] # LATIN CAPITAL LETTER ALPHA
-1D45 ; [.15B0.0020.0014.1D45] # MODIFIER LETTER SMALL ALPHA; QQK
-1D90 ; [.15B4.0020.0002.1D90] # LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK
-0252 ; [.15B5.0020.0002.0252] # LATIN SMALL LETTER TURNED ALPHA
-2C70 ; [.15B5.0020.0008.2C70] # LATIN CAPITAL LETTER TURNED ALPHA
-1D9B ; [.15B5.0020.0014.1D9B] # MODIFIER LETTER SMALL TURNED ALPHA; QQK
-0062 ; [.15B9.0020.0002.0062] # LATIN SMALL LETTER B
-FF42 ; [.15B9.0020.0003.FF42] # FULLWIDTH LATIN SMALL LETTER B; QQK
-249D ; [*030E.0020.0004.249D][.15B9.0020.0004.249D][*030F.0020.001F.249D] # PARENTHESIZED LATIN SMALL LETTER B; QQKN
-1D41B ; [.15B9.0020.0005.1D41B] # MATHEMATICAL BOLD SMALL B; QQK
-1D44F ; [.15B9.0020.0005.1D44F] # MATHEMATICAL ITALIC SMALL B; QQK
-1D483 ; [.15B9.0020.0005.1D483] # MATHEMATICAL BOLD ITALIC SMALL B; QQK
-1D4B7 ; [.15B9.0020.0005.1D4B7] # MATHEMATICAL SCRIPT SMALL B; QQK
-1D4EB ; [.15B9.0020.0005.1D4EB] # MATHEMATICAL BOLD SCRIPT SMALL B; QQK
-1D51F ; [.15B9.0020.0005.1D51F] # MATHEMATICAL FRAKTUR SMALL B; QQK
-1D553 ; [.15B9.0020.0005.1D553] # MATHEMATICAL DOUBLE-STRUCK SMALL B; QQK
-1D587 ; [.15B9.0020.0005.1D587] # MATHEMATICAL BOLD FRAKTUR SMALL B; QQK
-1D5BB ; [.15B9.0020.0005.1D5BB] # MATHEMATICAL SANS-SERIF SMALL B; QQK
-1D5EF ; [.15B9.0020.0005.1D5EF] # MATHEMATICAL SANS-SERIF BOLD SMALL B; QQK
-1D623 ; [.15B9.0020.0005.1D623] # MATHEMATICAL SANS-SERIF ITALIC SMALL B; QQK
-1D657 ; [.15B9.0020.0005.1D657] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B; QQK
-1D68B ; [.15B9.0020.0005.1D68B] # MATHEMATICAL MONOSPACE SMALL B; QQK
-24D1 ; [.15B9.0020.0006.24D1] # CIRCLED LATIN SMALL LETTER B; QQK
-0042 ; [.15B9.0020.0008.0042] # LATIN CAPITAL LETTER B
-FF22 ; [.15B9.0020.0009.FF22] # FULLWIDTH LATIN CAPITAL LETTER B; QQK
-1F111 ; [*030E.0020.0004.1F111][.15B9.0020.000A.1F111][*030F.0020.001F.1F111] # PARENTHESIZED LATIN CAPITAL LETTER B; QQKN
-1F1E7 ; [.15B9.0020.000A.1F1E7] # REGIONAL INDICATOR SYMBOL LETTER B; QQK
-212C ; [.15B9.0020.000B.212C] # SCRIPT CAPITAL B; QQK
-1D401 ; [.15B9.0020.000B.1D401] # MATHEMATICAL BOLD CAPITAL B; QQK
-1D435 ; [.15B9.0020.000B.1D435] # MATHEMATICAL ITALIC CAPITAL B; QQK
-1D469 ; [.15B9.0020.000B.1D469] # MATHEMATICAL BOLD ITALIC CAPITAL B; QQK
-1D4D1 ; [.15B9.0020.000B.1D4D1] # MATHEMATICAL BOLD SCRIPT CAPITAL B; QQK
-1D505 ; [.15B9.0020.000B.1D505] # MATHEMATICAL FRAKTUR CAPITAL B; QQK
-1D539 ; [.15B9.0020.000B.1D539] # MATHEMATICAL DOUBLE-STRUCK CAPITAL B; QQK
-1D56D ; [.15B9.0020.000B.1D56D] # MATHEMATICAL BOLD FRAKTUR CAPITAL B; QQK
-1D5A1 ; [.15B9.0020.000B.1D5A1] # MATHEMATICAL SANS-SERIF CAPITAL B; QQK
-1D5D5 ; [.15B9.0020.000B.1D5D5] # MATHEMATICAL SANS-SERIF BOLD CAPITAL B; QQK
-1D609 ; [.15B9.0020.000B.1D609] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL B; QQK
-1D63D ; [.15B9.0020.000B.1D63D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B; QQK
-1D671 ; [.15B9.0020.000B.1D671] # MATHEMATICAL MONOSPACE CAPITAL B; QQK
-24B7 ; [.15B9.0020.000C.24B7] # CIRCLED LATIN CAPITAL LETTER B; QQK
-1F151 ; [.15B9.0020.000C.1F151] # NEGATIVE CIRCLED LATIN CAPITAL LETTER B; QQK
-1D47 ; [.15B9.0020.0014.1D47] # MODIFIER LETTER SMALL B; QQK
-1D2E ; [.15B9.0020.001D.1D2E] # MODIFIER LETTER CAPITAL B; QQK
-1F131 ; [.15B9.0020.001D.1F131] # SQUARED LATIN CAPITAL LETTER B; QQK
-1F171 ; [.15B9.0020.001D.1F171] # NEGATIVE SQUARED LATIN CAPITAL LETTER B; QQK
-1E03 ; [.15B9.0020.0002.0062][.0000.0052.0002.0307] # LATIN SMALL LETTER B WITH DOT ABOVE; QQCM
-1E02 ; [.15B9.0020.0008.0042][.0000.0052.0002.0307] # LATIN CAPITAL LETTER B WITH DOT ABOVE; QQCM
-1E05 ; [.15B9.0020.0002.0062][.0000.0070.0002.0323] # LATIN SMALL LETTER B WITH DOT BELOW; QQCM
-1E04 ; [.15B9.0020.0008.0042][.0000.0070.0002.0323] # LATIN CAPITAL LETTER B WITH DOT BELOW; QQCM
-1E07 ; [.15B9.0020.0002.0062][.0000.007B.0002.0331] # LATIN SMALL LETTER B WITH LINE BELOW; QQCM
-1E06 ; [.15B9.0020.0008.0042][.0000.007B.0002.0331] # LATIN CAPITAL LETTER B WITH LINE BELOW; QQCM
-3374 ; [.15B9.0020.001C.3374][.15A3.0020.001C.3374][.1770.0020.001F.3374] # SQUARE BAR; QQKN
-33C3 ; [.15B9.0020.001D.33C3][.175E.0020.001C.33C3] # SQUARE BQ; QQKN
-0299 ; [.15BD.0020.0002.0299] # LATIN LETTER SMALL CAPITAL B
-0180 ; [.15C1.0020.0002.0180] # LATIN SMALL LETTER B WITH STROKE
-0243 ; [.15C1.0020.0008.0243] # LATIN CAPITAL LETTER B WITH STROKE
-1D2F ; [.15C5.0020.0002.1D2F] # MODIFIER LETTER CAPITAL BARRED B
-1D03 ; [.15C6.0020.0002.1D03] # LATIN LETTER SMALL CAPITAL BARRED B
-1D6C ; [.15C7.0020.0002.1D6C] # LATIN SMALL LETTER B WITH MIDDLE TILDE
-1D80 ; [.15C8.0020.0002.1D80] # LATIN SMALL LETTER B WITH PALATAL HOOK
-0253 ; [.15C9.0020.0002.0253] # LATIN SMALL LETTER B WITH HOOK
-0181 ; [.15C9.0020.0008.0181] # LATIN CAPITAL LETTER B WITH HOOK
-0183 ; [.15CD.0020.0002.0183] # LATIN SMALL LETTER B WITH TOPBAR
-0182 ; [.15CD.0020.0008.0182] # LATIN CAPITAL LETTER B WITH TOPBAR
-0063 ; [.15D1.0020.0002.0063] # LATIN SMALL LETTER C
-FF43 ; [.15D1.0020.0003.FF43] # FULLWIDTH LATIN SMALL LETTER C; QQK
-0368 ; [.15D1.0020.0004.0368] # COMBINING LATIN SMALL LETTER C; QQK
-217D ; [.15D1.0020.0004.217D] # SMALL ROMAN NUMERAL ONE HUNDRED; QQK
-249E ; [*030E.0020.0004.249E][.15D1.0020.0004.249E][*030F.0020.001F.249E] # PARENTHESIZED LATIN SMALL LETTER C; QQKN
-1D41C ; [.15D1.0020.0005.1D41C] # MATHEMATICAL BOLD SMALL C; QQK
-1D450 ; [.15D1.0020.0005.1D450] # MATHEMATICAL ITALIC SMALL C; QQK
-1D484 ; [.15D1.0020.0005.1D484] # MATHEMATICAL BOLD ITALIC SMALL C; QQK
-1D4B8 ; [.15D1.0020.0005.1D4B8] # MATHEMATICAL SCRIPT SMALL C; QQK
-1D4EC ; [.15D1.0020.0005.1D4EC] # MATHEMATICAL BOLD SCRIPT SMALL C; QQK
-1D520 ; [.15D1.0020.0005.1D520] # MATHEMATICAL FRAKTUR SMALL C; QQK
-1D554 ; [.15D1.0020.0005.1D554] # MATHEMATICAL DOUBLE-STRUCK SMALL C; QQK
-1D588 ; [.15D1.0020.0005.1D588] # MATHEMATICAL BOLD FRAKTUR SMALL C; QQK
-1D5BC ; [.15D1.0020.0005.1D5BC] # MATHEMATICAL SANS-SERIF SMALL C; QQK
-1D5F0 ; [.15D1.0020.0005.1D5F0] # MATHEMATICAL SANS-SERIF BOLD SMALL C; QQK
-1D624 ; [.15D1.0020.0005.1D624] # MATHEMATICAL SANS-SERIF ITALIC SMALL C; QQK
-1D658 ; [.15D1.0020.0005.1D658] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C; QQK
-1D68C ; [.15D1.0020.0005.1D68C] # MATHEMATICAL MONOSPACE SMALL C; QQK
-24D2 ; [.15D1.0020.0006.24D2] # CIRCLED LATIN SMALL LETTER C; QQK
-0043 ; [.15D1.0020.0008.0043] # LATIN CAPITAL LETTER C
-FF23 ; [.15D1.0020.0009.FF23] # FULLWIDTH LATIN CAPITAL LETTER C; QQK
-2103 ; [*0466.0020.0004.2103][.15D1.0020.000A.2103] # DEGREE CELSIUS; QQKN
-216D ; [.15D1.0020.000A.216D] # ROMAN NUMERAL ONE HUNDRED; QQK
-1F112 ; [*030E.0020.0004.1F112][.15D1.0020.000A.1F112][*030F.0020.001F.1F112] # PARENTHESIZED LATIN CAPITAL LETTER C; QQKN
-1F1E8 ; [.15D1.0020.000A.1F1E8] # REGIONAL INDICATOR SYMBOL LETTER C; QQK
-2102 ; [.15D1.0020.000B.2102] # DOUBLE-STRUCK CAPITAL C; QQK
-212D ; [.15D1.0020.000B.212D] # BLACK-LETTER CAPITAL C; QQK
-1D402 ; [.15D1.0020.000B.1D402] # MATHEMATICAL BOLD CAPITAL C; QQK
-1D436 ; [.15D1.0020.000B.1D436] # MATHEMATICAL ITALIC CAPITAL C; QQK
-1D46A ; [.15D1.0020.000B.1D46A] # MATHEMATICAL BOLD ITALIC CAPITAL C; QQK
-1D49E ; [.15D1.0020.000B.1D49E] # MATHEMATICAL SCRIPT CAPITAL C; QQK
-1D4D2 ; [.15D1.0020.000B.1D4D2] # MATHEMATICAL BOLD SCRIPT CAPITAL C; QQK
-1D56E ; [.15D1.0020.000B.1D56E] # MATHEMATICAL BOLD FRAKTUR CAPITAL C; QQK
-1D5A2 ; [.15D1.0020.000B.1D5A2] # MATHEMATICAL SANS-SERIF CAPITAL C; QQK
-1D5D6 ; [.15D1.0020.000B.1D5D6] # MATHEMATICAL SANS-SERIF BOLD CAPITAL C; QQK
-1D60A ; [.15D1.0020.000B.1D60A] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL C; QQK
-1D63E ; [.15D1.0020.000B.1D63E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C; QQK
-1D672 ; [.15D1.0020.000B.1D672] # MATHEMATICAL MONOSPACE CAPITAL C; QQK
-24B8 ; [.15D1.0020.000C.24B8] # CIRCLED LATIN CAPITAL LETTER C; QQK
-1F12B ; [.15D1.0020.000C.1F12B] # CIRCLED ITALIC LATIN CAPITAL LETTER C; QQK
-1F152 ; [.15D1.0020.000C.1F152] # NEGATIVE CIRCLED LATIN CAPITAL LETTER C; QQK
-1D9C ; [.15D1.0020.0014.1D9C] # MODIFIER LETTER SMALL C; QQK
-1F132 ; [.15D1.0020.001D.1F132] # SQUARED LATIN CAPITAL LETTER C; QQK
-1F172 ; [.15D1.0020.001D.1F172] # NEGATIVE SQUARED LATIN CAPITAL LETTER C; QQK
-0107 ; [.15D1.0020.0002.0063][.0000.0032.0002.0301] # LATIN SMALL LETTER C WITH ACUTE; QQCM
-0106 ; [.15D1.0020.0008.0043][.0000.0032.0002.0301] # LATIN CAPITAL LETTER C WITH ACUTE; QQCM
-0109 ; [.15D1.0020.0002.0063][.0000.003C.0002.0302] # LATIN SMALL LETTER C WITH CIRCUMFLEX; QQCM
-0108 ; [.15D1.0020.0008.0043][.0000.003C.0002.0302] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX; QQCM
-010D ; [.15D1.0020.0002.0063][.0000.0041.0002.030C] # LATIN SMALL LETTER C WITH CARON; QQCM
-010C ; [.15D1.0020.0008.0043][.0000.0041.0002.030C] # LATIN CAPITAL LETTER C WITH CARON; QQCM
-010B ; [.15D1.0020.0002.0063][.0000.0052.0002.0307] # LATIN SMALL LETTER C WITH DOT ABOVE; QQCM
-010A ; [.15D1.0020.0008.0043][.0000.0052.0002.0307] # LATIN CAPITAL LETTER C WITH DOT ABOVE; QQCM
-00E7 ; [.15D1.0020.0002.0063][.0000.0056.0002.0327] # LATIN SMALL LETTER C WITH CEDILLA; QQCM
-1DD7 ; [.15D1.0020.0004.1DD7][.0000.0056.0004.1DD7] # COMBINING LATIN SMALL LETTER C CEDILLA; QQKN
-00C7 ; [.15D1.0020.0008.0043][.0000.0056.0002.0327] # LATIN CAPITAL LETTER C WITH CEDILLA; QQCM
-1E09 ; [.15D1.0020.0002.0063][.0000.0056.0002.0327][.0000.0032.0002.0301] # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE; QQCM
-1E08 ; [.15D1.0020.0008.0043][.0000.0056.0002.0327][.0000.0032.0002.0301] # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE; QQCM
-3388 ; [.15D1.0020.001C.3388][.15A3.0020.001C.3388][.16C4.0020.001F.3388] # SQUARE CAL; QQKN
-33C4 ; [.15D1.0020.001C.33C4][.15D1.0020.001C.33C4] # SQUARE CC; QQKN
-1F12D ; [.15D1.0020.000C.1F12D][.15E4.0020.000C.1F12D] # CIRCLED CD; QQKN
-33C5 ; [.15D1.0020.001C.33C5][.15E4.0020.001C.33C5] # SQUARE CD; QQKN
-33C6 ; [.15D1.0020.001D.33C6][*0579.0020.001C.33C6][.16B2.0020.001F.33C6][.1644.0020.001F.33C6] # SQUARE C OVER KG; QQKN
-1F191 ; [.15D1.0020.001D.1F191][.16C4.0020.001D.1F191] # SQUARED CL; QQKN
-339D ; [.15D1.0020.001C.339D][.16F4.0020.001C.339D] # SQUARE CM; QQKN
-33A0 ; [.15D1.0020.001C.33A0][.16F4.0020.001C.33A0][.159B.0020.001F.33A0] # SQUARE CM SQUARED; QQKN
-33A4 ; [.15D1.0020.001C.33A4][.16F4.0020.001C.33A4][.159C.0020.001F.33A4] # SQUARE CM CUBED; QQKN
-2105 ; [.15D1.0020.0004.2105][*036B.0020.0004.2105][.1724.0020.001F.2105] # CARE OF; QQKN
-33C7 ; [.15D1.0020.001D.33C7][.1724.0020.001C.33C7][*028E.0020.001F.33C7] # SQUARE CO; QQKN
-1F192 ; [.15D1.0020.001D.1F192][.1724.0020.001D.1F192][.1724.0020.001F.1F192][.16C4.0020.001F.1F192] # SQUARED COOL; QQKN
-2106 ; [.15D1.0020.0004.2106][*036B.0020.0004.2106][.17E9.0020.001F.2106] # CADA UNA; QQKN
-1D04 ; [.15D5.0020.0002.1D04] # LATIN LETTER SMALL CAPITAL C
-023C ; [.15D6.0020.0002.023C] # LATIN SMALL LETTER C WITH STROKE
-023B ; [.15D6.0020.0008.023B] # LATIN CAPITAL LETTER C WITH STROKE
-0188 ; [.15DA.0020.0002.0188] # LATIN SMALL LETTER C WITH HOOK
-0187 ; [.15DA.0020.0008.0187] # LATIN CAPITAL LETTER C WITH HOOK
-0255 ; [.15DE.0020.0002.0255] # LATIN SMALL LETTER C WITH CURL
-1D9D ; [.15DE.0020.0014.1D9D] # MODIFIER LETTER SMALL C WITH CURL; QQK
-2184 ; [.15E2.0020.0002.2184] # LATIN SMALL LETTER REVERSED C
-2183 ; [.15E2.0020.0008.2183] # ROMAN NUMERAL REVERSED ONE HUNDRED
-A73F ; [.15E3.0020.0002.A73F] # LATIN SMALL LETTER REVERSED C WITH DOT
-A73E ; [.15E3.0020.0008.A73E] # LATIN CAPITAL LETTER REVERSED C WITH DOT
-0064 ; [.15E4.0020.0002.0064] # LATIN SMALL LETTER D
-FF44 ; [.15E4.0020.0003.FF44] # FULLWIDTH LATIN SMALL LETTER D; QQK
-0369 ; [.15E4.0020.0004.0369] # COMBINING LATIN SMALL LETTER D; QQK
-217E ; [.15E4.0020.0004.217E] # SMALL ROMAN NUMERAL FIVE HUNDRED; QQK
-249F ; [*030E.0020.0004.249F][.15E4.0020.0004.249F][*030F.0020.001F.249F] # PARENTHESIZED LATIN SMALL LETTER D; QQKN
-2146 ; [.15E4.0020.0005.2146] # DOUBLE-STRUCK ITALIC SMALL D; QQK
-1D41D ; [.15E4.0020.0005.1D41D] # MATHEMATICAL BOLD SMALL D; QQK
-1D451 ; [.15E4.0020.0005.1D451] # MATHEMATICAL ITALIC SMALL D; QQK
-1D485 ; [.15E4.0020.0005.1D485] # MATHEMATICAL BOLD ITALIC SMALL D; QQK
-1D4B9 ; [.15E4.0020.0005.1D4B9] # MATHEMATICAL SCRIPT SMALL D; QQK
-1D4ED ; [.15E4.0020.0005.1D4ED] # MATHEMATICAL BOLD SCRIPT SMALL D; QQK
-1D521 ; [.15E4.0020.0005.1D521] # MATHEMATICAL FRAKTUR SMALL D; QQK
-1D555 ; [.15E4.0020.0005.1D555] # MATHEMATICAL DOUBLE-STRUCK SMALL D; QQK
-1D589 ; [.15E4.0020.0005.1D589] # MATHEMATICAL BOLD FRAKTUR SMALL D; QQK
-1D5BD ; [.15E4.0020.0005.1D5BD] # MATHEMATICAL SANS-SERIF SMALL D; QQK
-1D5F1 ; [.15E4.0020.0005.1D5F1] # MATHEMATICAL SANS-SERIF BOLD SMALL D; QQK
-1D625 ; [.15E4.0020.0005.1D625] # MATHEMATICAL SANS-SERIF ITALIC SMALL D; QQK
-1D659 ; [.15E4.0020.0005.1D659] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D; QQK
-1D68D ; [.15E4.0020.0005.1D68D] # MATHEMATICAL MONOSPACE SMALL D; QQK
-24D3 ; [.15E4.0020.0006.24D3] # CIRCLED LATIN SMALL LETTER D; QQK
-0044 ; [.15E4.0020.0008.0044] # LATIN CAPITAL LETTER D
-FF24 ; [.15E4.0020.0009.FF24] # FULLWIDTH LATIN CAPITAL LETTER D; QQK
-216E ; [.15E4.0020.000A.216E] # ROMAN NUMERAL FIVE HUNDRED; QQK
-1F113 ; [*030E.0020.0004.1F113][.15E4.0020.000A.1F113][*030F.0020.001F.1F113] # PARENTHESIZED LATIN CAPITAL LETTER D; QQKN
-1F1E9 ; [.15E4.0020.000A.1F1E9] # REGIONAL INDICATOR SYMBOL LETTER D; QQK
-2145 ; [.15E4.0020.000B.2145] # DOUBLE-STRUCK ITALIC CAPITAL D; QQK
-1D403 ; [.15E4.0020.000B.1D403] # MATHEMATICAL BOLD CAPITAL D; QQK
-1D437 ; [.15E4.0020.000B.1D437] # MATHEMATICAL ITALIC CAPITAL D; QQK
-1D46B ; [.15E4.0020.000B.1D46B] # MATHEMATICAL BOLD ITALIC CAPITAL D; QQK
-1D49F ; [.15E4.0020.000B.1D49F] # MATHEMATICAL SCRIPT CAPITAL D; QQK
-1D4D3 ; [.15E4.0020.000B.1D4D3] # MATHEMATICAL BOLD SCRIPT CAPITAL D; QQK
-1D507 ; [.15E4.0020.000B.1D507] # MATHEMATICAL FRAKTUR CAPITAL D; QQK
-1D53B ; [.15E4.0020.000B.1D53B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL D; QQK
-1D56F ; [.15E4.0020.000B.1D56F] # MATHEMATICAL BOLD FRAKTUR CAPITAL D; QQK
-1D5A3 ; [.15E4.0020.000B.1D5A3] # MATHEMATICAL SANS-SERIF CAPITAL D; QQK
-1D5D7 ; [.15E4.0020.000B.1D5D7] # MATHEMATICAL SANS-SERIF BOLD CAPITAL D; QQK
-1D60B ; [.15E4.0020.000B.1D60B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL D; QQK
-1D63F ; [.15E4.0020.000B.1D63F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D; QQK
-1D673 ; [.15E4.0020.000B.1D673] # MATHEMATICAL MONOSPACE CAPITAL D; QQK
-24B9 ; [.15E4.0020.000C.24B9] # CIRCLED LATIN CAPITAL LETTER D; QQK
-1F153 ; [.15E4.0020.000C.1F153] # NEGATIVE CIRCLED LATIN CAPITAL LETTER D; QQK
-1D48 ; [.15E4.0020.0014.1D48] # MODIFIER LETTER SMALL D; QQK
-1D30 ; [.15E4.0020.001D.1D30] # MODIFIER LETTER CAPITAL D; QQK
-1F133 ; [.15E4.0020.001D.1F133] # SQUARED LATIN CAPITAL LETTER D; QQK
-1F173 ; [.15E4.0020.001D.1F173] # NEGATIVE SQUARED LATIN CAPITAL LETTER D; QQK
-010F ; [.15E4.0020.0002.0064][.0000.0041.0002.030C] # LATIN SMALL LETTER D WITH CARON; QQCM
-010E ; [.15E4.0020.0008.0044][.0000.0041.0002.030C] # LATIN CAPITAL LETTER D WITH CARON; QQCM
-1E0B ; [.15E4.0020.0002.0064][.0000.0052.0002.0307] # LATIN SMALL LETTER D WITH DOT ABOVE; QQCM
-1E0A ; [.15E4.0020.0008.0044][.0000.0052.0002.0307] # LATIN CAPITAL LETTER D WITH DOT ABOVE; QQCM
-1E11 ; [.15E4.0020.0002.0064][.0000.0056.0002.0327] # LATIN SMALL LETTER D WITH CEDILLA; QQCM
-1E10 ; [.15E4.0020.0008.0044][.0000.0056.0002.0327] # LATIN CAPITAL LETTER D WITH CEDILLA; QQCM
-1E0D ; [.15E4.0020.0002.0064][.0000.0070.0002.0323] # LATIN SMALL LETTER D WITH DOT BELOW; QQCM
-1E0C ; [.15E4.0020.0008.0044][.0000.0070.0002.0323] # LATIN CAPITAL LETTER D WITH DOT BELOW; QQCM
-1E13 ; [.15E4.0020.0002.0064][.0000.0078.0002.032D] # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW; QQCM
-1E12 ; [.15E4.0020.0008.0044][.0000.0078.0002.032D] # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW; QQCM
-1E0F ; [.15E4.0020.0002.0064][.0000.007B.0002.0331] # LATIN SMALL LETTER D WITH LINE BELOW; QQCM
-1E0E ; [.15E4.0020.0008.0044][.0000.007B.0002.0331] # LATIN CAPITAL LETTER D WITH LINE BELOW; QQCM
-0111 ; [.15E4.0020.0002.0064][.0000.007D.0002.0335] # LATIN SMALL LETTER D WITH STROKE; QQCM
-0110 ; [.15E4.0020.0008.0044][.0000.007D.0002.0335] # LATIN CAPITAL LETTER D WITH STROKE; QQCM
-00F0 ; [.15E4.0020.0004.00F0][.0000.015F.0004.00F0] # LATIN SMALL LETTER ETH; QQKN
-1DD9 ; [.15E4.0020.0004.1DD9][.0000.015F.0004.1DD9] # COMBINING LATIN SMALL LETTER ETH; QQKN
-00D0 ; [.15E4.0020.000A.00D0][.0000.015F.0004.00D0] # LATIN CAPITAL LETTER ETH; QQKN
-1D9E ; [.15E4.0020.0014.1D9E][.0000.015F.0014.1D9E] # MODIFIER LETTER SMALL ETH; QQKN
-1DD8 ; [.15E4.0020.0004.1DD8][.0000.0160.0004.1DD8] # COMBINING LATIN SMALL LETTER INSULAR D; QQKN
-A77A ; [.15E4.0020.0004.A77A][.0000.0160.0004.A77A] # LATIN SMALL LETTER INSULAR D; QQKN
-A779 ; [.15E4.0020.000A.A779][.0000.0160.0004.A779] # LATIN CAPITAL LETTER INSULAR D; QQKN
-3372 ; [.15E4.0020.001C.3372][.15A3.0020.001C.3372] # SQUARE DA; QQKN
-0238 ; [.15E4.0020.0004.0238][.15B9.0020.0004.0238] # LATIN SMALL LETTER DB DIGRAPH; QQKN
-33C8 ; [.15E4.0020.001C.33C8][.15B9.0020.001D.33C8] # SQUARE DB; QQKN
-1F190 ; [.15E4.0020.001D.1F190][.1699.0020.001D.1F190] # SQUARE DJ; QQKN
-3397 ; [.15E4.0020.001C.3397][.16C4.0020.001C.3397] # SQUARE DL; QQKN
-3377 ; [.15E4.0020.001C.3377][.16F4.0020.001C.3377] # SQUARE DM; QQKN
-3378 ; [.15E4.0020.001C.3378][.16F4.0020.001C.3378][.159B.0020.001F.3378] # SQUARE DM SQUARED; QQKN
-3379 ; [.15E4.0020.001C.3379][.16F4.0020.001C.3379][.159C.0020.001F.3379] # SQUARE DM CUBED; QQKN
-01F3 ; [.15E4.0020.0004.01F3][.1844.0020.0004.01F3] # LATIN SMALL LETTER DZ; QQKN
-02A3 ; [.15E4.0020.0004.02A3][.1844.0020.0004.02A3] # LATIN SMALL LETTER DZ DIGRAPH; QQKN
-01F2 ; [.15E4.0020.000A.01F2][.1844.0020.0004.01F2] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z; QQKN
-01F1 ; [.15E4.0020.000A.01F1][.1844.0020.000A.01F1] # LATIN CAPITAL LETTER DZ; QQKN
-01C6 ; [.15E4.0020.0004.01C6][.1844.0020.0004.01C6][.0000.0041.001F.01C6] # LATIN SMALL LETTER DZ WITH CARON; QQKN
-01C5 ; [.15E4.0020.000A.01C5][.1844.0020.0004.01C5][.0000.0041.001F.01C5] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON; QQKN
-01C4 ; [.15E4.0020.000A.01C4][.1844.0020.000A.01C4][.0000.0041.001F.01C4] # LATIN CAPITAL LETTER DZ WITH CARON; QQKN
-02A5 ; [.15E4.0020.0004.02A5][.1857.0020.0004.02A5] # LATIN SMALL LETTER DZ DIGRAPH WITH CURL; QQKN
-02A4 ; [.15E4.0020.0004.02A4][.1861.0020.0004.02A4] # LATIN SMALL LETTER DEZH DIGRAPH; QQKN
-1D05 ; [.15E8.0020.0002.1D05] # LATIN LETTER SMALL CAPITAL D
-1D06 ; [.15E9.0020.0002.1D06] # LATIN LETTER SMALL CAPITAL ETH
-1D6D ; [.15EA.0020.0002.1D6D] # LATIN SMALL LETTER D WITH MIDDLE TILDE
-1D81 ; [.15EB.0020.0002.1D81] # LATIN SMALL LETTER D WITH PALATAL HOOK
-0256 ; [.15EC.0020.0002.0256] # LATIN SMALL LETTER D WITH TAIL
-0189 ; [.15EC.0020.0008.0189] # LATIN CAPITAL LETTER AFRICAN D
-0257 ; [.15F0.0020.0002.0257] # LATIN SMALL LETTER D WITH HOOK
-018A ; [.15F0.0020.0008.018A] # LATIN CAPITAL LETTER D WITH HOOK
-1D91 ; [.15F4.0020.0002.1D91] # LATIN SMALL LETTER D WITH HOOK AND TAIL
-018C ; [.15F5.0020.0002.018C] # LATIN SMALL LETTER D WITH TOPBAR
-018B ; [.15F5.0020.0008.018B] # LATIN CAPITAL LETTER D WITH TOPBAR
-0221 ; [.15F9.0020.0002.0221] # LATIN SMALL LETTER D WITH CURL
-A771 ; [.15FD.0020.0002.A771] # LATIN SMALL LETTER DUM
-1E9F ; [.15FE.0020.0002.1E9F] # LATIN SMALL LETTER DELTA
-0065 ; [.15FF.0020.0002.0065] # LATIN SMALL LETTER E
-FF45 ; [.15FF.0020.0003.FF45] # FULLWIDTH LATIN SMALL LETTER E; QQK
-0364 ; [.15FF.0020.0004.0364] # COMBINING LATIN SMALL LETTER E; QQK
-24A0 ; [*030E.0020.0004.24A0][.15FF.0020.0004.24A0][*030F.0020.001F.24A0] # PARENTHESIZED LATIN SMALL LETTER E; QQKN
-212F ; [.15FF.0020.0005.212F] # SCRIPT SMALL E; QQK
-2147 ; [.15FF.0020.0005.2147] # DOUBLE-STRUCK ITALIC SMALL E; QQK
-1D41E ; [.15FF.0020.0005.1D41E] # MATHEMATICAL BOLD SMALL E; QQK
-1D452 ; [.15FF.0020.0005.1D452] # MATHEMATICAL ITALIC SMALL E; QQK
-1D486 ; [.15FF.0020.0005.1D486] # MATHEMATICAL BOLD ITALIC SMALL E; QQK
-1D4EE ; [.15FF.0020.0005.1D4EE] # MATHEMATICAL BOLD SCRIPT SMALL E; QQK
-1D522 ; [.15FF.0020.0005.1D522] # MATHEMATICAL FRAKTUR SMALL E; QQK
-1D556 ; [.15FF.0020.0005.1D556] # MATHEMATICAL DOUBLE-STRUCK SMALL E; QQK
-1D58A ; [.15FF.0020.0005.1D58A] # MATHEMATICAL BOLD FRAKTUR SMALL E; QQK
-1D5BE ; [.15FF.0020.0005.1D5BE] # MATHEMATICAL SANS-SERIF SMALL E; QQK
-1D5F2 ; [.15FF.0020.0005.1D5F2] # MATHEMATICAL SANS-SERIF BOLD SMALL E; QQK
-1D626 ; [.15FF.0020.0005.1D626] # MATHEMATICAL SANS-SERIF ITALIC SMALL E; QQK
-1D65A ; [.15FF.0020.0005.1D65A] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E; QQK
-1D68E ; [.15FF.0020.0005.1D68E] # MATHEMATICAL MONOSPACE SMALL E; QQK
-24D4 ; [.15FF.0020.0006.24D4] # CIRCLED LATIN SMALL LETTER E; QQK
-0045 ; [.15FF.0020.0008.0045] # LATIN CAPITAL LETTER E
-FF25 ; [.15FF.0020.0009.FF25] # FULLWIDTH LATIN CAPITAL LETTER E; QQK
-1F114 ; [*030E.0020.0004.1F114][.15FF.0020.000A.1F114][*030F.0020.001F.1F114] # PARENTHESIZED LATIN CAPITAL LETTER E; QQKN
-1F1EA ; [.15FF.0020.000A.1F1EA] # REGIONAL INDICATOR SYMBOL LETTER E; QQK
-2130 ; [.15FF.0020.000B.2130] # SCRIPT CAPITAL E; QQK
-1D404 ; [.15FF.0020.000B.1D404] # MATHEMATICAL BOLD CAPITAL E; QQK
-1D438 ; [.15FF.0020.000B.1D438] # MATHEMATICAL ITALIC CAPITAL E; QQK
-1D46C ; [.15FF.0020.000B.1D46C] # MATHEMATICAL BOLD ITALIC CAPITAL E; QQK
-1D4D4 ; [.15FF.0020.000B.1D4D4] # MATHEMATICAL BOLD SCRIPT CAPITAL E; QQK
-1D508 ; [.15FF.0020.000B.1D508] # MATHEMATICAL FRAKTUR CAPITAL E; QQK
-1D53C ; [.15FF.0020.000B.1D53C] # MATHEMATICAL DOUBLE-STRUCK CAPITAL E; QQK
-1D570 ; [.15FF.0020.000B.1D570] # MATHEMATICAL BOLD FRAKTUR CAPITAL E; QQK
-1D5A4 ; [.15FF.0020.000B.1D5A4] # MATHEMATICAL SANS-SERIF CAPITAL E; QQK
-1D5D8 ; [.15FF.0020.000B.1D5D8] # MATHEMATICAL SANS-SERIF BOLD CAPITAL E; QQK
-1D60C ; [.15FF.0020.000B.1D60C] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL E; QQK
-1D640 ; [.15FF.0020.000B.1D640] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E; QQK
-1D674 ; [.15FF.0020.000B.1D674] # MATHEMATICAL MONOSPACE CAPITAL E; QQK
-24BA ; [.15FF.0020.000C.24BA] # CIRCLED LATIN CAPITAL LETTER E; QQK
-1F154 ; [.15FF.0020.000C.1F154] # NEGATIVE CIRCLED LATIN CAPITAL LETTER E; QQK
-1D49 ; [.15FF.0020.0014.1D49] # MODIFIER LETTER SMALL E; QQK
-2091 ; [.15FF.0020.0015.2091] # LATIN SUBSCRIPT SMALL LETTER E; QQK
-1D31 ; [.15FF.0020.001D.1D31] # MODIFIER LETTER CAPITAL E; QQK
-1F134 ; [.15FF.0020.001D.1F134] # SQUARED LATIN CAPITAL LETTER E; QQK
-1F174 ; [.15FF.0020.001D.1F174] # NEGATIVE SQUARED LATIN CAPITAL LETTER E; QQK
-00E9 ; [.15FF.0020.0002.0065][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH ACUTE; QQCM
-00C9 ; [.15FF.0020.0008.0045][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH ACUTE; QQCM
-00E8 ; [.15FF.0020.0002.0065][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH GRAVE; QQCM
-00C8 ; [.15FF.0020.0008.0045][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH GRAVE; QQCM
-0115 ; [.15FF.0020.0002.0065][.0000.0037.0002.0306] # LATIN SMALL LETTER E WITH BREVE; QQCM
-0114 ; [.15FF.0020.0008.0045][.0000.0037.0002.0306] # LATIN CAPITAL LETTER E WITH BREVE; QQCM
-00EA ; [.15FF.0020.0002.0065][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX; QQCM
-00CA ; [.15FF.0020.0008.0045][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX; QQCM
-1EBF ; [.15FF.0020.0002.0065][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE; QQCM
-1EBE ; [.15FF.0020.0008.0045][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE; QQCM
-1EC1 ; [.15FF.0020.0002.0065][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE; QQCM
-1EC0 ; [.15FF.0020.0008.0045][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE; QQCM
-1EC5 ; [.15FF.0020.0002.0065][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE; QQCM
-1EC4 ; [.15FF.0020.0008.0045][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE; QQCM
-1EC3 ; [.15FF.0020.0002.0065][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
-1EC2 ; [.15FF.0020.0008.0045][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
-011B ; [.15FF.0020.0002.0065][.0000.0041.0002.030C] # LATIN SMALL LETTER E WITH CARON; QQCM
-011A ; [.15FF.0020.0008.0045][.0000.0041.0002.030C] # LATIN CAPITAL LETTER E WITH CARON; QQCM
-00EB ; [.15FF.0020.0002.0065][.0000.0047.0002.0308] # LATIN SMALL LETTER E WITH DIAERESIS; QQCM
-00CB ; [.15FF.0020.0008.0045][.0000.0047.0002.0308] # LATIN CAPITAL LETTER E WITH DIAERESIS; QQCM
-1EBD ; [.15FF.0020.0002.0065][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH TILDE; QQCM
-1EBC ; [.15FF.0020.0008.0045][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH TILDE; QQCM
-0117 ; [.15FF.0020.0002.0065][.0000.0052.0002.0307] # LATIN SMALL LETTER E WITH DOT ABOVE; QQCM
-0116 ; [.15FF.0020.0008.0045][.0000.0052.0002.0307] # LATIN CAPITAL LETTER E WITH DOT ABOVE; QQCM
-0229 ; [.15FF.0020.0002.0065][.0000.0056.0002.0327] # LATIN SMALL LETTER E WITH CEDILLA; QQCM
-0228 ; [.15FF.0020.0008.0045][.0000.0056.0002.0327] # LATIN CAPITAL LETTER E WITH CEDILLA; QQCM
-1E1D ; [.15FF.0020.0002.0065][.0000.0056.0002.0327][.0000.0037.0002.0306] # LATIN SMALL LETTER E WITH CEDILLA AND BREVE; QQCM
-1E1C ; [.15FF.0020.0008.0045][.0000.0056.0002.0327][.0000.0037.0002.0306] # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE; QQCM
-0119 ; [.15FF.0020.0002.0065][.0000.0059.0002.0328] # LATIN SMALL LETTER E WITH OGONEK; QQCM
-0118 ; [.15FF.0020.0008.0045][.0000.0059.0002.0328] # LATIN CAPITAL LETTER E WITH OGONEK; QQCM
-0113 ; [.15FF.0020.0002.0065][.0000.005B.0002.0304] # LATIN SMALL LETTER E WITH MACRON; QQCM
-0112 ; [.15FF.0020.0008.0045][.0000.005B.0002.0304] # LATIN CAPITAL LETTER E WITH MACRON; QQCM
-1E17 ; [.15FF.0020.0002.0065][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH MACRON AND ACUTE; QQCM
-1E16 ; [.15FF.0020.0008.0045][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE; QQCM
-1E15 ; [.15FF.0020.0002.0065][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH MACRON AND GRAVE; QQCM
-1E14 ; [.15FF.0020.0008.0045][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE; QQCM
-1EBB ; [.15FF.0020.0002.0065][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH HOOK ABOVE; QQCM
-1EBA ; [.15FF.0020.0008.0045][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH HOOK ABOVE; QQCM
-0205 ; [.15FF.0020.0002.0065][.0000.0065.0002.030F] # LATIN SMALL LETTER E WITH DOUBLE GRAVE; QQCM
-0204 ; [.15FF.0020.0008.0045][.0000.0065.0002.030F] # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE; QQCM
-0207 ; [.15FF.0020.0002.0065][.0000.0067.0002.0311] # LATIN SMALL LETTER E WITH INVERTED BREVE; QQCM
-0206 ; [.15FF.0020.0008.0045][.0000.0067.0002.0311] # LATIN CAPITAL LETTER E WITH INVERTED BREVE; QQCM
-1EB9 ; [.15FF.0020.0002.0065][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH DOT BELOW; QQCM
-1EB8 ; [.15FF.0020.0008.0045][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH DOT BELOW; QQCM
-1EC7 ; [.15FF.0020.0002.0065][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW; QQCM
-1EC6 ; [.15FF.0020.0008.0045][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW; QQCM
-1E19 ; [.15FF.0020.0002.0065][.0000.0078.0002.032D] # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW; QQCM
-1E18 ; [.15FF.0020.0008.0045][.0000.0078.0002.032D] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW; QQCM
-1E1B ; [.15FF.0020.0002.0065][.0000.007A.0002.0330] # LATIN SMALL LETTER E WITH TILDE BELOW; QQCM
-1E1A ; [.15FF.0020.0008.0045][.0000.007A.0002.0330] # LATIN CAPITAL LETTER E WITH TILDE BELOW; QQCM
-32CD ; [.15FF.0020.001C.32CD][.1770.0020.001C.32CD][.1644.0020.001F.32CD] # SQUARE ERG; QQKN
-32CE ; [.15FF.0020.001C.32CE][.1812.0020.001D.32CE] # SQUARE EV; QQKN
-1D07 ; [.1603.0020.0002.1D07] # LATIN LETTER SMALL CAPITAL E
-0247 ; [.1604.0020.0002.0247] # LATIN SMALL LETTER E WITH STROKE
-0246 ; [.1604.0020.0008.0246] # LATIN CAPITAL LETTER E WITH STROKE
-1D92 ; [.1608.0020.0002.1D92] # LATIN SMALL LETTER E WITH RETROFLEX HOOK
-2C78 ; [.1609.0020.0002.2C78] # LATIN SMALL LETTER E WITH NOTCH
-01DD ; [.160A.0020.0002.01DD] # LATIN SMALL LETTER TURNED E
-018E ; [.160A.0020.0008.018E] # LATIN CAPITAL LETTER REVERSED E
-1D32 ; [.160A.0020.001D.1D32] # MODIFIER LETTER CAPITAL REVERSED E; QQK
-2C7B ; [.160E.0020.0002.2C7B] # LATIN LETTER SMALL CAPITAL TURNED E
-0259 ; [.160F.0020.0002.0259] # LATIN SMALL LETTER SCHWA
-018F ; [.160F.0020.0008.018F] # LATIN CAPITAL LETTER SCHWA
-1D4A ; [.160F.0020.0014.1D4A] # MODIFIER LETTER SMALL SCHWA; QQK
-2094 ; [.160F.0020.0015.2094] # LATIN SUBSCRIPT SMALL LETTER SCHWA; QQK
-1D95 ; [.1613.0020.0002.1D95] # LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK
-025B ; [.1614.0020.0002.025B] # LATIN SMALL LETTER OPEN E
-0190 ; [.1614.0020.0008.0190] # LATIN CAPITAL LETTER OPEN E
-2107 ; [.1614.0020.000A.2107] # EULER CONSTANT; QQK
-1D4B ; [.1614.0020.0014.1D4B] # MODIFIER LETTER SMALL OPEN E; QQK
-1D93 ; [.1618.0020.0002.1D93] # LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK
-0258 ; [.1619.0020.0002.0258] # LATIN SMALL LETTER REVERSED E
-025A ; [.161D.0020.0002.025A] # LATIN SMALL LETTER SCHWA WITH HOOK
-025C ; [.1621.0020.0002.025C] # LATIN SMALL LETTER REVERSED OPEN E
-1D9F ; [.1621.0020.0014.1D9F] # MODIFIER LETTER SMALL REVERSED OPEN E; QQK
-1D94 ; [.1625.0020.0002.1D94] # LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK
-1D08 ; [.1626.0020.0002.1D08] # LATIN SMALL LETTER TURNED OPEN E
-1D4C ; [.1626.0020.0014.1D4C] # MODIFIER LETTER SMALL TURNED OPEN E; QQK
-025D ; [.1627.0020.0002.025D] # LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
-025E ; [.162B.0020.0002.025E] # LATIN SMALL LETTER CLOSED REVERSED OPEN E
-029A ; [.162F.0020.0002.029A] # LATIN SMALL LETTER CLOSED OPEN E
-0264 ; [.1633.0020.0002.0264] # LATIN SMALL LETTER RAMS HORN
-0066 ; [.1637.0020.0002.0066] # LATIN SMALL LETTER F
-FF46 ; [.1637.0020.0003.FF46] # FULLWIDTH LATIN SMALL LETTER F; QQK
-24A1 ; [*030E.0020.0004.24A1][.1637.0020.0004.24A1][*030F.0020.001F.24A1] # PARENTHESIZED LATIN SMALL LETTER F; QQKN
-1D41F ; [.1637.0020.0005.1D41F] # MATHEMATICAL BOLD SMALL F; QQK
-1D453 ; [.1637.0020.0005.1D453] # MATHEMATICAL ITALIC SMALL F; QQK
-1D487 ; [.1637.0020.0005.1D487] # MATHEMATICAL BOLD ITALIC SMALL F; QQK
-1D4BB ; [.1637.0020.0005.1D4BB] # MATHEMATICAL SCRIPT SMALL F; QQK
-1D4EF ; [.1637.0020.0005.1D4EF] # MATHEMATICAL BOLD SCRIPT SMALL F; QQK
-1D523 ; [.1637.0020.0005.1D523] # MATHEMATICAL FRAKTUR SMALL F; QQK
-1D557 ; [.1637.0020.0005.1D557] # MATHEMATICAL DOUBLE-STRUCK SMALL F; QQK
-1D58B ; [.1637.0020.0005.1D58B] # MATHEMATICAL BOLD FRAKTUR SMALL F; QQK
-1D5BF ; [.1637.0020.0005.1D5BF] # MATHEMATICAL SANS-SERIF SMALL F; QQK
-1D5F3 ; [.1637.0020.0005.1D5F3] # MATHEMATICAL SANS-SERIF BOLD SMALL F; QQK
-1D627 ; [.1637.0020.0005.1D627] # MATHEMATICAL SANS-SERIF ITALIC SMALL F; QQK
-1D65B ; [.1637.0020.0005.1D65B] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F; QQK
-1D68F ; [.1637.0020.0005.1D68F] # MATHEMATICAL MONOSPACE SMALL F; QQK
-24D5 ; [.1637.0020.0006.24D5] # CIRCLED LATIN SMALL LETTER F; QQK
-0046 ; [.1637.0020.0008.0046] # LATIN CAPITAL LETTER F
-FF26 ; [.1637.0020.0009.FF26] # FULLWIDTH LATIN CAPITAL LETTER F; QQK
-2109 ; [*0466.0020.0004.2109][.1637.0020.000A.2109] # DEGREE FAHRENHEIT; QQKN
-1F115 ; [*030E.0020.0004.1F115][.1637.0020.000A.1F115][*030F.0020.001F.1F115] # PARENTHESIZED LATIN CAPITAL LETTER F; QQKN
-1F1EB ; [.1637.0020.000A.1F1EB] # REGIONAL INDICATOR SYMBOL LETTER F; QQK
-2131 ; [.1637.0020.000B.2131] # SCRIPT CAPITAL F; QQK
-1D405 ; [.1637.0020.000B.1D405] # MATHEMATICAL BOLD CAPITAL F; QQK
-1D439 ; [.1637.0020.000B.1D439] # MATHEMATICAL ITALIC CAPITAL F; QQK
-1D46D ; [.1637.0020.000B.1D46D] # MATHEMATICAL BOLD ITALIC CAPITAL F; QQK
-1D4D5 ; [.1637.0020.000B.1D4D5] # MATHEMATICAL BOLD SCRIPT CAPITAL F; QQK
-1D509 ; [.1637.0020.000B.1D509] # MATHEMATICAL FRAKTUR CAPITAL F; QQK
-1D53D ; [.1637.0020.000B.1D53D] # MATHEMATICAL DOUBLE-STRUCK CAPITAL F; QQK
-1D571 ; [.1637.0020.000B.1D571] # MATHEMATICAL BOLD FRAKTUR CAPITAL F; QQK
-1D5A5 ; [.1637.0020.000B.1D5A5] # MATHEMATICAL SANS-SERIF CAPITAL F; QQK
-1D5D9 ; [.1637.0020.000B.1D5D9] # MATHEMATICAL SANS-SERIF BOLD CAPITAL F; QQK
-1D60D ; [.1637.0020.000B.1D60D] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL F; QQK
-1D641 ; [.1637.0020.000B.1D641] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F; QQK
-1D675 ; [.1637.0020.000B.1D675] # MATHEMATICAL MONOSPACE CAPITAL F; QQK
-24BB ; [.1637.0020.000C.24BB] # CIRCLED LATIN CAPITAL LETTER F; QQK
-1F155 ; [.1637.0020.000C.1F155] # NEGATIVE CIRCLED LATIN CAPITAL LETTER F; QQK
-1DA0 ; [.1637.0020.0014.1DA0] # MODIFIER LETTER SMALL F; QQK
-1F135 ; [.1637.0020.001D.1F135] # SQUARED LATIN CAPITAL LETTER F; QQK
-1F175 ; [.1637.0020.001D.1F175] # NEGATIVE SQUARED LATIN CAPITAL LETTER F; QQK
-1E1F ; [.1637.0020.0002.0066][.0000.0052.0002.0307] # LATIN SMALL LETTER F WITH DOT ABOVE; QQCM
-1E1E ; [.1637.0020.0008.0046][.0000.0052.0002.0307] # LATIN CAPITAL LETTER F WITH DOT ABOVE; QQCM
-A77C ; [.1637.0020.0004.A77C][.0000.0160.0004.A77C] # LATIN SMALL LETTER INSULAR F; QQKN
-A77B ; [.1637.0020.000A.A77B][.0000.0160.0004.A77B] # LATIN CAPITAL LETTER INSULAR F; QQKN
-213B ; [.1637.0020.000A.213B][.15A3.0020.000A.213B][.182E.0020.001F.213B] # FACSIMILE SIGN; QQKN
-FB00 ; [.1637.0020.0004.FB00][.1637.0020.0004.FB00] # LATIN SMALL LIGATURE FF; QQKN
-FB03 ; [.1637.0020.0004.FB03][.1637.0020.0004.FB03][.1680.0020.001F.FB03] # LATIN SMALL LIGATURE FFI; QQKN
-FB04 ; [.1637.0020.0004.FB04][.1637.0020.0004.FB04][.16C4.0020.001F.FB04] # LATIN SMALL LIGATURE FFL; QQKN
-FB01 ; [.1637.0020.0004.FB01][.1680.0020.0004.FB01] # LATIN SMALL LIGATURE FI; QQKN
-FB02 ; [.1637.0020.0004.FB02][.16C4.0020.0004.FB02] # LATIN SMALL LIGATURE FL; QQKN
-3399 ; [.1637.0020.001C.3399][.16F4.0020.001C.3399] # SQUARE FM; QQKN
-02A9 ; [.1637.0020.0004.02A9][.1720.0020.0004.02A9] # LATIN SMALL LETTER FENG DIGRAPH; QQKN
-1F193 ; [.1637.0020.001D.1F193][.1770.0020.001D.1F193][.15FF.0020.001F.1F193][.15FF.0020.001F.1F193] # SQUARED FREE; QQKN
-A730 ; [.163B.0020.0002.A730] # LATIN LETTER SMALL CAPITAL F
-1D6E ; [.163C.0020.0002.1D6E] # LATIN SMALL LETTER F WITH MIDDLE TILDE
-1D82 ; [.163D.0020.0002.1D82] # LATIN SMALL LETTER F WITH PALATAL HOOK
-0192 ; [.163E.0020.0002.0192] # LATIN SMALL LETTER F WITH HOOK
-0191 ; [.163E.0020.0008.0191] # LATIN CAPITAL LETTER F WITH HOOK
-214E ; [.1642.0020.0002.214E] # TURNED SMALL F
-2132 ; [.1642.0020.0008.2132] # TURNED CAPITAL F
-A7FB ; [.1643.0020.0002.A7FB] # LATIN EPIGRAPHIC LETTER REVERSED F
-0067 ; [.1644.0020.0002.0067] # LATIN SMALL LETTER G
-FF47 ; [.1644.0020.0003.FF47] # FULLWIDTH LATIN SMALL LETTER G; QQK
-1DDA ; [.1644.0020.0004.1DDA] # COMBINING LATIN SMALL LETTER G; QQK
-24A2 ; [*030E.0020.0004.24A2][.1644.0020.0004.24A2][*030F.0020.001F.24A2] # PARENTHESIZED LATIN SMALL LETTER G; QQKN
-210A ; [.1644.0020.0005.210A] # SCRIPT SMALL G; QQK
-1D420 ; [.1644.0020.0005.1D420] # MATHEMATICAL BOLD SMALL G; QQK
-1D454 ; [.1644.0020.0005.1D454] # MATHEMATICAL ITALIC SMALL G; QQK
-1D488 ; [.1644.0020.0005.1D488] # MATHEMATICAL BOLD ITALIC SMALL G; QQK
-1D4F0 ; [.1644.0020.0005.1D4F0] # MATHEMATICAL BOLD SCRIPT SMALL G; QQK
-1D524 ; [.1644.0020.0005.1D524] # MATHEMATICAL FRAKTUR SMALL G; QQK
-1D558 ; [.1644.0020.0005.1D558] # MATHEMATICAL DOUBLE-STRUCK SMALL G; QQK
-1D58C ; [.1644.0020.0005.1D58C] # MATHEMATICAL BOLD FRAKTUR SMALL G; QQK
-1D5C0 ; [.1644.0020.0005.1D5C0] # MATHEMATICAL SANS-SERIF SMALL G; QQK
-1D5F4 ; [.1644.0020.0005.1D5F4] # MATHEMATICAL SANS-SERIF BOLD SMALL G; QQK
-1D628 ; [.1644.0020.0005.1D628] # MATHEMATICAL SANS-SERIF ITALIC SMALL G; QQK
-1D65C ; [.1644.0020.0005.1D65C] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G; QQK
-1D690 ; [.1644.0020.0005.1D690] # MATHEMATICAL MONOSPACE SMALL G; QQK
-24D6 ; [.1644.0020.0006.24D6] # CIRCLED LATIN SMALL LETTER G; QQK
-0047 ; [.1644.0020.0008.0047] # LATIN CAPITAL LETTER G
-FF27 ; [.1644.0020.0009.FF27] # FULLWIDTH LATIN CAPITAL LETTER G; QQK
-1F116 ; [*030E.0020.0004.1F116][.1644.0020.000A.1F116][*030F.0020.001F.1F116] # PARENTHESIZED LATIN CAPITAL LETTER G; QQKN
-1F1EC ; [.1644.0020.000A.1F1EC] # REGIONAL INDICATOR SYMBOL LETTER G; QQK
-1D406 ; [.1644.0020.000B.1D406] # MATHEMATICAL BOLD CAPITAL G; QQK
-1D43A ; [.1644.0020.000B.1D43A] # MATHEMATICAL ITALIC CAPITAL G; QQK
-1D46E ; [.1644.0020.000B.1D46E] # MATHEMATICAL BOLD ITALIC CAPITAL G; QQK
-1D4A2 ; [.1644.0020.000B.1D4A2] # MATHEMATICAL SCRIPT CAPITAL G; QQK
-1D4D6 ; [.1644.0020.000B.1D4D6] # MATHEMATICAL BOLD SCRIPT CAPITAL G; QQK
-1D50A ; [.1644.0020.000B.1D50A] # MATHEMATICAL FRAKTUR CAPITAL G; QQK
-1D53E ; [.1644.0020.000B.1D53E] # MATHEMATICAL DOUBLE-STRUCK CAPITAL G; QQK
-1D572 ; [.1644.0020.000B.1D572] # MATHEMATICAL BOLD FRAKTUR CAPITAL G; QQK
-1D5A6 ; [.1644.0020.000B.1D5A6] # MATHEMATICAL SANS-SERIF CAPITAL G; QQK
-1D5DA ; [.1644.0020.000B.1D5DA] # MATHEMATICAL SANS-SERIF BOLD CAPITAL G; QQK
-1D60E ; [.1644.0020.000B.1D60E] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL G; QQK
-1D642 ; [.1644.0020.000B.1D642] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G; QQK
-1D676 ; [.1644.0020.000B.1D676] # MATHEMATICAL MONOSPACE CAPITAL G; QQK
-24BC ; [.1644.0020.000C.24BC] # CIRCLED LATIN CAPITAL LETTER G; QQK
-1F156 ; [.1644.0020.000C.1F156] # NEGATIVE CIRCLED LATIN CAPITAL LETTER G; QQK
-1D4D ; [.1644.0020.0014.1D4D] # MODIFIER LETTER SMALL G; QQK
-1D33 ; [.1644.0020.001D.1D33] # MODIFIER LETTER CAPITAL G; QQK
-1F136 ; [.1644.0020.001D.1F136] # SQUARED LATIN CAPITAL LETTER G; QQK
-1F176 ; [.1644.0020.001D.1F176] # NEGATIVE SQUARED LATIN CAPITAL LETTER G; QQK
-01F5 ; [.1644.0020.0002.0067][.0000.0032.0002.0301] # LATIN SMALL LETTER G WITH ACUTE; QQCM
-01F4 ; [.1644.0020.0008.0047][.0000.0032.0002.0301] # LATIN CAPITAL LETTER G WITH ACUTE; QQCM
-011F ; [.1644.0020.0002.0067][.0000.0037.0002.0306] # LATIN SMALL LETTER G WITH BREVE; QQCM
-011E ; [.1644.0020.0008.0047][.0000.0037.0002.0306] # LATIN CAPITAL LETTER G WITH BREVE; QQCM
-011D ; [.1644.0020.0002.0067][.0000.003C.0002.0302] # LATIN SMALL LETTER G WITH CIRCUMFLEX; QQCM
-011C ; [.1644.0020.0008.0047][.0000.003C.0002.0302] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX; QQCM
-01E7 ; [.1644.0020.0002.0067][.0000.0041.0002.030C] # LATIN SMALL LETTER G WITH CARON; QQCM
-01E6 ; [.1644.0020.0008.0047][.0000.0041.0002.030C] # LATIN CAPITAL LETTER G WITH CARON; QQCM
-0121 ; [.1644.0020.0002.0067][.0000.0052.0002.0307] # LATIN SMALL LETTER G WITH DOT ABOVE; QQCM
-0120 ; [.1644.0020.0008.0047][.0000.0052.0002.0307] # LATIN CAPITAL LETTER G WITH DOT ABOVE; QQCM
-0123 ; [.1644.0020.0002.0067][.0000.0056.0002.0327] # LATIN SMALL LETTER G WITH CEDILLA; QQCM
-0122 ; [.1644.0020.0008.0047][.0000.0056.0002.0327] # LATIN CAPITAL LETTER G WITH CEDILLA; QQCM
-1E21 ; [.1644.0020.0002.0067][.0000.005B.0002.0304] # LATIN SMALL LETTER G WITH MACRON; QQCM
-1E20 ; [.1644.0020.0008.0047][.0000.005B.0002.0304] # LATIN CAPITAL LETTER G WITH MACRON; QQCM
-A7A1 ; [.1644.0020.0004.A7A1][.0000.0061.0004.A7A1] # LATIN SMALL LETTER G WITH OBLIQUE STROKE; QQKN
-A7A0 ; [.1644.0020.000A.A7A0][.0000.0061.0004.A7A0] # LATIN CAPITAL LETTER G WITH OBLIQUE STROKE; QQKN
-1D79 ; [.1644.0020.0004.1D79][.0000.0160.0004.1D79] # LATIN SMALL LETTER INSULAR G; QQKN
-A77D ; [.1644.0020.000A.A77D][.0000.0160.0004.A77D] # LATIN CAPITAL LETTER INSULAR G; QQKN
-33FF ; [.1644.0020.001C.33FF][.15A3.0020.001C.33FF][.16C4.0020.001F.33FF] # SQUARE GAL; QQKN
-3387 ; [.1644.0020.001D.3387][.15B9.0020.001D.3387] # SQUARE GB; QQKN
-3393 ; [.1644.0020.001D.3393][.1667.0020.001D.3393][.1844.0020.001F.3393] # SQUARE GHZ; QQKN
-33AC ; [.1644.0020.001D.33AC][.1749.0020.001D.33AC][.15A3.0020.001F.33AC] # SQUARE GPA; QQKN
-33C9 ; [.1644.0020.001D.33C9][.1833.0020.001C.33C9] # SQUARE GY; QQKN
-0261 ; [.1648.0020.0002.0261] # LATIN SMALL LETTER SCRIPT G
-1DA2 ; [.1648.0020.0014.1DA2] # MODIFIER LETTER SMALL SCRIPT G; QQK
-0262 ; [.164C.0020.0002.0262] # LATIN LETTER SMALL CAPITAL G
-1DDB ; [.164C.0020.0004.1DDB] # COMBINING LATIN LETTER SMALL CAPITAL G; QQK
-01E5 ; [.1650.0020.0002.01E5] # LATIN SMALL LETTER G WITH STROKE
-01E4 ; [.1650.0020.0008.01E4] # LATIN CAPITAL LETTER G WITH STROKE
-1D83 ; [.1654.0020.0002.1D83] # LATIN SMALL LETTER G WITH PALATAL HOOK
-0260 ; [.1655.0020.0002.0260] # LATIN SMALL LETTER G WITH HOOK
-0193 ; [.1655.0020.0008.0193] # LATIN CAPITAL LETTER G WITH HOOK
-029B ; [.1659.0020.0002.029B] # LATIN LETTER SMALL CAPITAL G WITH HOOK
-1D77 ; [.165D.0020.0002.1D77] # LATIN SMALL LETTER TURNED G
-A77F ; [.165E.0020.0002.A77F] # LATIN SMALL LETTER TURNED INSULAR G
-A77E ; [.165E.0020.0008.A77E] # LATIN CAPITAL LETTER TURNED INSULAR G
-0263 ; [.165F.0020.0002.0263] # LATIN SMALL LETTER GAMMA
-0194 ; [.165F.0020.0008.0194] # LATIN CAPITAL LETTER GAMMA
-02E0 ; [.165F.0020.0014.02E0] # MODIFIER LETTER SMALL GAMMA; QQK
-01A3 ; [.1663.0020.0002.01A3] # LATIN SMALL LETTER OI
-01A2 ; [.1663.0020.0008.01A2] # LATIN CAPITAL LETTER OI
-0068 ; [.1667.0020.0002.0068] # LATIN SMALL LETTER H
-FF48 ; [.1667.0020.0003.FF48] # FULLWIDTH LATIN SMALL LETTER H; QQK
-036A ; [.1667.0020.0004.036A] # COMBINING LATIN SMALL LETTER H; QQK
-24A3 ; [*030E.0020.0004.24A3][.1667.0020.0004.24A3][*030F.0020.001F.24A3] # PARENTHESIZED LATIN SMALL LETTER H; QQKN
-210E ; [.1667.0020.0005.210E] # PLANCK CONSTANT; QQK
-1D421 ; [.1667.0020.0005.1D421] # MATHEMATICAL BOLD SMALL H; QQK
-1D489 ; [.1667.0020.0005.1D489] # MATHEMATICAL BOLD ITALIC SMALL H; QQK
-1D4BD ; [.1667.0020.0005.1D4BD] # MATHEMATICAL SCRIPT SMALL H; QQK
-1D4F1 ; [.1667.0020.0005.1D4F1] # MATHEMATICAL BOLD SCRIPT SMALL H; QQK
-1D525 ; [.1667.0020.0005.1D525] # MATHEMATICAL FRAKTUR SMALL H; QQK
-1D559 ; [.1667.0020.0005.1D559] # MATHEMATICAL DOUBLE-STRUCK SMALL H; QQK
-1D58D ; [.1667.0020.0005.1D58D] # MATHEMATICAL BOLD FRAKTUR SMALL H; QQK
-1D5C1 ; [.1667.0020.0005.1D5C1] # MATHEMATICAL SANS-SERIF SMALL H; QQK
-1D5F5 ; [.1667.0020.0005.1D5F5] # MATHEMATICAL SANS-SERIF BOLD SMALL H; QQK
-1D629 ; [.1667.0020.0005.1D629] # MATHEMATICAL SANS-SERIF ITALIC SMALL H; QQK
-1D65D ; [.1667.0020.0005.1D65D] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H; QQK
-1D691 ; [.1667.0020.0005.1D691] # MATHEMATICAL MONOSPACE SMALL H; QQK
-24D7 ; [.1667.0020.0006.24D7] # CIRCLED LATIN SMALL LETTER H; QQK
-0048 ; [.1667.0020.0008.0048] # LATIN CAPITAL LETTER H
-FF28 ; [.1667.0020.0009.FF28] # FULLWIDTH LATIN CAPITAL LETTER H; QQK
-1F117 ; [*030E.0020.0004.1F117][.1667.0020.000A.1F117][*030F.0020.001F.1F117] # PARENTHESIZED LATIN CAPITAL LETTER H; QQKN
-1F1ED ; [.1667.0020.000A.1F1ED] # REGIONAL INDICATOR SYMBOL LETTER H; QQK
-210B ; [.1667.0020.000B.210B] # SCRIPT CAPITAL H; QQK
-210C ; [.1667.0020.000B.210C] # BLACK-LETTER CAPITAL H; QQK
-210D ; [.1667.0020.000B.210D] # DOUBLE-STRUCK CAPITAL H; QQK
-1D407 ; [.1667.0020.000B.1D407] # MATHEMATICAL BOLD CAPITAL H; QQK
-1D43B ; [.1667.0020.000B.1D43B] # MATHEMATICAL ITALIC CAPITAL H; QQK
-1D46F ; [.1667.0020.000B.1D46F] # MATHEMATICAL BOLD ITALIC CAPITAL H; QQK
-1D4D7 ; [.1667.0020.000B.1D4D7] # MATHEMATICAL BOLD SCRIPT CAPITAL H; QQK
-1D573 ; [.1667.0020.000B.1D573] # MATHEMATICAL BOLD FRAKTUR CAPITAL H; QQK
-1D5A7 ; [.1667.0020.000B.1D5A7] # MATHEMATICAL SANS-SERIF CAPITAL H; QQK
-1D5DB ; [.1667.0020.000B.1D5DB] # MATHEMATICAL SANS-SERIF BOLD CAPITAL H; QQK
-1D60F ; [.1667.0020.000B.1D60F] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL H; QQK
-1D643 ; [.1667.0020.000B.1D643] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H; QQK
-1D677 ; [.1667.0020.000B.1D677] # MATHEMATICAL MONOSPACE CAPITAL H; QQK
-24BD ; [.1667.0020.000C.24BD] # CIRCLED LATIN CAPITAL LETTER H; QQK
-1F157 ; [.1667.0020.000C.1F157] # NEGATIVE CIRCLED LATIN CAPITAL LETTER H; QQK
-02B0 ; [.1667.0020.0014.02B0] # MODIFIER LETTER SMALL H; QQK
-2095 ; [.1667.0020.0015.2095] # LATIN SUBSCRIPT SMALL LETTER H; QQK
-1D34 ; [.1667.0020.001D.1D34] # MODIFIER LETTER CAPITAL H; QQK
-1F137 ; [.1667.0020.001D.1F137] # SQUARED LATIN CAPITAL LETTER H; QQK
-1F177 ; [.1667.0020.001D.1F177] # NEGATIVE SQUARED LATIN CAPITAL LETTER H; QQK
-0125 ; [.1667.0020.0002.0068][.0000.003C.0002.0302] # LATIN SMALL LETTER H WITH CIRCUMFLEX; QQCM
-0124 ; [.1667.0020.0008.0048][.0000.003C.0002.0302] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX; QQCM
-021F ; [.1667.0020.0002.0068][.0000.0041.0002.030C] # LATIN SMALL LETTER H WITH CARON; QQCM
-021E ; [.1667.0020.0008.0048][.0000.0041.0002.030C] # LATIN CAPITAL LETTER H WITH CARON; QQCM
-1E27 ; [.1667.0020.0002.0068][.0000.0047.0002.0308] # LATIN SMALL LETTER H WITH DIAERESIS; QQCM
-1E26 ; [.1667.0020.0008.0048][.0000.0047.0002.0308] # LATIN CAPITAL LETTER H WITH DIAERESIS; QQCM
-1E23 ; [.1667.0020.0002.0068][.0000.0052.0002.0307] # LATIN SMALL LETTER H WITH DOT ABOVE; QQCM
-1E22 ; [.1667.0020.0008.0048][.0000.0052.0002.0307] # LATIN CAPITAL LETTER H WITH DOT ABOVE; QQCM
-1E29 ; [.1667.0020.0002.0068][.0000.0056.0002.0327] # LATIN SMALL LETTER H WITH CEDILLA; QQCM
-1E28 ; [.1667.0020.0008.0048][.0000.0056.0002.0327] # LATIN CAPITAL LETTER H WITH CEDILLA; QQCM
-1E25 ; [.1667.0020.0002.0068][.0000.0070.0002.0323] # LATIN SMALL LETTER H WITH DOT BELOW; QQCM
-1E24 ; [.1667.0020.0008.0048][.0000.0070.0002.0323] # LATIN CAPITAL LETTER H WITH DOT BELOW; QQCM
-1E2B ; [.1667.0020.0002.0068][.0000.0079.0002.032E] # LATIN SMALL LETTER H WITH BREVE BELOW; QQCM
-1E2A ; [.1667.0020.0008.0048][.0000.0079.0002.032E] # LATIN CAPITAL LETTER H WITH BREVE BELOW; QQCM
-1E96 ; [.1667.0020.0002.0068][.0000.007B.0002.0331] # LATIN SMALL LETTER H WITH LINE BELOW; QQCM
-0127 ; [.1667.0020.0002.0068][.0000.007D.0002.0335] # LATIN SMALL LETTER H WITH STROKE; QQCM
-210F ; [.1667.0020.0002.210F][.0000.007D.0002.210F] # PLANCK CONSTANT OVER TWO PI; QQKN
-0126 ; [.1667.0020.0008.0048][.0000.007D.0002.0335] # LATIN CAPITAL LETTER H WITH STROKE; QQCM
-33CA ; [.1667.0020.001C.33CA][.15A3.0020.001C.33CA] # SQUARE HA; QQKN
-32CC ; [.1667.0020.001D.32CC][.1644.0020.001C.32CC] # SQUARE HG; QQKN
-33CB ; [.1667.0020.001D.33CB][.1749.0020.001D.33CB] # SQUARE HP; QQKN
-3371 ; [.1667.0020.001C.3371][.1749.0020.001D.3371][.15A3.0020.001F.3371] # SQUARE HPA; QQKN
-1F14A ; [.1667.0020.001D.1F14A][.1812.0020.001D.1F14A] # SQUARED HV; QQKN
-3390 ; [.1667.0020.001D.3390][.1844.0020.001C.3390] # SQUARE HZ; QQKN
-029C ; [.166B.0020.0002.029C] # LATIN LETTER SMALL CAPITAL H
-0195 ; [.166F.0020.0002.0195] # LATIN SMALL LETTER HV
-01F6 ; [.166F.0020.0008.01F6] # LATIN CAPITAL LETTER HWAIR
-0266 ; [.1673.0020.0002.0266] # LATIN SMALL LETTER H WITH HOOK
-02B1 ; [.1673.0020.0014.02B1] # MODIFIER LETTER SMALL H WITH HOOK; QQK
-2C68 ; [.1677.0020.0002.2C68] # LATIN SMALL LETTER H WITH DESCENDER
-2C67 ; [.1677.0020.0008.2C67] # LATIN CAPITAL LETTER H WITH DESCENDER
-2C76 ; [.1678.0020.0002.2C76] # LATIN SMALL LETTER HALF H
-2C75 ; [.1678.0020.0008.2C75] # LATIN CAPITAL LETTER HALF H
-A727 ; [.1679.0020.0002.A727] # LATIN SMALL LETTER HENG
-A726 ; [.1679.0020.0008.A726] # LATIN CAPITAL LETTER HENG
-0267 ; [.167A.0020.0002.0267] # LATIN SMALL LETTER HENG WITH HOOK
-02BB ; [.167E.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
-02BD ; [.167F.0020.0002.02BD] # MODIFIER LETTER REVERSED COMMA
-0069 ; [.1680.0020.0002.0069] # LATIN SMALL LETTER I
-FF49 ; [.1680.0020.0003.FF49] # FULLWIDTH LATIN SMALL LETTER I; QQK
-0365 ; [.1680.0020.0004.0365] # COMBINING LATIN SMALL LETTER I; QQK
-2170 ; [.1680.0020.0004.2170] # SMALL ROMAN NUMERAL ONE; QQK
-24A4 ; [*030E.0020.0004.24A4][.1680.0020.0004.24A4][*030F.0020.001F.24A4] # PARENTHESIZED LATIN SMALL LETTER I; QQKN
-2139 ; [.1680.0020.0005.2139] # INFORMATION SOURCE; QQK
-2148 ; [.1680.0020.0005.2148] # DOUBLE-STRUCK ITALIC SMALL I; QQK
-1D422 ; [.1680.0020.0005.1D422] # MATHEMATICAL BOLD SMALL I; QQK
-1D456 ; [.1680.0020.0005.1D456] # MATHEMATICAL ITALIC SMALL I; QQK
-1D48A ; [.1680.0020.0005.1D48A] # MATHEMATICAL BOLD ITALIC SMALL I; QQK
-1D4BE ; [.1680.0020.0005.1D4BE] # MATHEMATICAL SCRIPT SMALL I; QQK
-1D4F2 ; [.1680.0020.0005.1D4F2] # MATHEMATICAL BOLD SCRIPT SMALL I; QQK
-1D526 ; [.1680.0020.0005.1D526] # MATHEMATICAL FRAKTUR SMALL I; QQK
-1D55A ; [.1680.0020.0005.1D55A] # MATHEMATICAL DOUBLE-STRUCK SMALL I; QQK
-1D58E ; [.1680.0020.0005.1D58E] # MATHEMATICAL BOLD FRAKTUR SMALL I; QQK
-1D5C2 ; [.1680.0020.0005.1D5C2] # MATHEMATICAL SANS-SERIF SMALL I; QQK
-1D5F6 ; [.1680.0020.0005.1D5F6] # MATHEMATICAL SANS-SERIF BOLD SMALL I; QQK
-1D62A ; [.1680.0020.0005.1D62A] # MATHEMATICAL SANS-SERIF ITALIC SMALL I; QQK
-1D65E ; [.1680.0020.0005.1D65E] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I; QQK
-1D692 ; [.1680.0020.0005.1D692] # MATHEMATICAL MONOSPACE SMALL I; QQK
-24D8 ; [.1680.0020.0006.24D8] # CIRCLED LATIN SMALL LETTER I; QQK
-0049 ; [.1680.0020.0008.0049] # LATIN CAPITAL LETTER I
-FF29 ; [.1680.0020.0009.FF29] # FULLWIDTH LATIN CAPITAL LETTER I; QQK
-2160 ; [.1680.0020.000A.2160] # ROMAN NUMERAL ONE; QQK
-1F118 ; [*030E.0020.0004.1F118][.1680.0020.000A.1F118][*030F.0020.001F.1F118] # PARENTHESIZED LATIN CAPITAL LETTER I; QQKN
-1F1EE ; [.1680.0020.000A.1F1EE] # REGIONAL INDICATOR SYMBOL LETTER I; QQK
-2110 ; [.1680.0020.000B.2110] # SCRIPT CAPITAL I; QQK
-2111 ; [.1680.0020.000B.2111] # BLACK-LETTER CAPITAL I; QQK
-1D408 ; [.1680.0020.000B.1D408] # MATHEMATICAL BOLD CAPITAL I; QQK
-1D43C ; [.1680.0020.000B.1D43C] # MATHEMATICAL ITALIC CAPITAL I; QQK
-1D470 ; [.1680.0020.000B.1D470] # MATHEMATICAL BOLD ITALIC CAPITAL I; QQK
-1D4D8 ; [.1680.0020.000B.1D4D8] # MATHEMATICAL BOLD SCRIPT CAPITAL I; QQK
-1D540 ; [.1680.0020.000B.1D540] # MATHEMATICAL DOUBLE-STRUCK CAPITAL I; QQK
-1D574 ; [.1680.0020.000B.1D574] # MATHEMATICAL BOLD FRAKTUR CAPITAL I; QQK
-1D5A8 ; [.1680.0020.000B.1D5A8] # MATHEMATICAL SANS-SERIF CAPITAL I; QQK
-1D5DC ; [.1680.0020.000B.1D5DC] # MATHEMATICAL SANS-SERIF BOLD CAPITAL I; QQK
-1D610 ; [.1680.0020.000B.1D610] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL I; QQK
-1D644 ; [.1680.0020.000B.1D644] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I; QQK
-1D678 ; [.1680.0020.000B.1D678] # MATHEMATICAL MONOSPACE CAPITAL I; QQK
-24BE ; [.1680.0020.000C.24BE] # CIRCLED LATIN CAPITAL LETTER I; QQK
-1F158 ; [.1680.0020.000C.1F158] # NEGATIVE CIRCLED LATIN CAPITAL LETTER I; QQK
-2071 ; [.1680.0020.0014.2071] # SUPERSCRIPT LATIN SMALL LETTER I; QQK
-1D62 ; [.1680.0020.0015.1D62] # LATIN SUBSCRIPT SMALL LETTER I; QQK
-1D35 ; [.1680.0020.001D.1D35] # MODIFIER LETTER CAPITAL I; QQK
-1F138 ; [.1680.0020.001D.1F138] # SQUARED LATIN CAPITAL LETTER I; QQK
-1F178 ; [.1680.0020.001D.1F178] # NEGATIVE SQUARED LATIN CAPITAL LETTER I; QQK
-00ED ; [.1680.0020.0002.0069][.0000.0032.0002.0301] # LATIN SMALL LETTER I WITH ACUTE; QQCM
-00CD ; [.1680.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE; QQCM
-00EC ; [.1680.0020.0002.0069][.0000.0035.0002.0300] # LATIN SMALL LETTER I WITH GRAVE; QQCM
-00CC ; [.1680.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE; QQCM
-012D ; [.1680.0020.0002.0069][.0000.0037.0002.0306] # LATIN SMALL LETTER I WITH BREVE; QQCM
-012C ; [.1680.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE; QQCM
-00EE ; [.1680.0020.0002.0069][.0000.003C.0002.0302] # LATIN SMALL LETTER I WITH CIRCUMFLEX; QQCM
-00CE ; [.1680.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX; QQCM
-01D0 ; [.1680.0020.0002.0069][.0000.0041.0002.030C] # LATIN SMALL LETTER I WITH CARON; QQCM
-01CF ; [.1680.0020.0008.0049][.0000.0041.0002.030C] # LATIN CAPITAL LETTER I WITH CARON; QQCM
-00EF ; [.1680.0020.0002.0069][.0000.0047.0002.0308] # LATIN SMALL LETTER I WITH DIAERESIS; QQCM
-00CF ; [.1680.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS; QQCM
-1E2F ; [.1680.0020.0002.0069][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE; QQCM
-1E2E ; [.1680.0020.0008.0049][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE; QQCM
-0129 ; [.1680.0020.0002.0069][.0000.004E.0002.0303] # LATIN SMALL LETTER I WITH TILDE; QQCM
-0128 ; [.1680.0020.0008.0049][.0000.004E.0002.0303] # LATIN CAPITAL LETTER I WITH TILDE; QQCM
-0130 ; [.1680.0020.0008.0049][.0000.0052.0002.0307] # LATIN CAPITAL LETTER I WITH DOT ABOVE; QQCM
-012F ; [.1680.0020.0002.0069][.0000.0059.0002.0328] # LATIN SMALL LETTER I WITH OGONEK; QQCM
-012E ; [.1680.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK; QQCM
-012B ; [.1680.0020.0002.0069][.0000.005B.0002.0304] # LATIN SMALL LETTER I WITH MACRON; QQCM
-012A ; [.1680.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON; QQCM
-1EC9 ; [.1680.0020.0002.0069][.0000.0064.0002.0309] # LATIN SMALL LETTER I WITH HOOK ABOVE; QQCM
-1EC8 ; [.1680.0020.0008.0049][.0000.0064.0002.0309] # LATIN CAPITAL LETTER I WITH HOOK ABOVE; QQCM
-0209 ; [.1680.0020.0002.0069][.0000.0065.0002.030F] # LATIN SMALL LETTER I WITH DOUBLE GRAVE; QQCM
-0208 ; [.1680.0020.0008.0049][.0000.0065.0002.030F] # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE; QQCM
-020B ; [.1680.0020.0002.0069][.0000.0067.0002.0311] # LATIN SMALL LETTER I WITH INVERTED BREVE; QQCM
-020A ; [.1680.0020.0008.0049][.0000.0067.0002.0311] # LATIN CAPITAL LETTER I WITH INVERTED BREVE; QQCM
-1ECB ; [.1680.0020.0002.0069][.0000.0070.0002.0323] # LATIN SMALL LETTER I WITH DOT BELOW; QQCM
-1ECA ; [.1680.0020.0008.0049][.0000.0070.0002.0323] # LATIN CAPITAL LETTER I WITH DOT BELOW; QQCM
-1E2D ; [.1680.0020.0002.0069][.0000.007A.0002.0330] # LATIN SMALL LETTER I WITH TILDE BELOW; QQCM
-1E2C ; [.1680.0020.0008.0049][.0000.007A.0002.0330] # LATIN CAPITAL LETTER I WITH TILDE BELOW; QQCM
-1F18B ; [.1680.0020.001D.1F18B][.15D1.0020.001D.1F18B] # NEGATIVE SQUARED IC; QQKN
-1F194 ; [.1680.0020.001D.1F194][.15E4.0020.001D.1F194] # SQUARED ID; QQKN
-2171 ; [.1680.0020.0004.2171][.1680.0020.0004.2171] # SMALL ROMAN NUMERAL TWO; QQKN
-2161 ; [.1680.0020.000A.2161][.1680.0020.000A.2161] # ROMAN NUMERAL TWO; QQKN
-2172 ; [.1680.0020.0004.2172][.1680.0020.0004.2172][.1680.0020.001F.2172] # SMALL ROMAN NUMERAL THREE; QQKN
-2162 ; [.1680.0020.000A.2162][.1680.0020.000A.2162][.1680.0020.001F.2162] # ROMAN NUMERAL THREE; QQKN
-0133 ; [.1680.0020.0004.0133][.1699.0020.0004.0133] # LATIN SMALL LIGATURE IJ; QQKN
-0132 ; [.1680.0020.000A.0132][.1699.0020.000A.0132] # LATIN CAPITAL LIGATURE IJ; QQKN
-33CC ; [.1680.0020.001C.33CC][.1702.0020.001C.33CC] # SQUARE IN; QQKN
-337A ; [.1680.0020.001D.337A][.17E9.0020.001D.337A] # SQUARE IU; QQKN
-2173 ; [.1680.0020.0004.2173][.1812.0020.0004.2173] # SMALL ROMAN NUMERAL FOUR; QQKN
-2163 ; [.1680.0020.000A.2163][.1812.0020.000A.2163] # ROMAN NUMERAL FOUR; QQKN
-2178 ; [.1680.0020.0004.2178][.182E.0020.0004.2178] # SMALL ROMAN NUMERAL NINE; QQKN
-2168 ; [.1680.0020.000A.2168][.182E.0020.000A.2168] # ROMAN NUMERAL NINE; QQKN
-0131 ; [.1684.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
-1D6A4 ; [.1684.0020.0005.1D6A4] # MATHEMATICAL ITALIC SMALL DOTLESS I; QQK
-026A ; [.1688.0020.0002.026A] # LATIN LETTER SMALL CAPITAL I
-1DA6 ; [.1688.0020.0014.1DA6] # MODIFIER LETTER SMALL CAPITAL I; QQK
-A7FE ; [.168C.0020.0002.A7FE] # LATIN EPIGRAPHIC LETTER I LONGA
-1D09 ; [.168D.0020.0002.1D09] # LATIN SMALL LETTER TURNED I
-1D4E ; [.168D.0020.0014.1D4E] # MODIFIER LETTER SMALL TURNED I; QQK
-0268 ; [.168E.0020.0002.0268] # LATIN SMALL LETTER I WITH STROKE
-0197 ; [.168E.0020.0008.0197] # LATIN CAPITAL LETTER I WITH STROKE
-1DA4 ; [.168E.0020.0014.1DA4] # MODIFIER LETTER SMALL I WITH STROKE; QQK
-1D7B ; [.1692.0020.0002.1D7B] # LATIN SMALL CAPITAL LETTER I WITH STROKE
-1DA7 ; [.1692.0020.0014.1DA7] # MODIFIER LETTER SMALL CAPITAL I WITH STROKE; QQK
-1D96 ; [.1693.0020.0002.1D96] # LATIN SMALL LETTER I WITH RETROFLEX HOOK
-0269 ; [.1694.0020.0002.0269] # LATIN SMALL LETTER IOTA
-0196 ; [.1694.0020.0008.0196] # LATIN CAPITAL LETTER IOTA
-1DA5 ; [.1694.0020.0014.1DA5] # MODIFIER LETTER SMALL IOTA; QQK
-1D7C ; [.1698.0020.0002.1D7C] # LATIN SMALL LETTER IOTA WITH STROKE
-006A ; [.1699.0020.0002.006A] # LATIN SMALL LETTER J
-FF4A ; [.1699.0020.0003.FF4A] # FULLWIDTH LATIN SMALL LETTER J; QQK
-24A5 ; [*030E.0020.0004.24A5][.1699.0020.0004.24A5][*030F.0020.001F.24A5] # PARENTHESIZED LATIN SMALL LETTER J; QQKN
-2149 ; [.1699.0020.0005.2149] # DOUBLE-STRUCK ITALIC SMALL J; QQK
-1D423 ; [.1699.0020.0005.1D423] # MATHEMATICAL BOLD SMALL J; QQK
-1D457 ; [.1699.0020.0005.1D457] # MATHEMATICAL ITALIC SMALL J; QQK
-1D48B ; [.1699.0020.0005.1D48B] # MATHEMATICAL BOLD ITALIC SMALL J; QQK
-1D4BF ; [.1699.0020.0005.1D4BF] # MATHEMATICAL SCRIPT SMALL J; QQK
-1D4F3 ; [.1699.0020.0005.1D4F3] # MATHEMATICAL BOLD SCRIPT SMALL J; QQK
-1D527 ; [.1699.0020.0005.1D527] # MATHEMATICAL FRAKTUR SMALL J; QQK
-1D55B ; [.1699.0020.0005.1D55B] # MATHEMATICAL DOUBLE-STRUCK SMALL J; QQK
-1D58F ; [.1699.0020.0005.1D58F] # MATHEMATICAL BOLD FRAKTUR SMALL J; QQK
-1D5C3 ; [.1699.0020.0005.1D5C3] # MATHEMATICAL SANS-SERIF SMALL J; QQK
-1D5F7 ; [.1699.0020.0005.1D5F7] # MATHEMATICAL SANS-SERIF BOLD SMALL J; QQK
-1D62B ; [.1699.0020.0005.1D62B] # MATHEMATICAL SANS-SERIF ITALIC SMALL J; QQK
-1D65F ; [.1699.0020.0005.1D65F] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J; QQK
-1D693 ; [.1699.0020.0005.1D693] # MATHEMATICAL MONOSPACE SMALL J; QQK
-24D9 ; [.1699.0020.0006.24D9] # CIRCLED LATIN SMALL LETTER J; QQK
-004A ; [.1699.0020.0008.004A] # LATIN CAPITAL LETTER J
-FF2A ; [.1699.0020.0009.FF2A] # FULLWIDTH LATIN CAPITAL LETTER J; QQK
-1F119 ; [*030E.0020.0004.1F119][.1699.0020.000A.1F119][*030F.0020.001F.1F119] # PARENTHESIZED LATIN CAPITAL LETTER J; QQKN
-1F1EF ; [.1699.0020.000A.1F1EF] # REGIONAL INDICATOR SYMBOL LETTER J; QQK
-1D409 ; [.1699.0020.000B.1D409] # MATHEMATICAL BOLD CAPITAL J; QQK
-1D43D ; [.1699.0020.000B.1D43D] # MATHEMATICAL ITALIC CAPITAL J; QQK
-1D471 ; [.1699.0020.000B.1D471] # MATHEMATICAL BOLD ITALIC CAPITAL J; QQK
-1D4A5 ; [.1699.0020.000B.1D4A5] # MATHEMATICAL SCRIPT CAPITAL J; QQK
-1D4D9 ; [.1699.0020.000B.1D4D9] # MATHEMATICAL BOLD SCRIPT CAPITAL J; QQK
-1D50D ; [.1699.0020.000B.1D50D] # MATHEMATICAL FRAKTUR CAPITAL J; QQK
-1D541 ; [.1699.0020.000B.1D541] # MATHEMATICAL DOUBLE-STRUCK CAPITAL J; QQK
-1D575 ; [.1699.0020.000B.1D575] # MATHEMATICAL BOLD FRAKTUR CAPITAL J; QQK
-1D5A9 ; [.1699.0020.000B.1D5A9] # MATHEMATICAL SANS-SERIF CAPITAL J; QQK
-1D5DD ; [.1699.0020.000B.1D5DD] # MATHEMATICAL SANS-SERIF BOLD CAPITAL J; QQK
-1D611 ; [.1699.0020.000B.1D611] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL J; QQK
-1D645 ; [.1699.0020.000B.1D645] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J; QQK
-1D679 ; [.1699.0020.000B.1D679] # MATHEMATICAL MONOSPACE CAPITAL J; QQK
-24BF ; [.1699.0020.000C.24BF] # CIRCLED LATIN CAPITAL LETTER J; QQK
-1F159 ; [.1699.0020.000C.1F159] # NEGATIVE CIRCLED LATIN CAPITAL LETTER J; QQK
-02B2 ; [.1699.0020.0014.02B2] # MODIFIER LETTER SMALL J; QQK
-2C7C ; [.1699.0020.0015.2C7C] # LATIN SUBSCRIPT SMALL LETTER J; QQK
-1D36 ; [.1699.0020.001D.1D36] # MODIFIER LETTER CAPITAL J; QQK
-1F139 ; [.1699.0020.001D.1F139] # SQUARED LATIN CAPITAL LETTER J; QQK
-1F179 ; [.1699.0020.001D.1F179] # NEGATIVE SQUARED LATIN CAPITAL LETTER J; QQK
-0135 ; [.1699.0020.0002.006A][.0000.003C.0002.0302] # LATIN SMALL LETTER J WITH CIRCUMFLEX; QQCM
-0134 ; [.1699.0020.0008.004A][.0000.003C.0002.0302] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX; QQCM
-01F0 ; [.1699.0020.0002.006A][.0000.0041.0002.030C] # LATIN SMALL LETTER J WITH CARON; QQCM
-0237 ; [.169D.0020.0002.0237] # LATIN SMALL LETTER DOTLESS J
-1D6A5 ; [.169D.0020.0005.1D6A5] # MATHEMATICAL ITALIC SMALL DOTLESS J; QQK
-1D0A ; [.16A1.0020.0002.1D0A] # LATIN LETTER SMALL CAPITAL J
-0249 ; [.16A2.0020.0002.0249] # LATIN SMALL LETTER J WITH STROKE
-0248 ; [.16A2.0020.0008.0248] # LATIN CAPITAL LETTER J WITH STROKE
-029D ; [.16A6.0020.0002.029D] # LATIN SMALL LETTER J WITH CROSSED-TAIL
-1DA8 ; [.16A6.0020.0014.1DA8] # MODIFIER LETTER SMALL J WITH CROSSED-TAIL; QQK
-025F ; [.16AA.0020.0002.025F] # LATIN SMALL LETTER DOTLESS J WITH STROKE
-1DA1 ; [.16AA.0020.0014.1DA1] # MODIFIER LETTER SMALL DOTLESS J WITH STROKE; QQK
-0284 ; [.16AE.0020.0002.0284] # LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
-006B ; [.16B2.0020.0002.006B] # LATIN SMALL LETTER K
-FF4B ; [.16B2.0020.0003.FF4B] # FULLWIDTH LATIN SMALL LETTER K; QQK
-1DDC ; [.16B2.0020.0004.1DDC] # COMBINING LATIN SMALL LETTER K; QQK
-24A6 ; [*030E.0020.0004.24A6][.16B2.0020.0004.24A6][*030F.0020.001F.24A6] # PARENTHESIZED LATIN SMALL LETTER K; QQKN
-1D424 ; [.16B2.0020.0005.1D424] # MATHEMATICAL BOLD SMALL K; QQK
-1D458 ; [.16B2.0020.0005.1D458] # MATHEMATICAL ITALIC SMALL K; QQK
-1D48C ; [.16B2.0020.0005.1D48C] # MATHEMATICAL BOLD ITALIC SMALL K; QQK
-1D4C0 ; [.16B2.0020.0005.1D4C0] # MATHEMATICAL SCRIPT SMALL K; QQK
-1D4F4 ; [.16B2.0020.0005.1D4F4] # MATHEMATICAL BOLD SCRIPT SMALL K; QQK
-1D528 ; [.16B2.0020.0005.1D528] # MATHEMATICAL FRAKTUR SMALL K; QQK
-1D55C ; [.16B2.0020.0005.1D55C] # MATHEMATICAL DOUBLE-STRUCK SMALL K; QQK
-1D590 ; [.16B2.0020.0005.1D590] # MATHEMATICAL BOLD FRAKTUR SMALL K; QQK
-1D5C4 ; [.16B2.0020.0005.1D5C4] # MATHEMATICAL SANS-SERIF SMALL K; QQK
-1D5F8 ; [.16B2.0020.0005.1D5F8] # MATHEMATICAL SANS-SERIF BOLD SMALL K; QQK
-1D62C ; [.16B2.0020.0005.1D62C] # MATHEMATICAL SANS-SERIF ITALIC SMALL K; QQK
-1D660 ; [.16B2.0020.0005.1D660] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K; QQK
-1D694 ; [.16B2.0020.0005.1D694] # MATHEMATICAL MONOSPACE SMALL K; QQK
-24DA ; [.16B2.0020.0006.24DA] # CIRCLED LATIN SMALL LETTER K; QQK
-004B ; [.16B2.0020.0008.004B] # LATIN CAPITAL LETTER K
-212A ; [.16B2.0020.0008.212A] # KELVIN SIGN; QQC
-FF2B ; [.16B2.0020.0009.FF2B] # FULLWIDTH LATIN CAPITAL LETTER K; QQK
-1F11A ; [*030E.0020.0004.1F11A][.16B2.0020.000A.1F11A][*030F.0020.001F.1F11A] # PARENTHESIZED LATIN CAPITAL LETTER K; QQKN
-1F1F0 ; [.16B2.0020.000A.1F1F0] # REGIONAL INDICATOR SYMBOL LETTER K; QQK
-1D40A ; [.16B2.0020.000B.1D40A] # MATHEMATICAL BOLD CAPITAL K; QQK
-1D43E ; [.16B2.0020.000B.1D43E] # MATHEMATICAL ITALIC CAPITAL K; QQK
-1D472 ; [.16B2.0020.000B.1D472] # MATHEMATICAL BOLD ITALIC CAPITAL K; QQK
-1D4A6 ; [.16B2.0020.000B.1D4A6] # MATHEMATICAL SCRIPT CAPITAL K; QQK
-1D4DA ; [.16B2.0020.000B.1D4DA] # MATHEMATICAL BOLD SCRIPT CAPITAL K; QQK
-1D50E ; [.16B2.0020.000B.1D50E] # MATHEMATICAL FRAKTUR CAPITAL K; QQK
-1D542 ; [.16B2.0020.000B.1D542] # MATHEMATICAL DOUBLE-STRUCK CAPITAL K; QQK
-1D576 ; [.16B2.0020.000B.1D576] # MATHEMATICAL BOLD FRAKTUR CAPITAL K; QQK
-1D5AA ; [.16B2.0020.000B.1D5AA] # MATHEMATICAL SANS-SERIF CAPITAL K; QQK
-1D5DE ; [.16B2.0020.000B.1D5DE] # MATHEMATICAL SANS-SERIF BOLD CAPITAL K; QQK
-1D612 ; [.16B2.0020.000B.1D612] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL K; QQK
-1D646 ; [.16B2.0020.000B.1D646] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K; QQK
-1D67A ; [.16B2.0020.000B.1D67A] # MATHEMATICAL MONOSPACE CAPITAL K; QQK
-24C0 ; [.16B2.0020.000C.24C0] # CIRCLED LATIN CAPITAL LETTER K; QQK
-1F15A ; [.16B2.0020.000C.1F15A] # NEGATIVE CIRCLED LATIN CAPITAL LETTER K; QQK
-1D4F ; [.16B2.0020.0014.1D4F] # MODIFIER LETTER SMALL K; QQK
-2096 ; [.16B2.0020.0015.2096] # LATIN SUBSCRIPT SMALL LETTER K; QQK
-1D37 ; [.16B2.0020.001D.1D37] # MODIFIER LETTER CAPITAL K; QQK
-1F13A ; [.16B2.0020.001D.1F13A] # SQUARED LATIN CAPITAL LETTER K; QQK
-1F17A ; [.16B2.0020.001D.1F17A] # NEGATIVE SQUARED LATIN CAPITAL LETTER K; QQK
-1E31 ; [.16B2.0020.0002.006B][.0000.0032.0002.0301] # LATIN SMALL LETTER K WITH ACUTE; QQCM
-1E30 ; [.16B2.0020.0008.004B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER K WITH ACUTE; QQCM
-01E9 ; [.16B2.0020.0002.006B][.0000.0041.0002.030C] # LATIN SMALL LETTER K WITH CARON; QQCM
-01E8 ; [.16B2.0020.0008.004B][.0000.0041.0002.030C] # LATIN CAPITAL LETTER K WITH CARON; QQCM
-0137 ; [.16B2.0020.0002.006B][.0000.0056.0002.0327] # LATIN SMALL LETTER K WITH CEDILLA; QQCM
-0136 ; [.16B2.0020.0008.004B][.0000.0056.0002.0327] # LATIN CAPITAL LETTER K WITH CEDILLA; QQCM
-A7A3 ; [.16B2.0020.0004.A7A3][.0000.0061.0004.A7A3] # LATIN SMALL LETTER K WITH OBLIQUE STROKE; QQKN
-A7A2 ; [.16B2.0020.000A.A7A2][.0000.0061.0004.A7A2] # LATIN CAPITAL LETTER K WITH OBLIQUE STROKE; QQKN
-1E33 ; [.16B2.0020.0002.006B][.0000.0070.0002.0323] # LATIN SMALL LETTER K WITH DOT BELOW; QQCM
-1E32 ; [.16B2.0020.0008.004B][.0000.0070.0002.0323] # LATIN CAPITAL LETTER K WITH DOT BELOW; QQCM
-1E35 ; [.16B2.0020.0002.006B][.0000.007B.0002.0331] # LATIN SMALL LETTER K WITH LINE BELOW; QQCM
-1E34 ; [.16B2.0020.0008.004B][.0000.007B.0002.0331] # LATIN CAPITAL LETTER K WITH LINE BELOW; QQCM
-3384 ; [.16B2.0020.001C.3384][.15A3.0020.001D.3384] # SQUARE KA; QQKN
-3385 ; [.16B2.0020.001D.3385][.15B9.0020.001D.3385] # SQUARE KB; QQKN
-3389 ; [.16B2.0020.001C.3389][.15D1.0020.001C.3389][.15A3.0020.001F.3389][.16C4.0020.001F.3389] # SQUARE KCAL; QQKN
-338F ; [.16B2.0020.001C.338F][.1644.0020.001C.338F] # SQUARE KG; QQKN
-3391 ; [.16B2.0020.001C.3391][.1667.0020.001D.3391][.1844.0020.001F.3391] # SQUARE KHZ; QQKN
-33CD ; [.16B2.0020.001D.33CD][.16B2.0020.001D.33CD] # SQUARE KK; QQKN
-3398 ; [.16B2.0020.001C.3398][.16C4.0020.001C.3398] # SQUARE KL; QQKN
-339E ; [.16B2.0020.001C.339E][.16F4.0020.001C.339E] # SQUARE KM; QQKN
-33CE ; [.16B2.0020.001D.33CE][.16F4.0020.001D.33CE] # SQUARE KM CAPITAL; QQKN
-33A2 ; [.16B2.0020.001C.33A2][.16F4.0020.001C.33A2][.159B.0020.001F.33A2] # SQUARE KM SQUARED; QQKN
-33A6 ; [.16B2.0020.001C.33A6][.16F4.0020.001C.33A6][.159C.0020.001F.33A6] # SQUARE KM CUBED; QQKN
-33AA ; [.16B2.0020.001C.33AA][.1749.0020.001D.33AA][.15A3.0020.001F.33AA] # SQUARE KPA; QQKN
-33CF ; [.16B2.0020.001C.33CF][.17C9.0020.001C.33CF] # SQUARE KT; QQKN
-33B8 ; [.16B2.0020.001C.33B8][.1812.0020.001D.33B8] # SQUARE KV; QQKN
-33BE ; [.16B2.0020.001C.33BE][.1824.0020.001D.33BE] # SQUARE KW; QQKN
-33C0 ; [.16B2.0020.001C.33C0][.1904.0020.001D.33C0] # SQUARE K OHM; QQKN
-1D0B ; [.16B6.0020.0002.1D0B] # LATIN LETTER SMALL CAPITAL K
-1D84 ; [.16B7.0020.0002.1D84] # LATIN SMALL LETTER K WITH PALATAL HOOK
-0199 ; [.16B8.0020.0002.0199] # LATIN SMALL LETTER K WITH HOOK
-0198 ; [.16B8.0020.0008.0198] # LATIN CAPITAL LETTER K WITH HOOK
-2C6A ; [.16BC.0020.0002.2C6A] # LATIN SMALL LETTER K WITH DESCENDER
-2C69 ; [.16BC.0020.0008.2C69] # LATIN CAPITAL LETTER K WITH DESCENDER
-A741 ; [.16BD.0020.0002.A741] # LATIN SMALL LETTER K WITH STROKE
-A740 ; [.16BD.0020.0008.A740] # LATIN CAPITAL LETTER K WITH STROKE
-A743 ; [.16BE.0020.0002.A743] # LATIN SMALL LETTER K WITH DIAGONAL STROKE
-A742 ; [.16BE.0020.0008.A742] # LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
-A745 ; [.16BF.0020.0002.A745] # LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
-A744 ; [.16BF.0020.0008.A744] # LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
-029E ; [.16C0.0020.0002.029E] # LATIN SMALL LETTER TURNED K
-006C ; [.16C4.0020.0002.006C] # LATIN SMALL LETTER L
-FF4C ; [.16C4.0020.0003.FF4C] # FULLWIDTH LATIN SMALL LETTER L; QQK
-1DDD ; [.16C4.0020.0004.1DDD] # COMBINING LATIN SMALL LETTER L; QQK
-217C ; [.16C4.0020.0004.217C] # SMALL ROMAN NUMERAL FIFTY; QQK
-24A7 ; [*030E.0020.0004.24A7][.16C4.0020.0004.24A7][*030F.0020.001F.24A7] # PARENTHESIZED LATIN SMALL LETTER L; QQKN
-2113 ; [.16C4.0020.0005.2113] # SCRIPT SMALL L; QQK
-1D425 ; [.16C4.0020.0005.1D425] # MATHEMATICAL BOLD SMALL L; QQK
-1D459 ; [.16C4.0020.0005.1D459] # MATHEMATICAL ITALIC SMALL L; QQK
-1D48D ; [.16C4.0020.0005.1D48D] # MATHEMATICAL BOLD ITALIC SMALL L; QQK
-1D4C1 ; [.16C4.0020.0005.1D4C1] # MATHEMATICAL SCRIPT SMALL L; QQK
-1D4F5 ; [.16C4.0020.0005.1D4F5] # MATHEMATICAL BOLD SCRIPT SMALL L; QQK
-1D529 ; [.16C4.0020.0005.1D529] # MATHEMATICAL FRAKTUR SMALL L; QQK
-1D55D ; [.16C4.0020.0005.1D55D] # MATHEMATICAL DOUBLE-STRUCK SMALL L; QQK
-1D591 ; [.16C4.0020.0005.1D591] # MATHEMATICAL BOLD FRAKTUR SMALL L; QQK
-1D5C5 ; [.16C4.0020.0005.1D5C5] # MATHEMATICAL SANS-SERIF SMALL L; QQK
-1D5F9 ; [.16C4.0020.0005.1D5F9] # MATHEMATICAL SANS-SERIF BOLD SMALL L; QQK
-1D62D ; [.16C4.0020.0005.1D62D] # MATHEMATICAL SANS-SERIF ITALIC SMALL L; QQK
-1D661 ; [.16C4.0020.0005.1D661] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L; QQK
-1D695 ; [.16C4.0020.0005.1D695] # MATHEMATICAL MONOSPACE SMALL L; QQK
-24DB ; [.16C4.0020.0006.24DB] # CIRCLED LATIN SMALL LETTER L; QQK
-004C ; [.16C4.0020.0008.004C] # LATIN CAPITAL LETTER L
-FF2C ; [.16C4.0020.0009.FF2C] # FULLWIDTH LATIN CAPITAL LETTER L; QQK
-216C ; [.16C4.0020.000A.216C] # ROMAN NUMERAL FIFTY; QQK
-1F11B ; [*030E.0020.0004.1F11B][.16C4.0020.000A.1F11B][*030F.0020.001F.1F11B] # PARENTHESIZED LATIN CAPITAL LETTER L; QQKN
-1F1F1 ; [.16C4.0020.000A.1F1F1] # REGIONAL INDICATOR SYMBOL LETTER L; QQK
-2112 ; [.16C4.0020.000B.2112] # SCRIPT CAPITAL L; QQK
-1D40B ; [.16C4.0020.000B.1D40B] # MATHEMATICAL BOLD CAPITAL L; QQK
-1D43F ; [.16C4.0020.000B.1D43F] # MATHEMATICAL ITALIC CAPITAL L; QQK
-1D473 ; [.16C4.0020.000B.1D473] # MATHEMATICAL BOLD ITALIC CAPITAL L; QQK
-1D4DB ; [.16C4.0020.000B.1D4DB] # MATHEMATICAL BOLD SCRIPT CAPITAL L; QQK
-1D50F ; [.16C4.0020.000B.1D50F] # MATHEMATICAL FRAKTUR CAPITAL L; QQK
-1D543 ; [.16C4.0020.000B.1D543] # MATHEMATICAL DOUBLE-STRUCK CAPITAL L; QQK
-1D577 ; [.16C4.0020.000B.1D577] # MATHEMATICAL BOLD FRAKTUR CAPITAL L; QQK
-1D5AB ; [.16C4.0020.000B.1D5AB] # MATHEMATICAL SANS-SERIF CAPITAL L; QQK
-1D5DF ; [.16C4.0020.000B.1D5DF] # MATHEMATICAL SANS-SERIF BOLD CAPITAL L; QQK
-1D613 ; [.16C4.0020.000B.1D613] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL L; QQK
-1D647 ; [.16C4.0020.000B.1D647] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L; QQK
-1D67B ; [.16C4.0020.000B.1D67B] # MATHEMATICAL MONOSPACE CAPITAL L; QQK
-24C1 ; [.16C4.0020.000C.24C1] # CIRCLED LATIN CAPITAL LETTER L; QQK
-1F15B ; [.16C4.0020.000C.1F15B] # NEGATIVE CIRCLED LATIN CAPITAL LETTER L; QQK
-02E1 ; [.16C4.0020.0014.02E1] # MODIFIER LETTER SMALL L; QQK
-2097 ; [.16C4.0020.0015.2097] # LATIN SUBSCRIPT SMALL LETTER L; QQK
-1D38 ; [.16C4.0020.001D.1D38] # MODIFIER LETTER CAPITAL L; QQK
-1F13B ; [.16C4.0020.001D.1F13B] # SQUARED LATIN CAPITAL LETTER L; QQK
-1F17B ; [.16C4.0020.001D.1F17B] # NEGATIVE SQUARED LATIN CAPITAL LETTER L; QQK
-013A ; [.16C4.0020.0002.006C][.0000.0032.0002.0301] # LATIN SMALL LETTER L WITH ACUTE; QQCM
-0139 ; [.16C4.0020.0008.004C][.0000.0032.0002.0301] # LATIN CAPITAL LETTER L WITH ACUTE; QQCM
-013E ; [.16C4.0020.0002.006C][.0000.0041.0002.030C] # LATIN SMALL LETTER L WITH CARON; QQCM
-013D ; [.16C4.0020.0008.004C][.0000.0041.0002.030C] # LATIN CAPITAL LETTER L WITH CARON; QQCM
-013C ; [.16C4.0020.0002.006C][.0000.0056.0002.0327] # LATIN SMALL LETTER L WITH CEDILLA; QQCM
-013B ; [.16C4.0020.0008.004C][.0000.0056.0002.0327] # LATIN CAPITAL LETTER L WITH CEDILLA; QQCM
-1E37 ; [.16C4.0020.0002.006C][.0000.0070.0002.0323] # LATIN SMALL LETTER L WITH DOT BELOW; QQCM
-1E36 ; [.16C4.0020.0008.004C][.0000.0070.0002.0323] # LATIN CAPITAL LETTER L WITH DOT BELOW; QQCM
-1E39 ; [.16C4.0020.0002.006C][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON; QQCM
-1E38 ; [.16C4.0020.0008.004C][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON; QQCM
-1E3D ; [.16C4.0020.0002.006C][.0000.0078.0002.032D] # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW; QQCM
-1E3C ; [.16C4.0020.0008.004C][.0000.0078.0002.032D] # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW; QQCM
-1E3B ; [.16C4.0020.0002.006C][.0000.007B.0002.0331] # LATIN SMALL LETTER L WITH LINE BELOW; QQCM
-1E3A ; [.16C4.0020.0008.004C][.0000.007B.0002.0331] # LATIN CAPITAL LETTER L WITH LINE BELOW; QQCM
-0142 ; [.16C4.0020.0002.006C][.0000.007D.0002.0335] # LATIN SMALL LETTER L WITH STROKE; QQCM
-0141 ; [.16C4.0020.0008.004C][.0000.007D.0002.0335] # LATIN CAPITAL LETTER L WITH STROKE; QQCM
-0140 ; [.16C4.0020.0002.0140][.0000.015F.0002.0140] # LATIN SMALL LETTER L WITH MIDDLE DOT; QQKL
-006C 00B7 ; [.16C4.0020.0002.0140][.0000.015F.0002.0140] # LATIN SMALL LETTER L WITH MIDDLE DOT
-006C 0387 ; [.16C4.0020.0002.0140][.0000.015F.0002.0140] # LATIN SMALL LETTER L WITH MIDDLE DOT
-013F ; [.16C4.0020.0008.013F][.0000.015F.0002.013F] # LATIN CAPITAL LETTER L WITH MIDDLE DOT; QQKL
-004C 00B7 ; [.16C4.0020.0008.013F][.0000.015F.0002.013F] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
-004C 0387 ; [.16C4.0020.0008.013F][.0000.015F.0002.013F] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
-01C9 ; [.16C4.0020.0004.01C9][.1699.0020.0004.01C9] # LATIN SMALL LETTER LJ; QQKN
-01C8 ; [.16C4.0020.000A.01C8][.1699.0020.0004.01C8] # LATIN CAPITAL LETTER L WITH SMALL LETTER J; QQKN
-01C7 ; [.16C4.0020.000A.01C7][.1699.0020.000A.01C7] # LATIN CAPITAL LETTER LJ; QQKN
-1EFB ; [.16C4.0020.0004.1EFB][.16C4.0020.0004.1EFB] # LATIN SMALL LETTER MIDDLE-WELSH LL; QQKN
-1EFA ; [.16C4.0020.000A.1EFA][.16C4.0020.000A.1EFA] # LATIN CAPITAL LETTER MIDDLE-WELSH LL; QQKN
-33D0 ; [.16C4.0020.001C.33D0][.16F4.0020.001C.33D0] # SQUARE LM; QQKN
-33D1 ; [.16C4.0020.001C.33D1][.1702.0020.001C.33D1] # SQUARE LN; QQKN
-33D2 ; [.16C4.0020.001C.33D2][.1724.0020.001C.33D2][.1644.0020.001F.33D2] # SQUARE LOG; QQKN
-02AA ; [.16C4.0020.0004.02AA][.17A6.0020.0004.02AA] # LATIN SMALL LETTER LS DIGRAPH; QQKN
-32CF ; [.16C4.0020.001D.32CF][.17C9.0020.001D.32CF][.15E4.0020.001F.32CF] # LIMITED LIABILITY SIGN; QQKN
-33D3 ; [.16C4.0020.001C.33D3][.182E.0020.001C.33D3] # SQUARE LX; QQKN
-02AB ; [.16C4.0020.0004.02AB][.1844.0020.0004.02AB] # LATIN SMALL LETTER LZ DIGRAPH; QQKN
-029F ; [.16C8.0020.0002.029F] # LATIN LETTER SMALL CAPITAL L
-1DDE ; [.16C8.0020.0004.1DDE] # COMBINING LATIN LETTER SMALL CAPITAL L; QQK
-1DAB ; [.16C8.0020.0014.1DAB] # MODIFIER LETTER SMALL CAPITAL L; QQK
-A747 ; [.16CC.0020.0002.A747] # LATIN SMALL LETTER BROKEN L
-A746 ; [.16CC.0020.0008.A746] # LATIN CAPITAL LETTER BROKEN L
-1D0C ; [.16CD.0020.0002.1D0C] # LATIN LETTER SMALL CAPITAL L WITH STROKE
-A749 ; [.16CE.0020.0002.A749] # LATIN SMALL LETTER L WITH HIGH STROKE
-A748 ; [.16CE.0020.0008.A748] # LATIN CAPITAL LETTER L WITH HIGH STROKE
-019A ; [.16CF.0020.0002.019A] # LATIN SMALL LETTER L WITH BAR
-023D ; [.16CF.0020.0008.023D] # LATIN CAPITAL LETTER L WITH BAR
-2C61 ; [.16D3.0020.0002.2C61] # LATIN SMALL LETTER L WITH DOUBLE BAR
-2C60 ; [.16D3.0020.0008.2C60] # LATIN CAPITAL LETTER L WITH DOUBLE BAR
-026B ; [.16D4.0020.0002.026B] # LATIN SMALL LETTER L WITH MIDDLE TILDE
-2C62 ; [.16D4.0020.0008.2C62] # LATIN CAPITAL LETTER L WITH MIDDLE TILDE
-026C ; [.16D8.0020.0002.026C] # LATIN SMALL LETTER L WITH BELT
-1D85 ; [.16DC.0020.0002.1D85] # LATIN SMALL LETTER L WITH PALATAL HOOK
-1DAA ; [.16DC.0020.0014.1DAA] # MODIFIER LETTER SMALL L WITH PALATAL HOOK; QQK
-026D ; [.16DD.0020.0002.026D] # LATIN SMALL LETTER L WITH RETROFLEX HOOK
-1DA9 ; [.16DD.0020.0014.1DA9] # MODIFIER LETTER SMALL L WITH RETROFLEX HOOK; QQK
-A78E ; [.16E1.0020.0002.A78E] # LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
-0234 ; [.16E2.0020.0002.0234] # LATIN SMALL LETTER L WITH CURL
-A772 ; [.16E6.0020.0002.A772] # LATIN SMALL LETTER LUM
-026E ; [.16E7.0020.0002.026E] # LATIN SMALL LETTER LEZH
-A781 ; [.16EB.0020.0002.A781] # LATIN SMALL LETTER TURNED L
-A780 ; [.16EB.0020.0008.A780] # LATIN CAPITAL LETTER TURNED L
-019B ; [.16EC.0020.0002.019B] # LATIN SMALL LETTER LAMBDA WITH STROKE
-028E ; [.16F0.0020.0002.028E] # LATIN SMALL LETTER TURNED Y
-006D ; [.16F4.0020.0002.006D] # LATIN SMALL LETTER M
-FF4D ; [.16F4.0020.0003.FF4D] # FULLWIDTH LATIN SMALL LETTER M; QQK
-036B ; [.16F4.0020.0004.036B] # COMBINING LATIN SMALL LETTER M; QQK
-217F ; [.16F4.0020.0004.217F] # SMALL ROMAN NUMERAL ONE THOUSAND; QQK
-24A8 ; [*030E.0020.0004.24A8][.16F4.0020.0004.24A8][*030F.0020.001F.24A8] # PARENTHESIZED LATIN SMALL LETTER M; QQKN
-1D426 ; [.16F4.0020.0005.1D426] # MATHEMATICAL BOLD SMALL M; QQK
-1D45A ; [.16F4.0020.0005.1D45A] # MATHEMATICAL ITALIC SMALL M; QQK
-1D48E ; [.16F4.0020.0005.1D48E] # MATHEMATICAL BOLD ITALIC SMALL M; QQK
-1D4C2 ; [.16F4.0020.0005.1D4C2] # MATHEMATICAL SCRIPT SMALL M; QQK
-1D4F6 ; [.16F4.0020.0005.1D4F6] # MATHEMATICAL BOLD SCRIPT SMALL M; QQK
-1D52A ; [.16F4.0020.0005.1D52A] # MATHEMATICAL FRAKTUR SMALL M; QQK
-1D55E ; [.16F4.0020.0005.1D55E] # MATHEMATICAL DOUBLE-STRUCK SMALL M; QQK
-1D592 ; [.16F4.0020.0005.1D592] # MATHEMATICAL BOLD FRAKTUR SMALL M; QQK
-1D5C6 ; [.16F4.0020.0005.1D5C6] # MATHEMATICAL SANS-SERIF SMALL M; QQK
-1D5FA ; [.16F4.0020.0005.1D5FA] # MATHEMATICAL SANS-SERIF BOLD SMALL M; QQK
-1D62E ; [.16F4.0020.0005.1D62E] # MATHEMATICAL SANS-SERIF ITALIC SMALL M; QQK
-1D662 ; [.16F4.0020.0005.1D662] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M; QQK
-1D696 ; [.16F4.0020.0005.1D696] # MATHEMATICAL MONOSPACE SMALL M; QQK
-24DC ; [.16F4.0020.0006.24DC] # CIRCLED LATIN SMALL LETTER M; QQK
-004D ; [.16F4.0020.0008.004D] # LATIN CAPITAL LETTER M
-FF2D ; [.16F4.0020.0009.FF2D] # FULLWIDTH LATIN CAPITAL LETTER M; QQK
-216F ; [.16F4.0020.000A.216F] # ROMAN NUMERAL ONE THOUSAND; QQK
-1F11C ; [*030E.0020.0004.1F11C][.16F4.0020.000A.1F11C][*030F.0020.001F.1F11C] # PARENTHESIZED LATIN CAPITAL LETTER M; QQKN
-1F1F2 ; [.16F4.0020.000A.1F1F2] # REGIONAL INDICATOR SYMBOL LETTER M; QQK
-2133 ; [.16F4.0020.000B.2133] # SCRIPT CAPITAL M; QQK
-1D40C ; [.16F4.0020.000B.1D40C] # MATHEMATICAL BOLD CAPITAL M; QQK
-1D440 ; [.16F4.0020.000B.1D440] # MATHEMATICAL ITALIC CAPITAL M; QQK
-1D474 ; [.16F4.0020.000B.1D474] # MATHEMATICAL BOLD ITALIC CAPITAL M; QQK
-1D4DC ; [.16F4.0020.000B.1D4DC] # MATHEMATICAL BOLD SCRIPT CAPITAL M; QQK
-1D510 ; [.16F4.0020.000B.1D510] # MATHEMATICAL FRAKTUR CAPITAL M; QQK
-1D544 ; [.16F4.0020.000B.1D544] # MATHEMATICAL DOUBLE-STRUCK CAPITAL M; QQK
-1D578 ; [.16F4.0020.000B.1D578] # MATHEMATICAL BOLD FRAKTUR CAPITAL M; QQK
-1D5AC ; [.16F4.0020.000B.1D5AC] # MATHEMATICAL SANS-SERIF CAPITAL M; QQK
-1D5E0 ; [.16F4.0020.000B.1D5E0] # MATHEMATICAL SANS-SERIF BOLD CAPITAL M; QQK
-1D614 ; [.16F4.0020.000B.1D614] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL M; QQK
-1D648 ; [.16F4.0020.000B.1D648] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M; QQK
-1D67C ; [.16F4.0020.000B.1D67C] # MATHEMATICAL MONOSPACE CAPITAL M; QQK
-24C2 ; [.16F4.0020.000C.24C2] # CIRCLED LATIN CAPITAL LETTER M; QQK
-1F15C ; [.16F4.0020.000C.1F15C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER M; QQK
-1D50 ; [.16F4.0020.0014.1D50] # MODIFIER LETTER SMALL M; QQK
-2098 ; [.16F4.0020.0015.2098] # LATIN SUBSCRIPT SMALL LETTER M; QQK
-1D39 ; [.16F4.0020.001D.1D39] # MODIFIER LETTER CAPITAL M; QQK
-1F13C ; [.16F4.0020.001D.1F13C] # SQUARED LATIN CAPITAL LETTER M; QQK
-1F17C ; [.16F4.0020.001D.1F17C] # NEGATIVE SQUARED LATIN CAPITAL LETTER M; QQK
-1E3F ; [.16F4.0020.0002.006D][.0000.0032.0002.0301] # LATIN SMALL LETTER M WITH ACUTE; QQCM
-1E3E ; [.16F4.0020.0008.004D][.0000.0032.0002.0301] # LATIN CAPITAL LETTER M WITH ACUTE; QQCM
-1E41 ; [.16F4.0020.0002.006D][.0000.0052.0002.0307] # LATIN SMALL LETTER M WITH DOT ABOVE; QQCM
-1E40 ; [.16F4.0020.0008.004D][.0000.0052.0002.0307] # LATIN CAPITAL LETTER M WITH DOT ABOVE; QQCM
-1E43 ; [.16F4.0020.0002.006D][.0000.0070.0002.0323] # LATIN SMALL LETTER M WITH DOT BELOW; QQCM
-1E42 ; [.16F4.0020.0008.004D][.0000.0070.0002.0323] # LATIN CAPITAL LETTER M WITH DOT BELOW; QQCM
-33A1 ; [.16F4.0020.001C.33A1][.159B.0020.001C.33A1] # SQUARE M SQUARED; QQKN
-33A5 ; [.16F4.0020.001C.33A5][.159C.0020.001C.33A5] # SQUARE M CUBED; QQKN
-3383 ; [.16F4.0020.001C.3383][.15A3.0020.001D.3383] # SQUARE MA; QQKN
-33D4 ; [.16F4.0020.001C.33D4][.15B9.0020.001C.33D4] # SQUARE MB SMALL; QQKN
-3386 ; [.16F4.0020.001D.3386][.15B9.0020.001D.3386] # SQUARE MB; QQKN
-338E ; [.16F4.0020.001C.338E][.1644.0020.001C.338E] # SQUARE MG; QQKN
-3392 ; [.16F4.0020.001D.3392][.1667.0020.001D.3392][.1844.0020.001F.3392] # SQUARE MHZ; QQKN
-33D5 ; [.16F4.0020.001C.33D5][.1680.0020.001C.33D5][.16C4.0020.001F.33D5] # SQUARE MIL; QQKN
-3396 ; [.16F4.0020.001C.3396][.16C4.0020.001C.3396] # SQUARE ML; QQKN
-339C ; [.16F4.0020.001C.339C][.16F4.0020.001C.339C] # SQUARE MM; QQKN
-339F ; [.16F4.0020.001C.339F][.16F4.0020.001C.339F][.159B.0020.001F.339F] # SQUARE MM SQUARED; QQKN
-33A3 ; [.16F4.0020.001C.33A3][.16F4.0020.001C.33A3][.159C.0020.001F.33A3] # SQUARE MM CUBED; QQKN
-33D6 ; [.16F4.0020.001C.33D6][.1724.0020.001C.33D6][.16C4.0020.001F.33D6] # SQUARE MOL; QQKN
-33AB ; [.16F4.0020.001D.33AB][.1749.0020.001D.33AB][.15A3.0020.001F.33AB] # SQUARE MPA; QQKN
-33B3 ; [.16F4.0020.001C.33B3][.17A6.0020.001C.33B3] # SQUARE MS; QQKN
-33A7 ; [.16F4.0020.001C.33A7][*0579.0020.001C.33A7][.17A6.0020.001F.33A7] # SQUARE M OVER S; QQKN
-33A8 ; [.16F4.0020.001C.33A8][*0579.0020.001C.33A8][.17A6.0020.001F.33A8][.159B.0020.001F.33A8] # SQUARE M OVER S SQUARED; QQKN
-33B7 ; [.16F4.0020.001C.33B7][.1812.0020.001D.33B7] # SQUARE MV; QQKN
-33B9 ; [.16F4.0020.001D.33B9][.1812.0020.001D.33B9] # SQUARE MV MEGA; QQKN
-1F14B ; [.16F4.0020.001D.1F14B][.1812.0020.001D.1F14B] # SQUARED MV; QQKN
-33BD ; [.16F4.0020.001C.33BD][.1824.0020.001D.33BD] # SQUARE MW; QQKN
-33BF ; [.16F4.0020.001D.33BF][.1824.0020.001D.33BF] # SQUARE MW MEGA; QQKN
-33C1 ; [.16F4.0020.001D.33C1][.1904.0020.001D.33C1] # SQUARE M OHM; QQKN
-1D0D ; [.16F8.0020.0002.1D0D] # LATIN LETTER SMALL CAPITAL M
-1DDF ; [.16F8.0020.0004.1DDF] # COMBINING LATIN LETTER SMALL CAPITAL M; QQK
-1D6F ; [.16F9.0020.0002.1D6F] # LATIN SMALL LETTER M WITH MIDDLE TILDE
-1D86 ; [.16FA.0020.0002.1D86] # LATIN SMALL LETTER M WITH PALATAL HOOK
-0271 ; [.16FB.0020.0002.0271] # LATIN SMALL LETTER M WITH HOOK
-2C6E ; [.16FB.0020.0008.2C6E] # LATIN CAPITAL LETTER M WITH HOOK
-1DAC ; [.16FB.0020.0014.1DAC] # MODIFIER LETTER SMALL M WITH HOOK; QQK
-A7FD ; [.16FF.0020.0002.A7FD] # LATIN EPIGRAPHIC LETTER INVERTED M
-A7FF ; [.1700.0020.0002.A7FF] # LATIN EPIGRAPHIC LETTER ARCHAIC M
-A773 ; [.1701.0020.0002.A773] # LATIN SMALL LETTER MUM
-006E ; [.1702.0020.0002.006E] # LATIN SMALL LETTER N
-FF4E ; [.1702.0020.0003.FF4E] # FULLWIDTH LATIN SMALL LETTER N; QQK
-1DE0 ; [.1702.0020.0004.1DE0] # COMBINING LATIN SMALL LETTER N; QQK
-24A9 ; [*030E.0020.0004.24A9][.1702.0020.0004.24A9][*030F.0020.001F.24A9] # PARENTHESIZED LATIN SMALL LETTER N; QQKN
-1D427 ; [.1702.0020.0005.1D427] # MATHEMATICAL BOLD SMALL N; QQK
-1D45B ; [.1702.0020.0005.1D45B] # MATHEMATICAL ITALIC SMALL N; QQK
-1D48F ; [.1702.0020.0005.1D48F] # MATHEMATICAL BOLD ITALIC SMALL N; QQK
-1D4C3 ; [.1702.0020.0005.1D4C3] # MATHEMATICAL SCRIPT SMALL N; QQK
-1D4F7 ; [.1702.0020.0005.1D4F7] # MATHEMATICAL BOLD SCRIPT SMALL N; QQK
-1D52B ; [.1702.0020.0005.1D52B] # MATHEMATICAL FRAKTUR SMALL N; QQK
-1D55F ; [.1702.0020.0005.1D55F] # MATHEMATICAL DOUBLE-STRUCK SMALL N; QQK
-1D593 ; [.1702.0020.0005.1D593] # MATHEMATICAL BOLD FRAKTUR SMALL N; QQK
-1D5C7 ; [.1702.0020.0005.1D5C7] # MATHEMATICAL SANS-SERIF SMALL N; QQK
-1D5FB ; [.1702.0020.0005.1D5FB] # MATHEMATICAL SANS-SERIF BOLD SMALL N; QQK
-1D62F ; [.1702.0020.0005.1D62F] # MATHEMATICAL SANS-SERIF ITALIC SMALL N; QQK
-1D663 ; [.1702.0020.0005.1D663] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N; QQK
-1D697 ; [.1702.0020.0005.1D697] # MATHEMATICAL MONOSPACE SMALL N; QQK
-24DD ; [.1702.0020.0006.24DD] # CIRCLED LATIN SMALL LETTER N; QQK
-004E ; [.1702.0020.0008.004E] # LATIN CAPITAL LETTER N
-FF2E ; [.1702.0020.0009.FF2E] # FULLWIDTH LATIN CAPITAL LETTER N; QQK
-1F11D ; [*030E.0020.0004.1F11D][.1702.0020.000A.1F11D][*030F.0020.001F.1F11D] # PARENTHESIZED LATIN CAPITAL LETTER N; QQKN
-1F1F3 ; [.1702.0020.000A.1F1F3] # REGIONAL INDICATOR SYMBOL LETTER N; QQK
-2115 ; [.1702.0020.000B.2115] # DOUBLE-STRUCK CAPITAL N; QQK
-1D40D ; [.1702.0020.000B.1D40D] # MATHEMATICAL BOLD CAPITAL N; QQK
-1D441 ; [.1702.0020.000B.1D441] # MATHEMATICAL ITALIC CAPITAL N; QQK
-1D475 ; [.1702.0020.000B.1D475] # MATHEMATICAL BOLD ITALIC CAPITAL N; QQK
-1D4A9 ; [.1702.0020.000B.1D4A9] # MATHEMATICAL SCRIPT CAPITAL N; QQK
-1D4DD ; [.1702.0020.000B.1D4DD] # MATHEMATICAL BOLD SCRIPT CAPITAL N; QQK
-1D511 ; [.1702.0020.000B.1D511] # MATHEMATICAL FRAKTUR CAPITAL N; QQK
-1D579 ; [.1702.0020.000B.1D579] # MATHEMATICAL BOLD FRAKTUR CAPITAL N; QQK
-1D5AD ; [.1702.0020.000B.1D5AD] # MATHEMATICAL SANS-SERIF CAPITAL N; QQK
-1D5E1 ; [.1702.0020.000B.1D5E1] # MATHEMATICAL SANS-SERIF BOLD CAPITAL N; QQK
-1D615 ; [.1702.0020.000B.1D615] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL N; QQK
-1D649 ; [.1702.0020.000B.1D649] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N; QQK
-1D67D ; [.1702.0020.000B.1D67D] # MATHEMATICAL MONOSPACE CAPITAL N; QQK
-24C3 ; [.1702.0020.000C.24C3] # CIRCLED LATIN CAPITAL LETTER N; QQK
-1F15D ; [.1702.0020.000C.1F15D] # NEGATIVE CIRCLED LATIN CAPITAL LETTER N; QQK
-207F ; [.1702.0020.0014.207F] # SUPERSCRIPT LATIN SMALL LETTER N; QQK
-2099 ; [.1702.0020.0015.2099] # LATIN SUBSCRIPT SMALL LETTER N; QQK
-1D3A ; [.1702.0020.001D.1D3A] # MODIFIER LETTER CAPITAL N; QQK
-1F13D ; [.1702.0020.001D.1F13D] # SQUARED LATIN CAPITAL LETTER N; QQK
-1F17D ; [.1702.0020.001D.1F17D] # NEGATIVE SQUARED LATIN CAPITAL LETTER N; QQK
-0144 ; [.1702.0020.0002.006E][.0000.0032.0002.0301] # LATIN SMALL LETTER N WITH ACUTE; QQCM
-0143 ; [.1702.0020.0008.004E][.0000.0032.0002.0301] # LATIN CAPITAL LETTER N WITH ACUTE; QQCM
-01F9 ; [.1702.0020.0002.006E][.0000.0035.0002.0300] # LATIN SMALL LETTER N WITH GRAVE; QQCM
-01F8 ; [.1702.0020.0008.004E][.0000.0035.0002.0300] # LATIN CAPITAL LETTER N WITH GRAVE; QQCM
-0148 ; [.1702.0020.0002.006E][.0000.0041.0002.030C] # LATIN SMALL LETTER N WITH CARON; QQCM
-0147 ; [.1702.0020.0008.004E][.0000.0041.0002.030C] # LATIN CAPITAL LETTER N WITH CARON; QQCM
-00F1 ; [.1702.0020.0002.006E][.0000.004E.0002.0303] # LATIN SMALL LETTER N WITH TILDE; QQCM
-00D1 ; [.1702.0020.0008.004E][.0000.004E.0002.0303] # LATIN CAPITAL LETTER N WITH TILDE; QQCM
-1E45 ; [.1702.0020.0002.006E][.0000.0052.0002.0307] # LATIN SMALL LETTER N WITH DOT ABOVE; QQCM
-1E44 ; [.1702.0020.0008.004E][.0000.0052.0002.0307] # LATIN CAPITAL LETTER N WITH DOT ABOVE; QQCM
-0146 ; [.1702.0020.0002.006E][.0000.0056.0002.0327] # LATIN SMALL LETTER N WITH CEDILLA; QQCM
-0145 ; [.1702.0020.0008.004E][.0000.0056.0002.0327] # LATIN CAPITAL LETTER N WITH CEDILLA; QQCM
-A7A5 ; [.1702.0020.0004.A7A5][.0000.0061.0004.A7A5] # LATIN SMALL LETTER N WITH OBLIQUE STROKE; QQKN
-A7A4 ; [.1702.0020.000A.A7A4][.0000.0061.0004.A7A4] # LATIN CAPITAL LETTER N WITH OBLIQUE STROKE; QQKN
-1E47 ; [.1702.0020.0002.006E][.0000.0070.0002.0323] # LATIN SMALL LETTER N WITH DOT BELOW; QQCM
-1E46 ; [.1702.0020.0008.004E][.0000.0070.0002.0323] # LATIN CAPITAL LETTER N WITH DOT BELOW; QQCM
-1E4B ; [.1702.0020.0002.006E][.0000.0078.0002.032D] # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW; QQCM
-1E4A ; [.1702.0020.0008.004E][.0000.0078.0002.032D] # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW; QQCM
-1E49 ; [.1702.0020.0002.006E][.0000.007B.0002.0331] # LATIN SMALL LETTER N WITH LINE BELOW; QQCM
-1E48 ; [.1702.0020.0008.004E][.0000.007B.0002.0331] # LATIN CAPITAL LETTER N WITH LINE BELOW; QQCM
-3381 ; [.1702.0020.001C.3381][.15A3.0020.001D.3381] # SQUARE NA; QQKN
-1F195 ; [.1702.0020.001D.1F195][.15FF.0020.001D.1F195][.1824.0020.001F.1F195] # SQUARED NEW; QQKN
-338B ; [.1702.0020.001C.338B][.1637.0020.001D.338B] # SQUARE NF; QQKN
-1F196 ; [.1702.0020.001D.1F196][.1644.0020.001D.1F196] # SQUARED NG; QQKN
-01CC ; [.1702.0020.0004.01CC][.1699.0020.0004.01CC] # LATIN SMALL LETTER NJ; QQKN
-01CB ; [.1702.0020.000A.01CB][.1699.0020.0004.01CB] # LATIN CAPITAL LETTER N WITH SMALL LETTER J; QQKN
-01CA ; [.1702.0020.000A.01CA][.1699.0020.000A.01CA] # LATIN CAPITAL LETTER NJ; QQKN
-339A ; [.1702.0020.001C.339A][.16F4.0020.001C.339A] # SQUARE NM; QQKN
-2116 ; [.1702.0020.000A.2116][.1724.0020.0004.2116] # NUMERO SIGN; QQKN
-33B1 ; [.1702.0020.001C.33B1][.17A6.0020.001C.33B1] # SQUARE NS; QQKN
-33B5 ; [.1702.0020.001C.33B5][.1812.0020.001D.33B5] # SQUARE NV; QQKN
-33BB ; [.1702.0020.001C.33BB][.1824.0020.001D.33BB] # SQUARE NW; QQKN
-0274 ; [.1706.0020.0002.0274] # LATIN LETTER SMALL CAPITAL N
-1DE1 ; [.1706.0020.0004.1DE1] # COMBINING LATIN LETTER SMALL CAPITAL N; QQK
-1DB0 ; [.1706.0020.0014.1DB0] # MODIFIER LETTER SMALL CAPITAL N; QQK
-1D3B ; [.170A.0020.0002.1D3B] # MODIFIER LETTER CAPITAL REVERSED N
-1D0E ; [.170B.0020.0002.1D0E] # LATIN LETTER SMALL CAPITAL REVERSED N
-1D70 ; [.170C.0020.0002.1D70] # LATIN SMALL LETTER N WITH MIDDLE TILDE
-0272 ; [.170D.0020.0002.0272] # LATIN SMALL LETTER N WITH LEFT HOOK
-019D ; [.170D.0020.0008.019D] # LATIN CAPITAL LETTER N WITH LEFT HOOK
-1DAE ; [.170D.0020.0014.1DAE] # MODIFIER LETTER SMALL N WITH LEFT HOOK; QQK
-019E ; [.1711.0020.0002.019E] # LATIN SMALL LETTER N WITH LONG RIGHT LEG
-0220 ; [.1711.0020.0008.0220] # LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
-A791 ; [.1715.0020.0002.A791] # LATIN SMALL LETTER N WITH DESCENDER
-A790 ; [.1715.0020.0008.A790] # LATIN CAPITAL LETTER N WITH DESCENDER
-1D87 ; [.1716.0020.0002.1D87] # LATIN SMALL LETTER N WITH PALATAL HOOK
-0273 ; [.1717.0020.0002.0273] # LATIN SMALL LETTER N WITH RETROFLEX HOOK
-1DAF ; [.1717.0020.0014.1DAF] # MODIFIER LETTER SMALL N WITH RETROFLEX HOOK; QQK
-0235 ; [.171B.0020.0002.0235] # LATIN SMALL LETTER N WITH CURL
-A774 ; [.171F.0020.0002.A774] # LATIN SMALL LETTER NUM
-014B ; [.1720.0020.0002.014B] # LATIN SMALL LETTER ENG
-014A ; [.1720.0020.0008.014A] # LATIN CAPITAL LETTER ENG
-1D51 ; [.1720.0020.0014.1D51] # MODIFIER LETTER SMALL ENG; QQK
-006F ; [.1724.0020.0002.006F] # LATIN SMALL LETTER O
-FF4F ; [.1724.0020.0003.FF4F] # FULLWIDTH LATIN SMALL LETTER O; QQK
-0366 ; [.1724.0020.0004.0366] # COMBINING LATIN SMALL LETTER O; QQK
-24AA ; [*030E.0020.0004.24AA][.1724.0020.0004.24AA][*030F.0020.001F.24AA] # PARENTHESIZED LATIN SMALL LETTER O; QQKN
-2134 ; [.1724.0020.0005.2134] # SCRIPT SMALL O; QQK
-1D428 ; [.1724.0020.0005.1D428] # MATHEMATICAL BOLD SMALL O; QQK
-1D45C ; [.1724.0020.0005.1D45C] # MATHEMATICAL ITALIC SMALL O; QQK
-1D490 ; [.1724.0020.0005.1D490] # MATHEMATICAL BOLD ITALIC SMALL O; QQK
-1D4F8 ; [.1724.0020.0005.1D4F8] # MATHEMATICAL BOLD SCRIPT SMALL O; QQK
-1D52C ; [.1724.0020.0005.1D52C] # MATHEMATICAL FRAKTUR SMALL O; QQK
-1D560 ; [.1724.0020.0005.1D560] # MATHEMATICAL DOUBLE-STRUCK SMALL O; QQK
-1D594 ; [.1724.0020.0005.1D594] # MATHEMATICAL BOLD FRAKTUR SMALL O; QQK
-1D5C8 ; [.1724.0020.0005.1D5C8] # MATHEMATICAL SANS-SERIF SMALL O; QQK
-1D5FC ; [.1724.0020.0005.1D5FC] # MATHEMATICAL SANS-SERIF BOLD SMALL O; QQK
-1D630 ; [.1724.0020.0005.1D630] # MATHEMATICAL SANS-SERIF ITALIC SMALL O; QQK
-1D664 ; [.1724.0020.0005.1D664] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O; QQK
-1D698 ; [.1724.0020.0005.1D698] # MATHEMATICAL MONOSPACE SMALL O; QQK
-24DE ; [.1724.0020.0006.24DE] # CIRCLED LATIN SMALL LETTER O; QQK
-004F ; [.1724.0020.0008.004F] # LATIN CAPITAL LETTER O
-FF2F ; [.1724.0020.0009.FF2F] # FULLWIDTH LATIN CAPITAL LETTER O; QQK
-1F11E ; [*030E.0020.0004.1F11E][.1724.0020.000A.1F11E][*030F.0020.001F.1F11E] # PARENTHESIZED LATIN CAPITAL LETTER O; QQKN
-1F1F4 ; [.1724.0020.000A.1F1F4] # REGIONAL INDICATOR SYMBOL LETTER O; QQK
-1D40E ; [.1724.0020.000B.1D40E] # MATHEMATICAL BOLD CAPITAL O; QQK
-1D442 ; [.1724.0020.000B.1D442] # MATHEMATICAL ITALIC CAPITAL O; QQK
-1D476 ; [.1724.0020.000B.1D476] # MATHEMATICAL BOLD ITALIC CAPITAL O; QQK
-1D4AA ; [.1724.0020.000B.1D4AA] # MATHEMATICAL SCRIPT CAPITAL O; QQK
-1D4DE ; [.1724.0020.000B.1D4DE] # MATHEMATICAL BOLD SCRIPT CAPITAL O; QQK
-1D512 ; [.1724.0020.000B.1D512] # MATHEMATICAL FRAKTUR CAPITAL O; QQK
-1D546 ; [.1724.0020.000B.1D546] # MATHEMATICAL DOUBLE-STRUCK CAPITAL O; QQK
-1D57A ; [.1724.0020.000B.1D57A] # MATHEMATICAL BOLD FRAKTUR CAPITAL O; QQK
-1D5AE ; [.1724.0020.000B.1D5AE] # MATHEMATICAL SANS-SERIF CAPITAL O; QQK
-1D5E2 ; [.1724.0020.000B.1D5E2] # MATHEMATICAL SANS-SERIF BOLD CAPITAL O; QQK
-1D616 ; [.1724.0020.000B.1D616] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL O; QQK
-1D64A ; [.1724.0020.000B.1D64A] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O; QQK
-1D67E ; [.1724.0020.000B.1D67E] # MATHEMATICAL MONOSPACE CAPITAL O; QQK
-24C4 ; [.1724.0020.000C.24C4] # CIRCLED LATIN CAPITAL LETTER O; QQK
-1F15E ; [.1724.0020.000C.1F15E] # NEGATIVE CIRCLED LATIN CAPITAL LETTER O; QQK
-00BA ; [.1724.0020.0014.00BA] # MASCULINE ORDINAL INDICATOR; QQK
-1D52 ; [.1724.0020.0014.1D52] # MODIFIER LETTER SMALL O; QQK
-2092 ; [.1724.0020.0015.2092] # LATIN SUBSCRIPT SMALL LETTER O; QQK
-1D3C ; [.1724.0020.001D.1D3C] # MODIFIER LETTER CAPITAL O; QQK
-1F13E ; [.1724.0020.001D.1F13E] # SQUARED LATIN CAPITAL LETTER O; QQK
-1F17E ; [.1724.0020.001D.1F17E] # NEGATIVE SQUARED LATIN CAPITAL LETTER O; QQK
-00F3 ; [.1724.0020.0002.006F][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH ACUTE; QQCM
-00D3 ; [.1724.0020.0008.004F][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH ACUTE; QQCM
-00F2 ; [.1724.0020.0002.006F][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH GRAVE; QQCM
-00D2 ; [.1724.0020.0008.004F][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH GRAVE; QQCM
-014F ; [.1724.0020.0002.006F][.0000.0037.0002.0306] # LATIN SMALL LETTER O WITH BREVE; QQCM
-014E ; [.1724.0020.0008.004F][.0000.0037.0002.0306] # LATIN CAPITAL LETTER O WITH BREVE; QQCM
-00F4 ; [.1724.0020.0002.006F][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX; QQCM
-00D4 ; [.1724.0020.0008.004F][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX; QQCM
-1ED1 ; [.1724.0020.0002.006F][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE; QQCM
-1ED0 ; [.1724.0020.0008.004F][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE; QQCM
-1ED3 ; [.1724.0020.0002.006F][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE; QQCM
-1ED2 ; [.1724.0020.0008.004F][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE; QQCM
-1ED7 ; [.1724.0020.0002.006F][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE; QQCM
-1ED6 ; [.1724.0020.0008.004F][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE; QQCM
-1ED5 ; [.1724.0020.0002.006F][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
-1ED4 ; [.1724.0020.0008.004F][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
-01D2 ; [.1724.0020.0002.006F][.0000.0041.0002.030C] # LATIN SMALL LETTER O WITH CARON; QQCM
-01D1 ; [.1724.0020.0008.004F][.0000.0041.0002.030C] # LATIN CAPITAL LETTER O WITH CARON; QQCM
-00F6 ; [.1724.0020.0002.006F][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH DIAERESIS; QQCM
-00D6 ; [.1724.0020.0008.004F][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH DIAERESIS; QQCM
-022B ; [.1724.0020.0002.006F][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON; QQCM
-022A ; [.1724.0020.0008.004F][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON; QQCM
-0151 ; [.1724.0020.0002.006F][.0000.004D.0002.030B] # LATIN SMALL LETTER O WITH DOUBLE ACUTE; QQCM
-0150 ; [.1724.0020.0008.004F][.0000.004D.0002.030B] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE; QQCM
-00F5 ; [.1724.0020.0002.006F][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH TILDE; QQCM
-00D5 ; [.1724.0020.0008.004F][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH TILDE; QQCM
-1E4D ; [.1724.0020.0002.006F][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE; QQCM
-1E4C ; [.1724.0020.0008.004F][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE; QQCM
-1E4F ; [.1724.0020.0002.006F][.0000.004E.0002.0303][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS; QQCM
-1E4E ; [.1724.0020.0008.004F][.0000.004E.0002.0303][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS; QQCM
-022D ; [.1724.0020.0002.006F][.0000.004E.0002.0303][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON; QQCM
-022C ; [.1724.0020.0008.004F][.0000.004E.0002.0303][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON; QQCM
-022F ; [.1724.0020.0002.006F][.0000.0052.0002.0307] # LATIN SMALL LETTER O WITH DOT ABOVE; QQCM
-022E ; [.1724.0020.0008.004F][.0000.0052.0002.0307] # LATIN CAPITAL LETTER O WITH DOT ABOVE; QQCM
-0231 ; [.1724.0020.0002.006F][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON; QQCM
-0230 ; [.1724.0020.0008.004F][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON; QQCM
-00F8 ; [.1724.0020.0002.006F][.0000.0054.0002.0338] # LATIN SMALL LETTER O WITH STROKE; QQCM
-00D8 ; [.1724.0020.0008.004F][.0000.0054.0002.0338] # LATIN CAPITAL LETTER O WITH STROKE; QQCM
-01FF ; [.1724.0020.0002.006F][.0000.0054.0002.0338][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE; QQCM
-01FE ; [.1724.0020.0008.004F][.0000.0054.0002.0338][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE; QQCM
-01EB ; [.1724.0020.0002.006F][.0000.0059.0002.0328] # LATIN SMALL LETTER O WITH OGONEK; QQCM
-01EA ; [.1724.0020.0008.004F][.0000.0059.0002.0328] # LATIN CAPITAL LETTER O WITH OGONEK; QQCM
-01ED ; [.1724.0020.0002.006F][.0000.0059.0002.0328][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH OGONEK AND MACRON; QQCM
-01EC ; [.1724.0020.0008.004F][.0000.0059.0002.0328][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON; QQCM
-014D ; [.1724.0020.0002.006F][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH MACRON; QQCM
-014C ; [.1724.0020.0008.004F][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH MACRON; QQCM
-1E53 ; [.1724.0020.0002.006F][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH MACRON AND ACUTE; QQCM
-1E52 ; [.1724.0020.0008.004F][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE; QQCM
-1E51 ; [.1724.0020.0002.006F][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH MACRON AND GRAVE; QQCM
-1E50 ; [.1724.0020.0008.004F][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE; QQCM
-1ECF ; [.1724.0020.0002.006F][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH HOOK ABOVE; QQCM
-1ECE ; [.1724.0020.0008.004F][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH HOOK ABOVE; QQCM
-020D ; [.1724.0020.0002.006F][.0000.0065.0002.030F] # LATIN SMALL LETTER O WITH DOUBLE GRAVE; QQCM
-020C ; [.1724.0020.0008.004F][.0000.0065.0002.030F] # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE; QQCM
-020F ; [.1724.0020.0002.006F][.0000.0067.0002.0311] # LATIN SMALL LETTER O WITH INVERTED BREVE; QQCM
-020E ; [.1724.0020.0008.004F][.0000.0067.0002.0311] # LATIN CAPITAL LETTER O WITH INVERTED BREVE; QQCM
-01A1 ; [.1724.0020.0002.006F][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN; QQCM
-01A0 ; [.1724.0020.0008.004F][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN; QQCM
-1EDB ; [.1724.0020.0002.006F][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH HORN AND ACUTE; QQCM
-1EDA ; [.1724.0020.0008.004F][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH HORN AND ACUTE; QQCM
-1EDD ; [.1724.0020.0002.006F][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH HORN AND GRAVE; QQCM
-1EDC ; [.1724.0020.0008.004F][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH HORN AND GRAVE; QQCM
-1EE1 ; [.1724.0020.0002.006F][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH HORN AND TILDE; QQCM
-1EE0 ; [.1724.0020.0008.004F][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH HORN AND TILDE; QQCM
-1EDF ; [.1724.0020.0002.006F][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE; QQCM
-1EDE ; [.1724.0020.0008.004F][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE; QQCM
-1EE3 ; [.1724.0020.0002.006F][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW; QQCM
-1EE2 ; [.1724.0020.0008.004F][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW; QQCM
-1ECD ; [.1724.0020.0002.006F][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH DOT BELOW; QQCM
-1ECC ; [.1724.0020.0008.004F][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH DOT BELOW; QQCM
-1ED9 ; [.1724.0020.0002.006F][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW; QQCM
-1ED8 ; [.1724.0020.0008.004F][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW; QQCM
-0153 ; [.1724.0020.0004.0153][.0000.015F.0004.0153][.15FF.0020.001F.0153] # LATIN SMALL LIGATURE OE; QQKN
-0152 ; [.1724.0020.000A.0152][.0000.015F.0004.0152][.15FF.0020.001F.0152] # LATIN CAPITAL LIGATURE OE; QQKN
-1F197 ; [.1724.0020.001D.1F197][.16B2.0020.001D.1F197] # SQUARED OK; QQKN
-A74F ; [.1724.0020.0004.A74F][.1724.0020.0004.A74F] # LATIN SMALL LETTER OO; QQKN
-A74E ; [.1724.0020.000A.A74E][.1724.0020.000A.A74E] # LATIN CAPITAL LETTER OO; QQKN
-3375 ; [.1724.0020.001C.3375][.1812.0020.001D.3375] # SQUARE OV; QQKN
-1D0F ; [.1728.0020.0002.1D0F] # LATIN LETTER SMALL CAPITAL O
-1D11 ; [.1729.0020.0002.1D11] # LATIN SMALL LETTER SIDEWAYS O
-0276 ; [.172A.0020.0002.0276] # LATIN LETTER SMALL CAPITAL OE
-1D14 ; [.172E.0020.0002.1D14] # LATIN SMALL LETTER TURNED OE
-1D13 ; [.172F.0020.0002.1D13] # LATIN SMALL LETTER SIDEWAYS O WITH STROKE
-0254 ; [.1730.0020.0002.0254] # LATIN SMALL LETTER OPEN O
-0186 ; [.1730.0020.0008.0186] # LATIN CAPITAL LETTER OPEN O
-1D53 ; [.1730.0020.0014.1D53] # MODIFIER LETTER SMALL OPEN O; QQK
-1D10 ; [.1734.0020.0002.1D10] # LATIN LETTER SMALL CAPITAL OPEN O
-1D12 ; [.1735.0020.0002.1D12] # LATIN SMALL LETTER SIDEWAYS OPEN O
-1D97 ; [.1736.0020.0002.1D97] # LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK
-A74D ; [.1737.0020.0002.A74D] # LATIN SMALL LETTER O WITH LOOP
-A74C ; [.1737.0020.0008.A74C] # LATIN CAPITAL LETTER O WITH LOOP
-1D16 ; [.1738.0020.0002.1D16] # LATIN SMALL LETTER TOP HALF O
-1D54 ; [.1738.0020.0014.1D54] # MODIFIER LETTER SMALL TOP HALF O; QQK
-1D17 ; [.1739.0020.0002.1D17] # LATIN SMALL LETTER BOTTOM HALF O
-1D55 ; [.1739.0020.0014.1D55] # MODIFIER LETTER SMALL BOTTOM HALF O; QQK
-2C7A ; [.173A.0020.0002.2C7A] # LATIN SMALL LETTER O WITH LOW RING INSIDE
-0275 ; [.173B.0020.0002.0275] # LATIN SMALL LETTER BARRED O
-019F ; [.173B.0020.0008.019F] # LATIN CAPITAL LETTER O WITH MIDDLE TILDE
-1DB1 ; [.173B.0020.0014.1DB1] # MODIFIER LETTER SMALL BARRED O; QQK
-A74B ; [.173F.0020.0002.A74B] # LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
-A74A ; [.173F.0020.0008.A74A] # LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
-0277 ; [.1740.0020.0002.0277] # LATIN SMALL LETTER CLOSED OMEGA
-0223 ; [.1744.0020.0002.0223] # LATIN SMALL LETTER OU
-0222 ; [.1744.0020.0008.0222] # LATIN CAPITAL LETTER OU
-1D3D ; [.1744.0020.001D.1D3D] # MODIFIER LETTER CAPITAL OU; QQK
-1D15 ; [.1748.0020.0002.1D15] # LATIN LETTER SMALL CAPITAL OU
-0070 ; [.1749.0020.0002.0070] # LATIN SMALL LETTER P
-FF50 ; [.1749.0020.0003.FF50] # FULLWIDTH LATIN SMALL LETTER P; QQK
-24AB ; [*030E.0020.0004.24AB][.1749.0020.0004.24AB][*030F.0020.001F.24AB] # PARENTHESIZED LATIN SMALL LETTER P; QQKN
-1D429 ; [.1749.0020.0005.1D429] # MATHEMATICAL BOLD SMALL P; QQK
-1D45D ; [.1749.0020.0005.1D45D] # MATHEMATICAL ITALIC SMALL P; QQK
-1D491 ; [.1749.0020.0005.1D491] # MATHEMATICAL BOLD ITALIC SMALL P; QQK
-1D4C5 ; [.1749.0020.0005.1D4C5] # MATHEMATICAL SCRIPT SMALL P; QQK
-1D4F9 ; [.1749.0020.0005.1D4F9] # MATHEMATICAL BOLD SCRIPT SMALL P; QQK
-1D52D ; [.1749.0020.0005.1D52D] # MATHEMATICAL FRAKTUR SMALL P; QQK
-1D561 ; [.1749.0020.0005.1D561] # MATHEMATICAL DOUBLE-STRUCK SMALL P; QQK
-1D595 ; [.1749.0020.0005.1D595] # MATHEMATICAL BOLD FRAKTUR SMALL P; QQK
-1D5C9 ; [.1749.0020.0005.1D5C9] # MATHEMATICAL SANS-SERIF SMALL P; QQK
-1D5FD ; [.1749.0020.0005.1D5FD] # MATHEMATICAL SANS-SERIF BOLD SMALL P; QQK
-1D631 ; [.1749.0020.0005.1D631] # MATHEMATICAL SANS-SERIF ITALIC SMALL P; QQK
-1D665 ; [.1749.0020.0005.1D665] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P; QQK
-1D699 ; [.1749.0020.0005.1D699] # MATHEMATICAL MONOSPACE SMALL P; QQK
-24DF ; [.1749.0020.0006.24DF] # CIRCLED LATIN SMALL LETTER P; QQK
-0050 ; [.1749.0020.0008.0050] # LATIN CAPITAL LETTER P
-FF30 ; [.1749.0020.0009.FF30] # FULLWIDTH LATIN CAPITAL LETTER P; QQK
-1F11F ; [*030E.0020.0004.1F11F][.1749.0020.000A.1F11F][*030F.0020.001F.1F11F] # PARENTHESIZED LATIN CAPITAL LETTER P; QQKN
-1F1F5 ; [.1749.0020.000A.1F1F5] # REGIONAL INDICATOR SYMBOL LETTER P; QQK
-2119 ; [.1749.0020.000B.2119] # DOUBLE-STRUCK CAPITAL P; QQK
-1D40F ; [.1749.0020.000B.1D40F] # MATHEMATICAL BOLD CAPITAL P; QQK
-1D443 ; [.1749.0020.000B.1D443] # MATHEMATICAL ITALIC CAPITAL P; QQK
-1D477 ; [.1749.0020.000B.1D477] # MATHEMATICAL BOLD ITALIC CAPITAL P; QQK
-1D4AB ; [.1749.0020.000B.1D4AB] # MATHEMATICAL SCRIPT CAPITAL P; QQK
-1D4DF ; [.1749.0020.000B.1D4DF] # MATHEMATICAL BOLD SCRIPT CAPITAL P; QQK
-1D513 ; [.1749.0020.000B.1D513] # MATHEMATICAL FRAKTUR CAPITAL P; QQK
-1D57B ; [.1749.0020.000B.1D57B] # MATHEMATICAL BOLD FRAKTUR CAPITAL P; QQK
-1D5AF ; [.1749.0020.000B.1D5AF] # MATHEMATICAL SANS-SERIF CAPITAL P; QQK
-1D5E3 ; [.1749.0020.000B.1D5E3] # MATHEMATICAL SANS-SERIF BOLD CAPITAL P; QQK
-1D617 ; [.1749.0020.000B.1D617] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL P; QQK
-1D64B ; [.1749.0020.000B.1D64B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P; QQK
-1D67F ; [.1749.0020.000B.1D67F] # MATHEMATICAL MONOSPACE CAPITAL P; QQK
-24C5 ; [.1749.0020.000C.24C5] # CIRCLED LATIN CAPITAL LETTER P; QQK
-1F15F ; [.1749.0020.000C.1F15F] # NEGATIVE CIRCLED LATIN CAPITAL LETTER P; QQK
-1D56 ; [.1749.0020.0014.1D56] # MODIFIER LETTER SMALL P; QQK
-209A ; [.1749.0020.0015.209A] # LATIN SUBSCRIPT SMALL LETTER P; QQK
-1D3E ; [.1749.0020.001D.1D3E] # MODIFIER LETTER CAPITAL P; QQK
-1F13F ; [.1749.0020.001D.1F13F] # SQUARED LATIN CAPITAL LETTER P; QQK
-1F17F ; [.1749.0020.001D.1F17F] # NEGATIVE SQUARED LATIN CAPITAL LETTER P; QQK
-1F18A ; [.1749.0020.001D.1F18A] # CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P; QQK
-1E55 ; [.1749.0020.0002.0070][.0000.0032.0002.0301] # LATIN SMALL LETTER P WITH ACUTE; QQCM
-1E54 ; [.1749.0020.0008.0050][.0000.0032.0002.0301] # LATIN CAPITAL LETTER P WITH ACUTE; QQCM
-1E57 ; [.1749.0020.0002.0070][.0000.0052.0002.0307] # LATIN SMALL LETTER P WITH DOT ABOVE; QQCM
-1E56 ; [.1749.0020.0008.0050][.0000.0052.0002.0307] # LATIN CAPITAL LETTER P WITH DOT ABOVE; QQCM
-3380 ; [.1749.0020.001C.3380][.15A3.0020.001D.3380] # SQUARE PA AMPS; QQKN
-33A9 ; [.1749.0020.001D.33A9][.15A3.0020.001C.33A9] # SQUARE PA; QQKN
-1F18C ; [.1749.0020.001D.1F18C][.15A3.0020.001D.1F18C] # NEGATIVE SQUARED PA; QQKN
-3376 ; [.1749.0020.001C.3376][.15D1.0020.001C.3376] # SQUARE PC; QQKN
-338A ; [.1749.0020.001C.338A][.1637.0020.001D.338A] # SQUARE PF; QQKN
-33D7 ; [.1749.0020.001D.33D7][.1667.0020.001D.33D7] # SQUARE PH; QQKN
-33D8 ; [.1749.0020.001C.33D8][*028E.0020.001C.33D8][.16F4.0020.001F.33D8][*028E.0020.001F.33D8] # SQUARE PM; QQKN
-33D9 ; [.1749.0020.001D.33D9][.1749.0020.001D.33D9][.16F4.0020.001F.33D9] # SQUARE PPM; QQKN
-1F14E ; [.1749.0020.001D.1F14E][.1749.0020.001D.1F14E][.1812.0020.001F.1F14E] # SQUARED PPV; QQKN
-33DA ; [.1749.0020.001D.33DA][.1770.0020.001D.33DA] # SQUARE PR; QQKN
-33B0 ; [.1749.0020.001C.33B0][.17A6.0020.001C.33B0] # SQUARE PS; QQKN
-3250 ; [.1749.0020.001D.3250][.17C9.0020.001D.3250][.15FF.0020.001F.3250] # PARTNERSHIP SIGN; QQKN
-33B4 ; [.1749.0020.001C.33B4][.1812.0020.001D.33B4] # SQUARE PV; QQKN
-33BA ; [.1749.0020.001C.33BA][.1824.0020.001D.33BA] # SQUARE PW; QQKN
-1D18 ; [.174D.0020.0002.1D18] # LATIN LETTER SMALL CAPITAL P
-1D7D ; [.174E.0020.0002.1D7D] # LATIN SMALL LETTER P WITH STROKE
-2C63 ; [.174E.0020.0008.2C63] # LATIN CAPITAL LETTER P WITH STROKE
-A751 ; [.174F.0020.0002.A751] # LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
-A750 ; [.174F.0020.0008.A750] # LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
-1D71 ; [.1750.0020.0002.1D71] # LATIN SMALL LETTER P WITH MIDDLE TILDE
-1D88 ; [.1751.0020.0002.1D88] # LATIN SMALL LETTER P WITH PALATAL HOOK
-01A5 ; [.1752.0020.0002.01A5] # LATIN SMALL LETTER P WITH HOOK
-01A4 ; [.1752.0020.0008.01A4] # LATIN CAPITAL LETTER P WITH HOOK
-A753 ; [.1756.0020.0002.A753] # LATIN SMALL LETTER P WITH FLOURISH
-A752 ; [.1756.0020.0008.A752] # LATIN CAPITAL LETTER P WITH FLOURISH
-A755 ; [.1757.0020.0002.A755] # LATIN SMALL LETTER P WITH SQUIRREL TAIL
-A754 ; [.1757.0020.0008.A754] # LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
-A7FC ; [.1758.0020.0002.A7FC] # LATIN EPIGRAPHIC LETTER REVERSED P
-0278 ; [.1759.0020.0002.0278] # LATIN SMALL LETTER PHI
-1DB2 ; [.1759.0020.0014.1DB2] # MODIFIER LETTER SMALL PHI; QQK
-2C77 ; [.175D.0020.0002.2C77] # LATIN SMALL LETTER TAILLESS PHI
-0071 ; [.175E.0020.0002.0071] # LATIN SMALL LETTER Q
-FF51 ; [.175E.0020.0003.FF51] # FULLWIDTH LATIN SMALL LETTER Q; QQK
-24AC ; [*030E.0020.0004.24AC][.175E.0020.0004.24AC][*030F.0020.001F.24AC] # PARENTHESIZED LATIN SMALL LETTER Q; QQKN
-1D42A ; [.175E.0020.0005.1D42A] # MATHEMATICAL BOLD SMALL Q; QQK
-1D45E ; [.175E.0020.0005.1D45E] # MATHEMATICAL ITALIC SMALL Q; QQK
-1D492 ; [.175E.0020.0005.1D492] # MATHEMATICAL BOLD ITALIC SMALL Q; QQK
-1D4C6 ; [.175E.0020.0005.1D4C6] # MATHEMATICAL SCRIPT SMALL Q; QQK
-1D4FA ; [.175E.0020.0005.1D4FA] # MATHEMATICAL BOLD SCRIPT SMALL Q; QQK
-1D52E ; [.175E.0020.0005.1D52E] # MATHEMATICAL FRAKTUR SMALL Q; QQK
-1D562 ; [.175E.0020.0005.1D562] # MATHEMATICAL DOUBLE-STRUCK SMALL Q; QQK
-1D596 ; [.175E.0020.0005.1D596] # MATHEMATICAL BOLD FRAKTUR SMALL Q; QQK
-1D5CA ; [.175E.0020.0005.1D5CA] # MATHEMATICAL SANS-SERIF SMALL Q; QQK
-1D5FE ; [.175E.0020.0005.1D5FE] # MATHEMATICAL SANS-SERIF BOLD SMALL Q; QQK
-1D632 ; [.175E.0020.0005.1D632] # MATHEMATICAL SANS-SERIF ITALIC SMALL Q; QQK
-1D666 ; [.175E.0020.0005.1D666] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q; QQK
-1D69A ; [.175E.0020.0005.1D69A] # MATHEMATICAL MONOSPACE SMALL Q; QQK
-24E0 ; [.175E.0020.0006.24E0] # CIRCLED LATIN SMALL LETTER Q; QQK
-0051 ; [.175E.0020.0008.0051] # LATIN CAPITAL LETTER Q
-FF31 ; [.175E.0020.0009.FF31] # FULLWIDTH LATIN CAPITAL LETTER Q; QQK
-1F120 ; [*030E.0020.0004.1F120][.175E.0020.000A.1F120][*030F.0020.001F.1F120] # PARENTHESIZED LATIN CAPITAL LETTER Q; QQKN
-1F1F6 ; [.175E.0020.000A.1F1F6] # REGIONAL INDICATOR SYMBOL LETTER Q; QQK
-211A ; [.175E.0020.000B.211A] # DOUBLE-STRUCK CAPITAL Q; QQK
-1D410 ; [.175E.0020.000B.1D410] # MATHEMATICAL BOLD CAPITAL Q; QQK
-1D444 ; [.175E.0020.000B.1D444] # MATHEMATICAL ITALIC CAPITAL Q; QQK
-1D478 ; [.175E.0020.000B.1D478] # MATHEMATICAL BOLD ITALIC CAPITAL Q; QQK
-1D4AC ; [.175E.0020.000B.1D4AC] # MATHEMATICAL SCRIPT CAPITAL Q; QQK
-1D4E0 ; [.175E.0020.000B.1D4E0] # MATHEMATICAL BOLD SCRIPT CAPITAL Q; QQK
-1D514 ; [.175E.0020.000B.1D514] # MATHEMATICAL FRAKTUR CAPITAL Q; QQK
-1D57C ; [.175E.0020.000B.1D57C] # MATHEMATICAL BOLD FRAKTUR CAPITAL Q; QQK
-1D5B0 ; [.175E.0020.000B.1D5B0] # MATHEMATICAL SANS-SERIF CAPITAL Q; QQK
-1D5E4 ; [.175E.0020.000B.1D5E4] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Q; QQK
-1D618 ; [.175E.0020.000B.1D618] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q; QQK
-1D64C ; [.175E.0020.000B.1D64C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q; QQK
-1D680 ; [.175E.0020.000B.1D680] # MATHEMATICAL MONOSPACE CAPITAL Q; QQK
-24C6 ; [.175E.0020.000C.24C6] # CIRCLED LATIN CAPITAL LETTER Q; QQK
-1F160 ; [.175E.0020.000C.1F160] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Q; QQK
-1F140 ; [.175E.0020.001D.1F140] # SQUARED LATIN CAPITAL LETTER Q; QQK
-1F180 ; [.175E.0020.001D.1F180] # NEGATIVE SQUARED LATIN CAPITAL LETTER Q; QQK
-0239 ; [.175E.0020.0004.0239][.1749.0020.0004.0239] # LATIN SMALL LETTER QP DIGRAPH; QQKN
-A757 ; [.1762.0020.0002.A757] # LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
-A756 ; [.1762.0020.0008.A756] # LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
-A759 ; [.1763.0020.0002.A759] # LATIN SMALL LETTER Q WITH DIAGONAL STROKE
-A758 ; [.1763.0020.0008.A758] # LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
-02A0 ; [.1764.0020.0002.02A0] # LATIN SMALL LETTER Q WITH HOOK
-024B ; [.1768.0020.0002.024B] # LATIN SMALL LETTER Q WITH HOOK TAIL
-024A ; [.1768.0020.0008.024A] # LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
-0138 ; [.176C.0020.0002.0138] # LATIN SMALL LETTER KRA
-0072 ; [.1770.0020.0002.0072] # LATIN SMALL LETTER R
-FF52 ; [.1770.0020.0003.FF52] # FULLWIDTH LATIN SMALL LETTER R; QQK
-036C ; [.1770.0020.0004.036C] # COMBINING LATIN SMALL LETTER R; QQK
-1DCA ; [.1770.0020.0004.1DCA] # COMBINING LATIN SMALL LETTER R BELOW; QQK
-24AD ; [*030E.0020.0004.24AD][.1770.0020.0004.24AD][*030F.0020.001F.24AD] # PARENTHESIZED LATIN SMALL LETTER R; QQKN
-1D42B ; [.1770.0020.0005.1D42B] # MATHEMATICAL BOLD SMALL R; QQK
-1D45F ; [.1770.0020.0005.1D45F] # MATHEMATICAL ITALIC SMALL R; QQK
-1D493 ; [.1770.0020.0005.1D493] # MATHEMATICAL BOLD ITALIC SMALL R; QQK
-1D4C7 ; [.1770.0020.0005.1D4C7] # MATHEMATICAL SCRIPT SMALL R; QQK
-1D4FB ; [.1770.0020.0005.1D4FB] # MATHEMATICAL BOLD SCRIPT SMALL R; QQK
-1D52F ; [.1770.0020.0005.1D52F] # MATHEMATICAL FRAKTUR SMALL R; QQK
-1D563 ; [.1770.0020.0005.1D563] # MATHEMATICAL DOUBLE-STRUCK SMALL R; QQK
-1D597 ; [.1770.0020.0005.1D597] # MATHEMATICAL BOLD FRAKTUR SMALL R; QQK
-1D5CB ; [.1770.0020.0005.1D5CB] # MATHEMATICAL SANS-SERIF SMALL R; QQK
-1D5FF ; [.1770.0020.0005.1D5FF] # MATHEMATICAL SANS-SERIF BOLD SMALL R; QQK
-1D633 ; [.1770.0020.0005.1D633] # MATHEMATICAL SANS-SERIF ITALIC SMALL R; QQK
-1D667 ; [.1770.0020.0005.1D667] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R; QQK
-1D69B ; [.1770.0020.0005.1D69B] # MATHEMATICAL MONOSPACE SMALL R; QQK
-24E1 ; [.1770.0020.0006.24E1] # CIRCLED LATIN SMALL LETTER R; QQK
-0052 ; [.1770.0020.0008.0052] # LATIN CAPITAL LETTER R
-FF32 ; [.1770.0020.0009.FF32] # FULLWIDTH LATIN CAPITAL LETTER R; QQK
-1F121 ; [*030E.0020.0004.1F121][.1770.0020.000A.1F121][*030F.0020.001F.1F121] # PARENTHESIZED LATIN CAPITAL LETTER R; QQKN
-1F1F7 ; [.1770.0020.000A.1F1F7] # REGIONAL INDICATOR SYMBOL LETTER R; QQK
-211B ; [.1770.0020.000B.211B] # SCRIPT CAPITAL R; QQK
-211C ; [.1770.0020.000B.211C] # BLACK-LETTER CAPITAL R; QQK
-211D ; [.1770.0020.000B.211D] # DOUBLE-STRUCK CAPITAL R; QQK
-1D411 ; [.1770.0020.000B.1D411] # MATHEMATICAL BOLD CAPITAL R; QQK
-1D445 ; [.1770.0020.000B.1D445] # MATHEMATICAL ITALIC CAPITAL R; QQK
-1D479 ; [.1770.0020.000B.1D479] # MATHEMATICAL BOLD ITALIC CAPITAL R; QQK
-1D4E1 ; [.1770.0020.000B.1D4E1] # MATHEMATICAL BOLD SCRIPT CAPITAL R; QQK
-1D57D ; [.1770.0020.000B.1D57D] # MATHEMATICAL BOLD FRAKTUR CAPITAL R; QQK
-1D5B1 ; [.1770.0020.000B.1D5B1] # MATHEMATICAL SANS-SERIF CAPITAL R; QQK
-1D5E5 ; [.1770.0020.000B.1D5E5] # MATHEMATICAL SANS-SERIF BOLD CAPITAL R; QQK
-1D619 ; [.1770.0020.000B.1D619] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL R; QQK
-1D64D ; [.1770.0020.000B.1D64D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R; QQK
-1D681 ; [.1770.0020.000B.1D681] # MATHEMATICAL MONOSPACE CAPITAL R; QQK
-24C7 ; [.1770.0020.000C.24C7] # CIRCLED LATIN CAPITAL LETTER R; QQK
-1F12C ; [.1770.0020.000C.1F12C] # CIRCLED ITALIC LATIN CAPITAL LETTER R; QQK
-1F161 ; [.1770.0020.000C.1F161] # NEGATIVE CIRCLED LATIN CAPITAL LETTER R; QQK
-02B3 ; [.1770.0020.0014.02B3] # MODIFIER LETTER SMALL R; QQK
-1D63 ; [.1770.0020.0015.1D63] # LATIN SUBSCRIPT SMALL LETTER R; QQK
-1D3F ; [.1770.0020.001D.1D3F] # MODIFIER LETTER CAPITAL R; QQK
-1F141 ; [.1770.0020.001D.1F141] # SQUARED LATIN CAPITAL LETTER R; QQK
-1F181 ; [.1770.0020.001D.1F181] # NEGATIVE SQUARED LATIN CAPITAL LETTER R; QQK
-0155 ; [.1770.0020.0002.0072][.0000.0032.0002.0301] # LATIN SMALL LETTER R WITH ACUTE; QQCM
-0154 ; [.1770.0020.0008.0052][.0000.0032.0002.0301] # LATIN CAPITAL LETTER R WITH ACUTE; QQCM
-0159 ; [.1770.0020.0002.0072][.0000.0041.0002.030C] # LATIN SMALL LETTER R WITH CARON; QQCM
-0158 ; [.1770.0020.0008.0052][.0000.0041.0002.030C] # LATIN CAPITAL LETTER R WITH CARON; QQCM
-1E59 ; [.1770.0020.0002.0072][.0000.0052.0002.0307] # LATIN SMALL LETTER R WITH DOT ABOVE; QQCM
-1E58 ; [.1770.0020.0008.0052][.0000.0052.0002.0307] # LATIN CAPITAL LETTER R WITH DOT ABOVE; QQCM
-0157 ; [.1770.0020.0002.0072][.0000.0056.0002.0327] # LATIN SMALL LETTER R WITH CEDILLA; QQCM
-0156 ; [.1770.0020.0008.0052][.0000.0056.0002.0327] # LATIN CAPITAL LETTER R WITH CEDILLA; QQCM
-A7A7 ; [.1770.0020.0004.A7A7][.0000.0061.0004.A7A7] # LATIN SMALL LETTER R WITH OBLIQUE STROKE; QQKN
-A7A6 ; [.1770.0020.000A.A7A6][.0000.0061.0004.A7A6] # LATIN CAPITAL LETTER R WITH OBLIQUE STROKE; QQKN
-0211 ; [.1770.0020.0002.0072][.0000.0065.0002.030F] # LATIN SMALL LETTER R WITH DOUBLE GRAVE; QQCM
-0210 ; [.1770.0020.0008.0052][.0000.0065.0002.030F] # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE; QQCM
-0213 ; [.1770.0020.0002.0072][.0000.0067.0002.0311] # LATIN SMALL LETTER R WITH INVERTED BREVE; QQCM
-0212 ; [.1770.0020.0008.0052][.0000.0067.0002.0311] # LATIN CAPITAL LETTER R WITH INVERTED BREVE; QQCM
-1E5B ; [.1770.0020.0002.0072][.0000.0070.0002.0323] # LATIN SMALL LETTER R WITH DOT BELOW; QQCM
-1E5A ; [.1770.0020.0008.0052][.0000.0070.0002.0323] # LATIN CAPITAL LETTER R WITH DOT BELOW; QQCM
-1E5D ; [.1770.0020.0002.0072][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON; QQCM
-1E5C ; [.1770.0020.0008.0052][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON; QQCM
-1E5F ; [.1770.0020.0002.0072][.0000.007B.0002.0331] # LATIN SMALL LETTER R WITH LINE BELOW; QQCM
-1E5E ; [.1770.0020.0008.0052][.0000.007B.0002.0331] # LATIN CAPITAL LETTER R WITH LINE BELOW; QQCM
-A783 ; [.1770.0020.0004.A783][.0000.0160.0004.A783] # LATIN SMALL LETTER INSULAR R; QQKN
-A782 ; [.1770.0020.000A.A782][.0000.0160.0004.A782] # LATIN CAPITAL LETTER INSULAR R; QQKN
-33AD ; [.1770.0020.001C.33AD][.15A3.0020.001C.33AD][.15E4.0020.001F.33AD] # SQUARE RAD; QQKN
-33AE ; [.1770.0020.001C.33AE][.15A3.0020.001C.33AE][.15E4.0020.001F.33AE][*0579.0020.001F.33AE][.17A6.0020.001F.33AE] # SQUARE RAD OVER S; QQKN
-33AF ; [.1770.0020.001C.33AF][.15A3.0020.001C.33AF][.15E4.0020.001F.33AF][*0579.0020.001F.33AF][.17A6.0020.001F.33AF][.159B.0020.001F.33AF] # SQUARE RAD OVER S SQUARED; QQKN
-20A8 ; [.1770.0020.000A.20A8][.17A6.0020.0004.20A8] # RUPEE SIGN; QQKN
-0280 ; [.1774.0020.0002.0280] # LATIN LETTER SMALL CAPITAL R
-1DE2 ; [.1774.0020.0004.1DE2] # COMBINING LATIN LETTER SMALL CAPITAL R; QQK
-01A6 ; [.1774.0020.0008.01A6] # LATIN LETTER YR
-A75B ; [.1778.0020.0002.A75B] # LATIN SMALL LETTER R ROTUNDA
-1DE3 ; [.1778.0020.0004.1DE3] # COMBINING LATIN SMALL LETTER R ROTUNDA; QQK
-A75A ; [.1778.0020.0008.A75A] # LATIN CAPITAL LETTER R ROTUNDA
-1D19 ; [.1779.0020.0002.1D19] # LATIN LETTER SMALL CAPITAL REVERSED R
-024D ; [.177A.0020.0002.024D] # LATIN SMALL LETTER R WITH STROKE
-024C ; [.177A.0020.0008.024C] # LATIN CAPITAL LETTER R WITH STROKE
-1D72 ; [.177E.0020.0002.1D72] # LATIN SMALL LETTER R WITH MIDDLE TILDE
-0279 ; [.177F.0020.0002.0279] # LATIN SMALL LETTER TURNED R
-02B4 ; [.177F.0020.0014.02B4] # MODIFIER LETTER SMALL TURNED R; QQK
-1D1A ; [.1783.0020.0002.1D1A] # LATIN LETTER SMALL CAPITAL TURNED R
-027A ; [.1784.0020.0002.027A] # LATIN SMALL LETTER TURNED R WITH LONG LEG
-1D89 ; [.1788.0020.0002.1D89] # LATIN SMALL LETTER R WITH PALATAL HOOK
-027B ; [.1789.0020.0002.027B] # LATIN SMALL LETTER TURNED R WITH HOOK
-02B5 ; [.1789.0020.0014.02B5] # MODIFIER LETTER SMALL TURNED R WITH HOOK; QQK
-2C79 ; [.178D.0020.0002.2C79] # LATIN SMALL LETTER TURNED R WITH TAIL
-027C ; [.178E.0020.0002.027C] # LATIN SMALL LETTER R WITH LONG LEG
-027D ; [.1792.0020.0002.027D] # LATIN SMALL LETTER R WITH TAIL
-2C64 ; [.1792.0020.0008.2C64] # LATIN CAPITAL LETTER R WITH TAIL
-027E ; [.1796.0020.0002.027E] # LATIN SMALL LETTER R WITH FISHHOOK
-1D73 ; [.179A.0020.0002.1D73] # LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE
-027F ; [.179B.0020.0002.027F] # LATIN SMALL LETTER REVERSED R WITH FISHHOOK
-0281 ; [.179F.0020.0002.0281] # LATIN LETTER SMALL CAPITAL INVERTED R
-02B6 ; [.179F.0020.0014.02B6] # MODIFIER LETTER SMALL CAPITAL INVERTED R; QQK
-A775 ; [.17A3.0020.0002.A775] # LATIN SMALL LETTER RUM
-A776 ; [.17A4.0020.0002.A776] # LATIN LETTER SMALL CAPITAL RUM
-A75D ; [.17A5.0020.0002.A75D] # LATIN SMALL LETTER RUM ROTUNDA
-A75C ; [.17A5.0020.0008.A75C] # LATIN CAPITAL LETTER RUM ROTUNDA
-0073 ; [.17A6.0020.0002.0073] # LATIN SMALL LETTER S
-FF53 ; [.17A6.0020.0003.FF53] # FULLWIDTH LATIN SMALL LETTER S; QQK
-1DE4 ; [.17A6.0020.0004.1DE4] # COMBINING LATIN SMALL LETTER S; QQK
-24AE ; [*030E.0020.0004.24AE][.17A6.0020.0004.24AE][*030F.0020.001F.24AE] # PARENTHESIZED LATIN SMALL LETTER S; QQKN
-1D42C ; [.17A6.0020.0005.1D42C] # MATHEMATICAL BOLD SMALL S; QQK
-1D460 ; [.17A6.0020.0005.1D460] # MATHEMATICAL ITALIC SMALL S; QQK
-1D494 ; [.17A6.0020.0005.1D494] # MATHEMATICAL BOLD ITALIC SMALL S; QQK
-1D4C8 ; [.17A6.0020.0005.1D4C8] # MATHEMATICAL SCRIPT SMALL S; QQK
-1D4FC ; [.17A6.0020.0005.1D4FC] # MATHEMATICAL BOLD SCRIPT SMALL S; QQK
-1D530 ; [.17A6.0020.0005.1D530] # MATHEMATICAL FRAKTUR SMALL S; QQK
-1D564 ; [.17A6.0020.0005.1D564] # MATHEMATICAL DOUBLE-STRUCK SMALL S; QQK
-1D598 ; [.17A6.0020.0005.1D598] # MATHEMATICAL BOLD FRAKTUR SMALL S; QQK
-1D5CC ; [.17A6.0020.0005.1D5CC] # MATHEMATICAL SANS-SERIF SMALL S; QQK
-1D600 ; [.17A6.0020.0005.1D600] # MATHEMATICAL SANS-SERIF BOLD SMALL S; QQK
-1D634 ; [.17A6.0020.0005.1D634] # MATHEMATICAL SANS-SERIF ITALIC SMALL S; QQK
-1D668 ; [.17A6.0020.0005.1D668] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S; QQK
-1D69C ; [.17A6.0020.0005.1D69C] # MATHEMATICAL MONOSPACE SMALL S; QQK
-24E2 ; [.17A6.0020.0006.24E2] # CIRCLED LATIN SMALL LETTER S; QQK
-0053 ; [.17A6.0020.0008.0053] # LATIN CAPITAL LETTER S
-FF33 ; [.17A6.0020.0009.FF33] # FULLWIDTH LATIN CAPITAL LETTER S; QQK
-1F122 ; [*030E.0020.0004.1F122][.17A6.0020.000A.1F122][*030F.0020.001F.1F122] # PARENTHESIZED LATIN CAPITAL LETTER S; QQKN
-1F12A ; [*0356.0020.0004.1F12A][.17A6.0020.000A.1F12A][*0357.0020.001F.1F12A] # TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S; QQKN
-1F1F8 ; [.17A6.0020.000A.1F1F8] # REGIONAL INDICATOR SYMBOL LETTER S; QQK
-1D412 ; [.17A6.0020.000B.1D412] # MATHEMATICAL BOLD CAPITAL S; QQK
-1D446 ; [.17A6.0020.000B.1D446] # MATHEMATICAL ITALIC CAPITAL S; QQK
-1D47A ; [.17A6.0020.000B.1D47A] # MATHEMATICAL BOLD ITALIC CAPITAL S; QQK
-1D4AE ; [.17A6.0020.000B.1D4AE] # MATHEMATICAL SCRIPT CAPITAL S; QQK
-1D4E2 ; [.17A6.0020.000B.1D4E2] # MATHEMATICAL BOLD SCRIPT CAPITAL S; QQK
-1D516 ; [.17A6.0020.000B.1D516] # MATHEMATICAL FRAKTUR CAPITAL S; QQK
-1D54A ; [.17A6.0020.000B.1D54A] # MATHEMATICAL DOUBLE-STRUCK CAPITAL S; QQK
-1D57E ; [.17A6.0020.000B.1D57E] # MATHEMATICAL BOLD FRAKTUR CAPITAL S; QQK
-1D5B2 ; [.17A6.0020.000B.1D5B2] # MATHEMATICAL SANS-SERIF CAPITAL S; QQK
-1D5E6 ; [.17A6.0020.000B.1D5E6] # MATHEMATICAL SANS-SERIF BOLD CAPITAL S; QQK
-1D61A ; [.17A6.0020.000B.1D61A] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL S; QQK
-1D64E ; [.17A6.0020.000B.1D64E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S; QQK
-1D682 ; [.17A6.0020.000B.1D682] # MATHEMATICAL MONOSPACE CAPITAL S; QQK
-24C8 ; [.17A6.0020.000C.24C8] # CIRCLED LATIN CAPITAL LETTER S; QQK
-1F162 ; [.17A6.0020.000C.1F162] # NEGATIVE CIRCLED LATIN CAPITAL LETTER S; QQK
-02E2 ; [.17A6.0020.0014.02E2] # MODIFIER LETTER SMALL S; QQK
-209B ; [.17A6.0020.0015.209B] # LATIN SUBSCRIPT SMALL LETTER S; QQK
-1F142 ; [.17A6.0020.001D.1F142] # SQUARED LATIN CAPITAL LETTER S; QQK
-1F182 ; [.17A6.0020.001D.1F182] # NEGATIVE SQUARED LATIN CAPITAL LETTER S; QQK
-015B ; [.17A6.0020.0002.0073][.0000.0032.0002.0301] # LATIN SMALL LETTER S WITH ACUTE; QQCM
-015A ; [.17A6.0020.0008.0053][.0000.0032.0002.0301] # LATIN CAPITAL LETTER S WITH ACUTE; QQCM
-1E65 ; [.17A6.0020.0002.0073][.0000.0032.0002.0301][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE; QQCM
-1E64 ; [.17A6.0020.0008.0053][.0000.0032.0002.0301][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE; QQCM
-015D ; [.17A6.0020.0002.0073][.0000.003C.0002.0302] # LATIN SMALL LETTER S WITH CIRCUMFLEX; QQCM
-015C ; [.17A6.0020.0008.0053][.0000.003C.0002.0302] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX; QQCM
-0161 ; [.17A6.0020.0002.0073][.0000.0041.0002.030C] # LATIN SMALL LETTER S WITH CARON; QQCM
-0160 ; [.17A6.0020.0008.0053][.0000.0041.0002.030C] # LATIN CAPITAL LETTER S WITH CARON; QQCM
-1E67 ; [.17A6.0020.0002.0073][.0000.0041.0002.030C][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE; QQCM
-1E66 ; [.17A6.0020.0008.0053][.0000.0041.0002.030C][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE; QQCM
-1E61 ; [.17A6.0020.0002.0073][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH DOT ABOVE; QQCM
-1E60 ; [.17A6.0020.0008.0053][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH DOT ABOVE; QQCM
-015F ; [.17A6.0020.0002.0073][.0000.0056.0002.0327] # LATIN SMALL LETTER S WITH CEDILLA; QQCM
-015E ; [.17A6.0020.0008.0053][.0000.0056.0002.0327] # LATIN CAPITAL LETTER S WITH CEDILLA; QQCM
-A7A9 ; [.17A6.0020.0004.A7A9][.0000.0061.0004.A7A9] # LATIN SMALL LETTER S WITH OBLIQUE STROKE; QQKN
-A7A8 ; [.17A6.0020.000A.A7A8][.0000.0061.0004.A7A8] # LATIN CAPITAL LETTER S WITH OBLIQUE STROKE; QQKN
-1E63 ; [.17A6.0020.0002.0073][.0000.0070.0002.0323] # LATIN SMALL LETTER S WITH DOT BELOW; QQCM
-1E62 ; [.17A6.0020.0008.0053][.0000.0070.0002.0323] # LATIN CAPITAL LETTER S WITH DOT BELOW; QQCM
-1E69 ; [.17A6.0020.0002.0073][.0000.0070.0002.0323][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE; QQCM
-1E68 ; [.17A6.0020.0008.0053][.0000.0070.0002.0323][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE; QQCM
-0219 ; [.17A6.0020.0002.0073][.0000.0077.0002.0326] # LATIN SMALL LETTER S WITH COMMA BELOW; QQCM
-0218 ; [.17A6.0020.0008.0053][.0000.0077.0002.0326] # LATIN CAPITAL LETTER S WITH COMMA BELOW; QQCM
-017F ; [.17A6.0020.0004.017F][.0000.0160.0004.017F] # LATIN SMALL LETTER LONG S; QQKN
-1DE5 ; [.17A6.0020.0004.1DE5][.0000.0160.0004.1DE5] # COMBINING LATIN SMALL LETTER LONG S; QQKN
-A785 ; [.17A6.0020.0004.A785][.0000.0160.0004.A785] # LATIN SMALL LETTER INSULAR S; QQKN
-A784 ; [.17A6.0020.000A.A784][.0000.0160.0004.A784] # LATIN CAPITAL LETTER INSULAR S; QQKN
-1E9B ; [.17A6.0020.0004.1E9B][.0000.0160.0004.1E9B][.0000.0052.0002.1E9B] # LATIN SMALL LETTER LONG S WITH DOT ABOVE; QQKN
-1F18D ; [.17A6.0020.001D.1F18D][.15A3.0020.001D.1F18D] # NEGATIVE SQUARED SA; QQKN
-1F14C ; [.17A6.0020.001D.1F14C][.15E4.0020.001D.1F14C] # SQUARED SD; QQKN
-2120 ; [.17A6.0020.0014.2120][.16F4.0020.0014.2120] # SERVICE MARK; QQKN
-1F198 ; [.17A6.0020.001D.1F198][.1724.0020.001D.1F198][.17A6.0020.001F.1F198] # SQUARED SOS; QQKN
-33DB ; [.17A6.0020.001C.33DB][.1770.0020.001C.33DB] # SQUARE SR; QQKN
-1F14D ; [.17A6.0020.001D.1F14D][.17A6.0020.001D.1F14D] # SQUARED SS; QQKN
-00DF ; [.17A6.0020.0004.00DF][.0000.015F.0004.00DF][.17A6.0020.001F.00DF] # LATIN SMALL LETTER SHARP S; QQKN
-1E9E ; [.17A6.0020.000A.1E9E][.0000.015F.0004.1E9E][.17A6.0020.001F.1E9E] # LATIN CAPITAL LETTER SHARP S; QQKN
-FB06 ; [.17A6.0020.0004.FB06][.17C9.0020.0004.FB06] # LATIN SMALL LIGATURE ST; QQKN
-FB05 ; [.17A6.0020.0004.FB05][.0000.0160.0004.FB05][.17C9.0020.001F.FB05] # LATIN SMALL LIGATURE LONG S T; QQKN
-33DC ; [.17A6.0020.001D.33DC][.1812.0020.001C.33DC] # SQUARE SV; QQKN
-A731 ; [.17AA.0020.0002.A731] # LATIN LETTER SMALL CAPITAL S
-1D74 ; [.17AB.0020.0002.1D74] # LATIN SMALL LETTER S WITH MIDDLE TILDE
-1D8A ; [.17AC.0020.0002.1D8A] # LATIN SMALL LETTER S WITH PALATAL HOOK
-0282 ; [.17AD.0020.0002.0282] # LATIN SMALL LETTER S WITH HOOK
-1DB3 ; [.17AD.0020.0014.1DB3] # MODIFIER LETTER SMALL S WITH HOOK; QQK
-023F ; [.17B1.0020.0002.023F] # LATIN SMALL LETTER S WITH SWASH TAIL
-2C7E ; [.17B1.0020.0008.2C7E] # LATIN CAPITAL LETTER S WITH SWASH TAIL
-1E9C ; [.17B5.0020.0002.1E9C] # LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE
-1E9D ; [.17B6.0020.0002.1E9D] # LATIN SMALL LETTER LONG S WITH HIGH STROKE
-0283 ; [.17B7.0020.0002.0283] # LATIN SMALL LETTER ESH
-01A9 ; [.17B7.0020.0008.01A9] # LATIN CAPITAL LETTER ESH
-1DB4 ; [.17B7.0020.0014.1DB4] # MODIFIER LETTER SMALL ESH; QQK
-1D8B ; [.17BB.0020.0002.1D8B] # LATIN SMALL LETTER ESH WITH PALATAL HOOK
-01AA ; [.17BC.0020.0002.01AA] # LATIN LETTER REVERSED ESH LOOP
-0285 ; [.17C0.0020.0002.0285] # LATIN SMALL LETTER SQUAT REVERSED ESH
-1D98 ; [.17C4.0020.0002.1D98] # LATIN SMALL LETTER ESH WITH RETROFLEX HOOK
-0286 ; [.17C5.0020.0002.0286] # LATIN SMALL LETTER ESH WITH CURL
-0074 ; [.17C9.0020.0002.0074] # LATIN SMALL LETTER T
-FF54 ; [.17C9.0020.0003.FF54] # FULLWIDTH LATIN SMALL LETTER T; QQK
-036D ; [.17C9.0020.0004.036D] # COMBINING LATIN SMALL LETTER T; QQK
-24AF ; [*030E.0020.0004.24AF][.17C9.0020.0004.24AF][*030F.0020.001F.24AF] # PARENTHESIZED LATIN SMALL LETTER T; QQKN
-1D42D ; [.17C9.0020.0005.1D42D] # MATHEMATICAL BOLD SMALL T; QQK
-1D461 ; [.17C9.0020.0005.1D461] # MATHEMATICAL ITALIC SMALL T; QQK
-1D495 ; [.17C9.0020.0005.1D495] # MATHEMATICAL BOLD ITALIC SMALL T; QQK
-1D4C9 ; [.17C9.0020.0005.1D4C9] # MATHEMATICAL SCRIPT SMALL T; QQK
-1D4FD ; [.17C9.0020.0005.1D4FD] # MATHEMATICAL BOLD SCRIPT SMALL T; QQK
-1D531 ; [.17C9.0020.0005.1D531] # MATHEMATICAL FRAKTUR SMALL T; QQK
-1D565 ; [.17C9.0020.0005.1D565] # MATHEMATICAL DOUBLE-STRUCK SMALL T; QQK
-1D599 ; [.17C9.0020.0005.1D599] # MATHEMATICAL BOLD FRAKTUR SMALL T; QQK
-1D5CD ; [.17C9.0020.0005.1D5CD] # MATHEMATICAL SANS-SERIF SMALL T; QQK
-1D601 ; [.17C9.0020.0005.1D601] # MATHEMATICAL SANS-SERIF BOLD SMALL T; QQK
-1D635 ; [.17C9.0020.0005.1D635] # MATHEMATICAL SANS-SERIF ITALIC SMALL T; QQK
-1D669 ; [.17C9.0020.0005.1D669] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T; QQK
-1D69D ; [.17C9.0020.0005.1D69D] # MATHEMATICAL MONOSPACE SMALL T; QQK
-24E3 ; [.17C9.0020.0006.24E3] # CIRCLED LATIN SMALL LETTER T; QQK
-0054 ; [.17C9.0020.0008.0054] # LATIN CAPITAL LETTER T
-FF34 ; [.17C9.0020.0009.FF34] # FULLWIDTH LATIN CAPITAL LETTER T; QQK
-1F123 ; [*030E.0020.0004.1F123][.17C9.0020.000A.1F123][*030F.0020.001F.1F123] # PARENTHESIZED LATIN CAPITAL LETTER T; QQKN
-1F1F9 ; [.17C9.0020.000A.1F1F9] # REGIONAL INDICATOR SYMBOL LETTER T; QQK
-1D413 ; [.17C9.0020.000B.1D413] # MATHEMATICAL BOLD CAPITAL T; QQK
-1D447 ; [.17C9.0020.000B.1D447] # MATHEMATICAL ITALIC CAPITAL T; QQK
-1D47B ; [.17C9.0020.000B.1D47B] # MATHEMATICAL BOLD ITALIC CAPITAL T; QQK
-1D4AF ; [.17C9.0020.000B.1D4AF] # MATHEMATICAL SCRIPT CAPITAL T; QQK
-1D4E3 ; [.17C9.0020.000B.1D4E3] # MATHEMATICAL BOLD SCRIPT CAPITAL T; QQK
-1D517 ; [.17C9.0020.000B.1D517] # MATHEMATICAL FRAKTUR CAPITAL T; QQK
-1D54B ; [.17C9.0020.000B.1D54B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL T; QQK
-1D57F ; [.17C9.0020.000B.1D57F] # MATHEMATICAL BOLD FRAKTUR CAPITAL T; QQK
-1D5B3 ; [.17C9.0020.000B.1D5B3] # MATHEMATICAL SANS-SERIF CAPITAL T; QQK
-1D5E7 ; [.17C9.0020.000B.1D5E7] # MATHEMATICAL SANS-SERIF BOLD CAPITAL T; QQK
-1D61B ; [.17C9.0020.000B.1D61B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL T; QQK
-1D64F ; [.17C9.0020.000B.1D64F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T; QQK
-1D683 ; [.17C9.0020.000B.1D683] # MATHEMATICAL MONOSPACE CAPITAL T; QQK
-24C9 ; [.17C9.0020.000C.24C9] # CIRCLED LATIN CAPITAL LETTER T; QQK
-1F163 ; [.17C9.0020.000C.1F163] # NEGATIVE CIRCLED LATIN CAPITAL LETTER T; QQK
-1D57 ; [.17C9.0020.0014.1D57] # MODIFIER LETTER SMALL T; QQK
-209C ; [.17C9.0020.0015.209C] # LATIN SUBSCRIPT SMALL LETTER T; QQK
-1D40 ; [.17C9.0020.001D.1D40] # MODIFIER LETTER CAPITAL T; QQK
-1F143 ; [.17C9.0020.001D.1F143] # SQUARED LATIN CAPITAL LETTER T; QQK
-1F183 ; [.17C9.0020.001D.1F183] # NEGATIVE SQUARED LATIN CAPITAL LETTER T; QQK
-0165 ; [.17C9.0020.0002.0074][.0000.0041.0002.030C] # LATIN SMALL LETTER T WITH CARON; QQCM
-0164 ; [.17C9.0020.0008.0054][.0000.0041.0002.030C] # LATIN CAPITAL LETTER T WITH CARON; QQCM
-1E97 ; [.17C9.0020.0002.0074][.0000.0047.0002.0308] # LATIN SMALL LETTER T WITH DIAERESIS; QQCM
-1E6B ; [.17C9.0020.0002.0074][.0000.0052.0002.0307] # LATIN SMALL LETTER T WITH DOT ABOVE; QQCM
-1E6A ; [.17C9.0020.0008.0054][.0000.0052.0002.0307] # LATIN CAPITAL LETTER T WITH DOT ABOVE; QQCM
-0163 ; [.17C9.0020.0002.0074][.0000.0056.0002.0327] # LATIN SMALL LETTER T WITH CEDILLA; QQCM
-0162 ; [.17C9.0020.0008.0054][.0000.0056.0002.0327] # LATIN CAPITAL LETTER T WITH CEDILLA; QQCM
-1E6D ; [.17C9.0020.0002.0074][.0000.0070.0002.0323] # LATIN SMALL LETTER T WITH DOT BELOW; QQCM
-1E6C ; [.17C9.0020.0008.0054][.0000.0070.0002.0323] # LATIN CAPITAL LETTER T WITH DOT BELOW; QQCM
-021B ; [.17C9.0020.0002.0074][.0000.0077.0002.0326] # LATIN SMALL LETTER T WITH COMMA BELOW; QQCM
-021A ; [.17C9.0020.0008.0054][.0000.0077.0002.0326] # LATIN CAPITAL LETTER T WITH COMMA BELOW; QQCM
-1E71 ; [.17C9.0020.0002.0074][.0000.0078.0002.032D] # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW; QQCM
-1E70 ; [.17C9.0020.0008.0054][.0000.0078.0002.032D] # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW; QQCM
-1E6F ; [.17C9.0020.0002.0074][.0000.007B.0002.0331] # LATIN SMALL LETTER T WITH LINE BELOW; QQCM
-1E6E ; [.17C9.0020.0008.0054][.0000.007B.0002.0331] # LATIN CAPITAL LETTER T WITH LINE BELOW; QQCM
-A787 ; [.17C9.0020.0004.A787][.0000.0160.0004.A787] # LATIN SMALL LETTER INSULAR T; QQKN
-A786 ; [.17C9.0020.000A.A786][.0000.0160.0004.A786] # LATIN CAPITAL LETTER INSULAR T; QQKN
-02A8 ; [.17C9.0020.0004.02A8][.15DE.0020.0004.02A8] # LATIN SMALL LETTER TC DIGRAPH WITH CURL; QQKN
-2121 ; [.17C9.0020.000A.2121][.15FF.0020.000A.2121][.16C4.0020.001F.2121] # TELEPHONE SIGN; QQKN
-1D7A ; [.17C9.0020.0004.1D7A][.0000.015F.0004.1D7A][.1667.0020.001F.1D7A] # LATIN SMALL LETTER TH WITH STRIKETHROUGH; QQKN
-3394 ; [.17C9.0020.001D.3394][.1667.0020.001D.3394][.1844.0020.001F.3394] # SQUARE THZ; QQKN
-2122 ; [.17C9.0020.0014.2122][.16F4.0020.0014.2122] # TRADE MARK SIGN; QQKN
-01BE ; [.17C9.0020.0004.01BE][.17A6.0020.0004.01BE] # LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE; QQKN
-02A6 ; [.17C9.0020.0004.02A6][.17A6.0020.0004.02A6] # LATIN SMALL LETTER TS DIGRAPH; QQKN
-02A7 ; [.17C9.0020.0004.02A7][.17B7.0020.0004.02A7] # LATIN SMALL LETTER TESH DIGRAPH; QQKN
-A729 ; [.17C9.0020.0004.A729][.1844.0020.0004.A729] # LATIN SMALL LETTER TZ; QQKN
-A728 ; [.17C9.0020.000A.A728][.1844.0020.0004.A728] # LATIN CAPITAL LETTER TZ; QQKN
-1D1B ; [.17CD.0020.0002.1D1B] # LATIN LETTER SMALL CAPITAL T
-0167 ; [.17CE.0020.0002.0167] # LATIN SMALL LETTER T WITH STROKE
-0166 ; [.17CE.0020.0008.0166] # LATIN CAPITAL LETTER T WITH STROKE
-2C66 ; [.17D2.0020.0002.2C66] # LATIN SMALL LETTER T WITH DIAGONAL STROKE
-023E ; [.17D2.0020.0008.023E] # LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
-1D75 ; [.17D3.0020.0002.1D75] # LATIN SMALL LETTER T WITH MIDDLE TILDE
-01AB ; [.17D4.0020.0002.01AB] # LATIN SMALL LETTER T WITH PALATAL HOOK
-1DB5 ; [.17D4.0020.0014.1DB5] # MODIFIER LETTER SMALL T WITH PALATAL HOOK; QQK
-01AD ; [.17D8.0020.0002.01AD] # LATIN SMALL LETTER T WITH HOOK
-01AC ; [.17D8.0020.0008.01AC] # LATIN CAPITAL LETTER T WITH HOOK
-0288 ; [.17DC.0020.0002.0288] # LATIN SMALL LETTER T WITH RETROFLEX HOOK
-01AE ; [.17DC.0020.0008.01AE] # LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
-0236 ; [.17E0.0020.0002.0236] # LATIN SMALL LETTER T WITH CURL
-A777 ; [.17E4.0020.0002.A777] # LATIN SMALL LETTER TUM
-0287 ; [.17E5.0020.0002.0287] # LATIN SMALL LETTER TURNED T
-0075 ; [.17E9.0020.0002.0075] # LATIN SMALL LETTER U
-FF55 ; [.17E9.0020.0003.FF55] # FULLWIDTH LATIN SMALL LETTER U; QQK
-0367 ; [.17E9.0020.0004.0367] # COMBINING LATIN SMALL LETTER U; QQK
-24B0 ; [*030E.0020.0004.24B0][.17E9.0020.0004.24B0][*030F.0020.001F.24B0] # PARENTHESIZED LATIN SMALL LETTER U; QQKN
-1D42E ; [.17E9.0020.0005.1D42E] # MATHEMATICAL BOLD SMALL U; QQK
-1D462 ; [.17E9.0020.0005.1D462] # MATHEMATICAL ITALIC SMALL U; QQK
-1D496 ; [.17E9.0020.0005.1D496] # MATHEMATICAL BOLD ITALIC SMALL U; QQK
-1D4CA ; [.17E9.0020.0005.1D4CA] # MATHEMATICAL SCRIPT SMALL U; QQK
-1D4FE ; [.17E9.0020.0005.1D4FE] # MATHEMATICAL BOLD SCRIPT SMALL U; QQK
-1D532 ; [.17E9.0020.0005.1D532] # MATHEMATICAL FRAKTUR SMALL U; QQK
-1D566 ; [.17E9.0020.0005.1D566] # MATHEMATICAL DOUBLE-STRUCK SMALL U; QQK
-1D59A ; [.17E9.0020.0005.1D59A] # MATHEMATICAL BOLD FRAKTUR SMALL U; QQK
-1D5CE ; [.17E9.0020.0005.1D5CE] # MATHEMATICAL SANS-SERIF SMALL U; QQK
-1D602 ; [.17E9.0020.0005.1D602] # MATHEMATICAL SANS-SERIF BOLD SMALL U; QQK
-1D636 ; [.17E9.0020.0005.1D636] # MATHEMATICAL SANS-SERIF ITALIC SMALL U; QQK
-1D66A ; [.17E9.0020.0005.1D66A] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U; QQK
-1D69E ; [.17E9.0020.0005.1D69E] # MATHEMATICAL MONOSPACE SMALL U; QQK
-24E4 ; [.17E9.0020.0006.24E4] # CIRCLED LATIN SMALL LETTER U; QQK
-0055 ; [.17E9.0020.0008.0055] # LATIN CAPITAL LETTER U
-FF35 ; [.17E9.0020.0009.FF35] # FULLWIDTH LATIN CAPITAL LETTER U; QQK
-1F124 ; [*030E.0020.0004.1F124][.17E9.0020.000A.1F124][*030F.0020.001F.1F124] # PARENTHESIZED LATIN CAPITAL LETTER U; QQKN
-1F1FA ; [.17E9.0020.000A.1F1FA] # REGIONAL INDICATOR SYMBOL LETTER U; QQK
-1D414 ; [.17E9.0020.000B.1D414] # MATHEMATICAL BOLD CAPITAL U; QQK
-1D448 ; [.17E9.0020.000B.1D448] # MATHEMATICAL ITALIC CAPITAL U; QQK
-1D47C ; [.17E9.0020.000B.1D47C] # MATHEMATICAL BOLD ITALIC CAPITAL U; QQK
-1D4B0 ; [.17E9.0020.000B.1D4B0] # MATHEMATICAL SCRIPT CAPITAL U; QQK
-1D4E4 ; [.17E9.0020.000B.1D4E4] # MATHEMATICAL BOLD SCRIPT CAPITAL U; QQK
-1D518 ; [.17E9.0020.000B.1D518] # MATHEMATICAL FRAKTUR CAPITAL U; QQK
-1D54C ; [.17E9.0020.000B.1D54C] # MATHEMATICAL DOUBLE-STRUCK CAPITAL U; QQK
-1D580 ; [.17E9.0020.000B.1D580] # MATHEMATICAL BOLD FRAKTUR CAPITAL U; QQK
-1D5B4 ; [.17E9.0020.000B.1D5B4] # MATHEMATICAL SANS-SERIF CAPITAL U; QQK
-1D5E8 ; [.17E9.0020.000B.1D5E8] # MATHEMATICAL SANS-SERIF BOLD CAPITAL U; QQK
-1D61C ; [.17E9.0020.000B.1D61C] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL U; QQK
-1D650 ; [.17E9.0020.000B.1D650] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U; QQK
-1D684 ; [.17E9.0020.000B.1D684] # MATHEMATICAL MONOSPACE CAPITAL U; QQK
-24CA ; [.17E9.0020.000C.24CA] # CIRCLED LATIN CAPITAL LETTER U; QQK
-1F164 ; [.17E9.0020.000C.1F164] # NEGATIVE CIRCLED LATIN CAPITAL LETTER U; QQK
-1D58 ; [.17E9.0020.0014.1D58] # MODIFIER LETTER SMALL U; QQK
-1D64 ; [.17E9.0020.0015.1D64] # LATIN SUBSCRIPT SMALL LETTER U; QQK
-1D41 ; [.17E9.0020.001D.1D41] # MODIFIER LETTER CAPITAL U; QQK
-1F144 ; [.17E9.0020.001D.1F144] # SQUARED LATIN CAPITAL LETTER U; QQK
-1F184 ; [.17E9.0020.001D.1F184] # NEGATIVE SQUARED LATIN CAPITAL LETTER U; QQK
-00FA ; [.17E9.0020.0002.0075][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH ACUTE; QQCM
-00DA ; [.17E9.0020.0008.0055][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH ACUTE; QQCM
-00F9 ; [.17E9.0020.0002.0075][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH GRAVE; QQCM
-00D9 ; [.17E9.0020.0008.0055][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH GRAVE; QQCM
-016D ; [.17E9.0020.0002.0075][.0000.0037.0002.0306] # LATIN SMALL LETTER U WITH BREVE; QQCM
-016C ; [.17E9.0020.0008.0055][.0000.0037.0002.0306] # LATIN CAPITAL LETTER U WITH BREVE; QQCM
-00FB ; [.17E9.0020.0002.0075][.0000.003C.0002.0302] # LATIN SMALL LETTER U WITH CIRCUMFLEX; QQCM
-00DB ; [.17E9.0020.0008.0055][.0000.003C.0002.0302] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX; QQCM
-01D4 ; [.17E9.0020.0002.0075][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH CARON; QQCM
-01D3 ; [.17E9.0020.0008.0055][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH CARON; QQCM
-016F ; [.17E9.0020.0002.0075][.0000.0043.0002.030A] # LATIN SMALL LETTER U WITH RING ABOVE; QQCM
-016E ; [.17E9.0020.0008.0055][.0000.0043.0002.030A] # LATIN CAPITAL LETTER U WITH RING ABOVE; QQCM
-00FC ; [.17E9.0020.0002.0075][.0000.0047.0002.0308] # LATIN SMALL LETTER U WITH DIAERESIS; QQCM
-00DC ; [.17E9.0020.0008.0055][.0000.0047.0002.0308] # LATIN CAPITAL LETTER U WITH DIAERESIS; QQCM
-01D8 ; [.17E9.0020.0002.0075][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE; QQCM
-01D7 ; [.17E9.0020.0008.0055][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE; QQCM
-01DC ; [.17E9.0020.0002.0075][.0000.0047.0002.0308][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE; QQCM
-01DB ; [.17E9.0020.0008.0055][.0000.0047.0002.0308][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE; QQCM
-01DA ; [.17E9.0020.0002.0075][.0000.0047.0002.0308][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON; QQCM
-01D9 ; [.17E9.0020.0008.0055][.0000.0047.0002.0308][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON; QQCM
-01D6 ; [.17E9.0020.0002.0075][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON; QQCM
-01D5 ; [.17E9.0020.0008.0055][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON; QQCM
-0171 ; [.17E9.0020.0002.0075][.0000.004D.0002.030B] # LATIN SMALL LETTER U WITH DOUBLE ACUTE; QQCM
-0170 ; [.17E9.0020.0008.0055][.0000.004D.0002.030B] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE; QQCM
-0169 ; [.17E9.0020.0002.0075][.0000.004E.0002.0303] # LATIN SMALL LETTER U WITH TILDE; QQCM
-0168 ; [.17E9.0020.0008.0055][.0000.004E.0002.0303] # LATIN CAPITAL LETTER U WITH TILDE; QQCM
-1E79 ; [.17E9.0020.0002.0075][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH TILDE AND ACUTE; QQCM
-1E78 ; [.17E9.0020.0008.0055][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE; QQCM
-0173 ; [.17E9.0020.0002.0075][.0000.0059.0002.0328] # LATIN SMALL LETTER U WITH OGONEK; QQCM
-0172 ; [.17E9.0020.0008.0055][.0000.0059.0002.0328] # LATIN CAPITAL LETTER U WITH OGONEK; QQCM
-016B ; [.17E9.0020.0002.0075][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH MACRON; QQCM
-016A ; [.17E9.0020.0008.0055][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH MACRON; QQCM
-1E7B ; [.17E9.0020.0002.0075][.0000.005B.0002.0304][.0000.0047.0002.0308] # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS; QQCM
-1E7A ; [.17E9.0020.0008.0055][.0000.005B.0002.0304][.0000.0047.0002.0308] # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS; QQCM
-1EE7 ; [.17E9.0020.0002.0075][.0000.0064.0002.0309] # LATIN SMALL LETTER U WITH HOOK ABOVE; QQCM
-1EE6 ; [.17E9.0020.0008.0055][.0000.0064.0002.0309] # LATIN CAPITAL LETTER U WITH HOOK ABOVE; QQCM
-0215 ; [.17E9.0020.0002.0075][.0000.0065.0002.030F] # LATIN SMALL LETTER U WITH DOUBLE GRAVE; QQCM
-0214 ; [.17E9.0020.0008.0055][.0000.0065.0002.030F] # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE; QQCM
-0217 ; [.17E9.0020.0002.0075][.0000.0067.0002.0311] # LATIN SMALL LETTER U WITH INVERTED BREVE; QQCM
-0216 ; [.17E9.0020.0008.0055][.0000.0067.0002.0311] # LATIN CAPITAL LETTER U WITH INVERTED BREVE; QQCM
-01B0 ; [.17E9.0020.0002.0075][.0000.0068.0002.031B] # LATIN SMALL LETTER U WITH HORN; QQCM
-01AF ; [.17E9.0020.0008.0055][.0000.0068.0002.031B] # LATIN CAPITAL LETTER U WITH HORN; QQCM
-1EE9 ; [.17E9.0020.0002.0075][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH HORN AND ACUTE; QQCM
-1EE8 ; [.17E9.0020.0008.0055][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH HORN AND ACUTE; QQCM
-1EEB ; [.17E9.0020.0002.0075][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH HORN AND GRAVE; QQCM
-1EEA ; [.17E9.0020.0008.0055][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH HORN AND GRAVE; QQCM
-1EEF ; [.17E9.0020.0002.0075][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN SMALL LETTER U WITH HORN AND TILDE; QQCM
-1EEE ; [.17E9.0020.0008.0055][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN CAPITAL LETTER U WITH HORN AND TILDE; QQCM
-1EED ; [.17E9.0020.0002.0075][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE; QQCM
-1EEC ; [.17E9.0020.0008.0055][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE; QQCM
-1EF1 ; [.17E9.0020.0002.0075][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW; QQCM
-1EF0 ; [.17E9.0020.0008.0055][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW; QQCM
-1EE5 ; [.17E9.0020.0002.0075][.0000.0070.0002.0323] # LATIN SMALL LETTER U WITH DOT BELOW; QQCM
-1EE4 ; [.17E9.0020.0008.0055][.0000.0070.0002.0323] # LATIN CAPITAL LETTER U WITH DOT BELOW; QQCM
-1E73 ; [.17E9.0020.0002.0075][.0000.0075.0002.0324] # LATIN SMALL LETTER U WITH DIAERESIS BELOW; QQCM
-1E72 ; [.17E9.0020.0008.0055][.0000.0075.0002.0324] # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW; QQCM
-1E77 ; [.17E9.0020.0002.0075][.0000.0078.0002.032D] # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW; QQCM
-1E76 ; [.17E9.0020.0008.0055][.0000.0078.0002.032D] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW; QQCM
-1E75 ; [.17E9.0020.0002.0075][.0000.007A.0002.0330] # LATIN SMALL LETTER U WITH TILDE BELOW; QQCM
-1E74 ; [.17E9.0020.0008.0055][.0000.007A.0002.0330] # LATIN CAPITAL LETTER U WITH TILDE BELOW; QQCM
-1F199 ; [.17E9.0020.001D.1F199][.1749.0020.001D.1F199][*027B.0020.001F.1F199] # SQUARED UP WITH EXCLAMATION MARK; QQKN
-1D1C ; [.17ED.0020.0002.1D1C] # LATIN LETTER SMALL CAPITAL U
-1DB8 ; [.17ED.0020.0014.1DB8] # MODIFIER LETTER SMALL CAPITAL U; QQK
-1D1D ; [.17EE.0020.0002.1D1D] # LATIN SMALL LETTER SIDEWAYS U
-1D59 ; [.17EE.0020.0014.1D59] # MODIFIER LETTER SMALL SIDEWAYS U; QQK
-1D1E ; [.17EF.0020.0002.1D1E] # LATIN SMALL LETTER SIDEWAYS DIAERESIZED U
-1D6B ; [.17F0.0020.0002.1D6B] # LATIN SMALL LETTER UE
-0289 ; [.17F1.0020.0002.0289] # LATIN SMALL LETTER U BAR
-0244 ; [.17F1.0020.0008.0244] # LATIN CAPITAL LETTER U BAR
-1DB6 ; [.17F1.0020.0014.1DB6] # MODIFIER LETTER SMALL U BAR; QQK
-1D7E ; [.17F5.0020.0002.1D7E] # LATIN SMALL CAPITAL LETTER U WITH STROKE
-1D99 ; [.17F6.0020.0002.1D99] # LATIN SMALL LETTER U WITH RETROFLEX HOOK
-0265 ; [.17F7.0020.0002.0265] # LATIN SMALL LETTER TURNED H
-A78D ; [.17F7.0020.0008.A78D] # LATIN CAPITAL LETTER TURNED H
-1DA3 ; [.17F7.0020.0014.1DA3] # MODIFIER LETTER SMALL TURNED H; QQK
-02AE ; [.17FB.0020.0002.02AE] # LATIN SMALL LETTER TURNED H WITH FISHHOOK
-02AF ; [.17FF.0020.0002.02AF] # LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-026F ; [.1803.0020.0002.026F] # LATIN SMALL LETTER TURNED M
-019C ; [.1803.0020.0008.019C] # LATIN CAPITAL LETTER TURNED M
-1D5A ; [.1803.0020.0014.1D5A] # MODIFIER LETTER SMALL TURNED M; QQK
-A7FA ; [.1807.0020.0002.A7FA] # LATIN LETTER SMALL CAPITAL TURNED M
-1D1F ; [.1808.0020.0002.1D1F] # LATIN SMALL LETTER SIDEWAYS TURNED M
-0270 ; [.1809.0020.0002.0270] # LATIN SMALL LETTER TURNED M WITH LONG LEG
-1DAD ; [.1809.0020.0014.1DAD] # MODIFIER LETTER SMALL TURNED M WITH LONG LEG; QQK
-028A ; [.180D.0020.0002.028A] # LATIN SMALL LETTER UPSILON
-01B1 ; [.180D.0020.0008.01B1] # LATIN CAPITAL LETTER UPSILON
-1DB7 ; [.180D.0020.0014.1DB7] # MODIFIER LETTER SMALL UPSILON; QQK
-1D7F ; [.1811.0020.0002.1D7F] # LATIN SMALL LETTER UPSILON WITH STROKE
-0076 ; [.1812.0020.0002.0076] # LATIN SMALL LETTER V
-FF56 ; [.1812.0020.0003.FF56] # FULLWIDTH LATIN SMALL LETTER V; QQK
-036E ; [.1812.0020.0004.036E] # COMBINING LATIN SMALL LETTER V; QQK
-2174 ; [.1812.0020.0004.2174] # SMALL ROMAN NUMERAL FIVE; QQK
-24B1 ; [*030E.0020.0004.24B1][.1812.0020.0004.24B1][*030F.0020.001F.24B1] # PARENTHESIZED LATIN SMALL LETTER V; QQKN
-1D42F ; [.1812.0020.0005.1D42F] # MATHEMATICAL BOLD SMALL V; QQK
-1D463 ; [.1812.0020.0005.1D463] # MATHEMATICAL ITALIC SMALL V; QQK
-1D497 ; [.1812.0020.0005.1D497] # MATHEMATICAL BOLD ITALIC SMALL V; QQK
-1D4CB ; [.1812.0020.0005.1D4CB] # MATHEMATICAL SCRIPT SMALL V; QQK
-1D4FF ; [.1812.0020.0005.1D4FF] # MATHEMATICAL BOLD SCRIPT SMALL V; QQK
-1D533 ; [.1812.0020.0005.1D533] # MATHEMATICAL FRAKTUR SMALL V; QQK
-1D567 ; [.1812.0020.0005.1D567] # MATHEMATICAL DOUBLE-STRUCK SMALL V; QQK
-1D59B ; [.1812.0020.0005.1D59B] # MATHEMATICAL BOLD FRAKTUR SMALL V; QQK
-1D5CF ; [.1812.0020.0005.1D5CF] # MATHEMATICAL SANS-SERIF SMALL V; QQK
-1D603 ; [.1812.0020.0005.1D603] # MATHEMATICAL SANS-SERIF BOLD SMALL V; QQK
-1D637 ; [.1812.0020.0005.1D637] # MATHEMATICAL SANS-SERIF ITALIC SMALL V; QQK
-1D66B ; [.1812.0020.0005.1D66B] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V; QQK
-1D69F ; [.1812.0020.0005.1D69F] # MATHEMATICAL MONOSPACE SMALL V; QQK
-24E5 ; [.1812.0020.0006.24E5] # CIRCLED LATIN SMALL LETTER V; QQK
-0056 ; [.1812.0020.0008.0056] # LATIN CAPITAL LETTER V
-FF36 ; [.1812.0020.0009.FF36] # FULLWIDTH LATIN CAPITAL LETTER V; QQK
-2164 ; [.1812.0020.000A.2164] # ROMAN NUMERAL FIVE; QQK
-1F125 ; [*030E.0020.0004.1F125][.1812.0020.000A.1F125][*030F.0020.001F.1F125] # PARENTHESIZED LATIN CAPITAL LETTER V; QQKN
-1F1FB ; [.1812.0020.000A.1F1FB] # REGIONAL INDICATOR SYMBOL LETTER V; QQK
-1D415 ; [.1812.0020.000B.1D415] # MATHEMATICAL BOLD CAPITAL V; QQK
-1D449 ; [.1812.0020.000B.1D449] # MATHEMATICAL ITALIC CAPITAL V; QQK
-1D47D ; [.1812.0020.000B.1D47D] # MATHEMATICAL BOLD ITALIC CAPITAL V; QQK
-1D4B1 ; [.1812.0020.000B.1D4B1] # MATHEMATICAL SCRIPT CAPITAL V; QQK
-1D4E5 ; [.1812.0020.000B.1D4E5] # MATHEMATICAL BOLD SCRIPT CAPITAL V; QQK
-1D519 ; [.1812.0020.000B.1D519] # MATHEMATICAL FRAKTUR CAPITAL V; QQK
-1D54D ; [.1812.0020.000B.1D54D] # MATHEMATICAL DOUBLE-STRUCK CAPITAL V; QQK
-1D581 ; [.1812.0020.000B.1D581] # MATHEMATICAL BOLD FRAKTUR CAPITAL V; QQK
-1D5B5 ; [.1812.0020.000B.1D5B5] # MATHEMATICAL SANS-SERIF CAPITAL V; QQK
-1D5E9 ; [.1812.0020.000B.1D5E9] # MATHEMATICAL SANS-SERIF BOLD CAPITAL V; QQK
-1D61D ; [.1812.0020.000B.1D61D] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL V; QQK
-1D651 ; [.1812.0020.000B.1D651] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V; QQK
-1D685 ; [.1812.0020.000B.1D685] # MATHEMATICAL MONOSPACE CAPITAL V; QQK
-24CB ; [.1812.0020.000C.24CB] # CIRCLED LATIN CAPITAL LETTER V; QQK
-1F165 ; [.1812.0020.000C.1F165] # NEGATIVE CIRCLED LATIN CAPITAL LETTER V; QQK
-1D5B ; [.1812.0020.0014.1D5B] # MODIFIER LETTER SMALL V; QQK
-1D65 ; [.1812.0020.0015.1D65] # LATIN SUBSCRIPT SMALL LETTER V; QQK
-2C7D ; [.1812.0020.001D.2C7D] # MODIFIER LETTER CAPITAL V; QQK
-1F145 ; [.1812.0020.001D.1F145] # SQUARED LATIN CAPITAL LETTER V; QQK
-1F185 ; [.1812.0020.001D.1F185] # NEGATIVE SQUARED LATIN CAPITAL LETTER V; QQK
-1E7D ; [.1812.0020.0002.0076][.0000.004E.0002.0303] # LATIN SMALL LETTER V WITH TILDE; QQCM
-1E7C ; [.1812.0020.0008.0056][.0000.004E.0002.0303] # LATIN CAPITAL LETTER V WITH TILDE; QQCM
-1E7F ; [.1812.0020.0002.0076][.0000.0070.0002.0323] # LATIN SMALL LETTER V WITH DOT BELOW; QQCM
-1E7E ; [.1812.0020.0008.0056][.0000.0070.0002.0323] # LATIN CAPITAL LETTER V WITH DOT BELOW; QQCM
-2175 ; [.1812.0020.0004.2175][.1680.0020.0004.2175] # SMALL ROMAN NUMERAL SIX; QQKN
-2165 ; [.1812.0020.000A.2165][.1680.0020.000A.2165] # ROMAN NUMERAL SIX; QQKN
-2176 ; [.1812.0020.0004.2176][.1680.0020.0004.2176][.1680.0020.001F.2176] # SMALL ROMAN NUMERAL SEVEN; QQKN
-2166 ; [.1812.0020.000A.2166][.1680.0020.000A.2166][.1680.0020.001F.2166] # ROMAN NUMERAL SEVEN; QQKN
-2177 ; [.1812.0020.0004.2177][.1680.0020.0004.2177][.1680.0020.001F.2177][.1680.0020.001F.2177] # SMALL ROMAN NUMERAL EIGHT; QQKN
-2167 ; [.1812.0020.000A.2167][.1680.0020.000A.2167][.1680.0020.001F.2167][.1680.0020.001F.2167] # ROMAN NUMERAL EIGHT; QQKN
-33DE ; [.1812.0020.001D.33DE][*0579.0020.001C.33DE][.16F4.0020.001F.33DE] # SQUARE V OVER M; QQKN
-1F19A ; [.1812.0020.001D.1F19A][.17A6.0020.001D.1F19A] # SQUARED VS; QQKN
-A761 ; [.1812.0020.0004.A761][.1833.0020.0004.A761] # LATIN SMALL LETTER VY; QQKN
-A760 ; [.1812.0020.000A.A760][.1833.0020.000A.A760] # LATIN CAPITAL LETTER VY; QQKN
-1D20 ; [.1816.0020.0002.1D20] # LATIN LETTER SMALL CAPITAL V
-A75F ; [.1817.0020.0002.A75F] # LATIN SMALL LETTER V WITH DIAGONAL STROKE
-A75E ; [.1817.0020.0008.A75E] # LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
-1D8C ; [.1818.0020.0002.1D8C] # LATIN SMALL LETTER V WITH PALATAL HOOK
-028B ; [.1819.0020.0002.028B] # LATIN SMALL LETTER V WITH HOOK
-01B2 ; [.1819.0020.0008.01B2] # LATIN CAPITAL LETTER V WITH HOOK
-1DB9 ; [.1819.0020.0014.1DB9] # MODIFIER LETTER SMALL V WITH HOOK; QQK
-2C71 ; [.181D.0020.0002.2C71] # LATIN SMALL LETTER V WITH RIGHT HOOK
-2C74 ; [.181E.0020.0002.2C74] # LATIN SMALL LETTER V WITH CURL
-1EFD ; [.181F.0020.0002.1EFD] # LATIN SMALL LETTER MIDDLE-WELSH V
-1EFC ; [.181F.0020.0008.1EFC] # LATIN CAPITAL LETTER MIDDLE-WELSH V
-028C ; [.1820.0020.0002.028C] # LATIN SMALL LETTER TURNED V
-0245 ; [.1820.0020.0008.0245] # LATIN CAPITAL LETTER TURNED V
-1DBA ; [.1820.0020.0014.1DBA] # MODIFIER LETTER SMALL TURNED V; QQK
-0077 ; [.1824.0020.0002.0077] # LATIN SMALL LETTER W
-FF57 ; [.1824.0020.0003.FF57] # FULLWIDTH LATIN SMALL LETTER W; QQK
-24B2 ; [*030E.0020.0004.24B2][.1824.0020.0004.24B2][*030F.0020.001F.24B2] # PARENTHESIZED LATIN SMALL LETTER W; QQKN
-1D430 ; [.1824.0020.0005.1D430] # MATHEMATICAL BOLD SMALL W; QQK
-1D464 ; [.1824.0020.0005.1D464] # MATHEMATICAL ITALIC SMALL W; QQK
-1D498 ; [.1824.0020.0005.1D498] # MATHEMATICAL BOLD ITALIC SMALL W; QQK
-1D4CC ; [.1824.0020.0005.1D4CC] # MATHEMATICAL SCRIPT SMALL W; QQK
-1D500 ; [.1824.0020.0005.1D500] # MATHEMATICAL BOLD SCRIPT SMALL W; QQK
-1D534 ; [.1824.0020.0005.1D534] # MATHEMATICAL FRAKTUR SMALL W; QQK
-1D568 ; [.1824.0020.0005.1D568] # MATHEMATICAL DOUBLE-STRUCK SMALL W; QQK
-1D59C ; [.1824.0020.0005.1D59C] # MATHEMATICAL BOLD FRAKTUR SMALL W; QQK
-1D5D0 ; [.1824.0020.0005.1D5D0] # MATHEMATICAL SANS-SERIF SMALL W; QQK
-1D604 ; [.1824.0020.0005.1D604] # MATHEMATICAL SANS-SERIF BOLD SMALL W; QQK
-1D638 ; [.1824.0020.0005.1D638] # MATHEMATICAL SANS-SERIF ITALIC SMALL W; QQK
-1D66C ; [.1824.0020.0005.1D66C] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W; QQK
-1D6A0 ; [.1824.0020.0005.1D6A0] # MATHEMATICAL MONOSPACE SMALL W; QQK
-24E6 ; [.1824.0020.0006.24E6] # CIRCLED LATIN SMALL LETTER W; QQK
-0057 ; [.1824.0020.0008.0057] # LATIN CAPITAL LETTER W
-FF37 ; [.1824.0020.0009.FF37] # FULLWIDTH LATIN CAPITAL LETTER W; QQK
-1F126 ; [*030E.0020.0004.1F126][.1824.0020.000A.1F126][*030F.0020.001F.1F126] # PARENTHESIZED LATIN CAPITAL LETTER W; QQKN
-1F1FC ; [.1824.0020.000A.1F1FC] # REGIONAL INDICATOR SYMBOL LETTER W; QQK
-1D416 ; [.1824.0020.000B.1D416] # MATHEMATICAL BOLD CAPITAL W; QQK
-1D44A ; [.1824.0020.000B.1D44A] # MATHEMATICAL ITALIC CAPITAL W; QQK
-1D47E ; [.1824.0020.000B.1D47E] # MATHEMATICAL BOLD ITALIC CAPITAL W; QQK
-1D4B2 ; [.1824.0020.000B.1D4B2] # MATHEMATICAL SCRIPT CAPITAL W; QQK
-1D4E6 ; [.1824.0020.000B.1D4E6] # MATHEMATICAL BOLD SCRIPT CAPITAL W; QQK
-1D51A ; [.1824.0020.000B.1D51A] # MATHEMATICAL FRAKTUR CAPITAL W; QQK
-1D54E ; [.1824.0020.000B.1D54E] # MATHEMATICAL DOUBLE-STRUCK CAPITAL W; QQK
-1D582 ; [.1824.0020.000B.1D582] # MATHEMATICAL BOLD FRAKTUR CAPITAL W; QQK
-1D5B6 ; [.1824.0020.000B.1D5B6] # MATHEMATICAL SANS-SERIF CAPITAL W; QQK
-1D5EA ; [.1824.0020.000B.1D5EA] # MATHEMATICAL SANS-SERIF BOLD CAPITAL W; QQK
-1D61E ; [.1824.0020.000B.1D61E] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL W; QQK
-1D652 ; [.1824.0020.000B.1D652] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W; QQK
-1D686 ; [.1824.0020.000B.1D686] # MATHEMATICAL MONOSPACE CAPITAL W; QQK
-24CC ; [.1824.0020.000C.24CC] # CIRCLED LATIN CAPITAL LETTER W; QQK
-1F166 ; [.1824.0020.000C.1F166] # NEGATIVE CIRCLED LATIN CAPITAL LETTER W; QQK
-02B7 ; [.1824.0020.0014.02B7] # MODIFIER LETTER SMALL W; QQK
-1D42 ; [.1824.0020.001D.1D42] # MODIFIER LETTER CAPITAL W; QQK
-1F146 ; [.1824.0020.001D.1F146] # SQUARED LATIN CAPITAL LETTER W; QQK
-1F186 ; [.1824.0020.001D.1F186] # NEGATIVE SQUARED LATIN CAPITAL LETTER W; QQK
-1E83 ; [.1824.0020.0002.0077][.0000.0032.0002.0301] # LATIN SMALL LETTER W WITH ACUTE; QQCM
-1E82 ; [.1824.0020.0008.0057][.0000.0032.0002.0301] # LATIN CAPITAL LETTER W WITH ACUTE; QQCM
-1E81 ; [.1824.0020.0002.0077][.0000.0035.0002.0300] # LATIN SMALL LETTER W WITH GRAVE; QQCM
-1E80 ; [.1824.0020.0008.0057][.0000.0035.0002.0300] # LATIN CAPITAL LETTER W WITH GRAVE; QQCM
-0175 ; [.1824.0020.0002.0077][.0000.003C.0002.0302] # LATIN SMALL LETTER W WITH CIRCUMFLEX; QQCM
-0174 ; [.1824.0020.0008.0057][.0000.003C.0002.0302] # LATIN CAPITAL LETTER W WITH CIRCUMFLEX; QQCM
-1E98 ; [.1824.0020.0002.0077][.0000.0043.0002.030A] # LATIN SMALL LETTER W WITH RING ABOVE; QQCM
-1E85 ; [.1824.0020.0002.0077][.0000.0047.0002.0308] # LATIN SMALL LETTER W WITH DIAERESIS; QQCM
-1E84 ; [.1824.0020.0008.0057][.0000.0047.0002.0308] # LATIN CAPITAL LETTER W WITH DIAERESIS; QQCM
-1E87 ; [.1824.0020.0002.0077][.0000.0052.0002.0307] # LATIN SMALL LETTER W WITH DOT ABOVE; QQCM
-1E86 ; [.1824.0020.0008.0057][.0000.0052.0002.0307] # LATIN CAPITAL LETTER W WITH DOT ABOVE; QQCM
-1E89 ; [.1824.0020.0002.0077][.0000.0070.0002.0323] # LATIN SMALL LETTER W WITH DOT BELOW; QQCM
-1E88 ; [.1824.0020.0008.0057][.0000.0070.0002.0323] # LATIN CAPITAL LETTER W WITH DOT BELOW; QQCM
-33DD ; [.1824.0020.001D.33DD][.15B9.0020.001C.33DD] # SQUARE WB; QQKN
-1F14F ; [.1824.0020.001D.1F14F][.15D1.0020.001D.1F14F] # SQUARED WC; QQKN
-1F18F ; [.1824.0020.001D.1F18F][.15D1.0020.001D.1F18F] # NEGATIVE SQUARED WC; QQKN
-1F12E ; [.1824.0020.000C.1F12E][.1844.0020.000C.1F12E] # CIRCLED WZ; QQKN
-1D21 ; [.1828.0020.0002.1D21] # LATIN LETTER SMALL CAPITAL W
-2C73 ; [.1829.0020.0002.2C73] # LATIN SMALL LETTER W WITH HOOK
-2C72 ; [.1829.0020.0008.2C72] # LATIN CAPITAL LETTER W WITH HOOK
-028D ; [.182A.0020.0002.028D] # LATIN SMALL LETTER TURNED W
-0078 ; [.182E.0020.0002.0078] # LATIN SMALL LETTER X
-FF58 ; [.182E.0020.0003.FF58] # FULLWIDTH LATIN SMALL LETTER X; QQK
-036F ; [.182E.0020.0004.036F] # COMBINING LATIN SMALL LETTER X; QQK
-2179 ; [.182E.0020.0004.2179] # SMALL ROMAN NUMERAL TEN; QQK
-24B3 ; [*030E.0020.0004.24B3][.182E.0020.0004.24B3][*030F.0020.001F.24B3] # PARENTHESIZED LATIN SMALL LETTER X; QQKN
-1D431 ; [.182E.0020.0005.1D431] # MATHEMATICAL BOLD SMALL X; QQK
-1D465 ; [.182E.0020.0005.1D465] # MATHEMATICAL ITALIC SMALL X; QQK
-1D499 ; [.182E.0020.0005.1D499] # MATHEMATICAL BOLD ITALIC SMALL X; QQK
-1D4CD ; [.182E.0020.0005.1D4CD] # MATHEMATICAL SCRIPT SMALL X; QQK
-1D501 ; [.182E.0020.0005.1D501] # MATHEMATICAL BOLD SCRIPT SMALL X; QQK
-1D535 ; [.182E.0020.0005.1D535] # MATHEMATICAL FRAKTUR SMALL X; QQK
-1D569 ; [.182E.0020.0005.1D569] # MATHEMATICAL DOUBLE-STRUCK SMALL X; QQK
-1D59D ; [.182E.0020.0005.1D59D] # MATHEMATICAL BOLD FRAKTUR SMALL X; QQK
-1D5D1 ; [.182E.0020.0005.1D5D1] # MATHEMATICAL SANS-SERIF SMALL X; QQK
-1D605 ; [.182E.0020.0005.1D605] # MATHEMATICAL SANS-SERIF BOLD SMALL X; QQK
-1D639 ; [.182E.0020.0005.1D639] # MATHEMATICAL SANS-SERIF ITALIC SMALL X; QQK
-1D66D ; [.182E.0020.0005.1D66D] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X; QQK
-1D6A1 ; [.182E.0020.0005.1D6A1] # MATHEMATICAL MONOSPACE SMALL X; QQK
-24E7 ; [.182E.0020.0006.24E7] # CIRCLED LATIN SMALL LETTER X; QQK
-0058 ; [.182E.0020.0008.0058] # LATIN CAPITAL LETTER X
-FF38 ; [.182E.0020.0009.FF38] # FULLWIDTH LATIN CAPITAL LETTER X; QQK
-2169 ; [.182E.0020.000A.2169] # ROMAN NUMERAL TEN; QQK
-1F127 ; [*030E.0020.0004.1F127][.182E.0020.000A.1F127][*030F.0020.001F.1F127] # PARENTHESIZED LATIN CAPITAL LETTER X; QQKN
-1F1FD ; [.182E.0020.000A.1F1FD] # REGIONAL INDICATOR SYMBOL LETTER X; QQK
-1D417 ; [.182E.0020.000B.1D417] # MATHEMATICAL BOLD CAPITAL X; QQK
-1D44B ; [.182E.0020.000B.1D44B] # MATHEMATICAL ITALIC CAPITAL X; QQK
-1D47F ; [.182E.0020.000B.1D47F] # MATHEMATICAL BOLD ITALIC CAPITAL X; QQK
-1D4B3 ; [.182E.0020.000B.1D4B3] # MATHEMATICAL SCRIPT CAPITAL X; QQK
-1D4E7 ; [.182E.0020.000B.1D4E7] # MATHEMATICAL BOLD SCRIPT CAPITAL X; QQK
-1D51B ; [.182E.0020.000B.1D51B] # MATHEMATICAL FRAKTUR CAPITAL X; QQK
-1D54F ; [.182E.0020.000B.1D54F] # MATHEMATICAL DOUBLE-STRUCK CAPITAL X; QQK
-1D583 ; [.182E.0020.000B.1D583] # MATHEMATICAL BOLD FRAKTUR CAPITAL X; QQK
-1D5B7 ; [.182E.0020.000B.1D5B7] # MATHEMATICAL SANS-SERIF CAPITAL X; QQK
-1D5EB ; [.182E.0020.000B.1D5EB] # MATHEMATICAL SANS-SERIF BOLD CAPITAL X; QQK
-1D61F ; [.182E.0020.000B.1D61F] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL X; QQK
-1D653 ; [.182E.0020.000B.1D653] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X; QQK
-1D687 ; [.182E.0020.000B.1D687] # MATHEMATICAL MONOSPACE CAPITAL X; QQK
-24CD ; [.182E.0020.000C.24CD] # CIRCLED LATIN CAPITAL LETTER X; QQK
-1F167 ; [.182E.0020.000C.1F167] # NEGATIVE CIRCLED LATIN CAPITAL LETTER X; QQK
-02E3 ; [.182E.0020.0014.02E3] # MODIFIER LETTER SMALL X; QQK
-2093 ; [.182E.0020.0015.2093] # LATIN SUBSCRIPT SMALL LETTER X; QQK
-1F147 ; [.182E.0020.001D.1F147] # SQUARED LATIN CAPITAL LETTER X; QQK
-1F187 ; [.182E.0020.001D.1F187] # NEGATIVE SQUARED LATIN CAPITAL LETTER X; QQK
-1E8D ; [.182E.0020.0002.0078][.0000.0047.0002.0308] # LATIN SMALL LETTER X WITH DIAERESIS; QQCM
-1E8C ; [.182E.0020.0008.0058][.0000.0047.0002.0308] # LATIN CAPITAL LETTER X WITH DIAERESIS; QQCM
-1E8B ; [.182E.0020.0002.0078][.0000.0052.0002.0307] # LATIN SMALL LETTER X WITH DOT ABOVE; QQCM
-1E8A ; [.182E.0020.0008.0058][.0000.0052.0002.0307] # LATIN CAPITAL LETTER X WITH DOT ABOVE; QQCM
-217A ; [.182E.0020.0004.217A][.1680.0020.0004.217A] # SMALL ROMAN NUMERAL ELEVEN; QQKN
-216A ; [.182E.0020.000A.216A][.1680.0020.000A.216A] # ROMAN NUMERAL ELEVEN; QQKN
-217B ; [.182E.0020.0004.217B][.1680.0020.0004.217B][.1680.0020.001F.217B] # SMALL ROMAN NUMERAL TWELVE; QQKN
-216B ; [.182E.0020.000A.216B][.1680.0020.000A.216B][.1680.0020.001F.216B] # ROMAN NUMERAL TWELVE; QQKN
-1D8D ; [.1832.0020.0002.1D8D] # LATIN SMALL LETTER X WITH PALATAL HOOK
-0079 ; [.1833.0020.0002.0079] # LATIN SMALL LETTER Y
-FF59 ; [.1833.0020.0003.FF59] # FULLWIDTH LATIN SMALL LETTER Y; QQK
-24B4 ; [*030E.0020.0004.24B4][.1833.0020.0004.24B4][*030F.0020.001F.24B4] # PARENTHESIZED LATIN SMALL LETTER Y; QQKN
-1D432 ; [.1833.0020.0005.1D432] # MATHEMATICAL BOLD SMALL Y; QQK
-1D466 ; [.1833.0020.0005.1D466] # MATHEMATICAL ITALIC SMALL Y; QQK
-1D49A ; [.1833.0020.0005.1D49A] # MATHEMATICAL BOLD ITALIC SMALL Y; QQK
-1D4CE ; [.1833.0020.0005.1D4CE] # MATHEMATICAL SCRIPT SMALL Y; QQK
-1D502 ; [.1833.0020.0005.1D502] # MATHEMATICAL BOLD SCRIPT SMALL Y; QQK
-1D536 ; [.1833.0020.0005.1D536] # MATHEMATICAL FRAKTUR SMALL Y; QQK
-1D56A ; [.1833.0020.0005.1D56A] # MATHEMATICAL DOUBLE-STRUCK SMALL Y; QQK
-1D59E ; [.1833.0020.0005.1D59E] # MATHEMATICAL BOLD FRAKTUR SMALL Y; QQK
-1D5D2 ; [.1833.0020.0005.1D5D2] # MATHEMATICAL SANS-SERIF SMALL Y; QQK
-1D606 ; [.1833.0020.0005.1D606] # MATHEMATICAL SANS-SERIF BOLD SMALL Y; QQK
-1D63A ; [.1833.0020.0005.1D63A] # MATHEMATICAL SANS-SERIF ITALIC SMALL Y; QQK
-1D66E ; [.1833.0020.0005.1D66E] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y; QQK
-1D6A2 ; [.1833.0020.0005.1D6A2] # MATHEMATICAL MONOSPACE SMALL Y; QQK
-24E8 ; [.1833.0020.0006.24E8] # CIRCLED LATIN SMALL LETTER Y; QQK
-0059 ; [.1833.0020.0008.0059] # LATIN CAPITAL LETTER Y
-FF39 ; [.1833.0020.0009.FF39] # FULLWIDTH LATIN CAPITAL LETTER Y; QQK
-1F128 ; [*030E.0020.0004.1F128][.1833.0020.000A.1F128][*030F.0020.001F.1F128] # PARENTHESIZED LATIN CAPITAL LETTER Y; QQKN
-1F1FE ; [.1833.0020.000A.1F1FE] # REGIONAL INDICATOR SYMBOL LETTER Y; QQK
-1D418 ; [.1833.0020.000B.1D418] # MATHEMATICAL BOLD CAPITAL Y; QQK
-1D44C ; [.1833.0020.000B.1D44C] # MATHEMATICAL ITALIC CAPITAL Y; QQK
-1D480 ; [.1833.0020.000B.1D480] # MATHEMATICAL BOLD ITALIC CAPITAL Y; QQK
-1D4B4 ; [.1833.0020.000B.1D4B4] # MATHEMATICAL SCRIPT CAPITAL Y; QQK
-1D4E8 ; [.1833.0020.000B.1D4E8] # MATHEMATICAL BOLD SCRIPT CAPITAL Y; QQK
-1D51C ; [.1833.0020.000B.1D51C] # MATHEMATICAL FRAKTUR CAPITAL Y; QQK
-1D550 ; [.1833.0020.000B.1D550] # MATHEMATICAL DOUBLE-STRUCK CAPITAL Y; QQK
-1D584 ; [.1833.0020.000B.1D584] # MATHEMATICAL BOLD FRAKTUR CAPITAL Y; QQK
-1D5B8 ; [.1833.0020.000B.1D5B8] # MATHEMATICAL SANS-SERIF CAPITAL Y; QQK
-1D5EC ; [.1833.0020.000B.1D5EC] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Y; QQK
-1D620 ; [.1833.0020.000B.1D620] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y; QQK
-1D654 ; [.1833.0020.000B.1D654] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y; QQK
-1D688 ; [.1833.0020.000B.1D688] # MATHEMATICAL MONOSPACE CAPITAL Y; QQK
-24CE ; [.1833.0020.000C.24CE] # CIRCLED LATIN CAPITAL LETTER Y; QQK
-1F168 ; [.1833.0020.000C.1F168] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Y; QQK
-02B8 ; [.1833.0020.0014.02B8] # MODIFIER LETTER SMALL Y; QQK
-1F148 ; [.1833.0020.001D.1F148] # SQUARED LATIN CAPITAL LETTER Y; QQK
-1F188 ; [.1833.0020.001D.1F188] # NEGATIVE SQUARED LATIN CAPITAL LETTER Y; QQK
-00FD ; [.1833.0020.0002.0079][.0000.0032.0002.0301] # LATIN SMALL LETTER Y WITH ACUTE; QQCM
-00DD ; [.1833.0020.0008.0059][.0000.0032.0002.0301] # LATIN CAPITAL LETTER Y WITH ACUTE; QQCM
-1EF3 ; [.1833.0020.0002.0079][.0000.0035.0002.0300] # LATIN SMALL LETTER Y WITH GRAVE; QQCM
-1EF2 ; [.1833.0020.0008.0059][.0000.0035.0002.0300] # LATIN CAPITAL LETTER Y WITH GRAVE; QQCM
-0177 ; [.1833.0020.0002.0079][.0000.003C.0002.0302] # LATIN SMALL LETTER Y WITH CIRCUMFLEX; QQCM
-0176 ; [.1833.0020.0008.0059][.0000.003C.0002.0302] # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX; QQCM
-1E99 ; [.1833.0020.0002.0079][.0000.0043.0002.030A] # LATIN SMALL LETTER Y WITH RING ABOVE; QQCM
-00FF ; [.1833.0020.0002.0079][.0000.0047.0002.0308] # LATIN SMALL LETTER Y WITH DIAERESIS; QQCM
-0178 ; [.1833.0020.0008.0059][.0000.0047.0002.0308] # LATIN CAPITAL LETTER Y WITH DIAERESIS; QQCM
-1EF9 ; [.1833.0020.0002.0079][.0000.004E.0002.0303] # LATIN SMALL LETTER Y WITH TILDE; QQCM
-1EF8 ; [.1833.0020.0008.0059][.0000.004E.0002.0303] # LATIN CAPITAL LETTER Y WITH TILDE; QQCM
-1E8F ; [.1833.0020.0002.0079][.0000.0052.0002.0307] # LATIN SMALL LETTER Y WITH DOT ABOVE; QQCM
-1E8E ; [.1833.0020.0008.0059][.0000.0052.0002.0307] # LATIN CAPITAL LETTER Y WITH DOT ABOVE; QQCM
-0233 ; [.1833.0020.0002.0079][.0000.005B.0002.0304] # LATIN SMALL LETTER Y WITH MACRON; QQCM
-0232 ; [.1833.0020.0008.0059][.0000.005B.0002.0304] # LATIN CAPITAL LETTER Y WITH MACRON; QQCM
-1EF7 ; [.1833.0020.0002.0079][.0000.0064.0002.0309] # LATIN SMALL LETTER Y WITH HOOK ABOVE; QQCM
-1EF6 ; [.1833.0020.0008.0059][.0000.0064.0002.0309] # LATIN CAPITAL LETTER Y WITH HOOK ABOVE; QQCM
-1EF5 ; [.1833.0020.0002.0079][.0000.0070.0002.0323] # LATIN SMALL LETTER Y WITH DOT BELOW; QQCM
-1EF4 ; [.1833.0020.0008.0059][.0000.0070.0002.0323] # LATIN CAPITAL LETTER Y WITH DOT BELOW; QQCM
-028F ; [.1837.0020.0002.028F] # LATIN LETTER SMALL CAPITAL Y
-024F ; [.183B.0020.0002.024F] # LATIN SMALL LETTER Y WITH STROKE
-024E ; [.183B.0020.0008.024E] # LATIN CAPITAL LETTER Y WITH STROKE
-01B4 ; [.183F.0020.0002.01B4] # LATIN SMALL LETTER Y WITH HOOK
-01B3 ; [.183F.0020.0008.01B3] # LATIN CAPITAL LETTER Y WITH HOOK
-1EFF ; [.1843.0020.0002.1EFF] # LATIN SMALL LETTER Y WITH LOOP
-1EFE ; [.1843.0020.0008.1EFE] # LATIN CAPITAL LETTER Y WITH LOOP
-007A ; [.1844.0020.0002.007A] # LATIN SMALL LETTER Z
-FF5A ; [.1844.0020.0003.FF5A] # FULLWIDTH LATIN SMALL LETTER Z; QQK
-1DE6 ; [.1844.0020.0004.1DE6] # COMBINING LATIN SMALL LETTER Z; QQK
-24B5 ; [*030E.0020.0004.24B5][.1844.0020.0004.24B5][*030F.0020.001F.24B5] # PARENTHESIZED LATIN SMALL LETTER Z; QQKN
-1D433 ; [.1844.0020.0005.1D433] # MATHEMATICAL BOLD SMALL Z; QQK
-1D467 ; [.1844.0020.0005.1D467] # MATHEMATICAL ITALIC SMALL Z; QQK
-1D49B ; [.1844.0020.0005.1D49B] # MATHEMATICAL BOLD ITALIC SMALL Z; QQK
-1D4CF ; [.1844.0020.0005.1D4CF] # MATHEMATICAL SCRIPT SMALL Z; QQK
-1D503 ; [.1844.0020.0005.1D503] # MATHEMATICAL BOLD SCRIPT SMALL Z; QQK
-1D537 ; [.1844.0020.0005.1D537] # MATHEMATICAL FRAKTUR SMALL Z; QQK
-1D56B ; [.1844.0020.0005.1D56B] # MATHEMATICAL DOUBLE-STRUCK SMALL Z; QQK
-1D59F ; [.1844.0020.0005.1D59F] # MATHEMATICAL BOLD FRAKTUR SMALL Z; QQK
-1D5D3 ; [.1844.0020.0005.1D5D3] # MATHEMATICAL SANS-SERIF SMALL Z; QQK
-1D607 ; [.1844.0020.0005.1D607] # MATHEMATICAL SANS-SERIF BOLD SMALL Z; QQK
-1D63B ; [.1844.0020.0005.1D63B] # MATHEMATICAL SANS-SERIF ITALIC SMALL Z; QQK
-1D66F ; [.1844.0020.0005.1D66F] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z; QQK
-1D6A3 ; [.1844.0020.0005.1D6A3] # MATHEMATICAL MONOSPACE SMALL Z; QQK
-24E9 ; [.1844.0020.0006.24E9] # CIRCLED LATIN SMALL LETTER Z; QQK
-005A ; [.1844.0020.0008.005A] # LATIN CAPITAL LETTER Z
-FF3A ; [.1844.0020.0009.FF3A] # FULLWIDTH LATIN CAPITAL LETTER Z; QQK
-1F129 ; [*030E.0020.0004.1F129][.1844.0020.000A.1F129][*030F.0020.001F.1F129] # PARENTHESIZED LATIN CAPITAL LETTER Z; QQKN
-1F1FF ; [.1844.0020.000A.1F1FF] # REGIONAL INDICATOR SYMBOL LETTER Z; QQK
-2124 ; [.1844.0020.000B.2124] # DOUBLE-STRUCK CAPITAL Z; QQK
-2128 ; [.1844.0020.000B.2128] # BLACK-LETTER CAPITAL Z; QQK
-1D419 ; [.1844.0020.000B.1D419] # MATHEMATICAL BOLD CAPITAL Z; QQK
-1D44D ; [.1844.0020.000B.1D44D] # MATHEMATICAL ITALIC CAPITAL Z; QQK
-1D481 ; [.1844.0020.000B.1D481] # MATHEMATICAL BOLD ITALIC CAPITAL Z; QQK
-1D4B5 ; [.1844.0020.000B.1D4B5] # MATHEMATICAL SCRIPT CAPITAL Z; QQK
-1D4E9 ; [.1844.0020.000B.1D4E9] # MATHEMATICAL BOLD SCRIPT CAPITAL Z; QQK
-1D585 ; [.1844.0020.000B.1D585] # MATHEMATICAL BOLD FRAKTUR CAPITAL Z; QQK
-1D5B9 ; [.1844.0020.000B.1D5B9] # MATHEMATICAL SANS-SERIF CAPITAL Z; QQK
-1D5ED ; [.1844.0020.000B.1D5ED] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Z; QQK
-1D621 ; [.1844.0020.000B.1D621] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z; QQK
-1D655 ; [.1844.0020.000B.1D655] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z; QQK
-1D689 ; [.1844.0020.000B.1D689] # MATHEMATICAL MONOSPACE CAPITAL Z; QQK
-24CF ; [.1844.0020.000C.24CF] # CIRCLED LATIN CAPITAL LETTER Z; QQK
-1F169 ; [.1844.0020.000C.1F169] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Z; QQK
-1DBB ; [.1844.0020.0014.1DBB] # MODIFIER LETTER SMALL Z; QQK
-1F149 ; [.1844.0020.001D.1F149] # SQUARED LATIN CAPITAL LETTER Z; QQK
-1F189 ; [.1844.0020.001D.1F189] # NEGATIVE SQUARED LATIN CAPITAL LETTER Z; QQK
-017A ; [.1844.0020.0002.007A][.0000.0032.0002.0301] # LATIN SMALL LETTER Z WITH ACUTE; QQCM
-0179 ; [.1844.0020.0008.005A][.0000.0032.0002.0301] # LATIN CAPITAL LETTER Z WITH ACUTE; QQCM
-1E91 ; [.1844.0020.0002.007A][.0000.003C.0002.0302] # LATIN SMALL LETTER Z WITH CIRCUMFLEX; QQCM
-1E90 ; [.1844.0020.0008.005A][.0000.003C.0002.0302] # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX; QQCM
-017E ; [.1844.0020.0002.007A][.0000.0041.0002.030C] # LATIN SMALL LETTER Z WITH CARON; QQCM
-017D ; [.1844.0020.0008.005A][.0000.0041.0002.030C] # LATIN CAPITAL LETTER Z WITH CARON; QQCM
-017C ; [.1844.0020.0002.007A][.0000.0052.0002.0307] # LATIN SMALL LETTER Z WITH DOT ABOVE; QQCM
-017B ; [.1844.0020.0008.005A][.0000.0052.0002.0307] # LATIN CAPITAL LETTER Z WITH DOT ABOVE; QQCM
-1E93 ; [.1844.0020.0002.007A][.0000.0070.0002.0323] # LATIN SMALL LETTER Z WITH DOT BELOW; QQCM
-1E92 ; [.1844.0020.0008.005A][.0000.0070.0002.0323] # LATIN CAPITAL LETTER Z WITH DOT BELOW; QQCM
-1E95 ; [.1844.0020.0002.007A][.0000.007B.0002.0331] # LATIN SMALL LETTER Z WITH LINE BELOW; QQCM
-1E94 ; [.1844.0020.0008.005A][.0000.007B.0002.0331] # LATIN CAPITAL LETTER Z WITH LINE BELOW; QQCM
-018D ; [.1844.0020.0004.018D][.1824.0020.0004.018D] # LATIN SMALL LETTER TURNED DELTA; QQKN
-1D22 ; [.1848.0020.0002.1D22] # LATIN LETTER SMALL CAPITAL Z
-01B6 ; [.1849.0020.0002.01B6] # LATIN SMALL LETTER Z WITH STROKE
-01B5 ; [.1849.0020.0008.01B5] # LATIN CAPITAL LETTER Z WITH STROKE
-1D76 ; [.184D.0020.0002.1D76] # LATIN SMALL LETTER Z WITH MIDDLE TILDE
-1D8E ; [.184E.0020.0002.1D8E] # LATIN SMALL LETTER Z WITH PALATAL HOOK
-0225 ; [.184F.0020.0002.0225] # LATIN SMALL LETTER Z WITH HOOK
-0224 ; [.184F.0020.0008.0224] # LATIN CAPITAL LETTER Z WITH HOOK
-0290 ; [.1853.0020.0002.0290] # LATIN SMALL LETTER Z WITH RETROFLEX HOOK
-1DBC ; [.1853.0020.0014.1DBC] # MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK; QQK
-0291 ; [.1857.0020.0002.0291] # LATIN SMALL LETTER Z WITH CURL
-1DBD ; [.1857.0020.0014.1DBD] # MODIFIER LETTER SMALL Z WITH CURL; QQK
-0240 ; [.185B.0020.0002.0240] # LATIN SMALL LETTER Z WITH SWASH TAIL
-2C7F ; [.185B.0020.0008.2C7F] # LATIN CAPITAL LETTER Z WITH SWASH TAIL
-2C6C ; [.185F.0020.0002.2C6C] # LATIN SMALL LETTER Z WITH DESCENDER
-2C6B ; [.185F.0020.0008.2C6B] # LATIN CAPITAL LETTER Z WITH DESCENDER
-A763 ; [.1860.0020.0002.A763] # LATIN SMALL LETTER VISIGOTHIC Z
-A762 ; [.1860.0020.0008.A762] # LATIN CAPITAL LETTER VISIGOTHIC Z
-0292 ; [.1861.0020.0002.0292] # LATIN SMALL LETTER EZH
-01B7 ; [.1861.0020.0008.01B7] # LATIN CAPITAL LETTER EZH
-1DBE ; [.1861.0020.0014.1DBE] # MODIFIER LETTER SMALL EZH; QQK
-01EF ; [.1861.0020.0002.0292][.0000.0041.0002.030C] # LATIN SMALL LETTER EZH WITH CARON; QQCM
-01EE ; [.1861.0020.0008.01B7][.0000.0041.0002.030C] # LATIN CAPITAL LETTER EZH WITH CARON; QQCM
-1D23 ; [.1865.0020.0002.1D23] # LATIN LETTER SMALL CAPITAL EZH
-01B9 ; [.1866.0020.0002.01B9] # LATIN SMALL LETTER EZH REVERSED
-01B8 ; [.1866.0020.0008.01B8] # LATIN CAPITAL LETTER EZH REVERSED
-1D9A ; [.186A.0020.0002.1D9A] # LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-01BA ; [.186B.0020.0002.01BA] # LATIN SMALL LETTER EZH WITH TAIL
-0293 ; [.186F.0020.0002.0293] # LATIN SMALL LETTER EZH WITH CURL
-021D ; [.1873.0020.0002.021D] # LATIN SMALL LETTER YOGH
-021C ; [.1873.0020.0008.021C] # LATIN CAPITAL LETTER YOGH
-00FE ; [.1877.0020.0002.00FE] # LATIN SMALL LETTER THORN
-00DE ; [.1877.0020.0008.00DE] # LATIN CAPITAL LETTER THORN
-A765 ; [.187B.0020.0002.A765] # LATIN SMALL LETTER THORN WITH STROKE
-A764 ; [.187B.0020.0008.A764] # LATIN CAPITAL LETTER THORN WITH STROKE
-A767 ; [.187C.0020.0002.A767] # LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
-A766 ; [.187C.0020.0008.A766] # LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
-01BF ; [.187D.0020.0002.01BF] # LATIN LETTER WYNN
-01F7 ; [.187D.0020.0008.01F7] # LATIN CAPITAL LETTER WYNN
-A769 ; [.1881.0020.0002.A769] # LATIN SMALL LETTER VEND
-A768 ; [.1881.0020.0008.A768] # LATIN CAPITAL LETTER VEND
-A76B ; [.1882.0020.0002.A76B] # LATIN SMALL LETTER ET
-A76A ; [.1882.0020.0008.A76A] # LATIN CAPITAL LETTER ET
-A76D ; [.1883.0020.0002.A76D] # LATIN SMALL LETTER IS
-A76C ; [.1883.0020.0008.A76C] # LATIN CAPITAL LETTER IS
-A76F ; [.1884.0020.0002.A76F] # LATIN SMALL LETTER CON
-1DD2 ; [.1884.0020.0004.1DD2] # COMBINING US ABOVE; QQK
-A76E ; [.1884.0020.0008.A76E] # LATIN CAPITAL LETTER CON
-A770 ; [.1884.0020.0014.A770] # MODIFIER LETTER US; QQK
-A778 ; [.1885.0020.0002.A778] # LATIN SMALL LETTER UM
-01BB ; [.1886.0020.0002.01BB] # LATIN LETTER TWO WITH STROKE
-A72B ; [.188A.0020.0002.A72B] # LATIN SMALL LETTER TRESILLO
-A72A ; [.188A.0020.0008.A72A] # LATIN CAPITAL LETTER TRESILLO
-A72D ; [.188B.0020.0002.A72D] # LATIN SMALL LETTER CUATRILLO
-A72C ; [.188B.0020.0008.A72C] # LATIN CAPITAL LETTER CUATRILLO
-A72F ; [.188C.0020.0002.A72F] # LATIN SMALL LETTER CUATRILLO WITH COMMA
-A72E ; [.188C.0020.0008.A72E] # LATIN CAPITAL LETTER CUATRILLO WITH COMMA
-01A8 ; [.188D.0020.0002.01A8] # LATIN SMALL LETTER TONE TWO
-01A7 ; [.188D.0020.0008.01A7] # LATIN CAPITAL LETTER TONE TWO
-01BD ; [.1891.0020.0002.01BD] # LATIN SMALL LETTER TONE FIVE
-01BC ; [.1891.0020.0008.01BC] # LATIN CAPITAL LETTER TONE FIVE
-0185 ; [.1895.0020.0002.0185] # LATIN SMALL LETTER TONE SIX
-0184 ; [.1895.0020.0008.0184] # LATIN CAPITAL LETTER TONE SIX
-0294 ; [.1899.0020.0002.0294] # LATIN LETTER GLOTTAL STOP
-0242 ; [.189D.0020.0002.0242] # LATIN SMALL LETTER GLOTTAL STOP
-0241 ; [.189D.0020.0008.0241] # LATIN CAPITAL LETTER GLOTTAL STOP
-02C0 ; [.18A1.0020.0002.02C0] # MODIFIER LETTER GLOTTAL STOP
-02BC ; [.18A2.0020.0002.02BC] # MODIFIER LETTER APOSTROPHE
-0149 ; [.18A2.0020.0004.0149][.1702.0020.0004.0149] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE; QQKN
-02EE ; [.18A3.0020.0002.02EE] # MODIFIER LETTER DOUBLE APOSTROPHE
-02BE ; [.18A4.0020.0002.02BE] # MODIFIER LETTER RIGHT HALF RING
-A723 ; [.18A5.0020.0002.A723] # LATIN SMALL LETTER EGYPTOLOGICAL ALEF
-A722 ; [.18A5.0020.0008.A722] # LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
-A78C ; [.18A6.0020.0002.A78C] # LATIN SMALL LETTER SALTILLO
-A78B ; [.18A6.0020.0008.A78B] # LATIN CAPITAL LETTER SALTILLO
-0295 ; [.18A7.0020.0002.0295] # LATIN LETTER PHARYNGEAL VOICED FRICATIVE
-02E4 ; [.18A7.0020.0014.02E4] # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP; QQK
-02BF ; [.18AB.0020.0002.02BF] # MODIFIER LETTER LEFT HALF RING
-02C1 ; [.18AC.0020.0002.02C1] # MODIFIER LETTER REVERSED GLOTTAL STOP
-1D24 ; [.18AD.0020.0002.1D24] # LATIN LETTER VOICED LARYNGEAL SPIRANT
-1D25 ; [.18AE.0020.0002.1D25] # LATIN LETTER AIN
-1D5C ; [.18AE.0020.0014.1D5C] # MODIFIER LETTER SMALL AIN; QQK
-A725 ; [.18AF.0020.0002.A725] # LATIN SMALL LETTER EGYPTOLOGICAL AIN
-A724 ; [.18AF.0020.0008.A724] # LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
-02A1 ; [.18B0.0020.0002.02A1] # LATIN LETTER GLOTTAL STOP WITH STROKE
-02A2 ; [.18B4.0020.0002.02A2] # LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE
-0296 ; [.18B8.0020.0002.0296] # LATIN LETTER INVERTED GLOTTAL STOP
-01C0 ; [.18BC.0020.0002.01C0] # LATIN LETTER DENTAL CLICK
-01C1 ; [.18C0.0020.0002.01C1] # LATIN LETTER LATERAL CLICK
-01C2 ; [.18C4.0020.0002.01C2] # LATIN LETTER ALVEOLAR CLICK
-01C3 ; [.18C8.0020.0002.01C3] # LATIN LETTER RETROFLEX CLICK
-0297 ; [.18CC.0020.0002.0297] # LATIN LETTER STRETCHED C
-0298 ; [.18D0.0020.0002.0298] # LATIN LETTER BILABIAL CLICK
-02AC ; [.18D4.0020.0002.02AC] # LATIN LETTER BILABIAL PERCUSSIVE
-02AD ; [.18D8.0020.0002.02AD] # LATIN LETTER BIDENTAL PERCUSSIVE
-03B1 ; [.18DC.0020.0002.03B1] # GREEK SMALL LETTER ALPHA
-1D6C2 ; [.18DC.0020.0005.1D6C2] # MATHEMATICAL BOLD SMALL ALPHA; QQK
-1D6FC ; [.18DC.0020.0005.1D6FC] # MATHEMATICAL ITALIC SMALL ALPHA; QQK
-1D736 ; [.18DC.0020.0005.1D736] # MATHEMATICAL BOLD ITALIC SMALL ALPHA; QQK
-1D770 ; [.18DC.0020.0005.1D770] # MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA; QQK
-1D7AA ; [.18DC.0020.0005.1D7AA] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA; QQK
-0391 ; [.18DC.0020.0008.0391] # GREEK CAPITAL LETTER ALPHA
-1D6A8 ; [.18DC.0020.000B.1D6A8] # MATHEMATICAL BOLD CAPITAL ALPHA; QQK
-1D6E2 ; [.18DC.0020.000B.1D6E2] # MATHEMATICAL ITALIC CAPITAL ALPHA; QQK
-1D71C ; [.18DC.0020.000B.1D71C] # MATHEMATICAL BOLD ITALIC CAPITAL ALPHA; QQK
-1D756 ; [.18DC.0020.000B.1D756] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA; QQK
-1D790 ; [.18DC.0020.000B.1D790] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA; QQK
-1F00 ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313] # GREEK SMALL LETTER ALPHA WITH PSILI; QQCM
-1F08 ; [.18DC.0020.0008.0391][.0000.0022.0002.0313] # GREEK CAPITAL LETTER ALPHA WITH PSILI; QQCM
-1F04 ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA; QQCM
-1F0C ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA; QQCM
-1F84 ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI; QQCM
-1F8C ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI; QQCM
-1F02 ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA; QQCM
-1F0A ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA; QQCM
-1F82 ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI; QQCM
-1F8A ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI; QQCM
-1F06 ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI; QQCM
-1F0E ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI; QQCM
-1F86 ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1F8E ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
-1F80 ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI; QQCM
-1F88 ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI; QQCM
-1F01 ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314] # GREEK SMALL LETTER ALPHA WITH DASIA; QQCM
-1F09 ; [.18DC.0020.0008.0391][.0000.002A.0002.0314] # GREEK CAPITAL LETTER ALPHA WITH DASIA; QQCM
-1F05 ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA; QQCM
-1F0D ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA; QQCM
-1F85 ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI; QQCM
-1F8D ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI; QQCM
-1F03 ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA; QQCM
-1F0B ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA; QQCM
-1F83 ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI; QQCM
-1F8B ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI; QQCM
-1F07 ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI; QQCM
-1F0F ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI; QQCM
-1F87 ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1F8F ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
-1F81 ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI; QQCM
-1F89 ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI; QQCM
-03AC ; [.18DC.0020.0002.03B1][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH TONOS; QQCM
-1F71 ; [.18DC.0020.0002.03B1][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH OXIA; QQCM
-0386 ; [.18DC.0020.0008.0391][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH TONOS; QQCM
-1FBB ; [.18DC.0020.0008.0391][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH OXIA; QQCM
-1FB4 ; [.18DC.0020.0002.03B1][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI; QQCM
-1F70 ; [.18DC.0020.0002.03B1][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH VARIA; QQCM
-1FBA ; [.18DC.0020.0008.0391][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH VARIA; QQCM
-1FB2 ; [.18DC.0020.0002.03B1][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI; QQCM
-1FB0 ; [.18DC.0020.0002.03B1][.0000.0037.0002.0306] # GREEK SMALL LETTER ALPHA WITH VRACHY; QQCM
-1FB8 ; [.18DC.0020.0008.0391][.0000.0037.0002.0306] # GREEK CAPITAL LETTER ALPHA WITH VRACHY; QQCM
-1FB6 ; [.18DC.0020.0002.03B1][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI; QQCM
-1FB7 ; [.18DC.0020.0002.03B1][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1FB1 ; [.18DC.0020.0002.03B1][.0000.005B.0002.0304] # GREEK SMALL LETTER ALPHA WITH MACRON; QQCM
-1FB9 ; [.18DC.0020.0008.0391][.0000.005B.0002.0304] # GREEK CAPITAL LETTER ALPHA WITH MACRON; QQCM
-1FB3 ; [.18DC.0020.0002.03B1][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI; QQCM
-1FBC ; [.18DC.0020.0008.0391][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI; QQCM
-03B2 ; [.18DD.0020.0002.03B2] # GREEK SMALL LETTER BETA
-03D0 ; [.18DD.0020.0004.03D0] # GREEK BETA SYMBOL; QQK
-1D6C3 ; [.18DD.0020.0005.1D6C3] # MATHEMATICAL BOLD SMALL BETA; QQK
-1D6FD ; [.18DD.0020.0005.1D6FD] # MATHEMATICAL ITALIC SMALL BETA; QQK
-1D737 ; [.18DD.0020.0005.1D737] # MATHEMATICAL BOLD ITALIC SMALL BETA; QQK
-1D771 ; [.18DD.0020.0005.1D771] # MATHEMATICAL SANS-SERIF BOLD SMALL BETA; QQK
-1D7AB ; [.18DD.0020.0005.1D7AB] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA; QQK
-0392 ; [.18DD.0020.0008.0392] # GREEK CAPITAL LETTER BETA
-1D6A9 ; [.18DD.0020.000B.1D6A9] # MATHEMATICAL BOLD CAPITAL BETA; QQK
-1D6E3 ; [.18DD.0020.000B.1D6E3] # MATHEMATICAL ITALIC CAPITAL BETA; QQK
-1D71D ; [.18DD.0020.000B.1D71D] # MATHEMATICAL BOLD ITALIC CAPITAL BETA; QQK
-1D757 ; [.18DD.0020.000B.1D757] # MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA; QQK
-1D791 ; [.18DD.0020.000B.1D791] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA; QQK
-1D5D ; [.18DD.0020.0014.1D5D] # MODIFIER LETTER SMALL BETA; QQK
-1D66 ; [.18DD.0020.0015.1D66] # GREEK SUBSCRIPT SMALL LETTER BETA; QQK
-03B3 ; [.18DE.0020.0002.03B3] # GREEK SMALL LETTER GAMMA
-213D ; [.18DE.0020.0005.213D] # DOUBLE-STRUCK SMALL GAMMA; QQK
-1D6C4 ; [.18DE.0020.0005.1D6C4] # MATHEMATICAL BOLD SMALL GAMMA; QQK
-1D6FE ; [.18DE.0020.0005.1D6FE] # MATHEMATICAL ITALIC SMALL GAMMA; QQK
-1D738 ; [.18DE.0020.0005.1D738] # MATHEMATICAL BOLD ITALIC SMALL GAMMA; QQK
-1D772 ; [.18DE.0020.0005.1D772] # MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA; QQK
-1D7AC ; [.18DE.0020.0005.1D7AC] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA; QQK
-0393 ; [.18DE.0020.0008.0393] # GREEK CAPITAL LETTER GAMMA
-213E ; [.18DE.0020.000B.213E] # DOUBLE-STRUCK CAPITAL GAMMA; QQK
-1D6AA ; [.18DE.0020.000B.1D6AA] # MATHEMATICAL BOLD CAPITAL GAMMA; QQK
-1D6E4 ; [.18DE.0020.000B.1D6E4] # MATHEMATICAL ITALIC CAPITAL GAMMA; QQK
-1D71E ; [.18DE.0020.000B.1D71E] # MATHEMATICAL BOLD ITALIC CAPITAL GAMMA; QQK
-1D758 ; [.18DE.0020.000B.1D758] # MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA; QQK
-1D792 ; [.18DE.0020.000B.1D792] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA; QQK
-1D5E ; [.18DE.0020.0014.1D5E] # MODIFIER LETTER SMALL GREEK GAMMA; QQK
-1D67 ; [.18DE.0020.0015.1D67] # GREEK SUBSCRIPT SMALL LETTER GAMMA; QQK
-1D26 ; [.18DF.0020.0002.1D26] # GREEK LETTER SMALL CAPITAL GAMMA
-03B4 ; [.18E0.0020.0002.03B4] # GREEK SMALL LETTER DELTA
-1D6C5 ; [.18E0.0020.0005.1D6C5] # MATHEMATICAL BOLD SMALL DELTA; QQK
-1D6FF ; [.18E0.0020.0005.1D6FF] # MATHEMATICAL ITALIC SMALL DELTA; QQK
-1D739 ; [.18E0.0020.0005.1D739] # MATHEMATICAL BOLD ITALIC SMALL DELTA; QQK
-1D773 ; [.18E0.0020.0005.1D773] # MATHEMATICAL SANS-SERIF BOLD SMALL DELTA; QQK
-1D7AD ; [.18E0.0020.0005.1D7AD] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA; QQK
-0394 ; [.18E0.0020.0008.0394] # GREEK CAPITAL LETTER DELTA
-1D6AB ; [.18E0.0020.000B.1D6AB] # MATHEMATICAL BOLD CAPITAL DELTA; QQK
-1D6E5 ; [.18E0.0020.000B.1D6E5] # MATHEMATICAL ITALIC CAPITAL DELTA; QQK
-1D71F ; [.18E0.0020.000B.1D71F] # MATHEMATICAL BOLD ITALIC CAPITAL DELTA; QQK
-1D759 ; [.18E0.0020.000B.1D759] # MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA; QQK
-1D793 ; [.18E0.0020.000B.1D793] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA; QQK
-1D5F ; [.18E0.0020.0014.1D5F] # MODIFIER LETTER SMALL DELTA; QQK
-03B5 ; [.18E1.0020.0002.03B5] # GREEK SMALL LETTER EPSILON
-03F5 ; [.18E1.0020.0004.03F5] # GREEK LUNATE EPSILON SYMBOL; QQK
-1D6C6 ; [.18E1.0020.0005.1D6C6] # MATHEMATICAL BOLD SMALL EPSILON; QQK
-1D6DC ; [.18E1.0020.0005.1D6DC] # MATHEMATICAL BOLD EPSILON SYMBOL; QQK
-1D700 ; [.18E1.0020.0005.1D700] # MATHEMATICAL ITALIC SMALL EPSILON; QQK
-1D716 ; [.18E1.0020.0005.1D716] # MATHEMATICAL ITALIC EPSILON SYMBOL; QQK
-1D73A ; [.18E1.0020.0005.1D73A] # MATHEMATICAL BOLD ITALIC SMALL EPSILON; QQK
-1D750 ; [.18E1.0020.0005.1D750] # MATHEMATICAL BOLD ITALIC EPSILON SYMBOL; QQK
-1D774 ; [.18E1.0020.0005.1D774] # MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON; QQK
-1D78A ; [.18E1.0020.0005.1D78A] # MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL; QQK
-1D7AE ; [.18E1.0020.0005.1D7AE] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON; QQK
-1D7C4 ; [.18E1.0020.0005.1D7C4] # MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL; QQK
-0395 ; [.18E1.0020.0008.0395] # GREEK CAPITAL LETTER EPSILON
-1D6AC ; [.18E1.0020.000B.1D6AC] # MATHEMATICAL BOLD CAPITAL EPSILON; QQK
-1D6E6 ; [.18E1.0020.000B.1D6E6] # MATHEMATICAL ITALIC CAPITAL EPSILON; QQK
-1D720 ; [.18E1.0020.000B.1D720] # MATHEMATICAL BOLD ITALIC CAPITAL EPSILON; QQK
-1D75A ; [.18E1.0020.000B.1D75A] # MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON; QQK
-1D794 ; [.18E1.0020.000B.1D794] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON; QQK
-1F10 ; [.18E1.0020.0002.03B5][.0000.0022.0002.0313] # GREEK SMALL LETTER EPSILON WITH PSILI; QQCM
-1F18 ; [.18E1.0020.0008.0395][.0000.0022.0002.0313] # GREEK CAPITAL LETTER EPSILON WITH PSILI; QQCM
-1F14 ; [.18E1.0020.0002.03B5][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA; QQCM
-1F1C ; [.18E1.0020.0008.0395][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA; QQCM
-1F12 ; [.18E1.0020.0002.03B5][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA; QQCM
-1F1A ; [.18E1.0020.0008.0395][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA; QQCM
-1F11 ; [.18E1.0020.0002.03B5][.0000.002A.0002.0314] # GREEK SMALL LETTER EPSILON WITH DASIA; QQCM
-1F19 ; [.18E1.0020.0008.0395][.0000.002A.0002.0314] # GREEK CAPITAL LETTER EPSILON WITH DASIA; QQCM
-1F15 ; [.18E1.0020.0002.03B5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA; QQCM
-1F1D ; [.18E1.0020.0008.0395][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA; QQCM
-1F13 ; [.18E1.0020.0002.03B5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA; QQCM
-1F1B ; [.18E1.0020.0008.0395][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA; QQCM
-03AD ; [.18E1.0020.0002.03B5][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH TONOS; QQCM
-1F73 ; [.18E1.0020.0002.03B5][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH OXIA; QQCM
-0388 ; [.18E1.0020.0008.0395][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH TONOS; QQCM
-1FC9 ; [.18E1.0020.0008.0395][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH OXIA; QQCM
-1F72 ; [.18E1.0020.0002.03B5][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH VARIA; QQCM
-1FC8 ; [.18E1.0020.0008.0395][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH VARIA; QQCM
-03DD ; [.18E2.0020.0002.03DD] # GREEK SMALL LETTER DIGAMMA
-1D7CB ; [.18E2.0020.0005.1D7CB] # MATHEMATICAL BOLD SMALL DIGAMMA; QQK
-03DC ; [.18E2.0020.0008.03DC] # GREEK LETTER DIGAMMA
-1D7CA ; [.18E2.0020.000B.1D7CA] # MATHEMATICAL BOLD CAPITAL DIGAMMA; QQK
-0377 ; [.18E3.0020.0002.0377] # GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-0376 ; [.18E3.0020.0008.0376] # GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
-03DB ; [.18E4.0020.0002.03DB] # GREEK SMALL LETTER STIGMA
-03DA ; [.18E4.0020.0008.03DA] # GREEK LETTER STIGMA
-03B6 ; [.18E5.0020.0002.03B6] # GREEK SMALL LETTER ZETA
-1D6C7 ; [.18E5.0020.0005.1D6C7] # MATHEMATICAL BOLD SMALL ZETA; QQK
-1D701 ; [.18E5.0020.0005.1D701] # MATHEMATICAL ITALIC SMALL ZETA; QQK
-1D73B ; [.18E5.0020.0005.1D73B] # MATHEMATICAL BOLD ITALIC SMALL ZETA; QQK
-1D775 ; [.18E5.0020.0005.1D775] # MATHEMATICAL SANS-SERIF BOLD SMALL ZETA; QQK
-1D7AF ; [.18E5.0020.0005.1D7AF] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA; QQK
-0396 ; [.18E5.0020.0008.0396] # GREEK CAPITAL LETTER ZETA
-1D6AD ; [.18E5.0020.000B.1D6AD] # MATHEMATICAL BOLD CAPITAL ZETA; QQK
-1D6E7 ; [.18E5.0020.000B.1D6E7] # MATHEMATICAL ITALIC CAPITAL ZETA; QQK
-1D721 ; [.18E5.0020.000B.1D721] # MATHEMATICAL BOLD ITALIC CAPITAL ZETA; QQK
-1D75B ; [.18E5.0020.000B.1D75B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA; QQK
-1D795 ; [.18E5.0020.000B.1D795] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA; QQK
-0371 ; [.18E6.0020.0002.0371] # GREEK SMALL LETTER HETA
-0370 ; [.18E6.0020.0008.0370] # GREEK CAPITAL LETTER HETA
-03B7 ; [.18E7.0020.0002.03B7] # GREEK SMALL LETTER ETA
-1D6C8 ; [.18E7.0020.0005.1D6C8] # MATHEMATICAL BOLD SMALL ETA; QQK
-1D702 ; [.18E7.0020.0005.1D702] # MATHEMATICAL ITALIC SMALL ETA; QQK
-1D73C ; [.18E7.0020.0005.1D73C] # MATHEMATICAL BOLD ITALIC SMALL ETA; QQK
-1D776 ; [.18E7.0020.0005.1D776] # MATHEMATICAL SANS-SERIF BOLD SMALL ETA; QQK
-1D7B0 ; [.18E7.0020.0005.1D7B0] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA; QQK
-0397 ; [.18E7.0020.0008.0397] # GREEK CAPITAL LETTER ETA
-1D6AE ; [.18E7.0020.000B.1D6AE] # MATHEMATICAL BOLD CAPITAL ETA; QQK
-1D6E8 ; [.18E7.0020.000B.1D6E8] # MATHEMATICAL ITALIC CAPITAL ETA; QQK
-1D722 ; [.18E7.0020.000B.1D722] # MATHEMATICAL BOLD ITALIC CAPITAL ETA; QQK
-1D75C ; [.18E7.0020.000B.1D75C] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA; QQK
-1D796 ; [.18E7.0020.000B.1D796] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA; QQK
-1F20 ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313] # GREEK SMALL LETTER ETA WITH PSILI; QQCM
-1F28 ; [.18E7.0020.0008.0397][.0000.0022.0002.0313] # GREEK CAPITAL LETTER ETA WITH PSILI; QQCM
-1F24 ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH PSILI AND OXIA; QQCM
-1F2C ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA; QQCM
-1F94 ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI; QQCM
-1F9C ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI; QQCM
-1F22 ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH PSILI AND VARIA; QQCM
-1F2A ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA; QQCM
-1F92 ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI; QQCM
-1F9A ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI; QQCM
-1F26 ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI; QQCM
-1F2E ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI; QQCM
-1F96 ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1F9E ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
-1F90 ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI; QQCM
-1F98 ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI; QQCM
-1F21 ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314] # GREEK SMALL LETTER ETA WITH DASIA; QQCM
-1F29 ; [.18E7.0020.0008.0397][.0000.002A.0002.0314] # GREEK CAPITAL LETTER ETA WITH DASIA; QQCM
-1F25 ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH DASIA AND OXIA; QQCM
-1F2D ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA; QQCM
-1F95 ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI; QQCM
-1F9D ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI; QQCM
-1F23 ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH DASIA AND VARIA; QQCM
-1F2B ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA; QQCM
-1F93 ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI; QQCM
-1F9B ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI; QQCM
-1F27 ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI; QQCM
-1F2F ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI; QQCM
-1F97 ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1F9F ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
-1F91 ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI; QQCM
-1F99 ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI; QQCM
-03AE ; [.18E7.0020.0002.03B7][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH TONOS; QQCM
-1F75 ; [.18E7.0020.0002.03B7][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH OXIA; QQCM
-0389 ; [.18E7.0020.0008.0397][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH TONOS; QQCM
-1FCB ; [.18E7.0020.0008.0397][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH OXIA; QQCM
-1FC4 ; [.18E7.0020.0002.03B7][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI; QQCM
-1F74 ; [.18E7.0020.0002.03B7][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH VARIA; QQCM
-1FCA ; [.18E7.0020.0008.0397][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH VARIA; QQCM
-1FC2 ; [.18E7.0020.0002.03B7][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI; QQCM
-1FC6 ; [.18E7.0020.0002.03B7][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH PERISPOMENI; QQCM
-1FC7 ; [.18E7.0020.0002.03B7][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1FC3 ; [.18E7.0020.0002.03B7][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI; QQCM
-1FCC ; [.18E7.0020.0008.0397][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI; QQCM
-03B8 ; [.18E8.0020.0002.03B8] # GREEK SMALL LETTER THETA
-03D1 ; [.18E8.0020.0004.03D1] # GREEK THETA SYMBOL; QQK
-1D6C9 ; [.18E8.0020.0005.1D6C9] # MATHEMATICAL BOLD SMALL THETA; QQK
-1D6DD ; [.18E8.0020.0005.1D6DD] # MATHEMATICAL BOLD THETA SYMBOL; QQK
-1D703 ; [.18E8.0020.0005.1D703] # MATHEMATICAL ITALIC SMALL THETA; QQK
-1D717 ; [.18E8.0020.0005.1D717] # MATHEMATICAL ITALIC THETA SYMBOL; QQK
-1D73D ; [.18E8.0020.0005.1D73D] # MATHEMATICAL BOLD ITALIC SMALL THETA; QQK
-1D751 ; [.18E8.0020.0005.1D751] # MATHEMATICAL BOLD ITALIC THETA SYMBOL; QQK
-1D777 ; [.18E8.0020.0005.1D777] # MATHEMATICAL SANS-SERIF BOLD SMALL THETA; QQK
-1D78B ; [.18E8.0020.0005.1D78B] # MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL; QQK
-1D7B1 ; [.18E8.0020.0005.1D7B1] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA; QQK
-1D7C5 ; [.18E8.0020.0005.1D7C5] # MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL; QQK
-0398 ; [.18E8.0020.0008.0398] # GREEK CAPITAL LETTER THETA
-03F4 ; [.18E8.0020.000A.03F4] # GREEK CAPITAL THETA SYMBOL; QQK
-1D6AF ; [.18E8.0020.000B.1D6AF] # MATHEMATICAL BOLD CAPITAL THETA; QQK
-1D6B9 ; [.18E8.0020.000B.1D6B9] # MATHEMATICAL BOLD CAPITAL THETA SYMBOL; QQK
-1D6E9 ; [.18E8.0020.000B.1D6E9] # MATHEMATICAL ITALIC CAPITAL THETA; QQK
-1D6F3 ; [.18E8.0020.000B.1D6F3] # MATHEMATICAL ITALIC CAPITAL THETA SYMBOL; QQK
-1D723 ; [.18E8.0020.000B.1D723] # MATHEMATICAL BOLD ITALIC CAPITAL THETA; QQK
-1D72D ; [.18E8.0020.000B.1D72D] # MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL; QQK
-1D75D ; [.18E8.0020.000B.1D75D] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA; QQK
-1D767 ; [.18E8.0020.000B.1D767] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL; QQK
-1D797 ; [.18E8.0020.000B.1D797] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA; QQK
-1D7A1 ; [.18E8.0020.000B.1D7A1] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL; QQK
-1DBF ; [.18E8.0020.0014.1DBF] # MODIFIER LETTER SMALL THETA; QQK
-03B9 ; [.18E9.0020.0002.03B9] # GREEK SMALL LETTER IOTA
-1FBE ; [.18E9.0020.0002.1FBE] # GREEK PROSGEGRAMMENI; QQC
-037A ; [.18E9.0020.0004.037A] # GREEK YPOGEGRAMMENI; QQK
-1D6CA ; [.18E9.0020.0005.1D6CA] # MATHEMATICAL BOLD SMALL IOTA; QQK
-1D704 ; [.18E9.0020.0005.1D704] # MATHEMATICAL ITALIC SMALL IOTA; QQK
-1D73E ; [.18E9.0020.0005.1D73E] # MATHEMATICAL BOLD ITALIC SMALL IOTA; QQK
-1D778 ; [.18E9.0020.0005.1D778] # MATHEMATICAL SANS-SERIF BOLD SMALL IOTA; QQK
-1D7B2 ; [.18E9.0020.0005.1D7B2] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA; QQK
-0399 ; [.18E9.0020.0008.0399] # GREEK CAPITAL LETTER IOTA
-1D6B0 ; [.18E9.0020.000B.1D6B0] # MATHEMATICAL BOLD CAPITAL IOTA; QQK
-1D6EA ; [.18E9.0020.000B.1D6EA] # MATHEMATICAL ITALIC CAPITAL IOTA; QQK
-1D724 ; [.18E9.0020.000B.1D724] # MATHEMATICAL BOLD ITALIC CAPITAL IOTA; QQK
-1D75E ; [.18E9.0020.000B.1D75E] # MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA; QQK
-1D798 ; [.18E9.0020.000B.1D798] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA; QQK
-1F30 ; [.18E9.0020.0002.03B9][.0000.0022.0002.0313] # GREEK SMALL LETTER IOTA WITH PSILI; QQCM
-1F38 ; [.18E9.0020.0008.0399][.0000.0022.0002.0313] # GREEK CAPITAL LETTER IOTA WITH PSILI; QQCM
-1F34 ; [.18E9.0020.0002.03B9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA; QQCM
-1F3C ; [.18E9.0020.0008.0399][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA; QQCM
-1F32 ; [.18E9.0020.0002.03B9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA; QQCM
-1F3A ; [.18E9.0020.0008.0399][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA; QQCM
-1F36 ; [.18E9.0020.0002.03B9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI; QQCM
-1F3E ; [.18E9.0020.0008.0399][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI; QQCM
-1F31 ; [.18E9.0020.0002.03B9][.0000.002A.0002.0314] # GREEK SMALL LETTER IOTA WITH DASIA; QQCM
-1F39 ; [.18E9.0020.0008.0399][.0000.002A.0002.0314] # GREEK CAPITAL LETTER IOTA WITH DASIA; QQCM
-1F35 ; [.18E9.0020.0002.03B9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA; QQCM
-1F3D ; [.18E9.0020.0008.0399][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA; QQCM
-1F33 ; [.18E9.0020.0002.03B9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA; QQCM
-1F3B ; [.18E9.0020.0008.0399][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA; QQCM
-1F37 ; [.18E9.0020.0002.03B9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI; QQCM
-1F3F ; [.18E9.0020.0008.0399][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI; QQCM
-03AF ; [.18E9.0020.0002.03B9][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH TONOS; QQCM
-1F77 ; [.18E9.0020.0002.03B9][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH OXIA; QQCM
-038A ; [.18E9.0020.0008.0399][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH TONOS; QQCM
-1FDB ; [.18E9.0020.0008.0399][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH OXIA; QQCM
-1F76 ; [.18E9.0020.0002.03B9][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH VARIA; QQCM
-1FDA ; [.18E9.0020.0008.0399][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH VARIA; QQCM
-1FD0 ; [.18E9.0020.0002.03B9][.0000.0037.0002.0306] # GREEK SMALL LETTER IOTA WITH VRACHY; QQCM
-1FD8 ; [.18E9.0020.0008.0399][.0000.0037.0002.0306] # GREEK CAPITAL LETTER IOTA WITH VRACHY; QQCM
-1FD6 ; [.18E9.0020.0002.03B9][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH PERISPOMENI; QQCM
-03CA ; [.18E9.0020.0002.03B9][.0000.0047.0002.0308] # GREEK SMALL LETTER IOTA WITH DIALYTIKA; QQCM
-03AA ; [.18E9.0020.0008.0399][.0000.0047.0002.0308] # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA; QQCM
-0390 ; [.18E9.0020.0002.03B9][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS; QQCM
-1FD3 ; [.18E9.0020.0002.03B9][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA; QQCM
-1FD2 ; [.18E9.0020.0002.03B9][.0000.0047.0002.0308][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA; QQCM
-1FD7 ; [.18E9.0020.0002.03B9][.0000.0047.0002.0308][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI; QQCM
-1FD1 ; [.18E9.0020.0002.03B9][.0000.005B.0002.0304] # GREEK SMALL LETTER IOTA WITH MACRON; QQCM
-1FD9 ; [.18E9.0020.0008.0399][.0000.005B.0002.0304] # GREEK CAPITAL LETTER IOTA WITH MACRON; QQCM
-03F3 ; [.18EA.0020.0002.03F3] # GREEK LETTER YOT
-03BA ; [.18EB.0020.0002.03BA] # GREEK SMALL LETTER KAPPA
-03F0 ; [.18EB.0020.0004.03F0] # GREEK KAPPA SYMBOL; QQK
-1D6CB ; [.18EB.0020.0005.1D6CB] # MATHEMATICAL BOLD SMALL KAPPA; QQK
-1D6DE ; [.18EB.0020.0005.1D6DE] # MATHEMATICAL BOLD KAPPA SYMBOL; QQK
-1D705 ; [.18EB.0020.0005.1D705] # MATHEMATICAL ITALIC SMALL KAPPA; QQK
-1D718 ; [.18EB.0020.0005.1D718] # MATHEMATICAL ITALIC KAPPA SYMBOL; QQK
-1D73F ; [.18EB.0020.0005.1D73F] # MATHEMATICAL BOLD ITALIC SMALL KAPPA; QQK
-1D752 ; [.18EB.0020.0005.1D752] # MATHEMATICAL BOLD ITALIC KAPPA SYMBOL; QQK
-1D779 ; [.18EB.0020.0005.1D779] # MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA; QQK
-1D78C ; [.18EB.0020.0005.1D78C] # MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL; QQK
-1D7B3 ; [.18EB.0020.0005.1D7B3] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA; QQK
-1D7C6 ; [.18EB.0020.0005.1D7C6] # MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL; QQK
-039A ; [.18EB.0020.0008.039A] # GREEK CAPITAL LETTER KAPPA
-1D6B1 ; [.18EB.0020.000B.1D6B1] # MATHEMATICAL BOLD CAPITAL KAPPA; QQK
-1D6EB ; [.18EB.0020.000B.1D6EB] # MATHEMATICAL ITALIC CAPITAL KAPPA; QQK
-1D725 ; [.18EB.0020.000B.1D725] # MATHEMATICAL BOLD ITALIC CAPITAL KAPPA; QQK
-1D75F ; [.18EB.0020.000B.1D75F] # MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA; QQK
-1D799 ; [.18EB.0020.000B.1D799] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA; QQK
-03D7 ; [.18EB.0020.0004.03D7][.18DC.0020.0004.03D7][.18E9.0020.001F.03D7] # GREEK KAI SYMBOL; QQKN
-03CF ; [.18EB.0020.000A.03CF][.18DC.0020.0004.03CF][.18E9.0020.001F.03CF] # GREEK CAPITAL KAI SYMBOL; QQKN
-03BB ; [.18EC.0020.0002.03BB] # GREEK SMALL LETTER LAMDA
-1D6CC ; [.18EC.0020.0005.1D6CC] # MATHEMATICAL BOLD SMALL LAMDA; QQK
-1D706 ; [.18EC.0020.0005.1D706] # MATHEMATICAL ITALIC SMALL LAMDA; QQK
-1D740 ; [.18EC.0020.0005.1D740] # MATHEMATICAL BOLD ITALIC SMALL LAMDA; QQK
-1D77A ; [.18EC.0020.0005.1D77A] # MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA; QQK
-1D7B4 ; [.18EC.0020.0005.1D7B4] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA; QQK
-039B ; [.18EC.0020.0008.039B] # GREEK CAPITAL LETTER LAMDA
-1D6B2 ; [.18EC.0020.000B.1D6B2] # MATHEMATICAL BOLD CAPITAL LAMDA; QQK
-1D6EC ; [.18EC.0020.000B.1D6EC] # MATHEMATICAL ITALIC CAPITAL LAMDA; QQK
-1D726 ; [.18EC.0020.000B.1D726] # MATHEMATICAL BOLD ITALIC CAPITAL LAMDA; QQK
-1D760 ; [.18EC.0020.000B.1D760] # MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA; QQK
-1D79A ; [.18EC.0020.000B.1D79A] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA; QQK
-1D27 ; [.18ED.0020.0002.1D27] # GREEK LETTER SMALL CAPITAL LAMDA
-03BC ; [.18EE.0020.0002.03BC] # GREEK SMALL LETTER MU
-00B5 ; [.18EE.0020.0004.00B5] # MICRO SIGN; QQK
-1D6CD ; [.18EE.0020.0005.1D6CD] # MATHEMATICAL BOLD SMALL MU; QQK
-1D707 ; [.18EE.0020.0005.1D707] # MATHEMATICAL ITALIC SMALL MU; QQK
-1D741 ; [.18EE.0020.0005.1D741] # MATHEMATICAL BOLD ITALIC SMALL MU; QQK
-1D77B ; [.18EE.0020.0005.1D77B] # MATHEMATICAL SANS-SERIF BOLD SMALL MU; QQK
-1D7B5 ; [.18EE.0020.0005.1D7B5] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU; QQK
-039C ; [.18EE.0020.0008.039C] # GREEK CAPITAL LETTER MU
-1D6B3 ; [.18EE.0020.000B.1D6B3] # MATHEMATICAL BOLD CAPITAL MU; QQK
-1D6ED ; [.18EE.0020.000B.1D6ED] # MATHEMATICAL ITALIC CAPITAL MU; QQK
-1D727 ; [.18EE.0020.000B.1D727] # MATHEMATICAL BOLD ITALIC CAPITAL MU; QQK
-1D761 ; [.18EE.0020.000B.1D761] # MATHEMATICAL SANS-SERIF BOLD CAPITAL MU; QQK
-1D79B ; [.18EE.0020.000B.1D79B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU; QQK
-3382 ; [.18EE.0020.001C.3382][.15A3.0020.001D.3382] # SQUARE MU A; QQKN
-338C ; [.18EE.0020.001C.338C][.1637.0020.001D.338C] # SQUARE MU F; QQKN
-338D ; [.18EE.0020.001C.338D][.1644.0020.001C.338D] # SQUARE MU G; QQKN
-3395 ; [.18EE.0020.001C.3395][.16C4.0020.001C.3395] # SQUARE MU L; QQKN
-339B ; [.18EE.0020.001C.339B][.16F4.0020.001C.339B] # SQUARE MU M; QQKN
-33B2 ; [.18EE.0020.001C.33B2][.17A6.0020.001C.33B2] # SQUARE MU S; QQKN
-33B6 ; [.18EE.0020.001C.33B6][.1812.0020.001D.33B6] # SQUARE MU V; QQKN
-33BC ; [.18EE.0020.001C.33BC][.1824.0020.001D.33BC] # SQUARE MU W; QQKN
-03BD ; [.18EF.0020.0002.03BD] # GREEK SMALL LETTER NU
-1D6CE ; [.18EF.0020.0005.1D6CE] # MATHEMATICAL BOLD SMALL NU; QQK
-1D708 ; [.18EF.0020.0005.1D708] # MATHEMATICAL ITALIC SMALL NU; QQK
-1D742 ; [.18EF.0020.0005.1D742] # MATHEMATICAL BOLD ITALIC SMALL NU; QQK
-1D77C ; [.18EF.0020.0005.1D77C] # MATHEMATICAL SANS-SERIF BOLD SMALL NU; QQK
-1D7B6 ; [.18EF.0020.0005.1D7B6] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU; QQK
-039D ; [.18EF.0020.0008.039D] # GREEK CAPITAL LETTER NU
-1D6B4 ; [.18EF.0020.000B.1D6B4] # MATHEMATICAL BOLD CAPITAL NU; QQK
-1D6EE ; [.18EF.0020.000B.1D6EE] # MATHEMATICAL ITALIC CAPITAL NU; QQK
-1D728 ; [.18EF.0020.000B.1D728] # MATHEMATICAL BOLD ITALIC CAPITAL NU; QQK
-1D762 ; [.18EF.0020.000B.1D762] # MATHEMATICAL SANS-SERIF BOLD CAPITAL NU; QQK
-1D79C ; [.18EF.0020.000B.1D79C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU; QQK
-03BE ; [.18F0.0020.0002.03BE] # GREEK SMALL LETTER XI
-1D6CF ; [.18F0.0020.0005.1D6CF] # MATHEMATICAL BOLD SMALL XI; QQK
-1D709 ; [.18F0.0020.0005.1D709] # MATHEMATICAL ITALIC SMALL XI; QQK
-1D743 ; [.18F0.0020.0005.1D743] # MATHEMATICAL BOLD ITALIC SMALL XI; QQK
-1D77D ; [.18F0.0020.0005.1D77D] # MATHEMATICAL SANS-SERIF BOLD SMALL XI; QQK
-1D7B7 ; [.18F0.0020.0005.1D7B7] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI; QQK
-039E ; [.18F0.0020.0008.039E] # GREEK CAPITAL LETTER XI
-1D6B5 ; [.18F0.0020.000B.1D6B5] # MATHEMATICAL BOLD CAPITAL XI; QQK
-1D6EF ; [.18F0.0020.000B.1D6EF] # MATHEMATICAL ITALIC CAPITAL XI; QQK
-1D729 ; [.18F0.0020.000B.1D729] # MATHEMATICAL BOLD ITALIC CAPITAL XI; QQK
-1D763 ; [.18F0.0020.000B.1D763] # MATHEMATICAL SANS-SERIF BOLD CAPITAL XI; QQK
-1D79D ; [.18F0.0020.000B.1D79D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI; QQK
-03BF ; [.18F1.0020.0002.03BF] # GREEK SMALL LETTER OMICRON
-1D6D0 ; [.18F1.0020.0005.1D6D0] # MATHEMATICAL BOLD SMALL OMICRON; QQK
-1D70A ; [.18F1.0020.0005.1D70A] # MATHEMATICAL ITALIC SMALL OMICRON; QQK
-1D744 ; [.18F1.0020.0005.1D744] # MATHEMATICAL BOLD ITALIC SMALL OMICRON; QQK
-1D77E ; [.18F1.0020.0005.1D77E] # MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON; QQK
-1D7B8 ; [.18F1.0020.0005.1D7B8] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON; QQK
-039F ; [.18F1.0020.0008.039F] # GREEK CAPITAL LETTER OMICRON
-1D6B6 ; [.18F1.0020.000B.1D6B6] # MATHEMATICAL BOLD CAPITAL OMICRON; QQK
-1D6F0 ; [.18F1.0020.000B.1D6F0] # MATHEMATICAL ITALIC CAPITAL OMICRON; QQK
-1D72A ; [.18F1.0020.000B.1D72A] # MATHEMATICAL BOLD ITALIC CAPITAL OMICRON; QQK
-1D764 ; [.18F1.0020.000B.1D764] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON; QQK
-1D79E ; [.18F1.0020.000B.1D79E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON; QQK
-1F40 ; [.18F1.0020.0002.03BF][.0000.0022.0002.0313] # GREEK SMALL LETTER OMICRON WITH PSILI; QQCM
-1F48 ; [.18F1.0020.0008.039F][.0000.0022.0002.0313] # GREEK CAPITAL LETTER OMICRON WITH PSILI; QQCM
-1F44 ; [.18F1.0020.0002.03BF][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA; QQCM
-1F4C ; [.18F1.0020.0008.039F][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA; QQCM
-1F42 ; [.18F1.0020.0002.03BF][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA; QQCM
-1F4A ; [.18F1.0020.0008.039F][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA; QQCM
-1F41 ; [.18F1.0020.0002.03BF][.0000.002A.0002.0314] # GREEK SMALL LETTER OMICRON WITH DASIA; QQCM
-1F49 ; [.18F1.0020.0008.039F][.0000.002A.0002.0314] # GREEK CAPITAL LETTER OMICRON WITH DASIA; QQCM
-1F45 ; [.18F1.0020.0002.03BF][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA; QQCM
-1F4D ; [.18F1.0020.0008.039F][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA; QQCM
-1F43 ; [.18F1.0020.0002.03BF][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA; QQCM
-1F4B ; [.18F1.0020.0008.039F][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA; QQCM
-03CC ; [.18F1.0020.0002.03BF][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH TONOS; QQCM
-1F79 ; [.18F1.0020.0002.03BF][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH OXIA; QQCM
-038C ; [.18F1.0020.0008.039F][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH TONOS; QQCM
-1FF9 ; [.18F1.0020.0008.039F][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH OXIA; QQCM
-1F78 ; [.18F1.0020.0002.03BF][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH VARIA; QQCM
-1FF8 ; [.18F1.0020.0008.039F][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH VARIA; QQCM
-03C0 ; [.18F2.0020.0002.03C0] # GREEK SMALL LETTER PI
-03D6 ; [.18F2.0020.0004.03D6] # GREEK PI SYMBOL; QQK
-213C ; [.18F2.0020.0005.213C] # DOUBLE-STRUCK SMALL PI; QQK
-1D6D1 ; [.18F2.0020.0005.1D6D1] # MATHEMATICAL BOLD SMALL PI; QQK
-1D6E1 ; [.18F2.0020.0005.1D6E1] # MATHEMATICAL BOLD PI SYMBOL; QQK
-1D70B ; [.18F2.0020.0005.1D70B] # MATHEMATICAL ITALIC SMALL PI; QQK
-1D71B ; [.18F2.0020.0005.1D71B] # MATHEMATICAL ITALIC PI SYMBOL; QQK
-1D745 ; [.18F2.0020.0005.1D745] # MATHEMATICAL BOLD ITALIC SMALL PI; QQK
-1D755 ; [.18F2.0020.0005.1D755] # MATHEMATICAL BOLD ITALIC PI SYMBOL; QQK
-1D77F ; [.18F2.0020.0005.1D77F] # MATHEMATICAL SANS-SERIF BOLD SMALL PI; QQK
-1D78F ; [.18F2.0020.0005.1D78F] # MATHEMATICAL SANS-SERIF BOLD PI SYMBOL; QQK
-1D7B9 ; [.18F2.0020.0005.1D7B9] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI; QQK
-1D7C9 ; [.18F2.0020.0005.1D7C9] # MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL; QQK
-03A0 ; [.18F2.0020.0008.03A0] # GREEK CAPITAL LETTER PI
-213F ; [.18F2.0020.000B.213F] # DOUBLE-STRUCK CAPITAL PI; QQK
-1D6B7 ; [.18F2.0020.000B.1D6B7] # MATHEMATICAL BOLD CAPITAL PI; QQK
-1D6F1 ; [.18F2.0020.000B.1D6F1] # MATHEMATICAL ITALIC CAPITAL PI; QQK
-1D72B ; [.18F2.0020.000B.1D72B] # MATHEMATICAL BOLD ITALIC CAPITAL PI; QQK
-1D765 ; [.18F2.0020.000B.1D765] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PI; QQK
-1D79F ; [.18F2.0020.000B.1D79F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI; QQK
-1D28 ; [.18F3.0020.0002.1D28] # GREEK LETTER SMALL CAPITAL PI
-03FB ; [.18F4.0020.0002.03FB] # GREEK SMALL LETTER SAN
-03FA ; [.18F4.0020.0008.03FA] # GREEK CAPITAL LETTER SAN
-03DF ; [.18F5.0020.0002.03DF] # GREEK SMALL LETTER KOPPA
-03DE ; [.18F5.0020.0008.03DE] # GREEK LETTER KOPPA
-03D9 ; [.18F6.0020.0002.03D9] # GREEK SMALL LETTER ARCHAIC KOPPA
-03D8 ; [.18F6.0020.0008.03D8] # GREEK LETTER ARCHAIC KOPPA
-03C1 ; [.18F7.0020.0002.03C1] # GREEK SMALL LETTER RHO
-03F1 ; [.18F7.0020.0004.03F1] # GREEK RHO SYMBOL; QQK
-1D6D2 ; [.18F7.0020.0005.1D6D2] # MATHEMATICAL BOLD SMALL RHO; QQK
-1D6E0 ; [.18F7.0020.0005.1D6E0] # MATHEMATICAL BOLD RHO SYMBOL; QQK
-1D70C ; [.18F7.0020.0005.1D70C] # MATHEMATICAL ITALIC SMALL RHO; QQK
-1D71A ; [.18F7.0020.0005.1D71A] # MATHEMATICAL ITALIC RHO SYMBOL; QQK
-1D746 ; [.18F7.0020.0005.1D746] # MATHEMATICAL BOLD ITALIC SMALL RHO; QQK
-1D754 ; [.18F7.0020.0005.1D754] # MATHEMATICAL BOLD ITALIC RHO SYMBOL; QQK
-1D780 ; [.18F7.0020.0005.1D780] # MATHEMATICAL SANS-SERIF BOLD SMALL RHO; QQK
-1D78E ; [.18F7.0020.0005.1D78E] # MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL; QQK
-1D7BA ; [.18F7.0020.0005.1D7BA] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO; QQK
-1D7C8 ; [.18F7.0020.0005.1D7C8] # MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL; QQK
-03A1 ; [.18F7.0020.0008.03A1] # GREEK CAPITAL LETTER RHO
-1D6B8 ; [.18F7.0020.000B.1D6B8] # MATHEMATICAL BOLD CAPITAL RHO; QQK
-1D6F2 ; [.18F7.0020.000B.1D6F2] # MATHEMATICAL ITALIC CAPITAL RHO; QQK
-1D72C ; [.18F7.0020.000B.1D72C] # MATHEMATICAL BOLD ITALIC CAPITAL RHO; QQK
-1D766 ; [.18F7.0020.000B.1D766] # MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO; QQK
-1D7A0 ; [.18F7.0020.000B.1D7A0] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO; QQK
-1D68 ; [.18F7.0020.0015.1D68] # GREEK SUBSCRIPT SMALL LETTER RHO; QQK
-1FE4 ; [.18F7.0020.0002.03C1][.0000.0022.0002.0313] # GREEK SMALL LETTER RHO WITH PSILI; QQCM
-1FE5 ; [.18F7.0020.0002.03C1][.0000.002A.0002.0314] # GREEK SMALL LETTER RHO WITH DASIA; QQCM
-1FEC ; [.18F7.0020.0008.03A1][.0000.002A.0002.0314] # GREEK CAPITAL LETTER RHO WITH DASIA; QQCM
-1D29 ; [.18F8.0020.0002.1D29] # GREEK LETTER SMALL CAPITAL RHO
-03FC ; [.18F9.0020.0002.03FC] # GREEK RHO WITH STROKE SYMBOL
-03C3 ; [.18FA.0020.0002.03C3] # GREEK SMALL LETTER SIGMA
-03F2 ; [.18FA.0020.0004.03F2] # GREEK LUNATE SIGMA SYMBOL; QQK
-1D6D3 ; [.18FA.0020.0005.1D6D3] # MATHEMATICAL BOLD SMALL FINAL SIGMA; QQK
-1D6D4 ; [.18FA.0020.0005.1D6D4] # MATHEMATICAL BOLD SMALL SIGMA; QQK
-1D70D ; [.18FA.0020.0005.1D70D] # MATHEMATICAL ITALIC SMALL FINAL SIGMA; QQK
-1D70E ; [.18FA.0020.0005.1D70E] # MATHEMATICAL ITALIC SMALL SIGMA; QQK
-1D747 ; [.18FA.0020.0005.1D747] # MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA; QQK
-1D748 ; [.18FA.0020.0005.1D748] # MATHEMATICAL BOLD ITALIC SMALL SIGMA; QQK
-1D781 ; [.18FA.0020.0005.1D781] # MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA; QQK
-1D782 ; [.18FA.0020.0005.1D782] # MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA; QQK
-1D7BB ; [.18FA.0020.0005.1D7BB] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA; QQK
-1D7BC ; [.18FA.0020.0005.1D7BC] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA; QQK
-03A3 ; [.18FA.0020.0008.03A3] # GREEK CAPITAL LETTER SIGMA
-03F9 ; [.18FA.0020.000A.03F9] # GREEK CAPITAL LUNATE SIGMA SYMBOL; QQK
-1D6BA ; [.18FA.0020.000B.1D6BA] # MATHEMATICAL BOLD CAPITAL SIGMA; QQK
-1D6F4 ; [.18FA.0020.000B.1D6F4] # MATHEMATICAL ITALIC CAPITAL SIGMA; QQK
-1D72E ; [.18FA.0020.000B.1D72E] # MATHEMATICAL BOLD ITALIC CAPITAL SIGMA; QQK
-1D768 ; [.18FA.0020.000B.1D768] # MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA; QQK
-1D7A2 ; [.18FA.0020.000B.1D7A2] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA; QQK
-03C2 ; [.18FA.0020.0019.03C2] # GREEK SMALL LETTER FINAL SIGMA; QQK
-037C ; [.18FB.0020.0002.037C] # GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
-03FE ; [.18FB.0020.0008.03FE] # GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
-037B ; [.18FC.0020.0002.037B] # GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
-03FD ; [.18FC.0020.0008.03FD] # GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
-037D ; [.18FD.0020.0002.037D] # GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-03FF ; [.18FD.0020.0008.03FF] # GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
-03C4 ; [.18FE.0020.0002.03C4] # GREEK SMALL LETTER TAU
-1D6D5 ; [.18FE.0020.0005.1D6D5] # MATHEMATICAL BOLD SMALL TAU; QQK
-1D70F ; [.18FE.0020.0005.1D70F] # MATHEMATICAL ITALIC SMALL TAU; QQK
-1D749 ; [.18FE.0020.0005.1D749] # MATHEMATICAL BOLD ITALIC SMALL TAU; QQK
-1D783 ; [.18FE.0020.0005.1D783] # MATHEMATICAL SANS-SERIF BOLD SMALL TAU; QQK
-1D7BD ; [.18FE.0020.0005.1D7BD] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU; QQK
-03A4 ; [.18FE.0020.0008.03A4] # GREEK CAPITAL LETTER TAU
-1D6BB ; [.18FE.0020.000B.1D6BB] # MATHEMATICAL BOLD CAPITAL TAU; QQK
-1D6F5 ; [.18FE.0020.000B.1D6F5] # MATHEMATICAL ITALIC CAPITAL TAU; QQK
-1D72F ; [.18FE.0020.000B.1D72F] # MATHEMATICAL BOLD ITALIC CAPITAL TAU; QQK
-1D769 ; [.18FE.0020.000B.1D769] # MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU; QQK
-1D7A3 ; [.18FE.0020.000B.1D7A3] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU; QQK
-03C5 ; [.18FF.0020.0002.03C5] # GREEK SMALL LETTER UPSILON
-1D6D6 ; [.18FF.0020.0005.1D6D6] # MATHEMATICAL BOLD SMALL UPSILON; QQK
-1D710 ; [.18FF.0020.0005.1D710] # MATHEMATICAL ITALIC SMALL UPSILON; QQK
-1D74A ; [.18FF.0020.0005.1D74A] # MATHEMATICAL BOLD ITALIC SMALL UPSILON; QQK
-1D784 ; [.18FF.0020.0005.1D784] # MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON; QQK
-1D7BE ; [.18FF.0020.0005.1D7BE] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON; QQK
-03A5 ; [.18FF.0020.0008.03A5] # GREEK CAPITAL LETTER UPSILON
-03D2 ; [.18FF.0020.000A.03D2] # GREEK UPSILON WITH HOOK SYMBOL; QQK
-1D6BC ; [.18FF.0020.000B.1D6BC] # MATHEMATICAL BOLD CAPITAL UPSILON; QQK
-1D6F6 ; [.18FF.0020.000B.1D6F6] # MATHEMATICAL ITALIC CAPITAL UPSILON; QQK
-1D730 ; [.18FF.0020.000B.1D730] # MATHEMATICAL BOLD ITALIC CAPITAL UPSILON; QQK
-1D76A ; [.18FF.0020.000B.1D76A] # MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON; QQK
-1D7A4 ; [.18FF.0020.000B.1D7A4] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON; QQK
-1F50 ; [.18FF.0020.0002.03C5][.0000.0022.0002.0313] # GREEK SMALL LETTER UPSILON WITH PSILI; QQCM
-1F54 ; [.18FF.0020.0002.03C5][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA; QQCM
-1F52 ; [.18FF.0020.0002.03C5][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA; QQCM
-1F56 ; [.18FF.0020.0002.03C5][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI; QQCM
-1F51 ; [.18FF.0020.0002.03C5][.0000.002A.0002.0314] # GREEK SMALL LETTER UPSILON WITH DASIA; QQCM
-1F59 ; [.18FF.0020.0008.03A5][.0000.002A.0002.0314] # GREEK CAPITAL LETTER UPSILON WITH DASIA; QQCM
-1F55 ; [.18FF.0020.0002.03C5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA; QQCM
-1F5D ; [.18FF.0020.0008.03A5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA; QQCM
-1F53 ; [.18FF.0020.0002.03C5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA; QQCM
-1F5B ; [.18FF.0020.0008.03A5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA; QQCM
-1F57 ; [.18FF.0020.0002.03C5][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI; QQCM
-1F5F ; [.18FF.0020.0008.03A5][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI; QQCM
-03CD ; [.18FF.0020.0002.03C5][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH TONOS; QQCM
-1F7B ; [.18FF.0020.0002.03C5][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH OXIA; QQCM
-038E ; [.18FF.0020.0008.03A5][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH TONOS; QQCM
-1FEB ; [.18FF.0020.0008.03A5][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH OXIA; QQCM
-03D3 ; [.18FF.0020.000A.03D3][.0000.0032.0002.03D3] # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL; QQKN
-1F7A ; [.18FF.0020.0002.03C5][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH VARIA; QQCM
-1FEA ; [.18FF.0020.0008.03A5][.0000.0035.0002.0300] # GREEK CAPITAL LETTER UPSILON WITH VARIA; QQCM
-1FE0 ; [.18FF.0020.0002.03C5][.0000.0037.0002.0306] # GREEK SMALL LETTER UPSILON WITH VRACHY; QQCM
-1FE8 ; [.18FF.0020.0008.03A5][.0000.0037.0002.0306] # GREEK CAPITAL LETTER UPSILON WITH VRACHY; QQCM
-1FE6 ; [.18FF.0020.0002.03C5][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH PERISPOMENI; QQCM
-03CB ; [.18FF.0020.0002.03C5][.0000.0047.0002.0308] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA; QQCM
-03AB ; [.18FF.0020.0008.03A5][.0000.0047.0002.0308] # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA; QQCM
-03D4 ; [.18FF.0020.000A.03D4][.0000.0047.0002.03D4] # GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL; QQKN
-03B0 ; [.18FF.0020.0002.03C5][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS; QQCM
-1FE3 ; [.18FF.0020.0002.03C5][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA; QQCM
-1FE2 ; [.18FF.0020.0002.03C5][.0000.0047.0002.0308][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA; QQCM
-1FE7 ; [.18FF.0020.0002.03C5][.0000.0047.0002.0308][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI; QQCM
-1FE1 ; [.18FF.0020.0002.03C5][.0000.005B.0002.0304] # GREEK SMALL LETTER UPSILON WITH MACRON; QQCM
-1FE9 ; [.18FF.0020.0008.03A5][.0000.005B.0002.0304] # GREEK CAPITAL LETTER UPSILON WITH MACRON; QQCM
-03C6 ; [.1900.0020.0002.03C6] # GREEK SMALL LETTER PHI
-03D5 ; [.1900.0020.0004.03D5] # GREEK PHI SYMBOL; QQK
-1D6D7 ; [.1900.0020.0005.1D6D7] # MATHEMATICAL BOLD SMALL PHI; QQK
-1D6DF ; [.1900.0020.0005.1D6DF] # MATHEMATICAL BOLD PHI SYMBOL; QQK
-1D711 ; [.1900.0020.0005.1D711] # MATHEMATICAL ITALIC SMALL PHI; QQK
-1D719 ; [.1900.0020.0005.1D719] # MATHEMATICAL ITALIC PHI SYMBOL; QQK
-1D74B ; [.1900.0020.0005.1D74B] # MATHEMATICAL BOLD ITALIC SMALL PHI; QQK
-1D753 ; [.1900.0020.0005.1D753] # MATHEMATICAL BOLD ITALIC PHI SYMBOL; QQK
-1D785 ; [.1900.0020.0005.1D785] # MATHEMATICAL SANS-SERIF BOLD SMALL PHI; QQK
-1D78D ; [.1900.0020.0005.1D78D] # MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL; QQK
-1D7BF ; [.1900.0020.0005.1D7BF] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI; QQK
-1D7C7 ; [.1900.0020.0005.1D7C7] # MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL; QQK
-03A6 ; [.1900.0020.0008.03A6] # GREEK CAPITAL LETTER PHI
-1D6BD ; [.1900.0020.000B.1D6BD] # MATHEMATICAL BOLD CAPITAL PHI; QQK
-1D6F7 ; [.1900.0020.000B.1D6F7] # MATHEMATICAL ITALIC CAPITAL PHI; QQK
-1D731 ; [.1900.0020.000B.1D731] # MATHEMATICAL BOLD ITALIC CAPITAL PHI; QQK
-1D76B ; [.1900.0020.000B.1D76B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI; QQK
-1D7A5 ; [.1900.0020.000B.1D7A5] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI; QQK
-1D60 ; [.1900.0020.0014.1D60] # MODIFIER LETTER SMALL GREEK PHI; QQK
-1D69 ; [.1900.0020.0015.1D69] # GREEK SUBSCRIPT SMALL LETTER PHI; QQK
-03C7 ; [.1901.0020.0002.03C7] # GREEK SMALL LETTER CHI
-1D6D8 ; [.1901.0020.0005.1D6D8] # MATHEMATICAL BOLD SMALL CHI; QQK
-1D712 ; [.1901.0020.0005.1D712] # MATHEMATICAL ITALIC SMALL CHI; QQK
-1D74C ; [.1901.0020.0005.1D74C] # MATHEMATICAL BOLD ITALIC SMALL CHI; QQK
-1D786 ; [.1901.0020.0005.1D786] # MATHEMATICAL SANS-SERIF BOLD SMALL CHI; QQK
-1D7C0 ; [.1901.0020.0005.1D7C0] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI; QQK
-03A7 ; [.1901.0020.0008.03A7] # GREEK CAPITAL LETTER CHI
-1D6BE ; [.1901.0020.000B.1D6BE] # MATHEMATICAL BOLD CAPITAL CHI; QQK
-1D6F8 ; [.1901.0020.000B.1D6F8] # MATHEMATICAL ITALIC CAPITAL CHI; QQK
-1D732 ; [.1901.0020.000B.1D732] # MATHEMATICAL BOLD ITALIC CAPITAL CHI; QQK
-1D76C ; [.1901.0020.000B.1D76C] # MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI; QQK
-1D7A6 ; [.1901.0020.000B.1D7A6] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI; QQK
-1D61 ; [.1901.0020.0014.1D61] # MODIFIER LETTER SMALL CHI; QQK
-1D6A ; [.1901.0020.0015.1D6A] # GREEK SUBSCRIPT SMALL LETTER CHI; QQK
-03C8 ; [.1902.0020.0002.03C8] # GREEK SMALL LETTER PSI
-1D6D9 ; [.1902.0020.0005.1D6D9] # MATHEMATICAL BOLD SMALL PSI; QQK
-1D713 ; [.1902.0020.0005.1D713] # MATHEMATICAL ITALIC SMALL PSI; QQK
-1D74D ; [.1902.0020.0005.1D74D] # MATHEMATICAL BOLD ITALIC SMALL PSI; QQK
-1D787 ; [.1902.0020.0005.1D787] # MATHEMATICAL SANS-SERIF BOLD SMALL PSI; QQK
-1D7C1 ; [.1902.0020.0005.1D7C1] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI; QQK
-03A8 ; [.1902.0020.0008.03A8] # GREEK CAPITAL LETTER PSI
-1D6BF ; [.1902.0020.000B.1D6BF] # MATHEMATICAL BOLD CAPITAL PSI; QQK
-1D6F9 ; [.1902.0020.000B.1D6F9] # MATHEMATICAL ITALIC CAPITAL PSI; QQK
-1D733 ; [.1902.0020.000B.1D733] # MATHEMATICAL BOLD ITALIC CAPITAL PSI; QQK
-1D76D ; [.1902.0020.000B.1D76D] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI; QQK
-1D7A7 ; [.1902.0020.000B.1D7A7] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI; QQK
-1D2A ; [.1903.0020.0002.1D2A] # GREEK LETTER SMALL CAPITAL PSI
-03C9 ; [.1904.0020.0002.03C9] # GREEK SMALL LETTER OMEGA
-1D6DA ; [.1904.0020.0005.1D6DA] # MATHEMATICAL BOLD SMALL OMEGA; QQK
-1D714 ; [.1904.0020.0005.1D714] # MATHEMATICAL ITALIC SMALL OMEGA; QQK
-1D74E ; [.1904.0020.0005.1D74E] # MATHEMATICAL BOLD ITALIC SMALL OMEGA; QQK
-1D788 ; [.1904.0020.0005.1D788] # MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA; QQK
-1D7C2 ; [.1904.0020.0005.1D7C2] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA; QQK
-03A9 ; [.1904.0020.0008.03A9] # GREEK CAPITAL LETTER OMEGA
-2126 ; [.1904.0020.0008.2126] # OHM SIGN; QQC
-1D6C0 ; [.1904.0020.000B.1D6C0] # MATHEMATICAL BOLD CAPITAL OMEGA; QQK
-1D6FA ; [.1904.0020.000B.1D6FA] # MATHEMATICAL ITALIC CAPITAL OMEGA; QQK
-1D734 ; [.1904.0020.000B.1D734] # MATHEMATICAL BOLD ITALIC CAPITAL OMEGA; QQK
-1D76E ; [.1904.0020.000B.1D76E] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA; QQK
-1D7A8 ; [.1904.0020.000B.1D7A8] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA; QQK
-1F60 ; [.1904.0020.0002.03C9][.0000.0022.0002.0313] # GREEK SMALL LETTER OMEGA WITH PSILI; QQCM
-1F68 ; [.1904.0020.0008.03A9][.0000.0022.0002.0313] # GREEK CAPITAL LETTER OMEGA WITH PSILI; QQCM
-1F64 ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA; QQCM
-1F6C ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA; QQCM
-1FA4 ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI; QQCM
-1FAC ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI; QQCM
-1F62 ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA; QQCM
-1F6A ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA; QQCM
-1FA2 ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI; QQCM
-1FAA ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI; QQCM
-1F66 ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI; QQCM
-1F6E ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI; QQCM
-1FA6 ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1FAE ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
-1FA0 ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI; QQCM
-1FA8 ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI; QQCM
-1F61 ; [.1904.0020.0002.03C9][.0000.002A.0002.0314] # GREEK SMALL LETTER OMEGA WITH DASIA; QQCM
-1F69 ; [.1904.0020.0008.03A9][.0000.002A.0002.0314] # GREEK CAPITAL LETTER OMEGA WITH DASIA; QQCM
-1F65 ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA; QQCM
-1F6D ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA; QQCM
-1FA5 ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI; QQCM
-1FAD ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI; QQCM
-1F63 ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA; QQCM
-1F6B ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA; QQCM
-1FA3 ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI; QQCM
-1FAB ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI; QQCM
-1F67 ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI; QQCM
-1F6F ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI; QQCM
-1FA7 ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1FAF ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
-1FA1 ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI; QQCM
-1FA9 ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI; QQCM
-03CE ; [.1904.0020.0002.03C9][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH TONOS; QQCM
-1F7D ; [.1904.0020.0002.03C9][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH OXIA; QQCM
-038F ; [.1904.0020.0008.03A9][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH TONOS; QQCM
-1FFB ; [.1904.0020.0008.03A9][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH OXIA; QQCM
-1FF4 ; [.1904.0020.0002.03C9][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI; QQCM
-1F7C ; [.1904.0020.0002.03C9][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH VARIA; QQCM
-1FFA ; [.1904.0020.0008.03A9][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH VARIA; QQCM
-1FF2 ; [.1904.0020.0002.03C9][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI; QQCM
-1FF6 ; [.1904.0020.0002.03C9][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI; QQCM
-1FF7 ; [.1904.0020.0002.03C9][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1FF3 ; [.1904.0020.0002.03C9][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI; QQCM
-1FFC ; [.1904.0020.0008.03A9][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI; QQCM
-03E1 ; [.1905.0020.0002.03E1] # GREEK SMALL LETTER SAMPI
-03E0 ; [.1905.0020.0008.03E0] # GREEK LETTER SAMPI
-0373 ; [.1906.0020.0002.0373] # GREEK SMALL LETTER ARCHAIC SAMPI
-0372 ; [.1906.0020.0008.0372] # GREEK CAPITAL LETTER ARCHAIC SAMPI
-03F8 ; [.1907.0020.0002.03F8] # GREEK SMALL LETTER SHO
-03F7 ; [.1907.0020.0008.03F7] # GREEK CAPITAL LETTER SHO
-2C81 ; [.1908.0020.0002.2C81] # COPTIC SMALL LETTER ALFA
-2C80 ; [.1908.0020.0008.2C80] # COPTIC CAPITAL LETTER ALFA
-2C83 ; [.1909.0020.0002.2C83] # COPTIC SMALL LETTER VIDA
-2C82 ; [.1909.0020.0008.2C82] # COPTIC CAPITAL LETTER VIDA
-2C85 ; [.190A.0020.0002.2C85] # COPTIC SMALL LETTER GAMMA
-2C84 ; [.190A.0020.0008.2C84] # COPTIC CAPITAL LETTER GAMMA
-2C87 ; [.190B.0020.0002.2C87] # COPTIC SMALL LETTER DALDA
-2C86 ; [.190B.0020.0008.2C86] # COPTIC CAPITAL LETTER DALDA
-2C89 ; [.190C.0020.0002.2C89] # COPTIC SMALL LETTER EIE
-2C88 ; [.190C.0020.0008.2C88] # COPTIC CAPITAL LETTER EIE
-2CB7 ; [.190D.0020.0002.2CB7] # COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
-2CB6 ; [.190D.0020.0008.2CB6] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
-2C8B ; [.190E.0020.0002.2C8B] # COPTIC SMALL LETTER SOU
-2C8A ; [.190E.0020.0008.2C8A] # COPTIC CAPITAL LETTER SOU
-2C8D ; [.190F.0020.0002.2C8D] # COPTIC SMALL LETTER ZATA
-2C8C ; [.190F.0020.0008.2C8C] # COPTIC CAPITAL LETTER ZATA
-2C8F ; [.1910.0020.0002.2C8F] # COPTIC SMALL LETTER HATE
-2C8E ; [.1910.0020.0008.2C8E] # COPTIC CAPITAL LETTER HATE
-2C91 ; [.1911.0020.0002.2C91] # COPTIC SMALL LETTER THETHE
-2C90 ; [.1911.0020.0008.2C90] # COPTIC CAPITAL LETTER THETHE
-2C93 ; [.1912.0020.0002.2C93] # COPTIC SMALL LETTER IAUDA
-2C92 ; [.1912.0020.0008.2C92] # COPTIC CAPITAL LETTER IAUDA
-2C95 ; [.1913.0020.0002.2C95] # COPTIC SMALL LETTER KAPA
-2C94 ; [.1913.0020.0008.2C94] # COPTIC CAPITAL LETTER KAPA
-2CE4 ; [.1913.0020.0004.2CE4][.1908.0020.0004.2CE4][.1912.0020.001F.2CE4] # COPTIC SYMBOL KAI; QQKN
-2CB9 ; [.1914.0020.0002.2CB9] # COPTIC SMALL LETTER DIALECT-P KAPA
-2CB8 ; [.1914.0020.0008.2CB8] # COPTIC CAPITAL LETTER DIALECT-P KAPA
-2C97 ; [.1915.0020.0002.2C97] # COPTIC SMALL LETTER LAULA
-2C96 ; [.1915.0020.0008.2C96] # COPTIC CAPITAL LETTER LAULA
-2C99 ; [.1916.0020.0002.2C99] # COPTIC SMALL LETTER MI
-2C98 ; [.1916.0020.0008.2C98] # COPTIC CAPITAL LETTER MI
-2C9B ; [.1917.0020.0002.2C9B] # COPTIC SMALL LETTER NI
-2C9A ; [.1917.0020.0008.2C9A] # COPTIC CAPITAL LETTER NI
-2CBB ; [.1918.0020.0002.2CBB] # COPTIC SMALL LETTER DIALECT-P NI
-2CBA ; [.1918.0020.0008.2CBA] # COPTIC CAPITAL LETTER DIALECT-P NI
-2CBD ; [.1919.0020.0002.2CBD] # COPTIC SMALL LETTER CRYPTOGRAMMIC NI
-2CBC ; [.1919.0020.0008.2CBC] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
-2C9D ; [.191A.0020.0002.2C9D] # COPTIC SMALL LETTER KSI
-2C9C ; [.191A.0020.0008.2C9C] # COPTIC CAPITAL LETTER KSI
-2C9F ; [.191B.0020.0002.2C9F] # COPTIC SMALL LETTER O
-2C9E ; [.191B.0020.0008.2C9E] # COPTIC CAPITAL LETTER O
-2CA1 ; [.191C.0020.0002.2CA1] # COPTIC SMALL LETTER PI
-2CA0 ; [.191C.0020.0008.2CA0] # COPTIC CAPITAL LETTER PI
-2CA3 ; [.191D.0020.0002.2CA3] # COPTIC SMALL LETTER RO
-2CA2 ; [.191D.0020.0008.2CA2] # COPTIC CAPITAL LETTER RO
-2CA5 ; [.191E.0020.0002.2CA5] # COPTIC SMALL LETTER SIMA
-2CA4 ; [.191E.0020.0008.2CA4] # COPTIC CAPITAL LETTER SIMA
-2CA7 ; [.191F.0020.0002.2CA7] # COPTIC SMALL LETTER TAU
-2CA6 ; [.191F.0020.0008.2CA6] # COPTIC CAPITAL LETTER TAU
-2CA9 ; [.1920.0020.0002.2CA9] # COPTIC SMALL LETTER UA
-2CA8 ; [.1920.0020.0008.2CA8] # COPTIC CAPITAL LETTER UA
-2CAB ; [.1921.0020.0002.2CAB] # COPTIC SMALL LETTER FI
-2CAA ; [.1921.0020.0008.2CAA] # COPTIC CAPITAL LETTER FI
-2CAD ; [.1922.0020.0002.2CAD] # COPTIC SMALL LETTER KHI
-2CAC ; [.1922.0020.0008.2CAC] # COPTIC CAPITAL LETTER KHI
-2CAF ; [.1923.0020.0002.2CAF] # COPTIC SMALL LETTER PSI
-2CAE ; [.1923.0020.0008.2CAE] # COPTIC CAPITAL LETTER PSI
-2CB1 ; [.1924.0020.0002.2CB1] # COPTIC SMALL LETTER OOU
-2CB0 ; [.1924.0020.0008.2CB0] # COPTIC CAPITAL LETTER OOU
-2CBF ; [.1925.0020.0002.2CBF] # COPTIC SMALL LETTER OLD COPTIC OOU
-2CBE ; [.1925.0020.0008.2CBE] # COPTIC CAPITAL LETTER OLD COPTIC OOU
-2CC1 ; [.1926.0020.0002.2CC1] # COPTIC SMALL LETTER SAMPI
-2CC0 ; [.1926.0020.0008.2CC0] # COPTIC CAPITAL LETTER SAMPI
-03E3 ; [.1927.0020.0002.03E3] # COPTIC SMALL LETTER SHEI
-03E2 ; [.1927.0020.0008.03E2] # COPTIC CAPITAL LETTER SHEI
-2CEC ; [.1928.0020.0002.2CEC] # COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
-2CEB ; [.1928.0020.0008.2CEB] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
-2CC3 ; [.1929.0020.0002.2CC3] # COPTIC SMALL LETTER CROSSED SHEI
-2CC2 ; [.1929.0020.0008.2CC2] # COPTIC CAPITAL LETTER CROSSED SHEI
-2CC5 ; [.192A.0020.0002.2CC5] # COPTIC SMALL LETTER OLD COPTIC SHEI
-2CC4 ; [.192A.0020.0008.2CC4] # COPTIC CAPITAL LETTER OLD COPTIC SHEI
-2CC7 ; [.192B.0020.0002.2CC7] # COPTIC SMALL LETTER OLD COPTIC ESH
-2CC6 ; [.192B.0020.0008.2CC6] # COPTIC CAPITAL LETTER OLD COPTIC ESH
-03E5 ; [.192C.0020.0002.03E5] # COPTIC SMALL LETTER FEI
-03E4 ; [.192C.0020.0008.03E4] # COPTIC CAPITAL LETTER FEI
-03E7 ; [.192D.0020.0002.03E7] # COPTIC SMALL LETTER KHEI
-03E6 ; [.192D.0020.0008.03E6] # COPTIC CAPITAL LETTER KHEI
-2CC9 ; [.192E.0020.0002.2CC9] # COPTIC SMALL LETTER AKHMIMIC KHEI
-2CC8 ; [.192E.0020.0008.2CC8] # COPTIC CAPITAL LETTER AKHMIMIC KHEI
-03E9 ; [.192F.0020.0002.03E9] # COPTIC SMALL LETTER HORI
-03E8 ; [.192F.0020.0008.03E8] # COPTIC CAPITAL LETTER HORI
-2CCB ; [.1930.0020.0002.2CCB] # COPTIC SMALL LETTER DIALECT-P HORI
-2CCA ; [.1930.0020.0008.2CCA] # COPTIC CAPITAL LETTER DIALECT-P HORI
-2CCD ; [.1931.0020.0002.2CCD] # COPTIC SMALL LETTER OLD COPTIC HORI
-2CCC ; [.1931.0020.0008.2CCC] # COPTIC CAPITAL LETTER OLD COPTIC HORI
-2CCF ; [.1932.0020.0002.2CCF] # COPTIC SMALL LETTER OLD COPTIC HA
-2CCE ; [.1932.0020.0008.2CCE] # COPTIC CAPITAL LETTER OLD COPTIC HA
-2CD1 ; [.1933.0020.0002.2CD1] # COPTIC SMALL LETTER L-SHAPED HA
-2CD0 ; [.1933.0020.0008.2CD0] # COPTIC CAPITAL LETTER L-SHAPED HA
-2CD3 ; [.1934.0020.0002.2CD3] # COPTIC SMALL LETTER OLD COPTIC HEI
-2CD2 ; [.1934.0020.0008.2CD2] # COPTIC CAPITAL LETTER OLD COPTIC HEI
-2CD5 ; [.1935.0020.0002.2CD5] # COPTIC SMALL LETTER OLD COPTIC HAT
-2CD4 ; [.1935.0020.0008.2CD4] # COPTIC CAPITAL LETTER OLD COPTIC HAT
-03EB ; [.1936.0020.0002.03EB] # COPTIC SMALL LETTER GANGIA
-03EA ; [.1936.0020.0008.03EA] # COPTIC CAPITAL LETTER GANGIA
-2CEE ; [.1937.0020.0002.2CEE] # COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2CED ; [.1937.0020.0008.2CED] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
-2CD7 ; [.1938.0020.0002.2CD7] # COPTIC SMALL LETTER OLD COPTIC GANGIA
-2CD6 ; [.1938.0020.0008.2CD6] # COPTIC CAPITAL LETTER OLD COPTIC GANGIA
-03ED ; [.1939.0020.0002.03ED] # COPTIC SMALL LETTER SHIMA
-03EC ; [.1939.0020.0008.03EC] # COPTIC CAPITAL LETTER SHIMA
-2CD9 ; [.193A.0020.0002.2CD9] # COPTIC SMALL LETTER OLD COPTIC DJA
-2CD8 ; [.193A.0020.0008.2CD8] # COPTIC CAPITAL LETTER OLD COPTIC DJA
-2CDB ; [.193B.0020.0002.2CDB] # COPTIC SMALL LETTER OLD COPTIC SHIMA
-2CDA ; [.193B.0020.0008.2CDA] # COPTIC CAPITAL LETTER OLD COPTIC SHIMA
-2CDD ; [.193C.0020.0002.2CDD] # COPTIC SMALL LETTER OLD NUBIAN SHIMA
-2CDC ; [.193C.0020.0008.2CDC] # COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
-03EF ; [.193D.0020.0002.03EF] # COPTIC SMALL LETTER DEI
-03EE ; [.193D.0020.0008.03EE] # COPTIC CAPITAL LETTER DEI
-2CB3 ; [.193E.0020.0002.2CB3] # COPTIC SMALL LETTER DIALECT-P ALEF
-2CB2 ; [.193E.0020.0008.2CB2] # COPTIC CAPITAL LETTER DIALECT-P ALEF
-2CB5 ; [.193F.0020.0002.2CB5] # COPTIC SMALL LETTER OLD COPTIC AIN
-2CB4 ; [.193F.0020.0008.2CB4] # COPTIC CAPITAL LETTER OLD COPTIC AIN
-2CDF ; [.1940.0020.0002.2CDF] # COPTIC SMALL LETTER OLD NUBIAN NGI
-2CDE ; [.1940.0020.0008.2CDE] # COPTIC CAPITAL LETTER OLD NUBIAN NGI
-2CE1 ; [.1941.0020.0002.2CE1] # COPTIC SMALL LETTER OLD NUBIAN NYI
-2CE0 ; [.1941.0020.0008.2CE0] # COPTIC CAPITAL LETTER OLD NUBIAN NYI
-2CE3 ; [.1942.0020.0002.2CE3] # COPTIC SMALL LETTER OLD NUBIAN WAU
-2CE2 ; [.1942.0020.0008.2CE2] # COPTIC CAPITAL LETTER OLD NUBIAN WAU
-0430 ; [.1943.0020.0002.0430] # CYRILLIC SMALL LETTER A
-2DF6 ; [.1943.0020.0004.2DF6] # COMBINING CYRILLIC LETTER A; QQK
-0410 ; [.1943.0020.0008.0410] # CYRILLIC CAPITAL LETTER A
-04D1 ; [.1947.0020.0002.04D1] # CYRILLIC SMALL LETTER A WITH BREVE
-0430 0306 ; [.1947.0020.0002.04D1] # CYRILLIC SMALL LETTER A WITH BREVE
-04D0 ; [.1947.0020.0008.04D0] # CYRILLIC CAPITAL LETTER A WITH BREVE
-0410 0306 ; [.1947.0020.0008.04D0] # CYRILLIC CAPITAL LETTER A WITH BREVE
-04D3 ; [.194B.0020.0002.04D3] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-0430 0308 ; [.194B.0020.0002.04D3] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D2 ; [.194B.0020.0008.04D2] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-0410 0308 ; [.194B.0020.0008.04D2] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04D9 ; [.194F.0020.0002.04D9] # CYRILLIC SMALL LETTER SCHWA
-04D8 ; [.194F.0020.0008.04D8] # CYRILLIC CAPITAL LETTER SCHWA
-04DB ; [.1953.0020.0002.04DB] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04D9 0308 ; [.1953.0020.0002.04DB] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DA ; [.1953.0020.0008.04DA] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04D8 0308 ; [.1953.0020.0008.04DA] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04D5 ; [.1957.0020.0002.04D5] # CYRILLIC SMALL LIGATURE A IE
-04D4 ; [.1957.0020.0008.04D4] # CYRILLIC CAPITAL LIGATURE A IE
-0431 ; [.195B.0020.0002.0431] # CYRILLIC SMALL LETTER BE
-2DE0 ; [.195B.0020.0004.2DE0] # COMBINING CYRILLIC LETTER BE; QQK
-0411 ; [.195B.0020.0008.0411] # CYRILLIC CAPITAL LETTER BE
-0432 ; [.195F.0020.0002.0432] # CYRILLIC SMALL LETTER VE
-2DE1 ; [.195F.0020.0004.2DE1] # COMBINING CYRILLIC LETTER VE; QQK
-0412 ; [.195F.0020.0008.0412] # CYRILLIC CAPITAL LETTER VE
-0433 ; [.1963.0020.0002.0433] # CYRILLIC SMALL LETTER GHE
-2DE2 ; [.1963.0020.0004.2DE2] # COMBINING CYRILLIC LETTER GHE; QQK
-0413 ; [.1963.0020.0008.0413] # CYRILLIC CAPITAL LETTER GHE
-0491 ; [.1963.0020.0004.0491][.0000.0160.0004.0491] # CYRILLIC SMALL LETTER GHE WITH UPTURN; QQKN
-0490 ; [.1963.0020.000A.0490][.0000.0160.0004.0490] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN; QQKN
-0493 ; [.1967.0020.0002.0493] # CYRILLIC SMALL LETTER GHE WITH STROKE
-0492 ; [.1967.0020.0008.0492] # CYRILLIC CAPITAL LETTER GHE WITH STROKE
-04FB ; [.196B.0020.0002.04FB] # CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
-04FA ; [.196B.0020.0008.04FA] # CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
-0495 ; [.196F.0020.0002.0495] # CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
-0494 ; [.196F.0020.0008.0494] # CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
-04F7 ; [.1973.0020.0002.04F7] # CYRILLIC SMALL LETTER GHE WITH DESCENDER
-04F6 ; [.1973.0020.0008.04F6] # CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
-0434 ; [.1977.0020.0002.0434] # CYRILLIC SMALL LETTER DE
-2DE3 ; [.1977.0020.0004.2DE3] # COMBINING CYRILLIC LETTER DE; QQK
-0414 ; [.1977.0020.0008.0414] # CYRILLIC CAPITAL LETTER DE
-0501 ; [.197B.0020.0002.0501] # CYRILLIC SMALL LETTER KOMI DE
-0500 ; [.197B.0020.0008.0500] # CYRILLIC CAPITAL LETTER KOMI DE
-A681 ; [.197C.0020.0002.A681] # CYRILLIC SMALL LETTER DWE
-A680 ; [.197C.0020.0008.A680] # CYRILLIC CAPITAL LETTER DWE
-0452 ; [.197D.0020.0002.0452] # CYRILLIC SMALL LETTER DJE
-0402 ; [.197D.0020.0008.0402] # CYRILLIC CAPITAL LETTER DJE
-A663 ; [.1981.0020.0002.A663] # CYRILLIC SMALL LETTER SOFT DE
-A662 ; [.1981.0020.0008.A662] # CYRILLIC CAPITAL LETTER SOFT DE
-0503 ; [.1982.0020.0002.0503] # CYRILLIC SMALL LETTER KOMI DJE
-0502 ; [.1982.0020.0008.0502] # CYRILLIC CAPITAL LETTER KOMI DJE
-0453 ; [.1983.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
-0433 0301 ; [.1983.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
-0433 0341 ; [.1983.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
-0403 ; [.1983.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
-0413 0301 ; [.1983.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
-0413 0341 ; [.1983.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
-0499 ; [.1987.0020.0002.0499] # CYRILLIC SMALL LETTER ZE WITH DESCENDER
-0498 ; [.1987.0020.0008.0498] # CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
-0435 ; [.198B.0020.0002.0435] # CYRILLIC SMALL LETTER IE
-2DF7 ; [.198B.0020.0004.2DF7] # COMBINING CYRILLIC LETTER IE; QQK
-0415 ; [.198B.0020.0008.0415] # CYRILLIC CAPITAL LETTER IE
-0450 ; [.198B.0020.0002.0435][.0000.0035.0002.0300] # CYRILLIC SMALL LETTER IE WITH GRAVE; QQCM
-0400 ; [.198B.0020.0008.0415][.0000.0035.0002.0300] # CYRILLIC CAPITAL LETTER IE WITH GRAVE; QQCM
-0451 ; [.198B.0020.0002.0435][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER IO; QQCM
-0401 ; [.198B.0020.0008.0415][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER IO; QQCM
-04D7 ; [.198F.0020.0002.04D7] # CYRILLIC SMALL LETTER IE WITH BREVE
-0435 0306 ; [.198F.0020.0002.04D7] # CYRILLIC SMALL LETTER IE WITH BREVE
-04D6 ; [.198F.0020.0008.04D6] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-0415 0306 ; [.198F.0020.0008.04D6] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-0454 ; [.1993.0020.0002.0454] # CYRILLIC SMALL LETTER UKRAINIAN IE
-0404 ; [.1993.0020.0008.0404] # CYRILLIC CAPITAL LETTER UKRAINIAN IE
-0436 ; [.1997.0020.0002.0436] # CYRILLIC SMALL LETTER ZHE
-2DE4 ; [.1997.0020.0004.2DE4] # COMBINING CYRILLIC LETTER ZHE; QQK
-0416 ; [.1997.0020.0008.0416] # CYRILLIC CAPITAL LETTER ZHE
-04C2 ; [.1997.0020.0002.0436][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER ZHE WITH BREVE; QQCM
-04C1 ; [.1997.0020.0008.0416][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER ZHE WITH BREVE; QQCM
-A685 ; [.199B.0020.0002.A685] # CYRILLIC SMALL LETTER ZHWE
-A684 ; [.199B.0020.0008.A684] # CYRILLIC CAPITAL LETTER ZHWE
-04DD ; [.199C.0020.0002.04DD] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-0436 0308 ; [.199C.0020.0002.04DD] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DC ; [.199C.0020.0008.04DC] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-0416 0308 ; [.199C.0020.0008.04DC] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-0497 ; [.19A0.0020.0002.0497] # CYRILLIC SMALL LETTER ZHE WITH DESCENDER
-0496 ; [.19A0.0020.0008.0496] # CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
-0437 ; [.19A4.0020.0002.0437] # CYRILLIC SMALL LETTER ZE
-2DE5 ; [.19A4.0020.0004.2DE5] # COMBINING CYRILLIC LETTER ZE; QQK
-0417 ; [.19A4.0020.0008.0417] # CYRILLIC CAPITAL LETTER ZE
-A641 ; [.19A8.0020.0002.A641] # CYRILLIC SMALL LETTER ZEMLYA
-A640 ; [.19A8.0020.0008.A640] # CYRILLIC CAPITAL LETTER ZEMLYA
-0505 ; [.19A9.0020.0002.0505] # CYRILLIC SMALL LETTER KOMI ZJE
-0504 ; [.19A9.0020.0008.0504] # CYRILLIC CAPITAL LETTER KOMI ZJE
-0511 ; [.19AA.0020.0002.0511] # CYRILLIC SMALL LETTER REVERSED ZE
-0510 ; [.19AA.0020.0008.0510] # CYRILLIC CAPITAL LETTER REVERSED ZE
-04DF ; [.19AB.0020.0002.04DF] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-0437 0308 ; [.19AB.0020.0002.04DF] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04DE ; [.19AB.0020.0008.04DE] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-0417 0308 ; [.19AB.0020.0008.04DE] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-A643 ; [.19AF.0020.0002.A643] # CYRILLIC SMALL LETTER DZELO
-A642 ; [.19AF.0020.0008.A642] # CYRILLIC CAPITAL LETTER DZELO
-0455 ; [.19B0.0020.0002.0455] # CYRILLIC SMALL LETTER DZE
-0405 ; [.19B0.0020.0008.0405] # CYRILLIC CAPITAL LETTER DZE
-A645 ; [.19B4.0020.0002.A645] # CYRILLIC SMALL LETTER REVERSED DZE
-A644 ; [.19B4.0020.0008.A644] # CYRILLIC CAPITAL LETTER REVERSED DZE
-04E1 ; [.19B5.0020.0002.04E1] # CYRILLIC SMALL LETTER ABKHASIAN DZE
-04E0 ; [.19B5.0020.0008.04E0] # CYRILLIC CAPITAL LETTER ABKHASIAN DZE
-A689 ; [.19B9.0020.0002.A689] # CYRILLIC SMALL LETTER DZZE
-A688 ; [.19B9.0020.0008.A688] # CYRILLIC CAPITAL LETTER DZZE
-0507 ; [.19BA.0020.0002.0507] # CYRILLIC SMALL LETTER KOMI DZJE
-0506 ; [.19BA.0020.0008.0506] # CYRILLIC CAPITAL LETTER KOMI DZJE
-A683 ; [.19BB.0020.0002.A683] # CYRILLIC SMALL LETTER DZWE
-A682 ; [.19BB.0020.0008.A682] # CYRILLIC CAPITAL LETTER DZWE
-0438 ; [.19BC.0020.0002.0438] # CYRILLIC SMALL LETTER I
-0418 ; [.19BC.0020.0008.0418] # CYRILLIC CAPITAL LETTER I
-045D ; [.19BC.0020.0002.0438][.0000.0035.0002.0300] # CYRILLIC SMALL LETTER I WITH GRAVE; QQCM
-040D ; [.19BC.0020.0008.0418][.0000.0035.0002.0300] # CYRILLIC CAPITAL LETTER I WITH GRAVE; QQCM
-04E3 ; [.19BC.0020.0002.0438][.0000.005B.0002.0304] # CYRILLIC SMALL LETTER I WITH MACRON; QQCM
-04E2 ; [.19BC.0020.0008.0418][.0000.005B.0002.0304] # CYRILLIC CAPITAL LETTER I WITH MACRON; QQCM
-048B ; [.19C0.0020.0002.048B] # CYRILLIC SMALL LETTER SHORT I WITH TAIL
-048A ; [.19C0.0020.0008.048A] # CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
-04E5 ; [.19C4.0020.0002.04E5] # CYRILLIC SMALL LETTER I WITH DIAERESIS
-0438 0308 ; [.19C4.0020.0002.04E5] # CYRILLIC SMALL LETTER I WITH DIAERESIS
-04E4 ; [.19C4.0020.0008.04E4] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-0418 0308 ; [.19C4.0020.0008.04E4] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-0456 ; [.19C8.0020.0002.0456] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-0406 ; [.19C8.0020.0008.0406] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-A647 ; [.19CC.0020.0002.A647] # CYRILLIC SMALL LETTER IOTA
-A646 ; [.19CC.0020.0008.A646] # CYRILLIC CAPITAL LETTER IOTA
-0457 ; [.19CD.0020.0002.0457] # CYRILLIC SMALL LETTER YI
-0456 0308 ; [.19CD.0020.0002.0457] # CYRILLIC SMALL LETTER YI
-0407 ; [.19CD.0020.0008.0407] # CYRILLIC CAPITAL LETTER YI
-0406 0308 ; [.19CD.0020.0008.0407] # CYRILLIC CAPITAL LETTER YI
-0439 ; [.19D1.0020.0002.0439] # CYRILLIC SMALL LETTER SHORT I
-0438 0306 ; [.19D1.0020.0002.0439] # CYRILLIC SMALL LETTER SHORT I
-0419 ; [.19D1.0020.0008.0419] # CYRILLIC CAPITAL LETTER SHORT I
-0418 0306 ; [.19D1.0020.0008.0419] # CYRILLIC CAPITAL LETTER SHORT I
-0458 ; [.19D5.0020.0002.0458] # CYRILLIC SMALL LETTER JE
-0408 ; [.19D5.0020.0008.0408] # CYRILLIC CAPITAL LETTER JE
-A649 ; [.19D9.0020.0002.A649] # CYRILLIC SMALL LETTER DJERV
-2DF8 ; [.19D9.0020.0004.2DF8] # COMBINING CYRILLIC LETTER DJERV; QQK
-A648 ; [.19D9.0020.0008.A648] # CYRILLIC CAPITAL LETTER DJERV
-043A ; [.19DA.0020.0002.043A] # CYRILLIC SMALL LETTER KA
-2DE6 ; [.19DA.0020.0004.2DE6] # COMBINING CYRILLIC LETTER KA; QQK
-041A ; [.19DA.0020.0008.041A] # CYRILLIC CAPITAL LETTER KA
-049B ; [.19DE.0020.0002.049B] # CYRILLIC SMALL LETTER KA WITH DESCENDER
-049A ; [.19DE.0020.0008.049A] # CYRILLIC CAPITAL LETTER KA WITH DESCENDER
-04C4 ; [.19E2.0020.0002.04C4] # CYRILLIC SMALL LETTER KA WITH HOOK
-04C3 ; [.19E2.0020.0008.04C3] # CYRILLIC CAPITAL LETTER KA WITH HOOK
-04A1 ; [.19E6.0020.0002.04A1] # CYRILLIC SMALL LETTER BASHKIR KA
-04A0 ; [.19E6.0020.0008.04A0] # CYRILLIC CAPITAL LETTER BASHKIR KA
-049F ; [.19EA.0020.0002.049F] # CYRILLIC SMALL LETTER KA WITH STROKE
-049E ; [.19EA.0020.0008.049E] # CYRILLIC CAPITAL LETTER KA WITH STROKE
-049D ; [.19EE.0020.0002.049D] # CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
-049C ; [.19EE.0020.0008.049C] # CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
-051F ; [.19F2.0020.0002.051F] # CYRILLIC SMALL LETTER ALEUT KA
-051E ; [.19F2.0020.0008.051E] # CYRILLIC CAPITAL LETTER ALEUT KA
-051B ; [.19F3.0020.0002.051B] # CYRILLIC SMALL LETTER QA
-051A ; [.19F3.0020.0008.051A] # CYRILLIC CAPITAL LETTER QA
-043B ; [.19F4.0020.0002.043B] # CYRILLIC SMALL LETTER EL
-2DE7 ; [.19F4.0020.0004.2DE7] # COMBINING CYRILLIC LETTER EL; QQK
-041B ; [.19F4.0020.0008.041B] # CYRILLIC CAPITAL LETTER EL
-1D2B ; [.19F8.0020.0002.1D2B] # CYRILLIC LETTER SMALL CAPITAL EL
-04C6 ; [.19F9.0020.0002.04C6] # CYRILLIC SMALL LETTER EL WITH TAIL
-04C5 ; [.19F9.0020.0008.04C5] # CYRILLIC CAPITAL LETTER EL WITH TAIL
-0513 ; [.19FD.0020.0002.0513] # CYRILLIC SMALL LETTER EL WITH HOOK
-0512 ; [.19FD.0020.0008.0512] # CYRILLIC CAPITAL LETTER EL WITH HOOK
-0521 ; [.19FE.0020.0002.0521] # CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
-0520 ; [.19FE.0020.0008.0520] # CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
-0459 ; [.19FF.0020.0002.0459] # CYRILLIC SMALL LETTER LJE
-0409 ; [.19FF.0020.0008.0409] # CYRILLIC CAPITAL LETTER LJE
-A665 ; [.1A03.0020.0002.A665] # CYRILLIC SMALL LETTER SOFT EL
-A664 ; [.1A03.0020.0008.A664] # CYRILLIC CAPITAL LETTER SOFT EL
-0509 ; [.1A04.0020.0002.0509] # CYRILLIC SMALL LETTER KOMI LJE
-0508 ; [.1A04.0020.0008.0508] # CYRILLIC CAPITAL LETTER KOMI LJE
-0515 ; [.1A05.0020.0002.0515] # CYRILLIC SMALL LETTER LHA
-0514 ; [.1A05.0020.0008.0514] # CYRILLIC CAPITAL LETTER LHA
-043C ; [.1A06.0020.0002.043C] # CYRILLIC SMALL LETTER EM
-2DE8 ; [.1A06.0020.0004.2DE8] # COMBINING CYRILLIC LETTER EM; QQK
-041C ; [.1A06.0020.0008.041C] # CYRILLIC CAPITAL LETTER EM
-04CE ; [.1A0A.0020.0002.04CE] # CYRILLIC SMALL LETTER EM WITH TAIL
-04CD ; [.1A0A.0020.0008.04CD] # CYRILLIC CAPITAL LETTER EM WITH TAIL
-A667 ; [.1A0E.0020.0002.A667] # CYRILLIC SMALL LETTER SOFT EM
-A666 ; [.1A0E.0020.0008.A666] # CYRILLIC CAPITAL LETTER SOFT EM
-043D ; [.1A0F.0020.0002.043D] # CYRILLIC SMALL LETTER EN
-2DE9 ; [.1A0F.0020.0004.2DE9] # COMBINING CYRILLIC LETTER EN; QQK
-041D ; [.1A0F.0020.0008.041D] # CYRILLIC CAPITAL LETTER EN
-1D78 ; [.1A0F.0020.0014.1D78] # MODIFIER LETTER CYRILLIC EN; QQK
-04CA ; [.1A13.0020.0002.04CA] # CYRILLIC SMALL LETTER EN WITH TAIL
-04C9 ; [.1A13.0020.0008.04C9] # CYRILLIC CAPITAL LETTER EN WITH TAIL
-04A3 ; [.1A17.0020.0002.04A3] # CYRILLIC SMALL LETTER EN WITH DESCENDER
-04A2 ; [.1A17.0020.0008.04A2] # CYRILLIC CAPITAL LETTER EN WITH DESCENDER
-04C8 ; [.1A1B.0020.0002.04C8] # CYRILLIC SMALL LETTER EN WITH HOOK
-04C7 ; [.1A1B.0020.0008.04C7] # CYRILLIC CAPITAL LETTER EN WITH HOOK
-0523 ; [.1A1F.0020.0002.0523] # CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
-0522 ; [.1A1F.0020.0008.0522] # CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
-04A5 ; [.1A20.0020.0002.04A5] # CYRILLIC SMALL LIGATURE EN GHE
-04A4 ; [.1A20.0020.0008.04A4] # CYRILLIC CAPITAL LIGATURE EN GHE
-045A ; [.1A24.0020.0002.045A] # CYRILLIC SMALL LETTER NJE
-040A ; [.1A24.0020.0008.040A] # CYRILLIC CAPITAL LETTER NJE
-050B ; [.1A28.0020.0002.050B] # CYRILLIC SMALL LETTER KOMI NJE
-050A ; [.1A28.0020.0008.050A] # CYRILLIC CAPITAL LETTER KOMI NJE
-043E ; [.1A29.0020.0002.043E] # CYRILLIC SMALL LETTER O
-2DEA ; [.1A29.0020.0004.2DEA] # COMBINING CYRILLIC LETTER O; QQK
-A669 ; [.1A29.0020.0004.A669] # CYRILLIC SMALL LETTER MONOCULAR O; QQK
-A66B ; [.1A29.0020.0004.A66B] # CYRILLIC SMALL LETTER BINOCULAR O; QQK
-A66D ; [.1A29.0020.0004.A66D] # CYRILLIC SMALL LETTER DOUBLE MONOCULAR O; QQK
-A66E ; [.1A29.0020.0004.A66E] # CYRILLIC LETTER MULTIOCULAR O; QQK
-041E ; [.1A29.0020.0008.041E] # CYRILLIC CAPITAL LETTER O
-A668 ; [.1A29.0020.000A.A668] # CYRILLIC CAPITAL LETTER MONOCULAR O; QQK
-A66A ; [.1A29.0020.000A.A66A] # CYRILLIC CAPITAL LETTER BINOCULAR O; QQK
-A66C ; [.1A29.0020.000A.A66C] # CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O; QQK
-04E7 ; [.1A2D.0020.0002.04E7] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-043E 0308 ; [.1A2D.0020.0002.04E7] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E6 ; [.1A2D.0020.0008.04E6] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-041E 0308 ; [.1A2D.0020.0008.04E6] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04E9 ; [.1A31.0020.0002.04E9] # CYRILLIC SMALL LETTER BARRED O
-04E8 ; [.1A31.0020.0008.04E8] # CYRILLIC CAPITAL LETTER BARRED O
-04EB ; [.1A35.0020.0002.04EB] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04E9 0308 ; [.1A35.0020.0002.04EB] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04EA ; [.1A35.0020.0008.04EA] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-04E8 0308 ; [.1A35.0020.0008.04EA] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-043F ; [.1A39.0020.0002.043F] # CYRILLIC SMALL LETTER PE
-2DEB ; [.1A39.0020.0004.2DEB] # COMBINING CYRILLIC LETTER PE; QQK
-041F ; [.1A39.0020.0008.041F] # CYRILLIC CAPITAL LETTER PE
-0525 ; [.1A3D.0020.0002.0525] # CYRILLIC SMALL LETTER PE WITH DESCENDER
-0524 ; [.1A3D.0020.0008.0524] # CYRILLIC CAPITAL LETTER PE WITH DESCENDER
-04A7 ; [.1A3E.0020.0002.04A7] # CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
-04A6 ; [.1A3E.0020.0008.04A6] # CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
-0481 ; [.1A42.0020.0002.0481] # CYRILLIC SMALL LETTER KOPPA
-0480 ; [.1A42.0020.0008.0480] # CYRILLIC CAPITAL LETTER KOPPA
-0440 ; [.1A46.0020.0002.0440] # CYRILLIC SMALL LETTER ER
-2DEC ; [.1A46.0020.0004.2DEC] # COMBINING CYRILLIC LETTER ER; QQK
-0420 ; [.1A46.0020.0008.0420] # CYRILLIC CAPITAL LETTER ER
-048F ; [.1A4A.0020.0002.048F] # CYRILLIC SMALL LETTER ER WITH TICK
-048E ; [.1A4A.0020.0008.048E] # CYRILLIC CAPITAL LETTER ER WITH TICK
-0517 ; [.1A4E.0020.0002.0517] # CYRILLIC SMALL LETTER RHA
-0516 ; [.1A4E.0020.0008.0516] # CYRILLIC CAPITAL LETTER RHA
-0441 ; [.1A4F.0020.0002.0441] # CYRILLIC SMALL LETTER ES
-2DED ; [.1A4F.0020.0004.2DED] # COMBINING CYRILLIC LETTER ES; QQK
-0421 ; [.1A4F.0020.0008.0421] # CYRILLIC CAPITAL LETTER ES
-2DF5 ; [.1A4F.0020.0004.2DF5][.1A58.0020.0004.2DF5] # COMBINING CYRILLIC LETTER ES-TE; QQKN
-050D ; [.1A53.0020.0002.050D] # CYRILLIC SMALL LETTER KOMI SJE
-050C ; [.1A53.0020.0008.050C] # CYRILLIC CAPITAL LETTER KOMI SJE
-04AB ; [.1A54.0020.0002.04AB] # CYRILLIC SMALL LETTER ES WITH DESCENDER
-04AA ; [.1A54.0020.0008.04AA] # CYRILLIC CAPITAL LETTER ES WITH DESCENDER
-0442 ; [.1A58.0020.0002.0442] # CYRILLIC SMALL LETTER TE
-2DEE ; [.1A58.0020.0004.2DEE] # COMBINING CYRILLIC LETTER TE; QQK
-0422 ; [.1A58.0020.0008.0422] # CYRILLIC CAPITAL LETTER TE
-A68D ; [.1A5C.0020.0002.A68D] # CYRILLIC SMALL LETTER TWE
-A68C ; [.1A5C.0020.0008.A68C] # CYRILLIC CAPITAL LETTER TWE
-050F ; [.1A5D.0020.0002.050F] # CYRILLIC SMALL LETTER KOMI TJE
-050E ; [.1A5D.0020.0008.050E] # CYRILLIC CAPITAL LETTER KOMI TJE
-04AD ; [.1A5E.0020.0002.04AD] # CYRILLIC SMALL LETTER TE WITH DESCENDER
-04AC ; [.1A5E.0020.0008.04AC] # CYRILLIC CAPITAL LETTER TE WITH DESCENDER
-A68B ; [.1A62.0020.0002.A68B] # CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
-A68A ; [.1A62.0020.0008.A68A] # CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
-045B ; [.1A63.0020.0002.045B] # CYRILLIC SMALL LETTER TSHE
-040B ; [.1A63.0020.0008.040B] # CYRILLIC CAPITAL LETTER TSHE
-045C ; [.1A67.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
-043A 0301 ; [.1A67.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
-043A 0341 ; [.1A67.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
-040C ; [.1A67.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
-041A 0301 ; [.1A67.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
-041A 0341 ; [.1A67.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
-0443 ; [.1A6B.0020.0002.0443] # CYRILLIC SMALL LETTER U
-0423 ; [.1A6B.0020.0008.0423] # CYRILLIC CAPITAL LETTER U
-04EF ; [.1A6B.0020.0002.0443][.0000.005B.0002.0304] # CYRILLIC SMALL LETTER U WITH MACRON; QQCM
-04EE ; [.1A6B.0020.0008.0423][.0000.005B.0002.0304] # CYRILLIC CAPITAL LETTER U WITH MACRON; QQCM
-045E ; [.1A6F.0020.0002.045E] # CYRILLIC SMALL LETTER SHORT U
-0443 0306 ; [.1A6F.0020.0002.045E] # CYRILLIC SMALL LETTER SHORT U
-040E ; [.1A6F.0020.0008.040E] # CYRILLIC CAPITAL LETTER SHORT U
-0423 0306 ; [.1A6F.0020.0008.040E] # CYRILLIC CAPITAL LETTER SHORT U
-04F1 ; [.1A73.0020.0002.04F1] # CYRILLIC SMALL LETTER U WITH DIAERESIS
-0443 0308 ; [.1A73.0020.0002.04F1] # CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F0 ; [.1A73.0020.0008.04F0] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-0423 0308 ; [.1A73.0020.0008.04F0] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F3 ; [.1A77.0020.0002.04F3] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-0443 030B ; [.1A77.0020.0002.04F3] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F2 ; [.1A77.0020.0008.04F2] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-0423 030B ; [.1A77.0020.0008.04F2] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04AF ; [.1A7B.0020.0002.04AF] # CYRILLIC SMALL LETTER STRAIGHT U
-04AE ; [.1A7B.0020.0008.04AE] # CYRILLIC CAPITAL LETTER STRAIGHT U
-04B1 ; [.1A7F.0020.0002.04B1] # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
-04B0 ; [.1A7F.0020.0008.04B0] # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
-A64B ; [.1A83.0020.0002.A64B] # CYRILLIC SMALL LETTER MONOGRAPH UK
-2DF9 ; [.1A83.0020.0004.2DF9] # COMBINING CYRILLIC LETTER MONOGRAPH UK; QQK
-A64A ; [.1A83.0020.0008.A64A] # CYRILLIC CAPITAL LETTER MONOGRAPH UK
-0479 ; [.1A84.0020.0002.0479] # CYRILLIC SMALL LETTER UK
-0478 ; [.1A84.0020.0008.0478] # CYRILLIC CAPITAL LETTER UK
-0444 ; [.1A88.0020.0002.0444] # CYRILLIC SMALL LETTER EF
-0424 ; [.1A88.0020.0008.0424] # CYRILLIC CAPITAL LETTER EF
-0445 ; [.1A8C.0020.0002.0445] # CYRILLIC SMALL LETTER HA
-2DEF ; [.1A8C.0020.0004.2DEF] # COMBINING CYRILLIC LETTER HA; QQK
-0425 ; [.1A8C.0020.0008.0425] # CYRILLIC CAPITAL LETTER HA
-04FD ; [.1A90.0020.0002.04FD] # CYRILLIC SMALL LETTER HA WITH HOOK
-04FC ; [.1A90.0020.0008.04FC] # CYRILLIC CAPITAL LETTER HA WITH HOOK
-04FF ; [.1A94.0020.0002.04FF] # CYRILLIC SMALL LETTER HA WITH STROKE
-04FE ; [.1A94.0020.0008.04FE] # CYRILLIC CAPITAL LETTER HA WITH STROKE
-04B3 ; [.1A98.0020.0002.04B3] # CYRILLIC SMALL LETTER HA WITH DESCENDER
-04B2 ; [.1A98.0020.0008.04B2] # CYRILLIC CAPITAL LETTER HA WITH DESCENDER
-04BB ; [.1A9C.0020.0002.04BB] # CYRILLIC SMALL LETTER SHHA
-04BA ; [.1A9C.0020.0008.04BA] # CYRILLIC CAPITAL LETTER SHHA
-0527 ; [.1AA0.0020.0002.0527] # CYRILLIC SMALL LETTER SHHA WITH DESCENDER
-0526 ; [.1AA0.0020.0008.0526] # CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
-A695 ; [.1AA1.0020.0002.A695] # CYRILLIC SMALL LETTER HWE
-A694 ; [.1AA1.0020.0008.A694] # CYRILLIC CAPITAL LETTER HWE
-0461 ; [.1AA2.0020.0002.0461] # CYRILLIC SMALL LETTER OMEGA
-0460 ; [.1AA2.0020.0008.0460] # CYRILLIC CAPITAL LETTER OMEGA
-047F ; [.1AA6.0020.0002.047F] # CYRILLIC SMALL LETTER OT
-047E ; [.1AA6.0020.0008.047E] # CYRILLIC CAPITAL LETTER OT
-A64D ; [.1AAA.0020.0002.A64D] # CYRILLIC SMALL LETTER BROAD OMEGA
-A64C ; [.1AAA.0020.0008.A64C] # CYRILLIC CAPITAL LETTER BROAD OMEGA
-047D ; [.1AAB.0020.0002.047D] # CYRILLIC SMALL LETTER OMEGA WITH TITLO
-047C ; [.1AAB.0020.0008.047C] # CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
-047B ; [.1AAF.0020.0002.047B] # CYRILLIC SMALL LETTER ROUND OMEGA
-047A ; [.1AAF.0020.0008.047A] # CYRILLIC CAPITAL LETTER ROUND OMEGA
-0446 ; [.1AB3.0020.0002.0446] # CYRILLIC SMALL LETTER TSE
-2DF0 ; [.1AB3.0020.0004.2DF0] # COMBINING CYRILLIC LETTER TSE; QQK
-0426 ; [.1AB3.0020.0008.0426] # CYRILLIC CAPITAL LETTER TSE
-A661 ; [.1AB7.0020.0002.A661] # CYRILLIC SMALL LETTER REVERSED TSE
-A660 ; [.1AB7.0020.0008.A660] # CYRILLIC CAPITAL LETTER REVERSED TSE
-A68F ; [.1AB8.0020.0002.A68F] # CYRILLIC SMALL LETTER TSWE
-A68E ; [.1AB8.0020.0008.A68E] # CYRILLIC CAPITAL LETTER TSWE
-04B5 ; [.1AB9.0020.0002.04B5] # CYRILLIC SMALL LIGATURE TE TSE
-04B4 ; [.1AB9.0020.0008.04B4] # CYRILLIC CAPITAL LIGATURE TE TSE
-A691 ; [.1ABD.0020.0002.A691] # CYRILLIC SMALL LETTER TSSE
-A690 ; [.1ABD.0020.0008.A690] # CYRILLIC CAPITAL LETTER TSSE
-0447 ; [.1ABE.0020.0002.0447] # CYRILLIC SMALL LETTER CHE
-2DF1 ; [.1ABE.0020.0004.2DF1] # COMBINING CYRILLIC LETTER CHE; QQK
-0427 ; [.1ABE.0020.0008.0427] # CYRILLIC CAPITAL LETTER CHE
-A693 ; [.1AC2.0020.0002.A693] # CYRILLIC SMALL LETTER TCHE
-A692 ; [.1AC2.0020.0008.A692] # CYRILLIC CAPITAL LETTER TCHE
-04F5 ; [.1AC3.0020.0002.04F5] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-0447 0308 ; [.1AC3.0020.0002.04F5] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F4 ; [.1AC3.0020.0008.04F4] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-0427 0308 ; [.1AC3.0020.0008.04F4] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04B7 ; [.1AC7.0020.0002.04B7] # CYRILLIC SMALL LETTER CHE WITH DESCENDER
-04B6 ; [.1AC7.0020.0008.04B6] # CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
-04CC ; [.1ACB.0020.0002.04CC] # CYRILLIC SMALL LETTER KHAKASSIAN CHE
-04CB ; [.1ACB.0020.0008.04CB] # CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
-04B9 ; [.1ACF.0020.0002.04B9] # CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
-04B8 ; [.1ACF.0020.0008.04B8] # CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
-A687 ; [.1AD3.0020.0002.A687] # CYRILLIC SMALL LETTER CCHE
-A686 ; [.1AD3.0020.0008.A686] # CYRILLIC CAPITAL LETTER CCHE
-04BD ; [.1AD4.0020.0002.04BD] # CYRILLIC SMALL LETTER ABKHASIAN CHE
-04BC ; [.1AD4.0020.0008.04BC] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE
-04BF ; [.1AD8.0020.0002.04BF] # CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
-04BE ; [.1AD8.0020.0008.04BE] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
-045F ; [.1ADC.0020.0002.045F] # CYRILLIC SMALL LETTER DZHE
-040F ; [.1ADC.0020.0008.040F] # CYRILLIC CAPITAL LETTER DZHE
-0448 ; [.1AE0.0020.0002.0448] # CYRILLIC SMALL LETTER SHA
-2DF2 ; [.1AE0.0020.0004.2DF2] # COMBINING CYRILLIC LETTER SHA; QQK
-0428 ; [.1AE0.0020.0008.0428] # CYRILLIC CAPITAL LETTER SHA
-A697 ; [.1AE4.0020.0002.A697] # CYRILLIC SMALL LETTER SHWE
-A696 ; [.1AE4.0020.0008.A696] # CYRILLIC CAPITAL LETTER SHWE
-0449 ; [.1AE5.0020.0002.0449] # CYRILLIC SMALL LETTER SHCHA
-2DF3 ; [.1AE5.0020.0004.2DF3] # COMBINING CYRILLIC LETTER SHCHA; QQK
-0429 ; [.1AE5.0020.0008.0429] # CYRILLIC CAPITAL LETTER SHCHA
-A64F ; [.1AE9.0020.0002.A64F] # CYRILLIC SMALL LETTER NEUTRAL YER
-A64E ; [.1AE9.0020.0008.A64E] # CYRILLIC CAPITAL LETTER NEUTRAL YER
-2E2F ; [.1AEA.0020.0002.2E2F] # VERTICAL TILDE
-A67F ; [.1AEB.0020.0002.A67F] # CYRILLIC PAYEROK
-044A ; [.1AEC.0020.0002.044A] # CYRILLIC SMALL LETTER HARD SIGN
-042A ; [.1AEC.0020.0008.042A] # CYRILLIC CAPITAL LETTER HARD SIGN
-A651 ; [.1AF0.0020.0002.A651] # CYRILLIC SMALL LETTER YERU WITH BACK YER
-A650 ; [.1AF0.0020.0008.A650] # CYRILLIC CAPITAL LETTER YERU WITH BACK YER
-044B ; [.1AF1.0020.0002.044B] # CYRILLIC SMALL LETTER YERU
-042B ; [.1AF1.0020.0008.042B] # CYRILLIC CAPITAL LETTER YERU
-04F9 ; [.1AF5.0020.0002.04F9] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-044B 0308 ; [.1AF5.0020.0002.04F9] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04F8 ; [.1AF5.0020.0008.04F8] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-042B 0308 ; [.1AF5.0020.0008.04F8] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-044C ; [.1AF9.0020.0002.044C] # CYRILLIC SMALL LETTER SOFT SIGN
-042C ; [.1AF9.0020.0008.042C] # CYRILLIC CAPITAL LETTER SOFT SIGN
-048D ; [.1AFD.0020.0002.048D] # CYRILLIC SMALL LETTER SEMISOFT SIGN
-048C ; [.1AFD.0020.0008.048C] # CYRILLIC CAPITAL LETTER SEMISOFT SIGN
-0463 ; [.1B01.0020.0002.0463] # CYRILLIC SMALL LETTER YAT
-2DFA ; [.1B01.0020.0004.2DFA] # COMBINING CYRILLIC LETTER YAT; QQK
-0462 ; [.1B01.0020.0008.0462] # CYRILLIC CAPITAL LETTER YAT
-A653 ; [.1B05.0020.0002.A653] # CYRILLIC SMALL LETTER IOTIFIED YAT
-A652 ; [.1B05.0020.0008.A652] # CYRILLIC CAPITAL LETTER IOTIFIED YAT
-044D ; [.1B06.0020.0002.044D] # CYRILLIC SMALL LETTER E
-042D ; [.1B06.0020.0008.042D] # CYRILLIC CAPITAL LETTER E
-04ED ; [.1B0A.0020.0002.04ED] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-044D 0308 ; [.1B0A.0020.0002.04ED] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EC ; [.1B0A.0020.0008.04EC] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-042D 0308 ; [.1B0A.0020.0008.04EC] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-044E ; [.1B0E.0020.0002.044E] # CYRILLIC SMALL LETTER YU
-2DFB ; [.1B0E.0020.0004.2DFB] # COMBINING CYRILLIC LETTER YU; QQK
-042E ; [.1B0E.0020.0008.042E] # CYRILLIC CAPITAL LETTER YU
-A655 ; [.1B12.0020.0002.A655] # CYRILLIC SMALL LETTER REVERSED YU
-A654 ; [.1B12.0020.0008.A654] # CYRILLIC CAPITAL LETTER REVERSED YU
-A657 ; [.1B13.0020.0002.A657] # CYRILLIC SMALL LETTER IOTIFIED A
-2DFC ; [.1B13.0020.0004.2DFC] # COMBINING CYRILLIC LETTER IOTIFIED A; QQK
-A656 ; [.1B13.0020.0008.A656] # CYRILLIC CAPITAL LETTER IOTIFIED A
-044F ; [.1B14.0020.0002.044F] # CYRILLIC SMALL LETTER YA
-042F ; [.1B14.0020.0008.042F] # CYRILLIC CAPITAL LETTER YA
-0519 ; [.1B18.0020.0002.0519] # CYRILLIC SMALL LETTER YAE
-0518 ; [.1B18.0020.0008.0518] # CYRILLIC CAPITAL LETTER YAE
-0465 ; [.1B19.0020.0002.0465] # CYRILLIC SMALL LETTER IOTIFIED E
-0464 ; [.1B19.0020.0008.0464] # CYRILLIC CAPITAL LETTER IOTIFIED E
-0467 ; [.1B1D.0020.0002.0467] # CYRILLIC SMALL LETTER LITTLE YUS
-2DFD ; [.1B1D.0020.0004.2DFD] # COMBINING CYRILLIC LETTER LITTLE YUS; QQK
-0466 ; [.1B1D.0020.0008.0466] # CYRILLIC CAPITAL LETTER LITTLE YUS
-A659 ; [.1B21.0020.0002.A659] # CYRILLIC SMALL LETTER CLOSED LITTLE YUS
-A658 ; [.1B21.0020.0008.A658] # CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
-046B ; [.1B22.0020.0002.046B] # CYRILLIC SMALL LETTER BIG YUS
-2DFE ; [.1B22.0020.0004.2DFE] # COMBINING CYRILLIC LETTER BIG YUS; QQK
-046A ; [.1B22.0020.0008.046A] # CYRILLIC CAPITAL LETTER BIG YUS
-A65B ; [.1B26.0020.0002.A65B] # CYRILLIC SMALL LETTER BLENDED YUS
-A65A ; [.1B26.0020.0008.A65A] # CYRILLIC CAPITAL LETTER BLENDED YUS
-0469 ; [.1B27.0020.0002.0469] # CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
-0468 ; [.1B27.0020.0008.0468] # CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
-A65D ; [.1B2B.0020.0002.A65D] # CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
-A65C ; [.1B2B.0020.0008.A65C] # CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
-046D ; [.1B2C.0020.0002.046D] # CYRILLIC SMALL LETTER IOTIFIED BIG YUS
-2DFF ; [.1B2C.0020.0004.2DFF] # COMBINING CYRILLIC LETTER IOTIFIED BIG YUS; QQK
-046C ; [.1B2C.0020.0008.046C] # CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
-046F ; [.1B30.0020.0002.046F] # CYRILLIC SMALL LETTER KSI
-046E ; [.1B30.0020.0008.046E] # CYRILLIC CAPITAL LETTER KSI
-0471 ; [.1B34.0020.0002.0471] # CYRILLIC SMALL LETTER PSI
-0470 ; [.1B34.0020.0008.0470] # CYRILLIC CAPITAL LETTER PSI
-0473 ; [.1B38.0020.0002.0473] # CYRILLIC SMALL LETTER FITA
-2DF4 ; [.1B38.0020.0004.2DF4] # COMBINING CYRILLIC LETTER FITA; QQK
-0472 ; [.1B38.0020.0008.0472] # CYRILLIC CAPITAL LETTER FITA
-0475 ; [.1B3C.0020.0002.0475] # CYRILLIC SMALL LETTER IZHITSA
-0474 ; [.1B3C.0020.0008.0474] # CYRILLIC CAPITAL LETTER IZHITSA
-0477 ; [.1B40.0020.0002.0477] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0475 030F ; [.1B40.0020.0002.0477] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0476 ; [.1B40.0020.0008.0476] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0474 030F ; [.1B40.0020.0008.0476] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-A65F ; [.1B44.0020.0002.A65F] # CYRILLIC SMALL LETTER YN
-A65E ; [.1B44.0020.0008.A65E] # CYRILLIC CAPITAL LETTER YN
-04A9 ; [.1B45.0020.0002.04A9] # CYRILLIC SMALL LETTER ABKHASIAN HA
-04A8 ; [.1B45.0020.0008.04A8] # CYRILLIC CAPITAL LETTER ABKHASIAN HA
-051D ; [.1B49.0020.0002.051D] # CYRILLIC SMALL LETTER WE
-051C ; [.1B49.0020.0008.051C] # CYRILLIC CAPITAL LETTER WE
-04CF ; [.1B4A.0020.0002.04CF] # CYRILLIC SMALL LETTER PALOCHKA
-04C0 ; [.1B4A.0020.0008.04C0] # CYRILLIC LETTER PALOCHKA
-2C30 ; [.1B4E.0020.0002.2C30] # GLAGOLITIC SMALL LETTER AZU
-2C00 ; [.1B4E.0020.0008.2C00] # GLAGOLITIC CAPITAL LETTER AZU
-2C31 ; [.1B4F.0020.0002.2C31] # GLAGOLITIC SMALL LETTER BUKY
-2C01 ; [.1B4F.0020.0008.2C01] # GLAGOLITIC CAPITAL LETTER BUKY
-2C32 ; [.1B50.0020.0002.2C32] # GLAGOLITIC SMALL LETTER VEDE
-2C02 ; [.1B50.0020.0008.2C02] # GLAGOLITIC CAPITAL LETTER VEDE
-2C33 ; [.1B51.0020.0002.2C33] # GLAGOLITIC SMALL LETTER GLAGOLI
-2C03 ; [.1B51.0020.0008.2C03] # GLAGOLITIC CAPITAL LETTER GLAGOLI
-2C34 ; [.1B52.0020.0002.2C34] # GLAGOLITIC SMALL LETTER DOBRO
-2C04 ; [.1B52.0020.0008.2C04] # GLAGOLITIC CAPITAL LETTER DOBRO
-2C35 ; [.1B53.0020.0002.2C35] # GLAGOLITIC SMALL LETTER YESTU
-2C05 ; [.1B53.0020.0008.2C05] # GLAGOLITIC CAPITAL LETTER YESTU
-2C36 ; [.1B54.0020.0002.2C36] # GLAGOLITIC SMALL LETTER ZHIVETE
-2C06 ; [.1B54.0020.0008.2C06] # GLAGOLITIC CAPITAL LETTER ZHIVETE
-2C37 ; [.1B55.0020.0002.2C37] # GLAGOLITIC SMALL LETTER DZELO
-2C07 ; [.1B55.0020.0008.2C07] # GLAGOLITIC CAPITAL LETTER DZELO
-2C38 ; [.1B56.0020.0002.2C38] # GLAGOLITIC SMALL LETTER ZEMLJA
-2C08 ; [.1B56.0020.0008.2C08] # GLAGOLITIC CAPITAL LETTER ZEMLJA
-2C39 ; [.1B57.0020.0002.2C39] # GLAGOLITIC SMALL LETTER IZHE
-2C09 ; [.1B57.0020.0008.2C09] # GLAGOLITIC CAPITAL LETTER IZHE
-2C3A ; [.1B58.0020.0002.2C3A] # GLAGOLITIC SMALL LETTER INITIAL IZHE
-2C0A ; [.1B58.0020.0008.2C0A] # GLAGOLITIC CAPITAL LETTER INITIAL IZHE
-2C3B ; [.1B59.0020.0002.2C3B] # GLAGOLITIC SMALL LETTER I
-2C0B ; [.1B59.0020.0008.2C0B] # GLAGOLITIC CAPITAL LETTER I
-2C3C ; [.1B5A.0020.0002.2C3C] # GLAGOLITIC SMALL LETTER DJERVI
-2C0C ; [.1B5A.0020.0008.2C0C] # GLAGOLITIC CAPITAL LETTER DJERVI
-2C3D ; [.1B5B.0020.0002.2C3D] # GLAGOLITIC SMALL LETTER KAKO
-2C0D ; [.1B5B.0020.0008.2C0D] # GLAGOLITIC CAPITAL LETTER KAKO
-2C3E ; [.1B5C.0020.0002.2C3E] # GLAGOLITIC SMALL LETTER LJUDIJE
-2C0E ; [.1B5C.0020.0008.2C0E] # GLAGOLITIC CAPITAL LETTER LJUDIJE
-2C3F ; [.1B5D.0020.0002.2C3F] # GLAGOLITIC SMALL LETTER MYSLITE
-2C0F ; [.1B5D.0020.0008.2C0F] # GLAGOLITIC CAPITAL LETTER MYSLITE
-2C40 ; [.1B5E.0020.0002.2C40] # GLAGOLITIC SMALL LETTER NASHI
-2C10 ; [.1B5E.0020.0008.2C10] # GLAGOLITIC CAPITAL LETTER NASHI
-2C41 ; [.1B5F.0020.0002.2C41] # GLAGOLITIC SMALL LETTER ONU
-2C11 ; [.1B5F.0020.0008.2C11] # GLAGOLITIC CAPITAL LETTER ONU
-2C42 ; [.1B60.0020.0002.2C42] # GLAGOLITIC SMALL LETTER POKOJI
-2C12 ; [.1B60.0020.0008.2C12] # GLAGOLITIC CAPITAL LETTER POKOJI
-2C43 ; [.1B61.0020.0002.2C43] # GLAGOLITIC SMALL LETTER RITSI
-2C13 ; [.1B61.0020.0008.2C13] # GLAGOLITIC CAPITAL LETTER RITSI
-2C44 ; [.1B62.0020.0002.2C44] # GLAGOLITIC SMALL LETTER SLOVO
-2C14 ; [.1B62.0020.0008.2C14] # GLAGOLITIC CAPITAL LETTER SLOVO
-2C45 ; [.1B63.0020.0002.2C45] # GLAGOLITIC SMALL LETTER TVRIDO
-2C15 ; [.1B63.0020.0008.2C15] # GLAGOLITIC CAPITAL LETTER TVRIDO
-2C46 ; [.1B64.0020.0002.2C46] # GLAGOLITIC SMALL LETTER UKU
-2C16 ; [.1B64.0020.0008.2C16] # GLAGOLITIC CAPITAL LETTER UKU
-2C47 ; [.1B65.0020.0002.2C47] # GLAGOLITIC SMALL LETTER FRITU
-2C17 ; [.1B65.0020.0008.2C17] # GLAGOLITIC CAPITAL LETTER FRITU
-2C48 ; [.1B66.0020.0002.2C48] # GLAGOLITIC SMALL LETTER HERU
-2C18 ; [.1B66.0020.0008.2C18] # GLAGOLITIC CAPITAL LETTER HERU
-2C49 ; [.1B67.0020.0002.2C49] # GLAGOLITIC SMALL LETTER OTU
-2C19 ; [.1B67.0020.0008.2C19] # GLAGOLITIC CAPITAL LETTER OTU
-2C4A ; [.1B68.0020.0002.2C4A] # GLAGOLITIC SMALL LETTER PE
-2C1A ; [.1B68.0020.0008.2C1A] # GLAGOLITIC CAPITAL LETTER PE
-2C4B ; [.1B69.0020.0002.2C4B] # GLAGOLITIC SMALL LETTER SHTA
-2C1B ; [.1B69.0020.0008.2C1B] # GLAGOLITIC CAPITAL LETTER SHTA
-2C4C ; [.1B6A.0020.0002.2C4C] # GLAGOLITIC SMALL LETTER TSI
-2C1C ; [.1B6A.0020.0008.2C1C] # GLAGOLITIC CAPITAL LETTER TSI
-2C4D ; [.1B6B.0020.0002.2C4D] # GLAGOLITIC SMALL LETTER CHRIVI
-2C1D ; [.1B6B.0020.0008.2C1D] # GLAGOLITIC CAPITAL LETTER CHRIVI
-2C4E ; [.1B6C.0020.0002.2C4E] # GLAGOLITIC SMALL LETTER SHA
-2C1E ; [.1B6C.0020.0008.2C1E] # GLAGOLITIC CAPITAL LETTER SHA
-2C4F ; [.1B6D.0020.0002.2C4F] # GLAGOLITIC SMALL LETTER YERU
-2C1F ; [.1B6D.0020.0008.2C1F] # GLAGOLITIC CAPITAL LETTER YERU
-2C50 ; [.1B6E.0020.0002.2C50] # GLAGOLITIC SMALL LETTER YERI
-2C20 ; [.1B6E.0020.0008.2C20] # GLAGOLITIC CAPITAL LETTER YERI
-2C51 ; [.1B6F.0020.0002.2C51] # GLAGOLITIC SMALL LETTER YATI
-2C21 ; [.1B6F.0020.0008.2C21] # GLAGOLITIC CAPITAL LETTER YATI
-2C52 ; [.1B70.0020.0002.2C52] # GLAGOLITIC SMALL LETTER SPIDERY HA
-2C22 ; [.1B70.0020.0008.2C22] # GLAGOLITIC CAPITAL LETTER SPIDERY HA
-2C53 ; [.1B71.0020.0002.2C53] # GLAGOLITIC SMALL LETTER YU
-2C23 ; [.1B71.0020.0008.2C23] # GLAGOLITIC CAPITAL LETTER YU
-2C54 ; [.1B72.0020.0002.2C54] # GLAGOLITIC SMALL LETTER SMALL YUS
-2C24 ; [.1B72.0020.0008.2C24] # GLAGOLITIC CAPITAL LETTER SMALL YUS
-2C55 ; [.1B73.0020.0002.2C55] # GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL
-2C25 ; [.1B73.0020.0008.2C25] # GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL
-2C56 ; [.1B74.0020.0002.2C56] # GLAGOLITIC SMALL LETTER YO
-2C26 ; [.1B74.0020.0008.2C26] # GLAGOLITIC CAPITAL LETTER YO
-2C57 ; [.1B75.0020.0002.2C57] # GLAGOLITIC SMALL LETTER IOTATED SMALL YUS
-2C27 ; [.1B75.0020.0008.2C27] # GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS
-2C58 ; [.1B76.0020.0002.2C58] # GLAGOLITIC SMALL LETTER BIG YUS
-2C28 ; [.1B76.0020.0008.2C28] # GLAGOLITIC CAPITAL LETTER BIG YUS
-2C59 ; [.1B77.0020.0002.2C59] # GLAGOLITIC SMALL LETTER IOTATED BIG YUS
-2C29 ; [.1B77.0020.0008.2C29] # GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS
-2C5A ; [.1B78.0020.0002.2C5A] # GLAGOLITIC SMALL LETTER FITA
-2C2A ; [.1B78.0020.0008.2C2A] # GLAGOLITIC CAPITAL LETTER FITA
-2C5B ; [.1B79.0020.0002.2C5B] # GLAGOLITIC SMALL LETTER IZHITSA
-2C2B ; [.1B79.0020.0008.2C2B] # GLAGOLITIC CAPITAL LETTER IZHITSA
-2C5C ; [.1B7A.0020.0002.2C5C] # GLAGOLITIC SMALL LETTER SHTAPIC
-2C2C ; [.1B7A.0020.0008.2C2C] # GLAGOLITIC CAPITAL LETTER SHTAPIC
-2C5D ; [.1B7B.0020.0002.2C5D] # GLAGOLITIC SMALL LETTER TROKUTASTI A
-2C2D ; [.1B7B.0020.0008.2C2D] # GLAGOLITIC CAPITAL LETTER TROKUTASTI A
-2C5E ; [.1B7C.0020.0002.2C5E] # GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C2E ; [.1B7C.0020.0008.2C2E] # GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-10D0 ; [.1B7D.0020.0002.10D0] # GEORGIAN LETTER AN
-2D00 ; [.1B7E.0020.0002.2D00] # GEORGIAN SMALL LETTER AN
-10A0 ; [.1B7E.0020.0008.10A0] # GEORGIAN CAPITAL LETTER AN
-10D1 ; [.1B7F.0020.0002.10D1] # GEORGIAN LETTER BAN
-2D01 ; [.1B80.0020.0002.2D01] # GEORGIAN SMALL LETTER BAN
-10A1 ; [.1B80.0020.0008.10A1] # GEORGIAN CAPITAL LETTER BAN
-10D2 ; [.1B81.0020.0002.10D2] # GEORGIAN LETTER GAN
-2D02 ; [.1B82.0020.0002.2D02] # GEORGIAN SMALL LETTER GAN
-10A2 ; [.1B82.0020.0008.10A2] # GEORGIAN CAPITAL LETTER GAN
-10D3 ; [.1B83.0020.0002.10D3] # GEORGIAN LETTER DON
-2D03 ; [.1B84.0020.0002.2D03] # GEORGIAN SMALL LETTER DON
-10A3 ; [.1B84.0020.0008.10A3] # GEORGIAN CAPITAL LETTER DON
-10D4 ; [.1B85.0020.0002.10D4] # GEORGIAN LETTER EN
-2D04 ; [.1B86.0020.0002.2D04] # GEORGIAN SMALL LETTER EN
-10A4 ; [.1B86.0020.0008.10A4] # GEORGIAN CAPITAL LETTER EN
-10D5 ; [.1B87.0020.0002.10D5] # GEORGIAN LETTER VIN
-2D05 ; [.1B88.0020.0002.2D05] # GEORGIAN SMALL LETTER VIN
-10A5 ; [.1B88.0020.0008.10A5] # GEORGIAN CAPITAL LETTER VIN
-10D6 ; [.1B89.0020.0002.10D6] # GEORGIAN LETTER ZEN
-2D06 ; [.1B8A.0020.0002.2D06] # GEORGIAN SMALL LETTER ZEN
-10A6 ; [.1B8A.0020.0008.10A6] # GEORGIAN CAPITAL LETTER ZEN
-10F1 ; [.1B8B.0020.0002.10F1] # GEORGIAN LETTER HE
-2D21 ; [.1B8C.0020.0002.2D21] # GEORGIAN SMALL LETTER HE
-10C1 ; [.1B8C.0020.0008.10C1] # GEORGIAN CAPITAL LETTER HE
-10D7 ; [.1B8D.0020.0002.10D7] # GEORGIAN LETTER TAN
-2D07 ; [.1B8E.0020.0002.2D07] # GEORGIAN SMALL LETTER TAN
-10A7 ; [.1B8E.0020.0008.10A7] # GEORGIAN CAPITAL LETTER TAN
-10D8 ; [.1B8F.0020.0002.10D8] # GEORGIAN LETTER IN
-2D08 ; [.1B90.0020.0002.2D08] # GEORGIAN SMALL LETTER IN
-10A8 ; [.1B90.0020.0008.10A8] # GEORGIAN CAPITAL LETTER IN
-10D9 ; [.1B91.0020.0002.10D9] # GEORGIAN LETTER KAN
-2D09 ; [.1B92.0020.0002.2D09] # GEORGIAN SMALL LETTER KAN
-10A9 ; [.1B92.0020.0008.10A9] # GEORGIAN CAPITAL LETTER KAN
-10DA ; [.1B93.0020.0002.10DA] # GEORGIAN LETTER LAS
-2D0A ; [.1B94.0020.0002.2D0A] # GEORGIAN SMALL LETTER LAS
-10AA ; [.1B94.0020.0008.10AA] # GEORGIAN CAPITAL LETTER LAS
-10DB ; [.1B95.0020.0002.10DB] # GEORGIAN LETTER MAN
-2D0B ; [.1B96.0020.0002.2D0B] # GEORGIAN SMALL LETTER MAN
-10AB ; [.1B96.0020.0008.10AB] # GEORGIAN CAPITAL LETTER MAN
-10DC ; [.1B97.0020.0002.10DC] # GEORGIAN LETTER NAR
-10FC ; [.1B97.0020.0014.10FC] # MODIFIER LETTER GEORGIAN NAR; QQK
-2D0C ; [.1B98.0020.0002.2D0C] # GEORGIAN SMALL LETTER NAR
-10AC ; [.1B98.0020.0008.10AC] # GEORGIAN CAPITAL LETTER NAR
-10F2 ; [.1B99.0020.0002.10F2] # GEORGIAN LETTER HIE
-2D22 ; [.1B9A.0020.0002.2D22] # GEORGIAN SMALL LETTER HIE
-10C2 ; [.1B9A.0020.0008.10C2] # GEORGIAN CAPITAL LETTER HIE
-10DD ; [.1B9B.0020.0002.10DD] # GEORGIAN LETTER ON
-2D0D ; [.1B9C.0020.0002.2D0D] # GEORGIAN SMALL LETTER ON
-10AD ; [.1B9C.0020.0008.10AD] # GEORGIAN CAPITAL LETTER ON
-10DE ; [.1B9D.0020.0002.10DE] # GEORGIAN LETTER PAR
-2D0E ; [.1B9E.0020.0002.2D0E] # GEORGIAN SMALL LETTER PAR
-10AE ; [.1B9E.0020.0008.10AE] # GEORGIAN CAPITAL LETTER PAR
-10DF ; [.1B9F.0020.0002.10DF] # GEORGIAN LETTER ZHAR
-2D0F ; [.1BA0.0020.0002.2D0F] # GEORGIAN SMALL LETTER ZHAR
-10AF ; [.1BA0.0020.0008.10AF] # GEORGIAN CAPITAL LETTER ZHAR
-10E0 ; [.1BA1.0020.0002.10E0] # GEORGIAN LETTER RAE
-2D10 ; [.1BA2.0020.0002.2D10] # GEORGIAN SMALL LETTER RAE
-10B0 ; [.1BA2.0020.0008.10B0] # GEORGIAN CAPITAL LETTER RAE
-10E1 ; [.1BA3.0020.0002.10E1] # GEORGIAN LETTER SAN
-2D11 ; [.1BA4.0020.0002.2D11] # GEORGIAN SMALL LETTER SAN
-10B1 ; [.1BA4.0020.0008.10B1] # GEORGIAN CAPITAL LETTER SAN
-10E2 ; [.1BA5.0020.0002.10E2] # GEORGIAN LETTER TAR
-2D12 ; [.1BA6.0020.0002.2D12] # GEORGIAN SMALL LETTER TAR
-10B2 ; [.1BA6.0020.0008.10B2] # GEORGIAN CAPITAL LETTER TAR
-10F3 ; [.1BA7.0020.0002.10F3] # GEORGIAN LETTER WE
-2D23 ; [.1BA8.0020.0002.2D23] # GEORGIAN SMALL LETTER WE
-10C3 ; [.1BA8.0020.0008.10C3] # GEORGIAN CAPITAL LETTER WE
-10E3 ; [.1BA9.0020.0002.10E3] # GEORGIAN LETTER UN
-2D13 ; [.1BAA.0020.0002.2D13] # GEORGIAN SMALL LETTER UN
-10B3 ; [.1BAA.0020.0008.10B3] # GEORGIAN CAPITAL LETTER UN
-10E4 ; [.1BAB.0020.0002.10E4] # GEORGIAN LETTER PHAR
-2D14 ; [.1BAC.0020.0002.2D14] # GEORGIAN SMALL LETTER PHAR
-10B4 ; [.1BAC.0020.0008.10B4] # GEORGIAN CAPITAL LETTER PHAR
-10E5 ; [.1BAD.0020.0002.10E5] # GEORGIAN LETTER KHAR
-2D15 ; [.1BAE.0020.0002.2D15] # GEORGIAN SMALL LETTER KHAR
-10B5 ; [.1BAE.0020.0008.10B5] # GEORGIAN CAPITAL LETTER KHAR
-10E6 ; [.1BAF.0020.0002.10E6] # GEORGIAN LETTER GHAN
-2D16 ; [.1BB0.0020.0002.2D16] # GEORGIAN SMALL LETTER GHAN
-10B6 ; [.1BB0.0020.0008.10B6] # GEORGIAN CAPITAL LETTER GHAN
-10E7 ; [.1BB1.0020.0002.10E7] # GEORGIAN LETTER QAR
-2D17 ; [.1BB2.0020.0002.2D17] # GEORGIAN SMALL LETTER QAR
-10B7 ; [.1BB2.0020.0008.10B7] # GEORGIAN CAPITAL LETTER QAR
-10E8 ; [.1BB3.0020.0002.10E8] # GEORGIAN LETTER SHIN
-2D18 ; [.1BB4.0020.0002.2D18] # GEORGIAN SMALL LETTER SHIN
-10B8 ; [.1BB4.0020.0008.10B8] # GEORGIAN CAPITAL LETTER SHIN
-10E9 ; [.1BB5.0020.0002.10E9] # GEORGIAN LETTER CHIN
-2D19 ; [.1BB6.0020.0002.2D19] # GEORGIAN SMALL LETTER CHIN
-10B9 ; [.1BB6.0020.0008.10B9] # GEORGIAN CAPITAL LETTER CHIN
-10EA ; [.1BB7.0020.0002.10EA] # GEORGIAN LETTER CAN
-2D1A ; [.1BB8.0020.0002.2D1A] # GEORGIAN SMALL LETTER CAN
-10BA ; [.1BB8.0020.0008.10BA] # GEORGIAN CAPITAL LETTER CAN
-10EB ; [.1BB9.0020.0002.10EB] # GEORGIAN LETTER JIL
-2D1B ; [.1BBA.0020.0002.2D1B] # GEORGIAN SMALL LETTER JIL
-10BB ; [.1BBA.0020.0008.10BB] # GEORGIAN CAPITAL LETTER JIL
-10EC ; [.1BBB.0020.0002.10EC] # GEORGIAN LETTER CIL
-2D1C ; [.1BBC.0020.0002.2D1C] # GEORGIAN SMALL LETTER CIL
-10BC ; [.1BBC.0020.0008.10BC] # GEORGIAN CAPITAL LETTER CIL
-10ED ; [.1BBD.0020.0002.10ED] # GEORGIAN LETTER CHAR
-2D1D ; [.1BBE.0020.0002.2D1D] # GEORGIAN SMALL LETTER CHAR
-10BD ; [.1BBE.0020.0008.10BD] # GEORGIAN CAPITAL LETTER CHAR
-10EE ; [.1BBF.0020.0002.10EE] # GEORGIAN LETTER XAN
-2D1E ; [.1BC0.0020.0002.2D1E] # GEORGIAN SMALL LETTER XAN
-10BE ; [.1BC0.0020.0008.10BE] # GEORGIAN CAPITAL LETTER XAN
-10F4 ; [.1BC1.0020.0002.10F4] # GEORGIAN LETTER HAR
-2D24 ; [.1BC2.0020.0002.2D24] # GEORGIAN SMALL LETTER HAR
-10C4 ; [.1BC2.0020.0008.10C4] # GEORGIAN CAPITAL LETTER HAR
-10EF ; [.1BC3.0020.0002.10EF] # GEORGIAN LETTER JHAN
-2D1F ; [.1BC4.0020.0002.2D1F] # GEORGIAN SMALL LETTER JHAN
-10BF ; [.1BC4.0020.0008.10BF] # GEORGIAN CAPITAL LETTER JHAN
-10F0 ; [.1BC5.0020.0002.10F0] # GEORGIAN LETTER HAE
-2D20 ; [.1BC6.0020.0002.2D20] # GEORGIAN SMALL LETTER HAE
-10C0 ; [.1BC6.0020.0008.10C0] # GEORGIAN CAPITAL LETTER HAE
-10F5 ; [.1BC7.0020.0002.10F5] # GEORGIAN LETTER HOE
-2D25 ; [.1BC8.0020.0002.2D25] # GEORGIAN SMALL LETTER HOE
-10C5 ; [.1BC8.0020.0008.10C5] # GEORGIAN CAPITAL LETTER HOE
-10F6 ; [.1BC9.0020.0002.10F6] # GEORGIAN LETTER FI
-10F7 ; [.1BCA.0020.0002.10F7] # GEORGIAN LETTER YN
-10F8 ; [.1BCB.0020.0002.10F8] # GEORGIAN LETTER ELIFI
-10F9 ; [.1BCC.0020.0002.10F9] # GEORGIAN LETTER TURNED GAN
-10FA ; [.1BCD.0020.0002.10FA] # GEORGIAN LETTER AIN
-0561 ; [.1BCE.0020.0002.0561] # ARMENIAN SMALL LETTER AYB
-0531 ; [.1BCE.0020.0008.0531] # ARMENIAN CAPITAL LETTER AYB
-0562 ; [.1BCF.0020.0002.0562] # ARMENIAN SMALL LETTER BEN
-0532 ; [.1BCF.0020.0008.0532] # ARMENIAN CAPITAL LETTER BEN
-0563 ; [.1BD0.0020.0002.0563] # ARMENIAN SMALL LETTER GIM
-0533 ; [.1BD0.0020.0008.0533] # ARMENIAN CAPITAL LETTER GIM
-0564 ; [.1BD1.0020.0002.0564] # ARMENIAN SMALL LETTER DA
-0534 ; [.1BD1.0020.0008.0534] # ARMENIAN CAPITAL LETTER DA
-0565 ; [.1BD2.0020.0002.0565] # ARMENIAN SMALL LETTER ECH
-0535 ; [.1BD2.0020.0008.0535] # ARMENIAN CAPITAL LETTER ECH
-0587 ; [.1BD2.0020.0004.0587][.1BEF.0020.0004.0587] # ARMENIAN SMALL LIGATURE ECH YIWN; QQKN
-0566 ; [.1BD3.0020.0002.0566] # ARMENIAN SMALL LETTER ZA
-0536 ; [.1BD3.0020.0008.0536] # ARMENIAN CAPITAL LETTER ZA
-0567 ; [.1BD4.0020.0002.0567] # ARMENIAN SMALL LETTER EH
-0537 ; [.1BD4.0020.0008.0537] # ARMENIAN CAPITAL LETTER EH
-0568 ; [.1BD5.0020.0002.0568] # ARMENIAN SMALL LETTER ET
-0538 ; [.1BD5.0020.0008.0538] # ARMENIAN CAPITAL LETTER ET
-0569 ; [.1BD6.0020.0002.0569] # ARMENIAN SMALL LETTER TO
-0539 ; [.1BD6.0020.0008.0539] # ARMENIAN CAPITAL LETTER TO
-056A ; [.1BD7.0020.0002.056A] # ARMENIAN SMALL LETTER ZHE
-053A ; [.1BD7.0020.0008.053A] # ARMENIAN CAPITAL LETTER ZHE
-056B ; [.1BD8.0020.0002.056B] # ARMENIAN SMALL LETTER INI
-053B ; [.1BD8.0020.0008.053B] # ARMENIAN CAPITAL LETTER INI
-056C ; [.1BD9.0020.0002.056C] # ARMENIAN SMALL LETTER LIWN
-053C ; [.1BD9.0020.0008.053C] # ARMENIAN CAPITAL LETTER LIWN
-056D ; [.1BDA.0020.0002.056D] # ARMENIAN SMALL LETTER XEH
-053D ; [.1BDA.0020.0008.053D] # ARMENIAN CAPITAL LETTER XEH
-056E ; [.1BDB.0020.0002.056E] # ARMENIAN SMALL LETTER CA
-053E ; [.1BDB.0020.0008.053E] # ARMENIAN CAPITAL LETTER CA
-056F ; [.1BDC.0020.0002.056F] # ARMENIAN SMALL LETTER KEN
-053F ; [.1BDC.0020.0008.053F] # ARMENIAN CAPITAL LETTER KEN
-0570 ; [.1BDD.0020.0002.0570] # ARMENIAN SMALL LETTER HO
-0540 ; [.1BDD.0020.0008.0540] # ARMENIAN CAPITAL LETTER HO
-0571 ; [.1BDE.0020.0002.0571] # ARMENIAN SMALL LETTER JA
-0541 ; [.1BDE.0020.0008.0541] # ARMENIAN CAPITAL LETTER JA
-0572 ; [.1BDF.0020.0002.0572] # ARMENIAN SMALL LETTER GHAD
-0542 ; [.1BDF.0020.0008.0542] # ARMENIAN CAPITAL LETTER GHAD
-0573 ; [.1BE0.0020.0002.0573] # ARMENIAN SMALL LETTER CHEH
-0543 ; [.1BE0.0020.0008.0543] # ARMENIAN CAPITAL LETTER CHEH
-0574 ; [.1BE1.0020.0002.0574] # ARMENIAN SMALL LETTER MEN
-0544 ; [.1BE1.0020.0008.0544] # ARMENIAN CAPITAL LETTER MEN
-FB14 ; [.1BE1.0020.0004.FB14][.1BD2.0020.0004.FB14] # ARMENIAN SMALL LIGATURE MEN ECH; QQKN
-FB15 ; [.1BE1.0020.0004.FB15][.1BD8.0020.0004.FB15] # ARMENIAN SMALL LIGATURE MEN INI; QQKN
-FB17 ; [.1BE1.0020.0004.FB17][.1BDA.0020.0004.FB17] # ARMENIAN SMALL LIGATURE MEN XEH; QQKN
-FB13 ; [.1BE1.0020.0004.FB13][.1BE3.0020.0004.FB13] # ARMENIAN SMALL LIGATURE MEN NOW; QQKN
-0575 ; [.1BE2.0020.0002.0575] # ARMENIAN SMALL LETTER YI
-0545 ; [.1BE2.0020.0008.0545] # ARMENIAN CAPITAL LETTER YI
-0576 ; [.1BE3.0020.0002.0576] # ARMENIAN SMALL LETTER NOW
-0546 ; [.1BE3.0020.0008.0546] # ARMENIAN CAPITAL LETTER NOW
-0577 ; [.1BE4.0020.0002.0577] # ARMENIAN SMALL LETTER SHA
-0547 ; [.1BE4.0020.0008.0547] # ARMENIAN CAPITAL LETTER SHA
-0578 ; [.1BE5.0020.0002.0578] # ARMENIAN SMALL LETTER VO
-0548 ; [.1BE5.0020.0008.0548] # ARMENIAN CAPITAL LETTER VO
-0579 ; [.1BE6.0020.0002.0579] # ARMENIAN SMALL LETTER CHA
-0549 ; [.1BE6.0020.0008.0549] # ARMENIAN CAPITAL LETTER CHA
-057A ; [.1BE7.0020.0002.057A] # ARMENIAN SMALL LETTER PEH
-054A ; [.1BE7.0020.0008.054A] # ARMENIAN CAPITAL LETTER PEH
-057B ; [.1BE8.0020.0002.057B] # ARMENIAN SMALL LETTER JHEH
-054B ; [.1BE8.0020.0008.054B] # ARMENIAN CAPITAL LETTER JHEH
-057C ; [.1BE9.0020.0002.057C] # ARMENIAN SMALL LETTER RA
-054C ; [.1BE9.0020.0008.054C] # ARMENIAN CAPITAL LETTER RA
-057D ; [.1BEA.0020.0002.057D] # ARMENIAN SMALL LETTER SEH
-054D ; [.1BEA.0020.0008.054D] # ARMENIAN CAPITAL LETTER SEH
-057E ; [.1BEB.0020.0002.057E] # ARMENIAN SMALL LETTER VEW
-054E ; [.1BEB.0020.0008.054E] # ARMENIAN CAPITAL LETTER VEW
-FB16 ; [.1BEB.0020.0004.FB16][.1BE3.0020.0004.FB16] # ARMENIAN SMALL LIGATURE VEW NOW; QQKN
-057F ; [.1BEC.0020.0002.057F] # ARMENIAN SMALL LETTER TIWN
-054F ; [.1BEC.0020.0008.054F] # ARMENIAN CAPITAL LETTER TIWN
-0580 ; [.1BED.0020.0002.0580] # ARMENIAN SMALL LETTER REH
-0550 ; [.1BED.0020.0008.0550] # ARMENIAN CAPITAL LETTER REH
-0581 ; [.1BEE.0020.0002.0581] # ARMENIAN SMALL LETTER CO
-0551 ; [.1BEE.0020.0008.0551] # ARMENIAN CAPITAL LETTER CO
-0582 ; [.1BEF.0020.0002.0582] # ARMENIAN SMALL LETTER YIWN
-0552 ; [.1BEF.0020.0008.0552] # ARMENIAN CAPITAL LETTER YIWN
-0583 ; [.1BF0.0020.0002.0583] # ARMENIAN SMALL LETTER PIWR
-0553 ; [.1BF0.0020.0008.0553] # ARMENIAN CAPITAL LETTER PIWR
-0584 ; [.1BF1.0020.0002.0584] # ARMENIAN SMALL LETTER KEH
-0554 ; [.1BF1.0020.0008.0554] # ARMENIAN CAPITAL LETTER KEH
-0585 ; [.1BF2.0020.0002.0585] # ARMENIAN SMALL LETTER OH
-0555 ; [.1BF2.0020.0008.0555] # ARMENIAN CAPITAL LETTER OH
-0586 ; [.1BF3.0020.0002.0586] # ARMENIAN SMALL LETTER FEH
-0556 ; [.1BF3.0020.0008.0556] # ARMENIAN CAPITAL LETTER FEH
-0559 ; [.1BF4.0020.0002.0559] # ARMENIAN MODIFIER LETTER LEFT HALF RING
-05D0 ; [.1BF5.0020.0002.05D0] # HEBREW LETTER ALEF
-2135 ; [.1BF5.0020.0004.2135] # ALEF SYMBOL; QQK
-FB21 ; [.1BF5.0020.0005.FB21] # HEBREW LETTER WIDE ALEF; QQK
-FB2E ; [.1BF5.0020.0002.05D0][.0000.008C.0002.05B7] # HEBREW LETTER ALEF WITH PATAH; QQCM
-FB2F ; [.1BF5.0020.0002.05D0][.0000.008D.0002.05B8] # HEBREW LETTER ALEF WITH QAMATS; QQCM
-FB30 ; [.1BF5.0020.0002.05D0][.0000.0092.0002.05BC] # HEBREW LETTER ALEF WITH MAPIQ; QQCM
-FB4F ; [.1BF5.0020.0004.FB4F][.1C00.0020.0004.FB4F] # HEBREW LIGATURE ALEF LAMED; QQKN
-05D1 ; [.1BF6.0020.0002.05D1] # HEBREW LETTER BET
-2136 ; [.1BF6.0020.0004.2136] # BET SYMBOL; QQK
-FB31 ; [.1BF6.0020.0002.05D1][.0000.0092.0002.05BC] # HEBREW LETTER BET WITH DAGESH; QQCM
-FB4C ; [.1BF6.0020.0002.05D1][.0000.0095.0002.05BF] # HEBREW LETTER BET WITH RAFE; QQCM
-05D2 ; [.1BF7.0020.0002.05D2] # HEBREW LETTER GIMEL
-2137 ; [.1BF7.0020.0004.2137] # GIMEL SYMBOL; QQK
-FB32 ; [.1BF7.0020.0002.05D2][.0000.0092.0002.05BC] # HEBREW LETTER GIMEL WITH DAGESH; QQCM
-05D3 ; [.1BF8.0020.0002.05D3] # HEBREW LETTER DALET
-2138 ; [.1BF8.0020.0004.2138] # DALET SYMBOL; QQK
-FB22 ; [.1BF8.0020.0005.FB22] # HEBREW LETTER WIDE DALET; QQK
-FB33 ; [.1BF8.0020.0002.05D3][.0000.0092.0002.05BC] # HEBREW LETTER DALET WITH DAGESH; QQCM
-05D4 ; [.1BF9.0020.0002.05D4] # HEBREW LETTER HE
-FB23 ; [.1BF9.0020.0005.FB23] # HEBREW LETTER WIDE HE; QQK
-FB34 ; [.1BF9.0020.0002.05D4][.0000.0092.0002.05BC] # HEBREW LETTER HE WITH MAPIQ; QQCM
-05D5 ; [.1BFA.0020.0002.05D5] # HEBREW LETTER VAV
-FB4B ; [.1BFA.0020.0002.05D5][.0000.008E.0002.05B9] # HEBREW LETTER VAV WITH HOLAM; QQCM
-FB35 ; [.1BFA.0020.0002.05D5][.0000.0092.0002.05BC] # HEBREW LETTER VAV WITH DAGESH; QQCM
-05F0 ; [.1BFA.0020.0004.05F0][.1BFA.0020.0004.05F0] # HEBREW LIGATURE YIDDISH DOUBLE VAV; QQKN
-05F1 ; [.1BFA.0020.0004.05F1][.1BFE.0020.0004.05F1] # HEBREW LIGATURE YIDDISH VAV YOD; QQKN
-05D6 ; [.1BFB.0020.0002.05D6] # HEBREW LETTER ZAYIN
-FB36 ; [.1BFB.0020.0002.05D6][.0000.0092.0002.05BC] # HEBREW LETTER ZAYIN WITH DAGESH; QQCM
-05D7 ; [.1BFC.0020.0002.05D7] # HEBREW LETTER HET
-05D8 ; [.1BFD.0020.0002.05D8] # HEBREW LETTER TET
-FB38 ; [.1BFD.0020.0002.05D8][.0000.0092.0002.05BC] # HEBREW LETTER TET WITH DAGESH; QQCM
-05D9 ; [.1BFE.0020.0002.05D9] # HEBREW LETTER YOD
-FB1D ; [.1BFE.0020.0002.05D9][.0000.0089.0002.05B4] # HEBREW LETTER YOD WITH HIRIQ; QQCM
-FB39 ; [.1BFE.0020.0002.05D9][.0000.0092.0002.05BC] # HEBREW LETTER YOD WITH DAGESH; QQCM
-05F2 ; [.1BFE.0020.0004.05F2][.1BFE.0020.0004.05F2] # HEBREW LIGATURE YIDDISH DOUBLE YOD; QQKN
-FB1F ; [.1BFE.0020.0004.FB1F][.1BFE.0020.0004.FB1F][.0000.008C.0002.FB1F] # HEBREW LIGATURE YIDDISH YOD YOD PATAH; QQKN
-05DB ; [.1BFF.0020.0002.05DB] # HEBREW LETTER KAF
-FB24 ; [.1BFF.0020.0005.FB24] # HEBREW LETTER WIDE KAF; QQK
-05DA ; [.1BFF.0020.0019.05DA] # HEBREW LETTER FINAL KAF; QQK
-FB3B ; [.1BFF.0020.0002.05DB][.0000.0092.0002.05BC] # HEBREW LETTER KAF WITH DAGESH; QQCM
-FB3A ; [.1BFF.0020.0019.FB3A][.0000.0092.0002.FB3A] # HEBREW LETTER FINAL KAF WITH DAGESH; QQKN
-FB4D ; [.1BFF.0020.0002.05DB][.0000.0095.0002.05BF] # HEBREW LETTER KAF WITH RAFE; QQCM
-05DC ; [.1C00.0020.0002.05DC] # HEBREW LETTER LAMED
-FB25 ; [.1C00.0020.0005.FB25] # HEBREW LETTER WIDE LAMED; QQK
-FB3C ; [.1C00.0020.0002.05DC][.0000.0092.0002.05BC] # HEBREW LETTER LAMED WITH DAGESH; QQCM
-05DE ; [.1C01.0020.0002.05DE] # HEBREW LETTER MEM
-FB26 ; [.1C01.0020.0005.FB26] # HEBREW LETTER WIDE FINAL MEM; QQK
-05DD ; [.1C01.0020.0019.05DD] # HEBREW LETTER FINAL MEM; QQK
-FB3E ; [.1C01.0020.0002.05DE][.0000.0092.0002.05BC] # HEBREW LETTER MEM WITH DAGESH; QQCM
-05E0 ; [.1C02.0020.0002.05E0] # HEBREW LETTER NUN
-05DF ; [.1C02.0020.0019.05DF] # HEBREW LETTER FINAL NUN; QQK
-FB40 ; [.1C02.0020.0002.05E0][.0000.0092.0002.05BC] # HEBREW LETTER NUN WITH DAGESH; QQCM
-05E1 ; [.1C03.0020.0002.05E1] # HEBREW LETTER SAMEKH
-FB41 ; [.1C03.0020.0002.05E1][.0000.0092.0002.05BC] # HEBREW LETTER SAMEKH WITH DAGESH; QQCM
-05E2 ; [.1C04.0020.0002.05E2] # HEBREW LETTER AYIN
-FB20 ; [.1C04.0020.0005.FB20] # HEBREW LETTER ALTERNATIVE AYIN; QQK
-05E4 ; [.1C05.0020.0002.05E4] # HEBREW LETTER PE
-05E3 ; [.1C05.0020.0019.05E3] # HEBREW LETTER FINAL PE; QQK
-FB44 ; [.1C05.0020.0002.05E4][.0000.0092.0002.05BC] # HEBREW LETTER PE WITH DAGESH; QQCM
-FB43 ; [.1C05.0020.0019.FB43][.0000.0092.0002.FB43] # HEBREW LETTER FINAL PE WITH DAGESH; QQKN
-FB4E ; [.1C05.0020.0002.05E4][.0000.0095.0002.05BF] # HEBREW LETTER PE WITH RAFE; QQCM
-05E6 ; [.1C06.0020.0002.05E6] # HEBREW LETTER TSADI
-05E5 ; [.1C06.0020.0019.05E5] # HEBREW LETTER FINAL TSADI; QQK
-FB46 ; [.1C06.0020.0002.05E6][.0000.0092.0002.05BC] # HEBREW LETTER TSADI WITH DAGESH; QQCM
-05E7 ; [.1C07.0020.0002.05E7] # HEBREW LETTER QOF
-FB47 ; [.1C07.0020.0002.05E7][.0000.0092.0002.05BC] # HEBREW LETTER QOF WITH DAGESH; QQCM
-05E8 ; [.1C08.0020.0002.05E8] # HEBREW LETTER RESH
-FB27 ; [.1C08.0020.0005.FB27] # HEBREW LETTER WIDE RESH; QQK
-FB48 ; [.1C08.0020.0002.05E8][.0000.0092.0002.05BC] # HEBREW LETTER RESH WITH DAGESH; QQCM
-05E9 ; [.1C09.0020.0002.05E9] # HEBREW LETTER SHIN
-FB2B ; [.1C09.0020.0002.05E9][.0000.0090.0002.05C2] # HEBREW LETTER SHIN WITH SIN DOT; QQCM
-FB2A ; [.1C09.0020.0002.05E9][.0000.0091.0002.05C1] # HEBREW LETTER SHIN WITH SHIN DOT; QQCM
-FB49 ; [.1C09.0020.0002.05E9][.0000.0092.0002.05BC] # HEBREW LETTER SHIN WITH DAGESH; QQCM
-FB2D ; [.1C09.0020.0002.05E9][.0000.0092.0002.05BC][.0000.0090.0002.05C2] # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT; QQCM
-FB2C ; [.1C09.0020.0002.05E9][.0000.0092.0002.05BC][.0000.0091.0002.05C1] # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT; QQCM
-05EA ; [.1C0A.0020.0002.05EA] # HEBREW LETTER TAV
-FB28 ; [.1C0A.0020.0005.FB28] # HEBREW LETTER WIDE TAV; QQK
-FB4A ; [.1C0A.0020.0002.05EA][.0000.0092.0002.05BC] # HEBREW LETTER TAV WITH DAGESH; QQCM
-10900 ; [.1C0B.0020.0002.10900] # PHOENICIAN LETTER ALF
-10901 ; [.1C0C.0020.0002.10901] # PHOENICIAN LETTER BET
-10902 ; [.1C0D.0020.0002.10902] # PHOENICIAN LETTER GAML
-10903 ; [.1C0E.0020.0002.10903] # PHOENICIAN LETTER DELT
-10904 ; [.1C0F.0020.0002.10904] # PHOENICIAN LETTER HE
-10905 ; [.1C10.0020.0002.10905] # PHOENICIAN LETTER WAU
-10906 ; [.1C11.0020.0002.10906] # PHOENICIAN LETTER ZAI
-10907 ; [.1C12.0020.0002.10907] # PHOENICIAN LETTER HET
-10908 ; [.1C13.0020.0002.10908] # PHOENICIAN LETTER TET
-10909 ; [.1C14.0020.0002.10909] # PHOENICIAN LETTER YOD
-1090A ; [.1C15.0020.0002.1090A] # PHOENICIAN LETTER KAF
-1090B ; [.1C16.0020.0002.1090B] # PHOENICIAN LETTER LAMD
-1090C ; [.1C17.0020.0002.1090C] # PHOENICIAN LETTER MEM
-1090D ; [.1C18.0020.0002.1090D] # PHOENICIAN LETTER NUN
-1090E ; [.1C19.0020.0002.1090E] # PHOENICIAN LETTER SEMK
-1090F ; [.1C1A.0020.0002.1090F] # PHOENICIAN LETTER AIN
-10910 ; [.1C1B.0020.0002.10910] # PHOENICIAN LETTER PE
-10911 ; [.1C1C.0020.0002.10911] # PHOENICIAN LETTER SADE
-10912 ; [.1C1D.0020.0002.10912] # PHOENICIAN LETTER QOF
-10913 ; [.1C1E.0020.0002.10913] # PHOENICIAN LETTER ROSH
-10914 ; [.1C1F.0020.0002.10914] # PHOENICIAN LETTER SHIN
-10915 ; [.1C20.0020.0002.10915] # PHOENICIAN LETTER TAU
-0800 ; [.1C21.0020.0002.0800] # SAMARITAN LETTER ALAF
-0801 ; [.1C22.0020.0002.0801] # SAMARITAN LETTER BIT
-0802 ; [.1C23.0020.0002.0802] # SAMARITAN LETTER GAMAN
-0803 ; [.1C24.0020.0002.0803] # SAMARITAN LETTER DALAT
-0804 ; [.1C25.0020.0002.0804] # SAMARITAN LETTER IY
-0805 ; [.1C26.0020.0002.0805] # SAMARITAN LETTER BAA
-0806 ; [.1C27.0020.0002.0806] # SAMARITAN LETTER ZEN
-0807 ; [.1C28.0020.0002.0807] # SAMARITAN LETTER IT
-0808 ; [.1C29.0020.0002.0808] # SAMARITAN LETTER TIT
-0809 ; [.1C2A.0020.0002.0809] # SAMARITAN LETTER YUT
-080A ; [.1C2B.0020.0002.080A] # SAMARITAN LETTER KAAF
-080B ; [.1C2C.0020.0002.080B] # SAMARITAN LETTER LABAT
-080C ; [.1C2D.0020.0002.080C] # SAMARITAN LETTER MIM
-080D ; [.1C2E.0020.0002.080D] # SAMARITAN LETTER NUN
-080E ; [.1C2F.0020.0002.080E] # SAMARITAN LETTER SINGAAT
-080F ; [.1C30.0020.0002.080F] # SAMARITAN LETTER IN
-0810 ; [.1C31.0020.0002.0810] # SAMARITAN LETTER FI
-0811 ; [.1C32.0020.0002.0811] # SAMARITAN LETTER TSAADIY
-0812 ; [.1C33.0020.0002.0812] # SAMARITAN LETTER QUF
-0813 ; [.1C34.0020.0002.0813] # SAMARITAN LETTER RISH
-0814 ; [.1C35.0020.0002.0814] # SAMARITAN LETTER SHAN
-0815 ; [.1C36.0020.0002.0815] # SAMARITAN LETTER TAAF
-0816 ; [.1C37.0020.0002.0816] # SAMARITAN MARK IN
-0817 ; [.1C38.0020.0002.0817] # SAMARITAN MARK IN-ALAF
-081A ; [.1C39.0020.0002.081A] # SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-081B ; [.1C3A.0020.0002.081B] # SAMARITAN MARK EPENTHETIC YUT
-0621 ; [.1C3B.0020.0002.0621] # ARABIC LETTER HAMZA
-0674 ; [.1C3B.0020.0004.0674] # ARABIC LETTER HIGH HAMZA; QQK
-FE80 ; [.1C3B.0020.001A.FE80] # ARABIC LETTER HAMZA ISOLATED FORM; QQK
-06FD ; [.1C3B.0020.0004.06FD][.0000.0160.0004.06FD] # ARABIC SIGN SINDHI AMPERSAND; QQKN
-0622 ; [.1C3C.0020.0002.0622] # ARABIC LETTER ALEF WITH MADDA ABOVE
-0627 0653 ; [.1C3C.0020.0002.0622] # ARABIC LETTER ALEF WITH MADDA ABOVE
-FE82 ; [.1C3C.0020.0019.FE82] # ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM; QQK
-FE81 ; [.1C3C.0020.001A.FE81] # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM; QQK
-0623 ; [.1C3D.0020.0002.0623] # ARABIC LETTER ALEF WITH HAMZA ABOVE
-0627 0654 ; [.1C3D.0020.0002.0623] # ARABIC LETTER ALEF WITH HAMZA ABOVE
-FE84 ; [.1C3D.0020.0019.FE84] # ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM; QQK
-FE83 ; [.1C3D.0020.001A.FE83] # ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM; QQK
-0672 ; [.1C3E.0020.0002.0672] # ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
-0671 ; [.1C3F.0020.0002.0671] # ARABIC LETTER ALEF WASLA
-FB51 ; [.1C3F.0020.0019.FB51] # ARABIC LETTER ALEF WASLA FINAL FORM; QQK
-FB50 ; [.1C3F.0020.001A.FB50] # ARABIC LETTER ALEF WASLA ISOLATED FORM; QQK
-0624 ; [.1C40.0020.0002.0624] # ARABIC LETTER WAW WITH HAMZA ABOVE
-0648 0654 ; [.1C40.0020.0002.0624] # ARABIC LETTER WAW WITH HAMZA ABOVE
-FE86 ; [.1C40.0020.0019.FE86] # ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM; QQK
-FE85 ; [.1C40.0020.001A.FE85] # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM; QQK
-0625 ; [.1C41.0020.0002.0625] # ARABIC LETTER ALEF WITH HAMZA BELOW
-0627 0655 ; [.1C41.0020.0002.0625] # ARABIC LETTER ALEF WITH HAMZA BELOW
-FE88 ; [.1C41.0020.0019.FE88] # ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM; QQK
-FE87 ; [.1C41.0020.001A.FE87] # ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM; QQK
-0673 ; [.1C42.0020.0002.0673] # ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
-0773 ; [.1C43.0020.0002.0773] # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0774 ; [.1C44.0020.0002.0774] # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0626 ; [.1C45.0020.0002.0626] # ARABIC LETTER YEH WITH HAMZA ABOVE
-064A 0654 ; [.1C45.0020.0002.0626] # ARABIC LETTER YEH WITH HAMZA ABOVE
-FE8B ; [.1C45.0020.0017.FE8B] # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM; QQK
-FE8C ; [.1C45.0020.0018.FE8C] # ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM; QQK
-FE8A ; [.1C45.0020.0019.FE8A] # ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM; QQK
-FE89 ; [.1C45.0020.001A.FE89] # ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM; QQK
-FBEB ; [.1C45.0020.0019.FBEB][.1C46.0020.0019.FBEB] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM; QQKN
-FBEA ; [.1C45.0020.001A.FBEA][.1C46.0020.001A.FBEA] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM; QQKN
-FC97 ; [.1C45.0020.0017.FC97][.1C5B.0020.0017.FC97] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM; QQKN
-FC00 ; [.1C45.0020.001A.FC00][.1C5B.0020.001A.FC00] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM; QQKN
-FC98 ; [.1C45.0020.0017.FC98][.1C61.0020.0017.FC98] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM; QQKN
-FC01 ; [.1C45.0020.001A.FC01][.1C61.0020.001A.FC01] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM; QQKN
-FC99 ; [.1C45.0020.0017.FC99][.1C62.0020.0017.FC99] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM; QQKN
-FC64 ; [.1C45.0020.0019.FC64][.1C7A.0020.0019.FC64] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM; QQKN
-FC65 ; [.1C45.0020.0019.FC65][.1C7B.0020.0019.FC65] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM; QQKN
-FC9A ; [.1C45.0020.0017.FC9A][.1CCA.0020.0017.FC9A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM; QQKN
-FCDF ; [.1C45.0020.0018.FCDF][.1CCA.0020.0018.FCDF] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM; QQKN
-FC66 ; [.1C45.0020.0019.FC66][.1CCA.0020.0019.FC66] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM; QQKN
-FC02 ; [.1C45.0020.001A.FC02][.1CCA.0020.001A.FC02] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM; QQKN
-FC67 ; [.1C45.0020.0019.FC67][.1CCD.0020.0019.FC67] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM; QQKN
-FC9B ; [.1C45.0020.0017.FC9B][.1CD6.0020.0017.FC9B] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM; QQKN
-FCE0 ; [.1C45.0020.0018.FCE0][.1CD6.0020.0018.FCE0] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM; QQKN
-FBED ; [.1C45.0020.0019.FBED][.1CDB.0020.0019.FBED] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM; QQKN
-FBEC ; [.1C45.0020.001A.FBEC][.1CDB.0020.001A.FBEC] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM; QQKN
-FBEF ; [.1C45.0020.0019.FBEF][.1CDC.0020.0019.FBEF] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM; QQKN
-FBEE ; [.1C45.0020.001A.FBEE][.1CDC.0020.001A.FBEE] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM; QQKN
-FBF3 ; [.1C45.0020.0019.FBF3][.1CDF.0020.0019.FBF3] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM; QQKN
-FBF2 ; [.1C45.0020.001A.FBF2][.1CDF.0020.001A.FBF2] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM; QQKN
-FBF1 ; [.1C45.0020.0019.FBF1][.1CE0.0020.0019.FBF1] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM; QQKN
-FBF0 ; [.1C45.0020.001A.FBF0][.1CE0.0020.001A.FBF0] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM; QQKN
-FBF5 ; [.1C45.0020.0019.FBF5][.1CE1.0020.0019.FBF5] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM; QQKN
-FBF4 ; [.1C45.0020.001A.FBF4][.1CE1.0020.001A.FBF4] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM; QQKN
-FBFB ; [.1C45.0020.0017.FBFB][.1CE8.0020.0017.FBFB] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM; QQKN
-FBFA ; [.1C45.0020.0019.FBFA][.1CE8.0020.0019.FBFA] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM; QQKN
-FC68 ; [.1C45.0020.0019.FC68][.1CE8.0020.0019.FC68] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM; QQKN
-FBF9 ; [.1C45.0020.001A.FBF9][.1CE8.0020.001A.FBF9] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC03 ; [.1C45.0020.001A.FC03][.1CE8.0020.001A.FC03] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC69 ; [.1C45.0020.0019.FC69][.1CE9.0020.0019.FC69] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM; QQKN
-FC04 ; [.1C45.0020.001A.FC04][.1CE9.0020.001A.FC04] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM; QQKN
-FBF8 ; [.1C45.0020.0017.FBF8][.1CED.0020.0017.FBF8] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM; QQKN
-FBF7 ; [.1C45.0020.0019.FBF7][.1CED.0020.0019.FBF7] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM; QQKN
-FBF6 ; [.1C45.0020.001A.FBF6][.1CED.0020.001A.FBF6] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM; QQKN
-0627 ; [.1C46.0020.0002.0627] # ARABIC LETTER ALEF
-FE8E ; [.1C46.0020.0019.FE8E] # ARABIC LETTER ALEF FINAL FORM; QQK
-FE8D ; [.1C46.0020.001A.FE8D] # ARABIC LETTER ALEF ISOLATED FORM; QQK
-FD3C ; [.1C46.0020.0019.FD3C][.0000.00A2.0019.FD3C] # ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM; QQKN
-FD3D ; [.1C46.0020.001A.FD3D][.0000.00A2.001A.FD3D] # ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM; QQKN
-0675 ; [.1C46.0020.0004.0675][.1C3B.0020.0004.0675] # ARABIC LETTER HIGH HAMZA ALEF; QQKN
-FDF3 ; [.1C46.0020.001A.FDF3][.1CB1.0020.001A.FDF3][.1C48.0020.001F.FDF3][.1C7A.0020.001F.FDF3] # ARABIC LIGATURE AKBAR ISOLATED FORM; QQKN
-FDF2 ; [.1C46.0020.001A.FDF2][.1CC4.0020.001A.FDF2][.1CC4.0020.001F.FDF2][.1CD6.0020.001F.FDF2] # ARABIC LIGATURE ALLAH ISOLATED FORM; QQKN
-066E ; [.1C47.0020.0002.066E] # ARABIC LETTER DOTLESS BEH
-0628 ; [.1C48.0020.0002.0628] # ARABIC LETTER BEH
-FE91 ; [.1C48.0020.0017.FE91] # ARABIC LETTER BEH INITIAL FORM; QQK
-FE92 ; [.1C48.0020.0018.FE92] # ARABIC LETTER BEH MEDIAL FORM; QQK
-FE90 ; [.1C48.0020.0019.FE90] # ARABIC LETTER BEH FINAL FORM; QQK
-FE8F ; [.1C48.0020.001A.FE8F] # ARABIC LETTER BEH ISOLATED FORM; QQK
-FC9C ; [.1C48.0020.0017.FC9C][.1C5B.0020.0017.FC9C] # ARABIC LIGATURE BEH WITH JEEM INITIAL FORM; QQKN
-FC05 ; [.1C48.0020.001A.FC05][.1C5B.0020.001A.FC05] # ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM; QQKN
-FC9D ; [.1C48.0020.0017.FC9D][.1C61.0020.0017.FC9D] # ARABIC LIGATURE BEH WITH HAH INITIAL FORM; QQKN
-FC06 ; [.1C48.0020.001A.FC06][.1C61.0020.001A.FC06] # ARABIC LIGATURE BEH WITH HAH ISOLATED FORM; QQKN
-FDC2 ; [.1C48.0020.0019.FDC2][.1C61.0020.0019.FDC2][.1CE9.0020.001F.FDC2] # ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM; QQKN
-FC9E ; [.1C48.0020.0017.FC9E][.1C62.0020.0017.FC9E] # ARABIC LIGATURE BEH WITH KHAH INITIAL FORM; QQKN
-FC07 ; [.1C48.0020.001A.FC07][.1C62.0020.001A.FC07] # ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM; QQKN
-FD9E ; [.1C48.0020.0019.FD9E][.1C62.0020.0019.FD9E][.1CE9.0020.001F.FD9E] # ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM; QQKN
-FC6A ; [.1C48.0020.0019.FC6A][.1C7A.0020.0019.FC6A] # ARABIC LIGATURE BEH WITH REH FINAL FORM; QQKN
-FC6B ; [.1C48.0020.0019.FC6B][.1C7B.0020.0019.FC6B] # ARABIC LIGATURE BEH WITH ZAIN FINAL FORM; QQKN
-FC9F ; [.1C48.0020.0017.FC9F][.1CCA.0020.0017.FC9F] # ARABIC LIGATURE BEH WITH MEEM INITIAL FORM; QQKN
-FCE1 ; [.1C48.0020.0018.FCE1][.1CCA.0020.0018.FCE1] # ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM; QQKN
-FC6C ; [.1C48.0020.0019.FC6C][.1CCA.0020.0019.FC6C] # ARABIC LIGATURE BEH WITH MEEM FINAL FORM; QQKN
-FC08 ; [.1C48.0020.001A.FC08][.1CCA.0020.001A.FC08] # ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM; QQKN
-FC6D ; [.1C48.0020.0019.FC6D][.1CCD.0020.0019.FC6D] # ARABIC LIGATURE BEH WITH NOON FINAL FORM; QQKN
-FCA0 ; [.1C48.0020.0017.FCA0][.1CD6.0020.0017.FCA0] # ARABIC LIGATURE BEH WITH HEH INITIAL FORM; QQKN
-FCE2 ; [.1C48.0020.0018.FCE2][.1CD6.0020.0018.FCE2] # ARABIC LIGATURE BEH WITH HEH MEDIAL FORM; QQKN
-FC6E ; [.1C48.0020.0019.FC6E][.1CE8.0020.0019.FC6E] # ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM; QQKN
-FC09 ; [.1C48.0020.001A.FC09][.1CE8.0020.001A.FC09] # ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC6F ; [.1C48.0020.0019.FC6F][.1CE9.0020.0019.FC6F] # ARABIC LIGATURE BEH WITH YEH FINAL FORM; QQKN
-FC0A ; [.1C48.0020.001A.FC0A][.1CE9.0020.001A.FC0A] # ARABIC LIGATURE BEH WITH YEH ISOLATED FORM; QQKN
-067B ; [.1C49.0020.0002.067B] # ARABIC LETTER BEEH
-FB54 ; [.1C49.0020.0017.FB54] # ARABIC LETTER BEEH INITIAL FORM; QQK
-FB55 ; [.1C49.0020.0018.FB55] # ARABIC LETTER BEEH MEDIAL FORM; QQK
-FB53 ; [.1C49.0020.0019.FB53] # ARABIC LETTER BEEH FINAL FORM; QQK
-FB52 ; [.1C49.0020.001A.FB52] # ARABIC LETTER BEEH ISOLATED FORM; QQK
-067E ; [.1C4A.0020.0002.067E] # ARABIC LETTER PEH
-FB58 ; [.1C4A.0020.0017.FB58] # ARABIC LETTER PEH INITIAL FORM; QQK
-FB59 ; [.1C4A.0020.0018.FB59] # ARABIC LETTER PEH MEDIAL FORM; QQK
-FB57 ; [.1C4A.0020.0019.FB57] # ARABIC LETTER PEH FINAL FORM; QQK
-FB56 ; [.1C4A.0020.001A.FB56] # ARABIC LETTER PEH ISOLATED FORM; QQK
-0680 ; [.1C4B.0020.0002.0680] # ARABIC LETTER BEHEH
-FB5C ; [.1C4B.0020.0017.FB5C] # ARABIC LETTER BEHEH INITIAL FORM; QQK
-FB5D ; [.1C4B.0020.0018.FB5D] # ARABIC LETTER BEHEH MEDIAL FORM; QQK
-FB5B ; [.1C4B.0020.0019.FB5B] # ARABIC LETTER BEHEH FINAL FORM; QQK
-FB5A ; [.1C4B.0020.001A.FB5A] # ARABIC LETTER BEHEH ISOLATED FORM; QQK
-0750 ; [.1C4C.0020.0002.0750] # ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
-0751 ; [.1C4D.0020.0002.0751] # ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
-0752 ; [.1C4E.0020.0002.0752] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
-0753 ; [.1C4F.0020.0002.0753] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
-0754 ; [.1C50.0020.0002.0754] # ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
-0755 ; [.1C51.0020.0002.0755] # ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
-0756 ; [.1C52.0020.0002.0756] # ARABIC LETTER BEH WITH SMALL V
-0629 ; [.1C53.0020.0002.0629] # ARABIC LETTER TEH MARBUTA
-FE94 ; [.1C53.0020.0019.FE94] # ARABIC LETTER TEH MARBUTA FINAL FORM; QQK
-FE93 ; [.1C53.0020.001A.FE93] # ARABIC LETTER TEH MARBUTA ISOLATED FORM; QQK
-062A ; [.1C54.0020.0002.062A] # ARABIC LETTER TEH
-FE97 ; [.1C54.0020.0017.FE97] # ARABIC LETTER TEH INITIAL FORM; QQK
-FE98 ; [.1C54.0020.0018.FE98] # ARABIC LETTER TEH MEDIAL FORM; QQK
-FE96 ; [.1C54.0020.0019.FE96] # ARABIC LETTER TEH FINAL FORM; QQK
-FE95 ; [.1C54.0020.001A.FE95] # ARABIC LETTER TEH ISOLATED FORM; QQK
-FCA1 ; [.1C54.0020.0017.FCA1][.1C5B.0020.0017.FCA1] # ARABIC LIGATURE TEH WITH JEEM INITIAL FORM; QQKN
-FC0B ; [.1C54.0020.001A.FC0B][.1C5B.0020.001A.FC0B] # ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM; QQKN
-FD50 ; [.1C54.0020.0017.FD50][.1C5B.0020.0017.FD50][.1CCA.0020.001F.FD50] # ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM; QQKN
-FDA0 ; [.1C54.0020.0019.FDA0][.1C5B.0020.0019.FDA0][.1CE8.0020.001F.FDA0] # ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FD9F ; [.1C54.0020.0019.FD9F][.1C5B.0020.0019.FD9F][.1CE9.0020.001F.FD9F] # ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM; QQKN
-FCA2 ; [.1C54.0020.0017.FCA2][.1C61.0020.0017.FCA2] # ARABIC LIGATURE TEH WITH HAH INITIAL FORM; QQKN
-FC0C ; [.1C54.0020.001A.FC0C][.1C61.0020.001A.FC0C] # ARABIC LIGATURE TEH WITH HAH ISOLATED FORM; QQKN
-FD52 ; [.1C54.0020.0017.FD52][.1C61.0020.0017.FD52][.1C5B.0020.001F.FD52] # ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM; QQKN
-FD51 ; [.1C54.0020.0019.FD51][.1C61.0020.0019.FD51][.1C5B.0020.001F.FD51] # ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM; QQKN
-FD53 ; [.1C54.0020.0017.FD53][.1C61.0020.0017.FD53][.1CCA.0020.001F.FD53] # ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM; QQKN
-FCA3 ; [.1C54.0020.0017.FCA3][.1C62.0020.0017.FCA3] # ARABIC LIGATURE TEH WITH KHAH INITIAL FORM; QQKN
-FC0D ; [.1C54.0020.001A.FC0D][.1C62.0020.001A.FC0D] # ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM; QQKN
-FD54 ; [.1C54.0020.0017.FD54][.1C62.0020.0017.FD54][.1CCA.0020.001F.FD54] # ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM; QQKN
-FDA2 ; [.1C54.0020.0019.FDA2][.1C62.0020.0019.FDA2][.1CE8.0020.001F.FDA2] # ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FDA1 ; [.1C54.0020.0019.FDA1][.1C62.0020.0019.FDA1][.1CE9.0020.001F.FDA1] # ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM; QQKN
-FC70 ; [.1C54.0020.0019.FC70][.1C7A.0020.0019.FC70] # ARABIC LIGATURE TEH WITH REH FINAL FORM; QQKN
-FC71 ; [.1C54.0020.0019.FC71][.1C7B.0020.0019.FC71] # ARABIC LIGATURE TEH WITH ZAIN FINAL FORM; QQKN
-FCA4 ; [.1C54.0020.0017.FCA4][.1CCA.0020.0017.FCA4] # ARABIC LIGATURE TEH WITH MEEM INITIAL FORM; QQKN
-FCE3 ; [.1C54.0020.0018.FCE3][.1CCA.0020.0018.FCE3] # ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM; QQKN
-FC72 ; [.1C54.0020.0019.FC72][.1CCA.0020.0019.FC72] # ARABIC LIGATURE TEH WITH MEEM FINAL FORM; QQKN
-FC0E ; [.1C54.0020.001A.FC0E][.1CCA.0020.001A.FC0E] # ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM; QQKN
-FD55 ; [.1C54.0020.0017.FD55][.1CCA.0020.0017.FD55][.1C5B.0020.001F.FD55] # ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM; QQKN
-FD56 ; [.1C54.0020.0017.FD56][.1CCA.0020.0017.FD56][.1C61.0020.001F.FD56] # ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM; QQKN
-FD57 ; [.1C54.0020.0017.FD57][.1CCA.0020.0017.FD57][.1C62.0020.001F.FD57] # ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM; QQKN
-FDA4 ; [.1C54.0020.0019.FDA4][.1CCA.0020.0019.FDA4][.1CE8.0020.001F.FDA4] # ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FDA3 ; [.1C54.0020.0019.FDA3][.1CCA.0020.0019.FDA3][.1CE9.0020.001F.FDA3] # ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM; QQKN
-FC73 ; [.1C54.0020.0019.FC73][.1CCD.0020.0019.FC73] # ARABIC LIGATURE TEH WITH NOON FINAL FORM; QQKN
-FCA5 ; [.1C54.0020.0017.FCA5][.1CD6.0020.0017.FCA5] # ARABIC LIGATURE TEH WITH HEH INITIAL FORM; QQKN
-FCE4 ; [.1C54.0020.0018.FCE4][.1CD6.0020.0018.FCE4] # ARABIC LIGATURE TEH WITH HEH MEDIAL FORM; QQKN
-FC74 ; [.1C54.0020.0019.FC74][.1CE8.0020.0019.FC74] # ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM; QQKN
-FC0F ; [.1C54.0020.001A.FC0F][.1CE8.0020.001A.FC0F] # ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC75 ; [.1C54.0020.0019.FC75][.1CE9.0020.0019.FC75] # ARABIC LIGATURE TEH WITH YEH FINAL FORM; QQKN
-FC10 ; [.1C54.0020.001A.FC10][.1CE9.0020.001A.FC10] # ARABIC LIGATURE TEH WITH YEH ISOLATED FORM; QQKN
-062B ; [.1C55.0020.0002.062B] # ARABIC LETTER THEH
-FE9B ; [.1C55.0020.0017.FE9B] # ARABIC LETTER THEH INITIAL FORM; QQK
-FE9C ; [.1C55.0020.0018.FE9C] # ARABIC LETTER THEH MEDIAL FORM; QQK
-FE9A ; [.1C55.0020.0019.FE9A] # ARABIC LETTER THEH FINAL FORM; QQK
-FE99 ; [.1C55.0020.001A.FE99] # ARABIC LETTER THEH ISOLATED FORM; QQK
-FC11 ; [.1C55.0020.001A.FC11][.1C5B.0020.001A.FC11] # ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM; QQKN
-FC76 ; [.1C55.0020.0019.FC76][.1C7A.0020.0019.FC76] # ARABIC LIGATURE THEH WITH REH FINAL FORM; QQKN
-FC77 ; [.1C55.0020.0019.FC77][.1C7B.0020.0019.FC77] # ARABIC LIGATURE THEH WITH ZAIN FINAL FORM; QQKN
-FCA6 ; [.1C55.0020.0017.FCA6][.1CCA.0020.0017.FCA6] # ARABIC LIGATURE THEH WITH MEEM INITIAL FORM; QQKN
-FCE5 ; [.1C55.0020.0018.FCE5][.1CCA.0020.0018.FCE5] # ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM; QQKN
-FC78 ; [.1C55.0020.0019.FC78][.1CCA.0020.0019.FC78] # ARABIC LIGATURE THEH WITH MEEM FINAL FORM; QQKN
-FC12 ; [.1C55.0020.001A.FC12][.1CCA.0020.001A.FC12] # ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM; QQKN
-FC79 ; [.1C55.0020.0019.FC79][.1CCD.0020.0019.FC79] # ARABIC LIGATURE THEH WITH NOON FINAL FORM; QQKN
-FCE6 ; [.1C55.0020.0018.FCE6][.1CD6.0020.0018.FCE6] # ARABIC LIGATURE THEH WITH HEH MEDIAL FORM; QQKN
-FC7A ; [.1C55.0020.0019.FC7A][.1CE8.0020.0019.FC7A] # ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM; QQKN
-FC13 ; [.1C55.0020.001A.FC13][.1CE8.0020.001A.FC13] # ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC7B ; [.1C55.0020.0019.FC7B][.1CE9.0020.0019.FC7B] # ARABIC LIGATURE THEH WITH YEH FINAL FORM; QQKN
-FC14 ; [.1C55.0020.001A.FC14][.1CE9.0020.001A.FC14] # ARABIC LIGATURE THEH WITH YEH ISOLATED FORM; QQKN
-0679 ; [.1C56.0020.0002.0679] # ARABIC LETTER TTEH
-FB68 ; [.1C56.0020.0017.FB68] # ARABIC LETTER TTEH INITIAL FORM; QQK
-FB69 ; [.1C56.0020.0018.FB69] # ARABIC LETTER TTEH MEDIAL FORM; QQK
-FB67 ; [.1C56.0020.0019.FB67] # ARABIC LETTER TTEH FINAL FORM; QQK
-FB66 ; [.1C56.0020.001A.FB66] # ARABIC LETTER TTEH ISOLATED FORM; QQK
-067A ; [.1C57.0020.0002.067A] # ARABIC LETTER TTEHEH
-FB60 ; [.1C57.0020.0017.FB60] # ARABIC LETTER TTEHEH INITIAL FORM; QQK
-FB61 ; [.1C57.0020.0018.FB61] # ARABIC LETTER TTEHEH MEDIAL FORM; QQK
-FB5F ; [.1C57.0020.0019.FB5F] # ARABIC LETTER TTEHEH FINAL FORM; QQK
-FB5E ; [.1C57.0020.001A.FB5E] # ARABIC LETTER TTEHEH ISOLATED FORM; QQK
-067C ; [.1C58.0020.0002.067C] # ARABIC LETTER TEH WITH RING
-067D ; [.1C59.0020.0002.067D] # ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
-067F ; [.1C5A.0020.0002.067F] # ARABIC LETTER TEHEH
-FB64 ; [.1C5A.0020.0017.FB64] # ARABIC LETTER TEHEH INITIAL FORM; QQK
-FB65 ; [.1C5A.0020.0018.FB65] # ARABIC LETTER TEHEH MEDIAL FORM; QQK
-FB63 ; [.1C5A.0020.0019.FB63] # ARABIC LETTER TEHEH FINAL FORM; QQK
-FB62 ; [.1C5A.0020.001A.FB62] # ARABIC LETTER TEHEH ISOLATED FORM; QQK
-062C ; [.1C5B.0020.0002.062C] # ARABIC LETTER JEEM
-FE9F ; [.1C5B.0020.0017.FE9F] # ARABIC LETTER JEEM INITIAL FORM; QQK
-FEA0 ; [.1C5B.0020.0018.FEA0] # ARABIC LETTER JEEM MEDIAL FORM; QQK
-FE9E ; [.1C5B.0020.0019.FE9E] # ARABIC LETTER JEEM FINAL FORM; QQK
-FE9D ; [.1C5B.0020.001A.FE9D] # ARABIC LETTER JEEM ISOLATED FORM; QQK
-FCA7 ; [.1C5B.0020.0017.FCA7][.1C61.0020.0017.FCA7] # ARABIC LIGATURE JEEM WITH HAH INITIAL FORM; QQKN
-FC15 ; [.1C5B.0020.001A.FC15][.1C61.0020.001A.FC15] # ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM; QQKN
-FDA6 ; [.1C5B.0020.0019.FDA6][.1C61.0020.0019.FDA6][.1CE8.0020.001F.FDA6] # ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FDBE ; [.1C5B.0020.0019.FDBE][.1C61.0020.0019.FDBE][.1CE9.0020.001F.FDBE] # ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM; QQKN
-FDFB ; [.1C5B.0020.001A.FDFB][.1CC4.0020.001A.FDFB][*020A.0020.001F.FDFB][.1C5B.0020.001F.FDFB][.1CC4.0020.001F.FDFB][.1C46.0020.001F.FDFB][.1CC4.0020.001F.FDFB][.1CD6.0020.001F.FDFB] # ARABIC LIGATURE JALLAJALALOUHOU; QQKN
-FCA8 ; [.1C5B.0020.0017.FCA8][.1CCA.0020.0017.FCA8] # ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM; QQKN
-FC16 ; [.1C5B.0020.001A.FC16][.1CCA.0020.001A.FC16] # ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM; QQKN
-FD59 ; [.1C5B.0020.0017.FD59][.1CCA.0020.0017.FD59][.1C61.0020.001F.FD59] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM; QQKN
-FD58 ; [.1C5B.0020.0019.FD58][.1CCA.0020.0019.FD58][.1C61.0020.001F.FD58] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM; QQKN
-FDA7 ; [.1C5B.0020.0019.FDA7][.1CCA.0020.0019.FDA7][.1CE8.0020.001F.FDA7] # ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FDA5 ; [.1C5B.0020.0019.FDA5][.1CCA.0020.0019.FDA5][.1CE9.0020.001F.FDA5] # ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM; QQKN
-FD1D ; [.1C5B.0020.0019.FD1D][.1CE8.0020.0019.FD1D] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FD01 ; [.1C5B.0020.001A.FD01][.1CE8.0020.001A.FD01] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD1E ; [.1C5B.0020.0019.FD1E][.1CE9.0020.0019.FD1E] # ARABIC LIGATURE JEEM WITH YEH FINAL FORM; QQKN
-FD02 ; [.1C5B.0020.001A.FD02][.1CE9.0020.001A.FD02] # ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM; QQKN
-0683 ; [.1C5C.0020.0002.0683] # ARABIC LETTER NYEH
-FB78 ; [.1C5C.0020.0017.FB78] # ARABIC LETTER NYEH INITIAL FORM; QQK
-FB79 ; [.1C5C.0020.0018.FB79] # ARABIC LETTER NYEH MEDIAL FORM; QQK
-FB77 ; [.1C5C.0020.0019.FB77] # ARABIC LETTER NYEH FINAL FORM; QQK
-FB76 ; [.1C5C.0020.001A.FB76] # ARABIC LETTER NYEH ISOLATED FORM; QQK
-0684 ; [.1C5D.0020.0002.0684] # ARABIC LETTER DYEH
-FB74 ; [.1C5D.0020.0017.FB74] # ARABIC LETTER DYEH INITIAL FORM; QQK
-FB75 ; [.1C5D.0020.0018.FB75] # ARABIC LETTER DYEH MEDIAL FORM; QQK
-FB73 ; [.1C5D.0020.0019.FB73] # ARABIC LETTER DYEH FINAL FORM; QQK
-FB72 ; [.1C5D.0020.001A.FB72] # ARABIC LETTER DYEH ISOLATED FORM; QQK
-0686 ; [.1C5E.0020.0002.0686] # ARABIC LETTER TCHEH
-FB7C ; [.1C5E.0020.0017.FB7C] # ARABIC LETTER TCHEH INITIAL FORM; QQK
-FB7D ; [.1C5E.0020.0018.FB7D] # ARABIC LETTER TCHEH MEDIAL FORM; QQK
-FB7B ; [.1C5E.0020.0019.FB7B] # ARABIC LETTER TCHEH FINAL FORM; QQK
-FB7A ; [.1C5E.0020.001A.FB7A] # ARABIC LETTER TCHEH ISOLATED FORM; QQK
-06BF ; [.1C5F.0020.0002.06BF] # ARABIC LETTER TCHEH WITH DOT ABOVE
-0687 ; [.1C60.0020.0002.0687] # ARABIC LETTER TCHEHEH
-FB80 ; [.1C60.0020.0017.FB80] # ARABIC LETTER TCHEHEH INITIAL FORM; QQK
-FB81 ; [.1C60.0020.0018.FB81] # ARABIC LETTER TCHEHEH MEDIAL FORM; QQK
-FB7F ; [.1C60.0020.0019.FB7F] # ARABIC LETTER TCHEHEH FINAL FORM; QQK
-FB7E ; [.1C60.0020.001A.FB7E] # ARABIC LETTER TCHEHEH ISOLATED FORM; QQK
-062D ; [.1C61.0020.0002.062D] # ARABIC LETTER HAH
-FEA3 ; [.1C61.0020.0017.FEA3] # ARABIC LETTER HAH INITIAL FORM; QQK
-FEA4 ; [.1C61.0020.0018.FEA4] # ARABIC LETTER HAH MEDIAL FORM; QQK
-FEA2 ; [.1C61.0020.0019.FEA2] # ARABIC LETTER HAH FINAL FORM; QQK
-FEA1 ; [.1C61.0020.001A.FEA1] # ARABIC LETTER HAH ISOLATED FORM; QQK
-FCA9 ; [.1C61.0020.0017.FCA9][.1C5B.0020.0017.FCA9] # ARABIC LIGATURE HAH WITH JEEM INITIAL FORM; QQKN
-FC17 ; [.1C61.0020.001A.FC17][.1C5B.0020.001A.FC17] # ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM; QQKN
-FDBF ; [.1C61.0020.0019.FDBF][.1C5B.0020.0019.FDBF][.1CE9.0020.001F.FDBF] # ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM; QQKN
-FCAA ; [.1C61.0020.0017.FCAA][.1CCA.0020.0017.FCAA] # ARABIC LIGATURE HAH WITH MEEM INITIAL FORM; QQKN
-FC18 ; [.1C61.0020.001A.FC18][.1CCA.0020.001A.FC18] # ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM; QQKN
-FD5B ; [.1C61.0020.0019.FD5B][.1CCA.0020.0019.FD5B][.1CE8.0020.001F.FD5B] # ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FD5A ; [.1C61.0020.0019.FD5A][.1CCA.0020.0019.FD5A][.1CE9.0020.001F.FD5A] # ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM; QQKN
-FD1B ; [.1C61.0020.0019.FD1B][.1CE8.0020.0019.FD1B] # ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FCFF ; [.1C61.0020.001A.FCFF][.1CE8.0020.001A.FCFF] # ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD1C ; [.1C61.0020.0019.FD1C][.1CE9.0020.0019.FD1C] # ARABIC LIGATURE HAH WITH YEH FINAL FORM; QQKN
-FD00 ; [.1C61.0020.001A.FD00][.1CE9.0020.001A.FD00] # ARABIC LIGATURE HAH WITH YEH ISOLATED FORM; QQKN
-062E ; [.1C62.0020.0002.062E] # ARABIC LETTER KHAH
-FEA7 ; [.1C62.0020.0017.FEA7] # ARABIC LETTER KHAH INITIAL FORM; QQK
-FEA8 ; [.1C62.0020.0018.FEA8] # ARABIC LETTER KHAH MEDIAL FORM; QQK
-FEA6 ; [.1C62.0020.0019.FEA6] # ARABIC LETTER KHAH FINAL FORM; QQK
-FEA5 ; [.1C62.0020.001A.FEA5] # ARABIC LETTER KHAH ISOLATED FORM; QQK
-FCAB ; [.1C62.0020.0017.FCAB][.1C5B.0020.0017.FCAB] # ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM; QQKN
-FC19 ; [.1C62.0020.001A.FC19][.1C5B.0020.001A.FC19] # ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM; QQKN
-FC1A ; [.1C62.0020.001A.FC1A][.1C61.0020.001A.FC1A] # ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM; QQKN
-FCAC ; [.1C62.0020.0017.FCAC][.1CCA.0020.0017.FCAC] # ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM; QQKN
-FC1B ; [.1C62.0020.001A.FC1B][.1CCA.0020.001A.FC1B] # ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM; QQKN
-FD1F ; [.1C62.0020.0019.FD1F][.1CE8.0020.0019.FD1F] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FD03 ; [.1C62.0020.001A.FD03][.1CE8.0020.001A.FD03] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD20 ; [.1C62.0020.0019.FD20][.1CE9.0020.0019.FD20] # ARABIC LIGATURE KHAH WITH YEH FINAL FORM; QQKN
-FD04 ; [.1C62.0020.001A.FD04][.1CE9.0020.001A.FD04] # ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM; QQKN
-0681 ; [.1C63.0020.0002.0681] # ARABIC LETTER HAH WITH HAMZA ABOVE
-0682 ; [.1C64.0020.0002.0682] # ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
-0685 ; [.1C65.0020.0002.0685] # ARABIC LETTER HAH WITH THREE DOTS ABOVE
-0757 ; [.1C66.0020.0002.0757] # ARABIC LETTER HAH WITH TWO DOTS ABOVE
-0758 ; [.1C67.0020.0002.0758] # ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
-076E ; [.1C68.0020.0002.076E] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW
-076F ; [.1C69.0020.0002.076F] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0772 ; [.1C6A.0020.0002.0772] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE
-077C ; [.1C6B.0020.0002.077C] # ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
-062F ; [.1C6C.0020.0002.062F] # ARABIC LETTER DAL
-FEAA ; [.1C6C.0020.0019.FEAA] # ARABIC LETTER DAL FINAL FORM; QQK
-FEA9 ; [.1C6C.0020.001A.FEA9] # ARABIC LETTER DAL ISOLATED FORM; QQK
-0630 ; [.1C6D.0020.0002.0630] # ARABIC LETTER THAL
-FEAC ; [.1C6D.0020.0019.FEAC] # ARABIC LETTER THAL FINAL FORM; QQK
-FEAB ; [.1C6D.0020.001A.FEAB] # ARABIC LETTER THAL ISOLATED FORM; QQK
-FC5B ; [.1C6D.0020.001A.FC5B][.0000.00BD.001A.FC5B] # ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM; QQKN
-0688 ; [.1C6E.0020.0002.0688] # ARABIC LETTER DDAL
-FB89 ; [.1C6E.0020.0019.FB89] # ARABIC LETTER DDAL FINAL FORM; QQK
-FB88 ; [.1C6E.0020.001A.FB88] # ARABIC LETTER DDAL ISOLATED FORM; QQK
-0689 ; [.1C6F.0020.0002.0689] # ARABIC LETTER DAL WITH RING
-068A ; [.1C70.0020.0002.068A] # ARABIC LETTER DAL WITH DOT BELOW
-068B ; [.1C71.0020.0002.068B] # ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH
-068C ; [.1C72.0020.0002.068C] # ARABIC LETTER DAHAL
-FB85 ; [.1C72.0020.0019.FB85] # ARABIC LETTER DAHAL FINAL FORM; QQK
-FB84 ; [.1C72.0020.001A.FB84] # ARABIC LETTER DAHAL ISOLATED FORM; QQK
-068D ; [.1C73.0020.0002.068D] # ARABIC LETTER DDAHAL
-FB83 ; [.1C73.0020.0019.FB83] # ARABIC LETTER DDAHAL FINAL FORM; QQK
-FB82 ; [.1C73.0020.001A.FB82] # ARABIC LETTER DDAHAL ISOLATED FORM; QQK
-068E ; [.1C74.0020.0002.068E] # ARABIC LETTER DUL
-FB87 ; [.1C74.0020.0019.FB87] # ARABIC LETTER DUL FINAL FORM; QQK
-FB86 ; [.1C74.0020.001A.FB86] # ARABIC LETTER DUL ISOLATED FORM; QQK
-068F ; [.1C75.0020.0002.068F] # ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
-0690 ; [.1C76.0020.0002.0690] # ARABIC LETTER DAL WITH FOUR DOTS ABOVE
-06EE ; [.1C77.0020.0002.06EE] # ARABIC LETTER DAL WITH INVERTED V
-0759 ; [.1C78.0020.0002.0759] # ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
-075A ; [.1C79.0020.0002.075A] # ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
-0631 ; [.1C7A.0020.0002.0631] # ARABIC LETTER REH
-FEAE ; [.1C7A.0020.0019.FEAE] # ARABIC LETTER REH FINAL FORM; QQK
-FEAD ; [.1C7A.0020.001A.FEAD] # ARABIC LETTER REH ISOLATED FORM; QQK
-FC5C ; [.1C7A.0020.001A.FC5C][.0000.00BD.001A.FC5C] # ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM; QQKN
-FDF6 ; [.1C7A.0020.001A.FDF6][.1C8A.0020.001A.FDF6][.1CDC.0020.001F.FDF6][.1CC4.0020.001F.FDF6] # ARABIC LIGATURE RASOUL ISOLATED FORM; QQKN
-FDFC ; [.1C7A.0020.001A.FDFC][.1CEA.0020.001A.FDFC][.1C46.0020.001F.FDFC][.1CC4.0020.001F.FDFC] # RIAL SIGN; QQKN
-0632 ; [.1C7B.0020.0002.0632] # ARABIC LETTER ZAIN
-FEB0 ; [.1C7B.0020.0019.FEB0] # ARABIC LETTER ZAIN FINAL FORM; QQK
-FEAF ; [.1C7B.0020.001A.FEAF] # ARABIC LETTER ZAIN ISOLATED FORM; QQK
-0691 ; [.1C7C.0020.0002.0691] # ARABIC LETTER RREH
-FB8D ; [.1C7C.0020.0019.FB8D] # ARABIC LETTER RREH FINAL FORM; QQK
-FB8C ; [.1C7C.0020.001A.FB8C] # ARABIC LETTER RREH ISOLATED FORM; QQK
-0692 ; [.1C7D.0020.0002.0692] # ARABIC LETTER REH WITH SMALL V
-0693 ; [.1C7E.0020.0002.0693] # ARABIC LETTER REH WITH RING
-0694 ; [.1C7F.0020.0002.0694] # ARABIC LETTER REH WITH DOT BELOW
-0695 ; [.1C80.0020.0002.0695] # ARABIC LETTER REH WITH SMALL V BELOW
-0696 ; [.1C81.0020.0002.0696] # ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
-0697 ; [.1C82.0020.0002.0697] # ARABIC LETTER REH WITH TWO DOTS ABOVE
-0698 ; [.1C83.0020.0002.0698] # ARABIC LETTER JEH
-FB8B ; [.1C83.0020.0019.FB8B] # ARABIC LETTER JEH FINAL FORM; QQK
-FB8A ; [.1C83.0020.001A.FB8A] # ARABIC LETTER JEH ISOLATED FORM; QQK
-0699 ; [.1C84.0020.0002.0699] # ARABIC LETTER REH WITH FOUR DOTS ABOVE
-06EF ; [.1C85.0020.0002.06EF] # ARABIC LETTER REH WITH INVERTED V
-075B ; [.1C86.0020.0002.075B] # ARABIC LETTER REH WITH STROKE
-076B ; [.1C87.0020.0002.076B] # ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
-076C ; [.1C88.0020.0002.076C] # ARABIC LETTER REH WITH HAMZA ABOVE
-0771 ; [.1C89.0020.0002.0771] # ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0633 ; [.1C8A.0020.0002.0633] # ARABIC LETTER SEEN
-FEB3 ; [.1C8A.0020.0017.FEB3] # ARABIC LETTER SEEN INITIAL FORM; QQK
-FEB4 ; [.1C8A.0020.0018.FEB4] # ARABIC LETTER SEEN MEDIAL FORM; QQK
-FEB2 ; [.1C8A.0020.0019.FEB2] # ARABIC LETTER SEEN FINAL FORM; QQK
-FEB1 ; [.1C8A.0020.001A.FEB1] # ARABIC LETTER SEEN ISOLATED FORM; QQK
-FCAD ; [.1C8A.0020.0017.FCAD][.1C5B.0020.0017.FCAD] # ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM; QQKN
-FD34 ; [.1C8A.0020.0018.FD34][.1C5B.0020.0018.FD34] # ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM; QQKN
-FC1C ; [.1C8A.0020.001A.FC1C][.1C5B.0020.001A.FC1C] # ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM; QQKN
-FD5D ; [.1C8A.0020.0017.FD5D][.1C5B.0020.0017.FD5D][.1C61.0020.001F.FD5D] # ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM; QQKN
-FD5E ; [.1C8A.0020.0019.FD5E][.1C5B.0020.0019.FD5E][.1CE8.0020.001F.FD5E] # ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FCAE ; [.1C8A.0020.0017.FCAE][.1C61.0020.0017.FCAE] # ARABIC LIGATURE SEEN WITH HAH INITIAL FORM; QQKN
-FD35 ; [.1C8A.0020.0018.FD35][.1C61.0020.0018.FD35] # ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM; QQKN
-FC1D ; [.1C8A.0020.001A.FC1D][.1C61.0020.001A.FC1D] # ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM; QQKN
-FD5C ; [.1C8A.0020.0017.FD5C][.1C61.0020.0017.FD5C][.1C5B.0020.001F.FD5C] # ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM; QQKN
-FCAF ; [.1C8A.0020.0017.FCAF][.1C62.0020.0017.FCAF] # ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM; QQKN
-FD36 ; [.1C8A.0020.0018.FD36][.1C62.0020.0018.FD36] # ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM; QQKN
-FC1E ; [.1C8A.0020.001A.FC1E][.1C62.0020.001A.FC1E] # ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM; QQKN
-FDA8 ; [.1C8A.0020.0019.FDA8][.1C62.0020.0019.FDA8][.1CE8.0020.001F.FDA8] # ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FDC6 ; [.1C8A.0020.0019.FDC6][.1C62.0020.0019.FDC6][.1CE9.0020.001F.FDC6] # ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM; QQKN
-FD2A ; [.1C8A.0020.0019.FD2A][.1C7A.0020.0019.FD2A] # ARABIC LIGATURE SEEN WITH REH FINAL FORM; QQKN
-FD0E ; [.1C8A.0020.001A.FD0E][.1C7A.0020.001A.FD0E] # ARABIC LIGATURE SEEN WITH REH ISOLATED FORM; QQKN
-FCB0 ; [.1C8A.0020.0017.FCB0][.1CCA.0020.0017.FCB0] # ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM; QQKN
-FCE7 ; [.1C8A.0020.0018.FCE7][.1CCA.0020.0018.FCE7] # ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM; QQKN
-FC1F ; [.1C8A.0020.001A.FC1F][.1CCA.0020.001A.FC1F] # ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM; QQKN
-FD61 ; [.1C8A.0020.0017.FD61][.1CCA.0020.0017.FD61][.1C5B.0020.001F.FD61] # ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM; QQKN
-FD60 ; [.1C8A.0020.0017.FD60][.1CCA.0020.0017.FD60][.1C61.0020.001F.FD60] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM; QQKN
-FD5F ; [.1C8A.0020.0019.FD5F][.1CCA.0020.0019.FD5F][.1C61.0020.001F.FD5F] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM; QQKN
-FD63 ; [.1C8A.0020.0017.FD63][.1CCA.0020.0017.FD63][.1CCA.0020.001F.FD63] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FD62 ; [.1C8A.0020.0019.FD62][.1CCA.0020.0019.FD62][.1CCA.0020.001F.FD62] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM; QQKN
-FD31 ; [.1C8A.0020.0017.FD31][.1CD6.0020.0017.FD31] # ARABIC LIGATURE SEEN WITH HEH INITIAL FORM; QQKN
-FCE8 ; [.1C8A.0020.0018.FCE8][.1CD6.0020.0018.FCE8] # ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM; QQKN
-FD17 ; [.1C8A.0020.0019.FD17][.1CE8.0020.0019.FD17] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM; QQKN
-FCFB ; [.1C8A.0020.001A.FCFB][.1CE8.0020.001A.FCFB] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD18 ; [.1C8A.0020.0019.FD18][.1CE9.0020.0019.FD18] # ARABIC LIGATURE SEEN WITH YEH FINAL FORM; QQKN
-FCFC ; [.1C8A.0020.001A.FCFC][.1CE9.0020.001A.FCFC] # ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM; QQKN
-0634 ; [.1C8B.0020.0002.0634] # ARABIC LETTER SHEEN
-FEB7 ; [.1C8B.0020.0017.FEB7] # ARABIC LETTER SHEEN INITIAL FORM; QQK
-FEB8 ; [.1C8B.0020.0018.FEB8] # ARABIC LETTER SHEEN MEDIAL FORM; QQK
-FEB6 ; [.1C8B.0020.0019.FEB6] # ARABIC LETTER SHEEN FINAL FORM; QQK
-FEB5 ; [.1C8B.0020.001A.FEB5] # ARABIC LETTER SHEEN ISOLATED FORM; QQK
-FD2D ; [.1C8B.0020.0017.FD2D][.1C5B.0020.0017.FD2D] # ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM; QQKN
-FD37 ; [.1C8B.0020.0018.FD37][.1C5B.0020.0018.FD37] # ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM; QQKN
-FD25 ; [.1C8B.0020.0019.FD25][.1C5B.0020.0019.FD25] # ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM; QQKN
-FD09 ; [.1C8B.0020.001A.FD09][.1C5B.0020.001A.FD09] # ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM; QQKN
-FD69 ; [.1C8B.0020.0019.FD69][.1C5B.0020.0019.FD69][.1CE9.0020.001F.FD69] # ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM; QQKN
-FD2E ; [.1C8B.0020.0017.FD2E][.1C61.0020.0017.FD2E] # ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM; QQKN
-FD38 ; [.1C8B.0020.0018.FD38][.1C61.0020.0018.FD38] # ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM; QQKN
-FD26 ; [.1C8B.0020.0019.FD26][.1C61.0020.0019.FD26] # ARABIC LIGATURE SHEEN WITH HAH FINAL FORM; QQKN
-FD0A ; [.1C8B.0020.001A.FD0A][.1C61.0020.001A.FD0A] # ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM; QQKN
-FD68 ; [.1C8B.0020.0017.FD68][.1C61.0020.0017.FD68][.1CCA.0020.001F.FD68] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM; QQKN
-FD67 ; [.1C8B.0020.0019.FD67][.1C61.0020.0019.FD67][.1CCA.0020.001F.FD67] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM; QQKN
-FDAA ; [.1C8B.0020.0019.FDAA][.1C61.0020.0019.FDAA][.1CE9.0020.001F.FDAA] # ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM; QQKN
-FD2F ; [.1C8B.0020.0017.FD2F][.1C62.0020.0017.FD2F] # ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM; QQKN
-FD39 ; [.1C8B.0020.0018.FD39][.1C62.0020.0018.FD39] # ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM; QQKN
-FD27 ; [.1C8B.0020.0019.FD27][.1C62.0020.0019.FD27] # ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM; QQKN
-FD0B ; [.1C8B.0020.001A.FD0B][.1C62.0020.001A.FD0B] # ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM; QQKN
-FD29 ; [.1C8B.0020.0019.FD29][.1C7A.0020.0019.FD29] # ARABIC LIGATURE SHEEN WITH REH FINAL FORM; QQKN
-FD0D ; [.1C8B.0020.001A.FD0D][.1C7A.0020.001A.FD0D] # ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM; QQKN
-FD30 ; [.1C8B.0020.0017.FD30][.1CCA.0020.0017.FD30] # ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM; QQKN
-FCE9 ; [.1C8B.0020.0018.FCE9][.1CCA.0020.0018.FCE9] # ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM; QQKN
-FD28 ; [.1C8B.0020.0019.FD28][.1CCA.0020.0019.FD28] # ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM; QQKN
-FD0C ; [.1C8B.0020.001A.FD0C][.1CCA.0020.001A.FD0C] # ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM; QQKN
-FD6B ; [.1C8B.0020.0017.FD6B][.1CCA.0020.0017.FD6B][.1C62.0020.001F.FD6B] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM; QQKN
-FD6A ; [.1C8B.0020.0019.FD6A][.1CCA.0020.0019.FD6A][.1C62.0020.001F.FD6A] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM; QQKN
-FD6D ; [.1C8B.0020.0017.FD6D][.1CCA.0020.0017.FD6D][.1CCA.0020.001F.FD6D] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FD6C ; [.1C8B.0020.0019.FD6C][.1CCA.0020.0019.FD6C][.1CCA.0020.001F.FD6C] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM; QQKN
-FD32 ; [.1C8B.0020.0017.FD32][.1CD6.0020.0017.FD32] # ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM; QQKN
-FCEA ; [.1C8B.0020.0018.FCEA][.1CD6.0020.0018.FCEA] # ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM; QQKN
-FD19 ; [.1C8B.0020.0019.FD19][.1CE8.0020.0019.FD19] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM; QQKN
-FCFD ; [.1C8B.0020.001A.FCFD][.1CE8.0020.001A.FCFD] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD1A ; [.1C8B.0020.0019.FD1A][.1CE9.0020.0019.FD1A] # ARABIC LIGATURE SHEEN WITH YEH FINAL FORM; QQKN
-FCFE ; [.1C8B.0020.001A.FCFE][.1CE9.0020.001A.FCFE] # ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM; QQKN
-069A ; [.1C8C.0020.0002.069A] # ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
-069B ; [.1C8D.0020.0002.069B] # ARABIC LETTER SEEN WITH THREE DOTS BELOW
-069C ; [.1C8E.0020.0002.069C] # ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
-06FA ; [.1C8F.0020.0002.06FA] # ARABIC LETTER SHEEN WITH DOT BELOW
-075C ; [.1C90.0020.0002.075C] # ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
-076D ; [.1C91.0020.0002.076D] # ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
-0770 ; [.1C92.0020.0002.0770] # ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-077D ; [.1C93.0020.0002.077D] # ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE
-077E ; [.1C94.0020.0002.077E] # ARABIC LETTER SEEN WITH INVERTED V
-0635 ; [.1C95.0020.0002.0635] # ARABIC LETTER SAD
-FEBB ; [.1C95.0020.0017.FEBB] # ARABIC LETTER SAD INITIAL FORM; QQK
-FEBC ; [.1C95.0020.0018.FEBC] # ARABIC LETTER SAD MEDIAL FORM; QQK
-FEBA ; [.1C95.0020.0019.FEBA] # ARABIC LETTER SAD FINAL FORM; QQK
-FEB9 ; [.1C95.0020.001A.FEB9] # ARABIC LETTER SAD ISOLATED FORM; QQK
-FCB1 ; [.1C95.0020.0017.FCB1][.1C61.0020.0017.FCB1] # ARABIC LIGATURE SAD WITH HAH INITIAL FORM; QQKN
-FC20 ; [.1C95.0020.001A.FC20][.1C61.0020.001A.FC20] # ARABIC LIGATURE SAD WITH HAH ISOLATED FORM; QQKN
-FD65 ; [.1C95.0020.0017.FD65][.1C61.0020.0017.FD65][.1C61.0020.001F.FD65] # ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM; QQKN
-FD64 ; [.1C95.0020.0019.FD64][.1C61.0020.0019.FD64][.1C61.0020.001F.FD64] # ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM; QQKN
-FDA9 ; [.1C95.0020.0019.FDA9][.1C61.0020.0019.FDA9][.1CE9.0020.001F.FDA9] # ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM; QQKN
-FCB2 ; [.1C95.0020.0017.FCB2][.1C62.0020.0017.FCB2] # ARABIC LIGATURE SAD WITH KHAH INITIAL FORM; QQKN
-FD2B ; [.1C95.0020.0019.FD2B][.1C7A.0020.0019.FD2B] # ARABIC LIGATURE SAD WITH REH FINAL FORM; QQKN
-FD0F ; [.1C95.0020.001A.FD0F][.1C7A.0020.001A.FD0F] # ARABIC LIGATURE SAD WITH REH ISOLATED FORM; QQKN
-FDF5 ; [.1C95.0020.001A.FDF5][.1CC4.0020.001A.FDF5][.1C9D.0020.001F.FDF5][.1CCA.0020.001F.FDF5] # ARABIC LIGATURE SALAM ISOLATED FORM; QQKN
-FDF9 ; [.1C95.0020.001A.FDF9][.1CC4.0020.001A.FDF9][.1CE8.0020.001F.FDF9] # ARABIC LIGATURE SALLA ISOLATED FORM; QQKN
-FDFA ; [.1C95.0020.001A.FDFA][.1CC4.0020.001A.FDFA][.1CE8.0020.001F.FDFA][*020A.0020.001F.FDFA][.1C46.0020.001F.FDFA][.1CC4.0020.001F.FDFA][.1CC4.0020.001F.FDFA][.1CD6.0020.001F.FDFA][*020A.0020.001F.FDFA][.1C9D.0020.001F.FDFA][.1CC4.0020.001F.FDFA][.1CE9.0020.001F.FDFA][.1CD6.0020.001F.FDFA][*020A.0020.001F.FDFA][.1CDC.0020.001F.FDFA][.1C8A.0020.001F.FDFA][.1CC4.0020.001F.FDFA][.1CCA.0020.001F.FDFA] # ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM; QQKN
-FDF0 ; [.1C95.0020.001A.FDF0][.1CC4.0020.001A.FDF0][.1CF6.0020.001F.FDF0] # ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM; QQKN
-FCB3 ; [.1C95.0020.0017.FCB3][.1CCA.0020.0017.FCB3] # ARABIC LIGATURE SAD WITH MEEM INITIAL FORM; QQKN
-FC21 ; [.1C95.0020.001A.FC21][.1CCA.0020.001A.FC21] # ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM; QQKN
-FDC5 ; [.1C95.0020.0017.FDC5][.1CCA.0020.0017.FDC5][.1CCA.0020.001F.FDC5] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FD66 ; [.1C95.0020.0019.FD66][.1CCA.0020.0019.FD66][.1CCA.0020.001F.FD66] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM; QQKN
-FD21 ; [.1C95.0020.0019.FD21][.1CE8.0020.0019.FD21] # ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM; QQKN
-FD05 ; [.1C95.0020.001A.FD05][.1CE8.0020.001A.FD05] # ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD22 ; [.1C95.0020.0019.FD22][.1CE9.0020.0019.FD22] # ARABIC LIGATURE SAD WITH YEH FINAL FORM; QQKN
-FD06 ; [.1C95.0020.001A.FD06][.1CE9.0020.001A.FD06] # ARABIC LIGATURE SAD WITH YEH ISOLATED FORM; QQKN
-0636 ; [.1C96.0020.0002.0636] # ARABIC LETTER DAD
-FEBF ; [.1C96.0020.0017.FEBF] # ARABIC LETTER DAD INITIAL FORM; QQK
-FEC0 ; [.1C96.0020.0018.FEC0] # ARABIC LETTER DAD MEDIAL FORM; QQK
-FEBE ; [.1C96.0020.0019.FEBE] # ARABIC LETTER DAD FINAL FORM; QQK
-FEBD ; [.1C96.0020.001A.FEBD] # ARABIC LETTER DAD ISOLATED FORM; QQK
-FCB4 ; [.1C96.0020.0017.FCB4][.1C5B.0020.0017.FCB4] # ARABIC LIGATURE DAD WITH JEEM INITIAL FORM; QQKN
-FC22 ; [.1C96.0020.001A.FC22][.1C5B.0020.001A.FC22] # ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM; QQKN
-FCB5 ; [.1C96.0020.0017.FCB5][.1C61.0020.0017.FCB5] # ARABIC LIGATURE DAD WITH HAH INITIAL FORM; QQKN
-FC23 ; [.1C96.0020.001A.FC23][.1C61.0020.001A.FC23] # ARABIC LIGATURE DAD WITH HAH ISOLATED FORM; QQKN
-FD6E ; [.1C96.0020.0019.FD6E][.1C61.0020.0019.FD6E][.1CE8.0020.001F.FD6E] # ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FDAB ; [.1C96.0020.0019.FDAB][.1C61.0020.0019.FDAB][.1CE9.0020.001F.FDAB] # ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM; QQKN
-FCB6 ; [.1C96.0020.0017.FCB6][.1C62.0020.0017.FCB6] # ARABIC LIGATURE DAD WITH KHAH INITIAL FORM; QQKN
-FC24 ; [.1C96.0020.001A.FC24][.1C62.0020.001A.FC24] # ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM; QQKN
-FD70 ; [.1C96.0020.0017.FD70][.1C62.0020.0017.FD70][.1CCA.0020.001F.FD70] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM; QQKN
-FD6F ; [.1C96.0020.0019.FD6F][.1C62.0020.0019.FD6F][.1CCA.0020.001F.FD6F] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM; QQKN
-FD2C ; [.1C96.0020.0019.FD2C][.1C7A.0020.0019.FD2C] # ARABIC LIGATURE DAD WITH REH FINAL FORM; QQKN
-FD10 ; [.1C96.0020.001A.FD10][.1C7A.0020.001A.FD10] # ARABIC LIGATURE DAD WITH REH ISOLATED FORM; QQKN
-FCB7 ; [.1C96.0020.0017.FCB7][.1CCA.0020.0017.FCB7] # ARABIC LIGATURE DAD WITH MEEM INITIAL FORM; QQKN
-FC25 ; [.1C96.0020.001A.FC25][.1CCA.0020.001A.FC25] # ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM; QQKN
-FD23 ; [.1C96.0020.0019.FD23][.1CE8.0020.0019.FD23] # ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM; QQKN
-FD07 ; [.1C96.0020.001A.FD07][.1CE8.0020.001A.FD07] # ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD24 ; [.1C96.0020.0019.FD24][.1CE9.0020.0019.FD24] # ARABIC LIGATURE DAD WITH YEH FINAL FORM; QQKN
-FD08 ; [.1C96.0020.001A.FD08][.1CE9.0020.001A.FD08] # ARABIC LIGATURE DAD WITH YEH ISOLATED FORM; QQKN
-069D ; [.1C97.0020.0002.069D] # ARABIC LETTER SAD WITH TWO DOTS BELOW
-069E ; [.1C98.0020.0002.069E] # ARABIC LETTER SAD WITH THREE DOTS ABOVE
-06FB ; [.1C99.0020.0002.06FB] # ARABIC LETTER DAD WITH DOT BELOW
-0637 ; [.1C9A.0020.0002.0637] # ARABIC LETTER TAH
-FEC3 ; [.1C9A.0020.0017.FEC3] # ARABIC LETTER TAH INITIAL FORM; QQK
-FEC4 ; [.1C9A.0020.0018.FEC4] # ARABIC LETTER TAH MEDIAL FORM; QQK
-FEC2 ; [.1C9A.0020.0019.FEC2] # ARABIC LETTER TAH FINAL FORM; QQK
-FEC1 ; [.1C9A.0020.001A.FEC1] # ARABIC LETTER TAH ISOLATED FORM; QQK
-FCB8 ; [.1C9A.0020.0017.FCB8][.1C61.0020.0017.FCB8] # ARABIC LIGATURE TAH WITH HAH INITIAL FORM; QQKN
-FC26 ; [.1C9A.0020.001A.FC26][.1C61.0020.001A.FC26] # ARABIC LIGATURE TAH WITH HAH ISOLATED FORM; QQKN
-FD33 ; [.1C9A.0020.0017.FD33][.1CCA.0020.0017.FD33] # ARABIC LIGATURE TAH WITH MEEM INITIAL FORM; QQKN
-FD3A ; [.1C9A.0020.0018.FD3A][.1CCA.0020.0018.FD3A] # ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM; QQKN
-FC27 ; [.1C9A.0020.001A.FC27][.1CCA.0020.001A.FC27] # ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM; QQKN
-FD72 ; [.1C9A.0020.0017.FD72][.1CCA.0020.0017.FD72][.1C61.0020.001F.FD72] # ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM; QQKN
-FD71 ; [.1C9A.0020.0019.FD71][.1CCA.0020.0019.FD71][.1C61.0020.001F.FD71] # ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM; QQKN
-FD73 ; [.1C9A.0020.0017.FD73][.1CCA.0020.0017.FD73][.1CCA.0020.001F.FD73] # ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FD74 ; [.1C9A.0020.0019.FD74][.1CCA.0020.0019.FD74][.1CE9.0020.001F.FD74] # ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM; QQKN
-FD11 ; [.1C9A.0020.0019.FD11][.1CE8.0020.0019.FD11] # ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FCF5 ; [.1C9A.0020.001A.FCF5][.1CE8.0020.001A.FCF5] # ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD12 ; [.1C9A.0020.0019.FD12][.1CE9.0020.0019.FD12] # ARABIC LIGATURE TAH WITH YEH FINAL FORM; QQKN
-FCF6 ; [.1C9A.0020.001A.FCF6][.1CE9.0020.001A.FCF6] # ARABIC LIGATURE TAH WITH YEH ISOLATED FORM; QQKN
-0638 ; [.1C9B.0020.0002.0638] # ARABIC LETTER ZAH
-FEC7 ; [.1C9B.0020.0017.FEC7] # ARABIC LETTER ZAH INITIAL FORM; QQK
-FEC8 ; [.1C9B.0020.0018.FEC8] # ARABIC LETTER ZAH MEDIAL FORM; QQK
-FEC6 ; [.1C9B.0020.0019.FEC6] # ARABIC LETTER ZAH FINAL FORM; QQK
-FEC5 ; [.1C9B.0020.001A.FEC5] # ARABIC LETTER ZAH ISOLATED FORM; QQK
-FCB9 ; [.1C9B.0020.0017.FCB9][.1CCA.0020.0017.FCB9] # ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM; QQKN
-FD3B ; [.1C9B.0020.0018.FD3B][.1CCA.0020.0018.FD3B] # ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM; QQKN
-FC28 ; [.1C9B.0020.001A.FC28][.1CCA.0020.001A.FC28] # ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM; QQKN
-069F ; [.1C9C.0020.0002.069F] # ARABIC LETTER TAH WITH THREE DOTS ABOVE
-0639 ; [.1C9D.0020.0002.0639] # ARABIC LETTER AIN
-FECB ; [.1C9D.0020.0017.FECB] # ARABIC LETTER AIN INITIAL FORM; QQK
-FECC ; [.1C9D.0020.0018.FECC] # ARABIC LETTER AIN MEDIAL FORM; QQK
-FECA ; [.1C9D.0020.0019.FECA] # ARABIC LETTER AIN FINAL FORM; QQK
-FEC9 ; [.1C9D.0020.001A.FEC9] # ARABIC LETTER AIN ISOLATED FORM; QQK
-FCBA ; [.1C9D.0020.0017.FCBA][.1C5B.0020.0017.FCBA] # ARABIC LIGATURE AIN WITH JEEM INITIAL FORM; QQKN
-FC29 ; [.1C9D.0020.001A.FC29][.1C5B.0020.001A.FC29] # ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM; QQKN
-FDC4 ; [.1C9D.0020.0017.FDC4][.1C5B.0020.0017.FDC4][.1CCA.0020.001F.FDC4] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM; QQKN
-FD75 ; [.1C9D.0020.0019.FD75][.1C5B.0020.0019.FD75][.1CCA.0020.001F.FD75] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM; QQKN
-FDF7 ; [.1C9D.0020.001A.FDF7][.1CC4.0020.001A.FDF7][.1CE9.0020.001F.FDF7][.1CD6.0020.001F.FDF7] # ARABIC LIGATURE ALAYHE ISOLATED FORM; QQKN
-FCBB ; [.1C9D.0020.0017.FCBB][.1CCA.0020.0017.FCBB] # ARABIC LIGATURE AIN WITH MEEM INITIAL FORM; QQKN
-FC2A ; [.1C9D.0020.001A.FC2A][.1CCA.0020.001A.FC2A] # ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM; QQKN
-FD77 ; [.1C9D.0020.0017.FD77][.1CCA.0020.0017.FD77][.1CCA.0020.001F.FD77] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FD76 ; [.1C9D.0020.0019.FD76][.1CCA.0020.0019.FD76][.1CCA.0020.001F.FD76] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM; QQKN
-FD78 ; [.1C9D.0020.0019.FD78][.1CCA.0020.0019.FD78][.1CE8.0020.001F.FD78] # ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FDB6 ; [.1C9D.0020.0019.FDB6][.1CCA.0020.0019.FDB6][.1CE9.0020.001F.FDB6] # ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM; QQKN
-FD13 ; [.1C9D.0020.0019.FD13][.1CE8.0020.0019.FD13] # ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM; QQKN
-FCF7 ; [.1C9D.0020.001A.FCF7][.1CE8.0020.001A.FCF7] # ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD14 ; [.1C9D.0020.0019.FD14][.1CE9.0020.0019.FD14] # ARABIC LIGATURE AIN WITH YEH FINAL FORM; QQKN
-FCF8 ; [.1C9D.0020.001A.FCF8][.1CE9.0020.001A.FCF8] # ARABIC LIGATURE AIN WITH YEH ISOLATED FORM; QQKN
-063A ; [.1C9E.0020.0002.063A] # ARABIC LETTER GHAIN
-FECF ; [.1C9E.0020.0017.FECF] # ARABIC LETTER GHAIN INITIAL FORM; QQK
-FED0 ; [.1C9E.0020.0018.FED0] # ARABIC LETTER GHAIN MEDIAL FORM; QQK
-FECE ; [.1C9E.0020.0019.FECE] # ARABIC LETTER GHAIN FINAL FORM; QQK
-FECD ; [.1C9E.0020.001A.FECD] # ARABIC LETTER GHAIN ISOLATED FORM; QQK
-FCBC ; [.1C9E.0020.0017.FCBC][.1C5B.0020.0017.FCBC] # ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM; QQKN
-FC2B ; [.1C9E.0020.001A.FC2B][.1C5B.0020.001A.FC2B] # ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM; QQKN
-FCBD ; [.1C9E.0020.0017.FCBD][.1CCA.0020.0017.FCBD] # ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM; QQKN
-FC2C ; [.1C9E.0020.001A.FC2C][.1CCA.0020.001A.FC2C] # ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM; QQKN
-FD79 ; [.1C9E.0020.0019.FD79][.1CCA.0020.0019.FD79][.1CCA.0020.001F.FD79] # ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM; QQKN
-FD7B ; [.1C9E.0020.0019.FD7B][.1CCA.0020.0019.FD7B][.1CE8.0020.001F.FD7B] # ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FD7A ; [.1C9E.0020.0019.FD7A][.1CCA.0020.0019.FD7A][.1CE9.0020.001F.FD7A] # ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM; QQKN
-FD15 ; [.1C9E.0020.0019.FD15][.1CE8.0020.0019.FD15] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM; QQKN
-FCF9 ; [.1C9E.0020.001A.FCF9][.1CE8.0020.001A.FCF9] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD16 ; [.1C9E.0020.0019.FD16][.1CE9.0020.0019.FD16] # ARABIC LIGATURE GHAIN WITH YEH FINAL FORM; QQKN
-FCFA ; [.1C9E.0020.001A.FCFA][.1CE9.0020.001A.FCFA] # ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM; QQKN
-06A0 ; [.1C9F.0020.0002.06A0] # ARABIC LETTER AIN WITH THREE DOTS ABOVE
-06FC ; [.1CA0.0020.0002.06FC] # ARABIC LETTER GHAIN WITH DOT BELOW
-075D ; [.1CA1.0020.0002.075D] # ARABIC LETTER AIN WITH TWO DOTS ABOVE
-075E ; [.1CA2.0020.0002.075E] # ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
-075F ; [.1CA3.0020.0002.075F] # ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
-0641 ; [.1CA4.0020.0002.0641] # ARABIC LETTER FEH
-FED3 ; [.1CA4.0020.0017.FED3] # ARABIC LETTER FEH INITIAL FORM; QQK
-FED4 ; [.1CA4.0020.0018.FED4] # ARABIC LETTER FEH MEDIAL FORM; QQK
-FED2 ; [.1CA4.0020.0019.FED2] # ARABIC LETTER FEH FINAL FORM; QQK
-FED1 ; [.1CA4.0020.001A.FED1] # ARABIC LETTER FEH ISOLATED FORM; QQK
-FCBE ; [.1CA4.0020.0017.FCBE][.1C5B.0020.0017.FCBE] # ARABIC LIGATURE FEH WITH JEEM INITIAL FORM; QQKN
-FC2D ; [.1CA4.0020.001A.FC2D][.1C5B.0020.001A.FC2D] # ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM; QQKN
-FCBF ; [.1CA4.0020.0017.FCBF][.1C61.0020.0017.FCBF] # ARABIC LIGATURE FEH WITH HAH INITIAL FORM; QQKN
-FC2E ; [.1CA4.0020.001A.FC2E][.1C61.0020.001A.FC2E] # ARABIC LIGATURE FEH WITH HAH ISOLATED FORM; QQKN
-FCC0 ; [.1CA4.0020.0017.FCC0][.1C62.0020.0017.FCC0] # ARABIC LIGATURE FEH WITH KHAH INITIAL FORM; QQKN
-FC2F ; [.1CA4.0020.001A.FC2F][.1C62.0020.001A.FC2F] # ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM; QQKN
-FD7D ; [.1CA4.0020.0017.FD7D][.1C62.0020.0017.FD7D][.1CCA.0020.001F.FD7D] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM; QQKN
-FD7C ; [.1CA4.0020.0019.FD7C][.1C62.0020.0019.FD7C][.1CCA.0020.001F.FD7C] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM; QQKN
-FCC1 ; [.1CA4.0020.0017.FCC1][.1CCA.0020.0017.FCC1] # ARABIC LIGATURE FEH WITH MEEM INITIAL FORM; QQKN
-FC30 ; [.1CA4.0020.001A.FC30][.1CCA.0020.001A.FC30] # ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM; QQKN
-FDC1 ; [.1CA4.0020.0019.FDC1][.1CCA.0020.0019.FDC1][.1CE9.0020.001F.FDC1] # ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM; QQKN
-FC7C ; [.1CA4.0020.0019.FC7C][.1CE8.0020.0019.FC7C] # ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM; QQKN
-FC31 ; [.1CA4.0020.001A.FC31][.1CE8.0020.001A.FC31] # ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC7D ; [.1CA4.0020.0019.FC7D][.1CE9.0020.0019.FC7D] # ARABIC LIGATURE FEH WITH YEH FINAL FORM; QQKN
-FC32 ; [.1CA4.0020.001A.FC32][.1CE9.0020.001A.FC32] # ARABIC LIGATURE FEH WITH YEH ISOLATED FORM; QQKN
-06A1 ; [.1CA5.0020.0002.06A1] # ARABIC LETTER DOTLESS FEH
-06A2 ; [.1CA6.0020.0002.06A2] # ARABIC LETTER FEH WITH DOT MOVED BELOW
-06A3 ; [.1CA7.0020.0002.06A3] # ARABIC LETTER FEH WITH DOT BELOW
-06A4 ; [.1CA8.0020.0002.06A4] # ARABIC LETTER VEH
-FB6C ; [.1CA8.0020.0017.FB6C] # ARABIC LETTER VEH INITIAL FORM; QQK
-FB6D ; [.1CA8.0020.0018.FB6D] # ARABIC LETTER VEH MEDIAL FORM; QQK
-FB6B ; [.1CA8.0020.0019.FB6B] # ARABIC LETTER VEH FINAL FORM; QQK
-FB6A ; [.1CA8.0020.001A.FB6A] # ARABIC LETTER VEH ISOLATED FORM; QQK
-06A5 ; [.1CA9.0020.0002.06A5] # ARABIC LETTER FEH WITH THREE DOTS BELOW
-06A6 ; [.1CAA.0020.0002.06A6] # ARABIC LETTER PEHEH
-FB70 ; [.1CAA.0020.0017.FB70] # ARABIC LETTER PEHEH INITIAL FORM; QQK
-FB71 ; [.1CAA.0020.0018.FB71] # ARABIC LETTER PEHEH MEDIAL FORM; QQK
-FB6F ; [.1CAA.0020.0019.FB6F] # ARABIC LETTER PEHEH FINAL FORM; QQK
-FB6E ; [.1CAA.0020.001A.FB6E] # ARABIC LETTER PEHEH ISOLATED FORM; QQK
-0760 ; [.1CAB.0020.0002.0760] # ARABIC LETTER FEH WITH TWO DOTS BELOW
-0761 ; [.1CAC.0020.0002.0761] # ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
-066F ; [.1CAD.0020.0002.066F] # ARABIC LETTER DOTLESS QAF
-0642 ; [.1CAE.0020.0002.0642] # ARABIC LETTER QAF
-FED7 ; [.1CAE.0020.0017.FED7] # ARABIC LETTER QAF INITIAL FORM; QQK
-FED8 ; [.1CAE.0020.0018.FED8] # ARABIC LETTER QAF MEDIAL FORM; QQK
-FED6 ; [.1CAE.0020.0019.FED6] # ARABIC LETTER QAF FINAL FORM; QQK
-FED5 ; [.1CAE.0020.001A.FED5] # ARABIC LETTER QAF ISOLATED FORM; QQK
-FCC2 ; [.1CAE.0020.0017.FCC2][.1C61.0020.0017.FCC2] # ARABIC LIGATURE QAF WITH HAH INITIAL FORM; QQKN
-FC33 ; [.1CAE.0020.001A.FC33][.1C61.0020.001A.FC33] # ARABIC LIGATURE QAF WITH HAH ISOLATED FORM; QQKN
-FDF1 ; [.1CAE.0020.001A.FDF1][.1CC4.0020.001A.FDF1][.1CF6.0020.001F.FDF1] # ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM; QQKN
-FCC3 ; [.1CAE.0020.0017.FCC3][.1CCA.0020.0017.FCC3] # ARABIC LIGATURE QAF WITH MEEM INITIAL FORM; QQKN
-FC34 ; [.1CAE.0020.001A.FC34][.1CCA.0020.001A.FC34] # ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM; QQKN
-FDB4 ; [.1CAE.0020.0017.FDB4][.1CCA.0020.0017.FDB4][.1C61.0020.001F.FDB4] # ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM; QQKN
-FD7E ; [.1CAE.0020.0019.FD7E][.1CCA.0020.0019.FD7E][.1C61.0020.001F.FD7E] # ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM; QQKN
-FD7F ; [.1CAE.0020.0019.FD7F][.1CCA.0020.0019.FD7F][.1CCA.0020.001F.FD7F] # ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM; QQKN
-FDB2 ; [.1CAE.0020.0019.FDB2][.1CCA.0020.0019.FDB2][.1CE9.0020.001F.FDB2] # ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM; QQKN
-FC7E ; [.1CAE.0020.0019.FC7E][.1CE8.0020.0019.FC7E] # ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM; QQKN
-FC35 ; [.1CAE.0020.001A.FC35][.1CE8.0020.001A.FC35] # ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC7F ; [.1CAE.0020.0019.FC7F][.1CE9.0020.0019.FC7F] # ARABIC LIGATURE QAF WITH YEH FINAL FORM; QQKN
-FC36 ; [.1CAE.0020.001A.FC36][.1CE9.0020.001A.FC36] # ARABIC LIGATURE QAF WITH YEH ISOLATED FORM; QQKN
-06A7 ; [.1CAF.0020.0002.06A7] # ARABIC LETTER QAF WITH DOT ABOVE
-06A8 ; [.1CB0.0020.0002.06A8] # ARABIC LETTER QAF WITH THREE DOTS ABOVE
-0643 ; [.1CB1.0020.0002.0643] # ARABIC LETTER KAF
-FEDB ; [.1CB1.0020.0017.FEDB] # ARABIC LETTER KAF INITIAL FORM; QQK
-FEDC ; [.1CB1.0020.0018.FEDC] # ARABIC LETTER KAF MEDIAL FORM; QQK
-FEDA ; [.1CB1.0020.0019.FEDA] # ARABIC LETTER KAF FINAL FORM; QQK
-FED9 ; [.1CB1.0020.001A.FED9] # ARABIC LETTER KAF ISOLATED FORM; QQK
-FC80 ; [.1CB1.0020.0019.FC80][.1C46.0020.0019.FC80] # ARABIC LIGATURE KAF WITH ALEF FINAL FORM; QQKN
-FC37 ; [.1CB1.0020.001A.FC37][.1C46.0020.001A.FC37] # ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM; QQKN
-FCC4 ; [.1CB1.0020.0017.FCC4][.1C5B.0020.0017.FCC4] # ARABIC LIGATURE KAF WITH JEEM INITIAL FORM; QQKN
-FC38 ; [.1CB1.0020.001A.FC38][.1C5B.0020.001A.FC38] # ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM; QQKN
-FCC5 ; [.1CB1.0020.0017.FCC5][.1C61.0020.0017.FCC5] # ARABIC LIGATURE KAF WITH HAH INITIAL FORM; QQKN
-FC39 ; [.1CB1.0020.001A.FC39][.1C61.0020.001A.FC39] # ARABIC LIGATURE KAF WITH HAH ISOLATED FORM; QQKN
-FCC6 ; [.1CB1.0020.0017.FCC6][.1C62.0020.0017.FCC6] # ARABIC LIGATURE KAF WITH KHAH INITIAL FORM; QQKN
-FC3A ; [.1CB1.0020.001A.FC3A][.1C62.0020.001A.FC3A] # ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM; QQKN
-FCC7 ; [.1CB1.0020.0017.FCC7][.1CC4.0020.0017.FCC7] # ARABIC LIGATURE KAF WITH LAM INITIAL FORM; QQKN
-FCEB ; [.1CB1.0020.0018.FCEB][.1CC4.0020.0018.FCEB] # ARABIC LIGATURE KAF WITH LAM MEDIAL FORM; QQKN
-FC81 ; [.1CB1.0020.0019.FC81][.1CC4.0020.0019.FC81] # ARABIC LIGATURE KAF WITH LAM FINAL FORM; QQKN
-FC3B ; [.1CB1.0020.001A.FC3B][.1CC4.0020.001A.FC3B] # ARABIC LIGATURE KAF WITH LAM ISOLATED FORM; QQKN
-FCC8 ; [.1CB1.0020.0017.FCC8][.1CCA.0020.0017.FCC8] # ARABIC LIGATURE KAF WITH MEEM INITIAL FORM; QQKN
-FCEC ; [.1CB1.0020.0018.FCEC][.1CCA.0020.0018.FCEC] # ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM; QQKN
-FC82 ; [.1CB1.0020.0019.FC82][.1CCA.0020.0019.FC82] # ARABIC LIGATURE KAF WITH MEEM FINAL FORM; QQKN
-FC3C ; [.1CB1.0020.001A.FC3C][.1CCA.0020.001A.FC3C] # ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM; QQKN
-FDC3 ; [.1CB1.0020.0017.FDC3][.1CCA.0020.0017.FDC3][.1CCA.0020.001F.FDC3] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FDBB ; [.1CB1.0020.0019.FDBB][.1CCA.0020.0019.FDBB][.1CCA.0020.001F.FDBB] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM; QQKN
-FDB7 ; [.1CB1.0020.0019.FDB7][.1CCA.0020.0019.FDB7][.1CE9.0020.001F.FDB7] # ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM; QQKN
-FC83 ; [.1CB1.0020.0019.FC83][.1CE8.0020.0019.FC83] # ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM; QQKN
-FC3D ; [.1CB1.0020.001A.FC3D][.1CE8.0020.001A.FC3D] # ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC84 ; [.1CB1.0020.0019.FC84][.1CE9.0020.0019.FC84] # ARABIC LIGATURE KAF WITH YEH FINAL FORM; QQKN
-FC3E ; [.1CB1.0020.001A.FC3E][.1CE9.0020.001A.FC3E] # ARABIC LIGATURE KAF WITH YEH ISOLATED FORM; QQKN
-06A9 ; [.1CB2.0020.0002.06A9] # ARABIC LETTER KEHEH
-FB90 ; [.1CB2.0020.0017.FB90] # ARABIC LETTER KEHEH INITIAL FORM; QQK
-FB91 ; [.1CB2.0020.0018.FB91] # ARABIC LETTER KEHEH MEDIAL FORM; QQK
-FB8F ; [.1CB2.0020.0019.FB8F] # ARABIC LETTER KEHEH FINAL FORM; QQK
-FB8E ; [.1CB2.0020.001A.FB8E] # ARABIC LETTER KEHEH ISOLATED FORM; QQK
-06AA ; [.1CB3.0020.0002.06AA] # ARABIC LETTER SWASH KAF
-06AB ; [.1CB4.0020.0002.06AB] # ARABIC LETTER KAF WITH RING
-06AC ; [.1CB5.0020.0002.06AC] # ARABIC LETTER KAF WITH DOT ABOVE
-077F ; [.1CB6.0020.0002.077F] # ARABIC LETTER KAF WITH TWO DOTS ABOVE
-06AD ; [.1CB7.0020.0002.06AD] # ARABIC LETTER NG
-FBD5 ; [.1CB7.0020.0017.FBD5] # ARABIC LETTER NG INITIAL FORM; QQK
-FBD6 ; [.1CB7.0020.0018.FBD6] # ARABIC LETTER NG MEDIAL FORM; QQK
-FBD4 ; [.1CB7.0020.0019.FBD4] # ARABIC LETTER NG FINAL FORM; QQK
-FBD3 ; [.1CB7.0020.001A.FBD3] # ARABIC LETTER NG ISOLATED FORM; QQK
-06AE ; [.1CB8.0020.0002.06AE] # ARABIC LETTER KAF WITH THREE DOTS BELOW
-06AF ; [.1CB9.0020.0002.06AF] # ARABIC LETTER GAF
-FB94 ; [.1CB9.0020.0017.FB94] # ARABIC LETTER GAF INITIAL FORM; QQK
-FB95 ; [.1CB9.0020.0018.FB95] # ARABIC LETTER GAF MEDIAL FORM; QQK
-FB93 ; [.1CB9.0020.0019.FB93] # ARABIC LETTER GAF FINAL FORM; QQK
-FB92 ; [.1CB9.0020.001A.FB92] # ARABIC LETTER GAF ISOLATED FORM; QQK
-06B0 ; [.1CBA.0020.0002.06B0] # ARABIC LETTER GAF WITH RING
-06B1 ; [.1CBB.0020.0002.06B1] # ARABIC LETTER NGOEH
-FB9C ; [.1CBB.0020.0017.FB9C] # ARABIC LETTER NGOEH INITIAL FORM; QQK
-FB9D ; [.1CBB.0020.0018.FB9D] # ARABIC LETTER NGOEH MEDIAL FORM; QQK
-FB9B ; [.1CBB.0020.0019.FB9B] # ARABIC LETTER NGOEH FINAL FORM; QQK
-FB9A ; [.1CBB.0020.001A.FB9A] # ARABIC LETTER NGOEH ISOLATED FORM; QQK
-06B2 ; [.1CBC.0020.0002.06B2] # ARABIC LETTER GAF WITH TWO DOTS BELOW
-06B3 ; [.1CBD.0020.0002.06B3] # ARABIC LETTER GUEH
-FB98 ; [.1CBD.0020.0017.FB98] # ARABIC LETTER GUEH INITIAL FORM; QQK
-FB99 ; [.1CBD.0020.0018.FB99] # ARABIC LETTER GUEH MEDIAL FORM; QQK
-FB97 ; [.1CBD.0020.0019.FB97] # ARABIC LETTER GUEH FINAL FORM; QQK
-FB96 ; [.1CBD.0020.001A.FB96] # ARABIC LETTER GUEH ISOLATED FORM; QQK
-06B4 ; [.1CBE.0020.0002.06B4] # ARABIC LETTER GAF WITH THREE DOTS ABOVE
-0762 ; [.1CBF.0020.0002.0762] # ARABIC LETTER KEHEH WITH DOT ABOVE
-063B ; [.1CC0.0020.0002.063B] # ARABIC LETTER KEHEH WITH TWO DOTS ABOVE
-063C ; [.1CC1.0020.0002.063C] # ARABIC LETTER KEHEH WITH THREE DOTS BELOW
-0763 ; [.1CC2.0020.0002.0763] # ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
-0764 ; [.1CC3.0020.0002.0764] # ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
-0644 ; [.1CC4.0020.0002.0644] # ARABIC LETTER LAM
-FEDF ; [.1CC4.0020.0017.FEDF] # ARABIC LETTER LAM INITIAL FORM; QQK
-FEE0 ; [.1CC4.0020.0018.FEE0] # ARABIC LETTER LAM MEDIAL FORM; QQK
-FEDE ; [.1CC4.0020.0019.FEDE] # ARABIC LETTER LAM FINAL FORM; QQK
-FEDD ; [.1CC4.0020.001A.FEDD] # ARABIC LETTER LAM ISOLATED FORM; QQK
-FEF6 ; [.1CC4.0020.0019.FEF6][.1C3C.0020.0019.FEF6] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM; QQKN
-FEF5 ; [.1CC4.0020.001A.FEF5][.1C3C.0020.001A.FEF5] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM; QQKN
-FEF8 ; [.1CC4.0020.0019.FEF8][.1C3D.0020.0019.FEF8] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM; QQKN
-FEF7 ; [.1CC4.0020.001A.FEF7][.1C3D.0020.001A.FEF7] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM; QQKN
-FEFA ; [.1CC4.0020.0019.FEFA][.1C41.0020.0019.FEFA] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM; QQKN
-FEF9 ; [.1CC4.0020.001A.FEF9][.1C41.0020.001A.FEF9] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM; QQKN
-FEFC ; [.1CC4.0020.0019.FEFC][.1C46.0020.0019.FEFC] # ARABIC LIGATURE LAM WITH ALEF FINAL FORM; QQKN
-FEFB ; [.1CC4.0020.001A.FEFB][.1C46.0020.001A.FEFB] # ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM; QQKN
-FCC9 ; [.1CC4.0020.0017.FCC9][.1C5B.0020.0017.FCC9] # ARABIC LIGATURE LAM WITH JEEM INITIAL FORM; QQKN
-FC3F ; [.1CC4.0020.001A.FC3F][.1C5B.0020.001A.FC3F] # ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM; QQKN
-FD83 ; [.1CC4.0020.0017.FD83][.1C5B.0020.0017.FD83][.1C5B.0020.001F.FD83] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM; QQKN
-FD84 ; [.1CC4.0020.0019.FD84][.1C5B.0020.0019.FD84][.1C5B.0020.001F.FD84] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM; QQKN
-FDBA ; [.1CC4.0020.0017.FDBA][.1C5B.0020.0017.FDBA][.1CCA.0020.001F.FDBA] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM; QQKN
-FDBC ; [.1CC4.0020.0019.FDBC][.1C5B.0020.0019.FDBC][.1CCA.0020.001F.FDBC] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM; QQKN
-FDAC ; [.1CC4.0020.0019.FDAC][.1C5B.0020.0019.FDAC][.1CE9.0020.001F.FDAC] # ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM; QQKN
-FCCA ; [.1CC4.0020.0017.FCCA][.1C61.0020.0017.FCCA] # ARABIC LIGATURE LAM WITH HAH INITIAL FORM; QQKN
-FC40 ; [.1CC4.0020.001A.FC40][.1C61.0020.001A.FC40] # ARABIC LIGATURE LAM WITH HAH ISOLATED FORM; QQKN
-FDB5 ; [.1CC4.0020.0017.FDB5][.1C61.0020.0017.FDB5][.1CCA.0020.001F.FDB5] # ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM; QQKN
-FD80 ; [.1CC4.0020.0019.FD80][.1C61.0020.0019.FD80][.1CCA.0020.001F.FD80] # ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM; QQKN
-FD82 ; [.1CC4.0020.0019.FD82][.1C61.0020.0019.FD82][.1CE8.0020.001F.FD82] # ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FD81 ; [.1CC4.0020.0019.FD81][.1C61.0020.0019.FD81][.1CE9.0020.001F.FD81] # ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM; QQKN
-FCCB ; [.1CC4.0020.0017.FCCB][.1C62.0020.0017.FCCB] # ARABIC LIGATURE LAM WITH KHAH INITIAL FORM; QQKN
-FC41 ; [.1CC4.0020.001A.FC41][.1C62.0020.001A.FC41] # ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM; QQKN
-FD86 ; [.1CC4.0020.0017.FD86][.1C62.0020.0017.FD86][.1CCA.0020.001F.FD86] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM; QQKN
-FD85 ; [.1CC4.0020.0019.FD85][.1C62.0020.0019.FD85][.1CCA.0020.001F.FD85] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM; QQKN
-FCCC ; [.1CC4.0020.0017.FCCC][.1CCA.0020.0017.FCCC] # ARABIC LIGATURE LAM WITH MEEM INITIAL FORM; QQKN
-FCED ; [.1CC4.0020.0018.FCED][.1CCA.0020.0018.FCED] # ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM; QQKN
-FC85 ; [.1CC4.0020.0019.FC85][.1CCA.0020.0019.FC85] # ARABIC LIGATURE LAM WITH MEEM FINAL FORM; QQKN
-FC42 ; [.1CC4.0020.001A.FC42][.1CCA.0020.001A.FC42] # ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM; QQKN
-FD88 ; [.1CC4.0020.0017.FD88][.1CCA.0020.0017.FD88][.1C61.0020.001F.FD88] # ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM; QQKN
-FD87 ; [.1CC4.0020.0019.FD87][.1CCA.0020.0019.FD87][.1C61.0020.001F.FD87] # ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM; QQKN
-FDAD ; [.1CC4.0020.0019.FDAD][.1CCA.0020.0019.FDAD][.1CE9.0020.001F.FDAD] # ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM; QQKN
-FCCD ; [.1CC4.0020.0017.FCCD][.1CD6.0020.0017.FCCD] # ARABIC LIGATURE LAM WITH HEH INITIAL FORM; QQKN
-FC86 ; [.1CC4.0020.0019.FC86][.1CE8.0020.0019.FC86] # ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM; QQKN
-FC43 ; [.1CC4.0020.001A.FC43][.1CE8.0020.001A.FC43] # ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC87 ; [.1CC4.0020.0019.FC87][.1CE9.0020.0019.FC87] # ARABIC LIGATURE LAM WITH YEH FINAL FORM; QQKN
-FC44 ; [.1CC4.0020.001A.FC44][.1CE9.0020.001A.FC44] # ARABIC LIGATURE LAM WITH YEH ISOLATED FORM; QQKN
-06B5 ; [.1CC5.0020.0002.06B5] # ARABIC LETTER LAM WITH SMALL V
-06B6 ; [.1CC6.0020.0002.06B6] # ARABIC LETTER LAM WITH DOT ABOVE
-06B7 ; [.1CC7.0020.0002.06B7] # ARABIC LETTER LAM WITH THREE DOTS ABOVE
-06B8 ; [.1CC8.0020.0002.06B8] # ARABIC LETTER LAM WITH THREE DOTS BELOW
-076A ; [.1CC9.0020.0002.076A] # ARABIC LETTER LAM WITH BAR
-0645 ; [.1CCA.0020.0002.0645] # ARABIC LETTER MEEM
-FEE3 ; [.1CCA.0020.0017.FEE3] # ARABIC LETTER MEEM INITIAL FORM; QQK
-FEE4 ; [.1CCA.0020.0018.FEE4] # ARABIC LETTER MEEM MEDIAL FORM; QQK
-FEE2 ; [.1CCA.0020.0019.FEE2] # ARABIC LETTER MEEM FINAL FORM; QQK
-FEE1 ; [.1CCA.0020.001A.FEE1] # ARABIC LETTER MEEM ISOLATED FORM; QQK
-06FE ; [.1CCA.0020.0004.06FE][.0000.0160.0004.06FE] # ARABIC SIGN SINDHI POSTPOSITION MEN; QQKN
-FC88 ; [.1CCA.0020.0019.FC88][.1C46.0020.0019.FC88] # ARABIC LIGATURE MEEM WITH ALEF FINAL FORM; QQKN
-FCCE ; [.1CCA.0020.0017.FCCE][.1C5B.0020.0017.FCCE] # ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM; QQKN
-FC45 ; [.1CCA.0020.001A.FC45][.1C5B.0020.001A.FC45] # ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM; QQKN
-FD8C ; [.1CCA.0020.0017.FD8C][.1C5B.0020.0017.FD8C][.1C61.0020.001F.FD8C] # ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM; QQKN
-FD92 ; [.1CCA.0020.0017.FD92][.1C5B.0020.0017.FD92][.1C62.0020.001F.FD92] # ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM; QQKN
-FD8D ; [.1CCA.0020.0017.FD8D][.1C5B.0020.0017.FD8D][.1CCA.0020.001F.FD8D] # ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM; QQKN
-FDC0 ; [.1CCA.0020.0019.FDC0][.1C5B.0020.0019.FDC0][.1CE9.0020.001F.FDC0] # ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM; QQKN
-FCCF ; [.1CCA.0020.0017.FCCF][.1C61.0020.0017.FCCF] # ARABIC LIGATURE MEEM WITH HAH INITIAL FORM; QQKN
-FC46 ; [.1CCA.0020.001A.FC46][.1C61.0020.001A.FC46] # ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM; QQKN
-FD89 ; [.1CCA.0020.0017.FD89][.1C61.0020.0017.FD89][.1C5B.0020.001F.FD89] # ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM; QQKN
-FD8A ; [.1CCA.0020.0017.FD8A][.1C61.0020.0017.FD8A][.1CCA.0020.001F.FD8A] # ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM; QQKN
-FDF4 ; [.1CCA.0020.001A.FDF4][.1C61.0020.001A.FDF4][.1CCA.0020.001F.FDF4][.1C6C.0020.001F.FDF4] # ARABIC LIGATURE MOHAMMAD ISOLATED FORM; QQKN
-FD8B ; [.1CCA.0020.0019.FD8B][.1C61.0020.0019.FD8B][.1CE9.0020.001F.FD8B] # ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM; QQKN
-FCD0 ; [.1CCA.0020.0017.FCD0][.1C62.0020.0017.FCD0] # ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM; QQKN
-FC47 ; [.1CCA.0020.001A.FC47][.1C62.0020.001A.FC47] # ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM; QQKN
-FD8E ; [.1CCA.0020.0017.FD8E][.1C62.0020.0017.FD8E][.1C5B.0020.001F.FD8E] # ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM; QQKN
-FD8F ; [.1CCA.0020.0017.FD8F][.1C62.0020.0017.FD8F][.1CCA.0020.001F.FD8F] # ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM; QQKN
-FDB9 ; [.1CCA.0020.0019.FDB9][.1C62.0020.0019.FDB9][.1CE9.0020.001F.FDB9] # ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM; QQKN
-FCD1 ; [.1CCA.0020.0017.FCD1][.1CCA.0020.0017.FCD1] # ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM; QQKN
-FC89 ; [.1CCA.0020.0019.FC89][.1CCA.0020.0019.FC89] # ARABIC LIGATURE MEEM WITH MEEM FINAL FORM; QQKN
-FC48 ; [.1CCA.0020.001A.FC48][.1CCA.0020.001A.FC48] # ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM; QQKN
-FDB1 ; [.1CCA.0020.0019.FDB1][.1CCA.0020.0019.FDB1][.1CE9.0020.001F.FDB1] # ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM; QQKN
-FC49 ; [.1CCA.0020.001A.FC49][.1CE8.0020.001A.FC49] # ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC4A ; [.1CCA.0020.001A.FC4A][.1CE9.0020.001A.FC4A] # ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM; QQKN
-0765 ; [.1CCB.0020.0002.0765] # ARABIC LETTER MEEM WITH DOT ABOVE
-0766 ; [.1CCC.0020.0002.0766] # ARABIC LETTER MEEM WITH DOT BELOW
-0646 ; [.1CCD.0020.0002.0646] # ARABIC LETTER NOON
-FEE7 ; [.1CCD.0020.0017.FEE7] # ARABIC LETTER NOON INITIAL FORM; QQK
-FEE8 ; [.1CCD.0020.0018.FEE8] # ARABIC LETTER NOON MEDIAL FORM; QQK
-FEE6 ; [.1CCD.0020.0019.FEE6] # ARABIC LETTER NOON FINAL FORM; QQK
-FEE5 ; [.1CCD.0020.001A.FEE5] # ARABIC LETTER NOON ISOLATED FORM; QQK
-FCD2 ; [.1CCD.0020.0017.FCD2][.1C5B.0020.0017.FCD2] # ARABIC LIGATURE NOON WITH JEEM INITIAL FORM; QQKN
-FC4B ; [.1CCD.0020.001A.FC4B][.1C5B.0020.001A.FC4B] # ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM; QQKN
-FDB8 ; [.1CCD.0020.0017.FDB8][.1C5B.0020.0017.FDB8][.1C61.0020.001F.FDB8] # ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM; QQKN
-FDBD ; [.1CCD.0020.0019.FDBD][.1C5B.0020.0019.FDBD][.1C61.0020.001F.FDBD] # ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM; QQKN
-FD98 ; [.1CCD.0020.0017.FD98][.1C5B.0020.0017.FD98][.1CCA.0020.001F.FD98] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM; QQKN
-FD97 ; [.1CCD.0020.0019.FD97][.1C5B.0020.0019.FD97][.1CCA.0020.001F.FD97] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM; QQKN
-FD99 ; [.1CCD.0020.0019.FD99][.1C5B.0020.0019.FD99][.1CE8.0020.001F.FD99] # ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FDC7 ; [.1CCD.0020.0019.FDC7][.1C5B.0020.0019.FDC7][.1CE9.0020.001F.FDC7] # ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM; QQKN
-FCD3 ; [.1CCD.0020.0017.FCD3][.1C61.0020.0017.FCD3] # ARABIC LIGATURE NOON WITH HAH INITIAL FORM; QQKN
-FC4C ; [.1CCD.0020.001A.FC4C][.1C61.0020.001A.FC4C] # ARABIC LIGATURE NOON WITH HAH ISOLATED FORM; QQKN
-FD95 ; [.1CCD.0020.0017.FD95][.1C61.0020.0017.FD95][.1CCA.0020.001F.FD95] # ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM; QQKN
-FD96 ; [.1CCD.0020.0019.FD96][.1C61.0020.0019.FD96][.1CE8.0020.001F.FD96] # ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FDB3 ; [.1CCD.0020.0019.FDB3][.1C61.0020.0019.FDB3][.1CE9.0020.001F.FDB3] # ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM; QQKN
-FCD4 ; [.1CCD.0020.0017.FCD4][.1C62.0020.0017.FCD4] # ARABIC LIGATURE NOON WITH KHAH INITIAL FORM; QQKN
-FC4D ; [.1CCD.0020.001A.FC4D][.1C62.0020.001A.FC4D] # ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM; QQKN
-FC8A ; [.1CCD.0020.0019.FC8A][.1C7A.0020.0019.FC8A] # ARABIC LIGATURE NOON WITH REH FINAL FORM; QQKN
-FC8B ; [.1CCD.0020.0019.FC8B][.1C7B.0020.0019.FC8B] # ARABIC LIGATURE NOON WITH ZAIN FINAL FORM; QQKN
-FCD5 ; [.1CCD.0020.0017.FCD5][.1CCA.0020.0017.FCD5] # ARABIC LIGATURE NOON WITH MEEM INITIAL FORM; QQKN
-FCEE ; [.1CCD.0020.0018.FCEE][.1CCA.0020.0018.FCEE] # ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM; QQKN
-FC8C ; [.1CCD.0020.0019.FC8C][.1CCA.0020.0019.FC8C] # ARABIC LIGATURE NOON WITH MEEM FINAL FORM; QQKN
-FC4E ; [.1CCD.0020.001A.FC4E][.1CCA.0020.001A.FC4E] # ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM; QQKN
-FD9B ; [.1CCD.0020.0019.FD9B][.1CCA.0020.0019.FD9B][.1CE8.0020.001F.FD9B] # ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FD9A ; [.1CCD.0020.0019.FD9A][.1CCA.0020.0019.FD9A][.1CE9.0020.001F.FD9A] # ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM; QQKN
-FC8D ; [.1CCD.0020.0019.FC8D][.1CCD.0020.0019.FC8D] # ARABIC LIGATURE NOON WITH NOON FINAL FORM; QQKN
-FCD6 ; [.1CCD.0020.0017.FCD6][.1CD6.0020.0017.FCD6] # ARABIC LIGATURE NOON WITH HEH INITIAL FORM; QQKN
-FCEF ; [.1CCD.0020.0018.FCEF][.1CD6.0020.0018.FCEF] # ARABIC LIGATURE NOON WITH HEH MEDIAL FORM; QQKN
-FC8E ; [.1CCD.0020.0019.FC8E][.1CE8.0020.0019.FC8E] # ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM; QQKN
-FC4F ; [.1CCD.0020.001A.FC4F][.1CE8.0020.001A.FC4F] # ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC8F ; [.1CCD.0020.0019.FC8F][.1CE9.0020.0019.FC8F] # ARABIC LIGATURE NOON WITH YEH FINAL FORM; QQKN
-FC50 ; [.1CCD.0020.001A.FC50][.1CE9.0020.001A.FC50] # ARABIC LIGATURE NOON WITH YEH ISOLATED FORM; QQKN
-06BA ; [.1CCE.0020.0002.06BA] # ARABIC LETTER NOON GHUNNA
-FB9F ; [.1CCE.0020.0019.FB9F] # ARABIC LETTER NOON GHUNNA FINAL FORM; QQK
-FB9E ; [.1CCE.0020.001A.FB9E] # ARABIC LETTER NOON GHUNNA ISOLATED FORM; QQK
-06BB ; [.1CCF.0020.0002.06BB] # ARABIC LETTER RNOON
-FBA2 ; [.1CCF.0020.0017.FBA2] # ARABIC LETTER RNOON INITIAL FORM; QQK
-FBA3 ; [.1CCF.0020.0018.FBA3] # ARABIC LETTER RNOON MEDIAL FORM; QQK
-FBA1 ; [.1CCF.0020.0019.FBA1] # ARABIC LETTER RNOON FINAL FORM; QQK
-FBA0 ; [.1CCF.0020.001A.FBA0] # ARABIC LETTER RNOON ISOLATED FORM; QQK
-06BC ; [.1CD0.0020.0002.06BC] # ARABIC LETTER NOON WITH RING
-06BD ; [.1CD1.0020.0002.06BD] # ARABIC LETTER NOON WITH THREE DOTS ABOVE
-06B9 ; [.1CD2.0020.0002.06B9] # ARABIC LETTER NOON WITH DOT BELOW
-0767 ; [.1CD3.0020.0002.0767] # ARABIC LETTER NOON WITH TWO DOTS BELOW
-0768 ; [.1CD4.0020.0002.0768] # ARABIC LETTER NOON WITH SMALL TAH
-0769 ; [.1CD5.0020.0002.0769] # ARABIC LETTER NOON WITH SMALL V
-0647 ; [.1CD6.0020.0002.0647] # ARABIC LETTER HEH
-FEEB ; [.1CD6.0020.0017.FEEB] # ARABIC LETTER HEH INITIAL FORM; QQK
-FEEC ; [.1CD6.0020.0018.FEEC] # ARABIC LETTER HEH MEDIAL FORM; QQK
-FEEA ; [.1CD6.0020.0019.FEEA] # ARABIC LETTER HEH FINAL FORM; QQK
-FEE9 ; [.1CD6.0020.001A.FEE9] # ARABIC LETTER HEH ISOLATED FORM; QQK
-FCD9 ; [.1CD6.0020.0017.FCD9][.0000.00BD.0017.FCD9] # ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM; QQKN
-FCD7 ; [.1CD6.0020.0017.FCD7][.1C5B.0020.0017.FCD7] # ARABIC LIGATURE HEH WITH JEEM INITIAL FORM; QQKN
-FC51 ; [.1CD6.0020.001A.FC51][.1C5B.0020.001A.FC51] # ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM; QQKN
-FCD8 ; [.1CD6.0020.0017.FCD8][.1CCA.0020.0017.FCD8] # ARABIC LIGATURE HEH WITH MEEM INITIAL FORM; QQKN
-FC52 ; [.1CD6.0020.001A.FC52][.1CCA.0020.001A.FC52] # ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM; QQKN
-FD93 ; [.1CD6.0020.0017.FD93][.1CCA.0020.0017.FD93][.1C5B.0020.001F.FD93] # ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM; QQKN
-FD94 ; [.1CD6.0020.0017.FD94][.1CCA.0020.0017.FD94][.1CCA.0020.001F.FD94] # ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FC53 ; [.1CD6.0020.001A.FC53][.1CE8.0020.001A.FC53] # ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC54 ; [.1CD6.0020.001A.FC54][.1CE9.0020.001A.FC54] # ARABIC LIGATURE HEH WITH YEH ISOLATED FORM; QQKN
-06BE ; [.1CD7.0020.0002.06BE] # ARABIC LETTER HEH DOACHASHMEE
-FBAC ; [.1CD7.0020.0017.FBAC] # ARABIC LETTER HEH DOACHASHMEE INITIAL FORM; QQK
-FBAD ; [.1CD7.0020.0018.FBAD] # ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM; QQK
-FBAB ; [.1CD7.0020.0019.FBAB] # ARABIC LETTER HEH DOACHASHMEE FINAL FORM; QQK
-FBAA ; [.1CD7.0020.001A.FBAA] # ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM; QQK
-06C1 ; [.1CD8.0020.0002.06C1] # ARABIC LETTER HEH GOAL
-FBA8 ; [.1CD8.0020.0017.FBA8] # ARABIC LETTER HEH GOAL INITIAL FORM; QQK
-FBA9 ; [.1CD8.0020.0018.FBA9] # ARABIC LETTER HEH GOAL MEDIAL FORM; QQK
-FBA7 ; [.1CD8.0020.0019.FBA7] # ARABIC LETTER HEH GOAL FINAL FORM; QQK
-FBA6 ; [.1CD8.0020.001A.FBA6] # ARABIC LETTER HEH GOAL ISOLATED FORM; QQK
-06C2 ; [.1CD8.0020.0002.06C1][.0000.00B1.0002.0654] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE; QQCM
-06C3 ; [.1CD9.0020.0002.06C3] # ARABIC LETTER TEH MARBUTA GOAL
-06FF ; [.1CDA.0020.0002.06FF] # ARABIC LETTER HEH WITH INVERTED V
-06D5 ; [.1CDB.0020.0002.06D5] # ARABIC LETTER AE
-06C0 ; [.1CDB.0020.0002.06D5][.0000.00B1.0002.0654] # ARABIC LETTER HEH WITH YEH ABOVE; QQCM
-FBA5 ; [.1CDB.0020.0019.FBA5][.0000.00B1.0019.FBA5] # ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM; QQKN
-FBA4 ; [.1CDB.0020.001A.FBA4][.0000.00B1.001A.FBA4] # ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM; QQKN
-0648 ; [.1CDC.0020.0002.0648] # ARABIC LETTER WAW
-06E5 ; [.1CDC.0020.0004.06E5] # ARABIC SMALL WAW; QQK
-FEEE ; [.1CDC.0020.0019.FEEE] # ARABIC LETTER WAW FINAL FORM; QQK
-FEED ; [.1CDC.0020.001A.FEED] # ARABIC LETTER WAW ISOLATED FORM; QQK
-0676 ; [.1CDC.0020.0004.0676][.1C3B.0020.0004.0676] # ARABIC LETTER HIGH HAMZA WAW; QQKN
-FDF8 ; [.1CDC.0020.001A.FDF8][.1C8A.0020.001A.FDF8][.1CC4.0020.001F.FDF8][.1CCA.0020.001F.FDF8] # ARABIC LIGATURE WASALLAM ISOLATED FORM; QQKN
-06C4 ; [.1CDD.0020.0002.06C4] # ARABIC LETTER WAW WITH RING
-06C5 ; [.1CDE.0020.0002.06C5] # ARABIC LETTER KIRGHIZ OE
-FBE1 ; [.1CDE.0020.0019.FBE1] # ARABIC LETTER KIRGHIZ OE FINAL FORM; QQK
-FBE0 ; [.1CDE.0020.001A.FBE0] # ARABIC LETTER KIRGHIZ OE ISOLATED FORM; QQK
-06C6 ; [.1CDF.0020.0002.06C6] # ARABIC LETTER OE
-FBDA ; [.1CDF.0020.0019.FBDA] # ARABIC LETTER OE FINAL FORM; QQK
-FBD9 ; [.1CDF.0020.001A.FBD9] # ARABIC LETTER OE ISOLATED FORM; QQK
-06C7 ; [.1CE0.0020.0002.06C7] # ARABIC LETTER U
-FBD8 ; [.1CE0.0020.0019.FBD8] # ARABIC LETTER U FINAL FORM; QQK
-FBD7 ; [.1CE0.0020.001A.FBD7] # ARABIC LETTER U ISOLATED FORM; QQK
-0677 ; [.1CE0.0020.0004.0677][.1C3B.0020.0004.0677] # ARABIC LETTER U WITH HAMZA ABOVE; QQKN
-FBDD ; [.1CE0.0020.001A.FBDD][.1C3B.0020.001A.FBDD] # ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM; QQKN
-06C8 ; [.1CE1.0020.0002.06C8] # ARABIC LETTER YU
-FBDC ; [.1CE1.0020.0019.FBDC] # ARABIC LETTER YU FINAL FORM; QQK
-FBDB ; [.1CE1.0020.001A.FBDB] # ARABIC LETTER YU ISOLATED FORM; QQK
-06C9 ; [.1CE2.0020.0002.06C9] # ARABIC LETTER KIRGHIZ YU
-FBE3 ; [.1CE2.0020.0019.FBE3] # ARABIC LETTER KIRGHIZ YU FINAL FORM; QQK
-FBE2 ; [.1CE2.0020.001A.FBE2] # ARABIC LETTER KIRGHIZ YU ISOLATED FORM; QQK
-06CA ; [.1CE3.0020.0002.06CA] # ARABIC LETTER WAW WITH TWO DOTS ABOVE
-06CB ; [.1CE4.0020.0002.06CB] # ARABIC LETTER VE
-FBDF ; [.1CE4.0020.0019.FBDF] # ARABIC LETTER VE FINAL FORM; QQK
-FBDE ; [.1CE4.0020.001A.FBDE] # ARABIC LETTER VE ISOLATED FORM; QQK
-06CF ; [.1CE5.0020.0002.06CF] # ARABIC LETTER WAW WITH DOT ABOVE
-0778 ; [.1CE6.0020.0002.0778] # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0779 ; [.1CE7.0020.0002.0779] # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0649 ; [.1CE8.0020.0002.0649] # ARABIC LETTER ALEF MAKSURA
-FBE8 ; [.1CE8.0020.0017.FBE8] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM; QQK
-FBE9 ; [.1CE8.0020.0018.FBE9] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM; QQK
-FEF0 ; [.1CE8.0020.0019.FEF0] # ARABIC LETTER ALEF MAKSURA FINAL FORM; QQK
-FEEF ; [.1CE8.0020.001A.FEEF] # ARABIC LETTER ALEF MAKSURA ISOLATED FORM; QQK
-FC90 ; [.1CE8.0020.0019.FC90][.0000.00BD.0019.FC90] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM; QQKN
-FC5D ; [.1CE8.0020.001A.FC5D][.0000.00BD.001A.FC5D] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM; QQKN
-064A ; [.1CE9.0020.0002.064A] # ARABIC LETTER YEH
-06E6 ; [.1CE9.0020.0004.06E6] # ARABIC SMALL YEH; QQK
-FEF3 ; [.1CE9.0020.0017.FEF3] # ARABIC LETTER YEH INITIAL FORM; QQK
-FEF4 ; [.1CE9.0020.0018.FEF4] # ARABIC LETTER YEH MEDIAL FORM; QQK
-FEF2 ; [.1CE9.0020.0019.FEF2] # ARABIC LETTER YEH FINAL FORM; QQK
-FEF1 ; [.1CE9.0020.001A.FEF1] # ARABIC LETTER YEH ISOLATED FORM; QQK
-0678 ; [.1CE9.0020.0004.0678][.1C3B.0020.0004.0678] # ARABIC LETTER HIGH HAMZA YEH; QQKN
-FCDA ; [.1CE9.0020.0017.FCDA][.1C5B.0020.0017.FCDA] # ARABIC LIGATURE YEH WITH JEEM INITIAL FORM; QQKN
-FC55 ; [.1CE9.0020.001A.FC55][.1C5B.0020.001A.FC55] # ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM; QQKN
-FDAF ; [.1CE9.0020.0019.FDAF][.1C5B.0020.0019.FDAF][.1CE9.0020.001F.FDAF] # ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM; QQKN
-FCDB ; [.1CE9.0020.0017.FCDB][.1C61.0020.0017.FCDB] # ARABIC LIGATURE YEH WITH HAH INITIAL FORM; QQKN
-FC56 ; [.1CE9.0020.001A.FC56][.1C61.0020.001A.FC56] # ARABIC LIGATURE YEH WITH HAH ISOLATED FORM; QQKN
-FDAE ; [.1CE9.0020.0019.FDAE][.1C61.0020.0019.FDAE][.1CE9.0020.001F.FDAE] # ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM; QQKN
-FCDC ; [.1CE9.0020.0017.FCDC][.1C62.0020.0017.FCDC] # ARABIC LIGATURE YEH WITH KHAH INITIAL FORM; QQKN
-FC57 ; [.1CE9.0020.001A.FC57][.1C62.0020.001A.FC57] # ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM; QQKN
-FC91 ; [.1CE9.0020.0019.FC91][.1C7A.0020.0019.FC91] # ARABIC LIGATURE YEH WITH REH FINAL FORM; QQKN
-FC92 ; [.1CE9.0020.0019.FC92][.1C7B.0020.0019.FC92] # ARABIC LIGATURE YEH WITH ZAIN FINAL FORM; QQKN
-FCDD ; [.1CE9.0020.0017.FCDD][.1CCA.0020.0017.FCDD] # ARABIC LIGATURE YEH WITH MEEM INITIAL FORM; QQKN
-FCF0 ; [.1CE9.0020.0018.FCF0][.1CCA.0020.0018.FCF0] # ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM; QQKN
-FC93 ; [.1CE9.0020.0019.FC93][.1CCA.0020.0019.FC93] # ARABIC LIGATURE YEH WITH MEEM FINAL FORM; QQKN
-FC58 ; [.1CE9.0020.001A.FC58][.1CCA.0020.001A.FC58] # ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM; QQKN
-FD9D ; [.1CE9.0020.0017.FD9D][.1CCA.0020.0017.FD9D][.1CCA.0020.001F.FD9D] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FD9C ; [.1CE9.0020.0019.FD9C][.1CCA.0020.0019.FD9C][.1CCA.0020.001F.FD9C] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM; QQKN
-FDB0 ; [.1CE9.0020.0019.FDB0][.1CCA.0020.0019.FDB0][.1CE9.0020.001F.FDB0] # ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM; QQKN
-FC94 ; [.1CE9.0020.0019.FC94][.1CCD.0020.0019.FC94] # ARABIC LIGATURE YEH WITH NOON FINAL FORM; QQKN
-FCDE ; [.1CE9.0020.0017.FCDE][.1CD6.0020.0017.FCDE] # ARABIC LIGATURE YEH WITH HEH INITIAL FORM; QQKN
-FCF1 ; [.1CE9.0020.0018.FCF1][.1CD6.0020.0018.FCF1] # ARABIC LIGATURE YEH WITH HEH MEDIAL FORM; QQKN
-FC95 ; [.1CE9.0020.0019.FC95][.1CE8.0020.0019.FC95] # ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM; QQKN
-FC59 ; [.1CE9.0020.001A.FC59][.1CE8.0020.001A.FC59] # ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC96 ; [.1CE9.0020.0019.FC96][.1CE9.0020.0019.FC96] # ARABIC LIGATURE YEH WITH YEH FINAL FORM; QQKN
-FC5A ; [.1CE9.0020.001A.FC5A][.1CE9.0020.001A.FC5A] # ARABIC LIGATURE YEH WITH YEH ISOLATED FORM; QQKN
-06CC ; [.1CEA.0020.0002.06CC] # ARABIC LETTER FARSI YEH
-FBFE ; [.1CEA.0020.0017.FBFE] # ARABIC LETTER FARSI YEH INITIAL FORM; QQK
-FBFF ; [.1CEA.0020.0018.FBFF] # ARABIC LETTER FARSI YEH MEDIAL FORM; QQK
-FBFD ; [.1CEA.0020.0019.FBFD] # ARABIC LETTER FARSI YEH FINAL FORM; QQK
-FBFC ; [.1CEA.0020.001A.FBFC] # ARABIC LETTER FARSI YEH ISOLATED FORM; QQK
-06CD ; [.1CEB.0020.0002.06CD] # ARABIC LETTER YEH WITH TAIL
-06CE ; [.1CEC.0020.0002.06CE] # ARABIC LETTER YEH WITH SMALL V
-06D0 ; [.1CED.0020.0002.06D0] # ARABIC LETTER E
-FBE6 ; [.1CED.0020.0017.FBE6] # ARABIC LETTER E INITIAL FORM; QQK
-FBE7 ; [.1CED.0020.0018.FBE7] # ARABIC LETTER E MEDIAL FORM; QQK
-FBE5 ; [.1CED.0020.0019.FBE5] # ARABIC LETTER E FINAL FORM; QQK
-FBE4 ; [.1CED.0020.001A.FBE4] # ARABIC LETTER E ISOLATED FORM; QQK
-06D1 ; [.1CEE.0020.0002.06D1] # ARABIC LETTER YEH WITH THREE DOTS BELOW
-063D ; [.1CEF.0020.0002.063D] # ARABIC LETTER FARSI YEH WITH INVERTED V
-063E ; [.1CF0.0020.0002.063E] # ARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE
-063F ; [.1CF1.0020.0002.063F] # ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0620 ; [.1CF2.0020.0002.0620] # ARABIC LETTER KASHMIRI YEH
-0775 ; [.1CF3.0020.0002.0775] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0776 ; [.1CF4.0020.0002.0776] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0777 ; [.1CF5.0020.0002.0777] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
-06D2 ; [.1CF6.0020.0002.06D2] # ARABIC LETTER YEH BARREE
-FBAF ; [.1CF6.0020.0019.FBAF] # ARABIC LETTER YEH BARREE FINAL FORM; QQK
-FBAE ; [.1CF6.0020.001A.FBAE] # ARABIC LETTER YEH BARREE ISOLATED FORM; QQK
-06D3 ; [.1CF6.0020.0002.06D2][.0000.00B1.0002.0654] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE; QQCM
-FBB1 ; [.1CF6.0020.0019.FBB1][.0000.00B1.0019.FBB1] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM; QQKN
-FBB0 ; [.1CF6.0020.001A.FBB0][.0000.00B1.001A.FBB0] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM; QQKN
-077A ; [.1CF7.0020.0002.077A] # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-077B ; [.1CF8.0020.0002.077B] # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0710 ; [.1CF9.0020.0002.0710] # SYRIAC LETTER ALAPH
-0712 ; [.1CFA.0020.0002.0712] # SYRIAC LETTER BETH
-072D ; [.1CFA.0020.0004.072D][.0000.0162.0004.072D] # SYRIAC LETTER PERSIAN BHETH; QQKN
-0713 ; [.1CFB.0020.0002.0713] # SYRIAC LETTER GAMAL
-0714 ; [.1CFB.0020.0004.0714][.0000.0160.0004.0714] # SYRIAC LETTER GAMAL GARSHUNI; QQKN
-072E ; [.1CFB.0020.0004.072E][.0000.0162.0004.072E] # SYRIAC LETTER PERSIAN GHAMAL; QQKN
-0716 ; [.1CFC.0020.0002.0716] # SYRIAC LETTER DOTLESS DALATH RISH
-0715 ; [.1CFD.0020.0002.0715] # SYRIAC LETTER DALATH
-072F ; [.1CFD.0020.0004.072F][.0000.0162.0004.072F] # SYRIAC LETTER PERSIAN DHALATH; QQKN
-0717 ; [.1CFE.0020.0002.0717] # SYRIAC LETTER HE
-0718 ; [.1CFF.0020.0002.0718] # SYRIAC LETTER WAW
-0719 ; [.1D00.0020.0002.0719] # SYRIAC LETTER ZAIN
-074D ; [.1D01.0020.0002.074D] # SYRIAC LETTER SOGDIAN ZHAIN
-071A ; [.1D02.0020.0002.071A] # SYRIAC LETTER HETH
-071B ; [.1D03.0020.0002.071B] # SYRIAC LETTER TETH
-071C ; [.1D03.0020.0004.071C][.0000.0160.0004.071C] # SYRIAC LETTER TETH GARSHUNI; QQKN
-071D ; [.1D04.0020.0002.071D] # SYRIAC LETTER YUDH
-071E ; [.1D05.0020.0002.071E] # SYRIAC LETTER YUDH HE
-071F ; [.1D06.0020.0002.071F] # SYRIAC LETTER KAPH
-074E ; [.1D07.0020.0002.074E] # SYRIAC LETTER SOGDIAN KHAPH
-0720 ; [.1D08.0020.0002.0720] # SYRIAC LETTER LAMADH
-0721 ; [.1D09.0020.0002.0721] # SYRIAC LETTER MIM
-0722 ; [.1D0A.0020.0002.0722] # SYRIAC LETTER NUN
-0723 ; [.1D0B.0020.0002.0723] # SYRIAC LETTER SEMKATH
-0724 ; [.1D0B.0020.0019.0724] # SYRIAC LETTER FINAL SEMKATH; QQK
-0725 ; [.1D0C.0020.0002.0725] # SYRIAC LETTER E
-0726 ; [.1D0D.0020.0002.0726] # SYRIAC LETTER PE
-0727 ; [.1D0D.0020.0004.0727][.0000.0160.0004.0727] # SYRIAC LETTER REVERSED PE; QQKN
-074F ; [.1D0E.0020.0002.074F] # SYRIAC LETTER SOGDIAN FE
-0728 ; [.1D0F.0020.0002.0728] # SYRIAC LETTER SADHE
-0729 ; [.1D10.0020.0002.0729] # SYRIAC LETTER QAPH
-072A ; [.1D11.0020.0002.072A] # SYRIAC LETTER RISH
-072B ; [.1D12.0020.0002.072B] # SYRIAC LETTER SHIN
-072C ; [.1D13.0020.0002.072C] # SYRIAC LETTER TAW
-0840 ; [.1D14.0020.0002.0840] # MANDAIC LETTER HALQA
-0841 ; [.1D15.0020.0002.0841] # MANDAIC LETTER AB
-0842 ; [.1D16.0020.0002.0842] # MANDAIC LETTER AG
-0843 ; [.1D17.0020.0002.0843] # MANDAIC LETTER AD
-0844 ; [.1D18.0020.0002.0844] # MANDAIC LETTER AH
-0845 ; [.1D19.0020.0002.0845] # MANDAIC LETTER USHENNA
-0846 ; [.1D1A.0020.0002.0846] # MANDAIC LETTER AZ
-0847 ; [.1D1B.0020.0002.0847] # MANDAIC LETTER IT
-0848 ; [.1D1C.0020.0002.0848] # MANDAIC LETTER ATT
-0849 ; [.1D1D.0020.0002.0849] # MANDAIC LETTER AKSA
-084A ; [.1D1E.0020.0002.084A] # MANDAIC LETTER AK
-084B ; [.1D1F.0020.0002.084B] # MANDAIC LETTER AL
-084C ; [.1D20.0020.0002.084C] # MANDAIC LETTER AM
-084D ; [.1D21.0020.0002.084D] # MANDAIC LETTER AN
-084E ; [.1D22.0020.0002.084E] # MANDAIC LETTER AS
-084F ; [.1D23.0020.0002.084F] # MANDAIC LETTER IN
-0850 ; [.1D24.0020.0002.0850] # MANDAIC LETTER AP
-0851 ; [.1D25.0020.0002.0851] # MANDAIC LETTER ASZ
-0852 ; [.1D26.0020.0002.0852] # MANDAIC LETTER AQ
-0853 ; [.1D27.0020.0002.0853] # MANDAIC LETTER AR
-0854 ; [.1D28.0020.0002.0854] # MANDAIC LETTER ASH
-0855 ; [.1D29.0020.0002.0855] # MANDAIC LETTER AT
-0856 ; [.1D2A.0020.0002.0856] # MANDAIC LETTER DUSHENNA
-0857 ; [.1D2B.0020.0002.0857] # MANDAIC LETTER KAD
-0858 ; [.1D2C.0020.0002.0858] # MANDAIC LETTER AIN
-0780 ; [.1D2D.0020.0002.0780] # THAANA LETTER HAA
-0799 ; [.1D2E.0020.0002.0799] # THAANA LETTER HHAA
-079A ; [.1D2F.0020.0002.079A] # THAANA LETTER KHAA
-0781 ; [.1D30.0020.0002.0781] # THAANA LETTER SHAVIYANI
-0782 ; [.1D31.0020.0002.0782] # THAANA LETTER NOONU
-0783 ; [.1D32.0020.0002.0783] # THAANA LETTER RAA
-079C ; [.1D33.0020.0002.079C] # THAANA LETTER ZAA
-0784 ; [.1D34.0020.0002.0784] # THAANA LETTER BAA
-0785 ; [.1D35.0020.0002.0785] # THAANA LETTER LHAVIYANI
-0786 ; [.1D36.0020.0002.0786] # THAANA LETTER KAAFU
-0787 ; [.1D37.0020.0002.0787] # THAANA LETTER ALIFU
-07A2 ; [.1D38.0020.0002.07A2] # THAANA LETTER AINU
-07A3 ; [.1D39.0020.0002.07A3] # THAANA LETTER GHAINU
-0788 ; [.1D3A.0020.0002.0788] # THAANA LETTER VAAVU
-07A5 ; [.1D3B.0020.0002.07A5] # THAANA LETTER WAAVU
-0789 ; [.1D3C.0020.0002.0789] # THAANA LETTER MEEMU
-078A ; [.1D3D.0020.0002.078A] # THAANA LETTER FAAFU
-078B ; [.1D3E.0020.0002.078B] # THAANA LETTER DHAALU
-079B ; [.1D3F.0020.0002.079B] # THAANA LETTER THAALU
-078C ; [.1D40.0020.0002.078C] # THAANA LETTER THAA
-0798 ; [.1D41.0020.0002.0798] # THAANA LETTER TTAA
-07A0 ; [.1D42.0020.0002.07A0] # THAANA LETTER TO
-07A1 ; [.1D43.0020.0002.07A1] # THAANA LETTER ZO
-078D ; [.1D44.0020.0002.078D] # THAANA LETTER LAAMU
-078E ; [.1D45.0020.0002.078E] # THAANA LETTER GAAFU
-07A4 ; [.1D46.0020.0002.07A4] # THAANA LETTER QAAFU
-078F ; [.1D47.0020.0002.078F] # THAANA LETTER GNAVIYANI
-0790 ; [.1D48.0020.0002.0790] # THAANA LETTER SEENU
-079D ; [.1D49.0020.0002.079D] # THAANA LETTER SHEENU
-079E ; [.1D4A.0020.0002.079E] # THAANA LETTER SAADHU
-079F ; [.1D4B.0020.0002.079F] # THAANA LETTER DAADHU
-0791 ; [.1D4C.0020.0002.0791] # THAANA LETTER DAVIYANI
-0792 ; [.1D4D.0020.0002.0792] # THAANA LETTER ZAVIYANI
-0793 ; [.1D4E.0020.0002.0793] # THAANA LETTER TAVIYANI
-0794 ; [.1D4F.0020.0002.0794] # THAANA LETTER YAA
-0795 ; [.1D50.0020.0002.0795] # THAANA LETTER PAVIYANI
-0796 ; [.1D51.0020.0002.0796] # THAANA LETTER JAVIYANI
-0797 ; [.1D52.0020.0002.0797] # THAANA LETTER CHAVIYANI
-07B1 ; [.1D53.0020.0002.07B1] # THAANA LETTER NAA
-07A6 ; [.1D54.0020.0002.07A6] # THAANA ABAFILI
-07A7 ; [.1D55.0020.0002.07A7] # THAANA AABAAFILI
-07A8 ; [.1D56.0020.0002.07A8] # THAANA IBIFILI
-07A9 ; [.1D57.0020.0002.07A9] # THAANA EEBEEFILI
-07AA ; [.1D58.0020.0002.07AA] # THAANA UBUFILI
-07AB ; [.1D59.0020.0002.07AB] # THAANA OOBOOFILI
-07AC ; [.1D5A.0020.0002.07AC] # THAANA EBEFILI
-07AD ; [.1D5B.0020.0002.07AD] # THAANA EYBEYFILI
-07AE ; [.1D5C.0020.0002.07AE] # THAANA OBOFILI
-07AF ; [.1D5D.0020.0002.07AF] # THAANA OABOAFILI
-07B0 ; [.1D5E.0020.0002.07B0] # THAANA SUKUN
-07CA ; [.1D5F.0020.0002.07CA] # NKO LETTER A
-07CB ; [.1D60.0020.0002.07CB] # NKO LETTER EE
-07CC ; [.1D61.0020.0002.07CC] # NKO LETTER I
-07CD ; [.1D62.0020.0002.07CD] # NKO LETTER E
-07CE ; [.1D63.0020.0002.07CE] # NKO LETTER U
-07CF ; [.1D64.0020.0002.07CF] # NKO LETTER OO
-07D0 ; [.1D65.0020.0002.07D0] # NKO LETTER O
-07D1 ; [.1D66.0020.0002.07D1] # NKO LETTER DAGBASINNA
-07D2 ; [.1D67.0020.0002.07D2] # NKO LETTER N
-07D3 ; [.1D68.0020.0002.07D3] # NKO LETTER BA
-07D4 ; [.1D69.0020.0002.07D4] # NKO LETTER PA
-07D5 ; [.1D6A.0020.0002.07D5] # NKO LETTER TA
-07D6 ; [.1D6B.0020.0002.07D6] # NKO LETTER JA
-07E8 ; [.1D6B.0020.0004.07E8][.0000.015F.0004.07E8] # NKO LETTER JONA JA; QQKN
-07D7 ; [.1D6C.0020.0002.07D7] # NKO LETTER CHA
-07E9 ; [.1D6C.0020.0004.07E9][.0000.015F.0004.07E9] # NKO LETTER JONA CHA; QQKN
-07D8 ; [.1D6D.0020.0002.07D8] # NKO LETTER DA
-07D9 ; [.1D6E.0020.0002.07D9] # NKO LETTER RA
-07EA ; [.1D6E.0020.0004.07EA][.0000.015F.0004.07EA] # NKO LETTER JONA RA; QQKN
-07DA ; [.1D6F.0020.0002.07DA] # NKO LETTER RRA
-07DB ; [.1D70.0020.0002.07DB] # NKO LETTER SA
-07DC ; [.1D71.0020.0002.07DC] # NKO LETTER GBA
-07DD ; [.1D72.0020.0002.07DD] # NKO LETTER FA
-07DE ; [.1D73.0020.0002.07DE] # NKO LETTER KA
-07DF ; [.1D74.0020.0002.07DF] # NKO LETTER LA
-07E0 ; [.1D75.0020.0002.07E0] # NKO LETTER NA WOLOSO
-07E1 ; [.1D76.0020.0002.07E1] # NKO LETTER MA
-07E2 ; [.1D77.0020.0002.07E2] # NKO LETTER NYA
-07E3 ; [.1D78.0020.0002.07E3] # NKO LETTER NA
-07E4 ; [.1D79.0020.0002.07E4] # NKO LETTER HA
-07E5 ; [.1D7A.0020.0002.07E5] # NKO LETTER WA
-07E6 ; [.1D7B.0020.0002.07E6] # NKO LETTER YA
-07E7 ; [.1D7C.0020.0002.07E7] # NKO LETTER NYA WOLOSO
-07F4 ; [.1D7D.0020.0002.07F4] # NKO HIGH TONE APOSTROPHE
-07F5 ; [.1D7E.0020.0002.07F5] # NKO LOW TONE APOSTROPHE
-2D30 ; [.1D7F.0020.0002.2D30] # TIFINAGH LETTER YA
-2D31 ; [.1D80.0020.0002.2D31] # TIFINAGH LETTER YAB
-2D32 ; [.1D81.0020.0002.2D32] # TIFINAGH LETTER YABH
-2D33 ; [.1D82.0020.0002.2D33] # TIFINAGH LETTER YAG
-2D34 ; [.1D83.0020.0002.2D34] # TIFINAGH LETTER YAGHH
-2D35 ; [.1D84.0020.0002.2D35] # TIFINAGH LETTER BERBER ACADEMY YAJ
-2D36 ; [.1D85.0020.0002.2D36] # TIFINAGH LETTER YAJ
-2D37 ; [.1D86.0020.0002.2D37] # TIFINAGH LETTER YAD
-2D38 ; [.1D87.0020.0002.2D38] # TIFINAGH LETTER YADH
-2D39 ; [.1D88.0020.0002.2D39] # TIFINAGH LETTER YADD
-2D3A ; [.1D89.0020.0002.2D3A] # TIFINAGH LETTER YADDH
-2D3B ; [.1D8A.0020.0002.2D3B] # TIFINAGH LETTER YEY
-2D3C ; [.1D8B.0020.0002.2D3C] # TIFINAGH LETTER YAF
-2D3D ; [.1D8C.0020.0002.2D3D] # TIFINAGH LETTER YAK
-2D3E ; [.1D8D.0020.0002.2D3E] # TIFINAGH LETTER TUAREG YAK
-2D3F ; [.1D8E.0020.0002.2D3F] # TIFINAGH LETTER YAKHH
-2D40 ; [.1D8F.0020.0002.2D40] # TIFINAGH LETTER YAH
-2D41 ; [.1D90.0020.0002.2D41] # TIFINAGH LETTER BERBER ACADEMY YAH
-2D42 ; [.1D91.0020.0002.2D42] # TIFINAGH LETTER TUAREG YAH
-2D43 ; [.1D92.0020.0002.2D43] # TIFINAGH LETTER YAHH
-2D44 ; [.1D93.0020.0002.2D44] # TIFINAGH LETTER YAA
-2D45 ; [.1D94.0020.0002.2D45] # TIFINAGH LETTER YAKH
-2D46 ; [.1D95.0020.0002.2D46] # TIFINAGH LETTER TUAREG YAKH
-2D47 ; [.1D96.0020.0002.2D47] # TIFINAGH LETTER YAQ
-2D48 ; [.1D97.0020.0002.2D48] # TIFINAGH LETTER TUAREG YAQ
-2D49 ; [.1D98.0020.0002.2D49] # TIFINAGH LETTER YI
-2D4A ; [.1D99.0020.0002.2D4A] # TIFINAGH LETTER YAZH
-2D4B ; [.1D9A.0020.0002.2D4B] # TIFINAGH LETTER AHAGGAR YAZH
-2D4C ; [.1D9B.0020.0002.2D4C] # TIFINAGH LETTER TUAREG YAZH
-2D4D ; [.1D9C.0020.0002.2D4D] # TIFINAGH LETTER YAL
-2D4E ; [.1D9D.0020.0002.2D4E] # TIFINAGH LETTER YAM
-2D4F ; [.1D9E.0020.0002.2D4F] # TIFINAGH LETTER YAN
-2D50 ; [.1D9F.0020.0002.2D50] # TIFINAGH LETTER TUAREG YAGN
-2D51 ; [.1DA0.0020.0002.2D51] # TIFINAGH LETTER TUAREG YANG
-2D52 ; [.1DA1.0020.0002.2D52] # TIFINAGH LETTER YAP
-2D53 ; [.1DA2.0020.0002.2D53] # TIFINAGH LETTER YU
-2D54 ; [.1DA3.0020.0002.2D54] # TIFINAGH LETTER YAR
-2D55 ; [.1DA4.0020.0002.2D55] # TIFINAGH LETTER YARR
-2D56 ; [.1DA5.0020.0002.2D56] # TIFINAGH LETTER YAGH
-2D57 ; [.1DA6.0020.0002.2D57] # TIFINAGH LETTER TUAREG YAGH
-2D58 ; [.1DA7.0020.0002.2D58] # TIFINAGH LETTER AYER YAGH
-2D59 ; [.1DA8.0020.0002.2D59] # TIFINAGH LETTER YAS
-2D5A ; [.1DA9.0020.0002.2D5A] # TIFINAGH LETTER YASS
-2D5B ; [.1DAA.0020.0002.2D5B] # TIFINAGH LETTER YASH
-2D5C ; [.1DAB.0020.0002.2D5C] # TIFINAGH LETTER YAT
-2D5D ; [.1DAC.0020.0002.2D5D] # TIFINAGH LETTER YATH
-2D5E ; [.1DAD.0020.0002.2D5E] # TIFINAGH LETTER YACH
-2D5F ; [.1DAE.0020.0002.2D5F] # TIFINAGH LETTER YATT
-2D60 ; [.1DAF.0020.0002.2D60] # TIFINAGH LETTER YAV
-2D61 ; [.1DB0.0020.0002.2D61] # TIFINAGH LETTER YAW
-2D62 ; [.1DB1.0020.0002.2D62] # TIFINAGH LETTER YAY
-2D63 ; [.1DB2.0020.0002.2D63] # TIFINAGH LETTER YAZ
-2D64 ; [.1DB3.0020.0002.2D64] # TIFINAGH LETTER TAWELLEMET YAZ
-2D65 ; [.1DB4.0020.0002.2D65] # TIFINAGH LETTER YAZZ
-2D6F ; [.1DB5.0020.0002.2D6F] # TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-1200 ; [.1DB6.0020.0002.1200] # ETHIOPIC SYLLABLE HA
-1201 ; [.1DB7.0020.0002.1201] # ETHIOPIC SYLLABLE HU
-1202 ; [.1DB8.0020.0002.1202] # ETHIOPIC SYLLABLE HI
-1203 ; [.1DB9.0020.0002.1203] # ETHIOPIC SYLLABLE HAA
-1204 ; [.1DBA.0020.0002.1204] # ETHIOPIC SYLLABLE HEE
-1205 ; [.1DBB.0020.0002.1205] # ETHIOPIC SYLLABLE HE
-1206 ; [.1DBC.0020.0002.1206] # ETHIOPIC SYLLABLE HO
-1207 ; [.1DBD.0020.0002.1207] # ETHIOPIC SYLLABLE HOA
-1208 ; [.1DBE.0020.0002.1208] # ETHIOPIC SYLLABLE LA
-1209 ; [.1DBF.0020.0002.1209] # ETHIOPIC SYLLABLE LU
-120A ; [.1DC0.0020.0002.120A] # ETHIOPIC SYLLABLE LI
-120B ; [.1DC1.0020.0002.120B] # ETHIOPIC SYLLABLE LAA
-120C ; [.1DC2.0020.0002.120C] # ETHIOPIC SYLLABLE LEE
-120D ; [.1DC3.0020.0002.120D] # ETHIOPIC SYLLABLE LE
-120E ; [.1DC4.0020.0002.120E] # ETHIOPIC SYLLABLE LO
-120F ; [.1DC5.0020.0002.120F] # ETHIOPIC SYLLABLE LWA
-2D80 ; [.1DC6.0020.0002.2D80] # ETHIOPIC SYLLABLE LOA
-1210 ; [.1DC7.0020.0002.1210] # ETHIOPIC SYLLABLE HHA
-1211 ; [.1DC8.0020.0002.1211] # ETHIOPIC SYLLABLE HHU
-1212 ; [.1DC9.0020.0002.1212] # ETHIOPIC SYLLABLE HHI
-1213 ; [.1DCA.0020.0002.1213] # ETHIOPIC SYLLABLE HHAA
-1214 ; [.1DCB.0020.0002.1214] # ETHIOPIC SYLLABLE HHEE
-1215 ; [.1DCC.0020.0002.1215] # ETHIOPIC SYLLABLE HHE
-1216 ; [.1DCD.0020.0002.1216] # ETHIOPIC SYLLABLE HHO
-1217 ; [.1DCE.0020.0002.1217] # ETHIOPIC SYLLABLE HHWA
-1218 ; [.1DCF.0020.0002.1218] # ETHIOPIC SYLLABLE MA
-1219 ; [.1DD0.0020.0002.1219] # ETHIOPIC SYLLABLE MU
-121A ; [.1DD1.0020.0002.121A] # ETHIOPIC SYLLABLE MI
-121B ; [.1DD2.0020.0002.121B] # ETHIOPIC SYLLABLE MAA
-121C ; [.1DD3.0020.0002.121C] # ETHIOPIC SYLLABLE MEE
-121D ; [.1DD4.0020.0002.121D] # ETHIOPIC SYLLABLE ME
-121E ; [.1DD5.0020.0002.121E] # ETHIOPIC SYLLABLE MO
-121F ; [.1DD6.0020.0002.121F] # ETHIOPIC SYLLABLE MWA
-1380 ; [.1DD7.0020.0002.1380] # ETHIOPIC SYLLABLE SEBATBEIT MWA
-1381 ; [.1DD8.0020.0002.1381] # ETHIOPIC SYLLABLE MWI
-1382 ; [.1DD9.0020.0002.1382] # ETHIOPIC SYLLABLE MWEE
-1383 ; [.1DDA.0020.0002.1383] # ETHIOPIC SYLLABLE MWE
-2D81 ; [.1DDB.0020.0002.2D81] # ETHIOPIC SYLLABLE MOA
-1220 ; [.1DDC.0020.0002.1220] # ETHIOPIC SYLLABLE SZA
-1221 ; [.1DDD.0020.0002.1221] # ETHIOPIC SYLLABLE SZU
-1222 ; [.1DDE.0020.0002.1222] # ETHIOPIC SYLLABLE SZI
-1223 ; [.1DDF.0020.0002.1223] # ETHIOPIC SYLLABLE SZAA
-1224 ; [.1DE0.0020.0002.1224] # ETHIOPIC SYLLABLE SZEE
-1225 ; [.1DE1.0020.0002.1225] # ETHIOPIC SYLLABLE SZE
-1226 ; [.1DE2.0020.0002.1226] # ETHIOPIC SYLLABLE SZO
-1227 ; [.1DE3.0020.0002.1227] # ETHIOPIC SYLLABLE SZWA
-1228 ; [.1DE4.0020.0002.1228] # ETHIOPIC SYLLABLE RA
-1229 ; [.1DE5.0020.0002.1229] # ETHIOPIC SYLLABLE RU
-122A ; [.1DE6.0020.0002.122A] # ETHIOPIC SYLLABLE RI
-122B ; [.1DE7.0020.0002.122B] # ETHIOPIC SYLLABLE RAA
-122C ; [.1DE8.0020.0002.122C] # ETHIOPIC SYLLABLE REE
-122D ; [.1DE9.0020.0002.122D] # ETHIOPIC SYLLABLE RE
-122E ; [.1DEA.0020.0002.122E] # ETHIOPIC SYLLABLE RO
-122F ; [.1DEB.0020.0002.122F] # ETHIOPIC SYLLABLE RWA
-2D82 ; [.1DEC.0020.0002.2D82] # ETHIOPIC SYLLABLE ROA
-1230 ; [.1DED.0020.0002.1230] # ETHIOPIC SYLLABLE SA
-1231 ; [.1DEE.0020.0002.1231] # ETHIOPIC SYLLABLE SU
-1232 ; [.1DEF.0020.0002.1232] # ETHIOPIC SYLLABLE SI
-1233 ; [.1DF0.0020.0002.1233] # ETHIOPIC SYLLABLE SAA
-1234 ; [.1DF1.0020.0002.1234] # ETHIOPIC SYLLABLE SEE
-1235 ; [.1DF2.0020.0002.1235] # ETHIOPIC SYLLABLE SE
-1236 ; [.1DF3.0020.0002.1236] # ETHIOPIC SYLLABLE SO
-1237 ; [.1DF4.0020.0002.1237] # ETHIOPIC SYLLABLE SWA
-2D83 ; [.1DF5.0020.0002.2D83] # ETHIOPIC SYLLABLE SOA
-AB01 ; [.1DF6.0020.0002.AB01] # ETHIOPIC SYLLABLE TTHU
-AB02 ; [.1DF7.0020.0002.AB02] # ETHIOPIC SYLLABLE TTHI
-AB03 ; [.1DF8.0020.0002.AB03] # ETHIOPIC SYLLABLE TTHAA
-AB04 ; [.1DF9.0020.0002.AB04] # ETHIOPIC SYLLABLE TTHEE
-AB05 ; [.1DFA.0020.0002.AB05] # ETHIOPIC SYLLABLE TTHE
-AB06 ; [.1DFB.0020.0002.AB06] # ETHIOPIC SYLLABLE TTHO
-1238 ; [.1DFC.0020.0002.1238] # ETHIOPIC SYLLABLE SHA
-1239 ; [.1DFD.0020.0002.1239] # ETHIOPIC SYLLABLE SHU
-123A ; [.1DFE.0020.0002.123A] # ETHIOPIC SYLLABLE SHI
-123B ; [.1DFF.0020.0002.123B] # ETHIOPIC SYLLABLE SHAA
-123C ; [.1E00.0020.0002.123C] # ETHIOPIC SYLLABLE SHEE
-123D ; [.1E01.0020.0002.123D] # ETHIOPIC SYLLABLE SHE
-123E ; [.1E02.0020.0002.123E] # ETHIOPIC SYLLABLE SHO
-123F ; [.1E03.0020.0002.123F] # ETHIOPIC SYLLABLE SHWA
-2D84 ; [.1E04.0020.0002.2D84] # ETHIOPIC SYLLABLE SHOA
-1240 ; [.1E05.0020.0002.1240] # ETHIOPIC SYLLABLE QA
-1241 ; [.1E06.0020.0002.1241] # ETHIOPIC SYLLABLE QU
-1242 ; [.1E07.0020.0002.1242] # ETHIOPIC SYLLABLE QI
-1243 ; [.1E08.0020.0002.1243] # ETHIOPIC SYLLABLE QAA
-1244 ; [.1E09.0020.0002.1244] # ETHIOPIC SYLLABLE QEE
-1245 ; [.1E0A.0020.0002.1245] # ETHIOPIC SYLLABLE QE
-1246 ; [.1E0B.0020.0002.1246] # ETHIOPIC SYLLABLE QO
-1247 ; [.1E0C.0020.0002.1247] # ETHIOPIC SYLLABLE QOA
-1248 ; [.1E0D.0020.0002.1248] # ETHIOPIC SYLLABLE QWA
-124A ; [.1E0E.0020.0002.124A] # ETHIOPIC SYLLABLE QWI
-124B ; [.1E0F.0020.0002.124B] # ETHIOPIC SYLLABLE QWAA
-124C ; [.1E10.0020.0002.124C] # ETHIOPIC SYLLABLE QWEE
-124D ; [.1E11.0020.0002.124D] # ETHIOPIC SYLLABLE QWE
-1250 ; [.1E12.0020.0002.1250] # ETHIOPIC SYLLABLE QHA
-1251 ; [.1E13.0020.0002.1251] # ETHIOPIC SYLLABLE QHU
-1252 ; [.1E14.0020.0002.1252] # ETHIOPIC SYLLABLE QHI
-1253 ; [.1E15.0020.0002.1253] # ETHIOPIC SYLLABLE QHAA
-1254 ; [.1E16.0020.0002.1254] # ETHIOPIC SYLLABLE QHEE
-1255 ; [.1E17.0020.0002.1255] # ETHIOPIC SYLLABLE QHE
-1256 ; [.1E18.0020.0002.1256] # ETHIOPIC SYLLABLE QHO
-1258 ; [.1E19.0020.0002.1258] # ETHIOPIC SYLLABLE QHWA
-125A ; [.1E1A.0020.0002.125A] # ETHIOPIC SYLLABLE QHWI
-125B ; [.1E1B.0020.0002.125B] # ETHIOPIC SYLLABLE QHWAA
-125C ; [.1E1C.0020.0002.125C] # ETHIOPIC SYLLABLE QHWEE
-125D ; [.1E1D.0020.0002.125D] # ETHIOPIC SYLLABLE QHWE
-1260 ; [.1E1E.0020.0002.1260] # ETHIOPIC SYLLABLE BA
-1261 ; [.1E1F.0020.0002.1261] # ETHIOPIC SYLLABLE BU
-1262 ; [.1E20.0020.0002.1262] # ETHIOPIC SYLLABLE BI
-1263 ; [.1E21.0020.0002.1263] # ETHIOPIC SYLLABLE BAA
-1264 ; [.1E22.0020.0002.1264] # ETHIOPIC SYLLABLE BEE
-1265 ; [.1E23.0020.0002.1265] # ETHIOPIC SYLLABLE BE
-1266 ; [.1E24.0020.0002.1266] # ETHIOPIC SYLLABLE BO
-1267 ; [.1E25.0020.0002.1267] # ETHIOPIC SYLLABLE BWA
-1384 ; [.1E26.0020.0002.1384] # ETHIOPIC SYLLABLE SEBATBEIT BWA
-1385 ; [.1E27.0020.0002.1385] # ETHIOPIC SYLLABLE BWI
-1386 ; [.1E28.0020.0002.1386] # ETHIOPIC SYLLABLE BWEE
-1387 ; [.1E29.0020.0002.1387] # ETHIOPIC SYLLABLE BWE
-2D85 ; [.1E2A.0020.0002.2D85] # ETHIOPIC SYLLABLE BOA
-1268 ; [.1E2B.0020.0002.1268] # ETHIOPIC SYLLABLE VA
-1269 ; [.1E2C.0020.0002.1269] # ETHIOPIC SYLLABLE VU
-126A ; [.1E2D.0020.0002.126A] # ETHIOPIC SYLLABLE VI
-126B ; [.1E2E.0020.0002.126B] # ETHIOPIC SYLLABLE VAA
-126C ; [.1E2F.0020.0002.126C] # ETHIOPIC SYLLABLE VEE
-126D ; [.1E30.0020.0002.126D] # ETHIOPIC SYLLABLE VE
-126E ; [.1E31.0020.0002.126E] # ETHIOPIC SYLLABLE VO
-126F ; [.1E32.0020.0002.126F] # ETHIOPIC SYLLABLE VWA
-1270 ; [.1E33.0020.0002.1270] # ETHIOPIC SYLLABLE TA
-1271 ; [.1E34.0020.0002.1271] # ETHIOPIC SYLLABLE TU
-1272 ; [.1E35.0020.0002.1272] # ETHIOPIC SYLLABLE TI
-1273 ; [.1E36.0020.0002.1273] # ETHIOPIC SYLLABLE TAA
-1274 ; [.1E37.0020.0002.1274] # ETHIOPIC SYLLABLE TEE
-1275 ; [.1E38.0020.0002.1275] # ETHIOPIC SYLLABLE TE
-1276 ; [.1E39.0020.0002.1276] # ETHIOPIC SYLLABLE TO
-1277 ; [.1E3A.0020.0002.1277] # ETHIOPIC SYLLABLE TWA
-2D86 ; [.1E3B.0020.0002.2D86] # ETHIOPIC SYLLABLE TOA
-1278 ; [.1E3C.0020.0002.1278] # ETHIOPIC SYLLABLE CA
-1279 ; [.1E3D.0020.0002.1279] # ETHIOPIC SYLLABLE CU
-127A ; [.1E3E.0020.0002.127A] # ETHIOPIC SYLLABLE CI
-127B ; [.1E3F.0020.0002.127B] # ETHIOPIC SYLLABLE CAA
-127C ; [.1E40.0020.0002.127C] # ETHIOPIC SYLLABLE CEE
-127D ; [.1E41.0020.0002.127D] # ETHIOPIC SYLLABLE CE
-127E ; [.1E42.0020.0002.127E] # ETHIOPIC SYLLABLE CO
-127F ; [.1E43.0020.0002.127F] # ETHIOPIC SYLLABLE CWA
-2D87 ; [.1E44.0020.0002.2D87] # ETHIOPIC SYLLABLE COA
-1280 ; [.1E45.0020.0002.1280] # ETHIOPIC SYLLABLE XA
-1281 ; [.1E46.0020.0002.1281] # ETHIOPIC SYLLABLE XU
-1282 ; [.1E47.0020.0002.1282] # ETHIOPIC SYLLABLE XI
-1283 ; [.1E48.0020.0002.1283] # ETHIOPIC SYLLABLE XAA
-1284 ; [.1E49.0020.0002.1284] # ETHIOPIC SYLLABLE XEE
-1285 ; [.1E4A.0020.0002.1285] # ETHIOPIC SYLLABLE XE
-1286 ; [.1E4B.0020.0002.1286] # ETHIOPIC SYLLABLE XO
-1287 ; [.1E4C.0020.0002.1287] # ETHIOPIC SYLLABLE XOA
-1288 ; [.1E4D.0020.0002.1288] # ETHIOPIC SYLLABLE XWA
-128A ; [.1E4E.0020.0002.128A] # ETHIOPIC SYLLABLE XWI
-128B ; [.1E4F.0020.0002.128B] # ETHIOPIC SYLLABLE XWAA
-128C ; [.1E50.0020.0002.128C] # ETHIOPIC SYLLABLE XWEE
-128D ; [.1E51.0020.0002.128D] # ETHIOPIC SYLLABLE XWE
-1290 ; [.1E52.0020.0002.1290] # ETHIOPIC SYLLABLE NA
-1291 ; [.1E53.0020.0002.1291] # ETHIOPIC SYLLABLE NU
-1292 ; [.1E54.0020.0002.1292] # ETHIOPIC SYLLABLE NI
-1293 ; [.1E55.0020.0002.1293] # ETHIOPIC SYLLABLE NAA
-1294 ; [.1E56.0020.0002.1294] # ETHIOPIC SYLLABLE NEE
-1295 ; [.1E57.0020.0002.1295] # ETHIOPIC SYLLABLE NE
-1296 ; [.1E58.0020.0002.1296] # ETHIOPIC SYLLABLE NO
-1297 ; [.1E59.0020.0002.1297] # ETHIOPIC SYLLABLE NWA
-2D88 ; [.1E5A.0020.0002.2D88] # ETHIOPIC SYLLABLE NOA
-1298 ; [.1E5B.0020.0002.1298] # ETHIOPIC SYLLABLE NYA
-1299 ; [.1E5C.0020.0002.1299] # ETHIOPIC SYLLABLE NYU
-129A ; [.1E5D.0020.0002.129A] # ETHIOPIC SYLLABLE NYI
-129B ; [.1E5E.0020.0002.129B] # ETHIOPIC SYLLABLE NYAA
-129C ; [.1E5F.0020.0002.129C] # ETHIOPIC SYLLABLE NYEE
-129D ; [.1E60.0020.0002.129D] # ETHIOPIC SYLLABLE NYE
-129E ; [.1E61.0020.0002.129E] # ETHIOPIC SYLLABLE NYO
-129F ; [.1E62.0020.0002.129F] # ETHIOPIC SYLLABLE NYWA
-2D89 ; [.1E63.0020.0002.2D89] # ETHIOPIC SYLLABLE NYOA
-12A0 ; [.1E64.0020.0002.12A0] # ETHIOPIC SYLLABLE GLOTTAL A
-12A1 ; [.1E65.0020.0002.12A1] # ETHIOPIC SYLLABLE GLOTTAL U
-12A2 ; [.1E66.0020.0002.12A2] # ETHIOPIC SYLLABLE GLOTTAL I
-12A3 ; [.1E67.0020.0002.12A3] # ETHIOPIC SYLLABLE GLOTTAL AA
-12A4 ; [.1E68.0020.0002.12A4] # ETHIOPIC SYLLABLE GLOTTAL EE
-12A5 ; [.1E69.0020.0002.12A5] # ETHIOPIC SYLLABLE GLOTTAL E
-12A6 ; [.1E6A.0020.0002.12A6] # ETHIOPIC SYLLABLE GLOTTAL O
-12A7 ; [.1E6B.0020.0002.12A7] # ETHIOPIC SYLLABLE GLOTTAL WA
-2D8A ; [.1E6C.0020.0002.2D8A] # ETHIOPIC SYLLABLE GLOTTAL OA
-12A8 ; [.1E6D.0020.0002.12A8] # ETHIOPIC SYLLABLE KA
-12A9 ; [.1E6E.0020.0002.12A9] # ETHIOPIC SYLLABLE KU
-12AA ; [.1E6F.0020.0002.12AA] # ETHIOPIC SYLLABLE KI
-12AB ; [.1E70.0020.0002.12AB] # ETHIOPIC SYLLABLE KAA
-12AC ; [.1E71.0020.0002.12AC] # ETHIOPIC SYLLABLE KEE
-12AD ; [.1E72.0020.0002.12AD] # ETHIOPIC SYLLABLE KE
-12AE ; [.1E73.0020.0002.12AE] # ETHIOPIC SYLLABLE KO
-12AF ; [.1E74.0020.0002.12AF] # ETHIOPIC SYLLABLE KOA
-12B0 ; [.1E75.0020.0002.12B0] # ETHIOPIC SYLLABLE KWA
-12B2 ; [.1E76.0020.0002.12B2] # ETHIOPIC SYLLABLE KWI
-12B3 ; [.1E77.0020.0002.12B3] # ETHIOPIC SYLLABLE KWAA
-12B4 ; [.1E78.0020.0002.12B4] # ETHIOPIC SYLLABLE KWEE
-12B5 ; [.1E79.0020.0002.12B5] # ETHIOPIC SYLLABLE KWE
-12B8 ; [.1E7A.0020.0002.12B8] # ETHIOPIC SYLLABLE KXA
-12B9 ; [.1E7B.0020.0002.12B9] # ETHIOPIC SYLLABLE KXU
-12BA ; [.1E7C.0020.0002.12BA] # ETHIOPIC SYLLABLE KXI
-12BB ; [.1E7D.0020.0002.12BB] # ETHIOPIC SYLLABLE KXAA
-12BC ; [.1E7E.0020.0002.12BC] # ETHIOPIC SYLLABLE KXEE
-12BD ; [.1E7F.0020.0002.12BD] # ETHIOPIC SYLLABLE KXE
-12BE ; [.1E80.0020.0002.12BE] # ETHIOPIC SYLLABLE KXO
-12C0 ; [.1E81.0020.0002.12C0] # ETHIOPIC SYLLABLE KXWA
-12C2 ; [.1E82.0020.0002.12C2] # ETHIOPIC SYLLABLE KXWI
-12C3 ; [.1E83.0020.0002.12C3] # ETHIOPIC SYLLABLE KXWAA
-12C4 ; [.1E84.0020.0002.12C4] # ETHIOPIC SYLLABLE KXWEE
-12C5 ; [.1E85.0020.0002.12C5] # ETHIOPIC SYLLABLE KXWE
-12C8 ; [.1E86.0020.0002.12C8] # ETHIOPIC SYLLABLE WA
-12C9 ; [.1E87.0020.0002.12C9] # ETHIOPIC SYLLABLE WU
-12CA ; [.1E88.0020.0002.12CA] # ETHIOPIC SYLLABLE WI
-12CB ; [.1E89.0020.0002.12CB] # ETHIOPIC SYLLABLE WAA
-12CC ; [.1E8A.0020.0002.12CC] # ETHIOPIC SYLLABLE WEE
-12CD ; [.1E8B.0020.0002.12CD] # ETHIOPIC SYLLABLE WE
-12CE ; [.1E8C.0020.0002.12CE] # ETHIOPIC SYLLABLE WO
-12CF ; [.1E8D.0020.0002.12CF] # ETHIOPIC SYLLABLE WOA
-12D0 ; [.1E8E.0020.0002.12D0] # ETHIOPIC SYLLABLE PHARYNGEAL A
-12D1 ; [.1E8F.0020.0002.12D1] # ETHIOPIC SYLLABLE PHARYNGEAL U
-12D2 ; [.1E90.0020.0002.12D2] # ETHIOPIC SYLLABLE PHARYNGEAL I
-12D3 ; [.1E91.0020.0002.12D3] # ETHIOPIC SYLLABLE PHARYNGEAL AA
-12D4 ; [.1E92.0020.0002.12D4] # ETHIOPIC SYLLABLE PHARYNGEAL EE
-12D5 ; [.1E93.0020.0002.12D5] # ETHIOPIC SYLLABLE PHARYNGEAL E
-12D6 ; [.1E94.0020.0002.12D6] # ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8 ; [.1E95.0020.0002.12D8] # ETHIOPIC SYLLABLE ZA
-12D9 ; [.1E96.0020.0002.12D9] # ETHIOPIC SYLLABLE ZU
-12DA ; [.1E97.0020.0002.12DA] # ETHIOPIC SYLLABLE ZI
-12DB ; [.1E98.0020.0002.12DB] # ETHIOPIC SYLLABLE ZAA
-12DC ; [.1E99.0020.0002.12DC] # ETHIOPIC SYLLABLE ZEE
-12DD ; [.1E9A.0020.0002.12DD] # ETHIOPIC SYLLABLE ZE
-12DE ; [.1E9B.0020.0002.12DE] # ETHIOPIC SYLLABLE ZO
-12DF ; [.1E9C.0020.0002.12DF] # ETHIOPIC SYLLABLE ZWA
-2D8B ; [.1E9D.0020.0002.2D8B] # ETHIOPIC SYLLABLE ZOA
-AB11 ; [.1E9E.0020.0002.AB11] # ETHIOPIC SYLLABLE DZU
-AB12 ; [.1E9F.0020.0002.AB12] # ETHIOPIC SYLLABLE DZI
-AB13 ; [.1EA0.0020.0002.AB13] # ETHIOPIC SYLLABLE DZAA
-AB14 ; [.1EA1.0020.0002.AB14] # ETHIOPIC SYLLABLE DZEE
-AB15 ; [.1EA2.0020.0002.AB15] # ETHIOPIC SYLLABLE DZE
-AB16 ; [.1EA3.0020.0002.AB16] # ETHIOPIC SYLLABLE DZO
-12E0 ; [.1EA4.0020.0002.12E0] # ETHIOPIC SYLLABLE ZHA
-12E1 ; [.1EA5.0020.0002.12E1] # ETHIOPIC SYLLABLE ZHU
-12E2 ; [.1EA6.0020.0002.12E2] # ETHIOPIC SYLLABLE ZHI
-12E3 ; [.1EA7.0020.0002.12E3] # ETHIOPIC SYLLABLE ZHAA
-12E4 ; [.1EA8.0020.0002.12E4] # ETHIOPIC SYLLABLE ZHEE
-12E5 ; [.1EA9.0020.0002.12E5] # ETHIOPIC SYLLABLE ZHE
-12E6 ; [.1EAA.0020.0002.12E6] # ETHIOPIC SYLLABLE ZHO
-12E7 ; [.1EAB.0020.0002.12E7] # ETHIOPIC SYLLABLE ZHWA
-12E8 ; [.1EAC.0020.0002.12E8] # ETHIOPIC SYLLABLE YA
-12E9 ; [.1EAD.0020.0002.12E9] # ETHIOPIC SYLLABLE YU
-12EA ; [.1EAE.0020.0002.12EA] # ETHIOPIC SYLLABLE YI
-12EB ; [.1EAF.0020.0002.12EB] # ETHIOPIC SYLLABLE YAA
-12EC ; [.1EB0.0020.0002.12EC] # ETHIOPIC SYLLABLE YEE
-12ED ; [.1EB1.0020.0002.12ED] # ETHIOPIC SYLLABLE YE
-12EE ; [.1EB2.0020.0002.12EE] # ETHIOPIC SYLLABLE YO
-12EF ; [.1EB3.0020.0002.12EF] # ETHIOPIC SYLLABLE YOA
-12F0 ; [.1EB4.0020.0002.12F0] # ETHIOPIC SYLLABLE DA
-12F1 ; [.1EB5.0020.0002.12F1] # ETHIOPIC SYLLABLE DU
-12F2 ; [.1EB6.0020.0002.12F2] # ETHIOPIC SYLLABLE DI
-12F3 ; [.1EB7.0020.0002.12F3] # ETHIOPIC SYLLABLE DAA
-12F4 ; [.1EB8.0020.0002.12F4] # ETHIOPIC SYLLABLE DEE
-12F5 ; [.1EB9.0020.0002.12F5] # ETHIOPIC SYLLABLE DE
-12F6 ; [.1EBA.0020.0002.12F6] # ETHIOPIC SYLLABLE DO
-12F7 ; [.1EBB.0020.0002.12F7] # ETHIOPIC SYLLABLE DWA
-2D8C ; [.1EBC.0020.0002.2D8C] # ETHIOPIC SYLLABLE DOA
-AB09 ; [.1EBD.0020.0002.AB09] # ETHIOPIC SYLLABLE DDHU
-AB0A ; [.1EBE.0020.0002.AB0A] # ETHIOPIC SYLLABLE DDHI
-AB0B ; [.1EBF.0020.0002.AB0B] # ETHIOPIC SYLLABLE DDHAA
-AB0C ; [.1EC0.0020.0002.AB0C] # ETHIOPIC SYLLABLE DDHEE
-AB0D ; [.1EC1.0020.0002.AB0D] # ETHIOPIC SYLLABLE DDHE
-AB0E ; [.1EC2.0020.0002.AB0E] # ETHIOPIC SYLLABLE DDHO
-12F8 ; [.1EC3.0020.0002.12F8] # ETHIOPIC SYLLABLE DDA
-12F9 ; [.1EC4.0020.0002.12F9] # ETHIOPIC SYLLABLE DDU
-12FA ; [.1EC5.0020.0002.12FA] # ETHIOPIC SYLLABLE DDI
-12FB ; [.1EC6.0020.0002.12FB] # ETHIOPIC SYLLABLE DDAA
-12FC ; [.1EC7.0020.0002.12FC] # ETHIOPIC SYLLABLE DDEE
-12FD ; [.1EC8.0020.0002.12FD] # ETHIOPIC SYLLABLE DDE
-12FE ; [.1EC9.0020.0002.12FE] # ETHIOPIC SYLLABLE DDO
-12FF ; [.1ECA.0020.0002.12FF] # ETHIOPIC SYLLABLE DDWA
-2D8D ; [.1ECB.0020.0002.2D8D] # ETHIOPIC SYLLABLE DDOA
-1300 ; [.1ECC.0020.0002.1300] # ETHIOPIC SYLLABLE JA
-1301 ; [.1ECD.0020.0002.1301] # ETHIOPIC SYLLABLE JU
-1302 ; [.1ECE.0020.0002.1302] # ETHIOPIC SYLLABLE JI
-1303 ; [.1ECF.0020.0002.1303] # ETHIOPIC SYLLABLE JAA
-1304 ; [.1ED0.0020.0002.1304] # ETHIOPIC SYLLABLE JEE
-1305 ; [.1ED1.0020.0002.1305] # ETHIOPIC SYLLABLE JE
-1306 ; [.1ED2.0020.0002.1306] # ETHIOPIC SYLLABLE JO
-1307 ; [.1ED3.0020.0002.1307] # ETHIOPIC SYLLABLE JWA
-2D8E ; [.1ED4.0020.0002.2D8E] # ETHIOPIC SYLLABLE JOA
-1308 ; [.1ED5.0020.0002.1308] # ETHIOPIC SYLLABLE GA
-1309 ; [.1ED6.0020.0002.1309] # ETHIOPIC SYLLABLE GU
-130A ; [.1ED7.0020.0002.130A] # ETHIOPIC SYLLABLE GI
-130B ; [.1ED8.0020.0002.130B] # ETHIOPIC SYLLABLE GAA
-130C ; [.1ED9.0020.0002.130C] # ETHIOPIC SYLLABLE GEE
-130D ; [.1EDA.0020.0002.130D] # ETHIOPIC SYLLABLE GE
-130E ; [.1EDB.0020.0002.130E] # ETHIOPIC SYLLABLE GO
-130F ; [.1EDC.0020.0002.130F] # ETHIOPIC SYLLABLE GOA
-1310 ; [.1EDD.0020.0002.1310] # ETHIOPIC SYLLABLE GWA
-1312 ; [.1EDE.0020.0002.1312] # ETHIOPIC SYLLABLE GWI
-1313 ; [.1EDF.0020.0002.1313] # ETHIOPIC SYLLABLE GWAA
-1314 ; [.1EE0.0020.0002.1314] # ETHIOPIC SYLLABLE GWEE
-1315 ; [.1EE1.0020.0002.1315] # ETHIOPIC SYLLABLE GWE
-1318 ; [.1EE2.0020.0002.1318] # ETHIOPIC SYLLABLE GGA
-1319 ; [.1EE3.0020.0002.1319] # ETHIOPIC SYLLABLE GGU
-131A ; [.1EE4.0020.0002.131A] # ETHIOPIC SYLLABLE GGI
-131B ; [.1EE5.0020.0002.131B] # ETHIOPIC SYLLABLE GGAA
-131C ; [.1EE6.0020.0002.131C] # ETHIOPIC SYLLABLE GGEE
-131D ; [.1EE7.0020.0002.131D] # ETHIOPIC SYLLABLE GGE
-131E ; [.1EE8.0020.0002.131E] # ETHIOPIC SYLLABLE GGO
-131F ; [.1EE9.0020.0002.131F] # ETHIOPIC SYLLABLE GGWAA
-2D93 ; [.1EEA.0020.0002.2D93] # ETHIOPIC SYLLABLE GGWA
-2D94 ; [.1EEB.0020.0002.2D94] # ETHIOPIC SYLLABLE GGWI
-2D95 ; [.1EEC.0020.0002.2D95] # ETHIOPIC SYLLABLE GGWEE
-2D96 ; [.1EED.0020.0002.2D96] # ETHIOPIC SYLLABLE GGWE
-1320 ; [.1EEE.0020.0002.1320] # ETHIOPIC SYLLABLE THA
-1321 ; [.1EEF.0020.0002.1321] # ETHIOPIC SYLLABLE THU
-1322 ; [.1EF0.0020.0002.1322] # ETHIOPIC SYLLABLE THI
-1323 ; [.1EF1.0020.0002.1323] # ETHIOPIC SYLLABLE THAA
-1324 ; [.1EF2.0020.0002.1324] # ETHIOPIC SYLLABLE THEE
-1325 ; [.1EF3.0020.0002.1325] # ETHIOPIC SYLLABLE THE
-1326 ; [.1EF4.0020.0002.1326] # ETHIOPIC SYLLABLE THO
-1327 ; [.1EF5.0020.0002.1327] # ETHIOPIC SYLLABLE THWA
-2D8F ; [.1EF6.0020.0002.2D8F] # ETHIOPIC SYLLABLE THOA
-1328 ; [.1EF7.0020.0002.1328] # ETHIOPIC SYLLABLE CHA
-1329 ; [.1EF8.0020.0002.1329] # ETHIOPIC SYLLABLE CHU
-132A ; [.1EF9.0020.0002.132A] # ETHIOPIC SYLLABLE CHI
-132B ; [.1EFA.0020.0002.132B] # ETHIOPIC SYLLABLE CHAA
-132C ; [.1EFB.0020.0002.132C] # ETHIOPIC SYLLABLE CHEE
-132D ; [.1EFC.0020.0002.132D] # ETHIOPIC SYLLABLE CHE
-132E ; [.1EFD.0020.0002.132E] # ETHIOPIC SYLLABLE CHO
-132F ; [.1EFE.0020.0002.132F] # ETHIOPIC SYLLABLE CHWA
-2D90 ; [.1EFF.0020.0002.2D90] # ETHIOPIC SYLLABLE CHOA
-AB20 ; [.1F00.0020.0002.AB20] # ETHIOPIC SYLLABLE CCHHA
-AB21 ; [.1F01.0020.0002.AB21] # ETHIOPIC SYLLABLE CCHHU
-AB22 ; [.1F02.0020.0002.AB22] # ETHIOPIC SYLLABLE CCHHI
-AB23 ; [.1F03.0020.0002.AB23] # ETHIOPIC SYLLABLE CCHHAA
-AB24 ; [.1F04.0020.0002.AB24] # ETHIOPIC SYLLABLE CCHHEE
-AB25 ; [.1F05.0020.0002.AB25] # ETHIOPIC SYLLABLE CCHHE
-AB26 ; [.1F06.0020.0002.AB26] # ETHIOPIC SYLLABLE CCHHO
-1330 ; [.1F07.0020.0002.1330] # ETHIOPIC SYLLABLE PHA
-1331 ; [.1F08.0020.0002.1331] # ETHIOPIC SYLLABLE PHU
-1332 ; [.1F09.0020.0002.1332] # ETHIOPIC SYLLABLE PHI
-1333 ; [.1F0A.0020.0002.1333] # ETHIOPIC SYLLABLE PHAA
-1334 ; [.1F0B.0020.0002.1334] # ETHIOPIC SYLLABLE PHEE
-1335 ; [.1F0C.0020.0002.1335] # ETHIOPIC SYLLABLE PHE
-1336 ; [.1F0D.0020.0002.1336] # ETHIOPIC SYLLABLE PHO
-1337 ; [.1F0E.0020.0002.1337] # ETHIOPIC SYLLABLE PHWA
-2D91 ; [.1F0F.0020.0002.2D91] # ETHIOPIC SYLLABLE PHOA
-1338 ; [.1F10.0020.0002.1338] # ETHIOPIC SYLLABLE TSA
-1339 ; [.1F11.0020.0002.1339] # ETHIOPIC SYLLABLE TSU
-133A ; [.1F12.0020.0002.133A] # ETHIOPIC SYLLABLE TSI
-133B ; [.1F13.0020.0002.133B] # ETHIOPIC SYLLABLE TSAA
-133C ; [.1F14.0020.0002.133C] # ETHIOPIC SYLLABLE TSEE
-133D ; [.1F15.0020.0002.133D] # ETHIOPIC SYLLABLE TSE
-133E ; [.1F16.0020.0002.133E] # ETHIOPIC SYLLABLE TSO
-133F ; [.1F17.0020.0002.133F] # ETHIOPIC SYLLABLE TSWA
-AB28 ; [.1F18.0020.0002.AB28] # ETHIOPIC SYLLABLE BBA
-AB29 ; [.1F19.0020.0002.AB29] # ETHIOPIC SYLLABLE BBU
-AB2A ; [.1F1A.0020.0002.AB2A] # ETHIOPIC SYLLABLE BBI
-AB2B ; [.1F1B.0020.0002.AB2B] # ETHIOPIC SYLLABLE BBAA
-AB2C ; [.1F1C.0020.0002.AB2C] # ETHIOPIC SYLLABLE BBEE
-AB2D ; [.1F1D.0020.0002.AB2D] # ETHIOPIC SYLLABLE BBE
-AB2E ; [.1F1E.0020.0002.AB2E] # ETHIOPIC SYLLABLE BBO
-1340 ; [.1F1F.0020.0002.1340] # ETHIOPIC SYLLABLE TZA
-1341 ; [.1F20.0020.0002.1341] # ETHIOPIC SYLLABLE TZU
-1342 ; [.1F21.0020.0002.1342] # ETHIOPIC SYLLABLE TZI
-1343 ; [.1F22.0020.0002.1343] # ETHIOPIC SYLLABLE TZAA
-1344 ; [.1F23.0020.0002.1344] # ETHIOPIC SYLLABLE TZEE
-1345 ; [.1F24.0020.0002.1345] # ETHIOPIC SYLLABLE TZE
-1346 ; [.1F25.0020.0002.1346] # ETHIOPIC SYLLABLE TZO
-1347 ; [.1F26.0020.0002.1347] # ETHIOPIC SYLLABLE TZOA
-1348 ; [.1F27.0020.0002.1348] # ETHIOPIC SYLLABLE FA
-1349 ; [.1F28.0020.0002.1349] # ETHIOPIC SYLLABLE FU
-134A ; [.1F29.0020.0002.134A] # ETHIOPIC SYLLABLE FI
-134B ; [.1F2A.0020.0002.134B] # ETHIOPIC SYLLABLE FAA
-134C ; [.1F2B.0020.0002.134C] # ETHIOPIC SYLLABLE FEE
-134D ; [.1F2C.0020.0002.134D] # ETHIOPIC SYLLABLE FE
-134E ; [.1F2D.0020.0002.134E] # ETHIOPIC SYLLABLE FO
-134F ; [.1F2E.0020.0002.134F] # ETHIOPIC SYLLABLE FWA
-1388 ; [.1F2F.0020.0002.1388] # ETHIOPIC SYLLABLE SEBATBEIT FWA
-1389 ; [.1F30.0020.0002.1389] # ETHIOPIC SYLLABLE FWI
-138A ; [.1F31.0020.0002.138A] # ETHIOPIC SYLLABLE FWEE
-138B ; [.1F32.0020.0002.138B] # ETHIOPIC SYLLABLE FWE
-1350 ; [.1F33.0020.0002.1350] # ETHIOPIC SYLLABLE PA
-1351 ; [.1F34.0020.0002.1351] # ETHIOPIC SYLLABLE PU
-1352 ; [.1F35.0020.0002.1352] # ETHIOPIC SYLLABLE PI
-1353 ; [.1F36.0020.0002.1353] # ETHIOPIC SYLLABLE PAA
-1354 ; [.1F37.0020.0002.1354] # ETHIOPIC SYLLABLE PEE
-1355 ; [.1F38.0020.0002.1355] # ETHIOPIC SYLLABLE PE
-1356 ; [.1F39.0020.0002.1356] # ETHIOPIC SYLLABLE PO
-1357 ; [.1F3A.0020.0002.1357] # ETHIOPIC SYLLABLE PWA
-138C ; [.1F3B.0020.0002.138C] # ETHIOPIC SYLLABLE SEBATBEIT PWA
-138D ; [.1F3C.0020.0002.138D] # ETHIOPIC SYLLABLE PWI
-138E ; [.1F3D.0020.0002.138E] # ETHIOPIC SYLLABLE PWEE
-138F ; [.1F3E.0020.0002.138F] # ETHIOPIC SYLLABLE PWE
-2D92 ; [.1F3F.0020.0002.2D92] # ETHIOPIC SYLLABLE POA
-1358 ; [.1F40.0020.0002.1358] # ETHIOPIC SYLLABLE RYA
-1359 ; [.1F41.0020.0002.1359] # ETHIOPIC SYLLABLE MYA
-135A ; [.1F42.0020.0002.135A] # ETHIOPIC SYLLABLE FYA
-2DA0 ; [.1F43.0020.0002.2DA0] # ETHIOPIC SYLLABLE SSA
-2DA1 ; [.1F44.0020.0002.2DA1] # ETHIOPIC SYLLABLE SSU
-2DA2 ; [.1F45.0020.0002.2DA2] # ETHIOPIC SYLLABLE SSI
-2DA3 ; [.1F46.0020.0002.2DA3] # ETHIOPIC SYLLABLE SSAA
-2DA4 ; [.1F47.0020.0002.2DA4] # ETHIOPIC SYLLABLE SSEE
-2DA5 ; [.1F48.0020.0002.2DA5] # ETHIOPIC SYLLABLE SSE
-2DA6 ; [.1F49.0020.0002.2DA6] # ETHIOPIC SYLLABLE SSO
-2DA8 ; [.1F4A.0020.0002.2DA8] # ETHIOPIC SYLLABLE CCA
-2DA9 ; [.1F4B.0020.0002.2DA9] # ETHIOPIC SYLLABLE CCU
-2DAA ; [.1F4C.0020.0002.2DAA] # ETHIOPIC SYLLABLE CCI
-2DAB ; [.1F4D.0020.0002.2DAB] # ETHIOPIC SYLLABLE CCAA
-2DAC ; [.1F4E.0020.0002.2DAC] # ETHIOPIC SYLLABLE CCEE
-2DAD ; [.1F4F.0020.0002.2DAD] # ETHIOPIC SYLLABLE CCE
-2DAE ; [.1F50.0020.0002.2DAE] # ETHIOPIC SYLLABLE CCO
-2DB0 ; [.1F51.0020.0002.2DB0] # ETHIOPIC SYLLABLE ZZA
-2DB1 ; [.1F52.0020.0002.2DB1] # ETHIOPIC SYLLABLE ZZU
-2DB2 ; [.1F53.0020.0002.2DB2] # ETHIOPIC SYLLABLE ZZI
-2DB3 ; [.1F54.0020.0002.2DB3] # ETHIOPIC SYLLABLE ZZAA
-2DB4 ; [.1F55.0020.0002.2DB4] # ETHIOPIC SYLLABLE ZZEE
-2DB5 ; [.1F56.0020.0002.2DB5] # ETHIOPIC SYLLABLE ZZE
-2DB6 ; [.1F57.0020.0002.2DB6] # ETHIOPIC SYLLABLE ZZO
-2DB8 ; [.1F58.0020.0002.2DB8] # ETHIOPIC SYLLABLE CCHA
-2DB9 ; [.1F59.0020.0002.2DB9] # ETHIOPIC SYLLABLE CCHU
-2DBA ; [.1F5A.0020.0002.2DBA] # ETHIOPIC SYLLABLE CCHI
-2DBB ; [.1F5B.0020.0002.2DBB] # ETHIOPIC SYLLABLE CCHAA
-2DBC ; [.1F5C.0020.0002.2DBC] # ETHIOPIC SYLLABLE CCHEE
-2DBD ; [.1F5D.0020.0002.2DBD] # ETHIOPIC SYLLABLE CCHE
-2DBE ; [.1F5E.0020.0002.2DBE] # ETHIOPIC SYLLABLE CCHO
-2DC0 ; [.1F5F.0020.0002.2DC0] # ETHIOPIC SYLLABLE QYA
-2DC1 ; [.1F60.0020.0002.2DC1] # ETHIOPIC SYLLABLE QYU
-2DC2 ; [.1F61.0020.0002.2DC2] # ETHIOPIC SYLLABLE QYI
-2DC3 ; [.1F62.0020.0002.2DC3] # ETHIOPIC SYLLABLE QYAA
-2DC4 ; [.1F63.0020.0002.2DC4] # ETHIOPIC SYLLABLE QYEE
-2DC5 ; [.1F64.0020.0002.2DC5] # ETHIOPIC SYLLABLE QYE
-2DC6 ; [.1F65.0020.0002.2DC6] # ETHIOPIC SYLLABLE QYO
-2DC8 ; [.1F66.0020.0002.2DC8] # ETHIOPIC SYLLABLE KYA
-2DC9 ; [.1F67.0020.0002.2DC9] # ETHIOPIC SYLLABLE KYU
-2DCA ; [.1F68.0020.0002.2DCA] # ETHIOPIC SYLLABLE KYI
-2DCB ; [.1F69.0020.0002.2DCB] # ETHIOPIC SYLLABLE KYAA
-2DCC ; [.1F6A.0020.0002.2DCC] # ETHIOPIC SYLLABLE KYEE
-2DCD ; [.1F6B.0020.0002.2DCD] # ETHIOPIC SYLLABLE KYE
-2DCE ; [.1F6C.0020.0002.2DCE] # ETHIOPIC SYLLABLE KYO
-2DD0 ; [.1F6D.0020.0002.2DD0] # ETHIOPIC SYLLABLE XYA
-2DD1 ; [.1F6E.0020.0002.2DD1] # ETHIOPIC SYLLABLE XYU
-2DD2 ; [.1F6F.0020.0002.2DD2] # ETHIOPIC SYLLABLE XYI
-2DD3 ; [.1F70.0020.0002.2DD3] # ETHIOPIC SYLLABLE XYAA
-2DD4 ; [.1F71.0020.0002.2DD4] # ETHIOPIC SYLLABLE XYEE
-2DD5 ; [.1F72.0020.0002.2DD5] # ETHIOPIC SYLLABLE XYE
-2DD6 ; [.1F73.0020.0002.2DD6] # ETHIOPIC SYLLABLE XYO
-2DD8 ; [.1F74.0020.0002.2DD8] # ETHIOPIC SYLLABLE GYA
-2DD9 ; [.1F75.0020.0002.2DD9] # ETHIOPIC SYLLABLE GYU
-2DDA ; [.1F76.0020.0002.2DDA] # ETHIOPIC SYLLABLE GYI
-2DDB ; [.1F77.0020.0002.2DDB] # ETHIOPIC SYLLABLE GYAA
-2DDC ; [.1F78.0020.0002.2DDC] # ETHIOPIC SYLLABLE GYEE
-2DDD ; [.1F79.0020.0002.2DDD] # ETHIOPIC SYLLABLE GYE
-2DDE ; [.1F7A.0020.0002.2DDE] # ETHIOPIC SYLLABLE GYO
-0950 ; [.1F7B.0020.0002.0950] # DEVANAGARI OM
-0972 ; [.1F7C.0020.0002.0972] # DEVANAGARI LETTER CANDRA A
-0904 ; [.1F7D.0020.0002.0904] # DEVANAGARI LETTER SHORT A
-0905 ; [.1F7E.0020.0002.0905] # DEVANAGARI LETTER A
-0906 ; [.1F7F.0020.0002.0906] # DEVANAGARI LETTER AA
-0973 ; [.1F80.0020.0002.0973] # DEVANAGARI LETTER OE
-0974 ; [.1F81.0020.0002.0974] # DEVANAGARI LETTER OOE
-0975 ; [.1F82.0020.0002.0975] # DEVANAGARI LETTER AW
-0976 ; [.1F83.0020.0002.0976] # DEVANAGARI LETTER UE
-0977 ; [.1F84.0020.0002.0977] # DEVANAGARI LETTER UUE
-0907 ; [.1F85.0020.0002.0907] # DEVANAGARI LETTER I
-0908 ; [.1F86.0020.0002.0908] # DEVANAGARI LETTER II
-0909 ; [.1F87.0020.0002.0909] # DEVANAGARI LETTER U
-090A ; [.1F88.0020.0002.090A] # DEVANAGARI LETTER UU
-090B ; [.1F89.0020.0002.090B] # DEVANAGARI LETTER VOCALIC R
-0960 ; [.1F8A.0020.0002.0960] # DEVANAGARI LETTER VOCALIC RR
-090C ; [.1F8B.0020.0002.090C] # DEVANAGARI LETTER VOCALIC L
-0961 ; [.1F8C.0020.0002.0961] # DEVANAGARI LETTER VOCALIC LL
-090D ; [.1F8D.0020.0002.090D] # DEVANAGARI LETTER CANDRA E
-090E ; [.1F8E.0020.0002.090E] # DEVANAGARI LETTER SHORT E
-090F ; [.1F8F.0020.0002.090F] # DEVANAGARI LETTER E
-0910 ; [.1F90.0020.0002.0910] # DEVANAGARI LETTER AI
-0911 ; [.1F91.0020.0002.0911] # DEVANAGARI LETTER CANDRA O
-0912 ; [.1F92.0020.0002.0912] # DEVANAGARI LETTER SHORT O
-0913 ; [.1F93.0020.0002.0913] # DEVANAGARI LETTER O
-0914 ; [.1F94.0020.0002.0914] # DEVANAGARI LETTER AU
-0915 ; [.1F95.0020.0002.0915] # DEVANAGARI LETTER KA
-0958 ; [.1F95.0020.0002.0915][.0000.00DD.0002.093C] # DEVANAGARI LETTER QA; QQCM
-0916 ; [.1F96.0020.0002.0916] # DEVANAGARI LETTER KHA
-0959 ; [.1F96.0020.0002.0916][.0000.00DD.0002.093C] # DEVANAGARI LETTER KHHA; QQCM
-0917 ; [.1F97.0020.0002.0917] # DEVANAGARI LETTER GA
-095A ; [.1F97.0020.0002.0917][.0000.00DD.0002.093C] # DEVANAGARI LETTER GHHA; QQCM
-097B ; [.1F98.0020.0002.097B] # DEVANAGARI LETTER GGA
-0918 ; [.1F99.0020.0002.0918] # DEVANAGARI LETTER GHA
-0919 ; [.1F9A.0020.0002.0919] # DEVANAGARI LETTER NGA
-091A ; [.1F9B.0020.0002.091A] # DEVANAGARI LETTER CA
-091B ; [.1F9C.0020.0002.091B] # DEVANAGARI LETTER CHA
-091C ; [.1F9D.0020.0002.091C] # DEVANAGARI LETTER JA
-095B ; [.1F9D.0020.0002.091C][.0000.00DD.0002.093C] # DEVANAGARI LETTER ZA; QQCM
-0979 ; [.1F9E.0020.0002.0979] # DEVANAGARI LETTER ZHA
-097C ; [.1F9F.0020.0002.097C] # DEVANAGARI LETTER JJA
-091D ; [.1FA0.0020.0002.091D] # DEVANAGARI LETTER JHA
-091E ; [.1FA1.0020.0002.091E] # DEVANAGARI LETTER NYA
-091F ; [.1FA2.0020.0002.091F] # DEVANAGARI LETTER TTA
-0920 ; [.1FA3.0020.0002.0920] # DEVANAGARI LETTER TTHA
-0921 ; [.1FA4.0020.0002.0921] # DEVANAGARI LETTER DDA
-095C ; [.1FA4.0020.0002.0921][.0000.00DD.0002.093C] # DEVANAGARI LETTER DDDHA; QQCM
-097E ; [.1FA5.0020.0002.097E] # DEVANAGARI LETTER DDDA
-0922 ; [.1FA6.0020.0002.0922] # DEVANAGARI LETTER DDHA
-095D ; [.1FA6.0020.0002.0922][.0000.00DD.0002.093C] # DEVANAGARI LETTER RHA; QQCM
-0923 ; [.1FA7.0020.0002.0923] # DEVANAGARI LETTER NNA
-0924 ; [.1FA8.0020.0002.0924] # DEVANAGARI LETTER TA
-0925 ; [.1FA9.0020.0002.0925] # DEVANAGARI LETTER THA
-0926 ; [.1FAA.0020.0002.0926] # DEVANAGARI LETTER DA
-0927 ; [.1FAB.0020.0002.0927] # DEVANAGARI LETTER DHA
-0928 ; [.1FAC.0020.0002.0928] # DEVANAGARI LETTER NA
-0929 ; [.1FAC.0020.0002.0928][.0000.00DD.0002.093C] # DEVANAGARI LETTER NNNA; QQCM
-092A ; [.1FAD.0020.0002.092A] # DEVANAGARI LETTER PA
-092B ; [.1FAE.0020.0002.092B] # DEVANAGARI LETTER PHA
-095E ; [.1FAE.0020.0002.092B][.0000.00DD.0002.093C] # DEVANAGARI LETTER FA; QQCM
-092C ; [.1FAF.0020.0002.092C] # DEVANAGARI LETTER BA
-097F ; [.1FB0.0020.0002.097F] # DEVANAGARI LETTER BBA
-092D ; [.1FB1.0020.0002.092D] # DEVANAGARI LETTER BHA
-092E ; [.1FB2.0020.0002.092E] # DEVANAGARI LETTER MA
-092F ; [.1FB3.0020.0002.092F] # DEVANAGARI LETTER YA
-095F ; [.1FB3.0020.0002.092F][.0000.00DD.0002.093C] # DEVANAGARI LETTER YYA; QQCM
-097A ; [.1FB4.0020.0002.097A] # DEVANAGARI LETTER HEAVY YA
-0930 ; [.1FB5.0020.0002.0930] # DEVANAGARI LETTER RA
-0931 ; [.1FB5.0020.0002.0930][.0000.00DD.0002.093C] # DEVANAGARI LETTER RRA; QQCM
-0932 ; [.1FB6.0020.0002.0932] # DEVANAGARI LETTER LA
-0933 ; [.1FB7.0020.0002.0933] # DEVANAGARI LETTER LLA
-0934 ; [.1FB7.0020.0002.0933][.0000.00DD.0002.093C] # DEVANAGARI LETTER LLLA; QQCM
-0935 ; [.1FB8.0020.0002.0935] # DEVANAGARI LETTER VA
-0936 ; [.1FB9.0020.0002.0936] # DEVANAGARI LETTER SHA
-0937 ; [.1FBA.0020.0002.0937] # DEVANAGARI LETTER SSA
-0938 ; [.1FBB.0020.0002.0938] # DEVANAGARI LETTER SA
-0939 ; [.1FBC.0020.0002.0939] # DEVANAGARI LETTER HA
-093D ; [.1FBD.0020.0002.093D] # DEVANAGARI SIGN AVAGRAHA
-097D ; [.1FBE.0020.0002.097D] # DEVANAGARI LETTER GLOTTAL STOP
-1CE9 ; [.1FBF.0020.0002.1CE9] # VEDIC SIGN ANUSVARA ANTARGOMUKHA
-1CEA ; [.1FBF.0020.0004.1CEA] # VEDIC SIGN ANUSVARA BAHIRGOMUKHA; QQK
-1CEB ; [.1FBF.0020.0004.1CEB] # VEDIC SIGN ANUSVARA VAMAGOMUKHA; QQK
-1CEC ; [.1FBF.0020.0004.1CEC] # VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL; QQK
-1CEE ; [.1FBF.0020.0004.1CEE] # VEDIC SIGN HEXIFORM LONG ANUSVARA; QQK
-1CEF ; [.1FBF.0020.0004.1CEF] # VEDIC SIGN LONG ANUSVARA; QQK
-1CF0 ; [.1FBF.0020.0004.1CF0] # VEDIC SIGN RTHANG LONG ANUSVARA; QQK
-1CF1 ; [.1FBF.0020.0004.1CF1] # VEDIC SIGN ANUSVARA UBHAYATO MUKHA; QQK
-A8F2 ; [.1FC0.0020.0002.A8F2] # DEVANAGARI SIGN SPACING CANDRABINDU
-A8F3 ; [.1FC0.0020.0004.A8F3] # DEVANAGARI SIGN CANDRABINDU VIRAMA; QQK
-A8F4 ; [.1FC0.0020.0004.A8F4] # DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA; QQK
-A8F5 ; [.1FC0.0020.0004.A8F5] # DEVANAGARI SIGN CANDRABINDU TWO; QQK
-A8F6 ; [.1FC0.0020.0004.A8F6] # DEVANAGARI SIGN CANDRABINDU THREE; QQK
-A8F7 ; [.1FC0.0020.0004.A8F7] # DEVANAGARI SIGN CANDRABINDU AVAGRAHA; QQK
-A8FB ; [.1FC1.0020.0002.A8FB] # DEVANAGARI HEADSTROKE
-093E ; [.1FC2.0020.0002.093E] # DEVANAGARI VOWEL SIGN AA
-093A ; [.1FC3.0020.0002.093A] # DEVANAGARI VOWEL SIGN OE
-093B ; [.1FC4.0020.0002.093B] # DEVANAGARI VOWEL SIGN OOE
-094F ; [.1FC5.0020.0002.094F] # DEVANAGARI VOWEL SIGN AW
-0956 ; [.1FC6.0020.0002.0956] # DEVANAGARI VOWEL SIGN UE
-0957 ; [.1FC7.0020.0002.0957] # DEVANAGARI VOWEL SIGN UUE
-093F ; [.1FC8.0020.0002.093F] # DEVANAGARI VOWEL SIGN I
-0940 ; [.1FC9.0020.0002.0940] # DEVANAGARI VOWEL SIGN II
-0941 ; [.1FCA.0020.0002.0941] # DEVANAGARI VOWEL SIGN U
-0942 ; [.1FCB.0020.0002.0942] # DEVANAGARI VOWEL SIGN UU
-0943 ; [.1FCC.0020.0002.0943] # DEVANAGARI VOWEL SIGN VOCALIC R
-0944 ; [.1FCD.0020.0002.0944] # DEVANAGARI VOWEL SIGN VOCALIC RR
-0962 ; [.1FCE.0020.0002.0962] # DEVANAGARI VOWEL SIGN VOCALIC L
-0963 ; [.1FCF.0020.0002.0963] # DEVANAGARI VOWEL SIGN VOCALIC LL
-0945 ; [.1FD0.0020.0002.0945] # DEVANAGARI VOWEL SIGN CANDRA E
-0955 ; [.1FD1.0020.0002.0955] # DEVANAGARI VOWEL SIGN CANDRA LONG E
-0946 ; [.1FD2.0020.0002.0946] # DEVANAGARI VOWEL SIGN SHORT E
-0947 ; [.1FD3.0020.0002.0947] # DEVANAGARI VOWEL SIGN E
-094E ; [.1FD4.0020.0002.094E] # DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0948 ; [.1FD5.0020.0002.0948] # DEVANAGARI VOWEL SIGN AI
-0949 ; [.1FD6.0020.0002.0949] # DEVANAGARI VOWEL SIGN CANDRA O
-094A ; [.1FD7.0020.0002.094A] # DEVANAGARI VOWEL SIGN SHORT O
-094B ; [.1FD8.0020.0002.094B] # DEVANAGARI VOWEL SIGN O
-094C ; [.1FD9.0020.0002.094C] # DEVANAGARI VOWEL SIGN AU
-094D ; [.1FDA.0020.0002.094D] # DEVANAGARI SIGN VIRAMA
-0985 ; [.1FDB.0020.0002.0985] # BENGALI LETTER A
-0986 ; [.1FDC.0020.0002.0986] # BENGALI LETTER AA
-0987 ; [.1FDD.0020.0002.0987] # BENGALI LETTER I
-0988 ; [.1FDE.0020.0002.0988] # BENGALI LETTER II
-0989 ; [.1FDF.0020.0002.0989] # BENGALI LETTER U
-098A ; [.1FE0.0020.0002.098A] # BENGALI LETTER UU
-098B ; [.1FE1.0020.0002.098B] # BENGALI LETTER VOCALIC R
-09E0 ; [.1FE2.0020.0002.09E0] # BENGALI LETTER VOCALIC RR
-098C ; [.1FE3.0020.0002.098C] # BENGALI LETTER VOCALIC L
-09E1 ; [.1FE4.0020.0002.09E1] # BENGALI LETTER VOCALIC LL
-098F ; [.1FE5.0020.0002.098F] # BENGALI LETTER E
-0990 ; [.1FE6.0020.0002.0990] # BENGALI LETTER AI
-0993 ; [.1FE7.0020.0002.0993] # BENGALI LETTER O
-0994 ; [.1FE8.0020.0002.0994] # BENGALI LETTER AU
-0995 ; [.1FE9.0020.0002.0995] # BENGALI LETTER KA
-0996 ; [.1FEA.0020.0002.0996] # BENGALI LETTER KHA
-0997 ; [.1FEB.0020.0002.0997] # BENGALI LETTER GA
-0998 ; [.1FEC.0020.0002.0998] # BENGALI LETTER GHA
-0999 ; [.1FED.0020.0002.0999] # BENGALI LETTER NGA
-099A ; [.1FEE.0020.0002.099A] # BENGALI LETTER CA
-099B ; [.1FEF.0020.0002.099B] # BENGALI LETTER CHA
-099C ; [.1FF0.0020.0002.099C] # BENGALI LETTER JA
-099D ; [.1FF1.0020.0002.099D] # BENGALI LETTER JHA
-099E ; [.1FF2.0020.0002.099E] # BENGALI LETTER NYA
-099F ; [.1FF3.0020.0002.099F] # BENGALI LETTER TTA
-09A0 ; [.1FF4.0020.0002.09A0] # BENGALI LETTER TTHA
-09A1 ; [.1FF5.0020.0002.09A1] # BENGALI LETTER DDA
-09DC ; [.1FF5.0020.0002.09A1][.0000.00E1.0002.09BC] # BENGALI LETTER RRA; QQCM
-09A2 ; [.1FF6.0020.0002.09A2] # BENGALI LETTER DDHA
-09DD ; [.1FF6.0020.0002.09A2][.0000.00E1.0002.09BC] # BENGALI LETTER RHA; QQCM
-09A3 ; [.1FF7.0020.0002.09A3] # BENGALI LETTER NNA
-09A4 ; [.1FF8.0020.0002.09A4] # BENGALI LETTER TA
-09CE ; [.1FF8.0020.0004.09CE][.2019.0020.0004.09CE] # BENGALI LETTER KHANDA TA; QQKN
-09A5 ; [.1FF9.0020.0002.09A5] # BENGALI LETTER THA
-09A6 ; [.1FFA.0020.0002.09A6] # BENGALI LETTER DA
-09A7 ; [.1FFB.0020.0002.09A7] # BENGALI LETTER DHA
-09A8 ; [.1FFC.0020.0002.09A8] # BENGALI LETTER NA
-09AA ; [.1FFD.0020.0002.09AA] # BENGALI LETTER PA
-09AB ; [.1FFE.0020.0002.09AB] # BENGALI LETTER PHA
-09AC ; [.1FFF.0020.0002.09AC] # BENGALI LETTER BA
-09AD ; [.2000.0020.0002.09AD] # BENGALI LETTER BHA
-09AE ; [.2001.0020.0002.09AE] # BENGALI LETTER MA
-09AF ; [.2002.0020.0002.09AF] # BENGALI LETTER YA
-09DF ; [.2002.0020.0002.09AF][.0000.00E1.0002.09BC] # BENGALI LETTER YYA; QQCM
-09B0 ; [.2003.0020.0002.09B0] # BENGALI LETTER RA
-09F0 ; [.2004.0020.0002.09F0] # BENGALI LETTER RA WITH MIDDLE DIAGONAL
-09B2 ; [.2005.0020.0002.09B2] # BENGALI LETTER LA
-09F1 ; [.2006.0020.0002.09F1] # BENGALI LETTER RA WITH LOWER DIAGONAL
-09B6 ; [.2007.0020.0002.09B6] # BENGALI LETTER SHA
-09B7 ; [.2008.0020.0002.09B7] # BENGALI LETTER SSA
-09B8 ; [.2009.0020.0002.09B8] # BENGALI LETTER SA
-09B9 ; [.200A.0020.0002.09B9] # BENGALI LETTER HA
-09BD ; [.200B.0020.0002.09BD] # BENGALI SIGN AVAGRAHA
-09BE ; [.200C.0020.0002.09BE] # BENGALI VOWEL SIGN AA
-09BF ; [.200D.0020.0002.09BF] # BENGALI VOWEL SIGN I
-09C0 ; [.200E.0020.0002.09C0] # BENGALI VOWEL SIGN II
-09C1 ; [.200F.0020.0002.09C1] # BENGALI VOWEL SIGN U
-09C2 ; [.2010.0020.0002.09C2] # BENGALI VOWEL SIGN UU
-09C3 ; [.2011.0020.0002.09C3] # BENGALI VOWEL SIGN VOCALIC R
-09C4 ; [.2012.0020.0002.09C4] # BENGALI VOWEL SIGN VOCALIC RR
-09E2 ; [.2013.0020.0002.09E2] # BENGALI VOWEL SIGN VOCALIC L
-09E3 ; [.2014.0020.0002.09E3] # BENGALI VOWEL SIGN VOCALIC LL
-09C7 ; [.2015.0020.0002.09C7] # BENGALI VOWEL SIGN E
-09C8 ; [.2016.0020.0002.09C8] # BENGALI VOWEL SIGN AI
-09CB ; [.2017.0020.0002.09CB] # BENGALI VOWEL SIGN O
-09C7 09BE ; [.2017.0020.0002.09CB] # BENGALI VOWEL SIGN O
-09CC ; [.2018.0020.0002.09CC] # BENGALI VOWEL SIGN AU
-09C7 09D7 ; [.2018.0020.0002.09CC] # BENGALI VOWEL SIGN AU
-09CD ; [.2019.0020.0002.09CD] # BENGALI SIGN VIRAMA
-09D7 ; [.201A.0020.0002.09D7] # BENGALI AU LENGTH MARK
-0A74 ; [.201B.0020.0002.0A74] # GURMUKHI EK ONKAR
-0A73 ; [.201C.0020.0002.0A73] # GURMUKHI URA
-0A09 ; [.201D.0020.0002.0A09] # GURMUKHI LETTER U
-0A0A ; [.201E.0020.0002.0A0A] # GURMUKHI LETTER UU
-0A13 ; [.201F.0020.0002.0A13] # GURMUKHI LETTER OO
-0A05 ; [.2020.0020.0002.0A05] # GURMUKHI LETTER A
-0A06 ; [.2021.0020.0002.0A06] # GURMUKHI LETTER AA
-0A10 ; [.2022.0020.0002.0A10] # GURMUKHI LETTER AI
-0A14 ; [.2023.0020.0002.0A14] # GURMUKHI LETTER AU
-0A72 ; [.2024.0020.0002.0A72] # GURMUKHI IRI
-0A07 ; [.2025.0020.0002.0A07] # GURMUKHI LETTER I
-0A08 ; [.2026.0020.0002.0A08] # GURMUKHI LETTER II
-0A0F ; [.2027.0020.0002.0A0F] # GURMUKHI LETTER EE
-0A38 ; [.2028.0020.0002.0A38] # GURMUKHI LETTER SA
-0A36 ; [.2028.0020.0002.0A38][.0000.00E5.0002.0A3C] # GURMUKHI LETTER SHA; QQCM
-0A39 ; [.2029.0020.0002.0A39] # GURMUKHI LETTER HA
-0A51 ; [.202A.0020.0002.0A51] # GURMUKHI SIGN UDAAT
-0A15 ; [.202B.0020.0002.0A15] # GURMUKHI LETTER KA
-0A16 ; [.202C.0020.0002.0A16] # GURMUKHI LETTER KHA
-0A59 ; [.202C.0020.0002.0A16][.0000.00E5.0002.0A3C] # GURMUKHI LETTER KHHA; QQCM
-0A17 ; [.202D.0020.0002.0A17] # GURMUKHI LETTER GA
-0A5A ; [.202D.0020.0002.0A17][.0000.00E5.0002.0A3C] # GURMUKHI LETTER GHHA; QQCM
-0A18 ; [.202E.0020.0002.0A18] # GURMUKHI LETTER GHA
-0A19 ; [.202F.0020.0002.0A19] # GURMUKHI LETTER NGA
-0A1A ; [.2030.0020.0002.0A1A] # GURMUKHI LETTER CA
-0A1B ; [.2031.0020.0002.0A1B] # GURMUKHI LETTER CHA
-0A1C ; [.2032.0020.0002.0A1C] # GURMUKHI LETTER JA
-0A5B ; [.2032.0020.0002.0A1C][.0000.00E5.0002.0A3C] # GURMUKHI LETTER ZA; QQCM
-0A1D ; [.2033.0020.0002.0A1D] # GURMUKHI LETTER JHA
-0A1E ; [.2034.0020.0002.0A1E] # GURMUKHI LETTER NYA
-0A1F ; [.2035.0020.0002.0A1F] # GURMUKHI LETTER TTA
-0A20 ; [.2036.0020.0002.0A20] # GURMUKHI LETTER TTHA
-0A21 ; [.2037.0020.0002.0A21] # GURMUKHI LETTER DDA
-0A22 ; [.2038.0020.0002.0A22] # GURMUKHI LETTER DDHA
-0A23 ; [.2039.0020.0002.0A23] # GURMUKHI LETTER NNA
-0A24 ; [.203A.0020.0002.0A24] # GURMUKHI LETTER TA
-0A25 ; [.203B.0020.0002.0A25] # GURMUKHI LETTER THA
-0A26 ; [.203C.0020.0002.0A26] # GURMUKHI LETTER DA
-0A27 ; [.203D.0020.0002.0A27] # GURMUKHI LETTER DHA
-0A28 ; [.203E.0020.0002.0A28] # GURMUKHI LETTER NA
-0A2A ; [.203F.0020.0002.0A2A] # GURMUKHI LETTER PA
-0A2B ; [.2040.0020.0002.0A2B] # GURMUKHI LETTER PHA
-0A5E ; [.2040.0020.0002.0A2B][.0000.00E5.0002.0A3C] # GURMUKHI LETTER FA; QQCM
-0A2C ; [.2041.0020.0002.0A2C] # GURMUKHI LETTER BA
-0A2D ; [.2042.0020.0002.0A2D] # GURMUKHI LETTER BHA
-0A2E ; [.2043.0020.0002.0A2E] # GURMUKHI LETTER MA
-0A2F ; [.2044.0020.0002.0A2F] # GURMUKHI LETTER YA
-0A75 ; [.2045.0020.0002.0A75] # GURMUKHI SIGN YAKASH
-0A30 ; [.2046.0020.0002.0A30] # GURMUKHI LETTER RA
-0A32 ; [.2047.0020.0002.0A32] # GURMUKHI LETTER LA
-0A33 ; [.2047.0020.0002.0A32][.0000.00E5.0002.0A3C] # GURMUKHI LETTER LLA; QQCM
-0A35 ; [.2048.0020.0002.0A35] # GURMUKHI LETTER VA
-0A5C ; [.2049.0020.0002.0A5C] # GURMUKHI LETTER RRA
-0A3E ; [.204A.0020.0002.0A3E] # GURMUKHI VOWEL SIGN AA
-0A3F ; [.204B.0020.0002.0A3F] # GURMUKHI VOWEL SIGN I
-0A40 ; [.204C.0020.0002.0A40] # GURMUKHI VOWEL SIGN II
-0A41 ; [.204D.0020.0002.0A41] # GURMUKHI VOWEL SIGN U
-0A42 ; [.204E.0020.0002.0A42] # GURMUKHI VOWEL SIGN UU
-0A47 ; [.204F.0020.0002.0A47] # GURMUKHI VOWEL SIGN EE
-0A48 ; [.2050.0020.0002.0A48] # GURMUKHI VOWEL SIGN AI
-0A4B ; [.2051.0020.0002.0A4B] # GURMUKHI VOWEL SIGN OO
-0A4C ; [.2052.0020.0002.0A4C] # GURMUKHI VOWEL SIGN AU
-0A4D ; [.2053.0020.0002.0A4D] # GURMUKHI SIGN VIRAMA
-0AD0 ; [.2054.0020.0002.0AD0] # GUJARATI OM
-0A85 ; [.2055.0020.0002.0A85] # GUJARATI LETTER A
-0A86 ; [.2056.0020.0002.0A86] # GUJARATI LETTER AA
-0A87 ; [.2057.0020.0002.0A87] # GUJARATI LETTER I
-0A88 ; [.2058.0020.0002.0A88] # GUJARATI LETTER II
-0A89 ; [.2059.0020.0002.0A89] # GUJARATI LETTER U
-0A8A ; [.205A.0020.0002.0A8A] # GUJARATI LETTER UU
-0A8B ; [.205B.0020.0002.0A8B] # GUJARATI LETTER VOCALIC R
-0AE0 ; [.205C.0020.0002.0AE0] # GUJARATI LETTER VOCALIC RR
-0A8C ; [.205D.0020.0002.0A8C] # GUJARATI LETTER VOCALIC L
-0AE1 ; [.205E.0020.0002.0AE1] # GUJARATI LETTER VOCALIC LL
-0A8D ; [.205F.0020.0002.0A8D] # GUJARATI VOWEL CANDRA E
-0A8F ; [.2060.0020.0002.0A8F] # GUJARATI LETTER E
-0A90 ; [.2061.0020.0002.0A90] # GUJARATI LETTER AI
-0A91 ; [.2062.0020.0002.0A91] # GUJARATI VOWEL CANDRA O
-0A93 ; [.2063.0020.0002.0A93] # GUJARATI LETTER O
-0A94 ; [.2064.0020.0002.0A94] # GUJARATI LETTER AU
-0A95 ; [.2065.0020.0002.0A95] # GUJARATI LETTER KA
-0A96 ; [.2066.0020.0002.0A96] # GUJARATI LETTER KHA
-0A97 ; [.2067.0020.0002.0A97] # GUJARATI LETTER GA
-0A98 ; [.2068.0020.0002.0A98] # GUJARATI LETTER GHA
-0A99 ; [.2069.0020.0002.0A99] # GUJARATI LETTER NGA
-0A9A ; [.206A.0020.0002.0A9A] # GUJARATI LETTER CA
-0A9B ; [.206B.0020.0002.0A9B] # GUJARATI LETTER CHA
-0A9C ; [.206C.0020.0002.0A9C] # GUJARATI LETTER JA
-0A9D ; [.206D.0020.0002.0A9D] # GUJARATI LETTER JHA
-0A9E ; [.206E.0020.0002.0A9E] # GUJARATI LETTER NYA
-0A9F ; [.206F.0020.0002.0A9F] # GUJARATI LETTER TTA
-0AA0 ; [.2070.0020.0002.0AA0] # GUJARATI LETTER TTHA
-0AA1 ; [.2071.0020.0002.0AA1] # GUJARATI LETTER DDA
-0AA2 ; [.2072.0020.0002.0AA2] # GUJARATI LETTER DDHA
-0AA3 ; [.2073.0020.0002.0AA3] # GUJARATI LETTER NNA
-0AA4 ; [.2074.0020.0002.0AA4] # GUJARATI LETTER TA
-0AA5 ; [.2075.0020.0002.0AA5] # GUJARATI LETTER THA
-0AA6 ; [.2076.0020.0002.0AA6] # GUJARATI LETTER DA
-0AA7 ; [.2077.0020.0002.0AA7] # GUJARATI LETTER DHA
-0AA8 ; [.2078.0020.0002.0AA8] # GUJARATI LETTER NA
-0AAA ; [.2079.0020.0002.0AAA] # GUJARATI LETTER PA
-0AAB ; [.207A.0020.0002.0AAB] # GUJARATI LETTER PHA
-0AAC ; [.207B.0020.0002.0AAC] # GUJARATI LETTER BA
-0AAD ; [.207C.0020.0002.0AAD] # GUJARATI LETTER BHA
-0AAE ; [.207D.0020.0002.0AAE] # GUJARATI LETTER MA
-0AAF ; [.207E.0020.0002.0AAF] # GUJARATI LETTER YA
-0AB0 ; [.207F.0020.0002.0AB0] # GUJARATI LETTER RA
-0AB2 ; [.2080.0020.0002.0AB2] # GUJARATI LETTER LA
-0AB5 ; [.2081.0020.0002.0AB5] # GUJARATI LETTER VA
-0AB6 ; [.2082.0020.0002.0AB6] # GUJARATI LETTER SHA
-0AB7 ; [.2083.0020.0002.0AB7] # GUJARATI LETTER SSA
-0AB8 ; [.2084.0020.0002.0AB8] # GUJARATI LETTER SA
-0AB9 ; [.2085.0020.0002.0AB9] # GUJARATI LETTER HA
-0AB3 ; [.2086.0020.0002.0AB3] # GUJARATI LETTER LLA
-0ABD ; [.2087.0020.0002.0ABD] # GUJARATI SIGN AVAGRAHA
-0ABE ; [.2088.0020.0002.0ABE] # GUJARATI VOWEL SIGN AA
-0ABF ; [.2089.0020.0002.0ABF] # GUJARATI VOWEL SIGN I
-0AC0 ; [.208A.0020.0002.0AC0] # GUJARATI VOWEL SIGN II
-0AC1 ; [.208B.0020.0002.0AC1] # GUJARATI VOWEL SIGN U
-0AC2 ; [.208C.0020.0002.0AC2] # GUJARATI VOWEL SIGN UU
-0AC3 ; [.208D.0020.0002.0AC3] # GUJARATI VOWEL SIGN VOCALIC R
-0AC4 ; [.208E.0020.0002.0AC4] # GUJARATI VOWEL SIGN VOCALIC RR
-0AE2 ; [.208F.0020.0002.0AE2] # GUJARATI VOWEL SIGN VOCALIC L
-0AE3 ; [.2090.0020.0002.0AE3] # GUJARATI VOWEL SIGN VOCALIC LL
-0AC5 ; [.2091.0020.0002.0AC5] # GUJARATI VOWEL SIGN CANDRA E
-0AC7 ; [.2092.0020.0002.0AC7] # GUJARATI VOWEL SIGN E
-0AC8 ; [.2093.0020.0002.0AC8] # GUJARATI VOWEL SIGN AI
-0AC9 ; [.2094.0020.0002.0AC9] # GUJARATI VOWEL SIGN CANDRA O
-0ACB ; [.2095.0020.0002.0ACB] # GUJARATI VOWEL SIGN O
-0ACC ; [.2096.0020.0002.0ACC] # GUJARATI VOWEL SIGN AU
-0ACD ; [.2097.0020.0002.0ACD] # GUJARATI SIGN VIRAMA
-0B05 ; [.2098.0020.0002.0B05] # ORIYA LETTER A
-0B06 ; [.2099.0020.0002.0B06] # ORIYA LETTER AA
-0B07 ; [.209A.0020.0002.0B07] # ORIYA LETTER I
-0B08 ; [.209B.0020.0002.0B08] # ORIYA LETTER II
-0B09 ; [.209C.0020.0002.0B09] # ORIYA LETTER U
-0B0A ; [.209D.0020.0002.0B0A] # ORIYA LETTER UU
-0B0B ; [.209E.0020.0002.0B0B] # ORIYA LETTER VOCALIC R
-0B60 ; [.209F.0020.0002.0B60] # ORIYA LETTER VOCALIC RR
-0B0C ; [.20A0.0020.0002.0B0C] # ORIYA LETTER VOCALIC L
-0B61 ; [.20A1.0020.0002.0B61] # ORIYA LETTER VOCALIC LL
-0B0F ; [.20A2.0020.0002.0B0F] # ORIYA LETTER E
-0B10 ; [.20A3.0020.0002.0B10] # ORIYA LETTER AI
-0B13 ; [.20A4.0020.0002.0B13] # ORIYA LETTER O
-0B14 ; [.20A5.0020.0002.0B14] # ORIYA LETTER AU
-0B15 ; [.20A6.0020.0002.0B15] # ORIYA LETTER KA
-0B16 ; [.20A7.0020.0002.0B16] # ORIYA LETTER KHA
-0B17 ; [.20A8.0020.0002.0B17] # ORIYA LETTER GA
-0B18 ; [.20A9.0020.0002.0B18] # ORIYA LETTER GHA
-0B19 ; [.20AA.0020.0002.0B19] # ORIYA LETTER NGA
-0B1A ; [.20AB.0020.0002.0B1A] # ORIYA LETTER CA
-0B1B ; [.20AC.0020.0002.0B1B] # ORIYA LETTER CHA
-0B1C ; [.20AD.0020.0002.0B1C] # ORIYA LETTER JA
-0B1D ; [.20AE.0020.0002.0B1D] # ORIYA LETTER JHA
-0B1E ; [.20AF.0020.0002.0B1E] # ORIYA LETTER NYA
-0B1F ; [.20B0.0020.0002.0B1F] # ORIYA LETTER TTA
-0B20 ; [.20B1.0020.0002.0B20] # ORIYA LETTER TTHA
-0B21 ; [.20B2.0020.0002.0B21] # ORIYA LETTER DDA
-0B5C ; [.20B2.0020.0002.0B21][.0000.00EF.0002.0B3C] # ORIYA LETTER RRA; QQCM
-0B22 ; [.20B3.0020.0002.0B22] # ORIYA LETTER DDHA
-0B5D ; [.20B3.0020.0002.0B22][.0000.00EF.0002.0B3C] # ORIYA LETTER RHA; QQCM
-0B23 ; [.20B4.0020.0002.0B23] # ORIYA LETTER NNA
-0B24 ; [.20B5.0020.0002.0B24] # ORIYA LETTER TA
-0B25 ; [.20B6.0020.0002.0B25] # ORIYA LETTER THA
-0B26 ; [.20B7.0020.0002.0B26] # ORIYA LETTER DA
-0B27 ; [.20B8.0020.0002.0B27] # ORIYA LETTER DHA
-0B28 ; [.20B9.0020.0002.0B28] # ORIYA LETTER NA
-0B2A ; [.20BA.0020.0002.0B2A] # ORIYA LETTER PA
-0B2B ; [.20BB.0020.0002.0B2B] # ORIYA LETTER PHA
-0B2C ; [.20BC.0020.0002.0B2C] # ORIYA LETTER BA
-0B2D ; [.20BD.0020.0002.0B2D] # ORIYA LETTER BHA
-0B2E ; [.20BE.0020.0002.0B2E] # ORIYA LETTER MA
-0B2F ; [.20BF.0020.0002.0B2F] # ORIYA LETTER YA
-0B5F ; [.20C0.0020.0002.0B5F] # ORIYA LETTER YYA
-0B30 ; [.20C1.0020.0002.0B30] # ORIYA LETTER RA
-0B32 ; [.20C2.0020.0002.0B32] # ORIYA LETTER LA
-0B33 ; [.20C3.0020.0002.0B33] # ORIYA LETTER LLA
-0B35 ; [.20C4.0020.0002.0B35] # ORIYA LETTER VA
-0B71 ; [.20C5.0020.0002.0B71] # ORIYA LETTER WA
-0B36 ; [.20C6.0020.0002.0B36] # ORIYA LETTER SHA
-0B37 ; [.20C7.0020.0002.0B37] # ORIYA LETTER SSA
-0B38 ; [.20C8.0020.0002.0B38] # ORIYA LETTER SA
-0B39 ; [.20C9.0020.0002.0B39] # ORIYA LETTER HA
-0B3D ; [.20CA.0020.0002.0B3D] # ORIYA SIGN AVAGRAHA
-0B3E ; [.20CB.0020.0002.0B3E] # ORIYA VOWEL SIGN AA
-0B3F ; [.20CC.0020.0002.0B3F] # ORIYA VOWEL SIGN I
-0B40 ; [.20CD.0020.0002.0B40] # ORIYA VOWEL SIGN II
-0B41 ; [.20CE.0020.0002.0B41] # ORIYA VOWEL SIGN U
-0B42 ; [.20CF.0020.0002.0B42] # ORIYA VOWEL SIGN UU
-0B43 ; [.20D0.0020.0002.0B43] # ORIYA VOWEL SIGN VOCALIC R
-0B44 ; [.20D1.0020.0002.0B44] # ORIYA VOWEL SIGN VOCALIC RR
-0B62 ; [.20D2.0020.0002.0B62] # ORIYA VOWEL SIGN VOCALIC L
-0B63 ; [.20D3.0020.0002.0B63] # ORIYA VOWEL SIGN VOCALIC LL
-0B47 ; [.20D4.0020.0002.0B47] # ORIYA VOWEL SIGN E
-0B48 ; [.20D5.0020.0002.0B48] # ORIYA VOWEL SIGN AI
-0B47 0B56 ; [.20D5.0020.0002.0B48] # ORIYA VOWEL SIGN AI
-0B4B ; [.20D6.0020.0002.0B4B] # ORIYA VOWEL SIGN O
-0B47 0B3E ; [.20D6.0020.0002.0B4B] # ORIYA VOWEL SIGN O
-0B4C ; [.20D7.0020.0002.0B4C] # ORIYA VOWEL SIGN AU
-0B47 0B57 ; [.20D7.0020.0002.0B4C] # ORIYA VOWEL SIGN AU
-0B4D ; [.20D8.0020.0002.0B4D] # ORIYA SIGN VIRAMA
-0B56 ; [.20D9.0020.0002.0B56] # ORIYA AI LENGTH MARK
-0B57 ; [.20DA.0020.0002.0B57] # ORIYA AU LENGTH MARK
-0BD0 ; [.20DB.0020.0002.0BD0] # TAMIL OM
-0B85 ; [.20DC.0020.0002.0B85] # TAMIL LETTER A
-0B86 ; [.20DD.0020.0002.0B86] # TAMIL LETTER AA
-0B87 ; [.20DE.0020.0002.0B87] # TAMIL LETTER I
-0B88 ; [.20DF.0020.0002.0B88] # TAMIL LETTER II
-0B89 ; [.20E0.0020.0002.0B89] # TAMIL LETTER U
-0B8A ; [.20E1.0020.0002.0B8A] # TAMIL LETTER UU
-0B8E ; [.20E2.0020.0002.0B8E] # TAMIL LETTER E
-0B8F ; [.20E3.0020.0002.0B8F] # TAMIL LETTER EE
-0B90 ; [.20E4.0020.0002.0B90] # TAMIL LETTER AI
-0B92 ; [.20E5.0020.0002.0B92] # TAMIL LETTER O
-0B93 ; [.20E6.0020.0002.0B93] # TAMIL LETTER OO
-0B94 ; [.20E7.0020.0002.0B94] # TAMIL LETTER AU
-0B92 0BD7 ; [.20E7.0020.0002.0B94] # TAMIL LETTER AU
-0B83 ; [.20E8.0020.0002.0B83] # TAMIL SIGN VISARGA
-0B95 ; [.20E9.0020.0002.0B95] # TAMIL LETTER KA
-0B99 ; [.20EA.0020.0002.0B99] # TAMIL LETTER NGA
-0B9A ; [.20EB.0020.0002.0B9A] # TAMIL LETTER CA
-0B9E ; [.20EC.0020.0002.0B9E] # TAMIL LETTER NYA
-0B9F ; [.20ED.0020.0002.0B9F] # TAMIL LETTER TTA
-0BA3 ; [.20EE.0020.0002.0BA3] # TAMIL LETTER NNA
-0BA4 ; [.20EF.0020.0002.0BA4] # TAMIL LETTER TA
-0BA8 ; [.20F0.0020.0002.0BA8] # TAMIL LETTER NA
-0BAA ; [.20F1.0020.0002.0BAA] # TAMIL LETTER PA
-0BAE ; [.20F2.0020.0002.0BAE] # TAMIL LETTER MA
-0BAF ; [.20F3.0020.0002.0BAF] # TAMIL LETTER YA
-0BB0 ; [.20F4.0020.0002.0BB0] # TAMIL LETTER RA
-0BB2 ; [.20F5.0020.0002.0BB2] # TAMIL LETTER LA
-0BB5 ; [.20F6.0020.0002.0BB5] # TAMIL LETTER VA
-0BB4 ; [.20F7.0020.0002.0BB4] # TAMIL LETTER LLLA
-0BB3 ; [.20F8.0020.0002.0BB3] # TAMIL LETTER LLA
-0BB1 ; [.20F9.0020.0002.0BB1] # TAMIL LETTER RRA
-0BA9 ; [.20FA.0020.0002.0BA9] # TAMIL LETTER NNNA
-0B9C ; [.20FB.0020.0002.0B9C] # TAMIL LETTER JA
-0BB6 ; [.20FC.0020.0002.0BB6] # TAMIL LETTER SHA
-0BB7 ; [.20FD.0020.0002.0BB7] # TAMIL LETTER SSA
-0BB8 ; [.20FE.0020.0002.0BB8] # TAMIL LETTER SA
-0BB9 ; [.20FF.0020.0002.0BB9] # TAMIL LETTER HA
-0BBE ; [.2100.0020.0002.0BBE] # TAMIL VOWEL SIGN AA
-0BBF ; [.2101.0020.0002.0BBF] # TAMIL VOWEL SIGN I
-0BC0 ; [.2102.0020.0002.0BC0] # TAMIL VOWEL SIGN II
-0BC1 ; [.2103.0020.0002.0BC1] # TAMIL VOWEL SIGN U
-0BC2 ; [.2104.0020.0002.0BC2] # TAMIL VOWEL SIGN UU
-0BC6 ; [.2105.0020.0002.0BC6] # TAMIL VOWEL SIGN E
-0BC7 ; [.2106.0020.0002.0BC7] # TAMIL VOWEL SIGN EE
-0BC8 ; [.2107.0020.0002.0BC8] # TAMIL VOWEL SIGN AI
-0BCA ; [.2108.0020.0002.0BCA] # TAMIL VOWEL SIGN O
-0BC6 0BBE ; [.2108.0020.0002.0BCA] # TAMIL VOWEL SIGN O
-0BCB ; [.2109.0020.0002.0BCB] # TAMIL VOWEL SIGN OO
-0BC7 0BBE ; [.2109.0020.0002.0BCB] # TAMIL VOWEL SIGN OO
-0BCC ; [.210A.0020.0002.0BCC] # TAMIL VOWEL SIGN AU
-0BC6 0BD7 ; [.210A.0020.0002.0BCC] # TAMIL VOWEL SIGN AU
-0BCD ; [.210B.0020.0002.0BCD] # TAMIL SIGN VIRAMA
-0BD7 ; [.210C.0020.0002.0BD7] # TAMIL AU LENGTH MARK
-0C05 ; [.210D.0020.0002.0C05] # TELUGU LETTER A
-0C06 ; [.210E.0020.0002.0C06] # TELUGU LETTER AA
-0C07 ; [.210F.0020.0002.0C07] # TELUGU LETTER I
-0C08 ; [.2110.0020.0002.0C08] # TELUGU LETTER II
-0C09 ; [.2111.0020.0002.0C09] # TELUGU LETTER U
-0C0A ; [.2112.0020.0002.0C0A] # TELUGU LETTER UU
-0C0B ; [.2113.0020.0002.0C0B] # TELUGU LETTER VOCALIC R
-0C60 ; [.2114.0020.0002.0C60] # TELUGU LETTER VOCALIC RR
-0C0C ; [.2115.0020.0002.0C0C] # TELUGU LETTER VOCALIC L
-0C61 ; [.2116.0020.0002.0C61] # TELUGU LETTER VOCALIC LL
-0C0E ; [.2117.0020.0002.0C0E] # TELUGU LETTER E
-0C0F ; [.2118.0020.0002.0C0F] # TELUGU LETTER EE
-0C10 ; [.2119.0020.0002.0C10] # TELUGU LETTER AI
-0C12 ; [.211A.0020.0002.0C12] # TELUGU LETTER O
-0C13 ; [.211B.0020.0002.0C13] # TELUGU LETTER OO
-0C14 ; [.211C.0020.0002.0C14] # TELUGU LETTER AU
-0C15 ; [.211D.0020.0002.0C15] # TELUGU LETTER KA
-0C16 ; [.211E.0020.0002.0C16] # TELUGU LETTER KHA
-0C17 ; [.211F.0020.0002.0C17] # TELUGU LETTER GA
-0C18 ; [.2120.0020.0002.0C18] # TELUGU LETTER GHA
-0C19 ; [.2121.0020.0002.0C19] # TELUGU LETTER NGA
-0C1A ; [.2122.0020.0002.0C1A] # TELUGU LETTER CA
-0C58 ; [.2123.0020.0002.0C58] # TELUGU LETTER TSA
-0C1B ; [.2124.0020.0002.0C1B] # TELUGU LETTER CHA
-0C1C ; [.2125.0020.0002.0C1C] # TELUGU LETTER JA
-0C59 ; [.2126.0020.0002.0C59] # TELUGU LETTER DZA
-0C1D ; [.2127.0020.0002.0C1D] # TELUGU LETTER JHA
-0C1E ; [.2128.0020.0002.0C1E] # TELUGU LETTER NYA
-0C1F ; [.2129.0020.0002.0C1F] # TELUGU LETTER TTA
-0C20 ; [.212A.0020.0002.0C20] # TELUGU LETTER TTHA
-0C21 ; [.212B.0020.0002.0C21] # TELUGU LETTER DDA
-0C22 ; [.212C.0020.0002.0C22] # TELUGU LETTER DDHA
-0C23 ; [.212D.0020.0002.0C23] # TELUGU LETTER NNA
-0C24 ; [.212E.0020.0002.0C24] # TELUGU LETTER TA
-0C25 ; [.212F.0020.0002.0C25] # TELUGU LETTER THA
-0C26 ; [.2130.0020.0002.0C26] # TELUGU LETTER DA
-0C27 ; [.2131.0020.0002.0C27] # TELUGU LETTER DHA
-0C28 ; [.2132.0020.0002.0C28] # TELUGU LETTER NA
-0C2A ; [.2133.0020.0002.0C2A] # TELUGU LETTER PA
-0C2B ; [.2134.0020.0002.0C2B] # TELUGU LETTER PHA
-0C2C ; [.2135.0020.0002.0C2C] # TELUGU LETTER BA
-0C2D ; [.2136.0020.0002.0C2D] # TELUGU LETTER BHA
-0C2E ; [.2137.0020.0002.0C2E] # TELUGU LETTER MA
-0C2F ; [.2138.0020.0002.0C2F] # TELUGU LETTER YA
-0C30 ; [.2139.0020.0002.0C30] # TELUGU LETTER RA
-0C31 ; [.213A.0020.0002.0C31] # TELUGU LETTER RRA
-0C32 ; [.213B.0020.0002.0C32] # TELUGU LETTER LA
-0C35 ; [.213C.0020.0002.0C35] # TELUGU LETTER VA
-0C36 ; [.213D.0020.0002.0C36] # TELUGU LETTER SHA
-0C37 ; [.213E.0020.0002.0C37] # TELUGU LETTER SSA
-0C38 ; [.213F.0020.0002.0C38] # TELUGU LETTER SA
-0C39 ; [.2140.0020.0002.0C39] # TELUGU LETTER HA
-0C33 ; [.2141.0020.0002.0C33] # TELUGU LETTER LLA
-0C3D ; [.2142.0020.0002.0C3D] # TELUGU SIGN AVAGRAHA
-0C3E ; [.2143.0020.0002.0C3E] # TELUGU VOWEL SIGN AA
-0C3F ; [.2144.0020.0002.0C3F] # TELUGU VOWEL SIGN I
-0C40 ; [.2145.0020.0002.0C40] # TELUGU VOWEL SIGN II
-0C41 ; [.2146.0020.0002.0C41] # TELUGU VOWEL SIGN U
-0C42 ; [.2147.0020.0002.0C42] # TELUGU VOWEL SIGN UU
-0C43 ; [.2148.0020.0002.0C43] # TELUGU VOWEL SIGN VOCALIC R
-0C44 ; [.2149.0020.0002.0C44] # TELUGU VOWEL SIGN VOCALIC RR
-0C62 ; [.214A.0020.0002.0C62] # TELUGU VOWEL SIGN VOCALIC L
-0C63 ; [.214B.0020.0002.0C63] # TELUGU VOWEL SIGN VOCALIC LL
-0C46 ; [.214C.0020.0002.0C46] # TELUGU VOWEL SIGN E
-0C47 ; [.214D.0020.0002.0C47] # TELUGU VOWEL SIGN EE
-0C48 ; [.214E.0020.0002.0C48] # TELUGU VOWEL SIGN AI
-0C46 0C56 ; [.214E.0020.0002.0C48] # TELUGU VOWEL SIGN AI
-0C4A ; [.214F.0020.0002.0C4A] # TELUGU VOWEL SIGN O
-0C4B ; [.2150.0020.0002.0C4B] # TELUGU VOWEL SIGN OO
-0C4C ; [.2151.0020.0002.0C4C] # TELUGU VOWEL SIGN AU
-0C4D ; [.2152.0020.0002.0C4D] # TELUGU SIGN VIRAMA
-0C55 ; [.2153.0020.0002.0C55] # TELUGU LENGTH MARK
-0C56 ; [.2154.0020.0002.0C56] # TELUGU AI LENGTH MARK
-0C85 ; [.2155.0020.0002.0C85] # KANNADA LETTER A
-0C86 ; [.2156.0020.0002.0C86] # KANNADA LETTER AA
-0C87 ; [.2157.0020.0002.0C87] # KANNADA LETTER I
-0C88 ; [.2158.0020.0002.0C88] # KANNADA LETTER II
-0C89 ; [.2159.0020.0002.0C89] # KANNADA LETTER U
-0C8A ; [.215A.0020.0002.0C8A] # KANNADA LETTER UU
-0C8B ; [.215B.0020.0002.0C8B] # KANNADA LETTER VOCALIC R
-0CE0 ; [.215C.0020.0002.0CE0] # KANNADA LETTER VOCALIC RR
-0C8C ; [.215D.0020.0002.0C8C] # KANNADA LETTER VOCALIC L
-0CE1 ; [.215E.0020.0002.0CE1] # KANNADA LETTER VOCALIC LL
-0C8E ; [.215F.0020.0002.0C8E] # KANNADA LETTER E
-0C8F ; [.2160.0020.0002.0C8F] # KANNADA LETTER EE
-0C90 ; [.2161.0020.0002.0C90] # KANNADA LETTER AI
-0C92 ; [.2162.0020.0002.0C92] # KANNADA LETTER O
-0C93 ; [.2163.0020.0002.0C93] # KANNADA LETTER OO
-0C94 ; [.2164.0020.0002.0C94] # KANNADA LETTER AU
-0C95 ; [.2165.0020.0002.0C95] # KANNADA LETTER KA
-0C96 ; [.2166.0020.0002.0C96] # KANNADA LETTER KHA
-0C97 ; [.2167.0020.0002.0C97] # KANNADA LETTER GA
-0C98 ; [.2168.0020.0002.0C98] # KANNADA LETTER GHA
-0C99 ; [.2169.0020.0002.0C99] # KANNADA LETTER NGA
-0C9A ; [.216A.0020.0002.0C9A] # KANNADA LETTER CA
-0C9B ; [.216B.0020.0002.0C9B] # KANNADA LETTER CHA
-0C9C ; [.216C.0020.0002.0C9C] # KANNADA LETTER JA
-0C9D ; [.216D.0020.0002.0C9D] # KANNADA LETTER JHA
-0C9E ; [.216E.0020.0002.0C9E] # KANNADA LETTER NYA
-0C9F ; [.216F.0020.0002.0C9F] # KANNADA LETTER TTA
-0CA0 ; [.2170.0020.0002.0CA0] # KANNADA LETTER TTHA
-0CA1 ; [.2171.0020.0002.0CA1] # KANNADA LETTER DDA
-0CA2 ; [.2172.0020.0002.0CA2] # KANNADA LETTER DDHA
-0CA3 ; [.2173.0020.0002.0CA3] # KANNADA LETTER NNA
-0CA4 ; [.2174.0020.0002.0CA4] # KANNADA LETTER TA
-0CA5 ; [.2175.0020.0002.0CA5] # KANNADA LETTER THA
-0CA6 ; [.2176.0020.0002.0CA6] # KANNADA LETTER DA
-0CA7 ; [.2177.0020.0002.0CA7] # KANNADA LETTER DHA
-0CA8 ; [.2178.0020.0002.0CA8] # KANNADA LETTER NA
-0CAA ; [.2179.0020.0002.0CAA] # KANNADA LETTER PA
-0CAB ; [.217A.0020.0002.0CAB] # KANNADA LETTER PHA
-0CAC ; [.217B.0020.0002.0CAC] # KANNADA LETTER BA
-0CAD ; [.217C.0020.0002.0CAD] # KANNADA LETTER BHA
-0CAE ; [.217D.0020.0002.0CAE] # KANNADA LETTER MA
-0CAF ; [.217E.0020.0002.0CAF] # KANNADA LETTER YA
-0CB0 ; [.217F.0020.0002.0CB0] # KANNADA LETTER RA
-0CB1 ; [.2180.0020.0002.0CB1] # KANNADA LETTER RRA
-0CB2 ; [.2181.0020.0002.0CB2] # KANNADA LETTER LA
-0CB5 ; [.2182.0020.0002.0CB5] # KANNADA LETTER VA
-0CB6 ; [.2183.0020.0002.0CB6] # KANNADA LETTER SHA
-0CB7 ; [.2184.0020.0002.0CB7] # KANNADA LETTER SSA
-0CB8 ; [.2185.0020.0002.0CB8] # KANNADA LETTER SA
-0CB9 ; [.2186.0020.0002.0CB9] # KANNADA LETTER HA
-0CB3 ; [.2187.0020.0002.0CB3] # KANNADA LETTER LLA
-0CDE ; [.2188.0020.0002.0CDE] # KANNADA LETTER FA
-0CBD ; [.2189.0020.0002.0CBD] # KANNADA SIGN AVAGRAHA
-0CF1 ; [.218A.0020.0002.0CF1] # KANNADA SIGN JIHVAMULIYA
-0CF2 ; [.218B.0020.0002.0CF2] # KANNADA SIGN UPADHMANIYA
-0CBE ; [.218C.0020.0002.0CBE] # KANNADA VOWEL SIGN AA
-0CBF ; [.218D.0020.0002.0CBF] # KANNADA VOWEL SIGN I
-0CC0 ; [.218E.0020.0002.0CC0] # KANNADA VOWEL SIGN II
-0CBF 0CD5 ; [.218E.0020.0002.0CC0] # KANNADA VOWEL SIGN II
-0CC1 ; [.218F.0020.0002.0CC1] # KANNADA VOWEL SIGN U
-0CC2 ; [.2190.0020.0002.0CC2] # KANNADA VOWEL SIGN UU
-0CC3 ; [.2191.0020.0002.0CC3] # KANNADA VOWEL SIGN VOCALIC R
-0CC4 ; [.2192.0020.0002.0CC4] # KANNADA VOWEL SIGN VOCALIC RR
-0CE2 ; [.2193.0020.0002.0CE2] # KANNADA VOWEL SIGN VOCALIC L
-0CE3 ; [.2194.0020.0002.0CE3] # KANNADA VOWEL SIGN VOCALIC LL
-0CC6 ; [.2195.0020.0002.0CC6] # KANNADA VOWEL SIGN E
-0CC7 ; [.2196.0020.0002.0CC7] # KANNADA VOWEL SIGN EE
-0CC6 0CD5 ; [.2196.0020.0002.0CC7] # KANNADA VOWEL SIGN EE
-0CC8 ; [.2197.0020.0002.0CC8] # KANNADA VOWEL SIGN AI
-0CC6 0CD6 ; [.2197.0020.0002.0CC8] # KANNADA VOWEL SIGN AI
-0CCA ; [.2198.0020.0002.0CCA] # KANNADA VOWEL SIGN O
-0CC6 0CC2 ; [.2198.0020.0002.0CCA] # KANNADA VOWEL SIGN O
-0CCB ; [.2199.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
-0CC6 0CC2 0CD5 ; [.2199.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
-0CCA 0CD5 ; [.2199.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
-0CCC ; [.219A.0020.0002.0CCC] # KANNADA VOWEL SIGN AU
-0CCD ; [.219B.0020.0002.0CCD] # KANNADA SIGN VIRAMA
-0CD5 ; [.219C.0020.0002.0CD5] # KANNADA LENGTH MARK
-0CD6 ; [.219D.0020.0002.0CD6] # KANNADA AI LENGTH MARK
-0D05 ; [.219E.0020.0002.0D05] # MALAYALAM LETTER A
-0D06 ; [.219F.0020.0002.0D06] # MALAYALAM LETTER AA
-0D07 ; [.21A0.0020.0002.0D07] # MALAYALAM LETTER I
-0D08 ; [.21A1.0020.0002.0D08] # MALAYALAM LETTER II
-0D09 ; [.21A2.0020.0002.0D09] # MALAYALAM LETTER U
-0D0A ; [.21A3.0020.0002.0D0A] # MALAYALAM LETTER UU
-0D0B ; [.21A4.0020.0002.0D0B] # MALAYALAM LETTER VOCALIC R
-0D60 ; [.21A5.0020.0002.0D60] # MALAYALAM LETTER VOCALIC RR
-0D0C ; [.21A6.0020.0002.0D0C] # MALAYALAM LETTER VOCALIC L
-0D61 ; [.21A7.0020.0002.0D61] # MALAYALAM LETTER VOCALIC LL
-0D0E ; [.21A8.0020.0002.0D0E] # MALAYALAM LETTER E
-0D0F ; [.21A9.0020.0002.0D0F] # MALAYALAM LETTER EE
-0D10 ; [.21AA.0020.0002.0D10] # MALAYALAM LETTER AI
-0D12 ; [.21AB.0020.0002.0D12] # MALAYALAM LETTER O
-0D13 ; [.21AC.0020.0002.0D13] # MALAYALAM LETTER OO
-0D14 ; [.21AD.0020.0002.0D14] # MALAYALAM LETTER AU
-0D15 ; [.21AE.0020.0002.0D15] # MALAYALAM LETTER KA
-0D7F ; [.21AE.0020.0004.0D7F][.21E5.0020.0004.0D7F] # MALAYALAM LETTER CHILLU K; QQKN
-0D16 ; [.21AF.0020.0002.0D16] # MALAYALAM LETTER KHA
-0D17 ; [.21B0.0020.0002.0D17] # MALAYALAM LETTER GA
-0D18 ; [.21B1.0020.0002.0D18] # MALAYALAM LETTER GHA
-0D19 ; [.21B2.0020.0002.0D19] # MALAYALAM LETTER NGA
-0D1A ; [.21B3.0020.0002.0D1A] # MALAYALAM LETTER CA
-0D1B ; [.21B4.0020.0002.0D1B] # MALAYALAM LETTER CHA
-0D1C ; [.21B5.0020.0002.0D1C] # MALAYALAM LETTER JA
-0D1D ; [.21B6.0020.0002.0D1D] # MALAYALAM LETTER JHA
-0D1E ; [.21B7.0020.0002.0D1E] # MALAYALAM LETTER NYA
-0D1F ; [.21B8.0020.0002.0D1F] # MALAYALAM LETTER TTA
-0D20 ; [.21B9.0020.0002.0D20] # MALAYALAM LETTER TTHA
-0D21 ; [.21BA.0020.0002.0D21] # MALAYALAM LETTER DDA
-0D22 ; [.21BB.0020.0002.0D22] # MALAYALAM LETTER DDHA
-0D23 ; [.21BC.0020.0002.0D23] # MALAYALAM LETTER NNA
-0D7A ; [.21BC.0020.0004.0D7A][.21E5.0020.0004.0D7A] # MALAYALAM LETTER CHILLU NN; QQKN
-0D24 ; [.21BD.0020.0002.0D24] # MALAYALAM LETTER TA
-0D25 ; [.21BE.0020.0002.0D25] # MALAYALAM LETTER THA
-0D26 ; [.21BF.0020.0002.0D26] # MALAYALAM LETTER DA
-0D27 ; [.21C0.0020.0002.0D27] # MALAYALAM LETTER DHA
-0D28 ; [.21C1.0020.0002.0D28] # MALAYALAM LETTER NA
-0D7B ; [.21C1.0020.0004.0D7B][.21E5.0020.0004.0D7B] # MALAYALAM LETTER CHILLU N; QQKN
-0D29 ; [.21C2.0020.0002.0D29] # MALAYALAM LETTER NNNA
-0D2A ; [.21C3.0020.0002.0D2A] # MALAYALAM LETTER PA
-0D2B ; [.21C4.0020.0002.0D2B] # MALAYALAM LETTER PHA
-0D2C ; [.21C5.0020.0002.0D2C] # MALAYALAM LETTER BA
-0D2D ; [.21C6.0020.0002.0D2D] # MALAYALAM LETTER BHA
-0D2E ; [.21C7.0020.0002.0D2E] # MALAYALAM LETTER MA
-0D2F ; [.21C8.0020.0002.0D2F] # MALAYALAM LETTER YA
-0D30 ; [.21C9.0020.0002.0D30] # MALAYALAM LETTER RA
-0D4E ; [.21C9.0020.0004.0D4E][.21E5.0020.0004.0D4E] # MALAYALAM LETTER DOT REPH; QQKN
-0D7C ; [.21C9.0020.0004.0D7C][.21E5.0020.0004.0D7C] # MALAYALAM LETTER CHILLU RR; QQKN
-0D32 ; [.21CA.0020.0002.0D32] # MALAYALAM LETTER LA
-0D7D ; [.21CA.0020.0004.0D7D][.21E5.0020.0004.0D7D] # MALAYALAM LETTER CHILLU L; QQKN
-0D35 ; [.21CB.0020.0002.0D35] # MALAYALAM LETTER VA
-0D36 ; [.21CC.0020.0002.0D36] # MALAYALAM LETTER SHA
-0D37 ; [.21CD.0020.0002.0D37] # MALAYALAM LETTER SSA
-0D38 ; [.21CE.0020.0002.0D38] # MALAYALAM LETTER SA
-0D39 ; [.21CF.0020.0002.0D39] # MALAYALAM LETTER HA
-0D33 ; [.21D0.0020.0002.0D33] # MALAYALAM LETTER LLA
-0D7E ; [.21D0.0020.0004.0D7E][.21E5.0020.0004.0D7E] # MALAYALAM LETTER CHILLU LL; QQKN
-0D34 ; [.21D1.0020.0002.0D34] # MALAYALAM LETTER LLLA
-0D31 ; [.21D2.0020.0002.0D31] # MALAYALAM LETTER RRA
-0D3A ; [.21D3.0020.0002.0D3A] # MALAYALAM LETTER TTTA
-0D3D ; [.21D4.0020.0002.0D3D] # MALAYALAM SIGN AVAGRAHA
-0D3E ; [.21D5.0020.0002.0D3E] # MALAYALAM VOWEL SIGN AA
-0D3F ; [.21D6.0020.0002.0D3F] # MALAYALAM VOWEL SIGN I
-0D40 ; [.21D7.0020.0002.0D40] # MALAYALAM VOWEL SIGN II
-0D41 ; [.21D8.0020.0002.0D41] # MALAYALAM VOWEL SIGN U
-0D42 ; [.21D9.0020.0002.0D42] # MALAYALAM VOWEL SIGN UU
-0D43 ; [.21DA.0020.0002.0D43] # MALAYALAM VOWEL SIGN VOCALIC R
-0D44 ; [.21DB.0020.0002.0D44] # MALAYALAM VOWEL SIGN VOCALIC RR
-0D62 ; [.21DC.0020.0002.0D62] # MALAYALAM VOWEL SIGN VOCALIC L
-0D63 ; [.21DD.0020.0002.0D63] # MALAYALAM VOWEL SIGN VOCALIC LL
-0D46 ; [.21DE.0020.0002.0D46] # MALAYALAM VOWEL SIGN E
-0D47 ; [.21DF.0020.0002.0D47] # MALAYALAM VOWEL SIGN EE
-0D48 ; [.21E0.0020.0002.0D48] # MALAYALAM VOWEL SIGN AI
-0D4A ; [.21E1.0020.0002.0D4A] # MALAYALAM VOWEL SIGN O
-0D46 0D3E ; [.21E1.0020.0002.0D4A] # MALAYALAM VOWEL SIGN O
-0D4B ; [.21E2.0020.0002.0D4B] # MALAYALAM VOWEL SIGN OO
-0D47 0D3E ; [.21E2.0020.0002.0D4B] # MALAYALAM VOWEL SIGN OO
-0D4C ; [.21E3.0020.0002.0D4C] # MALAYALAM VOWEL SIGN AU
-0D46 0D57 ; [.21E3.0020.0002.0D4C] # MALAYALAM VOWEL SIGN AU
-0D57 ; [.21E4.0020.0002.0D57] # MALAYALAM AU LENGTH MARK
-0D4D ; [.21E5.0020.0002.0D4D] # MALAYALAM SIGN VIRAMA
-0D85 ; [.21E6.0020.0002.0D85] # SINHALA LETTER AYANNA
-0D86 ; [.21E7.0020.0002.0D86] # SINHALA LETTER AAYANNA
-0D87 ; [.21E8.0020.0002.0D87] # SINHALA LETTER AEYANNA
-0D88 ; [.21E9.0020.0002.0D88] # SINHALA LETTER AEEYANNA
-0D89 ; [.21EA.0020.0002.0D89] # SINHALA LETTER IYANNA
-0D8A ; [.21EB.0020.0002.0D8A] # SINHALA LETTER IIYANNA
-0D8B ; [.21EC.0020.0002.0D8B] # SINHALA LETTER UYANNA
-0D8C ; [.21ED.0020.0002.0D8C] # SINHALA LETTER UUYANNA
-0D8D ; [.21EE.0020.0002.0D8D] # SINHALA LETTER IRUYANNA
-0D8E ; [.21EF.0020.0002.0D8E] # SINHALA LETTER IRUUYANNA
-0D8F ; [.21F0.0020.0002.0D8F] # SINHALA LETTER ILUYANNA
-0D90 ; [.21F1.0020.0002.0D90] # SINHALA LETTER ILUUYANNA
-0D91 ; [.21F2.0020.0002.0D91] # SINHALA LETTER EYANNA
-0D92 ; [.21F3.0020.0002.0D92] # SINHALA LETTER EEYANNA
-0D93 ; [.21F4.0020.0002.0D93] # SINHALA LETTER AIYANNA
-0D94 ; [.21F5.0020.0002.0D94] # SINHALA LETTER OYANNA
-0D95 ; [.21F6.0020.0002.0D95] # SINHALA LETTER OOYANNA
-0D96 ; [.21F7.0020.0002.0D96] # SINHALA LETTER AUYANNA
-0D9A ; [.21F8.0020.0002.0D9A] # SINHALA LETTER ALPAPRAANA KAYANNA
-0D9B ; [.21F9.0020.0002.0D9B] # SINHALA LETTER MAHAAPRAANA KAYANNA
-0D9C ; [.21FA.0020.0002.0D9C] # SINHALA LETTER ALPAPRAANA GAYANNA
-0D9D ; [.21FB.0020.0002.0D9D] # SINHALA LETTER MAHAAPRAANA GAYANNA
-0D9E ; [.21FC.0020.0002.0D9E] # SINHALA LETTER KANTAJA NAASIKYAYA
-0D9F ; [.21FD.0020.0002.0D9F] # SINHALA LETTER SANYAKA GAYANNA
-0DA0 ; [.21FE.0020.0002.0DA0] # SINHALA LETTER ALPAPRAANA CAYANNA
-0DA1 ; [.21FF.0020.0002.0DA1] # SINHALA LETTER MAHAAPRAANA CAYANNA
-0DA2 ; [.2200.0020.0002.0DA2] # SINHALA LETTER ALPAPRAANA JAYANNA
-0DA3 ; [.2201.0020.0002.0DA3] # SINHALA LETTER MAHAAPRAANA JAYANNA
-0DA4 ; [.2202.0020.0002.0DA4] # SINHALA LETTER TAALUJA NAASIKYAYA
-0DA5 ; [.2203.0020.0002.0DA5] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
-0DA6 ; [.2204.0020.0002.0DA6] # SINHALA LETTER SANYAKA JAYANNA
-0DA7 ; [.2205.0020.0002.0DA7] # SINHALA LETTER ALPAPRAANA TTAYANNA
-0DA8 ; [.2206.0020.0002.0DA8] # SINHALA LETTER MAHAAPRAANA TTAYANNA
-0DA9 ; [.2207.0020.0002.0DA9] # SINHALA LETTER ALPAPRAANA DDAYANNA
-0DAA ; [.2208.0020.0002.0DAA] # SINHALA LETTER MAHAAPRAANA DDAYANNA
-0DAB ; [.2209.0020.0002.0DAB] # SINHALA LETTER MUURDHAJA NAYANNA
-0DAC ; [.220A.0020.0002.0DAC] # SINHALA LETTER SANYAKA DDAYANNA
-0DAD ; [.220B.0020.0002.0DAD] # SINHALA LETTER ALPAPRAANA TAYANNA
-0DAE ; [.220C.0020.0002.0DAE] # SINHALA LETTER MAHAAPRAANA TAYANNA
-0DAF ; [.220D.0020.0002.0DAF] # SINHALA LETTER ALPAPRAANA DAYANNA
-0DB0 ; [.220E.0020.0002.0DB0] # SINHALA LETTER MAHAAPRAANA DAYANNA
-0DB1 ; [.220F.0020.0002.0DB1] # SINHALA LETTER DANTAJA NAYANNA
-0DB3 ; [.2210.0020.0002.0DB3] # SINHALA LETTER SANYAKA DAYANNA
-0DB4 ; [.2211.0020.0002.0DB4] # SINHALA LETTER ALPAPRAANA PAYANNA
-0DB5 ; [.2212.0020.0002.0DB5] # SINHALA LETTER MAHAAPRAANA PAYANNA
-0DB6 ; [.2213.0020.0002.0DB6] # SINHALA LETTER ALPAPRAANA BAYANNA
-0DB7 ; [.2214.0020.0002.0DB7] # SINHALA LETTER MAHAAPRAANA BAYANNA
-0DB8 ; [.2215.0020.0002.0DB8] # SINHALA LETTER MAYANNA
-0DB9 ; [.2216.0020.0002.0DB9] # SINHALA LETTER AMBA BAYANNA
-0DBA ; [.2217.0020.0002.0DBA] # SINHALA LETTER YAYANNA
-0DBB ; [.2218.0020.0002.0DBB] # SINHALA LETTER RAYANNA
-0DBD ; [.2219.0020.0002.0DBD] # SINHALA LETTER DANTAJA LAYANNA
-0DC0 ; [.221A.0020.0002.0DC0] # SINHALA LETTER VAYANNA
-0DC1 ; [.221B.0020.0002.0DC1] # SINHALA LETTER TAALUJA SAYANNA
-0DC2 ; [.221C.0020.0002.0DC2] # SINHALA LETTER MUURDHAJA SAYANNA
-0DC3 ; [.221D.0020.0002.0DC3] # SINHALA LETTER DANTAJA SAYANNA
-0DC4 ; [.221E.0020.0002.0DC4] # SINHALA LETTER HAYANNA
-0DC5 ; [.221F.0020.0002.0DC5] # SINHALA LETTER MUURDHAJA LAYANNA
-0DC6 ; [.2220.0020.0002.0DC6] # SINHALA LETTER FAYANNA
-0DCF ; [.2221.0020.0002.0DCF] # SINHALA VOWEL SIGN AELA-PILLA
-0DD0 ; [.2222.0020.0002.0DD0] # SINHALA VOWEL SIGN KETTI AEDA-PILLA
-0DD1 ; [.2223.0020.0002.0DD1] # SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD2 ; [.2224.0020.0002.0DD2] # SINHALA VOWEL SIGN KETTI IS-PILLA
-0DD3 ; [.2225.0020.0002.0DD3] # SINHALA VOWEL SIGN DIGA IS-PILLA
-0DD4 ; [.2226.0020.0002.0DD4] # SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6 ; [.2227.0020.0002.0DD6] # SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DD8 ; [.2228.0020.0002.0DD8] # SINHALA VOWEL SIGN GAETTA-PILLA
-0DF2 ; [.2229.0020.0002.0DF2] # SINHALA VOWEL SIGN DIGA GAETTA-PILLA
-0DDF ; [.222A.0020.0002.0DDF] # SINHALA VOWEL SIGN GAYANUKITTA
-0DF3 ; [.222B.0020.0002.0DF3] # SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0DD9 ; [.222C.0020.0002.0DD9] # SINHALA VOWEL SIGN KOMBUVA
-0DDA ; [.222D.0020.0002.0DDA] # SINHALA VOWEL SIGN DIGA KOMBUVA
-0DD9 0DCA ; [.222D.0020.0002.0DDA] # SINHALA VOWEL SIGN DIGA KOMBUVA
-0DDB ; [.222E.0020.0002.0DDB] # SINHALA VOWEL SIGN KOMBU DEKA
-0DDC ; [.222F.0020.0002.0DDC] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
-0DD9 0DCF ; [.222F.0020.0002.0DDC] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
-0DDD ; [.2230.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
-0DD9 0DCF 0DCA ; [.2230.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
-0DDC 0DCA ; [.2230.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
-0DDE ; [.2231.0020.0002.0DDE] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0DD9 0DDF ; [.2231.0020.0002.0DDE] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0DCA ; [.2232.0020.0002.0DCA] # SINHALA SIGN AL-LAKUNA
-ABC0 ; [.2233.0020.0002.ABC0] # MEETEI MAYEK LETTER KOK
-ABC1 ; [.2234.0020.0002.ABC1] # MEETEI MAYEK LETTER SAM
-ABC2 ; [.2235.0020.0002.ABC2] # MEETEI MAYEK LETTER LAI
-ABC3 ; [.2236.0020.0002.ABC3] # MEETEI MAYEK LETTER MIT
-ABC4 ; [.2237.0020.0002.ABC4] # MEETEI MAYEK LETTER PA
-ABC5 ; [.2238.0020.0002.ABC5] # MEETEI MAYEK LETTER NA
-ABC6 ; [.2239.0020.0002.ABC6] # MEETEI MAYEK LETTER CHIL
-ABC7 ; [.223A.0020.0002.ABC7] # MEETEI MAYEK LETTER TIL
-ABC8 ; [.223B.0020.0002.ABC8] # MEETEI MAYEK LETTER KHOU
-ABC9 ; [.223C.0020.0002.ABC9] # MEETEI MAYEK LETTER NGOU
-ABCA ; [.223D.0020.0002.ABCA] # MEETEI MAYEK LETTER THOU
-ABCB ; [.223E.0020.0002.ABCB] # MEETEI MAYEK LETTER WAI
-ABCC ; [.223F.0020.0002.ABCC] # MEETEI MAYEK LETTER YANG
-ABCD ; [.2240.0020.0002.ABCD] # MEETEI MAYEK LETTER HUK
-ABCE ; [.2241.0020.0002.ABCE] # MEETEI MAYEK LETTER UN
-ABCF ; [.2242.0020.0002.ABCF] # MEETEI MAYEK LETTER I
-ABD0 ; [.2243.0020.0002.ABD0] # MEETEI MAYEK LETTER PHAM
-ABD1 ; [.2244.0020.0002.ABD1] # MEETEI MAYEK LETTER ATIYA
-ABD2 ; [.2245.0020.0002.ABD2] # MEETEI MAYEK LETTER GOK
-ABD3 ; [.2246.0020.0002.ABD3] # MEETEI MAYEK LETTER JHAM
-ABD4 ; [.2247.0020.0002.ABD4] # MEETEI MAYEK LETTER RAI
-ABD5 ; [.2248.0020.0002.ABD5] # MEETEI MAYEK LETTER BA
-ABD6 ; [.2249.0020.0002.ABD6] # MEETEI MAYEK LETTER JIL
-ABD7 ; [.224A.0020.0002.ABD7] # MEETEI MAYEK LETTER DIL
-ABD8 ; [.224B.0020.0002.ABD8] # MEETEI MAYEK LETTER GHOU
-ABD9 ; [.224C.0020.0002.ABD9] # MEETEI MAYEK LETTER DHOU
-ABDA ; [.224D.0020.0002.ABDA] # MEETEI MAYEK LETTER BHAM
-ABE3 ; [.224E.0020.0002.ABE3] # MEETEI MAYEK VOWEL SIGN ONAP
-ABE4 ; [.224F.0020.0002.ABE4] # MEETEI MAYEK VOWEL SIGN INAP
-ABE5 ; [.2250.0020.0002.ABE5] # MEETEI MAYEK VOWEL SIGN ANAP
-ABE6 ; [.2251.0020.0002.ABE6] # MEETEI MAYEK VOWEL SIGN YENAP
-ABE7 ; [.2252.0020.0002.ABE7] # MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE8 ; [.2253.0020.0002.ABE8] # MEETEI MAYEK VOWEL SIGN UNAP
-ABE9 ; [.2254.0020.0002.ABE9] # MEETEI MAYEK VOWEL SIGN CHEINAP
-ABEA ; [.2255.0020.0002.ABEA] # MEETEI MAYEK VOWEL SIGN NUNG
-ABDB ; [.2256.0020.0002.ABDB] # MEETEI MAYEK LETTER KOK LONSUM
-ABDC ; [.2257.0020.0002.ABDC] # MEETEI MAYEK LETTER LAI LONSUM
-ABDD ; [.2258.0020.0002.ABDD] # MEETEI MAYEK LETTER MIT LONSUM
-ABDE ; [.2259.0020.0002.ABDE] # MEETEI MAYEK LETTER PA LONSUM
-ABDF ; [.225A.0020.0002.ABDF] # MEETEI MAYEK LETTER NA LONSUM
-ABE0 ; [.225B.0020.0002.ABE0] # MEETEI MAYEK LETTER TIL LONSUM
-ABE1 ; [.225C.0020.0002.ABE1] # MEETEI MAYEK LETTER NGOU LONSUM
-ABE2 ; [.225D.0020.0002.ABE2] # MEETEI MAYEK LETTER I LONSUM
-ABED ; [.225E.0020.0002.ABED] # MEETEI MAYEK APUN IYEK
-A800 ; [.225F.0020.0002.A800] # SYLOTI NAGRI LETTER A
-A801 ; [.2260.0020.0002.A801] # SYLOTI NAGRI LETTER I
-A802 ; [.2261.0020.0002.A802] # SYLOTI NAGRI SIGN DVISVARA
-A803 ; [.2262.0020.0002.A803] # SYLOTI NAGRI LETTER U
-A804 ; [.2263.0020.0002.A804] # SYLOTI NAGRI LETTER E
-A805 ; [.2264.0020.0002.A805] # SYLOTI NAGRI LETTER O
-A806 ; [.2265.0020.0002.A806] # SYLOTI NAGRI SIGN HASANTA
-A807 ; [.2266.0020.0002.A807] # SYLOTI NAGRI LETTER KO
-A808 ; [.2267.0020.0002.A808] # SYLOTI NAGRI LETTER KHO
-A809 ; [.2268.0020.0002.A809] # SYLOTI NAGRI LETTER GO
-A80A ; [.2269.0020.0002.A80A] # SYLOTI NAGRI LETTER GHO
-A80C ; [.226A.0020.0002.A80C] # SYLOTI NAGRI LETTER CO
-A80D ; [.226B.0020.0002.A80D] # SYLOTI NAGRI LETTER CHO
-A80E ; [.226C.0020.0002.A80E] # SYLOTI NAGRI LETTER JO
-A80F ; [.226D.0020.0002.A80F] # SYLOTI NAGRI LETTER JHO
-A810 ; [.226E.0020.0002.A810] # SYLOTI NAGRI LETTER TTO
-A811 ; [.226F.0020.0002.A811] # SYLOTI NAGRI LETTER TTHO
-A812 ; [.2270.0020.0002.A812] # SYLOTI NAGRI LETTER DDO
-A813 ; [.2271.0020.0002.A813] # SYLOTI NAGRI LETTER DDHO
-A814 ; [.2272.0020.0002.A814] # SYLOTI NAGRI LETTER TO
-A815 ; [.2273.0020.0002.A815] # SYLOTI NAGRI LETTER THO
-A816 ; [.2274.0020.0002.A816] # SYLOTI NAGRI LETTER DO
-A817 ; [.2275.0020.0002.A817] # SYLOTI NAGRI LETTER DHO
-A818 ; [.2276.0020.0002.A818] # SYLOTI NAGRI LETTER NO
-A819 ; [.2277.0020.0002.A819] # SYLOTI NAGRI LETTER PO
-A81A ; [.2278.0020.0002.A81A] # SYLOTI NAGRI LETTER PHO
-A81B ; [.2279.0020.0002.A81B] # SYLOTI NAGRI LETTER BO
-A81C ; [.227A.0020.0002.A81C] # SYLOTI NAGRI LETTER BHO
-A81D ; [.227B.0020.0002.A81D] # SYLOTI NAGRI LETTER MO
-A81E ; [.227C.0020.0002.A81E] # SYLOTI NAGRI LETTER RO
-A81F ; [.227D.0020.0002.A81F] # SYLOTI NAGRI LETTER LO
-A820 ; [.227E.0020.0002.A820] # SYLOTI NAGRI LETTER RRO
-A821 ; [.227F.0020.0002.A821] # SYLOTI NAGRI LETTER SO
-A822 ; [.2280.0020.0002.A822] # SYLOTI NAGRI LETTER HO
-A823 ; [.2281.0020.0002.A823] # SYLOTI NAGRI VOWEL SIGN A
-A824 ; [.2282.0020.0002.A824] # SYLOTI NAGRI VOWEL SIGN I
-A825 ; [.2283.0020.0002.A825] # SYLOTI NAGRI VOWEL SIGN U
-A826 ; [.2284.0020.0002.A826] # SYLOTI NAGRI VOWEL SIGN E
-A827 ; [.2285.0020.0002.A827] # SYLOTI NAGRI VOWEL SIGN OO
-A882 ; [.2286.0020.0002.A882] # SAURASHTRA LETTER A
-A883 ; [.2287.0020.0002.A883] # SAURASHTRA LETTER AA
-A884 ; [.2288.0020.0002.A884] # SAURASHTRA LETTER I
-A885 ; [.2289.0020.0002.A885] # SAURASHTRA LETTER II
-A886 ; [.228A.0020.0002.A886] # SAURASHTRA LETTER U
-A887 ; [.228B.0020.0002.A887] # SAURASHTRA LETTER UU
-A888 ; [.228C.0020.0002.A888] # SAURASHTRA LETTER VOCALIC R
-A889 ; [.228D.0020.0002.A889] # SAURASHTRA LETTER VOCALIC RR
-A88A ; [.228E.0020.0002.A88A] # SAURASHTRA LETTER VOCALIC L
-A88B ; [.228F.0020.0002.A88B] # SAURASHTRA LETTER VOCALIC LL
-A88C ; [.2290.0020.0002.A88C] # SAURASHTRA LETTER E
-A88D ; [.2291.0020.0002.A88D] # SAURASHTRA LETTER EE
-A88E ; [.2292.0020.0002.A88E] # SAURASHTRA LETTER AI
-A88F ; [.2293.0020.0002.A88F] # SAURASHTRA LETTER O
-A890 ; [.2294.0020.0002.A890] # SAURASHTRA LETTER OO
-A891 ; [.2295.0020.0002.A891] # SAURASHTRA LETTER AU
-A892 ; [.2296.0020.0002.A892] # SAURASHTRA LETTER KA
-A893 ; [.2297.0020.0002.A893] # SAURASHTRA LETTER KHA
-A894 ; [.2298.0020.0002.A894] # SAURASHTRA LETTER GA
-A895 ; [.2299.0020.0002.A895] # SAURASHTRA LETTER GHA
-A896 ; [.229A.0020.0002.A896] # SAURASHTRA LETTER NGA
-A897 ; [.229B.0020.0002.A897] # SAURASHTRA LETTER CA
-A898 ; [.229C.0020.0002.A898] # SAURASHTRA LETTER CHA
-A899 ; [.229D.0020.0002.A899] # SAURASHTRA LETTER JA
-A89A ; [.229E.0020.0002.A89A] # SAURASHTRA LETTER JHA
-A89B ; [.229F.0020.0002.A89B] # SAURASHTRA LETTER NYA
-A89C ; [.22A0.0020.0002.A89C] # SAURASHTRA LETTER TTA
-A89D ; [.22A1.0020.0002.A89D] # SAURASHTRA LETTER TTHA
-A89E ; [.22A2.0020.0002.A89E] # SAURASHTRA LETTER DDA
-A89F ; [.22A3.0020.0002.A89F] # SAURASHTRA LETTER DDHA
-A8A0 ; [.22A4.0020.0002.A8A0] # SAURASHTRA LETTER NNA
-A8A1 ; [.22A5.0020.0002.A8A1] # SAURASHTRA LETTER TA
-A8A2 ; [.22A6.0020.0002.A8A2] # SAURASHTRA LETTER THA
-A8A3 ; [.22A7.0020.0002.A8A3] # SAURASHTRA LETTER DA
-A8A4 ; [.22A8.0020.0002.A8A4] # SAURASHTRA LETTER DHA
-A8A5 ; [.22A9.0020.0002.A8A5] # SAURASHTRA LETTER NA
-A8A6 ; [.22AA.0020.0002.A8A6] # SAURASHTRA LETTER PA
-A8A7 ; [.22AB.0020.0002.A8A7] # SAURASHTRA LETTER PHA
-A8A8 ; [.22AC.0020.0002.A8A8] # SAURASHTRA LETTER BA
-A8A9 ; [.22AD.0020.0002.A8A9] # SAURASHTRA LETTER BHA
-A8AA ; [.22AE.0020.0002.A8AA] # SAURASHTRA LETTER MA
-A8AB ; [.22AF.0020.0002.A8AB] # SAURASHTRA LETTER YA
-A8AC ; [.22B0.0020.0002.A8AC] # SAURASHTRA LETTER RA
-A8AD ; [.22B1.0020.0002.A8AD] # SAURASHTRA LETTER LA
-A8AE ; [.22B2.0020.0002.A8AE] # SAURASHTRA LETTER VA
-A8AF ; [.22B3.0020.0002.A8AF] # SAURASHTRA LETTER SHA
-A8B0 ; [.22B4.0020.0002.A8B0] # SAURASHTRA LETTER SSA
-A8B1 ; [.22B5.0020.0002.A8B1] # SAURASHTRA LETTER SA
-A8B2 ; [.22B6.0020.0002.A8B2] # SAURASHTRA LETTER HA
-A8B3 ; [.22B7.0020.0002.A8B3] # SAURASHTRA LETTER LLA
-A8B4 ; [.22B8.0020.0002.A8B4] # SAURASHTRA CONSONANT SIGN HAARU
-A8B5 ; [.22B9.0020.0002.A8B5] # SAURASHTRA VOWEL SIGN AA
-A8B6 ; [.22BA.0020.0002.A8B6] # SAURASHTRA VOWEL SIGN I
-A8B7 ; [.22BB.0020.0002.A8B7] # SAURASHTRA VOWEL SIGN II
-A8B8 ; [.22BC.0020.0002.A8B8] # SAURASHTRA VOWEL SIGN U
-A8B9 ; [.22BD.0020.0002.A8B9] # SAURASHTRA VOWEL SIGN UU
-A8BA ; [.22BE.0020.0002.A8BA] # SAURASHTRA VOWEL SIGN VOCALIC R
-A8BB ; [.22BF.0020.0002.A8BB] # SAURASHTRA VOWEL SIGN VOCALIC RR
-A8BC ; [.22C0.0020.0002.A8BC] # SAURASHTRA VOWEL SIGN VOCALIC L
-A8BD ; [.22C1.0020.0002.A8BD] # SAURASHTRA VOWEL SIGN VOCALIC LL
-A8BE ; [.22C2.0020.0002.A8BE] # SAURASHTRA VOWEL SIGN E
-A8BF ; [.22C3.0020.0002.A8BF] # SAURASHTRA VOWEL SIGN EE
-A8C0 ; [.22C4.0020.0002.A8C0] # SAURASHTRA VOWEL SIGN AI
-A8C1 ; [.22C5.0020.0002.A8C1] # SAURASHTRA VOWEL SIGN O
-A8C2 ; [.22C6.0020.0002.A8C2] # SAURASHTRA VOWEL SIGN OO
-A8C3 ; [.22C7.0020.0002.A8C3] # SAURASHTRA VOWEL SIGN AU
-A8C4 ; [.22C8.0020.0002.A8C4] # SAURASHTRA SIGN VIRAMA
-11083 ; [.22C9.0020.0002.11083] # KAITHI LETTER A
-11084 ; [.22CA.0020.0002.11084] # KAITHI LETTER AA
-11085 ; [.22CB.0020.0002.11085] # KAITHI LETTER I
-11086 ; [.22CC.0020.0002.11086] # KAITHI LETTER II
-11087 ; [.22CD.0020.0002.11087] # KAITHI LETTER U
-11088 ; [.22CE.0020.0002.11088] # KAITHI LETTER UU
-11089 ; [.22CF.0020.0002.11089] # KAITHI LETTER E
-1108A ; [.22D0.0020.0002.1108A] # KAITHI LETTER AI
-1108B ; [.22D1.0020.0002.1108B] # KAITHI LETTER O
-1108C ; [.22D2.0020.0002.1108C] # KAITHI LETTER AU
-1108D ; [.22D3.0020.0002.1108D] # KAITHI LETTER KA
-1108E ; [.22D4.0020.0002.1108E] # KAITHI LETTER KHA
-1108F ; [.22D5.0020.0002.1108F] # KAITHI LETTER GA
-11090 ; [.22D6.0020.0002.11090] # KAITHI LETTER GHA
-11091 ; [.22D7.0020.0002.11091] # KAITHI LETTER NGA
-11092 ; [.22D8.0020.0002.11092] # KAITHI LETTER CA
-11093 ; [.22D9.0020.0002.11093] # KAITHI LETTER CHA
-11094 ; [.22DA.0020.0002.11094] # KAITHI LETTER JA
-11095 ; [.22DB.0020.0002.11095] # KAITHI LETTER JHA
-11096 ; [.22DC.0020.0002.11096] # KAITHI LETTER NYA
-11097 ; [.22DD.0020.0002.11097] # KAITHI LETTER TTA
-11098 ; [.22DE.0020.0002.11098] # KAITHI LETTER TTHA
-11099 ; [.22DF.0020.0002.11099] # KAITHI LETTER DDA
-1109A ; [.22DF.0020.0002.11099][.0000.0118.0002.110BA] # KAITHI LETTER DDDHA; QQCM
-1109B ; [.22E0.0020.0002.1109B] # KAITHI LETTER DDHA
-1109C ; [.22E0.0020.0002.1109B][.0000.0118.0002.110BA] # KAITHI LETTER RHA; QQCM
-1109D ; [.22E1.0020.0002.1109D] # KAITHI LETTER NNA
-1109E ; [.22E2.0020.0002.1109E] # KAITHI LETTER TA
-1109F ; [.22E3.0020.0002.1109F] # KAITHI LETTER THA
-110A0 ; [.22E4.0020.0002.110A0] # KAITHI LETTER DA
-110A1 ; [.22E5.0020.0002.110A1] # KAITHI LETTER DHA
-110A2 ; [.22E6.0020.0002.110A2] # KAITHI LETTER NA
-110A3 ; [.22E7.0020.0002.110A3] # KAITHI LETTER PA
-110A4 ; [.22E8.0020.0002.110A4] # KAITHI LETTER PHA
-110A5 ; [.22E9.0020.0002.110A5] # KAITHI LETTER BA
-110AB ; [.22E9.0020.0002.110A5][.0000.0118.0002.110BA] # KAITHI LETTER VA; QQCM
-110A6 ; [.22EA.0020.0002.110A6] # KAITHI LETTER BHA
-110A7 ; [.22EB.0020.0002.110A7] # KAITHI LETTER MA
-110A8 ; [.22EC.0020.0002.110A8] # KAITHI LETTER YA
-110A9 ; [.22ED.0020.0002.110A9] # KAITHI LETTER RA
-110AA ; [.22EE.0020.0002.110AA] # KAITHI LETTER LA
-110AC ; [.22EF.0020.0002.110AC] # KAITHI LETTER SHA
-110AD ; [.22F0.0020.0002.110AD] # KAITHI LETTER SSA
-110AE ; [.22F1.0020.0002.110AE] # KAITHI LETTER SA
-110AF ; [.22F2.0020.0002.110AF] # KAITHI LETTER HA
-110B0 ; [.22F3.0020.0002.110B0] # KAITHI VOWEL SIGN AA
-110B1 ; [.22F4.0020.0002.110B1] # KAITHI VOWEL SIGN I
-110B2 ; [.22F5.0020.0002.110B2] # KAITHI VOWEL SIGN II
-110B3 ; [.22F6.0020.0002.110B3] # KAITHI VOWEL SIGN U
-110B4 ; [.22F7.0020.0002.110B4] # KAITHI VOWEL SIGN UU
-110B5 ; [.22F8.0020.0002.110B5] # KAITHI VOWEL SIGN E
-110B6 ; [.22F9.0020.0002.110B6] # KAITHI VOWEL SIGN AI
-110B7 ; [.22FA.0020.0002.110B7] # KAITHI VOWEL SIGN O
-110B8 ; [.22FB.0020.0002.110B8] # KAITHI VOWEL SIGN AU
-110B9 ; [.22FC.0020.0002.110B9] # KAITHI SIGN VIRAMA
-1B83 ; [.22FD.0020.0002.1B83] # SUNDANESE LETTER A
-1B84 ; [.22FE.0020.0002.1B84] # SUNDANESE LETTER I
-1B85 ; [.22FF.0020.0002.1B85] # SUNDANESE LETTER U
-1B86 ; [.2300.0020.0002.1B86] # SUNDANESE LETTER AE
-1B87 ; [.2301.0020.0002.1B87] # SUNDANESE LETTER O
-1B88 ; [.2302.0020.0002.1B88] # SUNDANESE LETTER E
-1B89 ; [.2303.0020.0002.1B89] # SUNDANESE LETTER EU
-1B8A ; [.2304.0020.0002.1B8A] # SUNDANESE LETTER KA
-1BAE ; [.2305.0020.0002.1BAE] # SUNDANESE LETTER KHA
-1B8B ; [.2306.0020.0002.1B8B] # SUNDANESE LETTER QA
-1B8C ; [.2307.0020.0002.1B8C] # SUNDANESE LETTER GA
-1B8D ; [.2308.0020.0002.1B8D] # SUNDANESE LETTER NGA
-1B8E ; [.2309.0020.0002.1B8E] # SUNDANESE LETTER CA
-1B8F ; [.230A.0020.0002.1B8F] # SUNDANESE LETTER JA
-1B90 ; [.230B.0020.0002.1B90] # SUNDANESE LETTER ZA
-1B91 ; [.230C.0020.0002.1B91] # SUNDANESE LETTER NYA
-1B92 ; [.230D.0020.0002.1B92] # SUNDANESE LETTER TA
-1B93 ; [.230E.0020.0002.1B93] # SUNDANESE LETTER DA
-1B94 ; [.230F.0020.0002.1B94] # SUNDANESE LETTER NA
-1B95 ; [.2310.0020.0002.1B95] # SUNDANESE LETTER PA
-1B96 ; [.2311.0020.0002.1B96] # SUNDANESE LETTER FA
-1B97 ; [.2312.0020.0002.1B97] # SUNDANESE LETTER VA
-1B98 ; [.2313.0020.0002.1B98] # SUNDANESE LETTER BA
-1B99 ; [.2314.0020.0002.1B99] # SUNDANESE LETTER MA
-1B9A ; [.2315.0020.0002.1B9A] # SUNDANESE LETTER YA
-1BA1 ; [.2316.0020.0002.1BA1] # SUNDANESE CONSONANT SIGN PAMINGKAL
-1B9B ; [.2317.0020.0002.1B9B] # SUNDANESE LETTER RA
-1BA2 ; [.2318.0020.0002.1BA2] # SUNDANESE CONSONANT SIGN PANYAKRA
-1B9C ; [.2319.0020.0002.1B9C] # SUNDANESE LETTER LA
-1BA3 ; [.231A.0020.0002.1BA3] # SUNDANESE CONSONANT SIGN PANYIKU
-1B9D ; [.231B.0020.0002.1B9D] # SUNDANESE LETTER WA
-1B9E ; [.231C.0020.0002.1B9E] # SUNDANESE LETTER SA
-1B9F ; [.231D.0020.0002.1B9F] # SUNDANESE LETTER XA
-1BAF ; [.231E.0020.0002.1BAF] # SUNDANESE LETTER SYA
-1BA0 ; [.231F.0020.0002.1BA0] # SUNDANESE LETTER HA
-1BA4 ; [.2320.0020.0002.1BA4] # SUNDANESE VOWEL SIGN PANGHULU
-1BA5 ; [.2321.0020.0002.1BA5] # SUNDANESE VOWEL SIGN PANYUKU
-1BA6 ; [.2322.0020.0002.1BA6] # SUNDANESE VOWEL SIGN PANAELAENG
-1BA7 ; [.2323.0020.0002.1BA7] # SUNDANESE VOWEL SIGN PANOLONG
-1BA8 ; [.2324.0020.0002.1BA8] # SUNDANESE VOWEL SIGN PAMEPET
-1BA9 ; [.2325.0020.0002.1BA9] # SUNDANESE VOWEL SIGN PANEULEUNG
-1BAA ; [.2326.0020.0002.1BAA] # SUNDANESE SIGN PAMAAEH
-11005 ; [.2327.0020.0002.11005] # BRAHMI LETTER A
-11006 ; [.2328.0020.0002.11006] # BRAHMI LETTER AA
-11007 ; [.2329.0020.0002.11007] # BRAHMI LETTER I
-11008 ; [.232A.0020.0002.11008] # BRAHMI LETTER II
-11009 ; [.232B.0020.0002.11009] # BRAHMI LETTER U
-1100A ; [.232C.0020.0002.1100A] # BRAHMI LETTER UU
-1100B ; [.232D.0020.0002.1100B] # BRAHMI LETTER VOCALIC R
-1100C ; [.232E.0020.0002.1100C] # BRAHMI LETTER VOCALIC RR
-1100D ; [.232F.0020.0002.1100D] # BRAHMI LETTER VOCALIC L
-1100E ; [.2330.0020.0002.1100E] # BRAHMI LETTER VOCALIC LL
-1100F ; [.2331.0020.0002.1100F] # BRAHMI LETTER E
-11010 ; [.2332.0020.0002.11010] # BRAHMI LETTER AI
-11011 ; [.2333.0020.0002.11011] # BRAHMI LETTER O
-11012 ; [.2334.0020.0002.11012] # BRAHMI LETTER AU
-11013 ; [.2335.0020.0002.11013] # BRAHMI LETTER KA
-11014 ; [.2336.0020.0002.11014] # BRAHMI LETTER KHA
-11015 ; [.2337.0020.0002.11015] # BRAHMI LETTER GA
-11016 ; [.2338.0020.0002.11016] # BRAHMI LETTER GHA
-11017 ; [.2339.0020.0002.11017] # BRAHMI LETTER NGA
-11018 ; [.233A.0020.0002.11018] # BRAHMI LETTER CA
-11019 ; [.233B.0020.0002.11019] # BRAHMI LETTER CHA
-1101A ; [.233C.0020.0002.1101A] # BRAHMI LETTER JA
-1101B ; [.233D.0020.0002.1101B] # BRAHMI LETTER JHA
-1101C ; [.233E.0020.0002.1101C] # BRAHMI LETTER NYA
-1101D ; [.233F.0020.0002.1101D] # BRAHMI LETTER TTA
-1101E ; [.2340.0020.0002.1101E] # BRAHMI LETTER TTHA
-1101F ; [.2341.0020.0002.1101F] # BRAHMI LETTER DDA
-11020 ; [.2342.0020.0002.11020] # BRAHMI LETTER DDHA
-11021 ; [.2343.0020.0002.11021] # BRAHMI LETTER NNA
-11022 ; [.2344.0020.0002.11022] # BRAHMI LETTER TA
-11023 ; [.2345.0020.0002.11023] # BRAHMI LETTER THA
-11024 ; [.2346.0020.0002.11024] # BRAHMI LETTER DA
-11025 ; [.2347.0020.0002.11025] # BRAHMI LETTER DHA
-11026 ; [.2348.0020.0002.11026] # BRAHMI LETTER NA
-11027 ; [.2349.0020.0002.11027] # BRAHMI LETTER PA
-11028 ; [.234A.0020.0002.11028] # BRAHMI LETTER PHA
-11029 ; [.234B.0020.0002.11029] # BRAHMI LETTER BA
-1102A ; [.234C.0020.0002.1102A] # BRAHMI LETTER BHA
-1102B ; [.234D.0020.0002.1102B] # BRAHMI LETTER MA
-1102C ; [.234E.0020.0002.1102C] # BRAHMI LETTER YA
-1102D ; [.234F.0020.0002.1102D] # BRAHMI LETTER RA
-1102E ; [.2350.0020.0002.1102E] # BRAHMI LETTER LA
-1102F ; [.2351.0020.0002.1102F] # BRAHMI LETTER VA
-11030 ; [.2352.0020.0002.11030] # BRAHMI LETTER SHA
-11031 ; [.2353.0020.0002.11031] # BRAHMI LETTER SSA
-11032 ; [.2354.0020.0002.11032] # BRAHMI LETTER SA
-11033 ; [.2355.0020.0002.11033] # BRAHMI LETTER HA
-11003 ; [.2356.0020.0002.11003] # BRAHMI SIGN JIHVAMULIYA
-11004 ; [.2357.0020.0002.11004] # BRAHMI SIGN UPADHMANIYA
-11034 ; [.2358.0020.0002.11034] # BRAHMI LETTER LLA
-11035 ; [.2359.0020.0002.11035] # BRAHMI LETTER OLD TAMIL LLLA
-11036 ; [.235A.0020.0002.11036] # BRAHMI LETTER OLD TAMIL RRA
-11037 ; [.235B.0020.0002.11037] # BRAHMI LETTER OLD TAMIL NNNA
-11038 ; [.235C.0020.0002.11038] # BRAHMI VOWEL SIGN AA
-11039 ; [.235D.0020.0002.11039] # BRAHMI VOWEL SIGN BHATTIPROLU AA
-1103A ; [.235E.0020.0002.1103A] # BRAHMI VOWEL SIGN I
-1103B ; [.235F.0020.0002.1103B] # BRAHMI VOWEL SIGN II
-1103C ; [.2360.0020.0002.1103C] # BRAHMI VOWEL SIGN U
-1103D ; [.2361.0020.0002.1103D] # BRAHMI VOWEL SIGN UU
-1103E ; [.2362.0020.0002.1103E] # BRAHMI VOWEL SIGN VOCALIC R
-1103F ; [.2363.0020.0002.1103F] # BRAHMI VOWEL SIGN VOCALIC RR
-11040 ; [.2364.0020.0002.11040] # BRAHMI VOWEL SIGN VOCALIC L
-11041 ; [.2365.0020.0002.11041] # BRAHMI VOWEL SIGN VOCALIC LL
-11042 ; [.2366.0020.0002.11042] # BRAHMI VOWEL SIGN E
-11043 ; [.2367.0020.0002.11043] # BRAHMI VOWEL SIGN AI
-11044 ; [.2368.0020.0002.11044] # BRAHMI VOWEL SIGN O
-11045 ; [.2369.0020.0002.11045] # BRAHMI VOWEL SIGN AU
-11046 ; [.236A.0020.0002.11046] # BRAHMI VIRAMA
-10A00 ; [.236B.0020.0002.10A00] # KHAROSHTHI LETTER A
-10A01 ; [.236C.0020.0002.10A01] # KHAROSHTHI VOWEL SIGN I
-10A02 ; [.236D.0020.0002.10A02] # KHAROSHTHI VOWEL SIGN U
-10A03 ; [.236E.0020.0002.10A03] # KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05 ; [.236F.0020.0002.10A05] # KHAROSHTHI VOWEL SIGN E
-10A06 ; [.2370.0020.0002.10A06] # KHAROSHTHI VOWEL SIGN O
-10A0C ; [.2371.0020.0002.10A0C] # KHAROSHTHI VOWEL LENGTH MARK
-10A10 ; [.2372.0020.0002.10A10] # KHAROSHTHI LETTER KA
-10A11 ; [.2373.0020.0002.10A11] # KHAROSHTHI LETTER KHA
-10A12 ; [.2374.0020.0002.10A12] # KHAROSHTHI LETTER GA
-10A13 ; [.2375.0020.0002.10A13] # KHAROSHTHI LETTER GHA
-10A15 ; [.2376.0020.0002.10A15] # KHAROSHTHI LETTER CA
-10A16 ; [.2377.0020.0002.10A16] # KHAROSHTHI LETTER CHA
-10A17 ; [.2378.0020.0002.10A17] # KHAROSHTHI LETTER JA
-10A19 ; [.2379.0020.0002.10A19] # KHAROSHTHI LETTER NYA
-10A1A ; [.237A.0020.0002.10A1A] # KHAROSHTHI LETTER TTA
-10A1B ; [.237B.0020.0002.10A1B] # KHAROSHTHI LETTER TTHA
-10A1C ; [.237C.0020.0002.10A1C] # KHAROSHTHI LETTER DDA
-10A1D ; [.237D.0020.0002.10A1D] # KHAROSHTHI LETTER DDHA
-10A1E ; [.237E.0020.0002.10A1E] # KHAROSHTHI LETTER NNA
-10A1F ; [.237F.0020.0002.10A1F] # KHAROSHTHI LETTER TA
-10A20 ; [.2380.0020.0002.10A20] # KHAROSHTHI LETTER THA
-10A21 ; [.2381.0020.0002.10A21] # KHAROSHTHI LETTER DA
-10A22 ; [.2382.0020.0002.10A22] # KHAROSHTHI LETTER DHA
-10A23 ; [.2383.0020.0002.10A23] # KHAROSHTHI LETTER NA
-10A24 ; [.2384.0020.0002.10A24] # KHAROSHTHI LETTER PA
-10A25 ; [.2385.0020.0002.10A25] # KHAROSHTHI LETTER PHA
-10A26 ; [.2386.0020.0002.10A26] # KHAROSHTHI LETTER BA
-10A27 ; [.2387.0020.0002.10A27] # KHAROSHTHI LETTER BHA
-10A28 ; [.2388.0020.0002.10A28] # KHAROSHTHI LETTER MA
-10A29 ; [.2389.0020.0002.10A29] # KHAROSHTHI LETTER YA
-10A2A ; [.238A.0020.0002.10A2A] # KHAROSHTHI LETTER RA
-10A2B ; [.238B.0020.0002.10A2B] # KHAROSHTHI LETTER LA
-10A2C ; [.238C.0020.0002.10A2C] # KHAROSHTHI LETTER VA
-10A2D ; [.238D.0020.0002.10A2D] # KHAROSHTHI LETTER SHA
-10A2E ; [.238E.0020.0002.10A2E] # KHAROSHTHI LETTER SSA
-10A2F ; [.238F.0020.0002.10A2F] # KHAROSHTHI LETTER SA
-10A30 ; [.2390.0020.0002.10A30] # KHAROSHTHI LETTER ZA
-10A31 ; [.2391.0020.0002.10A31] # KHAROSHTHI LETTER HA
-10A32 ; [.2392.0020.0002.10A32] # KHAROSHTHI LETTER KKA
-10A33 ; [.2393.0020.0002.10A33] # KHAROSHTHI LETTER TTTHA
-10A3F ; [.2394.0020.0002.10A3F] # KHAROSHTHI VIRAMA
-0E01 ; [.2395.0020.0002.0E01] # THAI CHARACTER KO KAI
-0E40 0E01 ; [.2395.0020.0002.0E01][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KO KAI>
-0E41 0E01 ; [.2395.0020.0002.0E01][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KO KAI>
-0E42 0E01 ; [.2395.0020.0002.0E01][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KO KAI>
-0E43 0E01 ; [.2395.0020.0002.0E01][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KO KAI>
-0E44 0E01 ; [.2395.0020.0002.0E01][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KO KAI>
-0E02 ; [.2396.0020.0002.0E02] # THAI CHARACTER KHO KHAI
-0E40 0E02 ; [.2396.0020.0002.0E02][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHAI>
-0E41 0E02 ; [.2396.0020.0002.0E02][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHAI>
-0E42 0E02 ; [.2396.0020.0002.0E02][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHAI>
-0E43 0E02 ; [.2396.0020.0002.0E02][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHAI>
-0E44 0E02 ; [.2396.0020.0002.0E02][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHAI>
-0E03 ; [.2397.0020.0002.0E03] # THAI CHARACTER KHO KHUAT
-0E40 0E03 ; [.2397.0020.0002.0E03][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHUAT>
-0E41 0E03 ; [.2397.0020.0002.0E03][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHUAT>
-0E42 0E03 ; [.2397.0020.0002.0E03][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHUAT>
-0E43 0E03 ; [.2397.0020.0002.0E03][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHUAT>
-0E44 0E03 ; [.2397.0020.0002.0E03][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHUAT>
-0E04 ; [.2398.0020.0002.0E04] # THAI CHARACTER KHO KHWAI
-0E40 0E04 ; [.2398.0020.0002.0E04][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHWAI>
-0E41 0E04 ; [.2398.0020.0002.0E04][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHWAI>
-0E42 0E04 ; [.2398.0020.0002.0E04][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHWAI>
-0E43 0E04 ; [.2398.0020.0002.0E04][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHWAI>
-0E44 0E04 ; [.2398.0020.0002.0E04][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHWAI>
-0E05 ; [.2399.0020.0002.0E05] # THAI CHARACTER KHO KHON
-0E40 0E05 ; [.2399.0020.0002.0E05][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHON>
-0E41 0E05 ; [.2399.0020.0002.0E05][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHON>
-0E42 0E05 ; [.2399.0020.0002.0E05][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHON>
-0E43 0E05 ; [.2399.0020.0002.0E05][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHON>
-0E44 0E05 ; [.2399.0020.0002.0E05][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHON>
-0E06 ; [.239A.0020.0002.0E06] # THAI CHARACTER KHO RAKHANG
-0E40 0E06 ; [.239A.0020.0002.0E06][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO RAKHANG>
-0E41 0E06 ; [.239A.0020.0002.0E06][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO RAKHANG>
-0E42 0E06 ; [.239A.0020.0002.0E06][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO RAKHANG>
-0E43 0E06 ; [.239A.0020.0002.0E06][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO RAKHANG>
-0E44 0E06 ; [.239A.0020.0002.0E06][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO RAKHANG>
-0E07 ; [.239B.0020.0002.0E07] # THAI CHARACTER NGO NGU
-0E40 0E07 ; [.239B.0020.0002.0E07][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NGO NGU>
-0E41 0E07 ; [.239B.0020.0002.0E07][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NGO NGU>
-0E42 0E07 ; [.239B.0020.0002.0E07][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NGO NGU>
-0E43 0E07 ; [.239B.0020.0002.0E07][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NGO NGU>
-0E44 0E07 ; [.239B.0020.0002.0E07][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NGO NGU>
-0E08 ; [.239C.0020.0002.0E08] # THAI CHARACTER CHO CHAN
-0E40 0E08 ; [.239C.0020.0002.0E08][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHAN>
-0E41 0E08 ; [.239C.0020.0002.0E08][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHAN>
-0E42 0E08 ; [.239C.0020.0002.0E08][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHAN>
-0E43 0E08 ; [.239C.0020.0002.0E08][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHAN>
-0E44 0E08 ; [.239C.0020.0002.0E08][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHAN>
-0E09 ; [.239D.0020.0002.0E09] # THAI CHARACTER CHO CHING
-0E40 0E09 ; [.239D.0020.0002.0E09][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHING>
-0E41 0E09 ; [.239D.0020.0002.0E09][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHING>
-0E42 0E09 ; [.239D.0020.0002.0E09][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHING>
-0E43 0E09 ; [.239D.0020.0002.0E09][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHING>
-0E44 0E09 ; [.239D.0020.0002.0E09][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHING>
-0E0A ; [.239E.0020.0002.0E0A] # THAI CHARACTER CHO CHANG
-0E40 0E0A ; [.239E.0020.0002.0E0A][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHANG>
-0E41 0E0A ; [.239E.0020.0002.0E0A][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHANG>
-0E42 0E0A ; [.239E.0020.0002.0E0A][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHANG>
-0E43 0E0A ; [.239E.0020.0002.0E0A][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHANG>
-0E44 0E0A ; [.239E.0020.0002.0E0A][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHANG>
-0E0B ; [.239F.0020.0002.0E0B] # THAI CHARACTER SO SO
-0E40 0E0B ; [.239F.0020.0002.0E0B][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SO>
-0E41 0E0B ; [.239F.0020.0002.0E0B][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SO>
-0E42 0E0B ; [.239F.0020.0002.0E0B][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SO>
-0E43 0E0B ; [.239F.0020.0002.0E0B][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SO>
-0E44 0E0B ; [.239F.0020.0002.0E0B][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SO>
-0E0C ; [.23A0.0020.0002.0E0C] # THAI CHARACTER CHO CHOE
-0E40 0E0C ; [.23A0.0020.0002.0E0C][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHOE>
-0E41 0E0C ; [.23A0.0020.0002.0E0C][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHOE>
-0E42 0E0C ; [.23A0.0020.0002.0E0C][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHOE>
-0E43 0E0C ; [.23A0.0020.0002.0E0C][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHOE>
-0E44 0E0C ; [.23A0.0020.0002.0E0C][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHOE>
-0E0D ; [.23A1.0020.0002.0E0D] # THAI CHARACTER YO YING
-0E40 0E0D ; [.23A1.0020.0002.0E0D][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER YO YING>
-0E41 0E0D ; [.23A1.0020.0002.0E0D][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YING>
-0E42 0E0D ; [.23A1.0020.0002.0E0D][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER YO YING>
-0E43 0E0D ; [.23A1.0020.0002.0E0D][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YING>
-0E44 0E0D ; [.23A1.0020.0002.0E0D][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YING>
-0E0E ; [.23A2.0020.0002.0E0E] # THAI CHARACTER DO CHADA
-0E40 0E0E ; [.23A2.0020.0002.0E0E][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER DO CHADA>
-0E41 0E0E ; [.23A2.0020.0002.0E0E][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER DO CHADA>
-0E42 0E0E ; [.23A2.0020.0002.0E0E][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER DO CHADA>
-0E43 0E0E ; [.23A2.0020.0002.0E0E][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO CHADA>
-0E44 0E0E ; [.23A2.0020.0002.0E0E][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO CHADA>
-0E0F ; [.23A3.0020.0002.0E0F] # THAI CHARACTER TO PATAK
-0E40 0E0F ; [.23A3.0020.0002.0E0F][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER TO PATAK>
-0E41 0E0F ; [.23A3.0020.0002.0E0F][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER TO PATAK>
-0E42 0E0F ; [.23A3.0020.0002.0E0F][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER TO PATAK>
-0E43 0E0F ; [.23A3.0020.0002.0E0F][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO PATAK>
-0E44 0E0F ; [.23A3.0020.0002.0E0F][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO PATAK>
-0E10 ; [.23A4.0020.0002.0E10] # THAI CHARACTER THO THAN
-0E40 0E10 ; [.23A4.0020.0002.0E10][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAN>
-0E41 0E10 ; [.23A4.0020.0002.0E10][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAN>
-0E42 0E10 ; [.23A4.0020.0002.0E10][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAN>
-0E43 0E10 ; [.23A4.0020.0002.0E10][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAN>
-0E44 0E10 ; [.23A4.0020.0002.0E10][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAN>
-0E11 ; [.23A5.0020.0002.0E11] # THAI CHARACTER THO NANGMONTHO
-0E40 0E11 ; [.23A5.0020.0002.0E11][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO NANGMONTHO>
-0E41 0E11 ; [.23A5.0020.0002.0E11][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO NANGMONTHO>
-0E42 0E11 ; [.23A5.0020.0002.0E11][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO NANGMONTHO>
-0E43 0E11 ; [.23A5.0020.0002.0E11][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO NANGMONTHO>
-0E44 0E11 ; [.23A5.0020.0002.0E11][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO NANGMONTHO>
-0E12 ; [.23A6.0020.0002.0E12] # THAI CHARACTER THO PHUTHAO
-0E40 0E12 ; [.23A6.0020.0002.0E12][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO PHUTHAO>
-0E41 0E12 ; [.23A6.0020.0002.0E12][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO PHUTHAO>
-0E42 0E12 ; [.23A6.0020.0002.0E12][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO PHUTHAO>
-0E43 0E12 ; [.23A6.0020.0002.0E12][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO PHUTHAO>
-0E44 0E12 ; [.23A6.0020.0002.0E12][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO PHUTHAO>
-0E13 ; [.23A7.0020.0002.0E13] # THAI CHARACTER NO NEN
-0E40 0E13 ; [.23A7.0020.0002.0E13][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NO NEN>
-0E41 0E13 ; [.23A7.0020.0002.0E13][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NEN>
-0E42 0E13 ; [.23A7.0020.0002.0E13][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NO NEN>
-0E43 0E13 ; [.23A7.0020.0002.0E13][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NEN>
-0E44 0E13 ; [.23A7.0020.0002.0E13][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NEN>
-0E14 ; [.23A8.0020.0002.0E14] # THAI CHARACTER DO DEK
-0E40 0E14 ; [.23A8.0020.0002.0E14][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER DO DEK>
-0E41 0E14 ; [.23A8.0020.0002.0E14][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER DO DEK>
-0E42 0E14 ; [.23A8.0020.0002.0E14][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER DO DEK>
-0E43 0E14 ; [.23A8.0020.0002.0E14][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO DEK>
-0E44 0E14 ; [.23A8.0020.0002.0E14][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO DEK>
-0E15 ; [.23A9.0020.0002.0E15] # THAI CHARACTER TO TAO
-0E40 0E15 ; [.23A9.0020.0002.0E15][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER TO TAO>
-0E41 0E15 ; [.23A9.0020.0002.0E15][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER TO TAO>
-0E42 0E15 ; [.23A9.0020.0002.0E15][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER TO TAO>
-0E43 0E15 ; [.23A9.0020.0002.0E15][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO TAO>
-0E44 0E15 ; [.23A9.0020.0002.0E15][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO TAO>
-0E16 ; [.23AA.0020.0002.0E16] # THAI CHARACTER THO THUNG
-0E40 0E16 ; [.23AA.0020.0002.0E16][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THUNG>
-0E41 0E16 ; [.23AA.0020.0002.0E16][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THUNG>
-0E42 0E16 ; [.23AA.0020.0002.0E16][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THUNG>
-0E43 0E16 ; [.23AA.0020.0002.0E16][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THUNG>
-0E44 0E16 ; [.23AA.0020.0002.0E16][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THUNG>
-0E17 ; [.23AB.0020.0002.0E17] # THAI CHARACTER THO THAHAN
-0E40 0E17 ; [.23AB.0020.0002.0E17][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAHAN>
-0E41 0E17 ; [.23AB.0020.0002.0E17][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAHAN>
-0E42 0E17 ; [.23AB.0020.0002.0E17][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAHAN>
-0E43 0E17 ; [.23AB.0020.0002.0E17][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAHAN>
-0E44 0E17 ; [.23AB.0020.0002.0E17][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAHAN>
-0E18 ; [.23AC.0020.0002.0E18] # THAI CHARACTER THO THONG
-0E40 0E18 ; [.23AC.0020.0002.0E18][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THONG>
-0E41 0E18 ; [.23AC.0020.0002.0E18][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THONG>
-0E42 0E18 ; [.23AC.0020.0002.0E18][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THONG>
-0E43 0E18 ; [.23AC.0020.0002.0E18][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THONG>
-0E44 0E18 ; [.23AC.0020.0002.0E18][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THONG>
-0E19 ; [.23AD.0020.0002.0E19] # THAI CHARACTER NO NU
-0E40 0E19 ; [.23AD.0020.0002.0E19][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NO NU>
-0E41 0E19 ; [.23AD.0020.0002.0E19][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NU>
-0E42 0E19 ; [.23AD.0020.0002.0E19][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NO NU>
-0E43 0E19 ; [.23AD.0020.0002.0E19][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NU>
-0E44 0E19 ; [.23AD.0020.0002.0E19][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NU>
-0E1A ; [.23AE.0020.0002.0E1A] # THAI CHARACTER BO BAIMAI
-0E40 0E1A ; [.23AE.0020.0002.0E1A][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER BO BAIMAI>
-0E41 0E1A ; [.23AE.0020.0002.0E1A][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER BO BAIMAI>
-0E42 0E1A ; [.23AE.0020.0002.0E1A][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER BO BAIMAI>
-0E43 0E1A ; [.23AE.0020.0002.0E1A][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER BO BAIMAI>
-0E44 0E1A ; [.23AE.0020.0002.0E1A][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER BO BAIMAI>
-0E1B ; [.23AF.0020.0002.0E1B] # THAI CHARACTER PO PLA
-0E40 0E1B ; [.23AF.0020.0002.0E1B][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PO PLA>
-0E41 0E1B ; [.23AF.0020.0002.0E1B][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PO PLA>
-0E42 0E1B ; [.23AF.0020.0002.0E1B][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PO PLA>
-0E43 0E1B ; [.23AF.0020.0002.0E1B][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PO PLA>
-0E44 0E1B ; [.23AF.0020.0002.0E1B][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PO PLA>
-0E1C ; [.23B0.0020.0002.0E1C] # THAI CHARACTER PHO PHUNG
-0E40 0E1C ; [.23B0.0020.0002.0E1C][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHUNG>
-0E41 0E1C ; [.23B0.0020.0002.0E1C][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHUNG>
-0E42 0E1C ; [.23B0.0020.0002.0E1C][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHUNG>
-0E43 0E1C ; [.23B0.0020.0002.0E1C][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHUNG>
-0E44 0E1C ; [.23B0.0020.0002.0E1C][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHUNG>
-0E1D ; [.23B1.0020.0002.0E1D] # THAI CHARACTER FO FA
-0E40 0E1D ; [.23B1.0020.0002.0E1D][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER FO FA>
-0E41 0E1D ; [.23B1.0020.0002.0E1D][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FA>
-0E42 0E1D ; [.23B1.0020.0002.0E1D][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER FO FA>
-0E43 0E1D ; [.23B1.0020.0002.0E1D][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FA>
-0E44 0E1D ; [.23B1.0020.0002.0E1D][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FA>
-0E1E ; [.23B2.0020.0002.0E1E] # THAI CHARACTER PHO PHAN
-0E40 0E1E ; [.23B2.0020.0002.0E1E][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHAN>
-0E41 0E1E ; [.23B2.0020.0002.0E1E][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHAN>
-0E42 0E1E ; [.23B2.0020.0002.0E1E][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHAN>
-0E43 0E1E ; [.23B2.0020.0002.0E1E][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHAN>
-0E44 0E1E ; [.23B2.0020.0002.0E1E][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHAN>
-0E1F ; [.23B3.0020.0002.0E1F] # THAI CHARACTER FO FAN
-0E40 0E1F ; [.23B3.0020.0002.0E1F][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER FO FAN>
-0E41 0E1F ; [.23B3.0020.0002.0E1F][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FAN>
-0E42 0E1F ; [.23B3.0020.0002.0E1F][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER FO FAN>
-0E43 0E1F ; [.23B3.0020.0002.0E1F][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FAN>
-0E44 0E1F ; [.23B3.0020.0002.0E1F][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FAN>
-0E20 ; [.23B4.0020.0002.0E20] # THAI CHARACTER PHO SAMPHAO
-0E40 0E20 ; [.23B4.0020.0002.0E20][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO SAMPHAO>
-0E41 0E20 ; [.23B4.0020.0002.0E20][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO SAMPHAO>
-0E42 0E20 ; [.23B4.0020.0002.0E20][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO SAMPHAO>
-0E43 0E20 ; [.23B4.0020.0002.0E20][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO SAMPHAO>
-0E44 0E20 ; [.23B4.0020.0002.0E20][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO SAMPHAO>
-0E21 ; [.23B5.0020.0002.0E21] # THAI CHARACTER MO MA
-0E40 0E21 ; [.23B5.0020.0002.0E21][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER MO MA>
-0E41 0E21 ; [.23B5.0020.0002.0E21][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER MO MA>
-0E42 0E21 ; [.23B5.0020.0002.0E21][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER MO MA>
-0E43 0E21 ; [.23B5.0020.0002.0E21][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER MO MA>
-0E44 0E21 ; [.23B5.0020.0002.0E21][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER MO MA>
-0E22 ; [.23B6.0020.0002.0E22] # THAI CHARACTER YO YAK
-0E40 0E22 ; [.23B6.0020.0002.0E22][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER YO YAK>
-0E41 0E22 ; [.23B6.0020.0002.0E22][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YAK>
-0E42 0E22 ; [.23B6.0020.0002.0E22][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER YO YAK>
-0E43 0E22 ; [.23B6.0020.0002.0E22][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YAK>
-0E44 0E22 ; [.23B6.0020.0002.0E22][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YAK>
-0E23 ; [.23B7.0020.0002.0E23] # THAI CHARACTER RO RUA
-0E40 0E23 ; [.23B7.0020.0002.0E23][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER RO RUA>
-0E41 0E23 ; [.23B7.0020.0002.0E23][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER RO RUA>
-0E42 0E23 ; [.23B7.0020.0002.0E23][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER RO RUA>
-0E43 0E23 ; [.23B7.0020.0002.0E23][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RO RUA>
-0E44 0E23 ; [.23B7.0020.0002.0E23][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RO RUA>
-0E24 ; [.23B8.0020.0002.0E24] # THAI CHARACTER RU
-0E40 0E24 ; [.23B8.0020.0002.0E24][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER RU>
-0E41 0E24 ; [.23B8.0020.0002.0E24][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER RU>
-0E42 0E24 ; [.23B8.0020.0002.0E24][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER RU>
-0E43 0E24 ; [.23B8.0020.0002.0E24][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RU>
-0E44 0E24 ; [.23B8.0020.0002.0E24][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RU>
-0E25 ; [.23B9.0020.0002.0E25] # THAI CHARACTER LO LING
-0E40 0E25 ; [.23B9.0020.0002.0E25][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LO LING>
-0E41 0E25 ; [.23B9.0020.0002.0E25][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LO LING>
-0E42 0E25 ; [.23B9.0020.0002.0E25][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LO LING>
-0E43 0E25 ; [.23B9.0020.0002.0E25][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO LING>
-0E44 0E25 ; [.23B9.0020.0002.0E25][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO LING>
-0E26 ; [.23BA.0020.0002.0E26] # THAI CHARACTER LU
-0E40 0E26 ; [.23BA.0020.0002.0E26][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LU>
-0E41 0E26 ; [.23BA.0020.0002.0E26][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LU>
-0E42 0E26 ; [.23BA.0020.0002.0E26][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LU>
-0E43 0E26 ; [.23BA.0020.0002.0E26][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LU>
-0E44 0E26 ; [.23BA.0020.0002.0E26][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LU>
-0E27 ; [.23BB.0020.0002.0E27] # THAI CHARACTER WO WAEN
-0E40 0E27 ; [.23BB.0020.0002.0E27][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER WO WAEN>
-0E41 0E27 ; [.23BB.0020.0002.0E27][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER WO WAEN>
-0E42 0E27 ; [.23BB.0020.0002.0E27][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER WO WAEN>
-0E43 0E27 ; [.23BB.0020.0002.0E27][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER WO WAEN>
-0E44 0E27 ; [.23BB.0020.0002.0E27][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER WO WAEN>
-0E28 ; [.23BC.0020.0002.0E28] # THAI CHARACTER SO SALA
-0E40 0E28 ; [.23BC.0020.0002.0E28][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SALA>
-0E41 0E28 ; [.23BC.0020.0002.0E28][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SALA>
-0E42 0E28 ; [.23BC.0020.0002.0E28][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SALA>
-0E43 0E28 ; [.23BC.0020.0002.0E28][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SALA>
-0E44 0E28 ; [.23BC.0020.0002.0E28][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SALA>
-0E29 ; [.23BD.0020.0002.0E29] # THAI CHARACTER SO RUSI
-0E40 0E29 ; [.23BD.0020.0002.0E29][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO RUSI>
-0E41 0E29 ; [.23BD.0020.0002.0E29][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO RUSI>
-0E42 0E29 ; [.23BD.0020.0002.0E29][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO RUSI>
-0E43 0E29 ; [.23BD.0020.0002.0E29][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO RUSI>
-0E44 0E29 ; [.23BD.0020.0002.0E29][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO RUSI>
-0E2A ; [.23BE.0020.0002.0E2A] # THAI CHARACTER SO SUA
-0E40 0E2A ; [.23BE.0020.0002.0E2A][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SUA>
-0E41 0E2A ; [.23BE.0020.0002.0E2A][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SUA>
-0E42 0E2A ; [.23BE.0020.0002.0E2A][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SUA>
-0E43 0E2A ; [.23BE.0020.0002.0E2A][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SUA>
-0E44 0E2A ; [.23BE.0020.0002.0E2A][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SUA>
-0E2B ; [.23BF.0020.0002.0E2B] # THAI CHARACTER HO HIP
-0E40 0E2B ; [.23BF.0020.0002.0E2B][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER HO HIP>
-0E41 0E2B ; [.23BF.0020.0002.0E2B][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER HO HIP>
-0E42 0E2B ; [.23BF.0020.0002.0E2B][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER HO HIP>
-0E43 0E2B ; [.23BF.0020.0002.0E2B][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO HIP>
-0E44 0E2B ; [.23BF.0020.0002.0E2B][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO HIP>
-0E2C ; [.23C0.0020.0002.0E2C] # THAI CHARACTER LO CHULA
-0E40 0E2C ; [.23C0.0020.0002.0E2C][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LO CHULA>
-0E41 0E2C ; [.23C0.0020.0002.0E2C][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LO CHULA>
-0E42 0E2C ; [.23C0.0020.0002.0E2C][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LO CHULA>
-0E43 0E2C ; [.23C0.0020.0002.0E2C][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO CHULA>
-0E44 0E2C ; [.23C0.0020.0002.0E2C][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO CHULA>
-0E2D ; [.23C1.0020.0002.0E2D] # THAI CHARACTER O ANG
-0E40 0E2D ; [.23C1.0020.0002.0E2D][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER O ANG>
-0E41 0E2D ; [.23C1.0020.0002.0E2D][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER O ANG>
-0E42 0E2D ; [.23C1.0020.0002.0E2D][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER O ANG>
-0E43 0E2D ; [.23C1.0020.0002.0E2D][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER O ANG>
-0E44 0E2D ; [.23C1.0020.0002.0E2D][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER O ANG>
-0E2E ; [.23C2.0020.0002.0E2E] # THAI CHARACTER HO NOKHUK
-0E40 0E2E ; [.23C2.0020.0002.0E2E][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER HO NOKHUK>
-0E41 0E2E ; [.23C2.0020.0002.0E2E][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER HO NOKHUK>
-0E42 0E2E ; [.23C2.0020.0002.0E2E][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER HO NOKHUK>
-0E43 0E2E ; [.23C2.0020.0002.0E2E][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO NOKHUK>
-0E44 0E2E ; [.23C2.0020.0002.0E2E][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO NOKHUK>
-0E2F ; [.23C3.0020.0002.0E2F] # THAI CHARACTER PAIYANNOI
-0E30 ; [.23C4.0020.0002.0E30] # THAI CHARACTER SARA A
-0E31 ; [.23C5.0020.0002.0E31] # THAI CHARACTER MAI HAN-AKAT
-0E32 ; [.23C6.0020.0002.0E32] # THAI CHARACTER SARA AA
-0E33 ; [.23C7.0020.0002.0E33] # THAI CHARACTER SARA AM
-0E4D 0E32 ; [.23C7.0020.0002.0E33] # THAI CHARACTER SARA AM
-0E34 ; [.23C8.0020.0002.0E34] # THAI CHARACTER SARA I
-0E35 ; [.23C9.0020.0002.0E35] # THAI CHARACTER SARA II
-0E36 ; [.23CA.0020.0002.0E36] # THAI CHARACTER SARA UE
-0E37 ; [.23CB.0020.0002.0E37] # THAI CHARACTER SARA UEE
-0E38 ; [.23CC.0020.0002.0E38] # THAI CHARACTER SARA U
-0E39 ; [.23CD.0020.0002.0E39] # THAI CHARACTER SARA UU
-0E3A ; [.23CE.0020.0002.0E3A] # THAI CHARACTER PHINTHU
-0E40 ; [.23CF.0020.0002.0E40] # THAI CHARACTER SARA E
-0E41 ; [.23D0.0020.0002.0E41] # THAI CHARACTER SARA AE
-0E42 ; [.23D1.0020.0002.0E42] # THAI CHARACTER SARA O
-0E43 ; [.23D2.0020.0002.0E43] # THAI CHARACTER SARA AI MAIMUAN
-0E44 ; [.23D3.0020.0002.0E44] # THAI CHARACTER SARA AI MAIMALAI
-0E45 ; [.23D4.0020.0002.0E45] # THAI CHARACTER LAKKHANGYAO
-0E81 ; [.23D5.0020.0002.0E81] # LAO LETTER KO
-0EC0 0E81 ; [.23D5.0020.0002.0E81][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KO>
-0EC1 0E81 ; [.23D5.0020.0002.0E81][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KO>
-0EC2 0E81 ; [.23D5.0020.0002.0E81][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KO>
-0EC3 0E81 ; [.23D5.0020.0002.0E81][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KO>
-0EC4 0E81 ; [.23D5.0020.0002.0E81][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KO>
-0E82 ; [.23D6.0020.0002.0E82] # LAO LETTER KHO SUNG
-0EC0 0E82 ; [.23D6.0020.0002.0E82][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KHO SUNG>
-0EC1 0E82 ; [.23D6.0020.0002.0E82][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KHO SUNG>
-0EC2 0E82 ; [.23D6.0020.0002.0E82][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KHO SUNG>
-0EC3 0E82 ; [.23D6.0020.0002.0E82][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KHO SUNG>
-0EC4 0E82 ; [.23D6.0020.0002.0E82][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KHO SUNG>
-0E84 ; [.23D7.0020.0002.0E84] # LAO LETTER KHO TAM
-0EC0 0E84 ; [.23D7.0020.0002.0E84][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KHO TAM>
-0EC1 0E84 ; [.23D7.0020.0002.0E84][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KHO TAM>
-0EC2 0E84 ; [.23D7.0020.0002.0E84][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KHO TAM>
-0EC3 0E84 ; [.23D7.0020.0002.0E84][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KHO TAM>
-0EC4 0E84 ; [.23D7.0020.0002.0E84][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KHO TAM>
-0E87 ; [.23D8.0020.0002.0E87] # LAO LETTER NGO
-0EC0 0E87 ; [.23D8.0020.0002.0E87][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NGO>
-0EC1 0E87 ; [.23D8.0020.0002.0E87][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NGO>
-0EC2 0E87 ; [.23D8.0020.0002.0E87][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NGO>
-0EC3 0E87 ; [.23D8.0020.0002.0E87][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NGO>
-0EC4 0E87 ; [.23D8.0020.0002.0E87][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NGO>
-0E88 ; [.23D9.0020.0002.0E88] # LAO LETTER CO
-0EC0 0E88 ; [.23D9.0020.0002.0E88][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER CO>
-0EC1 0E88 ; [.23D9.0020.0002.0E88][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER CO>
-0EC2 0E88 ; [.23D9.0020.0002.0E88][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER CO>
-0EC3 0E88 ; [.23D9.0020.0002.0E88][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER CO>
-0EC4 0E88 ; [.23D9.0020.0002.0E88][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER CO>
-0EAA ; [.23DA.0020.0002.0EAA] # LAO LETTER SO SUNG
-0EC0 0EAA ; [.23DA.0020.0002.0EAA][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER SO SUNG>
-0EC1 0EAA ; [.23DA.0020.0002.0EAA][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER SO SUNG>
-0EC2 0EAA ; [.23DA.0020.0002.0EAA][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER SO SUNG>
-0EC3 0EAA ; [.23DA.0020.0002.0EAA][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER SO SUNG>
-0EC4 0EAA ; [.23DA.0020.0002.0EAA][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER SO SUNG>
-0E8A ; [.23DB.0020.0002.0E8A] # LAO LETTER SO TAM
-0EC0 0E8A ; [.23DB.0020.0002.0E8A][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER SO TAM>
-0EC1 0E8A ; [.23DB.0020.0002.0E8A][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER SO TAM>
-0EC2 0E8A ; [.23DB.0020.0002.0E8A][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER SO TAM>
-0EC3 0E8A ; [.23DB.0020.0002.0E8A][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER SO TAM>
-0EC4 0E8A ; [.23DB.0020.0002.0E8A][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER SO TAM>
-0E8D ; [.23DC.0020.0002.0E8D] # LAO LETTER NYO
-0EC0 0E8D ; [.23DC.0020.0002.0E8D][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NYO>
-0EC1 0E8D ; [.23DC.0020.0002.0E8D][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NYO>
-0EC2 0E8D ; [.23DC.0020.0002.0E8D][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NYO>
-0EC3 0E8D ; [.23DC.0020.0002.0E8D][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NYO>
-0EC4 0E8D ; [.23DC.0020.0002.0E8D][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NYO>
-0E94 ; [.23DD.0020.0002.0E94] # LAO LETTER DO
-0EC0 0E94 ; [.23DD.0020.0002.0E94][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER DO>
-0EC1 0E94 ; [.23DD.0020.0002.0E94][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER DO>
-0EC2 0E94 ; [.23DD.0020.0002.0E94][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER DO>
-0EC3 0E94 ; [.23DD.0020.0002.0E94][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER DO>
-0EC4 0E94 ; [.23DD.0020.0002.0E94][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER DO>
-0E95 ; [.23DE.0020.0002.0E95] # LAO LETTER TO
-0EC0 0E95 ; [.23DE.0020.0002.0E95][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER TO>
-0EC1 0E95 ; [.23DE.0020.0002.0E95][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER TO>
-0EC2 0E95 ; [.23DE.0020.0002.0E95][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER TO>
-0EC3 0E95 ; [.23DE.0020.0002.0E95][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER TO>
-0EC4 0E95 ; [.23DE.0020.0002.0E95][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER TO>
-0E96 ; [.23DF.0020.0002.0E96] # LAO LETTER THO SUNG
-0EC0 0E96 ; [.23DF.0020.0002.0E96][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER THO SUNG>
-0EC1 0E96 ; [.23DF.0020.0002.0E96][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER THO SUNG>
-0EC2 0E96 ; [.23DF.0020.0002.0E96][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER THO SUNG>
-0EC3 0E96 ; [.23DF.0020.0002.0E96][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER THO SUNG>
-0EC4 0E96 ; [.23DF.0020.0002.0E96][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER THO SUNG>
-0E97 ; [.23E0.0020.0002.0E97] # LAO LETTER THO TAM
-0EC0 0E97 ; [.23E0.0020.0002.0E97][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER THO TAM>
-0EC1 0E97 ; [.23E0.0020.0002.0E97][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER THO TAM>
-0EC2 0E97 ; [.23E0.0020.0002.0E97][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER THO TAM>
-0EC3 0E97 ; [.23E0.0020.0002.0E97][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER THO TAM>
-0EC4 0E97 ; [.23E0.0020.0002.0E97][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER THO TAM>
-0E99 ; [.23E1.0020.0002.0E99] # LAO LETTER NO
-0EC0 0E99 ; [.23E1.0020.0002.0E99][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NO>
-0EC1 0E99 ; [.23E1.0020.0002.0E99][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NO>
-0EC2 0E99 ; [.23E1.0020.0002.0E99][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NO>
-0EC3 0E99 ; [.23E1.0020.0002.0E99][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NO>
-0EC4 0E99 ; [.23E1.0020.0002.0E99][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NO>
-0E9A ; [.23E2.0020.0002.0E9A] # LAO LETTER BO
-0EC0 0E9A ; [.23E2.0020.0002.0E9A][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER BO>
-0EC1 0E9A ; [.23E2.0020.0002.0E9A][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER BO>
-0EC2 0E9A ; [.23E2.0020.0002.0E9A][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER BO>
-0EC3 0E9A ; [.23E2.0020.0002.0E9A][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER BO>
-0EC4 0E9A ; [.23E2.0020.0002.0E9A][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER BO>
-0E9B ; [.23E3.0020.0002.0E9B] # LAO LETTER PO
-0EC0 0E9B ; [.23E3.0020.0002.0E9B][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PO>
-0EC1 0E9B ; [.23E3.0020.0002.0E9B][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PO>
-0EC2 0E9B ; [.23E3.0020.0002.0E9B][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PO>
-0EC3 0E9B ; [.23E3.0020.0002.0E9B][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PO>
-0EC4 0E9B ; [.23E3.0020.0002.0E9B][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PO>
-0E9C ; [.23E4.0020.0002.0E9C] # LAO LETTER PHO SUNG
-0EC0 0E9C ; [.23E4.0020.0002.0E9C][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PHO SUNG>
-0EC1 0E9C ; [.23E4.0020.0002.0E9C][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PHO SUNG>
-0EC2 0E9C ; [.23E4.0020.0002.0E9C][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PHO SUNG>
-0EC3 0E9C ; [.23E4.0020.0002.0E9C][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PHO SUNG>
-0EC4 0E9C ; [.23E4.0020.0002.0E9C][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PHO SUNG>
-0E9D ; [.23E5.0020.0002.0E9D] # LAO LETTER FO TAM
-0EC0 0E9D ; [.23E5.0020.0002.0E9D][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER FO TAM>
-0EC1 0E9D ; [.23E5.0020.0002.0E9D][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER FO TAM>
-0EC2 0E9D ; [.23E5.0020.0002.0E9D][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER FO TAM>
-0EC3 0E9D ; [.23E5.0020.0002.0E9D][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER FO TAM>
-0EC4 0E9D ; [.23E5.0020.0002.0E9D][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER FO TAM>
-0E9E ; [.23E6.0020.0002.0E9E] # LAO LETTER PHO TAM
-0EC0 0E9E ; [.23E6.0020.0002.0E9E][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PHO TAM>
-0EC1 0E9E ; [.23E6.0020.0002.0E9E][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PHO TAM>
-0EC2 0E9E ; [.23E6.0020.0002.0E9E][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PHO TAM>
-0EC3 0E9E ; [.23E6.0020.0002.0E9E][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PHO TAM>
-0EC4 0E9E ; [.23E6.0020.0002.0E9E][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PHO TAM>
-0E9F ; [.23E7.0020.0002.0E9F] # LAO LETTER FO SUNG
-0EC0 0E9F ; [.23E7.0020.0002.0E9F][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER FO SUNG>
-0EC1 0E9F ; [.23E7.0020.0002.0E9F][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER FO SUNG>
-0EC2 0E9F ; [.23E7.0020.0002.0E9F][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER FO SUNG>
-0EC3 0E9F ; [.23E7.0020.0002.0E9F][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER FO SUNG>
-0EC4 0E9F ; [.23E7.0020.0002.0E9F][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER FO SUNG>
-0EA1 ; [.23E8.0020.0002.0EA1] # LAO LETTER MO
-0EC0 0EA1 ; [.23E8.0020.0002.0EA1][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER MO>
-0EC1 0EA1 ; [.23E8.0020.0002.0EA1][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER MO>
-0EC2 0EA1 ; [.23E8.0020.0002.0EA1][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER MO>
-0EC3 0EA1 ; [.23E8.0020.0002.0EA1][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER MO>
-0EC4 0EA1 ; [.23E8.0020.0002.0EA1][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER MO>
-0EA2 ; [.23E9.0020.0002.0EA2] # LAO LETTER YO
-0EC0 0EA2 ; [.23E9.0020.0002.0EA2][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER YO>
-0EC1 0EA2 ; [.23E9.0020.0002.0EA2][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER YO>
-0EC2 0EA2 ; [.23E9.0020.0002.0EA2][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER YO>
-0EC3 0EA2 ; [.23E9.0020.0002.0EA2][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER YO>
-0EC4 0EA2 ; [.23E9.0020.0002.0EA2][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER YO>
-0EA3 ; [.23EA.0020.0002.0EA3] # LAO LETTER LO LING
-0EC0 0EA3 ; [.23EA.0020.0002.0EA3][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER LO LING>
-0EC1 0EA3 ; [.23EA.0020.0002.0EA3][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER LO LING>
-0EC2 0EA3 ; [.23EA.0020.0002.0EA3][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER LO LING>
-0EC3 0EA3 ; [.23EA.0020.0002.0EA3][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER LO LING>
-0EC4 0EA3 ; [.23EA.0020.0002.0EA3][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER LO LING>
-0EA5 ; [.23EB.0020.0002.0EA5] # LAO LETTER LO LOOT
-0EC0 0EA5 ; [.23EB.0020.0002.0EA5][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER LO LOOT>
-0EC1 0EA5 ; [.23EB.0020.0002.0EA5][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER LO LOOT>
-0EC2 0EA5 ; [.23EB.0020.0002.0EA5][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER LO LOOT>
-0EC3 0EA5 ; [.23EB.0020.0002.0EA5][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER LO LOOT>
-0EC4 0EA5 ; [.23EB.0020.0002.0EA5][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER LO LOOT>
-0EA7 ; [.23EC.0020.0002.0EA7] # LAO LETTER WO
-0EC0 0EA7 ; [.23EC.0020.0002.0EA7][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER WO>
-0EC1 0EA7 ; [.23EC.0020.0002.0EA7][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER WO>
-0EC2 0EA7 ; [.23EC.0020.0002.0EA7][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER WO>
-0EC3 0EA7 ; [.23EC.0020.0002.0EA7][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER WO>
-0EC4 0EA7 ; [.23EC.0020.0002.0EA7][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER WO>
-0EAB ; [.23ED.0020.0002.0EAB] # LAO LETTER HO SUNG
-0EDC ; [.23ED.0020.0004.0EDC][.23E1.0020.0004.0EDC] # LAO HO NO; QQKN
-0EC0 0EDC ; [.23ED.0020.0004.0EDC][.23E1.0020.0004.0EDC][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO HO NO>
-0EC1 0EDC ; [.23ED.0020.0004.0EDC][.23E1.0020.0004.0EDC][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO HO NO>
-0EC2 0EDC ; [.23ED.0020.0004.0EDC][.23E1.0020.0004.0EDC][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO HO NO>
-0EC3 0EDC ; [.23ED.0020.0004.0EDC][.23E1.0020.0004.0EDC][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO HO NO>
-0EC4 0EDC ; [.23ED.0020.0004.0EDC][.23E1.0020.0004.0EDC][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO HO NO>
-0EDD ; [.23ED.0020.0004.0EDD][.23E8.0020.0004.0EDD] # LAO HO MO; QQKN
-0EC0 0EDD ; [.23ED.0020.0004.0EDD][.23E8.0020.0004.0EDD][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO HO MO>
-0EC1 0EDD ; [.23ED.0020.0004.0EDD][.23E8.0020.0004.0EDD][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO HO MO>
-0EC2 0EDD ; [.23ED.0020.0004.0EDD][.23E8.0020.0004.0EDD][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO HO MO>
-0EC3 0EDD ; [.23ED.0020.0004.0EDD][.23E8.0020.0004.0EDD][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO HO MO>
-0EC4 0EDD ; [.23ED.0020.0004.0EDD][.23E8.0020.0004.0EDD][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO HO MO>
-0EC0 0EAB ; [.23ED.0020.0002.0EAB][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER HO SUNG>
-0EC1 0EAB ; [.23ED.0020.0002.0EAB][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER HO SUNG>
-0EC2 0EAB ; [.23ED.0020.0002.0EAB][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER HO SUNG>
-0EC3 0EAB ; [.23ED.0020.0002.0EAB][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER HO SUNG>
-0EC4 0EAB ; [.23ED.0020.0002.0EAB][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER HO SUNG>
-0EAD ; [.23EE.0020.0002.0EAD] # LAO LETTER O
-0EC0 0EAD ; [.23EE.0020.0002.0EAD][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER O>
-0EC1 0EAD ; [.23EE.0020.0002.0EAD][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER O>
-0EC2 0EAD ; [.23EE.0020.0002.0EAD][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER O>
-0EC3 0EAD ; [.23EE.0020.0002.0EAD][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER O>
-0EC4 0EAD ; [.23EE.0020.0002.0EAD][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER O>
-0EAE ; [.23EF.0020.0002.0EAE] # LAO LETTER HO TAM
-0EC0 0EAE ; [.23EF.0020.0002.0EAE][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER HO TAM>
-0EC1 0EAE ; [.23EF.0020.0002.0EAE][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER HO TAM>
-0EC2 0EAE ; [.23EF.0020.0002.0EAE][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER HO TAM>
-0EC3 0EAE ; [.23EF.0020.0002.0EAE][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER HO TAM>
-0EC4 0EAE ; [.23EF.0020.0002.0EAE][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER HO TAM>
-0EAF ; [.23F0.0020.0002.0EAF] # LAO ELLIPSIS
-0EB0 ; [.23F1.0020.0002.0EB0] # LAO VOWEL SIGN A
-0EB1 ; [.23F2.0020.0002.0EB1] # LAO VOWEL SIGN MAI KAN
-0EB2 ; [.23F3.0020.0002.0EB2] # LAO VOWEL SIGN AA
-0EB3 ; [.23F4.0020.0002.0EB3] # LAO VOWEL SIGN AM
-0ECD 0EB2 ; [.23F4.0020.0002.0EB3] # LAO VOWEL SIGN AM
-0EB4 ; [.23F5.0020.0002.0EB4] # LAO VOWEL SIGN I
-0EB5 ; [.23F6.0020.0002.0EB5] # LAO VOWEL SIGN II
-0EB6 ; [.23F7.0020.0002.0EB6] # LAO VOWEL SIGN Y
-0EB7 ; [.23F8.0020.0002.0EB7] # LAO VOWEL SIGN YY
-0EB8 ; [.23F9.0020.0002.0EB8] # LAO VOWEL SIGN U
-0EB9 ; [.23FA.0020.0002.0EB9] # LAO VOWEL SIGN UU
-0EBB ; [.23FB.0020.0002.0EBB] # LAO VOWEL SIGN MAI KON
-0EBC ; [.23FC.0020.0002.0EBC] # LAO SEMIVOWEL SIGN LO
-0EBD ; [.23FD.0020.0002.0EBD] # LAO SEMIVOWEL SIGN NYO
-0EC0 ; [.23FE.0020.0002.0EC0] # LAO VOWEL SIGN E
-0EC1 ; [.23FF.0020.0002.0EC1] # LAO VOWEL SIGN EI
-0EC2 ; [.2400.0020.0002.0EC2] # LAO VOWEL SIGN O
-0EC3 ; [.2401.0020.0002.0EC3] # LAO VOWEL SIGN AY
-0EC4 ; [.2402.0020.0002.0EC4] # LAO VOWEL SIGN AI
-AA80 ; [.2403.0020.0002.AA80] # TAI VIET LETTER LOW KO
-AAB5 AA80 ; [.2403.0020.0002.AA80][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KO>
-AAB6 AA80 ; [.2403.0020.0002.AA80][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KO>
-AAB9 AA80 ; [.2403.0020.0002.AA80][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KO>
-AABB AA80 ; [.2403.0020.0002.AA80][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KO>
-AABC AA80 ; [.2403.0020.0002.AA80][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KO>
-AA81 ; [.2404.0020.0002.AA81] # TAI VIET LETTER HIGH KO
-AAB5 AA81 ; [.2404.0020.0002.AA81][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KO>
-AAB6 AA81 ; [.2404.0020.0002.AA81][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KO>
-AAB9 AA81 ; [.2404.0020.0002.AA81][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KO>
-AABB AA81 ; [.2404.0020.0002.AA81][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KO>
-AABC AA81 ; [.2404.0020.0002.AA81][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KO>
-AA82 ; [.2405.0020.0002.AA82] # TAI VIET LETTER LOW KHO
-AAB5 AA82 ; [.2405.0020.0002.AA82][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KHO>
-AAB6 AA82 ; [.2405.0020.0002.AA82][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KHO>
-AAB9 AA82 ; [.2405.0020.0002.AA82][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KHO>
-AABB AA82 ; [.2405.0020.0002.AA82][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KHO>
-AABC AA82 ; [.2405.0020.0002.AA82][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KHO>
-AA83 ; [.2406.0020.0002.AA83] # TAI VIET LETTER HIGH KHO
-AAB5 AA83 ; [.2406.0020.0002.AA83][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KHO>
-AAB6 AA83 ; [.2406.0020.0002.AA83][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KHO>
-AAB9 AA83 ; [.2406.0020.0002.AA83][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KHO>
-AABB AA83 ; [.2406.0020.0002.AA83][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KHO>
-AABC AA83 ; [.2406.0020.0002.AA83][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KHO>
-AA84 ; [.2407.0020.0002.AA84] # TAI VIET LETTER LOW KHHO
-AAB5 AA84 ; [.2407.0020.0002.AA84][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KHHO>
-AAB6 AA84 ; [.2407.0020.0002.AA84][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KHHO>
-AAB9 AA84 ; [.2407.0020.0002.AA84][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KHHO>
-AABB AA84 ; [.2407.0020.0002.AA84][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KHHO>
-AABC AA84 ; [.2407.0020.0002.AA84][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KHHO>
-AA85 ; [.2408.0020.0002.AA85] # TAI VIET LETTER HIGH KHHO
-AAB5 AA85 ; [.2408.0020.0002.AA85][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KHHO>
-AAB6 AA85 ; [.2408.0020.0002.AA85][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KHHO>
-AAB9 AA85 ; [.2408.0020.0002.AA85][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KHHO>
-AABB AA85 ; [.2408.0020.0002.AA85][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KHHO>
-AABC AA85 ; [.2408.0020.0002.AA85][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KHHO>
-AA86 ; [.2409.0020.0002.AA86] # TAI VIET LETTER LOW GO
-AAB5 AA86 ; [.2409.0020.0002.AA86][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW GO>
-AAB6 AA86 ; [.2409.0020.0002.AA86][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW GO>
-AAB9 AA86 ; [.2409.0020.0002.AA86][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW GO>
-AABB AA86 ; [.2409.0020.0002.AA86][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW GO>
-AABC AA86 ; [.2409.0020.0002.AA86][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW GO>
-AA87 ; [.240A.0020.0002.AA87] # TAI VIET LETTER HIGH GO
-AAB5 AA87 ; [.240A.0020.0002.AA87][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH GO>
-AAB6 AA87 ; [.240A.0020.0002.AA87][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH GO>
-AAB9 AA87 ; [.240A.0020.0002.AA87][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH GO>
-AABB AA87 ; [.240A.0020.0002.AA87][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH GO>
-AABC AA87 ; [.240A.0020.0002.AA87][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH GO>
-AA88 ; [.240B.0020.0002.AA88] # TAI VIET LETTER LOW NGO
-AAB5 AA88 ; [.240B.0020.0002.AA88][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NGO>
-AAB6 AA88 ; [.240B.0020.0002.AA88][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NGO>
-AAB9 AA88 ; [.240B.0020.0002.AA88][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NGO>
-AABB AA88 ; [.240B.0020.0002.AA88][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NGO>
-AABC AA88 ; [.240B.0020.0002.AA88][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NGO>
-AA89 ; [.240C.0020.0002.AA89] # TAI VIET LETTER HIGH NGO
-AAB5 AA89 ; [.240C.0020.0002.AA89][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NGO>
-AAB6 AA89 ; [.240C.0020.0002.AA89][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NGO>
-AAB9 AA89 ; [.240C.0020.0002.AA89][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NGO>
-AABB AA89 ; [.240C.0020.0002.AA89][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NGO>
-AABC AA89 ; [.240C.0020.0002.AA89][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NGO>
-AA8A ; [.240D.0020.0002.AA8A] # TAI VIET LETTER LOW CO
-AAB5 AA8A ; [.240D.0020.0002.AA8A][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW CO>
-AAB6 AA8A ; [.240D.0020.0002.AA8A][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW CO>
-AAB9 AA8A ; [.240D.0020.0002.AA8A][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW CO>
-AABB AA8A ; [.240D.0020.0002.AA8A][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW CO>
-AABC AA8A ; [.240D.0020.0002.AA8A][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW CO>
-AA8B ; [.240E.0020.0002.AA8B] # TAI VIET LETTER HIGH CO
-AAB5 AA8B ; [.240E.0020.0002.AA8B][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH CO>
-AAB6 AA8B ; [.240E.0020.0002.AA8B][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH CO>
-AAB9 AA8B ; [.240E.0020.0002.AA8B][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH CO>
-AABB AA8B ; [.240E.0020.0002.AA8B][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH CO>
-AABC AA8B ; [.240E.0020.0002.AA8B][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH CO>
-AA8C ; [.240F.0020.0002.AA8C] # TAI VIET LETTER LOW CHO
-AAB5 AA8C ; [.240F.0020.0002.AA8C][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW CHO>
-AAB6 AA8C ; [.240F.0020.0002.AA8C][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW CHO>
-AAB9 AA8C ; [.240F.0020.0002.AA8C][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW CHO>
-AABB AA8C ; [.240F.0020.0002.AA8C][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW CHO>
-AABC AA8C ; [.240F.0020.0002.AA8C][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW CHO>
-AA8D ; [.2410.0020.0002.AA8D] # TAI VIET LETTER HIGH CHO
-AAB5 AA8D ; [.2410.0020.0002.AA8D][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH CHO>
-AAB6 AA8D ; [.2410.0020.0002.AA8D][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH CHO>
-AAB9 AA8D ; [.2410.0020.0002.AA8D][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH CHO>
-AABB AA8D ; [.2410.0020.0002.AA8D][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH CHO>
-AABC AA8D ; [.2410.0020.0002.AA8D][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH CHO>
-AA8E ; [.2411.0020.0002.AA8E] # TAI VIET LETTER LOW SO
-AAB5 AA8E ; [.2411.0020.0002.AA8E][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW SO>
-AAB6 AA8E ; [.2411.0020.0002.AA8E][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW SO>
-AAB9 AA8E ; [.2411.0020.0002.AA8E][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW SO>
-AABB AA8E ; [.2411.0020.0002.AA8E][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW SO>
-AABC AA8E ; [.2411.0020.0002.AA8E][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW SO>
-AA8F ; [.2412.0020.0002.AA8F] # TAI VIET LETTER HIGH SO
-AAB5 AA8F ; [.2412.0020.0002.AA8F][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH SO>
-AAB6 AA8F ; [.2412.0020.0002.AA8F][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH SO>
-AAB9 AA8F ; [.2412.0020.0002.AA8F][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH SO>
-AABB AA8F ; [.2412.0020.0002.AA8F][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH SO>
-AABC AA8F ; [.2412.0020.0002.AA8F][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH SO>
-AA90 ; [.2413.0020.0002.AA90] # TAI VIET LETTER LOW NYO
-AAB5 AA90 ; [.2413.0020.0002.AA90][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NYO>
-AAB6 AA90 ; [.2413.0020.0002.AA90][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NYO>
-AAB9 AA90 ; [.2413.0020.0002.AA90][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NYO>
-AABB AA90 ; [.2413.0020.0002.AA90][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NYO>
-AABC AA90 ; [.2413.0020.0002.AA90][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NYO>
-AA91 ; [.2414.0020.0002.AA91] # TAI VIET LETTER HIGH NYO
-AAB5 AA91 ; [.2414.0020.0002.AA91][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NYO>
-AAB6 AA91 ; [.2414.0020.0002.AA91][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NYO>
-AAB9 AA91 ; [.2414.0020.0002.AA91][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NYO>
-AABB AA91 ; [.2414.0020.0002.AA91][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NYO>
-AABC AA91 ; [.2414.0020.0002.AA91][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NYO>
-AA92 ; [.2415.0020.0002.AA92] # TAI VIET LETTER LOW DO
-AAB5 AA92 ; [.2415.0020.0002.AA92][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW DO>
-AAB6 AA92 ; [.2415.0020.0002.AA92][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW DO>
-AAB9 AA92 ; [.2415.0020.0002.AA92][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW DO>
-AABB AA92 ; [.2415.0020.0002.AA92][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW DO>
-AABC AA92 ; [.2415.0020.0002.AA92][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW DO>
-AA93 ; [.2416.0020.0002.AA93] # TAI VIET LETTER HIGH DO
-AAB5 AA93 ; [.2416.0020.0002.AA93][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH DO>
-AAB6 AA93 ; [.2416.0020.0002.AA93][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH DO>
-AAB9 AA93 ; [.2416.0020.0002.AA93][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH DO>
-AABB AA93 ; [.2416.0020.0002.AA93][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH DO>
-AABC AA93 ; [.2416.0020.0002.AA93][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH DO>
-AA94 ; [.2417.0020.0002.AA94] # TAI VIET LETTER LOW TO
-AAB5 AA94 ; [.2417.0020.0002.AA94][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW TO>
-AAB6 AA94 ; [.2417.0020.0002.AA94][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW TO>
-AAB9 AA94 ; [.2417.0020.0002.AA94][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW TO>
-AABB AA94 ; [.2417.0020.0002.AA94][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW TO>
-AABC AA94 ; [.2417.0020.0002.AA94][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW TO>
-AA95 ; [.2418.0020.0002.AA95] # TAI VIET LETTER HIGH TO
-AAB5 AA95 ; [.2418.0020.0002.AA95][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH TO>
-AAB6 AA95 ; [.2418.0020.0002.AA95][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH TO>
-AAB9 AA95 ; [.2418.0020.0002.AA95][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH TO>
-AABB AA95 ; [.2418.0020.0002.AA95][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH TO>
-AABC AA95 ; [.2418.0020.0002.AA95][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH TO>
-AA96 ; [.2419.0020.0002.AA96] # TAI VIET LETTER LOW THO
-AAB5 AA96 ; [.2419.0020.0002.AA96][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW THO>
-AAB6 AA96 ; [.2419.0020.0002.AA96][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW THO>
-AAB9 AA96 ; [.2419.0020.0002.AA96][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW THO>
-AABB AA96 ; [.2419.0020.0002.AA96][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW THO>
-AABC AA96 ; [.2419.0020.0002.AA96][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW THO>
-AA97 ; [.241A.0020.0002.AA97] # TAI VIET LETTER HIGH THO
-AAB5 AA97 ; [.241A.0020.0002.AA97][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH THO>
-AAB6 AA97 ; [.241A.0020.0002.AA97][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH THO>
-AAB9 AA97 ; [.241A.0020.0002.AA97][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH THO>
-AABB AA97 ; [.241A.0020.0002.AA97][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH THO>
-AABC AA97 ; [.241A.0020.0002.AA97][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH THO>
-AA98 ; [.241B.0020.0002.AA98] # TAI VIET LETTER LOW NO
-AAB5 AA98 ; [.241B.0020.0002.AA98][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NO>
-AAB6 AA98 ; [.241B.0020.0002.AA98][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NO>
-AAB9 AA98 ; [.241B.0020.0002.AA98][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NO>
-AABB AA98 ; [.241B.0020.0002.AA98][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NO>
-AABC AA98 ; [.241B.0020.0002.AA98][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NO>
-AA99 ; [.241C.0020.0002.AA99] # TAI VIET LETTER HIGH NO
-AAB5 AA99 ; [.241C.0020.0002.AA99][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NO>
-AAB6 AA99 ; [.241C.0020.0002.AA99][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NO>
-AAB9 AA99 ; [.241C.0020.0002.AA99][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NO>
-AABB AA99 ; [.241C.0020.0002.AA99][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NO>
-AABC AA99 ; [.241C.0020.0002.AA99][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NO>
-AA9A ; [.241D.0020.0002.AA9A] # TAI VIET LETTER LOW BO
-AAB5 AA9A ; [.241D.0020.0002.AA9A][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW BO>
-AAB6 AA9A ; [.241D.0020.0002.AA9A][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW BO>
-AAB9 AA9A ; [.241D.0020.0002.AA9A][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW BO>
-AABB AA9A ; [.241D.0020.0002.AA9A][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW BO>
-AABC AA9A ; [.241D.0020.0002.AA9A][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW BO>
-AA9B ; [.241E.0020.0002.AA9B] # TAI VIET LETTER HIGH BO
-AAB5 AA9B ; [.241E.0020.0002.AA9B][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH BO>
-AAB6 AA9B ; [.241E.0020.0002.AA9B][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH BO>
-AAB9 AA9B ; [.241E.0020.0002.AA9B][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH BO>
-AABB AA9B ; [.241E.0020.0002.AA9B][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH BO>
-AABC AA9B ; [.241E.0020.0002.AA9B][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH BO>
-AA9C ; [.241F.0020.0002.AA9C] # TAI VIET LETTER LOW PO
-AAB5 AA9C ; [.241F.0020.0002.AA9C][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW PO>
-AAB6 AA9C ; [.241F.0020.0002.AA9C][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW PO>
-AAB9 AA9C ; [.241F.0020.0002.AA9C][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW PO>
-AABB AA9C ; [.241F.0020.0002.AA9C][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW PO>
-AABC AA9C ; [.241F.0020.0002.AA9C][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW PO>
-AA9D ; [.2420.0020.0002.AA9D] # TAI VIET LETTER HIGH PO
-AAB5 AA9D ; [.2420.0020.0002.AA9D][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH PO>
-AAB6 AA9D ; [.2420.0020.0002.AA9D][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH PO>
-AAB9 AA9D ; [.2420.0020.0002.AA9D][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH PO>
-AABB AA9D ; [.2420.0020.0002.AA9D][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH PO>
-AABC AA9D ; [.2420.0020.0002.AA9D][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH PO>
-AA9E ; [.2421.0020.0002.AA9E] # TAI VIET LETTER LOW PHO
-AAB5 AA9E ; [.2421.0020.0002.AA9E][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW PHO>
-AAB6 AA9E ; [.2421.0020.0002.AA9E][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW PHO>
-AAB9 AA9E ; [.2421.0020.0002.AA9E][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW PHO>
-AABB AA9E ; [.2421.0020.0002.AA9E][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW PHO>
-AABC AA9E ; [.2421.0020.0002.AA9E][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW PHO>
-AA9F ; [.2422.0020.0002.AA9F] # TAI VIET LETTER HIGH PHO
-AAB5 AA9F ; [.2422.0020.0002.AA9F][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH PHO>
-AAB6 AA9F ; [.2422.0020.0002.AA9F][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH PHO>
-AAB9 AA9F ; [.2422.0020.0002.AA9F][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH PHO>
-AABB AA9F ; [.2422.0020.0002.AA9F][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH PHO>
-AABC AA9F ; [.2422.0020.0002.AA9F][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH PHO>
-AAA0 ; [.2423.0020.0002.AAA0] # TAI VIET LETTER LOW FO
-AAB5 AAA0 ; [.2423.0020.0002.AAA0][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW FO>
-AAB6 AAA0 ; [.2423.0020.0002.AAA0][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW FO>
-AAB9 AAA0 ; [.2423.0020.0002.AAA0][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW FO>
-AABB AAA0 ; [.2423.0020.0002.AAA0][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW FO>
-AABC AAA0 ; [.2423.0020.0002.AAA0][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW FO>
-AAA1 ; [.2424.0020.0002.AAA1] # TAI VIET LETTER HIGH FO
-AAB5 AAA1 ; [.2424.0020.0002.AAA1][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH FO>
-AAB6 AAA1 ; [.2424.0020.0002.AAA1][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH FO>
-AAB9 AAA1 ; [.2424.0020.0002.AAA1][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH FO>
-AABB AAA1 ; [.2424.0020.0002.AAA1][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH FO>
-AABC AAA1 ; [.2424.0020.0002.AAA1][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH FO>
-AAA2 ; [.2425.0020.0002.AAA2] # TAI VIET LETTER LOW MO
-AAB5 AAA2 ; [.2425.0020.0002.AAA2][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW MO>
-AAB6 AAA2 ; [.2425.0020.0002.AAA2][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW MO>
-AAB9 AAA2 ; [.2425.0020.0002.AAA2][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW MO>
-AABB AAA2 ; [.2425.0020.0002.AAA2][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW MO>
-AABC AAA2 ; [.2425.0020.0002.AAA2][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW MO>
-AAA3 ; [.2426.0020.0002.AAA3] # TAI VIET LETTER HIGH MO
-AAB5 AAA3 ; [.2426.0020.0002.AAA3][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH MO>
-AAB6 AAA3 ; [.2426.0020.0002.AAA3][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH MO>
-AAB9 AAA3 ; [.2426.0020.0002.AAA3][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH MO>
-AABB AAA3 ; [.2426.0020.0002.AAA3][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH MO>
-AABC AAA3 ; [.2426.0020.0002.AAA3][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH MO>
-AAA4 ; [.2427.0020.0002.AAA4] # TAI VIET LETTER LOW YO
-AAB5 AAA4 ; [.2427.0020.0002.AAA4][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW YO>
-AAB6 AAA4 ; [.2427.0020.0002.AAA4][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW YO>
-AAB9 AAA4 ; [.2427.0020.0002.AAA4][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW YO>
-AABB AAA4 ; [.2427.0020.0002.AAA4][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW YO>
-AABC AAA4 ; [.2427.0020.0002.AAA4][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW YO>
-AAA5 ; [.2428.0020.0002.AAA5] # TAI VIET LETTER HIGH YO
-AAB5 AAA5 ; [.2428.0020.0002.AAA5][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH YO>
-AAB6 AAA5 ; [.2428.0020.0002.AAA5][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH YO>
-AAB9 AAA5 ; [.2428.0020.0002.AAA5][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH YO>
-AABB AAA5 ; [.2428.0020.0002.AAA5][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH YO>
-AABC AAA5 ; [.2428.0020.0002.AAA5][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH YO>
-AAA6 ; [.2429.0020.0002.AAA6] # TAI VIET LETTER LOW RO
-AAB5 AAA6 ; [.2429.0020.0002.AAA6][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW RO>
-AAB6 AAA6 ; [.2429.0020.0002.AAA6][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW RO>
-AAB9 AAA6 ; [.2429.0020.0002.AAA6][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW RO>
-AABB AAA6 ; [.2429.0020.0002.AAA6][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW RO>
-AABC AAA6 ; [.2429.0020.0002.AAA6][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW RO>
-AAA7 ; [.242A.0020.0002.AAA7] # TAI VIET LETTER HIGH RO
-AAB5 AAA7 ; [.242A.0020.0002.AAA7][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH RO>
-AAB6 AAA7 ; [.242A.0020.0002.AAA7][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH RO>
-AAB9 AAA7 ; [.242A.0020.0002.AAA7][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH RO>
-AABB AAA7 ; [.242A.0020.0002.AAA7][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH RO>
-AABC AAA7 ; [.242A.0020.0002.AAA7][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH RO>
-AAA8 ; [.242B.0020.0002.AAA8] # TAI VIET LETTER LOW LO
-AAB5 AAA8 ; [.242B.0020.0002.AAA8][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW LO>
-AAB6 AAA8 ; [.242B.0020.0002.AAA8][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW LO>
-AAB9 AAA8 ; [.242B.0020.0002.AAA8][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW LO>
-AABB AAA8 ; [.242B.0020.0002.AAA8][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW LO>
-AABC AAA8 ; [.242B.0020.0002.AAA8][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW LO>
-AAA9 ; [.242C.0020.0002.AAA9] # TAI VIET LETTER HIGH LO
-AAB5 AAA9 ; [.242C.0020.0002.AAA9][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH LO>
-AAB6 AAA9 ; [.242C.0020.0002.AAA9][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH LO>
-AAB9 AAA9 ; [.242C.0020.0002.AAA9][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH LO>
-AABB AAA9 ; [.242C.0020.0002.AAA9][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH LO>
-AABC AAA9 ; [.242C.0020.0002.AAA9][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH LO>
-AAAA ; [.242D.0020.0002.AAAA] # TAI VIET LETTER LOW VO
-AAB5 AAAA ; [.242D.0020.0002.AAAA][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW VO>
-AAB6 AAAA ; [.242D.0020.0002.AAAA][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW VO>
-AAB9 AAAA ; [.242D.0020.0002.AAAA][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW VO>
-AABB AAAA ; [.242D.0020.0002.AAAA][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW VO>
-AABC AAAA ; [.242D.0020.0002.AAAA][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW VO>
-AAAB ; [.242E.0020.0002.AAAB] # TAI VIET LETTER HIGH VO
-AAB5 AAAB ; [.242E.0020.0002.AAAB][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH VO>
-AAB6 AAAB ; [.242E.0020.0002.AAAB][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH VO>
-AAB9 AAAB ; [.242E.0020.0002.AAAB][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH VO>
-AABB AAAB ; [.242E.0020.0002.AAAB][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH VO>
-AABC AAAB ; [.242E.0020.0002.AAAB][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH VO>
-AAAC ; [.242F.0020.0002.AAAC] # TAI VIET LETTER LOW HO
-AAB5 AAAC ; [.242F.0020.0002.AAAC][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW HO>
-AAB6 AAAC ; [.242F.0020.0002.AAAC][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW HO>
-AAB9 AAAC ; [.242F.0020.0002.AAAC][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW HO>
-AABB AAAC ; [.242F.0020.0002.AAAC][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW HO>
-AABC AAAC ; [.242F.0020.0002.AAAC][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW HO>
-AAAD ; [.2430.0020.0002.AAAD] # TAI VIET LETTER HIGH HO
-AAB5 AAAD ; [.2430.0020.0002.AAAD][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH HO>
-AAB6 AAAD ; [.2430.0020.0002.AAAD][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH HO>
-AAB9 AAAD ; [.2430.0020.0002.AAAD][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH HO>
-AABB AAAD ; [.2430.0020.0002.AAAD][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH HO>
-AABC AAAD ; [.2430.0020.0002.AAAD][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH HO>
-AAAE ; [.2431.0020.0002.AAAE] # TAI VIET LETTER LOW O
-AAB5 AAAE ; [.2431.0020.0002.AAAE][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW O>
-AAB6 AAAE ; [.2431.0020.0002.AAAE][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW O>
-AAB9 AAAE ; [.2431.0020.0002.AAAE][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW O>
-AABB AAAE ; [.2431.0020.0002.AAAE][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW O>
-AABC AAAE ; [.2431.0020.0002.AAAE][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW O>
-AAAF ; [.2432.0020.0002.AAAF] # TAI VIET LETTER HIGH O
-AAB5 AAAF ; [.2432.0020.0002.AAAF][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH O>
-AAB6 AAAF ; [.2432.0020.0002.AAAF][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH O>
-AAB9 AAAF ; [.2432.0020.0002.AAAF][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH O>
-AABB AAAF ; [.2432.0020.0002.AAAF][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH O>
-AABC AAAF ; [.2432.0020.0002.AAAF][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH O>
-AAB0 ; [.2433.0020.0002.AAB0] # TAI VIET MAI KANG
-AAB1 ; [.2434.0020.0002.AAB1] # TAI VIET VOWEL AA
-AAB2 ; [.2435.0020.0002.AAB2] # TAI VIET VOWEL I
-AAB3 ; [.2436.0020.0002.AAB3] # TAI VIET VOWEL UE
-AAB4 ; [.2437.0020.0002.AAB4] # TAI VIET VOWEL U
-AAB5 ; [.2438.0020.0002.AAB5] # TAI VIET VOWEL E
-AAB6 ; [.2439.0020.0002.AAB6] # TAI VIET VOWEL O
-AAB7 ; [.243A.0020.0002.AAB7] # TAI VIET MAY KHIT
-AAB8 ; [.243B.0020.0002.AAB8] # TAI VIET VOWEL IA
-AAB9 ; [.243C.0020.0002.AAB9] # TAI VIET VOWEL UEA
-AABA ; [.243D.0020.0002.AABA] # TAI VIET VOWEL UA
-AABB ; [.243E.0020.0002.AABB] # TAI VIET VOWEL AUE
-AABC ; [.243F.0020.0002.AABC] # TAI VIET VOWEL AY
-AABD ; [.2440.0020.0002.AABD] # TAI VIET VOWEL AN
-AABE ; [.2441.0020.0002.AABE] # TAI VIET VOWEL AM
-AAC0 ; [.2442.0020.0002.AAC0] # TAI VIET TONE MAI NUENG
-AAC2 ; [.2443.0020.0002.AAC2] # TAI VIET TONE MAI SONG
-AADB ; [.2444.0020.0002.AADB] # TAI VIET SYMBOL KON
-AADC ; [.2445.0020.0002.AADC] # TAI VIET SYMBOL NUENG
-0F40 ; [.2446.0020.0002.0F40] # TIBETAN LETTER KA
-0F69 ; [.2446.0020.0002.0F40][.2487.0020.0002.0FB5] # TIBETAN LETTER KSSA; QQCN
-0F90 ; [.2447.0020.0002.0F90] # TIBETAN SUBJOINED LETTER KA
-0FB9 ; [.2447.0020.0002.0F90][.2487.0020.0002.0FB5] # TIBETAN SUBJOINED LETTER KSSA; QQCN
-0F6B ; [.2448.0020.0002.0F6B] # TIBETAN LETTER KKA
-0F41 ; [.2449.0020.0002.0F41] # TIBETAN LETTER KHA
-0F91 ; [.244A.0020.0002.0F91] # TIBETAN SUBJOINED LETTER KHA
-0F42 ; [.244B.0020.0002.0F42] # TIBETAN LETTER GA
-0F43 ; [.244B.0020.0002.0F42][.248B.0020.0002.0FB7] # TIBETAN LETTER GHA; QQCN
-0F92 ; [.244C.0020.0002.0F92] # TIBETAN SUBJOINED LETTER GA
-0F93 ; [.244C.0020.0002.0F92][.248B.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER GHA; QQCN
-0F44 ; [.244D.0020.0002.0F44] # TIBETAN LETTER NGA
-0F94 ; [.244E.0020.0002.0F94] # TIBETAN SUBJOINED LETTER NGA
-0F45 ; [.244F.0020.0002.0F45] # TIBETAN LETTER CA
-0F95 ; [.2450.0020.0002.0F95] # TIBETAN SUBJOINED LETTER CA
-0F46 ; [.2451.0020.0002.0F46] # TIBETAN LETTER CHA
-0F96 ; [.2452.0020.0002.0F96] # TIBETAN SUBJOINED LETTER CHA
-0F47 ; [.2453.0020.0002.0F47] # TIBETAN LETTER JA
-0F97 ; [.2454.0020.0002.0F97] # TIBETAN SUBJOINED LETTER JA
-0F49 ; [.2455.0020.0002.0F49] # TIBETAN LETTER NYA
-0F99 ; [.2456.0020.0002.0F99] # TIBETAN SUBJOINED LETTER NYA
-0F4A ; [.2457.0020.0002.0F4A] # TIBETAN LETTER TTA
-0F9A ; [.2458.0020.0002.0F9A] # TIBETAN SUBJOINED LETTER TTA
-0F4B ; [.2459.0020.0002.0F4B] # TIBETAN LETTER TTHA
-0F9B ; [.245A.0020.0002.0F9B] # TIBETAN SUBJOINED LETTER TTHA
-0F4C ; [.245B.0020.0002.0F4C] # TIBETAN LETTER DDA
-0F4D ; [.245B.0020.0002.0F4C][.248B.0020.0002.0FB7] # TIBETAN LETTER DDHA; QQCN
-0F9C ; [.245C.0020.0002.0F9C] # TIBETAN SUBJOINED LETTER DDA
-0F9D ; [.245C.0020.0002.0F9C][.248B.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DDHA; QQCN
-0F4E ; [.245D.0020.0002.0F4E] # TIBETAN LETTER NNA
-0F9E ; [.245E.0020.0002.0F9E] # TIBETAN SUBJOINED LETTER NNA
-0F4F ; [.245F.0020.0002.0F4F] # TIBETAN LETTER TA
-0F9F ; [.2460.0020.0002.0F9F] # TIBETAN SUBJOINED LETTER TA
-0F50 ; [.2461.0020.0002.0F50] # TIBETAN LETTER THA
-0FA0 ; [.2462.0020.0002.0FA0] # TIBETAN SUBJOINED LETTER THA
-0F51 ; [.2463.0020.0002.0F51] # TIBETAN LETTER DA
-0F52 ; [.2463.0020.0002.0F51][.248B.0020.0002.0FB7] # TIBETAN LETTER DHA; QQCN
-0FA1 ; [.2464.0020.0002.0FA1] # TIBETAN SUBJOINED LETTER DA
-0FA2 ; [.2464.0020.0002.0FA1][.248B.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DHA; QQCN
-0F53 ; [.2465.0020.0002.0F53] # TIBETAN LETTER NA
-0FA3 ; [.2466.0020.0002.0FA3] # TIBETAN SUBJOINED LETTER NA
-0F54 ; [.2467.0020.0002.0F54] # TIBETAN LETTER PA
-0FA4 ; [.2468.0020.0002.0FA4] # TIBETAN SUBJOINED LETTER PA
-0F55 ; [.2469.0020.0002.0F55] # TIBETAN LETTER PHA
-0FA5 ; [.246A.0020.0002.0FA5] # TIBETAN SUBJOINED LETTER PHA
-0F56 ; [.246B.0020.0002.0F56] # TIBETAN LETTER BA
-0F57 ; [.246B.0020.0002.0F56][.248B.0020.0002.0FB7] # TIBETAN LETTER BHA; QQCN
-0FA6 ; [.246C.0020.0002.0FA6] # TIBETAN SUBJOINED LETTER BA
-0FA7 ; [.246C.0020.0002.0FA6][.248B.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER BHA; QQCN
-0F58 ; [.246D.0020.0002.0F58] # TIBETAN LETTER MA
-0FA8 ; [.246E.0020.0002.0FA8] # TIBETAN SUBJOINED LETTER MA
-0F59 ; [.246F.0020.0002.0F59] # TIBETAN LETTER TSA
-0FA9 ; [.2470.0020.0002.0FA9] # TIBETAN SUBJOINED LETTER TSA
-0F5A ; [.2471.0020.0002.0F5A] # TIBETAN LETTER TSHA
-0FAA ; [.2472.0020.0002.0FAA] # TIBETAN SUBJOINED LETTER TSHA
-0F5B ; [.2473.0020.0002.0F5B] # TIBETAN LETTER DZA
-0F5C ; [.2473.0020.0002.0F5B][.248B.0020.0002.0FB7] # TIBETAN LETTER DZHA; QQCN
-0FAB ; [.2474.0020.0002.0FAB] # TIBETAN SUBJOINED LETTER DZA
-0FAC ; [.2474.0020.0002.0FAB][.248B.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DZHA; QQCN
-0F5D ; [.2475.0020.0002.0F5D] # TIBETAN LETTER WA
-0FAD ; [.2476.0020.0002.0FAD] # TIBETAN SUBJOINED LETTER WA
-0FBA ; [.2476.0020.0004.0FBA][.0000.0160.0004.0FBA] # TIBETAN SUBJOINED LETTER FIXED-FORM WA; QQKN
-0F5E ; [.2477.0020.0002.0F5E] # TIBETAN LETTER ZHA
-0FAE ; [.2478.0020.0002.0FAE] # TIBETAN SUBJOINED LETTER ZHA
-0F5F ; [.2479.0020.0002.0F5F] # TIBETAN LETTER ZA
-0FAF ; [.247A.0020.0002.0FAF] # TIBETAN SUBJOINED LETTER ZA
-0F60 ; [.247B.0020.0002.0F60] # TIBETAN LETTER -A
-0FB0 ; [.247C.0020.0002.0FB0] # TIBETAN SUBJOINED LETTER -A
-0F61 ; [.247D.0020.0002.0F61] # TIBETAN LETTER YA
-0FB1 ; [.247E.0020.0002.0FB1] # TIBETAN SUBJOINED LETTER YA
-0FBB ; [.247E.0020.0004.0FBB][.0000.0160.0004.0FBB] # TIBETAN SUBJOINED LETTER FIXED-FORM YA; QQKN
-0F62 ; [.247F.0020.0002.0F62] # TIBETAN LETTER RA
-0F6A ; [.247F.0020.0004.0F6A][.0000.0160.0004.0F6A] # TIBETAN LETTER FIXED-FORM RA; QQKN
-0FB2 ; [.2480.0020.0002.0FB2] # TIBETAN SUBJOINED LETTER RA
-0FBC ; [.2480.0020.0004.0FBC][.0000.0160.0004.0FBC] # TIBETAN SUBJOINED LETTER FIXED-FORM RA; QQKN
-0F6C ; [.2481.0020.0002.0F6C] # TIBETAN LETTER RRA
-0F63 ; [.2482.0020.0002.0F63] # TIBETAN LETTER LA
-0FB3 ; [.2483.0020.0002.0FB3] # TIBETAN SUBJOINED LETTER LA
-0F64 ; [.2484.0020.0002.0F64] # TIBETAN LETTER SHA
-0FB4 ; [.2485.0020.0002.0FB4] # TIBETAN SUBJOINED LETTER SHA
-0F65 ; [.2486.0020.0002.0F65] # TIBETAN LETTER SSA
-0FB5 ; [.2487.0020.0002.0FB5] # TIBETAN SUBJOINED LETTER SSA
-0F66 ; [.2488.0020.0002.0F66] # TIBETAN LETTER SA
-0FB6 ; [.2489.0020.0002.0FB6] # TIBETAN SUBJOINED LETTER SA
-0F67 ; [.248A.0020.0002.0F67] # TIBETAN LETTER HA
-0FB7 ; [.248B.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER HA
-0F68 ; [.248C.0020.0002.0F68] # TIBETAN LETTER A
-0F00 ; [.248C.0020.0004.0F00][.24A3.0020.0004.0F00][.0000.012D.001F.0F00] # TIBETAN SYLLABLE OM; QQKN
-0FB8 ; [.248D.0020.0002.0FB8] # TIBETAN SUBJOINED LETTER A
-0F88 ; [.248E.0020.0002.0F88] # TIBETAN SIGN LCE TSA CAN
-0F8D ; [.248F.0020.0002.0F8D] # TIBETAN SUBJOINED SIGN LCE TSA CAN
-0F89 ; [.2490.0020.0002.0F89] # TIBETAN SIGN MCHU CAN
-0F8E ; [.2491.0020.0002.0F8E] # TIBETAN SUBJOINED SIGN MCHU CAN
-0F8C ; [.2492.0020.0002.0F8C] # TIBETAN SIGN INVERTED MCHU CAN
-0F8F ; [.2493.0020.0002.0F8F] # TIBETAN SUBJOINED SIGN INVERTED MCHU CAN
-0F8A ; [.2494.0020.0002.0F8A] # TIBETAN SIGN GRU CAN RGYINGS
-0F8B ; [.2495.0020.0002.0F8B] # TIBETAN SIGN GRU MED RGYINGS
-0F71 ; [.2496.0020.0002.0F71] # TIBETAN VOWEL SIGN AA
-0F72 ; [.2497.0020.0002.0F72] # TIBETAN VOWEL SIGN I
-0F73 ; [.2498.0020.0002.0F73] # TIBETAN VOWEL SIGN II
-0F71 0F72 ; [.2498.0020.0002.0F73] # TIBETAN VOWEL SIGN II
-0F80 ; [.2499.0020.0002.0F80] # TIBETAN VOWEL SIGN REVERSED I
-0F81 ; [.249A.0020.0002.0F81] # TIBETAN VOWEL SIGN REVERSED II
-0F71 0F80 ; [.249A.0020.0002.0F81] # TIBETAN VOWEL SIGN REVERSED II
-0F74 ; [.249B.0020.0002.0F74] # TIBETAN VOWEL SIGN U
-0F75 ; [.249C.0020.0002.0F75] # TIBETAN VOWEL SIGN UU
-0F71 0F74 ; [.249C.0020.0002.0F75] # TIBETAN VOWEL SIGN UU
-0F76 ; [.249D.0020.0002.0F76] # TIBETAN VOWEL SIGN VOCALIC R
-0FB2 0F80 ; [.249D.0020.0002.0F76] # TIBETAN VOWEL SIGN VOCALIC R
-0F77 ; [.249E.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
-0FB2 0F71 0F80 ; [.249E.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
-0FB2 0F81 ; [.249E.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
-0F78 ; [.249F.0020.0002.0F78] # TIBETAN VOWEL SIGN VOCALIC L
-0FB3 0F80 ; [.249F.0020.0002.0F78] # TIBETAN VOWEL SIGN VOCALIC L
-0F79 ; [.24A0.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
-0FB3 0F71 0F80 ; [.24A0.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
-0FB3 0F81 ; [.24A0.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
-0F7A ; [.24A1.0020.0002.0F7A] # TIBETAN VOWEL SIGN E
-0F7B ; [.24A2.0020.0002.0F7B] # TIBETAN VOWEL SIGN EE
-0F7C ; [.24A3.0020.0002.0F7C] # TIBETAN VOWEL SIGN O
-0F7D ; [.24A4.0020.0002.0F7D] # TIBETAN VOWEL SIGN OO
-0F84 ; [.24A5.0020.0002.0F84] # TIBETAN MARK HALANTA
-1C00 ; [.24A6.0020.0002.1C00] # LEPCHA LETTER KA
-1C01 ; [.24A7.0020.0002.1C01] # LEPCHA LETTER KLA
-1C02 ; [.24A8.0020.0002.1C02] # LEPCHA LETTER KHA
-1C03 ; [.24A9.0020.0002.1C03] # LEPCHA LETTER GA
-1C04 ; [.24AA.0020.0002.1C04] # LEPCHA LETTER GLA
-1C05 ; [.24AB.0020.0002.1C05] # LEPCHA LETTER NGA
-1C06 ; [.24AC.0020.0002.1C06] # LEPCHA LETTER CA
-1C07 ; [.24AD.0020.0002.1C07] # LEPCHA LETTER CHA
-1C08 ; [.24AE.0020.0002.1C08] # LEPCHA LETTER JA
-1C09 ; [.24AF.0020.0002.1C09] # LEPCHA LETTER NYA
-1C4D ; [.24B0.0020.0002.1C4D] # LEPCHA LETTER TTA
-1C4E ; [.24B1.0020.0002.1C4E] # LEPCHA LETTER TTHA
-1C4F ; [.24B2.0020.0002.1C4F] # LEPCHA LETTER DDA
-1C0A ; [.24B3.0020.0002.1C0A] # LEPCHA LETTER TA
-1C0B ; [.24B4.0020.0002.1C0B] # LEPCHA LETTER THA
-1C0C ; [.24B5.0020.0002.1C0C] # LEPCHA LETTER DA
-1C0D ; [.24B6.0020.0002.1C0D] # LEPCHA LETTER NA
-1C0E ; [.24B7.0020.0002.1C0E] # LEPCHA LETTER PA
-1C0F ; [.24B8.0020.0002.1C0F] # LEPCHA LETTER PLA
-1C10 ; [.24B9.0020.0002.1C10] # LEPCHA LETTER PHA
-1C11 ; [.24BA.0020.0002.1C11] # LEPCHA LETTER FA
-1C12 ; [.24BB.0020.0002.1C12] # LEPCHA LETTER FLA
-1C13 ; [.24BC.0020.0002.1C13] # LEPCHA LETTER BA
-1C14 ; [.24BD.0020.0002.1C14] # LEPCHA LETTER BLA
-1C15 ; [.24BE.0020.0002.1C15] # LEPCHA LETTER MA
-1C16 ; [.24BF.0020.0002.1C16] # LEPCHA LETTER MLA
-1C17 ; [.24C0.0020.0002.1C17] # LEPCHA LETTER TSA
-1C18 ; [.24C1.0020.0002.1C18] # LEPCHA LETTER TSHA
-1C19 ; [.24C2.0020.0002.1C19] # LEPCHA LETTER DZA
-1C1A ; [.24C3.0020.0002.1C1A] # LEPCHA LETTER YA
-1C24 ; [.24C4.0020.0002.1C24] # LEPCHA SUBJOINED LETTER YA
-1C1B ; [.24C5.0020.0002.1C1B] # LEPCHA LETTER RA
-1C25 ; [.24C6.0020.0002.1C25] # LEPCHA SUBJOINED LETTER RA
-1C1C ; [.24C7.0020.0002.1C1C] # LEPCHA LETTER LA
-1C1D ; [.24C8.0020.0002.1C1D] # LEPCHA LETTER HA
-1C1E ; [.24C9.0020.0002.1C1E] # LEPCHA LETTER HLA
-1C1F ; [.24CA.0020.0002.1C1F] # LEPCHA LETTER VA
-1C20 ; [.24CB.0020.0002.1C20] # LEPCHA LETTER SA
-1C21 ; [.24CC.0020.0002.1C21] # LEPCHA LETTER SHA
-1C22 ; [.24CD.0020.0002.1C22] # LEPCHA LETTER WA
-1C23 ; [.24CE.0020.0002.1C23] # LEPCHA LETTER A
-1C36 ; [.24CF.0020.0002.1C36] # LEPCHA SIGN RAN
-1C26 ; [.24D0.0020.0002.1C26] # LEPCHA VOWEL SIGN AA
-1C27 ; [.24D1.0020.0002.1C27] # LEPCHA VOWEL SIGN I
-1C28 ; [.24D2.0020.0002.1C28] # LEPCHA VOWEL SIGN O
-1C29 ; [.24D3.0020.0002.1C29] # LEPCHA VOWEL SIGN OO
-1C2A ; [.24D4.0020.0002.1C2A] # LEPCHA VOWEL SIGN U
-1C2B ; [.24D5.0020.0002.1C2B] # LEPCHA VOWEL SIGN UU
-1C2C ; [.24D6.0020.0002.1C2C] # LEPCHA VOWEL SIGN E
-1C2D ; [.24D7.0020.0002.1C2D] # LEPCHA CONSONANT SIGN K
-1C2E ; [.24D8.0020.0002.1C2E] # LEPCHA CONSONANT SIGN M
-1C2F ; [.24D9.0020.0002.1C2F] # LEPCHA CONSONANT SIGN L
-1C30 ; [.24DA.0020.0002.1C30] # LEPCHA CONSONANT SIGN N
-1C31 ; [.24DB.0020.0002.1C31] # LEPCHA CONSONANT SIGN P
-1C32 ; [.24DC.0020.0002.1C32] # LEPCHA CONSONANT SIGN R
-1C33 ; [.24DD.0020.0002.1C33] # LEPCHA CONSONANT SIGN T
-1C34 ; [.24DE.0020.0002.1C34] # LEPCHA CONSONANT SIGN NYIN-DO
-1C35 ; [.24DF.0020.0002.1C35] # LEPCHA CONSONANT SIGN KANG
-A840 ; [.24E0.0020.0002.A840] # PHAGS-PA LETTER KA
-A841 ; [.24E1.0020.0002.A841] # PHAGS-PA LETTER KHA
-A842 ; [.24E2.0020.0002.A842] # PHAGS-PA LETTER GA
-A843 ; [.24E3.0020.0002.A843] # PHAGS-PA LETTER NGA
-A844 ; [.24E4.0020.0002.A844] # PHAGS-PA LETTER CA
-A845 ; [.24E5.0020.0002.A845] # PHAGS-PA LETTER CHA
-A846 ; [.24E6.0020.0002.A846] # PHAGS-PA LETTER JA
-A847 ; [.24E7.0020.0002.A847] # PHAGS-PA LETTER NYA
-A869 ; [.24E8.0020.0002.A869] # PHAGS-PA LETTER TTA
-A86A ; [.24E9.0020.0002.A86A] # PHAGS-PA LETTER TTHA
-A86B ; [.24EA.0020.0002.A86B] # PHAGS-PA LETTER DDA
-A86C ; [.24EB.0020.0002.A86C] # PHAGS-PA LETTER NNA
-A848 ; [.24EC.0020.0002.A848] # PHAGS-PA LETTER TA
-A849 ; [.24ED.0020.0002.A849] # PHAGS-PA LETTER THA
-A84A ; [.24EE.0020.0002.A84A] # PHAGS-PA LETTER DA
-A84B ; [.24EF.0020.0002.A84B] # PHAGS-PA LETTER NA
-A84C ; [.24F0.0020.0002.A84C] # PHAGS-PA LETTER PA
-A84D ; [.24F1.0020.0002.A84D] # PHAGS-PA LETTER PHA
-A84E ; [.24F2.0020.0002.A84E] # PHAGS-PA LETTER BA
-A84F ; [.24F3.0020.0002.A84F] # PHAGS-PA LETTER MA
-A850 ; [.24F4.0020.0002.A850] # PHAGS-PA LETTER TSA
-A851 ; [.24F5.0020.0002.A851] # PHAGS-PA LETTER TSHA
-A852 ; [.24F6.0020.0002.A852] # PHAGS-PA LETTER DZA
-A853 ; [.24F7.0020.0002.A853] # PHAGS-PA LETTER WA
-A867 ; [.24F8.0020.0002.A867] # PHAGS-PA SUBJOINED LETTER WA
-A854 ; [.24F9.0020.0002.A854] # PHAGS-PA LETTER ZHA
-A855 ; [.24FA.0020.0002.A855] # PHAGS-PA LETTER ZA
-A856 ; [.24FB.0020.0002.A856] # PHAGS-PA LETTER SMALL A
-A857 ; [.24FC.0020.0002.A857] # PHAGS-PA LETTER YA
-A868 ; [.24FD.0020.0002.A868] # PHAGS-PA SUBJOINED LETTER YA
-A86D ; [.24FE.0020.0002.A86D] # PHAGS-PA LETTER ALTERNATE YA
-A858 ; [.24FF.0020.0002.A858] # PHAGS-PA LETTER RA
-A871 ; [.2500.0020.0002.A871] # PHAGS-PA SUBJOINED LETTER RA
-A872 ; [.2501.0020.0002.A872] # PHAGS-PA SUPERFIXED LETTER RA
-A859 ; [.2502.0020.0002.A859] # PHAGS-PA LETTER LA
-A85A ; [.2503.0020.0002.A85A] # PHAGS-PA LETTER SHA
-A86E ; [.2504.0020.0002.A86E] # PHAGS-PA LETTER VOICELESS SHA
-A85B ; [.2505.0020.0002.A85B] # PHAGS-PA LETTER SA
-A85C ; [.2506.0020.0002.A85C] # PHAGS-PA LETTER HA
-A86F ; [.2507.0020.0002.A86F] # PHAGS-PA LETTER VOICED HA
-A870 ; [.2508.0020.0002.A870] # PHAGS-PA LETTER ASPIRATED FA
-A85D ; [.2509.0020.0002.A85D] # PHAGS-PA LETTER A
-A862 ; [.250A.0020.0002.A862] # PHAGS-PA LETTER QA
-A863 ; [.250B.0020.0002.A863] # PHAGS-PA LETTER XA
-A864 ; [.250C.0020.0002.A864] # PHAGS-PA LETTER FA
-A865 ; [.250D.0020.0002.A865] # PHAGS-PA LETTER GGA
-A85E ; [.250E.0020.0002.A85E] # PHAGS-PA LETTER I
-A85F ; [.250F.0020.0002.A85F] # PHAGS-PA LETTER U
-A860 ; [.2510.0020.0002.A860] # PHAGS-PA LETTER E
-A861 ; [.2511.0020.0002.A861] # PHAGS-PA LETTER O
-A866 ; [.2512.0020.0002.A866] # PHAGS-PA LETTER EE
-A873 ; [.2513.0020.0002.A873] # PHAGS-PA LETTER CANDRABINDU
-1900 ; [.2514.0020.0002.1900] # LIMBU VOWEL-CARRIER LETTER
-1901 ; [.2515.0020.0002.1901] # LIMBU LETTER KA
-1902 ; [.2516.0020.0002.1902] # LIMBU LETTER KHA
-1903 ; [.2517.0020.0002.1903] # LIMBU LETTER GA
-1904 ; [.2518.0020.0002.1904] # LIMBU LETTER GHA
-1905 ; [.2519.0020.0002.1905] # LIMBU LETTER NGA
-1906 ; [.251A.0020.0002.1906] # LIMBU LETTER CA
-1907 ; [.251B.0020.0002.1907] # LIMBU LETTER CHA
-1908 ; [.251C.0020.0002.1908] # LIMBU LETTER JA
-1909 ; [.251D.0020.0002.1909] # LIMBU LETTER JHA
-190A ; [.251E.0020.0002.190A] # LIMBU LETTER YAN
-190B ; [.251F.0020.0002.190B] # LIMBU LETTER TA
-190C ; [.2520.0020.0002.190C] # LIMBU LETTER THA
-190D ; [.2521.0020.0002.190D] # LIMBU LETTER DA
-190E ; [.2522.0020.0002.190E] # LIMBU LETTER DHA
-190F ; [.2523.0020.0002.190F] # LIMBU LETTER NA
-1910 ; [.2524.0020.0002.1910] # LIMBU LETTER PA
-1911 ; [.2525.0020.0002.1911] # LIMBU LETTER PHA
-1912 ; [.2526.0020.0002.1912] # LIMBU LETTER BA
-1913 ; [.2527.0020.0002.1913] # LIMBU LETTER BHA
-1914 ; [.2528.0020.0002.1914] # LIMBU LETTER MA
-1915 ; [.2529.0020.0002.1915] # LIMBU LETTER YA
-1916 ; [.252A.0020.0002.1916] # LIMBU LETTER RA
-1917 ; [.252B.0020.0002.1917] # LIMBU LETTER LA
-1918 ; [.252C.0020.0002.1918] # LIMBU LETTER WA
-1919 ; [.252D.0020.0002.1919] # LIMBU LETTER SHA
-191A ; [.252E.0020.0002.191A] # LIMBU LETTER SSA
-191B ; [.252F.0020.0002.191B] # LIMBU LETTER SA
-191C ; [.2530.0020.0002.191C] # LIMBU LETTER HA
-1920 ; [.2531.0020.0002.1920] # LIMBU VOWEL SIGN A
-1921 ; [.2532.0020.0002.1921] # LIMBU VOWEL SIGN I
-1922 ; [.2533.0020.0002.1922] # LIMBU VOWEL SIGN U
-1923 ; [.2534.0020.0002.1923] # LIMBU VOWEL SIGN EE
-1924 ; [.2535.0020.0002.1924] # LIMBU VOWEL SIGN AI
-1925 ; [.2536.0020.0002.1925] # LIMBU VOWEL SIGN OO
-1926 ; [.2537.0020.0002.1926] # LIMBU VOWEL SIGN AU
-1927 ; [.2538.0020.0002.1927] # LIMBU VOWEL SIGN E
-1928 ; [.2539.0020.0002.1928] # LIMBU VOWEL SIGN O
-1929 ; [.253A.0020.0002.1929] # LIMBU SUBJOINED LETTER YA
-192A ; [.253B.0020.0002.192A] # LIMBU SUBJOINED LETTER RA
-192B ; [.253C.0020.0002.192B] # LIMBU SUBJOINED LETTER WA
-1930 ; [.253D.0020.0002.1930] # LIMBU SMALL LETTER KA
-1931 ; [.253E.0020.0002.1931] # LIMBU SMALL LETTER NGA
-1932 ; [.253F.0020.0002.1932] # LIMBU SMALL LETTER ANUSVARA
-1933 ; [.2540.0020.0002.1933] # LIMBU SMALL LETTER TA
-1934 ; [.2541.0020.0002.1934] # LIMBU SMALL LETTER NA
-1935 ; [.2542.0020.0002.1935] # LIMBU SMALL LETTER PA
-1936 ; [.2543.0020.0002.1936] # LIMBU SMALL LETTER MA
-1937 ; [.2544.0020.0002.1937] # LIMBU SMALL LETTER RA
-1938 ; [.2545.0020.0002.1938] # LIMBU SMALL LETTER LA
-1700 ; [.2546.0020.0002.1700] # TAGALOG LETTER A
-1701 ; [.2547.0020.0002.1701] # TAGALOG LETTER I
-1702 ; [.2548.0020.0002.1702] # TAGALOG LETTER U
-1703 ; [.2549.0020.0002.1703] # TAGALOG LETTER KA
-1704 ; [.254A.0020.0002.1704] # TAGALOG LETTER GA
-1705 ; [.254B.0020.0002.1705] # TAGALOG LETTER NGA
-1706 ; [.254C.0020.0002.1706] # TAGALOG LETTER TA
-1707 ; [.254D.0020.0002.1707] # TAGALOG LETTER DA
-1708 ; [.254E.0020.0002.1708] # TAGALOG LETTER NA
-1709 ; [.254F.0020.0002.1709] # TAGALOG LETTER PA
-170A ; [.2550.0020.0002.170A] # TAGALOG LETTER BA
-170B ; [.2551.0020.0002.170B] # TAGALOG LETTER MA
-170C ; [.2552.0020.0002.170C] # TAGALOG LETTER YA
-170E ; [.2553.0020.0002.170E] # TAGALOG LETTER LA
-170F ; [.2554.0020.0002.170F] # TAGALOG LETTER WA
-1710 ; [.2555.0020.0002.1710] # TAGALOG LETTER SA
-1711 ; [.2556.0020.0002.1711] # TAGALOG LETTER HA
-1712 ; [.2557.0020.0002.1712] # TAGALOG VOWEL SIGN I
-1713 ; [.2558.0020.0002.1713] # TAGALOG VOWEL SIGN U
-1714 ; [.2559.0020.0002.1714] # TAGALOG SIGN VIRAMA
-1720 ; [.255A.0020.0002.1720] # HANUNOO LETTER A
-1721 ; [.255B.0020.0002.1721] # HANUNOO LETTER I
-1722 ; [.255C.0020.0002.1722] # HANUNOO LETTER U
-1723 ; [.255D.0020.0002.1723] # HANUNOO LETTER KA
-1724 ; [.255E.0020.0002.1724] # HANUNOO LETTER GA
-1725 ; [.255F.0020.0002.1725] # HANUNOO LETTER NGA
-1726 ; [.2560.0020.0002.1726] # HANUNOO LETTER TA
-1727 ; [.2561.0020.0002.1727] # HANUNOO LETTER DA
-1728 ; [.2562.0020.0002.1728] # HANUNOO LETTER NA
-1729 ; [.2563.0020.0002.1729] # HANUNOO LETTER PA
-172A ; [.2564.0020.0002.172A] # HANUNOO LETTER BA
-172B ; [.2565.0020.0002.172B] # HANUNOO LETTER MA
-172C ; [.2566.0020.0002.172C] # HANUNOO LETTER YA
-172D ; [.2567.0020.0002.172D] # HANUNOO LETTER RA
-172E ; [.2568.0020.0002.172E] # HANUNOO LETTER LA
-172F ; [.2569.0020.0002.172F] # HANUNOO LETTER WA
-1730 ; [.256A.0020.0002.1730] # HANUNOO LETTER SA
-1731 ; [.256B.0020.0002.1731] # HANUNOO LETTER HA
-1732 ; [.256C.0020.0002.1732] # HANUNOO VOWEL SIGN I
-1733 ; [.256D.0020.0002.1733] # HANUNOO VOWEL SIGN U
-1734 ; [.256E.0020.0002.1734] # HANUNOO SIGN PAMUDPOD
-1740 ; [.256F.0020.0002.1740] # BUHID LETTER A
-1741 ; [.2570.0020.0002.1741] # BUHID LETTER I
-1742 ; [.2571.0020.0002.1742] # BUHID LETTER U
-1743 ; [.2572.0020.0002.1743] # BUHID LETTER KA
-1744 ; [.2573.0020.0002.1744] # BUHID LETTER GA
-1745 ; [.2574.0020.0002.1745] # BUHID LETTER NGA
-1746 ; [.2575.0020.0002.1746] # BUHID LETTER TA
-1747 ; [.2576.0020.0002.1747] # BUHID LETTER DA
-1748 ; [.2577.0020.0002.1748] # BUHID LETTER NA
-1749 ; [.2578.0020.0002.1749] # BUHID LETTER PA
-174A ; [.2579.0020.0002.174A] # BUHID LETTER BA
-174B ; [.257A.0020.0002.174B] # BUHID LETTER MA
-174C ; [.257B.0020.0002.174C] # BUHID LETTER YA
-174D ; [.257C.0020.0002.174D] # BUHID LETTER RA
-174E ; [.257D.0020.0002.174E] # BUHID LETTER LA
-174F ; [.257E.0020.0002.174F] # BUHID LETTER WA
-1750 ; [.257F.0020.0002.1750] # BUHID LETTER SA
-1751 ; [.2580.0020.0002.1751] # BUHID LETTER HA
-1752 ; [.2581.0020.0002.1752] # BUHID VOWEL SIGN I
-1753 ; [.2582.0020.0002.1753] # BUHID VOWEL SIGN U
-1760 ; [.2583.0020.0002.1760] # TAGBANWA LETTER A
-1761 ; [.2584.0020.0002.1761] # TAGBANWA LETTER I
-1762 ; [.2585.0020.0002.1762] # TAGBANWA LETTER U
-1763 ; [.2586.0020.0002.1763] # TAGBANWA LETTER KA
-1764 ; [.2587.0020.0002.1764] # TAGBANWA LETTER GA
-1765 ; [.2588.0020.0002.1765] # TAGBANWA LETTER NGA
-1766 ; [.2589.0020.0002.1766] # TAGBANWA LETTER TA
-1767 ; [.258A.0020.0002.1767] # TAGBANWA LETTER DA
-1768 ; [.258B.0020.0002.1768] # TAGBANWA LETTER NA
-1769 ; [.258C.0020.0002.1769] # TAGBANWA LETTER PA
-176A ; [.258D.0020.0002.176A] # TAGBANWA LETTER BA
-176B ; [.258E.0020.0002.176B] # TAGBANWA LETTER MA
-176C ; [.258F.0020.0002.176C] # TAGBANWA LETTER YA
-176E ; [.2590.0020.0002.176E] # TAGBANWA LETTER LA
-176F ; [.2591.0020.0002.176F] # TAGBANWA LETTER WA
-1770 ; [.2592.0020.0002.1770] # TAGBANWA LETTER SA
-1772 ; [.2593.0020.0002.1772] # TAGBANWA VOWEL SIGN I
-1773 ; [.2594.0020.0002.1773] # TAGBANWA VOWEL SIGN U
-1A00 ; [.2595.0020.0002.1A00] # BUGINESE LETTER KA
-1A01 ; [.2596.0020.0002.1A01] # BUGINESE LETTER GA
-1A02 ; [.2597.0020.0002.1A02] # BUGINESE LETTER NGA
-1A03 ; [.2598.0020.0002.1A03] # BUGINESE LETTER NGKA
-1A04 ; [.2599.0020.0002.1A04] # BUGINESE LETTER PA
-1A05 ; [.259A.0020.0002.1A05] # BUGINESE LETTER BA
-1A06 ; [.259B.0020.0002.1A06] # BUGINESE LETTER MA
-1A07 ; [.259C.0020.0002.1A07] # BUGINESE LETTER MPA
-1A08 ; [.259D.0020.0002.1A08] # BUGINESE LETTER TA
-1A09 ; [.259E.0020.0002.1A09] # BUGINESE LETTER DA
-1A0A ; [.259F.0020.0002.1A0A] # BUGINESE LETTER NA
-1A0B ; [.25A0.0020.0002.1A0B] # BUGINESE LETTER NRA
-1A0C ; [.25A1.0020.0002.1A0C] # BUGINESE LETTER CA
-1A0D ; [.25A2.0020.0002.1A0D] # BUGINESE LETTER JA
-1A0E ; [.25A3.0020.0002.1A0E] # BUGINESE LETTER NYA
-1A0F ; [.25A4.0020.0002.1A0F] # BUGINESE LETTER NYCA
-1A10 ; [.25A5.0020.0002.1A10] # BUGINESE LETTER YA
-1A11 ; [.25A6.0020.0002.1A11] # BUGINESE LETTER RA
-1A12 ; [.25A7.0020.0002.1A12] # BUGINESE LETTER LA
-1A13 ; [.25A8.0020.0002.1A13] # BUGINESE LETTER VA
-1A14 ; [.25A9.0020.0002.1A14] # BUGINESE LETTER SA
-1A15 ; [.25AA.0020.0002.1A15] # BUGINESE LETTER A
-1A16 ; [.25AB.0020.0002.1A16] # BUGINESE LETTER HA
-1A17 ; [.25AC.0020.0002.1A17] # BUGINESE VOWEL SIGN I
-1A18 ; [.25AD.0020.0002.1A18] # BUGINESE VOWEL SIGN U
-1A19 ; [.25AE.0020.0002.1A19] # BUGINESE VOWEL SIGN E
-1A1A ; [.25AF.0020.0002.1A1A] # BUGINESE VOWEL SIGN O
-1A1B ; [.25B0.0020.0002.1A1B] # BUGINESE VOWEL SIGN AE
-1BC0 ; [.25B1.0020.0002.1BC0] # BATAK LETTER A
-1BC1 ; [.25B1.0020.0004.1BC1] # BATAK LETTER SIMALUNGUN A; QQK
-1BC2 ; [.25B2.0020.0002.1BC2] # BATAK LETTER HA
-1BC3 ; [.25B2.0020.0004.1BC3] # BATAK LETTER SIMALUNGUN HA; QQK
-1BC4 ; [.25B2.0020.0004.1BC4] # BATAK LETTER MANDAILING HA; QQK
-1BC5 ; [.25B3.0020.0002.1BC5] # BATAK LETTER BA
-1BC6 ; [.25B3.0020.0004.1BC6] # BATAK LETTER KARO BA; QQK
-1BC7 ; [.25B4.0020.0002.1BC7] # BATAK LETTER PA
-1BC8 ; [.25B4.0020.0004.1BC8] # BATAK LETTER SIMALUNGUN PA; QQK
-1BC9 ; [.25B5.0020.0002.1BC9] # BATAK LETTER NA
-1BCA ; [.25B5.0020.0004.1BCA] # BATAK LETTER MANDAILING NA; QQK
-1BCB ; [.25B6.0020.0002.1BCB] # BATAK LETTER WA
-1BCC ; [.25B6.0020.0004.1BCC] # BATAK LETTER SIMALUNGUN WA; QQK
-1BCD ; [.25B6.0020.0004.1BCD] # BATAK LETTER PAKPAK WA; QQK
-1BCE ; [.25B7.0020.0002.1BCE] # BATAK LETTER GA
-1BCF ; [.25B7.0020.0004.1BCF] # BATAK LETTER SIMALUNGUN GA; QQK
-1BD0 ; [.25B8.0020.0002.1BD0] # BATAK LETTER JA
-1BD1 ; [.25B9.0020.0002.1BD1] # BATAK LETTER DA
-1BD2 ; [.25BA.0020.0002.1BD2] # BATAK LETTER RA
-1BD3 ; [.25BA.0020.0004.1BD3] # BATAK LETTER SIMALUNGUN RA; QQK
-1BD4 ; [.25BB.0020.0002.1BD4] # BATAK LETTER MA
-1BD5 ; [.25BB.0020.0004.1BD5] # BATAK LETTER SIMALUNGUN MA; QQK
-1BD6 ; [.25BC.0020.0002.1BD6] # BATAK LETTER SOUTHERN TA
-1BD7 ; [.25BC.0020.0004.1BD7] # BATAK LETTER NORTHERN TA; QQK
-1BD8 ; [.25BD.0020.0002.1BD8] # BATAK LETTER SA
-1BD9 ; [.25BD.0020.0004.1BD9] # BATAK LETTER SIMALUNGUN SA; QQK
-1BDA ; [.25BD.0020.0004.1BDA] # BATAK LETTER MANDAILING SA; QQK
-1BDB ; [.25BE.0020.0002.1BDB] # BATAK LETTER YA
-1BDC ; [.25BE.0020.0004.1BDC] # BATAK LETTER SIMALUNGUN YA; QQK
-1BDD ; [.25BF.0020.0002.1BDD] # BATAK LETTER NGA
-1BDE ; [.25C0.0020.0002.1BDE] # BATAK LETTER LA
-1BDF ; [.25C0.0020.0004.1BDF] # BATAK LETTER SIMALUNGUN LA; QQK
-1BE0 ; [.25C1.0020.0002.1BE0] # BATAK LETTER NYA
-1BE1 ; [.25C2.0020.0002.1BE1] # BATAK LETTER CA
-1BE2 ; [.25C3.0020.0002.1BE2] # BATAK LETTER NDA
-1BE3 ; [.25C4.0020.0002.1BE3] # BATAK LETTER MBA
-1BE4 ; [.25C5.0020.0002.1BE4] # BATAK LETTER I
-1BE5 ; [.25C6.0020.0002.1BE5] # BATAK LETTER U
-1BE7 ; [.25C7.0020.0002.1BE7] # BATAK VOWEL SIGN E
-1BE8 ; [.25C7.0020.0004.1BE8] # BATAK VOWEL SIGN PAKPAK E; QQK
-1BE9 ; [.25C8.0020.0002.1BE9] # BATAK VOWEL SIGN EE
-1BEA ; [.25C9.0020.0002.1BEA] # BATAK VOWEL SIGN I
-1BEB ; [.25C9.0020.0004.1BEB] # BATAK VOWEL SIGN KARO I; QQK
-1BEC ; [.25CA.0020.0002.1BEC] # BATAK VOWEL SIGN O
-1BED ; [.25CA.0020.0004.1BED] # BATAK VOWEL SIGN KARO O; QQK
-1BEE ; [.25CB.0020.0002.1BEE] # BATAK VOWEL SIGN U
-1BEF ; [.25CB.0020.0004.1BEF] # BATAK VOWEL SIGN U FOR SIMALUNGUN SA; QQK
-1BF0 ; [.25CC.0020.0002.1BF0] # BATAK CONSONANT SIGN NG
-1BF1 ; [.25CD.0020.0002.1BF1] # BATAK CONSONANT SIGN H
-1BF2 ; [.25CE.0020.0002.1BF2] # BATAK PANGOLAT
-1BF3 ; [.25CF.0020.0002.1BF3] # BATAK PANONGONAN
-A930 ; [.25D0.0020.0002.A930] # REJANG LETTER KA
-A931 ; [.25D1.0020.0002.A931] # REJANG LETTER GA
-A932 ; [.25D2.0020.0002.A932] # REJANG LETTER NGA
-A933 ; [.25D3.0020.0002.A933] # REJANG LETTER TA
-A934 ; [.25D4.0020.0002.A934] # REJANG LETTER DA
-A935 ; [.25D5.0020.0002.A935] # REJANG LETTER NA
-A936 ; [.25D6.0020.0002.A936] # REJANG LETTER PA
-A937 ; [.25D7.0020.0002.A937] # REJANG LETTER BA
-A938 ; [.25D8.0020.0002.A938] # REJANG LETTER MA
-A939 ; [.25D9.0020.0002.A939] # REJANG LETTER CA
-A93A ; [.25DA.0020.0002.A93A] # REJANG LETTER JA
-A93B ; [.25DB.0020.0002.A93B] # REJANG LETTER NYA
-A93C ; [.25DC.0020.0002.A93C] # REJANG LETTER SA
-A93D ; [.25DD.0020.0002.A93D] # REJANG LETTER RA
-A93E ; [.25DE.0020.0002.A93E] # REJANG LETTER LA
-A93F ; [.25DF.0020.0002.A93F] # REJANG LETTER YA
-A940 ; [.25E0.0020.0002.A940] # REJANG LETTER WA
-A941 ; [.25E1.0020.0002.A941] # REJANG LETTER HA
-A942 ; [.25E2.0020.0002.A942] # REJANG LETTER MBA
-A943 ; [.25E3.0020.0002.A943] # REJANG LETTER NGGA
-A944 ; [.25E4.0020.0002.A944] # REJANG LETTER NDA
-A945 ; [.25E5.0020.0002.A945] # REJANG LETTER NYJA
-A946 ; [.25E6.0020.0002.A946] # REJANG LETTER A
-A947 ; [.25E7.0020.0002.A947] # REJANG VOWEL SIGN I
-A948 ; [.25E8.0020.0002.A948] # REJANG VOWEL SIGN U
-A949 ; [.25E9.0020.0002.A949] # REJANG VOWEL SIGN E
-A94A ; [.25EA.0020.0002.A94A] # REJANG VOWEL SIGN AI
-A94B ; [.25EB.0020.0002.A94B] # REJANG VOWEL SIGN O
-A94C ; [.25EC.0020.0002.A94C] # REJANG VOWEL SIGN AU
-A94D ; [.25ED.0020.0002.A94D] # REJANG VOWEL SIGN EU
-A94E ; [.25EE.0020.0002.A94E] # REJANG VOWEL SIGN EA
-A94F ; [.25EF.0020.0002.A94F] # REJANG CONSONANT SIGN NG
-A950 ; [.25F0.0020.0002.A950] # REJANG CONSONANT SIGN N
-A951 ; [.25F1.0020.0002.A951] # REJANG CONSONANT SIGN R
-A952 ; [.25F2.0020.0002.A952] # REJANG CONSONANT SIGN H
-A953 ; [.25F3.0020.0002.A953] # REJANG VIRAMA
-A90A ; [.25F4.0020.0002.A90A] # KAYAH LI LETTER KA
-A90B ; [.25F5.0020.0002.A90B] # KAYAH LI LETTER KHA
-A90C ; [.25F6.0020.0002.A90C] # KAYAH LI LETTER GA
-A90D ; [.25F7.0020.0002.A90D] # KAYAH LI LETTER NGA
-A90E ; [.25F8.0020.0002.A90E] # KAYAH LI LETTER SA
-A90F ; [.25F9.0020.0002.A90F] # KAYAH LI LETTER SHA
-A910 ; [.25FA.0020.0002.A910] # KAYAH LI LETTER ZA
-A911 ; [.25FB.0020.0002.A911] # KAYAH LI LETTER NYA
-A912 ; [.25FC.0020.0002.A912] # KAYAH LI LETTER TA
-A913 ; [.25FD.0020.0002.A913] # KAYAH LI LETTER HTA
-A914 ; [.25FE.0020.0002.A914] # KAYAH LI LETTER NA
-A915 ; [.25FF.0020.0002.A915] # KAYAH LI LETTER PA
-A916 ; [.2600.0020.0002.A916] # KAYAH LI LETTER PHA
-A917 ; [.2601.0020.0002.A917] # KAYAH LI LETTER MA
-A918 ; [.2602.0020.0002.A918] # KAYAH LI LETTER DA
-A919 ; [.2603.0020.0002.A919] # KAYAH LI LETTER BA
-A91A ; [.2604.0020.0002.A91A] # KAYAH LI LETTER RA
-A91B ; [.2605.0020.0002.A91B] # KAYAH LI LETTER YA
-A91C ; [.2606.0020.0002.A91C] # KAYAH LI LETTER LA
-A91D ; [.2607.0020.0002.A91D] # KAYAH LI LETTER WA
-A91E ; [.2608.0020.0002.A91E] # KAYAH LI LETTER THA
-A91F ; [.2609.0020.0002.A91F] # KAYAH LI LETTER HA
-A920 ; [.260A.0020.0002.A920] # KAYAH LI LETTER VA
-A921 ; [.260B.0020.0002.A921] # KAYAH LI LETTER CA
-A922 ; [.260C.0020.0002.A922] # KAYAH LI LETTER A
-A923 ; [.260D.0020.0002.A923] # KAYAH LI LETTER OE
-A924 ; [.260E.0020.0002.A924] # KAYAH LI LETTER I
-A925 ; [.260F.0020.0002.A925] # KAYAH LI LETTER OO
-A926 ; [.2610.0020.0002.A926] # KAYAH LI VOWEL UE
-A927 ; [.2611.0020.0002.A927] # KAYAH LI VOWEL E
-A928 ; [.2612.0020.0002.A928] # KAYAH LI VOWEL U
-A929 ; [.2613.0020.0002.A929] # KAYAH LI VOWEL EE
-A92A ; [.2614.0020.0002.A92A] # KAYAH LI VOWEL O
-1000 ; [.2615.0020.0002.1000] # MYANMAR LETTER KA
-1075 ; [.2616.0020.0002.1075] # MYANMAR LETTER SHAN KA
-1001 ; [.2617.0020.0002.1001] # MYANMAR LETTER KHA
-1076 ; [.2618.0020.0002.1076] # MYANMAR LETTER SHAN KHA
-1002 ; [.2619.0020.0002.1002] # MYANMAR LETTER GA
-1077 ; [.261A.0020.0002.1077] # MYANMAR LETTER SHAN GA
-AA60 ; [.261B.0020.0002.AA60] # MYANMAR LETTER KHAMTI GA
-1003 ; [.261C.0020.0002.1003] # MYANMAR LETTER GHA
-1004 ; [.261D.0020.0002.1004] # MYANMAR LETTER NGA
-105A ; [.261E.0020.0002.105A] # MYANMAR LETTER MON NGA
-1005 ; [.261F.0020.0002.1005] # MYANMAR LETTER CA
-1078 ; [.2620.0020.0002.1078] # MYANMAR LETTER SHAN CA
-AA61 ; [.2621.0020.0002.AA61] # MYANMAR LETTER KHAMTI CA
-1006 ; [.2622.0020.0002.1006] # MYANMAR LETTER CHA
-AA62 ; [.2623.0020.0002.AA62] # MYANMAR LETTER KHAMTI CHA
-1007 ; [.2624.0020.0002.1007] # MYANMAR LETTER JA
-AA63 ; [.2625.0020.0002.AA63] # MYANMAR LETTER KHAMTI JA
-1079 ; [.2626.0020.0002.1079] # MYANMAR LETTER SHAN ZA
-AA72 ; [.2627.0020.0002.AA72] # MYANMAR LETTER KHAMTI ZA
-1008 ; [.2628.0020.0002.1008] # MYANMAR LETTER JHA
-105B ; [.2629.0020.0002.105B] # MYANMAR LETTER MON JHA
-AA64 ; [.262A.0020.0002.AA64] # MYANMAR LETTER KHAMTI JHA
-1061 ; [.262B.0020.0002.1061] # MYANMAR LETTER SGAW KAREN SHA
-1009 ; [.262C.0020.0002.1009] # MYANMAR LETTER NYA
-107A ; [.262D.0020.0002.107A] # MYANMAR LETTER SHAN NYA
-AA65 ; [.262E.0020.0002.AA65] # MYANMAR LETTER KHAMTI NYA
-100A ; [.262F.0020.0002.100A] # MYANMAR LETTER NNYA
-100B ; [.2630.0020.0002.100B] # MYANMAR LETTER TTA
-AA66 ; [.2631.0020.0002.AA66] # MYANMAR LETTER KHAMTI TTA
-100C ; [.2632.0020.0002.100C] # MYANMAR LETTER TTHA
-AA67 ; [.2633.0020.0002.AA67] # MYANMAR LETTER KHAMTI TTHA
-100D ; [.2634.0020.0002.100D] # MYANMAR LETTER DDA
-AA68 ; [.2635.0020.0002.AA68] # MYANMAR LETTER KHAMTI DDA
-100E ; [.2636.0020.0002.100E] # MYANMAR LETTER DDHA
-AA69 ; [.2637.0020.0002.AA69] # MYANMAR LETTER KHAMTI DDHA
-100F ; [.2638.0020.0002.100F] # MYANMAR LETTER NNA
-106E ; [.2639.0020.0002.106E] # MYANMAR LETTER EASTERN PWO KAREN NNA
-1010 ; [.263A.0020.0002.1010] # MYANMAR LETTER TA
-1011 ; [.263B.0020.0002.1011] # MYANMAR LETTER THA
-1012 ; [.263C.0020.0002.1012] # MYANMAR LETTER DA
-107B ; [.263D.0020.0002.107B] # MYANMAR LETTER SHAN DA
-1013 ; [.263E.0020.0002.1013] # MYANMAR LETTER DHA
-AA6A ; [.263F.0020.0002.AA6A] # MYANMAR LETTER KHAMTI DHA
-1014 ; [.2640.0020.0002.1014] # MYANMAR LETTER NA
-107C ; [.2641.0020.0002.107C] # MYANMAR LETTER SHAN NA
-AA6B ; [.2642.0020.0002.AA6B] # MYANMAR LETTER KHAMTI NA
-105E ; [.2643.0020.0002.105E] # MYANMAR CONSONANT SIGN MON MEDIAL NA
-1015 ; [.2644.0020.0002.1015] # MYANMAR LETTER PA
-1016 ; [.2645.0020.0002.1016] # MYANMAR LETTER PHA
-107D ; [.2646.0020.0002.107D] # MYANMAR LETTER SHAN PHA
-107E ; [.2647.0020.0002.107E] # MYANMAR LETTER SHAN FA
-AA6F ; [.2648.0020.0002.AA6F] # MYANMAR LETTER KHAMTI FA
-108E ; [.2649.0020.0002.108E] # MYANMAR LETTER RUMAI PALAUNG FA
-1017 ; [.264A.0020.0002.1017] # MYANMAR LETTER BA
-107F ; [.264B.0020.0002.107F] # MYANMAR LETTER SHAN BA
-1018 ; [.264C.0020.0002.1018] # MYANMAR LETTER BHA
-1019 ; [.264D.0020.0002.1019] # MYANMAR LETTER MA
-105F ; [.264E.0020.0002.105F] # MYANMAR CONSONANT SIGN MON MEDIAL MA
-101A ; [.264F.0020.0002.101A] # MYANMAR LETTER YA
-103B ; [.2650.0020.0002.103B] # MYANMAR CONSONANT SIGN MEDIAL YA
-101B ; [.2651.0020.0002.101B] # MYANMAR LETTER RA
-AA73 ; [.2652.0020.0002.AA73] # MYANMAR LETTER KHAMTI RA
-AA7A ; [.2653.0020.0002.AA7A] # MYANMAR LETTER AITON RA
-103C ; [.2654.0020.0002.103C] # MYANMAR CONSONANT SIGN MEDIAL RA
-101C ; [.2655.0020.0002.101C] # MYANMAR LETTER LA
-1060 ; [.2656.0020.0002.1060] # MYANMAR CONSONANT SIGN MON MEDIAL LA
-101D ; [.2657.0020.0002.101D] # MYANMAR LETTER WA
-103D ; [.2658.0020.0002.103D] # MYANMAR CONSONANT SIGN MEDIAL WA
-1082 ; [.2659.0020.0002.1082] # MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1080 ; [.265A.0020.0002.1080] # MYANMAR LETTER SHAN THA
-1050 ; [.265B.0020.0002.1050] # MYANMAR LETTER SHA
-1051 ; [.265C.0020.0002.1051] # MYANMAR LETTER SSA
-1065 ; [.265D.0020.0002.1065] # MYANMAR LETTER WESTERN PWO KAREN THA
-101E ; [.265E.0020.0002.101E] # MYANMAR LETTER SA
-103F ; [.265E.0020.0004.103F][.2695.0020.0004.103F][.265E.0020.001F.103F] # MYANMAR LETTER GREAT SA; QQKN
-AA6C ; [.265F.0020.0002.AA6C] # MYANMAR LETTER KHAMTI SA
-101F ; [.2660.0020.0002.101F] # MYANMAR LETTER HA
-1081 ; [.2661.0020.0002.1081] # MYANMAR LETTER SHAN HA
-AA6D ; [.2662.0020.0002.AA6D] # MYANMAR LETTER KHAMTI HA
-103E ; [.2663.0020.0002.103E] # MYANMAR CONSONANT SIGN MEDIAL HA
-AA6E ; [.2664.0020.0002.AA6E] # MYANMAR LETTER KHAMTI HHA
-AA71 ; [.2665.0020.0002.AA71] # MYANMAR LETTER KHAMTI XA
-1020 ; [.2666.0020.0002.1020] # MYANMAR LETTER LLA
-105C ; [.2667.0020.0002.105C] # MYANMAR LETTER MON BBA
-105D ; [.2668.0020.0002.105D] # MYANMAR LETTER MON BBE
-106F ; [.2669.0020.0002.106F] # MYANMAR LETTER EASTERN PWO KAREN YWA
-1070 ; [.266A.0020.0002.1070] # MYANMAR LETTER EASTERN PWO KAREN GHWA
-1066 ; [.266B.0020.0002.1066] # MYANMAR LETTER WESTERN PWO KAREN PWA
-1021 ; [.266C.0020.0002.1021] # MYANMAR LETTER A
-1022 ; [.266D.0020.0002.1022] # MYANMAR LETTER SHAN A
-1023 ; [.266E.0020.0002.1023] # MYANMAR LETTER I
-1024 ; [.266F.0020.0002.1024] # MYANMAR LETTER II
-1025 ; [.2670.0020.0002.1025] # MYANMAR LETTER U
-1026 ; [.2671.0020.0002.1026] # MYANMAR LETTER UU
-1025 102E ; [.2671.0020.0002.1026] # MYANMAR LETTER UU
-1052 ; [.2672.0020.0002.1052] # MYANMAR LETTER VOCALIC R
-1053 ; [.2673.0020.0002.1053] # MYANMAR LETTER VOCALIC RR
-1054 ; [.2674.0020.0002.1054] # MYANMAR LETTER VOCALIC L
-1055 ; [.2675.0020.0002.1055] # MYANMAR LETTER VOCALIC LL
-1027 ; [.2676.0020.0002.1027] # MYANMAR LETTER E
-1028 ; [.2677.0020.0002.1028] # MYANMAR LETTER MON E
-1029 ; [.2678.0020.0002.1029] # MYANMAR LETTER O
-102A ; [.2679.0020.0002.102A] # MYANMAR LETTER AU
-102C ; [.267A.0020.0002.102C] # MYANMAR VOWEL SIGN AA
-102B ; [.267A.0020.0004.102B] # MYANMAR VOWEL SIGN TALL AA; QQK
-1083 ; [.267B.0020.0002.1083] # MYANMAR VOWEL SIGN SHAN AA
-1072 ; [.267C.0020.0002.1072] # MYANMAR VOWEL SIGN KAYAH OE
-109C ; [.267D.0020.0002.109C] # MYANMAR VOWEL SIGN AITON A
-102D ; [.267E.0020.0002.102D] # MYANMAR VOWEL SIGN I
-1071 ; [.267F.0020.0002.1071] # MYANMAR VOWEL SIGN GEBA KAREN I
-102E ; [.2680.0020.0002.102E] # MYANMAR VOWEL SIGN II
-1033 ; [.2681.0020.0002.1033] # MYANMAR VOWEL SIGN MON II
-102F ; [.2682.0020.0002.102F] # MYANMAR VOWEL SIGN U
-1073 ; [.2683.0020.0002.1073] # MYANMAR VOWEL SIGN KAYAH U
-1074 ; [.2684.0020.0002.1074] # MYANMAR VOWEL SIGN KAYAH EE
-1030 ; [.2685.0020.0002.1030] # MYANMAR VOWEL SIGN UU
-1056 ; [.2686.0020.0002.1056] # MYANMAR VOWEL SIGN VOCALIC R
-1057 ; [.2687.0020.0002.1057] # MYANMAR VOWEL SIGN VOCALIC RR
-1058 ; [.2688.0020.0002.1058] # MYANMAR VOWEL SIGN VOCALIC L
-1059 ; [.2689.0020.0002.1059] # MYANMAR VOWEL SIGN VOCALIC LL
-1031 ; [.268A.0020.0002.1031] # MYANMAR VOWEL SIGN E
-1084 ; [.268B.0020.0002.1084] # MYANMAR VOWEL SIGN SHAN E
-1035 ; [.268C.0020.0002.1035] # MYANMAR VOWEL SIGN E ABOVE
-1085 ; [.268D.0020.0002.1085] # MYANMAR VOWEL SIGN SHAN E ABOVE
-1032 ; [.268E.0020.0002.1032] # MYANMAR VOWEL SIGN AI
-109D ; [.268F.0020.0002.109D] # MYANMAR VOWEL SIGN AITON AI
-1034 ; [.2690.0020.0002.1034] # MYANMAR VOWEL SIGN MON O
-1062 ; [.2691.0020.0002.1062] # MYANMAR VOWEL SIGN SGAW KAREN EU
-1067 ; [.2692.0020.0002.1067] # MYANMAR VOWEL SIGN WESTERN PWO KAREN EU
-1068 ; [.2693.0020.0002.1068] # MYANMAR VOWEL SIGN WESTERN PWO KAREN UE
-1086 ; [.2694.0020.0002.1086] # MYANMAR VOWEL SIGN SHAN FINAL Y
-1039 ; [.2695.0020.0002.1039] # MYANMAR SIGN VIRAMA
-103A ; [.2696.0020.0002.103A] # MYANMAR SIGN ASAT
-1063 ; [.2697.0020.0002.1063] # MYANMAR TONE MARK SGAW KAREN HATHI
-1064 ; [.2698.0020.0002.1064] # MYANMAR TONE MARK SGAW KAREN KE PHO
-1069 ; [.2699.0020.0002.1069] # MYANMAR SIGN WESTERN PWO KAREN TONE-1
-106A ; [.269A.0020.0002.106A] # MYANMAR SIGN WESTERN PWO KAREN TONE-2
-106B ; [.269B.0020.0002.106B] # MYANMAR SIGN WESTERN PWO KAREN TONE-3
-106C ; [.269C.0020.0002.106C] # MYANMAR SIGN WESTERN PWO KAREN TONE-4
-106D ; [.269D.0020.0002.106D] # MYANMAR SIGN WESTERN PWO KAREN TONE-5
-1087 ; [.269E.0020.0002.1087] # MYANMAR SIGN SHAN TONE-2
-108B ; [.269F.0020.0002.108B] # MYANMAR SIGN SHAN COUNCIL TONE-2
-1088 ; [.26A0.0020.0002.1088] # MYANMAR SIGN SHAN TONE-3
-108C ; [.26A1.0020.0002.108C] # MYANMAR SIGN SHAN COUNCIL TONE-3
-1089 ; [.26A2.0020.0002.1089] # MYANMAR SIGN SHAN TONE-5
-108A ; [.26A3.0020.0002.108A] # MYANMAR SIGN SHAN TONE-6
-108F ; [.26A4.0020.0002.108F] # MYANMAR SIGN RUMAI PALAUNG TONE-5
-109A ; [.26A5.0020.0002.109A] # MYANMAR SIGN KHAMTI TONE-1
-109B ; [.26A6.0020.0002.109B] # MYANMAR SIGN KHAMTI TONE-3
-AA7B ; [.26A7.0020.0002.AA7B] # MYANMAR SIGN PAO KAREN TONE
-AA74 ; [.26A8.0020.0002.AA74] # MYANMAR LOGOGRAM KHAMTI OAY
-AA75 ; [.26A9.0020.0002.AA75] # MYANMAR LOGOGRAM KHAMTI QN
-AA76 ; [.26AA.0020.0002.AA76] # MYANMAR LOGOGRAM KHAMTI HM
-1780 ; [.26AB.0020.0002.1780] # KHMER LETTER KA
-1781 ; [.26AC.0020.0002.1781] # KHMER LETTER KHA
-1782 ; [.26AD.0020.0002.1782] # KHMER LETTER KO
-1783 ; [.26AE.0020.0002.1783] # KHMER LETTER KHO
-1784 ; [.26AF.0020.0002.1784] # KHMER LETTER NGO
-1785 ; [.26B0.0020.0002.1785] # KHMER LETTER CA
-1786 ; [.26B1.0020.0002.1786] # KHMER LETTER CHA
-1787 ; [.26B2.0020.0002.1787] # KHMER LETTER CO
-1788 ; [.26B3.0020.0002.1788] # KHMER LETTER CHO
-1789 ; [.26B4.0020.0002.1789] # KHMER LETTER NYO
-178A ; [.26B5.0020.0002.178A] # KHMER LETTER DA
-178B ; [.26B6.0020.0002.178B] # KHMER LETTER TTHA
-178C ; [.26B7.0020.0002.178C] # KHMER LETTER DO
-178D ; [.26B8.0020.0002.178D] # KHMER LETTER TTHO
-178E ; [.26B9.0020.0002.178E] # KHMER LETTER NNO
-178F ; [.26BA.0020.0002.178F] # KHMER LETTER TA
-1790 ; [.26BB.0020.0002.1790] # KHMER LETTER THA
-1791 ; [.26BC.0020.0002.1791] # KHMER LETTER TO
-1792 ; [.26BD.0020.0002.1792] # KHMER LETTER THO
-1793 ; [.26BE.0020.0002.1793] # KHMER LETTER NO
-1794 ; [.26BF.0020.0002.1794] # KHMER LETTER BA
-1795 ; [.26C0.0020.0002.1795] # KHMER LETTER PHA
-1796 ; [.26C1.0020.0002.1796] # KHMER LETTER PO
-1797 ; [.26C2.0020.0002.1797] # KHMER LETTER PHO
-1798 ; [.26C3.0020.0002.1798] # KHMER LETTER MO
-1799 ; [.26C4.0020.0002.1799] # KHMER LETTER YO
-179A ; [.26C5.0020.0002.179A] # KHMER LETTER RO
-179B ; [.26C6.0020.0002.179B] # KHMER LETTER LO
-179C ; [.26C7.0020.0002.179C] # KHMER LETTER VO
-179D ; [.26C8.0020.0002.179D] # KHMER LETTER SHA
-179E ; [.26C9.0020.0002.179E] # KHMER LETTER SSO
-179F ; [.26CA.0020.0002.179F] # KHMER LETTER SA
-17A0 ; [.26CB.0020.0002.17A0] # KHMER LETTER HA
-17A1 ; [.26CC.0020.0002.17A1] # KHMER LETTER LA
-17A2 ; [.26CD.0020.0002.17A2] # KHMER LETTER QA
-17DC ; [.26CE.0020.0002.17DC] # KHMER SIGN AVAKRAHASANYA
-17A3 ; [.26CF.0020.0002.17A3] # KHMER INDEPENDENT VOWEL QAQ
-17A4 ; [.26D0.0020.0002.17A4] # KHMER INDEPENDENT VOWEL QAA
-17A5 ; [.26D1.0020.0002.17A5] # KHMER INDEPENDENT VOWEL QI
-17A6 ; [.26D2.0020.0002.17A6] # KHMER INDEPENDENT VOWEL QII
-17A7 ; [.26D3.0020.0002.17A7] # KHMER INDEPENDENT VOWEL QU
-17A8 ; [.26D4.0020.0002.17A8] # KHMER INDEPENDENT VOWEL QUK
-17A9 ; [.26D5.0020.0002.17A9] # KHMER INDEPENDENT VOWEL QUU
-17AA ; [.26D6.0020.0002.17AA] # KHMER INDEPENDENT VOWEL QUUV
-17AB ; [.26D7.0020.0002.17AB] # KHMER INDEPENDENT VOWEL RY
-17AC ; [.26D8.0020.0002.17AC] # KHMER INDEPENDENT VOWEL RYY
-17AD ; [.26D9.0020.0002.17AD] # KHMER INDEPENDENT VOWEL LY
-17AE ; [.26DA.0020.0002.17AE] # KHMER INDEPENDENT VOWEL LYY
-17AF ; [.26DB.0020.0002.17AF] # KHMER INDEPENDENT VOWEL QE
-17B0 ; [.26DC.0020.0002.17B0] # KHMER INDEPENDENT VOWEL QAI
-17B1 ; [.26DD.0020.0002.17B1] # KHMER INDEPENDENT VOWEL QOO TYPE ONE
-17B2 ; [.26DE.0020.0002.17B2] # KHMER INDEPENDENT VOWEL QOO TYPE TWO
-17B3 ; [.26DF.0020.0002.17B3] # KHMER INDEPENDENT VOWEL QAU
-17B4 ; [.26E0.0020.0002.17B4] # KHMER VOWEL INHERENT AQ
-17B5 ; [.26E1.0020.0002.17B5] # KHMER VOWEL INHERENT AA
-17B6 ; [.26E2.0020.0002.17B6] # KHMER VOWEL SIGN AA
-17B7 ; [.26E3.0020.0002.17B7] # KHMER VOWEL SIGN I
-17B8 ; [.26E4.0020.0002.17B8] # KHMER VOWEL SIGN II
-17B9 ; [.26E5.0020.0002.17B9] # KHMER VOWEL SIGN Y
-17BA ; [.26E6.0020.0002.17BA] # KHMER VOWEL SIGN YY
-17BB ; [.26E7.0020.0002.17BB] # KHMER VOWEL SIGN U
-17BC ; [.26E8.0020.0002.17BC] # KHMER VOWEL SIGN UU
-17BD ; [.26E9.0020.0002.17BD] # KHMER VOWEL SIGN UA
-17BE ; [.26EA.0020.0002.17BE] # KHMER VOWEL SIGN OE
-17BF ; [.26EB.0020.0002.17BF] # KHMER VOWEL SIGN YA
-17C0 ; [.26EC.0020.0002.17C0] # KHMER VOWEL SIGN IE
-17C1 ; [.26ED.0020.0002.17C1] # KHMER VOWEL SIGN E
-17C2 ; [.26EE.0020.0002.17C2] # KHMER VOWEL SIGN AE
-17C3 ; [.26EF.0020.0002.17C3] # KHMER VOWEL SIGN AI
-17C4 ; [.26F0.0020.0002.17C4] # KHMER VOWEL SIGN OO
-17C5 ; [.26F1.0020.0002.17C5] # KHMER VOWEL SIGN AU
-17D2 ; [.26F2.0020.0002.17D2] # KHMER SIGN COENG
-1950 ; [.26F3.0020.0002.1950] # TAI LE LETTER KA
-1951 ; [.26F4.0020.0002.1951] # TAI LE LETTER XA
-1952 ; [.26F5.0020.0002.1952] # TAI LE LETTER NGA
-1953 ; [.26F6.0020.0002.1953] # TAI LE LETTER TSA
-1954 ; [.26F7.0020.0002.1954] # TAI LE LETTER SA
-1955 ; [.26F8.0020.0002.1955] # TAI LE LETTER YA
-1956 ; [.26F9.0020.0002.1956] # TAI LE LETTER TA
-1957 ; [.26FA.0020.0002.1957] # TAI LE LETTER THA
-1958 ; [.26FB.0020.0002.1958] # TAI LE LETTER LA
-1959 ; [.26FC.0020.0002.1959] # TAI LE LETTER PA
-195A ; [.26FD.0020.0002.195A] # TAI LE LETTER PHA
-195B ; [.26FE.0020.0002.195B] # TAI LE LETTER MA
-195C ; [.26FF.0020.0002.195C] # TAI LE LETTER FA
-195D ; [.2700.0020.0002.195D] # TAI LE LETTER VA
-195E ; [.2701.0020.0002.195E] # TAI LE LETTER HA
-195F ; [.2702.0020.0002.195F] # TAI LE LETTER QA
-1960 ; [.2703.0020.0002.1960] # TAI LE LETTER KHA
-1961 ; [.2704.0020.0002.1961] # TAI LE LETTER TSHA
-1962 ; [.2705.0020.0002.1962] # TAI LE LETTER NA
-1963 ; [.2706.0020.0002.1963] # TAI LE LETTER A
-1964 ; [.2707.0020.0002.1964] # TAI LE LETTER I
-1965 ; [.2708.0020.0002.1965] # TAI LE LETTER EE
-1966 ; [.2709.0020.0002.1966] # TAI LE LETTER EH
-1967 ; [.270A.0020.0002.1967] # TAI LE LETTER U
-1968 ; [.270B.0020.0002.1968] # TAI LE LETTER OO
-1969 ; [.270C.0020.0002.1969] # TAI LE LETTER O
-196A ; [.270D.0020.0002.196A] # TAI LE LETTER UE
-196B ; [.270E.0020.0002.196B] # TAI LE LETTER E
-196C ; [.270F.0020.0002.196C] # TAI LE LETTER AUE
-196D ; [.2710.0020.0002.196D] # TAI LE LETTER AI
-1970 ; [.2711.0020.0002.1970] # TAI LE LETTER TONE-2
-1971 ; [.2712.0020.0002.1971] # TAI LE LETTER TONE-3
-1972 ; [.2713.0020.0002.1972] # TAI LE LETTER TONE-4
-1973 ; [.2714.0020.0002.1973] # TAI LE LETTER TONE-5
-1974 ; [.2715.0020.0002.1974] # TAI LE LETTER TONE-6
-1980 ; [.2716.0020.0002.1980] # NEW TAI LUE LETTER HIGH QA
-1981 ; [.2717.0020.0002.1981] # NEW TAI LUE LETTER LOW QA
-1982 ; [.2718.0020.0002.1982] # NEW TAI LUE LETTER HIGH KA
-1983 ; [.2719.0020.0002.1983] # NEW TAI LUE LETTER HIGH XA
-1984 ; [.271A.0020.0002.1984] # NEW TAI LUE LETTER HIGH NGA
-1985 ; [.271B.0020.0002.1985] # NEW TAI LUE LETTER LOW KA
-1986 ; [.271C.0020.0002.1986] # NEW TAI LUE LETTER LOW XA
-1987 ; [.271D.0020.0002.1987] # NEW TAI LUE LETTER LOW NGA
-1988 ; [.271E.0020.0002.1988] # NEW TAI LUE LETTER HIGH TSA
-1989 ; [.271F.0020.0002.1989] # NEW TAI LUE LETTER HIGH SA
-198A ; [.2720.0020.0002.198A] # NEW TAI LUE LETTER HIGH YA
-198B ; [.2721.0020.0002.198B] # NEW TAI LUE LETTER LOW TSA
-198C ; [.2722.0020.0002.198C] # NEW TAI LUE LETTER LOW SA
-198D ; [.2723.0020.0002.198D] # NEW TAI LUE LETTER LOW YA
-198E ; [.2724.0020.0002.198E] # NEW TAI LUE LETTER HIGH TA
-198F ; [.2725.0020.0002.198F] # NEW TAI LUE LETTER HIGH THA
-1990 ; [.2726.0020.0002.1990] # NEW TAI LUE LETTER HIGH NA
-1991 ; [.2727.0020.0002.1991] # NEW TAI LUE LETTER LOW TA
-1992 ; [.2728.0020.0002.1992] # NEW TAI LUE LETTER LOW THA
-1993 ; [.2729.0020.0002.1993] # NEW TAI LUE LETTER LOW NA
-1994 ; [.272A.0020.0002.1994] # NEW TAI LUE LETTER HIGH PA
-1995 ; [.272B.0020.0002.1995] # NEW TAI LUE LETTER HIGH PHA
-1996 ; [.272C.0020.0002.1996] # NEW TAI LUE LETTER HIGH MA
-1997 ; [.272D.0020.0002.1997] # NEW TAI LUE LETTER LOW PA
-1998 ; [.272E.0020.0002.1998] # NEW TAI LUE LETTER LOW PHA
-1999 ; [.272F.0020.0002.1999] # NEW TAI LUE LETTER LOW MA
-199A ; [.2730.0020.0002.199A] # NEW TAI LUE LETTER HIGH FA
-199B ; [.2731.0020.0002.199B] # NEW TAI LUE LETTER HIGH VA
-199C ; [.2732.0020.0002.199C] # NEW TAI LUE LETTER HIGH LA
-19DE ; [.2732.0020.0004.19DE][.2748.0020.0004.19DE] # NEW TAI LUE SIGN LAE; QQKN
-19DF ; [.2732.0020.0004.19DF][.2748.0020.0004.19DF][.2753.0020.001F.19DF] # NEW TAI LUE SIGN LAEV; QQKN
-199D ; [.2733.0020.0002.199D] # NEW TAI LUE LETTER LOW FA
-199E ; [.2734.0020.0002.199E] # NEW TAI LUE LETTER LOW VA
-199F ; [.2735.0020.0002.199F] # NEW TAI LUE LETTER LOW LA
-19A0 ; [.2736.0020.0002.19A0] # NEW TAI LUE LETTER HIGH HA
-19A1 ; [.2737.0020.0002.19A1] # NEW TAI LUE LETTER HIGH DA
-19A2 ; [.2738.0020.0002.19A2] # NEW TAI LUE LETTER HIGH BA
-19A3 ; [.2739.0020.0002.19A3] # NEW TAI LUE LETTER LOW HA
-19A4 ; [.273A.0020.0002.19A4] # NEW TAI LUE LETTER LOW DA
-19A5 ; [.273B.0020.0002.19A5] # NEW TAI LUE LETTER LOW BA
-19A6 ; [.273C.0020.0002.19A6] # NEW TAI LUE LETTER HIGH KVA
-19A7 ; [.273D.0020.0002.19A7] # NEW TAI LUE LETTER HIGH XVA
-19A8 ; [.273E.0020.0002.19A8] # NEW TAI LUE LETTER LOW KVA
-19A9 ; [.273F.0020.0002.19A9] # NEW TAI LUE LETTER LOW XVA
-19AA ; [.2740.0020.0002.19AA] # NEW TAI LUE LETTER HIGH SUA
-19AB ; [.2741.0020.0002.19AB] # NEW TAI LUE LETTER LOW SUA
-19B0 ; [.2742.0020.0002.19B0] # NEW TAI LUE VOWEL SIGN VOWEL SHORTENER
-19B1 ; [.2743.0020.0002.19B1] # NEW TAI LUE VOWEL SIGN AA
-19B2 ; [.2744.0020.0002.19B2] # NEW TAI LUE VOWEL SIGN II
-19B3 ; [.2745.0020.0002.19B3] # NEW TAI LUE VOWEL SIGN U
-19B4 ; [.2746.0020.0002.19B4] # NEW TAI LUE VOWEL SIGN UU
-19B5 ; [.2747.0020.0002.19B5] # NEW TAI LUE VOWEL SIGN E
-19B6 ; [.2748.0020.0002.19B6] # NEW TAI LUE VOWEL SIGN AE
-19B7 ; [.2749.0020.0002.19B7] # NEW TAI LUE VOWEL SIGN O
-19B8 ; [.274A.0020.0002.19B8] # NEW TAI LUE VOWEL SIGN OA
-19B9 ; [.274B.0020.0002.19B9] # NEW TAI LUE VOWEL SIGN UE
-19BA ; [.274C.0020.0002.19BA] # NEW TAI LUE VOWEL SIGN AY
-19BB ; [.274D.0020.0002.19BB] # NEW TAI LUE VOWEL SIGN AAY
-19BC ; [.274E.0020.0002.19BC] # NEW TAI LUE VOWEL SIGN UY
-19BD ; [.274F.0020.0002.19BD] # NEW TAI LUE VOWEL SIGN OY
-19BE ; [.2750.0020.0002.19BE] # NEW TAI LUE VOWEL SIGN OAY
-19BF ; [.2751.0020.0002.19BF] # NEW TAI LUE VOWEL SIGN UEY
-19C0 ; [.2752.0020.0002.19C0] # NEW TAI LUE VOWEL SIGN IY
-19C1 ; [.2753.0020.0002.19C1] # NEW TAI LUE LETTER FINAL V
-19C2 ; [.2754.0020.0002.19C2] # NEW TAI LUE LETTER FINAL NG
-19C3 ; [.2755.0020.0002.19C3] # NEW TAI LUE LETTER FINAL N
-19C4 ; [.2756.0020.0002.19C4] # NEW TAI LUE LETTER FINAL M
-19C5 ; [.2757.0020.0002.19C5] # NEW TAI LUE LETTER FINAL K
-19C6 ; [.2758.0020.0002.19C6] # NEW TAI LUE LETTER FINAL D
-19C7 ; [.2759.0020.0002.19C7] # NEW TAI LUE LETTER FINAL B
-19C8 ; [.275A.0020.0002.19C8] # NEW TAI LUE TONE MARK-1
-19C9 ; [.275B.0020.0002.19C9] # NEW TAI LUE TONE MARK-2
-1A20 ; [.275C.0020.0002.1A20] # TAI THAM LETTER HIGH KA
-1A21 ; [.275D.0020.0002.1A21] # TAI THAM LETTER HIGH KHA
-1A22 ; [.275E.0020.0002.1A22] # TAI THAM LETTER HIGH KXA
-1A23 ; [.275F.0020.0002.1A23] # TAI THAM LETTER LOW KA
-1A24 ; [.2760.0020.0002.1A24] # TAI THAM LETTER LOW KXA
-1A25 ; [.2761.0020.0002.1A25] # TAI THAM LETTER LOW KHA
-1A26 ; [.2762.0020.0002.1A26] # TAI THAM LETTER NGA
-1A58 ; [.2762.0020.0004.1A58] # TAI THAM SIGN MAI KANG LAI; QQK
-1A59 ; [.2762.0020.0004.1A59] # TAI THAM CONSONANT SIGN FINAL NGA; QQK
-1A27 ; [.2763.0020.0002.1A27] # TAI THAM LETTER HIGH CA
-1A28 ; [.2764.0020.0002.1A28] # TAI THAM LETTER HIGH CHA
-1A29 ; [.2765.0020.0002.1A29] # TAI THAM LETTER LOW CA
-1A2A ; [.2766.0020.0002.1A2A] # TAI THAM LETTER LOW SA
-1A2B ; [.2767.0020.0002.1A2B] # TAI THAM LETTER LOW CHA
-1A2C ; [.2768.0020.0002.1A2C] # TAI THAM LETTER NYA
-1A2D ; [.2769.0020.0002.1A2D] # TAI THAM LETTER RATA
-1A2E ; [.276A.0020.0002.1A2E] # TAI THAM LETTER HIGH RATHA
-1A2F ; [.276B.0020.0002.1A2F] # TAI THAM LETTER DA
-1A30 ; [.276C.0020.0002.1A30] # TAI THAM LETTER LOW RATHA
-1A31 ; [.276D.0020.0002.1A31] # TAI THAM LETTER RANA
-1A32 ; [.276E.0020.0002.1A32] # TAI THAM LETTER HIGH TA
-1A33 ; [.276F.0020.0002.1A33] # TAI THAM LETTER HIGH THA
-1A34 ; [.2770.0020.0002.1A34] # TAI THAM LETTER LOW TA
-1A35 ; [.2771.0020.0002.1A35] # TAI THAM LETTER LOW THA
-1A36 ; [.2772.0020.0002.1A36] # TAI THAM LETTER NA
-1A37 ; [.2773.0020.0002.1A37] # TAI THAM LETTER BA
-1A38 ; [.2774.0020.0002.1A38] # TAI THAM LETTER HIGH PA
-1A39 ; [.2775.0020.0002.1A39] # TAI THAM LETTER HIGH PHA
-1A3A ; [.2776.0020.0002.1A3A] # TAI THAM LETTER HIGH FA
-1A3B ; [.2777.0020.0002.1A3B] # TAI THAM LETTER LOW PA
-1A5A ; [.2777.0020.0004.1A5A] # TAI THAM CONSONANT SIGN LOW PA; QQK
-1A5B ; [.2777.0020.0004.1A5B] # TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA; QQK
-1A3C ; [.2778.0020.0002.1A3C] # TAI THAM LETTER LOW FA
-1A3D ; [.2779.0020.0002.1A3D] # TAI THAM LETTER LOW PHA
-1A3E ; [.277A.0020.0002.1A3E] # TAI THAM LETTER MA
-1A3F ; [.277B.0020.0002.1A3F] # TAI THAM LETTER LOW YA
-1A40 ; [.277C.0020.0002.1A40] # TAI THAM LETTER HIGH YA
-1A41 ; [.277D.0020.0002.1A41] # TAI THAM LETTER RA
-1A42 ; [.277E.0020.0002.1A42] # TAI THAM LETTER RUE
-1A43 ; [.277F.0020.0002.1A43] # TAI THAM LETTER LA
-1A44 ; [.2780.0020.0002.1A44] # TAI THAM LETTER LUE
-1A45 ; [.2781.0020.0002.1A45] # TAI THAM LETTER WA
-1A46 ; [.2782.0020.0002.1A46] # TAI THAM LETTER HIGH SHA
-1A54 ; [.2782.0020.0004.1A54][.27A8.0020.0004.1A54][.2782.0020.001F.1A54] # TAI THAM LETTER GREAT SA; QQKN
-1A47 ; [.2783.0020.0002.1A47] # TAI THAM LETTER HIGH SSA
-1A48 ; [.2784.0020.0002.1A48] # TAI THAM LETTER HIGH SA
-1A49 ; [.2785.0020.0002.1A49] # TAI THAM LETTER HIGH HA
-1A4A ; [.2786.0020.0002.1A4A] # TAI THAM LETTER LLA
-1A4B ; [.2787.0020.0002.1A4B] # TAI THAM LETTER A
-1A4C ; [.2788.0020.0002.1A4C] # TAI THAM LETTER LOW HA
-1A53 ; [.2789.0020.0002.1A53] # TAI THAM LETTER LAE
-1A6B ; [.278A.0020.0002.1A6B] # TAI THAM VOWEL SIGN O
-1A55 ; [.278B.0020.0002.1A55] # TAI THAM CONSONANT SIGN MEDIAL RA
-1A56 ; [.278C.0020.0002.1A56] # TAI THAM CONSONANT SIGN MEDIAL LA
-1A57 ; [.278D.0020.0002.1A57] # TAI THAM CONSONANT SIGN LA TANG LAI
-1A5C ; [.278E.0020.0002.1A5C] # TAI THAM CONSONANT SIGN MA
-1A5D ; [.278F.0020.0002.1A5D] # TAI THAM CONSONANT SIGN BA
-1A5E ; [.2790.0020.0002.1A5E] # TAI THAM CONSONANT SIGN SA
-1A4D ; [.2791.0020.0002.1A4D] # TAI THAM LETTER I
-1A4E ; [.2792.0020.0002.1A4E] # TAI THAM LETTER II
-1A4F ; [.2793.0020.0002.1A4F] # TAI THAM LETTER U
-1A50 ; [.2794.0020.0002.1A50] # TAI THAM LETTER UU
-1A51 ; [.2795.0020.0002.1A51] # TAI THAM LETTER EE
-1A52 ; [.2796.0020.0002.1A52] # TAI THAM LETTER OO
-1A61 ; [.2797.0020.0002.1A61] # TAI THAM VOWEL SIGN A
-1A6C ; [.2798.0020.0002.1A6C] # TAI THAM VOWEL SIGN OA BELOW
-1A62 ; [.2799.0020.0002.1A62] # TAI THAM VOWEL SIGN MAI SAT
-1A63 ; [.279A.0020.0002.1A63] # TAI THAM VOWEL SIGN AA
-1A64 ; [.279A.0020.0004.1A64] # TAI THAM VOWEL SIGN TALL AA; QQK
-1A65 ; [.279B.0020.0002.1A65] # TAI THAM VOWEL SIGN I
-1A66 ; [.279C.0020.0002.1A66] # TAI THAM VOWEL SIGN II
-1A67 ; [.279D.0020.0002.1A67] # TAI THAM VOWEL SIGN UE
-1A68 ; [.279E.0020.0002.1A68] # TAI THAM VOWEL SIGN UUE
-1A69 ; [.279F.0020.0002.1A69] # TAI THAM VOWEL SIGN U
-1A6A ; [.27A0.0020.0002.1A6A] # TAI THAM VOWEL SIGN UU
-1A6E ; [.27A1.0020.0002.1A6E] # TAI THAM VOWEL SIGN E
-1A6F ; [.27A2.0020.0002.1A6F] # TAI THAM VOWEL SIGN AE
-1A73 ; [.27A3.0020.0002.1A73] # TAI THAM VOWEL SIGN OA ABOVE
-1A70 ; [.27A4.0020.0002.1A70] # TAI THAM VOWEL SIGN OO
-1A71 ; [.27A5.0020.0002.1A71] # TAI THAM VOWEL SIGN AI
-1A72 ; [.27A6.0020.0002.1A72] # TAI THAM VOWEL SIGN THAM AI
-1A6D ; [.27A7.0020.0002.1A6D] # TAI THAM VOWEL SIGN OY
-1A60 ; [.27A8.0020.0002.1A60] # TAI THAM SIGN SAKOT
-AA00 ; [.27A9.0020.0002.AA00] # CHAM LETTER A
-AA01 ; [.27AA.0020.0002.AA01] # CHAM LETTER I
-AA02 ; [.27AB.0020.0002.AA02] # CHAM LETTER U
-AA03 ; [.27AC.0020.0002.AA03] # CHAM LETTER E
-AA04 ; [.27AD.0020.0002.AA04] # CHAM LETTER AI
-AA05 ; [.27AE.0020.0002.AA05] # CHAM LETTER O
-AA06 ; [.27AF.0020.0002.AA06] # CHAM LETTER KA
-AA07 ; [.27B0.0020.0002.AA07] # CHAM LETTER KHA
-AA08 ; [.27B1.0020.0002.AA08] # CHAM LETTER GA
-AA09 ; [.27B2.0020.0002.AA09] # CHAM LETTER GHA
-AA0A ; [.27B3.0020.0002.AA0A] # CHAM LETTER NGUE
-AA0B ; [.27B4.0020.0002.AA0B] # CHAM LETTER NGA
-AA0C ; [.27B5.0020.0002.AA0C] # CHAM LETTER CHA
-AA0D ; [.27B6.0020.0002.AA0D] # CHAM LETTER CHHA
-AA0E ; [.27B7.0020.0002.AA0E] # CHAM LETTER JA
-AA0F ; [.27B8.0020.0002.AA0F] # CHAM LETTER JHA
-AA10 ; [.27B9.0020.0002.AA10] # CHAM LETTER NHUE
-AA11 ; [.27BA.0020.0002.AA11] # CHAM LETTER NHA
-AA12 ; [.27BB.0020.0002.AA12] # CHAM LETTER NHJA
-AA13 ; [.27BC.0020.0002.AA13] # CHAM LETTER TA
-AA14 ; [.27BD.0020.0002.AA14] # CHAM LETTER THA
-AA15 ; [.27BE.0020.0002.AA15] # CHAM LETTER DA
-AA16 ; [.27BF.0020.0002.AA16] # CHAM LETTER DHA
-AA17 ; [.27C0.0020.0002.AA17] # CHAM LETTER NUE
-AA18 ; [.27C1.0020.0002.AA18] # CHAM LETTER NA
-AA19 ; [.27C2.0020.0002.AA19] # CHAM LETTER DDA
-AA1A ; [.27C3.0020.0002.AA1A] # CHAM LETTER PA
-AA1B ; [.27C4.0020.0002.AA1B] # CHAM LETTER PPA
-AA1C ; [.27C5.0020.0002.AA1C] # CHAM LETTER PHA
-AA1D ; [.27C6.0020.0002.AA1D] # CHAM LETTER BA
-AA1E ; [.27C7.0020.0002.AA1E] # CHAM LETTER BHA
-AA1F ; [.27C8.0020.0002.AA1F] # CHAM LETTER MUE
-AA20 ; [.27C9.0020.0002.AA20] # CHAM LETTER MA
-AA21 ; [.27CA.0020.0002.AA21] # CHAM LETTER BBA
-AA22 ; [.27CB.0020.0002.AA22] # CHAM LETTER YA
-AA23 ; [.27CC.0020.0002.AA23] # CHAM LETTER RA
-AA24 ; [.27CD.0020.0002.AA24] # CHAM LETTER LA
-AA25 ; [.27CE.0020.0002.AA25] # CHAM LETTER VA
-AA26 ; [.27CF.0020.0002.AA26] # CHAM LETTER SSA
-AA27 ; [.27D0.0020.0002.AA27] # CHAM LETTER SA
-AA28 ; [.27D1.0020.0002.AA28] # CHAM LETTER HA
-AA33 ; [.27D2.0020.0002.AA33] # CHAM CONSONANT SIGN YA
-AA34 ; [.27D3.0020.0002.AA34] # CHAM CONSONANT SIGN RA
-AA35 ; [.27D4.0020.0002.AA35] # CHAM CONSONANT SIGN LA
-AA36 ; [.27D5.0020.0002.AA36] # CHAM CONSONANT SIGN WA
-AA29 ; [.27D6.0020.0002.AA29] # CHAM VOWEL SIGN AA
-AA2A ; [.27D7.0020.0002.AA2A] # CHAM VOWEL SIGN I
-AA2B ; [.27D8.0020.0002.AA2B] # CHAM VOWEL SIGN II
-AA2C ; [.27D9.0020.0002.AA2C] # CHAM VOWEL SIGN EI
-AA2D ; [.27DA.0020.0002.AA2D] # CHAM VOWEL SIGN U
-AA2E ; [.27DB.0020.0002.AA2E] # CHAM VOWEL SIGN OE
-AA2F ; [.27DC.0020.0002.AA2F] # CHAM VOWEL SIGN O
-AA30 ; [.27DD.0020.0002.AA30] # CHAM VOWEL SIGN AI
-AA31 ; [.27DE.0020.0002.AA31] # CHAM VOWEL SIGN AU
-AA32 ; [.27DF.0020.0002.AA32] # CHAM VOWEL SIGN UE
-AA40 ; [.27E0.0020.0002.AA40] # CHAM LETTER FINAL K
-AA41 ; [.27E1.0020.0002.AA41] # CHAM LETTER FINAL G
-AA42 ; [.27E2.0020.0002.AA42] # CHAM LETTER FINAL NG
-AA43 ; [.27E3.0020.0002.AA43] # CHAM CONSONANT SIGN FINAL NG
-AA44 ; [.27E4.0020.0002.AA44] # CHAM LETTER FINAL CH
-AA45 ; [.27E5.0020.0002.AA45] # CHAM LETTER FINAL T
-AA46 ; [.27E6.0020.0002.AA46] # CHAM LETTER FINAL N
-AA47 ; [.27E7.0020.0002.AA47] # CHAM LETTER FINAL P
-AA48 ; [.27E8.0020.0002.AA48] # CHAM LETTER FINAL Y
-AA49 ; [.27E9.0020.0002.AA49] # CHAM LETTER FINAL R
-AA4A ; [.27EA.0020.0002.AA4A] # CHAM LETTER FINAL L
-AA4B ; [.27EB.0020.0002.AA4B] # CHAM LETTER FINAL SS
-AA4C ; [.27EC.0020.0002.AA4C] # CHAM CONSONANT SIGN FINAL M
-AA4D ; [.27ED.0020.0002.AA4D] # CHAM CONSONANT SIGN FINAL H
-1B05 ; [.27EE.0020.0002.1B05] # BALINESE LETTER AKARA
-1B06 ; [.27EF.0020.0002.1B06] # BALINESE LETTER AKARA TEDUNG
-1B05 1B35 ; [.27EF.0020.0002.1B06] # BALINESE LETTER AKARA TEDUNG
-1B07 ; [.27F0.0020.0002.1B07] # BALINESE LETTER IKARA
-1B08 ; [.27F1.0020.0002.1B08] # BALINESE LETTER IKARA TEDUNG
-1B07 1B35 ; [.27F1.0020.0002.1B08] # BALINESE LETTER IKARA TEDUNG
-1B09 ; [.27F2.0020.0002.1B09] # BALINESE LETTER UKARA
-1B0A ; [.27F3.0020.0002.1B0A] # BALINESE LETTER UKARA TEDUNG
-1B09 1B35 ; [.27F3.0020.0002.1B0A] # BALINESE LETTER UKARA TEDUNG
-1B0B ; [.27F4.0020.0002.1B0B] # BALINESE LETTER RA REPA
-1B0C ; [.27F5.0020.0002.1B0C] # BALINESE LETTER RA REPA TEDUNG
-1B0B 1B35 ; [.27F5.0020.0002.1B0C] # BALINESE LETTER RA REPA TEDUNG
-1B0D ; [.27F6.0020.0002.1B0D] # BALINESE LETTER LA LENGA
-1B0E ; [.27F7.0020.0002.1B0E] # BALINESE LETTER LA LENGA TEDUNG
-1B0D 1B35 ; [.27F7.0020.0002.1B0E] # BALINESE LETTER LA LENGA TEDUNG
-1B0F ; [.27F8.0020.0002.1B0F] # BALINESE LETTER EKARA
-1B10 ; [.27F9.0020.0002.1B10] # BALINESE LETTER AIKARA
-1B11 ; [.27FA.0020.0002.1B11] # BALINESE LETTER OKARA
-1B12 ; [.27FB.0020.0002.1B12] # BALINESE LETTER OKARA TEDUNG
-1B11 1B35 ; [.27FB.0020.0002.1B12] # BALINESE LETTER OKARA TEDUNG
-1B13 ; [.27FC.0020.0002.1B13] # BALINESE LETTER KA
-1B45 ; [.27FD.0020.0002.1B45] # BALINESE LETTER KAF SASAK
-1B46 ; [.27FE.0020.0002.1B46] # BALINESE LETTER KHOT SASAK
-1B14 ; [.27FF.0020.0002.1B14] # BALINESE LETTER KA MAHAPRANA
-1B15 ; [.2800.0020.0002.1B15] # BALINESE LETTER GA
-1B16 ; [.2801.0020.0002.1B16] # BALINESE LETTER GA GORA
-1B17 ; [.2802.0020.0002.1B17] # BALINESE LETTER NGA
-1B18 ; [.2803.0020.0002.1B18] # BALINESE LETTER CA
-1B19 ; [.2804.0020.0002.1B19] # BALINESE LETTER CA LACA
-1B1A ; [.2805.0020.0002.1B1A] # BALINESE LETTER JA
-1B1B ; [.2806.0020.0002.1B1B] # BALINESE LETTER JA JERA
-1B1C ; [.2807.0020.0002.1B1C] # BALINESE LETTER NYA
-1B1D ; [.2808.0020.0002.1B1D] # BALINESE LETTER TA LATIK
-1B1E ; [.2809.0020.0002.1B1E] # BALINESE LETTER TA MURDA MAHAPRANA
-1B1F ; [.280A.0020.0002.1B1F] # BALINESE LETTER DA MURDA ALPAPRANA
-1B20 ; [.280B.0020.0002.1B20] # BALINESE LETTER DA MURDA MAHAPRANA
-1B21 ; [.280C.0020.0002.1B21] # BALINESE LETTER NA RAMBAT
-1B22 ; [.280D.0020.0002.1B22] # BALINESE LETTER TA
-1B47 ; [.280E.0020.0002.1B47] # BALINESE LETTER TZIR SASAK
-1B23 ; [.280F.0020.0002.1B23] # BALINESE LETTER TA TAWA
-1B24 ; [.2810.0020.0002.1B24] # BALINESE LETTER DA
-1B25 ; [.2811.0020.0002.1B25] # BALINESE LETTER DA MADU
-1B26 ; [.2812.0020.0002.1B26] # BALINESE LETTER NA
-1B27 ; [.2813.0020.0002.1B27] # BALINESE LETTER PA
-1B48 ; [.2814.0020.0002.1B48] # BALINESE LETTER EF SASAK
-1B28 ; [.2815.0020.0002.1B28] # BALINESE LETTER PA KAPAL
-1B29 ; [.2816.0020.0002.1B29] # BALINESE LETTER BA
-1B2A ; [.2817.0020.0002.1B2A] # BALINESE LETTER BA KEMBANG
-1B2B ; [.2818.0020.0002.1B2B] # BALINESE LETTER MA
-1B2C ; [.2819.0020.0002.1B2C] # BALINESE LETTER YA
-1B2D ; [.281A.0020.0002.1B2D] # BALINESE LETTER RA
-1B2E ; [.281B.0020.0002.1B2E] # BALINESE LETTER LA
-1B2F ; [.281C.0020.0002.1B2F] # BALINESE LETTER WA
-1B49 ; [.281D.0020.0002.1B49] # BALINESE LETTER VE SASAK
-1B30 ; [.281E.0020.0002.1B30] # BALINESE LETTER SA SAGA
-1B31 ; [.281F.0020.0002.1B31] # BALINESE LETTER SA SAPA
-1B32 ; [.2820.0020.0002.1B32] # BALINESE LETTER SA
-1B4A ; [.2821.0020.0002.1B4A] # BALINESE LETTER ZAL SASAK
-1B4B ; [.2822.0020.0002.1B4B] # BALINESE LETTER ASYURA SASAK
-1B33 ; [.2823.0020.0002.1B33] # BALINESE LETTER HA
-1B35 ; [.2824.0020.0002.1B35] # BALINESE VOWEL SIGN TEDUNG
-1B36 ; [.2825.0020.0002.1B36] # BALINESE VOWEL SIGN ULU
-1B37 ; [.2826.0020.0002.1B37] # BALINESE VOWEL SIGN ULU SARI
-1B38 ; [.2827.0020.0002.1B38] # BALINESE VOWEL SIGN SUKU
-1B39 ; [.2828.0020.0002.1B39] # BALINESE VOWEL SIGN SUKU ILUT
-1B3A ; [.2829.0020.0002.1B3A] # BALINESE VOWEL SIGN RA REPA
-1B3B ; [.282A.0020.0002.1B3B] # BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3A 1B35 ; [.282A.0020.0002.1B3B] # BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3C ; [.282B.0020.0002.1B3C] # BALINESE VOWEL SIGN LA LENGA
-1B3D ; [.282C.0020.0002.1B3D] # BALINESE VOWEL SIGN LA LENGA TEDUNG
-1B3C 1B35 ; [.282C.0020.0002.1B3D] # BALINESE VOWEL SIGN LA LENGA TEDUNG
-1B3E ; [.282D.0020.0002.1B3E] # BALINESE VOWEL SIGN TALING
-1B3F ; [.282E.0020.0002.1B3F] # BALINESE VOWEL SIGN TALING REPA
-1B40 ; [.282F.0020.0002.1B40] # BALINESE VOWEL SIGN TALING TEDUNG
-1B3E 1B35 ; [.282F.0020.0002.1B40] # BALINESE VOWEL SIGN TALING TEDUNG
-1B41 ; [.2830.0020.0002.1B41] # BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B3F 1B35 ; [.2830.0020.0002.1B41] # BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B42 ; [.2831.0020.0002.1B42] # BALINESE VOWEL SIGN PEPET
-1B43 ; [.2832.0020.0002.1B43] # BALINESE VOWEL SIGN PEPET TEDUNG
-1B42 1B35 ; [.2832.0020.0002.1B43] # BALINESE VOWEL SIGN PEPET TEDUNG
-1B44 ; [.2833.0020.0002.1B44] # BALINESE ADEG ADEG
-A984 ; [.2834.0020.0002.A984] # JAVANESE LETTER A
-A985 ; [.2835.0020.0002.A985] # JAVANESE LETTER I KAWI
-A986 ; [.2836.0020.0002.A986] # JAVANESE LETTER I
-A987 ; [.2837.0020.0002.A987] # JAVANESE LETTER II
-A988 ; [.2838.0020.0002.A988] # JAVANESE LETTER U
-A989 ; [.2839.0020.0002.A989] # JAVANESE LETTER PA CEREK
-A98A ; [.283A.0020.0002.A98A] # JAVANESE LETTER NGA LELET
-A98B ; [.283B.0020.0002.A98B] # JAVANESE LETTER NGA LELET RASWADI
-A98C ; [.283C.0020.0002.A98C] # JAVANESE LETTER E
-A98D ; [.283D.0020.0002.A98D] # JAVANESE LETTER AI
-A98E ; [.283E.0020.0002.A98E] # JAVANESE LETTER O
-A98F ; [.283F.0020.0002.A98F] # JAVANESE LETTER KA
-A990 ; [.2840.0020.0002.A990] # JAVANESE LETTER KA SASAK
-A991 ; [.2841.0020.0002.A991] # JAVANESE LETTER KA MURDA
-A992 ; [.2842.0020.0002.A992] # JAVANESE LETTER GA
-A993 ; [.2843.0020.0002.A993] # JAVANESE LETTER GA MURDA
-A994 ; [.2844.0020.0002.A994] # JAVANESE LETTER NGA
-A995 ; [.2845.0020.0002.A995] # JAVANESE LETTER CA
-A996 ; [.2846.0020.0002.A996] # JAVANESE LETTER CA MURDA
-A997 ; [.2847.0020.0002.A997] # JAVANESE LETTER JA
-A998 ; [.2848.0020.0002.A998] # JAVANESE LETTER NYA MURDA
-A999 ; [.2849.0020.0002.A999] # JAVANESE LETTER JA MAHAPRANA
-A99A ; [.284A.0020.0002.A99A] # JAVANESE LETTER NYA
-A99B ; [.284B.0020.0002.A99B] # JAVANESE LETTER TTA
-A99C ; [.284C.0020.0002.A99C] # JAVANESE LETTER TTA MAHAPRANA
-A99D ; [.284D.0020.0002.A99D] # JAVANESE LETTER DDA
-A99E ; [.284E.0020.0002.A99E] # JAVANESE LETTER DDA MAHAPRANA
-A99F ; [.284F.0020.0002.A99F] # JAVANESE LETTER NA MURDA
-A9A0 ; [.2850.0020.0002.A9A0] # JAVANESE LETTER TA
-A9A1 ; [.2851.0020.0002.A9A1] # JAVANESE LETTER TA MURDA
-A9A2 ; [.2852.0020.0002.A9A2] # JAVANESE LETTER DA
-A9A3 ; [.2853.0020.0002.A9A3] # JAVANESE LETTER DA MAHAPRANA
-A9A4 ; [.2854.0020.0002.A9A4] # JAVANESE LETTER NA
-A9A5 ; [.2855.0020.0002.A9A5] # JAVANESE LETTER PA
-A9A6 ; [.2856.0020.0002.A9A6] # JAVANESE LETTER PA MURDA
-A9A7 ; [.2857.0020.0002.A9A7] # JAVANESE LETTER BA
-A9A8 ; [.2858.0020.0002.A9A8] # JAVANESE LETTER BA MURDA
-A9A9 ; [.2859.0020.0002.A9A9] # JAVANESE LETTER MA
-A9AA ; [.285A.0020.0002.A9AA] # JAVANESE LETTER YA
-A9BE ; [.285B.0020.0002.A9BE] # JAVANESE CONSONANT SIGN PENGKAL
-A9AB ; [.285C.0020.0002.A9AB] # JAVANESE LETTER RA
-A9AC ; [.285C.0020.0004.A9AC] # JAVANESE LETTER RA AGUNG; QQK
-A9BF ; [.285D.0020.0002.A9BF] # JAVANESE CONSONANT SIGN CAKRA
-A9AD ; [.285E.0020.0002.A9AD] # JAVANESE LETTER LA
-A9AE ; [.285F.0020.0002.A9AE] # JAVANESE LETTER WA
-A9AF ; [.2860.0020.0002.A9AF] # JAVANESE LETTER SA MURDA
-A9B0 ; [.2861.0020.0002.A9B0] # JAVANESE LETTER SA MAHAPRANA
-A9B1 ; [.2862.0020.0002.A9B1] # JAVANESE LETTER SA
-A9B2 ; [.2863.0020.0002.A9B2] # JAVANESE LETTER HA
-A9B4 ; [.2864.0020.0002.A9B4] # JAVANESE VOWEL SIGN TARUNG
-A9BC ; [.2865.0020.0002.A9BC] # JAVANESE VOWEL SIGN PEPET
-A9B6 ; [.2866.0020.0002.A9B6] # JAVANESE VOWEL SIGN WULU
-A9B7 ; [.2867.0020.0002.A9B7] # JAVANESE VOWEL SIGN WULU MELIK
-A9B8 ; [.2868.0020.0002.A9B8] # JAVANESE VOWEL SIGN SUKU
-A9B9 ; [.2869.0020.0002.A9B9] # JAVANESE VOWEL SIGN SUKU MENDUT
-A9BD ; [.286A.0020.0002.A9BD] # JAVANESE CONSONANT SIGN KERET
-A9BA ; [.286B.0020.0002.A9BA] # JAVANESE VOWEL SIGN TALING
-A9BB ; [.286C.0020.0002.A9BB] # JAVANESE VOWEL SIGN DIRGA MURE
-A9B5 ; [.286D.0020.0002.A9B5] # JAVANESE VOWEL SIGN TOLONG
-A9C0 ; [.286E.0020.0002.A9C0] # JAVANESE PANGKON
-1880 ; [.286F.0020.0002.1880] # MONGOLIAN LETTER ALI GALI ANUSVARA ONE
-1881 ; [.2870.0020.0002.1881] # MONGOLIAN LETTER ALI GALI VISARGA ONE
-1882 ; [.2871.0020.0002.1882] # MONGOLIAN LETTER ALI GALI DAMARU
-1883 ; [.2872.0020.0002.1883] # MONGOLIAN LETTER ALI GALI UBADAMA
-1884 ; [.2873.0020.0002.1884] # MONGOLIAN LETTER ALI GALI INVERTED UBADAMA
-1885 ; [.2874.0020.0002.1885] # MONGOLIAN LETTER ALI GALI BALUDA
-1886 ; [.2875.0020.0002.1886] # MONGOLIAN LETTER ALI GALI THREE BALUDA
-1843 ; [.2876.0020.0002.1843] # MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1820 ; [.2877.0020.0002.1820] # MONGOLIAN LETTER A
-1887 ; [.2878.0020.0002.1887] # MONGOLIAN LETTER ALI GALI A
-1821 ; [.2879.0020.0002.1821] # MONGOLIAN LETTER E
-1844 ; [.287A.0020.0002.1844] # MONGOLIAN LETTER TODO E
-185D ; [.287B.0020.0002.185D] # MONGOLIAN LETTER SIBE E
-1822 ; [.287C.0020.0002.1822] # MONGOLIAN LETTER I
-1845 ; [.287D.0020.0002.1845] # MONGOLIAN LETTER TODO I
-185E ; [.287E.0020.0002.185E] # MONGOLIAN LETTER SIBE I
-1873 ; [.287F.0020.0002.1873] # MONGOLIAN LETTER MANCHU I
-1888 ; [.2880.0020.0002.1888] # MONGOLIAN LETTER ALI GALI I
-185F ; [.2881.0020.0002.185F] # MONGOLIAN LETTER SIBE IY
-1823 ; [.2882.0020.0002.1823] # MONGOLIAN LETTER O
-1846 ; [.2883.0020.0002.1846] # MONGOLIAN LETTER TODO O
-1824 ; [.2884.0020.0002.1824] # MONGOLIAN LETTER U
-1847 ; [.2885.0020.0002.1847] # MONGOLIAN LETTER TODO U
-1861 ; [.2886.0020.0002.1861] # MONGOLIAN LETTER SIBE U
-1825 ; [.2887.0020.0002.1825] # MONGOLIAN LETTER OE
-1848 ; [.2888.0020.0002.1848] # MONGOLIAN LETTER TODO OE
-1826 ; [.2889.0020.0002.1826] # MONGOLIAN LETTER UE
-1849 ; [.288A.0020.0002.1849] # MONGOLIAN LETTER TODO UE
-1860 ; [.288B.0020.0002.1860] # MONGOLIAN LETTER SIBE UE
-1827 ; [.288C.0020.0002.1827] # MONGOLIAN LETTER EE
-1828 ; [.288D.0020.0002.1828] # MONGOLIAN LETTER NA
-1829 ; [.288E.0020.0002.1829] # MONGOLIAN LETTER ANG
-184A ; [.288F.0020.0002.184A] # MONGOLIAN LETTER TODO ANG
-1862 ; [.2890.0020.0002.1862] # MONGOLIAN LETTER SIBE ANG
-188A ; [.2891.0020.0002.188A] # MONGOLIAN LETTER ALI GALI NGA
-189B ; [.2892.0020.0002.189B] # MONGOLIAN LETTER MANCHU ALI GALI NGA
-182A ; [.2893.0020.0002.182A] # MONGOLIAN LETTER BA
-184B ; [.2894.0020.0002.184B] # MONGOLIAN LETTER TODO BA
-182B ; [.2895.0020.0002.182B] # MONGOLIAN LETTER PA
-184C ; [.2896.0020.0002.184C] # MONGOLIAN LETTER TODO PA
-1866 ; [.2897.0020.0002.1866] # MONGOLIAN LETTER SIBE PA
-182C ; [.2898.0020.0002.182C] # MONGOLIAN LETTER QA
-184D ; [.2899.0020.0002.184D] # MONGOLIAN LETTER TODO QA
-182D ; [.289A.0020.0002.182D] # MONGOLIAN LETTER GA
-184E ; [.289B.0020.0002.184E] # MONGOLIAN LETTER TODO GA
-1864 ; [.289C.0020.0002.1864] # MONGOLIAN LETTER SIBE GA
-189A ; [.289D.0020.0002.189A] # MONGOLIAN LETTER MANCHU ALI GALI GHA
-1865 ; [.289E.0020.0002.1865] # MONGOLIAN LETTER SIBE HA
-182E ; [.289F.0020.0002.182E] # MONGOLIAN LETTER MA
-184F ; [.28A0.0020.0002.184F] # MONGOLIAN LETTER TODO MA
-182F ; [.28A1.0020.0002.182F] # MONGOLIAN LETTER LA
-1830 ; [.28A2.0020.0002.1830] # MONGOLIAN LETTER SA
-1831 ; [.28A3.0020.0002.1831] # MONGOLIAN LETTER SHA
-1867 ; [.28A4.0020.0002.1867] # MONGOLIAN LETTER SIBE SHA
-189C ; [.28A5.0020.0002.189C] # MONGOLIAN LETTER MANCHU ALI GALI CA
-189D ; [.28A6.0020.0002.189D] # MONGOLIAN LETTER MANCHU ALI GALI JHA
-18A2 ; [.28A7.0020.0002.18A2] # MONGOLIAN LETTER MANCHU ALI GALI SSA
-18A4 ; [.28A8.0020.0002.18A4] # MONGOLIAN LETTER MANCHU ALI GALI ZHA
-18A5 ; [.28A9.0020.0002.18A5] # MONGOLIAN LETTER MANCHU ALI GALI ZA
-1832 ; [.28AA.0020.0002.1832] # MONGOLIAN LETTER TA
-1850 ; [.28AB.0020.0002.1850] # MONGOLIAN LETTER TODO TA
-1868 ; [.28AC.0020.0002.1868] # MONGOLIAN LETTER SIBE TA
-1833 ; [.28AD.0020.0002.1833] # MONGOLIAN LETTER DA
-1851 ; [.28AE.0020.0002.1851] # MONGOLIAN LETTER TODO DA
-1869 ; [.28AF.0020.0002.1869] # MONGOLIAN LETTER SIBE DA
-1834 ; [.28B0.0020.0002.1834] # MONGOLIAN LETTER CHA
-1852 ; [.28B1.0020.0002.1852] # MONGOLIAN LETTER TODO CHA
-1871 ; [.28B2.0020.0002.1871] # MONGOLIAN LETTER SIBE CHA
-185C ; [.28B3.0020.0002.185C] # MONGOLIAN LETTER TODO DZA
-188B ; [.28B4.0020.0002.188B] # MONGOLIAN LETTER ALI GALI CA
-1835 ; [.28B5.0020.0002.1835] # MONGOLIAN LETTER JA
-1853 ; [.28B6.0020.0002.1853] # MONGOLIAN LETTER TODO JA
-186A ; [.28B7.0020.0002.186A] # MONGOLIAN LETTER SIBE JA
-1877 ; [.28B8.0020.0002.1877] # MONGOLIAN LETTER MANCHU ZHA
-1836 ; [.28B9.0020.0002.1836] # MONGOLIAN LETTER YA
-1855 ; [.28BA.0020.0002.1855] # MONGOLIAN LETTER TODO YA
-1872 ; [.28BB.0020.0002.1872] # MONGOLIAN LETTER SIBE ZHA
-1837 ; [.28BC.0020.0002.1837] # MONGOLIAN LETTER RA
-1875 ; [.28BD.0020.0002.1875] # MONGOLIAN LETTER MANCHU RA
-1838 ; [.28BE.0020.0002.1838] # MONGOLIAN LETTER WA
-1856 ; [.28BF.0020.0002.1856] # MONGOLIAN LETTER TODO WA
-1839 ; [.28C0.0020.0002.1839] # MONGOLIAN LETTER FA
-186B ; [.28C1.0020.0002.186B] # MONGOLIAN LETTER SIBE FA
-1876 ; [.28C2.0020.0002.1876] # MONGOLIAN LETTER MANCHU FA
-183A ; [.28C3.0020.0002.183A] # MONGOLIAN LETTER KA
-1857 ; [.28C4.0020.0002.1857] # MONGOLIAN LETTER TODO KA
-1863 ; [.28C5.0020.0002.1863] # MONGOLIAN LETTER SIBE KA
-1874 ; [.28C6.0020.0002.1874] # MONGOLIAN LETTER MANCHU KA
-1889 ; [.28C7.0020.0002.1889] # MONGOLIAN LETTER ALI GALI KA
-183B ; [.28C8.0020.0002.183B] # MONGOLIAN LETTER KHA
-183C ; [.28C9.0020.0002.183C] # MONGOLIAN LETTER TSA
-1854 ; [.28CA.0020.0002.1854] # MONGOLIAN LETTER TODO TSA
-186E ; [.28CB.0020.0002.186E] # MONGOLIAN LETTER SIBE TSA
-183D ; [.28CC.0020.0002.183D] # MONGOLIAN LETTER ZA
-186F ; [.28CD.0020.0002.186F] # MONGOLIAN LETTER SIBE ZA
-1858 ; [.28CE.0020.0002.1858] # MONGOLIAN LETTER TODO GAA
-186C ; [.28CF.0020.0002.186C] # MONGOLIAN LETTER SIBE GAA
-183E ; [.28D0.0020.0002.183E] # MONGOLIAN LETTER HAA
-1859 ; [.28D1.0020.0002.1859] # MONGOLIAN LETTER TODO HAA
-186D ; [.28D2.0020.0002.186D] # MONGOLIAN LETTER SIBE HAA
-183F ; [.28D3.0020.0002.183F] # MONGOLIAN LETTER ZRA
-1840 ; [.28D4.0020.0002.1840] # MONGOLIAN LETTER LHA
-1841 ; [.28D5.0020.0002.1841] # MONGOLIAN LETTER ZHI
-1842 ; [.28D6.0020.0002.1842] # MONGOLIAN LETTER CHI
-185A ; [.28D7.0020.0002.185A] # MONGOLIAN LETTER TODO JIA
-185B ; [.28D8.0020.0002.185B] # MONGOLIAN LETTER TODO NIA
-1870 ; [.28D9.0020.0002.1870] # MONGOLIAN LETTER SIBE RAA
-188C ; [.28DA.0020.0002.188C] # MONGOLIAN LETTER ALI GALI TTA
-189E ; [.28DB.0020.0002.189E] # MONGOLIAN LETTER MANCHU ALI GALI TTA
-188D ; [.28DC.0020.0002.188D] # MONGOLIAN LETTER ALI GALI TTHA
-188E ; [.28DD.0020.0002.188E] # MONGOLIAN LETTER ALI GALI DDA
-189F ; [.28DE.0020.0002.189F] # MONGOLIAN LETTER MANCHU ALI GALI DDHA
-188F ; [.28DF.0020.0002.188F] # MONGOLIAN LETTER ALI GALI NNA
-1890 ; [.28E0.0020.0002.1890] # MONGOLIAN LETTER ALI GALI TA
-1898 ; [.28E1.0020.0002.1898] # MONGOLIAN LETTER TODO ALI GALI TA
-18A0 ; [.28E2.0020.0002.18A0] # MONGOLIAN LETTER MANCHU ALI GALI TA
-1891 ; [.28E3.0020.0002.1891] # MONGOLIAN LETTER ALI GALI DA
-18A1 ; [.28E4.0020.0002.18A1] # MONGOLIAN LETTER MANCHU ALI GALI DHA
-1892 ; [.28E5.0020.0002.1892] # MONGOLIAN LETTER ALI GALI PA
-1893 ; [.28E6.0020.0002.1893] # MONGOLIAN LETTER ALI GALI PHA
-18A8 ; [.28E7.0020.0002.18A8] # MONGOLIAN LETTER MANCHU ALI GALI BHA
-1894 ; [.28E8.0020.0002.1894] # MONGOLIAN LETTER ALI GALI SSA
-18A3 ; [.28E9.0020.0002.18A3] # MONGOLIAN LETTER MANCHU ALI GALI CYA
-1895 ; [.28EA.0020.0002.1895] # MONGOLIAN LETTER ALI GALI ZHA
-1899 ; [.28EB.0020.0002.1899] # MONGOLIAN LETTER TODO ALI GALI ZHA
-1896 ; [.28EC.0020.0002.1896] # MONGOLIAN LETTER ALI GALI ZA
-1897 ; [.28ED.0020.0002.1897] # MONGOLIAN LETTER ALI GALI AH
-18A6 ; [.28EE.0020.0002.18A6] # MONGOLIAN LETTER ALI GALI HALF U
-18A7 ; [.28EF.0020.0002.18A7] # MONGOLIAN LETTER ALI GALI HALF YA
-18AA ; [.28F0.0020.0002.18AA] # MONGOLIAN LETTER MANCHU ALI GALI LHA
-18A9 ; [.28F1.0020.0002.18A9] # MONGOLIAN LETTER ALI GALI DAGALGA
-1C5A ; [.28F2.0020.0002.1C5A] # OL CHIKI LETTER LA
-1C5B ; [.28F3.0020.0002.1C5B] # OL CHIKI LETTER AT
-1C5C ; [.28F4.0020.0002.1C5C] # OL CHIKI LETTER AG
-1C5D ; [.28F5.0020.0002.1C5D] # OL CHIKI LETTER ANG
-1C5E ; [.28F6.0020.0002.1C5E] # OL CHIKI LETTER AL
-1C5F ; [.28F7.0020.0002.1C5F] # OL CHIKI LETTER LAA
-1C60 ; [.28F8.0020.0002.1C60] # OL CHIKI LETTER AAK
-1C61 ; [.28F9.0020.0002.1C61] # OL CHIKI LETTER AAJ
-1C62 ; [.28FA.0020.0002.1C62] # OL CHIKI LETTER AAM
-1C63 ; [.28FB.0020.0002.1C63] # OL CHIKI LETTER AAW
-1C64 ; [.28FC.0020.0002.1C64] # OL CHIKI LETTER LI
-1C65 ; [.28FD.0020.0002.1C65] # OL CHIKI LETTER IS
-1C66 ; [.28FE.0020.0002.1C66] # OL CHIKI LETTER IH
-1C67 ; [.28FF.0020.0002.1C67] # OL CHIKI LETTER INY
-1C68 ; [.2900.0020.0002.1C68] # OL CHIKI LETTER IR
-1C69 ; [.2901.0020.0002.1C69] # OL CHIKI LETTER LU
-1C6A ; [.2902.0020.0002.1C6A] # OL CHIKI LETTER UC
-1C6B ; [.2903.0020.0002.1C6B] # OL CHIKI LETTER UD
-1C6C ; [.2904.0020.0002.1C6C] # OL CHIKI LETTER UNN
-1C6D ; [.2905.0020.0002.1C6D] # OL CHIKI LETTER UY
-1C6E ; [.2906.0020.0002.1C6E] # OL CHIKI LETTER LE
-1C6F ; [.2907.0020.0002.1C6F] # OL CHIKI LETTER EP
-1C70 ; [.2908.0020.0002.1C70] # OL CHIKI LETTER EDD
-1C71 ; [.2909.0020.0002.1C71] # OL CHIKI LETTER EN
-1C72 ; [.290A.0020.0002.1C72] # OL CHIKI LETTER ERR
-1C73 ; [.290B.0020.0002.1C73] # OL CHIKI LETTER LO
-1C74 ; [.290C.0020.0002.1C74] # OL CHIKI LETTER OTT
-1C75 ; [.290D.0020.0002.1C75] # OL CHIKI LETTER OB
-1C76 ; [.290E.0020.0002.1C76] # OL CHIKI LETTER OV
-1C77 ; [.290F.0020.0002.1C77] # OL CHIKI LETTER OH
-1C78 ; [.2910.0020.0002.1C78] # OL CHIKI MU TTUDDAG
-1C79 ; [.2911.0020.0002.1C79] # OL CHIKI GAAHLAA TTUDDAAG
-1C7A ; [.2912.0020.0002.1C7A] # OL CHIKI MU-GAAHLAA TTUDDAAG
-1C7B ; [.2913.0020.0002.1C7B] # OL CHIKI RELAA
-1C7C ; [.2914.0020.0002.1C7C] # OL CHIKI PHAARKAA
-1C7D ; [.2915.0020.0002.1C7D] # OL CHIKI AHAD
-13A0 ; [.2916.0020.0002.13A0] # CHEROKEE LETTER A
-13A1 ; [.2917.0020.0002.13A1] # CHEROKEE LETTER E
-13A2 ; [.2918.0020.0002.13A2] # CHEROKEE LETTER I
-13A3 ; [.2919.0020.0002.13A3] # CHEROKEE LETTER O
-13A4 ; [.291A.0020.0002.13A4] # CHEROKEE LETTER U
-13A5 ; [.291B.0020.0002.13A5] # CHEROKEE LETTER V
-13A6 ; [.291C.0020.0002.13A6] # CHEROKEE LETTER GA
-13A7 ; [.291D.0020.0002.13A7] # CHEROKEE LETTER KA
-13A8 ; [.291E.0020.0002.13A8] # CHEROKEE LETTER GE
-13A9 ; [.291F.0020.0002.13A9] # CHEROKEE LETTER GI
-13AA ; [.2920.0020.0002.13AA] # CHEROKEE LETTER GO
-13AB ; [.2921.0020.0002.13AB] # CHEROKEE LETTER GU
-13AC ; [.2922.0020.0002.13AC] # CHEROKEE LETTER GV
-13AD ; [.2923.0020.0002.13AD] # CHEROKEE LETTER HA
-13AE ; [.2924.0020.0002.13AE] # CHEROKEE LETTER HE
-13AF ; [.2925.0020.0002.13AF] # CHEROKEE LETTER HI
-13B0 ; [.2926.0020.0002.13B0] # CHEROKEE LETTER HO
-13B1 ; [.2927.0020.0002.13B1] # CHEROKEE LETTER HU
-13B2 ; [.2928.0020.0002.13B2] # CHEROKEE LETTER HV
-13B3 ; [.2929.0020.0002.13B3] # CHEROKEE LETTER LA
-13B4 ; [.292A.0020.0002.13B4] # CHEROKEE LETTER LE
-13B5 ; [.292B.0020.0002.13B5] # CHEROKEE LETTER LI
-13B6 ; [.292C.0020.0002.13B6] # CHEROKEE LETTER LO
-13B7 ; [.292D.0020.0002.13B7] # CHEROKEE LETTER LU
-13B8 ; [.292E.0020.0002.13B8] # CHEROKEE LETTER LV
-13B9 ; [.292F.0020.0002.13B9] # CHEROKEE LETTER MA
-13BA ; [.2930.0020.0002.13BA] # CHEROKEE LETTER ME
-13BB ; [.2931.0020.0002.13BB] # CHEROKEE LETTER MI
-13BC ; [.2932.0020.0002.13BC] # CHEROKEE LETTER MO
-13BD ; [.2933.0020.0002.13BD] # CHEROKEE LETTER MU
-13BE ; [.2934.0020.0002.13BE] # CHEROKEE LETTER NA
-13BF ; [.2935.0020.0002.13BF] # CHEROKEE LETTER HNA
-13C0 ; [.2936.0020.0002.13C0] # CHEROKEE LETTER NAH
-13C1 ; [.2937.0020.0002.13C1] # CHEROKEE LETTER NE
-13C2 ; [.2938.0020.0002.13C2] # CHEROKEE LETTER NI
-13C3 ; [.2939.0020.0002.13C3] # CHEROKEE LETTER NO
-13C4 ; [.293A.0020.0002.13C4] # CHEROKEE LETTER NU
-13C5 ; [.293B.0020.0002.13C5] # CHEROKEE LETTER NV
-13C6 ; [.293C.0020.0002.13C6] # CHEROKEE LETTER QUA
-13C7 ; [.293D.0020.0002.13C7] # CHEROKEE LETTER QUE
-13C8 ; [.293E.0020.0002.13C8] # CHEROKEE LETTER QUI
-13C9 ; [.293F.0020.0002.13C9] # CHEROKEE LETTER QUO
-13CA ; [.2940.0020.0002.13CA] # CHEROKEE LETTER QUU
-13CB ; [.2941.0020.0002.13CB] # CHEROKEE LETTER QUV
-13CC ; [.2942.0020.0002.13CC] # CHEROKEE LETTER SA
-13CD ; [.2943.0020.0002.13CD] # CHEROKEE LETTER S
-13CE ; [.2944.0020.0002.13CE] # CHEROKEE LETTER SE
-13CF ; [.2945.0020.0002.13CF] # CHEROKEE LETTER SI
-13D0 ; [.2946.0020.0002.13D0] # CHEROKEE LETTER SO
-13D1 ; [.2947.0020.0002.13D1] # CHEROKEE LETTER SU
-13D2 ; [.2948.0020.0002.13D2] # CHEROKEE LETTER SV
-13D3 ; [.2949.0020.0002.13D3] # CHEROKEE LETTER DA
-13D4 ; [.294A.0020.0002.13D4] # CHEROKEE LETTER TA
-13D5 ; [.294B.0020.0002.13D5] # CHEROKEE LETTER DE
-13D6 ; [.294C.0020.0002.13D6] # CHEROKEE LETTER TE
-13D7 ; [.294D.0020.0002.13D7] # CHEROKEE LETTER DI
-13D8 ; [.294E.0020.0002.13D8] # CHEROKEE LETTER TI
-13D9 ; [.294F.0020.0002.13D9] # CHEROKEE LETTER DO
-13DA ; [.2950.0020.0002.13DA] # CHEROKEE LETTER DU
-13DB ; [.2951.0020.0002.13DB] # CHEROKEE LETTER DV
-13DC ; [.2952.0020.0002.13DC] # CHEROKEE LETTER DLA
-13DD ; [.2953.0020.0002.13DD] # CHEROKEE LETTER TLA
-13DE ; [.2954.0020.0002.13DE] # CHEROKEE LETTER TLE
-13DF ; [.2955.0020.0002.13DF] # CHEROKEE LETTER TLI
-13E0 ; [.2956.0020.0002.13E0] # CHEROKEE LETTER TLO
-13E1 ; [.2957.0020.0002.13E1] # CHEROKEE LETTER TLU
-13E2 ; [.2958.0020.0002.13E2] # CHEROKEE LETTER TLV
-13E3 ; [.2959.0020.0002.13E3] # CHEROKEE LETTER TSA
-13E4 ; [.295A.0020.0002.13E4] # CHEROKEE LETTER TSE
-13E5 ; [.295B.0020.0002.13E5] # CHEROKEE LETTER TSI
-13E6 ; [.295C.0020.0002.13E6] # CHEROKEE LETTER TSO
-13E7 ; [.295D.0020.0002.13E7] # CHEROKEE LETTER TSU
-13E8 ; [.295E.0020.0002.13E8] # CHEROKEE LETTER TSV
-13E9 ; [.295F.0020.0002.13E9] # CHEROKEE LETTER WA
-13EA ; [.2960.0020.0002.13EA] # CHEROKEE LETTER WE
-13EB ; [.2961.0020.0002.13EB] # CHEROKEE LETTER WI
-13EC ; [.2962.0020.0002.13EC] # CHEROKEE LETTER WO
-13ED ; [.2963.0020.0002.13ED] # CHEROKEE LETTER WU
-13EE ; [.2964.0020.0002.13EE] # CHEROKEE LETTER WV
-13EF ; [.2965.0020.0002.13EF] # CHEROKEE LETTER YA
-13F0 ; [.2966.0020.0002.13F0] # CHEROKEE LETTER YE
-13F1 ; [.2967.0020.0002.13F1] # CHEROKEE LETTER YI
-13F2 ; [.2968.0020.0002.13F2] # CHEROKEE LETTER YO
-13F3 ; [.2969.0020.0002.13F3] # CHEROKEE LETTER YU
-13F4 ; [.296A.0020.0002.13F4] # CHEROKEE LETTER YV
-1401 ; [.296B.0020.0002.1401] # CANADIAN SYLLABICS E
-1402 ; [.296C.0020.0002.1402] # CANADIAN SYLLABICS AAI
-1403 ; [.296D.0020.0002.1403] # CANADIAN SYLLABICS I
-1404 ; [.296E.0020.0002.1404] # CANADIAN SYLLABICS II
-1405 ; [.296F.0020.0002.1405] # CANADIAN SYLLABICS O
-1406 ; [.2970.0020.0002.1406] # CANADIAN SYLLABICS OO
-1407 ; [.2971.0020.0002.1407] # CANADIAN SYLLABICS Y-CREE OO
-1408 ; [.2972.0020.0002.1408] # CANADIAN SYLLABICS CARRIER EE
-1409 ; [.2973.0020.0002.1409] # CANADIAN SYLLABICS CARRIER I
-140A ; [.2974.0020.0002.140A] # CANADIAN SYLLABICS A
-140B ; [.2975.0020.0002.140B] # CANADIAN SYLLABICS AA
-140C ; [.2976.0020.0002.140C] # CANADIAN SYLLABICS WE
-140D ; [.2977.0020.0002.140D] # CANADIAN SYLLABICS WEST-CREE WE
-140E ; [.2978.0020.0002.140E] # CANADIAN SYLLABICS WI
-140F ; [.2979.0020.0002.140F] # CANADIAN SYLLABICS WEST-CREE WI
-1410 ; [.297A.0020.0002.1410] # CANADIAN SYLLABICS WII
-1411 ; [.297B.0020.0002.1411] # CANADIAN SYLLABICS WEST-CREE WII
-1412 ; [.297C.0020.0002.1412] # CANADIAN SYLLABICS WO
-1413 ; [.297D.0020.0002.1413] # CANADIAN SYLLABICS WEST-CREE WO
-1414 ; [.297E.0020.0002.1414] # CANADIAN SYLLABICS WOO
-1415 ; [.297F.0020.0002.1415] # CANADIAN SYLLABICS WEST-CREE WOO
-1416 ; [.2980.0020.0002.1416] # CANADIAN SYLLABICS NASKAPI WOO
-1417 ; [.2981.0020.0002.1417] # CANADIAN SYLLABICS WA
-1418 ; [.2982.0020.0002.1418] # CANADIAN SYLLABICS WEST-CREE WA
-1419 ; [.2983.0020.0002.1419] # CANADIAN SYLLABICS WAA
-141A ; [.2984.0020.0002.141A] # CANADIAN SYLLABICS WEST-CREE WAA
-141B ; [.2985.0020.0002.141B] # CANADIAN SYLLABICS NASKAPI WAA
-141C ; [.2986.0020.0002.141C] # CANADIAN SYLLABICS AI
-141D ; [.2987.0020.0002.141D] # CANADIAN SYLLABICS Y-CREE W
-141E ; [.2988.0020.0002.141E] # CANADIAN SYLLABICS GLOTTAL STOP
-141F ; [.2989.0020.0002.141F] # CANADIAN SYLLABICS FINAL ACUTE
-1420 ; [.298A.0020.0002.1420] # CANADIAN SYLLABICS FINAL GRAVE
-1421 ; [.298B.0020.0002.1421] # CANADIAN SYLLABICS FINAL BOTTOM HALF RING
-1422 ; [.298C.0020.0002.1422] # CANADIAN SYLLABICS FINAL TOP HALF RING
-1423 ; [.298D.0020.0002.1423] # CANADIAN SYLLABICS FINAL RIGHT HALF RING
-1424 ; [.298E.0020.0002.1424] # CANADIAN SYLLABICS FINAL RING
-1425 ; [.298F.0020.0002.1425] # CANADIAN SYLLABICS FINAL DOUBLE ACUTE
-1426 ; [.2990.0020.0002.1426] # CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES
-1427 ; [.2991.0020.0002.1427] # CANADIAN SYLLABICS FINAL MIDDLE DOT
-1428 ; [.2992.0020.0002.1428] # CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE
-1429 ; [.2993.0020.0002.1429] # CANADIAN SYLLABICS FINAL PLUS
-142A ; [.2994.0020.0002.142A] # CANADIAN SYLLABICS FINAL DOWN TACK
-142B ; [.2995.0020.0002.142B] # CANADIAN SYLLABICS EN
-142C ; [.2996.0020.0002.142C] # CANADIAN SYLLABICS IN
-142D ; [.2997.0020.0002.142D] # CANADIAN SYLLABICS ON
-142E ; [.2998.0020.0002.142E] # CANADIAN SYLLABICS AN
-142F ; [.2999.0020.0002.142F] # CANADIAN SYLLABICS PE
-1430 ; [.299A.0020.0002.1430] # CANADIAN SYLLABICS PAAI
-1431 ; [.299B.0020.0002.1431] # CANADIAN SYLLABICS PI
-1432 ; [.299C.0020.0002.1432] # CANADIAN SYLLABICS PII
-1433 ; [.299D.0020.0002.1433] # CANADIAN SYLLABICS PO
-1434 ; [.299E.0020.0002.1434] # CANADIAN SYLLABICS POO
-1435 ; [.299F.0020.0002.1435] # CANADIAN SYLLABICS Y-CREE POO
-1436 ; [.29A0.0020.0002.1436] # CANADIAN SYLLABICS CARRIER HEE
-1437 ; [.29A1.0020.0002.1437] # CANADIAN SYLLABICS CARRIER HI
-1438 ; [.29A2.0020.0002.1438] # CANADIAN SYLLABICS PA
-1439 ; [.29A3.0020.0002.1439] # CANADIAN SYLLABICS PAA
-143A ; [.29A4.0020.0002.143A] # CANADIAN SYLLABICS PWE
-143B ; [.29A5.0020.0002.143B] # CANADIAN SYLLABICS WEST-CREE PWE
-143C ; [.29A6.0020.0002.143C] # CANADIAN SYLLABICS PWI
-143D ; [.29A7.0020.0002.143D] # CANADIAN SYLLABICS WEST-CREE PWI
-143E ; [.29A8.0020.0002.143E] # CANADIAN SYLLABICS PWII
-143F ; [.29A9.0020.0002.143F] # CANADIAN SYLLABICS WEST-CREE PWII
-1440 ; [.29AA.0020.0002.1440] # CANADIAN SYLLABICS PWO
-1441 ; [.29AB.0020.0002.1441] # CANADIAN SYLLABICS WEST-CREE PWO
-1442 ; [.29AC.0020.0002.1442] # CANADIAN SYLLABICS PWOO
-1443 ; [.29AD.0020.0002.1443] # CANADIAN SYLLABICS WEST-CREE PWOO
-1444 ; [.29AE.0020.0002.1444] # CANADIAN SYLLABICS PWA
-1445 ; [.29AF.0020.0002.1445] # CANADIAN SYLLABICS WEST-CREE PWA
-1446 ; [.29B0.0020.0002.1446] # CANADIAN SYLLABICS PWAA
-1447 ; [.29B1.0020.0002.1447] # CANADIAN SYLLABICS WEST-CREE PWAA
-1448 ; [.29B2.0020.0002.1448] # CANADIAN SYLLABICS Y-CREE PWAA
-1449 ; [.29B3.0020.0002.1449] # CANADIAN SYLLABICS P
-144A ; [.29B4.0020.0002.144A] # CANADIAN SYLLABICS WEST-CREE P
-144B ; [.29B5.0020.0002.144B] # CANADIAN SYLLABICS CARRIER H
-144C ; [.29B6.0020.0002.144C] # CANADIAN SYLLABICS TE
-144D ; [.29B7.0020.0002.144D] # CANADIAN SYLLABICS TAAI
-144E ; [.29B8.0020.0002.144E] # CANADIAN SYLLABICS TI
-144F ; [.29B9.0020.0002.144F] # CANADIAN SYLLABICS TII
-1450 ; [.29BA.0020.0002.1450] # CANADIAN SYLLABICS TO
-1451 ; [.29BB.0020.0002.1451] # CANADIAN SYLLABICS TOO
-1452 ; [.29BC.0020.0002.1452] # CANADIAN SYLLABICS Y-CREE TOO
-1453 ; [.29BD.0020.0002.1453] # CANADIAN SYLLABICS CARRIER DEE
-1454 ; [.29BE.0020.0002.1454] # CANADIAN SYLLABICS CARRIER DI
-1455 ; [.29BF.0020.0002.1455] # CANADIAN SYLLABICS TA
-1456 ; [.29C0.0020.0002.1456] # CANADIAN SYLLABICS TAA
-1457 ; [.29C1.0020.0002.1457] # CANADIAN SYLLABICS TWE
-1458 ; [.29C2.0020.0002.1458] # CANADIAN SYLLABICS WEST-CREE TWE
-1459 ; [.29C3.0020.0002.1459] # CANADIAN SYLLABICS TWI
-145A ; [.29C4.0020.0002.145A] # CANADIAN SYLLABICS WEST-CREE TWI
-145B ; [.29C5.0020.0002.145B] # CANADIAN SYLLABICS TWII
-145C ; [.29C6.0020.0002.145C] # CANADIAN SYLLABICS WEST-CREE TWII
-145D ; [.29C7.0020.0002.145D] # CANADIAN SYLLABICS TWO
-145E ; [.29C8.0020.0002.145E] # CANADIAN SYLLABICS WEST-CREE TWO
-145F ; [.29C9.0020.0002.145F] # CANADIAN SYLLABICS TWOO
-1460 ; [.29CA.0020.0002.1460] # CANADIAN SYLLABICS WEST-CREE TWOO
-1461 ; [.29CB.0020.0002.1461] # CANADIAN SYLLABICS TWA
-1462 ; [.29CC.0020.0002.1462] # CANADIAN SYLLABICS WEST-CREE TWA
-1463 ; [.29CD.0020.0002.1463] # CANADIAN SYLLABICS TWAA
-1464 ; [.29CE.0020.0002.1464] # CANADIAN SYLLABICS WEST-CREE TWAA
-1465 ; [.29CF.0020.0002.1465] # CANADIAN SYLLABICS NASKAPI TWAA
-1466 ; [.29D0.0020.0002.1466] # CANADIAN SYLLABICS T
-1467 ; [.29D1.0020.0002.1467] # CANADIAN SYLLABICS TTE
-1468 ; [.29D2.0020.0002.1468] # CANADIAN SYLLABICS TTI
-1469 ; [.29D3.0020.0002.1469] # CANADIAN SYLLABICS TTO
-146A ; [.29D4.0020.0002.146A] # CANADIAN SYLLABICS TTA
-146B ; [.29D5.0020.0002.146B] # CANADIAN SYLLABICS KE
-146C ; [.29D6.0020.0002.146C] # CANADIAN SYLLABICS KAAI
-146D ; [.29D7.0020.0002.146D] # CANADIAN SYLLABICS KI
-146E ; [.29D8.0020.0002.146E] # CANADIAN SYLLABICS KII
-146F ; [.29D9.0020.0002.146F] # CANADIAN SYLLABICS KO
-1470 ; [.29DA.0020.0002.1470] # CANADIAN SYLLABICS KOO
-1471 ; [.29DB.0020.0002.1471] # CANADIAN SYLLABICS Y-CREE KOO
-1472 ; [.29DC.0020.0002.1472] # CANADIAN SYLLABICS KA
-1473 ; [.29DD.0020.0002.1473] # CANADIAN SYLLABICS KAA
-1474 ; [.29DE.0020.0002.1474] # CANADIAN SYLLABICS KWE
-1475 ; [.29DF.0020.0002.1475] # CANADIAN SYLLABICS WEST-CREE KWE
-1476 ; [.29E0.0020.0002.1476] # CANADIAN SYLLABICS KWI
-1477 ; [.29E1.0020.0002.1477] # CANADIAN SYLLABICS WEST-CREE KWI
-1478 ; [.29E2.0020.0002.1478] # CANADIAN SYLLABICS KWII
-1479 ; [.29E3.0020.0002.1479] # CANADIAN SYLLABICS WEST-CREE KWII
-147A ; [.29E4.0020.0002.147A] # CANADIAN SYLLABICS KWO
-147B ; [.29E5.0020.0002.147B] # CANADIAN SYLLABICS WEST-CREE KWO
-147C ; [.29E6.0020.0002.147C] # CANADIAN SYLLABICS KWOO
-147D ; [.29E7.0020.0002.147D] # CANADIAN SYLLABICS WEST-CREE KWOO
-147E ; [.29E8.0020.0002.147E] # CANADIAN SYLLABICS KWA
-147F ; [.29E9.0020.0002.147F] # CANADIAN SYLLABICS WEST-CREE KWA
-1480 ; [.29EA.0020.0002.1480] # CANADIAN SYLLABICS KWAA
-1481 ; [.29EB.0020.0002.1481] # CANADIAN SYLLABICS WEST-CREE KWAA
-1482 ; [.29EC.0020.0002.1482] # CANADIAN SYLLABICS NASKAPI KWAA
-1483 ; [.29ED.0020.0002.1483] # CANADIAN SYLLABICS K
-1484 ; [.29EE.0020.0002.1484] # CANADIAN SYLLABICS KW
-1485 ; [.29EF.0020.0002.1485] # CANADIAN SYLLABICS SOUTH-SLAVEY KEH
-1486 ; [.29F0.0020.0002.1486] # CANADIAN SYLLABICS SOUTH-SLAVEY KIH
-1487 ; [.29F1.0020.0002.1487] # CANADIAN SYLLABICS SOUTH-SLAVEY KOH
-1488 ; [.29F2.0020.0002.1488] # CANADIAN SYLLABICS SOUTH-SLAVEY KAH
-1489 ; [.29F3.0020.0002.1489] # CANADIAN SYLLABICS CE
-148A ; [.29F4.0020.0002.148A] # CANADIAN SYLLABICS CAAI
-148B ; [.29F5.0020.0002.148B] # CANADIAN SYLLABICS CI
-148C ; [.29F6.0020.0002.148C] # CANADIAN SYLLABICS CII
-148D ; [.29F7.0020.0002.148D] # CANADIAN SYLLABICS CO
-148E ; [.29F8.0020.0002.148E] # CANADIAN SYLLABICS COO
-148F ; [.29F9.0020.0002.148F] # CANADIAN SYLLABICS Y-CREE COO
-1490 ; [.29FA.0020.0002.1490] # CANADIAN SYLLABICS CA
-1491 ; [.29FB.0020.0002.1491] # CANADIAN SYLLABICS CAA
-1492 ; [.29FC.0020.0002.1492] # CANADIAN SYLLABICS CWE
-1493 ; [.29FD.0020.0002.1493] # CANADIAN SYLLABICS WEST-CREE CWE
-1494 ; [.29FE.0020.0002.1494] # CANADIAN SYLLABICS CWI
-1495 ; [.29FF.0020.0002.1495] # CANADIAN SYLLABICS WEST-CREE CWI
-1496 ; [.2A00.0020.0002.1496] # CANADIAN SYLLABICS CWII
-1497 ; [.2A01.0020.0002.1497] # CANADIAN SYLLABICS WEST-CREE CWII
-1498 ; [.2A02.0020.0002.1498] # CANADIAN SYLLABICS CWO
-1499 ; [.2A03.0020.0002.1499] # CANADIAN SYLLABICS WEST-CREE CWO
-149A ; [.2A04.0020.0002.149A] # CANADIAN SYLLABICS CWOO
-149B ; [.2A05.0020.0002.149B] # CANADIAN SYLLABICS WEST-CREE CWOO
-149C ; [.2A06.0020.0002.149C] # CANADIAN SYLLABICS CWA
-149D ; [.2A07.0020.0002.149D] # CANADIAN SYLLABICS WEST-CREE CWA
-149E ; [.2A08.0020.0002.149E] # CANADIAN SYLLABICS CWAA
-149F ; [.2A09.0020.0002.149F] # CANADIAN SYLLABICS WEST-CREE CWAA
-14A0 ; [.2A0A.0020.0002.14A0] # CANADIAN SYLLABICS NASKAPI CWAA
-14A1 ; [.2A0B.0020.0002.14A1] # CANADIAN SYLLABICS C
-14A2 ; [.2A0C.0020.0002.14A2] # CANADIAN SYLLABICS SAYISI TH
-14A3 ; [.2A0D.0020.0002.14A3] # CANADIAN SYLLABICS ME
-14A4 ; [.2A0E.0020.0002.14A4] # CANADIAN SYLLABICS MAAI
-14A5 ; [.2A0F.0020.0002.14A5] # CANADIAN SYLLABICS MI
-14A6 ; [.2A10.0020.0002.14A6] # CANADIAN SYLLABICS MII
-14A7 ; [.2A11.0020.0002.14A7] # CANADIAN SYLLABICS MO
-14A8 ; [.2A12.0020.0002.14A8] # CANADIAN SYLLABICS MOO
-14A9 ; [.2A13.0020.0002.14A9] # CANADIAN SYLLABICS Y-CREE MOO
-14AA ; [.2A14.0020.0002.14AA] # CANADIAN SYLLABICS MA
-14AB ; [.2A15.0020.0002.14AB] # CANADIAN SYLLABICS MAA
-14AC ; [.2A16.0020.0002.14AC] # CANADIAN SYLLABICS MWE
-14AD ; [.2A17.0020.0002.14AD] # CANADIAN SYLLABICS WEST-CREE MWE
-14AE ; [.2A18.0020.0002.14AE] # CANADIAN SYLLABICS MWI
-14AF ; [.2A19.0020.0002.14AF] # CANADIAN SYLLABICS WEST-CREE MWI
-14B0 ; [.2A1A.0020.0002.14B0] # CANADIAN SYLLABICS MWII
-14B1 ; [.2A1B.0020.0002.14B1] # CANADIAN SYLLABICS WEST-CREE MWII
-14B2 ; [.2A1C.0020.0002.14B2] # CANADIAN SYLLABICS MWO
-14B3 ; [.2A1D.0020.0002.14B3] # CANADIAN SYLLABICS WEST-CREE MWO
-14B4 ; [.2A1E.0020.0002.14B4] # CANADIAN SYLLABICS MWOO
-14B5 ; [.2A1F.0020.0002.14B5] # CANADIAN SYLLABICS WEST-CREE MWOO
-14B6 ; [.2A20.0020.0002.14B6] # CANADIAN SYLLABICS MWA
-14B7 ; [.2A21.0020.0002.14B7] # CANADIAN SYLLABICS WEST-CREE MWA
-14B8 ; [.2A22.0020.0002.14B8] # CANADIAN SYLLABICS MWAA
-14B9 ; [.2A23.0020.0002.14B9] # CANADIAN SYLLABICS WEST-CREE MWAA
-14BA ; [.2A24.0020.0002.14BA] # CANADIAN SYLLABICS NASKAPI MWAA
-14BB ; [.2A25.0020.0002.14BB] # CANADIAN SYLLABICS M
-14BC ; [.2A26.0020.0002.14BC] # CANADIAN SYLLABICS WEST-CREE M
-14BD ; [.2A27.0020.0002.14BD] # CANADIAN SYLLABICS MH
-14BE ; [.2A28.0020.0002.14BE] # CANADIAN SYLLABICS ATHAPASCAN M
-14BF ; [.2A29.0020.0002.14BF] # CANADIAN SYLLABICS SAYISI M
-14C0 ; [.2A2A.0020.0002.14C0] # CANADIAN SYLLABICS NE
-14C1 ; [.2A2B.0020.0002.14C1] # CANADIAN SYLLABICS NAAI
-14C2 ; [.2A2C.0020.0002.14C2] # CANADIAN SYLLABICS NI
-14C3 ; [.2A2D.0020.0002.14C3] # CANADIAN SYLLABICS NII
-14C4 ; [.2A2E.0020.0002.14C4] # CANADIAN SYLLABICS NO
-14C5 ; [.2A2F.0020.0002.14C5] # CANADIAN SYLLABICS NOO
-14C6 ; [.2A30.0020.0002.14C6] # CANADIAN SYLLABICS Y-CREE NOO
-14C7 ; [.2A31.0020.0002.14C7] # CANADIAN SYLLABICS NA
-14C8 ; [.2A32.0020.0002.14C8] # CANADIAN SYLLABICS NAA
-14C9 ; [.2A33.0020.0002.14C9] # CANADIAN SYLLABICS NWE
-14CA ; [.2A34.0020.0002.14CA] # CANADIAN SYLLABICS WEST-CREE NWE
-14CB ; [.2A35.0020.0002.14CB] # CANADIAN SYLLABICS NWA
-14CC ; [.2A36.0020.0002.14CC] # CANADIAN SYLLABICS WEST-CREE NWA
-14CD ; [.2A37.0020.0002.14CD] # CANADIAN SYLLABICS NWAA
-14CE ; [.2A38.0020.0002.14CE] # CANADIAN SYLLABICS WEST-CREE NWAA
-14CF ; [.2A39.0020.0002.14CF] # CANADIAN SYLLABICS NASKAPI NWAA
-14D0 ; [.2A3A.0020.0002.14D0] # CANADIAN SYLLABICS N
-14D1 ; [.2A3B.0020.0002.14D1] # CANADIAN SYLLABICS CARRIER NG
-14D2 ; [.2A3C.0020.0002.14D2] # CANADIAN SYLLABICS NH
-14D3 ; [.2A3D.0020.0002.14D3] # CANADIAN SYLLABICS LE
-14D4 ; [.2A3E.0020.0002.14D4] # CANADIAN SYLLABICS LAAI
-14D5 ; [.2A3F.0020.0002.14D5] # CANADIAN SYLLABICS LI
-14D6 ; [.2A40.0020.0002.14D6] # CANADIAN SYLLABICS LII
-14D7 ; [.2A41.0020.0002.14D7] # CANADIAN SYLLABICS LO
-14D8 ; [.2A42.0020.0002.14D8] # CANADIAN SYLLABICS LOO
-14D9 ; [.2A43.0020.0002.14D9] # CANADIAN SYLLABICS Y-CREE LOO
-14DA ; [.2A44.0020.0002.14DA] # CANADIAN SYLLABICS LA
-14DB ; [.2A45.0020.0002.14DB] # CANADIAN SYLLABICS LAA
-14DC ; [.2A46.0020.0002.14DC] # CANADIAN SYLLABICS LWE
-14DD ; [.2A47.0020.0002.14DD] # CANADIAN SYLLABICS WEST-CREE LWE
-14DE ; [.2A48.0020.0002.14DE] # CANADIAN SYLLABICS LWI
-14DF ; [.2A49.0020.0002.14DF] # CANADIAN SYLLABICS WEST-CREE LWI
-14E0 ; [.2A4A.0020.0002.14E0] # CANADIAN SYLLABICS LWII
-14E1 ; [.2A4B.0020.0002.14E1] # CANADIAN SYLLABICS WEST-CREE LWII
-14E2 ; [.2A4C.0020.0002.14E2] # CANADIAN SYLLABICS LWO
-14E3 ; [.2A4D.0020.0002.14E3] # CANADIAN SYLLABICS WEST-CREE LWO
-14E4 ; [.2A4E.0020.0002.14E4] # CANADIAN SYLLABICS LWOO
-14E5 ; [.2A4F.0020.0002.14E5] # CANADIAN SYLLABICS WEST-CREE LWOO
-14E6 ; [.2A50.0020.0002.14E6] # CANADIAN SYLLABICS LWA
-14E7 ; [.2A51.0020.0002.14E7] # CANADIAN SYLLABICS WEST-CREE LWA
-14E8 ; [.2A52.0020.0002.14E8] # CANADIAN SYLLABICS LWAA
-14E9 ; [.2A53.0020.0002.14E9] # CANADIAN SYLLABICS WEST-CREE LWAA
-14EA ; [.2A54.0020.0002.14EA] # CANADIAN SYLLABICS L
-14EB ; [.2A55.0020.0002.14EB] # CANADIAN SYLLABICS WEST-CREE L
-14EC ; [.2A56.0020.0002.14EC] # CANADIAN SYLLABICS MEDIAL L
-14ED ; [.2A57.0020.0002.14ED] # CANADIAN SYLLABICS SE
-14EE ; [.2A58.0020.0002.14EE] # CANADIAN SYLLABICS SAAI
-14EF ; [.2A59.0020.0002.14EF] # CANADIAN SYLLABICS SI
-14F0 ; [.2A5A.0020.0002.14F0] # CANADIAN SYLLABICS SII
-14F1 ; [.2A5B.0020.0002.14F1] # CANADIAN SYLLABICS SO
-14F2 ; [.2A5C.0020.0002.14F2] # CANADIAN SYLLABICS SOO
-14F3 ; [.2A5D.0020.0002.14F3] # CANADIAN SYLLABICS Y-CREE SOO
-14F4 ; [.2A5E.0020.0002.14F4] # CANADIAN SYLLABICS SA
-14F5 ; [.2A5F.0020.0002.14F5] # CANADIAN SYLLABICS SAA
-14F6 ; [.2A60.0020.0002.14F6] # CANADIAN SYLLABICS SWE
-14F7 ; [.2A61.0020.0002.14F7] # CANADIAN SYLLABICS WEST-CREE SWE
-14F8 ; [.2A62.0020.0002.14F8] # CANADIAN SYLLABICS SWI
-14F9 ; [.2A63.0020.0002.14F9] # CANADIAN SYLLABICS WEST-CREE SWI
-14FA ; [.2A64.0020.0002.14FA] # CANADIAN SYLLABICS SWII
-14FB ; [.2A65.0020.0002.14FB] # CANADIAN SYLLABICS WEST-CREE SWII
-14FC ; [.2A66.0020.0002.14FC] # CANADIAN SYLLABICS SWO
-14FD ; [.2A67.0020.0002.14FD] # CANADIAN SYLLABICS WEST-CREE SWO
-14FE ; [.2A68.0020.0002.14FE] # CANADIAN SYLLABICS SWOO
-14FF ; [.2A69.0020.0002.14FF] # CANADIAN SYLLABICS WEST-CREE SWOO
-1500 ; [.2A6A.0020.0002.1500] # CANADIAN SYLLABICS SWA
-1501 ; [.2A6B.0020.0002.1501] # CANADIAN SYLLABICS WEST-CREE SWA
-1502 ; [.2A6C.0020.0002.1502] # CANADIAN SYLLABICS SWAA
-1503 ; [.2A6D.0020.0002.1503] # CANADIAN SYLLABICS WEST-CREE SWAA
-1504 ; [.2A6E.0020.0002.1504] # CANADIAN SYLLABICS NASKAPI SWAA
-1505 ; [.2A6F.0020.0002.1505] # CANADIAN SYLLABICS S
-1506 ; [.2A70.0020.0002.1506] # CANADIAN SYLLABICS ATHAPASCAN S
-1507 ; [.2A71.0020.0002.1507] # CANADIAN SYLLABICS SW
-1508 ; [.2A72.0020.0002.1508] # CANADIAN SYLLABICS BLACKFOOT S
-1509 ; [.2A73.0020.0002.1509] # CANADIAN SYLLABICS MOOSE-CREE SK
-150A ; [.2A74.0020.0002.150A] # CANADIAN SYLLABICS NASKAPI SKW
-150B ; [.2A75.0020.0002.150B] # CANADIAN SYLLABICS NASKAPI S-W
-150C ; [.2A76.0020.0002.150C] # CANADIAN SYLLABICS NASKAPI SPWA
-150D ; [.2A77.0020.0002.150D] # CANADIAN SYLLABICS NASKAPI STWA
-150E ; [.2A78.0020.0002.150E] # CANADIAN SYLLABICS NASKAPI SKWA
-150F ; [.2A79.0020.0002.150F] # CANADIAN SYLLABICS NASKAPI SCWA
-1510 ; [.2A7A.0020.0002.1510] # CANADIAN SYLLABICS SHE
-1511 ; [.2A7B.0020.0002.1511] # CANADIAN SYLLABICS SHI
-1512 ; [.2A7C.0020.0002.1512] # CANADIAN SYLLABICS SHII
-1513 ; [.2A7D.0020.0002.1513] # CANADIAN SYLLABICS SHO
-1514 ; [.2A7E.0020.0002.1514] # CANADIAN SYLLABICS SHOO
-1515 ; [.2A7F.0020.0002.1515] # CANADIAN SYLLABICS SHA
-1516 ; [.2A80.0020.0002.1516] # CANADIAN SYLLABICS SHAA
-1517 ; [.2A81.0020.0002.1517] # CANADIAN SYLLABICS SHWE
-1518 ; [.2A82.0020.0002.1518] # CANADIAN SYLLABICS WEST-CREE SHWE
-1519 ; [.2A83.0020.0002.1519] # CANADIAN SYLLABICS SHWI
-151A ; [.2A84.0020.0002.151A] # CANADIAN SYLLABICS WEST-CREE SHWI
-151B ; [.2A85.0020.0002.151B] # CANADIAN SYLLABICS SHWII
-151C ; [.2A86.0020.0002.151C] # CANADIAN SYLLABICS WEST-CREE SHWII
-151D ; [.2A87.0020.0002.151D] # CANADIAN SYLLABICS SHWO
-151E ; [.2A88.0020.0002.151E] # CANADIAN SYLLABICS WEST-CREE SHWO
-151F ; [.2A89.0020.0002.151F] # CANADIAN SYLLABICS SHWOO
-1520 ; [.2A8A.0020.0002.1520] # CANADIAN SYLLABICS WEST-CREE SHWOO
-1521 ; [.2A8B.0020.0002.1521] # CANADIAN SYLLABICS SHWA
-1522 ; [.2A8C.0020.0002.1522] # CANADIAN SYLLABICS WEST-CREE SHWA
-1523 ; [.2A8D.0020.0002.1523] # CANADIAN SYLLABICS SHWAA
-1524 ; [.2A8E.0020.0002.1524] # CANADIAN SYLLABICS WEST-CREE SHWAA
-1525 ; [.2A8F.0020.0002.1525] # CANADIAN SYLLABICS SH
-1526 ; [.2A90.0020.0002.1526] # CANADIAN SYLLABICS YE
-1527 ; [.2A91.0020.0002.1527] # CANADIAN SYLLABICS YAAI
-1528 ; [.2A92.0020.0002.1528] # CANADIAN SYLLABICS YI
-1529 ; [.2A93.0020.0002.1529] # CANADIAN SYLLABICS YII
-152A ; [.2A94.0020.0002.152A] # CANADIAN SYLLABICS YO
-152B ; [.2A95.0020.0002.152B] # CANADIAN SYLLABICS YOO
-152C ; [.2A96.0020.0002.152C] # CANADIAN SYLLABICS Y-CREE YOO
-152D ; [.2A97.0020.0002.152D] # CANADIAN SYLLABICS YA
-152E ; [.2A98.0020.0002.152E] # CANADIAN SYLLABICS YAA
-152F ; [.2A99.0020.0002.152F] # CANADIAN SYLLABICS YWE
-1530 ; [.2A9A.0020.0002.1530] # CANADIAN SYLLABICS WEST-CREE YWE
-1531 ; [.2A9B.0020.0002.1531] # CANADIAN SYLLABICS YWI
-1532 ; [.2A9C.0020.0002.1532] # CANADIAN SYLLABICS WEST-CREE YWI
-1533 ; [.2A9D.0020.0002.1533] # CANADIAN SYLLABICS YWII
-1534 ; [.2A9E.0020.0002.1534] # CANADIAN SYLLABICS WEST-CREE YWII
-1535 ; [.2A9F.0020.0002.1535] # CANADIAN SYLLABICS YWO
-1536 ; [.2AA0.0020.0002.1536] # CANADIAN SYLLABICS WEST-CREE YWO
-1537 ; [.2AA1.0020.0002.1537] # CANADIAN SYLLABICS YWOO
-1538 ; [.2AA2.0020.0002.1538] # CANADIAN SYLLABICS WEST-CREE YWOO
-1539 ; [.2AA3.0020.0002.1539] # CANADIAN SYLLABICS YWA
-153A ; [.2AA4.0020.0002.153A] # CANADIAN SYLLABICS WEST-CREE YWA
-153B ; [.2AA5.0020.0002.153B] # CANADIAN SYLLABICS YWAA
-153C ; [.2AA6.0020.0002.153C] # CANADIAN SYLLABICS WEST-CREE YWAA
-153D ; [.2AA7.0020.0002.153D] # CANADIAN SYLLABICS NASKAPI YWAA
-153E ; [.2AA8.0020.0002.153E] # CANADIAN SYLLABICS Y
-153F ; [.2AA9.0020.0002.153F] # CANADIAN SYLLABICS BIBLE-CREE Y
-1540 ; [.2AAA.0020.0002.1540] # CANADIAN SYLLABICS WEST-CREE Y
-1541 ; [.2AAB.0020.0002.1541] # CANADIAN SYLLABICS SAYISI YI
-1542 ; [.2AAC.0020.0002.1542] # CANADIAN SYLLABICS RE
-1543 ; [.2AAD.0020.0002.1543] # CANADIAN SYLLABICS R-CREE RE
-1544 ; [.2AAE.0020.0002.1544] # CANADIAN SYLLABICS WEST-CREE LE
-1545 ; [.2AAF.0020.0002.1545] # CANADIAN SYLLABICS RAAI
-1546 ; [.2AB0.0020.0002.1546] # CANADIAN SYLLABICS RI
-1547 ; [.2AB1.0020.0002.1547] # CANADIAN SYLLABICS RII
-1548 ; [.2AB2.0020.0002.1548] # CANADIAN SYLLABICS RO
-1549 ; [.2AB3.0020.0002.1549] # CANADIAN SYLLABICS ROO
-154A ; [.2AB4.0020.0002.154A] # CANADIAN SYLLABICS WEST-CREE LO
-154B ; [.2AB5.0020.0002.154B] # CANADIAN SYLLABICS RA
-154C ; [.2AB6.0020.0002.154C] # CANADIAN SYLLABICS RAA
-154D ; [.2AB7.0020.0002.154D] # CANADIAN SYLLABICS WEST-CREE LA
-154E ; [.2AB8.0020.0002.154E] # CANADIAN SYLLABICS RWAA
-154F ; [.2AB9.0020.0002.154F] # CANADIAN SYLLABICS WEST-CREE RWAA
-1550 ; [.2ABA.0020.0002.1550] # CANADIAN SYLLABICS R
-1551 ; [.2ABB.0020.0002.1551] # CANADIAN SYLLABICS WEST-CREE R
-1552 ; [.2ABC.0020.0002.1552] # CANADIAN SYLLABICS MEDIAL R
-1553 ; [.2ABD.0020.0002.1553] # CANADIAN SYLLABICS FE
-1554 ; [.2ABE.0020.0002.1554] # CANADIAN SYLLABICS FAAI
-1555 ; [.2ABF.0020.0002.1555] # CANADIAN SYLLABICS FI
-1556 ; [.2AC0.0020.0002.1556] # CANADIAN SYLLABICS FII
-1557 ; [.2AC1.0020.0002.1557] # CANADIAN SYLLABICS FO
-1558 ; [.2AC2.0020.0002.1558] # CANADIAN SYLLABICS FOO
-1559 ; [.2AC3.0020.0002.1559] # CANADIAN SYLLABICS FA
-155A ; [.2AC4.0020.0002.155A] # CANADIAN SYLLABICS FAA
-155B ; [.2AC5.0020.0002.155B] # CANADIAN SYLLABICS FWAA
-155C ; [.2AC6.0020.0002.155C] # CANADIAN SYLLABICS WEST-CREE FWAA
-155D ; [.2AC7.0020.0002.155D] # CANADIAN SYLLABICS F
-155E ; [.2AC8.0020.0002.155E] # CANADIAN SYLLABICS THE
-155F ; [.2AC9.0020.0002.155F] # CANADIAN SYLLABICS N-CREE THE
-1560 ; [.2ACA.0020.0002.1560] # CANADIAN SYLLABICS THI
-1561 ; [.2ACB.0020.0002.1561] # CANADIAN SYLLABICS N-CREE THI
-1562 ; [.2ACC.0020.0002.1562] # CANADIAN SYLLABICS THII
-1563 ; [.2ACD.0020.0002.1563] # CANADIAN SYLLABICS N-CREE THII
-1564 ; [.2ACE.0020.0002.1564] # CANADIAN SYLLABICS THO
-1565 ; [.2ACF.0020.0002.1565] # CANADIAN SYLLABICS THOO
-1566 ; [.2AD0.0020.0002.1566] # CANADIAN SYLLABICS THA
-1567 ; [.2AD1.0020.0002.1567] # CANADIAN SYLLABICS THAA
-1568 ; [.2AD2.0020.0002.1568] # CANADIAN SYLLABICS THWAA
-1569 ; [.2AD3.0020.0002.1569] # CANADIAN SYLLABICS WEST-CREE THWAA
-156A ; [.2AD4.0020.0002.156A] # CANADIAN SYLLABICS TH
-156B ; [.2AD5.0020.0002.156B] # CANADIAN SYLLABICS TTHE
-156C ; [.2AD6.0020.0002.156C] # CANADIAN SYLLABICS TTHI
-156D ; [.2AD7.0020.0002.156D] # CANADIAN SYLLABICS TTHO
-156E ; [.2AD8.0020.0002.156E] # CANADIAN SYLLABICS TTHA
-156F ; [.2AD9.0020.0002.156F] # CANADIAN SYLLABICS TTH
-1570 ; [.2ADA.0020.0002.1570] # CANADIAN SYLLABICS TYE
-1571 ; [.2ADB.0020.0002.1571] # CANADIAN SYLLABICS TYI
-1572 ; [.2ADC.0020.0002.1572] # CANADIAN SYLLABICS TYO
-1573 ; [.2ADD.0020.0002.1573] # CANADIAN SYLLABICS TYA
-1574 ; [.2ADE.0020.0002.1574] # CANADIAN SYLLABICS NUNAVIK HE
-1575 ; [.2ADF.0020.0002.1575] # CANADIAN SYLLABICS NUNAVIK HI
-1576 ; [.2AE0.0020.0002.1576] # CANADIAN SYLLABICS NUNAVIK HII
-1577 ; [.2AE1.0020.0002.1577] # CANADIAN SYLLABICS NUNAVIK HO
-1578 ; [.2AE2.0020.0002.1578] # CANADIAN SYLLABICS NUNAVIK HOO
-1579 ; [.2AE3.0020.0002.1579] # CANADIAN SYLLABICS NUNAVIK HA
-157A ; [.2AE4.0020.0002.157A] # CANADIAN SYLLABICS NUNAVIK HAA
-157B ; [.2AE5.0020.0002.157B] # CANADIAN SYLLABICS NUNAVIK H
-157D ; [.2AE6.0020.0002.157D] # CANADIAN SYLLABICS HK
-166F ; [.2AE7.0020.0002.166F] # CANADIAN SYLLABICS QAI
-157E ; [.2AE8.0020.0002.157E] # CANADIAN SYLLABICS QAAI
-157F ; [.2AE9.0020.0002.157F] # CANADIAN SYLLABICS QI
-1580 ; [.2AEA.0020.0002.1580] # CANADIAN SYLLABICS QII
-1581 ; [.2AEB.0020.0002.1581] # CANADIAN SYLLABICS QO
-1582 ; [.2AEC.0020.0002.1582] # CANADIAN SYLLABICS QOO
-1583 ; [.2AED.0020.0002.1583] # CANADIAN SYLLABICS QA
-1584 ; [.2AEE.0020.0002.1584] # CANADIAN SYLLABICS QAA
-1585 ; [.2AEF.0020.0002.1585] # CANADIAN SYLLABICS Q
-1586 ; [.2AF0.0020.0002.1586] # CANADIAN SYLLABICS TLHE
-1587 ; [.2AF1.0020.0002.1587] # CANADIAN SYLLABICS TLHI
-1588 ; [.2AF2.0020.0002.1588] # CANADIAN SYLLABICS TLHO
-1589 ; [.2AF3.0020.0002.1589] # CANADIAN SYLLABICS TLHA
-158A ; [.2AF4.0020.0002.158A] # CANADIAN SYLLABICS WEST-CREE RE
-158B ; [.2AF5.0020.0002.158B] # CANADIAN SYLLABICS WEST-CREE RI
-158C ; [.2AF6.0020.0002.158C] # CANADIAN SYLLABICS WEST-CREE RO
-158D ; [.2AF7.0020.0002.158D] # CANADIAN SYLLABICS WEST-CREE RA
-1670 ; [.2AF8.0020.0002.1670] # CANADIAN SYLLABICS NGAI
-158E ; [.2AF9.0020.0002.158E] # CANADIAN SYLLABICS NGAAI
-158F ; [.2AFA.0020.0002.158F] # CANADIAN SYLLABICS NGI
-1590 ; [.2AFB.0020.0002.1590] # CANADIAN SYLLABICS NGII
-1591 ; [.2AFC.0020.0002.1591] # CANADIAN SYLLABICS NGO
-1592 ; [.2AFD.0020.0002.1592] # CANADIAN SYLLABICS NGOO
-1593 ; [.2AFE.0020.0002.1593] # CANADIAN SYLLABICS NGA
-1594 ; [.2AFF.0020.0002.1594] # CANADIAN SYLLABICS NGAA
-1595 ; [.2B00.0020.0002.1595] # CANADIAN SYLLABICS NG
-1671 ; [.2B01.0020.0002.1671] # CANADIAN SYLLABICS NNGI
-1672 ; [.2B02.0020.0002.1672] # CANADIAN SYLLABICS NNGII
-1673 ; [.2B03.0020.0002.1673] # CANADIAN SYLLABICS NNGO
-1674 ; [.2B04.0020.0002.1674] # CANADIAN SYLLABICS NNGOO
-1675 ; [.2B05.0020.0002.1675] # CANADIAN SYLLABICS NNGA
-1676 ; [.2B06.0020.0002.1676] # CANADIAN SYLLABICS NNGAA
-1596 ; [.2B07.0020.0002.1596] # CANADIAN SYLLABICS NNG
-1597 ; [.2B08.0020.0002.1597] # CANADIAN SYLLABICS SAYISI SHE
-1598 ; [.2B09.0020.0002.1598] # CANADIAN SYLLABICS SAYISI SHI
-1599 ; [.2B0A.0020.0002.1599] # CANADIAN SYLLABICS SAYISI SHO
-159A ; [.2B0B.0020.0002.159A] # CANADIAN SYLLABICS SAYISI SHA
-159B ; [.2B0C.0020.0002.159B] # CANADIAN SYLLABICS WOODS-CREE THE
-159C ; [.2B0D.0020.0002.159C] # CANADIAN SYLLABICS WOODS-CREE THI
-159D ; [.2B0E.0020.0002.159D] # CANADIAN SYLLABICS WOODS-CREE THO
-159E ; [.2B0F.0020.0002.159E] # CANADIAN SYLLABICS WOODS-CREE THA
-159F ; [.2B10.0020.0002.159F] # CANADIAN SYLLABICS WOODS-CREE TH
-15A0 ; [.2B11.0020.0002.15A0] # CANADIAN SYLLABICS LHI
-15A1 ; [.2B12.0020.0002.15A1] # CANADIAN SYLLABICS LHII
-15A2 ; [.2B13.0020.0002.15A2] # CANADIAN SYLLABICS LHO
-15A3 ; [.2B14.0020.0002.15A3] # CANADIAN SYLLABICS LHOO
-15A4 ; [.2B15.0020.0002.15A4] # CANADIAN SYLLABICS LHA
-15A5 ; [.2B16.0020.0002.15A5] # CANADIAN SYLLABICS LHAA
-15A6 ; [.2B17.0020.0002.15A6] # CANADIAN SYLLABICS LH
-157C ; [.2B18.0020.0002.157C] # CANADIAN SYLLABICS NUNAVUT H
-15A7 ; [.2B19.0020.0002.15A7] # CANADIAN SYLLABICS TH-CREE THE
-15A8 ; [.2B1A.0020.0002.15A8] # CANADIAN SYLLABICS TH-CREE THI
-15A9 ; [.2B1B.0020.0002.15A9] # CANADIAN SYLLABICS TH-CREE THII
-15AA ; [.2B1C.0020.0002.15AA] # CANADIAN SYLLABICS TH-CREE THO
-15AB ; [.2B1D.0020.0002.15AB] # CANADIAN SYLLABICS TH-CREE THOO
-15AC ; [.2B1E.0020.0002.15AC] # CANADIAN SYLLABICS TH-CREE THA
-15AD ; [.2B1F.0020.0002.15AD] # CANADIAN SYLLABICS TH-CREE THAA
-15AE ; [.2B20.0020.0002.15AE] # CANADIAN SYLLABICS TH-CREE TH
-15AF ; [.2B21.0020.0002.15AF] # CANADIAN SYLLABICS AIVILIK B
-15B0 ; [.2B22.0020.0002.15B0] # CANADIAN SYLLABICS BLACKFOOT E
-15B1 ; [.2B23.0020.0002.15B1] # CANADIAN SYLLABICS BLACKFOOT I
-15B2 ; [.2B24.0020.0002.15B2] # CANADIAN SYLLABICS BLACKFOOT O
-15B3 ; [.2B25.0020.0002.15B3] # CANADIAN SYLLABICS BLACKFOOT A
-15B4 ; [.2B26.0020.0002.15B4] # CANADIAN SYLLABICS BLACKFOOT WE
-15B5 ; [.2B27.0020.0002.15B5] # CANADIAN SYLLABICS BLACKFOOT WI
-15B6 ; [.2B28.0020.0002.15B6] # CANADIAN SYLLABICS BLACKFOOT WO
-15B7 ; [.2B29.0020.0002.15B7] # CANADIAN SYLLABICS BLACKFOOT WA
-15B8 ; [.2B2A.0020.0002.15B8] # CANADIAN SYLLABICS BLACKFOOT NE
-15B9 ; [.2B2B.0020.0002.15B9] # CANADIAN SYLLABICS BLACKFOOT NI
-15BA ; [.2B2C.0020.0002.15BA] # CANADIAN SYLLABICS BLACKFOOT NO
-15BB ; [.2B2D.0020.0002.15BB] # CANADIAN SYLLABICS BLACKFOOT NA
-15BC ; [.2B2E.0020.0002.15BC] # CANADIAN SYLLABICS BLACKFOOT KE
-15BD ; [.2B2F.0020.0002.15BD] # CANADIAN SYLLABICS BLACKFOOT KI
-15BE ; [.2B30.0020.0002.15BE] # CANADIAN SYLLABICS BLACKFOOT KO
-15BF ; [.2B31.0020.0002.15BF] # CANADIAN SYLLABICS BLACKFOOT KA
-15C0 ; [.2B32.0020.0002.15C0] # CANADIAN SYLLABICS SAYISI HE
-15C1 ; [.2B33.0020.0002.15C1] # CANADIAN SYLLABICS SAYISI HI
-15C2 ; [.2B34.0020.0002.15C2] # CANADIAN SYLLABICS SAYISI HO
-15C3 ; [.2B35.0020.0002.15C3] # CANADIAN SYLLABICS SAYISI HA
-15C4 ; [.2B36.0020.0002.15C4] # CANADIAN SYLLABICS CARRIER GHU
-15C5 ; [.2B37.0020.0002.15C5] # CANADIAN SYLLABICS CARRIER GHO
-15C6 ; [.2B38.0020.0002.15C6] # CANADIAN SYLLABICS CARRIER GHE
-15C7 ; [.2B39.0020.0002.15C7] # CANADIAN SYLLABICS CARRIER GHEE
-15C8 ; [.2B3A.0020.0002.15C8] # CANADIAN SYLLABICS CARRIER GHI
-15C9 ; [.2B3B.0020.0002.15C9] # CANADIAN SYLLABICS CARRIER GHA
-15CA ; [.2B3C.0020.0002.15CA] # CANADIAN SYLLABICS CARRIER RU
-15CB ; [.2B3D.0020.0002.15CB] # CANADIAN SYLLABICS CARRIER RO
-15CC ; [.2B3E.0020.0002.15CC] # CANADIAN SYLLABICS CARRIER RE
-15CD ; [.2B3F.0020.0002.15CD] # CANADIAN SYLLABICS CARRIER REE
-15CE ; [.2B40.0020.0002.15CE] # CANADIAN SYLLABICS CARRIER RI
-15CF ; [.2B41.0020.0002.15CF] # CANADIAN SYLLABICS CARRIER RA
-15D0 ; [.2B42.0020.0002.15D0] # CANADIAN SYLLABICS CARRIER WU
-15D1 ; [.2B43.0020.0002.15D1] # CANADIAN SYLLABICS CARRIER WO
-15D2 ; [.2B44.0020.0002.15D2] # CANADIAN SYLLABICS CARRIER WE
-15D3 ; [.2B45.0020.0002.15D3] # CANADIAN SYLLABICS CARRIER WEE
-15D4 ; [.2B46.0020.0002.15D4] # CANADIAN SYLLABICS CARRIER WI
-15D5 ; [.2B47.0020.0002.15D5] # CANADIAN SYLLABICS CARRIER WA
-15D6 ; [.2B48.0020.0002.15D6] # CANADIAN SYLLABICS CARRIER HWU
-15D7 ; [.2B49.0020.0002.15D7] # CANADIAN SYLLABICS CARRIER HWO
-15D8 ; [.2B4A.0020.0002.15D8] # CANADIAN SYLLABICS CARRIER HWE
-15D9 ; [.2B4B.0020.0002.15D9] # CANADIAN SYLLABICS CARRIER HWEE
-15DA ; [.2B4C.0020.0002.15DA] # CANADIAN SYLLABICS CARRIER HWI
-15DB ; [.2B4D.0020.0002.15DB] # CANADIAN SYLLABICS CARRIER HWA
-15DC ; [.2B4E.0020.0002.15DC] # CANADIAN SYLLABICS CARRIER THU
-15DD ; [.2B4F.0020.0002.15DD] # CANADIAN SYLLABICS CARRIER THO
-15DE ; [.2B50.0020.0002.15DE] # CANADIAN SYLLABICS CARRIER THE
-15DF ; [.2B51.0020.0002.15DF] # CANADIAN SYLLABICS CARRIER THEE
-15E0 ; [.2B52.0020.0002.15E0] # CANADIAN SYLLABICS CARRIER THI
-15E1 ; [.2B53.0020.0002.15E1] # CANADIAN SYLLABICS CARRIER THA
-15E2 ; [.2B54.0020.0002.15E2] # CANADIAN SYLLABICS CARRIER TTU
-15E3 ; [.2B55.0020.0002.15E3] # CANADIAN SYLLABICS CARRIER TTO
-15E4 ; [.2B56.0020.0002.15E4] # CANADIAN SYLLABICS CARRIER TTE
-15E5 ; [.2B57.0020.0002.15E5] # CANADIAN SYLLABICS CARRIER TTEE
-15E6 ; [.2B58.0020.0002.15E6] # CANADIAN SYLLABICS CARRIER TTI
-15E7 ; [.2B59.0020.0002.15E7] # CANADIAN SYLLABICS CARRIER TTA
-15E8 ; [.2B5A.0020.0002.15E8] # CANADIAN SYLLABICS CARRIER PU
-15E9 ; [.2B5B.0020.0002.15E9] # CANADIAN SYLLABICS CARRIER PO
-15EA ; [.2B5C.0020.0002.15EA] # CANADIAN SYLLABICS CARRIER PE
-15EB ; [.2B5D.0020.0002.15EB] # CANADIAN SYLLABICS CARRIER PEE
-15EC ; [.2B5E.0020.0002.15EC] # CANADIAN SYLLABICS CARRIER PI
-15ED ; [.2B5F.0020.0002.15ED] # CANADIAN SYLLABICS CARRIER PA
-15EE ; [.2B60.0020.0002.15EE] # CANADIAN SYLLABICS CARRIER P
-15EF ; [.2B61.0020.0002.15EF] # CANADIAN SYLLABICS CARRIER GU
-15F0 ; [.2B62.0020.0002.15F0] # CANADIAN SYLLABICS CARRIER GO
-15F1 ; [.2B63.0020.0002.15F1] # CANADIAN SYLLABICS CARRIER GE
-15F2 ; [.2B64.0020.0002.15F2] # CANADIAN SYLLABICS CARRIER GEE
-15F3 ; [.2B65.0020.0002.15F3] # CANADIAN SYLLABICS CARRIER GI
-15F4 ; [.2B66.0020.0002.15F4] # CANADIAN SYLLABICS CARRIER GA
-15F5 ; [.2B67.0020.0002.15F5] # CANADIAN SYLLABICS CARRIER KHU
-15F6 ; [.2B68.0020.0002.15F6] # CANADIAN SYLLABICS CARRIER KHO
-15F7 ; [.2B69.0020.0002.15F7] # CANADIAN SYLLABICS CARRIER KHE
-15F8 ; [.2B6A.0020.0002.15F8] # CANADIAN SYLLABICS CARRIER KHEE
-15F9 ; [.2B6B.0020.0002.15F9] # CANADIAN SYLLABICS CARRIER KHI
-15FA ; [.2B6C.0020.0002.15FA] # CANADIAN SYLLABICS CARRIER KHA
-15FB ; [.2B6D.0020.0002.15FB] # CANADIAN SYLLABICS CARRIER KKU
-15FC ; [.2B6E.0020.0002.15FC] # CANADIAN SYLLABICS CARRIER KKO
-15FD ; [.2B6F.0020.0002.15FD] # CANADIAN SYLLABICS CARRIER KKE
-15FE ; [.2B70.0020.0002.15FE] # CANADIAN SYLLABICS CARRIER KKEE
-15FF ; [.2B71.0020.0002.15FF] # CANADIAN SYLLABICS CARRIER KKI
-1600 ; [.2B72.0020.0002.1600] # CANADIAN SYLLABICS CARRIER KKA
-1601 ; [.2B73.0020.0002.1601] # CANADIAN SYLLABICS CARRIER KK
-1602 ; [.2B74.0020.0002.1602] # CANADIAN SYLLABICS CARRIER NU
-1603 ; [.2B75.0020.0002.1603] # CANADIAN SYLLABICS CARRIER NO
-1604 ; [.2B76.0020.0002.1604] # CANADIAN SYLLABICS CARRIER NE
-1605 ; [.2B77.0020.0002.1605] # CANADIAN SYLLABICS CARRIER NEE
-1606 ; [.2B78.0020.0002.1606] # CANADIAN SYLLABICS CARRIER NI
-1607 ; [.2B79.0020.0002.1607] # CANADIAN SYLLABICS CARRIER NA
-1608 ; [.2B7A.0020.0002.1608] # CANADIAN SYLLABICS CARRIER MU
-1609 ; [.2B7B.0020.0002.1609] # CANADIAN SYLLABICS CARRIER MO
-160A ; [.2B7C.0020.0002.160A] # CANADIAN SYLLABICS CARRIER ME
-160B ; [.2B7D.0020.0002.160B] # CANADIAN SYLLABICS CARRIER MEE
-160C ; [.2B7E.0020.0002.160C] # CANADIAN SYLLABICS CARRIER MI
-160D ; [.2B7F.0020.0002.160D] # CANADIAN SYLLABICS CARRIER MA
-160E ; [.2B80.0020.0002.160E] # CANADIAN SYLLABICS CARRIER YU
-160F ; [.2B81.0020.0002.160F] # CANADIAN SYLLABICS CARRIER YO
-1610 ; [.2B82.0020.0002.1610] # CANADIAN SYLLABICS CARRIER YE
-1611 ; [.2B83.0020.0002.1611] # CANADIAN SYLLABICS CARRIER YEE
-1612 ; [.2B84.0020.0002.1612] # CANADIAN SYLLABICS CARRIER YI
-1613 ; [.2B85.0020.0002.1613] # CANADIAN SYLLABICS CARRIER YA
-1614 ; [.2B86.0020.0002.1614] # CANADIAN SYLLABICS CARRIER JU
-1615 ; [.2B87.0020.0002.1615] # CANADIAN SYLLABICS SAYISI JU
-1616 ; [.2B88.0020.0002.1616] # CANADIAN SYLLABICS CARRIER JO
-1617 ; [.2B89.0020.0002.1617] # CANADIAN SYLLABICS CARRIER JE
-1618 ; [.2B8A.0020.0002.1618] # CANADIAN SYLLABICS CARRIER JEE
-1619 ; [.2B8B.0020.0002.1619] # CANADIAN SYLLABICS CARRIER JI
-161A ; [.2B8C.0020.0002.161A] # CANADIAN SYLLABICS SAYISI JI
-161B ; [.2B8D.0020.0002.161B] # CANADIAN SYLLABICS CARRIER JA
-161C ; [.2B8E.0020.0002.161C] # CANADIAN SYLLABICS CARRIER JJU
-161D ; [.2B8F.0020.0002.161D] # CANADIAN SYLLABICS CARRIER JJO
-161E ; [.2B90.0020.0002.161E] # CANADIAN SYLLABICS CARRIER JJE
-161F ; [.2B91.0020.0002.161F] # CANADIAN SYLLABICS CARRIER JJEE
-1620 ; [.2B92.0020.0002.1620] # CANADIAN SYLLABICS CARRIER JJI
-1621 ; [.2B93.0020.0002.1621] # CANADIAN SYLLABICS CARRIER JJA
-1622 ; [.2B94.0020.0002.1622] # CANADIAN SYLLABICS CARRIER LU
-1623 ; [.2B95.0020.0002.1623] # CANADIAN SYLLABICS CARRIER LO
-1624 ; [.2B96.0020.0002.1624] # CANADIAN SYLLABICS CARRIER LE
-1625 ; [.2B97.0020.0002.1625] # CANADIAN SYLLABICS CARRIER LEE
-1626 ; [.2B98.0020.0002.1626] # CANADIAN SYLLABICS CARRIER LI
-1627 ; [.2B99.0020.0002.1627] # CANADIAN SYLLABICS CARRIER LA
-1628 ; [.2B9A.0020.0002.1628] # CANADIAN SYLLABICS CARRIER DLU
-1629 ; [.2B9B.0020.0002.1629] # CANADIAN SYLLABICS CARRIER DLO
-162A ; [.2B9C.0020.0002.162A] # CANADIAN SYLLABICS CARRIER DLE
-162B ; [.2B9D.0020.0002.162B] # CANADIAN SYLLABICS CARRIER DLEE
-162C ; [.2B9E.0020.0002.162C] # CANADIAN SYLLABICS CARRIER DLI
-162D ; [.2B9F.0020.0002.162D] # CANADIAN SYLLABICS CARRIER DLA
-162E ; [.2BA0.0020.0002.162E] # CANADIAN SYLLABICS CARRIER LHU
-162F ; [.2BA1.0020.0002.162F] # CANADIAN SYLLABICS CARRIER LHO
-1630 ; [.2BA2.0020.0002.1630] # CANADIAN SYLLABICS CARRIER LHE
-1631 ; [.2BA3.0020.0002.1631] # CANADIAN SYLLABICS CARRIER LHEE
-1632 ; [.2BA4.0020.0002.1632] # CANADIAN SYLLABICS CARRIER LHI
-1633 ; [.2BA5.0020.0002.1633] # CANADIAN SYLLABICS CARRIER LHA
-1634 ; [.2BA6.0020.0002.1634] # CANADIAN SYLLABICS CARRIER TLHU
-1635 ; [.2BA7.0020.0002.1635] # CANADIAN SYLLABICS CARRIER TLHO
-1636 ; [.2BA8.0020.0002.1636] # CANADIAN SYLLABICS CARRIER TLHE
-1637 ; [.2BA9.0020.0002.1637] # CANADIAN SYLLABICS CARRIER TLHEE
-1638 ; [.2BAA.0020.0002.1638] # CANADIAN SYLLABICS CARRIER TLHI
-1639 ; [.2BAB.0020.0002.1639] # CANADIAN SYLLABICS CARRIER TLHA
-163A ; [.2BAC.0020.0002.163A] # CANADIAN SYLLABICS CARRIER TLU
-163B ; [.2BAD.0020.0002.163B] # CANADIAN SYLLABICS CARRIER TLO
-163C ; [.2BAE.0020.0002.163C] # CANADIAN SYLLABICS CARRIER TLE
-163D ; [.2BAF.0020.0002.163D] # CANADIAN SYLLABICS CARRIER TLEE
-163E ; [.2BB0.0020.0002.163E] # CANADIAN SYLLABICS CARRIER TLI
-163F ; [.2BB1.0020.0002.163F] # CANADIAN SYLLABICS CARRIER TLA
-1640 ; [.2BB2.0020.0002.1640] # CANADIAN SYLLABICS CARRIER ZU
-1641 ; [.2BB3.0020.0002.1641] # CANADIAN SYLLABICS CARRIER ZO
-1642 ; [.2BB4.0020.0002.1642] # CANADIAN SYLLABICS CARRIER ZE
-1643 ; [.2BB5.0020.0002.1643] # CANADIAN SYLLABICS CARRIER ZEE
-1644 ; [.2BB6.0020.0002.1644] # CANADIAN SYLLABICS CARRIER ZI
-1645 ; [.2BB7.0020.0002.1645] # CANADIAN SYLLABICS CARRIER ZA
-1646 ; [.2BB8.0020.0002.1646] # CANADIAN SYLLABICS CARRIER Z
-1647 ; [.2BB9.0020.0002.1647] # CANADIAN SYLLABICS CARRIER INITIAL Z
-1648 ; [.2BBA.0020.0002.1648] # CANADIAN SYLLABICS CARRIER DZU
-1649 ; [.2BBB.0020.0002.1649] # CANADIAN SYLLABICS CARRIER DZO
-164A ; [.2BBC.0020.0002.164A] # CANADIAN SYLLABICS CARRIER DZE
-164B ; [.2BBD.0020.0002.164B] # CANADIAN SYLLABICS CARRIER DZEE
-164C ; [.2BBE.0020.0002.164C] # CANADIAN SYLLABICS CARRIER DZI
-164D ; [.2BBF.0020.0002.164D] # CANADIAN SYLLABICS CARRIER DZA
-164E ; [.2BC0.0020.0002.164E] # CANADIAN SYLLABICS CARRIER SU
-164F ; [.2BC1.0020.0002.164F] # CANADIAN SYLLABICS CARRIER SO
-1650 ; [.2BC2.0020.0002.1650] # CANADIAN SYLLABICS CARRIER SE
-1651 ; [.2BC3.0020.0002.1651] # CANADIAN SYLLABICS CARRIER SEE
-1652 ; [.2BC4.0020.0002.1652] # CANADIAN SYLLABICS CARRIER SI
-1653 ; [.2BC5.0020.0002.1653] # CANADIAN SYLLABICS CARRIER SA
-1654 ; [.2BC6.0020.0002.1654] # CANADIAN SYLLABICS CARRIER SHU
-1655 ; [.2BC7.0020.0002.1655] # CANADIAN SYLLABICS CARRIER SHO
-1656 ; [.2BC8.0020.0002.1656] # CANADIAN SYLLABICS CARRIER SHE
-1657 ; [.2BC9.0020.0002.1657] # CANADIAN SYLLABICS CARRIER SHEE
-1658 ; [.2BCA.0020.0002.1658] # CANADIAN SYLLABICS CARRIER SHI
-1659 ; [.2BCB.0020.0002.1659] # CANADIAN SYLLABICS CARRIER SHA
-165A ; [.2BCC.0020.0002.165A] # CANADIAN SYLLABICS CARRIER SH
-165B ; [.2BCD.0020.0002.165B] # CANADIAN SYLLABICS CARRIER TSU
-165C ; [.2BCE.0020.0002.165C] # CANADIAN SYLLABICS CARRIER TSO
-165D ; [.2BCF.0020.0002.165D] # CANADIAN SYLLABICS CARRIER TSE
-165E ; [.2BD0.0020.0002.165E] # CANADIAN SYLLABICS CARRIER TSEE
-165F ; [.2BD1.0020.0002.165F] # CANADIAN SYLLABICS CARRIER TSI
-1660 ; [.2BD2.0020.0002.1660] # CANADIAN SYLLABICS CARRIER TSA
-1661 ; [.2BD3.0020.0002.1661] # CANADIAN SYLLABICS CARRIER CHU
-1662 ; [.2BD4.0020.0002.1662] # CANADIAN SYLLABICS CARRIER CHO
-1663 ; [.2BD5.0020.0002.1663] # CANADIAN SYLLABICS CARRIER CHE
-1664 ; [.2BD6.0020.0002.1664] # CANADIAN SYLLABICS CARRIER CHEE
-1665 ; [.2BD7.0020.0002.1665] # CANADIAN SYLLABICS CARRIER CHI
-1666 ; [.2BD8.0020.0002.1666] # CANADIAN SYLLABICS CARRIER CHA
-1667 ; [.2BD9.0020.0002.1667] # CANADIAN SYLLABICS CARRIER TTSU
-1668 ; [.2BDA.0020.0002.1668] # CANADIAN SYLLABICS CARRIER TTSO
-1669 ; [.2BDB.0020.0002.1669] # CANADIAN SYLLABICS CARRIER TTSE
-166A ; [.2BDC.0020.0002.166A] # CANADIAN SYLLABICS CARRIER TTSEE
-166B ; [.2BDD.0020.0002.166B] # CANADIAN SYLLABICS CARRIER TTSI
-166C ; [.2BDE.0020.0002.166C] # CANADIAN SYLLABICS CARRIER TTSA
-1677 ; [.2BDF.0020.0002.1677] # CANADIAN SYLLABICS WOODS-CREE THWEE
-1678 ; [.2BE0.0020.0002.1678] # CANADIAN SYLLABICS WOODS-CREE THWI
-1679 ; [.2BE1.0020.0002.1679] # CANADIAN SYLLABICS WOODS-CREE THWII
-167A ; [.2BE2.0020.0002.167A] # CANADIAN SYLLABICS WOODS-CREE THWO
-167B ; [.2BE3.0020.0002.167B] # CANADIAN SYLLABICS WOODS-CREE THWOO
-167C ; [.2BE4.0020.0002.167C] # CANADIAN SYLLABICS WOODS-CREE THWA
-167D ; [.2BE5.0020.0002.167D] # CANADIAN SYLLABICS WOODS-CREE THWAA
-167E ; [.2BE6.0020.0002.167E] # CANADIAN SYLLABICS WOODS-CREE FINAL TH
-167F ; [.2BE7.0020.0002.167F] # CANADIAN SYLLABICS BLACKFOOT W
-18B0 ; [.2BE8.0020.0002.18B0] # CANADIAN SYLLABICS OY
-18B1 ; [.2BE9.0020.0002.18B1] # CANADIAN SYLLABICS AY
-18B2 ; [.2BEA.0020.0002.18B2] # CANADIAN SYLLABICS AAY
-18B3 ; [.2BEB.0020.0002.18B3] # CANADIAN SYLLABICS WAY
-18B4 ; [.2BEC.0020.0002.18B4] # CANADIAN SYLLABICS POY
-18B5 ; [.2BED.0020.0002.18B5] # CANADIAN SYLLABICS PAY
-18B6 ; [.2BEE.0020.0002.18B6] # CANADIAN SYLLABICS PWOY
-18B7 ; [.2BEF.0020.0002.18B7] # CANADIAN SYLLABICS TAY
-18B8 ; [.2BF0.0020.0002.18B8] # CANADIAN SYLLABICS KAY
-18B9 ; [.2BF1.0020.0002.18B9] # CANADIAN SYLLABICS KWAY
-18BA ; [.2BF2.0020.0002.18BA] # CANADIAN SYLLABICS MAY
-18BB ; [.2BF3.0020.0002.18BB] # CANADIAN SYLLABICS NOY
-18BC ; [.2BF4.0020.0002.18BC] # CANADIAN SYLLABICS NAY
-18BD ; [.2BF5.0020.0002.18BD] # CANADIAN SYLLABICS LAY
-18BE ; [.2BF6.0020.0002.18BE] # CANADIAN SYLLABICS SOY
-18BF ; [.2BF7.0020.0002.18BF] # CANADIAN SYLLABICS SAY
-18C0 ; [.2BF8.0020.0002.18C0] # CANADIAN SYLLABICS SHOY
-18C1 ; [.2BF9.0020.0002.18C1] # CANADIAN SYLLABICS SHAY
-18C2 ; [.2BFA.0020.0002.18C2] # CANADIAN SYLLABICS SHWOY
-18C3 ; [.2BFB.0020.0002.18C3] # CANADIAN SYLLABICS YOY
-18C4 ; [.2BFC.0020.0002.18C4] # CANADIAN SYLLABICS YAY
-18C5 ; [.2BFD.0020.0002.18C5] # CANADIAN SYLLABICS RAY
-18C6 ; [.2BFE.0020.0002.18C6] # CANADIAN SYLLABICS NWI
-18C7 ; [.2BFF.0020.0002.18C7] # CANADIAN SYLLABICS OJIBWAY NWI
-18C8 ; [.2C00.0020.0002.18C8] # CANADIAN SYLLABICS NWII
-18C9 ; [.2C01.0020.0002.18C9] # CANADIAN SYLLABICS OJIBWAY NWII
-18CA ; [.2C02.0020.0002.18CA] # CANADIAN SYLLABICS NWO
-18CB ; [.2C03.0020.0002.18CB] # CANADIAN SYLLABICS OJIBWAY NWO
-18CC ; [.2C04.0020.0002.18CC] # CANADIAN SYLLABICS NWOO
-18CD ; [.2C05.0020.0002.18CD] # CANADIAN SYLLABICS OJIBWAY NWOO
-18CE ; [.2C06.0020.0002.18CE] # CANADIAN SYLLABICS RWEE
-18CF ; [.2C07.0020.0002.18CF] # CANADIAN SYLLABICS RWI
-18D0 ; [.2C08.0020.0002.18D0] # CANADIAN SYLLABICS RWII
-18D1 ; [.2C09.0020.0002.18D1] # CANADIAN SYLLABICS RWO
-18D2 ; [.2C0A.0020.0002.18D2] # CANADIAN SYLLABICS RWOO
-18D3 ; [.2C0B.0020.0002.18D3] # CANADIAN SYLLABICS RWA
-18D4 ; [.2C0C.0020.0002.18D4] # CANADIAN SYLLABICS OJIBWAY P
-18D5 ; [.2C0D.0020.0002.18D5] # CANADIAN SYLLABICS OJIBWAY T
-18D6 ; [.2C0E.0020.0002.18D6] # CANADIAN SYLLABICS OJIBWAY K
-18D7 ; [.2C0F.0020.0002.18D7] # CANADIAN SYLLABICS OJIBWAY C
-18D8 ; [.2C10.0020.0002.18D8] # CANADIAN SYLLABICS OJIBWAY M
-18D9 ; [.2C11.0020.0002.18D9] # CANADIAN SYLLABICS OJIBWAY N
-18DA ; [.2C12.0020.0002.18DA] # CANADIAN SYLLABICS OJIBWAY S
-18DB ; [.2C13.0020.0002.18DB] # CANADIAN SYLLABICS OJIBWAY SH
-18DC ; [.2C14.0020.0002.18DC] # CANADIAN SYLLABICS EASTERN W
-18DD ; [.2C15.0020.0002.18DD] # CANADIAN SYLLABICS WESTERN W
-18DE ; [.2C16.0020.0002.18DE] # CANADIAN SYLLABICS FINAL SMALL RING
-18DF ; [.2C17.0020.0002.18DF] # CANADIAN SYLLABICS FINAL RAISED DOT
-18E0 ; [.2C18.0020.0002.18E0] # CANADIAN SYLLABICS R-CREE RWE
-18E1 ; [.2C19.0020.0002.18E1] # CANADIAN SYLLABICS WEST-CREE LOO
-18E2 ; [.2C1A.0020.0002.18E2] # CANADIAN SYLLABICS WEST-CREE LAA
-18E3 ; [.2C1B.0020.0002.18E3] # CANADIAN SYLLABICS THWE
-18E4 ; [.2C1C.0020.0002.18E4] # CANADIAN SYLLABICS THWA
-18E5 ; [.2C1D.0020.0002.18E5] # CANADIAN SYLLABICS TTHWE
-18E6 ; [.2C1E.0020.0002.18E6] # CANADIAN SYLLABICS TTHOO
-18E7 ; [.2C1F.0020.0002.18E7] # CANADIAN SYLLABICS TTHAA
-18E8 ; [.2C20.0020.0002.18E8] # CANADIAN SYLLABICS TLHWE
-18E9 ; [.2C21.0020.0002.18E9] # CANADIAN SYLLABICS TLHOO
-18EA ; [.2C22.0020.0002.18EA] # CANADIAN SYLLABICS SAYISI SHWE
-18EB ; [.2C23.0020.0002.18EB] # CANADIAN SYLLABICS SAYISI SHOO
-18EC ; [.2C24.0020.0002.18EC] # CANADIAN SYLLABICS SAYISI HOO
-18ED ; [.2C25.0020.0002.18ED] # CANADIAN SYLLABICS CARRIER GWU
-18EE ; [.2C26.0020.0002.18EE] # CANADIAN SYLLABICS CARRIER DENE GEE
-18EF ; [.2C27.0020.0002.18EF] # CANADIAN SYLLABICS CARRIER GAA
-18F0 ; [.2C28.0020.0002.18F0] # CANADIAN SYLLABICS CARRIER GWA
-18F1 ; [.2C29.0020.0002.18F1] # CANADIAN SYLLABICS SAYISI JUU
-18F2 ; [.2C2A.0020.0002.18F2] # CANADIAN SYLLABICS CARRIER JWA
-18F3 ; [.2C2B.0020.0002.18F3] # CANADIAN SYLLABICS BEAVER DENE L
-18F4 ; [.2C2C.0020.0002.18F4] # CANADIAN SYLLABICS BEAVER DENE R
-18F5 ; [.2C2D.0020.0002.18F5] # CANADIAN SYLLABICS CARRIER DENTAL S
-1681 ; [.2C2E.0020.0002.1681] # OGHAM LETTER BEITH
-1682 ; [.2C2F.0020.0002.1682] # OGHAM LETTER LUIS
-1683 ; [.2C30.0020.0002.1683] # OGHAM LETTER FEARN
-1684 ; [.2C31.0020.0002.1684] # OGHAM LETTER SAIL
-1685 ; [.2C32.0020.0002.1685] # OGHAM LETTER NION
-1686 ; [.2C33.0020.0002.1686] # OGHAM LETTER UATH
-1687 ; [.2C34.0020.0002.1687] # OGHAM LETTER DAIR
-1688 ; [.2C35.0020.0002.1688] # OGHAM LETTER TINNE
-1689 ; [.2C36.0020.0002.1689] # OGHAM LETTER COLL
-168A ; [.2C37.0020.0002.168A] # OGHAM LETTER CEIRT
-168B ; [.2C38.0020.0002.168B] # OGHAM LETTER MUIN
-168C ; [.2C39.0020.0002.168C] # OGHAM LETTER GORT
-168D ; [.2C3A.0020.0002.168D] # OGHAM LETTER NGEADAL
-168E ; [.2C3B.0020.0002.168E] # OGHAM LETTER STRAIF
-168F ; [.2C3C.0020.0002.168F] # OGHAM LETTER RUIS
-1690 ; [.2C3D.0020.0002.1690] # OGHAM LETTER AILM
-1691 ; [.2C3E.0020.0002.1691] # OGHAM LETTER ONN
-1692 ; [.2C3F.0020.0002.1692] # OGHAM LETTER UR
-1693 ; [.2C40.0020.0002.1693] # OGHAM LETTER EADHADH
-1694 ; [.2C41.0020.0002.1694] # OGHAM LETTER IODHADH
-1695 ; [.2C42.0020.0002.1695] # OGHAM LETTER EABHADH
-1696 ; [.2C43.0020.0002.1696] # OGHAM LETTER OR
-1697 ; [.2C44.0020.0002.1697] # OGHAM LETTER UILLEANN
-1698 ; [.2C45.0020.0002.1698] # OGHAM LETTER IFIN
-1699 ; [.2C46.0020.0002.1699] # OGHAM LETTER EAMHANCHOLL
-169A ; [.2C47.0020.0002.169A] # OGHAM LETTER PEITH
-16A0 ; [.2C48.0020.0002.16A0] # RUNIC LETTER FEHU FEOH FE F
-16A1 ; [.2C48.0020.0004.16A1][.0000.015F.0004.16A1] # RUNIC LETTER V; QQKN
-16A2 ; [.2C49.0020.0002.16A2] # RUNIC LETTER URUZ UR U
-16A4 ; [.2C49.0020.0004.16A4][.0000.015F.0004.16A4] # RUNIC LETTER Y; QQKN
-16A5 ; [.2C49.0020.0004.16A5][.0000.0160.0004.16A5] # RUNIC LETTER W; QQKN
-16A6 ; [.2C4A.0020.0002.16A6] # RUNIC LETTER THURISAZ THURS THORN
-16A7 ; [.2C4A.0020.0004.16A7][.0000.015F.0004.16A7] # RUNIC LETTER ETH; QQKN
-16F0 ; [.2C4A.0020.0004.16F0][.2C4A.0020.0004.16F0] # RUNIC BELGTHOR SYMBOL; QQKN
-16A8 ; [.2C4B.0020.0002.16A8] # RUNIC LETTER ANSUZ A
-16A9 ; [.2C4B.0020.0004.16A9][.0000.015F.0004.16A9] # RUNIC LETTER OS O; QQKN
-16AC ; [.2C4B.0020.0004.16AC][.0000.0160.0004.16AC] # RUNIC LETTER LONG-BRANCH-OSS O; QQKN
-16AD ; [.2C4B.0020.0004.16AD][.0000.0162.0004.16AD] # RUNIC LETTER SHORT-TWIG-OSS O; QQKN
-16AE ; [.2C4B.0020.0004.16AE][.0000.0163.0004.16AE] # RUNIC LETTER O; QQKN
-16AF ; [.2C4C.0020.0002.16AF] # RUNIC LETTER OE
-16B0 ; [.2C4D.0020.0002.16B0] # RUNIC LETTER ON
-16B1 ; [.2C4E.0020.0002.16B1] # RUNIC LETTER RAIDO RAD REID R
-16B2 ; [.2C4F.0020.0002.16B2] # RUNIC LETTER KAUNA
-16B3 ; [.2C4F.0020.0004.16B3][.0000.015F.0004.16B3] # RUNIC LETTER CEN; QQKN
-16B4 ; [.2C4F.0020.0004.16B4][.0000.0160.0004.16B4] # RUNIC LETTER KAUN K; QQKN
-16B5 ; [.2C4F.0020.0004.16B5][.0000.0162.0004.16B5] # RUNIC LETTER G; QQKN
-16B6 ; [.2C4F.0020.0004.16B6][.0000.0163.0004.16B6] # RUNIC LETTER ENG; QQKN
-16B7 ; [.2C50.0020.0002.16B7] # RUNIC LETTER GEBO GYFU G
-16B9 ; [.2C51.0020.0002.16B9] # RUNIC LETTER WUNJO WYNN W
-16E9 ; [.2C51.0020.0004.16E9][.0000.015F.0004.16E9] # RUNIC LETTER Q; QQKN
-16BA ; [.2C52.0020.0002.16BA] # RUNIC LETTER HAGLAZ H
-16BB ; [.2C52.0020.0004.16BB][.0000.015F.0004.16BB] # RUNIC LETTER HAEGL H; QQKN
-16BC ; [.2C52.0020.0004.16BC][.0000.0160.0004.16BC] # RUNIC LETTER LONG-BRANCH-HAGALL H; QQKN
-16BD ; [.2C52.0020.0004.16BD][.0000.0162.0004.16BD] # RUNIC LETTER SHORT-TWIG-HAGALL H; QQKN
-16BE ; [.2C53.0020.0002.16BE] # RUNIC LETTER NAUDIZ NYD NAUD N
-16BF ; [.2C53.0020.0004.16BF][.0000.015F.0004.16BF] # RUNIC LETTER SHORT-TWIG-NAUD N; QQKN
-16C0 ; [.2C53.0020.0004.16C0][.0000.0160.0004.16C0] # RUNIC LETTER DOTTED-N; QQKN
-16C1 ; [.2C54.0020.0002.16C1] # RUNIC LETTER ISAZ IS ISS I
-16C2 ; [.2C54.0020.0004.16C2][.0000.015F.0004.16C2] # RUNIC LETTER E; QQKN
-16C3 ; [.2C55.0020.0002.16C3] # RUNIC LETTER JERAN J
-16C4 ; [.2C55.0020.0004.16C4][.0000.015F.0004.16C4] # RUNIC LETTER GER; QQKN
-16C5 ; [.2C56.0020.0002.16C5] # RUNIC LETTER LONG-BRANCH-AR AE
-16C6 ; [.2C56.0020.0004.16C6][.0000.015F.0004.16C6] # RUNIC LETTER SHORT-TWIG-AR A; QQKN
-16EE ; [.2C56.0020.0004.16EE][.2C5F.0020.0004.16EE] # RUNIC ARLAUG SYMBOL; QQKN
-16C7 ; [.2C57.0020.0002.16C7] # RUNIC LETTER IWAZ EOH
-16C8 ; [.2C58.0020.0002.16C8] # RUNIC LETTER PERTHO PEORTH P
-16D5 ; [.2C58.0020.0004.16D5][.0000.015F.0004.16D5] # RUNIC LETTER OPEN-P; QQKN
-16C9 ; [.2C59.0020.0002.16C9] # RUNIC LETTER ALGIZ EOLHX
-16CA ; [.2C5A.0020.0002.16CA] # RUNIC LETTER SOWILO S
-16CB ; [.2C5A.0020.0004.16CB][.0000.015F.0004.16CB] # RUNIC LETTER SIGEL LONG-BRANCH-SOL S; QQKN
-16EA ; [.2C5A.0020.0004.16EA][.0000.0160.0004.16EA] # RUNIC LETTER X; QQKN
-16CC ; [.2C5A.0020.0004.16CC][.0000.0162.0004.16CC] # RUNIC LETTER SHORT-TWIG-SOL S; QQKN
-16CD ; [.2C5A.0020.0004.16CD][.0000.0163.0004.16CD] # RUNIC LETTER C; QQKN
-16CE ; [.2C5A.0020.0004.16CE][.0000.0164.0004.16CE] # RUNIC LETTER Z; QQKN
-16CF ; [.2C5B.0020.0002.16CF] # RUNIC LETTER TIWAZ TIR TYR T
-16D0 ; [.2C5B.0020.0004.16D0][.0000.015F.0004.16D0] # RUNIC LETTER SHORT-TWIG-TYR T; QQKN
-16D1 ; [.2C5B.0020.0004.16D1][.0000.0160.0004.16D1] # RUNIC LETTER D; QQKN
-16D2 ; [.2C5C.0020.0002.16D2] # RUNIC LETTER BERKANAN BEORC BJARKAN B
-16D3 ; [.2C5C.0020.0004.16D3][.0000.015F.0004.16D3] # RUNIC LETTER SHORT-TWIG-BJARKAN B; QQKN
-16D4 ; [.2C5C.0020.0004.16D4][.0000.0160.0004.16D4] # RUNIC LETTER DOTTED-P; QQKN
-16D6 ; [.2C5D.0020.0002.16D6] # RUNIC LETTER EHWAZ EH E
-16D7 ; [.2C5E.0020.0002.16D7] # RUNIC LETTER MANNAZ MAN M
-16D8 ; [.2C5E.0020.0004.16D8][.0000.015F.0004.16D8] # RUNIC LETTER LONG-BRANCH-MADR M; QQKN
-16D9 ; [.2C5E.0020.0004.16D9][.0000.0160.0004.16D9] # RUNIC LETTER SHORT-TWIG-MADR M; QQKN
-16EF ; [.2C5E.0020.0004.16EF][.0000.015F.0004.16EF][.2C5E.0020.001F.16EF][.0000.015F.001F.16EF] # RUNIC TVIMADUR SYMBOL; QQKN
-16DA ; [.2C5F.0020.0002.16DA] # RUNIC LETTER LAUKAZ LAGU LOGR L
-16DB ; [.2C5F.0020.0004.16DB][.0000.015F.0004.16DB] # RUNIC LETTER DOTTED-L; QQKN
-16DC ; [.2C60.0020.0002.16DC] # RUNIC LETTER INGWAZ
-16DD ; [.2C60.0020.0004.16DD][.0000.015F.0004.16DD] # RUNIC LETTER ING; QQKN
-16DE ; [.2C61.0020.0002.16DE] # RUNIC LETTER DAGAZ DAEG D
-16DF ; [.2C62.0020.0002.16DF] # RUNIC LETTER OTHALAN ETHEL O
-16AA ; [.2C63.0020.0002.16AA] # RUNIC LETTER AC A
-16AB ; [.2C64.0020.0002.16AB] # RUNIC LETTER AESC
-16A3 ; [.2C65.0020.0002.16A3] # RUNIC LETTER YR
-16E0 ; [.2C66.0020.0002.16E0] # RUNIC LETTER EAR
-16E3 ; [.2C67.0020.0002.16E3] # RUNIC LETTER CALC
-16B8 ; [.2C68.0020.0002.16B8] # RUNIC LETTER GAR
-16E4 ; [.2C69.0020.0002.16E4] # RUNIC LETTER CEALC
-16E1 ; [.2C6A.0020.0002.16E1] # RUNIC LETTER IOR
-16E2 ; [.2C6B.0020.0002.16E2] # RUNIC LETTER CWEORTH
-16E5 ; [.2C6C.0020.0002.16E5] # RUNIC LETTER STAN
-16E6 ; [.2C6D.0020.0002.16E6] # RUNIC LETTER LONG-BRANCH-YR
-16E7 ; [.2C6D.0020.0004.16E7][.0000.015F.0004.16E7] # RUNIC LETTER SHORT-TWIG-YR; QQKN
-16E8 ; [.2C6D.0020.0004.16E8][.0000.0160.0004.16E8] # RUNIC LETTER ICELANDIC-YR; QQKN
-10C00 ; [.2C6E.0020.0002.10C00] # OLD TURKIC LETTER ORKHON A
-10C01 ; [.2C6E.0020.0004.10C01][.0000.015F.0004.10C01] # OLD TURKIC LETTER YENISEI A; QQKN
-10C02 ; [.2C6F.0020.0002.10C02] # OLD TURKIC LETTER YENISEI AE
-10C03 ; [.2C70.0020.0002.10C03] # OLD TURKIC LETTER ORKHON I
-10C04 ; [.2C70.0020.0004.10C04][.0000.015F.0004.10C04] # OLD TURKIC LETTER YENISEI I; QQKN
-10C05 ; [.2C71.0020.0002.10C05] # OLD TURKIC LETTER YENISEI E
-10C06 ; [.2C72.0020.0002.10C06] # OLD TURKIC LETTER ORKHON O
-10C07 ; [.2C73.0020.0002.10C07] # OLD TURKIC LETTER ORKHON OE
-10C08 ; [.2C73.0020.0004.10C08][.0000.015F.0004.10C08] # OLD TURKIC LETTER YENISEI OE; QQKN
-10C09 ; [.2C74.0020.0002.10C09] # OLD TURKIC LETTER ORKHON AB
-10C0A ; [.2C74.0020.0004.10C0A][.0000.015F.0004.10C0A] # OLD TURKIC LETTER YENISEI AB; QQKN
-10C0B ; [.2C75.0020.0002.10C0B] # OLD TURKIC LETTER ORKHON AEB
-10C0C ; [.2C75.0020.0004.10C0C][.0000.015F.0004.10C0C] # OLD TURKIC LETTER YENISEI AEB; QQKN
-10C0D ; [.2C76.0020.0002.10C0D] # OLD TURKIC LETTER ORKHON AG
-10C0E ; [.2C76.0020.0004.10C0E][.0000.015F.0004.10C0E] # OLD TURKIC LETTER YENISEI AG; QQKN
-10C0F ; [.2C77.0020.0002.10C0F] # OLD TURKIC LETTER ORKHON AEG
-10C10 ; [.2C77.0020.0004.10C10][.0000.015F.0004.10C10] # OLD TURKIC LETTER YENISEI AEG; QQKN
-10C11 ; [.2C78.0020.0002.10C11] # OLD TURKIC LETTER ORKHON AD
-10C12 ; [.2C78.0020.0004.10C12][.0000.015F.0004.10C12] # OLD TURKIC LETTER YENISEI AD; QQKN
-10C13 ; [.2C79.0020.0002.10C13] # OLD TURKIC LETTER ORKHON AED
-10C14 ; [.2C7A.0020.0002.10C14] # OLD TURKIC LETTER ORKHON EZ
-10C15 ; [.2C7A.0020.0004.10C15][.0000.015F.0004.10C15] # OLD TURKIC LETTER YENISEI EZ; QQKN
-10C16 ; [.2C7B.0020.0002.10C16] # OLD TURKIC LETTER ORKHON AY
-10C17 ; [.2C7B.0020.0004.10C17][.0000.015F.0004.10C17] # OLD TURKIC LETTER YENISEI AY; QQKN
-10C18 ; [.2C7C.0020.0002.10C18] # OLD TURKIC LETTER ORKHON AEY
-10C19 ; [.2C7C.0020.0004.10C19][.0000.015F.0004.10C19] # OLD TURKIC LETTER YENISEI AEY; QQKN
-10C1A ; [.2C7D.0020.0002.10C1A] # OLD TURKIC LETTER ORKHON AEK
-10C1B ; [.2C7D.0020.0004.10C1B][.0000.015F.0004.10C1B] # OLD TURKIC LETTER YENISEI AEK; QQKN
-10C1C ; [.2C7E.0020.0002.10C1C] # OLD TURKIC LETTER ORKHON OEK
-10C1D ; [.2C7E.0020.0004.10C1D][.0000.015F.0004.10C1D] # OLD TURKIC LETTER YENISEI OEK; QQKN
-10C1E ; [.2C7F.0020.0002.10C1E] # OLD TURKIC LETTER ORKHON AL
-10C1F ; [.2C7F.0020.0004.10C1F][.0000.015F.0004.10C1F] # OLD TURKIC LETTER YENISEI AL; QQKN
-10C20 ; [.2C80.0020.0002.10C20] # OLD TURKIC LETTER ORKHON AEL
-10C21 ; [.2C81.0020.0002.10C21] # OLD TURKIC LETTER ORKHON ELT
-10C22 ; [.2C82.0020.0002.10C22] # OLD TURKIC LETTER ORKHON EM
-10C23 ; [.2C83.0020.0002.10C23] # OLD TURKIC LETTER ORKHON AN
-10C24 ; [.2C84.0020.0002.10C24] # OLD TURKIC LETTER ORKHON AEN
-10C25 ; [.2C84.0020.0004.10C25][.0000.015F.0004.10C25] # OLD TURKIC LETTER YENISEI AEN; QQKN
-10C26 ; [.2C85.0020.0002.10C26] # OLD TURKIC LETTER ORKHON ENT
-10C27 ; [.2C85.0020.0004.10C27][.0000.015F.0004.10C27] # OLD TURKIC LETTER YENISEI ENT; QQKN
-10C28 ; [.2C86.0020.0002.10C28] # OLD TURKIC LETTER ORKHON ENC
-10C29 ; [.2C86.0020.0004.10C29][.0000.015F.0004.10C29] # OLD TURKIC LETTER YENISEI ENC; QQKN
-10C2A ; [.2C87.0020.0002.10C2A] # OLD TURKIC LETTER ORKHON ENY
-10C2B ; [.2C87.0020.0004.10C2B][.0000.015F.0004.10C2B] # OLD TURKIC LETTER YENISEI ENY; QQKN
-10C2C ; [.2C88.0020.0002.10C2C] # OLD TURKIC LETTER YENISEI ANG
-10C2D ; [.2C89.0020.0002.10C2D] # OLD TURKIC LETTER ORKHON ENG
-10C2E ; [.2C89.0020.0004.10C2E][.0000.015F.0004.10C2E] # OLD TURKIC LETTER YENISEI AENG; QQKN
-10C2F ; [.2C8A.0020.0002.10C2F] # OLD TURKIC LETTER ORKHON EP
-10C30 ; [.2C8B.0020.0002.10C30] # OLD TURKIC LETTER ORKHON OP
-10C31 ; [.2C8C.0020.0002.10C31] # OLD TURKIC LETTER ORKHON IC
-10C32 ; [.2C8D.0020.0002.10C32] # OLD TURKIC LETTER ORKHON EC
-10C33 ; [.2C8D.0020.0004.10C33][.0000.015F.0004.10C33] # OLD TURKIC LETTER YENISEI EC; QQKN
-10C34 ; [.2C8E.0020.0002.10C34] # OLD TURKIC LETTER ORKHON AQ
-10C35 ; [.2C8E.0020.0004.10C35][.0000.015F.0004.10C35] # OLD TURKIC LETTER YENISEI AQ; QQKN
-10C36 ; [.2C8F.0020.0002.10C36] # OLD TURKIC LETTER ORKHON IQ
-10C37 ; [.2C8F.0020.0004.10C37][.0000.015F.0004.10C37] # OLD TURKIC LETTER YENISEI IQ; QQKN
-10C38 ; [.2C90.0020.0002.10C38] # OLD TURKIC LETTER ORKHON OQ
-10C39 ; [.2C90.0020.0004.10C39][.0000.015F.0004.10C39] # OLD TURKIC LETTER YENISEI OQ; QQKN
-10C3A ; [.2C91.0020.0002.10C3A] # OLD TURKIC LETTER ORKHON AR
-10C3B ; [.2C91.0020.0004.10C3B][.0000.015F.0004.10C3B] # OLD TURKIC LETTER YENISEI AR; QQKN
-10C3C ; [.2C92.0020.0002.10C3C] # OLD TURKIC LETTER ORKHON AER
-10C3D ; [.2C93.0020.0002.10C3D] # OLD TURKIC LETTER ORKHON AS
-10C3E ; [.2C94.0020.0002.10C3E] # OLD TURKIC LETTER ORKHON AES
-10C3F ; [.2C95.0020.0002.10C3F] # OLD TURKIC LETTER ORKHON ASH
-10C40 ; [.2C95.0020.0004.10C40][.0000.015F.0004.10C40] # OLD TURKIC LETTER YENISEI ASH; QQKN
-10C41 ; [.2C96.0020.0002.10C41] # OLD TURKIC LETTER ORKHON ESH
-10C42 ; [.2C96.0020.0004.10C42][.0000.015F.0004.10C42] # OLD TURKIC LETTER YENISEI ESH; QQKN
-10C43 ; [.2C97.0020.0002.10C43] # OLD TURKIC LETTER ORKHON AT
-10C44 ; [.2C97.0020.0004.10C44][.0000.015F.0004.10C44] # OLD TURKIC LETTER YENISEI AT; QQKN
-10C45 ; [.2C98.0020.0002.10C45] # OLD TURKIC LETTER ORKHON AET
-10C46 ; [.2C98.0020.0004.10C46][.0000.015F.0004.10C46] # OLD TURKIC LETTER YENISEI AET; QQKN
-10C47 ; [.2C99.0020.0002.10C47] # OLD TURKIC LETTER ORKHON OT
-10C48 ; [.2C9A.0020.0002.10C48] # OLD TURKIC LETTER ORKHON BASH
-A500 ; [.2C9B.0020.0002.A500] # VAI SYLLABLE EE
-A501 ; [.2C9C.0020.0002.A501] # VAI SYLLABLE EEN
-A502 ; [.2C9D.0020.0002.A502] # VAI SYLLABLE HEE
-A503 ; [.2C9E.0020.0002.A503] # VAI SYLLABLE WEE
-A504 ; [.2C9F.0020.0002.A504] # VAI SYLLABLE WEEN
-A505 ; [.2CA0.0020.0002.A505] # VAI SYLLABLE PEE
-A506 ; [.2CA1.0020.0002.A506] # VAI SYLLABLE BHEE
-A507 ; [.2CA2.0020.0002.A507] # VAI SYLLABLE BEE
-A508 ; [.2CA3.0020.0002.A508] # VAI SYLLABLE MBEE
-A509 ; [.2CA4.0020.0002.A509] # VAI SYLLABLE KPEE
-A50A ; [.2CA5.0020.0002.A50A] # VAI SYLLABLE MGBEE
-A50B ; [.2CA6.0020.0002.A50B] # VAI SYLLABLE GBEE
-A50C ; [.2CA7.0020.0002.A50C] # VAI SYLLABLE FEE
-A613 ; [.2CA7.0020.0004.A613][.2DA6.0020.0004.A613] # VAI SYMBOL FEENG; QQKN
-A50D ; [.2CA8.0020.0002.A50D] # VAI SYLLABLE VEE
-A50E ; [.2CA9.0020.0002.A50E] # VAI SYLLABLE TEE
-A50F ; [.2CAA.0020.0002.A50F] # VAI SYLLABLE THEE
-A510 ; [.2CAB.0020.0002.A510] # VAI SYLLABLE DHEE
-A511 ; [.2CAC.0020.0002.A511] # VAI SYLLABLE DHHEE
-A512 ; [.2CAD.0020.0002.A512] # VAI SYLLABLE LEE
-A513 ; [.2CAE.0020.0002.A513] # VAI SYLLABLE REE
-A514 ; [.2CAF.0020.0002.A514] # VAI SYLLABLE DEE
-A515 ; [.2CB0.0020.0002.A515] # VAI SYLLABLE NDEE
-A516 ; [.2CB1.0020.0002.A516] # VAI SYLLABLE SEE
-A517 ; [.2CB2.0020.0002.A517] # VAI SYLLABLE SHEE
-A518 ; [.2CB3.0020.0002.A518] # VAI SYLLABLE ZEE
-A519 ; [.2CB4.0020.0002.A519] # VAI SYLLABLE ZHEE
-A51A ; [.2CB5.0020.0002.A51A] # VAI SYLLABLE CEE
-A51B ; [.2CB6.0020.0002.A51B] # VAI SYLLABLE JEE
-A51C ; [.2CB7.0020.0002.A51C] # VAI SYLLABLE NJEE
-A51D ; [.2CB8.0020.0002.A51D] # VAI SYLLABLE YEE
-A51E ; [.2CB9.0020.0002.A51E] # VAI SYLLABLE KEE
-A614 ; [.2CB9.0020.0004.A614][.2DA6.0020.0004.A614] # VAI SYMBOL KEENG; QQKN
-A51F ; [.2CBA.0020.0002.A51F] # VAI SYLLABLE NGGEE
-A520 ; [.2CBB.0020.0002.A520] # VAI SYLLABLE GEE
-A521 ; [.2CBC.0020.0002.A521] # VAI SYLLABLE MEE
-A522 ; [.2CBD.0020.0002.A522] # VAI SYLLABLE NEE
-A523 ; [.2CBE.0020.0002.A523] # VAI SYLLABLE NYEE
-A524 ; [.2CBF.0020.0002.A524] # VAI SYLLABLE I
-A525 ; [.2CC0.0020.0002.A525] # VAI SYLLABLE IN
-A526 ; [.2CC1.0020.0002.A526] # VAI SYLLABLE HI
-A527 ; [.2CC2.0020.0002.A527] # VAI SYLLABLE HIN
-A528 ; [.2CC3.0020.0002.A528] # VAI SYLLABLE WI
-A529 ; [.2CC4.0020.0002.A529] # VAI SYLLABLE WIN
-A52A ; [.2CC5.0020.0002.A52A] # VAI SYLLABLE PI
-A52B ; [.2CC6.0020.0002.A52B] # VAI SYLLABLE BHI
-A52C ; [.2CC7.0020.0002.A52C] # VAI SYLLABLE BI
-A52D ; [.2CC8.0020.0002.A52D] # VAI SYLLABLE MBI
-A52E ; [.2CC9.0020.0002.A52E] # VAI SYLLABLE KPI
-A52F ; [.2CCA.0020.0002.A52F] # VAI SYLLABLE MGBI
-A530 ; [.2CCB.0020.0002.A530] # VAI SYLLABLE GBI
-A531 ; [.2CCC.0020.0002.A531] # VAI SYLLABLE FI
-A532 ; [.2CCD.0020.0002.A532] # VAI SYLLABLE VI
-A533 ; [.2CCE.0020.0002.A533] # VAI SYLLABLE TI
-A615 ; [.2CCE.0020.0004.A615][.2DA6.0020.0004.A615] # VAI SYMBOL TING; QQKN
-A534 ; [.2CCF.0020.0002.A534] # VAI SYLLABLE THI
-A535 ; [.2CD0.0020.0002.A535] # VAI SYLLABLE DHI
-A536 ; [.2CD1.0020.0002.A536] # VAI SYLLABLE DHHI
-A537 ; [.2CD2.0020.0002.A537] # VAI SYLLABLE LI
-A538 ; [.2CD3.0020.0002.A538] # VAI SYLLABLE RI
-A539 ; [.2CD4.0020.0002.A539] # VAI SYLLABLE DI
-A53A ; [.2CD5.0020.0002.A53A] # VAI SYLLABLE NDI
-A53B ; [.2CD6.0020.0002.A53B] # VAI SYLLABLE SI
-A53C ; [.2CD7.0020.0002.A53C] # VAI SYLLABLE SHI
-A53D ; [.2CD8.0020.0002.A53D] # VAI SYLLABLE ZI
-A53E ; [.2CD9.0020.0002.A53E] # VAI SYLLABLE ZHI
-A53F ; [.2CDA.0020.0002.A53F] # VAI SYLLABLE CI
-A540 ; [.2CDB.0020.0002.A540] # VAI SYLLABLE JI
-A541 ; [.2CDC.0020.0002.A541] # VAI SYLLABLE NJI
-A542 ; [.2CDD.0020.0002.A542] # VAI SYLLABLE YI
-A543 ; [.2CDE.0020.0002.A543] # VAI SYLLABLE KI
-A544 ; [.2CDF.0020.0002.A544] # VAI SYLLABLE NGGI
-A545 ; [.2CE0.0020.0002.A545] # VAI SYLLABLE GI
-A546 ; [.2CE1.0020.0002.A546] # VAI SYLLABLE MI
-A547 ; [.2CE2.0020.0002.A547] # VAI SYLLABLE NI
-A616 ; [.2CE2.0020.0004.A616][.2DA7.0020.0004.A616] # VAI SYMBOL NII; QQKN
-A548 ; [.2CE3.0020.0002.A548] # VAI SYLLABLE NYI
-A549 ; [.2CE4.0020.0002.A549] # VAI SYLLABLE A
-A54A ; [.2CE5.0020.0002.A54A] # VAI SYLLABLE AN
-A54B ; [.2CE6.0020.0002.A54B] # VAI SYLLABLE NGAN
-A54C ; [.2CE7.0020.0002.A54C] # VAI SYLLABLE HA
-A54D ; [.2CE8.0020.0002.A54D] # VAI SYLLABLE HAN
-A54E ; [.2CE9.0020.0002.A54E] # VAI SYLLABLE WA
-A54F ; [.2CEA.0020.0002.A54F] # VAI SYLLABLE WAN
-A550 ; [.2CEB.0020.0002.A550] # VAI SYLLABLE PA
-A551 ; [.2CEC.0020.0002.A551] # VAI SYLLABLE BHA
-A552 ; [.2CED.0020.0002.A552] # VAI SYLLABLE BA
-A617 ; [.2CED.0020.0004.A617][.2DA6.0020.0004.A617] # VAI SYMBOL BANG; QQKN
-A553 ; [.2CEE.0020.0002.A553] # VAI SYLLABLE MBA
-A554 ; [.2CEF.0020.0002.A554] # VAI SYLLABLE KPA
-A555 ; [.2CF0.0020.0002.A555] # VAI SYLLABLE KPAN
-A556 ; [.2CF1.0020.0002.A556] # VAI SYLLABLE MGBA
-A557 ; [.2CF2.0020.0002.A557] # VAI SYLLABLE GBA
-A558 ; [.2CF3.0020.0002.A558] # VAI SYLLABLE FA
-A610 ; [.2CF3.0020.0004.A610] # VAI SYLLABLE NDOLE FA; QQK
-A618 ; [.2CF3.0020.0004.A618][.2DA7.0020.0004.A618] # VAI SYMBOL FAA; QQKN
-A559 ; [.2CF4.0020.0002.A559] # VAI SYLLABLE VA
-A55A ; [.2CF5.0020.0002.A55A] # VAI SYLLABLE TA
-A619 ; [.2CF5.0020.0004.A619][.2DA7.0020.0004.A619] # VAI SYMBOL TAA; QQKN
-A55B ; [.2CF6.0020.0002.A55B] # VAI SYLLABLE THA
-A55C ; [.2CF7.0020.0002.A55C] # VAI SYLLABLE DHA
-A55D ; [.2CF8.0020.0002.A55D] # VAI SYLLABLE DHHA
-A55E ; [.2CF9.0020.0002.A55E] # VAI SYLLABLE LA
-A55F ; [.2CFA.0020.0002.A55F] # VAI SYLLABLE RA
-A560 ; [.2CFB.0020.0002.A560] # VAI SYLLABLE DA
-A61A ; [.2CFB.0020.0004.A61A][.2DA6.0020.0004.A61A] # VAI SYMBOL DANG; QQKN
-A561 ; [.2CFC.0020.0002.A561] # VAI SYLLABLE NDA
-A562 ; [.2CFD.0020.0002.A562] # VAI SYLLABLE SA
-A563 ; [.2CFE.0020.0002.A563] # VAI SYLLABLE SHA
-A564 ; [.2CFF.0020.0002.A564] # VAI SYLLABLE ZA
-A565 ; [.2D00.0020.0002.A565] # VAI SYLLABLE ZHA
-A566 ; [.2D01.0020.0002.A566] # VAI SYLLABLE CA
-A567 ; [.2D02.0020.0002.A567] # VAI SYLLABLE JA
-A568 ; [.2D03.0020.0002.A568] # VAI SYLLABLE NJA
-A569 ; [.2D04.0020.0002.A569] # VAI SYLLABLE YA
-A56A ; [.2D05.0020.0002.A56A] # VAI SYLLABLE KA
-A611 ; [.2D05.0020.0004.A611] # VAI SYLLABLE NDOLE KA; QQK
-A56B ; [.2D06.0020.0002.A56B] # VAI SYLLABLE KAN
-A56C ; [.2D07.0020.0002.A56C] # VAI SYLLABLE NGGA
-A56D ; [.2D08.0020.0002.A56D] # VAI SYLLABLE GA
-A56E ; [.2D09.0020.0002.A56E] # VAI SYLLABLE MA
-A62A ; [.2D09.0020.0004.A62A] # VAI SYLLABLE NDOLE MA; QQK
-A56F ; [.2D0A.0020.0002.A56F] # VAI SYLLABLE NA
-A570 ; [.2D0B.0020.0002.A570] # VAI SYLLABLE NYA
-A571 ; [.2D0C.0020.0002.A571] # VAI SYLLABLE OO
-A572 ; [.2D0D.0020.0002.A572] # VAI SYLLABLE OON
-A573 ; [.2D0E.0020.0002.A573] # VAI SYLLABLE HOO
-A574 ; [.2D0F.0020.0002.A574] # VAI SYLLABLE WOO
-A575 ; [.2D10.0020.0002.A575] # VAI SYLLABLE WOON
-A576 ; [.2D11.0020.0002.A576] # VAI SYLLABLE POO
-A577 ; [.2D12.0020.0002.A577] # VAI SYLLABLE BHOO
-A578 ; [.2D13.0020.0002.A578] # VAI SYLLABLE BOO
-A579 ; [.2D14.0020.0002.A579] # VAI SYLLABLE MBOO
-A57A ; [.2D15.0020.0002.A57A] # VAI SYLLABLE KPOO
-A57B ; [.2D16.0020.0002.A57B] # VAI SYLLABLE MGBOO
-A57C ; [.2D17.0020.0002.A57C] # VAI SYLLABLE GBOO
-A57D ; [.2D18.0020.0002.A57D] # VAI SYLLABLE FOO
-A57E ; [.2D19.0020.0002.A57E] # VAI SYLLABLE VOO
-A57F ; [.2D1A.0020.0002.A57F] # VAI SYLLABLE TOO
-A580 ; [.2D1B.0020.0002.A580] # VAI SYLLABLE THOO
-A581 ; [.2D1C.0020.0002.A581] # VAI SYLLABLE DHOO
-A582 ; [.2D1D.0020.0002.A582] # VAI SYLLABLE DHHOO
-A583 ; [.2D1E.0020.0002.A583] # VAI SYLLABLE LOO
-A584 ; [.2D1F.0020.0002.A584] # VAI SYLLABLE ROO
-A585 ; [.2D20.0020.0002.A585] # VAI SYLLABLE DOO
-A61B ; [.2D20.0020.0004.A61B][.2DA6.0020.0004.A61B] # VAI SYMBOL DOONG; QQKN
-A586 ; [.2D21.0020.0002.A586] # VAI SYLLABLE NDOO
-A587 ; [.2D22.0020.0002.A587] # VAI SYLLABLE SOO
-A612 ; [.2D22.0020.0004.A612] # VAI SYLLABLE NDOLE SOO; QQK
-A588 ; [.2D23.0020.0002.A588] # VAI SYLLABLE SHOO
-A589 ; [.2D24.0020.0002.A589] # VAI SYLLABLE ZOO
-A58A ; [.2D25.0020.0002.A58A] # VAI SYLLABLE ZHOO
-A58B ; [.2D26.0020.0002.A58B] # VAI SYLLABLE COO
-A58C ; [.2D27.0020.0002.A58C] # VAI SYLLABLE JOO
-A58D ; [.2D28.0020.0002.A58D] # VAI SYLLABLE NJOO
-A58E ; [.2D29.0020.0002.A58E] # VAI SYLLABLE YOO
-A58F ; [.2D2A.0020.0002.A58F] # VAI SYLLABLE KOO
-A590 ; [.2D2B.0020.0002.A590] # VAI SYLLABLE NGGOO
-A591 ; [.2D2C.0020.0002.A591] # VAI SYLLABLE GOO
-A592 ; [.2D2D.0020.0002.A592] # VAI SYLLABLE MOO
-A593 ; [.2D2E.0020.0002.A593] # VAI SYLLABLE NOO
-A594 ; [.2D2F.0020.0002.A594] # VAI SYLLABLE NYOO
-A595 ; [.2D30.0020.0002.A595] # VAI SYLLABLE U
-A596 ; [.2D31.0020.0002.A596] # VAI SYLLABLE UN
-A597 ; [.2D32.0020.0002.A597] # VAI SYLLABLE HU
-A598 ; [.2D33.0020.0002.A598] # VAI SYLLABLE HUN
-A599 ; [.2D34.0020.0002.A599] # VAI SYLLABLE WU
-A59A ; [.2D35.0020.0002.A59A] # VAI SYLLABLE WUN
-A59B ; [.2D36.0020.0002.A59B] # VAI SYLLABLE PU
-A59C ; [.2D37.0020.0002.A59C] # VAI SYLLABLE BHU
-A59D ; [.2D38.0020.0002.A59D] # VAI SYLLABLE BU
-A59E ; [.2D39.0020.0002.A59E] # VAI SYLLABLE MBU
-A59F ; [.2D3A.0020.0002.A59F] # VAI SYLLABLE KPU
-A5A0 ; [.2D3B.0020.0002.A5A0] # VAI SYLLABLE MGBU
-A5A1 ; [.2D3C.0020.0002.A5A1] # VAI SYLLABLE GBU
-A5A2 ; [.2D3D.0020.0002.A5A2] # VAI SYLLABLE FU
-A5A3 ; [.2D3E.0020.0002.A5A3] # VAI SYLLABLE VU
-A5A4 ; [.2D3F.0020.0002.A5A4] # VAI SYLLABLE TU
-A5A5 ; [.2D40.0020.0002.A5A5] # VAI SYLLABLE THU
-A5A6 ; [.2D41.0020.0002.A5A6] # VAI SYLLABLE DHU
-A5A7 ; [.2D42.0020.0002.A5A7] # VAI SYLLABLE DHHU
-A5A8 ; [.2D43.0020.0002.A5A8] # VAI SYLLABLE LU
-A5A9 ; [.2D44.0020.0002.A5A9] # VAI SYLLABLE RU
-A5AA ; [.2D45.0020.0002.A5AA] # VAI SYLLABLE DU
-A5AB ; [.2D46.0020.0002.A5AB] # VAI SYLLABLE NDU
-A5AC ; [.2D47.0020.0002.A5AC] # VAI SYLLABLE SU
-A5AD ; [.2D48.0020.0002.A5AD] # VAI SYLLABLE SHU
-A5AE ; [.2D49.0020.0002.A5AE] # VAI SYLLABLE ZU
-A5AF ; [.2D4A.0020.0002.A5AF] # VAI SYLLABLE ZHU
-A5B0 ; [.2D4B.0020.0002.A5B0] # VAI SYLLABLE CU
-A5B1 ; [.2D4C.0020.0002.A5B1] # VAI SYLLABLE JU
-A5B2 ; [.2D4D.0020.0002.A5B2] # VAI SYLLABLE NJU
-A5B3 ; [.2D4E.0020.0002.A5B3] # VAI SYLLABLE YU
-A5B4 ; [.2D4F.0020.0002.A5B4] # VAI SYLLABLE KU
-A61C ; [.2D4F.0020.0004.A61C][.2DA6.0020.0004.A61C] # VAI SYMBOL KUNG; QQKN
-A5B5 ; [.2D50.0020.0002.A5B5] # VAI SYLLABLE NGGU
-A5B6 ; [.2D51.0020.0002.A5B6] # VAI SYLLABLE GU
-A5B7 ; [.2D52.0020.0002.A5B7] # VAI SYLLABLE MU
-A5B8 ; [.2D53.0020.0002.A5B8] # VAI SYLLABLE NU
-A5B9 ; [.2D54.0020.0002.A5B9] # VAI SYLLABLE NYU
-A5BA ; [.2D55.0020.0002.A5BA] # VAI SYLLABLE O
-A5BB ; [.2D56.0020.0002.A5BB] # VAI SYLLABLE ON
-A5BC ; [.2D57.0020.0002.A5BC] # VAI SYLLABLE NGON
-A5BD ; [.2D58.0020.0002.A5BD] # VAI SYLLABLE HO
-A5BE ; [.2D59.0020.0002.A5BE] # VAI SYLLABLE HON
-A5BF ; [.2D5A.0020.0002.A5BF] # VAI SYLLABLE WO
-A5C0 ; [.2D5B.0020.0002.A5C0] # VAI SYLLABLE WON
-A5C1 ; [.2D5C.0020.0002.A5C1] # VAI SYLLABLE PO
-A5C2 ; [.2D5D.0020.0002.A5C2] # VAI SYLLABLE BHO
-A5C3 ; [.2D5E.0020.0002.A5C3] # VAI SYLLABLE BO
-A5C4 ; [.2D5F.0020.0002.A5C4] # VAI SYLLABLE MBO
-A5C5 ; [.2D60.0020.0002.A5C5] # VAI SYLLABLE KPO
-A5C6 ; [.2D61.0020.0002.A5C6] # VAI SYLLABLE MGBO
-A5C7 ; [.2D62.0020.0002.A5C7] # VAI SYLLABLE GBO
-A5C8 ; [.2D63.0020.0002.A5C8] # VAI SYLLABLE GBON
-A5C9 ; [.2D64.0020.0002.A5C9] # VAI SYLLABLE FO
-A5CA ; [.2D65.0020.0002.A5CA] # VAI SYLLABLE VO
-A5CB ; [.2D66.0020.0002.A5CB] # VAI SYLLABLE TO
-A61D ; [.2D66.0020.0004.A61D][.2DA6.0020.0004.A61D] # VAI SYMBOL TONG; QQKN
-A5CC ; [.2D67.0020.0002.A5CC] # VAI SYLLABLE THO
-A5CD ; [.2D68.0020.0002.A5CD] # VAI SYLLABLE DHO
-A5CE ; [.2D69.0020.0002.A5CE] # VAI SYLLABLE DHHO
-A5CF ; [.2D6A.0020.0002.A5CF] # VAI SYLLABLE LO
-A5D0 ; [.2D6B.0020.0002.A5D0] # VAI SYLLABLE RO
-A5D1 ; [.2D6C.0020.0002.A5D1] # VAI SYLLABLE DO
-A62B ; [.2D6C.0020.0004.A62B] # VAI SYLLABLE NDOLE DO; QQK
-A61E ; [.2D6C.0020.0004.A61E][.2DA7.0020.0004.A61E] # VAI SYMBOL DO-O; QQKN
-A5D2 ; [.2D6D.0020.0002.A5D2] # VAI SYLLABLE NDO
-A5D3 ; [.2D6E.0020.0002.A5D3] # VAI SYLLABLE SO
-A5D4 ; [.2D6F.0020.0002.A5D4] # VAI SYLLABLE SHO
-A5D5 ; [.2D70.0020.0002.A5D5] # VAI SYLLABLE ZO
-A5D6 ; [.2D71.0020.0002.A5D6] # VAI SYLLABLE ZHO
-A5D7 ; [.2D72.0020.0002.A5D7] # VAI SYLLABLE CO
-A5D8 ; [.2D73.0020.0002.A5D8] # VAI SYLLABLE JO
-A61F ; [.2D73.0020.0004.A61F][.2DA6.0020.0004.A61F] # VAI SYMBOL JONG; QQKN
-A5D9 ; [.2D74.0020.0002.A5D9] # VAI SYLLABLE NJO
-A5DA ; [.2D75.0020.0002.A5DA] # VAI SYLLABLE YO
-A5DB ; [.2D76.0020.0002.A5DB] # VAI SYLLABLE KO
-A5DC ; [.2D77.0020.0002.A5DC] # VAI SYLLABLE NGGO
-A5DD ; [.2D78.0020.0002.A5DD] # VAI SYLLABLE GO
-A5DE ; [.2D79.0020.0002.A5DE] # VAI SYLLABLE MO
-A5DF ; [.2D7A.0020.0002.A5DF] # VAI SYLLABLE NO
-A5E0 ; [.2D7B.0020.0002.A5E0] # VAI SYLLABLE NYO
-A5E1 ; [.2D7C.0020.0002.A5E1] # VAI SYLLABLE E
-A5E2 ; [.2D7D.0020.0002.A5E2] # VAI SYLLABLE EN
-A5E3 ; [.2D7E.0020.0002.A5E3] # VAI SYLLABLE NGEN
-A5E4 ; [.2D7F.0020.0002.A5E4] # VAI SYLLABLE HE
-A5E5 ; [.2D80.0020.0002.A5E5] # VAI SYLLABLE HEN
-A5E6 ; [.2D81.0020.0002.A5E6] # VAI SYLLABLE WE
-A5E7 ; [.2D82.0020.0002.A5E7] # VAI SYLLABLE WEN
-A5E8 ; [.2D83.0020.0002.A5E8] # VAI SYLLABLE PE
-A5E9 ; [.2D84.0020.0002.A5E9] # VAI SYLLABLE BHE
-A5EA ; [.2D85.0020.0002.A5EA] # VAI SYLLABLE BE
-A5EB ; [.2D86.0020.0002.A5EB] # VAI SYLLABLE MBE
-A5EC ; [.2D87.0020.0002.A5EC] # VAI SYLLABLE KPE
-A5ED ; [.2D88.0020.0002.A5ED] # VAI SYLLABLE KPEN
-A5EE ; [.2D89.0020.0002.A5EE] # VAI SYLLABLE MGBE
-A5EF ; [.2D8A.0020.0002.A5EF] # VAI SYLLABLE GBE
-A5F0 ; [.2D8B.0020.0002.A5F0] # VAI SYLLABLE GBEN
-A5F1 ; [.2D8C.0020.0002.A5F1] # VAI SYLLABLE FE
-A5F2 ; [.2D8D.0020.0002.A5F2] # VAI SYLLABLE VE
-A5F3 ; [.2D8E.0020.0002.A5F3] # VAI SYLLABLE TE
-A5F4 ; [.2D8F.0020.0002.A5F4] # VAI SYLLABLE THE
-A5F5 ; [.2D90.0020.0002.A5F5] # VAI SYLLABLE DHE
-A5F6 ; [.2D91.0020.0002.A5F6] # VAI SYLLABLE DHHE
-A5F7 ; [.2D92.0020.0002.A5F7] # VAI SYLLABLE LE
-A5F8 ; [.2D93.0020.0002.A5F8] # VAI SYLLABLE RE
-A5F9 ; [.2D94.0020.0002.A5F9] # VAI SYLLABLE DE
-A5FA ; [.2D95.0020.0002.A5FA] # VAI SYLLABLE NDE
-A5FB ; [.2D96.0020.0002.A5FB] # VAI SYLLABLE SE
-A5FC ; [.2D97.0020.0002.A5FC] # VAI SYLLABLE SHE
-A5FD ; [.2D98.0020.0002.A5FD] # VAI SYLLABLE ZE
-A5FE ; [.2D99.0020.0002.A5FE] # VAI SYLLABLE ZHE
-A5FF ; [.2D9A.0020.0002.A5FF] # VAI SYLLABLE CE
-A600 ; [.2D9B.0020.0002.A600] # VAI SYLLABLE JE
-A601 ; [.2D9C.0020.0002.A601] # VAI SYLLABLE NJE
-A602 ; [.2D9D.0020.0002.A602] # VAI SYLLABLE YE
-A603 ; [.2D9E.0020.0002.A603] # VAI SYLLABLE KE
-A604 ; [.2D9F.0020.0002.A604] # VAI SYLLABLE NGGE
-A605 ; [.2DA0.0020.0002.A605] # VAI SYLLABLE NGGEN
-A606 ; [.2DA1.0020.0002.A606] # VAI SYLLABLE GE
-A607 ; [.2DA2.0020.0002.A607] # VAI SYLLABLE GEN
-A608 ; [.2DA3.0020.0002.A608] # VAI SYLLABLE ME
-A609 ; [.2DA4.0020.0002.A609] # VAI SYLLABLE NE
-A60A ; [.2DA5.0020.0002.A60A] # VAI SYLLABLE NYE
-A60B ; [.2DA6.0020.0002.A60B] # VAI SYLLABLE NG
-A60C ; [.2DA7.0020.0002.A60C] # VAI SYLLABLE LENGTHENER
-A6A0 ; [.2DA8.0020.0002.A6A0] # BAMUM LETTER A
-A6A1 ; [.2DA9.0020.0002.A6A1] # BAMUM LETTER KA
-A6A2 ; [.2DAA.0020.0002.A6A2] # BAMUM LETTER U
-A6A3 ; [.2DAB.0020.0002.A6A3] # BAMUM LETTER KU
-A6A4 ; [.2DAC.0020.0002.A6A4] # BAMUM LETTER EE
-A6A5 ; [.2DAD.0020.0002.A6A5] # BAMUM LETTER REE
-A6A6 ; [.2DAE.0020.0002.A6A6] # BAMUM LETTER TAE
-A6A7 ; [.2DAF.0020.0002.A6A7] # BAMUM LETTER O
-A6A8 ; [.2DB0.0020.0002.A6A8] # BAMUM LETTER NYI
-A6A9 ; [.2DB1.0020.0002.A6A9] # BAMUM LETTER I
-A6AA ; [.2DB2.0020.0002.A6AA] # BAMUM LETTER LA
-A6AB ; [.2DB3.0020.0002.A6AB] # BAMUM LETTER PA
-A6AC ; [.2DB4.0020.0002.A6AC] # BAMUM LETTER RII
-A6AD ; [.2DB5.0020.0002.A6AD] # BAMUM LETTER RIEE
-A6AE ; [.2DB6.0020.0002.A6AE] # BAMUM LETTER LEEEE
-A6AF ; [.2DB7.0020.0002.A6AF] # BAMUM LETTER MEEEE
-A6B0 ; [.2DB8.0020.0002.A6B0] # BAMUM LETTER TAA
-A6B1 ; [.2DB9.0020.0002.A6B1] # BAMUM LETTER NDAA
-A6B2 ; [.2DBA.0020.0002.A6B2] # BAMUM LETTER NJAEM
-A6B3 ; [.2DBB.0020.0002.A6B3] # BAMUM LETTER M
-A6B4 ; [.2DBC.0020.0002.A6B4] # BAMUM LETTER SUU
-A6B5 ; [.2DBD.0020.0002.A6B5] # BAMUM LETTER MU
-A6B6 ; [.2DBE.0020.0002.A6B6] # BAMUM LETTER SHII
-A6B7 ; [.2DBF.0020.0002.A6B7] # BAMUM LETTER SI
-A6B8 ; [.2DC0.0020.0002.A6B8] # BAMUM LETTER SHEUX
-A6B9 ; [.2DC1.0020.0002.A6B9] # BAMUM LETTER SEUX
-A6BA ; [.2DC2.0020.0002.A6BA] # BAMUM LETTER KYEE
-A6BB ; [.2DC3.0020.0002.A6BB] # BAMUM LETTER KET
-A6BC ; [.2DC4.0020.0002.A6BC] # BAMUM LETTER NUAE
-A6BD ; [.2DC5.0020.0002.A6BD] # BAMUM LETTER NU
-A6BE ; [.2DC6.0020.0002.A6BE] # BAMUM LETTER NJUAE
-A6BF ; [.2DC7.0020.0002.A6BF] # BAMUM LETTER YOQ
-A6C0 ; [.2DC8.0020.0002.A6C0] # BAMUM LETTER SHU
-A6C1 ; [.2DC9.0020.0002.A6C1] # BAMUM LETTER YUQ
-A6C2 ; [.2DCA.0020.0002.A6C2] # BAMUM LETTER YA
-A6C3 ; [.2DCB.0020.0002.A6C3] # BAMUM LETTER NSHA
-A6C4 ; [.2DCC.0020.0002.A6C4] # BAMUM LETTER KEUX
-A6C5 ; [.2DCD.0020.0002.A6C5] # BAMUM LETTER PEUX
-A6C6 ; [.2DCE.0020.0002.A6C6] # BAMUM LETTER NJEE
-A6C7 ; [.2DCF.0020.0002.A6C7] # BAMUM LETTER NTEE
-A6C8 ; [.2DD0.0020.0002.A6C8] # BAMUM LETTER PUE
-A6C9 ; [.2DD1.0020.0002.A6C9] # BAMUM LETTER WUE
-A6CA ; [.2DD2.0020.0002.A6CA] # BAMUM LETTER PEE
-A6CB ; [.2DD3.0020.0002.A6CB] # BAMUM LETTER FEE
-A6CC ; [.2DD4.0020.0002.A6CC] # BAMUM LETTER RU
-A6CD ; [.2DD5.0020.0002.A6CD] # BAMUM LETTER LU
-A6CE ; [.2DD6.0020.0002.A6CE] # BAMUM LETTER MI
-A6CF ; [.2DD7.0020.0002.A6CF] # BAMUM LETTER NI
-A6D0 ; [.2DD8.0020.0002.A6D0] # BAMUM LETTER REUX
-A6D1 ; [.2DD9.0020.0002.A6D1] # BAMUM LETTER RAE
-A6D2 ; [.2DDA.0020.0002.A6D2] # BAMUM LETTER KEN
-A6D3 ; [.2DDB.0020.0002.A6D3] # BAMUM LETTER NGKWAEN
-A6D4 ; [.2DDC.0020.0002.A6D4] # BAMUM LETTER NGGA
-A6D5 ; [.2DDD.0020.0002.A6D5] # BAMUM LETTER NGA
-A6D6 ; [.2DDE.0020.0002.A6D6] # BAMUM LETTER SHO
-A6D7 ; [.2DDF.0020.0002.A6D7] # BAMUM LETTER PUAE
-A6D8 ; [.2DE0.0020.0002.A6D8] # BAMUM LETTER FU
-A6D9 ; [.2DE1.0020.0002.A6D9] # BAMUM LETTER FOM
-A6DA ; [.2DE2.0020.0002.A6DA] # BAMUM LETTER WA
-A6DB ; [.2DE3.0020.0002.A6DB] # BAMUM LETTER NA
-A6DC ; [.2DE4.0020.0002.A6DC] # BAMUM LETTER LI
-A6DD ; [.2DE5.0020.0002.A6DD] # BAMUM LETTER PI
-A6DE ; [.2DE6.0020.0002.A6DE] # BAMUM LETTER LOQ
-A6DF ; [.2DE7.0020.0002.A6DF] # BAMUM LETTER KO
-A6E0 ; [.2DE8.0020.0002.A6E0] # BAMUM LETTER MBEN
-A6E1 ; [.2DE9.0020.0002.A6E1] # BAMUM LETTER REN
-A6E2 ; [.2DEA.0020.0002.A6E2] # BAMUM LETTER MEN
-A6E3 ; [.2DEB.0020.0002.A6E3] # BAMUM LETTER MA
-A6E4 ; [.2DEC.0020.0002.A6E4] # BAMUM LETTER TI
-A6E5 ; [.2DED.0020.0002.A6E5] # BAMUM LETTER KI
-A6E6 ; [.2DEE.0020.0002.A6E6] # BAMUM LETTER MO
-A6E7 ; [.2DEF.0020.0002.A6E7] # BAMUM LETTER MBAA
-A6E8 ; [.2DF0.0020.0002.A6E8] # BAMUM LETTER TET
-A6E9 ; [.2DF1.0020.0002.A6E9] # BAMUM LETTER KPA
-A6EA ; [.2DF2.0020.0002.A6EA] # BAMUM LETTER TEN
-A6EB ; [.2DF3.0020.0002.A6EB] # BAMUM LETTER NTUU
-A6EC ; [.2DF4.0020.0002.A6EC] # BAMUM LETTER SAMBA
-A6ED ; [.2DF5.0020.0002.A6ED] # BAMUM LETTER FAAMAE
-A6EE ; [.2DF6.0020.0002.A6EE] # BAMUM LETTER KOVUU
-A6EF ; [.2DF7.0020.0002.A6EF] # BAMUM LETTER KOGHOM
-16800 ; [.2DF8.0020.0002.16800] # BAMUM LETTER PHASE-A NGKUE MFON
-16801 ; [.2DF9.0020.0002.16801] # BAMUM LETTER PHASE-A GBIEE FON
-16802 ; [.2DFA.0020.0002.16802] # BAMUM LETTER PHASE-A PON MFON PIPAEMGBIEE
-16803 ; [.2DFB.0020.0002.16803] # BAMUM LETTER PHASE-A PON MFON PIPAEMBA
-16804 ; [.2DFC.0020.0002.16804] # BAMUM LETTER PHASE-A NAA MFON
-16805 ; [.2DFD.0020.0002.16805] # BAMUM LETTER PHASE-A SHUENSHUET
-16806 ; [.2DFE.0020.0002.16806] # BAMUM LETTER PHASE-A TITA MFON
-16807 ; [.2DFF.0020.0002.16807] # BAMUM LETTER PHASE-A NZA MFON
-16808 ; [.2E00.0020.0002.16808] # BAMUM LETTER PHASE-A SHINDA PA NJI
-16809 ; [.2E01.0020.0002.16809] # BAMUM LETTER PHASE-A PON PA NJI PIPAEMGBIEE
-1680A ; [.2E02.0020.0002.1680A] # BAMUM LETTER PHASE-A PON PA NJI PIPAEMBA
-1680B ; [.2E03.0020.0002.1680B] # BAMUM LETTER PHASE-A MAEMBGBIEE
-1680C ; [.2E04.0020.0002.1680C] # BAMUM LETTER PHASE-A TU MAEMBA
-1680D ; [.2E05.0020.0002.1680D] # BAMUM LETTER PHASE-A NGANGU
-1680E ; [.2E06.0020.0002.1680E] # BAMUM LETTER PHASE-A MAEMVEUX
-1680F ; [.2E07.0020.0002.1680F] # BAMUM LETTER PHASE-A MANSUAE
-16810 ; [.2E08.0020.0002.16810] # BAMUM LETTER PHASE-A MVEUAENGAM
-16811 ; [.2E09.0020.0002.16811] # BAMUM LETTER PHASE-A SEUNYAM
-16812 ; [.2E0A.0020.0002.16812] # BAMUM LETTER PHASE-A NTOQPEN
-16813 ; [.2E0B.0020.0002.16813] # BAMUM LETTER PHASE-A KEUKEUTNDA
-16814 ; [.2E0C.0020.0002.16814] # BAMUM LETTER PHASE-A NKINDI
-16815 ; [.2E0D.0020.0002.16815] # BAMUM LETTER PHASE-A SUU
-16816 ; [.2E0E.0020.0002.16816] # BAMUM LETTER PHASE-A NGKUENZEUM
-16817 ; [.2E0F.0020.0002.16817] # BAMUM LETTER PHASE-A LAPAQ
-16818 ; [.2E10.0020.0002.16818] # BAMUM LETTER PHASE-A LET KUT
-16819 ; [.2E11.0020.0002.16819] # BAMUM LETTER PHASE-A NTAP MFAA
-1681A ; [.2E12.0020.0002.1681A] # BAMUM LETTER PHASE-A MAEKEUP
-1681B ; [.2E13.0020.0002.1681B] # BAMUM LETTER PHASE-A PASHAE
-1681C ; [.2E14.0020.0002.1681C] # BAMUM LETTER PHASE-A GHEUAERAE
-1681D ; [.2E15.0020.0002.1681D] # BAMUM LETTER PHASE-A PAMSHAE
-1681E ; [.2E16.0020.0002.1681E] # BAMUM LETTER PHASE-A MON NGGEUAET
-1681F ; [.2E17.0020.0002.1681F] # BAMUM LETTER PHASE-A NZUN MEUT
-16820 ; [.2E18.0020.0002.16820] # BAMUM LETTER PHASE-A U YUQ NAE
-16821 ; [.2E19.0020.0002.16821] # BAMUM LETTER PHASE-A GHEUAEGHEUAE
-16822 ; [.2E1A.0020.0002.16822] # BAMUM LETTER PHASE-A NTAP NTAA
-16823 ; [.2E1B.0020.0002.16823] # BAMUM LETTER PHASE-A SISA
-16824 ; [.2E1C.0020.0002.16824] # BAMUM LETTER PHASE-A MGBASA
-16825 ; [.2E1D.0020.0002.16825] # BAMUM LETTER PHASE-A MEUNJOMNDEUQ
-16826 ; [.2E1E.0020.0002.16826] # BAMUM LETTER PHASE-A MOOMPUQ
-16827 ; [.2E1F.0020.0002.16827] # BAMUM LETTER PHASE-A KAFA
-16828 ; [.2E20.0020.0002.16828] # BAMUM LETTER PHASE-A PA LEERAEWA
-16829 ; [.2E21.0020.0002.16829] # BAMUM LETTER PHASE-A NDA LEERAEWA
-1682A ; [.2E22.0020.0002.1682A] # BAMUM LETTER PHASE-A PET
-1682B ; [.2E23.0020.0002.1682B] # BAMUM LETTER PHASE-A MAEMKPEN
-1682C ; [.2E24.0020.0002.1682C] # BAMUM LETTER PHASE-A NIKA
-1682D ; [.2E25.0020.0002.1682D] # BAMUM LETTER PHASE-A PUP
-1682E ; [.2E26.0020.0002.1682E] # BAMUM LETTER PHASE-A TUAEP
-1682F ; [.2E27.0020.0002.1682F] # BAMUM LETTER PHASE-A LUAEP
-16830 ; [.2E28.0020.0002.16830] # BAMUM LETTER PHASE-A SONJAM
-16831 ; [.2E29.0020.0002.16831] # BAMUM LETTER PHASE-A TEUTEUWEN
-16832 ; [.2E2A.0020.0002.16832] # BAMUM LETTER PHASE-A MAENYI
-16833 ; [.2E2B.0020.0002.16833] # BAMUM LETTER PHASE-A KET
-16834 ; [.2E2C.0020.0002.16834] # BAMUM LETTER PHASE-A NDAANGGEUAET
-16835 ; [.2E2D.0020.0002.16835] # BAMUM LETTER PHASE-A KUOQ
-16836 ; [.2E2E.0020.0002.16836] # BAMUM LETTER PHASE-A MOOMEUT
-16837 ; [.2E2F.0020.0002.16837] # BAMUM LETTER PHASE-A SHUM
-16838 ; [.2E30.0020.0002.16838] # BAMUM LETTER PHASE-A LOMMAE
-16839 ; [.2E31.0020.0002.16839] # BAMUM LETTER PHASE-A FIRI
-1683A ; [.2E32.0020.0002.1683A] # BAMUM LETTER PHASE-A ROM
-1683B ; [.2E33.0020.0002.1683B] # BAMUM LETTER PHASE-A KPOQ
-1683C ; [.2E34.0020.0002.1683C] # BAMUM LETTER PHASE-A SOQ
-1683D ; [.2E35.0020.0002.1683D] # BAMUM LETTER PHASE-A MAP PIEET
-1683E ; [.2E36.0020.0002.1683E] # BAMUM LETTER PHASE-A SHIRAE
-1683F ; [.2E37.0020.0002.1683F] # BAMUM LETTER PHASE-A NTAP
-16840 ; [.2E38.0020.0002.16840] # BAMUM LETTER PHASE-A SHOQ NSHUT YUM
-16841 ; [.2E39.0020.0002.16841] # BAMUM LETTER PHASE-A NYIT MONGKEUAEQ
-16842 ; [.2E3A.0020.0002.16842] # BAMUM LETTER PHASE-A PAARAE
-16843 ; [.2E3B.0020.0002.16843] # BAMUM LETTER PHASE-A NKAARAE
-16844 ; [.2E3C.0020.0002.16844] # BAMUM LETTER PHASE-A UNKNOWN
-16845 ; [.2E3D.0020.0002.16845] # BAMUM LETTER PHASE-A NGGEN
-16846 ; [.2E3E.0020.0002.16846] # BAMUM LETTER PHASE-A MAESI
-16847 ; [.2E3F.0020.0002.16847] # BAMUM LETTER PHASE-A NJAM
-16848 ; [.2E40.0020.0002.16848] # BAMUM LETTER PHASE-A MBANYI
-16849 ; [.2E41.0020.0002.16849] # BAMUM LETTER PHASE-A NYET
-1684A ; [.2E42.0020.0002.1684A] # BAMUM LETTER PHASE-A TEUAEN
-1684B ; [.2E43.0020.0002.1684B] # BAMUM LETTER PHASE-A SOT
-1684C ; [.2E44.0020.0002.1684C] # BAMUM LETTER PHASE-A PAAM
-1684D ; [.2E45.0020.0002.1684D] # BAMUM LETTER PHASE-A NSHIEE
-1684E ; [.2E46.0020.0002.1684E] # BAMUM LETTER PHASE-A MAEM
-1684F ; [.2E47.0020.0002.1684F] # BAMUM LETTER PHASE-A NYI
-16850 ; [.2E48.0020.0002.16850] # BAMUM LETTER PHASE-A KAQ
-16851 ; [.2E49.0020.0002.16851] # BAMUM LETTER PHASE-A NSHA
-16852 ; [.2E4A.0020.0002.16852] # BAMUM LETTER PHASE-A VEE
-16853 ; [.2E4B.0020.0002.16853] # BAMUM LETTER PHASE-A LU
-16854 ; [.2E4C.0020.0002.16854] # BAMUM LETTER PHASE-A NEN
-16855 ; [.2E4D.0020.0002.16855] # BAMUM LETTER PHASE-A NAQ
-16856 ; [.2E4E.0020.0002.16856] # BAMUM LETTER PHASE-A MBAQ
-16857 ; [.2E4F.0020.0002.16857] # BAMUM LETTER PHASE-B NSHUET
-16858 ; [.2E50.0020.0002.16858] # BAMUM LETTER PHASE-B TU MAEMGBIEE
-16859 ; [.2E51.0020.0002.16859] # BAMUM LETTER PHASE-B SIEE
-1685A ; [.2E52.0020.0002.1685A] # BAMUM LETTER PHASE-B SET TU
-1685B ; [.2E53.0020.0002.1685B] # BAMUM LETTER PHASE-B LOM NTEUM
-1685C ; [.2E54.0020.0002.1685C] # BAMUM LETTER PHASE-B MBA MAELEE
-1685D ; [.2E55.0020.0002.1685D] # BAMUM LETTER PHASE-B KIEEM
-1685E ; [.2E56.0020.0002.1685E] # BAMUM LETTER PHASE-B YEURAE
-1685F ; [.2E57.0020.0002.1685F] # BAMUM LETTER PHASE-B MBAARAE
-16860 ; [.2E58.0020.0002.16860] # BAMUM LETTER PHASE-B KAM
-16861 ; [.2E59.0020.0002.16861] # BAMUM LETTER PHASE-B PEESHI
-16862 ; [.2E5A.0020.0002.16862] # BAMUM LETTER PHASE-B YAFU LEERAEWA
-16863 ; [.2E5B.0020.0002.16863] # BAMUM LETTER PHASE-B LAM NSHUT NYAM
-16864 ; [.2E5C.0020.0002.16864] # BAMUM LETTER PHASE-B NTIEE SHEUOQ
-16865 ; [.2E5D.0020.0002.16865] # BAMUM LETTER PHASE-B NDU NJAA
-16866 ; [.2E5E.0020.0002.16866] # BAMUM LETTER PHASE-B GHEUGHEUAEM
-16867 ; [.2E5F.0020.0002.16867] # BAMUM LETTER PHASE-B PIT
-16868 ; [.2E60.0020.0002.16868] # BAMUM LETTER PHASE-B TU NSIEE
-16869 ; [.2E61.0020.0002.16869] # BAMUM LETTER PHASE-B SHET NJAQ
-1686A ; [.2E62.0020.0002.1686A] # BAMUM LETTER PHASE-B SHEUAEQTU
-1686B ; [.2E63.0020.0002.1686B] # BAMUM LETTER PHASE-B MFON TEUAEQ
-1686C ; [.2E64.0020.0002.1686C] # BAMUM LETTER PHASE-B MBIT MBAAKET
-1686D ; [.2E65.0020.0002.1686D] # BAMUM LETTER PHASE-B NYI NTEUM
-1686E ; [.2E66.0020.0002.1686E] # BAMUM LETTER PHASE-B KEUPUQ
-1686F ; [.2E67.0020.0002.1686F] # BAMUM LETTER PHASE-B GHEUGHEN
-16870 ; [.2E68.0020.0002.16870] # BAMUM LETTER PHASE-B KEUYEUX
-16871 ; [.2E69.0020.0002.16871] # BAMUM LETTER PHASE-B LAANAE
-16872 ; [.2E6A.0020.0002.16872] # BAMUM LETTER PHASE-B PARUM
-16873 ; [.2E6B.0020.0002.16873] # BAMUM LETTER PHASE-B VEUM
-16874 ; [.2E6C.0020.0002.16874] # BAMUM LETTER PHASE-B NGKINDI MVOP
-16875 ; [.2E6D.0020.0002.16875] # BAMUM LETTER PHASE-B NGGEU MBU
-16876 ; [.2E6E.0020.0002.16876] # BAMUM LETTER PHASE-B WUAET
-16877 ; [.2E6F.0020.0002.16877] # BAMUM LETTER PHASE-B SAKEUAE
-16878 ; [.2E70.0020.0002.16878] # BAMUM LETTER PHASE-B TAAM
-16879 ; [.2E71.0020.0002.16879] # BAMUM LETTER PHASE-B MEUQ
-1687A ; [.2E72.0020.0002.1687A] # BAMUM LETTER PHASE-B NGGUOQ
-1687B ; [.2E73.0020.0002.1687B] # BAMUM LETTER PHASE-B NGGUOQ LARGE
-1687C ; [.2E74.0020.0002.1687C] # BAMUM LETTER PHASE-B MFIYAQ
-1687D ; [.2E75.0020.0002.1687D] # BAMUM LETTER PHASE-B SUE
-1687E ; [.2E76.0020.0002.1687E] # BAMUM LETTER PHASE-B MBEURI
-1687F ; [.2E77.0020.0002.1687F] # BAMUM LETTER PHASE-B MONTIEEN
-16880 ; [.2E78.0020.0002.16880] # BAMUM LETTER PHASE-B NYAEMAE
-16881 ; [.2E79.0020.0002.16881] # BAMUM LETTER PHASE-B PUNGAAM
-16882 ; [.2E7A.0020.0002.16882] # BAMUM LETTER PHASE-B MEUT NGGEET
-16883 ; [.2E7B.0020.0002.16883] # BAMUM LETTER PHASE-B FEUX
-16884 ; [.2E7C.0020.0002.16884] # BAMUM LETTER PHASE-B MBUOQ
-16885 ; [.2E7D.0020.0002.16885] # BAMUM LETTER PHASE-B FEE
-16886 ; [.2E7E.0020.0002.16886] # BAMUM LETTER PHASE-B KEUAEM
-16887 ; [.2E7F.0020.0002.16887] # BAMUM LETTER PHASE-B MA NJEUAENA
-16888 ; [.2E80.0020.0002.16888] # BAMUM LETTER PHASE-B MA NJUQA
-16889 ; [.2E81.0020.0002.16889] # BAMUM LETTER PHASE-B LET
-1688A ; [.2E82.0020.0002.1688A] # BAMUM LETTER PHASE-B NGGAAM
-1688B ; [.2E83.0020.0002.1688B] # BAMUM LETTER PHASE-B NSEN
-1688C ; [.2E84.0020.0002.1688C] # BAMUM LETTER PHASE-B MA
-1688D ; [.2E85.0020.0002.1688D] # BAMUM LETTER PHASE-B KIQ
-1688E ; [.2E86.0020.0002.1688E] # BAMUM LETTER PHASE-B NGOM
-1688F ; [.2E87.0020.0002.1688F] # BAMUM LETTER PHASE-C NGKUE MAEMBA
-16890 ; [.2E88.0020.0002.16890] # BAMUM LETTER PHASE-C NZA
-16891 ; [.2E89.0020.0002.16891] # BAMUM LETTER PHASE-C YUM
-16892 ; [.2E8A.0020.0002.16892] # BAMUM LETTER PHASE-C WANGKUOQ
-16893 ; [.2E8B.0020.0002.16893] # BAMUM LETTER PHASE-C NGGEN
-16894 ; [.2E8C.0020.0002.16894] # BAMUM LETTER PHASE-C NDEUAEREE
-16895 ; [.2E8D.0020.0002.16895] # BAMUM LETTER PHASE-C NGKAQ
-16896 ; [.2E8E.0020.0002.16896] # BAMUM LETTER PHASE-C GHARAE
-16897 ; [.2E8F.0020.0002.16897] # BAMUM LETTER PHASE-C MBEEKEET
-16898 ; [.2E90.0020.0002.16898] # BAMUM LETTER PHASE-C GBAYI
-16899 ; [.2E91.0020.0002.16899] # BAMUM LETTER PHASE-C NYIR MKPARAQ MEUN
-1689A ; [.2E92.0020.0002.1689A] # BAMUM LETTER PHASE-C NTU MBIT
-1689B ; [.2E93.0020.0002.1689B] # BAMUM LETTER PHASE-C MBEUM
-1689C ; [.2E94.0020.0002.1689C] # BAMUM LETTER PHASE-C PIRIEEN
-1689D ; [.2E95.0020.0002.1689D] # BAMUM LETTER PHASE-C NDOMBU
-1689E ; [.2E96.0020.0002.1689E] # BAMUM LETTER PHASE-C MBAA CABBAGE-TREE
-1689F ; [.2E97.0020.0002.1689F] # BAMUM LETTER PHASE-C KEUSHEUAEP
-168A0 ; [.2E98.0020.0002.168A0] # BAMUM LETTER PHASE-C GHAP
-168A1 ; [.2E99.0020.0002.168A1] # BAMUM LETTER PHASE-C KEUKAQ
-168A2 ; [.2E9A.0020.0002.168A2] # BAMUM LETTER PHASE-C YU MUOMAE
-168A3 ; [.2E9B.0020.0002.168A3] # BAMUM LETTER PHASE-C NZEUM
-168A4 ; [.2E9C.0020.0002.168A4] # BAMUM LETTER PHASE-C MBUE
-168A5 ; [.2E9D.0020.0002.168A5] # BAMUM LETTER PHASE-C NSEUAEN
-168A6 ; [.2E9E.0020.0002.168A6] # BAMUM LETTER PHASE-C MBIT
-168A7 ; [.2E9F.0020.0002.168A7] # BAMUM LETTER PHASE-C YEUQ
-168A8 ; [.2EA0.0020.0002.168A8] # BAMUM LETTER PHASE-C KPARAQ
-168A9 ; [.2EA1.0020.0002.168A9] # BAMUM LETTER PHASE-C KAA
-168AA ; [.2EA2.0020.0002.168AA] # BAMUM LETTER PHASE-C SEUX
-168AB ; [.2EA3.0020.0002.168AB] # BAMUM LETTER PHASE-C NDIDA
-168AC ; [.2EA4.0020.0002.168AC] # BAMUM LETTER PHASE-C TAASHAE
-168AD ; [.2EA5.0020.0002.168AD] # BAMUM LETTER PHASE-C NJUEQ
-168AE ; [.2EA6.0020.0002.168AE] # BAMUM LETTER PHASE-C TITA YUE
-168AF ; [.2EA7.0020.0002.168AF] # BAMUM LETTER PHASE-C SUAET
-168B0 ; [.2EA8.0020.0002.168B0] # BAMUM LETTER PHASE-C NGGUAEN NYAM
-168B1 ; [.2EA9.0020.0002.168B1] # BAMUM LETTER PHASE-C VEUX
-168B2 ; [.2EAA.0020.0002.168B2] # BAMUM LETTER PHASE-C NANSANAQ
-168B3 ; [.2EAB.0020.0002.168B3] # BAMUM LETTER PHASE-C MA KEUAERI
-168B4 ; [.2EAC.0020.0002.168B4] # BAMUM LETTER PHASE-C NTAA
-168B5 ; [.2EAD.0020.0002.168B5] # BAMUM LETTER PHASE-C NGGUON
-168B6 ; [.2EAE.0020.0002.168B6] # BAMUM LETTER PHASE-C LAP
-168B7 ; [.2EAF.0020.0002.168B7] # BAMUM LETTER PHASE-C MBIRIEEN
-168B8 ; [.2EB0.0020.0002.168B8] # BAMUM LETTER PHASE-C MGBASAQ
-168B9 ; [.2EB1.0020.0002.168B9] # BAMUM LETTER PHASE-C NTEUNGBA
-168BA ; [.2EB2.0020.0002.168BA] # BAMUM LETTER PHASE-C TEUTEUX
-168BB ; [.2EB3.0020.0002.168BB] # BAMUM LETTER PHASE-C NGGUM
-168BC ; [.2EB4.0020.0002.168BC] # BAMUM LETTER PHASE-C FUE
-168BD ; [.2EB5.0020.0002.168BD] # BAMUM LETTER PHASE-C NDEUT
-168BE ; [.2EB6.0020.0002.168BE] # BAMUM LETTER PHASE-C NSA
-168BF ; [.2EB7.0020.0002.168BF] # BAMUM LETTER PHASE-C NSHAQ
-168C0 ; [.2EB8.0020.0002.168C0] # BAMUM LETTER PHASE-C BUNG
-168C1 ; [.2EB9.0020.0002.168C1] # BAMUM LETTER PHASE-C VEUAEPEN
-168C2 ; [.2EBA.0020.0002.168C2] # BAMUM LETTER PHASE-C MBERAE
-168C3 ; [.2EBB.0020.0002.168C3] # BAMUM LETTER PHASE-C RU
-168C4 ; [.2EBC.0020.0002.168C4] # BAMUM LETTER PHASE-C NJAEM
-168C5 ; [.2EBD.0020.0002.168C5] # BAMUM LETTER PHASE-C LAM
-168C6 ; [.2EBE.0020.0002.168C6] # BAMUM LETTER PHASE-C TITUAEP
-168C7 ; [.2EBF.0020.0002.168C7] # BAMUM LETTER PHASE-C NSUOT NGOM
-168C8 ; [.2EC0.0020.0002.168C8] # BAMUM LETTER PHASE-C NJEEEE
-168C9 ; [.2EC1.0020.0002.168C9] # BAMUM LETTER PHASE-C KET
-168CA ; [.2EC2.0020.0002.168CA] # BAMUM LETTER PHASE-C NGGU
-168CB ; [.2EC3.0020.0002.168CB] # BAMUM LETTER PHASE-C MAESI
-168CC ; [.2EC4.0020.0002.168CC] # BAMUM LETTER PHASE-C MBUAEM
-168CD ; [.2EC5.0020.0002.168CD] # BAMUM LETTER PHASE-C LU
-168CE ; [.2EC6.0020.0002.168CE] # BAMUM LETTER PHASE-C KUT
-168CF ; [.2EC7.0020.0002.168CF] # BAMUM LETTER PHASE-C NJAM
-168D0 ; [.2EC8.0020.0002.168D0] # BAMUM LETTER PHASE-C NGOM
-168D1 ; [.2EC9.0020.0002.168D1] # BAMUM LETTER PHASE-C WUP
-168D2 ; [.2ECA.0020.0002.168D2] # BAMUM LETTER PHASE-C NGGUEET
-168D3 ; [.2ECB.0020.0002.168D3] # BAMUM LETTER PHASE-C NSOM
-168D4 ; [.2ECC.0020.0002.168D4] # BAMUM LETTER PHASE-C NTEN
-168D5 ; [.2ECD.0020.0002.168D5] # BAMUM LETTER PHASE-C KUOP NKAARAE
-168D6 ; [.2ECE.0020.0002.168D6] # BAMUM LETTER PHASE-C NSUN
-168D7 ; [.2ECF.0020.0002.168D7] # BAMUM LETTER PHASE-C NDAM
-168D8 ; [.2ED0.0020.0002.168D8] # BAMUM LETTER PHASE-C MA NSIEE
-168D9 ; [.2ED1.0020.0002.168D9] # BAMUM LETTER PHASE-C YAA
-168DA ; [.2ED2.0020.0002.168DA] # BAMUM LETTER PHASE-C NDAP
-168DB ; [.2ED3.0020.0002.168DB] # BAMUM LETTER PHASE-C SHUEQ
-168DC ; [.2ED4.0020.0002.168DC] # BAMUM LETTER PHASE-C SETFON
-168DD ; [.2ED5.0020.0002.168DD] # BAMUM LETTER PHASE-C MBI
-168DE ; [.2ED6.0020.0002.168DE] # BAMUM LETTER PHASE-C MAEMBA
-168DF ; [.2ED7.0020.0002.168DF] # BAMUM LETTER PHASE-C MBANYI
-168E0 ; [.2ED8.0020.0002.168E0] # BAMUM LETTER PHASE-C KEUSEUX
-168E1 ; [.2ED9.0020.0002.168E1] # BAMUM LETTER PHASE-C MBEUX
-168E2 ; [.2EDA.0020.0002.168E2] # BAMUM LETTER PHASE-C KEUM
-168E3 ; [.2EDB.0020.0002.168E3] # BAMUM LETTER PHASE-C MBAA PICKET
-168E4 ; [.2EDC.0020.0002.168E4] # BAMUM LETTER PHASE-C YUWOQ
-168E5 ; [.2EDD.0020.0002.168E5] # BAMUM LETTER PHASE-C NJEUX
-168E6 ; [.2EDE.0020.0002.168E6] # BAMUM LETTER PHASE-C MIEE
-168E7 ; [.2EDF.0020.0002.168E7] # BAMUM LETTER PHASE-C MUAE
-168E8 ; [.2EE0.0020.0002.168E8] # BAMUM LETTER PHASE-C SHIQ
-168E9 ; [.2EE1.0020.0002.168E9] # BAMUM LETTER PHASE-C KEN LAW
-168EA ; [.2EE2.0020.0002.168EA] # BAMUM LETTER PHASE-C KEN FATIGUE
-168EB ; [.2EE3.0020.0002.168EB] # BAMUM LETTER PHASE-C NGAQ
-168EC ; [.2EE4.0020.0002.168EC] # BAMUM LETTER PHASE-C NAQ
-168ED ; [.2EE5.0020.0002.168ED] # BAMUM LETTER PHASE-C LIQ
-168EE ; [.2EE6.0020.0002.168EE] # BAMUM LETTER PHASE-C PIN
-168EF ; [.2EE7.0020.0002.168EF] # BAMUM LETTER PHASE-C PEN
-168F0 ; [.2EE8.0020.0002.168F0] # BAMUM LETTER PHASE-C TET
-168F1 ; [.2EE9.0020.0002.168F1] # BAMUM LETTER PHASE-D MBUO
-168F2 ; [.2EEA.0020.0002.168F2] # BAMUM LETTER PHASE-D WAP
-168F3 ; [.2EEB.0020.0002.168F3] # BAMUM LETTER PHASE-D NJI
-168F4 ; [.2EEC.0020.0002.168F4] # BAMUM LETTER PHASE-D MFON
-168F5 ; [.2EED.0020.0002.168F5] # BAMUM LETTER PHASE-D NJIEE
-168F6 ; [.2EEE.0020.0002.168F6] # BAMUM LETTER PHASE-D LIEE
-168F7 ; [.2EEF.0020.0002.168F7] # BAMUM LETTER PHASE-D NJEUT
-168F8 ; [.2EF0.0020.0002.168F8] # BAMUM LETTER PHASE-D NSHEE
-168F9 ; [.2EF1.0020.0002.168F9] # BAMUM LETTER PHASE-D NGGAAMAE
-168FA ; [.2EF2.0020.0002.168FA] # BAMUM LETTER PHASE-D NYAM
-168FB ; [.2EF3.0020.0002.168FB] # BAMUM LETTER PHASE-D WUAEN
-168FC ; [.2EF4.0020.0002.168FC] # BAMUM LETTER PHASE-D NGKUN
-168FD ; [.2EF5.0020.0002.168FD] # BAMUM LETTER PHASE-D SHEE
-168FE ; [.2EF6.0020.0002.168FE] # BAMUM LETTER PHASE-D NGKAP
-168FF ; [.2EF7.0020.0002.168FF] # BAMUM LETTER PHASE-D KEUAETMEUN
-16900 ; [.2EF8.0020.0002.16900] # BAMUM LETTER PHASE-D TEUT
-16901 ; [.2EF9.0020.0002.16901] # BAMUM LETTER PHASE-D SHEUAE
-16902 ; [.2EFA.0020.0002.16902] # BAMUM LETTER PHASE-D NJAP
-16903 ; [.2EFB.0020.0002.16903] # BAMUM LETTER PHASE-D SUE
-16904 ; [.2EFC.0020.0002.16904] # BAMUM LETTER PHASE-D KET
-16905 ; [.2EFD.0020.0002.16905] # BAMUM LETTER PHASE-D YAEMMAE
-16906 ; [.2EFE.0020.0002.16906] # BAMUM LETTER PHASE-D KUOM
-16907 ; [.2EFF.0020.0002.16907] # BAMUM LETTER PHASE-D SAP
-16908 ; [.2F00.0020.0002.16908] # BAMUM LETTER PHASE-D MFEUT
-16909 ; [.2F01.0020.0002.16909] # BAMUM LETTER PHASE-D NDEUX
-1690A ; [.2F02.0020.0002.1690A] # BAMUM LETTER PHASE-D MALEERI
-1690B ; [.2F03.0020.0002.1690B] # BAMUM LETTER PHASE-D MEUT
-1690C ; [.2F04.0020.0002.1690C] # BAMUM LETTER PHASE-D SEUAEQ
-1690D ; [.2F05.0020.0002.1690D] # BAMUM LETTER PHASE-D YEN
-1690E ; [.2F06.0020.0002.1690E] # BAMUM LETTER PHASE-D NJEUAEM
-1690F ; [.2F07.0020.0002.1690F] # BAMUM LETTER PHASE-D KEUOT MBUAE
-16910 ; [.2F08.0020.0002.16910] # BAMUM LETTER PHASE-D NGKEURI
-16911 ; [.2F09.0020.0002.16911] # BAMUM LETTER PHASE-D TU
-16912 ; [.2F0A.0020.0002.16912] # BAMUM LETTER PHASE-D GHAA
-16913 ; [.2F0B.0020.0002.16913] # BAMUM LETTER PHASE-D NGKYEE
-16914 ; [.2F0C.0020.0002.16914] # BAMUM LETTER PHASE-D FEUFEUAET
-16915 ; [.2F0D.0020.0002.16915] # BAMUM LETTER PHASE-D NDEE
-16916 ; [.2F0E.0020.0002.16916] # BAMUM LETTER PHASE-D MGBOFUM
-16917 ; [.2F0F.0020.0002.16917] # BAMUM LETTER PHASE-D LEUAEP
-16918 ; [.2F10.0020.0002.16918] # BAMUM LETTER PHASE-D NDON
-16919 ; [.2F11.0020.0002.16919] # BAMUM LETTER PHASE-D MONI
-1691A ; [.2F12.0020.0002.1691A] # BAMUM LETTER PHASE-D MGBEUN
-1691B ; [.2F13.0020.0002.1691B] # BAMUM LETTER PHASE-D PUUT
-1691C ; [.2F14.0020.0002.1691C] # BAMUM LETTER PHASE-D MGBIEE
-1691D ; [.2F15.0020.0002.1691D] # BAMUM LETTER PHASE-D MFO
-1691E ; [.2F16.0020.0002.1691E] # BAMUM LETTER PHASE-D LUM
-1691F ; [.2F17.0020.0002.1691F] # BAMUM LETTER PHASE-D NSIEEP
-16920 ; [.2F18.0020.0002.16920] # BAMUM LETTER PHASE-D MBAA
-16921 ; [.2F19.0020.0002.16921] # BAMUM LETTER PHASE-D KWAET
-16922 ; [.2F1A.0020.0002.16922] # BAMUM LETTER PHASE-D NYET
-16923 ; [.2F1B.0020.0002.16923] # BAMUM LETTER PHASE-D TEUAEN
-16924 ; [.2F1C.0020.0002.16924] # BAMUM LETTER PHASE-D SOT
-16925 ; [.2F1D.0020.0002.16925] # BAMUM LETTER PHASE-D YUWOQ
-16926 ; [.2F1E.0020.0002.16926] # BAMUM LETTER PHASE-D KEUM
-16927 ; [.2F1F.0020.0002.16927] # BAMUM LETTER PHASE-D RAEM
-16928 ; [.2F20.0020.0002.16928] # BAMUM LETTER PHASE-D TEEEE
-16929 ; [.2F21.0020.0002.16929] # BAMUM LETTER PHASE-D NGKEUAEQ
-1692A ; [.2F22.0020.0002.1692A] # BAMUM LETTER PHASE-D MFEUAE
-1692B ; [.2F23.0020.0002.1692B] # BAMUM LETTER PHASE-D NSIEET
-1692C ; [.2F24.0020.0002.1692C] # BAMUM LETTER PHASE-D KEUP
-1692D ; [.2F25.0020.0002.1692D] # BAMUM LETTER PHASE-D PIP
-1692E ; [.2F26.0020.0002.1692E] # BAMUM LETTER PHASE-D PEUTAE
-1692F ; [.2F27.0020.0002.1692F] # BAMUM LETTER PHASE-D NYUE
-16930 ; [.2F28.0020.0002.16930] # BAMUM LETTER PHASE-D LET
-16931 ; [.2F29.0020.0002.16931] # BAMUM LETTER PHASE-D NGGAAM
-16932 ; [.2F2A.0020.0002.16932] # BAMUM LETTER PHASE-D MFIEE
-16933 ; [.2F2B.0020.0002.16933] # BAMUM LETTER PHASE-D NGGWAEN
-16934 ; [.2F2C.0020.0002.16934] # BAMUM LETTER PHASE-D YUOM
-16935 ; [.2F2D.0020.0002.16935] # BAMUM LETTER PHASE-D PAP
-16936 ; [.2F2E.0020.0002.16936] # BAMUM LETTER PHASE-D YUOP
-16937 ; [.2F2F.0020.0002.16937] # BAMUM LETTER PHASE-D NDAM
-16938 ; [.2F30.0020.0002.16938] # BAMUM LETTER PHASE-D NTEUM
-16939 ; [.2F31.0020.0002.16939] # BAMUM LETTER PHASE-D SUAE
-1693A ; [.2F32.0020.0002.1693A] # BAMUM LETTER PHASE-D KUN
-1693B ; [.2F33.0020.0002.1693B] # BAMUM LETTER PHASE-D NGGEUX
-1693C ; [.2F34.0020.0002.1693C] # BAMUM LETTER PHASE-D NGKIEE
-1693D ; [.2F35.0020.0002.1693D] # BAMUM LETTER PHASE-D TUOT
-1693E ; [.2F36.0020.0002.1693E] # BAMUM LETTER PHASE-D MEUN
-1693F ; [.2F37.0020.0002.1693F] # BAMUM LETTER PHASE-D KUQ
-16940 ; [.2F38.0020.0002.16940] # BAMUM LETTER PHASE-D NSUM
-16941 ; [.2F39.0020.0002.16941] # BAMUM LETTER PHASE-D TEUN
-16942 ; [.2F3A.0020.0002.16942] # BAMUM LETTER PHASE-D MAENJET
-16943 ; [.2F3B.0020.0002.16943] # BAMUM LETTER PHASE-D NGGAP
-16944 ; [.2F3C.0020.0002.16944] # BAMUM LETTER PHASE-D LEUM
-16945 ; [.2F3D.0020.0002.16945] # BAMUM LETTER PHASE-D NGGUOM
-16946 ; [.2F3E.0020.0002.16946] # BAMUM LETTER PHASE-D NSHUT
-16947 ; [.2F3F.0020.0002.16947] # BAMUM LETTER PHASE-D NJUEQ
-16948 ; [.2F40.0020.0002.16948] # BAMUM LETTER PHASE-D GHEUAE
-16949 ; [.2F41.0020.0002.16949] # BAMUM LETTER PHASE-D KU
-1694A ; [.2F42.0020.0002.1694A] # BAMUM LETTER PHASE-D REN OLD
-1694B ; [.2F43.0020.0002.1694B] # BAMUM LETTER PHASE-D TAE
-1694C ; [.2F44.0020.0002.1694C] # BAMUM LETTER PHASE-D TOQ
-1694D ; [.2F45.0020.0002.1694D] # BAMUM LETTER PHASE-D NYI
-1694E ; [.2F46.0020.0002.1694E] # BAMUM LETTER PHASE-D RII
-1694F ; [.2F47.0020.0002.1694F] # BAMUM LETTER PHASE-D LEEEE
-16950 ; [.2F48.0020.0002.16950] # BAMUM LETTER PHASE-D MEEEE
-16951 ; [.2F49.0020.0002.16951] # BAMUM LETTER PHASE-D M
-16952 ; [.2F4A.0020.0002.16952] # BAMUM LETTER PHASE-D SUU
-16953 ; [.2F4B.0020.0002.16953] # BAMUM LETTER PHASE-D MU
-16954 ; [.2F4C.0020.0002.16954] # BAMUM LETTER PHASE-D SHII
-16955 ; [.2F4D.0020.0002.16955] # BAMUM LETTER PHASE-D SHEUX
-16956 ; [.2F4E.0020.0002.16956] # BAMUM LETTER PHASE-D KYEE
-16957 ; [.2F4F.0020.0002.16957] # BAMUM LETTER PHASE-D NU
-16958 ; [.2F50.0020.0002.16958] # BAMUM LETTER PHASE-D SHU
-16959 ; [.2F51.0020.0002.16959] # BAMUM LETTER PHASE-D NTEE
-1695A ; [.2F52.0020.0002.1695A] # BAMUM LETTER PHASE-D PEE
-1695B ; [.2F53.0020.0002.1695B] # BAMUM LETTER PHASE-D NI
-1695C ; [.2F54.0020.0002.1695C] # BAMUM LETTER PHASE-D SHOQ
-1695D ; [.2F55.0020.0002.1695D] # BAMUM LETTER PHASE-D PUQ
-1695E ; [.2F56.0020.0002.1695E] # BAMUM LETTER PHASE-D MVOP
-1695F ; [.2F57.0020.0002.1695F] # BAMUM LETTER PHASE-D LOQ
-16960 ; [.2F58.0020.0002.16960] # BAMUM LETTER PHASE-D REN MUCH
-16961 ; [.2F59.0020.0002.16961] # BAMUM LETTER PHASE-D TI
-16962 ; [.2F5A.0020.0002.16962] # BAMUM LETTER PHASE-D NTUU
-16963 ; [.2F5B.0020.0002.16963] # BAMUM LETTER PHASE-D MBAA SEVEN
-16964 ; [.2F5C.0020.0002.16964] # BAMUM LETTER PHASE-D SAQ
-16965 ; [.2F5D.0020.0002.16965] # BAMUM LETTER PHASE-D FAA
-16966 ; [.2F5E.0020.0002.16966] # BAMUM LETTER PHASE-E NDAP
-16967 ; [.2F5F.0020.0002.16967] # BAMUM LETTER PHASE-E TOON
-16968 ; [.2F60.0020.0002.16968] # BAMUM LETTER PHASE-E MBEUM
-16969 ; [.2F61.0020.0002.16969] # BAMUM LETTER PHASE-E LAP
-1696A ; [.2F62.0020.0002.1696A] # BAMUM LETTER PHASE-E VOM
-1696B ; [.2F63.0020.0002.1696B] # BAMUM LETTER PHASE-E LOON
-1696C ; [.2F64.0020.0002.1696C] # BAMUM LETTER PHASE-E PAA
-1696D ; [.2F65.0020.0002.1696D] # BAMUM LETTER PHASE-E SOM
-1696E ; [.2F66.0020.0002.1696E] # BAMUM LETTER PHASE-E RAQ
-1696F ; [.2F67.0020.0002.1696F] # BAMUM LETTER PHASE-E NSHUOP
-16970 ; [.2F68.0020.0002.16970] # BAMUM LETTER PHASE-E NDUN
-16971 ; [.2F69.0020.0002.16971] # BAMUM LETTER PHASE-E PUAE
-16972 ; [.2F6A.0020.0002.16972] # BAMUM LETTER PHASE-E TAM
-16973 ; [.2F6B.0020.0002.16973] # BAMUM LETTER PHASE-E NGKA
-16974 ; [.2F6C.0020.0002.16974] # BAMUM LETTER PHASE-E KPEUX
-16975 ; [.2F6D.0020.0002.16975] # BAMUM LETTER PHASE-E WUO
-16976 ; [.2F6E.0020.0002.16976] # BAMUM LETTER PHASE-E SEE
-16977 ; [.2F6F.0020.0002.16977] # BAMUM LETTER PHASE-E NGGEUAET
-16978 ; [.2F70.0020.0002.16978] # BAMUM LETTER PHASE-E PAAM
-16979 ; [.2F71.0020.0002.16979] # BAMUM LETTER PHASE-E TOO
-1697A ; [.2F72.0020.0002.1697A] # BAMUM LETTER PHASE-E KUOP
-1697B ; [.2F73.0020.0002.1697B] # BAMUM LETTER PHASE-E LOM
-1697C ; [.2F74.0020.0002.1697C] # BAMUM LETTER PHASE-E NSHIEE
-1697D ; [.2F75.0020.0002.1697D] # BAMUM LETTER PHASE-E NGOP
-1697E ; [.2F76.0020.0002.1697E] # BAMUM LETTER PHASE-E MAEM
-1697F ; [.2F77.0020.0002.1697F] # BAMUM LETTER PHASE-E NGKEUX
-16980 ; [.2F78.0020.0002.16980] # BAMUM LETTER PHASE-E NGOQ
-16981 ; [.2F79.0020.0002.16981] # BAMUM LETTER PHASE-E NSHUE
-16982 ; [.2F7A.0020.0002.16982] # BAMUM LETTER PHASE-E RIMGBA
-16983 ; [.2F7B.0020.0002.16983] # BAMUM LETTER PHASE-E NJEUX
-16984 ; [.2F7C.0020.0002.16984] # BAMUM LETTER PHASE-E PEEM
-16985 ; [.2F7D.0020.0002.16985] # BAMUM LETTER PHASE-E SAA
-16986 ; [.2F7E.0020.0002.16986] # BAMUM LETTER PHASE-E NGGURAE
-16987 ; [.2F7F.0020.0002.16987] # BAMUM LETTER PHASE-E MGBA
-16988 ; [.2F80.0020.0002.16988] # BAMUM LETTER PHASE-E GHEUX
-16989 ; [.2F81.0020.0002.16989] # BAMUM LETTER PHASE-E NGKEUAEM
-1698A ; [.2F82.0020.0002.1698A] # BAMUM LETTER PHASE-E NJAEMLI
-1698B ; [.2F83.0020.0002.1698B] # BAMUM LETTER PHASE-E MAP
-1698C ; [.2F84.0020.0002.1698C] # BAMUM LETTER PHASE-E LOOT
-1698D ; [.2F85.0020.0002.1698D] # BAMUM LETTER PHASE-E NGGEEEE
-1698E ; [.2F86.0020.0002.1698E] # BAMUM LETTER PHASE-E NDIQ
-1698F ; [.2F87.0020.0002.1698F] # BAMUM LETTER PHASE-E TAEN NTEUM
-16990 ; [.2F88.0020.0002.16990] # BAMUM LETTER PHASE-E SET
-16991 ; [.2F89.0020.0002.16991] # BAMUM LETTER PHASE-E PUM
-16992 ; [.2F8A.0020.0002.16992] # BAMUM LETTER PHASE-E NDAA SOFTNESS
-16993 ; [.2F8B.0020.0002.16993] # BAMUM LETTER PHASE-E NGGUAESHAE NYAM
-16994 ; [.2F8C.0020.0002.16994] # BAMUM LETTER PHASE-E YIEE
-16995 ; [.2F8D.0020.0002.16995] # BAMUM LETTER PHASE-E GHEUN
-16996 ; [.2F8E.0020.0002.16996] # BAMUM LETTER PHASE-E TUAE
-16997 ; [.2F8F.0020.0002.16997] # BAMUM LETTER PHASE-E YEUAE
-16998 ; [.2F90.0020.0002.16998] # BAMUM LETTER PHASE-E PO
-16999 ; [.2F91.0020.0002.16999] # BAMUM LETTER PHASE-E TUMAE
-1699A ; [.2F92.0020.0002.1699A] # BAMUM LETTER PHASE-E KEUAE
-1699B ; [.2F93.0020.0002.1699B] # BAMUM LETTER PHASE-E SUAEN
-1699C ; [.2F94.0020.0002.1699C] # BAMUM LETTER PHASE-E TEUAEQ
-1699D ; [.2F95.0020.0002.1699D] # BAMUM LETTER PHASE-E VEUAE
-1699E ; [.2F96.0020.0002.1699E] # BAMUM LETTER PHASE-E WEUX
-1699F ; [.2F97.0020.0002.1699F] # BAMUM LETTER PHASE-E LAAM
-169A0 ; [.2F98.0020.0002.169A0] # BAMUM LETTER PHASE-E PU
-169A1 ; [.2F99.0020.0002.169A1] # BAMUM LETTER PHASE-E TAAQ
-169A2 ; [.2F9A.0020.0002.169A2] # BAMUM LETTER PHASE-E GHAAMAE
-169A3 ; [.2F9B.0020.0002.169A3] # BAMUM LETTER PHASE-E NGEUREUT
-169A4 ; [.2F9C.0020.0002.169A4] # BAMUM LETTER PHASE-E SHEUAEQ
-169A5 ; [.2F9D.0020.0002.169A5] # BAMUM LETTER PHASE-E MGBEN
-169A6 ; [.2F9E.0020.0002.169A6] # BAMUM LETTER PHASE-E MBEE
-169A7 ; [.2F9F.0020.0002.169A7] # BAMUM LETTER PHASE-E NZAQ
-169A8 ; [.2FA0.0020.0002.169A8] # BAMUM LETTER PHASE-E NKOM
-169A9 ; [.2FA1.0020.0002.169A9] # BAMUM LETTER PHASE-E GBET
-169AA ; [.2FA2.0020.0002.169AA] # BAMUM LETTER PHASE-E TUM
-169AB ; [.2FA3.0020.0002.169AB] # BAMUM LETTER PHASE-E KUET
-169AC ; [.2FA4.0020.0002.169AC] # BAMUM LETTER PHASE-E YAP
-169AD ; [.2FA5.0020.0002.169AD] # BAMUM LETTER PHASE-E NYI CLEAVER
-169AE ; [.2FA6.0020.0002.169AE] # BAMUM LETTER PHASE-E YIT
-169AF ; [.2FA7.0020.0002.169AF] # BAMUM LETTER PHASE-E MFEUQ
-169B0 ; [.2FA8.0020.0002.169B0] # BAMUM LETTER PHASE-E NDIAQ
-169B1 ; [.2FA9.0020.0002.169B1] # BAMUM LETTER PHASE-E PIEEQ
-169B2 ; [.2FAA.0020.0002.169B2] # BAMUM LETTER PHASE-E YUEQ
-169B3 ; [.2FAB.0020.0002.169B3] # BAMUM LETTER PHASE-E LEUAEM
-169B4 ; [.2FAC.0020.0002.169B4] # BAMUM LETTER PHASE-E FUE
-169B5 ; [.2FAD.0020.0002.169B5] # BAMUM LETTER PHASE-E GBEUX
-169B6 ; [.2FAE.0020.0002.169B6] # BAMUM LETTER PHASE-E NGKUP
-169B7 ; [.2FAF.0020.0002.169B7] # BAMUM LETTER PHASE-E KET
-169B8 ; [.2FB0.0020.0002.169B8] # BAMUM LETTER PHASE-E MAE
-169B9 ; [.2FB1.0020.0002.169B9] # BAMUM LETTER PHASE-E NGKAAMI
-169BA ; [.2FB2.0020.0002.169BA] # BAMUM LETTER PHASE-E GHET
-169BB ; [.2FB3.0020.0002.169BB] # BAMUM LETTER PHASE-E FA
-169BC ; [.2FB4.0020.0002.169BC] # BAMUM LETTER PHASE-E NTUM
-169BD ; [.2FB5.0020.0002.169BD] # BAMUM LETTER PHASE-E PEUT
-169BE ; [.2FB6.0020.0002.169BE] # BAMUM LETTER PHASE-E YEUM
-169BF ; [.2FB7.0020.0002.169BF] # BAMUM LETTER PHASE-E NGGEUAE
-169C0 ; [.2FB8.0020.0002.169C0] # BAMUM LETTER PHASE-E NYI BETWEEN
-169C1 ; [.2FB9.0020.0002.169C1] # BAMUM LETTER PHASE-E NZUQ
-169C2 ; [.2FBA.0020.0002.169C2] # BAMUM LETTER PHASE-E POON
-169C3 ; [.2FBB.0020.0002.169C3] # BAMUM LETTER PHASE-E MIEE
-169C4 ; [.2FBC.0020.0002.169C4] # BAMUM LETTER PHASE-E FUET
-169C5 ; [.2FBD.0020.0002.169C5] # BAMUM LETTER PHASE-E NAE
-169C6 ; [.2FBE.0020.0002.169C6] # BAMUM LETTER PHASE-E MUAE
-169C7 ; [.2FBF.0020.0002.169C7] # BAMUM LETTER PHASE-E GHEUAE
-169C8 ; [.2FC0.0020.0002.169C8] # BAMUM LETTER PHASE-E FU I
-169C9 ; [.2FC1.0020.0002.169C9] # BAMUM LETTER PHASE-E MVI
-169CA ; [.2FC2.0020.0002.169CA] # BAMUM LETTER PHASE-E PUAQ
-169CB ; [.2FC3.0020.0002.169CB] # BAMUM LETTER PHASE-E NGKUM
-169CC ; [.2FC4.0020.0002.169CC] # BAMUM LETTER PHASE-E KUT
-169CD ; [.2FC5.0020.0002.169CD] # BAMUM LETTER PHASE-E PIET
-169CE ; [.2FC6.0020.0002.169CE] # BAMUM LETTER PHASE-E NTAP
-169CF ; [.2FC7.0020.0002.169CF] # BAMUM LETTER PHASE-E YEUAET
-169D0 ; [.2FC8.0020.0002.169D0] # BAMUM LETTER PHASE-E NGGUP
-169D1 ; [.2FC9.0020.0002.169D1] # BAMUM LETTER PHASE-E PA PEOPLE
-169D2 ; [.2FCA.0020.0002.169D2] # BAMUM LETTER PHASE-E FU CALL
-169D3 ; [.2FCB.0020.0002.169D3] # BAMUM LETTER PHASE-E FOM
-169D4 ; [.2FCC.0020.0002.169D4] # BAMUM LETTER PHASE-E NJEE
-169D5 ; [.2FCD.0020.0002.169D5] # BAMUM LETTER PHASE-E A
-169D6 ; [.2FCE.0020.0002.169D6] # BAMUM LETTER PHASE-E TOQ
-169D7 ; [.2FCF.0020.0002.169D7] # BAMUM LETTER PHASE-E O
-169D8 ; [.2FD0.0020.0002.169D8] # BAMUM LETTER PHASE-E I
-169D9 ; [.2FD1.0020.0002.169D9] # BAMUM LETTER PHASE-E LAQ
-169DA ; [.2FD2.0020.0002.169DA] # BAMUM LETTER PHASE-E PA PLURAL
-169DB ; [.2FD3.0020.0002.169DB] # BAMUM LETTER PHASE-E TAA
-169DC ; [.2FD4.0020.0002.169DC] # BAMUM LETTER PHASE-E TAQ
-169DD ; [.2FD5.0020.0002.169DD] # BAMUM LETTER PHASE-E NDAA MY HOUSE
-169DE ; [.2FD6.0020.0002.169DE] # BAMUM LETTER PHASE-E SHIQ
-169DF ; [.2FD7.0020.0002.169DF] # BAMUM LETTER PHASE-E YEUX
-169E0 ; [.2FD8.0020.0002.169E0] # BAMUM LETTER PHASE-E NGUAE
-169E1 ; [.2FD9.0020.0002.169E1] # BAMUM LETTER PHASE-E YUAEN
-169E2 ; [.2FDA.0020.0002.169E2] # BAMUM LETTER PHASE-E YOQ SWIMMING
-169E3 ; [.2FDB.0020.0002.169E3] # BAMUM LETTER PHASE-E YOQ COVER
-169E4 ; [.2FDC.0020.0002.169E4] # BAMUM LETTER PHASE-E YUQ
-169E5 ; [.2FDD.0020.0002.169E5] # BAMUM LETTER PHASE-E YUN
-169E6 ; [.2FDE.0020.0002.169E6] # BAMUM LETTER PHASE-E KEUX
-169E7 ; [.2FDF.0020.0002.169E7] # BAMUM LETTER PHASE-E PEUX
-169E8 ; [.2FE0.0020.0002.169E8] # BAMUM LETTER PHASE-E NJEE EPOCH
-169E9 ; [.2FE1.0020.0002.169E9] # BAMUM LETTER PHASE-E PUE
-169EA ; [.2FE2.0020.0002.169EA] # BAMUM LETTER PHASE-E WUE
-169EB ; [.2FE3.0020.0002.169EB] # BAMUM LETTER PHASE-E FEE
-169EC ; [.2FE4.0020.0002.169EC] # BAMUM LETTER PHASE-E VEE
-169ED ; [.2FE5.0020.0002.169ED] # BAMUM LETTER PHASE-E LU
-169EE ; [.2FE6.0020.0002.169EE] # BAMUM LETTER PHASE-E MI
-169EF ; [.2FE7.0020.0002.169EF] # BAMUM LETTER PHASE-E REUX
-169F0 ; [.2FE8.0020.0002.169F0] # BAMUM LETTER PHASE-E RAE
-169F1 ; [.2FE9.0020.0002.169F1] # BAMUM LETTER PHASE-E NGUAET
-169F2 ; [.2FEA.0020.0002.169F2] # BAMUM LETTER PHASE-E NGA
-169F3 ; [.2FEB.0020.0002.169F3] # BAMUM LETTER PHASE-E SHO
-169F4 ; [.2FEC.0020.0002.169F4] # BAMUM LETTER PHASE-E SHOQ
-169F5 ; [.2FED.0020.0002.169F5] # BAMUM LETTER PHASE-E FU REMEDY
-169F6 ; [.2FEE.0020.0002.169F6] # BAMUM LETTER PHASE-E NA
-169F7 ; [.2FEF.0020.0002.169F7] # BAMUM LETTER PHASE-E PI
-169F8 ; [.2FF0.0020.0002.169F8] # BAMUM LETTER PHASE-E LOQ
-169F9 ; [.2FF1.0020.0002.169F9] # BAMUM LETTER PHASE-E KO
-169FA ; [.2FF2.0020.0002.169FA] # BAMUM LETTER PHASE-E MEN
-169FB ; [.2FF3.0020.0002.169FB] # BAMUM LETTER PHASE-E MA
-169FC ; [.2FF4.0020.0002.169FC] # BAMUM LETTER PHASE-E MAQ
-169FD ; [.2FF5.0020.0002.169FD] # BAMUM LETTER PHASE-E TEU
-169FE ; [.2FF6.0020.0002.169FE] # BAMUM LETTER PHASE-E KI
-169FF ; [.2FF7.0020.0002.169FF] # BAMUM LETTER PHASE-E MON
-16A00 ; [.2FF8.0020.0002.16A00] # BAMUM LETTER PHASE-E TEN
-16A01 ; [.2FF9.0020.0002.16A01] # BAMUM LETTER PHASE-E FAQ
-16A02 ; [.2FFA.0020.0002.16A02] # BAMUM LETTER PHASE-E GHOM
-16A03 ; [.2FFB.0020.0002.16A03] # BAMUM LETTER PHASE-F KA
-16A04 ; [.2FFC.0020.0002.16A04] # BAMUM LETTER PHASE-F U
-16A05 ; [.2FFD.0020.0002.16A05] # BAMUM LETTER PHASE-F KU
-16A06 ; [.2FFE.0020.0002.16A06] # BAMUM LETTER PHASE-F EE
-16A07 ; [.2FFF.0020.0002.16A07] # BAMUM LETTER PHASE-F REE
-16A08 ; [.3000.0020.0002.16A08] # BAMUM LETTER PHASE-F TAE
-16A09 ; [.3001.0020.0002.16A09] # BAMUM LETTER PHASE-F NYI
-16A0A ; [.3002.0020.0002.16A0A] # BAMUM LETTER PHASE-F LA
-16A0B ; [.3003.0020.0002.16A0B] # BAMUM LETTER PHASE-F RII
-16A0C ; [.3004.0020.0002.16A0C] # BAMUM LETTER PHASE-F RIEE
-16A0D ; [.3005.0020.0002.16A0D] # BAMUM LETTER PHASE-F MEEEE
-16A0E ; [.3006.0020.0002.16A0E] # BAMUM LETTER PHASE-F TAA
-16A0F ; [.3007.0020.0002.16A0F] # BAMUM LETTER PHASE-F NDAA
-16A10 ; [.3008.0020.0002.16A10] # BAMUM LETTER PHASE-F NJAEM
-16A11 ; [.3009.0020.0002.16A11] # BAMUM LETTER PHASE-F M
-16A12 ; [.300A.0020.0002.16A12] # BAMUM LETTER PHASE-F SUU
-16A13 ; [.300B.0020.0002.16A13] # BAMUM LETTER PHASE-F SHII
-16A14 ; [.300C.0020.0002.16A14] # BAMUM LETTER PHASE-F SI
-16A15 ; [.300D.0020.0002.16A15] # BAMUM LETTER PHASE-F SEUX
-16A16 ; [.300E.0020.0002.16A16] # BAMUM LETTER PHASE-F KYEE
-16A17 ; [.300F.0020.0002.16A17] # BAMUM LETTER PHASE-F KET
-16A18 ; [.3010.0020.0002.16A18] # BAMUM LETTER PHASE-F NUAE
-16A19 ; [.3011.0020.0002.16A19] # BAMUM LETTER PHASE-F NU
-16A1A ; [.3012.0020.0002.16A1A] # BAMUM LETTER PHASE-F NJUAE
-16A1B ; [.3013.0020.0002.16A1B] # BAMUM LETTER PHASE-F YOQ
-16A1C ; [.3014.0020.0002.16A1C] # BAMUM LETTER PHASE-F SHU
-16A1D ; [.3015.0020.0002.16A1D] # BAMUM LETTER PHASE-F YA
-16A1E ; [.3016.0020.0002.16A1E] # BAMUM LETTER PHASE-F NSHA
-16A1F ; [.3017.0020.0002.16A1F] # BAMUM LETTER PHASE-F PEUX
-16A20 ; [.3018.0020.0002.16A20] # BAMUM LETTER PHASE-F NTEE
-16A21 ; [.3019.0020.0002.16A21] # BAMUM LETTER PHASE-F WUE
-16A22 ; [.301A.0020.0002.16A22] # BAMUM LETTER PHASE-F PEE
-16A23 ; [.301B.0020.0002.16A23] # BAMUM LETTER PHASE-F RU
-16A24 ; [.301C.0020.0002.16A24] # BAMUM LETTER PHASE-F NI
-16A25 ; [.301D.0020.0002.16A25] # BAMUM LETTER PHASE-F REUX
-16A26 ; [.301E.0020.0002.16A26] # BAMUM LETTER PHASE-F KEN
-16A27 ; [.301F.0020.0002.16A27] # BAMUM LETTER PHASE-F NGKWAEN
-16A28 ; [.3020.0020.0002.16A28] # BAMUM LETTER PHASE-F NGGA
-16A29 ; [.3021.0020.0002.16A29] # BAMUM LETTER PHASE-F SHO
-16A2A ; [.3022.0020.0002.16A2A] # BAMUM LETTER PHASE-F PUAE
-16A2B ; [.3023.0020.0002.16A2B] # BAMUM LETTER PHASE-F FOM
-16A2C ; [.3024.0020.0002.16A2C] # BAMUM LETTER PHASE-F WA
-16A2D ; [.3025.0020.0002.16A2D] # BAMUM LETTER PHASE-F LI
-16A2E ; [.3026.0020.0002.16A2E] # BAMUM LETTER PHASE-F LOQ
-16A2F ; [.3027.0020.0002.16A2F] # BAMUM LETTER PHASE-F KO
-16A30 ; [.3028.0020.0002.16A30] # BAMUM LETTER PHASE-F MBEN
-16A31 ; [.3029.0020.0002.16A31] # BAMUM LETTER PHASE-F REN
-16A32 ; [.302A.0020.0002.16A32] # BAMUM LETTER PHASE-F MA
-16A33 ; [.302B.0020.0002.16A33] # BAMUM LETTER PHASE-F MO
-16A34 ; [.302C.0020.0002.16A34] # BAMUM LETTER PHASE-F MBAA
-16A35 ; [.302D.0020.0002.16A35] # BAMUM LETTER PHASE-F TET
-16A36 ; [.302E.0020.0002.16A36] # BAMUM LETTER PHASE-F KPA
-16A37 ; [.302F.0020.0002.16A37] # BAMUM LETTER PHASE-F SAMBA
-16A38 ; [.3030.0020.0002.16A38] # BAMUM LETTER PHASE-F VUEQ
-1100 ; [.3031.0020.0002.1100] # HANGUL CHOSEONG KIYEOK
-3131 ; [.3031.0020.0004.3131] # HANGUL LETTER KIYEOK; QQK
-3200 ; [*030E.0020.0004.3200][.3031.0020.0004.3200][*030F.0020.001F.3200] # PARENTHESIZED HANGUL KIYEOK; QQKN
-3260 ; [.3031.0020.0006.3260] # CIRCLED HANGUL KIYEOK; QQK
-FFA1 ; [.3031.0020.0012.FFA1] # HALFWIDTH HANGUL LETTER KIYEOK; QQK
-320E ; [*030E.0020.0004.320E][.3031.0020.0004.320E][.30AF.0020.001F.320E][*030F.0020.001F.320E] # PARENTHESIZED HANGUL KIYEOK A; QQKN
-326E ; [.3031.0020.0006.326E][.30AF.0020.0006.326E] # CIRCLED HANGUL KIYEOK A; QQKN
-1101 ; [.3032.0020.0002.1101] # HANGUL CHOSEONG SSANGKIYEOK
-3132 ; [.3032.0020.0004.3132] # HANGUL LETTER SSANGKIYEOK; QQK
-FFA2 ; [.3032.0020.0012.FFA2] # HALFWIDTH HANGUL LETTER SSANGKIYEOK; QQK
-1102 ; [.3033.0020.0002.1102] # HANGUL CHOSEONG NIEUN
-3134 ; [.3033.0020.0004.3134] # HANGUL LETTER NIEUN; QQK
-3201 ; [*030E.0020.0004.3201][.3033.0020.0004.3201][*030F.0020.001F.3201] # PARENTHESIZED HANGUL NIEUN; QQKN
-3261 ; [.3033.0020.0006.3261] # CIRCLED HANGUL NIEUN; QQK
-FFA4 ; [.3033.0020.0012.FFA4] # HALFWIDTH HANGUL LETTER NIEUN; QQK
-320F ; [*030E.0020.0004.320F][.3033.0020.0004.320F][.30AF.0020.001F.320F][*030F.0020.001F.320F] # PARENTHESIZED HANGUL NIEUN A; QQKN
-326F ; [.3033.0020.0006.326F][.30AF.0020.0006.326F] # CIRCLED HANGUL NIEUN A; QQKN
-1103 ; [.3034.0020.0002.1103] # HANGUL CHOSEONG TIKEUT
-3137 ; [.3034.0020.0004.3137] # HANGUL LETTER TIKEUT; QQK
-3202 ; [*030E.0020.0004.3202][.3034.0020.0004.3202][*030F.0020.001F.3202] # PARENTHESIZED HANGUL TIKEUT; QQKN
-3262 ; [.3034.0020.0006.3262] # CIRCLED HANGUL TIKEUT; QQK
-FFA7 ; [.3034.0020.0012.FFA7] # HALFWIDTH HANGUL LETTER TIKEUT; QQK
-3210 ; [*030E.0020.0004.3210][.3034.0020.0004.3210][.30AF.0020.001F.3210][*030F.0020.001F.3210] # PARENTHESIZED HANGUL TIKEUT A; QQKN
-3270 ; [.3034.0020.0006.3270][.30AF.0020.0006.3270] # CIRCLED HANGUL TIKEUT A; QQKN
-1104 ; [.3035.0020.0002.1104] # HANGUL CHOSEONG SSANGTIKEUT
-3138 ; [.3035.0020.0004.3138] # HANGUL LETTER SSANGTIKEUT; QQK
-FFA8 ; [.3035.0020.0012.FFA8] # HALFWIDTH HANGUL LETTER SSANGTIKEUT; QQK
-1105 ; [.3036.0020.0002.1105] # HANGUL CHOSEONG RIEUL
-3139 ; [.3036.0020.0004.3139] # HANGUL LETTER RIEUL; QQK
-3203 ; [*030E.0020.0004.3203][.3036.0020.0004.3203][*030F.0020.001F.3203] # PARENTHESIZED HANGUL RIEUL; QQKN
-3263 ; [.3036.0020.0006.3263] # CIRCLED HANGUL RIEUL; QQK
-FFA9 ; [.3036.0020.0012.FFA9] # HALFWIDTH HANGUL LETTER RIEUL; QQK
-3211 ; [*030E.0020.0004.3211][.3036.0020.0004.3211][.30AF.0020.001F.3211][*030F.0020.001F.3211] # PARENTHESIZED HANGUL RIEUL A; QQKN
-3271 ; [.3036.0020.0006.3271][.30AF.0020.0006.3271] # CIRCLED HANGUL RIEUL A; QQKN
-1106 ; [.3037.0020.0002.1106] # HANGUL CHOSEONG MIEUM
-3141 ; [.3037.0020.0004.3141] # HANGUL LETTER MIEUM; QQK
-3204 ; [*030E.0020.0004.3204][.3037.0020.0004.3204][*030F.0020.001F.3204] # PARENTHESIZED HANGUL MIEUM; QQKN
-3264 ; [.3037.0020.0006.3264] # CIRCLED HANGUL MIEUM; QQK
-FFB1 ; [.3037.0020.0012.FFB1] # HALFWIDTH HANGUL LETTER MIEUM; QQK
-3212 ; [*030E.0020.0004.3212][.3037.0020.0004.3212][.30AF.0020.001F.3212][*030F.0020.001F.3212] # PARENTHESIZED HANGUL MIEUM A; QQKN
-3272 ; [.3037.0020.0006.3272][.30AF.0020.0006.3272] # CIRCLED HANGUL MIEUM A; QQKN
-1107 ; [.3038.0020.0002.1107] # HANGUL CHOSEONG PIEUP
-3142 ; [.3038.0020.0004.3142] # HANGUL LETTER PIEUP; QQK
-3205 ; [*030E.0020.0004.3205][.3038.0020.0004.3205][*030F.0020.001F.3205] # PARENTHESIZED HANGUL PIEUP; QQKN
-3265 ; [.3038.0020.0006.3265] # CIRCLED HANGUL PIEUP; QQK
-FFB2 ; [.3038.0020.0012.FFB2] # HALFWIDTH HANGUL LETTER PIEUP; QQK
-3213 ; [*030E.0020.0004.3213][.3038.0020.0004.3213][.30AF.0020.001F.3213][*030F.0020.001F.3213] # PARENTHESIZED HANGUL PIEUP A; QQKN
-3273 ; [.3038.0020.0006.3273][.30AF.0020.0006.3273] # CIRCLED HANGUL PIEUP A; QQKN
-1108 ; [.3039.0020.0002.1108] # HANGUL CHOSEONG SSANGPIEUP
-3143 ; [.3039.0020.0004.3143] # HANGUL LETTER SSANGPIEUP; QQK
-FFB3 ; [.3039.0020.0012.FFB3] # HALFWIDTH HANGUL LETTER SSANGPIEUP; QQK
-1109 ; [.303A.0020.0002.1109] # HANGUL CHOSEONG SIOS
-3145 ; [.303A.0020.0004.3145] # HANGUL LETTER SIOS; QQK
-3206 ; [*030E.0020.0004.3206][.303A.0020.0004.3206][*030F.0020.001F.3206] # PARENTHESIZED HANGUL SIOS; QQKN
-3266 ; [.303A.0020.0006.3266] # CIRCLED HANGUL SIOS; QQK
-FFB5 ; [.303A.0020.0012.FFB5] # HALFWIDTH HANGUL LETTER SIOS; QQK
-3214 ; [*030E.0020.0004.3214][.303A.0020.0004.3214][.30AF.0020.001F.3214][*030F.0020.001F.3214] # PARENTHESIZED HANGUL SIOS A; QQKN
-3274 ; [.303A.0020.0006.3274][.30AF.0020.0006.3274] # CIRCLED HANGUL SIOS A; QQKN
-110A ; [.303B.0020.0002.110A] # HANGUL CHOSEONG SSANGSIOS
-3146 ; [.303B.0020.0004.3146] # HANGUL LETTER SSANGSIOS; QQK
-FFB6 ; [.303B.0020.0012.FFB6] # HALFWIDTH HANGUL LETTER SSANGSIOS; QQK
-110B ; [.303C.0020.0002.110B] # HANGUL CHOSEONG IEUNG
-3147 ; [.303C.0020.0004.3147] # HANGUL LETTER IEUNG; QQK
-3207 ; [*030E.0020.0004.3207][.303C.0020.0004.3207][*030F.0020.001F.3207] # PARENTHESIZED HANGUL IEUNG; QQKN
-3267 ; [.303C.0020.0006.3267] # CIRCLED HANGUL IEUNG; QQK
-FFB7 ; [.303C.0020.0012.FFB7] # HALFWIDTH HANGUL LETTER IEUNG; QQK
-3215 ; [*030E.0020.0004.3215][.303C.0020.0004.3215][.30AF.0020.001F.3215][*030F.0020.001F.3215] # PARENTHESIZED HANGUL IEUNG A; QQKN
-3275 ; [.303C.0020.0006.3275][.30AF.0020.0006.3275] # CIRCLED HANGUL IEUNG A; QQKN
-321D ; [*030E.0020.0004.321D][.303C.0020.0004.321D][.30B7.0020.001F.321D][.303D.0020.001F.321D][.30B3.0020.001F.321D][.3110.0020.001F.321D][*030F.0020.001F.321D] # PARENTHESIZED KOREAN CHARACTER OJEON; QQKN
-321E ; [*030E.0020.0004.321E][.303C.0020.0004.321E][.30B7.0020.001F.321E][.3043.0020.001F.321E][.30BC.0020.001F.321E][*030F.0020.001F.321E] # PARENTHESIZED KOREAN CHARACTER O HU; QQKN
-327E ; [.303C.0020.0006.327E][.30BC.0020.0006.327E] # CIRCLED HANGUL IEUNG U; QQKN
-110C ; [.303D.0020.0002.110C] # HANGUL CHOSEONG CIEUC
-3148 ; [.303D.0020.0004.3148] # HANGUL LETTER CIEUC; QQK
-3208 ; [*030E.0020.0004.3208][.303D.0020.0004.3208][*030F.0020.001F.3208] # PARENTHESIZED HANGUL CIEUC; QQKN
-3268 ; [.303D.0020.0006.3268] # CIRCLED HANGUL CIEUC; QQK
-FFB8 ; [.303D.0020.0012.FFB8] # HALFWIDTH HANGUL LETTER CIEUC; QQK
-3216 ; [*030E.0020.0004.3216][.303D.0020.0004.3216][.30AF.0020.001F.3216][*030F.0020.001F.3216] # PARENTHESIZED HANGUL CIEUC A; QQKN
-3276 ; [.303D.0020.0006.3276][.30AF.0020.0006.3276] # CIRCLED HANGUL CIEUC A; QQKN
-321C ; [*030E.0020.0004.321C][.303D.0020.0004.321C][.30BC.0020.001F.321C][*030F.0020.001F.321C] # PARENTHESIZED HANGUL CIEUC U; QQKN
-327D ; [.303D.0020.0006.327D][.30BC.0020.0006.327D][.303C.0020.001F.327D][.30C2.0020.001F.327D] # CIRCLED KOREAN CHARACTER JUEUI; QQKN
-110D ; [.303E.0020.0002.110D] # HANGUL CHOSEONG SSANGCIEUC
-3149 ; [.303E.0020.0004.3149] # HANGUL LETTER SSANGCIEUC; QQK
-FFB9 ; [.303E.0020.0012.FFB9] # HALFWIDTH HANGUL LETTER SSANGCIEUC; QQK
-110E ; [.303F.0020.0002.110E] # HANGUL CHOSEONG CHIEUCH
-314A ; [.303F.0020.0004.314A] # HANGUL LETTER CHIEUCH; QQK
-3209 ; [*030E.0020.0004.3209][.303F.0020.0004.3209][*030F.0020.001F.3209] # PARENTHESIZED HANGUL CHIEUCH; QQKN
-3269 ; [.303F.0020.0006.3269] # CIRCLED HANGUL CHIEUCH; QQK
-FFBA ; [.303F.0020.0012.FFBA] # HALFWIDTH HANGUL LETTER CHIEUCH; QQK
-3217 ; [*030E.0020.0004.3217][.303F.0020.0004.3217][.30AF.0020.001F.3217][*030F.0020.001F.3217] # PARENTHESIZED HANGUL CHIEUCH A; QQKN
-3277 ; [.303F.0020.0006.3277][.30AF.0020.0006.3277] # CIRCLED HANGUL CHIEUCH A; QQKN
-327C ; [.303F.0020.0006.327C][.30AF.0020.0006.327C][.311C.0020.001F.327C][.3031.0020.001F.327C][.30B7.0020.001F.327C] # CIRCLED KOREAN CHARACTER CHAMKO; QQKN
-110F ; [.3040.0020.0002.110F] # HANGUL CHOSEONG KHIEUKH
-314B ; [.3040.0020.0004.314B] # HANGUL LETTER KHIEUKH; QQK
-320A ; [*030E.0020.0004.320A][.3040.0020.0004.320A][*030F.0020.001F.320A] # PARENTHESIZED HANGUL KHIEUKH; QQKN
-326A ; [.3040.0020.0006.326A] # CIRCLED HANGUL KHIEUKH; QQK
-FFBB ; [.3040.0020.0012.FFBB] # HALFWIDTH HANGUL LETTER KHIEUKH; QQK
-3218 ; [*030E.0020.0004.3218][.3040.0020.0004.3218][.30AF.0020.001F.3218][*030F.0020.001F.3218] # PARENTHESIZED HANGUL KHIEUKH A; QQKN
-3278 ; [.3040.0020.0006.3278][.30AF.0020.0006.3278] # CIRCLED HANGUL KHIEUKH A; QQKN
-1110 ; [.3041.0020.0002.1110] # HANGUL CHOSEONG THIEUTH
-314C ; [.3041.0020.0004.314C] # HANGUL LETTER THIEUTH; QQK
-320B ; [*030E.0020.0004.320B][.3041.0020.0004.320B][*030F.0020.001F.320B] # PARENTHESIZED HANGUL THIEUTH; QQKN
-326B ; [.3041.0020.0006.326B] # CIRCLED HANGUL THIEUTH; QQK
-FFBC ; [.3041.0020.0012.FFBC] # HALFWIDTH HANGUL LETTER THIEUTH; QQK
-3219 ; [*030E.0020.0004.3219][.3041.0020.0004.3219][.30AF.0020.001F.3219][*030F.0020.001F.3219] # PARENTHESIZED HANGUL THIEUTH A; QQKN
-3279 ; [.3041.0020.0006.3279][.30AF.0020.0006.3279] # CIRCLED HANGUL THIEUTH A; QQKN
-1111 ; [.3042.0020.0002.1111] # HANGUL CHOSEONG PHIEUPH
-314D ; [.3042.0020.0004.314D] # HANGUL LETTER PHIEUPH; QQK
-320C ; [*030E.0020.0004.320C][.3042.0020.0004.320C][*030F.0020.001F.320C] # PARENTHESIZED HANGUL PHIEUPH; QQKN
-326C ; [.3042.0020.0006.326C] # CIRCLED HANGUL PHIEUPH; QQK
-FFBD ; [.3042.0020.0012.FFBD] # HALFWIDTH HANGUL LETTER PHIEUPH; QQK
-321A ; [*030E.0020.0004.321A][.3042.0020.0004.321A][.30AF.0020.001F.321A][*030F.0020.001F.321A] # PARENTHESIZED HANGUL PHIEUPH A; QQKN
-327A ; [.3042.0020.0006.327A][.30AF.0020.0006.327A] # CIRCLED HANGUL PHIEUPH A; QQKN
-1112 ; [.3043.0020.0002.1112] # HANGUL CHOSEONG HIEUH
-314E ; [.3043.0020.0004.314E] # HANGUL LETTER HIEUH; QQK
-320D ; [*030E.0020.0004.320D][.3043.0020.0004.320D][*030F.0020.001F.320D] # PARENTHESIZED HANGUL HIEUH; QQKN
-326D ; [.3043.0020.0006.326D] # CIRCLED HANGUL HIEUH; QQK
-FFBE ; [.3043.0020.0012.FFBE] # HALFWIDTH HANGUL LETTER HIEUH; QQK
-321B ; [*030E.0020.0004.321B][.3043.0020.0004.321B][.30AF.0020.001F.321B][*030F.0020.001F.321B] # PARENTHESIZED HANGUL HIEUH A; QQKN
-327B ; [.3043.0020.0006.327B][.30AF.0020.0006.327B] # CIRCLED HANGUL HIEUH A; QQKN
-1113 ; [.3044.0020.0002.1113] # HANGUL CHOSEONG NIEUN-KIYEOK
-1114 ; [.3045.0020.0002.1114] # HANGUL CHOSEONG SSANGNIEUN
-3165 ; [.3045.0020.0004.3165] # HANGUL LETTER SSANGNIEUN; QQK
-1115 ; [.3046.0020.0002.1115] # HANGUL CHOSEONG NIEUN-TIKEUT
-3166 ; [.3046.0020.0004.3166] # HANGUL LETTER NIEUN-TIKEUT; QQK
-1116 ; [.3047.0020.0002.1116] # HANGUL CHOSEONG NIEUN-PIEUP
-1117 ; [.3048.0020.0002.1117] # HANGUL CHOSEONG TIKEUT-KIYEOK
-1118 ; [.3049.0020.0002.1118] # HANGUL CHOSEONG RIEUL-NIEUN
-1119 ; [.304A.0020.0002.1119] # HANGUL CHOSEONG SSANGRIEUL
-111A ; [.304B.0020.0002.111A] # HANGUL CHOSEONG RIEUL-HIEUH
-3140 ; [.304B.0020.0004.3140] # HANGUL LETTER RIEUL-HIEUH; QQK
-FFB0 ; [.304B.0020.0012.FFB0] # HALFWIDTH HANGUL LETTER RIEUL-HIEUH; QQK
-111B ; [.304C.0020.0002.111B] # HANGUL CHOSEONG KAPYEOUNRIEUL
-111C ; [.304D.0020.0002.111C] # HANGUL CHOSEONG MIEUM-PIEUP
-316E ; [.304D.0020.0004.316E] # HANGUL LETTER MIEUM-PIEUP; QQK
-111D ; [.304E.0020.0002.111D] # HANGUL CHOSEONG KAPYEOUNMIEUM
-3171 ; [.304E.0020.0004.3171] # HANGUL LETTER KAPYEOUNMIEUM; QQK
-111E ; [.304F.0020.0002.111E] # HANGUL CHOSEONG PIEUP-KIYEOK
-3172 ; [.304F.0020.0004.3172] # HANGUL LETTER PIEUP-KIYEOK; QQK
-111F ; [.3050.0020.0002.111F] # HANGUL CHOSEONG PIEUP-NIEUN
-1120 ; [.3051.0020.0002.1120] # HANGUL CHOSEONG PIEUP-TIKEUT
-3173 ; [.3051.0020.0004.3173] # HANGUL LETTER PIEUP-TIKEUT; QQK
-1121 ; [.3052.0020.0002.1121] # HANGUL CHOSEONG PIEUP-SIOS
-3144 ; [.3052.0020.0004.3144] # HANGUL LETTER PIEUP-SIOS; QQK
-FFB4 ; [.3052.0020.0012.FFB4] # HALFWIDTH HANGUL LETTER PIEUP-SIOS; QQK
-1122 ; [.3053.0020.0002.1122] # HANGUL CHOSEONG PIEUP-SIOS-KIYEOK
-3174 ; [.3053.0020.0004.3174] # HANGUL LETTER PIEUP-SIOS-KIYEOK; QQK
-1123 ; [.3054.0020.0002.1123] # HANGUL CHOSEONG PIEUP-SIOS-TIKEUT
-3175 ; [.3054.0020.0004.3175] # HANGUL LETTER PIEUP-SIOS-TIKEUT; QQK
-1124 ; [.3055.0020.0002.1124] # HANGUL CHOSEONG PIEUP-SIOS-PIEUP
-1125 ; [.3056.0020.0002.1125] # HANGUL CHOSEONG PIEUP-SSANGSIOS
-1126 ; [.3057.0020.0002.1126] # HANGUL CHOSEONG PIEUP-SIOS-CIEUC
-1127 ; [.3058.0020.0002.1127] # HANGUL CHOSEONG PIEUP-CIEUC
-3176 ; [.3058.0020.0004.3176] # HANGUL LETTER PIEUP-CIEUC; QQK
-1128 ; [.3059.0020.0002.1128] # HANGUL CHOSEONG PIEUP-CHIEUCH
-1129 ; [.305A.0020.0002.1129] # HANGUL CHOSEONG PIEUP-THIEUTH
-3177 ; [.305A.0020.0004.3177] # HANGUL LETTER PIEUP-THIEUTH; QQK
-112A ; [.305B.0020.0002.112A] # HANGUL CHOSEONG PIEUP-PHIEUPH
-112B ; [.305C.0020.0002.112B] # HANGUL CHOSEONG KAPYEOUNPIEUP
-3178 ; [.305C.0020.0004.3178] # HANGUL LETTER KAPYEOUNPIEUP; QQK
-112C ; [.305D.0020.0002.112C] # HANGUL CHOSEONG KAPYEOUNSSANGPIEUP
-3179 ; [.305D.0020.0004.3179] # HANGUL LETTER KAPYEOUNSSANGPIEUP; QQK
-112D ; [.305E.0020.0002.112D] # HANGUL CHOSEONG SIOS-KIYEOK
-317A ; [.305E.0020.0004.317A] # HANGUL LETTER SIOS-KIYEOK; QQK
-112E ; [.305F.0020.0002.112E] # HANGUL CHOSEONG SIOS-NIEUN
-317B ; [.305F.0020.0004.317B] # HANGUL LETTER SIOS-NIEUN; QQK
-112F ; [.3060.0020.0002.112F] # HANGUL CHOSEONG SIOS-TIKEUT
-317C ; [.3060.0020.0004.317C] # HANGUL LETTER SIOS-TIKEUT; QQK
-1130 ; [.3061.0020.0002.1130] # HANGUL CHOSEONG SIOS-RIEUL
-1131 ; [.3062.0020.0002.1131] # HANGUL CHOSEONG SIOS-MIEUM
-1132 ; [.3063.0020.0002.1132] # HANGUL CHOSEONG SIOS-PIEUP
-317D ; [.3063.0020.0004.317D] # HANGUL LETTER SIOS-PIEUP; QQK
-1133 ; [.3064.0020.0002.1133] # HANGUL CHOSEONG SIOS-PIEUP-KIYEOK
-1134 ; [.3065.0020.0002.1134] # HANGUL CHOSEONG SIOS-SSANGSIOS
-1135 ; [.3066.0020.0002.1135] # HANGUL CHOSEONG SIOS-IEUNG
-1136 ; [.3067.0020.0002.1136] # HANGUL CHOSEONG SIOS-CIEUC
-317E ; [.3067.0020.0004.317E] # HANGUL LETTER SIOS-CIEUC; QQK
-1137 ; [.3068.0020.0002.1137] # HANGUL CHOSEONG SIOS-CHIEUCH
-1138 ; [.3069.0020.0002.1138] # HANGUL CHOSEONG SIOS-KHIEUKH
-1139 ; [.306A.0020.0002.1139] # HANGUL CHOSEONG SIOS-THIEUTH
-113A ; [.306B.0020.0002.113A] # HANGUL CHOSEONG SIOS-PHIEUPH
-113B ; [.306C.0020.0002.113B] # HANGUL CHOSEONG SIOS-HIEUH
-113C ; [.306D.0020.0002.113C] # HANGUL CHOSEONG CHITUEUMSIOS
-113D ; [.306E.0020.0002.113D] # HANGUL CHOSEONG CHITUEUMSSANGSIOS
-113E ; [.306F.0020.0002.113E] # HANGUL CHOSEONG CEONGCHIEUMSIOS
-113F ; [.3070.0020.0002.113F] # HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
-1140 ; [.3071.0020.0002.1140] # HANGUL CHOSEONG PANSIOS
-317F ; [.3071.0020.0004.317F] # HANGUL LETTER PANSIOS; QQK
-1141 ; [.3072.0020.0002.1141] # HANGUL CHOSEONG IEUNG-KIYEOK
-1142 ; [.3073.0020.0002.1142] # HANGUL CHOSEONG IEUNG-TIKEUT
-1143 ; [.3074.0020.0002.1143] # HANGUL CHOSEONG IEUNG-MIEUM
-1144 ; [.3075.0020.0002.1144] # HANGUL CHOSEONG IEUNG-PIEUP
-1145 ; [.3076.0020.0002.1145] # HANGUL CHOSEONG IEUNG-SIOS
-1146 ; [.3077.0020.0002.1146] # HANGUL CHOSEONG IEUNG-PANSIOS
-1147 ; [.3078.0020.0002.1147] # HANGUL CHOSEONG SSANGIEUNG
-3180 ; [.3078.0020.0004.3180] # HANGUL LETTER SSANGIEUNG; QQK
-1148 ; [.3079.0020.0002.1148] # HANGUL CHOSEONG IEUNG-CIEUC
-1149 ; [.307A.0020.0002.1149] # HANGUL CHOSEONG IEUNG-CHIEUCH
-114A ; [.307B.0020.0002.114A] # HANGUL CHOSEONG IEUNG-THIEUTH
-114B ; [.307C.0020.0002.114B] # HANGUL CHOSEONG IEUNG-PHIEUPH
-114C ; [.307D.0020.0002.114C] # HANGUL CHOSEONG YESIEUNG
-3181 ; [.307D.0020.0004.3181] # HANGUL LETTER YESIEUNG; QQK
-114D ; [.307E.0020.0002.114D] # HANGUL CHOSEONG CIEUC-IEUNG
-114E ; [.307F.0020.0002.114E] # HANGUL CHOSEONG CHITUEUMCIEUC
-114F ; [.3080.0020.0002.114F] # HANGUL CHOSEONG CHITUEUMSSANGCIEUC
-1150 ; [.3081.0020.0002.1150] # HANGUL CHOSEONG CEONGCHIEUMCIEUC
-1151 ; [.3082.0020.0002.1151] # HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC
-1152 ; [.3083.0020.0002.1152] # HANGUL CHOSEONG CHIEUCH-KHIEUKH
-1153 ; [.3084.0020.0002.1153] # HANGUL CHOSEONG CHIEUCH-HIEUH
-1154 ; [.3085.0020.0002.1154] # HANGUL CHOSEONG CHITUEUMCHIEUCH
-1155 ; [.3086.0020.0002.1155] # HANGUL CHOSEONG CEONGCHIEUMCHIEUCH
-1156 ; [.3087.0020.0002.1156] # HANGUL CHOSEONG PHIEUPH-PIEUP
-1157 ; [.3088.0020.0002.1157] # HANGUL CHOSEONG KAPYEOUNPHIEUPH
-3184 ; [.3088.0020.0004.3184] # HANGUL LETTER KAPYEOUNPHIEUPH; QQK
-1158 ; [.3089.0020.0002.1158] # HANGUL CHOSEONG SSANGHIEUH
-3185 ; [.3089.0020.0004.3185] # HANGUL LETTER SSANGHIEUH; QQK
-1159 ; [.308A.0020.0002.1159] # HANGUL CHOSEONG YEORINHIEUH
-3186 ; [.308A.0020.0004.3186] # HANGUL LETTER YEORINHIEUH; QQK
-115A ; [.308B.0020.0002.115A] # HANGUL CHOSEONG KIYEOK-TIKEUT
-115B ; [.308C.0020.0002.115B] # HANGUL CHOSEONG NIEUN-SIOS
-115C ; [.308D.0020.0002.115C] # HANGUL CHOSEONG NIEUN-CIEUC
-115D ; [.308E.0020.0002.115D] # HANGUL CHOSEONG NIEUN-HIEUH
-115E ; [.308F.0020.0002.115E] # HANGUL CHOSEONG TIKEUT-RIEUL
-A960 ; [.3090.0020.0002.A960] # HANGUL CHOSEONG TIKEUT-MIEUM
-A961 ; [.3091.0020.0002.A961] # HANGUL CHOSEONG TIKEUT-PIEUP
-A962 ; [.3092.0020.0002.A962] # HANGUL CHOSEONG TIKEUT-SIOS
-A963 ; [.3093.0020.0002.A963] # HANGUL CHOSEONG TIKEUT-CIEUC
-A964 ; [.3094.0020.0002.A964] # HANGUL CHOSEONG RIEUL-KIYEOK
-A965 ; [.3095.0020.0002.A965] # HANGUL CHOSEONG RIEUL-SSANGKIYEOK
-A966 ; [.3096.0020.0002.A966] # HANGUL CHOSEONG RIEUL-TIKEUT
-A967 ; [.3097.0020.0002.A967] # HANGUL CHOSEONG RIEUL-SSANGTIKEUT
-A968 ; [.3098.0020.0002.A968] # HANGUL CHOSEONG RIEUL-MIEUM
-A969 ; [.3099.0020.0002.A969] # HANGUL CHOSEONG RIEUL-PIEUP
-A96A ; [.309A.0020.0002.A96A] # HANGUL CHOSEONG RIEUL-SSANGPIEUP
-A96B ; [.309B.0020.0002.A96B] # HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP
-A96C ; [.309C.0020.0002.A96C] # HANGUL CHOSEONG RIEUL-SIOS
-A96D ; [.309D.0020.0002.A96D] # HANGUL CHOSEONG RIEUL-CIEUC
-A96E ; [.309E.0020.0002.A96E] # HANGUL CHOSEONG RIEUL-KHIEUKH
-A96F ; [.309F.0020.0002.A96F] # HANGUL CHOSEONG MIEUM-KIYEOK
-A970 ; [.30A0.0020.0002.A970] # HANGUL CHOSEONG MIEUM-TIKEUT
-A971 ; [.30A1.0020.0002.A971] # HANGUL CHOSEONG MIEUM-SIOS
-A972 ; [.30A2.0020.0002.A972] # HANGUL CHOSEONG PIEUP-SIOS-THIEUTH
-A973 ; [.30A3.0020.0002.A973] # HANGUL CHOSEONG PIEUP-KHIEUKH
-A974 ; [.30A4.0020.0002.A974] # HANGUL CHOSEONG PIEUP-HIEUH
-A975 ; [.30A5.0020.0002.A975] # HANGUL CHOSEONG SSANGSIOS-PIEUP
-A976 ; [.30A6.0020.0002.A976] # HANGUL CHOSEONG IEUNG-RIEUL
-A977 ; [.30A7.0020.0002.A977] # HANGUL CHOSEONG IEUNG-HIEUH
-A978 ; [.30A8.0020.0002.A978] # HANGUL CHOSEONG SSANGCIEUC-HIEUH
-A979 ; [.30A9.0020.0002.A979] # HANGUL CHOSEONG SSANGTHIEUTH
-A97A ; [.30AA.0020.0002.A97A] # HANGUL CHOSEONG PHIEUPH-HIEUH
-A97B ; [.30AB.0020.0002.A97B] # HANGUL CHOSEONG HIEUH-SIOS
-A97C ; [.30AC.0020.0002.A97C] # HANGUL CHOSEONG SSANGYEORINHIEUH
-115F ; [.30AD.0020.0002.115F] # HANGUL CHOSEONG FILLER
-1160 ; [.30AE.0020.0002.1160] # HANGUL JUNGSEONG FILLER
-3164 ; [.30AE.0020.0004.3164] # HANGUL FILLER; QQK
-FFA0 ; [.30AE.0020.0012.FFA0] # HALFWIDTH HANGUL FILLER; QQK
-1161 ; [.30AF.0020.0002.1161] # HANGUL JUNGSEONG A
-314F ; [.30AF.0020.0004.314F] # HANGUL LETTER A; QQK
-FFC2 ; [.30AF.0020.0012.FFC2] # HALFWIDTH HANGUL LETTER A; QQK
-1162 ; [.30B0.0020.0002.1162] # HANGUL JUNGSEONG AE
-3150 ; [.30B0.0020.0004.3150] # HANGUL LETTER AE; QQK
-FFC3 ; [.30B0.0020.0012.FFC3] # HALFWIDTH HANGUL LETTER AE; QQK
-1163 ; [.30B1.0020.0002.1163] # HANGUL JUNGSEONG YA
-3151 ; [.30B1.0020.0004.3151] # HANGUL LETTER YA; QQK
-FFC4 ; [.30B1.0020.0012.FFC4] # HALFWIDTH HANGUL LETTER YA; QQK
-1164 ; [.30B2.0020.0002.1164] # HANGUL JUNGSEONG YAE
-3152 ; [.30B2.0020.0004.3152] # HANGUL LETTER YAE; QQK
-FFC5 ; [.30B2.0020.0012.FFC5] # HALFWIDTH HANGUL LETTER YAE; QQK
-1165 ; [.30B3.0020.0002.1165] # HANGUL JUNGSEONG EO
-3153 ; [.30B3.0020.0004.3153] # HANGUL LETTER EO; QQK
-FFC6 ; [.30B3.0020.0012.FFC6] # HALFWIDTH HANGUL LETTER EO; QQK
-1166 ; [.30B4.0020.0002.1166] # HANGUL JUNGSEONG E
-3154 ; [.30B4.0020.0004.3154] # HANGUL LETTER E; QQK
-FFC7 ; [.30B4.0020.0012.FFC7] # HALFWIDTH HANGUL LETTER E; QQK
-1167 ; [.30B5.0020.0002.1167] # HANGUL JUNGSEONG YEO
-3155 ; [.30B5.0020.0004.3155] # HANGUL LETTER YEO; QQK
-FFCA ; [.30B5.0020.0012.FFCA] # HALFWIDTH HANGUL LETTER YEO; QQK
-1168 ; [.30B6.0020.0002.1168] # HANGUL JUNGSEONG YE
-3156 ; [.30B6.0020.0004.3156] # HANGUL LETTER YE; QQK
-FFCB ; [.30B6.0020.0012.FFCB] # HALFWIDTH HANGUL LETTER YE; QQK
-1169 ; [.30B7.0020.0002.1169] # HANGUL JUNGSEONG O
-3157 ; [.30B7.0020.0004.3157] # HANGUL LETTER O; QQK
-FFCC ; [.30B7.0020.0012.FFCC] # HALFWIDTH HANGUL LETTER O; QQK
-116A ; [.30B8.0020.0002.116A] # HANGUL JUNGSEONG WA
-3158 ; [.30B8.0020.0004.3158] # HANGUL LETTER WA; QQK
-FFCD ; [.30B8.0020.0012.FFCD] # HALFWIDTH HANGUL LETTER WA; QQK
-116B ; [.30B9.0020.0002.116B] # HANGUL JUNGSEONG WAE
-3159 ; [.30B9.0020.0004.3159] # HANGUL LETTER WAE; QQK
-FFCE ; [.30B9.0020.0012.FFCE] # HALFWIDTH HANGUL LETTER WAE; QQK
-116C ; [.30BA.0020.0002.116C] # HANGUL JUNGSEONG OE
-315A ; [.30BA.0020.0004.315A] # HANGUL LETTER OE; QQK
-FFCF ; [.30BA.0020.0012.FFCF] # HALFWIDTH HANGUL LETTER OE; QQK
-116D ; [.30BB.0020.0002.116D] # HANGUL JUNGSEONG YO
-315B ; [.30BB.0020.0004.315B] # HANGUL LETTER YO; QQK
-FFD2 ; [.30BB.0020.0012.FFD2] # HALFWIDTH HANGUL LETTER YO; QQK
-116E ; [.30BC.0020.0002.116E] # HANGUL JUNGSEONG U
-315C ; [.30BC.0020.0004.315C] # HANGUL LETTER U; QQK
-FFD3 ; [.30BC.0020.0012.FFD3] # HALFWIDTH HANGUL LETTER U; QQK
-116F ; [.30BD.0020.0002.116F] # HANGUL JUNGSEONG WEO
-315D ; [.30BD.0020.0004.315D] # HANGUL LETTER WEO; QQK
-FFD4 ; [.30BD.0020.0012.FFD4] # HALFWIDTH HANGUL LETTER WEO; QQK
-1170 ; [.30BE.0020.0002.1170] # HANGUL JUNGSEONG WE
-315E ; [.30BE.0020.0004.315E] # HANGUL LETTER WE; QQK
-FFD5 ; [.30BE.0020.0012.FFD5] # HALFWIDTH HANGUL LETTER WE; QQK
-1171 ; [.30BF.0020.0002.1171] # HANGUL JUNGSEONG WI
-315F ; [.30BF.0020.0004.315F] # HANGUL LETTER WI; QQK
-FFD6 ; [.30BF.0020.0012.FFD6] # HALFWIDTH HANGUL LETTER WI; QQK
-1172 ; [.30C0.0020.0002.1172] # HANGUL JUNGSEONG YU
-3160 ; [.30C0.0020.0004.3160] # HANGUL LETTER YU; QQK
-FFD7 ; [.30C0.0020.0012.FFD7] # HALFWIDTH HANGUL LETTER YU; QQK
-1173 ; [.30C1.0020.0002.1173] # HANGUL JUNGSEONG EU
-3161 ; [.30C1.0020.0004.3161] # HANGUL LETTER EU; QQK
-FFDA ; [.30C1.0020.0012.FFDA] # HALFWIDTH HANGUL LETTER EU; QQK
-1174 ; [.30C2.0020.0002.1174] # HANGUL JUNGSEONG YI
-3162 ; [.30C2.0020.0004.3162] # HANGUL LETTER YI; QQK
-FFDB ; [.30C2.0020.0012.FFDB] # HALFWIDTH HANGUL LETTER YI; QQK
-1175 ; [.30C3.0020.0002.1175] # HANGUL JUNGSEONG I
-3163 ; [.30C3.0020.0004.3163] # HANGUL LETTER I; QQK
-FFDC ; [.30C3.0020.0012.FFDC] # HALFWIDTH HANGUL LETTER I; QQK
-1176 ; [.30C4.0020.0002.1176] # HANGUL JUNGSEONG A-O
-1177 ; [.30C5.0020.0002.1177] # HANGUL JUNGSEONG A-U
-1178 ; [.30C6.0020.0002.1178] # HANGUL JUNGSEONG YA-O
-1179 ; [.30C7.0020.0002.1179] # HANGUL JUNGSEONG YA-YO
-117A ; [.30C8.0020.0002.117A] # HANGUL JUNGSEONG EO-O
-117B ; [.30C9.0020.0002.117B] # HANGUL JUNGSEONG EO-U
-117C ; [.30CA.0020.0002.117C] # HANGUL JUNGSEONG EO-EU
-117D ; [.30CB.0020.0002.117D] # HANGUL JUNGSEONG YEO-O
-117E ; [.30CC.0020.0002.117E] # HANGUL JUNGSEONG YEO-U
-117F ; [.30CD.0020.0002.117F] # HANGUL JUNGSEONG O-EO
-1180 ; [.30CE.0020.0002.1180] # HANGUL JUNGSEONG O-E
-1181 ; [.30CF.0020.0002.1181] # HANGUL JUNGSEONG O-YE
-1182 ; [.30D0.0020.0002.1182] # HANGUL JUNGSEONG O-O
-1183 ; [.30D1.0020.0002.1183] # HANGUL JUNGSEONG O-U
-1184 ; [.30D2.0020.0002.1184] # HANGUL JUNGSEONG YO-YA
-3187 ; [.30D2.0020.0004.3187] # HANGUL LETTER YO-YA; QQK
-1185 ; [.30D3.0020.0002.1185] # HANGUL JUNGSEONG YO-YAE
-3188 ; [.30D3.0020.0004.3188] # HANGUL LETTER YO-YAE; QQK
-1186 ; [.30D4.0020.0002.1186] # HANGUL JUNGSEONG YO-YEO
-1187 ; [.30D5.0020.0002.1187] # HANGUL JUNGSEONG YO-O
-1188 ; [.30D6.0020.0002.1188] # HANGUL JUNGSEONG YO-I
-3189 ; [.30D6.0020.0004.3189] # HANGUL LETTER YO-I; QQK
-1189 ; [.30D7.0020.0002.1189] # HANGUL JUNGSEONG U-A
-118A ; [.30D8.0020.0002.118A] # HANGUL JUNGSEONG U-AE
-118B ; [.30D9.0020.0002.118B] # HANGUL JUNGSEONG U-EO-EU
-118C ; [.30DA.0020.0002.118C] # HANGUL JUNGSEONG U-YE
-118D ; [.30DB.0020.0002.118D] # HANGUL JUNGSEONG U-U
-118E ; [.30DC.0020.0002.118E] # HANGUL JUNGSEONG YU-A
-118F ; [.30DD.0020.0002.118F] # HANGUL JUNGSEONG YU-EO
-1190 ; [.30DE.0020.0002.1190] # HANGUL JUNGSEONG YU-E
-1191 ; [.30DF.0020.0002.1191] # HANGUL JUNGSEONG YU-YEO
-318A ; [.30DF.0020.0004.318A] # HANGUL LETTER YU-YEO; QQK
-1192 ; [.30E0.0020.0002.1192] # HANGUL JUNGSEONG YU-YE
-318B ; [.30E0.0020.0004.318B] # HANGUL LETTER YU-YE; QQK
-1193 ; [.30E1.0020.0002.1193] # HANGUL JUNGSEONG YU-U
-1194 ; [.30E2.0020.0002.1194] # HANGUL JUNGSEONG YU-I
-318C ; [.30E2.0020.0004.318C] # HANGUL LETTER YU-I; QQK
-1195 ; [.30E3.0020.0002.1195] # HANGUL JUNGSEONG EU-U
-1196 ; [.30E4.0020.0002.1196] # HANGUL JUNGSEONG EU-EU
-1197 ; [.30E5.0020.0002.1197] # HANGUL JUNGSEONG YI-U
-1198 ; [.30E6.0020.0002.1198] # HANGUL JUNGSEONG I-A
-1199 ; [.30E7.0020.0002.1199] # HANGUL JUNGSEONG I-YA
-119A ; [.30E8.0020.0002.119A] # HANGUL JUNGSEONG I-O
-119B ; [.30E9.0020.0002.119B] # HANGUL JUNGSEONG I-U
-119C ; [.30EA.0020.0002.119C] # HANGUL JUNGSEONG I-EU
-119D ; [.30EB.0020.0002.119D] # HANGUL JUNGSEONG I-ARAEA
-119E ; [.30EC.0020.0002.119E] # HANGUL JUNGSEONG ARAEA
-318D ; [.30EC.0020.0004.318D] # HANGUL LETTER ARAEA; QQK
-119F ; [.30ED.0020.0002.119F] # HANGUL JUNGSEONG ARAEA-EO
-11A0 ; [.30EE.0020.0002.11A0] # HANGUL JUNGSEONG ARAEA-U
-11A1 ; [.30EF.0020.0002.11A1] # HANGUL JUNGSEONG ARAEA-I
-318E ; [.30EF.0020.0004.318E] # HANGUL LETTER ARAEAE; QQK
-11A2 ; [.30F0.0020.0002.11A2] # HANGUL JUNGSEONG SSANGARAEA
-11A3 ; [.30F1.0020.0002.11A3] # HANGUL JUNGSEONG A-EU
-11A4 ; [.30F2.0020.0002.11A4] # HANGUL JUNGSEONG YA-U
-11A5 ; [.30F3.0020.0002.11A5] # HANGUL JUNGSEONG YEO-YA
-11A6 ; [.30F4.0020.0002.11A6] # HANGUL JUNGSEONG O-YA
-11A7 ; [.30F5.0020.0002.11A7] # HANGUL JUNGSEONG O-YAE
-D7B0 ; [.30F6.0020.0002.D7B0] # HANGUL JUNGSEONG O-YEO
-D7B1 ; [.30F7.0020.0002.D7B1] # HANGUL JUNGSEONG O-O-I
-D7B2 ; [.30F8.0020.0002.D7B2] # HANGUL JUNGSEONG YO-A
-D7B3 ; [.30F9.0020.0002.D7B3] # HANGUL JUNGSEONG YO-AE
-D7B4 ; [.30FA.0020.0002.D7B4] # HANGUL JUNGSEONG YO-EO
-D7B5 ; [.30FB.0020.0002.D7B5] # HANGUL JUNGSEONG U-YEO
-D7B6 ; [.30FC.0020.0002.D7B6] # HANGUL JUNGSEONG U-I-I
-D7B7 ; [.30FD.0020.0002.D7B7] # HANGUL JUNGSEONG YU-AE
-D7B8 ; [.30FE.0020.0002.D7B8] # HANGUL JUNGSEONG YU-O
-D7B9 ; [.30FF.0020.0002.D7B9] # HANGUL JUNGSEONG EU-A
-D7BA ; [.3100.0020.0002.D7BA] # HANGUL JUNGSEONG EU-EO
-D7BB ; [.3101.0020.0002.D7BB] # HANGUL JUNGSEONG EU-E
-D7BC ; [.3102.0020.0002.D7BC] # HANGUL JUNGSEONG EU-O
-D7BD ; [.3103.0020.0002.D7BD] # HANGUL JUNGSEONG I-YA-O
-D7BE ; [.3104.0020.0002.D7BE] # HANGUL JUNGSEONG I-YAE
-D7BF ; [.3105.0020.0002.D7BF] # HANGUL JUNGSEONG I-YEO
-D7C0 ; [.3106.0020.0002.D7C0] # HANGUL JUNGSEONG I-YE
-D7C1 ; [.3107.0020.0002.D7C1] # HANGUL JUNGSEONG I-O-I
-D7C2 ; [.3108.0020.0002.D7C2] # HANGUL JUNGSEONG I-YO
-D7C3 ; [.3109.0020.0002.D7C3] # HANGUL JUNGSEONG I-YU
-D7C4 ; [.310A.0020.0002.D7C4] # HANGUL JUNGSEONG I-I
-D7C5 ; [.310B.0020.0002.D7C5] # HANGUL JUNGSEONG ARAEA-A
-D7C6 ; [.310C.0020.0002.D7C6] # HANGUL JUNGSEONG ARAEA-E
-11A8 ; [.310D.0020.0002.11A8] # HANGUL JONGSEONG KIYEOK
-11A9 ; [.310E.0020.0002.11A9] # HANGUL JONGSEONG SSANGKIYEOK
-11AA ; [.310F.0020.0002.11AA] # HANGUL JONGSEONG KIYEOK-SIOS
-3133 ; [.310F.0020.0004.3133] # HANGUL LETTER KIYEOK-SIOS; QQK
-FFA3 ; [.310F.0020.0012.FFA3] # HALFWIDTH HANGUL LETTER KIYEOK-SIOS; QQK
-11AB ; [.3110.0020.0002.11AB] # HANGUL JONGSEONG NIEUN
-11AC ; [.3111.0020.0002.11AC] # HANGUL JONGSEONG NIEUN-CIEUC
-3135 ; [.3111.0020.0004.3135] # HANGUL LETTER NIEUN-CIEUC; QQK
-FFA5 ; [.3111.0020.0012.FFA5] # HALFWIDTH HANGUL LETTER NIEUN-CIEUC; QQK
-11AD ; [.3112.0020.0002.11AD] # HANGUL JONGSEONG NIEUN-HIEUH
-3136 ; [.3112.0020.0004.3136] # HANGUL LETTER NIEUN-HIEUH; QQK
-FFA6 ; [.3112.0020.0012.FFA6] # HALFWIDTH HANGUL LETTER NIEUN-HIEUH; QQK
-11AE ; [.3113.0020.0002.11AE] # HANGUL JONGSEONG TIKEUT
-11AF ; [.3114.0020.0002.11AF] # HANGUL JONGSEONG RIEUL
-11B0 ; [.3115.0020.0002.11B0] # HANGUL JONGSEONG RIEUL-KIYEOK
-313A ; [.3115.0020.0004.313A] # HANGUL LETTER RIEUL-KIYEOK; QQK
-FFAA ; [.3115.0020.0012.FFAA] # HALFWIDTH HANGUL LETTER RIEUL-KIYEOK; QQK
-11B1 ; [.3116.0020.0002.11B1] # HANGUL JONGSEONG RIEUL-MIEUM
-313B ; [.3116.0020.0004.313B] # HANGUL LETTER RIEUL-MIEUM; QQK
-FFAB ; [.3116.0020.0012.FFAB] # HALFWIDTH HANGUL LETTER RIEUL-MIEUM; QQK
-11B2 ; [.3117.0020.0002.11B2] # HANGUL JONGSEONG RIEUL-PIEUP
-313C ; [.3117.0020.0004.313C] # HANGUL LETTER RIEUL-PIEUP; QQK
-FFAC ; [.3117.0020.0012.FFAC] # HALFWIDTH HANGUL LETTER RIEUL-PIEUP; QQK
-11B3 ; [.3118.0020.0002.11B3] # HANGUL JONGSEONG RIEUL-SIOS
-313D ; [.3118.0020.0004.313D] # HANGUL LETTER RIEUL-SIOS; QQK
-FFAD ; [.3118.0020.0012.FFAD] # HALFWIDTH HANGUL LETTER RIEUL-SIOS; QQK
-11B4 ; [.3119.0020.0002.11B4] # HANGUL JONGSEONG RIEUL-THIEUTH
-313E ; [.3119.0020.0004.313E] # HANGUL LETTER RIEUL-THIEUTH; QQK
-FFAE ; [.3119.0020.0012.FFAE] # HALFWIDTH HANGUL LETTER RIEUL-THIEUTH; QQK
-11B5 ; [.311A.0020.0002.11B5] # HANGUL JONGSEONG RIEUL-PHIEUPH
-313F ; [.311A.0020.0004.313F] # HANGUL LETTER RIEUL-PHIEUPH; QQK
-FFAF ; [.311A.0020.0012.FFAF] # HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH; QQK
-11B6 ; [.311B.0020.0002.11B6] # HANGUL JONGSEONG RIEUL-HIEUH
-11B7 ; [.311C.0020.0002.11B7] # HANGUL JONGSEONG MIEUM
-11B8 ; [.311D.0020.0002.11B8] # HANGUL JONGSEONG PIEUP
-11B9 ; [.311E.0020.0002.11B9] # HANGUL JONGSEONG PIEUP-SIOS
-11BA ; [.311F.0020.0002.11BA] # HANGUL JONGSEONG SIOS
-11BB ; [.3120.0020.0002.11BB] # HANGUL JONGSEONG SSANGSIOS
-11BC ; [.3121.0020.0002.11BC] # HANGUL JONGSEONG IEUNG
-11BD ; [.3122.0020.0002.11BD] # HANGUL JONGSEONG CIEUC
-11BE ; [.3123.0020.0002.11BE] # HANGUL JONGSEONG CHIEUCH
-11BF ; [.3124.0020.0002.11BF] # HANGUL JONGSEONG KHIEUKH
-11C0 ; [.3125.0020.0002.11C0] # HANGUL JONGSEONG THIEUTH
-11C1 ; [.3126.0020.0002.11C1] # HANGUL JONGSEONG PHIEUPH
-11C2 ; [.3127.0020.0002.11C2] # HANGUL JONGSEONG HIEUH
-11C3 ; [.3128.0020.0002.11C3] # HANGUL JONGSEONG KIYEOK-RIEUL
-11C4 ; [.3129.0020.0002.11C4] # HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK
-11C5 ; [.312A.0020.0002.11C5] # HANGUL JONGSEONG NIEUN-KIYEOK
-11C6 ; [.312B.0020.0002.11C6] # HANGUL JONGSEONG NIEUN-TIKEUT
-11C7 ; [.312C.0020.0002.11C7] # HANGUL JONGSEONG NIEUN-SIOS
-3167 ; [.312C.0020.0004.3167] # HANGUL LETTER NIEUN-SIOS; QQK
-11C8 ; [.312D.0020.0002.11C8] # HANGUL JONGSEONG NIEUN-PANSIOS
-3168 ; [.312D.0020.0004.3168] # HANGUL LETTER NIEUN-PANSIOS; QQK
-11C9 ; [.312E.0020.0002.11C9] # HANGUL JONGSEONG NIEUN-THIEUTH
-11CA ; [.312F.0020.0002.11CA] # HANGUL JONGSEONG TIKEUT-KIYEOK
-11CB ; [.3130.0020.0002.11CB] # HANGUL JONGSEONG TIKEUT-RIEUL
-11CC ; [.3131.0020.0002.11CC] # HANGUL JONGSEONG RIEUL-KIYEOK-SIOS
-3169 ; [.3131.0020.0004.3169] # HANGUL LETTER RIEUL-KIYEOK-SIOS; QQK
-11CD ; [.3132.0020.0002.11CD] # HANGUL JONGSEONG RIEUL-NIEUN
-11CE ; [.3133.0020.0002.11CE] # HANGUL JONGSEONG RIEUL-TIKEUT
-316A ; [.3133.0020.0004.316A] # HANGUL LETTER RIEUL-TIKEUT; QQK
-11CF ; [.3134.0020.0002.11CF] # HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH
-11D0 ; [.3135.0020.0002.11D0] # HANGUL JONGSEONG SSANGRIEUL
-11D1 ; [.3136.0020.0002.11D1] # HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK
-11D2 ; [.3137.0020.0002.11D2] # HANGUL JONGSEONG RIEUL-MIEUM-SIOS
-11D3 ; [.3138.0020.0002.11D3] # HANGUL JONGSEONG RIEUL-PIEUP-SIOS
-316B ; [.3138.0020.0004.316B] # HANGUL LETTER RIEUL-PIEUP-SIOS; QQK
-11D4 ; [.3139.0020.0002.11D4] # HANGUL JONGSEONG RIEUL-PIEUP-HIEUH
-11D5 ; [.313A.0020.0002.11D5] # HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP
-11D6 ; [.313B.0020.0002.11D6] # HANGUL JONGSEONG RIEUL-SSANGSIOS
-11D7 ; [.313C.0020.0002.11D7] # HANGUL JONGSEONG RIEUL-PANSIOS
-316C ; [.313C.0020.0004.316C] # HANGUL LETTER RIEUL-PANSIOS; QQK
-11D8 ; [.313D.0020.0002.11D8] # HANGUL JONGSEONG RIEUL-KHIEUKH
-11D9 ; [.313E.0020.0002.11D9] # HANGUL JONGSEONG RIEUL-YEORINHIEUH
-316D ; [.313E.0020.0004.316D] # HANGUL LETTER RIEUL-YEORINHIEUH; QQK
-11DA ; [.313F.0020.0002.11DA] # HANGUL JONGSEONG MIEUM-KIYEOK
-11DB ; [.3140.0020.0002.11DB] # HANGUL JONGSEONG MIEUM-RIEUL
-11DC ; [.3141.0020.0002.11DC] # HANGUL JONGSEONG MIEUM-PIEUP
-11DD ; [.3142.0020.0002.11DD] # HANGUL JONGSEONG MIEUM-SIOS
-316F ; [.3142.0020.0004.316F] # HANGUL LETTER MIEUM-SIOS; QQK
-11DE ; [.3143.0020.0002.11DE] # HANGUL JONGSEONG MIEUM-SSANGSIOS
-11DF ; [.3144.0020.0002.11DF] # HANGUL JONGSEONG MIEUM-PANSIOS
-3170 ; [.3144.0020.0004.3170] # HANGUL LETTER MIEUM-PANSIOS; QQK
-11E0 ; [.3145.0020.0002.11E0] # HANGUL JONGSEONG MIEUM-CHIEUCH
-11E1 ; [.3146.0020.0002.11E1] # HANGUL JONGSEONG MIEUM-HIEUH
-11E2 ; [.3147.0020.0002.11E2] # HANGUL JONGSEONG KAPYEOUNMIEUM
-11E3 ; [.3148.0020.0002.11E3] # HANGUL JONGSEONG PIEUP-RIEUL
-11E4 ; [.3149.0020.0002.11E4] # HANGUL JONGSEONG PIEUP-PHIEUPH
-11E5 ; [.314A.0020.0002.11E5] # HANGUL JONGSEONG PIEUP-HIEUH
-11E6 ; [.314B.0020.0002.11E6] # HANGUL JONGSEONG KAPYEOUNPIEUP
-11E7 ; [.314C.0020.0002.11E7] # HANGUL JONGSEONG SIOS-KIYEOK
-11E8 ; [.314D.0020.0002.11E8] # HANGUL JONGSEONG SIOS-TIKEUT
-11E9 ; [.314E.0020.0002.11E9] # HANGUL JONGSEONG SIOS-RIEUL
-11EA ; [.314F.0020.0002.11EA] # HANGUL JONGSEONG SIOS-PIEUP
-11EB ; [.3150.0020.0002.11EB] # HANGUL JONGSEONG PANSIOS
-11EC ; [.3151.0020.0002.11EC] # HANGUL JONGSEONG IEUNG-KIYEOK
-11ED ; [.3152.0020.0002.11ED] # HANGUL JONGSEONG IEUNG-SSANGKIYEOK
-11EE ; [.3153.0020.0002.11EE] # HANGUL JONGSEONG SSANGIEUNG
-11EF ; [.3154.0020.0002.11EF] # HANGUL JONGSEONG IEUNG-KHIEUKH
-11F0 ; [.3155.0020.0002.11F0] # HANGUL JONGSEONG YESIEUNG
-11F1 ; [.3156.0020.0002.11F1] # HANGUL JONGSEONG YESIEUNG-SIOS
-3182 ; [.3156.0020.0004.3182] # HANGUL LETTER YESIEUNG-SIOS; QQK
-11F2 ; [.3157.0020.0002.11F2] # HANGUL JONGSEONG YESIEUNG-PANSIOS
-3183 ; [.3157.0020.0004.3183] # HANGUL LETTER YESIEUNG-PANSIOS; QQK
-11F3 ; [.3158.0020.0002.11F3] # HANGUL JONGSEONG PHIEUPH-PIEUP
-11F4 ; [.3159.0020.0002.11F4] # HANGUL JONGSEONG KAPYEOUNPHIEUPH
-11F5 ; [.315A.0020.0002.11F5] # HANGUL JONGSEONG HIEUH-NIEUN
-11F6 ; [.315B.0020.0002.11F6] # HANGUL JONGSEONG HIEUH-RIEUL
-11F7 ; [.315C.0020.0002.11F7] # HANGUL JONGSEONG HIEUH-MIEUM
-11F8 ; [.315D.0020.0002.11F8] # HANGUL JONGSEONG HIEUH-PIEUP
-11F9 ; [.315E.0020.0002.11F9] # HANGUL JONGSEONG YEORINHIEUH
-11FA ; [.315F.0020.0002.11FA] # HANGUL JONGSEONG KIYEOK-NIEUN
-11FB ; [.3160.0020.0002.11FB] # HANGUL JONGSEONG KIYEOK-PIEUP
-11FC ; [.3161.0020.0002.11FC] # HANGUL JONGSEONG KIYEOK-CHIEUCH
-11FD ; [.3162.0020.0002.11FD] # HANGUL JONGSEONG KIYEOK-KHIEUKH
-11FE ; [.3163.0020.0002.11FE] # HANGUL JONGSEONG KIYEOK-HIEUH
-11FF ; [.3164.0020.0002.11FF] # HANGUL JONGSEONG SSANGNIEUN
-D7CB ; [.3165.0020.0002.D7CB] # HANGUL JONGSEONG NIEUN-RIEUL
-D7CC ; [.3166.0020.0002.D7CC] # HANGUL JONGSEONG NIEUN-CHIEUCH
-D7CD ; [.3167.0020.0002.D7CD] # HANGUL JONGSEONG SSANGTIKEUT
-D7CE ; [.3168.0020.0002.D7CE] # HANGUL JONGSEONG SSANGTIKEUT-PIEUP
-D7CF ; [.3169.0020.0002.D7CF] # HANGUL JONGSEONG TIKEUT-PIEUP
-D7D0 ; [.316A.0020.0002.D7D0] # HANGUL JONGSEONG TIKEUT-SIOS
-D7D1 ; [.316B.0020.0002.D7D1] # HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK
-D7D2 ; [.316C.0020.0002.D7D2] # HANGUL JONGSEONG TIKEUT-CIEUC
-D7D3 ; [.316D.0020.0002.D7D3] # HANGUL JONGSEONG TIKEUT-CHIEUCH
-D7D4 ; [.316E.0020.0002.D7D4] # HANGUL JONGSEONG TIKEUT-THIEUTH
-D7D5 ; [.316F.0020.0002.D7D5] # HANGUL JONGSEONG RIEUL-SSANGKIYEOK
-D7D6 ; [.3170.0020.0002.D7D6] # HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH
-D7D7 ; [.3171.0020.0002.D7D7] # HANGUL JONGSEONG SSANGRIEUL-KHIEUKH
-D7D8 ; [.3172.0020.0002.D7D8] # HANGUL JONGSEONG RIEUL-MIEUM-HIEUH
-D7D9 ; [.3173.0020.0002.D7D9] # HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT
-D7DA ; [.3174.0020.0002.D7DA] # HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH
-D7DB ; [.3175.0020.0002.D7DB] # HANGUL JONGSEONG RIEUL-YESIEUNG
-D7DC ; [.3176.0020.0002.D7DC] # HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH
-D7DD ; [.3177.0020.0002.D7DD] # HANGUL JONGSEONG KAPYEOUNRIEUL
-D7DE ; [.3178.0020.0002.D7DE] # HANGUL JONGSEONG MIEUM-NIEUN
-D7DF ; [.3179.0020.0002.D7DF] # HANGUL JONGSEONG MIEUM-SSANGNIEUN
-D7E0 ; [.317A.0020.0002.D7E0] # HANGUL JONGSEONG SSANGMIEUM
-D7E1 ; [.317B.0020.0002.D7E1] # HANGUL JONGSEONG MIEUM-PIEUP-SIOS
-D7E2 ; [.317C.0020.0002.D7E2] # HANGUL JONGSEONG MIEUM-CIEUC
-D7E3 ; [.317D.0020.0002.D7E3] # HANGUL JONGSEONG PIEUP-TIKEUT
-D7E4 ; [.317E.0020.0002.D7E4] # HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH
-D7E5 ; [.317F.0020.0002.D7E5] # HANGUL JONGSEONG PIEUP-MIEUM
-D7E6 ; [.3180.0020.0002.D7E6] # HANGUL JONGSEONG SSANGPIEUP
-D7E7 ; [.3181.0020.0002.D7E7] # HANGUL JONGSEONG PIEUP-SIOS-TIKEUT
-D7E8 ; [.3182.0020.0002.D7E8] # HANGUL JONGSEONG PIEUP-CIEUC
-D7E9 ; [.3183.0020.0002.D7E9] # HANGUL JONGSEONG PIEUP-CHIEUCH
-D7EA ; [.3184.0020.0002.D7EA] # HANGUL JONGSEONG SIOS-MIEUM
-D7EB ; [.3185.0020.0002.D7EB] # HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP
-D7EC ; [.3186.0020.0002.D7EC] # HANGUL JONGSEONG SSANGSIOS-KIYEOK
-D7ED ; [.3187.0020.0002.D7ED] # HANGUL JONGSEONG SSANGSIOS-TIKEUT
-D7EE ; [.3188.0020.0002.D7EE] # HANGUL JONGSEONG SIOS-PANSIOS
-D7EF ; [.3189.0020.0002.D7EF] # HANGUL JONGSEONG SIOS-CIEUC
-D7F0 ; [.318A.0020.0002.D7F0] # HANGUL JONGSEONG SIOS-CHIEUCH
-D7F1 ; [.318B.0020.0002.D7F1] # HANGUL JONGSEONG SIOS-THIEUTH
-D7F2 ; [.318C.0020.0002.D7F2] # HANGUL JONGSEONG SIOS-HIEUH
-D7F3 ; [.318D.0020.0002.D7F3] # HANGUL JONGSEONG PANSIOS-PIEUP
-D7F4 ; [.318E.0020.0002.D7F4] # HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP
-D7F5 ; [.318F.0020.0002.D7F5] # HANGUL JONGSEONG YESIEUNG-MIEUM
-D7F6 ; [.3190.0020.0002.D7F6] # HANGUL JONGSEONG YESIEUNG-HIEUH
-D7F7 ; [.3191.0020.0002.D7F7] # HANGUL JONGSEONG CIEUC-PIEUP
-D7F8 ; [.3192.0020.0002.D7F8] # HANGUL JONGSEONG CIEUC-SSANGPIEUP
-D7F9 ; [.3193.0020.0002.D7F9] # HANGUL JONGSEONG SSANGCIEUC
-D7FA ; [.3194.0020.0002.D7FA] # HANGUL JONGSEONG PHIEUPH-SIOS
-D7FB ; [.3195.0020.0002.D7FB] # HANGUL JONGSEONG PHIEUPH-THIEUTH
-3041 ; [.3196.0020.000D.3041] # HIRAGANA LETTER SMALL A
-3042 ; [.3196.0020.000E.3042] # HIRAGANA LETTER A
-30A1 ; [.3196.0020.000F.30A1] # KATAKANA LETTER SMALL A
-FF67 ; [.3196.0020.0010.FF67] # HALFWIDTH KATAKANA LETTER SMALL A; QQK
-30A2 ; [.3196.0020.0011.30A2] # KATAKANA LETTER A
-FF71 ; [.3196.0020.0012.FF71] # HALFWIDTH KATAKANA LETTER A; QQK
-32D0 ; [.3196.0020.0013.32D0] # CIRCLED KATAKANA A; QQK
-3303 ; [.3196.0020.001C.3303][.1570.0020.001C.3303][.31C0.0020.001F.3303] # SQUARE AARU; QQKN
-3300 ; [.3196.0020.001C.3300][.31B0.0020.001C.3300][.0000.014F.001F.3300][.1570.0020.001F.3300][.31AA.0020.001F.3300] # SQUARE APAATO; QQKN
-3301 ; [.3196.0020.001C.3301][.31C0.0020.001C.3301][.31B2.0020.001F.3301][.3196.0020.001F.3301] # SQUARE ARUHUA; QQKN
-3302 ; [.3196.0020.001C.3302][.31C7.0020.001C.3302][.31B3.0020.001F.3302][.0000.014F.001F.3302][.3196.0020.001F.3302] # SQUARE ANPEA; QQKN
-3043 ; [.3197.0020.000D.3043] # HIRAGANA LETTER SMALL I
-3044 ; [.3197.0020.000E.3044] # HIRAGANA LETTER I
-30A3 ; [.3197.0020.000F.30A3] # KATAKANA LETTER SMALL I
-FF68 ; [.3197.0020.0010.FF68] # HALFWIDTH KATAKANA LETTER SMALL I; QQK
-30A4 ; [.3197.0020.0011.30A4] # KATAKANA LETTER I
-FF72 ; [.3197.0020.0012.FF72] # HALFWIDTH KATAKANA LETTER I; QQK
-32D1 ; [.3197.0020.0013.32D1] # CIRCLED KATAKANA I; QQK
-3304 ; [.3197.0020.001C.3304][.31AC.0020.001C.3304][.31C7.0020.001F.3304][.319E.0020.001F.3304][.0000.014E.001F.3304] # SQUARE ININGU; QQKN
-3305 ; [.3197.0020.001C.3305][.31C7.0020.001C.3305][.31A7.0020.001F.3305] # SQUARE INTI; QQKN
-3045 ; [.3198.0020.000D.3045] # HIRAGANA LETTER SMALL U
-3046 ; [.3198.0020.000E.3046] # HIRAGANA LETTER U
-30A5 ; [.3198.0020.000F.30A5] # KATAKANA LETTER SMALL U
-FF69 ; [.3198.0020.0010.FF69] # HALFWIDTH KATAKANA LETTER SMALL U; QQK
-30A6 ; [.3198.0020.0011.30A6] # KATAKANA LETTER U
-FF73 ; [.3198.0020.0012.FF73] # HALFWIDTH KATAKANA LETTER U; QQK
-32D2 ; [.3198.0020.0013.32D2] # CIRCLED KATAKANA U; QQK
-3094 ; [.3198.0020.000E.3046][.0000.014E.0002.3099] # HIRAGANA LETTER VU; QQCM
-30F4 ; [.3198.0020.0011.30A6][.0000.014E.0002.3099] # KATAKANA LETTER VU; QQCM
-3306 ; [.3198.0020.001C.3306][.319B.0020.001C.3306][.31C7.0020.001F.3306] # SQUARE UON; QQKN
-1B000 ; [.3199.0020.0002.1B000] # KATAKANA LETTER ARCHAIC E
-3047 ; [.319A.0020.000D.3047] # HIRAGANA LETTER SMALL E
-3048 ; [.319A.0020.000E.3048] # HIRAGANA LETTER E
-30A7 ; [.319A.0020.000F.30A7] # KATAKANA LETTER SMALL E
-FF6A ; [.319A.0020.0010.FF6A] # HALFWIDTH KATAKANA LETTER SMALL E; QQK
-30A8 ; [.319A.0020.0011.30A8] # KATAKANA LETTER E
-FF74 ; [.319A.0020.0012.FF74] # HALFWIDTH KATAKANA LETTER E; QQK
-32D3 ; [.319A.0020.0013.32D3] # CIRCLED KATAKANA E; QQK
-3308 ; [.319A.0020.001C.3308][.1570.0020.001C.3308][.319C.0020.001F.3308][.1570.0020.001F.3308] # SQUARE EEKAA; QQKN
-3307 ; [.319A.0020.001C.3307][.31A3.0020.001C.3307][.319E.0020.001F.3307][.1570.0020.001F.3307][.31AA.0020.001F.3307][.0000.014E.001F.3307] # SQUARE ESUKUUDO; QQKN
-3049 ; [.319B.0020.000D.3049] # HIRAGANA LETTER SMALL O
-304A ; [.319B.0020.000E.304A] # HIRAGANA LETTER O
-30A9 ; [.319B.0020.000F.30A9] # KATAKANA LETTER SMALL O
-FF6B ; [.319B.0020.0010.FF6B] # HALFWIDTH KATAKANA LETTER SMALL O; QQK
-30AA ; [.319B.0020.0011.30AA] # KATAKANA LETTER O
-FF75 ; [.319B.0020.0012.FF75] # HALFWIDTH KATAKANA LETTER O; QQK
-32D4 ; [.319B.0020.0013.32D4] # CIRCLED KATAKANA O; QQK
-330A ; [.319B.0020.001C.330A][.1570.0020.001C.330A][.31B7.0020.001F.330A] # SQUARE OOMU; QQKN
-3309 ; [.319B.0020.001C.3309][.31C7.0020.001C.3309][.31A3.0020.001F.3309] # SQUARE ONSU; QQKN
-3095 ; [.319C.0020.000D.3095] # HIRAGANA LETTER SMALL KA
-304B ; [.319C.0020.000E.304B] # HIRAGANA LETTER KA
-30F5 ; [.319C.0020.000F.30F5] # KATAKANA LETTER SMALL KA
-30AB ; [.319C.0020.0011.30AB] # KATAKANA LETTER KA
-FF76 ; [.319C.0020.0012.FF76] # HALFWIDTH KATAKANA LETTER KA; QQK
-32D5 ; [.319C.0020.0013.32D5] # CIRCLED KATAKANA KA; QQK
-304C ; [.319C.0020.000E.304B][.0000.014E.0002.3099] # HIRAGANA LETTER GA; QQCM
-30AC ; [.319C.0020.0011.30AB][.0000.014E.0002.3099] # KATAKANA LETTER GA; QQCM
-330B ; [.319C.0020.001C.330B][.3197.0020.001C.330B][.31BF.0020.001F.330B] # SQUARE KAIRI; QQKN
-330C ; [.319C.0020.001C.330C][.31BE.0020.001C.330C][.31A8.0020.001F.330C][.31AA.0020.001F.330C] # SQUARE KARATTO; QQKN
-330D ; [.319C.0020.001C.330D][.31C2.0020.001C.330D][.31BF.0020.001F.330D][.1570.0020.001F.330D] # SQUARE KARORII; QQKN
-330E ; [.319C.0020.001C.330E][.0000.014E.001C.330E][.31C2.0020.001F.330E][.31C7.0020.001F.330E] # SQUARE GARON; QQKN
-330F ; [.319C.0020.001C.330F][.0000.014E.001C.330F][.31C7.0020.001F.330F][.31B5.0020.001F.330F] # SQUARE GANMA; QQKN
-304D ; [.319D.0020.000E.304D] # HIRAGANA LETTER KI
-30AD ; [.319D.0020.0011.30AD] # KATAKANA LETTER KI
-FF77 ; [.319D.0020.0012.FF77] # HALFWIDTH KATAKANA LETTER KI; QQK
-32D6 ; [.319D.0020.0013.32D6] # CIRCLED KATAKANA KI; QQK
-304E ; [.319D.0020.000E.304D][.0000.014E.0002.3099] # HIRAGANA LETTER GI; QQCM
-30AE ; [.319D.0020.0011.30AD][.0000.014E.0002.3099] # KATAKANA LETTER GI; QQCM
-3310 ; [.319D.0020.001C.3310][.0000.014E.001C.3310][.319C.0020.001F.3310][.0000.014E.001F.3310] # SQUARE GIGA; QQKN
-3311 ; [.319D.0020.001C.3311][.0000.014E.001C.3311][.31AC.0020.001F.3311][.1570.0020.001F.3311] # SQUARE GINII; QQKN
-3312 ; [.319D.0020.001C.3312][.31BB.0020.001C.3312][.31BF.0020.001F.3312][.1570.0020.001F.3312] # SQUARE KYURII; QQKN
-3313 ; [.319D.0020.001C.3313][.0000.014E.001C.3313][.31C0.0020.001F.3313][.31A6.0020.001F.3313][.0000.014E.001F.3313][.1570.0020.001F.3313] # SQUARE GIRUDAA; QQKN
-3314 ; [.319D.0020.001C.3314][.31C2.0020.001C.3314] # SQUARE KIRO; QQKN
-3315 ; [.319D.0020.001C.3315][.31C2.0020.001C.3315][.319E.0020.001F.3315][.0000.014E.001F.3315][.31BE.0020.001F.3315][.31B7.0020.001F.3315] # SQUARE KIROGURAMU; QQKN
-3316 ; [.319D.0020.001C.3316][.31C2.0020.001C.3316][.31B8.0020.001F.3316][.1570.0020.001F.3316][.31AA.0020.001F.3316][.31C0.0020.001F.3316] # SQUARE KIROMEETORU; QQKN
-3317 ; [.319D.0020.001C.3317][.31C2.0020.001C.3317][.31C3.0020.001F.3317][.31A8.0020.001F.3317][.31AA.0020.001F.3317] # SQUARE KIROWATTO; QQKN
-304F ; [.319E.0020.000E.304F] # HIRAGANA LETTER KU
-31F0 ; [.319E.0020.000F.31F0] # KATAKANA LETTER SMALL KU
-30AF ; [.319E.0020.0011.30AF] # KATAKANA LETTER KU
-FF78 ; [.319E.0020.0012.FF78] # HALFWIDTH KATAKANA LETTER KU; QQK
-32D7 ; [.319E.0020.0013.32D7] # CIRCLED KATAKANA KU; QQK
-3050 ; [.319E.0020.000E.304F][.0000.014E.0002.3099] # HIRAGANA LETTER GU; QQCM
-30B0 ; [.319E.0020.0011.30AF][.0000.014E.0002.3099] # KATAKANA LETTER GU; QQCM
-3318 ; [.319E.0020.001C.3318][.0000.014E.001C.3318][.31BE.0020.001F.3318][.31B7.0020.001F.3318] # SQUARE GURAMU; QQKN
-3319 ; [.319E.0020.001C.3319][.0000.014E.001C.3319][.31BE.0020.001F.3319][.31B7.0020.001F.3319][.31AA.0020.001F.3319][.31C7.0020.001F.3319] # SQUARE GURAMUTON; QQKN
-331A ; [.319E.0020.001C.331A][.31C0.0020.001C.331A][.31A4.0020.001F.331A][.0000.014E.001F.331A][.3197.0020.001F.331A][.31C2.0020.001F.331A] # SQUARE KURUZEIRO; QQKN
-331B ; [.319E.0020.001C.331B][.31C2.0020.001C.331B][.1570.0020.001F.331B][.31AE.0020.001F.331B] # SQUARE KUROONE; QQKN
-3096 ; [.319F.0020.000D.3096] # HIRAGANA LETTER SMALL KE
-3051 ; [.319F.0020.000E.3051] # HIRAGANA LETTER KE
-30F6 ; [.319F.0020.000F.30F6] # KATAKANA LETTER SMALL KE
-30B1 ; [.319F.0020.0011.30B1] # KATAKANA LETTER KE
-FF79 ; [.319F.0020.0012.FF79] # HALFWIDTH KATAKANA LETTER KE; QQK
-32D8 ; [.319F.0020.0013.32D8] # CIRCLED KATAKANA KE; QQK
-3052 ; [.319F.0020.000E.3051][.0000.014E.0002.3099] # HIRAGANA LETTER GE; QQCM
-30B2 ; [.319F.0020.0011.30B1][.0000.014E.0002.3099] # KATAKANA LETTER GE; QQCM
-331C ; [.319F.0020.001C.331C][.1570.0020.001C.331C][.31A3.0020.001F.331C] # SQUARE KEESU; QQKN
-3053 ; [.31A0.0020.000E.3053] # HIRAGANA LETTER KO
-30B3 ; [.31A0.0020.0011.30B3] # KATAKANA LETTER KO
-FF7A ; [.31A0.0020.0012.FF7A] # HALFWIDTH KATAKANA LETTER KO; QQK
-32D9 ; [.31A0.0020.0013.32D9] # CIRCLED KATAKANA KO; QQK
-3054 ; [.31A0.0020.000E.3053][.0000.014E.0002.3099] # HIRAGANA LETTER GO; QQCM
-30B4 ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099] # KATAKANA LETTER GO; QQCM
-331E ; [.31A0.0020.001C.331E][.1570.0020.001C.331E][.31B4.0020.001F.331E][.0000.014F.001F.331E] # SQUARE KOOPO; QQKN
-1F201 ; [.31A0.0020.001C.1F201][.31A0.0020.001C.1F201] # SQUARED KATAKANA KOKO; QQKN
-30FF ; [.31A0.0020.0016.30FF][.31AA.0020.0016.30FF] # KATAKANA DIGRAPH KOTO; QQKN
-331D ; [.31A0.0020.001C.331D][.31C0.0020.001C.331D][.31AB.0020.001F.331D] # SQUARE KORUNA; QQKN
-3055 ; [.31A1.0020.000E.3055] # HIRAGANA LETTER SA
-30B5 ; [.31A1.0020.0011.30B5] # KATAKANA LETTER SA
-FF7B ; [.31A1.0020.0012.FF7B] # HALFWIDTH KATAKANA LETTER SA; QQK
-32DA ; [.31A1.0020.0013.32DA] # CIRCLED KATAKANA SA; QQK
-1F202 ; [.31A1.0020.001C.1F202] # SQUARED KATAKANA SA; QQK
-3056 ; [.31A1.0020.000E.3055][.0000.014E.0002.3099] # HIRAGANA LETTER ZA; QQCM
-30B6 ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099] # KATAKANA LETTER ZA; QQCM
-331F ; [.31A1.0020.001C.331F][.3197.0020.001C.331F][.319E.0020.001F.331F][.31C0.0020.001F.331F] # SQUARE SAIKURU; QQKN
-3320 ; [.31A1.0020.001C.3320][.31C7.0020.001C.3320][.31A7.0020.001F.3320][.1570.0020.001F.3320][.31B7.0020.001F.3320] # SQUARE SANTIIMU; QQKN
-3057 ; [.31A2.0020.000E.3057] # HIRAGANA LETTER SI
-31F1 ; [.31A2.0020.000F.31F1] # KATAKANA LETTER SMALL SI
-30B7 ; [.31A2.0020.0011.30B7] # KATAKANA LETTER SI
-FF7C ; [.31A2.0020.0012.FF7C] # HALFWIDTH KATAKANA LETTER SI; QQK
-32DB ; [.31A2.0020.0013.32DB] # CIRCLED KATAKANA SI; QQK
-3058 ; [.31A2.0020.000E.3057][.0000.014E.0002.3099] # HIRAGANA LETTER ZI; QQCM
-30B8 ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099] # KATAKANA LETTER ZI; QQCM
-3006 ; [.31A2.0020.0004.3006][.31B8.0020.0004.3006] # IDEOGRAPHIC CLOSING MARK; QQKN
-3321 ; [.31A2.0020.001C.3321][.31BF.0020.001C.3321][.31C7.0020.001F.3321][.319E.0020.001F.3321][.0000.014E.001F.3321] # SQUARE SIRINGU; QQKN
-3059 ; [.31A3.0020.000E.3059] # HIRAGANA LETTER SU
-31F2 ; [.31A3.0020.000F.31F2] # KATAKANA LETTER SMALL SU
-30B9 ; [.31A3.0020.0011.30B9] # KATAKANA LETTER SU
-FF7D ; [.31A3.0020.0012.FF7D] # HALFWIDTH KATAKANA LETTER SU; QQK
-32DC ; [.31A3.0020.0013.32DC] # CIRCLED KATAKANA SU; QQK
-305A ; [.31A3.0020.000E.3059][.0000.014E.0002.3099] # HIRAGANA LETTER ZU; QQCM
-30BA ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099] # KATAKANA LETTER ZU; QQCM
-305B ; [.31A4.0020.000E.305B] # HIRAGANA LETTER SE
-30BB ; [.31A4.0020.0011.30BB] # KATAKANA LETTER SE
-FF7E ; [.31A4.0020.0012.FF7E] # HALFWIDTH KATAKANA LETTER SE; QQK
-32DD ; [.31A4.0020.0013.32DD] # CIRCLED KATAKANA SE; QQK
-305C ; [.31A4.0020.000E.305B][.0000.014E.0002.3099] # HIRAGANA LETTER ZE; QQCM
-30BC ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099] # KATAKANA LETTER ZE; QQCM
-3322 ; [.31A4.0020.001C.3322][.31C7.0020.001C.3322][.31A7.0020.001F.3322] # SQUARE SENTI; QQKN
-3323 ; [.31A4.0020.001C.3323][.31C7.0020.001C.3323][.31AA.0020.001F.3323] # SQUARE SENTO; QQKN
-305D ; [.31A5.0020.000E.305D] # HIRAGANA LETTER SO
-30BD ; [.31A5.0020.0011.30BD] # KATAKANA LETTER SO
-FF7F ; [.31A5.0020.0012.FF7F] # HALFWIDTH KATAKANA LETTER SO; QQK
-32DE ; [.31A5.0020.0013.32DE] # CIRCLED KATAKANA SO; QQK
-305E ; [.31A5.0020.000E.305D][.0000.014E.0002.3099] # HIRAGANA LETTER ZO; QQCM
-30BE ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099] # KATAKANA LETTER ZO; QQCM
-305F ; [.31A6.0020.000E.305F] # HIRAGANA LETTER TA
-30BF ; [.31A6.0020.0011.30BF] # KATAKANA LETTER TA
-FF80 ; [.31A6.0020.0012.FF80] # HALFWIDTH KATAKANA LETTER TA; QQK
-32DF ; [.31A6.0020.0013.32DF] # CIRCLED KATAKANA TA; QQK
-3060 ; [.31A6.0020.000E.305F][.0000.014E.0002.3099] # HIRAGANA LETTER DA; QQCM
-30C0 ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099] # KATAKANA LETTER DA; QQCM
-3324 ; [.31A6.0020.001C.3324][.0000.014E.001C.3324][.1570.0020.001F.3324][.31A3.0020.001F.3324] # SQUARE DAASU; QQKN
-3061 ; [.31A7.0020.000E.3061] # HIRAGANA LETTER TI
-30C1 ; [.31A7.0020.0011.30C1] # KATAKANA LETTER TI
-FF81 ; [.31A7.0020.0012.FF81] # HALFWIDTH KATAKANA LETTER TI; QQK
-32E0 ; [.31A7.0020.0013.32E0] # CIRCLED KATAKANA TI; QQK
-3062 ; [.31A7.0020.000E.3061][.0000.014E.0002.3099] # HIRAGANA LETTER DI; QQCM
-30C2 ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099] # KATAKANA LETTER DI; QQCM
-3063 ; [.31A8.0020.000D.3063] # HIRAGANA LETTER SMALL TU
-3064 ; [.31A8.0020.000E.3064] # HIRAGANA LETTER TU
-30C3 ; [.31A8.0020.000F.30C3] # KATAKANA LETTER SMALL TU
-FF6F ; [.31A8.0020.0010.FF6F] # HALFWIDTH KATAKANA LETTER SMALL TU; QQK
-30C4 ; [.31A8.0020.0011.30C4] # KATAKANA LETTER TU
-FF82 ; [.31A8.0020.0012.FF82] # HALFWIDTH KATAKANA LETTER TU; QQK
-32E1 ; [.31A8.0020.0013.32E1] # CIRCLED KATAKANA TU; QQK
-3065 ; [.31A8.0020.000E.3064][.0000.014E.0002.3099] # HIRAGANA LETTER DU; QQCM
-30C5 ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099] # KATAKANA LETTER DU; QQCM
-3066 ; [.31A9.0020.000E.3066] # HIRAGANA LETTER TE
-30C6 ; [.31A9.0020.0011.30C6] # KATAKANA LETTER TE
-FF83 ; [.31A9.0020.0012.FF83] # HALFWIDTH KATAKANA LETTER TE; QQK
-32E2 ; [.31A9.0020.0013.32E2] # CIRCLED KATAKANA TE; QQK
-3067 ; [.31A9.0020.000E.3066][.0000.014E.0002.3099] # HIRAGANA LETTER DE; QQCM
-30C7 ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099] # KATAKANA LETTER DE; QQCM
-1F213 ; [.31A9.0020.001C.1F213][.0000.014E.001C.1F213] # SQUARED KATAKANA DE; QQKN
-3325 ; [.31A9.0020.001C.3325][.0000.014E.001C.3325][.31A2.0020.001F.3325] # SQUARE DESI; QQKN
-3068 ; [.31AA.0020.000E.3068] # HIRAGANA LETTER TO
-31F3 ; [.31AA.0020.000F.31F3] # KATAKANA LETTER SMALL TO
-30C8 ; [.31AA.0020.0011.30C8] # KATAKANA LETTER TO
-FF84 ; [.31AA.0020.0012.FF84] # HALFWIDTH KATAKANA LETTER TO; QQK
-32E3 ; [.31AA.0020.0013.32E3] # CIRCLED KATAKANA TO; QQK
-3069 ; [.31AA.0020.000E.3068][.0000.014E.0002.3099] # HIRAGANA LETTER DO; QQCM
-30C9 ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099] # KATAKANA LETTER DO; QQCM
-3326 ; [.31AA.0020.001C.3326][.0000.014E.001C.3326][.31C0.0020.001F.3326] # SQUARE DORU; QQKN
-3327 ; [.31AA.0020.001C.3327][.31C7.0020.001C.3327] # SQUARE TON; QQKN
-306A ; [.31AB.0020.000E.306A] # HIRAGANA LETTER NA
-30CA ; [.31AB.0020.0011.30CA] # KATAKANA LETTER NA
-FF85 ; [.31AB.0020.0012.FF85] # HALFWIDTH KATAKANA LETTER NA; QQK
-32E4 ; [.31AB.0020.0013.32E4] # CIRCLED KATAKANA NA; QQK
-3328 ; [.31AB.0020.001C.3328][.31AF.0020.001C.3328] # SQUARE NANO; QQKN
-306B ; [.31AC.0020.000E.306B] # HIRAGANA LETTER NI
-30CB ; [.31AC.0020.0011.30CB] # KATAKANA LETTER NI
-FF86 ; [.31AC.0020.0012.FF86] # HALFWIDTH KATAKANA LETTER NI; QQK
-32E5 ; [.31AC.0020.0013.32E5] # CIRCLED KATAKANA NI; QQK
-306C ; [.31AD.0020.000E.306C] # HIRAGANA LETTER NU
-31F4 ; [.31AD.0020.000F.31F4] # KATAKANA LETTER SMALL NU
-30CC ; [.31AD.0020.0011.30CC] # KATAKANA LETTER NU
-FF87 ; [.31AD.0020.0012.FF87] # HALFWIDTH KATAKANA LETTER NU; QQK
-32E6 ; [.31AD.0020.0013.32E6] # CIRCLED KATAKANA NU; QQK
-306D ; [.31AE.0020.000E.306D] # HIRAGANA LETTER NE
-30CD ; [.31AE.0020.0011.30CD] # KATAKANA LETTER NE
-FF88 ; [.31AE.0020.0012.FF88] # HALFWIDTH KATAKANA LETTER NE; QQK
-32E7 ; [.31AE.0020.0013.32E7] # CIRCLED KATAKANA NE; QQK
-306E ; [.31AF.0020.000E.306E] # HIRAGANA LETTER NO
-30CE ; [.31AF.0020.0011.30CE] # KATAKANA LETTER NO
-FF89 ; [.31AF.0020.0012.FF89] # HALFWIDTH KATAKANA LETTER NO; QQK
-32E8 ; [.31AF.0020.0013.32E8] # CIRCLED KATAKANA NO; QQK
-3329 ; [.31AF.0020.001C.3329][.31A8.0020.001C.3329][.31AA.0020.001F.3329] # SQUARE NOTTO; QQKN
-306F ; [.31B0.0020.000E.306F] # HIRAGANA LETTER HA
-31F5 ; [.31B0.0020.000F.31F5] # KATAKANA LETTER SMALL HA
-30CF ; [.31B0.0020.0011.30CF] # KATAKANA LETTER HA
-FF8A ; [.31B0.0020.0012.FF8A] # HALFWIDTH KATAKANA LETTER HA; QQK
-32E9 ; [.31B0.0020.0013.32E9] # CIRCLED KATAKANA HA; QQK
-3070 ; [.31B0.0020.000E.306F][.0000.014E.0002.3099] # HIRAGANA LETTER BA; QQCM
-30D0 ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099] # KATAKANA LETTER BA; QQCM
-3071 ; [.31B0.0020.000E.306F][.0000.014F.0002.309A] # HIRAGANA LETTER PA; QQCM
-30D1 ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A] # KATAKANA LETTER PA; QQCM
-332B ; [.31B0.0020.001C.332B][.0000.014F.001C.332B][.1570.0020.001F.332B][.31A4.0020.001F.332B][.31C7.0020.001F.332B][.31AA.0020.001F.332B] # SQUARE PAASENTO; QQKN
-332C ; [.31B0.0020.001C.332C][.0000.014F.001C.332C][.1570.0020.001F.332C][.31A8.0020.001F.332C] # SQUARE PAATU; QQKN
-332D ; [.31B0.0020.001C.332D][.0000.014E.001C.332D][.1570.0020.001F.332D][.31C1.0020.001F.332D][.31C0.0020.001F.332D] # SQUARE BAARERU; QQKN
-332A ; [.31B0.0020.001C.332A][.3197.0020.001C.332A][.31A8.0020.001F.332A] # SQUARE HAITU; QQKN
-3072 ; [.31B1.0020.000E.3072] # HIRAGANA LETTER HI
-31F6 ; [.31B1.0020.000F.31F6] # KATAKANA LETTER SMALL HI
-30D2 ; [.31B1.0020.0011.30D2] # KATAKANA LETTER HI
-FF8B ; [.31B1.0020.0012.FF8B] # HALFWIDTH KATAKANA LETTER HI; QQK
-32EA ; [.31B1.0020.0013.32EA] # CIRCLED KATAKANA HI; QQK
-3073 ; [.31B1.0020.000E.3072][.0000.014E.0002.3099] # HIRAGANA LETTER BI; QQCM
-30D3 ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099] # KATAKANA LETTER BI; QQCM
-3074 ; [.31B1.0020.000E.3072][.0000.014F.0002.309A] # HIRAGANA LETTER PI; QQCM
-30D4 ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A] # KATAKANA LETTER PI; QQCM
-332E ; [.31B1.0020.001C.332E][.0000.014F.001C.332E][.3196.0020.001F.332E][.31A3.0020.001F.332E][.31AA.0020.001F.332E][.31C0.0020.001F.332E] # SQUARE PIASUTORU; QQKN
-332F ; [.31B1.0020.001C.332F][.0000.014F.001C.332F][.319E.0020.001F.332F][.31C0.0020.001F.332F] # SQUARE PIKURU; QQKN
-3330 ; [.31B1.0020.001C.3330][.0000.014F.001C.3330][.31A0.0020.001F.3330] # SQUARE PIKO; QQKN
-3331 ; [.31B1.0020.001C.3331][.0000.014E.001C.3331][.31C0.0020.001F.3331] # SQUARE BIRU; QQKN
-3075 ; [.31B2.0020.000E.3075] # HIRAGANA LETTER HU
-31F7 ; [.31B2.0020.000F.31F7] # KATAKANA LETTER SMALL HU
-30D5 ; [.31B2.0020.0011.30D5] # KATAKANA LETTER HU
-FF8C ; [.31B2.0020.0012.FF8C] # HALFWIDTH KATAKANA LETTER HU; QQK
-32EB ; [.31B2.0020.0013.32EB] # CIRCLED KATAKANA HU; QQK
-3076 ; [.31B2.0020.000E.3075][.0000.014E.0002.3099] # HIRAGANA LETTER BU; QQCM
-30D6 ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099] # KATAKANA LETTER BU; QQCM
-3077 ; [.31B2.0020.000E.3075][.0000.014F.0002.309A] # HIRAGANA LETTER PU; QQCM
-30D7 ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A] # KATAKANA LETTER PU; QQCM
-3332 ; [.31B2.0020.001C.3332][.3196.0020.001C.3332][.31BE.0020.001F.3332][.31A8.0020.001F.3332][.31AA.0020.001F.3332][.0000.014E.001F.3332] # SQUARE HUARADDO; QQKN
-3333 ; [.31B2.0020.001C.3333][.3197.0020.001C.3333][.1570.0020.001F.3333][.31AA.0020.001F.3333] # SQUARE HUIITO; QQKN
-3334 ; [.31B2.0020.001C.3334][.0000.014E.001C.3334][.31A8.0020.001F.3334][.31A2.0020.001F.3334][.319A.0020.001F.3334][.31C0.0020.001F.3334] # SQUARE BUSSYERU; QQKN
-3335 ; [.31B2.0020.001C.3335][.31BE.0020.001C.3335][.31C7.0020.001F.3335] # SQUARE HURAN; QQKN
-3078 ; [.31B3.0020.000E.3078] # HIRAGANA LETTER HE
-31F8 ; [.31B3.0020.000F.31F8] # KATAKANA LETTER SMALL HE
-30D8 ; [.31B3.0020.0011.30D8] # KATAKANA LETTER HE
-FF8D ; [.31B3.0020.0012.FF8D] # HALFWIDTH KATAKANA LETTER HE; QQK
-32EC ; [.31B3.0020.0013.32EC] # CIRCLED KATAKANA HE; QQK
-3079 ; [.31B3.0020.000E.3078][.0000.014E.0002.3099] # HIRAGANA LETTER BE; QQCM
-30D9 ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099] # KATAKANA LETTER BE; QQCM
-307A ; [.31B3.0020.000E.3078][.0000.014F.0002.309A] # HIRAGANA LETTER PE; QQCM
-30DA ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A] # KATAKANA LETTER PE; QQCM
-333B ; [.31B3.0020.001C.333B][.0000.014F.001C.333B][.1570.0020.001F.333B][.31A2.0020.001F.333B][.0000.014E.001F.333B] # SQUARE PEEZI; QQKN
-333C ; [.31B3.0020.001C.333C][.0000.014E.001C.333C][.1570.0020.001F.333C][.31A6.0020.001F.333C] # SQUARE BEETA; QQKN
-3336 ; [.31B3.0020.001C.3336][.319E.0020.001C.3336][.31A6.0020.001F.3336][.1570.0020.001F.3336][.31C0.0020.001F.3336] # SQUARE HEKUTAARU; QQKN
-3337 ; [.31B3.0020.001C.3337][.0000.014F.001C.3337][.31A5.0020.001F.3337] # SQUARE PESO; QQKN
-3338 ; [.31B3.0020.001C.3338][.0000.014F.001C.3338][.31AC.0020.001F.3338][.31B1.0020.001F.3338] # SQUARE PENIHI; QQKN
-3339 ; [.31B3.0020.001C.3339][.31C0.0020.001C.3339][.31A8.0020.001F.3339] # SQUARE HERUTU; QQKN
-333A ; [.31B3.0020.001C.333A][.0000.014F.001C.333A][.31C7.0020.001F.333A][.31A3.0020.001F.333A] # SQUARE PENSU; QQKN
-307B ; [.31B4.0020.000E.307B] # HIRAGANA LETTER HO
-31F9 ; [.31B4.0020.000F.31F9] # KATAKANA LETTER SMALL HO
-30DB ; [.31B4.0020.0011.30DB] # KATAKANA LETTER HO
-FF8E ; [.31B4.0020.0012.FF8E] # HALFWIDTH KATAKANA LETTER HO; QQK
-32ED ; [.31B4.0020.0013.32ED] # CIRCLED KATAKANA HO; QQK
-307C ; [.31B4.0020.000E.307B][.0000.014E.0002.3099] # HIRAGANA LETTER BO; QQCM
-30DC ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099] # KATAKANA LETTER BO; QQCM
-307D ; [.31B4.0020.000E.307B][.0000.014F.0002.309A] # HIRAGANA LETTER PO; QQCM
-30DD ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A] # KATAKANA LETTER PO; QQCM
-3341 ; [.31B4.0020.001C.3341][.1570.0020.001C.3341][.31C0.0020.001F.3341] # SQUARE HOORU; QQKN
-3342 ; [.31B4.0020.001C.3342][.1570.0020.001C.3342][.31C7.0020.001F.3342] # SQUARE HOON; QQKN
-333D ; [.31B4.0020.001C.333D][.0000.014F.001C.333D][.3197.0020.001F.333D][.31C7.0020.001F.333D][.31AA.0020.001F.333D] # SQUARE POINTO; QQKN
-1F200 ; [.31B4.0020.001C.1F200][.319C.0020.001C.1F200] # SQUARE HIRAGANA HOKA; QQKN
-333E ; [.31B4.0020.001C.333E][.0000.014E.001C.333E][.31C0.0020.001F.333E][.31AA.0020.001F.333E] # SQUARE BORUTO; QQKN
-333F ; [.31B4.0020.001C.333F][.31C7.0020.001C.333F] # SQUARE HON; QQKN
-3340 ; [.31B4.0020.001C.3340][.0000.014F.001C.3340][.31C7.0020.001F.3340][.31AA.0020.001F.3340][.0000.014E.001F.3340] # SQUARE PONDO; QQKN
-307E ; [.31B5.0020.000E.307E] # HIRAGANA LETTER MA
-30DE ; [.31B5.0020.0011.30DE] # KATAKANA LETTER MA
-FF8F ; [.31B5.0020.0012.FF8F] # HALFWIDTH KATAKANA LETTER MA; QQK
-32EE ; [.31B5.0020.0013.32EE] # CIRCLED KATAKANA MA; QQK
-3343 ; [.31B5.0020.001C.3343][.3197.0020.001C.3343][.319E.0020.001F.3343][.31C2.0020.001F.3343] # SQUARE MAIKURO; QQKN
-3344 ; [.31B5.0020.001C.3344][.3197.0020.001C.3344][.31C0.0020.001F.3344] # SQUARE MAIRU; QQKN
-303C ; [.31B5.0020.0004.303C][.31A3.0020.0004.303C] # MASU MARK; QQKN
-3345 ; [.31B5.0020.001C.3345][.31A8.0020.001C.3345][.31B0.0020.001F.3345] # SQUARE MAHHA; QQKN
-3346 ; [.31B5.0020.001C.3346][.31C0.0020.001C.3346][.319E.0020.001F.3346] # SQUARE MARUKU; QQKN
-3347 ; [.31B5.0020.001C.3347][.31C7.0020.001C.3347][.31A2.0020.001F.3347][.31BD.0020.001F.3347][.31C7.0020.001F.3347] # SQUARE MANSYON; QQKN
-307F ; [.31B6.0020.000E.307F] # HIRAGANA LETTER MI
-30DF ; [.31B6.0020.0011.30DF] # KATAKANA LETTER MI
-FF90 ; [.31B6.0020.0012.FF90] # HALFWIDTH KATAKANA LETTER MI; QQK
-32EF ; [.31B6.0020.0013.32EF] # CIRCLED KATAKANA MI; QQK
-3348 ; [.31B6.0020.001C.3348][.319E.0020.001C.3348][.31C2.0020.001F.3348][.31C7.0020.001F.3348] # SQUARE MIKURON; QQKN
-3349 ; [.31B6.0020.001C.3349][.31BF.0020.001C.3349] # SQUARE MIRI; QQKN
-334A ; [.31B6.0020.001C.334A][.31BF.0020.001C.334A][.31B0.0020.001F.334A][.0000.014E.001F.334A][.1570.0020.001F.334A][.31C0.0020.001F.334A] # SQUARE MIRIBAARU; QQKN
-3080 ; [.31B7.0020.000E.3080] # HIRAGANA LETTER MU
-31FA ; [.31B7.0020.000F.31FA] # KATAKANA LETTER SMALL MU
-30E0 ; [.31B7.0020.0011.30E0] # KATAKANA LETTER MU
-FF91 ; [.31B7.0020.0012.FF91] # HALFWIDTH KATAKANA LETTER MU; QQK
-32F0 ; [.31B7.0020.0013.32F0] # CIRCLED KATAKANA MU; QQK
-3081 ; [.31B8.0020.000E.3081] # HIRAGANA LETTER ME
-30E1 ; [.31B8.0020.0011.30E1] # KATAKANA LETTER ME
-FF92 ; [.31B8.0020.0012.FF92] # HALFWIDTH KATAKANA LETTER ME; QQK
-32F1 ; [.31B8.0020.0013.32F1] # CIRCLED KATAKANA ME; QQK
-334D ; [.31B8.0020.001C.334D][.1570.0020.001C.334D][.31AA.0020.001F.334D][.31C0.0020.001F.334D] # SQUARE MEETORU; QQKN
-334B ; [.31B8.0020.001C.334B][.319C.0020.001C.334B][.0000.014E.001F.334B] # SQUARE MEGA; QQKN
-334C ; [.31B8.0020.001C.334C][.319C.0020.001C.334C][.0000.014E.001F.334C][.31AA.0020.001F.334C][.31C7.0020.001F.334C] # SQUARE MEGATON; QQKN
-3082 ; [.31B9.0020.000E.3082] # HIRAGANA LETTER MO
-30E2 ; [.31B9.0020.0011.30E2] # KATAKANA LETTER MO
-FF93 ; [.31B9.0020.0012.FF93] # HALFWIDTH KATAKANA LETTER MO; QQK
-32F2 ; [.31B9.0020.0013.32F2] # CIRCLED KATAKANA MO; QQK
-3083 ; [.31BA.0020.000D.3083] # HIRAGANA LETTER SMALL YA
-3084 ; [.31BA.0020.000E.3084] # HIRAGANA LETTER YA
-30E3 ; [.31BA.0020.000F.30E3] # KATAKANA LETTER SMALL YA
-FF6C ; [.31BA.0020.0010.FF6C] # HALFWIDTH KATAKANA LETTER SMALL YA; QQK
-30E4 ; [.31BA.0020.0011.30E4] # KATAKANA LETTER YA
-FF94 ; [.31BA.0020.0012.FF94] # HALFWIDTH KATAKANA LETTER YA; QQK
-32F3 ; [.31BA.0020.0013.32F3] # CIRCLED KATAKANA YA; QQK
-334E ; [.31BA.0020.001C.334E][.1570.0020.001C.334E][.31AA.0020.001F.334E][.0000.014E.001F.334E] # SQUARE YAADO; QQKN
-334F ; [.31BA.0020.001C.334F][.1570.0020.001C.334F][.31C0.0020.001F.334F] # SQUARE YAARU; QQKN
-3085 ; [.31BB.0020.000D.3085] # HIRAGANA LETTER SMALL YU
-3086 ; [.31BB.0020.000E.3086] # HIRAGANA LETTER YU
-30E5 ; [.31BB.0020.000F.30E5] # KATAKANA LETTER SMALL YU
-FF6D ; [.31BB.0020.0010.FF6D] # HALFWIDTH KATAKANA LETTER SMALL YU; QQK
-30E6 ; [.31BB.0020.0011.30E6] # KATAKANA LETTER YU
-FF95 ; [.31BB.0020.0012.FF95] # HALFWIDTH KATAKANA LETTER YU; QQK
-32F4 ; [.31BB.0020.0013.32F4] # CIRCLED KATAKANA YU; QQK
-3350 ; [.31BB.0020.001C.3350][.3196.0020.001C.3350][.31C7.0020.001F.3350] # SQUARE YUAN; QQKN
-1B001 ; [.31BC.0020.0002.1B001] # HIRAGANA LETTER ARCHAIC YE
-3087 ; [.31BD.0020.000D.3087] # HIRAGANA LETTER SMALL YO
-3088 ; [.31BD.0020.000E.3088] # HIRAGANA LETTER YO
-30E7 ; [.31BD.0020.000F.30E7] # KATAKANA LETTER SMALL YO
-FF6E ; [.31BD.0020.0010.FF6E] # HALFWIDTH KATAKANA LETTER SMALL YO; QQK
-30E8 ; [.31BD.0020.0011.30E8] # KATAKANA LETTER YO
-FF96 ; [.31BD.0020.0012.FF96] # HALFWIDTH KATAKANA LETTER YO; QQK
-32F5 ; [.31BD.0020.0013.32F5] # CIRCLED KATAKANA YO; QQK
-309F ; [.31BD.0020.0016.309F][.31BF.0020.0016.309F] # HIRAGANA DIGRAPH YORI; QQKN
-3089 ; [.31BE.0020.000E.3089] # HIRAGANA LETTER RA
-31FB ; [.31BE.0020.000F.31FB] # KATAKANA LETTER SMALL RA
-30E9 ; [.31BE.0020.0011.30E9] # KATAKANA LETTER RA
-FF97 ; [.31BE.0020.0012.FF97] # HALFWIDTH KATAKANA LETTER RA; QQK
-32F6 ; [.31BE.0020.0013.32F6] # CIRCLED KATAKANA RA; QQK
-308A ; [.31BF.0020.000E.308A] # HIRAGANA LETTER RI
-31FC ; [.31BF.0020.000F.31FC] # KATAKANA LETTER SMALL RI
-30EA ; [.31BF.0020.0011.30EA] # KATAKANA LETTER RI
-FF98 ; [.31BF.0020.0012.FF98] # HALFWIDTH KATAKANA LETTER RI; QQK
-32F7 ; [.31BF.0020.0013.32F7] # CIRCLED KATAKANA RI; QQK
-3351 ; [.31BF.0020.001C.3351][.31A8.0020.001C.3351][.31AA.0020.001F.3351][.31C0.0020.001F.3351] # SQUARE RITTORU; QQKN
-3352 ; [.31BF.0020.001C.3352][.31BE.0020.001C.3352] # SQUARE RIRA; QQKN
-308B ; [.31C0.0020.000E.308B] # HIRAGANA LETTER RU
-31FD ; [.31C0.0020.000F.31FD] # KATAKANA LETTER SMALL RU
-30EB ; [.31C0.0020.0011.30EB] # KATAKANA LETTER RU
-FF99 ; [.31C0.0020.0012.FF99] # HALFWIDTH KATAKANA LETTER RU; QQK
-32F8 ; [.31C0.0020.0013.32F8] # CIRCLED KATAKANA RU; QQK
-3354 ; [.31C0.0020.001C.3354][.1570.0020.001C.3354][.31B2.0020.001F.3354][.0000.014E.001F.3354][.31C0.0020.001F.3354] # SQUARE RUUBURU; QQKN
-3353 ; [.31C0.0020.001C.3353][.31B1.0020.001C.3353][.0000.014F.001F.3353][.1570.0020.001F.3353] # SQUARE RUPII; QQKN
-308C ; [.31C1.0020.000E.308C] # HIRAGANA LETTER RE
-31FE ; [.31C1.0020.000F.31FE] # KATAKANA LETTER SMALL RE
-30EC ; [.31C1.0020.0011.30EC] # KATAKANA LETTER RE
-FF9A ; [.31C1.0020.0012.FF9A] # HALFWIDTH KATAKANA LETTER RE; QQK
-32F9 ; [.31C1.0020.0013.32F9] # CIRCLED KATAKANA RE; QQK
-3355 ; [.31C1.0020.001C.3355][.31B7.0020.001C.3355] # SQUARE REMU; QQKN
-3356 ; [.31C1.0020.001C.3356][.31C7.0020.001C.3356][.31AA.0020.001F.3356][.319F.0020.001F.3356][.0000.014E.001F.3356][.31C7.0020.001F.3356] # SQUARE RENTOGEN; QQKN
-308D ; [.31C2.0020.000E.308D] # HIRAGANA LETTER RO
-31FF ; [.31C2.0020.000F.31FF] # KATAKANA LETTER SMALL RO
-30ED ; [.31C2.0020.0011.30ED] # KATAKANA LETTER RO
-FF9B ; [.31C2.0020.0012.FF9B] # HALFWIDTH KATAKANA LETTER RO; QQK
-32FA ; [.31C2.0020.0013.32FA] # CIRCLED KATAKANA RO; QQK
-308E ; [.31C3.0020.000D.308E] # HIRAGANA LETTER SMALL WA
-308F ; [.31C3.0020.000E.308F] # HIRAGANA LETTER WA
-30EE ; [.31C3.0020.000F.30EE] # KATAKANA LETTER SMALL WA
-30EF ; [.31C3.0020.0011.30EF] # KATAKANA LETTER WA
-FF9C ; [.31C3.0020.0012.FF9C] # HALFWIDTH KATAKANA LETTER WA; QQK
-32FB ; [.31C3.0020.0013.32FB] # CIRCLED KATAKANA WA; QQK
-30F7 ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099] # KATAKANA LETTER VA; QQCM
-3357 ; [.31C3.0020.001C.3357][.31A8.0020.001C.3357][.31AA.0020.001F.3357] # SQUARE WATTO; QQKN
-3090 ; [.31C4.0020.000E.3090] # HIRAGANA LETTER WI
-30F0 ; [.31C4.0020.0011.30F0] # KATAKANA LETTER WI
-32FC ; [.31C4.0020.0013.32FC] # CIRCLED KATAKANA WI; QQK
-30F8 ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099] # KATAKANA LETTER VI; QQCM
-3091 ; [.31C5.0020.000E.3091] # HIRAGANA LETTER WE
-30F1 ; [.31C5.0020.0011.30F1] # KATAKANA LETTER WE
-32FD ; [.31C5.0020.0013.32FD] # CIRCLED KATAKANA WE; QQK
-30F9 ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099] # KATAKANA LETTER VE; QQCM
-3092 ; [.31C6.0020.000E.3092] # HIRAGANA LETTER WO
-30F2 ; [.31C6.0020.0011.30F2] # KATAKANA LETTER WO
-FF66 ; [.31C6.0020.0012.FF66] # HALFWIDTH KATAKANA LETTER WO; QQK
-32FE ; [.31C6.0020.0013.32FE] # CIRCLED KATAKANA WO; QQK
-30FA ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099] # KATAKANA LETTER VO; QQCM
-3093 ; [.31C7.0020.000E.3093] # HIRAGANA LETTER N
-30F3 ; [.31C7.0020.0011.30F3] # KATAKANA LETTER N
-FF9D ; [.31C7.0020.0012.FF9D] # HALFWIDTH KATAKANA LETTER N; QQK
-3105 ; [.31C8.0020.0002.3105] # BOPOMOFO LETTER B
-31A0 ; [.31C8.0020.0004.31A0][.0000.0160.0004.31A0] # BOPOMOFO LETTER BU; QQKN
-3106 ; [.31C9.0020.0002.3106] # BOPOMOFO LETTER P
-31B4 ; [.31C9.0020.0019.31B4] # BOPOMOFO FINAL LETTER P; QQK
-3107 ; [.31CA.0020.0002.3107] # BOPOMOFO LETTER M
-3108 ; [.31CB.0020.0002.3108] # BOPOMOFO LETTER F
-312A ; [.31CC.0020.0002.312A] # BOPOMOFO LETTER V
-3109 ; [.31CD.0020.0002.3109] # BOPOMOFO LETTER D
-310A ; [.31CE.0020.0002.310A] # BOPOMOFO LETTER T
-31B5 ; [.31CE.0020.0019.31B5] # BOPOMOFO FINAL LETTER T; QQK
-310B ; [.31CF.0020.0002.310B] # BOPOMOFO LETTER N
-310C ; [.31D0.0020.0002.310C] # BOPOMOFO LETTER L
-310D ; [.31D1.0020.0002.310D] # BOPOMOFO LETTER G
-31A3 ; [.31D1.0020.0004.31A3][.0000.0160.0004.31A3] # BOPOMOFO LETTER GU; QQKN
-310E ; [.31D2.0020.0002.310E] # BOPOMOFO LETTER K
-31B6 ; [.31D2.0020.0019.31B6] # BOPOMOFO FINAL LETTER K; QQK
-312B ; [.31D3.0020.0002.312B] # BOPOMOFO LETTER NG
-31AD ; [.31D4.0020.0002.31AD] # BOPOMOFO LETTER NGG
-310F ; [.31D5.0020.0002.310F] # BOPOMOFO LETTER H
-31B7 ; [.31D5.0020.0019.31B7] # BOPOMOFO FINAL LETTER H; QQK
-3110 ; [.31D6.0020.0002.3110] # BOPOMOFO LETTER J
-31A2 ; [.31D6.0020.0004.31A2][.0000.0160.0004.31A2] # BOPOMOFO LETTER JI; QQKN
-3111 ; [.31D7.0020.0002.3111] # BOPOMOFO LETTER Q
-3112 ; [.31D8.0020.0002.3112] # BOPOMOFO LETTER X
-312C ; [.31D9.0020.0002.312C] # BOPOMOFO LETTER GN
-3113 ; [.31DA.0020.0002.3113] # BOPOMOFO LETTER ZH
-3114 ; [.31DB.0020.0002.3114] # BOPOMOFO LETTER CH
-3115 ; [.31DC.0020.0002.3115] # BOPOMOFO LETTER SH
-3116 ; [.31DD.0020.0002.3116] # BOPOMOFO LETTER R
-3117 ; [.31DE.0020.0002.3117] # BOPOMOFO LETTER Z
-31A1 ; [.31DE.0020.0004.31A1][.0000.0160.0004.31A1] # BOPOMOFO LETTER ZI; QQKN
-3118 ; [.31DF.0020.0002.3118] # BOPOMOFO LETTER C
-3119 ; [.31E0.0020.0002.3119] # BOPOMOFO LETTER S
-31B8 ; [.31E1.0020.0002.31B8] # BOPOMOFO LETTER GH
-31B9 ; [.31E2.0020.0002.31B9] # BOPOMOFO LETTER LH
-31BA ; [.31E3.0020.0002.31BA] # BOPOMOFO LETTER ZY
-311A ; [.31E4.0020.0002.311A] # BOPOMOFO LETTER A
-31A9 ; [.31E4.0020.0004.31A9][.0000.0160.0004.31A9] # BOPOMOFO LETTER ANN; QQKN
-311B ; [.31E5.0020.0002.311B] # BOPOMOFO LETTER O
-31A7 ; [.31E5.0020.0004.31A7][.0000.0160.0004.31A7] # BOPOMOFO LETTER ONN; QQKN
-31A6 ; [.31E6.0020.0002.31A6] # BOPOMOFO LETTER OO
-311C ; [.31E7.0020.0002.311C] # BOPOMOFO LETTER E
-311D ; [.31E8.0020.0002.311D] # BOPOMOFO LETTER EH
-31A4 ; [.31E9.0020.0002.31A4] # BOPOMOFO LETTER EE
-31A5 ; [.31E9.0020.0004.31A5][.0000.0160.0004.31A5] # BOPOMOFO LETTER ENN; QQKN
-311E ; [.31EA.0020.0002.311E] # BOPOMOFO LETTER AI
-31AE ; [.31EA.0020.0004.31AE][.0000.0160.0004.31AE] # BOPOMOFO LETTER AINN; QQKN
-311F ; [.31EB.0020.0002.311F] # BOPOMOFO LETTER EI
-3120 ; [.31EC.0020.0002.3120] # BOPOMOFO LETTER AU
-31AF ; [.31EC.0020.0004.31AF][.0000.0160.0004.31AF] # BOPOMOFO LETTER AUNN; QQKN
-3121 ; [.31ED.0020.0002.3121] # BOPOMOFO LETTER OU
-3122 ; [.31EE.0020.0002.3122] # BOPOMOFO LETTER AN
-3123 ; [.31EF.0020.0002.3123] # BOPOMOFO LETTER EN
-3124 ; [.31F0.0020.0002.3124] # BOPOMOFO LETTER ANG
-31B2 ; [.31F1.0020.0002.31B2] # BOPOMOFO LETTER ONG
-3125 ; [.31F2.0020.0002.3125] # BOPOMOFO LETTER ENG
-31B0 ; [.31F3.0020.0002.31B0] # BOPOMOFO LETTER AM
-31B1 ; [.31F4.0020.0002.31B1] # BOPOMOFO LETTER OM
-31AC ; [.31F5.0020.0002.31AC] # BOPOMOFO LETTER IM
-3126 ; [.31F6.0020.0002.3126] # BOPOMOFO LETTER ER
-3127 ; [.31F7.0020.0002.3127] # BOPOMOFO LETTER I
-31AA ; [.31F7.0020.0004.31AA][.0000.0160.0004.31AA] # BOPOMOFO LETTER INN; QQKN
-31B3 ; [.31F7.0020.0016.31B3][.0000.0160.0016.31B3] # BOPOMOFO LETTER INNN; QQKN
-3128 ; [.31F8.0020.0002.3128] # BOPOMOFO LETTER U
-31AB ; [.31F8.0020.0004.31AB][.0000.0160.0004.31AB] # BOPOMOFO LETTER UNN; QQKN
-31A8 ; [.31F8.0020.0004.31A8][.0000.0162.0004.31A8] # BOPOMOFO LETTER IR; QQKN
-3129 ; [.31F9.0020.0002.3129] # BOPOMOFO LETTER IU
-312D ; [.31FA.0020.0002.312D] # BOPOMOFO LETTER IH
-A000 ; [.31FB.0020.0002.A000] # YI SYLLABLE IT
-A001 ; [.31FC.0020.0002.A001] # YI SYLLABLE IX
-A002 ; [.31FD.0020.0002.A002] # YI SYLLABLE I
-A003 ; [.31FE.0020.0002.A003] # YI SYLLABLE IP
-A004 ; [.31FF.0020.0002.A004] # YI SYLLABLE IET
-A005 ; [.3200.0020.0002.A005] # YI SYLLABLE IEX
-A006 ; [.3201.0020.0002.A006] # YI SYLLABLE IE
-A007 ; [.3202.0020.0002.A007] # YI SYLLABLE IEP
-A008 ; [.3203.0020.0002.A008] # YI SYLLABLE AT
-A009 ; [.3204.0020.0002.A009] # YI SYLLABLE AX
-A00A ; [.3205.0020.0002.A00A] # YI SYLLABLE A
-A00B ; [.3206.0020.0002.A00B] # YI SYLLABLE AP
-A00C ; [.3207.0020.0002.A00C] # YI SYLLABLE UOX
-A00D ; [.3208.0020.0002.A00D] # YI SYLLABLE UO
-A00E ; [.3209.0020.0002.A00E] # YI SYLLABLE UOP
-A00F ; [.320A.0020.0002.A00F] # YI SYLLABLE OT
-A010 ; [.320B.0020.0002.A010] # YI SYLLABLE OX
-A011 ; [.320C.0020.0002.A011] # YI SYLLABLE O
-A012 ; [.320D.0020.0002.A012] # YI SYLLABLE OP
-A013 ; [.320E.0020.0002.A013] # YI SYLLABLE EX
-A014 ; [.320F.0020.0002.A014] # YI SYLLABLE E
-A015 ; [.3210.0020.0002.A015] # YI SYLLABLE WU
-A016 ; [.3211.0020.0002.A016] # YI SYLLABLE BIT
-A017 ; [.3212.0020.0002.A017] # YI SYLLABLE BIX
-A018 ; [.3213.0020.0002.A018] # YI SYLLABLE BI
-A019 ; [.3214.0020.0002.A019] # YI SYLLABLE BIP
-A01A ; [.3215.0020.0002.A01A] # YI SYLLABLE BIET
-A01B ; [.3216.0020.0002.A01B] # YI SYLLABLE BIEX
-A01C ; [.3217.0020.0002.A01C] # YI SYLLABLE BIE
-A01D ; [.3218.0020.0002.A01D] # YI SYLLABLE BIEP
-A01E ; [.3219.0020.0002.A01E] # YI SYLLABLE BAT
-A01F ; [.321A.0020.0002.A01F] # YI SYLLABLE BAX
-A020 ; [.321B.0020.0002.A020] # YI SYLLABLE BA
-A021 ; [.321C.0020.0002.A021] # YI SYLLABLE BAP
-A022 ; [.321D.0020.0002.A022] # YI SYLLABLE BUOX
-A023 ; [.321E.0020.0002.A023] # YI SYLLABLE BUO
-A024 ; [.321F.0020.0002.A024] # YI SYLLABLE BUOP
-A025 ; [.3220.0020.0002.A025] # YI SYLLABLE BOT
-A026 ; [.3221.0020.0002.A026] # YI SYLLABLE BOX
-A027 ; [.3222.0020.0002.A027] # YI SYLLABLE BO
-A028 ; [.3223.0020.0002.A028] # YI SYLLABLE BOP
-A029 ; [.3224.0020.0002.A029] # YI SYLLABLE BEX
-A02A ; [.3225.0020.0002.A02A] # YI SYLLABLE BE
-A02B ; [.3226.0020.0002.A02B] # YI SYLLABLE BEP
-A02C ; [.3227.0020.0002.A02C] # YI SYLLABLE BUT
-A02D ; [.3228.0020.0002.A02D] # YI SYLLABLE BUX
-A02E ; [.3229.0020.0002.A02E] # YI SYLLABLE BU
-A02F ; [.322A.0020.0002.A02F] # YI SYLLABLE BUP
-A030 ; [.322B.0020.0002.A030] # YI SYLLABLE BURX
-A031 ; [.322C.0020.0002.A031] # YI SYLLABLE BUR
-A032 ; [.322D.0020.0002.A032] # YI SYLLABLE BYT
-A033 ; [.322E.0020.0002.A033] # YI SYLLABLE BYX
-A034 ; [.322F.0020.0002.A034] # YI SYLLABLE BY
-A035 ; [.3230.0020.0002.A035] # YI SYLLABLE BYP
-A036 ; [.3231.0020.0002.A036] # YI SYLLABLE BYRX
-A037 ; [.3232.0020.0002.A037] # YI SYLLABLE BYR
-A038 ; [.3233.0020.0002.A038] # YI SYLLABLE PIT
-A039 ; [.3234.0020.0002.A039] # YI SYLLABLE PIX
-A03A ; [.3235.0020.0002.A03A] # YI SYLLABLE PI
-A03B ; [.3236.0020.0002.A03B] # YI SYLLABLE PIP
-A03C ; [.3237.0020.0002.A03C] # YI SYLLABLE PIEX
-A03D ; [.3238.0020.0002.A03D] # YI SYLLABLE PIE
-A03E ; [.3239.0020.0002.A03E] # YI SYLLABLE PIEP
-A03F ; [.323A.0020.0002.A03F] # YI SYLLABLE PAT
-A040 ; [.323B.0020.0002.A040] # YI SYLLABLE PAX
-A041 ; [.323C.0020.0002.A041] # YI SYLLABLE PA
-A042 ; [.323D.0020.0002.A042] # YI SYLLABLE PAP
-A043 ; [.323E.0020.0002.A043] # YI SYLLABLE PUOX
-A044 ; [.323F.0020.0002.A044] # YI SYLLABLE PUO
-A045 ; [.3240.0020.0002.A045] # YI SYLLABLE PUOP
-A046 ; [.3241.0020.0002.A046] # YI SYLLABLE POT
-A047 ; [.3242.0020.0002.A047] # YI SYLLABLE POX
-A048 ; [.3243.0020.0002.A048] # YI SYLLABLE PO
-A049 ; [.3244.0020.0002.A049] # YI SYLLABLE POP
-A04A ; [.3245.0020.0002.A04A] # YI SYLLABLE PUT
-A04B ; [.3246.0020.0002.A04B] # YI SYLLABLE PUX
-A04C ; [.3247.0020.0002.A04C] # YI SYLLABLE PU
-A04D ; [.3248.0020.0002.A04D] # YI SYLLABLE PUP
-A04E ; [.3249.0020.0002.A04E] # YI SYLLABLE PURX
-A04F ; [.324A.0020.0002.A04F] # YI SYLLABLE PUR
-A050 ; [.324B.0020.0002.A050] # YI SYLLABLE PYT
-A051 ; [.324C.0020.0002.A051] # YI SYLLABLE PYX
-A052 ; [.324D.0020.0002.A052] # YI SYLLABLE PY
-A053 ; [.324E.0020.0002.A053] # YI SYLLABLE PYP
-A054 ; [.324F.0020.0002.A054] # YI SYLLABLE PYRX
-A055 ; [.3250.0020.0002.A055] # YI SYLLABLE PYR
-A056 ; [.3251.0020.0002.A056] # YI SYLLABLE BBIT
-A057 ; [.3252.0020.0002.A057] # YI SYLLABLE BBIX
-A058 ; [.3253.0020.0002.A058] # YI SYLLABLE BBI
-A059 ; [.3254.0020.0002.A059] # YI SYLLABLE BBIP
-A05A ; [.3255.0020.0002.A05A] # YI SYLLABLE BBIET
-A05B ; [.3256.0020.0002.A05B] # YI SYLLABLE BBIEX
-A05C ; [.3257.0020.0002.A05C] # YI SYLLABLE BBIE
-A05D ; [.3258.0020.0002.A05D] # YI SYLLABLE BBIEP
-A05E ; [.3259.0020.0002.A05E] # YI SYLLABLE BBAT
-A05F ; [.325A.0020.0002.A05F] # YI SYLLABLE BBAX
-A060 ; [.325B.0020.0002.A060] # YI SYLLABLE BBA
-A061 ; [.325C.0020.0002.A061] # YI SYLLABLE BBAP
-A062 ; [.325D.0020.0002.A062] # YI SYLLABLE BBUOX
-A063 ; [.325E.0020.0002.A063] # YI SYLLABLE BBUO
-A064 ; [.325F.0020.0002.A064] # YI SYLLABLE BBUOP
-A065 ; [.3260.0020.0002.A065] # YI SYLLABLE BBOT
-A066 ; [.3261.0020.0002.A066] # YI SYLLABLE BBOX
-A067 ; [.3262.0020.0002.A067] # YI SYLLABLE BBO
-A068 ; [.3263.0020.0002.A068] # YI SYLLABLE BBOP
-A069 ; [.3264.0020.0002.A069] # YI SYLLABLE BBEX
-A06A ; [.3265.0020.0002.A06A] # YI SYLLABLE BBE
-A06B ; [.3266.0020.0002.A06B] # YI SYLLABLE BBEP
-A06C ; [.3267.0020.0002.A06C] # YI SYLLABLE BBUT
-A06D ; [.3268.0020.0002.A06D] # YI SYLLABLE BBUX
-A06E ; [.3269.0020.0002.A06E] # YI SYLLABLE BBU
-A06F ; [.326A.0020.0002.A06F] # YI SYLLABLE BBUP
-A070 ; [.326B.0020.0002.A070] # YI SYLLABLE BBURX
-A071 ; [.326C.0020.0002.A071] # YI SYLLABLE BBUR
-A072 ; [.326D.0020.0002.A072] # YI SYLLABLE BBYT
-A073 ; [.326E.0020.0002.A073] # YI SYLLABLE BBYX
-A074 ; [.326F.0020.0002.A074] # YI SYLLABLE BBY
-A075 ; [.3270.0020.0002.A075] # YI SYLLABLE BBYP
-A076 ; [.3271.0020.0002.A076] # YI SYLLABLE NBIT
-A077 ; [.3272.0020.0002.A077] # YI SYLLABLE NBIX
-A078 ; [.3273.0020.0002.A078] # YI SYLLABLE NBI
-A079 ; [.3274.0020.0002.A079] # YI SYLLABLE NBIP
-A07A ; [.3275.0020.0002.A07A] # YI SYLLABLE NBIEX
-A07B ; [.3276.0020.0002.A07B] # YI SYLLABLE NBIE
-A07C ; [.3277.0020.0002.A07C] # YI SYLLABLE NBIEP
-A07D ; [.3278.0020.0002.A07D] # YI SYLLABLE NBAT
-A07E ; [.3279.0020.0002.A07E] # YI SYLLABLE NBAX
-A07F ; [.327A.0020.0002.A07F] # YI SYLLABLE NBA
-A080 ; [.327B.0020.0002.A080] # YI SYLLABLE NBAP
-A081 ; [.327C.0020.0002.A081] # YI SYLLABLE NBOT
-A082 ; [.327D.0020.0002.A082] # YI SYLLABLE NBOX
-A083 ; [.327E.0020.0002.A083] # YI SYLLABLE NBO
-A084 ; [.327F.0020.0002.A084] # YI SYLLABLE NBOP
-A085 ; [.3280.0020.0002.A085] # YI SYLLABLE NBUT
-A086 ; [.3281.0020.0002.A086] # YI SYLLABLE NBUX
-A087 ; [.3282.0020.0002.A087] # YI SYLLABLE NBU
-A088 ; [.3283.0020.0002.A088] # YI SYLLABLE NBUP
-A089 ; [.3284.0020.0002.A089] # YI SYLLABLE NBURX
-A08A ; [.3285.0020.0002.A08A] # YI SYLLABLE NBUR
-A08B ; [.3286.0020.0002.A08B] # YI SYLLABLE NBYT
-A08C ; [.3287.0020.0002.A08C] # YI SYLLABLE NBYX
-A08D ; [.3288.0020.0002.A08D] # YI SYLLABLE NBY
-A08E ; [.3289.0020.0002.A08E] # YI SYLLABLE NBYP
-A08F ; [.328A.0020.0002.A08F] # YI SYLLABLE NBYRX
-A090 ; [.328B.0020.0002.A090] # YI SYLLABLE NBYR
-A091 ; [.328C.0020.0002.A091] # YI SYLLABLE HMIT
-A092 ; [.328D.0020.0002.A092] # YI SYLLABLE HMIX
-A093 ; [.328E.0020.0002.A093] # YI SYLLABLE HMI
-A094 ; [.328F.0020.0002.A094] # YI SYLLABLE HMIP
-A095 ; [.3290.0020.0002.A095] # YI SYLLABLE HMIEX
-A096 ; [.3291.0020.0002.A096] # YI SYLLABLE HMIE
-A097 ; [.3292.0020.0002.A097] # YI SYLLABLE HMIEP
-A098 ; [.3293.0020.0002.A098] # YI SYLLABLE HMAT
-A099 ; [.3294.0020.0002.A099] # YI SYLLABLE HMAX
-A09A ; [.3295.0020.0002.A09A] # YI SYLLABLE HMA
-A09B ; [.3296.0020.0002.A09B] # YI SYLLABLE HMAP
-A09C ; [.3297.0020.0002.A09C] # YI SYLLABLE HMUOX
-A09D ; [.3298.0020.0002.A09D] # YI SYLLABLE HMUO
-A09E ; [.3299.0020.0002.A09E] # YI SYLLABLE HMUOP
-A09F ; [.329A.0020.0002.A09F] # YI SYLLABLE HMOT
-A0A0 ; [.329B.0020.0002.A0A0] # YI SYLLABLE HMOX
-A0A1 ; [.329C.0020.0002.A0A1] # YI SYLLABLE HMO
-A0A2 ; [.329D.0020.0002.A0A2] # YI SYLLABLE HMOP
-A0A3 ; [.329E.0020.0002.A0A3] # YI SYLLABLE HMUT
-A0A4 ; [.329F.0020.0002.A0A4] # YI SYLLABLE HMUX
-A0A5 ; [.32A0.0020.0002.A0A5] # YI SYLLABLE HMU
-A0A6 ; [.32A1.0020.0002.A0A6] # YI SYLLABLE HMUP
-A0A7 ; [.32A2.0020.0002.A0A7] # YI SYLLABLE HMURX
-A0A8 ; [.32A3.0020.0002.A0A8] # YI SYLLABLE HMUR
-A0A9 ; [.32A4.0020.0002.A0A9] # YI SYLLABLE HMYX
-A0AA ; [.32A5.0020.0002.A0AA] # YI SYLLABLE HMY
-A0AB ; [.32A6.0020.0002.A0AB] # YI SYLLABLE HMYP
-A0AC ; [.32A7.0020.0002.A0AC] # YI SYLLABLE HMYRX
-A0AD ; [.32A8.0020.0002.A0AD] # YI SYLLABLE HMYR
-A0AE ; [.32A9.0020.0002.A0AE] # YI SYLLABLE MIT
-A0AF ; [.32AA.0020.0002.A0AF] # YI SYLLABLE MIX
-A0B0 ; [.32AB.0020.0002.A0B0] # YI SYLLABLE MI
-A0B1 ; [.32AC.0020.0002.A0B1] # YI SYLLABLE MIP
-A0B2 ; [.32AD.0020.0002.A0B2] # YI SYLLABLE MIEX
-A0B3 ; [.32AE.0020.0002.A0B3] # YI SYLLABLE MIE
-A0B4 ; [.32AF.0020.0002.A0B4] # YI SYLLABLE MIEP
-A0B5 ; [.32B0.0020.0002.A0B5] # YI SYLLABLE MAT
-A0B6 ; [.32B1.0020.0002.A0B6] # YI SYLLABLE MAX
-A0B7 ; [.32B2.0020.0002.A0B7] # YI SYLLABLE MA
-A0B8 ; [.32B3.0020.0002.A0B8] # YI SYLLABLE MAP
-A0B9 ; [.32B4.0020.0002.A0B9] # YI SYLLABLE MUOT
-A0BA ; [.32B5.0020.0002.A0BA] # YI SYLLABLE MUOX
-A0BB ; [.32B6.0020.0002.A0BB] # YI SYLLABLE MUO
-A0BC ; [.32B7.0020.0002.A0BC] # YI SYLLABLE MUOP
-A0BD ; [.32B8.0020.0002.A0BD] # YI SYLLABLE MOT
-A0BE ; [.32B9.0020.0002.A0BE] # YI SYLLABLE MOX
-A0BF ; [.32BA.0020.0002.A0BF] # YI SYLLABLE MO
-A0C0 ; [.32BB.0020.0002.A0C0] # YI SYLLABLE MOP
-A0C1 ; [.32BC.0020.0002.A0C1] # YI SYLLABLE MEX
-A0C2 ; [.32BD.0020.0002.A0C2] # YI SYLLABLE ME
-A0C3 ; [.32BE.0020.0002.A0C3] # YI SYLLABLE MUT
-A0C4 ; [.32BF.0020.0002.A0C4] # YI SYLLABLE MUX
-A0C5 ; [.32C0.0020.0002.A0C5] # YI SYLLABLE MU
-A0C6 ; [.32C1.0020.0002.A0C6] # YI SYLLABLE MUP
-A0C7 ; [.32C2.0020.0002.A0C7] # YI SYLLABLE MURX
-A0C8 ; [.32C3.0020.0002.A0C8] # YI SYLLABLE MUR
-A0C9 ; [.32C4.0020.0002.A0C9] # YI SYLLABLE MYT
-A0CA ; [.32C5.0020.0002.A0CA] # YI SYLLABLE MYX
-A0CB ; [.32C6.0020.0002.A0CB] # YI SYLLABLE MY
-A0CC ; [.32C7.0020.0002.A0CC] # YI SYLLABLE MYP
-A0CD ; [.32C8.0020.0002.A0CD] # YI SYLLABLE FIT
-A0CE ; [.32C9.0020.0002.A0CE] # YI SYLLABLE FIX
-A0CF ; [.32CA.0020.0002.A0CF] # YI SYLLABLE FI
-A0D0 ; [.32CB.0020.0002.A0D0] # YI SYLLABLE FIP
-A0D1 ; [.32CC.0020.0002.A0D1] # YI SYLLABLE FAT
-A0D2 ; [.32CD.0020.0002.A0D2] # YI SYLLABLE FAX
-A0D3 ; [.32CE.0020.0002.A0D3] # YI SYLLABLE FA
-A0D4 ; [.32CF.0020.0002.A0D4] # YI SYLLABLE FAP
-A0D5 ; [.32D0.0020.0002.A0D5] # YI SYLLABLE FOX
-A0D6 ; [.32D1.0020.0002.A0D6] # YI SYLLABLE FO
-A0D7 ; [.32D2.0020.0002.A0D7] # YI SYLLABLE FOP
-A0D8 ; [.32D3.0020.0002.A0D8] # YI SYLLABLE FUT
-A0D9 ; [.32D4.0020.0002.A0D9] # YI SYLLABLE FUX
-A0DA ; [.32D5.0020.0002.A0DA] # YI SYLLABLE FU
-A0DB ; [.32D6.0020.0002.A0DB] # YI SYLLABLE FUP
-A0DC ; [.32D7.0020.0002.A0DC] # YI SYLLABLE FURX
-A0DD ; [.32D8.0020.0002.A0DD] # YI SYLLABLE FUR
-A0DE ; [.32D9.0020.0002.A0DE] # YI SYLLABLE FYT
-A0DF ; [.32DA.0020.0002.A0DF] # YI SYLLABLE FYX
-A0E0 ; [.32DB.0020.0002.A0E0] # YI SYLLABLE FY
-A0E1 ; [.32DC.0020.0002.A0E1] # YI SYLLABLE FYP
-A0E2 ; [.32DD.0020.0002.A0E2] # YI SYLLABLE VIT
-A0E3 ; [.32DE.0020.0002.A0E3] # YI SYLLABLE VIX
-A0E4 ; [.32DF.0020.0002.A0E4] # YI SYLLABLE VI
-A0E5 ; [.32E0.0020.0002.A0E5] # YI SYLLABLE VIP
-A0E6 ; [.32E1.0020.0002.A0E6] # YI SYLLABLE VIET
-A0E7 ; [.32E2.0020.0002.A0E7] # YI SYLLABLE VIEX
-A0E8 ; [.32E3.0020.0002.A0E8] # YI SYLLABLE VIE
-A0E9 ; [.32E4.0020.0002.A0E9] # YI SYLLABLE VIEP
-A0EA ; [.32E5.0020.0002.A0EA] # YI SYLLABLE VAT
-A0EB ; [.32E6.0020.0002.A0EB] # YI SYLLABLE VAX
-A0EC ; [.32E7.0020.0002.A0EC] # YI SYLLABLE VA
-A0ED ; [.32E8.0020.0002.A0ED] # YI SYLLABLE VAP
-A0EE ; [.32E9.0020.0002.A0EE] # YI SYLLABLE VOT
-A0EF ; [.32EA.0020.0002.A0EF] # YI SYLLABLE VOX
-A0F0 ; [.32EB.0020.0002.A0F0] # YI SYLLABLE VO
-A0F1 ; [.32EC.0020.0002.A0F1] # YI SYLLABLE VOP
-A0F2 ; [.32ED.0020.0002.A0F2] # YI SYLLABLE VEX
-A0F3 ; [.32EE.0020.0002.A0F3] # YI SYLLABLE VEP
-A0F4 ; [.32EF.0020.0002.A0F4] # YI SYLLABLE VUT
-A0F5 ; [.32F0.0020.0002.A0F5] # YI SYLLABLE VUX
-A0F6 ; [.32F1.0020.0002.A0F6] # YI SYLLABLE VU
-A0F7 ; [.32F2.0020.0002.A0F7] # YI SYLLABLE VUP
-A0F8 ; [.32F3.0020.0002.A0F8] # YI SYLLABLE VURX
-A0F9 ; [.32F4.0020.0002.A0F9] # YI SYLLABLE VUR
-A0FA ; [.32F5.0020.0002.A0FA] # YI SYLLABLE VYT
-A0FB ; [.32F6.0020.0002.A0FB] # YI SYLLABLE VYX
-A0FC ; [.32F7.0020.0002.A0FC] # YI SYLLABLE VY
-A0FD ; [.32F8.0020.0002.A0FD] # YI SYLLABLE VYP
-A0FE ; [.32F9.0020.0002.A0FE] # YI SYLLABLE VYRX
-A0FF ; [.32FA.0020.0002.A0FF] # YI SYLLABLE VYR
-A100 ; [.32FB.0020.0002.A100] # YI SYLLABLE DIT
-A101 ; [.32FC.0020.0002.A101] # YI SYLLABLE DIX
-A102 ; [.32FD.0020.0002.A102] # YI SYLLABLE DI
-A103 ; [.32FE.0020.0002.A103] # YI SYLLABLE DIP
-A104 ; [.32FF.0020.0002.A104] # YI SYLLABLE DIEX
-A105 ; [.3300.0020.0002.A105] # YI SYLLABLE DIE
-A106 ; [.3301.0020.0002.A106] # YI SYLLABLE DIEP
-A107 ; [.3302.0020.0002.A107] # YI SYLLABLE DAT
-A108 ; [.3303.0020.0002.A108] # YI SYLLABLE DAX
-A109 ; [.3304.0020.0002.A109] # YI SYLLABLE DA
-A10A ; [.3305.0020.0002.A10A] # YI SYLLABLE DAP
-A10B ; [.3306.0020.0002.A10B] # YI SYLLABLE DUOX
-A10C ; [.3307.0020.0002.A10C] # YI SYLLABLE DUO
-A10D ; [.3308.0020.0002.A10D] # YI SYLLABLE DOT
-A10E ; [.3309.0020.0002.A10E] # YI SYLLABLE DOX
-A10F ; [.330A.0020.0002.A10F] # YI SYLLABLE DO
-A110 ; [.330B.0020.0002.A110] # YI SYLLABLE DOP
-A111 ; [.330C.0020.0002.A111] # YI SYLLABLE DEX
-A112 ; [.330D.0020.0002.A112] # YI SYLLABLE DE
-A113 ; [.330E.0020.0002.A113] # YI SYLLABLE DEP
-A114 ; [.330F.0020.0002.A114] # YI SYLLABLE DUT
-A115 ; [.3310.0020.0002.A115] # YI SYLLABLE DUX
-A116 ; [.3311.0020.0002.A116] # YI SYLLABLE DU
-A117 ; [.3312.0020.0002.A117] # YI SYLLABLE DUP
-A118 ; [.3313.0020.0002.A118] # YI SYLLABLE DURX
-A119 ; [.3314.0020.0002.A119] # YI SYLLABLE DUR
-A11A ; [.3315.0020.0002.A11A] # YI SYLLABLE TIT
-A11B ; [.3316.0020.0002.A11B] # YI SYLLABLE TIX
-A11C ; [.3317.0020.0002.A11C] # YI SYLLABLE TI
-A11D ; [.3318.0020.0002.A11D] # YI SYLLABLE TIP
-A11E ; [.3319.0020.0002.A11E] # YI SYLLABLE TIEX
-A11F ; [.331A.0020.0002.A11F] # YI SYLLABLE TIE
-A120 ; [.331B.0020.0002.A120] # YI SYLLABLE TIEP
-A121 ; [.331C.0020.0002.A121] # YI SYLLABLE TAT
-A122 ; [.331D.0020.0002.A122] # YI SYLLABLE TAX
-A123 ; [.331E.0020.0002.A123] # YI SYLLABLE TA
-A124 ; [.331F.0020.0002.A124] # YI SYLLABLE TAP
-A125 ; [.3320.0020.0002.A125] # YI SYLLABLE TUOT
-A126 ; [.3321.0020.0002.A126] # YI SYLLABLE TUOX
-A127 ; [.3322.0020.0002.A127] # YI SYLLABLE TUO
-A128 ; [.3323.0020.0002.A128] # YI SYLLABLE TUOP
-A129 ; [.3324.0020.0002.A129] # YI SYLLABLE TOT
-A12A ; [.3325.0020.0002.A12A] # YI SYLLABLE TOX
-A12B ; [.3326.0020.0002.A12B] # YI SYLLABLE TO
-A12C ; [.3327.0020.0002.A12C] # YI SYLLABLE TOP
-A12D ; [.3328.0020.0002.A12D] # YI SYLLABLE TEX
-A12E ; [.3329.0020.0002.A12E] # YI SYLLABLE TE
-A12F ; [.332A.0020.0002.A12F] # YI SYLLABLE TEP
-A130 ; [.332B.0020.0002.A130] # YI SYLLABLE TUT
-A131 ; [.332C.0020.0002.A131] # YI SYLLABLE TUX
-A132 ; [.332D.0020.0002.A132] # YI SYLLABLE TU
-A133 ; [.332E.0020.0002.A133] # YI SYLLABLE TUP
-A134 ; [.332F.0020.0002.A134] # YI SYLLABLE TURX
-A135 ; [.3330.0020.0002.A135] # YI SYLLABLE TUR
-A136 ; [.3331.0020.0002.A136] # YI SYLLABLE DDIT
-A137 ; [.3332.0020.0002.A137] # YI SYLLABLE DDIX
-A138 ; [.3333.0020.0002.A138] # YI SYLLABLE DDI
-A139 ; [.3334.0020.0002.A139] # YI SYLLABLE DDIP
-A13A ; [.3335.0020.0002.A13A] # YI SYLLABLE DDIEX
-A13B ; [.3336.0020.0002.A13B] # YI SYLLABLE DDIE
-A13C ; [.3337.0020.0002.A13C] # YI SYLLABLE DDIEP
-A13D ; [.3338.0020.0002.A13D] # YI SYLLABLE DDAT
-A13E ; [.3339.0020.0002.A13E] # YI SYLLABLE DDAX
-A13F ; [.333A.0020.0002.A13F] # YI SYLLABLE DDA
-A140 ; [.333B.0020.0002.A140] # YI SYLLABLE DDAP
-A141 ; [.333C.0020.0002.A141] # YI SYLLABLE DDUOX
-A142 ; [.333D.0020.0002.A142] # YI SYLLABLE DDUO
-A143 ; [.333E.0020.0002.A143] # YI SYLLABLE DDUOP
-A144 ; [.333F.0020.0002.A144] # YI SYLLABLE DDOT
-A145 ; [.3340.0020.0002.A145] # YI SYLLABLE DDOX
-A146 ; [.3341.0020.0002.A146] # YI SYLLABLE DDO
-A147 ; [.3342.0020.0002.A147] # YI SYLLABLE DDOP
-A148 ; [.3343.0020.0002.A148] # YI SYLLABLE DDEX
-A149 ; [.3344.0020.0002.A149] # YI SYLLABLE DDE
-A14A ; [.3345.0020.0002.A14A] # YI SYLLABLE DDEP
-A14B ; [.3346.0020.0002.A14B] # YI SYLLABLE DDUT
-A14C ; [.3347.0020.0002.A14C] # YI SYLLABLE DDUX
-A14D ; [.3348.0020.0002.A14D] # YI SYLLABLE DDU
-A14E ; [.3349.0020.0002.A14E] # YI SYLLABLE DDUP
-A14F ; [.334A.0020.0002.A14F] # YI SYLLABLE DDURX
-A150 ; [.334B.0020.0002.A150] # YI SYLLABLE DDUR
-A151 ; [.334C.0020.0002.A151] # YI SYLLABLE NDIT
-A152 ; [.334D.0020.0002.A152] # YI SYLLABLE NDIX
-A153 ; [.334E.0020.0002.A153] # YI SYLLABLE NDI
-A154 ; [.334F.0020.0002.A154] # YI SYLLABLE NDIP
-A155 ; [.3350.0020.0002.A155] # YI SYLLABLE NDIEX
-A156 ; [.3351.0020.0002.A156] # YI SYLLABLE NDIE
-A157 ; [.3352.0020.0002.A157] # YI SYLLABLE NDAT
-A158 ; [.3353.0020.0002.A158] # YI SYLLABLE NDAX
-A159 ; [.3354.0020.0002.A159] # YI SYLLABLE NDA
-A15A ; [.3355.0020.0002.A15A] # YI SYLLABLE NDAP
-A15B ; [.3356.0020.0002.A15B] # YI SYLLABLE NDOT
-A15C ; [.3357.0020.0002.A15C] # YI SYLLABLE NDOX
-A15D ; [.3358.0020.0002.A15D] # YI SYLLABLE NDO
-A15E ; [.3359.0020.0002.A15E] # YI SYLLABLE NDOP
-A15F ; [.335A.0020.0002.A15F] # YI SYLLABLE NDEX
-A160 ; [.335B.0020.0002.A160] # YI SYLLABLE NDE
-A161 ; [.335C.0020.0002.A161] # YI SYLLABLE NDEP
-A162 ; [.335D.0020.0002.A162] # YI SYLLABLE NDUT
-A163 ; [.335E.0020.0002.A163] # YI SYLLABLE NDUX
-A164 ; [.335F.0020.0002.A164] # YI SYLLABLE NDU
-A165 ; [.3360.0020.0002.A165] # YI SYLLABLE NDUP
-A166 ; [.3361.0020.0002.A166] # YI SYLLABLE NDURX
-A167 ; [.3362.0020.0002.A167] # YI SYLLABLE NDUR
-A168 ; [.3363.0020.0002.A168] # YI SYLLABLE HNIT
-A169 ; [.3364.0020.0002.A169] # YI SYLLABLE HNIX
-A16A ; [.3365.0020.0002.A16A] # YI SYLLABLE HNI
-A16B ; [.3366.0020.0002.A16B] # YI SYLLABLE HNIP
-A16C ; [.3367.0020.0002.A16C] # YI SYLLABLE HNIET
-A16D ; [.3368.0020.0002.A16D] # YI SYLLABLE HNIEX
-A16E ; [.3369.0020.0002.A16E] # YI SYLLABLE HNIE
-A16F ; [.336A.0020.0002.A16F] # YI SYLLABLE HNIEP
-A170 ; [.336B.0020.0002.A170] # YI SYLLABLE HNAT
-A171 ; [.336C.0020.0002.A171] # YI SYLLABLE HNAX
-A172 ; [.336D.0020.0002.A172] # YI SYLLABLE HNA
-A173 ; [.336E.0020.0002.A173] # YI SYLLABLE HNAP
-A174 ; [.336F.0020.0002.A174] # YI SYLLABLE HNUOX
-A175 ; [.3370.0020.0002.A175] # YI SYLLABLE HNUO
-A176 ; [.3371.0020.0002.A176] # YI SYLLABLE HNOT
-A177 ; [.3372.0020.0002.A177] # YI SYLLABLE HNOX
-A178 ; [.3373.0020.0002.A178] # YI SYLLABLE HNOP
-A179 ; [.3374.0020.0002.A179] # YI SYLLABLE HNEX
-A17A ; [.3375.0020.0002.A17A] # YI SYLLABLE HNE
-A17B ; [.3376.0020.0002.A17B] # YI SYLLABLE HNEP
-A17C ; [.3377.0020.0002.A17C] # YI SYLLABLE HNUT
-A17D ; [.3378.0020.0002.A17D] # YI SYLLABLE NIT
-A17E ; [.3379.0020.0002.A17E] # YI SYLLABLE NIX
-A17F ; [.337A.0020.0002.A17F] # YI SYLLABLE NI
-A180 ; [.337B.0020.0002.A180] # YI SYLLABLE NIP
-A181 ; [.337C.0020.0002.A181] # YI SYLLABLE NIEX
-A182 ; [.337D.0020.0002.A182] # YI SYLLABLE NIE
-A183 ; [.337E.0020.0002.A183] # YI SYLLABLE NIEP
-A184 ; [.337F.0020.0002.A184] # YI SYLLABLE NAX
-A185 ; [.3380.0020.0002.A185] # YI SYLLABLE NA
-A186 ; [.3381.0020.0002.A186] # YI SYLLABLE NAP
-A187 ; [.3382.0020.0002.A187] # YI SYLLABLE NUOX
-A188 ; [.3383.0020.0002.A188] # YI SYLLABLE NUO
-A189 ; [.3384.0020.0002.A189] # YI SYLLABLE NUOP
-A18A ; [.3385.0020.0002.A18A] # YI SYLLABLE NOT
-A18B ; [.3386.0020.0002.A18B] # YI SYLLABLE NOX
-A18C ; [.3387.0020.0002.A18C] # YI SYLLABLE NO
-A18D ; [.3388.0020.0002.A18D] # YI SYLLABLE NOP
-A18E ; [.3389.0020.0002.A18E] # YI SYLLABLE NEX
-A18F ; [.338A.0020.0002.A18F] # YI SYLLABLE NE
-A190 ; [.338B.0020.0002.A190] # YI SYLLABLE NEP
-A191 ; [.338C.0020.0002.A191] # YI SYLLABLE NUT
-A192 ; [.338D.0020.0002.A192] # YI SYLLABLE NUX
-A193 ; [.338E.0020.0002.A193] # YI SYLLABLE NU
-A194 ; [.338F.0020.0002.A194] # YI SYLLABLE NUP
-A195 ; [.3390.0020.0002.A195] # YI SYLLABLE NURX
-A196 ; [.3391.0020.0002.A196] # YI SYLLABLE NUR
-A197 ; [.3392.0020.0002.A197] # YI SYLLABLE HLIT
-A198 ; [.3393.0020.0002.A198] # YI SYLLABLE HLIX
-A199 ; [.3394.0020.0002.A199] # YI SYLLABLE HLI
-A19A ; [.3395.0020.0002.A19A] # YI SYLLABLE HLIP
-A19B ; [.3396.0020.0002.A19B] # YI SYLLABLE HLIEX
-A19C ; [.3397.0020.0002.A19C] # YI SYLLABLE HLIE
-A19D ; [.3398.0020.0002.A19D] # YI SYLLABLE HLIEP
-A19E ; [.3399.0020.0002.A19E] # YI SYLLABLE HLAT
-A19F ; [.339A.0020.0002.A19F] # YI SYLLABLE HLAX
-A1A0 ; [.339B.0020.0002.A1A0] # YI SYLLABLE HLA
-A1A1 ; [.339C.0020.0002.A1A1] # YI SYLLABLE HLAP
-A1A2 ; [.339D.0020.0002.A1A2] # YI SYLLABLE HLUOX
-A1A3 ; [.339E.0020.0002.A1A3] # YI SYLLABLE HLUO
-A1A4 ; [.339F.0020.0002.A1A4] # YI SYLLABLE HLUOP
-A1A5 ; [.33A0.0020.0002.A1A5] # YI SYLLABLE HLOX
-A1A6 ; [.33A1.0020.0002.A1A6] # YI SYLLABLE HLO
-A1A7 ; [.33A2.0020.0002.A1A7] # YI SYLLABLE HLOP
-A1A8 ; [.33A3.0020.0002.A1A8] # YI SYLLABLE HLEX
-A1A9 ; [.33A4.0020.0002.A1A9] # YI SYLLABLE HLE
-A1AA ; [.33A5.0020.0002.A1AA] # YI SYLLABLE HLEP
-A1AB ; [.33A6.0020.0002.A1AB] # YI SYLLABLE HLUT
-A1AC ; [.33A7.0020.0002.A1AC] # YI SYLLABLE HLUX
-A1AD ; [.33A8.0020.0002.A1AD] # YI SYLLABLE HLU
-A1AE ; [.33A9.0020.0002.A1AE] # YI SYLLABLE HLUP
-A1AF ; [.33AA.0020.0002.A1AF] # YI SYLLABLE HLURX
-A1B0 ; [.33AB.0020.0002.A1B0] # YI SYLLABLE HLUR
-A1B1 ; [.33AC.0020.0002.A1B1] # YI SYLLABLE HLYT
-A1B2 ; [.33AD.0020.0002.A1B2] # YI SYLLABLE HLYX
-A1B3 ; [.33AE.0020.0002.A1B3] # YI SYLLABLE HLY
-A1B4 ; [.33AF.0020.0002.A1B4] # YI SYLLABLE HLYP
-A1B5 ; [.33B0.0020.0002.A1B5] # YI SYLLABLE HLYRX
-A1B6 ; [.33B1.0020.0002.A1B6] # YI SYLLABLE HLYR
-A1B7 ; [.33B2.0020.0002.A1B7] # YI SYLLABLE LIT
-A1B8 ; [.33B3.0020.0002.A1B8] # YI SYLLABLE LIX
-A1B9 ; [.33B4.0020.0002.A1B9] # YI SYLLABLE LI
-A1BA ; [.33B5.0020.0002.A1BA] # YI SYLLABLE LIP
-A1BB ; [.33B6.0020.0002.A1BB] # YI SYLLABLE LIET
-A1BC ; [.33B7.0020.0002.A1BC] # YI SYLLABLE LIEX
-A1BD ; [.33B8.0020.0002.A1BD] # YI SYLLABLE LIE
-A1BE ; [.33B9.0020.0002.A1BE] # YI SYLLABLE LIEP
-A1BF ; [.33BA.0020.0002.A1BF] # YI SYLLABLE LAT
-A1C0 ; [.33BB.0020.0002.A1C0] # YI SYLLABLE LAX
-A1C1 ; [.33BC.0020.0002.A1C1] # YI SYLLABLE LA
-A1C2 ; [.33BD.0020.0002.A1C2] # YI SYLLABLE LAP
-A1C3 ; [.33BE.0020.0002.A1C3] # YI SYLLABLE LUOT
-A1C4 ; [.33BF.0020.0002.A1C4] # YI SYLLABLE LUOX
-A1C5 ; [.33C0.0020.0002.A1C5] # YI SYLLABLE LUO
-A1C6 ; [.33C1.0020.0002.A1C6] # YI SYLLABLE LUOP
-A1C7 ; [.33C2.0020.0002.A1C7] # YI SYLLABLE LOT
-A1C8 ; [.33C3.0020.0002.A1C8] # YI SYLLABLE LOX
-A1C9 ; [.33C4.0020.0002.A1C9] # YI SYLLABLE LO
-A1CA ; [.33C5.0020.0002.A1CA] # YI SYLLABLE LOP
-A1CB ; [.33C6.0020.0002.A1CB] # YI SYLLABLE LEX
-A1CC ; [.33C7.0020.0002.A1CC] # YI SYLLABLE LE
-A1CD ; [.33C8.0020.0002.A1CD] # YI SYLLABLE LEP
-A1CE ; [.33C9.0020.0002.A1CE] # YI SYLLABLE LUT
-A1CF ; [.33CA.0020.0002.A1CF] # YI SYLLABLE LUX
-A1D0 ; [.33CB.0020.0002.A1D0] # YI SYLLABLE LU
-A1D1 ; [.33CC.0020.0002.A1D1] # YI SYLLABLE LUP
-A1D2 ; [.33CD.0020.0002.A1D2] # YI SYLLABLE LURX
-A1D3 ; [.33CE.0020.0002.A1D3] # YI SYLLABLE LUR
-A1D4 ; [.33CF.0020.0002.A1D4] # YI SYLLABLE LYT
-A1D5 ; [.33D0.0020.0002.A1D5] # YI SYLLABLE LYX
-A1D6 ; [.33D1.0020.0002.A1D6] # YI SYLLABLE LY
-A1D7 ; [.33D2.0020.0002.A1D7] # YI SYLLABLE LYP
-A1D8 ; [.33D3.0020.0002.A1D8] # YI SYLLABLE LYRX
-A1D9 ; [.33D4.0020.0002.A1D9] # YI SYLLABLE LYR
-A1DA ; [.33D5.0020.0002.A1DA] # YI SYLLABLE GIT
-A1DB ; [.33D6.0020.0002.A1DB] # YI SYLLABLE GIX
-A1DC ; [.33D7.0020.0002.A1DC] # YI SYLLABLE GI
-A1DD ; [.33D8.0020.0002.A1DD] # YI SYLLABLE GIP
-A1DE ; [.33D9.0020.0002.A1DE] # YI SYLLABLE GIET
-A1DF ; [.33DA.0020.0002.A1DF] # YI SYLLABLE GIEX
-A1E0 ; [.33DB.0020.0002.A1E0] # YI SYLLABLE GIE
-A1E1 ; [.33DC.0020.0002.A1E1] # YI SYLLABLE GIEP
-A1E2 ; [.33DD.0020.0002.A1E2] # YI SYLLABLE GAT
-A1E3 ; [.33DE.0020.0002.A1E3] # YI SYLLABLE GAX
-A1E4 ; [.33DF.0020.0002.A1E4] # YI SYLLABLE GA
-A1E5 ; [.33E0.0020.0002.A1E5] # YI SYLLABLE GAP
-A1E6 ; [.33E1.0020.0002.A1E6] # YI SYLLABLE GUOT
-A1E7 ; [.33E2.0020.0002.A1E7] # YI SYLLABLE GUOX
-A1E8 ; [.33E3.0020.0002.A1E8] # YI SYLLABLE GUO
-A1E9 ; [.33E4.0020.0002.A1E9] # YI SYLLABLE GUOP
-A1EA ; [.33E5.0020.0002.A1EA] # YI SYLLABLE GOT
-A1EB ; [.33E6.0020.0002.A1EB] # YI SYLLABLE GOX
-A1EC ; [.33E7.0020.0002.A1EC] # YI SYLLABLE GO
-A1ED ; [.33E8.0020.0002.A1ED] # YI SYLLABLE GOP
-A1EE ; [.33E9.0020.0002.A1EE] # YI SYLLABLE GET
-A1EF ; [.33EA.0020.0002.A1EF] # YI SYLLABLE GEX
-A1F0 ; [.33EB.0020.0002.A1F0] # YI SYLLABLE GE
-A1F1 ; [.33EC.0020.0002.A1F1] # YI SYLLABLE GEP
-A1F2 ; [.33ED.0020.0002.A1F2] # YI SYLLABLE GUT
-A1F3 ; [.33EE.0020.0002.A1F3] # YI SYLLABLE GUX
-A1F4 ; [.33EF.0020.0002.A1F4] # YI SYLLABLE GU
-A1F5 ; [.33F0.0020.0002.A1F5] # YI SYLLABLE GUP
-A1F6 ; [.33F1.0020.0002.A1F6] # YI SYLLABLE GURX
-A1F7 ; [.33F2.0020.0002.A1F7] # YI SYLLABLE GUR
-A1F8 ; [.33F3.0020.0002.A1F8] # YI SYLLABLE KIT
-A1F9 ; [.33F4.0020.0002.A1F9] # YI SYLLABLE KIX
-A1FA ; [.33F5.0020.0002.A1FA] # YI SYLLABLE KI
-A1FB ; [.33F6.0020.0002.A1FB] # YI SYLLABLE KIP
-A1FC ; [.33F7.0020.0002.A1FC] # YI SYLLABLE KIEX
-A1FD ; [.33F8.0020.0002.A1FD] # YI SYLLABLE KIE
-A1FE ; [.33F9.0020.0002.A1FE] # YI SYLLABLE KIEP
-A1FF ; [.33FA.0020.0002.A1FF] # YI SYLLABLE KAT
-A200 ; [.33FB.0020.0002.A200] # YI SYLLABLE KAX
-A201 ; [.33FC.0020.0002.A201] # YI SYLLABLE KA
-A202 ; [.33FD.0020.0002.A202] # YI SYLLABLE KAP
-A203 ; [.33FE.0020.0002.A203] # YI SYLLABLE KUOX
-A204 ; [.33FF.0020.0002.A204] # YI SYLLABLE KUO
-A205 ; [.3400.0020.0002.A205] # YI SYLLABLE KUOP
-A206 ; [.3401.0020.0002.A206] # YI SYLLABLE KOT
-A207 ; [.3402.0020.0002.A207] # YI SYLLABLE KOX
-A208 ; [.3403.0020.0002.A208] # YI SYLLABLE KO
-A209 ; [.3404.0020.0002.A209] # YI SYLLABLE KOP
-A20A ; [.3405.0020.0002.A20A] # YI SYLLABLE KET
-A20B ; [.3406.0020.0002.A20B] # YI SYLLABLE KEX
-A20C ; [.3407.0020.0002.A20C] # YI SYLLABLE KE
-A20D ; [.3408.0020.0002.A20D] # YI SYLLABLE KEP
-A20E ; [.3409.0020.0002.A20E] # YI SYLLABLE KUT
-A20F ; [.340A.0020.0002.A20F] # YI SYLLABLE KUX
-A210 ; [.340B.0020.0002.A210] # YI SYLLABLE KU
-A211 ; [.340C.0020.0002.A211] # YI SYLLABLE KUP
-A212 ; [.340D.0020.0002.A212] # YI SYLLABLE KURX
-A213 ; [.340E.0020.0002.A213] # YI SYLLABLE KUR
-A214 ; [.340F.0020.0002.A214] # YI SYLLABLE GGIT
-A215 ; [.3410.0020.0002.A215] # YI SYLLABLE GGIX
-A216 ; [.3411.0020.0002.A216] # YI SYLLABLE GGI
-A217 ; [.3412.0020.0002.A217] # YI SYLLABLE GGIEX
-A218 ; [.3413.0020.0002.A218] # YI SYLLABLE GGIE
-A219 ; [.3414.0020.0002.A219] # YI SYLLABLE GGIEP
-A21A ; [.3415.0020.0002.A21A] # YI SYLLABLE GGAT
-A21B ; [.3416.0020.0002.A21B] # YI SYLLABLE GGAX
-A21C ; [.3417.0020.0002.A21C] # YI SYLLABLE GGA
-A21D ; [.3418.0020.0002.A21D] # YI SYLLABLE GGAP
-A21E ; [.3419.0020.0002.A21E] # YI SYLLABLE GGUOT
-A21F ; [.341A.0020.0002.A21F] # YI SYLLABLE GGUOX
-A220 ; [.341B.0020.0002.A220] # YI SYLLABLE GGUO
-A221 ; [.341C.0020.0002.A221] # YI SYLLABLE GGUOP
-A222 ; [.341D.0020.0002.A222] # YI SYLLABLE GGOT
-A223 ; [.341E.0020.0002.A223] # YI SYLLABLE GGOX
-A224 ; [.341F.0020.0002.A224] # YI SYLLABLE GGO
-A225 ; [.3420.0020.0002.A225] # YI SYLLABLE GGOP
-A226 ; [.3421.0020.0002.A226] # YI SYLLABLE GGET
-A227 ; [.3422.0020.0002.A227] # YI SYLLABLE GGEX
-A228 ; [.3423.0020.0002.A228] # YI SYLLABLE GGE
-A229 ; [.3424.0020.0002.A229] # YI SYLLABLE GGEP
-A22A ; [.3425.0020.0002.A22A] # YI SYLLABLE GGUT
-A22B ; [.3426.0020.0002.A22B] # YI SYLLABLE GGUX
-A22C ; [.3427.0020.0002.A22C] # YI SYLLABLE GGU
-A22D ; [.3428.0020.0002.A22D] # YI SYLLABLE GGUP
-A22E ; [.3429.0020.0002.A22E] # YI SYLLABLE GGURX
-A22F ; [.342A.0020.0002.A22F] # YI SYLLABLE GGUR
-A230 ; [.342B.0020.0002.A230] # YI SYLLABLE MGIEX
-A231 ; [.342C.0020.0002.A231] # YI SYLLABLE MGIE
-A232 ; [.342D.0020.0002.A232] # YI SYLLABLE MGAT
-A233 ; [.342E.0020.0002.A233] # YI SYLLABLE MGAX
-A234 ; [.342F.0020.0002.A234] # YI SYLLABLE MGA
-A235 ; [.3430.0020.0002.A235] # YI SYLLABLE MGAP
-A236 ; [.3431.0020.0002.A236] # YI SYLLABLE MGUOX
-A237 ; [.3432.0020.0002.A237] # YI SYLLABLE MGUO
-A238 ; [.3433.0020.0002.A238] # YI SYLLABLE MGUOP
-A239 ; [.3434.0020.0002.A239] # YI SYLLABLE MGOT
-A23A ; [.3435.0020.0002.A23A] # YI SYLLABLE MGOX
-A23B ; [.3436.0020.0002.A23B] # YI SYLLABLE MGO
-A23C ; [.3437.0020.0002.A23C] # YI SYLLABLE MGOP
-A23D ; [.3438.0020.0002.A23D] # YI SYLLABLE MGEX
-A23E ; [.3439.0020.0002.A23E] # YI SYLLABLE MGE
-A23F ; [.343A.0020.0002.A23F] # YI SYLLABLE MGEP
-A240 ; [.343B.0020.0002.A240] # YI SYLLABLE MGUT
-A241 ; [.343C.0020.0002.A241] # YI SYLLABLE MGUX
-A242 ; [.343D.0020.0002.A242] # YI SYLLABLE MGU
-A243 ; [.343E.0020.0002.A243] # YI SYLLABLE MGUP
-A244 ; [.343F.0020.0002.A244] # YI SYLLABLE MGURX
-A245 ; [.3440.0020.0002.A245] # YI SYLLABLE MGUR
-A246 ; [.3441.0020.0002.A246] # YI SYLLABLE HXIT
-A247 ; [.3442.0020.0002.A247] # YI SYLLABLE HXIX
-A248 ; [.3443.0020.0002.A248] # YI SYLLABLE HXI
-A249 ; [.3444.0020.0002.A249] # YI SYLLABLE HXIP
-A24A ; [.3445.0020.0002.A24A] # YI SYLLABLE HXIET
-A24B ; [.3446.0020.0002.A24B] # YI SYLLABLE HXIEX
-A24C ; [.3447.0020.0002.A24C] # YI SYLLABLE HXIE
-A24D ; [.3448.0020.0002.A24D] # YI SYLLABLE HXIEP
-A24E ; [.3449.0020.0002.A24E] # YI SYLLABLE HXAT
-A24F ; [.344A.0020.0002.A24F] # YI SYLLABLE HXAX
-A250 ; [.344B.0020.0002.A250] # YI SYLLABLE HXA
-A251 ; [.344C.0020.0002.A251] # YI SYLLABLE HXAP
-A252 ; [.344D.0020.0002.A252] # YI SYLLABLE HXUOT
-A253 ; [.344E.0020.0002.A253] # YI SYLLABLE HXUOX
-A254 ; [.344F.0020.0002.A254] # YI SYLLABLE HXUO
-A255 ; [.3450.0020.0002.A255] # YI SYLLABLE HXUOP
-A256 ; [.3451.0020.0002.A256] # YI SYLLABLE HXOT
-A257 ; [.3452.0020.0002.A257] # YI SYLLABLE HXOX
-A258 ; [.3453.0020.0002.A258] # YI SYLLABLE HXO
-A259 ; [.3454.0020.0002.A259] # YI SYLLABLE HXOP
-A25A ; [.3455.0020.0002.A25A] # YI SYLLABLE HXEX
-A25B ; [.3456.0020.0002.A25B] # YI SYLLABLE HXE
-A25C ; [.3457.0020.0002.A25C] # YI SYLLABLE HXEP
-A25D ; [.3458.0020.0002.A25D] # YI SYLLABLE NGIEX
-A25E ; [.3459.0020.0002.A25E] # YI SYLLABLE NGIE
-A25F ; [.345A.0020.0002.A25F] # YI SYLLABLE NGIEP
-A260 ; [.345B.0020.0002.A260] # YI SYLLABLE NGAT
-A261 ; [.345C.0020.0002.A261] # YI SYLLABLE NGAX
-A262 ; [.345D.0020.0002.A262] # YI SYLLABLE NGA
-A263 ; [.345E.0020.0002.A263] # YI SYLLABLE NGAP
-A264 ; [.345F.0020.0002.A264] # YI SYLLABLE NGUOT
-A265 ; [.3460.0020.0002.A265] # YI SYLLABLE NGUOX
-A266 ; [.3461.0020.0002.A266] # YI SYLLABLE NGUO
-A267 ; [.3462.0020.0002.A267] # YI SYLLABLE NGOT
-A268 ; [.3463.0020.0002.A268] # YI SYLLABLE NGOX
-A269 ; [.3464.0020.0002.A269] # YI SYLLABLE NGO
-A26A ; [.3465.0020.0002.A26A] # YI SYLLABLE NGOP
-A26B ; [.3466.0020.0002.A26B] # YI SYLLABLE NGEX
-A26C ; [.3467.0020.0002.A26C] # YI SYLLABLE NGE
-A26D ; [.3468.0020.0002.A26D] # YI SYLLABLE NGEP
-A26E ; [.3469.0020.0002.A26E] # YI SYLLABLE HIT
-A26F ; [.346A.0020.0002.A26F] # YI SYLLABLE HIEX
-A270 ; [.346B.0020.0002.A270] # YI SYLLABLE HIE
-A271 ; [.346C.0020.0002.A271] # YI SYLLABLE HAT
-A272 ; [.346D.0020.0002.A272] # YI SYLLABLE HAX
-A273 ; [.346E.0020.0002.A273] # YI SYLLABLE HA
-A274 ; [.346F.0020.0002.A274] # YI SYLLABLE HAP
-A275 ; [.3470.0020.0002.A275] # YI SYLLABLE HUOT
-A276 ; [.3471.0020.0002.A276] # YI SYLLABLE HUOX
-A277 ; [.3472.0020.0002.A277] # YI SYLLABLE HUO
-A278 ; [.3473.0020.0002.A278] # YI SYLLABLE HUOP
-A279 ; [.3474.0020.0002.A279] # YI SYLLABLE HOT
-A27A ; [.3475.0020.0002.A27A] # YI SYLLABLE HOX
-A27B ; [.3476.0020.0002.A27B] # YI SYLLABLE HO
-A27C ; [.3477.0020.0002.A27C] # YI SYLLABLE HOP
-A27D ; [.3478.0020.0002.A27D] # YI SYLLABLE HEX
-A27E ; [.3479.0020.0002.A27E] # YI SYLLABLE HE
-A27F ; [.347A.0020.0002.A27F] # YI SYLLABLE HEP
-A280 ; [.347B.0020.0002.A280] # YI SYLLABLE WAT
-A281 ; [.347C.0020.0002.A281] # YI SYLLABLE WAX
-A282 ; [.347D.0020.0002.A282] # YI SYLLABLE WA
-A283 ; [.347E.0020.0002.A283] # YI SYLLABLE WAP
-A284 ; [.347F.0020.0002.A284] # YI SYLLABLE WUOX
-A285 ; [.3480.0020.0002.A285] # YI SYLLABLE WUO
-A286 ; [.3481.0020.0002.A286] # YI SYLLABLE WUOP
-A287 ; [.3482.0020.0002.A287] # YI SYLLABLE WOX
-A288 ; [.3483.0020.0002.A288] # YI SYLLABLE WO
-A289 ; [.3484.0020.0002.A289] # YI SYLLABLE WOP
-A28A ; [.3485.0020.0002.A28A] # YI SYLLABLE WEX
-A28B ; [.3486.0020.0002.A28B] # YI SYLLABLE WE
-A28C ; [.3487.0020.0002.A28C] # YI SYLLABLE WEP
-A28D ; [.3488.0020.0002.A28D] # YI SYLLABLE ZIT
-A28E ; [.3489.0020.0002.A28E] # YI SYLLABLE ZIX
-A28F ; [.348A.0020.0002.A28F] # YI SYLLABLE ZI
-A290 ; [.348B.0020.0002.A290] # YI SYLLABLE ZIP
-A291 ; [.348C.0020.0002.A291] # YI SYLLABLE ZIEX
-A292 ; [.348D.0020.0002.A292] # YI SYLLABLE ZIE
-A293 ; [.348E.0020.0002.A293] # YI SYLLABLE ZIEP
-A294 ; [.348F.0020.0002.A294] # YI SYLLABLE ZAT
-A295 ; [.3490.0020.0002.A295] # YI SYLLABLE ZAX
-A296 ; [.3491.0020.0002.A296] # YI SYLLABLE ZA
-A297 ; [.3492.0020.0002.A297] # YI SYLLABLE ZAP
-A298 ; [.3493.0020.0002.A298] # YI SYLLABLE ZUOX
-A299 ; [.3494.0020.0002.A299] # YI SYLLABLE ZUO
-A29A ; [.3495.0020.0002.A29A] # YI SYLLABLE ZUOP
-A29B ; [.3496.0020.0002.A29B] # YI SYLLABLE ZOT
-A29C ; [.3497.0020.0002.A29C] # YI SYLLABLE ZOX
-A29D ; [.3498.0020.0002.A29D] # YI SYLLABLE ZO
-A29E ; [.3499.0020.0002.A29E] # YI SYLLABLE ZOP
-A29F ; [.349A.0020.0002.A29F] # YI SYLLABLE ZEX
-A2A0 ; [.349B.0020.0002.A2A0] # YI SYLLABLE ZE
-A2A1 ; [.349C.0020.0002.A2A1] # YI SYLLABLE ZEP
-A2A2 ; [.349D.0020.0002.A2A2] # YI SYLLABLE ZUT
-A2A3 ; [.349E.0020.0002.A2A3] # YI SYLLABLE ZUX
-A2A4 ; [.349F.0020.0002.A2A4] # YI SYLLABLE ZU
-A2A5 ; [.34A0.0020.0002.A2A5] # YI SYLLABLE ZUP
-A2A6 ; [.34A1.0020.0002.A2A6] # YI SYLLABLE ZURX
-A2A7 ; [.34A2.0020.0002.A2A7] # YI SYLLABLE ZUR
-A2A8 ; [.34A3.0020.0002.A2A8] # YI SYLLABLE ZYT
-A2A9 ; [.34A4.0020.0002.A2A9] # YI SYLLABLE ZYX
-A2AA ; [.34A5.0020.0002.A2AA] # YI SYLLABLE ZY
-A2AB ; [.34A6.0020.0002.A2AB] # YI SYLLABLE ZYP
-A2AC ; [.34A7.0020.0002.A2AC] # YI SYLLABLE ZYRX
-A2AD ; [.34A8.0020.0002.A2AD] # YI SYLLABLE ZYR
-A2AE ; [.34A9.0020.0002.A2AE] # YI SYLLABLE CIT
-A2AF ; [.34AA.0020.0002.A2AF] # YI SYLLABLE CIX
-A2B0 ; [.34AB.0020.0002.A2B0] # YI SYLLABLE CI
-A2B1 ; [.34AC.0020.0002.A2B1] # YI SYLLABLE CIP
-A2B2 ; [.34AD.0020.0002.A2B2] # YI SYLLABLE CIET
-A2B3 ; [.34AE.0020.0002.A2B3] # YI SYLLABLE CIEX
-A2B4 ; [.34AF.0020.0002.A2B4] # YI SYLLABLE CIE
-A2B5 ; [.34B0.0020.0002.A2B5] # YI SYLLABLE CIEP
-A2B6 ; [.34B1.0020.0002.A2B6] # YI SYLLABLE CAT
-A2B7 ; [.34B2.0020.0002.A2B7] # YI SYLLABLE CAX
-A2B8 ; [.34B3.0020.0002.A2B8] # YI SYLLABLE CA
-A2B9 ; [.34B4.0020.0002.A2B9] # YI SYLLABLE CAP
-A2BA ; [.34B5.0020.0002.A2BA] # YI SYLLABLE CUOX
-A2BB ; [.34B6.0020.0002.A2BB] # YI SYLLABLE CUO
-A2BC ; [.34B7.0020.0002.A2BC] # YI SYLLABLE CUOP
-A2BD ; [.34B8.0020.0002.A2BD] # YI SYLLABLE COT
-A2BE ; [.34B9.0020.0002.A2BE] # YI SYLLABLE COX
-A2BF ; [.34BA.0020.0002.A2BF] # YI SYLLABLE CO
-A2C0 ; [.34BB.0020.0002.A2C0] # YI SYLLABLE COP
-A2C1 ; [.34BC.0020.0002.A2C1] # YI SYLLABLE CEX
-A2C2 ; [.34BD.0020.0002.A2C2] # YI SYLLABLE CE
-A2C3 ; [.34BE.0020.0002.A2C3] # YI SYLLABLE CEP
-A2C4 ; [.34BF.0020.0002.A2C4] # YI SYLLABLE CUT
-A2C5 ; [.34C0.0020.0002.A2C5] # YI SYLLABLE CUX
-A2C6 ; [.34C1.0020.0002.A2C6] # YI SYLLABLE CU
-A2C7 ; [.34C2.0020.0002.A2C7] # YI SYLLABLE CUP
-A2C8 ; [.34C3.0020.0002.A2C8] # YI SYLLABLE CURX
-A2C9 ; [.34C4.0020.0002.A2C9] # YI SYLLABLE CUR
-A2CA ; [.34C5.0020.0002.A2CA] # YI SYLLABLE CYT
-A2CB ; [.34C6.0020.0002.A2CB] # YI SYLLABLE CYX
-A2CC ; [.34C7.0020.0002.A2CC] # YI SYLLABLE CY
-A2CD ; [.34C8.0020.0002.A2CD] # YI SYLLABLE CYP
-A2CE ; [.34C9.0020.0002.A2CE] # YI SYLLABLE CYRX
-A2CF ; [.34CA.0020.0002.A2CF] # YI SYLLABLE CYR
-A2D0 ; [.34CB.0020.0002.A2D0] # YI SYLLABLE ZZIT
-A2D1 ; [.34CC.0020.0002.A2D1] # YI SYLLABLE ZZIX
-A2D2 ; [.34CD.0020.0002.A2D2] # YI SYLLABLE ZZI
-A2D3 ; [.34CE.0020.0002.A2D3] # YI SYLLABLE ZZIP
-A2D4 ; [.34CF.0020.0002.A2D4] # YI SYLLABLE ZZIET
-A2D5 ; [.34D0.0020.0002.A2D5] # YI SYLLABLE ZZIEX
-A2D6 ; [.34D1.0020.0002.A2D6] # YI SYLLABLE ZZIE
-A2D7 ; [.34D2.0020.0002.A2D7] # YI SYLLABLE ZZIEP
-A2D8 ; [.34D3.0020.0002.A2D8] # YI SYLLABLE ZZAT
-A2D9 ; [.34D4.0020.0002.A2D9] # YI SYLLABLE ZZAX
-A2DA ; [.34D5.0020.0002.A2DA] # YI SYLLABLE ZZA
-A2DB ; [.34D6.0020.0002.A2DB] # YI SYLLABLE ZZAP
-A2DC ; [.34D7.0020.0002.A2DC] # YI SYLLABLE ZZOX
-A2DD ; [.34D8.0020.0002.A2DD] # YI SYLLABLE ZZO
-A2DE ; [.34D9.0020.0002.A2DE] # YI SYLLABLE ZZOP
-A2DF ; [.34DA.0020.0002.A2DF] # YI SYLLABLE ZZEX
-A2E0 ; [.34DB.0020.0002.A2E0] # YI SYLLABLE ZZE
-A2E1 ; [.34DC.0020.0002.A2E1] # YI SYLLABLE ZZEP
-A2E2 ; [.34DD.0020.0002.A2E2] # YI SYLLABLE ZZUX
-A2E3 ; [.34DE.0020.0002.A2E3] # YI SYLLABLE ZZU
-A2E4 ; [.34DF.0020.0002.A2E4] # YI SYLLABLE ZZUP
-A2E5 ; [.34E0.0020.0002.A2E5] # YI SYLLABLE ZZURX
-A2E6 ; [.34E1.0020.0002.A2E6] # YI SYLLABLE ZZUR
-A2E7 ; [.34E2.0020.0002.A2E7] # YI SYLLABLE ZZYT
-A2E8 ; [.34E3.0020.0002.A2E8] # YI SYLLABLE ZZYX
-A2E9 ; [.34E4.0020.0002.A2E9] # YI SYLLABLE ZZY
-A2EA ; [.34E5.0020.0002.A2EA] # YI SYLLABLE ZZYP
-A2EB ; [.34E6.0020.0002.A2EB] # YI SYLLABLE ZZYRX
-A2EC ; [.34E7.0020.0002.A2EC] # YI SYLLABLE ZZYR
-A2ED ; [.34E8.0020.0002.A2ED] # YI SYLLABLE NZIT
-A2EE ; [.34E9.0020.0002.A2EE] # YI SYLLABLE NZIX
-A2EF ; [.34EA.0020.0002.A2EF] # YI SYLLABLE NZI
-A2F0 ; [.34EB.0020.0002.A2F0] # YI SYLLABLE NZIP
-A2F1 ; [.34EC.0020.0002.A2F1] # YI SYLLABLE NZIEX
-A2F2 ; [.34ED.0020.0002.A2F2] # YI SYLLABLE NZIE
-A2F3 ; [.34EE.0020.0002.A2F3] # YI SYLLABLE NZIEP
-A2F4 ; [.34EF.0020.0002.A2F4] # YI SYLLABLE NZAT
-A2F5 ; [.34F0.0020.0002.A2F5] # YI SYLLABLE NZAX
-A2F6 ; [.34F1.0020.0002.A2F6] # YI SYLLABLE NZA
-A2F7 ; [.34F2.0020.0002.A2F7] # YI SYLLABLE NZAP
-A2F8 ; [.34F3.0020.0002.A2F8] # YI SYLLABLE NZUOX
-A2F9 ; [.34F4.0020.0002.A2F9] # YI SYLLABLE NZUO
-A2FA ; [.34F5.0020.0002.A2FA] # YI SYLLABLE NZOX
-A2FB ; [.34F6.0020.0002.A2FB] # YI SYLLABLE NZOP
-A2FC ; [.34F7.0020.0002.A2FC] # YI SYLLABLE NZEX
-A2FD ; [.34F8.0020.0002.A2FD] # YI SYLLABLE NZE
-A2FE ; [.34F9.0020.0002.A2FE] # YI SYLLABLE NZUX
-A2FF ; [.34FA.0020.0002.A2FF] # YI SYLLABLE NZU
-A300 ; [.34FB.0020.0002.A300] # YI SYLLABLE NZUP
-A301 ; [.34FC.0020.0002.A301] # YI SYLLABLE NZURX
-A302 ; [.34FD.0020.0002.A302] # YI SYLLABLE NZUR
-A303 ; [.34FE.0020.0002.A303] # YI SYLLABLE NZYT
-A304 ; [.34FF.0020.0002.A304] # YI SYLLABLE NZYX
-A305 ; [.3500.0020.0002.A305] # YI SYLLABLE NZY
-A306 ; [.3501.0020.0002.A306] # YI SYLLABLE NZYP
-A307 ; [.3502.0020.0002.A307] # YI SYLLABLE NZYRX
-A308 ; [.3503.0020.0002.A308] # YI SYLLABLE NZYR
-A309 ; [.3504.0020.0002.A309] # YI SYLLABLE SIT
-A30A ; [.3505.0020.0002.A30A] # YI SYLLABLE SIX
-A30B ; [.3506.0020.0002.A30B] # YI SYLLABLE SI
-A30C ; [.3507.0020.0002.A30C] # YI SYLLABLE SIP
-A30D ; [.3508.0020.0002.A30D] # YI SYLLABLE SIEX
-A30E ; [.3509.0020.0002.A30E] # YI SYLLABLE SIE
-A30F ; [.350A.0020.0002.A30F] # YI SYLLABLE SIEP
-A310 ; [.350B.0020.0002.A310] # YI SYLLABLE SAT
-A311 ; [.350C.0020.0002.A311] # YI SYLLABLE SAX
-A312 ; [.350D.0020.0002.A312] # YI SYLLABLE SA
-A313 ; [.350E.0020.0002.A313] # YI SYLLABLE SAP
-A314 ; [.350F.0020.0002.A314] # YI SYLLABLE SUOX
-A315 ; [.3510.0020.0002.A315] # YI SYLLABLE SUO
-A316 ; [.3511.0020.0002.A316] # YI SYLLABLE SUOP
-A317 ; [.3512.0020.0002.A317] # YI SYLLABLE SOT
-A318 ; [.3513.0020.0002.A318] # YI SYLLABLE SOX
-A319 ; [.3514.0020.0002.A319] # YI SYLLABLE SO
-A31A ; [.3515.0020.0002.A31A] # YI SYLLABLE SOP
-A31B ; [.3516.0020.0002.A31B] # YI SYLLABLE SEX
-A31C ; [.3517.0020.0002.A31C] # YI SYLLABLE SE
-A31D ; [.3518.0020.0002.A31D] # YI SYLLABLE SEP
-A31E ; [.3519.0020.0002.A31E] # YI SYLLABLE SUT
-A31F ; [.351A.0020.0002.A31F] # YI SYLLABLE SUX
-A320 ; [.351B.0020.0002.A320] # YI SYLLABLE SU
-A321 ; [.351C.0020.0002.A321] # YI SYLLABLE SUP
-A322 ; [.351D.0020.0002.A322] # YI SYLLABLE SURX
-A323 ; [.351E.0020.0002.A323] # YI SYLLABLE SUR
-A324 ; [.351F.0020.0002.A324] # YI SYLLABLE SYT
-A325 ; [.3520.0020.0002.A325] # YI SYLLABLE SYX
-A326 ; [.3521.0020.0002.A326] # YI SYLLABLE SY
-A327 ; [.3522.0020.0002.A327] # YI SYLLABLE SYP
-A328 ; [.3523.0020.0002.A328] # YI SYLLABLE SYRX
-A329 ; [.3524.0020.0002.A329] # YI SYLLABLE SYR
-A32A ; [.3525.0020.0002.A32A] # YI SYLLABLE SSIT
-A32B ; [.3526.0020.0002.A32B] # YI SYLLABLE SSIX
-A32C ; [.3527.0020.0002.A32C] # YI SYLLABLE SSI
-A32D ; [.3528.0020.0002.A32D] # YI SYLLABLE SSIP
-A32E ; [.3529.0020.0002.A32E] # YI SYLLABLE SSIEX
-A32F ; [.352A.0020.0002.A32F] # YI SYLLABLE SSIE
-A330 ; [.352B.0020.0002.A330] # YI SYLLABLE SSIEP
-A331 ; [.352C.0020.0002.A331] # YI SYLLABLE SSAT
-A332 ; [.352D.0020.0002.A332] # YI SYLLABLE SSAX
-A333 ; [.352E.0020.0002.A333] # YI SYLLABLE SSA
-A334 ; [.352F.0020.0002.A334] # YI SYLLABLE SSAP
-A335 ; [.3530.0020.0002.A335] # YI SYLLABLE SSOT
-A336 ; [.3531.0020.0002.A336] # YI SYLLABLE SSOX
-A337 ; [.3532.0020.0002.A337] # YI SYLLABLE SSO
-A338 ; [.3533.0020.0002.A338] # YI SYLLABLE SSOP
-A339 ; [.3534.0020.0002.A339] # YI SYLLABLE SSEX
-A33A ; [.3535.0020.0002.A33A] # YI SYLLABLE SSE
-A33B ; [.3536.0020.0002.A33B] # YI SYLLABLE SSEP
-A33C ; [.3537.0020.0002.A33C] # YI SYLLABLE SSUT
-A33D ; [.3538.0020.0002.A33D] # YI SYLLABLE SSUX
-A33E ; [.3539.0020.0002.A33E] # YI SYLLABLE SSU
-A33F ; [.353A.0020.0002.A33F] # YI SYLLABLE SSUP
-A340 ; [.353B.0020.0002.A340] # YI SYLLABLE SSYT
-A341 ; [.353C.0020.0002.A341] # YI SYLLABLE SSYX
-A342 ; [.353D.0020.0002.A342] # YI SYLLABLE SSY
-A343 ; [.353E.0020.0002.A343] # YI SYLLABLE SSYP
-A344 ; [.353F.0020.0002.A344] # YI SYLLABLE SSYRX
-A345 ; [.3540.0020.0002.A345] # YI SYLLABLE SSYR
-A346 ; [.3541.0020.0002.A346] # YI SYLLABLE ZHAT
-A347 ; [.3542.0020.0002.A347] # YI SYLLABLE ZHAX
-A348 ; [.3543.0020.0002.A348] # YI SYLLABLE ZHA
-A349 ; [.3544.0020.0002.A349] # YI SYLLABLE ZHAP
-A34A ; [.3545.0020.0002.A34A] # YI SYLLABLE ZHUOX
-A34B ; [.3546.0020.0002.A34B] # YI SYLLABLE ZHUO
-A34C ; [.3547.0020.0002.A34C] # YI SYLLABLE ZHUOP
-A34D ; [.3548.0020.0002.A34D] # YI SYLLABLE ZHOT
-A34E ; [.3549.0020.0002.A34E] # YI SYLLABLE ZHOX
-A34F ; [.354A.0020.0002.A34F] # YI SYLLABLE ZHO
-A350 ; [.354B.0020.0002.A350] # YI SYLLABLE ZHOP
-A351 ; [.354C.0020.0002.A351] # YI SYLLABLE ZHET
-A352 ; [.354D.0020.0002.A352] # YI SYLLABLE ZHEX
-A353 ; [.354E.0020.0002.A353] # YI SYLLABLE ZHE
-A354 ; [.354F.0020.0002.A354] # YI SYLLABLE ZHEP
-A355 ; [.3550.0020.0002.A355] # YI SYLLABLE ZHUT
-A356 ; [.3551.0020.0002.A356] # YI SYLLABLE ZHUX
-A357 ; [.3552.0020.0002.A357] # YI SYLLABLE ZHU
-A358 ; [.3553.0020.0002.A358] # YI SYLLABLE ZHUP
-A359 ; [.3554.0020.0002.A359] # YI SYLLABLE ZHURX
-A35A ; [.3555.0020.0002.A35A] # YI SYLLABLE ZHUR
-A35B ; [.3556.0020.0002.A35B] # YI SYLLABLE ZHYT
-A35C ; [.3557.0020.0002.A35C] # YI SYLLABLE ZHYX
-A35D ; [.3558.0020.0002.A35D] # YI SYLLABLE ZHY
-A35E ; [.3559.0020.0002.A35E] # YI SYLLABLE ZHYP
-A35F ; [.355A.0020.0002.A35F] # YI SYLLABLE ZHYRX
-A360 ; [.355B.0020.0002.A360] # YI SYLLABLE ZHYR
-A361 ; [.355C.0020.0002.A361] # YI SYLLABLE CHAT
-A362 ; [.355D.0020.0002.A362] # YI SYLLABLE CHAX
-A363 ; [.355E.0020.0002.A363] # YI SYLLABLE CHA
-A364 ; [.355F.0020.0002.A364] # YI SYLLABLE CHAP
-A365 ; [.3560.0020.0002.A365] # YI SYLLABLE CHUOT
-A366 ; [.3561.0020.0002.A366] # YI SYLLABLE CHUOX
-A367 ; [.3562.0020.0002.A367] # YI SYLLABLE CHUO
-A368 ; [.3563.0020.0002.A368] # YI SYLLABLE CHUOP
-A369 ; [.3564.0020.0002.A369] # YI SYLLABLE CHOT
-A36A ; [.3565.0020.0002.A36A] # YI SYLLABLE CHOX
-A36B ; [.3566.0020.0002.A36B] # YI SYLLABLE CHO
-A36C ; [.3567.0020.0002.A36C] # YI SYLLABLE CHOP
-A36D ; [.3568.0020.0002.A36D] # YI SYLLABLE CHET
-A36E ; [.3569.0020.0002.A36E] # YI SYLLABLE CHEX
-A36F ; [.356A.0020.0002.A36F] # YI SYLLABLE CHE
-A370 ; [.356B.0020.0002.A370] # YI SYLLABLE CHEP
-A371 ; [.356C.0020.0002.A371] # YI SYLLABLE CHUX
-A372 ; [.356D.0020.0002.A372] # YI SYLLABLE CHU
-A373 ; [.356E.0020.0002.A373] # YI SYLLABLE CHUP
-A374 ; [.356F.0020.0002.A374] # YI SYLLABLE CHURX
-A375 ; [.3570.0020.0002.A375] # YI SYLLABLE CHUR
-A376 ; [.3571.0020.0002.A376] # YI SYLLABLE CHYT
-A377 ; [.3572.0020.0002.A377] # YI SYLLABLE CHYX
-A378 ; [.3573.0020.0002.A378] # YI SYLLABLE CHY
-A379 ; [.3574.0020.0002.A379] # YI SYLLABLE CHYP
-A37A ; [.3575.0020.0002.A37A] # YI SYLLABLE CHYRX
-A37B ; [.3576.0020.0002.A37B] # YI SYLLABLE CHYR
-A37C ; [.3577.0020.0002.A37C] # YI SYLLABLE RRAX
-A37D ; [.3578.0020.0002.A37D] # YI SYLLABLE RRA
-A37E ; [.3579.0020.0002.A37E] # YI SYLLABLE RRUOX
-A37F ; [.357A.0020.0002.A37F] # YI SYLLABLE RRUO
-A380 ; [.357B.0020.0002.A380] # YI SYLLABLE RROT
-A381 ; [.357C.0020.0002.A381] # YI SYLLABLE RROX
-A382 ; [.357D.0020.0002.A382] # YI SYLLABLE RRO
-A383 ; [.357E.0020.0002.A383] # YI SYLLABLE RROP
-A384 ; [.357F.0020.0002.A384] # YI SYLLABLE RRET
-A385 ; [.3580.0020.0002.A385] # YI SYLLABLE RREX
-A386 ; [.3581.0020.0002.A386] # YI SYLLABLE RRE
-A387 ; [.3582.0020.0002.A387] # YI SYLLABLE RREP
-A388 ; [.3583.0020.0002.A388] # YI SYLLABLE RRUT
-A389 ; [.3584.0020.0002.A389] # YI SYLLABLE RRUX
-A38A ; [.3585.0020.0002.A38A] # YI SYLLABLE RRU
-A38B ; [.3586.0020.0002.A38B] # YI SYLLABLE RRUP
-A38C ; [.3587.0020.0002.A38C] # YI SYLLABLE RRURX
-A38D ; [.3588.0020.0002.A38D] # YI SYLLABLE RRUR
-A38E ; [.3589.0020.0002.A38E] # YI SYLLABLE RRYT
-A38F ; [.358A.0020.0002.A38F] # YI SYLLABLE RRYX
-A390 ; [.358B.0020.0002.A390] # YI SYLLABLE RRY
-A391 ; [.358C.0020.0002.A391] # YI SYLLABLE RRYP
-A392 ; [.358D.0020.0002.A392] # YI SYLLABLE RRYRX
-A393 ; [.358E.0020.0002.A393] # YI SYLLABLE RRYR
-A394 ; [.358F.0020.0002.A394] # YI SYLLABLE NRAT
-A395 ; [.3590.0020.0002.A395] # YI SYLLABLE NRAX
-A396 ; [.3591.0020.0002.A396] # YI SYLLABLE NRA
-A397 ; [.3592.0020.0002.A397] # YI SYLLABLE NRAP
-A398 ; [.3593.0020.0002.A398] # YI SYLLABLE NROX
-A399 ; [.3594.0020.0002.A399] # YI SYLLABLE NRO
-A39A ; [.3595.0020.0002.A39A] # YI SYLLABLE NROP
-A39B ; [.3596.0020.0002.A39B] # YI SYLLABLE NRET
-A39C ; [.3597.0020.0002.A39C] # YI SYLLABLE NREX
-A39D ; [.3598.0020.0002.A39D] # YI SYLLABLE NRE
-A39E ; [.3599.0020.0002.A39E] # YI SYLLABLE NREP
-A39F ; [.359A.0020.0002.A39F] # YI SYLLABLE NRUT
-A3A0 ; [.359B.0020.0002.A3A0] # YI SYLLABLE NRUX
-A3A1 ; [.359C.0020.0002.A3A1] # YI SYLLABLE NRU
-A3A2 ; [.359D.0020.0002.A3A2] # YI SYLLABLE NRUP
-A3A3 ; [.359E.0020.0002.A3A3] # YI SYLLABLE NRURX
-A3A4 ; [.359F.0020.0002.A3A4] # YI SYLLABLE NRUR
-A3A5 ; [.35A0.0020.0002.A3A5] # YI SYLLABLE NRYT
-A3A6 ; [.35A1.0020.0002.A3A6] # YI SYLLABLE NRYX
-A3A7 ; [.35A2.0020.0002.A3A7] # YI SYLLABLE NRY
-A3A8 ; [.35A3.0020.0002.A3A8] # YI SYLLABLE NRYP
-A3A9 ; [.35A4.0020.0002.A3A9] # YI SYLLABLE NRYRX
-A3AA ; [.35A5.0020.0002.A3AA] # YI SYLLABLE NRYR
-A3AB ; [.35A6.0020.0002.A3AB] # YI SYLLABLE SHAT
-A3AC ; [.35A7.0020.0002.A3AC] # YI SYLLABLE SHAX
-A3AD ; [.35A8.0020.0002.A3AD] # YI SYLLABLE SHA
-A3AE ; [.35A9.0020.0002.A3AE] # YI SYLLABLE SHAP
-A3AF ; [.35AA.0020.0002.A3AF] # YI SYLLABLE SHUOX
-A3B0 ; [.35AB.0020.0002.A3B0] # YI SYLLABLE SHUO
-A3B1 ; [.35AC.0020.0002.A3B1] # YI SYLLABLE SHUOP
-A3B2 ; [.35AD.0020.0002.A3B2] # YI SYLLABLE SHOT
-A3B3 ; [.35AE.0020.0002.A3B3] # YI SYLLABLE SHOX
-A3B4 ; [.35AF.0020.0002.A3B4] # YI SYLLABLE SHO
-A3B5 ; [.35B0.0020.0002.A3B5] # YI SYLLABLE SHOP
-A3B6 ; [.35B1.0020.0002.A3B6] # YI SYLLABLE SHET
-A3B7 ; [.35B2.0020.0002.A3B7] # YI SYLLABLE SHEX
-A3B8 ; [.35B3.0020.0002.A3B8] # YI SYLLABLE SHE
-A3B9 ; [.35B4.0020.0002.A3B9] # YI SYLLABLE SHEP
-A3BA ; [.35B5.0020.0002.A3BA] # YI SYLLABLE SHUT
-A3BB ; [.35B6.0020.0002.A3BB] # YI SYLLABLE SHUX
-A3BC ; [.35B7.0020.0002.A3BC] # YI SYLLABLE SHU
-A3BD ; [.35B8.0020.0002.A3BD] # YI SYLLABLE SHUP
-A3BE ; [.35B9.0020.0002.A3BE] # YI SYLLABLE SHURX
-A3BF ; [.35BA.0020.0002.A3BF] # YI SYLLABLE SHUR
-A3C0 ; [.35BB.0020.0002.A3C0] # YI SYLLABLE SHYT
-A3C1 ; [.35BC.0020.0002.A3C1] # YI SYLLABLE SHYX
-A3C2 ; [.35BD.0020.0002.A3C2] # YI SYLLABLE SHY
-A3C3 ; [.35BE.0020.0002.A3C3] # YI SYLLABLE SHYP
-A3C4 ; [.35BF.0020.0002.A3C4] # YI SYLLABLE SHYRX
-A3C5 ; [.35C0.0020.0002.A3C5] # YI SYLLABLE SHYR
-A3C6 ; [.35C1.0020.0002.A3C6] # YI SYLLABLE RAT
-A3C7 ; [.35C2.0020.0002.A3C7] # YI SYLLABLE RAX
-A3C8 ; [.35C3.0020.0002.A3C8] # YI SYLLABLE RA
-A3C9 ; [.35C4.0020.0002.A3C9] # YI SYLLABLE RAP
-A3CA ; [.35C5.0020.0002.A3CA] # YI SYLLABLE RUOX
-A3CB ; [.35C6.0020.0002.A3CB] # YI SYLLABLE RUO
-A3CC ; [.35C7.0020.0002.A3CC] # YI SYLLABLE RUOP
-A3CD ; [.35C8.0020.0002.A3CD] # YI SYLLABLE ROT
-A3CE ; [.35C9.0020.0002.A3CE] # YI SYLLABLE ROX
-A3CF ; [.35CA.0020.0002.A3CF] # YI SYLLABLE RO
-A3D0 ; [.35CB.0020.0002.A3D0] # YI SYLLABLE ROP
-A3D1 ; [.35CC.0020.0002.A3D1] # YI SYLLABLE REX
-A3D2 ; [.35CD.0020.0002.A3D2] # YI SYLLABLE RE
-A3D3 ; [.35CE.0020.0002.A3D3] # YI SYLLABLE REP
-A3D4 ; [.35CF.0020.0002.A3D4] # YI SYLLABLE RUT
-A3D5 ; [.35D0.0020.0002.A3D5] # YI SYLLABLE RUX
-A3D6 ; [.35D1.0020.0002.A3D6] # YI SYLLABLE RU
-A3D7 ; [.35D2.0020.0002.A3D7] # YI SYLLABLE RUP
-A3D8 ; [.35D3.0020.0002.A3D8] # YI SYLLABLE RURX
-A3D9 ; [.35D4.0020.0002.A3D9] # YI SYLLABLE RUR
-A3DA ; [.35D5.0020.0002.A3DA] # YI SYLLABLE RYT
-A3DB ; [.35D6.0020.0002.A3DB] # YI SYLLABLE RYX
-A3DC ; [.35D7.0020.0002.A3DC] # YI SYLLABLE RY
-A3DD ; [.35D8.0020.0002.A3DD] # YI SYLLABLE RYP
-A3DE ; [.35D9.0020.0002.A3DE] # YI SYLLABLE RYRX
-A3DF ; [.35DA.0020.0002.A3DF] # YI SYLLABLE RYR
-A3E0 ; [.35DB.0020.0002.A3E0] # YI SYLLABLE JIT
-A3E1 ; [.35DC.0020.0002.A3E1] # YI SYLLABLE JIX
-A3E2 ; [.35DD.0020.0002.A3E2] # YI SYLLABLE JI
-A3E3 ; [.35DE.0020.0002.A3E3] # YI SYLLABLE JIP
-A3E4 ; [.35DF.0020.0002.A3E4] # YI SYLLABLE JIET
-A3E5 ; [.35E0.0020.0002.A3E5] # YI SYLLABLE JIEX
-A3E6 ; [.35E1.0020.0002.A3E6] # YI SYLLABLE JIE
-A3E7 ; [.35E2.0020.0002.A3E7] # YI SYLLABLE JIEP
-A3E8 ; [.35E3.0020.0002.A3E8] # YI SYLLABLE JUOT
-A3E9 ; [.35E4.0020.0002.A3E9] # YI SYLLABLE JUOX
-A3EA ; [.35E5.0020.0002.A3EA] # YI SYLLABLE JUO
-A3EB ; [.35E6.0020.0002.A3EB] # YI SYLLABLE JUOP
-A3EC ; [.35E7.0020.0002.A3EC] # YI SYLLABLE JOT
-A3ED ; [.35E8.0020.0002.A3ED] # YI SYLLABLE JOX
-A3EE ; [.35E9.0020.0002.A3EE] # YI SYLLABLE JO
-A3EF ; [.35EA.0020.0002.A3EF] # YI SYLLABLE JOP
-A3F0 ; [.35EB.0020.0002.A3F0] # YI SYLLABLE JUT
-A3F1 ; [.35EC.0020.0002.A3F1] # YI SYLLABLE JUX
-A3F2 ; [.35ED.0020.0002.A3F2] # YI SYLLABLE JU
-A3F3 ; [.35EE.0020.0002.A3F3] # YI SYLLABLE JUP
-A3F4 ; [.35EF.0020.0002.A3F4] # YI SYLLABLE JURX
-A3F5 ; [.35F0.0020.0002.A3F5] # YI SYLLABLE JUR
-A3F6 ; [.35F1.0020.0002.A3F6] # YI SYLLABLE JYT
-A3F7 ; [.35F2.0020.0002.A3F7] # YI SYLLABLE JYX
-A3F8 ; [.35F3.0020.0002.A3F8] # YI SYLLABLE JY
-A3F9 ; [.35F4.0020.0002.A3F9] # YI SYLLABLE JYP
-A3FA ; [.35F5.0020.0002.A3FA] # YI SYLLABLE JYRX
-A3FB ; [.35F6.0020.0002.A3FB] # YI SYLLABLE JYR
-A3FC ; [.35F7.0020.0002.A3FC] # YI SYLLABLE QIT
-A3FD ; [.35F8.0020.0002.A3FD] # YI SYLLABLE QIX
-A3FE ; [.35F9.0020.0002.A3FE] # YI SYLLABLE QI
-A3FF ; [.35FA.0020.0002.A3FF] # YI SYLLABLE QIP
-A400 ; [.35FB.0020.0002.A400] # YI SYLLABLE QIET
-A401 ; [.35FC.0020.0002.A401] # YI SYLLABLE QIEX
-A402 ; [.35FD.0020.0002.A402] # YI SYLLABLE QIE
-A403 ; [.35FE.0020.0002.A403] # YI SYLLABLE QIEP
-A404 ; [.35FF.0020.0002.A404] # YI SYLLABLE QUOT
-A405 ; [.3600.0020.0002.A405] # YI SYLLABLE QUOX
-A406 ; [.3601.0020.0002.A406] # YI SYLLABLE QUO
-A407 ; [.3602.0020.0002.A407] # YI SYLLABLE QUOP
-A408 ; [.3603.0020.0002.A408] # YI SYLLABLE QOT
-A409 ; [.3604.0020.0002.A409] # YI SYLLABLE QOX
-A40A ; [.3605.0020.0002.A40A] # YI SYLLABLE QO
-A40B ; [.3606.0020.0002.A40B] # YI SYLLABLE QOP
-A40C ; [.3607.0020.0002.A40C] # YI SYLLABLE QUT
-A40D ; [.3608.0020.0002.A40D] # YI SYLLABLE QUX
-A40E ; [.3609.0020.0002.A40E] # YI SYLLABLE QU
-A40F ; [.360A.0020.0002.A40F] # YI SYLLABLE QUP
-A410 ; [.360B.0020.0002.A410] # YI SYLLABLE QURX
-A411 ; [.360C.0020.0002.A411] # YI SYLLABLE QUR
-A412 ; [.360D.0020.0002.A412] # YI SYLLABLE QYT
-A413 ; [.360E.0020.0002.A413] # YI SYLLABLE QYX
-A414 ; [.360F.0020.0002.A414] # YI SYLLABLE QY
-A415 ; [.3610.0020.0002.A415] # YI SYLLABLE QYP
-A416 ; [.3611.0020.0002.A416] # YI SYLLABLE QYRX
-A417 ; [.3612.0020.0002.A417] # YI SYLLABLE QYR
-A418 ; [.3613.0020.0002.A418] # YI SYLLABLE JJIT
-A419 ; [.3614.0020.0002.A419] # YI SYLLABLE JJIX
-A41A ; [.3615.0020.0002.A41A] # YI SYLLABLE JJI
-A41B ; [.3616.0020.0002.A41B] # YI SYLLABLE JJIP
-A41C ; [.3617.0020.0002.A41C] # YI SYLLABLE JJIET
-A41D ; [.3618.0020.0002.A41D] # YI SYLLABLE JJIEX
-A41E ; [.3619.0020.0002.A41E] # YI SYLLABLE JJIE
-A41F ; [.361A.0020.0002.A41F] # YI SYLLABLE JJIEP
-A420 ; [.361B.0020.0002.A420] # YI SYLLABLE JJUOX
-A421 ; [.361C.0020.0002.A421] # YI SYLLABLE JJUO
-A422 ; [.361D.0020.0002.A422] # YI SYLLABLE JJUOP
-A423 ; [.361E.0020.0002.A423] # YI SYLLABLE JJOT
-A424 ; [.361F.0020.0002.A424] # YI SYLLABLE JJOX
-A425 ; [.3620.0020.0002.A425] # YI SYLLABLE JJO
-A426 ; [.3621.0020.0002.A426] # YI SYLLABLE JJOP
-A427 ; [.3622.0020.0002.A427] # YI SYLLABLE JJUT
-A428 ; [.3623.0020.0002.A428] # YI SYLLABLE JJUX
-A429 ; [.3624.0020.0002.A429] # YI SYLLABLE JJU
-A42A ; [.3625.0020.0002.A42A] # YI SYLLABLE JJUP
-A42B ; [.3626.0020.0002.A42B] # YI SYLLABLE JJURX
-A42C ; [.3627.0020.0002.A42C] # YI SYLLABLE JJUR
-A42D ; [.3628.0020.0002.A42D] # YI SYLLABLE JJYT
-A42E ; [.3629.0020.0002.A42E] # YI SYLLABLE JJYX
-A42F ; [.362A.0020.0002.A42F] # YI SYLLABLE JJY
-A430 ; [.362B.0020.0002.A430] # YI SYLLABLE JJYP
-A431 ; [.362C.0020.0002.A431] # YI SYLLABLE NJIT
-A432 ; [.362D.0020.0002.A432] # YI SYLLABLE NJIX
-A433 ; [.362E.0020.0002.A433] # YI SYLLABLE NJI
-A434 ; [.362F.0020.0002.A434] # YI SYLLABLE NJIP
-A435 ; [.3630.0020.0002.A435] # YI SYLLABLE NJIET
-A436 ; [.3631.0020.0002.A436] # YI SYLLABLE NJIEX
-A437 ; [.3632.0020.0002.A437] # YI SYLLABLE NJIE
-A438 ; [.3633.0020.0002.A438] # YI SYLLABLE NJIEP
-A439 ; [.3634.0020.0002.A439] # YI SYLLABLE NJUOX
-A43A ; [.3635.0020.0002.A43A] # YI SYLLABLE NJUO
-A43B ; [.3636.0020.0002.A43B] # YI SYLLABLE NJOT
-A43C ; [.3637.0020.0002.A43C] # YI SYLLABLE NJOX
-A43D ; [.3638.0020.0002.A43D] # YI SYLLABLE NJO
-A43E ; [.3639.0020.0002.A43E] # YI SYLLABLE NJOP
-A43F ; [.363A.0020.0002.A43F] # YI SYLLABLE NJUX
-A440 ; [.363B.0020.0002.A440] # YI SYLLABLE NJU
-A441 ; [.363C.0020.0002.A441] # YI SYLLABLE NJUP
-A442 ; [.363D.0020.0002.A442] # YI SYLLABLE NJURX
-A443 ; [.363E.0020.0002.A443] # YI SYLLABLE NJUR
-A444 ; [.363F.0020.0002.A444] # YI SYLLABLE NJYT
-A445 ; [.3640.0020.0002.A445] # YI SYLLABLE NJYX
-A446 ; [.3641.0020.0002.A446] # YI SYLLABLE NJY
-A447 ; [.3642.0020.0002.A447] # YI SYLLABLE NJYP
-A448 ; [.3643.0020.0002.A448] # YI SYLLABLE NJYRX
-A449 ; [.3644.0020.0002.A449] # YI SYLLABLE NJYR
-A44A ; [.3645.0020.0002.A44A] # YI SYLLABLE NYIT
-A44B ; [.3646.0020.0002.A44B] # YI SYLLABLE NYIX
-A44C ; [.3647.0020.0002.A44C] # YI SYLLABLE NYI
-A44D ; [.3648.0020.0002.A44D] # YI SYLLABLE NYIP
-A44E ; [.3649.0020.0002.A44E] # YI SYLLABLE NYIET
-A44F ; [.364A.0020.0002.A44F] # YI SYLLABLE NYIEX
-A450 ; [.364B.0020.0002.A450] # YI SYLLABLE NYIE
-A451 ; [.364C.0020.0002.A451] # YI SYLLABLE NYIEP
-A452 ; [.364D.0020.0002.A452] # YI SYLLABLE NYUOX
-A453 ; [.364E.0020.0002.A453] # YI SYLLABLE NYUO
-A454 ; [.364F.0020.0002.A454] # YI SYLLABLE NYUOP
-A455 ; [.3650.0020.0002.A455] # YI SYLLABLE NYOT
-A456 ; [.3651.0020.0002.A456] # YI SYLLABLE NYOX
-A457 ; [.3652.0020.0002.A457] # YI SYLLABLE NYO
-A458 ; [.3653.0020.0002.A458] # YI SYLLABLE NYOP
-A459 ; [.3654.0020.0002.A459] # YI SYLLABLE NYUT
-A45A ; [.3655.0020.0002.A45A] # YI SYLLABLE NYUX
-A45B ; [.3656.0020.0002.A45B] # YI SYLLABLE NYU
-A45C ; [.3657.0020.0002.A45C] # YI SYLLABLE NYUP
-A45D ; [.3658.0020.0002.A45D] # YI SYLLABLE XIT
-A45E ; [.3659.0020.0002.A45E] # YI SYLLABLE XIX
-A45F ; [.365A.0020.0002.A45F] # YI SYLLABLE XI
-A460 ; [.365B.0020.0002.A460] # YI SYLLABLE XIP
-A461 ; [.365C.0020.0002.A461] # YI SYLLABLE XIET
-A462 ; [.365D.0020.0002.A462] # YI SYLLABLE XIEX
-A463 ; [.365E.0020.0002.A463] # YI SYLLABLE XIE
-A464 ; [.365F.0020.0002.A464] # YI SYLLABLE XIEP
-A465 ; [.3660.0020.0002.A465] # YI SYLLABLE XUOX
-A466 ; [.3661.0020.0002.A466] # YI SYLLABLE XUO
-A467 ; [.3662.0020.0002.A467] # YI SYLLABLE XOT
-A468 ; [.3663.0020.0002.A468] # YI SYLLABLE XOX
-A469 ; [.3664.0020.0002.A469] # YI SYLLABLE XO
-A46A ; [.3665.0020.0002.A46A] # YI SYLLABLE XOP
-A46B ; [.3666.0020.0002.A46B] # YI SYLLABLE XYT
-A46C ; [.3667.0020.0002.A46C] # YI SYLLABLE XYX
-A46D ; [.3668.0020.0002.A46D] # YI SYLLABLE XY
-A46E ; [.3669.0020.0002.A46E] # YI SYLLABLE XYP
-A46F ; [.366A.0020.0002.A46F] # YI SYLLABLE XYRX
-A470 ; [.366B.0020.0002.A470] # YI SYLLABLE XYR
-A471 ; [.366C.0020.0002.A471] # YI SYLLABLE YIT
-A472 ; [.366D.0020.0002.A472] # YI SYLLABLE YIX
-A473 ; [.366E.0020.0002.A473] # YI SYLLABLE YI
-A474 ; [.366F.0020.0002.A474] # YI SYLLABLE YIP
-A475 ; [.3670.0020.0002.A475] # YI SYLLABLE YIET
-A476 ; [.3671.0020.0002.A476] # YI SYLLABLE YIEX
-A477 ; [.3672.0020.0002.A477] # YI SYLLABLE YIE
-A478 ; [.3673.0020.0002.A478] # YI SYLLABLE YIEP
-A479 ; [.3674.0020.0002.A479] # YI SYLLABLE YUOT
-A47A ; [.3675.0020.0002.A47A] # YI SYLLABLE YUOX
-A47B ; [.3676.0020.0002.A47B] # YI SYLLABLE YUO
-A47C ; [.3677.0020.0002.A47C] # YI SYLLABLE YUOP
-A47D ; [.3678.0020.0002.A47D] # YI SYLLABLE YOT
-A47E ; [.3679.0020.0002.A47E] # YI SYLLABLE YOX
-A47F ; [.367A.0020.0002.A47F] # YI SYLLABLE YO
-A480 ; [.367B.0020.0002.A480] # YI SYLLABLE YOP
-A481 ; [.367C.0020.0002.A481] # YI SYLLABLE YUT
-A482 ; [.367D.0020.0002.A482] # YI SYLLABLE YUX
-A483 ; [.367E.0020.0002.A483] # YI SYLLABLE YU
-A484 ; [.367F.0020.0002.A484] # YI SYLLABLE YUP
-A485 ; [.3680.0020.0002.A485] # YI SYLLABLE YURX
-A486 ; [.3681.0020.0002.A486] # YI SYLLABLE YUR
-A487 ; [.3682.0020.0002.A487] # YI SYLLABLE YYT
-A488 ; [.3683.0020.0002.A488] # YI SYLLABLE YYX
-A489 ; [.3684.0020.0002.A489] # YI SYLLABLE YY
-A48A ; [.3685.0020.0002.A48A] # YI SYLLABLE YYP
-A48B ; [.3686.0020.0002.A48B] # YI SYLLABLE YYRX
-A48C ; [.3687.0020.0002.A48C] # YI SYLLABLE YYR
-A4F8 ; [.3688.0020.0002.A4F8] # LISU LETTER TONE MYA TI
-A4F9 ; [.3689.0020.0002.A4F9] # LISU LETTER TONE NA PO
-A4FA ; [.368A.0020.0002.A4FA] # LISU LETTER TONE MYA CYA
-A4FB ; [.368B.0020.0002.A4FB] # LISU LETTER TONE MYA BO
-A4FD ; [.368C.0020.0002.A4FD] # LISU LETTER TONE MYA JEU
-A4FC ; [.368D.0020.0002.A4FC] # LISU LETTER TONE MYA NA
-A4D0 ; [.368E.0020.0002.A4D0] # LISU LETTER BA
-A4D1 ; [.368F.0020.0002.A4D1] # LISU LETTER PA
-A4D2 ; [.3690.0020.0002.A4D2] # LISU LETTER PHA
-A4D3 ; [.3691.0020.0002.A4D3] # LISU LETTER DA
-A4D4 ; [.3692.0020.0002.A4D4] # LISU LETTER TA
-A4D5 ; [.3693.0020.0002.A4D5] # LISU LETTER THA
-A4D6 ; [.3694.0020.0002.A4D6] # LISU LETTER GA
-A4D7 ; [.3695.0020.0002.A4D7] # LISU LETTER KA
-A4D8 ; [.3696.0020.0002.A4D8] # LISU LETTER KHA
-A4D9 ; [.3697.0020.0002.A4D9] # LISU LETTER JA
-A4DA ; [.3698.0020.0002.A4DA] # LISU LETTER CA
-A4DB ; [.3699.0020.0002.A4DB] # LISU LETTER CHA
-A4DC ; [.369A.0020.0002.A4DC] # LISU LETTER DZA
-A4DD ; [.369B.0020.0002.A4DD] # LISU LETTER TSA
-A4DE ; [.369C.0020.0002.A4DE] # LISU LETTER TSHA
-A4DF ; [.369D.0020.0002.A4DF] # LISU LETTER MA
-A4E0 ; [.369E.0020.0002.A4E0] # LISU LETTER NA
-A4E1 ; [.369F.0020.0002.A4E1] # LISU LETTER LA
-A4E2 ; [.36A0.0020.0002.A4E2] # LISU LETTER SA
-A4E3 ; [.36A1.0020.0002.A4E3] # LISU LETTER ZHA
-A4E4 ; [.36A2.0020.0002.A4E4] # LISU LETTER ZA
-A4E5 ; [.36A3.0020.0002.A4E5] # LISU LETTER NGA
-A4E6 ; [.36A4.0020.0002.A4E6] # LISU LETTER HA
-A4E7 ; [.36A5.0020.0002.A4E7] # LISU LETTER XA
-A4E8 ; [.36A6.0020.0002.A4E8] # LISU LETTER HHA
-A4E9 ; [.36A7.0020.0002.A4E9] # LISU LETTER FA
-A4EB ; [.36A8.0020.0002.A4EB] # LISU LETTER SHA
-A4ED ; [.36A9.0020.0002.A4ED] # LISU LETTER GHA
-A4EA ; [.36AA.0020.0002.A4EA] # LISU LETTER WA
-A4EC ; [.36AB.0020.0002.A4EC] # LISU LETTER YA
-A4EE ; [.36AC.0020.0002.A4EE] # LISU LETTER A
-A4EF ; [.36AD.0020.0002.A4EF] # LISU LETTER AE
-A4F0 ; [.36AE.0020.0002.A4F0] # LISU LETTER E
-A4F1 ; [.36AF.0020.0002.A4F1] # LISU LETTER EU
-A4F2 ; [.36B0.0020.0002.A4F2] # LISU LETTER I
-A4F3 ; [.36B1.0020.0002.A4F3] # LISU LETTER O
-A4F4 ; [.36B2.0020.0002.A4F4] # LISU LETTER U
-A4F5 ; [.36B3.0020.0002.A4F5] # LISU LETTER UE
-A4F6 ; [.36B4.0020.0002.A4F6] # LISU LETTER UH
-A4F7 ; [.36B5.0020.0002.A4F7] # LISU LETTER OE
-10280 ; [.36B6.0020.0002.10280] # LYCIAN LETTER A
-10281 ; [.36B7.0020.0002.10281] # LYCIAN LETTER E
-10282 ; [.36B8.0020.0002.10282] # LYCIAN LETTER B
-10283 ; [.36B9.0020.0002.10283] # LYCIAN LETTER BH
-10284 ; [.36BA.0020.0002.10284] # LYCIAN LETTER G
-10285 ; [.36BB.0020.0002.10285] # LYCIAN LETTER D
-10286 ; [.36BC.0020.0002.10286] # LYCIAN LETTER I
-10287 ; [.36BD.0020.0002.10287] # LYCIAN LETTER W
-10288 ; [.36BE.0020.0002.10288] # LYCIAN LETTER Z
-10289 ; [.36BF.0020.0002.10289] # LYCIAN LETTER TH
-1028A ; [.36C0.0020.0002.1028A] # LYCIAN LETTER J
-1028B ; [.36C1.0020.0002.1028B] # LYCIAN LETTER K
-1028C ; [.36C2.0020.0002.1028C] # LYCIAN LETTER Q
-1028D ; [.36C3.0020.0002.1028D] # LYCIAN LETTER L
-1028E ; [.36C4.0020.0002.1028E] # LYCIAN LETTER M
-1028F ; [.36C5.0020.0002.1028F] # LYCIAN LETTER N
-10290 ; [.36C6.0020.0002.10290] # LYCIAN LETTER MM
-10291 ; [.36C7.0020.0002.10291] # LYCIAN LETTER NN
-10292 ; [.36C8.0020.0002.10292] # LYCIAN LETTER U
-10293 ; [.36C9.0020.0002.10293] # LYCIAN LETTER P
-10294 ; [.36CA.0020.0002.10294] # LYCIAN LETTER KK
-10295 ; [.36CB.0020.0002.10295] # LYCIAN LETTER R
-10296 ; [.36CC.0020.0002.10296] # LYCIAN LETTER S
-10297 ; [.36CD.0020.0002.10297] # LYCIAN LETTER T
-10298 ; [.36CE.0020.0002.10298] # LYCIAN LETTER TT
-10299 ; [.36CF.0020.0002.10299] # LYCIAN LETTER AN
-1029A ; [.36D0.0020.0002.1029A] # LYCIAN LETTER EN
-1029B ; [.36D1.0020.0002.1029B] # LYCIAN LETTER H
-1029C ; [.36D2.0020.0002.1029C] # LYCIAN LETTER X
-102A0 ; [.36D3.0020.0002.102A0] # CARIAN LETTER A
-102A1 ; [.36D4.0020.0002.102A1] # CARIAN LETTER P2
-102A2 ; [.36D5.0020.0002.102A2] # CARIAN LETTER D
-102A3 ; [.36D6.0020.0002.102A3] # CARIAN LETTER L
-102A4 ; [.36D7.0020.0002.102A4] # CARIAN LETTER UUU
-102A5 ; [.36D8.0020.0002.102A5] # CARIAN LETTER R
-102A6 ; [.36D9.0020.0002.102A6] # CARIAN LETTER LD
-102A7 ; [.36DA.0020.0002.102A7] # CARIAN LETTER A2
-102A8 ; [.36DB.0020.0002.102A8] # CARIAN LETTER Q
-102A9 ; [.36DC.0020.0002.102A9] # CARIAN LETTER B
-102AA ; [.36DD.0020.0002.102AA] # CARIAN LETTER M
-102AB ; [.36DE.0020.0002.102AB] # CARIAN LETTER O
-102AC ; [.36DF.0020.0002.102AC] # CARIAN LETTER D2
-102AD ; [.36E0.0020.0002.102AD] # CARIAN LETTER T
-102AE ; [.36E1.0020.0002.102AE] # CARIAN LETTER SH
-102AF ; [.36E2.0020.0002.102AF] # CARIAN LETTER SH2
-102B0 ; [.36E3.0020.0002.102B0] # CARIAN LETTER S
-102B1 ; [.36E4.0020.0002.102B1] # CARIAN LETTER C-18
-102B2 ; [.36E5.0020.0002.102B2] # CARIAN LETTER U
-102B3 ; [.36E6.0020.0002.102B3] # CARIAN LETTER NN
-102B4 ; [.36E7.0020.0002.102B4] # CARIAN LETTER X
-102B5 ; [.36E8.0020.0002.102B5] # CARIAN LETTER N
-102B6 ; [.36E9.0020.0002.102B6] # CARIAN LETTER TT2
-102B7 ; [.36EA.0020.0002.102B7] # CARIAN LETTER P
-102B8 ; [.36EB.0020.0002.102B8] # CARIAN LETTER SS
-102B9 ; [.36EC.0020.0002.102B9] # CARIAN LETTER I
-102BA ; [.36ED.0020.0002.102BA] # CARIAN LETTER E
-102BB ; [.36EE.0020.0002.102BB] # CARIAN LETTER UUUU
-102BC ; [.36EF.0020.0002.102BC] # CARIAN LETTER K
-102BD ; [.36F0.0020.0002.102BD] # CARIAN LETTER K2
-102BE ; [.36F1.0020.0002.102BE] # CARIAN LETTER ND
-102BF ; [.36F2.0020.0002.102BF] # CARIAN LETTER UU
-102C0 ; [.36F3.0020.0002.102C0] # CARIAN LETTER G
-102C1 ; [.36F4.0020.0002.102C1] # CARIAN LETTER G2
-102C2 ; [.36F5.0020.0002.102C2] # CARIAN LETTER ST
-102C3 ; [.36F6.0020.0002.102C3] # CARIAN LETTER ST2
-102C4 ; [.36F7.0020.0002.102C4] # CARIAN LETTER NG
-102C5 ; [.36F8.0020.0002.102C5] # CARIAN LETTER II
-102C6 ; [.36F9.0020.0002.102C6] # CARIAN LETTER C-39
-102C7 ; [.36FA.0020.0002.102C7] # CARIAN LETTER TT
-102C8 ; [.36FB.0020.0002.102C8] # CARIAN LETTER UUU2
-102C9 ; [.36FC.0020.0002.102C9] # CARIAN LETTER RR
-102CA ; [.36FD.0020.0002.102CA] # CARIAN LETTER MB
-102CB ; [.36FE.0020.0002.102CB] # CARIAN LETTER MB2
-102CC ; [.36FF.0020.0002.102CC] # CARIAN LETTER MB3
-102CD ; [.3700.0020.0002.102CD] # CARIAN LETTER MB4
-102CE ; [.3701.0020.0002.102CE] # CARIAN LETTER LD2
-102CF ; [.3702.0020.0002.102CF] # CARIAN LETTER E2
-102D0 ; [.3703.0020.0002.102D0] # CARIAN LETTER UUU3
-10920 ; [.3704.0020.0002.10920] # LYDIAN LETTER A
-10921 ; [.3705.0020.0002.10921] # LYDIAN LETTER B
-10922 ; [.3706.0020.0002.10922] # LYDIAN LETTER G
-10923 ; [.3707.0020.0002.10923] # LYDIAN LETTER D
-10924 ; [.3708.0020.0002.10924] # LYDIAN LETTER E
-10925 ; [.3709.0020.0002.10925] # LYDIAN LETTER V
-10926 ; [.370A.0020.0002.10926] # LYDIAN LETTER I
-10927 ; [.370B.0020.0002.10927] # LYDIAN LETTER Y
-10928 ; [.370C.0020.0002.10928] # LYDIAN LETTER K
-10929 ; [.370D.0020.0002.10929] # LYDIAN LETTER L
-1092A ; [.370E.0020.0002.1092A] # LYDIAN LETTER M
-1092B ; [.370F.0020.0002.1092B] # LYDIAN LETTER N
-1092C ; [.3710.0020.0002.1092C] # LYDIAN LETTER O
-1092D ; [.3711.0020.0002.1092D] # LYDIAN LETTER R
-1092E ; [.3712.0020.0002.1092E] # LYDIAN LETTER SS
-1092F ; [.3713.0020.0002.1092F] # LYDIAN LETTER T
-10930 ; [.3714.0020.0002.10930] # LYDIAN LETTER U
-10931 ; [.3715.0020.0002.10931] # LYDIAN LETTER F
-10932 ; [.3716.0020.0002.10932] # LYDIAN LETTER Q
-10933 ; [.3717.0020.0002.10933] # LYDIAN LETTER S
-10934 ; [.3718.0020.0002.10934] # LYDIAN LETTER TT
-10935 ; [.3719.0020.0002.10935] # LYDIAN LETTER AN
-10936 ; [.371A.0020.0002.10936] # LYDIAN LETTER EN
-10937 ; [.371B.0020.0002.10937] # LYDIAN LETTER LY
-10938 ; [.371C.0020.0002.10938] # LYDIAN LETTER NN
-10939 ; [.371D.0020.0002.10939] # LYDIAN LETTER C
-10300 ; [.371E.0020.0002.10300] # OLD ITALIC LETTER A
-10301 ; [.371F.0020.0002.10301] # OLD ITALIC LETTER BE
-10302 ; [.3720.0020.0002.10302] # OLD ITALIC LETTER KE
-10303 ; [.3721.0020.0002.10303] # OLD ITALIC LETTER DE
-10304 ; [.3722.0020.0002.10304] # OLD ITALIC LETTER E
-10305 ; [.3723.0020.0002.10305] # OLD ITALIC LETTER VE
-10306 ; [.3724.0020.0002.10306] # OLD ITALIC LETTER ZE
-10307 ; [.3725.0020.0002.10307] # OLD ITALIC LETTER HE
-10308 ; [.3726.0020.0002.10308] # OLD ITALIC LETTER THE
-10309 ; [.3727.0020.0002.10309] # OLD ITALIC LETTER I
-1030A ; [.3728.0020.0002.1030A] # OLD ITALIC LETTER KA
-1030B ; [.3729.0020.0002.1030B] # OLD ITALIC LETTER EL
-1030C ; [.372A.0020.0002.1030C] # OLD ITALIC LETTER EM
-1030D ; [.372B.0020.0002.1030D] # OLD ITALIC LETTER EN
-1030E ; [.372C.0020.0002.1030E] # OLD ITALIC LETTER ESH
-1030F ; [.372D.0020.0002.1030F] # OLD ITALIC LETTER O
-10310 ; [.372E.0020.0002.10310] # OLD ITALIC LETTER PE
-10311 ; [.372F.0020.0002.10311] # OLD ITALIC LETTER SHE
-10312 ; [.3730.0020.0002.10312] # OLD ITALIC LETTER KU
-10313 ; [.3731.0020.0002.10313] # OLD ITALIC LETTER ER
-10314 ; [.3732.0020.0002.10314] # OLD ITALIC LETTER ES
-10315 ; [.3733.0020.0002.10315] # OLD ITALIC LETTER TE
-10316 ; [.3734.0020.0002.10316] # OLD ITALIC LETTER U
-10317 ; [.3735.0020.0002.10317] # OLD ITALIC LETTER EKS
-10318 ; [.3736.0020.0002.10318] # OLD ITALIC LETTER PHE
-10319 ; [.3737.0020.0002.10319] # OLD ITALIC LETTER KHE
-1031A ; [.3738.0020.0002.1031A] # OLD ITALIC LETTER EF
-1031B ; [.3739.0020.0002.1031B] # OLD ITALIC LETTER ERS
-1031C ; [.373A.0020.0002.1031C] # OLD ITALIC LETTER CHE
-1031D ; [.373B.0020.0002.1031D] # OLD ITALIC LETTER II
-1031E ; [.373C.0020.0002.1031E] # OLD ITALIC LETTER UU
-10330 ; [.373D.0020.0002.10330] # GOTHIC LETTER AHSA
-10331 ; [.373E.0020.0002.10331] # GOTHIC LETTER BAIRKAN
-10332 ; [.373F.0020.0002.10332] # GOTHIC LETTER GIBA
-10333 ; [.3740.0020.0002.10333] # GOTHIC LETTER DAGS
-10334 ; [.3741.0020.0002.10334] # GOTHIC LETTER AIHVUS
-10335 ; [.3742.0020.0002.10335] # GOTHIC LETTER QAIRTHRA
-10336 ; [.3743.0020.0002.10336] # GOTHIC LETTER IUJA
-10337 ; [.3744.0020.0002.10337] # GOTHIC LETTER HAGL
-10338 ; [.3745.0020.0002.10338] # GOTHIC LETTER THIUTH
-10339 ; [.3746.0020.0002.10339] # GOTHIC LETTER EIS
-1033A ; [.3747.0020.0002.1033A] # GOTHIC LETTER KUSMA
-1033B ; [.3748.0020.0002.1033B] # GOTHIC LETTER LAGUS
-1033C ; [.3749.0020.0002.1033C] # GOTHIC LETTER MANNA
-1033D ; [.374A.0020.0002.1033D] # GOTHIC LETTER NAUTHS
-1033E ; [.374B.0020.0002.1033E] # GOTHIC LETTER JER
-1033F ; [.374C.0020.0002.1033F] # GOTHIC LETTER URUS
-10340 ; [.374D.0020.0002.10340] # GOTHIC LETTER PAIRTHRA
-10341 ; [.374E.0020.0002.10341] # GOTHIC LETTER NINETY
-10342 ; [.374F.0020.0002.10342] # GOTHIC LETTER RAIDA
-10343 ; [.3750.0020.0002.10343] # GOTHIC LETTER SAUIL
-10344 ; [.3751.0020.0002.10344] # GOTHIC LETTER TEIWS
-10345 ; [.3752.0020.0002.10345] # GOTHIC LETTER WINJA
-10346 ; [.3753.0020.0002.10346] # GOTHIC LETTER FAIHU
-10347 ; [.3754.0020.0002.10347] # GOTHIC LETTER IGGWS
-10348 ; [.3755.0020.0002.10348] # GOTHIC LETTER HWAIR
-10349 ; [.3756.0020.0002.10349] # GOTHIC LETTER OTHAL
-1034A ; [.3757.0020.0002.1034A] # GOTHIC LETTER NINE HUNDRED
-10428 ; [.3758.0020.0002.10428] # DESERET SMALL LETTER LONG I
-10400 ; [.3758.0020.0008.10400] # DESERET CAPITAL LETTER LONG I
-10429 ; [.3759.0020.0002.10429] # DESERET SMALL LETTER LONG E
-10401 ; [.3759.0020.0008.10401] # DESERET CAPITAL LETTER LONG E
-1042A ; [.375A.0020.0002.1042A] # DESERET SMALL LETTER LONG A
-10402 ; [.375A.0020.0008.10402] # DESERET CAPITAL LETTER LONG A
-1042B ; [.375B.0020.0002.1042B] # DESERET SMALL LETTER LONG AH
-10403 ; [.375B.0020.0008.10403] # DESERET CAPITAL LETTER LONG AH
-1042C ; [.375C.0020.0002.1042C] # DESERET SMALL LETTER LONG O
-10404 ; [.375C.0020.0008.10404] # DESERET CAPITAL LETTER LONG O
-1042D ; [.375D.0020.0002.1042D] # DESERET SMALL LETTER LONG OO
-10405 ; [.375D.0020.0008.10405] # DESERET CAPITAL LETTER LONG OO
-1042E ; [.375E.0020.0002.1042E] # DESERET SMALL LETTER SHORT I
-10406 ; [.375E.0020.0008.10406] # DESERET CAPITAL LETTER SHORT I
-1042F ; [.375F.0020.0002.1042F] # DESERET SMALL LETTER SHORT E
-10407 ; [.375F.0020.0008.10407] # DESERET CAPITAL LETTER SHORT E
-10430 ; [.3760.0020.0002.10430] # DESERET SMALL LETTER SHORT A
-10408 ; [.3760.0020.0008.10408] # DESERET CAPITAL LETTER SHORT A
-10431 ; [.3761.0020.0002.10431] # DESERET SMALL LETTER SHORT AH
-10409 ; [.3761.0020.0008.10409] # DESERET CAPITAL LETTER SHORT AH
-10432 ; [.3762.0020.0002.10432] # DESERET SMALL LETTER SHORT O
-1040A ; [.3762.0020.0008.1040A] # DESERET CAPITAL LETTER SHORT O
-10433 ; [.3763.0020.0002.10433] # DESERET SMALL LETTER SHORT OO
-1040B ; [.3763.0020.0008.1040B] # DESERET CAPITAL LETTER SHORT OO
-10434 ; [.3764.0020.0002.10434] # DESERET SMALL LETTER AY
-1040C ; [.3764.0020.0008.1040C] # DESERET CAPITAL LETTER AY
-10435 ; [.3765.0020.0002.10435] # DESERET SMALL LETTER OW
-1040D ; [.3765.0020.0008.1040D] # DESERET CAPITAL LETTER OW
-10436 ; [.3766.0020.0002.10436] # DESERET SMALL LETTER WU
-1040E ; [.3766.0020.0008.1040E] # DESERET CAPITAL LETTER WU
-10437 ; [.3767.0020.0002.10437] # DESERET SMALL LETTER YEE
-1040F ; [.3767.0020.0008.1040F] # DESERET CAPITAL LETTER YEE
-10438 ; [.3768.0020.0002.10438] # DESERET SMALL LETTER H
-10410 ; [.3768.0020.0008.10410] # DESERET CAPITAL LETTER H
-10439 ; [.3769.0020.0002.10439] # DESERET SMALL LETTER PEE
-10411 ; [.3769.0020.0008.10411] # DESERET CAPITAL LETTER PEE
-1043A ; [.376A.0020.0002.1043A] # DESERET SMALL LETTER BEE
-10412 ; [.376A.0020.0008.10412] # DESERET CAPITAL LETTER BEE
-1043B ; [.376B.0020.0002.1043B] # DESERET SMALL LETTER TEE
-10413 ; [.376B.0020.0008.10413] # DESERET CAPITAL LETTER TEE
-1043C ; [.376C.0020.0002.1043C] # DESERET SMALL LETTER DEE
-10414 ; [.376C.0020.0008.10414] # DESERET CAPITAL LETTER DEE
-1043D ; [.376D.0020.0002.1043D] # DESERET SMALL LETTER CHEE
-10415 ; [.376D.0020.0008.10415] # DESERET CAPITAL LETTER CHEE
-1043E ; [.376E.0020.0002.1043E] # DESERET SMALL LETTER JEE
-10416 ; [.376E.0020.0008.10416] # DESERET CAPITAL LETTER JEE
-1043F ; [.376F.0020.0002.1043F] # DESERET SMALL LETTER KAY
-10417 ; [.376F.0020.0008.10417] # DESERET CAPITAL LETTER KAY
-10440 ; [.3770.0020.0002.10440] # DESERET SMALL LETTER GAY
-10418 ; [.3770.0020.0008.10418] # DESERET CAPITAL LETTER GAY
-10441 ; [.3771.0020.0002.10441] # DESERET SMALL LETTER EF
-10419 ; [.3771.0020.0008.10419] # DESERET CAPITAL LETTER EF
-10442 ; [.3772.0020.0002.10442] # DESERET SMALL LETTER VEE
-1041A ; [.3772.0020.0008.1041A] # DESERET CAPITAL LETTER VEE
-10443 ; [.3773.0020.0002.10443] # DESERET SMALL LETTER ETH
-1041B ; [.3773.0020.0008.1041B] # DESERET CAPITAL LETTER ETH
-10444 ; [.3774.0020.0002.10444] # DESERET SMALL LETTER THEE
-1041C ; [.3774.0020.0008.1041C] # DESERET CAPITAL LETTER THEE
-10445 ; [.3775.0020.0002.10445] # DESERET SMALL LETTER ES
-1041D ; [.3775.0020.0008.1041D] # DESERET CAPITAL LETTER ES
-10446 ; [.3776.0020.0002.10446] # DESERET SMALL LETTER ZEE
-1041E ; [.3776.0020.0008.1041E] # DESERET CAPITAL LETTER ZEE
-10447 ; [.3777.0020.0002.10447] # DESERET SMALL LETTER ESH
-1041F ; [.3777.0020.0008.1041F] # DESERET CAPITAL LETTER ESH
-10448 ; [.3778.0020.0002.10448] # DESERET SMALL LETTER ZHEE
-10420 ; [.3778.0020.0008.10420] # DESERET CAPITAL LETTER ZHEE
-10449 ; [.3779.0020.0002.10449] # DESERET SMALL LETTER ER
-10421 ; [.3779.0020.0008.10421] # DESERET CAPITAL LETTER ER
-1044A ; [.377A.0020.0002.1044A] # DESERET SMALL LETTER EL
-10422 ; [.377A.0020.0008.10422] # DESERET CAPITAL LETTER EL
-1044B ; [.377B.0020.0002.1044B] # DESERET SMALL LETTER EM
-10423 ; [.377B.0020.0008.10423] # DESERET CAPITAL LETTER EM
-1044C ; [.377C.0020.0002.1044C] # DESERET SMALL LETTER EN
-10424 ; [.377C.0020.0008.10424] # DESERET CAPITAL LETTER EN
-1044D ; [.377D.0020.0002.1044D] # DESERET SMALL LETTER ENG
-10425 ; [.377D.0020.0008.10425] # DESERET CAPITAL LETTER ENG
-1044E ; [.377E.0020.0002.1044E] # DESERET SMALL LETTER OI
-10426 ; [.377E.0020.0008.10426] # DESERET CAPITAL LETTER OI
-1044F ; [.377F.0020.0002.1044F] # DESERET SMALL LETTER EW
-10427 ; [.377F.0020.0008.10427] # DESERET CAPITAL LETTER EW
-10450 ; [.3780.0020.0002.10450] # SHAVIAN LETTER PEEP
-10451 ; [.3781.0020.0002.10451] # SHAVIAN LETTER TOT
-10452 ; [.3782.0020.0002.10452] # SHAVIAN LETTER KICK
-10453 ; [.3783.0020.0002.10453] # SHAVIAN LETTER FEE
-10454 ; [.3784.0020.0002.10454] # SHAVIAN LETTER THIGH
-10455 ; [.3785.0020.0002.10455] # SHAVIAN LETTER SO
-10456 ; [.3786.0020.0002.10456] # SHAVIAN LETTER SURE
-10457 ; [.3787.0020.0002.10457] # SHAVIAN LETTER CHURCH
-10458 ; [.3788.0020.0002.10458] # SHAVIAN LETTER YEA
-10459 ; [.3789.0020.0002.10459] # SHAVIAN LETTER HUNG
-1045A ; [.378A.0020.0002.1045A] # SHAVIAN LETTER BIB
-1045B ; [.378B.0020.0002.1045B] # SHAVIAN LETTER DEAD
-1045C ; [.378C.0020.0002.1045C] # SHAVIAN LETTER GAG
-1045D ; [.378D.0020.0002.1045D] # SHAVIAN LETTER VOW
-1045E ; [.378E.0020.0002.1045E] # SHAVIAN LETTER THEY
-1045F ; [.378F.0020.0002.1045F] # SHAVIAN LETTER ZOO
-10460 ; [.3790.0020.0002.10460] # SHAVIAN LETTER MEASURE
-10461 ; [.3791.0020.0002.10461] # SHAVIAN LETTER JUDGE
-10462 ; [.3792.0020.0002.10462] # SHAVIAN LETTER WOE
-10463 ; [.3793.0020.0002.10463] # SHAVIAN LETTER HA-HA
-10464 ; [.3794.0020.0002.10464] # SHAVIAN LETTER LOLL
-10465 ; [.3795.0020.0002.10465] # SHAVIAN LETTER MIME
-10466 ; [.3796.0020.0002.10466] # SHAVIAN LETTER IF
-10467 ; [.3797.0020.0002.10467] # SHAVIAN LETTER EGG
-10468 ; [.3798.0020.0002.10468] # SHAVIAN LETTER ASH
-10469 ; [.3799.0020.0002.10469] # SHAVIAN LETTER ADO
-1046A ; [.379A.0020.0002.1046A] # SHAVIAN LETTER ON
-1046B ; [.379B.0020.0002.1046B] # SHAVIAN LETTER WOOL
-1046C ; [.379C.0020.0002.1046C] # SHAVIAN LETTER OUT
-1046D ; [.379D.0020.0002.1046D] # SHAVIAN LETTER AH
-1046E ; [.379E.0020.0002.1046E] # SHAVIAN LETTER ROAR
-1046F ; [.379F.0020.0002.1046F] # SHAVIAN LETTER NUN
-10470 ; [.37A0.0020.0002.10470] # SHAVIAN LETTER EAT
-10471 ; [.37A1.0020.0002.10471] # SHAVIAN LETTER AGE
-10472 ; [.37A2.0020.0002.10472] # SHAVIAN LETTER ICE
-10473 ; [.37A3.0020.0002.10473] # SHAVIAN LETTER UP
-10474 ; [.37A4.0020.0002.10474] # SHAVIAN LETTER OAK
-10475 ; [.37A5.0020.0002.10475] # SHAVIAN LETTER OOZE
-10476 ; [.37A6.0020.0002.10476] # SHAVIAN LETTER OIL
-10477 ; [.37A7.0020.0002.10477] # SHAVIAN LETTER AWE
-10478 ; [.37A8.0020.0002.10478] # SHAVIAN LETTER ARE
-10479 ; [.37A9.0020.0002.10479] # SHAVIAN LETTER OR
-1047A ; [.37AA.0020.0002.1047A] # SHAVIAN LETTER AIR
-1047B ; [.37AB.0020.0002.1047B] # SHAVIAN LETTER ERR
-1047C ; [.37AC.0020.0002.1047C] # SHAVIAN LETTER ARRAY
-1047D ; [.37AD.0020.0002.1047D] # SHAVIAN LETTER EAR
-1047E ; [.37AE.0020.0002.1047E] # SHAVIAN LETTER IAN
-1047F ; [.37AF.0020.0002.1047F] # SHAVIAN LETTER YEW
-10480 ; [.37B0.0020.0002.10480] # OSMANYA LETTER ALEF
-10481 ; [.37B1.0020.0002.10481] # OSMANYA LETTER BA
-10482 ; [.37B2.0020.0002.10482] # OSMANYA LETTER TA
-10483 ; [.37B3.0020.0002.10483] # OSMANYA LETTER JA
-10484 ; [.37B4.0020.0002.10484] # OSMANYA LETTER XA
-10485 ; [.37B5.0020.0002.10485] # OSMANYA LETTER KHA
-10486 ; [.37B6.0020.0002.10486] # OSMANYA LETTER DEEL
-10487 ; [.37B7.0020.0002.10487] # OSMANYA LETTER RA
-10488 ; [.37B8.0020.0002.10488] # OSMANYA LETTER SA
-10489 ; [.37B9.0020.0002.10489] # OSMANYA LETTER SHIIN
-1048A ; [.37BA.0020.0002.1048A] # OSMANYA LETTER DHA
-1048B ; [.37BB.0020.0002.1048B] # OSMANYA LETTER CAYN
-1048C ; [.37BC.0020.0002.1048C] # OSMANYA LETTER GA
-1048D ; [.37BD.0020.0002.1048D] # OSMANYA LETTER FA
-1048E ; [.37BE.0020.0002.1048E] # OSMANYA LETTER QAAF
-1048F ; [.37BF.0020.0002.1048F] # OSMANYA LETTER KAAF
-10490 ; [.37C0.0020.0002.10490] # OSMANYA LETTER LAAN
-10491 ; [.37C1.0020.0002.10491] # OSMANYA LETTER MIIN
-10492 ; [.37C2.0020.0002.10492] # OSMANYA LETTER NUUN
-10493 ; [.37C3.0020.0002.10493] # OSMANYA LETTER WAW
-10494 ; [.37C4.0020.0002.10494] # OSMANYA LETTER HA
-10495 ; [.37C5.0020.0002.10495] # OSMANYA LETTER YA
-10496 ; [.37C6.0020.0002.10496] # OSMANYA LETTER A
-10497 ; [.37C7.0020.0002.10497] # OSMANYA LETTER E
-10498 ; [.37C8.0020.0002.10498] # OSMANYA LETTER I
-10499 ; [.37C9.0020.0002.10499] # OSMANYA LETTER O
-1049A ; [.37CA.0020.0002.1049A] # OSMANYA LETTER U
-1049B ; [.37CB.0020.0002.1049B] # OSMANYA LETTER AA
-1049C ; [.37CC.0020.0002.1049C] # OSMANYA LETTER EE
-1049D ; [.37CD.0020.0002.1049D] # OSMANYA LETTER OO
-10000 ; [.37CE.0020.0002.10000] # LINEAR B SYLLABLE B008 A
-10001 ; [.37CF.0020.0002.10001] # LINEAR B SYLLABLE B038 E
-10002 ; [.37D0.0020.0002.10002] # LINEAR B SYLLABLE B028 I
-10003 ; [.37D1.0020.0002.10003] # LINEAR B SYLLABLE B061 O
-10004 ; [.37D2.0020.0002.10004] # LINEAR B SYLLABLE B010 U
-10005 ; [.37D3.0020.0002.10005] # LINEAR B SYLLABLE B001 DA
-10006 ; [.37D4.0020.0002.10006] # LINEAR B SYLLABLE B045 DE
-10007 ; [.37D5.0020.0002.10007] # LINEAR B SYLLABLE B007 DI
-10008 ; [.37D6.0020.0002.10008] # LINEAR B SYLLABLE B014 DO
-10009 ; [.37D7.0020.0002.10009] # LINEAR B SYLLABLE B051 DU
-1000A ; [.37D8.0020.0002.1000A] # LINEAR B SYLLABLE B057 JA
-1000B ; [.37D9.0020.0002.1000B] # LINEAR B SYLLABLE B046 JE
-1000D ; [.37DA.0020.0002.1000D] # LINEAR B SYLLABLE B036 JO
-1000E ; [.37DB.0020.0002.1000E] # LINEAR B SYLLABLE B065 JU
-1000F ; [.37DC.0020.0002.1000F] # LINEAR B SYLLABLE B077 KA
-10010 ; [.37DD.0020.0002.10010] # LINEAR B SYLLABLE B044 KE
-10011 ; [.37DE.0020.0002.10011] # LINEAR B SYLLABLE B067 KI
-10012 ; [.37DF.0020.0002.10012] # LINEAR B SYLLABLE B070 KO
-10013 ; [.37E0.0020.0002.10013] # LINEAR B SYLLABLE B081 KU
-10014 ; [.37E1.0020.0002.10014] # LINEAR B SYLLABLE B080 MA
-10015 ; [.37E2.0020.0002.10015] # LINEAR B SYLLABLE B013 ME
-10016 ; [.37E3.0020.0002.10016] # LINEAR B SYLLABLE B073 MI
-10017 ; [.37E4.0020.0002.10017] # LINEAR B SYLLABLE B015 MO
-10018 ; [.37E5.0020.0002.10018] # LINEAR B SYLLABLE B023 MU
-10019 ; [.37E6.0020.0002.10019] # LINEAR B SYLLABLE B006 NA
-1001A ; [.37E7.0020.0002.1001A] # LINEAR B SYLLABLE B024 NE
-1001B ; [.37E8.0020.0002.1001B] # LINEAR B SYLLABLE B030 NI
-1001C ; [.37E9.0020.0002.1001C] # LINEAR B SYLLABLE B052 NO
-1001D ; [.37EA.0020.0002.1001D] # LINEAR B SYLLABLE B055 NU
-1001E ; [.37EB.0020.0002.1001E] # LINEAR B SYLLABLE B003 PA
-1001F ; [.37EC.0020.0002.1001F] # LINEAR B SYLLABLE B072 PE
-10020 ; [.37ED.0020.0002.10020] # LINEAR B SYLLABLE B039 PI
-10021 ; [.37EE.0020.0002.10021] # LINEAR B SYLLABLE B011 PO
-10022 ; [.37EF.0020.0002.10022] # LINEAR B SYLLABLE B050 PU
-10023 ; [.37F0.0020.0002.10023] # LINEAR B SYLLABLE B016 QA
-10024 ; [.37F1.0020.0002.10024] # LINEAR B SYLLABLE B078 QE
-10025 ; [.37F2.0020.0002.10025] # LINEAR B SYLLABLE B021 QI
-10026 ; [.37F3.0020.0002.10026] # LINEAR B SYLLABLE B032 QO
-10028 ; [.37F4.0020.0002.10028] # LINEAR B SYLLABLE B060 RA
-10029 ; [.37F5.0020.0002.10029] # LINEAR B SYLLABLE B027 RE
-1002A ; [.37F6.0020.0002.1002A] # LINEAR B SYLLABLE B053 RI
-1002B ; [.37F7.0020.0002.1002B] # LINEAR B SYLLABLE B002 RO
-1002C ; [.37F8.0020.0002.1002C] # LINEAR B SYLLABLE B026 RU
-1002D ; [.37F9.0020.0002.1002D] # LINEAR B SYLLABLE B031 SA
-1002E ; [.37FA.0020.0002.1002E] # LINEAR B SYLLABLE B009 SE
-1002F ; [.37FB.0020.0002.1002F] # LINEAR B SYLLABLE B041 SI
-10030 ; [.37FC.0020.0002.10030] # LINEAR B SYLLABLE B012 SO
-10031 ; [.37FD.0020.0002.10031] # LINEAR B SYLLABLE B058 SU
-10032 ; [.37FE.0020.0002.10032] # LINEAR B SYLLABLE B059 TA
-10033 ; [.37FF.0020.0002.10033] # LINEAR B SYLLABLE B004 TE
-10034 ; [.3800.0020.0002.10034] # LINEAR B SYLLABLE B037 TI
-10035 ; [.3801.0020.0002.10035] # LINEAR B SYLLABLE B005 TO
-10036 ; [.3802.0020.0002.10036] # LINEAR B SYLLABLE B069 TU
-10037 ; [.3803.0020.0002.10037] # LINEAR B SYLLABLE B054 WA
-10038 ; [.3804.0020.0002.10038] # LINEAR B SYLLABLE B075 WE
-10039 ; [.3805.0020.0002.10039] # LINEAR B SYLLABLE B040 WI
-1003A ; [.3806.0020.0002.1003A] # LINEAR B SYLLABLE B042 WO
-1003C ; [.3807.0020.0002.1003C] # LINEAR B SYLLABLE B017 ZA
-1003D ; [.3808.0020.0002.1003D] # LINEAR B SYLLABLE B074 ZE
-1003F ; [.3809.0020.0002.1003F] # LINEAR B SYLLABLE B020 ZO
-10040 ; [.380A.0020.0002.10040] # LINEAR B SYLLABLE B025 A2
-10041 ; [.380B.0020.0002.10041] # LINEAR B SYLLABLE B043 A3
-10042 ; [.380C.0020.0002.10042] # LINEAR B SYLLABLE B085 AU
-10043 ; [.380D.0020.0002.10043] # LINEAR B SYLLABLE B071 DWE
-10044 ; [.380E.0020.0002.10044] # LINEAR B SYLLABLE B090 DWO
-10045 ; [.380F.0020.0002.10045] # LINEAR B SYLLABLE B048 NWA
-10046 ; [.3810.0020.0002.10046] # LINEAR B SYLLABLE B029 PU2
-10047 ; [.3811.0020.0002.10047] # LINEAR B SYLLABLE B062 PTE
-10048 ; [.3812.0020.0002.10048] # LINEAR B SYLLABLE B076 RA2
-10049 ; [.3813.0020.0002.10049] # LINEAR B SYLLABLE B033 RA3
-1004A ; [.3814.0020.0002.1004A] # LINEAR B SYLLABLE B068 RO2
-1004B ; [.3815.0020.0002.1004B] # LINEAR B SYLLABLE B066 TA2
-1004C ; [.3816.0020.0002.1004C] # LINEAR B SYLLABLE B087 TWE
-1004D ; [.3817.0020.0002.1004D] # LINEAR B SYLLABLE B091 TWO
-10050 ; [.3818.0020.0002.10050] # LINEAR B SYMBOL B018
-10051 ; [.3819.0020.0002.10051] # LINEAR B SYMBOL B019
-10052 ; [.381A.0020.0002.10052] # LINEAR B SYMBOL B022
-10053 ; [.381B.0020.0002.10053] # LINEAR B SYMBOL B034
-10054 ; [.381C.0020.0002.10054] # LINEAR B SYMBOL B047
-10055 ; [.381D.0020.0002.10055] # LINEAR B SYMBOL B049
-10056 ; [.381E.0020.0002.10056] # LINEAR B SYMBOL B056
-10057 ; [.381F.0020.0002.10057] # LINEAR B SYMBOL B063
-10058 ; [.3820.0020.0002.10058] # LINEAR B SYMBOL B064
-10059 ; [.3821.0020.0002.10059] # LINEAR B SYMBOL B079
-1005A ; [.3822.0020.0002.1005A] # LINEAR B SYMBOL B082
-1005B ; [.3823.0020.0002.1005B] # LINEAR B SYMBOL B083
-1005C ; [.3824.0020.0002.1005C] # LINEAR B SYMBOL B086
-1005D ; [.3825.0020.0002.1005D] # LINEAR B SYMBOL B089
-10080 ; [.3826.0020.0002.10080] # LINEAR B IDEOGRAM B100 MAN
-10081 ; [.3827.0020.0002.10081] # LINEAR B IDEOGRAM B102 WOMAN
-10082 ; [.3828.0020.0002.10082] # LINEAR B IDEOGRAM B104 DEER
-10083 ; [.3829.0020.0002.10083] # LINEAR B IDEOGRAM B105 EQUID
-10084 ; [.382A.0020.0002.10084] # LINEAR B IDEOGRAM B105F MARE
-10085 ; [.382B.0020.0002.10085] # LINEAR B IDEOGRAM B105M STALLION
-10086 ; [.382C.0020.0002.10086] # LINEAR B IDEOGRAM B106F EWE
-10087 ; [.382D.0020.0002.10087] # LINEAR B IDEOGRAM B106M RAM
-10088 ; [.382E.0020.0002.10088] # LINEAR B IDEOGRAM B107F SHE-GOAT
-10089 ; [.382F.0020.0002.10089] # LINEAR B IDEOGRAM B107M HE-GOAT
-1008A ; [.3830.0020.0002.1008A] # LINEAR B IDEOGRAM B108F SOW
-1008B ; [.3831.0020.0002.1008B] # LINEAR B IDEOGRAM B108M BOAR
-1008C ; [.3832.0020.0002.1008C] # LINEAR B IDEOGRAM B109F COW
-1008D ; [.3833.0020.0002.1008D] # LINEAR B IDEOGRAM B109M BULL
-1008E ; [.3834.0020.0002.1008E] # LINEAR B IDEOGRAM B120 WHEAT
-1008F ; [.3835.0020.0002.1008F] # LINEAR B IDEOGRAM B121 BARLEY
-10090 ; [.3836.0020.0002.10090] # LINEAR B IDEOGRAM B122 OLIVE
-10091 ; [.3837.0020.0002.10091] # LINEAR B IDEOGRAM B123 SPICE
-10092 ; [.3838.0020.0002.10092] # LINEAR B IDEOGRAM B125 CYPERUS
-10093 ; [.3839.0020.0002.10093] # LINEAR B MONOGRAM B127 KAPO
-10094 ; [.383A.0020.0002.10094] # LINEAR B MONOGRAM B128 KANAKO
-10095 ; [.383B.0020.0002.10095] # LINEAR B IDEOGRAM B130 OIL
-10096 ; [.383C.0020.0002.10096] # LINEAR B IDEOGRAM B131 WINE
-10097 ; [.383D.0020.0002.10097] # LINEAR B IDEOGRAM B132
-10098 ; [.383E.0020.0002.10098] # LINEAR B MONOGRAM B133 AREPA
-10099 ; [.383F.0020.0002.10099] # LINEAR B MONOGRAM B135 MERI
-1009A ; [.3840.0020.0002.1009A] # LINEAR B IDEOGRAM B140 BRONZE
-1009B ; [.3841.0020.0002.1009B] # LINEAR B IDEOGRAM B141 GOLD
-1009C ; [.3842.0020.0002.1009C] # LINEAR B IDEOGRAM B142
-1009D ; [.3843.0020.0002.1009D] # LINEAR B IDEOGRAM B145 WOOL
-1009E ; [.3844.0020.0002.1009E] # LINEAR B IDEOGRAM B146
-1009F ; [.3845.0020.0002.1009F] # LINEAR B IDEOGRAM B150
-100A0 ; [.3846.0020.0002.100A0] # LINEAR B IDEOGRAM B151 HORN
-100A1 ; [.3847.0020.0002.100A1] # LINEAR B IDEOGRAM B152
-100A2 ; [.3848.0020.0002.100A2] # LINEAR B IDEOGRAM B153
-100A3 ; [.3849.0020.0002.100A3] # LINEAR B IDEOGRAM B154
-100A4 ; [.384A.0020.0002.100A4] # LINEAR B MONOGRAM B156 TURO2
-100A5 ; [.384B.0020.0002.100A5] # LINEAR B IDEOGRAM B157
-100A6 ; [.384C.0020.0002.100A6] # LINEAR B IDEOGRAM B158
-100A7 ; [.384D.0020.0002.100A7] # LINEAR B IDEOGRAM B159 CLOTH
-100A8 ; [.384E.0020.0002.100A8] # LINEAR B IDEOGRAM B160
-100A9 ; [.384F.0020.0002.100A9] # LINEAR B IDEOGRAM B161
-100AA ; [.3850.0020.0002.100AA] # LINEAR B IDEOGRAM B162 GARMENT
-100AB ; [.3851.0020.0002.100AB] # LINEAR B IDEOGRAM B163 ARMOUR
-100AC ; [.3852.0020.0002.100AC] # LINEAR B IDEOGRAM B164
-100AD ; [.3853.0020.0002.100AD] # LINEAR B IDEOGRAM B165
-100AE ; [.3854.0020.0002.100AE] # LINEAR B IDEOGRAM B166
-100AF ; [.3855.0020.0002.100AF] # LINEAR B IDEOGRAM B167
-100B0 ; [.3856.0020.0002.100B0] # LINEAR B IDEOGRAM B168
-100B1 ; [.3857.0020.0002.100B1] # LINEAR B IDEOGRAM B169
-100B2 ; [.3858.0020.0002.100B2] # LINEAR B IDEOGRAM B170
-100B3 ; [.3859.0020.0002.100B3] # LINEAR B IDEOGRAM B171
-100B4 ; [.385A.0020.0002.100B4] # LINEAR B IDEOGRAM B172
-100B5 ; [.385B.0020.0002.100B5] # LINEAR B IDEOGRAM B173 MONTH
-100B6 ; [.385C.0020.0002.100B6] # LINEAR B IDEOGRAM B174
-100B7 ; [.385D.0020.0002.100B7] # LINEAR B IDEOGRAM B176 TREE
-100B8 ; [.385E.0020.0002.100B8] # LINEAR B IDEOGRAM B177
-100B9 ; [.385F.0020.0002.100B9] # LINEAR B IDEOGRAM B178
-100BA ; [.3860.0020.0002.100BA] # LINEAR B IDEOGRAM B179
-100BB ; [.3861.0020.0002.100BB] # LINEAR B IDEOGRAM B180
-100BC ; [.3862.0020.0002.100BC] # LINEAR B IDEOGRAM B181
-100BD ; [.3863.0020.0002.100BD] # LINEAR B IDEOGRAM B182
-100BE ; [.3864.0020.0002.100BE] # LINEAR B IDEOGRAM B183
-100BF ; [.3865.0020.0002.100BF] # LINEAR B IDEOGRAM B184
-100C0 ; [.3866.0020.0002.100C0] # LINEAR B IDEOGRAM B185
-100C1 ; [.3867.0020.0002.100C1] # LINEAR B IDEOGRAM B189
-100C2 ; [.3868.0020.0002.100C2] # LINEAR B IDEOGRAM B190
-100C3 ; [.3869.0020.0002.100C3] # LINEAR B IDEOGRAM B191 HELMET
-100C4 ; [.386A.0020.0002.100C4] # LINEAR B IDEOGRAM B220 FOOTSTOOL
-100C5 ; [.386B.0020.0002.100C5] # LINEAR B IDEOGRAM B225 BATHTUB
-100C6 ; [.386C.0020.0002.100C6] # LINEAR B IDEOGRAM B230 SPEAR
-100C7 ; [.386D.0020.0002.100C7] # LINEAR B IDEOGRAM B231 ARROW
-100C8 ; [.386E.0020.0002.100C8] # LINEAR B IDEOGRAM B232
-100C9 ; [.386F.0020.0002.100C9] # LINEAR B IDEOGRAM B233 SWORD
-100CA ; [.3870.0020.0002.100CA] # LINEAR B IDEOGRAM B234
-100CB ; [.3871.0020.0002.100CB] # LINEAR B IDEOGRAM B236
-100CC ; [.3872.0020.0002.100CC] # LINEAR B IDEOGRAM B240 WHEELED CHARIOT
-100CD ; [.3873.0020.0002.100CD] # LINEAR B IDEOGRAM B241 CHARIOT
-100CE ; [.3874.0020.0002.100CE] # LINEAR B IDEOGRAM B242 CHARIOT FRAME
-100CF ; [.3875.0020.0002.100CF] # LINEAR B IDEOGRAM B243 WHEEL
-100D0 ; [.3876.0020.0002.100D0] # LINEAR B IDEOGRAM B245
-100D1 ; [.3877.0020.0002.100D1] # LINEAR B IDEOGRAM B246
-100D2 ; [.3878.0020.0002.100D2] # LINEAR B MONOGRAM B247 DIPTE
-100D3 ; [.3879.0020.0002.100D3] # LINEAR B IDEOGRAM B248
-100D4 ; [.387A.0020.0002.100D4] # LINEAR B IDEOGRAM B249
-100D5 ; [.387B.0020.0002.100D5] # LINEAR B IDEOGRAM B251
-100D6 ; [.387C.0020.0002.100D6] # LINEAR B IDEOGRAM B252
-100D7 ; [.387D.0020.0002.100D7] # LINEAR B IDEOGRAM B253
-100D8 ; [.387E.0020.0002.100D8] # LINEAR B IDEOGRAM B254 DART
-100D9 ; [.387F.0020.0002.100D9] # LINEAR B IDEOGRAM B255
-100DA ; [.3880.0020.0002.100DA] # LINEAR B IDEOGRAM B256
-100DB ; [.3881.0020.0002.100DB] # LINEAR B IDEOGRAM B257
-100DC ; [.3882.0020.0002.100DC] # LINEAR B IDEOGRAM B258
-100DD ; [.3883.0020.0002.100DD] # LINEAR B IDEOGRAM B259
-100DE ; [.3884.0020.0002.100DE] # LINEAR B IDEOGRAM VESSEL B155
-100DF ; [.3885.0020.0002.100DF] # LINEAR B IDEOGRAM VESSEL B200
-100E0 ; [.3886.0020.0002.100E0] # LINEAR B IDEOGRAM VESSEL B201
-100E1 ; [.3887.0020.0002.100E1] # LINEAR B IDEOGRAM VESSEL B202
-100E2 ; [.3888.0020.0002.100E2] # LINEAR B IDEOGRAM VESSEL B203
-100E3 ; [.3889.0020.0002.100E3] # LINEAR B IDEOGRAM VESSEL B204
-100E4 ; [.388A.0020.0002.100E4] # LINEAR B IDEOGRAM VESSEL B205
-100E5 ; [.388B.0020.0002.100E5] # LINEAR B IDEOGRAM VESSEL B206
-100E6 ; [.388C.0020.0002.100E6] # LINEAR B IDEOGRAM VESSEL B207
-100E7 ; [.388D.0020.0002.100E7] # LINEAR B IDEOGRAM VESSEL B208
-100E8 ; [.388E.0020.0002.100E8] # LINEAR B IDEOGRAM VESSEL B209
-100E9 ; [.388F.0020.0002.100E9] # LINEAR B IDEOGRAM VESSEL B210
-100EA ; [.3890.0020.0002.100EA] # LINEAR B IDEOGRAM VESSEL B211
-100EB ; [.3891.0020.0002.100EB] # LINEAR B IDEOGRAM VESSEL B212
-100EC ; [.3892.0020.0002.100EC] # LINEAR B IDEOGRAM VESSEL B213
-100ED ; [.3893.0020.0002.100ED] # LINEAR B IDEOGRAM VESSEL B214
-100EE ; [.3894.0020.0002.100EE] # LINEAR B IDEOGRAM VESSEL B215
-100EF ; [.3895.0020.0002.100EF] # LINEAR B IDEOGRAM VESSEL B216
-100F0 ; [.3896.0020.0002.100F0] # LINEAR B IDEOGRAM VESSEL B217
-100F1 ; [.3897.0020.0002.100F1] # LINEAR B IDEOGRAM VESSEL B218
-100F2 ; [.3898.0020.0002.100F2] # LINEAR B IDEOGRAM VESSEL B219
-100F3 ; [.3899.0020.0002.100F3] # LINEAR B IDEOGRAM VESSEL B221
-100F4 ; [.389A.0020.0002.100F4] # LINEAR B IDEOGRAM VESSEL B222
-100F5 ; [.389B.0020.0002.100F5] # LINEAR B IDEOGRAM VESSEL B226
-100F6 ; [.389C.0020.0002.100F6] # LINEAR B IDEOGRAM VESSEL B227
-100F7 ; [.389D.0020.0002.100F7] # LINEAR B IDEOGRAM VESSEL B228
-100F8 ; [.389E.0020.0002.100F8] # LINEAR B IDEOGRAM VESSEL B229
-100F9 ; [.389F.0020.0002.100F9] # LINEAR B IDEOGRAM VESSEL B250
-100FA ; [.38A0.0020.0002.100FA] # LINEAR B IDEOGRAM VESSEL B305
-10800 ; [.38A1.0020.0002.10800] # CYPRIOT SYLLABLE A
-10801 ; [.38A2.0020.0002.10801] # CYPRIOT SYLLABLE E
-10802 ; [.38A3.0020.0002.10802] # CYPRIOT SYLLABLE I
-10803 ; [.38A4.0020.0002.10803] # CYPRIOT SYLLABLE O
-10804 ; [.38A5.0020.0002.10804] # CYPRIOT SYLLABLE U
-10805 ; [.38A6.0020.0002.10805] # CYPRIOT SYLLABLE JA
-10808 ; [.38A7.0020.0002.10808] # CYPRIOT SYLLABLE JO
-1080A ; [.38A8.0020.0002.1080A] # CYPRIOT SYLLABLE KA
-1080B ; [.38A9.0020.0002.1080B] # CYPRIOT SYLLABLE KE
-1080C ; [.38AA.0020.0002.1080C] # CYPRIOT SYLLABLE KI
-1080D ; [.38AB.0020.0002.1080D] # CYPRIOT SYLLABLE KO
-1080E ; [.38AC.0020.0002.1080E] # CYPRIOT SYLLABLE KU
-1080F ; [.38AD.0020.0002.1080F] # CYPRIOT SYLLABLE LA
-10810 ; [.38AE.0020.0002.10810] # CYPRIOT SYLLABLE LE
-10811 ; [.38AF.0020.0002.10811] # CYPRIOT SYLLABLE LI
-10812 ; [.38B0.0020.0002.10812] # CYPRIOT SYLLABLE LO
-10813 ; [.38B1.0020.0002.10813] # CYPRIOT SYLLABLE LU
-10814 ; [.38B2.0020.0002.10814] # CYPRIOT SYLLABLE MA
-10815 ; [.38B3.0020.0002.10815] # CYPRIOT SYLLABLE ME
-10816 ; [.38B4.0020.0002.10816] # CYPRIOT SYLLABLE MI
-10817 ; [.38B5.0020.0002.10817] # CYPRIOT SYLLABLE MO
-10818 ; [.38B6.0020.0002.10818] # CYPRIOT SYLLABLE MU
-10819 ; [.38B7.0020.0002.10819] # CYPRIOT SYLLABLE NA
-1081A ; [.38B8.0020.0002.1081A] # CYPRIOT SYLLABLE NE
-1081B ; [.38B9.0020.0002.1081B] # CYPRIOT SYLLABLE NI
-1081C ; [.38BA.0020.0002.1081C] # CYPRIOT SYLLABLE NO
-1081D ; [.38BB.0020.0002.1081D] # CYPRIOT SYLLABLE NU
-1081E ; [.38BC.0020.0002.1081E] # CYPRIOT SYLLABLE PA
-1081F ; [.38BD.0020.0002.1081F] # CYPRIOT SYLLABLE PE
-10820 ; [.38BE.0020.0002.10820] # CYPRIOT SYLLABLE PI
-10821 ; [.38BF.0020.0002.10821] # CYPRIOT SYLLABLE PO
-10822 ; [.38C0.0020.0002.10822] # CYPRIOT SYLLABLE PU
-10823 ; [.38C1.0020.0002.10823] # CYPRIOT SYLLABLE RA
-10824 ; [.38C2.0020.0002.10824] # CYPRIOT SYLLABLE RE
-10825 ; [.38C3.0020.0002.10825] # CYPRIOT SYLLABLE RI
-10826 ; [.38C4.0020.0002.10826] # CYPRIOT SYLLABLE RO
-10827 ; [.38C5.0020.0002.10827] # CYPRIOT SYLLABLE RU
-10828 ; [.38C6.0020.0002.10828] # CYPRIOT SYLLABLE SA
-10829 ; [.38C7.0020.0002.10829] # CYPRIOT SYLLABLE SE
-1082A ; [.38C8.0020.0002.1082A] # CYPRIOT SYLLABLE SI
-1082B ; [.38C9.0020.0002.1082B] # CYPRIOT SYLLABLE SO
-1082C ; [.38CA.0020.0002.1082C] # CYPRIOT SYLLABLE SU
-1082D ; [.38CB.0020.0002.1082D] # CYPRIOT SYLLABLE TA
-1082E ; [.38CC.0020.0002.1082E] # CYPRIOT SYLLABLE TE
-1082F ; [.38CD.0020.0002.1082F] # CYPRIOT SYLLABLE TI
-10830 ; [.38CE.0020.0002.10830] # CYPRIOT SYLLABLE TO
-10831 ; [.38CF.0020.0002.10831] # CYPRIOT SYLLABLE TU
-10832 ; [.38D0.0020.0002.10832] # CYPRIOT SYLLABLE WA
-10833 ; [.38D1.0020.0002.10833] # CYPRIOT SYLLABLE WE
-10834 ; [.38D2.0020.0002.10834] # CYPRIOT SYLLABLE WI
-10835 ; [.38D3.0020.0002.10835] # CYPRIOT SYLLABLE WO
-10837 ; [.38D4.0020.0002.10837] # CYPRIOT SYLLABLE XA
-10838 ; [.38D5.0020.0002.10838] # CYPRIOT SYLLABLE XE
-1083C ; [.38D6.0020.0002.1083C] # CYPRIOT SYLLABLE ZA
-1083F ; [.38D7.0020.0002.1083F] # CYPRIOT SYLLABLE ZO
-10A60 ; [.38D8.0020.0002.10A60] # OLD SOUTH ARABIAN LETTER HE
-10A61 ; [.38D9.0020.0002.10A61] # OLD SOUTH ARABIAN LETTER LAMEDH
-10A62 ; [.38DA.0020.0002.10A62] # OLD SOUTH ARABIAN LETTER HETH
-10A63 ; [.38DB.0020.0002.10A63] # OLD SOUTH ARABIAN LETTER MEM
-10A64 ; [.38DC.0020.0002.10A64] # OLD SOUTH ARABIAN LETTER QOPH
-10A65 ; [.38DD.0020.0002.10A65] # OLD SOUTH ARABIAN LETTER WAW
-10A66 ; [.38DE.0020.0002.10A66] # OLD SOUTH ARABIAN LETTER SHIN
-10A67 ; [.38DF.0020.0002.10A67] # OLD SOUTH ARABIAN LETTER RESH
-10A68 ; [.38E0.0020.0002.10A68] # OLD SOUTH ARABIAN LETTER BETH
-10A69 ; [.38E1.0020.0002.10A69] # OLD SOUTH ARABIAN LETTER TAW
-10A6A ; [.38E2.0020.0002.10A6A] # OLD SOUTH ARABIAN LETTER SAT
-10A6B ; [.38E3.0020.0002.10A6B] # OLD SOUTH ARABIAN LETTER KAPH
-10A6C ; [.38E4.0020.0002.10A6C] # OLD SOUTH ARABIAN LETTER NUN
-10A6D ; [.38E5.0020.0002.10A6D] # OLD SOUTH ARABIAN LETTER KHETH
-10A6E ; [.38E6.0020.0002.10A6E] # OLD SOUTH ARABIAN LETTER SADHE
-10A6F ; [.38E7.0020.0002.10A6F] # OLD SOUTH ARABIAN LETTER SAMEKH
-10A70 ; [.38E8.0020.0002.10A70] # OLD SOUTH ARABIAN LETTER FE
-10A71 ; [.38E9.0020.0002.10A71] # OLD SOUTH ARABIAN LETTER ALEF
-10A72 ; [.38EA.0020.0002.10A72] # OLD SOUTH ARABIAN LETTER AYN
-10A73 ; [.38EB.0020.0002.10A73] # OLD SOUTH ARABIAN LETTER DHADHE
-10A74 ; [.38EC.0020.0002.10A74] # OLD SOUTH ARABIAN LETTER GIMEL
-10A75 ; [.38ED.0020.0002.10A75] # OLD SOUTH ARABIAN LETTER DALETH
-10A76 ; [.38EE.0020.0002.10A76] # OLD SOUTH ARABIAN LETTER GHAYN
-10A77 ; [.38EF.0020.0002.10A77] # OLD SOUTH ARABIAN LETTER TETH
-10A78 ; [.38F0.0020.0002.10A78] # OLD SOUTH ARABIAN LETTER ZAYN
-10A79 ; [.38F1.0020.0002.10A79] # OLD SOUTH ARABIAN LETTER DHALETH
-10A7A ; [.38F2.0020.0002.10A7A] # OLD SOUTH ARABIAN LETTER YODH
-10A7B ; [.38F3.0020.0002.10A7B] # OLD SOUTH ARABIAN LETTER THAW
-10A7C ; [.38F4.0020.0002.10A7C] # OLD SOUTH ARABIAN LETTER THETH
-10B00 ; [.38F5.0020.0002.10B00] # AVESTAN LETTER A
-10B01 ; [.38F6.0020.0002.10B01] # AVESTAN LETTER AA
-10B02 ; [.38F7.0020.0002.10B02] # AVESTAN LETTER AO
-10B03 ; [.38F8.0020.0002.10B03] # AVESTAN LETTER AAO
-10B04 ; [.38F9.0020.0002.10B04] # AVESTAN LETTER AN
-10B05 ; [.38FA.0020.0002.10B05] # AVESTAN LETTER AAN
-10B06 ; [.38FB.0020.0002.10B06] # AVESTAN LETTER AE
-10B07 ; [.38FC.0020.0002.10B07] # AVESTAN LETTER AEE
-10B08 ; [.38FD.0020.0002.10B08] # AVESTAN LETTER E
-10B09 ; [.38FE.0020.0002.10B09] # AVESTAN LETTER EE
-10B0A ; [.38FF.0020.0002.10B0A] # AVESTAN LETTER O
-10B0B ; [.3900.0020.0002.10B0B] # AVESTAN LETTER OO
-10B0C ; [.3901.0020.0002.10B0C] # AVESTAN LETTER I
-10B0D ; [.3902.0020.0002.10B0D] # AVESTAN LETTER II
-10B0E ; [.3903.0020.0002.10B0E] # AVESTAN LETTER U
-10B0F ; [.3904.0020.0002.10B0F] # AVESTAN LETTER UU
-10B10 ; [.3905.0020.0002.10B10] # AVESTAN LETTER KE
-10B11 ; [.3906.0020.0002.10B11] # AVESTAN LETTER XE
-10B12 ; [.3907.0020.0002.10B12] # AVESTAN LETTER XYE
-10B13 ; [.3908.0020.0002.10B13] # AVESTAN LETTER XVE
-10B14 ; [.3909.0020.0002.10B14] # AVESTAN LETTER GE
-10B15 ; [.390A.0020.0002.10B15] # AVESTAN LETTER GGE
-10B16 ; [.390B.0020.0002.10B16] # AVESTAN LETTER GHE
-10B17 ; [.390C.0020.0002.10B17] # AVESTAN LETTER CE
-10B18 ; [.390D.0020.0002.10B18] # AVESTAN LETTER JE
-10B19 ; [.390E.0020.0002.10B19] # AVESTAN LETTER TE
-10B1A ; [.390F.0020.0002.10B1A] # AVESTAN LETTER THE
-10B1B ; [.3910.0020.0002.10B1B] # AVESTAN LETTER DE
-10B1C ; [.3911.0020.0002.10B1C] # AVESTAN LETTER DHE
-10B1D ; [.3912.0020.0002.10B1D] # AVESTAN LETTER TTE
-10B1E ; [.3913.0020.0002.10B1E] # AVESTAN LETTER PE
-10B1F ; [.3914.0020.0002.10B1F] # AVESTAN LETTER FE
-10B20 ; [.3915.0020.0002.10B20] # AVESTAN LETTER BE
-10B21 ; [.3916.0020.0002.10B21] # AVESTAN LETTER BHE
-10B22 ; [.3917.0020.0002.10B22] # AVESTAN LETTER NGE
-10B23 ; [.3918.0020.0002.10B23] # AVESTAN LETTER NGYE
-10B24 ; [.3919.0020.0002.10B24] # AVESTAN LETTER NGVE
-10B25 ; [.391A.0020.0002.10B25] # AVESTAN LETTER NE
-10B26 ; [.391B.0020.0002.10B26] # AVESTAN LETTER NYE
-10B27 ; [.391C.0020.0002.10B27] # AVESTAN LETTER NNE
-10B28 ; [.391D.0020.0002.10B28] # AVESTAN LETTER ME
-10B29 ; [.391E.0020.0002.10B29] # AVESTAN LETTER HME
-10B2A ; [.391F.0020.0002.10B2A] # AVESTAN LETTER YYE
-10B2B ; [.3920.0020.0002.10B2B] # AVESTAN LETTER YE
-10B2C ; [.3921.0020.0002.10B2C] # AVESTAN LETTER VE
-10B2D ; [.3922.0020.0002.10B2D] # AVESTAN LETTER RE
-10B2E ; [.3922.0020.0004.10B2E][.0000.015F.0004.10B2E] # AVESTAN LETTER LE; QQKN
-10B2F ; [.3923.0020.0002.10B2F] # AVESTAN LETTER SE
-10B30 ; [.3924.0020.0002.10B30] # AVESTAN LETTER ZE
-10B31 ; [.3925.0020.0002.10B31] # AVESTAN LETTER SHE
-10B32 ; [.3926.0020.0002.10B32] # AVESTAN LETTER ZHE
-10B33 ; [.3927.0020.0002.10B33] # AVESTAN LETTER SHYE
-10B34 ; [.3928.0020.0002.10B34] # AVESTAN LETTER SSHE
-10B35 ; [.3929.0020.0002.10B35] # AVESTAN LETTER HE
-10840 ; [.392A.0020.0002.10840] # IMPERIAL ARAMAIC LETTER ALEPH
-10841 ; [.392B.0020.0002.10841] # IMPERIAL ARAMAIC LETTER BETH
-10842 ; [.392C.0020.0002.10842] # IMPERIAL ARAMAIC LETTER GIMEL
-10843 ; [.392D.0020.0002.10843] # IMPERIAL ARAMAIC LETTER DALETH
-10844 ; [.392E.0020.0002.10844] # IMPERIAL ARAMAIC LETTER HE
-10845 ; [.392F.0020.0002.10845] # IMPERIAL ARAMAIC LETTER WAW
-10846 ; [.3930.0020.0002.10846] # IMPERIAL ARAMAIC LETTER ZAYIN
-10847 ; [.3931.0020.0002.10847] # IMPERIAL ARAMAIC LETTER HETH
-10848 ; [.3932.0020.0002.10848] # IMPERIAL ARAMAIC LETTER TETH
-10849 ; [.3933.0020.0002.10849] # IMPERIAL ARAMAIC LETTER YODH
-1084A ; [.3934.0020.0002.1084A] # IMPERIAL ARAMAIC LETTER KAPH
-1084B ; [.3935.0020.0002.1084B] # IMPERIAL ARAMAIC LETTER LAMEDH
-1084C ; [.3936.0020.0002.1084C] # IMPERIAL ARAMAIC LETTER MEM
-1084D ; [.3937.0020.0002.1084D] # IMPERIAL ARAMAIC LETTER NUN
-1084E ; [.3938.0020.0002.1084E] # IMPERIAL ARAMAIC LETTER SAMEKH
-1084F ; [.3939.0020.0002.1084F] # IMPERIAL ARAMAIC LETTER AYIN
-10850 ; [.393A.0020.0002.10850] # IMPERIAL ARAMAIC LETTER PE
-10851 ; [.393B.0020.0002.10851] # IMPERIAL ARAMAIC LETTER SADHE
-10852 ; [.393C.0020.0002.10852] # IMPERIAL ARAMAIC LETTER QOPH
-10853 ; [.393D.0020.0002.10853] # IMPERIAL ARAMAIC LETTER RESH
-10854 ; [.393E.0020.0002.10854] # IMPERIAL ARAMAIC LETTER SHIN
-10855 ; [.393F.0020.0002.10855] # IMPERIAL ARAMAIC LETTER TAW
-10B40 ; [.3940.0020.0002.10B40] # INSCRIPTIONAL PARTHIAN LETTER ALEPH
-10B41 ; [.3941.0020.0002.10B41] # INSCRIPTIONAL PARTHIAN LETTER BETH
-10B42 ; [.3942.0020.0002.10B42] # INSCRIPTIONAL PARTHIAN LETTER GIMEL
-10B43 ; [.3943.0020.0002.10B43] # INSCRIPTIONAL PARTHIAN LETTER DALETH
-10B44 ; [.3944.0020.0002.10B44] # INSCRIPTIONAL PARTHIAN LETTER HE
-10B45 ; [.3945.0020.0002.10B45] # INSCRIPTIONAL PARTHIAN LETTER WAW
-10B46 ; [.3946.0020.0002.10B46] # INSCRIPTIONAL PARTHIAN LETTER ZAYIN
-10B47 ; [.3947.0020.0002.10B47] # INSCRIPTIONAL PARTHIAN LETTER HETH
-10B48 ; [.3948.0020.0002.10B48] # INSCRIPTIONAL PARTHIAN LETTER TETH
-10B49 ; [.3949.0020.0002.10B49] # INSCRIPTIONAL PARTHIAN LETTER YODH
-10B4A ; [.394A.0020.0002.10B4A] # INSCRIPTIONAL PARTHIAN LETTER KAPH
-10B4B ; [.394B.0020.0002.10B4B] # INSCRIPTIONAL PARTHIAN LETTER LAMEDH
-10B4C ; [.394C.0020.0002.10B4C] # INSCRIPTIONAL PARTHIAN LETTER MEM
-10B4D ; [.394D.0020.0002.10B4D] # INSCRIPTIONAL PARTHIAN LETTER NUN
-10B4E ; [.394E.0020.0002.10B4E] # INSCRIPTIONAL PARTHIAN LETTER SAMEKH
-10B4F ; [.394F.0020.0002.10B4F] # INSCRIPTIONAL PARTHIAN LETTER AYIN
-10B50 ; [.3950.0020.0002.10B50] # INSCRIPTIONAL PARTHIAN LETTER PE
-10B51 ; [.3951.0020.0002.10B51] # INSCRIPTIONAL PARTHIAN LETTER SADHE
-10B52 ; [.3952.0020.0002.10B52] # INSCRIPTIONAL PARTHIAN LETTER QOPH
-10B53 ; [.3953.0020.0002.10B53] # INSCRIPTIONAL PARTHIAN LETTER RESH
-10B54 ; [.3954.0020.0002.10B54] # INSCRIPTIONAL PARTHIAN LETTER SHIN
-10B55 ; [.3955.0020.0002.10B55] # INSCRIPTIONAL PARTHIAN LETTER TAW
-10B60 ; [.3956.0020.0002.10B60] # INSCRIPTIONAL PAHLAVI LETTER ALEPH
-10B61 ; [.3957.0020.0002.10B61] # INSCRIPTIONAL PAHLAVI LETTER BETH
-10B62 ; [.3958.0020.0002.10B62] # INSCRIPTIONAL PAHLAVI LETTER GIMEL
-10B63 ; [.3959.0020.0002.10B63] # INSCRIPTIONAL PAHLAVI LETTER DALETH
-10B64 ; [.395A.0020.0002.10B64] # INSCRIPTIONAL PAHLAVI LETTER HE
-10B65 ; [.395B.0020.0002.10B65] # INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH
-10B66 ; [.395C.0020.0002.10B66] # INSCRIPTIONAL PAHLAVI LETTER ZAYIN
-10B67 ; [.395D.0020.0002.10B67] # INSCRIPTIONAL PAHLAVI LETTER HETH
-10B68 ; [.395E.0020.0002.10B68] # INSCRIPTIONAL PAHLAVI LETTER TETH
-10B69 ; [.395F.0020.0002.10B69] # INSCRIPTIONAL PAHLAVI LETTER YODH
-10B6A ; [.3960.0020.0002.10B6A] # INSCRIPTIONAL PAHLAVI LETTER KAPH
-10B6B ; [.3961.0020.0002.10B6B] # INSCRIPTIONAL PAHLAVI LETTER LAMEDH
-10B6C ; [.3962.0020.0002.10B6C] # INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH
-10B6D ; [.3963.0020.0002.10B6D] # INSCRIPTIONAL PAHLAVI LETTER NUN
-10B6E ; [.3964.0020.0002.10B6E] # INSCRIPTIONAL PAHLAVI LETTER SAMEKH
-10B6F ; [.3965.0020.0002.10B6F] # INSCRIPTIONAL PAHLAVI LETTER PE
-10B70 ; [.3966.0020.0002.10B70] # INSCRIPTIONAL PAHLAVI LETTER SADHE
-10B71 ; [.3967.0020.0002.10B71] # INSCRIPTIONAL PAHLAVI LETTER SHIN
-10B72 ; [.3968.0020.0002.10B72] # INSCRIPTIONAL PAHLAVI LETTER TAW
-10380 ; [.3969.0020.0002.10380] # UGARITIC LETTER ALPA
-10381 ; [.396A.0020.0002.10381] # UGARITIC LETTER BETA
-10382 ; [.396B.0020.0002.10382] # UGARITIC LETTER GAMLA
-10383 ; [.396C.0020.0002.10383] # UGARITIC LETTER KHA
-10384 ; [.396D.0020.0002.10384] # UGARITIC LETTER DELTA
-10385 ; [.396E.0020.0002.10385] # UGARITIC LETTER HO
-10386 ; [.396F.0020.0002.10386] # UGARITIC LETTER WO
-10387 ; [.3970.0020.0002.10387] # UGARITIC LETTER ZETA
-10388 ; [.3971.0020.0002.10388] # UGARITIC LETTER HOTA
-10389 ; [.3972.0020.0002.10389] # UGARITIC LETTER TET
-1038A ; [.3973.0020.0002.1038A] # UGARITIC LETTER YOD
-1038B ; [.3974.0020.0002.1038B] # UGARITIC LETTER KAF
-1038C ; [.3975.0020.0002.1038C] # UGARITIC LETTER SHIN
-1038D ; [.3976.0020.0002.1038D] # UGARITIC LETTER LAMDA
-1038E ; [.3977.0020.0002.1038E] # UGARITIC LETTER MEM
-1038F ; [.3978.0020.0002.1038F] # UGARITIC LETTER DHAL
-10390 ; [.3979.0020.0002.10390] # UGARITIC LETTER NUN
-10391 ; [.397A.0020.0002.10391] # UGARITIC LETTER ZU
-10392 ; [.397B.0020.0002.10392] # UGARITIC LETTER SAMKA
-10393 ; [.397C.0020.0002.10393] # UGARITIC LETTER AIN
-10394 ; [.397D.0020.0002.10394] # UGARITIC LETTER PU
-10395 ; [.397E.0020.0002.10395] # UGARITIC LETTER SADE
-10396 ; [.397F.0020.0002.10396] # UGARITIC LETTER QOPA
-10397 ; [.3980.0020.0002.10397] # UGARITIC LETTER RASHA
-10398 ; [.3981.0020.0002.10398] # UGARITIC LETTER THANNA
-10399 ; [.3982.0020.0002.10399] # UGARITIC LETTER GHAIN
-1039A ; [.3983.0020.0002.1039A] # UGARITIC LETTER TO
-1039B ; [.3984.0020.0002.1039B] # UGARITIC LETTER I
-1039C ; [.3985.0020.0002.1039C] # UGARITIC LETTER U
-1039D ; [.3986.0020.0002.1039D] # UGARITIC LETTER SSU
-103A0 ; [.3987.0020.0002.103A0] # OLD PERSIAN SIGN A
-103A1 ; [.3988.0020.0002.103A1] # OLD PERSIAN SIGN I
-103A2 ; [.3989.0020.0002.103A2] # OLD PERSIAN SIGN U
-103A3 ; [.398A.0020.0002.103A3] # OLD PERSIAN SIGN KA
-103A4 ; [.398B.0020.0002.103A4] # OLD PERSIAN SIGN KU
-103A5 ; [.398C.0020.0002.103A5] # OLD PERSIAN SIGN GA
-103A6 ; [.398D.0020.0002.103A6] # OLD PERSIAN SIGN GU
-103A7 ; [.398E.0020.0002.103A7] # OLD PERSIAN SIGN XA
-103A8 ; [.398F.0020.0002.103A8] # OLD PERSIAN SIGN CA
-103A9 ; [.3990.0020.0002.103A9] # OLD PERSIAN SIGN JA
-103AA ; [.3991.0020.0002.103AA] # OLD PERSIAN SIGN JI
-103AB ; [.3992.0020.0002.103AB] # OLD PERSIAN SIGN TA
-103AC ; [.3993.0020.0002.103AC] # OLD PERSIAN SIGN TU
-103AD ; [.3994.0020.0002.103AD] # OLD PERSIAN SIGN DA
-103AE ; [.3995.0020.0002.103AE] # OLD PERSIAN SIGN DI
-103AF ; [.3996.0020.0002.103AF] # OLD PERSIAN SIGN DU
-103B0 ; [.3997.0020.0002.103B0] # OLD PERSIAN SIGN THA
-103B1 ; [.3998.0020.0002.103B1] # OLD PERSIAN SIGN PA
-103B2 ; [.3999.0020.0002.103B2] # OLD PERSIAN SIGN BA
-103B3 ; [.399A.0020.0002.103B3] # OLD PERSIAN SIGN FA
-103B4 ; [.399B.0020.0002.103B4] # OLD PERSIAN SIGN NA
-103B5 ; [.399C.0020.0002.103B5] # OLD PERSIAN SIGN NU
-103B6 ; [.399D.0020.0002.103B6] # OLD PERSIAN SIGN MA
-103B7 ; [.399E.0020.0002.103B7] # OLD PERSIAN SIGN MI
-103B8 ; [.399F.0020.0002.103B8] # OLD PERSIAN SIGN MU
-103B9 ; [.39A0.0020.0002.103B9] # OLD PERSIAN SIGN YA
-103BA ; [.39A1.0020.0002.103BA] # OLD PERSIAN SIGN VA
-103BB ; [.39A2.0020.0002.103BB] # OLD PERSIAN SIGN VI
-103BC ; [.39A3.0020.0002.103BC] # OLD PERSIAN SIGN RA
-103BD ; [.39A4.0020.0002.103BD] # OLD PERSIAN SIGN RU
-103BE ; [.39A5.0020.0002.103BE] # OLD PERSIAN SIGN LA
-103BF ; [.39A6.0020.0002.103BF] # OLD PERSIAN SIGN SA
-103C0 ; [.39A7.0020.0002.103C0] # OLD PERSIAN SIGN ZA
-103C1 ; [.39A8.0020.0002.103C1] # OLD PERSIAN SIGN SHA
-103C2 ; [.39A9.0020.0002.103C2] # OLD PERSIAN SIGN SSA
-103C3 ; [.39AA.0020.0002.103C3] # OLD PERSIAN SIGN HA
-103C8 ; [.39AB.0020.0002.103C8] # OLD PERSIAN SIGN AURAMAZDAA
-103C9 ; [.39AC.0020.0002.103C9] # OLD PERSIAN SIGN AURAMAZDAA-2
-103CA ; [.39AD.0020.0002.103CA] # OLD PERSIAN SIGN AURAMAZDAAHA
-103CB ; [.39AE.0020.0002.103CB] # OLD PERSIAN SIGN XSHAAYATHIYA
-103CC ; [.39AF.0020.0002.103CC] # OLD PERSIAN SIGN DAHYAAUSH
-103CD ; [.39B0.0020.0002.103CD] # OLD PERSIAN SIGN DAHYAAUSH-2
-103CE ; [.39B1.0020.0002.103CE] # OLD PERSIAN SIGN BAGA
-103CF ; [.39B2.0020.0002.103CF] # OLD PERSIAN SIGN BUUMISH
-12000 ; [.39B3.0020.0002.12000] # CUNEIFORM SIGN A
-12001 ; [.39B4.0020.0002.12001] # CUNEIFORM SIGN A TIMES A
-12002 ; [.39B5.0020.0002.12002] # CUNEIFORM SIGN A TIMES BAD
-12003 ; [.39B6.0020.0002.12003] # CUNEIFORM SIGN A TIMES GAN2 TENU
-12004 ; [.39B7.0020.0002.12004] # CUNEIFORM SIGN A TIMES HA
-12005 ; [.39B8.0020.0002.12005] # CUNEIFORM SIGN A TIMES IGI
-12006 ; [.39B9.0020.0002.12006] # CUNEIFORM SIGN A TIMES LAGAR GUNU
-12007 ; [.39BA.0020.0002.12007] # CUNEIFORM SIGN A TIMES MUSH
-12008 ; [.39BB.0020.0002.12008] # CUNEIFORM SIGN A TIMES SAG
-12009 ; [.39BC.0020.0002.12009] # CUNEIFORM SIGN A2
-1200A ; [.39BD.0020.0002.1200A] # CUNEIFORM SIGN AB
-1200B ; [.39BE.0020.0002.1200B] # CUNEIFORM SIGN AB TIMES ASH2
-1200C ; [.39BF.0020.0002.1200C] # CUNEIFORM SIGN AB TIMES DUN3 GUNU
-1200D ; [.39C0.0020.0002.1200D] # CUNEIFORM SIGN AB TIMES GAL
-1200E ; [.39C1.0020.0002.1200E] # CUNEIFORM SIGN AB TIMES GAN2 TENU
-1200F ; [.39C2.0020.0002.1200F] # CUNEIFORM SIGN AB TIMES HA
-12010 ; [.39C3.0020.0002.12010] # CUNEIFORM SIGN AB TIMES IGI GUNU
-12011 ; [.39C4.0020.0002.12011] # CUNEIFORM SIGN AB TIMES IMIN
-12012 ; [.39C5.0020.0002.12012] # CUNEIFORM SIGN AB TIMES LAGAB
-12013 ; [.39C6.0020.0002.12013] # CUNEIFORM SIGN AB TIMES SHESH
-12014 ; [.39C7.0020.0002.12014] # CUNEIFORM SIGN AB TIMES U PLUS U PLUS U
-12015 ; [.39C8.0020.0002.12015] # CUNEIFORM SIGN AB GUNU
-12016 ; [.39C9.0020.0002.12016] # CUNEIFORM SIGN AB2
-12017 ; [.39CA.0020.0002.12017] # CUNEIFORM SIGN AB2 TIMES BALAG
-12018 ; [.39CB.0020.0002.12018] # CUNEIFORM SIGN AB2 TIMES GAN2 TENU
-12019 ; [.39CC.0020.0002.12019] # CUNEIFORM SIGN AB2 TIMES ME PLUS EN
-1201A ; [.39CD.0020.0002.1201A] # CUNEIFORM SIGN AB2 TIMES SHA3
-1201B ; [.39CE.0020.0002.1201B] # CUNEIFORM SIGN AB2 TIMES TAK4
-1201C ; [.39CF.0020.0002.1201C] # CUNEIFORM SIGN AD
-1201D ; [.39D0.0020.0002.1201D] # CUNEIFORM SIGN AK
-1201E ; [.39D1.0020.0002.1201E] # CUNEIFORM SIGN AK TIMES ERIN2
-1201F ; [.39D2.0020.0002.1201F] # CUNEIFORM SIGN AK TIMES SHITA PLUS GISH
-12020 ; [.39D3.0020.0002.12020] # CUNEIFORM SIGN AL
-12021 ; [.39D4.0020.0002.12021] # CUNEIFORM SIGN AL TIMES AL
-12022 ; [.39D5.0020.0002.12022] # CUNEIFORM SIGN AL TIMES DIM2
-12023 ; [.39D6.0020.0002.12023] # CUNEIFORM SIGN AL TIMES GISH
-12024 ; [.39D7.0020.0002.12024] # CUNEIFORM SIGN AL TIMES HA
-12025 ; [.39D8.0020.0002.12025] # CUNEIFORM SIGN AL TIMES KAD3
-12026 ; [.39D9.0020.0002.12026] # CUNEIFORM SIGN AL TIMES KI
-12027 ; [.39DA.0020.0002.12027] # CUNEIFORM SIGN AL TIMES SHE
-12028 ; [.39DB.0020.0002.12028] # CUNEIFORM SIGN AL TIMES USH
-12029 ; [.39DC.0020.0002.12029] # CUNEIFORM SIGN ALAN
-1202A ; [.39DD.0020.0002.1202A] # CUNEIFORM SIGN ALEPH
-1202B ; [.39DE.0020.0002.1202B] # CUNEIFORM SIGN AMAR
-1202C ; [.39DF.0020.0002.1202C] # CUNEIFORM SIGN AMAR TIMES SHE
-1202D ; [.39E0.0020.0002.1202D] # CUNEIFORM SIGN AN
-1202E ; [.39E1.0020.0002.1202E] # CUNEIFORM SIGN AN OVER AN
-1202F ; [.39E2.0020.0002.1202F] # CUNEIFORM SIGN AN THREE TIMES
-12030 ; [.39E3.0020.0002.12030] # CUNEIFORM SIGN AN PLUS NAGA OPPOSING AN PLUS NAGA
-12031 ; [.39E4.0020.0002.12031] # CUNEIFORM SIGN AN PLUS NAGA SQUARED
-12032 ; [.39E5.0020.0002.12032] # CUNEIFORM SIGN ANSHE
-12033 ; [.39E6.0020.0002.12033] # CUNEIFORM SIGN APIN
-12034 ; [.39E7.0020.0002.12034] # CUNEIFORM SIGN ARAD
-12035 ; [.39E8.0020.0002.12035] # CUNEIFORM SIGN ARAD TIMES KUR
-12036 ; [.39E9.0020.0002.12036] # CUNEIFORM SIGN ARKAB
-12037 ; [.39EA.0020.0002.12037] # CUNEIFORM SIGN ASAL2
-12038 ; [.39EB.0020.0002.12038] # CUNEIFORM SIGN ASH
-12039 ; [.39EC.0020.0002.12039] # CUNEIFORM SIGN ASH ZIDA TENU
-1203A ; [.39ED.0020.0002.1203A] # CUNEIFORM SIGN ASH KABA TENU
-1203B ; [.39EE.0020.0002.1203B] # CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP
-1203C ; [.39EF.0020.0002.1203C] # CUNEIFORM SIGN ASH OVER ASH OVER ASH
-1203D ; [.39F0.0020.0002.1203D] # CUNEIFORM SIGN ASH OVER ASH OVER ASH CROSSING ASH OVER ASH OVER ASH
-1203E ; [.39F1.0020.0002.1203E] # CUNEIFORM SIGN ASH2
-1203F ; [.39F2.0020.0002.1203F] # CUNEIFORM SIGN ASHGAB
-12040 ; [.39F3.0020.0002.12040] # CUNEIFORM SIGN BA
-12041 ; [.39F4.0020.0002.12041] # CUNEIFORM SIGN BAD
-12042 ; [.39F5.0020.0002.12042] # CUNEIFORM SIGN BAG3
-12043 ; [.39F6.0020.0002.12043] # CUNEIFORM SIGN BAHAR2
-12044 ; [.39F7.0020.0002.12044] # CUNEIFORM SIGN BAL
-12045 ; [.39F8.0020.0002.12045] # CUNEIFORM SIGN BAL OVER BAL
-12046 ; [.39F9.0020.0002.12046] # CUNEIFORM SIGN BALAG
-12047 ; [.39FA.0020.0002.12047] # CUNEIFORM SIGN BAR
-12048 ; [.39FB.0020.0002.12048] # CUNEIFORM SIGN BARA2
-12049 ; [.39FC.0020.0002.12049] # CUNEIFORM SIGN BI
-1204A ; [.39FD.0020.0002.1204A] # CUNEIFORM SIGN BI TIMES A
-1204B ; [.39FE.0020.0002.1204B] # CUNEIFORM SIGN BI TIMES GAR
-1204C ; [.39FF.0020.0002.1204C] # CUNEIFORM SIGN BI TIMES IGI GUNU
-1204D ; [.3A00.0020.0002.1204D] # CUNEIFORM SIGN BU
-1204E ; [.3A01.0020.0002.1204E] # CUNEIFORM SIGN BU OVER BU AB
-1204F ; [.3A02.0020.0002.1204F] # CUNEIFORM SIGN BU OVER BU UN
-12050 ; [.3A03.0020.0002.12050] # CUNEIFORM SIGN BU CROSSING BU
-12051 ; [.3A04.0020.0002.12051] # CUNEIFORM SIGN BULUG
-12052 ; [.3A05.0020.0002.12052] # CUNEIFORM SIGN BULUG OVER BULUG
-12053 ; [.3A06.0020.0002.12053] # CUNEIFORM SIGN BUR
-12054 ; [.3A07.0020.0002.12054] # CUNEIFORM SIGN BUR2
-12055 ; [.3A08.0020.0002.12055] # CUNEIFORM SIGN DA
-12056 ; [.3A09.0020.0002.12056] # CUNEIFORM SIGN DAG
-12057 ; [.3A0A.0020.0002.12057] # CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH
-12058 ; [.3A0B.0020.0002.12058] # CUNEIFORM SIGN DAG KISIM5 TIMES AMAR
-12059 ; [.3A0C.0020.0002.12059] # CUNEIFORM SIGN DAG KISIM5 TIMES BALAG
-1205A ; [.3A0D.0020.0002.1205A] # CUNEIFORM SIGN DAG KISIM5 TIMES BI
-1205B ; [.3A0E.0020.0002.1205B] # CUNEIFORM SIGN DAG KISIM5 TIMES GA
-1205C ; [.3A0F.0020.0002.1205C] # CUNEIFORM SIGN DAG KISIM5 TIMES GA PLUS MASH
-1205D ; [.3A10.0020.0002.1205D] # CUNEIFORM SIGN DAG KISIM5 TIMES GI
-1205E ; [.3A11.0020.0002.1205E] # CUNEIFORM SIGN DAG KISIM5 TIMES GIR2
-1205F ; [.3A12.0020.0002.1205F] # CUNEIFORM SIGN DAG KISIM5 TIMES GUD
-12060 ; [.3A13.0020.0002.12060] # CUNEIFORM SIGN DAG KISIM5 TIMES HA
-12061 ; [.3A14.0020.0002.12061] # CUNEIFORM SIGN DAG KISIM5 TIMES IR
-12062 ; [.3A15.0020.0002.12062] # CUNEIFORM SIGN DAG KISIM5 TIMES IR PLUS LU
-12063 ; [.3A16.0020.0002.12063] # CUNEIFORM SIGN DAG KISIM5 TIMES KAK
-12064 ; [.3A17.0020.0002.12064] # CUNEIFORM SIGN DAG KISIM5 TIMES LA
-12065 ; [.3A18.0020.0002.12065] # CUNEIFORM SIGN DAG KISIM5 TIMES LU
-12066 ; [.3A19.0020.0002.12066] # CUNEIFORM SIGN DAG KISIM5 TIMES LU PLUS MASH2
-12067 ; [.3A1A.0020.0002.12067] # CUNEIFORM SIGN DAG KISIM5 TIMES LUM
-12068 ; [.3A1B.0020.0002.12068] # CUNEIFORM SIGN DAG KISIM5 TIMES NE
-12069 ; [.3A1C.0020.0002.12069] # CUNEIFORM SIGN DAG KISIM5 TIMES PAP PLUS PAP
-1206A ; [.3A1D.0020.0002.1206A] # CUNEIFORM SIGN DAG KISIM5 TIMES SI
-1206B ; [.3A1E.0020.0002.1206B] # CUNEIFORM SIGN DAG KISIM5 TIMES TAK4
-1206C ; [.3A1F.0020.0002.1206C] # CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2
-1206D ; [.3A20.0020.0002.1206D] # CUNEIFORM SIGN DAG KISIM5 TIMES USH
-1206E ; [.3A21.0020.0002.1206E] # CUNEIFORM SIGN DAM
-1206F ; [.3A22.0020.0002.1206F] # CUNEIFORM SIGN DAR
-12070 ; [.3A23.0020.0002.12070] # CUNEIFORM SIGN DARA3
-12071 ; [.3A24.0020.0002.12071] # CUNEIFORM SIGN DARA4
-12072 ; [.3A25.0020.0002.12072] # CUNEIFORM SIGN DI
-12073 ; [.3A26.0020.0002.12073] # CUNEIFORM SIGN DIB
-12074 ; [.3A27.0020.0002.12074] # CUNEIFORM SIGN DIM
-12075 ; [.3A28.0020.0002.12075] # CUNEIFORM SIGN DIM TIMES SHE
-12076 ; [.3A29.0020.0002.12076] # CUNEIFORM SIGN DIM2
-12077 ; [.3A2A.0020.0002.12077] # CUNEIFORM SIGN DIN
-12078 ; [.3A2B.0020.0002.12078] # CUNEIFORM SIGN DIN KASKAL U GUNU DISH
-12079 ; [.3A2C.0020.0002.12079] # CUNEIFORM SIGN DISH
-1207A ; [.3A2D.0020.0002.1207A] # CUNEIFORM SIGN DU
-1207B ; [.3A2E.0020.0002.1207B] # CUNEIFORM SIGN DU OVER DU
-1207C ; [.3A2F.0020.0002.1207C] # CUNEIFORM SIGN DU GUNU
-1207D ; [.3A30.0020.0002.1207D] # CUNEIFORM SIGN DU SHESHIG
-1207E ; [.3A31.0020.0002.1207E] # CUNEIFORM SIGN DUB
-1207F ; [.3A32.0020.0002.1207F] # CUNEIFORM SIGN DUB TIMES ESH2
-12080 ; [.3A33.0020.0002.12080] # CUNEIFORM SIGN DUB2
-12081 ; [.3A34.0020.0002.12081] # CUNEIFORM SIGN DUG
-12082 ; [.3A35.0020.0002.12082] # CUNEIFORM SIGN DUGUD
-12083 ; [.3A36.0020.0002.12083] # CUNEIFORM SIGN DUH
-12084 ; [.3A37.0020.0002.12084] # CUNEIFORM SIGN DUN
-12085 ; [.3A38.0020.0002.12085] # CUNEIFORM SIGN DUN3
-12086 ; [.3A39.0020.0002.12086] # CUNEIFORM SIGN DUN3 GUNU
-12087 ; [.3A3A.0020.0002.12087] # CUNEIFORM SIGN DUN3 GUNU GUNU
-12088 ; [.3A3B.0020.0002.12088] # CUNEIFORM SIGN DUN4
-12089 ; [.3A3C.0020.0002.12089] # CUNEIFORM SIGN DUR2
-1208A ; [.3A3D.0020.0002.1208A] # CUNEIFORM SIGN E
-1208B ; [.3A3E.0020.0002.1208B] # CUNEIFORM SIGN E TIMES PAP
-1208C ; [.3A3F.0020.0002.1208C] # CUNEIFORM SIGN E OVER E NUN OVER NUN
-1208D ; [.3A40.0020.0002.1208D] # CUNEIFORM SIGN E2
-1208E ; [.3A41.0020.0002.1208E] # CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA
-1208F ; [.3A42.0020.0002.1208F] # CUNEIFORM SIGN E2 TIMES GAR
-12090 ; [.3A43.0020.0002.12090] # CUNEIFORM SIGN E2 TIMES MI
-12091 ; [.3A44.0020.0002.12091] # CUNEIFORM SIGN E2 TIMES SAL
-12092 ; [.3A45.0020.0002.12092] # CUNEIFORM SIGN E2 TIMES SHE
-12093 ; [.3A46.0020.0002.12093] # CUNEIFORM SIGN E2 TIMES U
-12094 ; [.3A47.0020.0002.12094] # CUNEIFORM SIGN EDIN
-12095 ; [.3A48.0020.0002.12095] # CUNEIFORM SIGN EGIR
-12096 ; [.3A49.0020.0002.12096] # CUNEIFORM SIGN EL
-12097 ; [.3A4A.0020.0002.12097] # CUNEIFORM SIGN EN
-12098 ; [.3A4B.0020.0002.12098] # CUNEIFORM SIGN EN TIMES GAN2
-12099 ; [.3A4C.0020.0002.12099] # CUNEIFORM SIGN EN TIMES GAN2 TENU
-1209A ; [.3A4D.0020.0002.1209A] # CUNEIFORM SIGN EN TIMES ME
-1209B ; [.3A4E.0020.0002.1209B] # CUNEIFORM SIGN EN CROSSING EN
-1209C ; [.3A4F.0020.0002.1209C] # CUNEIFORM SIGN EN OPPOSING EN
-1209D ; [.3A50.0020.0002.1209D] # CUNEIFORM SIGN EN SQUARED
-1209E ; [.3A51.0020.0002.1209E] # CUNEIFORM SIGN EREN
-1209F ; [.3A52.0020.0002.1209F] # CUNEIFORM SIGN ERIN2
-120A0 ; [.3A53.0020.0002.120A0] # CUNEIFORM SIGN ESH2
-120A1 ; [.3A54.0020.0002.120A1] # CUNEIFORM SIGN EZEN
-120A2 ; [.3A55.0020.0002.120A2] # CUNEIFORM SIGN EZEN TIMES A
-120A3 ; [.3A56.0020.0002.120A3] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL
-120A4 ; [.3A57.0020.0002.120A4] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL
-120A5 ; [.3A58.0020.0002.120A5] # CUNEIFORM SIGN EZEN TIMES AN
-120A6 ; [.3A59.0020.0002.120A6] # CUNEIFORM SIGN EZEN TIMES BAD
-120A7 ; [.3A5A.0020.0002.120A7] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU
-120A8 ; [.3A5B.0020.0002.120A8] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU GUNU
-120A9 ; [.3A5C.0020.0002.120A9] # CUNEIFORM SIGN EZEN TIMES HA
-120AA ; [.3A5D.0020.0002.120AA] # CUNEIFORM SIGN EZEN TIMES HA GUNU
-120AB ; [.3A5E.0020.0002.120AB] # CUNEIFORM SIGN EZEN TIMES IGI GUNU
-120AC ; [.3A5F.0020.0002.120AC] # CUNEIFORM SIGN EZEN TIMES KASKAL
-120AD ; [.3A60.0020.0002.120AD] # CUNEIFORM SIGN EZEN TIMES KASKAL SQUARED
-120AE ; [.3A61.0020.0002.120AE] # CUNEIFORM SIGN EZEN TIMES KU3
-120AF ; [.3A62.0020.0002.120AF] # CUNEIFORM SIGN EZEN TIMES LA
-120B0 ; [.3A63.0020.0002.120B0] # CUNEIFORM SIGN EZEN TIMES LAL TIMES LAL
-120B1 ; [.3A64.0020.0002.120B1] # CUNEIFORM SIGN EZEN TIMES LI
-120B2 ; [.3A65.0020.0002.120B2] # CUNEIFORM SIGN EZEN TIMES LU
-120B3 ; [.3A66.0020.0002.120B3] # CUNEIFORM SIGN EZEN TIMES U2
-120B4 ; [.3A67.0020.0002.120B4] # CUNEIFORM SIGN EZEN TIMES UD
-120B5 ; [.3A68.0020.0002.120B5] # CUNEIFORM SIGN GA
-120B6 ; [.3A69.0020.0002.120B6] # CUNEIFORM SIGN GA GUNU
-120B7 ; [.3A6A.0020.0002.120B7] # CUNEIFORM SIGN GA2
-120B8 ; [.3A6B.0020.0002.120B8] # CUNEIFORM SIGN GA2 TIMES A PLUS DA PLUS HA
-120B9 ; [.3A6C.0020.0002.120B9] # CUNEIFORM SIGN GA2 TIMES A PLUS HA
-120BA ; [.3A6D.0020.0002.120BA] # CUNEIFORM SIGN GA2 TIMES A PLUS IGI
-120BB ; [.3A6E.0020.0002.120BB] # CUNEIFORM SIGN GA2 TIMES AB2 TENU PLUS TAB
-120BC ; [.3A6F.0020.0002.120BC] # CUNEIFORM SIGN GA2 TIMES AN
-120BD ; [.3A70.0020.0002.120BD] # CUNEIFORM SIGN GA2 TIMES ASH
-120BE ; [.3A71.0020.0002.120BE] # CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL
-120BF ; [.3A72.0020.0002.120BF] # CUNEIFORM SIGN GA2 TIMES BAD
-120C0 ; [.3A73.0020.0002.120C0] # CUNEIFORM SIGN GA2 TIMES BAR PLUS RA
-120C1 ; [.3A74.0020.0002.120C1] # CUNEIFORM SIGN GA2 TIMES BUR
-120C2 ; [.3A75.0020.0002.120C2] # CUNEIFORM SIGN GA2 TIMES BUR PLUS RA
-120C3 ; [.3A76.0020.0002.120C3] # CUNEIFORM SIGN GA2 TIMES DA
-120C4 ; [.3A77.0020.0002.120C4] # CUNEIFORM SIGN GA2 TIMES DI
-120C5 ; [.3A78.0020.0002.120C5] # CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE
-120C6 ; [.3A79.0020.0002.120C6] # CUNEIFORM SIGN GA2 TIMES DUB
-120C7 ; [.3A7A.0020.0002.120C7] # CUNEIFORM SIGN GA2 TIMES EL
-120C8 ; [.3A7B.0020.0002.120C8] # CUNEIFORM SIGN GA2 TIMES EL PLUS LA
-120C9 ; [.3A7C.0020.0002.120C9] # CUNEIFORM SIGN GA2 TIMES EN
-120CA ; [.3A7D.0020.0002.120CA] # CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU
-120CB ; [.3A7E.0020.0002.120CB] # CUNEIFORM SIGN GA2 TIMES GAN2 TENU
-120CC ; [.3A7F.0020.0002.120CC] # CUNEIFORM SIGN GA2 TIMES GAR
-120CD ; [.3A80.0020.0002.120CD] # CUNEIFORM SIGN GA2 TIMES GI
-120CE ; [.3A81.0020.0002.120CE] # CUNEIFORM SIGN GA2 TIMES GI4
-120CF ; [.3A82.0020.0002.120CF] # CUNEIFORM SIGN GA2 TIMES GI4 PLUS A
-120D0 ; [.3A83.0020.0002.120D0] # CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU
-120D1 ; [.3A84.0020.0002.120D1] # CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2
-120D2 ; [.3A85.0020.0002.120D2] # CUNEIFORM SIGN GA2 TIMES HAL
-120D3 ; [.3A86.0020.0002.120D3] # CUNEIFORM SIGN GA2 TIMES HAL PLUS LA
-120D4 ; [.3A87.0020.0002.120D4] # CUNEIFORM SIGN GA2 TIMES HI PLUS LI
-120D5 ; [.3A88.0020.0002.120D5] # CUNEIFORM SIGN GA2 TIMES HUB2
-120D6 ; [.3A89.0020.0002.120D6] # CUNEIFORM SIGN GA2 TIMES IGI GUNU
-120D7 ; [.3A8A.0020.0002.120D7] # CUNEIFORM SIGN GA2 TIMES ISH PLUS HU PLUS ASH
-120D8 ; [.3A8B.0020.0002.120D8] # CUNEIFORM SIGN GA2 TIMES KAK
-120D9 ; [.3A8C.0020.0002.120D9] # CUNEIFORM SIGN GA2 TIMES KASKAL
-120DA ; [.3A8D.0020.0002.120DA] # CUNEIFORM SIGN GA2 TIMES KID
-120DB ; [.3A8E.0020.0002.120DB] # CUNEIFORM SIGN GA2 TIMES KID PLUS LAL
-120DC ; [.3A8F.0020.0002.120DC] # CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN
-120DD ; [.3A90.0020.0002.120DD] # CUNEIFORM SIGN GA2 TIMES LA
-120DE ; [.3A91.0020.0002.120DE] # CUNEIFORM SIGN GA2 TIMES ME PLUS EN
-120DF ; [.3A92.0020.0002.120DF] # CUNEIFORM SIGN GA2 TIMES MI
-120E0 ; [.3A93.0020.0002.120E0] # CUNEIFORM SIGN GA2 TIMES NUN
-120E1 ; [.3A94.0020.0002.120E1] # CUNEIFORM SIGN GA2 TIMES NUN OVER NUN
-120E2 ; [.3A95.0020.0002.120E2] # CUNEIFORM SIGN GA2 TIMES PA
-120E3 ; [.3A96.0020.0002.120E3] # CUNEIFORM SIGN GA2 TIMES SAL
-120E4 ; [.3A97.0020.0002.120E4] # CUNEIFORM SIGN GA2 TIMES SAR
-120E5 ; [.3A98.0020.0002.120E5] # CUNEIFORM SIGN GA2 TIMES SHE
-120E6 ; [.3A99.0020.0002.120E6] # CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR
-120E7 ; [.3A9A.0020.0002.120E7] # CUNEIFORM SIGN GA2 TIMES SHID
-120E8 ; [.3A9B.0020.0002.120E8] # CUNEIFORM SIGN GA2 TIMES SUM
-120E9 ; [.3A9C.0020.0002.120E9] # CUNEIFORM SIGN GA2 TIMES TAK4
-120EA ; [.3A9D.0020.0002.120EA] # CUNEIFORM SIGN GA2 TIMES U
-120EB ; [.3A9E.0020.0002.120EB] # CUNEIFORM SIGN GA2 TIMES UD
-120EC ; [.3A9F.0020.0002.120EC] # CUNEIFORM SIGN GA2 TIMES UD PLUS DU
-120ED ; [.3AA0.0020.0002.120ED] # CUNEIFORM SIGN GA2 OVER GA2
-120EE ; [.3AA1.0020.0002.120EE] # CUNEIFORM SIGN GABA
-120EF ; [.3AA2.0020.0002.120EF] # CUNEIFORM SIGN GABA CROSSING GABA
-120F0 ; [.3AA3.0020.0002.120F0] # CUNEIFORM SIGN GAD
-120F1 ; [.3AA4.0020.0002.120F1] # CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR
-120F2 ; [.3AA5.0020.0002.120F2] # CUNEIFORM SIGN GAL
-120F3 ; [.3AA6.0020.0002.120F3] # CUNEIFORM SIGN GAL GAD OVER GAD GAR OVER GAR
-120F4 ; [.3AA7.0020.0002.120F4] # CUNEIFORM SIGN GALAM
-120F5 ; [.3AA8.0020.0002.120F5] # CUNEIFORM SIGN GAM
-120F6 ; [.3AA9.0020.0002.120F6] # CUNEIFORM SIGN GAN
-120F7 ; [.3AAA.0020.0002.120F7] # CUNEIFORM SIGN GAN2
-120F8 ; [.3AAB.0020.0002.120F8] # CUNEIFORM SIGN GAN2 TENU
-120F9 ; [.3AAC.0020.0002.120F9] # CUNEIFORM SIGN GAN2 OVER GAN2
-120FA ; [.3AAD.0020.0002.120FA] # CUNEIFORM SIGN GAN2 CROSSING GAN2
-120FB ; [.3AAE.0020.0002.120FB] # CUNEIFORM SIGN GAR
-120FC ; [.3AAF.0020.0002.120FC] # CUNEIFORM SIGN GAR3
-120FD ; [.3AB0.0020.0002.120FD] # CUNEIFORM SIGN GASHAN
-120FE ; [.3AB1.0020.0002.120FE] # CUNEIFORM SIGN GESHTIN
-120FF ; [.3AB2.0020.0002.120FF] # CUNEIFORM SIGN GESHTIN TIMES KUR
-12100 ; [.3AB3.0020.0002.12100] # CUNEIFORM SIGN GI
-12101 ; [.3AB4.0020.0002.12101] # CUNEIFORM SIGN GI TIMES E
-12102 ; [.3AB5.0020.0002.12102] # CUNEIFORM SIGN GI TIMES U
-12103 ; [.3AB6.0020.0002.12103] # CUNEIFORM SIGN GI CROSSING GI
-12104 ; [.3AB7.0020.0002.12104] # CUNEIFORM SIGN GI4
-12105 ; [.3AB8.0020.0002.12105] # CUNEIFORM SIGN GI4 OVER GI4
-12106 ; [.3AB9.0020.0002.12106] # CUNEIFORM SIGN GI4 CROSSING GI4
-12107 ; [.3ABA.0020.0002.12107] # CUNEIFORM SIGN GIDIM
-12108 ; [.3ABB.0020.0002.12108] # CUNEIFORM SIGN GIR2
-12109 ; [.3ABC.0020.0002.12109] # CUNEIFORM SIGN GIR2 GUNU
-1210A ; [.3ABD.0020.0002.1210A] # CUNEIFORM SIGN GIR3
-1210B ; [.3ABE.0020.0002.1210B] # CUNEIFORM SIGN GIR3 TIMES A PLUS IGI
-1210C ; [.3ABF.0020.0002.1210C] # CUNEIFORM SIGN GIR3 TIMES GAN2 TENU
-1210D ; [.3AC0.0020.0002.1210D] # CUNEIFORM SIGN GIR3 TIMES IGI
-1210E ; [.3AC1.0020.0002.1210E] # CUNEIFORM SIGN GIR3 TIMES LU PLUS IGI
-1210F ; [.3AC2.0020.0002.1210F] # CUNEIFORM SIGN GIR3 TIMES PA
-12110 ; [.3AC3.0020.0002.12110] # CUNEIFORM SIGN GISAL
-12111 ; [.3AC4.0020.0002.12111] # CUNEIFORM SIGN GISH
-12112 ; [.3AC5.0020.0002.12112] # CUNEIFORM SIGN GISH CROSSING GISH
-12113 ; [.3AC6.0020.0002.12113] # CUNEIFORM SIGN GISH TIMES BAD
-12114 ; [.3AC7.0020.0002.12114] # CUNEIFORM SIGN GISH TIMES TAK4
-12115 ; [.3AC8.0020.0002.12115] # CUNEIFORM SIGN GISH TENU
-12116 ; [.3AC9.0020.0002.12116] # CUNEIFORM SIGN GU
-12117 ; [.3ACA.0020.0002.12117] # CUNEIFORM SIGN GU CROSSING GU
-12118 ; [.3ACB.0020.0002.12118] # CUNEIFORM SIGN GU2
-12119 ; [.3ACC.0020.0002.12119] # CUNEIFORM SIGN GU2 TIMES KAK
-1211A ; [.3ACD.0020.0002.1211A] # CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU
-1211B ; [.3ACE.0020.0002.1211B] # CUNEIFORM SIGN GU2 TIMES NUN
-1211C ; [.3ACF.0020.0002.1211C] # CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2
-1211D ; [.3AD0.0020.0002.1211D] # CUNEIFORM SIGN GU2 GUNU
-1211E ; [.3AD1.0020.0002.1211E] # CUNEIFORM SIGN GUD
-1211F ; [.3AD2.0020.0002.1211F] # CUNEIFORM SIGN GUD TIMES A PLUS KUR
-12120 ; [.3AD3.0020.0002.12120] # CUNEIFORM SIGN GUD TIMES KUR
-12121 ; [.3AD4.0020.0002.12121] # CUNEIFORM SIGN GUD OVER GUD LUGAL
-12122 ; [.3AD5.0020.0002.12122] # CUNEIFORM SIGN GUL
-12123 ; [.3AD6.0020.0002.12123] # CUNEIFORM SIGN GUM
-12124 ; [.3AD7.0020.0002.12124] # CUNEIFORM SIGN GUM TIMES SHE
-12125 ; [.3AD8.0020.0002.12125] # CUNEIFORM SIGN GUR
-12126 ; [.3AD9.0020.0002.12126] # CUNEIFORM SIGN GUR7
-12127 ; [.3ADA.0020.0002.12127] # CUNEIFORM SIGN GURUN
-12128 ; [.3ADB.0020.0002.12128] # CUNEIFORM SIGN GURUSH
-12129 ; [.3ADC.0020.0002.12129] # CUNEIFORM SIGN HA
-1212A ; [.3ADD.0020.0002.1212A] # CUNEIFORM SIGN HA TENU
-1212B ; [.3ADE.0020.0002.1212B] # CUNEIFORM SIGN HA GUNU
-1212C ; [.3ADF.0020.0002.1212C] # CUNEIFORM SIGN HAL
-1212D ; [.3AE0.0020.0002.1212D] # CUNEIFORM SIGN HI
-1212E ; [.3AE1.0020.0002.1212E] # CUNEIFORM SIGN HI TIMES ASH
-1212F ; [.3AE2.0020.0002.1212F] # CUNEIFORM SIGN HI TIMES ASH2
-12130 ; [.3AE3.0020.0002.12130] # CUNEIFORM SIGN HI TIMES BAD
-12131 ; [.3AE4.0020.0002.12131] # CUNEIFORM SIGN HI TIMES DISH
-12132 ; [.3AE5.0020.0002.12132] # CUNEIFORM SIGN HI TIMES GAD
-12133 ; [.3AE6.0020.0002.12133] # CUNEIFORM SIGN HI TIMES KIN
-12134 ; [.3AE7.0020.0002.12134] # CUNEIFORM SIGN HI TIMES NUN
-12135 ; [.3AE8.0020.0002.12135] # CUNEIFORM SIGN HI TIMES SHE
-12136 ; [.3AE9.0020.0002.12136] # CUNEIFORM SIGN HI TIMES U
-12137 ; [.3AEA.0020.0002.12137] # CUNEIFORM SIGN HU
-12138 ; [.3AEB.0020.0002.12138] # CUNEIFORM SIGN HUB2
-12139 ; [.3AEC.0020.0002.12139] # CUNEIFORM SIGN HUB2 TIMES AN
-1213A ; [.3AED.0020.0002.1213A] # CUNEIFORM SIGN HUB2 TIMES HAL
-1213B ; [.3AEE.0020.0002.1213B] # CUNEIFORM SIGN HUB2 TIMES KASKAL
-1213C ; [.3AEF.0020.0002.1213C] # CUNEIFORM SIGN HUB2 TIMES LISH
-1213D ; [.3AF0.0020.0002.1213D] # CUNEIFORM SIGN HUB2 TIMES UD
-1213E ; [.3AF1.0020.0002.1213E] # CUNEIFORM SIGN HUL2
-1213F ; [.3AF2.0020.0002.1213F] # CUNEIFORM SIGN I
-12140 ; [.3AF3.0020.0002.12140] # CUNEIFORM SIGN I A
-12141 ; [.3AF4.0020.0002.12141] # CUNEIFORM SIGN IB
-12142 ; [.3AF5.0020.0002.12142] # CUNEIFORM SIGN IDIM
-12143 ; [.3AF6.0020.0002.12143] # CUNEIFORM SIGN IDIM OVER IDIM BUR
-12144 ; [.3AF7.0020.0002.12144] # CUNEIFORM SIGN IDIM OVER IDIM SQUARED
-12145 ; [.3AF8.0020.0002.12145] # CUNEIFORM SIGN IG
-12146 ; [.3AF9.0020.0002.12146] # CUNEIFORM SIGN IGI
-12147 ; [.3AFA.0020.0002.12147] # CUNEIFORM SIGN IGI DIB
-12148 ; [.3AFB.0020.0002.12148] # CUNEIFORM SIGN IGI RI
-12149 ; [.3AFC.0020.0002.12149] # CUNEIFORM SIGN IGI OVER IGI SHIR OVER SHIR UD OVER UD
-1214A ; [.3AFD.0020.0002.1214A] # CUNEIFORM SIGN IGI GUNU
-1214B ; [.3AFE.0020.0002.1214B] # CUNEIFORM SIGN IL
-1214C ; [.3AFF.0020.0002.1214C] # CUNEIFORM SIGN IL TIMES GAN2 TENU
-1214D ; [.3B00.0020.0002.1214D] # CUNEIFORM SIGN IL2
-1214E ; [.3B01.0020.0002.1214E] # CUNEIFORM SIGN IM
-1214F ; [.3B02.0020.0002.1214F] # CUNEIFORM SIGN IM TIMES TAK4
-12150 ; [.3B03.0020.0002.12150] # CUNEIFORM SIGN IM CROSSING IM
-12151 ; [.3B04.0020.0002.12151] # CUNEIFORM SIGN IM OPPOSING IM
-12152 ; [.3B05.0020.0002.12152] # CUNEIFORM SIGN IM SQUARED
-12153 ; [.3B06.0020.0002.12153] # CUNEIFORM SIGN IMIN
-12154 ; [.3B07.0020.0002.12154] # CUNEIFORM SIGN IN
-12155 ; [.3B08.0020.0002.12155] # CUNEIFORM SIGN IR
-12156 ; [.3B09.0020.0002.12156] # CUNEIFORM SIGN ISH
-12157 ; [.3B0A.0020.0002.12157] # CUNEIFORM SIGN KA
-12158 ; [.3B0B.0020.0002.12158] # CUNEIFORM SIGN KA TIMES A
-12159 ; [.3B0C.0020.0002.12159] # CUNEIFORM SIGN KA TIMES AD
-1215A ; [.3B0D.0020.0002.1215A] # CUNEIFORM SIGN KA TIMES AD PLUS KU3
-1215B ; [.3B0E.0020.0002.1215B] # CUNEIFORM SIGN KA TIMES ASH2
-1215C ; [.3B0F.0020.0002.1215C] # CUNEIFORM SIGN KA TIMES BAD
-1215D ; [.3B10.0020.0002.1215D] # CUNEIFORM SIGN KA TIMES BALAG
-1215E ; [.3B11.0020.0002.1215E] # CUNEIFORM SIGN KA TIMES BAR
-1215F ; [.3B12.0020.0002.1215F] # CUNEIFORM SIGN KA TIMES BI
-12160 ; [.3B13.0020.0002.12160] # CUNEIFORM SIGN KA TIMES ERIN2
-12161 ; [.3B14.0020.0002.12161] # CUNEIFORM SIGN KA TIMES ESH2
-12162 ; [.3B15.0020.0002.12162] # CUNEIFORM SIGN KA TIMES GA
-12163 ; [.3B16.0020.0002.12163] # CUNEIFORM SIGN KA TIMES GAL
-12164 ; [.3B17.0020.0002.12164] # CUNEIFORM SIGN KA TIMES GAN2 TENU
-12165 ; [.3B18.0020.0002.12165] # CUNEIFORM SIGN KA TIMES GAR
-12166 ; [.3B19.0020.0002.12166] # CUNEIFORM SIGN KA TIMES GAR PLUS SHA3 PLUS A
-12167 ; [.3B1A.0020.0002.12167] # CUNEIFORM SIGN KA TIMES GI
-12168 ; [.3B1B.0020.0002.12168] # CUNEIFORM SIGN KA TIMES GIR2
-12169 ; [.3B1C.0020.0002.12169] # CUNEIFORM SIGN KA TIMES GISH PLUS SAR
-1216A ; [.3B1D.0020.0002.1216A] # CUNEIFORM SIGN KA TIMES GISH CROSSING GISH
-1216B ; [.3B1E.0020.0002.1216B] # CUNEIFORM SIGN KA TIMES GU
-1216C ; [.3B1F.0020.0002.1216C] # CUNEIFORM SIGN KA TIMES GUR7
-1216D ; [.3B20.0020.0002.1216D] # CUNEIFORM SIGN KA TIMES IGI
-1216E ; [.3B21.0020.0002.1216E] # CUNEIFORM SIGN KA TIMES IM
-1216F ; [.3B22.0020.0002.1216F] # CUNEIFORM SIGN KA TIMES KAK
-12170 ; [.3B23.0020.0002.12170] # CUNEIFORM SIGN KA TIMES KI
-12171 ; [.3B24.0020.0002.12171] # CUNEIFORM SIGN KA TIMES KID
-12172 ; [.3B25.0020.0002.12172] # CUNEIFORM SIGN KA TIMES LI
-12173 ; [.3B26.0020.0002.12173] # CUNEIFORM SIGN KA TIMES LU
-12174 ; [.3B27.0020.0002.12174] # CUNEIFORM SIGN KA TIMES ME
-12175 ; [.3B28.0020.0002.12175] # CUNEIFORM SIGN KA TIMES ME PLUS DU
-12176 ; [.3B29.0020.0002.12176] # CUNEIFORM SIGN KA TIMES ME PLUS GI
-12177 ; [.3B2A.0020.0002.12177] # CUNEIFORM SIGN KA TIMES ME PLUS TE
-12178 ; [.3B2B.0020.0002.12178] # CUNEIFORM SIGN KA TIMES MI
-12179 ; [.3B2C.0020.0002.12179] # CUNEIFORM SIGN KA TIMES MI PLUS NUNUZ
-1217A ; [.3B2D.0020.0002.1217A] # CUNEIFORM SIGN KA TIMES NE
-1217B ; [.3B2E.0020.0002.1217B] # CUNEIFORM SIGN KA TIMES NUN
-1217C ; [.3B2F.0020.0002.1217C] # CUNEIFORM SIGN KA TIMES PI
-1217D ; [.3B30.0020.0002.1217D] # CUNEIFORM SIGN KA TIMES RU
-1217E ; [.3B31.0020.0002.1217E] # CUNEIFORM SIGN KA TIMES SA
-1217F ; [.3B32.0020.0002.1217F] # CUNEIFORM SIGN KA TIMES SAR
-12180 ; [.3B33.0020.0002.12180] # CUNEIFORM SIGN KA TIMES SHA
-12181 ; [.3B34.0020.0002.12181] # CUNEIFORM SIGN KA TIMES SHE
-12182 ; [.3B35.0020.0002.12182] # CUNEIFORM SIGN KA TIMES SHID
-12183 ; [.3B36.0020.0002.12183] # CUNEIFORM SIGN KA TIMES SHU
-12184 ; [.3B37.0020.0002.12184] # CUNEIFORM SIGN KA TIMES SIG
-12185 ; [.3B38.0020.0002.12185] # CUNEIFORM SIGN KA TIMES SUHUR
-12186 ; [.3B39.0020.0002.12186] # CUNEIFORM SIGN KA TIMES TAR
-12187 ; [.3B3A.0020.0002.12187] # CUNEIFORM SIGN KA TIMES U
-12188 ; [.3B3B.0020.0002.12188] # CUNEIFORM SIGN KA TIMES U2
-12189 ; [.3B3C.0020.0002.12189] # CUNEIFORM SIGN KA TIMES UD
-1218A ; [.3B3D.0020.0002.1218A] # CUNEIFORM SIGN KA TIMES UMUM TIMES PA
-1218B ; [.3B3E.0020.0002.1218B] # CUNEIFORM SIGN KA TIMES USH
-1218C ; [.3B3F.0020.0002.1218C] # CUNEIFORM SIGN KA TIMES ZI
-1218D ; [.3B40.0020.0002.1218D] # CUNEIFORM SIGN KA2
-1218E ; [.3B41.0020.0002.1218E] # CUNEIFORM SIGN KA2 CROSSING KA2
-1218F ; [.3B42.0020.0002.1218F] # CUNEIFORM SIGN KAB
-12190 ; [.3B43.0020.0002.12190] # CUNEIFORM SIGN KAD2
-12191 ; [.3B44.0020.0002.12191] # CUNEIFORM SIGN KAD3
-12192 ; [.3B45.0020.0002.12192] # CUNEIFORM SIGN KAD4
-12193 ; [.3B46.0020.0002.12193] # CUNEIFORM SIGN KAD5
-12194 ; [.3B47.0020.0002.12194] # CUNEIFORM SIGN KAD5 OVER KAD5
-12195 ; [.3B48.0020.0002.12195] # CUNEIFORM SIGN KAK
-12196 ; [.3B49.0020.0002.12196] # CUNEIFORM SIGN KAK TIMES IGI GUNU
-12197 ; [.3B4A.0020.0002.12197] # CUNEIFORM SIGN KAL
-12198 ; [.3B4B.0020.0002.12198] # CUNEIFORM SIGN KAL TIMES BAD
-12199 ; [.3B4C.0020.0002.12199] # CUNEIFORM SIGN KAL CROSSING KAL
-1219A ; [.3B4D.0020.0002.1219A] # CUNEIFORM SIGN KAM2
-1219B ; [.3B4E.0020.0002.1219B] # CUNEIFORM SIGN KAM4
-1219C ; [.3B4F.0020.0002.1219C] # CUNEIFORM SIGN KASKAL
-1219D ; [.3B50.0020.0002.1219D] # CUNEIFORM SIGN KASKAL LAGAB TIMES U OVER LAGAB TIMES U
-1219E ; [.3B51.0020.0002.1219E] # CUNEIFORM SIGN KASKAL OVER KASKAL LAGAB TIMES U OVER LAGAB TIMES U
-1219F ; [.3B52.0020.0002.1219F] # CUNEIFORM SIGN KESH2
-121A0 ; [.3B53.0020.0002.121A0] # CUNEIFORM SIGN KI
-121A1 ; [.3B54.0020.0002.121A1] # CUNEIFORM SIGN KI TIMES BAD
-121A2 ; [.3B55.0020.0002.121A2] # CUNEIFORM SIGN KI TIMES U
-121A3 ; [.3B56.0020.0002.121A3] # CUNEIFORM SIGN KI TIMES UD
-121A4 ; [.3B57.0020.0002.121A4] # CUNEIFORM SIGN KID
-121A5 ; [.3B58.0020.0002.121A5] # CUNEIFORM SIGN KIN
-121A6 ; [.3B59.0020.0002.121A6] # CUNEIFORM SIGN KISAL
-121A7 ; [.3B5A.0020.0002.121A7] # CUNEIFORM SIGN KISH
-121A8 ; [.3B5B.0020.0002.121A8] # CUNEIFORM SIGN KISIM5
-121A9 ; [.3B5C.0020.0002.121A9] # CUNEIFORM SIGN KISIM5 OVER KISIM5
-121AA ; [.3B5D.0020.0002.121AA] # CUNEIFORM SIGN KU
-121AB ; [.3B5E.0020.0002.121AB] # CUNEIFORM SIGN KU OVER HI TIMES ASH2 KU OVER HI TIMES ASH2
-121AC ; [.3B5F.0020.0002.121AC] # CUNEIFORM SIGN KU3
-121AD ; [.3B60.0020.0002.121AD] # CUNEIFORM SIGN KU4
-121AE ; [.3B61.0020.0002.121AE] # CUNEIFORM SIGN KU4 VARIANT FORM
-121AF ; [.3B62.0020.0002.121AF] # CUNEIFORM SIGN KU7
-121B0 ; [.3B63.0020.0002.121B0] # CUNEIFORM SIGN KUL
-121B1 ; [.3B64.0020.0002.121B1] # CUNEIFORM SIGN KUL GUNU
-121B2 ; [.3B65.0020.0002.121B2] # CUNEIFORM SIGN KUN
-121B3 ; [.3B66.0020.0002.121B3] # CUNEIFORM SIGN KUR
-121B4 ; [.3B67.0020.0002.121B4] # CUNEIFORM SIGN KUR OPPOSING KUR
-121B5 ; [.3B68.0020.0002.121B5] # CUNEIFORM SIGN KUSHU2
-121B6 ; [.3B69.0020.0002.121B6] # CUNEIFORM SIGN KWU318
-121B7 ; [.3B6A.0020.0002.121B7] # CUNEIFORM SIGN LA
-121B8 ; [.3B6B.0020.0002.121B8] # CUNEIFORM SIGN LAGAB
-121B9 ; [.3B6C.0020.0002.121B9] # CUNEIFORM SIGN LAGAB TIMES A
-121BA ; [.3B6D.0020.0002.121BA] # CUNEIFORM SIGN LAGAB TIMES A PLUS DA PLUS HA
-121BB ; [.3B6E.0020.0002.121BB] # CUNEIFORM SIGN LAGAB TIMES A PLUS GAR
-121BC ; [.3B6F.0020.0002.121BC] # CUNEIFORM SIGN LAGAB TIMES A PLUS LAL
-121BD ; [.3B70.0020.0002.121BD] # CUNEIFORM SIGN LAGAB TIMES AL
-121BE ; [.3B71.0020.0002.121BE] # CUNEIFORM SIGN LAGAB TIMES AN
-121BF ; [.3B72.0020.0002.121BF] # CUNEIFORM SIGN LAGAB TIMES ASH ZIDA TENU
-121C0 ; [.3B73.0020.0002.121C0] # CUNEIFORM SIGN LAGAB TIMES BAD
-121C1 ; [.3B74.0020.0002.121C1] # CUNEIFORM SIGN LAGAB TIMES BI
-121C2 ; [.3B75.0020.0002.121C2] # CUNEIFORM SIGN LAGAB TIMES DAR
-121C3 ; [.3B76.0020.0002.121C3] # CUNEIFORM SIGN LAGAB TIMES EN
-121C4 ; [.3B77.0020.0002.121C4] # CUNEIFORM SIGN LAGAB TIMES GA
-121C5 ; [.3B78.0020.0002.121C5] # CUNEIFORM SIGN LAGAB TIMES GAR
-121C6 ; [.3B79.0020.0002.121C6] # CUNEIFORM SIGN LAGAB TIMES GUD
-121C7 ; [.3B7A.0020.0002.121C7] # CUNEIFORM SIGN LAGAB TIMES GUD PLUS GUD
-121C8 ; [.3B7B.0020.0002.121C8] # CUNEIFORM SIGN LAGAB TIMES HA
-121C9 ; [.3B7C.0020.0002.121C9] # CUNEIFORM SIGN LAGAB TIMES HAL
-121CA ; [.3B7D.0020.0002.121CA] # CUNEIFORM SIGN LAGAB TIMES HI TIMES NUN
-121CB ; [.3B7E.0020.0002.121CB] # CUNEIFORM SIGN LAGAB TIMES IGI GUNU
-121CC ; [.3B7F.0020.0002.121CC] # CUNEIFORM SIGN LAGAB TIMES IM
-121CD ; [.3B80.0020.0002.121CD] # CUNEIFORM SIGN LAGAB TIMES IM PLUS HA
-121CE ; [.3B81.0020.0002.121CE] # CUNEIFORM SIGN LAGAB TIMES IM PLUS LU
-121CF ; [.3B82.0020.0002.121CF] # CUNEIFORM SIGN LAGAB TIMES KI
-121D0 ; [.3B83.0020.0002.121D0] # CUNEIFORM SIGN LAGAB TIMES KIN
-121D1 ; [.3B84.0020.0002.121D1] # CUNEIFORM SIGN LAGAB TIMES KU3
-121D2 ; [.3B85.0020.0002.121D2] # CUNEIFORM SIGN LAGAB TIMES KUL
-121D3 ; [.3B86.0020.0002.121D3] # CUNEIFORM SIGN LAGAB TIMES KUL PLUS HI PLUS A
-121D4 ; [.3B87.0020.0002.121D4] # CUNEIFORM SIGN LAGAB TIMES LAGAB
-121D5 ; [.3B88.0020.0002.121D5] # CUNEIFORM SIGN LAGAB TIMES LISH
-121D6 ; [.3B89.0020.0002.121D6] # CUNEIFORM SIGN LAGAB TIMES LU
-121D7 ; [.3B8A.0020.0002.121D7] # CUNEIFORM SIGN LAGAB TIMES LUL
-121D8 ; [.3B8B.0020.0002.121D8] # CUNEIFORM SIGN LAGAB TIMES ME
-121D9 ; [.3B8C.0020.0002.121D9] # CUNEIFORM SIGN LAGAB TIMES ME PLUS EN
-121DA ; [.3B8D.0020.0002.121DA] # CUNEIFORM SIGN LAGAB TIMES MUSH
-121DB ; [.3B8E.0020.0002.121DB] # CUNEIFORM SIGN LAGAB TIMES NE
-121DC ; [.3B8F.0020.0002.121DC] # CUNEIFORM SIGN LAGAB TIMES SHE PLUS SUM
-121DD ; [.3B90.0020.0002.121DD] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH PLUS ERIN2
-121DE ; [.3B91.0020.0002.121DE] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH TENU
-121DF ; [.3B92.0020.0002.121DF] # CUNEIFORM SIGN LAGAB TIMES SHU2
-121E0 ; [.3B93.0020.0002.121E0] # CUNEIFORM SIGN LAGAB TIMES SHU2 PLUS SHU2
-121E1 ; [.3B94.0020.0002.121E1] # CUNEIFORM SIGN LAGAB TIMES SUM
-121E2 ; [.3B95.0020.0002.121E2] # CUNEIFORM SIGN LAGAB TIMES TAG
-121E3 ; [.3B96.0020.0002.121E3] # CUNEIFORM SIGN LAGAB TIMES TAK4
-121E4 ; [.3B97.0020.0002.121E4] # CUNEIFORM SIGN LAGAB TIMES TE PLUS A PLUS SU PLUS NA
-121E5 ; [.3B98.0020.0002.121E5] # CUNEIFORM SIGN LAGAB TIMES U
-121E6 ; [.3B99.0020.0002.121E6] # CUNEIFORM SIGN LAGAB TIMES U PLUS A
-121E7 ; [.3B9A.0020.0002.121E7] # CUNEIFORM SIGN LAGAB TIMES U PLUS U PLUS U
-121E8 ; [.3B9B.0020.0002.121E8] # CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH
-121E9 ; [.3B9C.0020.0002.121E9] # CUNEIFORM SIGN LAGAB TIMES UD
-121EA ; [.3B9D.0020.0002.121EA] # CUNEIFORM SIGN LAGAB TIMES USH
-121EB ; [.3B9E.0020.0002.121EB] # CUNEIFORM SIGN LAGAB SQUARED
-121EC ; [.3B9F.0020.0002.121EC] # CUNEIFORM SIGN LAGAR
-121ED ; [.3BA0.0020.0002.121ED] # CUNEIFORM SIGN LAGAR TIMES SHE
-121EE ; [.3BA1.0020.0002.121EE] # CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM
-121EF ; [.3BA2.0020.0002.121EF] # CUNEIFORM SIGN LAGAR GUNU
-121F0 ; [.3BA3.0020.0002.121F0] # CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE
-121F1 ; [.3BA4.0020.0002.121F1] # CUNEIFORM SIGN LAHSHU
-121F2 ; [.3BA5.0020.0002.121F2] # CUNEIFORM SIGN LAL
-121F3 ; [.3BA6.0020.0002.121F3] # CUNEIFORM SIGN LAL TIMES LAL
-121F4 ; [.3BA7.0020.0002.121F4] # CUNEIFORM SIGN LAM
-121F5 ; [.3BA8.0020.0002.121F5] # CUNEIFORM SIGN LAM TIMES KUR
-121F6 ; [.3BA9.0020.0002.121F6] # CUNEIFORM SIGN LAM TIMES KUR PLUS RU
-121F7 ; [.3BAA.0020.0002.121F7] # CUNEIFORM SIGN LI
-121F8 ; [.3BAB.0020.0002.121F8] # CUNEIFORM SIGN LIL
-121F9 ; [.3BAC.0020.0002.121F9] # CUNEIFORM SIGN LIMMU2
-121FA ; [.3BAD.0020.0002.121FA] # CUNEIFORM SIGN LISH
-121FB ; [.3BAE.0020.0002.121FB] # CUNEIFORM SIGN LU
-121FC ; [.3BAF.0020.0002.121FC] # CUNEIFORM SIGN LU TIMES BAD
-121FD ; [.3BB0.0020.0002.121FD] # CUNEIFORM SIGN LU2
-121FE ; [.3BB1.0020.0002.121FE] # CUNEIFORM SIGN LU2 TIMES AL
-121FF ; [.3BB2.0020.0002.121FF] # CUNEIFORM SIGN LU2 TIMES BAD
-12200 ; [.3BB3.0020.0002.12200] # CUNEIFORM SIGN LU2 TIMES ESH2
-12201 ; [.3BB4.0020.0002.12201] # CUNEIFORM SIGN LU2 TIMES ESH2 TENU
-12202 ; [.3BB5.0020.0002.12202] # CUNEIFORM SIGN LU2 TIMES GAN2 TENU
-12203 ; [.3BB6.0020.0002.12203] # CUNEIFORM SIGN LU2 TIMES HI TIMES BAD
-12204 ; [.3BB7.0020.0002.12204] # CUNEIFORM SIGN LU2 TIMES IM
-12205 ; [.3BB8.0020.0002.12205] # CUNEIFORM SIGN LU2 TIMES KAD2
-12206 ; [.3BB9.0020.0002.12206] # CUNEIFORM SIGN LU2 TIMES KAD3
-12207 ; [.3BBA.0020.0002.12207] # CUNEIFORM SIGN LU2 TIMES KAD3 PLUS ASH
-12208 ; [.3BBB.0020.0002.12208] # CUNEIFORM SIGN LU2 TIMES KI
-12209 ; [.3BBC.0020.0002.12209] # CUNEIFORM SIGN LU2 TIMES LA PLUS ASH
-1220A ; [.3BBD.0020.0002.1220A] # CUNEIFORM SIGN LU2 TIMES LAGAB
-1220B ; [.3BBE.0020.0002.1220B] # CUNEIFORM SIGN LU2 TIMES ME PLUS EN
-1220C ; [.3BBF.0020.0002.1220C] # CUNEIFORM SIGN LU2 TIMES NE
-1220D ; [.3BC0.0020.0002.1220D] # CUNEIFORM SIGN LU2 TIMES NU
-1220E ; [.3BC1.0020.0002.1220E] # CUNEIFORM SIGN LU2 TIMES SI PLUS ASH
-1220F ; [.3BC2.0020.0002.1220F] # CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU
-12210 ; [.3BC3.0020.0002.12210] # CUNEIFORM SIGN LU2 TIMES TUG2
-12211 ; [.3BC4.0020.0002.12211] # CUNEIFORM SIGN LU2 TENU
-12212 ; [.3BC5.0020.0002.12212] # CUNEIFORM SIGN LU2 CROSSING LU2
-12213 ; [.3BC6.0020.0002.12213] # CUNEIFORM SIGN LU2 OPPOSING LU2
-12214 ; [.3BC7.0020.0002.12214] # CUNEIFORM SIGN LU2 SQUARED
-12215 ; [.3BC8.0020.0002.12215] # CUNEIFORM SIGN LU2 SHESHIG
-12216 ; [.3BC9.0020.0002.12216] # CUNEIFORM SIGN LU3
-12217 ; [.3BCA.0020.0002.12217] # CUNEIFORM SIGN LUGAL
-12218 ; [.3BCB.0020.0002.12218] # CUNEIFORM SIGN LUGAL OVER LUGAL
-12219 ; [.3BCC.0020.0002.12219] # CUNEIFORM SIGN LUGAL OPPOSING LUGAL
-1221A ; [.3BCD.0020.0002.1221A] # CUNEIFORM SIGN LUGAL SHESHIG
-1221B ; [.3BCE.0020.0002.1221B] # CUNEIFORM SIGN LUH
-1221C ; [.3BCF.0020.0002.1221C] # CUNEIFORM SIGN LUL
-1221D ; [.3BD0.0020.0002.1221D] # CUNEIFORM SIGN LUM
-1221E ; [.3BD1.0020.0002.1221E] # CUNEIFORM SIGN LUM OVER LUM
-1221F ; [.3BD2.0020.0002.1221F] # CUNEIFORM SIGN LUM OVER LUM GAR OVER GAR
-12220 ; [.3BD3.0020.0002.12220] # CUNEIFORM SIGN MA
-12221 ; [.3BD4.0020.0002.12221] # CUNEIFORM SIGN MA TIMES TAK4
-12222 ; [.3BD5.0020.0002.12222] # CUNEIFORM SIGN MA GUNU
-12223 ; [.3BD6.0020.0002.12223] # CUNEIFORM SIGN MA2
-12224 ; [.3BD7.0020.0002.12224] # CUNEIFORM SIGN MAH
-12225 ; [.3BD8.0020.0002.12225] # CUNEIFORM SIGN MAR
-12226 ; [.3BD9.0020.0002.12226] # CUNEIFORM SIGN MASH
-12227 ; [.3BDA.0020.0002.12227] # CUNEIFORM SIGN MASH2
-12228 ; [.3BDB.0020.0002.12228] # CUNEIFORM SIGN ME
-12229 ; [.3BDC.0020.0002.12229] # CUNEIFORM SIGN MES
-1222A ; [.3BDD.0020.0002.1222A] # CUNEIFORM SIGN MI
-1222B ; [.3BDE.0020.0002.1222B] # CUNEIFORM SIGN MIN
-1222C ; [.3BDF.0020.0002.1222C] # CUNEIFORM SIGN MU
-1222D ; [.3BE0.0020.0002.1222D] # CUNEIFORM SIGN MU OVER MU
-1222E ; [.3BE1.0020.0002.1222E] # CUNEIFORM SIGN MUG
-1222F ; [.3BE2.0020.0002.1222F] # CUNEIFORM SIGN MUG GUNU
-12230 ; [.3BE3.0020.0002.12230] # CUNEIFORM SIGN MUNSUB
-12231 ; [.3BE4.0020.0002.12231] # CUNEIFORM SIGN MURGU2
-12232 ; [.3BE5.0020.0002.12232] # CUNEIFORM SIGN MUSH
-12233 ; [.3BE6.0020.0002.12233] # CUNEIFORM SIGN MUSH TIMES A
-12234 ; [.3BE7.0020.0002.12234] # CUNEIFORM SIGN MUSH TIMES KUR
-12235 ; [.3BE8.0020.0002.12235] # CUNEIFORM SIGN MUSH TIMES ZA
-12236 ; [.3BE9.0020.0002.12236] # CUNEIFORM SIGN MUSH OVER MUSH
-12237 ; [.3BEA.0020.0002.12237] # CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA
-12238 ; [.3BEB.0020.0002.12238] # CUNEIFORM SIGN MUSH CROSSING MUSH
-12239 ; [.3BEC.0020.0002.12239] # CUNEIFORM SIGN MUSH3
-1223A ; [.3BED.0020.0002.1223A] # CUNEIFORM SIGN MUSH3 TIMES A
-1223B ; [.3BEE.0020.0002.1223B] # CUNEIFORM SIGN MUSH3 TIMES A PLUS DI
-1223C ; [.3BEF.0020.0002.1223C] # CUNEIFORM SIGN MUSH3 TIMES DI
-1223D ; [.3BF0.0020.0002.1223D] # CUNEIFORM SIGN MUSH3 GUNU
-1223E ; [.3BF1.0020.0002.1223E] # CUNEIFORM SIGN NA
-1223F ; [.3BF2.0020.0002.1223F] # CUNEIFORM SIGN NA2
-12240 ; [.3BF3.0020.0002.12240] # CUNEIFORM SIGN NAGA
-12241 ; [.3BF4.0020.0002.12241] # CUNEIFORM SIGN NAGA INVERTED
-12242 ; [.3BF5.0020.0002.12242] # CUNEIFORM SIGN NAGA TIMES SHU TENU
-12243 ; [.3BF6.0020.0002.12243] # CUNEIFORM SIGN NAGA OPPOSING NAGA
-12244 ; [.3BF7.0020.0002.12244] # CUNEIFORM SIGN NAGAR
-12245 ; [.3BF8.0020.0002.12245] # CUNEIFORM SIGN NAM NUTILLU
-12246 ; [.3BF9.0020.0002.12246] # CUNEIFORM SIGN NAM
-12247 ; [.3BFA.0020.0002.12247] # CUNEIFORM SIGN NAM2
-12248 ; [.3BFB.0020.0002.12248] # CUNEIFORM SIGN NE
-12249 ; [.3BFC.0020.0002.12249] # CUNEIFORM SIGN NE TIMES A
-1224A ; [.3BFD.0020.0002.1224A] # CUNEIFORM SIGN NE TIMES UD
-1224B ; [.3BFE.0020.0002.1224B] # CUNEIFORM SIGN NE SHESHIG
-1224C ; [.3BFF.0020.0002.1224C] # CUNEIFORM SIGN NI
-1224D ; [.3C00.0020.0002.1224D] # CUNEIFORM SIGN NI TIMES E
-1224E ; [.3C01.0020.0002.1224E] # CUNEIFORM SIGN NI2
-1224F ; [.3C02.0020.0002.1224F] # CUNEIFORM SIGN NIM
-12250 ; [.3C03.0020.0002.12250] # CUNEIFORM SIGN NIM TIMES GAN2 TENU
-12251 ; [.3C04.0020.0002.12251] # CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU
-12252 ; [.3C05.0020.0002.12252] # CUNEIFORM SIGN NINDA2
-12253 ; [.3C06.0020.0002.12253] # CUNEIFORM SIGN NINDA2 TIMES AN
-12254 ; [.3C07.0020.0002.12254] # CUNEIFORM SIGN NINDA2 TIMES ASH
-12255 ; [.3C08.0020.0002.12255] # CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH
-12256 ; [.3C09.0020.0002.12256] # CUNEIFORM SIGN NINDA2 TIMES GUD
-12257 ; [.3C0A.0020.0002.12257] # CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU
-12258 ; [.3C0B.0020.0002.12258] # CUNEIFORM SIGN NINDA2 TIMES NE
-12259 ; [.3C0C.0020.0002.12259] # CUNEIFORM SIGN NINDA2 TIMES NUN
-1225A ; [.3C0D.0020.0002.1225A] # CUNEIFORM SIGN NINDA2 TIMES SHE
-1225B ; [.3C0E.0020.0002.1225B] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN
-1225C ; [.3C0F.0020.0002.1225C] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH
-1225D ; [.3C10.0020.0002.1225D] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH
-1225E ; [.3C11.0020.0002.1225E] # CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH
-1225F ; [.3C12.0020.0002.1225F] # CUNEIFORM SIGN NINDA2 TIMES USH
-12260 ; [.3C13.0020.0002.12260] # CUNEIFORM SIGN NISAG
-12261 ; [.3C14.0020.0002.12261] # CUNEIFORM SIGN NU
-12262 ; [.3C15.0020.0002.12262] # CUNEIFORM SIGN NU11
-12263 ; [.3C16.0020.0002.12263] # CUNEIFORM SIGN NUN
-12264 ; [.3C17.0020.0002.12264] # CUNEIFORM SIGN NUN LAGAR TIMES GAR
-12265 ; [.3C18.0020.0002.12265] # CUNEIFORM SIGN NUN LAGAR TIMES MASH
-12266 ; [.3C19.0020.0002.12266] # CUNEIFORM SIGN NUN LAGAR TIMES SAL
-12267 ; [.3C1A.0020.0002.12267] # CUNEIFORM SIGN NUN LAGAR TIMES SAL OVER NUN LAGAR TIMES SAL
-12268 ; [.3C1B.0020.0002.12268] # CUNEIFORM SIGN NUN LAGAR TIMES USH
-12269 ; [.3C1C.0020.0002.12269] # CUNEIFORM SIGN NUN TENU
-1226A ; [.3C1D.0020.0002.1226A] # CUNEIFORM SIGN NUN OVER NUN
-1226B ; [.3C1E.0020.0002.1226B] # CUNEIFORM SIGN NUN CROSSING NUN
-1226C ; [.3C1F.0020.0002.1226C] # CUNEIFORM SIGN NUN CROSSING NUN LAGAR OVER LAGAR
-1226D ; [.3C20.0020.0002.1226D] # CUNEIFORM SIGN NUNUZ
-1226E ; [.3C21.0020.0002.1226E] # CUNEIFORM SIGN NUNUZ AB2 TIMES ASHGAB
-1226F ; [.3C22.0020.0002.1226F] # CUNEIFORM SIGN NUNUZ AB2 TIMES BI
-12270 ; [.3C23.0020.0002.12270] # CUNEIFORM SIGN NUNUZ AB2 TIMES DUG
-12271 ; [.3C24.0020.0002.12271] # CUNEIFORM SIGN NUNUZ AB2 TIMES GUD
-12272 ; [.3C25.0020.0002.12272] # CUNEIFORM SIGN NUNUZ AB2 TIMES IGI GUNU
-12273 ; [.3C26.0020.0002.12273] # CUNEIFORM SIGN NUNUZ AB2 TIMES KAD3
-12274 ; [.3C27.0020.0002.12274] # CUNEIFORM SIGN NUNUZ AB2 TIMES LA
-12275 ; [.3C28.0020.0002.12275] # CUNEIFORM SIGN NUNUZ AB2 TIMES NE
-12276 ; [.3C29.0020.0002.12276] # CUNEIFORM SIGN NUNUZ AB2 TIMES SILA3
-12277 ; [.3C2A.0020.0002.12277] # CUNEIFORM SIGN NUNUZ AB2 TIMES U2
-12278 ; [.3C2B.0020.0002.12278] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI
-12279 ; [.3C2C.0020.0002.12279] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI U
-1227A ; [.3C2D.0020.0002.1227A] # CUNEIFORM SIGN PA
-1227B ; [.3C2E.0020.0002.1227B] # CUNEIFORM SIGN PAD
-1227C ; [.3C2F.0020.0002.1227C] # CUNEIFORM SIGN PAN
-1227D ; [.3C30.0020.0002.1227D] # CUNEIFORM SIGN PAP
-1227E ; [.3C31.0020.0002.1227E] # CUNEIFORM SIGN PESH2
-1227F ; [.3C32.0020.0002.1227F] # CUNEIFORM SIGN PI
-12280 ; [.3C33.0020.0002.12280] # CUNEIFORM SIGN PI TIMES A
-12281 ; [.3C34.0020.0002.12281] # CUNEIFORM SIGN PI TIMES AB
-12282 ; [.3C35.0020.0002.12282] # CUNEIFORM SIGN PI TIMES BI
-12283 ; [.3C36.0020.0002.12283] # CUNEIFORM SIGN PI TIMES BU
-12284 ; [.3C37.0020.0002.12284] # CUNEIFORM SIGN PI TIMES E
-12285 ; [.3C38.0020.0002.12285] # CUNEIFORM SIGN PI TIMES I
-12286 ; [.3C39.0020.0002.12286] # CUNEIFORM SIGN PI TIMES IB
-12287 ; [.3C3A.0020.0002.12287] # CUNEIFORM SIGN PI TIMES U
-12288 ; [.3C3B.0020.0002.12288] # CUNEIFORM SIGN PI TIMES U2
-12289 ; [.3C3C.0020.0002.12289] # CUNEIFORM SIGN PI CROSSING PI
-1228A ; [.3C3D.0020.0002.1228A] # CUNEIFORM SIGN PIRIG
-1228B ; [.3C3E.0020.0002.1228B] # CUNEIFORM SIGN PIRIG TIMES KAL
-1228C ; [.3C3F.0020.0002.1228C] # CUNEIFORM SIGN PIRIG TIMES UD
-1228D ; [.3C40.0020.0002.1228D] # CUNEIFORM SIGN PIRIG TIMES ZA
-1228E ; [.3C41.0020.0002.1228E] # CUNEIFORM SIGN PIRIG OPPOSING PIRIG
-1228F ; [.3C42.0020.0002.1228F] # CUNEIFORM SIGN RA
-12290 ; [.3C43.0020.0002.12290] # CUNEIFORM SIGN RAB
-12291 ; [.3C44.0020.0002.12291] # CUNEIFORM SIGN RI
-12292 ; [.3C45.0020.0002.12292] # CUNEIFORM SIGN RU
-12293 ; [.3C46.0020.0002.12293] # CUNEIFORM SIGN SA
-12294 ; [.3C47.0020.0002.12294] # CUNEIFORM SIGN SAG NUTILLU
-12295 ; [.3C48.0020.0002.12295] # CUNEIFORM SIGN SAG
-12296 ; [.3C49.0020.0002.12296] # CUNEIFORM SIGN SAG TIMES A
-12297 ; [.3C4A.0020.0002.12297] # CUNEIFORM SIGN SAG TIMES DU
-12298 ; [.3C4B.0020.0002.12298] # CUNEIFORM SIGN SAG TIMES DUB
-12299 ; [.3C4C.0020.0002.12299] # CUNEIFORM SIGN SAG TIMES HA
-1229A ; [.3C4D.0020.0002.1229A] # CUNEIFORM SIGN SAG TIMES KAK
-1229B ; [.3C4E.0020.0002.1229B] # CUNEIFORM SIGN SAG TIMES KUR
-1229C ; [.3C4F.0020.0002.1229C] # CUNEIFORM SIGN SAG TIMES LUM
-1229D ; [.3C50.0020.0002.1229D] # CUNEIFORM SIGN SAG TIMES MI
-1229E ; [.3C51.0020.0002.1229E] # CUNEIFORM SIGN SAG TIMES NUN
-1229F ; [.3C52.0020.0002.1229F] # CUNEIFORM SIGN SAG TIMES SAL
-122A0 ; [.3C53.0020.0002.122A0] # CUNEIFORM SIGN SAG TIMES SHID
-122A1 ; [.3C54.0020.0002.122A1] # CUNEIFORM SIGN SAG TIMES TAB
-122A2 ; [.3C55.0020.0002.122A2] # CUNEIFORM SIGN SAG TIMES U2
-122A3 ; [.3C56.0020.0002.122A3] # CUNEIFORM SIGN SAG TIMES UB
-122A4 ; [.3C57.0020.0002.122A4] # CUNEIFORM SIGN SAG TIMES UM
-122A5 ; [.3C58.0020.0002.122A5] # CUNEIFORM SIGN SAG TIMES UR
-122A6 ; [.3C59.0020.0002.122A6] # CUNEIFORM SIGN SAG TIMES USH
-122A7 ; [.3C5A.0020.0002.122A7] # CUNEIFORM SIGN SAG OVER SAG
-122A8 ; [.3C5B.0020.0002.122A8] # CUNEIFORM SIGN SAG GUNU
-122A9 ; [.3C5C.0020.0002.122A9] # CUNEIFORM SIGN SAL
-122AA ; [.3C5D.0020.0002.122AA] # CUNEIFORM SIGN SAL LAGAB TIMES ASH2
-122AB ; [.3C5E.0020.0002.122AB] # CUNEIFORM SIGN SANGA2
-122AC ; [.3C5F.0020.0002.122AC] # CUNEIFORM SIGN SAR
-122AD ; [.3C60.0020.0002.122AD] # CUNEIFORM SIGN SHA
-122AE ; [.3C61.0020.0002.122AE] # CUNEIFORM SIGN SHA3
-122AF ; [.3C62.0020.0002.122AF] # CUNEIFORM SIGN SHA3 TIMES A
-122B0 ; [.3C63.0020.0002.122B0] # CUNEIFORM SIGN SHA3 TIMES BAD
-122B1 ; [.3C64.0020.0002.122B1] # CUNEIFORM SIGN SHA3 TIMES GISH
-122B2 ; [.3C65.0020.0002.122B2] # CUNEIFORM SIGN SHA3 TIMES NE
-122B3 ; [.3C66.0020.0002.122B3] # CUNEIFORM SIGN SHA3 TIMES SHU2
-122B4 ; [.3C67.0020.0002.122B4] # CUNEIFORM SIGN SHA3 TIMES TUR
-122B5 ; [.3C68.0020.0002.122B5] # CUNEIFORM SIGN SHA3 TIMES U
-122B6 ; [.3C69.0020.0002.122B6] # CUNEIFORM SIGN SHA3 TIMES U PLUS A
-122B7 ; [.3C6A.0020.0002.122B7] # CUNEIFORM SIGN SHA6
-122B8 ; [.3C6B.0020.0002.122B8] # CUNEIFORM SIGN SHAB6
-122B9 ; [.3C6C.0020.0002.122B9] # CUNEIFORM SIGN SHAR2
-122BA ; [.3C6D.0020.0002.122BA] # CUNEIFORM SIGN SHE
-122BB ; [.3C6E.0020.0002.122BB] # CUNEIFORM SIGN SHE HU
-122BC ; [.3C6F.0020.0002.122BC] # CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR
-122BD ; [.3C70.0020.0002.122BD] # CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR
-122BE ; [.3C71.0020.0002.122BE] # CUNEIFORM SIGN SHEG9
-122BF ; [.3C72.0020.0002.122BF] # CUNEIFORM SIGN SHEN
-122C0 ; [.3C73.0020.0002.122C0] # CUNEIFORM SIGN SHESH
-122C1 ; [.3C74.0020.0002.122C1] # CUNEIFORM SIGN SHESH2
-122C2 ; [.3C75.0020.0002.122C2] # CUNEIFORM SIGN SHESHLAM
-122C3 ; [.3C76.0020.0002.122C3] # CUNEIFORM SIGN SHID
-122C4 ; [.3C77.0020.0002.122C4] # CUNEIFORM SIGN SHID TIMES A
-122C5 ; [.3C78.0020.0002.122C5] # CUNEIFORM SIGN SHID TIMES IM
-122C6 ; [.3C79.0020.0002.122C6] # CUNEIFORM SIGN SHIM
-122C7 ; [.3C7A.0020.0002.122C7] # CUNEIFORM SIGN SHIM TIMES A
-122C8 ; [.3C7B.0020.0002.122C8] # CUNEIFORM SIGN SHIM TIMES BAL
-122C9 ; [.3C7C.0020.0002.122C9] # CUNEIFORM SIGN SHIM TIMES BULUG
-122CA ; [.3C7D.0020.0002.122CA] # CUNEIFORM SIGN SHIM TIMES DIN
-122CB ; [.3C7E.0020.0002.122CB] # CUNEIFORM SIGN SHIM TIMES GAR
-122CC ; [.3C7F.0020.0002.122CC] # CUNEIFORM SIGN SHIM TIMES IGI
-122CD ; [.3C80.0020.0002.122CD] # CUNEIFORM SIGN SHIM TIMES IGI GUNU
-122CE ; [.3C81.0020.0002.122CE] # CUNEIFORM SIGN SHIM TIMES KUSHU2
-122CF ; [.3C82.0020.0002.122CF] # CUNEIFORM SIGN SHIM TIMES LUL
-122D0 ; [.3C83.0020.0002.122D0] # CUNEIFORM SIGN SHIM TIMES MUG
-122D1 ; [.3C84.0020.0002.122D1] # CUNEIFORM SIGN SHIM TIMES SAL
-122D2 ; [.3C85.0020.0002.122D2] # CUNEIFORM SIGN SHINIG
-122D3 ; [.3C86.0020.0002.122D3] # CUNEIFORM SIGN SHIR
-122D4 ; [.3C87.0020.0002.122D4] # CUNEIFORM SIGN SHIR TENU
-122D5 ; [.3C88.0020.0002.122D5] # CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR
-122D6 ; [.3C89.0020.0002.122D6] # CUNEIFORM SIGN SHITA
-122D7 ; [.3C8A.0020.0002.122D7] # CUNEIFORM SIGN SHU
-122D8 ; [.3C8B.0020.0002.122D8] # CUNEIFORM SIGN SHU OVER INVERTED SHU
-122D9 ; [.3C8C.0020.0002.122D9] # CUNEIFORM SIGN SHU2
-122DA ; [.3C8D.0020.0002.122DA] # CUNEIFORM SIGN SHUBUR
-122DB ; [.3C8E.0020.0002.122DB] # CUNEIFORM SIGN SI
-122DC ; [.3C8F.0020.0002.122DC] # CUNEIFORM SIGN SI GUNU
-122DD ; [.3C90.0020.0002.122DD] # CUNEIFORM SIGN SIG
-122DE ; [.3C91.0020.0002.122DE] # CUNEIFORM SIGN SIG4
-122DF ; [.3C92.0020.0002.122DF] # CUNEIFORM SIGN SIG4 OVER SIG4 SHU2
-122E0 ; [.3C93.0020.0002.122E0] # CUNEIFORM SIGN SIK2
-122E1 ; [.3C94.0020.0002.122E1] # CUNEIFORM SIGN SILA3
-122E2 ; [.3C95.0020.0002.122E2] # CUNEIFORM SIGN SU
-122E3 ; [.3C96.0020.0002.122E3] # CUNEIFORM SIGN SU OVER SU
-122E4 ; [.3C97.0020.0002.122E4] # CUNEIFORM SIGN SUD
-122E5 ; [.3C98.0020.0002.122E5] # CUNEIFORM SIGN SUD2
-122E6 ; [.3C99.0020.0002.122E6] # CUNEIFORM SIGN SUHUR
-122E7 ; [.3C9A.0020.0002.122E7] # CUNEIFORM SIGN SUM
-122E8 ; [.3C9B.0020.0002.122E8] # CUNEIFORM SIGN SUMASH
-122E9 ; [.3C9C.0020.0002.122E9] # CUNEIFORM SIGN SUR
-122EA ; [.3C9D.0020.0002.122EA] # CUNEIFORM SIGN SUR9
-122EB ; [.3C9E.0020.0002.122EB] # CUNEIFORM SIGN TA
-122EC ; [.3C9F.0020.0002.122EC] # CUNEIFORM SIGN TA ASTERISK
-122ED ; [.3CA0.0020.0002.122ED] # CUNEIFORM SIGN TA TIMES HI
-122EE ; [.3CA1.0020.0002.122EE] # CUNEIFORM SIGN TA TIMES MI
-122EF ; [.3CA2.0020.0002.122EF] # CUNEIFORM SIGN TA GUNU
-122F0 ; [.3CA3.0020.0002.122F0] # CUNEIFORM SIGN TAB
-122F1 ; [.3CA4.0020.0002.122F1] # CUNEIFORM SIGN TAB OVER TAB NI OVER NI DISH OVER DISH
-122F2 ; [.3CA5.0020.0002.122F2] # CUNEIFORM SIGN TAB SQUARED
-122F3 ; [.3CA6.0020.0002.122F3] # CUNEIFORM SIGN TAG
-122F4 ; [.3CA7.0020.0002.122F4] # CUNEIFORM SIGN TAG TIMES BI
-122F5 ; [.3CA8.0020.0002.122F5] # CUNEIFORM SIGN TAG TIMES GUD
-122F6 ; [.3CA9.0020.0002.122F6] # CUNEIFORM SIGN TAG TIMES SHE
-122F7 ; [.3CAA.0020.0002.122F7] # CUNEIFORM SIGN TAG TIMES SHU
-122F8 ; [.3CAB.0020.0002.122F8] # CUNEIFORM SIGN TAG TIMES TUG2
-122F9 ; [.3CAC.0020.0002.122F9] # CUNEIFORM SIGN TAG TIMES UD
-122FA ; [.3CAD.0020.0002.122FA] # CUNEIFORM SIGN TAK4
-122FB ; [.3CAE.0020.0002.122FB] # CUNEIFORM SIGN TAR
-122FC ; [.3CAF.0020.0002.122FC] # CUNEIFORM SIGN TE
-122FD ; [.3CB0.0020.0002.122FD] # CUNEIFORM SIGN TE GUNU
-122FE ; [.3CB1.0020.0002.122FE] # CUNEIFORM SIGN TI
-122FF ; [.3CB2.0020.0002.122FF] # CUNEIFORM SIGN TI TENU
-12300 ; [.3CB3.0020.0002.12300] # CUNEIFORM SIGN TIL
-12301 ; [.3CB4.0020.0002.12301] # CUNEIFORM SIGN TIR
-12302 ; [.3CB5.0020.0002.12302] # CUNEIFORM SIGN TIR TIMES TAK4
-12303 ; [.3CB6.0020.0002.12303] # CUNEIFORM SIGN TIR OVER TIR
-12304 ; [.3CB7.0020.0002.12304] # CUNEIFORM SIGN TIR OVER TIR GAD OVER GAD GAR OVER GAR
-12305 ; [.3CB8.0020.0002.12305] # CUNEIFORM SIGN TU
-12306 ; [.3CB9.0020.0002.12306] # CUNEIFORM SIGN TUG2
-12307 ; [.3CBA.0020.0002.12307] # CUNEIFORM SIGN TUK
-12308 ; [.3CBB.0020.0002.12308] # CUNEIFORM SIGN TUM
-12309 ; [.3CBC.0020.0002.12309] # CUNEIFORM SIGN TUR
-1230A ; [.3CBD.0020.0002.1230A] # CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA
-1230B ; [.3CBE.0020.0002.1230B] # CUNEIFORM SIGN U
-1230C ; [.3CBF.0020.0002.1230C] # CUNEIFORM SIGN U GUD
-1230D ; [.3CC0.0020.0002.1230D] # CUNEIFORM SIGN U U U
-1230E ; [.3CC1.0020.0002.1230E] # CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR
-1230F ; [.3CC2.0020.0002.1230F] # CUNEIFORM SIGN U OVER U SUR OVER SUR
-12310 ; [.3CC3.0020.0002.12310] # CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED
-12311 ; [.3CC4.0020.0002.12311] # CUNEIFORM SIGN U2
-12312 ; [.3CC5.0020.0002.12312] # CUNEIFORM SIGN UB
-12313 ; [.3CC6.0020.0002.12313] # CUNEIFORM SIGN UD
-12314 ; [.3CC7.0020.0002.12314] # CUNEIFORM SIGN UD KUSHU2
-12315 ; [.3CC8.0020.0002.12315] # CUNEIFORM SIGN UD TIMES BAD
-12316 ; [.3CC9.0020.0002.12316] # CUNEIFORM SIGN UD TIMES MI
-12317 ; [.3CCA.0020.0002.12317] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U
-12318 ; [.3CCB.0020.0002.12318] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U GUNU
-12319 ; [.3CCC.0020.0002.12319] # CUNEIFORM SIGN UD GUNU
-1231A ; [.3CCD.0020.0002.1231A] # CUNEIFORM SIGN UD SHESHIG
-1231B ; [.3CCE.0020.0002.1231B] # CUNEIFORM SIGN UD SHESHIG TIMES BAD
-1231C ; [.3CCF.0020.0002.1231C] # CUNEIFORM SIGN UDUG
-1231D ; [.3CD0.0020.0002.1231D] # CUNEIFORM SIGN UM
-1231E ; [.3CD1.0020.0002.1231E] # CUNEIFORM SIGN UM TIMES LAGAB
-1231F ; [.3CD2.0020.0002.1231F] # CUNEIFORM SIGN UM TIMES ME PLUS DA
-12320 ; [.3CD3.0020.0002.12320] # CUNEIFORM SIGN UM TIMES SHA3
-12321 ; [.3CD4.0020.0002.12321] # CUNEIFORM SIGN UM TIMES U
-12322 ; [.3CD5.0020.0002.12322] # CUNEIFORM SIGN UMBIN
-12323 ; [.3CD6.0020.0002.12323] # CUNEIFORM SIGN UMUM
-12324 ; [.3CD7.0020.0002.12324] # CUNEIFORM SIGN UMUM TIMES KASKAL
-12325 ; [.3CD8.0020.0002.12325] # CUNEIFORM SIGN UMUM TIMES PA
-12326 ; [.3CD9.0020.0002.12326] # CUNEIFORM SIGN UN
-12327 ; [.3CDA.0020.0002.12327] # CUNEIFORM SIGN UN GUNU
-12328 ; [.3CDB.0020.0002.12328] # CUNEIFORM SIGN UR
-12329 ; [.3CDC.0020.0002.12329] # CUNEIFORM SIGN UR CROSSING UR
-1232A ; [.3CDD.0020.0002.1232A] # CUNEIFORM SIGN UR SHESHIG
-1232B ; [.3CDE.0020.0002.1232B] # CUNEIFORM SIGN UR2
-1232C ; [.3CDF.0020.0002.1232C] # CUNEIFORM SIGN UR2 TIMES A PLUS HA
-1232D ; [.3CE0.0020.0002.1232D] # CUNEIFORM SIGN UR2 TIMES A PLUS NA
-1232E ; [.3CE1.0020.0002.1232E] # CUNEIFORM SIGN UR2 TIMES AL
-1232F ; [.3CE2.0020.0002.1232F] # CUNEIFORM SIGN UR2 TIMES HA
-12330 ; [.3CE3.0020.0002.12330] # CUNEIFORM SIGN UR2 TIMES NUN
-12331 ; [.3CE4.0020.0002.12331] # CUNEIFORM SIGN UR2 TIMES U2
-12332 ; [.3CE5.0020.0002.12332] # CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH
-12333 ; [.3CE6.0020.0002.12333] # CUNEIFORM SIGN UR2 TIMES U2 PLUS BI
-12334 ; [.3CE7.0020.0002.12334] # CUNEIFORM SIGN UR4
-12335 ; [.3CE8.0020.0002.12335] # CUNEIFORM SIGN URI
-12336 ; [.3CE9.0020.0002.12336] # CUNEIFORM SIGN URI3
-12337 ; [.3CEA.0020.0002.12337] # CUNEIFORM SIGN URU
-12338 ; [.3CEB.0020.0002.12338] # CUNEIFORM SIGN URU TIMES A
-12339 ; [.3CEC.0020.0002.12339] # CUNEIFORM SIGN URU TIMES ASHGAB
-1233A ; [.3CED.0020.0002.1233A] # CUNEIFORM SIGN URU TIMES BAR
-1233B ; [.3CEE.0020.0002.1233B] # CUNEIFORM SIGN URU TIMES DUN
-1233C ; [.3CEF.0020.0002.1233C] # CUNEIFORM SIGN URU TIMES GA
-1233D ; [.3CF0.0020.0002.1233D] # CUNEIFORM SIGN URU TIMES GAL
-1233E ; [.3CF1.0020.0002.1233E] # CUNEIFORM SIGN URU TIMES GAN2 TENU
-1233F ; [.3CF2.0020.0002.1233F] # CUNEIFORM SIGN URU TIMES GAR
-12340 ; [.3CF3.0020.0002.12340] # CUNEIFORM SIGN URU TIMES GU
-12341 ; [.3CF4.0020.0002.12341] # CUNEIFORM SIGN URU TIMES HA
-12342 ; [.3CF5.0020.0002.12342] # CUNEIFORM SIGN URU TIMES IGI
-12343 ; [.3CF6.0020.0002.12343] # CUNEIFORM SIGN URU TIMES IM
-12344 ; [.3CF7.0020.0002.12344] # CUNEIFORM SIGN URU TIMES ISH
-12345 ; [.3CF8.0020.0002.12345] # CUNEIFORM SIGN URU TIMES KI
-12346 ; [.3CF9.0020.0002.12346] # CUNEIFORM SIGN URU TIMES LUM
-12347 ; [.3CFA.0020.0002.12347] # CUNEIFORM SIGN URU TIMES MIN
-12348 ; [.3CFB.0020.0002.12348] # CUNEIFORM SIGN URU TIMES PA
-12349 ; [.3CFC.0020.0002.12349] # CUNEIFORM SIGN URU TIMES SHE
-1234A ; [.3CFD.0020.0002.1234A] # CUNEIFORM SIGN URU TIMES SIG4
-1234B ; [.3CFE.0020.0002.1234B] # CUNEIFORM SIGN URU TIMES TU
-1234C ; [.3CFF.0020.0002.1234C] # CUNEIFORM SIGN URU TIMES U PLUS GUD
-1234D ; [.3D00.0020.0002.1234D] # CUNEIFORM SIGN URU TIMES UD
-1234E ; [.3D01.0020.0002.1234E] # CUNEIFORM SIGN URU TIMES URUDA
-1234F ; [.3D02.0020.0002.1234F] # CUNEIFORM SIGN URUDA
-12350 ; [.3D03.0020.0002.12350] # CUNEIFORM SIGN URUDA TIMES U
-12351 ; [.3D04.0020.0002.12351] # CUNEIFORM SIGN USH
-12352 ; [.3D05.0020.0002.12352] # CUNEIFORM SIGN USH TIMES A
-12353 ; [.3D06.0020.0002.12353] # CUNEIFORM SIGN USH TIMES KU
-12354 ; [.3D07.0020.0002.12354] # CUNEIFORM SIGN USH TIMES KUR
-12355 ; [.3D08.0020.0002.12355] # CUNEIFORM SIGN USH TIMES TAK4
-12356 ; [.3D09.0020.0002.12356] # CUNEIFORM SIGN USHX
-12357 ; [.3D0A.0020.0002.12357] # CUNEIFORM SIGN USH2
-12358 ; [.3D0B.0020.0002.12358] # CUNEIFORM SIGN USHUMX
-12359 ; [.3D0C.0020.0002.12359] # CUNEIFORM SIGN UTUKI
-1235A ; [.3D0D.0020.0002.1235A] # CUNEIFORM SIGN UZ3
-1235B ; [.3D0E.0020.0002.1235B] # CUNEIFORM SIGN UZ3 TIMES KASKAL
-1235C ; [.3D0F.0020.0002.1235C] # CUNEIFORM SIGN UZU
-1235D ; [.3D10.0020.0002.1235D] # CUNEIFORM SIGN ZA
-1235E ; [.3D11.0020.0002.1235E] # CUNEIFORM SIGN ZA TENU
-1235F ; [.3D12.0020.0002.1235F] # CUNEIFORM SIGN ZA SQUARED TIMES KUR
-12360 ; [.3D13.0020.0002.12360] # CUNEIFORM SIGN ZAG
-12361 ; [.3D14.0020.0002.12361] # CUNEIFORM SIGN ZAMX
-12362 ; [.3D15.0020.0002.12362] # CUNEIFORM SIGN ZE2
-12363 ; [.3D16.0020.0002.12363] # CUNEIFORM SIGN ZI
-12364 ; [.3D17.0020.0002.12364] # CUNEIFORM SIGN ZI OVER ZI
-12365 ; [.3D18.0020.0002.12365] # CUNEIFORM SIGN ZI3
-12366 ; [.3D19.0020.0002.12366] # CUNEIFORM SIGN ZIB
-12367 ; [.3D1A.0020.0002.12367] # CUNEIFORM SIGN ZIB KABA TENU
-12368 ; [.3D1B.0020.0002.12368] # CUNEIFORM SIGN ZIG
-12369 ; [.3D1C.0020.0002.12369] # CUNEIFORM SIGN ZIZ2
-1236A ; [.3D1D.0020.0002.1236A] # CUNEIFORM SIGN ZU
-1236B ; [.3D1E.0020.0002.1236B] # CUNEIFORM SIGN ZU5
-1236C ; [.3D1F.0020.0002.1236C] # CUNEIFORM SIGN ZU5 TIMES A
-1236D ; [.3D20.0020.0002.1236D] # CUNEIFORM SIGN ZUBUR
-1236E ; [.3D21.0020.0002.1236E] # CUNEIFORM SIGN ZUM
-13000 ; [.3D22.0020.0002.13000] # EGYPTIAN HIEROGLYPH A001
-13001 ; [.3D23.0020.0002.13001] # EGYPTIAN HIEROGLYPH A002
-13002 ; [.3D24.0020.0002.13002] # EGYPTIAN HIEROGLYPH A003
-13003 ; [.3D25.0020.0002.13003] # EGYPTIAN HIEROGLYPH A004
-13004 ; [.3D26.0020.0002.13004] # EGYPTIAN HIEROGLYPH A005
-13005 ; [.3D27.0020.0002.13005] # EGYPTIAN HIEROGLYPH A005A
-13006 ; [.3D28.0020.0002.13006] # EGYPTIAN HIEROGLYPH A006
-13007 ; [.3D29.0020.0002.13007] # EGYPTIAN HIEROGLYPH A006A
-13008 ; [.3D2A.0020.0002.13008] # EGYPTIAN HIEROGLYPH A006B
-13009 ; [.3D2B.0020.0002.13009] # EGYPTIAN HIEROGLYPH A007
-1300A ; [.3D2C.0020.0002.1300A] # EGYPTIAN HIEROGLYPH A008
-1300B ; [.3D2D.0020.0002.1300B] # EGYPTIAN HIEROGLYPH A009
-1300C ; [.3D2E.0020.0002.1300C] # EGYPTIAN HIEROGLYPH A010
-1300D ; [.3D2F.0020.0002.1300D] # EGYPTIAN HIEROGLYPH A011
-1300E ; [.3D30.0020.0002.1300E] # EGYPTIAN HIEROGLYPH A012
-1300F ; [.3D31.0020.0002.1300F] # EGYPTIAN HIEROGLYPH A013
-13010 ; [.3D32.0020.0002.13010] # EGYPTIAN HIEROGLYPH A014
-13011 ; [.3D33.0020.0002.13011] # EGYPTIAN HIEROGLYPH A014A
-13012 ; [.3D34.0020.0002.13012] # EGYPTIAN HIEROGLYPH A015
-13013 ; [.3D35.0020.0002.13013] # EGYPTIAN HIEROGLYPH A016
-13014 ; [.3D36.0020.0002.13014] # EGYPTIAN HIEROGLYPH A017
-13015 ; [.3D37.0020.0002.13015] # EGYPTIAN HIEROGLYPH A017A
-13016 ; [.3D38.0020.0002.13016] # EGYPTIAN HIEROGLYPH A018
-13017 ; [.3D39.0020.0002.13017] # EGYPTIAN HIEROGLYPH A019
-13018 ; [.3D3A.0020.0002.13018] # EGYPTIAN HIEROGLYPH A020
-13019 ; [.3D3B.0020.0002.13019] # EGYPTIAN HIEROGLYPH A021
-1301A ; [.3D3C.0020.0002.1301A] # EGYPTIAN HIEROGLYPH A022
-1301B ; [.3D3D.0020.0002.1301B] # EGYPTIAN HIEROGLYPH A023
-1301C ; [.3D3E.0020.0002.1301C] # EGYPTIAN HIEROGLYPH A024
-1301D ; [.3D3F.0020.0002.1301D] # EGYPTIAN HIEROGLYPH A025
-1301E ; [.3D40.0020.0002.1301E] # EGYPTIAN HIEROGLYPH A026
-1301F ; [.3D41.0020.0002.1301F] # EGYPTIAN HIEROGLYPH A027
-13020 ; [.3D42.0020.0002.13020] # EGYPTIAN HIEROGLYPH A028
-13021 ; [.3D43.0020.0002.13021] # EGYPTIAN HIEROGLYPH A029
-13022 ; [.3D44.0020.0002.13022] # EGYPTIAN HIEROGLYPH A030
-13023 ; [.3D45.0020.0002.13023] # EGYPTIAN HIEROGLYPH A031
-13024 ; [.3D46.0020.0002.13024] # EGYPTIAN HIEROGLYPH A032
-13025 ; [.3D47.0020.0002.13025] # EGYPTIAN HIEROGLYPH A032A
-13026 ; [.3D48.0020.0002.13026] # EGYPTIAN HIEROGLYPH A033
-13027 ; [.3D49.0020.0002.13027] # EGYPTIAN HIEROGLYPH A034
-13028 ; [.3D4A.0020.0002.13028] # EGYPTIAN HIEROGLYPH A035
-13029 ; [.3D4B.0020.0002.13029] # EGYPTIAN HIEROGLYPH A036
-1302A ; [.3D4C.0020.0002.1302A] # EGYPTIAN HIEROGLYPH A037
-1302B ; [.3D4D.0020.0002.1302B] # EGYPTIAN HIEROGLYPH A038
-1302C ; [.3D4E.0020.0002.1302C] # EGYPTIAN HIEROGLYPH A039
-1302D ; [.3D4F.0020.0002.1302D] # EGYPTIAN HIEROGLYPH A040
-1302E ; [.3D50.0020.0002.1302E] # EGYPTIAN HIEROGLYPH A040A
-1302F ; [.3D51.0020.0002.1302F] # EGYPTIAN HIEROGLYPH A041
-13030 ; [.3D52.0020.0002.13030] # EGYPTIAN HIEROGLYPH A042
-13031 ; [.3D53.0020.0002.13031] # EGYPTIAN HIEROGLYPH A042A
-13032 ; [.3D54.0020.0002.13032] # EGYPTIAN HIEROGLYPH A043
-13033 ; [.3D55.0020.0002.13033] # EGYPTIAN HIEROGLYPH A043A
-13034 ; [.3D56.0020.0002.13034] # EGYPTIAN HIEROGLYPH A044
-13035 ; [.3D57.0020.0002.13035] # EGYPTIAN HIEROGLYPH A045
-13036 ; [.3D58.0020.0002.13036] # EGYPTIAN HIEROGLYPH A045A
-13037 ; [.3D59.0020.0002.13037] # EGYPTIAN HIEROGLYPH A046
-13038 ; [.3D5A.0020.0002.13038] # EGYPTIAN HIEROGLYPH A047
-13039 ; [.3D5B.0020.0002.13039] # EGYPTIAN HIEROGLYPH A048
-1303A ; [.3D5C.0020.0002.1303A] # EGYPTIAN HIEROGLYPH A049
-1303B ; [.3D5D.0020.0002.1303B] # EGYPTIAN HIEROGLYPH A050
-1303C ; [.3D5E.0020.0002.1303C] # EGYPTIAN HIEROGLYPH A051
-1303D ; [.3D5F.0020.0002.1303D] # EGYPTIAN HIEROGLYPH A052
-1303E ; [.3D60.0020.0002.1303E] # EGYPTIAN HIEROGLYPH A053
-1303F ; [.3D61.0020.0002.1303F] # EGYPTIAN HIEROGLYPH A054
-13040 ; [.3D62.0020.0002.13040] # EGYPTIAN HIEROGLYPH A055
-13041 ; [.3D63.0020.0002.13041] # EGYPTIAN HIEROGLYPH A056
-13042 ; [.3D64.0020.0002.13042] # EGYPTIAN HIEROGLYPH A057
-13043 ; [.3D65.0020.0002.13043] # EGYPTIAN HIEROGLYPH A058
-13044 ; [.3D66.0020.0002.13044] # EGYPTIAN HIEROGLYPH A059
-13045 ; [.3D67.0020.0002.13045] # EGYPTIAN HIEROGLYPH A060
-13046 ; [.3D68.0020.0002.13046] # EGYPTIAN HIEROGLYPH A061
-13047 ; [.3D69.0020.0002.13047] # EGYPTIAN HIEROGLYPH A062
-13048 ; [.3D6A.0020.0002.13048] # EGYPTIAN HIEROGLYPH A063
-13049 ; [.3D6B.0020.0002.13049] # EGYPTIAN HIEROGLYPH A064
-1304A ; [.3D6C.0020.0002.1304A] # EGYPTIAN HIEROGLYPH A065
-1304B ; [.3D6D.0020.0002.1304B] # EGYPTIAN HIEROGLYPH A066
-1304C ; [.3D6E.0020.0002.1304C] # EGYPTIAN HIEROGLYPH A067
-1304D ; [.3D6F.0020.0002.1304D] # EGYPTIAN HIEROGLYPH A068
-1304E ; [.3D70.0020.0002.1304E] # EGYPTIAN HIEROGLYPH A069
-1304F ; [.3D71.0020.0002.1304F] # EGYPTIAN HIEROGLYPH A070
-13050 ; [.3D72.0020.0002.13050] # EGYPTIAN HIEROGLYPH B001
-13051 ; [.3D73.0020.0002.13051] # EGYPTIAN HIEROGLYPH B002
-13052 ; [.3D74.0020.0002.13052] # EGYPTIAN HIEROGLYPH B003
-13053 ; [.3D75.0020.0002.13053] # EGYPTIAN HIEROGLYPH B004
-13054 ; [.3D76.0020.0002.13054] # EGYPTIAN HIEROGLYPH B005
-13055 ; [.3D77.0020.0002.13055] # EGYPTIAN HIEROGLYPH B005A
-13056 ; [.3D78.0020.0002.13056] # EGYPTIAN HIEROGLYPH B006
-13057 ; [.3D79.0020.0002.13057] # EGYPTIAN HIEROGLYPH B007
-13058 ; [.3D7A.0020.0002.13058] # EGYPTIAN HIEROGLYPH B008
-13059 ; [.3D7B.0020.0002.13059] # EGYPTIAN HIEROGLYPH B009
-1305A ; [.3D7C.0020.0002.1305A] # EGYPTIAN HIEROGLYPH C001
-1305B ; [.3D7D.0020.0002.1305B] # EGYPTIAN HIEROGLYPH C002
-1305C ; [.3D7E.0020.0002.1305C] # EGYPTIAN HIEROGLYPH C002A
-1305D ; [.3D7F.0020.0002.1305D] # EGYPTIAN HIEROGLYPH C002B
-1305E ; [.3D80.0020.0002.1305E] # EGYPTIAN HIEROGLYPH C002C
-1305F ; [.3D81.0020.0002.1305F] # EGYPTIAN HIEROGLYPH C003
-13060 ; [.3D82.0020.0002.13060] # EGYPTIAN HIEROGLYPH C004
-13061 ; [.3D83.0020.0002.13061] # EGYPTIAN HIEROGLYPH C005
-13062 ; [.3D84.0020.0002.13062] # EGYPTIAN HIEROGLYPH C006
-13063 ; [.3D85.0020.0002.13063] # EGYPTIAN HIEROGLYPH C007
-13064 ; [.3D86.0020.0002.13064] # EGYPTIAN HIEROGLYPH C008
-13065 ; [.3D87.0020.0002.13065] # EGYPTIAN HIEROGLYPH C009
-13066 ; [.3D88.0020.0002.13066] # EGYPTIAN HIEROGLYPH C010
-13067 ; [.3D89.0020.0002.13067] # EGYPTIAN HIEROGLYPH C010A
-13068 ; [.3D8A.0020.0002.13068] # EGYPTIAN HIEROGLYPH C011
-13069 ; [.3D8B.0020.0002.13069] # EGYPTIAN HIEROGLYPH C012
-1306A ; [.3D8C.0020.0002.1306A] # EGYPTIAN HIEROGLYPH C013
-1306B ; [.3D8D.0020.0002.1306B] # EGYPTIAN HIEROGLYPH C014
-1306C ; [.3D8E.0020.0002.1306C] # EGYPTIAN HIEROGLYPH C015
-1306D ; [.3D8F.0020.0002.1306D] # EGYPTIAN HIEROGLYPH C016
-1306E ; [.3D90.0020.0002.1306E] # EGYPTIAN HIEROGLYPH C017
-1306F ; [.3D91.0020.0002.1306F] # EGYPTIAN HIEROGLYPH C018
-13070 ; [.3D92.0020.0002.13070] # EGYPTIAN HIEROGLYPH C019
-13071 ; [.3D93.0020.0002.13071] # EGYPTIAN HIEROGLYPH C020
-13072 ; [.3D94.0020.0002.13072] # EGYPTIAN HIEROGLYPH C021
-13073 ; [.3D95.0020.0002.13073] # EGYPTIAN HIEROGLYPH C022
-13074 ; [.3D96.0020.0002.13074] # EGYPTIAN HIEROGLYPH C023
-13075 ; [.3D97.0020.0002.13075] # EGYPTIAN HIEROGLYPH C024
-13076 ; [.3D98.0020.0002.13076] # EGYPTIAN HIEROGLYPH D001
-13077 ; [.3D99.0020.0002.13077] # EGYPTIAN HIEROGLYPH D002
-13078 ; [.3D9A.0020.0002.13078] # EGYPTIAN HIEROGLYPH D003
-13079 ; [.3D9B.0020.0002.13079] # EGYPTIAN HIEROGLYPH D004
-1307A ; [.3D9C.0020.0002.1307A] # EGYPTIAN HIEROGLYPH D005
-1307B ; [.3D9D.0020.0002.1307B] # EGYPTIAN HIEROGLYPH D006
-1307C ; [.3D9E.0020.0002.1307C] # EGYPTIAN HIEROGLYPH D007
-1307D ; [.3D9F.0020.0002.1307D] # EGYPTIAN HIEROGLYPH D008
-1307E ; [.3DA0.0020.0002.1307E] # EGYPTIAN HIEROGLYPH D008A
-1307F ; [.3DA1.0020.0002.1307F] # EGYPTIAN HIEROGLYPH D009
-13080 ; [.3DA2.0020.0002.13080] # EGYPTIAN HIEROGLYPH D010
-13081 ; [.3DA3.0020.0002.13081] # EGYPTIAN HIEROGLYPH D011
-13082 ; [.3DA4.0020.0002.13082] # EGYPTIAN HIEROGLYPH D012
-13083 ; [.3DA5.0020.0002.13083] # EGYPTIAN HIEROGLYPH D013
-13084 ; [.3DA6.0020.0002.13084] # EGYPTIAN HIEROGLYPH D014
-13085 ; [.3DA7.0020.0002.13085] # EGYPTIAN HIEROGLYPH D015
-13086 ; [.3DA8.0020.0002.13086] # EGYPTIAN HIEROGLYPH D016
-13087 ; [.3DA9.0020.0002.13087] # EGYPTIAN HIEROGLYPH D017
-13088 ; [.3DAA.0020.0002.13088] # EGYPTIAN HIEROGLYPH D018
-13089 ; [.3DAB.0020.0002.13089] # EGYPTIAN HIEROGLYPH D019
-1308A ; [.3DAC.0020.0002.1308A] # EGYPTIAN HIEROGLYPH D020
-1308B ; [.3DAD.0020.0002.1308B] # EGYPTIAN HIEROGLYPH D021
-1308C ; [.3DAE.0020.0002.1308C] # EGYPTIAN HIEROGLYPH D022
-1308D ; [.3DAF.0020.0002.1308D] # EGYPTIAN HIEROGLYPH D023
-1308E ; [.3DB0.0020.0002.1308E] # EGYPTIAN HIEROGLYPH D024
-1308F ; [.3DB1.0020.0002.1308F] # EGYPTIAN HIEROGLYPH D025
-13090 ; [.3DB2.0020.0002.13090] # EGYPTIAN HIEROGLYPH D026
-13091 ; [.3DB3.0020.0002.13091] # EGYPTIAN HIEROGLYPH D027
-13092 ; [.3DB4.0020.0002.13092] # EGYPTIAN HIEROGLYPH D027A
-13093 ; [.3DB5.0020.0002.13093] # EGYPTIAN HIEROGLYPH D028
-13094 ; [.3DB6.0020.0002.13094] # EGYPTIAN HIEROGLYPH D029
-13095 ; [.3DB7.0020.0002.13095] # EGYPTIAN HIEROGLYPH D030
-13096 ; [.3DB8.0020.0002.13096] # EGYPTIAN HIEROGLYPH D031
-13097 ; [.3DB9.0020.0002.13097] # EGYPTIAN HIEROGLYPH D031A
-13098 ; [.3DBA.0020.0002.13098] # EGYPTIAN HIEROGLYPH D032
-13099 ; [.3DBB.0020.0002.13099] # EGYPTIAN HIEROGLYPH D033
-1309A ; [.3DBC.0020.0002.1309A] # EGYPTIAN HIEROGLYPH D034
-1309B ; [.3DBD.0020.0002.1309B] # EGYPTIAN HIEROGLYPH D034A
-1309C ; [.3DBE.0020.0002.1309C] # EGYPTIAN HIEROGLYPH D035
-1309D ; [.3DBF.0020.0002.1309D] # EGYPTIAN HIEROGLYPH D036
-1309E ; [.3DC0.0020.0002.1309E] # EGYPTIAN HIEROGLYPH D037
-1309F ; [.3DC1.0020.0002.1309F] # EGYPTIAN HIEROGLYPH D038
-130A0 ; [.3DC2.0020.0002.130A0] # EGYPTIAN HIEROGLYPH D039
-130A1 ; [.3DC3.0020.0002.130A1] # EGYPTIAN HIEROGLYPH D040
-130A2 ; [.3DC4.0020.0002.130A2] # EGYPTIAN HIEROGLYPH D041
-130A3 ; [.3DC5.0020.0002.130A3] # EGYPTIAN HIEROGLYPH D042
-130A4 ; [.3DC6.0020.0002.130A4] # EGYPTIAN HIEROGLYPH D043
-130A5 ; [.3DC7.0020.0002.130A5] # EGYPTIAN HIEROGLYPH D044
-130A6 ; [.3DC8.0020.0002.130A6] # EGYPTIAN HIEROGLYPH D045
-130A7 ; [.3DC9.0020.0002.130A7] # EGYPTIAN HIEROGLYPH D046
-130A8 ; [.3DCA.0020.0002.130A8] # EGYPTIAN HIEROGLYPH D046A
-130A9 ; [.3DCB.0020.0002.130A9] # EGYPTIAN HIEROGLYPH D047
-130AA ; [.3DCC.0020.0002.130AA] # EGYPTIAN HIEROGLYPH D048
-130AB ; [.3DCD.0020.0002.130AB] # EGYPTIAN HIEROGLYPH D048A
-130AC ; [.3DCE.0020.0002.130AC] # EGYPTIAN HIEROGLYPH D049
-130AD ; [.3DCF.0020.0002.130AD] # EGYPTIAN HIEROGLYPH D050
-130AE ; [.3DD0.0020.0002.130AE] # EGYPTIAN HIEROGLYPH D050A
-130AF ; [.3DD1.0020.0002.130AF] # EGYPTIAN HIEROGLYPH D050B
-130B0 ; [.3DD2.0020.0002.130B0] # EGYPTIAN HIEROGLYPH D050C
-130B1 ; [.3DD3.0020.0002.130B1] # EGYPTIAN HIEROGLYPH D050D
-130B2 ; [.3DD4.0020.0002.130B2] # EGYPTIAN HIEROGLYPH D050E
-130B3 ; [.3DD5.0020.0002.130B3] # EGYPTIAN HIEROGLYPH D050F
-130B4 ; [.3DD6.0020.0002.130B4] # EGYPTIAN HIEROGLYPH D050G
-130B5 ; [.3DD7.0020.0002.130B5] # EGYPTIAN HIEROGLYPH D050H
-130B6 ; [.3DD8.0020.0002.130B6] # EGYPTIAN HIEROGLYPH D050I
-130B7 ; [.3DD9.0020.0002.130B7] # EGYPTIAN HIEROGLYPH D051
-130B8 ; [.3DDA.0020.0002.130B8] # EGYPTIAN HIEROGLYPH D052
-130B9 ; [.3DDB.0020.0002.130B9] # EGYPTIAN HIEROGLYPH D052A
-130BA ; [.3DDC.0020.0002.130BA] # EGYPTIAN HIEROGLYPH D053
-130BB ; [.3DDD.0020.0002.130BB] # EGYPTIAN HIEROGLYPH D054
-130BC ; [.3DDE.0020.0002.130BC] # EGYPTIAN HIEROGLYPH D054A
-130BD ; [.3DDF.0020.0002.130BD] # EGYPTIAN HIEROGLYPH D055
-130BE ; [.3DE0.0020.0002.130BE] # EGYPTIAN HIEROGLYPH D056
-130BF ; [.3DE1.0020.0002.130BF] # EGYPTIAN HIEROGLYPH D057
-130C0 ; [.3DE2.0020.0002.130C0] # EGYPTIAN HIEROGLYPH D058
-130C1 ; [.3DE3.0020.0002.130C1] # EGYPTIAN HIEROGLYPH D059
-130C2 ; [.3DE4.0020.0002.130C2] # EGYPTIAN HIEROGLYPH D060
-130C3 ; [.3DE5.0020.0002.130C3] # EGYPTIAN HIEROGLYPH D061
-130C4 ; [.3DE6.0020.0002.130C4] # EGYPTIAN HIEROGLYPH D062
-130C5 ; [.3DE7.0020.0002.130C5] # EGYPTIAN HIEROGLYPH D063
-130C6 ; [.3DE8.0020.0002.130C6] # EGYPTIAN HIEROGLYPH D064
-130C7 ; [.3DE9.0020.0002.130C7] # EGYPTIAN HIEROGLYPH D065
-130C8 ; [.3DEA.0020.0002.130C8] # EGYPTIAN HIEROGLYPH D066
-130C9 ; [.3DEB.0020.0002.130C9] # EGYPTIAN HIEROGLYPH D067
-130CA ; [.3DEC.0020.0002.130CA] # EGYPTIAN HIEROGLYPH D067A
-130CB ; [.3DED.0020.0002.130CB] # EGYPTIAN HIEROGLYPH D067B
-130CC ; [.3DEE.0020.0002.130CC] # EGYPTIAN HIEROGLYPH D067C
-130CD ; [.3DEF.0020.0002.130CD] # EGYPTIAN HIEROGLYPH D067D
-130CE ; [.3DF0.0020.0002.130CE] # EGYPTIAN HIEROGLYPH D067E
-130CF ; [.3DF1.0020.0002.130CF] # EGYPTIAN HIEROGLYPH D067F
-130D0 ; [.3DF2.0020.0002.130D0] # EGYPTIAN HIEROGLYPH D067G
-130D1 ; [.3DF3.0020.0002.130D1] # EGYPTIAN HIEROGLYPH D067H
-130D2 ; [.3DF4.0020.0002.130D2] # EGYPTIAN HIEROGLYPH E001
-130D3 ; [.3DF5.0020.0002.130D3] # EGYPTIAN HIEROGLYPH E002
-130D4 ; [.3DF6.0020.0002.130D4] # EGYPTIAN HIEROGLYPH E003
-130D5 ; [.3DF7.0020.0002.130D5] # EGYPTIAN HIEROGLYPH E004
-130D6 ; [.3DF8.0020.0002.130D6] # EGYPTIAN HIEROGLYPH E005
-130D7 ; [.3DF9.0020.0002.130D7] # EGYPTIAN HIEROGLYPH E006
-130D8 ; [.3DFA.0020.0002.130D8] # EGYPTIAN HIEROGLYPH E007
-130D9 ; [.3DFB.0020.0002.130D9] # EGYPTIAN HIEROGLYPH E008
-130DA ; [.3DFC.0020.0002.130DA] # EGYPTIAN HIEROGLYPH E008A
-130DB ; [.3DFD.0020.0002.130DB] # EGYPTIAN HIEROGLYPH E009
-130DC ; [.3DFE.0020.0002.130DC] # EGYPTIAN HIEROGLYPH E009A
-130DD ; [.3DFF.0020.0002.130DD] # EGYPTIAN HIEROGLYPH E010
-130DE ; [.3E00.0020.0002.130DE] # EGYPTIAN HIEROGLYPH E011
-130DF ; [.3E01.0020.0002.130DF] # EGYPTIAN HIEROGLYPH E012
-130E0 ; [.3E02.0020.0002.130E0] # EGYPTIAN HIEROGLYPH E013
-130E1 ; [.3E03.0020.0002.130E1] # EGYPTIAN HIEROGLYPH E014
-130E2 ; [.3E04.0020.0002.130E2] # EGYPTIAN HIEROGLYPH E015
-130E3 ; [.3E05.0020.0002.130E3] # EGYPTIAN HIEROGLYPH E016
-130E4 ; [.3E06.0020.0002.130E4] # EGYPTIAN HIEROGLYPH E016A
-130E5 ; [.3E07.0020.0002.130E5] # EGYPTIAN HIEROGLYPH E017
-130E6 ; [.3E08.0020.0002.130E6] # EGYPTIAN HIEROGLYPH E017A
-130E7 ; [.3E09.0020.0002.130E7] # EGYPTIAN HIEROGLYPH E018
-130E8 ; [.3E0A.0020.0002.130E8] # EGYPTIAN HIEROGLYPH E019
-130E9 ; [.3E0B.0020.0002.130E9] # EGYPTIAN HIEROGLYPH E020
-130EA ; [.3E0C.0020.0002.130EA] # EGYPTIAN HIEROGLYPH E020A
-130EB ; [.3E0D.0020.0002.130EB] # EGYPTIAN HIEROGLYPH E021
-130EC ; [.3E0E.0020.0002.130EC] # EGYPTIAN HIEROGLYPH E022
-130ED ; [.3E0F.0020.0002.130ED] # EGYPTIAN HIEROGLYPH E023
-130EE ; [.3E10.0020.0002.130EE] # EGYPTIAN HIEROGLYPH E024
-130EF ; [.3E11.0020.0002.130EF] # EGYPTIAN HIEROGLYPH E025
-130F0 ; [.3E12.0020.0002.130F0] # EGYPTIAN HIEROGLYPH E026
-130F1 ; [.3E13.0020.0002.130F1] # EGYPTIAN HIEROGLYPH E027
-130F2 ; [.3E14.0020.0002.130F2] # EGYPTIAN HIEROGLYPH E028
-130F3 ; [.3E15.0020.0002.130F3] # EGYPTIAN HIEROGLYPH E028A
-130F4 ; [.3E16.0020.0002.130F4] # EGYPTIAN HIEROGLYPH E029
-130F5 ; [.3E17.0020.0002.130F5] # EGYPTIAN HIEROGLYPH E030
-130F6 ; [.3E18.0020.0002.130F6] # EGYPTIAN HIEROGLYPH E031
-130F7 ; [.3E19.0020.0002.130F7] # EGYPTIAN HIEROGLYPH E032
-130F8 ; [.3E1A.0020.0002.130F8] # EGYPTIAN HIEROGLYPH E033
-130F9 ; [.3E1B.0020.0002.130F9] # EGYPTIAN HIEROGLYPH E034
-130FA ; [.3E1C.0020.0002.130FA] # EGYPTIAN HIEROGLYPH E034A
-130FB ; [.3E1D.0020.0002.130FB] # EGYPTIAN HIEROGLYPH E036
-130FC ; [.3E1E.0020.0002.130FC] # EGYPTIAN HIEROGLYPH E037
-130FD ; [.3E1F.0020.0002.130FD] # EGYPTIAN HIEROGLYPH E038
-130FE ; [.3E20.0020.0002.130FE] # EGYPTIAN HIEROGLYPH F001
-130FF ; [.3E21.0020.0002.130FF] # EGYPTIAN HIEROGLYPH F001A
-13100 ; [.3E22.0020.0002.13100] # EGYPTIAN HIEROGLYPH F002
-13101 ; [.3E23.0020.0002.13101] # EGYPTIAN HIEROGLYPH F003
-13102 ; [.3E24.0020.0002.13102] # EGYPTIAN HIEROGLYPH F004
-13103 ; [.3E25.0020.0002.13103] # EGYPTIAN HIEROGLYPH F005
-13104 ; [.3E26.0020.0002.13104] # EGYPTIAN HIEROGLYPH F006
-13105 ; [.3E27.0020.0002.13105] # EGYPTIAN HIEROGLYPH F007
-13106 ; [.3E28.0020.0002.13106] # EGYPTIAN HIEROGLYPH F008
-13107 ; [.3E29.0020.0002.13107] # EGYPTIAN HIEROGLYPH F009
-13108 ; [.3E2A.0020.0002.13108] # EGYPTIAN HIEROGLYPH F010
-13109 ; [.3E2B.0020.0002.13109] # EGYPTIAN HIEROGLYPH F011
-1310A ; [.3E2C.0020.0002.1310A] # EGYPTIAN HIEROGLYPH F012
-1310B ; [.3E2D.0020.0002.1310B] # EGYPTIAN HIEROGLYPH F013
-1310C ; [.3E2E.0020.0002.1310C] # EGYPTIAN HIEROGLYPH F013A
-1310D ; [.3E2F.0020.0002.1310D] # EGYPTIAN HIEROGLYPH F014
-1310E ; [.3E30.0020.0002.1310E] # EGYPTIAN HIEROGLYPH F015
-1310F ; [.3E31.0020.0002.1310F] # EGYPTIAN HIEROGLYPH F016
-13110 ; [.3E32.0020.0002.13110] # EGYPTIAN HIEROGLYPH F017
-13111 ; [.3E33.0020.0002.13111] # EGYPTIAN HIEROGLYPH F018
-13112 ; [.3E34.0020.0002.13112] # EGYPTIAN HIEROGLYPH F019
-13113 ; [.3E35.0020.0002.13113] # EGYPTIAN HIEROGLYPH F020
-13114 ; [.3E36.0020.0002.13114] # EGYPTIAN HIEROGLYPH F021
-13115 ; [.3E37.0020.0002.13115] # EGYPTIAN HIEROGLYPH F021A
-13116 ; [.3E38.0020.0002.13116] # EGYPTIAN HIEROGLYPH F022
-13117 ; [.3E39.0020.0002.13117] # EGYPTIAN HIEROGLYPH F023
-13118 ; [.3E3A.0020.0002.13118] # EGYPTIAN HIEROGLYPH F024
-13119 ; [.3E3B.0020.0002.13119] # EGYPTIAN HIEROGLYPH F025
-1311A ; [.3E3C.0020.0002.1311A] # EGYPTIAN HIEROGLYPH F026
-1311B ; [.3E3D.0020.0002.1311B] # EGYPTIAN HIEROGLYPH F027
-1311C ; [.3E3E.0020.0002.1311C] # EGYPTIAN HIEROGLYPH F028
-1311D ; [.3E3F.0020.0002.1311D] # EGYPTIAN HIEROGLYPH F029
-1311E ; [.3E40.0020.0002.1311E] # EGYPTIAN HIEROGLYPH F030
-1311F ; [.3E41.0020.0002.1311F] # EGYPTIAN HIEROGLYPH F031
-13120 ; [.3E42.0020.0002.13120] # EGYPTIAN HIEROGLYPH F031A
-13121 ; [.3E43.0020.0002.13121] # EGYPTIAN HIEROGLYPH F032
-13122 ; [.3E44.0020.0002.13122] # EGYPTIAN HIEROGLYPH F033
-13123 ; [.3E45.0020.0002.13123] # EGYPTIAN HIEROGLYPH F034
-13124 ; [.3E46.0020.0002.13124] # EGYPTIAN HIEROGLYPH F035
-13125 ; [.3E47.0020.0002.13125] # EGYPTIAN HIEROGLYPH F036
-13126 ; [.3E48.0020.0002.13126] # EGYPTIAN HIEROGLYPH F037
-13127 ; [.3E49.0020.0002.13127] # EGYPTIAN HIEROGLYPH F037A
-13128 ; [.3E4A.0020.0002.13128] # EGYPTIAN HIEROGLYPH F038
-13129 ; [.3E4B.0020.0002.13129] # EGYPTIAN HIEROGLYPH F038A
-1312A ; [.3E4C.0020.0002.1312A] # EGYPTIAN HIEROGLYPH F039
-1312B ; [.3E4D.0020.0002.1312B] # EGYPTIAN HIEROGLYPH F040
-1312C ; [.3E4E.0020.0002.1312C] # EGYPTIAN HIEROGLYPH F041
-1312D ; [.3E4F.0020.0002.1312D] # EGYPTIAN HIEROGLYPH F042
-1312E ; [.3E50.0020.0002.1312E] # EGYPTIAN HIEROGLYPH F043
-1312F ; [.3E51.0020.0002.1312F] # EGYPTIAN HIEROGLYPH F044
-13130 ; [.3E52.0020.0002.13130] # EGYPTIAN HIEROGLYPH F045
-13131 ; [.3E53.0020.0002.13131] # EGYPTIAN HIEROGLYPH F045A
-13132 ; [.3E54.0020.0002.13132] # EGYPTIAN HIEROGLYPH F046
-13133 ; [.3E55.0020.0002.13133] # EGYPTIAN HIEROGLYPH F046A
-13134 ; [.3E56.0020.0002.13134] # EGYPTIAN HIEROGLYPH F047
-13135 ; [.3E57.0020.0002.13135] # EGYPTIAN HIEROGLYPH F047A
-13136 ; [.3E58.0020.0002.13136] # EGYPTIAN HIEROGLYPH F048
-13137 ; [.3E59.0020.0002.13137] # EGYPTIAN HIEROGLYPH F049
-13138 ; [.3E5A.0020.0002.13138] # EGYPTIAN HIEROGLYPH F050
-13139 ; [.3E5B.0020.0002.13139] # EGYPTIAN HIEROGLYPH F051
-1313A ; [.3E5C.0020.0002.1313A] # EGYPTIAN HIEROGLYPH F051A
-1313B ; [.3E5D.0020.0002.1313B] # EGYPTIAN HIEROGLYPH F051B
-1313C ; [.3E5E.0020.0002.1313C] # EGYPTIAN HIEROGLYPH F051C
-1313D ; [.3E5F.0020.0002.1313D] # EGYPTIAN HIEROGLYPH F052
-1313E ; [.3E60.0020.0002.1313E] # EGYPTIAN HIEROGLYPH F053
-1313F ; [.3E61.0020.0002.1313F] # EGYPTIAN HIEROGLYPH G001
-13140 ; [.3E62.0020.0002.13140] # EGYPTIAN HIEROGLYPH G002
-13141 ; [.3E63.0020.0002.13141] # EGYPTIAN HIEROGLYPH G003
-13142 ; [.3E64.0020.0002.13142] # EGYPTIAN HIEROGLYPH G004
-13143 ; [.3E65.0020.0002.13143] # EGYPTIAN HIEROGLYPH G005
-13144 ; [.3E66.0020.0002.13144] # EGYPTIAN HIEROGLYPH G006
-13145 ; [.3E67.0020.0002.13145] # EGYPTIAN HIEROGLYPH G006A
-13146 ; [.3E68.0020.0002.13146] # EGYPTIAN HIEROGLYPH G007
-13147 ; [.3E69.0020.0002.13147] # EGYPTIAN HIEROGLYPH G007A
-13148 ; [.3E6A.0020.0002.13148] # EGYPTIAN HIEROGLYPH G007B
-13149 ; [.3E6B.0020.0002.13149] # EGYPTIAN HIEROGLYPH G008
-1314A ; [.3E6C.0020.0002.1314A] # EGYPTIAN HIEROGLYPH G009
-1314B ; [.3E6D.0020.0002.1314B] # EGYPTIAN HIEROGLYPH G010
-1314C ; [.3E6E.0020.0002.1314C] # EGYPTIAN HIEROGLYPH G011
-1314D ; [.3E6F.0020.0002.1314D] # EGYPTIAN HIEROGLYPH G011A
-1314E ; [.3E70.0020.0002.1314E] # EGYPTIAN HIEROGLYPH G012
-1314F ; [.3E71.0020.0002.1314F] # EGYPTIAN HIEROGLYPH G013
-13150 ; [.3E72.0020.0002.13150] # EGYPTIAN HIEROGLYPH G014
-13151 ; [.3E73.0020.0002.13151] # EGYPTIAN HIEROGLYPH G015
-13152 ; [.3E74.0020.0002.13152] # EGYPTIAN HIEROGLYPH G016
-13153 ; [.3E75.0020.0002.13153] # EGYPTIAN HIEROGLYPH G017
-13154 ; [.3E76.0020.0002.13154] # EGYPTIAN HIEROGLYPH G018
-13155 ; [.3E77.0020.0002.13155] # EGYPTIAN HIEROGLYPH G019
-13156 ; [.3E78.0020.0002.13156] # EGYPTIAN HIEROGLYPH G020
-13157 ; [.3E79.0020.0002.13157] # EGYPTIAN HIEROGLYPH G020A
-13158 ; [.3E7A.0020.0002.13158] # EGYPTIAN HIEROGLYPH G021
-13159 ; [.3E7B.0020.0002.13159] # EGYPTIAN HIEROGLYPH G022
-1315A ; [.3E7C.0020.0002.1315A] # EGYPTIAN HIEROGLYPH G023
-1315B ; [.3E7D.0020.0002.1315B] # EGYPTIAN HIEROGLYPH G024
-1315C ; [.3E7E.0020.0002.1315C] # EGYPTIAN HIEROGLYPH G025
-1315D ; [.3E7F.0020.0002.1315D] # EGYPTIAN HIEROGLYPH G026
-1315E ; [.3E80.0020.0002.1315E] # EGYPTIAN HIEROGLYPH G026A
-1315F ; [.3E81.0020.0002.1315F] # EGYPTIAN HIEROGLYPH G027
-13160 ; [.3E82.0020.0002.13160] # EGYPTIAN HIEROGLYPH G028
-13161 ; [.3E83.0020.0002.13161] # EGYPTIAN HIEROGLYPH G029
-13162 ; [.3E84.0020.0002.13162] # EGYPTIAN HIEROGLYPH G030
-13163 ; [.3E85.0020.0002.13163] # EGYPTIAN HIEROGLYPH G031
-13164 ; [.3E86.0020.0002.13164] # EGYPTIAN HIEROGLYPH G032
-13165 ; [.3E87.0020.0002.13165] # EGYPTIAN HIEROGLYPH G033
-13166 ; [.3E88.0020.0002.13166] # EGYPTIAN HIEROGLYPH G034
-13167 ; [.3E89.0020.0002.13167] # EGYPTIAN HIEROGLYPH G035
-13168 ; [.3E8A.0020.0002.13168] # EGYPTIAN HIEROGLYPH G036
-13169 ; [.3E8B.0020.0002.13169] # EGYPTIAN HIEROGLYPH G036A
-1316A ; [.3E8C.0020.0002.1316A] # EGYPTIAN HIEROGLYPH G037
-1316B ; [.3E8D.0020.0002.1316B] # EGYPTIAN HIEROGLYPH G037A
-1316C ; [.3E8E.0020.0002.1316C] # EGYPTIAN HIEROGLYPH G038
-1316D ; [.3E8F.0020.0002.1316D] # EGYPTIAN HIEROGLYPH G039
-1316E ; [.3E90.0020.0002.1316E] # EGYPTIAN HIEROGLYPH G040
-1316F ; [.3E91.0020.0002.1316F] # EGYPTIAN HIEROGLYPH G041
-13170 ; [.3E92.0020.0002.13170] # EGYPTIAN HIEROGLYPH G042
-13171 ; [.3E93.0020.0002.13171] # EGYPTIAN HIEROGLYPH G043
-13172 ; [.3E94.0020.0002.13172] # EGYPTIAN HIEROGLYPH G043A
-13173 ; [.3E95.0020.0002.13173] # EGYPTIAN HIEROGLYPH G044
-13174 ; [.3E96.0020.0002.13174] # EGYPTIAN HIEROGLYPH G045
-13175 ; [.3E97.0020.0002.13175] # EGYPTIAN HIEROGLYPH G045A
-13176 ; [.3E98.0020.0002.13176] # EGYPTIAN HIEROGLYPH G046
-13177 ; [.3E99.0020.0002.13177] # EGYPTIAN HIEROGLYPH G047
-13178 ; [.3E9A.0020.0002.13178] # EGYPTIAN HIEROGLYPH G048
-13179 ; [.3E9B.0020.0002.13179] # EGYPTIAN HIEROGLYPH G049
-1317A ; [.3E9C.0020.0002.1317A] # EGYPTIAN HIEROGLYPH G050
-1317B ; [.3E9D.0020.0002.1317B] # EGYPTIAN HIEROGLYPH G051
-1317C ; [.3E9E.0020.0002.1317C] # EGYPTIAN HIEROGLYPH G052
-1317D ; [.3E9F.0020.0002.1317D] # EGYPTIAN HIEROGLYPH G053
-1317E ; [.3EA0.0020.0002.1317E] # EGYPTIAN HIEROGLYPH G054
-1317F ; [.3EA1.0020.0002.1317F] # EGYPTIAN HIEROGLYPH H001
-13180 ; [.3EA2.0020.0002.13180] # EGYPTIAN HIEROGLYPH H002
-13181 ; [.3EA3.0020.0002.13181] # EGYPTIAN HIEROGLYPH H003
-13182 ; [.3EA4.0020.0002.13182] # EGYPTIAN HIEROGLYPH H004
-13183 ; [.3EA5.0020.0002.13183] # EGYPTIAN HIEROGLYPH H005
-13184 ; [.3EA6.0020.0002.13184] # EGYPTIAN HIEROGLYPH H006
-13185 ; [.3EA7.0020.0002.13185] # EGYPTIAN HIEROGLYPH H006A
-13186 ; [.3EA8.0020.0002.13186] # EGYPTIAN HIEROGLYPH H007
-13187 ; [.3EA9.0020.0002.13187] # EGYPTIAN HIEROGLYPH H008
-13188 ; [.3EAA.0020.0002.13188] # EGYPTIAN HIEROGLYPH I001
-13189 ; [.3EAB.0020.0002.13189] # EGYPTIAN HIEROGLYPH I002
-1318A ; [.3EAC.0020.0002.1318A] # EGYPTIAN HIEROGLYPH I003
-1318B ; [.3EAD.0020.0002.1318B] # EGYPTIAN HIEROGLYPH I004
-1318C ; [.3EAE.0020.0002.1318C] # EGYPTIAN HIEROGLYPH I005
-1318D ; [.3EAF.0020.0002.1318D] # EGYPTIAN HIEROGLYPH I005A
-1318E ; [.3EB0.0020.0002.1318E] # EGYPTIAN HIEROGLYPH I006
-1318F ; [.3EB1.0020.0002.1318F] # EGYPTIAN HIEROGLYPH I007
-13190 ; [.3EB2.0020.0002.13190] # EGYPTIAN HIEROGLYPH I008
-13191 ; [.3EB3.0020.0002.13191] # EGYPTIAN HIEROGLYPH I009
-13192 ; [.3EB4.0020.0002.13192] # EGYPTIAN HIEROGLYPH I009A
-13193 ; [.3EB5.0020.0002.13193] # EGYPTIAN HIEROGLYPH I010
-13194 ; [.3EB6.0020.0002.13194] # EGYPTIAN HIEROGLYPH I010A
-13195 ; [.3EB7.0020.0002.13195] # EGYPTIAN HIEROGLYPH I011
-13196 ; [.3EB8.0020.0002.13196] # EGYPTIAN HIEROGLYPH I011A
-13197 ; [.3EB9.0020.0002.13197] # EGYPTIAN HIEROGLYPH I012
-13198 ; [.3EBA.0020.0002.13198] # EGYPTIAN HIEROGLYPH I013
-13199 ; [.3EBB.0020.0002.13199] # EGYPTIAN HIEROGLYPH I014
-1319A ; [.3EBC.0020.0002.1319A] # EGYPTIAN HIEROGLYPH I015
-1319B ; [.3EBD.0020.0002.1319B] # EGYPTIAN HIEROGLYPH K001
-1319C ; [.3EBE.0020.0002.1319C] # EGYPTIAN HIEROGLYPH K002
-1319D ; [.3EBF.0020.0002.1319D] # EGYPTIAN HIEROGLYPH K003
-1319E ; [.3EC0.0020.0002.1319E] # EGYPTIAN HIEROGLYPH K004
-1319F ; [.3EC1.0020.0002.1319F] # EGYPTIAN HIEROGLYPH K005
-131A0 ; [.3EC2.0020.0002.131A0] # EGYPTIAN HIEROGLYPH K006
-131A1 ; [.3EC3.0020.0002.131A1] # EGYPTIAN HIEROGLYPH K007
-131A2 ; [.3EC4.0020.0002.131A2] # EGYPTIAN HIEROGLYPH K008
-131A3 ; [.3EC5.0020.0002.131A3] # EGYPTIAN HIEROGLYPH L001
-131A4 ; [.3EC6.0020.0002.131A4] # EGYPTIAN HIEROGLYPH L002
-131A5 ; [.3EC7.0020.0002.131A5] # EGYPTIAN HIEROGLYPH L002A
-131A6 ; [.3EC8.0020.0002.131A6] # EGYPTIAN HIEROGLYPH L003
-131A7 ; [.3EC9.0020.0002.131A7] # EGYPTIAN HIEROGLYPH L004
-131A8 ; [.3ECA.0020.0002.131A8] # EGYPTIAN HIEROGLYPH L005
-131A9 ; [.3ECB.0020.0002.131A9] # EGYPTIAN HIEROGLYPH L006
-131AA ; [.3ECC.0020.0002.131AA] # EGYPTIAN HIEROGLYPH L006A
-131AB ; [.3ECD.0020.0002.131AB] # EGYPTIAN HIEROGLYPH L007
-131AC ; [.3ECE.0020.0002.131AC] # EGYPTIAN HIEROGLYPH L008
-131AD ; [.3ECF.0020.0002.131AD] # EGYPTIAN HIEROGLYPH M001
-131AE ; [.3ED0.0020.0002.131AE] # EGYPTIAN HIEROGLYPH M001A
-131AF ; [.3ED1.0020.0002.131AF] # EGYPTIAN HIEROGLYPH M001B
-131B0 ; [.3ED2.0020.0002.131B0] # EGYPTIAN HIEROGLYPH M002
-131B1 ; [.3ED3.0020.0002.131B1] # EGYPTIAN HIEROGLYPH M003
-131B2 ; [.3ED4.0020.0002.131B2] # EGYPTIAN HIEROGLYPH M003A
-131B3 ; [.3ED5.0020.0002.131B3] # EGYPTIAN HIEROGLYPH M004
-131B4 ; [.3ED6.0020.0002.131B4] # EGYPTIAN HIEROGLYPH M005
-131B5 ; [.3ED7.0020.0002.131B5] # EGYPTIAN HIEROGLYPH M006
-131B6 ; [.3ED8.0020.0002.131B6] # EGYPTIAN HIEROGLYPH M007
-131B7 ; [.3ED9.0020.0002.131B7] # EGYPTIAN HIEROGLYPH M008
-131B8 ; [.3EDA.0020.0002.131B8] # EGYPTIAN HIEROGLYPH M009
-131B9 ; [.3EDB.0020.0002.131B9] # EGYPTIAN HIEROGLYPH M010
-131BA ; [.3EDC.0020.0002.131BA] # EGYPTIAN HIEROGLYPH M010A
-131BB ; [.3EDD.0020.0002.131BB] # EGYPTIAN HIEROGLYPH M011
-131BC ; [.3EDE.0020.0002.131BC] # EGYPTIAN HIEROGLYPH M012
-131BD ; [.3EDF.0020.0002.131BD] # EGYPTIAN HIEROGLYPH M012A
-131BE ; [.3EE0.0020.0002.131BE] # EGYPTIAN HIEROGLYPH M012B
-131BF ; [.3EE1.0020.0002.131BF] # EGYPTIAN HIEROGLYPH M012C
-131C0 ; [.3EE2.0020.0002.131C0] # EGYPTIAN HIEROGLYPH M012D
-131C1 ; [.3EE3.0020.0002.131C1] # EGYPTIAN HIEROGLYPH M012E
-131C2 ; [.3EE4.0020.0002.131C2] # EGYPTIAN HIEROGLYPH M012F
-131C3 ; [.3EE5.0020.0002.131C3] # EGYPTIAN HIEROGLYPH M012G
-131C4 ; [.3EE6.0020.0002.131C4] # EGYPTIAN HIEROGLYPH M012H
-131C5 ; [.3EE7.0020.0002.131C5] # EGYPTIAN HIEROGLYPH M013
-131C6 ; [.3EE8.0020.0002.131C6] # EGYPTIAN HIEROGLYPH M014
-131C7 ; [.3EE9.0020.0002.131C7] # EGYPTIAN HIEROGLYPH M015
-131C8 ; [.3EEA.0020.0002.131C8] # EGYPTIAN HIEROGLYPH M015A
-131C9 ; [.3EEB.0020.0002.131C9] # EGYPTIAN HIEROGLYPH M016
-131CA ; [.3EEC.0020.0002.131CA] # EGYPTIAN HIEROGLYPH M016A
-131CB ; [.3EED.0020.0002.131CB] # EGYPTIAN HIEROGLYPH M017
-131CC ; [.3EEE.0020.0002.131CC] # EGYPTIAN HIEROGLYPH M017A
-131CD ; [.3EEF.0020.0002.131CD] # EGYPTIAN HIEROGLYPH M018
-131CE ; [.3EF0.0020.0002.131CE] # EGYPTIAN HIEROGLYPH M019
-131CF ; [.3EF1.0020.0002.131CF] # EGYPTIAN HIEROGLYPH M020
-131D0 ; [.3EF2.0020.0002.131D0] # EGYPTIAN HIEROGLYPH M021
-131D1 ; [.3EF3.0020.0002.131D1] # EGYPTIAN HIEROGLYPH M022
-131D2 ; [.3EF4.0020.0002.131D2] # EGYPTIAN HIEROGLYPH M022A
-131D3 ; [.3EF5.0020.0002.131D3] # EGYPTIAN HIEROGLYPH M023
-131D4 ; [.3EF6.0020.0002.131D4] # EGYPTIAN HIEROGLYPH M024
-131D5 ; [.3EF7.0020.0002.131D5] # EGYPTIAN HIEROGLYPH M024A
-131D6 ; [.3EF8.0020.0002.131D6] # EGYPTIAN HIEROGLYPH M025
-131D7 ; [.3EF9.0020.0002.131D7] # EGYPTIAN HIEROGLYPH M026
-131D8 ; [.3EFA.0020.0002.131D8] # EGYPTIAN HIEROGLYPH M027
-131D9 ; [.3EFB.0020.0002.131D9] # EGYPTIAN HIEROGLYPH M028
-131DA ; [.3EFC.0020.0002.131DA] # EGYPTIAN HIEROGLYPH M028A
-131DB ; [.3EFD.0020.0002.131DB] # EGYPTIAN HIEROGLYPH M029
-131DC ; [.3EFE.0020.0002.131DC] # EGYPTIAN HIEROGLYPH M030
-131DD ; [.3EFF.0020.0002.131DD] # EGYPTIAN HIEROGLYPH M031
-131DE ; [.3F00.0020.0002.131DE] # EGYPTIAN HIEROGLYPH M031A
-131DF ; [.3F01.0020.0002.131DF] # EGYPTIAN HIEROGLYPH M032
-131E0 ; [.3F02.0020.0002.131E0] # EGYPTIAN HIEROGLYPH M033
-131E1 ; [.3F03.0020.0002.131E1] # EGYPTIAN HIEROGLYPH M033A
-131E2 ; [.3F04.0020.0002.131E2] # EGYPTIAN HIEROGLYPH M033B
-131E3 ; [.3F05.0020.0002.131E3] # EGYPTIAN HIEROGLYPH M034
-131E4 ; [.3F06.0020.0002.131E4] # EGYPTIAN HIEROGLYPH M035
-131E5 ; [.3F07.0020.0002.131E5] # EGYPTIAN HIEROGLYPH M036
-131E6 ; [.3F08.0020.0002.131E6] # EGYPTIAN HIEROGLYPH M037
-131E7 ; [.3F09.0020.0002.131E7] # EGYPTIAN HIEROGLYPH M038
-131E8 ; [.3F0A.0020.0002.131E8] # EGYPTIAN HIEROGLYPH M039
-131E9 ; [.3F0B.0020.0002.131E9] # EGYPTIAN HIEROGLYPH M040
-131EA ; [.3F0C.0020.0002.131EA] # EGYPTIAN HIEROGLYPH M040A
-131EB ; [.3F0D.0020.0002.131EB] # EGYPTIAN HIEROGLYPH M041
-131EC ; [.3F0E.0020.0002.131EC] # EGYPTIAN HIEROGLYPH M042
-131ED ; [.3F0F.0020.0002.131ED] # EGYPTIAN HIEROGLYPH M043
-131EE ; [.3F10.0020.0002.131EE] # EGYPTIAN HIEROGLYPH M044
-131EF ; [.3F11.0020.0002.131EF] # EGYPTIAN HIEROGLYPH N001
-131F0 ; [.3F12.0020.0002.131F0] # EGYPTIAN HIEROGLYPH N002
-131F1 ; [.3F13.0020.0002.131F1] # EGYPTIAN HIEROGLYPH N003
-131F2 ; [.3F14.0020.0002.131F2] # EGYPTIAN HIEROGLYPH N004
-131F3 ; [.3F15.0020.0002.131F3] # EGYPTIAN HIEROGLYPH N005
-131F4 ; [.3F16.0020.0002.131F4] # EGYPTIAN HIEROGLYPH N006
-131F5 ; [.3F17.0020.0002.131F5] # EGYPTIAN HIEROGLYPH N007
-131F6 ; [.3F18.0020.0002.131F6] # EGYPTIAN HIEROGLYPH N008
-131F7 ; [.3F19.0020.0002.131F7] # EGYPTIAN HIEROGLYPH N009
-131F8 ; [.3F1A.0020.0002.131F8] # EGYPTIAN HIEROGLYPH N010
-131F9 ; [.3F1B.0020.0002.131F9] # EGYPTIAN HIEROGLYPH N011
-131FA ; [.3F1C.0020.0002.131FA] # EGYPTIAN HIEROGLYPH N012
-131FB ; [.3F1D.0020.0002.131FB] # EGYPTIAN HIEROGLYPH N013
-131FC ; [.3F1E.0020.0002.131FC] # EGYPTIAN HIEROGLYPH N014
-131FD ; [.3F1F.0020.0002.131FD] # EGYPTIAN HIEROGLYPH N015
-131FE ; [.3F20.0020.0002.131FE] # EGYPTIAN HIEROGLYPH N016
-131FF ; [.3F21.0020.0002.131FF] # EGYPTIAN HIEROGLYPH N017
-13200 ; [.3F22.0020.0002.13200] # EGYPTIAN HIEROGLYPH N018
-13201 ; [.3F23.0020.0002.13201] # EGYPTIAN HIEROGLYPH N018A
-13202 ; [.3F24.0020.0002.13202] # EGYPTIAN HIEROGLYPH N018B
-13203 ; [.3F25.0020.0002.13203] # EGYPTIAN HIEROGLYPH N019
-13204 ; [.3F26.0020.0002.13204] # EGYPTIAN HIEROGLYPH N020
-13205 ; [.3F27.0020.0002.13205] # EGYPTIAN HIEROGLYPH N021
-13206 ; [.3F28.0020.0002.13206] # EGYPTIAN HIEROGLYPH N022
-13207 ; [.3F29.0020.0002.13207] # EGYPTIAN HIEROGLYPH N023
-13208 ; [.3F2A.0020.0002.13208] # EGYPTIAN HIEROGLYPH N024
-13209 ; [.3F2B.0020.0002.13209] # EGYPTIAN HIEROGLYPH N025
-1320A ; [.3F2C.0020.0002.1320A] # EGYPTIAN HIEROGLYPH N025A
-1320B ; [.3F2D.0020.0002.1320B] # EGYPTIAN HIEROGLYPH N026
-1320C ; [.3F2E.0020.0002.1320C] # EGYPTIAN HIEROGLYPH N027
-1320D ; [.3F2F.0020.0002.1320D] # EGYPTIAN HIEROGLYPH N028
-1320E ; [.3F30.0020.0002.1320E] # EGYPTIAN HIEROGLYPH N029
-1320F ; [.3F31.0020.0002.1320F] # EGYPTIAN HIEROGLYPH N030
-13210 ; [.3F32.0020.0002.13210] # EGYPTIAN HIEROGLYPH N031
-13211 ; [.3F33.0020.0002.13211] # EGYPTIAN HIEROGLYPH N032
-13212 ; [.3F34.0020.0002.13212] # EGYPTIAN HIEROGLYPH N033
-13213 ; [.3F35.0020.0002.13213] # EGYPTIAN HIEROGLYPH N033A
-13214 ; [.3F36.0020.0002.13214] # EGYPTIAN HIEROGLYPH N034
-13215 ; [.3F37.0020.0002.13215] # EGYPTIAN HIEROGLYPH N034A
-13216 ; [.3F38.0020.0002.13216] # EGYPTIAN HIEROGLYPH N035
-13217 ; [.3F39.0020.0002.13217] # EGYPTIAN HIEROGLYPH N035A
-13218 ; [.3F3A.0020.0002.13218] # EGYPTIAN HIEROGLYPH N036
-13219 ; [.3F3B.0020.0002.13219] # EGYPTIAN HIEROGLYPH N037
-1321A ; [.3F3C.0020.0002.1321A] # EGYPTIAN HIEROGLYPH N037A
-1321B ; [.3F3D.0020.0002.1321B] # EGYPTIAN HIEROGLYPH N038
-1321C ; [.3F3E.0020.0002.1321C] # EGYPTIAN HIEROGLYPH N039
-1321D ; [.3F3F.0020.0002.1321D] # EGYPTIAN HIEROGLYPH N040
-1321E ; [.3F40.0020.0002.1321E] # EGYPTIAN HIEROGLYPH N041
-1321F ; [.3F41.0020.0002.1321F] # EGYPTIAN HIEROGLYPH N042
-13220 ; [.3F42.0020.0002.13220] # EGYPTIAN HIEROGLYPH NL001
-13221 ; [.3F43.0020.0002.13221] # EGYPTIAN HIEROGLYPH NL002
-13222 ; [.3F44.0020.0002.13222] # EGYPTIAN HIEROGLYPH NL003
-13223 ; [.3F45.0020.0002.13223] # EGYPTIAN HIEROGLYPH NL004
-13224 ; [.3F46.0020.0002.13224] # EGYPTIAN HIEROGLYPH NL005
-13225 ; [.3F47.0020.0002.13225] # EGYPTIAN HIEROGLYPH NL005A
-13226 ; [.3F48.0020.0002.13226] # EGYPTIAN HIEROGLYPH NL006
-13227 ; [.3F49.0020.0002.13227] # EGYPTIAN HIEROGLYPH NL007
-13228 ; [.3F4A.0020.0002.13228] # EGYPTIAN HIEROGLYPH NL008
-13229 ; [.3F4B.0020.0002.13229] # EGYPTIAN HIEROGLYPH NL009
-1322A ; [.3F4C.0020.0002.1322A] # EGYPTIAN HIEROGLYPH NL010
-1322B ; [.3F4D.0020.0002.1322B] # EGYPTIAN HIEROGLYPH NL011
-1322C ; [.3F4E.0020.0002.1322C] # EGYPTIAN HIEROGLYPH NL012
-1322D ; [.3F4F.0020.0002.1322D] # EGYPTIAN HIEROGLYPH NL013
-1322E ; [.3F50.0020.0002.1322E] # EGYPTIAN HIEROGLYPH NL014
-1322F ; [.3F51.0020.0002.1322F] # EGYPTIAN HIEROGLYPH NL015
-13230 ; [.3F52.0020.0002.13230] # EGYPTIAN HIEROGLYPH NL016
-13231 ; [.3F53.0020.0002.13231] # EGYPTIAN HIEROGLYPH NL017
-13232 ; [.3F54.0020.0002.13232] # EGYPTIAN HIEROGLYPH NL017A
-13233 ; [.3F55.0020.0002.13233] # EGYPTIAN HIEROGLYPH NL018
-13234 ; [.3F56.0020.0002.13234] # EGYPTIAN HIEROGLYPH NL019
-13235 ; [.3F57.0020.0002.13235] # EGYPTIAN HIEROGLYPH NL020
-13236 ; [.3F58.0020.0002.13236] # EGYPTIAN HIEROGLYPH NU001
-13237 ; [.3F59.0020.0002.13237] # EGYPTIAN HIEROGLYPH NU002
-13238 ; [.3F5A.0020.0002.13238] # EGYPTIAN HIEROGLYPH NU003
-13239 ; [.3F5B.0020.0002.13239] # EGYPTIAN HIEROGLYPH NU004
-1323A ; [.3F5C.0020.0002.1323A] # EGYPTIAN HIEROGLYPH NU005
-1323B ; [.3F5D.0020.0002.1323B] # EGYPTIAN HIEROGLYPH NU006
-1323C ; [.3F5E.0020.0002.1323C] # EGYPTIAN HIEROGLYPH NU007
-1323D ; [.3F5F.0020.0002.1323D] # EGYPTIAN HIEROGLYPH NU008
-1323E ; [.3F60.0020.0002.1323E] # EGYPTIAN HIEROGLYPH NU009
-1323F ; [.3F61.0020.0002.1323F] # EGYPTIAN HIEROGLYPH NU010
-13240 ; [.3F62.0020.0002.13240] # EGYPTIAN HIEROGLYPH NU010A
-13241 ; [.3F63.0020.0002.13241] # EGYPTIAN HIEROGLYPH NU011
-13242 ; [.3F64.0020.0002.13242] # EGYPTIAN HIEROGLYPH NU011A
-13243 ; [.3F65.0020.0002.13243] # EGYPTIAN HIEROGLYPH NU012
-13244 ; [.3F66.0020.0002.13244] # EGYPTIAN HIEROGLYPH NU013
-13245 ; [.3F67.0020.0002.13245] # EGYPTIAN HIEROGLYPH NU014
-13246 ; [.3F68.0020.0002.13246] # EGYPTIAN HIEROGLYPH NU015
-13247 ; [.3F69.0020.0002.13247] # EGYPTIAN HIEROGLYPH NU016
-13248 ; [.3F6A.0020.0002.13248] # EGYPTIAN HIEROGLYPH NU017
-13249 ; [.3F6B.0020.0002.13249] # EGYPTIAN HIEROGLYPH NU018
-1324A ; [.3F6C.0020.0002.1324A] # EGYPTIAN HIEROGLYPH NU018A
-1324B ; [.3F6D.0020.0002.1324B] # EGYPTIAN HIEROGLYPH NU019
-1324C ; [.3F6E.0020.0002.1324C] # EGYPTIAN HIEROGLYPH NU020
-1324D ; [.3F6F.0020.0002.1324D] # EGYPTIAN HIEROGLYPH NU021
-1324E ; [.3F70.0020.0002.1324E] # EGYPTIAN HIEROGLYPH NU022
-1324F ; [.3F71.0020.0002.1324F] # EGYPTIAN HIEROGLYPH NU022A
-13250 ; [.3F72.0020.0002.13250] # EGYPTIAN HIEROGLYPH O001
-13251 ; [.3F73.0020.0002.13251] # EGYPTIAN HIEROGLYPH O001A
-13252 ; [.3F74.0020.0002.13252] # EGYPTIAN HIEROGLYPH O002
-13253 ; [.3F75.0020.0002.13253] # EGYPTIAN HIEROGLYPH O003
-13254 ; [.3F76.0020.0002.13254] # EGYPTIAN HIEROGLYPH O004
-13255 ; [.3F77.0020.0002.13255] # EGYPTIAN HIEROGLYPH O005
-13256 ; [.3F78.0020.0002.13256] # EGYPTIAN HIEROGLYPH O005A
-13257 ; [.3F79.0020.0002.13257] # EGYPTIAN HIEROGLYPH O006
-13258 ; [.3F7A.0020.0002.13258] # EGYPTIAN HIEROGLYPH O006A
-13259 ; [.3F7B.0020.0002.13259] # EGYPTIAN HIEROGLYPH O006B
-1325A ; [.3F7C.0020.0002.1325A] # EGYPTIAN HIEROGLYPH O006C
-1325B ; [.3F7D.0020.0002.1325B] # EGYPTIAN HIEROGLYPH O006D
-1325C ; [.3F7E.0020.0002.1325C] # EGYPTIAN HIEROGLYPH O006E
-1325D ; [.3F7F.0020.0002.1325D] # EGYPTIAN HIEROGLYPH O006F
-1325E ; [.3F80.0020.0002.1325E] # EGYPTIAN HIEROGLYPH O007
-1325F ; [.3F81.0020.0002.1325F] # EGYPTIAN HIEROGLYPH O008
-13260 ; [.3F82.0020.0002.13260] # EGYPTIAN HIEROGLYPH O009
-13261 ; [.3F83.0020.0002.13261] # EGYPTIAN HIEROGLYPH O010
-13262 ; [.3F84.0020.0002.13262] # EGYPTIAN HIEROGLYPH O010A
-13263 ; [.3F85.0020.0002.13263] # EGYPTIAN HIEROGLYPH O010B
-13264 ; [.3F86.0020.0002.13264] # EGYPTIAN HIEROGLYPH O010C
-13265 ; [.3F87.0020.0002.13265] # EGYPTIAN HIEROGLYPH O011
-13266 ; [.3F88.0020.0002.13266] # EGYPTIAN HIEROGLYPH O012
-13267 ; [.3F89.0020.0002.13267] # EGYPTIAN HIEROGLYPH O013
-13268 ; [.3F8A.0020.0002.13268] # EGYPTIAN HIEROGLYPH O014
-13269 ; [.3F8B.0020.0002.13269] # EGYPTIAN HIEROGLYPH O015
-1326A ; [.3F8C.0020.0002.1326A] # EGYPTIAN HIEROGLYPH O016
-1326B ; [.3F8D.0020.0002.1326B] # EGYPTIAN HIEROGLYPH O017
-1326C ; [.3F8E.0020.0002.1326C] # EGYPTIAN HIEROGLYPH O018
-1326D ; [.3F8F.0020.0002.1326D] # EGYPTIAN HIEROGLYPH O019
-1326E ; [.3F90.0020.0002.1326E] # EGYPTIAN HIEROGLYPH O019A
-1326F ; [.3F91.0020.0002.1326F] # EGYPTIAN HIEROGLYPH O020
-13270 ; [.3F92.0020.0002.13270] # EGYPTIAN HIEROGLYPH O020A
-13271 ; [.3F93.0020.0002.13271] # EGYPTIAN HIEROGLYPH O021
-13272 ; [.3F94.0020.0002.13272] # EGYPTIAN HIEROGLYPH O022
-13273 ; [.3F95.0020.0002.13273] # EGYPTIAN HIEROGLYPH O023
-13274 ; [.3F96.0020.0002.13274] # EGYPTIAN HIEROGLYPH O024
-13275 ; [.3F97.0020.0002.13275] # EGYPTIAN HIEROGLYPH O024A
-13276 ; [.3F98.0020.0002.13276] # EGYPTIAN HIEROGLYPH O025
-13277 ; [.3F99.0020.0002.13277] # EGYPTIAN HIEROGLYPH O025A
-13278 ; [.3F9A.0020.0002.13278] # EGYPTIAN HIEROGLYPH O026
-13279 ; [.3F9B.0020.0002.13279] # EGYPTIAN HIEROGLYPH O027
-1327A ; [.3F9C.0020.0002.1327A] # EGYPTIAN HIEROGLYPH O028
-1327B ; [.3F9D.0020.0002.1327B] # EGYPTIAN HIEROGLYPH O029
-1327C ; [.3F9E.0020.0002.1327C] # EGYPTIAN HIEROGLYPH O029A
-1327D ; [.3F9F.0020.0002.1327D] # EGYPTIAN HIEROGLYPH O030
-1327E ; [.3FA0.0020.0002.1327E] # EGYPTIAN HIEROGLYPH O030A
-1327F ; [.3FA1.0020.0002.1327F] # EGYPTIAN HIEROGLYPH O031
-13280 ; [.3FA2.0020.0002.13280] # EGYPTIAN HIEROGLYPH O032
-13281 ; [.3FA3.0020.0002.13281] # EGYPTIAN HIEROGLYPH O033
-13282 ; [.3FA4.0020.0002.13282] # EGYPTIAN HIEROGLYPH O033A
-13283 ; [.3FA5.0020.0002.13283] # EGYPTIAN HIEROGLYPH O034
-13284 ; [.3FA6.0020.0002.13284] # EGYPTIAN HIEROGLYPH O035
-13285 ; [.3FA7.0020.0002.13285] # EGYPTIAN HIEROGLYPH O036
-13286 ; [.3FA8.0020.0002.13286] # EGYPTIAN HIEROGLYPH O036A
-13287 ; [.3FA9.0020.0002.13287] # EGYPTIAN HIEROGLYPH O036B
-13288 ; [.3FAA.0020.0002.13288] # EGYPTIAN HIEROGLYPH O036C
-13289 ; [.3FAB.0020.0002.13289] # EGYPTIAN HIEROGLYPH O036D
-1328A ; [.3FAC.0020.0002.1328A] # EGYPTIAN HIEROGLYPH O037
-1328B ; [.3FAD.0020.0002.1328B] # EGYPTIAN HIEROGLYPH O038
-1328C ; [.3FAE.0020.0002.1328C] # EGYPTIAN HIEROGLYPH O039
-1328D ; [.3FAF.0020.0002.1328D] # EGYPTIAN HIEROGLYPH O040
-1328E ; [.3FB0.0020.0002.1328E] # EGYPTIAN HIEROGLYPH O041
-1328F ; [.3FB1.0020.0002.1328F] # EGYPTIAN HIEROGLYPH O042
-13290 ; [.3FB2.0020.0002.13290] # EGYPTIAN HIEROGLYPH O043
-13291 ; [.3FB3.0020.0002.13291] # EGYPTIAN HIEROGLYPH O044
-13292 ; [.3FB4.0020.0002.13292] # EGYPTIAN HIEROGLYPH O045
-13293 ; [.3FB5.0020.0002.13293] # EGYPTIAN HIEROGLYPH O046
-13294 ; [.3FB6.0020.0002.13294] # EGYPTIAN HIEROGLYPH O047
-13295 ; [.3FB7.0020.0002.13295] # EGYPTIAN HIEROGLYPH O048
-13296 ; [.3FB8.0020.0002.13296] # EGYPTIAN HIEROGLYPH O049
-13297 ; [.3FB9.0020.0002.13297] # EGYPTIAN HIEROGLYPH O050
-13298 ; [.3FBA.0020.0002.13298] # EGYPTIAN HIEROGLYPH O050A
-13299 ; [.3FBB.0020.0002.13299] # EGYPTIAN HIEROGLYPH O050B
-1329A ; [.3FBC.0020.0002.1329A] # EGYPTIAN HIEROGLYPH O051
-1329B ; [.3FBD.0020.0002.1329B] # EGYPTIAN HIEROGLYPH P001
-1329C ; [.3FBE.0020.0002.1329C] # EGYPTIAN HIEROGLYPH P001A
-1329D ; [.3FBF.0020.0002.1329D] # EGYPTIAN HIEROGLYPH P002
-1329E ; [.3FC0.0020.0002.1329E] # EGYPTIAN HIEROGLYPH P003
-1329F ; [.3FC1.0020.0002.1329F] # EGYPTIAN HIEROGLYPH P003A
-132A0 ; [.3FC2.0020.0002.132A0] # EGYPTIAN HIEROGLYPH P004
-132A1 ; [.3FC3.0020.0002.132A1] # EGYPTIAN HIEROGLYPH P005
-132A2 ; [.3FC4.0020.0002.132A2] # EGYPTIAN HIEROGLYPH P006
-132A3 ; [.3FC5.0020.0002.132A3] # EGYPTIAN HIEROGLYPH P007
-132A4 ; [.3FC6.0020.0002.132A4] # EGYPTIAN HIEROGLYPH P008
-132A5 ; [.3FC7.0020.0002.132A5] # EGYPTIAN HIEROGLYPH P009
-132A6 ; [.3FC8.0020.0002.132A6] # EGYPTIAN HIEROGLYPH P010
-132A7 ; [.3FC9.0020.0002.132A7] # EGYPTIAN HIEROGLYPH P011
-132A8 ; [.3FCA.0020.0002.132A8] # EGYPTIAN HIEROGLYPH Q001
-132A9 ; [.3FCB.0020.0002.132A9] # EGYPTIAN HIEROGLYPH Q002
-132AA ; [.3FCC.0020.0002.132AA] # EGYPTIAN HIEROGLYPH Q003
-132AB ; [.3FCD.0020.0002.132AB] # EGYPTIAN HIEROGLYPH Q004
-132AC ; [.3FCE.0020.0002.132AC] # EGYPTIAN HIEROGLYPH Q005
-132AD ; [.3FCF.0020.0002.132AD] # EGYPTIAN HIEROGLYPH Q006
-132AE ; [.3FD0.0020.0002.132AE] # EGYPTIAN HIEROGLYPH Q007
-132AF ; [.3FD1.0020.0002.132AF] # EGYPTIAN HIEROGLYPH R001
-132B0 ; [.3FD2.0020.0002.132B0] # EGYPTIAN HIEROGLYPH R002
-132B1 ; [.3FD3.0020.0002.132B1] # EGYPTIAN HIEROGLYPH R002A
-132B2 ; [.3FD4.0020.0002.132B2] # EGYPTIAN HIEROGLYPH R003
-132B3 ; [.3FD5.0020.0002.132B3] # EGYPTIAN HIEROGLYPH R003A
-132B4 ; [.3FD6.0020.0002.132B4] # EGYPTIAN HIEROGLYPH R003B
-132B5 ; [.3FD7.0020.0002.132B5] # EGYPTIAN HIEROGLYPH R004
-132B6 ; [.3FD8.0020.0002.132B6] # EGYPTIAN HIEROGLYPH R005
-132B7 ; [.3FD9.0020.0002.132B7] # EGYPTIAN HIEROGLYPH R006
-132B8 ; [.3FDA.0020.0002.132B8] # EGYPTIAN HIEROGLYPH R007
-132B9 ; [.3FDB.0020.0002.132B9] # EGYPTIAN HIEROGLYPH R008
-132BA ; [.3FDC.0020.0002.132BA] # EGYPTIAN HIEROGLYPH R009
-132BB ; [.3FDD.0020.0002.132BB] # EGYPTIAN HIEROGLYPH R010
-132BC ; [.3FDE.0020.0002.132BC] # EGYPTIAN HIEROGLYPH R010A
-132BD ; [.3FDF.0020.0002.132BD] # EGYPTIAN HIEROGLYPH R011
-132BE ; [.3FE0.0020.0002.132BE] # EGYPTIAN HIEROGLYPH R012
-132BF ; [.3FE1.0020.0002.132BF] # EGYPTIAN HIEROGLYPH R013
-132C0 ; [.3FE2.0020.0002.132C0] # EGYPTIAN HIEROGLYPH R014
-132C1 ; [.3FE3.0020.0002.132C1] # EGYPTIAN HIEROGLYPH R015
-132C2 ; [.3FE4.0020.0002.132C2] # EGYPTIAN HIEROGLYPH R016
-132C3 ; [.3FE5.0020.0002.132C3] # EGYPTIAN HIEROGLYPH R016A
-132C4 ; [.3FE6.0020.0002.132C4] # EGYPTIAN HIEROGLYPH R017
-132C5 ; [.3FE7.0020.0002.132C5] # EGYPTIAN HIEROGLYPH R018
-132C6 ; [.3FE8.0020.0002.132C6] # EGYPTIAN HIEROGLYPH R019
-132C7 ; [.3FE9.0020.0002.132C7] # EGYPTIAN HIEROGLYPH R020
-132C8 ; [.3FEA.0020.0002.132C8] # EGYPTIAN HIEROGLYPH R021
-132C9 ; [.3FEB.0020.0002.132C9] # EGYPTIAN HIEROGLYPH R022
-132CA ; [.3FEC.0020.0002.132CA] # EGYPTIAN HIEROGLYPH R023
-132CB ; [.3FED.0020.0002.132CB] # EGYPTIAN HIEROGLYPH R024
-132CC ; [.3FEE.0020.0002.132CC] # EGYPTIAN HIEROGLYPH R025
-132CD ; [.3FEF.0020.0002.132CD] # EGYPTIAN HIEROGLYPH R026
-132CE ; [.3FF0.0020.0002.132CE] # EGYPTIAN HIEROGLYPH R027
-132CF ; [.3FF1.0020.0002.132CF] # EGYPTIAN HIEROGLYPH R028
-132D0 ; [.3FF2.0020.0002.132D0] # EGYPTIAN HIEROGLYPH R029
-132D1 ; [.3FF3.0020.0002.132D1] # EGYPTIAN HIEROGLYPH S001
-132D2 ; [.3FF4.0020.0002.132D2] # EGYPTIAN HIEROGLYPH S002
-132D3 ; [.3FF5.0020.0002.132D3] # EGYPTIAN HIEROGLYPH S002A
-132D4 ; [.3FF6.0020.0002.132D4] # EGYPTIAN HIEROGLYPH S003
-132D5 ; [.3FF7.0020.0002.132D5] # EGYPTIAN HIEROGLYPH S004
-132D6 ; [.3FF8.0020.0002.132D6] # EGYPTIAN HIEROGLYPH S005
-132D7 ; [.3FF9.0020.0002.132D7] # EGYPTIAN HIEROGLYPH S006
-132D8 ; [.3FFA.0020.0002.132D8] # EGYPTIAN HIEROGLYPH S006A
-132D9 ; [.3FFB.0020.0002.132D9] # EGYPTIAN HIEROGLYPH S007
-132DA ; [.3FFC.0020.0002.132DA] # EGYPTIAN HIEROGLYPH S008
-132DB ; [.3FFD.0020.0002.132DB] # EGYPTIAN HIEROGLYPH S009
-132DC ; [.3FFE.0020.0002.132DC] # EGYPTIAN HIEROGLYPH S010
-132DD ; [.3FFF.0020.0002.132DD] # EGYPTIAN HIEROGLYPH S011
-132DE ; [.4000.0020.0002.132DE] # EGYPTIAN HIEROGLYPH S012
-132DF ; [.4001.0020.0002.132DF] # EGYPTIAN HIEROGLYPH S013
-132E0 ; [.4002.0020.0002.132E0] # EGYPTIAN HIEROGLYPH S014
-132E1 ; [.4003.0020.0002.132E1] # EGYPTIAN HIEROGLYPH S014A
-132E2 ; [.4004.0020.0002.132E2] # EGYPTIAN HIEROGLYPH S014B
-132E3 ; [.4005.0020.0002.132E3] # EGYPTIAN HIEROGLYPH S015
-132E4 ; [.4006.0020.0002.132E4] # EGYPTIAN HIEROGLYPH S016
-132E5 ; [.4007.0020.0002.132E5] # EGYPTIAN HIEROGLYPH S017
-132E6 ; [.4008.0020.0002.132E6] # EGYPTIAN HIEROGLYPH S017A
-132E7 ; [.4009.0020.0002.132E7] # EGYPTIAN HIEROGLYPH S018
-132E8 ; [.400A.0020.0002.132E8] # EGYPTIAN HIEROGLYPH S019
-132E9 ; [.400B.0020.0002.132E9] # EGYPTIAN HIEROGLYPH S020
-132EA ; [.400C.0020.0002.132EA] # EGYPTIAN HIEROGLYPH S021
-132EB ; [.400D.0020.0002.132EB] # EGYPTIAN HIEROGLYPH S022
-132EC ; [.400E.0020.0002.132EC] # EGYPTIAN HIEROGLYPH S023
-132ED ; [.400F.0020.0002.132ED] # EGYPTIAN HIEROGLYPH S024
-132EE ; [.4010.0020.0002.132EE] # EGYPTIAN HIEROGLYPH S025
-132EF ; [.4011.0020.0002.132EF] # EGYPTIAN HIEROGLYPH S026
-132F0 ; [.4012.0020.0002.132F0] # EGYPTIAN HIEROGLYPH S026A
-132F1 ; [.4013.0020.0002.132F1] # EGYPTIAN HIEROGLYPH S026B
-132F2 ; [.4014.0020.0002.132F2] # EGYPTIAN HIEROGLYPH S027
-132F3 ; [.4015.0020.0002.132F3] # EGYPTIAN HIEROGLYPH S028
-132F4 ; [.4016.0020.0002.132F4] # EGYPTIAN HIEROGLYPH S029
-132F5 ; [.4017.0020.0002.132F5] # EGYPTIAN HIEROGLYPH S030
-132F6 ; [.4018.0020.0002.132F6] # EGYPTIAN HIEROGLYPH S031
-132F7 ; [.4019.0020.0002.132F7] # EGYPTIAN HIEROGLYPH S032
-132F8 ; [.401A.0020.0002.132F8] # EGYPTIAN HIEROGLYPH S033
-132F9 ; [.401B.0020.0002.132F9] # EGYPTIAN HIEROGLYPH S034
-132FA ; [.401C.0020.0002.132FA] # EGYPTIAN HIEROGLYPH S035
-132FB ; [.401D.0020.0002.132FB] # EGYPTIAN HIEROGLYPH S035A
-132FC ; [.401E.0020.0002.132FC] # EGYPTIAN HIEROGLYPH S036
-132FD ; [.401F.0020.0002.132FD] # EGYPTIAN HIEROGLYPH S037
-132FE ; [.4020.0020.0002.132FE] # EGYPTIAN HIEROGLYPH S038
-132FF ; [.4021.0020.0002.132FF] # EGYPTIAN HIEROGLYPH S039
-13300 ; [.4022.0020.0002.13300] # EGYPTIAN HIEROGLYPH S040
-13301 ; [.4023.0020.0002.13301] # EGYPTIAN HIEROGLYPH S041
-13302 ; [.4024.0020.0002.13302] # EGYPTIAN HIEROGLYPH S042
-13303 ; [.4025.0020.0002.13303] # EGYPTIAN HIEROGLYPH S043
-13304 ; [.4026.0020.0002.13304] # EGYPTIAN HIEROGLYPH S044
-13305 ; [.4027.0020.0002.13305] # EGYPTIAN HIEROGLYPH S045
-13306 ; [.4028.0020.0002.13306] # EGYPTIAN HIEROGLYPH S046
-13307 ; [.4029.0020.0002.13307] # EGYPTIAN HIEROGLYPH T001
-13308 ; [.402A.0020.0002.13308] # EGYPTIAN HIEROGLYPH T002
-13309 ; [.402B.0020.0002.13309] # EGYPTIAN HIEROGLYPH T003
-1330A ; [.402C.0020.0002.1330A] # EGYPTIAN HIEROGLYPH T003A
-1330B ; [.402D.0020.0002.1330B] # EGYPTIAN HIEROGLYPH T004
-1330C ; [.402E.0020.0002.1330C] # EGYPTIAN HIEROGLYPH T005
-1330D ; [.402F.0020.0002.1330D] # EGYPTIAN HIEROGLYPH T006
-1330E ; [.4030.0020.0002.1330E] # EGYPTIAN HIEROGLYPH T007
-1330F ; [.4031.0020.0002.1330F] # EGYPTIAN HIEROGLYPH T007A
-13310 ; [.4032.0020.0002.13310] # EGYPTIAN HIEROGLYPH T008
-13311 ; [.4033.0020.0002.13311] # EGYPTIAN HIEROGLYPH T008A
-13312 ; [.4034.0020.0002.13312] # EGYPTIAN HIEROGLYPH T009
-13313 ; [.4035.0020.0002.13313] # EGYPTIAN HIEROGLYPH T009A
-13314 ; [.4036.0020.0002.13314] # EGYPTIAN HIEROGLYPH T010
-13315 ; [.4037.0020.0002.13315] # EGYPTIAN HIEROGLYPH T011
-13316 ; [.4038.0020.0002.13316] # EGYPTIAN HIEROGLYPH T011A
-13317 ; [.4039.0020.0002.13317] # EGYPTIAN HIEROGLYPH T012
-13318 ; [.403A.0020.0002.13318] # EGYPTIAN HIEROGLYPH T013
-13319 ; [.403B.0020.0002.13319] # EGYPTIAN HIEROGLYPH T014
-1331A ; [.403C.0020.0002.1331A] # EGYPTIAN HIEROGLYPH T015
-1331B ; [.403D.0020.0002.1331B] # EGYPTIAN HIEROGLYPH T016
-1331C ; [.403E.0020.0002.1331C] # EGYPTIAN HIEROGLYPH T016A
-1331D ; [.403F.0020.0002.1331D] # EGYPTIAN HIEROGLYPH T017
-1331E ; [.4040.0020.0002.1331E] # EGYPTIAN HIEROGLYPH T018
-1331F ; [.4041.0020.0002.1331F] # EGYPTIAN HIEROGLYPH T019
-13320 ; [.4042.0020.0002.13320] # EGYPTIAN HIEROGLYPH T020
-13321 ; [.4043.0020.0002.13321] # EGYPTIAN HIEROGLYPH T021
-13322 ; [.4044.0020.0002.13322] # EGYPTIAN HIEROGLYPH T022
-13323 ; [.4045.0020.0002.13323] # EGYPTIAN HIEROGLYPH T023
-13324 ; [.4046.0020.0002.13324] # EGYPTIAN HIEROGLYPH T024
-13325 ; [.4047.0020.0002.13325] # EGYPTIAN HIEROGLYPH T025
-13326 ; [.4048.0020.0002.13326] # EGYPTIAN HIEROGLYPH T026
-13327 ; [.4049.0020.0002.13327] # EGYPTIAN HIEROGLYPH T027
-13328 ; [.404A.0020.0002.13328] # EGYPTIAN HIEROGLYPH T028
-13329 ; [.404B.0020.0002.13329] # EGYPTIAN HIEROGLYPH T029
-1332A ; [.404C.0020.0002.1332A] # EGYPTIAN HIEROGLYPH T030
-1332B ; [.404D.0020.0002.1332B] # EGYPTIAN HIEROGLYPH T031
-1332C ; [.404E.0020.0002.1332C] # EGYPTIAN HIEROGLYPH T032
-1332D ; [.404F.0020.0002.1332D] # EGYPTIAN HIEROGLYPH T032A
-1332E ; [.4050.0020.0002.1332E] # EGYPTIAN HIEROGLYPH T033
-1332F ; [.4051.0020.0002.1332F] # EGYPTIAN HIEROGLYPH T033A
-13330 ; [.4052.0020.0002.13330] # EGYPTIAN HIEROGLYPH T034
-13331 ; [.4053.0020.0002.13331] # EGYPTIAN HIEROGLYPH T035
-13332 ; [.4054.0020.0002.13332] # EGYPTIAN HIEROGLYPH T036
-13333 ; [.4055.0020.0002.13333] # EGYPTIAN HIEROGLYPH U001
-13334 ; [.4056.0020.0002.13334] # EGYPTIAN HIEROGLYPH U002
-13335 ; [.4057.0020.0002.13335] # EGYPTIAN HIEROGLYPH U003
-13336 ; [.4058.0020.0002.13336] # EGYPTIAN HIEROGLYPH U004
-13337 ; [.4059.0020.0002.13337] # EGYPTIAN HIEROGLYPH U005
-13338 ; [.405A.0020.0002.13338] # EGYPTIAN HIEROGLYPH U006
-13339 ; [.405B.0020.0002.13339] # EGYPTIAN HIEROGLYPH U006A
-1333A ; [.405C.0020.0002.1333A] # EGYPTIAN HIEROGLYPH U006B
-1333B ; [.405D.0020.0002.1333B] # EGYPTIAN HIEROGLYPH U007
-1333C ; [.405E.0020.0002.1333C] # EGYPTIAN HIEROGLYPH U008
-1333D ; [.405F.0020.0002.1333D] # EGYPTIAN HIEROGLYPH U009
-1333E ; [.4060.0020.0002.1333E] # EGYPTIAN HIEROGLYPH U010
-1333F ; [.4061.0020.0002.1333F] # EGYPTIAN HIEROGLYPH U011
-13340 ; [.4062.0020.0002.13340] # EGYPTIAN HIEROGLYPH U012
-13341 ; [.4063.0020.0002.13341] # EGYPTIAN HIEROGLYPH U013
-13342 ; [.4064.0020.0002.13342] # EGYPTIAN HIEROGLYPH U014
-13343 ; [.4065.0020.0002.13343] # EGYPTIAN HIEROGLYPH U015
-13344 ; [.4066.0020.0002.13344] # EGYPTIAN HIEROGLYPH U016
-13345 ; [.4067.0020.0002.13345] # EGYPTIAN HIEROGLYPH U017
-13346 ; [.4068.0020.0002.13346] # EGYPTIAN HIEROGLYPH U018
-13347 ; [.4069.0020.0002.13347] # EGYPTIAN HIEROGLYPH U019
-13348 ; [.406A.0020.0002.13348] # EGYPTIAN HIEROGLYPH U020
-13349 ; [.406B.0020.0002.13349] # EGYPTIAN HIEROGLYPH U021
-1334A ; [.406C.0020.0002.1334A] # EGYPTIAN HIEROGLYPH U022
-1334B ; [.406D.0020.0002.1334B] # EGYPTIAN HIEROGLYPH U023
-1334C ; [.406E.0020.0002.1334C] # EGYPTIAN HIEROGLYPH U023A
-1334D ; [.406F.0020.0002.1334D] # EGYPTIAN HIEROGLYPH U024
-1334E ; [.4070.0020.0002.1334E] # EGYPTIAN HIEROGLYPH U025
-1334F ; [.4071.0020.0002.1334F] # EGYPTIAN HIEROGLYPH U026
-13350 ; [.4072.0020.0002.13350] # EGYPTIAN HIEROGLYPH U027
-13351 ; [.4073.0020.0002.13351] # EGYPTIAN HIEROGLYPH U028
-13352 ; [.4074.0020.0002.13352] # EGYPTIAN HIEROGLYPH U029
-13353 ; [.4075.0020.0002.13353] # EGYPTIAN HIEROGLYPH U029A
-13354 ; [.4076.0020.0002.13354] # EGYPTIAN HIEROGLYPH U030
-13355 ; [.4077.0020.0002.13355] # EGYPTIAN HIEROGLYPH U031
-13356 ; [.4078.0020.0002.13356] # EGYPTIAN HIEROGLYPH U032
-13357 ; [.4079.0020.0002.13357] # EGYPTIAN HIEROGLYPH U032A
-13358 ; [.407A.0020.0002.13358] # EGYPTIAN HIEROGLYPH U033
-13359 ; [.407B.0020.0002.13359] # EGYPTIAN HIEROGLYPH U034
-1335A ; [.407C.0020.0002.1335A] # EGYPTIAN HIEROGLYPH U035
-1335B ; [.407D.0020.0002.1335B] # EGYPTIAN HIEROGLYPH U036
-1335C ; [.407E.0020.0002.1335C] # EGYPTIAN HIEROGLYPH U037
-1335D ; [.407F.0020.0002.1335D] # EGYPTIAN HIEROGLYPH U038
-1335E ; [.4080.0020.0002.1335E] # EGYPTIAN HIEROGLYPH U039
-1335F ; [.4081.0020.0002.1335F] # EGYPTIAN HIEROGLYPH U040
-13360 ; [.4082.0020.0002.13360] # EGYPTIAN HIEROGLYPH U041
-13361 ; [.4083.0020.0002.13361] # EGYPTIAN HIEROGLYPH U042
-13362 ; [.4084.0020.0002.13362] # EGYPTIAN HIEROGLYPH V001
-13363 ; [.4085.0020.0002.13363] # EGYPTIAN HIEROGLYPH V001A
-13364 ; [.4086.0020.0002.13364] # EGYPTIAN HIEROGLYPH V001B
-13365 ; [.4087.0020.0002.13365] # EGYPTIAN HIEROGLYPH V001C
-13366 ; [.4088.0020.0002.13366] # EGYPTIAN HIEROGLYPH V001D
-13367 ; [.4089.0020.0002.13367] # EGYPTIAN HIEROGLYPH V001E
-13368 ; [.408A.0020.0002.13368] # EGYPTIAN HIEROGLYPH V001F
-13369 ; [.408B.0020.0002.13369] # EGYPTIAN HIEROGLYPH V001G
-1336A ; [.408C.0020.0002.1336A] # EGYPTIAN HIEROGLYPH V001H
-1336B ; [.408D.0020.0002.1336B] # EGYPTIAN HIEROGLYPH V001I
-1336C ; [.408E.0020.0002.1336C] # EGYPTIAN HIEROGLYPH V002
-1336D ; [.408F.0020.0002.1336D] # EGYPTIAN HIEROGLYPH V002A
-1336E ; [.4090.0020.0002.1336E] # EGYPTIAN HIEROGLYPH V003
-1336F ; [.4091.0020.0002.1336F] # EGYPTIAN HIEROGLYPH V004
-13370 ; [.4092.0020.0002.13370] # EGYPTIAN HIEROGLYPH V005
-13371 ; [.4093.0020.0002.13371] # EGYPTIAN HIEROGLYPH V006
-13372 ; [.4094.0020.0002.13372] # EGYPTIAN HIEROGLYPH V007
-13373 ; [.4095.0020.0002.13373] # EGYPTIAN HIEROGLYPH V007A
-13374 ; [.4096.0020.0002.13374] # EGYPTIAN HIEROGLYPH V007B
-13375 ; [.4097.0020.0002.13375] # EGYPTIAN HIEROGLYPH V008
-13376 ; [.4098.0020.0002.13376] # EGYPTIAN HIEROGLYPH V009
-13377 ; [.4099.0020.0002.13377] # EGYPTIAN HIEROGLYPH V010
-13378 ; [.409A.0020.0002.13378] # EGYPTIAN HIEROGLYPH V011
-13379 ; [.409B.0020.0002.13379] # EGYPTIAN HIEROGLYPH V011A
-1337A ; [.409C.0020.0002.1337A] # EGYPTIAN HIEROGLYPH V011B
-1337B ; [.409D.0020.0002.1337B] # EGYPTIAN HIEROGLYPH V011C
-1337C ; [.409E.0020.0002.1337C] # EGYPTIAN HIEROGLYPH V012
-1337D ; [.409F.0020.0002.1337D] # EGYPTIAN HIEROGLYPH V012A
-1337E ; [.40A0.0020.0002.1337E] # EGYPTIAN HIEROGLYPH V012B
-1337F ; [.40A1.0020.0002.1337F] # EGYPTIAN HIEROGLYPH V013
-13380 ; [.40A2.0020.0002.13380] # EGYPTIAN HIEROGLYPH V014
-13381 ; [.40A3.0020.0002.13381] # EGYPTIAN HIEROGLYPH V015
-13382 ; [.40A4.0020.0002.13382] # EGYPTIAN HIEROGLYPH V016
-13383 ; [.40A5.0020.0002.13383] # EGYPTIAN HIEROGLYPH V017
-13384 ; [.40A6.0020.0002.13384] # EGYPTIAN HIEROGLYPH V018
-13385 ; [.40A7.0020.0002.13385] # EGYPTIAN HIEROGLYPH V019
-13386 ; [.40A8.0020.0002.13386] # EGYPTIAN HIEROGLYPH V020
-13387 ; [.40A9.0020.0002.13387] # EGYPTIAN HIEROGLYPH V020A
-13388 ; [.40AA.0020.0002.13388] # EGYPTIAN HIEROGLYPH V020B
-13389 ; [.40AB.0020.0002.13389] # EGYPTIAN HIEROGLYPH V020C
-1338A ; [.40AC.0020.0002.1338A] # EGYPTIAN HIEROGLYPH V020D
-1338B ; [.40AD.0020.0002.1338B] # EGYPTIAN HIEROGLYPH V020E
-1338C ; [.40AE.0020.0002.1338C] # EGYPTIAN HIEROGLYPH V020F
-1338D ; [.40AF.0020.0002.1338D] # EGYPTIAN HIEROGLYPH V020G
-1338E ; [.40B0.0020.0002.1338E] # EGYPTIAN HIEROGLYPH V020H
-1338F ; [.40B1.0020.0002.1338F] # EGYPTIAN HIEROGLYPH V020I
-13390 ; [.40B2.0020.0002.13390] # EGYPTIAN HIEROGLYPH V020J
-13391 ; [.40B3.0020.0002.13391] # EGYPTIAN HIEROGLYPH V020K
-13392 ; [.40B4.0020.0002.13392] # EGYPTIAN HIEROGLYPH V020L
-13393 ; [.40B5.0020.0002.13393] # EGYPTIAN HIEROGLYPH V021
-13394 ; [.40B6.0020.0002.13394] # EGYPTIAN HIEROGLYPH V022
-13395 ; [.40B7.0020.0002.13395] # EGYPTIAN HIEROGLYPH V023
-13396 ; [.40B8.0020.0002.13396] # EGYPTIAN HIEROGLYPH V023A
-13397 ; [.40B9.0020.0002.13397] # EGYPTIAN HIEROGLYPH V024
-13398 ; [.40BA.0020.0002.13398] # EGYPTIAN HIEROGLYPH V025
-13399 ; [.40BB.0020.0002.13399] # EGYPTIAN HIEROGLYPH V026
-1339A ; [.40BC.0020.0002.1339A] # EGYPTIAN HIEROGLYPH V027
-1339B ; [.40BD.0020.0002.1339B] # EGYPTIAN HIEROGLYPH V028
-1339C ; [.40BE.0020.0002.1339C] # EGYPTIAN HIEROGLYPH V028A
-1339D ; [.40BF.0020.0002.1339D] # EGYPTIAN HIEROGLYPH V029
-1339E ; [.40C0.0020.0002.1339E] # EGYPTIAN HIEROGLYPH V029A
-1339F ; [.40C1.0020.0002.1339F] # EGYPTIAN HIEROGLYPH V030
-133A0 ; [.40C2.0020.0002.133A0] # EGYPTIAN HIEROGLYPH V030A
-133A1 ; [.40C3.0020.0002.133A1] # EGYPTIAN HIEROGLYPH V031
-133A2 ; [.40C4.0020.0002.133A2] # EGYPTIAN HIEROGLYPH V031A
-133A3 ; [.40C5.0020.0002.133A3] # EGYPTIAN HIEROGLYPH V032
-133A4 ; [.40C6.0020.0002.133A4] # EGYPTIAN HIEROGLYPH V033
-133A5 ; [.40C7.0020.0002.133A5] # EGYPTIAN HIEROGLYPH V033A
-133A6 ; [.40C8.0020.0002.133A6] # EGYPTIAN HIEROGLYPH V034
-133A7 ; [.40C9.0020.0002.133A7] # EGYPTIAN HIEROGLYPH V035
-133A8 ; [.40CA.0020.0002.133A8] # EGYPTIAN HIEROGLYPH V036
-133A9 ; [.40CB.0020.0002.133A9] # EGYPTIAN HIEROGLYPH V037
-133AA ; [.40CC.0020.0002.133AA] # EGYPTIAN HIEROGLYPH V037A
-133AB ; [.40CD.0020.0002.133AB] # EGYPTIAN HIEROGLYPH V038
-133AC ; [.40CE.0020.0002.133AC] # EGYPTIAN HIEROGLYPH V039
-133AD ; [.40CF.0020.0002.133AD] # EGYPTIAN HIEROGLYPH V040
-133AE ; [.40D0.0020.0002.133AE] # EGYPTIAN HIEROGLYPH V040A
-133AF ; [.40D1.0020.0002.133AF] # EGYPTIAN HIEROGLYPH W001
-133B0 ; [.40D2.0020.0002.133B0] # EGYPTIAN HIEROGLYPH W002
-133B1 ; [.40D3.0020.0002.133B1] # EGYPTIAN HIEROGLYPH W003
-133B2 ; [.40D4.0020.0002.133B2] # EGYPTIAN HIEROGLYPH W003A
-133B3 ; [.40D5.0020.0002.133B3] # EGYPTIAN HIEROGLYPH W004
-133B4 ; [.40D6.0020.0002.133B4] # EGYPTIAN HIEROGLYPH W005
-133B5 ; [.40D7.0020.0002.133B5] # EGYPTIAN HIEROGLYPH W006
-133B6 ; [.40D8.0020.0002.133B6] # EGYPTIAN HIEROGLYPH W007
-133B7 ; [.40D9.0020.0002.133B7] # EGYPTIAN HIEROGLYPH W008
-133B8 ; [.40DA.0020.0002.133B8] # EGYPTIAN HIEROGLYPH W009
-133B9 ; [.40DB.0020.0002.133B9] # EGYPTIAN HIEROGLYPH W009A
-133BA ; [.40DC.0020.0002.133BA] # EGYPTIAN HIEROGLYPH W010
-133BB ; [.40DD.0020.0002.133BB] # EGYPTIAN HIEROGLYPH W010A
-133BC ; [.40DE.0020.0002.133BC] # EGYPTIAN HIEROGLYPH W011
-133BD ; [.40DF.0020.0002.133BD] # EGYPTIAN HIEROGLYPH W012
-133BE ; [.40E0.0020.0002.133BE] # EGYPTIAN HIEROGLYPH W013
-133BF ; [.40E1.0020.0002.133BF] # EGYPTIAN HIEROGLYPH W014
-133C0 ; [.40E2.0020.0002.133C0] # EGYPTIAN HIEROGLYPH W014A
-133C1 ; [.40E3.0020.0002.133C1] # EGYPTIAN HIEROGLYPH W015
-133C2 ; [.40E4.0020.0002.133C2] # EGYPTIAN HIEROGLYPH W016
-133C3 ; [.40E5.0020.0002.133C3] # EGYPTIAN HIEROGLYPH W017
-133C4 ; [.40E6.0020.0002.133C4] # EGYPTIAN HIEROGLYPH W017A
-133C5 ; [.40E7.0020.0002.133C5] # EGYPTIAN HIEROGLYPH W018
-133C6 ; [.40E8.0020.0002.133C6] # EGYPTIAN HIEROGLYPH W018A
-133C7 ; [.40E9.0020.0002.133C7] # EGYPTIAN HIEROGLYPH W019
-133C8 ; [.40EA.0020.0002.133C8] # EGYPTIAN HIEROGLYPH W020
-133C9 ; [.40EB.0020.0002.133C9] # EGYPTIAN HIEROGLYPH W021
-133CA ; [.40EC.0020.0002.133CA] # EGYPTIAN HIEROGLYPH W022
-133CB ; [.40ED.0020.0002.133CB] # EGYPTIAN HIEROGLYPH W023
-133CC ; [.40EE.0020.0002.133CC] # EGYPTIAN HIEROGLYPH W024
-133CD ; [.40EF.0020.0002.133CD] # EGYPTIAN HIEROGLYPH W024A
-133CE ; [.40F0.0020.0002.133CE] # EGYPTIAN HIEROGLYPH W025
-133CF ; [.40F1.0020.0002.133CF] # EGYPTIAN HIEROGLYPH X001
-133D0 ; [.40F2.0020.0002.133D0] # EGYPTIAN HIEROGLYPH X002
-133D1 ; [.40F3.0020.0002.133D1] # EGYPTIAN HIEROGLYPH X003
-133D2 ; [.40F4.0020.0002.133D2] # EGYPTIAN HIEROGLYPH X004
-133D3 ; [.40F5.0020.0002.133D3] # EGYPTIAN HIEROGLYPH X004A
-133D4 ; [.40F6.0020.0002.133D4] # EGYPTIAN HIEROGLYPH X004B
-133D5 ; [.40F7.0020.0002.133D5] # EGYPTIAN HIEROGLYPH X005
-133D6 ; [.40F8.0020.0002.133D6] # EGYPTIAN HIEROGLYPH X006
-133D7 ; [.40F9.0020.0002.133D7] # EGYPTIAN HIEROGLYPH X006A
-133D8 ; [.40FA.0020.0002.133D8] # EGYPTIAN HIEROGLYPH X007
-133D9 ; [.40FB.0020.0002.133D9] # EGYPTIAN HIEROGLYPH X008
-133DA ; [.40FC.0020.0002.133DA] # EGYPTIAN HIEROGLYPH X008A
-133DB ; [.40FD.0020.0002.133DB] # EGYPTIAN HIEROGLYPH Y001
-133DC ; [.40FE.0020.0002.133DC] # EGYPTIAN HIEROGLYPH Y001A
-133DD ; [.40FF.0020.0002.133DD] # EGYPTIAN HIEROGLYPH Y002
-133DE ; [.4100.0020.0002.133DE] # EGYPTIAN HIEROGLYPH Y003
-133DF ; [.4101.0020.0002.133DF] # EGYPTIAN HIEROGLYPH Y004
-133E0 ; [.4102.0020.0002.133E0] # EGYPTIAN HIEROGLYPH Y005
-133E1 ; [.4103.0020.0002.133E1] # EGYPTIAN HIEROGLYPH Y006
-133E2 ; [.4104.0020.0002.133E2] # EGYPTIAN HIEROGLYPH Y007
-133E3 ; [.4105.0020.0002.133E3] # EGYPTIAN HIEROGLYPH Y008
-133E4 ; [.4106.0020.0002.133E4] # EGYPTIAN HIEROGLYPH Z001
-133E5 ; [.4107.0020.0002.133E5] # EGYPTIAN HIEROGLYPH Z002
-133E6 ; [.4108.0020.0002.133E6] # EGYPTIAN HIEROGLYPH Z002A
-133E7 ; [.4109.0020.0002.133E7] # EGYPTIAN HIEROGLYPH Z002B
-133E8 ; [.410A.0020.0002.133E8] # EGYPTIAN HIEROGLYPH Z002C
-133E9 ; [.410B.0020.0002.133E9] # EGYPTIAN HIEROGLYPH Z002D
-133EA ; [.410C.0020.0002.133EA] # EGYPTIAN HIEROGLYPH Z003
-133EB ; [.410D.0020.0002.133EB] # EGYPTIAN HIEROGLYPH Z003A
-133EC ; [.410E.0020.0002.133EC] # EGYPTIAN HIEROGLYPH Z003B
-133ED ; [.410F.0020.0002.133ED] # EGYPTIAN HIEROGLYPH Z004
-133EE ; [.4110.0020.0002.133EE] # EGYPTIAN HIEROGLYPH Z004A
-133EF ; [.4111.0020.0002.133EF] # EGYPTIAN HIEROGLYPH Z005
-133F0 ; [.4112.0020.0002.133F0] # EGYPTIAN HIEROGLYPH Z005A
-133F1 ; [.4113.0020.0002.133F1] # EGYPTIAN HIEROGLYPH Z006
-133F2 ; [.4114.0020.0002.133F2] # EGYPTIAN HIEROGLYPH Z007
-133F3 ; [.4115.0020.0002.133F3] # EGYPTIAN HIEROGLYPH Z008
-133F4 ; [.4116.0020.0002.133F4] # EGYPTIAN HIEROGLYPH Z009
-133F5 ; [.4117.0020.0002.133F5] # EGYPTIAN HIEROGLYPH Z010
-133F6 ; [.4118.0020.0002.133F6] # EGYPTIAN HIEROGLYPH Z011
-133F7 ; [.4119.0020.0002.133F7] # EGYPTIAN HIEROGLYPH Z012
-133F8 ; [.411A.0020.0002.133F8] # EGYPTIAN HIEROGLYPH Z013
-133F9 ; [.411B.0020.0002.133F9] # EGYPTIAN HIEROGLYPH Z014
-133FA ; [.411C.0020.0002.133FA] # EGYPTIAN HIEROGLYPH Z015
-133FB ; [.411D.0020.0002.133FB] # EGYPTIAN HIEROGLYPH Z015A
-133FC ; [.411E.0020.0002.133FC] # EGYPTIAN HIEROGLYPH Z015B
-133FD ; [.411F.0020.0002.133FD] # EGYPTIAN HIEROGLYPH Z015C
-133FE ; [.4120.0020.0002.133FE] # EGYPTIAN HIEROGLYPH Z015D
-133FF ; [.4121.0020.0002.133FF] # EGYPTIAN HIEROGLYPH Z015E
-13400 ; [.4122.0020.0002.13400] # EGYPTIAN HIEROGLYPH Z015F
-13401 ; [.4123.0020.0002.13401] # EGYPTIAN HIEROGLYPH Z015G
-13402 ; [.4124.0020.0002.13402] # EGYPTIAN HIEROGLYPH Z015H
-13403 ; [.4125.0020.0002.13403] # EGYPTIAN HIEROGLYPH Z015I
-13404 ; [.4126.0020.0002.13404] # EGYPTIAN HIEROGLYPH Z016
-13405 ; [.4127.0020.0002.13405] # EGYPTIAN HIEROGLYPH Z016A
-13406 ; [.4128.0020.0002.13406] # EGYPTIAN HIEROGLYPH Z016B
-13407 ; [.4129.0020.0002.13407] # EGYPTIAN HIEROGLYPH Z016C
-13408 ; [.412A.0020.0002.13408] # EGYPTIAN HIEROGLYPH Z016D
-13409 ; [.412B.0020.0002.13409] # EGYPTIAN HIEROGLYPH Z016E
-1340A ; [.412C.0020.0002.1340A] # EGYPTIAN HIEROGLYPH Z016F
-1340B ; [.412D.0020.0002.1340B] # EGYPTIAN HIEROGLYPH Z016G
-1340C ; [.412E.0020.0002.1340C] # EGYPTIAN HIEROGLYPH Z016H
-1340D ; [.412F.0020.0002.1340D] # EGYPTIAN HIEROGLYPH AA001
-1340E ; [.4130.0020.0002.1340E] # EGYPTIAN HIEROGLYPH AA002
-1340F ; [.4131.0020.0002.1340F] # EGYPTIAN HIEROGLYPH AA003
-13410 ; [.4132.0020.0002.13410] # EGYPTIAN HIEROGLYPH AA004
-13411 ; [.4133.0020.0002.13411] # EGYPTIAN HIEROGLYPH AA005
-13412 ; [.4134.0020.0002.13412] # EGYPTIAN HIEROGLYPH AA006
-13413 ; [.4135.0020.0002.13413] # EGYPTIAN HIEROGLYPH AA007
-13414 ; [.4136.0020.0002.13414] # EGYPTIAN HIEROGLYPH AA007A
-13415 ; [.4137.0020.0002.13415] # EGYPTIAN HIEROGLYPH AA007B
-13416 ; [.4138.0020.0002.13416] # EGYPTIAN HIEROGLYPH AA008
-13417 ; [.4139.0020.0002.13417] # EGYPTIAN HIEROGLYPH AA009
-13418 ; [.413A.0020.0002.13418] # EGYPTIAN HIEROGLYPH AA010
-13419 ; [.413B.0020.0002.13419] # EGYPTIAN HIEROGLYPH AA011
-1341A ; [.413C.0020.0002.1341A] # EGYPTIAN HIEROGLYPH AA012
-1341B ; [.413D.0020.0002.1341B] # EGYPTIAN HIEROGLYPH AA013
-1341C ; [.413E.0020.0002.1341C] # EGYPTIAN HIEROGLYPH AA014
-1341D ; [.413F.0020.0002.1341D] # EGYPTIAN HIEROGLYPH AA015
-1341E ; [.4140.0020.0002.1341E] # EGYPTIAN HIEROGLYPH AA016
-1341F ; [.4141.0020.0002.1341F] # EGYPTIAN HIEROGLYPH AA017
-13420 ; [.4142.0020.0002.13420] # EGYPTIAN HIEROGLYPH AA018
-13421 ; [.4143.0020.0002.13421] # EGYPTIAN HIEROGLYPH AA019
-13422 ; [.4144.0020.0002.13422] # EGYPTIAN HIEROGLYPH AA020
-13423 ; [.4145.0020.0002.13423] # EGYPTIAN HIEROGLYPH AA021
-13424 ; [.4146.0020.0002.13424] # EGYPTIAN HIEROGLYPH AA022
-13425 ; [.4147.0020.0002.13425] # EGYPTIAN HIEROGLYPH AA023
-13426 ; [.4148.0020.0002.13426] # EGYPTIAN HIEROGLYPH AA024
-13427 ; [.4149.0020.0002.13427] # EGYPTIAN HIEROGLYPH AA025
-13428 ; [.414A.0020.0002.13428] # EGYPTIAN HIEROGLYPH AA026
-13429 ; [.414B.0020.0002.13429] # EGYPTIAN HIEROGLYPH AA027
-1342A ; [.414C.0020.0002.1342A] # EGYPTIAN HIEROGLYPH AA028
-1342B ; [.414D.0020.0002.1342B] # EGYPTIAN HIEROGLYPH AA029
-1342C ; [.414E.0020.0002.1342C] # EGYPTIAN HIEROGLYPH AA030
-1342D ; [.414F.0020.0002.1342D] # EGYPTIAN HIEROGLYPH AA031
-1342E ; [.4150.0020.0002.1342E] # EGYPTIAN HIEROGLYPH AA032
-2F00 ; [.FB40.0020.0004.4E00][.CE00.0000.0000.4E00] # KANGXI RADICAL ONE; QQK
-3220 ; [*030E.0020.0004.3220][.FB40.0020.0004.4E00][.CE00.0000.0000.4E00][*030F.0020.001F.3220] # PARENTHESIZED IDEOGRAPH ONE; QQKN
-3280 ; [.FB40.0020.0006.4E00][.CE00.0000.0000.4E00] # CIRCLED IDEOGRAPH ONE; QQK
-3192 ; [.FB40.0020.0014.4E00][.CE00.0000.0000.4E00] # IDEOGRAPHIC ANNOTATION ONE MARK; QQK
-1F229 ; [.FB40.0020.001C.4E00][.CE00.0000.0000.4E00] # SQUARED CJK UNIFIED IDEOGRAPH-4E00; QQK
-319C ; [.FB40.0020.0014.4E01][.CE01.0000.0000.4E01] # IDEOGRAPHIC ANNOTATION FOURTH MARK; QQK
-3226 ; [*030E.0020.0004.3226][.FB40.0020.0004.4E03][.CE03.0000.0000.4E03][*030F.0020.001F.3226] # PARENTHESIZED IDEOGRAPH SEVEN; QQKN
-3286 ; [.FB40.0020.0006.4E03][.CE03.0000.0000.4E03] # CIRCLED IDEOGRAPH SEVEN; QQK
-3222 ; [*030E.0020.0004.3222][.FB40.0020.0004.4E09][.CE09.0000.0000.4E09][*030F.0020.001F.3222] # PARENTHESIZED IDEOGRAPH THREE; QQKN
-1F241 ; [*0356.0020.0004.1F241][.FB40.0020.0004.4E09][.CE09.0000.0000.4E09][*0357.0020.001F.1F241] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09; QQKN
-3282 ; [.FB40.0020.0006.4E09][.CE09.0000.0000.4E09] # CIRCLED IDEOGRAPH THREE; QQK
-3194 ; [.FB40.0020.0014.4E09][.CE09.0000.0000.4E09] # IDEOGRAPHIC ANNOTATION THREE MARK; QQK
-1F22A ; [.FB40.0020.001C.4E09][.CE09.0000.0000.4E09] # SQUARED CJK UNIFIED IDEOGRAPH-4E09; QQK
-32A4 ; [.FB40.0020.0006.4E0A][.CE0A.0000.0000.4E0A] # CIRCLED IDEOGRAPH HIGH; QQK
-3196 ; [.FB40.0020.0014.4E0A][.CE0A.0000.0000.4E0A] # IDEOGRAPHIC ANNOTATION TOP MARK; QQK
-32A6 ; [.FB40.0020.0006.4E0B][.CE0B.0000.0000.4E0B] # CIRCLED IDEOGRAPH LOW; QQK
-3198 ; [.FB40.0020.0014.4E0B][.CE0B.0000.0000.4E0B] # IDEOGRAPHIC ANNOTATION BOTTOM MARK; QQK
-F967 ; [.FB40.0020.0002.4E0D][.CE0D.0000.0000.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967; QQC
-319B ; [.FB40.0020.0014.4E19][.CE19.0000.0000.4E19] # IDEOGRAPHIC ANNOTATION THIRD MARK; QQK
-FA70 ; [.FB40.0020.0002.4E26][.CE26.0000.0000.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70; QQC
-2F01 ; [.FB40.0020.0004.4E28][.CE28.0000.0000.4E28] # KANGXI RADICAL LINE; QQK
-2EA6 ; [.FB40.0020.0004.4E2C][.CE2C.0000.0000.4E2C] # CJK RADICAL SIMPLIFIED HALF TREE TRUNK; QQK
-32A5 ; [.FB40.0020.0006.4E2D][.CE2D.0000.0000.4E2D] # CIRCLED IDEOGRAPH CENTRE; QQK
-3197 ; [.FB40.0020.0014.4E2D][.CE2D.0000.0000.4E2D] # IDEOGRAPHIC ANNOTATION MIDDLE MARK; QQK
-1F22D ; [.FB40.0020.001C.4E2D][.CE2D.0000.0000.4E2D] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D; QQK
-F905 ; [.FB40.0020.0002.4E32][.CE32.0000.0000.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905; QQC
-2F02 ; [.FB40.0020.0004.4E36][.CE36.0000.0000.4E36] # KANGXI RADICAL DOT; QQK
-2E80 ; [.FB40.0020.0004.4E36][.CE36.0000.0000.4E36][.0000.015F.001F.2E80] # CJK RADICAL REPEAT; QQKN
-2F801 ; [.FB40.0020.0002.4E38][.CE38.0000.0000.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801; QQC
-F95E ; [.FB40.0020.0002.4E39][.CE39.0000.0000.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E; QQC
-2F800 ; [.FB40.0020.0002.4E3D][.CE3D.0000.0000.4E3D] # CJK COMPATIBILITY IDEOGRAPH-2F800; QQC
-2F03 ; [.FB40.0020.0004.4E3F][.CE3F.0000.0000.4E3F] # KANGXI RADICAL SLASH; QQK
-2F802 ; [.FB40.0020.0002.4E41][.CE41.0000.0000.4E41] # CJK COMPATIBILITY IDEOGRAPH-2F802; QQC
-2F04 ; [.FB40.0020.0004.4E59][.CE59.0000.0000.4E59] # KANGXI RADICAL SECOND; QQK
-319A ; [.FB40.0020.0014.4E59][.CE59.0000.0000.4E59] # IDEOGRAPHIC ANNOTATION SECOND MARK; QQK
-2E84 ; [.FB40.0020.0004.4E59][.CE59.0000.0000.4E59][.0000.015F.001F.2E84] # CJK RADICAL SECOND THREE; QQKN
-2E83 ; [.FB40.0020.0004.4E5A][.CE5A.0000.0000.4E5A] # CJK RADICAL SECOND TWO; QQK
-2E82 ; [.FB40.0020.0004.4E5B][.CE5B.0000.0000.4E5B] # CJK RADICAL SECOND ONE; QQK
-3228 ; [*030E.0020.0004.3228][.FB40.0020.0004.4E5D][.CE5D.0000.0000.4E5D][*030F.0020.001F.3228] # PARENTHESIZED IDEOGRAPH NINE; QQKN
-3288 ; [.FB40.0020.0006.4E5D][.CE5D.0000.0000.4E5D] # CIRCLED IDEOGRAPH NINE; QQK
-F91B ; [.FB40.0020.0002.4E82][.CE82.0000.0000.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B; QQC
-2F05 ; [.FB40.0020.0004.4E85][.CE85.0000.0000.4E85] # KANGXI RADICAL HOOK; QQK
-F9BA ; [.FB40.0020.0002.4E86][.CE86.0000.0000.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA; QQC
-2F06 ; [.FB40.0020.0004.4E8C][.CE8C.0000.0000.4E8C] # KANGXI RADICAL TWO; QQK
-3221 ; [*030E.0020.0004.3221][.FB40.0020.0004.4E8C][.CE8C.0000.0000.4E8C][*030F.0020.001F.3221] # PARENTHESIZED IDEOGRAPH TWO; QQKN
-1F242 ; [*0356.0020.0004.1F242][.FB40.0020.0004.4E8C][.CE8C.0000.0000.4E8C][*0357.0020.001F.1F242] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C; QQKN
-3281 ; [.FB40.0020.0006.4E8C][.CE8C.0000.0000.4E8C] # CIRCLED IDEOGRAPH TWO; QQK
-3193 ; [.FB40.0020.0014.4E8C][.CE8C.0000.0000.4E8C] # IDEOGRAPHIC ANNOTATION TWO MARK; QQK
-1F214 ; [.FB40.0020.001C.4E8C][.CE8C.0000.0000.4E8C] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C; QQK
-3224 ; [*030E.0020.0004.3224][.FB40.0020.0004.4E94][.CE94.0000.0000.4E94][*030F.0020.001F.3224] # PARENTHESIZED IDEOGRAPH FIVE; QQKN
-3284 ; [.FB40.0020.0006.4E94][.CE94.0000.0000.4E94] # CIRCLED IDEOGRAPH FIVE; QQK
-2F07 ; [.FB40.0020.0004.4EA0][.CEA0.0000.0000.4EA0] # KANGXI RADICAL LID; QQK
-1F218 ; [.FB40.0020.001C.4EA4][.CEA4.0000.0000.4EA4] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4; QQK
-F977 ; [.FB40.0020.0002.4EAE][.CEAE.0000.0000.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977; QQC
-2F08 ; [.FB40.0020.0004.4EBA][.CEBA.0000.0000.4EBA] # KANGXI RADICAL MAN; QQK
-319F ; [.FB40.0020.0014.4EBA][.CEBA.0000.0000.4EBA] # IDEOGRAPHIC ANNOTATION MAN MARK; QQK
-2E85 ; [.FB40.0020.0004.4EBB][.CEBB.0000.0000.4EBB] # CJK RADICAL PERSON; QQK
-F9FD ; [.FB40.0020.0002.4EC0][.CEC0.0000.0000.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD; QQC
-2F819 ; [.FB40.0020.0002.4ECC][.CECC.0000.0000.4ECC] # CJK COMPATIBILITY IDEOGRAPH-2F819; QQC
-3239 ; [*030E.0020.0004.3239][.FB40.0020.0004.4EE3][.CEE3.0000.0000.4EE3][*030F.0020.001F.3239] # PARENTHESIZED IDEOGRAPH REPRESENT; QQKN
-F9A8 ; [.FB40.0020.0002.4EE4][.CEE4.0000.0000.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8; QQC
-323D ; [*030E.0020.0004.323D][.FB40.0020.0004.4F01][.CF01.0000.0000.4F01][*030F.0020.001F.323D] # PARENTHESIZED IDEOGRAPH ENTERPRISE; QQKN
-32AD ; [.FB40.0020.0006.4F01][.CF01.0000.0000.4F01] # CIRCLED IDEOGRAPH ENTERPRISE; QQK
-3241 ; [*030E.0020.0004.3241][.FB40.0020.0004.4F11][.CF11.0000.0000.4F11][*030F.0020.001F.3241] # PARENTHESIZED IDEOGRAPH REST; QQKN
-32A1 ; [.FB40.0020.0006.4F11][.CF11.0000.0000.4F11] # CIRCLED IDEOGRAPH REST; QQK
-2F804 ; [.FB40.0020.0002.4F60][.CF60.0000.0000.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804; QQC
-FA73 ; [.FB40.0020.0002.4F80][.CF80.0000.0000.4F80] # CJK COMPATIBILITY IDEOGRAPH-FA73; QQC
-F92D ; [.FB40.0020.0002.4F86][.CF86.0000.0000.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D; QQC
-F9B5 ; [.FB40.0020.0002.4F8B][.CF8B.0000.0000.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5; QQC
-FA30 ; [.FB40.0020.0002.4FAE][.CFAE.0000.0000.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30; QQC
-2F805 ; [.FB40.0020.0002.4FAE][.CFAE.0000.0000.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805; QQC
-2F806 ; [.FB40.0020.0002.4FBB][.CFBB.0000.0000.4FBB] # CJK COMPATIBILITY IDEOGRAPH-2F806; QQC
-F965 ; [.FB40.0020.0002.4FBF][.CFBF.0000.0000.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965; QQC
-2F807 ; [.FB40.0020.0002.5002][.D002.0000.0000.5002] # CJK COMPATIBILITY IDEOGRAPH-2F807; QQC
-F9D4 ; [.FB40.0020.0002.502B][.D02B.0000.0000.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4; QQC
-2F808 ; [.FB40.0020.0002.507A][.D07A.0000.0000.507A] # CJK COMPATIBILITY IDEOGRAPH-2F808; QQC
-2F809 ; [.FB40.0020.0002.5099][.D099.0000.0000.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809; QQC
-2F80B ; [.FB40.0020.0002.50CF][.D0CF.0000.0000.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B; QQC
-F9BB ; [.FB40.0020.0002.50DA][.D0DA.0000.0000.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB; QQC
-FA31 ; [.FB40.0020.0002.50E7][.D0E7.0000.0000.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31; QQC
-2F80A ; [.FB40.0020.0002.50E7][.D0E7.0000.0000.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A; QQC
-329D ; [.FB40.0020.0006.512A][.D12A.0000.0000.512A] # CIRCLED IDEOGRAPH EXCELLENT; QQK
-2F09 ; [.FB40.0020.0004.513F][.D13F.0000.0000.513F] # KANGXI RADICAL LEGS; QQK
-FA0C ; [.FB40.0020.0002.5140][.D140.0000.0000.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C; QQC
-FA74 ; [.FB40.0020.0002.5145][.D145.0000.0000.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74; QQC
-FA32 ; [.FB40.0020.0002.514D][.D14D.0000.0000.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32; QQC
-2F80E ; [.FB40.0020.0002.514D][.D14D.0000.0000.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E; QQC
-2F80F ; [.FB40.0020.0002.5154][.D154.0000.0000.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F; QQC
-2F810 ; [.FB40.0020.0002.5164][.D164.0000.0000.5164] # CJK COMPATIBILITY IDEOGRAPH-2F810; QQC
-2F0A ; [.FB40.0020.0004.5165][.D165.0000.0000.5165] # KANGXI RADICAL ENTER; QQK
-2F814 ; [.FB40.0020.0002.5167][.D167.0000.0000.5167] # CJK COMPATIBILITY IDEOGRAPH-2F814; QQC
-FA72 ; [.FB40.0020.0002.5168][.D168.0000.0000.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72; QQC
-F978 ; [.FB40.0020.0002.5169][.D169.0000.0000.5169] # CJK COMPATIBILITY IDEOGRAPH-F978; QQC
-2F0B ; [.FB40.0020.0004.516B][.D16B.0000.0000.516B] # KANGXI RADICAL EIGHT; QQK
-3227 ; [*030E.0020.0004.3227][.FB40.0020.0004.516B][.D16B.0000.0000.516B][*030F.0020.001F.3227] # PARENTHESIZED IDEOGRAPH EIGHT; QQKN
-3287 ; [.FB40.0020.0006.516B][.D16B.0000.0000.516B] # CIRCLED IDEOGRAPH EIGHT; QQK
-F9D1 ; [.FB40.0020.0002.516D][.D16D.0000.0000.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1; QQC
-3225 ; [*030E.0020.0004.3225][.FB40.0020.0004.516D][.D16D.0000.0000.516D][*030F.0020.001F.3225] # PARENTHESIZED IDEOGRAPH SIX; QQKN
-3285 ; [.FB40.0020.0006.516D][.D16D.0000.0000.516D] # CIRCLED IDEOGRAPH SIX; QQK
-2F811 ; [.FB40.0020.0002.5177][.D177.0000.0000.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811; QQC
-FA75 ; [.FB40.0020.0002.5180][.D180.0000.0000.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75; QQC
-2F0C ; [.FB40.0020.0004.5182][.D182.0000.0000.5182] # KANGXI RADICAL DOWN BOX; QQK
-2E86 ; [.FB40.0020.0004.5182][.D182.0000.0000.5182][.0000.015F.001F.2E86] # CJK RADICAL BOX; QQKN
-2F815 ; [.FB40.0020.0002.518D][.D18D.0000.0000.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815; QQC
-1F21E ; [.FB40.0020.001C.518D][.D18D.0000.0000.518D] # SQUARED CJK UNIFIED IDEOGRAPH-518D; QQK
-2F8D2 ; [.FB40.0020.0002.5192][.D192.0000.0000.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2; QQC
-2F8D3 ; [.FB40.0020.0002.5195][.D195.0000.0000.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3; QQC
-2F0D ; [.FB40.0020.0004.5196][.D196.0000.0000.5196] # KANGXI RADICAL COVER; QQK
-2F817 ; [.FB40.0020.0002.5197][.D197.0000.0000.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817; QQC
-32A2 ; [.FB40.0020.0006.5199][.D199.0000.0000.5199] # CIRCLED IDEOGRAPH COPY; QQK
-2F818 ; [.FB40.0020.0002.51A4][.D1A4.0000.0000.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818; QQC
-2F0E ; [.FB40.0020.0004.51AB][.D1AB.0000.0000.51AB] # KANGXI RADICAL ICE; QQK
-2F81A ; [.FB40.0020.0002.51AC][.D1AC.0000.0000.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A; QQC
-FA71 ; [.FB40.0020.0002.51B5][.D1B5.0000.0000.51B5] # CJK COMPATIBILITY IDEOGRAPH-FA71; QQC
-2F81B ; [.FB40.0020.0002.51B5][.D1B5.0000.0000.51B5] # CJK COMPATIBILITY IDEOGRAPH-2F81B; QQC
-F92E ; [.FB40.0020.0002.51B7][.D1B7.0000.0000.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E; QQC
-F979 ; [.FB40.0020.0002.51C9][.D1C9.0000.0000.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979; QQC
-F955 ; [.FB40.0020.0002.51CC][.D1CC.0000.0000.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955; QQC
-F954 ; [.FB40.0020.0002.51DC][.D1DC.0000.0000.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954; QQC
-FA15 ; [.FB40.0020.0002.51DE][.D1DE.0000.0000.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15; QQC
-2F0F ; [.FB40.0020.0004.51E0][.D1E0.0000.0000.51E0] # KANGXI RADICAL TABLE; QQK
-2E87 ; [.FB40.0020.0004.51E0][.D1E0.0000.0000.51E0][.0000.015F.001F.2E87] # CJK RADICAL TABLE; QQKN
-2F81D ; [.FB40.0020.0002.51F5][.D1F5.0000.0000.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D; QQC
-2F10 ; [.FB40.0020.0004.51F5][.D1F5.0000.0000.51F5] # KANGXI RADICAL OPEN BOX; QQK
-2F11 ; [.FB40.0020.0004.5200][.D200.0000.0000.5200] # KANGXI RADICAL KNIFE; QQK
-2E88 ; [.FB40.0020.0004.5200][.D200.0000.0000.5200][.0000.015F.001F.2E88] # CJK RADICAL KNIFE ONE; QQKN
-2E89 ; [.FB40.0020.0004.5202][.D202.0000.0000.5202] # CJK RADICAL KNIFE TWO; QQK
-2F81E ; [.FB40.0020.0002.5203][.D203.0000.0000.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E; QQC
-FA00 ; [.FB40.0020.0002.5207][.D207.0000.0000.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00; QQC
-2F850 ; [.FB40.0020.0002.5207][.D207.0000.0000.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850; QQC
-F99C ; [.FB40.0020.0002.5217][.D217.0000.0000.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C; QQC
-1F220 ; [.FB40.0020.001C.521D][.D21D.0000.0000.521D] # SQUARED CJK UNIFIED IDEOGRAPH-521D; QQK
-F9DD ; [.FB40.0020.0002.5229][.D229.0000.0000.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD; QQC
-F9FF ; [.FB40.0020.0002.523A][.D23A.0000.0000.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF; QQC
-2F820 ; [.FB40.0020.0002.523B][.D23B.0000.0000.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820; QQC
-2F821 ; [.FB40.0020.0002.5246][.D246.0000.0000.5246] # CJK COMPATIBILITY IDEOGRAPH-2F821; QQC
-1F21C ; [.FB40.0020.001C.524D][.D24D.0000.0000.524D] # SQUARED CJK UNIFIED IDEOGRAPH-524D; QQK
-2F822 ; [.FB40.0020.0002.5272][.D272.0000.0000.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822; QQC
-1F239 ; [.FB40.0020.001C.5272][.D272.0000.0000.5272] # SQUARED CJK UNIFIED IDEOGRAPH-5272; QQK
-2F823 ; [.FB40.0020.0002.5277][.D277.0000.0000.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823; QQC
-F9C7 ; [.FB40.0020.0002.5289][.D289.0000.0000.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7; QQC
-F98A ; [.FB40.0020.0002.529B][.D29B.0000.0000.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A; QQC
-2F12 ; [.FB40.0020.0004.529B][.D29B.0000.0000.529B] # KANGXI RADICAL POWER; QQK
-F99D ; [.FB40.0020.0002.52A3][.D2A3.0000.0000.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D; QQC
-2F992 ; [.FB40.0020.0002.52B3][.D2B3.0000.0000.52B3] # CJK COMPATIBILITY IDEOGRAPH-2F992; QQC
-3238 ; [*030E.0020.0004.3238][.FB40.0020.0004.52B4][.D2B4.0000.0000.52B4][*030F.0020.001F.3238] # PARENTHESIZED IDEOGRAPH LABOR; QQKN
-3298 ; [.FB40.0020.0006.52B4][.D2B4.0000.0000.52B4] # CIRCLED IDEOGRAPH LABOR; QQK
-FA76 ; [.FB40.0020.0002.52C7][.D2C7.0000.0000.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76; QQC
-2F825 ; [.FB40.0020.0002.52C7][.D2C7.0000.0000.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825; QQC
-FA33 ; [.FB40.0020.0002.52C9][.D2C9.0000.0000.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33; QQC
-2F826 ; [.FB40.0020.0002.52C9][.D2C9.0000.0000.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826; QQC
-F952 ; [.FB40.0020.0002.52D2][.D2D2.0000.0000.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952; QQC
-1F247 ; [*0356.0020.0004.1F247][.FB40.0020.0004.52DD][.D2DD.0000.0000.52DD][*0357.0020.001F.1F247] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD; QQKN
-F92F ; [.FB40.0020.0002.52DE][.D2DE.0000.0000.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F; QQC
-FA34 ; [.FB40.0020.0002.52E4][.D2E4.0000.0000.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34; QQC
-2F827 ; [.FB40.0020.0002.52E4][.D2E4.0000.0000.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827; QQC
-F97F ; [.FB40.0020.0002.52F5][.D2F5.0000.0000.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F; QQC
-2F13 ; [.FB40.0020.0004.52F9][.D2F9.0000.0000.52F9] # KANGXI RADICAL WRAP; QQK
-FA77 ; [.FB40.0020.0002.52FA][.D2FA.0000.0000.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77; QQC
-2F828 ; [.FB40.0020.0002.52FA][.D2FA.0000.0000.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828; QQC
-2F829 ; [.FB40.0020.0002.5305][.D305.0000.0000.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829; QQC
-2F82A ; [.FB40.0020.0002.5306][.D306.0000.0000.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A; QQC
-2F14 ; [.FB40.0020.0004.5315][.D315.0000.0000.5315] # KANGXI RADICAL SPOON; QQK
-F963 ; [.FB40.0020.0002.5317][.D317.0000.0000.5317] # CJK COMPATIBILITY IDEOGRAPH-F963; QQC
-2F82B ; [.FB40.0020.0002.5317][.D317.0000.0000.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B; QQC
-2F15 ; [.FB40.0020.0004.531A][.D31A.0000.0000.531A] # KANGXI RADICAL RIGHT OPEN BOX; QQK
-2F16 ; [.FB40.0020.0004.5338][.D338.0000.0000.5338] # KANGXI RADICAL HIDING ENCLOSURE; QQK
-32A9 ; [.FB40.0020.0006.533B][.D33B.0000.0000.533B] # CIRCLED IDEOGRAPH MEDICINE; QQK
-F9EB ; [.FB40.0020.0002.533F][.D33F.0000.0000.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB; QQC
-2F17 ; [.FB40.0020.0004.5341][.D341.0000.0000.5341] # KANGXI RADICAL TEN; QQK
-3038 ; [.FB40.0020.0004.5341][.D341.0000.0000.5341] # HANGZHOU NUMERAL TEN; QQK
-3229 ; [*030E.0020.0004.3229][.FB40.0020.0004.5341][.D341.0000.0000.5341][*030F.0020.001F.3229] # PARENTHESIZED IDEOGRAPH TEN; QQKN
-3289 ; [.FB40.0020.0006.5341][.D341.0000.0000.5341] # CIRCLED IDEOGRAPH TEN; QQK
-3039 ; [.FB40.0020.0004.5344][.D344.0000.0000.5344] # HANGZHOU NUMERAL TWENTY; QQK
-303A ; [.FB40.0020.0004.5345][.D345.0000.0000.5345] # HANGZHOU NUMERAL THIRTY; QQK
-2F82C ; [.FB40.0020.0002.5349][.D349.0000.0000.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C; QQC
-FA35 ; [.FB40.0020.0002.5351][.D351.0000.0000.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35; QQC
-2F82D ; [.FB40.0020.0002.5351][.D351.0000.0000.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D; QQC
-323F ; [*030E.0020.0004.323F][.FB40.0020.0004.5354][.D354.0000.0000.5354][*030F.0020.001F.323F] # PARENTHESIZED IDEOGRAPH ALLIANCE; QQKN
-32AF ; [.FB40.0020.0006.5354][.D354.0000.0000.5354] # CIRCLED IDEOGRAPH ALLIANCE; QQK
-2F82E ; [.FB40.0020.0002.535A][.D35A.0000.0000.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E; QQC
-2F18 ; [.FB40.0020.0004.535C][.D35C.0000.0000.535C] # KANGXI RADICAL DIVINATION; QQK
-2E8A ; [.FB40.0020.0004.535C][.D35C.0000.0000.535C][.0000.015F.001F.2E8A] # CJK RADICAL DIVINATION; QQKN
-2F19 ; [.FB40.0020.0004.5369][.D369.0000.0000.5369] # KANGXI RADICAL SEAL; QQK
-2E8B ; [.FB40.0020.0004.5369][.D369.0000.0000.5369][.0000.015F.001F.2E8B] # CJK RADICAL SEAL; QQKN
-329E ; [.FB40.0020.0006.5370][.D370.0000.0000.5370] # CIRCLED IDEOGRAPH PRINT; QQK
-2F82F ; [.FB40.0020.0002.5373][.D373.0000.0000.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F; QQC
-F91C ; [.FB40.0020.0002.5375][.D375.0000.0000.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C; QQC
-2F830 ; [.FB40.0020.0002.537D][.D37D.0000.0000.537D] # CJK COMPATIBILITY IDEOGRAPH-2F830; QQC
-2F831 ; [.FB40.0020.0002.537F][.D37F.0000.0000.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831; QQC
-2F832 ; [.FB40.0020.0002.537F][.D37F.0000.0000.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832; QQC
-2F833 ; [.FB40.0020.0002.537F][.D37F.0000.0000.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833; QQC
-2F1A ; [.FB40.0020.0004.5382][.D382.0000.0000.5382] # KANGXI RADICAL CLIFF; QQK
-2E81 ; [.FB40.0020.0004.5382][.D382.0000.0000.5382][.0000.015F.001F.2E81] # CJK RADICAL CLIFF; QQKN
-2F1B ; [.FB40.0020.0004.53B6][.D3B6.0000.0000.53B6] # KANGXI RADICAL PRIVATE; QQK
-F96B ; [.FB40.0020.0002.53C3][.D3C3.0000.0000.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B; QQC
-2F1C ; [.FB40.0020.0004.53C8][.D3C8.0000.0000.53C8] # KANGXI RADICAL AGAIN; QQK
-2F836 ; [.FB40.0020.0002.53CA][.D3CA.0000.0000.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836; QQC
-1F212 ; [.FB40.0020.001C.53CC][.D3CC.0000.0000.53CC] # SQUARED CJK UNIFIED IDEOGRAPH-53CC; QQK
-2F837 ; [.FB40.0020.0002.53DF][.D3DF.0000.0000.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837; QQC
-2F1D ; [.FB40.0020.0004.53E3][.D3E3.0000.0000.53E3] # KANGXI RADICAL MOUTH; QQK
-F906 ; [.FB40.0020.0002.53E5][.D3E5.0000.0000.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906; QQC
-2F839 ; [.FB40.0020.0002.53EB][.D3EB.0000.0000.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839; QQC
-1F251 ; [.FB40.0020.0006.53EF][.D3EF.0000.0000.53EF] # CIRCLED IDEOGRAPH ACCEPT; QQK
-2F83A ; [.FB40.0020.0002.53F1][.D3F1.0000.0000.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A; QQC
-32A8 ; [.FB40.0020.0006.53F3][.D3F3.0000.0000.53F3] # CIRCLED IDEOGRAPH RIGHT; QQK
-1F22E ; [.FB40.0020.001C.53F3][.D3F3.0000.0000.53F3] # SQUARED CJK UNIFIED IDEOGRAPH-53F3; QQK
-2F83B ; [.FB40.0020.0002.5406][.D406.0000.0000.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B; QQC
-1F234 ; [.FB40.0020.001C.5408][.D408.0000.0000.5408] # SQUARED CJK UNIFIED IDEOGRAPH-5408; QQK
-3234 ; [*030E.0020.0004.3234][.FB40.0020.0004.540D][.D40D.0000.0000.540D][*030F.0020.001F.3234] # PARENTHESIZED IDEOGRAPH NAME; QQKN
-3294 ; [.FB40.0020.0006.540D][.D40D.0000.0000.540D] # CIRCLED IDEOGRAPH NAME; QQK
-F9DE ; [.FB40.0020.0002.540F][.D40F.0000.0000.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE; QQC
-F9ED ; [.FB40.0020.0002.541D][.D41D.0000.0000.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED; QQC
-2F83D ; [.FB40.0020.0002.5438][.D438.0000.0000.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D; QQC
-1F225 ; [.FB40.0020.001C.5439][.D439.0000.0000.5439] # SQUARED CJK UNIFIED IDEOGRAPH-5439; QQK
-F980 ; [.FB40.0020.0002.5442][.D442.0000.0000.5442] # CJK COMPATIBILITY IDEOGRAPH-F980; QQC
-2F83E ; [.FB40.0020.0002.5448][.D448.0000.0000.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E; QQC
-2F83F ; [.FB40.0020.0002.5468][.D468.0000.0000.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F; QQC
-323A ; [*030E.0020.0004.323A][.FB40.0020.0004.547C][.D47C.0000.0000.547C][*030F.0020.001F.323A] # PARENTHESIZED IDEOGRAPH CALL; QQKN
-2F83C ; [.FB40.0020.0002.549E][.D49E.0000.0000.549E] # CJK COMPATIBILITY IDEOGRAPH-2F83C; QQC
-2F840 ; [.FB40.0020.0002.54A2][.D4A2.0000.0000.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840; QQC
-F99E ; [.FB40.0020.0002.54BD][.D4BD.0000.0000.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E; QQC
-2F841 ; [.FB40.0020.0002.54F6][.D4F6.0000.0000.54F6] # CJK COMPATIBILITY IDEOGRAPH-2F841; QQC
-2F842 ; [.FB40.0020.0002.5510][.D510.0000.0000.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842; QQC
-3244 ; [.FB40.0020.0006.554F][.D54F.0000.0000.554F] # CIRCLED IDEOGRAPH QUESTION; QQK
-2F843 ; [.FB40.0020.0002.5553][.D553.0000.0000.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843; QQC
-FA79 ; [.FB40.0020.0002.5555][.D555.0000.0000.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79; QQC
-2F844 ; [.FB40.0020.0002.5563][.D563.0000.0000.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844; QQC
-2F845 ; [.FB40.0020.0002.5584][.D584.0000.0000.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845; QQC
-2F846 ; [.FB40.0020.0002.5584][.D584.0000.0000.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846; QQC
-F90B ; [.FB40.0020.0002.5587][.D587.0000.0000.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B; QQC
-FA7A ; [.FB40.0020.0002.5599][.D599.0000.0000.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A; QQC
-2F847 ; [.FB40.0020.0002.5599][.D599.0000.0000.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847; QQC
-FA36 ; [.FB40.0020.0002.559D][.D59D.0000.0000.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36; QQC
-FA78 ; [.FB40.0020.0002.559D][.D59D.0000.0000.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78; QQC
-2F848 ; [.FB40.0020.0002.55AB][.D5AB.0000.0000.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848; QQC
-2F849 ; [.FB40.0020.0002.55B3][.D5B3.0000.0000.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849; QQC
-1F23A ; [.FB40.0020.001C.55B6][.D5B6.0000.0000.55B6] # SQUARED CJK UNIFIED IDEOGRAPH-55B6; QQK
-FA0D ; [.FB40.0020.0002.55C0][.D5C0.0000.0000.55C0] # CJK COMPATIBILITY IDEOGRAPH-FA0D; QQC
-2F84A ; [.FB40.0020.0002.55C2][.D5C2.0000.0000.55C2] # CJK COMPATIBILITY IDEOGRAPH-2F84A; QQC
-FA7B ; [.FB40.0020.0002.55E2][.D5E2.0000.0000.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B; QQC
-FA37 ; [.FB40.0020.0002.5606][.D606.0000.0000.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37; QQC
-2F84C ; [.FB40.0020.0002.5606][.D606.0000.0000.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C; QQC
-2F84E ; [.FB40.0020.0002.5651][.D651.0000.0000.5651] # CJK COMPATIBILITY IDEOGRAPH-2F84E; QQC
-FA38 ; [.FB40.0020.0002.5668][.D668.0000.0000.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38; QQC
-2F84F ; [.FB40.0020.0002.5674][.D674.0000.0000.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F; QQC
-2F1E ; [.FB40.0020.0004.56D7][.D6D7.0000.0000.56D7] # KANGXI RADICAL ENCLOSURE; QQK
-3223 ; [*030E.0020.0004.3223][.FB40.0020.0004.56DB][.D6DB.0000.0000.56DB][*030F.0020.001F.3223] # PARENTHESIZED IDEOGRAPH FOUR; QQKN
-3283 ; [.FB40.0020.0006.56DB][.D6DB.0000.0000.56DB] # CIRCLED IDEOGRAPH FOUR; QQK
-3195 ; [.FB40.0020.0014.56DB][.D6DB.0000.0000.56DB] # IDEOGRAPHIC ANNOTATION FOUR MARK; QQK
-F9A9 ; [.FB40.0020.0002.56F9][.D6F9.0000.0000.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9; QQC
-2F84B ; [.FB40.0020.0002.5716][.D716.0000.0000.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B; QQC
-2F84D ; [.FB40.0020.0002.5717][.D717.0000.0000.5717] # CJK COMPATIBILITY IDEOGRAPH-2F84D; QQC
-2F1F ; [.FB40.0020.0004.571F][.D71F.0000.0000.571F] # KANGXI RADICAL EARTH; QQK
-322F ; [*030E.0020.0004.322F][.FB40.0020.0004.571F][.D71F.0000.0000.571F][*030F.0020.001F.322F] # PARENTHESIZED IDEOGRAPH EARTH; QQKN
-328F ; [.FB40.0020.0006.571F][.D71F.0000.0000.571F] # CIRCLED IDEOGRAPH EARTH; QQK
-319E ; [.FB40.0020.0014.5730][.D730.0000.0000.5730] # IDEOGRAPHIC ANNOTATION EARTH MARK; QQK
-2F855 ; [.FB40.0020.0002.578B][.D78B.0000.0000.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855; QQC
-2F852 ; [.FB40.0020.0002.57CE][.D7CE.0000.0000.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852; QQC
-2F853 ; [.FB40.0020.0002.57F4][.D7F4.0000.0000.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853; QQC
-2F854 ; [.FB40.0020.0002.580D][.D80D.0000.0000.580D] # CJK COMPATIBILITY IDEOGRAPH-2F854; QQC
-2F857 ; [.FB40.0020.0002.5831][.D831.0000.0000.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857; QQC
-2F856 ; [.FB40.0020.0002.5832][.D832.0000.0000.5832] # CJK COMPATIBILITY IDEOGRAPH-2F856; QQC
-FA39 ; [.FB40.0020.0002.5840][.D840.0000.0000.5840] # CJK COMPATIBILITY IDEOGRAPH-FA39; QQC
-FA10 ; [.FB40.0020.0002.585A][.D85A.0000.0000.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10; QQC
-FA7C ; [.FB40.0020.0002.585A][.D85A.0000.0000.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C; QQC
-F96C ; [.FB40.0020.0002.585E][.D85E.0000.0000.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C; QQC
-FA3A ; [.FB40.0020.0002.58A8][.D8A8.0000.0000.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A; QQC
-2F858 ; [.FB40.0020.0002.58AC][.D8AC.0000.0000.58AC] # CJK COMPATIBILITY IDEOGRAPH-2F858; QQC
-FA7D ; [.FB40.0020.0002.58B3][.D8B3.0000.0000.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D; QQC
-F94A ; [.FB40.0020.0002.58D8][.D8D8.0000.0000.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A; QQC
-F942 ; [.FB40.0020.0002.58DF][.D8DF.0000.0000.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942; QQC
-2F20 ; [.FB40.0020.0004.58EB][.D8EB.0000.0000.58EB] # KANGXI RADICAL SCHOLAR; QQK
-2F851 ; [.FB40.0020.0002.58EE][.D8EE.0000.0000.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851; QQC
-1F224 ; [.FB40.0020.001C.58F0][.D8F0.0000.0000.58F0] # SQUARED CJK UNIFIED IDEOGRAPH-58F0; QQK
-2F85A ; [.FB40.0020.0002.58F2][.D8F2.0000.0000.58F2] # CJK COMPATIBILITY IDEOGRAPH-2F85A; QQC
-2F85B ; [.FB40.0020.0002.58F7][.D8F7.0000.0000.58F7] # CJK COMPATIBILITY IDEOGRAPH-2F85B; QQC
-2F21 ; [.FB40.0020.0004.5902][.D902.0000.0000.5902] # KANGXI RADICAL GO; QQK
-2F85C ; [.FB40.0020.0002.5906][.D906.0000.0000.5906] # CJK COMPATIBILITY IDEOGRAPH-2F85C; QQC
-2F22 ; [.FB40.0020.0004.590A][.D90A.0000.0000.590A] # KANGXI RADICAL GO SLOWLY; QQK
-2F23 ; [.FB40.0020.0004.5915][.D915.0000.0000.5915] # KANGXI RADICAL EVENING; QQK
-2F85D ; [.FB40.0020.0002.591A][.D91A.0000.0000.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D; QQC
-1F215 ; [.FB40.0020.001C.591A][.D91A.0000.0000.591A] # SQUARED CJK UNIFIED IDEOGRAPH-591A; QQK
-32B0 ; [.FB40.0020.0006.591C][.D91C.0000.0000.591C] # CIRCLED IDEOGRAPH NIGHT; QQK
-2F85E ; [.FB40.0020.0002.5922][.D922.0000.0000.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E; QQC
-2F24 ; [.FB40.0020.0004.5927][.D927.0000.0000.5927] # KANGXI RADICAL BIG; QQK
-337D ; [.FB40.0020.001C.5927][.D927.0000.0000.5927][.FB40.0020.001F.6B63][.EB63.0000.0000.6B63] # SQUARE ERA NAME TAISYOU; QQKN
-319D ; [.FB40.0020.0014.5929][.D929.0000.0000.5929] # IDEOGRAPHIC ANNOTATION HEAVEN MARK; QQK
-1F217 ; [.FB40.0020.001C.5929][.D929.0000.0000.5929] # SQUARED CJK UNIFIED IDEOGRAPH-5929; QQK
-FA7E ; [.FB40.0020.0002.5944][.D944.0000.0000.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E; QQC
-F90C ; [.FB40.0020.0002.5948][.D948.0000.0000.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C; QQC
-F909 ; [.FB40.0020.0002.5951][.D951.0000.0000.5951] # CJK COMPATIBILITY IDEOGRAPH-F909; QQC
-FA7F ; [.FB40.0020.0002.5954][.D954.0000.0000.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F; QQC
-2F85F ; [.FB40.0020.0002.5962][.D962.0000.0000.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F; QQC
-F981 ; [.FB40.0020.0002.5973][.D973.0000.0000.5973] # CJK COMPATIBILITY IDEOGRAPH-F981; QQC
-2F25 ; [.FB40.0020.0004.5973][.D973.0000.0000.5973] # KANGXI RADICAL WOMAN; QQK
-329B ; [.FB40.0020.0006.5973][.D973.0000.0000.5973] # CIRCLED IDEOGRAPH FEMALE; QQK
-2F865 ; [.FB40.0020.0002.59D8][.D9D8.0000.0000.59D8] # CJK COMPATIBILITY IDEOGRAPH-2F865; QQC
-2F862 ; [.FB40.0020.0002.59EC][.D9EC.0000.0000.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862; QQC
-2F863 ; [.FB40.0020.0002.5A1B][.DA1B.0000.0000.5A1B] # CJK COMPATIBILITY IDEOGRAPH-2F863; QQC
-2F864 ; [.FB40.0020.0002.5A27][.DA27.0000.0000.5A27] # CJK COMPATIBILITY IDEOGRAPH-2F864; QQC
-FA80 ; [.FB40.0020.0002.5A62][.DA62.0000.0000.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80; QQC
-2F866 ; [.FB40.0020.0002.5A66][.DA66.0000.0000.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866; QQC
-2F986 ; [.FB40.0020.0002.5AB5][.DAB5.0000.0000.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986; QQC
-2F869 ; [.FB40.0020.0002.5B08][.DB08.0000.0000.5B08] # CJK COMPATIBILITY IDEOGRAPH-2F869; QQC
-FA81 ; [.FB40.0020.0002.5B28][.DB28.0000.0000.5B28] # CJK COMPATIBILITY IDEOGRAPH-FA81; QQC
-2F86A ; [.FB40.0020.0002.5B3E][.DB3E.0000.0000.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A; QQC
-2F86B ; [.FB40.0020.0002.5B3E][.DB3E.0000.0000.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B; QQC
-2F26 ; [.FB40.0020.0004.5B50][.DB50.0000.0000.5B50] # KANGXI RADICAL CHILD; QQK
-1F211 ; [.FB40.0020.001C.5B57][.DB57.0000.0000.5B57] # SQUARED CJK UNIFIED IDEOGRAPH-5B57; QQK
-323B ; [*030E.0020.0004.323B][.FB40.0020.0004.5B66][.DB66.0000.0000.5B66][*030F.0020.001F.323B] # PARENTHESIZED IDEOGRAPH STUDY; QQKN
-32AB ; [.FB40.0020.0006.5B66][.DB66.0000.0000.5B66] # CIRCLED IDEOGRAPH STUDY; QQK
-2F27 ; [.FB40.0020.0004.5B80][.DB80.0000.0000.5B80] # KANGXI RADICAL ROOF; QQK
-FA04 ; [.FB40.0020.0002.5B85][.DB85.0000.0000.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04; QQC
-1F243 ; [*0356.0020.0004.1F243][.FB40.0020.0004.5B89][.DB89.0000.0000.5B89][*0357.0020.001F.1F243] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89; QQKN
-32AA ; [.FB40.0020.0006.5B97][.DB97.0000.0000.5B97] # CIRCLED IDEOGRAPH RELIGION; QQK
-2F86D ; [.FB40.0020.0002.5BC3][.DBC3.0000.0000.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D; QQC
-2F86E ; [.FB40.0020.0002.5BD8][.DBD8.0000.0000.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E; QQC
-F95F ; [.FB40.0020.0002.5BE7][.DBE7.0000.0000.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F; QQC
-F9AA ; [.FB40.0020.0002.5BE7][.DBE7.0000.0000.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA; QQC
-2F86F ; [.FB40.0020.0002.5BE7][.DBE7.0000.0000.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F; QQC
-F9BC ; [.FB40.0020.0002.5BEE][.DBEE.0000.0000.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC; QQC
-2F870 ; [.FB40.0020.0002.5BF3][.DBF3.0000.0000.5BF3] # CJK COMPATIBILITY IDEOGRAPH-2F870; QQC
-2F28 ; [.FB40.0020.0004.5BF8][.DBF8.0000.0000.5BF8] # KANGXI RADICAL INCH; QQK
-2F872 ; [.FB40.0020.0002.5BFF][.DBFF.0000.0000.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872; QQC
-2F873 ; [.FB40.0020.0002.5C06][.DC06.0000.0000.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873; QQC
-2F29 ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F] # KANGXI RADICAL SMALL; QQK
-2E8C ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F][.0000.015F.001F.2E8C] # CJK RADICAL SMALL ONE; QQKN
-2E8D ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F][.0000.0160.001F.2E8D] # CJK RADICAL SMALL TWO; QQKN
-2F875 ; [.FB40.0020.0002.5C22][.DC22.0000.0000.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875; QQC
-2E90 ; [.FB40.0020.0004.5C22][.DC22.0000.0000.5C22] # CJK RADICAL LAME THREE; QQK
-2F2A ; [.FB40.0020.0004.5C22][.DC22.0000.0000.5C22] # KANGXI RADICAL LAME; QQK
-2E8E ; [.FB40.0020.0004.5C22][.DC22.0000.0000.5C22][.0000.015F.001F.2E8E] # CJK RADICAL LAME ONE; QQKN
-2E8F ; [.FB40.0020.0004.5C23][.DC23.0000.0000.5C23] # CJK RADICAL LAME TWO; QQK
-2E91 ; [.FB40.0020.0004.5C23][.DC23.0000.0000.5C23][.0000.015F.001F.2E91] # CJK RADICAL LAME FOUR; QQKN
-2F2B ; [.FB40.0020.0004.5C38][.DC38.0000.0000.5C38] # KANGXI RADICAL CORPSE; QQK
-F9BD ; [.FB40.0020.0002.5C3F][.DC3F.0000.0000.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD; QQC
-2F877 ; [.FB40.0020.0002.5C60][.DC60.0000.0000.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877; QQC
-F94B ; [.FB40.0020.0002.5C62][.DC62.0000.0000.5C62] # CJK COMPATIBILITY IDEOGRAPH-F94B; QQC
-FA3B ; [.FB40.0020.0002.5C64][.DC64.0000.0000.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B; QQC
-F9DF ; [.FB40.0020.0002.5C65][.DC65.0000.0000.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF; QQC
-FA3C ; [.FB40.0020.0002.5C6E][.DC6E.0000.0000.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C; QQC
-2F878 ; [.FB40.0020.0002.5C6E][.DC6E.0000.0000.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878; QQC
-2F2C ; [.FB40.0020.0004.5C6E][.DC6E.0000.0000.5C6E] # KANGXI RADICAL SPROUT; QQK
-2F2D ; [.FB40.0020.0004.5C71][.DC71.0000.0000.5C71] # KANGXI RADICAL MOUNTAIN; QQK
-2F87A ; [.FB40.0020.0002.5C8D][.DC8D.0000.0000.5C8D] # CJK COMPATIBILITY IDEOGRAPH-2F87A; QQC
-2F879 ; [.FB40.0020.0002.5CC0][.DCC0.0000.0000.5CC0] # CJK COMPATIBILITY IDEOGRAPH-2F879; QQC
-F9D5 ; [.FB40.0020.0002.5D19][.DD19.0000.0000.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5; QQC
-2F87C ; [.FB40.0020.0002.5D43][.DD43.0000.0000.5D43] # CJK COMPATIBILITY IDEOGRAPH-2F87C; QQC
-F921 ; [.FB40.0020.0002.5D50][.DD50.0000.0000.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921; QQC
-2F87F ; [.FB40.0020.0002.5D6B][.DD6B.0000.0000.5D6B] # CJK COMPATIBILITY IDEOGRAPH-2F87F; QQC
-2F87E ; [.FB40.0020.0002.5D6E][.DD6E.0000.0000.5D6E] # CJK COMPATIBILITY IDEOGRAPH-2F87E; QQC
-2F880 ; [.FB40.0020.0002.5D7C][.DD7C.0000.0000.5D7C] # CJK COMPATIBILITY IDEOGRAPH-2F880; QQC
-2F9F4 ; [.FB40.0020.0002.5DB2][.DDB2.0000.0000.5DB2] # CJK COMPATIBILITY IDEOGRAPH-2F9F4; QQC
-F9AB ; [.FB40.0020.0002.5DBA][.DDBA.0000.0000.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB; QQC
-2F2E ; [.FB40.0020.0004.5DDB][.DDDB.0000.0000.5DDB] # KANGXI RADICAL RIVER; QQK
-2F881 ; [.FB40.0020.0002.5DE1][.DDE1.0000.0000.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881; QQC
-2F882 ; [.FB40.0020.0002.5DE2][.DDE2.0000.0000.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882; QQC
-2F2F ; [.FB40.0020.0004.5DE5][.DDE5.0000.0000.5DE5] # KANGXI RADICAL WORK; QQK
-32A7 ; [.FB40.0020.0006.5DE6][.DDE6.0000.0000.5DE6] # CIRCLED IDEOGRAPH LEFT; QQK
-1F22C ; [.FB40.0020.001C.5DE6][.DDE6.0000.0000.5DE6] # SQUARED CJK UNIFIED IDEOGRAPH-5DE6; QQK
-2F30 ; [.FB40.0020.0004.5DF1][.DDF1.0000.0000.5DF1] # KANGXI RADICAL ONESELF; QQK
-2E92 ; [.FB40.0020.0004.5DF3][.DDF3.0000.0000.5DF3] # CJK RADICAL SNAKE; QQK
-2F884 ; [.FB40.0020.0002.5DFD][.DDFD.0000.0000.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884; QQC
-2F31 ; [.FB40.0020.0004.5DFE][.DDFE.0000.0000.5DFE] # KANGXI RADICAL TURBAN; QQK
-2F885 ; [.FB40.0020.0002.5E28][.DE28.0000.0000.5E28] # CJK COMPATIBILITY IDEOGRAPH-2F885; QQC
-2F886 ; [.FB40.0020.0002.5E3D][.DE3D.0000.0000.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886; QQC
-2F887 ; [.FB40.0020.0002.5E69][.DE69.0000.0000.5E69] # CJK COMPATIBILITY IDEOGRAPH-2F887; QQC
-2F32 ; [.FB40.0020.0004.5E72][.DE72.0000.0000.5E72] # KANGXI RADICAL DRY; QQK
-337B ; [.FB40.0020.001C.5E73][.DE73.0000.0000.5E73][.FB40.0020.001F.6210][.E210.0000.0000.6210] # SQUARE ERA NAME HEISEI; QQKN
-F98E ; [.FB40.0020.0002.5E74][.DE74.0000.0000.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E; QQC
-2E93 ; [.FB40.0020.0004.5E7A][.DE7A.0000.0000.5E7A] # CJK RADICAL THREAD; QQK
-2F33 ; [.FB40.0020.0004.5E7A][.DE7A.0000.0000.5E7A] # KANGXI RADICAL SHORT THREAD; QQK
-3245 ; [.FB40.0020.0006.5E7C][.DE7C.0000.0000.5E7C] # CIRCLED IDEOGRAPH KINDERGARTEN; QQK
-2F34 ; [.FB40.0020.0004.5E7F][.DE7F.0000.0000.5E7F] # KANGXI RADICAL DOTTED CLIFF; QQK
-FA01 ; [.FB40.0020.0002.5EA6][.DEA6.0000.0000.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01; QQC
-2F88B ; [.FB40.0020.0002.5EB0][.DEB0.0000.0000.5EB0] # CJK COMPATIBILITY IDEOGRAPH-2F88B; QQC
-2F88C ; [.FB40.0020.0002.5EB3][.DEB3.0000.0000.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C; QQC
-2F88D ; [.FB40.0020.0002.5EB6][.DEB6.0000.0000.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D; QQC
-F9A2 ; [.FB40.0020.0002.5EC9][.DEC9.0000.0000.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2; QQC
-F928 ; [.FB40.0020.0002.5ECA][.DECA.0000.0000.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928; QQC
-2F88E ; [.FB40.0020.0002.5ECA][.DECA.0000.0000.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E; QQC
-FA82 ; [.FB40.0020.0002.5ED2][.DED2.0000.0000.5ED2] # CJK COMPATIBILITY IDEOGRAPH-FA82; QQC
-FA0B ; [.FB40.0020.0002.5ED3][.DED3.0000.0000.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B; QQC
-FA83 ; [.FB40.0020.0002.5ED9][.DED9.0000.0000.5ED9] # CJK COMPATIBILITY IDEOGRAPH-FA83; QQC
-F982 ; [.FB40.0020.0002.5EEC][.DEEC.0000.0000.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982; QQC
-2F35 ; [.FB40.0020.0004.5EF4][.DEF4.0000.0000.5EF4] # KANGXI RADICAL LONG STRIDE; QQK
-2F890 ; [.FB40.0020.0002.5EFE][.DEFE.0000.0000.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890; QQC
-2F36 ; [.FB40.0020.0004.5EFE][.DEFE.0000.0000.5EFE] # KANGXI RADICAL TWO HANDS; QQK
-F943 ; [.FB40.0020.0002.5F04][.DF04.0000.0000.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943; QQC
-2F37 ; [.FB40.0020.0004.5F0B][.DF0B.0000.0000.5F0B] # KANGXI RADICAL SHOOT; QQK
-2F38 ; [.FB40.0020.0004.5F13][.DF13.0000.0000.5F13] # KANGXI RADICAL BOW; QQK
-2F894 ; [.FB40.0020.0002.5F22][.DF22.0000.0000.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894; QQC
-2F895 ; [.FB40.0020.0002.5F22][.DF22.0000.0000.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895; QQC
-2F39 ; [.FB40.0020.0004.5F50][.DF50.0000.0000.5F50] # KANGXI RADICAL SNOUT; QQK
-2E95 ; [.FB40.0020.0004.5F50][.DF50.0000.0000.5F50][.0000.015F.001F.2E95] # CJK RADICAL SNOUT TWO; QQKN
-2E94 ; [.FB40.0020.0004.5F51][.DF51.0000.0000.5F51] # CJK RADICAL SNOUT ONE; QQK
-2F874 ; [.FB40.0020.0002.5F53][.DF53.0000.0000.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874; QQC
-2F3A ; [.FB40.0020.0004.5F61][.DF61.0000.0000.5F61] # KANGXI RADICAL BRISTLE; QQK
-2F899 ; [.FB40.0020.0002.5F62][.DF62.0000.0000.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899; QQC
-FA84 ; [.FB40.0020.0002.5F69][.DF69.0000.0000.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84; QQC
-2F89A ; [.FB40.0020.0002.5F6B][.DF6B.0000.0000.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A; QQC
-2F3B ; [.FB40.0020.0004.5F73][.DF73.0000.0000.5F73] # KANGXI RADICAL STEP; QQK
-F9D8 ; [.FB40.0020.0002.5F8B][.DF8B.0000.0000.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8; QQC
-1F21D ; [.FB40.0020.001C.5F8C][.DF8C.0000.0000.5F8C] # SQUARED CJK UNIFIED IDEOGRAPH-5F8C; QQK
-1F250 ; [.FB40.0020.0006.5F97][.DF97.0000.0000.5F97] # CIRCLED IDEOGRAPH ADVANTAGE; QQK
-2F89C ; [.FB40.0020.0002.5F9A][.DF9A.0000.0000.5F9A] # CJK COMPATIBILITY IDEOGRAPH-2F89C; QQC
-F966 ; [.FB40.0020.0002.5FA9][.DFA9.0000.0000.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966; QQC
-FA85 ; [.FB40.0020.0002.5FAD][.DFAD.0000.0000.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85; QQC
-2F3C ; [.FB40.0020.0004.5FC3][.DFC3.0000.0000.5FC3] # KANGXI RADICAL HEART; QQK
-2E97 ; [.FB40.0020.0004.5FC3][.DFC3.0000.0000.5FC3][.0000.015F.001F.2E97] # CJK RADICAL HEART TWO; QQKN
-2E96 ; [.FB40.0020.0004.5FC4][.DFC4.0000.0000.5FC4] # CJK RADICAL HEART ONE; QQK
-2F89D ; [.FB40.0020.0002.5FCD][.DFCD.0000.0000.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D; QQC
-2F89E ; [.FB40.0020.0002.5FD7][.DFD7.0000.0000.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E; QQC
-F9A3 ; [.FB40.0020.0002.5FF5][.DFF5.0000.0000.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3; QQC
-2F89F ; [.FB40.0020.0002.5FF9][.DFF9.0000.0000.5FF9] # CJK COMPATIBILITY IDEOGRAPH-2F89F; QQC
-F960 ; [.FB40.0020.0002.6012][.E012.0000.0000.6012] # CJK COMPATIBILITY IDEOGRAPH-F960; QQC
-F9AC ; [.FB40.0020.0002.601C][.E01C.0000.0000.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC; QQC
-FA6B ; [.FB40.0020.0002.6075][.E075.0000.0000.6075] # CJK COMPATIBILITY IDEOGRAPH-FA6B; QQC
-2F8A0 ; [.FB40.0020.0002.6081][.E081.0000.0000.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0; QQC
-FA3D ; [.FB40.0020.0002.6094][.E094.0000.0000.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D; QQC
-2F8A3 ; [.FB40.0020.0002.6094][.E094.0000.0000.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3; QQC
-2F8A5 ; [.FB40.0020.0002.60C7][.E0C7.0000.0000.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5; QQC
-FA86 ; [.FB40.0020.0002.60D8][.E0D8.0000.0000.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86; QQC
-F9B9 ; [.FB40.0020.0002.60E1][.E0E1.0000.0000.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9; QQC
-FA88 ; [.FB40.0020.0002.6108][.E108.0000.0000.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88; QQC
-F9D9 ; [.FB40.0020.0002.6144][.E144.0000.0000.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9; QQC
-2F8A6 ; [.FB40.0020.0002.6148][.E148.0000.0000.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6; QQC
-2F8A7 ; [.FB40.0020.0002.614C][.E14C.0000.0000.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7; QQC
-2F8A9 ; [.FB40.0020.0002.614C][.E14C.0000.0000.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9; QQC
-FA87 ; [.FB40.0020.0002.614E][.E14E.0000.0000.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87; QQC
-2F8A8 ; [.FB40.0020.0002.614E][.E14E.0000.0000.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8; QQC
-FA8A ; [.FB40.0020.0002.6160][.E160.0000.0000.6160] # CJK COMPATIBILITY IDEOGRAPH-FA8A; QQC
-FA3E ; [.FB40.0020.0002.6168][.E168.0000.0000.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E; QQC
-2F8AA ; [.FB40.0020.0002.617A][.E17A.0000.0000.617A] # CJK COMPATIBILITY IDEOGRAPH-2F8AA; QQC
-FA3F ; [.FB40.0020.0002.618E][.E18E.0000.0000.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F; QQC
-FA89 ; [.FB40.0020.0002.618E][.E18E.0000.0000.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89; QQC
-2F8AB ; [.FB40.0020.0002.618E][.E18E.0000.0000.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB; QQC
-F98F ; [.FB40.0020.0002.6190][.E190.0000.0000.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F; QQC
-2F8AD ; [.FB40.0020.0002.61A4][.E1A4.0000.0000.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD; QQC
-2F8AE ; [.FB40.0020.0002.61AF][.E1AF.0000.0000.61AF] # CJK COMPATIBILITY IDEOGRAPH-2F8AE; QQC
-2F8AC ; [.FB40.0020.0002.61B2][.E1B2.0000.0000.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC; QQC
-2F8AF ; [.FB40.0020.0002.61DE][.E1DE.0000.0000.61DE] # CJK COMPATIBILITY IDEOGRAPH-2F8AF; QQC
-FA40 ; [.FB40.0020.0002.61F2][.E1F2.0000.0000.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40; QQC
-FA8B ; [.FB40.0020.0002.61F2][.E1F2.0000.0000.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B; QQC
-2F8B0 ; [.FB40.0020.0002.61F2][.E1F2.0000.0000.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0; QQC
-F90D ; [.FB40.0020.0002.61F6][.E1F6.0000.0000.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D; QQC
-2F8B1 ; [.FB40.0020.0002.61F6][.E1F6.0000.0000.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1; QQC
-F990 ; [.FB40.0020.0002.6200][.E200.0000.0000.6200] # CJK COMPATIBILITY IDEOGRAPH-F990; QQC
-2F3D ; [.FB40.0020.0004.6208][.E208.0000.0000.6208] # KANGXI RADICAL HALBERD; QQK
-2F8B2 ; [.FB40.0020.0002.6210][.E210.0000.0000.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2; QQC
-2F8B3 ; [.FB40.0020.0002.621B][.E21B.0000.0000.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3; QQC
-F9D2 ; [.FB40.0020.0002.622E][.E22E.0000.0000.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2; QQC
-FA8C ; [.FB40.0020.0002.6234][.E234.0000.0000.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C; QQC
-2F3E ; [.FB40.0020.0004.6236][.E236.0000.0000.6236] # KANGXI RADICAL DOOR; QQK
-2F3F ; [.FB40.0020.0004.624B][.E24B.0000.0000.624B] # KANGXI RADICAL HAND; QQK
-1F210 ; [.FB40.0020.001C.624B][.E24B.0000.0000.624B] # SQUARED CJK UNIFIED IDEOGRAPH-624B; QQK
-2E98 ; [.FB40.0020.0004.624C][.E24C.0000.0000.624C] # CJK RADICAL HAND; QQK
-1F245 ; [*0356.0020.0004.1F245][.FB40.0020.0004.6253][.E253.0000.0000.6253][*0357.0020.001F.1F245] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253; QQKN
-1F231 ; [.FB40.0020.001C.6253][.E253.0000.0000.6253] # SQUARED CJK UNIFIED IDEOGRAPH-6253; QQK
-2F8B4 ; [.FB40.0020.0002.625D][.E25D.0000.0000.625D] # CJK COMPATIBILITY IDEOGRAPH-2F8B4; QQC
-1F227 ; [.FB40.0020.001C.6295][.E295.0000.0000.6295] # SQUARED CJK UNIFIED IDEOGRAPH-6295; QQK
-2F8B5 ; [.FB40.0020.0002.62B1][.E2B1.0000.0000.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5; QQC
-F925 ; [.FB40.0020.0002.62C9][.E2C9.0000.0000.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925; QQC
-F95B ; [.FB40.0020.0002.62CF][.E2CF.0000.0000.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B; QQC
-FA02 ; [.FB40.0020.0002.62D3][.E2D3.0000.0000.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02; QQC
-2F8B6 ; [.FB40.0020.0002.62D4][.E2D4.0000.0000.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6; QQC
-2F8BA ; [.FB40.0020.0002.62FC][.E2FC.0000.0000.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA; QQC
-F973 ; [.FB40.0020.0002.62FE][.E2FE.0000.0000.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973; QQC
-1F22F ; [.FB40.0020.001C.6307][.E307.0000.0000.6307] # SQUARED CJK UNIFIED IDEOGRAPH-6307; QQK
-2F8B9 ; [.FB40.0020.0002.633D][.E33D.0000.0000.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9; QQC
-2F8B7 ; [.FB40.0020.0002.6350][.E350.0000.0000.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7; QQC
-1F228 ; [.FB40.0020.001C.6355][.E355.0000.0000.6355] # SQUARED CJK UNIFIED IDEOGRAPH-6355; QQK
-2F8BB ; [.FB40.0020.0002.6368][.E368.0000.0000.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB; QQC
-F9A4 ; [.FB40.0020.0002.637B][.E37B.0000.0000.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4; QQC
-2F8BC ; [.FB40.0020.0002.6383][.E383.0000.0000.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC; QQC
-F975 ; [.FB40.0020.0002.63A0][.E3A0.0000.0000.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975; QQC
-2F8C1 ; [.FB40.0020.0002.63A9][.E3A9.0000.0000.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1; QQC
-FA8D ; [.FB40.0020.0002.63C4][.E3C4.0000.0000.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D; QQC
-2F8C0 ; [.FB40.0020.0002.63C5][.E3C5.0000.0000.63C5] # CJK COMPATIBILITY IDEOGRAPH-2F8C0; QQC
-2F8BD ; [.FB40.0020.0002.63E4][.E3E4.0000.0000.63E4] # CJK COMPATIBILITY IDEOGRAPH-2F8BD; QQC
-FA8E ; [.FB40.0020.0002.641C][.E41C.0000.0000.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E; QQC
-2F8BF ; [.FB40.0020.0002.6422][.E422.0000.0000.6422] # CJK COMPATIBILITY IDEOGRAPH-2F8BF; QQC
-FA8F ; [.FB40.0020.0002.6452][.E452.0000.0000.6452] # CJK COMPATIBILITY IDEOGRAPH-FA8F; QQC
-2F8C3 ; [.FB40.0020.0002.6469][.E469.0000.0000.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3; QQC
-2F8C6 ; [.FB40.0020.0002.6477][.E477.0000.0000.6477] # CJK COMPATIBILITY IDEOGRAPH-2F8C6; QQC
-2F8C4 ; [.FB40.0020.0002.647E][.E47E.0000.0000.647E] # CJK COMPATIBILITY IDEOGRAPH-2F8C4; QQC
-F991 ; [.FB40.0020.0002.649A][.E49A.0000.0000.649A] # CJK COMPATIBILITY IDEOGRAPH-F991; QQC
-2F8C5 ; [.FB40.0020.0002.649D][.E49D.0000.0000.649D] # CJK COMPATIBILITY IDEOGRAPH-2F8C5; QQC
-F930 ; [.FB40.0020.0002.64C4][.E4C4.0000.0000.64C4] # CJK COMPATIBILITY IDEOGRAPH-F930; QQC
-2F40 ; [.FB40.0020.0004.652F][.E52F.0000.0000.652F] # KANGXI RADICAL BRANCH; QQK
-2F41 ; [.FB40.0020.0004.6534][.E534.0000.0000.6534] # KANGXI RADICAL RAP; QQK
-2E99 ; [.FB40.0020.0004.6535][.E535.0000.0000.6535] # CJK RADICAL RAP; QQK
-FA41 ; [.FB40.0020.0002.654F][.E54F.0000.0000.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41; QQC
-2F8C8 ; [.FB40.0020.0002.654F][.E54F.0000.0000.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8; QQC
-FA90 ; [.FB40.0020.0002.6556][.E556.0000.0000.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90; QQC
-1F248 ; [*0356.0020.0004.1F248][.FB40.0020.0004.6557][.E557.0000.0000.6557][*0357.0020.001F.1F248] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557; QQKN
-2F8C9 ; [.FB40.0020.0002.656C][.E56C.0000.0000.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9; QQC
-F969 ; [.FB40.0020.0002.6578][.E578.0000.0000.6578] # CJK COMPATIBILITY IDEOGRAPH-F969; QQC
-2F42 ; [.FB40.0020.0004.6587][.E587.0000.0000.6587] # KANGXI RADICAL SCRIPT; QQK
-3246 ; [.FB40.0020.0006.6587][.E587.0000.0000.6587] # CIRCLED IDEOGRAPH SCHOOL; QQK
-2F43 ; [.FB40.0020.0004.6597][.E597.0000.0000.6597] # KANGXI RADICAL DIPPER; QQK
-F9BE ; [.FB40.0020.0002.6599][.E599.0000.0000.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE; QQC
-1F21B ; [.FB40.0020.001C.6599][.E599.0000.0000.6599] # SQUARED CJK UNIFIED IDEOGRAPH-6599; QQK
-2F44 ; [.FB40.0020.0004.65A4][.E5A4.0000.0000.65A4] # KANGXI RADICAL AXE; QQK
-1F21F ; [.FB40.0020.001C.65B0][.E5B0.0000.0000.65B0] # SQUARED CJK UNIFIED IDEOGRAPH-65B0; QQK
-2F45 ; [.FB40.0020.0004.65B9][.E5B9.0000.0000.65B9] # KANGXI RADICAL SQUARE; QQK
-F983 ; [.FB40.0020.0002.65C5][.E5C5.0000.0000.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983; QQC
-2F46 ; [.FB40.0020.0004.65E0][.E5E0.0000.0000.65E0] # KANGXI RADICAL NOT; QQK
-2E9B ; [.FB40.0020.0004.65E1][.E5E1.0000.0000.65E1] # CJK RADICAL CHOKE; QQK
-FA42 ; [.FB40.0020.0002.65E2][.E5E2.0000.0000.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42; QQC
-2F8CB ; [.FB40.0020.0002.65E3][.E5E3.0000.0000.65E3] # CJK COMPATIBILITY IDEOGRAPH-2F8CB; QQC
-2F47 ; [.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # KANGXI RADICAL SUN; QQK
-3230 ; [*030E.0020.0004.3230][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5][*030F.0020.001F.3230] # PARENTHESIZED IDEOGRAPH SUN; QQKN
-3290 ; [.FB40.0020.0006.65E5][.E5E5.0000.0000.65E5] # CIRCLED IDEOGRAPH SUN; QQK
-2E9C ; [.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5][.0000.015F.001F.2E9C] # CJK RADICAL SUN; QQKN
-337E ; [.FB40.0020.001C.660E][.E60E.0000.0000.660E][.FB40.0020.001F.6CBB][.ECBB.0000.0000.6CBB] # SQUARE ERA NAME MEIZI; QQKN
-F9E0 ; [.FB40.0020.0002.6613][.E613.0000.0000.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0; QQC
-1F219 ; [.FB40.0020.001C.6620][.E620.0000.0000.6620] # SQUARED CJK UNIFIED IDEOGRAPH-6620; QQK
-337C ; [.FB40.0020.001C.662D][.E62D.0000.0000.662D][.FB40.0020.001F.548C][.D48C.0000.0000.548C] # SQUARE ERA NAME SYOUWA; QQKN
-2F8CD ; [.FB40.0020.0002.6649][.E649.0000.0000.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD; QQC
-FA12 ; [.FB40.0020.0002.6674][.E674.0000.0000.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12; QQC
-FA91 ; [.FB40.0020.0002.6674][.E674.0000.0000.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91; QQC
-F9C5 ; [.FB40.0020.0002.6688][.E688.0000.0000.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5; QQC
-FA43 ; [.FB40.0020.0002.6691][.E691.0000.0000.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43; QQC
-2F8CF ; [.FB40.0020.0002.6691][.E691.0000.0000.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF; QQC
-2F8D5 ; [.FB40.0020.0002.669C][.E69C.0000.0000.669C] # CJK COMPATIBILITY IDEOGRAPH-2F8D5; QQC
-FA06 ; [.FB40.0020.0002.66B4][.E6B4.0000.0000.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06; QQC
-F98B ; [.FB40.0020.0002.66C6][.E6C6.0000.0000.66C6] # CJK COMPATIBILITY IDEOGRAPH-F98B; QQC
-2F48 ; [.FB40.0020.0004.66F0][.E6F0.0000.0000.66F0] # KANGXI RADICAL SAY; QQK
-F901 ; [.FB40.0020.0002.66F4][.E6F4.0000.0000.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901; QQC
-2F8CC ; [.FB40.0020.0002.66F8][.E6F8.0000.0000.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC; QQC
-2F8D4 ; [.FB40.0020.0002.6700][.E700.0000.0000.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4; QQC
-2F49 ; [.FB40.0020.0004.6708][.E708.0000.0000.6708] # KANGXI RADICAL MOON; QQK
-322A ; [*030E.0020.0004.322A][.FB40.0020.0004.6708][.E708.0000.0000.6708][*030F.0020.001F.322A] # PARENTHESIZED IDEOGRAPH MOON; QQKN
-328A ; [.FB40.0020.0006.6708][.E708.0000.0000.6708] # CIRCLED IDEOGRAPH MOON; QQK
-1F237 ; [.FB40.0020.001C.6708][.E708.0000.0000.6708] # SQUARED CJK UNIFIED IDEOGRAPH-6708; QQK
-2E9D ; [.FB40.0020.0004.6708][.E708.0000.0000.6708][.0000.015F.001F.2E9D] # CJK RADICAL MOON; QQKN
-3232 ; [*030E.0020.0004.3232][.FB40.0020.0004.6709][.E709.0000.0000.6709][*030F.0020.001F.3232] # PARENTHESIZED IDEOGRAPH HAVE; QQKN
-3292 ; [.FB40.0020.0006.6709][.E709.0000.0000.6709] # CIRCLED IDEOGRAPH HAVE; QQK
-1F236 ; [.FB40.0020.001C.6709][.E709.0000.0000.6709] # SQUARED CJK UNIFIED IDEOGRAPH-6709; QQK
-F929 ; [.FB40.0020.0002.6717][.E717.0000.0000.6717] # CJK COMPATIBILITY IDEOGRAPH-F929; QQC
-FA92 ; [.FB40.0020.0002.6717][.E717.0000.0000.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92; QQC
-2F8D8 ; [.FB40.0020.0002.6717][.E717.0000.0000.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8; QQC
-FA93 ; [.FB40.0020.0002.671B][.E71B.0000.0000.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93; QQC
-2F8D9 ; [.FB40.0020.0002.671B][.E71B.0000.0000.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9; QQC
-2F8DA ; [.FB40.0020.0002.6721][.E721.0000.0000.6721] # CJK COMPATIBILITY IDEOGRAPH-2F8DA; QQC
-2F4A ; [.FB40.0020.0004.6728][.E728.0000.0000.6728] # KANGXI RADICAL TREE; QQK
-322D ; [*030E.0020.0004.322D][.FB40.0020.0004.6728][.E728.0000.0000.6728][*030F.0020.001F.322D] # PARENTHESIZED IDEOGRAPH WOOD; QQKN
-328D ; [.FB40.0020.0006.6728][.E728.0000.0000.6728] # CIRCLED IDEOGRAPH WOOD; QQK
-1F240 ; [*0356.0020.0004.1F240][.FB40.0020.0004.672C][.E72C.0000.0000.672C][*0357.0020.001F.1F240] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C; QQKN
-F9E1 ; [.FB40.0020.0002.674E][.E74E.0000.0000.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1; QQC
-2F8DC ; [.FB40.0020.0002.6753][.E753.0000.0000.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC; QQC
-FA94 ; [.FB40.0020.0002.6756][.E756.0000.0000.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94; QQC
-2F8DB ; [.FB40.0020.0002.675E][.E75E.0000.0000.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB; QQC
-F9C8 ; [.FB40.0020.0002.677B][.E77B.0000.0000.677B] # CJK COMPATIBILITY IDEOGRAPH-F9C8; QQC
-2F8E0 ; [.FB40.0020.0002.6785][.E785.0000.0000.6785] # CJK COMPATIBILITY IDEOGRAPH-2F8E0; QQC
-F9F4 ; [.FB40.0020.0002.6797][.E797.0000.0000.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4; QQC
-F9C9 ; [.FB40.0020.0002.67F3][.E7F3.0000.0000.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9; QQC
-2F8DF ; [.FB40.0020.0002.67FA][.E7FA.0000.0000.67FA] # CJK COMPATIBILITY IDEOGRAPH-2F8DF; QQC
-F9DA ; [.FB40.0020.0002.6817][.E817.0000.0000.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA; QQC
-2F8E5 ; [.FB40.0020.0002.681F][.E81F.0000.0000.681F] # CJK COMPATIBILITY IDEOGRAPH-2F8E5; QQC
-3231 ; [*030E.0020.0004.3231][.FB40.0020.0004.682A][.E82A.0000.0000.682A][*030F.0020.001F.3231] # PARENTHESIZED IDEOGRAPH STOCK; QQKN
-3291 ; [.FB40.0020.0006.682A][.E82A.0000.0000.682A] # CIRCLED IDEOGRAPH STOCK; QQK
-337F ; [.FB40.0020.001C.682A][.E82A.0000.0000.682A][.FB40.0020.001F.5F0F][.DF0F.0000.0000.5F0F][.FB40.0020.001F.4F1A][.CF1A.0000.0000.4F1A][.FB40.0020.001F.793E][.F93E.0000.0000.793E] # SQUARE CORPORATION; QQKN
-2F8E1 ; [.FB40.0020.0002.6852][.E852.0000.0000.6852] # CJK COMPATIBILITY IDEOGRAPH-2F8E1; QQC
-F97A ; [.FB40.0020.0002.6881][.E881.0000.0000.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A; QQC
-FA44 ; [.FB40.0020.0002.6885][.E885.0000.0000.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44; QQC
-2F8E2 ; [.FB40.0020.0002.6885][.E885.0000.0000.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2; QQC
-2F8E4 ; [.FB40.0020.0002.688E][.E88E.0000.0000.688E] # CJK COMPATIBILITY IDEOGRAPH-2F8E4; QQC
-F9E2 ; [.FB40.0020.0002.68A8][.E8A8.0000.0000.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2; QQC
-2F8E6 ; [.FB40.0020.0002.6914][.E914.0000.0000.6914] # CJK COMPATIBILITY IDEOGRAPH-2F8E6; QQC
-2F8E8 ; [.FB40.0020.0002.6942][.E942.0000.0000.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8; QQC
-2F8E9 ; [.FB40.0020.0002.69A3][.E9A3.0000.0000.69A3] # CJK COMPATIBILITY IDEOGRAPH-2F8E9; QQC
-2F8EA ; [.FB40.0020.0002.69EA][.E9EA.0000.0000.69EA] # CJK COMPATIBILITY IDEOGRAPH-2F8EA; QQC
-F914 ; [.FB40.0020.0002.6A02][.EA02.0000.0000.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914; QQC
-F95C ; [.FB40.0020.0002.6A02][.EA02.0000.0000.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C; QQC
-F9BF ; [.FB40.0020.0002.6A02][.EA02.0000.0000.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF; QQC
-F94C ; [.FB40.0020.0002.6A13][.EA13.0000.0000.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C; QQC
-2F8EB ; [.FB40.0020.0002.6AA8][.EAA8.0000.0000.6AA8] # CJK COMPATIBILITY IDEOGRAPH-2F8EB; QQC
-F931 ; [.FB40.0020.0002.6AD3][.EAD3.0000.0000.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931; QQC
-2F8ED ; [.FB40.0020.0002.6ADB][.EADB.0000.0000.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED; QQC
-F91D ; [.FB40.0020.0002.6B04][.EB04.0000.0000.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D; QQC
-2F4B ; [.FB40.0020.0004.6B20][.EB20.0000.0000.6B20] # KANGXI RADICAL LACK; QQK
-2F8EF ; [.FB40.0020.0002.6B21][.EB21.0000.0000.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF; QQC
-2F8F1 ; [.FB40.0020.0002.6B54][.EB54.0000.0000.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1; QQC
-2F4C ; [.FB40.0020.0004.6B62][.EB62.0000.0000.6B62] # KANGXI RADICAL STOP; QQK
-32A3 ; [.FB40.0020.0006.6B63][.EB63.0000.0000.6B63] # CIRCLED IDEOGRAPH CORRECT; QQK
-2F8F3 ; [.FB40.0020.0002.6B72][.EB72.0000.0000.6B72] # CJK COMPATIBILITY IDEOGRAPH-2F8F3; QQC
-F98C ; [.FB40.0020.0002.6B77][.EB77.0000.0000.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C; QQC
-FA95 ; [.FB40.0020.0002.6B79][.EB79.0000.0000.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95; QQC
-2F4D ; [.FB40.0020.0004.6B79][.EB79.0000.0000.6B79] # KANGXI RADICAL DEATH; QQK
-2E9E ; [.FB40.0020.0004.6B7A][.EB7A.0000.0000.6B7A][.0000.015F.001F.2E9E] # CJK RADICAL DEATH; QQKN
-2F8F4 ; [.FB40.0020.0002.6B9F][.EB9F.0000.0000.6B9F] # CJK COMPATIBILITY IDEOGRAPH-2F8F4; QQC
-F9A5 ; [.FB40.0020.0002.6BAE][.EBAE.0000.0000.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5; QQC
-2F4E ; [.FB40.0020.0004.6BB3][.EBB3.0000.0000.6BB3] # KANGXI RADICAL WEAPON; QQK
-F970 ; [.FB40.0020.0002.6BBA][.EBBA.0000.0000.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970; QQC
-FA96 ; [.FB40.0020.0002.6BBA][.EBBA.0000.0000.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96; QQC
-2F8F5 ; [.FB40.0020.0002.6BBA][.EBBA.0000.0000.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5; QQC
-2F8F6 ; [.FB40.0020.0002.6BBB][.EBBB.0000.0000.6BBB] # CJK COMPATIBILITY IDEOGRAPH-2F8F6; QQC
-2F4F ; [.FB40.0020.0004.6BCB][.EBCB.0000.0000.6BCB] # KANGXI RADICAL DO NOT; QQK
-2E9F ; [.FB40.0020.0004.6BCD][.EBCD.0000.0000.6BCD] # CJK RADICAL MOTHER; QQK
-2F50 ; [.FB40.0020.0004.6BD4][.EBD4.0000.0000.6BD4] # KANGXI RADICAL COMPARE; QQK
-2F51 ; [.FB40.0020.0004.6BDB][.EBDB.0000.0000.6BDB] # KANGXI RADICAL FUR; QQK
-2F52 ; [.FB40.0020.0004.6C0F][.EC0F.0000.0000.6C0F] # KANGXI RADICAL CLAN; QQK
-2EA0 ; [.FB40.0020.0004.6C11][.EC11.0000.0000.6C11] # CJK RADICAL CIVILIAN; QQK
-2F53 ; [.FB40.0020.0004.6C14][.EC14.0000.0000.6C14] # KANGXI RADICAL STEAM; QQK
-2F54 ; [.FB40.0020.0004.6C34][.EC34.0000.0000.6C34] # KANGXI RADICAL WATER; QQK
-322C ; [*030E.0020.0004.322C][.FB40.0020.0004.6C34][.EC34.0000.0000.6C34][*030F.0020.001F.322C] # PARENTHESIZED IDEOGRAPH WATER; QQKN
-328C ; [.FB40.0020.0006.6C34][.EC34.0000.0000.6C34] # CIRCLED IDEOGRAPH WATER; QQK
-2EA1 ; [.FB40.0020.0004.6C35][.EC35.0000.0000.6C35] # CJK RADICAL WATER ONE; QQK
-2EA2 ; [.FB40.0020.0004.6C3A][.EC3A.0000.0000.6C3A] # CJK RADICAL WATER TWO; QQK
-2F8FA ; [.FB40.0020.0002.6C4E][.EC4E.0000.0000.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA; QQC
-2F8FE ; [.FB40.0020.0002.6C67][.EC67.0000.0000.6C67] # CJK COMPATIBILITY IDEOGRAPH-2F8FE; QQC
-F972 ; [.FB40.0020.0002.6C88][.EC88.0000.0000.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972; QQC
-2F8FC ; [.FB40.0020.0002.6CBF][.ECBF.0000.0000.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC; QQC
-F968 ; [.FB40.0020.0002.6CCC][.ECCC.0000.0000.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968; QQC
-2F8FD ; [.FB40.0020.0002.6CCD][.ECCD.0000.0000.6CCD] # CJK COMPATIBILITY IDEOGRAPH-2F8FD; QQC
-F9E3 ; [.FB40.0020.0002.6CE5][.ECE5.0000.0000.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3; QQC
-329F ; [.FB40.0020.0006.6CE8][.ECE8.0000.0000.6CE8] # CIRCLED IDEOGRAPH ATTENTION; QQK
-2F8FF ; [.FB40.0020.0002.6D16][.ED16.0000.0000.6D16] # CJK COMPATIBILITY IDEOGRAPH-2F8FF; QQC
-F915 ; [.FB40.0020.0002.6D1B][.ED1B.0000.0000.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915; QQC
-FA05 ; [.FB40.0020.0002.6D1E][.ED1E.0000.0000.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05; QQC
-2F907 ; [.FB40.0020.0002.6D34][.ED34.0000.0000.6D34] # CJK COMPATIBILITY IDEOGRAPH-2F907; QQC
-2F900 ; [.FB40.0020.0002.6D3E][.ED3E.0000.0000.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900; QQC
-F9CA ; [.FB40.0020.0002.6D41][.ED41.0000.0000.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA; QQC
-FA97 ; [.FB40.0020.0002.6D41][.ED41.0000.0000.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97; QQC
-2F902 ; [.FB40.0020.0002.6D41][.ED41.0000.0000.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902; QQC
-2F903 ; [.FB40.0020.0002.6D69][.ED69.0000.0000.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903; QQC
-F92A ; [.FB40.0020.0002.6D6A][.ED6A.0000.0000.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A; QQC
-FA45 ; [.FB40.0020.0002.6D77][.ED77.0000.0000.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45; QQC
-2F901 ; [.FB40.0020.0002.6D77][.ED77.0000.0000.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901; QQC
-2F904 ; [.FB40.0020.0002.6D78][.ED78.0000.0000.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904; QQC
-2F905 ; [.FB40.0020.0002.6D85][.ED85.0000.0000.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905; QQC
-F9F5 ; [.FB40.0020.0002.6DCB][.EDCB.0000.0000.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5; QQC
-F94D ; [.FB40.0020.0002.6DDA][.EDDA.0000.0000.6DDA] # CJK COMPATIBILITY IDEOGRAPH-F94D; QQC
-F9D6 ; [.FB40.0020.0002.6DEA][.EDEA.0000.0000.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6; QQC
-2F90E ; [.FB40.0020.0002.6DF9][.EDF9.0000.0000.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E; QQC
-FA46 ; [.FB40.0020.0002.6E1A][.EE1A.0000.0000.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46; QQC
-2F908 ; [.FB40.0020.0002.6E2F][.EE2F.0000.0000.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908; QQC
-2F909 ; [.FB40.0020.0002.6E6E][.EE6E.0000.0000.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909; QQC
-1F235 ; [.FB40.0020.001C.6E80][.EE80.0000.0000.6E80] # SQUARED CJK UNIFIED IDEOGRAPH-6E80; QQK
-F9CB ; [.FB40.0020.0002.6E9C][.EE9C.0000.0000.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB; QQC
-F9EC ; [.FB40.0020.0002.6EBA][.EEBA.0000.0000.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC; QQC
-2F90C ; [.FB40.0020.0002.6EC7][.EEC7.0000.0000.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C; QQC
-FA99 ; [.FB40.0020.0002.6ECB][.EECB.0000.0000.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99; QQC
-2F90B ; [.FB40.0020.0002.6ECB][.EECB.0000.0000.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B; QQC
-F904 ; [.FB40.0020.0002.6ED1][.EED1.0000.0000.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904; QQC
-FA98 ; [.FB40.0020.0002.6EDB][.EEDB.0000.0000.6EDB] # CJK COMPATIBILITY IDEOGRAPH-FA98; QQC
-F94E ; [.FB40.0020.0002.6F0F][.EF0F.0000.0000.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E; QQC
-1F226 ; [.FB40.0020.001C.6F14][.EF14.0000.0000.6F14] # SQUARED CJK UNIFIED IDEOGRAPH-6F14; QQK
-FA47 ; [.FB40.0020.0002.6F22][.EF22.0000.0000.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47; QQC
-FA9A ; [.FB40.0020.0002.6F22][.EF22.0000.0000.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A; QQC
-F992 ; [.FB40.0020.0002.6F23][.EF23.0000.0000.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992; QQC
-2F90F ; [.FB40.0020.0002.6F6E][.EF6E.0000.0000.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F; QQC
-2F912 ; [.FB40.0020.0002.6FC6][.EFC6.0000.0000.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912; QQC
-F922 ; [.FB40.0020.0002.6FEB][.EFEB.0000.0000.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922; QQC
-F984 ; [.FB40.0020.0002.6FFE][.EFFE.0000.0000.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984; QQC
-2F915 ; [.FB40.0020.0002.701B][.F01B.0000.0000.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915; QQC
-FA9B ; [.FB40.0020.0002.701E][.F01E.0000.0000.701E] # CJK COMPATIBILITY IDEOGRAPH-FA9B; QQC
-2F914 ; [.FB40.0020.0002.701E][.F01E.0000.0000.701E] # CJK COMPATIBILITY IDEOGRAPH-2F914; QQC
-2F913 ; [.FB40.0020.0002.7039][.F039.0000.0000.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913; QQC
-2F917 ; [.FB40.0020.0002.704A][.F04A.0000.0000.704A] # CJK COMPATIBILITY IDEOGRAPH-2F917; QQC
-2F55 ; [.FB40.0020.0004.706B][.F06B.0000.0000.706B] # KANGXI RADICAL FIRE; QQK
-322B ; [*030E.0020.0004.322B][.FB40.0020.0004.706B][.F06B.0000.0000.706B][*030F.0020.001F.322B] # PARENTHESIZED IDEOGRAPH FIRE; QQKN
-328B ; [.FB40.0020.0006.706B][.F06B.0000.0000.706B] # CIRCLED IDEOGRAPH FIRE; QQK
-2EA3 ; [.FB40.0020.0004.706C][.F06C.0000.0000.706C] # CJK RADICAL FIRE; QQK
-2F835 ; [.FB40.0020.0002.7070][.F070.0000.0000.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835; QQC
-2F919 ; [.FB40.0020.0002.7077][.F077.0000.0000.7077] # CJK COMPATIBILITY IDEOGRAPH-2F919; QQC
-2F918 ; [.FB40.0020.0002.707D][.F07D.0000.0000.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918; QQC
-F9FB ; [.FB40.0020.0002.7099][.F099.0000.0000.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB; QQC
-2F91A ; [.FB40.0020.0002.70AD][.F0AD.0000.0000.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A; QQC
-1F244 ; [*0356.0020.0004.1F244][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9][*0357.0020.001F.1F244] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9; QQKN
-F99F ; [.FB40.0020.0002.70C8][.F0C8.0000.0000.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F; QQC
-F916 ; [.FB40.0020.0002.70D9][.F0D9.0000.0000.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916; QQC
-1F21A ; [.FB40.0020.001C.7121][.F121.0000.0000.7121] # SQUARED CJK UNIFIED IDEOGRAPH-7121; QQK
-2F91C ; [.FB40.0020.0002.7145][.F145.0000.0000.7145] # CJK COMPATIBILITY IDEOGRAPH-2F91C; QQC
-F993 ; [.FB40.0020.0002.7149][.F149.0000.0000.7149] # CJK COMPATIBILITY IDEOGRAPH-F993; QQC
-FA48 ; [.FB40.0020.0002.716E][.F16E.0000.0000.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48; QQC
-FA9C ; [.FB40.0020.0002.716E][.F16E.0000.0000.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C; QQC
-2F91E ; [.FB40.0020.0002.719C][.F19C.0000.0000.719C] # CJK COMPATIBILITY IDEOGRAPH-2F91E; QQC
-F9C0 ; [.FB40.0020.0002.71CE][.F1CE.0000.0000.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0; QQC
-F9EE ; [.FB40.0020.0002.71D0][.F1D0.0000.0000.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE; QQC
-F932 ; [.FB40.0020.0002.7210][.F210.0000.0000.7210] # CJK COMPATIBILITY IDEOGRAPH-F932; QQC
-F91E ; [.FB40.0020.0002.721B][.F21B.0000.0000.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E; QQC
-2F920 ; [.FB40.0020.0002.7228][.F228.0000.0000.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920; QQC
-2F56 ; [.FB40.0020.0004.722A][.F22A.0000.0000.722A] # KANGXI RADICAL CLAW; QQK
-FA49 ; [.FB40.0020.0002.722B][.F22B.0000.0000.722B] # CJK COMPATIBILITY IDEOGRAPH-FA49; QQC
-2EA4 ; [.FB40.0020.0004.722B][.F22B.0000.0000.722B] # CJK RADICAL PAW ONE; QQK
-2EA5 ; [.FB40.0020.0004.722B][.F22B.0000.0000.722B][.0000.015F.001F.2EA5] # CJK RADICAL PAW TWO; QQKN
-FA9E ; [.FB40.0020.0002.7235][.F235.0000.0000.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E; QQC
-2F921 ; [.FB40.0020.0002.7235][.F235.0000.0000.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921; QQC
-2F57 ; [.FB40.0020.0004.7236][.F236.0000.0000.7236] # KANGXI RADICAL FATHER; QQK
-2F58 ; [.FB40.0020.0004.723B][.F23B.0000.0000.723B] # KANGXI RADICAL DOUBLE X; QQK
-2F59 ; [.FB40.0020.0004.723F][.F23F.0000.0000.723F] # KANGXI RADICAL HALF TREE TRUNK; QQK
-2F5A ; [.FB40.0020.0004.7247][.F247.0000.0000.7247] # KANGXI RADICAL SLICE; QQK
-2F922 ; [.FB40.0020.0002.7250][.F250.0000.0000.7250] # CJK COMPATIBILITY IDEOGRAPH-2F922; QQC
-2F5B ; [.FB40.0020.0004.7259][.F259.0000.0000.7259] # KANGXI RADICAL FANG; QQK
-2F5C ; [.FB40.0020.0004.725B][.F25B.0000.0000.725B] # KANGXI RADICAL COW; QQK
-2EA7 ; [.FB40.0020.0004.725B][.F25B.0000.0000.725B][.0000.015F.001F.2EA7] # CJK RADICAL COW; QQKN
-F946 ; [.FB40.0020.0002.7262][.F262.0000.0000.7262] # CJK COMPATIBILITY IDEOGRAPH-F946; QQC
-3235 ; [*030E.0020.0004.3235][.FB40.0020.0004.7279][.F279.0000.0000.7279][*030F.0020.001F.3235] # PARENTHESIZED IDEOGRAPH SPECIAL; QQKN
-3295 ; [.FB40.0020.0006.7279][.F279.0000.0000.7279] # CIRCLED IDEOGRAPH SPECIAL; QQK
-2F924 ; [.FB40.0020.0002.7280][.F280.0000.0000.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924; QQC
-2F925 ; [.FB40.0020.0002.7295][.F295.0000.0000.7295] # CJK COMPATIBILITY IDEOGRAPH-2F925; QQC
-2F5D ; [.FB40.0020.0004.72AC][.F2AC.0000.0000.72AC] # KANGXI RADICAL DOG; QQK
-2EA8 ; [.FB40.0020.0004.72AD][.F2AD.0000.0000.72AD] # CJK RADICAL DOG; QQK
-FA9F ; [.FB40.0020.0002.72AF][.F2AF.0000.0000.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F; QQC
-F9FA ; [.FB40.0020.0002.72C0][.F2C0.0000.0000.72C0] # CJK COMPATIBILITY IDEOGRAPH-F9FA; QQC
-F92B ; [.FB40.0020.0002.72FC][.F2FC.0000.0000.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B; QQC
-FA16 ; [.FB40.0020.0002.732A][.F32A.0000.0000.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16; QQC
-FAA0 ; [.FB40.0020.0002.732A][.F32A.0000.0000.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0; QQC
-F9A7 ; [.FB40.0020.0002.7375][.F375.0000.0000.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7; QQC
-2F928 ; [.FB40.0020.0002.737A][.F37A.0000.0000.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928; QQC
-2F5E ; [.FB40.0020.0004.7384][.F384.0000.0000.7384] # KANGXI RADICAL PROFOUND; QQK
-F961 ; [.FB40.0020.0002.7387][.F387.0000.0000.7387] # CJK COMPATIBILITY IDEOGRAPH-F961; QQC
-F9DB ; [.FB40.0020.0002.7387][.F387.0000.0000.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB; QQC
-2F5F ; [.FB40.0020.0004.7389][.F389.0000.0000.7389] # KANGXI RADICAL JADE; QQK
-2F929 ; [.FB40.0020.0002.738B][.F38B.0000.0000.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929; QQC
-2EA9 ; [.FB40.0020.0004.738B][.F38B.0000.0000.738B][.0000.015F.001F.2EA9] # CJK RADICAL JADE; QQKN
-2F92B ; [.FB40.0020.0002.73A5][.F3A5.0000.0000.73A5] # CJK COMPATIBILITY IDEOGRAPH-2F92B; QQC
-F9AD ; [.FB40.0020.0002.73B2][.F3B2.0000.0000.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD; QQC
-F917 ; [.FB40.0020.0002.73DE][.F3DE.0000.0000.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917; QQC
-F9E4 ; [.FB40.0020.0002.7406][.F406.0000.0000.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4; QQC
-F9CC ; [.FB40.0020.0002.7409][.F409.0000.0000.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC; QQC
-FA4A ; [.FB40.0020.0002.7422][.F422.0000.0000.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A; QQC
-2F92E ; [.FB40.0020.0002.7447][.F447.0000.0000.7447] # CJK COMPATIBILITY IDEOGRAPH-2F92E; QQC
-2F92F ; [.FB40.0020.0002.745C][.F45C.0000.0000.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F; QQC
-F9AE ; [.FB40.0020.0002.7469][.F469.0000.0000.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE; QQC
-FAA1 ; [.FB40.0020.0002.7471][.F471.0000.0000.7471] # CJK COMPATIBILITY IDEOGRAPH-FAA1; QQC
-2F930 ; [.FB40.0020.0002.7471][.F471.0000.0000.7471] # CJK COMPATIBILITY IDEOGRAPH-2F930; QQC
-2F931 ; [.FB40.0020.0002.7485][.F485.0000.0000.7485] # CJK COMPATIBILITY IDEOGRAPH-2F931; QQC
-F994 ; [.FB40.0020.0002.7489][.F489.0000.0000.7489] # CJK COMPATIBILITY IDEOGRAPH-F994; QQC
-F9EF ; [.FB40.0020.0002.7498][.F498.0000.0000.7498] # CJK COMPATIBILITY IDEOGRAPH-F9EF; QQC
-2F932 ; [.FB40.0020.0002.74CA][.F4CA.0000.0000.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932; QQC
-2F60 ; [.FB40.0020.0004.74DC][.F4DC.0000.0000.74DC] # KANGXI RADICAL MELON; QQK
-2F61 ; [.FB40.0020.0004.74E6][.F4E6.0000.0000.74E6] # KANGXI RADICAL TILE; QQK
-FAA2 ; [.FB40.0020.0002.7506][.F506.0000.0000.7506] # CJK COMPATIBILITY IDEOGRAPH-FAA2; QQC
-2F62 ; [.FB40.0020.0004.7518][.F518.0000.0000.7518] # KANGXI RADICAL SWEET; QQK
-2F63 ; [.FB40.0020.0004.751F][.F51F.0000.0000.751F] # KANGXI RADICAL LIFE; QQK
-1F222 ; [.FB40.0020.001C.751F][.F51F.0000.0000.751F] # SQUARED CJK UNIFIED IDEOGRAPH-751F; QQK
-2F934 ; [.FB40.0020.0002.7524][.F524.0000.0000.7524] # CJK COMPATIBILITY IDEOGRAPH-2F934; QQC
-2F64 ; [.FB40.0020.0004.7528][.F528.0000.0000.7528] # KANGXI RADICAL USE; QQK
-2F65 ; [.FB40.0020.0004.7530][.F530.0000.0000.7530] # KANGXI RADICAL FIELD; QQK
-3199 ; [.FB40.0020.0014.7532][.F532.0000.0000.7532] # IDEOGRAPHIC ANNOTATION FIRST MARK; QQK
-1F238 ; [.FB40.0020.001C.7533][.F533.0000.0000.7533] # SQUARED CJK UNIFIED IDEOGRAPH-7533; QQK
-329A ; [.FB40.0020.0006.7537][.F537.0000.0000.7537] # CIRCLED IDEOGRAPH MALE; QQK
-FAA3 ; [.FB40.0020.0002.753B][.F53B.0000.0000.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3; QQC
-2F936 ; [.FB40.0020.0002.753E][.F53E.0000.0000.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936; QQC
-F9CD ; [.FB40.0020.0002.7559][.F559.0000.0000.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD; QQC
-F976 ; [.FB40.0020.0002.7565][.F565.0000.0000.7565] # CJK COMPATIBILITY IDEOGRAPH-F976; QQC
-F962 ; [.FB40.0020.0002.7570][.F570.0000.0000.7570] # CJK COMPATIBILITY IDEOGRAPH-F962; QQC
-2F938 ; [.FB40.0020.0002.7570][.F570.0000.0000.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938; QQC
-2F66 ; [.FB40.0020.0004.758B][.F58B.0000.0000.758B] # KANGXI RADICAL BOLT OF CLOTH; QQK
-2EAA ; [.FB40.0020.0004.758B][.F58B.0000.0000.758B][.0000.015F.001F.2EAA] # CJK RADICAL BOLT OF CLOTH; QQKN
-2F67 ; [.FB40.0020.0004.7592][.F592.0000.0000.7592] # KANGXI RADICAL SICKNESS; QQK
-F9E5 ; [.FB40.0020.0002.75E2][.F5E2.0000.0000.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5; QQC
-2F93A ; [.FB40.0020.0002.7610][.F610.0000.0000.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A; QQC
-FAA4 ; [.FB40.0020.0002.761D][.F61D.0000.0000.761D] # CJK COMPATIBILITY IDEOGRAPH-FAA4; QQC
-FAA5 ; [.FB40.0020.0002.761F][.F61F.0000.0000.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5; QQC
-F9C1 ; [.FB40.0020.0002.7642][.F642.0000.0000.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1; QQC
-F90E ; [.FB40.0020.0002.7669][.F669.0000.0000.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E; QQC
-2F68 ; [.FB40.0020.0004.7676][.F676.0000.0000.7676] # KANGXI RADICAL DOTTED TENT; QQK
-2F69 ; [.FB40.0020.0004.767D][.F67D.0000.0000.767D] # KANGXI RADICAL WHITE; QQK
-2F6A ; [.FB40.0020.0004.76AE][.F6AE.0000.0000.76AE] # KANGXI RADICAL SKIN; QQK
-2F6B ; [.FB40.0020.0004.76BF][.F6BF.0000.0000.76BF] # KANGXI RADICAL DISH; QQK
-FA17 ; [.FB40.0020.0002.76CA][.F6CA.0000.0000.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17; QQC
-FAA6 ; [.FB40.0020.0002.76CA][.F6CA.0000.0000.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6; QQC
-1F246 ; [*0356.0020.0004.1F246][.FB40.0020.0004.76D7][.F6D7.0000.0000.76D7][*0357.0020.001F.1F246] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7; QQKN
-FAA7 ; [.FB40.0020.0002.76DB][.F6DB.0000.0000.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7; QQC
-323C ; [*030E.0020.0004.323C][.FB40.0020.0004.76E3][.F6E3.0000.0000.76E3][*030F.0020.001F.323C] # PARENTHESIZED IDEOGRAPH SUPERVISE; QQKN
-32AC ; [.FB40.0020.0006.76E3][.F6E3.0000.0000.76E3] # CIRCLED IDEOGRAPH SUPERVISE; QQK
-F933 ; [.FB40.0020.0002.76E7][.F6E7.0000.0000.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933; QQC
-2F6C ; [.FB40.0020.0004.76EE][.F6EE.0000.0000.76EE] # KANGXI RADICAL EYE; QQK
-2EAB ; [.FB40.0020.0004.76EE][.F6EE.0000.0000.76EE][.0000.015F.001F.2EAB] # CJK RADICAL EYE; QQKN
-FAA8 ; [.FB40.0020.0002.76F4][.F6F4.0000.0000.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8; QQC
-2F940 ; [.FB40.0020.0002.76F4][.F6F4.0000.0000.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940; QQC
-F96D ; [.FB40.0020.0002.7701][.F701.0000.0000.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D; QQC
-2F945 ; [.FB40.0020.0002.771E][.F71E.0000.0000.771E] # CJK COMPATIBILITY IDEOGRAPH-2F945; QQC
-2F946 ; [.FB40.0020.0002.771F][.F71F.0000.0000.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946; QQC
-2F947 ; [.FB40.0020.0002.771F][.F71F.0000.0000.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947; QQC
-FAAA ; [.FB40.0020.0002.7740][.F740.0000.0000.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA; QQC
-FAA9 ; [.FB40.0020.0002.774A][.F74A.0000.0000.774A] # CJK COMPATIBILITY IDEOGRAPH-FAA9; QQC
-2F948 ; [.FB40.0020.0002.774A][.F74A.0000.0000.774A] # CJK COMPATIBILITY IDEOGRAPH-2F948; QQC
-2F94A ; [.FB40.0020.0002.778B][.F78B.0000.0000.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A; QQC
-FA9D ; [.FB40.0020.0002.77A7][.F7A7.0000.0000.77A7] # CJK COMPATIBILITY IDEOGRAPH-FA9D; QQC
-2F6D ; [.FB40.0020.0004.77DB][.F7DB.0000.0000.77DB] # KANGXI RADICAL SPEAR; QQK
-2F6E ; [.FB40.0020.0004.77E2][.F7E2.0000.0000.77E2] # KANGXI RADICAL ARROW; QQK
-2F6F ; [.FB40.0020.0004.77F3][.F7F3.0000.0000.77F3] # KANGXI RADICAL STONE; QQK
-2F94E ; [.FB40.0020.0002.784E][.F84E.0000.0000.784E] # CJK COMPATIBILITY IDEOGRAPH-2F94E; QQC
-F9CE ; [.FB40.0020.0002.786B][.F86B.0000.0000.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE; QQC
-F93B ; [.FB40.0020.0002.788C][.F88C.0000.0000.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B; QQC
-2F94F ; [.FB40.0020.0002.788C][.F88C.0000.0000.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F; QQC
-FA4B ; [.FB40.0020.0002.7891][.F891.0000.0000.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B; QQC
-F947 ; [.FB40.0020.0002.78CA][.F8CA.0000.0000.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947; QQC
-FAAB ; [.FB40.0020.0002.78CC][.F8CC.0000.0000.78CC] # CJK COMPATIBILITY IDEOGRAPH-FAAB; QQC
-2F950 ; [.FB40.0020.0002.78CC][.F8CC.0000.0000.78CC] # CJK COMPATIBILITY IDEOGRAPH-2F950; QQC
-F964 ; [.FB40.0020.0002.78FB][.F8FB.0000.0000.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964; QQC
-F985 ; [.FB40.0020.0002.792A][.F92A.0000.0000.792A] # CJK COMPATIBILITY IDEOGRAPH-F985; QQC
-2F70 ; [.FB40.0020.0004.793A][.F93A.0000.0000.793A] # KANGXI RADICAL SPIRIT; QQK
-2EAC ; [.FB40.0020.0004.793A][.F93A.0000.0000.793A][.0000.015F.001F.2EAC] # CJK RADICAL SPIRIT ONE; QQKN
-2EAD ; [.FB40.0020.0004.793B][.F93B.0000.0000.793B] # CJK RADICAL SPIRIT TWO; QQK
-FA18 ; [.FB40.0020.0002.793C][.F93C.0000.0000.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18; QQC
-FA4C ; [.FB40.0020.0002.793E][.F93E.0000.0000.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C; QQC
-3233 ; [*030E.0020.0004.3233][.FB40.0020.0004.793E][.F93E.0000.0000.793E][*030F.0020.001F.3233] # PARENTHESIZED IDEOGRAPH SOCIETY; QQKN
-3293 ; [.FB40.0020.0006.793E][.F93E.0000.0000.793E] # CIRCLED IDEOGRAPH SOCIETY; QQK
-FA4E ; [.FB40.0020.0002.7948][.F948.0000.0000.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E; QQC
-FA4D ; [.FB40.0020.0002.7949][.F949.0000.0000.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D; QQC
-FA4F ; [.FB40.0020.0002.7950][.F950.0000.0000.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F; QQC
-FA50 ; [.FB40.0020.0002.7956][.F956.0000.0000.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50; QQC
-2F953 ; [.FB40.0020.0002.7956][.F956.0000.0000.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953; QQC
-FA51 ; [.FB40.0020.0002.795D][.F95D.0000.0000.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51; QQC
-3237 ; [*030E.0020.0004.3237][.FB40.0020.0004.795D][.F95D.0000.0000.795D][*030F.0020.001F.3237] # PARENTHESIZED IDEOGRAPH CONGRATULATION; QQKN
-3297 ; [.FB40.0020.0006.795D][.F95D.0000.0000.795D] # CIRCLED IDEOGRAPH CONGRATULATION; QQK
-FA19 ; [.FB40.0020.0002.795E][.F95E.0000.0000.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19; QQC
-FA1A ; [.FB40.0020.0002.7965][.F965.0000.0000.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A; QQC
-3240 ; [*030E.0020.0004.3240][.FB40.0020.0004.796D][.F96D.0000.0000.796D][*030F.0020.001F.3240] # PARENTHESIZED IDEOGRAPH FESTIVAL; QQKN
-F93C ; [.FB40.0020.0002.797F][.F97F.0000.0000.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C; QQC
-1F232 ; [.FB40.0020.001C.7981][.F981.0000.0000.7981] # SQUARED CJK UNIFIED IDEOGRAPH-7981; QQK
-FA52 ; [.FB40.0020.0002.798D][.F98D.0000.0000.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52; QQC
-FA53 ; [.FB40.0020.0002.798E][.F98E.0000.0000.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53; QQC
-FA1B ; [.FB40.0020.0002.798F][.F98F.0000.0000.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B; QQC
-2F956 ; [.FB40.0020.0002.798F][.F98F.0000.0000.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956; QQC
-F9B6 ; [.FB40.0020.0002.79AE][.F9AE.0000.0000.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6; QQC
-2F71 ; [.FB40.0020.0004.79B8][.F9B8.0000.0000.79B8] # KANGXI RADICAL TRACK; QQK
-2F72 ; [.FB40.0020.0004.79BE][.F9BE.0000.0000.79BE] # KANGXI RADICAL GRAIN; QQK
-F995 ; [.FB40.0020.0002.79CA][.F9CA.0000.0000.79CA] # CJK COMPATIBILITY IDEOGRAPH-F995; QQC
-3299 ; [.FB40.0020.0006.79D8][.F9D8.0000.0000.79D8] # CIRCLED IDEOGRAPH SECRET; QQK
-2F957 ; [.FB40.0020.0002.79EB][.F9EB.0000.0000.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957; QQC
-F956 ; [.FB40.0020.0002.7A1C][.FA1C.0000.0000.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956; QQC
-FA54 ; [.FB40.0020.0002.7A40][.FA40.0000.0000.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54; QQC
-2F959 ; [.FB40.0020.0002.7A40][.FA40.0000.0000.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959; QQC
-2F95A ; [.FB40.0020.0002.7A4A][.FA4A.0000.0000.7A4A] # CJK COMPATIBILITY IDEOGRAPH-2F95A; QQC
-2F95B ; [.FB40.0020.0002.7A4F][.FA4F.0000.0000.7A4F] # CJK COMPATIBILITY IDEOGRAPH-2F95B; QQC
-2F73 ; [.FB40.0020.0004.7A74][.FA74.0000.0000.7A74] # KANGXI RADICAL CAVE; QQK
-1F233 ; [.FB40.0020.001C.7A7A][.FA7A.0000.0000.7A7A] # SQUARED CJK UNIFIED IDEOGRAPH-7A7A; QQK
-FA55 ; [.FB40.0020.0002.7A81][.FA81.0000.0000.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55; QQC
-FAAC ; [.FB40.0020.0002.7AB1][.FAB1.0000.0000.7AB1] # CJK COMPATIBILITY IDEOGRAPH-FAAC; QQC
-F9F7 ; [.FB40.0020.0002.7ACB][.FACB.0000.0000.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7; QQC
-2F74 ; [.FB40.0020.0004.7ACB][.FACB.0000.0000.7ACB] # KANGXI RADICAL STAND; QQK
-2F95F ; [.FB40.0020.0002.7AEE][.FAEE.0000.0000.7AEE] # CJK COMPATIBILITY IDEOGRAPH-2F95F; QQC
-2F75 ; [.FB40.0020.0004.7AF9][.FAF9.0000.0000.7AF9] # KANGXI RADICAL BAMBOO; QQK
-2EAE ; [.FB40.0020.0004.7AF9][.FAF9.0000.0000.7AF9][.0000.015F.001F.2EAE] # CJK RADICAL BAMBOO; QQKN
-F9F8 ; [.FB40.0020.0002.7B20][.FB20.0000.0000.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8; QQC
-3247 ; [.FB40.0020.0006.7B8F][.FB8F.0000.0000.7B8F] # CIRCLED IDEOGRAPH KOTO; QQK
-FA56 ; [.FB40.0020.0002.7BC0][.FBC0.0000.0000.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56; QQC
-FAAD ; [.FB40.0020.0002.7BC0][.FBC0.0000.0000.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD; QQC
-2F962 ; [.FB40.0020.0002.7BC6][.FBC6.0000.0000.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962; QQC
-2F963 ; [.FB40.0020.0002.7BC9][.FBC9.0000.0000.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963; QQC
-F9A6 ; [.FB40.0020.0002.7C3E][.FC3E.0000.0000.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6; QQC
-F944 ; [.FB40.0020.0002.7C60][.FC60.0000.0000.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944; QQC
-2F76 ; [.FB40.0020.0004.7C73][.FC73.0000.0000.7C73] # KANGXI RADICAL RICE; QQK
-FAAE ; [.FB40.0020.0002.7C7B][.FC7B.0000.0000.7C7B] # CJK COMPATIBILITY IDEOGRAPH-FAAE; QQC
-F9F9 ; [.FB40.0020.0002.7C92][.FC92.0000.0000.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9; QQC
-FA1D ; [.FB40.0020.0002.7CBE][.FCBE.0000.0000.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D; QQC
-2F966 ; [.FB40.0020.0002.7CD2][.FCD2.0000.0000.7CD2] # CJK COMPATIBILITY IDEOGRAPH-2F966; QQC
-FA03 ; [.FB40.0020.0002.7CD6][.FCD6.0000.0000.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03; QQC
-2F969 ; [.FB40.0020.0002.7CE3][.FCE3.0000.0000.7CE3] # CJK COMPATIBILITY IDEOGRAPH-2F969; QQC
-F97B ; [.FB40.0020.0002.7CE7][.FCE7.0000.0000.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B; QQC
-2F968 ; [.FB40.0020.0002.7CE8][.FCE8.0000.0000.7CE8] # CJK COMPATIBILITY IDEOGRAPH-2F968; QQC
-2F77 ; [.FB40.0020.0004.7CF8][.FCF8.0000.0000.7CF8] # KANGXI RADICAL SILK; QQK
-2EAF ; [.FB40.0020.0004.7CF9][.FCF9.0000.0000.7CF9] # CJK RADICAL SILK; QQK
-2F96A ; [.FB40.0020.0002.7D00][.FD00.0000.0000.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A; QQC
-F9CF ; [.FB40.0020.0002.7D10][.FD10.0000.0000.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF; QQC
-F96A ; [.FB40.0020.0002.7D22][.FD22.0000.0000.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A; QQC
-F94F ; [.FB40.0020.0002.7D2F][.FD2F.0000.0000.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F; QQC
-1F221 ; [.FB40.0020.001C.7D42][.FD42.0000.0000.7D42] # SQUARED CJK UNIFIED IDEOGRAPH-7D42; QQK
-FAAF ; [.FB40.0020.0002.7D5B][.FD5B.0000.0000.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF; QQC
-2F96C ; [.FB40.0020.0002.7D63][.FD63.0000.0000.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C; QQC
-F93D ; [.FB40.0020.0002.7DA0][.FDA0.0000.0000.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D; QQC
-F957 ; [.FB40.0020.0002.7DBE][.FDBE.0000.0000.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957; QQC
-2F96E ; [.FB40.0020.0002.7DC7][.FDC7.0000.0000.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E; QQC
-F996 ; [.FB40.0020.0002.7DF4][.FDF4.0000.0000.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996; QQC
-FA57 ; [.FB40.0020.0002.7DF4][.FDF4.0000.0000.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57; QQC
-FAB0 ; [.FB40.0020.0002.7DF4][.FDF4.0000.0000.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0; QQC
-2F96F ; [.FB40.0020.0002.7E02][.FE02.0000.0000.7E02] # CJK COMPATIBILITY IDEOGRAPH-2F96F; QQC
-FA58 ; [.FB40.0020.0002.7E09][.FE09.0000.0000.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58; QQC
-F950 ; [.FB40.0020.0002.7E37][.FE37.0000.0000.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950; QQC
-FA59 ; [.FB40.0020.0002.7E41][.FE41.0000.0000.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59; QQC
-2F970 ; [.FB40.0020.0002.7E45][.FE45.0000.0000.7E45] # CJK COMPATIBILITY IDEOGRAPH-2F970; QQC
-2EB0 ; [.FB40.0020.0004.7E9F][.FE9F.0000.0000.7E9F] # CJK RADICAL C-SIMPLIFIED SILK; QQK
-2F78 ; [.FB40.0020.0004.7F36][.FF36.0000.0000.7F36] # KANGXI RADICAL JAR; QQK
-FAB1 ; [.FB40.0020.0002.7F3E][.FF3E.0000.0000.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1; QQC
-2F79 ; [.FB40.0020.0004.7F51][.FF51.0000.0000.7F51] # KANGXI RADICAL NET; QQK
-2EB2 ; [.FB40.0020.0004.7F52][.FF52.0000.0000.7F52] # CJK RADICAL NET TWO; QQK
-2EB5 ; [.FB40.0020.0004.7F52][.FF52.0000.0000.7F52][.0000.015F.001F.2EB5] # CJK RADICAL MESH; QQKN
-2EB1 ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53] # CJK RADICAL NET ONE; QQK
-2EB3 ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53][.0000.015F.001F.2EB3] # CJK RADICAL NET THREE; QQKN
-2EB4 ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53][.0000.0160.001F.2EB4] # CJK RADICAL NET FOUR; QQKN
-FA5A ; [.FB40.0020.0002.7F72][.FF72.0000.0000.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A; QQC
-F9E6 ; [.FB40.0020.0002.7F79][.FF79.0000.0000.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6; QQC
-2F976 ; [.FB40.0020.0002.7F7A][.FF7A.0000.0000.7F7A] # CJK COMPATIBILITY IDEOGRAPH-2F976; QQC
-F90F ; [.FB40.0020.0002.7F85][.FF85.0000.0000.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F; QQC
-2F7A ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A] # KANGXI RADICAL SHEEP; QQK
-2EB6 ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A][.0000.015F.001F.2EB6] # CJK RADICAL SHEEP; QQKN
-2EB7 ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A][.0000.0160.001F.2EB7] # CJK RADICAL RAM; QQKN
-2EB8 ; [.FB40.0020.0004.7F8B][.FF8B.0000.0000.7F8B] # CJK RADICAL EWE; QQK
-2F978 ; [.FB40.0020.0002.7F95][.FF95.0000.0000.7F95] # CJK COMPATIBILITY IDEOGRAPH-2F978; QQC
-F9AF ; [.FB40.0020.0002.7F9A][.FF9A.0000.0000.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF; QQC
-FA1E ; [.FB40.0020.0002.7FBD][.FFBD.0000.0000.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E; QQC
-2F7B ; [.FB40.0020.0004.7FBD][.FFBD.0000.0000.7FBD] # KANGXI RADICAL FEATHER; QQK
-2F979 ; [.FB40.0020.0002.7FFA][.FFFA.0000.0000.7FFA] # CJK COMPATIBILITY IDEOGRAPH-2F979; QQC
-F934 ; [.FB41.0020.0002.8001][.8001.0000.0000.8001] # CJK COMPATIBILITY IDEOGRAPH-F934; QQC
-2F7C ; [.FB41.0020.0004.8001][.8001.0000.0000.8001] # KANGXI RADICAL OLD; QQK
-2EB9 ; [.FB41.0020.0004.8002][.8002.0000.0000.8002] # CJK RADICAL OLD; QQK
-FA5B ; [.FB41.0020.0002.8005][.8005.0000.0000.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B; QQC
-FAB2 ; [.FB41.0020.0002.8005][.8005.0000.0000.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2; QQC
-2F97A ; [.FB41.0020.0002.8005][.8005.0000.0000.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A; QQC
-2F7D ; [.FB41.0020.0004.800C][.800C.0000.0000.800C] # KANGXI RADICAL AND; QQK
-2F7E ; [.FB41.0020.0004.8012][.8012.0000.0000.8012] # KANGXI RADICAL PLOW; QQK
-2F7F ; [.FB41.0020.0004.8033][.8033.0000.0000.8033] # KANGXI RADICAL EAR; QQK
-F9B0 ; [.FB41.0020.0002.8046][.8046.0000.0000.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0; QQC
-2F97D ; [.FB41.0020.0002.8060][.8060.0000.0000.8060] # CJK COMPATIBILITY IDEOGRAPH-2F97D; QQC
-F997 ; [.FB41.0020.0002.806F][.806F.0000.0000.806F] # CJK COMPATIBILITY IDEOGRAPH-F997; QQC
-2F97F ; [.FB41.0020.0002.8070][.8070.0000.0000.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F; QQC
-F945 ; [.FB41.0020.0002.807E][.807E.0000.0000.807E] # CJK COMPATIBILITY IDEOGRAPH-F945; QQC
-2F80 ; [.FB41.0020.0004.807F][.807F.0000.0000.807F] # KANGXI RADICAL BRUSH; QQK
-2EBB ; [.FB41.0020.0004.807F][.807F.0000.0000.807F][.0000.015F.001F.2EBB] # CJK RADICAL BRUSH TWO; QQKN
-2EBA ; [.FB41.0020.0004.8080][.8080.0000.0000.8080] # CJK RADICAL BRUSH ONE; QQK
-2F81 ; [.FB41.0020.0004.8089][.8089.0000.0000.8089] # KANGXI RADICAL MEAT; QQK
-2EBC ; [.FB41.0020.0004.8089][.8089.0000.0000.8089][.0000.015F.001F.2EBC] # CJK RADICAL MEAT; QQKN
-F953 ; [.FB41.0020.0002.808B][.808B.0000.0000.808B] # CJK COMPATIBILITY IDEOGRAPH-F953; QQC
-2F8D6 ; [.FB41.0020.0002.80AD][.80AD.0000.0000.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6; QQC
-2F982 ; [.FB41.0020.0002.80B2][.80B2.0000.0000.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982; QQC
-2F983 ; [.FB41.0020.0002.8103][.8103.0000.0000.8103] # CJK COMPATIBILITY IDEOGRAPH-2F983; QQC
-2F985 ; [.FB41.0020.0002.813E][.813E.0000.0000.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985; QQC
-F926 ; [.FB41.0020.0002.81D8][.81D8.0000.0000.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926; QQC
-2F82 ; [.FB41.0020.0004.81E3][.81E3.0000.0000.81E3] # KANGXI RADICAL MINISTER; QQK
-F9F6 ; [.FB41.0020.0002.81E8][.81E8.0000.0000.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6; QQC
-2F83 ; [.FB41.0020.0004.81EA][.81EA.0000.0000.81EA] # KANGXI RADICAL SELF; QQK
-3242 ; [*030E.0020.0004.3242][.FB41.0020.0004.81EA][.81EA.0000.0000.81EA][*030F.0020.001F.3242] # PARENTHESIZED IDEOGRAPH SELF; QQKN
-FA5C ; [.FB41.0020.0002.81ED][.81ED.0000.0000.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C; QQC
-2F84 ; [.FB41.0020.0004.81F3][.81F3.0000.0000.81F3] # KANGXI RADICAL ARRIVE; QQK
-3243 ; [*030E.0020.0004.3243][.FB41.0020.0004.81F3][.81F3.0000.0000.81F3][*030F.0020.001F.3243] # PARENTHESIZED IDEOGRAPH REACH; QQKN
-2F85 ; [.FB41.0020.0004.81FC][.81FC.0000.0000.81FC] # KANGXI RADICAL MORTAR; QQK
-2EBD ; [.FB41.0020.0004.81FC][.81FC.0000.0000.81FC][.0000.015F.001F.2EBD] # CJK RADICAL MORTAR; QQKN
-2F893 ; [.FB41.0020.0002.8201][.8201.0000.0000.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893; QQC
-2F98B ; [.FB41.0020.0002.8201][.8201.0000.0000.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B; QQC
-2F98C ; [.FB41.0020.0002.8204][.8204.0000.0000.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C; QQC
-2F86 ; [.FB41.0020.0004.820C][.820C.0000.0000.820C] # KANGXI RADICAL TONGUE; QQK
-FA6D ; [.FB41.0020.0002.8218][.8218.0000.0000.8218] # CJK COMPATIBILITY IDEOGRAPH-FA6D; QQC
-2F87 ; [.FB41.0020.0004.821B][.821B.0000.0000.821B] # KANGXI RADICAL OPPOSE; QQK
-2F88 ; [.FB41.0020.0004.821F][.821F.0000.0000.821F] # KANGXI RADICAL BOAT; QQK
-2F89 ; [.FB41.0020.0004.826E][.826E.0000.0000.826E] # KANGXI RADICAL STOPPING; QQK
-F97C ; [.FB41.0020.0002.826F][.826F.0000.0000.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C; QQC
-2F8A ; [.FB41.0020.0004.8272][.8272.0000.0000.8272] # KANGXI RADICAL COLOR; QQK
-2F8B ; [.FB41.0020.0004.8278][.8278.0000.0000.8278] # KANGXI RADICAL GRASS; QQK
-FA5D ; [.FB41.0020.0002.8279][.8279.0000.0000.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5D; QQC
-FA5E ; [.FB41.0020.0002.8279][.8279.0000.0000.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5E; QQC
-2EBE ; [.FB41.0020.0004.8279][.8279.0000.0000.8279] # CJK RADICAL GRASS ONE; QQK
-2EBF ; [.FB41.0020.0004.8279][.8279.0000.0000.8279][.0000.015F.001F.2EBF] # CJK RADICAL GRASS TWO; QQKN
-2EC0 ; [.FB41.0020.0004.8279][.8279.0000.0000.8279][.0000.0160.001F.2EC0] # CJK RADICAL GRASS THREE; QQKN
-2F990 ; [.FB41.0020.0002.828B][.828B.0000.0000.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990; QQC
-2F98F ; [.FB41.0020.0002.8291][.8291.0000.0000.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F; QQC
-2F991 ; [.FB41.0020.0002.829D][.829D.0000.0000.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991; QQC
-2F993 ; [.FB41.0020.0002.82B1][.82B1.0000.0000.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993; QQC
-2F994 ; [.FB41.0020.0002.82B3][.82B3.0000.0000.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994; QQC
-2F995 ; [.FB41.0020.0002.82BD][.82BD.0000.0000.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995; QQC
-F974 ; [.FB41.0020.0002.82E5][.82E5.0000.0000.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974; QQC
-2F998 ; [.FB41.0020.0002.82E5][.82E5.0000.0000.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998; QQC
-2F996 ; [.FB41.0020.0002.82E6][.82E6.0000.0000.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996; QQC
-2F999 ; [.FB41.0020.0002.831D][.831D.0000.0000.831D] # CJK COMPATIBILITY IDEOGRAPH-2F999; QQC
-2F99C ; [.FB41.0020.0002.8323][.8323.0000.0000.8323] # CJK COMPATIBILITY IDEOGRAPH-2F99C; QQC
-F9FE ; [.FB41.0020.0002.8336][.8336.0000.0000.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE; QQC
-FAB3 ; [.FB41.0020.0002.8352][.8352.0000.0000.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3; QQC
-2F9A0 ; [.FB41.0020.0002.8353][.8353.0000.0000.8353] # CJK COMPATIBILITY IDEOGRAPH-2F9A0; QQC
-2F99A ; [.FB41.0020.0002.8363][.8363.0000.0000.8363] # CJK COMPATIBILITY IDEOGRAPH-2F99A; QQC
-2F99B ; [.FB41.0020.0002.83AD][.83AD.0000.0000.83AD] # CJK COMPATIBILITY IDEOGRAPH-2F99B; QQC
-2F99D ; [.FB41.0020.0002.83BD][.83BD.0000.0000.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D; QQC
-F93E ; [.FB41.0020.0002.83C9][.83C9.0000.0000.83C9] # CJK COMPATIBILITY IDEOGRAPH-F93E; QQC
-2F9A1 ; [.FB41.0020.0002.83CA][.83CA.0000.0000.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1; QQC
-2F9A2 ; [.FB41.0020.0002.83CC][.83CC.0000.0000.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2; QQC
-2F9A3 ; [.FB41.0020.0002.83DC][.83DC.0000.0000.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3; QQC
-2F99E ; [.FB41.0020.0002.83E7][.83E7.0000.0000.83E7] # CJK COMPATIBILITY IDEOGRAPH-2F99E; QQC
-FAB4 ; [.FB41.0020.0002.83EF][.83EF.0000.0000.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4; QQC
-F958 ; [.FB41.0020.0002.83F1][.83F1.0000.0000.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958; QQC
-F918 ; [.FB41.0020.0002.843D][.843D.0000.0000.843D] # CJK COMPATIBILITY IDEOGRAPH-F918; QQC
-F96E ; [.FB41.0020.0002.8449][.8449.0000.0000.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E; QQC
-FA5F ; [.FB41.0020.0002.8457][.8457.0000.0000.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F; QQC
-2F99F ; [.FB41.0020.0002.8457][.8457.0000.0000.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F; QQC
-F999 ; [.FB41.0020.0002.84EE][.84EE.0000.0000.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999; QQC
-2F9A8 ; [.FB41.0020.0002.84F1][.84F1.0000.0000.84F1] # CJK COMPATIBILITY IDEOGRAPH-2F9A8; QQC
-2F9A9 ; [.FB41.0020.0002.84F3][.84F3.0000.0000.84F3] # CJK COMPATIBILITY IDEOGRAPH-2F9A9; QQC
-F9C2 ; [.FB41.0020.0002.84FC][.84FC.0000.0000.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2; QQC
-2F9AA ; [.FB41.0020.0002.8516][.8516.0000.0000.8516] # CJK COMPATIBILITY IDEOGRAPH-2F9AA; QQC
-2F9AC ; [.FB41.0020.0002.8564][.8564.0000.0000.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC; QQC
-F923 ; [.FB41.0020.0002.85CD][.85CD.0000.0000.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923; QQC
-F9F0 ; [.FB41.0020.0002.85FA][.85FA.0000.0000.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0; QQC
-F935 ; [.FB41.0020.0002.8606][.8606.0000.0000.8606] # CJK COMPATIBILITY IDEOGRAPH-F935; QQC
-FA20 ; [.FB41.0020.0002.8612][.8612.0000.0000.8612] # CJK COMPATIBILITY IDEOGRAPH-FA20; QQC
-F91F ; [.FB41.0020.0002.862D][.862D.0000.0000.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F; QQC
-F910 ; [.FB41.0020.0002.863F][.863F.0000.0000.863F] # CJK COMPATIBILITY IDEOGRAPH-F910; QQC
-2F8C ; [.FB41.0020.0004.864D][.864D.0000.0000.864D] # KANGXI RADICAL TIGER; QQK
-2EC1 ; [.FB41.0020.0004.864E][.864E.0000.0000.864E] # CJK RADICAL TIGER; QQK
-2F9B3 ; [.FB41.0020.0002.8650][.8650.0000.0000.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3; QQC
-F936 ; [.FB41.0020.0002.865C][.865C.0000.0000.865C] # CJK COMPATIBILITY IDEOGRAPH-F936; QQC
-2F9B4 ; [.FB41.0020.0002.865C][.865C.0000.0000.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4; QQC
-2F9B5 ; [.FB41.0020.0002.8667][.8667.0000.0000.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5; QQC
-2F9B6 ; [.FB41.0020.0002.8669][.8669.0000.0000.8669] # CJK COMPATIBILITY IDEOGRAPH-2F9B6; QQC
-2F8D ; [.FB41.0020.0004.866B][.866B.0000.0000.866B] # KANGXI RADICAL INSECT; QQK
-2F9B8 ; [.FB41.0020.0002.8688][.8688.0000.0000.8688] # CJK COMPATIBILITY IDEOGRAPH-2F9B8; QQC
-2F9B7 ; [.FB41.0020.0002.86A9][.86A9.0000.0000.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7; QQC
-2F9BA ; [.FB41.0020.0002.86E2][.86E2.0000.0000.86E2] # CJK COMPATIBILITY IDEOGRAPH-2F9BA; QQC
-2F9B9 ; [.FB41.0020.0002.870E][.870E.0000.0000.870E] # CJK COMPATIBILITY IDEOGRAPH-2F9B9; QQC
-2F9BC ; [.FB41.0020.0002.8728][.8728.0000.0000.8728] # CJK COMPATIBILITY IDEOGRAPH-2F9BC; QQC
-2F9BD ; [.FB41.0020.0002.876B][.876B.0000.0000.876B] # CJK COMPATIBILITY IDEOGRAPH-2F9BD; QQC
-FAB5 ; [.FB41.0020.0002.8779][.8779.0000.0000.8779] # CJK COMPATIBILITY IDEOGRAPH-FAB5; QQC
-2F9BB ; [.FB41.0020.0002.8779][.8779.0000.0000.8779] # CJK COMPATIBILITY IDEOGRAPH-2F9BB; QQC
-2F9BE ; [.FB41.0020.0002.8786][.8786.0000.0000.8786] # CJK COMPATIBILITY IDEOGRAPH-2F9BE; QQC
-F911 ; [.FB41.0020.0002.87BA][.87BA.0000.0000.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911; QQC
-2F9C0 ; [.FB41.0020.0002.87E1][.87E1.0000.0000.87E1] # CJK COMPATIBILITY IDEOGRAPH-2F9C0; QQC
-2F9C1 ; [.FB41.0020.0002.8801][.8801.0000.0000.8801] # CJK COMPATIBILITY IDEOGRAPH-2F9C1; QQC
-F927 ; [.FB41.0020.0002.881F][.881F.0000.0000.881F] # CJK COMPATIBILITY IDEOGRAPH-F927; QQC
-2F8E ; [.FB41.0020.0004.8840][.8840.0000.0000.8840] # KANGXI RADICAL BLOOD; QQK
-FA08 ; [.FB41.0020.0002.884C][.884C.0000.0000.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08; QQC
-2F8F ; [.FB41.0020.0004.884C][.884C.0000.0000.884C] # KANGXI RADICAL WALK ENCLOSURE; QQK
-2F9C3 ; [.FB41.0020.0002.8860][.8860.0000.0000.8860] # CJK COMPATIBILITY IDEOGRAPH-2F9C3; QQC
-2F9C4 ; [.FB41.0020.0002.8863][.8863.0000.0000.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4; QQC
-2F90 ; [.FB41.0020.0004.8863][.8863.0000.0000.8863] # KANGXI RADICAL CLOTHES; QQK
-2EC2 ; [.FB41.0020.0004.8864][.8864.0000.0000.8864] # CJK RADICAL CLOTHES; QQK
-F9A0 ; [.FB41.0020.0002.88C2][.88C2.0000.0000.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0; QQC
-F9E7 ; [.FB41.0020.0002.88CF][.88CF.0000.0000.88CF] # CJK COMPATIBILITY IDEOGRAPH-F9E7; QQC
-2F9C6 ; [.FB41.0020.0002.88D7][.88D7.0000.0000.88D7] # CJK COMPATIBILITY IDEOGRAPH-2F9C6; QQC
-2F9C7 ; [.FB41.0020.0002.88DE][.88DE.0000.0000.88DE] # CJK COMPATIBILITY IDEOGRAPH-2F9C7; QQC
-F9E8 ; [.FB41.0020.0002.88E1][.88E1.0000.0000.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8; QQC
-F912 ; [.FB41.0020.0002.88F8][.88F8.0000.0000.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912; QQC
-2F9C9 ; [.FB41.0020.0002.88FA][.88FA.0000.0000.88FA] # CJK COMPATIBILITY IDEOGRAPH-2F9C9; QQC
-FA60 ; [.FB41.0020.0002.8910][.8910.0000.0000.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60; QQC
-FAB6 ; [.FB41.0020.0002.8941][.8941.0000.0000.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6; QQC
-F924 ; [.FB41.0020.0002.8964][.8964.0000.0000.8964] # CJK COMPATIBILITY IDEOGRAPH-F924; QQC
-2F91 ; [.FB41.0020.0004.897E][.897E.0000.0000.897E] # KANGXI RADICAL WEST; QQK
-2EC4 ; [.FB41.0020.0004.897F][.897F.0000.0000.897F] # CJK RADICAL WEST TWO; QQK
-2EC3 ; [.FB41.0020.0004.8980][.8980.0000.0000.8980] # CJK RADICAL WEST ONE; QQK
-FAB7 ; [.FB41.0020.0002.8986][.8986.0000.0000.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7; QQC
-FA0A ; [.FB41.0020.0002.898B][.898B.0000.0000.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A; QQC
-2F92 ; [.FB41.0020.0004.898B][.898B.0000.0000.898B] # KANGXI RADICAL SEE; QQK
-FA61 ; [.FB41.0020.0002.8996][.8996.0000.0000.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61; QQC
-FAB8 ; [.FB41.0020.0002.8996][.8996.0000.0000.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8; QQC
-2EC5 ; [.FB41.0020.0004.89C1][.89C1.0000.0000.89C1] # CJK RADICAL C-SIMPLIFIED SEE; QQK
-2EC6 ; [.FB41.0020.0004.89D2][.89D2.0000.0000.89D2] # CJK RADICAL SIMPLIFIED HORN; QQK
-2F93 ; [.FB41.0020.0004.89D2][.89D2.0000.0000.89D2] # KANGXI RADICAL HORN; QQK
-2EC7 ; [.FB41.0020.0004.89D2][.89D2.0000.0000.89D2][.0000.015F.001F.2EC7] # CJK RADICAL HORN; QQKN
-1F216 ; [.FB41.0020.001C.89E3][.89E3.0000.0000.89E3] # SQUARED CJK UNIFIED IDEOGRAPH-89E3; QQK
-2F94 ; [.FB41.0020.0004.8A00][.8A00.0000.0000.8A00] # KANGXI RADICAL SPEECH; QQK
-2F9CF ; [.FB41.0020.0002.8AA0][.8AA0.0000.0000.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF; QQC
-F96F ; [.FB41.0020.0002.8AAA][.8AAA.0000.0000.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F; QQC
-F9A1 ; [.FB41.0020.0002.8AAA][.8AAA.0000.0000.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F9A1; QQC
-FAB9 ; [.FB41.0020.0002.8ABF][.8ABF.0000.0000.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9; QQC
-FABB ; [.FB41.0020.0002.8ACB][.8ACB.0000.0000.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB; QQC
-F97D ; [.FB41.0020.0002.8AD2][.8AD2.0000.0000.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D; QQC
-F941 ; [.FB41.0020.0002.8AD6][.8AD6.0000.0000.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941; QQC
-FABE ; [.FB41.0020.0002.8AED][.8AED.0000.0000.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE; QQC
-2F9D0 ; [.FB41.0020.0002.8AED][.8AED.0000.0000.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0; QQC
-FA22 ; [.FB41.0020.0002.8AF8][.8AF8.0000.0000.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22; QQC
-FABA ; [.FB41.0020.0002.8AF8][.8AF8.0000.0000.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA; QQC
-F95D ; [.FB41.0020.0002.8AFE][.8AFE.0000.0000.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D; QQC
-FABD ; [.FB41.0020.0002.8AFE][.8AFE.0000.0000.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD; QQC
-FA62 ; [.FB41.0020.0002.8B01][.8B01.0000.0000.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62; QQC
-FABC ; [.FB41.0020.0002.8B01][.8B01.0000.0000.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC; QQC
-FA63 ; [.FB41.0020.0002.8B39][.8B39.0000.0000.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63; QQC
-FABF ; [.FB41.0020.0002.8B39][.8B39.0000.0000.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF; QQC
-F9FC ; [.FB41.0020.0002.8B58][.8B58.0000.0000.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC; QQC
-F95A ; [.FB41.0020.0002.8B80][.8B80.0000.0000.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A; QQC
-FAC0 ; [.FB41.0020.0002.8B8A][.8B8A.0000.0000.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0; QQC
-2F9D1 ; [.FB41.0020.0002.8B8A][.8B8A.0000.0000.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1; QQC
-2EC8 ; [.FB41.0020.0004.8BA0][.8BA0.0000.0000.8BA0] # CJK RADICAL C-SIMPLIFIED SPEECH; QQK
-2F95 ; [.FB41.0020.0004.8C37][.8C37.0000.0000.8C37] # KANGXI RADICAL VALLEY; QQK
-2F96 ; [.FB41.0020.0004.8C46][.8C46.0000.0000.8C46] # KANGXI RADICAL BEAN; QQK
-F900 ; [.FB41.0020.0002.8C48][.8C48.0000.0000.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900; QQC
-2F9D2 ; [.FB41.0020.0002.8C55][.8C55.0000.0000.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2; QQC
-2F97 ; [.FB41.0020.0004.8C55][.8C55.0000.0000.8C55] # KANGXI RADICAL PIG; QQK
-2F98 ; [.FB41.0020.0004.8C78][.8C78.0000.0000.8C78] # KANGXI RADICAL BADGER; QQK
-2F99 ; [.FB41.0020.0004.8C9D][.8C9D.0000.0000.8C9D] # KANGXI RADICAL SHELL; QQK
-3236 ; [*030E.0020.0004.3236][.FB41.0020.0004.8CA1][.8CA1.0000.0000.8CA1][*030F.0020.001F.3236] # PARENTHESIZED IDEOGRAPH FINANCIAL; QQKN
-3296 ; [.FB41.0020.0006.8CA1][.8CA1.0000.0000.8CA1] # CIRCLED IDEOGRAPH FINANCIAL; QQK
-1F223 ; [.FB41.0020.001C.8CA9][.8CA9.0000.0000.8CA9] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9; QQK
-2F9D4 ; [.FB41.0020.0002.8CAB][.8CAB.0000.0000.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4; QQC
-2F9D5 ; [.FB41.0020.0002.8CC1][.8CC1.0000.0000.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5; QQC
-F948 ; [.FB41.0020.0002.8CC2][.8CC2.0000.0000.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948; QQC
-323E ; [*030E.0020.0004.323E][.FB41.0020.0004.8CC7][.8CC7.0000.0000.8CC7][*030F.0020.001F.323E] # PARENTHESIZED IDEOGRAPH RESOURCE; QQKN
-32AE ; [.FB41.0020.0006.8CC7][.8CC7.0000.0000.8CC7] # CIRCLED IDEOGRAPH RESOURCE; QQK
-F903 ; [.FB41.0020.0002.8CC8][.8CC8.0000.0000.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903; QQC
-FA64 ; [.FB41.0020.0002.8CD3][.8CD3.0000.0000.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64; QQC
-FA65 ; [.FB41.0020.0002.8D08][.8D08.0000.0000.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65; QQC
-FAC1 ; [.FB41.0020.0002.8D08][.8D08.0000.0000.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1; QQC
-2F9D6 ; [.FB41.0020.0002.8D1B][.8D1B.0000.0000.8D1B] # CJK COMPATIBILITY IDEOGRAPH-2F9D6; QQC
-2EC9 ; [.FB41.0020.0004.8D1D][.8D1D.0000.0000.8D1D] # CJK RADICAL C-SIMPLIFIED SHELL; QQK
-2F9A ; [.FB41.0020.0004.8D64][.8D64.0000.0000.8D64] # KANGXI RADICAL RED; QQK
-2F9B ; [.FB41.0020.0004.8D70][.8D70.0000.0000.8D70] # KANGXI RADICAL RUN; QQK
-1F230 ; [.FB41.0020.001C.8D70][.8D70.0000.0000.8D70] # SQUARED CJK UNIFIED IDEOGRAPH-8D70; QQK
-2F9D7 ; [.FB41.0020.0002.8D77][.8D77.0000.0000.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7; QQC
-2F9C ; [.FB41.0020.0004.8DB3][.8DB3.0000.0000.8DB3] # KANGXI RADICAL FOOT; QQK
-2ECA ; [.FB41.0020.0004.8DB3][.8DB3.0000.0000.8DB3][.0000.015F.001F.2ECA] # CJK RADICAL FOOT; QQKN
-2F9DB ; [.FB41.0020.0002.8DBC][.8DBC.0000.0000.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB; QQC
-2F9DA ; [.FB41.0020.0002.8DCB][.8DCB.0000.0000.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA; QQC
-F937 ; [.FB41.0020.0002.8DEF][.8DEF.0000.0000.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937; QQC
-2F9DC ; [.FB41.0020.0002.8DF0][.8DF0.0000.0000.8DF0] # CJK COMPATIBILITY IDEOGRAPH-2F9DC; QQC
-2F9D ; [.FB41.0020.0004.8EAB][.8EAB.0000.0000.8EAB] # KANGXI RADICAL BODY; QQK
-F902 ; [.FB41.0020.0002.8ECA][.8ECA.0000.0000.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902; QQC
-2F9E ; [.FB41.0020.0004.8ECA][.8ECA.0000.0000.8ECA] # KANGXI RADICAL CART; QQK
-2F9DE ; [.FB41.0020.0002.8ED4][.8ED4.0000.0000.8ED4] # CJK COMPATIBILITY IDEOGRAPH-2F9DE; QQC
-F998 ; [.FB41.0020.0002.8F26][.8F26.0000.0000.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998; QQC
-F9D7 ; [.FB41.0020.0002.8F2A][.8F2A.0000.0000.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7; QQC
-FAC2 ; [.FB41.0020.0002.8F38][.8F38.0000.0000.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2; QQC
-2F9DF ; [.FB41.0020.0002.8F38][.8F38.0000.0000.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF; QQC
-FA07 ; [.FB41.0020.0002.8F3B][.8F3B.0000.0000.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07; QQC
-F98D ; [.FB41.0020.0002.8F62][.8F62.0000.0000.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D; QQC
-2ECB ; [.FB41.0020.0004.8F66][.8F66.0000.0000.8F66] # CJK RADICAL C-SIMPLIFIED CART; QQK
-2F9F ; [.FB41.0020.0004.8F9B][.8F9B.0000.0000.8F9B] # KANGXI RADICAL BITTER; QQK
-2F98D ; [.FB41.0020.0002.8F9E][.8F9E.0000.0000.8F9E] # CJK COMPATIBILITY IDEOGRAPH-2F98D; QQC
-F971 ; [.FB41.0020.0002.8FB0][.8FB0.0000.0000.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971; QQC
-2FA0 ; [.FB41.0020.0004.8FB0][.8FB0.0000.0000.8FB0] # KANGXI RADICAL MORNING; QQK
-2FA1 ; [.FB41.0020.0004.8FB5][.8FB5.0000.0000.8FB5] # KANGXI RADICAL WALK; QQK
-FA66 ; [.FB41.0020.0002.8FB6][.8FB6.0000.0000.8FB6] # CJK COMPATIBILITY IDEOGRAPH-FA66; QQC
-2ECC ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6] # CJK RADICAL SIMPLIFIED WALK; QQK
-2ECD ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6][.0000.015F.001F.2ECD] # CJK RADICAL WALK ONE; QQKN
-2ECE ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6][.0000.0160.001F.2ECE] # CJK RADICAL WALK TWO; QQKN
-F99A ; [.FB41.0020.0002.9023][.9023.0000.0000.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A; QQC
-FA25 ; [.FB41.0020.0002.9038][.9038.0000.0000.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25; QQC
-FA67 ; [.FB41.0020.0002.9038][.9038.0000.0000.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67; QQC
-1F22B ; [.FB41.0020.001C.904A][.904A.0000.0000.904A] # SQUARED CJK UNIFIED IDEOGRAPH-904A; QQK
-329C ; [.FB41.0020.0006.9069][.9069.0000.0000.9069] # CIRCLED IDEOGRAPH SUITABLE; QQK
-FAC3 ; [.FB41.0020.0002.9072][.9072.0000.0000.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3; QQC
-F9C3 ; [.FB41.0020.0002.907C][.907C.0000.0000.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3; QQC
-F913 ; [.FB41.0020.0002.908F][.908F.0000.0000.908F] # CJK COMPATIBILITY IDEOGRAPH-F913; QQC
-2FA2 ; [.FB41.0020.0004.9091][.9091.0000.0000.9091] # KANGXI RADICAL CITY; QQK
-2ECF ; [.FB41.0020.0004.9091][.9091.0000.0000.9091][.0000.015F.001F.2ECF] # CJK RADICAL CITY; QQKN
-2F9E2 ; [.FB41.0020.0002.9094][.9094.0000.0000.9094] # CJK COMPATIBILITY IDEOGRAPH-2F9E2; QQC
-F92C ; [.FB41.0020.0002.90CE][.90CE.0000.0000.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C; QQC
-2F9E3 ; [.FB41.0020.0002.90F1][.90F1.0000.0000.90F1] # CJK COMPATIBILITY IDEOGRAPH-2F9E3; QQC
-FA26 ; [.FB41.0020.0002.90FD][.90FD.0000.0000.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26; QQC
-2F9E4 ; [.FB41.0020.0002.9111][.9111.0000.0000.9111] # CJK COMPATIBILITY IDEOGRAPH-2F9E4; QQC
-2F9E6 ; [.FB41.0020.0002.911B][.911B.0000.0000.911B] # CJK COMPATIBILITY IDEOGRAPH-2F9E6; QQC
-2FA3 ; [.FB41.0020.0004.9149][.9149.0000.0000.9149] # KANGXI RADICAL WINE; QQK
-F919 ; [.FB41.0020.0002.916A][.916A.0000.0000.916A] # CJK COMPATIBILITY IDEOGRAPH-F919; QQC
-FAC4 ; [.FB41.0020.0002.9199][.9199.0000.0000.9199] # CJK COMPATIBILITY IDEOGRAPH-FAC4; QQC
-F9B7 ; [.FB41.0020.0002.91B4][.91B4.0000.0000.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7; QQC
-2FA4 ; [.FB41.0020.0004.91C6][.91C6.0000.0000.91C6] # KANGXI RADICAL DISTINGUISH; QQK
-F9E9 ; [.FB41.0020.0002.91CC][.91CC.0000.0000.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9; QQC
-2FA5 ; [.FB41.0020.0004.91CC][.91CC.0000.0000.91CC] # KANGXI RADICAL VILLAGE; QQK
-F97E ; [.FB41.0020.0002.91CF][.91CF.0000.0000.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E; QQC
-F90A ; [.FB41.0020.0002.91D1][.91D1.0000.0000.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A; QQC
-2FA6 ; [.FB41.0020.0004.91D1][.91D1.0000.0000.91D1] # KANGXI RADICAL GOLD; QQK
-322E ; [*030E.0020.0004.322E][.FB41.0020.0004.91D1][.91D1.0000.0000.91D1][*030F.0020.001F.322E] # PARENTHESIZED IDEOGRAPH METAL; QQKN
-328E ; [.FB41.0020.0006.91D1][.91D1.0000.0000.91D1] # CIRCLED IDEOGRAPH METAL; QQK
-F9B1 ; [.FB41.0020.0002.9234][.9234.0000.0000.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1; QQC
-2F9E7 ; [.FB41.0020.0002.9238][.9238.0000.0000.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7; QQC
-FAC5 ; [.FB41.0020.0002.9276][.9276.0000.0000.9276] # CJK COMPATIBILITY IDEOGRAPH-FAC5; QQC
-2F9EA ; [.FB41.0020.0002.927C][.927C.0000.0000.927C] # CJK COMPATIBILITY IDEOGRAPH-2F9EA; QQC
-2F9E8 ; [.FB41.0020.0002.92D7][.92D7.0000.0000.92D7] # CJK COMPATIBILITY IDEOGRAPH-2F9E8; QQC
-2F9E9 ; [.FB41.0020.0002.92D8][.92D8.0000.0000.92D8] # CJK COMPATIBILITY IDEOGRAPH-2F9E9; QQC
-F93F ; [.FB41.0020.0002.9304][.9304.0000.0000.9304] # CJK COMPATIBILITY IDEOGRAPH-F93F; QQC
-F99B ; [.FB41.0020.0002.934A][.934A.0000.0000.934A] # CJK COMPATIBILITY IDEOGRAPH-F99B; QQC
-2F9EB ; [.FB41.0020.0002.93F9][.93F9.0000.0000.93F9] # CJK COMPATIBILITY IDEOGRAPH-2F9EB; QQC
-2F9EC ; [.FB41.0020.0002.9415][.9415.0000.0000.9415] # CJK COMPATIBILITY IDEOGRAPH-2F9EC; QQC
-2ED0 ; [.FB41.0020.0004.9485][.9485.0000.0000.9485] # CJK RADICAL C-SIMPLIFIED GOLD; QQK
-2ED1 ; [.FB41.0020.0004.9577][.9577.0000.0000.9577] # CJK RADICAL LONG ONE; QQK
-2FA7 ; [.FB41.0020.0004.9577][.9577.0000.0000.9577] # KANGXI RADICAL LONG; QQK
-2ED2 ; [.FB41.0020.0004.9578][.9578.0000.0000.9578] # CJK RADICAL LONG TWO; QQK
-2ED3 ; [.FB41.0020.0004.957F][.957F.0000.0000.957F] # CJK RADICAL C-SIMPLIFIED LONG; QQK
-2FA8 ; [.FB41.0020.0004.9580][.9580.0000.0000.9580] # KANGXI RADICAL GATE; QQK
-2F9EE ; [.FB41.0020.0002.958B][.958B.0000.0000.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE; QQC
-F986 ; [.FB41.0020.0002.95AD][.95AD.0000.0000.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986; QQC
-2F9F0 ; [.FB41.0020.0002.95B7][.95B7.0000.0000.95B7] # CJK COMPATIBILITY IDEOGRAPH-2F9F0; QQC
-2ED4 ; [.FB41.0020.0004.95E8][.95E8.0000.0000.95E8] # CJK RADICAL C-SIMPLIFIED GATE; QQK
-2FA9 ; [.FB41.0020.0004.961C][.961C.0000.0000.961C] # KANGXI RADICAL MOUND; QQK
-2ED5 ; [.FB41.0020.0004.961C][.961C.0000.0000.961C][.0000.015F.001F.2ED5] # CJK RADICAL MOUND ONE; QQKN
-2ED6 ; [.FB41.0020.0004.961D][.961D.0000.0000.961D] # CJK RADICAL MOUND TWO; QQK
-F9C6 ; [.FB41.0020.0002.962E][.962E.0000.0000.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6; QQC
-F951 ; [.FB41.0020.0002.964B][.964B.0000.0000.964B] # CJK COMPATIBILITY IDEOGRAPH-F951; QQC
-FA09 ; [.FB41.0020.0002.964D][.964D.0000.0000.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09; QQC
-F959 ; [.FB41.0020.0002.9675][.9675.0000.0000.9675] # CJK COMPATIBILITY IDEOGRAPH-F959; QQC
-F9D3 ; [.FB41.0020.0002.9678][.9678.0000.0000.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3; QQC
-FAC6 ; [.FB41.0020.0002.967C][.967C.0000.0000.967C] # CJK COMPATIBILITY IDEOGRAPH-FAC6; QQC
-F9DC ; [.FB41.0020.0002.9686][.9686.0000.0000.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC; QQC
-F9F1 ; [.FB41.0020.0002.96A3][.96A3.0000.0000.96A3] # CJK COMPATIBILITY IDEOGRAPH-F9F1; QQC
-2FAA ; [.FB41.0020.0004.96B6][.96B6.0000.0000.96B6] # KANGXI RADICAL SLAVE; QQK
-F9B8 ; [.FB41.0020.0002.96B8][.96B8.0000.0000.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8; QQC
-2FAB ; [.FB41.0020.0004.96B9][.96B9.0000.0000.96B9] # KANGXI RADICAL SHORT TAILED BIRD; QQK
-2F9F3 ; [.FB41.0020.0002.96C3][.96C3.0000.0000.96C3] # CJK COMPATIBILITY IDEOGRAPH-2F9F3; QQC
-F9EA ; [.FB41.0020.0002.96E2][.96E2.0000.0000.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA; QQC
-FA68 ; [.FB41.0020.0002.96E3][.96E3.0000.0000.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68; QQC
-FAC7 ; [.FB41.0020.0002.96E3][.96E3.0000.0000.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7; QQC
-2FAC ; [.FB41.0020.0004.96E8][.96E8.0000.0000.96E8] # KANGXI RADICAL RAIN; QQK
-2ED7 ; [.FB41.0020.0004.96E8][.96E8.0000.0000.96E8][.0000.015F.001F.2ED7] # CJK RADICAL RAIN; QQKN
-F9B2 ; [.FB41.0020.0002.96F6][.96F6.0000.0000.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2; QQC
-F949 ; [.FB41.0020.0002.96F7][.96F7.0000.0000.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949; QQC
-2F9F5 ; [.FB41.0020.0002.9723][.9723.0000.0000.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5; QQC
-F938 ; [.FB41.0020.0002.9732][.9732.0000.0000.9732] # CJK COMPATIBILITY IDEOGRAPH-F938; QQC
-F9B3 ; [.FB41.0020.0002.9748][.9748.0000.0000.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3; QQC
-2FAD ; [.FB41.0020.0004.9751][.9751.0000.0000.9751] # KANGXI RADICAL BLUE; QQK
-2ED8 ; [.FB41.0020.0004.9752][.9752.0000.0000.9752] # CJK RADICAL BLUE; QQK
-FA1C ; [.FB41.0020.0002.9756][.9756.0000.0000.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C; QQC
-FAC8 ; [.FB41.0020.0002.9756][.9756.0000.0000.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8; QQC
-2FAE ; [.FB41.0020.0004.975E][.975E.0000.0000.975E] # KANGXI RADICAL WRONG; QQK
-2FAF ; [.FB41.0020.0004.9762][.9762.0000.0000.9762] # KANGXI RADICAL FACE; QQK
-2FB0 ; [.FB41.0020.0004.9769][.9769.0000.0000.9769] # KANGXI RADICAL LEATHER; QQK
-2FB1 ; [.FB41.0020.0004.97CB][.97CB.0000.0000.97CB] # KANGXI RADICAL TANNED LEATHER; QQK
-FAC9 ; [.FB41.0020.0002.97DB][.97DB.0000.0000.97DB] # CJK COMPATIBILITY IDEOGRAPH-FAC9; QQC
-2F9FA ; [.FB41.0020.0002.97E0][.97E0.0000.0000.97E0] # CJK COMPATIBILITY IDEOGRAPH-2F9FA; QQC
-2ED9 ; [.FB41.0020.0004.97E6][.97E6.0000.0000.97E6] # CJK RADICAL C-SIMPLIFIED TANNED LEATHER; QQK
-2FB2 ; [.FB41.0020.0004.97ED][.97ED.0000.0000.97ED] # KANGXI RADICAL LEEK; QQK
-2FB3 ; [.FB41.0020.0004.97F3][.97F3.0000.0000.97F3] # KANGXI RADICAL SOUND; QQK
-FA69 ; [.FB41.0020.0002.97FF][.97FF.0000.0000.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69; QQC
-FACA ; [.FB41.0020.0002.97FF][.97FF.0000.0000.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA; QQC
-2FB4 ; [.FB41.0020.0004.9801][.9801.0000.0000.9801] # KANGXI RADICAL LEAF; QQK
-32A0 ; [.FB41.0020.0006.9805][.9805.0000.0000.9805] # CIRCLED IDEOGRAPH ITEM; QQK
-FACB ; [.FB41.0020.0002.980B][.980B.0000.0000.980B] # CJK COMPATIBILITY IDEOGRAPH-FACB; QQC
-2F9FE ; [.FB41.0020.0002.980B][.980B.0000.0000.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FE; QQC
-2F9FF ; [.FB41.0020.0002.980B][.980B.0000.0000.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FF; QQC
-F9B4 ; [.FB41.0020.0002.9818][.9818.0000.0000.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4; QQC
-2FA00 ; [.FB41.0020.0002.9829][.9829.0000.0000.9829] # CJK COMPATIBILITY IDEOGRAPH-2FA00; QQC
-FA6A ; [.FB41.0020.0002.983B][.983B.0000.0000.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A; QQC
-FACC ; [.FB41.0020.0002.983B][.983B.0000.0000.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC; QQC
-F9D0 ; [.FB41.0020.0002.985E][.985E.0000.0000.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0; QQC
-2EDA ; [.FB41.0020.0004.9875][.9875.0000.0000.9875] # CJK RADICAL C-SIMPLIFIED LEAF; QQK
-2FB5 ; [.FB41.0020.0004.98A8][.98A8.0000.0000.98A8] # KANGXI RADICAL WIND; QQK
-2EDB ; [.FB41.0020.0004.98CE][.98CE.0000.0000.98CE] # CJK RADICAL C-SIMPLIFIED WIND; QQK
-2FB6 ; [.FB41.0020.0004.98DB][.98DB.0000.0000.98DB] # KANGXI RADICAL FLY; QQK
-2EDC ; [.FB41.0020.0004.98DE][.98DE.0000.0000.98DE] # CJK RADICAL C-SIMPLIFIED FLY; QQK
-2EDD ; [.FB41.0020.0004.98DF][.98DF.0000.0000.98DF] # CJK RADICAL EAT ONE; QQK
-2FB7 ; [.FB41.0020.0004.98DF][.98DF.0000.0000.98DF] # KANGXI RADICAL EAT; QQK
-2EDF ; [.FB41.0020.0004.98E0][.98E0.0000.0000.98E0] # CJK RADICAL EAT THREE; QQK
-2EDE ; [.FB41.0020.0004.98E0][.98E0.0000.0000.98E0][.0000.015F.001F.2EDE] # CJK RADICAL EAT TWO; QQKN
-2FA02 ; [.FB41.0020.0002.98E2][.98E2.0000.0000.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02; QQC
-FA2A ; [.FB41.0020.0002.98EF][.98EF.0000.0000.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A; QQC
-FA2B ; [.FB41.0020.0002.98FC][.98FC.0000.0000.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B; QQC
-FA2C ; [.FB41.0020.0002.9928][.9928.0000.0000.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C; QQC
-2FA04 ; [.FB41.0020.0002.9929][.9929.0000.0000.9929] # CJK COMPATIBILITY IDEOGRAPH-2FA04; QQC
-2EE0 ; [.FB41.0020.0004.9963][.9963.0000.0000.9963] # CJK RADICAL C-SIMPLIFIED EAT; QQK
-2FB8 ; [.FB41.0020.0004.9996][.9996.0000.0000.9996] # KANGXI RADICAL HEAD; QQK
-2EE1 ; [.FB41.0020.0004.9996][.9996.0000.0000.9996][.0000.015F.001F.2EE1] # CJK RADICAL HEAD; QQKN
-2FB9 ; [.FB41.0020.0004.9999][.9999.0000.0000.9999] # KANGXI RADICAL FRAGRANT; QQK
-2FA05 ; [.FB41.0020.0002.99A7][.99A7.0000.0000.99A7] # CJK COMPATIBILITY IDEOGRAPH-2FA05; QQC
-2FBA ; [.FB41.0020.0004.99AC][.99AC.0000.0000.99AC] # KANGXI RADICAL HORSE; QQK
-2FA06 ; [.FB41.0020.0002.99C2][.99C2.0000.0000.99C2] # CJK COMPATIBILITY IDEOGRAPH-2FA06; QQC
-F91A ; [.FB41.0020.0002.99F1][.99F1.0000.0000.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A; QQC
-2FA07 ; [.FB41.0020.0002.99FE][.99FE.0000.0000.99FE] # CJK COMPATIBILITY IDEOGRAPH-2FA07; QQC
-F987 ; [.FB41.0020.0002.9A6A][.9A6A.0000.0000.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987; QQC
-2EE2 ; [.FB41.0020.0004.9A6C][.9A6C.0000.0000.9A6C] # CJK RADICAL C-SIMPLIFIED HORSE; QQK
-2FBB ; [.FB41.0020.0004.9AA8][.9AA8.0000.0000.9AA8] # KANGXI RADICAL BONE; QQK
-2EE3 ; [.FB41.0020.0004.9AA8][.9AA8.0000.0000.9AA8][.0000.015F.001F.2EE3] # CJK RADICAL BONE; QQKN
-2FBC ; [.FB41.0020.0004.9AD8][.9AD8.0000.0000.9AD8] # KANGXI RADICAL TALL; QQK
-2FBD ; [.FB41.0020.0004.9ADF][.9ADF.0000.0000.9ADF] # KANGXI RADICAL HAIR; QQK
-FACD ; [.FB41.0020.0002.9B12][.9B12.0000.0000.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD; QQC
-2FA0A ; [.FB41.0020.0002.9B12][.9B12.0000.0000.9B12] # CJK COMPATIBILITY IDEOGRAPH-2FA0A; QQC
-2FBE ; [.FB41.0020.0004.9B25][.9B25.0000.0000.9B25] # KANGXI RADICAL FIGHT; QQK
-2FBF ; [.FB41.0020.0004.9B2F][.9B2F.0000.0000.9B2F] # KANGXI RADICAL SACRIFICIAL WINE; QQK
-2FC0 ; [.FB41.0020.0004.9B32][.9B32.0000.0000.9B32] # KANGXI RADICAL CAULDRON; QQK
-2FC1 ; [.FB41.0020.0004.9B3C][.9B3C.0000.0000.9B3C] # KANGXI RADICAL GHOST; QQK
-2EE4 ; [.FB41.0020.0004.9B3C][.9B3C.0000.0000.9B3C][.0000.015F.001F.2EE4] # CJK RADICAL GHOST; QQKN
-2FC2 ; [.FB41.0020.0004.9B5A][.9B5A.0000.0000.9B5A] # KANGXI RADICAL FISH; QQK
-F939 ; [.FB41.0020.0002.9B6F][.9B6F.0000.0000.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939; QQC
-2FA0B ; [.FB41.0020.0002.9C40][.9C40.0000.0000.9C40] # CJK COMPATIBILITY IDEOGRAPH-2FA0B; QQC
-F9F2 ; [.FB41.0020.0002.9C57][.9C57.0000.0000.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2; QQC
-2EE5 ; [.FB41.0020.0004.9C7C][.9C7C.0000.0000.9C7C] # CJK RADICAL C-SIMPLIFIED FISH; QQK
-2FC3 ; [.FB41.0020.0004.9CE5][.9CE5.0000.0000.9CE5] # KANGXI RADICAL BIRD; QQK
-2FA0C ; [.FB41.0020.0002.9CFD][.9CFD.0000.0000.9CFD] # CJK COMPATIBILITY IDEOGRAPH-2FA0C; QQC
-2FA0F ; [.FB41.0020.0002.9D67][.9D67.0000.0000.9D67] # CJK COMPATIBILITY IDEOGRAPH-2FA0F; QQC
-FA2D ; [.FB41.0020.0002.9DB4][.9DB4.0000.0000.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D; QQC
-F93A ; [.FB41.0020.0002.9DFA][.9DFA.0000.0000.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A; QQC
-F920 ; [.FB41.0020.0002.9E1E][.9E1E.0000.0000.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920; QQC
-2EE6 ; [.FB41.0020.0004.9E1F][.9E1F.0000.0000.9E1F] # CJK RADICAL C-SIMPLIFIED BIRD; QQK
-2FC4 ; [.FB41.0020.0004.9E75][.9E75.0000.0000.9E75] # KANGXI RADICAL SALT; QQK
-2EE7 ; [.FB41.0020.0004.9E75][.9E75.0000.0000.9E75][.0000.015F.001F.2EE7] # CJK RADICAL C-SIMPLIFIED SALT; QQKN
-F940 ; [.FB41.0020.0002.9E7F][.9E7F.0000.0000.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940; QQC
-2FC5 ; [.FB41.0020.0004.9E7F][.9E7F.0000.0000.9E7F] # KANGXI RADICAL DEER; QQK
-F988 ; [.FB41.0020.0002.9E97][.9E97.0000.0000.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988; QQC
-F9F3 ; [.FB41.0020.0002.9E9F][.9E9F.0000.0000.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3; QQC
-2FC6 ; [.FB41.0020.0004.9EA5][.9EA5.0000.0000.9EA5] # KANGXI RADICAL WHEAT; QQK
-2EE8 ; [.FB41.0020.0004.9EA6][.9EA6.0000.0000.9EA6] # CJK RADICAL SIMPLIFIED WHEAT; QQK
-2FA15 ; [.FB41.0020.0002.9EBB][.9EBB.0000.0000.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15; QQC
-2FC7 ; [.FB41.0020.0004.9EBB][.9EBB.0000.0000.9EBB] # KANGXI RADICAL HEMP; QQK
-2FC8 ; [.FB41.0020.0004.9EC3][.9EC3.0000.0000.9EC3] # KANGXI RADICAL YELLOW; QQK
-2EE9 ; [.FB41.0020.0004.9EC4][.9EC4.0000.0000.9EC4] # CJK RADICAL SIMPLIFIED YELLOW; QQK
-2FC9 ; [.FB41.0020.0004.9ECD][.9ECD.0000.0000.9ECD] # KANGXI RADICAL MILLET; QQK
-F989 ; [.FB41.0020.0002.9ECE][.9ECE.0000.0000.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989; QQC
-2FCA ; [.FB41.0020.0004.9ED1][.9ED1.0000.0000.9ED1] # KANGXI RADICAL BLACK; QQK
-2FA17 ; [.FB41.0020.0002.9EF9][.9EF9.0000.0000.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17; QQC
-2FCB ; [.FB41.0020.0004.9EF9][.9EF9.0000.0000.9EF9] # KANGXI RADICAL EMBROIDERY; QQK
-2FCC ; [.FB41.0020.0004.9EFD][.9EFD.0000.0000.9EFD] # KANGXI RADICAL FROG; QQK
-2FA18 ; [.FB41.0020.0002.9EFE][.9EFE.0000.0000.9EFE] # CJK COMPATIBILITY IDEOGRAPH-2FA18; QQC
-2EEA ; [.FB41.0020.0004.9EFE][.9EFE.0000.0000.9EFE] # CJK RADICAL C-SIMPLIFIED FROG; QQK
-2FA19 ; [.FB41.0020.0002.9F05][.9F05.0000.0000.9F05] # CJK COMPATIBILITY IDEOGRAPH-2FA19; QQC
-2FCD ; [.FB41.0020.0004.9F0E][.9F0E.0000.0000.9F0E] # KANGXI RADICAL TRIPOD; QQK
-2FA1A ; [.FB41.0020.0002.9F0F][.9F0F.0000.0000.9F0F] # CJK COMPATIBILITY IDEOGRAPH-2FA1A; QQC
-2FCE ; [.FB41.0020.0004.9F13][.9F13.0000.0000.9F13] # KANGXI RADICAL DRUM; QQK
-2FA1B ; [.FB41.0020.0002.9F16][.9F16.0000.0000.9F16] # CJK COMPATIBILITY IDEOGRAPH-2FA1B; QQC
-2FCF ; [.FB41.0020.0004.9F20][.9F20.0000.0000.9F20] # KANGXI RADICAL RAT; QQK
-2FA1C ; [.FB41.0020.0002.9F3B][.9F3B.0000.0000.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C; QQC
-2FD0 ; [.FB41.0020.0004.9F3B][.9F3B.0000.0000.9F3B] # KANGXI RADICAL NOSE; QQK
-FAD8 ; [.FB41.0020.0002.9F43][.9F43.0000.0000.9F43] # CJK COMPATIBILITY IDEOGRAPH-FAD8; QQC
-2FD1 ; [.FB41.0020.0004.9F4A][.9F4A.0000.0000.9F4A] # KANGXI RADICAL EVEN; QQK
-2EEB ; [.FB41.0020.0004.9F4A][.9F4A.0000.0000.9F4A][.0000.015F.001F.2EEB] # CJK RADICAL J-SIMPLIFIED EVEN; QQKN
-2EEC ; [.FB41.0020.0004.9F50][.9F50.0000.0000.9F50] # CJK RADICAL C-SIMPLIFIED EVEN; QQK
-2FD2 ; [.FB41.0020.0004.9F52][.9F52.0000.0000.9F52] # KANGXI RADICAL TOOTH; QQK
-2EED ; [.FB41.0020.0004.9F52][.9F52.0000.0000.9F52][.0000.015F.001F.2EED] # CJK RADICAL J-SIMPLIFIED TOOTH; QQKN
-2EEE ; [.FB41.0020.0004.9F7F][.9F7F.0000.0000.9F7F] # CJK RADICAL C-SIMPLIFIED TOOTH; QQK
-F9C4 ; [.FB41.0020.0002.9F8D][.9F8D.0000.0000.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4; QQC
-2FD3 ; [.FB41.0020.0004.9F8D][.9F8D.0000.0000.9F8D] # KANGXI RADICAL DRAGON; QQK
-2EEF ; [.FB41.0020.0004.9F8D][.9F8D.0000.0000.9F8D][.0000.015F.001F.2EEF] # CJK RADICAL J-SIMPLIFIED DRAGON; QQKN
-FAD9 ; [.FB41.0020.0002.9F8E][.9F8E.0000.0000.9F8E] # CJK COMPATIBILITY IDEOGRAPH-FAD9; QQC
-2EF0 ; [.FB41.0020.0004.9F99][.9F99.0000.0000.9F99] # CJK RADICAL C-SIMPLIFIED DRAGON; QQK
-F907 ; [.FB41.0020.0002.9F9C][.9F9C.0000.0000.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907; QQC
-F908 ; [.FB41.0020.0002.9F9C][.9F9C.0000.0000.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908; QQC
-FACE ; [.FB41.0020.0002.9F9C][.9F9C.0000.0000.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE; QQC
-2FD4 ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C] # KANGXI RADICAL TURTLE; QQK
-2EF1 ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C][.0000.015F.001F.2EF1] # CJK RADICAL TURTLE; QQKN
-2EF2 ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C][.0000.0160.001F.2EF2] # CJK RADICAL J-SIMPLIFIED TURTLE; QQKN
-2EF3 ; [.FB41.0020.0004.9F9F][.9F9F.0000.0000.9F9F] # CJK RADICAL C-SIMPLIFIED TURTLE; QQK
-2FD5 ; [.FB41.0020.0004.9FA0][.9FA0.0000.0000.9FA0] # KANGXI RADICAL FLUTE; QQK
+0C02 ; [.0000.00F3.0002.0C02] # TELUGU SIGN ANUSVARA
+0C82 ; [.0000.00F3.0002.0C82] # KANNADA SIGN ANUSVARA
+0D02 ; [.0000.00F3.0002.0D02] # MALAYALAM SIGN ANUSVARA
+0D82 ; [.0000.00F3.0002.0D82] # SINHALA SIGN ANUSVARAYA
+0F7E ; [.0000.00F3.0002.0F7E] # TIBETAN SIGN RJES SU NGA RO
+1036 ; [.0000.00F3.0002.1036] # MYANMAR SIGN ANUSVARA
+17C6 ; [.0000.00F3.0002.17C6] # KHMER SIGN NIKAHIT
+1A74 ; [.0000.00F3.0002.1A74] # TAI THAM SIGN MAI KANG
+1B02 ; [.0000.00F3.0002.1B02] # BALINESE SIGN CECEK
+1B80 ; [.0000.00F3.0002.1B80] # SUNDANESE SIGN PANYECEK
+1CED ; [.0000.00F3.0002.1CED] # VEDIC SIGN TIRYAK
+A80B ; [.0000.00F3.0002.A80B] # SYLOTI NAGRI SIGN ANUSVARA
+A880 ; [.0000.00F3.0002.A880] # SAURASHTRA SIGN ANUSVARA
+A981 ; [.0000.00F3.0002.A981] # JAVANESE SIGN CECAK
+10A0E ; [.0000.00F3.0002.10A0E] # KHAROSHTHI SIGN ANUSVARA
+11001 ; [.0000.00F3.0002.11001] # BRAHMI SIGN ANUSVARA
+11081 ; [.0000.00F3.0002.11081] # KAITHI SIGN ANUSVARA
+11101 ; [.0000.00F3.0002.11101] # CHAKMA SIGN ANUSVARA
+11181 ; [.0000.00F3.0002.11181] # SHARADA SIGN ANUSVARA
+116AB ; [.0000.00F3.0002.116AB] # TAKRI SIGN ANUSVARA
+0903 ; [.0000.00F4.0002.0903] # DEVANAGARI SIGN VISARGA
+0983 ; [.0000.00F4.0002.0983] # BENGALI SIGN VISARGA
+0A03 ; [.0000.00F4.0002.0A03] # GURMUKHI SIGN VISARGA
+0A83 ; [.0000.00F4.0002.0A83] # GUJARATI SIGN VISARGA
+0B03 ; [.0000.00F4.0002.0B03] # ORIYA SIGN VISARGA
+0C03 ; [.0000.00F4.0002.0C03] # TELUGU SIGN VISARGA
+0C83 ; [.0000.00F4.0002.0C83] # KANNADA SIGN VISARGA
+0D03 ; [.0000.00F4.0002.0D03] # MALAYALAM SIGN VISARGA
+0D83 ; [.0000.00F4.0002.0D83] # SINHALA SIGN VISARGAYA
+0F7F ; [.0000.00F4.0002.0F7F] # TIBETAN SIGN RNAM BCAD
+1038 ; [.0000.00F4.0002.1038] # MYANMAR SIGN VISARGA
+17C7 ; [.0000.00F4.0002.17C7] # KHMER SIGN REAHMUK
+1B04 ; [.0000.00F4.0002.1B04] # BALINESE SIGN BISAH
+1B82 ; [.0000.00F4.0002.1B82] # SUNDANESE SIGN PANGWISAD
+1CF2 ; [.0000.00F4.0002.1CF2] # VEDIC SIGN ARDHAVISARGA
+1CF3 ; [.0000.00F4.0002.1CF3] # VEDIC SIGN ROTATED ARDHAVISARGA
+A881 ; [.0000.00F4.0002.A881] # SAURASHTRA SIGN VISARGA
+A983 ; [.0000.00F4.0002.A983] # JAVANESE SIGN WIGNYAN
+10A0F ; [.0000.00F4.0002.10A0F] # KHAROSHTHI SIGN VISARGA
+11002 ; [.0000.00F4.0002.11002] # BRAHMI SIGN VISARGA
+11082 ; [.0000.00F4.0002.11082] # KAITHI SIGN VISARGA
+11102 ; [.0000.00F4.0002.11102] # CHAKMA SIGN VISARGA
+11182 ; [.0000.00F4.0002.11182] # SHARADA SIGN VISARGA
+116AC ; [.0000.00F4.0002.116AC] # TAKRI SIGN VISARGA
+0A70 ; [.0000.00F5.0002.0A70] # GURMUKHI TIPPI
+0A71 ; [.0000.00F6.0002.0A71] # GURMUKHI ADDAK
+1B03 ; [.0000.00F7.0002.1B03] # BALINESE SIGN SURANG
+A982 ; [.0000.00F8.0002.A982] # JAVANESE SIGN LAYAR
+1B81 ; [.0000.00F9.0002.1B81] # SUNDANESE SIGN PANGLAYAR
+ABEC ; [.0000.00FA.0002.ABEC] # MEETEI MAYEK LUM IYEK
+10A38 ; [.0000.00FB.0002.10A38] # KHAROSHTHI SIGN BAR ABOVE
+10A39 ; [.0000.00FC.0002.10A39] # KHAROSHTHI SIGN CAUDA
+10A3A ; [.0000.00FD.0002.10A3A] # KHAROSHTHI SIGN DOT BELOW
+0E4E ; [.0000.00FE.0002.0E4E] # THAI CHARACTER YAMAKKAN
+0E47 ; [.0000.00FF.0002.0E47] # THAI CHARACTER MAITAIKHU
+0E48 ; [.0000.0100.0002.0E48] # THAI CHARACTER MAI EK
+0E49 ; [.0000.0101.0002.0E49] # THAI CHARACTER MAI THO
+0E4A ; [.0000.0102.0002.0E4A] # THAI CHARACTER MAI TRI
+0E4B ; [.0000.0103.0002.0E4B] # THAI CHARACTER MAI CHATTAWA
+0E4C ; [.0000.0104.0002.0E4C] # THAI CHARACTER THANTHAKHAT
+0E4D ; [.0000.0105.0002.0E4D] # THAI CHARACTER NIKHAHIT
+0EC8 ; [.0000.0106.0002.0EC8] # LAO TONE MAI EK
+0EC9 ; [.0000.0107.0002.0EC9] # LAO TONE MAI THO
+0ECA ; [.0000.0108.0002.0ECA] # LAO TONE MAI TI
+0ECB ; [.0000.0109.0002.0ECB] # LAO TONE MAI CATAWA
+0ECC ; [.0000.010A.0002.0ECC] # LAO CANCELLATION MARK
+0ECD ; [.0000.010B.0002.0ECD] # LAO NIGGAHITA
+AABF ; [.0000.010C.0002.AABF] # TAI VIET TONE MAI EK
+AAC1 ; [.0000.010D.0002.AAC1] # TAI VIET TONE MAI THO
+0F39 ; [.0000.010E.0002.0F39] # TIBETAN MARK TSA -PHRU
+A92B ; [.0000.010F.0002.A92B] # KAYAH LI TONE PLOPHU
+A92C ; [.0000.0110.0002.A92C] # KAYAH LI TONE CALYA
+A92D ; [.0000.0111.0002.A92D] # KAYAH LI TONE CALYA PLOPHU
+1037 ; [.0000.0112.0002.1037] # MYANMAR SIGN DOT BELOW
+108D ; [.0000.0113.0002.108D] # MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
+17C8 ; [.0000.0114.0002.17C8] # KHMER SIGN YUUKALEAPINTU
+17C9 ; [.0000.0115.0002.17C9] # KHMER SIGN MUUSIKATOAN
+17CA ; [.0000.0116.0002.17CA] # KHMER SIGN TRIISAP
+1A75 ; [.0000.0117.0002.1A75] # TAI THAM SIGN TONE-1
+1A76 ; [.0000.0118.0002.1A76] # TAI THAM SIGN TONE-2
+1A77 ; [.0000.0119.0002.1A77] # TAI THAM SIGN KHUEN TONE-3
+1A78 ; [.0000.011A.0002.1A78] # TAI THAM SIGN KHUEN TONE-4
+1A79 ; [.0000.011B.0002.1A79] # TAI THAM SIGN KHUEN TONE-5
+1A7A ; [.0000.011C.0002.1A7A] # TAI THAM SIGN RA HAAM
+1A7B ; [.0000.011D.0002.1A7B] # TAI THAM SIGN MAI SAM
+1A7C ; [.0000.011E.0002.1A7C] # TAI THAM SIGN KHUEN-LUE KARAN
+1939 ; [.0000.011F.0002.1939] # LIMBU SIGN MUKPHRENG
+193A ; [.0000.0120.0002.193A] # LIMBU SIGN KEMPHRENG
+193B ; [.0000.0121.0002.193B] # LIMBU SIGN SA-I
+302A ; [.0000.0122.0002.302A] # IDEOGRAPHIC LEVEL TONE MARK
+302B ; [.0000.0123.0002.302B] # IDEOGRAPHIC RISING TONE MARK
+302C ; [.0000.0124.0002.302C] # IDEOGRAPHIC DEPARTING TONE MARK
+302D ; [.0000.0125.0002.302D] # IDEOGRAPHIC ENTERING TONE MARK
+302E ; [.0000.0126.0002.302E] # HANGUL SINGLE DOT TONE MARK
+302F ; [.0000.0127.0002.302F] # HANGUL DOUBLE DOT TONE MARK
+3099 ; [.0000.0128.0002.3099] # COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
+FF9E ; [.0000.0128.0012.FF9E] # HALFWIDTH KATAKANA VOICED SOUND MARK
+309A ; [.0000.0129.0002.309A] # COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+FF9F ; [.0000.0129.0012.FF9F] # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+20D0 ; [.0000.012A.0002.20D0] # COMBINING LEFT HARPOON ABOVE
+20D1 ; [.0000.012B.0002.20D1] # COMBINING RIGHT HARPOON ABOVE
+20D2 ; [.0000.012C.0002.20D2] # COMBINING LONG VERTICAL LINE OVERLAY
+20D3 ; [.0000.012C.0002.20D3] # COMBINING SHORT VERTICAL LINE OVERLAY
+20D4 ; [.0000.012D.0002.20D4] # COMBINING ANTICLOCKWISE ARROW ABOVE
+20D5 ; [.0000.012E.0002.20D5] # COMBINING CLOCKWISE ARROW ABOVE
+20D6 ; [.0000.012F.0002.20D6] # COMBINING LEFT ARROW ABOVE
+20D7 ; [.0000.0130.0002.20D7] # COMBINING RIGHT ARROW ABOVE
+20DB ; [.0000.0131.0002.20DB] # COMBINING THREE DOTS ABOVE
+20DC ; [.0000.0132.0002.20DC] # COMBINING FOUR DOTS ABOVE
+20E1 ; [.0000.0133.0002.20E1] # COMBINING LEFT RIGHT ARROW ABOVE
+20E6 ; [.0000.0134.0002.20E6] # COMBINING DOUBLE VERTICAL STROKE OVERLAY
+20E7 ; [.0000.0135.0002.20E7] # COMBINING ANNUITY SYMBOL
+20E8 ; [.0000.0136.0002.20E8] # COMBINING TRIPLE UNDERDOT
+20E9 ; [.0000.0137.0002.20E9] # COMBINING WIDE BRIDGE ABOVE
+101FD ; [.0000.0138.0002.101FD] # PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
+02D0 ; [.158E.0020.0002.02D0] # MODIFIER LETTER TRIANGULAR COLON
+02D1 ; [.158F.0020.0002.02D1] # MODIFIER LETTER HALF TRIANGULAR COLON
+0971 ; [.1590.0020.0002.0971] # DEVANAGARI SIGN HIGH SPACING DOT
+0E46 ; [.1591.0020.0002.0E46] # THAI CHARACTER MAIYAMOK
+0EC6 ; [.1592.0020.0002.0EC6] # LAO KO LA
+17D7 ; [.1593.0020.0002.17D7] # KHMER SIGN LEK TOO
+1AA7 ; [.1594.0020.0002.1AA7] # TAI THAM SIGN MAI YAMOK
+A9CF ; [.1595.0020.0002.A9CF] # JAVANESE PANGRANGKEP
+AA70 ; [.1596.0020.0002.AA70] # MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
+AADD ; [.1597.0020.0002.AADD] # TAI VIET SYMBOL SAM
+AAF3 ; [.1598.0020.0002.AAF3] # MEETEI MAYEK SYLLABLE REPETITION MARK
+AAF4 ; [.1599.0020.0002.AAF4] # MEETEI MAYEK WORD REPETITION MARK
+3005 ; [.159A.0020.0002.3005] # IDEOGRAPHIC ITERATION MARK
+303B ; [.159B.0020.0002.303B] # VERTICAL IDEOGRAPHIC ITERATION MARK
+3031 ; [.159C.0020.0002.3031] # VERTICAL KANA REPEAT MARK
+3032 ; [.159C.0020.0002.3031][.0000.0128.0002.3099] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK
+3033 ; [.159D.0020.0002.3033] # VERTICAL KANA REPEAT MARK UPPER HALF
+3034 ; [.159D.0020.0002.3033][.0000.0128.0002.3099] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF
+3035 ; [.159E.0020.0002.3035] # VERTICAL KANA REPEAT MARK LOWER HALF
+309D ; [.159F.0020.0002.309D] # HIRAGANA ITERATION MARK
+309E ; [.159F.0020.0002.309D][.0000.0128.0002.3099] # HIRAGANA VOICED ITERATION MARK
+30FC ; [.15A0.0020.0002.30FC] # KATAKANA-HIRAGANA PROLONGED SOUND MARK
+FF70 ; [.15A0.0020.0012.FF70] # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
+30FD ; [.15A1.0020.0002.30FD] # KATAKANA ITERATION MARK
+30FE ; [.15A1.0020.0002.30FD][.0000.0128.0002.3099] # KATAKANA VOICED ITERATION MARK
+00A4 ; [.15A2.0020.0002.00A4] # CURRENCY SIGN
+00A2 ; [.15A3.0020.0002.00A2] # CENT SIGN
+FFE0 ; [.15A3.0020.0003.FFE0] # FULLWIDTH CENT SIGN
+0024 ; [.15A4.0020.0002.0024] # DOLLAR SIGN
+FF04 ; [.15A4.0020.0003.FF04] # FULLWIDTH DOLLAR SIGN
+FE69 ; [.15A4.0020.000F.FE69] # SMALL DOLLAR SIGN
+00A3 ; [.15A5.0020.0002.00A3] # POUND SIGN
+FFE1 ; [.15A5.0020.0003.FFE1] # FULLWIDTH POUND SIGN
+00A5 ; [.15A6.0020.0002.00A5] # YEN SIGN
+FFE5 ; [.15A6.0020.0003.FFE5] # FULLWIDTH YEN SIGN
+058F ; [.15A7.0020.0002.058F] # ARMENIAN DRAM SIGN
+060B ; [.15A8.0020.0002.060B] # AFGHANI SIGN
+09F2 ; [.15A9.0020.0002.09F2] # BENGALI RUPEE MARK
+09F3 ; [.15AA.0020.0002.09F3] # BENGALI RUPEE SIGN
+09FB ; [.15AB.0020.0002.09FB] # BENGALI GANDA MARK
+0AF1 ; [.15AC.0020.0002.0AF1] # GUJARATI RUPEE SIGN
+A838 ; [.15AD.0020.0002.A838] # NORTH INDIC RUPEE MARK
+0BF9 ; [.15AE.0020.0002.0BF9] # TAMIL RUPEE SIGN
+0E3F ; [.15AF.0020.0002.0E3F] # THAI CURRENCY SYMBOL BAHT
+17DB ; [.15B0.0020.0002.17DB] # KHMER CURRENCY SYMBOL RIEL
+20A0 ; [.15B1.0020.0002.20A0] # EURO-CURRENCY SIGN
+20A1 ; [.15B2.0020.0002.20A1] # COLON SIGN
+20A2 ; [.15B3.0020.0002.20A2] # CRUZEIRO SIGN
+20A3 ; [.15B4.0020.0002.20A3] # FRENCH FRANC SIGN
+20A4 ; [.15B5.0020.0002.20A4] # LIRA SIGN
+20A5 ; [.15B6.0020.0002.20A5] # MILL SIGN
+20A6 ; [.15B7.0020.0002.20A6] # NAIRA SIGN
+20A7 ; [.15B8.0020.0002.20A7] # PESETA SIGN
+20A9 ; [.15B9.0020.0002.20A9] # WON SIGN
+FFE6 ; [.15B9.0020.0003.FFE6] # FULLWIDTH WON SIGN
+20AA ; [.15BA.0020.0002.20AA] # NEW SHEQEL SIGN
+20AB ; [.15BB.0020.0002.20AB] # DONG SIGN
+20AC ; [.15BC.0020.0002.20AC] # EURO SIGN
+20AD ; [.15BD.0020.0002.20AD] # KIP SIGN
+20AE ; [.15BE.0020.0002.20AE] # TUGRIK SIGN
+20AF ; [.15BF.0020.0002.20AF] # DRACHMA SIGN
+20B0 ; [.15C0.0020.0002.20B0] # GERMAN PENNY SIGN
+20B1 ; [.15C1.0020.0002.20B1] # PESO SIGN
+20B2 ; [.15C2.0020.0002.20B2] # GUARANI SIGN
+20B3 ; [.15C3.0020.0002.20B3] # AUSTRAL SIGN
+20B4 ; [.15C4.0020.0002.20B4] # HRYVNIA SIGN
+20B5 ; [.15C5.0020.0002.20B5] # CEDI SIGN
+20B6 ; [.15C6.0020.0002.20B6] # LIVRE TOURNOIS SIGN
+20B7 ; [.15C7.0020.0002.20B7] # SPESMILO SIGN
+20B8 ; [.15C8.0020.0002.20B8] # TENGE SIGN
+20B9 ; [.15C9.0020.0002.20B9] # INDIAN RUPEE SIGN
+0030 ; [.15CA.0020.0002.0030] # DIGIT ZERO
+FF10 ; [.15CA.0020.0003.FF10] # FULLWIDTH DIGIT ZERO
+1F100 ; [.15CA.0020.0004.1F100][*0273.0020.0004.1F100] # DIGIT ZERO FULL STOP
+1F101 ; [.15CA.0020.0004.1F101][*0221.0020.0004.1F101] # DIGIT ZERO COMMA
+1D7CE ; [.15CA.0020.0005.1D7CE] # MATHEMATICAL BOLD DIGIT ZERO
+1D7D8 ; [.15CA.0020.0005.1D7D8] # MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO
+1D7E2 ; [.15CA.0020.0005.1D7E2] # MATHEMATICAL SANS-SERIF DIGIT ZERO
+1D7EC ; [.15CA.0020.0005.1D7EC] # MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO
+1D7F6 ; [.15CA.0020.0005.1D7F6] # MATHEMATICAL MONOSPACE DIGIT ZERO
+24EA ; [.15CA.0020.0006.24EA] # CIRCLED DIGIT ZERO
+24FF ; [.15CA.0020.0006.24FF] # NEGATIVE CIRCLED DIGIT ZERO
+2070 ; [.15CA.0020.0014.2070] # SUPERSCRIPT ZERO
+2080 ; [.15CA.0020.0015.2080] # SUBSCRIPT ZERO
+0660 ; [.15CA.0020.0002.0660][.0000.013F.0002.0660] # ARABIC-INDIC DIGIT ZERO
+06F0 ; [.15CA.0020.0002.06F0][.0000.0140.0002.06F0] # EXTENDED ARABIC-INDIC DIGIT ZERO
+07C0 ; [.15CA.0020.0002.07C0][.0000.0142.0002.07C0] # NKO DIGIT ZERO
+104A0 ; [.15CA.0020.0002.104A0][.0000.0144.0002.104A0] # OSMANYA DIGIT ZERO
+0966 ; [.15CA.0020.0002.0966][.0000.0145.0002.0966] # DEVANAGARI DIGIT ZERO
+09E6 ; [.15CA.0020.0002.09E6][.0000.0146.0002.09E6] # BENGALI DIGIT ZERO
+0A66 ; [.15CA.0020.0002.0A66][.0000.0147.0002.0A66] # GURMUKHI DIGIT ZERO
+0AE6 ; [.15CA.0020.0002.0AE6][.0000.0148.0002.0AE6] # GUJARATI DIGIT ZERO
+0B66 ; [.15CA.0020.0002.0B66][.0000.0149.0002.0B66] # ORIYA DIGIT ZERO
+0BE6 ; [.15CA.0020.0002.0BE6][.0000.014A.0002.0BE6] # TAMIL DIGIT ZERO
+0C66 ; [.15CA.0020.0002.0C66][.0000.014B.0002.0C66] # TELUGU DIGIT ZERO
+0C78 ; [.15CA.0020.0002.0C78][.0000.014B.0002.0C78] # TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR
+0CE6 ; [.15CA.0020.0002.0CE6][.0000.014C.0002.0CE6] # KANNADA DIGIT ZERO
+0D66 ; [.15CA.0020.0002.0D66][.0000.014D.0002.0D66] # MALAYALAM DIGIT ZERO
+ABF0 ; [.15CA.0020.0002.ABF0][.0000.014E.0002.ABF0] # MEETEI MAYEK DIGIT ZERO
+A8D0 ; [.15CA.0020.0002.A8D0][.0000.014F.0002.A8D0] # SAURASHTRA DIGIT ZERO
+1946 ; [.15CA.0020.0002.1946][.0000.0150.0002.1946] # LIMBU DIGIT ZERO
+19D0 ; [.15CA.0020.0002.19D0][.0000.0151.0002.19D0] # NEW TAI LUE DIGIT ZERO
+1A80 ; [.15CA.0020.0002.1A80][.0000.0152.0002.1A80] # TAI THAM HORA DIGIT ZERO
+1A90 ; [.15CA.0020.0002.1A90][.0000.0153.0002.1A90] # TAI THAM THAM DIGIT ZERO
+0E50 ; [.15CA.0020.0002.0E50][.0000.0154.0002.0E50] # THAI DIGIT ZERO
+0ED0 ; [.15CA.0020.0002.0ED0][.0000.0155.0002.0ED0] # LAO DIGIT ZERO
+0F20 ; [.15CA.0020.0002.0F20][.0000.0156.0002.0F20] # TIBETAN DIGIT ZERO
+0F33 ; [.15CA.0020.0004.0F33][.0000.0156.0004.0F33] # TIBETAN DIGIT HALF ZERO
+1C40 ; [.15CA.0020.0002.1C40][.0000.0157.0002.1C40] # LEPCHA DIGIT ZERO
+A900 ; [.15CA.0020.0002.A900][.0000.0158.0002.A900] # KAYAH LI DIGIT ZERO
+1040 ; [.15CA.0020.0002.1040][.0000.0159.0002.1040] # MYANMAR DIGIT ZERO
+1090 ; [.15CA.0020.0002.1090][.0000.015A.0002.1090] # MYANMAR SHAN DIGIT ZERO
+11136 ; [.15CA.0020.0002.11136][.0000.015B.0002.11136] # CHAKMA DIGIT ZERO
+17E0 ; [.15CA.0020.0002.17E0][.0000.015C.0002.17E0] # KHMER DIGIT ZERO
+17F0 ; [.15CA.0020.0002.17F0][.0000.015D.0002.17F0] # KHMER SYMBOL LEK ATTAK SON
+AA50 ; [.15CA.0020.0002.AA50][.0000.015E.0002.AA50] # CHAM DIGIT ZERO
+1B50 ; [.15CA.0020.0002.1B50][.0000.015F.0002.1B50] # BALINESE DIGIT ZERO
+A9D0 ; [.15CA.0020.0002.A9D0][.0000.0160.0002.A9D0] # JAVANESE DIGIT ZERO
+1BB0 ; [.15CA.0020.0002.1BB0][.0000.0161.0002.1BB0] # SUNDANESE DIGIT ZERO
+1810 ; [.15CA.0020.0002.1810][.0000.0162.0002.1810] # MONGOLIAN DIGIT ZERO
+1C50 ; [.15CA.0020.0002.1C50][.0000.0163.0002.1C50] # OL CHIKI DIGIT ZERO
+A620 ; [.15CA.0020.0002.A620][.0000.0164.0002.A620] # VAI DIGIT ZERO
+110F0 ; [.15CA.0020.0002.110F0][.0000.0165.0002.110F0] # SORA SOMPENG DIGIT ZERO
+3007 ; [.15CA.0020.0002.3007][.0000.0166.0002.3007] # IDEOGRAPHIC NUMBER ZERO
+1018A ; [.15CA.0020.0002.1018A][.0000.0168.0002.1018A] # GREEK ZERO SIGN
+111D0 ; [.15CA.0020.0002.111D0][.0000.0172.0002.111D0] # SHARADA DIGIT ZERO
+116C0 ; [.15CA.0020.0002.116C0][.0000.0173.0002.116C0] # TAKRI DIGIT ZERO
+11066 ; [.15CA.0020.0002.11066][.0000.0174.0002.11066] # BRAHMI DIGIT ZERO
+2189 ; [.15CA.0020.001E.2189][*05AC.0020.001E.2189][.15CD.0020.001F.2189] # VULGAR FRACTION ZERO THIRDS
+3358 ; [.15CA.0020.0004.3358][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
+0031 ; [.15CB.0020.0002.0031] # DIGIT ONE
+FF11 ; [.15CB.0020.0003.FF11] # FULLWIDTH DIGIT ONE
+2474 ; [*02FB.0020.0004.2474][.15CB.0020.0004.2474][*02FC.0020.001F.2474] # PARENTHESIZED DIGIT ONE
+2488 ; [.15CB.0020.0004.2488][*0273.0020.0004.2488] # DIGIT ONE FULL STOP
+1F102 ; [.15CB.0020.0004.1F102][*0221.0020.0004.1F102] # DIGIT ONE COMMA
+1D7CF ; [.15CB.0020.0005.1D7CF] # MATHEMATICAL BOLD DIGIT ONE
+1D7D9 ; [.15CB.0020.0005.1D7D9] # MATHEMATICAL DOUBLE-STRUCK DIGIT ONE
+1D7E3 ; [.15CB.0020.0005.1D7E3] # MATHEMATICAL SANS-SERIF DIGIT ONE
+1D7ED ; [.15CB.0020.0005.1D7ED] # MATHEMATICAL SANS-SERIF BOLD DIGIT ONE
+1D7F7 ; [.15CB.0020.0005.1D7F7] # MATHEMATICAL MONOSPACE DIGIT ONE
+2460 ; [.15CB.0020.0006.2460] # CIRCLED DIGIT ONE
+24F5 ; [.15CB.0020.0006.24F5] # DOUBLE CIRCLED DIGIT ONE
+2776 ; [.15CB.0020.0006.2776] # DINGBAT NEGATIVE CIRCLED DIGIT ONE
+2780 ; [.15CB.0020.0006.2780] # DINGBAT CIRCLED SANS-SERIF DIGIT ONE
+278A ; [.15CB.0020.0006.278A] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE
+00B9 ; [.15CB.0020.0014.00B9] # SUPERSCRIPT ONE
+2081 ; [.15CB.0020.0015.2081] # SUBSCRIPT ONE
+215F ; [.15CB.0020.001E.215F][*05AC.0020.001E.215F] # FRACTION NUMERATOR ONE
+0661 ; [.15CB.0020.0002.0661][.0000.013F.0002.0661] # ARABIC-INDIC DIGIT ONE
+06F1 ; [.15CB.0020.0002.06F1][.0000.0140.0002.06F1] # EXTENDED ARABIC-INDIC DIGIT ONE
+10E60 ; [.15CB.0020.0002.10E60][.0000.0141.0002.10E60] # RUMI DIGIT ONE
+07C1 ; [.15CB.0020.0002.07C1][.0000.0142.0002.07C1] # NKO DIGIT ONE
+1369 ; [.15CB.0020.0002.1369][.0000.0143.0002.1369] # ETHIOPIC DIGIT ONE
+104A1 ; [.15CB.0020.0002.104A1][.0000.0144.0002.104A1] # OSMANYA DIGIT ONE
+0967 ; [.15CB.0020.0002.0967][.0000.0145.0002.0967] # DEVANAGARI DIGIT ONE
+09E7 ; [.15CB.0020.0002.09E7][.0000.0146.0002.09E7] # BENGALI DIGIT ONE
+0A67 ; [.15CB.0020.0002.0A67][.0000.0147.0002.0A67] # GURMUKHI DIGIT ONE
+0AE7 ; [.15CB.0020.0002.0AE7][.0000.0148.0002.0AE7] # GUJARATI DIGIT ONE
+0B67 ; [.15CB.0020.0002.0B67][.0000.0149.0002.0B67] # ORIYA DIGIT ONE
+0BE7 ; [.15CB.0020.0002.0BE7][.0000.014A.0002.0BE7] # TAMIL DIGIT ONE
+0C67 ; [.15CB.0020.0002.0C67][.0000.014B.0002.0C67] # TELUGU DIGIT ONE
+0C79 ; [.15CB.0020.0002.0C79][.0000.014B.0002.0C79] # TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR
+0C7C ; [.15CB.0020.0002.0C7C][.0000.014B.0002.0C7C] # TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR
+0CE7 ; [.15CB.0020.0002.0CE7][.0000.014C.0002.0CE7] # KANNADA DIGIT ONE
+0D67 ; [.15CB.0020.0002.0D67][.0000.014D.0002.0D67] # MALAYALAM DIGIT ONE
+ABF1 ; [.15CB.0020.0002.ABF1][.0000.014E.0002.ABF1] # MEETEI MAYEK DIGIT ONE
+A8D1 ; [.15CB.0020.0002.A8D1][.0000.014F.0002.A8D1] # SAURASHTRA DIGIT ONE
+1947 ; [.15CB.0020.0002.1947][.0000.0150.0002.1947] # LIMBU DIGIT ONE
+19D1 ; [.15CB.0020.0002.19D1][.0000.0151.0002.19D1] # NEW TAI LUE DIGIT ONE
+19DA ; [.15CB.0020.0002.19DA][.0000.0151.0002.19DA] # NEW TAI LUE THAM DIGIT ONE
+1A81 ; [.15CB.0020.0002.1A81][.0000.0152.0002.1A81] # TAI THAM HORA DIGIT ONE
+1A91 ; [.15CB.0020.0002.1A91][.0000.0153.0002.1A91] # TAI THAM THAM DIGIT ONE
+0E51 ; [.15CB.0020.0002.0E51][.0000.0154.0002.0E51] # THAI DIGIT ONE
+0ED1 ; [.15CB.0020.0002.0ED1][.0000.0155.0002.0ED1] # LAO DIGIT ONE
+0F21 ; [.15CB.0020.0002.0F21][.0000.0156.0002.0F21] # TIBETAN DIGIT ONE
+0F2A ; [.15CB.0020.0004.0F2A][.0000.0156.0004.0F2A] # TIBETAN DIGIT HALF ONE
+1C41 ; [.15CB.0020.0002.1C41][.0000.0157.0002.1C41] # LEPCHA DIGIT ONE
+A901 ; [.15CB.0020.0002.A901][.0000.0158.0002.A901] # KAYAH LI DIGIT ONE
+1041 ; [.15CB.0020.0002.1041][.0000.0159.0002.1041] # MYANMAR DIGIT ONE
+1091 ; [.15CB.0020.0002.1091][.0000.015A.0002.1091] # MYANMAR SHAN DIGIT ONE
+11137 ; [.15CB.0020.0002.11137][.0000.015B.0002.11137] # CHAKMA DIGIT ONE
+17E1 ; [.15CB.0020.0002.17E1][.0000.015C.0002.17E1] # KHMER DIGIT ONE
+17F1 ; [.15CB.0020.0002.17F1][.0000.015D.0002.17F1] # KHMER SYMBOL LEK ATTAK MUOY
+AA51 ; [.15CB.0020.0002.AA51][.0000.015E.0002.AA51] # CHAM DIGIT ONE
+1B51 ; [.15CB.0020.0002.1B51][.0000.015F.0002.1B51] # BALINESE DIGIT ONE
+A9D1 ; [.15CB.0020.0002.A9D1][.0000.0160.0002.A9D1] # JAVANESE DIGIT ONE
+1BB1 ; [.15CB.0020.0002.1BB1][.0000.0161.0002.1BB1] # SUNDANESE DIGIT ONE
+1811 ; [.15CB.0020.0002.1811][.0000.0162.0002.1811] # MONGOLIAN DIGIT ONE
+1C51 ; [.15CB.0020.0002.1C51][.0000.0163.0002.1C51] # OL CHIKI DIGIT ONE
+A621 ; [.15CB.0020.0002.A621][.0000.0164.0002.A621] # VAI DIGIT ONE
+110F1 ; [.15CB.0020.0002.110F1][.0000.0165.0002.110F1] # SORA SOMPENG DIGIT ONE
+3021 ; [.15CB.0020.0002.3021][.0000.0166.0002.3021] # HANGZHOU NUMERAL ONE
+10107 ; [.15CB.0020.0002.10107][.0000.0167.0002.10107] # AEGEAN NUMBER ONE
+10142 ; [.15CB.0020.0002.10142][.0000.0168.0002.10142] # GREEK ACROPHONIC ATTIC ONE DRACHMA
+10158 ; [.15CB.0020.0002.10158][.0000.0168.0002.10158] # GREEK ACROPHONIC HERAEUM ONE PLETHRON
+10159 ; [.15CB.0020.0002.10159][.0000.0168.0002.10159] # GREEK ACROPHONIC THESPIAN ONE
+1015A ; [.15CB.0020.0002.1015A][.0000.0168.0002.1015A] # GREEK ACROPHONIC HERMIONIAN ONE
+10320 ; [.15CB.0020.0002.10320][.0000.016A.0002.10320] # OLD ITALIC NUMERAL ONE
+103D1 ; [.15CB.0020.0002.103D1][.0000.016B.0002.103D1] # OLD PERSIAN NUMBER ONE
+12415 ; [.15CB.0020.0002.12415][.0000.016C.0002.12415] # CUNEIFORM NUMERIC SIGN ONE GESH2
+1241E ; [.15CB.0020.0002.1241E][.0000.016C.0002.1241E] # CUNEIFORM NUMERIC SIGN ONE GESHU
+1242C ; [.15CB.0020.0002.1242C][.0000.016C.0002.1242C] # CUNEIFORM NUMERIC SIGN ONE SHARU
+12434 ; [.15CB.0020.0002.12434][.0000.016C.0002.12434] # CUNEIFORM NUMERIC SIGN ONE BURU
+1244F ; [.15CB.0020.0002.1244F][.0000.016C.0002.1244F] # CUNEIFORM NUMERIC SIGN ONE BAN2
+12458 ; [.15CB.0020.0002.12458][.0000.016C.0002.12458] # CUNEIFORM NUMERIC SIGN ONE ESHE3
+10A7D ; [.15CB.0020.0002.10A7D][.0000.016D.0002.10A7D] # OLD SOUTH ARABIAN NUMBER ONE
+10916 ; [.15CB.0020.0002.10916][.0000.016E.0002.10916] # PHOENICIAN NUMBER ONE
+10858 ; [.15CB.0020.0002.10858][.0000.016F.0002.10858] # IMPERIAL ARAMAIC NUMBER ONE
+10B58 ; [.15CB.0020.0002.10B58][.0000.0170.0002.10B58] # INSCRIPTIONAL PARTHIAN NUMBER ONE
+10B78 ; [.15CB.0020.0002.10B78][.0000.0171.0002.10B78] # INSCRIPTIONAL PAHLAVI NUMBER ONE
+111D1 ; [.15CB.0020.0002.111D1][.0000.0172.0002.111D1] # SHARADA DIGIT ONE
+116C1 ; [.15CB.0020.0002.116C1][.0000.0173.0002.116C1] # TAKRI DIGIT ONE
+11067 ; [.15CB.0020.0002.11067][.0000.0174.0002.11067] # BRAHMI DIGIT ONE
+11052 ; [.15CB.0020.0002.11052][.0000.0175.0002.11052] # BRAHMI NUMBER ONE
+10A40 ; [.15CB.0020.0002.10A40][.0000.0176.0002.10A40] # KHAROSHTHI DIGIT ONE
+1D360 ; [.15CB.0020.0002.1D360][.0000.0177.0002.1D360] # COUNTING ROD UNIT DIGIT ONE
+2491 ; [.15CB.0020.0004.2491][.15CA.0020.0004.2491][*0273.0020.001F.2491] # NUMBER TEN FULL STOP
+247D ; [*02FB.0020.0004.247D][.15CB.0020.0004.247D][.15CA.0020.001F.247D][*02FC.0020.001F.247D] # PARENTHESIZED NUMBER TEN
+2469 ; [.15CB.0020.0006.2469][.15CA.0020.0006.2469] # CIRCLED NUMBER TEN
+24FE ; [.15CB.0020.0006.24FE][.15CA.0020.0006.24FE] # DOUBLE CIRCLED NUMBER TEN
+277F ; [.15CB.0020.0006.277F][.15CA.0020.0006.277F] # DINGBAT NEGATIVE CIRCLED NUMBER TEN
+2789 ; [.15CB.0020.0006.2789][.15CA.0020.0006.2789] # DINGBAT CIRCLED SANS-SERIF NUMBER TEN
+2793 ; [.15CB.0020.0006.2793][.15CA.0020.0006.2793] # DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
+3248 ; [.15CB.0020.0006.3248][.15CA.0020.0006.3248] # CIRCLED NUMBER TEN ON BLACK SQUARE
+33E9 ; [.15CB.0020.0004.33E9][.15CA.0020.0004.33E9][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
+32C9 ; [.15CB.0020.0004.32C9][.15CA.0020.0004.32C9][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
+3362 ; [.15CB.0020.0004.3362][.15CA.0020.0004.3362][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
+2492 ; [.15CB.0020.0004.2492][.15CB.0020.0004.2492][*0273.0020.001F.2492] # NUMBER ELEVEN FULL STOP
+247E ; [*02FB.0020.0004.247E][.15CB.0020.0004.247E][.15CB.0020.001F.247E][*02FC.0020.001F.247E] # PARENTHESIZED NUMBER ELEVEN
+246A ; [.15CB.0020.0006.246A][.15CB.0020.0006.246A] # CIRCLED NUMBER ELEVEN
+24EB ; [.15CB.0020.0006.24EB][.15CB.0020.0006.24EB] # NEGATIVE CIRCLED NUMBER ELEVEN
+2152 ; [.15CB.0020.001E.2152][*05AC.0020.001E.2152][.15CB.0020.001F.2152][.15CA.0020.001F.2152] # VULGAR FRACTION ONE TENTH
+33EA ; [.15CB.0020.0004.33EA][.15CB.0020.0004.33EA][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
+32CA ; [.15CB.0020.0004.32CA][.15CB.0020.0004.32CA][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
+3363 ; [.15CB.0020.0004.3363][.15CB.0020.0004.3363][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
+2493 ; [.15CB.0020.0004.2493][.15CC.0020.0004.2493][*0273.0020.001F.2493] # NUMBER TWELVE FULL STOP
+247F ; [*02FB.0020.0004.247F][.15CB.0020.0004.247F][.15CC.0020.001F.247F][*02FC.0020.001F.247F] # PARENTHESIZED NUMBER TWELVE
+246B ; [.15CB.0020.0006.246B][.15CC.0020.0006.246B] # CIRCLED NUMBER TWELVE
+24EC ; [.15CB.0020.0006.24EC][.15CC.0020.0006.24EC] # NEGATIVE CIRCLED NUMBER TWELVE
+00BD ; [.15CB.0020.001E.00BD][*05AC.0020.001E.00BD][.15CC.0020.001F.00BD] # VULGAR FRACTION ONE HALF
+33EB ; [.15CB.0020.0004.33EB][.15CC.0020.0004.33EB][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
+32CB ; [.15CB.0020.0004.32CB][.15CC.0020.0004.32CB][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
+3364 ; [.15CB.0020.0004.3364][.15CC.0020.0004.3364][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
+2494 ; [.15CB.0020.0004.2494][.15CD.0020.0004.2494][*0273.0020.001F.2494] # NUMBER THIRTEEN FULL STOP
+2480 ; [*02FB.0020.0004.2480][.15CB.0020.0004.2480][.15CD.0020.001F.2480][*02FC.0020.001F.2480] # PARENTHESIZED NUMBER THIRTEEN
+246C ; [.15CB.0020.0006.246C][.15CD.0020.0006.246C] # CIRCLED NUMBER THIRTEEN
+24ED ; [.15CB.0020.0006.24ED][.15CD.0020.0006.24ED] # NEGATIVE CIRCLED NUMBER THIRTEEN
+2153 ; [.15CB.0020.001E.2153][*05AC.0020.001E.2153][.15CD.0020.001F.2153] # VULGAR FRACTION ONE THIRD
+33EC ; [.15CB.0020.0004.33EC][.15CD.0020.0004.33EC][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
+3365 ; [.15CB.0020.0004.3365][.15CD.0020.0004.3365][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
+2495 ; [.15CB.0020.0004.2495][.15CE.0020.0004.2495][*0273.0020.001F.2495] # NUMBER FOURTEEN FULL STOP
+2481 ; [*02FB.0020.0004.2481][.15CB.0020.0004.2481][.15CE.0020.001F.2481][*02FC.0020.001F.2481] # PARENTHESIZED NUMBER FOURTEEN
+246D ; [.15CB.0020.0006.246D][.15CE.0020.0006.246D] # CIRCLED NUMBER FOURTEEN
+24EE ; [.15CB.0020.0006.24EE][.15CE.0020.0006.24EE] # NEGATIVE CIRCLED NUMBER FOURTEEN
+00BC ; [.15CB.0020.001E.00BC][*05AC.0020.001E.00BC][.15CE.0020.001F.00BC] # VULGAR FRACTION ONE QUARTER
+33ED ; [.15CB.0020.0004.33ED][.15CE.0020.0004.33ED][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
+3366 ; [.15CB.0020.0004.3366][.15CE.0020.0004.3366][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
+2496 ; [.15CB.0020.0004.2496][.15CF.0020.0004.2496][*0273.0020.001F.2496] # NUMBER FIFTEEN FULL STOP
+2482 ; [*02FB.0020.0004.2482][.15CB.0020.0004.2482][.15CF.0020.001F.2482][*02FC.0020.001F.2482] # PARENTHESIZED NUMBER FIFTEEN
+246E ; [.15CB.0020.0006.246E][.15CF.0020.0006.246E] # CIRCLED NUMBER FIFTEEN
+24EF ; [.15CB.0020.0006.24EF][.15CF.0020.0006.24EF] # NEGATIVE CIRCLED NUMBER FIFTEEN
+2155 ; [.15CB.0020.001E.2155][*05AC.0020.001E.2155][.15CF.0020.001F.2155] # VULGAR FRACTION ONE FIFTH
+33EE ; [.15CB.0020.0004.33EE][.15CF.0020.0004.33EE][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
+3367 ; [.15CB.0020.0004.3367][.15CF.0020.0004.3367][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
+2497 ; [.15CB.0020.0004.2497][.15D0.0020.0004.2497][*0273.0020.001F.2497] # NUMBER SIXTEEN FULL STOP
+2483 ; [*02FB.0020.0004.2483][.15CB.0020.0004.2483][.15D0.0020.001F.2483][*02FC.0020.001F.2483] # PARENTHESIZED NUMBER SIXTEEN
+246F ; [.15CB.0020.0006.246F][.15D0.0020.0006.246F] # CIRCLED NUMBER SIXTEEN
+24F0 ; [.15CB.0020.0006.24F0][.15D0.0020.0006.24F0] # NEGATIVE CIRCLED NUMBER SIXTEEN
+2159 ; [.15CB.0020.001E.2159][*05AC.0020.001E.2159][.15D0.0020.001F.2159] # VULGAR FRACTION ONE SIXTH
+33EF ; [.15CB.0020.0004.33EF][.15D0.0020.0004.33EF][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
+3368 ; [.15CB.0020.0004.3368][.15D0.0020.0004.3368][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
+2498 ; [.15CB.0020.0004.2498][.15D1.0020.0004.2498][*0273.0020.001F.2498] # NUMBER SEVENTEEN FULL STOP
+2484 ; [*02FB.0020.0004.2484][.15CB.0020.0004.2484][.15D1.0020.001F.2484][*02FC.0020.001F.2484] # PARENTHESIZED NUMBER SEVENTEEN
+2470 ; [.15CB.0020.0006.2470][.15D1.0020.0006.2470] # CIRCLED NUMBER SEVENTEEN
+24F1 ; [.15CB.0020.0006.24F1][.15D1.0020.0006.24F1] # NEGATIVE CIRCLED NUMBER SEVENTEEN
+2150 ; [.15CB.0020.001E.2150][*05AC.0020.001E.2150][.15D1.0020.001F.2150] # VULGAR FRACTION ONE SEVENTH
+33F0 ; [.15CB.0020.0004.33F0][.15D1.0020.0004.33F0][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
+3369 ; [.15CB.0020.0004.3369][.15D1.0020.0004.3369][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
+2499 ; [.15CB.0020.0004.2499][.15D2.0020.0004.2499][*0273.0020.001F.2499] # NUMBER EIGHTEEN FULL STOP
+2485 ; [*02FB.0020.0004.2485][.15CB.0020.0004.2485][.15D2.0020.001F.2485][*02FC.0020.001F.2485] # PARENTHESIZED NUMBER EIGHTEEN
+2471 ; [.15CB.0020.0006.2471][.15D2.0020.0006.2471] # CIRCLED NUMBER EIGHTEEN
+24F2 ; [.15CB.0020.0006.24F2][.15D2.0020.0006.24F2] # NEGATIVE CIRCLED NUMBER EIGHTEEN
+215B ; [.15CB.0020.001E.215B][*05AC.0020.001E.215B][.15D2.0020.001F.215B] # VULGAR FRACTION ONE EIGHTH
+33F1 ; [.15CB.0020.0004.33F1][.15D2.0020.0004.33F1][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
+336A ; [.15CB.0020.0004.336A][.15D2.0020.0004.336A][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
+249A ; [.15CB.0020.0004.249A][.15D3.0020.0004.249A][*0273.0020.001F.249A] # NUMBER NINETEEN FULL STOP
+2486 ; [*02FB.0020.0004.2486][.15CB.0020.0004.2486][.15D3.0020.001F.2486][*02FC.0020.001F.2486] # PARENTHESIZED NUMBER NINETEEN
+2472 ; [.15CB.0020.0006.2472][.15D3.0020.0006.2472] # CIRCLED NUMBER NINETEEN
+24F3 ; [.15CB.0020.0006.24F3][.15D3.0020.0006.24F3] # NEGATIVE CIRCLED NUMBER NINETEEN
+2151 ; [.15CB.0020.001E.2151][*05AC.0020.001E.2151][.15D3.0020.001F.2151] # VULGAR FRACTION ONE NINTH
+33F2 ; [.15CB.0020.0004.33F2][.15D3.0020.0004.33F2][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
+336B ; [.15CB.0020.0004.336B][.15D3.0020.0004.336B][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
+33E0 ; [.15CB.0020.0004.33E0][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
+32C0 ; [.15CB.0020.0004.32C0][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
+3359 ; [.15CB.0020.0004.3359][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
+0032 ; [.15CC.0020.0002.0032] # DIGIT TWO
+FF12 ; [.15CC.0020.0003.FF12] # FULLWIDTH DIGIT TWO
+2475 ; [*02FB.0020.0004.2475][.15CC.0020.0004.2475][*02FC.0020.001F.2475] # PARENTHESIZED DIGIT TWO
+2489 ; [.15CC.0020.0004.2489][*0273.0020.0004.2489] # DIGIT TWO FULL STOP
+1F103 ; [.15CC.0020.0004.1F103][*0221.0020.0004.1F103] # DIGIT TWO COMMA
+1D7D0 ; [.15CC.0020.0005.1D7D0] # MATHEMATICAL BOLD DIGIT TWO
+1D7DA ; [.15CC.0020.0005.1D7DA] # MATHEMATICAL DOUBLE-STRUCK DIGIT TWO
+1D7E4 ; [.15CC.0020.0005.1D7E4] # MATHEMATICAL SANS-SERIF DIGIT TWO
+1D7EE ; [.15CC.0020.0005.1D7EE] # MATHEMATICAL SANS-SERIF BOLD DIGIT TWO
+1D7F8 ; [.15CC.0020.0005.1D7F8] # MATHEMATICAL MONOSPACE DIGIT TWO
+2461 ; [.15CC.0020.0006.2461] # CIRCLED DIGIT TWO
+24F6 ; [.15CC.0020.0006.24F6] # DOUBLE CIRCLED DIGIT TWO
+2777 ; [.15CC.0020.0006.2777] # DINGBAT NEGATIVE CIRCLED DIGIT TWO
+2781 ; [.15CC.0020.0006.2781] # DINGBAT CIRCLED SANS-SERIF DIGIT TWO
+278B ; [.15CC.0020.0006.278B] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO
+00B2 ; [.15CC.0020.0014.00B2] # SUPERSCRIPT TWO
+2082 ; [.15CC.0020.0015.2082] # SUBSCRIPT TWO
+0662 ; [.15CC.0020.0002.0662][.0000.013F.0002.0662] # ARABIC-INDIC DIGIT TWO
+06F2 ; [.15CC.0020.0002.06F2][.0000.0140.0002.06F2] # EXTENDED ARABIC-INDIC DIGIT TWO
+10E61 ; [.15CC.0020.0002.10E61][.0000.0141.0002.10E61] # RUMI DIGIT TWO
+07C2 ; [.15CC.0020.0002.07C2][.0000.0142.0002.07C2] # NKO DIGIT TWO
+136A ; [.15CC.0020.0002.136A][.0000.0143.0002.136A] # ETHIOPIC DIGIT TWO
+104A2 ; [.15CC.0020.0002.104A2][.0000.0144.0002.104A2] # OSMANYA DIGIT TWO
+0968 ; [.15CC.0020.0002.0968][.0000.0145.0002.0968] # DEVANAGARI DIGIT TWO
+09E8 ; [.15CC.0020.0002.09E8][.0000.0146.0002.09E8] # BENGALI DIGIT TWO
+0A68 ; [.15CC.0020.0002.0A68][.0000.0147.0002.0A68] # GURMUKHI DIGIT TWO
+0AE8 ; [.15CC.0020.0002.0AE8][.0000.0148.0002.0AE8] # GUJARATI DIGIT TWO
+0B68 ; [.15CC.0020.0002.0B68][.0000.0149.0002.0B68] # ORIYA DIGIT TWO
+0BE8 ; [.15CC.0020.0002.0BE8][.0000.014A.0002.0BE8] # TAMIL DIGIT TWO
+0C68 ; [.15CC.0020.0002.0C68][.0000.014B.0002.0C68] # TELUGU DIGIT TWO
+0C7A ; [.15CC.0020.0002.0C7A][.0000.014B.0002.0C7A] # TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR
+0C7D ; [.15CC.0020.0002.0C7D][.0000.014B.0002.0C7D] # TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR
+0CE8 ; [.15CC.0020.0002.0CE8][.0000.014C.0002.0CE8] # KANNADA DIGIT TWO
+0D68 ; [.15CC.0020.0002.0D68][.0000.014D.0002.0D68] # MALAYALAM DIGIT TWO
+ABF2 ; [.15CC.0020.0002.ABF2][.0000.014E.0002.ABF2] # MEETEI MAYEK DIGIT TWO
+A8D2 ; [.15CC.0020.0002.A8D2][.0000.014F.0002.A8D2] # SAURASHTRA DIGIT TWO
+1948 ; [.15CC.0020.0002.1948][.0000.0150.0002.1948] # LIMBU DIGIT TWO
+19D2 ; [.15CC.0020.0002.19D2][.0000.0151.0002.19D2] # NEW TAI LUE DIGIT TWO
+1A82 ; [.15CC.0020.0002.1A82][.0000.0152.0002.1A82] # TAI THAM HORA DIGIT TWO
+1A92 ; [.15CC.0020.0002.1A92][.0000.0153.0002.1A92] # TAI THAM THAM DIGIT TWO
+0E52 ; [.15CC.0020.0002.0E52][.0000.0154.0002.0E52] # THAI DIGIT TWO
+0ED2 ; [.15CC.0020.0002.0ED2][.0000.0155.0002.0ED2] # LAO DIGIT TWO
+0F22 ; [.15CC.0020.0002.0F22][.0000.0156.0002.0F22] # TIBETAN DIGIT TWO
+0F2B ; [.15CC.0020.0004.0F2B][.0000.0156.0004.0F2B] # TIBETAN DIGIT HALF TWO
+1C42 ; [.15CC.0020.0002.1C42][.0000.0157.0002.1C42] # LEPCHA DIGIT TWO
+A902 ; [.15CC.0020.0002.A902][.0000.0158.0002.A902] # KAYAH LI DIGIT TWO
+1042 ; [.15CC.0020.0002.1042][.0000.0159.0002.1042] # MYANMAR DIGIT TWO
+1092 ; [.15CC.0020.0002.1092][.0000.015A.0002.1092] # MYANMAR SHAN DIGIT TWO
+11138 ; [.15CC.0020.0002.11138][.0000.015B.0002.11138] # CHAKMA DIGIT TWO
+17E2 ; [.15CC.0020.0002.17E2][.0000.015C.0002.17E2] # KHMER DIGIT TWO
+17F2 ; [.15CC.0020.0002.17F2][.0000.015D.0002.17F2] # KHMER SYMBOL LEK ATTAK PII
+AA52 ; [.15CC.0020.0002.AA52][.0000.015E.0002.AA52] # CHAM DIGIT TWO
+1B52 ; [.15CC.0020.0002.1B52][.0000.015F.0002.1B52] # BALINESE DIGIT TWO
+A9D2 ; [.15CC.0020.0002.A9D2][.0000.0160.0002.A9D2] # JAVANESE DIGIT TWO
+1BB2 ; [.15CC.0020.0002.1BB2][.0000.0161.0002.1BB2] # SUNDANESE DIGIT TWO
+1812 ; [.15CC.0020.0002.1812][.0000.0162.0002.1812] # MONGOLIAN DIGIT TWO
+1C52 ; [.15CC.0020.0002.1C52][.0000.0163.0002.1C52] # OL CHIKI DIGIT TWO
+A622 ; [.15CC.0020.0002.A622][.0000.0164.0002.A622] # VAI DIGIT TWO
+110F2 ; [.15CC.0020.0002.110F2][.0000.0165.0002.110F2] # SORA SOMPENG DIGIT TWO
+3022 ; [.15CC.0020.0002.3022][.0000.0166.0002.3022] # HANGZHOU NUMERAL TWO
+10108 ; [.15CC.0020.0002.10108][.0000.0167.0002.10108] # AEGEAN NUMBER TWO
+1015B ; [.15CC.0020.0002.1015B][.0000.0168.0002.1015B] # GREEK ACROPHONIC EPIDAUREAN TWO
+1015C ; [.15CC.0020.0002.1015C][.0000.0168.0002.1015C] # GREEK ACROPHONIC THESPIAN TWO
+1015D ; [.15CC.0020.0002.1015D][.0000.0168.0002.1015D] # GREEK ACROPHONIC CYRENAIC TWO DRACHMAS
+1015E ; [.15CC.0020.0002.1015E][.0000.0168.0002.1015E] # GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS
+103D2 ; [.15CC.0020.0002.103D2][.0000.016B.0002.103D2] # OLD PERSIAN NUMBER TWO
+12400 ; [.15CC.0020.0002.12400][.0000.016C.0002.12400] # CUNEIFORM NUMERIC SIGN TWO ASH
+12416 ; [.15CC.0020.0002.12416][.0000.016C.0002.12416] # CUNEIFORM NUMERIC SIGN TWO GESH2
+1241F ; [.15CC.0020.0002.1241F][.0000.016C.0002.1241F] # CUNEIFORM NUMERIC SIGN TWO GESHU
+12423 ; [.15CC.0020.0002.12423][.0000.016C.0002.12423] # CUNEIFORM NUMERIC SIGN TWO SHAR2
+1242D ; [.15CC.0020.0002.1242D][.0000.016C.0002.1242D] # CUNEIFORM NUMERIC SIGN TWO SHARU
+12435 ; [.15CC.0020.0002.12435][.0000.016C.0002.12435] # CUNEIFORM NUMERIC SIGN TWO BURU
+1244A ; [.15CC.0020.0002.1244A][.0000.016C.0002.1244A] # CUNEIFORM NUMERIC SIGN TWO ASH TENU
+12450 ; [.15CC.0020.0002.12450][.0000.016C.0002.12450] # CUNEIFORM NUMERIC SIGN TWO BAN2
+12459 ; [.15CC.0020.0002.12459][.0000.016C.0002.12459] # CUNEIFORM NUMERIC SIGN TWO ESHE3
+1091A ; [.15CC.0020.0002.1091A][.0000.016E.0002.1091A] # PHOENICIAN NUMBER TWO
+10859 ; [.15CC.0020.0002.10859][.0000.016F.0002.10859] # IMPERIAL ARAMAIC NUMBER TWO
+10B59 ; [.15CC.0020.0002.10B59][.0000.0170.0002.10B59] # INSCRIPTIONAL PARTHIAN NUMBER TWO
+10B79 ; [.15CC.0020.0002.10B79][.0000.0171.0002.10B79] # INSCRIPTIONAL PAHLAVI NUMBER TWO
+111D2 ; [.15CC.0020.0002.111D2][.0000.0172.0002.111D2] # SHARADA DIGIT TWO
+116C2 ; [.15CC.0020.0002.116C2][.0000.0173.0002.116C2] # TAKRI DIGIT TWO
+11068 ; [.15CC.0020.0002.11068][.0000.0174.0002.11068] # BRAHMI DIGIT TWO
+11053 ; [.15CC.0020.0002.11053][.0000.0175.0002.11053] # BRAHMI NUMBER TWO
+10A41 ; [.15CC.0020.0002.10A41][.0000.0176.0002.10A41] # KHAROSHTHI DIGIT TWO
+1D361 ; [.15CC.0020.0002.1D361][.0000.0177.0002.1D361] # COUNTING ROD UNIT DIGIT TWO
+249B ; [.15CC.0020.0004.249B][.15CA.0020.0004.249B][*0273.0020.001F.249B] # NUMBER TWENTY FULL STOP
+2487 ; [*02FB.0020.0004.2487][.15CC.0020.0004.2487][.15CA.0020.001F.2487][*02FC.0020.001F.2487] # PARENTHESIZED NUMBER TWENTY
+2473 ; [.15CC.0020.0006.2473][.15CA.0020.0006.2473] # CIRCLED NUMBER TWENTY
+24F4 ; [.15CC.0020.0006.24F4][.15CA.0020.0006.24F4] # NEGATIVE CIRCLED NUMBER TWENTY
+3249 ; [.15CC.0020.0006.3249][.15CA.0020.0006.3249] # CIRCLED NUMBER TWENTY ON BLACK SQUARE
+33F3 ; [.15CC.0020.0004.33F3][.15CA.0020.0004.33F3][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
+336C ; [.15CC.0020.0004.336C][.15CA.0020.0004.336C][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
+3251 ; [.15CC.0020.0006.3251][.15CB.0020.0006.3251] # CIRCLED NUMBER TWENTY ONE
+33F4 ; [.15CC.0020.0004.33F4][.15CB.0020.0004.33F4][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
+336D ; [.15CC.0020.0004.336D][.15CB.0020.0004.336D][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
+3252 ; [.15CC.0020.0006.3252][.15CC.0020.0006.3252] # CIRCLED NUMBER TWENTY TWO
+33F5 ; [.15CC.0020.0004.33F5][.15CC.0020.0004.33F5][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
+336E ; [.15CC.0020.0004.336E][.15CC.0020.0004.336E][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
+3253 ; [.15CC.0020.0006.3253][.15CD.0020.0006.3253] # CIRCLED NUMBER TWENTY THREE
+2154 ; [.15CC.0020.001E.2154][*05AC.0020.001E.2154][.15CD.0020.001F.2154] # VULGAR FRACTION TWO THIRDS
+33F6 ; [.15CC.0020.0004.33F6][.15CD.0020.0004.33F6][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
+336F ; [.15CC.0020.0004.336F][.15CD.0020.0004.336F][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
+3254 ; [.15CC.0020.0006.3254][.15CE.0020.0006.3254] # CIRCLED NUMBER TWENTY FOUR
+33F7 ; [.15CC.0020.0004.33F7][.15CE.0020.0004.33F7][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
+3370 ; [.15CC.0020.0004.3370][.15CE.0020.0004.3370][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
+3255 ; [.15CC.0020.0006.3255][.15CF.0020.0006.3255] # CIRCLED NUMBER TWENTY FIVE
+2156 ; [.15CC.0020.001E.2156][*05AC.0020.001E.2156][.15CF.0020.001F.2156] # VULGAR FRACTION TWO FIFTHS
+33F8 ; [.15CC.0020.0004.33F8][.15CF.0020.0004.33F8][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
+3256 ; [.15CC.0020.0006.3256][.15D0.0020.0006.3256] # CIRCLED NUMBER TWENTY SIX
+33F9 ; [.15CC.0020.0004.33F9][.15D0.0020.0004.33F9][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
+3257 ; [.15CC.0020.0006.3257][.15D1.0020.0006.3257] # CIRCLED NUMBER TWENTY SEVEN
+33FA ; [.15CC.0020.0004.33FA][.15D1.0020.0004.33FA][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
+3258 ; [.15CC.0020.0006.3258][.15D2.0020.0006.3258] # CIRCLED NUMBER TWENTY EIGHT
+33FB ; [.15CC.0020.0004.33FB][.15D2.0020.0004.33FB][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
+3259 ; [.15CC.0020.0006.3259][.15D3.0020.0006.3259] # CIRCLED NUMBER TWENTY NINE
+33FC ; [.15CC.0020.0004.33FC][.15D3.0020.0004.33FC][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
+33E1 ; [.15CC.0020.0004.33E1][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
+32C1 ; [.15CC.0020.0004.32C1][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
+335A ; [.15CC.0020.0004.335A][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
+0033 ; [.15CD.0020.0002.0033] # DIGIT THREE
+FF13 ; [.15CD.0020.0003.FF13] # FULLWIDTH DIGIT THREE
+2476 ; [*02FB.0020.0004.2476][.15CD.0020.0004.2476][*02FC.0020.001F.2476] # PARENTHESIZED DIGIT THREE
+248A ; [.15CD.0020.0004.248A][*0273.0020.0004.248A] # DIGIT THREE FULL STOP
+1F104 ; [.15CD.0020.0004.1F104][*0221.0020.0004.1F104] # DIGIT THREE COMMA
+1D7D1 ; [.15CD.0020.0005.1D7D1] # MATHEMATICAL BOLD DIGIT THREE
+1D7DB ; [.15CD.0020.0005.1D7DB] # MATHEMATICAL DOUBLE-STRUCK DIGIT THREE
+1D7E5 ; [.15CD.0020.0005.1D7E5] # MATHEMATICAL SANS-SERIF DIGIT THREE
+1D7EF ; [.15CD.0020.0005.1D7EF] # MATHEMATICAL SANS-SERIF BOLD DIGIT THREE
+1D7F9 ; [.15CD.0020.0005.1D7F9] # MATHEMATICAL MONOSPACE DIGIT THREE
+2462 ; [.15CD.0020.0006.2462] # CIRCLED DIGIT THREE
+24F7 ; [.15CD.0020.0006.24F7] # DOUBLE CIRCLED DIGIT THREE
+2778 ; [.15CD.0020.0006.2778] # DINGBAT NEGATIVE CIRCLED DIGIT THREE
+2782 ; [.15CD.0020.0006.2782] # DINGBAT CIRCLED SANS-SERIF DIGIT THREE
+278C ; [.15CD.0020.0006.278C] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE
+00B3 ; [.15CD.0020.0014.00B3] # SUPERSCRIPT THREE
+2083 ; [.15CD.0020.0015.2083] # SUBSCRIPT THREE
+0663 ; [.15CD.0020.0002.0663][.0000.013F.0002.0663] # ARABIC-INDIC DIGIT THREE
+06F3 ; [.15CD.0020.0002.06F3][.0000.0140.0002.06F3] # EXTENDED ARABIC-INDIC DIGIT THREE
+10E62 ; [.15CD.0020.0002.10E62][.0000.0141.0002.10E62] # RUMI DIGIT THREE
+07C3 ; [.15CD.0020.0002.07C3][.0000.0142.0002.07C3] # NKO DIGIT THREE
+136B ; [.15CD.0020.0002.136B][.0000.0143.0002.136B] # ETHIOPIC DIGIT THREE
+104A3 ; [.15CD.0020.0002.104A3][.0000.0144.0002.104A3] # OSMANYA DIGIT THREE
+0969 ; [.15CD.0020.0002.0969][.0000.0145.0002.0969] # DEVANAGARI DIGIT THREE
+09E9 ; [.15CD.0020.0002.09E9][.0000.0146.0002.09E9] # BENGALI DIGIT THREE
+0A69 ; [.15CD.0020.0002.0A69][.0000.0147.0002.0A69] # GURMUKHI DIGIT THREE
+0AE9 ; [.15CD.0020.0002.0AE9][.0000.0148.0002.0AE9] # GUJARATI DIGIT THREE
+0B69 ; [.15CD.0020.0002.0B69][.0000.0149.0002.0B69] # ORIYA DIGIT THREE
+0BE9 ; [.15CD.0020.0002.0BE9][.0000.014A.0002.0BE9] # TAMIL DIGIT THREE
+0C69 ; [.15CD.0020.0002.0C69][.0000.014B.0002.0C69] # TELUGU DIGIT THREE
+0C7B ; [.15CD.0020.0002.0C7B][.0000.014B.0002.0C7B] # TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR
+0C7E ; [.15CD.0020.0002.0C7E][.0000.014B.0002.0C7E] # TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
+0CE9 ; [.15CD.0020.0002.0CE9][.0000.014C.0002.0CE9] # KANNADA DIGIT THREE
+0D69 ; [.15CD.0020.0002.0D69][.0000.014D.0002.0D69] # MALAYALAM DIGIT THREE
+ABF3 ; [.15CD.0020.0002.ABF3][.0000.014E.0002.ABF3] # MEETEI MAYEK DIGIT THREE
+A8D3 ; [.15CD.0020.0002.A8D3][.0000.014F.0002.A8D3] # SAURASHTRA DIGIT THREE
+1949 ; [.15CD.0020.0002.1949][.0000.0150.0002.1949] # LIMBU DIGIT THREE
+19D3 ; [.15CD.0020.0002.19D3][.0000.0151.0002.19D3] # NEW TAI LUE DIGIT THREE
+1A83 ; [.15CD.0020.0002.1A83][.0000.0152.0002.1A83] # TAI THAM HORA DIGIT THREE
+1A93 ; [.15CD.0020.0002.1A93][.0000.0153.0002.1A93] # TAI THAM THAM DIGIT THREE
+0E53 ; [.15CD.0020.0002.0E53][.0000.0154.0002.0E53] # THAI DIGIT THREE
+0ED3 ; [.15CD.0020.0002.0ED3][.0000.0155.0002.0ED3] # LAO DIGIT THREE
+0F23 ; [.15CD.0020.0002.0F23][.0000.0156.0002.0F23] # TIBETAN DIGIT THREE
+0F2C ; [.15CD.0020.0004.0F2C][.0000.0156.0004.0F2C] # TIBETAN DIGIT HALF THREE
+1C43 ; [.15CD.0020.0002.1C43][.0000.0157.0002.1C43] # LEPCHA DIGIT THREE
+A903 ; [.15CD.0020.0002.A903][.0000.0158.0002.A903] # KAYAH LI DIGIT THREE
+1043 ; [.15CD.0020.0002.1043][.0000.0159.0002.1043] # MYANMAR DIGIT THREE
+1093 ; [.15CD.0020.0002.1093][.0000.015A.0002.1093] # MYANMAR SHAN DIGIT THREE
+11139 ; [.15CD.0020.0002.11139][.0000.015B.0002.11139] # CHAKMA DIGIT THREE
+17E3 ; [.15CD.0020.0002.17E3][.0000.015C.0002.17E3] # KHMER DIGIT THREE
+17F3 ; [.15CD.0020.0002.17F3][.0000.015D.0002.17F3] # KHMER SYMBOL LEK ATTAK BEI
+AA53 ; [.15CD.0020.0002.AA53][.0000.015E.0002.AA53] # CHAM DIGIT THREE
+1B53 ; [.15CD.0020.0002.1B53][.0000.015F.0002.1B53] # BALINESE DIGIT THREE
+A9D3 ; [.15CD.0020.0002.A9D3][.0000.0160.0002.A9D3] # JAVANESE DIGIT THREE
+1BB3 ; [.15CD.0020.0002.1BB3][.0000.0161.0002.1BB3] # SUNDANESE DIGIT THREE
+1813 ; [.15CD.0020.0002.1813][.0000.0162.0002.1813] # MONGOLIAN DIGIT THREE
+1C53 ; [.15CD.0020.0002.1C53][.0000.0163.0002.1C53] # OL CHIKI DIGIT THREE
+A623 ; [.15CD.0020.0002.A623][.0000.0164.0002.A623] # VAI DIGIT THREE
+110F3 ; [.15CD.0020.0002.110F3][.0000.0165.0002.110F3] # SORA SOMPENG DIGIT THREE
+3023 ; [.15CD.0020.0002.3023][.0000.0166.0002.3023] # HANGZHOU NUMERAL THREE
+10109 ; [.15CD.0020.0002.10109][.0000.0167.0002.10109] # AEGEAN NUMBER THREE
+12401 ; [.15CD.0020.0002.12401][.0000.016C.0002.12401] # CUNEIFORM NUMERIC SIGN THREE ASH
+12408 ; [.15CD.0020.0002.12408][.0000.016C.0002.12408] # CUNEIFORM NUMERIC SIGN THREE DISH
+12417 ; [.15CD.0020.0002.12417][.0000.016C.0002.12417] # CUNEIFORM NUMERIC SIGN THREE GESH2
+12420 ; [.15CD.0020.0002.12420][.0000.016C.0002.12420] # CUNEIFORM NUMERIC SIGN THREE GESHU
+12424 ; [.15CD.0020.0002.12424][.0000.016C.0002.12424] # CUNEIFORM NUMERIC SIGN THREE SHAR2
+12425 ; [.15CD.0020.0002.12425][.0000.016C.0002.12425] # CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM
+1242E ; [.15CD.0020.0002.1242E][.0000.016C.0002.1242E] # CUNEIFORM NUMERIC SIGN THREE SHARU
+1242F ; [.15CD.0020.0002.1242F][.0000.016C.0002.1242F] # CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM
+12436 ; [.15CD.0020.0002.12436][.0000.016C.0002.12436] # CUNEIFORM NUMERIC SIGN THREE BURU
+12437 ; [.15CD.0020.0002.12437][.0000.016C.0002.12437] # CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM
+1243A ; [.15CD.0020.0002.1243A][.0000.016C.0002.1243A] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16
+1243B ; [.15CD.0020.0002.1243B][.0000.016C.0002.1243B] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21
+1244B ; [.15CD.0020.0002.1244B][.0000.016C.0002.1244B] # CUNEIFORM NUMERIC SIGN THREE ASH TENU
+12451 ; [.15CD.0020.0002.12451][.0000.016C.0002.12451] # CUNEIFORM NUMERIC SIGN THREE BAN2
+1091B ; [.15CD.0020.0002.1091B][.0000.016E.0002.1091B] # PHOENICIAN NUMBER THREE
+1085A ; [.15CD.0020.0002.1085A][.0000.016F.0002.1085A] # IMPERIAL ARAMAIC NUMBER THREE
+10B5A ; [.15CD.0020.0002.10B5A][.0000.0170.0002.10B5A] # INSCRIPTIONAL PARTHIAN NUMBER THREE
+10B7A ; [.15CD.0020.0002.10B7A][.0000.0171.0002.10B7A] # INSCRIPTIONAL PAHLAVI NUMBER THREE
+111D3 ; [.15CD.0020.0002.111D3][.0000.0172.0002.111D3] # SHARADA DIGIT THREE
+116C3 ; [.15CD.0020.0002.116C3][.0000.0173.0002.116C3] # TAKRI DIGIT THREE
+11069 ; [.15CD.0020.0002.11069][.0000.0174.0002.11069] # BRAHMI DIGIT THREE
+11054 ; [.15CD.0020.0002.11054][.0000.0175.0002.11054] # BRAHMI NUMBER THREE
+10A42 ; [.15CD.0020.0002.10A42][.0000.0176.0002.10A42] # KHAROSHTHI DIGIT THREE
+1D362 ; [.15CD.0020.0002.1D362][.0000.0177.0002.1D362] # COUNTING ROD UNIT DIGIT THREE
+324A ; [.15CD.0020.0006.324A][.15CA.0020.0006.324A] # CIRCLED NUMBER THIRTY ON BLACK SQUARE
+325A ; [.15CD.0020.0006.325A][.15CA.0020.0006.325A] # CIRCLED NUMBER THIRTY
+33FD ; [.15CD.0020.0004.33FD][.15CA.0020.0004.33FD][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
+325B ; [.15CD.0020.0006.325B][.15CB.0020.0006.325B] # CIRCLED NUMBER THIRTY ONE
+33FE ; [.15CD.0020.0004.33FE][.15CB.0020.0004.33FE][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
+325C ; [.15CD.0020.0006.325C][.15CC.0020.0006.325C] # CIRCLED NUMBER THIRTY TWO
+325D ; [.15CD.0020.0006.325D][.15CD.0020.0006.325D] # CIRCLED NUMBER THIRTY THREE
+325E ; [.15CD.0020.0006.325E][.15CE.0020.0006.325E] # CIRCLED NUMBER THIRTY FOUR
+00BE ; [.15CD.0020.001E.00BE][*05AC.0020.001E.00BE][.15CE.0020.001F.00BE] # VULGAR FRACTION THREE QUARTERS
+325F ; [.15CD.0020.0006.325F][.15CF.0020.0006.325F] # CIRCLED NUMBER THIRTY FIVE
+2157 ; [.15CD.0020.001E.2157][*05AC.0020.001E.2157][.15CF.0020.001F.2157] # VULGAR FRACTION THREE FIFTHS
+32B1 ; [.15CD.0020.0006.32B1][.15D0.0020.0006.32B1] # CIRCLED NUMBER THIRTY SIX
+32B2 ; [.15CD.0020.0006.32B2][.15D1.0020.0006.32B2] # CIRCLED NUMBER THIRTY SEVEN
+32B3 ; [.15CD.0020.0006.32B3][.15D2.0020.0006.32B3] # CIRCLED NUMBER THIRTY EIGHT
+215C ; [.15CD.0020.001E.215C][*05AC.0020.001E.215C][.15D2.0020.001F.215C] # VULGAR FRACTION THREE EIGHTHS
+32B4 ; [.15CD.0020.0006.32B4][.15D3.0020.0006.32B4] # CIRCLED NUMBER THIRTY NINE
+33E2 ; [.15CD.0020.0004.33E2][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
+32C2 ; [.15CD.0020.0004.32C2][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
+335B ; [.15CD.0020.0004.335B][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
+0034 ; [.15CE.0020.0002.0034] # DIGIT FOUR
+FF14 ; [.15CE.0020.0003.FF14] # FULLWIDTH DIGIT FOUR
+2477 ; [*02FB.0020.0004.2477][.15CE.0020.0004.2477][*02FC.0020.001F.2477] # PARENTHESIZED DIGIT FOUR
+248B ; [.15CE.0020.0004.248B][*0273.0020.0004.248B] # DIGIT FOUR FULL STOP
+1F105 ; [.15CE.0020.0004.1F105][*0221.0020.0004.1F105] # DIGIT FOUR COMMA
+1D7D2 ; [.15CE.0020.0005.1D7D2] # MATHEMATICAL BOLD DIGIT FOUR
+1D7DC ; [.15CE.0020.0005.1D7DC] # MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR
+1D7E6 ; [.15CE.0020.0005.1D7E6] # MATHEMATICAL SANS-SERIF DIGIT FOUR
+1D7F0 ; [.15CE.0020.0005.1D7F0] # MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR
+1D7FA ; [.15CE.0020.0005.1D7FA] # MATHEMATICAL MONOSPACE DIGIT FOUR
+2463 ; [.15CE.0020.0006.2463] # CIRCLED DIGIT FOUR
+24F8 ; [.15CE.0020.0006.24F8] # DOUBLE CIRCLED DIGIT FOUR
+2779 ; [.15CE.0020.0006.2779] # DINGBAT NEGATIVE CIRCLED DIGIT FOUR
+2783 ; [.15CE.0020.0006.2783] # DINGBAT CIRCLED SANS-SERIF DIGIT FOUR
+278D ; [.15CE.0020.0006.278D] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR
+2074 ; [.15CE.0020.0014.2074] # SUPERSCRIPT FOUR
+2084 ; [.15CE.0020.0015.2084] # SUBSCRIPT FOUR
+0664 ; [.15CE.0020.0002.0664][.0000.013F.0002.0664] # ARABIC-INDIC DIGIT FOUR
+06F4 ; [.15CE.0020.0002.06F4][.0000.0140.0002.06F4] # EXTENDED ARABIC-INDIC DIGIT FOUR
+10E63 ; [.15CE.0020.0002.10E63][.0000.0141.0002.10E63] # RUMI DIGIT FOUR
+07C4 ; [.15CE.0020.0002.07C4][.0000.0142.0002.07C4] # NKO DIGIT FOUR
+136C ; [.15CE.0020.0002.136C][.0000.0143.0002.136C] # ETHIOPIC DIGIT FOUR
+104A4 ; [.15CE.0020.0002.104A4][.0000.0144.0002.104A4] # OSMANYA DIGIT FOUR
+096A ; [.15CE.0020.0002.096A][.0000.0145.0002.096A] # DEVANAGARI DIGIT FOUR
+09EA ; [.15CE.0020.0002.09EA][.0000.0146.0002.09EA] # BENGALI DIGIT FOUR
+0A6A ; [.15CE.0020.0002.0A6A][.0000.0147.0002.0A6A] # GURMUKHI DIGIT FOUR
+0AEA ; [.15CE.0020.0002.0AEA][.0000.0148.0002.0AEA] # GUJARATI DIGIT FOUR
+0B6A ; [.15CE.0020.0002.0B6A][.0000.0149.0002.0B6A] # ORIYA DIGIT FOUR
+0BEA ; [.15CE.0020.0002.0BEA][.0000.014A.0002.0BEA] # TAMIL DIGIT FOUR
+0C6A ; [.15CE.0020.0002.0C6A][.0000.014B.0002.0C6A] # TELUGU DIGIT FOUR
+0CEA ; [.15CE.0020.0002.0CEA][.0000.014C.0002.0CEA] # KANNADA DIGIT FOUR
+0D6A ; [.15CE.0020.0002.0D6A][.0000.014D.0002.0D6A] # MALAYALAM DIGIT FOUR
+ABF4 ; [.15CE.0020.0002.ABF4][.0000.014E.0002.ABF4] # MEETEI MAYEK DIGIT FOUR
+A8D4 ; [.15CE.0020.0002.A8D4][.0000.014F.0002.A8D4] # SAURASHTRA DIGIT FOUR
+194A ; [.15CE.0020.0002.194A][.0000.0150.0002.194A] # LIMBU DIGIT FOUR
+19D4 ; [.15CE.0020.0002.19D4][.0000.0151.0002.19D4] # NEW TAI LUE DIGIT FOUR
+1A84 ; [.15CE.0020.0002.1A84][.0000.0152.0002.1A84] # TAI THAM HORA DIGIT FOUR
+1A94 ; [.15CE.0020.0002.1A94][.0000.0153.0002.1A94] # TAI THAM THAM DIGIT FOUR
+0E54 ; [.15CE.0020.0002.0E54][.0000.0154.0002.0E54] # THAI DIGIT FOUR
+0ED4 ; [.15CE.0020.0002.0ED4][.0000.0155.0002.0ED4] # LAO DIGIT FOUR
+0F24 ; [.15CE.0020.0002.0F24][.0000.0156.0002.0F24] # TIBETAN DIGIT FOUR
+0F2D ; [.15CE.0020.0004.0F2D][.0000.0156.0004.0F2D] # TIBETAN DIGIT HALF FOUR
+1C44 ; [.15CE.0020.0002.1C44][.0000.0157.0002.1C44] # LEPCHA DIGIT FOUR
+A904 ; [.15CE.0020.0002.A904][.0000.0158.0002.A904] # KAYAH LI DIGIT FOUR
+1044 ; [.15CE.0020.0002.1044][.0000.0159.0002.1044] # MYANMAR DIGIT FOUR
+1094 ; [.15CE.0020.0002.1094][.0000.015A.0002.1094] # MYANMAR SHAN DIGIT FOUR
+1113A ; [.15CE.0020.0002.1113A][.0000.015B.0002.1113A] # CHAKMA DIGIT FOUR
+17E4 ; [.15CE.0020.0002.17E4][.0000.015C.0002.17E4] # KHMER DIGIT FOUR
+17F4 ; [.15CE.0020.0002.17F4][.0000.015D.0002.17F4] # KHMER SYMBOL LEK ATTAK BUON
+AA54 ; [.15CE.0020.0002.AA54][.0000.015E.0002.AA54] # CHAM DIGIT FOUR
+1B54 ; [.15CE.0020.0002.1B54][.0000.015F.0002.1B54] # BALINESE DIGIT FOUR
+A9D4 ; [.15CE.0020.0002.A9D4][.0000.0160.0002.A9D4] # JAVANESE DIGIT FOUR
+1BB4 ; [.15CE.0020.0002.1BB4][.0000.0161.0002.1BB4] # SUNDANESE DIGIT FOUR
+1814 ; [.15CE.0020.0002.1814][.0000.0162.0002.1814] # MONGOLIAN DIGIT FOUR
+1C54 ; [.15CE.0020.0002.1C54][.0000.0163.0002.1C54] # OL CHIKI DIGIT FOUR
+A624 ; [.15CE.0020.0002.A624][.0000.0164.0002.A624] # VAI DIGIT FOUR
+110F4 ; [.15CE.0020.0002.110F4][.0000.0165.0002.110F4] # SORA SOMPENG DIGIT FOUR
+3024 ; [.15CE.0020.0002.3024][.0000.0166.0002.3024] # HANGZHOU NUMERAL FOUR
+1010A ; [.15CE.0020.0002.1010A][.0000.0167.0002.1010A] # AEGEAN NUMBER FOUR
+12402 ; [.15CE.0020.0002.12402][.0000.016C.0002.12402] # CUNEIFORM NUMERIC SIGN FOUR ASH
+12409 ; [.15CE.0020.0002.12409][.0000.016C.0002.12409] # CUNEIFORM NUMERIC SIGN FOUR DISH
+1240F ; [.15CE.0020.0002.1240F][.0000.016C.0002.1240F] # CUNEIFORM NUMERIC SIGN FOUR U
+12418 ; [.15CE.0020.0002.12418][.0000.016C.0002.12418] # CUNEIFORM NUMERIC SIGN FOUR GESH2
+12421 ; [.15CE.0020.0002.12421][.0000.016C.0002.12421] # CUNEIFORM NUMERIC SIGN FOUR GESHU
+12426 ; [.15CE.0020.0002.12426][.0000.016C.0002.12426] # CUNEIFORM NUMERIC SIGN FOUR SHAR2
+12430 ; [.15CE.0020.0002.12430][.0000.016C.0002.12430] # CUNEIFORM NUMERIC SIGN FOUR SHARU
+12438 ; [.15CE.0020.0002.12438][.0000.016C.0002.12438] # CUNEIFORM NUMERIC SIGN FOUR BURU
+1243C ; [.15CE.0020.0002.1243C][.0000.016C.0002.1243C] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU
+1243D ; [.15CE.0020.0002.1243D][.0000.016C.0002.1243D] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU4
+1243E ; [.15CE.0020.0002.1243E][.0000.016C.0002.1243E] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU A
+1243F ; [.15CE.0020.0002.1243F][.0000.016C.0002.1243F] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B
+1244C ; [.15CE.0020.0002.1244C][.0000.016C.0002.1244C] # CUNEIFORM NUMERIC SIGN FOUR ASH TENU
+12452 ; [.15CE.0020.0002.12452][.0000.016C.0002.12452] # CUNEIFORM NUMERIC SIGN FOUR BAN2
+12453 ; [.15CE.0020.0002.12453][.0000.016C.0002.12453] # CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM
+10B5B ; [.15CE.0020.0002.10B5B][.0000.0170.0002.10B5B] # INSCRIPTIONAL PARTHIAN NUMBER FOUR
+10B7B ; [.15CE.0020.0002.10B7B][.0000.0171.0002.10B7B] # INSCRIPTIONAL PAHLAVI NUMBER FOUR
+111D4 ; [.15CE.0020.0002.111D4][.0000.0172.0002.111D4] # SHARADA DIGIT FOUR
+116C4 ; [.15CE.0020.0002.116C4][.0000.0173.0002.116C4] # TAKRI DIGIT FOUR
+1106A ; [.15CE.0020.0002.1106A][.0000.0174.0002.1106A] # BRAHMI DIGIT FOUR
+11055 ; [.15CE.0020.0002.11055][.0000.0175.0002.11055] # BRAHMI NUMBER FOUR
+10A43 ; [.15CE.0020.0002.10A43][.0000.0176.0002.10A43] # KHAROSHTHI DIGIT FOUR
+1D363 ; [.15CE.0020.0002.1D363][.0000.0177.0002.1D363] # COUNTING ROD UNIT DIGIT FOUR
+324B ; [.15CE.0020.0006.324B][.15CA.0020.0006.324B] # CIRCLED NUMBER FORTY ON BLACK SQUARE
+32B5 ; [.15CE.0020.0006.32B5][.15CA.0020.0006.32B5] # CIRCLED NUMBER FORTY
+32B6 ; [.15CE.0020.0006.32B6][.15CB.0020.0006.32B6] # CIRCLED NUMBER FORTY ONE
+32B7 ; [.15CE.0020.0006.32B7][.15CC.0020.0006.32B7] # CIRCLED NUMBER FORTY TWO
+32B8 ; [.15CE.0020.0006.32B8][.15CD.0020.0006.32B8] # CIRCLED NUMBER FORTY THREE
+32B9 ; [.15CE.0020.0006.32B9][.15CE.0020.0006.32B9] # CIRCLED NUMBER FORTY FOUR
+32BA ; [.15CE.0020.0006.32BA][.15CF.0020.0006.32BA] # CIRCLED NUMBER FORTY FIVE
+2158 ; [.15CE.0020.001E.2158][*05AC.0020.001E.2158][.15CF.0020.001F.2158] # VULGAR FRACTION FOUR FIFTHS
+32BB ; [.15CE.0020.0006.32BB][.15D0.0020.0006.32BB] # CIRCLED NUMBER FORTY SIX
+32BC ; [.15CE.0020.0006.32BC][.15D1.0020.0006.32BC] # CIRCLED NUMBER FORTY SEVEN
+32BD ; [.15CE.0020.0006.32BD][.15D2.0020.0006.32BD] # CIRCLED NUMBER FORTY EIGHT
+32BE ; [.15CE.0020.0006.32BE][.15D3.0020.0006.32BE] # CIRCLED NUMBER FORTY NINE
+33E3 ; [.15CE.0020.0004.33E3][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
+32C3 ; [.15CE.0020.0004.32C3][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
+335C ; [.15CE.0020.0004.335C][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
+0035 ; [.15CF.0020.0002.0035] # DIGIT FIVE
+FF15 ; [.15CF.0020.0003.FF15] # FULLWIDTH DIGIT FIVE
+2478 ; [*02FB.0020.0004.2478][.15CF.0020.0004.2478][*02FC.0020.001F.2478] # PARENTHESIZED DIGIT FIVE
+248C ; [.15CF.0020.0004.248C][*0273.0020.0004.248C] # DIGIT FIVE FULL STOP
+1F106 ; [.15CF.0020.0004.1F106][*0221.0020.0004.1F106] # DIGIT FIVE COMMA
+1D7D3 ; [.15CF.0020.0005.1D7D3] # MATHEMATICAL BOLD DIGIT FIVE
+1D7DD ; [.15CF.0020.0005.1D7DD] # MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
+1D7E7 ; [.15CF.0020.0005.1D7E7] # MATHEMATICAL SANS-SERIF DIGIT FIVE
+1D7F1 ; [.15CF.0020.0005.1D7F1] # MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE
+1D7FB ; [.15CF.0020.0005.1D7FB] # MATHEMATICAL MONOSPACE DIGIT FIVE
+2464 ; [.15CF.0020.0006.2464] # CIRCLED DIGIT FIVE
+24F9 ; [.15CF.0020.0006.24F9] # DOUBLE CIRCLED DIGIT FIVE
+277A ; [.15CF.0020.0006.277A] # DINGBAT NEGATIVE CIRCLED DIGIT FIVE
+2784 ; [.15CF.0020.0006.2784] # DINGBAT CIRCLED SANS-SERIF DIGIT FIVE
+278E ; [.15CF.0020.0006.278E] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE
+2075 ; [.15CF.0020.0014.2075] # SUPERSCRIPT FIVE
+2085 ; [.15CF.0020.0015.2085] # SUBSCRIPT FIVE
+0665 ; [.15CF.0020.0002.0665][.0000.013F.0002.0665] # ARABIC-INDIC DIGIT FIVE
+06F5 ; [.15CF.0020.0002.06F5][.0000.0140.0002.06F5] # EXTENDED ARABIC-INDIC DIGIT FIVE
+10E64 ; [.15CF.0020.0002.10E64][.0000.0141.0002.10E64] # RUMI DIGIT FIVE
+07C5 ; [.15CF.0020.0002.07C5][.0000.0142.0002.07C5] # NKO DIGIT FIVE
+136D ; [.15CF.0020.0002.136D][.0000.0143.0002.136D] # ETHIOPIC DIGIT FIVE
+104A5 ; [.15CF.0020.0002.104A5][.0000.0144.0002.104A5] # OSMANYA DIGIT FIVE
+096B ; [.15CF.0020.0002.096B][.0000.0145.0002.096B] # DEVANAGARI DIGIT FIVE
+09EB ; [.15CF.0020.0002.09EB][.0000.0146.0002.09EB] # BENGALI DIGIT FIVE
+0A6B ; [.15CF.0020.0002.0A6B][.0000.0147.0002.0A6B] # GURMUKHI DIGIT FIVE
+0AEB ; [.15CF.0020.0002.0AEB][.0000.0148.0002.0AEB] # GUJARATI DIGIT FIVE
+0B6B ; [.15CF.0020.0002.0B6B][.0000.0149.0002.0B6B] # ORIYA DIGIT FIVE
+0BEB ; [.15CF.0020.0002.0BEB][.0000.014A.0002.0BEB] # TAMIL DIGIT FIVE
+0C6B ; [.15CF.0020.0002.0C6B][.0000.014B.0002.0C6B] # TELUGU DIGIT FIVE
+0CEB ; [.15CF.0020.0002.0CEB][.0000.014C.0002.0CEB] # KANNADA DIGIT FIVE
+0D6B ; [.15CF.0020.0002.0D6B][.0000.014D.0002.0D6B] # MALAYALAM DIGIT FIVE
+ABF5 ; [.15CF.0020.0002.ABF5][.0000.014E.0002.ABF5] # MEETEI MAYEK DIGIT FIVE
+A8D5 ; [.15CF.0020.0002.A8D5][.0000.014F.0002.A8D5] # SAURASHTRA DIGIT FIVE
+194B ; [.15CF.0020.0002.194B][.0000.0150.0002.194B] # LIMBU DIGIT FIVE
+19D5 ; [.15CF.0020.0002.19D5][.0000.0151.0002.19D5] # NEW TAI LUE DIGIT FIVE
+1A85 ; [.15CF.0020.0002.1A85][.0000.0152.0002.1A85] # TAI THAM HORA DIGIT FIVE
+1A95 ; [.15CF.0020.0002.1A95][.0000.0153.0002.1A95] # TAI THAM THAM DIGIT FIVE
+0E55 ; [.15CF.0020.0002.0E55][.0000.0154.0002.0E55] # THAI DIGIT FIVE
+0ED5 ; [.15CF.0020.0002.0ED5][.0000.0155.0002.0ED5] # LAO DIGIT FIVE
+0F25 ; [.15CF.0020.0002.0F25][.0000.0156.0002.0F25] # TIBETAN DIGIT FIVE
+0F2E ; [.15CF.0020.0004.0F2E][.0000.0156.0004.0F2E] # TIBETAN DIGIT HALF FIVE
+1C45 ; [.15CF.0020.0002.1C45][.0000.0157.0002.1C45] # LEPCHA DIGIT FIVE
+A905 ; [.15CF.0020.0002.A905][.0000.0158.0002.A905] # KAYAH LI DIGIT FIVE
+1045 ; [.15CF.0020.0002.1045][.0000.0159.0002.1045] # MYANMAR DIGIT FIVE
+1095 ; [.15CF.0020.0002.1095][.0000.015A.0002.1095] # MYANMAR SHAN DIGIT FIVE
+1113B ; [.15CF.0020.0002.1113B][.0000.015B.0002.1113B] # CHAKMA DIGIT FIVE
+17E5 ; [.15CF.0020.0002.17E5][.0000.015C.0002.17E5] # KHMER DIGIT FIVE
+17F5 ; [.15CF.0020.0002.17F5][.0000.015D.0002.17F5] # KHMER SYMBOL LEK ATTAK PRAM
+AA55 ; [.15CF.0020.0002.AA55][.0000.015E.0002.AA55] # CHAM DIGIT FIVE
+1B55 ; [.15CF.0020.0002.1B55][.0000.015F.0002.1B55] # BALINESE DIGIT FIVE
+A9D5 ; [.15CF.0020.0002.A9D5][.0000.0160.0002.A9D5] # JAVANESE DIGIT FIVE
+1BB5 ; [.15CF.0020.0002.1BB5][.0000.0161.0002.1BB5] # SUNDANESE DIGIT FIVE
+1815 ; [.15CF.0020.0002.1815][.0000.0162.0002.1815] # MONGOLIAN DIGIT FIVE
+1C55 ; [.15CF.0020.0002.1C55][.0000.0163.0002.1C55] # OL CHIKI DIGIT FIVE
+A625 ; [.15CF.0020.0002.A625][.0000.0164.0002.A625] # VAI DIGIT FIVE
+110F5 ; [.15CF.0020.0002.110F5][.0000.0165.0002.110F5] # SORA SOMPENG DIGIT FIVE
+3025 ; [.15CF.0020.0002.3025][.0000.0166.0002.3025] # HANGZHOU NUMERAL FIVE
+1010B ; [.15CF.0020.0002.1010B][.0000.0167.0002.1010B] # AEGEAN NUMBER FIVE
+10143 ; [.15CF.0020.0002.10143][.0000.0168.0002.10143] # GREEK ACROPHONIC ATTIC FIVE
+10148 ; [.15CF.0020.0002.10148][.0000.0168.0002.10148] # GREEK ACROPHONIC ATTIC FIVE TALENTS
+1014F ; [.15CF.0020.0002.1014F][.0000.0168.0002.1014F] # GREEK ACROPHONIC ATTIC FIVE STATERS
+1015F ; [.15CF.0020.0002.1015F][.0000.0168.0002.1015F] # GREEK ACROPHONIC TROEZENIAN FIVE
+10173 ; [.15CF.0020.0002.10173][.0000.0168.0002.10173] # GREEK ACROPHONIC DELPHIC FIVE MNAS
+10321 ; [.15CF.0020.0002.10321][.0000.016A.0002.10321] # OLD ITALIC NUMERAL FIVE
+12403 ; [.15CF.0020.0002.12403][.0000.016C.0002.12403] # CUNEIFORM NUMERIC SIGN FIVE ASH
+1240A ; [.15CF.0020.0002.1240A][.0000.016C.0002.1240A] # CUNEIFORM NUMERIC SIGN FIVE DISH
+12410 ; [.15CF.0020.0002.12410][.0000.016C.0002.12410] # CUNEIFORM NUMERIC SIGN FIVE U
+12419 ; [.15CF.0020.0002.12419][.0000.016C.0002.12419] # CUNEIFORM NUMERIC SIGN FIVE GESH2
+12422 ; [.15CF.0020.0002.12422][.0000.016C.0002.12422] # CUNEIFORM NUMERIC SIGN FIVE GESHU
+12427 ; [.15CF.0020.0002.12427][.0000.016C.0002.12427] # CUNEIFORM NUMERIC SIGN FIVE SHAR2
+12431 ; [.15CF.0020.0002.12431][.0000.016C.0002.12431] # CUNEIFORM NUMERIC SIGN FIVE SHARU
+12439 ; [.15CF.0020.0002.12439][.0000.016C.0002.12439] # CUNEIFORM NUMERIC SIGN FIVE BURU
+1244D ; [.15CF.0020.0002.1244D][.0000.016C.0002.1244D] # CUNEIFORM NUMERIC SIGN FIVE ASH TENU
+12454 ; [.15CF.0020.0002.12454][.0000.016C.0002.12454] # CUNEIFORM NUMERIC SIGN FIVE BAN2
+12455 ; [.15CF.0020.0002.12455][.0000.016C.0002.12455] # CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM
+111D5 ; [.15CF.0020.0002.111D5][.0000.0172.0002.111D5] # SHARADA DIGIT FIVE
+116C5 ; [.15CF.0020.0002.116C5][.0000.0173.0002.116C5] # TAKRI DIGIT FIVE
+1106B ; [.15CF.0020.0002.1106B][.0000.0174.0002.1106B] # BRAHMI DIGIT FIVE
+11056 ; [.15CF.0020.0002.11056][.0000.0175.0002.11056] # BRAHMI NUMBER FIVE
+1D364 ; [.15CF.0020.0002.1D364][.0000.0177.0002.1D364] # COUNTING ROD UNIT DIGIT FIVE
+324C ; [.15CF.0020.0006.324C][.15CA.0020.0006.324C] # CIRCLED NUMBER FIFTY ON BLACK SQUARE
+32BF ; [.15CF.0020.0006.32BF][.15CA.0020.0006.32BF] # CIRCLED NUMBER FIFTY
+215A ; [.15CF.0020.001E.215A][*05AC.0020.001E.215A][.15D0.0020.001F.215A] # VULGAR FRACTION FIVE SIXTHS
+215D ; [.15CF.0020.001E.215D][*05AC.0020.001E.215D][.15D2.0020.001F.215D] # VULGAR FRACTION FIVE EIGHTHS
+33E4 ; [.15CF.0020.0004.33E4][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
+32C4 ; [.15CF.0020.0004.32C4][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
+335D ; [.15CF.0020.0004.335D][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
+0036 ; [.15D0.0020.0002.0036] # DIGIT SIX
+FF16 ; [.15D0.0020.0003.FF16] # FULLWIDTH DIGIT SIX
+2479 ; [*02FB.0020.0004.2479][.15D0.0020.0004.2479][*02FC.0020.001F.2479] # PARENTHESIZED DIGIT SIX
+248D ; [.15D0.0020.0004.248D][*0273.0020.0004.248D] # DIGIT SIX FULL STOP
+1F107 ; [.15D0.0020.0004.1F107][*0221.0020.0004.1F107] # DIGIT SIX COMMA
+1D7D4 ; [.15D0.0020.0005.1D7D4] # MATHEMATICAL BOLD DIGIT SIX
+1D7DE ; [.15D0.0020.0005.1D7DE] # MATHEMATICAL DOUBLE-STRUCK DIGIT SIX
+1D7E8 ; [.15D0.0020.0005.1D7E8] # MATHEMATICAL SANS-SERIF DIGIT SIX
+1D7F2 ; [.15D0.0020.0005.1D7F2] # MATHEMATICAL SANS-SERIF BOLD DIGIT SIX
+1D7FC ; [.15D0.0020.0005.1D7FC] # MATHEMATICAL MONOSPACE DIGIT SIX
+2465 ; [.15D0.0020.0006.2465] # CIRCLED DIGIT SIX
+24FA ; [.15D0.0020.0006.24FA] # DOUBLE CIRCLED DIGIT SIX
+277B ; [.15D0.0020.0006.277B] # DINGBAT NEGATIVE CIRCLED DIGIT SIX
+2785 ; [.15D0.0020.0006.2785] # DINGBAT CIRCLED SANS-SERIF DIGIT SIX
+278F ; [.15D0.0020.0006.278F] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX
+2076 ; [.15D0.0020.0014.2076] # SUPERSCRIPT SIX
+2086 ; [.15D0.0020.0015.2086] # SUBSCRIPT SIX
+0666 ; [.15D0.0020.0002.0666][.0000.013F.0002.0666] # ARABIC-INDIC DIGIT SIX
+06F6 ; [.15D0.0020.0002.06F6][.0000.0140.0002.06F6] # EXTENDED ARABIC-INDIC DIGIT SIX
+10E65 ; [.15D0.0020.0002.10E65][.0000.0141.0002.10E65] # RUMI DIGIT SIX
+07C6 ; [.15D0.0020.0002.07C6][.0000.0142.0002.07C6] # NKO DIGIT SIX
+136E ; [.15D0.0020.0002.136E][.0000.0143.0002.136E] # ETHIOPIC DIGIT SIX
+104A6 ; [.15D0.0020.0002.104A6][.0000.0144.0002.104A6] # OSMANYA DIGIT SIX
+096C ; [.15D0.0020.0002.096C][.0000.0145.0002.096C] # DEVANAGARI DIGIT SIX
+09EC ; [.15D0.0020.0002.09EC][.0000.0146.0002.09EC] # BENGALI DIGIT SIX
+0A6C ; [.15D0.0020.0002.0A6C][.0000.0147.0002.0A6C] # GURMUKHI DIGIT SIX
+0AEC ; [.15D0.0020.0002.0AEC][.0000.0148.0002.0AEC] # GUJARATI DIGIT SIX
+0B6C ; [.15D0.0020.0002.0B6C][.0000.0149.0002.0B6C] # ORIYA DIGIT SIX
+0BEC ; [.15D0.0020.0002.0BEC][.0000.014A.0002.0BEC] # TAMIL DIGIT SIX
+0C6C ; [.15D0.0020.0002.0C6C][.0000.014B.0002.0C6C] # TELUGU DIGIT SIX
+0CEC ; [.15D0.0020.0002.0CEC][.0000.014C.0002.0CEC] # KANNADA DIGIT SIX
+0D6C ; [.15D0.0020.0002.0D6C][.0000.014D.0002.0D6C] # MALAYALAM DIGIT SIX
+ABF6 ; [.15D0.0020.0002.ABF6][.0000.014E.0002.ABF6] # MEETEI MAYEK DIGIT SIX
+A8D6 ; [.15D0.0020.0002.A8D6][.0000.014F.0002.A8D6] # SAURASHTRA DIGIT SIX
+194C ; [.15D0.0020.0002.194C][.0000.0150.0002.194C] # LIMBU DIGIT SIX
+19D6 ; [.15D0.0020.0002.19D6][.0000.0151.0002.19D6] # NEW TAI LUE DIGIT SIX
+1A86 ; [.15D0.0020.0002.1A86][.0000.0152.0002.1A86] # TAI THAM HORA DIGIT SIX
+1A96 ; [.15D0.0020.0002.1A96][.0000.0153.0002.1A96] # TAI THAM THAM DIGIT SIX
+0E56 ; [.15D0.0020.0002.0E56][.0000.0154.0002.0E56] # THAI DIGIT SIX
+0ED6 ; [.15D0.0020.0002.0ED6][.0000.0155.0002.0ED6] # LAO DIGIT SIX
+0F26 ; [.15D0.0020.0002.0F26][.0000.0156.0002.0F26] # TIBETAN DIGIT SIX
+0F2F ; [.15D0.0020.0004.0F2F][.0000.0156.0004.0F2F] # TIBETAN DIGIT HALF SIX
+1C46 ; [.15D0.0020.0002.1C46][.0000.0157.0002.1C46] # LEPCHA DIGIT SIX
+A906 ; [.15D0.0020.0002.A906][.0000.0158.0002.A906] # KAYAH LI DIGIT SIX
+1046 ; [.15D0.0020.0002.1046][.0000.0159.0002.1046] # MYANMAR DIGIT SIX
+1096 ; [.15D0.0020.0002.1096][.0000.015A.0002.1096] # MYANMAR SHAN DIGIT SIX
+1113C ; [.15D0.0020.0002.1113C][.0000.015B.0002.1113C] # CHAKMA DIGIT SIX
+17E6 ; [.15D0.0020.0002.17E6][.0000.015C.0002.17E6] # KHMER DIGIT SIX
+17F6 ; [.15D0.0020.0002.17F6][.0000.015D.0002.17F6] # KHMER SYMBOL LEK ATTAK PRAM-MUOY
+AA56 ; [.15D0.0020.0002.AA56][.0000.015E.0002.AA56] # CHAM DIGIT SIX
+1B56 ; [.15D0.0020.0002.1B56][.0000.015F.0002.1B56] # BALINESE DIGIT SIX
+A9D6 ; [.15D0.0020.0002.A9D6][.0000.0160.0002.A9D6] # JAVANESE DIGIT SIX
+1BB6 ; [.15D0.0020.0002.1BB6][.0000.0161.0002.1BB6] # SUNDANESE DIGIT SIX
+1816 ; [.15D0.0020.0002.1816][.0000.0162.0002.1816] # MONGOLIAN DIGIT SIX
+1C56 ; [.15D0.0020.0002.1C56][.0000.0163.0002.1C56] # OL CHIKI DIGIT SIX
+A626 ; [.15D0.0020.0002.A626][.0000.0164.0002.A626] # VAI DIGIT SIX
+110F6 ; [.15D0.0020.0002.110F6][.0000.0165.0002.110F6] # SORA SOMPENG DIGIT SIX
+3026 ; [.15D0.0020.0002.3026][.0000.0166.0002.3026] # HANGZHOU NUMERAL SIX
+1010C ; [.15D0.0020.0002.1010C][.0000.0167.0002.1010C] # AEGEAN NUMBER SIX
+2185 ; [.15D0.0020.0002.2185][.0000.0169.0002.2185] # ROMAN NUMERAL SIX LATE FORM
+12404 ; [.15D0.0020.0002.12404][.0000.016C.0002.12404] # CUNEIFORM NUMERIC SIGN SIX ASH
+1240B ; [.15D0.0020.0002.1240B][.0000.016C.0002.1240B] # CUNEIFORM NUMERIC SIGN SIX DISH
+12411 ; [.15D0.0020.0002.12411][.0000.016C.0002.12411] # CUNEIFORM NUMERIC SIGN SIX U
+1241A ; [.15D0.0020.0002.1241A][.0000.016C.0002.1241A] # CUNEIFORM NUMERIC SIGN SIX GESH2
+12428 ; [.15D0.0020.0002.12428][.0000.016C.0002.12428] # CUNEIFORM NUMERIC SIGN SIX SHAR2
+12440 ; [.15D0.0020.0002.12440][.0000.016C.0002.12440] # CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9
+1244E ; [.15D0.0020.0002.1244E][.0000.016C.0002.1244E] # CUNEIFORM NUMERIC SIGN SIX ASH TENU
+111D6 ; [.15D0.0020.0002.111D6][.0000.0172.0002.111D6] # SHARADA DIGIT SIX
+116C6 ; [.15D0.0020.0002.116C6][.0000.0173.0002.116C6] # TAKRI DIGIT SIX
+1106C ; [.15D0.0020.0002.1106C][.0000.0174.0002.1106C] # BRAHMI DIGIT SIX
+11057 ; [.15D0.0020.0002.11057][.0000.0175.0002.11057] # BRAHMI NUMBER SIX
+1D365 ; [.15D0.0020.0002.1D365][.0000.0177.0002.1D365] # COUNTING ROD UNIT DIGIT SIX
+324D ; [.15D0.0020.0006.324D][.15CA.0020.0006.324D] # CIRCLED NUMBER SIXTY ON BLACK SQUARE
+33E5 ; [.15D0.0020.0004.33E5][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
+32C5 ; [.15D0.0020.0004.32C5][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
+335E ; [.15D0.0020.0004.335E][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
+0037 ; [.15D1.0020.0002.0037] # DIGIT SEVEN
+FF17 ; [.15D1.0020.0003.FF17] # FULLWIDTH DIGIT SEVEN
+247A ; [*02FB.0020.0004.247A][.15D1.0020.0004.247A][*02FC.0020.001F.247A] # PARENTHESIZED DIGIT SEVEN
+248E ; [.15D1.0020.0004.248E][*0273.0020.0004.248E] # DIGIT SEVEN FULL STOP
+1F108 ; [.15D1.0020.0004.1F108][*0221.0020.0004.1F108] # DIGIT SEVEN COMMA
+1D7D5 ; [.15D1.0020.0005.1D7D5] # MATHEMATICAL BOLD DIGIT SEVEN
+1D7DF ; [.15D1.0020.0005.1D7DF] # MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN
+1D7E9 ; [.15D1.0020.0005.1D7E9] # MATHEMATICAL SANS-SERIF DIGIT SEVEN
+1D7F3 ; [.15D1.0020.0005.1D7F3] # MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN
+1D7FD ; [.15D1.0020.0005.1D7FD] # MATHEMATICAL MONOSPACE DIGIT SEVEN
+2466 ; [.15D1.0020.0006.2466] # CIRCLED DIGIT SEVEN
+24FB ; [.15D1.0020.0006.24FB] # DOUBLE CIRCLED DIGIT SEVEN
+277C ; [.15D1.0020.0006.277C] # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
+2786 ; [.15D1.0020.0006.2786] # DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN
+2790 ; [.15D1.0020.0006.2790] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN
+2077 ; [.15D1.0020.0014.2077] # SUPERSCRIPT SEVEN
+2087 ; [.15D1.0020.0015.2087] # SUBSCRIPT SEVEN
+0667 ; [.15D1.0020.0002.0667][.0000.013F.0002.0667] # ARABIC-INDIC DIGIT SEVEN
+06F7 ; [.15D1.0020.0002.06F7][.0000.0140.0002.06F7] # EXTENDED ARABIC-INDIC DIGIT SEVEN
+10E66 ; [.15D1.0020.0002.10E66][.0000.0141.0002.10E66] # RUMI DIGIT SEVEN
+07C7 ; [.15D1.0020.0002.07C7][.0000.0142.0002.07C7] # NKO DIGIT SEVEN
+136F ; [.15D1.0020.0002.136F][.0000.0143.0002.136F] # ETHIOPIC DIGIT SEVEN
+104A7 ; [.15D1.0020.0002.104A7][.0000.0144.0002.104A7] # OSMANYA DIGIT SEVEN
+096D ; [.15D1.0020.0002.096D][.0000.0145.0002.096D] # DEVANAGARI DIGIT SEVEN
+09ED ; [.15D1.0020.0002.09ED][.0000.0146.0002.09ED] # BENGALI DIGIT SEVEN
+0A6D ; [.15D1.0020.0002.0A6D][.0000.0147.0002.0A6D] # GURMUKHI DIGIT SEVEN
+0AED ; [.15D1.0020.0002.0AED][.0000.0148.0002.0AED] # GUJARATI DIGIT SEVEN
+0B6D ; [.15D1.0020.0002.0B6D][.0000.0149.0002.0B6D] # ORIYA DIGIT SEVEN
+0BED ; [.15D1.0020.0002.0BED][.0000.014A.0002.0BED] # TAMIL DIGIT SEVEN
+0C6D ; [.15D1.0020.0002.0C6D][.0000.014B.0002.0C6D] # TELUGU DIGIT SEVEN
+0CED ; [.15D1.0020.0002.0CED][.0000.014C.0002.0CED] # KANNADA DIGIT SEVEN
+0D6D ; [.15D1.0020.0002.0D6D][.0000.014D.0002.0D6D] # MALAYALAM DIGIT SEVEN
+ABF7 ; [.15D1.0020.0002.ABF7][.0000.014E.0002.ABF7] # MEETEI MAYEK DIGIT SEVEN
+A8D7 ; [.15D1.0020.0002.A8D7][.0000.014F.0002.A8D7] # SAURASHTRA DIGIT SEVEN
+194D ; [.15D1.0020.0002.194D][.0000.0150.0002.194D] # LIMBU DIGIT SEVEN
+19D7 ; [.15D1.0020.0002.19D7][.0000.0151.0002.19D7] # NEW TAI LUE DIGIT SEVEN
+1A87 ; [.15D1.0020.0002.1A87][.0000.0152.0002.1A87] # TAI THAM HORA DIGIT SEVEN
+1A97 ; [.15D1.0020.0002.1A97][.0000.0153.0002.1A97] # TAI THAM THAM DIGIT SEVEN
+0E57 ; [.15D1.0020.0002.0E57][.0000.0154.0002.0E57] # THAI DIGIT SEVEN
+0ED7 ; [.15D1.0020.0002.0ED7][.0000.0155.0002.0ED7] # LAO DIGIT SEVEN
+0F27 ; [.15D1.0020.0002.0F27][.0000.0156.0002.0F27] # TIBETAN DIGIT SEVEN
+0F30 ; [.15D1.0020.0004.0F30][.0000.0156.0004.0F30] # TIBETAN DIGIT HALF SEVEN
+1C47 ; [.15D1.0020.0002.1C47][.0000.0157.0002.1C47] # LEPCHA DIGIT SEVEN
+A907 ; [.15D1.0020.0002.A907][.0000.0158.0002.A907] # KAYAH LI DIGIT SEVEN
+1047 ; [.15D1.0020.0002.1047][.0000.0159.0002.1047] # MYANMAR DIGIT SEVEN
+1097 ; [.15D1.0020.0002.1097][.0000.015A.0002.1097] # MYANMAR SHAN DIGIT SEVEN
+1113D ; [.15D1.0020.0002.1113D][.0000.015B.0002.1113D] # CHAKMA DIGIT SEVEN
+17E7 ; [.15D1.0020.0002.17E7][.0000.015C.0002.17E7] # KHMER DIGIT SEVEN
+17F7 ; [.15D1.0020.0002.17F7][.0000.015D.0002.17F7] # KHMER SYMBOL LEK ATTAK PRAM-PII
+AA57 ; [.15D1.0020.0002.AA57][.0000.015E.0002.AA57] # CHAM DIGIT SEVEN
+1B57 ; [.15D1.0020.0002.1B57][.0000.015F.0002.1B57] # BALINESE DIGIT SEVEN
+A9D7 ; [.15D1.0020.0002.A9D7][.0000.0160.0002.A9D7] # JAVANESE DIGIT SEVEN
+1BB7 ; [.15D1.0020.0002.1BB7][.0000.0161.0002.1BB7] # SUNDANESE DIGIT SEVEN
+1817 ; [.15D1.0020.0002.1817][.0000.0162.0002.1817] # MONGOLIAN DIGIT SEVEN
+1C57 ; [.15D1.0020.0002.1C57][.0000.0163.0002.1C57] # OL CHIKI DIGIT SEVEN
+A627 ; [.15D1.0020.0002.A627][.0000.0164.0002.A627] # VAI DIGIT SEVEN
+110F7 ; [.15D1.0020.0002.110F7][.0000.0165.0002.110F7] # SORA SOMPENG DIGIT SEVEN
+3027 ; [.15D1.0020.0002.3027][.0000.0166.0002.3027] # HANGZHOU NUMERAL SEVEN
+1010D ; [.15D1.0020.0002.1010D][.0000.0167.0002.1010D] # AEGEAN NUMBER SEVEN
+12405 ; [.15D1.0020.0002.12405][.0000.016C.0002.12405] # CUNEIFORM NUMERIC SIGN SEVEN ASH
+1240C ; [.15D1.0020.0002.1240C][.0000.016C.0002.1240C] # CUNEIFORM NUMERIC SIGN SEVEN DISH
+12412 ; [.15D1.0020.0002.12412][.0000.016C.0002.12412] # CUNEIFORM NUMERIC SIGN SEVEN U
+1241B ; [.15D1.0020.0002.1241B][.0000.016C.0002.1241B] # CUNEIFORM NUMERIC SIGN SEVEN GESH2
+12429 ; [.15D1.0020.0002.12429][.0000.016C.0002.12429] # CUNEIFORM NUMERIC SIGN SEVEN SHAR2
+12441 ; [.15D1.0020.0002.12441][.0000.016C.0002.12441] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3
+12442 ; [.15D1.0020.0002.12442][.0000.016C.0002.12442] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN A
+12443 ; [.15D1.0020.0002.12443][.0000.016C.0002.12443] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B
+111D7 ; [.15D1.0020.0002.111D7][.0000.0172.0002.111D7] # SHARADA DIGIT SEVEN
+116C7 ; [.15D1.0020.0002.116C7][.0000.0173.0002.116C7] # TAKRI DIGIT SEVEN
+1106D ; [.15D1.0020.0002.1106D][.0000.0174.0002.1106D] # BRAHMI DIGIT SEVEN
+11058 ; [.15D1.0020.0002.11058][.0000.0175.0002.11058] # BRAHMI NUMBER SEVEN
+1D366 ; [.15D1.0020.0002.1D366][.0000.0177.0002.1D366] # COUNTING ROD UNIT DIGIT SEVEN
+324E ; [.15D1.0020.0006.324E][.15CA.0020.0006.324E] # CIRCLED NUMBER SEVENTY ON BLACK SQUARE
+215E ; [.15D1.0020.001E.215E][*05AC.0020.001E.215E][.15D2.0020.001F.215E] # VULGAR FRACTION SEVEN EIGHTHS
+33E6 ; [.15D1.0020.0004.33E6][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
+32C6 ; [.15D1.0020.0004.32C6][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
+335F ; [.15D1.0020.0004.335F][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
+0038 ; [.15D2.0020.0002.0038] # DIGIT EIGHT
+FF18 ; [.15D2.0020.0003.FF18] # FULLWIDTH DIGIT EIGHT
+247B ; [*02FB.0020.0004.247B][.15D2.0020.0004.247B][*02FC.0020.001F.247B] # PARENTHESIZED DIGIT EIGHT
+248F ; [.15D2.0020.0004.248F][*0273.0020.0004.248F] # DIGIT EIGHT FULL STOP
+1F109 ; [.15D2.0020.0004.1F109][*0221.0020.0004.1F109] # DIGIT EIGHT COMMA
+1D7D6 ; [.15D2.0020.0005.1D7D6] # MATHEMATICAL BOLD DIGIT EIGHT
+1D7E0 ; [.15D2.0020.0005.1D7E0] # MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT
+1D7EA ; [.15D2.0020.0005.1D7EA] # MATHEMATICAL SANS-SERIF DIGIT EIGHT
+1D7F4 ; [.15D2.0020.0005.1D7F4] # MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT
+1D7FE ; [.15D2.0020.0005.1D7FE] # MATHEMATICAL MONOSPACE DIGIT EIGHT
+2467 ; [.15D2.0020.0006.2467] # CIRCLED DIGIT EIGHT
+24FC ; [.15D2.0020.0006.24FC] # DOUBLE CIRCLED DIGIT EIGHT
+277D ; [.15D2.0020.0006.277D] # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
+2787 ; [.15D2.0020.0006.2787] # DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT
+2791 ; [.15D2.0020.0006.2791] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT
+2078 ; [.15D2.0020.0014.2078] # SUPERSCRIPT EIGHT
+2088 ; [.15D2.0020.0015.2088] # SUBSCRIPT EIGHT
+0668 ; [.15D2.0020.0002.0668][.0000.013F.0002.0668] # ARABIC-INDIC DIGIT EIGHT
+06F8 ; [.15D2.0020.0002.06F8][.0000.0140.0002.06F8] # EXTENDED ARABIC-INDIC DIGIT EIGHT
+10E67 ; [.15D2.0020.0002.10E67][.0000.0141.0002.10E67] # RUMI DIGIT EIGHT
+07C8 ; [.15D2.0020.0002.07C8][.0000.0142.0002.07C8] # NKO DIGIT EIGHT
+1370 ; [.15D2.0020.0002.1370][.0000.0143.0002.1370] # ETHIOPIC DIGIT EIGHT
+104A8 ; [.15D2.0020.0002.104A8][.0000.0144.0002.104A8] # OSMANYA DIGIT EIGHT
+096E ; [.15D2.0020.0002.096E][.0000.0145.0002.096E] # DEVANAGARI DIGIT EIGHT
+09EE ; [.15D2.0020.0002.09EE][.0000.0146.0002.09EE] # BENGALI DIGIT EIGHT
+0A6E ; [.15D2.0020.0002.0A6E][.0000.0147.0002.0A6E] # GURMUKHI DIGIT EIGHT
+0AEE ; [.15D2.0020.0002.0AEE][.0000.0148.0002.0AEE] # GUJARATI DIGIT EIGHT
+0B6E ; [.15D2.0020.0002.0B6E][.0000.0149.0002.0B6E] # ORIYA DIGIT EIGHT
+0BEE ; [.15D2.0020.0002.0BEE][.0000.014A.0002.0BEE] # TAMIL DIGIT EIGHT
+0C6E ; [.15D2.0020.0002.0C6E][.0000.014B.0002.0C6E] # TELUGU DIGIT EIGHT
+0CEE ; [.15D2.0020.0002.0CEE][.0000.014C.0002.0CEE] # KANNADA DIGIT EIGHT
+0D6E ; [.15D2.0020.0002.0D6E][.0000.014D.0002.0D6E] # MALAYALAM DIGIT EIGHT
+ABF8 ; [.15D2.0020.0002.ABF8][.0000.014E.0002.ABF8] # MEETEI MAYEK DIGIT EIGHT
+A8D8 ; [.15D2.0020.0002.A8D8][.0000.014F.0002.A8D8] # SAURASHTRA DIGIT EIGHT
+194E ; [.15D2.0020.0002.194E][.0000.0150.0002.194E] # LIMBU DIGIT EIGHT
+19D8 ; [.15D2.0020.0002.19D8][.0000.0151.0002.19D8] # NEW TAI LUE DIGIT EIGHT
+1A88 ; [.15D2.0020.0002.1A88][.0000.0152.0002.1A88] # TAI THAM HORA DIGIT EIGHT
+1A98 ; [.15D2.0020.0002.1A98][.0000.0153.0002.1A98] # TAI THAM THAM DIGIT EIGHT
+0E58 ; [.15D2.0020.0002.0E58][.0000.0154.0002.0E58] # THAI DIGIT EIGHT
+0ED8 ; [.15D2.0020.0002.0ED8][.0000.0155.0002.0ED8] # LAO DIGIT EIGHT
+0F28 ; [.15D2.0020.0002.0F28][.0000.0156.0002.0F28] # TIBETAN DIGIT EIGHT
+0F31 ; [.15D2.0020.0004.0F31][.0000.0156.0004.0F31] # TIBETAN DIGIT HALF EIGHT
+1C48 ; [.15D2.0020.0002.1C48][.0000.0157.0002.1C48] # LEPCHA DIGIT EIGHT
+A908 ; [.15D2.0020.0002.A908][.0000.0158.0002.A908] # KAYAH LI DIGIT EIGHT
+1048 ; [.15D2.0020.0002.1048][.0000.0159.0002.1048] # MYANMAR DIGIT EIGHT
+1098 ; [.15D2.0020.0002.1098][.0000.015A.0002.1098] # MYANMAR SHAN DIGIT EIGHT
+1113E ; [.15D2.0020.0002.1113E][.0000.015B.0002.1113E] # CHAKMA DIGIT EIGHT
+17E8 ; [.15D2.0020.0002.17E8][.0000.015C.0002.17E8] # KHMER DIGIT EIGHT
+17F8 ; [.15D2.0020.0002.17F8][.0000.015D.0002.17F8] # KHMER SYMBOL LEK ATTAK PRAM-BEI
+AA58 ; [.15D2.0020.0002.AA58][.0000.015E.0002.AA58] # CHAM DIGIT EIGHT
+1B58 ; [.15D2.0020.0002.1B58][.0000.015F.0002.1B58] # BALINESE DIGIT EIGHT
+A9D8 ; [.15D2.0020.0002.A9D8][.0000.0160.0002.A9D8] # JAVANESE DIGIT EIGHT
+1BB8 ; [.15D2.0020.0002.1BB8][.0000.0161.0002.1BB8] # SUNDANESE DIGIT EIGHT
+1818 ; [.15D2.0020.0002.1818][.0000.0162.0002.1818] # MONGOLIAN DIGIT EIGHT
+1C58 ; [.15D2.0020.0002.1C58][.0000.0163.0002.1C58] # OL CHIKI DIGIT EIGHT
+A628 ; [.15D2.0020.0002.A628][.0000.0164.0002.A628] # VAI DIGIT EIGHT
+110F8 ; [.15D2.0020.0002.110F8][.0000.0165.0002.110F8] # SORA SOMPENG DIGIT EIGHT
+3028 ; [.15D2.0020.0002.3028][.0000.0166.0002.3028] # HANGZHOU NUMERAL EIGHT
+1010E ; [.15D2.0020.0002.1010E][.0000.0167.0002.1010E] # AEGEAN NUMBER EIGHT
+12406 ; [.15D2.0020.0002.12406][.0000.016C.0002.12406] # CUNEIFORM NUMERIC SIGN EIGHT ASH
+1240D ; [.15D2.0020.0002.1240D][.0000.016C.0002.1240D] # CUNEIFORM NUMERIC SIGN EIGHT DISH
+12413 ; [.15D2.0020.0002.12413][.0000.016C.0002.12413] # CUNEIFORM NUMERIC SIGN EIGHT U
+1241C ; [.15D2.0020.0002.1241C][.0000.016C.0002.1241C] # CUNEIFORM NUMERIC SIGN EIGHT GESH2
+1242A ; [.15D2.0020.0002.1242A][.0000.016C.0002.1242A] # CUNEIFORM NUMERIC SIGN EIGHT SHAR2
+12444 ; [.15D2.0020.0002.12444][.0000.016C.0002.12444] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU
+12445 ; [.15D2.0020.0002.12445][.0000.016C.0002.12445] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3
+111D8 ; [.15D2.0020.0002.111D8][.0000.0172.0002.111D8] # SHARADA DIGIT EIGHT
+116C8 ; [.15D2.0020.0002.116C8][.0000.0173.0002.116C8] # TAKRI DIGIT EIGHT
+1106E ; [.15D2.0020.0002.1106E][.0000.0174.0002.1106E] # BRAHMI DIGIT EIGHT
+11059 ; [.15D2.0020.0002.11059][.0000.0175.0002.11059] # BRAHMI NUMBER EIGHT
+1D367 ; [.15D2.0020.0002.1D367][.0000.0177.0002.1D367] # COUNTING ROD UNIT DIGIT EIGHT
+324F ; [.15D2.0020.0006.324F][.15CA.0020.0006.324F] # CIRCLED NUMBER EIGHTY ON BLACK SQUARE
+33E7 ; [.15D2.0020.0004.33E7][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
+32C7 ; [.15D2.0020.0004.32C7][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
+3360 ; [.15D2.0020.0004.3360][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
+0039 ; [.15D3.0020.0002.0039] # DIGIT NINE
+FF19 ; [.15D3.0020.0003.FF19] # FULLWIDTH DIGIT NINE
+247C ; [*02FB.0020.0004.247C][.15D3.0020.0004.247C][*02FC.0020.001F.247C] # PARENTHESIZED DIGIT NINE
+2490 ; [.15D3.0020.0004.2490][*0273.0020.0004.2490] # DIGIT NINE FULL STOP
+1F10A ; [.15D3.0020.0004.1F10A][*0221.0020.0004.1F10A] # DIGIT NINE COMMA
+1D7D7 ; [.15D3.0020.0005.1D7D7] # MATHEMATICAL BOLD DIGIT NINE
+1D7E1 ; [.15D3.0020.0005.1D7E1] # MATHEMATICAL DOUBLE-STRUCK DIGIT NINE
+1D7EB ; [.15D3.0020.0005.1D7EB] # MATHEMATICAL SANS-SERIF DIGIT NINE
+1D7F5 ; [.15D3.0020.0005.1D7F5] # MATHEMATICAL SANS-SERIF BOLD DIGIT NINE
+1D7FF ; [.15D3.0020.0005.1D7FF] # MATHEMATICAL MONOSPACE DIGIT NINE
+2468 ; [.15D3.0020.0006.2468] # CIRCLED DIGIT NINE
+24FD ; [.15D3.0020.0006.24FD] # DOUBLE CIRCLED DIGIT NINE
+277E ; [.15D3.0020.0006.277E] # DINGBAT NEGATIVE CIRCLED DIGIT NINE
+2788 ; [.15D3.0020.0006.2788] # DINGBAT CIRCLED SANS-SERIF DIGIT NINE
+2792 ; [.15D3.0020.0006.2792] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
+2079 ; [.15D3.0020.0014.2079] # SUPERSCRIPT NINE
+2089 ; [.15D3.0020.0015.2089] # SUBSCRIPT NINE
+0669 ; [.15D3.0020.0002.0669][.0000.013F.0002.0669] # ARABIC-INDIC DIGIT NINE
+06F9 ; [.15D3.0020.0002.06F9][.0000.0140.0002.06F9] # EXTENDED ARABIC-INDIC DIGIT NINE
+10E68 ; [.15D3.0020.0002.10E68][.0000.0141.0002.10E68] # RUMI DIGIT NINE
+07C9 ; [.15D3.0020.0002.07C9][.0000.0142.0002.07C9] # NKO DIGIT NINE
+1371 ; [.15D3.0020.0002.1371][.0000.0143.0002.1371] # ETHIOPIC DIGIT NINE
+104A9 ; [.15D3.0020.0002.104A9][.0000.0144.0002.104A9] # OSMANYA DIGIT NINE
+096F ; [.15D3.0020.0002.096F][.0000.0145.0002.096F] # DEVANAGARI DIGIT NINE
+09EF ; [.15D3.0020.0002.09EF][.0000.0146.0002.09EF] # BENGALI DIGIT NINE
+0A6F ; [.15D3.0020.0002.0A6F][.0000.0147.0002.0A6F] # GURMUKHI DIGIT NINE
+0AEF ; [.15D3.0020.0002.0AEF][.0000.0148.0002.0AEF] # GUJARATI DIGIT NINE
+0B6F ; [.15D3.0020.0002.0B6F][.0000.0149.0002.0B6F] # ORIYA DIGIT NINE
+0BEF ; [.15D3.0020.0002.0BEF][.0000.014A.0002.0BEF] # TAMIL DIGIT NINE
+0C6F ; [.15D3.0020.0002.0C6F][.0000.014B.0002.0C6F] # TELUGU DIGIT NINE
+0CEF ; [.15D3.0020.0002.0CEF][.0000.014C.0002.0CEF] # KANNADA DIGIT NINE
+0D6F ; [.15D3.0020.0002.0D6F][.0000.014D.0002.0D6F] # MALAYALAM DIGIT NINE
+ABF9 ; [.15D3.0020.0002.ABF9][.0000.014E.0002.ABF9] # MEETEI MAYEK DIGIT NINE
+A8D9 ; [.15D3.0020.0002.A8D9][.0000.014F.0002.A8D9] # SAURASHTRA DIGIT NINE
+194F ; [.15D3.0020.0002.194F][.0000.0150.0002.194F] # LIMBU DIGIT NINE
+19D9 ; [.15D3.0020.0002.19D9][.0000.0151.0002.19D9] # NEW TAI LUE DIGIT NINE
+1A89 ; [.15D3.0020.0002.1A89][.0000.0152.0002.1A89] # TAI THAM HORA DIGIT NINE
+1A99 ; [.15D3.0020.0002.1A99][.0000.0153.0002.1A99] # TAI THAM THAM DIGIT NINE
+0E59 ; [.15D3.0020.0002.0E59][.0000.0154.0002.0E59] # THAI DIGIT NINE
+0ED9 ; [.15D3.0020.0002.0ED9][.0000.0155.0002.0ED9] # LAO DIGIT NINE
+0F29 ; [.15D3.0020.0002.0F29][.0000.0156.0002.0F29] # TIBETAN DIGIT NINE
+0F32 ; [.15D3.0020.0004.0F32][.0000.0156.0004.0F32] # TIBETAN DIGIT HALF NINE
+1C49 ; [.15D3.0020.0002.1C49][.0000.0157.0002.1C49] # LEPCHA DIGIT NINE
+A909 ; [.15D3.0020.0002.A909][.0000.0158.0002.A909] # KAYAH LI DIGIT NINE
+1049 ; [.15D3.0020.0002.1049][.0000.0159.0002.1049] # MYANMAR DIGIT NINE
+1099 ; [.15D3.0020.0002.1099][.0000.015A.0002.1099] # MYANMAR SHAN DIGIT NINE
+1113F ; [.15D3.0020.0002.1113F][.0000.015B.0002.1113F] # CHAKMA DIGIT NINE
+17E9 ; [.15D3.0020.0002.17E9][.0000.015C.0002.17E9] # KHMER DIGIT NINE
+17F9 ; [.15D3.0020.0002.17F9][.0000.015D.0002.17F9] # KHMER SYMBOL LEK ATTAK PRAM-BUON
+AA59 ; [.15D3.0020.0002.AA59][.0000.015E.0002.AA59] # CHAM DIGIT NINE
+1B59 ; [.15D3.0020.0002.1B59][.0000.015F.0002.1B59] # BALINESE DIGIT NINE
+A9D9 ; [.15D3.0020.0002.A9D9][.0000.0160.0002.A9D9] # JAVANESE DIGIT NINE
+1BB9 ; [.15D3.0020.0002.1BB9][.0000.0161.0002.1BB9] # SUNDANESE DIGIT NINE
+1819 ; [.15D3.0020.0002.1819][.0000.0162.0002.1819] # MONGOLIAN DIGIT NINE
+1C59 ; [.15D3.0020.0002.1C59][.0000.0163.0002.1C59] # OL CHIKI DIGIT NINE
+A629 ; [.15D3.0020.0002.A629][.0000.0164.0002.A629] # VAI DIGIT NINE
+110F9 ; [.15D3.0020.0002.110F9][.0000.0165.0002.110F9] # SORA SOMPENG DIGIT NINE
+3029 ; [.15D3.0020.0002.3029][.0000.0166.0002.3029] # HANGZHOU NUMERAL NINE
+1010F ; [.15D3.0020.0002.1010F][.0000.0167.0002.1010F] # AEGEAN NUMBER NINE
+12407 ; [.15D3.0020.0002.12407][.0000.016C.0002.12407] # CUNEIFORM NUMERIC SIGN NINE ASH
+1240E ; [.15D3.0020.0002.1240E][.0000.016C.0002.1240E] # CUNEIFORM NUMERIC SIGN NINE DISH
+12414 ; [.15D3.0020.0002.12414][.0000.016C.0002.12414] # CUNEIFORM NUMERIC SIGN NINE U
+1241D ; [.15D3.0020.0002.1241D][.0000.016C.0002.1241D] # CUNEIFORM NUMERIC SIGN NINE GESH2
+1242B ; [.15D3.0020.0002.1242B][.0000.016C.0002.1242B] # CUNEIFORM NUMERIC SIGN NINE SHAR2
+12446 ; [.15D3.0020.0002.12446][.0000.016C.0002.12446] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU
+12447 ; [.15D3.0020.0002.12447][.0000.016C.0002.12447] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU3
+12448 ; [.15D3.0020.0002.12448][.0000.016C.0002.12448] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU4
+12449 ; [.15D3.0020.0002.12449][.0000.016C.0002.12449] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A
+111D9 ; [.15D3.0020.0002.111D9][.0000.0172.0002.111D9] # SHARADA DIGIT NINE
+116C9 ; [.15D3.0020.0002.116C9][.0000.0173.0002.116C9] # TAKRI DIGIT NINE
+1106F ; [.15D3.0020.0002.1106F][.0000.0174.0002.1106F] # BRAHMI DIGIT NINE
+1105A ; [.15D3.0020.0002.1105A][.0000.0175.0002.1105A] # BRAHMI NUMBER NINE
+1D368 ; [.15D3.0020.0002.1D368][.0000.0177.0002.1D368] # COUNTING ROD UNIT DIGIT NINE
+33E8 ; [.15D3.0020.0004.33E8][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
+32C8 ; [.15D3.0020.0004.32C8][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
+3361 ; [.15D3.0020.0004.3361][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
+0061 ; [.15D4.0020.0002.0061] # LATIN SMALL LETTER A
+FF41 ; [.15D4.0020.0003.FF41] # FULLWIDTH LATIN SMALL LETTER A
+0363 ; [.15D4.0020.0004.0363] # COMBINING LATIN SMALL LETTER A
+249C ; [*02FB.0020.0004.249C][.15D4.0020.0004.249C][*02FC.0020.001F.249C] # PARENTHESIZED LATIN SMALL LETTER A
+1D41A ; [.15D4.0020.0005.1D41A] # MATHEMATICAL BOLD SMALL A
+1D44E ; [.15D4.0020.0005.1D44E] # MATHEMATICAL ITALIC SMALL A
+1D482 ; [.15D4.0020.0005.1D482] # MATHEMATICAL BOLD ITALIC SMALL A
+1D4B6 ; [.15D4.0020.0005.1D4B6] # MATHEMATICAL SCRIPT SMALL A
+1D4EA ; [.15D4.0020.0005.1D4EA] # MATHEMATICAL BOLD SCRIPT SMALL A
+1D51E ; [.15D4.0020.0005.1D51E] # MATHEMATICAL FRAKTUR SMALL A
+1D552 ; [.15D4.0020.0005.1D552] # MATHEMATICAL DOUBLE-STRUCK SMALL A
+1D586 ; [.15D4.0020.0005.1D586] # MATHEMATICAL BOLD FRAKTUR SMALL A
+1D5BA ; [.15D4.0020.0005.1D5BA] # MATHEMATICAL SANS-SERIF SMALL A
+1D5EE ; [.15D4.0020.0005.1D5EE] # MATHEMATICAL SANS-SERIF BOLD SMALL A
+1D622 ; [.15D4.0020.0005.1D622] # MATHEMATICAL SANS-SERIF ITALIC SMALL A
+1D656 ; [.15D4.0020.0005.1D656] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A
+1D68A ; [.15D4.0020.0005.1D68A] # MATHEMATICAL MONOSPACE SMALL A
+24D0 ; [.15D4.0020.0006.24D0] # CIRCLED LATIN SMALL LETTER A
+0041 ; [.15D4.0020.0008.0041] # LATIN CAPITAL LETTER A
+FF21 ; [.15D4.0020.0009.FF21] # FULLWIDTH LATIN CAPITAL LETTER A
+1F110 ; [*02FB.0020.0004.1F110][.15D4.0020.000A.1F110][*02FC.0020.001F.1F110] # PARENTHESIZED LATIN CAPITAL LETTER A
+1F1E6 ; [.15D4.0020.000A.1F1E6] # REGIONAL INDICATOR SYMBOL LETTER A
+1D400 ; [.15D4.0020.000B.1D400] # MATHEMATICAL BOLD CAPITAL A
+1D434 ; [.15D4.0020.000B.1D434] # MATHEMATICAL ITALIC CAPITAL A
+1D468 ; [.15D4.0020.000B.1D468] # MATHEMATICAL BOLD ITALIC CAPITAL A
+1D49C ; [.15D4.0020.000B.1D49C] # MATHEMATICAL SCRIPT CAPITAL A
+1D4D0 ; [.15D4.0020.000B.1D4D0] # MATHEMATICAL BOLD SCRIPT CAPITAL A
+1D504 ; [.15D4.0020.000B.1D504] # MATHEMATICAL FRAKTUR CAPITAL A
+1D538 ; [.15D4.0020.000B.1D538] # MATHEMATICAL DOUBLE-STRUCK CAPITAL A
+1D56C ; [.15D4.0020.000B.1D56C] # MATHEMATICAL BOLD FRAKTUR CAPITAL A
+1D5A0 ; [.15D4.0020.000B.1D5A0] # MATHEMATICAL SANS-SERIF CAPITAL A
+1D5D4 ; [.15D4.0020.000B.1D5D4] # MATHEMATICAL SANS-SERIF BOLD CAPITAL A
+1D608 ; [.15D4.0020.000B.1D608] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL A
+1D63C ; [.15D4.0020.000B.1D63C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A
+1D670 ; [.15D4.0020.000B.1D670] # MATHEMATICAL MONOSPACE CAPITAL A
+24B6 ; [.15D4.0020.000C.24B6] # CIRCLED LATIN CAPITAL LETTER A
+1F150 ; [.15D4.0020.000C.1F150] # NEGATIVE CIRCLED LATIN CAPITAL LETTER A
+00AA ; [.15D4.0020.0014.00AA] # FEMININE ORDINAL INDICATOR
+1D43 ; [.15D4.0020.0014.1D43] # MODIFIER LETTER SMALL A
+2090 ; [.15D4.0020.0015.2090] # LATIN SUBSCRIPT SMALL LETTER A
+1D2C ; [.15D4.0020.001D.1D2C] # MODIFIER LETTER CAPITAL A
+1F130 ; [.15D4.0020.001D.1F130] # SQUARED LATIN CAPITAL LETTER A
+1F170 ; [.15D4.0020.001D.1F170] # NEGATIVE SQUARED LATIN CAPITAL LETTER A
+00E1 ; [.15D4.0020.0002.0061][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH ACUTE
+00C1 ; [.15D4.0020.0008.0041][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH ACUTE
+00E0 ; [.15D4.0020.0002.0061][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH GRAVE
+00C0 ; [.15D4.0020.0008.0041][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH GRAVE
+0103 ; [.15D4.0020.0002.0061][.0000.0037.0002.0306] # LATIN SMALL LETTER A WITH BREVE
+0102 ; [.15D4.0020.0008.0041][.0000.0037.0002.0306] # LATIN CAPITAL LETTER A WITH BREVE
+1EAF ; [.15D4.0020.0002.0061][.0000.0037.0002.0306][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
+1EAE ; [.15D4.0020.0008.0041][.0000.0037.0002.0306][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+1EB1 ; [.15D4.0020.0002.0061][.0000.0037.0002.0306][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
+1EB0 ; [.15D4.0020.0008.0041][.0000.0037.0002.0306][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+1EB5 ; [.15D4.0020.0002.0061][.0000.0037.0002.0306][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH BREVE AND TILDE
+1EB4 ; [.15D4.0020.0008.0041][.0000.0037.0002.0306][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+1EB3 ; [.15D4.0020.0002.0061][.0000.0037.0002.0306][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+1EB2 ; [.15D4.0020.0008.0041][.0000.0037.0002.0306][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+00E2 ; [.15D4.0020.0002.0061][.0000.003C.0002.0302] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+00C2 ; [.15D4.0020.0008.0041][.0000.003C.0002.0302] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+1EA5 ; [.15D4.0020.0002.0061][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA4 ; [.15D4.0020.0008.0041][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA7 ; [.15D4.0020.0002.0061][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA6 ; [.15D4.0020.0008.0041][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EAB ; [.15D4.0020.0002.0061][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+1EAA ; [.15D4.0020.0008.0041][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+1EA9 ; [.15D4.0020.0002.0061][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EA8 ; [.15D4.0020.0008.0041][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+01CE ; [.15D4.0020.0002.0061][.0000.0041.0002.030C] # LATIN SMALL LETTER A WITH CARON
+01CD ; [.15D4.0020.0008.0041][.0000.0041.0002.030C] # LATIN CAPITAL LETTER A WITH CARON
+00E5 ; [.15D4.0020.0002.0061][.0000.0043.0002.030A] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5 ; [.15D4.0020.0008.0041][.0000.0043.0002.030A] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B ; [.15D4.0020.0008.0041][.0000.0043.0002.030A] # ANGSTROM SIGN
+01FB ; [.15D4.0020.0002.0061][.0000.0043.0002.030A][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA ; [.15D4.0020.0008.0041][.0000.0043.0002.030A][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4 ; [.15D4.0020.0002.0061][.0000.0047.0002.0308] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4 ; [.15D4.0020.0008.0041][.0000.0047.0002.0308] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF ; [.15D4.0020.0002.0061][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE ; [.15D4.0020.0008.0041][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E3 ; [.15D4.0020.0002.0061][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH TILDE
+00C3 ; [.15D4.0020.0008.0041][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH TILDE
+0227 ; [.15D4.0020.0002.0061][.0000.0052.0002.0307] # LATIN SMALL LETTER A WITH DOT ABOVE
+0226 ; [.15D4.0020.0008.0041][.0000.0052.0002.0307] # LATIN CAPITAL LETTER A WITH DOT ABOVE
+01E1 ; [.15D4.0020.0002.0061][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
+01E0 ; [.15D4.0020.0008.0041][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
+0105 ; [.15D4.0020.0002.0061][.0000.0059.0002.0328] # LATIN SMALL LETTER A WITH OGONEK
+0104 ; [.15D4.0020.0008.0041][.0000.0059.0002.0328] # LATIN CAPITAL LETTER A WITH OGONEK
+0101 ; [.15D4.0020.0002.0061][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH MACRON
+0100 ; [.15D4.0020.0008.0041][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH MACRON
+1EA3 ; [.15D4.0020.0002.0061][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH HOOK ABOVE
+1EA2 ; [.15D4.0020.0008.0041][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH HOOK ABOVE
+0201 ; [.15D4.0020.0002.0061][.0000.0065.0002.030F] # LATIN SMALL LETTER A WITH DOUBLE GRAVE
+0200 ; [.15D4.0020.0008.0041][.0000.0065.0002.030F] # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
+0203 ; [.15D4.0020.0002.0061][.0000.0067.0002.0311] # LATIN SMALL LETTER A WITH INVERTED BREVE
+0202 ; [.15D4.0020.0008.0041][.0000.0067.0002.0311] # LATIN CAPITAL LETTER A WITH INVERTED BREVE
+1EA1 ; [.15D4.0020.0002.0061][.0000.0070.0002.0323] # LATIN SMALL LETTER A WITH DOT BELOW
+1EA0 ; [.15D4.0020.0008.0041][.0000.0070.0002.0323] # LATIN CAPITAL LETTER A WITH DOT BELOW
+1EB7 ; [.15D4.0020.0002.0061][.0000.0070.0002.0323][.0000.0037.0002.0306] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+1EB6 ; [.15D4.0020.0008.0041][.0000.0070.0002.0323][.0000.0037.0002.0306] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+1EAD ; [.15D4.0020.0002.0061][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1EAC ; [.15D4.0020.0008.0041][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1E01 ; [.15D4.0020.0002.0061][.0000.0076.0002.0325] # LATIN SMALL LETTER A WITH RING BELOW
+1E00 ; [.15D4.0020.0008.0041][.0000.0076.0002.0325] # LATIN CAPITAL LETTER A WITH RING BELOW
+1DD3 ; [.15D4.0020.0004.1DD3][.0000.0139.0004.1DD3] # COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE
+A733 ; [.15D4.0020.0004.A733][.15D4.0020.0004.A733] # LATIN SMALL LETTER AA
+A732 ; [.15D4.0020.000A.A732][.15D4.0020.000A.A732] # LATIN CAPITAL LETTER AA
+1F18E ; [.15D4.0020.001D.1F18E][.15EA.0020.001D.1F18E] # NEGATIVE SQUARED AB
+2100 ; [.15D4.0020.0004.2100][*0372.0020.0004.2100][.1602.0020.001F.2100] # ACCOUNT OF
+00E6 ; [.15D4.0020.0004.00E6][.0000.0139.0004.00E6][.1631.0020.001F.00E6] # LATIN SMALL LETTER AE
+1DD4 ; [.15D4.0020.0004.1DD4][.0000.0139.0004.1DD4][.1631.0020.001F.1DD4] # COMBINING LATIN SMALL LETTER AE
+00C6 ; [.15D4.0020.000A.00C6][.0000.0139.0004.00C6][.1631.0020.001F.00C6] # LATIN CAPITAL LETTER AE
+1D2D ; [.15D4.0020.0014.1D2D][.0000.0139.0014.1D2D][.1631.0020.001F.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD ; [.15D4.0020.0004.01FD][.0000.0139.0004.01FD][.1631.0020.001F.01FD][.0000.0032.0002.01FD] # LATIN SMALL LETTER AE WITH ACUTE
+01FC ; [.15D4.0020.000A.01FC][.0000.0139.0004.01FC][.1631.0020.001F.01FC][.0000.0032.0002.01FC] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3 ; [.15D4.0020.0004.01E3][.0000.0139.0004.01E3][.1631.0020.001F.01E3][.0000.005B.0002.01E3] # LATIN SMALL LETTER AE WITH MACRON
+01E2 ; [.15D4.0020.000A.01E2][.0000.0139.0004.01E2][.1631.0020.001F.01E2][.0000.005B.0002.01E2] # LATIN CAPITAL LETTER AE WITH MACRON
+33C2 ; [.15D4.0020.001C.33C2][*0273.0020.001C.33C2][.1726.0020.001F.33C2][*0273.0020.001F.33C2] # SQUARE AM
+33DF ; [.15D4.0020.001D.33DF][*05AB.0020.001C.33DF][.1726.0020.001F.33DF] # SQUARE A OVER M
+1DD5 ; [.15D4.0020.0004.1DD5][.1756.0020.0004.1DD5] # COMBINING LATIN SMALL LETTER AO
+A735 ; [.15D4.0020.0004.A735][.1756.0020.0004.A735] # LATIN SMALL LETTER AO
+A734 ; [.15D4.0020.000A.A734][.1756.0020.000A.A734] # LATIN CAPITAL LETTER AO
+2101 ; [.15D4.0020.0004.2101][*0372.0020.0004.2101][.17D8.0020.001F.2101] # ADDRESSED TO THE SUBJECT
+214D ; [.15D4.0020.000A.214D][*0372.0020.0004.214D][.17D8.0020.001F.214D] # AKTIESELSKAB
+A737 ; [.15D4.0020.0004.A737][.181B.0020.0004.A737] # LATIN SMALL LETTER AU
+A736 ; [.15D4.0020.000A.A736][.181B.0020.000A.A736] # LATIN CAPITAL LETTER AU
+3373 ; [.15D4.0020.001D.3373][.181B.0020.001D.3373] # SQUARE AU
+1DD6 ; [.15D4.0020.0004.1DD6][.1844.0020.0004.1DD6] # COMBINING LATIN SMALL LETTER AV
+A739 ; [.15D4.0020.0004.A739][.1844.0020.0004.A739] # LATIN SMALL LETTER AV
+A738 ; [.15D4.0020.000A.A738][.1844.0020.000A.A738] # LATIN CAPITAL LETTER AV
+A73B ; [.15D4.0020.0004.A73B][.0000.0139.0004.A73B][.1844.0020.001F.A73B] # LATIN SMALL LETTER AV WITH HORIZONTAL BAR
+A73A ; [.15D4.0020.000A.A73A][.0000.0139.0004.A73A][.1844.0020.001F.A73A] # LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
+A73D ; [.15D4.0020.0004.A73D][.1865.0020.0004.A73D] # LATIN SMALL LETTER AY
+A73C ; [.15D4.0020.000A.A73C][.1865.0020.000A.A73C] # LATIN CAPITAL LETTER AY
+1E9A ; [.15D4.0020.0004.1E9A][.18D6.0020.0004.1E9A] # LATIN SMALL LETTER A WITH RIGHT HALF RING
+1D00 ; [.15D8.0020.0002.1D00] # LATIN LETTER SMALL CAPITAL A
+2C65 ; [.15D9.0020.0002.2C65] # LATIN SMALL LETTER A WITH STROKE
+023A ; [.15D9.0020.0008.023A] # LATIN CAPITAL LETTER A WITH STROKE
+1D8F ; [.15DA.0020.0002.1D8F] # LATIN SMALL LETTER A WITH RETROFLEX HOOK
+1D01 ; [.15DB.0020.0002.1D01] # LATIN LETTER SMALL CAPITAL AE
+1D02 ; [.15DC.0020.0002.1D02] # LATIN SMALL LETTER TURNED AE
+1D46 ; [.15DC.0020.0014.1D46] # MODIFIER LETTER SMALL TURNED AE
+0250 ; [.15DD.0020.0002.0250] # LATIN SMALL LETTER TURNED A
+2C6F ; [.15DD.0020.0008.2C6F] # LATIN CAPITAL LETTER TURNED A
+1D44 ; [.15DD.0020.0014.1D44] # MODIFIER LETTER SMALL TURNED A
+0251 ; [.15E1.0020.0002.0251] # LATIN SMALL LETTER ALPHA
+2C6D ; [.15E1.0020.0008.2C6D] # LATIN CAPITAL LETTER ALPHA
+1D45 ; [.15E1.0020.0014.1D45] # MODIFIER LETTER SMALL ALPHA
+1D90 ; [.15E5.0020.0002.1D90] # LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK
+0252 ; [.15E6.0020.0002.0252] # LATIN SMALL LETTER TURNED ALPHA
+2C70 ; [.15E6.0020.0008.2C70] # LATIN CAPITAL LETTER TURNED ALPHA
+1D9B ; [.15E6.0020.0014.1D9B] # MODIFIER LETTER SMALL TURNED ALPHA
+0062 ; [.15EA.0020.0002.0062] # LATIN SMALL LETTER B
+FF42 ; [.15EA.0020.0003.FF42] # FULLWIDTH LATIN SMALL LETTER B
+249D ; [*02FB.0020.0004.249D][.15EA.0020.0004.249D][*02FC.0020.001F.249D] # PARENTHESIZED LATIN SMALL LETTER B
+1D41B ; [.15EA.0020.0005.1D41B] # MATHEMATICAL BOLD SMALL B
+1D44F ; [.15EA.0020.0005.1D44F] # MATHEMATICAL ITALIC SMALL B
+1D483 ; [.15EA.0020.0005.1D483] # MATHEMATICAL BOLD ITALIC SMALL B
+1D4B7 ; [.15EA.0020.0005.1D4B7] # MATHEMATICAL SCRIPT SMALL B
+1D4EB ; [.15EA.0020.0005.1D4EB] # MATHEMATICAL BOLD SCRIPT SMALL B
+1D51F ; [.15EA.0020.0005.1D51F] # MATHEMATICAL FRAKTUR SMALL B
+1D553 ; [.15EA.0020.0005.1D553] # MATHEMATICAL DOUBLE-STRUCK SMALL B
+1D587 ; [.15EA.0020.0005.1D587] # MATHEMATICAL BOLD FRAKTUR SMALL B
+1D5BB ; [.15EA.0020.0005.1D5BB] # MATHEMATICAL SANS-SERIF SMALL B
+1D5EF ; [.15EA.0020.0005.1D5EF] # MATHEMATICAL SANS-SERIF BOLD SMALL B
+1D623 ; [.15EA.0020.0005.1D623] # MATHEMATICAL SANS-SERIF ITALIC SMALL B
+1D657 ; [.15EA.0020.0005.1D657] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B
+1D68B ; [.15EA.0020.0005.1D68B] # MATHEMATICAL MONOSPACE SMALL B
+24D1 ; [.15EA.0020.0006.24D1] # CIRCLED LATIN SMALL LETTER B
+0042 ; [.15EA.0020.0008.0042] # LATIN CAPITAL LETTER B
+FF22 ; [.15EA.0020.0009.FF22] # FULLWIDTH LATIN CAPITAL LETTER B
+1F111 ; [*02FB.0020.0004.1F111][.15EA.0020.000A.1F111][*02FC.0020.001F.1F111] # PARENTHESIZED LATIN CAPITAL LETTER B
+1F1E7 ; [.15EA.0020.000A.1F1E7] # REGIONAL INDICATOR SYMBOL LETTER B
+212C ; [.15EA.0020.000B.212C] # SCRIPT CAPITAL B
+1D401 ; [.15EA.0020.000B.1D401] # MATHEMATICAL BOLD CAPITAL B
+1D435 ; [.15EA.0020.000B.1D435] # MATHEMATICAL ITALIC CAPITAL B
+1D469 ; [.15EA.0020.000B.1D469] # MATHEMATICAL BOLD ITALIC CAPITAL B
+1D4D1 ; [.15EA.0020.000B.1D4D1] # MATHEMATICAL BOLD SCRIPT CAPITAL B
+1D505 ; [.15EA.0020.000B.1D505] # MATHEMATICAL FRAKTUR CAPITAL B
+1D539 ; [.15EA.0020.000B.1D539] # MATHEMATICAL DOUBLE-STRUCK CAPITAL B
+1D56D ; [.15EA.0020.000B.1D56D] # MATHEMATICAL BOLD FRAKTUR CAPITAL B
+1D5A1 ; [.15EA.0020.000B.1D5A1] # MATHEMATICAL SANS-SERIF CAPITAL B
+1D5D5 ; [.15EA.0020.000B.1D5D5] # MATHEMATICAL SANS-SERIF BOLD CAPITAL B
+1D609 ; [.15EA.0020.000B.1D609] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL B
+1D63D ; [.15EA.0020.000B.1D63D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B
+1D671 ; [.15EA.0020.000B.1D671] # MATHEMATICAL MONOSPACE CAPITAL B
+24B7 ; [.15EA.0020.000C.24B7] # CIRCLED LATIN CAPITAL LETTER B
+1F151 ; [.15EA.0020.000C.1F151] # NEGATIVE CIRCLED LATIN CAPITAL LETTER B
+1D47 ; [.15EA.0020.0014.1D47] # MODIFIER LETTER SMALL B
+1D2E ; [.15EA.0020.001D.1D2E] # MODIFIER LETTER CAPITAL B
+1F131 ; [.15EA.0020.001D.1F131] # SQUARED LATIN CAPITAL LETTER B
+1F171 ; [.15EA.0020.001D.1F171] # NEGATIVE SQUARED LATIN CAPITAL LETTER B
+1E03 ; [.15EA.0020.0002.0062][.0000.0052.0002.0307] # LATIN SMALL LETTER B WITH DOT ABOVE
+1E02 ; [.15EA.0020.0008.0042][.0000.0052.0002.0307] # LATIN CAPITAL LETTER B WITH DOT ABOVE
+1E05 ; [.15EA.0020.0002.0062][.0000.0070.0002.0323] # LATIN SMALL LETTER B WITH DOT BELOW
+1E04 ; [.15EA.0020.0008.0042][.0000.0070.0002.0323] # LATIN CAPITAL LETTER B WITH DOT BELOW
+1E07 ; [.15EA.0020.0002.0062][.0000.007B.0002.0331] # LATIN SMALL LETTER B WITH LINE BELOW
+1E06 ; [.15EA.0020.0008.0042][.0000.007B.0002.0331] # LATIN CAPITAL LETTER B WITH LINE BELOW
+3374 ; [.15EA.0020.001C.3374][.15D4.0020.001C.3374][.17A2.0020.001F.3374] # SQUARE BAR
+33C3 ; [.15EA.0020.001D.33C3][.1790.0020.001C.33C3] # SQUARE BQ
+0299 ; [.15EE.0020.0002.0299] # LATIN LETTER SMALL CAPITAL B
+0180 ; [.15F2.0020.0002.0180] # LATIN SMALL LETTER B WITH STROKE
+0243 ; [.15F2.0020.0008.0243] # LATIN CAPITAL LETTER B WITH STROKE
+1D2F ; [.15F6.0020.0002.1D2F] # MODIFIER LETTER CAPITAL BARRED B
+1D03 ; [.15F7.0020.0002.1D03] # LATIN LETTER SMALL CAPITAL BARRED B
+1D6C ; [.15F8.0020.0002.1D6C] # LATIN SMALL LETTER B WITH MIDDLE TILDE
+1D80 ; [.15F9.0020.0002.1D80] # LATIN SMALL LETTER B WITH PALATAL HOOK
+0253 ; [.15FA.0020.0002.0253] # LATIN SMALL LETTER B WITH HOOK
+0181 ; [.15FA.0020.0008.0181] # LATIN CAPITAL LETTER B WITH HOOK
+0183 ; [.15FE.0020.0002.0183] # LATIN SMALL LETTER B WITH TOPBAR
+0182 ; [.15FE.0020.0008.0182] # LATIN CAPITAL LETTER B WITH TOPBAR
+0063 ; [.1602.0020.0002.0063] # LATIN SMALL LETTER C
+FF43 ; [.1602.0020.0003.FF43] # FULLWIDTH LATIN SMALL LETTER C
+0368 ; [.1602.0020.0004.0368] # COMBINING LATIN SMALL LETTER C
+217D ; [.1602.0020.0004.217D] # SMALL ROMAN NUMERAL ONE HUNDRED
+249E ; [*02FB.0020.0004.249E][.1602.0020.0004.249E][*02FC.0020.001F.249E] # PARENTHESIZED LATIN SMALL LETTER C
+1D41C ; [.1602.0020.0005.1D41C] # MATHEMATICAL BOLD SMALL C
+1D450 ; [.1602.0020.0005.1D450] # MATHEMATICAL ITALIC SMALL C
+1D484 ; [.1602.0020.0005.1D484] # MATHEMATICAL BOLD ITALIC SMALL C
+1D4B8 ; [.1602.0020.0005.1D4B8] # MATHEMATICAL SCRIPT SMALL C
+1D4EC ; [.1602.0020.0005.1D4EC] # MATHEMATICAL BOLD SCRIPT SMALL C
+1D520 ; [.1602.0020.0005.1D520] # MATHEMATICAL FRAKTUR SMALL C
+1D554 ; [.1602.0020.0005.1D554] # MATHEMATICAL DOUBLE-STRUCK SMALL C
+1D588 ; [.1602.0020.0005.1D588] # MATHEMATICAL BOLD FRAKTUR SMALL C
+1D5BC ; [.1602.0020.0005.1D5BC] # MATHEMATICAL SANS-SERIF SMALL C
+1D5F0 ; [.1602.0020.0005.1D5F0] # MATHEMATICAL SANS-SERIF BOLD SMALL C
+1D624 ; [.1602.0020.0005.1D624] # MATHEMATICAL SANS-SERIF ITALIC SMALL C
+1D658 ; [.1602.0020.0005.1D658] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C
+1D68C ; [.1602.0020.0005.1D68C] # MATHEMATICAL MONOSPACE SMALL C
+24D2 ; [.1602.0020.0006.24D2] # CIRCLED LATIN SMALL LETTER C
+0043 ; [.1602.0020.0008.0043] # LATIN CAPITAL LETTER C
+FF23 ; [.1602.0020.0009.FF23] # FULLWIDTH LATIN CAPITAL LETTER C
+2103 ; [*0482.0020.0004.2103][.1602.0020.000A.2103] # DEGREE CELSIUS
+216D ; [.1602.0020.000A.216D] # ROMAN NUMERAL ONE HUNDRED
+1F112 ; [*02FB.0020.0004.1F112][.1602.0020.000A.1F112][*02FC.0020.001F.1F112] # PARENTHESIZED LATIN CAPITAL LETTER C
+1F1E8 ; [.1602.0020.000A.1F1E8] # REGIONAL INDICATOR SYMBOL LETTER C
+2102 ; [.1602.0020.000B.2102] # DOUBLE-STRUCK CAPITAL C
+212D ; [.1602.0020.000B.212D] # BLACK-LETTER CAPITAL C
+1D402 ; [.1602.0020.000B.1D402] # MATHEMATICAL BOLD CAPITAL C
+1D436 ; [.1602.0020.000B.1D436] # MATHEMATICAL ITALIC CAPITAL C
+1D46A ; [.1602.0020.000B.1D46A] # MATHEMATICAL BOLD ITALIC CAPITAL C
+1D49E ; [.1602.0020.000B.1D49E] # MATHEMATICAL SCRIPT CAPITAL C
+1D4D2 ; [.1602.0020.000B.1D4D2] # MATHEMATICAL BOLD SCRIPT CAPITAL C
+1D56E ; [.1602.0020.000B.1D56E] # MATHEMATICAL BOLD FRAKTUR CAPITAL C
+1D5A2 ; [.1602.0020.000B.1D5A2] # MATHEMATICAL SANS-SERIF CAPITAL C
+1D5D6 ; [.1602.0020.000B.1D5D6] # MATHEMATICAL SANS-SERIF BOLD CAPITAL C
+1D60A ; [.1602.0020.000B.1D60A] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL C
+1D63E ; [.1602.0020.000B.1D63E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C
+1D672 ; [.1602.0020.000B.1D672] # MATHEMATICAL MONOSPACE CAPITAL C
+24B8 ; [.1602.0020.000C.24B8] # CIRCLED LATIN CAPITAL LETTER C
+1F12B ; [.1602.0020.000C.1F12B] # CIRCLED ITALIC LATIN CAPITAL LETTER C
+1F152 ; [.1602.0020.000C.1F152] # NEGATIVE CIRCLED LATIN CAPITAL LETTER C
+1D9C ; [.1602.0020.0014.1D9C] # MODIFIER LETTER SMALL C
+1F132 ; [.1602.0020.001D.1F132] # SQUARED LATIN CAPITAL LETTER C
+1F172 ; [.1602.0020.001D.1F172] # NEGATIVE SQUARED LATIN CAPITAL LETTER C
+0107 ; [.1602.0020.0002.0063][.0000.0032.0002.0301] # LATIN SMALL LETTER C WITH ACUTE
+0106 ; [.1602.0020.0008.0043][.0000.0032.0002.0301] # LATIN CAPITAL LETTER C WITH ACUTE
+0109 ; [.1602.0020.0002.0063][.0000.003C.0002.0302] # LATIN SMALL LETTER C WITH CIRCUMFLEX
+0108 ; [.1602.0020.0008.0043][.0000.003C.0002.0302] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+010D ; [.1602.0020.0002.0063][.0000.0041.0002.030C] # LATIN SMALL LETTER C WITH CARON
+010C ; [.1602.0020.0008.0043][.0000.0041.0002.030C] # LATIN CAPITAL LETTER C WITH CARON
+010B ; [.1602.0020.0002.0063][.0000.0052.0002.0307] # LATIN SMALL LETTER C WITH DOT ABOVE
+010A ; [.1602.0020.0008.0043][.0000.0052.0002.0307] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+00E7 ; [.1602.0020.0002.0063][.0000.0056.0002.0327] # LATIN SMALL LETTER C WITH CEDILLA
+1DD7 ; [.1602.0020.0004.1DD7][.0000.0056.0004.1DD7] # COMBINING LATIN SMALL LETTER C CEDILLA
+00C7 ; [.1602.0020.0008.0043][.0000.0056.0002.0327] # LATIN CAPITAL LETTER C WITH CEDILLA
+1E09 ; [.1602.0020.0002.0063][.0000.0056.0002.0327][.0000.0032.0002.0301] # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
+1E08 ; [.1602.0020.0008.0043][.0000.0056.0002.0327][.0000.0032.0002.0301] # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
+3388 ; [.1602.0020.001C.3388][.15D4.0020.001C.3388][.16F6.0020.001F.3388] # SQUARE CAL
+33C4 ; [.1602.0020.001C.33C4][.1602.0020.001C.33C4] # SQUARE CC
+1F12D ; [.1602.0020.000C.1F12D][.1616.0020.000C.1F12D] # CIRCLED CD
+33C5 ; [.1602.0020.001C.33C5][.1616.0020.001C.33C5] # SQUARE CD
+33C6 ; [.1602.0020.001D.33C6][*05AB.0020.001C.33C6][.16E4.0020.001F.33C6][.1676.0020.001F.33C6] # SQUARE C OVER KG
+1F191 ; [.1602.0020.001D.1F191][.16F6.0020.001D.1F191] # SQUARED CL
+339D ; [.1602.0020.001C.339D][.1726.0020.001C.339D] # SQUARE CM
+33A0 ; [.1602.0020.001C.33A0][.1726.0020.001C.33A0][.15CC.0020.001F.33A0] # SQUARE CM SQUARED
+33A4 ; [.1602.0020.001C.33A4][.1726.0020.001C.33A4][.15CD.0020.001F.33A4] # SQUARE CM CUBED
+2105 ; [.1602.0020.0004.2105][*0372.0020.0004.2105][.1756.0020.001F.2105] # CARE OF
+33C7 ; [.1602.0020.001D.33C7][.1756.0020.001C.33C7][*0273.0020.001F.33C7] # SQUARE CO
+1F192 ; [.1602.0020.001D.1F192][.1756.0020.001D.1F192][.1756.0020.001F.1F192][.16F6.0020.001F.1F192] # SQUARED COOL
+2106 ; [.1602.0020.0004.2106][*0372.0020.0004.2106][.181B.0020.001F.2106] # CADA UNA
+1D04 ; [.1606.0020.0002.1D04] # LATIN LETTER SMALL CAPITAL C
+023C ; [.1607.0020.0002.023C] # LATIN SMALL LETTER C WITH STROKE
+023B ; [.1607.0020.0008.023B] # LATIN CAPITAL LETTER C WITH STROKE
+A793 ; [.160B.0020.0002.A793] # LATIN SMALL LETTER C WITH BAR
+A792 ; [.160B.0020.0008.A792] # LATIN CAPITAL LETTER C WITH BAR
+0188 ; [.160C.0020.0002.0188] # LATIN SMALL LETTER C WITH HOOK
+0187 ; [.160C.0020.0008.0187] # LATIN CAPITAL LETTER C WITH HOOK
+0255 ; [.1610.0020.0002.0255] # LATIN SMALL LETTER C WITH CURL
+1D9D ; [.1610.0020.0014.1D9D] # MODIFIER LETTER SMALL C WITH CURL
+2184 ; [.1614.0020.0002.2184] # LATIN SMALL LETTER REVERSED C
+2183 ; [.1614.0020.0008.2183] # ROMAN NUMERAL REVERSED ONE HUNDRED
+A73F ; [.1615.0020.0002.A73F] # LATIN SMALL LETTER REVERSED C WITH DOT
+A73E ; [.1615.0020.0008.A73E] # LATIN CAPITAL LETTER REVERSED C WITH DOT
+0064 ; [.1616.0020.0002.0064] # LATIN SMALL LETTER D
+FF44 ; [.1616.0020.0003.FF44] # FULLWIDTH LATIN SMALL LETTER D
+0369 ; [.1616.0020.0004.0369] # COMBINING LATIN SMALL LETTER D
+217E ; [.1616.0020.0004.217E] # SMALL ROMAN NUMERAL FIVE HUNDRED
+249F ; [*02FB.0020.0004.249F][.1616.0020.0004.249F][*02FC.0020.001F.249F] # PARENTHESIZED LATIN SMALL LETTER D
+2146 ; [.1616.0020.0005.2146] # DOUBLE-STRUCK ITALIC SMALL D
+1D41D ; [.1616.0020.0005.1D41D] # MATHEMATICAL BOLD SMALL D
+1D451 ; [.1616.0020.0005.1D451] # MATHEMATICAL ITALIC SMALL D
+1D485 ; [.1616.0020.0005.1D485] # MATHEMATICAL BOLD ITALIC SMALL D
+1D4B9 ; [.1616.0020.0005.1D4B9] # MATHEMATICAL SCRIPT SMALL D
+1D4ED ; [.1616.0020.0005.1D4ED] # MATHEMATICAL BOLD SCRIPT SMALL D
+1D521 ; [.1616.0020.0005.1D521] # MATHEMATICAL FRAKTUR SMALL D
+1D555 ; [.1616.0020.0005.1D555] # MATHEMATICAL DOUBLE-STRUCK SMALL D
+1D589 ; [.1616.0020.0005.1D589] # MATHEMATICAL BOLD FRAKTUR SMALL D
+1D5BD ; [.1616.0020.0005.1D5BD] # MATHEMATICAL SANS-SERIF SMALL D
+1D5F1 ; [.1616.0020.0005.1D5F1] # MATHEMATICAL SANS-SERIF BOLD SMALL D
+1D625 ; [.1616.0020.0005.1D625] # MATHEMATICAL SANS-SERIF ITALIC SMALL D
+1D659 ; [.1616.0020.0005.1D659] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D
+1D68D ; [.1616.0020.0005.1D68D] # MATHEMATICAL MONOSPACE SMALL D
+24D3 ; [.1616.0020.0006.24D3] # CIRCLED LATIN SMALL LETTER D
+0044 ; [.1616.0020.0008.0044] # LATIN CAPITAL LETTER D
+FF24 ; [.1616.0020.0009.FF24] # FULLWIDTH LATIN CAPITAL LETTER D
+216E ; [.1616.0020.000A.216E] # ROMAN NUMERAL FIVE HUNDRED
+1F113 ; [*02FB.0020.0004.1F113][.1616.0020.000A.1F113][*02FC.0020.001F.1F113] # PARENTHESIZED LATIN CAPITAL LETTER D
+1F1E9 ; [.1616.0020.000A.1F1E9] # REGIONAL INDICATOR SYMBOL LETTER D
+2145 ; [.1616.0020.000B.2145] # DOUBLE-STRUCK ITALIC CAPITAL D
+1D403 ; [.1616.0020.000B.1D403] # MATHEMATICAL BOLD CAPITAL D
+1D437 ; [.1616.0020.000B.1D437] # MATHEMATICAL ITALIC CAPITAL D
+1D46B ; [.1616.0020.000B.1D46B] # MATHEMATICAL BOLD ITALIC CAPITAL D
+1D49F ; [.1616.0020.000B.1D49F] # MATHEMATICAL SCRIPT CAPITAL D
+1D4D3 ; [.1616.0020.000B.1D4D3] # MATHEMATICAL BOLD SCRIPT CAPITAL D
+1D507 ; [.1616.0020.000B.1D507] # MATHEMATICAL FRAKTUR CAPITAL D
+1D53B ; [.1616.0020.000B.1D53B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL D
+1D56F ; [.1616.0020.000B.1D56F] # MATHEMATICAL BOLD FRAKTUR CAPITAL D
+1D5A3 ; [.1616.0020.000B.1D5A3] # MATHEMATICAL SANS-SERIF CAPITAL D
+1D5D7 ; [.1616.0020.000B.1D5D7] # MATHEMATICAL SANS-SERIF BOLD CAPITAL D
+1D60B ; [.1616.0020.000B.1D60B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL D
+1D63F ; [.1616.0020.000B.1D63F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D
+1D673 ; [.1616.0020.000B.1D673] # MATHEMATICAL MONOSPACE CAPITAL D
+24B9 ; [.1616.0020.000C.24B9] # CIRCLED LATIN CAPITAL LETTER D
+1F153 ; [.1616.0020.000C.1F153] # NEGATIVE CIRCLED LATIN CAPITAL LETTER D
+1D48 ; [.1616.0020.0014.1D48] # MODIFIER LETTER SMALL D
+1D30 ; [.1616.0020.001D.1D30] # MODIFIER LETTER CAPITAL D
+1F133 ; [.1616.0020.001D.1F133] # SQUARED LATIN CAPITAL LETTER D
+1F173 ; [.1616.0020.001D.1F173] # NEGATIVE SQUARED LATIN CAPITAL LETTER D
+010F ; [.1616.0020.0002.0064][.0000.0041.0002.030C] # LATIN SMALL LETTER D WITH CARON
+010E ; [.1616.0020.0008.0044][.0000.0041.0002.030C] # LATIN CAPITAL LETTER D WITH CARON
+1E0B ; [.1616.0020.0002.0064][.0000.0052.0002.0307] # LATIN SMALL LETTER D WITH DOT ABOVE
+1E0A ; [.1616.0020.0008.0044][.0000.0052.0002.0307] # LATIN CAPITAL LETTER D WITH DOT ABOVE
+1E11 ; [.1616.0020.0002.0064][.0000.0056.0002.0327] # LATIN SMALL LETTER D WITH CEDILLA
+1E10 ; [.1616.0020.0008.0044][.0000.0056.0002.0327] # LATIN CAPITAL LETTER D WITH CEDILLA
+1E0D ; [.1616.0020.0002.0064][.0000.0070.0002.0323] # LATIN SMALL LETTER D WITH DOT BELOW
+1E0C ; [.1616.0020.0008.0044][.0000.0070.0002.0323] # LATIN CAPITAL LETTER D WITH DOT BELOW
+1E13 ; [.1616.0020.0002.0064][.0000.0078.0002.032D] # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
+1E12 ; [.1616.0020.0008.0044][.0000.0078.0002.032D] # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
+1E0F ; [.1616.0020.0002.0064][.0000.007B.0002.0331] # LATIN SMALL LETTER D WITH LINE BELOW
+1E0E ; [.1616.0020.0008.0044][.0000.007B.0002.0331] # LATIN CAPITAL LETTER D WITH LINE BELOW
+0111 ; [.1616.0020.0002.0064][.0000.007D.0002.0335] # LATIN SMALL LETTER D WITH STROKE
+0110 ; [.1616.0020.0008.0044][.0000.007D.0002.0335] # LATIN CAPITAL LETTER D WITH STROKE
+00F0 ; [.1616.0020.0004.00F0][.0000.0139.0004.00F0] # LATIN SMALL LETTER ETH
+1DD9 ; [.1616.0020.0004.1DD9][.0000.0139.0004.1DD9] # COMBINING LATIN SMALL LETTER ETH
+00D0 ; [.1616.0020.000A.00D0][.0000.0139.0004.00D0] # LATIN CAPITAL LETTER ETH
+1D9E ; [.1616.0020.0014.1D9E][.0000.0139.0014.1D9E] # MODIFIER LETTER SMALL ETH
+1DD8 ; [.1616.0020.0004.1DD8][.0000.013A.0004.1DD8] # COMBINING LATIN SMALL LETTER INSULAR D
+A77A ; [.1616.0020.0004.A77A][.0000.013A.0004.A77A] # LATIN SMALL LETTER INSULAR D
+A779 ; [.1616.0020.000A.A779][.0000.013A.0004.A779] # LATIN CAPITAL LETTER INSULAR D
+3372 ; [.1616.0020.001C.3372][.15D4.0020.001C.3372] # SQUARE DA
+0238 ; [.1616.0020.0004.0238][.15EA.0020.0004.0238] # LATIN SMALL LETTER DB DIGRAPH
+33C8 ; [.1616.0020.001C.33C8][.15EA.0020.001D.33C8] # SQUARE DB
+1F190 ; [.1616.0020.001D.1F190][.16CB.0020.001D.1F190] # SQUARE DJ
+3397 ; [.1616.0020.001C.3397][.16F6.0020.001C.3397] # SQUARE DL
+3377 ; [.1616.0020.001C.3377][.1726.0020.001C.3377] # SQUARE DM
+3378 ; [.1616.0020.001C.3378][.1726.0020.001C.3378][.15CC.0020.001F.3378] # SQUARE DM SQUARED
+3379 ; [.1616.0020.001C.3379][.1726.0020.001C.3379][.15CD.0020.001F.3379] # SQUARE DM CUBED
+01F3 ; [.1616.0020.0004.01F3][.187A.0020.0004.01F3] # LATIN SMALL LETTER DZ
+02A3 ; [.1616.0020.0004.02A3][.187A.0020.0004.02A3] # LATIN SMALL LETTER DZ DIGRAPH
+01F2 ; [.1616.0020.000A.01F2][.187A.0020.0004.01F2] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z
+01F1 ; [.1616.0020.000A.01F1][.187A.0020.000A.01F1] # LATIN CAPITAL LETTER DZ
+01C6 ; [.1616.0020.0004.01C6][.187A.0020.0004.01C6][.0000.0041.001F.01C6] # LATIN SMALL LETTER DZ WITH CARON
+01C5 ; [.1616.0020.000A.01C5][.187A.0020.0004.01C5][.0000.0041.001F.01C5] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
+01C4 ; [.1616.0020.000A.01C4][.187A.0020.000A.01C4][.0000.0041.001F.01C4] # LATIN CAPITAL LETTER DZ WITH CARON
+02A5 ; [.1616.0020.0004.02A5][.188D.0020.0004.02A5] # LATIN SMALL LETTER DZ DIGRAPH WITH CURL
+02A4 ; [.1616.0020.0004.02A4][.1897.0020.0004.02A4] # LATIN SMALL LETTER DEZH DIGRAPH
+1D05 ; [.161A.0020.0002.1D05] # LATIN LETTER SMALL CAPITAL D
+1D06 ; [.161B.0020.0002.1D06] # LATIN LETTER SMALL CAPITAL ETH
+1D6D ; [.161C.0020.0002.1D6D] # LATIN SMALL LETTER D WITH MIDDLE TILDE
+1D81 ; [.161D.0020.0002.1D81] # LATIN SMALL LETTER D WITH PALATAL HOOK
+0256 ; [.161E.0020.0002.0256] # LATIN SMALL LETTER D WITH TAIL
+0189 ; [.161E.0020.0008.0189] # LATIN CAPITAL LETTER AFRICAN D
+0257 ; [.1622.0020.0002.0257] # LATIN SMALL LETTER D WITH HOOK
+018A ; [.1622.0020.0008.018A] # LATIN CAPITAL LETTER D WITH HOOK
+1D91 ; [.1626.0020.0002.1D91] # LATIN SMALL LETTER D WITH HOOK AND TAIL
+018C ; [.1627.0020.0002.018C] # LATIN SMALL LETTER D WITH TOPBAR
+018B ; [.1627.0020.0008.018B] # LATIN CAPITAL LETTER D WITH TOPBAR
+0221 ; [.162B.0020.0002.0221] # LATIN SMALL LETTER D WITH CURL
+A771 ; [.162F.0020.0002.A771] # LATIN SMALL LETTER DUM
+1E9F ; [.1630.0020.0002.1E9F] # LATIN SMALL LETTER DELTA
+0065 ; [.1631.0020.0002.0065] # LATIN SMALL LETTER E
+FF45 ; [.1631.0020.0003.FF45] # FULLWIDTH LATIN SMALL LETTER E
+0364 ; [.1631.0020.0004.0364] # COMBINING LATIN SMALL LETTER E
+24A0 ; [*02FB.0020.0004.24A0][.1631.0020.0004.24A0][*02FC.0020.001F.24A0] # PARENTHESIZED LATIN SMALL LETTER E
+212F ; [.1631.0020.0005.212F] # SCRIPT SMALL E
+2147 ; [.1631.0020.0005.2147] # DOUBLE-STRUCK ITALIC SMALL E
+1D41E ; [.1631.0020.0005.1D41E] # MATHEMATICAL BOLD SMALL E
+1D452 ; [.1631.0020.0005.1D452] # MATHEMATICAL ITALIC SMALL E
+1D486 ; [.1631.0020.0005.1D486] # MATHEMATICAL BOLD ITALIC SMALL E
+1D4EE ; [.1631.0020.0005.1D4EE] # MATHEMATICAL BOLD SCRIPT SMALL E
+1D522 ; [.1631.0020.0005.1D522] # MATHEMATICAL FRAKTUR SMALL E
+1D556 ; [.1631.0020.0005.1D556] # MATHEMATICAL DOUBLE-STRUCK SMALL E
+1D58A ; [.1631.0020.0005.1D58A] # MATHEMATICAL BOLD FRAKTUR SMALL E
+1D5BE ; [.1631.0020.0005.1D5BE] # MATHEMATICAL SANS-SERIF SMALL E
+1D5F2 ; [.1631.0020.0005.1D5F2] # MATHEMATICAL SANS-SERIF BOLD SMALL E
+1D626 ; [.1631.0020.0005.1D626] # MATHEMATICAL SANS-SERIF ITALIC SMALL E
+1D65A ; [.1631.0020.0005.1D65A] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E
+1D68E ; [.1631.0020.0005.1D68E] # MATHEMATICAL MONOSPACE SMALL E
+24D4 ; [.1631.0020.0006.24D4] # CIRCLED LATIN SMALL LETTER E
+0045 ; [.1631.0020.0008.0045] # LATIN CAPITAL LETTER E
+FF25 ; [.1631.0020.0009.FF25] # FULLWIDTH LATIN CAPITAL LETTER E
+1F114 ; [*02FB.0020.0004.1F114][.1631.0020.000A.1F114][*02FC.0020.001F.1F114] # PARENTHESIZED LATIN CAPITAL LETTER E
+1F1EA ; [.1631.0020.000A.1F1EA] # REGIONAL INDICATOR SYMBOL LETTER E
+2130 ; [.1631.0020.000B.2130] # SCRIPT CAPITAL E
+1D404 ; [.1631.0020.000B.1D404] # MATHEMATICAL BOLD CAPITAL E
+1D438 ; [.1631.0020.000B.1D438] # MATHEMATICAL ITALIC CAPITAL E
+1D46C ; [.1631.0020.000B.1D46C] # MATHEMATICAL BOLD ITALIC CAPITAL E
+1D4D4 ; [.1631.0020.000B.1D4D4] # MATHEMATICAL BOLD SCRIPT CAPITAL E
+1D508 ; [.1631.0020.000B.1D508] # MATHEMATICAL FRAKTUR CAPITAL E
+1D53C ; [.1631.0020.000B.1D53C] # MATHEMATICAL DOUBLE-STRUCK CAPITAL E
+1D570 ; [.1631.0020.000B.1D570] # MATHEMATICAL BOLD FRAKTUR CAPITAL E
+1D5A4 ; [.1631.0020.000B.1D5A4] # MATHEMATICAL SANS-SERIF CAPITAL E
+1D5D8 ; [.1631.0020.000B.1D5D8] # MATHEMATICAL SANS-SERIF BOLD CAPITAL E
+1D60C ; [.1631.0020.000B.1D60C] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL E
+1D640 ; [.1631.0020.000B.1D640] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E
+1D674 ; [.1631.0020.000B.1D674] # MATHEMATICAL MONOSPACE CAPITAL E
+24BA ; [.1631.0020.000C.24BA] # CIRCLED LATIN CAPITAL LETTER E
+1F154 ; [.1631.0020.000C.1F154] # NEGATIVE CIRCLED LATIN CAPITAL LETTER E
+1D49 ; [.1631.0020.0014.1D49] # MODIFIER LETTER SMALL E
+2091 ; [.1631.0020.0015.2091] # LATIN SUBSCRIPT SMALL LETTER E
+1D31 ; [.1631.0020.001D.1D31] # MODIFIER LETTER CAPITAL E
+1F134 ; [.1631.0020.001D.1F134] # SQUARED LATIN CAPITAL LETTER E
+1F174 ; [.1631.0020.001D.1F174] # NEGATIVE SQUARED LATIN CAPITAL LETTER E
+00E9 ; [.1631.0020.0002.0065][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH ACUTE
+00C9 ; [.1631.0020.0008.0045][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH ACUTE
+00E8 ; [.1631.0020.0002.0065][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH GRAVE
+00C8 ; [.1631.0020.0008.0045][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH GRAVE
+0115 ; [.1631.0020.0002.0065][.0000.0037.0002.0306] # LATIN SMALL LETTER E WITH BREVE
+0114 ; [.1631.0020.0008.0045][.0000.0037.0002.0306] # LATIN CAPITAL LETTER E WITH BREVE
+00EA ; [.1631.0020.0002.0065][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA ; [.1631.0020.0008.0045][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EBF ; [.1631.0020.0002.0065][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE ; [.1631.0020.0008.0045][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC1 ; [.1631.0020.0002.0065][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0 ; [.1631.0020.0008.0045][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC5 ; [.1631.0020.0002.0065][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4 ; [.1631.0020.0008.0045][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3 ; [.1631.0020.0002.0065][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2 ; [.1631.0020.0008.0045][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+011B ; [.1631.0020.0002.0065][.0000.0041.0002.030C] # LATIN SMALL LETTER E WITH CARON
+011A ; [.1631.0020.0008.0045][.0000.0041.0002.030C] # LATIN CAPITAL LETTER E WITH CARON
+00EB ; [.1631.0020.0002.0065][.0000.0047.0002.0308] # LATIN SMALL LETTER E WITH DIAERESIS
+00CB ; [.1631.0020.0008.0045][.0000.0047.0002.0308] # LATIN CAPITAL LETTER E WITH DIAERESIS
+1EBD ; [.1631.0020.0002.0065][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH TILDE
+1EBC ; [.1631.0020.0008.0045][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH TILDE
+0117 ; [.1631.0020.0002.0065][.0000.0052.0002.0307] # LATIN SMALL LETTER E WITH DOT ABOVE
+0116 ; [.1631.0020.0008.0045][.0000.0052.0002.0307] # LATIN CAPITAL LETTER E WITH DOT ABOVE
+0229 ; [.1631.0020.0002.0065][.0000.0056.0002.0327] # LATIN SMALL LETTER E WITH CEDILLA
+0228 ; [.1631.0020.0008.0045][.0000.0056.0002.0327] # LATIN CAPITAL LETTER E WITH CEDILLA
+1E1D ; [.1631.0020.0002.0065][.0000.0056.0002.0327][.0000.0037.0002.0306] # LATIN SMALL LETTER E WITH CEDILLA AND BREVE
+1E1C ; [.1631.0020.0008.0045][.0000.0056.0002.0327][.0000.0037.0002.0306] # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
+0119 ; [.1631.0020.0002.0065][.0000.0059.0002.0328] # LATIN SMALL LETTER E WITH OGONEK
+0118 ; [.1631.0020.0008.0045][.0000.0059.0002.0328] # LATIN CAPITAL LETTER E WITH OGONEK
+0113 ; [.1631.0020.0002.0065][.0000.005B.0002.0304] # LATIN SMALL LETTER E WITH MACRON
+0112 ; [.1631.0020.0008.0045][.0000.005B.0002.0304] # LATIN CAPITAL LETTER E WITH MACRON
+1E17 ; [.1631.0020.0002.0065][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH MACRON AND ACUTE
+1E16 ; [.1631.0020.0008.0045][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
+1E15 ; [.1631.0020.0002.0065][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH MACRON AND GRAVE
+1E14 ; [.1631.0020.0008.0045][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
+1EBB ; [.1631.0020.0002.0065][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH HOOK ABOVE
+1EBA ; [.1631.0020.0008.0045][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH HOOK ABOVE
+0205 ; [.1631.0020.0002.0065][.0000.0065.0002.030F] # LATIN SMALL LETTER E WITH DOUBLE GRAVE
+0204 ; [.1631.0020.0008.0045][.0000.0065.0002.030F] # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
+0207 ; [.1631.0020.0002.0065][.0000.0067.0002.0311] # LATIN SMALL LETTER E WITH INVERTED BREVE
+0206 ; [.1631.0020.0008.0045][.0000.0067.0002.0311] # LATIN CAPITAL LETTER E WITH INVERTED BREVE
+1EB9 ; [.1631.0020.0002.0065][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH DOT BELOW
+1EB8 ; [.1631.0020.0008.0045][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH DOT BELOW
+1EC7 ; [.1631.0020.0002.0065][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6 ; [.1631.0020.0008.0045][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1E19 ; [.1631.0020.0002.0065][.0000.0078.0002.032D] # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
+1E18 ; [.1631.0020.0008.0045][.0000.0078.0002.032D] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
+1E1B ; [.1631.0020.0002.0065][.0000.007A.0002.0330] # LATIN SMALL LETTER E WITH TILDE BELOW
+1E1A ; [.1631.0020.0008.0045][.0000.007A.0002.0330] # LATIN CAPITAL LETTER E WITH TILDE BELOW
+32CD ; [.1631.0020.001C.32CD][.17A2.0020.001C.32CD][.1676.0020.001F.32CD] # SQUARE ERG
+32CE ; [.1631.0020.001C.32CE][.1844.0020.001D.32CE] # SQUARE EV
+1D07 ; [.1635.0020.0002.1D07] # LATIN LETTER SMALL CAPITAL E
+0247 ; [.1636.0020.0002.0247] # LATIN SMALL LETTER E WITH STROKE
+0246 ; [.1636.0020.0008.0246] # LATIN CAPITAL LETTER E WITH STROKE
+1D92 ; [.163A.0020.0002.1D92] # LATIN SMALL LETTER E WITH RETROFLEX HOOK
+2C78 ; [.163B.0020.0002.2C78] # LATIN SMALL LETTER E WITH NOTCH
+01DD ; [.163C.0020.0002.01DD] # LATIN SMALL LETTER TURNED E
+018E ; [.163C.0020.0008.018E] # LATIN CAPITAL LETTER REVERSED E
+1D32 ; [.163C.0020.001D.1D32] # MODIFIER LETTER CAPITAL REVERSED E
+2C7B ; [.1640.0020.0002.2C7B] # LATIN LETTER SMALL CAPITAL TURNED E
+0259 ; [.1641.0020.0002.0259] # LATIN SMALL LETTER SCHWA
+018F ; [.1641.0020.0008.018F] # LATIN CAPITAL LETTER SCHWA
+1D4A ; [.1641.0020.0014.1D4A] # MODIFIER LETTER SMALL SCHWA
+2094 ; [.1641.0020.0015.2094] # LATIN SUBSCRIPT SMALL LETTER SCHWA
+1D95 ; [.1645.0020.0002.1D95] # LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK
+025B ; [.1646.0020.0002.025B] # LATIN SMALL LETTER OPEN E
+0190 ; [.1646.0020.0008.0190] # LATIN CAPITAL LETTER OPEN E
+2107 ; [.1646.0020.000A.2107] # EULER CONSTANT
+1D4B ; [.1646.0020.0014.1D4B] # MODIFIER LETTER SMALL OPEN E
+1D93 ; [.164A.0020.0002.1D93] # LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK
+0258 ; [.164B.0020.0002.0258] # LATIN SMALL LETTER REVERSED E
+025A ; [.164F.0020.0002.025A] # LATIN SMALL LETTER SCHWA WITH HOOK
+025C ; [.1653.0020.0002.025C] # LATIN SMALL LETTER REVERSED OPEN E
+1D9F ; [.1653.0020.0014.1D9F] # MODIFIER LETTER SMALL REVERSED OPEN E
+1D94 ; [.1657.0020.0002.1D94] # LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK
+1D08 ; [.1658.0020.0002.1D08] # LATIN SMALL LETTER TURNED OPEN E
+1D4C ; [.1658.0020.0014.1D4C] # MODIFIER LETTER SMALL TURNED OPEN E
+025D ; [.1659.0020.0002.025D] # LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
+025E ; [.165D.0020.0002.025E] # LATIN SMALL LETTER CLOSED REVERSED OPEN E
+029A ; [.1661.0020.0002.029A] # LATIN SMALL LETTER CLOSED OPEN E
+0264 ; [.1665.0020.0002.0264] # LATIN SMALL LETTER RAMS HORN
+0066 ; [.1669.0020.0002.0066] # LATIN SMALL LETTER F
+FF46 ; [.1669.0020.0003.FF46] # FULLWIDTH LATIN SMALL LETTER F
+24A1 ; [*02FB.0020.0004.24A1][.1669.0020.0004.24A1][*02FC.0020.001F.24A1] # PARENTHESIZED LATIN SMALL LETTER F
+1D41F ; [.1669.0020.0005.1D41F] # MATHEMATICAL BOLD SMALL F
+1D453 ; [.1669.0020.0005.1D453] # MATHEMATICAL ITALIC SMALL F
+1D487 ; [.1669.0020.0005.1D487] # MATHEMATICAL BOLD ITALIC SMALL F
+1D4BB ; [.1669.0020.0005.1D4BB] # MATHEMATICAL SCRIPT SMALL F
+1D4EF ; [.1669.0020.0005.1D4EF] # MATHEMATICAL BOLD SCRIPT SMALL F
+1D523 ; [.1669.0020.0005.1D523] # MATHEMATICAL FRAKTUR SMALL F
+1D557 ; [.1669.0020.0005.1D557] # MATHEMATICAL DOUBLE-STRUCK SMALL F
+1D58B ; [.1669.0020.0005.1D58B] # MATHEMATICAL BOLD FRAKTUR SMALL F
+1D5BF ; [.1669.0020.0005.1D5BF] # MATHEMATICAL SANS-SERIF SMALL F
+1D5F3 ; [.1669.0020.0005.1D5F3] # MATHEMATICAL SANS-SERIF BOLD SMALL F
+1D627 ; [.1669.0020.0005.1D627] # MATHEMATICAL SANS-SERIF ITALIC SMALL F
+1D65B ; [.1669.0020.0005.1D65B] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F
+1D68F ; [.1669.0020.0005.1D68F] # MATHEMATICAL MONOSPACE SMALL F
+24D5 ; [.1669.0020.0006.24D5] # CIRCLED LATIN SMALL LETTER F
+0046 ; [.1669.0020.0008.0046] # LATIN CAPITAL LETTER F
+FF26 ; [.1669.0020.0009.FF26] # FULLWIDTH LATIN CAPITAL LETTER F
+2109 ; [*0482.0020.0004.2109][.1669.0020.000A.2109] # DEGREE FAHRENHEIT
+1F115 ; [*02FB.0020.0004.1F115][.1669.0020.000A.1F115][*02FC.0020.001F.1F115] # PARENTHESIZED LATIN CAPITAL LETTER F
+1F1EB ; [.1669.0020.000A.1F1EB] # REGIONAL INDICATOR SYMBOL LETTER F
+2131 ; [.1669.0020.000B.2131] # SCRIPT CAPITAL F
+1D405 ; [.1669.0020.000B.1D405] # MATHEMATICAL BOLD CAPITAL F
+1D439 ; [.1669.0020.000B.1D439] # MATHEMATICAL ITALIC CAPITAL F
+1D46D ; [.1669.0020.000B.1D46D] # MATHEMATICAL BOLD ITALIC CAPITAL F
+1D4D5 ; [.1669.0020.000B.1D4D5] # MATHEMATICAL BOLD SCRIPT CAPITAL F
+1D509 ; [.1669.0020.000B.1D509] # MATHEMATICAL FRAKTUR CAPITAL F
+1D53D ; [.1669.0020.000B.1D53D] # MATHEMATICAL DOUBLE-STRUCK CAPITAL F
+1D571 ; [.1669.0020.000B.1D571] # MATHEMATICAL BOLD FRAKTUR CAPITAL F
+1D5A5 ; [.1669.0020.000B.1D5A5] # MATHEMATICAL SANS-SERIF CAPITAL F
+1D5D9 ; [.1669.0020.000B.1D5D9] # MATHEMATICAL SANS-SERIF BOLD CAPITAL F
+1D60D ; [.1669.0020.000B.1D60D] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL F
+1D641 ; [.1669.0020.000B.1D641] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F
+1D675 ; [.1669.0020.000B.1D675] # MATHEMATICAL MONOSPACE CAPITAL F
+24BB ; [.1669.0020.000C.24BB] # CIRCLED LATIN CAPITAL LETTER F
+1F155 ; [.1669.0020.000C.1F155] # NEGATIVE CIRCLED LATIN CAPITAL LETTER F
+1DA0 ; [.1669.0020.0014.1DA0] # MODIFIER LETTER SMALL F
+1F135 ; [.1669.0020.001D.1F135] # SQUARED LATIN CAPITAL LETTER F
+1F175 ; [.1669.0020.001D.1F175] # NEGATIVE SQUARED LATIN CAPITAL LETTER F
+1E1F ; [.1669.0020.0002.0066][.0000.0052.0002.0307] # LATIN SMALL LETTER F WITH DOT ABOVE
+1E1E ; [.1669.0020.0008.0046][.0000.0052.0002.0307] # LATIN CAPITAL LETTER F WITH DOT ABOVE
+A77C ; [.1669.0020.0004.A77C][.0000.013A.0004.A77C] # LATIN SMALL LETTER INSULAR F
+A77B ; [.1669.0020.000A.A77B][.0000.013A.0004.A77B] # LATIN CAPITAL LETTER INSULAR F
+213B ; [.1669.0020.000A.213B][.15D4.0020.000A.213B][.1860.0020.001F.213B] # FACSIMILE SIGN
+FB00 ; [.1669.0020.0004.FB00][.1669.0020.0004.FB00] # LATIN SMALL LIGATURE FF
+FB03 ; [.1669.0020.0004.FB03][.1669.0020.0004.FB03][.16B2.0020.001F.FB03] # LATIN SMALL LIGATURE FFI
+FB04 ; [.1669.0020.0004.FB04][.1669.0020.0004.FB04][.16F6.0020.001F.FB04] # LATIN SMALL LIGATURE FFL
+FB01 ; [.1669.0020.0004.FB01][.16B2.0020.0004.FB01] # LATIN SMALL LIGATURE FI
+FB02 ; [.1669.0020.0004.FB02][.16F6.0020.0004.FB02] # LATIN SMALL LIGATURE FL
+3399 ; [.1669.0020.001C.3399][.1726.0020.001C.3399] # SQUARE FM
+02A9 ; [.1669.0020.0004.02A9][.1752.0020.0004.02A9] # LATIN SMALL LETTER FENG DIGRAPH
+1F193 ; [.1669.0020.001D.1F193][.17A2.0020.001D.1F193][.1631.0020.001F.1F193][.1631.0020.001F.1F193] # SQUARED FREE
+A730 ; [.166D.0020.0002.A730] # LATIN LETTER SMALL CAPITAL F
+1D6E ; [.166E.0020.0002.1D6E] # LATIN SMALL LETTER F WITH MIDDLE TILDE
+1D82 ; [.166F.0020.0002.1D82] # LATIN SMALL LETTER F WITH PALATAL HOOK
+0192 ; [.1670.0020.0002.0192] # LATIN SMALL LETTER F WITH HOOK
+0191 ; [.1670.0020.0008.0191] # LATIN CAPITAL LETTER F WITH HOOK
+214E ; [.1674.0020.0002.214E] # TURNED SMALL F
+2132 ; [.1674.0020.0008.2132] # TURNED CAPITAL F
+A7FB ; [.1675.0020.0002.A7FB] # LATIN EPIGRAPHIC LETTER REVERSED F
+0067 ; [.1676.0020.0002.0067] # LATIN SMALL LETTER G
+FF47 ; [.1676.0020.0003.FF47] # FULLWIDTH LATIN SMALL LETTER G
+1DDA ; [.1676.0020.0004.1DDA] # COMBINING LATIN SMALL LETTER G
+24A2 ; [*02FB.0020.0004.24A2][.1676.0020.0004.24A2][*02FC.0020.001F.24A2] # PARENTHESIZED LATIN SMALL LETTER G
+210A ; [.1676.0020.0005.210A] # SCRIPT SMALL G
+1D420 ; [.1676.0020.0005.1D420] # MATHEMATICAL BOLD SMALL G
+1D454 ; [.1676.0020.0005.1D454] # MATHEMATICAL ITALIC SMALL G
+1D488 ; [.1676.0020.0005.1D488] # MATHEMATICAL BOLD ITALIC SMALL G
+1D4F0 ; [.1676.0020.0005.1D4F0] # MATHEMATICAL BOLD SCRIPT SMALL G
+1D524 ; [.1676.0020.0005.1D524] # MATHEMATICAL FRAKTUR SMALL G
+1D558 ; [.1676.0020.0005.1D558] # MATHEMATICAL DOUBLE-STRUCK SMALL G
+1D58C ; [.1676.0020.0005.1D58C] # MATHEMATICAL BOLD FRAKTUR SMALL G
+1D5C0 ; [.1676.0020.0005.1D5C0] # MATHEMATICAL SANS-SERIF SMALL G
+1D5F4 ; [.1676.0020.0005.1D5F4] # MATHEMATICAL SANS-SERIF BOLD SMALL G
+1D628 ; [.1676.0020.0005.1D628] # MATHEMATICAL SANS-SERIF ITALIC SMALL G
+1D65C ; [.1676.0020.0005.1D65C] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G
+1D690 ; [.1676.0020.0005.1D690] # MATHEMATICAL MONOSPACE SMALL G
+24D6 ; [.1676.0020.0006.24D6] # CIRCLED LATIN SMALL LETTER G
+0047 ; [.1676.0020.0008.0047] # LATIN CAPITAL LETTER G
+FF27 ; [.1676.0020.0009.FF27] # FULLWIDTH LATIN CAPITAL LETTER G
+1F116 ; [*02FB.0020.0004.1F116][.1676.0020.000A.1F116][*02FC.0020.001F.1F116] # PARENTHESIZED LATIN CAPITAL LETTER G
+1F1EC ; [.1676.0020.000A.1F1EC] # REGIONAL INDICATOR SYMBOL LETTER G
+1D406 ; [.1676.0020.000B.1D406] # MATHEMATICAL BOLD CAPITAL G
+1D43A ; [.1676.0020.000B.1D43A] # MATHEMATICAL ITALIC CAPITAL G
+1D46E ; [.1676.0020.000B.1D46E] # MATHEMATICAL BOLD ITALIC CAPITAL G
+1D4A2 ; [.1676.0020.000B.1D4A2] # MATHEMATICAL SCRIPT CAPITAL G
+1D4D6 ; [.1676.0020.000B.1D4D6] # MATHEMATICAL BOLD SCRIPT CAPITAL G
+1D50A ; [.1676.0020.000B.1D50A] # MATHEMATICAL FRAKTUR CAPITAL G
+1D53E ; [.1676.0020.000B.1D53E] # MATHEMATICAL DOUBLE-STRUCK CAPITAL G
+1D572 ; [.1676.0020.000B.1D572] # MATHEMATICAL BOLD FRAKTUR CAPITAL G
+1D5A6 ; [.1676.0020.000B.1D5A6] # MATHEMATICAL SANS-SERIF CAPITAL G
+1D5DA ; [.1676.0020.000B.1D5DA] # MATHEMATICAL SANS-SERIF BOLD CAPITAL G
+1D60E ; [.1676.0020.000B.1D60E] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL G
+1D642 ; [.1676.0020.000B.1D642] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G
+1D676 ; [.1676.0020.000B.1D676] # MATHEMATICAL MONOSPACE CAPITAL G
+24BC ; [.1676.0020.000C.24BC] # CIRCLED LATIN CAPITAL LETTER G
+1F156 ; [.1676.0020.000C.1F156] # NEGATIVE CIRCLED LATIN CAPITAL LETTER G
+1D4D ; [.1676.0020.0014.1D4D] # MODIFIER LETTER SMALL G
+1D33 ; [.1676.0020.001D.1D33] # MODIFIER LETTER CAPITAL G
+1F136 ; [.1676.0020.001D.1F136] # SQUARED LATIN CAPITAL LETTER G
+1F176 ; [.1676.0020.001D.1F176] # NEGATIVE SQUARED LATIN CAPITAL LETTER G
+01F5 ; [.1676.0020.0002.0067][.0000.0032.0002.0301] # LATIN SMALL LETTER G WITH ACUTE
+01F4 ; [.1676.0020.0008.0047][.0000.0032.0002.0301] # LATIN CAPITAL LETTER G WITH ACUTE
+011F ; [.1676.0020.0002.0067][.0000.0037.0002.0306] # LATIN SMALL LETTER G WITH BREVE
+011E ; [.1676.0020.0008.0047][.0000.0037.0002.0306] # LATIN CAPITAL LETTER G WITH BREVE
+011D ; [.1676.0020.0002.0067][.0000.003C.0002.0302] # LATIN SMALL LETTER G WITH CIRCUMFLEX
+011C ; [.1676.0020.0008.0047][.0000.003C.0002.0302] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+01E7 ; [.1676.0020.0002.0067][.0000.0041.0002.030C] # LATIN SMALL LETTER G WITH CARON
+01E6 ; [.1676.0020.0008.0047][.0000.0041.0002.030C] # LATIN CAPITAL LETTER G WITH CARON
+0121 ; [.1676.0020.0002.0067][.0000.0052.0002.0307] # LATIN SMALL LETTER G WITH DOT ABOVE
+0120 ; [.1676.0020.0008.0047][.0000.0052.0002.0307] # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0123 ; [.1676.0020.0002.0067][.0000.0056.0002.0327] # LATIN SMALL LETTER G WITH CEDILLA
+0122 ; [.1676.0020.0008.0047][.0000.0056.0002.0327] # LATIN CAPITAL LETTER G WITH CEDILLA
+1E21 ; [.1676.0020.0002.0067][.0000.005B.0002.0304] # LATIN SMALL LETTER G WITH MACRON
+1E20 ; [.1676.0020.0008.0047][.0000.005B.0002.0304] # LATIN CAPITAL LETTER G WITH MACRON
+A7A1 ; [.1676.0020.0004.A7A1][.0000.0061.0004.A7A1] # LATIN SMALL LETTER G WITH OBLIQUE STROKE
+A7A0 ; [.1676.0020.000A.A7A0][.0000.0061.0004.A7A0] # LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
+1D79 ; [.1676.0020.0004.1D79][.0000.013A.0004.1D79] # LATIN SMALL LETTER INSULAR G
+A77D ; [.1676.0020.000A.A77D][.0000.013A.0004.A77D] # LATIN CAPITAL LETTER INSULAR G
+33FF ; [.1676.0020.001C.33FF][.15D4.0020.001C.33FF][.16F6.0020.001F.33FF] # SQUARE GAL
+3387 ; [.1676.0020.001D.3387][.15EA.0020.001D.3387] # SQUARE GB
+3393 ; [.1676.0020.001D.3393][.1699.0020.001D.3393][.187A.0020.001F.3393] # SQUARE GHZ
+33AC ; [.1676.0020.001D.33AC][.177B.0020.001D.33AC][.15D4.0020.001F.33AC] # SQUARE GPA
+33C9 ; [.1676.0020.001D.33C9][.1865.0020.001C.33C9] # SQUARE GY
+0261 ; [.167A.0020.0002.0261] # LATIN SMALL LETTER SCRIPT G
+1DA2 ; [.167A.0020.0014.1DA2] # MODIFIER LETTER SMALL SCRIPT G
+0262 ; [.167E.0020.0002.0262] # LATIN LETTER SMALL CAPITAL G
+1DDB ; [.167E.0020.0004.1DDB] # COMBINING LATIN LETTER SMALL CAPITAL G
+01E5 ; [.1682.0020.0002.01E5] # LATIN SMALL LETTER G WITH STROKE
+01E4 ; [.1682.0020.0008.01E4] # LATIN CAPITAL LETTER G WITH STROKE
+1D83 ; [.1686.0020.0002.1D83] # LATIN SMALL LETTER G WITH PALATAL HOOK
+0260 ; [.1687.0020.0002.0260] # LATIN SMALL LETTER G WITH HOOK
+0193 ; [.1687.0020.0008.0193] # LATIN CAPITAL LETTER G WITH HOOK
+029B ; [.168B.0020.0002.029B] # LATIN LETTER SMALL CAPITAL G WITH HOOK
+1D77 ; [.168F.0020.0002.1D77] # LATIN SMALL LETTER TURNED G
+A77F ; [.1690.0020.0002.A77F] # LATIN SMALL LETTER TURNED INSULAR G
+A77E ; [.1690.0020.0008.A77E] # LATIN CAPITAL LETTER TURNED INSULAR G
+0263 ; [.1691.0020.0002.0263] # LATIN SMALL LETTER GAMMA
+0194 ; [.1691.0020.0008.0194] # LATIN CAPITAL LETTER GAMMA
+02E0 ; [.1691.0020.0014.02E0] # MODIFIER LETTER SMALL GAMMA
+01A3 ; [.1695.0020.0002.01A3] # LATIN SMALL LETTER OI
+01A2 ; [.1695.0020.0008.01A2] # LATIN CAPITAL LETTER OI
+0068 ; [.1699.0020.0002.0068] # LATIN SMALL LETTER H
+FF48 ; [.1699.0020.0003.FF48] # FULLWIDTH LATIN SMALL LETTER H
+036A ; [.1699.0020.0004.036A] # COMBINING LATIN SMALL LETTER H
+24A3 ; [*02FB.0020.0004.24A3][.1699.0020.0004.24A3][*02FC.0020.001F.24A3] # PARENTHESIZED LATIN SMALL LETTER H
+210E ; [.1699.0020.0005.210E] # PLANCK CONSTANT
+1D421 ; [.1699.0020.0005.1D421] # MATHEMATICAL BOLD SMALL H
+1D489 ; [.1699.0020.0005.1D489] # MATHEMATICAL BOLD ITALIC SMALL H
+1D4BD ; [.1699.0020.0005.1D4BD] # MATHEMATICAL SCRIPT SMALL H
+1D4F1 ; [.1699.0020.0005.1D4F1] # MATHEMATICAL BOLD SCRIPT SMALL H
+1D525 ; [.1699.0020.0005.1D525] # MATHEMATICAL FRAKTUR SMALL H
+1D559 ; [.1699.0020.0005.1D559] # MATHEMATICAL DOUBLE-STRUCK SMALL H
+1D58D ; [.1699.0020.0005.1D58D] # MATHEMATICAL BOLD FRAKTUR SMALL H
+1D5C1 ; [.1699.0020.0005.1D5C1] # MATHEMATICAL SANS-SERIF SMALL H
+1D5F5 ; [.1699.0020.0005.1D5F5] # MATHEMATICAL SANS-SERIF BOLD SMALL H
+1D629 ; [.1699.0020.0005.1D629] # MATHEMATICAL SANS-SERIF ITALIC SMALL H
+1D65D ; [.1699.0020.0005.1D65D] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H
+1D691 ; [.1699.0020.0005.1D691] # MATHEMATICAL MONOSPACE SMALL H
+24D7 ; [.1699.0020.0006.24D7] # CIRCLED LATIN SMALL LETTER H
+0048 ; [.1699.0020.0008.0048] # LATIN CAPITAL LETTER H
+FF28 ; [.1699.0020.0009.FF28] # FULLWIDTH LATIN CAPITAL LETTER H
+1F117 ; [*02FB.0020.0004.1F117][.1699.0020.000A.1F117][*02FC.0020.001F.1F117] # PARENTHESIZED LATIN CAPITAL LETTER H
+1F1ED ; [.1699.0020.000A.1F1ED] # REGIONAL INDICATOR SYMBOL LETTER H
+210B ; [.1699.0020.000B.210B] # SCRIPT CAPITAL H
+210C ; [.1699.0020.000B.210C] # BLACK-LETTER CAPITAL H
+210D ; [.1699.0020.000B.210D] # DOUBLE-STRUCK CAPITAL H
+1D407 ; [.1699.0020.000B.1D407] # MATHEMATICAL BOLD CAPITAL H
+1D43B ; [.1699.0020.000B.1D43B] # MATHEMATICAL ITALIC CAPITAL H
+1D46F ; [.1699.0020.000B.1D46F] # MATHEMATICAL BOLD ITALIC CAPITAL H
+1D4D7 ; [.1699.0020.000B.1D4D7] # MATHEMATICAL BOLD SCRIPT CAPITAL H
+1D573 ; [.1699.0020.000B.1D573] # MATHEMATICAL BOLD FRAKTUR CAPITAL H
+1D5A7 ; [.1699.0020.000B.1D5A7] # MATHEMATICAL SANS-SERIF CAPITAL H
+1D5DB ; [.1699.0020.000B.1D5DB] # MATHEMATICAL SANS-SERIF BOLD CAPITAL H
+1D60F ; [.1699.0020.000B.1D60F] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL H
+1D643 ; [.1699.0020.000B.1D643] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H
+1D677 ; [.1699.0020.000B.1D677] # MATHEMATICAL MONOSPACE CAPITAL H
+24BD ; [.1699.0020.000C.24BD] # CIRCLED LATIN CAPITAL LETTER H
+1F157 ; [.1699.0020.000C.1F157] # NEGATIVE CIRCLED LATIN CAPITAL LETTER H
+02B0 ; [.1699.0020.0014.02B0] # MODIFIER LETTER SMALL H
+2095 ; [.1699.0020.0015.2095] # LATIN SUBSCRIPT SMALL LETTER H
+1D34 ; [.1699.0020.001D.1D34] # MODIFIER LETTER CAPITAL H
+1F137 ; [.1699.0020.001D.1F137] # SQUARED LATIN CAPITAL LETTER H
+1F177 ; [.1699.0020.001D.1F177] # NEGATIVE SQUARED LATIN CAPITAL LETTER H
+0125 ; [.1699.0020.0002.0068][.0000.003C.0002.0302] # LATIN SMALL LETTER H WITH CIRCUMFLEX
+0124 ; [.1699.0020.0008.0048][.0000.003C.0002.0302] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+021F ; [.1699.0020.0002.0068][.0000.0041.0002.030C] # LATIN SMALL LETTER H WITH CARON
+021E ; [.1699.0020.0008.0048][.0000.0041.0002.030C] # LATIN CAPITAL LETTER H WITH CARON
+1E27 ; [.1699.0020.0002.0068][.0000.0047.0002.0308] # LATIN SMALL LETTER H WITH DIAERESIS
+1E26 ; [.1699.0020.0008.0048][.0000.0047.0002.0308] # LATIN CAPITAL LETTER H WITH DIAERESIS
+1E23 ; [.1699.0020.0002.0068][.0000.0052.0002.0307] # LATIN SMALL LETTER H WITH DOT ABOVE
+1E22 ; [.1699.0020.0008.0048][.0000.0052.0002.0307] # LATIN CAPITAL LETTER H WITH DOT ABOVE
+1E29 ; [.1699.0020.0002.0068][.0000.0056.0002.0327] # LATIN SMALL LETTER H WITH CEDILLA
+1E28 ; [.1699.0020.0008.0048][.0000.0056.0002.0327] # LATIN CAPITAL LETTER H WITH CEDILLA
+1E25 ; [.1699.0020.0002.0068][.0000.0070.0002.0323] # LATIN SMALL LETTER H WITH DOT BELOW
+1E24 ; [.1699.0020.0008.0048][.0000.0070.0002.0323] # LATIN CAPITAL LETTER H WITH DOT BELOW
+1E2B ; [.1699.0020.0002.0068][.0000.0079.0002.032E] # LATIN SMALL LETTER H WITH BREVE BELOW
+1E2A ; [.1699.0020.0008.0048][.0000.0079.0002.032E] # LATIN CAPITAL LETTER H WITH BREVE BELOW
+1E96 ; [.1699.0020.0002.0068][.0000.007B.0002.0331] # LATIN SMALL LETTER H WITH LINE BELOW
+0127 ; [.1699.0020.0002.0068][.0000.007D.0002.0335] # LATIN SMALL LETTER H WITH STROKE
+210F ; [.1699.0020.0002.210F][.0000.007D.0002.210F] # PLANCK CONSTANT OVER TWO PI
+0126 ; [.1699.0020.0008.0048][.0000.007D.0002.0335] # LATIN CAPITAL LETTER H WITH STROKE
+A7F8 ; [.1699.0020.0014.A7F8][.0000.007D.0014.A7F8] # MODIFIER LETTER CAPITAL H WITH STROKE
+33CA ; [.1699.0020.001C.33CA][.15D4.0020.001C.33CA] # SQUARE HA
+32CC ; [.1699.0020.001D.32CC][.1676.0020.001C.32CC] # SQUARE HG
+33CB ; [.1699.0020.001D.33CB][.177B.0020.001D.33CB] # SQUARE HP
+3371 ; [.1699.0020.001C.3371][.177B.0020.001D.3371][.15D4.0020.001F.3371] # SQUARE HPA
+1F14A ; [.1699.0020.001D.1F14A][.1844.0020.001D.1F14A] # SQUARED HV
+3390 ; [.1699.0020.001D.3390][.187A.0020.001C.3390] # SQUARE HZ
+029C ; [.169D.0020.0002.029C] # LATIN LETTER SMALL CAPITAL H
+0195 ; [.16A1.0020.0002.0195] # LATIN SMALL LETTER HV
+01F6 ; [.16A1.0020.0008.01F6] # LATIN CAPITAL LETTER HWAIR
+0266 ; [.16A5.0020.0002.0266] # LATIN SMALL LETTER H WITH HOOK
+A7AA ; [.16A5.0020.0008.A7AA] # LATIN CAPITAL LETTER H WITH HOOK
+02B1 ; [.16A5.0020.0014.02B1] # MODIFIER LETTER SMALL H WITH HOOK
+2C68 ; [.16A9.0020.0002.2C68] # LATIN SMALL LETTER H WITH DESCENDER
+2C67 ; [.16A9.0020.0008.2C67] # LATIN CAPITAL LETTER H WITH DESCENDER
+2C76 ; [.16AA.0020.0002.2C76] # LATIN SMALL LETTER HALF H
+2C75 ; [.16AA.0020.0008.2C75] # LATIN CAPITAL LETTER HALF H
+A727 ; [.16AB.0020.0002.A727] # LATIN SMALL LETTER HENG
+A726 ; [.16AB.0020.0008.A726] # LATIN CAPITAL LETTER HENG
+0267 ; [.16AC.0020.0002.0267] # LATIN SMALL LETTER HENG WITH HOOK
+02BB ; [.16B0.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
+02BD ; [.16B1.0020.0002.02BD] # MODIFIER LETTER REVERSED COMMA
+0069 ; [.16B2.0020.0002.0069] # LATIN SMALL LETTER I
+FF49 ; [.16B2.0020.0003.FF49] # FULLWIDTH LATIN SMALL LETTER I
+0365 ; [.16B2.0020.0004.0365] # COMBINING LATIN SMALL LETTER I
+2170 ; [.16B2.0020.0004.2170] # SMALL ROMAN NUMERAL ONE
+24A4 ; [*02FB.0020.0004.24A4][.16B2.0020.0004.24A4][*02FC.0020.001F.24A4] # PARENTHESIZED LATIN SMALL LETTER I
+2139 ; [.16B2.0020.0005.2139] # INFORMATION SOURCE
+2148 ; [.16B2.0020.0005.2148] # DOUBLE-STRUCK ITALIC SMALL I
+1D422 ; [.16B2.0020.0005.1D422] # MATHEMATICAL BOLD SMALL I
+1D456 ; [.16B2.0020.0005.1D456] # MATHEMATICAL ITALIC SMALL I
+1D48A ; [.16B2.0020.0005.1D48A] # MATHEMATICAL BOLD ITALIC SMALL I
+1D4BE ; [.16B2.0020.0005.1D4BE] # MATHEMATICAL SCRIPT SMALL I
+1D4F2 ; [.16B2.0020.0005.1D4F2] # MATHEMATICAL BOLD SCRIPT SMALL I
+1D526 ; [.16B2.0020.0005.1D526] # MATHEMATICAL FRAKTUR SMALL I
+1D55A ; [.16B2.0020.0005.1D55A] # MATHEMATICAL DOUBLE-STRUCK SMALL I
+1D58E ; [.16B2.0020.0005.1D58E] # MATHEMATICAL BOLD FRAKTUR SMALL I
+1D5C2 ; [.16B2.0020.0005.1D5C2] # MATHEMATICAL SANS-SERIF SMALL I
+1D5F6 ; [.16B2.0020.0005.1D5F6] # MATHEMATICAL SANS-SERIF BOLD SMALL I
+1D62A ; [.16B2.0020.0005.1D62A] # MATHEMATICAL SANS-SERIF ITALIC SMALL I
+1D65E ; [.16B2.0020.0005.1D65E] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I
+1D692 ; [.16B2.0020.0005.1D692] # MATHEMATICAL MONOSPACE SMALL I
+24D8 ; [.16B2.0020.0006.24D8] # CIRCLED LATIN SMALL LETTER I
+0049 ; [.16B2.0020.0008.0049] # LATIN CAPITAL LETTER I
+FF29 ; [.16B2.0020.0009.FF29] # FULLWIDTH LATIN CAPITAL LETTER I
+2160 ; [.16B2.0020.000A.2160] # ROMAN NUMERAL ONE
+1F118 ; [*02FB.0020.0004.1F118][.16B2.0020.000A.1F118][*02FC.0020.001F.1F118] # PARENTHESIZED LATIN CAPITAL LETTER I
+1F1EE ; [.16B2.0020.000A.1F1EE] # REGIONAL INDICATOR SYMBOL LETTER I
+2110 ; [.16B2.0020.000B.2110] # SCRIPT CAPITAL I
+2111 ; [.16B2.0020.000B.2111] # BLACK-LETTER CAPITAL I
+1D408 ; [.16B2.0020.000B.1D408] # MATHEMATICAL BOLD CAPITAL I
+1D43C ; [.16B2.0020.000B.1D43C] # MATHEMATICAL ITALIC CAPITAL I
+1D470 ; [.16B2.0020.000B.1D470] # MATHEMATICAL BOLD ITALIC CAPITAL I
+1D4D8 ; [.16B2.0020.000B.1D4D8] # MATHEMATICAL BOLD SCRIPT CAPITAL I
+1D540 ; [.16B2.0020.000B.1D540] # MATHEMATICAL DOUBLE-STRUCK CAPITAL I
+1D574 ; [.16B2.0020.000B.1D574] # MATHEMATICAL BOLD FRAKTUR CAPITAL I
+1D5A8 ; [.16B2.0020.000B.1D5A8] # MATHEMATICAL SANS-SERIF CAPITAL I
+1D5DC ; [.16B2.0020.000B.1D5DC] # MATHEMATICAL SANS-SERIF BOLD CAPITAL I
+1D610 ; [.16B2.0020.000B.1D610] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL I
+1D644 ; [.16B2.0020.000B.1D644] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I
+1D678 ; [.16B2.0020.000B.1D678] # MATHEMATICAL MONOSPACE CAPITAL I
+24BE ; [.16B2.0020.000C.24BE] # CIRCLED LATIN CAPITAL LETTER I
+1F158 ; [.16B2.0020.000C.1F158] # NEGATIVE CIRCLED LATIN CAPITAL LETTER I
+2071 ; [.16B2.0020.0014.2071] # SUPERSCRIPT LATIN SMALL LETTER I
+1D62 ; [.16B2.0020.0015.1D62] # LATIN SUBSCRIPT SMALL LETTER I
+1D35 ; [.16B2.0020.001D.1D35] # MODIFIER LETTER CAPITAL I
+1F138 ; [.16B2.0020.001D.1F138] # SQUARED LATIN CAPITAL LETTER I
+1F178 ; [.16B2.0020.001D.1F178] # NEGATIVE SQUARED LATIN CAPITAL LETTER I
+00ED ; [.16B2.0020.0002.0069][.0000.0032.0002.0301] # LATIN SMALL LETTER I WITH ACUTE
+00CD ; [.16B2.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
+00EC ; [.16B2.0020.0002.0069][.0000.0035.0002.0300] # LATIN SMALL LETTER I WITH GRAVE
+00CC ; [.16B2.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE
+012D ; [.16B2.0020.0002.0069][.0000.0037.0002.0306] # LATIN SMALL LETTER I WITH BREVE
+012C ; [.16B2.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
+00EE ; [.16B2.0020.0002.0069][.0000.003C.0002.0302] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+00CE ; [.16B2.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+01D0 ; [.16B2.0020.0002.0069][.0000.0041.0002.030C] # LATIN SMALL LETTER I WITH CARON
+01CF ; [.16B2.0020.0008.0049][.0000.0041.0002.030C] # LATIN CAPITAL LETTER I WITH CARON
+00EF ; [.16B2.0020.0002.0069][.0000.0047.0002.0308] # LATIN SMALL LETTER I WITH DIAERESIS
+00CF ; [.16B2.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS
+1E2F ; [.16B2.0020.0002.0069][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
+1E2E ; [.16B2.0020.0008.0049][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
+0129 ; [.16B2.0020.0002.0069][.0000.004E.0002.0303] # LATIN SMALL LETTER I WITH TILDE
+0128 ; [.16B2.0020.0008.0049][.0000.004E.0002.0303] # LATIN CAPITAL LETTER I WITH TILDE
+0130 ; [.16B2.0020.0008.0049][.0000.0052.0002.0307] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+012F ; [.16B2.0020.0002.0069][.0000.0059.0002.0328] # LATIN SMALL LETTER I WITH OGONEK
+012E ; [.16B2.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK
+012B ; [.16B2.0020.0002.0069][.0000.005B.0002.0304] # LATIN SMALL LETTER I WITH MACRON
+012A ; [.16B2.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
+1EC9 ; [.16B2.0020.0002.0069][.0000.0064.0002.0309] # LATIN SMALL LETTER I WITH HOOK ABOVE
+1EC8 ; [.16B2.0020.0008.0049][.0000.0064.0002.0309] # LATIN CAPITAL LETTER I WITH HOOK ABOVE
+0209 ; [.16B2.0020.0002.0069][.0000.0065.0002.030F] # LATIN SMALL LETTER I WITH DOUBLE GRAVE
+0208 ; [.16B2.0020.0008.0049][.0000.0065.0002.030F] # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
+020B ; [.16B2.0020.0002.0069][.0000.0067.0002.0311] # LATIN SMALL LETTER I WITH INVERTED BREVE
+020A ; [.16B2.0020.0008.0049][.0000.0067.0002.0311] # LATIN CAPITAL LETTER I WITH INVERTED BREVE
+1ECB ; [.16B2.0020.0002.0069][.0000.0070.0002.0323] # LATIN SMALL LETTER I WITH DOT BELOW
+1ECA ; [.16B2.0020.0008.0049][.0000.0070.0002.0323] # LATIN CAPITAL LETTER I WITH DOT BELOW
+1E2D ; [.16B2.0020.0002.0069][.0000.007A.0002.0330] # LATIN SMALL LETTER I WITH TILDE BELOW
+1E2C ; [.16B2.0020.0008.0049][.0000.007A.0002.0330] # LATIN CAPITAL LETTER I WITH TILDE BELOW
+1F18B ; [.16B2.0020.001D.1F18B][.1602.0020.001D.1F18B] # NEGATIVE SQUARED IC
+1F194 ; [.16B2.0020.001D.1F194][.1616.0020.001D.1F194] # SQUARED ID
+2171 ; [.16B2.0020.0004.2171][.16B2.0020.0004.2171] # SMALL ROMAN NUMERAL TWO
+2161 ; [.16B2.0020.000A.2161][.16B2.0020.000A.2161] # ROMAN NUMERAL TWO
+2172 ; [.16B2.0020.0004.2172][.16B2.0020.0004.2172][.16B2.0020.001F.2172] # SMALL ROMAN NUMERAL THREE
+2162 ; [.16B2.0020.000A.2162][.16B2.0020.000A.2162][.16B2.0020.001F.2162] # ROMAN NUMERAL THREE
+0133 ; [.16B2.0020.0004.0133][.16CB.0020.0004.0133] # LATIN SMALL LIGATURE IJ
+0132 ; [.16B2.0020.000A.0132][.16CB.0020.000A.0132] # LATIN CAPITAL LIGATURE IJ
+33CC ; [.16B2.0020.001C.33CC][.1734.0020.001C.33CC] # SQUARE IN
+337A ; [.16B2.0020.001D.337A][.181B.0020.001D.337A] # SQUARE IU
+2173 ; [.16B2.0020.0004.2173][.1844.0020.0004.2173] # SMALL ROMAN NUMERAL FOUR
+2163 ; [.16B2.0020.000A.2163][.1844.0020.000A.2163] # ROMAN NUMERAL FOUR
+2178 ; [.16B2.0020.0004.2178][.1860.0020.0004.2178] # SMALL ROMAN NUMERAL NINE
+2168 ; [.16B2.0020.000A.2168][.1860.0020.000A.2168] # ROMAN NUMERAL NINE
+0131 ; [.16B6.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
+1D6A4 ; [.16B6.0020.0005.1D6A4] # MATHEMATICAL ITALIC SMALL DOTLESS I
+026A ; [.16BA.0020.0002.026A] # LATIN LETTER SMALL CAPITAL I
+1DA6 ; [.16BA.0020.0014.1DA6] # MODIFIER LETTER SMALL CAPITAL I
+A7FE ; [.16BE.0020.0002.A7FE] # LATIN EPIGRAPHIC LETTER I LONGA
+1D09 ; [.16BF.0020.0002.1D09] # LATIN SMALL LETTER TURNED I
+1D4E ; [.16BF.0020.0014.1D4E] # MODIFIER LETTER SMALL TURNED I
+0268 ; [.16C0.0020.0002.0268] # LATIN SMALL LETTER I WITH STROKE
+0197 ; [.16C0.0020.0008.0197] # LATIN CAPITAL LETTER I WITH STROKE
+1DA4 ; [.16C0.0020.0014.1DA4] # MODIFIER LETTER SMALL I WITH STROKE
+1D7B ; [.16C4.0020.0002.1D7B] # LATIN SMALL CAPITAL LETTER I WITH STROKE
+1DA7 ; [.16C4.0020.0014.1DA7] # MODIFIER LETTER SMALL CAPITAL I WITH STROKE
+1D96 ; [.16C5.0020.0002.1D96] # LATIN SMALL LETTER I WITH RETROFLEX HOOK
+0269 ; [.16C6.0020.0002.0269] # LATIN SMALL LETTER IOTA
+0196 ; [.16C6.0020.0008.0196] # LATIN CAPITAL LETTER IOTA
+1DA5 ; [.16C6.0020.0014.1DA5] # MODIFIER LETTER SMALL IOTA
+1D7C ; [.16CA.0020.0002.1D7C] # LATIN SMALL LETTER IOTA WITH STROKE
+006A ; [.16CB.0020.0002.006A] # LATIN SMALL LETTER J
+FF4A ; [.16CB.0020.0003.FF4A] # FULLWIDTH LATIN SMALL LETTER J
+24A5 ; [*02FB.0020.0004.24A5][.16CB.0020.0004.24A5][*02FC.0020.001F.24A5] # PARENTHESIZED LATIN SMALL LETTER J
+2149 ; [.16CB.0020.0005.2149] # DOUBLE-STRUCK ITALIC SMALL J
+1D423 ; [.16CB.0020.0005.1D423] # MATHEMATICAL BOLD SMALL J
+1D457 ; [.16CB.0020.0005.1D457] # MATHEMATICAL ITALIC SMALL J
+1D48B ; [.16CB.0020.0005.1D48B] # MATHEMATICAL BOLD ITALIC SMALL J
+1D4BF ; [.16CB.0020.0005.1D4BF] # MATHEMATICAL SCRIPT SMALL J
+1D4F3 ; [.16CB.0020.0005.1D4F3] # MATHEMATICAL BOLD SCRIPT SMALL J
+1D527 ; [.16CB.0020.0005.1D527] # MATHEMATICAL FRAKTUR SMALL J
+1D55B ; [.16CB.0020.0005.1D55B] # MATHEMATICAL DOUBLE-STRUCK SMALL J
+1D58F ; [.16CB.0020.0005.1D58F] # MATHEMATICAL BOLD FRAKTUR SMALL J
+1D5C3 ; [.16CB.0020.0005.1D5C3] # MATHEMATICAL SANS-SERIF SMALL J
+1D5F7 ; [.16CB.0020.0005.1D5F7] # MATHEMATICAL SANS-SERIF BOLD SMALL J
+1D62B ; [.16CB.0020.0005.1D62B] # MATHEMATICAL SANS-SERIF ITALIC SMALL J
+1D65F ; [.16CB.0020.0005.1D65F] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J
+1D693 ; [.16CB.0020.0005.1D693] # MATHEMATICAL MONOSPACE SMALL J
+24D9 ; [.16CB.0020.0006.24D9] # CIRCLED LATIN SMALL LETTER J
+004A ; [.16CB.0020.0008.004A] # LATIN CAPITAL LETTER J
+FF2A ; [.16CB.0020.0009.FF2A] # FULLWIDTH LATIN CAPITAL LETTER J
+1F119 ; [*02FB.0020.0004.1F119][.16CB.0020.000A.1F119][*02FC.0020.001F.1F119] # PARENTHESIZED LATIN CAPITAL LETTER J
+1F1EF ; [.16CB.0020.000A.1F1EF] # REGIONAL INDICATOR SYMBOL LETTER J
+1D409 ; [.16CB.0020.000B.1D409] # MATHEMATICAL BOLD CAPITAL J
+1D43D ; [.16CB.0020.000B.1D43D] # MATHEMATICAL ITALIC CAPITAL J
+1D471 ; [.16CB.0020.000B.1D471] # MATHEMATICAL BOLD ITALIC CAPITAL J
+1D4A5 ; [.16CB.0020.000B.1D4A5] # MATHEMATICAL SCRIPT CAPITAL J
+1D4D9 ; [.16CB.0020.000B.1D4D9] # MATHEMATICAL BOLD SCRIPT CAPITAL J
+1D50D ; [.16CB.0020.000B.1D50D] # MATHEMATICAL FRAKTUR CAPITAL J
+1D541 ; [.16CB.0020.000B.1D541] # MATHEMATICAL DOUBLE-STRUCK CAPITAL J
+1D575 ; [.16CB.0020.000B.1D575] # MATHEMATICAL BOLD FRAKTUR CAPITAL J
+1D5A9 ; [.16CB.0020.000B.1D5A9] # MATHEMATICAL SANS-SERIF CAPITAL J
+1D5DD ; [.16CB.0020.000B.1D5DD] # MATHEMATICAL SANS-SERIF BOLD CAPITAL J
+1D611 ; [.16CB.0020.000B.1D611] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL J
+1D645 ; [.16CB.0020.000B.1D645] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J
+1D679 ; [.16CB.0020.000B.1D679] # MATHEMATICAL MONOSPACE CAPITAL J
+24BF ; [.16CB.0020.000C.24BF] # CIRCLED LATIN CAPITAL LETTER J
+1F159 ; [.16CB.0020.000C.1F159] # NEGATIVE CIRCLED LATIN CAPITAL LETTER J
+02B2 ; [.16CB.0020.0014.02B2] # MODIFIER LETTER SMALL J
+2C7C ; [.16CB.0020.0015.2C7C] # LATIN SUBSCRIPT SMALL LETTER J
+1D36 ; [.16CB.0020.001D.1D36] # MODIFIER LETTER CAPITAL J
+1F139 ; [.16CB.0020.001D.1F139] # SQUARED LATIN CAPITAL LETTER J
+1F179 ; [.16CB.0020.001D.1F179] # NEGATIVE SQUARED LATIN CAPITAL LETTER J
+0135 ; [.16CB.0020.0002.006A][.0000.003C.0002.0302] # LATIN SMALL LETTER J WITH CIRCUMFLEX
+0134 ; [.16CB.0020.0008.004A][.0000.003C.0002.0302] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+01F0 ; [.16CB.0020.0002.006A][.0000.0041.0002.030C] # LATIN SMALL LETTER J WITH CARON
+0237 ; [.16CF.0020.0002.0237] # LATIN SMALL LETTER DOTLESS J
+1D6A5 ; [.16CF.0020.0005.1D6A5] # MATHEMATICAL ITALIC SMALL DOTLESS J
+1D0A ; [.16D3.0020.0002.1D0A] # LATIN LETTER SMALL CAPITAL J
+0249 ; [.16D4.0020.0002.0249] # LATIN SMALL LETTER J WITH STROKE
+0248 ; [.16D4.0020.0008.0248] # LATIN CAPITAL LETTER J WITH STROKE
+029D ; [.16D8.0020.0002.029D] # LATIN SMALL LETTER J WITH CROSSED-TAIL
+1DA8 ; [.16D8.0020.0014.1DA8] # MODIFIER LETTER SMALL J WITH CROSSED-TAIL
+025F ; [.16DC.0020.0002.025F] # LATIN SMALL LETTER DOTLESS J WITH STROKE
+1DA1 ; [.16DC.0020.0014.1DA1] # MODIFIER LETTER SMALL DOTLESS J WITH STROKE
+0284 ; [.16E0.0020.0002.0284] # LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
+006B ; [.16E4.0020.0002.006B] # LATIN SMALL LETTER K
+FF4B ; [.16E4.0020.0003.FF4B] # FULLWIDTH LATIN SMALL LETTER K
+1DDC ; [.16E4.0020.0004.1DDC] # COMBINING LATIN SMALL LETTER K
+24A6 ; [*02FB.0020.0004.24A6][.16E4.0020.0004.24A6][*02FC.0020.001F.24A6] # PARENTHESIZED LATIN SMALL LETTER K
+1D424 ; [.16E4.0020.0005.1D424] # MATHEMATICAL BOLD SMALL K
+1D458 ; [.16E4.0020.0005.1D458] # MATHEMATICAL ITALIC SMALL K
+1D48C ; [.16E4.0020.0005.1D48C] # MATHEMATICAL BOLD ITALIC SMALL K
+1D4C0 ; [.16E4.0020.0005.1D4C0] # MATHEMATICAL SCRIPT SMALL K
+1D4F4 ; [.16E4.0020.0005.1D4F4] # MATHEMATICAL BOLD SCRIPT SMALL K
+1D528 ; [.16E4.0020.0005.1D528] # MATHEMATICAL FRAKTUR SMALL K
+1D55C ; [.16E4.0020.0005.1D55C] # MATHEMATICAL DOUBLE-STRUCK SMALL K
+1D590 ; [.16E4.0020.0005.1D590] # MATHEMATICAL BOLD FRAKTUR SMALL K
+1D5C4 ; [.16E4.0020.0005.1D5C4] # MATHEMATICAL SANS-SERIF SMALL K
+1D5F8 ; [.16E4.0020.0005.1D5F8] # MATHEMATICAL SANS-SERIF BOLD SMALL K
+1D62C ; [.16E4.0020.0005.1D62C] # MATHEMATICAL SANS-SERIF ITALIC SMALL K
+1D660 ; [.16E4.0020.0005.1D660] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K
+1D694 ; [.16E4.0020.0005.1D694] # MATHEMATICAL MONOSPACE SMALL K
+24DA ; [.16E4.0020.0006.24DA] # CIRCLED LATIN SMALL LETTER K
+004B ; [.16E4.0020.0008.004B] # LATIN CAPITAL LETTER K
+212A ; [.16E4.0020.0008.212A] # KELVIN SIGN
+FF2B ; [.16E4.0020.0009.FF2B] # FULLWIDTH LATIN CAPITAL LETTER K
+1F11A ; [*02FB.0020.0004.1F11A][.16E4.0020.000A.1F11A][*02FC.0020.001F.1F11A] # PARENTHESIZED LATIN CAPITAL LETTER K
+1F1F0 ; [.16E4.0020.000A.1F1F0] # REGIONAL INDICATOR SYMBOL LETTER K
+1D40A ; [.16E4.0020.000B.1D40A] # MATHEMATICAL BOLD CAPITAL K
+1D43E ; [.16E4.0020.000B.1D43E] # MATHEMATICAL ITALIC CAPITAL K
+1D472 ; [.16E4.0020.000B.1D472] # MATHEMATICAL BOLD ITALIC CAPITAL K
+1D4A6 ; [.16E4.0020.000B.1D4A6] # MATHEMATICAL SCRIPT CAPITAL K
+1D4DA ; [.16E4.0020.000B.1D4DA] # MATHEMATICAL BOLD SCRIPT CAPITAL K
+1D50E ; [.16E4.0020.000B.1D50E] # MATHEMATICAL FRAKTUR CAPITAL K
+1D542 ; [.16E4.0020.000B.1D542] # MATHEMATICAL DOUBLE-STRUCK CAPITAL K
+1D576 ; [.16E4.0020.000B.1D576] # MATHEMATICAL BOLD FRAKTUR CAPITAL K
+1D5AA ; [.16E4.0020.000B.1D5AA] # MATHEMATICAL SANS-SERIF CAPITAL K
+1D5DE ; [.16E4.0020.000B.1D5DE] # MATHEMATICAL SANS-SERIF BOLD CAPITAL K
+1D612 ; [.16E4.0020.000B.1D612] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL K
+1D646 ; [.16E4.0020.000B.1D646] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K
+1D67A ; [.16E4.0020.000B.1D67A] # MATHEMATICAL MONOSPACE CAPITAL K
+24C0 ; [.16E4.0020.000C.24C0] # CIRCLED LATIN CAPITAL LETTER K
+1F15A ; [.16E4.0020.000C.1F15A] # NEGATIVE CIRCLED LATIN CAPITAL LETTER K
+1D4F ; [.16E4.0020.0014.1D4F] # MODIFIER LETTER SMALL K
+2096 ; [.16E4.0020.0015.2096] # LATIN SUBSCRIPT SMALL LETTER K
+1D37 ; [.16E4.0020.001D.1D37] # MODIFIER LETTER CAPITAL K
+1F13A ; [.16E4.0020.001D.1F13A] # SQUARED LATIN CAPITAL LETTER K
+1F17A ; [.16E4.0020.001D.1F17A] # NEGATIVE SQUARED LATIN CAPITAL LETTER K
+1E31 ; [.16E4.0020.0002.006B][.0000.0032.0002.0301] # LATIN SMALL LETTER K WITH ACUTE
+1E30 ; [.16E4.0020.0008.004B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER K WITH ACUTE
+01E9 ; [.16E4.0020.0002.006B][.0000.0041.0002.030C] # LATIN SMALL LETTER K WITH CARON
+01E8 ; [.16E4.0020.0008.004B][.0000.0041.0002.030C] # LATIN CAPITAL LETTER K WITH CARON
+0137 ; [.16E4.0020.0002.006B][.0000.0056.0002.0327] # LATIN SMALL LETTER K WITH CEDILLA
+0136 ; [.16E4.0020.0008.004B][.0000.0056.0002.0327] # LATIN CAPITAL LETTER K WITH CEDILLA
+A7A3 ; [.16E4.0020.0004.A7A3][.0000.0061.0004.A7A3] # LATIN SMALL LETTER K WITH OBLIQUE STROKE
+A7A2 ; [.16E4.0020.000A.A7A2][.0000.0061.0004.A7A2] # LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
+1E33 ; [.16E4.0020.0002.006B][.0000.0070.0002.0323] # LATIN SMALL LETTER K WITH DOT BELOW
+1E32 ; [.16E4.0020.0008.004B][.0000.0070.0002.0323] # LATIN CAPITAL LETTER K WITH DOT BELOW
+1E35 ; [.16E4.0020.0002.006B][.0000.007B.0002.0331] # LATIN SMALL LETTER K WITH LINE BELOW
+1E34 ; [.16E4.0020.0008.004B][.0000.007B.0002.0331] # LATIN CAPITAL LETTER K WITH LINE BELOW
+3384 ; [.16E4.0020.001C.3384][.15D4.0020.001D.3384] # SQUARE KA
+3385 ; [.16E4.0020.001D.3385][.15EA.0020.001D.3385] # SQUARE KB
+3389 ; [.16E4.0020.001C.3389][.1602.0020.001C.3389][.15D4.0020.001F.3389][.16F6.0020.001F.3389] # SQUARE KCAL
+338F ; [.16E4.0020.001C.338F][.1676.0020.001C.338F] # SQUARE KG
+3391 ; [.16E4.0020.001C.3391][.1699.0020.001D.3391][.187A.0020.001F.3391] # SQUARE KHZ
+33CD ; [.16E4.0020.001D.33CD][.16E4.0020.001D.33CD] # SQUARE KK
+3398 ; [.16E4.0020.001C.3398][.16F6.0020.001C.3398] # SQUARE KL
+339E ; [.16E4.0020.001C.339E][.1726.0020.001C.339E] # SQUARE KM
+33CE ; [.16E4.0020.001D.33CE][.1726.0020.001D.33CE] # SQUARE KM CAPITAL
+33A2 ; [.16E4.0020.001C.33A2][.1726.0020.001C.33A2][.15CC.0020.001F.33A2] # SQUARE KM SQUARED
+33A6 ; [.16E4.0020.001C.33A6][.1726.0020.001C.33A6][.15CD.0020.001F.33A6] # SQUARE KM CUBED
+33AA ; [.16E4.0020.001C.33AA][.177B.0020.001D.33AA][.15D4.0020.001F.33AA] # SQUARE KPA
+33CF ; [.16E4.0020.001C.33CF][.17FB.0020.001C.33CF] # SQUARE KT
+33B8 ; [.16E4.0020.001C.33B8][.1844.0020.001D.33B8] # SQUARE KV
+33BE ; [.16E4.0020.001C.33BE][.1856.0020.001D.33BE] # SQUARE KW
+33C0 ; [.16E4.0020.001C.33C0][.1936.0020.001D.33C0] # SQUARE K OHM
+1D0B ; [.16E8.0020.0002.1D0B] # LATIN LETTER SMALL CAPITAL K
+1D84 ; [.16E9.0020.0002.1D84] # LATIN SMALL LETTER K WITH PALATAL HOOK
+0199 ; [.16EA.0020.0002.0199] # LATIN SMALL LETTER K WITH HOOK
+0198 ; [.16EA.0020.0008.0198] # LATIN CAPITAL LETTER K WITH HOOK
+2C6A ; [.16EE.0020.0002.2C6A] # LATIN SMALL LETTER K WITH DESCENDER
+2C69 ; [.16EE.0020.0008.2C69] # LATIN CAPITAL LETTER K WITH DESCENDER
+A741 ; [.16EF.0020.0002.A741] # LATIN SMALL LETTER K WITH STROKE
+A740 ; [.16EF.0020.0008.A740] # LATIN CAPITAL LETTER K WITH STROKE
+A743 ; [.16F0.0020.0002.A743] # LATIN SMALL LETTER K WITH DIAGONAL STROKE
+A742 ; [.16F0.0020.0008.A742] # LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
+A745 ; [.16F1.0020.0002.A745] # LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
+A744 ; [.16F1.0020.0008.A744] # LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
+029E ; [.16F2.0020.0002.029E] # LATIN SMALL LETTER TURNED K
+006C ; [.16F6.0020.0002.006C] # LATIN SMALL LETTER L
+FF4C ; [.16F6.0020.0003.FF4C] # FULLWIDTH LATIN SMALL LETTER L
+1DDD ; [.16F6.0020.0004.1DDD] # COMBINING LATIN SMALL LETTER L
+217C ; [.16F6.0020.0004.217C] # SMALL ROMAN NUMERAL FIFTY
+24A7 ; [*02FB.0020.0004.24A7][.16F6.0020.0004.24A7][*02FC.0020.001F.24A7] # PARENTHESIZED LATIN SMALL LETTER L
+2113 ; [.16F6.0020.0005.2113] # SCRIPT SMALL L
+1D425 ; [.16F6.0020.0005.1D425] # MATHEMATICAL BOLD SMALL L
+1D459 ; [.16F6.0020.0005.1D459] # MATHEMATICAL ITALIC SMALL L
+1D48D ; [.16F6.0020.0005.1D48D] # MATHEMATICAL BOLD ITALIC SMALL L
+1D4C1 ; [.16F6.0020.0005.1D4C1] # MATHEMATICAL SCRIPT SMALL L
+1D4F5 ; [.16F6.0020.0005.1D4F5] # MATHEMATICAL BOLD SCRIPT SMALL L
+1D529 ; [.16F6.0020.0005.1D529] # MATHEMATICAL FRAKTUR SMALL L
+1D55D ; [.16F6.0020.0005.1D55D] # MATHEMATICAL DOUBLE-STRUCK SMALL L
+1D591 ; [.16F6.0020.0005.1D591] # MATHEMATICAL BOLD FRAKTUR SMALL L
+1D5C5 ; [.16F6.0020.0005.1D5C5] # MATHEMATICAL SANS-SERIF SMALL L
+1D5F9 ; [.16F6.0020.0005.1D5F9] # MATHEMATICAL SANS-SERIF BOLD SMALL L
+1D62D ; [.16F6.0020.0005.1D62D] # MATHEMATICAL SANS-SERIF ITALIC SMALL L
+1D661 ; [.16F6.0020.0005.1D661] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L
+1D695 ; [.16F6.0020.0005.1D695] # MATHEMATICAL MONOSPACE SMALL L
+24DB ; [.16F6.0020.0006.24DB] # CIRCLED LATIN SMALL LETTER L
+004C ; [.16F6.0020.0008.004C] # LATIN CAPITAL LETTER L
+FF2C ; [.16F6.0020.0009.FF2C] # FULLWIDTH LATIN CAPITAL LETTER L
+216C ; [.16F6.0020.000A.216C] # ROMAN NUMERAL FIFTY
+1F11B ; [*02FB.0020.0004.1F11B][.16F6.0020.000A.1F11B][*02FC.0020.001F.1F11B] # PARENTHESIZED LATIN CAPITAL LETTER L
+1F1F1 ; [.16F6.0020.000A.1F1F1] # REGIONAL INDICATOR SYMBOL LETTER L
+2112 ; [.16F6.0020.000B.2112] # SCRIPT CAPITAL L
+1D40B ; [.16F6.0020.000B.1D40B] # MATHEMATICAL BOLD CAPITAL L
+1D43F ; [.16F6.0020.000B.1D43F] # MATHEMATICAL ITALIC CAPITAL L
+1D473 ; [.16F6.0020.000B.1D473] # MATHEMATICAL BOLD ITALIC CAPITAL L
+1D4DB ; [.16F6.0020.000B.1D4DB] # MATHEMATICAL BOLD SCRIPT CAPITAL L
+1D50F ; [.16F6.0020.000B.1D50F] # MATHEMATICAL FRAKTUR CAPITAL L
+1D543 ; [.16F6.0020.000B.1D543] # MATHEMATICAL DOUBLE-STRUCK CAPITAL L
+1D577 ; [.16F6.0020.000B.1D577] # MATHEMATICAL BOLD FRAKTUR CAPITAL L
+1D5AB ; [.16F6.0020.000B.1D5AB] # MATHEMATICAL SANS-SERIF CAPITAL L
+1D5DF ; [.16F6.0020.000B.1D5DF] # MATHEMATICAL SANS-SERIF BOLD CAPITAL L
+1D613 ; [.16F6.0020.000B.1D613] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL L
+1D647 ; [.16F6.0020.000B.1D647] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L
+1D67B ; [.16F6.0020.000B.1D67B] # MATHEMATICAL MONOSPACE CAPITAL L
+24C1 ; [.16F6.0020.000C.24C1] # CIRCLED LATIN CAPITAL LETTER L
+1F15B ; [.16F6.0020.000C.1F15B] # NEGATIVE CIRCLED LATIN CAPITAL LETTER L
+02E1 ; [.16F6.0020.0014.02E1] # MODIFIER LETTER SMALL L
+2097 ; [.16F6.0020.0015.2097] # LATIN SUBSCRIPT SMALL LETTER L
+1D38 ; [.16F6.0020.001D.1D38] # MODIFIER LETTER CAPITAL L
+1F13B ; [.16F6.0020.001D.1F13B] # SQUARED LATIN CAPITAL LETTER L
+1F17B ; [.16F6.0020.001D.1F17B] # NEGATIVE SQUARED LATIN CAPITAL LETTER L
+013A ; [.16F6.0020.0002.006C][.0000.0032.0002.0301] # LATIN SMALL LETTER L WITH ACUTE
+0139 ; [.16F6.0020.0008.004C][.0000.0032.0002.0301] # LATIN CAPITAL LETTER L WITH ACUTE
+013E ; [.16F6.0020.0002.006C][.0000.0041.0002.030C] # LATIN SMALL LETTER L WITH CARON
+013D ; [.16F6.0020.0008.004C][.0000.0041.0002.030C] # LATIN CAPITAL LETTER L WITH CARON
+013C ; [.16F6.0020.0002.006C][.0000.0056.0002.0327] # LATIN SMALL LETTER L WITH CEDILLA
+013B ; [.16F6.0020.0008.004C][.0000.0056.0002.0327] # LATIN CAPITAL LETTER L WITH CEDILLA
+1E37 ; [.16F6.0020.0002.006C][.0000.0070.0002.0323] # LATIN SMALL LETTER L WITH DOT BELOW
+1E36 ; [.16F6.0020.0008.004C][.0000.0070.0002.0323] # LATIN CAPITAL LETTER L WITH DOT BELOW
+1E39 ; [.16F6.0020.0002.006C][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
+1E38 ; [.16F6.0020.0008.004C][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
+1E3D ; [.16F6.0020.0002.006C][.0000.0078.0002.032D] # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
+1E3C ; [.16F6.0020.0008.004C][.0000.0078.0002.032D] # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
+1E3B ; [.16F6.0020.0002.006C][.0000.007B.0002.0331] # LATIN SMALL LETTER L WITH LINE BELOW
+1E3A ; [.16F6.0020.0008.004C][.0000.007B.0002.0331] # LATIN CAPITAL LETTER L WITH LINE BELOW
+0142 ; [.16F6.0020.0002.006C][.0000.007D.0002.0335] # LATIN SMALL LETTER L WITH STROKE
+0141 ; [.16F6.0020.0008.004C][.0000.007D.0002.0335] # LATIN CAPITAL LETTER L WITH STROKE
+0140 ; [.16F6.0020.0002.0140][.0000.0139.0002.0140] # LATIN SMALL LETTER L WITH MIDDLE DOT
+006C 00B7 ; [.16F6.0020.0002.0140][.0000.0139.0002.0140] # LATIN SMALL LETTER L WITH MIDDLE DOT
+006C 0387 ; [.16F6.0020.0002.0140][.0000.0139.0002.0140] # LATIN SMALL LETTER L WITH MIDDLE DOT
+013F ; [.16F6.0020.0008.013F][.0000.0139.0002.013F] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
+004C 00B7 ; [.16F6.0020.0008.013F][.0000.0139.0002.013F] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
+004C 0387 ; [.16F6.0020.0008.013F][.0000.0139.0002.013F] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
+01C9 ; [.16F6.0020.0004.01C9][.16CB.0020.0004.01C9] # LATIN SMALL LETTER LJ
+01C8 ; [.16F6.0020.000A.01C8][.16CB.0020.0004.01C8] # LATIN CAPITAL LETTER L WITH SMALL LETTER J
+01C7 ; [.16F6.0020.000A.01C7][.16CB.0020.000A.01C7] # LATIN CAPITAL LETTER LJ
+1EFB ; [.16F6.0020.0004.1EFB][.16F6.0020.0004.1EFB] # LATIN SMALL LETTER MIDDLE-WELSH LL
+1EFA ; [.16F6.0020.000A.1EFA][.16F6.0020.000A.1EFA] # LATIN CAPITAL LETTER MIDDLE-WELSH LL
+33D0 ; [.16F6.0020.001C.33D0][.1726.0020.001C.33D0] # SQUARE LM
+33D1 ; [.16F6.0020.001C.33D1][.1734.0020.001C.33D1] # SQUARE LN
+33D2 ; [.16F6.0020.001C.33D2][.1756.0020.001C.33D2][.1676.0020.001F.33D2] # SQUARE LOG
+02AA ; [.16F6.0020.0004.02AA][.17D8.0020.0004.02AA] # LATIN SMALL LETTER LS DIGRAPH
+32CF ; [.16F6.0020.001D.32CF][.17FB.0020.001D.32CF][.1616.0020.001F.32CF] # LIMITED LIABILITY SIGN
+33D3 ; [.16F6.0020.001C.33D3][.1860.0020.001C.33D3] # SQUARE LX
+02AB ; [.16F6.0020.0004.02AB][.187A.0020.0004.02AB] # LATIN SMALL LETTER LZ DIGRAPH
+029F ; [.16FA.0020.0002.029F] # LATIN LETTER SMALL CAPITAL L
+1DDE ; [.16FA.0020.0004.1DDE] # COMBINING LATIN LETTER SMALL CAPITAL L
+1DAB ; [.16FA.0020.0014.1DAB] # MODIFIER LETTER SMALL CAPITAL L
+A747 ; [.16FE.0020.0002.A747] # LATIN SMALL LETTER BROKEN L
+A746 ; [.16FE.0020.0008.A746] # LATIN CAPITAL LETTER BROKEN L
+1D0C ; [.16FF.0020.0002.1D0C] # LATIN LETTER SMALL CAPITAL L WITH STROKE
+A749 ; [.1700.0020.0002.A749] # LATIN SMALL LETTER L WITH HIGH STROKE
+A748 ; [.1700.0020.0008.A748] # LATIN CAPITAL LETTER L WITH HIGH STROKE
+019A ; [.1701.0020.0002.019A] # LATIN SMALL LETTER L WITH BAR
+023D ; [.1701.0020.0008.023D] # LATIN CAPITAL LETTER L WITH BAR
+2C61 ; [.1705.0020.0002.2C61] # LATIN SMALL LETTER L WITH DOUBLE BAR
+2C60 ; [.1705.0020.0008.2C60] # LATIN CAPITAL LETTER L WITH DOUBLE BAR
+026B ; [.1706.0020.0002.026B] # LATIN SMALL LETTER L WITH MIDDLE TILDE
+2C62 ; [.1706.0020.0008.2C62] # LATIN CAPITAL LETTER L WITH MIDDLE TILDE
+026C ; [.170A.0020.0002.026C] # LATIN SMALL LETTER L WITH BELT
+1D85 ; [.170E.0020.0002.1D85] # LATIN SMALL LETTER L WITH PALATAL HOOK
+1DAA ; [.170E.0020.0014.1DAA] # MODIFIER LETTER SMALL L WITH PALATAL HOOK
+026D ; [.170F.0020.0002.026D] # LATIN SMALL LETTER L WITH RETROFLEX HOOK
+1DA9 ; [.170F.0020.0014.1DA9] # MODIFIER LETTER SMALL L WITH RETROFLEX HOOK
+A78E ; [.1713.0020.0002.A78E] # LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+0234 ; [.1714.0020.0002.0234] # LATIN SMALL LETTER L WITH CURL
+A772 ; [.1718.0020.0002.A772] # LATIN SMALL LETTER LUM
+026E ; [.1719.0020.0002.026E] # LATIN SMALL LETTER LEZH
+A781 ; [.171D.0020.0002.A781] # LATIN SMALL LETTER TURNED L
+A780 ; [.171D.0020.0008.A780] # LATIN CAPITAL LETTER TURNED L
+019B ; [.171E.0020.0002.019B] # LATIN SMALL LETTER LAMBDA WITH STROKE
+028E ; [.1722.0020.0002.028E] # LATIN SMALL LETTER TURNED Y
+006D ; [.1726.0020.0002.006D] # LATIN SMALL LETTER M
+FF4D ; [.1726.0020.0003.FF4D] # FULLWIDTH LATIN SMALL LETTER M
+036B ; [.1726.0020.0004.036B] # COMBINING LATIN SMALL LETTER M
+217F ; [.1726.0020.0004.217F] # SMALL ROMAN NUMERAL ONE THOUSAND
+24A8 ; [*02FB.0020.0004.24A8][.1726.0020.0004.24A8][*02FC.0020.001F.24A8] # PARENTHESIZED LATIN SMALL LETTER M
+1D426 ; [.1726.0020.0005.1D426] # MATHEMATICAL BOLD SMALL M
+1D45A ; [.1726.0020.0005.1D45A] # MATHEMATICAL ITALIC SMALL M
+1D48E ; [.1726.0020.0005.1D48E] # MATHEMATICAL BOLD ITALIC SMALL M
+1D4C2 ; [.1726.0020.0005.1D4C2] # MATHEMATICAL SCRIPT SMALL M
+1D4F6 ; [.1726.0020.0005.1D4F6] # MATHEMATICAL BOLD SCRIPT SMALL M
+1D52A ; [.1726.0020.0005.1D52A] # MATHEMATICAL FRAKTUR SMALL M
+1D55E ; [.1726.0020.0005.1D55E] # MATHEMATICAL DOUBLE-STRUCK SMALL M
+1D592 ; [.1726.0020.0005.1D592] # MATHEMATICAL BOLD FRAKTUR SMALL M
+1D5C6 ; [.1726.0020.0005.1D5C6] # MATHEMATICAL SANS-SERIF SMALL M
+1D5FA ; [.1726.0020.0005.1D5FA] # MATHEMATICAL SANS-SERIF BOLD SMALL M
+1D62E ; [.1726.0020.0005.1D62E] # MATHEMATICAL SANS-SERIF ITALIC SMALL M
+1D662 ; [.1726.0020.0005.1D662] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M
+1D696 ; [.1726.0020.0005.1D696] # MATHEMATICAL MONOSPACE SMALL M
+24DC ; [.1726.0020.0006.24DC] # CIRCLED LATIN SMALL LETTER M
+004D ; [.1726.0020.0008.004D] # LATIN CAPITAL LETTER M
+FF2D ; [.1726.0020.0009.FF2D] # FULLWIDTH LATIN CAPITAL LETTER M
+216F ; [.1726.0020.000A.216F] # ROMAN NUMERAL ONE THOUSAND
+1F11C ; [*02FB.0020.0004.1F11C][.1726.0020.000A.1F11C][*02FC.0020.001F.1F11C] # PARENTHESIZED LATIN CAPITAL LETTER M
+1F1F2 ; [.1726.0020.000A.1F1F2] # REGIONAL INDICATOR SYMBOL LETTER M
+2133 ; [.1726.0020.000B.2133] # SCRIPT CAPITAL M
+1D40C ; [.1726.0020.000B.1D40C] # MATHEMATICAL BOLD CAPITAL M
+1D440 ; [.1726.0020.000B.1D440] # MATHEMATICAL ITALIC CAPITAL M
+1D474 ; [.1726.0020.000B.1D474] # MATHEMATICAL BOLD ITALIC CAPITAL M
+1D4DC ; [.1726.0020.000B.1D4DC] # MATHEMATICAL BOLD SCRIPT CAPITAL M
+1D510 ; [.1726.0020.000B.1D510] # MATHEMATICAL FRAKTUR CAPITAL M
+1D544 ; [.1726.0020.000B.1D544] # MATHEMATICAL DOUBLE-STRUCK CAPITAL M
+1D578 ; [.1726.0020.000B.1D578] # MATHEMATICAL BOLD FRAKTUR CAPITAL M
+1D5AC ; [.1726.0020.000B.1D5AC] # MATHEMATICAL SANS-SERIF CAPITAL M
+1D5E0 ; [.1726.0020.000B.1D5E0] # MATHEMATICAL SANS-SERIF BOLD CAPITAL M
+1D614 ; [.1726.0020.000B.1D614] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL M
+1D648 ; [.1726.0020.000B.1D648] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M
+1D67C ; [.1726.0020.000B.1D67C] # MATHEMATICAL MONOSPACE CAPITAL M
+24C2 ; [.1726.0020.000C.24C2] # CIRCLED LATIN CAPITAL LETTER M
+1F15C ; [.1726.0020.000C.1F15C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER M
+1D50 ; [.1726.0020.0014.1D50] # MODIFIER LETTER SMALL M
+2098 ; [.1726.0020.0015.2098] # LATIN SUBSCRIPT SMALL LETTER M
+1D39 ; [.1726.0020.001D.1D39] # MODIFIER LETTER CAPITAL M
+1F13C ; [.1726.0020.001D.1F13C] # SQUARED LATIN CAPITAL LETTER M
+1F17C ; [.1726.0020.001D.1F17C] # NEGATIVE SQUARED LATIN CAPITAL LETTER M
+1E3F ; [.1726.0020.0002.006D][.0000.0032.0002.0301] # LATIN SMALL LETTER M WITH ACUTE
+1E3E ; [.1726.0020.0008.004D][.0000.0032.0002.0301] # LATIN CAPITAL LETTER M WITH ACUTE
+1E41 ; [.1726.0020.0002.006D][.0000.0052.0002.0307] # LATIN SMALL LETTER M WITH DOT ABOVE
+1E40 ; [.1726.0020.0008.004D][.0000.0052.0002.0307] # LATIN CAPITAL LETTER M WITH DOT ABOVE
+1E43 ; [.1726.0020.0002.006D][.0000.0070.0002.0323] # LATIN SMALL LETTER M WITH DOT BELOW
+1E42 ; [.1726.0020.0008.004D][.0000.0070.0002.0323] # LATIN CAPITAL LETTER M WITH DOT BELOW
+33A1 ; [.1726.0020.001C.33A1][.15CC.0020.001C.33A1] # SQUARE M SQUARED
+33A5 ; [.1726.0020.001C.33A5][.15CD.0020.001C.33A5] # SQUARE M CUBED
+3383 ; [.1726.0020.001C.3383][.15D4.0020.001D.3383] # SQUARE MA
+33D4 ; [.1726.0020.001C.33D4][.15EA.0020.001C.33D4] # SQUARE MB SMALL
+3386 ; [.1726.0020.001D.3386][.15EA.0020.001D.3386] # SQUARE MB
+1F16A ; [.1726.0020.0014.1F16A][.1602.0020.0014.1F16A] # RAISED MC SIGN
+1F16B ; [.1726.0020.0014.1F16B][.1616.0020.0014.1F16B] # RAISED MD SIGN
+338E ; [.1726.0020.001C.338E][.1676.0020.001C.338E] # SQUARE MG
+3392 ; [.1726.0020.001D.3392][.1699.0020.001D.3392][.187A.0020.001F.3392] # SQUARE MHZ
+33D5 ; [.1726.0020.001C.33D5][.16B2.0020.001C.33D5][.16F6.0020.001F.33D5] # SQUARE MIL
+3396 ; [.1726.0020.001C.3396][.16F6.0020.001C.3396] # SQUARE ML
+339C ; [.1726.0020.001C.339C][.1726.0020.001C.339C] # SQUARE MM
+339F ; [.1726.0020.001C.339F][.1726.0020.001C.339F][.15CC.0020.001F.339F] # SQUARE MM SQUARED
+33A3 ; [.1726.0020.001C.33A3][.1726.0020.001C.33A3][.15CD.0020.001F.33A3] # SQUARE MM CUBED
+33D6 ; [.1726.0020.001C.33D6][.1756.0020.001C.33D6][.16F6.0020.001F.33D6] # SQUARE MOL
+33AB ; [.1726.0020.001D.33AB][.177B.0020.001D.33AB][.15D4.0020.001F.33AB] # SQUARE MPA
+33B3 ; [.1726.0020.001C.33B3][.17D8.0020.001C.33B3] # SQUARE MS
+33A7 ; [.1726.0020.001C.33A7][*05AB.0020.001C.33A7][.17D8.0020.001F.33A7] # SQUARE M OVER S
+33A8 ; [.1726.0020.001C.33A8][*05AB.0020.001C.33A8][.17D8.0020.001F.33A8][.15CC.0020.001F.33A8] # SQUARE M OVER S SQUARED
+33B7 ; [.1726.0020.001C.33B7][.1844.0020.001D.33B7] # SQUARE MV
+33B9 ; [.1726.0020.001D.33B9][.1844.0020.001D.33B9] # SQUARE MV MEGA
+1F14B ; [.1726.0020.001D.1F14B][.1844.0020.001D.1F14B] # SQUARED MV
+33BD ; [.1726.0020.001C.33BD][.1856.0020.001D.33BD] # SQUARE MW
+33BF ; [.1726.0020.001D.33BF][.1856.0020.001D.33BF] # SQUARE MW MEGA
+33C1 ; [.1726.0020.001D.33C1][.1936.0020.001D.33C1] # SQUARE M OHM
+1D0D ; [.172A.0020.0002.1D0D] # LATIN LETTER SMALL CAPITAL M
+1DDF ; [.172A.0020.0004.1DDF] # COMBINING LATIN LETTER SMALL CAPITAL M
+1D6F ; [.172B.0020.0002.1D6F] # LATIN SMALL LETTER M WITH MIDDLE TILDE
+1D86 ; [.172C.0020.0002.1D86] # LATIN SMALL LETTER M WITH PALATAL HOOK
+0271 ; [.172D.0020.0002.0271] # LATIN SMALL LETTER M WITH HOOK
+2C6E ; [.172D.0020.0008.2C6E] # LATIN CAPITAL LETTER M WITH HOOK
+1DAC ; [.172D.0020.0014.1DAC] # MODIFIER LETTER SMALL M WITH HOOK
+A7FD ; [.1731.0020.0002.A7FD] # LATIN EPIGRAPHIC LETTER INVERTED M
+A7FF ; [.1732.0020.0002.A7FF] # LATIN EPIGRAPHIC LETTER ARCHAIC M
+A773 ; [.1733.0020.0002.A773] # LATIN SMALL LETTER MUM
+006E ; [.1734.0020.0002.006E] # LATIN SMALL LETTER N
+FF4E ; [.1734.0020.0003.FF4E] # FULLWIDTH LATIN SMALL LETTER N
+1DE0 ; [.1734.0020.0004.1DE0] # COMBINING LATIN SMALL LETTER N
+24A9 ; [*02FB.0020.0004.24A9][.1734.0020.0004.24A9][*02FC.0020.001F.24A9] # PARENTHESIZED LATIN SMALL LETTER N
+1D427 ; [.1734.0020.0005.1D427] # MATHEMATICAL BOLD SMALL N
+1D45B ; [.1734.0020.0005.1D45B] # MATHEMATICAL ITALIC SMALL N
+1D48F ; [.1734.0020.0005.1D48F] # MATHEMATICAL BOLD ITALIC SMALL N
+1D4C3 ; [.1734.0020.0005.1D4C3] # MATHEMATICAL SCRIPT SMALL N
+1D4F7 ; [.1734.0020.0005.1D4F7] # MATHEMATICAL BOLD SCRIPT SMALL N
+1D52B ; [.1734.0020.0005.1D52B] # MATHEMATICAL FRAKTUR SMALL N
+1D55F ; [.1734.0020.0005.1D55F] # MATHEMATICAL DOUBLE-STRUCK SMALL N
+1D593 ; [.1734.0020.0005.1D593] # MATHEMATICAL BOLD FRAKTUR SMALL N
+1D5C7 ; [.1734.0020.0005.1D5C7] # MATHEMATICAL SANS-SERIF SMALL N
+1D5FB ; [.1734.0020.0005.1D5FB] # MATHEMATICAL SANS-SERIF BOLD SMALL N
+1D62F ; [.1734.0020.0005.1D62F] # MATHEMATICAL SANS-SERIF ITALIC SMALL N
+1D663 ; [.1734.0020.0005.1D663] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N
+1D697 ; [.1734.0020.0005.1D697] # MATHEMATICAL MONOSPACE SMALL N
+24DD ; [.1734.0020.0006.24DD] # CIRCLED LATIN SMALL LETTER N
+004E ; [.1734.0020.0008.004E] # LATIN CAPITAL LETTER N
+FF2E ; [.1734.0020.0009.FF2E] # FULLWIDTH LATIN CAPITAL LETTER N
+1F11D ; [*02FB.0020.0004.1F11D][.1734.0020.000A.1F11D][*02FC.0020.001F.1F11D] # PARENTHESIZED LATIN CAPITAL LETTER N
+1F1F3 ; [.1734.0020.000A.1F1F3] # REGIONAL INDICATOR SYMBOL LETTER N
+2115 ; [.1734.0020.000B.2115] # DOUBLE-STRUCK CAPITAL N
+1D40D ; [.1734.0020.000B.1D40D] # MATHEMATICAL BOLD CAPITAL N
+1D441 ; [.1734.0020.000B.1D441] # MATHEMATICAL ITALIC CAPITAL N
+1D475 ; [.1734.0020.000B.1D475] # MATHEMATICAL BOLD ITALIC CAPITAL N
+1D4A9 ; [.1734.0020.000B.1D4A9] # MATHEMATICAL SCRIPT CAPITAL N
+1D4DD ; [.1734.0020.000B.1D4DD] # MATHEMATICAL BOLD SCRIPT CAPITAL N
+1D511 ; [.1734.0020.000B.1D511] # MATHEMATICAL FRAKTUR CAPITAL N
+1D579 ; [.1734.0020.000B.1D579] # MATHEMATICAL BOLD FRAKTUR CAPITAL N
+1D5AD ; [.1734.0020.000B.1D5AD] # MATHEMATICAL SANS-SERIF CAPITAL N
+1D5E1 ; [.1734.0020.000B.1D5E1] # MATHEMATICAL SANS-SERIF BOLD CAPITAL N
+1D615 ; [.1734.0020.000B.1D615] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL N
+1D649 ; [.1734.0020.000B.1D649] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N
+1D67D ; [.1734.0020.000B.1D67D] # MATHEMATICAL MONOSPACE CAPITAL N
+24C3 ; [.1734.0020.000C.24C3] # CIRCLED LATIN CAPITAL LETTER N
+1F15D ; [.1734.0020.000C.1F15D] # NEGATIVE CIRCLED LATIN CAPITAL LETTER N
+207F ; [.1734.0020.0014.207F] # SUPERSCRIPT LATIN SMALL LETTER N
+2099 ; [.1734.0020.0015.2099] # LATIN SUBSCRIPT SMALL LETTER N
+1D3A ; [.1734.0020.001D.1D3A] # MODIFIER LETTER CAPITAL N
+1F13D ; [.1734.0020.001D.1F13D] # SQUARED LATIN CAPITAL LETTER N
+1F17D ; [.1734.0020.001D.1F17D] # NEGATIVE SQUARED LATIN CAPITAL LETTER N
+0144 ; [.1734.0020.0002.006E][.0000.0032.0002.0301] # LATIN SMALL LETTER N WITH ACUTE
+0143 ; [.1734.0020.0008.004E][.0000.0032.0002.0301] # LATIN CAPITAL LETTER N WITH ACUTE
+01F9 ; [.1734.0020.0002.006E][.0000.0035.0002.0300] # LATIN SMALL LETTER N WITH GRAVE
+01F8 ; [.1734.0020.0008.004E][.0000.0035.0002.0300] # LATIN CAPITAL LETTER N WITH GRAVE
+0148 ; [.1734.0020.0002.006E][.0000.0041.0002.030C] # LATIN SMALL LETTER N WITH CARON
+0147 ; [.1734.0020.0008.004E][.0000.0041.0002.030C] # LATIN CAPITAL LETTER N WITH CARON
+00F1 ; [.1734.0020.0002.006E][.0000.004E.0002.0303] # LATIN SMALL LETTER N WITH TILDE
+00D1 ; [.1734.0020.0008.004E][.0000.004E.0002.0303] # LATIN CAPITAL LETTER N WITH TILDE
+1E45 ; [.1734.0020.0002.006E][.0000.0052.0002.0307] # LATIN SMALL LETTER N WITH DOT ABOVE
+1E44 ; [.1734.0020.0008.004E][.0000.0052.0002.0307] # LATIN CAPITAL LETTER N WITH DOT ABOVE
+0146 ; [.1734.0020.0002.006E][.0000.0056.0002.0327] # LATIN SMALL LETTER N WITH CEDILLA
+0145 ; [.1734.0020.0008.004E][.0000.0056.0002.0327] # LATIN CAPITAL LETTER N WITH CEDILLA
+A7A5 ; [.1734.0020.0004.A7A5][.0000.0061.0004.A7A5] # LATIN SMALL LETTER N WITH OBLIQUE STROKE
+A7A4 ; [.1734.0020.000A.A7A4][.0000.0061.0004.A7A4] # LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
+1E47 ; [.1734.0020.0002.006E][.0000.0070.0002.0323] # LATIN SMALL LETTER N WITH DOT BELOW
+1E46 ; [.1734.0020.0008.004E][.0000.0070.0002.0323] # LATIN CAPITAL LETTER N WITH DOT BELOW
+1E4B ; [.1734.0020.0002.006E][.0000.0078.0002.032D] # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
+1E4A ; [.1734.0020.0008.004E][.0000.0078.0002.032D] # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
+1E49 ; [.1734.0020.0002.006E][.0000.007B.0002.0331] # LATIN SMALL LETTER N WITH LINE BELOW
+1E48 ; [.1734.0020.0008.004E][.0000.007B.0002.0331] # LATIN CAPITAL LETTER N WITH LINE BELOW
+3381 ; [.1734.0020.001C.3381][.15D4.0020.001D.3381] # SQUARE NA
+1F195 ; [.1734.0020.001D.1F195][.1631.0020.001D.1F195][.1856.0020.001F.1F195] # SQUARED NEW
+338B ; [.1734.0020.001C.338B][.1669.0020.001D.338B] # SQUARE NF
+1F196 ; [.1734.0020.001D.1F196][.1676.0020.001D.1F196] # SQUARED NG
+01CC ; [.1734.0020.0004.01CC][.16CB.0020.0004.01CC] # LATIN SMALL LETTER NJ
+01CB ; [.1734.0020.000A.01CB][.16CB.0020.0004.01CB] # LATIN CAPITAL LETTER N WITH SMALL LETTER J
+01CA ; [.1734.0020.000A.01CA][.16CB.0020.000A.01CA] # LATIN CAPITAL LETTER NJ
+339A ; [.1734.0020.001C.339A][.1726.0020.001C.339A] # SQUARE NM
+2116 ; [.1734.0020.000A.2116][.1756.0020.0004.2116] # NUMERO SIGN
+33B1 ; [.1734.0020.001C.33B1][.17D8.0020.001C.33B1] # SQUARE NS
+33B5 ; [.1734.0020.001C.33B5][.1844.0020.001D.33B5] # SQUARE NV
+33BB ; [.1734.0020.001C.33BB][.1856.0020.001D.33BB] # SQUARE NW
+0274 ; [.1738.0020.0002.0274] # LATIN LETTER SMALL CAPITAL N
+1DE1 ; [.1738.0020.0004.1DE1] # COMBINING LATIN LETTER SMALL CAPITAL N
+1DB0 ; [.1738.0020.0014.1DB0] # MODIFIER LETTER SMALL CAPITAL N
+1D3B ; [.173C.0020.0002.1D3B] # MODIFIER LETTER CAPITAL REVERSED N
+1D0E ; [.173D.0020.0002.1D0E] # LATIN LETTER SMALL CAPITAL REVERSED N
+1D70 ; [.173E.0020.0002.1D70] # LATIN SMALL LETTER N WITH MIDDLE TILDE
+0272 ; [.173F.0020.0002.0272] # LATIN SMALL LETTER N WITH LEFT HOOK
+019D ; [.173F.0020.0008.019D] # LATIN CAPITAL LETTER N WITH LEFT HOOK
+1DAE ; [.173F.0020.0014.1DAE] # MODIFIER LETTER SMALL N WITH LEFT HOOK
+019E ; [.1743.0020.0002.019E] # LATIN SMALL LETTER N WITH LONG RIGHT LEG
+0220 ; [.1743.0020.0008.0220] # LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
+A791 ; [.1747.0020.0002.A791] # LATIN SMALL LETTER N WITH DESCENDER
+A790 ; [.1747.0020.0008.A790] # LATIN CAPITAL LETTER N WITH DESCENDER
+1D87 ; [.1748.0020.0002.1D87] # LATIN SMALL LETTER N WITH PALATAL HOOK
+0273 ; [.1749.0020.0002.0273] # LATIN SMALL LETTER N WITH RETROFLEX HOOK
+1DAF ; [.1749.0020.0014.1DAF] # MODIFIER LETTER SMALL N WITH RETROFLEX HOOK
+0235 ; [.174D.0020.0002.0235] # LATIN SMALL LETTER N WITH CURL
+A774 ; [.1751.0020.0002.A774] # LATIN SMALL LETTER NUM
+014B ; [.1752.0020.0002.014B] # LATIN SMALL LETTER ENG
+014A ; [.1752.0020.0008.014A] # LATIN CAPITAL LETTER ENG
+1D51 ; [.1752.0020.0014.1D51] # MODIFIER LETTER SMALL ENG
+006F ; [.1756.0020.0002.006F] # LATIN SMALL LETTER O
+FF4F ; [.1756.0020.0003.FF4F] # FULLWIDTH LATIN SMALL LETTER O
+0366 ; [.1756.0020.0004.0366] # COMBINING LATIN SMALL LETTER O
+24AA ; [*02FB.0020.0004.24AA][.1756.0020.0004.24AA][*02FC.0020.001F.24AA] # PARENTHESIZED LATIN SMALL LETTER O
+2134 ; [.1756.0020.0005.2134] # SCRIPT SMALL O
+1D428 ; [.1756.0020.0005.1D428] # MATHEMATICAL BOLD SMALL O
+1D45C ; [.1756.0020.0005.1D45C] # MATHEMATICAL ITALIC SMALL O
+1D490 ; [.1756.0020.0005.1D490] # MATHEMATICAL BOLD ITALIC SMALL O
+1D4F8 ; [.1756.0020.0005.1D4F8] # MATHEMATICAL BOLD SCRIPT SMALL O
+1D52C ; [.1756.0020.0005.1D52C] # MATHEMATICAL FRAKTUR SMALL O
+1D560 ; [.1756.0020.0005.1D560] # MATHEMATICAL DOUBLE-STRUCK SMALL O
+1D594 ; [.1756.0020.0005.1D594] # MATHEMATICAL BOLD FRAKTUR SMALL O
+1D5C8 ; [.1756.0020.0005.1D5C8] # MATHEMATICAL SANS-SERIF SMALL O
+1D5FC ; [.1756.0020.0005.1D5FC] # MATHEMATICAL SANS-SERIF BOLD SMALL O
+1D630 ; [.1756.0020.0005.1D630] # MATHEMATICAL SANS-SERIF ITALIC SMALL O
+1D664 ; [.1756.0020.0005.1D664] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O
+1D698 ; [.1756.0020.0005.1D698] # MATHEMATICAL MONOSPACE SMALL O
+24DE ; [.1756.0020.0006.24DE] # CIRCLED LATIN SMALL LETTER O
+004F ; [.1756.0020.0008.004F] # LATIN CAPITAL LETTER O
+FF2F ; [.1756.0020.0009.FF2F] # FULLWIDTH LATIN CAPITAL LETTER O
+1F11E ; [*02FB.0020.0004.1F11E][.1756.0020.000A.1F11E][*02FC.0020.001F.1F11E] # PARENTHESIZED LATIN CAPITAL LETTER O
+1F1F4 ; [.1756.0020.000A.1F1F4] # REGIONAL INDICATOR SYMBOL LETTER O
+1D40E ; [.1756.0020.000B.1D40E] # MATHEMATICAL BOLD CAPITAL O
+1D442 ; [.1756.0020.000B.1D442] # MATHEMATICAL ITALIC CAPITAL O
+1D476 ; [.1756.0020.000B.1D476] # MATHEMATICAL BOLD ITALIC CAPITAL O
+1D4AA ; [.1756.0020.000B.1D4AA] # MATHEMATICAL SCRIPT CAPITAL O
+1D4DE ; [.1756.0020.000B.1D4DE] # MATHEMATICAL BOLD SCRIPT CAPITAL O
+1D512 ; [.1756.0020.000B.1D512] # MATHEMATICAL FRAKTUR CAPITAL O
+1D546 ; [.1756.0020.000B.1D546] # MATHEMATICAL DOUBLE-STRUCK CAPITAL O
+1D57A ; [.1756.0020.000B.1D57A] # MATHEMATICAL BOLD FRAKTUR CAPITAL O
+1D5AE ; [.1756.0020.000B.1D5AE] # MATHEMATICAL SANS-SERIF CAPITAL O
+1D5E2 ; [.1756.0020.000B.1D5E2] # MATHEMATICAL SANS-SERIF BOLD CAPITAL O
+1D616 ; [.1756.0020.000B.1D616] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL O
+1D64A ; [.1756.0020.000B.1D64A] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O
+1D67E ; [.1756.0020.000B.1D67E] # MATHEMATICAL MONOSPACE CAPITAL O
+24C4 ; [.1756.0020.000C.24C4] # CIRCLED LATIN CAPITAL LETTER O
+1F15E ; [.1756.0020.000C.1F15E] # NEGATIVE CIRCLED LATIN CAPITAL LETTER O
+00BA ; [.1756.0020.0014.00BA] # MASCULINE ORDINAL INDICATOR
+1D52 ; [.1756.0020.0014.1D52] # MODIFIER LETTER SMALL O
+2092 ; [.1756.0020.0015.2092] # LATIN SUBSCRIPT SMALL LETTER O
+1D3C ; [.1756.0020.001D.1D3C] # MODIFIER LETTER CAPITAL O
+1F13E ; [.1756.0020.001D.1F13E] # SQUARED LATIN CAPITAL LETTER O
+1F17E ; [.1756.0020.001D.1F17E] # NEGATIVE SQUARED LATIN CAPITAL LETTER O
+00F3 ; [.1756.0020.0002.006F][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH ACUTE
+00D3 ; [.1756.0020.0008.004F][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH ACUTE
+00F2 ; [.1756.0020.0002.006F][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH GRAVE
+00D2 ; [.1756.0020.0008.004F][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH GRAVE
+014F ; [.1756.0020.0002.006F][.0000.0037.0002.0306] # LATIN SMALL LETTER O WITH BREVE
+014E ; [.1756.0020.0008.004F][.0000.0037.0002.0306] # LATIN CAPITAL LETTER O WITH BREVE
+00F4 ; [.1756.0020.0002.006F][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4 ; [.1756.0020.0008.004F][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED1 ; [.1756.0020.0002.006F][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0 ; [.1756.0020.0008.004F][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED3 ; [.1756.0020.0002.006F][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2 ; [.1756.0020.0008.004F][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED7 ; [.1756.0020.0002.006F][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6 ; [.1756.0020.0008.004F][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5 ; [.1756.0020.0002.006F][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4 ; [.1756.0020.0008.004F][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+01D2 ; [.1756.0020.0002.006F][.0000.0041.0002.030C] # LATIN SMALL LETTER O WITH CARON
+01D1 ; [.1756.0020.0008.004F][.0000.0041.0002.030C] # LATIN CAPITAL LETTER O WITH CARON
+00F6 ; [.1756.0020.0002.006F][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6 ; [.1756.0020.0008.004F][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B ; [.1756.0020.0002.006F][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A ; [.1756.0020.0008.004F][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151 ; [.1756.0020.0002.006F][.0000.004D.0002.030B] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150 ; [.1756.0020.0008.004F][.0000.004D.0002.030B] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+00F5 ; [.1756.0020.0002.006F][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH TILDE
+00D5 ; [.1756.0020.0008.004F][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH TILDE
+1E4D ; [.1756.0020.0002.006F][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
+1E4C ; [.1756.0020.0008.004F][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+1E4F ; [.1756.0020.0002.006F][.0000.004E.0002.0303][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+1E4E ; [.1756.0020.0008.004F][.0000.004E.0002.0303][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+022D ; [.1756.0020.0002.006F][.0000.004E.0002.0303][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON
+022C ; [.1756.0020.0008.004F][.0000.004E.0002.0303][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+022F ; [.1756.0020.0002.006F][.0000.0052.0002.0307] # LATIN SMALL LETTER O WITH DOT ABOVE
+022E ; [.1756.0020.0008.004F][.0000.0052.0002.0307] # LATIN CAPITAL LETTER O WITH DOT ABOVE
+0231 ; [.1756.0020.0002.006F][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
+0230 ; [.1756.0020.0008.004F][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
+00F8 ; [.1756.0020.0002.006F][.0000.0054.0002.0338] # LATIN SMALL LETTER O WITH STROKE
+00D8 ; [.1756.0020.0008.004F][.0000.0054.0002.0338] # LATIN CAPITAL LETTER O WITH STROKE
+01FF ; [.1756.0020.0002.006F][.0000.0054.0002.0338][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE ; [.1756.0020.0008.004F][.0000.0054.0002.0338][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+01EB ; [.1756.0020.0002.006F][.0000.0059.0002.0328] # LATIN SMALL LETTER O WITH OGONEK
+01EA ; [.1756.0020.0008.004F][.0000.0059.0002.0328] # LATIN CAPITAL LETTER O WITH OGONEK
+01ED ; [.1756.0020.0002.006F][.0000.0059.0002.0328][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH OGONEK AND MACRON
+01EC ; [.1756.0020.0008.004F][.0000.0059.0002.0328][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
+014D ; [.1756.0020.0002.006F][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH MACRON
+014C ; [.1756.0020.0008.004F][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH MACRON
+1E53 ; [.1756.0020.0002.006F][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH MACRON AND ACUTE
+1E52 ; [.1756.0020.0008.004F][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
+1E51 ; [.1756.0020.0002.006F][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH MACRON AND GRAVE
+1E50 ; [.1756.0020.0008.004F][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
+1ECF ; [.1756.0020.0002.006F][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH HOOK ABOVE
+1ECE ; [.1756.0020.0008.004F][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH HOOK ABOVE
+020D ; [.1756.0020.0002.006F][.0000.0065.0002.030F] # LATIN SMALL LETTER O WITH DOUBLE GRAVE
+020C ; [.1756.0020.0008.004F][.0000.0065.0002.030F] # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
+020F ; [.1756.0020.0002.006F][.0000.0067.0002.0311] # LATIN SMALL LETTER O WITH INVERTED BREVE
+020E ; [.1756.0020.0008.004F][.0000.0067.0002.0311] # LATIN CAPITAL LETTER O WITH INVERTED BREVE
+01A1 ; [.1756.0020.0002.006F][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN
+01A0 ; [.1756.0020.0008.004F][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN
+1EDB ; [.1756.0020.0002.006F][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH HORN AND ACUTE
+1EDA ; [.1756.0020.0008.004F][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+1EDD ; [.1756.0020.0002.006F][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH HORN AND GRAVE
+1EDC ; [.1756.0020.0008.004F][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+1EE1 ; [.1756.0020.0002.006F][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0 ; [.1756.0020.0008.004F][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+1EDF ; [.1756.0020.0002.006F][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
+1EDE ; [.1756.0020.0008.004F][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+1EE3 ; [.1756.0020.0002.006F][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE2 ; [.1756.0020.0008.004F][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+1ECD ; [.1756.0020.0002.006F][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC ; [.1756.0020.0008.004F][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1ED9 ; [.1756.0020.0002.006F][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8 ; [.1756.0020.0008.004F][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0153 ; [.1756.0020.0004.0153][.0000.0139.0004.0153][.1631.0020.001F.0153] # LATIN SMALL LIGATURE OE
+0152 ; [.1756.0020.000A.0152][.0000.0139.0004.0152][.1631.0020.001F.0152] # LATIN CAPITAL LIGATURE OE
+A7F9 ; [.1756.0020.0014.A7F9][.0000.0139.0014.A7F9][.1631.0020.001F.A7F9] # MODIFIER LETTER SMALL LIGATURE OE
+1F197 ; [.1756.0020.001D.1F197][.16E4.0020.001D.1F197] # SQUARED OK
+A74F ; [.1756.0020.0004.A74F][.1756.0020.0004.A74F] # LATIN SMALL LETTER OO
+A74E ; [.1756.0020.000A.A74E][.1756.0020.000A.A74E] # LATIN CAPITAL LETTER OO
+3375 ; [.1756.0020.001C.3375][.1844.0020.001D.3375] # SQUARE OV
+1D0F ; [.175A.0020.0002.1D0F] # LATIN LETTER SMALL CAPITAL O
+1D11 ; [.175B.0020.0002.1D11] # LATIN SMALL LETTER SIDEWAYS O
+0276 ; [.175C.0020.0002.0276] # LATIN LETTER SMALL CAPITAL OE
+1D14 ; [.1760.0020.0002.1D14] # LATIN SMALL LETTER TURNED OE
+1D13 ; [.1761.0020.0002.1D13] # LATIN SMALL LETTER SIDEWAYS O WITH STROKE
+0254 ; [.1762.0020.0002.0254] # LATIN SMALL LETTER OPEN O
+0186 ; [.1762.0020.0008.0186] # LATIN CAPITAL LETTER OPEN O
+1D53 ; [.1762.0020.0014.1D53] # MODIFIER LETTER SMALL OPEN O
+1D10 ; [.1766.0020.0002.1D10] # LATIN LETTER SMALL CAPITAL OPEN O
+1D12 ; [.1767.0020.0002.1D12] # LATIN SMALL LETTER SIDEWAYS OPEN O
+1D97 ; [.1768.0020.0002.1D97] # LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK
+A74D ; [.1769.0020.0002.A74D] # LATIN SMALL LETTER O WITH LOOP
+A74C ; [.1769.0020.0008.A74C] # LATIN CAPITAL LETTER O WITH LOOP
+1D16 ; [.176A.0020.0002.1D16] # LATIN SMALL LETTER TOP HALF O
+1D54 ; [.176A.0020.0014.1D54] # MODIFIER LETTER SMALL TOP HALF O
+1D17 ; [.176B.0020.0002.1D17] # LATIN SMALL LETTER BOTTOM HALF O
+1D55 ; [.176B.0020.0014.1D55] # MODIFIER LETTER SMALL BOTTOM HALF O
+2C7A ; [.176C.0020.0002.2C7A] # LATIN SMALL LETTER O WITH LOW RING INSIDE
+0275 ; [.176D.0020.0002.0275] # LATIN SMALL LETTER BARRED O
+019F ; [.176D.0020.0008.019F] # LATIN CAPITAL LETTER O WITH MIDDLE TILDE
+1DB1 ; [.176D.0020.0014.1DB1] # MODIFIER LETTER SMALL BARRED O
+A74B ; [.1771.0020.0002.A74B] # LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
+A74A ; [.1771.0020.0008.A74A] # LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
+0277 ; [.1772.0020.0002.0277] # LATIN SMALL LETTER CLOSED OMEGA
+0223 ; [.1776.0020.0002.0223] # LATIN SMALL LETTER OU
+0222 ; [.1776.0020.0008.0222] # LATIN CAPITAL LETTER OU
+1D3D ; [.1776.0020.001D.1D3D] # MODIFIER LETTER CAPITAL OU
+1D15 ; [.177A.0020.0002.1D15] # LATIN LETTER SMALL CAPITAL OU
+0070 ; [.177B.0020.0002.0070] # LATIN SMALL LETTER P
+FF50 ; [.177B.0020.0003.FF50] # FULLWIDTH LATIN SMALL LETTER P
+24AB ; [*02FB.0020.0004.24AB][.177B.0020.0004.24AB][*02FC.0020.001F.24AB] # PARENTHESIZED LATIN SMALL LETTER P
+1D429 ; [.177B.0020.0005.1D429] # MATHEMATICAL BOLD SMALL P
+1D45D ; [.177B.0020.0005.1D45D] # MATHEMATICAL ITALIC SMALL P
+1D491 ; [.177B.0020.0005.1D491] # MATHEMATICAL BOLD ITALIC SMALL P
+1D4C5 ; [.177B.0020.0005.1D4C5] # MATHEMATICAL SCRIPT SMALL P
+1D4F9 ; [.177B.0020.0005.1D4F9] # MATHEMATICAL BOLD SCRIPT SMALL P
+1D52D ; [.177B.0020.0005.1D52D] # MATHEMATICAL FRAKTUR SMALL P
+1D561 ; [.177B.0020.0005.1D561] # MATHEMATICAL DOUBLE-STRUCK SMALL P
+1D595 ; [.177B.0020.0005.1D595] # MATHEMATICAL BOLD FRAKTUR SMALL P
+1D5C9 ; [.177B.0020.0005.1D5C9] # MATHEMATICAL SANS-SERIF SMALL P
+1D5FD ; [.177B.0020.0005.1D5FD] # MATHEMATICAL SANS-SERIF BOLD SMALL P
+1D631 ; [.177B.0020.0005.1D631] # MATHEMATICAL SANS-SERIF ITALIC SMALL P
+1D665 ; [.177B.0020.0005.1D665] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P
+1D699 ; [.177B.0020.0005.1D699] # MATHEMATICAL MONOSPACE SMALL P
+24DF ; [.177B.0020.0006.24DF] # CIRCLED LATIN SMALL LETTER P
+0050 ; [.177B.0020.0008.0050] # LATIN CAPITAL LETTER P
+FF30 ; [.177B.0020.0009.FF30] # FULLWIDTH LATIN CAPITAL LETTER P
+1F11F ; [*02FB.0020.0004.1F11F][.177B.0020.000A.1F11F][*02FC.0020.001F.1F11F] # PARENTHESIZED LATIN CAPITAL LETTER P
+1F1F5 ; [.177B.0020.000A.1F1F5] # REGIONAL INDICATOR SYMBOL LETTER P
+2119 ; [.177B.0020.000B.2119] # DOUBLE-STRUCK CAPITAL P
+1D40F ; [.177B.0020.000B.1D40F] # MATHEMATICAL BOLD CAPITAL P
+1D443 ; [.177B.0020.000B.1D443] # MATHEMATICAL ITALIC CAPITAL P
+1D477 ; [.177B.0020.000B.1D477] # MATHEMATICAL BOLD ITALIC CAPITAL P
+1D4AB ; [.177B.0020.000B.1D4AB] # MATHEMATICAL SCRIPT CAPITAL P
+1D4DF ; [.177B.0020.000B.1D4DF] # MATHEMATICAL BOLD SCRIPT CAPITAL P
+1D513 ; [.177B.0020.000B.1D513] # MATHEMATICAL FRAKTUR CAPITAL P
+1D57B ; [.177B.0020.000B.1D57B] # MATHEMATICAL BOLD FRAKTUR CAPITAL P
+1D5AF ; [.177B.0020.000B.1D5AF] # MATHEMATICAL SANS-SERIF CAPITAL P
+1D5E3 ; [.177B.0020.000B.1D5E3] # MATHEMATICAL SANS-SERIF BOLD CAPITAL P
+1D617 ; [.177B.0020.000B.1D617] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL P
+1D64B ; [.177B.0020.000B.1D64B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P
+1D67F ; [.177B.0020.000B.1D67F] # MATHEMATICAL MONOSPACE CAPITAL P
+24C5 ; [.177B.0020.000C.24C5] # CIRCLED LATIN CAPITAL LETTER P
+1F15F ; [.177B.0020.000C.1F15F] # NEGATIVE CIRCLED LATIN CAPITAL LETTER P
+1D56 ; [.177B.0020.0014.1D56] # MODIFIER LETTER SMALL P
+209A ; [.177B.0020.0015.209A] # LATIN SUBSCRIPT SMALL LETTER P
+1D3E ; [.177B.0020.001D.1D3E] # MODIFIER LETTER CAPITAL P
+1F13F ; [.177B.0020.001D.1F13F] # SQUARED LATIN CAPITAL LETTER P
+1F17F ; [.177B.0020.001D.1F17F] # NEGATIVE SQUARED LATIN CAPITAL LETTER P
+1F18A ; [.177B.0020.001D.1F18A] # CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P
+1E55 ; [.177B.0020.0002.0070][.0000.0032.0002.0301] # LATIN SMALL LETTER P WITH ACUTE
+1E54 ; [.177B.0020.0008.0050][.0000.0032.0002.0301] # LATIN CAPITAL LETTER P WITH ACUTE
+1E57 ; [.177B.0020.0002.0070][.0000.0052.0002.0307] # LATIN SMALL LETTER P WITH DOT ABOVE
+1E56 ; [.177B.0020.0008.0050][.0000.0052.0002.0307] # LATIN CAPITAL LETTER P WITH DOT ABOVE
+3380 ; [.177B.0020.001C.3380][.15D4.0020.001D.3380] # SQUARE PA AMPS
+33A9 ; [.177B.0020.001D.33A9][.15D4.0020.001C.33A9] # SQUARE PA
+1F18C ; [.177B.0020.001D.1F18C][.15D4.0020.001D.1F18C] # NEGATIVE SQUARED PA
+3376 ; [.177B.0020.001C.3376][.1602.0020.001C.3376] # SQUARE PC
+338A ; [.177B.0020.001C.338A][.1669.0020.001D.338A] # SQUARE PF
+33D7 ; [.177B.0020.001D.33D7][.1699.0020.001D.33D7] # SQUARE PH
+33D8 ; [.177B.0020.001C.33D8][*0273.0020.001C.33D8][.1726.0020.001F.33D8][*0273.0020.001F.33D8] # SQUARE PM
+33D9 ; [.177B.0020.001D.33D9][.177B.0020.001D.33D9][.1726.0020.001F.33D9] # SQUARE PPM
+1F14E ; [.177B.0020.001D.1F14E][.177B.0020.001D.1F14E][.1844.0020.001F.1F14E] # SQUARED PPV
+33DA ; [.177B.0020.001D.33DA][.17A2.0020.001D.33DA] # SQUARE PR
+33B0 ; [.177B.0020.001C.33B0][.17D8.0020.001C.33B0] # SQUARE PS
+3250 ; [.177B.0020.001D.3250][.17FB.0020.001D.3250][.1631.0020.001F.3250] # PARTNERSHIP SIGN
+33B4 ; [.177B.0020.001C.33B4][.1844.0020.001D.33B4] # SQUARE PV
+33BA ; [.177B.0020.001C.33BA][.1856.0020.001D.33BA] # SQUARE PW
+1D18 ; [.177F.0020.0002.1D18] # LATIN LETTER SMALL CAPITAL P
+1D7D ; [.1780.0020.0002.1D7D] # LATIN SMALL LETTER P WITH STROKE
+2C63 ; [.1780.0020.0008.2C63] # LATIN CAPITAL LETTER P WITH STROKE
+A751 ; [.1781.0020.0002.A751] # LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
+A750 ; [.1781.0020.0008.A750] # LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
+1D71 ; [.1782.0020.0002.1D71] # LATIN SMALL LETTER P WITH MIDDLE TILDE
+1D88 ; [.1783.0020.0002.1D88] # LATIN SMALL LETTER P WITH PALATAL HOOK
+01A5 ; [.1784.0020.0002.01A5] # LATIN SMALL LETTER P WITH HOOK
+01A4 ; [.1784.0020.0008.01A4] # LATIN CAPITAL LETTER P WITH HOOK
+A753 ; [.1788.0020.0002.A753] # LATIN SMALL LETTER P WITH FLOURISH
+A752 ; [.1788.0020.0008.A752] # LATIN CAPITAL LETTER P WITH FLOURISH
+A755 ; [.1789.0020.0002.A755] # LATIN SMALL LETTER P WITH SQUIRREL TAIL
+A754 ; [.1789.0020.0008.A754] # LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
+A7FC ; [.178A.0020.0002.A7FC] # LATIN EPIGRAPHIC LETTER REVERSED P
+0278 ; [.178B.0020.0002.0278] # LATIN SMALL LETTER PHI
+1DB2 ; [.178B.0020.0014.1DB2] # MODIFIER LETTER SMALL PHI
+2C77 ; [.178F.0020.0002.2C77] # LATIN SMALL LETTER TAILLESS PHI
+0071 ; [.1790.0020.0002.0071] # LATIN SMALL LETTER Q
+FF51 ; [.1790.0020.0003.FF51] # FULLWIDTH LATIN SMALL LETTER Q
+24AC ; [*02FB.0020.0004.24AC][.1790.0020.0004.24AC][*02FC.0020.001F.24AC] # PARENTHESIZED LATIN SMALL LETTER Q
+1D42A ; [.1790.0020.0005.1D42A] # MATHEMATICAL BOLD SMALL Q
+1D45E ; [.1790.0020.0005.1D45E] # MATHEMATICAL ITALIC SMALL Q
+1D492 ; [.1790.0020.0005.1D492] # MATHEMATICAL BOLD ITALIC SMALL Q
+1D4C6 ; [.1790.0020.0005.1D4C6] # MATHEMATICAL SCRIPT SMALL Q
+1D4FA ; [.1790.0020.0005.1D4FA] # MATHEMATICAL BOLD SCRIPT SMALL Q
+1D52E ; [.1790.0020.0005.1D52E] # MATHEMATICAL FRAKTUR SMALL Q
+1D562 ; [.1790.0020.0005.1D562] # MATHEMATICAL DOUBLE-STRUCK SMALL Q
+1D596 ; [.1790.0020.0005.1D596] # MATHEMATICAL BOLD FRAKTUR SMALL Q
+1D5CA ; [.1790.0020.0005.1D5CA] # MATHEMATICAL SANS-SERIF SMALL Q
+1D5FE ; [.1790.0020.0005.1D5FE] # MATHEMATICAL SANS-SERIF BOLD SMALL Q
+1D632 ; [.1790.0020.0005.1D632] # MATHEMATICAL SANS-SERIF ITALIC SMALL Q
+1D666 ; [.1790.0020.0005.1D666] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q
+1D69A ; [.1790.0020.0005.1D69A] # MATHEMATICAL MONOSPACE SMALL Q
+24E0 ; [.1790.0020.0006.24E0] # CIRCLED LATIN SMALL LETTER Q
+0051 ; [.1790.0020.0008.0051] # LATIN CAPITAL LETTER Q
+FF31 ; [.1790.0020.0009.FF31] # FULLWIDTH LATIN CAPITAL LETTER Q
+1F120 ; [*02FB.0020.0004.1F120][.1790.0020.000A.1F120][*02FC.0020.001F.1F120] # PARENTHESIZED LATIN CAPITAL LETTER Q
+1F1F6 ; [.1790.0020.000A.1F1F6] # REGIONAL INDICATOR SYMBOL LETTER Q
+211A ; [.1790.0020.000B.211A] # DOUBLE-STRUCK CAPITAL Q
+1D410 ; [.1790.0020.000B.1D410] # MATHEMATICAL BOLD CAPITAL Q
+1D444 ; [.1790.0020.000B.1D444] # MATHEMATICAL ITALIC CAPITAL Q
+1D478 ; [.1790.0020.000B.1D478] # MATHEMATICAL BOLD ITALIC CAPITAL Q
+1D4AC ; [.1790.0020.000B.1D4AC] # MATHEMATICAL SCRIPT CAPITAL Q
+1D4E0 ; [.1790.0020.000B.1D4E0] # MATHEMATICAL BOLD SCRIPT CAPITAL Q
+1D514 ; [.1790.0020.000B.1D514] # MATHEMATICAL FRAKTUR CAPITAL Q
+1D57C ; [.1790.0020.000B.1D57C] # MATHEMATICAL BOLD FRAKTUR CAPITAL Q
+1D5B0 ; [.1790.0020.000B.1D5B0] # MATHEMATICAL SANS-SERIF CAPITAL Q
+1D5E4 ; [.1790.0020.000B.1D5E4] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Q
+1D618 ; [.1790.0020.000B.1D618] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q
+1D64C ; [.1790.0020.000B.1D64C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q
+1D680 ; [.1790.0020.000B.1D680] # MATHEMATICAL MONOSPACE CAPITAL Q
+24C6 ; [.1790.0020.000C.24C6] # CIRCLED LATIN CAPITAL LETTER Q
+1F160 ; [.1790.0020.000C.1F160] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Q
+1F140 ; [.1790.0020.001D.1F140] # SQUARED LATIN CAPITAL LETTER Q
+1F180 ; [.1790.0020.001D.1F180] # NEGATIVE SQUARED LATIN CAPITAL LETTER Q
+0239 ; [.1790.0020.0004.0239][.177B.0020.0004.0239] # LATIN SMALL LETTER QP DIGRAPH
+A757 ; [.1794.0020.0002.A757] # LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
+A756 ; [.1794.0020.0008.A756] # LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
+A759 ; [.1795.0020.0002.A759] # LATIN SMALL LETTER Q WITH DIAGONAL STROKE
+A758 ; [.1795.0020.0008.A758] # LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
+02A0 ; [.1796.0020.0002.02A0] # LATIN SMALL LETTER Q WITH HOOK
+024B ; [.179A.0020.0002.024B] # LATIN SMALL LETTER Q WITH HOOK TAIL
+024A ; [.179A.0020.0008.024A] # LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
+0138 ; [.179E.0020.0002.0138] # LATIN SMALL LETTER KRA
+0072 ; [.17A2.0020.0002.0072] # LATIN SMALL LETTER R
+FF52 ; [.17A2.0020.0003.FF52] # FULLWIDTH LATIN SMALL LETTER R
+036C ; [.17A2.0020.0004.036C] # COMBINING LATIN SMALL LETTER R
+1DCA ; [.17A2.0020.0004.1DCA] # COMBINING LATIN SMALL LETTER R BELOW
+24AD ; [*02FB.0020.0004.24AD][.17A2.0020.0004.24AD][*02FC.0020.001F.24AD] # PARENTHESIZED LATIN SMALL LETTER R
+1D42B ; [.17A2.0020.0005.1D42B] # MATHEMATICAL BOLD SMALL R
+1D45F ; [.17A2.0020.0005.1D45F] # MATHEMATICAL ITALIC SMALL R
+1D493 ; [.17A2.0020.0005.1D493] # MATHEMATICAL BOLD ITALIC SMALL R
+1D4C7 ; [.17A2.0020.0005.1D4C7] # MATHEMATICAL SCRIPT SMALL R
+1D4FB ; [.17A2.0020.0005.1D4FB] # MATHEMATICAL BOLD SCRIPT SMALL R
+1D52F ; [.17A2.0020.0005.1D52F] # MATHEMATICAL FRAKTUR SMALL R
+1D563 ; [.17A2.0020.0005.1D563] # MATHEMATICAL DOUBLE-STRUCK SMALL R
+1D597 ; [.17A2.0020.0005.1D597] # MATHEMATICAL BOLD FRAKTUR SMALL R
+1D5CB ; [.17A2.0020.0005.1D5CB] # MATHEMATICAL SANS-SERIF SMALL R
+1D5FF ; [.17A2.0020.0005.1D5FF] # MATHEMATICAL SANS-SERIF BOLD SMALL R
+1D633 ; [.17A2.0020.0005.1D633] # MATHEMATICAL SANS-SERIF ITALIC SMALL R
+1D667 ; [.17A2.0020.0005.1D667] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R
+1D69B ; [.17A2.0020.0005.1D69B] # MATHEMATICAL MONOSPACE SMALL R
+24E1 ; [.17A2.0020.0006.24E1] # CIRCLED LATIN SMALL LETTER R
+0052 ; [.17A2.0020.0008.0052] # LATIN CAPITAL LETTER R
+FF32 ; [.17A2.0020.0009.FF32] # FULLWIDTH LATIN CAPITAL LETTER R
+1F121 ; [*02FB.0020.0004.1F121][.17A2.0020.000A.1F121][*02FC.0020.001F.1F121] # PARENTHESIZED LATIN CAPITAL LETTER R
+1F1F7 ; [.17A2.0020.000A.1F1F7] # REGIONAL INDICATOR SYMBOL LETTER R
+211B ; [.17A2.0020.000B.211B] # SCRIPT CAPITAL R
+211C ; [.17A2.0020.000B.211C] # BLACK-LETTER CAPITAL R
+211D ; [.17A2.0020.000B.211D] # DOUBLE-STRUCK CAPITAL R
+1D411 ; [.17A2.0020.000B.1D411] # MATHEMATICAL BOLD CAPITAL R
+1D445 ; [.17A2.0020.000B.1D445] # MATHEMATICAL ITALIC CAPITAL R
+1D479 ; [.17A2.0020.000B.1D479] # MATHEMATICAL BOLD ITALIC CAPITAL R
+1D4E1 ; [.17A2.0020.000B.1D4E1] # MATHEMATICAL BOLD SCRIPT CAPITAL R
+1D57D ; [.17A2.0020.000B.1D57D] # MATHEMATICAL BOLD FRAKTUR CAPITAL R
+1D5B1 ; [.17A2.0020.000B.1D5B1] # MATHEMATICAL SANS-SERIF CAPITAL R
+1D5E5 ; [.17A2.0020.000B.1D5E5] # MATHEMATICAL SANS-SERIF BOLD CAPITAL R
+1D619 ; [.17A2.0020.000B.1D619] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL R
+1D64D ; [.17A2.0020.000B.1D64D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R
+1D681 ; [.17A2.0020.000B.1D681] # MATHEMATICAL MONOSPACE CAPITAL R
+24C7 ; [.17A2.0020.000C.24C7] # CIRCLED LATIN CAPITAL LETTER R
+1F12C ; [.17A2.0020.000C.1F12C] # CIRCLED ITALIC LATIN CAPITAL LETTER R
+1F161 ; [.17A2.0020.000C.1F161] # NEGATIVE CIRCLED LATIN CAPITAL LETTER R
+02B3 ; [.17A2.0020.0014.02B3] # MODIFIER LETTER SMALL R
+1D63 ; [.17A2.0020.0015.1D63] # LATIN SUBSCRIPT SMALL LETTER R
+1D3F ; [.17A2.0020.001D.1D3F] # MODIFIER LETTER CAPITAL R
+1F141 ; [.17A2.0020.001D.1F141] # SQUARED LATIN CAPITAL LETTER R
+1F181 ; [.17A2.0020.001D.1F181] # NEGATIVE SQUARED LATIN CAPITAL LETTER R
+0155 ; [.17A2.0020.0002.0072][.0000.0032.0002.0301] # LATIN SMALL LETTER R WITH ACUTE
+0154 ; [.17A2.0020.0008.0052][.0000.0032.0002.0301] # LATIN CAPITAL LETTER R WITH ACUTE
+0159 ; [.17A2.0020.0002.0072][.0000.0041.0002.030C] # LATIN SMALL LETTER R WITH CARON
+0158 ; [.17A2.0020.0008.0052][.0000.0041.0002.030C] # LATIN CAPITAL LETTER R WITH CARON
+1E59 ; [.17A2.0020.0002.0072][.0000.0052.0002.0307] # LATIN SMALL LETTER R WITH DOT ABOVE
+1E58 ; [.17A2.0020.0008.0052][.0000.0052.0002.0307] # LATIN CAPITAL LETTER R WITH DOT ABOVE
+0157 ; [.17A2.0020.0002.0072][.0000.0056.0002.0327] # LATIN SMALL LETTER R WITH CEDILLA
+0156 ; [.17A2.0020.0008.0052][.0000.0056.0002.0327] # LATIN CAPITAL LETTER R WITH CEDILLA
+A7A7 ; [.17A2.0020.0004.A7A7][.0000.0061.0004.A7A7] # LATIN SMALL LETTER R WITH OBLIQUE STROKE
+A7A6 ; [.17A2.0020.000A.A7A6][.0000.0061.0004.A7A6] # LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
+0211 ; [.17A2.0020.0002.0072][.0000.0065.0002.030F] # LATIN SMALL LETTER R WITH DOUBLE GRAVE
+0210 ; [.17A2.0020.0008.0052][.0000.0065.0002.030F] # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
+0213 ; [.17A2.0020.0002.0072][.0000.0067.0002.0311] # LATIN SMALL LETTER R WITH INVERTED BREVE
+0212 ; [.17A2.0020.0008.0052][.0000.0067.0002.0311] # LATIN CAPITAL LETTER R WITH INVERTED BREVE
+1E5B ; [.17A2.0020.0002.0072][.0000.0070.0002.0323] # LATIN SMALL LETTER R WITH DOT BELOW
+1E5A ; [.17A2.0020.0008.0052][.0000.0070.0002.0323] # LATIN CAPITAL LETTER R WITH DOT BELOW
+1E5D ; [.17A2.0020.0002.0072][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
+1E5C ; [.17A2.0020.0008.0052][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
+1E5F ; [.17A2.0020.0002.0072][.0000.007B.0002.0331] # LATIN SMALL LETTER R WITH LINE BELOW
+1E5E ; [.17A2.0020.0008.0052][.0000.007B.0002.0331] # LATIN CAPITAL LETTER R WITH LINE BELOW
+A783 ; [.17A2.0020.0004.A783][.0000.013A.0004.A783] # LATIN SMALL LETTER INSULAR R
+A782 ; [.17A2.0020.000A.A782][.0000.013A.0004.A782] # LATIN CAPITAL LETTER INSULAR R
+33AD ; [.17A2.0020.001C.33AD][.15D4.0020.001C.33AD][.1616.0020.001F.33AD] # SQUARE RAD
+33AE ; [.17A2.0020.001C.33AE][.15D4.0020.001C.33AE][.1616.0020.001F.33AE][*05AB.0020.001F.33AE][.17D8.0020.001F.33AE] # SQUARE RAD OVER S
+33AF ; [.17A2.0020.001C.33AF][.15D4.0020.001C.33AF][.1616.0020.001F.33AF][*05AB.0020.001F.33AF][.17D8.0020.001F.33AF][.15CC.0020.001F.33AF] # SQUARE RAD OVER S SQUARED
+20A8 ; [.17A2.0020.000A.20A8][.17D8.0020.0004.20A8] # RUPEE SIGN
+0280 ; [.17A6.0020.0002.0280] # LATIN LETTER SMALL CAPITAL R
+1DE2 ; [.17A6.0020.0004.1DE2] # COMBINING LATIN LETTER SMALL CAPITAL R
+01A6 ; [.17A6.0020.0008.01A6] # LATIN LETTER YR
+A75B ; [.17AA.0020.0002.A75B] # LATIN SMALL LETTER R ROTUNDA
+1DE3 ; [.17AA.0020.0004.1DE3] # COMBINING LATIN SMALL LETTER R ROTUNDA
+A75A ; [.17AA.0020.0008.A75A] # LATIN CAPITAL LETTER R ROTUNDA
+1D19 ; [.17AB.0020.0002.1D19] # LATIN LETTER SMALL CAPITAL REVERSED R
+024D ; [.17AC.0020.0002.024D] # LATIN SMALL LETTER R WITH STROKE
+024C ; [.17AC.0020.0008.024C] # LATIN CAPITAL LETTER R WITH STROKE
+1D72 ; [.17B0.0020.0002.1D72] # LATIN SMALL LETTER R WITH MIDDLE TILDE
+0279 ; [.17B1.0020.0002.0279] # LATIN SMALL LETTER TURNED R
+02B4 ; [.17B1.0020.0014.02B4] # MODIFIER LETTER SMALL TURNED R
+1D1A ; [.17B5.0020.0002.1D1A] # LATIN LETTER SMALL CAPITAL TURNED R
+027A ; [.17B6.0020.0002.027A] # LATIN SMALL LETTER TURNED R WITH LONG LEG
+1D89 ; [.17BA.0020.0002.1D89] # LATIN SMALL LETTER R WITH PALATAL HOOK
+027B ; [.17BB.0020.0002.027B] # LATIN SMALL LETTER TURNED R WITH HOOK
+02B5 ; [.17BB.0020.0014.02B5] # MODIFIER LETTER SMALL TURNED R WITH HOOK
+2C79 ; [.17BF.0020.0002.2C79] # LATIN SMALL LETTER TURNED R WITH TAIL
+027C ; [.17C0.0020.0002.027C] # LATIN SMALL LETTER R WITH LONG LEG
+027D ; [.17C4.0020.0002.027D] # LATIN SMALL LETTER R WITH TAIL
+2C64 ; [.17C4.0020.0008.2C64] # LATIN CAPITAL LETTER R WITH TAIL
+027E ; [.17C8.0020.0002.027E] # LATIN SMALL LETTER R WITH FISHHOOK
+1D73 ; [.17CC.0020.0002.1D73] # LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE
+027F ; [.17CD.0020.0002.027F] # LATIN SMALL LETTER REVERSED R WITH FISHHOOK
+0281 ; [.17D1.0020.0002.0281] # LATIN LETTER SMALL CAPITAL INVERTED R
+02B6 ; [.17D1.0020.0014.02B6] # MODIFIER LETTER SMALL CAPITAL INVERTED R
+A775 ; [.17D5.0020.0002.A775] # LATIN SMALL LETTER RUM
+A776 ; [.17D6.0020.0002.A776] # LATIN LETTER SMALL CAPITAL RUM
+A75D ; [.17D7.0020.0002.A75D] # LATIN SMALL LETTER RUM ROTUNDA
+A75C ; [.17D7.0020.0008.A75C] # LATIN CAPITAL LETTER RUM ROTUNDA
+0073 ; [.17D8.0020.0002.0073] # LATIN SMALL LETTER S
+FF53 ; [.17D8.0020.0003.FF53] # FULLWIDTH LATIN SMALL LETTER S
+1DE4 ; [.17D8.0020.0004.1DE4] # COMBINING LATIN SMALL LETTER S
+24AE ; [*02FB.0020.0004.24AE][.17D8.0020.0004.24AE][*02FC.0020.001F.24AE] # PARENTHESIZED LATIN SMALL LETTER S
+1D42C ; [.17D8.0020.0005.1D42C] # MATHEMATICAL BOLD SMALL S
+1D460 ; [.17D8.0020.0005.1D460] # MATHEMATICAL ITALIC SMALL S
+1D494 ; [.17D8.0020.0005.1D494] # MATHEMATICAL BOLD ITALIC SMALL S
+1D4C8 ; [.17D8.0020.0005.1D4C8] # MATHEMATICAL SCRIPT SMALL S
+1D4FC ; [.17D8.0020.0005.1D4FC] # MATHEMATICAL BOLD SCRIPT SMALL S
+1D530 ; [.17D8.0020.0005.1D530] # MATHEMATICAL FRAKTUR SMALL S
+1D564 ; [.17D8.0020.0005.1D564] # MATHEMATICAL DOUBLE-STRUCK SMALL S
+1D598 ; [.17D8.0020.0005.1D598] # MATHEMATICAL BOLD FRAKTUR SMALL S
+1D5CC ; [.17D8.0020.0005.1D5CC] # MATHEMATICAL SANS-SERIF SMALL S
+1D600 ; [.17D8.0020.0005.1D600] # MATHEMATICAL SANS-SERIF BOLD SMALL S
+1D634 ; [.17D8.0020.0005.1D634] # MATHEMATICAL SANS-SERIF ITALIC SMALL S
+1D668 ; [.17D8.0020.0005.1D668] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S
+1D69C ; [.17D8.0020.0005.1D69C] # MATHEMATICAL MONOSPACE SMALL S
+24E2 ; [.17D8.0020.0006.24E2] # CIRCLED LATIN SMALL LETTER S
+0053 ; [.17D8.0020.0008.0053] # LATIN CAPITAL LETTER S
+FF33 ; [.17D8.0020.0009.FF33] # FULLWIDTH LATIN CAPITAL LETTER S
+1F122 ; [*02FB.0020.0004.1F122][.17D8.0020.000A.1F122][*02FC.0020.001F.1F122] # PARENTHESIZED LATIN CAPITAL LETTER S
+1F12A ; [*0359.0020.0004.1F12A][.17D8.0020.000A.1F12A][*035A.0020.001F.1F12A] # TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
+1F1F8 ; [.17D8.0020.000A.1F1F8] # REGIONAL INDICATOR SYMBOL LETTER S
+1D412 ; [.17D8.0020.000B.1D412] # MATHEMATICAL BOLD CAPITAL S
+1D446 ; [.17D8.0020.000B.1D446] # MATHEMATICAL ITALIC CAPITAL S
+1D47A ; [.17D8.0020.000B.1D47A] # MATHEMATICAL BOLD ITALIC CAPITAL S
+1D4AE ; [.17D8.0020.000B.1D4AE] # MATHEMATICAL SCRIPT CAPITAL S
+1D4E2 ; [.17D8.0020.000B.1D4E2] # MATHEMATICAL BOLD SCRIPT CAPITAL S
+1D516 ; [.17D8.0020.000B.1D516] # MATHEMATICAL FRAKTUR CAPITAL S
+1D54A ; [.17D8.0020.000B.1D54A] # MATHEMATICAL DOUBLE-STRUCK CAPITAL S
+1D57E ; [.17D8.0020.000B.1D57E] # MATHEMATICAL BOLD FRAKTUR CAPITAL S
+1D5B2 ; [.17D8.0020.000B.1D5B2] # MATHEMATICAL SANS-SERIF CAPITAL S
+1D5E6 ; [.17D8.0020.000B.1D5E6] # MATHEMATICAL SANS-SERIF BOLD CAPITAL S
+1D61A ; [.17D8.0020.000B.1D61A] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL S
+1D64E ; [.17D8.0020.000B.1D64E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S
+1D682 ; [.17D8.0020.000B.1D682] # MATHEMATICAL MONOSPACE CAPITAL S
+24C8 ; [.17D8.0020.000C.24C8] # CIRCLED LATIN CAPITAL LETTER S
+1F162 ; [.17D8.0020.000C.1F162] # NEGATIVE CIRCLED LATIN CAPITAL LETTER S
+02E2 ; [.17D8.0020.0014.02E2] # MODIFIER LETTER SMALL S
+209B ; [.17D8.0020.0015.209B] # LATIN SUBSCRIPT SMALL LETTER S
+1F142 ; [.17D8.0020.001D.1F142] # SQUARED LATIN CAPITAL LETTER S
+1F182 ; [.17D8.0020.001D.1F182] # NEGATIVE SQUARED LATIN CAPITAL LETTER S
+015B ; [.17D8.0020.0002.0073][.0000.0032.0002.0301] # LATIN SMALL LETTER S WITH ACUTE
+015A ; [.17D8.0020.0008.0053][.0000.0032.0002.0301] # LATIN CAPITAL LETTER S WITH ACUTE
+1E65 ; [.17D8.0020.0002.0073][.0000.0032.0002.0301][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
+1E64 ; [.17D8.0020.0008.0053][.0000.0032.0002.0301][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
+015D ; [.17D8.0020.0002.0073][.0000.003C.0002.0302] # LATIN SMALL LETTER S WITH CIRCUMFLEX
+015C ; [.17D8.0020.0008.0053][.0000.003C.0002.0302] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+0161 ; [.17D8.0020.0002.0073][.0000.0041.0002.030C] # LATIN SMALL LETTER S WITH CARON
+0160 ; [.17D8.0020.0008.0053][.0000.0041.0002.030C] # LATIN CAPITAL LETTER S WITH CARON
+1E67 ; [.17D8.0020.0002.0073][.0000.0041.0002.030C][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
+1E66 ; [.17D8.0020.0008.0053][.0000.0041.0002.030C][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
+1E61 ; [.17D8.0020.0002.0073][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH DOT ABOVE
+1E60 ; [.17D8.0020.0008.0053][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH DOT ABOVE
+015F ; [.17D8.0020.0002.0073][.0000.0056.0002.0327] # LATIN SMALL LETTER S WITH CEDILLA
+015E ; [.17D8.0020.0008.0053][.0000.0056.0002.0327] # LATIN CAPITAL LETTER S WITH CEDILLA
+A7A9 ; [.17D8.0020.0004.A7A9][.0000.0061.0004.A7A9] # LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A7A8 ; [.17D8.0020.000A.A7A8][.0000.0061.0004.A7A8] # LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
+1E63 ; [.17D8.0020.0002.0073][.0000.0070.0002.0323] # LATIN SMALL LETTER S WITH DOT BELOW
+1E62 ; [.17D8.0020.0008.0053][.0000.0070.0002.0323] # LATIN CAPITAL LETTER S WITH DOT BELOW
+1E69 ; [.17D8.0020.0002.0073][.0000.0070.0002.0323][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
+1E68 ; [.17D8.0020.0008.0053][.0000.0070.0002.0323][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
+0219 ; [.17D8.0020.0002.0073][.0000.0077.0002.0326] # LATIN SMALL LETTER S WITH COMMA BELOW
+0218 ; [.17D8.0020.0008.0053][.0000.0077.0002.0326] # LATIN CAPITAL LETTER S WITH COMMA BELOW
+017F ; [.17D8.0020.0004.017F][.0000.013A.0004.017F] # LATIN SMALL LETTER LONG S
+1DE5 ; [.17D8.0020.0004.1DE5][.0000.013A.0004.1DE5] # COMBINING LATIN SMALL LETTER LONG S
+A785 ; [.17D8.0020.0004.A785][.0000.013A.0004.A785] # LATIN SMALL LETTER INSULAR S
+A784 ; [.17D8.0020.000A.A784][.0000.013A.0004.A784] # LATIN CAPITAL LETTER INSULAR S
+1E9B ; [.17D8.0020.0004.1E9B][.0000.013A.0004.1E9B][.0000.0052.0002.1E9B] # LATIN SMALL LETTER LONG S WITH DOT ABOVE
+1F18D ; [.17D8.0020.001D.1F18D][.15D4.0020.001D.1F18D] # NEGATIVE SQUARED SA
+1F14C ; [.17D8.0020.001D.1F14C][.1616.0020.001D.1F14C] # SQUARED SD
+2120 ; [.17D8.0020.0014.2120][.1726.0020.0014.2120] # SERVICE MARK
+1F198 ; [.17D8.0020.001D.1F198][.1756.0020.001D.1F198][.17D8.0020.001F.1F198] # SQUARED SOS
+33DB ; [.17D8.0020.001C.33DB][.17A2.0020.001C.33DB] # SQUARE SR
+1F14D ; [.17D8.0020.001D.1F14D][.17D8.0020.001D.1F14D] # SQUARED SS
+00DF ; [.17D8.0020.0004.00DF][.0000.0139.0004.00DF][.17D8.0020.001F.00DF] # LATIN SMALL LETTER SHARP S
+1E9E ; [.17D8.0020.000A.1E9E][.0000.0139.0004.1E9E][.17D8.0020.001F.1E9E] # LATIN CAPITAL LETTER SHARP S
+FB06 ; [.17D8.0020.0004.FB06][.17FB.0020.0004.FB06] # LATIN SMALL LIGATURE ST
+FB05 ; [.17D8.0020.0004.FB05][.0000.013A.0004.FB05][.17FB.0020.001F.FB05] # LATIN SMALL LIGATURE LONG S T
+33DC ; [.17D8.0020.001D.33DC][.1844.0020.001C.33DC] # SQUARE SV
+A731 ; [.17DC.0020.0002.A731] # LATIN LETTER SMALL CAPITAL S
+1D74 ; [.17DD.0020.0002.1D74] # LATIN SMALL LETTER S WITH MIDDLE TILDE
+1D8A ; [.17DE.0020.0002.1D8A] # LATIN SMALL LETTER S WITH PALATAL HOOK
+0282 ; [.17DF.0020.0002.0282] # LATIN SMALL LETTER S WITH HOOK
+1DB3 ; [.17DF.0020.0014.1DB3] # MODIFIER LETTER SMALL S WITH HOOK
+023F ; [.17E3.0020.0002.023F] # LATIN SMALL LETTER S WITH SWASH TAIL
+2C7E ; [.17E3.0020.0008.2C7E] # LATIN CAPITAL LETTER S WITH SWASH TAIL
+1E9C ; [.17E7.0020.0002.1E9C] # LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE
+1E9D ; [.17E8.0020.0002.1E9D] # LATIN SMALL LETTER LONG S WITH HIGH STROKE
+0283 ; [.17E9.0020.0002.0283] # LATIN SMALL LETTER ESH
+01A9 ; [.17E9.0020.0008.01A9] # LATIN CAPITAL LETTER ESH
+1DB4 ; [.17E9.0020.0014.1DB4] # MODIFIER LETTER SMALL ESH
+1D8B ; [.17ED.0020.0002.1D8B] # LATIN SMALL LETTER ESH WITH PALATAL HOOK
+01AA ; [.17EE.0020.0002.01AA] # LATIN LETTER REVERSED ESH LOOP
+0285 ; [.17F2.0020.0002.0285] # LATIN SMALL LETTER SQUAT REVERSED ESH
+1D98 ; [.17F6.0020.0002.1D98] # LATIN SMALL LETTER ESH WITH RETROFLEX HOOK
+0286 ; [.17F7.0020.0002.0286] # LATIN SMALL LETTER ESH WITH CURL
+0074 ; [.17FB.0020.0002.0074] # LATIN SMALL LETTER T
+FF54 ; [.17FB.0020.0003.FF54] # FULLWIDTH LATIN SMALL LETTER T
+036D ; [.17FB.0020.0004.036D] # COMBINING LATIN SMALL LETTER T
+24AF ; [*02FB.0020.0004.24AF][.17FB.0020.0004.24AF][*02FC.0020.001F.24AF] # PARENTHESIZED LATIN SMALL LETTER T
+1D42D ; [.17FB.0020.0005.1D42D] # MATHEMATICAL BOLD SMALL T
+1D461 ; [.17FB.0020.0005.1D461] # MATHEMATICAL ITALIC SMALL T
+1D495 ; [.17FB.0020.0005.1D495] # MATHEMATICAL BOLD ITALIC SMALL T
+1D4C9 ; [.17FB.0020.0005.1D4C9] # MATHEMATICAL SCRIPT SMALL T
+1D4FD ; [.17FB.0020.0005.1D4FD] # MATHEMATICAL BOLD SCRIPT SMALL T
+1D531 ; [.17FB.0020.0005.1D531] # MATHEMATICAL FRAKTUR SMALL T
+1D565 ; [.17FB.0020.0005.1D565] # MATHEMATICAL DOUBLE-STRUCK SMALL T
+1D599 ; [.17FB.0020.0005.1D599] # MATHEMATICAL BOLD FRAKTUR SMALL T
+1D5CD ; [.17FB.0020.0005.1D5CD] # MATHEMATICAL SANS-SERIF SMALL T
+1D601 ; [.17FB.0020.0005.1D601] # MATHEMATICAL SANS-SERIF BOLD SMALL T
+1D635 ; [.17FB.0020.0005.1D635] # MATHEMATICAL SANS-SERIF ITALIC SMALL T
+1D669 ; [.17FB.0020.0005.1D669] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T
+1D69D ; [.17FB.0020.0005.1D69D] # MATHEMATICAL MONOSPACE SMALL T
+24E3 ; [.17FB.0020.0006.24E3] # CIRCLED LATIN SMALL LETTER T
+0054 ; [.17FB.0020.0008.0054] # LATIN CAPITAL LETTER T
+FF34 ; [.17FB.0020.0009.FF34] # FULLWIDTH LATIN CAPITAL LETTER T
+1F123 ; [*02FB.0020.0004.1F123][.17FB.0020.000A.1F123][*02FC.0020.001F.1F123] # PARENTHESIZED LATIN CAPITAL LETTER T
+1F1F9 ; [.17FB.0020.000A.1F1F9] # REGIONAL INDICATOR SYMBOL LETTER T
+1D413 ; [.17FB.0020.000B.1D413] # MATHEMATICAL BOLD CAPITAL T
+1D447 ; [.17FB.0020.000B.1D447] # MATHEMATICAL ITALIC CAPITAL T
+1D47B ; [.17FB.0020.000B.1D47B] # MATHEMATICAL BOLD ITALIC CAPITAL T
+1D4AF ; [.17FB.0020.000B.1D4AF] # MATHEMATICAL SCRIPT CAPITAL T
+1D4E3 ; [.17FB.0020.000B.1D4E3] # MATHEMATICAL BOLD SCRIPT CAPITAL T
+1D517 ; [.17FB.0020.000B.1D517] # MATHEMATICAL FRAKTUR CAPITAL T
+1D54B ; [.17FB.0020.000B.1D54B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL T
+1D57F ; [.17FB.0020.000B.1D57F] # MATHEMATICAL BOLD FRAKTUR CAPITAL T
+1D5B3 ; [.17FB.0020.000B.1D5B3] # MATHEMATICAL SANS-SERIF CAPITAL T
+1D5E7 ; [.17FB.0020.000B.1D5E7] # MATHEMATICAL SANS-SERIF BOLD CAPITAL T
+1D61B ; [.17FB.0020.000B.1D61B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL T
+1D64F ; [.17FB.0020.000B.1D64F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T
+1D683 ; [.17FB.0020.000B.1D683] # MATHEMATICAL MONOSPACE CAPITAL T
+24C9 ; [.17FB.0020.000C.24C9] # CIRCLED LATIN CAPITAL LETTER T
+1F163 ; [.17FB.0020.000C.1F163] # NEGATIVE CIRCLED LATIN CAPITAL LETTER T
+1D57 ; [.17FB.0020.0014.1D57] # MODIFIER LETTER SMALL T
+209C ; [.17FB.0020.0015.209C] # LATIN SUBSCRIPT SMALL LETTER T
+1D40 ; [.17FB.0020.001D.1D40] # MODIFIER LETTER CAPITAL T
+1F143 ; [.17FB.0020.001D.1F143] # SQUARED LATIN CAPITAL LETTER T
+1F183 ; [.17FB.0020.001D.1F183] # NEGATIVE SQUARED LATIN CAPITAL LETTER T
+0165 ; [.17FB.0020.0002.0074][.0000.0041.0002.030C] # LATIN SMALL LETTER T WITH CARON
+0164 ; [.17FB.0020.0008.0054][.0000.0041.0002.030C] # LATIN CAPITAL LETTER T WITH CARON
+1E97 ; [.17FB.0020.0002.0074][.0000.0047.0002.0308] # LATIN SMALL LETTER T WITH DIAERESIS
+1E6B ; [.17FB.0020.0002.0074][.0000.0052.0002.0307] # LATIN SMALL LETTER T WITH DOT ABOVE
+1E6A ; [.17FB.0020.0008.0054][.0000.0052.0002.0307] # LATIN CAPITAL LETTER T WITH DOT ABOVE
+0163 ; [.17FB.0020.0002.0074][.0000.0056.0002.0327] # LATIN SMALL LETTER T WITH CEDILLA
+0162 ; [.17FB.0020.0008.0054][.0000.0056.0002.0327] # LATIN CAPITAL LETTER T WITH CEDILLA
+1E6D ; [.17FB.0020.0002.0074][.0000.0070.0002.0323] # LATIN SMALL LETTER T WITH DOT BELOW
+1E6C ; [.17FB.0020.0008.0054][.0000.0070.0002.0323] # LATIN CAPITAL LETTER T WITH DOT BELOW
+021B ; [.17FB.0020.0002.0074][.0000.0077.0002.0326] # LATIN SMALL LETTER T WITH COMMA BELOW
+021A ; [.17FB.0020.0008.0054][.0000.0077.0002.0326] # LATIN CAPITAL LETTER T WITH COMMA BELOW
+1E71 ; [.17FB.0020.0002.0074][.0000.0078.0002.032D] # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
+1E70 ; [.17FB.0020.0008.0054][.0000.0078.0002.032D] # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
+1E6F ; [.17FB.0020.0002.0074][.0000.007B.0002.0331] # LATIN SMALL LETTER T WITH LINE BELOW
+1E6E ; [.17FB.0020.0008.0054][.0000.007B.0002.0331] # LATIN CAPITAL LETTER T WITH LINE BELOW
+A787 ; [.17FB.0020.0004.A787][.0000.013A.0004.A787] # LATIN SMALL LETTER INSULAR T
+A786 ; [.17FB.0020.000A.A786][.0000.013A.0004.A786] # LATIN CAPITAL LETTER INSULAR T
+02A8 ; [.17FB.0020.0004.02A8][.1610.0020.0004.02A8] # LATIN SMALL LETTER TC DIGRAPH WITH CURL
+2121 ; [.17FB.0020.000A.2121][.1631.0020.000A.2121][.16F6.0020.001F.2121] # TELEPHONE SIGN
+1D7A ; [.17FB.0020.0004.1D7A][.0000.0139.0004.1D7A][.1699.0020.001F.1D7A] # LATIN SMALL LETTER TH WITH STRIKETHROUGH
+3394 ; [.17FB.0020.001D.3394][.1699.0020.001D.3394][.187A.0020.001F.3394] # SQUARE THZ
+2122 ; [.17FB.0020.0014.2122][.1726.0020.0014.2122] # TRADE MARK SIGN
+01BE ; [.17FB.0020.0004.01BE][.17D8.0020.0004.01BE] # LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE
+02A6 ; [.17FB.0020.0004.02A6][.17D8.0020.0004.02A6] # LATIN SMALL LETTER TS DIGRAPH
+02A7 ; [.17FB.0020.0004.02A7][.17E9.0020.0004.02A7] # LATIN SMALL LETTER TESH DIGRAPH
+A729 ; [.17FB.0020.0004.A729][.187A.0020.0004.A729] # LATIN SMALL LETTER TZ
+A728 ; [.17FB.0020.000A.A728][.187A.0020.0004.A728] # LATIN CAPITAL LETTER TZ
+1D1B ; [.17FF.0020.0002.1D1B] # LATIN LETTER SMALL CAPITAL T
+0167 ; [.1800.0020.0002.0167] # LATIN SMALL LETTER T WITH STROKE
+0166 ; [.1800.0020.0008.0166] # LATIN CAPITAL LETTER T WITH STROKE
+2C66 ; [.1804.0020.0002.2C66] # LATIN SMALL LETTER T WITH DIAGONAL STROKE
+023E ; [.1804.0020.0008.023E] # LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
+1D75 ; [.1805.0020.0002.1D75] # LATIN SMALL LETTER T WITH MIDDLE TILDE
+01AB ; [.1806.0020.0002.01AB] # LATIN SMALL LETTER T WITH PALATAL HOOK
+1DB5 ; [.1806.0020.0014.1DB5] # MODIFIER LETTER SMALL T WITH PALATAL HOOK
+01AD ; [.180A.0020.0002.01AD] # LATIN SMALL LETTER T WITH HOOK
+01AC ; [.180A.0020.0008.01AC] # LATIN CAPITAL LETTER T WITH HOOK
+0288 ; [.180E.0020.0002.0288] # LATIN SMALL LETTER T WITH RETROFLEX HOOK
+01AE ; [.180E.0020.0008.01AE] # LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
+0236 ; [.1812.0020.0002.0236] # LATIN SMALL LETTER T WITH CURL
+A777 ; [.1816.0020.0002.A777] # LATIN SMALL LETTER TUM
+0287 ; [.1817.0020.0002.0287] # LATIN SMALL LETTER TURNED T
+0075 ; [.181B.0020.0002.0075] # LATIN SMALL LETTER U
+FF55 ; [.181B.0020.0003.FF55] # FULLWIDTH LATIN SMALL LETTER U
+0367 ; [.181B.0020.0004.0367] # COMBINING LATIN SMALL LETTER U
+24B0 ; [*02FB.0020.0004.24B0][.181B.0020.0004.24B0][*02FC.0020.001F.24B0] # PARENTHESIZED LATIN SMALL LETTER U
+1D42E ; [.181B.0020.0005.1D42E] # MATHEMATICAL BOLD SMALL U
+1D462 ; [.181B.0020.0005.1D462] # MATHEMATICAL ITALIC SMALL U
+1D496 ; [.181B.0020.0005.1D496] # MATHEMATICAL BOLD ITALIC SMALL U
+1D4CA ; [.181B.0020.0005.1D4CA] # MATHEMATICAL SCRIPT SMALL U
+1D4FE ; [.181B.0020.0005.1D4FE] # MATHEMATICAL BOLD SCRIPT SMALL U
+1D532 ; [.181B.0020.0005.1D532] # MATHEMATICAL FRAKTUR SMALL U
+1D566 ; [.181B.0020.0005.1D566] # MATHEMATICAL DOUBLE-STRUCK SMALL U
+1D59A ; [.181B.0020.0005.1D59A] # MATHEMATICAL BOLD FRAKTUR SMALL U
+1D5CE ; [.181B.0020.0005.1D5CE] # MATHEMATICAL SANS-SERIF SMALL U
+1D602 ; [.181B.0020.0005.1D602] # MATHEMATICAL SANS-SERIF BOLD SMALL U
+1D636 ; [.181B.0020.0005.1D636] # MATHEMATICAL SANS-SERIF ITALIC SMALL U
+1D66A ; [.181B.0020.0005.1D66A] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U
+1D69E ; [.181B.0020.0005.1D69E] # MATHEMATICAL MONOSPACE SMALL U
+24E4 ; [.181B.0020.0006.24E4] # CIRCLED LATIN SMALL LETTER U
+0055 ; [.181B.0020.0008.0055] # LATIN CAPITAL LETTER U
+FF35 ; [.181B.0020.0009.FF35] # FULLWIDTH LATIN CAPITAL LETTER U
+1F124 ; [*02FB.0020.0004.1F124][.181B.0020.000A.1F124][*02FC.0020.001F.1F124] # PARENTHESIZED LATIN CAPITAL LETTER U
+1F1FA ; [.181B.0020.000A.1F1FA] # REGIONAL INDICATOR SYMBOL LETTER U
+1D414 ; [.181B.0020.000B.1D414] # MATHEMATICAL BOLD CAPITAL U
+1D448 ; [.181B.0020.000B.1D448] # MATHEMATICAL ITALIC CAPITAL U
+1D47C ; [.181B.0020.000B.1D47C] # MATHEMATICAL BOLD ITALIC CAPITAL U
+1D4B0 ; [.181B.0020.000B.1D4B0] # MATHEMATICAL SCRIPT CAPITAL U
+1D4E4 ; [.181B.0020.000B.1D4E4] # MATHEMATICAL BOLD SCRIPT CAPITAL U
+1D518 ; [.181B.0020.000B.1D518] # MATHEMATICAL FRAKTUR CAPITAL U
+1D54C ; [.181B.0020.000B.1D54C] # MATHEMATICAL DOUBLE-STRUCK CAPITAL U
+1D580 ; [.181B.0020.000B.1D580] # MATHEMATICAL BOLD FRAKTUR CAPITAL U
+1D5B4 ; [.181B.0020.000B.1D5B4] # MATHEMATICAL SANS-SERIF CAPITAL U
+1D5E8 ; [.181B.0020.000B.1D5E8] # MATHEMATICAL SANS-SERIF BOLD CAPITAL U
+1D61C ; [.181B.0020.000B.1D61C] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL U
+1D650 ; [.181B.0020.000B.1D650] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U
+1D684 ; [.181B.0020.000B.1D684] # MATHEMATICAL MONOSPACE CAPITAL U
+24CA ; [.181B.0020.000C.24CA] # CIRCLED LATIN CAPITAL LETTER U
+1F164 ; [.181B.0020.000C.1F164] # NEGATIVE CIRCLED LATIN CAPITAL LETTER U
+1D58 ; [.181B.0020.0014.1D58] # MODIFIER LETTER SMALL U
+1D64 ; [.181B.0020.0015.1D64] # LATIN SUBSCRIPT SMALL LETTER U
+1D41 ; [.181B.0020.001D.1D41] # MODIFIER LETTER CAPITAL U
+1F144 ; [.181B.0020.001D.1F144] # SQUARED LATIN CAPITAL LETTER U
+1F184 ; [.181B.0020.001D.1F184] # NEGATIVE SQUARED LATIN CAPITAL LETTER U
+00FA ; [.181B.0020.0002.0075][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH ACUTE
+00DA ; [.181B.0020.0008.0055][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH ACUTE
+00F9 ; [.181B.0020.0002.0075][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH GRAVE
+00D9 ; [.181B.0020.0008.0055][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH GRAVE
+016D ; [.181B.0020.0002.0075][.0000.0037.0002.0306] # LATIN SMALL LETTER U WITH BREVE
+016C ; [.181B.0020.0008.0055][.0000.0037.0002.0306] # LATIN CAPITAL LETTER U WITH BREVE
+00FB ; [.181B.0020.0002.0075][.0000.003C.0002.0302] # LATIN SMALL LETTER U WITH CIRCUMFLEX
+00DB ; [.181B.0020.0008.0055][.0000.003C.0002.0302] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+01D4 ; [.181B.0020.0002.0075][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH CARON
+01D3 ; [.181B.0020.0008.0055][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH CARON
+016F ; [.181B.0020.0002.0075][.0000.0043.0002.030A] # LATIN SMALL LETTER U WITH RING ABOVE
+016E ; [.181B.0020.0008.0055][.0000.0043.0002.030A] # LATIN CAPITAL LETTER U WITH RING ABOVE
+00FC ; [.181B.0020.0002.0075][.0000.0047.0002.0308] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC ; [.181B.0020.0008.0055][.0000.0047.0002.0308] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01D8 ; [.181B.0020.0002.0075][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7 ; [.181B.0020.0008.0055][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01DC ; [.181B.0020.0002.0075][.0000.0047.0002.0308][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB ; [.181B.0020.0008.0055][.0000.0047.0002.0308][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01DA ; [.181B.0020.0002.0075][.0000.0047.0002.0308][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9 ; [.181B.0020.0008.0055][.0000.0047.0002.0308][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+01D6 ; [.181B.0020.0002.0075][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5 ; [.181B.0020.0008.0055][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0171 ; [.181B.0020.0002.0075][.0000.004D.0002.030B] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170 ; [.181B.0020.0008.0055][.0000.004D.0002.030B] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0169 ; [.181B.0020.0002.0075][.0000.004E.0002.0303] # LATIN SMALL LETTER U WITH TILDE
+0168 ; [.181B.0020.0008.0055][.0000.004E.0002.0303] # LATIN CAPITAL LETTER U WITH TILDE
+1E79 ; [.181B.0020.0002.0075][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH TILDE AND ACUTE
+1E78 ; [.181B.0020.0008.0055][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
+0173 ; [.181B.0020.0002.0075][.0000.0059.0002.0328] # LATIN SMALL LETTER U WITH OGONEK
+0172 ; [.181B.0020.0008.0055][.0000.0059.0002.0328] # LATIN CAPITAL LETTER U WITH OGONEK
+016B ; [.181B.0020.0002.0075][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH MACRON
+016A ; [.181B.0020.0008.0055][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH MACRON
+1E7B ; [.181B.0020.0002.0075][.0000.005B.0002.0304][.0000.0047.0002.0308] # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
+1E7A ; [.181B.0020.0008.0055][.0000.005B.0002.0304][.0000.0047.0002.0308] # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
+1EE7 ; [.181B.0020.0002.0075][.0000.0064.0002.0309] # LATIN SMALL LETTER U WITH HOOK ABOVE
+1EE6 ; [.181B.0020.0008.0055][.0000.0064.0002.0309] # LATIN CAPITAL LETTER U WITH HOOK ABOVE
+0215 ; [.181B.0020.0002.0075][.0000.0065.0002.030F] # LATIN SMALL LETTER U WITH DOUBLE GRAVE
+0214 ; [.181B.0020.0008.0055][.0000.0065.0002.030F] # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
+0217 ; [.181B.0020.0002.0075][.0000.0067.0002.0311] # LATIN SMALL LETTER U WITH INVERTED BREVE
+0216 ; [.181B.0020.0008.0055][.0000.0067.0002.0311] # LATIN CAPITAL LETTER U WITH INVERTED BREVE
+01B0 ; [.181B.0020.0002.0075][.0000.0068.0002.031B] # LATIN SMALL LETTER U WITH HORN
+01AF ; [.181B.0020.0008.0055][.0000.0068.0002.031B] # LATIN CAPITAL LETTER U WITH HORN
+1EE9 ; [.181B.0020.0002.0075][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH HORN AND ACUTE
+1EE8 ; [.181B.0020.0008.0055][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+1EEB ; [.181B.0020.0002.0075][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH HORN AND GRAVE
+1EEA ; [.181B.0020.0008.0055][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+1EEF ; [.181B.0020.0002.0075][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN SMALL LETTER U WITH HORN AND TILDE
+1EEE ; [.181B.0020.0008.0055][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN CAPITAL LETTER U WITH HORN AND TILDE
+1EED ; [.181B.0020.0002.0075][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
+1EEC ; [.181B.0020.0008.0055][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+1EF1 ; [.181B.0020.0002.0075][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+1EF0 ; [.181B.0020.0008.0055][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+1EE5 ; [.181B.0020.0002.0075][.0000.0070.0002.0323] # LATIN SMALL LETTER U WITH DOT BELOW
+1EE4 ; [.181B.0020.0008.0055][.0000.0070.0002.0323] # LATIN CAPITAL LETTER U WITH DOT BELOW
+1E73 ; [.181B.0020.0002.0075][.0000.0075.0002.0324] # LATIN SMALL LETTER U WITH DIAERESIS BELOW
+1E72 ; [.181B.0020.0008.0055][.0000.0075.0002.0324] # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
+1E77 ; [.181B.0020.0002.0075][.0000.0078.0002.032D] # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
+1E76 ; [.181B.0020.0008.0055][.0000.0078.0002.032D] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
+1E75 ; [.181B.0020.0002.0075][.0000.007A.0002.0330] # LATIN SMALL LETTER U WITH TILDE BELOW
+1E74 ; [.181B.0020.0008.0055][.0000.007A.0002.0330] # LATIN CAPITAL LETTER U WITH TILDE BELOW
+1F199 ; [.181B.0020.001D.1F199][.177B.0020.001D.1F199][*025E.0020.001F.1F199] # SQUARED UP WITH EXCLAMATION MARK
+1D1C ; [.181F.0020.0002.1D1C] # LATIN LETTER SMALL CAPITAL U
+1DB8 ; [.181F.0020.0014.1DB8] # MODIFIER LETTER SMALL CAPITAL U
+1D1D ; [.1820.0020.0002.1D1D] # LATIN SMALL LETTER SIDEWAYS U
+1D59 ; [.1820.0020.0014.1D59] # MODIFIER LETTER SMALL SIDEWAYS U
+1D1E ; [.1821.0020.0002.1D1E] # LATIN SMALL LETTER SIDEWAYS DIAERESIZED U
+1D6B ; [.1822.0020.0002.1D6B] # LATIN SMALL LETTER UE
+0289 ; [.1823.0020.0002.0289] # LATIN SMALL LETTER U BAR
+0244 ; [.1823.0020.0008.0244] # LATIN CAPITAL LETTER U BAR
+1DB6 ; [.1823.0020.0014.1DB6] # MODIFIER LETTER SMALL U BAR
+1D7E ; [.1827.0020.0002.1D7E] # LATIN SMALL CAPITAL LETTER U WITH STROKE
+1D99 ; [.1828.0020.0002.1D99] # LATIN SMALL LETTER U WITH RETROFLEX HOOK
+0265 ; [.1829.0020.0002.0265] # LATIN SMALL LETTER TURNED H
+A78D ; [.1829.0020.0008.A78D] # LATIN CAPITAL LETTER TURNED H
+1DA3 ; [.1829.0020.0014.1DA3] # MODIFIER LETTER SMALL TURNED H
+02AE ; [.182D.0020.0002.02AE] # LATIN SMALL LETTER TURNED H WITH FISHHOOK
+02AF ; [.1831.0020.0002.02AF] # LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+026F ; [.1835.0020.0002.026F] # LATIN SMALL LETTER TURNED M
+019C ; [.1835.0020.0008.019C] # LATIN CAPITAL LETTER TURNED M
+1D5A ; [.1835.0020.0014.1D5A] # MODIFIER LETTER SMALL TURNED M
+A7FA ; [.1839.0020.0002.A7FA] # LATIN LETTER SMALL CAPITAL TURNED M
+1D1F ; [.183A.0020.0002.1D1F] # LATIN SMALL LETTER SIDEWAYS TURNED M
+0270 ; [.183B.0020.0002.0270] # LATIN SMALL LETTER TURNED M WITH LONG LEG
+1DAD ; [.183B.0020.0014.1DAD] # MODIFIER LETTER SMALL TURNED M WITH LONG LEG
+028A ; [.183F.0020.0002.028A] # LATIN SMALL LETTER UPSILON
+01B1 ; [.183F.0020.0008.01B1] # LATIN CAPITAL LETTER UPSILON
+1DB7 ; [.183F.0020.0014.1DB7] # MODIFIER LETTER SMALL UPSILON
+1D7F ; [.1843.0020.0002.1D7F] # LATIN SMALL LETTER UPSILON WITH STROKE
+0076 ; [.1844.0020.0002.0076] # LATIN SMALL LETTER V
+FF56 ; [.1844.0020.0003.FF56] # FULLWIDTH LATIN SMALL LETTER V
+036E ; [.1844.0020.0004.036E] # COMBINING LATIN SMALL LETTER V
+2174 ; [.1844.0020.0004.2174] # SMALL ROMAN NUMERAL FIVE
+24B1 ; [*02FB.0020.0004.24B1][.1844.0020.0004.24B1][*02FC.0020.001F.24B1] # PARENTHESIZED LATIN SMALL LETTER V
+1D42F ; [.1844.0020.0005.1D42F] # MATHEMATICAL BOLD SMALL V
+1D463 ; [.1844.0020.0005.1D463] # MATHEMATICAL ITALIC SMALL V
+1D497 ; [.1844.0020.0005.1D497] # MATHEMATICAL BOLD ITALIC SMALL V
+1D4CB ; [.1844.0020.0005.1D4CB] # MATHEMATICAL SCRIPT SMALL V
+1D4FF ; [.1844.0020.0005.1D4FF] # MATHEMATICAL BOLD SCRIPT SMALL V
+1D533 ; [.1844.0020.0005.1D533] # MATHEMATICAL FRAKTUR SMALL V
+1D567 ; [.1844.0020.0005.1D567] # MATHEMATICAL DOUBLE-STRUCK SMALL V
+1D59B ; [.1844.0020.0005.1D59B] # MATHEMATICAL BOLD FRAKTUR SMALL V
+1D5CF ; [.1844.0020.0005.1D5CF] # MATHEMATICAL SANS-SERIF SMALL V
+1D603 ; [.1844.0020.0005.1D603] # MATHEMATICAL SANS-SERIF BOLD SMALL V
+1D637 ; [.1844.0020.0005.1D637] # MATHEMATICAL SANS-SERIF ITALIC SMALL V
+1D66B ; [.1844.0020.0005.1D66B] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V
+1D69F ; [.1844.0020.0005.1D69F] # MATHEMATICAL MONOSPACE SMALL V
+24E5 ; [.1844.0020.0006.24E5] # CIRCLED LATIN SMALL LETTER V
+0056 ; [.1844.0020.0008.0056] # LATIN CAPITAL LETTER V
+FF36 ; [.1844.0020.0009.FF36] # FULLWIDTH LATIN CAPITAL LETTER V
+2164 ; [.1844.0020.000A.2164] # ROMAN NUMERAL FIVE
+1F125 ; [*02FB.0020.0004.1F125][.1844.0020.000A.1F125][*02FC.0020.001F.1F125] # PARENTHESIZED LATIN CAPITAL LETTER V
+1F1FB ; [.1844.0020.000A.1F1FB] # REGIONAL INDICATOR SYMBOL LETTER V
+1D415 ; [.1844.0020.000B.1D415] # MATHEMATICAL BOLD CAPITAL V
+1D449 ; [.1844.0020.000B.1D449] # MATHEMATICAL ITALIC CAPITAL V
+1D47D ; [.1844.0020.000B.1D47D] # MATHEMATICAL BOLD ITALIC CAPITAL V
+1D4B1 ; [.1844.0020.000B.1D4B1] # MATHEMATICAL SCRIPT CAPITAL V
+1D4E5 ; [.1844.0020.000B.1D4E5] # MATHEMATICAL BOLD SCRIPT CAPITAL V
+1D519 ; [.1844.0020.000B.1D519] # MATHEMATICAL FRAKTUR CAPITAL V
+1D54D ; [.1844.0020.000B.1D54D] # MATHEMATICAL DOUBLE-STRUCK CAPITAL V
+1D581 ; [.1844.0020.000B.1D581] # MATHEMATICAL BOLD FRAKTUR CAPITAL V
+1D5B5 ; [.1844.0020.000B.1D5B5] # MATHEMATICAL SANS-SERIF CAPITAL V
+1D5E9 ; [.1844.0020.000B.1D5E9] # MATHEMATICAL SANS-SERIF BOLD CAPITAL V
+1D61D ; [.1844.0020.000B.1D61D] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL V
+1D651 ; [.1844.0020.000B.1D651] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V
+1D685 ; [.1844.0020.000B.1D685] # MATHEMATICAL MONOSPACE CAPITAL V
+24CB ; [.1844.0020.000C.24CB] # CIRCLED LATIN CAPITAL LETTER V
+1F165 ; [.1844.0020.000C.1F165] # NEGATIVE CIRCLED LATIN CAPITAL LETTER V
+1D5B ; [.1844.0020.0014.1D5B] # MODIFIER LETTER SMALL V
+1D65 ; [.1844.0020.0015.1D65] # LATIN SUBSCRIPT SMALL LETTER V
+2C7D ; [.1844.0020.001D.2C7D] # MODIFIER LETTER CAPITAL V
+1F145 ; [.1844.0020.001D.1F145] # SQUARED LATIN CAPITAL LETTER V
+1F185 ; [.1844.0020.001D.1F185] # NEGATIVE SQUARED LATIN CAPITAL LETTER V
+1E7D ; [.1844.0020.0002.0076][.0000.004E.0002.0303] # LATIN SMALL LETTER V WITH TILDE
+1E7C ; [.1844.0020.0008.0056][.0000.004E.0002.0303] # LATIN CAPITAL LETTER V WITH TILDE
+1E7F ; [.1844.0020.0002.0076][.0000.0070.0002.0323] # LATIN SMALL LETTER V WITH DOT BELOW
+1E7E ; [.1844.0020.0008.0056][.0000.0070.0002.0323] # LATIN CAPITAL LETTER V WITH DOT BELOW
+2175 ; [.1844.0020.0004.2175][.16B2.0020.0004.2175] # SMALL ROMAN NUMERAL SIX
+2165 ; [.1844.0020.000A.2165][.16B2.0020.000A.2165] # ROMAN NUMERAL SIX
+2176 ; [.1844.0020.0004.2176][.16B2.0020.0004.2176][.16B2.0020.001F.2176] # SMALL ROMAN NUMERAL SEVEN
+2166 ; [.1844.0020.000A.2166][.16B2.0020.000A.2166][.16B2.0020.001F.2166] # ROMAN NUMERAL SEVEN
+2177 ; [.1844.0020.0004.2177][.16B2.0020.0004.2177][.16B2.0020.001F.2177][.16B2.0020.001F.2177] # SMALL ROMAN NUMERAL EIGHT
+2167 ; [.1844.0020.000A.2167][.16B2.0020.000A.2167][.16B2.0020.001F.2167][.16B2.0020.001F.2167] # ROMAN NUMERAL EIGHT
+33DE ; [.1844.0020.001D.33DE][*05AB.0020.001C.33DE][.1726.0020.001F.33DE] # SQUARE V OVER M
+1F19A ; [.1844.0020.001D.1F19A][.17D8.0020.001D.1F19A] # SQUARED VS
+A761 ; [.1844.0020.0004.A761][.1865.0020.0004.A761] # LATIN SMALL LETTER VY
+A760 ; [.1844.0020.000A.A760][.1865.0020.000A.A760] # LATIN CAPITAL LETTER VY
+1D20 ; [.1848.0020.0002.1D20] # LATIN LETTER SMALL CAPITAL V
+A75F ; [.1849.0020.0002.A75F] # LATIN SMALL LETTER V WITH DIAGONAL STROKE
+A75E ; [.1849.0020.0008.A75E] # LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
+1D8C ; [.184A.0020.0002.1D8C] # LATIN SMALL LETTER V WITH PALATAL HOOK
+028B ; [.184B.0020.0002.028B] # LATIN SMALL LETTER V WITH HOOK
+01B2 ; [.184B.0020.0008.01B2] # LATIN CAPITAL LETTER V WITH HOOK
+1DB9 ; [.184B.0020.0014.1DB9] # MODIFIER LETTER SMALL V WITH HOOK
+2C71 ; [.184F.0020.0002.2C71] # LATIN SMALL LETTER V WITH RIGHT HOOK
+2C74 ; [.1850.0020.0002.2C74] # LATIN SMALL LETTER V WITH CURL
+1EFD ; [.1851.0020.0002.1EFD] # LATIN SMALL LETTER MIDDLE-WELSH V
+1EFC ; [.1851.0020.0008.1EFC] # LATIN CAPITAL LETTER MIDDLE-WELSH V
+028C ; [.1852.0020.0002.028C] # LATIN SMALL LETTER TURNED V
+0245 ; [.1852.0020.0008.0245] # LATIN CAPITAL LETTER TURNED V
+1DBA ; [.1852.0020.0014.1DBA] # MODIFIER LETTER SMALL TURNED V
+0077 ; [.1856.0020.0002.0077] # LATIN SMALL LETTER W
+FF57 ; [.1856.0020.0003.FF57] # FULLWIDTH LATIN SMALL LETTER W
+24B2 ; [*02FB.0020.0004.24B2][.1856.0020.0004.24B2][*02FC.0020.001F.24B2] # PARENTHESIZED LATIN SMALL LETTER W
+1D430 ; [.1856.0020.0005.1D430] # MATHEMATICAL BOLD SMALL W
+1D464 ; [.1856.0020.0005.1D464] # MATHEMATICAL ITALIC SMALL W
+1D498 ; [.1856.0020.0005.1D498] # MATHEMATICAL BOLD ITALIC SMALL W
+1D4CC ; [.1856.0020.0005.1D4CC] # MATHEMATICAL SCRIPT SMALL W
+1D500 ; [.1856.0020.0005.1D500] # MATHEMATICAL BOLD SCRIPT SMALL W
+1D534 ; [.1856.0020.0005.1D534] # MATHEMATICAL FRAKTUR SMALL W
+1D568 ; [.1856.0020.0005.1D568] # MATHEMATICAL DOUBLE-STRUCK SMALL W
+1D59C ; [.1856.0020.0005.1D59C] # MATHEMATICAL BOLD FRAKTUR SMALL W
+1D5D0 ; [.1856.0020.0005.1D5D0] # MATHEMATICAL SANS-SERIF SMALL W
+1D604 ; [.1856.0020.0005.1D604] # MATHEMATICAL SANS-SERIF BOLD SMALL W
+1D638 ; [.1856.0020.0005.1D638] # MATHEMATICAL SANS-SERIF ITALIC SMALL W
+1D66C ; [.1856.0020.0005.1D66C] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W
+1D6A0 ; [.1856.0020.0005.1D6A0] # MATHEMATICAL MONOSPACE SMALL W
+24E6 ; [.1856.0020.0006.24E6] # CIRCLED LATIN SMALL LETTER W
+0057 ; [.1856.0020.0008.0057] # LATIN CAPITAL LETTER W
+FF37 ; [.1856.0020.0009.FF37] # FULLWIDTH LATIN CAPITAL LETTER W
+1F126 ; [*02FB.0020.0004.1F126][.1856.0020.000A.1F126][*02FC.0020.001F.1F126] # PARENTHESIZED LATIN CAPITAL LETTER W
+1F1FC ; [.1856.0020.000A.1F1FC] # REGIONAL INDICATOR SYMBOL LETTER W
+1D416 ; [.1856.0020.000B.1D416] # MATHEMATICAL BOLD CAPITAL W
+1D44A ; [.1856.0020.000B.1D44A] # MATHEMATICAL ITALIC CAPITAL W
+1D47E ; [.1856.0020.000B.1D47E] # MATHEMATICAL BOLD ITALIC CAPITAL W
+1D4B2 ; [.1856.0020.000B.1D4B2] # MATHEMATICAL SCRIPT CAPITAL W
+1D4E6 ; [.1856.0020.000B.1D4E6] # MATHEMATICAL BOLD SCRIPT CAPITAL W
+1D51A ; [.1856.0020.000B.1D51A] # MATHEMATICAL FRAKTUR CAPITAL W
+1D54E ; [.1856.0020.000B.1D54E] # MATHEMATICAL DOUBLE-STRUCK CAPITAL W
+1D582 ; [.1856.0020.000B.1D582] # MATHEMATICAL BOLD FRAKTUR CAPITAL W
+1D5B6 ; [.1856.0020.000B.1D5B6] # MATHEMATICAL SANS-SERIF CAPITAL W
+1D5EA ; [.1856.0020.000B.1D5EA] # MATHEMATICAL SANS-SERIF BOLD CAPITAL W
+1D61E ; [.1856.0020.000B.1D61E] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL W
+1D652 ; [.1856.0020.000B.1D652] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W
+1D686 ; [.1856.0020.000B.1D686] # MATHEMATICAL MONOSPACE CAPITAL W
+24CC ; [.1856.0020.000C.24CC] # CIRCLED LATIN CAPITAL LETTER W
+1F166 ; [.1856.0020.000C.1F166] # NEGATIVE CIRCLED LATIN CAPITAL LETTER W
+02B7 ; [.1856.0020.0014.02B7] # MODIFIER LETTER SMALL W
+1D42 ; [.1856.0020.001D.1D42] # MODIFIER LETTER CAPITAL W
+1F146 ; [.1856.0020.001D.1F146] # SQUARED LATIN CAPITAL LETTER W
+1F186 ; [.1856.0020.001D.1F186] # NEGATIVE SQUARED LATIN CAPITAL LETTER W
+1E83 ; [.1856.0020.0002.0077][.0000.0032.0002.0301] # LATIN SMALL LETTER W WITH ACUTE
+1E82 ; [.1856.0020.0008.0057][.0000.0032.0002.0301] # LATIN CAPITAL LETTER W WITH ACUTE
+1E81 ; [.1856.0020.0002.0077][.0000.0035.0002.0300] # LATIN SMALL LETTER W WITH GRAVE
+1E80 ; [.1856.0020.0008.0057][.0000.0035.0002.0300] # LATIN CAPITAL LETTER W WITH GRAVE
+0175 ; [.1856.0020.0002.0077][.0000.003C.0002.0302] # LATIN SMALL LETTER W WITH CIRCUMFLEX
+0174 ; [.1856.0020.0008.0057][.0000.003C.0002.0302] # LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+1E98 ; [.1856.0020.0002.0077][.0000.0043.0002.030A] # LATIN SMALL LETTER W WITH RING ABOVE
+1E85 ; [.1856.0020.0002.0077][.0000.0047.0002.0308] # LATIN SMALL LETTER W WITH DIAERESIS
+1E84 ; [.1856.0020.0008.0057][.0000.0047.0002.0308] # LATIN CAPITAL LETTER W WITH DIAERESIS
+1E87 ; [.1856.0020.0002.0077][.0000.0052.0002.0307] # LATIN SMALL LETTER W WITH DOT ABOVE
+1E86 ; [.1856.0020.0008.0057][.0000.0052.0002.0307] # LATIN CAPITAL LETTER W WITH DOT ABOVE
+1E89 ; [.1856.0020.0002.0077][.0000.0070.0002.0323] # LATIN SMALL LETTER W WITH DOT BELOW
+1E88 ; [.1856.0020.0008.0057][.0000.0070.0002.0323] # LATIN CAPITAL LETTER W WITH DOT BELOW
+33DD ; [.1856.0020.001D.33DD][.15EA.0020.001C.33DD] # SQUARE WB
+1F14F ; [.1856.0020.001D.1F14F][.1602.0020.001D.1F14F] # SQUARED WC
+1F18F ; [.1856.0020.001D.1F18F][.1602.0020.001D.1F18F] # NEGATIVE SQUARED WC
+1F12E ; [.1856.0020.000C.1F12E][.187A.0020.000C.1F12E] # CIRCLED WZ
+1D21 ; [.185A.0020.0002.1D21] # LATIN LETTER SMALL CAPITAL W
+2C73 ; [.185B.0020.0002.2C73] # LATIN SMALL LETTER W WITH HOOK
+2C72 ; [.185B.0020.0008.2C72] # LATIN CAPITAL LETTER W WITH HOOK
+028D ; [.185C.0020.0002.028D] # LATIN SMALL LETTER TURNED W
+0078 ; [.1860.0020.0002.0078] # LATIN SMALL LETTER X
+FF58 ; [.1860.0020.0003.FF58] # FULLWIDTH LATIN SMALL LETTER X
+036F ; [.1860.0020.0004.036F] # COMBINING LATIN SMALL LETTER X
+2179 ; [.1860.0020.0004.2179] # SMALL ROMAN NUMERAL TEN
+24B3 ; [*02FB.0020.0004.24B3][.1860.0020.0004.24B3][*02FC.0020.001F.24B3] # PARENTHESIZED LATIN SMALL LETTER X
+1D431 ; [.1860.0020.0005.1D431] # MATHEMATICAL BOLD SMALL X
+1D465 ; [.1860.0020.0005.1D465] # MATHEMATICAL ITALIC SMALL X
+1D499 ; [.1860.0020.0005.1D499] # MATHEMATICAL BOLD ITALIC SMALL X
+1D4CD ; [.1860.0020.0005.1D4CD] # MATHEMATICAL SCRIPT SMALL X
+1D501 ; [.1860.0020.0005.1D501] # MATHEMATICAL BOLD SCRIPT SMALL X
+1D535 ; [.1860.0020.0005.1D535] # MATHEMATICAL FRAKTUR SMALL X
+1D569 ; [.1860.0020.0005.1D569] # MATHEMATICAL DOUBLE-STRUCK SMALL X
+1D59D ; [.1860.0020.0005.1D59D] # MATHEMATICAL BOLD FRAKTUR SMALL X
+1D5D1 ; [.1860.0020.0005.1D5D1] # MATHEMATICAL SANS-SERIF SMALL X
+1D605 ; [.1860.0020.0005.1D605] # MATHEMATICAL SANS-SERIF BOLD SMALL X
+1D639 ; [.1860.0020.0005.1D639] # MATHEMATICAL SANS-SERIF ITALIC SMALL X
+1D66D ; [.1860.0020.0005.1D66D] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X
+1D6A1 ; [.1860.0020.0005.1D6A1] # MATHEMATICAL MONOSPACE SMALL X
+24E7 ; [.1860.0020.0006.24E7] # CIRCLED LATIN SMALL LETTER X
+0058 ; [.1860.0020.0008.0058] # LATIN CAPITAL LETTER X
+FF38 ; [.1860.0020.0009.FF38] # FULLWIDTH LATIN CAPITAL LETTER X
+2169 ; [.1860.0020.000A.2169] # ROMAN NUMERAL TEN
+1F127 ; [*02FB.0020.0004.1F127][.1860.0020.000A.1F127][*02FC.0020.001F.1F127] # PARENTHESIZED LATIN CAPITAL LETTER X
+1F1FD ; [.1860.0020.000A.1F1FD] # REGIONAL INDICATOR SYMBOL LETTER X
+1D417 ; [.1860.0020.000B.1D417] # MATHEMATICAL BOLD CAPITAL X
+1D44B ; [.1860.0020.000B.1D44B] # MATHEMATICAL ITALIC CAPITAL X
+1D47F ; [.1860.0020.000B.1D47F] # MATHEMATICAL BOLD ITALIC CAPITAL X
+1D4B3 ; [.1860.0020.000B.1D4B3] # MATHEMATICAL SCRIPT CAPITAL X
+1D4E7 ; [.1860.0020.000B.1D4E7] # MATHEMATICAL BOLD SCRIPT CAPITAL X
+1D51B ; [.1860.0020.000B.1D51B] # MATHEMATICAL FRAKTUR CAPITAL X
+1D54F ; [.1860.0020.000B.1D54F] # MATHEMATICAL DOUBLE-STRUCK CAPITAL X
+1D583 ; [.1860.0020.000B.1D583] # MATHEMATICAL BOLD FRAKTUR CAPITAL X
+1D5B7 ; [.1860.0020.000B.1D5B7] # MATHEMATICAL SANS-SERIF CAPITAL X
+1D5EB ; [.1860.0020.000B.1D5EB] # MATHEMATICAL SANS-SERIF BOLD CAPITAL X
+1D61F ; [.1860.0020.000B.1D61F] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL X
+1D653 ; [.1860.0020.000B.1D653] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X
+1D687 ; [.1860.0020.000B.1D687] # MATHEMATICAL MONOSPACE CAPITAL X
+24CD ; [.1860.0020.000C.24CD] # CIRCLED LATIN CAPITAL LETTER X
+1F167 ; [.1860.0020.000C.1F167] # NEGATIVE CIRCLED LATIN CAPITAL LETTER X
+02E3 ; [.1860.0020.0014.02E3] # MODIFIER LETTER SMALL X
+2093 ; [.1860.0020.0015.2093] # LATIN SUBSCRIPT SMALL LETTER X
+1F147 ; [.1860.0020.001D.1F147] # SQUARED LATIN CAPITAL LETTER X
+1F187 ; [.1860.0020.001D.1F187] # NEGATIVE SQUARED LATIN CAPITAL LETTER X
+1E8D ; [.1860.0020.0002.0078][.0000.0047.0002.0308] # LATIN SMALL LETTER X WITH DIAERESIS
+1E8C ; [.1860.0020.0008.0058][.0000.0047.0002.0308] # LATIN CAPITAL LETTER X WITH DIAERESIS
+1E8B ; [.1860.0020.0002.0078][.0000.0052.0002.0307] # LATIN SMALL LETTER X WITH DOT ABOVE
+1E8A ; [.1860.0020.0008.0058][.0000.0052.0002.0307] # LATIN CAPITAL LETTER X WITH DOT ABOVE
+217A ; [.1860.0020.0004.217A][.16B2.0020.0004.217A] # SMALL ROMAN NUMERAL ELEVEN
+216A ; [.1860.0020.000A.216A][.16B2.0020.000A.216A] # ROMAN NUMERAL ELEVEN
+217B ; [.1860.0020.0004.217B][.16B2.0020.0004.217B][.16B2.0020.001F.217B] # SMALL ROMAN NUMERAL TWELVE
+216B ; [.1860.0020.000A.216B][.16B2.0020.000A.216B][.16B2.0020.001F.216B] # ROMAN NUMERAL TWELVE
+1D8D ; [.1864.0020.0002.1D8D] # LATIN SMALL LETTER X WITH PALATAL HOOK
+0079 ; [.1865.0020.0002.0079] # LATIN SMALL LETTER Y
+FF59 ; [.1865.0020.0003.FF59] # FULLWIDTH LATIN SMALL LETTER Y
+24B4 ; [*02FB.0020.0004.24B4][.1865.0020.0004.24B4][*02FC.0020.001F.24B4] # PARENTHESIZED LATIN SMALL LETTER Y
+1D432 ; [.1865.0020.0005.1D432] # MATHEMATICAL BOLD SMALL Y
+1D466 ; [.1865.0020.0005.1D466] # MATHEMATICAL ITALIC SMALL Y
+1D49A ; [.1865.0020.0005.1D49A] # MATHEMATICAL BOLD ITALIC SMALL Y
+1D4CE ; [.1865.0020.0005.1D4CE] # MATHEMATICAL SCRIPT SMALL Y
+1D502 ; [.1865.0020.0005.1D502] # MATHEMATICAL BOLD SCRIPT SMALL Y
+1D536 ; [.1865.0020.0005.1D536] # MATHEMATICAL FRAKTUR SMALL Y
+1D56A ; [.1865.0020.0005.1D56A] # MATHEMATICAL DOUBLE-STRUCK SMALL Y
+1D59E ; [.1865.0020.0005.1D59E] # MATHEMATICAL BOLD FRAKTUR SMALL Y
+1D5D2 ; [.1865.0020.0005.1D5D2] # MATHEMATICAL SANS-SERIF SMALL Y
+1D606 ; [.1865.0020.0005.1D606] # MATHEMATICAL SANS-SERIF BOLD SMALL Y
+1D63A ; [.1865.0020.0005.1D63A] # MATHEMATICAL SANS-SERIF ITALIC SMALL Y
+1D66E ; [.1865.0020.0005.1D66E] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y
+1D6A2 ; [.1865.0020.0005.1D6A2] # MATHEMATICAL MONOSPACE SMALL Y
+24E8 ; [.1865.0020.0006.24E8] # CIRCLED LATIN SMALL LETTER Y
+0059 ; [.1865.0020.0008.0059] # LATIN CAPITAL LETTER Y
+FF39 ; [.1865.0020.0009.FF39] # FULLWIDTH LATIN CAPITAL LETTER Y
+1F128 ; [*02FB.0020.0004.1F128][.1865.0020.000A.1F128][*02FC.0020.001F.1F128] # PARENTHESIZED LATIN CAPITAL LETTER Y
+1F1FE ; [.1865.0020.000A.1F1FE] # REGIONAL INDICATOR SYMBOL LETTER Y
+1D418 ; [.1865.0020.000B.1D418] # MATHEMATICAL BOLD CAPITAL Y
+1D44C ; [.1865.0020.000B.1D44C] # MATHEMATICAL ITALIC CAPITAL Y
+1D480 ; [.1865.0020.000B.1D480] # MATHEMATICAL BOLD ITALIC CAPITAL Y
+1D4B4 ; [.1865.0020.000B.1D4B4] # MATHEMATICAL SCRIPT CAPITAL Y
+1D4E8 ; [.1865.0020.000B.1D4E8] # MATHEMATICAL BOLD SCRIPT CAPITAL Y
+1D51C ; [.1865.0020.000B.1D51C] # MATHEMATICAL FRAKTUR CAPITAL Y
+1D550 ; [.1865.0020.000B.1D550] # MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
+1D584 ; [.1865.0020.000B.1D584] # MATHEMATICAL BOLD FRAKTUR CAPITAL Y
+1D5B8 ; [.1865.0020.000B.1D5B8] # MATHEMATICAL SANS-SERIF CAPITAL Y
+1D5EC ; [.1865.0020.000B.1D5EC] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Y
+1D620 ; [.1865.0020.000B.1D620] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y
+1D654 ; [.1865.0020.000B.1D654] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y
+1D688 ; [.1865.0020.000B.1D688] # MATHEMATICAL MONOSPACE CAPITAL Y
+24CE ; [.1865.0020.000C.24CE] # CIRCLED LATIN CAPITAL LETTER Y
+1F168 ; [.1865.0020.000C.1F168] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Y
+02B8 ; [.1865.0020.0014.02B8] # MODIFIER LETTER SMALL Y
+1F148 ; [.1865.0020.001D.1F148] # SQUARED LATIN CAPITAL LETTER Y
+1F188 ; [.1865.0020.001D.1F188] # NEGATIVE SQUARED LATIN CAPITAL LETTER Y
+00FD ; [.1865.0020.0002.0079][.0000.0032.0002.0301] # LATIN SMALL LETTER Y WITH ACUTE
+00DD ; [.1865.0020.0008.0059][.0000.0032.0002.0301] # LATIN CAPITAL LETTER Y WITH ACUTE
+1EF3 ; [.1865.0020.0002.0079][.0000.0035.0002.0300] # LATIN SMALL LETTER Y WITH GRAVE
+1EF2 ; [.1865.0020.0008.0059][.0000.0035.0002.0300] # LATIN CAPITAL LETTER Y WITH GRAVE
+0177 ; [.1865.0020.0002.0079][.0000.003C.0002.0302] # LATIN SMALL LETTER Y WITH CIRCUMFLEX
+0176 ; [.1865.0020.0008.0059][.0000.003C.0002.0302] # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+1E99 ; [.1865.0020.0002.0079][.0000.0043.0002.030A] # LATIN SMALL LETTER Y WITH RING ABOVE
+00FF ; [.1865.0020.0002.0079][.0000.0047.0002.0308] # LATIN SMALL LETTER Y WITH DIAERESIS
+0178 ; [.1865.0020.0008.0059][.0000.0047.0002.0308] # LATIN CAPITAL LETTER Y WITH DIAERESIS
+1EF9 ; [.1865.0020.0002.0079][.0000.004E.0002.0303] # LATIN SMALL LETTER Y WITH TILDE
+1EF8 ; [.1865.0020.0008.0059][.0000.004E.0002.0303] # LATIN CAPITAL LETTER Y WITH TILDE
+1E8F ; [.1865.0020.0002.0079][.0000.0052.0002.0307] # LATIN SMALL LETTER Y WITH DOT ABOVE
+1E8E ; [.1865.0020.0008.0059][.0000.0052.0002.0307] # LATIN CAPITAL LETTER Y WITH DOT ABOVE
+0233 ; [.1865.0020.0002.0079][.0000.005B.0002.0304] # LATIN SMALL LETTER Y WITH MACRON
+0232 ; [.1865.0020.0008.0059][.0000.005B.0002.0304] # LATIN CAPITAL LETTER Y WITH MACRON
+1EF7 ; [.1865.0020.0002.0079][.0000.0064.0002.0309] # LATIN SMALL LETTER Y WITH HOOK ABOVE
+1EF6 ; [.1865.0020.0008.0059][.0000.0064.0002.0309] # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
+1EF5 ; [.1865.0020.0002.0079][.0000.0070.0002.0323] # LATIN SMALL LETTER Y WITH DOT BELOW
+1EF4 ; [.1865.0020.0008.0059][.0000.0070.0002.0323] # LATIN CAPITAL LETTER Y WITH DOT BELOW
+028F ; [.1869.0020.0002.028F] # LATIN LETTER SMALL CAPITAL Y
+024F ; [.186D.0020.0002.024F] # LATIN SMALL LETTER Y WITH STROKE
+024E ; [.186D.0020.0008.024E] # LATIN CAPITAL LETTER Y WITH STROKE
+01B4 ; [.1871.0020.0002.01B4] # LATIN SMALL LETTER Y WITH HOOK
+01B3 ; [.1871.0020.0008.01B3] # LATIN CAPITAL LETTER Y WITH HOOK
+1EFF ; [.1875.0020.0002.1EFF] # LATIN SMALL LETTER Y WITH LOOP
+1EFE ; [.1875.0020.0008.1EFE] # LATIN CAPITAL LETTER Y WITH LOOP
+021D ; [.1876.0020.0002.021D] # LATIN SMALL LETTER YOGH
+021C ; [.1876.0020.0008.021C] # LATIN CAPITAL LETTER YOGH
+007A ; [.187A.0020.0002.007A] # LATIN SMALL LETTER Z
+FF5A ; [.187A.0020.0003.FF5A] # FULLWIDTH LATIN SMALL LETTER Z
+1DE6 ; [.187A.0020.0004.1DE6] # COMBINING LATIN SMALL LETTER Z
+24B5 ; [*02FB.0020.0004.24B5][.187A.0020.0004.24B5][*02FC.0020.001F.24B5] # PARENTHESIZED LATIN SMALL LETTER Z
+1D433 ; [.187A.0020.0005.1D433] # MATHEMATICAL BOLD SMALL Z
+1D467 ; [.187A.0020.0005.1D467] # MATHEMATICAL ITALIC SMALL Z
+1D49B ; [.187A.0020.0005.1D49B] # MATHEMATICAL BOLD ITALIC SMALL Z
+1D4CF ; [.187A.0020.0005.1D4CF] # MATHEMATICAL SCRIPT SMALL Z
+1D503 ; [.187A.0020.0005.1D503] # MATHEMATICAL BOLD SCRIPT SMALL Z
+1D537 ; [.187A.0020.0005.1D537] # MATHEMATICAL FRAKTUR SMALL Z
+1D56B ; [.187A.0020.0005.1D56B] # MATHEMATICAL DOUBLE-STRUCK SMALL Z
+1D59F ; [.187A.0020.0005.1D59F] # MATHEMATICAL BOLD FRAKTUR SMALL Z
+1D5D3 ; [.187A.0020.0005.1D5D3] # MATHEMATICAL SANS-SERIF SMALL Z
+1D607 ; [.187A.0020.0005.1D607] # MATHEMATICAL SANS-SERIF BOLD SMALL Z
+1D63B ; [.187A.0020.0005.1D63B] # MATHEMATICAL SANS-SERIF ITALIC SMALL Z
+1D66F ; [.187A.0020.0005.1D66F] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z
+1D6A3 ; [.187A.0020.0005.1D6A3] # MATHEMATICAL MONOSPACE SMALL Z
+24E9 ; [.187A.0020.0006.24E9] # CIRCLED LATIN SMALL LETTER Z
+005A ; [.187A.0020.0008.005A] # LATIN CAPITAL LETTER Z
+FF3A ; [.187A.0020.0009.FF3A] # FULLWIDTH LATIN CAPITAL LETTER Z
+1F129 ; [*02FB.0020.0004.1F129][.187A.0020.000A.1F129][*02FC.0020.001F.1F129] # PARENTHESIZED LATIN CAPITAL LETTER Z
+1F1FF ; [.187A.0020.000A.1F1FF] # REGIONAL INDICATOR SYMBOL LETTER Z
+2124 ; [.187A.0020.000B.2124] # DOUBLE-STRUCK CAPITAL Z
+2128 ; [.187A.0020.000B.2128] # BLACK-LETTER CAPITAL Z
+1D419 ; [.187A.0020.000B.1D419] # MATHEMATICAL BOLD CAPITAL Z
+1D44D ; [.187A.0020.000B.1D44D] # MATHEMATICAL ITALIC CAPITAL Z
+1D481 ; [.187A.0020.000B.1D481] # MATHEMATICAL BOLD ITALIC CAPITAL Z
+1D4B5 ; [.187A.0020.000B.1D4B5] # MATHEMATICAL SCRIPT CAPITAL Z
+1D4E9 ; [.187A.0020.000B.1D4E9] # MATHEMATICAL BOLD SCRIPT CAPITAL Z
+1D585 ; [.187A.0020.000B.1D585] # MATHEMATICAL BOLD FRAKTUR CAPITAL Z
+1D5B9 ; [.187A.0020.000B.1D5B9] # MATHEMATICAL SANS-SERIF CAPITAL Z
+1D5ED ; [.187A.0020.000B.1D5ED] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Z
+1D621 ; [.187A.0020.000B.1D621] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z
+1D655 ; [.187A.0020.000B.1D655] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z
+1D689 ; [.187A.0020.000B.1D689] # MATHEMATICAL MONOSPACE CAPITAL Z
+24CF ; [.187A.0020.000C.24CF] # CIRCLED LATIN CAPITAL LETTER Z
+1F169 ; [.187A.0020.000C.1F169] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
+1DBB ; [.187A.0020.0014.1DBB] # MODIFIER LETTER SMALL Z
+1F149 ; [.187A.0020.001D.1F149] # SQUARED LATIN CAPITAL LETTER Z
+1F189 ; [.187A.0020.001D.1F189] # NEGATIVE SQUARED LATIN CAPITAL LETTER Z
+017A ; [.187A.0020.0002.007A][.0000.0032.0002.0301] # LATIN SMALL LETTER Z WITH ACUTE
+0179 ; [.187A.0020.0008.005A][.0000.0032.0002.0301] # LATIN CAPITAL LETTER Z WITH ACUTE
+1E91 ; [.187A.0020.0002.007A][.0000.003C.0002.0302] # LATIN SMALL LETTER Z WITH CIRCUMFLEX
+1E90 ; [.187A.0020.0008.005A][.0000.003C.0002.0302] # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
+017E ; [.187A.0020.0002.007A][.0000.0041.0002.030C] # LATIN SMALL LETTER Z WITH CARON
+017D ; [.187A.0020.0008.005A][.0000.0041.0002.030C] # LATIN CAPITAL LETTER Z WITH CARON
+017C ; [.187A.0020.0002.007A][.0000.0052.0002.0307] # LATIN SMALL LETTER Z WITH DOT ABOVE
+017B ; [.187A.0020.0008.005A][.0000.0052.0002.0307] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+1E93 ; [.187A.0020.0002.007A][.0000.0070.0002.0323] # LATIN SMALL LETTER Z WITH DOT BELOW
+1E92 ; [.187A.0020.0008.005A][.0000.0070.0002.0323] # LATIN CAPITAL LETTER Z WITH DOT BELOW
+1E95 ; [.187A.0020.0002.007A][.0000.007B.0002.0331] # LATIN SMALL LETTER Z WITH LINE BELOW
+1E94 ; [.187A.0020.0008.005A][.0000.007B.0002.0331] # LATIN CAPITAL LETTER Z WITH LINE BELOW
+018D ; [.187A.0020.0004.018D][.1856.0020.0004.018D] # LATIN SMALL LETTER TURNED DELTA
+1D22 ; [.187E.0020.0002.1D22] # LATIN LETTER SMALL CAPITAL Z
+01B6 ; [.187F.0020.0002.01B6] # LATIN SMALL LETTER Z WITH STROKE
+01B5 ; [.187F.0020.0008.01B5] # LATIN CAPITAL LETTER Z WITH STROKE
+1D76 ; [.1883.0020.0002.1D76] # LATIN SMALL LETTER Z WITH MIDDLE TILDE
+1D8E ; [.1884.0020.0002.1D8E] # LATIN SMALL LETTER Z WITH PALATAL HOOK
+0225 ; [.1885.0020.0002.0225] # LATIN SMALL LETTER Z WITH HOOK
+0224 ; [.1885.0020.0008.0224] # LATIN CAPITAL LETTER Z WITH HOOK
+0290 ; [.1889.0020.0002.0290] # LATIN SMALL LETTER Z WITH RETROFLEX HOOK
+1DBC ; [.1889.0020.0014.1DBC] # MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK
+0291 ; [.188D.0020.0002.0291] # LATIN SMALL LETTER Z WITH CURL
+1DBD ; [.188D.0020.0014.1DBD] # MODIFIER LETTER SMALL Z WITH CURL
+0240 ; [.1891.0020.0002.0240] # LATIN SMALL LETTER Z WITH SWASH TAIL
+2C7F ; [.1891.0020.0008.2C7F] # LATIN CAPITAL LETTER Z WITH SWASH TAIL
+2C6C ; [.1895.0020.0002.2C6C] # LATIN SMALL LETTER Z WITH DESCENDER
+2C6B ; [.1895.0020.0008.2C6B] # LATIN CAPITAL LETTER Z WITH DESCENDER
+A763 ; [.1896.0020.0002.A763] # LATIN SMALL LETTER VISIGOTHIC Z
+A762 ; [.1896.0020.0008.A762] # LATIN CAPITAL LETTER VISIGOTHIC Z
+0292 ; [.1897.0020.0002.0292] # LATIN SMALL LETTER EZH
+01B7 ; [.1897.0020.0008.01B7] # LATIN CAPITAL LETTER EZH
+1DBE ; [.1897.0020.0014.1DBE] # MODIFIER LETTER SMALL EZH
+01EF ; [.1897.0020.0002.0292][.0000.0041.0002.030C] # LATIN SMALL LETTER EZH WITH CARON
+01EE ; [.1897.0020.0008.01B7][.0000.0041.0002.030C] # LATIN CAPITAL LETTER EZH WITH CARON
+1D23 ; [.189B.0020.0002.1D23] # LATIN LETTER SMALL CAPITAL EZH
+01B9 ; [.189C.0020.0002.01B9] # LATIN SMALL LETTER EZH REVERSED
+01B8 ; [.189C.0020.0008.01B8] # LATIN CAPITAL LETTER EZH REVERSED
+1D9A ; [.18A0.0020.0002.1D9A] # LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
+01BA ; [.18A1.0020.0002.01BA] # LATIN SMALL LETTER EZH WITH TAIL
+0293 ; [.18A5.0020.0002.0293] # LATIN SMALL LETTER EZH WITH CURL
+00FE ; [.18A9.0020.0002.00FE] # LATIN SMALL LETTER THORN
+00DE ; [.18A9.0020.0008.00DE] # LATIN CAPITAL LETTER THORN
+A765 ; [.18AD.0020.0002.A765] # LATIN SMALL LETTER THORN WITH STROKE
+A764 ; [.18AD.0020.0008.A764] # LATIN CAPITAL LETTER THORN WITH STROKE
+A767 ; [.18AE.0020.0002.A767] # LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
+A766 ; [.18AE.0020.0008.A766] # LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
+01BF ; [.18AF.0020.0002.01BF] # LATIN LETTER WYNN
+01F7 ; [.18AF.0020.0008.01F7] # LATIN CAPITAL LETTER WYNN
+A769 ; [.18B3.0020.0002.A769] # LATIN SMALL LETTER VEND
+A768 ; [.18B3.0020.0008.A768] # LATIN CAPITAL LETTER VEND
+A76B ; [.18B4.0020.0002.A76B] # LATIN SMALL LETTER ET
+A76A ; [.18B4.0020.0008.A76A] # LATIN CAPITAL LETTER ET
+A76D ; [.18B5.0020.0002.A76D] # LATIN SMALL LETTER IS
+A76C ; [.18B5.0020.0008.A76C] # LATIN CAPITAL LETTER IS
+A76F ; [.18B6.0020.0002.A76F] # LATIN SMALL LETTER CON
+1DD2 ; [.18B6.0020.0004.1DD2] # COMBINING US ABOVE
+A76E ; [.18B6.0020.0008.A76E] # LATIN CAPITAL LETTER CON
+A770 ; [.18B6.0020.0014.A770] # MODIFIER LETTER US
+A778 ; [.18B7.0020.0002.A778] # LATIN SMALL LETTER UM
+01BB ; [.18B8.0020.0002.01BB] # LATIN LETTER TWO WITH STROKE
+A72B ; [.18BC.0020.0002.A72B] # LATIN SMALL LETTER TRESILLO
+A72A ; [.18BC.0020.0008.A72A] # LATIN CAPITAL LETTER TRESILLO
+A72D ; [.18BD.0020.0002.A72D] # LATIN SMALL LETTER CUATRILLO
+A72C ; [.18BD.0020.0008.A72C] # LATIN CAPITAL LETTER CUATRILLO
+A72F ; [.18BE.0020.0002.A72F] # LATIN SMALL LETTER CUATRILLO WITH COMMA
+A72E ; [.18BE.0020.0008.A72E] # LATIN CAPITAL LETTER CUATRILLO WITH COMMA
+01A8 ; [.18BF.0020.0002.01A8] # LATIN SMALL LETTER TONE TWO
+01A7 ; [.18BF.0020.0008.01A7] # LATIN CAPITAL LETTER TONE TWO
+01BD ; [.18C3.0020.0002.01BD] # LATIN SMALL LETTER TONE FIVE
+01BC ; [.18C3.0020.0008.01BC] # LATIN CAPITAL LETTER TONE FIVE
+0185 ; [.18C7.0020.0002.0185] # LATIN SMALL LETTER TONE SIX
+0184 ; [.18C7.0020.0008.0184] # LATIN CAPITAL LETTER TONE SIX
+0294 ; [.18CB.0020.0002.0294] # LATIN LETTER GLOTTAL STOP
+0242 ; [.18CF.0020.0002.0242] # LATIN SMALL LETTER GLOTTAL STOP
+0241 ; [.18CF.0020.0008.0241] # LATIN CAPITAL LETTER GLOTTAL STOP
+02C0 ; [.18D3.0020.0002.02C0] # MODIFIER LETTER GLOTTAL STOP
+02BC ; [.18D4.0020.0002.02BC] # MODIFIER LETTER APOSTROPHE
+0149 ; [.18D4.0020.0004.0149][.1734.0020.0004.0149] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+02EE ; [.18D5.0020.0002.02EE] # MODIFIER LETTER DOUBLE APOSTROPHE
+02BE ; [.18D6.0020.0002.02BE] # MODIFIER LETTER RIGHT HALF RING
+A723 ; [.18D7.0020.0002.A723] # LATIN SMALL LETTER EGYPTOLOGICAL ALEF
+A722 ; [.18D7.0020.0008.A722] # LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
+A78C ; [.18D8.0020.0002.A78C] # LATIN SMALL LETTER SALTILLO
+A78B ; [.18D8.0020.0008.A78B] # LATIN CAPITAL LETTER SALTILLO
+0295 ; [.18D9.0020.0002.0295] # LATIN LETTER PHARYNGEAL VOICED FRICATIVE
+02E4 ; [.18D9.0020.0014.02E4] # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
+02BF ; [.18DD.0020.0002.02BF] # MODIFIER LETTER LEFT HALF RING
+02C1 ; [.18DE.0020.0002.02C1] # MODIFIER LETTER REVERSED GLOTTAL STOP
+1D24 ; [.18DF.0020.0002.1D24] # LATIN LETTER VOICED LARYNGEAL SPIRANT
+1D25 ; [.18E0.0020.0002.1D25] # LATIN LETTER AIN
+1D5C ; [.18E0.0020.0014.1D5C] # MODIFIER LETTER SMALL AIN
+A725 ; [.18E1.0020.0002.A725] # LATIN SMALL LETTER EGYPTOLOGICAL AIN
+A724 ; [.18E1.0020.0008.A724] # LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
+02A1 ; [.18E2.0020.0002.02A1] # LATIN LETTER GLOTTAL STOP WITH STROKE
+02A2 ; [.18E6.0020.0002.02A2] # LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE
+0296 ; [.18EA.0020.0002.0296] # LATIN LETTER INVERTED GLOTTAL STOP
+01C0 ; [.18EE.0020.0002.01C0] # LATIN LETTER DENTAL CLICK
+01C1 ; [.18F2.0020.0002.01C1] # LATIN LETTER LATERAL CLICK
+01C2 ; [.18F6.0020.0002.01C2] # LATIN LETTER ALVEOLAR CLICK
+01C3 ; [.18FA.0020.0002.01C3] # LATIN LETTER RETROFLEX CLICK
+0297 ; [.18FE.0020.0002.0297] # LATIN LETTER STRETCHED C
+0298 ; [.1902.0020.0002.0298] # LATIN LETTER BILABIAL CLICK
+02AC ; [.1906.0020.0002.02AC] # LATIN LETTER BILABIAL PERCUSSIVE
+02AD ; [.190A.0020.0002.02AD] # LATIN LETTER BIDENTAL PERCUSSIVE
+03B1 ; [.190E.0020.0002.03B1] # GREEK SMALL LETTER ALPHA
+1D6C2 ; [.190E.0020.0005.1D6C2] # MATHEMATICAL BOLD SMALL ALPHA
+1D6FC ; [.190E.0020.0005.1D6FC] # MATHEMATICAL ITALIC SMALL ALPHA
+1D736 ; [.190E.0020.0005.1D736] # MATHEMATICAL BOLD ITALIC SMALL ALPHA
+1D770 ; [.190E.0020.0005.1D770] # MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA
+1D7AA ; [.190E.0020.0005.1D7AA] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA
+0391 ; [.190E.0020.0008.0391] # GREEK CAPITAL LETTER ALPHA
+1D6A8 ; [.190E.0020.000B.1D6A8] # MATHEMATICAL BOLD CAPITAL ALPHA
+1D6E2 ; [.190E.0020.000B.1D6E2] # MATHEMATICAL ITALIC CAPITAL ALPHA
+1D71C ; [.190E.0020.000B.1D71C] # MATHEMATICAL BOLD ITALIC CAPITAL ALPHA
+1D756 ; [.190E.0020.000B.1D756] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA
+1D790 ; [.190E.0020.000B.1D790] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA
+1F00 ; [.190E.0020.0002.03B1][.0000.0022.0002.0313] # GREEK SMALL LETTER ALPHA WITH PSILI
+1F08 ; [.190E.0020.0008.0391][.0000.0022.0002.0313] # GREEK CAPITAL LETTER ALPHA WITH PSILI
+1F04 ; [.190E.0020.0002.03B1][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA
+1F0C ; [.190E.0020.0008.0391][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
+1F84 ; [.190E.0020.0002.03B1][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+1F8C ; [.190E.0020.0008.0391][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+1F02 ; [.190E.0020.0002.03B1][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA
+1F0A ; [.190E.0020.0008.0391][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
+1F82 ; [.190E.0020.0002.03B1][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+1F8A ; [.190E.0020.0008.0391][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+1F06 ; [.190E.0020.0002.03B1][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
+1F0E ; [.190E.0020.0008.0391][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
+1F86 ; [.190E.0020.0002.03B1][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+1F8E ; [.190E.0020.0008.0391][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+1F80 ; [.190E.0020.0002.03B1][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
+1F88 ; [.190E.0020.0008.0391][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
+1F01 ; [.190E.0020.0002.03B1][.0000.002A.0002.0314] # GREEK SMALL LETTER ALPHA WITH DASIA
+1F09 ; [.190E.0020.0008.0391][.0000.002A.0002.0314] # GREEK CAPITAL LETTER ALPHA WITH DASIA
+1F05 ; [.190E.0020.0002.03B1][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA
+1F0D ; [.190E.0020.0008.0391][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
+1F85 ; [.190E.0020.0002.03B1][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+1F8D ; [.190E.0020.0008.0391][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+1F03 ; [.190E.0020.0002.03B1][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA
+1F0B ; [.190E.0020.0008.0391][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
+1F83 ; [.190E.0020.0002.03B1][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+1F8B ; [.190E.0020.0008.0391][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+1F07 ; [.190E.0020.0002.03B1][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
+1F0F ; [.190E.0020.0008.0391][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
+1F87 ; [.190E.0020.0002.03B1][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1F8F ; [.190E.0020.0008.0391][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1F81 ; [.190E.0020.0002.03B1][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
+1F89 ; [.190E.0020.0008.0391][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
+03AC ; [.190E.0020.0002.03B1][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH TONOS
+1F71 ; [.190E.0020.0002.03B1][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH OXIA
+0386 ; [.190E.0020.0008.0391][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH TONOS
+1FBB ; [.190E.0020.0008.0391][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH OXIA
+1FB4 ; [.190E.0020.0002.03B1][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
+1F70 ; [.190E.0020.0002.03B1][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH VARIA
+1FBA ; [.190E.0020.0008.0391][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH VARIA
+1FB2 ; [.190E.0020.0002.03B1][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
+1FB0 ; [.190E.0020.0002.03B1][.0000.0037.0002.0306] # GREEK SMALL LETTER ALPHA WITH VRACHY
+1FB8 ; [.190E.0020.0008.0391][.0000.0037.0002.0306] # GREEK CAPITAL LETTER ALPHA WITH VRACHY
+1FB6 ; [.190E.0020.0002.03B1][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI
+1FB7 ; [.190E.0020.0002.03B1][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
+1FB1 ; [.190E.0020.0002.03B1][.0000.005B.0002.0304] # GREEK SMALL LETTER ALPHA WITH MACRON
+1FB9 ; [.190E.0020.0008.0391][.0000.005B.0002.0304] # GREEK CAPITAL LETTER ALPHA WITH MACRON
+1FB3 ; [.190E.0020.0002.03B1][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
+1FBC ; [.190E.0020.0008.0391][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
+03B2 ; [.190F.0020.0002.03B2] # GREEK SMALL LETTER BETA
+03D0 ; [.190F.0020.0004.03D0] # GREEK BETA SYMBOL
+1D6C3 ; [.190F.0020.0005.1D6C3] # MATHEMATICAL BOLD SMALL BETA
+1D6FD ; [.190F.0020.0005.1D6FD] # MATHEMATICAL ITALIC SMALL BETA
+1D737 ; [.190F.0020.0005.1D737] # MATHEMATICAL BOLD ITALIC SMALL BETA
+1D771 ; [.190F.0020.0005.1D771] # MATHEMATICAL SANS-SERIF BOLD SMALL BETA
+1D7AB ; [.190F.0020.0005.1D7AB] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA
+0392 ; [.190F.0020.0008.0392] # GREEK CAPITAL LETTER BETA
+1D6A9 ; [.190F.0020.000B.1D6A9] # MATHEMATICAL BOLD CAPITAL BETA
+1D6E3 ; [.190F.0020.000B.1D6E3] # MATHEMATICAL ITALIC CAPITAL BETA
+1D71D ; [.190F.0020.000B.1D71D] # MATHEMATICAL BOLD ITALIC CAPITAL BETA
+1D757 ; [.190F.0020.000B.1D757] # MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA
+1D791 ; [.190F.0020.000B.1D791] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA
+1D5D ; [.190F.0020.0014.1D5D] # MODIFIER LETTER SMALL BETA
+1D66 ; [.190F.0020.0015.1D66] # GREEK SUBSCRIPT SMALL LETTER BETA
+03B3 ; [.1910.0020.0002.03B3] # GREEK SMALL LETTER GAMMA
+213D ; [.1910.0020.0005.213D] # DOUBLE-STRUCK SMALL GAMMA
+1D6C4 ; [.1910.0020.0005.1D6C4] # MATHEMATICAL BOLD SMALL GAMMA
+1D6FE ; [.1910.0020.0005.1D6FE] # MATHEMATICAL ITALIC SMALL GAMMA
+1D738 ; [.1910.0020.0005.1D738] # MATHEMATICAL BOLD ITALIC SMALL GAMMA
+1D772 ; [.1910.0020.0005.1D772] # MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA
+1D7AC ; [.1910.0020.0005.1D7AC] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA
+0393 ; [.1910.0020.0008.0393] # GREEK CAPITAL LETTER GAMMA
+213E ; [.1910.0020.000B.213E] # DOUBLE-STRUCK CAPITAL GAMMA
+1D6AA ; [.1910.0020.000B.1D6AA] # MATHEMATICAL BOLD CAPITAL GAMMA
+1D6E4 ; [.1910.0020.000B.1D6E4] # MATHEMATICAL ITALIC CAPITAL GAMMA
+1D71E ; [.1910.0020.000B.1D71E] # MATHEMATICAL BOLD ITALIC CAPITAL GAMMA
+1D758 ; [.1910.0020.000B.1D758] # MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA
+1D792 ; [.1910.0020.000B.1D792] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA
+1D5E ; [.1910.0020.0014.1D5E] # MODIFIER LETTER SMALL GREEK GAMMA
+1D67 ; [.1910.0020.0015.1D67] # GREEK SUBSCRIPT SMALL LETTER GAMMA
+1D26 ; [.1911.0020.0002.1D26] # GREEK LETTER SMALL CAPITAL GAMMA
+03B4 ; [.1912.0020.0002.03B4] # GREEK SMALL LETTER DELTA
+1D6C5 ; [.1912.0020.0005.1D6C5] # MATHEMATICAL BOLD SMALL DELTA
+1D6FF ; [.1912.0020.0005.1D6FF] # MATHEMATICAL ITALIC SMALL DELTA
+1D739 ; [.1912.0020.0005.1D739] # MATHEMATICAL BOLD ITALIC SMALL DELTA
+1D773 ; [.1912.0020.0005.1D773] # MATHEMATICAL SANS-SERIF BOLD SMALL DELTA
+1D7AD ; [.1912.0020.0005.1D7AD] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA
+0394 ; [.1912.0020.0008.0394] # GREEK CAPITAL LETTER DELTA
+1D6AB ; [.1912.0020.000B.1D6AB] # MATHEMATICAL BOLD CAPITAL DELTA
+1D6E5 ; [.1912.0020.000B.1D6E5] # MATHEMATICAL ITALIC CAPITAL DELTA
+1D71F ; [.1912.0020.000B.1D71F] # MATHEMATICAL BOLD ITALIC CAPITAL DELTA
+1D759 ; [.1912.0020.000B.1D759] # MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA
+1D793 ; [.1912.0020.000B.1D793] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA
+1D5F ; [.1912.0020.0014.1D5F] # MODIFIER LETTER SMALL DELTA
+03B5 ; [.1913.0020.0002.03B5] # GREEK SMALL LETTER EPSILON
+03F5 ; [.1913.0020.0004.03F5] # GREEK LUNATE EPSILON SYMBOL
+1D6C6 ; [.1913.0020.0005.1D6C6] # MATHEMATICAL BOLD SMALL EPSILON
+1D6DC ; [.1913.0020.0005.1D6DC] # MATHEMATICAL BOLD EPSILON SYMBOL
+1D700 ; [.1913.0020.0005.1D700] # MATHEMATICAL ITALIC SMALL EPSILON
+1D716 ; [.1913.0020.0005.1D716] # MATHEMATICAL ITALIC EPSILON SYMBOL
+1D73A ; [.1913.0020.0005.1D73A] # MATHEMATICAL BOLD ITALIC SMALL EPSILON
+1D750 ; [.1913.0020.0005.1D750] # MATHEMATICAL BOLD ITALIC EPSILON SYMBOL
+1D774 ; [.1913.0020.0005.1D774] # MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON
+1D78A ; [.1913.0020.0005.1D78A] # MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL
+1D7AE ; [.1913.0020.0005.1D7AE] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON
+1D7C4 ; [.1913.0020.0005.1D7C4] # MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL
+0395 ; [.1913.0020.0008.0395] # GREEK CAPITAL LETTER EPSILON
+1D6AC ; [.1913.0020.000B.1D6AC] # MATHEMATICAL BOLD CAPITAL EPSILON
+1D6E6 ; [.1913.0020.000B.1D6E6] # MATHEMATICAL ITALIC CAPITAL EPSILON
+1D720 ; [.1913.0020.000B.1D720] # MATHEMATICAL BOLD ITALIC CAPITAL EPSILON
+1D75A ; [.1913.0020.000B.1D75A] # MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON
+1D794 ; [.1913.0020.000B.1D794] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON
+1F10 ; [.1913.0020.0002.03B5][.0000.0022.0002.0313] # GREEK SMALL LETTER EPSILON WITH PSILI
+1F18 ; [.1913.0020.0008.0395][.0000.0022.0002.0313] # GREEK CAPITAL LETTER EPSILON WITH PSILI
+1F14 ; [.1913.0020.0002.03B5][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA
+1F1C ; [.1913.0020.0008.0395][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
+1F12 ; [.1913.0020.0002.03B5][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA
+1F1A ; [.1913.0020.0008.0395][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
+1F11 ; [.1913.0020.0002.03B5][.0000.002A.0002.0314] # GREEK SMALL LETTER EPSILON WITH DASIA
+1F19 ; [.1913.0020.0008.0395][.0000.002A.0002.0314] # GREEK CAPITAL LETTER EPSILON WITH DASIA
+1F15 ; [.1913.0020.0002.03B5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
+1F1D ; [.1913.0020.0008.0395][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
+1F13 ; [.1913.0020.0002.03B5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA
+1F1B ; [.1913.0020.0008.0395][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
+03AD ; [.1913.0020.0002.03B5][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH TONOS
+1F73 ; [.1913.0020.0002.03B5][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH OXIA
+0388 ; [.1913.0020.0008.0395][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH TONOS
+1FC9 ; [.1913.0020.0008.0395][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH OXIA
+1F72 ; [.1913.0020.0002.03B5][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH VARIA
+1FC8 ; [.1913.0020.0008.0395][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH VARIA
+03DD ; [.1914.0020.0002.03DD] # GREEK SMALL LETTER DIGAMMA
+1D7CB ; [.1914.0020.0005.1D7CB] # MATHEMATICAL BOLD SMALL DIGAMMA
+03DC ; [.1914.0020.0008.03DC] # GREEK LETTER DIGAMMA
+1D7CA ; [.1914.0020.000B.1D7CA] # MATHEMATICAL BOLD CAPITAL DIGAMMA
+0377 ; [.1915.0020.0002.0377] # GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
+0376 ; [.1915.0020.0008.0376] # GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
+03DB ; [.1916.0020.0002.03DB] # GREEK SMALL LETTER STIGMA
+03DA ; [.1916.0020.0008.03DA] # GREEK LETTER STIGMA
+03B6 ; [.1917.0020.0002.03B6] # GREEK SMALL LETTER ZETA
+1D6C7 ; [.1917.0020.0005.1D6C7] # MATHEMATICAL BOLD SMALL ZETA
+1D701 ; [.1917.0020.0005.1D701] # MATHEMATICAL ITALIC SMALL ZETA
+1D73B ; [.1917.0020.0005.1D73B] # MATHEMATICAL BOLD ITALIC SMALL ZETA
+1D775 ; [.1917.0020.0005.1D775] # MATHEMATICAL SANS-SERIF BOLD SMALL ZETA
+1D7AF ; [.1917.0020.0005.1D7AF] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA
+0396 ; [.1917.0020.0008.0396] # GREEK CAPITAL LETTER ZETA
+1D6AD ; [.1917.0020.000B.1D6AD] # MATHEMATICAL BOLD CAPITAL ZETA
+1D6E7 ; [.1917.0020.000B.1D6E7] # MATHEMATICAL ITALIC CAPITAL ZETA
+1D721 ; [.1917.0020.000B.1D721] # MATHEMATICAL BOLD ITALIC CAPITAL ZETA
+1D75B ; [.1917.0020.000B.1D75B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA
+1D795 ; [.1917.0020.000B.1D795] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA
+0371 ; [.1918.0020.0002.0371] # GREEK SMALL LETTER HETA
+0370 ; [.1918.0020.0008.0370] # GREEK CAPITAL LETTER HETA
+03B7 ; [.1919.0020.0002.03B7] # GREEK SMALL LETTER ETA
+1D6C8 ; [.1919.0020.0005.1D6C8] # MATHEMATICAL BOLD SMALL ETA
+1D702 ; [.1919.0020.0005.1D702] # MATHEMATICAL ITALIC SMALL ETA
+1D73C ; [.1919.0020.0005.1D73C] # MATHEMATICAL BOLD ITALIC SMALL ETA
+1D776 ; [.1919.0020.0005.1D776] # MATHEMATICAL SANS-SERIF BOLD SMALL ETA
+1D7B0 ; [.1919.0020.0005.1D7B0] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA
+0397 ; [.1919.0020.0008.0397] # GREEK CAPITAL LETTER ETA
+1D6AE ; [.1919.0020.000B.1D6AE] # MATHEMATICAL BOLD CAPITAL ETA
+1D6E8 ; [.1919.0020.000B.1D6E8] # MATHEMATICAL ITALIC CAPITAL ETA
+1D722 ; [.1919.0020.000B.1D722] # MATHEMATICAL BOLD ITALIC CAPITAL ETA
+1D75C ; [.1919.0020.000B.1D75C] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA
+1D796 ; [.1919.0020.000B.1D796] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA
+1F20 ; [.1919.0020.0002.03B7][.0000.0022.0002.0313] # GREEK SMALL LETTER ETA WITH PSILI
+1F28 ; [.1919.0020.0008.0397][.0000.0022.0002.0313] # GREEK CAPITAL LETTER ETA WITH PSILI
+1F24 ; [.1919.0020.0002.03B7][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH PSILI AND OXIA
+1F2C ; [.1919.0020.0008.0397][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
+1F94 ; [.1919.0020.0002.03B7][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+1F9C ; [.1919.0020.0008.0397][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+1F22 ; [.1919.0020.0002.03B7][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH PSILI AND VARIA
+1F2A ; [.1919.0020.0008.0397][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
+1F92 ; [.1919.0020.0002.03B7][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+1F9A ; [.1919.0020.0008.0397][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+1F26 ; [.1919.0020.0002.03B7][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
+1F2E ; [.1919.0020.0008.0397][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
+1F96 ; [.1919.0020.0002.03B7][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+1F9E ; [.1919.0020.0008.0397][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+1F90 ; [.1919.0020.0002.03B7][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
+1F98 ; [.1919.0020.0008.0397][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
+1F21 ; [.1919.0020.0002.03B7][.0000.002A.0002.0314] # GREEK SMALL LETTER ETA WITH DASIA
+1F29 ; [.1919.0020.0008.0397][.0000.002A.0002.0314] # GREEK CAPITAL LETTER ETA WITH DASIA
+1F25 ; [.1919.0020.0002.03B7][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH DASIA AND OXIA
+1F2D ; [.1919.0020.0008.0397][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
+1F95 ; [.1919.0020.0002.03B7][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+1F9D ; [.1919.0020.0008.0397][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+1F23 ; [.1919.0020.0002.03B7][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH DASIA AND VARIA
+1F2B ; [.1919.0020.0008.0397][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
+1F93 ; [.1919.0020.0002.03B7][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+1F9B ; [.1919.0020.0008.0397][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+1F27 ; [.1919.0020.0002.03B7][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
+1F2F ; [.1919.0020.0008.0397][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
+1F97 ; [.1919.0020.0002.03B7][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1F9F ; [.1919.0020.0008.0397][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1F91 ; [.1919.0020.0002.03B7][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
+1F99 ; [.1919.0020.0008.0397][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
+03AE ; [.1919.0020.0002.03B7][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH TONOS
+1F75 ; [.1919.0020.0002.03B7][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH OXIA
+0389 ; [.1919.0020.0008.0397][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH TONOS
+1FCB ; [.1919.0020.0008.0397][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH OXIA
+1FC4 ; [.1919.0020.0002.03B7][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
+1F74 ; [.1919.0020.0002.03B7][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH VARIA
+1FCA ; [.1919.0020.0008.0397][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH VARIA
+1FC2 ; [.1919.0020.0002.03B7][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
+1FC6 ; [.1919.0020.0002.03B7][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH PERISPOMENI
+1FC7 ; [.1919.0020.0002.03B7][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
+1FC3 ; [.1919.0020.0002.03B7][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
+1FCC ; [.1919.0020.0008.0397][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
+03B8 ; [.191A.0020.0002.03B8] # GREEK SMALL LETTER THETA
+03D1 ; [.191A.0020.0004.03D1] # GREEK THETA SYMBOL
+1D6C9 ; [.191A.0020.0005.1D6C9] # MATHEMATICAL BOLD SMALL THETA
+1D6DD ; [.191A.0020.0005.1D6DD] # MATHEMATICAL BOLD THETA SYMBOL
+1D703 ; [.191A.0020.0005.1D703] # MATHEMATICAL ITALIC SMALL THETA
+1D717 ; [.191A.0020.0005.1D717] # MATHEMATICAL ITALIC THETA SYMBOL
+1D73D ; [.191A.0020.0005.1D73D] # MATHEMATICAL BOLD ITALIC SMALL THETA
+1D751 ; [.191A.0020.0005.1D751] # MATHEMATICAL BOLD ITALIC THETA SYMBOL
+1D777 ; [.191A.0020.0005.1D777] # MATHEMATICAL SANS-SERIF BOLD SMALL THETA
+1D78B ; [.191A.0020.0005.1D78B] # MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL
+1D7B1 ; [.191A.0020.0005.1D7B1] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA
+1D7C5 ; [.191A.0020.0005.1D7C5] # MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL
+0398 ; [.191A.0020.0008.0398] # GREEK CAPITAL LETTER THETA
+03F4 ; [.191A.0020.000A.03F4] # GREEK CAPITAL THETA SYMBOL
+1D6AF ; [.191A.0020.000B.1D6AF] # MATHEMATICAL BOLD CAPITAL THETA
+1D6B9 ; [.191A.0020.000B.1D6B9] # MATHEMATICAL BOLD CAPITAL THETA SYMBOL
+1D6E9 ; [.191A.0020.000B.1D6E9] # MATHEMATICAL ITALIC CAPITAL THETA
+1D6F3 ; [.191A.0020.000B.1D6F3] # MATHEMATICAL ITALIC CAPITAL THETA SYMBOL
+1D723 ; [.191A.0020.000B.1D723] # MATHEMATICAL BOLD ITALIC CAPITAL THETA
+1D72D ; [.191A.0020.000B.1D72D] # MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL
+1D75D ; [.191A.0020.000B.1D75D] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA
+1D767 ; [.191A.0020.000B.1D767] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL
+1D797 ; [.191A.0020.000B.1D797] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA
+1D7A1 ; [.191A.0020.000B.1D7A1] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL
+1DBF ; [.191A.0020.0014.1DBF] # MODIFIER LETTER SMALL THETA
+03B9 ; [.191B.0020.0002.03B9] # GREEK SMALL LETTER IOTA
+1FBE ; [.191B.0020.0002.1FBE] # GREEK PROSGEGRAMMENI
+037A ; [.191B.0020.0004.037A] # GREEK YPOGEGRAMMENI
+1D6CA ; [.191B.0020.0005.1D6CA] # MATHEMATICAL BOLD SMALL IOTA
+1D704 ; [.191B.0020.0005.1D704] # MATHEMATICAL ITALIC SMALL IOTA
+1D73E ; [.191B.0020.0005.1D73E] # MATHEMATICAL BOLD ITALIC SMALL IOTA
+1D778 ; [.191B.0020.0005.1D778] # MATHEMATICAL SANS-SERIF BOLD SMALL IOTA
+1D7B2 ; [.191B.0020.0005.1D7B2] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA
+0399 ; [.191B.0020.0008.0399] # GREEK CAPITAL LETTER IOTA
+1D6B0 ; [.191B.0020.000B.1D6B0] # MATHEMATICAL BOLD CAPITAL IOTA
+1D6EA ; [.191B.0020.000B.1D6EA] # MATHEMATICAL ITALIC CAPITAL IOTA
+1D724 ; [.191B.0020.000B.1D724] # MATHEMATICAL BOLD ITALIC CAPITAL IOTA
+1D75E ; [.191B.0020.000B.1D75E] # MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA
+1D798 ; [.191B.0020.000B.1D798] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA
+1F30 ; [.191B.0020.0002.03B9][.0000.0022.0002.0313] # GREEK SMALL LETTER IOTA WITH PSILI
+1F38 ; [.191B.0020.0008.0399][.0000.0022.0002.0313] # GREEK CAPITAL LETTER IOTA WITH PSILI
+1F34 ; [.191B.0020.0002.03B9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA
+1F3C ; [.191B.0020.0008.0399][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
+1F32 ; [.191B.0020.0002.03B9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
+1F3A ; [.191B.0020.0008.0399][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
+1F36 ; [.191B.0020.0002.03B9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
+1F3E ; [.191B.0020.0008.0399][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
+1F31 ; [.191B.0020.0002.03B9][.0000.002A.0002.0314] # GREEK SMALL LETTER IOTA WITH DASIA
+1F39 ; [.191B.0020.0008.0399][.0000.002A.0002.0314] # GREEK CAPITAL LETTER IOTA WITH DASIA
+1F35 ; [.191B.0020.0002.03B9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA
+1F3D ; [.191B.0020.0008.0399][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
+1F33 ; [.191B.0020.0002.03B9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
+1F3B ; [.191B.0020.0008.0399][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
+1F37 ; [.191B.0020.0002.03B9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
+1F3F ; [.191B.0020.0008.0399][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
+03AF ; [.191B.0020.0002.03B9][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH TONOS
+1F77 ; [.191B.0020.0002.03B9][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH OXIA
+038A ; [.191B.0020.0008.0399][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH TONOS
+1FDB ; [.191B.0020.0008.0399][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH OXIA
+1F76 ; [.191B.0020.0002.03B9][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH VARIA
+1FDA ; [.191B.0020.0008.0399][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH VARIA
+1FD0 ; [.191B.0020.0002.03B9][.0000.0037.0002.0306] # GREEK SMALL LETTER IOTA WITH VRACHY
+1FD8 ; [.191B.0020.0008.0399][.0000.0037.0002.0306] # GREEK CAPITAL LETTER IOTA WITH VRACHY
+1FD6 ; [.191B.0020.0002.03B9][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH PERISPOMENI
+03CA ; [.191B.0020.0002.03B9][.0000.0047.0002.0308] # GREEK SMALL LETTER IOTA WITH DIALYTIKA
+03AA ; [.191B.0020.0008.0399][.0000.0047.0002.0308] # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+0390 ; [.191B.0020.0002.03B9][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+1FD3 ; [.191B.0020.0002.03B9][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
+1FD2 ; [.191B.0020.0002.03B9][.0000.0047.0002.0308][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
+1FD7 ; [.191B.0020.0002.03B9][.0000.0047.0002.0308][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
+1FD1 ; [.191B.0020.0002.03B9][.0000.005B.0002.0304] # GREEK SMALL LETTER IOTA WITH MACRON
+1FD9 ; [.191B.0020.0008.0399][.0000.005B.0002.0304] # GREEK CAPITAL LETTER IOTA WITH MACRON
+03F3 ; [.191C.0020.0002.03F3] # GREEK LETTER YOT
+03BA ; [.191D.0020.0002.03BA] # GREEK SMALL LETTER KAPPA
+03F0 ; [.191D.0020.0004.03F0] # GREEK KAPPA SYMBOL
+1D6CB ; [.191D.0020.0005.1D6CB] # MATHEMATICAL BOLD SMALL KAPPA
+1D6DE ; [.191D.0020.0005.1D6DE] # MATHEMATICAL BOLD KAPPA SYMBOL
+1D705 ; [.191D.0020.0005.1D705] # MATHEMATICAL ITALIC SMALL KAPPA
+1D718 ; [.191D.0020.0005.1D718] # MATHEMATICAL ITALIC KAPPA SYMBOL
+1D73F ; [.191D.0020.0005.1D73F] # MATHEMATICAL BOLD ITALIC SMALL KAPPA
+1D752 ; [.191D.0020.0005.1D752] # MATHEMATICAL BOLD ITALIC KAPPA SYMBOL
+1D779 ; [.191D.0020.0005.1D779] # MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA
+1D78C ; [.191D.0020.0005.1D78C] # MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL
+1D7B3 ; [.191D.0020.0005.1D7B3] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA
+1D7C6 ; [.191D.0020.0005.1D7C6] # MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL
+039A ; [.191D.0020.0008.039A] # GREEK CAPITAL LETTER KAPPA
+1D6B1 ; [.191D.0020.000B.1D6B1] # MATHEMATICAL BOLD CAPITAL KAPPA
+1D6EB ; [.191D.0020.000B.1D6EB] # MATHEMATICAL ITALIC CAPITAL KAPPA
+1D725 ; [.191D.0020.000B.1D725] # MATHEMATICAL BOLD ITALIC CAPITAL KAPPA
+1D75F ; [.191D.0020.000B.1D75F] # MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA
+1D799 ; [.191D.0020.000B.1D799] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA
+03D7 ; [.191D.0020.0004.03D7][.190E.0020.0004.03D7][.191B.0020.001F.03D7] # GREEK KAI SYMBOL
+03CF ; [.191D.0020.000A.03CF][.190E.0020.0004.03CF][.191B.0020.001F.03CF] # GREEK CAPITAL KAI SYMBOL
+03BB ; [.191E.0020.0002.03BB] # GREEK SMALL LETTER LAMDA
+1D6CC ; [.191E.0020.0005.1D6CC] # MATHEMATICAL BOLD SMALL LAMDA
+1D706 ; [.191E.0020.0005.1D706] # MATHEMATICAL ITALIC SMALL LAMDA
+1D740 ; [.191E.0020.0005.1D740] # MATHEMATICAL BOLD ITALIC SMALL LAMDA
+1D77A ; [.191E.0020.0005.1D77A] # MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA
+1D7B4 ; [.191E.0020.0005.1D7B4] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA
+039B ; [.191E.0020.0008.039B] # GREEK CAPITAL LETTER LAMDA
+1D6B2 ; [.191E.0020.000B.1D6B2] # MATHEMATICAL BOLD CAPITAL LAMDA
+1D6EC ; [.191E.0020.000B.1D6EC] # MATHEMATICAL ITALIC CAPITAL LAMDA
+1D726 ; [.191E.0020.000B.1D726] # MATHEMATICAL BOLD ITALIC CAPITAL LAMDA
+1D760 ; [.191E.0020.000B.1D760] # MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA
+1D79A ; [.191E.0020.000B.1D79A] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA
+1D27 ; [.191F.0020.0002.1D27] # GREEK LETTER SMALL CAPITAL LAMDA
+03BC ; [.1920.0020.0002.03BC] # GREEK SMALL LETTER MU
+00B5 ; [.1920.0020.0004.00B5] # MICRO SIGN
+1D6CD ; [.1920.0020.0005.1D6CD] # MATHEMATICAL BOLD SMALL MU
+1D707 ; [.1920.0020.0005.1D707] # MATHEMATICAL ITALIC SMALL MU
+1D741 ; [.1920.0020.0005.1D741] # MATHEMATICAL BOLD ITALIC SMALL MU
+1D77B ; [.1920.0020.0005.1D77B] # MATHEMATICAL SANS-SERIF BOLD SMALL MU
+1D7B5 ; [.1920.0020.0005.1D7B5] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU
+039C ; [.1920.0020.0008.039C] # GREEK CAPITAL LETTER MU
+1D6B3 ; [.1920.0020.000B.1D6B3] # MATHEMATICAL BOLD CAPITAL MU
+1D6ED ; [.1920.0020.000B.1D6ED] # MATHEMATICAL ITALIC CAPITAL MU
+1D727 ; [.1920.0020.000B.1D727] # MATHEMATICAL BOLD ITALIC CAPITAL MU
+1D761 ; [.1920.0020.000B.1D761] # MATHEMATICAL SANS-SERIF BOLD CAPITAL MU
+1D79B ; [.1920.0020.000B.1D79B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU
+3382 ; [.1920.0020.001C.3382][.15D4.0020.001D.3382] # SQUARE MU A
+338C ; [.1920.0020.001C.338C][.1669.0020.001D.338C] # SQUARE MU F
+338D ; [.1920.0020.001C.338D][.1676.0020.001C.338D] # SQUARE MU G
+3395 ; [.1920.0020.001C.3395][.16F6.0020.001C.3395] # SQUARE MU L
+339B ; [.1920.0020.001C.339B][.1726.0020.001C.339B] # SQUARE MU M
+33B2 ; [.1920.0020.001C.33B2][.17D8.0020.001C.33B2] # SQUARE MU S
+33B6 ; [.1920.0020.001C.33B6][.1844.0020.001D.33B6] # SQUARE MU V
+33BC ; [.1920.0020.001C.33BC][.1856.0020.001D.33BC] # SQUARE MU W
+03BD ; [.1921.0020.0002.03BD] # GREEK SMALL LETTER NU
+1D6CE ; [.1921.0020.0005.1D6CE] # MATHEMATICAL BOLD SMALL NU
+1D708 ; [.1921.0020.0005.1D708] # MATHEMATICAL ITALIC SMALL NU
+1D742 ; [.1921.0020.0005.1D742] # MATHEMATICAL BOLD ITALIC SMALL NU
+1D77C ; [.1921.0020.0005.1D77C] # MATHEMATICAL SANS-SERIF BOLD SMALL NU
+1D7B6 ; [.1921.0020.0005.1D7B6] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU
+039D ; [.1921.0020.0008.039D] # GREEK CAPITAL LETTER NU
+1D6B4 ; [.1921.0020.000B.1D6B4] # MATHEMATICAL BOLD CAPITAL NU
+1D6EE ; [.1921.0020.000B.1D6EE] # MATHEMATICAL ITALIC CAPITAL NU
+1D728 ; [.1921.0020.000B.1D728] # MATHEMATICAL BOLD ITALIC CAPITAL NU
+1D762 ; [.1921.0020.000B.1D762] # MATHEMATICAL SANS-SERIF BOLD CAPITAL NU
+1D79C ; [.1921.0020.000B.1D79C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU
+03BE ; [.1922.0020.0002.03BE] # GREEK SMALL LETTER XI
+1D6CF ; [.1922.0020.0005.1D6CF] # MATHEMATICAL BOLD SMALL XI
+1D709 ; [.1922.0020.0005.1D709] # MATHEMATICAL ITALIC SMALL XI
+1D743 ; [.1922.0020.0005.1D743] # MATHEMATICAL BOLD ITALIC SMALL XI
+1D77D ; [.1922.0020.0005.1D77D] # MATHEMATICAL SANS-SERIF BOLD SMALL XI
+1D7B7 ; [.1922.0020.0005.1D7B7] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI
+039E ; [.1922.0020.0008.039E] # GREEK CAPITAL LETTER XI
+1D6B5 ; [.1922.0020.000B.1D6B5] # MATHEMATICAL BOLD CAPITAL XI
+1D6EF ; [.1922.0020.000B.1D6EF] # MATHEMATICAL ITALIC CAPITAL XI
+1D729 ; [.1922.0020.000B.1D729] # MATHEMATICAL BOLD ITALIC CAPITAL XI
+1D763 ; [.1922.0020.000B.1D763] # MATHEMATICAL SANS-SERIF BOLD CAPITAL XI
+1D79D ; [.1922.0020.000B.1D79D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI
+03BF ; [.1923.0020.0002.03BF] # GREEK SMALL LETTER OMICRON
+1D6D0 ; [.1923.0020.0005.1D6D0] # MATHEMATICAL BOLD SMALL OMICRON
+1D70A ; [.1923.0020.0005.1D70A] # MATHEMATICAL ITALIC SMALL OMICRON
+1D744 ; [.1923.0020.0005.1D744] # MATHEMATICAL BOLD ITALIC SMALL OMICRON
+1D77E ; [.1923.0020.0005.1D77E] # MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON
+1D7B8 ; [.1923.0020.0005.1D7B8] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON
+039F ; [.1923.0020.0008.039F] # GREEK CAPITAL LETTER OMICRON
+1D6B6 ; [.1923.0020.000B.1D6B6] # MATHEMATICAL BOLD CAPITAL OMICRON
+1D6F0 ; [.1923.0020.000B.1D6F0] # MATHEMATICAL ITALIC CAPITAL OMICRON
+1D72A ; [.1923.0020.000B.1D72A] # MATHEMATICAL BOLD ITALIC CAPITAL OMICRON
+1D764 ; [.1923.0020.000B.1D764] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON
+1D79E ; [.1923.0020.000B.1D79E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON
+1F40 ; [.1923.0020.0002.03BF][.0000.0022.0002.0313] # GREEK SMALL LETTER OMICRON WITH PSILI
+1F48 ; [.1923.0020.0008.039F][.0000.0022.0002.0313] # GREEK CAPITAL LETTER OMICRON WITH PSILI
+1F44 ; [.1923.0020.0002.03BF][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA
+1F4C ; [.1923.0020.0008.039F][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
+1F42 ; [.1923.0020.0002.03BF][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA
+1F4A ; [.1923.0020.0008.039F][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
+1F41 ; [.1923.0020.0002.03BF][.0000.002A.0002.0314] # GREEK SMALL LETTER OMICRON WITH DASIA
+1F49 ; [.1923.0020.0008.039F][.0000.002A.0002.0314] # GREEK CAPITAL LETTER OMICRON WITH DASIA
+1F45 ; [.1923.0020.0002.03BF][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
+1F4D ; [.1923.0020.0008.039F][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
+1F43 ; [.1923.0020.0002.03BF][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA
+1F4B ; [.1923.0020.0008.039F][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
+03CC ; [.1923.0020.0002.03BF][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH TONOS
+1F79 ; [.1923.0020.0002.03BF][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH OXIA
+038C ; [.1923.0020.0008.039F][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH TONOS
+1FF9 ; [.1923.0020.0008.039F][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH OXIA
+1F78 ; [.1923.0020.0002.03BF][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH VARIA
+1FF8 ; [.1923.0020.0008.039F][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH VARIA
+03C0 ; [.1924.0020.0002.03C0] # GREEK SMALL LETTER PI
+03D6 ; [.1924.0020.0004.03D6] # GREEK PI SYMBOL
+213C ; [.1924.0020.0005.213C] # DOUBLE-STRUCK SMALL PI
+1D6D1 ; [.1924.0020.0005.1D6D1] # MATHEMATICAL BOLD SMALL PI
+1D6E1 ; [.1924.0020.0005.1D6E1] # MATHEMATICAL BOLD PI SYMBOL
+1D70B ; [.1924.0020.0005.1D70B] # MATHEMATICAL ITALIC SMALL PI
+1D71B ; [.1924.0020.0005.1D71B] # MATHEMATICAL ITALIC PI SYMBOL
+1D745 ; [.1924.0020.0005.1D745] # MATHEMATICAL BOLD ITALIC SMALL PI
+1D755 ; [.1924.0020.0005.1D755] # MATHEMATICAL BOLD ITALIC PI SYMBOL
+1D77F ; [.1924.0020.0005.1D77F] # MATHEMATICAL SANS-SERIF BOLD SMALL PI
+1D78F ; [.1924.0020.0005.1D78F] # MATHEMATICAL SANS-SERIF BOLD PI SYMBOL
+1D7B9 ; [.1924.0020.0005.1D7B9] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI
+1D7C9 ; [.1924.0020.0005.1D7C9] # MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
+03A0 ; [.1924.0020.0008.03A0] # GREEK CAPITAL LETTER PI
+213F ; [.1924.0020.000B.213F] # DOUBLE-STRUCK CAPITAL PI
+1D6B7 ; [.1924.0020.000B.1D6B7] # MATHEMATICAL BOLD CAPITAL PI
+1D6F1 ; [.1924.0020.000B.1D6F1] # MATHEMATICAL ITALIC CAPITAL PI
+1D72B ; [.1924.0020.000B.1D72B] # MATHEMATICAL BOLD ITALIC CAPITAL PI
+1D765 ; [.1924.0020.000B.1D765] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PI
+1D79F ; [.1924.0020.000B.1D79F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI
+1D28 ; [.1925.0020.0002.1D28] # GREEK LETTER SMALL CAPITAL PI
+03FB ; [.1926.0020.0002.03FB] # GREEK SMALL LETTER SAN
+03FA ; [.1926.0020.0008.03FA] # GREEK CAPITAL LETTER SAN
+03DF ; [.1927.0020.0002.03DF] # GREEK SMALL LETTER KOPPA
+03DE ; [.1927.0020.0008.03DE] # GREEK LETTER KOPPA
+03D9 ; [.1928.0020.0002.03D9] # GREEK SMALL LETTER ARCHAIC KOPPA
+03D8 ; [.1928.0020.0008.03D8] # GREEK LETTER ARCHAIC KOPPA
+03C1 ; [.1929.0020.0002.03C1] # GREEK SMALL LETTER RHO
+03F1 ; [.1929.0020.0004.03F1] # GREEK RHO SYMBOL
+1D6D2 ; [.1929.0020.0005.1D6D2] # MATHEMATICAL BOLD SMALL RHO
+1D6E0 ; [.1929.0020.0005.1D6E0] # MATHEMATICAL BOLD RHO SYMBOL
+1D70C ; [.1929.0020.0005.1D70C] # MATHEMATICAL ITALIC SMALL RHO
+1D71A ; [.1929.0020.0005.1D71A] # MATHEMATICAL ITALIC RHO SYMBOL
+1D746 ; [.1929.0020.0005.1D746] # MATHEMATICAL BOLD ITALIC SMALL RHO
+1D754 ; [.1929.0020.0005.1D754] # MATHEMATICAL BOLD ITALIC RHO SYMBOL
+1D780 ; [.1929.0020.0005.1D780] # MATHEMATICAL SANS-SERIF BOLD SMALL RHO
+1D78E ; [.1929.0020.0005.1D78E] # MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL
+1D7BA ; [.1929.0020.0005.1D7BA] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO
+1D7C8 ; [.1929.0020.0005.1D7C8] # MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL
+03A1 ; [.1929.0020.0008.03A1] # GREEK CAPITAL LETTER RHO
+1D6B8 ; [.1929.0020.000B.1D6B8] # MATHEMATICAL BOLD CAPITAL RHO
+1D6F2 ; [.1929.0020.000B.1D6F2] # MATHEMATICAL ITALIC CAPITAL RHO
+1D72C ; [.1929.0020.000B.1D72C] # MATHEMATICAL BOLD ITALIC CAPITAL RHO
+1D766 ; [.1929.0020.000B.1D766] # MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO
+1D7A0 ; [.1929.0020.000B.1D7A0] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO
+1D68 ; [.1929.0020.0015.1D68] # GREEK SUBSCRIPT SMALL LETTER RHO
+1FE4 ; [.1929.0020.0002.03C1][.0000.0022.0002.0313] # GREEK SMALL LETTER RHO WITH PSILI
+1FE5 ; [.1929.0020.0002.03C1][.0000.002A.0002.0314] # GREEK SMALL LETTER RHO WITH DASIA
+1FEC ; [.1929.0020.0008.03A1][.0000.002A.0002.0314] # GREEK CAPITAL LETTER RHO WITH DASIA
+1D29 ; [.192A.0020.0002.1D29] # GREEK LETTER SMALL CAPITAL RHO
+03FC ; [.192B.0020.0002.03FC] # GREEK RHO WITH STROKE SYMBOL
+03C3 ; [.192C.0020.0002.03C3] # GREEK SMALL LETTER SIGMA
+03F2 ; [.192C.0020.0004.03F2] # GREEK LUNATE SIGMA SYMBOL
+1D6D3 ; [.192C.0020.0005.1D6D3] # MATHEMATICAL BOLD SMALL FINAL SIGMA
+1D6D4 ; [.192C.0020.0005.1D6D4] # MATHEMATICAL BOLD SMALL SIGMA
+1D70D ; [.192C.0020.0005.1D70D] # MATHEMATICAL ITALIC SMALL FINAL SIGMA
+1D70E ; [.192C.0020.0005.1D70E] # MATHEMATICAL ITALIC SMALL SIGMA
+1D747 ; [.192C.0020.0005.1D747] # MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA
+1D748 ; [.192C.0020.0005.1D748] # MATHEMATICAL BOLD ITALIC SMALL SIGMA
+1D781 ; [.192C.0020.0005.1D781] # MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA
+1D782 ; [.192C.0020.0005.1D782] # MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA
+1D7BB ; [.192C.0020.0005.1D7BB] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA
+1D7BC ; [.192C.0020.0005.1D7BC] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA
+03A3 ; [.192C.0020.0008.03A3] # GREEK CAPITAL LETTER SIGMA
+03F9 ; [.192C.0020.000A.03F9] # GREEK CAPITAL LUNATE SIGMA SYMBOL
+1D6BA ; [.192C.0020.000B.1D6BA] # MATHEMATICAL BOLD CAPITAL SIGMA
+1D6F4 ; [.192C.0020.000B.1D6F4] # MATHEMATICAL ITALIC CAPITAL SIGMA
+1D72E ; [.192C.0020.000B.1D72E] # MATHEMATICAL BOLD ITALIC CAPITAL SIGMA
+1D768 ; [.192C.0020.000B.1D768] # MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA
+1D7A2 ; [.192C.0020.000B.1D7A2] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA
+03C2 ; [.192C.0020.0019.03C2] # GREEK SMALL LETTER FINAL SIGMA
+037C ; [.192D.0020.0002.037C] # GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
+03FE ; [.192D.0020.0008.03FE] # GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
+037B ; [.192E.0020.0002.037B] # GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
+03FD ; [.192E.0020.0008.03FD] # GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
+037D ; [.192F.0020.0002.037D] # GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
+03FF ; [.192F.0020.0008.03FF] # GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
+03C4 ; [.1930.0020.0002.03C4] # GREEK SMALL LETTER TAU
+1D6D5 ; [.1930.0020.0005.1D6D5] # MATHEMATICAL BOLD SMALL TAU
+1D70F ; [.1930.0020.0005.1D70F] # MATHEMATICAL ITALIC SMALL TAU
+1D749 ; [.1930.0020.0005.1D749] # MATHEMATICAL BOLD ITALIC SMALL TAU
+1D783 ; [.1930.0020.0005.1D783] # MATHEMATICAL SANS-SERIF BOLD SMALL TAU
+1D7BD ; [.1930.0020.0005.1D7BD] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU
+03A4 ; [.1930.0020.0008.03A4] # GREEK CAPITAL LETTER TAU
+1D6BB ; [.1930.0020.000B.1D6BB] # MATHEMATICAL BOLD CAPITAL TAU
+1D6F5 ; [.1930.0020.000B.1D6F5] # MATHEMATICAL ITALIC CAPITAL TAU
+1D72F ; [.1930.0020.000B.1D72F] # MATHEMATICAL BOLD ITALIC CAPITAL TAU
+1D769 ; [.1930.0020.000B.1D769] # MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU
+1D7A3 ; [.1930.0020.000B.1D7A3] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU
+03C5 ; [.1931.0020.0002.03C5] # GREEK SMALL LETTER UPSILON
+1D6D6 ; [.1931.0020.0005.1D6D6] # MATHEMATICAL BOLD SMALL UPSILON
+1D710 ; [.1931.0020.0005.1D710] # MATHEMATICAL ITALIC SMALL UPSILON
+1D74A ; [.1931.0020.0005.1D74A] # MATHEMATICAL BOLD ITALIC SMALL UPSILON
+1D784 ; [.1931.0020.0005.1D784] # MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON
+1D7BE ; [.1931.0020.0005.1D7BE] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON
+03A5 ; [.1931.0020.0008.03A5] # GREEK CAPITAL LETTER UPSILON
+03D2 ; [.1931.0020.000A.03D2] # GREEK UPSILON WITH HOOK SYMBOL
+1D6BC ; [.1931.0020.000B.1D6BC] # MATHEMATICAL BOLD CAPITAL UPSILON
+1D6F6 ; [.1931.0020.000B.1D6F6] # MATHEMATICAL ITALIC CAPITAL UPSILON
+1D730 ; [.1931.0020.000B.1D730] # MATHEMATICAL BOLD ITALIC CAPITAL UPSILON
+1D76A ; [.1931.0020.000B.1D76A] # MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON
+1D7A4 ; [.1931.0020.000B.1D7A4] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON
+1F50 ; [.1931.0020.0002.03C5][.0000.0022.0002.0313] # GREEK SMALL LETTER UPSILON WITH PSILI
+1F54 ; [.1931.0020.0002.03C5][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
+1F52 ; [.1931.0020.0002.03C5][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
+1F56 ; [.1931.0020.0002.03C5][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
+1F51 ; [.1931.0020.0002.03C5][.0000.002A.0002.0314] # GREEK SMALL LETTER UPSILON WITH DASIA
+1F59 ; [.1931.0020.0008.03A5][.0000.002A.0002.0314] # GREEK CAPITAL LETTER UPSILON WITH DASIA
+1F55 ; [.1931.0020.0002.03C5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA
+1F5D ; [.1931.0020.0008.03A5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
+1F53 ; [.1931.0020.0002.03C5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA
+1F5B ; [.1931.0020.0008.03A5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
+1F57 ; [.1931.0020.0002.03C5][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
+1F5F ; [.1931.0020.0008.03A5][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
+03CD ; [.1931.0020.0002.03C5][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH TONOS
+1F7B ; [.1931.0020.0002.03C5][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH OXIA
+038E ; [.1931.0020.0008.03A5][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH TONOS
+1FEB ; [.1931.0020.0008.03A5][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH OXIA
+03D3 ; [.1931.0020.000A.03D3][.0000.0032.0002.03D3] # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL
+1F7A ; [.1931.0020.0002.03C5][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH VARIA
+1FEA ; [.1931.0020.0008.03A5][.0000.0035.0002.0300] # GREEK CAPITAL LETTER UPSILON WITH VARIA
+1FE0 ; [.1931.0020.0002.03C5][.0000.0037.0002.0306] # GREEK SMALL LETTER UPSILON WITH VRACHY
+1FE8 ; [.1931.0020.0008.03A5][.0000.0037.0002.0306] # GREEK CAPITAL LETTER UPSILON WITH VRACHY
+1FE6 ; [.1931.0020.0002.03C5][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH PERISPOMENI
+03CB ; [.1931.0020.0002.03C5][.0000.0047.0002.0308] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+03AB ; [.1931.0020.0008.03A5][.0000.0047.0002.0308] # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+03D4 ; [.1931.0020.000A.03D4][.0000.0047.0002.03D4] # GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
+03B0 ; [.1931.0020.0002.03C5][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+1FE3 ; [.1931.0020.0002.03C5][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
+1FE2 ; [.1931.0020.0002.03C5][.0000.0047.0002.0308][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
+1FE7 ; [.1931.0020.0002.03C5][.0000.0047.0002.0308][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
+1FE1 ; [.1931.0020.0002.03C5][.0000.005B.0002.0304] # GREEK SMALL LETTER UPSILON WITH MACRON
+1FE9 ; [.1931.0020.0008.03A5][.0000.005B.0002.0304] # GREEK CAPITAL LETTER UPSILON WITH MACRON
+03C6 ; [.1932.0020.0002.03C6] # GREEK SMALL LETTER PHI
+03D5 ; [.1932.0020.0004.03D5] # GREEK PHI SYMBOL
+1D6D7 ; [.1932.0020.0005.1D6D7] # MATHEMATICAL BOLD SMALL PHI
+1D6DF ; [.1932.0020.0005.1D6DF] # MATHEMATICAL BOLD PHI SYMBOL
+1D711 ; [.1932.0020.0005.1D711] # MATHEMATICAL ITALIC SMALL PHI
+1D719 ; [.1932.0020.0005.1D719] # MATHEMATICAL ITALIC PHI SYMBOL
+1D74B ; [.1932.0020.0005.1D74B] # MATHEMATICAL BOLD ITALIC SMALL PHI
+1D753 ; [.1932.0020.0005.1D753] # MATHEMATICAL BOLD ITALIC PHI SYMBOL
+1D785 ; [.1932.0020.0005.1D785] # MATHEMATICAL SANS-SERIF BOLD SMALL PHI
+1D78D ; [.1932.0020.0005.1D78D] # MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL
+1D7BF ; [.1932.0020.0005.1D7BF] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI
+1D7C7 ; [.1932.0020.0005.1D7C7] # MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL
+03A6 ; [.1932.0020.0008.03A6] # GREEK CAPITAL LETTER PHI
+1D6BD ; [.1932.0020.000B.1D6BD] # MATHEMATICAL BOLD CAPITAL PHI
+1D6F7 ; [.1932.0020.000B.1D6F7] # MATHEMATICAL ITALIC CAPITAL PHI
+1D731 ; [.1932.0020.000B.1D731] # MATHEMATICAL BOLD ITALIC CAPITAL PHI
+1D76B ; [.1932.0020.000B.1D76B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI
+1D7A5 ; [.1932.0020.000B.1D7A5] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI
+1D60 ; [.1932.0020.0014.1D60] # MODIFIER LETTER SMALL GREEK PHI
+1D69 ; [.1932.0020.0015.1D69] # GREEK SUBSCRIPT SMALL LETTER PHI
+03C7 ; [.1933.0020.0002.03C7] # GREEK SMALL LETTER CHI
+1D6D8 ; [.1933.0020.0005.1D6D8] # MATHEMATICAL BOLD SMALL CHI
+1D712 ; [.1933.0020.0005.1D712] # MATHEMATICAL ITALIC SMALL CHI
+1D74C ; [.1933.0020.0005.1D74C] # MATHEMATICAL BOLD ITALIC SMALL CHI
+1D786 ; [.1933.0020.0005.1D786] # MATHEMATICAL SANS-SERIF BOLD SMALL CHI
+1D7C0 ; [.1933.0020.0005.1D7C0] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI
+03A7 ; [.1933.0020.0008.03A7] # GREEK CAPITAL LETTER CHI
+1D6BE ; [.1933.0020.000B.1D6BE] # MATHEMATICAL BOLD CAPITAL CHI
+1D6F8 ; [.1933.0020.000B.1D6F8] # MATHEMATICAL ITALIC CAPITAL CHI
+1D732 ; [.1933.0020.000B.1D732] # MATHEMATICAL BOLD ITALIC CAPITAL CHI
+1D76C ; [.1933.0020.000B.1D76C] # MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI
+1D7A6 ; [.1933.0020.000B.1D7A6] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI
+1D61 ; [.1933.0020.0014.1D61] # MODIFIER LETTER SMALL CHI
+1D6A ; [.1933.0020.0015.1D6A] # GREEK SUBSCRIPT SMALL LETTER CHI
+03C8 ; [.1934.0020.0002.03C8] # GREEK SMALL LETTER PSI
+1D6D9 ; [.1934.0020.0005.1D6D9] # MATHEMATICAL BOLD SMALL PSI
+1D713 ; [.1934.0020.0005.1D713] # MATHEMATICAL ITALIC SMALL PSI
+1D74D ; [.1934.0020.0005.1D74D] # MATHEMATICAL BOLD ITALIC SMALL PSI
+1D787 ; [.1934.0020.0005.1D787] # MATHEMATICAL SANS-SERIF BOLD SMALL PSI
+1D7C1 ; [.1934.0020.0005.1D7C1] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI
+03A8 ; [.1934.0020.0008.03A8] # GREEK CAPITAL LETTER PSI
+1D6BF ; [.1934.0020.000B.1D6BF] # MATHEMATICAL BOLD CAPITAL PSI
+1D6F9 ; [.1934.0020.000B.1D6F9] # MATHEMATICAL ITALIC CAPITAL PSI
+1D733 ; [.1934.0020.000B.1D733] # MATHEMATICAL BOLD ITALIC CAPITAL PSI
+1D76D ; [.1934.0020.000B.1D76D] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI
+1D7A7 ; [.1934.0020.000B.1D7A7] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI
+1D2A ; [.1935.0020.0002.1D2A] # GREEK LETTER SMALL CAPITAL PSI
+03C9 ; [.1936.0020.0002.03C9] # GREEK SMALL LETTER OMEGA
+1D6DA ; [.1936.0020.0005.1D6DA] # MATHEMATICAL BOLD SMALL OMEGA
+1D714 ; [.1936.0020.0005.1D714] # MATHEMATICAL ITALIC SMALL OMEGA
+1D74E ; [.1936.0020.0005.1D74E] # MATHEMATICAL BOLD ITALIC SMALL OMEGA
+1D788 ; [.1936.0020.0005.1D788] # MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
+1D7C2 ; [.1936.0020.0005.1D7C2] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
+03A9 ; [.1936.0020.0008.03A9] # GREEK CAPITAL LETTER OMEGA
+2126 ; [.1936.0020.0008.2126] # OHM SIGN
+1D6C0 ; [.1936.0020.000B.1D6C0] # MATHEMATICAL BOLD CAPITAL OMEGA
+1D6FA ; [.1936.0020.000B.1D6FA] # MATHEMATICAL ITALIC CAPITAL OMEGA
+1D734 ; [.1936.0020.000B.1D734] # MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
+1D76E ; [.1936.0020.000B.1D76E] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
+1D7A8 ; [.1936.0020.000B.1D7A8] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
+1F60 ; [.1936.0020.0002.03C9][.0000.0022.0002.0313] # GREEK SMALL LETTER OMEGA WITH PSILI
+1F68 ; [.1936.0020.0008.03A9][.0000.0022.0002.0313] # GREEK CAPITAL LETTER OMEGA WITH PSILI
+1F64 ; [.1936.0020.0002.03C9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA
+1F6C ; [.1936.0020.0008.03A9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
+1FA4 ; [.1936.0020.0002.03C9][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+1FAC ; [.1936.0020.0008.03A9][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+1F62 ; [.1936.0020.0002.03C9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA
+1F6A ; [.1936.0020.0008.03A9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
+1FA2 ; [.1936.0020.0002.03C9][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+1FAA ; [.1936.0020.0008.03A9][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+1F66 ; [.1936.0020.0002.03C9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
+1F6E ; [.1936.0020.0008.03A9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
+1FA6 ; [.1936.0020.0002.03C9][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+1FAE ; [.1936.0020.0008.03A9][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+1FA0 ; [.1936.0020.0002.03C9][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
+1FA8 ; [.1936.0020.0008.03A9][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
+1F61 ; [.1936.0020.0002.03C9][.0000.002A.0002.0314] # GREEK SMALL LETTER OMEGA WITH DASIA
+1F69 ; [.1936.0020.0008.03A9][.0000.002A.0002.0314] # GREEK CAPITAL LETTER OMEGA WITH DASIA
+1F65 ; [.1936.0020.0002.03C9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA
+1F6D ; [.1936.0020.0008.03A9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
+1FA5 ; [.1936.0020.0002.03C9][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+1FAD ; [.1936.0020.0008.03A9][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+1F63 ; [.1936.0020.0002.03C9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA
+1F6B ; [.1936.0020.0008.03A9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
+1FA3 ; [.1936.0020.0002.03C9][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+1FAB ; [.1936.0020.0008.03A9][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+1F67 ; [.1936.0020.0002.03C9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
+1F6F ; [.1936.0020.0008.03A9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
+1FA7 ; [.1936.0020.0002.03C9][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1FAF ; [.1936.0020.0008.03A9][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1FA1 ; [.1936.0020.0002.03C9][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
+1FA9 ; [.1936.0020.0008.03A9][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
+03CE ; [.1936.0020.0002.03C9][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH TONOS
+1F7D ; [.1936.0020.0002.03C9][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH OXIA
+038F ; [.1936.0020.0008.03A9][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH TONOS
+1FFB ; [.1936.0020.0008.03A9][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH OXIA
+1FF4 ; [.1936.0020.0002.03C9][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
+1F7C ; [.1936.0020.0002.03C9][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH VARIA
+1FFA ; [.1936.0020.0008.03A9][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH VARIA
+1FF2 ; [.1936.0020.0002.03C9][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
+1FF6 ; [.1936.0020.0002.03C9][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI
+1FF7 ; [.1936.0020.0002.03C9][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
+1FF3 ; [.1936.0020.0002.03C9][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
+1FFC ; [.1936.0020.0008.03A9][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
+03E1 ; [.1937.0020.0002.03E1] # GREEK SMALL LETTER SAMPI
+03E0 ; [.1937.0020.0008.03E0] # GREEK LETTER SAMPI
+0373 ; [.1938.0020.0002.0373] # GREEK SMALL LETTER ARCHAIC SAMPI
+0372 ; [.1938.0020.0008.0372] # GREEK CAPITAL LETTER ARCHAIC SAMPI
+03F8 ; [.1939.0020.0002.03F8] # GREEK SMALL LETTER SHO
+03F7 ; [.1939.0020.0008.03F7] # GREEK CAPITAL LETTER SHO
+2C81 ; [.193A.0020.0002.2C81] # COPTIC SMALL LETTER ALFA
+2C80 ; [.193A.0020.0008.2C80] # COPTIC CAPITAL LETTER ALFA
+2C83 ; [.193B.0020.0002.2C83] # COPTIC SMALL LETTER VIDA
+2C82 ; [.193B.0020.0008.2C82] # COPTIC CAPITAL LETTER VIDA
+2C85 ; [.193C.0020.0002.2C85] # COPTIC SMALL LETTER GAMMA
+2C84 ; [.193C.0020.0008.2C84] # COPTIC CAPITAL LETTER GAMMA
+2C87 ; [.193D.0020.0002.2C87] # COPTIC SMALL LETTER DALDA
+2C86 ; [.193D.0020.0008.2C86] # COPTIC CAPITAL LETTER DALDA
+2C89 ; [.193E.0020.0002.2C89] # COPTIC SMALL LETTER EIE
+2C88 ; [.193E.0020.0008.2C88] # COPTIC CAPITAL LETTER EIE
+2CB7 ; [.193F.0020.0002.2CB7] # COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
+2CB6 ; [.193F.0020.0008.2CB6] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
+2C8B ; [.1940.0020.0002.2C8B] # COPTIC SMALL LETTER SOU
+2C8A ; [.1940.0020.0008.2C8A] # COPTIC CAPITAL LETTER SOU
+2C8D ; [.1941.0020.0002.2C8D] # COPTIC SMALL LETTER ZATA
+2C8C ; [.1941.0020.0008.2C8C] # COPTIC CAPITAL LETTER ZATA
+2C8F ; [.1942.0020.0002.2C8F] # COPTIC SMALL LETTER HATE
+2C8E ; [.1942.0020.0008.2C8E] # COPTIC CAPITAL LETTER HATE
+2C91 ; [.1943.0020.0002.2C91] # COPTIC SMALL LETTER THETHE
+2C90 ; [.1943.0020.0008.2C90] # COPTIC CAPITAL LETTER THETHE
+2C93 ; [.1944.0020.0002.2C93] # COPTIC SMALL LETTER IAUDA
+2C92 ; [.1944.0020.0008.2C92] # COPTIC CAPITAL LETTER IAUDA
+2C95 ; [.1945.0020.0002.2C95] # COPTIC SMALL LETTER KAPA
+2C94 ; [.1945.0020.0008.2C94] # COPTIC CAPITAL LETTER KAPA
+2CE4 ; [.1945.0020.0004.2CE4][.193A.0020.0004.2CE4][.1944.0020.001F.2CE4] # COPTIC SYMBOL KAI
+2CB9 ; [.1946.0020.0002.2CB9] # COPTIC SMALL LETTER DIALECT-P KAPA
+2CB8 ; [.1946.0020.0008.2CB8] # COPTIC CAPITAL LETTER DIALECT-P KAPA
+2C97 ; [.1947.0020.0002.2C97] # COPTIC SMALL LETTER LAULA
+2C96 ; [.1947.0020.0008.2C96] # COPTIC CAPITAL LETTER LAULA
+2C99 ; [.1948.0020.0002.2C99] # COPTIC SMALL LETTER MI
+2C98 ; [.1948.0020.0008.2C98] # COPTIC CAPITAL LETTER MI
+2C9B ; [.1949.0020.0002.2C9B] # COPTIC SMALL LETTER NI
+2C9A ; [.1949.0020.0008.2C9A] # COPTIC CAPITAL LETTER NI
+2CBB ; [.194A.0020.0002.2CBB] # COPTIC SMALL LETTER DIALECT-P NI
+2CBA ; [.194A.0020.0008.2CBA] # COPTIC CAPITAL LETTER DIALECT-P NI
+2CBD ; [.194B.0020.0002.2CBD] # COPTIC SMALL LETTER CRYPTOGRAMMIC NI
+2CBC ; [.194B.0020.0008.2CBC] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
+2C9D ; [.194C.0020.0002.2C9D] # COPTIC SMALL LETTER KSI
+2C9C ; [.194C.0020.0008.2C9C] # COPTIC CAPITAL LETTER KSI
+2C9F ; [.194D.0020.0002.2C9F] # COPTIC SMALL LETTER O
+2C9E ; [.194D.0020.0008.2C9E] # COPTIC CAPITAL LETTER O
+2CA1 ; [.194E.0020.0002.2CA1] # COPTIC SMALL LETTER PI
+2CA0 ; [.194E.0020.0008.2CA0] # COPTIC CAPITAL LETTER PI
+2CA3 ; [.194F.0020.0002.2CA3] # COPTIC SMALL LETTER RO
+2CA2 ; [.194F.0020.0008.2CA2] # COPTIC CAPITAL LETTER RO
+2CA5 ; [.1950.0020.0002.2CA5] # COPTIC SMALL LETTER SIMA
+2CA4 ; [.1950.0020.0008.2CA4] # COPTIC CAPITAL LETTER SIMA
+2CA7 ; [.1951.0020.0002.2CA7] # COPTIC SMALL LETTER TAU
+2CA6 ; [.1951.0020.0008.2CA6] # COPTIC CAPITAL LETTER TAU
+2CA9 ; [.1952.0020.0002.2CA9] # COPTIC SMALL LETTER UA
+2CA8 ; [.1952.0020.0008.2CA8] # COPTIC CAPITAL LETTER UA
+2CAB ; [.1953.0020.0002.2CAB] # COPTIC SMALL LETTER FI
+2CAA ; [.1953.0020.0008.2CAA] # COPTIC CAPITAL LETTER FI
+2CAD ; [.1954.0020.0002.2CAD] # COPTIC SMALL LETTER KHI
+2CAC ; [.1954.0020.0008.2CAC] # COPTIC CAPITAL LETTER KHI
+2CAF ; [.1955.0020.0002.2CAF] # COPTIC SMALL LETTER PSI
+2CAE ; [.1955.0020.0008.2CAE] # COPTIC CAPITAL LETTER PSI
+2CB1 ; [.1956.0020.0002.2CB1] # COPTIC SMALL LETTER OOU
+2CB0 ; [.1956.0020.0008.2CB0] # COPTIC CAPITAL LETTER OOU
+2CBF ; [.1957.0020.0002.2CBF] # COPTIC SMALL LETTER OLD COPTIC OOU
+2CBE ; [.1957.0020.0008.2CBE] # COPTIC CAPITAL LETTER OLD COPTIC OOU
+2CC1 ; [.1958.0020.0002.2CC1] # COPTIC SMALL LETTER SAMPI
+2CC0 ; [.1958.0020.0008.2CC0] # COPTIC CAPITAL LETTER SAMPI
+03E3 ; [.1959.0020.0002.03E3] # COPTIC SMALL LETTER SHEI
+03E2 ; [.1959.0020.0008.03E2] # COPTIC CAPITAL LETTER SHEI
+2CEC ; [.195A.0020.0002.2CEC] # COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
+2CEB ; [.195A.0020.0008.2CEB] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
+2CC3 ; [.195B.0020.0002.2CC3] # COPTIC SMALL LETTER CROSSED SHEI
+2CC2 ; [.195B.0020.0008.2CC2] # COPTIC CAPITAL LETTER CROSSED SHEI
+2CC5 ; [.195C.0020.0002.2CC5] # COPTIC SMALL LETTER OLD COPTIC SHEI
+2CC4 ; [.195C.0020.0008.2CC4] # COPTIC CAPITAL LETTER OLD COPTIC SHEI
+2CC7 ; [.195D.0020.0002.2CC7] # COPTIC SMALL LETTER OLD COPTIC ESH
+2CC6 ; [.195D.0020.0008.2CC6] # COPTIC CAPITAL LETTER OLD COPTIC ESH
+03E5 ; [.195E.0020.0002.03E5] # COPTIC SMALL LETTER FEI
+03E4 ; [.195E.0020.0008.03E4] # COPTIC CAPITAL LETTER FEI
+03E7 ; [.195F.0020.0002.03E7] # COPTIC SMALL LETTER KHEI
+03E6 ; [.195F.0020.0008.03E6] # COPTIC CAPITAL LETTER KHEI
+2CF3 ; [.1960.0020.0002.2CF3] # COPTIC SMALL LETTER BOHAIRIC KHEI
+2CF2 ; [.1960.0020.0008.2CF2] # COPTIC CAPITAL LETTER BOHAIRIC KHEI
+2CC9 ; [.1961.0020.0002.2CC9] # COPTIC SMALL LETTER AKHMIMIC KHEI
+2CC8 ; [.1961.0020.0008.2CC8] # COPTIC CAPITAL LETTER AKHMIMIC KHEI
+03E9 ; [.1962.0020.0002.03E9] # COPTIC SMALL LETTER HORI
+03E8 ; [.1962.0020.0008.03E8] # COPTIC CAPITAL LETTER HORI
+2CCB ; [.1963.0020.0002.2CCB] # COPTIC SMALL LETTER DIALECT-P HORI
+2CCA ; [.1963.0020.0008.2CCA] # COPTIC CAPITAL LETTER DIALECT-P HORI
+2CCD ; [.1964.0020.0002.2CCD] # COPTIC SMALL LETTER OLD COPTIC HORI
+2CCC ; [.1964.0020.0008.2CCC] # COPTIC CAPITAL LETTER OLD COPTIC HORI
+2CCF ; [.1965.0020.0002.2CCF] # COPTIC SMALL LETTER OLD COPTIC HA
+2CCE ; [.1965.0020.0008.2CCE] # COPTIC CAPITAL LETTER OLD COPTIC HA
+2CD1 ; [.1966.0020.0002.2CD1] # COPTIC SMALL LETTER L-SHAPED HA
+2CD0 ; [.1966.0020.0008.2CD0] # COPTIC CAPITAL LETTER L-SHAPED HA
+2CD3 ; [.1967.0020.0002.2CD3] # COPTIC SMALL LETTER OLD COPTIC HEI
+2CD2 ; [.1967.0020.0008.2CD2] # COPTIC CAPITAL LETTER OLD COPTIC HEI
+2CD5 ; [.1968.0020.0002.2CD5] # COPTIC SMALL LETTER OLD COPTIC HAT
+2CD4 ; [.1968.0020.0008.2CD4] # COPTIC CAPITAL LETTER OLD COPTIC HAT
+03EB ; [.1969.0020.0002.03EB] # COPTIC SMALL LETTER GANGIA
+03EA ; [.1969.0020.0008.03EA] # COPTIC CAPITAL LETTER GANGIA
+2CEE ; [.196A.0020.0002.2CEE] # COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CED ; [.196A.0020.0008.2CED] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
+2CD7 ; [.196B.0020.0002.2CD7] # COPTIC SMALL LETTER OLD COPTIC GANGIA
+2CD6 ; [.196B.0020.0008.2CD6] # COPTIC CAPITAL LETTER OLD COPTIC GANGIA
+03ED ; [.196C.0020.0002.03ED] # COPTIC SMALL LETTER SHIMA
+03EC ; [.196C.0020.0008.03EC] # COPTIC CAPITAL LETTER SHIMA
+2CD9 ; [.196D.0020.0002.2CD9] # COPTIC SMALL LETTER OLD COPTIC DJA
+2CD8 ; [.196D.0020.0008.2CD8] # COPTIC CAPITAL LETTER OLD COPTIC DJA
+2CDB ; [.196E.0020.0002.2CDB] # COPTIC SMALL LETTER OLD COPTIC SHIMA
+2CDA ; [.196E.0020.0008.2CDA] # COPTIC CAPITAL LETTER OLD COPTIC SHIMA
+2CDD ; [.196F.0020.0002.2CDD] # COPTIC SMALL LETTER OLD NUBIAN SHIMA
+2CDC ; [.196F.0020.0008.2CDC] # COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
+03EF ; [.1970.0020.0002.03EF] # COPTIC SMALL LETTER DEI
+03EE ; [.1970.0020.0008.03EE] # COPTIC CAPITAL LETTER DEI
+2CB3 ; [.1971.0020.0002.2CB3] # COPTIC SMALL LETTER DIALECT-P ALEF
+2CB2 ; [.1971.0020.0008.2CB2] # COPTIC CAPITAL LETTER DIALECT-P ALEF
+2CB5 ; [.1972.0020.0002.2CB5] # COPTIC SMALL LETTER OLD COPTIC AIN
+2CB4 ; [.1972.0020.0008.2CB4] # COPTIC CAPITAL LETTER OLD COPTIC AIN
+2CDF ; [.1973.0020.0002.2CDF] # COPTIC SMALL LETTER OLD NUBIAN NGI
+2CDE ; [.1973.0020.0008.2CDE] # COPTIC CAPITAL LETTER OLD NUBIAN NGI
+2CE1 ; [.1974.0020.0002.2CE1] # COPTIC SMALL LETTER OLD NUBIAN NYI
+2CE0 ; [.1974.0020.0008.2CE0] # COPTIC CAPITAL LETTER OLD NUBIAN NYI
+2CE3 ; [.1975.0020.0002.2CE3] # COPTIC SMALL LETTER OLD NUBIAN WAU
+2CE2 ; [.1975.0020.0008.2CE2] # COPTIC CAPITAL LETTER OLD NUBIAN WAU
+0430 ; [.1976.0020.0002.0430] # CYRILLIC SMALL LETTER A
+2DF6 ; [.1976.0020.0004.2DF6] # COMBINING CYRILLIC LETTER A
+0410 ; [.1976.0020.0008.0410] # CYRILLIC CAPITAL LETTER A
+04D1 ; [.197A.0020.0002.04D1] # CYRILLIC SMALL LETTER A WITH BREVE
+0430 0306 ; [.197A.0020.0002.04D1] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0 ; [.197A.0020.0008.04D0] # CYRILLIC CAPITAL LETTER A WITH BREVE
+0410 0306 ; [.197A.0020.0008.04D0] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3 ; [.197E.0020.0002.04D3] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+0430 0308 ; [.197E.0020.0002.04D3] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2 ; [.197E.0020.0008.04D2] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+0410 0308 ; [.197E.0020.0008.04D2] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04D9 ; [.1982.0020.0002.04D9] # CYRILLIC SMALL LETTER SCHWA
+04D8 ; [.1982.0020.0008.04D8] # CYRILLIC CAPITAL LETTER SCHWA
+04DB ; [.1986.0020.0002.04DB] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04D9 0308 ; [.1986.0020.0002.04DB] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA ; [.1986.0020.0008.04DA] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+04D8 0308 ; [.1986.0020.0008.04DA] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+04D5 ; [.198A.0020.0002.04D5] # CYRILLIC SMALL LIGATURE A IE
+04D4 ; [.198A.0020.0008.04D4] # CYRILLIC CAPITAL LIGATURE A IE
+0431 ; [.198E.0020.0002.0431] # CYRILLIC SMALL LETTER BE
+2DE0 ; [.198E.0020.0004.2DE0] # COMBINING CYRILLIC LETTER BE
+0411 ; [.198E.0020.0008.0411] # CYRILLIC CAPITAL LETTER BE
+0432 ; [.1992.0020.0002.0432] # CYRILLIC SMALL LETTER VE
+2DE1 ; [.1992.0020.0004.2DE1] # COMBINING CYRILLIC LETTER VE
+0412 ; [.1992.0020.0008.0412] # CYRILLIC CAPITAL LETTER VE
+0433 ; [.1996.0020.0002.0433] # CYRILLIC SMALL LETTER GHE
+2DE2 ; [.1996.0020.0004.2DE2] # COMBINING CYRILLIC LETTER GHE
+0413 ; [.1996.0020.0008.0413] # CYRILLIC CAPITAL LETTER GHE
+0491 ; [.1996.0020.0004.0491][.0000.013A.0004.0491] # CYRILLIC SMALL LETTER GHE WITH UPTURN
+0490 ; [.1996.0020.000A.0490][.0000.013A.0004.0490] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+0493 ; [.199A.0020.0002.0493] # CYRILLIC SMALL LETTER GHE WITH STROKE
+0492 ; [.199A.0020.0008.0492] # CYRILLIC CAPITAL LETTER GHE WITH STROKE
+04FB ; [.199E.0020.0002.04FB] # CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
+04FA ; [.199E.0020.0008.04FA] # CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
+0495 ; [.19A2.0020.0002.0495] # CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
+0494 ; [.19A2.0020.0008.0494] # CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
+04F7 ; [.19A6.0020.0002.04F7] # CYRILLIC SMALL LETTER GHE WITH DESCENDER
+04F6 ; [.19A6.0020.0008.04F6] # CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
+0434 ; [.19AA.0020.0002.0434] # CYRILLIC SMALL LETTER DE
+2DE3 ; [.19AA.0020.0004.2DE3] # COMBINING CYRILLIC LETTER DE
+0414 ; [.19AA.0020.0008.0414] # CYRILLIC CAPITAL LETTER DE
+0501 ; [.19AE.0020.0002.0501] # CYRILLIC SMALL LETTER KOMI DE
+0500 ; [.19AE.0020.0008.0500] # CYRILLIC CAPITAL LETTER KOMI DE
+A681 ; [.19AF.0020.0002.A681] # CYRILLIC SMALL LETTER DWE
+A680 ; [.19AF.0020.0008.A680] # CYRILLIC CAPITAL LETTER DWE
+0452 ; [.19B0.0020.0002.0452] # CYRILLIC SMALL LETTER DJE
+0402 ; [.19B0.0020.0008.0402] # CYRILLIC CAPITAL LETTER DJE
+A663 ; [.19B4.0020.0002.A663] # CYRILLIC SMALL LETTER SOFT DE
+A662 ; [.19B4.0020.0008.A662] # CYRILLIC CAPITAL LETTER SOFT DE
+0503 ; [.19B5.0020.0002.0503] # CYRILLIC SMALL LETTER KOMI DJE
+0502 ; [.19B5.0020.0008.0502] # CYRILLIC CAPITAL LETTER KOMI DJE
+0453 ; [.19B6.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
+0433 0301 ; [.19B6.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
+0433 0341 ; [.19B6.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
+0403 ; [.19B6.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
+0413 0301 ; [.19B6.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
+0413 0341 ; [.19B6.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
+0499 ; [.19BA.0020.0002.0499] # CYRILLIC SMALL LETTER ZE WITH DESCENDER
+0498 ; [.19BA.0020.0008.0498] # CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
+0435 ; [.19BE.0020.0002.0435] # CYRILLIC SMALL LETTER IE
+2DF7 ; [.19BE.0020.0004.2DF7] # COMBINING CYRILLIC LETTER IE
+0415 ; [.19BE.0020.0008.0415] # CYRILLIC CAPITAL LETTER IE
+0450 ; [.19BE.0020.0002.0435][.0000.0035.0002.0300] # CYRILLIC SMALL LETTER IE WITH GRAVE
+0400 ; [.19BE.0020.0008.0415][.0000.0035.0002.0300] # CYRILLIC CAPITAL LETTER IE WITH GRAVE
+0451 ; [.19BE.0020.0002.0435][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER IO
+0401 ; [.19BE.0020.0008.0415][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER IO
+04D7 ; [.19C2.0020.0002.04D7] # CYRILLIC SMALL LETTER IE WITH BREVE
+0435 0306 ; [.19C2.0020.0002.04D7] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6 ; [.19C2.0020.0008.04D6] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+0415 0306 ; [.19C2.0020.0008.04D6] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+0454 ; [.19C6.0020.0002.0454] # CYRILLIC SMALL LETTER UKRAINIAN IE
+A674 ; [.19C6.0020.0004.A674] # COMBINING CYRILLIC LETTER UKRAINIAN IE
+0404 ; [.19C6.0020.0008.0404] # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0436 ; [.19CA.0020.0002.0436] # CYRILLIC SMALL LETTER ZHE
+2DE4 ; [.19CA.0020.0004.2DE4] # COMBINING CYRILLIC LETTER ZHE
+0416 ; [.19CA.0020.0008.0416] # CYRILLIC CAPITAL LETTER ZHE
+04C2 ; [.19CA.0020.0002.0436][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER ZHE WITH BREVE
+04C1 ; [.19CA.0020.0008.0416][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER ZHE WITH BREVE
+A685 ; [.19CE.0020.0002.A685] # CYRILLIC SMALL LETTER ZHWE
+A684 ; [.19CE.0020.0008.A684] # CYRILLIC CAPITAL LETTER ZHWE
+04DD ; [.19CF.0020.0002.04DD] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+0436 0308 ; [.19CF.0020.0002.04DD] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC ; [.19CF.0020.0008.04DC] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+0416 0308 ; [.19CF.0020.0008.04DC] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+0497 ; [.19D3.0020.0002.0497] # CYRILLIC SMALL LETTER ZHE WITH DESCENDER
+0496 ; [.19D3.0020.0008.0496] # CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+0437 ; [.19D7.0020.0002.0437] # CYRILLIC SMALL LETTER ZE
+2DE5 ; [.19D7.0020.0004.2DE5] # COMBINING CYRILLIC LETTER ZE
+0417 ; [.19D7.0020.0008.0417] # CYRILLIC CAPITAL LETTER ZE
+A641 ; [.19DB.0020.0002.A641] # CYRILLIC SMALL LETTER ZEMLYA
+A640 ; [.19DB.0020.0008.A640] # CYRILLIC CAPITAL LETTER ZEMLYA
+0505 ; [.19DC.0020.0002.0505] # CYRILLIC SMALL LETTER KOMI ZJE
+0504 ; [.19DC.0020.0008.0504] # CYRILLIC CAPITAL LETTER KOMI ZJE
+0511 ; [.19DD.0020.0002.0511] # CYRILLIC SMALL LETTER REVERSED ZE
+0510 ; [.19DD.0020.0008.0510] # CYRILLIC CAPITAL LETTER REVERSED ZE
+04DF ; [.19DE.0020.0002.04DF] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+0437 0308 ; [.19DE.0020.0002.04DF] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE ; [.19DE.0020.0008.04DE] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+0417 0308 ; [.19DE.0020.0008.04DE] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+A643 ; [.19E2.0020.0002.A643] # CYRILLIC SMALL LETTER DZELO
+A642 ; [.19E2.0020.0008.A642] # CYRILLIC CAPITAL LETTER DZELO
+0455 ; [.19E3.0020.0002.0455] # CYRILLIC SMALL LETTER DZE
+0405 ; [.19E3.0020.0008.0405] # CYRILLIC CAPITAL LETTER DZE
+A645 ; [.19E7.0020.0002.A645] # CYRILLIC SMALL LETTER REVERSED DZE
+A644 ; [.19E7.0020.0008.A644] # CYRILLIC CAPITAL LETTER REVERSED DZE
+04E1 ; [.19E8.0020.0002.04E1] # CYRILLIC SMALL LETTER ABKHASIAN DZE
+04E0 ; [.19E8.0020.0008.04E0] # CYRILLIC CAPITAL LETTER ABKHASIAN DZE
+A689 ; [.19EC.0020.0002.A689] # CYRILLIC SMALL LETTER DZZE
+A688 ; [.19EC.0020.0008.A688] # CYRILLIC CAPITAL LETTER DZZE
+0507 ; [.19ED.0020.0002.0507] # CYRILLIC SMALL LETTER KOMI DZJE
+0506 ; [.19ED.0020.0008.0506] # CYRILLIC CAPITAL LETTER KOMI DZJE
+A683 ; [.19EE.0020.0002.A683] # CYRILLIC SMALL LETTER DZWE
+A682 ; [.19EE.0020.0008.A682] # CYRILLIC CAPITAL LETTER DZWE
+0438 ; [.19EF.0020.0002.0438] # CYRILLIC SMALL LETTER I
+A675 ; [.19EF.0020.0004.A675] # COMBINING CYRILLIC LETTER I
+0418 ; [.19EF.0020.0008.0418] # CYRILLIC CAPITAL LETTER I
+045D ; [.19EF.0020.0002.0438][.0000.0035.0002.0300] # CYRILLIC SMALL LETTER I WITH GRAVE
+040D ; [.19EF.0020.0008.0418][.0000.0035.0002.0300] # CYRILLIC CAPITAL LETTER I WITH GRAVE
+04E3 ; [.19EF.0020.0002.0438][.0000.005B.0002.0304] # CYRILLIC SMALL LETTER I WITH MACRON
+04E2 ; [.19EF.0020.0008.0418][.0000.005B.0002.0304] # CYRILLIC CAPITAL LETTER I WITH MACRON
+048B ; [.19F3.0020.0002.048B] # CYRILLIC SMALL LETTER SHORT I WITH TAIL
+048A ; [.19F3.0020.0008.048A] # CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
+04E5 ; [.19F7.0020.0002.04E5] # CYRILLIC SMALL LETTER I WITH DIAERESIS
+0438 0308 ; [.19F7.0020.0002.04E5] # CYRILLIC SMALL LETTER I WITH DIAERESIS
+04E4 ; [.19F7.0020.0008.04E4] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+0418 0308 ; [.19F7.0020.0008.04E4] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+0456 ; [.19FB.0020.0002.0456] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0406 ; [.19FB.0020.0008.0406] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+A647 ; [.19FF.0020.0002.A647] # CYRILLIC SMALL LETTER IOTA
+A646 ; [.19FF.0020.0008.A646] # CYRILLIC CAPITAL LETTER IOTA
+0457 ; [.1A00.0020.0002.0457] # CYRILLIC SMALL LETTER YI
+0456 0308 ; [.1A00.0020.0002.0457] # CYRILLIC SMALL LETTER YI
+A676 ; [.1A00.0020.0004.A676] # COMBINING CYRILLIC LETTER YI
+0407 ; [.1A00.0020.0008.0407] # CYRILLIC CAPITAL LETTER YI
+0406 0308 ; [.1A00.0020.0008.0407] # CYRILLIC CAPITAL LETTER YI
+0439 ; [.1A04.0020.0002.0439] # CYRILLIC SMALL LETTER SHORT I
+0438 0306 ; [.1A04.0020.0002.0439] # CYRILLIC SMALL LETTER SHORT I
+0419 ; [.1A04.0020.0008.0419] # CYRILLIC CAPITAL LETTER SHORT I
+0418 0306 ; [.1A04.0020.0008.0419] # CYRILLIC CAPITAL LETTER SHORT I
+0458 ; [.1A08.0020.0002.0458] # CYRILLIC SMALL LETTER JE
+0408 ; [.1A08.0020.0008.0408] # CYRILLIC CAPITAL LETTER JE
+A649 ; [.1A0C.0020.0002.A649] # CYRILLIC SMALL LETTER DJERV
+2DF8 ; [.1A0C.0020.0004.2DF8] # COMBINING CYRILLIC LETTER DJERV
+A648 ; [.1A0C.0020.0008.A648] # CYRILLIC CAPITAL LETTER DJERV
+043A ; [.1A0D.0020.0002.043A] # CYRILLIC SMALL LETTER KA
+2DE6 ; [.1A0D.0020.0004.2DE6] # COMBINING CYRILLIC LETTER KA
+041A ; [.1A0D.0020.0008.041A] # CYRILLIC CAPITAL LETTER KA
+049B ; [.1A11.0020.0002.049B] # CYRILLIC SMALL LETTER KA WITH DESCENDER
+049A ; [.1A11.0020.0008.049A] # CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+04C4 ; [.1A15.0020.0002.04C4] # CYRILLIC SMALL LETTER KA WITH HOOK
+04C3 ; [.1A15.0020.0008.04C3] # CYRILLIC CAPITAL LETTER KA WITH HOOK
+04A1 ; [.1A19.0020.0002.04A1] # CYRILLIC SMALL LETTER BASHKIR KA
+04A0 ; [.1A19.0020.0008.04A0] # CYRILLIC CAPITAL LETTER BASHKIR KA
+049F ; [.1A1D.0020.0002.049F] # CYRILLIC SMALL LETTER KA WITH STROKE
+049E ; [.1A1D.0020.0008.049E] # CYRILLIC CAPITAL LETTER KA WITH STROKE
+049D ; [.1A21.0020.0002.049D] # CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+049C ; [.1A21.0020.0008.049C] # CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
+051F ; [.1A25.0020.0002.051F] # CYRILLIC SMALL LETTER ALEUT KA
+051E ; [.1A25.0020.0008.051E] # CYRILLIC CAPITAL LETTER ALEUT KA
+051B ; [.1A26.0020.0002.051B] # CYRILLIC SMALL LETTER QA
+051A ; [.1A26.0020.0008.051A] # CYRILLIC CAPITAL LETTER QA
+043B ; [.1A27.0020.0002.043B] # CYRILLIC SMALL LETTER EL
+2DE7 ; [.1A27.0020.0004.2DE7] # COMBINING CYRILLIC LETTER EL
+041B ; [.1A27.0020.0008.041B] # CYRILLIC CAPITAL LETTER EL
+1D2B ; [.1A2B.0020.0002.1D2B] # CYRILLIC LETTER SMALL CAPITAL EL
+04C6 ; [.1A2C.0020.0002.04C6] # CYRILLIC SMALL LETTER EL WITH TAIL
+04C5 ; [.1A2C.0020.0008.04C5] # CYRILLIC CAPITAL LETTER EL WITH TAIL
+0513 ; [.1A30.0020.0002.0513] # CYRILLIC SMALL LETTER EL WITH HOOK
+0512 ; [.1A30.0020.0008.0512] # CYRILLIC CAPITAL LETTER EL WITH HOOK
+0521 ; [.1A31.0020.0002.0521] # CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
+0520 ; [.1A31.0020.0008.0520] # CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
+0459 ; [.1A32.0020.0002.0459] # CYRILLIC SMALL LETTER LJE
+0409 ; [.1A32.0020.0008.0409] # CYRILLIC CAPITAL LETTER LJE
+A665 ; [.1A36.0020.0002.A665] # CYRILLIC SMALL LETTER SOFT EL
+A664 ; [.1A36.0020.0008.A664] # CYRILLIC CAPITAL LETTER SOFT EL
+0509 ; [.1A37.0020.0002.0509] # CYRILLIC SMALL LETTER KOMI LJE
+0508 ; [.1A37.0020.0008.0508] # CYRILLIC CAPITAL LETTER KOMI LJE
+0515 ; [.1A38.0020.0002.0515] # CYRILLIC SMALL LETTER LHA
+0514 ; [.1A38.0020.0008.0514] # CYRILLIC CAPITAL LETTER LHA
+043C ; [.1A39.0020.0002.043C] # CYRILLIC SMALL LETTER EM
+2DE8 ; [.1A39.0020.0004.2DE8] # COMBINING CYRILLIC LETTER EM
+041C ; [.1A39.0020.0008.041C] # CYRILLIC CAPITAL LETTER EM
+04CE ; [.1A3D.0020.0002.04CE] # CYRILLIC SMALL LETTER EM WITH TAIL
+04CD ; [.1A3D.0020.0008.04CD] # CYRILLIC CAPITAL LETTER EM WITH TAIL
+A667 ; [.1A41.0020.0002.A667] # CYRILLIC SMALL LETTER SOFT EM
+A666 ; [.1A41.0020.0008.A666] # CYRILLIC CAPITAL LETTER SOFT EM
+043D ; [.1A42.0020.0002.043D] # CYRILLIC SMALL LETTER EN
+2DE9 ; [.1A42.0020.0004.2DE9] # COMBINING CYRILLIC LETTER EN
+041D ; [.1A42.0020.0008.041D] # CYRILLIC CAPITAL LETTER EN
+1D78 ; [.1A42.0020.0014.1D78] # MODIFIER LETTER CYRILLIC EN
+04CA ; [.1A46.0020.0002.04CA] # CYRILLIC SMALL LETTER EN WITH TAIL
+04C9 ; [.1A46.0020.0008.04C9] # CYRILLIC CAPITAL LETTER EN WITH TAIL
+04A3 ; [.1A4A.0020.0002.04A3] # CYRILLIC SMALL LETTER EN WITH DESCENDER
+04A2 ; [.1A4A.0020.0008.04A2] # CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+04C8 ; [.1A4E.0020.0002.04C8] # CYRILLIC SMALL LETTER EN WITH HOOK
+04C7 ; [.1A4E.0020.0008.04C7] # CYRILLIC CAPITAL LETTER EN WITH HOOK
+0523 ; [.1A52.0020.0002.0523] # CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
+0522 ; [.1A52.0020.0008.0522] # CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
+04A5 ; [.1A53.0020.0002.04A5] # CYRILLIC SMALL LIGATURE EN GHE
+04A4 ; [.1A53.0020.0008.04A4] # CYRILLIC CAPITAL LIGATURE EN GHE
+045A ; [.1A57.0020.0002.045A] # CYRILLIC SMALL LETTER NJE
+040A ; [.1A57.0020.0008.040A] # CYRILLIC CAPITAL LETTER NJE
+050B ; [.1A5B.0020.0002.050B] # CYRILLIC SMALL LETTER KOMI NJE
+050A ; [.1A5B.0020.0008.050A] # CYRILLIC CAPITAL LETTER KOMI NJE
+043E ; [.1A5C.0020.0002.043E] # CYRILLIC SMALL LETTER O
+2DEA ; [.1A5C.0020.0004.2DEA] # COMBINING CYRILLIC LETTER O
+A669 ; [.1A5C.0020.0004.A669] # CYRILLIC SMALL LETTER MONOCULAR O
+A66B ; [.1A5C.0020.0004.A66B] # CYRILLIC SMALL LETTER BINOCULAR O
+A66D ; [.1A5C.0020.0004.A66D] # CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
+A66E ; [.1A5C.0020.0004.A66E] # CYRILLIC LETTER MULTIOCULAR O
+041E ; [.1A5C.0020.0008.041E] # CYRILLIC CAPITAL LETTER O
+A668 ; [.1A5C.0020.000A.A668] # CYRILLIC CAPITAL LETTER MONOCULAR O
+A66A ; [.1A5C.0020.000A.A66A] # CYRILLIC CAPITAL LETTER BINOCULAR O
+A66C ; [.1A5C.0020.000A.A66C] # CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
+04E7 ; [.1A60.0020.0002.04E7] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+043E 0308 ; [.1A60.0020.0002.04E7] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6 ; [.1A60.0020.0008.04E6] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+041E 0308 ; [.1A60.0020.0008.04E6] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04E9 ; [.1A64.0020.0002.04E9] # CYRILLIC SMALL LETTER BARRED O
+04E8 ; [.1A64.0020.0008.04E8] # CYRILLIC CAPITAL LETTER BARRED O
+04EB ; [.1A68.0020.0002.04EB] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04E9 0308 ; [.1A68.0020.0002.04EB] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA ; [.1A68.0020.0008.04EA] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+04E8 0308 ; [.1A68.0020.0008.04EA] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+043F ; [.1A6C.0020.0002.043F] # CYRILLIC SMALL LETTER PE
+2DEB ; [.1A6C.0020.0004.2DEB] # COMBINING CYRILLIC LETTER PE
+041F ; [.1A6C.0020.0008.041F] # CYRILLIC CAPITAL LETTER PE
+0525 ; [.1A70.0020.0002.0525] # CYRILLIC SMALL LETTER PE WITH DESCENDER
+0524 ; [.1A70.0020.0008.0524] # CYRILLIC CAPITAL LETTER PE WITH DESCENDER
+04A7 ; [.1A71.0020.0002.04A7] # CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
+04A6 ; [.1A71.0020.0008.04A6] # CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
+0481 ; [.1A75.0020.0002.0481] # CYRILLIC SMALL LETTER KOPPA
+0480 ; [.1A75.0020.0008.0480] # CYRILLIC CAPITAL LETTER KOPPA
+0440 ; [.1A79.0020.0002.0440] # CYRILLIC SMALL LETTER ER
+2DEC ; [.1A79.0020.0004.2DEC] # COMBINING CYRILLIC LETTER ER
+0420 ; [.1A79.0020.0008.0420] # CYRILLIC CAPITAL LETTER ER
+048F ; [.1A7D.0020.0002.048F] # CYRILLIC SMALL LETTER ER WITH TICK
+048E ; [.1A7D.0020.0008.048E] # CYRILLIC CAPITAL LETTER ER WITH TICK
+0517 ; [.1A81.0020.0002.0517] # CYRILLIC SMALL LETTER RHA
+0516 ; [.1A81.0020.0008.0516] # CYRILLIC CAPITAL LETTER RHA
+0441 ; [.1A82.0020.0002.0441] # CYRILLIC SMALL LETTER ES
+2DED ; [.1A82.0020.0004.2DED] # COMBINING CYRILLIC LETTER ES
+0421 ; [.1A82.0020.0008.0421] # CYRILLIC CAPITAL LETTER ES
+2DF5 ; [.1A82.0020.0004.2DF5][.1A8B.0020.0004.2DF5] # COMBINING CYRILLIC LETTER ES-TE
+050D ; [.1A86.0020.0002.050D] # CYRILLIC SMALL LETTER KOMI SJE
+050C ; [.1A86.0020.0008.050C] # CYRILLIC CAPITAL LETTER KOMI SJE
+04AB ; [.1A87.0020.0002.04AB] # CYRILLIC SMALL LETTER ES WITH DESCENDER
+04AA ; [.1A87.0020.0008.04AA] # CYRILLIC CAPITAL LETTER ES WITH DESCENDER
+0442 ; [.1A8B.0020.0002.0442] # CYRILLIC SMALL LETTER TE
+2DEE ; [.1A8B.0020.0004.2DEE] # COMBINING CYRILLIC LETTER TE
+0422 ; [.1A8B.0020.0008.0422] # CYRILLIC CAPITAL LETTER TE
+A68D ; [.1A8F.0020.0002.A68D] # CYRILLIC SMALL LETTER TWE
+A68C ; [.1A8F.0020.0008.A68C] # CYRILLIC CAPITAL LETTER TWE
+050F ; [.1A90.0020.0002.050F] # CYRILLIC SMALL LETTER KOMI TJE
+050E ; [.1A90.0020.0008.050E] # CYRILLIC CAPITAL LETTER KOMI TJE
+04AD ; [.1A91.0020.0002.04AD] # CYRILLIC SMALL LETTER TE WITH DESCENDER
+04AC ; [.1A91.0020.0008.04AC] # CYRILLIC CAPITAL LETTER TE WITH DESCENDER
+A68B ; [.1A95.0020.0002.A68B] # CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
+A68A ; [.1A95.0020.0008.A68A] # CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
+045B ; [.1A96.0020.0002.045B] # CYRILLIC SMALL LETTER TSHE
+040B ; [.1A96.0020.0008.040B] # CYRILLIC CAPITAL LETTER TSHE
+045C ; [.1A9A.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
+043A 0301 ; [.1A9A.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
+043A 0341 ; [.1A9A.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
+040C ; [.1A9A.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
+041A 0301 ; [.1A9A.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
+041A 0341 ; [.1A9A.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
+0443 ; [.1A9E.0020.0002.0443] # CYRILLIC SMALL LETTER U
+A677 ; [.1A9E.0020.0004.A677] # COMBINING CYRILLIC LETTER U
+0423 ; [.1A9E.0020.0008.0423] # CYRILLIC CAPITAL LETTER U
+04EF ; [.1A9E.0020.0002.0443][.0000.005B.0002.0304] # CYRILLIC SMALL LETTER U WITH MACRON
+04EE ; [.1A9E.0020.0008.0423][.0000.005B.0002.0304] # CYRILLIC CAPITAL LETTER U WITH MACRON
+045E ; [.1AA2.0020.0002.045E] # CYRILLIC SMALL LETTER SHORT U
+0443 0306 ; [.1AA2.0020.0002.045E] # CYRILLIC SMALL LETTER SHORT U
+040E ; [.1AA2.0020.0008.040E] # CYRILLIC CAPITAL LETTER SHORT U
+0423 0306 ; [.1AA2.0020.0008.040E] # CYRILLIC CAPITAL LETTER SHORT U
+04F1 ; [.1AA6.0020.0002.04F1] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+0443 0308 ; [.1AA6.0020.0002.04F1] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0 ; [.1AA6.0020.0008.04F0] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+0423 0308 ; [.1AA6.0020.0008.04F0] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3 ; [.1AAA.0020.0002.04F3] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+0443 030B ; [.1AAA.0020.0002.04F3] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2 ; [.1AAA.0020.0008.04F2] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+0423 030B ; [.1AAA.0020.0008.04F2] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04AF ; [.1AAE.0020.0002.04AF] # CYRILLIC SMALL LETTER STRAIGHT U
+04AE ; [.1AAE.0020.0008.04AE] # CYRILLIC CAPITAL LETTER STRAIGHT U
+04B1 ; [.1AB2.0020.0002.04B1] # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
+04B0 ; [.1AB2.0020.0008.04B0] # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+A64B ; [.1AB6.0020.0002.A64B] # CYRILLIC SMALL LETTER MONOGRAPH UK
+2DF9 ; [.1AB6.0020.0004.2DF9] # COMBINING CYRILLIC LETTER MONOGRAPH UK
+A64A ; [.1AB6.0020.0008.A64A] # CYRILLIC CAPITAL LETTER MONOGRAPH UK
+0479 ; [.1AB7.0020.0002.0479] # CYRILLIC SMALL LETTER UK
+0478 ; [.1AB7.0020.0008.0478] # CYRILLIC CAPITAL LETTER UK
+0444 ; [.1ABB.0020.0002.0444] # CYRILLIC SMALL LETTER EF
+0424 ; [.1ABB.0020.0008.0424] # CYRILLIC CAPITAL LETTER EF
+0445 ; [.1ABF.0020.0002.0445] # CYRILLIC SMALL LETTER HA
+2DEF ; [.1ABF.0020.0004.2DEF] # COMBINING CYRILLIC LETTER HA
+0425 ; [.1ABF.0020.0008.0425] # CYRILLIC CAPITAL LETTER HA
+04FD ; [.1AC3.0020.0002.04FD] # CYRILLIC SMALL LETTER HA WITH HOOK
+04FC ; [.1AC3.0020.0008.04FC] # CYRILLIC CAPITAL LETTER HA WITH HOOK
+04FF ; [.1AC7.0020.0002.04FF] # CYRILLIC SMALL LETTER HA WITH STROKE
+04FE ; [.1AC7.0020.0008.04FE] # CYRILLIC CAPITAL LETTER HA WITH STROKE
+04B3 ; [.1ACB.0020.0002.04B3] # CYRILLIC SMALL LETTER HA WITH DESCENDER
+04B2 ; [.1ACB.0020.0008.04B2] # CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+04BB ; [.1ACF.0020.0002.04BB] # CYRILLIC SMALL LETTER SHHA
+04BA ; [.1ACF.0020.0008.04BA] # CYRILLIC CAPITAL LETTER SHHA
+0527 ; [.1AD3.0020.0002.0527] # CYRILLIC SMALL LETTER SHHA WITH DESCENDER
+0526 ; [.1AD3.0020.0008.0526] # CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
+A695 ; [.1AD4.0020.0002.A695] # CYRILLIC SMALL LETTER HWE
+A694 ; [.1AD4.0020.0008.A694] # CYRILLIC CAPITAL LETTER HWE
+0461 ; [.1AD5.0020.0002.0461] # CYRILLIC SMALL LETTER OMEGA
+A67B ; [.1AD5.0020.0004.A67B] # COMBINING CYRILLIC LETTER OMEGA
+0460 ; [.1AD5.0020.0008.0460] # CYRILLIC CAPITAL LETTER OMEGA
+047F ; [.1AD9.0020.0002.047F] # CYRILLIC SMALL LETTER OT
+047E ; [.1AD9.0020.0008.047E] # CYRILLIC CAPITAL LETTER OT
+A64D ; [.1ADD.0020.0002.A64D] # CYRILLIC SMALL LETTER BROAD OMEGA
+A64C ; [.1ADD.0020.0008.A64C] # CYRILLIC CAPITAL LETTER BROAD OMEGA
+047D ; [.1ADE.0020.0002.047D] # CYRILLIC SMALL LETTER OMEGA WITH TITLO
+047C ; [.1ADE.0020.0008.047C] # CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
+047B ; [.1AE2.0020.0002.047B] # CYRILLIC SMALL LETTER ROUND OMEGA
+047A ; [.1AE2.0020.0008.047A] # CYRILLIC CAPITAL LETTER ROUND OMEGA
+0446 ; [.1AE6.0020.0002.0446] # CYRILLIC SMALL LETTER TSE
+2DF0 ; [.1AE6.0020.0004.2DF0] # COMBINING CYRILLIC LETTER TSE
+0426 ; [.1AE6.0020.0008.0426] # CYRILLIC CAPITAL LETTER TSE
+A661 ; [.1AEA.0020.0002.A661] # CYRILLIC SMALL LETTER REVERSED TSE
+A660 ; [.1AEA.0020.0008.A660] # CYRILLIC CAPITAL LETTER REVERSED TSE
+A68F ; [.1AEB.0020.0002.A68F] # CYRILLIC SMALL LETTER TSWE
+A68E ; [.1AEB.0020.0008.A68E] # CYRILLIC CAPITAL LETTER TSWE
+04B5 ; [.1AEC.0020.0002.04B5] # CYRILLIC SMALL LIGATURE TE TSE
+04B4 ; [.1AEC.0020.0008.04B4] # CYRILLIC CAPITAL LIGATURE TE TSE
+A691 ; [.1AF0.0020.0002.A691] # CYRILLIC SMALL LETTER TSSE
+A690 ; [.1AF0.0020.0008.A690] # CYRILLIC CAPITAL LETTER TSSE
+0447 ; [.1AF1.0020.0002.0447] # CYRILLIC SMALL LETTER CHE
+2DF1 ; [.1AF1.0020.0004.2DF1] # COMBINING CYRILLIC LETTER CHE
+0427 ; [.1AF1.0020.0008.0427] # CYRILLIC CAPITAL LETTER CHE
+A693 ; [.1AF5.0020.0002.A693] # CYRILLIC SMALL LETTER TCHE
+A692 ; [.1AF5.0020.0008.A692] # CYRILLIC CAPITAL LETTER TCHE
+04F5 ; [.1AF6.0020.0002.04F5] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+0447 0308 ; [.1AF6.0020.0002.04F5] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4 ; [.1AF6.0020.0008.04F4] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+0427 0308 ; [.1AF6.0020.0008.04F4] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04B7 ; [.1AFA.0020.0002.04B7] # CYRILLIC SMALL LETTER CHE WITH DESCENDER
+04B6 ; [.1AFA.0020.0008.04B6] # CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+04CC ; [.1AFE.0020.0002.04CC] # CYRILLIC SMALL LETTER KHAKASSIAN CHE
+04CB ; [.1AFE.0020.0008.04CB] # CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
+04B9 ; [.1B02.0020.0002.04B9] # CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
+04B8 ; [.1B02.0020.0008.04B8] # CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
+A687 ; [.1B06.0020.0002.A687] # CYRILLIC SMALL LETTER CCHE
+A686 ; [.1B06.0020.0008.A686] # CYRILLIC CAPITAL LETTER CCHE
+04BD ; [.1B07.0020.0002.04BD] # CYRILLIC SMALL LETTER ABKHASIAN CHE
+04BC ; [.1B07.0020.0008.04BC] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE
+04BF ; [.1B0B.0020.0002.04BF] # CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
+04BE ; [.1B0B.0020.0008.04BE] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
+045F ; [.1B0F.0020.0002.045F] # CYRILLIC SMALL LETTER DZHE
+040F ; [.1B0F.0020.0008.040F] # CYRILLIC CAPITAL LETTER DZHE
+0448 ; [.1B13.0020.0002.0448] # CYRILLIC SMALL LETTER SHA
+2DF2 ; [.1B13.0020.0004.2DF2] # COMBINING CYRILLIC LETTER SHA
+0428 ; [.1B13.0020.0008.0428] # CYRILLIC CAPITAL LETTER SHA
+A697 ; [.1B17.0020.0002.A697] # CYRILLIC SMALL LETTER SHWE
+A696 ; [.1B17.0020.0008.A696] # CYRILLIC CAPITAL LETTER SHWE
+0449 ; [.1B18.0020.0002.0449] # CYRILLIC SMALL LETTER SHCHA
+2DF3 ; [.1B18.0020.0004.2DF3] # COMBINING CYRILLIC LETTER SHCHA
+0429 ; [.1B18.0020.0008.0429] # CYRILLIC CAPITAL LETTER SHCHA
+A64F ; [.1B1C.0020.0002.A64F] # CYRILLIC SMALL LETTER NEUTRAL YER
+A64E ; [.1B1C.0020.0008.A64E] # CYRILLIC CAPITAL LETTER NEUTRAL YER
+2E2F ; [.1B1D.0020.0002.2E2F] # VERTICAL TILDE
+A67F ; [.1B1E.0020.0002.A67F] # CYRILLIC PAYEROK
+044A ; [.1B1F.0020.0002.044A] # CYRILLIC SMALL LETTER HARD SIGN
+A678 ; [.1B1F.0020.0004.A678] # COMBINING CYRILLIC LETTER HARD SIGN
+042A ; [.1B1F.0020.0008.042A] # CYRILLIC CAPITAL LETTER HARD SIGN
+A651 ; [.1B23.0020.0002.A651] # CYRILLIC SMALL LETTER YERU WITH BACK YER
+A650 ; [.1B23.0020.0008.A650] # CYRILLIC CAPITAL LETTER YERU WITH BACK YER
+044B ; [.1B24.0020.0002.044B] # CYRILLIC SMALL LETTER YERU
+A679 ; [.1B24.0020.0004.A679] # COMBINING CYRILLIC LETTER YERU
+042B ; [.1B24.0020.0008.042B] # CYRILLIC CAPITAL LETTER YERU
+04F9 ; [.1B28.0020.0002.04F9] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+044B 0308 ; [.1B28.0020.0002.04F9] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8 ; [.1B28.0020.0008.04F8] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+042B 0308 ; [.1B28.0020.0008.04F8] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+044C ; [.1B2C.0020.0002.044C] # CYRILLIC SMALL LETTER SOFT SIGN
+A67A ; [.1B2C.0020.0004.A67A] # COMBINING CYRILLIC LETTER SOFT SIGN
+042C ; [.1B2C.0020.0008.042C] # CYRILLIC CAPITAL LETTER SOFT SIGN
+048D ; [.1B30.0020.0002.048D] # CYRILLIC SMALL LETTER SEMISOFT SIGN
+048C ; [.1B30.0020.0008.048C] # CYRILLIC CAPITAL LETTER SEMISOFT SIGN
+0463 ; [.1B34.0020.0002.0463] # CYRILLIC SMALL LETTER YAT
+2DFA ; [.1B34.0020.0004.2DFA] # COMBINING CYRILLIC LETTER YAT
+0462 ; [.1B34.0020.0008.0462] # CYRILLIC CAPITAL LETTER YAT
+A653 ; [.1B38.0020.0002.A653] # CYRILLIC SMALL LETTER IOTIFIED YAT
+A652 ; [.1B38.0020.0008.A652] # CYRILLIC CAPITAL LETTER IOTIFIED YAT
+044D ; [.1B39.0020.0002.044D] # CYRILLIC SMALL LETTER E
+042D ; [.1B39.0020.0008.042D] # CYRILLIC CAPITAL LETTER E
+04ED ; [.1B3D.0020.0002.04ED] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+044D 0308 ; [.1B3D.0020.0002.04ED] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC ; [.1B3D.0020.0008.04EC] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+042D 0308 ; [.1B3D.0020.0008.04EC] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+044E ; [.1B41.0020.0002.044E] # CYRILLIC SMALL LETTER YU
+2DFB ; [.1B41.0020.0004.2DFB] # COMBINING CYRILLIC LETTER YU
+042E ; [.1B41.0020.0008.042E] # CYRILLIC CAPITAL LETTER YU
+A655 ; [.1B45.0020.0002.A655] # CYRILLIC SMALL LETTER REVERSED YU
+A654 ; [.1B45.0020.0008.A654] # CYRILLIC CAPITAL LETTER REVERSED YU
+A657 ; [.1B46.0020.0002.A657] # CYRILLIC SMALL LETTER IOTIFIED A
+2DFC ; [.1B46.0020.0004.2DFC] # COMBINING CYRILLIC LETTER IOTIFIED A
+A656 ; [.1B46.0020.0008.A656] # CYRILLIC CAPITAL LETTER IOTIFIED A
+044F ; [.1B47.0020.0002.044F] # CYRILLIC SMALL LETTER YA
+042F ; [.1B47.0020.0008.042F] # CYRILLIC CAPITAL LETTER YA
+0519 ; [.1B4B.0020.0002.0519] # CYRILLIC SMALL LETTER YAE
+0518 ; [.1B4B.0020.0008.0518] # CYRILLIC CAPITAL LETTER YAE
+0465 ; [.1B4C.0020.0002.0465] # CYRILLIC SMALL LETTER IOTIFIED E
+A69F ; [.1B4C.0020.0004.A69F] # COMBINING CYRILLIC LETTER IOTIFIED E
+0464 ; [.1B4C.0020.0008.0464] # CYRILLIC CAPITAL LETTER IOTIFIED E
+0467 ; [.1B50.0020.0002.0467] # CYRILLIC SMALL LETTER LITTLE YUS
+2DFD ; [.1B50.0020.0004.2DFD] # COMBINING CYRILLIC LETTER LITTLE YUS
+0466 ; [.1B50.0020.0008.0466] # CYRILLIC CAPITAL LETTER LITTLE YUS
+A659 ; [.1B54.0020.0002.A659] # CYRILLIC SMALL LETTER CLOSED LITTLE YUS
+A658 ; [.1B54.0020.0008.A658] # CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
+046B ; [.1B55.0020.0002.046B] # CYRILLIC SMALL LETTER BIG YUS
+2DFE ; [.1B55.0020.0004.2DFE] # COMBINING CYRILLIC LETTER BIG YUS
+046A ; [.1B55.0020.0008.046A] # CYRILLIC CAPITAL LETTER BIG YUS
+A65B ; [.1B59.0020.0002.A65B] # CYRILLIC SMALL LETTER BLENDED YUS
+A65A ; [.1B59.0020.0008.A65A] # CYRILLIC CAPITAL LETTER BLENDED YUS
+0469 ; [.1B5A.0020.0002.0469] # CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
+0468 ; [.1B5A.0020.0008.0468] # CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
+A65D ; [.1B5E.0020.0002.A65D] # CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
+A65C ; [.1B5E.0020.0008.A65C] # CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
+046D ; [.1B5F.0020.0002.046D] # CYRILLIC SMALL LETTER IOTIFIED BIG YUS
+2DFF ; [.1B5F.0020.0004.2DFF] # COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
+046C ; [.1B5F.0020.0008.046C] # CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
+046F ; [.1B63.0020.0002.046F] # CYRILLIC SMALL LETTER KSI
+046E ; [.1B63.0020.0008.046E] # CYRILLIC CAPITAL LETTER KSI
+0471 ; [.1B67.0020.0002.0471] # CYRILLIC SMALL LETTER PSI
+0470 ; [.1B67.0020.0008.0470] # CYRILLIC CAPITAL LETTER PSI
+0473 ; [.1B6B.0020.0002.0473] # CYRILLIC SMALL LETTER FITA
+2DF4 ; [.1B6B.0020.0004.2DF4] # COMBINING CYRILLIC LETTER FITA
+0472 ; [.1B6B.0020.0008.0472] # CYRILLIC CAPITAL LETTER FITA
+0475 ; [.1B6F.0020.0002.0475] # CYRILLIC SMALL LETTER IZHITSA
+0474 ; [.1B6F.0020.0008.0474] # CYRILLIC CAPITAL LETTER IZHITSA
+0477 ; [.1B73.0020.0002.0477] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0475 030F ; [.1B73.0020.0002.0477] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476 ; [.1B73.0020.0008.0476] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0474 030F ; [.1B73.0020.0008.0476] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+A65F ; [.1B77.0020.0002.A65F] # CYRILLIC SMALL LETTER YN
+A65E ; [.1B77.0020.0008.A65E] # CYRILLIC CAPITAL LETTER YN
+04A9 ; [.1B78.0020.0002.04A9] # CYRILLIC SMALL LETTER ABKHASIAN HA
+04A8 ; [.1B78.0020.0008.04A8] # CYRILLIC CAPITAL LETTER ABKHASIAN HA
+051D ; [.1B7C.0020.0002.051D] # CYRILLIC SMALL LETTER WE
+051C ; [.1B7C.0020.0008.051C] # CYRILLIC CAPITAL LETTER WE
+04CF ; [.1B7D.0020.0002.04CF] # CYRILLIC SMALL LETTER PALOCHKA
+04C0 ; [.1B7D.0020.0008.04C0] # CYRILLIC LETTER PALOCHKA
+2C30 ; [.1B81.0020.0002.2C30] # GLAGOLITIC SMALL LETTER AZU
+2C00 ; [.1B81.0020.0008.2C00] # GLAGOLITIC CAPITAL LETTER AZU
+2C31 ; [.1B82.0020.0002.2C31] # GLAGOLITIC SMALL LETTER BUKY
+2C01 ; [.1B82.0020.0008.2C01] # GLAGOLITIC CAPITAL LETTER BUKY
+2C32 ; [.1B83.0020.0002.2C32] # GLAGOLITIC SMALL LETTER VEDE
+2C02 ; [.1B83.0020.0008.2C02] # GLAGOLITIC CAPITAL LETTER VEDE
+2C33 ; [.1B84.0020.0002.2C33] # GLAGOLITIC SMALL LETTER GLAGOLI
+2C03 ; [.1B84.0020.0008.2C03] # GLAGOLITIC CAPITAL LETTER GLAGOLI
+2C34 ; [.1B85.0020.0002.2C34] # GLAGOLITIC SMALL LETTER DOBRO
+2C04 ; [.1B85.0020.0008.2C04] # GLAGOLITIC CAPITAL LETTER DOBRO
+2C35 ; [.1B86.0020.0002.2C35] # GLAGOLITIC SMALL LETTER YESTU
+2C05 ; [.1B86.0020.0008.2C05] # GLAGOLITIC CAPITAL LETTER YESTU
+2C36 ; [.1B87.0020.0002.2C36] # GLAGOLITIC SMALL LETTER ZHIVETE
+2C06 ; [.1B87.0020.0008.2C06] # GLAGOLITIC CAPITAL LETTER ZHIVETE
+2C37 ; [.1B88.0020.0002.2C37] # GLAGOLITIC SMALL LETTER DZELO
+2C07 ; [.1B88.0020.0008.2C07] # GLAGOLITIC CAPITAL LETTER DZELO
+2C38 ; [.1B89.0020.0002.2C38] # GLAGOLITIC SMALL LETTER ZEMLJA
+2C08 ; [.1B89.0020.0008.2C08] # GLAGOLITIC CAPITAL LETTER ZEMLJA
+2C39 ; [.1B8A.0020.0002.2C39] # GLAGOLITIC SMALL LETTER IZHE
+2C09 ; [.1B8A.0020.0008.2C09] # GLAGOLITIC CAPITAL LETTER IZHE
+2C3A ; [.1B8B.0020.0002.2C3A] # GLAGOLITIC SMALL LETTER INITIAL IZHE
+2C0A ; [.1B8B.0020.0008.2C0A] # GLAGOLITIC CAPITAL LETTER INITIAL IZHE
+2C3B ; [.1B8C.0020.0002.2C3B] # GLAGOLITIC SMALL LETTER I
+2C0B ; [.1B8C.0020.0008.2C0B] # GLAGOLITIC CAPITAL LETTER I
+2C3C ; [.1B8D.0020.0002.2C3C] # GLAGOLITIC SMALL LETTER DJERVI
+2C0C ; [.1B8D.0020.0008.2C0C] # GLAGOLITIC CAPITAL LETTER DJERVI
+2C3D ; [.1B8E.0020.0002.2C3D] # GLAGOLITIC SMALL LETTER KAKO
+2C0D ; [.1B8E.0020.0008.2C0D] # GLAGOLITIC CAPITAL LETTER KAKO
+2C3E ; [.1B8F.0020.0002.2C3E] # GLAGOLITIC SMALL LETTER LJUDIJE
+2C0E ; [.1B8F.0020.0008.2C0E] # GLAGOLITIC CAPITAL LETTER LJUDIJE
+2C3F ; [.1B90.0020.0002.2C3F] # GLAGOLITIC SMALL LETTER MYSLITE
+2C0F ; [.1B90.0020.0008.2C0F] # GLAGOLITIC CAPITAL LETTER MYSLITE
+2C40 ; [.1B91.0020.0002.2C40] # GLAGOLITIC SMALL LETTER NASHI
+2C10 ; [.1B91.0020.0008.2C10] # GLAGOLITIC CAPITAL LETTER NASHI
+2C41 ; [.1B92.0020.0002.2C41] # GLAGOLITIC SMALL LETTER ONU
+2C11 ; [.1B92.0020.0008.2C11] # GLAGOLITIC CAPITAL LETTER ONU
+2C42 ; [.1B93.0020.0002.2C42] # GLAGOLITIC SMALL LETTER POKOJI
+2C12 ; [.1B93.0020.0008.2C12] # GLAGOLITIC CAPITAL LETTER POKOJI
+2C43 ; [.1B94.0020.0002.2C43] # GLAGOLITIC SMALL LETTER RITSI
+2C13 ; [.1B94.0020.0008.2C13] # GLAGOLITIC CAPITAL LETTER RITSI
+2C44 ; [.1B95.0020.0002.2C44] # GLAGOLITIC SMALL LETTER SLOVO
+2C14 ; [.1B95.0020.0008.2C14] # GLAGOLITIC CAPITAL LETTER SLOVO
+2C45 ; [.1B96.0020.0002.2C45] # GLAGOLITIC SMALL LETTER TVRIDO
+2C15 ; [.1B96.0020.0008.2C15] # GLAGOLITIC CAPITAL LETTER TVRIDO
+2C46 ; [.1B97.0020.0002.2C46] # GLAGOLITIC SMALL LETTER UKU
+2C16 ; [.1B97.0020.0008.2C16] # GLAGOLITIC CAPITAL LETTER UKU
+2C47 ; [.1B98.0020.0002.2C47] # GLAGOLITIC SMALL LETTER FRITU
+2C17 ; [.1B98.0020.0008.2C17] # GLAGOLITIC CAPITAL LETTER FRITU
+2C48 ; [.1B99.0020.0002.2C48] # GLAGOLITIC SMALL LETTER HERU
+2C18 ; [.1B99.0020.0008.2C18] # GLAGOLITIC CAPITAL LETTER HERU
+2C49 ; [.1B9A.0020.0002.2C49] # GLAGOLITIC SMALL LETTER OTU
+2C19 ; [.1B9A.0020.0008.2C19] # GLAGOLITIC CAPITAL LETTER OTU
+2C4A ; [.1B9B.0020.0002.2C4A] # GLAGOLITIC SMALL LETTER PE
+2C1A ; [.1B9B.0020.0008.2C1A] # GLAGOLITIC CAPITAL LETTER PE
+2C4B ; [.1B9C.0020.0002.2C4B] # GLAGOLITIC SMALL LETTER SHTA
+2C1B ; [.1B9C.0020.0008.2C1B] # GLAGOLITIC CAPITAL LETTER SHTA
+2C4C ; [.1B9D.0020.0002.2C4C] # GLAGOLITIC SMALL LETTER TSI
+2C1C ; [.1B9D.0020.0008.2C1C] # GLAGOLITIC CAPITAL LETTER TSI
+2C4D ; [.1B9E.0020.0002.2C4D] # GLAGOLITIC SMALL LETTER CHRIVI
+2C1D ; [.1B9E.0020.0008.2C1D] # GLAGOLITIC CAPITAL LETTER CHRIVI
+2C4E ; [.1B9F.0020.0002.2C4E] # GLAGOLITIC SMALL LETTER SHA
+2C1E ; [.1B9F.0020.0008.2C1E] # GLAGOLITIC CAPITAL LETTER SHA
+2C4F ; [.1BA0.0020.0002.2C4F] # GLAGOLITIC SMALL LETTER YERU
+2C1F ; [.1BA0.0020.0008.2C1F] # GLAGOLITIC CAPITAL LETTER YERU
+2C50 ; [.1BA1.0020.0002.2C50] # GLAGOLITIC SMALL LETTER YERI
+2C20 ; [.1BA1.0020.0008.2C20] # GLAGOLITIC CAPITAL LETTER YERI
+2C51 ; [.1BA2.0020.0002.2C51] # GLAGOLITIC SMALL LETTER YATI
+2C21 ; [.1BA2.0020.0008.2C21] # GLAGOLITIC CAPITAL LETTER YATI
+2C52 ; [.1BA3.0020.0002.2C52] # GLAGOLITIC SMALL LETTER SPIDERY HA
+2C22 ; [.1BA3.0020.0008.2C22] # GLAGOLITIC CAPITAL LETTER SPIDERY HA
+2C53 ; [.1BA4.0020.0002.2C53] # GLAGOLITIC SMALL LETTER YU
+2C23 ; [.1BA4.0020.0008.2C23] # GLAGOLITIC CAPITAL LETTER YU
+2C54 ; [.1BA5.0020.0002.2C54] # GLAGOLITIC SMALL LETTER SMALL YUS
+2C24 ; [.1BA5.0020.0008.2C24] # GLAGOLITIC CAPITAL LETTER SMALL YUS
+2C55 ; [.1BA6.0020.0002.2C55] # GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL
+2C25 ; [.1BA6.0020.0008.2C25] # GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL
+2C56 ; [.1BA7.0020.0002.2C56] # GLAGOLITIC SMALL LETTER YO
+2C26 ; [.1BA7.0020.0008.2C26] # GLAGOLITIC CAPITAL LETTER YO
+2C57 ; [.1BA8.0020.0002.2C57] # GLAGOLITIC SMALL LETTER IOTATED SMALL YUS
+2C27 ; [.1BA8.0020.0008.2C27] # GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS
+2C58 ; [.1BA9.0020.0002.2C58] # GLAGOLITIC SMALL LETTER BIG YUS
+2C28 ; [.1BA9.0020.0008.2C28] # GLAGOLITIC CAPITAL LETTER BIG YUS
+2C59 ; [.1BAA.0020.0002.2C59] # GLAGOLITIC SMALL LETTER IOTATED BIG YUS
+2C29 ; [.1BAA.0020.0008.2C29] # GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS
+2C5A ; [.1BAB.0020.0002.2C5A] # GLAGOLITIC SMALL LETTER FITA
+2C2A ; [.1BAB.0020.0008.2C2A] # GLAGOLITIC CAPITAL LETTER FITA
+2C5B ; [.1BAC.0020.0002.2C5B] # GLAGOLITIC SMALL LETTER IZHITSA
+2C2B ; [.1BAC.0020.0008.2C2B] # GLAGOLITIC CAPITAL LETTER IZHITSA
+2C5C ; [.1BAD.0020.0002.2C5C] # GLAGOLITIC SMALL LETTER SHTAPIC
+2C2C ; [.1BAD.0020.0008.2C2C] # GLAGOLITIC CAPITAL LETTER SHTAPIC
+2C5D ; [.1BAE.0020.0002.2C5D] # GLAGOLITIC SMALL LETTER TROKUTASTI A
+2C2D ; [.1BAE.0020.0008.2C2D] # GLAGOLITIC CAPITAL LETTER TROKUTASTI A
+2C5E ; [.1BAF.0020.0002.2C5E] # GLAGOLITIC SMALL LETTER LATINATE MYSLITE
+2C2E ; [.1BAF.0020.0008.2C2E] # GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
+10D0 ; [.1BB0.0020.0002.10D0] # GEORGIAN LETTER AN
+2D00 ; [.1BB1.0020.0002.2D00] # GEORGIAN SMALL LETTER AN
+10A0 ; [.1BB1.0020.0008.10A0] # GEORGIAN CAPITAL LETTER AN
+10D1 ; [.1BB2.0020.0002.10D1] # GEORGIAN LETTER BAN
+2D01 ; [.1BB3.0020.0002.2D01] # GEORGIAN SMALL LETTER BAN
+10A1 ; [.1BB3.0020.0008.10A1] # GEORGIAN CAPITAL LETTER BAN
+10D2 ; [.1BB4.0020.0002.10D2] # GEORGIAN LETTER GAN
+2D02 ; [.1BB5.0020.0002.2D02] # GEORGIAN SMALL LETTER GAN
+10A2 ; [.1BB5.0020.0008.10A2] # GEORGIAN CAPITAL LETTER GAN
+10D3 ; [.1BB6.0020.0002.10D3] # GEORGIAN LETTER DON
+2D03 ; [.1BB7.0020.0002.2D03] # GEORGIAN SMALL LETTER DON
+10A3 ; [.1BB7.0020.0008.10A3] # GEORGIAN CAPITAL LETTER DON
+10D4 ; [.1BB8.0020.0002.10D4] # GEORGIAN LETTER EN
+2D04 ; [.1BB9.0020.0002.2D04] # GEORGIAN SMALL LETTER EN
+10A4 ; [.1BB9.0020.0008.10A4] # GEORGIAN CAPITAL LETTER EN
+10D5 ; [.1BBA.0020.0002.10D5] # GEORGIAN LETTER VIN
+2D05 ; [.1BBB.0020.0002.2D05] # GEORGIAN SMALL LETTER VIN
+10A5 ; [.1BBB.0020.0008.10A5] # GEORGIAN CAPITAL LETTER VIN
+10D6 ; [.1BBC.0020.0002.10D6] # GEORGIAN LETTER ZEN
+2D06 ; [.1BBD.0020.0002.2D06] # GEORGIAN SMALL LETTER ZEN
+10A6 ; [.1BBD.0020.0008.10A6] # GEORGIAN CAPITAL LETTER ZEN
+10F1 ; [.1BBE.0020.0002.10F1] # GEORGIAN LETTER HE
+2D21 ; [.1BBF.0020.0002.2D21] # GEORGIAN SMALL LETTER HE
+10C1 ; [.1BBF.0020.0008.10C1] # GEORGIAN CAPITAL LETTER HE
+10D7 ; [.1BC0.0020.0002.10D7] # GEORGIAN LETTER TAN
+2D07 ; [.1BC1.0020.0002.2D07] # GEORGIAN SMALL LETTER TAN
+10A7 ; [.1BC1.0020.0008.10A7] # GEORGIAN CAPITAL LETTER TAN
+10D8 ; [.1BC2.0020.0002.10D8] # GEORGIAN LETTER IN
+2D08 ; [.1BC3.0020.0002.2D08] # GEORGIAN SMALL LETTER IN
+10A8 ; [.1BC3.0020.0008.10A8] # GEORGIAN CAPITAL LETTER IN
+10D9 ; [.1BC4.0020.0002.10D9] # GEORGIAN LETTER KAN
+2D09 ; [.1BC5.0020.0002.2D09] # GEORGIAN SMALL LETTER KAN
+10A9 ; [.1BC5.0020.0008.10A9] # GEORGIAN CAPITAL LETTER KAN
+10DA ; [.1BC6.0020.0002.10DA] # GEORGIAN LETTER LAS
+2D0A ; [.1BC7.0020.0002.2D0A] # GEORGIAN SMALL LETTER LAS
+10AA ; [.1BC7.0020.0008.10AA] # GEORGIAN CAPITAL LETTER LAS
+10DB ; [.1BC8.0020.0002.10DB] # GEORGIAN LETTER MAN
+2D0B ; [.1BC9.0020.0002.2D0B] # GEORGIAN SMALL LETTER MAN
+10AB ; [.1BC9.0020.0008.10AB] # GEORGIAN CAPITAL LETTER MAN
+10DC ; [.1BCA.0020.0002.10DC] # GEORGIAN LETTER NAR
+10FC ; [.1BCA.0020.0014.10FC] # MODIFIER LETTER GEORGIAN NAR
+2D0C ; [.1BCB.0020.0002.2D0C] # GEORGIAN SMALL LETTER NAR
+10AC ; [.1BCB.0020.0008.10AC] # GEORGIAN CAPITAL LETTER NAR
+10F2 ; [.1BCC.0020.0002.10F2] # GEORGIAN LETTER HIE
+2D22 ; [.1BCD.0020.0002.2D22] # GEORGIAN SMALL LETTER HIE
+10C2 ; [.1BCD.0020.0008.10C2] # GEORGIAN CAPITAL LETTER HIE
+10DD ; [.1BCE.0020.0002.10DD] # GEORGIAN LETTER ON
+2D0D ; [.1BCF.0020.0002.2D0D] # GEORGIAN SMALL LETTER ON
+10AD ; [.1BCF.0020.0008.10AD] # GEORGIAN CAPITAL LETTER ON
+10DE ; [.1BD0.0020.0002.10DE] # GEORGIAN LETTER PAR
+2D0E ; [.1BD1.0020.0002.2D0E] # GEORGIAN SMALL LETTER PAR
+10AE ; [.1BD1.0020.0008.10AE] # GEORGIAN CAPITAL LETTER PAR
+10DF ; [.1BD2.0020.0002.10DF] # GEORGIAN LETTER ZHAR
+2D0F ; [.1BD3.0020.0002.2D0F] # GEORGIAN SMALL LETTER ZHAR
+10AF ; [.1BD3.0020.0008.10AF] # GEORGIAN CAPITAL LETTER ZHAR
+10E0 ; [.1BD4.0020.0002.10E0] # GEORGIAN LETTER RAE
+2D10 ; [.1BD5.0020.0002.2D10] # GEORGIAN SMALL LETTER RAE
+10B0 ; [.1BD5.0020.0008.10B0] # GEORGIAN CAPITAL LETTER RAE
+10E1 ; [.1BD6.0020.0002.10E1] # GEORGIAN LETTER SAN
+2D11 ; [.1BD7.0020.0002.2D11] # GEORGIAN SMALL LETTER SAN
+10B1 ; [.1BD7.0020.0008.10B1] # GEORGIAN CAPITAL LETTER SAN
+10E2 ; [.1BD8.0020.0002.10E2] # GEORGIAN LETTER TAR
+2D12 ; [.1BD9.0020.0002.2D12] # GEORGIAN SMALL LETTER TAR
+10B2 ; [.1BD9.0020.0008.10B2] # GEORGIAN CAPITAL LETTER TAR
+10F3 ; [.1BDA.0020.0002.10F3] # GEORGIAN LETTER WE
+2D23 ; [.1BDB.0020.0002.2D23] # GEORGIAN SMALL LETTER WE
+10C3 ; [.1BDB.0020.0008.10C3] # GEORGIAN CAPITAL LETTER WE
+10E3 ; [.1BDC.0020.0002.10E3] # GEORGIAN LETTER UN
+2D13 ; [.1BDD.0020.0002.2D13] # GEORGIAN SMALL LETTER UN
+10B3 ; [.1BDD.0020.0008.10B3] # GEORGIAN CAPITAL LETTER UN
+10E4 ; [.1BDE.0020.0002.10E4] # GEORGIAN LETTER PHAR
+2D14 ; [.1BDF.0020.0002.2D14] # GEORGIAN SMALL LETTER PHAR
+10B4 ; [.1BDF.0020.0008.10B4] # GEORGIAN CAPITAL LETTER PHAR
+10E5 ; [.1BE0.0020.0002.10E5] # GEORGIAN LETTER KHAR
+2D15 ; [.1BE1.0020.0002.2D15] # GEORGIAN SMALL LETTER KHAR
+10B5 ; [.1BE1.0020.0008.10B5] # GEORGIAN CAPITAL LETTER KHAR
+10E6 ; [.1BE2.0020.0002.10E6] # GEORGIAN LETTER GHAN
+2D16 ; [.1BE3.0020.0002.2D16] # GEORGIAN SMALL LETTER GHAN
+10B6 ; [.1BE3.0020.0008.10B6] # GEORGIAN CAPITAL LETTER GHAN
+10E7 ; [.1BE4.0020.0002.10E7] # GEORGIAN LETTER QAR
+2D17 ; [.1BE5.0020.0002.2D17] # GEORGIAN SMALL LETTER QAR
+10B7 ; [.1BE5.0020.0008.10B7] # GEORGIAN CAPITAL LETTER QAR
+10E8 ; [.1BE6.0020.0002.10E8] # GEORGIAN LETTER SHIN
+2D18 ; [.1BE7.0020.0002.2D18] # GEORGIAN SMALL LETTER SHIN
+10B8 ; [.1BE7.0020.0008.10B8] # GEORGIAN CAPITAL LETTER SHIN
+10E9 ; [.1BE8.0020.0002.10E9] # GEORGIAN LETTER CHIN
+2D19 ; [.1BE9.0020.0002.2D19] # GEORGIAN SMALL LETTER CHIN
+10B9 ; [.1BE9.0020.0008.10B9] # GEORGIAN CAPITAL LETTER CHIN
+10EA ; [.1BEA.0020.0002.10EA] # GEORGIAN LETTER CAN
+2D1A ; [.1BEB.0020.0002.2D1A] # GEORGIAN SMALL LETTER CAN
+10BA ; [.1BEB.0020.0008.10BA] # GEORGIAN CAPITAL LETTER CAN
+10EB ; [.1BEC.0020.0002.10EB] # GEORGIAN LETTER JIL
+2D1B ; [.1BED.0020.0002.2D1B] # GEORGIAN SMALL LETTER JIL
+10BB ; [.1BED.0020.0008.10BB] # GEORGIAN CAPITAL LETTER JIL
+10EC ; [.1BEE.0020.0002.10EC] # GEORGIAN LETTER CIL
+2D1C ; [.1BEF.0020.0002.2D1C] # GEORGIAN SMALL LETTER CIL
+10BC ; [.1BEF.0020.0008.10BC] # GEORGIAN CAPITAL LETTER CIL
+10ED ; [.1BF0.0020.0002.10ED] # GEORGIAN LETTER CHAR
+2D1D ; [.1BF1.0020.0002.2D1D] # GEORGIAN SMALL LETTER CHAR
+10BD ; [.1BF1.0020.0008.10BD] # GEORGIAN CAPITAL LETTER CHAR
+10EE ; [.1BF2.0020.0002.10EE] # GEORGIAN LETTER XAN
+2D1E ; [.1BF3.0020.0002.2D1E] # GEORGIAN SMALL LETTER XAN
+10BE ; [.1BF3.0020.0008.10BE] # GEORGIAN CAPITAL LETTER XAN
+10F4 ; [.1BF4.0020.0002.10F4] # GEORGIAN LETTER HAR
+2D24 ; [.1BF5.0020.0002.2D24] # GEORGIAN SMALL LETTER HAR
+10C4 ; [.1BF5.0020.0008.10C4] # GEORGIAN CAPITAL LETTER HAR
+10EF ; [.1BF6.0020.0002.10EF] # GEORGIAN LETTER JHAN
+2D1F ; [.1BF7.0020.0002.2D1F] # GEORGIAN SMALL LETTER JHAN
+10BF ; [.1BF7.0020.0008.10BF] # GEORGIAN CAPITAL LETTER JHAN
+10F0 ; [.1BF8.0020.0002.10F0] # GEORGIAN LETTER HAE
+2D20 ; [.1BF9.0020.0002.2D20] # GEORGIAN SMALL LETTER HAE
+10C0 ; [.1BF9.0020.0008.10C0] # GEORGIAN CAPITAL LETTER HAE
+10F5 ; [.1BFA.0020.0002.10F5] # GEORGIAN LETTER HOE
+2D25 ; [.1BFB.0020.0002.2D25] # GEORGIAN SMALL LETTER HOE
+10C5 ; [.1BFB.0020.0008.10C5] # GEORGIAN CAPITAL LETTER HOE
+10F6 ; [.1BFC.0020.0002.10F6] # GEORGIAN LETTER FI
+10F7 ; [.1BFD.0020.0002.10F7] # GEORGIAN LETTER YN
+2D27 ; [.1BFE.0020.0002.2D27] # GEORGIAN SMALL LETTER YN
+10C7 ; [.1BFE.0020.0008.10C7] # GEORGIAN CAPITAL LETTER YN
+10F8 ; [.1BFF.0020.0002.10F8] # GEORGIAN LETTER ELIFI
+10F9 ; [.1C00.0020.0002.10F9] # GEORGIAN LETTER TURNED GAN
+10FA ; [.1C01.0020.0002.10FA] # GEORGIAN LETTER AIN
+10FD ; [.1C02.0020.0002.10FD] # GEORGIAN LETTER AEN
+2D2D ; [.1C03.0020.0002.2D2D] # GEORGIAN SMALL LETTER AEN
+10CD ; [.1C03.0020.0008.10CD] # GEORGIAN CAPITAL LETTER AEN
+10FE ; [.1C04.0020.0002.10FE] # GEORGIAN LETTER HARD SIGN
+10FF ; [.1C05.0020.0002.10FF] # GEORGIAN LETTER LABIAL SIGN
+0561 ; [.1C06.0020.0002.0561] # ARMENIAN SMALL LETTER AYB
+0531 ; [.1C06.0020.0008.0531] # ARMENIAN CAPITAL LETTER AYB
+0562 ; [.1C07.0020.0002.0562] # ARMENIAN SMALL LETTER BEN
+0532 ; [.1C07.0020.0008.0532] # ARMENIAN CAPITAL LETTER BEN
+0563 ; [.1C08.0020.0002.0563] # ARMENIAN SMALL LETTER GIM
+0533 ; [.1C08.0020.0008.0533] # ARMENIAN CAPITAL LETTER GIM
+0564 ; [.1C09.0020.0002.0564] # ARMENIAN SMALL LETTER DA
+0534 ; [.1C09.0020.0008.0534] # ARMENIAN CAPITAL LETTER DA
+0565 ; [.1C0A.0020.0002.0565] # ARMENIAN SMALL LETTER ECH
+0535 ; [.1C0A.0020.0008.0535] # ARMENIAN CAPITAL LETTER ECH
+0587 ; [.1C0A.0020.0004.0587][.1C27.0020.0004.0587] # ARMENIAN SMALL LIGATURE ECH YIWN
+0566 ; [.1C0B.0020.0002.0566] # ARMENIAN SMALL LETTER ZA
+0536 ; [.1C0B.0020.0008.0536] # ARMENIAN CAPITAL LETTER ZA
+0567 ; [.1C0C.0020.0002.0567] # ARMENIAN SMALL LETTER EH
+0537 ; [.1C0C.0020.0008.0537] # ARMENIAN CAPITAL LETTER EH
+0568 ; [.1C0D.0020.0002.0568] # ARMENIAN SMALL LETTER ET
+0538 ; [.1C0D.0020.0008.0538] # ARMENIAN CAPITAL LETTER ET
+0569 ; [.1C0E.0020.0002.0569] # ARMENIAN SMALL LETTER TO
+0539 ; [.1C0E.0020.0008.0539] # ARMENIAN CAPITAL LETTER TO
+056A ; [.1C0F.0020.0002.056A] # ARMENIAN SMALL LETTER ZHE
+053A ; [.1C0F.0020.0008.053A] # ARMENIAN CAPITAL LETTER ZHE
+056B ; [.1C10.0020.0002.056B] # ARMENIAN SMALL LETTER INI
+053B ; [.1C10.0020.0008.053B] # ARMENIAN CAPITAL LETTER INI
+056C ; [.1C11.0020.0002.056C] # ARMENIAN SMALL LETTER LIWN
+053C ; [.1C11.0020.0008.053C] # ARMENIAN CAPITAL LETTER LIWN
+056D ; [.1C12.0020.0002.056D] # ARMENIAN SMALL LETTER XEH
+053D ; [.1C12.0020.0008.053D] # ARMENIAN CAPITAL LETTER XEH
+056E ; [.1C13.0020.0002.056E] # ARMENIAN SMALL LETTER CA
+053E ; [.1C13.0020.0008.053E] # ARMENIAN CAPITAL LETTER CA
+056F ; [.1C14.0020.0002.056F] # ARMENIAN SMALL LETTER KEN
+053F ; [.1C14.0020.0008.053F] # ARMENIAN CAPITAL LETTER KEN
+0570 ; [.1C15.0020.0002.0570] # ARMENIAN SMALL LETTER HO
+0540 ; [.1C15.0020.0008.0540] # ARMENIAN CAPITAL LETTER HO
+0571 ; [.1C16.0020.0002.0571] # ARMENIAN SMALL LETTER JA
+0541 ; [.1C16.0020.0008.0541] # ARMENIAN CAPITAL LETTER JA
+0572 ; [.1C17.0020.0002.0572] # ARMENIAN SMALL LETTER GHAD
+0542 ; [.1C17.0020.0008.0542] # ARMENIAN CAPITAL LETTER GHAD
+0573 ; [.1C18.0020.0002.0573] # ARMENIAN SMALL LETTER CHEH
+0543 ; [.1C18.0020.0008.0543] # ARMENIAN CAPITAL LETTER CHEH
+0574 ; [.1C19.0020.0002.0574] # ARMENIAN SMALL LETTER MEN
+0544 ; [.1C19.0020.0008.0544] # ARMENIAN CAPITAL LETTER MEN
+FB14 ; [.1C19.0020.0004.FB14][.1C0A.0020.0004.FB14] # ARMENIAN SMALL LIGATURE MEN ECH
+FB15 ; [.1C19.0020.0004.FB15][.1C10.0020.0004.FB15] # ARMENIAN SMALL LIGATURE MEN INI
+FB17 ; [.1C19.0020.0004.FB17][.1C12.0020.0004.FB17] # ARMENIAN SMALL LIGATURE MEN XEH
+FB13 ; [.1C19.0020.0004.FB13][.1C1B.0020.0004.FB13] # ARMENIAN SMALL LIGATURE MEN NOW
+0575 ; [.1C1A.0020.0002.0575] # ARMENIAN SMALL LETTER YI
+0545 ; [.1C1A.0020.0008.0545] # ARMENIAN CAPITAL LETTER YI
+0576 ; [.1C1B.0020.0002.0576] # ARMENIAN SMALL LETTER NOW
+0546 ; [.1C1B.0020.0008.0546] # ARMENIAN CAPITAL LETTER NOW
+0577 ; [.1C1C.0020.0002.0577] # ARMENIAN SMALL LETTER SHA
+0547 ; [.1C1C.0020.0008.0547] # ARMENIAN CAPITAL LETTER SHA
+0578 ; [.1C1D.0020.0002.0578] # ARMENIAN SMALL LETTER VO
+0548 ; [.1C1D.0020.0008.0548] # ARMENIAN CAPITAL LETTER VO
+0579 ; [.1C1E.0020.0002.0579] # ARMENIAN SMALL LETTER CHA
+0549 ; [.1C1E.0020.0008.0549] # ARMENIAN CAPITAL LETTER CHA
+057A ; [.1C1F.0020.0002.057A] # ARMENIAN SMALL LETTER PEH
+054A ; [.1C1F.0020.0008.054A] # ARMENIAN CAPITAL LETTER PEH
+057B ; [.1C20.0020.0002.057B] # ARMENIAN SMALL LETTER JHEH
+054B ; [.1C20.0020.0008.054B] # ARMENIAN CAPITAL LETTER JHEH
+057C ; [.1C21.0020.0002.057C] # ARMENIAN SMALL LETTER RA
+054C ; [.1C21.0020.0008.054C] # ARMENIAN CAPITAL LETTER RA
+057D ; [.1C22.0020.0002.057D] # ARMENIAN SMALL LETTER SEH
+054D ; [.1C22.0020.0008.054D] # ARMENIAN CAPITAL LETTER SEH
+057E ; [.1C23.0020.0002.057E] # ARMENIAN SMALL LETTER VEW
+054E ; [.1C23.0020.0008.054E] # ARMENIAN CAPITAL LETTER VEW
+FB16 ; [.1C23.0020.0004.FB16][.1C1B.0020.0004.FB16] # ARMENIAN SMALL LIGATURE VEW NOW
+057F ; [.1C24.0020.0002.057F] # ARMENIAN SMALL LETTER TIWN
+054F ; [.1C24.0020.0008.054F] # ARMENIAN CAPITAL LETTER TIWN
+0580 ; [.1C25.0020.0002.0580] # ARMENIAN SMALL LETTER REH
+0550 ; [.1C25.0020.0008.0550] # ARMENIAN CAPITAL LETTER REH
+0581 ; [.1C26.0020.0002.0581] # ARMENIAN SMALL LETTER CO
+0551 ; [.1C26.0020.0008.0551] # ARMENIAN CAPITAL LETTER CO
+0582 ; [.1C27.0020.0002.0582] # ARMENIAN SMALL LETTER YIWN
+0552 ; [.1C27.0020.0008.0552] # ARMENIAN CAPITAL LETTER YIWN
+0583 ; [.1C28.0020.0002.0583] # ARMENIAN SMALL LETTER PIWR
+0553 ; [.1C28.0020.0008.0553] # ARMENIAN CAPITAL LETTER PIWR
+0584 ; [.1C29.0020.0002.0584] # ARMENIAN SMALL LETTER KEH
+0554 ; [.1C29.0020.0008.0554] # ARMENIAN CAPITAL LETTER KEH
+0585 ; [.1C2A.0020.0002.0585] # ARMENIAN SMALL LETTER OH
+0555 ; [.1C2A.0020.0008.0555] # ARMENIAN CAPITAL LETTER OH
+0586 ; [.1C2B.0020.0002.0586] # ARMENIAN SMALL LETTER FEH
+0556 ; [.1C2B.0020.0008.0556] # ARMENIAN CAPITAL LETTER FEH
+0559 ; [.1C2C.0020.0002.0559] # ARMENIAN MODIFIER LETTER LEFT HALF RING
+05D0 ; [.1C2D.0020.0002.05D0] # HEBREW LETTER ALEF
+2135 ; [.1C2D.0020.0004.2135] # ALEF SYMBOL
+FB21 ; [.1C2D.0020.0005.FB21] # HEBREW LETTER WIDE ALEF
+FB2E ; [.1C2D.0020.0002.05D0][.0000.008C.0002.05B7] # HEBREW LETTER ALEF WITH PATAH
+FB2F ; [.1C2D.0020.0002.05D0][.0000.008D.0002.05B8] # HEBREW LETTER ALEF WITH QAMATS
+FB30 ; [.1C2D.0020.0002.05D0][.0000.0092.0002.05BC] # HEBREW LETTER ALEF WITH MAPIQ
+FB4F ; [.1C2D.0020.0004.FB4F][.1C38.0020.0004.FB4F] # HEBREW LIGATURE ALEF LAMED
+05D1 ; [.1C2E.0020.0002.05D1] # HEBREW LETTER BET
+2136 ; [.1C2E.0020.0004.2136] # BET SYMBOL
+FB31 ; [.1C2E.0020.0002.05D1][.0000.0092.0002.05BC] # HEBREW LETTER BET WITH DAGESH
+FB4C ; [.1C2E.0020.0002.05D1][.0000.0095.0002.05BF] # HEBREW LETTER BET WITH RAFE
+05D2 ; [.1C2F.0020.0002.05D2] # HEBREW LETTER GIMEL
+2137 ; [.1C2F.0020.0004.2137] # GIMEL SYMBOL
+FB32 ; [.1C2F.0020.0002.05D2][.0000.0092.0002.05BC] # HEBREW LETTER GIMEL WITH DAGESH
+05D3 ; [.1C30.0020.0002.05D3] # HEBREW LETTER DALET
+2138 ; [.1C30.0020.0004.2138] # DALET SYMBOL
+FB22 ; [.1C30.0020.0005.FB22] # HEBREW LETTER WIDE DALET
+FB33 ; [.1C30.0020.0002.05D3][.0000.0092.0002.05BC] # HEBREW LETTER DALET WITH DAGESH
+05D4 ; [.1C31.0020.0002.05D4] # HEBREW LETTER HE
+FB23 ; [.1C31.0020.0005.FB23] # HEBREW LETTER WIDE HE
+FB34 ; [.1C31.0020.0002.05D4][.0000.0092.0002.05BC] # HEBREW LETTER HE WITH MAPIQ
+05D5 ; [.1C32.0020.0002.05D5] # HEBREW LETTER VAV
+FB4B ; [.1C32.0020.0002.05D5][.0000.008E.0002.05B9] # HEBREW LETTER VAV WITH HOLAM
+FB35 ; [.1C32.0020.0002.05D5][.0000.0092.0002.05BC] # HEBREW LETTER VAV WITH DAGESH
+05F0 ; [.1C32.0020.0004.05F0][.1C32.0020.0004.05F0] # HEBREW LIGATURE YIDDISH DOUBLE VAV
+05F1 ; [.1C32.0020.0004.05F1][.1C36.0020.0004.05F1] # HEBREW LIGATURE YIDDISH VAV YOD
+05D6 ; [.1C33.0020.0002.05D6] # HEBREW LETTER ZAYIN
+FB36 ; [.1C33.0020.0002.05D6][.0000.0092.0002.05BC] # HEBREW LETTER ZAYIN WITH DAGESH
+05D7 ; [.1C34.0020.0002.05D7] # HEBREW LETTER HET
+05D8 ; [.1C35.0020.0002.05D8] # HEBREW LETTER TET
+FB38 ; [.1C35.0020.0002.05D8][.0000.0092.0002.05BC] # HEBREW LETTER TET WITH DAGESH
+05D9 ; [.1C36.0020.0002.05D9] # HEBREW LETTER YOD
+FB1D ; [.1C36.0020.0002.05D9][.0000.0089.0002.05B4] # HEBREW LETTER YOD WITH HIRIQ
+FB39 ; [.1C36.0020.0002.05D9][.0000.0092.0002.05BC] # HEBREW LETTER YOD WITH DAGESH
+05F2 ; [.1C36.0020.0004.05F2][.1C36.0020.0004.05F2] # HEBREW LIGATURE YIDDISH DOUBLE YOD
+FB1F ; [.1C36.0020.0004.FB1F][.1C36.0020.0004.FB1F][.0000.008C.0002.FB1F] # HEBREW LIGATURE YIDDISH YOD YOD PATAH
+05DB ; [.1C37.0020.0002.05DB] # HEBREW LETTER KAF
+FB24 ; [.1C37.0020.0005.FB24] # HEBREW LETTER WIDE KAF
+05DA ; [.1C37.0020.0019.05DA] # HEBREW LETTER FINAL KAF
+FB3B ; [.1C37.0020.0002.05DB][.0000.0092.0002.05BC] # HEBREW LETTER KAF WITH DAGESH
+FB3A ; [.1C37.0020.0019.FB3A][.0000.0092.0002.FB3A] # HEBREW LETTER FINAL KAF WITH DAGESH
+FB4D ; [.1C37.0020.0002.05DB][.0000.0095.0002.05BF] # HEBREW LETTER KAF WITH RAFE
+05DC ; [.1C38.0020.0002.05DC] # HEBREW LETTER LAMED
+FB25 ; [.1C38.0020.0005.FB25] # HEBREW LETTER WIDE LAMED
+FB3C ; [.1C38.0020.0002.05DC][.0000.0092.0002.05BC] # HEBREW LETTER LAMED WITH DAGESH
+05DE ; [.1C39.0020.0002.05DE] # HEBREW LETTER MEM
+FB26 ; [.1C39.0020.0005.FB26] # HEBREW LETTER WIDE FINAL MEM
+05DD ; [.1C39.0020.0019.05DD] # HEBREW LETTER FINAL MEM
+FB3E ; [.1C39.0020.0002.05DE][.0000.0092.0002.05BC] # HEBREW LETTER MEM WITH DAGESH
+05E0 ; [.1C3A.0020.0002.05E0] # HEBREW LETTER NUN
+05DF ; [.1C3A.0020.0019.05DF] # HEBREW LETTER FINAL NUN
+FB40 ; [.1C3A.0020.0002.05E0][.0000.0092.0002.05BC] # HEBREW LETTER NUN WITH DAGESH
+05E1 ; [.1C3B.0020.0002.05E1] # HEBREW LETTER SAMEKH
+FB41 ; [.1C3B.0020.0002.05E1][.0000.0092.0002.05BC] # HEBREW LETTER SAMEKH WITH DAGESH
+05E2 ; [.1C3C.0020.0002.05E2] # HEBREW LETTER AYIN
+FB20 ; [.1C3C.0020.0005.FB20] # HEBREW LETTER ALTERNATIVE AYIN
+05E4 ; [.1C3D.0020.0002.05E4] # HEBREW LETTER PE
+05E3 ; [.1C3D.0020.0019.05E3] # HEBREW LETTER FINAL PE
+FB44 ; [.1C3D.0020.0002.05E4][.0000.0092.0002.05BC] # HEBREW LETTER PE WITH DAGESH
+FB43 ; [.1C3D.0020.0019.FB43][.0000.0092.0002.FB43] # HEBREW LETTER FINAL PE WITH DAGESH
+FB4E ; [.1C3D.0020.0002.05E4][.0000.0095.0002.05BF] # HEBREW LETTER PE WITH RAFE
+05E6 ; [.1C3E.0020.0002.05E6] # HEBREW LETTER TSADI
+05E5 ; [.1C3E.0020.0019.05E5] # HEBREW LETTER FINAL TSADI
+FB46 ; [.1C3E.0020.0002.05E6][.0000.0092.0002.05BC] # HEBREW LETTER TSADI WITH DAGESH
+05E7 ; [.1C3F.0020.0002.05E7] # HEBREW LETTER QOF
+FB47 ; [.1C3F.0020.0002.05E7][.0000.0092.0002.05BC] # HEBREW LETTER QOF WITH DAGESH
+05E8 ; [.1C40.0020.0002.05E8] # HEBREW LETTER RESH
+FB27 ; [.1C40.0020.0005.FB27] # HEBREW LETTER WIDE RESH
+FB48 ; [.1C40.0020.0002.05E8][.0000.0092.0002.05BC] # HEBREW LETTER RESH WITH DAGESH
+05E9 ; [.1C41.0020.0002.05E9] # HEBREW LETTER SHIN
+FB2B ; [.1C41.0020.0002.05E9][.0000.0090.0002.05C2] # HEBREW LETTER SHIN WITH SIN DOT
+FB2A ; [.1C41.0020.0002.05E9][.0000.0091.0002.05C1] # HEBREW LETTER SHIN WITH SHIN DOT
+FB49 ; [.1C41.0020.0002.05E9][.0000.0092.0002.05BC] # HEBREW LETTER SHIN WITH DAGESH
+FB2D ; [.1C41.0020.0002.05E9][.0000.0092.0002.05BC][.0000.0090.0002.05C2] # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
+FB2C ; [.1C41.0020.0002.05E9][.0000.0092.0002.05BC][.0000.0091.0002.05C1] # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
+05EA ; [.1C42.0020.0002.05EA] # HEBREW LETTER TAV
+FB28 ; [.1C42.0020.0005.FB28] # HEBREW LETTER WIDE TAV
+FB4A ; [.1C42.0020.0002.05EA][.0000.0092.0002.05BC] # HEBREW LETTER TAV WITH DAGESH
+10900 ; [.1C43.0020.0002.10900] # PHOENICIAN LETTER ALF
+10901 ; [.1C44.0020.0002.10901] # PHOENICIAN LETTER BET
+10902 ; [.1C45.0020.0002.10902] # PHOENICIAN LETTER GAML
+10903 ; [.1C46.0020.0002.10903] # PHOENICIAN LETTER DELT
+10904 ; [.1C47.0020.0002.10904] # PHOENICIAN LETTER HE
+10905 ; [.1C48.0020.0002.10905] # PHOENICIAN LETTER WAU
+10906 ; [.1C49.0020.0002.10906] # PHOENICIAN LETTER ZAI
+10907 ; [.1C4A.0020.0002.10907] # PHOENICIAN LETTER HET
+10908 ; [.1C4B.0020.0002.10908] # PHOENICIAN LETTER TET
+10909 ; [.1C4C.0020.0002.10909] # PHOENICIAN LETTER YOD
+1090A ; [.1C4D.0020.0002.1090A] # PHOENICIAN LETTER KAF
+1090B ; [.1C4E.0020.0002.1090B] # PHOENICIAN LETTER LAMD
+1090C ; [.1C4F.0020.0002.1090C] # PHOENICIAN LETTER MEM
+1090D ; [.1C50.0020.0002.1090D] # PHOENICIAN LETTER NUN
+1090E ; [.1C51.0020.0002.1090E] # PHOENICIAN LETTER SEMK
+1090F ; [.1C52.0020.0002.1090F] # PHOENICIAN LETTER AIN
+10910 ; [.1C53.0020.0002.10910] # PHOENICIAN LETTER PE
+10911 ; [.1C54.0020.0002.10911] # PHOENICIAN LETTER SADE
+10912 ; [.1C55.0020.0002.10912] # PHOENICIAN LETTER QOF
+10913 ; [.1C56.0020.0002.10913] # PHOENICIAN LETTER ROSH
+10914 ; [.1C57.0020.0002.10914] # PHOENICIAN LETTER SHIN
+10915 ; [.1C58.0020.0002.10915] # PHOENICIAN LETTER TAU
+0800 ; [.1C59.0020.0002.0800] # SAMARITAN LETTER ALAF
+0801 ; [.1C5A.0020.0002.0801] # SAMARITAN LETTER BIT
+0802 ; [.1C5B.0020.0002.0802] # SAMARITAN LETTER GAMAN
+0803 ; [.1C5C.0020.0002.0803] # SAMARITAN LETTER DALAT
+0804 ; [.1C5D.0020.0002.0804] # SAMARITAN LETTER IY
+0805 ; [.1C5E.0020.0002.0805] # SAMARITAN LETTER BAA
+0806 ; [.1C5F.0020.0002.0806] # SAMARITAN LETTER ZEN
+0807 ; [.1C60.0020.0002.0807] # SAMARITAN LETTER IT
+0808 ; [.1C61.0020.0002.0808] # SAMARITAN LETTER TIT
+0809 ; [.1C62.0020.0002.0809] # SAMARITAN LETTER YUT
+080A ; [.1C63.0020.0002.080A] # SAMARITAN LETTER KAAF
+080B ; [.1C64.0020.0002.080B] # SAMARITAN LETTER LABAT
+080C ; [.1C65.0020.0002.080C] # SAMARITAN LETTER MIM
+080D ; [.1C66.0020.0002.080D] # SAMARITAN LETTER NUN
+080E ; [.1C67.0020.0002.080E] # SAMARITAN LETTER SINGAAT
+080F ; [.1C68.0020.0002.080F] # SAMARITAN LETTER IN
+0810 ; [.1C69.0020.0002.0810] # SAMARITAN LETTER FI
+0811 ; [.1C6A.0020.0002.0811] # SAMARITAN LETTER TSAADIY
+0812 ; [.1C6B.0020.0002.0812] # SAMARITAN LETTER QUF
+0813 ; [.1C6C.0020.0002.0813] # SAMARITAN LETTER RISH
+0814 ; [.1C6D.0020.0002.0814] # SAMARITAN LETTER SHAN
+0815 ; [.1C6E.0020.0002.0815] # SAMARITAN LETTER TAAF
+0816 ; [.1C6F.0020.0002.0816] # SAMARITAN MARK IN
+0817 ; [.1C70.0020.0002.0817] # SAMARITAN MARK IN-ALAF
+081A ; [.1C71.0020.0002.081A] # SAMARITAN MODIFIER LETTER EPENTHETIC YUT
+081B ; [.1C72.0020.0002.081B] # SAMARITAN MARK EPENTHETIC YUT
+0621 ; [.1C73.0020.0002.0621] # ARABIC LETTER HAMZA
+0674 ; [.1C73.0020.0004.0674] # ARABIC LETTER HIGH HAMZA
+FE80 ; [.1C73.0020.001A.FE80] # ARABIC LETTER HAMZA ISOLATED FORM
+06FD ; [.1C73.0020.0004.06FD][.0000.013A.0004.06FD] # ARABIC SIGN SINDHI AMPERSAND
+0622 ; [.1C74.0020.0002.0622] # ARABIC LETTER ALEF WITH MADDA ABOVE
+0627 0653 ; [.1C74.0020.0002.0622] # ARABIC LETTER ALEF WITH MADDA ABOVE
+FE82 ; [.1C74.0020.0019.FE82] # ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
+FE81 ; [.1C74.0020.001A.FE81] # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
+0623 ; [.1C75.0020.0002.0623] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+0627 0654 ; [.1C75.0020.0002.0623] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+FE84 ; [.1C75.0020.0019.FE84] # ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
+FE83 ; [.1C75.0020.001A.FE83] # ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
+0672 ; [.1C76.0020.0002.0672] # ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
+0671 ; [.1C77.0020.0002.0671] # ARABIC LETTER ALEF WASLA
+FB51 ; [.1C77.0020.0019.FB51] # ARABIC LETTER ALEF WASLA FINAL FORM
+FB50 ; [.1C77.0020.001A.FB50] # ARABIC LETTER ALEF WASLA ISOLATED FORM
+0624 ; [.1C78.0020.0002.0624] # ARABIC LETTER WAW WITH HAMZA ABOVE
+0648 0654 ; [.1C78.0020.0002.0624] # ARABIC LETTER WAW WITH HAMZA ABOVE
+FE86 ; [.1C78.0020.0019.FE86] # ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM
+FE85 ; [.1C78.0020.001A.FE85] # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
+0625 ; [.1C79.0020.0002.0625] # ARABIC LETTER ALEF WITH HAMZA BELOW
+0627 0655 ; [.1C79.0020.0002.0625] # ARABIC LETTER ALEF WITH HAMZA BELOW
+FE88 ; [.1C79.0020.0019.FE88] # ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM
+FE87 ; [.1C79.0020.001A.FE87] # ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM
+0673 ; [.1C7A.0020.0002.0673] # ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
+0773 ; [.1C7B.0020.0002.0773] # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+0774 ; [.1C7C.0020.0002.0774] # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+0626 ; [.1C7D.0020.0002.0626] # ARABIC LETTER YEH WITH HAMZA ABOVE
+064A 0654 ; [.1C7D.0020.0002.0626] # ARABIC LETTER YEH WITH HAMZA ABOVE
+FE8B ; [.1C7D.0020.0017.FE8B] # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
+FE8C ; [.1C7D.0020.0018.FE8C] # ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM
+FE8A ; [.1C7D.0020.0019.FE8A] # ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
+FE89 ; [.1C7D.0020.001A.FE89] # ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
+FBEB ; [.1C7D.0020.0019.FBEB][.1C81.0020.0019.FBEB] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM
+FBEA ; [.1C7D.0020.001A.FBEA][.1C81.0020.001A.FBEA] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM
+FC97 ; [.1C7D.0020.0017.FC97][.1C97.0020.0017.FC97] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM
+FC00 ; [.1C7D.0020.001A.FC00][.1C97.0020.001A.FC00] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM
+FC98 ; [.1C7D.0020.0017.FC98][.1C9E.0020.0017.FC98] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM
+FC01 ; [.1C7D.0020.001A.FC01][.1C9E.0020.001A.FC01] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM
+FC99 ; [.1C7D.0020.0017.FC99][.1C9F.0020.0017.FC99] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM
+FC64 ; [.1C7D.0020.0019.FC64][.1CB7.0020.0019.FC64] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM
+FC65 ; [.1C7D.0020.0019.FC65][.1CB8.0020.0019.FC65] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM
+FC9A ; [.1C7D.0020.0017.FC9A][.1D0C.0020.0017.FC9A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM
+FCDF ; [.1C7D.0020.0018.FCDF][.1D0C.0020.0018.FCDF] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM
+FC66 ; [.1C7D.0020.0019.FC66][.1D0C.0020.0019.FC66] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM
+FC02 ; [.1C7D.0020.001A.FC02][.1D0C.0020.001A.FC02] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM
+FC67 ; [.1C7D.0020.0019.FC67][.1D10.0020.0019.FC67] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM
+FC9B ; [.1C7D.0020.0017.FC9B][.1D19.0020.0017.FC9B] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM
+FCE0 ; [.1C7D.0020.0018.FCE0][.1D19.0020.0018.FCE0] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM
+FBED ; [.1C7D.0020.0019.FBED][.1D1E.0020.0019.FBED] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM
+FBEC ; [.1C7D.0020.001A.FBEC][.1D1E.0020.001A.FBEC] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM
+FBEF ; [.1C7D.0020.0019.FBEF][.1D1F.0020.0019.FBEF] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM
+FBEE ; [.1C7D.0020.001A.FBEE][.1D1F.0020.001A.FBEE] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM
+FBF3 ; [.1C7D.0020.0019.FBF3][.1D22.0020.0019.FBF3] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM
+FBF2 ; [.1C7D.0020.001A.FBF2][.1D22.0020.001A.FBF2] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM
+FBF1 ; [.1C7D.0020.0019.FBF1][.1D23.0020.0019.FBF1] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM
+FBF0 ; [.1C7D.0020.001A.FBF0][.1D23.0020.001A.FBF0] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM
+FBF5 ; [.1C7D.0020.0019.FBF5][.1D24.0020.0019.FBF5] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM
+FBF4 ; [.1C7D.0020.001A.FBF4][.1D24.0020.001A.FBF4] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM
+FBFB ; [.1C7D.0020.0017.FBFB][.1D2C.0020.0017.FBFB] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM
+FBFA ; [.1C7D.0020.0019.FBFA][.1D2C.0020.0019.FBFA] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
+FC68 ; [.1C7D.0020.0019.FC68][.1D2C.0020.0019.FC68] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
+FBF9 ; [.1C7D.0020.001A.FBF9][.1D2C.0020.001A.FBF9] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
+FC03 ; [.1C7D.0020.001A.FC03][.1D2C.0020.001A.FC03] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
+FC69 ; [.1C7D.0020.0019.FC69][.1D2D.0020.0019.FC69] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM
+FC04 ; [.1C7D.0020.001A.FC04][.1D2D.0020.001A.FC04] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM
+FBF8 ; [.1C7D.0020.0017.FBF8][.1D31.0020.0017.FBF8] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM
+FBF7 ; [.1C7D.0020.0019.FBF7][.1D31.0020.0019.FBF7] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM
+FBF6 ; [.1C7D.0020.001A.FBF6][.1D31.0020.001A.FBF6] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM
+08A8 ; [.1C7E.0020.0002.08A8] # ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE
+08A9 ; [.1C7F.0020.0002.08A9] # ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE
+08AC ; [.1C80.0020.0002.08AC] # ARABIC LETTER ROHINGYA YEH
+0627 ; [.1C81.0020.0002.0627] # ARABIC LETTER ALEF
+1EE00 ; [.1C81.0020.0005.1EE00] # ARABIC MATHEMATICAL ALEF
+1EE80 ; [.1C81.0020.0005.1EE80] # ARABIC MATHEMATICAL LOOPED ALEF
+FE8E ; [.1C81.0020.0019.FE8E] # ARABIC LETTER ALEF FINAL FORM
+FE8D ; [.1C81.0020.001A.FE8D] # ARABIC LETTER ALEF ISOLATED FORM
+FD3C ; [.1C81.0020.0019.FD3C][.0000.00A2.0019.FD3C] # ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM
+FD3D ; [.1C81.0020.001A.FD3D][.0000.00A2.001A.FD3D] # ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
+0675 ; [.1C81.0020.0004.0675][.1C73.0020.0004.0675] # ARABIC LETTER HIGH HAMZA ALEF
+FDF3 ; [.1C81.0020.001A.FDF3][.1CF2.0020.001A.FDF3][.1C83.0020.001F.FDF3][.1CB7.0020.001F.FDF3] # ARABIC LIGATURE AKBAR ISOLATED FORM
+FDF2 ; [.1C81.0020.001A.FDF2][.1D05.0020.001A.FDF2][.1D05.0020.001F.FDF2][.1D19.0020.001F.FDF2] # ARABIC LIGATURE ALLAH ISOLATED FORM
+066E ; [.1C82.0020.0002.066E] # ARABIC LETTER DOTLESS BEH
+1EE1C ; [.1C82.0020.0005.1EE1C] # ARABIC MATHEMATICAL DOTLESS BEH
+1EE7C ; [.1C82.0020.0005.1EE7C] # ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+0628 ; [.1C83.0020.0002.0628] # ARABIC LETTER BEH
+1EE01 ; [.1C83.0020.0005.1EE01] # ARABIC MATHEMATICAL BEH
+1EE21 ; [.1C83.0020.0005.1EE21] # ARABIC MATHEMATICAL INITIAL BEH
+1EE61 ; [.1C83.0020.0005.1EE61] # ARABIC MATHEMATICAL STRETCHED BEH
+1EE81 ; [.1C83.0020.0005.1EE81] # ARABIC MATHEMATICAL LOOPED BEH
+1EEA1 ; [.1C83.0020.0005.1EEA1] # ARABIC MATHEMATICAL DOUBLE-STRUCK BEH
+FE91 ; [.1C83.0020.0017.FE91] # ARABIC LETTER BEH INITIAL FORM
+FE92 ; [.1C83.0020.0018.FE92] # ARABIC LETTER BEH MEDIAL FORM
+FE90 ; [.1C83.0020.0019.FE90] # ARABIC LETTER BEH FINAL FORM
+FE8F ; [.1C83.0020.001A.FE8F] # ARABIC LETTER BEH ISOLATED FORM
+FC9C ; [.1C83.0020.0017.FC9C][.1C97.0020.0017.FC9C] # ARABIC LIGATURE BEH WITH JEEM INITIAL FORM
+FC05 ; [.1C83.0020.001A.FC05][.1C97.0020.001A.FC05] # ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM
+FC9D ; [.1C83.0020.0017.FC9D][.1C9E.0020.0017.FC9D] # ARABIC LIGATURE BEH WITH HAH INITIAL FORM
+FC06 ; [.1C83.0020.001A.FC06][.1C9E.0020.001A.FC06] # ARABIC LIGATURE BEH WITH HAH ISOLATED FORM
+FDC2 ; [.1C83.0020.0019.FDC2][.1C9E.0020.0019.FDC2][.1D2D.0020.001F.FDC2] # ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM
+FC9E ; [.1C83.0020.0017.FC9E][.1C9F.0020.0017.FC9E] # ARABIC LIGATURE BEH WITH KHAH INITIAL FORM
+FC07 ; [.1C83.0020.001A.FC07][.1C9F.0020.001A.FC07] # ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM
+FD9E ; [.1C83.0020.0019.FD9E][.1C9F.0020.0019.FD9E][.1D2D.0020.001F.FD9E] # ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM
+FC6A ; [.1C83.0020.0019.FC6A][.1CB7.0020.0019.FC6A] # ARABIC LIGATURE BEH WITH REH FINAL FORM
+FC6B ; [.1C83.0020.0019.FC6B][.1CB8.0020.0019.FC6B] # ARABIC LIGATURE BEH WITH ZAIN FINAL FORM
+FC9F ; [.1C83.0020.0017.FC9F][.1D0C.0020.0017.FC9F] # ARABIC LIGATURE BEH WITH MEEM INITIAL FORM
+FCE1 ; [.1C83.0020.0018.FCE1][.1D0C.0020.0018.FCE1] # ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM
+FC6C ; [.1C83.0020.0019.FC6C][.1D0C.0020.0019.FC6C] # ARABIC LIGATURE BEH WITH MEEM FINAL FORM
+FC08 ; [.1C83.0020.001A.FC08][.1D0C.0020.001A.FC08] # ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM
+FC6D ; [.1C83.0020.0019.FC6D][.1D10.0020.0019.FC6D] # ARABIC LIGATURE BEH WITH NOON FINAL FORM
+FCA0 ; [.1C83.0020.0017.FCA0][.1D19.0020.0017.FCA0] # ARABIC LIGATURE BEH WITH HEH INITIAL FORM
+FCE2 ; [.1C83.0020.0018.FCE2][.1D19.0020.0018.FCE2] # ARABIC LIGATURE BEH WITH HEH MEDIAL FORM
+FC6E ; [.1C83.0020.0019.FC6E][.1D2C.0020.0019.FC6E] # ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM
+FC09 ; [.1C83.0020.001A.FC09][.1D2C.0020.001A.FC09] # ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM
+FC6F ; [.1C83.0020.0019.FC6F][.1D2D.0020.0019.FC6F] # ARABIC LIGATURE BEH WITH YEH FINAL FORM
+FC0A ; [.1C83.0020.001A.FC0A][.1D2D.0020.001A.FC0A] # ARABIC LIGATURE BEH WITH YEH ISOLATED FORM
+067B ; [.1C84.0020.0002.067B] # ARABIC LETTER BEEH
+FB54 ; [.1C84.0020.0017.FB54] # ARABIC LETTER BEEH INITIAL FORM
+FB55 ; [.1C84.0020.0018.FB55] # ARABIC LETTER BEEH MEDIAL FORM
+FB53 ; [.1C84.0020.0019.FB53] # ARABIC LETTER BEEH FINAL FORM
+FB52 ; [.1C84.0020.001A.FB52] # ARABIC LETTER BEEH ISOLATED FORM
+067E ; [.1C85.0020.0002.067E] # ARABIC LETTER PEH
+FB58 ; [.1C85.0020.0017.FB58] # ARABIC LETTER PEH INITIAL FORM
+FB59 ; [.1C85.0020.0018.FB59] # ARABIC LETTER PEH MEDIAL FORM
+FB57 ; [.1C85.0020.0019.FB57] # ARABIC LETTER PEH FINAL FORM
+FB56 ; [.1C85.0020.001A.FB56] # ARABIC LETTER PEH ISOLATED FORM
+0680 ; [.1C86.0020.0002.0680] # ARABIC LETTER BEHEH
+FB5C ; [.1C86.0020.0017.FB5C] # ARABIC LETTER BEHEH INITIAL FORM
+FB5D ; [.1C86.0020.0018.FB5D] # ARABIC LETTER BEHEH MEDIAL FORM
+FB5B ; [.1C86.0020.0019.FB5B] # ARABIC LETTER BEHEH FINAL FORM
+FB5A ; [.1C86.0020.001A.FB5A] # ARABIC LETTER BEHEH ISOLATED FORM
+0750 ; [.1C87.0020.0002.0750] # ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
+0751 ; [.1C88.0020.0002.0751] # ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
+0752 ; [.1C89.0020.0002.0752] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
+0753 ; [.1C8A.0020.0002.0753] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
+0754 ; [.1C8B.0020.0002.0754] # ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
+0755 ; [.1C8C.0020.0002.0755] # ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
+08A0 ; [.1C8D.0020.0002.08A0] # ARABIC LETTER BEH WITH SMALL V BELOW
+0756 ; [.1C8E.0020.0002.0756] # ARABIC LETTER BEH WITH SMALL V
+0629 ; [.1C8F.0020.0002.0629] # ARABIC LETTER TEH MARBUTA
+FE94 ; [.1C8F.0020.0019.FE94] # ARABIC LETTER TEH MARBUTA FINAL FORM
+FE93 ; [.1C8F.0020.001A.FE93] # ARABIC LETTER TEH MARBUTA ISOLATED FORM
+062A ; [.1C90.0020.0002.062A] # ARABIC LETTER TEH
+1EE15 ; [.1C90.0020.0005.1EE15] # ARABIC MATHEMATICAL TEH
+1EE35 ; [.1C90.0020.0005.1EE35] # ARABIC MATHEMATICAL INITIAL TEH
+1EE75 ; [.1C90.0020.0005.1EE75] # ARABIC MATHEMATICAL STRETCHED TEH
+1EE95 ; [.1C90.0020.0005.1EE95] # ARABIC MATHEMATICAL LOOPED TEH
+1EEB5 ; [.1C90.0020.0005.1EEB5] # ARABIC MATHEMATICAL DOUBLE-STRUCK TEH
+FE97 ; [.1C90.0020.0017.FE97] # ARABIC LETTER TEH INITIAL FORM
+FE98 ; [.1C90.0020.0018.FE98] # ARABIC LETTER TEH MEDIAL FORM
+FE96 ; [.1C90.0020.0019.FE96] # ARABIC LETTER TEH FINAL FORM
+FE95 ; [.1C90.0020.001A.FE95] # ARABIC LETTER TEH ISOLATED FORM
+FCA1 ; [.1C90.0020.0017.FCA1][.1C97.0020.0017.FCA1] # ARABIC LIGATURE TEH WITH JEEM INITIAL FORM
+FC0B ; [.1C90.0020.001A.FC0B][.1C97.0020.001A.FC0B] # ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM
+FD50 ; [.1C90.0020.0017.FD50][.1C97.0020.0017.FD50][.1D0C.0020.001F.FD50] # ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM
+FDA0 ; [.1C90.0020.0019.FDA0][.1C97.0020.0019.FDA0][.1D2C.0020.001F.FDA0] # ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM
+FD9F ; [.1C90.0020.0019.FD9F][.1C97.0020.0019.FD9F][.1D2D.0020.001F.FD9F] # ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM
+FCA2 ; [.1C90.0020.0017.FCA2][.1C9E.0020.0017.FCA2] # ARABIC LIGATURE TEH WITH HAH INITIAL FORM
+FC0C ; [.1C90.0020.001A.FC0C][.1C9E.0020.001A.FC0C] # ARABIC LIGATURE TEH WITH HAH ISOLATED FORM
+FD52 ; [.1C90.0020.0017.FD52][.1C9E.0020.0017.FD52][.1C97.0020.001F.FD52] # ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM
+FD51 ; [.1C90.0020.0019.FD51][.1C9E.0020.0019.FD51][.1C97.0020.001F.FD51] # ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM
+FD53 ; [.1C90.0020.0017.FD53][.1C9E.0020.0017.FD53][.1D0C.0020.001F.FD53] # ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM
+FCA3 ; [.1C90.0020.0017.FCA3][.1C9F.0020.0017.FCA3] # ARABIC LIGATURE TEH WITH KHAH INITIAL FORM
+FC0D ; [.1C90.0020.001A.FC0D][.1C9F.0020.001A.FC0D] # ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM
+FD54 ; [.1C90.0020.0017.FD54][.1C9F.0020.0017.FD54][.1D0C.0020.001F.FD54] # ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM
+FDA2 ; [.1C90.0020.0019.FDA2][.1C9F.0020.0019.FDA2][.1D2C.0020.001F.FDA2] # ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM
+FDA1 ; [.1C90.0020.0019.FDA1][.1C9F.0020.0019.FDA1][.1D2D.0020.001F.FDA1] # ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM
+FC70 ; [.1C90.0020.0019.FC70][.1CB7.0020.0019.FC70] # ARABIC LIGATURE TEH WITH REH FINAL FORM
+FC71 ; [.1C90.0020.0019.FC71][.1CB8.0020.0019.FC71] # ARABIC LIGATURE TEH WITH ZAIN FINAL FORM
+FCA4 ; [.1C90.0020.0017.FCA4][.1D0C.0020.0017.FCA4] # ARABIC LIGATURE TEH WITH MEEM INITIAL FORM
+FCE3 ; [.1C90.0020.0018.FCE3][.1D0C.0020.0018.FCE3] # ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM
+FC72 ; [.1C90.0020.0019.FC72][.1D0C.0020.0019.FC72] # ARABIC LIGATURE TEH WITH MEEM FINAL FORM
+FC0E ; [.1C90.0020.001A.FC0E][.1D0C.0020.001A.FC0E] # ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM
+FD55 ; [.1C90.0020.0017.FD55][.1D0C.0020.0017.FD55][.1C97.0020.001F.FD55] # ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM
+FD56 ; [.1C90.0020.0017.FD56][.1D0C.0020.0017.FD56][.1C9E.0020.001F.FD56] # ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM
+FD57 ; [.1C90.0020.0017.FD57][.1D0C.0020.0017.FD57][.1C9F.0020.001F.FD57] # ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM
+FDA4 ; [.1C90.0020.0019.FDA4][.1D0C.0020.0019.FDA4][.1D2C.0020.001F.FDA4] # ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FDA3 ; [.1C90.0020.0019.FDA3][.1D0C.0020.0019.FDA3][.1D2D.0020.001F.FDA3] # ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM
+FC73 ; [.1C90.0020.0019.FC73][.1D10.0020.0019.FC73] # ARABIC LIGATURE TEH WITH NOON FINAL FORM
+FCA5 ; [.1C90.0020.0017.FCA5][.1D19.0020.0017.FCA5] # ARABIC LIGATURE TEH WITH HEH INITIAL FORM
+FCE4 ; [.1C90.0020.0018.FCE4][.1D19.0020.0018.FCE4] # ARABIC LIGATURE TEH WITH HEH MEDIAL FORM
+FC74 ; [.1C90.0020.0019.FC74][.1D2C.0020.0019.FC74] # ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM
+FC0F ; [.1C90.0020.001A.FC0F][.1D2C.0020.001A.FC0F] # ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM
+FC75 ; [.1C90.0020.0019.FC75][.1D2D.0020.0019.FC75] # ARABIC LIGATURE TEH WITH YEH FINAL FORM
+FC10 ; [.1C90.0020.001A.FC10][.1D2D.0020.001A.FC10] # ARABIC LIGATURE TEH WITH YEH ISOLATED FORM
+062B ; [.1C91.0020.0002.062B] # ARABIC LETTER THEH
+1EE16 ; [.1C91.0020.0005.1EE16] # ARABIC MATHEMATICAL THEH
+1EE36 ; [.1C91.0020.0005.1EE36] # ARABIC MATHEMATICAL INITIAL THEH
+1EE76 ; [.1C91.0020.0005.1EE76] # ARABIC MATHEMATICAL STRETCHED THEH
+1EE96 ; [.1C91.0020.0005.1EE96] # ARABIC MATHEMATICAL LOOPED THEH
+1EEB6 ; [.1C91.0020.0005.1EEB6] # ARABIC MATHEMATICAL DOUBLE-STRUCK THEH
+FE9B ; [.1C91.0020.0017.FE9B] # ARABIC LETTER THEH INITIAL FORM
+FE9C ; [.1C91.0020.0018.FE9C] # ARABIC LETTER THEH MEDIAL FORM
+FE9A ; [.1C91.0020.0019.FE9A] # ARABIC LETTER THEH FINAL FORM
+FE99 ; [.1C91.0020.001A.FE99] # ARABIC LETTER THEH ISOLATED FORM
+FC11 ; [.1C91.0020.001A.FC11][.1C97.0020.001A.FC11] # ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM
+FC76 ; [.1C91.0020.0019.FC76][.1CB7.0020.0019.FC76] # ARABIC LIGATURE THEH WITH REH FINAL FORM
+FC77 ; [.1C91.0020.0019.FC77][.1CB8.0020.0019.FC77] # ARABIC LIGATURE THEH WITH ZAIN FINAL FORM
+FCA6 ; [.1C91.0020.0017.FCA6][.1D0C.0020.0017.FCA6] # ARABIC LIGATURE THEH WITH MEEM INITIAL FORM
+FCE5 ; [.1C91.0020.0018.FCE5][.1D0C.0020.0018.FCE5] # ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM
+FC78 ; [.1C91.0020.0019.FC78][.1D0C.0020.0019.FC78] # ARABIC LIGATURE THEH WITH MEEM FINAL FORM
+FC12 ; [.1C91.0020.001A.FC12][.1D0C.0020.001A.FC12] # ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM
+FC79 ; [.1C91.0020.0019.FC79][.1D10.0020.0019.FC79] # ARABIC LIGATURE THEH WITH NOON FINAL FORM
+FCE6 ; [.1C91.0020.0018.FCE6][.1D19.0020.0018.FCE6] # ARABIC LIGATURE THEH WITH HEH MEDIAL FORM
+FC7A ; [.1C91.0020.0019.FC7A][.1D2C.0020.0019.FC7A] # ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM
+FC13 ; [.1C91.0020.001A.FC13][.1D2C.0020.001A.FC13] # ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM
+FC7B ; [.1C91.0020.0019.FC7B][.1D2D.0020.0019.FC7B] # ARABIC LIGATURE THEH WITH YEH FINAL FORM
+FC14 ; [.1C91.0020.001A.FC14][.1D2D.0020.001A.FC14] # ARABIC LIGATURE THEH WITH YEH ISOLATED FORM
+0679 ; [.1C92.0020.0002.0679] # ARABIC LETTER TTEH
+FB68 ; [.1C92.0020.0017.FB68] # ARABIC LETTER TTEH INITIAL FORM
+FB69 ; [.1C92.0020.0018.FB69] # ARABIC LETTER TTEH MEDIAL FORM
+FB67 ; [.1C92.0020.0019.FB67] # ARABIC LETTER TTEH FINAL FORM
+FB66 ; [.1C92.0020.001A.FB66] # ARABIC LETTER TTEH ISOLATED FORM
+067A ; [.1C93.0020.0002.067A] # ARABIC LETTER TTEHEH
+FB60 ; [.1C93.0020.0017.FB60] # ARABIC LETTER TTEHEH INITIAL FORM
+FB61 ; [.1C93.0020.0018.FB61] # ARABIC LETTER TTEHEH MEDIAL FORM
+FB5F ; [.1C93.0020.0019.FB5F] # ARABIC LETTER TTEHEH FINAL FORM
+FB5E ; [.1C93.0020.001A.FB5E] # ARABIC LETTER TTEHEH ISOLATED FORM
+067C ; [.1C94.0020.0002.067C] # ARABIC LETTER TEH WITH RING
+067D ; [.1C95.0020.0002.067D] # ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
+067F ; [.1C96.0020.0002.067F] # ARABIC LETTER TEHEH
+FB64 ; [.1C96.0020.0017.FB64] # ARABIC LETTER TEHEH INITIAL FORM
+FB65 ; [.1C96.0020.0018.FB65] # ARABIC LETTER TEHEH MEDIAL FORM
+FB63 ; [.1C96.0020.0019.FB63] # ARABIC LETTER TEHEH FINAL FORM
+FB62 ; [.1C96.0020.001A.FB62] # ARABIC LETTER TEHEH ISOLATED FORM
+062C ; [.1C97.0020.0002.062C] # ARABIC LETTER JEEM
+1EE02 ; [.1C97.0020.0005.1EE02] # ARABIC MATHEMATICAL JEEM
+1EE22 ; [.1C97.0020.0005.1EE22] # ARABIC MATHEMATICAL INITIAL JEEM
+1EE42 ; [.1C97.0020.0005.1EE42] # ARABIC MATHEMATICAL TAILED JEEM
+1EE62 ; [.1C97.0020.0005.1EE62] # ARABIC MATHEMATICAL STRETCHED JEEM
+1EE82 ; [.1C97.0020.0005.1EE82] # ARABIC MATHEMATICAL LOOPED JEEM
+1EEA2 ; [.1C97.0020.0005.1EEA2] # ARABIC MATHEMATICAL DOUBLE-STRUCK JEEM
+FE9F ; [.1C97.0020.0017.FE9F] # ARABIC LETTER JEEM INITIAL FORM
+FEA0 ; [.1C97.0020.0018.FEA0] # ARABIC LETTER JEEM MEDIAL FORM
+FE9E ; [.1C97.0020.0019.FE9E] # ARABIC LETTER JEEM FINAL FORM
+FE9D ; [.1C97.0020.001A.FE9D] # ARABIC LETTER JEEM ISOLATED FORM
+FCA7 ; [.1C97.0020.0017.FCA7][.1C9E.0020.0017.FCA7] # ARABIC LIGATURE JEEM WITH HAH INITIAL FORM
+FC15 ; [.1C97.0020.001A.FC15][.1C9E.0020.001A.FC15] # ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM
+FDA6 ; [.1C97.0020.0019.FDA6][.1C9E.0020.0019.FDA6][.1D2C.0020.001F.FDA6] # ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM
+FDBE ; [.1C97.0020.0019.FDBE][.1C9E.0020.0019.FDBE][.1D2D.0020.001F.FDBE] # ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM
+FDFB ; [.1C97.0020.001A.FDFB][.1D05.0020.001A.FDFB][*020A.0020.001F.FDFB][.1C97.0020.001F.FDFB][.1D05.0020.001F.FDFB][.1C81.0020.001F.FDFB][.1D05.0020.001F.FDFB][.1D19.0020.001F.FDFB] # ARABIC LIGATURE JALLAJALALOUHOU
+FCA8 ; [.1C97.0020.0017.FCA8][.1D0C.0020.0017.FCA8] # ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM
+FC16 ; [.1C97.0020.001A.FC16][.1D0C.0020.001A.FC16] # ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM
+FD59 ; [.1C97.0020.0017.FD59][.1D0C.0020.0017.FD59][.1C9E.0020.001F.FD59] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM
+FD58 ; [.1C97.0020.0019.FD58][.1D0C.0020.0019.FD58][.1C9E.0020.001F.FD58] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM
+FDA7 ; [.1C97.0020.0019.FDA7][.1D0C.0020.0019.FDA7][.1D2C.0020.001F.FDA7] # ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FDA5 ; [.1C97.0020.0019.FDA5][.1D0C.0020.0019.FDA5][.1D2D.0020.001F.FDA5] # ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM
+FD1D ; [.1C97.0020.0019.FD1D][.1D2C.0020.0019.FD1D] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM
+FD01 ; [.1C97.0020.001A.FD01][.1D2C.0020.001A.FD01] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM
+FD1E ; [.1C97.0020.0019.FD1E][.1D2D.0020.0019.FD1E] # ARABIC LIGATURE JEEM WITH YEH FINAL FORM
+FD02 ; [.1C97.0020.001A.FD02][.1D2D.0020.001A.FD02] # ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM
+0683 ; [.1C98.0020.0002.0683] # ARABIC LETTER NYEH
+FB78 ; [.1C98.0020.0017.FB78] # ARABIC LETTER NYEH INITIAL FORM
+FB79 ; [.1C98.0020.0018.FB79] # ARABIC LETTER NYEH MEDIAL FORM
+FB77 ; [.1C98.0020.0019.FB77] # ARABIC LETTER NYEH FINAL FORM
+FB76 ; [.1C98.0020.001A.FB76] # ARABIC LETTER NYEH ISOLATED FORM
+0684 ; [.1C99.0020.0002.0684] # ARABIC LETTER DYEH
+FB74 ; [.1C99.0020.0017.FB74] # ARABIC LETTER DYEH INITIAL FORM
+FB75 ; [.1C99.0020.0018.FB75] # ARABIC LETTER DYEH MEDIAL FORM
+FB73 ; [.1C99.0020.0019.FB73] # ARABIC LETTER DYEH FINAL FORM
+FB72 ; [.1C99.0020.001A.FB72] # ARABIC LETTER DYEH ISOLATED FORM
+0686 ; [.1C9A.0020.0002.0686] # ARABIC LETTER TCHEH
+FB7C ; [.1C9A.0020.0017.FB7C] # ARABIC LETTER TCHEH INITIAL FORM
+FB7D ; [.1C9A.0020.0018.FB7D] # ARABIC LETTER TCHEH MEDIAL FORM
+FB7B ; [.1C9A.0020.0019.FB7B] # ARABIC LETTER TCHEH FINAL FORM
+FB7A ; [.1C9A.0020.001A.FB7A] # ARABIC LETTER TCHEH ISOLATED FORM
+06BF ; [.1C9B.0020.0002.06BF] # ARABIC LETTER TCHEH WITH DOT ABOVE
+0687 ; [.1C9C.0020.0002.0687] # ARABIC LETTER TCHEHEH
+FB80 ; [.1C9C.0020.0017.FB80] # ARABIC LETTER TCHEHEH INITIAL FORM
+FB81 ; [.1C9C.0020.0018.FB81] # ARABIC LETTER TCHEHEH MEDIAL FORM
+FB7F ; [.1C9C.0020.0019.FB7F] # ARABIC LETTER TCHEHEH FINAL FORM
+FB7E ; [.1C9C.0020.001A.FB7E] # ARABIC LETTER TCHEHEH ISOLATED FORM
+08A2 ; [.1C9D.0020.0002.08A2] # ARABIC LETTER JEEM WITH TWO DOTS ABOVE
+062D ; [.1C9E.0020.0002.062D] # ARABIC LETTER HAH
+1EE07 ; [.1C9E.0020.0005.1EE07] # ARABIC MATHEMATICAL HAH
+1EE27 ; [.1C9E.0020.0005.1EE27] # ARABIC MATHEMATICAL INITIAL HAH
+1EE47 ; [.1C9E.0020.0005.1EE47] # ARABIC MATHEMATICAL TAILED HAH
+1EE67 ; [.1C9E.0020.0005.1EE67] # ARABIC MATHEMATICAL STRETCHED HAH
+1EE87 ; [.1C9E.0020.0005.1EE87] # ARABIC MATHEMATICAL LOOPED HAH
+1EEA7 ; [.1C9E.0020.0005.1EEA7] # ARABIC MATHEMATICAL DOUBLE-STRUCK HAH
+FEA3 ; [.1C9E.0020.0017.FEA3] # ARABIC LETTER HAH INITIAL FORM
+FEA4 ; [.1C9E.0020.0018.FEA4] # ARABIC LETTER HAH MEDIAL FORM
+FEA2 ; [.1C9E.0020.0019.FEA2] # ARABIC LETTER HAH FINAL FORM
+FEA1 ; [.1C9E.0020.001A.FEA1] # ARABIC LETTER HAH ISOLATED FORM
+FCA9 ; [.1C9E.0020.0017.FCA9][.1C97.0020.0017.FCA9] # ARABIC LIGATURE HAH WITH JEEM INITIAL FORM
+FC17 ; [.1C9E.0020.001A.FC17][.1C97.0020.001A.FC17] # ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM
+FDBF ; [.1C9E.0020.0019.FDBF][.1C97.0020.0019.FDBF][.1D2D.0020.001F.FDBF] # ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM
+FCAA ; [.1C9E.0020.0017.FCAA][.1D0C.0020.0017.FCAA] # ARABIC LIGATURE HAH WITH MEEM INITIAL FORM
+FC18 ; [.1C9E.0020.001A.FC18][.1D0C.0020.001A.FC18] # ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM
+FD5B ; [.1C9E.0020.0019.FD5B][.1D0C.0020.0019.FD5B][.1D2C.0020.001F.FD5B] # ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FD5A ; [.1C9E.0020.0019.FD5A][.1D0C.0020.0019.FD5A][.1D2D.0020.001F.FD5A] # ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM
+FD1B ; [.1C9E.0020.0019.FD1B][.1D2C.0020.0019.FD1B] # ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM
+FCFF ; [.1C9E.0020.001A.FCFF][.1D2C.0020.001A.FCFF] # ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM
+FD1C ; [.1C9E.0020.0019.FD1C][.1D2D.0020.0019.FD1C] # ARABIC LIGATURE HAH WITH YEH FINAL FORM
+FD00 ; [.1C9E.0020.001A.FD00][.1D2D.0020.001A.FD00] # ARABIC LIGATURE HAH WITH YEH ISOLATED FORM
+062E ; [.1C9F.0020.0002.062E] # ARABIC LETTER KHAH
+1EE17 ; [.1C9F.0020.0005.1EE17] # ARABIC MATHEMATICAL KHAH
+1EE37 ; [.1C9F.0020.0005.1EE37] # ARABIC MATHEMATICAL INITIAL KHAH
+1EE57 ; [.1C9F.0020.0005.1EE57] # ARABIC MATHEMATICAL TAILED KHAH
+1EE77 ; [.1C9F.0020.0005.1EE77] # ARABIC MATHEMATICAL STRETCHED KHAH
+1EE97 ; [.1C9F.0020.0005.1EE97] # ARABIC MATHEMATICAL LOOPED KHAH
+1EEB7 ; [.1C9F.0020.0005.1EEB7] # ARABIC MATHEMATICAL DOUBLE-STRUCK KHAH
+FEA7 ; [.1C9F.0020.0017.FEA7] # ARABIC LETTER KHAH INITIAL FORM
+FEA8 ; [.1C9F.0020.0018.FEA8] # ARABIC LETTER KHAH MEDIAL FORM
+FEA6 ; [.1C9F.0020.0019.FEA6] # ARABIC LETTER KHAH FINAL FORM
+FEA5 ; [.1C9F.0020.001A.FEA5] # ARABIC LETTER KHAH ISOLATED FORM
+FCAB ; [.1C9F.0020.0017.FCAB][.1C97.0020.0017.FCAB] # ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM
+FC19 ; [.1C9F.0020.001A.FC19][.1C97.0020.001A.FC19] # ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM
+FC1A ; [.1C9F.0020.001A.FC1A][.1C9E.0020.001A.FC1A] # ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM
+FCAC ; [.1C9F.0020.0017.FCAC][.1D0C.0020.0017.FCAC] # ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM
+FC1B ; [.1C9F.0020.001A.FC1B][.1D0C.0020.001A.FC1B] # ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM
+FD1F ; [.1C9F.0020.0019.FD1F][.1D2C.0020.0019.FD1F] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM
+FD03 ; [.1C9F.0020.001A.FD03][.1D2C.0020.001A.FD03] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM
+FD20 ; [.1C9F.0020.0019.FD20][.1D2D.0020.0019.FD20] # ARABIC LIGATURE KHAH WITH YEH FINAL FORM
+FD04 ; [.1C9F.0020.001A.FD04][.1D2D.0020.001A.FD04] # ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM
+0681 ; [.1CA0.0020.0002.0681] # ARABIC LETTER HAH WITH HAMZA ABOVE
+0682 ; [.1CA1.0020.0002.0682] # ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
+0685 ; [.1CA2.0020.0002.0685] # ARABIC LETTER HAH WITH THREE DOTS ABOVE
+0757 ; [.1CA3.0020.0002.0757] # ARABIC LETTER HAH WITH TWO DOTS ABOVE
+0758 ; [.1CA4.0020.0002.0758] # ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
+076E ; [.1CA5.0020.0002.076E] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW
+076F ; [.1CA6.0020.0002.076F] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
+0772 ; [.1CA7.0020.0002.0772] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE
+077C ; [.1CA8.0020.0002.077C] # ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
+062F ; [.1CA9.0020.0002.062F] # ARABIC LETTER DAL
+1EE03 ; [.1CA9.0020.0005.1EE03] # ARABIC MATHEMATICAL DAL
+1EE83 ; [.1CA9.0020.0005.1EE83] # ARABIC MATHEMATICAL LOOPED DAL
+1EEA3 ; [.1CA9.0020.0005.1EEA3] # ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+FEAA ; [.1CA9.0020.0019.FEAA] # ARABIC LETTER DAL FINAL FORM
+FEA9 ; [.1CA9.0020.001A.FEA9] # ARABIC LETTER DAL ISOLATED FORM
+0630 ; [.1CAA.0020.0002.0630] # ARABIC LETTER THAL
+1EE18 ; [.1CAA.0020.0005.1EE18] # ARABIC MATHEMATICAL THAL
+1EE98 ; [.1CAA.0020.0005.1EE98] # ARABIC MATHEMATICAL LOOPED THAL
+1EEB8 ; [.1CAA.0020.0005.1EEB8] # ARABIC MATHEMATICAL DOUBLE-STRUCK THAL
+FEAC ; [.1CAA.0020.0019.FEAC] # ARABIC LETTER THAL FINAL FORM
+FEAB ; [.1CAA.0020.001A.FEAB] # ARABIC LETTER THAL ISOLATED FORM
+FC5B ; [.1CAA.0020.001A.FC5B][.0000.00D1.001A.FC5B] # ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM
+0688 ; [.1CAB.0020.0002.0688] # ARABIC LETTER DDAL
+FB89 ; [.1CAB.0020.0019.FB89] # ARABIC LETTER DDAL FINAL FORM
+FB88 ; [.1CAB.0020.001A.FB88] # ARABIC LETTER DDAL ISOLATED FORM
+0689 ; [.1CAC.0020.0002.0689] # ARABIC LETTER DAL WITH RING
+068A ; [.1CAD.0020.0002.068A] # ARABIC LETTER DAL WITH DOT BELOW
+068B ; [.1CAE.0020.0002.068B] # ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH
+068C ; [.1CAF.0020.0002.068C] # ARABIC LETTER DAHAL
+FB85 ; [.1CAF.0020.0019.FB85] # ARABIC LETTER DAHAL FINAL FORM
+FB84 ; [.1CAF.0020.001A.FB84] # ARABIC LETTER DAHAL ISOLATED FORM
+068D ; [.1CB0.0020.0002.068D] # ARABIC LETTER DDAHAL
+FB83 ; [.1CB0.0020.0019.FB83] # ARABIC LETTER DDAHAL FINAL FORM
+FB82 ; [.1CB0.0020.001A.FB82] # ARABIC LETTER DDAHAL ISOLATED FORM
+068E ; [.1CB1.0020.0002.068E] # ARABIC LETTER DUL
+FB87 ; [.1CB1.0020.0019.FB87] # ARABIC LETTER DUL FINAL FORM
+FB86 ; [.1CB1.0020.001A.FB86] # ARABIC LETTER DUL ISOLATED FORM
+068F ; [.1CB2.0020.0002.068F] # ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
+0690 ; [.1CB3.0020.0002.0690] # ARABIC LETTER DAL WITH FOUR DOTS ABOVE
+06EE ; [.1CB4.0020.0002.06EE] # ARABIC LETTER DAL WITH INVERTED V
+0759 ; [.1CB5.0020.0002.0759] # ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
+075A ; [.1CB6.0020.0002.075A] # ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
+0631 ; [.1CB7.0020.0002.0631] # ARABIC LETTER REH
+1EE13 ; [.1CB7.0020.0005.1EE13] # ARABIC MATHEMATICAL REH
+1EE93 ; [.1CB7.0020.0005.1EE93] # ARABIC MATHEMATICAL LOOPED REH
+1EEB3 ; [.1CB7.0020.0005.1EEB3] # ARABIC MATHEMATICAL DOUBLE-STRUCK REH
+FEAE ; [.1CB7.0020.0019.FEAE] # ARABIC LETTER REH FINAL FORM
+FEAD ; [.1CB7.0020.001A.FEAD] # ARABIC LETTER REH ISOLATED FORM
+FC5C ; [.1CB7.0020.001A.FC5C][.0000.00D1.001A.FC5C] # ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM
+FDF6 ; [.1CB7.0020.001A.FDF6][.1CC8.0020.001A.FDF6][.1D1F.0020.001F.FDF6][.1D05.0020.001F.FDF6] # ARABIC LIGATURE RASOUL ISOLATED FORM
+FDFC ; [.1CB7.0020.001A.FDFC][.1D2E.0020.001A.FDFC][.1C81.0020.001F.FDFC][.1D05.0020.001F.FDFC] # RIAL SIGN
+0632 ; [.1CB8.0020.0002.0632] # ARABIC LETTER ZAIN
+1EE06 ; [.1CB8.0020.0005.1EE06] # ARABIC MATHEMATICAL ZAIN
+1EE86 ; [.1CB8.0020.0005.1EE86] # ARABIC MATHEMATICAL LOOPED ZAIN
+1EEA6 ; [.1CB8.0020.0005.1EEA6] # ARABIC MATHEMATICAL DOUBLE-STRUCK ZAIN
+FEB0 ; [.1CB8.0020.0019.FEB0] # ARABIC LETTER ZAIN FINAL FORM
+FEAF ; [.1CB8.0020.001A.FEAF] # ARABIC LETTER ZAIN ISOLATED FORM
+0691 ; [.1CB9.0020.0002.0691] # ARABIC LETTER RREH
+FB8D ; [.1CB9.0020.0019.FB8D] # ARABIC LETTER RREH FINAL FORM
+FB8C ; [.1CB9.0020.001A.FB8C] # ARABIC LETTER RREH ISOLATED FORM
+0692 ; [.1CBA.0020.0002.0692] # ARABIC LETTER REH WITH SMALL V
+0693 ; [.1CBB.0020.0002.0693] # ARABIC LETTER REH WITH RING
+0694 ; [.1CBC.0020.0002.0694] # ARABIC LETTER REH WITH DOT BELOW
+0695 ; [.1CBD.0020.0002.0695] # ARABIC LETTER REH WITH SMALL V BELOW
+0696 ; [.1CBE.0020.0002.0696] # ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
+0697 ; [.1CBF.0020.0002.0697] # ARABIC LETTER REH WITH TWO DOTS ABOVE
+0698 ; [.1CC0.0020.0002.0698] # ARABIC LETTER JEH
+FB8B ; [.1CC0.0020.0019.FB8B] # ARABIC LETTER JEH FINAL FORM
+FB8A ; [.1CC0.0020.001A.FB8A] # ARABIC LETTER JEH ISOLATED FORM
+0699 ; [.1CC1.0020.0002.0699] # ARABIC LETTER REH WITH FOUR DOTS ABOVE
+06EF ; [.1CC2.0020.0002.06EF] # ARABIC LETTER REH WITH INVERTED V
+075B ; [.1CC3.0020.0002.075B] # ARABIC LETTER REH WITH STROKE
+076B ; [.1CC4.0020.0002.076B] # ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
+076C ; [.1CC5.0020.0002.076C] # ARABIC LETTER REH WITH HAMZA ABOVE
+0771 ; [.1CC6.0020.0002.0771] # ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
+08AA ; [.1CC7.0020.0002.08AA] # ARABIC LETTER REH WITH LOOP
+0633 ; [.1CC8.0020.0002.0633] # ARABIC LETTER SEEN
+1EE0E ; [.1CC8.0020.0005.1EE0E] # ARABIC MATHEMATICAL SEEN
+1EE2E ; [.1CC8.0020.0005.1EE2E] # ARABIC MATHEMATICAL INITIAL SEEN
+1EE4E ; [.1CC8.0020.0005.1EE4E] # ARABIC MATHEMATICAL TAILED SEEN
+1EE6E ; [.1CC8.0020.0005.1EE6E] # ARABIC MATHEMATICAL STRETCHED SEEN
+1EE8E ; [.1CC8.0020.0005.1EE8E] # ARABIC MATHEMATICAL LOOPED SEEN
+1EEAE ; [.1CC8.0020.0005.1EEAE] # ARABIC MATHEMATICAL DOUBLE-STRUCK SEEN
+FEB3 ; [.1CC8.0020.0017.FEB3] # ARABIC LETTER SEEN INITIAL FORM
+FEB4 ; [.1CC8.0020.0018.FEB4] # ARABIC LETTER SEEN MEDIAL FORM
+FEB2 ; [.1CC8.0020.0019.FEB2] # ARABIC LETTER SEEN FINAL FORM
+FEB1 ; [.1CC8.0020.001A.FEB1] # ARABIC LETTER SEEN ISOLATED FORM
+FCAD ; [.1CC8.0020.0017.FCAD][.1C97.0020.0017.FCAD] # ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM
+FD34 ; [.1CC8.0020.0018.FD34][.1C97.0020.0018.FD34] # ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM
+FC1C ; [.1CC8.0020.001A.FC1C][.1C97.0020.001A.FC1C] # ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM
+FD5D ; [.1CC8.0020.0017.FD5D][.1C97.0020.0017.FD5D][.1C9E.0020.001F.FD5D] # ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM
+FD5E ; [.1CC8.0020.0019.FD5E][.1C97.0020.0019.FD5E][.1D2C.0020.001F.FD5E] # ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM
+FCAE ; [.1CC8.0020.0017.FCAE][.1C9E.0020.0017.FCAE] # ARABIC LIGATURE SEEN WITH HAH INITIAL FORM
+FD35 ; [.1CC8.0020.0018.FD35][.1C9E.0020.0018.FD35] # ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM
+FC1D ; [.1CC8.0020.001A.FC1D][.1C9E.0020.001A.FC1D] # ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM
+FD5C ; [.1CC8.0020.0017.FD5C][.1C9E.0020.0017.FD5C][.1C97.0020.001F.FD5C] # ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM
+FCAF ; [.1CC8.0020.0017.FCAF][.1C9F.0020.0017.FCAF] # ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM
+FD36 ; [.1CC8.0020.0018.FD36][.1C9F.0020.0018.FD36] # ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM
+FC1E ; [.1CC8.0020.001A.FC1E][.1C9F.0020.001A.FC1E] # ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM
+FDA8 ; [.1CC8.0020.0019.FDA8][.1C9F.0020.0019.FDA8][.1D2C.0020.001F.FDA8] # ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM
+FDC6 ; [.1CC8.0020.0019.FDC6][.1C9F.0020.0019.FDC6][.1D2D.0020.001F.FDC6] # ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM
+FD2A ; [.1CC8.0020.0019.FD2A][.1CB7.0020.0019.FD2A] # ARABIC LIGATURE SEEN WITH REH FINAL FORM
+FD0E ; [.1CC8.0020.001A.FD0E][.1CB7.0020.001A.FD0E] # ARABIC LIGATURE SEEN WITH REH ISOLATED FORM
+FCB0 ; [.1CC8.0020.0017.FCB0][.1D0C.0020.0017.FCB0] # ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM
+FCE7 ; [.1CC8.0020.0018.FCE7][.1D0C.0020.0018.FCE7] # ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM
+FC1F ; [.1CC8.0020.001A.FC1F][.1D0C.0020.001A.FC1F] # ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM
+FD61 ; [.1CC8.0020.0017.FD61][.1D0C.0020.0017.FD61][.1C97.0020.001F.FD61] # ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM
+FD60 ; [.1CC8.0020.0017.FD60][.1D0C.0020.0017.FD60][.1C9E.0020.001F.FD60] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM
+FD5F ; [.1CC8.0020.0019.FD5F][.1D0C.0020.0019.FD5F][.1C9E.0020.001F.FD5F] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM
+FD63 ; [.1CC8.0020.0017.FD63][.1D0C.0020.0017.FD63][.1D0C.0020.001F.FD63] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM
+FD62 ; [.1CC8.0020.0019.FD62][.1D0C.0020.0019.FD62][.1D0C.0020.001F.FD62] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM
+FD31 ; [.1CC8.0020.0017.FD31][.1D19.0020.0017.FD31] # ARABIC LIGATURE SEEN WITH HEH INITIAL FORM
+FCE8 ; [.1CC8.0020.0018.FCE8][.1D19.0020.0018.FCE8] # ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM
+FD17 ; [.1CC8.0020.0019.FD17][.1D2C.0020.0019.FD17] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM
+FCFB ; [.1CC8.0020.001A.FCFB][.1D2C.0020.001A.FCFB] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM
+FD18 ; [.1CC8.0020.0019.FD18][.1D2D.0020.0019.FD18] # ARABIC LIGATURE SEEN WITH YEH FINAL FORM
+FCFC ; [.1CC8.0020.001A.FCFC][.1D2D.0020.001A.FCFC] # ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM
+0634 ; [.1CC9.0020.0002.0634] # ARABIC LETTER SHEEN
+1EE14 ; [.1CC9.0020.0005.1EE14] # ARABIC MATHEMATICAL SHEEN
+1EE34 ; [.1CC9.0020.0005.1EE34] # ARABIC MATHEMATICAL INITIAL SHEEN
+1EE54 ; [.1CC9.0020.0005.1EE54] # ARABIC MATHEMATICAL TAILED SHEEN
+1EE74 ; [.1CC9.0020.0005.1EE74] # ARABIC MATHEMATICAL STRETCHED SHEEN
+1EE94 ; [.1CC9.0020.0005.1EE94] # ARABIC MATHEMATICAL LOOPED SHEEN
+1EEB4 ; [.1CC9.0020.0005.1EEB4] # ARABIC MATHEMATICAL DOUBLE-STRUCK SHEEN
+FEB7 ; [.1CC9.0020.0017.FEB7] # ARABIC LETTER SHEEN INITIAL FORM
+FEB8 ; [.1CC9.0020.0018.FEB8] # ARABIC LETTER SHEEN MEDIAL FORM
+FEB6 ; [.1CC9.0020.0019.FEB6] # ARABIC LETTER SHEEN FINAL FORM
+FEB5 ; [.1CC9.0020.001A.FEB5] # ARABIC LETTER SHEEN ISOLATED FORM
+FD2D ; [.1CC9.0020.0017.FD2D][.1C97.0020.0017.FD2D] # ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM
+FD37 ; [.1CC9.0020.0018.FD37][.1C97.0020.0018.FD37] # ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM
+FD25 ; [.1CC9.0020.0019.FD25][.1C97.0020.0019.FD25] # ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM
+FD09 ; [.1CC9.0020.001A.FD09][.1C97.0020.001A.FD09] # ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM
+FD69 ; [.1CC9.0020.0019.FD69][.1C97.0020.0019.FD69][.1D2D.0020.001F.FD69] # ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM
+FD2E ; [.1CC9.0020.0017.FD2E][.1C9E.0020.0017.FD2E] # ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM
+FD38 ; [.1CC9.0020.0018.FD38][.1C9E.0020.0018.FD38] # ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM
+FD26 ; [.1CC9.0020.0019.FD26][.1C9E.0020.0019.FD26] # ARABIC LIGATURE SHEEN WITH HAH FINAL FORM
+FD0A ; [.1CC9.0020.001A.FD0A][.1C9E.0020.001A.FD0A] # ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM
+FD68 ; [.1CC9.0020.0017.FD68][.1C9E.0020.0017.FD68][.1D0C.0020.001F.FD68] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM
+FD67 ; [.1CC9.0020.0019.FD67][.1C9E.0020.0019.FD67][.1D0C.0020.001F.FD67] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM
+FDAA ; [.1CC9.0020.0019.FDAA][.1C9E.0020.0019.FDAA][.1D2D.0020.001F.FDAA] # ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM
+FD2F ; [.1CC9.0020.0017.FD2F][.1C9F.0020.0017.FD2F] # ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM
+FD39 ; [.1CC9.0020.0018.FD39][.1C9F.0020.0018.FD39] # ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM
+FD27 ; [.1CC9.0020.0019.FD27][.1C9F.0020.0019.FD27] # ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM
+FD0B ; [.1CC9.0020.001A.FD0B][.1C9F.0020.001A.FD0B] # ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM
+FD29 ; [.1CC9.0020.0019.FD29][.1CB7.0020.0019.FD29] # ARABIC LIGATURE SHEEN WITH REH FINAL FORM
+FD0D ; [.1CC9.0020.001A.FD0D][.1CB7.0020.001A.FD0D] # ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM
+FD30 ; [.1CC9.0020.0017.FD30][.1D0C.0020.0017.FD30] # ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM
+FCE9 ; [.1CC9.0020.0018.FCE9][.1D0C.0020.0018.FCE9] # ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM
+FD28 ; [.1CC9.0020.0019.FD28][.1D0C.0020.0019.FD28] # ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM
+FD0C ; [.1CC9.0020.001A.FD0C][.1D0C.0020.001A.FD0C] # ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM
+FD6B ; [.1CC9.0020.0017.FD6B][.1D0C.0020.0017.FD6B][.1C9F.0020.001F.FD6B] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM
+FD6A ; [.1CC9.0020.0019.FD6A][.1D0C.0020.0019.FD6A][.1C9F.0020.001F.FD6A] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM
+FD6D ; [.1CC9.0020.0017.FD6D][.1D0C.0020.0017.FD6D][.1D0C.0020.001F.FD6D] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM
+FD6C ; [.1CC9.0020.0019.FD6C][.1D0C.0020.0019.FD6C][.1D0C.0020.001F.FD6C] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM
+FD32 ; [.1CC9.0020.0017.FD32][.1D19.0020.0017.FD32] # ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM
+FCEA ; [.1CC9.0020.0018.FCEA][.1D19.0020.0018.FCEA] # ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM
+FD19 ; [.1CC9.0020.0019.FD19][.1D2C.0020.0019.FD19] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM
+FCFD ; [.1CC9.0020.001A.FCFD][.1D2C.0020.001A.FCFD] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM
+FD1A ; [.1CC9.0020.0019.FD1A][.1D2D.0020.0019.FD1A] # ARABIC LIGATURE SHEEN WITH YEH FINAL FORM
+FCFE ; [.1CC9.0020.001A.FCFE][.1D2D.0020.001A.FCFE] # ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM
+069A ; [.1CCA.0020.0002.069A] # ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
+069B ; [.1CCB.0020.0002.069B] # ARABIC LETTER SEEN WITH THREE DOTS BELOW
+069C ; [.1CCC.0020.0002.069C] # ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
+06FA ; [.1CCD.0020.0002.06FA] # ARABIC LETTER SHEEN WITH DOT BELOW
+075C ; [.1CCE.0020.0002.075C] # ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
+076D ; [.1CCF.0020.0002.076D] # ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
+0770 ; [.1CD0.0020.0002.0770] # ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS
+077D ; [.1CD1.0020.0002.077D] # ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE
+077E ; [.1CD2.0020.0002.077E] # ARABIC LETTER SEEN WITH INVERTED V
+0635 ; [.1CD3.0020.0002.0635] # ARABIC LETTER SAD
+1EE11 ; [.1CD3.0020.0005.1EE11] # ARABIC MATHEMATICAL SAD
+1EE31 ; [.1CD3.0020.0005.1EE31] # ARABIC MATHEMATICAL INITIAL SAD
+1EE51 ; [.1CD3.0020.0005.1EE51] # ARABIC MATHEMATICAL TAILED SAD
+1EE71 ; [.1CD3.0020.0005.1EE71] # ARABIC MATHEMATICAL STRETCHED SAD
+1EE91 ; [.1CD3.0020.0005.1EE91] # ARABIC MATHEMATICAL LOOPED SAD
+1EEB1 ; [.1CD3.0020.0005.1EEB1] # ARABIC MATHEMATICAL DOUBLE-STRUCK SAD
+FEBB ; [.1CD3.0020.0017.FEBB] # ARABIC LETTER SAD INITIAL FORM
+FEBC ; [.1CD3.0020.0018.FEBC] # ARABIC LETTER SAD MEDIAL FORM
+FEBA ; [.1CD3.0020.0019.FEBA] # ARABIC LETTER SAD FINAL FORM
+FEB9 ; [.1CD3.0020.001A.FEB9] # ARABIC LETTER SAD ISOLATED FORM
+FCB1 ; [.1CD3.0020.0017.FCB1][.1C9E.0020.0017.FCB1] # ARABIC LIGATURE SAD WITH HAH INITIAL FORM
+FC20 ; [.1CD3.0020.001A.FC20][.1C9E.0020.001A.FC20] # ARABIC LIGATURE SAD WITH HAH ISOLATED FORM
+FD65 ; [.1CD3.0020.0017.FD65][.1C9E.0020.0017.FD65][.1C9E.0020.001F.FD65] # ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM
+FD64 ; [.1CD3.0020.0019.FD64][.1C9E.0020.0019.FD64][.1C9E.0020.001F.FD64] # ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM
+FDA9 ; [.1CD3.0020.0019.FDA9][.1C9E.0020.0019.FDA9][.1D2D.0020.001F.FDA9] # ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM
+FCB2 ; [.1CD3.0020.0017.FCB2][.1C9F.0020.0017.FCB2] # ARABIC LIGATURE SAD WITH KHAH INITIAL FORM
+FD2B ; [.1CD3.0020.0019.FD2B][.1CB7.0020.0019.FD2B] # ARABIC LIGATURE SAD WITH REH FINAL FORM
+FD0F ; [.1CD3.0020.001A.FD0F][.1CB7.0020.001A.FD0F] # ARABIC LIGATURE SAD WITH REH ISOLATED FORM
+FDF5 ; [.1CD3.0020.001A.FDF5][.1D05.0020.001A.FDF5][.1CDC.0020.001F.FDF5][.1D0C.0020.001F.FDF5] # ARABIC LIGATURE SALAM ISOLATED FORM
+FDF9 ; [.1CD3.0020.001A.FDF9][.1D05.0020.001A.FDF9][.1D2C.0020.001F.FDF9] # ARABIC LIGATURE SALLA ISOLATED FORM
+FDFA ; [.1CD3.0020.001A.FDFA][.1D05.0020.001A.FDFA][.1D2C.0020.001F.FDFA][*020A.0020.001F.FDFA][.1C81.0020.001F.FDFA][.1D05.0020.001F.FDFA][.1D05.0020.001F.FDFA][.1D19.0020.001F.FDFA][*020A.0020.001F.FDFA][.1CDC.0020.001F.FDFA][.1D05.0020.001F.FDFA][.1D2D.0020.001F.FDFA][.1D19.0020.001F.FDFA][*020A.0020.001F.FDFA][.1D1F.0020.001F.FDFA][.1CC8.0020.001F.FDFA][.1D05.0020.001F.FDFA][.1D0C.0020.001F.FDFA] # ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM
+FDF0 ; [.1CD3.0020.001A.FDF0][.1D05.0020.001A.FDF0][.1D3A.0020.001F.FDF0] # ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM
+FCB3 ; [.1CD3.0020.0017.FCB3][.1D0C.0020.0017.FCB3] # ARABIC LIGATURE SAD WITH MEEM INITIAL FORM
+FC21 ; [.1CD3.0020.001A.FC21][.1D0C.0020.001A.FC21] # ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM
+FDC5 ; [.1CD3.0020.0017.FDC5][.1D0C.0020.0017.FDC5][.1D0C.0020.001F.FDC5] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM
+FD66 ; [.1CD3.0020.0019.FD66][.1D0C.0020.0019.FD66][.1D0C.0020.001F.FD66] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM
+FD21 ; [.1CD3.0020.0019.FD21][.1D2C.0020.0019.FD21] # ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM
+FD05 ; [.1CD3.0020.001A.FD05][.1D2C.0020.001A.FD05] # ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM
+FD22 ; [.1CD3.0020.0019.FD22][.1D2D.0020.0019.FD22] # ARABIC LIGATURE SAD WITH YEH FINAL FORM
+FD06 ; [.1CD3.0020.001A.FD06][.1D2D.0020.001A.FD06] # ARABIC LIGATURE SAD WITH YEH ISOLATED FORM
+0636 ; [.1CD4.0020.0002.0636] # ARABIC LETTER DAD
+1EE19 ; [.1CD4.0020.0005.1EE19] # ARABIC MATHEMATICAL DAD
+1EE39 ; [.1CD4.0020.0005.1EE39] # ARABIC MATHEMATICAL INITIAL DAD
+1EE59 ; [.1CD4.0020.0005.1EE59] # ARABIC MATHEMATICAL TAILED DAD
+1EE79 ; [.1CD4.0020.0005.1EE79] # ARABIC MATHEMATICAL STRETCHED DAD
+1EE99 ; [.1CD4.0020.0005.1EE99] # ARABIC MATHEMATICAL LOOPED DAD
+1EEB9 ; [.1CD4.0020.0005.1EEB9] # ARABIC MATHEMATICAL DOUBLE-STRUCK DAD
+FEBF ; [.1CD4.0020.0017.FEBF] # ARABIC LETTER DAD INITIAL FORM
+FEC0 ; [.1CD4.0020.0018.FEC0] # ARABIC LETTER DAD MEDIAL FORM
+FEBE ; [.1CD4.0020.0019.FEBE] # ARABIC LETTER DAD FINAL FORM
+FEBD ; [.1CD4.0020.001A.FEBD] # ARABIC LETTER DAD ISOLATED FORM
+FCB4 ; [.1CD4.0020.0017.FCB4][.1C97.0020.0017.FCB4] # ARABIC LIGATURE DAD WITH JEEM INITIAL FORM
+FC22 ; [.1CD4.0020.001A.FC22][.1C97.0020.001A.FC22] # ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM
+FCB5 ; [.1CD4.0020.0017.FCB5][.1C9E.0020.0017.FCB5] # ARABIC LIGATURE DAD WITH HAH INITIAL FORM
+FC23 ; [.1CD4.0020.001A.FC23][.1C9E.0020.001A.FC23] # ARABIC LIGATURE DAD WITH HAH ISOLATED FORM
+FD6E ; [.1CD4.0020.0019.FD6E][.1C9E.0020.0019.FD6E][.1D2C.0020.001F.FD6E] # ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM
+FDAB ; [.1CD4.0020.0019.FDAB][.1C9E.0020.0019.FDAB][.1D2D.0020.001F.FDAB] # ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM
+FCB6 ; [.1CD4.0020.0017.FCB6][.1C9F.0020.0017.FCB6] # ARABIC LIGATURE DAD WITH KHAH INITIAL FORM
+FC24 ; [.1CD4.0020.001A.FC24][.1C9F.0020.001A.FC24] # ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM
+FD70 ; [.1CD4.0020.0017.FD70][.1C9F.0020.0017.FD70][.1D0C.0020.001F.FD70] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM
+FD6F ; [.1CD4.0020.0019.FD6F][.1C9F.0020.0019.FD6F][.1D0C.0020.001F.FD6F] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM
+FD2C ; [.1CD4.0020.0019.FD2C][.1CB7.0020.0019.FD2C] # ARABIC LIGATURE DAD WITH REH FINAL FORM
+FD10 ; [.1CD4.0020.001A.FD10][.1CB7.0020.001A.FD10] # ARABIC LIGATURE DAD WITH REH ISOLATED FORM
+FCB7 ; [.1CD4.0020.0017.FCB7][.1D0C.0020.0017.FCB7] # ARABIC LIGATURE DAD WITH MEEM INITIAL FORM
+FC25 ; [.1CD4.0020.001A.FC25][.1D0C.0020.001A.FC25] # ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM
+FD23 ; [.1CD4.0020.0019.FD23][.1D2C.0020.0019.FD23] # ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM
+FD07 ; [.1CD4.0020.001A.FD07][.1D2C.0020.001A.FD07] # ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM
+FD24 ; [.1CD4.0020.0019.FD24][.1D2D.0020.0019.FD24] # ARABIC LIGATURE DAD WITH YEH FINAL FORM
+FD08 ; [.1CD4.0020.001A.FD08][.1D2D.0020.001A.FD08] # ARABIC LIGATURE DAD WITH YEH ISOLATED FORM
+069D ; [.1CD5.0020.0002.069D] # ARABIC LETTER SAD WITH TWO DOTS BELOW
+069E ; [.1CD6.0020.0002.069E] # ARABIC LETTER SAD WITH THREE DOTS ABOVE
+06FB ; [.1CD7.0020.0002.06FB] # ARABIC LETTER DAD WITH DOT BELOW
+0637 ; [.1CD8.0020.0002.0637] # ARABIC LETTER TAH
+1EE08 ; [.1CD8.0020.0005.1EE08] # ARABIC MATHEMATICAL TAH
+1EE68 ; [.1CD8.0020.0005.1EE68] # ARABIC MATHEMATICAL STRETCHED TAH
+1EE88 ; [.1CD8.0020.0005.1EE88] # ARABIC MATHEMATICAL LOOPED TAH
+1EEA8 ; [.1CD8.0020.0005.1EEA8] # ARABIC MATHEMATICAL DOUBLE-STRUCK TAH
+FEC3 ; [.1CD8.0020.0017.FEC3] # ARABIC LETTER TAH INITIAL FORM
+FEC4 ; [.1CD8.0020.0018.FEC4] # ARABIC LETTER TAH MEDIAL FORM
+FEC2 ; [.1CD8.0020.0019.FEC2] # ARABIC LETTER TAH FINAL FORM
+FEC1 ; [.1CD8.0020.001A.FEC1] # ARABIC LETTER TAH ISOLATED FORM
+FCB8 ; [.1CD8.0020.0017.FCB8][.1C9E.0020.0017.FCB8] # ARABIC LIGATURE TAH WITH HAH INITIAL FORM
+FC26 ; [.1CD8.0020.001A.FC26][.1C9E.0020.001A.FC26] # ARABIC LIGATURE TAH WITH HAH ISOLATED FORM
+FD33 ; [.1CD8.0020.0017.FD33][.1D0C.0020.0017.FD33] # ARABIC LIGATURE TAH WITH MEEM INITIAL FORM
+FD3A ; [.1CD8.0020.0018.FD3A][.1D0C.0020.0018.FD3A] # ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM
+FC27 ; [.1CD8.0020.001A.FC27][.1D0C.0020.001A.FC27] # ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM
+FD72 ; [.1CD8.0020.0017.FD72][.1D0C.0020.0017.FD72][.1C9E.0020.001F.FD72] # ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM
+FD71 ; [.1CD8.0020.0019.FD71][.1D0C.0020.0019.FD71][.1C9E.0020.001F.FD71] # ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM
+FD73 ; [.1CD8.0020.0017.FD73][.1D0C.0020.0017.FD73][.1D0C.0020.001F.FD73] # ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM
+FD74 ; [.1CD8.0020.0019.FD74][.1D0C.0020.0019.FD74][.1D2D.0020.001F.FD74] # ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM
+FD11 ; [.1CD8.0020.0019.FD11][.1D2C.0020.0019.FD11] # ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM
+FCF5 ; [.1CD8.0020.001A.FCF5][.1D2C.0020.001A.FCF5] # ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM
+FD12 ; [.1CD8.0020.0019.FD12][.1D2D.0020.0019.FD12] # ARABIC LIGATURE TAH WITH YEH FINAL FORM
+FCF6 ; [.1CD8.0020.001A.FCF6][.1D2D.0020.001A.FCF6] # ARABIC LIGATURE TAH WITH YEH ISOLATED FORM
+0638 ; [.1CD9.0020.0002.0638] # ARABIC LETTER ZAH
+1EE1A ; [.1CD9.0020.0005.1EE1A] # ARABIC MATHEMATICAL ZAH
+1EE7A ; [.1CD9.0020.0005.1EE7A] # ARABIC MATHEMATICAL STRETCHED ZAH
+1EE9A ; [.1CD9.0020.0005.1EE9A] # ARABIC MATHEMATICAL LOOPED ZAH
+1EEBA ; [.1CD9.0020.0005.1EEBA] # ARABIC MATHEMATICAL DOUBLE-STRUCK ZAH
+FEC7 ; [.1CD9.0020.0017.FEC7] # ARABIC LETTER ZAH INITIAL FORM
+FEC8 ; [.1CD9.0020.0018.FEC8] # ARABIC LETTER ZAH MEDIAL FORM
+FEC6 ; [.1CD9.0020.0019.FEC6] # ARABIC LETTER ZAH FINAL FORM
+FEC5 ; [.1CD9.0020.001A.FEC5] # ARABIC LETTER ZAH ISOLATED FORM
+FCB9 ; [.1CD9.0020.0017.FCB9][.1D0C.0020.0017.FCB9] # ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM
+FD3B ; [.1CD9.0020.0018.FD3B][.1D0C.0020.0018.FD3B] # ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM
+FC28 ; [.1CD9.0020.001A.FC28][.1D0C.0020.001A.FC28] # ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM
+069F ; [.1CDA.0020.0002.069F] # ARABIC LETTER TAH WITH THREE DOTS ABOVE
+08A3 ; [.1CDB.0020.0002.08A3] # ARABIC LETTER TAH WITH TWO DOTS ABOVE
+0639 ; [.1CDC.0020.0002.0639] # ARABIC LETTER AIN
+1EE0F ; [.1CDC.0020.0005.1EE0F] # ARABIC MATHEMATICAL AIN
+1EE2F ; [.1CDC.0020.0005.1EE2F] # ARABIC MATHEMATICAL INITIAL AIN
+1EE4F ; [.1CDC.0020.0005.1EE4F] # ARABIC MATHEMATICAL TAILED AIN
+1EE6F ; [.1CDC.0020.0005.1EE6F] # ARABIC MATHEMATICAL STRETCHED AIN
+1EE8F ; [.1CDC.0020.0005.1EE8F] # ARABIC MATHEMATICAL LOOPED AIN
+1EEAF ; [.1CDC.0020.0005.1EEAF] # ARABIC MATHEMATICAL DOUBLE-STRUCK AIN
+FECB ; [.1CDC.0020.0017.FECB] # ARABIC LETTER AIN INITIAL FORM
+FECC ; [.1CDC.0020.0018.FECC] # ARABIC LETTER AIN MEDIAL FORM
+FECA ; [.1CDC.0020.0019.FECA] # ARABIC LETTER AIN FINAL FORM
+FEC9 ; [.1CDC.0020.001A.FEC9] # ARABIC LETTER AIN ISOLATED FORM
+FCBA ; [.1CDC.0020.0017.FCBA][.1C97.0020.0017.FCBA] # ARABIC LIGATURE AIN WITH JEEM INITIAL FORM
+FC29 ; [.1CDC.0020.001A.FC29][.1C97.0020.001A.FC29] # ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM
+FDC4 ; [.1CDC.0020.0017.FDC4][.1C97.0020.0017.FDC4][.1D0C.0020.001F.FDC4] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM
+FD75 ; [.1CDC.0020.0019.FD75][.1C97.0020.0019.FD75][.1D0C.0020.001F.FD75] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM
+FDF7 ; [.1CDC.0020.001A.FDF7][.1D05.0020.001A.FDF7][.1D2D.0020.001F.FDF7][.1D19.0020.001F.FDF7] # ARABIC LIGATURE ALAYHE ISOLATED FORM
+FCBB ; [.1CDC.0020.0017.FCBB][.1D0C.0020.0017.FCBB] # ARABIC LIGATURE AIN WITH MEEM INITIAL FORM
+FC2A ; [.1CDC.0020.001A.FC2A][.1D0C.0020.001A.FC2A] # ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM
+FD77 ; [.1CDC.0020.0017.FD77][.1D0C.0020.0017.FD77][.1D0C.0020.001F.FD77] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM
+FD76 ; [.1CDC.0020.0019.FD76][.1D0C.0020.0019.FD76][.1D0C.0020.001F.FD76] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM
+FD78 ; [.1CDC.0020.0019.FD78][.1D0C.0020.0019.FD78][.1D2C.0020.001F.FD78] # ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FDB6 ; [.1CDC.0020.0019.FDB6][.1D0C.0020.0019.FDB6][.1D2D.0020.001F.FDB6] # ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM
+FD13 ; [.1CDC.0020.0019.FD13][.1D2C.0020.0019.FD13] # ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM
+FCF7 ; [.1CDC.0020.001A.FCF7][.1D2C.0020.001A.FCF7] # ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM
+FD14 ; [.1CDC.0020.0019.FD14][.1D2D.0020.0019.FD14] # ARABIC LIGATURE AIN WITH YEH FINAL FORM
+FCF8 ; [.1CDC.0020.001A.FCF8][.1D2D.0020.001A.FCF8] # ARABIC LIGATURE AIN WITH YEH ISOLATED FORM
+063A ; [.1CDD.0020.0002.063A] # ARABIC LETTER GHAIN
+1EE1B ; [.1CDD.0020.0005.1EE1B] # ARABIC MATHEMATICAL GHAIN
+1EE3B ; [.1CDD.0020.0005.1EE3B] # ARABIC MATHEMATICAL INITIAL GHAIN
+1EE5B ; [.1CDD.0020.0005.1EE5B] # ARABIC MATHEMATICAL TAILED GHAIN
+1EE7B ; [.1CDD.0020.0005.1EE7B] # ARABIC MATHEMATICAL STRETCHED GHAIN
+1EE9B ; [.1CDD.0020.0005.1EE9B] # ARABIC MATHEMATICAL LOOPED GHAIN
+1EEBB ; [.1CDD.0020.0005.1EEBB] # ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
+FECF ; [.1CDD.0020.0017.FECF] # ARABIC LETTER GHAIN INITIAL FORM
+FED0 ; [.1CDD.0020.0018.FED0] # ARABIC LETTER GHAIN MEDIAL FORM
+FECE ; [.1CDD.0020.0019.FECE] # ARABIC LETTER GHAIN FINAL FORM
+FECD ; [.1CDD.0020.001A.FECD] # ARABIC LETTER GHAIN ISOLATED FORM
+FCBC ; [.1CDD.0020.0017.FCBC][.1C97.0020.0017.FCBC] # ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM
+FC2B ; [.1CDD.0020.001A.FC2B][.1C97.0020.001A.FC2B] # ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM
+FCBD ; [.1CDD.0020.0017.FCBD][.1D0C.0020.0017.FCBD] # ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM
+FC2C ; [.1CDD.0020.001A.FC2C][.1D0C.0020.001A.FC2C] # ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM
+FD79 ; [.1CDD.0020.0019.FD79][.1D0C.0020.0019.FD79][.1D0C.0020.001F.FD79] # ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM
+FD7B ; [.1CDD.0020.0019.FD7B][.1D0C.0020.0019.FD7B][.1D2C.0020.001F.FD7B] # ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FD7A ; [.1CDD.0020.0019.FD7A][.1D0C.0020.0019.FD7A][.1D2D.0020.001F.FD7A] # ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM
+FD15 ; [.1CDD.0020.0019.FD15][.1D2C.0020.0019.FD15] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM
+FCF9 ; [.1CDD.0020.001A.FCF9][.1D2C.0020.001A.FCF9] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM
+FD16 ; [.1CDD.0020.0019.FD16][.1D2D.0020.0019.FD16] # ARABIC LIGATURE GHAIN WITH YEH FINAL FORM
+FCFA ; [.1CDD.0020.001A.FCFA][.1D2D.0020.001A.FCFA] # ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM
+06A0 ; [.1CDE.0020.0002.06A0] # ARABIC LETTER AIN WITH THREE DOTS ABOVE
+06FC ; [.1CDF.0020.0002.06FC] # ARABIC LETTER GHAIN WITH DOT BELOW
+075D ; [.1CE0.0020.0002.075D] # ARABIC LETTER AIN WITH TWO DOTS ABOVE
+075E ; [.1CE1.0020.0002.075E] # ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
+075F ; [.1CE2.0020.0002.075F] # ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
+0641 ; [.1CE3.0020.0002.0641] # ARABIC LETTER FEH
+1EE10 ; [.1CE3.0020.0005.1EE10] # ARABIC MATHEMATICAL FEH
+1EE30 ; [.1CE3.0020.0005.1EE30] # ARABIC MATHEMATICAL INITIAL FEH
+1EE70 ; [.1CE3.0020.0005.1EE70] # ARABIC MATHEMATICAL STRETCHED FEH
+1EE90 ; [.1CE3.0020.0005.1EE90] # ARABIC MATHEMATICAL LOOPED FEH
+1EEB0 ; [.1CE3.0020.0005.1EEB0] # ARABIC MATHEMATICAL DOUBLE-STRUCK FEH
+FED3 ; [.1CE3.0020.0017.FED3] # ARABIC LETTER FEH INITIAL FORM
+FED4 ; [.1CE3.0020.0018.FED4] # ARABIC LETTER FEH MEDIAL FORM
+FED2 ; [.1CE3.0020.0019.FED2] # ARABIC LETTER FEH FINAL FORM
+FED1 ; [.1CE3.0020.001A.FED1] # ARABIC LETTER FEH ISOLATED FORM
+FCBE ; [.1CE3.0020.0017.FCBE][.1C97.0020.0017.FCBE] # ARABIC LIGATURE FEH WITH JEEM INITIAL FORM
+FC2D ; [.1CE3.0020.001A.FC2D][.1C97.0020.001A.FC2D] # ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM
+FCBF ; [.1CE3.0020.0017.FCBF][.1C9E.0020.0017.FCBF] # ARABIC LIGATURE FEH WITH HAH INITIAL FORM
+FC2E ; [.1CE3.0020.001A.FC2E][.1C9E.0020.001A.FC2E] # ARABIC LIGATURE FEH WITH HAH ISOLATED FORM
+FCC0 ; [.1CE3.0020.0017.FCC0][.1C9F.0020.0017.FCC0] # ARABIC LIGATURE FEH WITH KHAH INITIAL FORM
+FC2F ; [.1CE3.0020.001A.FC2F][.1C9F.0020.001A.FC2F] # ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM
+FD7D ; [.1CE3.0020.0017.FD7D][.1C9F.0020.0017.FD7D][.1D0C.0020.001F.FD7D] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM
+FD7C ; [.1CE3.0020.0019.FD7C][.1C9F.0020.0019.FD7C][.1D0C.0020.001F.FD7C] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM
+FCC1 ; [.1CE3.0020.0017.FCC1][.1D0C.0020.0017.FCC1] # ARABIC LIGATURE FEH WITH MEEM INITIAL FORM
+FC30 ; [.1CE3.0020.001A.FC30][.1D0C.0020.001A.FC30] # ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM
+FDC1 ; [.1CE3.0020.0019.FDC1][.1D0C.0020.0019.FDC1][.1D2D.0020.001F.FDC1] # ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM
+FC7C ; [.1CE3.0020.0019.FC7C][.1D2C.0020.0019.FC7C] # ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM
+FC31 ; [.1CE3.0020.001A.FC31][.1D2C.0020.001A.FC31] # ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM
+FC7D ; [.1CE3.0020.0019.FC7D][.1D2D.0020.0019.FC7D] # ARABIC LIGATURE FEH WITH YEH FINAL FORM
+FC32 ; [.1CE3.0020.001A.FC32][.1D2D.0020.001A.FC32] # ARABIC LIGATURE FEH WITH YEH ISOLATED FORM
+06A1 ; [.1CE4.0020.0002.06A1] # ARABIC LETTER DOTLESS FEH
+1EE1E ; [.1CE4.0020.0005.1EE1E] # ARABIC MATHEMATICAL DOTLESS FEH
+1EE7E ; [.1CE4.0020.0005.1EE7E] # ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+06A2 ; [.1CE5.0020.0002.06A2] # ARABIC LETTER FEH WITH DOT MOVED BELOW
+06A3 ; [.1CE6.0020.0002.06A3] # ARABIC LETTER FEH WITH DOT BELOW
+06A4 ; [.1CE7.0020.0002.06A4] # ARABIC LETTER VEH
+FB6C ; [.1CE7.0020.0017.FB6C] # ARABIC LETTER VEH INITIAL FORM
+FB6D ; [.1CE7.0020.0018.FB6D] # ARABIC LETTER VEH MEDIAL FORM
+FB6B ; [.1CE7.0020.0019.FB6B] # ARABIC LETTER VEH FINAL FORM
+FB6A ; [.1CE7.0020.001A.FB6A] # ARABIC LETTER VEH ISOLATED FORM
+08A4 ; [.1CE8.0020.0002.08A4] # ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE
+06A5 ; [.1CE9.0020.0002.06A5] # ARABIC LETTER FEH WITH THREE DOTS BELOW
+06A6 ; [.1CEA.0020.0002.06A6] # ARABIC LETTER PEHEH
+FB70 ; [.1CEA.0020.0017.FB70] # ARABIC LETTER PEHEH INITIAL FORM
+FB71 ; [.1CEA.0020.0018.FB71] # ARABIC LETTER PEHEH MEDIAL FORM
+FB6F ; [.1CEA.0020.0019.FB6F] # ARABIC LETTER PEHEH FINAL FORM
+FB6E ; [.1CEA.0020.001A.FB6E] # ARABIC LETTER PEHEH ISOLATED FORM
+0760 ; [.1CEB.0020.0002.0760] # ARABIC LETTER FEH WITH TWO DOTS BELOW
+0761 ; [.1CEC.0020.0002.0761] # ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
+066F ; [.1CED.0020.0002.066F] # ARABIC LETTER DOTLESS QAF
+1EE1F ; [.1CED.0020.0005.1EE1F] # ARABIC MATHEMATICAL DOTLESS QAF
+1EE5F ; [.1CED.0020.0005.1EE5F] # ARABIC MATHEMATICAL TAILED DOTLESS QAF
+0642 ; [.1CEE.0020.0002.0642] # ARABIC LETTER QAF
+1EE12 ; [.1CEE.0020.0005.1EE12] # ARABIC MATHEMATICAL QAF
+1EE32 ; [.1CEE.0020.0005.1EE32] # ARABIC MATHEMATICAL INITIAL QAF
+1EE52 ; [.1CEE.0020.0005.1EE52] # ARABIC MATHEMATICAL TAILED QAF
+1EE72 ; [.1CEE.0020.0005.1EE72] # ARABIC MATHEMATICAL STRETCHED QAF
+1EE92 ; [.1CEE.0020.0005.1EE92] # ARABIC MATHEMATICAL LOOPED QAF
+1EEB2 ; [.1CEE.0020.0005.1EEB2] # ARABIC MATHEMATICAL DOUBLE-STRUCK QAF
+FED7 ; [.1CEE.0020.0017.FED7] # ARABIC LETTER QAF INITIAL FORM
+FED8 ; [.1CEE.0020.0018.FED8] # ARABIC LETTER QAF MEDIAL FORM
+FED6 ; [.1CEE.0020.0019.FED6] # ARABIC LETTER QAF FINAL FORM
+FED5 ; [.1CEE.0020.001A.FED5] # ARABIC LETTER QAF ISOLATED FORM
+FCC2 ; [.1CEE.0020.0017.FCC2][.1C9E.0020.0017.FCC2] # ARABIC LIGATURE QAF WITH HAH INITIAL FORM
+FC33 ; [.1CEE.0020.001A.FC33][.1C9E.0020.001A.FC33] # ARABIC LIGATURE QAF WITH HAH ISOLATED FORM
+FDF1 ; [.1CEE.0020.001A.FDF1][.1D05.0020.001A.FDF1][.1D3A.0020.001F.FDF1] # ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM
+FCC3 ; [.1CEE.0020.0017.FCC3][.1D0C.0020.0017.FCC3] # ARABIC LIGATURE QAF WITH MEEM INITIAL FORM
+FC34 ; [.1CEE.0020.001A.FC34][.1D0C.0020.001A.FC34] # ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM
+FDB4 ; [.1CEE.0020.0017.FDB4][.1D0C.0020.0017.FDB4][.1C9E.0020.001F.FDB4] # ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM
+FD7E ; [.1CEE.0020.0019.FD7E][.1D0C.0020.0019.FD7E][.1C9E.0020.001F.FD7E] # ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM
+FD7F ; [.1CEE.0020.0019.FD7F][.1D0C.0020.0019.FD7F][.1D0C.0020.001F.FD7F] # ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM
+FDB2 ; [.1CEE.0020.0019.FDB2][.1D0C.0020.0019.FDB2][.1D2D.0020.001F.FDB2] # ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM
+FC7E ; [.1CEE.0020.0019.FC7E][.1D2C.0020.0019.FC7E] # ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM
+FC35 ; [.1CEE.0020.001A.FC35][.1D2C.0020.001A.FC35] # ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM
+FC7F ; [.1CEE.0020.0019.FC7F][.1D2D.0020.0019.FC7F] # ARABIC LIGATURE QAF WITH YEH FINAL FORM
+FC36 ; [.1CEE.0020.001A.FC36][.1D2D.0020.001A.FC36] # ARABIC LIGATURE QAF WITH YEH ISOLATED FORM
+06A7 ; [.1CEF.0020.0002.06A7] # ARABIC LETTER QAF WITH DOT ABOVE
+06A8 ; [.1CF0.0020.0002.06A8] # ARABIC LETTER QAF WITH THREE DOTS ABOVE
+08A5 ; [.1CF1.0020.0002.08A5] # ARABIC LETTER QAF WITH DOT BELOW
+0643 ; [.1CF2.0020.0002.0643] # ARABIC LETTER KAF
+1EE0A ; [.1CF2.0020.0005.1EE0A] # ARABIC MATHEMATICAL KAF
+1EE2A ; [.1CF2.0020.0005.1EE2A] # ARABIC MATHEMATICAL INITIAL KAF
+1EE6A ; [.1CF2.0020.0005.1EE6A] # ARABIC MATHEMATICAL STRETCHED KAF
+FEDB ; [.1CF2.0020.0017.FEDB] # ARABIC LETTER KAF INITIAL FORM
+FEDC ; [.1CF2.0020.0018.FEDC] # ARABIC LETTER KAF MEDIAL FORM
+FEDA ; [.1CF2.0020.0019.FEDA] # ARABIC LETTER KAF FINAL FORM
+FED9 ; [.1CF2.0020.001A.FED9] # ARABIC LETTER KAF ISOLATED FORM
+FC80 ; [.1CF2.0020.0019.FC80][.1C81.0020.0019.FC80] # ARABIC LIGATURE KAF WITH ALEF FINAL FORM
+FC37 ; [.1CF2.0020.001A.FC37][.1C81.0020.001A.FC37] # ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM
+FCC4 ; [.1CF2.0020.0017.FCC4][.1C97.0020.0017.FCC4] # ARABIC LIGATURE KAF WITH JEEM INITIAL FORM
+FC38 ; [.1CF2.0020.001A.FC38][.1C97.0020.001A.FC38] # ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM
+FCC5 ; [.1CF2.0020.0017.FCC5][.1C9E.0020.0017.FCC5] # ARABIC LIGATURE KAF WITH HAH INITIAL FORM
+FC39 ; [.1CF2.0020.001A.FC39][.1C9E.0020.001A.FC39] # ARABIC LIGATURE KAF WITH HAH ISOLATED FORM
+FCC6 ; [.1CF2.0020.0017.FCC6][.1C9F.0020.0017.FCC6] # ARABIC LIGATURE KAF WITH KHAH INITIAL FORM
+FC3A ; [.1CF2.0020.001A.FC3A][.1C9F.0020.001A.FC3A] # ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM
+FCC7 ; [.1CF2.0020.0017.FCC7][.1D05.0020.0017.FCC7] # ARABIC LIGATURE KAF WITH LAM INITIAL FORM
+FCEB ; [.1CF2.0020.0018.FCEB][.1D05.0020.0018.FCEB] # ARABIC LIGATURE KAF WITH LAM MEDIAL FORM
+FC81 ; [.1CF2.0020.0019.FC81][.1D05.0020.0019.FC81] # ARABIC LIGATURE KAF WITH LAM FINAL FORM
+FC3B ; [.1CF2.0020.001A.FC3B][.1D05.0020.001A.FC3B] # ARABIC LIGATURE KAF WITH LAM ISOLATED FORM
+FCC8 ; [.1CF2.0020.0017.FCC8][.1D0C.0020.0017.FCC8] # ARABIC LIGATURE KAF WITH MEEM INITIAL FORM
+FCEC ; [.1CF2.0020.0018.FCEC][.1D0C.0020.0018.FCEC] # ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM
+FC82 ; [.1CF2.0020.0019.FC82][.1D0C.0020.0019.FC82] # ARABIC LIGATURE KAF WITH MEEM FINAL FORM
+FC3C ; [.1CF2.0020.001A.FC3C][.1D0C.0020.001A.FC3C] # ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM
+FDC3 ; [.1CF2.0020.0017.FDC3][.1D0C.0020.0017.FDC3][.1D0C.0020.001F.FDC3] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM
+FDBB ; [.1CF2.0020.0019.FDBB][.1D0C.0020.0019.FDBB][.1D0C.0020.001F.FDBB] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM
+FDB7 ; [.1CF2.0020.0019.FDB7][.1D0C.0020.0019.FDB7][.1D2D.0020.001F.FDB7] # ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM
+FC83 ; [.1CF2.0020.0019.FC83][.1D2C.0020.0019.FC83] # ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM
+FC3D ; [.1CF2.0020.001A.FC3D][.1D2C.0020.001A.FC3D] # ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM
+FC84 ; [.1CF2.0020.0019.FC84][.1D2D.0020.0019.FC84] # ARABIC LIGATURE KAF WITH YEH FINAL FORM
+FC3E ; [.1CF2.0020.001A.FC3E][.1D2D.0020.001A.FC3E] # ARABIC LIGATURE KAF WITH YEH ISOLATED FORM
+06A9 ; [.1CF3.0020.0002.06A9] # ARABIC LETTER KEHEH
+FB90 ; [.1CF3.0020.0017.FB90] # ARABIC LETTER KEHEH INITIAL FORM
+FB91 ; [.1CF3.0020.0018.FB91] # ARABIC LETTER KEHEH MEDIAL FORM
+FB8F ; [.1CF3.0020.0019.FB8F] # ARABIC LETTER KEHEH FINAL FORM
+FB8E ; [.1CF3.0020.001A.FB8E] # ARABIC LETTER KEHEH ISOLATED FORM
+06AA ; [.1CF4.0020.0002.06AA] # ARABIC LETTER SWASH KAF
+06AB ; [.1CF5.0020.0002.06AB] # ARABIC LETTER KAF WITH RING
+06AC ; [.1CF6.0020.0002.06AC] # ARABIC LETTER KAF WITH DOT ABOVE
+077F ; [.1CF7.0020.0002.077F] # ARABIC LETTER KAF WITH TWO DOTS ABOVE
+06AD ; [.1CF8.0020.0002.06AD] # ARABIC LETTER NG
+FBD5 ; [.1CF8.0020.0017.FBD5] # ARABIC LETTER NG INITIAL FORM
+FBD6 ; [.1CF8.0020.0018.FBD6] # ARABIC LETTER NG MEDIAL FORM
+FBD4 ; [.1CF8.0020.0019.FBD4] # ARABIC LETTER NG FINAL FORM
+FBD3 ; [.1CF8.0020.001A.FBD3] # ARABIC LETTER NG ISOLATED FORM
+06AE ; [.1CF9.0020.0002.06AE] # ARABIC LETTER KAF WITH THREE DOTS BELOW
+06AF ; [.1CFA.0020.0002.06AF] # ARABIC LETTER GAF
+FB94 ; [.1CFA.0020.0017.FB94] # ARABIC LETTER GAF INITIAL FORM
+FB95 ; [.1CFA.0020.0018.FB95] # ARABIC LETTER GAF MEDIAL FORM
+FB93 ; [.1CFA.0020.0019.FB93] # ARABIC LETTER GAF FINAL FORM
+FB92 ; [.1CFA.0020.001A.FB92] # ARABIC LETTER GAF ISOLATED FORM
+06B0 ; [.1CFB.0020.0002.06B0] # ARABIC LETTER GAF WITH RING
+06B1 ; [.1CFC.0020.0002.06B1] # ARABIC LETTER NGOEH
+FB9C ; [.1CFC.0020.0017.FB9C] # ARABIC LETTER NGOEH INITIAL FORM
+FB9D ; [.1CFC.0020.0018.FB9D] # ARABIC LETTER NGOEH MEDIAL FORM
+FB9B ; [.1CFC.0020.0019.FB9B] # ARABIC LETTER NGOEH FINAL FORM
+FB9A ; [.1CFC.0020.001A.FB9A] # ARABIC LETTER NGOEH ISOLATED FORM
+06B2 ; [.1CFD.0020.0002.06B2] # ARABIC LETTER GAF WITH TWO DOTS BELOW
+06B3 ; [.1CFE.0020.0002.06B3] # ARABIC LETTER GUEH
+FB98 ; [.1CFE.0020.0017.FB98] # ARABIC LETTER GUEH INITIAL FORM
+FB99 ; [.1CFE.0020.0018.FB99] # ARABIC LETTER GUEH MEDIAL FORM
+FB97 ; [.1CFE.0020.0019.FB97] # ARABIC LETTER GUEH FINAL FORM
+FB96 ; [.1CFE.0020.001A.FB96] # ARABIC LETTER GUEH ISOLATED FORM
+06B4 ; [.1CFF.0020.0002.06B4] # ARABIC LETTER GAF WITH THREE DOTS ABOVE
+0762 ; [.1D00.0020.0002.0762] # ARABIC LETTER KEHEH WITH DOT ABOVE
+063B ; [.1D01.0020.0002.063B] # ARABIC LETTER KEHEH WITH TWO DOTS ABOVE
+063C ; [.1D02.0020.0002.063C] # ARABIC LETTER KEHEH WITH THREE DOTS BELOW
+0763 ; [.1D03.0020.0002.0763] # ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
+0764 ; [.1D04.0020.0002.0764] # ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
+0644 ; [.1D05.0020.0002.0644] # ARABIC LETTER LAM
+1EE0B ; [.1D05.0020.0005.1EE0B] # ARABIC MATHEMATICAL LAM
+1EE2B ; [.1D05.0020.0005.1EE2B] # ARABIC MATHEMATICAL INITIAL LAM
+1EE4B ; [.1D05.0020.0005.1EE4B] # ARABIC MATHEMATICAL TAILED LAM
+1EE8B ; [.1D05.0020.0005.1EE8B] # ARABIC MATHEMATICAL LOOPED LAM
+1EEAB ; [.1D05.0020.0005.1EEAB] # ARABIC MATHEMATICAL DOUBLE-STRUCK LAM
+FEDF ; [.1D05.0020.0017.FEDF] # ARABIC LETTER LAM INITIAL FORM
+FEE0 ; [.1D05.0020.0018.FEE0] # ARABIC LETTER LAM MEDIAL FORM
+FEDE ; [.1D05.0020.0019.FEDE] # ARABIC LETTER LAM FINAL FORM
+FEDD ; [.1D05.0020.001A.FEDD] # ARABIC LETTER LAM ISOLATED FORM
+FEF6 ; [.1D05.0020.0019.FEF6][.1C74.0020.0019.FEF6] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
+FEF5 ; [.1D05.0020.001A.FEF5][.1C74.0020.001A.FEF5] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
+FEF8 ; [.1D05.0020.0019.FEF8][.1C75.0020.0019.FEF8] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
+FEF7 ; [.1D05.0020.001A.FEF7][.1C75.0020.001A.FEF7] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
+FEFA ; [.1D05.0020.0019.FEFA][.1C79.0020.0019.FEFA] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM
+FEF9 ; [.1D05.0020.001A.FEF9][.1C79.0020.001A.FEF9] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
+FEFC ; [.1D05.0020.0019.FEFC][.1C81.0020.0019.FEFC] # ARABIC LIGATURE LAM WITH ALEF FINAL FORM
+FEFB ; [.1D05.0020.001A.FEFB][.1C81.0020.001A.FEFB] # ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
+FCC9 ; [.1D05.0020.0017.FCC9][.1C97.0020.0017.FCC9] # ARABIC LIGATURE LAM WITH JEEM INITIAL FORM
+FC3F ; [.1D05.0020.001A.FC3F][.1C97.0020.001A.FC3F] # ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM
+FD83 ; [.1D05.0020.0017.FD83][.1C97.0020.0017.FD83][.1C97.0020.001F.FD83] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM
+FD84 ; [.1D05.0020.0019.FD84][.1C97.0020.0019.FD84][.1C97.0020.001F.FD84] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM
+FDBA ; [.1D05.0020.0017.FDBA][.1C97.0020.0017.FDBA][.1D0C.0020.001F.FDBA] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM
+FDBC ; [.1D05.0020.0019.FDBC][.1C97.0020.0019.FDBC][.1D0C.0020.001F.FDBC] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM
+FDAC ; [.1D05.0020.0019.FDAC][.1C97.0020.0019.FDAC][.1D2D.0020.001F.FDAC] # ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM
+FCCA ; [.1D05.0020.0017.FCCA][.1C9E.0020.0017.FCCA] # ARABIC LIGATURE LAM WITH HAH INITIAL FORM
+FC40 ; [.1D05.0020.001A.FC40][.1C9E.0020.001A.FC40] # ARABIC LIGATURE LAM WITH HAH ISOLATED FORM
+FDB5 ; [.1D05.0020.0017.FDB5][.1C9E.0020.0017.FDB5][.1D0C.0020.001F.FDB5] # ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM
+FD80 ; [.1D05.0020.0019.FD80][.1C9E.0020.0019.FD80][.1D0C.0020.001F.FD80] # ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM
+FD82 ; [.1D05.0020.0019.FD82][.1C9E.0020.0019.FD82][.1D2C.0020.001F.FD82] # ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM
+FD81 ; [.1D05.0020.0019.FD81][.1C9E.0020.0019.FD81][.1D2D.0020.001F.FD81] # ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM
+FCCB ; [.1D05.0020.0017.FCCB][.1C9F.0020.0017.FCCB] # ARABIC LIGATURE LAM WITH KHAH INITIAL FORM
+FC41 ; [.1D05.0020.001A.FC41][.1C9F.0020.001A.FC41] # ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM
+FD86 ; [.1D05.0020.0017.FD86][.1C9F.0020.0017.FD86][.1D0C.0020.001F.FD86] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM
+FD85 ; [.1D05.0020.0019.FD85][.1C9F.0020.0019.FD85][.1D0C.0020.001F.FD85] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM
+FCCC ; [.1D05.0020.0017.FCCC][.1D0C.0020.0017.FCCC] # ARABIC LIGATURE LAM WITH MEEM INITIAL FORM
+FCED ; [.1D05.0020.0018.FCED][.1D0C.0020.0018.FCED] # ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM
+FC85 ; [.1D05.0020.0019.FC85][.1D0C.0020.0019.FC85] # ARABIC LIGATURE LAM WITH MEEM FINAL FORM
+FC42 ; [.1D05.0020.001A.FC42][.1D0C.0020.001A.FC42] # ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM
+FD88 ; [.1D05.0020.0017.FD88][.1D0C.0020.0017.FD88][.1C9E.0020.001F.FD88] # ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM
+FD87 ; [.1D05.0020.0019.FD87][.1D0C.0020.0019.FD87][.1C9E.0020.001F.FD87] # ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM
+FDAD ; [.1D05.0020.0019.FDAD][.1D0C.0020.0019.FDAD][.1D2D.0020.001F.FDAD] # ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM
+FCCD ; [.1D05.0020.0017.FCCD][.1D19.0020.0017.FCCD] # ARABIC LIGATURE LAM WITH HEH INITIAL FORM
+FC86 ; [.1D05.0020.0019.FC86][.1D2C.0020.0019.FC86] # ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM
+FC43 ; [.1D05.0020.001A.FC43][.1D2C.0020.001A.FC43] # ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM
+FC87 ; [.1D05.0020.0019.FC87][.1D2D.0020.0019.FC87] # ARABIC LIGATURE LAM WITH YEH FINAL FORM
+FC44 ; [.1D05.0020.001A.FC44][.1D2D.0020.001A.FC44] # ARABIC LIGATURE LAM WITH YEH ISOLATED FORM
+06B5 ; [.1D06.0020.0002.06B5] # ARABIC LETTER LAM WITH SMALL V
+06B6 ; [.1D07.0020.0002.06B6] # ARABIC LETTER LAM WITH DOT ABOVE
+06B7 ; [.1D08.0020.0002.06B7] # ARABIC LETTER LAM WITH THREE DOTS ABOVE
+06B8 ; [.1D09.0020.0002.06B8] # ARABIC LETTER LAM WITH THREE DOTS BELOW
+076A ; [.1D0A.0020.0002.076A] # ARABIC LETTER LAM WITH BAR
+08A6 ; [.1D0B.0020.0002.08A6] # ARABIC LETTER LAM WITH DOUBLE BAR
+0645 ; [.1D0C.0020.0002.0645] # ARABIC LETTER MEEM
+1EE0C ; [.1D0C.0020.0005.1EE0C] # ARABIC MATHEMATICAL MEEM
+1EE2C ; [.1D0C.0020.0005.1EE2C] # ARABIC MATHEMATICAL INITIAL MEEM
+1EE6C ; [.1D0C.0020.0005.1EE6C] # ARABIC MATHEMATICAL STRETCHED MEEM
+1EE8C ; [.1D0C.0020.0005.1EE8C] # ARABIC MATHEMATICAL LOOPED MEEM
+1EEAC ; [.1D0C.0020.0005.1EEAC] # ARABIC MATHEMATICAL DOUBLE-STRUCK MEEM
+FEE3 ; [.1D0C.0020.0017.FEE3] # ARABIC LETTER MEEM INITIAL FORM
+FEE4 ; [.1D0C.0020.0018.FEE4] # ARABIC LETTER MEEM MEDIAL FORM
+FEE2 ; [.1D0C.0020.0019.FEE2] # ARABIC LETTER MEEM FINAL FORM
+FEE1 ; [.1D0C.0020.001A.FEE1] # ARABIC LETTER MEEM ISOLATED FORM
+06FE ; [.1D0C.0020.0004.06FE][.0000.013A.0004.06FE] # ARABIC SIGN SINDHI POSTPOSITION MEN
+FC88 ; [.1D0C.0020.0019.FC88][.1C81.0020.0019.FC88] # ARABIC LIGATURE MEEM WITH ALEF FINAL FORM
+FCCE ; [.1D0C.0020.0017.FCCE][.1C97.0020.0017.FCCE] # ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM
+FC45 ; [.1D0C.0020.001A.FC45][.1C97.0020.001A.FC45] # ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM
+FD8C ; [.1D0C.0020.0017.FD8C][.1C97.0020.0017.FD8C][.1C9E.0020.001F.FD8C] # ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM
+FD92 ; [.1D0C.0020.0017.FD92][.1C97.0020.0017.FD92][.1C9F.0020.001F.FD92] # ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM
+FD8D ; [.1D0C.0020.0017.FD8D][.1C97.0020.0017.FD8D][.1D0C.0020.001F.FD8D] # ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM
+FDC0 ; [.1D0C.0020.0019.FDC0][.1C97.0020.0019.FDC0][.1D2D.0020.001F.FDC0] # ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM
+FCCF ; [.1D0C.0020.0017.FCCF][.1C9E.0020.0017.FCCF] # ARABIC LIGATURE MEEM WITH HAH INITIAL FORM
+FC46 ; [.1D0C.0020.001A.FC46][.1C9E.0020.001A.FC46] # ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM
+FD89 ; [.1D0C.0020.0017.FD89][.1C9E.0020.0017.FD89][.1C97.0020.001F.FD89] # ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM
+FD8A ; [.1D0C.0020.0017.FD8A][.1C9E.0020.0017.FD8A][.1D0C.0020.001F.FD8A] # ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM
+FDF4 ; [.1D0C.0020.001A.FDF4][.1C9E.0020.001A.FDF4][.1D0C.0020.001F.FDF4][.1CA9.0020.001F.FDF4] # ARABIC LIGATURE MOHAMMAD ISOLATED FORM
+FD8B ; [.1D0C.0020.0019.FD8B][.1C9E.0020.0019.FD8B][.1D2D.0020.001F.FD8B] # ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM
+FCD0 ; [.1D0C.0020.0017.FCD0][.1C9F.0020.0017.FCD0] # ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM
+FC47 ; [.1D0C.0020.001A.FC47][.1C9F.0020.001A.FC47] # ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM
+FD8E ; [.1D0C.0020.0017.FD8E][.1C9F.0020.0017.FD8E][.1C97.0020.001F.FD8E] # ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM
+FD8F ; [.1D0C.0020.0017.FD8F][.1C9F.0020.0017.FD8F][.1D0C.0020.001F.FD8F] # ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
+FDB9 ; [.1D0C.0020.0019.FDB9][.1C9F.0020.0019.FDB9][.1D2D.0020.001F.FDB9] # ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM
+FCD1 ; [.1D0C.0020.0017.FCD1][.1D0C.0020.0017.FCD1] # ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM
+FC89 ; [.1D0C.0020.0019.FC89][.1D0C.0020.0019.FC89] # ARABIC LIGATURE MEEM WITH MEEM FINAL FORM
+FC48 ; [.1D0C.0020.001A.FC48][.1D0C.0020.001A.FC48] # ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM
+FDB1 ; [.1D0C.0020.0019.FDB1][.1D0C.0020.0019.FDB1][.1D2D.0020.001F.FDB1] # ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM
+FC49 ; [.1D0C.0020.001A.FC49][.1D2C.0020.001A.FC49] # ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM
+FC4A ; [.1D0C.0020.001A.FC4A][.1D2D.0020.001A.FC4A] # ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM
+0765 ; [.1D0D.0020.0002.0765] # ARABIC LETTER MEEM WITH DOT ABOVE
+0766 ; [.1D0E.0020.0002.0766] # ARABIC LETTER MEEM WITH DOT BELOW
+08A7 ; [.1D0F.0020.0002.08A7] # ARABIC LETTER MEEM WITH THREE DOTS ABOVE
+0646 ; [.1D10.0020.0002.0646] # ARABIC LETTER NOON
+1EE0D ; [.1D10.0020.0005.1EE0D] # ARABIC MATHEMATICAL NOON
+1EE2D ; [.1D10.0020.0005.1EE2D] # ARABIC MATHEMATICAL INITIAL NOON
+1EE4D ; [.1D10.0020.0005.1EE4D] # ARABIC MATHEMATICAL TAILED NOON
+1EE6D ; [.1D10.0020.0005.1EE6D] # ARABIC MATHEMATICAL STRETCHED NOON
+1EE8D ; [.1D10.0020.0005.1EE8D] # ARABIC MATHEMATICAL LOOPED NOON
+1EEAD ; [.1D10.0020.0005.1EEAD] # ARABIC MATHEMATICAL DOUBLE-STRUCK NOON
+FEE7 ; [.1D10.0020.0017.FEE7] # ARABIC LETTER NOON INITIAL FORM
+FEE8 ; [.1D10.0020.0018.FEE8] # ARABIC LETTER NOON MEDIAL FORM
+FEE6 ; [.1D10.0020.0019.FEE6] # ARABIC LETTER NOON FINAL FORM
+FEE5 ; [.1D10.0020.001A.FEE5] # ARABIC LETTER NOON ISOLATED FORM
+FCD2 ; [.1D10.0020.0017.FCD2][.1C97.0020.0017.FCD2] # ARABIC LIGATURE NOON WITH JEEM INITIAL FORM
+FC4B ; [.1D10.0020.001A.FC4B][.1C97.0020.001A.FC4B] # ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM
+FDB8 ; [.1D10.0020.0017.FDB8][.1C97.0020.0017.FDB8][.1C9E.0020.001F.FDB8] # ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM
+FDBD ; [.1D10.0020.0019.FDBD][.1C97.0020.0019.FDBD][.1C9E.0020.001F.FDBD] # ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM
+FD98 ; [.1D10.0020.0017.FD98][.1C97.0020.0017.FD98][.1D0C.0020.001F.FD98] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM
+FD97 ; [.1D10.0020.0019.FD97][.1C97.0020.0019.FD97][.1D0C.0020.001F.FD97] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM
+FD99 ; [.1D10.0020.0019.FD99][.1C97.0020.0019.FD99][.1D2C.0020.001F.FD99] # ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM
+FDC7 ; [.1D10.0020.0019.FDC7][.1C97.0020.0019.FDC7][.1D2D.0020.001F.FDC7] # ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
+FCD3 ; [.1D10.0020.0017.FCD3][.1C9E.0020.0017.FCD3] # ARABIC LIGATURE NOON WITH HAH INITIAL FORM
+FC4C ; [.1D10.0020.001A.FC4C][.1C9E.0020.001A.FC4C] # ARABIC LIGATURE NOON WITH HAH ISOLATED FORM
+FD95 ; [.1D10.0020.0017.FD95][.1C9E.0020.0017.FD95][.1D0C.0020.001F.FD95] # ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM
+FD96 ; [.1D10.0020.0019.FD96][.1C9E.0020.0019.FD96][.1D2C.0020.001F.FD96] # ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM
+FDB3 ; [.1D10.0020.0019.FDB3][.1C9E.0020.0019.FDB3][.1D2D.0020.001F.FDB3] # ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM
+FCD4 ; [.1D10.0020.0017.FCD4][.1C9F.0020.0017.FCD4] # ARABIC LIGATURE NOON WITH KHAH INITIAL FORM
+FC4D ; [.1D10.0020.001A.FC4D][.1C9F.0020.001A.FC4D] # ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM
+FC8A ; [.1D10.0020.0019.FC8A][.1CB7.0020.0019.FC8A] # ARABIC LIGATURE NOON WITH REH FINAL FORM
+FC8B ; [.1D10.0020.0019.FC8B][.1CB8.0020.0019.FC8B] # ARABIC LIGATURE NOON WITH ZAIN FINAL FORM
+FCD5 ; [.1D10.0020.0017.FCD5][.1D0C.0020.0017.FCD5] # ARABIC LIGATURE NOON WITH MEEM INITIAL FORM
+FCEE ; [.1D10.0020.0018.FCEE][.1D0C.0020.0018.FCEE] # ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM
+FC8C ; [.1D10.0020.0019.FC8C][.1D0C.0020.0019.FC8C] # ARABIC LIGATURE NOON WITH MEEM FINAL FORM
+FC4E ; [.1D10.0020.001A.FC4E][.1D0C.0020.001A.FC4E] # ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM
+FD9B ; [.1D10.0020.0019.FD9B][.1D0C.0020.0019.FD9B][.1D2C.0020.001F.FD9B] # ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FD9A ; [.1D10.0020.0019.FD9A][.1D0C.0020.0019.FD9A][.1D2D.0020.001F.FD9A] # ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM
+FC8D ; [.1D10.0020.0019.FC8D][.1D10.0020.0019.FC8D] # ARABIC LIGATURE NOON WITH NOON FINAL FORM
+FCD6 ; [.1D10.0020.0017.FCD6][.1D19.0020.0017.FCD6] # ARABIC LIGATURE NOON WITH HEH INITIAL FORM
+FCEF ; [.1D10.0020.0018.FCEF][.1D19.0020.0018.FCEF] # ARABIC LIGATURE NOON WITH HEH MEDIAL FORM
+FC8E ; [.1D10.0020.0019.FC8E][.1D2C.0020.0019.FC8E] # ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM
+FC4F ; [.1D10.0020.001A.FC4F][.1D2C.0020.001A.FC4F] # ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM
+FC8F ; [.1D10.0020.0019.FC8F][.1D2D.0020.0019.FC8F] # ARABIC LIGATURE NOON WITH YEH FINAL FORM
+FC50 ; [.1D10.0020.001A.FC50][.1D2D.0020.001A.FC50] # ARABIC LIGATURE NOON WITH YEH ISOLATED FORM
+06BA ; [.1D11.0020.0002.06BA] # ARABIC LETTER NOON GHUNNA
+1EE1D ; [.1D11.0020.0005.1EE1D] # ARABIC MATHEMATICAL DOTLESS NOON
+1EE5D ; [.1D11.0020.0005.1EE5D] # ARABIC MATHEMATICAL TAILED DOTLESS NOON
+FB9F ; [.1D11.0020.0019.FB9F] # ARABIC LETTER NOON GHUNNA FINAL FORM
+FB9E ; [.1D11.0020.001A.FB9E] # ARABIC LETTER NOON GHUNNA ISOLATED FORM
+06BB ; [.1D12.0020.0002.06BB] # ARABIC LETTER RNOON
+FBA2 ; [.1D12.0020.0017.FBA2] # ARABIC LETTER RNOON INITIAL FORM
+FBA3 ; [.1D12.0020.0018.FBA3] # ARABIC LETTER RNOON MEDIAL FORM
+FBA1 ; [.1D12.0020.0019.FBA1] # ARABIC LETTER RNOON FINAL FORM
+FBA0 ; [.1D12.0020.001A.FBA0] # ARABIC LETTER RNOON ISOLATED FORM
+06BC ; [.1D13.0020.0002.06BC] # ARABIC LETTER NOON WITH RING
+06BD ; [.1D14.0020.0002.06BD] # ARABIC LETTER NOON WITH THREE DOTS ABOVE
+06B9 ; [.1D15.0020.0002.06B9] # ARABIC LETTER NOON WITH DOT BELOW
+0767 ; [.1D16.0020.0002.0767] # ARABIC LETTER NOON WITH TWO DOTS BELOW
+0768 ; [.1D17.0020.0002.0768] # ARABIC LETTER NOON WITH SMALL TAH
+0769 ; [.1D18.0020.0002.0769] # ARABIC LETTER NOON WITH SMALL V
+0647 ; [.1D19.0020.0002.0647] # ARABIC LETTER HEH
+1EE24 ; [.1D19.0020.0005.1EE24] # ARABIC MATHEMATICAL INITIAL HEH
+1EE64 ; [.1D19.0020.0005.1EE64] # ARABIC MATHEMATICAL STRETCHED HEH
+1EE84 ; [.1D19.0020.0005.1EE84] # ARABIC MATHEMATICAL LOOPED HEH
+FEEB ; [.1D19.0020.0017.FEEB] # ARABIC LETTER HEH INITIAL FORM
+FEEC ; [.1D19.0020.0018.FEEC] # ARABIC LETTER HEH MEDIAL FORM
+FEEA ; [.1D19.0020.0019.FEEA] # ARABIC LETTER HEH FINAL FORM
+FEE9 ; [.1D19.0020.001A.FEE9] # ARABIC LETTER HEH ISOLATED FORM
+FCD9 ; [.1D19.0020.0017.FCD9][.0000.00D1.0017.FCD9] # ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM
+FCD7 ; [.1D19.0020.0017.FCD7][.1C97.0020.0017.FCD7] # ARABIC LIGATURE HEH WITH JEEM INITIAL FORM
+FC51 ; [.1D19.0020.001A.FC51][.1C97.0020.001A.FC51] # ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM
+FCD8 ; [.1D19.0020.0017.FCD8][.1D0C.0020.0017.FCD8] # ARABIC LIGATURE HEH WITH MEEM INITIAL FORM
+FC52 ; [.1D19.0020.001A.FC52][.1D0C.0020.001A.FC52] # ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM
+FD93 ; [.1D19.0020.0017.FD93][.1D0C.0020.0017.FD93][.1C97.0020.001F.FD93] # ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM
+FD94 ; [.1D19.0020.0017.FD94][.1D0C.0020.0017.FD94][.1D0C.0020.001F.FD94] # ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM
+FC53 ; [.1D19.0020.001A.FC53][.1D2C.0020.001A.FC53] # ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM
+FC54 ; [.1D19.0020.001A.FC54][.1D2D.0020.001A.FC54] # ARABIC LIGATURE HEH WITH YEH ISOLATED FORM
+06BE ; [.1D1A.0020.0002.06BE] # ARABIC LETTER HEH DOACHASHMEE
+FBAC ; [.1D1A.0020.0017.FBAC] # ARABIC LETTER HEH DOACHASHMEE INITIAL FORM
+FBAD ; [.1D1A.0020.0018.FBAD] # ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM
+FBAB ; [.1D1A.0020.0019.FBAB] # ARABIC LETTER HEH DOACHASHMEE FINAL FORM
+FBAA ; [.1D1A.0020.001A.FBAA] # ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
+06C1 ; [.1D1B.0020.0002.06C1] # ARABIC LETTER HEH GOAL
+FBA8 ; [.1D1B.0020.0017.FBA8] # ARABIC LETTER HEH GOAL INITIAL FORM
+FBA9 ; [.1D1B.0020.0018.FBA9] # ARABIC LETTER HEH GOAL MEDIAL FORM
+FBA7 ; [.1D1B.0020.0019.FBA7] # ARABIC LETTER HEH GOAL FINAL FORM
+FBA6 ; [.1D1B.0020.001A.FBA6] # ARABIC LETTER HEH GOAL ISOLATED FORM
+06C2 ; [.1D1B.0020.0002.06C1][.0000.00BE.0002.0654] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
+06C3 ; [.1D1C.0020.0002.06C3] # ARABIC LETTER TEH MARBUTA GOAL
+06FF ; [.1D1D.0020.0002.06FF] # ARABIC LETTER HEH WITH INVERTED V
+06D5 ; [.1D1E.0020.0002.06D5] # ARABIC LETTER AE
+06C0 ; [.1D1E.0020.0002.06D5][.0000.00BE.0002.0654] # ARABIC LETTER HEH WITH YEH ABOVE
+FBA5 ; [.1D1E.0020.0019.FBA5][.0000.00BE.0019.FBA5] # ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM
+FBA4 ; [.1D1E.0020.001A.FBA4][.0000.00BE.001A.FBA4] # ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM
+0648 ; [.1D1F.0020.0002.0648] # ARABIC LETTER WAW
+06E5 ; [.1D1F.0020.0004.06E5] # ARABIC SMALL WAW
+1EE05 ; [.1D1F.0020.0005.1EE05] # ARABIC MATHEMATICAL WAW
+1EE85 ; [.1D1F.0020.0005.1EE85] # ARABIC MATHEMATICAL LOOPED WAW
+1EEA5 ; [.1D1F.0020.0005.1EEA5] # ARABIC MATHEMATICAL DOUBLE-STRUCK WAW
+FEEE ; [.1D1F.0020.0019.FEEE] # ARABIC LETTER WAW FINAL FORM
+FEED ; [.1D1F.0020.001A.FEED] # ARABIC LETTER WAW ISOLATED FORM
+0676 ; [.1D1F.0020.0004.0676][.1C73.0020.0004.0676] # ARABIC LETTER HIGH HAMZA WAW
+FDF8 ; [.1D1F.0020.001A.FDF8][.1CC8.0020.001A.FDF8][.1D05.0020.001F.FDF8][.1D0C.0020.001F.FDF8] # ARABIC LIGATURE WASALLAM ISOLATED FORM
+06C4 ; [.1D20.0020.0002.06C4] # ARABIC LETTER WAW WITH RING
+06C5 ; [.1D21.0020.0002.06C5] # ARABIC LETTER KIRGHIZ OE
+FBE1 ; [.1D21.0020.0019.FBE1] # ARABIC LETTER KIRGHIZ OE FINAL FORM
+FBE0 ; [.1D21.0020.001A.FBE0] # ARABIC LETTER KIRGHIZ OE ISOLATED FORM
+06C6 ; [.1D22.0020.0002.06C6] # ARABIC LETTER OE
+FBDA ; [.1D22.0020.0019.FBDA] # ARABIC LETTER OE FINAL FORM
+FBD9 ; [.1D22.0020.001A.FBD9] # ARABIC LETTER OE ISOLATED FORM
+06C7 ; [.1D23.0020.0002.06C7] # ARABIC LETTER U
+FBD8 ; [.1D23.0020.0019.FBD8] # ARABIC LETTER U FINAL FORM
+FBD7 ; [.1D23.0020.001A.FBD7] # ARABIC LETTER U ISOLATED FORM
+0677 ; [.1D23.0020.0004.0677][.1C73.0020.0004.0677] # ARABIC LETTER U WITH HAMZA ABOVE
+FBDD ; [.1D23.0020.001A.FBDD][.1C73.0020.001A.FBDD] # ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM
+06C8 ; [.1D24.0020.0002.06C8] # ARABIC LETTER YU
+FBDC ; [.1D24.0020.0019.FBDC] # ARABIC LETTER YU FINAL FORM
+FBDB ; [.1D24.0020.001A.FBDB] # ARABIC LETTER YU ISOLATED FORM
+06C9 ; [.1D25.0020.0002.06C9] # ARABIC LETTER KIRGHIZ YU
+FBE3 ; [.1D25.0020.0019.FBE3] # ARABIC LETTER KIRGHIZ YU FINAL FORM
+FBE2 ; [.1D25.0020.001A.FBE2] # ARABIC LETTER KIRGHIZ YU ISOLATED FORM
+06CA ; [.1D26.0020.0002.06CA] # ARABIC LETTER WAW WITH TWO DOTS ABOVE
+06CB ; [.1D27.0020.0002.06CB] # ARABIC LETTER VE
+FBDF ; [.1D27.0020.0019.FBDF] # ARABIC LETTER VE FINAL FORM
+FBDE ; [.1D27.0020.001A.FBDE] # ARABIC LETTER VE ISOLATED FORM
+06CF ; [.1D28.0020.0002.06CF] # ARABIC LETTER WAW WITH DOT ABOVE
+0778 ; [.1D29.0020.0002.0778] # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+0779 ; [.1D2A.0020.0002.0779] # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+08AB ; [.1D2B.0020.0002.08AB] # ARABIC LETTER WAW WITH DOT WITHIN
+0649 ; [.1D2C.0020.0002.0649] # ARABIC LETTER ALEF MAKSURA
+FBE8 ; [.1D2C.0020.0017.FBE8] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
+FBE9 ; [.1D2C.0020.0018.FBE9] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
+FEF0 ; [.1D2C.0020.0019.FEF0] # ARABIC LETTER ALEF MAKSURA FINAL FORM
+FEEF ; [.1D2C.0020.001A.FEEF] # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
+FC90 ; [.1D2C.0020.0019.FC90][.0000.00D1.0019.FC90] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
+FC5D ; [.1D2C.0020.001A.FC5D][.0000.00D1.001A.FC5D] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
+064A ; [.1D2D.0020.0002.064A] # ARABIC LETTER YEH
+06E6 ; [.1D2D.0020.0004.06E6] # ARABIC SMALL YEH
+1EE09 ; [.1D2D.0020.0005.1EE09] # ARABIC MATHEMATICAL YEH
+1EE29 ; [.1D2D.0020.0005.1EE29] # ARABIC MATHEMATICAL INITIAL YEH
+1EE49 ; [.1D2D.0020.0005.1EE49] # ARABIC MATHEMATICAL TAILED YEH
+1EE69 ; [.1D2D.0020.0005.1EE69] # ARABIC MATHEMATICAL STRETCHED YEH
+1EE89 ; [.1D2D.0020.0005.1EE89] # ARABIC MATHEMATICAL LOOPED YEH
+1EEA9 ; [.1D2D.0020.0005.1EEA9] # ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+FEF3 ; [.1D2D.0020.0017.FEF3] # ARABIC LETTER YEH INITIAL FORM
+FEF4 ; [.1D2D.0020.0018.FEF4] # ARABIC LETTER YEH MEDIAL FORM
+FEF2 ; [.1D2D.0020.0019.FEF2] # ARABIC LETTER YEH FINAL FORM
+FEF1 ; [.1D2D.0020.001A.FEF1] # ARABIC LETTER YEH ISOLATED FORM
+0678 ; [.1D2D.0020.0004.0678][.1C73.0020.0004.0678] # ARABIC LETTER HIGH HAMZA YEH
+FCDA ; [.1D2D.0020.0017.FCDA][.1C97.0020.0017.FCDA] # ARABIC LIGATURE YEH WITH JEEM INITIAL FORM
+FC55 ; [.1D2D.0020.001A.FC55][.1C97.0020.001A.FC55] # ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM
+FDAF ; [.1D2D.0020.0019.FDAF][.1C97.0020.0019.FDAF][.1D2D.0020.001F.FDAF] # ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM
+FCDB ; [.1D2D.0020.0017.FCDB][.1C9E.0020.0017.FCDB] # ARABIC LIGATURE YEH WITH HAH INITIAL FORM
+FC56 ; [.1D2D.0020.001A.FC56][.1C9E.0020.001A.FC56] # ARABIC LIGATURE YEH WITH HAH ISOLATED FORM
+FDAE ; [.1D2D.0020.0019.FDAE][.1C9E.0020.0019.FDAE][.1D2D.0020.001F.FDAE] # ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM
+FCDC ; [.1D2D.0020.0017.FCDC][.1C9F.0020.0017.FCDC] # ARABIC LIGATURE YEH WITH KHAH INITIAL FORM
+FC57 ; [.1D2D.0020.001A.FC57][.1C9F.0020.001A.FC57] # ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM
+FC91 ; [.1D2D.0020.0019.FC91][.1CB7.0020.0019.FC91] # ARABIC LIGATURE YEH WITH REH FINAL FORM
+FC92 ; [.1D2D.0020.0019.FC92][.1CB8.0020.0019.FC92] # ARABIC LIGATURE YEH WITH ZAIN FINAL FORM
+FCDD ; [.1D2D.0020.0017.FCDD][.1D0C.0020.0017.FCDD] # ARABIC LIGATURE YEH WITH MEEM INITIAL FORM
+FCF0 ; [.1D2D.0020.0018.FCF0][.1D0C.0020.0018.FCF0] # ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM
+FC93 ; [.1D2D.0020.0019.FC93][.1D0C.0020.0019.FC93] # ARABIC LIGATURE YEH WITH MEEM FINAL FORM
+FC58 ; [.1D2D.0020.001A.FC58][.1D0C.0020.001A.FC58] # ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM
+FD9D ; [.1D2D.0020.0017.FD9D][.1D0C.0020.0017.FD9D][.1D0C.0020.001F.FD9D] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM
+FD9C ; [.1D2D.0020.0019.FD9C][.1D0C.0020.0019.FD9C][.1D0C.0020.001F.FD9C] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM
+FDB0 ; [.1D2D.0020.0019.FDB0][.1D0C.0020.0019.FDB0][.1D2D.0020.001F.FDB0] # ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM
+FC94 ; [.1D2D.0020.0019.FC94][.1D10.0020.0019.FC94] # ARABIC LIGATURE YEH WITH NOON FINAL FORM
+FCDE ; [.1D2D.0020.0017.FCDE][.1D19.0020.0017.FCDE] # ARABIC LIGATURE YEH WITH HEH INITIAL FORM
+FCF1 ; [.1D2D.0020.0018.FCF1][.1D19.0020.0018.FCF1] # ARABIC LIGATURE YEH WITH HEH MEDIAL FORM
+FC95 ; [.1D2D.0020.0019.FC95][.1D2C.0020.0019.FC95] # ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM
+FC59 ; [.1D2D.0020.001A.FC59][.1D2C.0020.001A.FC59] # ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM
+FC96 ; [.1D2D.0020.0019.FC96][.1D2D.0020.0019.FC96] # ARABIC LIGATURE YEH WITH YEH FINAL FORM
+FC5A ; [.1D2D.0020.001A.FC5A][.1D2D.0020.001A.FC5A] # ARABIC LIGATURE YEH WITH YEH ISOLATED FORM
+06CC ; [.1D2E.0020.0002.06CC] # ARABIC LETTER FARSI YEH
+FBFE ; [.1D2E.0020.0017.FBFE] # ARABIC LETTER FARSI YEH INITIAL FORM
+FBFF ; [.1D2E.0020.0018.FBFF] # ARABIC LETTER FARSI YEH MEDIAL FORM
+FBFD ; [.1D2E.0020.0019.FBFD] # ARABIC LETTER FARSI YEH FINAL FORM
+FBFC ; [.1D2E.0020.001A.FBFC] # ARABIC LETTER FARSI YEH ISOLATED FORM
+06CD ; [.1D2F.0020.0002.06CD] # ARABIC LETTER YEH WITH TAIL
+06CE ; [.1D30.0020.0002.06CE] # ARABIC LETTER YEH WITH SMALL V
+06D0 ; [.1D31.0020.0002.06D0] # ARABIC LETTER E
+FBE6 ; [.1D31.0020.0017.FBE6] # ARABIC LETTER E INITIAL FORM
+FBE7 ; [.1D31.0020.0018.FBE7] # ARABIC LETTER E MEDIAL FORM
+FBE5 ; [.1D31.0020.0019.FBE5] # ARABIC LETTER E FINAL FORM
+FBE4 ; [.1D31.0020.001A.FBE4] # ARABIC LETTER E ISOLATED FORM
+06D1 ; [.1D32.0020.0002.06D1] # ARABIC LETTER YEH WITH THREE DOTS BELOW
+063D ; [.1D33.0020.0002.063D] # ARABIC LETTER FARSI YEH WITH INVERTED V
+063E ; [.1D34.0020.0002.063E] # ARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE
+063F ; [.1D35.0020.0002.063F] # ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
+0620 ; [.1D36.0020.0002.0620] # ARABIC LETTER KASHMIRI YEH
+0775 ; [.1D37.0020.0002.0775] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+0776 ; [.1D38.0020.0002.0776] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+0777 ; [.1D39.0020.0002.0777] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
+06D2 ; [.1D3A.0020.0002.06D2] # ARABIC LETTER YEH BARREE
+FBAF ; [.1D3A.0020.0019.FBAF] # ARABIC LETTER YEH BARREE FINAL FORM
+FBAE ; [.1D3A.0020.001A.FBAE] # ARABIC LETTER YEH BARREE ISOLATED FORM
+06D3 ; [.1D3A.0020.0002.06D2][.0000.00BE.0002.0654] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
+FBB1 ; [.1D3A.0020.0019.FBB1][.0000.00BE.0019.FBB1] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
+FBB0 ; [.1D3A.0020.001A.FBB0][.0000.00BE.001A.FBB0] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
+077A ; [.1D3B.0020.0002.077A] # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+077B ; [.1D3C.0020.0002.077B] # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+0710 ; [.1D3D.0020.0002.0710] # SYRIAC LETTER ALAPH
+0712 ; [.1D3E.0020.0002.0712] # SYRIAC LETTER BETH
+072D ; [.1D3E.0020.0004.072D][.0000.013C.0004.072D] # SYRIAC LETTER PERSIAN BHETH
+0713 ; [.1D3F.0020.0002.0713] # SYRIAC LETTER GAMAL
+0714 ; [.1D3F.0020.0004.0714][.0000.013A.0004.0714] # SYRIAC LETTER GAMAL GARSHUNI
+072E ; [.1D3F.0020.0004.072E][.0000.013C.0004.072E] # SYRIAC LETTER PERSIAN GHAMAL
+0716 ; [.1D40.0020.0002.0716] # SYRIAC LETTER DOTLESS DALATH RISH
+0715 ; [.1D41.0020.0002.0715] # SYRIAC LETTER DALATH
+072F ; [.1D41.0020.0004.072F][.0000.013C.0004.072F] # SYRIAC LETTER PERSIAN DHALATH
+0717 ; [.1D42.0020.0002.0717] # SYRIAC LETTER HE
+0718 ; [.1D43.0020.0002.0718] # SYRIAC LETTER WAW
+0719 ; [.1D44.0020.0002.0719] # SYRIAC LETTER ZAIN
+074D ; [.1D45.0020.0002.074D] # SYRIAC LETTER SOGDIAN ZHAIN
+071A ; [.1D46.0020.0002.071A] # SYRIAC LETTER HETH
+071B ; [.1D47.0020.0002.071B] # SYRIAC LETTER TETH
+071C ; [.1D47.0020.0004.071C][.0000.013A.0004.071C] # SYRIAC LETTER TETH GARSHUNI
+071D ; [.1D48.0020.0002.071D] # SYRIAC LETTER YUDH
+071E ; [.1D49.0020.0002.071E] # SYRIAC LETTER YUDH HE
+071F ; [.1D4A.0020.0002.071F] # SYRIAC LETTER KAPH
+074E ; [.1D4B.0020.0002.074E] # SYRIAC LETTER SOGDIAN KHAPH
+0720 ; [.1D4C.0020.0002.0720] # SYRIAC LETTER LAMADH
+0721 ; [.1D4D.0020.0002.0721] # SYRIAC LETTER MIM
+0722 ; [.1D4E.0020.0002.0722] # SYRIAC LETTER NUN
+0723 ; [.1D4F.0020.0002.0723] # SYRIAC LETTER SEMKATH
+0724 ; [.1D4F.0020.0019.0724] # SYRIAC LETTER FINAL SEMKATH
+0725 ; [.1D50.0020.0002.0725] # SYRIAC LETTER E
+0726 ; [.1D51.0020.0002.0726] # SYRIAC LETTER PE
+0727 ; [.1D51.0020.0004.0727][.0000.013A.0004.0727] # SYRIAC LETTER REVERSED PE
+074F ; [.1D52.0020.0002.074F] # SYRIAC LETTER SOGDIAN FE
+0728 ; [.1D53.0020.0002.0728] # SYRIAC LETTER SADHE
+0729 ; [.1D54.0020.0002.0729] # SYRIAC LETTER QAPH
+072A ; [.1D55.0020.0002.072A] # SYRIAC LETTER RISH
+072B ; [.1D56.0020.0002.072B] # SYRIAC LETTER SHIN
+072C ; [.1D57.0020.0002.072C] # SYRIAC LETTER TAW
+0840 ; [.1D58.0020.0002.0840] # MANDAIC LETTER HALQA
+0841 ; [.1D59.0020.0002.0841] # MANDAIC LETTER AB
+0842 ; [.1D5A.0020.0002.0842] # MANDAIC LETTER AG
+0843 ; [.1D5B.0020.0002.0843] # MANDAIC LETTER AD
+0844 ; [.1D5C.0020.0002.0844] # MANDAIC LETTER AH
+0845 ; [.1D5D.0020.0002.0845] # MANDAIC LETTER USHENNA
+0846 ; [.1D5E.0020.0002.0846] # MANDAIC LETTER AZ
+0847 ; [.1D5F.0020.0002.0847] # MANDAIC LETTER IT
+0848 ; [.1D60.0020.0002.0848] # MANDAIC LETTER ATT
+0849 ; [.1D61.0020.0002.0849] # MANDAIC LETTER AKSA
+084A ; [.1D62.0020.0002.084A] # MANDAIC LETTER AK
+084B ; [.1D63.0020.0002.084B] # MANDAIC LETTER AL
+084C ; [.1D64.0020.0002.084C] # MANDAIC LETTER AM
+084D ; [.1D65.0020.0002.084D] # MANDAIC LETTER AN
+084E ; [.1D66.0020.0002.084E] # MANDAIC LETTER AS
+084F ; [.1D67.0020.0002.084F] # MANDAIC LETTER IN
+0850 ; [.1D68.0020.0002.0850] # MANDAIC LETTER AP
+0851 ; [.1D69.0020.0002.0851] # MANDAIC LETTER ASZ
+0852 ; [.1D6A.0020.0002.0852] # MANDAIC LETTER AQ
+0853 ; [.1D6B.0020.0002.0853] # MANDAIC LETTER AR
+0854 ; [.1D6C.0020.0002.0854] # MANDAIC LETTER ASH
+0855 ; [.1D6D.0020.0002.0855] # MANDAIC LETTER AT
+0856 ; [.1D6E.0020.0002.0856] # MANDAIC LETTER DUSHENNA
+0857 ; [.1D6F.0020.0002.0857] # MANDAIC LETTER KAD
+0858 ; [.1D70.0020.0002.0858] # MANDAIC LETTER AIN
+0780 ; [.1D71.0020.0002.0780] # THAANA LETTER HAA
+0799 ; [.1D72.0020.0002.0799] # THAANA LETTER HHAA
+079A ; [.1D73.0020.0002.079A] # THAANA LETTER KHAA
+0781 ; [.1D74.0020.0002.0781] # THAANA LETTER SHAVIYANI
+0782 ; [.1D75.0020.0002.0782] # THAANA LETTER NOONU
+0783 ; [.1D76.0020.0002.0783] # THAANA LETTER RAA
+079C ; [.1D77.0020.0002.079C] # THAANA LETTER ZAA
+0784 ; [.1D78.0020.0002.0784] # THAANA LETTER BAA
+0785 ; [.1D79.0020.0002.0785] # THAANA LETTER LHAVIYANI
+0786 ; [.1D7A.0020.0002.0786] # THAANA LETTER KAAFU
+0787 ; [.1D7B.0020.0002.0787] # THAANA LETTER ALIFU
+07A2 ; [.1D7C.0020.0002.07A2] # THAANA LETTER AINU
+07A3 ; [.1D7D.0020.0002.07A3] # THAANA LETTER GHAINU
+0788 ; [.1D7E.0020.0002.0788] # THAANA LETTER VAAVU
+07A5 ; [.1D7F.0020.0002.07A5] # THAANA LETTER WAAVU
+0789 ; [.1D80.0020.0002.0789] # THAANA LETTER MEEMU
+078A ; [.1D81.0020.0002.078A] # THAANA LETTER FAAFU
+078B ; [.1D82.0020.0002.078B] # THAANA LETTER DHAALU
+079B ; [.1D83.0020.0002.079B] # THAANA LETTER THAALU
+078C ; [.1D84.0020.0002.078C] # THAANA LETTER THAA
+0798 ; [.1D85.0020.0002.0798] # THAANA LETTER TTAA
+07A0 ; [.1D86.0020.0002.07A0] # THAANA LETTER TO
+07A1 ; [.1D87.0020.0002.07A1] # THAANA LETTER ZO
+078D ; [.1D88.0020.0002.078D] # THAANA LETTER LAAMU
+078E ; [.1D89.0020.0002.078E] # THAANA LETTER GAAFU
+07A4 ; [.1D8A.0020.0002.07A4] # THAANA LETTER QAAFU
+078F ; [.1D8B.0020.0002.078F] # THAANA LETTER GNAVIYANI
+0790 ; [.1D8C.0020.0002.0790] # THAANA LETTER SEENU
+079D ; [.1D8D.0020.0002.079D] # THAANA LETTER SHEENU
+079E ; [.1D8E.0020.0002.079E] # THAANA LETTER SAADHU
+079F ; [.1D8F.0020.0002.079F] # THAANA LETTER DAADHU
+0791 ; [.1D90.0020.0002.0791] # THAANA LETTER DAVIYANI
+0792 ; [.1D91.0020.0002.0792] # THAANA LETTER ZAVIYANI
+0793 ; [.1D92.0020.0002.0793] # THAANA LETTER TAVIYANI
+0794 ; [.1D93.0020.0002.0794] # THAANA LETTER YAA
+0795 ; [.1D94.0020.0002.0795] # THAANA LETTER PAVIYANI
+0796 ; [.1D95.0020.0002.0796] # THAANA LETTER JAVIYANI
+0797 ; [.1D96.0020.0002.0797] # THAANA LETTER CHAVIYANI
+07B1 ; [.1D97.0020.0002.07B1] # THAANA LETTER NAA
+07A6 ; [.1D98.0020.0002.07A6] # THAANA ABAFILI
+07A7 ; [.1D99.0020.0002.07A7] # THAANA AABAAFILI
+07A8 ; [.1D9A.0020.0002.07A8] # THAANA IBIFILI
+07A9 ; [.1D9B.0020.0002.07A9] # THAANA EEBEEFILI
+07AA ; [.1D9C.0020.0002.07AA] # THAANA UBUFILI
+07AB ; [.1D9D.0020.0002.07AB] # THAANA OOBOOFILI
+07AC ; [.1D9E.0020.0002.07AC] # THAANA EBEFILI
+07AD ; [.1D9F.0020.0002.07AD] # THAANA EYBEYFILI
+07AE ; [.1DA0.0020.0002.07AE] # THAANA OBOFILI
+07AF ; [.1DA1.0020.0002.07AF] # THAANA OABOAFILI
+07B0 ; [.1DA2.0020.0002.07B0] # THAANA SUKUN
+07CA ; [.1DA3.0020.0002.07CA] # NKO LETTER A
+07CB ; [.1DA4.0020.0002.07CB] # NKO LETTER EE
+07CC ; [.1DA5.0020.0002.07CC] # NKO LETTER I
+07CD ; [.1DA6.0020.0002.07CD] # NKO LETTER E
+07CE ; [.1DA7.0020.0002.07CE] # NKO LETTER U
+07CF ; [.1DA8.0020.0002.07CF] # NKO LETTER OO
+07D0 ; [.1DA9.0020.0002.07D0] # NKO LETTER O
+07D1 ; [.1DAA.0020.0002.07D1] # NKO LETTER DAGBASINNA
+07D2 ; [.1DAB.0020.0002.07D2] # NKO LETTER N
+07D3 ; [.1DAC.0020.0002.07D3] # NKO LETTER BA
+07D4 ; [.1DAD.0020.0002.07D4] # NKO LETTER PA
+07D5 ; [.1DAE.0020.0002.07D5] # NKO LETTER TA
+07D6 ; [.1DAF.0020.0002.07D6] # NKO LETTER JA
+07E8 ; [.1DAF.0020.0004.07E8][.0000.0139.0004.07E8] # NKO LETTER JONA JA
+07D7 ; [.1DB0.0020.0002.07D7] # NKO LETTER CHA
+07E9 ; [.1DB0.0020.0004.07E9][.0000.0139.0004.07E9] # NKO LETTER JONA CHA
+07D8 ; [.1DB1.0020.0002.07D8] # NKO LETTER DA
+07D9 ; [.1DB2.0020.0002.07D9] # NKO LETTER RA
+07EA ; [.1DB2.0020.0004.07EA][.0000.0139.0004.07EA] # NKO LETTER JONA RA
+07DA ; [.1DB3.0020.0002.07DA] # NKO LETTER RRA
+07DB ; [.1DB4.0020.0002.07DB] # NKO LETTER SA
+07DC ; [.1DB5.0020.0002.07DC] # NKO LETTER GBA
+07DD ; [.1DB6.0020.0002.07DD] # NKO LETTER FA
+07DE ; [.1DB7.0020.0002.07DE] # NKO LETTER KA
+07DF ; [.1DB8.0020.0002.07DF] # NKO LETTER LA
+07E0 ; [.1DB9.0020.0002.07E0] # NKO LETTER NA WOLOSO
+07E1 ; [.1DBA.0020.0002.07E1] # NKO LETTER MA
+07E2 ; [.1DBB.0020.0002.07E2] # NKO LETTER NYA
+07E3 ; [.1DBC.0020.0002.07E3] # NKO LETTER NA
+07E4 ; [.1DBD.0020.0002.07E4] # NKO LETTER HA
+07E5 ; [.1DBE.0020.0002.07E5] # NKO LETTER WA
+07E6 ; [.1DBF.0020.0002.07E6] # NKO LETTER YA
+07E7 ; [.1DC0.0020.0002.07E7] # NKO LETTER NYA WOLOSO
+07F4 ; [.1DC1.0020.0002.07F4] # NKO HIGH TONE APOSTROPHE
+07F5 ; [.1DC2.0020.0002.07F5] # NKO LOW TONE APOSTROPHE
+2D30 ; [.1DC3.0020.0002.2D30] # TIFINAGH LETTER YA
+2D31 ; [.1DC4.0020.0002.2D31] # TIFINAGH LETTER YAB
+2D32 ; [.1DC5.0020.0002.2D32] # TIFINAGH LETTER YABH
+2D33 ; [.1DC6.0020.0002.2D33] # TIFINAGH LETTER YAG
+2D34 ; [.1DC7.0020.0002.2D34] # TIFINAGH LETTER YAGHH
+2D35 ; [.1DC8.0020.0002.2D35] # TIFINAGH LETTER BERBER ACADEMY YAJ
+2D36 ; [.1DC9.0020.0002.2D36] # TIFINAGH LETTER YAJ
+2D37 ; [.1DCA.0020.0002.2D37] # TIFINAGH LETTER YAD
+2D38 ; [.1DCB.0020.0002.2D38] # TIFINAGH LETTER YADH
+2D39 ; [.1DCC.0020.0002.2D39] # TIFINAGH LETTER YADD
+2D3A ; [.1DCD.0020.0002.2D3A] # TIFINAGH LETTER YADDH
+2D3B ; [.1DCE.0020.0002.2D3B] # TIFINAGH LETTER YEY
+2D66 ; [.1DCF.0020.0002.2D66] # TIFINAGH LETTER YE
+2D3C ; [.1DD0.0020.0002.2D3C] # TIFINAGH LETTER YAF
+2D3D ; [.1DD1.0020.0002.2D3D] # TIFINAGH LETTER YAK
+2D3E ; [.1DD2.0020.0002.2D3E] # TIFINAGH LETTER TUAREG YAK
+2D3F ; [.1DD3.0020.0002.2D3F] # TIFINAGH LETTER YAKHH
+2D40 ; [.1DD4.0020.0002.2D40] # TIFINAGH LETTER YAH
+2D41 ; [.1DD5.0020.0002.2D41] # TIFINAGH LETTER BERBER ACADEMY YAH
+2D42 ; [.1DD6.0020.0002.2D42] # TIFINAGH LETTER TUAREG YAH
+2D43 ; [.1DD7.0020.0002.2D43] # TIFINAGH LETTER YAHH
+2D44 ; [.1DD8.0020.0002.2D44] # TIFINAGH LETTER YAA
+2D45 ; [.1DD9.0020.0002.2D45] # TIFINAGH LETTER YAKH
+2D46 ; [.1DDA.0020.0002.2D46] # TIFINAGH LETTER TUAREG YAKH
+2D47 ; [.1DDB.0020.0002.2D47] # TIFINAGH LETTER YAQ
+2D48 ; [.1DDC.0020.0002.2D48] # TIFINAGH LETTER TUAREG YAQ
+2D49 ; [.1DDD.0020.0002.2D49] # TIFINAGH LETTER YI
+2D4A ; [.1DDE.0020.0002.2D4A] # TIFINAGH LETTER YAZH
+2D4B ; [.1DDF.0020.0002.2D4B] # TIFINAGH LETTER AHAGGAR YAZH
+2D4C ; [.1DE0.0020.0002.2D4C] # TIFINAGH LETTER TUAREG YAZH
+2D4D ; [.1DE1.0020.0002.2D4D] # TIFINAGH LETTER YAL
+2D4E ; [.1DE2.0020.0002.2D4E] # TIFINAGH LETTER YAM
+2D4F ; [.1DE3.0020.0002.2D4F] # TIFINAGH LETTER YAN
+2D50 ; [.1DE4.0020.0002.2D50] # TIFINAGH LETTER TUAREG YAGN
+2D51 ; [.1DE5.0020.0002.2D51] # TIFINAGH LETTER TUAREG YANG
+2D52 ; [.1DE6.0020.0002.2D52] # TIFINAGH LETTER YAP
+2D53 ; [.1DE7.0020.0002.2D53] # TIFINAGH LETTER YU
+2D67 ; [.1DE8.0020.0002.2D67] # TIFINAGH LETTER YO
+2D54 ; [.1DE9.0020.0002.2D54] # TIFINAGH LETTER YAR
+2D55 ; [.1DEA.0020.0002.2D55] # TIFINAGH LETTER YARR
+2D56 ; [.1DEB.0020.0002.2D56] # TIFINAGH LETTER YAGH
+2D57 ; [.1DEC.0020.0002.2D57] # TIFINAGH LETTER TUAREG YAGH
+2D58 ; [.1DED.0020.0002.2D58] # TIFINAGH LETTER AYER YAGH
+2D59 ; [.1DEE.0020.0002.2D59] # TIFINAGH LETTER YAS
+2D5A ; [.1DEF.0020.0002.2D5A] # TIFINAGH LETTER YASS
+2D5B ; [.1DF0.0020.0002.2D5B] # TIFINAGH LETTER YASH
+2D5C ; [.1DF1.0020.0002.2D5C] # TIFINAGH LETTER YAT
+2D5D ; [.1DF2.0020.0002.2D5D] # TIFINAGH LETTER YATH
+2D5E ; [.1DF3.0020.0002.2D5E] # TIFINAGH LETTER YACH
+2D5F ; [.1DF4.0020.0002.2D5F] # TIFINAGH LETTER YATT
+2D60 ; [.1DF5.0020.0002.2D60] # TIFINAGH LETTER YAV
+2D61 ; [.1DF6.0020.0002.2D61] # TIFINAGH LETTER YAW
+2D62 ; [.1DF7.0020.0002.2D62] # TIFINAGH LETTER YAY
+2D63 ; [.1DF8.0020.0002.2D63] # TIFINAGH LETTER YAZ
+2D64 ; [.1DF9.0020.0002.2D64] # TIFINAGH LETTER TAWELLEMET YAZ
+2D65 ; [.1DFA.0020.0002.2D65] # TIFINAGH LETTER YAZZ
+2D6F ; [.1DFB.0020.0002.2D6F] # TIFINAGH MODIFIER LETTER LABIALIZATION MARK
+1200 ; [.1DFC.0020.0002.1200] # ETHIOPIC SYLLABLE HA
+1201 ; [.1DFD.0020.0002.1201] # ETHIOPIC SYLLABLE HU
+1202 ; [.1DFE.0020.0002.1202] # ETHIOPIC SYLLABLE HI
+1203 ; [.1DFF.0020.0002.1203] # ETHIOPIC SYLLABLE HAA
+1204 ; [.1E00.0020.0002.1204] # ETHIOPIC SYLLABLE HEE
+1205 ; [.1E01.0020.0002.1205] # ETHIOPIC SYLLABLE HE
+1206 ; [.1E02.0020.0002.1206] # ETHIOPIC SYLLABLE HO
+1207 ; [.1E03.0020.0002.1207] # ETHIOPIC SYLLABLE HOA
+1208 ; [.1E04.0020.0002.1208] # ETHIOPIC SYLLABLE LA
+1209 ; [.1E05.0020.0002.1209] # ETHIOPIC SYLLABLE LU
+120A ; [.1E06.0020.0002.120A] # ETHIOPIC SYLLABLE LI
+120B ; [.1E07.0020.0002.120B] # ETHIOPIC SYLLABLE LAA
+120C ; [.1E08.0020.0002.120C] # ETHIOPIC SYLLABLE LEE
+120D ; [.1E09.0020.0002.120D] # ETHIOPIC SYLLABLE LE
+120E ; [.1E0A.0020.0002.120E] # ETHIOPIC SYLLABLE LO
+120F ; [.1E0B.0020.0002.120F] # ETHIOPIC SYLLABLE LWA
+2D80 ; [.1E0C.0020.0002.2D80] # ETHIOPIC SYLLABLE LOA
+1210 ; [.1E0D.0020.0002.1210] # ETHIOPIC SYLLABLE HHA
+1211 ; [.1E0E.0020.0002.1211] # ETHIOPIC SYLLABLE HHU
+1212 ; [.1E0F.0020.0002.1212] # ETHIOPIC SYLLABLE HHI
+1213 ; [.1E10.0020.0002.1213] # ETHIOPIC SYLLABLE HHAA
+1214 ; [.1E11.0020.0002.1214] # ETHIOPIC SYLLABLE HHEE
+1215 ; [.1E12.0020.0002.1215] # ETHIOPIC SYLLABLE HHE
+1216 ; [.1E13.0020.0002.1216] # ETHIOPIC SYLLABLE HHO
+1217 ; [.1E14.0020.0002.1217] # ETHIOPIC SYLLABLE HHWA
+1218 ; [.1E15.0020.0002.1218] # ETHIOPIC SYLLABLE MA
+1219 ; [.1E16.0020.0002.1219] # ETHIOPIC SYLLABLE MU
+121A ; [.1E17.0020.0002.121A] # ETHIOPIC SYLLABLE MI
+121B ; [.1E18.0020.0002.121B] # ETHIOPIC SYLLABLE MAA
+121C ; [.1E19.0020.0002.121C] # ETHIOPIC SYLLABLE MEE
+121D ; [.1E1A.0020.0002.121D] # ETHIOPIC SYLLABLE ME
+121E ; [.1E1B.0020.0002.121E] # ETHIOPIC SYLLABLE MO
+121F ; [.1E1C.0020.0002.121F] # ETHIOPIC SYLLABLE MWA
+1380 ; [.1E1D.0020.0002.1380] # ETHIOPIC SYLLABLE SEBATBEIT MWA
+1381 ; [.1E1E.0020.0002.1381] # ETHIOPIC SYLLABLE MWI
+1382 ; [.1E1F.0020.0002.1382] # ETHIOPIC SYLLABLE MWEE
+1383 ; [.1E20.0020.0002.1383] # ETHIOPIC SYLLABLE MWE
+2D81 ; [.1E21.0020.0002.2D81] # ETHIOPIC SYLLABLE MOA
+1220 ; [.1E22.0020.0002.1220] # ETHIOPIC SYLLABLE SZA
+1221 ; [.1E23.0020.0002.1221] # ETHIOPIC SYLLABLE SZU
+1222 ; [.1E24.0020.0002.1222] # ETHIOPIC SYLLABLE SZI
+1223 ; [.1E25.0020.0002.1223] # ETHIOPIC SYLLABLE SZAA
+1224 ; [.1E26.0020.0002.1224] # ETHIOPIC SYLLABLE SZEE
+1225 ; [.1E27.0020.0002.1225] # ETHIOPIC SYLLABLE SZE
+1226 ; [.1E28.0020.0002.1226] # ETHIOPIC SYLLABLE SZO
+1227 ; [.1E29.0020.0002.1227] # ETHIOPIC SYLLABLE SZWA
+1228 ; [.1E2A.0020.0002.1228] # ETHIOPIC SYLLABLE RA
+1229 ; [.1E2B.0020.0002.1229] # ETHIOPIC SYLLABLE RU
+122A ; [.1E2C.0020.0002.122A] # ETHIOPIC SYLLABLE RI
+122B ; [.1E2D.0020.0002.122B] # ETHIOPIC SYLLABLE RAA
+122C ; [.1E2E.0020.0002.122C] # ETHIOPIC SYLLABLE REE
+122D ; [.1E2F.0020.0002.122D] # ETHIOPIC SYLLABLE RE
+122E ; [.1E30.0020.0002.122E] # ETHIOPIC SYLLABLE RO
+122F ; [.1E31.0020.0002.122F] # ETHIOPIC SYLLABLE RWA
+2D82 ; [.1E32.0020.0002.2D82] # ETHIOPIC SYLLABLE ROA
+1230 ; [.1E33.0020.0002.1230] # ETHIOPIC SYLLABLE SA
+1231 ; [.1E34.0020.0002.1231] # ETHIOPIC SYLLABLE SU
+1232 ; [.1E35.0020.0002.1232] # ETHIOPIC SYLLABLE SI
+1233 ; [.1E36.0020.0002.1233] # ETHIOPIC SYLLABLE SAA
+1234 ; [.1E37.0020.0002.1234] # ETHIOPIC SYLLABLE SEE
+1235 ; [.1E38.0020.0002.1235] # ETHIOPIC SYLLABLE SE
+1236 ; [.1E39.0020.0002.1236] # ETHIOPIC SYLLABLE SO
+1237 ; [.1E3A.0020.0002.1237] # ETHIOPIC SYLLABLE SWA
+2D83 ; [.1E3B.0020.0002.2D83] # ETHIOPIC SYLLABLE SOA
+AB01 ; [.1E3C.0020.0002.AB01] # ETHIOPIC SYLLABLE TTHU
+AB02 ; [.1E3D.0020.0002.AB02] # ETHIOPIC SYLLABLE TTHI
+AB03 ; [.1E3E.0020.0002.AB03] # ETHIOPIC SYLLABLE TTHAA
+AB04 ; [.1E3F.0020.0002.AB04] # ETHIOPIC SYLLABLE TTHEE
+AB05 ; [.1E40.0020.0002.AB05] # ETHIOPIC SYLLABLE TTHE
+AB06 ; [.1E41.0020.0002.AB06] # ETHIOPIC SYLLABLE TTHO
+1238 ; [.1E42.0020.0002.1238] # ETHIOPIC SYLLABLE SHA
+1239 ; [.1E43.0020.0002.1239] # ETHIOPIC SYLLABLE SHU
+123A ; [.1E44.0020.0002.123A] # ETHIOPIC SYLLABLE SHI
+123B ; [.1E45.0020.0002.123B] # ETHIOPIC SYLLABLE SHAA
+123C ; [.1E46.0020.0002.123C] # ETHIOPIC SYLLABLE SHEE
+123D ; [.1E47.0020.0002.123D] # ETHIOPIC SYLLABLE SHE
+123E ; [.1E48.0020.0002.123E] # ETHIOPIC SYLLABLE SHO
+123F ; [.1E49.0020.0002.123F] # ETHIOPIC SYLLABLE SHWA
+2D84 ; [.1E4A.0020.0002.2D84] # ETHIOPIC SYLLABLE SHOA
+1240 ; [.1E4B.0020.0002.1240] # ETHIOPIC SYLLABLE QA
+1241 ; [.1E4C.0020.0002.1241] # ETHIOPIC SYLLABLE QU
+1242 ; [.1E4D.0020.0002.1242] # ETHIOPIC SYLLABLE QI
+1243 ; [.1E4E.0020.0002.1243] # ETHIOPIC SYLLABLE QAA
+1244 ; [.1E4F.0020.0002.1244] # ETHIOPIC SYLLABLE QEE
+1245 ; [.1E50.0020.0002.1245] # ETHIOPIC SYLLABLE QE
+1246 ; [.1E51.0020.0002.1246] # ETHIOPIC SYLLABLE QO
+1247 ; [.1E52.0020.0002.1247] # ETHIOPIC SYLLABLE QOA
+1248 ; [.1E53.0020.0002.1248] # ETHIOPIC SYLLABLE QWA
+124A ; [.1E54.0020.0002.124A] # ETHIOPIC SYLLABLE QWI
+124B ; [.1E55.0020.0002.124B] # ETHIOPIC SYLLABLE QWAA
+124C ; [.1E56.0020.0002.124C] # ETHIOPIC SYLLABLE QWEE
+124D ; [.1E57.0020.0002.124D] # ETHIOPIC SYLLABLE QWE
+1250 ; [.1E58.0020.0002.1250] # ETHIOPIC SYLLABLE QHA
+1251 ; [.1E59.0020.0002.1251] # ETHIOPIC SYLLABLE QHU
+1252 ; [.1E5A.0020.0002.1252] # ETHIOPIC SYLLABLE QHI
+1253 ; [.1E5B.0020.0002.1253] # ETHIOPIC SYLLABLE QHAA
+1254 ; [.1E5C.0020.0002.1254] # ETHIOPIC SYLLABLE QHEE
+1255 ; [.1E5D.0020.0002.1255] # ETHIOPIC SYLLABLE QHE
+1256 ; [.1E5E.0020.0002.1256] # ETHIOPIC SYLLABLE QHO
+1258 ; [.1E5F.0020.0002.1258] # ETHIOPIC SYLLABLE QHWA
+125A ; [.1E60.0020.0002.125A] # ETHIOPIC SYLLABLE QHWI
+125B ; [.1E61.0020.0002.125B] # ETHIOPIC SYLLABLE QHWAA
+125C ; [.1E62.0020.0002.125C] # ETHIOPIC SYLLABLE QHWEE
+125D ; [.1E63.0020.0002.125D] # ETHIOPIC SYLLABLE QHWE
+1260 ; [.1E64.0020.0002.1260] # ETHIOPIC SYLLABLE BA
+1261 ; [.1E65.0020.0002.1261] # ETHIOPIC SYLLABLE BU
+1262 ; [.1E66.0020.0002.1262] # ETHIOPIC SYLLABLE BI
+1263 ; [.1E67.0020.0002.1263] # ETHIOPIC SYLLABLE BAA
+1264 ; [.1E68.0020.0002.1264] # ETHIOPIC SYLLABLE BEE
+1265 ; [.1E69.0020.0002.1265] # ETHIOPIC SYLLABLE BE
+1266 ; [.1E6A.0020.0002.1266] # ETHIOPIC SYLLABLE BO
+1267 ; [.1E6B.0020.0002.1267] # ETHIOPIC SYLLABLE BWA
+1384 ; [.1E6C.0020.0002.1384] # ETHIOPIC SYLLABLE SEBATBEIT BWA
+1385 ; [.1E6D.0020.0002.1385] # ETHIOPIC SYLLABLE BWI
+1386 ; [.1E6E.0020.0002.1386] # ETHIOPIC SYLLABLE BWEE
+1387 ; [.1E6F.0020.0002.1387] # ETHIOPIC SYLLABLE BWE
+2D85 ; [.1E70.0020.0002.2D85] # ETHIOPIC SYLLABLE BOA
+1268 ; [.1E71.0020.0002.1268] # ETHIOPIC SYLLABLE VA
+1269 ; [.1E72.0020.0002.1269] # ETHIOPIC SYLLABLE VU
+126A ; [.1E73.0020.0002.126A] # ETHIOPIC SYLLABLE VI
+126B ; [.1E74.0020.0002.126B] # ETHIOPIC SYLLABLE VAA
+126C ; [.1E75.0020.0002.126C] # ETHIOPIC SYLLABLE VEE
+126D ; [.1E76.0020.0002.126D] # ETHIOPIC SYLLABLE VE
+126E ; [.1E77.0020.0002.126E] # ETHIOPIC SYLLABLE VO
+126F ; [.1E78.0020.0002.126F] # ETHIOPIC SYLLABLE VWA
+1270 ; [.1E79.0020.0002.1270] # ETHIOPIC SYLLABLE TA
+1271 ; [.1E7A.0020.0002.1271] # ETHIOPIC SYLLABLE TU
+1272 ; [.1E7B.0020.0002.1272] # ETHIOPIC SYLLABLE TI
+1273 ; [.1E7C.0020.0002.1273] # ETHIOPIC SYLLABLE TAA
+1274 ; [.1E7D.0020.0002.1274] # ETHIOPIC SYLLABLE TEE
+1275 ; [.1E7E.0020.0002.1275] # ETHIOPIC SYLLABLE TE
+1276 ; [.1E7F.0020.0002.1276] # ETHIOPIC SYLLABLE TO
+1277 ; [.1E80.0020.0002.1277] # ETHIOPIC SYLLABLE TWA
+2D86 ; [.1E81.0020.0002.2D86] # ETHIOPIC SYLLABLE TOA
+1278 ; [.1E82.0020.0002.1278] # ETHIOPIC SYLLABLE CA
+1279 ; [.1E83.0020.0002.1279] # ETHIOPIC SYLLABLE CU
+127A ; [.1E84.0020.0002.127A] # ETHIOPIC SYLLABLE CI
+127B ; [.1E85.0020.0002.127B] # ETHIOPIC SYLLABLE CAA
+127C ; [.1E86.0020.0002.127C] # ETHIOPIC SYLLABLE CEE
+127D ; [.1E87.0020.0002.127D] # ETHIOPIC SYLLABLE CE
+127E ; [.1E88.0020.0002.127E] # ETHIOPIC SYLLABLE CO
+127F ; [.1E89.0020.0002.127F] # ETHIOPIC SYLLABLE CWA
+2D87 ; [.1E8A.0020.0002.2D87] # ETHIOPIC SYLLABLE COA
+1280 ; [.1E8B.0020.0002.1280] # ETHIOPIC SYLLABLE XA
+1281 ; [.1E8C.0020.0002.1281] # ETHIOPIC SYLLABLE XU
+1282 ; [.1E8D.0020.0002.1282] # ETHIOPIC SYLLABLE XI
+1283 ; [.1E8E.0020.0002.1283] # ETHIOPIC SYLLABLE XAA
+1284 ; [.1E8F.0020.0002.1284] # ETHIOPIC SYLLABLE XEE
+1285 ; [.1E90.0020.0002.1285] # ETHIOPIC SYLLABLE XE
+1286 ; [.1E91.0020.0002.1286] # ETHIOPIC SYLLABLE XO
+1287 ; [.1E92.0020.0002.1287] # ETHIOPIC SYLLABLE XOA
+1288 ; [.1E93.0020.0002.1288] # ETHIOPIC SYLLABLE XWA
+128A ; [.1E94.0020.0002.128A] # ETHIOPIC SYLLABLE XWI
+128B ; [.1E95.0020.0002.128B] # ETHIOPIC SYLLABLE XWAA
+128C ; [.1E96.0020.0002.128C] # ETHIOPIC SYLLABLE XWEE
+128D ; [.1E97.0020.0002.128D] # ETHIOPIC SYLLABLE XWE
+1290 ; [.1E98.0020.0002.1290] # ETHIOPIC SYLLABLE NA
+1291 ; [.1E99.0020.0002.1291] # ETHIOPIC SYLLABLE NU
+1292 ; [.1E9A.0020.0002.1292] # ETHIOPIC SYLLABLE NI
+1293 ; [.1E9B.0020.0002.1293] # ETHIOPIC SYLLABLE NAA
+1294 ; [.1E9C.0020.0002.1294] # ETHIOPIC SYLLABLE NEE
+1295 ; [.1E9D.0020.0002.1295] # ETHIOPIC SYLLABLE NE
+1296 ; [.1E9E.0020.0002.1296] # ETHIOPIC SYLLABLE NO
+1297 ; [.1E9F.0020.0002.1297] # ETHIOPIC SYLLABLE NWA
+2D88 ; [.1EA0.0020.0002.2D88] # ETHIOPIC SYLLABLE NOA
+1298 ; [.1EA1.0020.0002.1298] # ETHIOPIC SYLLABLE NYA
+1299 ; [.1EA2.0020.0002.1299] # ETHIOPIC SYLLABLE NYU
+129A ; [.1EA3.0020.0002.129A] # ETHIOPIC SYLLABLE NYI
+129B ; [.1EA4.0020.0002.129B] # ETHIOPIC SYLLABLE NYAA
+129C ; [.1EA5.0020.0002.129C] # ETHIOPIC SYLLABLE NYEE
+129D ; [.1EA6.0020.0002.129D] # ETHIOPIC SYLLABLE NYE
+129E ; [.1EA7.0020.0002.129E] # ETHIOPIC SYLLABLE NYO
+129F ; [.1EA8.0020.0002.129F] # ETHIOPIC SYLLABLE NYWA
+2D89 ; [.1EA9.0020.0002.2D89] # ETHIOPIC SYLLABLE NYOA
+12A0 ; [.1EAA.0020.0002.12A0] # ETHIOPIC SYLLABLE GLOTTAL A
+12A1 ; [.1EAB.0020.0002.12A1] # ETHIOPIC SYLLABLE GLOTTAL U
+12A2 ; [.1EAC.0020.0002.12A2] # ETHIOPIC SYLLABLE GLOTTAL I
+12A3 ; [.1EAD.0020.0002.12A3] # ETHIOPIC SYLLABLE GLOTTAL AA
+12A4 ; [.1EAE.0020.0002.12A4] # ETHIOPIC SYLLABLE GLOTTAL EE
+12A5 ; [.1EAF.0020.0002.12A5] # ETHIOPIC SYLLABLE GLOTTAL E
+12A6 ; [.1EB0.0020.0002.12A6] # ETHIOPIC SYLLABLE GLOTTAL O
+12A7 ; [.1EB1.0020.0002.12A7] # ETHIOPIC SYLLABLE GLOTTAL WA
+2D8A ; [.1EB2.0020.0002.2D8A] # ETHIOPIC SYLLABLE GLOTTAL OA
+12A8 ; [.1EB3.0020.0002.12A8] # ETHIOPIC SYLLABLE KA
+12A9 ; [.1EB4.0020.0002.12A9] # ETHIOPIC SYLLABLE KU
+12AA ; [.1EB5.0020.0002.12AA] # ETHIOPIC SYLLABLE KI
+12AB ; [.1EB6.0020.0002.12AB] # ETHIOPIC SYLLABLE KAA
+12AC ; [.1EB7.0020.0002.12AC] # ETHIOPIC SYLLABLE KEE
+12AD ; [.1EB8.0020.0002.12AD] # ETHIOPIC SYLLABLE KE
+12AE ; [.1EB9.0020.0002.12AE] # ETHIOPIC SYLLABLE KO
+12AF ; [.1EBA.0020.0002.12AF] # ETHIOPIC SYLLABLE KOA
+12B0 ; [.1EBB.0020.0002.12B0] # ETHIOPIC SYLLABLE KWA
+12B2 ; [.1EBC.0020.0002.12B2] # ETHIOPIC SYLLABLE KWI
+12B3 ; [.1EBD.0020.0002.12B3] # ETHIOPIC SYLLABLE KWAA
+12B4 ; [.1EBE.0020.0002.12B4] # ETHIOPIC SYLLABLE KWEE
+12B5 ; [.1EBF.0020.0002.12B5] # ETHIOPIC SYLLABLE KWE
+12B8 ; [.1EC0.0020.0002.12B8] # ETHIOPIC SYLLABLE KXA
+12B9 ; [.1EC1.0020.0002.12B9] # ETHIOPIC SYLLABLE KXU
+12BA ; [.1EC2.0020.0002.12BA] # ETHIOPIC SYLLABLE KXI
+12BB ; [.1EC3.0020.0002.12BB] # ETHIOPIC SYLLABLE KXAA
+12BC ; [.1EC4.0020.0002.12BC] # ETHIOPIC SYLLABLE KXEE
+12BD ; [.1EC5.0020.0002.12BD] # ETHIOPIC SYLLABLE KXE
+12BE ; [.1EC6.0020.0002.12BE] # ETHIOPIC SYLLABLE KXO
+12C0 ; [.1EC7.0020.0002.12C0] # ETHIOPIC SYLLABLE KXWA
+12C2 ; [.1EC8.0020.0002.12C2] # ETHIOPIC SYLLABLE KXWI
+12C3 ; [.1EC9.0020.0002.12C3] # ETHIOPIC SYLLABLE KXWAA
+12C4 ; [.1ECA.0020.0002.12C4] # ETHIOPIC SYLLABLE KXWEE
+12C5 ; [.1ECB.0020.0002.12C5] # ETHIOPIC SYLLABLE KXWE
+12C8 ; [.1ECC.0020.0002.12C8] # ETHIOPIC SYLLABLE WA
+12C9 ; [.1ECD.0020.0002.12C9] # ETHIOPIC SYLLABLE WU
+12CA ; [.1ECE.0020.0002.12CA] # ETHIOPIC SYLLABLE WI
+12CB ; [.1ECF.0020.0002.12CB] # ETHIOPIC SYLLABLE WAA
+12CC ; [.1ED0.0020.0002.12CC] # ETHIOPIC SYLLABLE WEE
+12CD ; [.1ED1.0020.0002.12CD] # ETHIOPIC SYLLABLE WE
+12CE ; [.1ED2.0020.0002.12CE] # ETHIOPIC SYLLABLE WO
+12CF ; [.1ED3.0020.0002.12CF] # ETHIOPIC SYLLABLE WOA
+12D0 ; [.1ED4.0020.0002.12D0] # ETHIOPIC SYLLABLE PHARYNGEAL A
+12D1 ; [.1ED5.0020.0002.12D1] # ETHIOPIC SYLLABLE PHARYNGEAL U
+12D2 ; [.1ED6.0020.0002.12D2] # ETHIOPIC SYLLABLE PHARYNGEAL I
+12D3 ; [.1ED7.0020.0002.12D3] # ETHIOPIC SYLLABLE PHARYNGEAL AA
+12D4 ; [.1ED8.0020.0002.12D4] # ETHIOPIC SYLLABLE PHARYNGEAL EE
+12D5 ; [.1ED9.0020.0002.12D5] # ETHIOPIC SYLLABLE PHARYNGEAL E
+12D6 ; [.1EDA.0020.0002.12D6] # ETHIOPIC SYLLABLE PHARYNGEAL O
+12D8 ; [.1EDB.0020.0002.12D8] # ETHIOPIC SYLLABLE ZA
+12D9 ; [.1EDC.0020.0002.12D9] # ETHIOPIC SYLLABLE ZU
+12DA ; [.1EDD.0020.0002.12DA] # ETHIOPIC SYLLABLE ZI
+12DB ; [.1EDE.0020.0002.12DB] # ETHIOPIC SYLLABLE ZAA
+12DC ; [.1EDF.0020.0002.12DC] # ETHIOPIC SYLLABLE ZEE
+12DD ; [.1EE0.0020.0002.12DD] # ETHIOPIC SYLLABLE ZE
+12DE ; [.1EE1.0020.0002.12DE] # ETHIOPIC SYLLABLE ZO
+12DF ; [.1EE2.0020.0002.12DF] # ETHIOPIC SYLLABLE ZWA
+2D8B ; [.1EE3.0020.0002.2D8B] # ETHIOPIC SYLLABLE ZOA
+AB11 ; [.1EE4.0020.0002.AB11] # ETHIOPIC SYLLABLE DZU
+AB12 ; [.1EE5.0020.0002.AB12] # ETHIOPIC SYLLABLE DZI
+AB13 ; [.1EE6.0020.0002.AB13] # ETHIOPIC SYLLABLE DZAA
+AB14 ; [.1EE7.0020.0002.AB14] # ETHIOPIC SYLLABLE DZEE
+AB15 ; [.1EE8.0020.0002.AB15] # ETHIOPIC SYLLABLE DZE
+AB16 ; [.1EE9.0020.0002.AB16] # ETHIOPIC SYLLABLE DZO
+12E0 ; [.1EEA.0020.0002.12E0] # ETHIOPIC SYLLABLE ZHA
+12E1 ; [.1EEB.0020.0002.12E1] # ETHIOPIC SYLLABLE ZHU
+12E2 ; [.1EEC.0020.0002.12E2] # ETHIOPIC SYLLABLE ZHI
+12E3 ; [.1EED.0020.0002.12E3] # ETHIOPIC SYLLABLE ZHAA
+12E4 ; [.1EEE.0020.0002.12E4] # ETHIOPIC SYLLABLE ZHEE
+12E5 ; [.1EEF.0020.0002.12E5] # ETHIOPIC SYLLABLE ZHE
+12E6 ; [.1EF0.0020.0002.12E6] # ETHIOPIC SYLLABLE ZHO
+12E7 ; [.1EF1.0020.0002.12E7] # ETHIOPIC SYLLABLE ZHWA
+12E8 ; [.1EF2.0020.0002.12E8] # ETHIOPIC SYLLABLE YA
+12E9 ; [.1EF3.0020.0002.12E9] # ETHIOPIC SYLLABLE YU
+12EA ; [.1EF4.0020.0002.12EA] # ETHIOPIC SYLLABLE YI
+12EB ; [.1EF5.0020.0002.12EB] # ETHIOPIC SYLLABLE YAA
+12EC ; [.1EF6.0020.0002.12EC] # ETHIOPIC SYLLABLE YEE
+12ED ; [.1EF7.0020.0002.12ED] # ETHIOPIC SYLLABLE YE
+12EE ; [.1EF8.0020.0002.12EE] # ETHIOPIC SYLLABLE YO
+12EF ; [.1EF9.0020.0002.12EF] # ETHIOPIC SYLLABLE YOA
+12F0 ; [.1EFA.0020.0002.12F0] # ETHIOPIC SYLLABLE DA
+12F1 ; [.1EFB.0020.0002.12F1] # ETHIOPIC SYLLABLE DU
+12F2 ; [.1EFC.0020.0002.12F2] # ETHIOPIC SYLLABLE DI
+12F3 ; [.1EFD.0020.0002.12F3] # ETHIOPIC SYLLABLE DAA
+12F4 ; [.1EFE.0020.0002.12F4] # ETHIOPIC SYLLABLE DEE
+12F5 ; [.1EFF.0020.0002.12F5] # ETHIOPIC SYLLABLE DE
+12F6 ; [.1F00.0020.0002.12F6] # ETHIOPIC SYLLABLE DO
+12F7 ; [.1F01.0020.0002.12F7] # ETHIOPIC SYLLABLE DWA
+2D8C ; [.1F02.0020.0002.2D8C] # ETHIOPIC SYLLABLE DOA
+AB09 ; [.1F03.0020.0002.AB09] # ETHIOPIC SYLLABLE DDHU
+AB0A ; [.1F04.0020.0002.AB0A] # ETHIOPIC SYLLABLE DDHI
+AB0B ; [.1F05.0020.0002.AB0B] # ETHIOPIC SYLLABLE DDHAA
+AB0C ; [.1F06.0020.0002.AB0C] # ETHIOPIC SYLLABLE DDHEE
+AB0D ; [.1F07.0020.0002.AB0D] # ETHIOPIC SYLLABLE DDHE
+AB0E ; [.1F08.0020.0002.AB0E] # ETHIOPIC SYLLABLE DDHO
+12F8 ; [.1F09.0020.0002.12F8] # ETHIOPIC SYLLABLE DDA
+12F9 ; [.1F0A.0020.0002.12F9] # ETHIOPIC SYLLABLE DDU
+12FA ; [.1F0B.0020.0002.12FA] # ETHIOPIC SYLLABLE DDI
+12FB ; [.1F0C.0020.0002.12FB] # ETHIOPIC SYLLABLE DDAA
+12FC ; [.1F0D.0020.0002.12FC] # ETHIOPIC SYLLABLE DDEE
+12FD ; [.1F0E.0020.0002.12FD] # ETHIOPIC SYLLABLE DDE
+12FE ; [.1F0F.0020.0002.12FE] # ETHIOPIC SYLLABLE DDO
+12FF ; [.1F10.0020.0002.12FF] # ETHIOPIC SYLLABLE DDWA
+2D8D ; [.1F11.0020.0002.2D8D] # ETHIOPIC SYLLABLE DDOA
+1300 ; [.1F12.0020.0002.1300] # ETHIOPIC SYLLABLE JA
+1301 ; [.1F13.0020.0002.1301] # ETHIOPIC SYLLABLE JU
+1302 ; [.1F14.0020.0002.1302] # ETHIOPIC SYLLABLE JI
+1303 ; [.1F15.0020.0002.1303] # ETHIOPIC SYLLABLE JAA
+1304 ; [.1F16.0020.0002.1304] # ETHIOPIC SYLLABLE JEE
+1305 ; [.1F17.0020.0002.1305] # ETHIOPIC SYLLABLE JE
+1306 ; [.1F18.0020.0002.1306] # ETHIOPIC SYLLABLE JO
+1307 ; [.1F19.0020.0002.1307] # ETHIOPIC SYLLABLE JWA
+2D8E ; [.1F1A.0020.0002.2D8E] # ETHIOPIC SYLLABLE JOA
+1308 ; [.1F1B.0020.0002.1308] # ETHIOPIC SYLLABLE GA
+1309 ; [.1F1C.0020.0002.1309] # ETHIOPIC SYLLABLE GU
+130A ; [.1F1D.0020.0002.130A] # ETHIOPIC SYLLABLE GI
+130B ; [.1F1E.0020.0002.130B] # ETHIOPIC SYLLABLE GAA
+130C ; [.1F1F.0020.0002.130C] # ETHIOPIC SYLLABLE GEE
+130D ; [.1F20.0020.0002.130D] # ETHIOPIC SYLLABLE GE
+130E ; [.1F21.0020.0002.130E] # ETHIOPIC SYLLABLE GO
+130F ; [.1F22.0020.0002.130F] # ETHIOPIC SYLLABLE GOA
+1310 ; [.1F23.0020.0002.1310] # ETHIOPIC SYLLABLE GWA
+1312 ; [.1F24.0020.0002.1312] # ETHIOPIC SYLLABLE GWI
+1313 ; [.1F25.0020.0002.1313] # ETHIOPIC SYLLABLE GWAA
+1314 ; [.1F26.0020.0002.1314] # ETHIOPIC SYLLABLE GWEE
+1315 ; [.1F27.0020.0002.1315] # ETHIOPIC SYLLABLE GWE
+1318 ; [.1F28.0020.0002.1318] # ETHIOPIC SYLLABLE GGA
+1319 ; [.1F29.0020.0002.1319] # ETHIOPIC SYLLABLE GGU
+131A ; [.1F2A.0020.0002.131A] # ETHIOPIC SYLLABLE GGI
+131B ; [.1F2B.0020.0002.131B] # ETHIOPIC SYLLABLE GGAA
+131C ; [.1F2C.0020.0002.131C] # ETHIOPIC SYLLABLE GGEE
+131D ; [.1F2D.0020.0002.131D] # ETHIOPIC SYLLABLE GGE
+131E ; [.1F2E.0020.0002.131E] # ETHIOPIC SYLLABLE GGO
+131F ; [.1F2F.0020.0002.131F] # ETHIOPIC SYLLABLE GGWAA
+2D93 ; [.1F30.0020.0002.2D93] # ETHIOPIC SYLLABLE GGWA
+2D94 ; [.1F31.0020.0002.2D94] # ETHIOPIC SYLLABLE GGWI
+2D95 ; [.1F32.0020.0002.2D95] # ETHIOPIC SYLLABLE GGWEE
+2D96 ; [.1F33.0020.0002.2D96] # ETHIOPIC SYLLABLE GGWE
+1320 ; [.1F34.0020.0002.1320] # ETHIOPIC SYLLABLE THA
+1321 ; [.1F35.0020.0002.1321] # ETHIOPIC SYLLABLE THU
+1322 ; [.1F36.0020.0002.1322] # ETHIOPIC SYLLABLE THI
+1323 ; [.1F37.0020.0002.1323] # ETHIOPIC SYLLABLE THAA
+1324 ; [.1F38.0020.0002.1324] # ETHIOPIC SYLLABLE THEE
+1325 ; [.1F39.0020.0002.1325] # ETHIOPIC SYLLABLE THE
+1326 ; [.1F3A.0020.0002.1326] # ETHIOPIC SYLLABLE THO
+1327 ; [.1F3B.0020.0002.1327] # ETHIOPIC SYLLABLE THWA
+2D8F ; [.1F3C.0020.0002.2D8F] # ETHIOPIC SYLLABLE THOA
+1328 ; [.1F3D.0020.0002.1328] # ETHIOPIC SYLLABLE CHA
+1329 ; [.1F3E.0020.0002.1329] # ETHIOPIC SYLLABLE CHU
+132A ; [.1F3F.0020.0002.132A] # ETHIOPIC SYLLABLE CHI
+132B ; [.1F40.0020.0002.132B] # ETHIOPIC SYLLABLE CHAA
+132C ; [.1F41.0020.0002.132C] # ETHIOPIC SYLLABLE CHEE
+132D ; [.1F42.0020.0002.132D] # ETHIOPIC SYLLABLE CHE
+132E ; [.1F43.0020.0002.132E] # ETHIOPIC SYLLABLE CHO
+132F ; [.1F44.0020.0002.132F] # ETHIOPIC SYLLABLE CHWA
+2D90 ; [.1F45.0020.0002.2D90] # ETHIOPIC SYLLABLE CHOA
+AB20 ; [.1F46.0020.0002.AB20] # ETHIOPIC SYLLABLE CCHHA
+AB21 ; [.1F47.0020.0002.AB21] # ETHIOPIC SYLLABLE CCHHU
+AB22 ; [.1F48.0020.0002.AB22] # ETHIOPIC SYLLABLE CCHHI
+AB23 ; [.1F49.0020.0002.AB23] # ETHIOPIC SYLLABLE CCHHAA
+AB24 ; [.1F4A.0020.0002.AB24] # ETHIOPIC SYLLABLE CCHHEE
+AB25 ; [.1F4B.0020.0002.AB25] # ETHIOPIC SYLLABLE CCHHE
+AB26 ; [.1F4C.0020.0002.AB26] # ETHIOPIC SYLLABLE CCHHO
+1330 ; [.1F4D.0020.0002.1330] # ETHIOPIC SYLLABLE PHA
+1331 ; [.1F4E.0020.0002.1331] # ETHIOPIC SYLLABLE PHU
+1332 ; [.1F4F.0020.0002.1332] # ETHIOPIC SYLLABLE PHI
+1333 ; [.1F50.0020.0002.1333] # ETHIOPIC SYLLABLE PHAA
+1334 ; [.1F51.0020.0002.1334] # ETHIOPIC SYLLABLE PHEE
+1335 ; [.1F52.0020.0002.1335] # ETHIOPIC SYLLABLE PHE
+1336 ; [.1F53.0020.0002.1336] # ETHIOPIC SYLLABLE PHO
+1337 ; [.1F54.0020.0002.1337] # ETHIOPIC SYLLABLE PHWA
+2D91 ; [.1F55.0020.0002.2D91] # ETHIOPIC SYLLABLE PHOA
+1338 ; [.1F56.0020.0002.1338] # ETHIOPIC SYLLABLE TSA
+1339 ; [.1F57.0020.0002.1339] # ETHIOPIC SYLLABLE TSU
+133A ; [.1F58.0020.0002.133A] # ETHIOPIC SYLLABLE TSI
+133B ; [.1F59.0020.0002.133B] # ETHIOPIC SYLLABLE TSAA
+133C ; [.1F5A.0020.0002.133C] # ETHIOPIC SYLLABLE TSEE
+133D ; [.1F5B.0020.0002.133D] # ETHIOPIC SYLLABLE TSE
+133E ; [.1F5C.0020.0002.133E] # ETHIOPIC SYLLABLE TSO
+133F ; [.1F5D.0020.0002.133F] # ETHIOPIC SYLLABLE TSWA
+AB28 ; [.1F5E.0020.0002.AB28] # ETHIOPIC SYLLABLE BBA
+AB29 ; [.1F5F.0020.0002.AB29] # ETHIOPIC SYLLABLE BBU
+AB2A ; [.1F60.0020.0002.AB2A] # ETHIOPIC SYLLABLE BBI
+AB2B ; [.1F61.0020.0002.AB2B] # ETHIOPIC SYLLABLE BBAA
+AB2C ; [.1F62.0020.0002.AB2C] # ETHIOPIC SYLLABLE BBEE
+AB2D ; [.1F63.0020.0002.AB2D] # ETHIOPIC SYLLABLE BBE
+AB2E ; [.1F64.0020.0002.AB2E] # ETHIOPIC SYLLABLE BBO
+1340 ; [.1F65.0020.0002.1340] # ETHIOPIC SYLLABLE TZA
+1341 ; [.1F66.0020.0002.1341] # ETHIOPIC SYLLABLE TZU
+1342 ; [.1F67.0020.0002.1342] # ETHIOPIC SYLLABLE TZI
+1343 ; [.1F68.0020.0002.1343] # ETHIOPIC SYLLABLE TZAA
+1344 ; [.1F69.0020.0002.1344] # ETHIOPIC SYLLABLE TZEE
+1345 ; [.1F6A.0020.0002.1345] # ETHIOPIC SYLLABLE TZE
+1346 ; [.1F6B.0020.0002.1346] # ETHIOPIC SYLLABLE TZO
+1347 ; [.1F6C.0020.0002.1347] # ETHIOPIC SYLLABLE TZOA
+1348 ; [.1F6D.0020.0002.1348] # ETHIOPIC SYLLABLE FA
+1349 ; [.1F6E.0020.0002.1349] # ETHIOPIC SYLLABLE FU
+134A ; [.1F6F.0020.0002.134A] # ETHIOPIC SYLLABLE FI
+134B ; [.1F70.0020.0002.134B] # ETHIOPIC SYLLABLE FAA
+134C ; [.1F71.0020.0002.134C] # ETHIOPIC SYLLABLE FEE
+134D ; [.1F72.0020.0002.134D] # ETHIOPIC SYLLABLE FE
+134E ; [.1F73.0020.0002.134E] # ETHIOPIC SYLLABLE FO
+134F ; [.1F74.0020.0002.134F] # ETHIOPIC SYLLABLE FWA
+1388 ; [.1F75.0020.0002.1388] # ETHIOPIC SYLLABLE SEBATBEIT FWA
+1389 ; [.1F76.0020.0002.1389] # ETHIOPIC SYLLABLE FWI
+138A ; [.1F77.0020.0002.138A] # ETHIOPIC SYLLABLE FWEE
+138B ; [.1F78.0020.0002.138B] # ETHIOPIC SYLLABLE FWE
+1350 ; [.1F79.0020.0002.1350] # ETHIOPIC SYLLABLE PA
+1351 ; [.1F7A.0020.0002.1351] # ETHIOPIC SYLLABLE PU
+1352 ; [.1F7B.0020.0002.1352] # ETHIOPIC SYLLABLE PI
+1353 ; [.1F7C.0020.0002.1353] # ETHIOPIC SYLLABLE PAA
+1354 ; [.1F7D.0020.0002.1354] # ETHIOPIC SYLLABLE PEE
+1355 ; [.1F7E.0020.0002.1355] # ETHIOPIC SYLLABLE PE
+1356 ; [.1F7F.0020.0002.1356] # ETHIOPIC SYLLABLE PO
+1357 ; [.1F80.0020.0002.1357] # ETHIOPIC SYLLABLE PWA
+138C ; [.1F81.0020.0002.138C] # ETHIOPIC SYLLABLE SEBATBEIT PWA
+138D ; [.1F82.0020.0002.138D] # ETHIOPIC SYLLABLE PWI
+138E ; [.1F83.0020.0002.138E] # ETHIOPIC SYLLABLE PWEE
+138F ; [.1F84.0020.0002.138F] # ETHIOPIC SYLLABLE PWE
+2D92 ; [.1F85.0020.0002.2D92] # ETHIOPIC SYLLABLE POA
+1358 ; [.1F86.0020.0002.1358] # ETHIOPIC SYLLABLE RYA
+1359 ; [.1F87.0020.0002.1359] # ETHIOPIC SYLLABLE MYA
+135A ; [.1F88.0020.0002.135A] # ETHIOPIC SYLLABLE FYA
+2DA0 ; [.1F89.0020.0002.2DA0] # ETHIOPIC SYLLABLE SSA
+2DA1 ; [.1F8A.0020.0002.2DA1] # ETHIOPIC SYLLABLE SSU
+2DA2 ; [.1F8B.0020.0002.2DA2] # ETHIOPIC SYLLABLE SSI
+2DA3 ; [.1F8C.0020.0002.2DA3] # ETHIOPIC SYLLABLE SSAA
+2DA4 ; [.1F8D.0020.0002.2DA4] # ETHIOPIC SYLLABLE SSEE
+2DA5 ; [.1F8E.0020.0002.2DA5] # ETHIOPIC SYLLABLE SSE
+2DA6 ; [.1F8F.0020.0002.2DA6] # ETHIOPIC SYLLABLE SSO
+2DA8 ; [.1F90.0020.0002.2DA8] # ETHIOPIC SYLLABLE CCA
+2DA9 ; [.1F91.0020.0002.2DA9] # ETHIOPIC SYLLABLE CCU
+2DAA ; [.1F92.0020.0002.2DAA] # ETHIOPIC SYLLABLE CCI
+2DAB ; [.1F93.0020.0002.2DAB] # ETHIOPIC SYLLABLE CCAA
+2DAC ; [.1F94.0020.0002.2DAC] # ETHIOPIC SYLLABLE CCEE
+2DAD ; [.1F95.0020.0002.2DAD] # ETHIOPIC SYLLABLE CCE
+2DAE ; [.1F96.0020.0002.2DAE] # ETHIOPIC SYLLABLE CCO
+2DB0 ; [.1F97.0020.0002.2DB0] # ETHIOPIC SYLLABLE ZZA
+2DB1 ; [.1F98.0020.0002.2DB1] # ETHIOPIC SYLLABLE ZZU
+2DB2 ; [.1F99.0020.0002.2DB2] # ETHIOPIC SYLLABLE ZZI
+2DB3 ; [.1F9A.0020.0002.2DB3] # ETHIOPIC SYLLABLE ZZAA
+2DB4 ; [.1F9B.0020.0002.2DB4] # ETHIOPIC SYLLABLE ZZEE
+2DB5 ; [.1F9C.0020.0002.2DB5] # ETHIOPIC SYLLABLE ZZE
+2DB6 ; [.1F9D.0020.0002.2DB6] # ETHIOPIC SYLLABLE ZZO
+2DB8 ; [.1F9E.0020.0002.2DB8] # ETHIOPIC SYLLABLE CCHA
+2DB9 ; [.1F9F.0020.0002.2DB9] # ETHIOPIC SYLLABLE CCHU
+2DBA ; [.1FA0.0020.0002.2DBA] # ETHIOPIC SYLLABLE CCHI
+2DBB ; [.1FA1.0020.0002.2DBB] # ETHIOPIC SYLLABLE CCHAA
+2DBC ; [.1FA2.0020.0002.2DBC] # ETHIOPIC SYLLABLE CCHEE
+2DBD ; [.1FA3.0020.0002.2DBD] # ETHIOPIC SYLLABLE CCHE
+2DBE ; [.1FA4.0020.0002.2DBE] # ETHIOPIC SYLLABLE CCHO
+2DC0 ; [.1FA5.0020.0002.2DC0] # ETHIOPIC SYLLABLE QYA
+2DC1 ; [.1FA6.0020.0002.2DC1] # ETHIOPIC SYLLABLE QYU
+2DC2 ; [.1FA7.0020.0002.2DC2] # ETHIOPIC SYLLABLE QYI
+2DC3 ; [.1FA8.0020.0002.2DC3] # ETHIOPIC SYLLABLE QYAA
+2DC4 ; [.1FA9.0020.0002.2DC4] # ETHIOPIC SYLLABLE QYEE
+2DC5 ; [.1FAA.0020.0002.2DC5] # ETHIOPIC SYLLABLE QYE
+2DC6 ; [.1FAB.0020.0002.2DC6] # ETHIOPIC SYLLABLE QYO
+2DC8 ; [.1FAC.0020.0002.2DC8] # ETHIOPIC SYLLABLE KYA
+2DC9 ; [.1FAD.0020.0002.2DC9] # ETHIOPIC SYLLABLE KYU
+2DCA ; [.1FAE.0020.0002.2DCA] # ETHIOPIC SYLLABLE KYI
+2DCB ; [.1FAF.0020.0002.2DCB] # ETHIOPIC SYLLABLE KYAA
+2DCC ; [.1FB0.0020.0002.2DCC] # ETHIOPIC SYLLABLE KYEE
+2DCD ; [.1FB1.0020.0002.2DCD] # ETHIOPIC SYLLABLE KYE
+2DCE ; [.1FB2.0020.0002.2DCE] # ETHIOPIC SYLLABLE KYO
+2DD0 ; [.1FB3.0020.0002.2DD0] # ETHIOPIC SYLLABLE XYA
+2DD1 ; [.1FB4.0020.0002.2DD1] # ETHIOPIC SYLLABLE XYU
+2DD2 ; [.1FB5.0020.0002.2DD2] # ETHIOPIC SYLLABLE XYI
+2DD3 ; [.1FB6.0020.0002.2DD3] # ETHIOPIC SYLLABLE XYAA
+2DD4 ; [.1FB7.0020.0002.2DD4] # ETHIOPIC SYLLABLE XYEE
+2DD5 ; [.1FB8.0020.0002.2DD5] # ETHIOPIC SYLLABLE XYE
+2DD6 ; [.1FB9.0020.0002.2DD6] # ETHIOPIC SYLLABLE XYO
+2DD8 ; [.1FBA.0020.0002.2DD8] # ETHIOPIC SYLLABLE GYA
+2DD9 ; [.1FBB.0020.0002.2DD9] # ETHIOPIC SYLLABLE GYU
+2DDA ; [.1FBC.0020.0002.2DDA] # ETHIOPIC SYLLABLE GYI
+2DDB ; [.1FBD.0020.0002.2DDB] # ETHIOPIC SYLLABLE GYAA
+2DDC ; [.1FBE.0020.0002.2DDC] # ETHIOPIC SYLLABLE GYEE
+2DDD ; [.1FBF.0020.0002.2DDD] # ETHIOPIC SYLLABLE GYE
+2DDE ; [.1FC0.0020.0002.2DDE] # ETHIOPIC SYLLABLE GYO
+0950 ; [.1FC1.0020.0002.0950] # DEVANAGARI OM
+0972 ; [.1FC2.0020.0002.0972] # DEVANAGARI LETTER CANDRA A
+0904 ; [.1FC3.0020.0002.0904] # DEVANAGARI LETTER SHORT A
+0905 ; [.1FC4.0020.0002.0905] # DEVANAGARI LETTER A
+0906 ; [.1FC5.0020.0002.0906] # DEVANAGARI LETTER AA
+0973 ; [.1FC6.0020.0002.0973] # DEVANAGARI LETTER OE
+0974 ; [.1FC7.0020.0002.0974] # DEVANAGARI LETTER OOE
+0975 ; [.1FC8.0020.0002.0975] # DEVANAGARI LETTER AW
+0976 ; [.1FC9.0020.0002.0976] # DEVANAGARI LETTER UE
+0977 ; [.1FCA.0020.0002.0977] # DEVANAGARI LETTER UUE
+0907 ; [.1FCB.0020.0002.0907] # DEVANAGARI LETTER I
+0908 ; [.1FCC.0020.0002.0908] # DEVANAGARI LETTER II
+0909 ; [.1FCD.0020.0002.0909] # DEVANAGARI LETTER U
+090A ; [.1FCE.0020.0002.090A] # DEVANAGARI LETTER UU
+090B ; [.1FCF.0020.0002.090B] # DEVANAGARI LETTER VOCALIC R
+0960 ; [.1FD0.0020.0002.0960] # DEVANAGARI LETTER VOCALIC RR
+090C ; [.1FD1.0020.0002.090C] # DEVANAGARI LETTER VOCALIC L
+0961 ; [.1FD2.0020.0002.0961] # DEVANAGARI LETTER VOCALIC LL
+090D ; [.1FD3.0020.0002.090D] # DEVANAGARI LETTER CANDRA E
+090E ; [.1FD4.0020.0002.090E] # DEVANAGARI LETTER SHORT E
+090F ; [.1FD5.0020.0002.090F] # DEVANAGARI LETTER E
+0910 ; [.1FD6.0020.0002.0910] # DEVANAGARI LETTER AI
+0911 ; [.1FD7.0020.0002.0911] # DEVANAGARI LETTER CANDRA O
+0912 ; [.1FD8.0020.0002.0912] # DEVANAGARI LETTER SHORT O
+0913 ; [.1FD9.0020.0002.0913] # DEVANAGARI LETTER O
+0914 ; [.1FDA.0020.0002.0914] # DEVANAGARI LETTER AU
+0915 ; [.1FDB.0020.0002.0915] # DEVANAGARI LETTER KA
+0958 ; [.1FDB.0020.0002.0915][.0000.00F1.0002.093C] # DEVANAGARI LETTER QA
+0916 ; [.1FDC.0020.0002.0916] # DEVANAGARI LETTER KHA
+0959 ; [.1FDC.0020.0002.0916][.0000.00F1.0002.093C] # DEVANAGARI LETTER KHHA
+0917 ; [.1FDD.0020.0002.0917] # DEVANAGARI LETTER GA
+095A ; [.1FDD.0020.0002.0917][.0000.00F1.0002.093C] # DEVANAGARI LETTER GHHA
+097B ; [.1FDE.0020.0002.097B] # DEVANAGARI LETTER GGA
+0918 ; [.1FDF.0020.0002.0918] # DEVANAGARI LETTER GHA
+0919 ; [.1FE0.0020.0002.0919] # DEVANAGARI LETTER NGA
+091A ; [.1FE1.0020.0002.091A] # DEVANAGARI LETTER CA
+091B ; [.1FE2.0020.0002.091B] # DEVANAGARI LETTER CHA
+091C ; [.1FE3.0020.0002.091C] # DEVANAGARI LETTER JA
+095B ; [.1FE3.0020.0002.091C][.0000.00F1.0002.093C] # DEVANAGARI LETTER ZA
+0979 ; [.1FE4.0020.0002.0979] # DEVANAGARI LETTER ZHA
+097C ; [.1FE5.0020.0002.097C] # DEVANAGARI LETTER JJA
+091D ; [.1FE6.0020.0002.091D] # DEVANAGARI LETTER JHA
+091E ; [.1FE7.0020.0002.091E] # DEVANAGARI LETTER NYA
+091F ; [.1FE8.0020.0002.091F] # DEVANAGARI LETTER TTA
+0920 ; [.1FE9.0020.0002.0920] # DEVANAGARI LETTER TTHA
+0921 ; [.1FEA.0020.0002.0921] # DEVANAGARI LETTER DDA
+095C ; [.1FEA.0020.0002.0921][.0000.00F1.0002.093C] # DEVANAGARI LETTER DDDHA
+097E ; [.1FEB.0020.0002.097E] # DEVANAGARI LETTER DDDA
+0922 ; [.1FEC.0020.0002.0922] # DEVANAGARI LETTER DDHA
+095D ; [.1FEC.0020.0002.0922][.0000.00F1.0002.093C] # DEVANAGARI LETTER RHA
+0923 ; [.1FED.0020.0002.0923] # DEVANAGARI LETTER NNA
+0924 ; [.1FEE.0020.0002.0924] # DEVANAGARI LETTER TA
+0925 ; [.1FEF.0020.0002.0925] # DEVANAGARI LETTER THA
+0926 ; [.1FF0.0020.0002.0926] # DEVANAGARI LETTER DA
+0927 ; [.1FF1.0020.0002.0927] # DEVANAGARI LETTER DHA
+0928 ; [.1FF2.0020.0002.0928] # DEVANAGARI LETTER NA
+0929 ; [.1FF2.0020.0002.0928][.0000.00F1.0002.093C] # DEVANAGARI LETTER NNNA
+092A ; [.1FF3.0020.0002.092A] # DEVANAGARI LETTER PA
+092B ; [.1FF4.0020.0002.092B] # DEVANAGARI LETTER PHA
+095E ; [.1FF4.0020.0002.092B][.0000.00F1.0002.093C] # DEVANAGARI LETTER FA
+092C ; [.1FF5.0020.0002.092C] # DEVANAGARI LETTER BA
+097F ; [.1FF6.0020.0002.097F] # DEVANAGARI LETTER BBA
+092D ; [.1FF7.0020.0002.092D] # DEVANAGARI LETTER BHA
+092E ; [.1FF8.0020.0002.092E] # DEVANAGARI LETTER MA
+092F ; [.1FF9.0020.0002.092F] # DEVANAGARI LETTER YA
+095F ; [.1FF9.0020.0002.092F][.0000.00F1.0002.093C] # DEVANAGARI LETTER YYA
+097A ; [.1FFA.0020.0002.097A] # DEVANAGARI LETTER HEAVY YA
+0930 ; [.1FFB.0020.0002.0930] # DEVANAGARI LETTER RA
+0931 ; [.1FFB.0020.0002.0930][.0000.00F1.0002.093C] # DEVANAGARI LETTER RRA
+0932 ; [.1FFC.0020.0002.0932] # DEVANAGARI LETTER LA
+0933 ; [.1FFD.0020.0002.0933] # DEVANAGARI LETTER LLA
+0934 ; [.1FFD.0020.0002.0933][.0000.00F1.0002.093C] # DEVANAGARI LETTER LLLA
+0935 ; [.1FFE.0020.0002.0935] # DEVANAGARI LETTER VA
+0936 ; [.1FFF.0020.0002.0936] # DEVANAGARI LETTER SHA
+0937 ; [.2000.0020.0002.0937] # DEVANAGARI LETTER SSA
+0938 ; [.2001.0020.0002.0938] # DEVANAGARI LETTER SA
+0939 ; [.2002.0020.0002.0939] # DEVANAGARI LETTER HA
+093D ; [.2003.0020.0002.093D] # DEVANAGARI SIGN AVAGRAHA
+097D ; [.2004.0020.0002.097D] # DEVANAGARI LETTER GLOTTAL STOP
+1CE9 ; [.2005.0020.0002.1CE9] # VEDIC SIGN ANUSVARA ANTARGOMUKHA
+1CEA ; [.2005.0020.0004.1CEA] # VEDIC SIGN ANUSVARA BAHIRGOMUKHA
+1CEB ; [.2005.0020.0004.1CEB] # VEDIC SIGN ANUSVARA VAMAGOMUKHA
+1CEC ; [.2005.0020.0004.1CEC] # VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
+1CEE ; [.2005.0020.0004.1CEE] # VEDIC SIGN HEXIFORM LONG ANUSVARA
+1CEF ; [.2005.0020.0004.1CEF] # VEDIC SIGN LONG ANUSVARA
+1CF0 ; [.2005.0020.0004.1CF0] # VEDIC SIGN RTHANG LONG ANUSVARA
+1CF1 ; [.2005.0020.0004.1CF1] # VEDIC SIGN ANUSVARA UBHAYATO MUKHA
+1CF5 ; [.2006.0020.0002.1CF5] # VEDIC SIGN JIHVAMULIYA
+1CF6 ; [.2007.0020.0002.1CF6] # VEDIC SIGN UPADHMANIYA
+A8F2 ; [.2008.0020.0002.A8F2] # DEVANAGARI SIGN SPACING CANDRABINDU
+A8F3 ; [.2008.0020.0004.A8F3] # DEVANAGARI SIGN CANDRABINDU VIRAMA
+A8F4 ; [.2008.0020.0004.A8F4] # DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA
+A8F5 ; [.2008.0020.0004.A8F5] # DEVANAGARI SIGN CANDRABINDU TWO
+A8F6 ; [.2008.0020.0004.A8F6] # DEVANAGARI SIGN CANDRABINDU THREE
+A8F7 ; [.2008.0020.0004.A8F7] # DEVANAGARI SIGN CANDRABINDU AVAGRAHA
+A8FB ; [.2009.0020.0002.A8FB] # DEVANAGARI HEADSTROKE
+093E ; [.200A.0020.0002.093E] # DEVANAGARI VOWEL SIGN AA
+093A ; [.200B.0020.0002.093A] # DEVANAGARI VOWEL SIGN OE
+093B ; [.200C.0020.0002.093B] # DEVANAGARI VOWEL SIGN OOE
+094F ; [.200D.0020.0002.094F] # DEVANAGARI VOWEL SIGN AW
+0956 ; [.200E.0020.0002.0956] # DEVANAGARI VOWEL SIGN UE
+0957 ; [.200F.0020.0002.0957] # DEVANAGARI VOWEL SIGN UUE
+093F ; [.2010.0020.0002.093F] # DEVANAGARI VOWEL SIGN I
+0940 ; [.2011.0020.0002.0940] # DEVANAGARI VOWEL SIGN II
+0941 ; [.2012.0020.0002.0941] # DEVANAGARI VOWEL SIGN U
+0942 ; [.2013.0020.0002.0942] # DEVANAGARI VOWEL SIGN UU
+0943 ; [.2014.0020.0002.0943] # DEVANAGARI VOWEL SIGN VOCALIC R
+0944 ; [.2015.0020.0002.0944] # DEVANAGARI VOWEL SIGN VOCALIC RR
+0962 ; [.2016.0020.0002.0962] # DEVANAGARI VOWEL SIGN VOCALIC L
+0963 ; [.2017.0020.0002.0963] # DEVANAGARI VOWEL SIGN VOCALIC LL
+0945 ; [.2018.0020.0002.0945] # DEVANAGARI VOWEL SIGN CANDRA E
+0955 ; [.2019.0020.0002.0955] # DEVANAGARI VOWEL SIGN CANDRA LONG E
+0946 ; [.201A.0020.0002.0946] # DEVANAGARI VOWEL SIGN SHORT E
+0947 ; [.201B.0020.0002.0947] # DEVANAGARI VOWEL SIGN E
+094E ; [.201C.0020.0002.094E] # DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
+0948 ; [.201D.0020.0002.0948] # DEVANAGARI VOWEL SIGN AI
+0949 ; [.201E.0020.0002.0949] # DEVANAGARI VOWEL SIGN CANDRA O
+094A ; [.201F.0020.0002.094A] # DEVANAGARI VOWEL SIGN SHORT O
+094B ; [.2020.0020.0002.094B] # DEVANAGARI VOWEL SIGN O
+094C ; [.2021.0020.0002.094C] # DEVANAGARI VOWEL SIGN AU
+094D ; [.2022.0020.0002.094D] # DEVANAGARI SIGN VIRAMA
+0985 ; [.2023.0020.0002.0985] # BENGALI LETTER A
+0986 ; [.2024.0020.0002.0986] # BENGALI LETTER AA
+0987 ; [.2025.0020.0002.0987] # BENGALI LETTER I
+0988 ; [.2026.0020.0002.0988] # BENGALI LETTER II
+0989 ; [.2027.0020.0002.0989] # BENGALI LETTER U
+098A ; [.2028.0020.0002.098A] # BENGALI LETTER UU
+098B ; [.2029.0020.0002.098B] # BENGALI LETTER VOCALIC R
+09E0 ; [.202A.0020.0002.09E0] # BENGALI LETTER VOCALIC RR
+098C ; [.202B.0020.0002.098C] # BENGALI LETTER VOCALIC L
+09E1 ; [.202C.0020.0002.09E1] # BENGALI LETTER VOCALIC LL
+098F ; [.202D.0020.0002.098F] # BENGALI LETTER E
+0990 ; [.202E.0020.0002.0990] # BENGALI LETTER AI
+0993 ; [.202F.0020.0002.0993] # BENGALI LETTER O
+0994 ; [.2030.0020.0002.0994] # BENGALI LETTER AU
+0995 ; [.2031.0020.0002.0995] # BENGALI LETTER KA
+0996 ; [.2032.0020.0002.0996] # BENGALI LETTER KHA
+0997 ; [.2033.0020.0002.0997] # BENGALI LETTER GA
+0998 ; [.2034.0020.0002.0998] # BENGALI LETTER GHA
+0999 ; [.2035.0020.0002.0999] # BENGALI LETTER NGA
+099A ; [.2036.0020.0002.099A] # BENGALI LETTER CA
+099B ; [.2037.0020.0002.099B] # BENGALI LETTER CHA
+099C ; [.2038.0020.0002.099C] # BENGALI LETTER JA
+099D ; [.2039.0020.0002.099D] # BENGALI LETTER JHA
+099E ; [.203A.0020.0002.099E] # BENGALI LETTER NYA
+099F ; [.203B.0020.0002.099F] # BENGALI LETTER TTA
+09A0 ; [.203C.0020.0002.09A0] # BENGALI LETTER TTHA
+09A1 ; [.203D.0020.0002.09A1] # BENGALI LETTER DDA
+09DC ; [.203D.0020.0002.09A1][.0000.00F1.0002.093C] # BENGALI LETTER RRA
+09A2 ; [.203E.0020.0002.09A2] # BENGALI LETTER DDHA
+09DD ; [.203E.0020.0002.09A2][.0000.00F1.0002.093C] # BENGALI LETTER RHA
+09A3 ; [.203F.0020.0002.09A3] # BENGALI LETTER NNA
+09A4 ; [.2040.0020.0002.09A4] # BENGALI LETTER TA
+09CE ; [.2040.0020.0004.09CE][.2061.0020.0004.09CE] # BENGALI LETTER KHANDA TA
+09A5 ; [.2041.0020.0002.09A5] # BENGALI LETTER THA
+09A6 ; [.2042.0020.0002.09A6] # BENGALI LETTER DA
+09A7 ; [.2043.0020.0002.09A7] # BENGALI LETTER DHA
+09A8 ; [.2044.0020.0002.09A8] # BENGALI LETTER NA
+09AA ; [.2045.0020.0002.09AA] # BENGALI LETTER PA
+09AB ; [.2046.0020.0002.09AB] # BENGALI LETTER PHA
+09AC ; [.2047.0020.0002.09AC] # BENGALI LETTER BA
+09AD ; [.2048.0020.0002.09AD] # BENGALI LETTER BHA
+09AE ; [.2049.0020.0002.09AE] # BENGALI LETTER MA
+09AF ; [.204A.0020.0002.09AF] # BENGALI LETTER YA
+09DF ; [.204A.0020.0002.09AF][.0000.00F1.0002.093C] # BENGALI LETTER YYA
+09B0 ; [.204B.0020.0002.09B0] # BENGALI LETTER RA
+09F0 ; [.204C.0020.0002.09F0] # BENGALI LETTER RA WITH MIDDLE DIAGONAL
+09B2 ; [.204D.0020.0002.09B2] # BENGALI LETTER LA
+09F1 ; [.204E.0020.0002.09F1] # BENGALI LETTER RA WITH LOWER DIAGONAL
+09B6 ; [.204F.0020.0002.09B6] # BENGALI LETTER SHA
+09B7 ; [.2050.0020.0002.09B7] # BENGALI LETTER SSA
+09B8 ; [.2051.0020.0002.09B8] # BENGALI LETTER SA
+09B9 ; [.2052.0020.0002.09B9] # BENGALI LETTER HA
+09BD ; [.2053.0020.0002.09BD] # BENGALI SIGN AVAGRAHA
+09BE ; [.2054.0020.0002.09BE] # BENGALI VOWEL SIGN AA
+09BF ; [.2055.0020.0002.09BF] # BENGALI VOWEL SIGN I
+09C0 ; [.2056.0020.0002.09C0] # BENGALI VOWEL SIGN II
+09C1 ; [.2057.0020.0002.09C1] # BENGALI VOWEL SIGN U
+09C2 ; [.2058.0020.0002.09C2] # BENGALI VOWEL SIGN UU
+09C3 ; [.2059.0020.0002.09C3] # BENGALI VOWEL SIGN VOCALIC R
+09C4 ; [.205A.0020.0002.09C4] # BENGALI VOWEL SIGN VOCALIC RR
+09E2 ; [.205B.0020.0002.09E2] # BENGALI VOWEL SIGN VOCALIC L
+09E3 ; [.205C.0020.0002.09E3] # BENGALI VOWEL SIGN VOCALIC LL
+09C7 ; [.205D.0020.0002.09C7] # BENGALI VOWEL SIGN E
+09C8 ; [.205E.0020.0002.09C8] # BENGALI VOWEL SIGN AI
+09CB ; [.205F.0020.0002.09CB] # BENGALI VOWEL SIGN O
+09C7 09BE ; [.205F.0020.0002.09CB] # BENGALI VOWEL SIGN O
+09CC ; [.2060.0020.0002.09CC] # BENGALI VOWEL SIGN AU
+09C7 09D7 ; [.2060.0020.0002.09CC] # BENGALI VOWEL SIGN AU
+09CD ; [.2061.0020.0002.09CD] # BENGALI SIGN VIRAMA
+09D7 ; [.2062.0020.0002.09D7] # BENGALI AU LENGTH MARK
+0A74 ; [.2063.0020.0002.0A74] # GURMUKHI EK ONKAR
+0A73 ; [.2064.0020.0002.0A73] # GURMUKHI URA
+0A09 ; [.2065.0020.0002.0A09] # GURMUKHI LETTER U
+0A0A ; [.2066.0020.0002.0A0A] # GURMUKHI LETTER UU
+0A13 ; [.2067.0020.0002.0A13] # GURMUKHI LETTER OO
+0A05 ; [.2068.0020.0002.0A05] # GURMUKHI LETTER A
+0A06 ; [.2069.0020.0002.0A06] # GURMUKHI LETTER AA
+0A10 ; [.206A.0020.0002.0A10] # GURMUKHI LETTER AI
+0A14 ; [.206B.0020.0002.0A14] # GURMUKHI LETTER AU
+0A72 ; [.206C.0020.0002.0A72] # GURMUKHI IRI
+0A07 ; [.206D.0020.0002.0A07] # GURMUKHI LETTER I
+0A08 ; [.206E.0020.0002.0A08] # GURMUKHI LETTER II
+0A0F ; [.206F.0020.0002.0A0F] # GURMUKHI LETTER EE
+0A38 ; [.2070.0020.0002.0A38] # GURMUKHI LETTER SA
+0A36 ; [.2070.0020.0002.0A38][.0000.00F1.0002.093C] # GURMUKHI LETTER SHA
+0A39 ; [.2071.0020.0002.0A39] # GURMUKHI LETTER HA
+0A51 ; [.2072.0020.0002.0A51] # GURMUKHI SIGN UDAAT
+0A15 ; [.2073.0020.0002.0A15] # GURMUKHI LETTER KA
+0A16 ; [.2074.0020.0002.0A16] # GURMUKHI LETTER KHA
+0A59 ; [.2074.0020.0002.0A16][.0000.00F1.0002.093C] # GURMUKHI LETTER KHHA
+0A17 ; [.2075.0020.0002.0A17] # GURMUKHI LETTER GA
+0A5A ; [.2075.0020.0002.0A17][.0000.00F1.0002.093C] # GURMUKHI LETTER GHHA
+0A18 ; [.2076.0020.0002.0A18] # GURMUKHI LETTER GHA
+0A19 ; [.2077.0020.0002.0A19] # GURMUKHI LETTER NGA
+0A1A ; [.2078.0020.0002.0A1A] # GURMUKHI LETTER CA
+0A1B ; [.2079.0020.0002.0A1B] # GURMUKHI LETTER CHA
+0A1C ; [.207A.0020.0002.0A1C] # GURMUKHI LETTER JA
+0A5B ; [.207A.0020.0002.0A1C][.0000.00F1.0002.093C] # GURMUKHI LETTER ZA
+0A1D ; [.207B.0020.0002.0A1D] # GURMUKHI LETTER JHA
+0A1E ; [.207C.0020.0002.0A1E] # GURMUKHI LETTER NYA
+0A1F ; [.207D.0020.0002.0A1F] # GURMUKHI LETTER TTA
+0A20 ; [.207E.0020.0002.0A20] # GURMUKHI LETTER TTHA
+0A21 ; [.207F.0020.0002.0A21] # GURMUKHI LETTER DDA
+0A22 ; [.2080.0020.0002.0A22] # GURMUKHI LETTER DDHA
+0A23 ; [.2081.0020.0002.0A23] # GURMUKHI LETTER NNA
+0A24 ; [.2082.0020.0002.0A24] # GURMUKHI LETTER TA
+0A25 ; [.2083.0020.0002.0A25] # GURMUKHI LETTER THA
+0A26 ; [.2084.0020.0002.0A26] # GURMUKHI LETTER DA
+0A27 ; [.2085.0020.0002.0A27] # GURMUKHI LETTER DHA
+0A28 ; [.2086.0020.0002.0A28] # GURMUKHI LETTER NA
+0A2A ; [.2087.0020.0002.0A2A] # GURMUKHI LETTER PA
+0A2B ; [.2088.0020.0002.0A2B] # GURMUKHI LETTER PHA
+0A5E ; [.2088.0020.0002.0A2B][.0000.00F1.0002.093C] # GURMUKHI LETTER FA
+0A2C ; [.2089.0020.0002.0A2C] # GURMUKHI LETTER BA
+0A2D ; [.208A.0020.0002.0A2D] # GURMUKHI LETTER BHA
+0A2E ; [.208B.0020.0002.0A2E] # GURMUKHI LETTER MA
+0A2F ; [.208C.0020.0002.0A2F] # GURMUKHI LETTER YA
+0A75 ; [.208D.0020.0002.0A75] # GURMUKHI SIGN YAKASH
+0A30 ; [.208E.0020.0002.0A30] # GURMUKHI LETTER RA
+0A32 ; [.208F.0020.0002.0A32] # GURMUKHI LETTER LA
+0A33 ; [.208F.0020.0002.0A32][.0000.00F1.0002.093C] # GURMUKHI LETTER LLA
+0A35 ; [.2090.0020.0002.0A35] # GURMUKHI LETTER VA
+0A5C ; [.2091.0020.0002.0A5C] # GURMUKHI LETTER RRA
+0A3E ; [.2092.0020.0002.0A3E] # GURMUKHI VOWEL SIGN AA
+0A3F ; [.2093.0020.0002.0A3F] # GURMUKHI VOWEL SIGN I
+0A40 ; [.2094.0020.0002.0A40] # GURMUKHI VOWEL SIGN II
+0A41 ; [.2095.0020.0002.0A41] # GURMUKHI VOWEL SIGN U
+0A42 ; [.2096.0020.0002.0A42] # GURMUKHI VOWEL SIGN UU
+0A47 ; [.2097.0020.0002.0A47] # GURMUKHI VOWEL SIGN EE
+0A48 ; [.2098.0020.0002.0A48] # GURMUKHI VOWEL SIGN AI
+0A4B ; [.2099.0020.0002.0A4B] # GURMUKHI VOWEL SIGN OO
+0A4C ; [.209A.0020.0002.0A4C] # GURMUKHI VOWEL SIGN AU
+0A4D ; [.209B.0020.0002.0A4D] # GURMUKHI SIGN VIRAMA
+0AD0 ; [.209C.0020.0002.0AD0] # GUJARATI OM
+0A85 ; [.209D.0020.0002.0A85] # GUJARATI LETTER A
+0A86 ; [.209E.0020.0002.0A86] # GUJARATI LETTER AA
+0A87 ; [.209F.0020.0002.0A87] # GUJARATI LETTER I
+0A88 ; [.20A0.0020.0002.0A88] # GUJARATI LETTER II
+0A89 ; [.20A1.0020.0002.0A89] # GUJARATI LETTER U
+0A8A ; [.20A2.0020.0002.0A8A] # GUJARATI LETTER UU
+0A8B ; [.20A3.0020.0002.0A8B] # GUJARATI LETTER VOCALIC R
+0AE0 ; [.20A4.0020.0002.0AE0] # GUJARATI LETTER VOCALIC RR
+0A8C ; [.20A5.0020.0002.0A8C] # GUJARATI LETTER VOCALIC L
+0AE1 ; [.20A6.0020.0002.0AE1] # GUJARATI LETTER VOCALIC LL
+0A8D ; [.20A7.0020.0002.0A8D] # GUJARATI VOWEL CANDRA E
+0A8F ; [.20A8.0020.0002.0A8F] # GUJARATI LETTER E
+0A90 ; [.20A9.0020.0002.0A90] # GUJARATI LETTER AI
+0A91 ; [.20AA.0020.0002.0A91] # GUJARATI VOWEL CANDRA O
+0A93 ; [.20AB.0020.0002.0A93] # GUJARATI LETTER O
+0A94 ; [.20AC.0020.0002.0A94] # GUJARATI LETTER AU
+0A95 ; [.20AD.0020.0002.0A95] # GUJARATI LETTER KA
+0A96 ; [.20AE.0020.0002.0A96] # GUJARATI LETTER KHA
+0A97 ; [.20AF.0020.0002.0A97] # GUJARATI LETTER GA
+0A98 ; [.20B0.0020.0002.0A98] # GUJARATI LETTER GHA
+0A99 ; [.20B1.0020.0002.0A99] # GUJARATI LETTER NGA
+0A9A ; [.20B2.0020.0002.0A9A] # GUJARATI LETTER CA
+0A9B ; [.20B3.0020.0002.0A9B] # GUJARATI LETTER CHA
+0A9C ; [.20B4.0020.0002.0A9C] # GUJARATI LETTER JA
+0A9D ; [.20B5.0020.0002.0A9D] # GUJARATI LETTER JHA
+0A9E ; [.20B6.0020.0002.0A9E] # GUJARATI LETTER NYA
+0A9F ; [.20B7.0020.0002.0A9F] # GUJARATI LETTER TTA
+0AA0 ; [.20B8.0020.0002.0AA0] # GUJARATI LETTER TTHA
+0AA1 ; [.20B9.0020.0002.0AA1] # GUJARATI LETTER DDA
+0AA2 ; [.20BA.0020.0002.0AA2] # GUJARATI LETTER DDHA
+0AA3 ; [.20BB.0020.0002.0AA3] # GUJARATI LETTER NNA
+0AA4 ; [.20BC.0020.0002.0AA4] # GUJARATI LETTER TA
+0AA5 ; [.20BD.0020.0002.0AA5] # GUJARATI LETTER THA
+0AA6 ; [.20BE.0020.0002.0AA6] # GUJARATI LETTER DA
+0AA7 ; [.20BF.0020.0002.0AA7] # GUJARATI LETTER DHA
+0AA8 ; [.20C0.0020.0002.0AA8] # GUJARATI LETTER NA
+0AAA ; [.20C1.0020.0002.0AAA] # GUJARATI LETTER PA
+0AAB ; [.20C2.0020.0002.0AAB] # GUJARATI LETTER PHA
+0AAC ; [.20C3.0020.0002.0AAC] # GUJARATI LETTER BA
+0AAD ; [.20C4.0020.0002.0AAD] # GUJARATI LETTER BHA
+0AAE ; [.20C5.0020.0002.0AAE] # GUJARATI LETTER MA
+0AAF ; [.20C6.0020.0002.0AAF] # GUJARATI LETTER YA
+0AB0 ; [.20C7.0020.0002.0AB0] # GUJARATI LETTER RA
+0AB2 ; [.20C8.0020.0002.0AB2] # GUJARATI LETTER LA
+0AB5 ; [.20C9.0020.0002.0AB5] # GUJARATI LETTER VA
+0AB6 ; [.20CA.0020.0002.0AB6] # GUJARATI LETTER SHA
+0AB7 ; [.20CB.0020.0002.0AB7] # GUJARATI LETTER SSA
+0AB8 ; [.20CC.0020.0002.0AB8] # GUJARATI LETTER SA
+0AB9 ; [.20CD.0020.0002.0AB9] # GUJARATI LETTER HA
+0AB3 ; [.20CE.0020.0002.0AB3] # GUJARATI LETTER LLA
+0ABD ; [.20CF.0020.0002.0ABD] # GUJARATI SIGN AVAGRAHA
+0ABE ; [.20D0.0020.0002.0ABE] # GUJARATI VOWEL SIGN AA
+0ABF ; [.20D1.0020.0002.0ABF] # GUJARATI VOWEL SIGN I
+0AC0 ; [.20D2.0020.0002.0AC0] # GUJARATI VOWEL SIGN II
+0AC1 ; [.20D3.0020.0002.0AC1] # GUJARATI VOWEL SIGN U
+0AC2 ; [.20D4.0020.0002.0AC2] # GUJARATI VOWEL SIGN UU
+0AC3 ; [.20D5.0020.0002.0AC3] # GUJARATI VOWEL SIGN VOCALIC R
+0AC4 ; [.20D6.0020.0002.0AC4] # GUJARATI VOWEL SIGN VOCALIC RR
+0AE2 ; [.20D7.0020.0002.0AE2] # GUJARATI VOWEL SIGN VOCALIC L
+0AE3 ; [.20D8.0020.0002.0AE3] # GUJARATI VOWEL SIGN VOCALIC LL
+0AC5 ; [.20D9.0020.0002.0AC5] # GUJARATI VOWEL SIGN CANDRA E
+0AC7 ; [.20DA.0020.0002.0AC7] # GUJARATI VOWEL SIGN E
+0AC8 ; [.20DB.0020.0002.0AC8] # GUJARATI VOWEL SIGN AI
+0AC9 ; [.20DC.0020.0002.0AC9] # GUJARATI VOWEL SIGN CANDRA O
+0ACB ; [.20DD.0020.0002.0ACB] # GUJARATI VOWEL SIGN O
+0ACC ; [.20DE.0020.0002.0ACC] # GUJARATI VOWEL SIGN AU
+0ACD ; [.20DF.0020.0002.0ACD] # GUJARATI SIGN VIRAMA
+0B05 ; [.20E0.0020.0002.0B05] # ORIYA LETTER A
+0B06 ; [.20E1.0020.0002.0B06] # ORIYA LETTER AA
+0B07 ; [.20E2.0020.0002.0B07] # ORIYA LETTER I
+0B08 ; [.20E3.0020.0002.0B08] # ORIYA LETTER II
+0B09 ; [.20E4.0020.0002.0B09] # ORIYA LETTER U
+0B0A ; [.20E5.0020.0002.0B0A] # ORIYA LETTER UU
+0B0B ; [.20E6.0020.0002.0B0B] # ORIYA LETTER VOCALIC R
+0B60 ; [.20E7.0020.0002.0B60] # ORIYA LETTER VOCALIC RR
+0B0C ; [.20E8.0020.0002.0B0C] # ORIYA LETTER VOCALIC L
+0B61 ; [.20E9.0020.0002.0B61] # ORIYA LETTER VOCALIC LL
+0B0F ; [.20EA.0020.0002.0B0F] # ORIYA LETTER E
+0B10 ; [.20EB.0020.0002.0B10] # ORIYA LETTER AI
+0B13 ; [.20EC.0020.0002.0B13] # ORIYA LETTER O
+0B14 ; [.20ED.0020.0002.0B14] # ORIYA LETTER AU
+0B15 ; [.20EE.0020.0002.0B15] # ORIYA LETTER KA
+0B16 ; [.20EF.0020.0002.0B16] # ORIYA LETTER KHA
+0B17 ; [.20F0.0020.0002.0B17] # ORIYA LETTER GA
+0B18 ; [.20F1.0020.0002.0B18] # ORIYA LETTER GHA
+0B19 ; [.20F2.0020.0002.0B19] # ORIYA LETTER NGA
+0B1A ; [.20F3.0020.0002.0B1A] # ORIYA LETTER CA
+0B1B ; [.20F4.0020.0002.0B1B] # ORIYA LETTER CHA
+0B1C ; [.20F5.0020.0002.0B1C] # ORIYA LETTER JA
+0B1D ; [.20F6.0020.0002.0B1D] # ORIYA LETTER JHA
+0B1E ; [.20F7.0020.0002.0B1E] # ORIYA LETTER NYA
+0B1F ; [.20F8.0020.0002.0B1F] # ORIYA LETTER TTA
+0B20 ; [.20F9.0020.0002.0B20] # ORIYA LETTER TTHA
+0B21 ; [.20FA.0020.0002.0B21] # ORIYA LETTER DDA
+0B5C ; [.20FA.0020.0002.0B21][.0000.00F1.0002.093C] # ORIYA LETTER RRA
+0B22 ; [.20FB.0020.0002.0B22] # ORIYA LETTER DDHA
+0B5D ; [.20FB.0020.0002.0B22][.0000.00F1.0002.093C] # ORIYA LETTER RHA
+0B23 ; [.20FC.0020.0002.0B23] # ORIYA LETTER NNA
+0B24 ; [.20FD.0020.0002.0B24] # ORIYA LETTER TA
+0B25 ; [.20FE.0020.0002.0B25] # ORIYA LETTER THA
+0B26 ; [.20FF.0020.0002.0B26] # ORIYA LETTER DA
+0B27 ; [.2100.0020.0002.0B27] # ORIYA LETTER DHA
+0B28 ; [.2101.0020.0002.0B28] # ORIYA LETTER NA
+0B2A ; [.2102.0020.0002.0B2A] # ORIYA LETTER PA
+0B2B ; [.2103.0020.0002.0B2B] # ORIYA LETTER PHA
+0B2C ; [.2104.0020.0002.0B2C] # ORIYA LETTER BA
+0B2D ; [.2105.0020.0002.0B2D] # ORIYA LETTER BHA
+0B2E ; [.2106.0020.0002.0B2E] # ORIYA LETTER MA
+0B2F ; [.2107.0020.0002.0B2F] # ORIYA LETTER YA
+0B5F ; [.2108.0020.0002.0B5F] # ORIYA LETTER YYA
+0B30 ; [.2109.0020.0002.0B30] # ORIYA LETTER RA
+0B32 ; [.210A.0020.0002.0B32] # ORIYA LETTER LA
+0B33 ; [.210B.0020.0002.0B33] # ORIYA LETTER LLA
+0B35 ; [.210C.0020.0002.0B35] # ORIYA LETTER VA
+0B71 ; [.210D.0020.0002.0B71] # ORIYA LETTER WA
+0B36 ; [.210E.0020.0002.0B36] # ORIYA LETTER SHA
+0B37 ; [.210F.0020.0002.0B37] # ORIYA LETTER SSA
+0B38 ; [.2110.0020.0002.0B38] # ORIYA LETTER SA
+0B39 ; [.2111.0020.0002.0B39] # ORIYA LETTER HA
+0B3D ; [.2112.0020.0002.0B3D] # ORIYA SIGN AVAGRAHA
+0B3E ; [.2113.0020.0002.0B3E] # ORIYA VOWEL SIGN AA
+0B3F ; [.2114.0020.0002.0B3F] # ORIYA VOWEL SIGN I
+0B40 ; [.2115.0020.0002.0B40] # ORIYA VOWEL SIGN II
+0B41 ; [.2116.0020.0002.0B41] # ORIYA VOWEL SIGN U
+0B42 ; [.2117.0020.0002.0B42] # ORIYA VOWEL SIGN UU
+0B43 ; [.2118.0020.0002.0B43] # ORIYA VOWEL SIGN VOCALIC R
+0B44 ; [.2119.0020.0002.0B44] # ORIYA VOWEL SIGN VOCALIC RR
+0B62 ; [.211A.0020.0002.0B62] # ORIYA VOWEL SIGN VOCALIC L
+0B63 ; [.211B.0020.0002.0B63] # ORIYA VOWEL SIGN VOCALIC LL
+0B47 ; [.211C.0020.0002.0B47] # ORIYA VOWEL SIGN E
+0B48 ; [.211D.0020.0002.0B48] # ORIYA VOWEL SIGN AI
+0B47 0B56 ; [.211D.0020.0002.0B48] # ORIYA VOWEL SIGN AI
+0B4B ; [.211E.0020.0002.0B4B] # ORIYA VOWEL SIGN O
+0B47 0B3E ; [.211E.0020.0002.0B4B] # ORIYA VOWEL SIGN O
+0B4C ; [.211F.0020.0002.0B4C] # ORIYA VOWEL SIGN AU
+0B47 0B57 ; [.211F.0020.0002.0B4C] # ORIYA VOWEL SIGN AU
+0B4D ; [.2120.0020.0002.0B4D] # ORIYA SIGN VIRAMA
+0B56 ; [.2121.0020.0002.0B56] # ORIYA AI LENGTH MARK
+0B57 ; [.2122.0020.0002.0B57] # ORIYA AU LENGTH MARK
+0BD0 ; [.2123.0020.0002.0BD0] # TAMIL OM
+0B85 ; [.2124.0020.0002.0B85] # TAMIL LETTER A
+0B86 ; [.2125.0020.0002.0B86] # TAMIL LETTER AA
+0B87 ; [.2126.0020.0002.0B87] # TAMIL LETTER I
+0B88 ; [.2127.0020.0002.0B88] # TAMIL LETTER II
+0B89 ; [.2128.0020.0002.0B89] # TAMIL LETTER U
+0B8A ; [.2129.0020.0002.0B8A] # TAMIL LETTER UU
+0B8E ; [.212A.0020.0002.0B8E] # TAMIL LETTER E
+0B8F ; [.212B.0020.0002.0B8F] # TAMIL LETTER EE
+0B90 ; [.212C.0020.0002.0B90] # TAMIL LETTER AI
+0B92 ; [.212D.0020.0002.0B92] # TAMIL LETTER O
+0B93 ; [.212E.0020.0002.0B93] # TAMIL LETTER OO
+0B94 ; [.212F.0020.0002.0B94] # TAMIL LETTER AU
+0B92 0BD7 ; [.212F.0020.0002.0B94] # TAMIL LETTER AU
+0B83 ; [.2130.0020.0002.0B83] # TAMIL SIGN VISARGA
+0B95 ; [.2131.0020.0002.0B95] # TAMIL LETTER KA
+0B99 ; [.2132.0020.0002.0B99] # TAMIL LETTER NGA
+0B9A ; [.2133.0020.0002.0B9A] # TAMIL LETTER CA
+0B9E ; [.2134.0020.0002.0B9E] # TAMIL LETTER NYA
+0B9F ; [.2135.0020.0002.0B9F] # TAMIL LETTER TTA
+0BA3 ; [.2136.0020.0002.0BA3] # TAMIL LETTER NNA
+0BA4 ; [.2137.0020.0002.0BA4] # TAMIL LETTER TA
+0BA8 ; [.2138.0020.0002.0BA8] # TAMIL LETTER NA
+0BAA ; [.2139.0020.0002.0BAA] # TAMIL LETTER PA
+0BAE ; [.213A.0020.0002.0BAE] # TAMIL LETTER MA
+0BAF ; [.213B.0020.0002.0BAF] # TAMIL LETTER YA
+0BB0 ; [.213C.0020.0002.0BB0] # TAMIL LETTER RA
+0BB2 ; [.213D.0020.0002.0BB2] # TAMIL LETTER LA
+0BB5 ; [.213E.0020.0002.0BB5] # TAMIL LETTER VA
+0BB4 ; [.213F.0020.0002.0BB4] # TAMIL LETTER LLLA
+0BB3 ; [.2140.0020.0002.0BB3] # TAMIL LETTER LLA
+0BB1 ; [.2141.0020.0002.0BB1] # TAMIL LETTER RRA
+0BA9 ; [.2142.0020.0002.0BA9] # TAMIL LETTER NNNA
+0B9C ; [.2143.0020.0002.0B9C] # TAMIL LETTER JA
+0BB6 ; [.2144.0020.0002.0BB6] # TAMIL LETTER SHA
+0BB7 ; [.2145.0020.0002.0BB7] # TAMIL LETTER SSA
+0BB8 ; [.2146.0020.0002.0BB8] # TAMIL LETTER SA
+0BB9 ; [.2147.0020.0002.0BB9] # TAMIL LETTER HA
+0BBE ; [.2148.0020.0002.0BBE] # TAMIL VOWEL SIGN AA
+0BBF ; [.2149.0020.0002.0BBF] # TAMIL VOWEL SIGN I
+0BC0 ; [.214A.0020.0002.0BC0] # TAMIL VOWEL SIGN II
+0BC1 ; [.214B.0020.0002.0BC1] # TAMIL VOWEL SIGN U
+0BC2 ; [.214C.0020.0002.0BC2] # TAMIL VOWEL SIGN UU
+0BC6 ; [.214D.0020.0002.0BC6] # TAMIL VOWEL SIGN E
+0BC7 ; [.214E.0020.0002.0BC7] # TAMIL VOWEL SIGN EE
+0BC8 ; [.214F.0020.0002.0BC8] # TAMIL VOWEL SIGN AI
+0BCA ; [.2150.0020.0002.0BCA] # TAMIL VOWEL SIGN O
+0BC6 0BBE ; [.2150.0020.0002.0BCA] # TAMIL VOWEL SIGN O
+0BCB ; [.2151.0020.0002.0BCB] # TAMIL VOWEL SIGN OO
+0BC7 0BBE ; [.2151.0020.0002.0BCB] # TAMIL VOWEL SIGN OO
+0BCC ; [.2152.0020.0002.0BCC] # TAMIL VOWEL SIGN AU
+0BC6 0BD7 ; [.2152.0020.0002.0BCC] # TAMIL VOWEL SIGN AU
+0BCD ; [.2153.0020.0002.0BCD] # TAMIL SIGN VIRAMA
+0BD7 ; [.2154.0020.0002.0BD7] # TAMIL AU LENGTH MARK
+0C05 ; [.2155.0020.0002.0C05] # TELUGU LETTER A
+0C06 ; [.2156.0020.0002.0C06] # TELUGU LETTER AA
+0C07 ; [.2157.0020.0002.0C07] # TELUGU LETTER I
+0C08 ; [.2158.0020.0002.0C08] # TELUGU LETTER II
+0C09 ; [.2159.0020.0002.0C09] # TELUGU LETTER U
+0C0A ; [.215A.0020.0002.0C0A] # TELUGU LETTER UU
+0C0B ; [.215B.0020.0002.0C0B] # TELUGU LETTER VOCALIC R
+0C60 ; [.215C.0020.0002.0C60] # TELUGU LETTER VOCALIC RR
+0C0C ; [.215D.0020.0002.0C0C] # TELUGU LETTER VOCALIC L
+0C61 ; [.215E.0020.0002.0C61] # TELUGU LETTER VOCALIC LL
+0C0E ; [.215F.0020.0002.0C0E] # TELUGU LETTER E
+0C0F ; [.2160.0020.0002.0C0F] # TELUGU LETTER EE
+0C10 ; [.2161.0020.0002.0C10] # TELUGU LETTER AI
+0C12 ; [.2162.0020.0002.0C12] # TELUGU LETTER O
+0C13 ; [.2163.0020.0002.0C13] # TELUGU LETTER OO
+0C14 ; [.2164.0020.0002.0C14] # TELUGU LETTER AU
+0C15 ; [.2165.0020.0002.0C15] # TELUGU LETTER KA
+0C16 ; [.2166.0020.0002.0C16] # TELUGU LETTER KHA
+0C17 ; [.2167.0020.0002.0C17] # TELUGU LETTER GA
+0C18 ; [.2168.0020.0002.0C18] # TELUGU LETTER GHA
+0C19 ; [.2169.0020.0002.0C19] # TELUGU LETTER NGA
+0C1A ; [.216A.0020.0002.0C1A] # TELUGU LETTER CA
+0C58 ; [.216B.0020.0002.0C58] # TELUGU LETTER TSA
+0C1B ; [.216C.0020.0002.0C1B] # TELUGU LETTER CHA
+0C1C ; [.216D.0020.0002.0C1C] # TELUGU LETTER JA
+0C59 ; [.216E.0020.0002.0C59] # TELUGU LETTER DZA
+0C1D ; [.216F.0020.0002.0C1D] # TELUGU LETTER JHA
+0C1E ; [.2170.0020.0002.0C1E] # TELUGU LETTER NYA
+0C1F ; [.2171.0020.0002.0C1F] # TELUGU LETTER TTA
+0C20 ; [.2172.0020.0002.0C20] # TELUGU LETTER TTHA
+0C21 ; [.2173.0020.0002.0C21] # TELUGU LETTER DDA
+0C22 ; [.2174.0020.0002.0C22] # TELUGU LETTER DDHA
+0C23 ; [.2175.0020.0002.0C23] # TELUGU LETTER NNA
+0C24 ; [.2176.0020.0002.0C24] # TELUGU LETTER TA
+0C25 ; [.2177.0020.0002.0C25] # TELUGU LETTER THA
+0C26 ; [.2178.0020.0002.0C26] # TELUGU LETTER DA
+0C27 ; [.2179.0020.0002.0C27] # TELUGU LETTER DHA
+0C28 ; [.217A.0020.0002.0C28] # TELUGU LETTER NA
+0C2A ; [.217B.0020.0002.0C2A] # TELUGU LETTER PA
+0C2B ; [.217C.0020.0002.0C2B] # TELUGU LETTER PHA
+0C2C ; [.217D.0020.0002.0C2C] # TELUGU LETTER BA
+0C2D ; [.217E.0020.0002.0C2D] # TELUGU LETTER BHA
+0C2E ; [.217F.0020.0002.0C2E] # TELUGU LETTER MA
+0C2F ; [.2180.0020.0002.0C2F] # TELUGU LETTER YA
+0C30 ; [.2181.0020.0002.0C30] # TELUGU LETTER RA
+0C31 ; [.2182.0020.0002.0C31] # TELUGU LETTER RRA
+0C32 ; [.2183.0020.0002.0C32] # TELUGU LETTER LA
+0C35 ; [.2184.0020.0002.0C35] # TELUGU LETTER VA
+0C36 ; [.2185.0020.0002.0C36] # TELUGU LETTER SHA
+0C37 ; [.2186.0020.0002.0C37] # TELUGU LETTER SSA
+0C38 ; [.2187.0020.0002.0C38] # TELUGU LETTER SA
+0C39 ; [.2188.0020.0002.0C39] # TELUGU LETTER HA
+0C33 ; [.2189.0020.0002.0C33] # TELUGU LETTER LLA
+0C3D ; [.218A.0020.0002.0C3D] # TELUGU SIGN AVAGRAHA
+0C3E ; [.218B.0020.0002.0C3E] # TELUGU VOWEL SIGN AA
+0C3F ; [.218C.0020.0002.0C3F] # TELUGU VOWEL SIGN I
+0C40 ; [.218D.0020.0002.0C40] # TELUGU VOWEL SIGN II
+0C41 ; [.218E.0020.0002.0C41] # TELUGU VOWEL SIGN U
+0C42 ; [.218F.0020.0002.0C42] # TELUGU VOWEL SIGN UU
+0C43 ; [.2190.0020.0002.0C43] # TELUGU VOWEL SIGN VOCALIC R
+0C44 ; [.2191.0020.0002.0C44] # TELUGU VOWEL SIGN VOCALIC RR
+0C62 ; [.2192.0020.0002.0C62] # TELUGU VOWEL SIGN VOCALIC L
+0C63 ; [.2193.0020.0002.0C63] # TELUGU VOWEL SIGN VOCALIC LL
+0C46 ; [.2194.0020.0002.0C46] # TELUGU VOWEL SIGN E
+0C47 ; [.2195.0020.0002.0C47] # TELUGU VOWEL SIGN EE
+0C48 ; [.2196.0020.0002.0C48] # TELUGU VOWEL SIGN AI
+0C46 0C56 ; [.2196.0020.0002.0C48] # TELUGU VOWEL SIGN AI
+0C4A ; [.2197.0020.0002.0C4A] # TELUGU VOWEL SIGN O
+0C4B ; [.2198.0020.0002.0C4B] # TELUGU VOWEL SIGN OO
+0C4C ; [.2199.0020.0002.0C4C] # TELUGU VOWEL SIGN AU
+0C4D ; [.219A.0020.0002.0C4D] # TELUGU SIGN VIRAMA
+0C55 ; [.219B.0020.0002.0C55] # TELUGU LENGTH MARK
+0C56 ; [.219C.0020.0002.0C56] # TELUGU AI LENGTH MARK
+0C85 ; [.219D.0020.0002.0C85] # KANNADA LETTER A
+0C86 ; [.219E.0020.0002.0C86] # KANNADA LETTER AA
+0C87 ; [.219F.0020.0002.0C87] # KANNADA LETTER I
+0C88 ; [.21A0.0020.0002.0C88] # KANNADA LETTER II
+0C89 ; [.21A1.0020.0002.0C89] # KANNADA LETTER U
+0C8A ; [.21A2.0020.0002.0C8A] # KANNADA LETTER UU
+0C8B ; [.21A3.0020.0002.0C8B] # KANNADA LETTER VOCALIC R
+0CE0 ; [.21A4.0020.0002.0CE0] # KANNADA LETTER VOCALIC RR
+0C8C ; [.21A5.0020.0002.0C8C] # KANNADA LETTER VOCALIC L
+0CE1 ; [.21A6.0020.0002.0CE1] # KANNADA LETTER VOCALIC LL
+0C8E ; [.21A7.0020.0002.0C8E] # KANNADA LETTER E
+0C8F ; [.21A8.0020.0002.0C8F] # KANNADA LETTER EE
+0C90 ; [.21A9.0020.0002.0C90] # KANNADA LETTER AI
+0C92 ; [.21AA.0020.0002.0C92] # KANNADA LETTER O
+0C93 ; [.21AB.0020.0002.0C93] # KANNADA LETTER OO
+0C94 ; [.21AC.0020.0002.0C94] # KANNADA LETTER AU
+0C95 ; [.21AD.0020.0002.0C95] # KANNADA LETTER KA
+0C96 ; [.21AE.0020.0002.0C96] # KANNADA LETTER KHA
+0C97 ; [.21AF.0020.0002.0C97] # KANNADA LETTER GA
+0C98 ; [.21B0.0020.0002.0C98] # KANNADA LETTER GHA
+0C99 ; [.21B1.0020.0002.0C99] # KANNADA LETTER NGA
+0C9A ; [.21B2.0020.0002.0C9A] # KANNADA LETTER CA
+0C9B ; [.21B3.0020.0002.0C9B] # KANNADA LETTER CHA
+0C9C ; [.21B4.0020.0002.0C9C] # KANNADA LETTER JA
+0C9D ; [.21B5.0020.0002.0C9D] # KANNADA LETTER JHA
+0C9E ; [.21B6.0020.0002.0C9E] # KANNADA LETTER NYA
+0C9F ; [.21B7.0020.0002.0C9F] # KANNADA LETTER TTA
+0CA0 ; [.21B8.0020.0002.0CA0] # KANNADA LETTER TTHA
+0CA1 ; [.21B9.0020.0002.0CA1] # KANNADA LETTER DDA
+0CA2 ; [.21BA.0020.0002.0CA2] # KANNADA LETTER DDHA
+0CA3 ; [.21BB.0020.0002.0CA3] # KANNADA LETTER NNA
+0CA4 ; [.21BC.0020.0002.0CA4] # KANNADA LETTER TA
+0CA5 ; [.21BD.0020.0002.0CA5] # KANNADA LETTER THA
+0CA6 ; [.21BE.0020.0002.0CA6] # KANNADA LETTER DA
+0CA7 ; [.21BF.0020.0002.0CA7] # KANNADA LETTER DHA
+0CA8 ; [.21C0.0020.0002.0CA8] # KANNADA LETTER NA
+0CAA ; [.21C1.0020.0002.0CAA] # KANNADA LETTER PA
+0CAB ; [.21C2.0020.0002.0CAB] # KANNADA LETTER PHA
+0CAC ; [.21C3.0020.0002.0CAC] # KANNADA LETTER BA
+0CAD ; [.21C4.0020.0002.0CAD] # KANNADA LETTER BHA
+0CAE ; [.21C5.0020.0002.0CAE] # KANNADA LETTER MA
+0CAF ; [.21C6.0020.0002.0CAF] # KANNADA LETTER YA
+0CB0 ; [.21C7.0020.0002.0CB0] # KANNADA LETTER RA
+0CB1 ; [.21C8.0020.0002.0CB1] # KANNADA LETTER RRA
+0CB2 ; [.21C9.0020.0002.0CB2] # KANNADA LETTER LA
+0CB5 ; [.21CA.0020.0002.0CB5] # KANNADA LETTER VA
+0CB6 ; [.21CB.0020.0002.0CB6] # KANNADA LETTER SHA
+0CB7 ; [.21CC.0020.0002.0CB7] # KANNADA LETTER SSA
+0CB8 ; [.21CD.0020.0002.0CB8] # KANNADA LETTER SA
+0CB9 ; [.21CE.0020.0002.0CB9] # KANNADA LETTER HA
+0CB3 ; [.21CF.0020.0002.0CB3] # KANNADA LETTER LLA
+0CDE ; [.21D0.0020.0002.0CDE] # KANNADA LETTER FA
+0CBD ; [.21D1.0020.0002.0CBD] # KANNADA SIGN AVAGRAHA
+0CF1 ; [.21D2.0020.0002.0CF1] # KANNADA SIGN JIHVAMULIYA
+0CF2 ; [.21D3.0020.0002.0CF2] # KANNADA SIGN UPADHMANIYA
+0CBE ; [.21D4.0020.0002.0CBE] # KANNADA VOWEL SIGN AA
+0CBF ; [.21D5.0020.0002.0CBF] # KANNADA VOWEL SIGN I
+0CC0 ; [.21D6.0020.0002.0CC0] # KANNADA VOWEL SIGN II
+0CBF 0CD5 ; [.21D6.0020.0002.0CC0] # KANNADA VOWEL SIGN II
+0CC1 ; [.21D7.0020.0002.0CC1] # KANNADA VOWEL SIGN U
+0CC2 ; [.21D8.0020.0002.0CC2] # KANNADA VOWEL SIGN UU
+0CC3 ; [.21D9.0020.0002.0CC3] # KANNADA VOWEL SIGN VOCALIC R
+0CC4 ; [.21DA.0020.0002.0CC4] # KANNADA VOWEL SIGN VOCALIC RR
+0CE2 ; [.21DB.0020.0002.0CE2] # KANNADA VOWEL SIGN VOCALIC L
+0CE3 ; [.21DC.0020.0002.0CE3] # KANNADA VOWEL SIGN VOCALIC LL
+0CC6 ; [.21DD.0020.0002.0CC6] # KANNADA VOWEL SIGN E
+0CC7 ; [.21DE.0020.0002.0CC7] # KANNADA VOWEL SIGN EE
+0CC6 0CD5 ; [.21DE.0020.0002.0CC7] # KANNADA VOWEL SIGN EE
+0CC8 ; [.21DF.0020.0002.0CC8] # KANNADA VOWEL SIGN AI
+0CC6 0CD6 ; [.21DF.0020.0002.0CC8] # KANNADA VOWEL SIGN AI
+0CCA ; [.21E0.0020.0002.0CCA] # KANNADA VOWEL SIGN O
+0CC6 0CC2 ; [.21E0.0020.0002.0CCA] # KANNADA VOWEL SIGN O
+0CCB ; [.21E1.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
+0CC6 0CC2 0CD5 ; [.21E1.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
+0CCA 0CD5 ; [.21E1.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
+0CCC ; [.21E2.0020.0002.0CCC] # KANNADA VOWEL SIGN AU
+0CCD ; [.21E3.0020.0002.0CCD] # KANNADA SIGN VIRAMA
+0CD5 ; [.21E4.0020.0002.0CD5] # KANNADA LENGTH MARK
+0CD6 ; [.21E5.0020.0002.0CD6] # KANNADA AI LENGTH MARK
+0D05 ; [.21E6.0020.0002.0D05] # MALAYALAM LETTER A
+0D06 ; [.21E7.0020.0002.0D06] # MALAYALAM LETTER AA
+0D07 ; [.21E8.0020.0002.0D07] # MALAYALAM LETTER I
+0D08 ; [.21E9.0020.0002.0D08] # MALAYALAM LETTER II
+0D09 ; [.21EA.0020.0002.0D09] # MALAYALAM LETTER U
+0D0A ; [.21EB.0020.0002.0D0A] # MALAYALAM LETTER UU
+0D0B ; [.21EC.0020.0002.0D0B] # MALAYALAM LETTER VOCALIC R
+0D60 ; [.21ED.0020.0002.0D60] # MALAYALAM LETTER VOCALIC RR
+0D0C ; [.21EE.0020.0002.0D0C] # MALAYALAM LETTER VOCALIC L
+0D61 ; [.21EF.0020.0002.0D61] # MALAYALAM LETTER VOCALIC LL
+0D0E ; [.21F0.0020.0002.0D0E] # MALAYALAM LETTER E
+0D0F ; [.21F1.0020.0002.0D0F] # MALAYALAM LETTER EE
+0D10 ; [.21F2.0020.0002.0D10] # MALAYALAM LETTER AI
+0D12 ; [.21F3.0020.0002.0D12] # MALAYALAM LETTER O
+0D13 ; [.21F4.0020.0002.0D13] # MALAYALAM LETTER OO
+0D14 ; [.21F5.0020.0002.0D14] # MALAYALAM LETTER AU
+0D15 ; [.21F6.0020.0002.0D15] # MALAYALAM LETTER KA
+0D7F ; [.21F6.0020.0004.0D7F][.222D.0020.0004.0D7F] # MALAYALAM LETTER CHILLU K
+0D16 ; [.21F7.0020.0002.0D16] # MALAYALAM LETTER KHA
+0D17 ; [.21F8.0020.0002.0D17] # MALAYALAM LETTER GA
+0D18 ; [.21F9.0020.0002.0D18] # MALAYALAM LETTER GHA
+0D19 ; [.21FA.0020.0002.0D19] # MALAYALAM LETTER NGA
+0D1A ; [.21FB.0020.0002.0D1A] # MALAYALAM LETTER CA
+0D1B ; [.21FC.0020.0002.0D1B] # MALAYALAM LETTER CHA
+0D1C ; [.21FD.0020.0002.0D1C] # MALAYALAM LETTER JA
+0D1D ; [.21FE.0020.0002.0D1D] # MALAYALAM LETTER JHA
+0D1E ; [.21FF.0020.0002.0D1E] # MALAYALAM LETTER NYA
+0D1F ; [.2200.0020.0002.0D1F] # MALAYALAM LETTER TTA
+0D20 ; [.2201.0020.0002.0D20] # MALAYALAM LETTER TTHA
+0D21 ; [.2202.0020.0002.0D21] # MALAYALAM LETTER DDA
+0D22 ; [.2203.0020.0002.0D22] # MALAYALAM LETTER DDHA
+0D23 ; [.2204.0020.0002.0D23] # MALAYALAM LETTER NNA
+0D7A ; [.2204.0020.0004.0D7A][.222D.0020.0004.0D7A] # MALAYALAM LETTER CHILLU NN
+0D24 ; [.2205.0020.0002.0D24] # MALAYALAM LETTER TA
+0D25 ; [.2206.0020.0002.0D25] # MALAYALAM LETTER THA
+0D26 ; [.2207.0020.0002.0D26] # MALAYALAM LETTER DA
+0D27 ; [.2208.0020.0002.0D27] # MALAYALAM LETTER DHA
+0D28 ; [.2209.0020.0002.0D28] # MALAYALAM LETTER NA
+0D7B ; [.2209.0020.0004.0D7B][.222D.0020.0004.0D7B] # MALAYALAM LETTER CHILLU N
+0D29 ; [.220A.0020.0002.0D29] # MALAYALAM LETTER NNNA
+0D2A ; [.220B.0020.0002.0D2A] # MALAYALAM LETTER PA
+0D2B ; [.220C.0020.0002.0D2B] # MALAYALAM LETTER PHA
+0D2C ; [.220D.0020.0002.0D2C] # MALAYALAM LETTER BA
+0D2D ; [.220E.0020.0002.0D2D] # MALAYALAM LETTER BHA
+0D2E ; [.220F.0020.0002.0D2E] # MALAYALAM LETTER MA
+0D2F ; [.2210.0020.0002.0D2F] # MALAYALAM LETTER YA
+0D30 ; [.2211.0020.0002.0D30] # MALAYALAM LETTER RA
+0D4E ; [.2211.0020.0004.0D4E][.222D.0020.0004.0D4E] # MALAYALAM LETTER DOT REPH
+0D7C ; [.2211.0020.0004.0D7C][.222D.0020.0004.0D7C] # MALAYALAM LETTER CHILLU RR
+0D32 ; [.2212.0020.0002.0D32] # MALAYALAM LETTER LA
+0D7D ; [.2212.0020.0004.0D7D][.222D.0020.0004.0D7D] # MALAYALAM LETTER CHILLU L
+0D35 ; [.2213.0020.0002.0D35] # MALAYALAM LETTER VA
+0D36 ; [.2214.0020.0002.0D36] # MALAYALAM LETTER SHA
+0D37 ; [.2215.0020.0002.0D37] # MALAYALAM LETTER SSA
+0D38 ; [.2216.0020.0002.0D38] # MALAYALAM LETTER SA
+0D39 ; [.2217.0020.0002.0D39] # MALAYALAM LETTER HA
+0D33 ; [.2218.0020.0002.0D33] # MALAYALAM LETTER LLA
+0D7E ; [.2218.0020.0004.0D7E][.222D.0020.0004.0D7E] # MALAYALAM LETTER CHILLU LL
+0D34 ; [.2219.0020.0002.0D34] # MALAYALAM LETTER LLLA
+0D31 ; [.221A.0020.0002.0D31] # MALAYALAM LETTER RRA
+0D3A ; [.221B.0020.0002.0D3A] # MALAYALAM LETTER TTTA
+0D3D ; [.221C.0020.0002.0D3D] # MALAYALAM SIGN AVAGRAHA
+0D3E ; [.221D.0020.0002.0D3E] # MALAYALAM VOWEL SIGN AA
+0D3F ; [.221E.0020.0002.0D3F] # MALAYALAM VOWEL SIGN I
+0D40 ; [.221F.0020.0002.0D40] # MALAYALAM VOWEL SIGN II
+0D41 ; [.2220.0020.0002.0D41] # MALAYALAM VOWEL SIGN U
+0D42 ; [.2221.0020.0002.0D42] # MALAYALAM VOWEL SIGN UU
+0D43 ; [.2222.0020.0002.0D43] # MALAYALAM VOWEL SIGN VOCALIC R
+0D44 ; [.2223.0020.0002.0D44] # MALAYALAM VOWEL SIGN VOCALIC RR
+0D62 ; [.2224.0020.0002.0D62] # MALAYALAM VOWEL SIGN VOCALIC L
+0D63 ; [.2225.0020.0002.0D63] # MALAYALAM VOWEL SIGN VOCALIC LL
+0D46 ; [.2226.0020.0002.0D46] # MALAYALAM VOWEL SIGN E
+0D47 ; [.2227.0020.0002.0D47] # MALAYALAM VOWEL SIGN EE
+0D48 ; [.2228.0020.0002.0D48] # MALAYALAM VOWEL SIGN AI
+0D4A ; [.2229.0020.0002.0D4A] # MALAYALAM VOWEL SIGN O
+0D46 0D3E ; [.2229.0020.0002.0D4A] # MALAYALAM VOWEL SIGN O
+0D4B ; [.222A.0020.0002.0D4B] # MALAYALAM VOWEL SIGN OO
+0D47 0D3E ; [.222A.0020.0002.0D4B] # MALAYALAM VOWEL SIGN OO
+0D4C ; [.222B.0020.0002.0D4C] # MALAYALAM VOWEL SIGN AU
+0D46 0D57 ; [.222B.0020.0002.0D4C] # MALAYALAM VOWEL SIGN AU
+0D57 ; [.222C.0020.0002.0D57] # MALAYALAM AU LENGTH MARK
+0D4D ; [.222D.0020.0002.0D4D] # MALAYALAM SIGN VIRAMA
+0D85 ; [.222E.0020.0002.0D85] # SINHALA LETTER AYANNA
+0D86 ; [.222F.0020.0002.0D86] # SINHALA LETTER AAYANNA
+0D87 ; [.2230.0020.0002.0D87] # SINHALA LETTER AEYANNA
+0D88 ; [.2231.0020.0002.0D88] # SINHALA LETTER AEEYANNA
+0D89 ; [.2232.0020.0002.0D89] # SINHALA LETTER IYANNA
+0D8A ; [.2233.0020.0002.0D8A] # SINHALA LETTER IIYANNA
+0D8B ; [.2234.0020.0002.0D8B] # SINHALA LETTER UYANNA
+0D8C ; [.2235.0020.0002.0D8C] # SINHALA LETTER UUYANNA
+0D8D ; [.2236.0020.0002.0D8D] # SINHALA LETTER IRUYANNA
+0D8E ; [.2237.0020.0002.0D8E] # SINHALA LETTER IRUUYANNA
+0D8F ; [.2238.0020.0002.0D8F] # SINHALA LETTER ILUYANNA
+0D90 ; [.2239.0020.0002.0D90] # SINHALA LETTER ILUUYANNA
+0D91 ; [.223A.0020.0002.0D91] # SINHALA LETTER EYANNA
+0D92 ; [.223B.0020.0002.0D92] # SINHALA LETTER EEYANNA
+0D93 ; [.223C.0020.0002.0D93] # SINHALA LETTER AIYANNA
+0D94 ; [.223D.0020.0002.0D94] # SINHALA LETTER OYANNA
+0D95 ; [.223E.0020.0002.0D95] # SINHALA LETTER OOYANNA
+0D96 ; [.223F.0020.0002.0D96] # SINHALA LETTER AUYANNA
+0D9A ; [.2240.0020.0002.0D9A] # SINHALA LETTER ALPAPRAANA KAYANNA
+0D9B ; [.2241.0020.0002.0D9B] # SINHALA LETTER MAHAAPRAANA KAYANNA
+0D9C ; [.2242.0020.0002.0D9C] # SINHALA LETTER ALPAPRAANA GAYANNA
+0D9D ; [.2243.0020.0002.0D9D] # SINHALA LETTER MAHAAPRAANA GAYANNA
+0D9E ; [.2244.0020.0002.0D9E] # SINHALA LETTER KANTAJA NAASIKYAYA
+0D9F ; [.2245.0020.0002.0D9F] # SINHALA LETTER SANYAKA GAYANNA
+0DA0 ; [.2246.0020.0002.0DA0] # SINHALA LETTER ALPAPRAANA CAYANNA
+0DA1 ; [.2247.0020.0002.0DA1] # SINHALA LETTER MAHAAPRAANA CAYANNA
+0DA2 ; [.2248.0020.0002.0DA2] # SINHALA LETTER ALPAPRAANA JAYANNA
+0DA3 ; [.2249.0020.0002.0DA3] # SINHALA LETTER MAHAAPRAANA JAYANNA
+0DA4 ; [.224A.0020.0002.0DA4] # SINHALA LETTER TAALUJA NAASIKYAYA
+0DA5 ; [.224B.0020.0002.0DA5] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
+0DA6 ; [.224C.0020.0002.0DA6] # SINHALA LETTER SANYAKA JAYANNA
+0DA7 ; [.224D.0020.0002.0DA7] # SINHALA LETTER ALPAPRAANA TTAYANNA
+0DA8 ; [.224E.0020.0002.0DA8] # SINHALA LETTER MAHAAPRAANA TTAYANNA
+0DA9 ; [.224F.0020.0002.0DA9] # SINHALA LETTER ALPAPRAANA DDAYANNA
+0DAA ; [.2250.0020.0002.0DAA] # SINHALA LETTER MAHAAPRAANA DDAYANNA
+0DAB ; [.2251.0020.0002.0DAB] # SINHALA LETTER MUURDHAJA NAYANNA
+0DAC ; [.2252.0020.0002.0DAC] # SINHALA LETTER SANYAKA DDAYANNA
+0DAD ; [.2253.0020.0002.0DAD] # SINHALA LETTER ALPAPRAANA TAYANNA
+0DAE ; [.2254.0020.0002.0DAE] # SINHALA LETTER MAHAAPRAANA TAYANNA
+0DAF ; [.2255.0020.0002.0DAF] # SINHALA LETTER ALPAPRAANA DAYANNA
+0DB0 ; [.2256.0020.0002.0DB0] # SINHALA LETTER MAHAAPRAANA DAYANNA
+0DB1 ; [.2257.0020.0002.0DB1] # SINHALA LETTER DANTAJA NAYANNA
+0DB3 ; [.2258.0020.0002.0DB3] # SINHALA LETTER SANYAKA DAYANNA
+0DB4 ; [.2259.0020.0002.0DB4] # SINHALA LETTER ALPAPRAANA PAYANNA
+0DB5 ; [.225A.0020.0002.0DB5] # SINHALA LETTER MAHAAPRAANA PAYANNA
+0DB6 ; [.225B.0020.0002.0DB6] # SINHALA LETTER ALPAPRAANA BAYANNA
+0DB7 ; [.225C.0020.0002.0DB7] # SINHALA LETTER MAHAAPRAANA BAYANNA
+0DB8 ; [.225D.0020.0002.0DB8] # SINHALA LETTER MAYANNA
+0DB9 ; [.225E.0020.0002.0DB9] # SINHALA LETTER AMBA BAYANNA
+0DBA ; [.225F.0020.0002.0DBA] # SINHALA LETTER YAYANNA
+0DBB ; [.2260.0020.0002.0DBB] # SINHALA LETTER RAYANNA
+0DBD ; [.2261.0020.0002.0DBD] # SINHALA LETTER DANTAJA LAYANNA
+0DC0 ; [.2262.0020.0002.0DC0] # SINHALA LETTER VAYANNA
+0DC1 ; [.2263.0020.0002.0DC1] # SINHALA LETTER TAALUJA SAYANNA
+0DC2 ; [.2264.0020.0002.0DC2] # SINHALA LETTER MUURDHAJA SAYANNA
+0DC3 ; [.2265.0020.0002.0DC3] # SINHALA LETTER DANTAJA SAYANNA
+0DC4 ; [.2266.0020.0002.0DC4] # SINHALA LETTER HAYANNA
+0DC5 ; [.2267.0020.0002.0DC5] # SINHALA LETTER MUURDHAJA LAYANNA
+0DC6 ; [.2268.0020.0002.0DC6] # SINHALA LETTER FAYANNA
+0DCF ; [.2269.0020.0002.0DCF] # SINHALA VOWEL SIGN AELA-PILLA
+0DD0 ; [.226A.0020.0002.0DD0] # SINHALA VOWEL SIGN KETTI AEDA-PILLA
+0DD1 ; [.226B.0020.0002.0DD1] # SINHALA VOWEL SIGN DIGA AEDA-PILLA
+0DD2 ; [.226C.0020.0002.0DD2] # SINHALA VOWEL SIGN KETTI IS-PILLA
+0DD3 ; [.226D.0020.0002.0DD3] # SINHALA VOWEL SIGN DIGA IS-PILLA
+0DD4 ; [.226E.0020.0002.0DD4] # SINHALA VOWEL SIGN KETTI PAA-PILLA
+0DD6 ; [.226F.0020.0002.0DD6] # SINHALA VOWEL SIGN DIGA PAA-PILLA
+0DD8 ; [.2270.0020.0002.0DD8] # SINHALA VOWEL SIGN GAETTA-PILLA
+0DF2 ; [.2271.0020.0002.0DF2] # SINHALA VOWEL SIGN DIGA GAETTA-PILLA
+0DDF ; [.2272.0020.0002.0DDF] # SINHALA VOWEL SIGN GAYANUKITTA
+0DF3 ; [.2273.0020.0002.0DF3] # SINHALA VOWEL SIGN DIGA GAYANUKITTA
+0DD9 ; [.2274.0020.0002.0DD9] # SINHALA VOWEL SIGN KOMBUVA
+0DDA ; [.2275.0020.0002.0DDA] # SINHALA VOWEL SIGN DIGA KOMBUVA
+0DD9 0DCA ; [.2275.0020.0002.0DDA] # SINHALA VOWEL SIGN DIGA KOMBUVA
+0DDB ; [.2276.0020.0002.0DDB] # SINHALA VOWEL SIGN KOMBU DEKA
+0DDC ; [.2277.0020.0002.0DDC] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
+0DD9 0DCF ; [.2277.0020.0002.0DDC] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
+0DDD ; [.2278.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
+0DD9 0DCF 0DCA ; [.2278.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
+0DDC 0DCA ; [.2278.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
+0DDE ; [.2279.0020.0002.0DDE] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
+0DD9 0DDF ; [.2279.0020.0002.0DDE] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
+0DCA ; [.227A.0020.0002.0DCA] # SINHALA SIGN AL-LAKUNA
+AAF2 ; [.227B.0020.0002.AAF2] # MEETEI MAYEK ANJI
+ABC0 ; [.227C.0020.0002.ABC0] # MEETEI MAYEK LETTER KOK
+ABC1 ; [.227D.0020.0002.ABC1] # MEETEI MAYEK LETTER SAM
+ABC2 ; [.227E.0020.0002.ABC2] # MEETEI MAYEK LETTER LAI
+ABC3 ; [.227F.0020.0002.ABC3] # MEETEI MAYEK LETTER MIT
+ABC4 ; [.2280.0020.0002.ABC4] # MEETEI MAYEK LETTER PA
+ABC5 ; [.2281.0020.0002.ABC5] # MEETEI MAYEK LETTER NA
+ABC6 ; [.2282.0020.0002.ABC6] # MEETEI MAYEK LETTER CHIL
+ABC7 ; [.2283.0020.0002.ABC7] # MEETEI MAYEK LETTER TIL
+ABC8 ; [.2284.0020.0002.ABC8] # MEETEI MAYEK LETTER KHOU
+ABC9 ; [.2285.0020.0002.ABC9] # MEETEI MAYEK LETTER NGOU
+ABCA ; [.2286.0020.0002.ABCA] # MEETEI MAYEK LETTER THOU
+ABCB ; [.2287.0020.0002.ABCB] # MEETEI MAYEK LETTER WAI
+ABCC ; [.2288.0020.0002.ABCC] # MEETEI MAYEK LETTER YANG
+ABCD ; [.2289.0020.0002.ABCD] # MEETEI MAYEK LETTER HUK
+ABCE ; [.228A.0020.0002.ABCE] # MEETEI MAYEK LETTER UN
+ABCF ; [.228B.0020.0002.ABCF] # MEETEI MAYEK LETTER I
+ABD0 ; [.228C.0020.0002.ABD0] # MEETEI MAYEK LETTER PHAM
+ABD1 ; [.228D.0020.0002.ABD1] # MEETEI MAYEK LETTER ATIYA
+ABD2 ; [.228E.0020.0002.ABD2] # MEETEI MAYEK LETTER GOK
+ABD3 ; [.228F.0020.0002.ABD3] # MEETEI MAYEK LETTER JHAM
+ABD4 ; [.2290.0020.0002.ABD4] # MEETEI MAYEK LETTER RAI
+ABD5 ; [.2291.0020.0002.ABD5] # MEETEI MAYEK LETTER BA
+ABD6 ; [.2292.0020.0002.ABD6] # MEETEI MAYEK LETTER JIL
+ABD7 ; [.2293.0020.0002.ABD7] # MEETEI MAYEK LETTER DIL
+ABD8 ; [.2294.0020.0002.ABD8] # MEETEI MAYEK LETTER GHOU
+ABD9 ; [.2295.0020.0002.ABD9] # MEETEI MAYEK LETTER DHOU
+ABDA ; [.2296.0020.0002.ABDA] # MEETEI MAYEK LETTER BHAM
+AAE0 ; [.2297.0020.0002.AAE0] # MEETEI MAYEK LETTER E
+AAE1 ; [.2298.0020.0002.AAE1] # MEETEI MAYEK LETTER O
+AAE2 ; [.2299.0020.0002.AAE2] # MEETEI MAYEK LETTER CHA
+AAE3 ; [.229A.0020.0002.AAE3] # MEETEI MAYEK LETTER NYA
+AAE4 ; [.229B.0020.0002.AAE4] # MEETEI MAYEK LETTER TTA
+AAE5 ; [.229C.0020.0002.AAE5] # MEETEI MAYEK LETTER TTHA
+AAE6 ; [.229D.0020.0002.AAE6] # MEETEI MAYEK LETTER DDA
+AAE7 ; [.229E.0020.0002.AAE7] # MEETEI MAYEK LETTER DDHA
+AAE8 ; [.229F.0020.0002.AAE8] # MEETEI MAYEK LETTER NNA
+AAE9 ; [.22A0.0020.0002.AAE9] # MEETEI MAYEK LETTER SHA
+AAEA ; [.22A1.0020.0002.AAEA] # MEETEI MAYEK LETTER SSA
+ABE3 ; [.22A2.0020.0002.ABE3] # MEETEI MAYEK VOWEL SIGN ONAP
+ABE4 ; [.22A3.0020.0002.ABE4] # MEETEI MAYEK VOWEL SIGN INAP
+ABE5 ; [.22A4.0020.0002.ABE5] # MEETEI MAYEK VOWEL SIGN ANAP
+ABE6 ; [.22A5.0020.0002.ABE6] # MEETEI MAYEK VOWEL SIGN YENAP
+ABE7 ; [.22A6.0020.0002.ABE7] # MEETEI MAYEK VOWEL SIGN SOUNAP
+ABE8 ; [.22A7.0020.0002.ABE8] # MEETEI MAYEK VOWEL SIGN UNAP
+ABE9 ; [.22A8.0020.0002.ABE9] # MEETEI MAYEK VOWEL SIGN CHEINAP
+ABEA ; [.22A9.0020.0002.ABEA] # MEETEI MAYEK VOWEL SIGN NUNG
+AAEB ; [.22AA.0020.0002.AAEB] # MEETEI MAYEK VOWEL SIGN II
+AAEC ; [.22AB.0020.0002.AAEC] # MEETEI MAYEK VOWEL SIGN UU
+AAED ; [.22AC.0020.0002.AAED] # MEETEI MAYEK VOWEL SIGN AAI
+AAEE ; [.22AD.0020.0002.AAEE] # MEETEI MAYEK VOWEL SIGN AU
+AAEF ; [.22AE.0020.0002.AAEF] # MEETEI MAYEK VOWEL SIGN AAU
+AAF5 ; [.22AF.0020.0002.AAF5] # MEETEI MAYEK VOWEL SIGN VISARGA
+ABDB ; [.22B0.0020.0002.ABDB] # MEETEI MAYEK LETTER KOK LONSUM
+ABDC ; [.22B1.0020.0002.ABDC] # MEETEI MAYEK LETTER LAI LONSUM
+ABDD ; [.22B2.0020.0002.ABDD] # MEETEI MAYEK LETTER MIT LONSUM
+ABDE ; [.22B3.0020.0002.ABDE] # MEETEI MAYEK LETTER PA LONSUM
+ABDF ; [.22B4.0020.0002.ABDF] # MEETEI MAYEK LETTER NA LONSUM
+ABE0 ; [.22B5.0020.0002.ABE0] # MEETEI MAYEK LETTER TIL LONSUM
+ABE1 ; [.22B6.0020.0002.ABE1] # MEETEI MAYEK LETTER NGOU LONSUM
+ABE2 ; [.22B7.0020.0002.ABE2] # MEETEI MAYEK LETTER I LONSUM
+ABED ; [.22B8.0020.0002.ABED] # MEETEI MAYEK APUN IYEK
+AAF6 ; [.22B9.0020.0002.AAF6] # MEETEI MAYEK VIRAMA
+A800 ; [.22BA.0020.0002.A800] # SYLOTI NAGRI LETTER A
+A801 ; [.22BB.0020.0002.A801] # SYLOTI NAGRI LETTER I
+A802 ; [.22BC.0020.0002.A802] # SYLOTI NAGRI SIGN DVISVARA
+A803 ; [.22BD.0020.0002.A803] # SYLOTI NAGRI LETTER U
+A804 ; [.22BE.0020.0002.A804] # SYLOTI NAGRI LETTER E
+A805 ; [.22BF.0020.0002.A805] # SYLOTI NAGRI LETTER O
+A806 ; [.22C0.0020.0002.A806] # SYLOTI NAGRI SIGN HASANTA
+A807 ; [.22C1.0020.0002.A807] # SYLOTI NAGRI LETTER KO
+A808 ; [.22C2.0020.0002.A808] # SYLOTI NAGRI LETTER KHO
+A809 ; [.22C3.0020.0002.A809] # SYLOTI NAGRI LETTER GO
+A80A ; [.22C4.0020.0002.A80A] # SYLOTI NAGRI LETTER GHO
+A80C ; [.22C5.0020.0002.A80C] # SYLOTI NAGRI LETTER CO
+A80D ; [.22C6.0020.0002.A80D] # SYLOTI NAGRI LETTER CHO
+A80E ; [.22C7.0020.0002.A80E] # SYLOTI NAGRI LETTER JO
+A80F ; [.22C8.0020.0002.A80F] # SYLOTI NAGRI LETTER JHO
+A810 ; [.22C9.0020.0002.A810] # SYLOTI NAGRI LETTER TTO
+A811 ; [.22CA.0020.0002.A811] # SYLOTI NAGRI LETTER TTHO
+A812 ; [.22CB.0020.0002.A812] # SYLOTI NAGRI LETTER DDO
+A813 ; [.22CC.0020.0002.A813] # SYLOTI NAGRI LETTER DDHO
+A814 ; [.22CD.0020.0002.A814] # SYLOTI NAGRI LETTER TO
+A815 ; [.22CE.0020.0002.A815] # SYLOTI NAGRI LETTER THO
+A816 ; [.22CF.0020.0002.A816] # SYLOTI NAGRI LETTER DO
+A817 ; [.22D0.0020.0002.A817] # SYLOTI NAGRI LETTER DHO
+A818 ; [.22D1.0020.0002.A818] # SYLOTI NAGRI LETTER NO
+A819 ; [.22D2.0020.0002.A819] # SYLOTI NAGRI LETTER PO
+A81A ; [.22D3.0020.0002.A81A] # SYLOTI NAGRI LETTER PHO
+A81B ; [.22D4.0020.0002.A81B] # SYLOTI NAGRI LETTER BO
+A81C ; [.22D5.0020.0002.A81C] # SYLOTI NAGRI LETTER BHO
+A81D ; [.22D6.0020.0002.A81D] # SYLOTI NAGRI LETTER MO
+A81E ; [.22D7.0020.0002.A81E] # SYLOTI NAGRI LETTER RO
+A81F ; [.22D8.0020.0002.A81F] # SYLOTI NAGRI LETTER LO
+A820 ; [.22D9.0020.0002.A820] # SYLOTI NAGRI LETTER RRO
+A821 ; [.22DA.0020.0002.A821] # SYLOTI NAGRI LETTER SO
+A822 ; [.22DB.0020.0002.A822] # SYLOTI NAGRI LETTER HO
+A823 ; [.22DC.0020.0002.A823] # SYLOTI NAGRI VOWEL SIGN A
+A824 ; [.22DD.0020.0002.A824] # SYLOTI NAGRI VOWEL SIGN I
+A825 ; [.22DE.0020.0002.A825] # SYLOTI NAGRI VOWEL SIGN U
+A826 ; [.22DF.0020.0002.A826] # SYLOTI NAGRI VOWEL SIGN E
+A827 ; [.22E0.0020.0002.A827] # SYLOTI NAGRI VOWEL SIGN OO
+A882 ; [.22E1.0020.0002.A882] # SAURASHTRA LETTER A
+A883 ; [.22E2.0020.0002.A883] # SAURASHTRA LETTER AA
+A884 ; [.22E3.0020.0002.A884] # SAURASHTRA LETTER I
+A885 ; [.22E4.0020.0002.A885] # SAURASHTRA LETTER II
+A886 ; [.22E5.0020.0002.A886] # SAURASHTRA LETTER U
+A887 ; [.22E6.0020.0002.A887] # SAURASHTRA LETTER UU
+A888 ; [.22E7.0020.0002.A888] # SAURASHTRA LETTER VOCALIC R
+A889 ; [.22E8.0020.0002.A889] # SAURASHTRA LETTER VOCALIC RR
+A88A ; [.22E9.0020.0002.A88A] # SAURASHTRA LETTER VOCALIC L
+A88B ; [.22EA.0020.0002.A88B] # SAURASHTRA LETTER VOCALIC LL
+A88C ; [.22EB.0020.0002.A88C] # SAURASHTRA LETTER E
+A88D ; [.22EC.0020.0002.A88D] # SAURASHTRA LETTER EE
+A88E ; [.22ED.0020.0002.A88E] # SAURASHTRA LETTER AI
+A88F ; [.22EE.0020.0002.A88F] # SAURASHTRA LETTER O
+A890 ; [.22EF.0020.0002.A890] # SAURASHTRA LETTER OO
+A891 ; [.22F0.0020.0002.A891] # SAURASHTRA LETTER AU
+A892 ; [.22F1.0020.0002.A892] # SAURASHTRA LETTER KA
+A893 ; [.22F2.0020.0002.A893] # SAURASHTRA LETTER KHA
+A894 ; [.22F3.0020.0002.A894] # SAURASHTRA LETTER GA
+A895 ; [.22F4.0020.0002.A895] # SAURASHTRA LETTER GHA
+A896 ; [.22F5.0020.0002.A896] # SAURASHTRA LETTER NGA
+A897 ; [.22F6.0020.0002.A897] # SAURASHTRA LETTER CA
+A898 ; [.22F7.0020.0002.A898] # SAURASHTRA LETTER CHA
+A899 ; [.22F8.0020.0002.A899] # SAURASHTRA LETTER JA
+A89A ; [.22F9.0020.0002.A89A] # SAURASHTRA LETTER JHA
+A89B ; [.22FA.0020.0002.A89B] # SAURASHTRA LETTER NYA
+A89C ; [.22FB.0020.0002.A89C] # SAURASHTRA LETTER TTA
+A89D ; [.22FC.0020.0002.A89D] # SAURASHTRA LETTER TTHA
+A89E ; [.22FD.0020.0002.A89E] # SAURASHTRA LETTER DDA
+A89F ; [.22FE.0020.0002.A89F] # SAURASHTRA LETTER DDHA
+A8A0 ; [.22FF.0020.0002.A8A0] # SAURASHTRA LETTER NNA
+A8A1 ; [.2300.0020.0002.A8A1] # SAURASHTRA LETTER TA
+A8A2 ; [.2301.0020.0002.A8A2] # SAURASHTRA LETTER THA
+A8A3 ; [.2302.0020.0002.A8A3] # SAURASHTRA LETTER DA
+A8A4 ; [.2303.0020.0002.A8A4] # SAURASHTRA LETTER DHA
+A8A5 ; [.2304.0020.0002.A8A5] # SAURASHTRA LETTER NA
+A8A6 ; [.2305.0020.0002.A8A6] # SAURASHTRA LETTER PA
+A8A7 ; [.2306.0020.0002.A8A7] # SAURASHTRA LETTER PHA
+A8A8 ; [.2307.0020.0002.A8A8] # SAURASHTRA LETTER BA
+A8A9 ; [.2308.0020.0002.A8A9] # SAURASHTRA LETTER BHA
+A8AA ; [.2309.0020.0002.A8AA] # SAURASHTRA LETTER MA
+A8AB ; [.230A.0020.0002.A8AB] # SAURASHTRA LETTER YA
+A8AC ; [.230B.0020.0002.A8AC] # SAURASHTRA LETTER RA
+A8AD ; [.230C.0020.0002.A8AD] # SAURASHTRA LETTER LA
+A8AE ; [.230D.0020.0002.A8AE] # SAURASHTRA LETTER VA
+A8AF ; [.230E.0020.0002.A8AF] # SAURASHTRA LETTER SHA
+A8B0 ; [.230F.0020.0002.A8B0] # SAURASHTRA LETTER SSA
+A8B1 ; [.2310.0020.0002.A8B1] # SAURASHTRA LETTER SA
+A8B2 ; [.2311.0020.0002.A8B2] # SAURASHTRA LETTER HA
+A8B3 ; [.2312.0020.0002.A8B3] # SAURASHTRA LETTER LLA
+A8B4 ; [.2313.0020.0002.A8B4] # SAURASHTRA CONSONANT SIGN HAARU
+A8B5 ; [.2314.0020.0002.A8B5] # SAURASHTRA VOWEL SIGN AA
+A8B6 ; [.2315.0020.0002.A8B6] # SAURASHTRA VOWEL SIGN I
+A8B7 ; [.2316.0020.0002.A8B7] # SAURASHTRA VOWEL SIGN II
+A8B8 ; [.2317.0020.0002.A8B8] # SAURASHTRA VOWEL SIGN U
+A8B9 ; [.2318.0020.0002.A8B9] # SAURASHTRA VOWEL SIGN UU
+A8BA ; [.2319.0020.0002.A8BA] # SAURASHTRA VOWEL SIGN VOCALIC R
+A8BB ; [.231A.0020.0002.A8BB] # SAURASHTRA VOWEL SIGN VOCALIC RR
+A8BC ; [.231B.0020.0002.A8BC] # SAURASHTRA VOWEL SIGN VOCALIC L
+A8BD ; [.231C.0020.0002.A8BD] # SAURASHTRA VOWEL SIGN VOCALIC LL
+A8BE ; [.231D.0020.0002.A8BE] # SAURASHTRA VOWEL SIGN E
+A8BF ; [.231E.0020.0002.A8BF] # SAURASHTRA VOWEL SIGN EE
+A8C0 ; [.231F.0020.0002.A8C0] # SAURASHTRA VOWEL SIGN AI
+A8C1 ; [.2320.0020.0002.A8C1] # SAURASHTRA VOWEL SIGN O
+A8C2 ; [.2321.0020.0002.A8C2] # SAURASHTRA VOWEL SIGN OO
+A8C3 ; [.2322.0020.0002.A8C3] # SAURASHTRA VOWEL SIGN AU
+A8C4 ; [.2323.0020.0002.A8C4] # SAURASHTRA SIGN VIRAMA
+11083 ; [.2324.0020.0002.11083] # KAITHI LETTER A
+11084 ; [.2325.0020.0002.11084] # KAITHI LETTER AA
+11085 ; [.2326.0020.0002.11085] # KAITHI LETTER I
+11086 ; [.2327.0020.0002.11086] # KAITHI LETTER II
+11087 ; [.2328.0020.0002.11087] # KAITHI LETTER U
+11088 ; [.2329.0020.0002.11088] # KAITHI LETTER UU
+11089 ; [.232A.0020.0002.11089] # KAITHI LETTER E
+1108A ; [.232B.0020.0002.1108A] # KAITHI LETTER AI
+1108B ; [.232C.0020.0002.1108B] # KAITHI LETTER O
+1108C ; [.232D.0020.0002.1108C] # KAITHI LETTER AU
+1108D ; [.232E.0020.0002.1108D] # KAITHI LETTER KA
+1108E ; [.232F.0020.0002.1108E] # KAITHI LETTER KHA
+1108F ; [.2330.0020.0002.1108F] # KAITHI LETTER GA
+11090 ; [.2331.0020.0002.11090] # KAITHI LETTER GHA
+11091 ; [.2332.0020.0002.11091] # KAITHI LETTER NGA
+11092 ; [.2333.0020.0002.11092] # KAITHI LETTER CA
+11093 ; [.2334.0020.0002.11093] # KAITHI LETTER CHA
+11094 ; [.2335.0020.0002.11094] # KAITHI LETTER JA
+11095 ; [.2336.0020.0002.11095] # KAITHI LETTER JHA
+11096 ; [.2337.0020.0002.11096] # KAITHI LETTER NYA
+11097 ; [.2338.0020.0002.11097] # KAITHI LETTER TTA
+11098 ; [.2339.0020.0002.11098] # KAITHI LETTER TTHA
+11099 ; [.233A.0020.0002.11099] # KAITHI LETTER DDA
+1109A ; [.233A.0020.0002.11099][.0000.00F1.0002.093C] # KAITHI LETTER DDDHA
+1109B ; [.233B.0020.0002.1109B] # KAITHI LETTER DDHA
+1109C ; [.233B.0020.0002.1109B][.0000.00F1.0002.093C] # KAITHI LETTER RHA
+1109D ; [.233C.0020.0002.1109D] # KAITHI LETTER NNA
+1109E ; [.233D.0020.0002.1109E] # KAITHI LETTER TA
+1109F ; [.233E.0020.0002.1109F] # KAITHI LETTER THA
+110A0 ; [.233F.0020.0002.110A0] # KAITHI LETTER DA
+110A1 ; [.2340.0020.0002.110A1] # KAITHI LETTER DHA
+110A2 ; [.2341.0020.0002.110A2] # KAITHI LETTER NA
+110A3 ; [.2342.0020.0002.110A3] # KAITHI LETTER PA
+110A4 ; [.2343.0020.0002.110A4] # KAITHI LETTER PHA
+110A5 ; [.2344.0020.0002.110A5] # KAITHI LETTER BA
+110AB ; [.2344.0020.0002.110A5][.0000.00F1.0002.093C] # KAITHI LETTER VA
+110A6 ; [.2345.0020.0002.110A6] # KAITHI LETTER BHA
+110A7 ; [.2346.0020.0002.110A7] # KAITHI LETTER MA
+110A8 ; [.2347.0020.0002.110A8] # KAITHI LETTER YA
+110A9 ; [.2348.0020.0002.110A9] # KAITHI LETTER RA
+110AA ; [.2349.0020.0002.110AA] # KAITHI LETTER LA
+110AC ; [.234A.0020.0002.110AC] # KAITHI LETTER SHA
+110AD ; [.234B.0020.0002.110AD] # KAITHI LETTER SSA
+110AE ; [.234C.0020.0002.110AE] # KAITHI LETTER SA
+110AF ; [.234D.0020.0002.110AF] # KAITHI LETTER HA
+110B0 ; [.234E.0020.0002.110B0] # KAITHI VOWEL SIGN AA
+110B1 ; [.234F.0020.0002.110B1] # KAITHI VOWEL SIGN I
+110B2 ; [.2350.0020.0002.110B2] # KAITHI VOWEL SIGN II
+110B3 ; [.2351.0020.0002.110B3] # KAITHI VOWEL SIGN U
+110B4 ; [.2352.0020.0002.110B4] # KAITHI VOWEL SIGN UU
+110B5 ; [.2353.0020.0002.110B5] # KAITHI VOWEL SIGN E
+110B6 ; [.2354.0020.0002.110B6] # KAITHI VOWEL SIGN AI
+110B7 ; [.2355.0020.0002.110B7] # KAITHI VOWEL SIGN O
+110B8 ; [.2356.0020.0002.110B8] # KAITHI VOWEL SIGN AU
+110B9 ; [.2357.0020.0002.110B9] # KAITHI SIGN VIRAMA
+111C4 ; [.2358.0020.0002.111C4] # SHARADA OM
+11183 ; [.2359.0020.0002.11183] # SHARADA LETTER A
+11184 ; [.235A.0020.0002.11184] # SHARADA LETTER AA
+11185 ; [.235B.0020.0002.11185] # SHARADA LETTER I
+11186 ; [.235C.0020.0002.11186] # SHARADA LETTER II
+11187 ; [.235D.0020.0002.11187] # SHARADA LETTER U
+11188 ; [.235E.0020.0002.11188] # SHARADA LETTER UU
+11189 ; [.235F.0020.0002.11189] # SHARADA LETTER VOCALIC R
+1118A ; [.2360.0020.0002.1118A] # SHARADA LETTER VOCALIC RR
+1118B ; [.2361.0020.0002.1118B] # SHARADA LETTER VOCALIC L
+1118C ; [.2362.0020.0002.1118C] # SHARADA LETTER VOCALIC LL
+1118D ; [.2363.0020.0002.1118D] # SHARADA LETTER E
+1118E ; [.2364.0020.0002.1118E] # SHARADA LETTER AI
+1118F ; [.2365.0020.0002.1118F] # SHARADA LETTER O
+11190 ; [.2366.0020.0002.11190] # SHARADA LETTER AU
+11191 ; [.2367.0020.0002.11191] # SHARADA LETTER KA
+11192 ; [.2368.0020.0002.11192] # SHARADA LETTER KHA
+11193 ; [.2369.0020.0002.11193] # SHARADA LETTER GA
+11194 ; [.236A.0020.0002.11194] # SHARADA LETTER GHA
+11195 ; [.236B.0020.0002.11195] # SHARADA LETTER NGA
+11196 ; [.236C.0020.0002.11196] # SHARADA LETTER CA
+11197 ; [.236D.0020.0002.11197] # SHARADA LETTER CHA
+11198 ; [.236E.0020.0002.11198] # SHARADA LETTER JA
+11199 ; [.236F.0020.0002.11199] # SHARADA LETTER JHA
+1119A ; [.2370.0020.0002.1119A] # SHARADA LETTER NYA
+1119B ; [.2371.0020.0002.1119B] # SHARADA LETTER TTA
+1119C ; [.2372.0020.0002.1119C] # SHARADA LETTER TTHA
+1119D ; [.2373.0020.0002.1119D] # SHARADA LETTER DDA
+1119E ; [.2374.0020.0002.1119E] # SHARADA LETTER DDHA
+1119F ; [.2375.0020.0002.1119F] # SHARADA LETTER NNA
+111A0 ; [.2376.0020.0002.111A0] # SHARADA LETTER TA
+111A1 ; [.2377.0020.0002.111A1] # SHARADA LETTER THA
+111A2 ; [.2378.0020.0002.111A2] # SHARADA LETTER DA
+111A3 ; [.2379.0020.0002.111A3] # SHARADA LETTER DHA
+111A4 ; [.237A.0020.0002.111A4] # SHARADA LETTER NA
+111A5 ; [.237B.0020.0002.111A5] # SHARADA LETTER PA
+111A6 ; [.237C.0020.0002.111A6] # SHARADA LETTER PHA
+111A7 ; [.237D.0020.0002.111A7] # SHARADA LETTER BA
+111A8 ; [.237E.0020.0002.111A8] # SHARADA LETTER BHA
+111A9 ; [.237F.0020.0002.111A9] # SHARADA LETTER MA
+111AA ; [.2380.0020.0002.111AA] # SHARADA LETTER YA
+111AB ; [.2381.0020.0002.111AB] # SHARADA LETTER RA
+111AC ; [.2382.0020.0002.111AC] # SHARADA LETTER LA
+111AD ; [.2383.0020.0002.111AD] # SHARADA LETTER LLA
+111AE ; [.2384.0020.0002.111AE] # SHARADA LETTER VA
+111AF ; [.2385.0020.0002.111AF] # SHARADA LETTER SHA
+111B0 ; [.2386.0020.0002.111B0] # SHARADA LETTER SSA
+111B1 ; [.2387.0020.0002.111B1] # SHARADA LETTER SA
+111B2 ; [.2388.0020.0002.111B2] # SHARADA LETTER HA
+111B3 ; [.2389.0020.0002.111B3] # SHARADA VOWEL SIGN AA
+111B4 ; [.238A.0020.0002.111B4] # SHARADA VOWEL SIGN I
+111B5 ; [.238B.0020.0002.111B5] # SHARADA VOWEL SIGN II
+111B6 ; [.238C.0020.0002.111B6] # SHARADA VOWEL SIGN U
+111B7 ; [.238D.0020.0002.111B7] # SHARADA VOWEL SIGN UU
+111B8 ; [.238E.0020.0002.111B8] # SHARADA VOWEL SIGN VOCALIC R
+111B9 ; [.238F.0020.0002.111B9] # SHARADA VOWEL SIGN VOCALIC RR
+111BA ; [.2390.0020.0002.111BA] # SHARADA VOWEL SIGN VOCALIC L
+111BB ; [.2391.0020.0002.111BB] # SHARADA VOWEL SIGN VOCALIC LL
+111BC ; [.2392.0020.0002.111BC] # SHARADA VOWEL SIGN E
+111BD ; [.2393.0020.0002.111BD] # SHARADA VOWEL SIGN AI
+111BE ; [.2394.0020.0002.111BE] # SHARADA VOWEL SIGN O
+111BF ; [.2395.0020.0002.111BF] # SHARADA VOWEL SIGN AU
+111C0 ; [.2396.0020.0002.111C0] # SHARADA SIGN VIRAMA
+111C1 ; [.2397.0020.0002.111C1] # SHARADA SIGN AVAGRAHA
+111C2 ; [.2398.0020.0002.111C2] # SHARADA SIGN JIHVAMULIYA
+111C3 ; [.2399.0020.0002.111C3] # SHARADA SIGN UPADHMANIYA
+11680 ; [.239A.0020.0002.11680] # TAKRI LETTER A
+11681 ; [.239B.0020.0002.11681] # TAKRI LETTER AA
+11682 ; [.239C.0020.0002.11682] # TAKRI LETTER I
+11683 ; [.239D.0020.0002.11683] # TAKRI LETTER II
+11684 ; [.239E.0020.0002.11684] # TAKRI LETTER U
+11685 ; [.239F.0020.0002.11685] # TAKRI LETTER UU
+11686 ; [.23A0.0020.0002.11686] # TAKRI LETTER E
+11687 ; [.23A1.0020.0002.11687] # TAKRI LETTER AI
+11688 ; [.23A2.0020.0002.11688] # TAKRI LETTER O
+11689 ; [.23A3.0020.0002.11689] # TAKRI LETTER AU
+116A8 ; [.23A4.0020.0002.116A8] # TAKRI LETTER SA
+116A7 ; [.23A5.0020.0002.116A7] # TAKRI LETTER SHA
+116A9 ; [.23A6.0020.0002.116A9] # TAKRI LETTER HA
+1168A ; [.23A7.0020.0002.1168A] # TAKRI LETTER KA
+1168B ; [.23A8.0020.0002.1168B] # TAKRI LETTER KHA
+1168C ; [.23A9.0020.0002.1168C] # TAKRI LETTER GA
+1168D ; [.23AA.0020.0002.1168D] # TAKRI LETTER GHA
+1168E ; [.23AB.0020.0002.1168E] # TAKRI LETTER NGA
+1168F ; [.23AC.0020.0002.1168F] # TAKRI LETTER CA
+11690 ; [.23AD.0020.0002.11690] # TAKRI LETTER CHA
+11691 ; [.23AE.0020.0002.11691] # TAKRI LETTER JA
+11692 ; [.23AF.0020.0002.11692] # TAKRI LETTER JHA
+11693 ; [.23B0.0020.0002.11693] # TAKRI LETTER NYA
+11694 ; [.23B1.0020.0002.11694] # TAKRI LETTER TTA
+11695 ; [.23B2.0020.0002.11695] # TAKRI LETTER TTHA
+11696 ; [.23B3.0020.0002.11696] # TAKRI LETTER DDA
+11697 ; [.23B4.0020.0002.11697] # TAKRI LETTER DDHA
+11698 ; [.23B5.0020.0002.11698] # TAKRI LETTER NNA
+11699 ; [.23B6.0020.0002.11699] # TAKRI LETTER TA
+1169A ; [.23B7.0020.0002.1169A] # TAKRI LETTER THA
+1169B ; [.23B8.0020.0002.1169B] # TAKRI LETTER DA
+1169C ; [.23B9.0020.0002.1169C] # TAKRI LETTER DHA
+1169D ; [.23BA.0020.0002.1169D] # TAKRI LETTER NA
+1169E ; [.23BB.0020.0002.1169E] # TAKRI LETTER PA
+1169F ; [.23BC.0020.0002.1169F] # TAKRI LETTER PHA
+116A0 ; [.23BD.0020.0002.116A0] # TAKRI LETTER BA
+116A1 ; [.23BE.0020.0002.116A1] # TAKRI LETTER BHA
+116A2 ; [.23BF.0020.0002.116A2] # TAKRI LETTER MA
+116A3 ; [.23C0.0020.0002.116A3] # TAKRI LETTER YA
+116A4 ; [.23C1.0020.0002.116A4] # TAKRI LETTER RA
+116A5 ; [.23C2.0020.0002.116A5] # TAKRI LETTER LA
+116A6 ; [.23C3.0020.0002.116A6] # TAKRI LETTER VA
+116AA ; [.23C4.0020.0002.116AA] # TAKRI LETTER RRA
+116AD ; [.23C5.0020.0002.116AD] # TAKRI VOWEL SIGN AA
+116AE ; [.23C6.0020.0002.116AE] # TAKRI VOWEL SIGN I
+116AF ; [.23C7.0020.0002.116AF] # TAKRI VOWEL SIGN II
+116B0 ; [.23C8.0020.0002.116B0] # TAKRI VOWEL SIGN U
+116B1 ; [.23C9.0020.0002.116B1] # TAKRI VOWEL SIGN UU
+116B2 ; [.23CA.0020.0002.116B2] # TAKRI VOWEL SIGN E
+116B3 ; [.23CB.0020.0002.116B3] # TAKRI VOWEL SIGN AI
+116B4 ; [.23CC.0020.0002.116B4] # TAKRI VOWEL SIGN O
+116B5 ; [.23CD.0020.0002.116B5] # TAKRI VOWEL SIGN AU
+116B6 ; [.23CE.0020.0002.116B6] # TAKRI SIGN VIRAMA
+1B83 ; [.23CF.0020.0002.1B83] # SUNDANESE LETTER A
+1BBA ; [.23CF.0020.0004.1BBA] # SUNDANESE AVAGRAHA
+1B84 ; [.23D0.0020.0002.1B84] # SUNDANESE LETTER I
+1B85 ; [.23D1.0020.0002.1B85] # SUNDANESE LETTER U
+1B86 ; [.23D2.0020.0002.1B86] # SUNDANESE LETTER AE
+1B87 ; [.23D3.0020.0002.1B87] # SUNDANESE LETTER O
+1B88 ; [.23D4.0020.0002.1B88] # SUNDANESE LETTER E
+1B89 ; [.23D5.0020.0002.1B89] # SUNDANESE LETTER EU
+1B8A ; [.23D6.0020.0002.1B8A] # SUNDANESE LETTER KA
+1BBE ; [.23D6.0020.0019.1BBE] # SUNDANESE LETTER FINAL K
+1BAE ; [.23D7.0020.0002.1BAE] # SUNDANESE LETTER KHA
+1B8B ; [.23D8.0020.0002.1B8B] # SUNDANESE LETTER QA
+1B8C ; [.23D9.0020.0002.1B8C] # SUNDANESE LETTER GA
+1B8D ; [.23DA.0020.0002.1B8D] # SUNDANESE LETTER NGA
+1B8E ; [.23DB.0020.0002.1B8E] # SUNDANESE LETTER CA
+1B8F ; [.23DC.0020.0002.1B8F] # SUNDANESE LETTER JA
+1B90 ; [.23DD.0020.0002.1B90] # SUNDANESE LETTER ZA
+1B91 ; [.23DE.0020.0002.1B91] # SUNDANESE LETTER NYA
+1B92 ; [.23DF.0020.0002.1B92] # SUNDANESE LETTER TA
+1B93 ; [.23E0.0020.0002.1B93] # SUNDANESE LETTER DA
+1B94 ; [.23E1.0020.0002.1B94] # SUNDANESE LETTER NA
+1B95 ; [.23E2.0020.0002.1B95] # SUNDANESE LETTER PA
+1B96 ; [.23E3.0020.0002.1B96] # SUNDANESE LETTER FA
+1B97 ; [.23E4.0020.0002.1B97] # SUNDANESE LETTER VA
+1B98 ; [.23E5.0020.0002.1B98] # SUNDANESE LETTER BA
+1BBD ; [.23E6.0020.0002.1BBD] # SUNDANESE LETTER BHA
+1B99 ; [.23E7.0020.0002.1B99] # SUNDANESE LETTER MA
+1BBF ; [.23E7.0020.0019.1BBF] # SUNDANESE LETTER FINAL M
+1BAC ; [.23E8.0020.0002.1BAC] # SUNDANESE CONSONANT SIGN PASANGAN MA
+1B9A ; [.23E9.0020.0002.1B9A] # SUNDANESE LETTER YA
+1BA1 ; [.23EA.0020.0002.1BA1] # SUNDANESE CONSONANT SIGN PAMINGKAL
+1B9B ; [.23EB.0020.0002.1B9B] # SUNDANESE LETTER RA
+1BA2 ; [.23EC.0020.0002.1BA2] # SUNDANESE CONSONANT SIGN PANYAKRA
+1BBB ; [.23ED.0020.0002.1BBB] # SUNDANESE LETTER REU
+1B9C ; [.23EE.0020.0002.1B9C] # SUNDANESE LETTER LA
+1BA3 ; [.23EF.0020.0002.1BA3] # SUNDANESE CONSONANT SIGN PANYIKU
+1BBC ; [.23F0.0020.0002.1BBC] # SUNDANESE LETTER LEU
+1B9D ; [.23F1.0020.0002.1B9D] # SUNDANESE LETTER WA
+1BAD ; [.23F2.0020.0002.1BAD] # SUNDANESE CONSONANT SIGN PASANGAN WA
+1B9E ; [.23F3.0020.0002.1B9E] # SUNDANESE LETTER SA
+1B9F ; [.23F4.0020.0002.1B9F] # SUNDANESE LETTER XA
+1BAF ; [.23F5.0020.0002.1BAF] # SUNDANESE LETTER SYA
+1BA0 ; [.23F6.0020.0002.1BA0] # SUNDANESE LETTER HA
+1BA4 ; [.23F7.0020.0002.1BA4] # SUNDANESE VOWEL SIGN PANGHULU
+1BA5 ; [.23F8.0020.0002.1BA5] # SUNDANESE VOWEL SIGN PANYUKU
+1BA6 ; [.23F9.0020.0002.1BA6] # SUNDANESE VOWEL SIGN PANAELAENG
+1BA7 ; [.23FA.0020.0002.1BA7] # SUNDANESE VOWEL SIGN PANOLONG
+1BA8 ; [.23FB.0020.0002.1BA8] # SUNDANESE VOWEL SIGN PAMEPET
+1BA9 ; [.23FC.0020.0002.1BA9] # SUNDANESE VOWEL SIGN PANEULEUNG
+1BAA ; [.23FD.0020.0002.1BAA] # SUNDANESE SIGN PAMAAEH
+1BAB ; [.23FE.0020.0002.1BAB] # SUNDANESE SIGN VIRAMA
+11005 ; [.23FF.0020.0002.11005] # BRAHMI LETTER A
+11006 ; [.2400.0020.0002.11006] # BRAHMI LETTER AA
+11007 ; [.2401.0020.0002.11007] # BRAHMI LETTER I
+11008 ; [.2402.0020.0002.11008] # BRAHMI LETTER II
+11009 ; [.2403.0020.0002.11009] # BRAHMI LETTER U
+1100A ; [.2404.0020.0002.1100A] # BRAHMI LETTER UU
+1100B ; [.2405.0020.0002.1100B] # BRAHMI LETTER VOCALIC R
+1100C ; [.2406.0020.0002.1100C] # BRAHMI LETTER VOCALIC RR
+1100D ; [.2407.0020.0002.1100D] # BRAHMI LETTER VOCALIC L
+1100E ; [.2408.0020.0002.1100E] # BRAHMI LETTER VOCALIC LL
+1100F ; [.2409.0020.0002.1100F] # BRAHMI LETTER E
+11010 ; [.240A.0020.0002.11010] # BRAHMI LETTER AI
+11011 ; [.240B.0020.0002.11011] # BRAHMI LETTER O
+11012 ; [.240C.0020.0002.11012] # BRAHMI LETTER AU
+11013 ; [.240D.0020.0002.11013] # BRAHMI LETTER KA
+11014 ; [.240E.0020.0002.11014] # BRAHMI LETTER KHA
+11015 ; [.240F.0020.0002.11015] # BRAHMI LETTER GA
+11016 ; [.2410.0020.0002.11016] # BRAHMI LETTER GHA
+11017 ; [.2411.0020.0002.11017] # BRAHMI LETTER NGA
+11018 ; [.2412.0020.0002.11018] # BRAHMI LETTER CA
+11019 ; [.2413.0020.0002.11019] # BRAHMI LETTER CHA
+1101A ; [.2414.0020.0002.1101A] # BRAHMI LETTER JA
+1101B ; [.2415.0020.0002.1101B] # BRAHMI LETTER JHA
+1101C ; [.2416.0020.0002.1101C] # BRAHMI LETTER NYA
+1101D ; [.2417.0020.0002.1101D] # BRAHMI LETTER TTA
+1101E ; [.2418.0020.0002.1101E] # BRAHMI LETTER TTHA
+1101F ; [.2419.0020.0002.1101F] # BRAHMI LETTER DDA
+11020 ; [.241A.0020.0002.11020] # BRAHMI LETTER DDHA
+11021 ; [.241B.0020.0002.11021] # BRAHMI LETTER NNA
+11022 ; [.241C.0020.0002.11022] # BRAHMI LETTER TA
+11023 ; [.241D.0020.0002.11023] # BRAHMI LETTER THA
+11024 ; [.241E.0020.0002.11024] # BRAHMI LETTER DA
+11025 ; [.241F.0020.0002.11025] # BRAHMI LETTER DHA
+11026 ; [.2420.0020.0002.11026] # BRAHMI LETTER NA
+11027 ; [.2421.0020.0002.11027] # BRAHMI LETTER PA
+11028 ; [.2422.0020.0002.11028] # BRAHMI LETTER PHA
+11029 ; [.2423.0020.0002.11029] # BRAHMI LETTER BA
+1102A ; [.2424.0020.0002.1102A] # BRAHMI LETTER BHA
+1102B ; [.2425.0020.0002.1102B] # BRAHMI LETTER MA
+1102C ; [.2426.0020.0002.1102C] # BRAHMI LETTER YA
+1102D ; [.2427.0020.0002.1102D] # BRAHMI LETTER RA
+1102E ; [.2428.0020.0002.1102E] # BRAHMI LETTER LA
+1102F ; [.2429.0020.0002.1102F] # BRAHMI LETTER VA
+11030 ; [.242A.0020.0002.11030] # BRAHMI LETTER SHA
+11031 ; [.242B.0020.0002.11031] # BRAHMI LETTER SSA
+11032 ; [.242C.0020.0002.11032] # BRAHMI LETTER SA
+11033 ; [.242D.0020.0002.11033] # BRAHMI LETTER HA
+11003 ; [.242E.0020.0002.11003] # BRAHMI SIGN JIHVAMULIYA
+11004 ; [.242F.0020.0002.11004] # BRAHMI SIGN UPADHMANIYA
+11034 ; [.2430.0020.0002.11034] # BRAHMI LETTER LLA
+11035 ; [.2431.0020.0002.11035] # BRAHMI LETTER OLD TAMIL LLLA
+11036 ; [.2432.0020.0002.11036] # BRAHMI LETTER OLD TAMIL RRA
+11037 ; [.2433.0020.0002.11037] # BRAHMI LETTER OLD TAMIL NNNA
+11038 ; [.2434.0020.0002.11038] # BRAHMI VOWEL SIGN AA
+11039 ; [.2435.0020.0002.11039] # BRAHMI VOWEL SIGN BHATTIPROLU AA
+1103A ; [.2436.0020.0002.1103A] # BRAHMI VOWEL SIGN I
+1103B ; [.2437.0020.0002.1103B] # BRAHMI VOWEL SIGN II
+1103C ; [.2438.0020.0002.1103C] # BRAHMI VOWEL SIGN U
+1103D ; [.2439.0020.0002.1103D] # BRAHMI VOWEL SIGN UU
+1103E ; [.243A.0020.0002.1103E] # BRAHMI VOWEL SIGN VOCALIC R
+1103F ; [.243B.0020.0002.1103F] # BRAHMI VOWEL SIGN VOCALIC RR
+11040 ; [.243C.0020.0002.11040] # BRAHMI VOWEL SIGN VOCALIC L
+11041 ; [.243D.0020.0002.11041] # BRAHMI VOWEL SIGN VOCALIC LL
+11042 ; [.243E.0020.0002.11042] # BRAHMI VOWEL SIGN E
+11043 ; [.243F.0020.0002.11043] # BRAHMI VOWEL SIGN AI
+11044 ; [.2440.0020.0002.11044] # BRAHMI VOWEL SIGN O
+11045 ; [.2441.0020.0002.11045] # BRAHMI VOWEL SIGN AU
+11046 ; [.2442.0020.0002.11046] # BRAHMI VIRAMA
+10A00 ; [.2443.0020.0002.10A00] # KHAROSHTHI LETTER A
+10A01 ; [.2444.0020.0002.10A01] # KHAROSHTHI VOWEL SIGN I
+10A02 ; [.2445.0020.0002.10A02] # KHAROSHTHI VOWEL SIGN U
+10A03 ; [.2446.0020.0002.10A03] # KHAROSHTHI VOWEL SIGN VOCALIC R
+10A05 ; [.2447.0020.0002.10A05] # KHAROSHTHI VOWEL SIGN E
+10A06 ; [.2448.0020.0002.10A06] # KHAROSHTHI VOWEL SIGN O
+10A0C ; [.2449.0020.0002.10A0C] # KHAROSHTHI VOWEL LENGTH MARK
+10A10 ; [.244A.0020.0002.10A10] # KHAROSHTHI LETTER KA
+10A11 ; [.244B.0020.0002.10A11] # KHAROSHTHI LETTER KHA
+10A12 ; [.244C.0020.0002.10A12] # KHAROSHTHI LETTER GA
+10A13 ; [.244D.0020.0002.10A13] # KHAROSHTHI LETTER GHA
+10A15 ; [.244E.0020.0002.10A15] # KHAROSHTHI LETTER CA
+10A16 ; [.244F.0020.0002.10A16] # KHAROSHTHI LETTER CHA
+10A17 ; [.2450.0020.0002.10A17] # KHAROSHTHI LETTER JA
+10A19 ; [.2451.0020.0002.10A19] # KHAROSHTHI LETTER NYA
+10A1A ; [.2452.0020.0002.10A1A] # KHAROSHTHI LETTER TTA
+10A1B ; [.2453.0020.0002.10A1B] # KHAROSHTHI LETTER TTHA
+10A1C ; [.2454.0020.0002.10A1C] # KHAROSHTHI LETTER DDA
+10A1D ; [.2455.0020.0002.10A1D] # KHAROSHTHI LETTER DDHA
+10A1E ; [.2456.0020.0002.10A1E] # KHAROSHTHI LETTER NNA
+10A1F ; [.2457.0020.0002.10A1F] # KHAROSHTHI LETTER TA
+10A20 ; [.2458.0020.0002.10A20] # KHAROSHTHI LETTER THA
+10A21 ; [.2459.0020.0002.10A21] # KHAROSHTHI LETTER DA
+10A22 ; [.245A.0020.0002.10A22] # KHAROSHTHI LETTER DHA
+10A23 ; [.245B.0020.0002.10A23] # KHAROSHTHI LETTER NA
+10A24 ; [.245C.0020.0002.10A24] # KHAROSHTHI LETTER PA
+10A25 ; [.245D.0020.0002.10A25] # KHAROSHTHI LETTER PHA
+10A26 ; [.245E.0020.0002.10A26] # KHAROSHTHI LETTER BA
+10A27 ; [.245F.0020.0002.10A27] # KHAROSHTHI LETTER BHA
+10A28 ; [.2460.0020.0002.10A28] # KHAROSHTHI LETTER MA
+10A29 ; [.2461.0020.0002.10A29] # KHAROSHTHI LETTER YA
+10A2A ; [.2462.0020.0002.10A2A] # KHAROSHTHI LETTER RA
+10A2B ; [.2463.0020.0002.10A2B] # KHAROSHTHI LETTER LA
+10A2C ; [.2464.0020.0002.10A2C] # KHAROSHTHI LETTER VA
+10A2D ; [.2465.0020.0002.10A2D] # KHAROSHTHI LETTER SHA
+10A2E ; [.2466.0020.0002.10A2E] # KHAROSHTHI LETTER SSA
+10A2F ; [.2467.0020.0002.10A2F] # KHAROSHTHI LETTER SA
+10A30 ; [.2468.0020.0002.10A30] # KHAROSHTHI LETTER ZA
+10A31 ; [.2469.0020.0002.10A31] # KHAROSHTHI LETTER HA
+10A32 ; [.246A.0020.0002.10A32] # KHAROSHTHI LETTER KKA
+10A33 ; [.246B.0020.0002.10A33] # KHAROSHTHI LETTER TTTHA
+10A3F ; [.246C.0020.0002.10A3F] # KHAROSHTHI VIRAMA
+0E01 ; [.246D.0020.0002.0E01] # THAI CHARACTER KO KAI
+0E40 0E01 ; [.246D.0020.0002.0E01][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KO KAI>
+0E41 0E01 ; [.246D.0020.0002.0E01][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KO KAI>
+0E42 0E01 ; [.246D.0020.0002.0E01][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KO KAI>
+0E43 0E01 ; [.246D.0020.0002.0E01][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KO KAI>
+0E44 0E01 ; [.246D.0020.0002.0E01][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KO KAI>
+0E02 ; [.246E.0020.0002.0E02] # THAI CHARACTER KHO KHAI
+0E40 0E02 ; [.246E.0020.0002.0E02][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHAI>
+0E41 0E02 ; [.246E.0020.0002.0E02][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHAI>
+0E42 0E02 ; [.246E.0020.0002.0E02][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHAI>
+0E43 0E02 ; [.246E.0020.0002.0E02][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHAI>
+0E44 0E02 ; [.246E.0020.0002.0E02][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHAI>
+0E03 ; [.246F.0020.0002.0E03] # THAI CHARACTER KHO KHUAT
+0E40 0E03 ; [.246F.0020.0002.0E03][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHUAT>
+0E41 0E03 ; [.246F.0020.0002.0E03][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHUAT>
+0E42 0E03 ; [.246F.0020.0002.0E03][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHUAT>
+0E43 0E03 ; [.246F.0020.0002.0E03][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHUAT>
+0E44 0E03 ; [.246F.0020.0002.0E03][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHUAT>
+0E04 ; [.2470.0020.0002.0E04] # THAI CHARACTER KHO KHWAI
+0E40 0E04 ; [.2470.0020.0002.0E04][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHWAI>
+0E41 0E04 ; [.2470.0020.0002.0E04][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHWAI>
+0E42 0E04 ; [.2470.0020.0002.0E04][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHWAI>
+0E43 0E04 ; [.2470.0020.0002.0E04][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHWAI>
+0E44 0E04 ; [.2470.0020.0002.0E04][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHWAI>
+0E05 ; [.2471.0020.0002.0E05] # THAI CHARACTER KHO KHON
+0E40 0E05 ; [.2471.0020.0002.0E05][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHON>
+0E41 0E05 ; [.2471.0020.0002.0E05][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHON>
+0E42 0E05 ; [.2471.0020.0002.0E05][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHON>
+0E43 0E05 ; [.2471.0020.0002.0E05][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHON>
+0E44 0E05 ; [.2471.0020.0002.0E05][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHON>
+0E06 ; [.2472.0020.0002.0E06] # THAI CHARACTER KHO RAKHANG
+0E40 0E06 ; [.2472.0020.0002.0E06][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO RAKHANG>
+0E41 0E06 ; [.2472.0020.0002.0E06][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO RAKHANG>
+0E42 0E06 ; [.2472.0020.0002.0E06][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO RAKHANG>
+0E43 0E06 ; [.2472.0020.0002.0E06][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO RAKHANG>
+0E44 0E06 ; [.2472.0020.0002.0E06][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO RAKHANG>
+0E07 ; [.2473.0020.0002.0E07] # THAI CHARACTER NGO NGU
+0E40 0E07 ; [.2473.0020.0002.0E07][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NGO NGU>
+0E41 0E07 ; [.2473.0020.0002.0E07][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NGO NGU>
+0E42 0E07 ; [.2473.0020.0002.0E07][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NGO NGU>
+0E43 0E07 ; [.2473.0020.0002.0E07][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NGO NGU>
+0E44 0E07 ; [.2473.0020.0002.0E07][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NGO NGU>
+0E08 ; [.2474.0020.0002.0E08] # THAI CHARACTER CHO CHAN
+0E40 0E08 ; [.2474.0020.0002.0E08][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHAN>
+0E41 0E08 ; [.2474.0020.0002.0E08][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHAN>
+0E42 0E08 ; [.2474.0020.0002.0E08][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHAN>
+0E43 0E08 ; [.2474.0020.0002.0E08][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHAN>
+0E44 0E08 ; [.2474.0020.0002.0E08][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHAN>
+0E09 ; [.2475.0020.0002.0E09] # THAI CHARACTER CHO CHING
+0E40 0E09 ; [.2475.0020.0002.0E09][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHING>
+0E41 0E09 ; [.2475.0020.0002.0E09][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHING>
+0E42 0E09 ; [.2475.0020.0002.0E09][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHING>
+0E43 0E09 ; [.2475.0020.0002.0E09][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHING>
+0E44 0E09 ; [.2475.0020.0002.0E09][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHING>
+0E0A ; [.2476.0020.0002.0E0A] # THAI CHARACTER CHO CHANG
+0E40 0E0A ; [.2476.0020.0002.0E0A][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHANG>
+0E41 0E0A ; [.2476.0020.0002.0E0A][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHANG>
+0E42 0E0A ; [.2476.0020.0002.0E0A][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHANG>
+0E43 0E0A ; [.2476.0020.0002.0E0A][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHANG>
+0E44 0E0A ; [.2476.0020.0002.0E0A][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHANG>
+0E0B ; [.2477.0020.0002.0E0B] # THAI CHARACTER SO SO
+0E40 0E0B ; [.2477.0020.0002.0E0B][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SO>
+0E41 0E0B ; [.2477.0020.0002.0E0B][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SO>
+0E42 0E0B ; [.2477.0020.0002.0E0B][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SO>
+0E43 0E0B ; [.2477.0020.0002.0E0B][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SO>
+0E44 0E0B ; [.2477.0020.0002.0E0B][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SO>
+0E0C ; [.2478.0020.0002.0E0C] # THAI CHARACTER CHO CHOE
+0E40 0E0C ; [.2478.0020.0002.0E0C][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHOE>
+0E41 0E0C ; [.2478.0020.0002.0E0C][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHOE>
+0E42 0E0C ; [.2478.0020.0002.0E0C][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHOE>
+0E43 0E0C ; [.2478.0020.0002.0E0C][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHOE>
+0E44 0E0C ; [.2478.0020.0002.0E0C][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHOE>
+0E0D ; [.2479.0020.0002.0E0D] # THAI CHARACTER YO YING
+0E40 0E0D ; [.2479.0020.0002.0E0D][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER YO YING>
+0E41 0E0D ; [.2479.0020.0002.0E0D][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YING>
+0E42 0E0D ; [.2479.0020.0002.0E0D][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER YO YING>
+0E43 0E0D ; [.2479.0020.0002.0E0D][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YING>
+0E44 0E0D ; [.2479.0020.0002.0E0D][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YING>
+0E0E ; [.247A.0020.0002.0E0E] # THAI CHARACTER DO CHADA
+0E40 0E0E ; [.247A.0020.0002.0E0E][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER DO CHADA>
+0E41 0E0E ; [.247A.0020.0002.0E0E][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER DO CHADA>
+0E42 0E0E ; [.247A.0020.0002.0E0E][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER DO CHADA>
+0E43 0E0E ; [.247A.0020.0002.0E0E][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO CHADA>
+0E44 0E0E ; [.247A.0020.0002.0E0E][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO CHADA>
+0E0F ; [.247B.0020.0002.0E0F] # THAI CHARACTER TO PATAK
+0E40 0E0F ; [.247B.0020.0002.0E0F][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER TO PATAK>
+0E41 0E0F ; [.247B.0020.0002.0E0F][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER TO PATAK>
+0E42 0E0F ; [.247B.0020.0002.0E0F][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER TO PATAK>
+0E43 0E0F ; [.247B.0020.0002.0E0F][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO PATAK>
+0E44 0E0F ; [.247B.0020.0002.0E0F][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO PATAK>
+0E10 ; [.247C.0020.0002.0E10] # THAI CHARACTER THO THAN
+0E40 0E10 ; [.247C.0020.0002.0E10][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAN>
+0E41 0E10 ; [.247C.0020.0002.0E10][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAN>
+0E42 0E10 ; [.247C.0020.0002.0E10][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAN>
+0E43 0E10 ; [.247C.0020.0002.0E10][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAN>
+0E44 0E10 ; [.247C.0020.0002.0E10][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAN>
+0E11 ; [.247D.0020.0002.0E11] # THAI CHARACTER THO NANGMONTHO
+0E40 0E11 ; [.247D.0020.0002.0E11][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO NANGMONTHO>
+0E41 0E11 ; [.247D.0020.0002.0E11][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO NANGMONTHO>
+0E42 0E11 ; [.247D.0020.0002.0E11][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO NANGMONTHO>
+0E43 0E11 ; [.247D.0020.0002.0E11][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO NANGMONTHO>
+0E44 0E11 ; [.247D.0020.0002.0E11][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO NANGMONTHO>
+0E12 ; [.247E.0020.0002.0E12] # THAI CHARACTER THO PHUTHAO
+0E40 0E12 ; [.247E.0020.0002.0E12][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO PHUTHAO>
+0E41 0E12 ; [.247E.0020.0002.0E12][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO PHUTHAO>
+0E42 0E12 ; [.247E.0020.0002.0E12][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO PHUTHAO>
+0E43 0E12 ; [.247E.0020.0002.0E12][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO PHUTHAO>
+0E44 0E12 ; [.247E.0020.0002.0E12][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO PHUTHAO>
+0E13 ; [.247F.0020.0002.0E13] # THAI CHARACTER NO NEN
+0E40 0E13 ; [.247F.0020.0002.0E13][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NO NEN>
+0E41 0E13 ; [.247F.0020.0002.0E13][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NEN>
+0E42 0E13 ; [.247F.0020.0002.0E13][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NO NEN>
+0E43 0E13 ; [.247F.0020.0002.0E13][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NEN>
+0E44 0E13 ; [.247F.0020.0002.0E13][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NEN>
+0E14 ; [.2480.0020.0002.0E14] # THAI CHARACTER DO DEK
+0E40 0E14 ; [.2480.0020.0002.0E14][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER DO DEK>
+0E41 0E14 ; [.2480.0020.0002.0E14][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER DO DEK>
+0E42 0E14 ; [.2480.0020.0002.0E14][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER DO DEK>
+0E43 0E14 ; [.2480.0020.0002.0E14][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO DEK>
+0E44 0E14 ; [.2480.0020.0002.0E14][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO DEK>
+0E15 ; [.2481.0020.0002.0E15] # THAI CHARACTER TO TAO
+0E40 0E15 ; [.2481.0020.0002.0E15][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER TO TAO>
+0E41 0E15 ; [.2481.0020.0002.0E15][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER TO TAO>
+0E42 0E15 ; [.2481.0020.0002.0E15][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER TO TAO>
+0E43 0E15 ; [.2481.0020.0002.0E15][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO TAO>
+0E44 0E15 ; [.2481.0020.0002.0E15][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO TAO>
+0E16 ; [.2482.0020.0002.0E16] # THAI CHARACTER THO THUNG
+0E40 0E16 ; [.2482.0020.0002.0E16][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THUNG>
+0E41 0E16 ; [.2482.0020.0002.0E16][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THUNG>
+0E42 0E16 ; [.2482.0020.0002.0E16][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THUNG>
+0E43 0E16 ; [.2482.0020.0002.0E16][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THUNG>
+0E44 0E16 ; [.2482.0020.0002.0E16][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THUNG>
+0E17 ; [.2483.0020.0002.0E17] # THAI CHARACTER THO THAHAN
+0E40 0E17 ; [.2483.0020.0002.0E17][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAHAN>
+0E41 0E17 ; [.2483.0020.0002.0E17][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAHAN>
+0E42 0E17 ; [.2483.0020.0002.0E17][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAHAN>
+0E43 0E17 ; [.2483.0020.0002.0E17][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAHAN>
+0E44 0E17 ; [.2483.0020.0002.0E17][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAHAN>
+0E18 ; [.2484.0020.0002.0E18] # THAI CHARACTER THO THONG
+0E40 0E18 ; [.2484.0020.0002.0E18][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THONG>
+0E41 0E18 ; [.2484.0020.0002.0E18][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THONG>
+0E42 0E18 ; [.2484.0020.0002.0E18][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THONG>
+0E43 0E18 ; [.2484.0020.0002.0E18][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THONG>
+0E44 0E18 ; [.2484.0020.0002.0E18][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THONG>
+0E19 ; [.2485.0020.0002.0E19] # THAI CHARACTER NO NU
+0E40 0E19 ; [.2485.0020.0002.0E19][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NO NU>
+0E41 0E19 ; [.2485.0020.0002.0E19][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NU>
+0E42 0E19 ; [.2485.0020.0002.0E19][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NO NU>
+0E43 0E19 ; [.2485.0020.0002.0E19][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NU>
+0E44 0E19 ; [.2485.0020.0002.0E19][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NU>
+0E1A ; [.2486.0020.0002.0E1A] # THAI CHARACTER BO BAIMAI
+0E40 0E1A ; [.2486.0020.0002.0E1A][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER BO BAIMAI>
+0E41 0E1A ; [.2486.0020.0002.0E1A][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER BO BAIMAI>
+0E42 0E1A ; [.2486.0020.0002.0E1A][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER BO BAIMAI>
+0E43 0E1A ; [.2486.0020.0002.0E1A][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER BO BAIMAI>
+0E44 0E1A ; [.2486.0020.0002.0E1A][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER BO BAIMAI>
+0E1B ; [.2487.0020.0002.0E1B] # THAI CHARACTER PO PLA
+0E40 0E1B ; [.2487.0020.0002.0E1B][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PO PLA>
+0E41 0E1B ; [.2487.0020.0002.0E1B][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PO PLA>
+0E42 0E1B ; [.2487.0020.0002.0E1B][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PO PLA>
+0E43 0E1B ; [.2487.0020.0002.0E1B][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PO PLA>
+0E44 0E1B ; [.2487.0020.0002.0E1B][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PO PLA>
+0E1C ; [.2488.0020.0002.0E1C] # THAI CHARACTER PHO PHUNG
+0E40 0E1C ; [.2488.0020.0002.0E1C][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHUNG>
+0E41 0E1C ; [.2488.0020.0002.0E1C][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHUNG>
+0E42 0E1C ; [.2488.0020.0002.0E1C][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHUNG>
+0E43 0E1C ; [.2488.0020.0002.0E1C][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHUNG>
+0E44 0E1C ; [.2488.0020.0002.0E1C][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHUNG>
+0E1D ; [.2489.0020.0002.0E1D] # THAI CHARACTER FO FA
+0E40 0E1D ; [.2489.0020.0002.0E1D][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER FO FA>
+0E41 0E1D ; [.2489.0020.0002.0E1D][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FA>
+0E42 0E1D ; [.2489.0020.0002.0E1D][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER FO FA>
+0E43 0E1D ; [.2489.0020.0002.0E1D][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FA>
+0E44 0E1D ; [.2489.0020.0002.0E1D][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FA>
+0E1E ; [.248A.0020.0002.0E1E] # THAI CHARACTER PHO PHAN
+0E40 0E1E ; [.248A.0020.0002.0E1E][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHAN>
+0E41 0E1E ; [.248A.0020.0002.0E1E][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHAN>
+0E42 0E1E ; [.248A.0020.0002.0E1E][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHAN>
+0E43 0E1E ; [.248A.0020.0002.0E1E][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHAN>
+0E44 0E1E ; [.248A.0020.0002.0E1E][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHAN>
+0E1F ; [.248B.0020.0002.0E1F] # THAI CHARACTER FO FAN
+0E40 0E1F ; [.248B.0020.0002.0E1F][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER FO FAN>
+0E41 0E1F ; [.248B.0020.0002.0E1F][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FAN>
+0E42 0E1F ; [.248B.0020.0002.0E1F][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER FO FAN>
+0E43 0E1F ; [.248B.0020.0002.0E1F][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FAN>
+0E44 0E1F ; [.248B.0020.0002.0E1F][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FAN>
+0E20 ; [.248C.0020.0002.0E20] # THAI CHARACTER PHO SAMPHAO
+0E40 0E20 ; [.248C.0020.0002.0E20][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO SAMPHAO>
+0E41 0E20 ; [.248C.0020.0002.0E20][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO SAMPHAO>
+0E42 0E20 ; [.248C.0020.0002.0E20][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO SAMPHAO>
+0E43 0E20 ; [.248C.0020.0002.0E20][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO SAMPHAO>
+0E44 0E20 ; [.248C.0020.0002.0E20][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO SAMPHAO>
+0E21 ; [.248D.0020.0002.0E21] # THAI CHARACTER MO MA
+0E40 0E21 ; [.248D.0020.0002.0E21][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER MO MA>
+0E41 0E21 ; [.248D.0020.0002.0E21][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER MO MA>
+0E42 0E21 ; [.248D.0020.0002.0E21][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER MO MA>
+0E43 0E21 ; [.248D.0020.0002.0E21][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER MO MA>
+0E44 0E21 ; [.248D.0020.0002.0E21][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER MO MA>
+0E22 ; [.248E.0020.0002.0E22] # THAI CHARACTER YO YAK
+0E40 0E22 ; [.248E.0020.0002.0E22][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER YO YAK>
+0E41 0E22 ; [.248E.0020.0002.0E22][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YAK>
+0E42 0E22 ; [.248E.0020.0002.0E22][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER YO YAK>
+0E43 0E22 ; [.248E.0020.0002.0E22][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YAK>
+0E44 0E22 ; [.248E.0020.0002.0E22][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YAK>
+0E23 ; [.248F.0020.0002.0E23] # THAI CHARACTER RO RUA
+0E40 0E23 ; [.248F.0020.0002.0E23][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER RO RUA>
+0E41 0E23 ; [.248F.0020.0002.0E23][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER RO RUA>
+0E42 0E23 ; [.248F.0020.0002.0E23][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER RO RUA>
+0E43 0E23 ; [.248F.0020.0002.0E23][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RO RUA>
+0E44 0E23 ; [.248F.0020.0002.0E23][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RO RUA>
+0E24 ; [.2490.0020.0002.0E24] # THAI CHARACTER RU
+0E40 0E24 ; [.2490.0020.0002.0E24][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER RU>
+0E41 0E24 ; [.2490.0020.0002.0E24][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER RU>
+0E42 0E24 ; [.2490.0020.0002.0E24][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER RU>
+0E43 0E24 ; [.2490.0020.0002.0E24][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RU>
+0E44 0E24 ; [.2490.0020.0002.0E24][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RU>
+0E25 ; [.2491.0020.0002.0E25] # THAI CHARACTER LO LING
+0E40 0E25 ; [.2491.0020.0002.0E25][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LO LING>
+0E41 0E25 ; [.2491.0020.0002.0E25][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LO LING>
+0E42 0E25 ; [.2491.0020.0002.0E25][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LO LING>
+0E43 0E25 ; [.2491.0020.0002.0E25][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO LING>
+0E44 0E25 ; [.2491.0020.0002.0E25][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO LING>
+0E26 ; [.2492.0020.0002.0E26] # THAI CHARACTER LU
+0E40 0E26 ; [.2492.0020.0002.0E26][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LU>
+0E41 0E26 ; [.2492.0020.0002.0E26][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LU>
+0E42 0E26 ; [.2492.0020.0002.0E26][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LU>
+0E43 0E26 ; [.2492.0020.0002.0E26][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LU>
+0E44 0E26 ; [.2492.0020.0002.0E26][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LU>
+0E27 ; [.2493.0020.0002.0E27] # THAI CHARACTER WO WAEN
+0E40 0E27 ; [.2493.0020.0002.0E27][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER WO WAEN>
+0E41 0E27 ; [.2493.0020.0002.0E27][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER WO WAEN>
+0E42 0E27 ; [.2493.0020.0002.0E27][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER WO WAEN>
+0E43 0E27 ; [.2493.0020.0002.0E27][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER WO WAEN>
+0E44 0E27 ; [.2493.0020.0002.0E27][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER WO WAEN>
+0E28 ; [.2494.0020.0002.0E28] # THAI CHARACTER SO SALA
+0E40 0E28 ; [.2494.0020.0002.0E28][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SALA>
+0E41 0E28 ; [.2494.0020.0002.0E28][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SALA>
+0E42 0E28 ; [.2494.0020.0002.0E28][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SALA>
+0E43 0E28 ; [.2494.0020.0002.0E28][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SALA>
+0E44 0E28 ; [.2494.0020.0002.0E28][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SALA>
+0E29 ; [.2495.0020.0002.0E29] # THAI CHARACTER SO RUSI
+0E40 0E29 ; [.2495.0020.0002.0E29][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO RUSI>
+0E41 0E29 ; [.2495.0020.0002.0E29][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO RUSI>
+0E42 0E29 ; [.2495.0020.0002.0E29][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO RUSI>
+0E43 0E29 ; [.2495.0020.0002.0E29][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO RUSI>
+0E44 0E29 ; [.2495.0020.0002.0E29][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO RUSI>
+0E2A ; [.2496.0020.0002.0E2A] # THAI CHARACTER SO SUA
+0E40 0E2A ; [.2496.0020.0002.0E2A][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SUA>
+0E41 0E2A ; [.2496.0020.0002.0E2A][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SUA>
+0E42 0E2A ; [.2496.0020.0002.0E2A][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SUA>
+0E43 0E2A ; [.2496.0020.0002.0E2A][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SUA>
+0E44 0E2A ; [.2496.0020.0002.0E2A][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SUA>
+0E2B ; [.2497.0020.0002.0E2B] # THAI CHARACTER HO HIP
+0E40 0E2B ; [.2497.0020.0002.0E2B][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER HO HIP>
+0E41 0E2B ; [.2497.0020.0002.0E2B][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER HO HIP>
+0E42 0E2B ; [.2497.0020.0002.0E2B][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER HO HIP>
+0E43 0E2B ; [.2497.0020.0002.0E2B][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO HIP>
+0E44 0E2B ; [.2497.0020.0002.0E2B][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO HIP>
+0E2C ; [.2498.0020.0002.0E2C] # THAI CHARACTER LO CHULA
+0E40 0E2C ; [.2498.0020.0002.0E2C][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LO CHULA>
+0E41 0E2C ; [.2498.0020.0002.0E2C][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LO CHULA>
+0E42 0E2C ; [.2498.0020.0002.0E2C][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LO CHULA>
+0E43 0E2C ; [.2498.0020.0002.0E2C][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO CHULA>
+0E44 0E2C ; [.2498.0020.0002.0E2C][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO CHULA>
+0E2D ; [.2499.0020.0002.0E2D] # THAI CHARACTER O ANG
+0E40 0E2D ; [.2499.0020.0002.0E2D][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER O ANG>
+0E41 0E2D ; [.2499.0020.0002.0E2D][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER O ANG>
+0E42 0E2D ; [.2499.0020.0002.0E2D][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER O ANG>
+0E43 0E2D ; [.2499.0020.0002.0E2D][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER O ANG>
+0E44 0E2D ; [.2499.0020.0002.0E2D][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER O ANG>
+0E2E ; [.249A.0020.0002.0E2E] # THAI CHARACTER HO NOKHUK
+0E40 0E2E ; [.249A.0020.0002.0E2E][.24A7.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER HO NOKHUK>
+0E41 0E2E ; [.249A.0020.0002.0E2E][.24A8.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER HO NOKHUK>
+0E42 0E2E ; [.249A.0020.0002.0E2E][.24A9.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER HO NOKHUK>
+0E43 0E2E ; [.249A.0020.0002.0E2E][.24AA.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO NOKHUK>
+0E44 0E2E ; [.249A.0020.0002.0E2E][.24AB.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO NOKHUK>
+0E2F ; [.249B.0020.0002.0E2F] # THAI CHARACTER PAIYANNOI
+0E30 ; [.249C.0020.0002.0E30] # THAI CHARACTER SARA A
+0E31 ; [.249D.0020.0002.0E31] # THAI CHARACTER MAI HAN-AKAT
+0E32 ; [.249E.0020.0002.0E32] # THAI CHARACTER SARA AA
+0E33 ; [.249F.0020.0002.0E33] # THAI CHARACTER SARA AM
+0E4D 0E32 ; [.249F.0020.0002.0E33] # THAI CHARACTER SARA AM
+0E34 ; [.24A0.0020.0002.0E34] # THAI CHARACTER SARA I
+0E35 ; [.24A1.0020.0002.0E35] # THAI CHARACTER SARA II
+0E36 ; [.24A2.0020.0002.0E36] # THAI CHARACTER SARA UE
+0E37 ; [.24A3.0020.0002.0E37] # THAI CHARACTER SARA UEE
+0E38 ; [.24A4.0020.0002.0E38] # THAI CHARACTER SARA U
+0E39 ; [.24A5.0020.0002.0E39] # THAI CHARACTER SARA UU
+0E3A ; [.24A6.0020.0002.0E3A] # THAI CHARACTER PHINTHU
+0E40 ; [.24A7.0020.0002.0E40] # THAI CHARACTER SARA E
+0E41 ; [.24A8.0020.0002.0E41] # THAI CHARACTER SARA AE
+0E42 ; [.24A9.0020.0002.0E42] # THAI CHARACTER SARA O
+0E43 ; [.24AA.0020.0002.0E43] # THAI CHARACTER SARA AI MAIMUAN
+0E44 ; [.24AB.0020.0002.0E44] # THAI CHARACTER SARA AI MAIMALAI
+0E45 ; [.24AC.0020.0002.0E45] # THAI CHARACTER LAKKHANGYAO
+0EDE ; [.24AD.0020.0002.0EDE] # LAO LETTER KHMU GO
+0E81 ; [.24AE.0020.0002.0E81] # LAO LETTER KO
+0EC0 0E81 ; [.24AE.0020.0002.0E81][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KO>
+0EC1 0E81 ; [.24AE.0020.0002.0E81][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KO>
+0EC2 0E81 ; [.24AE.0020.0002.0E81][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KO>
+0EC3 0E81 ; [.24AE.0020.0002.0E81][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KO>
+0EC4 0E81 ; [.24AE.0020.0002.0E81][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KO>
+0E82 ; [.24AF.0020.0002.0E82] # LAO LETTER KHO SUNG
+0EC0 0E82 ; [.24AF.0020.0002.0E82][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KHO SUNG>
+0EC1 0E82 ; [.24AF.0020.0002.0E82][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KHO SUNG>
+0EC2 0E82 ; [.24AF.0020.0002.0E82][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KHO SUNG>
+0EC3 0E82 ; [.24AF.0020.0002.0E82][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KHO SUNG>
+0EC4 0E82 ; [.24AF.0020.0002.0E82][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KHO SUNG>
+0E84 ; [.24B0.0020.0002.0E84] # LAO LETTER KHO TAM
+0EC0 0E84 ; [.24B0.0020.0002.0E84][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KHO TAM>
+0EC1 0E84 ; [.24B0.0020.0002.0E84][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KHO TAM>
+0EC2 0E84 ; [.24B0.0020.0002.0E84][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KHO TAM>
+0EC3 0E84 ; [.24B0.0020.0002.0E84][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KHO TAM>
+0EC4 0E84 ; [.24B0.0020.0002.0E84][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KHO TAM>
+0E87 ; [.24B1.0020.0002.0E87] # LAO LETTER NGO
+0EC0 0E87 ; [.24B1.0020.0002.0E87][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NGO>
+0EC1 0E87 ; [.24B1.0020.0002.0E87][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NGO>
+0EC2 0E87 ; [.24B1.0020.0002.0E87][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NGO>
+0EC3 0E87 ; [.24B1.0020.0002.0E87][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NGO>
+0EC4 0E87 ; [.24B1.0020.0002.0E87][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NGO>
+0E88 ; [.24B2.0020.0002.0E88] # LAO LETTER CO
+0EC0 0E88 ; [.24B2.0020.0002.0E88][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER CO>
+0EC1 0E88 ; [.24B2.0020.0002.0E88][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER CO>
+0EC2 0E88 ; [.24B2.0020.0002.0E88][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER CO>
+0EC3 0E88 ; [.24B2.0020.0002.0E88][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER CO>
+0EC4 0E88 ; [.24B2.0020.0002.0E88][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER CO>
+0EAA ; [.24B3.0020.0002.0EAA] # LAO LETTER SO SUNG
+0EC0 0EAA ; [.24B3.0020.0002.0EAA][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER SO SUNG>
+0EC1 0EAA ; [.24B3.0020.0002.0EAA][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER SO SUNG>
+0EC2 0EAA ; [.24B3.0020.0002.0EAA][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER SO SUNG>
+0EC3 0EAA ; [.24B3.0020.0002.0EAA][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER SO SUNG>
+0EC4 0EAA ; [.24B3.0020.0002.0EAA][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER SO SUNG>
+0E8A ; [.24B4.0020.0002.0E8A] # LAO LETTER SO TAM
+0EC0 0E8A ; [.24B4.0020.0002.0E8A][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER SO TAM>
+0EC1 0E8A ; [.24B4.0020.0002.0E8A][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER SO TAM>
+0EC2 0E8A ; [.24B4.0020.0002.0E8A][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER SO TAM>
+0EC3 0E8A ; [.24B4.0020.0002.0E8A][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER SO TAM>
+0EC4 0E8A ; [.24B4.0020.0002.0E8A][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER SO TAM>
+0EDF ; [.24B5.0020.0002.0EDF] # LAO LETTER KHMU NYO
+0E8D ; [.24B6.0020.0002.0E8D] # LAO LETTER NYO
+0EC0 0E8D ; [.24B6.0020.0002.0E8D][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NYO>
+0EC1 0E8D ; [.24B6.0020.0002.0E8D][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NYO>
+0EC2 0E8D ; [.24B6.0020.0002.0E8D][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NYO>
+0EC3 0E8D ; [.24B6.0020.0002.0E8D][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NYO>
+0EC4 0E8D ; [.24B6.0020.0002.0E8D][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NYO>
+0E94 ; [.24B7.0020.0002.0E94] # LAO LETTER DO
+0EC0 0E94 ; [.24B7.0020.0002.0E94][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER DO>
+0EC1 0E94 ; [.24B7.0020.0002.0E94][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER DO>
+0EC2 0E94 ; [.24B7.0020.0002.0E94][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER DO>
+0EC3 0E94 ; [.24B7.0020.0002.0E94][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER DO>
+0EC4 0E94 ; [.24B7.0020.0002.0E94][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER DO>
+0E95 ; [.24B8.0020.0002.0E95] # LAO LETTER TO
+0EC0 0E95 ; [.24B8.0020.0002.0E95][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER TO>
+0EC1 0E95 ; [.24B8.0020.0002.0E95][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER TO>
+0EC2 0E95 ; [.24B8.0020.0002.0E95][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER TO>
+0EC3 0E95 ; [.24B8.0020.0002.0E95][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER TO>
+0EC4 0E95 ; [.24B8.0020.0002.0E95][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER TO>
+0E96 ; [.24B9.0020.0002.0E96] # LAO LETTER THO SUNG
+0EC0 0E96 ; [.24B9.0020.0002.0E96][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER THO SUNG>
+0EC1 0E96 ; [.24B9.0020.0002.0E96][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER THO SUNG>
+0EC2 0E96 ; [.24B9.0020.0002.0E96][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER THO SUNG>
+0EC3 0E96 ; [.24B9.0020.0002.0E96][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER THO SUNG>
+0EC4 0E96 ; [.24B9.0020.0002.0E96][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER THO SUNG>
+0E97 ; [.24BA.0020.0002.0E97] # LAO LETTER THO TAM
+0EC0 0E97 ; [.24BA.0020.0002.0E97][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER THO TAM>
+0EC1 0E97 ; [.24BA.0020.0002.0E97][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER THO TAM>
+0EC2 0E97 ; [.24BA.0020.0002.0E97][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER THO TAM>
+0EC3 0E97 ; [.24BA.0020.0002.0E97][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER THO TAM>
+0EC4 0E97 ; [.24BA.0020.0002.0E97][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER THO TAM>
+0E99 ; [.24BB.0020.0002.0E99] # LAO LETTER NO
+0EC0 0E99 ; [.24BB.0020.0002.0E99][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NO>
+0EC1 0E99 ; [.24BB.0020.0002.0E99][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NO>
+0EC2 0E99 ; [.24BB.0020.0002.0E99][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NO>
+0EC3 0E99 ; [.24BB.0020.0002.0E99][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NO>
+0EC4 0E99 ; [.24BB.0020.0002.0E99][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NO>
+0E9A ; [.24BC.0020.0002.0E9A] # LAO LETTER BO
+0EC0 0E9A ; [.24BC.0020.0002.0E9A][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER BO>
+0EC1 0E9A ; [.24BC.0020.0002.0E9A][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER BO>
+0EC2 0E9A ; [.24BC.0020.0002.0E9A][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER BO>
+0EC3 0E9A ; [.24BC.0020.0002.0E9A][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER BO>
+0EC4 0E9A ; [.24BC.0020.0002.0E9A][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER BO>
+0E9B ; [.24BD.0020.0002.0E9B] # LAO LETTER PO
+0EC0 0E9B ; [.24BD.0020.0002.0E9B][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PO>
+0EC1 0E9B ; [.24BD.0020.0002.0E9B][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PO>
+0EC2 0E9B ; [.24BD.0020.0002.0E9B][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PO>
+0EC3 0E9B ; [.24BD.0020.0002.0E9B][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PO>
+0EC4 0E9B ; [.24BD.0020.0002.0E9B][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PO>
+0E9C ; [.24BE.0020.0002.0E9C] # LAO LETTER PHO SUNG
+0EC0 0E9C ; [.24BE.0020.0002.0E9C][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PHO SUNG>
+0EC1 0E9C ; [.24BE.0020.0002.0E9C][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PHO SUNG>
+0EC2 0E9C ; [.24BE.0020.0002.0E9C][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PHO SUNG>
+0EC3 0E9C ; [.24BE.0020.0002.0E9C][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PHO SUNG>
+0EC4 0E9C ; [.24BE.0020.0002.0E9C][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PHO SUNG>
+0E9D ; [.24BF.0020.0002.0E9D] # LAO LETTER FO TAM
+0EC0 0E9D ; [.24BF.0020.0002.0E9D][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER FO TAM>
+0EC1 0E9D ; [.24BF.0020.0002.0E9D][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER FO TAM>
+0EC2 0E9D ; [.24BF.0020.0002.0E9D][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER FO TAM>
+0EC3 0E9D ; [.24BF.0020.0002.0E9D][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER FO TAM>
+0EC4 0E9D ; [.24BF.0020.0002.0E9D][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER FO TAM>
+0E9E ; [.24C0.0020.0002.0E9E] # LAO LETTER PHO TAM
+0EC0 0E9E ; [.24C0.0020.0002.0E9E][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PHO TAM>
+0EC1 0E9E ; [.24C0.0020.0002.0E9E][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PHO TAM>
+0EC2 0E9E ; [.24C0.0020.0002.0E9E][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PHO TAM>
+0EC3 0E9E ; [.24C0.0020.0002.0E9E][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PHO TAM>
+0EC4 0E9E ; [.24C0.0020.0002.0E9E][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PHO TAM>
+0E9F ; [.24C1.0020.0002.0E9F] # LAO LETTER FO SUNG
+0EC0 0E9F ; [.24C1.0020.0002.0E9F][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER FO SUNG>
+0EC1 0E9F ; [.24C1.0020.0002.0E9F][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER FO SUNG>
+0EC2 0E9F ; [.24C1.0020.0002.0E9F][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER FO SUNG>
+0EC3 0E9F ; [.24C1.0020.0002.0E9F][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER FO SUNG>
+0EC4 0E9F ; [.24C1.0020.0002.0E9F][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER FO SUNG>
+0EA1 ; [.24C2.0020.0002.0EA1] # LAO LETTER MO
+0EC0 0EA1 ; [.24C2.0020.0002.0EA1][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER MO>
+0EC1 0EA1 ; [.24C2.0020.0002.0EA1][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER MO>
+0EC2 0EA1 ; [.24C2.0020.0002.0EA1][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER MO>
+0EC3 0EA1 ; [.24C2.0020.0002.0EA1][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER MO>
+0EC4 0EA1 ; [.24C2.0020.0002.0EA1][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER MO>
+0EA2 ; [.24C3.0020.0002.0EA2] # LAO LETTER YO
+0EC0 0EA2 ; [.24C3.0020.0002.0EA2][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER YO>
+0EC1 0EA2 ; [.24C3.0020.0002.0EA2][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER YO>
+0EC2 0EA2 ; [.24C3.0020.0002.0EA2][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER YO>
+0EC3 0EA2 ; [.24C3.0020.0002.0EA2][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER YO>
+0EC4 0EA2 ; [.24C3.0020.0002.0EA2][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER YO>
+0EA3 ; [.24C4.0020.0002.0EA3] # LAO LETTER LO LING
+0EC0 0EA3 ; [.24C4.0020.0002.0EA3][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER LO LING>
+0EC1 0EA3 ; [.24C4.0020.0002.0EA3][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER LO LING>
+0EC2 0EA3 ; [.24C4.0020.0002.0EA3][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER LO LING>
+0EC3 0EA3 ; [.24C4.0020.0002.0EA3][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER LO LING>
+0EC4 0EA3 ; [.24C4.0020.0002.0EA3][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER LO LING>
+0EA5 ; [.24C5.0020.0002.0EA5] # LAO LETTER LO LOOT
+0EC0 0EA5 ; [.24C5.0020.0002.0EA5][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER LO LOOT>
+0EC1 0EA5 ; [.24C5.0020.0002.0EA5][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER LO LOOT>
+0EC2 0EA5 ; [.24C5.0020.0002.0EA5][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER LO LOOT>
+0EC3 0EA5 ; [.24C5.0020.0002.0EA5][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER LO LOOT>
+0EC4 0EA5 ; [.24C5.0020.0002.0EA5][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER LO LOOT>
+0EA7 ; [.24C6.0020.0002.0EA7] # LAO LETTER WO
+0EC0 0EA7 ; [.24C6.0020.0002.0EA7][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER WO>
+0EC1 0EA7 ; [.24C6.0020.0002.0EA7][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER WO>
+0EC2 0EA7 ; [.24C6.0020.0002.0EA7][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER WO>
+0EC3 0EA7 ; [.24C6.0020.0002.0EA7][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER WO>
+0EC4 0EA7 ; [.24C6.0020.0002.0EA7][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER WO>
+0EAB ; [.24C7.0020.0002.0EAB] # LAO LETTER HO SUNG
+0EDC ; [.24C7.0020.0004.0EDC][.24BB.0020.0004.0EDC] # LAO HO NO
+0EC0 0EDC ; [.24C7.0020.0004.0EDC][.24BB.0020.0004.0EDC][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO HO NO>
+0EC1 0EDC ; [.24C7.0020.0004.0EDC][.24BB.0020.0004.0EDC][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO HO NO>
+0EC2 0EDC ; [.24C7.0020.0004.0EDC][.24BB.0020.0004.0EDC][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO HO NO>
+0EC3 0EDC ; [.24C7.0020.0004.0EDC][.24BB.0020.0004.0EDC][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO HO NO>
+0EC4 0EDC ; [.24C7.0020.0004.0EDC][.24BB.0020.0004.0EDC][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO HO NO>
+0EDD ; [.24C7.0020.0004.0EDD][.24C2.0020.0004.0EDD] # LAO HO MO
+0EC0 0EDD ; [.24C7.0020.0004.0EDD][.24C2.0020.0004.0EDD][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO HO MO>
+0EC1 0EDD ; [.24C7.0020.0004.0EDD][.24C2.0020.0004.0EDD][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO HO MO>
+0EC2 0EDD ; [.24C7.0020.0004.0EDD][.24C2.0020.0004.0EDD][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO HO MO>
+0EC3 0EDD ; [.24C7.0020.0004.0EDD][.24C2.0020.0004.0EDD][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO HO MO>
+0EC4 0EDD ; [.24C7.0020.0004.0EDD][.24C2.0020.0004.0EDD][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO HO MO>
+0EC0 0EAB ; [.24C7.0020.0002.0EAB][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER HO SUNG>
+0EC1 0EAB ; [.24C7.0020.0002.0EAB][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER HO SUNG>
+0EC2 0EAB ; [.24C7.0020.0002.0EAB][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER HO SUNG>
+0EC3 0EAB ; [.24C7.0020.0002.0EAB][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER HO SUNG>
+0EC4 0EAB ; [.24C7.0020.0002.0EAB][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER HO SUNG>
+0EAD ; [.24C8.0020.0002.0EAD] # LAO LETTER O
+0EC0 0EAD ; [.24C8.0020.0002.0EAD][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER O>
+0EC1 0EAD ; [.24C8.0020.0002.0EAD][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER O>
+0EC2 0EAD ; [.24C8.0020.0002.0EAD][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER O>
+0EC3 0EAD ; [.24C8.0020.0002.0EAD][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER O>
+0EC4 0EAD ; [.24C8.0020.0002.0EAD][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER O>
+0EAE ; [.24C9.0020.0002.0EAE] # LAO LETTER HO TAM
+0EC0 0EAE ; [.24C9.0020.0002.0EAE][.24D8.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER HO TAM>
+0EC1 0EAE ; [.24C9.0020.0002.0EAE][.24D9.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER HO TAM>
+0EC2 0EAE ; [.24C9.0020.0002.0EAE][.24DA.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER HO TAM>
+0EC3 0EAE ; [.24C9.0020.0002.0EAE][.24DB.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER HO TAM>
+0EC4 0EAE ; [.24C9.0020.0002.0EAE][.24DC.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER HO TAM>
+0EAF ; [.24CA.0020.0002.0EAF] # LAO ELLIPSIS
+0EB0 ; [.24CB.0020.0002.0EB0] # LAO VOWEL SIGN A
+0EB1 ; [.24CC.0020.0002.0EB1] # LAO VOWEL SIGN MAI KAN
+0EB2 ; [.24CD.0020.0002.0EB2] # LAO VOWEL SIGN AA
+0EB3 ; [.24CE.0020.0002.0EB3] # LAO VOWEL SIGN AM
+0ECD 0EB2 ; [.24CE.0020.0002.0EB3] # LAO VOWEL SIGN AM
+0EB4 ; [.24CF.0020.0002.0EB4] # LAO VOWEL SIGN I
+0EB5 ; [.24D0.0020.0002.0EB5] # LAO VOWEL SIGN II
+0EB6 ; [.24D1.0020.0002.0EB6] # LAO VOWEL SIGN Y
+0EB7 ; [.24D2.0020.0002.0EB7] # LAO VOWEL SIGN YY
+0EB8 ; [.24D3.0020.0002.0EB8] # LAO VOWEL SIGN U
+0EB9 ; [.24D4.0020.0002.0EB9] # LAO VOWEL SIGN UU
+0EBB ; [.24D5.0020.0002.0EBB] # LAO VOWEL SIGN MAI KON
+0EBC ; [.24D6.0020.0002.0EBC] # LAO SEMIVOWEL SIGN LO
+0EBD ; [.24D7.0020.0002.0EBD] # LAO SEMIVOWEL SIGN NYO
+0EC0 ; [.24D8.0020.0002.0EC0] # LAO VOWEL SIGN E
+0EC1 ; [.24D9.0020.0002.0EC1] # LAO VOWEL SIGN EI
+0EC2 ; [.24DA.0020.0002.0EC2] # LAO VOWEL SIGN O
+0EC3 ; [.24DB.0020.0002.0EC3] # LAO VOWEL SIGN AY
+0EC4 ; [.24DC.0020.0002.0EC4] # LAO VOWEL SIGN AI
+AA80 ; [.24DD.0020.0002.AA80] # TAI VIET LETTER LOW KO
+AAB5 AA80 ; [.24DD.0020.0002.AA80][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KO>
+AAB6 AA80 ; [.24DD.0020.0002.AA80][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KO>
+AAB9 AA80 ; [.24DD.0020.0002.AA80][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KO>
+AABB AA80 ; [.24DD.0020.0002.AA80][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KO>
+AABC AA80 ; [.24DD.0020.0002.AA80][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KO>
+AA81 ; [.24DE.0020.0002.AA81] # TAI VIET LETTER HIGH KO
+AAB5 AA81 ; [.24DE.0020.0002.AA81][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KO>
+AAB6 AA81 ; [.24DE.0020.0002.AA81][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KO>
+AAB9 AA81 ; [.24DE.0020.0002.AA81][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KO>
+AABB AA81 ; [.24DE.0020.0002.AA81][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KO>
+AABC AA81 ; [.24DE.0020.0002.AA81][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KO>
+AA82 ; [.24DF.0020.0002.AA82] # TAI VIET LETTER LOW KHO
+AAB5 AA82 ; [.24DF.0020.0002.AA82][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KHO>
+AAB6 AA82 ; [.24DF.0020.0002.AA82][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KHO>
+AAB9 AA82 ; [.24DF.0020.0002.AA82][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KHO>
+AABB AA82 ; [.24DF.0020.0002.AA82][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KHO>
+AABC AA82 ; [.24DF.0020.0002.AA82][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KHO>
+AA83 ; [.24E0.0020.0002.AA83] # TAI VIET LETTER HIGH KHO
+AAB5 AA83 ; [.24E0.0020.0002.AA83][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KHO>
+AAB6 AA83 ; [.24E0.0020.0002.AA83][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KHO>
+AAB9 AA83 ; [.24E0.0020.0002.AA83][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KHO>
+AABB AA83 ; [.24E0.0020.0002.AA83][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KHO>
+AABC AA83 ; [.24E0.0020.0002.AA83][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KHO>
+AA84 ; [.24E1.0020.0002.AA84] # TAI VIET LETTER LOW KHHO
+AAB5 AA84 ; [.24E1.0020.0002.AA84][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KHHO>
+AAB6 AA84 ; [.24E1.0020.0002.AA84][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KHHO>
+AAB9 AA84 ; [.24E1.0020.0002.AA84][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KHHO>
+AABB AA84 ; [.24E1.0020.0002.AA84][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KHHO>
+AABC AA84 ; [.24E1.0020.0002.AA84][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KHHO>
+AA85 ; [.24E2.0020.0002.AA85] # TAI VIET LETTER HIGH KHHO
+AAB5 AA85 ; [.24E2.0020.0002.AA85][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KHHO>
+AAB6 AA85 ; [.24E2.0020.0002.AA85][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KHHO>
+AAB9 AA85 ; [.24E2.0020.0002.AA85][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KHHO>
+AABB AA85 ; [.24E2.0020.0002.AA85][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KHHO>
+AABC AA85 ; [.24E2.0020.0002.AA85][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KHHO>
+AA86 ; [.24E3.0020.0002.AA86] # TAI VIET LETTER LOW GO
+AAB5 AA86 ; [.24E3.0020.0002.AA86][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW GO>
+AAB6 AA86 ; [.24E3.0020.0002.AA86][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW GO>
+AAB9 AA86 ; [.24E3.0020.0002.AA86][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW GO>
+AABB AA86 ; [.24E3.0020.0002.AA86][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW GO>
+AABC AA86 ; [.24E3.0020.0002.AA86][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW GO>
+AA87 ; [.24E4.0020.0002.AA87] # TAI VIET LETTER HIGH GO
+AAB5 AA87 ; [.24E4.0020.0002.AA87][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH GO>
+AAB6 AA87 ; [.24E4.0020.0002.AA87][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH GO>
+AAB9 AA87 ; [.24E4.0020.0002.AA87][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH GO>
+AABB AA87 ; [.24E4.0020.0002.AA87][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH GO>
+AABC AA87 ; [.24E4.0020.0002.AA87][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH GO>
+AA88 ; [.24E5.0020.0002.AA88] # TAI VIET LETTER LOW NGO
+AAB5 AA88 ; [.24E5.0020.0002.AA88][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NGO>
+AAB6 AA88 ; [.24E5.0020.0002.AA88][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NGO>
+AAB9 AA88 ; [.24E5.0020.0002.AA88][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NGO>
+AABB AA88 ; [.24E5.0020.0002.AA88][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NGO>
+AABC AA88 ; [.24E5.0020.0002.AA88][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NGO>
+AA89 ; [.24E6.0020.0002.AA89] # TAI VIET LETTER HIGH NGO
+AAB5 AA89 ; [.24E6.0020.0002.AA89][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NGO>
+AAB6 AA89 ; [.24E6.0020.0002.AA89][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NGO>
+AAB9 AA89 ; [.24E6.0020.0002.AA89][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NGO>
+AABB AA89 ; [.24E6.0020.0002.AA89][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NGO>
+AABC AA89 ; [.24E6.0020.0002.AA89][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NGO>
+AA8A ; [.24E7.0020.0002.AA8A] # TAI VIET LETTER LOW CO
+AAB5 AA8A ; [.24E7.0020.0002.AA8A][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW CO>
+AAB6 AA8A ; [.24E7.0020.0002.AA8A][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW CO>
+AAB9 AA8A ; [.24E7.0020.0002.AA8A][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW CO>
+AABB AA8A ; [.24E7.0020.0002.AA8A][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW CO>
+AABC AA8A ; [.24E7.0020.0002.AA8A][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW CO>
+AA8B ; [.24E8.0020.0002.AA8B] # TAI VIET LETTER HIGH CO
+AAB5 AA8B ; [.24E8.0020.0002.AA8B][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH CO>
+AAB6 AA8B ; [.24E8.0020.0002.AA8B][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH CO>
+AAB9 AA8B ; [.24E8.0020.0002.AA8B][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH CO>
+AABB AA8B ; [.24E8.0020.0002.AA8B][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH CO>
+AABC AA8B ; [.24E8.0020.0002.AA8B][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH CO>
+AA8C ; [.24E9.0020.0002.AA8C] # TAI VIET LETTER LOW CHO
+AAB5 AA8C ; [.24E9.0020.0002.AA8C][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW CHO>
+AAB6 AA8C ; [.24E9.0020.0002.AA8C][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW CHO>
+AAB9 AA8C ; [.24E9.0020.0002.AA8C][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW CHO>
+AABB AA8C ; [.24E9.0020.0002.AA8C][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW CHO>
+AABC AA8C ; [.24E9.0020.0002.AA8C][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW CHO>
+AA8D ; [.24EA.0020.0002.AA8D] # TAI VIET LETTER HIGH CHO
+AAB5 AA8D ; [.24EA.0020.0002.AA8D][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH CHO>
+AAB6 AA8D ; [.24EA.0020.0002.AA8D][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH CHO>
+AAB9 AA8D ; [.24EA.0020.0002.AA8D][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH CHO>
+AABB AA8D ; [.24EA.0020.0002.AA8D][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH CHO>
+AABC AA8D ; [.24EA.0020.0002.AA8D][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH CHO>
+AA8E ; [.24EB.0020.0002.AA8E] # TAI VIET LETTER LOW SO
+AAB5 AA8E ; [.24EB.0020.0002.AA8E][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW SO>
+AAB6 AA8E ; [.24EB.0020.0002.AA8E][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW SO>
+AAB9 AA8E ; [.24EB.0020.0002.AA8E][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW SO>
+AABB AA8E ; [.24EB.0020.0002.AA8E][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW SO>
+AABC AA8E ; [.24EB.0020.0002.AA8E][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW SO>
+AA8F ; [.24EC.0020.0002.AA8F] # TAI VIET LETTER HIGH SO
+AAB5 AA8F ; [.24EC.0020.0002.AA8F][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH SO>
+AAB6 AA8F ; [.24EC.0020.0002.AA8F][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH SO>
+AAB9 AA8F ; [.24EC.0020.0002.AA8F][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH SO>
+AABB AA8F ; [.24EC.0020.0002.AA8F][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH SO>
+AABC AA8F ; [.24EC.0020.0002.AA8F][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH SO>
+AA90 ; [.24ED.0020.0002.AA90] # TAI VIET LETTER LOW NYO
+AAB5 AA90 ; [.24ED.0020.0002.AA90][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NYO>
+AAB6 AA90 ; [.24ED.0020.0002.AA90][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NYO>
+AAB9 AA90 ; [.24ED.0020.0002.AA90][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NYO>
+AABB AA90 ; [.24ED.0020.0002.AA90][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NYO>
+AABC AA90 ; [.24ED.0020.0002.AA90][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NYO>
+AA91 ; [.24EE.0020.0002.AA91] # TAI VIET LETTER HIGH NYO
+AAB5 AA91 ; [.24EE.0020.0002.AA91][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NYO>
+AAB6 AA91 ; [.24EE.0020.0002.AA91][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NYO>
+AAB9 AA91 ; [.24EE.0020.0002.AA91][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NYO>
+AABB AA91 ; [.24EE.0020.0002.AA91][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NYO>
+AABC AA91 ; [.24EE.0020.0002.AA91][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NYO>
+AA92 ; [.24EF.0020.0002.AA92] # TAI VIET LETTER LOW DO
+AAB5 AA92 ; [.24EF.0020.0002.AA92][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW DO>
+AAB6 AA92 ; [.24EF.0020.0002.AA92][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW DO>
+AAB9 AA92 ; [.24EF.0020.0002.AA92][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW DO>
+AABB AA92 ; [.24EF.0020.0002.AA92][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW DO>
+AABC AA92 ; [.24EF.0020.0002.AA92][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW DO>
+AA93 ; [.24F0.0020.0002.AA93] # TAI VIET LETTER HIGH DO
+AAB5 AA93 ; [.24F0.0020.0002.AA93][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH DO>
+AAB6 AA93 ; [.24F0.0020.0002.AA93][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH DO>
+AAB9 AA93 ; [.24F0.0020.0002.AA93][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH DO>
+AABB AA93 ; [.24F0.0020.0002.AA93][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH DO>
+AABC AA93 ; [.24F0.0020.0002.AA93][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH DO>
+AA94 ; [.24F1.0020.0002.AA94] # TAI VIET LETTER LOW TO
+AAB5 AA94 ; [.24F1.0020.0002.AA94][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW TO>
+AAB6 AA94 ; [.24F1.0020.0002.AA94][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW TO>
+AAB9 AA94 ; [.24F1.0020.0002.AA94][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW TO>
+AABB AA94 ; [.24F1.0020.0002.AA94][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW TO>
+AABC AA94 ; [.24F1.0020.0002.AA94][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW TO>
+AA95 ; [.24F2.0020.0002.AA95] # TAI VIET LETTER HIGH TO
+AAB5 AA95 ; [.24F2.0020.0002.AA95][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH TO>
+AAB6 AA95 ; [.24F2.0020.0002.AA95][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH TO>
+AAB9 AA95 ; [.24F2.0020.0002.AA95][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH TO>
+AABB AA95 ; [.24F2.0020.0002.AA95][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH TO>
+AABC AA95 ; [.24F2.0020.0002.AA95][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH TO>
+AA96 ; [.24F3.0020.0002.AA96] # TAI VIET LETTER LOW THO
+AAB5 AA96 ; [.24F3.0020.0002.AA96][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW THO>
+AAB6 AA96 ; [.24F3.0020.0002.AA96][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW THO>
+AAB9 AA96 ; [.24F3.0020.0002.AA96][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW THO>
+AABB AA96 ; [.24F3.0020.0002.AA96][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW THO>
+AABC AA96 ; [.24F3.0020.0002.AA96][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW THO>
+AA97 ; [.24F4.0020.0002.AA97] # TAI VIET LETTER HIGH THO
+AAB5 AA97 ; [.24F4.0020.0002.AA97][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH THO>
+AAB6 AA97 ; [.24F4.0020.0002.AA97][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH THO>
+AAB9 AA97 ; [.24F4.0020.0002.AA97][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH THO>
+AABB AA97 ; [.24F4.0020.0002.AA97][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH THO>
+AABC AA97 ; [.24F4.0020.0002.AA97][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH THO>
+AA98 ; [.24F5.0020.0002.AA98] # TAI VIET LETTER LOW NO
+AAB5 AA98 ; [.24F5.0020.0002.AA98][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NO>
+AAB6 AA98 ; [.24F5.0020.0002.AA98][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NO>
+AAB9 AA98 ; [.24F5.0020.0002.AA98][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NO>
+AABB AA98 ; [.24F5.0020.0002.AA98][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NO>
+AABC AA98 ; [.24F5.0020.0002.AA98][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NO>
+AA99 ; [.24F6.0020.0002.AA99] # TAI VIET LETTER HIGH NO
+AAB5 AA99 ; [.24F6.0020.0002.AA99][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NO>
+AAB6 AA99 ; [.24F6.0020.0002.AA99][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NO>
+AAB9 AA99 ; [.24F6.0020.0002.AA99][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NO>
+AABB AA99 ; [.24F6.0020.0002.AA99][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NO>
+AABC AA99 ; [.24F6.0020.0002.AA99][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NO>
+AA9A ; [.24F7.0020.0002.AA9A] # TAI VIET LETTER LOW BO
+AAB5 AA9A ; [.24F7.0020.0002.AA9A][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW BO>
+AAB6 AA9A ; [.24F7.0020.0002.AA9A][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW BO>
+AAB9 AA9A ; [.24F7.0020.0002.AA9A][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW BO>
+AABB AA9A ; [.24F7.0020.0002.AA9A][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW BO>
+AABC AA9A ; [.24F7.0020.0002.AA9A][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW BO>
+AA9B ; [.24F8.0020.0002.AA9B] # TAI VIET LETTER HIGH BO
+AAB5 AA9B ; [.24F8.0020.0002.AA9B][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH BO>
+AAB6 AA9B ; [.24F8.0020.0002.AA9B][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH BO>
+AAB9 AA9B ; [.24F8.0020.0002.AA9B][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH BO>
+AABB AA9B ; [.24F8.0020.0002.AA9B][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH BO>
+AABC AA9B ; [.24F8.0020.0002.AA9B][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH BO>
+AA9C ; [.24F9.0020.0002.AA9C] # TAI VIET LETTER LOW PO
+AAB5 AA9C ; [.24F9.0020.0002.AA9C][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW PO>
+AAB6 AA9C ; [.24F9.0020.0002.AA9C][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW PO>
+AAB9 AA9C ; [.24F9.0020.0002.AA9C][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW PO>
+AABB AA9C ; [.24F9.0020.0002.AA9C][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW PO>
+AABC AA9C ; [.24F9.0020.0002.AA9C][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW PO>
+AA9D ; [.24FA.0020.0002.AA9D] # TAI VIET LETTER HIGH PO
+AAB5 AA9D ; [.24FA.0020.0002.AA9D][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH PO>
+AAB6 AA9D ; [.24FA.0020.0002.AA9D][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH PO>
+AAB9 AA9D ; [.24FA.0020.0002.AA9D][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH PO>
+AABB AA9D ; [.24FA.0020.0002.AA9D][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH PO>
+AABC AA9D ; [.24FA.0020.0002.AA9D][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH PO>
+AA9E ; [.24FB.0020.0002.AA9E] # TAI VIET LETTER LOW PHO
+AAB5 AA9E ; [.24FB.0020.0002.AA9E][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW PHO>
+AAB6 AA9E ; [.24FB.0020.0002.AA9E][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW PHO>
+AAB9 AA9E ; [.24FB.0020.0002.AA9E][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW PHO>
+AABB AA9E ; [.24FB.0020.0002.AA9E][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW PHO>
+AABC AA9E ; [.24FB.0020.0002.AA9E][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW PHO>
+AA9F ; [.24FC.0020.0002.AA9F] # TAI VIET LETTER HIGH PHO
+AAB5 AA9F ; [.24FC.0020.0002.AA9F][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH PHO>
+AAB6 AA9F ; [.24FC.0020.0002.AA9F][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH PHO>
+AAB9 AA9F ; [.24FC.0020.0002.AA9F][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH PHO>
+AABB AA9F ; [.24FC.0020.0002.AA9F][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH PHO>
+AABC AA9F ; [.24FC.0020.0002.AA9F][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH PHO>
+AAA0 ; [.24FD.0020.0002.AAA0] # TAI VIET LETTER LOW FO
+AAB5 AAA0 ; [.24FD.0020.0002.AAA0][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW FO>
+AAB6 AAA0 ; [.24FD.0020.0002.AAA0][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW FO>
+AAB9 AAA0 ; [.24FD.0020.0002.AAA0][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW FO>
+AABB AAA0 ; [.24FD.0020.0002.AAA0][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW FO>
+AABC AAA0 ; [.24FD.0020.0002.AAA0][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW FO>
+AAA1 ; [.24FE.0020.0002.AAA1] # TAI VIET LETTER HIGH FO
+AAB5 AAA1 ; [.24FE.0020.0002.AAA1][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH FO>
+AAB6 AAA1 ; [.24FE.0020.0002.AAA1][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH FO>
+AAB9 AAA1 ; [.24FE.0020.0002.AAA1][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH FO>
+AABB AAA1 ; [.24FE.0020.0002.AAA1][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH FO>
+AABC AAA1 ; [.24FE.0020.0002.AAA1][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH FO>
+AAA2 ; [.24FF.0020.0002.AAA2] # TAI VIET LETTER LOW MO
+AAB5 AAA2 ; [.24FF.0020.0002.AAA2][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW MO>
+AAB6 AAA2 ; [.24FF.0020.0002.AAA2][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW MO>
+AAB9 AAA2 ; [.24FF.0020.0002.AAA2][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW MO>
+AABB AAA2 ; [.24FF.0020.0002.AAA2][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW MO>
+AABC AAA2 ; [.24FF.0020.0002.AAA2][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW MO>
+AAA3 ; [.2500.0020.0002.AAA3] # TAI VIET LETTER HIGH MO
+AAB5 AAA3 ; [.2500.0020.0002.AAA3][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH MO>
+AAB6 AAA3 ; [.2500.0020.0002.AAA3][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH MO>
+AAB9 AAA3 ; [.2500.0020.0002.AAA3][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH MO>
+AABB AAA3 ; [.2500.0020.0002.AAA3][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH MO>
+AABC AAA3 ; [.2500.0020.0002.AAA3][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH MO>
+AAA4 ; [.2501.0020.0002.AAA4] # TAI VIET LETTER LOW YO
+AAB5 AAA4 ; [.2501.0020.0002.AAA4][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW YO>
+AAB6 AAA4 ; [.2501.0020.0002.AAA4][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW YO>
+AAB9 AAA4 ; [.2501.0020.0002.AAA4][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW YO>
+AABB AAA4 ; [.2501.0020.0002.AAA4][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW YO>
+AABC AAA4 ; [.2501.0020.0002.AAA4][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW YO>
+AAA5 ; [.2502.0020.0002.AAA5] # TAI VIET LETTER HIGH YO
+AAB5 AAA5 ; [.2502.0020.0002.AAA5][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH YO>
+AAB6 AAA5 ; [.2502.0020.0002.AAA5][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH YO>
+AAB9 AAA5 ; [.2502.0020.0002.AAA5][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH YO>
+AABB AAA5 ; [.2502.0020.0002.AAA5][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH YO>
+AABC AAA5 ; [.2502.0020.0002.AAA5][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH YO>
+AAA6 ; [.2503.0020.0002.AAA6] # TAI VIET LETTER LOW RO
+AAB5 AAA6 ; [.2503.0020.0002.AAA6][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW RO>
+AAB6 AAA6 ; [.2503.0020.0002.AAA6][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW RO>
+AAB9 AAA6 ; [.2503.0020.0002.AAA6][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW RO>
+AABB AAA6 ; [.2503.0020.0002.AAA6][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW RO>
+AABC AAA6 ; [.2503.0020.0002.AAA6][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW RO>
+AAA7 ; [.2504.0020.0002.AAA7] # TAI VIET LETTER HIGH RO
+AAB5 AAA7 ; [.2504.0020.0002.AAA7][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH RO>
+AAB6 AAA7 ; [.2504.0020.0002.AAA7][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH RO>
+AAB9 AAA7 ; [.2504.0020.0002.AAA7][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH RO>
+AABB AAA7 ; [.2504.0020.0002.AAA7][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH RO>
+AABC AAA7 ; [.2504.0020.0002.AAA7][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH RO>
+AAA8 ; [.2505.0020.0002.AAA8] # TAI VIET LETTER LOW LO
+AAB5 AAA8 ; [.2505.0020.0002.AAA8][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW LO>
+AAB6 AAA8 ; [.2505.0020.0002.AAA8][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW LO>
+AAB9 AAA8 ; [.2505.0020.0002.AAA8][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW LO>
+AABB AAA8 ; [.2505.0020.0002.AAA8][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW LO>
+AABC AAA8 ; [.2505.0020.0002.AAA8][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW LO>
+AAA9 ; [.2506.0020.0002.AAA9] # TAI VIET LETTER HIGH LO
+AAB5 AAA9 ; [.2506.0020.0002.AAA9][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH LO>
+AAB6 AAA9 ; [.2506.0020.0002.AAA9][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH LO>
+AAB9 AAA9 ; [.2506.0020.0002.AAA9][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH LO>
+AABB AAA9 ; [.2506.0020.0002.AAA9][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH LO>
+AABC AAA9 ; [.2506.0020.0002.AAA9][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH LO>
+AAAA ; [.2507.0020.0002.AAAA] # TAI VIET LETTER LOW VO
+AAB5 AAAA ; [.2507.0020.0002.AAAA][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW VO>
+AAB6 AAAA ; [.2507.0020.0002.AAAA][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW VO>
+AAB9 AAAA ; [.2507.0020.0002.AAAA][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW VO>
+AABB AAAA ; [.2507.0020.0002.AAAA][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW VO>
+AABC AAAA ; [.2507.0020.0002.AAAA][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW VO>
+AAAB ; [.2508.0020.0002.AAAB] # TAI VIET LETTER HIGH VO
+AAB5 AAAB ; [.2508.0020.0002.AAAB][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH VO>
+AAB6 AAAB ; [.2508.0020.0002.AAAB][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH VO>
+AAB9 AAAB ; [.2508.0020.0002.AAAB][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH VO>
+AABB AAAB ; [.2508.0020.0002.AAAB][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH VO>
+AABC AAAB ; [.2508.0020.0002.AAAB][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH VO>
+AAAC ; [.2509.0020.0002.AAAC] # TAI VIET LETTER LOW HO
+AAB5 AAAC ; [.2509.0020.0002.AAAC][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW HO>
+AAB6 AAAC ; [.2509.0020.0002.AAAC][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW HO>
+AAB9 AAAC ; [.2509.0020.0002.AAAC][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW HO>
+AABB AAAC ; [.2509.0020.0002.AAAC][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW HO>
+AABC AAAC ; [.2509.0020.0002.AAAC][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW HO>
+AAAD ; [.250A.0020.0002.AAAD] # TAI VIET LETTER HIGH HO
+AAB5 AAAD ; [.250A.0020.0002.AAAD][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH HO>
+AAB6 AAAD ; [.250A.0020.0002.AAAD][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH HO>
+AAB9 AAAD ; [.250A.0020.0002.AAAD][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH HO>
+AABB AAAD ; [.250A.0020.0002.AAAD][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH HO>
+AABC AAAD ; [.250A.0020.0002.AAAD][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH HO>
+AAAE ; [.250B.0020.0002.AAAE] # TAI VIET LETTER LOW O
+AAB5 AAAE ; [.250B.0020.0002.AAAE][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW O>
+AAB6 AAAE ; [.250B.0020.0002.AAAE][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW O>
+AAB9 AAAE ; [.250B.0020.0002.AAAE][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW O>
+AABB AAAE ; [.250B.0020.0002.AAAE][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW O>
+AABC AAAE ; [.250B.0020.0002.AAAE][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW O>
+AAAF ; [.250C.0020.0002.AAAF] # TAI VIET LETTER HIGH O
+AAB5 AAAF ; [.250C.0020.0002.AAAF][.2512.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH O>
+AAB6 AAAF ; [.250C.0020.0002.AAAF][.2513.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH O>
+AAB9 AAAF ; [.250C.0020.0002.AAAF][.2516.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH O>
+AABB AAAF ; [.250C.0020.0002.AAAF][.2518.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH O>
+AABC AAAF ; [.250C.0020.0002.AAAF][.2519.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH O>
+AAB0 ; [.250D.0020.0002.AAB0] # TAI VIET MAI KANG
+AAB1 ; [.250E.0020.0002.AAB1] # TAI VIET VOWEL AA
+AAB2 ; [.250F.0020.0002.AAB2] # TAI VIET VOWEL I
+AAB3 ; [.2510.0020.0002.AAB3] # TAI VIET VOWEL UE
+AAB4 ; [.2511.0020.0002.AAB4] # TAI VIET VOWEL U
+AAB5 ; [.2512.0020.0002.AAB5] # TAI VIET VOWEL E
+AAB6 ; [.2513.0020.0002.AAB6] # TAI VIET VOWEL O
+AAB7 ; [.2514.0020.0002.AAB7] # TAI VIET MAY KHIT
+AAB8 ; [.2515.0020.0002.AAB8] # TAI VIET VOWEL IA
+AAB9 ; [.2516.0020.0002.AAB9] # TAI VIET VOWEL UEA
+AABA ; [.2517.0020.0002.AABA] # TAI VIET VOWEL UA
+AABB ; [.2518.0020.0002.AABB] # TAI VIET VOWEL AUE
+AABC ; [.2519.0020.0002.AABC] # TAI VIET VOWEL AY
+AABD ; [.251A.0020.0002.AABD] # TAI VIET VOWEL AN
+AABE ; [.251B.0020.0002.AABE] # TAI VIET VOWEL AM
+AAC0 ; [.251C.0020.0002.AAC0] # TAI VIET TONE MAI NUENG
+AAC2 ; [.251D.0020.0002.AAC2] # TAI VIET TONE MAI SONG
+AADB ; [.251E.0020.0002.AADB] # TAI VIET SYMBOL KON
+AADC ; [.251F.0020.0002.AADC] # TAI VIET SYMBOL NUENG
+0F40 ; [.2520.0020.0002.0F40] # TIBETAN LETTER KA
+0F69 ; [.2520.0020.0002.0F40][.2561.0020.0002.0FB5] # TIBETAN LETTER KSSA
+0F90 ; [.2521.0020.0002.0F90] # TIBETAN SUBJOINED LETTER KA
+0FB9 ; [.2521.0020.0002.0F90][.2561.0020.0002.0FB5] # TIBETAN SUBJOINED LETTER KSSA
+0F6B ; [.2522.0020.0002.0F6B] # TIBETAN LETTER KKA
+0F41 ; [.2523.0020.0002.0F41] # TIBETAN LETTER KHA
+0F91 ; [.2524.0020.0002.0F91] # TIBETAN SUBJOINED LETTER KHA
+0F42 ; [.2525.0020.0002.0F42] # TIBETAN LETTER GA
+0F43 ; [.2525.0020.0002.0F42][.2565.0020.0002.0FB7] # TIBETAN LETTER GHA
+0F92 ; [.2526.0020.0002.0F92] # TIBETAN SUBJOINED LETTER GA
+0F93 ; [.2526.0020.0002.0F92][.2565.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER GHA
+0F44 ; [.2527.0020.0002.0F44] # TIBETAN LETTER NGA
+0F94 ; [.2528.0020.0002.0F94] # TIBETAN SUBJOINED LETTER NGA
+0F45 ; [.2529.0020.0002.0F45] # TIBETAN LETTER CA
+0F95 ; [.252A.0020.0002.0F95] # TIBETAN SUBJOINED LETTER CA
+0F46 ; [.252B.0020.0002.0F46] # TIBETAN LETTER CHA
+0F96 ; [.252C.0020.0002.0F96] # TIBETAN SUBJOINED LETTER CHA
+0F47 ; [.252D.0020.0002.0F47] # TIBETAN LETTER JA
+0F97 ; [.252E.0020.0002.0F97] # TIBETAN SUBJOINED LETTER JA
+0F49 ; [.252F.0020.0002.0F49] # TIBETAN LETTER NYA
+0F99 ; [.2530.0020.0002.0F99] # TIBETAN SUBJOINED LETTER NYA
+0F4A ; [.2531.0020.0002.0F4A] # TIBETAN LETTER TTA
+0F9A ; [.2532.0020.0002.0F9A] # TIBETAN SUBJOINED LETTER TTA
+0F4B ; [.2533.0020.0002.0F4B] # TIBETAN LETTER TTHA
+0F9B ; [.2534.0020.0002.0F9B] # TIBETAN SUBJOINED LETTER TTHA
+0F4C ; [.2535.0020.0002.0F4C] # TIBETAN LETTER DDA
+0F4D ; [.2535.0020.0002.0F4C][.2565.0020.0002.0FB7] # TIBETAN LETTER DDHA
+0F9C ; [.2536.0020.0002.0F9C] # TIBETAN SUBJOINED LETTER DDA
+0F9D ; [.2536.0020.0002.0F9C][.2565.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DDHA
+0F4E ; [.2537.0020.0002.0F4E] # TIBETAN LETTER NNA
+0F9E ; [.2538.0020.0002.0F9E] # TIBETAN SUBJOINED LETTER NNA
+0F4F ; [.2539.0020.0002.0F4F] # TIBETAN LETTER TA
+0F9F ; [.253A.0020.0002.0F9F] # TIBETAN SUBJOINED LETTER TA
+0F50 ; [.253B.0020.0002.0F50] # TIBETAN LETTER THA
+0FA0 ; [.253C.0020.0002.0FA0] # TIBETAN SUBJOINED LETTER THA
+0F51 ; [.253D.0020.0002.0F51] # TIBETAN LETTER DA
+0F52 ; [.253D.0020.0002.0F51][.2565.0020.0002.0FB7] # TIBETAN LETTER DHA
+0FA1 ; [.253E.0020.0002.0FA1] # TIBETAN SUBJOINED LETTER DA
+0FA2 ; [.253E.0020.0002.0FA1][.2565.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DHA
+0F53 ; [.253F.0020.0002.0F53] # TIBETAN LETTER NA
+0FA3 ; [.2540.0020.0002.0FA3] # TIBETAN SUBJOINED LETTER NA
+0F54 ; [.2541.0020.0002.0F54] # TIBETAN LETTER PA
+0FA4 ; [.2542.0020.0002.0FA4] # TIBETAN SUBJOINED LETTER PA
+0F55 ; [.2543.0020.0002.0F55] # TIBETAN LETTER PHA
+0FA5 ; [.2544.0020.0002.0FA5] # TIBETAN SUBJOINED LETTER PHA
+0F56 ; [.2545.0020.0002.0F56] # TIBETAN LETTER BA
+0F57 ; [.2545.0020.0002.0F56][.2565.0020.0002.0FB7] # TIBETAN LETTER BHA
+0FA6 ; [.2546.0020.0002.0FA6] # TIBETAN SUBJOINED LETTER BA
+0FA7 ; [.2546.0020.0002.0FA6][.2565.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER BHA
+0F58 ; [.2547.0020.0002.0F58] # TIBETAN LETTER MA
+0FA8 ; [.2548.0020.0002.0FA8] # TIBETAN SUBJOINED LETTER MA
+0F59 ; [.2549.0020.0002.0F59] # TIBETAN LETTER TSA
+0FA9 ; [.254A.0020.0002.0FA9] # TIBETAN SUBJOINED LETTER TSA
+0F5A ; [.254B.0020.0002.0F5A] # TIBETAN LETTER TSHA
+0FAA ; [.254C.0020.0002.0FAA] # TIBETAN SUBJOINED LETTER TSHA
+0F5B ; [.254D.0020.0002.0F5B] # TIBETAN LETTER DZA
+0F5C ; [.254D.0020.0002.0F5B][.2565.0020.0002.0FB7] # TIBETAN LETTER DZHA
+0FAB ; [.254E.0020.0002.0FAB] # TIBETAN SUBJOINED LETTER DZA
+0FAC ; [.254E.0020.0002.0FAB][.2565.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DZHA
+0F5D ; [.254F.0020.0002.0F5D] # TIBETAN LETTER WA
+0FAD ; [.2550.0020.0002.0FAD] # TIBETAN SUBJOINED LETTER WA
+0FBA ; [.2550.0020.0004.0FBA][.0000.013A.0004.0FBA] # TIBETAN SUBJOINED LETTER FIXED-FORM WA
+0F5E ; [.2551.0020.0002.0F5E] # TIBETAN LETTER ZHA
+0FAE ; [.2552.0020.0002.0FAE] # TIBETAN SUBJOINED LETTER ZHA
+0F5F ; [.2553.0020.0002.0F5F] # TIBETAN LETTER ZA
+0FAF ; [.2554.0020.0002.0FAF] # TIBETAN SUBJOINED LETTER ZA
+0F60 ; [.2555.0020.0002.0F60] # TIBETAN LETTER -A
+0FB0 ; [.2556.0020.0002.0FB0] # TIBETAN SUBJOINED LETTER -A
+0F61 ; [.2557.0020.0002.0F61] # TIBETAN LETTER YA
+0FB1 ; [.2558.0020.0002.0FB1] # TIBETAN SUBJOINED LETTER YA
+0FBB ; [.2558.0020.0004.0FBB][.0000.013A.0004.0FBB] # TIBETAN SUBJOINED LETTER FIXED-FORM YA
+0F62 ; [.2559.0020.0002.0F62] # TIBETAN LETTER RA
+0F6A ; [.2559.0020.0004.0F6A][.0000.013A.0004.0F6A] # TIBETAN LETTER FIXED-FORM RA
+0FB2 ; [.255A.0020.0002.0FB2] # TIBETAN SUBJOINED LETTER RA
+0FBC ; [.255A.0020.0004.0FBC][.0000.013A.0004.0FBC] # TIBETAN SUBJOINED LETTER FIXED-FORM RA
+0F6C ; [.255B.0020.0002.0F6C] # TIBETAN LETTER RRA
+0F63 ; [.255C.0020.0002.0F63] # TIBETAN LETTER LA
+0FB3 ; [.255D.0020.0002.0FB3] # TIBETAN SUBJOINED LETTER LA
+0F64 ; [.255E.0020.0002.0F64] # TIBETAN LETTER SHA
+0FB4 ; [.255F.0020.0002.0FB4] # TIBETAN SUBJOINED LETTER SHA
+0F65 ; [.2560.0020.0002.0F65] # TIBETAN LETTER SSA
+0FB5 ; [.2561.0020.0002.0FB5] # TIBETAN SUBJOINED LETTER SSA
+0F66 ; [.2562.0020.0002.0F66] # TIBETAN LETTER SA
+0FB6 ; [.2563.0020.0002.0FB6] # TIBETAN SUBJOINED LETTER SA
+0F67 ; [.2564.0020.0002.0F67] # TIBETAN LETTER HA
+0FB7 ; [.2565.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER HA
+0F68 ; [.2566.0020.0002.0F68] # TIBETAN LETTER A
+0F00 ; [.2566.0020.0004.0F00][.257D.0020.0004.0F00][.0000.00F3.001F.0F00] # TIBETAN SYLLABLE OM
+0FB8 ; [.2567.0020.0002.0FB8] # TIBETAN SUBJOINED LETTER A
+0F88 ; [.2568.0020.0002.0F88] # TIBETAN SIGN LCE TSA CAN
+0F8D ; [.2569.0020.0002.0F8D] # TIBETAN SUBJOINED SIGN LCE TSA CAN
+0F89 ; [.256A.0020.0002.0F89] # TIBETAN SIGN MCHU CAN
+0F8E ; [.256B.0020.0002.0F8E] # TIBETAN SUBJOINED SIGN MCHU CAN
+0F8C ; [.256C.0020.0002.0F8C] # TIBETAN SIGN INVERTED MCHU CAN
+0F8F ; [.256D.0020.0002.0F8F] # TIBETAN SUBJOINED SIGN INVERTED MCHU CAN
+0F8A ; [.256E.0020.0002.0F8A] # TIBETAN SIGN GRU CAN RGYINGS
+0F8B ; [.256F.0020.0002.0F8B] # TIBETAN SIGN GRU MED RGYINGS
+0F71 ; [.2570.0020.0002.0F71] # TIBETAN VOWEL SIGN AA
+0F72 ; [.2571.0020.0002.0F72] # TIBETAN VOWEL SIGN I
+0F73 ; [.2572.0020.0002.0F73] # TIBETAN VOWEL SIGN II
+0F71 0F72 ; [.2572.0020.0002.0F73] # TIBETAN VOWEL SIGN II
+0F80 ; [.2573.0020.0002.0F80] # TIBETAN VOWEL SIGN REVERSED I
+0F81 ; [.2574.0020.0002.0F81] # TIBETAN VOWEL SIGN REVERSED II
+0F71 0F80 ; [.2574.0020.0002.0F81] # TIBETAN VOWEL SIGN REVERSED II
+0F74 ; [.2575.0020.0002.0F74] # TIBETAN VOWEL SIGN U
+0F75 ; [.2576.0020.0002.0F75] # TIBETAN VOWEL SIGN UU
+0F71 0F74 ; [.2576.0020.0002.0F75] # TIBETAN VOWEL SIGN UU
+0F76 ; [.2577.0020.0002.0F76] # TIBETAN VOWEL SIGN VOCALIC R
+0FB2 0F80 ; [.2577.0020.0002.0F76] # TIBETAN VOWEL SIGN VOCALIC R
+0F77 ; [.2578.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
+0FB2 0F71 0F80 ; [.2578.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
+0FB2 0F81 ; [.2578.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
+0F78 ; [.2579.0020.0002.0F78] # TIBETAN VOWEL SIGN VOCALIC L
+0FB3 0F80 ; [.2579.0020.0002.0F78] # TIBETAN VOWEL SIGN VOCALIC L
+0F79 ; [.257A.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
+0FB3 0F71 0F80 ; [.257A.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
+0FB3 0F81 ; [.257A.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
+0F7A ; [.257B.0020.0002.0F7A] # TIBETAN VOWEL SIGN E
+0F7B ; [.257C.0020.0002.0F7B] # TIBETAN VOWEL SIGN EE
+0F7C ; [.257D.0020.0002.0F7C] # TIBETAN VOWEL SIGN O
+0F7D ; [.257E.0020.0002.0F7D] # TIBETAN VOWEL SIGN OO
+0F84 ; [.257F.0020.0002.0F84] # TIBETAN MARK HALANTA
+1C00 ; [.2580.0020.0002.1C00] # LEPCHA LETTER KA
+1C01 ; [.2581.0020.0002.1C01] # LEPCHA LETTER KLA
+1C02 ; [.2582.0020.0002.1C02] # LEPCHA LETTER KHA
+1C03 ; [.2583.0020.0002.1C03] # LEPCHA LETTER GA
+1C04 ; [.2584.0020.0002.1C04] # LEPCHA LETTER GLA
+1C05 ; [.2585.0020.0002.1C05] # LEPCHA LETTER NGA
+1C06 ; [.2586.0020.0002.1C06] # LEPCHA LETTER CA
+1C07 ; [.2587.0020.0002.1C07] # LEPCHA LETTER CHA
+1C08 ; [.2588.0020.0002.1C08] # LEPCHA LETTER JA
+1C09 ; [.2589.0020.0002.1C09] # LEPCHA LETTER NYA
+1C4D ; [.258A.0020.0002.1C4D] # LEPCHA LETTER TTA
+1C4E ; [.258B.0020.0002.1C4E] # LEPCHA LETTER TTHA
+1C4F ; [.258C.0020.0002.1C4F] # LEPCHA LETTER DDA
+1C0A ; [.258D.0020.0002.1C0A] # LEPCHA LETTER TA
+1C0B ; [.258E.0020.0002.1C0B] # LEPCHA LETTER THA
+1C0C ; [.258F.0020.0002.1C0C] # LEPCHA LETTER DA
+1C0D ; [.2590.0020.0002.1C0D] # LEPCHA LETTER NA
+1C0E ; [.2591.0020.0002.1C0E] # LEPCHA LETTER PA
+1C0F ; [.2592.0020.0002.1C0F] # LEPCHA LETTER PLA
+1C10 ; [.2593.0020.0002.1C10] # LEPCHA LETTER PHA
+1C11 ; [.2594.0020.0002.1C11] # LEPCHA LETTER FA
+1C12 ; [.2595.0020.0002.1C12] # LEPCHA LETTER FLA
+1C13 ; [.2596.0020.0002.1C13] # LEPCHA LETTER BA
+1C14 ; [.2597.0020.0002.1C14] # LEPCHA LETTER BLA
+1C15 ; [.2598.0020.0002.1C15] # LEPCHA LETTER MA
+1C16 ; [.2599.0020.0002.1C16] # LEPCHA LETTER MLA
+1C17 ; [.259A.0020.0002.1C17] # LEPCHA LETTER TSA
+1C18 ; [.259B.0020.0002.1C18] # LEPCHA LETTER TSHA
+1C19 ; [.259C.0020.0002.1C19] # LEPCHA LETTER DZA
+1C1A ; [.259D.0020.0002.1C1A] # LEPCHA LETTER YA
+1C24 ; [.259E.0020.0002.1C24] # LEPCHA SUBJOINED LETTER YA
+1C1B ; [.259F.0020.0002.1C1B] # LEPCHA LETTER RA
+1C25 ; [.25A0.0020.0002.1C25] # LEPCHA SUBJOINED LETTER RA
+1C1C ; [.25A1.0020.0002.1C1C] # LEPCHA LETTER LA
+1C1D ; [.25A2.0020.0002.1C1D] # LEPCHA LETTER HA
+1C1E ; [.25A3.0020.0002.1C1E] # LEPCHA LETTER HLA
+1C1F ; [.25A4.0020.0002.1C1F] # LEPCHA LETTER VA
+1C20 ; [.25A5.0020.0002.1C20] # LEPCHA LETTER SA
+1C21 ; [.25A6.0020.0002.1C21] # LEPCHA LETTER SHA
+1C22 ; [.25A7.0020.0002.1C22] # LEPCHA LETTER WA
+1C23 ; [.25A8.0020.0002.1C23] # LEPCHA LETTER A
+1C36 ; [.25A9.0020.0002.1C36] # LEPCHA SIGN RAN
+1C26 ; [.25AA.0020.0002.1C26] # LEPCHA VOWEL SIGN AA
+1C27 ; [.25AB.0020.0002.1C27] # LEPCHA VOWEL SIGN I
+1C28 ; [.25AC.0020.0002.1C28] # LEPCHA VOWEL SIGN O
+1C29 ; [.25AD.0020.0002.1C29] # LEPCHA VOWEL SIGN OO
+1C2A ; [.25AE.0020.0002.1C2A] # LEPCHA VOWEL SIGN U
+1C2B ; [.25AF.0020.0002.1C2B] # LEPCHA VOWEL SIGN UU
+1C2C ; [.25B0.0020.0002.1C2C] # LEPCHA VOWEL SIGN E
+1C2D ; [.25B1.0020.0002.1C2D] # LEPCHA CONSONANT SIGN K
+1C2E ; [.25B2.0020.0002.1C2E] # LEPCHA CONSONANT SIGN M
+1C2F ; [.25B3.0020.0002.1C2F] # LEPCHA CONSONANT SIGN L
+1C30 ; [.25B4.0020.0002.1C30] # LEPCHA CONSONANT SIGN N
+1C31 ; [.25B5.0020.0002.1C31] # LEPCHA CONSONANT SIGN P
+1C32 ; [.25B6.0020.0002.1C32] # LEPCHA CONSONANT SIGN R
+1C33 ; [.25B7.0020.0002.1C33] # LEPCHA CONSONANT SIGN T
+1C34 ; [.25B8.0020.0002.1C34] # LEPCHA CONSONANT SIGN NYIN-DO
+1C35 ; [.25B9.0020.0002.1C35] # LEPCHA CONSONANT SIGN KANG
+A840 ; [.25BA.0020.0002.A840] # PHAGS-PA LETTER KA
+A841 ; [.25BB.0020.0002.A841] # PHAGS-PA LETTER KHA
+A842 ; [.25BC.0020.0002.A842] # PHAGS-PA LETTER GA
+A843 ; [.25BD.0020.0002.A843] # PHAGS-PA LETTER NGA
+A844 ; [.25BE.0020.0002.A844] # PHAGS-PA LETTER CA
+A845 ; [.25BF.0020.0002.A845] # PHAGS-PA LETTER CHA
+A846 ; [.25C0.0020.0002.A846] # PHAGS-PA LETTER JA
+A847 ; [.25C1.0020.0002.A847] # PHAGS-PA LETTER NYA
+A869 ; [.25C2.0020.0002.A869] # PHAGS-PA LETTER TTA
+A86A ; [.25C3.0020.0002.A86A] # PHAGS-PA LETTER TTHA
+A86B ; [.25C4.0020.0002.A86B] # PHAGS-PA LETTER DDA
+A86C ; [.25C5.0020.0002.A86C] # PHAGS-PA LETTER NNA
+A848 ; [.25C6.0020.0002.A848] # PHAGS-PA LETTER TA
+A849 ; [.25C7.0020.0002.A849] # PHAGS-PA LETTER THA
+A84A ; [.25C8.0020.0002.A84A] # PHAGS-PA LETTER DA
+A84B ; [.25C9.0020.0002.A84B] # PHAGS-PA LETTER NA
+A84C ; [.25CA.0020.0002.A84C] # PHAGS-PA LETTER PA
+A84D ; [.25CB.0020.0002.A84D] # PHAGS-PA LETTER PHA
+A84E ; [.25CC.0020.0002.A84E] # PHAGS-PA LETTER BA
+A84F ; [.25CD.0020.0002.A84F] # PHAGS-PA LETTER MA
+A850 ; [.25CE.0020.0002.A850] # PHAGS-PA LETTER TSA
+A851 ; [.25CF.0020.0002.A851] # PHAGS-PA LETTER TSHA
+A852 ; [.25D0.0020.0002.A852] # PHAGS-PA LETTER DZA
+A853 ; [.25D1.0020.0002.A853] # PHAGS-PA LETTER WA
+A867 ; [.25D2.0020.0002.A867] # PHAGS-PA SUBJOINED LETTER WA
+A854 ; [.25D3.0020.0002.A854] # PHAGS-PA LETTER ZHA
+A855 ; [.25D4.0020.0002.A855] # PHAGS-PA LETTER ZA
+A856 ; [.25D5.0020.0002.A856] # PHAGS-PA LETTER SMALL A
+A857 ; [.25D6.0020.0002.A857] # PHAGS-PA LETTER YA
+A868 ; [.25D7.0020.0002.A868] # PHAGS-PA SUBJOINED LETTER YA
+A86D ; [.25D8.0020.0002.A86D] # PHAGS-PA LETTER ALTERNATE YA
+A858 ; [.25D9.0020.0002.A858] # PHAGS-PA LETTER RA
+A871 ; [.25DA.0020.0002.A871] # PHAGS-PA SUBJOINED LETTER RA
+A872 ; [.25DB.0020.0002.A872] # PHAGS-PA SUPERFIXED LETTER RA
+A859 ; [.25DC.0020.0002.A859] # PHAGS-PA LETTER LA
+A85A ; [.25DD.0020.0002.A85A] # PHAGS-PA LETTER SHA
+A86E ; [.25DE.0020.0002.A86E] # PHAGS-PA LETTER VOICELESS SHA
+A85B ; [.25DF.0020.0002.A85B] # PHAGS-PA LETTER SA
+A85C ; [.25E0.0020.0002.A85C] # PHAGS-PA LETTER HA
+A86F ; [.25E1.0020.0002.A86F] # PHAGS-PA LETTER VOICED HA
+A870 ; [.25E2.0020.0002.A870] # PHAGS-PA LETTER ASPIRATED FA
+A85D ; [.25E3.0020.0002.A85D] # PHAGS-PA LETTER A
+A862 ; [.25E4.0020.0002.A862] # PHAGS-PA LETTER QA
+A863 ; [.25E5.0020.0002.A863] # PHAGS-PA LETTER XA
+A864 ; [.25E6.0020.0002.A864] # PHAGS-PA LETTER FA
+A865 ; [.25E7.0020.0002.A865] # PHAGS-PA LETTER GGA
+A85E ; [.25E8.0020.0002.A85E] # PHAGS-PA LETTER I
+A85F ; [.25E9.0020.0002.A85F] # PHAGS-PA LETTER U
+A860 ; [.25EA.0020.0002.A860] # PHAGS-PA LETTER E
+A861 ; [.25EB.0020.0002.A861] # PHAGS-PA LETTER O
+A866 ; [.25EC.0020.0002.A866] # PHAGS-PA LETTER EE
+A873 ; [.25ED.0020.0002.A873] # PHAGS-PA LETTER CANDRABINDU
+1900 ; [.25EE.0020.0002.1900] # LIMBU VOWEL-CARRIER LETTER
+1901 ; [.25EF.0020.0002.1901] # LIMBU LETTER KA
+1902 ; [.25F0.0020.0002.1902] # LIMBU LETTER KHA
+1903 ; [.25F1.0020.0002.1903] # LIMBU LETTER GA
+1904 ; [.25F2.0020.0002.1904] # LIMBU LETTER GHA
+1905 ; [.25F3.0020.0002.1905] # LIMBU LETTER NGA
+1906 ; [.25F4.0020.0002.1906] # LIMBU LETTER CA
+1907 ; [.25F5.0020.0002.1907] # LIMBU LETTER CHA
+1908 ; [.25F6.0020.0002.1908] # LIMBU LETTER JA
+1909 ; [.25F7.0020.0002.1909] # LIMBU LETTER JHA
+190A ; [.25F8.0020.0002.190A] # LIMBU LETTER YAN
+190B ; [.25F9.0020.0002.190B] # LIMBU LETTER TA
+190C ; [.25FA.0020.0002.190C] # LIMBU LETTER THA
+190D ; [.25FB.0020.0002.190D] # LIMBU LETTER DA
+190E ; [.25FC.0020.0002.190E] # LIMBU LETTER DHA
+190F ; [.25FD.0020.0002.190F] # LIMBU LETTER NA
+1910 ; [.25FE.0020.0002.1910] # LIMBU LETTER PA
+1911 ; [.25FF.0020.0002.1911] # LIMBU LETTER PHA
+1912 ; [.2600.0020.0002.1912] # LIMBU LETTER BA
+1913 ; [.2601.0020.0002.1913] # LIMBU LETTER BHA
+1914 ; [.2602.0020.0002.1914] # LIMBU LETTER MA
+1915 ; [.2603.0020.0002.1915] # LIMBU LETTER YA
+1916 ; [.2604.0020.0002.1916] # LIMBU LETTER RA
+1917 ; [.2605.0020.0002.1917] # LIMBU LETTER LA
+1918 ; [.2606.0020.0002.1918] # LIMBU LETTER WA
+1919 ; [.2607.0020.0002.1919] # LIMBU LETTER SHA
+191A ; [.2608.0020.0002.191A] # LIMBU LETTER SSA
+191B ; [.2609.0020.0002.191B] # LIMBU LETTER SA
+191C ; [.260A.0020.0002.191C] # LIMBU LETTER HA
+1920 ; [.260B.0020.0002.1920] # LIMBU VOWEL SIGN A
+1921 ; [.260C.0020.0002.1921] # LIMBU VOWEL SIGN I
+1922 ; [.260D.0020.0002.1922] # LIMBU VOWEL SIGN U
+1923 ; [.260E.0020.0002.1923] # LIMBU VOWEL SIGN EE
+1924 ; [.260F.0020.0002.1924] # LIMBU VOWEL SIGN AI
+1925 ; [.2610.0020.0002.1925] # LIMBU VOWEL SIGN OO
+1926 ; [.2611.0020.0002.1926] # LIMBU VOWEL SIGN AU
+1927 ; [.2612.0020.0002.1927] # LIMBU VOWEL SIGN E
+1928 ; [.2613.0020.0002.1928] # LIMBU VOWEL SIGN O
+1929 ; [.2614.0020.0002.1929] # LIMBU SUBJOINED LETTER YA
+192A ; [.2615.0020.0002.192A] # LIMBU SUBJOINED LETTER RA
+192B ; [.2616.0020.0002.192B] # LIMBU SUBJOINED LETTER WA
+1930 ; [.2617.0020.0002.1930] # LIMBU SMALL LETTER KA
+1931 ; [.2618.0020.0002.1931] # LIMBU SMALL LETTER NGA
+1932 ; [.2619.0020.0002.1932] # LIMBU SMALL LETTER ANUSVARA
+1933 ; [.261A.0020.0002.1933] # LIMBU SMALL LETTER TA
+1934 ; [.261B.0020.0002.1934] # LIMBU SMALL LETTER NA
+1935 ; [.261C.0020.0002.1935] # LIMBU SMALL LETTER PA
+1936 ; [.261D.0020.0002.1936] # LIMBU SMALL LETTER MA
+1937 ; [.261E.0020.0002.1937] # LIMBU SMALL LETTER RA
+1938 ; [.261F.0020.0002.1938] # LIMBU SMALL LETTER LA
+1700 ; [.2620.0020.0002.1700] # TAGALOG LETTER A
+1701 ; [.2621.0020.0002.1701] # TAGALOG LETTER I
+1702 ; [.2622.0020.0002.1702] # TAGALOG LETTER U
+1703 ; [.2623.0020.0002.1703] # TAGALOG LETTER KA
+1704 ; [.2624.0020.0002.1704] # TAGALOG LETTER GA
+1705 ; [.2625.0020.0002.1705] # TAGALOG LETTER NGA
+1706 ; [.2626.0020.0002.1706] # TAGALOG LETTER TA
+1707 ; [.2627.0020.0002.1707] # TAGALOG LETTER DA
+1708 ; [.2628.0020.0002.1708] # TAGALOG LETTER NA
+1709 ; [.2629.0020.0002.1709] # TAGALOG LETTER PA
+170A ; [.262A.0020.0002.170A] # TAGALOG LETTER BA
+170B ; [.262B.0020.0002.170B] # TAGALOG LETTER MA
+170C ; [.262C.0020.0002.170C] # TAGALOG LETTER YA
+170E ; [.262D.0020.0002.170E] # TAGALOG LETTER LA
+170F ; [.262E.0020.0002.170F] # TAGALOG LETTER WA
+1710 ; [.262F.0020.0002.1710] # TAGALOG LETTER SA
+1711 ; [.2630.0020.0002.1711] # TAGALOG LETTER HA
+1712 ; [.2631.0020.0002.1712] # TAGALOG VOWEL SIGN I
+1713 ; [.2632.0020.0002.1713] # TAGALOG VOWEL SIGN U
+1714 ; [.2633.0020.0002.1714] # TAGALOG SIGN VIRAMA
+1720 ; [.2634.0020.0002.1720] # HANUNOO LETTER A
+1721 ; [.2635.0020.0002.1721] # HANUNOO LETTER I
+1722 ; [.2636.0020.0002.1722] # HANUNOO LETTER U
+1723 ; [.2637.0020.0002.1723] # HANUNOO LETTER KA
+1724 ; [.2638.0020.0002.1724] # HANUNOO LETTER GA
+1725 ; [.2639.0020.0002.1725] # HANUNOO LETTER NGA
+1726 ; [.263A.0020.0002.1726] # HANUNOO LETTER TA
+1727 ; [.263B.0020.0002.1727] # HANUNOO LETTER DA
+1728 ; [.263C.0020.0002.1728] # HANUNOO LETTER NA
+1729 ; [.263D.0020.0002.1729] # HANUNOO LETTER PA
+172A ; [.263E.0020.0002.172A] # HANUNOO LETTER BA
+172B ; [.263F.0020.0002.172B] # HANUNOO LETTER MA
+172C ; [.2640.0020.0002.172C] # HANUNOO LETTER YA
+172D ; [.2641.0020.0002.172D] # HANUNOO LETTER RA
+172E ; [.2642.0020.0002.172E] # HANUNOO LETTER LA
+172F ; [.2643.0020.0002.172F] # HANUNOO LETTER WA
+1730 ; [.2644.0020.0002.1730] # HANUNOO LETTER SA
+1731 ; [.2645.0020.0002.1731] # HANUNOO LETTER HA
+1732 ; [.2646.0020.0002.1732] # HANUNOO VOWEL SIGN I
+1733 ; [.2647.0020.0002.1733] # HANUNOO VOWEL SIGN U
+1734 ; [.2648.0020.0002.1734] # HANUNOO SIGN PAMUDPOD
+1740 ; [.2649.0020.0002.1740] # BUHID LETTER A
+1741 ; [.264A.0020.0002.1741] # BUHID LETTER I
+1742 ; [.264B.0020.0002.1742] # BUHID LETTER U
+1743 ; [.264C.0020.0002.1743] # BUHID LETTER KA
+1744 ; [.264D.0020.0002.1744] # BUHID LETTER GA
+1745 ; [.264E.0020.0002.1745] # BUHID LETTER NGA
+1746 ; [.264F.0020.0002.1746] # BUHID LETTER TA
+1747 ; [.2650.0020.0002.1747] # BUHID LETTER DA
+1748 ; [.2651.0020.0002.1748] # BUHID LETTER NA
+1749 ; [.2652.0020.0002.1749] # BUHID LETTER PA
+174A ; [.2653.0020.0002.174A] # BUHID LETTER BA
+174B ; [.2654.0020.0002.174B] # BUHID LETTER MA
+174C ; [.2655.0020.0002.174C] # BUHID LETTER YA
+174D ; [.2656.0020.0002.174D] # BUHID LETTER RA
+174E ; [.2657.0020.0002.174E] # BUHID LETTER LA
+174F ; [.2658.0020.0002.174F] # BUHID LETTER WA
+1750 ; [.2659.0020.0002.1750] # BUHID LETTER SA
+1751 ; [.265A.0020.0002.1751] # BUHID LETTER HA
+1752 ; [.265B.0020.0002.1752] # BUHID VOWEL SIGN I
+1753 ; [.265C.0020.0002.1753] # BUHID VOWEL SIGN U
+1760 ; [.265D.0020.0002.1760] # TAGBANWA LETTER A
+1761 ; [.265E.0020.0002.1761] # TAGBANWA LETTER I
+1762 ; [.265F.0020.0002.1762] # TAGBANWA LETTER U
+1763 ; [.2660.0020.0002.1763] # TAGBANWA LETTER KA
+1764 ; [.2661.0020.0002.1764] # TAGBANWA LETTER GA
+1765 ; [.2662.0020.0002.1765] # TAGBANWA LETTER NGA
+1766 ; [.2663.0020.0002.1766] # TAGBANWA LETTER TA
+1767 ; [.2664.0020.0002.1767] # TAGBANWA LETTER DA
+1768 ; [.2665.0020.0002.1768] # TAGBANWA LETTER NA
+1769 ; [.2666.0020.0002.1769] # TAGBANWA LETTER PA
+176A ; [.2667.0020.0002.176A] # TAGBANWA LETTER BA
+176B ; [.2668.0020.0002.176B] # TAGBANWA LETTER MA
+176C ; [.2669.0020.0002.176C] # TAGBANWA LETTER YA
+176E ; [.266A.0020.0002.176E] # TAGBANWA LETTER LA
+176F ; [.266B.0020.0002.176F] # TAGBANWA LETTER WA
+1770 ; [.266C.0020.0002.1770] # TAGBANWA LETTER SA
+1772 ; [.266D.0020.0002.1772] # TAGBANWA VOWEL SIGN I
+1773 ; [.266E.0020.0002.1773] # TAGBANWA VOWEL SIGN U
+1A00 ; [.266F.0020.0002.1A00] # BUGINESE LETTER KA
+1A01 ; [.2670.0020.0002.1A01] # BUGINESE LETTER GA
+1A02 ; [.2671.0020.0002.1A02] # BUGINESE LETTER NGA
+1A03 ; [.2672.0020.0002.1A03] # BUGINESE LETTER NGKA
+1A04 ; [.2673.0020.0002.1A04] # BUGINESE LETTER PA
+1A05 ; [.2674.0020.0002.1A05] # BUGINESE LETTER BA
+1A06 ; [.2675.0020.0002.1A06] # BUGINESE LETTER MA
+1A07 ; [.2676.0020.0002.1A07] # BUGINESE LETTER MPA
+1A08 ; [.2677.0020.0002.1A08] # BUGINESE LETTER TA
+1A09 ; [.2678.0020.0002.1A09] # BUGINESE LETTER DA
+1A0A ; [.2679.0020.0002.1A0A] # BUGINESE LETTER NA
+1A0B ; [.267A.0020.0002.1A0B] # BUGINESE LETTER NRA
+1A0C ; [.267B.0020.0002.1A0C] # BUGINESE LETTER CA
+1A0D ; [.267C.0020.0002.1A0D] # BUGINESE LETTER JA
+1A0E ; [.267D.0020.0002.1A0E] # BUGINESE LETTER NYA
+1A0F ; [.267E.0020.0002.1A0F] # BUGINESE LETTER NYCA
+1A10 ; [.267F.0020.0002.1A10] # BUGINESE LETTER YA
+1A11 ; [.2680.0020.0002.1A11] # BUGINESE LETTER RA
+1A12 ; [.2681.0020.0002.1A12] # BUGINESE LETTER LA
+1A13 ; [.2682.0020.0002.1A13] # BUGINESE LETTER VA
+1A14 ; [.2683.0020.0002.1A14] # BUGINESE LETTER SA
+1A15 ; [.2684.0020.0002.1A15] # BUGINESE LETTER A
+1A16 ; [.2685.0020.0002.1A16] # BUGINESE LETTER HA
+1A17 ; [.2686.0020.0002.1A17] # BUGINESE VOWEL SIGN I
+1A18 ; [.2687.0020.0002.1A18] # BUGINESE VOWEL SIGN U
+1A19 ; [.2688.0020.0002.1A19] # BUGINESE VOWEL SIGN E
+1A1A ; [.2689.0020.0002.1A1A] # BUGINESE VOWEL SIGN O
+1A1B ; [.268A.0020.0002.1A1B] # BUGINESE VOWEL SIGN AE
+1BC0 ; [.268B.0020.0002.1BC0] # BATAK LETTER A
+1BC1 ; [.268B.0020.0004.1BC1] # BATAK LETTER SIMALUNGUN A
+1BC2 ; [.268C.0020.0002.1BC2] # BATAK LETTER HA
+1BC3 ; [.268C.0020.0004.1BC3] # BATAK LETTER SIMALUNGUN HA
+1BC4 ; [.268C.0020.0004.1BC4] # BATAK LETTER MANDAILING HA
+1BC5 ; [.268D.0020.0002.1BC5] # BATAK LETTER BA
+1BC6 ; [.268D.0020.0004.1BC6] # BATAK LETTER KARO BA
+1BC7 ; [.268E.0020.0002.1BC7] # BATAK LETTER PA
+1BC8 ; [.268E.0020.0004.1BC8] # BATAK LETTER SIMALUNGUN PA
+1BC9 ; [.268F.0020.0002.1BC9] # BATAK LETTER NA
+1BCA ; [.268F.0020.0004.1BCA] # BATAK LETTER MANDAILING NA
+1BCB ; [.2690.0020.0002.1BCB] # BATAK LETTER WA
+1BCC ; [.2690.0020.0004.1BCC] # BATAK LETTER SIMALUNGUN WA
+1BCD ; [.2690.0020.0004.1BCD] # BATAK LETTER PAKPAK WA
+1BCE ; [.2691.0020.0002.1BCE] # BATAK LETTER GA
+1BCF ; [.2691.0020.0004.1BCF] # BATAK LETTER SIMALUNGUN GA
+1BD0 ; [.2692.0020.0002.1BD0] # BATAK LETTER JA
+1BD1 ; [.2693.0020.0002.1BD1] # BATAK LETTER DA
+1BD2 ; [.2694.0020.0002.1BD2] # BATAK LETTER RA
+1BD3 ; [.2694.0020.0004.1BD3] # BATAK LETTER SIMALUNGUN RA
+1BD4 ; [.2695.0020.0002.1BD4] # BATAK LETTER MA
+1BD5 ; [.2695.0020.0004.1BD5] # BATAK LETTER SIMALUNGUN MA
+1BD6 ; [.2696.0020.0002.1BD6] # BATAK LETTER SOUTHERN TA
+1BD7 ; [.2696.0020.0004.1BD7] # BATAK LETTER NORTHERN TA
+1BD8 ; [.2697.0020.0002.1BD8] # BATAK LETTER SA
+1BD9 ; [.2697.0020.0004.1BD9] # BATAK LETTER SIMALUNGUN SA
+1BDA ; [.2697.0020.0004.1BDA] # BATAK LETTER MANDAILING SA
+1BDB ; [.2698.0020.0002.1BDB] # BATAK LETTER YA
+1BDC ; [.2698.0020.0004.1BDC] # BATAK LETTER SIMALUNGUN YA
+1BDD ; [.2699.0020.0002.1BDD] # BATAK LETTER NGA
+1BDE ; [.269A.0020.0002.1BDE] # BATAK LETTER LA
+1BDF ; [.269A.0020.0004.1BDF] # BATAK LETTER SIMALUNGUN LA
+1BE0 ; [.269B.0020.0002.1BE0] # BATAK LETTER NYA
+1BE1 ; [.269C.0020.0002.1BE1] # BATAK LETTER CA
+1BE2 ; [.269D.0020.0002.1BE2] # BATAK LETTER NDA
+1BE3 ; [.269E.0020.0002.1BE3] # BATAK LETTER MBA
+1BE4 ; [.269F.0020.0002.1BE4] # BATAK LETTER I
+1BE5 ; [.26A0.0020.0002.1BE5] # BATAK LETTER U
+1BE7 ; [.26A1.0020.0002.1BE7] # BATAK VOWEL SIGN E
+1BE8 ; [.26A1.0020.0004.1BE8] # BATAK VOWEL SIGN PAKPAK E
+1BE9 ; [.26A2.0020.0002.1BE9] # BATAK VOWEL SIGN EE
+1BEA ; [.26A3.0020.0002.1BEA] # BATAK VOWEL SIGN I
+1BEB ; [.26A3.0020.0004.1BEB] # BATAK VOWEL SIGN KARO I
+1BEC ; [.26A4.0020.0002.1BEC] # BATAK VOWEL SIGN O
+1BED ; [.26A4.0020.0004.1BED] # BATAK VOWEL SIGN KARO O
+1BEE ; [.26A5.0020.0002.1BEE] # BATAK VOWEL SIGN U
+1BEF ; [.26A5.0020.0004.1BEF] # BATAK VOWEL SIGN U FOR SIMALUNGUN SA
+1BF0 ; [.26A6.0020.0002.1BF0] # BATAK CONSONANT SIGN NG
+1BF1 ; [.26A7.0020.0002.1BF1] # BATAK CONSONANT SIGN H
+1BF2 ; [.26A8.0020.0002.1BF2] # BATAK PANGOLAT
+1BF3 ; [.26A9.0020.0002.1BF3] # BATAK PANONGONAN
+A930 ; [.26AA.0020.0002.A930] # REJANG LETTER KA
+A931 ; [.26AB.0020.0002.A931] # REJANG LETTER GA
+A932 ; [.26AC.0020.0002.A932] # REJANG LETTER NGA
+A933 ; [.26AD.0020.0002.A933] # REJANG LETTER TA
+A934 ; [.26AE.0020.0002.A934] # REJANG LETTER DA
+A935 ; [.26AF.0020.0002.A935] # REJANG LETTER NA
+A936 ; [.26B0.0020.0002.A936] # REJANG LETTER PA
+A937 ; [.26B1.0020.0002.A937] # REJANG LETTER BA
+A938 ; [.26B2.0020.0002.A938] # REJANG LETTER MA
+A939 ; [.26B3.0020.0002.A939] # REJANG LETTER CA
+A93A ; [.26B4.0020.0002.A93A] # REJANG LETTER JA
+A93B ; [.26B5.0020.0002.A93B] # REJANG LETTER NYA
+A93C ; [.26B6.0020.0002.A93C] # REJANG LETTER SA
+A93D ; [.26B7.0020.0002.A93D] # REJANG LETTER RA
+A93E ; [.26B8.0020.0002.A93E] # REJANG LETTER LA
+A93F ; [.26B9.0020.0002.A93F] # REJANG LETTER YA
+A940 ; [.26BA.0020.0002.A940] # REJANG LETTER WA
+A941 ; [.26BB.0020.0002.A941] # REJANG LETTER HA
+A942 ; [.26BC.0020.0002.A942] # REJANG LETTER MBA
+A943 ; [.26BD.0020.0002.A943] # REJANG LETTER NGGA
+A944 ; [.26BE.0020.0002.A944] # REJANG LETTER NDA
+A945 ; [.26BF.0020.0002.A945] # REJANG LETTER NYJA
+A946 ; [.26C0.0020.0002.A946] # REJANG LETTER A
+A947 ; [.26C1.0020.0002.A947] # REJANG VOWEL SIGN I
+A948 ; [.26C2.0020.0002.A948] # REJANG VOWEL SIGN U
+A949 ; [.26C3.0020.0002.A949] # REJANG VOWEL SIGN E
+A94A ; [.26C4.0020.0002.A94A] # REJANG VOWEL SIGN AI
+A94B ; [.26C5.0020.0002.A94B] # REJANG VOWEL SIGN O
+A94C ; [.26C6.0020.0002.A94C] # REJANG VOWEL SIGN AU
+A94D ; [.26C7.0020.0002.A94D] # REJANG VOWEL SIGN EU
+A94E ; [.26C8.0020.0002.A94E] # REJANG VOWEL SIGN EA
+A94F ; [.26C9.0020.0002.A94F] # REJANG CONSONANT SIGN NG
+A950 ; [.26CA.0020.0002.A950] # REJANG CONSONANT SIGN N
+A951 ; [.26CB.0020.0002.A951] # REJANG CONSONANT SIGN R
+A952 ; [.26CC.0020.0002.A952] # REJANG CONSONANT SIGN H
+A953 ; [.26CD.0020.0002.A953] # REJANG VIRAMA
+A90A ; [.26CE.0020.0002.A90A] # KAYAH LI LETTER KA
+A90B ; [.26CF.0020.0002.A90B] # KAYAH LI LETTER KHA
+A90C ; [.26D0.0020.0002.A90C] # KAYAH LI LETTER GA
+A90D ; [.26D1.0020.0002.A90D] # KAYAH LI LETTER NGA
+A90E ; [.26D2.0020.0002.A90E] # KAYAH LI LETTER SA
+A90F ; [.26D3.0020.0002.A90F] # KAYAH LI LETTER SHA
+A910 ; [.26D4.0020.0002.A910] # KAYAH LI LETTER ZA
+A911 ; [.26D5.0020.0002.A911] # KAYAH LI LETTER NYA
+A912 ; [.26D6.0020.0002.A912] # KAYAH LI LETTER TA
+A913 ; [.26D7.0020.0002.A913] # KAYAH LI LETTER HTA
+A914 ; [.26D8.0020.0002.A914] # KAYAH LI LETTER NA
+A915 ; [.26D9.0020.0002.A915] # KAYAH LI LETTER PA
+A916 ; [.26DA.0020.0002.A916] # KAYAH LI LETTER PHA
+A917 ; [.26DB.0020.0002.A917] # KAYAH LI LETTER MA
+A918 ; [.26DC.0020.0002.A918] # KAYAH LI LETTER DA
+A919 ; [.26DD.0020.0002.A919] # KAYAH LI LETTER BA
+A91A ; [.26DE.0020.0002.A91A] # KAYAH LI LETTER RA
+A91B ; [.26DF.0020.0002.A91B] # KAYAH LI LETTER YA
+A91C ; [.26E0.0020.0002.A91C] # KAYAH LI LETTER LA
+A91D ; [.26E1.0020.0002.A91D] # KAYAH LI LETTER WA
+A91E ; [.26E2.0020.0002.A91E] # KAYAH LI LETTER THA
+A91F ; [.26E3.0020.0002.A91F] # KAYAH LI LETTER HA
+A920 ; [.26E4.0020.0002.A920] # KAYAH LI LETTER VA
+A921 ; [.26E5.0020.0002.A921] # KAYAH LI LETTER CA
+A922 ; [.26E6.0020.0002.A922] # KAYAH LI LETTER A
+A923 ; [.26E7.0020.0002.A923] # KAYAH LI LETTER OE
+A924 ; [.26E8.0020.0002.A924] # KAYAH LI LETTER I
+A925 ; [.26E9.0020.0002.A925] # KAYAH LI LETTER OO
+A926 ; [.26EA.0020.0002.A926] # KAYAH LI VOWEL UE
+A927 ; [.26EB.0020.0002.A927] # KAYAH LI VOWEL E
+A928 ; [.26EC.0020.0002.A928] # KAYAH LI VOWEL U
+A929 ; [.26ED.0020.0002.A929] # KAYAH LI VOWEL EE
+A92A ; [.26EE.0020.0002.A92A] # KAYAH LI VOWEL O
+1000 ; [.26EF.0020.0002.1000] # MYANMAR LETTER KA
+1075 ; [.26F0.0020.0002.1075] # MYANMAR LETTER SHAN KA
+1001 ; [.26F1.0020.0002.1001] # MYANMAR LETTER KHA
+1076 ; [.26F2.0020.0002.1076] # MYANMAR LETTER SHAN KHA
+1002 ; [.26F3.0020.0002.1002] # MYANMAR LETTER GA
+1077 ; [.26F4.0020.0002.1077] # MYANMAR LETTER SHAN GA
+AA60 ; [.26F5.0020.0002.AA60] # MYANMAR LETTER KHAMTI GA
+1003 ; [.26F6.0020.0002.1003] # MYANMAR LETTER GHA
+1004 ; [.26F7.0020.0002.1004] # MYANMAR LETTER NGA
+105A ; [.26F8.0020.0002.105A] # MYANMAR LETTER MON NGA
+1005 ; [.26F9.0020.0002.1005] # MYANMAR LETTER CA
+1078 ; [.26FA.0020.0002.1078] # MYANMAR LETTER SHAN CA
+AA61 ; [.26FB.0020.0002.AA61] # MYANMAR LETTER KHAMTI CA
+1006 ; [.26FC.0020.0002.1006] # MYANMAR LETTER CHA
+AA62 ; [.26FD.0020.0002.AA62] # MYANMAR LETTER KHAMTI CHA
+1007 ; [.26FE.0020.0002.1007] # MYANMAR LETTER JA
+AA63 ; [.26FF.0020.0002.AA63] # MYANMAR LETTER KHAMTI JA
+1079 ; [.2700.0020.0002.1079] # MYANMAR LETTER SHAN ZA
+AA72 ; [.2701.0020.0002.AA72] # MYANMAR LETTER KHAMTI ZA
+1008 ; [.2702.0020.0002.1008] # MYANMAR LETTER JHA
+105B ; [.2703.0020.0002.105B] # MYANMAR LETTER MON JHA
+AA64 ; [.2704.0020.0002.AA64] # MYANMAR LETTER KHAMTI JHA
+1061 ; [.2705.0020.0002.1061] # MYANMAR LETTER SGAW KAREN SHA
+1009 ; [.2706.0020.0002.1009] # MYANMAR LETTER NYA
+107A ; [.2707.0020.0002.107A] # MYANMAR LETTER SHAN NYA
+AA65 ; [.2708.0020.0002.AA65] # MYANMAR LETTER KHAMTI NYA
+100A ; [.2709.0020.0002.100A] # MYANMAR LETTER NNYA
+100B ; [.270A.0020.0002.100B] # MYANMAR LETTER TTA
+AA66 ; [.270B.0020.0002.AA66] # MYANMAR LETTER KHAMTI TTA
+100C ; [.270C.0020.0002.100C] # MYANMAR LETTER TTHA
+AA67 ; [.270D.0020.0002.AA67] # MYANMAR LETTER KHAMTI TTHA
+100D ; [.270E.0020.0002.100D] # MYANMAR LETTER DDA
+AA68 ; [.270F.0020.0002.AA68] # MYANMAR LETTER KHAMTI DDA
+100E ; [.2710.0020.0002.100E] # MYANMAR LETTER DDHA
+AA69 ; [.2711.0020.0002.AA69] # MYANMAR LETTER KHAMTI DDHA
+100F ; [.2712.0020.0002.100F] # MYANMAR LETTER NNA
+106E ; [.2713.0020.0002.106E] # MYANMAR LETTER EASTERN PWO KAREN NNA
+1010 ; [.2714.0020.0002.1010] # MYANMAR LETTER TA
+1011 ; [.2715.0020.0002.1011] # MYANMAR LETTER THA
+1012 ; [.2716.0020.0002.1012] # MYANMAR LETTER DA
+107B ; [.2717.0020.0002.107B] # MYANMAR LETTER SHAN DA
+1013 ; [.2718.0020.0002.1013] # MYANMAR LETTER DHA
+AA6A ; [.2719.0020.0002.AA6A] # MYANMAR LETTER KHAMTI DHA
+1014 ; [.271A.0020.0002.1014] # MYANMAR LETTER NA
+107C ; [.271B.0020.0002.107C] # MYANMAR LETTER SHAN NA
+AA6B ; [.271C.0020.0002.AA6B] # MYANMAR LETTER KHAMTI NA
+105E ; [.271D.0020.0002.105E] # MYANMAR CONSONANT SIGN MON MEDIAL NA
+1015 ; [.271E.0020.0002.1015] # MYANMAR LETTER PA
+1016 ; [.271F.0020.0002.1016] # MYANMAR LETTER PHA
+107D ; [.2720.0020.0002.107D] # MYANMAR LETTER SHAN PHA
+107E ; [.2721.0020.0002.107E] # MYANMAR LETTER SHAN FA
+AA6F ; [.2722.0020.0002.AA6F] # MYANMAR LETTER KHAMTI FA
+108E ; [.2723.0020.0002.108E] # MYANMAR LETTER RUMAI PALAUNG FA
+1017 ; [.2724.0020.0002.1017] # MYANMAR LETTER BA
+107F ; [.2725.0020.0002.107F] # MYANMAR LETTER SHAN BA
+1018 ; [.2726.0020.0002.1018] # MYANMAR LETTER BHA
+1019 ; [.2727.0020.0002.1019] # MYANMAR LETTER MA
+105F ; [.2728.0020.0002.105F] # MYANMAR CONSONANT SIGN MON MEDIAL MA
+101A ; [.2729.0020.0002.101A] # MYANMAR LETTER YA
+103B ; [.272A.0020.0002.103B] # MYANMAR CONSONANT SIGN MEDIAL YA
+101B ; [.272B.0020.0002.101B] # MYANMAR LETTER RA
+AA73 ; [.272C.0020.0002.AA73] # MYANMAR LETTER KHAMTI RA
+AA7A ; [.272D.0020.0002.AA7A] # MYANMAR LETTER AITON RA
+103C ; [.272E.0020.0002.103C] # MYANMAR CONSONANT SIGN MEDIAL RA
+101C ; [.272F.0020.0002.101C] # MYANMAR LETTER LA
+1060 ; [.2730.0020.0002.1060] # MYANMAR CONSONANT SIGN MON MEDIAL LA
+101D ; [.2731.0020.0002.101D] # MYANMAR LETTER WA
+103D ; [.2732.0020.0002.103D] # MYANMAR CONSONANT SIGN MEDIAL WA
+1082 ; [.2733.0020.0002.1082] # MYANMAR CONSONANT SIGN SHAN MEDIAL WA
+1080 ; [.2734.0020.0002.1080] # MYANMAR LETTER SHAN THA
+1050 ; [.2735.0020.0002.1050] # MYANMAR LETTER SHA
+1051 ; [.2736.0020.0002.1051] # MYANMAR LETTER SSA
+1065 ; [.2737.0020.0002.1065] # MYANMAR LETTER WESTERN PWO KAREN THA
+101E ; [.2738.0020.0002.101E] # MYANMAR LETTER SA
+103F ; [.2738.0020.0004.103F][.276F.0020.0004.103F][.2738.0020.001F.103F] # MYANMAR LETTER GREAT SA
+AA6C ; [.2739.0020.0002.AA6C] # MYANMAR LETTER KHAMTI SA
+101F ; [.273A.0020.0002.101F] # MYANMAR LETTER HA
+1081 ; [.273B.0020.0002.1081] # MYANMAR LETTER SHAN HA
+AA6D ; [.273C.0020.0002.AA6D] # MYANMAR LETTER KHAMTI HA
+103E ; [.273D.0020.0002.103E] # MYANMAR CONSONANT SIGN MEDIAL HA
+AA6E ; [.273E.0020.0002.AA6E] # MYANMAR LETTER KHAMTI HHA
+AA71 ; [.273F.0020.0002.AA71] # MYANMAR LETTER KHAMTI XA
+1020 ; [.2740.0020.0002.1020] # MYANMAR LETTER LLA
+105C ; [.2741.0020.0002.105C] # MYANMAR LETTER MON BBA
+105D ; [.2742.0020.0002.105D] # MYANMAR LETTER MON BBE
+106F ; [.2743.0020.0002.106F] # MYANMAR LETTER EASTERN PWO KAREN YWA
+1070 ; [.2744.0020.0002.1070] # MYANMAR LETTER EASTERN PWO KAREN GHWA
+1066 ; [.2745.0020.0002.1066] # MYANMAR LETTER WESTERN PWO KAREN PWA
+1021 ; [.2746.0020.0002.1021] # MYANMAR LETTER A
+1022 ; [.2747.0020.0002.1022] # MYANMAR LETTER SHAN A
+1023 ; [.2748.0020.0002.1023] # MYANMAR LETTER I
+1024 ; [.2749.0020.0002.1024] # MYANMAR LETTER II
+1025 ; [.274A.0020.0002.1025] # MYANMAR LETTER U
+1026 ; [.274B.0020.0002.1026] # MYANMAR LETTER UU
+1025 102E ; [.274B.0020.0002.1026] # MYANMAR LETTER UU
+1052 ; [.274C.0020.0002.1052] # MYANMAR LETTER VOCALIC R
+1053 ; [.274D.0020.0002.1053] # MYANMAR LETTER VOCALIC RR
+1054 ; [.274E.0020.0002.1054] # MYANMAR LETTER VOCALIC L
+1055 ; [.274F.0020.0002.1055] # MYANMAR LETTER VOCALIC LL
+1027 ; [.2750.0020.0002.1027] # MYANMAR LETTER E
+1028 ; [.2751.0020.0002.1028] # MYANMAR LETTER MON E
+1029 ; [.2752.0020.0002.1029] # MYANMAR LETTER O
+102A ; [.2753.0020.0002.102A] # MYANMAR LETTER AU
+102C ; [.2754.0020.0002.102C] # MYANMAR VOWEL SIGN AA
+102B ; [.2754.0020.0004.102B] # MYANMAR VOWEL SIGN TALL AA
+1083 ; [.2755.0020.0002.1083] # MYANMAR VOWEL SIGN SHAN AA
+1072 ; [.2756.0020.0002.1072] # MYANMAR VOWEL SIGN KAYAH OE
+109C ; [.2757.0020.0002.109C] # MYANMAR VOWEL SIGN AITON A
+102D ; [.2758.0020.0002.102D] # MYANMAR VOWEL SIGN I
+1071 ; [.2759.0020.0002.1071] # MYANMAR VOWEL SIGN GEBA KAREN I
+102E ; [.275A.0020.0002.102E] # MYANMAR VOWEL SIGN II
+1033 ; [.275B.0020.0002.1033] # MYANMAR VOWEL SIGN MON II
+102F ; [.275C.0020.0002.102F] # MYANMAR VOWEL SIGN U
+1073 ; [.275D.0020.0002.1073] # MYANMAR VOWEL SIGN KAYAH U
+1074 ; [.275E.0020.0002.1074] # MYANMAR VOWEL SIGN KAYAH EE
+1030 ; [.275F.0020.0002.1030] # MYANMAR VOWEL SIGN UU
+1056 ; [.2760.0020.0002.1056] # MYANMAR VOWEL SIGN VOCALIC R
+1057 ; [.2761.0020.0002.1057] # MYANMAR VOWEL SIGN VOCALIC RR
+1058 ; [.2762.0020.0002.1058] # MYANMAR VOWEL SIGN VOCALIC L
+1059 ; [.2763.0020.0002.1059] # MYANMAR VOWEL SIGN VOCALIC LL
+1031 ; [.2764.0020.0002.1031] # MYANMAR VOWEL SIGN E
+1084 ; [.2765.0020.0002.1084] # MYANMAR VOWEL SIGN SHAN E
+1035 ; [.2766.0020.0002.1035] # MYANMAR VOWEL SIGN E ABOVE
+1085 ; [.2767.0020.0002.1085] # MYANMAR VOWEL SIGN SHAN E ABOVE
+1032 ; [.2768.0020.0002.1032] # MYANMAR VOWEL SIGN AI
+109D ; [.2769.0020.0002.109D] # MYANMAR VOWEL SIGN AITON AI
+1034 ; [.276A.0020.0002.1034] # MYANMAR VOWEL SIGN MON O
+1062 ; [.276B.0020.0002.1062] # MYANMAR VOWEL SIGN SGAW KAREN EU
+1067 ; [.276C.0020.0002.1067] # MYANMAR VOWEL SIGN WESTERN PWO KAREN EU
+1068 ; [.276D.0020.0002.1068] # MYANMAR VOWEL SIGN WESTERN PWO KAREN UE
+1086 ; [.276E.0020.0002.1086] # MYANMAR VOWEL SIGN SHAN FINAL Y
+1039 ; [.276F.0020.0002.1039] # MYANMAR SIGN VIRAMA
+103A ; [.2770.0020.0002.103A] # MYANMAR SIGN ASAT
+1063 ; [.2771.0020.0002.1063] # MYANMAR TONE MARK SGAW KAREN HATHI
+1064 ; [.2772.0020.0002.1064] # MYANMAR TONE MARK SGAW KAREN KE PHO
+1069 ; [.2773.0020.0002.1069] # MYANMAR SIGN WESTERN PWO KAREN TONE-1
+106A ; [.2774.0020.0002.106A] # MYANMAR SIGN WESTERN PWO KAREN TONE-2
+106B ; [.2775.0020.0002.106B] # MYANMAR SIGN WESTERN PWO KAREN TONE-3
+106C ; [.2776.0020.0002.106C] # MYANMAR SIGN WESTERN PWO KAREN TONE-4
+106D ; [.2777.0020.0002.106D] # MYANMAR SIGN WESTERN PWO KAREN TONE-5
+1087 ; [.2778.0020.0002.1087] # MYANMAR SIGN SHAN TONE-2
+108B ; [.2779.0020.0002.108B] # MYANMAR SIGN SHAN COUNCIL TONE-2
+1088 ; [.277A.0020.0002.1088] # MYANMAR SIGN SHAN TONE-3
+108C ; [.277B.0020.0002.108C] # MYANMAR SIGN SHAN COUNCIL TONE-3
+1089 ; [.277C.0020.0002.1089] # MYANMAR SIGN SHAN TONE-5
+108A ; [.277D.0020.0002.108A] # MYANMAR SIGN SHAN TONE-6
+108F ; [.277E.0020.0002.108F] # MYANMAR SIGN RUMAI PALAUNG TONE-5
+109A ; [.277F.0020.0002.109A] # MYANMAR SIGN KHAMTI TONE-1
+109B ; [.2780.0020.0002.109B] # MYANMAR SIGN KHAMTI TONE-3
+AA7B ; [.2781.0020.0002.AA7B] # MYANMAR SIGN PAO KAREN TONE
+AA74 ; [.2782.0020.0002.AA74] # MYANMAR LOGOGRAM KHAMTI OAY
+AA75 ; [.2783.0020.0002.AA75] # MYANMAR LOGOGRAM KHAMTI QN
+AA76 ; [.2784.0020.0002.AA76] # MYANMAR LOGOGRAM KHAMTI HM
+11103 ; [.2785.0020.0002.11103] # CHAKMA LETTER AA
+11104 ; [.2786.0020.0002.11104] # CHAKMA LETTER I
+11105 ; [.2787.0020.0002.11105] # CHAKMA LETTER U
+11106 ; [.2788.0020.0002.11106] # CHAKMA LETTER E
+11107 ; [.2789.0020.0002.11107] # CHAKMA LETTER KAA
+11108 ; [.278A.0020.0002.11108] # CHAKMA LETTER KHAA
+11109 ; [.278B.0020.0002.11109] # CHAKMA LETTER GAA
+1110A ; [.278C.0020.0002.1110A] # CHAKMA LETTER GHAA
+1110B ; [.278D.0020.0002.1110B] # CHAKMA LETTER NGAA
+1110C ; [.278E.0020.0002.1110C] # CHAKMA LETTER CAA
+1110D ; [.278F.0020.0002.1110D] # CHAKMA LETTER CHAA
+1110E ; [.2790.0020.0002.1110E] # CHAKMA LETTER JAA
+1110F ; [.2791.0020.0002.1110F] # CHAKMA LETTER JHAA
+11110 ; [.2792.0020.0002.11110] # CHAKMA LETTER NYAA
+11111 ; [.2793.0020.0002.11111] # CHAKMA LETTER TTAA
+11112 ; [.2794.0020.0002.11112] # CHAKMA LETTER TTHAA
+11113 ; [.2795.0020.0002.11113] # CHAKMA LETTER DDAA
+11114 ; [.2796.0020.0002.11114] # CHAKMA LETTER DDHAA
+11115 ; [.2797.0020.0002.11115] # CHAKMA LETTER NNAA
+11116 ; [.2798.0020.0002.11116] # CHAKMA LETTER TAA
+11117 ; [.2799.0020.0002.11117] # CHAKMA LETTER THAA
+11118 ; [.279A.0020.0002.11118] # CHAKMA LETTER DAA
+11119 ; [.279B.0020.0002.11119] # CHAKMA LETTER DHAA
+1111A ; [.279C.0020.0002.1111A] # CHAKMA LETTER NAA
+1111B ; [.279D.0020.0002.1111B] # CHAKMA LETTER PAA
+1111C ; [.279E.0020.0002.1111C] # CHAKMA LETTER PHAA
+1111D ; [.279F.0020.0002.1111D] # CHAKMA LETTER BAA
+1111E ; [.27A0.0020.0002.1111E] # CHAKMA LETTER BHAA
+1111F ; [.27A1.0020.0002.1111F] # CHAKMA LETTER MAA
+11120 ; [.27A2.0020.0002.11120] # CHAKMA LETTER YYAA
+11121 ; [.27A3.0020.0002.11121] # CHAKMA LETTER YAA
+11122 ; [.27A4.0020.0002.11122] # CHAKMA LETTER RAA
+11123 ; [.27A5.0020.0002.11123] # CHAKMA LETTER LAA
+11124 ; [.27A6.0020.0002.11124] # CHAKMA LETTER WAA
+11125 ; [.27A7.0020.0002.11125] # CHAKMA LETTER SAA
+11126 ; [.27A8.0020.0002.11126] # CHAKMA LETTER HAA
+11127 ; [.27A9.0020.0002.11127] # CHAKMA VOWEL SIGN A
+11128 ; [.27AA.0020.0002.11128] # CHAKMA VOWEL SIGN I
+11129 ; [.27AB.0020.0002.11129] # CHAKMA VOWEL SIGN II
+1112A ; [.27AC.0020.0002.1112A] # CHAKMA VOWEL SIGN U
+1112B ; [.27AD.0020.0002.1112B] # CHAKMA VOWEL SIGN UU
+1112C ; [.27AE.0020.0002.1112C] # CHAKMA VOWEL SIGN E
+1112D ; [.27AF.0020.0002.1112D] # CHAKMA VOWEL SIGN AI
+1112E ; [.27B0.0020.0002.1112E] # CHAKMA VOWEL SIGN O
+11131 11127 ; [.27B0.0020.0002.1112E] # CHAKMA VOWEL SIGN O
+1112F ; [.27B1.0020.0002.1112F] # CHAKMA VOWEL SIGN AU
+11132 11127 ; [.27B1.0020.0002.1112F] # CHAKMA VOWEL SIGN AU
+11130 ; [.27B2.0020.0002.11130] # CHAKMA VOWEL SIGN OI
+11131 ; [.27B3.0020.0002.11131] # CHAKMA O MARK
+11132 ; [.27B4.0020.0002.11132] # CHAKMA AU MARK
+11133 ; [.27B5.0020.0002.11133] # CHAKMA VIRAMA
+11134 ; [.27B6.0020.0002.11134] # CHAKMA MAAYYAA
+1780 ; [.27B7.0020.0002.1780] # KHMER LETTER KA
+1781 ; [.27B8.0020.0002.1781] # KHMER LETTER KHA
+1782 ; [.27B9.0020.0002.1782] # KHMER LETTER KO
+1783 ; [.27BA.0020.0002.1783] # KHMER LETTER KHO
+1784 ; [.27BB.0020.0002.1784] # KHMER LETTER NGO
+1785 ; [.27BC.0020.0002.1785] # KHMER LETTER CA
+1786 ; [.27BD.0020.0002.1786] # KHMER LETTER CHA
+1787 ; [.27BE.0020.0002.1787] # KHMER LETTER CO
+1788 ; [.27BF.0020.0002.1788] # KHMER LETTER CHO
+1789 ; [.27C0.0020.0002.1789] # KHMER LETTER NYO
+178A ; [.27C1.0020.0002.178A] # KHMER LETTER DA
+178B ; [.27C2.0020.0002.178B] # KHMER LETTER TTHA
+178C ; [.27C3.0020.0002.178C] # KHMER LETTER DO
+178D ; [.27C4.0020.0002.178D] # KHMER LETTER TTHO
+178E ; [.27C5.0020.0002.178E] # KHMER LETTER NNO
+178F ; [.27C6.0020.0002.178F] # KHMER LETTER TA
+1790 ; [.27C7.0020.0002.1790] # KHMER LETTER THA
+1791 ; [.27C8.0020.0002.1791] # KHMER LETTER TO
+1792 ; [.27C9.0020.0002.1792] # KHMER LETTER THO
+1793 ; [.27CA.0020.0002.1793] # KHMER LETTER NO
+1794 ; [.27CB.0020.0002.1794] # KHMER LETTER BA
+1795 ; [.27CC.0020.0002.1795] # KHMER LETTER PHA
+1796 ; [.27CD.0020.0002.1796] # KHMER LETTER PO
+1797 ; [.27CE.0020.0002.1797] # KHMER LETTER PHO
+1798 ; [.27CF.0020.0002.1798] # KHMER LETTER MO
+1799 ; [.27D0.0020.0002.1799] # KHMER LETTER YO
+179A ; [.27D1.0020.0002.179A] # KHMER LETTER RO
+179B ; [.27D2.0020.0002.179B] # KHMER LETTER LO
+179C ; [.27D3.0020.0002.179C] # KHMER LETTER VO
+179D ; [.27D4.0020.0002.179D] # KHMER LETTER SHA
+179E ; [.27D5.0020.0002.179E] # KHMER LETTER SSO
+179F ; [.27D6.0020.0002.179F] # KHMER LETTER SA
+17A0 ; [.27D7.0020.0002.17A0] # KHMER LETTER HA
+17A1 ; [.27D8.0020.0002.17A1] # KHMER LETTER LA
+17A2 ; [.27D9.0020.0002.17A2] # KHMER LETTER QA
+17DC ; [.27DA.0020.0002.17DC] # KHMER SIGN AVAKRAHASANYA
+17A3 ; [.27DB.0020.0002.17A3] # KHMER INDEPENDENT VOWEL QAQ
+17A4 ; [.27DC.0020.0002.17A4] # KHMER INDEPENDENT VOWEL QAA
+17A5 ; [.27DD.0020.0002.17A5] # KHMER INDEPENDENT VOWEL QI
+17A6 ; [.27DE.0020.0002.17A6] # KHMER INDEPENDENT VOWEL QII
+17A7 ; [.27DF.0020.0002.17A7] # KHMER INDEPENDENT VOWEL QU
+17A8 ; [.27E0.0020.0002.17A8] # KHMER INDEPENDENT VOWEL QUK
+17A9 ; [.27E1.0020.0002.17A9] # KHMER INDEPENDENT VOWEL QUU
+17AA ; [.27E2.0020.0002.17AA] # KHMER INDEPENDENT VOWEL QUUV
+17AB ; [.27E3.0020.0002.17AB] # KHMER INDEPENDENT VOWEL RY
+17AC ; [.27E4.0020.0002.17AC] # KHMER INDEPENDENT VOWEL RYY
+17AD ; [.27E5.0020.0002.17AD] # KHMER INDEPENDENT VOWEL LY
+17AE ; [.27E6.0020.0002.17AE] # KHMER INDEPENDENT VOWEL LYY
+17AF ; [.27E7.0020.0002.17AF] # KHMER INDEPENDENT VOWEL QE
+17B0 ; [.27E8.0020.0002.17B0] # KHMER INDEPENDENT VOWEL QAI
+17B1 ; [.27E9.0020.0002.17B1] # KHMER INDEPENDENT VOWEL QOO TYPE ONE
+17B2 ; [.27EA.0020.0002.17B2] # KHMER INDEPENDENT VOWEL QOO TYPE TWO
+17B3 ; [.27EB.0020.0002.17B3] # KHMER INDEPENDENT VOWEL QAU
+17B6 ; [.27EC.0020.0002.17B6] # KHMER VOWEL SIGN AA
+17B7 ; [.27ED.0020.0002.17B7] # KHMER VOWEL SIGN I
+17B8 ; [.27EE.0020.0002.17B8] # KHMER VOWEL SIGN II
+17B9 ; [.27EF.0020.0002.17B9] # KHMER VOWEL SIGN Y
+17BA ; [.27F0.0020.0002.17BA] # KHMER VOWEL SIGN YY
+17BB ; [.27F1.0020.0002.17BB] # KHMER VOWEL SIGN U
+17BC ; [.27F2.0020.0002.17BC] # KHMER VOWEL SIGN UU
+17BD ; [.27F3.0020.0002.17BD] # KHMER VOWEL SIGN UA
+17BE ; [.27F4.0020.0002.17BE] # KHMER VOWEL SIGN OE
+17BF ; [.27F5.0020.0002.17BF] # KHMER VOWEL SIGN YA
+17C0 ; [.27F6.0020.0002.17C0] # KHMER VOWEL SIGN IE
+17C1 ; [.27F7.0020.0002.17C1] # KHMER VOWEL SIGN E
+17C2 ; [.27F8.0020.0002.17C2] # KHMER VOWEL SIGN AE
+17C3 ; [.27F9.0020.0002.17C3] # KHMER VOWEL SIGN AI
+17C4 ; [.27FA.0020.0002.17C4] # KHMER VOWEL SIGN OO
+17C5 ; [.27FB.0020.0002.17C5] # KHMER VOWEL SIGN AU
+17D2 ; [.27FC.0020.0002.17D2] # KHMER SIGN COENG
+1950 ; [.27FD.0020.0002.1950] # TAI LE LETTER KA
+1951 ; [.27FE.0020.0002.1951] # TAI LE LETTER XA
+1952 ; [.27FF.0020.0002.1952] # TAI LE LETTER NGA
+1953 ; [.2800.0020.0002.1953] # TAI LE LETTER TSA
+1954 ; [.2801.0020.0002.1954] # TAI LE LETTER SA
+1955 ; [.2802.0020.0002.1955] # TAI LE LETTER YA
+1956 ; [.2803.0020.0002.1956] # TAI LE LETTER TA
+1957 ; [.2804.0020.0002.1957] # TAI LE LETTER THA
+1958 ; [.2805.0020.0002.1958] # TAI LE LETTER LA
+1959 ; [.2806.0020.0002.1959] # TAI LE LETTER PA
+195A ; [.2807.0020.0002.195A] # TAI LE LETTER PHA
+195B ; [.2808.0020.0002.195B] # TAI LE LETTER MA
+195C ; [.2809.0020.0002.195C] # TAI LE LETTER FA
+195D ; [.280A.0020.0002.195D] # TAI LE LETTER VA
+195E ; [.280B.0020.0002.195E] # TAI LE LETTER HA
+195F ; [.280C.0020.0002.195F] # TAI LE LETTER QA
+1960 ; [.280D.0020.0002.1960] # TAI LE LETTER KHA
+1961 ; [.280E.0020.0002.1961] # TAI LE LETTER TSHA
+1962 ; [.280F.0020.0002.1962] # TAI LE LETTER NA
+1963 ; [.2810.0020.0002.1963] # TAI LE LETTER A
+1964 ; [.2811.0020.0002.1964] # TAI LE LETTER I
+1965 ; [.2812.0020.0002.1965] # TAI LE LETTER EE
+1966 ; [.2813.0020.0002.1966] # TAI LE LETTER EH
+1967 ; [.2814.0020.0002.1967] # TAI LE LETTER U
+1968 ; [.2815.0020.0002.1968] # TAI LE LETTER OO
+1969 ; [.2816.0020.0002.1969] # TAI LE LETTER O
+196A ; [.2817.0020.0002.196A] # TAI LE LETTER UE
+196B ; [.2818.0020.0002.196B] # TAI LE LETTER E
+196C ; [.2819.0020.0002.196C] # TAI LE LETTER AUE
+196D ; [.281A.0020.0002.196D] # TAI LE LETTER AI
+1970 ; [.281B.0020.0002.1970] # TAI LE LETTER TONE-2
+1971 ; [.281C.0020.0002.1971] # TAI LE LETTER TONE-3
+1972 ; [.281D.0020.0002.1972] # TAI LE LETTER TONE-4
+1973 ; [.281E.0020.0002.1973] # TAI LE LETTER TONE-5
+1974 ; [.281F.0020.0002.1974] # TAI LE LETTER TONE-6
+1980 ; [.2820.0020.0002.1980] # NEW TAI LUE LETTER HIGH QA
+1981 ; [.2821.0020.0002.1981] # NEW TAI LUE LETTER LOW QA
+1982 ; [.2822.0020.0002.1982] # NEW TAI LUE LETTER HIGH KA
+1983 ; [.2823.0020.0002.1983] # NEW TAI LUE LETTER HIGH XA
+1984 ; [.2824.0020.0002.1984] # NEW TAI LUE LETTER HIGH NGA
+1985 ; [.2825.0020.0002.1985] # NEW TAI LUE LETTER LOW KA
+1986 ; [.2826.0020.0002.1986] # NEW TAI LUE LETTER LOW XA
+1987 ; [.2827.0020.0002.1987] # NEW TAI LUE LETTER LOW NGA
+1988 ; [.2828.0020.0002.1988] # NEW TAI LUE LETTER HIGH TSA
+1989 ; [.2829.0020.0002.1989] # NEW TAI LUE LETTER HIGH SA
+198A ; [.282A.0020.0002.198A] # NEW TAI LUE LETTER HIGH YA
+198B ; [.282B.0020.0002.198B] # NEW TAI LUE LETTER LOW TSA
+198C ; [.282C.0020.0002.198C] # NEW TAI LUE LETTER LOW SA
+198D ; [.282D.0020.0002.198D] # NEW TAI LUE LETTER LOW YA
+198E ; [.282E.0020.0002.198E] # NEW TAI LUE LETTER HIGH TA
+198F ; [.282F.0020.0002.198F] # NEW TAI LUE LETTER HIGH THA
+1990 ; [.2830.0020.0002.1990] # NEW TAI LUE LETTER HIGH NA
+1991 ; [.2831.0020.0002.1991] # NEW TAI LUE LETTER LOW TA
+1992 ; [.2832.0020.0002.1992] # NEW TAI LUE LETTER LOW THA
+1993 ; [.2833.0020.0002.1993] # NEW TAI LUE LETTER LOW NA
+1994 ; [.2834.0020.0002.1994] # NEW TAI LUE LETTER HIGH PA
+1995 ; [.2835.0020.0002.1995] # NEW TAI LUE LETTER HIGH PHA
+1996 ; [.2836.0020.0002.1996] # NEW TAI LUE LETTER HIGH MA
+1997 ; [.2837.0020.0002.1997] # NEW TAI LUE LETTER LOW PA
+1998 ; [.2838.0020.0002.1998] # NEW TAI LUE LETTER LOW PHA
+1999 ; [.2839.0020.0002.1999] # NEW TAI LUE LETTER LOW MA
+199A ; [.283A.0020.0002.199A] # NEW TAI LUE LETTER HIGH FA
+199B ; [.283B.0020.0002.199B] # NEW TAI LUE LETTER HIGH VA
+199C ; [.283C.0020.0002.199C] # NEW TAI LUE LETTER HIGH LA
+19DE ; [.283C.0020.0004.19DE][.2852.0020.0004.19DE] # NEW TAI LUE SIGN LAE
+19DF ; [.283C.0020.0004.19DF][.2852.0020.0004.19DF][.285D.0020.001F.19DF] # NEW TAI LUE SIGN LAEV
+199D ; [.283D.0020.0002.199D] # NEW TAI LUE LETTER LOW FA
+199E ; [.283E.0020.0002.199E] # NEW TAI LUE LETTER LOW VA
+199F ; [.283F.0020.0002.199F] # NEW TAI LUE LETTER LOW LA
+19A0 ; [.2840.0020.0002.19A0] # NEW TAI LUE LETTER HIGH HA
+19A1 ; [.2841.0020.0002.19A1] # NEW TAI LUE LETTER HIGH DA
+19A2 ; [.2842.0020.0002.19A2] # NEW TAI LUE LETTER HIGH BA
+19A3 ; [.2843.0020.0002.19A3] # NEW TAI LUE LETTER LOW HA
+19A4 ; [.2844.0020.0002.19A4] # NEW TAI LUE LETTER LOW DA
+19A5 ; [.2845.0020.0002.19A5] # NEW TAI LUE LETTER LOW BA
+19A6 ; [.2846.0020.0002.19A6] # NEW TAI LUE LETTER HIGH KVA
+19A7 ; [.2847.0020.0002.19A7] # NEW TAI LUE LETTER HIGH XVA
+19A8 ; [.2848.0020.0002.19A8] # NEW TAI LUE LETTER LOW KVA
+19A9 ; [.2849.0020.0002.19A9] # NEW TAI LUE LETTER LOW XVA
+19AA ; [.284A.0020.0002.19AA] # NEW TAI LUE LETTER HIGH SUA
+19AB ; [.284B.0020.0002.19AB] # NEW TAI LUE LETTER LOW SUA
+19B0 ; [.284C.0020.0002.19B0] # NEW TAI LUE VOWEL SIGN VOWEL SHORTENER
+19B1 ; [.284D.0020.0002.19B1] # NEW TAI LUE VOWEL SIGN AA
+19B2 ; [.284E.0020.0002.19B2] # NEW TAI LUE VOWEL SIGN II
+19B3 ; [.284F.0020.0002.19B3] # NEW TAI LUE VOWEL SIGN U
+19B4 ; [.2850.0020.0002.19B4] # NEW TAI LUE VOWEL SIGN UU
+19B5 ; [.2851.0020.0002.19B5] # NEW TAI LUE VOWEL SIGN E
+19B6 ; [.2852.0020.0002.19B6] # NEW TAI LUE VOWEL SIGN AE
+19B7 ; [.2853.0020.0002.19B7] # NEW TAI LUE VOWEL SIGN O
+19B8 ; [.2854.0020.0002.19B8] # NEW TAI LUE VOWEL SIGN OA
+19B9 ; [.2855.0020.0002.19B9] # NEW TAI LUE VOWEL SIGN UE
+19BA ; [.2856.0020.0002.19BA] # NEW TAI LUE VOWEL SIGN AY
+19BB ; [.2857.0020.0002.19BB] # NEW TAI LUE VOWEL SIGN AAY
+19BC ; [.2858.0020.0002.19BC] # NEW TAI LUE VOWEL SIGN UY
+19BD ; [.2859.0020.0002.19BD] # NEW TAI LUE VOWEL SIGN OY
+19BE ; [.285A.0020.0002.19BE] # NEW TAI LUE VOWEL SIGN OAY
+19BF ; [.285B.0020.0002.19BF] # NEW TAI LUE VOWEL SIGN UEY
+19C0 ; [.285C.0020.0002.19C0] # NEW TAI LUE VOWEL SIGN IY
+19C1 ; [.285D.0020.0002.19C1] # NEW TAI LUE LETTER FINAL V
+19C2 ; [.285E.0020.0002.19C2] # NEW TAI LUE LETTER FINAL NG
+19C3 ; [.285F.0020.0002.19C3] # NEW TAI LUE LETTER FINAL N
+19C4 ; [.2860.0020.0002.19C4] # NEW TAI LUE LETTER FINAL M
+19C5 ; [.2861.0020.0002.19C5] # NEW TAI LUE LETTER FINAL K
+19C6 ; [.2862.0020.0002.19C6] # NEW TAI LUE LETTER FINAL D
+19C7 ; [.2863.0020.0002.19C7] # NEW TAI LUE LETTER FINAL B
+19C8 ; [.2864.0020.0002.19C8] # NEW TAI LUE TONE MARK-1
+19C9 ; [.2865.0020.0002.19C9] # NEW TAI LUE TONE MARK-2
+1A20 ; [.2866.0020.0002.1A20] # TAI THAM LETTER HIGH KA
+1A21 ; [.2867.0020.0002.1A21] # TAI THAM LETTER HIGH KHA
+1A22 ; [.2868.0020.0002.1A22] # TAI THAM LETTER HIGH KXA
+1A23 ; [.2869.0020.0002.1A23] # TAI THAM LETTER LOW KA
+1A24 ; [.286A.0020.0002.1A24] # TAI THAM LETTER LOW KXA
+1A25 ; [.286B.0020.0002.1A25] # TAI THAM LETTER LOW KHA
+1A26 ; [.286C.0020.0002.1A26] # TAI THAM LETTER NGA
+1A58 ; [.286C.0020.0004.1A58] # TAI THAM SIGN MAI KANG LAI
+1A59 ; [.286C.0020.0004.1A59] # TAI THAM CONSONANT SIGN FINAL NGA
+1A27 ; [.286D.0020.0002.1A27] # TAI THAM LETTER HIGH CA
+1A28 ; [.286E.0020.0002.1A28] # TAI THAM LETTER HIGH CHA
+1A29 ; [.286F.0020.0002.1A29] # TAI THAM LETTER LOW CA
+1A2A ; [.2870.0020.0002.1A2A] # TAI THAM LETTER LOW SA
+1A2B ; [.2871.0020.0002.1A2B] # TAI THAM LETTER LOW CHA
+1A2C ; [.2872.0020.0002.1A2C] # TAI THAM LETTER NYA
+1A2D ; [.2873.0020.0002.1A2D] # TAI THAM LETTER RATA
+1A2E ; [.2874.0020.0002.1A2E] # TAI THAM LETTER HIGH RATHA
+1A2F ; [.2875.0020.0002.1A2F] # TAI THAM LETTER DA
+1A30 ; [.2876.0020.0002.1A30] # TAI THAM LETTER LOW RATHA
+1A31 ; [.2877.0020.0002.1A31] # TAI THAM LETTER RANA
+1A32 ; [.2878.0020.0002.1A32] # TAI THAM LETTER HIGH TA
+1A33 ; [.2879.0020.0002.1A33] # TAI THAM LETTER HIGH THA
+1A34 ; [.287A.0020.0002.1A34] # TAI THAM LETTER LOW TA
+1A35 ; [.287B.0020.0002.1A35] # TAI THAM LETTER LOW THA
+1A36 ; [.287C.0020.0002.1A36] # TAI THAM LETTER NA
+1A37 ; [.287D.0020.0002.1A37] # TAI THAM LETTER BA
+1A38 ; [.287E.0020.0002.1A38] # TAI THAM LETTER HIGH PA
+1A39 ; [.287F.0020.0002.1A39] # TAI THAM LETTER HIGH PHA
+1A3A ; [.2880.0020.0002.1A3A] # TAI THAM LETTER HIGH FA
+1A3B ; [.2881.0020.0002.1A3B] # TAI THAM LETTER LOW PA
+1A5A ; [.2881.0020.0004.1A5A] # TAI THAM CONSONANT SIGN LOW PA
+1A5B ; [.2881.0020.0004.1A5B] # TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA
+1A3C ; [.2882.0020.0002.1A3C] # TAI THAM LETTER LOW FA
+1A3D ; [.2883.0020.0002.1A3D] # TAI THAM LETTER LOW PHA
+1A3E ; [.2884.0020.0002.1A3E] # TAI THAM LETTER MA
+1A3F ; [.2885.0020.0002.1A3F] # TAI THAM LETTER LOW YA
+1A40 ; [.2886.0020.0002.1A40] # TAI THAM LETTER HIGH YA
+1A41 ; [.2887.0020.0002.1A41] # TAI THAM LETTER RA
+1A42 ; [.2888.0020.0002.1A42] # TAI THAM LETTER RUE
+1A43 ; [.2889.0020.0002.1A43] # TAI THAM LETTER LA
+1A44 ; [.288A.0020.0002.1A44] # TAI THAM LETTER LUE
+1A45 ; [.288B.0020.0002.1A45] # TAI THAM LETTER WA
+1A46 ; [.288C.0020.0002.1A46] # TAI THAM LETTER HIGH SHA
+1A54 ; [.288C.0020.0004.1A54][.28B2.0020.0004.1A54][.288C.0020.001F.1A54] # TAI THAM LETTER GREAT SA
+1A47 ; [.288D.0020.0002.1A47] # TAI THAM LETTER HIGH SSA
+1A48 ; [.288E.0020.0002.1A48] # TAI THAM LETTER HIGH SA
+1A49 ; [.288F.0020.0002.1A49] # TAI THAM LETTER HIGH HA
+1A4A ; [.2890.0020.0002.1A4A] # TAI THAM LETTER LLA
+1A4B ; [.2891.0020.0002.1A4B] # TAI THAM LETTER A
+1A4C ; [.2892.0020.0002.1A4C] # TAI THAM LETTER LOW HA
+1A53 ; [.2893.0020.0002.1A53] # TAI THAM LETTER LAE
+1A6B ; [.2894.0020.0002.1A6B] # TAI THAM VOWEL SIGN O
+1A55 ; [.2895.0020.0002.1A55] # TAI THAM CONSONANT SIGN MEDIAL RA
+1A56 ; [.2896.0020.0002.1A56] # TAI THAM CONSONANT SIGN MEDIAL LA
+1A57 ; [.2897.0020.0002.1A57] # TAI THAM CONSONANT SIGN LA TANG LAI
+1A5C ; [.2898.0020.0002.1A5C] # TAI THAM CONSONANT SIGN MA
+1A5D ; [.2899.0020.0002.1A5D] # TAI THAM CONSONANT SIGN BA
+1A5E ; [.289A.0020.0002.1A5E] # TAI THAM CONSONANT SIGN SA
+1A4D ; [.289B.0020.0002.1A4D] # TAI THAM LETTER I
+1A4E ; [.289C.0020.0002.1A4E] # TAI THAM LETTER II
+1A4F ; [.289D.0020.0002.1A4F] # TAI THAM LETTER U
+1A50 ; [.289E.0020.0002.1A50] # TAI THAM LETTER UU
+1A51 ; [.289F.0020.0002.1A51] # TAI THAM LETTER EE
+1A52 ; [.28A0.0020.0002.1A52] # TAI THAM LETTER OO
+1A61 ; [.28A1.0020.0002.1A61] # TAI THAM VOWEL SIGN A
+1A6C ; [.28A2.0020.0002.1A6C] # TAI THAM VOWEL SIGN OA BELOW
+1A62 ; [.28A3.0020.0002.1A62] # TAI THAM VOWEL SIGN MAI SAT
+1A63 ; [.28A4.0020.0002.1A63] # TAI THAM VOWEL SIGN AA
+1A64 ; [.28A4.0020.0004.1A64] # TAI THAM VOWEL SIGN TALL AA
+1A65 ; [.28A5.0020.0002.1A65] # TAI THAM VOWEL SIGN I
+1A66 ; [.28A6.0020.0002.1A66] # TAI THAM VOWEL SIGN II
+1A67 ; [.28A7.0020.0002.1A67] # TAI THAM VOWEL SIGN UE
+1A68 ; [.28A8.0020.0002.1A68] # TAI THAM VOWEL SIGN UUE
+1A69 ; [.28A9.0020.0002.1A69] # TAI THAM VOWEL SIGN U
+1A6A ; [.28AA.0020.0002.1A6A] # TAI THAM VOWEL SIGN UU
+1A6E ; [.28AB.0020.0002.1A6E] # TAI THAM VOWEL SIGN E
+1A6F ; [.28AC.0020.0002.1A6F] # TAI THAM VOWEL SIGN AE
+1A73 ; [.28AD.0020.0002.1A73] # TAI THAM VOWEL SIGN OA ABOVE
+1A70 ; [.28AE.0020.0002.1A70] # TAI THAM VOWEL SIGN OO
+1A71 ; [.28AF.0020.0002.1A71] # TAI THAM VOWEL SIGN AI
+1A72 ; [.28B0.0020.0002.1A72] # TAI THAM VOWEL SIGN THAM AI
+1A6D ; [.28B1.0020.0002.1A6D] # TAI THAM VOWEL SIGN OY
+1A60 ; [.28B2.0020.0002.1A60] # TAI THAM SIGN SAKOT
+AA00 ; [.28B3.0020.0002.AA00] # CHAM LETTER A
+AA01 ; [.28B4.0020.0002.AA01] # CHAM LETTER I
+AA02 ; [.28B5.0020.0002.AA02] # CHAM LETTER U
+AA03 ; [.28B6.0020.0002.AA03] # CHAM LETTER E
+AA04 ; [.28B7.0020.0002.AA04] # CHAM LETTER AI
+AA05 ; [.28B8.0020.0002.AA05] # CHAM LETTER O
+AA06 ; [.28B9.0020.0002.AA06] # CHAM LETTER KA
+AA07 ; [.28BA.0020.0002.AA07] # CHAM LETTER KHA
+AA08 ; [.28BB.0020.0002.AA08] # CHAM LETTER GA
+AA09 ; [.28BC.0020.0002.AA09] # CHAM LETTER GHA
+AA0A ; [.28BD.0020.0002.AA0A] # CHAM LETTER NGUE
+AA0B ; [.28BE.0020.0002.AA0B] # CHAM LETTER NGA
+AA0C ; [.28BF.0020.0002.AA0C] # CHAM LETTER CHA
+AA0D ; [.28C0.0020.0002.AA0D] # CHAM LETTER CHHA
+AA0E ; [.28C1.0020.0002.AA0E] # CHAM LETTER JA
+AA0F ; [.28C2.0020.0002.AA0F] # CHAM LETTER JHA
+AA10 ; [.28C3.0020.0002.AA10] # CHAM LETTER NHUE
+AA11 ; [.28C4.0020.0002.AA11] # CHAM LETTER NHA
+AA12 ; [.28C5.0020.0002.AA12] # CHAM LETTER NHJA
+AA13 ; [.28C6.0020.0002.AA13] # CHAM LETTER TA
+AA14 ; [.28C7.0020.0002.AA14] # CHAM LETTER THA
+AA15 ; [.28C8.0020.0002.AA15] # CHAM LETTER DA
+AA16 ; [.28C9.0020.0002.AA16] # CHAM LETTER DHA
+AA17 ; [.28CA.0020.0002.AA17] # CHAM LETTER NUE
+AA18 ; [.28CB.0020.0002.AA18] # CHAM LETTER NA
+AA19 ; [.28CC.0020.0002.AA19] # CHAM LETTER DDA
+AA1A ; [.28CD.0020.0002.AA1A] # CHAM LETTER PA
+AA1B ; [.28CE.0020.0002.AA1B] # CHAM LETTER PPA
+AA1C ; [.28CF.0020.0002.AA1C] # CHAM LETTER PHA
+AA1D ; [.28D0.0020.0002.AA1D] # CHAM LETTER BA
+AA1E ; [.28D1.0020.0002.AA1E] # CHAM LETTER BHA
+AA1F ; [.28D2.0020.0002.AA1F] # CHAM LETTER MUE
+AA20 ; [.28D3.0020.0002.AA20] # CHAM LETTER MA
+AA21 ; [.28D4.0020.0002.AA21] # CHAM LETTER BBA
+AA22 ; [.28D5.0020.0002.AA22] # CHAM LETTER YA
+AA23 ; [.28D6.0020.0002.AA23] # CHAM LETTER RA
+AA24 ; [.28D7.0020.0002.AA24] # CHAM LETTER LA
+AA25 ; [.28D8.0020.0002.AA25] # CHAM LETTER VA
+AA26 ; [.28D9.0020.0002.AA26] # CHAM LETTER SSA
+AA27 ; [.28DA.0020.0002.AA27] # CHAM LETTER SA
+AA28 ; [.28DB.0020.0002.AA28] # CHAM LETTER HA
+AA33 ; [.28DC.0020.0002.AA33] # CHAM CONSONANT SIGN YA
+AA34 ; [.28DD.0020.0002.AA34] # CHAM CONSONANT SIGN RA
+AA35 ; [.28DE.0020.0002.AA35] # CHAM CONSONANT SIGN LA
+AA36 ; [.28DF.0020.0002.AA36] # CHAM CONSONANT SIGN WA
+AA29 ; [.28E0.0020.0002.AA29] # CHAM VOWEL SIGN AA
+AA2A ; [.28E1.0020.0002.AA2A] # CHAM VOWEL SIGN I
+AA2B ; [.28E2.0020.0002.AA2B] # CHAM VOWEL SIGN II
+AA2C ; [.28E3.0020.0002.AA2C] # CHAM VOWEL SIGN EI
+AA2D ; [.28E4.0020.0002.AA2D] # CHAM VOWEL SIGN U
+AA2E ; [.28E5.0020.0002.AA2E] # CHAM VOWEL SIGN OE
+AA2F ; [.28E6.0020.0002.AA2F] # CHAM VOWEL SIGN O
+AA30 ; [.28E7.0020.0002.AA30] # CHAM VOWEL SIGN AI
+AA31 ; [.28E8.0020.0002.AA31] # CHAM VOWEL SIGN AU
+AA32 ; [.28E9.0020.0002.AA32] # CHAM VOWEL SIGN UE
+AA40 ; [.28EA.0020.0002.AA40] # CHAM LETTER FINAL K
+AA41 ; [.28EB.0020.0002.AA41] # CHAM LETTER FINAL G
+AA42 ; [.28EC.0020.0002.AA42] # CHAM LETTER FINAL NG
+AA43 ; [.28ED.0020.0002.AA43] # CHAM CONSONANT SIGN FINAL NG
+AA44 ; [.28EE.0020.0002.AA44] # CHAM LETTER FINAL CH
+AA45 ; [.28EF.0020.0002.AA45] # CHAM LETTER FINAL T
+AA46 ; [.28F0.0020.0002.AA46] # CHAM LETTER FINAL N
+AA47 ; [.28F1.0020.0002.AA47] # CHAM LETTER FINAL P
+AA48 ; [.28F2.0020.0002.AA48] # CHAM LETTER FINAL Y
+AA49 ; [.28F3.0020.0002.AA49] # CHAM LETTER FINAL R
+AA4A ; [.28F4.0020.0002.AA4A] # CHAM LETTER FINAL L
+AA4B ; [.28F5.0020.0002.AA4B] # CHAM LETTER FINAL SS
+AA4C ; [.28F6.0020.0002.AA4C] # CHAM CONSONANT SIGN FINAL M
+AA4D ; [.28F7.0020.0002.AA4D] # CHAM CONSONANT SIGN FINAL H
+1B05 ; [.28F8.0020.0002.1B05] # BALINESE LETTER AKARA
+1B06 ; [.28F9.0020.0002.1B06] # BALINESE LETTER AKARA TEDUNG
+1B05 1B35 ; [.28F9.0020.0002.1B06] # BALINESE LETTER AKARA TEDUNG
+1B07 ; [.28FA.0020.0002.1B07] # BALINESE LETTER IKARA
+1B08 ; [.28FB.0020.0002.1B08] # BALINESE LETTER IKARA TEDUNG
+1B07 1B35 ; [.28FB.0020.0002.1B08] # BALINESE LETTER IKARA TEDUNG
+1B09 ; [.28FC.0020.0002.1B09] # BALINESE LETTER UKARA
+1B0A ; [.28FD.0020.0002.1B0A] # BALINESE LETTER UKARA TEDUNG
+1B09 1B35 ; [.28FD.0020.0002.1B0A] # BALINESE LETTER UKARA TEDUNG
+1B0B ; [.28FE.0020.0002.1B0B] # BALINESE LETTER RA REPA
+1B0C ; [.28FF.0020.0002.1B0C] # BALINESE LETTER RA REPA TEDUNG
+1B0B 1B35 ; [.28FF.0020.0002.1B0C] # BALINESE LETTER RA REPA TEDUNG
+1B0D ; [.2900.0020.0002.1B0D] # BALINESE LETTER LA LENGA
+1B0E ; [.2901.0020.0002.1B0E] # BALINESE LETTER LA LENGA TEDUNG
+1B0D 1B35 ; [.2901.0020.0002.1B0E] # BALINESE LETTER LA LENGA TEDUNG
+1B0F ; [.2902.0020.0002.1B0F] # BALINESE LETTER EKARA
+1B10 ; [.2903.0020.0002.1B10] # BALINESE LETTER AIKARA
+1B11 ; [.2904.0020.0002.1B11] # BALINESE LETTER OKARA
+1B12 ; [.2905.0020.0002.1B12] # BALINESE LETTER OKARA TEDUNG
+1B11 1B35 ; [.2905.0020.0002.1B12] # BALINESE LETTER OKARA TEDUNG
+1B13 ; [.2906.0020.0002.1B13] # BALINESE LETTER KA
+1B45 ; [.2907.0020.0002.1B45] # BALINESE LETTER KAF SASAK
+1B46 ; [.2908.0020.0002.1B46] # BALINESE LETTER KHOT SASAK
+1B14 ; [.2909.0020.0002.1B14] # BALINESE LETTER KA MAHAPRANA
+1B15 ; [.290A.0020.0002.1B15] # BALINESE LETTER GA
+1B16 ; [.290B.0020.0002.1B16] # BALINESE LETTER GA GORA
+1B17 ; [.290C.0020.0002.1B17] # BALINESE LETTER NGA
+1B18 ; [.290D.0020.0002.1B18] # BALINESE LETTER CA
+1B19 ; [.290E.0020.0002.1B19] # BALINESE LETTER CA LACA
+1B1A ; [.290F.0020.0002.1B1A] # BALINESE LETTER JA
+1B1B ; [.2910.0020.0002.1B1B] # BALINESE LETTER JA JERA
+1B1C ; [.2911.0020.0002.1B1C] # BALINESE LETTER NYA
+1B1D ; [.2912.0020.0002.1B1D] # BALINESE LETTER TA LATIK
+1B1E ; [.2913.0020.0002.1B1E] # BALINESE LETTER TA MURDA MAHAPRANA
+1B1F ; [.2914.0020.0002.1B1F] # BALINESE LETTER DA MURDA ALPAPRANA
+1B20 ; [.2915.0020.0002.1B20] # BALINESE LETTER DA MURDA MAHAPRANA
+1B21 ; [.2916.0020.0002.1B21] # BALINESE LETTER NA RAMBAT
+1B22 ; [.2917.0020.0002.1B22] # BALINESE LETTER TA
+1B47 ; [.2918.0020.0002.1B47] # BALINESE LETTER TZIR SASAK
+1B23 ; [.2919.0020.0002.1B23] # BALINESE LETTER TA TAWA
+1B24 ; [.291A.0020.0002.1B24] # BALINESE LETTER DA
+1B25 ; [.291B.0020.0002.1B25] # BALINESE LETTER DA MADU
+1B26 ; [.291C.0020.0002.1B26] # BALINESE LETTER NA
+1B27 ; [.291D.0020.0002.1B27] # BALINESE LETTER PA
+1B48 ; [.291E.0020.0002.1B48] # BALINESE LETTER EF SASAK
+1B28 ; [.291F.0020.0002.1B28] # BALINESE LETTER PA KAPAL
+1B29 ; [.2920.0020.0002.1B29] # BALINESE LETTER BA
+1B2A ; [.2921.0020.0002.1B2A] # BALINESE LETTER BA KEMBANG
+1B2B ; [.2922.0020.0002.1B2B] # BALINESE LETTER MA
+1B2C ; [.2923.0020.0002.1B2C] # BALINESE LETTER YA
+1B2D ; [.2924.0020.0002.1B2D] # BALINESE LETTER RA
+1B2E ; [.2925.0020.0002.1B2E] # BALINESE LETTER LA
+1B2F ; [.2926.0020.0002.1B2F] # BALINESE LETTER WA
+1B49 ; [.2927.0020.0002.1B49] # BALINESE LETTER VE SASAK
+1B30 ; [.2928.0020.0002.1B30] # BALINESE LETTER SA SAGA
+1B31 ; [.2929.0020.0002.1B31] # BALINESE LETTER SA SAPA
+1B32 ; [.292A.0020.0002.1B32] # BALINESE LETTER SA
+1B4A ; [.292B.0020.0002.1B4A] # BALINESE LETTER ZAL SASAK
+1B4B ; [.292C.0020.0002.1B4B] # BALINESE LETTER ASYURA SASAK
+1B33 ; [.292D.0020.0002.1B33] # BALINESE LETTER HA
+1B35 ; [.292E.0020.0002.1B35] # BALINESE VOWEL SIGN TEDUNG
+1B36 ; [.292F.0020.0002.1B36] # BALINESE VOWEL SIGN ULU
+1B37 ; [.2930.0020.0002.1B37] # BALINESE VOWEL SIGN ULU SARI
+1B38 ; [.2931.0020.0002.1B38] # BALINESE VOWEL SIGN SUKU
+1B39 ; [.2932.0020.0002.1B39] # BALINESE VOWEL SIGN SUKU ILUT
+1B3A ; [.2933.0020.0002.1B3A] # BALINESE VOWEL SIGN RA REPA
+1B3B ; [.2934.0020.0002.1B3B] # BALINESE VOWEL SIGN RA REPA TEDUNG
+1B3A 1B35 ; [.2934.0020.0002.1B3B] # BALINESE VOWEL SIGN RA REPA TEDUNG
+1B3C ; [.2935.0020.0002.1B3C] # BALINESE VOWEL SIGN LA LENGA
+1B3D ; [.2936.0020.0002.1B3D] # BALINESE VOWEL SIGN LA LENGA TEDUNG
+1B3C 1B35 ; [.2936.0020.0002.1B3D] # BALINESE VOWEL SIGN LA LENGA TEDUNG
+1B3E ; [.2937.0020.0002.1B3E] # BALINESE VOWEL SIGN TALING
+1B3F ; [.2938.0020.0002.1B3F] # BALINESE VOWEL SIGN TALING REPA
+1B40 ; [.2939.0020.0002.1B40] # BALINESE VOWEL SIGN TALING TEDUNG
+1B3E 1B35 ; [.2939.0020.0002.1B40] # BALINESE VOWEL SIGN TALING TEDUNG
+1B41 ; [.293A.0020.0002.1B41] # BALINESE VOWEL SIGN TALING REPA TEDUNG
+1B3F 1B35 ; [.293A.0020.0002.1B41] # BALINESE VOWEL SIGN TALING REPA TEDUNG
+1B42 ; [.293B.0020.0002.1B42] # BALINESE VOWEL SIGN PEPET
+1B43 ; [.293C.0020.0002.1B43] # BALINESE VOWEL SIGN PEPET TEDUNG
+1B42 1B35 ; [.293C.0020.0002.1B43] # BALINESE VOWEL SIGN PEPET TEDUNG
+1B44 ; [.293D.0020.0002.1B44] # BALINESE ADEG ADEG
+A984 ; [.293E.0020.0002.A984] # JAVANESE LETTER A
+A985 ; [.293F.0020.0002.A985] # JAVANESE LETTER I KAWI
+A986 ; [.2940.0020.0002.A986] # JAVANESE LETTER I
+A987 ; [.2941.0020.0002.A987] # JAVANESE LETTER II
+A988 ; [.2942.0020.0002.A988] # JAVANESE LETTER U
+A989 ; [.2943.0020.0002.A989] # JAVANESE LETTER PA CEREK
+A98A ; [.2944.0020.0002.A98A] # JAVANESE LETTER NGA LELET
+A98B ; [.2945.0020.0002.A98B] # JAVANESE LETTER NGA LELET RASWADI
+A98C ; [.2946.0020.0002.A98C] # JAVANESE LETTER E
+A98D ; [.2947.0020.0002.A98D] # JAVANESE LETTER AI
+A98E ; [.2948.0020.0002.A98E] # JAVANESE LETTER O
+A98F ; [.2949.0020.0002.A98F] # JAVANESE LETTER KA
+A990 ; [.294A.0020.0002.A990] # JAVANESE LETTER KA SASAK
+A991 ; [.294B.0020.0002.A991] # JAVANESE LETTER KA MURDA
+A992 ; [.294C.0020.0002.A992] # JAVANESE LETTER GA
+A993 ; [.294D.0020.0002.A993] # JAVANESE LETTER GA MURDA
+A994 ; [.294E.0020.0002.A994] # JAVANESE LETTER NGA
+A995 ; [.294F.0020.0002.A995] # JAVANESE LETTER CA
+A996 ; [.2950.0020.0002.A996] # JAVANESE LETTER CA MURDA
+A997 ; [.2951.0020.0002.A997] # JAVANESE LETTER JA
+A998 ; [.2952.0020.0002.A998] # JAVANESE LETTER NYA MURDA
+A999 ; [.2953.0020.0002.A999] # JAVANESE LETTER JA MAHAPRANA
+A99A ; [.2954.0020.0002.A99A] # JAVANESE LETTER NYA
+A99B ; [.2955.0020.0002.A99B] # JAVANESE LETTER TTA
+A99C ; [.2956.0020.0002.A99C] # JAVANESE LETTER TTA MAHAPRANA
+A99D ; [.2957.0020.0002.A99D] # JAVANESE LETTER DDA
+A99E ; [.2958.0020.0002.A99E] # JAVANESE LETTER DDA MAHAPRANA
+A99F ; [.2959.0020.0002.A99F] # JAVANESE LETTER NA MURDA
+A9A0 ; [.295A.0020.0002.A9A0] # JAVANESE LETTER TA
+A9A1 ; [.295B.0020.0002.A9A1] # JAVANESE LETTER TA MURDA
+A9A2 ; [.295C.0020.0002.A9A2] # JAVANESE LETTER DA
+A9A3 ; [.295D.0020.0002.A9A3] # JAVANESE LETTER DA MAHAPRANA
+A9A4 ; [.295E.0020.0002.A9A4] # JAVANESE LETTER NA
+A9A5 ; [.295F.0020.0002.A9A5] # JAVANESE LETTER PA
+A9A6 ; [.2960.0020.0002.A9A6] # JAVANESE LETTER PA MURDA
+A9A7 ; [.2961.0020.0002.A9A7] # JAVANESE LETTER BA
+A9A8 ; [.2962.0020.0002.A9A8] # JAVANESE LETTER BA MURDA
+A9A9 ; [.2963.0020.0002.A9A9] # JAVANESE LETTER MA
+A9AA ; [.2964.0020.0002.A9AA] # JAVANESE LETTER YA
+A9BE ; [.2965.0020.0002.A9BE] # JAVANESE CONSONANT SIGN PENGKAL
+A9AB ; [.2966.0020.0002.A9AB] # JAVANESE LETTER RA
+A9AC ; [.2966.0020.0004.A9AC] # JAVANESE LETTER RA AGUNG
+A9BF ; [.2967.0020.0002.A9BF] # JAVANESE CONSONANT SIGN CAKRA
+A9AD ; [.2968.0020.0002.A9AD] # JAVANESE LETTER LA
+A9AE ; [.2969.0020.0002.A9AE] # JAVANESE LETTER WA
+A9AF ; [.296A.0020.0002.A9AF] # JAVANESE LETTER SA MURDA
+A9B0 ; [.296B.0020.0002.A9B0] # JAVANESE LETTER SA MAHAPRANA
+A9B1 ; [.296C.0020.0002.A9B1] # JAVANESE LETTER SA
+A9B2 ; [.296D.0020.0002.A9B2] # JAVANESE LETTER HA
+A9B4 ; [.296E.0020.0002.A9B4] # JAVANESE VOWEL SIGN TARUNG
+A9BC ; [.296F.0020.0002.A9BC] # JAVANESE VOWEL SIGN PEPET
+A9B6 ; [.2970.0020.0002.A9B6] # JAVANESE VOWEL SIGN WULU
+A9B7 ; [.2971.0020.0002.A9B7] # JAVANESE VOWEL SIGN WULU MELIK
+A9B8 ; [.2972.0020.0002.A9B8] # JAVANESE VOWEL SIGN SUKU
+A9B9 ; [.2973.0020.0002.A9B9] # JAVANESE VOWEL SIGN SUKU MENDUT
+A9BD ; [.2974.0020.0002.A9BD] # JAVANESE CONSONANT SIGN KERET
+A9BA ; [.2975.0020.0002.A9BA] # JAVANESE VOWEL SIGN TALING
+A9BB ; [.2976.0020.0002.A9BB] # JAVANESE VOWEL SIGN DIRGA MURE
+A9B5 ; [.2977.0020.0002.A9B5] # JAVANESE VOWEL SIGN TOLONG
+A9C0 ; [.2978.0020.0002.A9C0] # JAVANESE PANGKON
+1880 ; [.2979.0020.0002.1880] # MONGOLIAN LETTER ALI GALI ANUSVARA ONE
+1881 ; [.297A.0020.0002.1881] # MONGOLIAN LETTER ALI GALI VISARGA ONE
+1882 ; [.297B.0020.0002.1882] # MONGOLIAN LETTER ALI GALI DAMARU
+1883 ; [.297C.0020.0002.1883] # MONGOLIAN LETTER ALI GALI UBADAMA
+1884 ; [.297D.0020.0002.1884] # MONGOLIAN LETTER ALI GALI INVERTED UBADAMA
+1885 ; [.297E.0020.0002.1885] # MONGOLIAN LETTER ALI GALI BALUDA
+1886 ; [.297F.0020.0002.1886] # MONGOLIAN LETTER ALI GALI THREE BALUDA
+1843 ; [.2980.0020.0002.1843] # MONGOLIAN LETTER TODO LONG VOWEL SIGN
+1820 ; [.2981.0020.0002.1820] # MONGOLIAN LETTER A
+1887 ; [.2982.0020.0002.1887] # MONGOLIAN LETTER ALI GALI A
+1821 ; [.2983.0020.0002.1821] # MONGOLIAN LETTER E
+1844 ; [.2984.0020.0002.1844] # MONGOLIAN LETTER TODO E
+185D ; [.2985.0020.0002.185D] # MONGOLIAN LETTER SIBE E
+1822 ; [.2986.0020.0002.1822] # MONGOLIAN LETTER I
+1845 ; [.2987.0020.0002.1845] # MONGOLIAN LETTER TODO I
+185E ; [.2988.0020.0002.185E] # MONGOLIAN LETTER SIBE I
+1873 ; [.2989.0020.0002.1873] # MONGOLIAN LETTER MANCHU I
+1888 ; [.298A.0020.0002.1888] # MONGOLIAN LETTER ALI GALI I
+185F ; [.298B.0020.0002.185F] # MONGOLIAN LETTER SIBE IY
+1823 ; [.298C.0020.0002.1823] # MONGOLIAN LETTER O
+1846 ; [.298D.0020.0002.1846] # MONGOLIAN LETTER TODO O
+1824 ; [.298E.0020.0002.1824] # MONGOLIAN LETTER U
+1847 ; [.298F.0020.0002.1847] # MONGOLIAN LETTER TODO U
+1861 ; [.2990.0020.0002.1861] # MONGOLIAN LETTER SIBE U
+1825 ; [.2991.0020.0002.1825] # MONGOLIAN LETTER OE
+1848 ; [.2992.0020.0002.1848] # MONGOLIAN LETTER TODO OE
+1826 ; [.2993.0020.0002.1826] # MONGOLIAN LETTER UE
+1849 ; [.2994.0020.0002.1849] # MONGOLIAN LETTER TODO UE
+1860 ; [.2995.0020.0002.1860] # MONGOLIAN LETTER SIBE UE
+1827 ; [.2996.0020.0002.1827] # MONGOLIAN LETTER EE
+1828 ; [.2997.0020.0002.1828] # MONGOLIAN LETTER NA
+1829 ; [.2998.0020.0002.1829] # MONGOLIAN LETTER ANG
+184A ; [.2999.0020.0002.184A] # MONGOLIAN LETTER TODO ANG
+1862 ; [.299A.0020.0002.1862] # MONGOLIAN LETTER SIBE ANG
+188A ; [.299B.0020.0002.188A] # MONGOLIAN LETTER ALI GALI NGA
+189B ; [.299C.0020.0002.189B] # MONGOLIAN LETTER MANCHU ALI GALI NGA
+182A ; [.299D.0020.0002.182A] # MONGOLIAN LETTER BA
+184B ; [.299E.0020.0002.184B] # MONGOLIAN LETTER TODO BA
+182B ; [.299F.0020.0002.182B] # MONGOLIAN LETTER PA
+184C ; [.29A0.0020.0002.184C] # MONGOLIAN LETTER TODO PA
+1866 ; [.29A1.0020.0002.1866] # MONGOLIAN LETTER SIBE PA
+182C ; [.29A2.0020.0002.182C] # MONGOLIAN LETTER QA
+184D ; [.29A3.0020.0002.184D] # MONGOLIAN LETTER TODO QA
+182D ; [.29A4.0020.0002.182D] # MONGOLIAN LETTER GA
+184E ; [.29A5.0020.0002.184E] # MONGOLIAN LETTER TODO GA
+1864 ; [.29A6.0020.0002.1864] # MONGOLIAN LETTER SIBE GA
+189A ; [.29A7.0020.0002.189A] # MONGOLIAN LETTER MANCHU ALI GALI GHA
+1865 ; [.29A8.0020.0002.1865] # MONGOLIAN LETTER SIBE HA
+182E ; [.29A9.0020.0002.182E] # MONGOLIAN LETTER MA
+184F ; [.29AA.0020.0002.184F] # MONGOLIAN LETTER TODO MA
+182F ; [.29AB.0020.0002.182F] # MONGOLIAN LETTER LA
+1830 ; [.29AC.0020.0002.1830] # MONGOLIAN LETTER SA
+1831 ; [.29AD.0020.0002.1831] # MONGOLIAN LETTER SHA
+1867 ; [.29AE.0020.0002.1867] # MONGOLIAN LETTER SIBE SHA
+189C ; [.29AF.0020.0002.189C] # MONGOLIAN LETTER MANCHU ALI GALI CA
+189D ; [.29B0.0020.0002.189D] # MONGOLIAN LETTER MANCHU ALI GALI JHA
+18A2 ; [.29B1.0020.0002.18A2] # MONGOLIAN LETTER MANCHU ALI GALI SSA
+18A4 ; [.29B2.0020.0002.18A4] # MONGOLIAN LETTER MANCHU ALI GALI ZHA
+18A5 ; [.29B3.0020.0002.18A5] # MONGOLIAN LETTER MANCHU ALI GALI ZA
+1832 ; [.29B4.0020.0002.1832] # MONGOLIAN LETTER TA
+1850 ; [.29B5.0020.0002.1850] # MONGOLIAN LETTER TODO TA
+1868 ; [.29B6.0020.0002.1868] # MONGOLIAN LETTER SIBE TA
+1833 ; [.29B7.0020.0002.1833] # MONGOLIAN LETTER DA
+1851 ; [.29B8.0020.0002.1851] # MONGOLIAN LETTER TODO DA
+1869 ; [.29B9.0020.0002.1869] # MONGOLIAN LETTER SIBE DA
+1834 ; [.29BA.0020.0002.1834] # MONGOLIAN LETTER CHA
+1852 ; [.29BB.0020.0002.1852] # MONGOLIAN LETTER TODO CHA
+1871 ; [.29BC.0020.0002.1871] # MONGOLIAN LETTER SIBE CHA
+185C ; [.29BD.0020.0002.185C] # MONGOLIAN LETTER TODO DZA
+188B ; [.29BE.0020.0002.188B] # MONGOLIAN LETTER ALI GALI CA
+1835 ; [.29BF.0020.0002.1835] # MONGOLIAN LETTER JA
+1853 ; [.29C0.0020.0002.1853] # MONGOLIAN LETTER TODO JA
+186A ; [.29C1.0020.0002.186A] # MONGOLIAN LETTER SIBE JA
+1877 ; [.29C2.0020.0002.1877] # MONGOLIAN LETTER MANCHU ZHA
+1836 ; [.29C3.0020.0002.1836] # MONGOLIAN LETTER YA
+1855 ; [.29C4.0020.0002.1855] # MONGOLIAN LETTER TODO YA
+1872 ; [.29C5.0020.0002.1872] # MONGOLIAN LETTER SIBE ZHA
+1837 ; [.29C6.0020.0002.1837] # MONGOLIAN LETTER RA
+1875 ; [.29C7.0020.0002.1875] # MONGOLIAN LETTER MANCHU RA
+1838 ; [.29C8.0020.0002.1838] # MONGOLIAN LETTER WA
+1856 ; [.29C9.0020.0002.1856] # MONGOLIAN LETTER TODO WA
+1839 ; [.29CA.0020.0002.1839] # MONGOLIAN LETTER FA
+186B ; [.29CB.0020.0002.186B] # MONGOLIAN LETTER SIBE FA
+1876 ; [.29CC.0020.0002.1876] # MONGOLIAN LETTER MANCHU FA
+183A ; [.29CD.0020.0002.183A] # MONGOLIAN LETTER KA
+1857 ; [.29CE.0020.0002.1857] # MONGOLIAN LETTER TODO KA
+1863 ; [.29CF.0020.0002.1863] # MONGOLIAN LETTER SIBE KA
+1874 ; [.29D0.0020.0002.1874] # MONGOLIAN LETTER MANCHU KA
+1889 ; [.29D1.0020.0002.1889] # MONGOLIAN LETTER ALI GALI KA
+183B ; [.29D2.0020.0002.183B] # MONGOLIAN LETTER KHA
+183C ; [.29D3.0020.0002.183C] # MONGOLIAN LETTER TSA
+1854 ; [.29D4.0020.0002.1854] # MONGOLIAN LETTER TODO TSA
+186E ; [.29D5.0020.0002.186E] # MONGOLIAN LETTER SIBE TSA
+183D ; [.29D6.0020.0002.183D] # MONGOLIAN LETTER ZA
+186F ; [.29D7.0020.0002.186F] # MONGOLIAN LETTER SIBE ZA
+1858 ; [.29D8.0020.0002.1858] # MONGOLIAN LETTER TODO GAA
+186C ; [.29D9.0020.0002.186C] # MONGOLIAN LETTER SIBE GAA
+183E ; [.29DA.0020.0002.183E] # MONGOLIAN LETTER HAA
+1859 ; [.29DB.0020.0002.1859] # MONGOLIAN LETTER TODO HAA
+186D ; [.29DC.0020.0002.186D] # MONGOLIAN LETTER SIBE HAA
+183F ; [.29DD.0020.0002.183F] # MONGOLIAN LETTER ZRA
+1840 ; [.29DE.0020.0002.1840] # MONGOLIAN LETTER LHA
+1841 ; [.29DF.0020.0002.1841] # MONGOLIAN LETTER ZHI
+1842 ; [.29E0.0020.0002.1842] # MONGOLIAN LETTER CHI
+185A ; [.29E1.0020.0002.185A] # MONGOLIAN LETTER TODO JIA
+185B ; [.29E2.0020.0002.185B] # MONGOLIAN LETTER TODO NIA
+1870 ; [.29E3.0020.0002.1870] # MONGOLIAN LETTER SIBE RAA
+188C ; [.29E4.0020.0002.188C] # MONGOLIAN LETTER ALI GALI TTA
+189E ; [.29E5.0020.0002.189E] # MONGOLIAN LETTER MANCHU ALI GALI TTA
+188D ; [.29E6.0020.0002.188D] # MONGOLIAN LETTER ALI GALI TTHA
+188E ; [.29E7.0020.0002.188E] # MONGOLIAN LETTER ALI GALI DDA
+189F ; [.29E8.0020.0002.189F] # MONGOLIAN LETTER MANCHU ALI GALI DDHA
+188F ; [.29E9.0020.0002.188F] # MONGOLIAN LETTER ALI GALI NNA
+1890 ; [.29EA.0020.0002.1890] # MONGOLIAN LETTER ALI GALI TA
+1898 ; [.29EB.0020.0002.1898] # MONGOLIAN LETTER TODO ALI GALI TA
+18A0 ; [.29EC.0020.0002.18A0] # MONGOLIAN LETTER MANCHU ALI GALI TA
+1891 ; [.29ED.0020.0002.1891] # MONGOLIAN LETTER ALI GALI DA
+18A1 ; [.29EE.0020.0002.18A1] # MONGOLIAN LETTER MANCHU ALI GALI DHA
+1892 ; [.29EF.0020.0002.1892] # MONGOLIAN LETTER ALI GALI PA
+1893 ; [.29F0.0020.0002.1893] # MONGOLIAN LETTER ALI GALI PHA
+18A8 ; [.29F1.0020.0002.18A8] # MONGOLIAN LETTER MANCHU ALI GALI BHA
+1894 ; [.29F2.0020.0002.1894] # MONGOLIAN LETTER ALI GALI SSA
+18A3 ; [.29F3.0020.0002.18A3] # MONGOLIAN LETTER MANCHU ALI GALI CYA
+1895 ; [.29F4.0020.0002.1895] # MONGOLIAN LETTER ALI GALI ZHA
+1899 ; [.29F5.0020.0002.1899] # MONGOLIAN LETTER TODO ALI GALI ZHA
+1896 ; [.29F6.0020.0002.1896] # MONGOLIAN LETTER ALI GALI ZA
+1897 ; [.29F7.0020.0002.1897] # MONGOLIAN LETTER ALI GALI AH
+18A6 ; [.29F8.0020.0002.18A6] # MONGOLIAN LETTER ALI GALI HALF U
+18A7 ; [.29F9.0020.0002.18A7] # MONGOLIAN LETTER ALI GALI HALF YA
+18AA ; [.29FA.0020.0002.18AA] # MONGOLIAN LETTER MANCHU ALI GALI LHA
+18A9 ; [.29FB.0020.0002.18A9] # MONGOLIAN LETTER ALI GALI DAGALGA
+1C5A ; [.29FC.0020.0002.1C5A] # OL CHIKI LETTER LA
+1C5B ; [.29FD.0020.0002.1C5B] # OL CHIKI LETTER AT
+1C5C ; [.29FE.0020.0002.1C5C] # OL CHIKI LETTER AG
+1C5D ; [.29FF.0020.0002.1C5D] # OL CHIKI LETTER ANG
+1C5E ; [.2A00.0020.0002.1C5E] # OL CHIKI LETTER AL
+1C5F ; [.2A01.0020.0002.1C5F] # OL CHIKI LETTER LAA
+1C60 ; [.2A02.0020.0002.1C60] # OL CHIKI LETTER AAK
+1C61 ; [.2A03.0020.0002.1C61] # OL CHIKI LETTER AAJ
+1C62 ; [.2A04.0020.0002.1C62] # OL CHIKI LETTER AAM
+1C63 ; [.2A05.0020.0002.1C63] # OL CHIKI LETTER AAW
+1C64 ; [.2A06.0020.0002.1C64] # OL CHIKI LETTER LI
+1C65 ; [.2A07.0020.0002.1C65] # OL CHIKI LETTER IS
+1C66 ; [.2A08.0020.0002.1C66] # OL CHIKI LETTER IH
+1C67 ; [.2A09.0020.0002.1C67] # OL CHIKI LETTER INY
+1C68 ; [.2A0A.0020.0002.1C68] # OL CHIKI LETTER IR
+1C69 ; [.2A0B.0020.0002.1C69] # OL CHIKI LETTER LU
+1C6A ; [.2A0C.0020.0002.1C6A] # OL CHIKI LETTER UC
+1C6B ; [.2A0D.0020.0002.1C6B] # OL CHIKI LETTER UD
+1C6C ; [.2A0E.0020.0002.1C6C] # OL CHIKI LETTER UNN
+1C6D ; [.2A0F.0020.0002.1C6D] # OL CHIKI LETTER UY
+1C6E ; [.2A10.0020.0002.1C6E] # OL CHIKI LETTER LE
+1C6F ; [.2A11.0020.0002.1C6F] # OL CHIKI LETTER EP
+1C70 ; [.2A12.0020.0002.1C70] # OL CHIKI LETTER EDD
+1C71 ; [.2A13.0020.0002.1C71] # OL CHIKI LETTER EN
+1C72 ; [.2A14.0020.0002.1C72] # OL CHIKI LETTER ERR
+1C73 ; [.2A15.0020.0002.1C73] # OL CHIKI LETTER LO
+1C74 ; [.2A16.0020.0002.1C74] # OL CHIKI LETTER OTT
+1C75 ; [.2A17.0020.0002.1C75] # OL CHIKI LETTER OB
+1C76 ; [.2A18.0020.0002.1C76] # OL CHIKI LETTER OV
+1C77 ; [.2A19.0020.0002.1C77] # OL CHIKI LETTER OH
+1C78 ; [.2A1A.0020.0002.1C78] # OL CHIKI MU TTUDDAG
+1C79 ; [.2A1B.0020.0002.1C79] # OL CHIKI GAAHLAA TTUDDAAG
+1C7A ; [.2A1C.0020.0002.1C7A] # OL CHIKI MU-GAAHLAA TTUDDAAG
+1C7B ; [.2A1D.0020.0002.1C7B] # OL CHIKI RELAA
+1C7C ; [.2A1E.0020.0002.1C7C] # OL CHIKI PHAARKAA
+1C7D ; [.2A1F.0020.0002.1C7D] # OL CHIKI AHAD
+13A0 ; [.2A20.0020.0002.13A0] # CHEROKEE LETTER A
+13A1 ; [.2A21.0020.0002.13A1] # CHEROKEE LETTER E
+13A2 ; [.2A22.0020.0002.13A2] # CHEROKEE LETTER I
+13A3 ; [.2A23.0020.0002.13A3] # CHEROKEE LETTER O
+13A4 ; [.2A24.0020.0002.13A4] # CHEROKEE LETTER U
+13A5 ; [.2A25.0020.0002.13A5] # CHEROKEE LETTER V
+13A6 ; [.2A26.0020.0002.13A6] # CHEROKEE LETTER GA
+13A7 ; [.2A27.0020.0002.13A7] # CHEROKEE LETTER KA
+13A8 ; [.2A28.0020.0002.13A8] # CHEROKEE LETTER GE
+13A9 ; [.2A29.0020.0002.13A9] # CHEROKEE LETTER GI
+13AA ; [.2A2A.0020.0002.13AA] # CHEROKEE LETTER GO
+13AB ; [.2A2B.0020.0002.13AB] # CHEROKEE LETTER GU
+13AC ; [.2A2C.0020.0002.13AC] # CHEROKEE LETTER GV
+13AD ; [.2A2D.0020.0002.13AD] # CHEROKEE LETTER HA
+13AE ; [.2A2E.0020.0002.13AE] # CHEROKEE LETTER HE
+13AF ; [.2A2F.0020.0002.13AF] # CHEROKEE LETTER HI
+13B0 ; [.2A30.0020.0002.13B0] # CHEROKEE LETTER HO
+13B1 ; [.2A31.0020.0002.13B1] # CHEROKEE LETTER HU
+13B2 ; [.2A32.0020.0002.13B2] # CHEROKEE LETTER HV
+13B3 ; [.2A33.0020.0002.13B3] # CHEROKEE LETTER LA
+13B4 ; [.2A34.0020.0002.13B4] # CHEROKEE LETTER LE
+13B5 ; [.2A35.0020.0002.13B5] # CHEROKEE LETTER LI
+13B6 ; [.2A36.0020.0002.13B6] # CHEROKEE LETTER LO
+13B7 ; [.2A37.0020.0002.13B7] # CHEROKEE LETTER LU
+13B8 ; [.2A38.0020.0002.13B8] # CHEROKEE LETTER LV
+13B9 ; [.2A39.0020.0002.13B9] # CHEROKEE LETTER MA
+13BA ; [.2A3A.0020.0002.13BA] # CHEROKEE LETTER ME
+13BB ; [.2A3B.0020.0002.13BB] # CHEROKEE LETTER MI
+13BC ; [.2A3C.0020.0002.13BC] # CHEROKEE LETTER MO
+13BD ; [.2A3D.0020.0002.13BD] # CHEROKEE LETTER MU
+13BE ; [.2A3E.0020.0002.13BE] # CHEROKEE LETTER NA
+13BF ; [.2A3F.0020.0002.13BF] # CHEROKEE LETTER HNA
+13C0 ; [.2A40.0020.0002.13C0] # CHEROKEE LETTER NAH
+13C1 ; [.2A41.0020.0002.13C1] # CHEROKEE LETTER NE
+13C2 ; [.2A42.0020.0002.13C2] # CHEROKEE LETTER NI
+13C3 ; [.2A43.0020.0002.13C3] # CHEROKEE LETTER NO
+13C4 ; [.2A44.0020.0002.13C4] # CHEROKEE LETTER NU
+13C5 ; [.2A45.0020.0002.13C5] # CHEROKEE LETTER NV
+13C6 ; [.2A46.0020.0002.13C6] # CHEROKEE LETTER QUA
+13C7 ; [.2A47.0020.0002.13C7] # CHEROKEE LETTER QUE
+13C8 ; [.2A48.0020.0002.13C8] # CHEROKEE LETTER QUI
+13C9 ; [.2A49.0020.0002.13C9] # CHEROKEE LETTER QUO
+13CA ; [.2A4A.0020.0002.13CA] # CHEROKEE LETTER QUU
+13CB ; [.2A4B.0020.0002.13CB] # CHEROKEE LETTER QUV
+13CC ; [.2A4C.0020.0002.13CC] # CHEROKEE LETTER SA
+13CD ; [.2A4D.0020.0002.13CD] # CHEROKEE LETTER S
+13CE ; [.2A4E.0020.0002.13CE] # CHEROKEE LETTER SE
+13CF ; [.2A4F.0020.0002.13CF] # CHEROKEE LETTER SI
+13D0 ; [.2A50.0020.0002.13D0] # CHEROKEE LETTER SO
+13D1 ; [.2A51.0020.0002.13D1] # CHEROKEE LETTER SU
+13D2 ; [.2A52.0020.0002.13D2] # CHEROKEE LETTER SV
+13D3 ; [.2A53.0020.0002.13D3] # CHEROKEE LETTER DA
+13D4 ; [.2A54.0020.0002.13D4] # CHEROKEE LETTER TA
+13D5 ; [.2A55.0020.0002.13D5] # CHEROKEE LETTER DE
+13D6 ; [.2A56.0020.0002.13D6] # CHEROKEE LETTER TE
+13D7 ; [.2A57.0020.0002.13D7] # CHEROKEE LETTER DI
+13D8 ; [.2A58.0020.0002.13D8] # CHEROKEE LETTER TI
+13D9 ; [.2A59.0020.0002.13D9] # CHEROKEE LETTER DO
+13DA ; [.2A5A.0020.0002.13DA] # CHEROKEE LETTER DU
+13DB ; [.2A5B.0020.0002.13DB] # CHEROKEE LETTER DV
+13DC ; [.2A5C.0020.0002.13DC] # CHEROKEE LETTER DLA
+13DD ; [.2A5D.0020.0002.13DD] # CHEROKEE LETTER TLA
+13DE ; [.2A5E.0020.0002.13DE] # CHEROKEE LETTER TLE
+13DF ; [.2A5F.0020.0002.13DF] # CHEROKEE LETTER TLI
+13E0 ; [.2A60.0020.0002.13E0] # CHEROKEE LETTER TLO
+13E1 ; [.2A61.0020.0002.13E1] # CHEROKEE LETTER TLU
+13E2 ; [.2A62.0020.0002.13E2] # CHEROKEE LETTER TLV
+13E3 ; [.2A63.0020.0002.13E3] # CHEROKEE LETTER TSA
+13E4 ; [.2A64.0020.0002.13E4] # CHEROKEE LETTER TSE
+13E5 ; [.2A65.0020.0002.13E5] # CHEROKEE LETTER TSI
+13E6 ; [.2A66.0020.0002.13E6] # CHEROKEE LETTER TSO
+13E7 ; [.2A67.0020.0002.13E7] # CHEROKEE LETTER TSU
+13E8 ; [.2A68.0020.0002.13E8] # CHEROKEE LETTER TSV
+13E9 ; [.2A69.0020.0002.13E9] # CHEROKEE LETTER WA
+13EA ; [.2A6A.0020.0002.13EA] # CHEROKEE LETTER WE
+13EB ; [.2A6B.0020.0002.13EB] # CHEROKEE LETTER WI
+13EC ; [.2A6C.0020.0002.13EC] # CHEROKEE LETTER WO
+13ED ; [.2A6D.0020.0002.13ED] # CHEROKEE LETTER WU
+13EE ; [.2A6E.0020.0002.13EE] # CHEROKEE LETTER WV
+13EF ; [.2A6F.0020.0002.13EF] # CHEROKEE LETTER YA
+13F0 ; [.2A70.0020.0002.13F0] # CHEROKEE LETTER YE
+13F1 ; [.2A71.0020.0002.13F1] # CHEROKEE LETTER YI
+13F2 ; [.2A72.0020.0002.13F2] # CHEROKEE LETTER YO
+13F3 ; [.2A73.0020.0002.13F3] # CHEROKEE LETTER YU
+13F4 ; [.2A74.0020.0002.13F4] # CHEROKEE LETTER YV
+1401 ; [.2A75.0020.0002.1401] # CANADIAN SYLLABICS E
+1402 ; [.2A76.0020.0002.1402] # CANADIAN SYLLABICS AAI
+1403 ; [.2A77.0020.0002.1403] # CANADIAN SYLLABICS I
+1404 ; [.2A78.0020.0002.1404] # CANADIAN SYLLABICS II
+1405 ; [.2A79.0020.0002.1405] # CANADIAN SYLLABICS O
+1406 ; [.2A7A.0020.0002.1406] # CANADIAN SYLLABICS OO
+1407 ; [.2A7B.0020.0002.1407] # CANADIAN SYLLABICS Y-CREE OO
+1408 ; [.2A7C.0020.0002.1408] # CANADIAN SYLLABICS CARRIER EE
+1409 ; [.2A7D.0020.0002.1409] # CANADIAN SYLLABICS CARRIER I
+140A ; [.2A7E.0020.0002.140A] # CANADIAN SYLLABICS A
+140B ; [.2A7F.0020.0002.140B] # CANADIAN SYLLABICS AA
+140C ; [.2A80.0020.0002.140C] # CANADIAN SYLLABICS WE
+140D ; [.2A81.0020.0002.140D] # CANADIAN SYLLABICS WEST-CREE WE
+140E ; [.2A82.0020.0002.140E] # CANADIAN SYLLABICS WI
+140F ; [.2A83.0020.0002.140F] # CANADIAN SYLLABICS WEST-CREE WI
+1410 ; [.2A84.0020.0002.1410] # CANADIAN SYLLABICS WII
+1411 ; [.2A85.0020.0002.1411] # CANADIAN SYLLABICS WEST-CREE WII
+1412 ; [.2A86.0020.0002.1412] # CANADIAN SYLLABICS WO
+1413 ; [.2A87.0020.0002.1413] # CANADIAN SYLLABICS WEST-CREE WO
+1414 ; [.2A88.0020.0002.1414] # CANADIAN SYLLABICS WOO
+1415 ; [.2A89.0020.0002.1415] # CANADIAN SYLLABICS WEST-CREE WOO
+1416 ; [.2A8A.0020.0002.1416] # CANADIAN SYLLABICS NASKAPI WOO
+1417 ; [.2A8B.0020.0002.1417] # CANADIAN SYLLABICS WA
+1418 ; [.2A8C.0020.0002.1418] # CANADIAN SYLLABICS WEST-CREE WA
+1419 ; [.2A8D.0020.0002.1419] # CANADIAN SYLLABICS WAA
+141A ; [.2A8E.0020.0002.141A] # CANADIAN SYLLABICS WEST-CREE WAA
+141B ; [.2A8F.0020.0002.141B] # CANADIAN SYLLABICS NASKAPI WAA
+141C ; [.2A90.0020.0002.141C] # CANADIAN SYLLABICS AI
+141D ; [.2A91.0020.0002.141D] # CANADIAN SYLLABICS Y-CREE W
+141E ; [.2A92.0020.0002.141E] # CANADIAN SYLLABICS GLOTTAL STOP
+141F ; [.2A93.0020.0002.141F] # CANADIAN SYLLABICS FINAL ACUTE
+1420 ; [.2A94.0020.0002.1420] # CANADIAN SYLLABICS FINAL GRAVE
+1421 ; [.2A95.0020.0002.1421] # CANADIAN SYLLABICS FINAL BOTTOM HALF RING
+1422 ; [.2A96.0020.0002.1422] # CANADIAN SYLLABICS FINAL TOP HALF RING
+1423 ; [.2A97.0020.0002.1423] # CANADIAN SYLLABICS FINAL RIGHT HALF RING
+1424 ; [.2A98.0020.0002.1424] # CANADIAN SYLLABICS FINAL RING
+1425 ; [.2A99.0020.0002.1425] # CANADIAN SYLLABICS FINAL DOUBLE ACUTE
+1426 ; [.2A9A.0020.0002.1426] # CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES
+1427 ; [.2A9B.0020.0002.1427] # CANADIAN SYLLABICS FINAL MIDDLE DOT
+1428 ; [.2A9C.0020.0002.1428] # CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE
+1429 ; [.2A9D.0020.0002.1429] # CANADIAN SYLLABICS FINAL PLUS
+142A ; [.2A9E.0020.0002.142A] # CANADIAN SYLLABICS FINAL DOWN TACK
+142B ; [.2A9F.0020.0002.142B] # CANADIAN SYLLABICS EN
+142C ; [.2AA0.0020.0002.142C] # CANADIAN SYLLABICS IN
+142D ; [.2AA1.0020.0002.142D] # CANADIAN SYLLABICS ON
+142E ; [.2AA2.0020.0002.142E] # CANADIAN SYLLABICS AN
+142F ; [.2AA3.0020.0002.142F] # CANADIAN SYLLABICS PE
+1430 ; [.2AA4.0020.0002.1430] # CANADIAN SYLLABICS PAAI
+1431 ; [.2AA5.0020.0002.1431] # CANADIAN SYLLABICS PI
+1432 ; [.2AA6.0020.0002.1432] # CANADIAN SYLLABICS PII
+1433 ; [.2AA7.0020.0002.1433] # CANADIAN SYLLABICS PO
+1434 ; [.2AA8.0020.0002.1434] # CANADIAN SYLLABICS POO
+1435 ; [.2AA9.0020.0002.1435] # CANADIAN SYLLABICS Y-CREE POO
+1436 ; [.2AAA.0020.0002.1436] # CANADIAN SYLLABICS CARRIER HEE
+1437 ; [.2AAB.0020.0002.1437] # CANADIAN SYLLABICS CARRIER HI
+1438 ; [.2AAC.0020.0002.1438] # CANADIAN SYLLABICS PA
+1439 ; [.2AAD.0020.0002.1439] # CANADIAN SYLLABICS PAA
+143A ; [.2AAE.0020.0002.143A] # CANADIAN SYLLABICS PWE
+143B ; [.2AAF.0020.0002.143B] # CANADIAN SYLLABICS WEST-CREE PWE
+143C ; [.2AB0.0020.0002.143C] # CANADIAN SYLLABICS PWI
+143D ; [.2AB1.0020.0002.143D] # CANADIAN SYLLABICS WEST-CREE PWI
+143E ; [.2AB2.0020.0002.143E] # CANADIAN SYLLABICS PWII
+143F ; [.2AB3.0020.0002.143F] # CANADIAN SYLLABICS WEST-CREE PWII
+1440 ; [.2AB4.0020.0002.1440] # CANADIAN SYLLABICS PWO
+1441 ; [.2AB5.0020.0002.1441] # CANADIAN SYLLABICS WEST-CREE PWO
+1442 ; [.2AB6.0020.0002.1442] # CANADIAN SYLLABICS PWOO
+1443 ; [.2AB7.0020.0002.1443] # CANADIAN SYLLABICS WEST-CREE PWOO
+1444 ; [.2AB8.0020.0002.1444] # CANADIAN SYLLABICS PWA
+1445 ; [.2AB9.0020.0002.1445] # CANADIAN SYLLABICS WEST-CREE PWA
+1446 ; [.2ABA.0020.0002.1446] # CANADIAN SYLLABICS PWAA
+1447 ; [.2ABB.0020.0002.1447] # CANADIAN SYLLABICS WEST-CREE PWAA
+1448 ; [.2ABC.0020.0002.1448] # CANADIAN SYLLABICS Y-CREE PWAA
+1449 ; [.2ABD.0020.0002.1449] # CANADIAN SYLLABICS P
+144A ; [.2ABE.0020.0002.144A] # CANADIAN SYLLABICS WEST-CREE P
+144B ; [.2ABF.0020.0002.144B] # CANADIAN SYLLABICS CARRIER H
+144C ; [.2AC0.0020.0002.144C] # CANADIAN SYLLABICS TE
+144D ; [.2AC1.0020.0002.144D] # CANADIAN SYLLABICS TAAI
+144E ; [.2AC2.0020.0002.144E] # CANADIAN SYLLABICS TI
+144F ; [.2AC3.0020.0002.144F] # CANADIAN SYLLABICS TII
+1450 ; [.2AC4.0020.0002.1450] # CANADIAN SYLLABICS TO
+1451 ; [.2AC5.0020.0002.1451] # CANADIAN SYLLABICS TOO
+1452 ; [.2AC6.0020.0002.1452] # CANADIAN SYLLABICS Y-CREE TOO
+1453 ; [.2AC7.0020.0002.1453] # CANADIAN SYLLABICS CARRIER DEE
+1454 ; [.2AC8.0020.0002.1454] # CANADIAN SYLLABICS CARRIER DI
+1455 ; [.2AC9.0020.0002.1455] # CANADIAN SYLLABICS TA
+1456 ; [.2ACA.0020.0002.1456] # CANADIAN SYLLABICS TAA
+1457 ; [.2ACB.0020.0002.1457] # CANADIAN SYLLABICS TWE
+1458 ; [.2ACC.0020.0002.1458] # CANADIAN SYLLABICS WEST-CREE TWE
+1459 ; [.2ACD.0020.0002.1459] # CANADIAN SYLLABICS TWI
+145A ; [.2ACE.0020.0002.145A] # CANADIAN SYLLABICS WEST-CREE TWI
+145B ; [.2ACF.0020.0002.145B] # CANADIAN SYLLABICS TWII
+145C ; [.2AD0.0020.0002.145C] # CANADIAN SYLLABICS WEST-CREE TWII
+145D ; [.2AD1.0020.0002.145D] # CANADIAN SYLLABICS TWO
+145E ; [.2AD2.0020.0002.145E] # CANADIAN SYLLABICS WEST-CREE TWO
+145F ; [.2AD3.0020.0002.145F] # CANADIAN SYLLABICS TWOO
+1460 ; [.2AD4.0020.0002.1460] # CANADIAN SYLLABICS WEST-CREE TWOO
+1461 ; [.2AD5.0020.0002.1461] # CANADIAN SYLLABICS TWA
+1462 ; [.2AD6.0020.0002.1462] # CANADIAN SYLLABICS WEST-CREE TWA
+1463 ; [.2AD7.0020.0002.1463] # CANADIAN SYLLABICS TWAA
+1464 ; [.2AD8.0020.0002.1464] # CANADIAN SYLLABICS WEST-CREE TWAA
+1465 ; [.2AD9.0020.0002.1465] # CANADIAN SYLLABICS NASKAPI TWAA
+1466 ; [.2ADA.0020.0002.1466] # CANADIAN SYLLABICS T
+1467 ; [.2ADB.0020.0002.1467] # CANADIAN SYLLABICS TTE
+1468 ; [.2ADC.0020.0002.1468] # CANADIAN SYLLABICS TTI
+1469 ; [.2ADD.0020.0002.1469] # CANADIAN SYLLABICS TTO
+146A ; [.2ADE.0020.0002.146A] # CANADIAN SYLLABICS TTA
+146B ; [.2ADF.0020.0002.146B] # CANADIAN SYLLABICS KE
+146C ; [.2AE0.0020.0002.146C] # CANADIAN SYLLABICS KAAI
+146D ; [.2AE1.0020.0002.146D] # CANADIAN SYLLABICS KI
+146E ; [.2AE2.0020.0002.146E] # CANADIAN SYLLABICS KII
+146F ; [.2AE3.0020.0002.146F] # CANADIAN SYLLABICS KO
+1470 ; [.2AE4.0020.0002.1470] # CANADIAN SYLLABICS KOO
+1471 ; [.2AE5.0020.0002.1471] # CANADIAN SYLLABICS Y-CREE KOO
+1472 ; [.2AE6.0020.0002.1472] # CANADIAN SYLLABICS KA
+1473 ; [.2AE7.0020.0002.1473] # CANADIAN SYLLABICS KAA
+1474 ; [.2AE8.0020.0002.1474] # CANADIAN SYLLABICS KWE
+1475 ; [.2AE9.0020.0002.1475] # CANADIAN SYLLABICS WEST-CREE KWE
+1476 ; [.2AEA.0020.0002.1476] # CANADIAN SYLLABICS KWI
+1477 ; [.2AEB.0020.0002.1477] # CANADIAN SYLLABICS WEST-CREE KWI
+1478 ; [.2AEC.0020.0002.1478] # CANADIAN SYLLABICS KWII
+1479 ; [.2AED.0020.0002.1479] # CANADIAN SYLLABICS WEST-CREE KWII
+147A ; [.2AEE.0020.0002.147A] # CANADIAN SYLLABICS KWO
+147B ; [.2AEF.0020.0002.147B] # CANADIAN SYLLABICS WEST-CREE KWO
+147C ; [.2AF0.0020.0002.147C] # CANADIAN SYLLABICS KWOO
+147D ; [.2AF1.0020.0002.147D] # CANADIAN SYLLABICS WEST-CREE KWOO
+147E ; [.2AF2.0020.0002.147E] # CANADIAN SYLLABICS KWA
+147F ; [.2AF3.0020.0002.147F] # CANADIAN SYLLABICS WEST-CREE KWA
+1480 ; [.2AF4.0020.0002.1480] # CANADIAN SYLLABICS KWAA
+1481 ; [.2AF5.0020.0002.1481] # CANADIAN SYLLABICS WEST-CREE KWAA
+1482 ; [.2AF6.0020.0002.1482] # CANADIAN SYLLABICS NASKAPI KWAA
+1483 ; [.2AF7.0020.0002.1483] # CANADIAN SYLLABICS K
+1484 ; [.2AF8.0020.0002.1484] # CANADIAN SYLLABICS KW
+1485 ; [.2AF9.0020.0002.1485] # CANADIAN SYLLABICS SOUTH-SLAVEY KEH
+1486 ; [.2AFA.0020.0002.1486] # CANADIAN SYLLABICS SOUTH-SLAVEY KIH
+1487 ; [.2AFB.0020.0002.1487] # CANADIAN SYLLABICS SOUTH-SLAVEY KOH
+1488 ; [.2AFC.0020.0002.1488] # CANADIAN SYLLABICS SOUTH-SLAVEY KAH
+1489 ; [.2AFD.0020.0002.1489] # CANADIAN SYLLABICS CE
+148A ; [.2AFE.0020.0002.148A] # CANADIAN SYLLABICS CAAI
+148B ; [.2AFF.0020.0002.148B] # CANADIAN SYLLABICS CI
+148C ; [.2B00.0020.0002.148C] # CANADIAN SYLLABICS CII
+148D ; [.2B01.0020.0002.148D] # CANADIAN SYLLABICS CO
+148E ; [.2B02.0020.0002.148E] # CANADIAN SYLLABICS COO
+148F ; [.2B03.0020.0002.148F] # CANADIAN SYLLABICS Y-CREE COO
+1490 ; [.2B04.0020.0002.1490] # CANADIAN SYLLABICS CA
+1491 ; [.2B05.0020.0002.1491] # CANADIAN SYLLABICS CAA
+1492 ; [.2B06.0020.0002.1492] # CANADIAN SYLLABICS CWE
+1493 ; [.2B07.0020.0002.1493] # CANADIAN SYLLABICS WEST-CREE CWE
+1494 ; [.2B08.0020.0002.1494] # CANADIAN SYLLABICS CWI
+1495 ; [.2B09.0020.0002.1495] # CANADIAN SYLLABICS WEST-CREE CWI
+1496 ; [.2B0A.0020.0002.1496] # CANADIAN SYLLABICS CWII
+1497 ; [.2B0B.0020.0002.1497] # CANADIAN SYLLABICS WEST-CREE CWII
+1498 ; [.2B0C.0020.0002.1498] # CANADIAN SYLLABICS CWO
+1499 ; [.2B0D.0020.0002.1499] # CANADIAN SYLLABICS WEST-CREE CWO
+149A ; [.2B0E.0020.0002.149A] # CANADIAN SYLLABICS CWOO
+149B ; [.2B0F.0020.0002.149B] # CANADIAN SYLLABICS WEST-CREE CWOO
+149C ; [.2B10.0020.0002.149C] # CANADIAN SYLLABICS CWA
+149D ; [.2B11.0020.0002.149D] # CANADIAN SYLLABICS WEST-CREE CWA
+149E ; [.2B12.0020.0002.149E] # CANADIAN SYLLABICS CWAA
+149F ; [.2B13.0020.0002.149F] # CANADIAN SYLLABICS WEST-CREE CWAA
+14A0 ; [.2B14.0020.0002.14A0] # CANADIAN SYLLABICS NASKAPI CWAA
+14A1 ; [.2B15.0020.0002.14A1] # CANADIAN SYLLABICS C
+14A2 ; [.2B16.0020.0002.14A2] # CANADIAN SYLLABICS SAYISI TH
+14A3 ; [.2B17.0020.0002.14A3] # CANADIAN SYLLABICS ME
+14A4 ; [.2B18.0020.0002.14A4] # CANADIAN SYLLABICS MAAI
+14A5 ; [.2B19.0020.0002.14A5] # CANADIAN SYLLABICS MI
+14A6 ; [.2B1A.0020.0002.14A6] # CANADIAN SYLLABICS MII
+14A7 ; [.2B1B.0020.0002.14A7] # CANADIAN SYLLABICS MO
+14A8 ; [.2B1C.0020.0002.14A8] # CANADIAN SYLLABICS MOO
+14A9 ; [.2B1D.0020.0002.14A9] # CANADIAN SYLLABICS Y-CREE MOO
+14AA ; [.2B1E.0020.0002.14AA] # CANADIAN SYLLABICS MA
+14AB ; [.2B1F.0020.0002.14AB] # CANADIAN SYLLABICS MAA
+14AC ; [.2B20.0020.0002.14AC] # CANADIAN SYLLABICS MWE
+14AD ; [.2B21.0020.0002.14AD] # CANADIAN SYLLABICS WEST-CREE MWE
+14AE ; [.2B22.0020.0002.14AE] # CANADIAN SYLLABICS MWI
+14AF ; [.2B23.0020.0002.14AF] # CANADIAN SYLLABICS WEST-CREE MWI
+14B0 ; [.2B24.0020.0002.14B0] # CANADIAN SYLLABICS MWII
+14B1 ; [.2B25.0020.0002.14B1] # CANADIAN SYLLABICS WEST-CREE MWII
+14B2 ; [.2B26.0020.0002.14B2] # CANADIAN SYLLABICS MWO
+14B3 ; [.2B27.0020.0002.14B3] # CANADIAN SYLLABICS WEST-CREE MWO
+14B4 ; [.2B28.0020.0002.14B4] # CANADIAN SYLLABICS MWOO
+14B5 ; [.2B29.0020.0002.14B5] # CANADIAN SYLLABICS WEST-CREE MWOO
+14B6 ; [.2B2A.0020.0002.14B6] # CANADIAN SYLLABICS MWA
+14B7 ; [.2B2B.0020.0002.14B7] # CANADIAN SYLLABICS WEST-CREE MWA
+14B8 ; [.2B2C.0020.0002.14B8] # CANADIAN SYLLABICS MWAA
+14B9 ; [.2B2D.0020.0002.14B9] # CANADIAN SYLLABICS WEST-CREE MWAA
+14BA ; [.2B2E.0020.0002.14BA] # CANADIAN SYLLABICS NASKAPI MWAA
+14BB ; [.2B2F.0020.0002.14BB] # CANADIAN SYLLABICS M
+14BC ; [.2B30.0020.0002.14BC] # CANADIAN SYLLABICS WEST-CREE M
+14BD ; [.2B31.0020.0002.14BD] # CANADIAN SYLLABICS MH
+14BE ; [.2B32.0020.0002.14BE] # CANADIAN SYLLABICS ATHAPASCAN M
+14BF ; [.2B33.0020.0002.14BF] # CANADIAN SYLLABICS SAYISI M
+14C0 ; [.2B34.0020.0002.14C0] # CANADIAN SYLLABICS NE
+14C1 ; [.2B35.0020.0002.14C1] # CANADIAN SYLLABICS NAAI
+14C2 ; [.2B36.0020.0002.14C2] # CANADIAN SYLLABICS NI
+14C3 ; [.2B37.0020.0002.14C3] # CANADIAN SYLLABICS NII
+14C4 ; [.2B38.0020.0002.14C4] # CANADIAN SYLLABICS NO
+14C5 ; [.2B39.0020.0002.14C5] # CANADIAN SYLLABICS NOO
+14C6 ; [.2B3A.0020.0002.14C6] # CANADIAN SYLLABICS Y-CREE NOO
+14C7 ; [.2B3B.0020.0002.14C7] # CANADIAN SYLLABICS NA
+14C8 ; [.2B3C.0020.0002.14C8] # CANADIAN SYLLABICS NAA
+14C9 ; [.2B3D.0020.0002.14C9] # CANADIAN SYLLABICS NWE
+14CA ; [.2B3E.0020.0002.14CA] # CANADIAN SYLLABICS WEST-CREE NWE
+14CB ; [.2B3F.0020.0002.14CB] # CANADIAN SYLLABICS NWA
+14CC ; [.2B40.0020.0002.14CC] # CANADIAN SYLLABICS WEST-CREE NWA
+14CD ; [.2B41.0020.0002.14CD] # CANADIAN SYLLABICS NWAA
+14CE ; [.2B42.0020.0002.14CE] # CANADIAN SYLLABICS WEST-CREE NWAA
+14CF ; [.2B43.0020.0002.14CF] # CANADIAN SYLLABICS NASKAPI NWAA
+14D0 ; [.2B44.0020.0002.14D0] # CANADIAN SYLLABICS N
+14D1 ; [.2B45.0020.0002.14D1] # CANADIAN SYLLABICS CARRIER NG
+14D2 ; [.2B46.0020.0002.14D2] # CANADIAN SYLLABICS NH
+14D3 ; [.2B47.0020.0002.14D3] # CANADIAN SYLLABICS LE
+14D4 ; [.2B48.0020.0002.14D4] # CANADIAN SYLLABICS LAAI
+14D5 ; [.2B49.0020.0002.14D5] # CANADIAN SYLLABICS LI
+14D6 ; [.2B4A.0020.0002.14D6] # CANADIAN SYLLABICS LII
+14D7 ; [.2B4B.0020.0002.14D7] # CANADIAN SYLLABICS LO
+14D8 ; [.2B4C.0020.0002.14D8] # CANADIAN SYLLABICS LOO
+14D9 ; [.2B4D.0020.0002.14D9] # CANADIAN SYLLABICS Y-CREE LOO
+14DA ; [.2B4E.0020.0002.14DA] # CANADIAN SYLLABICS LA
+14DB ; [.2B4F.0020.0002.14DB] # CANADIAN SYLLABICS LAA
+14DC ; [.2B50.0020.0002.14DC] # CANADIAN SYLLABICS LWE
+14DD ; [.2B51.0020.0002.14DD] # CANADIAN SYLLABICS WEST-CREE LWE
+14DE ; [.2B52.0020.0002.14DE] # CANADIAN SYLLABICS LWI
+14DF ; [.2B53.0020.0002.14DF] # CANADIAN SYLLABICS WEST-CREE LWI
+14E0 ; [.2B54.0020.0002.14E0] # CANADIAN SYLLABICS LWII
+14E1 ; [.2B55.0020.0002.14E1] # CANADIAN SYLLABICS WEST-CREE LWII
+14E2 ; [.2B56.0020.0002.14E2] # CANADIAN SYLLABICS LWO
+14E3 ; [.2B57.0020.0002.14E3] # CANADIAN SYLLABICS WEST-CREE LWO
+14E4 ; [.2B58.0020.0002.14E4] # CANADIAN SYLLABICS LWOO
+14E5 ; [.2B59.0020.0002.14E5] # CANADIAN SYLLABICS WEST-CREE LWOO
+14E6 ; [.2B5A.0020.0002.14E6] # CANADIAN SYLLABICS LWA
+14E7 ; [.2B5B.0020.0002.14E7] # CANADIAN SYLLABICS WEST-CREE LWA
+14E8 ; [.2B5C.0020.0002.14E8] # CANADIAN SYLLABICS LWAA
+14E9 ; [.2B5D.0020.0002.14E9] # CANADIAN SYLLABICS WEST-CREE LWAA
+14EA ; [.2B5E.0020.0002.14EA] # CANADIAN SYLLABICS L
+14EB ; [.2B5F.0020.0002.14EB] # CANADIAN SYLLABICS WEST-CREE L
+14EC ; [.2B60.0020.0002.14EC] # CANADIAN SYLLABICS MEDIAL L
+14ED ; [.2B61.0020.0002.14ED] # CANADIAN SYLLABICS SE
+14EE ; [.2B62.0020.0002.14EE] # CANADIAN SYLLABICS SAAI
+14EF ; [.2B63.0020.0002.14EF] # CANADIAN SYLLABICS SI
+14F0 ; [.2B64.0020.0002.14F0] # CANADIAN SYLLABICS SII
+14F1 ; [.2B65.0020.0002.14F1] # CANADIAN SYLLABICS SO
+14F2 ; [.2B66.0020.0002.14F2] # CANADIAN SYLLABICS SOO
+14F3 ; [.2B67.0020.0002.14F3] # CANADIAN SYLLABICS Y-CREE SOO
+14F4 ; [.2B68.0020.0002.14F4] # CANADIAN SYLLABICS SA
+14F5 ; [.2B69.0020.0002.14F5] # CANADIAN SYLLABICS SAA
+14F6 ; [.2B6A.0020.0002.14F6] # CANADIAN SYLLABICS SWE
+14F7 ; [.2B6B.0020.0002.14F7] # CANADIAN SYLLABICS WEST-CREE SWE
+14F8 ; [.2B6C.0020.0002.14F8] # CANADIAN SYLLABICS SWI
+14F9 ; [.2B6D.0020.0002.14F9] # CANADIAN SYLLABICS WEST-CREE SWI
+14FA ; [.2B6E.0020.0002.14FA] # CANADIAN SYLLABICS SWII
+14FB ; [.2B6F.0020.0002.14FB] # CANADIAN SYLLABICS WEST-CREE SWII
+14FC ; [.2B70.0020.0002.14FC] # CANADIAN SYLLABICS SWO
+14FD ; [.2B71.0020.0002.14FD] # CANADIAN SYLLABICS WEST-CREE SWO
+14FE ; [.2B72.0020.0002.14FE] # CANADIAN SYLLABICS SWOO
+14FF ; [.2B73.0020.0002.14FF] # CANADIAN SYLLABICS WEST-CREE SWOO
+1500 ; [.2B74.0020.0002.1500] # CANADIAN SYLLABICS SWA
+1501 ; [.2B75.0020.0002.1501] # CANADIAN SYLLABICS WEST-CREE SWA
+1502 ; [.2B76.0020.0002.1502] # CANADIAN SYLLABICS SWAA
+1503 ; [.2B77.0020.0002.1503] # CANADIAN SYLLABICS WEST-CREE SWAA
+1504 ; [.2B78.0020.0002.1504] # CANADIAN SYLLABICS NASKAPI SWAA
+1505 ; [.2B79.0020.0002.1505] # CANADIAN SYLLABICS S
+1506 ; [.2B7A.0020.0002.1506] # CANADIAN SYLLABICS ATHAPASCAN S
+1507 ; [.2B7B.0020.0002.1507] # CANADIAN SYLLABICS SW
+1508 ; [.2B7C.0020.0002.1508] # CANADIAN SYLLABICS BLACKFOOT S
+1509 ; [.2B7D.0020.0002.1509] # CANADIAN SYLLABICS MOOSE-CREE SK
+150A ; [.2B7E.0020.0002.150A] # CANADIAN SYLLABICS NASKAPI SKW
+150B ; [.2B7F.0020.0002.150B] # CANADIAN SYLLABICS NASKAPI S-W
+150C ; [.2B80.0020.0002.150C] # CANADIAN SYLLABICS NASKAPI SPWA
+150D ; [.2B81.0020.0002.150D] # CANADIAN SYLLABICS NASKAPI STWA
+150E ; [.2B82.0020.0002.150E] # CANADIAN SYLLABICS NASKAPI SKWA
+150F ; [.2B83.0020.0002.150F] # CANADIAN SYLLABICS NASKAPI SCWA
+1510 ; [.2B84.0020.0002.1510] # CANADIAN SYLLABICS SHE
+1511 ; [.2B85.0020.0002.1511] # CANADIAN SYLLABICS SHI
+1512 ; [.2B86.0020.0002.1512] # CANADIAN SYLLABICS SHII
+1513 ; [.2B87.0020.0002.1513] # CANADIAN SYLLABICS SHO
+1514 ; [.2B88.0020.0002.1514] # CANADIAN SYLLABICS SHOO
+1515 ; [.2B89.0020.0002.1515] # CANADIAN SYLLABICS SHA
+1516 ; [.2B8A.0020.0002.1516] # CANADIAN SYLLABICS SHAA
+1517 ; [.2B8B.0020.0002.1517] # CANADIAN SYLLABICS SHWE
+1518 ; [.2B8C.0020.0002.1518] # CANADIAN SYLLABICS WEST-CREE SHWE
+1519 ; [.2B8D.0020.0002.1519] # CANADIAN SYLLABICS SHWI
+151A ; [.2B8E.0020.0002.151A] # CANADIAN SYLLABICS WEST-CREE SHWI
+151B ; [.2B8F.0020.0002.151B] # CANADIAN SYLLABICS SHWII
+151C ; [.2B90.0020.0002.151C] # CANADIAN SYLLABICS WEST-CREE SHWII
+151D ; [.2B91.0020.0002.151D] # CANADIAN SYLLABICS SHWO
+151E ; [.2B92.0020.0002.151E] # CANADIAN SYLLABICS WEST-CREE SHWO
+151F ; [.2B93.0020.0002.151F] # CANADIAN SYLLABICS SHWOO
+1520 ; [.2B94.0020.0002.1520] # CANADIAN SYLLABICS WEST-CREE SHWOO
+1521 ; [.2B95.0020.0002.1521] # CANADIAN SYLLABICS SHWA
+1522 ; [.2B96.0020.0002.1522] # CANADIAN SYLLABICS WEST-CREE SHWA
+1523 ; [.2B97.0020.0002.1523] # CANADIAN SYLLABICS SHWAA
+1524 ; [.2B98.0020.0002.1524] # CANADIAN SYLLABICS WEST-CREE SHWAA
+1525 ; [.2B99.0020.0002.1525] # CANADIAN SYLLABICS SH
+1526 ; [.2B9A.0020.0002.1526] # CANADIAN SYLLABICS YE
+1527 ; [.2B9B.0020.0002.1527] # CANADIAN SYLLABICS YAAI
+1528 ; [.2B9C.0020.0002.1528] # CANADIAN SYLLABICS YI
+1529 ; [.2B9D.0020.0002.1529] # CANADIAN SYLLABICS YII
+152A ; [.2B9E.0020.0002.152A] # CANADIAN SYLLABICS YO
+152B ; [.2B9F.0020.0002.152B] # CANADIAN SYLLABICS YOO
+152C ; [.2BA0.0020.0002.152C] # CANADIAN SYLLABICS Y-CREE YOO
+152D ; [.2BA1.0020.0002.152D] # CANADIAN SYLLABICS YA
+152E ; [.2BA2.0020.0002.152E] # CANADIAN SYLLABICS YAA
+152F ; [.2BA3.0020.0002.152F] # CANADIAN SYLLABICS YWE
+1530 ; [.2BA4.0020.0002.1530] # CANADIAN SYLLABICS WEST-CREE YWE
+1531 ; [.2BA5.0020.0002.1531] # CANADIAN SYLLABICS YWI
+1532 ; [.2BA6.0020.0002.1532] # CANADIAN SYLLABICS WEST-CREE YWI
+1533 ; [.2BA7.0020.0002.1533] # CANADIAN SYLLABICS YWII
+1534 ; [.2BA8.0020.0002.1534] # CANADIAN SYLLABICS WEST-CREE YWII
+1535 ; [.2BA9.0020.0002.1535] # CANADIAN SYLLABICS YWO
+1536 ; [.2BAA.0020.0002.1536] # CANADIAN SYLLABICS WEST-CREE YWO
+1537 ; [.2BAB.0020.0002.1537] # CANADIAN SYLLABICS YWOO
+1538 ; [.2BAC.0020.0002.1538] # CANADIAN SYLLABICS WEST-CREE YWOO
+1539 ; [.2BAD.0020.0002.1539] # CANADIAN SYLLABICS YWA
+153A ; [.2BAE.0020.0002.153A] # CANADIAN SYLLABICS WEST-CREE YWA
+153B ; [.2BAF.0020.0002.153B] # CANADIAN SYLLABICS YWAA
+153C ; [.2BB0.0020.0002.153C] # CANADIAN SYLLABICS WEST-CREE YWAA
+153D ; [.2BB1.0020.0002.153D] # CANADIAN SYLLABICS NASKAPI YWAA
+153E ; [.2BB2.0020.0002.153E] # CANADIAN SYLLABICS Y
+153F ; [.2BB3.0020.0002.153F] # CANADIAN SYLLABICS BIBLE-CREE Y
+1540 ; [.2BB4.0020.0002.1540] # CANADIAN SYLLABICS WEST-CREE Y
+1541 ; [.2BB5.0020.0002.1541] # CANADIAN SYLLABICS SAYISI YI
+1542 ; [.2BB6.0020.0002.1542] # CANADIAN SYLLABICS RE
+1543 ; [.2BB7.0020.0002.1543] # CANADIAN SYLLABICS R-CREE RE
+1544 ; [.2BB8.0020.0002.1544] # CANADIAN SYLLABICS WEST-CREE LE
+1545 ; [.2BB9.0020.0002.1545] # CANADIAN SYLLABICS RAAI
+1546 ; [.2BBA.0020.0002.1546] # CANADIAN SYLLABICS RI
+1547 ; [.2BBB.0020.0002.1547] # CANADIAN SYLLABICS RII
+1548 ; [.2BBC.0020.0002.1548] # CANADIAN SYLLABICS RO
+1549 ; [.2BBD.0020.0002.1549] # CANADIAN SYLLABICS ROO
+154A ; [.2BBE.0020.0002.154A] # CANADIAN SYLLABICS WEST-CREE LO
+154B ; [.2BBF.0020.0002.154B] # CANADIAN SYLLABICS RA
+154C ; [.2BC0.0020.0002.154C] # CANADIAN SYLLABICS RAA
+154D ; [.2BC1.0020.0002.154D] # CANADIAN SYLLABICS WEST-CREE LA
+154E ; [.2BC2.0020.0002.154E] # CANADIAN SYLLABICS RWAA
+154F ; [.2BC3.0020.0002.154F] # CANADIAN SYLLABICS WEST-CREE RWAA
+1550 ; [.2BC4.0020.0002.1550] # CANADIAN SYLLABICS R
+1551 ; [.2BC5.0020.0002.1551] # CANADIAN SYLLABICS WEST-CREE R
+1552 ; [.2BC6.0020.0002.1552] # CANADIAN SYLLABICS MEDIAL R
+1553 ; [.2BC7.0020.0002.1553] # CANADIAN SYLLABICS FE
+1554 ; [.2BC8.0020.0002.1554] # CANADIAN SYLLABICS FAAI
+1555 ; [.2BC9.0020.0002.1555] # CANADIAN SYLLABICS FI
+1556 ; [.2BCA.0020.0002.1556] # CANADIAN SYLLABICS FII
+1557 ; [.2BCB.0020.0002.1557] # CANADIAN SYLLABICS FO
+1558 ; [.2BCC.0020.0002.1558] # CANADIAN SYLLABICS FOO
+1559 ; [.2BCD.0020.0002.1559] # CANADIAN SYLLABICS FA
+155A ; [.2BCE.0020.0002.155A] # CANADIAN SYLLABICS FAA
+155B ; [.2BCF.0020.0002.155B] # CANADIAN SYLLABICS FWAA
+155C ; [.2BD0.0020.0002.155C] # CANADIAN SYLLABICS WEST-CREE FWAA
+155D ; [.2BD1.0020.0002.155D] # CANADIAN SYLLABICS F
+155E ; [.2BD2.0020.0002.155E] # CANADIAN SYLLABICS THE
+155F ; [.2BD3.0020.0002.155F] # CANADIAN SYLLABICS N-CREE THE
+1560 ; [.2BD4.0020.0002.1560] # CANADIAN SYLLABICS THI
+1561 ; [.2BD5.0020.0002.1561] # CANADIAN SYLLABICS N-CREE THI
+1562 ; [.2BD6.0020.0002.1562] # CANADIAN SYLLABICS THII
+1563 ; [.2BD7.0020.0002.1563] # CANADIAN SYLLABICS N-CREE THII
+1564 ; [.2BD8.0020.0002.1564] # CANADIAN SYLLABICS THO
+1565 ; [.2BD9.0020.0002.1565] # CANADIAN SYLLABICS THOO
+1566 ; [.2BDA.0020.0002.1566] # CANADIAN SYLLABICS THA
+1567 ; [.2BDB.0020.0002.1567] # CANADIAN SYLLABICS THAA
+1568 ; [.2BDC.0020.0002.1568] # CANADIAN SYLLABICS THWAA
+1569 ; [.2BDD.0020.0002.1569] # CANADIAN SYLLABICS WEST-CREE THWAA
+156A ; [.2BDE.0020.0002.156A] # CANADIAN SYLLABICS TH
+156B ; [.2BDF.0020.0002.156B] # CANADIAN SYLLABICS TTHE
+156C ; [.2BE0.0020.0002.156C] # CANADIAN SYLLABICS TTHI
+156D ; [.2BE1.0020.0002.156D] # CANADIAN SYLLABICS TTHO
+156E ; [.2BE2.0020.0002.156E] # CANADIAN SYLLABICS TTHA
+156F ; [.2BE3.0020.0002.156F] # CANADIAN SYLLABICS TTH
+1570 ; [.2BE4.0020.0002.1570] # CANADIAN SYLLABICS TYE
+1571 ; [.2BE5.0020.0002.1571] # CANADIAN SYLLABICS TYI
+1572 ; [.2BE6.0020.0002.1572] # CANADIAN SYLLABICS TYO
+1573 ; [.2BE7.0020.0002.1573] # CANADIAN SYLLABICS TYA
+1574 ; [.2BE8.0020.0002.1574] # CANADIAN SYLLABICS NUNAVIK HE
+1575 ; [.2BE9.0020.0002.1575] # CANADIAN SYLLABICS NUNAVIK HI
+1576 ; [.2BEA.0020.0002.1576] # CANADIAN SYLLABICS NUNAVIK HII
+1577 ; [.2BEB.0020.0002.1577] # CANADIAN SYLLABICS NUNAVIK HO
+1578 ; [.2BEC.0020.0002.1578] # CANADIAN SYLLABICS NUNAVIK HOO
+1579 ; [.2BED.0020.0002.1579] # CANADIAN SYLLABICS NUNAVIK HA
+157A ; [.2BEE.0020.0002.157A] # CANADIAN SYLLABICS NUNAVIK HAA
+157B ; [.2BEF.0020.0002.157B] # CANADIAN SYLLABICS NUNAVIK H
+157D ; [.2BF0.0020.0002.157D] # CANADIAN SYLLABICS HK
+166F ; [.2BF1.0020.0002.166F] # CANADIAN SYLLABICS QAI
+157E ; [.2BF2.0020.0002.157E] # CANADIAN SYLLABICS QAAI
+157F ; [.2BF3.0020.0002.157F] # CANADIAN SYLLABICS QI
+1580 ; [.2BF4.0020.0002.1580] # CANADIAN SYLLABICS QII
+1581 ; [.2BF5.0020.0002.1581] # CANADIAN SYLLABICS QO
+1582 ; [.2BF6.0020.0002.1582] # CANADIAN SYLLABICS QOO
+1583 ; [.2BF7.0020.0002.1583] # CANADIAN SYLLABICS QA
+1584 ; [.2BF8.0020.0002.1584] # CANADIAN SYLLABICS QAA
+1585 ; [.2BF9.0020.0002.1585] # CANADIAN SYLLABICS Q
+1586 ; [.2BFA.0020.0002.1586] # CANADIAN SYLLABICS TLHE
+1587 ; [.2BFB.0020.0002.1587] # CANADIAN SYLLABICS TLHI
+1588 ; [.2BFC.0020.0002.1588] # CANADIAN SYLLABICS TLHO
+1589 ; [.2BFD.0020.0002.1589] # CANADIAN SYLLABICS TLHA
+158A ; [.2BFE.0020.0002.158A] # CANADIAN SYLLABICS WEST-CREE RE
+158B ; [.2BFF.0020.0002.158B] # CANADIAN SYLLABICS WEST-CREE RI
+158C ; [.2C00.0020.0002.158C] # CANADIAN SYLLABICS WEST-CREE RO
+158D ; [.2C01.0020.0002.158D] # CANADIAN SYLLABICS WEST-CREE RA
+1670 ; [.2C02.0020.0002.1670] # CANADIAN SYLLABICS NGAI
+158E ; [.2C03.0020.0002.158E] # CANADIAN SYLLABICS NGAAI
+158F ; [.2C04.0020.0002.158F] # CANADIAN SYLLABICS NGI
+1590 ; [.2C05.0020.0002.1590] # CANADIAN SYLLABICS NGII
+1591 ; [.2C06.0020.0002.1591] # CANADIAN SYLLABICS NGO
+1592 ; [.2C07.0020.0002.1592] # CANADIAN SYLLABICS NGOO
+1593 ; [.2C08.0020.0002.1593] # CANADIAN SYLLABICS NGA
+1594 ; [.2C09.0020.0002.1594] # CANADIAN SYLLABICS NGAA
+1595 ; [.2C0A.0020.0002.1595] # CANADIAN SYLLABICS NG
+1671 ; [.2C0B.0020.0002.1671] # CANADIAN SYLLABICS NNGI
+1672 ; [.2C0C.0020.0002.1672] # CANADIAN SYLLABICS NNGII
+1673 ; [.2C0D.0020.0002.1673] # CANADIAN SYLLABICS NNGO
+1674 ; [.2C0E.0020.0002.1674] # CANADIAN SYLLABICS NNGOO
+1675 ; [.2C0F.0020.0002.1675] # CANADIAN SYLLABICS NNGA
+1676 ; [.2C10.0020.0002.1676] # CANADIAN SYLLABICS NNGAA
+1596 ; [.2C11.0020.0002.1596] # CANADIAN SYLLABICS NNG
+1597 ; [.2C12.0020.0002.1597] # CANADIAN SYLLABICS SAYISI SHE
+1598 ; [.2C13.0020.0002.1598] # CANADIAN SYLLABICS SAYISI SHI
+1599 ; [.2C14.0020.0002.1599] # CANADIAN SYLLABICS SAYISI SHO
+159A ; [.2C15.0020.0002.159A] # CANADIAN SYLLABICS SAYISI SHA
+159B ; [.2C16.0020.0002.159B] # CANADIAN SYLLABICS WOODS-CREE THE
+159C ; [.2C17.0020.0002.159C] # CANADIAN SYLLABICS WOODS-CREE THI
+159D ; [.2C18.0020.0002.159D] # CANADIAN SYLLABICS WOODS-CREE THO
+159E ; [.2C19.0020.0002.159E] # CANADIAN SYLLABICS WOODS-CREE THA
+159F ; [.2C1A.0020.0002.159F] # CANADIAN SYLLABICS WOODS-CREE TH
+15A0 ; [.2C1B.0020.0002.15A0] # CANADIAN SYLLABICS LHI
+15A1 ; [.2C1C.0020.0002.15A1] # CANADIAN SYLLABICS LHII
+15A2 ; [.2C1D.0020.0002.15A2] # CANADIAN SYLLABICS LHO
+15A3 ; [.2C1E.0020.0002.15A3] # CANADIAN SYLLABICS LHOO
+15A4 ; [.2C1F.0020.0002.15A4] # CANADIAN SYLLABICS LHA
+15A5 ; [.2C20.0020.0002.15A5] # CANADIAN SYLLABICS LHAA
+15A6 ; [.2C21.0020.0002.15A6] # CANADIAN SYLLABICS LH
+157C ; [.2C22.0020.0002.157C] # CANADIAN SYLLABICS NUNAVUT H
+15A7 ; [.2C23.0020.0002.15A7] # CANADIAN SYLLABICS TH-CREE THE
+15A8 ; [.2C24.0020.0002.15A8] # CANADIAN SYLLABICS TH-CREE THI
+15A9 ; [.2C25.0020.0002.15A9] # CANADIAN SYLLABICS TH-CREE THII
+15AA ; [.2C26.0020.0002.15AA] # CANADIAN SYLLABICS TH-CREE THO
+15AB ; [.2C27.0020.0002.15AB] # CANADIAN SYLLABICS TH-CREE THOO
+15AC ; [.2C28.0020.0002.15AC] # CANADIAN SYLLABICS TH-CREE THA
+15AD ; [.2C29.0020.0002.15AD] # CANADIAN SYLLABICS TH-CREE THAA
+15AE ; [.2C2A.0020.0002.15AE] # CANADIAN SYLLABICS TH-CREE TH
+15AF ; [.2C2B.0020.0002.15AF] # CANADIAN SYLLABICS AIVILIK B
+15B0 ; [.2C2C.0020.0002.15B0] # CANADIAN SYLLABICS BLACKFOOT E
+15B1 ; [.2C2D.0020.0002.15B1] # CANADIAN SYLLABICS BLACKFOOT I
+15B2 ; [.2C2E.0020.0002.15B2] # CANADIAN SYLLABICS BLACKFOOT O
+15B3 ; [.2C2F.0020.0002.15B3] # CANADIAN SYLLABICS BLACKFOOT A
+15B4 ; [.2C30.0020.0002.15B4] # CANADIAN SYLLABICS BLACKFOOT WE
+15B5 ; [.2C31.0020.0002.15B5] # CANADIAN SYLLABICS BLACKFOOT WI
+15B6 ; [.2C32.0020.0002.15B6] # CANADIAN SYLLABICS BLACKFOOT WO
+15B7 ; [.2C33.0020.0002.15B7] # CANADIAN SYLLABICS BLACKFOOT WA
+15B8 ; [.2C34.0020.0002.15B8] # CANADIAN SYLLABICS BLACKFOOT NE
+15B9 ; [.2C35.0020.0002.15B9] # CANADIAN SYLLABICS BLACKFOOT NI
+15BA ; [.2C36.0020.0002.15BA] # CANADIAN SYLLABICS BLACKFOOT NO
+15BB ; [.2C37.0020.0002.15BB] # CANADIAN SYLLABICS BLACKFOOT NA
+15BC ; [.2C38.0020.0002.15BC] # CANADIAN SYLLABICS BLACKFOOT KE
+15BD ; [.2C39.0020.0002.15BD] # CANADIAN SYLLABICS BLACKFOOT KI
+15BE ; [.2C3A.0020.0002.15BE] # CANADIAN SYLLABICS BLACKFOOT KO
+15BF ; [.2C3B.0020.0002.15BF] # CANADIAN SYLLABICS BLACKFOOT KA
+15C0 ; [.2C3C.0020.0002.15C0] # CANADIAN SYLLABICS SAYISI HE
+15C1 ; [.2C3D.0020.0002.15C1] # CANADIAN SYLLABICS SAYISI HI
+15C2 ; [.2C3E.0020.0002.15C2] # CANADIAN SYLLABICS SAYISI HO
+15C3 ; [.2C3F.0020.0002.15C3] # CANADIAN SYLLABICS SAYISI HA
+15C4 ; [.2C40.0020.0002.15C4] # CANADIAN SYLLABICS CARRIER GHU
+15C5 ; [.2C41.0020.0002.15C5] # CANADIAN SYLLABICS CARRIER GHO
+15C6 ; [.2C42.0020.0002.15C6] # CANADIAN SYLLABICS CARRIER GHE
+15C7 ; [.2C43.0020.0002.15C7] # CANADIAN SYLLABICS CARRIER GHEE
+15C8 ; [.2C44.0020.0002.15C8] # CANADIAN SYLLABICS CARRIER GHI
+15C9 ; [.2C45.0020.0002.15C9] # CANADIAN SYLLABICS CARRIER GHA
+15CA ; [.2C46.0020.0002.15CA] # CANADIAN SYLLABICS CARRIER RU
+15CB ; [.2C47.0020.0002.15CB] # CANADIAN SYLLABICS CARRIER RO
+15CC ; [.2C48.0020.0002.15CC] # CANADIAN SYLLABICS CARRIER RE
+15CD ; [.2C49.0020.0002.15CD] # CANADIAN SYLLABICS CARRIER REE
+15CE ; [.2C4A.0020.0002.15CE] # CANADIAN SYLLABICS CARRIER RI
+15CF ; [.2C4B.0020.0002.15CF] # CANADIAN SYLLABICS CARRIER RA
+15D0 ; [.2C4C.0020.0002.15D0] # CANADIAN SYLLABICS CARRIER WU
+15D1 ; [.2C4D.0020.0002.15D1] # CANADIAN SYLLABICS CARRIER WO
+15D2 ; [.2C4E.0020.0002.15D2] # CANADIAN SYLLABICS CARRIER WE
+15D3 ; [.2C4F.0020.0002.15D3] # CANADIAN SYLLABICS CARRIER WEE
+15D4 ; [.2C50.0020.0002.15D4] # CANADIAN SYLLABICS CARRIER WI
+15D5 ; [.2C51.0020.0002.15D5] # CANADIAN SYLLABICS CARRIER WA
+15D6 ; [.2C52.0020.0002.15D6] # CANADIAN SYLLABICS CARRIER HWU
+15D7 ; [.2C53.0020.0002.15D7] # CANADIAN SYLLABICS CARRIER HWO
+15D8 ; [.2C54.0020.0002.15D8] # CANADIAN SYLLABICS CARRIER HWE
+15D9 ; [.2C55.0020.0002.15D9] # CANADIAN SYLLABICS CARRIER HWEE
+15DA ; [.2C56.0020.0002.15DA] # CANADIAN SYLLABICS CARRIER HWI
+15DB ; [.2C57.0020.0002.15DB] # CANADIAN SYLLABICS CARRIER HWA
+15DC ; [.2C58.0020.0002.15DC] # CANADIAN SYLLABICS CARRIER THU
+15DD ; [.2C59.0020.0002.15DD] # CANADIAN SYLLABICS CARRIER THO
+15DE ; [.2C5A.0020.0002.15DE] # CANADIAN SYLLABICS CARRIER THE
+15DF ; [.2C5B.0020.0002.15DF] # CANADIAN SYLLABICS CARRIER THEE
+15E0 ; [.2C5C.0020.0002.15E0] # CANADIAN SYLLABICS CARRIER THI
+15E1 ; [.2C5D.0020.0002.15E1] # CANADIAN SYLLABICS CARRIER THA
+15E2 ; [.2C5E.0020.0002.15E2] # CANADIAN SYLLABICS CARRIER TTU
+15E3 ; [.2C5F.0020.0002.15E3] # CANADIAN SYLLABICS CARRIER TTO
+15E4 ; [.2C60.0020.0002.15E4] # CANADIAN SYLLABICS CARRIER TTE
+15E5 ; [.2C61.0020.0002.15E5] # CANADIAN SYLLABICS CARRIER TTEE
+15E6 ; [.2C62.0020.0002.15E6] # CANADIAN SYLLABICS CARRIER TTI
+15E7 ; [.2C63.0020.0002.15E7] # CANADIAN SYLLABICS CARRIER TTA
+15E8 ; [.2C64.0020.0002.15E8] # CANADIAN SYLLABICS CARRIER PU
+15E9 ; [.2C65.0020.0002.15E9] # CANADIAN SYLLABICS CARRIER PO
+15EA ; [.2C66.0020.0002.15EA] # CANADIAN SYLLABICS CARRIER PE
+15EB ; [.2C67.0020.0002.15EB] # CANADIAN SYLLABICS CARRIER PEE
+15EC ; [.2C68.0020.0002.15EC] # CANADIAN SYLLABICS CARRIER PI
+15ED ; [.2C69.0020.0002.15ED] # CANADIAN SYLLABICS CARRIER PA
+15EE ; [.2C6A.0020.0002.15EE] # CANADIAN SYLLABICS CARRIER P
+15EF ; [.2C6B.0020.0002.15EF] # CANADIAN SYLLABICS CARRIER GU
+15F0 ; [.2C6C.0020.0002.15F0] # CANADIAN SYLLABICS CARRIER GO
+15F1 ; [.2C6D.0020.0002.15F1] # CANADIAN SYLLABICS CARRIER GE
+15F2 ; [.2C6E.0020.0002.15F2] # CANADIAN SYLLABICS CARRIER GEE
+15F3 ; [.2C6F.0020.0002.15F3] # CANADIAN SYLLABICS CARRIER GI
+15F4 ; [.2C70.0020.0002.15F4] # CANADIAN SYLLABICS CARRIER GA
+15F5 ; [.2C71.0020.0002.15F5] # CANADIAN SYLLABICS CARRIER KHU
+15F6 ; [.2C72.0020.0002.15F6] # CANADIAN SYLLABICS CARRIER KHO
+15F7 ; [.2C73.0020.0002.15F7] # CANADIAN SYLLABICS CARRIER KHE
+15F8 ; [.2C74.0020.0002.15F8] # CANADIAN SYLLABICS CARRIER KHEE
+15F9 ; [.2C75.0020.0002.15F9] # CANADIAN SYLLABICS CARRIER KHI
+15FA ; [.2C76.0020.0002.15FA] # CANADIAN SYLLABICS CARRIER KHA
+15FB ; [.2C77.0020.0002.15FB] # CANADIAN SYLLABICS CARRIER KKU
+15FC ; [.2C78.0020.0002.15FC] # CANADIAN SYLLABICS CARRIER KKO
+15FD ; [.2C79.0020.0002.15FD] # CANADIAN SYLLABICS CARRIER KKE
+15FE ; [.2C7A.0020.0002.15FE] # CANADIAN SYLLABICS CARRIER KKEE
+15FF ; [.2C7B.0020.0002.15FF] # CANADIAN SYLLABICS CARRIER KKI
+1600 ; [.2C7C.0020.0002.1600] # CANADIAN SYLLABICS CARRIER KKA
+1601 ; [.2C7D.0020.0002.1601] # CANADIAN SYLLABICS CARRIER KK
+1602 ; [.2C7E.0020.0002.1602] # CANADIAN SYLLABICS CARRIER NU
+1603 ; [.2C7F.0020.0002.1603] # CANADIAN SYLLABICS CARRIER NO
+1604 ; [.2C80.0020.0002.1604] # CANADIAN SYLLABICS CARRIER NE
+1605 ; [.2C81.0020.0002.1605] # CANADIAN SYLLABICS CARRIER NEE
+1606 ; [.2C82.0020.0002.1606] # CANADIAN SYLLABICS CARRIER NI
+1607 ; [.2C83.0020.0002.1607] # CANADIAN SYLLABICS CARRIER NA
+1608 ; [.2C84.0020.0002.1608] # CANADIAN SYLLABICS CARRIER MU
+1609 ; [.2C85.0020.0002.1609] # CANADIAN SYLLABICS CARRIER MO
+160A ; [.2C86.0020.0002.160A] # CANADIAN SYLLABICS CARRIER ME
+160B ; [.2C87.0020.0002.160B] # CANADIAN SYLLABICS CARRIER MEE
+160C ; [.2C88.0020.0002.160C] # CANADIAN SYLLABICS CARRIER MI
+160D ; [.2C89.0020.0002.160D] # CANADIAN SYLLABICS CARRIER MA
+160E ; [.2C8A.0020.0002.160E] # CANADIAN SYLLABICS CARRIER YU
+160F ; [.2C8B.0020.0002.160F] # CANADIAN SYLLABICS CARRIER YO
+1610 ; [.2C8C.0020.0002.1610] # CANADIAN SYLLABICS CARRIER YE
+1611 ; [.2C8D.0020.0002.1611] # CANADIAN SYLLABICS CARRIER YEE
+1612 ; [.2C8E.0020.0002.1612] # CANADIAN SYLLABICS CARRIER YI
+1613 ; [.2C8F.0020.0002.1613] # CANADIAN SYLLABICS CARRIER YA
+1614 ; [.2C90.0020.0002.1614] # CANADIAN SYLLABICS CARRIER JU
+1615 ; [.2C91.0020.0002.1615] # CANADIAN SYLLABICS SAYISI JU
+1616 ; [.2C92.0020.0002.1616] # CANADIAN SYLLABICS CARRIER JO
+1617 ; [.2C93.0020.0002.1617] # CANADIAN SYLLABICS CARRIER JE
+1618 ; [.2C94.0020.0002.1618] # CANADIAN SYLLABICS CARRIER JEE
+1619 ; [.2C95.0020.0002.1619] # CANADIAN SYLLABICS CARRIER JI
+161A ; [.2C96.0020.0002.161A] # CANADIAN SYLLABICS SAYISI JI
+161B ; [.2C97.0020.0002.161B] # CANADIAN SYLLABICS CARRIER JA
+161C ; [.2C98.0020.0002.161C] # CANADIAN SYLLABICS CARRIER JJU
+161D ; [.2C99.0020.0002.161D] # CANADIAN SYLLABICS CARRIER JJO
+161E ; [.2C9A.0020.0002.161E] # CANADIAN SYLLABICS CARRIER JJE
+161F ; [.2C9B.0020.0002.161F] # CANADIAN SYLLABICS CARRIER JJEE
+1620 ; [.2C9C.0020.0002.1620] # CANADIAN SYLLABICS CARRIER JJI
+1621 ; [.2C9D.0020.0002.1621] # CANADIAN SYLLABICS CARRIER JJA
+1622 ; [.2C9E.0020.0002.1622] # CANADIAN SYLLABICS CARRIER LU
+1623 ; [.2C9F.0020.0002.1623] # CANADIAN SYLLABICS CARRIER LO
+1624 ; [.2CA0.0020.0002.1624] # CANADIAN SYLLABICS CARRIER LE
+1625 ; [.2CA1.0020.0002.1625] # CANADIAN SYLLABICS CARRIER LEE
+1626 ; [.2CA2.0020.0002.1626] # CANADIAN SYLLABICS CARRIER LI
+1627 ; [.2CA3.0020.0002.1627] # CANADIAN SYLLABICS CARRIER LA
+1628 ; [.2CA4.0020.0002.1628] # CANADIAN SYLLABICS CARRIER DLU
+1629 ; [.2CA5.0020.0002.1629] # CANADIAN SYLLABICS CARRIER DLO
+162A ; [.2CA6.0020.0002.162A] # CANADIAN SYLLABICS CARRIER DLE
+162B ; [.2CA7.0020.0002.162B] # CANADIAN SYLLABICS CARRIER DLEE
+162C ; [.2CA8.0020.0002.162C] # CANADIAN SYLLABICS CARRIER DLI
+162D ; [.2CA9.0020.0002.162D] # CANADIAN SYLLABICS CARRIER DLA
+162E ; [.2CAA.0020.0002.162E] # CANADIAN SYLLABICS CARRIER LHU
+162F ; [.2CAB.0020.0002.162F] # CANADIAN SYLLABICS CARRIER LHO
+1630 ; [.2CAC.0020.0002.1630] # CANADIAN SYLLABICS CARRIER LHE
+1631 ; [.2CAD.0020.0002.1631] # CANADIAN SYLLABICS CARRIER LHEE
+1632 ; [.2CAE.0020.0002.1632] # CANADIAN SYLLABICS CARRIER LHI
+1633 ; [.2CAF.0020.0002.1633] # CANADIAN SYLLABICS CARRIER LHA
+1634 ; [.2CB0.0020.0002.1634] # CANADIAN SYLLABICS CARRIER TLHU
+1635 ; [.2CB1.0020.0002.1635] # CANADIAN SYLLABICS CARRIER TLHO
+1636 ; [.2CB2.0020.0002.1636] # CANADIAN SYLLABICS CARRIER TLHE
+1637 ; [.2CB3.0020.0002.1637] # CANADIAN SYLLABICS CARRIER TLHEE
+1638 ; [.2CB4.0020.0002.1638] # CANADIAN SYLLABICS CARRIER TLHI
+1639 ; [.2CB5.0020.0002.1639] # CANADIAN SYLLABICS CARRIER TLHA
+163A ; [.2CB6.0020.0002.163A] # CANADIAN SYLLABICS CARRIER TLU
+163B ; [.2CB7.0020.0002.163B] # CANADIAN SYLLABICS CARRIER TLO
+163C ; [.2CB8.0020.0002.163C] # CANADIAN SYLLABICS CARRIER TLE
+163D ; [.2CB9.0020.0002.163D] # CANADIAN SYLLABICS CARRIER TLEE
+163E ; [.2CBA.0020.0002.163E] # CANADIAN SYLLABICS CARRIER TLI
+163F ; [.2CBB.0020.0002.163F] # CANADIAN SYLLABICS CARRIER TLA
+1640 ; [.2CBC.0020.0002.1640] # CANADIAN SYLLABICS CARRIER ZU
+1641 ; [.2CBD.0020.0002.1641] # CANADIAN SYLLABICS CARRIER ZO
+1642 ; [.2CBE.0020.0002.1642] # CANADIAN SYLLABICS CARRIER ZE
+1643 ; [.2CBF.0020.0002.1643] # CANADIAN SYLLABICS CARRIER ZEE
+1644 ; [.2CC0.0020.0002.1644] # CANADIAN SYLLABICS CARRIER ZI
+1645 ; [.2CC1.0020.0002.1645] # CANADIAN SYLLABICS CARRIER ZA
+1646 ; [.2CC2.0020.0002.1646] # CANADIAN SYLLABICS CARRIER Z
+1647 ; [.2CC3.0020.0002.1647] # CANADIAN SYLLABICS CARRIER INITIAL Z
+1648 ; [.2CC4.0020.0002.1648] # CANADIAN SYLLABICS CARRIER DZU
+1649 ; [.2CC5.0020.0002.1649] # CANADIAN SYLLABICS CARRIER DZO
+164A ; [.2CC6.0020.0002.164A] # CANADIAN SYLLABICS CARRIER DZE
+164B ; [.2CC7.0020.0002.164B] # CANADIAN SYLLABICS CARRIER DZEE
+164C ; [.2CC8.0020.0002.164C] # CANADIAN SYLLABICS CARRIER DZI
+164D ; [.2CC9.0020.0002.164D] # CANADIAN SYLLABICS CARRIER DZA
+164E ; [.2CCA.0020.0002.164E] # CANADIAN SYLLABICS CARRIER SU
+164F ; [.2CCB.0020.0002.164F] # CANADIAN SYLLABICS CARRIER SO
+1650 ; [.2CCC.0020.0002.1650] # CANADIAN SYLLABICS CARRIER SE
+1651 ; [.2CCD.0020.0002.1651] # CANADIAN SYLLABICS CARRIER SEE
+1652 ; [.2CCE.0020.0002.1652] # CANADIAN SYLLABICS CARRIER SI
+1653 ; [.2CCF.0020.0002.1653] # CANADIAN SYLLABICS CARRIER SA
+1654 ; [.2CD0.0020.0002.1654] # CANADIAN SYLLABICS CARRIER SHU
+1655 ; [.2CD1.0020.0002.1655] # CANADIAN SYLLABICS CARRIER SHO
+1656 ; [.2CD2.0020.0002.1656] # CANADIAN SYLLABICS CARRIER SHE
+1657 ; [.2CD3.0020.0002.1657] # CANADIAN SYLLABICS CARRIER SHEE
+1658 ; [.2CD4.0020.0002.1658] # CANADIAN SYLLABICS CARRIER SHI
+1659 ; [.2CD5.0020.0002.1659] # CANADIAN SYLLABICS CARRIER SHA
+165A ; [.2CD6.0020.0002.165A] # CANADIAN SYLLABICS CARRIER SH
+165B ; [.2CD7.0020.0002.165B] # CANADIAN SYLLABICS CARRIER TSU
+165C ; [.2CD8.0020.0002.165C] # CANADIAN SYLLABICS CARRIER TSO
+165D ; [.2CD9.0020.0002.165D] # CANADIAN SYLLABICS CARRIER TSE
+165E ; [.2CDA.0020.0002.165E] # CANADIAN SYLLABICS CARRIER TSEE
+165F ; [.2CDB.0020.0002.165F] # CANADIAN SYLLABICS CARRIER TSI
+1660 ; [.2CDC.0020.0002.1660] # CANADIAN SYLLABICS CARRIER TSA
+1661 ; [.2CDD.0020.0002.1661] # CANADIAN SYLLABICS CARRIER CHU
+1662 ; [.2CDE.0020.0002.1662] # CANADIAN SYLLABICS CARRIER CHO
+1663 ; [.2CDF.0020.0002.1663] # CANADIAN SYLLABICS CARRIER CHE
+1664 ; [.2CE0.0020.0002.1664] # CANADIAN SYLLABICS CARRIER CHEE
+1665 ; [.2CE1.0020.0002.1665] # CANADIAN SYLLABICS CARRIER CHI
+1666 ; [.2CE2.0020.0002.1666] # CANADIAN SYLLABICS CARRIER CHA
+1667 ; [.2CE3.0020.0002.1667] # CANADIAN SYLLABICS CARRIER TTSU
+1668 ; [.2CE4.0020.0002.1668] # CANADIAN SYLLABICS CARRIER TTSO
+1669 ; [.2CE5.0020.0002.1669] # CANADIAN SYLLABICS CARRIER TTSE
+166A ; [.2CE6.0020.0002.166A] # CANADIAN SYLLABICS CARRIER TTSEE
+166B ; [.2CE7.0020.0002.166B] # CANADIAN SYLLABICS CARRIER TTSI
+166C ; [.2CE8.0020.0002.166C] # CANADIAN SYLLABICS CARRIER TTSA
+1677 ; [.2CE9.0020.0002.1677] # CANADIAN SYLLABICS WOODS-CREE THWEE
+1678 ; [.2CEA.0020.0002.1678] # CANADIAN SYLLABICS WOODS-CREE THWI
+1679 ; [.2CEB.0020.0002.1679] # CANADIAN SYLLABICS WOODS-CREE THWII
+167A ; [.2CEC.0020.0002.167A] # CANADIAN SYLLABICS WOODS-CREE THWO
+167B ; [.2CED.0020.0002.167B] # CANADIAN SYLLABICS WOODS-CREE THWOO
+167C ; [.2CEE.0020.0002.167C] # CANADIAN SYLLABICS WOODS-CREE THWA
+167D ; [.2CEF.0020.0002.167D] # CANADIAN SYLLABICS WOODS-CREE THWAA
+167E ; [.2CF0.0020.0002.167E] # CANADIAN SYLLABICS WOODS-CREE FINAL TH
+167F ; [.2CF1.0020.0002.167F] # CANADIAN SYLLABICS BLACKFOOT W
+18B0 ; [.2CF2.0020.0002.18B0] # CANADIAN SYLLABICS OY
+18B1 ; [.2CF3.0020.0002.18B1] # CANADIAN SYLLABICS AY
+18B2 ; [.2CF4.0020.0002.18B2] # CANADIAN SYLLABICS AAY
+18B3 ; [.2CF5.0020.0002.18B3] # CANADIAN SYLLABICS WAY
+18B4 ; [.2CF6.0020.0002.18B4] # CANADIAN SYLLABICS POY
+18B5 ; [.2CF7.0020.0002.18B5] # CANADIAN SYLLABICS PAY
+18B6 ; [.2CF8.0020.0002.18B6] # CANADIAN SYLLABICS PWOY
+18B7 ; [.2CF9.0020.0002.18B7] # CANADIAN SYLLABICS TAY
+18B8 ; [.2CFA.0020.0002.18B8] # CANADIAN SYLLABICS KAY
+18B9 ; [.2CFB.0020.0002.18B9] # CANADIAN SYLLABICS KWAY
+18BA ; [.2CFC.0020.0002.18BA] # CANADIAN SYLLABICS MAY
+18BB ; [.2CFD.0020.0002.18BB] # CANADIAN SYLLABICS NOY
+18BC ; [.2CFE.0020.0002.18BC] # CANADIAN SYLLABICS NAY
+18BD ; [.2CFF.0020.0002.18BD] # CANADIAN SYLLABICS LAY
+18BE ; [.2D00.0020.0002.18BE] # CANADIAN SYLLABICS SOY
+18BF ; [.2D01.0020.0002.18BF] # CANADIAN SYLLABICS SAY
+18C0 ; [.2D02.0020.0002.18C0] # CANADIAN SYLLABICS SHOY
+18C1 ; [.2D03.0020.0002.18C1] # CANADIAN SYLLABICS SHAY
+18C2 ; [.2D04.0020.0002.18C2] # CANADIAN SYLLABICS SHWOY
+18C3 ; [.2D05.0020.0002.18C3] # CANADIAN SYLLABICS YOY
+18C4 ; [.2D06.0020.0002.18C4] # CANADIAN SYLLABICS YAY
+18C5 ; [.2D07.0020.0002.18C5] # CANADIAN SYLLABICS RAY
+18C6 ; [.2D08.0020.0002.18C6] # CANADIAN SYLLABICS NWI
+18C7 ; [.2D09.0020.0002.18C7] # CANADIAN SYLLABICS OJIBWAY NWI
+18C8 ; [.2D0A.0020.0002.18C8] # CANADIAN SYLLABICS NWII
+18C9 ; [.2D0B.0020.0002.18C9] # CANADIAN SYLLABICS OJIBWAY NWII
+18CA ; [.2D0C.0020.0002.18CA] # CANADIAN SYLLABICS NWO
+18CB ; [.2D0D.0020.0002.18CB] # CANADIAN SYLLABICS OJIBWAY NWO
+18CC ; [.2D0E.0020.0002.18CC] # CANADIAN SYLLABICS NWOO
+18CD ; [.2D0F.0020.0002.18CD] # CANADIAN SYLLABICS OJIBWAY NWOO
+18CE ; [.2D10.0020.0002.18CE] # CANADIAN SYLLABICS RWEE
+18CF ; [.2D11.0020.0002.18CF] # CANADIAN SYLLABICS RWI
+18D0 ; [.2D12.0020.0002.18D0] # CANADIAN SYLLABICS RWII
+18D1 ; [.2D13.0020.0002.18D1] # CANADIAN SYLLABICS RWO
+18D2 ; [.2D14.0020.0002.18D2] # CANADIAN SYLLABICS RWOO
+18D3 ; [.2D15.0020.0002.18D3] # CANADIAN SYLLABICS RWA
+18D4 ; [.2D16.0020.0002.18D4] # CANADIAN SYLLABICS OJIBWAY P
+18D5 ; [.2D17.0020.0002.18D5] # CANADIAN SYLLABICS OJIBWAY T
+18D6 ; [.2D18.0020.0002.18D6] # CANADIAN SYLLABICS OJIBWAY K
+18D7 ; [.2D19.0020.0002.18D7] # CANADIAN SYLLABICS OJIBWAY C
+18D8 ; [.2D1A.0020.0002.18D8] # CANADIAN SYLLABICS OJIBWAY M
+18D9 ; [.2D1B.0020.0002.18D9] # CANADIAN SYLLABICS OJIBWAY N
+18DA ; [.2D1C.0020.0002.18DA] # CANADIAN SYLLABICS OJIBWAY S
+18DB ; [.2D1D.0020.0002.18DB] # CANADIAN SYLLABICS OJIBWAY SH
+18DC ; [.2D1E.0020.0002.18DC] # CANADIAN SYLLABICS EASTERN W
+18DD ; [.2D1F.0020.0002.18DD] # CANADIAN SYLLABICS WESTERN W
+18DE ; [.2D20.0020.0002.18DE] # CANADIAN SYLLABICS FINAL SMALL RING
+18DF ; [.2D21.0020.0002.18DF] # CANADIAN SYLLABICS FINAL RAISED DOT
+18E0 ; [.2D22.0020.0002.18E0] # CANADIAN SYLLABICS R-CREE RWE
+18E1 ; [.2D23.0020.0002.18E1] # CANADIAN SYLLABICS WEST-CREE LOO
+18E2 ; [.2D24.0020.0002.18E2] # CANADIAN SYLLABICS WEST-CREE LAA
+18E3 ; [.2D25.0020.0002.18E3] # CANADIAN SYLLABICS THWE
+18E4 ; [.2D26.0020.0002.18E4] # CANADIAN SYLLABICS THWA
+18E5 ; [.2D27.0020.0002.18E5] # CANADIAN SYLLABICS TTHWE
+18E6 ; [.2D28.0020.0002.18E6] # CANADIAN SYLLABICS TTHOO
+18E7 ; [.2D29.0020.0002.18E7] # CANADIAN SYLLABICS TTHAA
+18E8 ; [.2D2A.0020.0002.18E8] # CANADIAN SYLLABICS TLHWE
+18E9 ; [.2D2B.0020.0002.18E9] # CANADIAN SYLLABICS TLHOO
+18EA ; [.2D2C.0020.0002.18EA] # CANADIAN SYLLABICS SAYISI SHWE
+18EB ; [.2D2D.0020.0002.18EB] # CANADIAN SYLLABICS SAYISI SHOO
+18EC ; [.2D2E.0020.0002.18EC] # CANADIAN SYLLABICS SAYISI HOO
+18ED ; [.2D2F.0020.0002.18ED] # CANADIAN SYLLABICS CARRIER GWU
+18EE ; [.2D30.0020.0002.18EE] # CANADIAN SYLLABICS CARRIER DENE GEE
+18EF ; [.2D31.0020.0002.18EF] # CANADIAN SYLLABICS CARRIER GAA
+18F0 ; [.2D32.0020.0002.18F0] # CANADIAN SYLLABICS CARRIER GWA
+18F1 ; [.2D33.0020.0002.18F1] # CANADIAN SYLLABICS SAYISI JUU
+18F2 ; [.2D34.0020.0002.18F2] # CANADIAN SYLLABICS CARRIER JWA
+18F3 ; [.2D35.0020.0002.18F3] # CANADIAN SYLLABICS BEAVER DENE L
+18F4 ; [.2D36.0020.0002.18F4] # CANADIAN SYLLABICS BEAVER DENE R
+18F5 ; [.2D37.0020.0002.18F5] # CANADIAN SYLLABICS CARRIER DENTAL S
+1681 ; [.2D38.0020.0002.1681] # OGHAM LETTER BEITH
+1682 ; [.2D39.0020.0002.1682] # OGHAM LETTER LUIS
+1683 ; [.2D3A.0020.0002.1683] # OGHAM LETTER FEARN
+1684 ; [.2D3B.0020.0002.1684] # OGHAM LETTER SAIL
+1685 ; [.2D3C.0020.0002.1685] # OGHAM LETTER NION
+1686 ; [.2D3D.0020.0002.1686] # OGHAM LETTER UATH
+1687 ; [.2D3E.0020.0002.1687] # OGHAM LETTER DAIR
+1688 ; [.2D3F.0020.0002.1688] # OGHAM LETTER TINNE
+1689 ; [.2D40.0020.0002.1689] # OGHAM LETTER COLL
+168A ; [.2D41.0020.0002.168A] # OGHAM LETTER CEIRT
+168B ; [.2D42.0020.0002.168B] # OGHAM LETTER MUIN
+168C ; [.2D43.0020.0002.168C] # OGHAM LETTER GORT
+168D ; [.2D44.0020.0002.168D] # OGHAM LETTER NGEADAL
+168E ; [.2D45.0020.0002.168E] # OGHAM LETTER STRAIF
+168F ; [.2D46.0020.0002.168F] # OGHAM LETTER RUIS
+1690 ; [.2D47.0020.0002.1690] # OGHAM LETTER AILM
+1691 ; [.2D48.0020.0002.1691] # OGHAM LETTER ONN
+1692 ; [.2D49.0020.0002.1692] # OGHAM LETTER UR
+1693 ; [.2D4A.0020.0002.1693] # OGHAM LETTER EADHADH
+1694 ; [.2D4B.0020.0002.1694] # OGHAM LETTER IODHADH
+1695 ; [.2D4C.0020.0002.1695] # OGHAM LETTER EABHADH
+1696 ; [.2D4D.0020.0002.1696] # OGHAM LETTER OR
+1697 ; [.2D4E.0020.0002.1697] # OGHAM LETTER UILLEANN
+1698 ; [.2D4F.0020.0002.1698] # OGHAM LETTER IFIN
+1699 ; [.2D50.0020.0002.1699] # OGHAM LETTER EAMHANCHOLL
+169A ; [.2D51.0020.0002.169A] # OGHAM LETTER PEITH
+16A0 ; [.2D52.0020.0002.16A0] # RUNIC LETTER FEHU FEOH FE F
+16A1 ; [.2D52.0020.0004.16A1][.0000.0139.0004.16A1] # RUNIC LETTER V
+16A2 ; [.2D53.0020.0002.16A2] # RUNIC LETTER URUZ UR U
+16A4 ; [.2D53.0020.0004.16A4][.0000.0139.0004.16A4] # RUNIC LETTER Y
+16A5 ; [.2D53.0020.0004.16A5][.0000.013A.0004.16A5] # RUNIC LETTER W
+16A6 ; [.2D54.0020.0002.16A6] # RUNIC LETTER THURISAZ THURS THORN
+16A7 ; [.2D54.0020.0004.16A7][.0000.0139.0004.16A7] # RUNIC LETTER ETH
+16F0 ; [.2D54.0020.0004.16F0][.2D54.0020.0004.16F0] # RUNIC BELGTHOR SYMBOL
+16A8 ; [.2D55.0020.0002.16A8] # RUNIC LETTER ANSUZ A
+16A9 ; [.2D55.0020.0004.16A9][.0000.0139.0004.16A9] # RUNIC LETTER OS O
+16AC ; [.2D55.0020.0004.16AC][.0000.013A.0004.16AC] # RUNIC LETTER LONG-BRANCH-OSS O
+16AD ; [.2D55.0020.0004.16AD][.0000.013C.0004.16AD] # RUNIC LETTER SHORT-TWIG-OSS O
+16AE ; [.2D55.0020.0004.16AE][.0000.013D.0004.16AE] # RUNIC LETTER O
+16AF ; [.2D56.0020.0002.16AF] # RUNIC LETTER OE
+16B0 ; [.2D57.0020.0002.16B0] # RUNIC LETTER ON
+16B1 ; [.2D58.0020.0002.16B1] # RUNIC LETTER RAIDO RAD REID R
+16B2 ; [.2D59.0020.0002.16B2] # RUNIC LETTER KAUNA
+16B3 ; [.2D59.0020.0004.16B3][.0000.0139.0004.16B3] # RUNIC LETTER CEN
+16B4 ; [.2D59.0020.0004.16B4][.0000.013A.0004.16B4] # RUNIC LETTER KAUN K
+16B5 ; [.2D59.0020.0004.16B5][.0000.013C.0004.16B5] # RUNIC LETTER G
+16B6 ; [.2D59.0020.0004.16B6][.0000.013D.0004.16B6] # RUNIC LETTER ENG
+16B7 ; [.2D5A.0020.0002.16B7] # RUNIC LETTER GEBO GYFU G
+16B9 ; [.2D5B.0020.0002.16B9] # RUNIC LETTER WUNJO WYNN W
+16E9 ; [.2D5B.0020.0004.16E9][.0000.0139.0004.16E9] # RUNIC LETTER Q
+16BA ; [.2D5C.0020.0002.16BA] # RUNIC LETTER HAGLAZ H
+16BB ; [.2D5C.0020.0004.16BB][.0000.0139.0004.16BB] # RUNIC LETTER HAEGL H
+16BC ; [.2D5C.0020.0004.16BC][.0000.013A.0004.16BC] # RUNIC LETTER LONG-BRANCH-HAGALL H
+16BD ; [.2D5C.0020.0004.16BD][.0000.013C.0004.16BD] # RUNIC LETTER SHORT-TWIG-HAGALL H
+16BE ; [.2D5D.0020.0002.16BE] # RUNIC LETTER NAUDIZ NYD NAUD N
+16BF ; [.2D5D.0020.0004.16BF][.0000.0139.0004.16BF] # RUNIC LETTER SHORT-TWIG-NAUD N
+16C0 ; [.2D5D.0020.0004.16C0][.0000.013A.0004.16C0] # RUNIC LETTER DOTTED-N
+16C1 ; [.2D5E.0020.0002.16C1] # RUNIC LETTER ISAZ IS ISS I
+16C2 ; [.2D5E.0020.0004.16C2][.0000.0139.0004.16C2] # RUNIC LETTER E
+16C3 ; [.2D5F.0020.0002.16C3] # RUNIC LETTER JERAN J
+16C4 ; [.2D5F.0020.0004.16C4][.0000.0139.0004.16C4] # RUNIC LETTER GER
+16C5 ; [.2D60.0020.0002.16C5] # RUNIC LETTER LONG-BRANCH-AR AE
+16C6 ; [.2D60.0020.0004.16C6][.0000.0139.0004.16C6] # RUNIC LETTER SHORT-TWIG-AR A
+16EE ; [.2D60.0020.0004.16EE][.2D69.0020.0004.16EE] # RUNIC ARLAUG SYMBOL
+16C7 ; [.2D61.0020.0002.16C7] # RUNIC LETTER IWAZ EOH
+16C8 ; [.2D62.0020.0002.16C8] # RUNIC LETTER PERTHO PEORTH P
+16D5 ; [.2D62.0020.0004.16D5][.0000.0139.0004.16D5] # RUNIC LETTER OPEN-P
+16C9 ; [.2D63.0020.0002.16C9] # RUNIC LETTER ALGIZ EOLHX
+16CA ; [.2D64.0020.0002.16CA] # RUNIC LETTER SOWILO S
+16CB ; [.2D64.0020.0004.16CB][.0000.0139.0004.16CB] # RUNIC LETTER SIGEL LONG-BRANCH-SOL S
+16EA ; [.2D64.0020.0004.16EA][.0000.013A.0004.16EA] # RUNIC LETTER X
+16CC ; [.2D64.0020.0004.16CC][.0000.013C.0004.16CC] # RUNIC LETTER SHORT-TWIG-SOL S
+16CD ; [.2D64.0020.0004.16CD][.0000.013D.0004.16CD] # RUNIC LETTER C
+16CE ; [.2D64.0020.0004.16CE][.0000.013E.0004.16CE] # RUNIC LETTER Z
+16CF ; [.2D65.0020.0002.16CF] # RUNIC LETTER TIWAZ TIR TYR T
+16D0 ; [.2D65.0020.0004.16D0][.0000.0139.0004.16D0] # RUNIC LETTER SHORT-TWIG-TYR T
+16D1 ; [.2D65.0020.0004.16D1][.0000.013A.0004.16D1] # RUNIC LETTER D
+16D2 ; [.2D66.0020.0002.16D2] # RUNIC LETTER BERKANAN BEORC BJARKAN B
+16D3 ; [.2D66.0020.0004.16D3][.0000.0139.0004.16D3] # RUNIC LETTER SHORT-TWIG-BJARKAN B
+16D4 ; [.2D66.0020.0004.16D4][.0000.013A.0004.16D4] # RUNIC LETTER DOTTED-P
+16D6 ; [.2D67.0020.0002.16D6] # RUNIC LETTER EHWAZ EH E
+16D7 ; [.2D68.0020.0002.16D7] # RUNIC LETTER MANNAZ MAN M
+16D8 ; [.2D68.0020.0004.16D8][.0000.0139.0004.16D8] # RUNIC LETTER LONG-BRANCH-MADR M
+16D9 ; [.2D68.0020.0004.16D9][.0000.013A.0004.16D9] # RUNIC LETTER SHORT-TWIG-MADR M
+16EF ; [.2D68.0020.0004.16EF][.0000.0139.0004.16EF][.2D68.0020.001F.16EF][.0000.0139.001F.16EF] # RUNIC TVIMADUR SYMBOL
+16DA ; [.2D69.0020.0002.16DA] # RUNIC LETTER LAUKAZ LAGU LOGR L
+16DB ; [.2D69.0020.0004.16DB][.0000.0139.0004.16DB] # RUNIC LETTER DOTTED-L
+16DC ; [.2D6A.0020.0002.16DC] # RUNIC LETTER INGWAZ
+16DD ; [.2D6A.0020.0004.16DD][.0000.0139.0004.16DD] # RUNIC LETTER ING
+16DE ; [.2D6B.0020.0002.16DE] # RUNIC LETTER DAGAZ DAEG D
+16DF ; [.2D6C.0020.0002.16DF] # RUNIC LETTER OTHALAN ETHEL O
+16AA ; [.2D6D.0020.0002.16AA] # RUNIC LETTER AC A
+16AB ; [.2D6E.0020.0002.16AB] # RUNIC LETTER AESC
+16A3 ; [.2D6F.0020.0002.16A3] # RUNIC LETTER YR
+16E0 ; [.2D70.0020.0002.16E0] # RUNIC LETTER EAR
+16E3 ; [.2D71.0020.0002.16E3] # RUNIC LETTER CALC
+16B8 ; [.2D72.0020.0002.16B8] # RUNIC LETTER GAR
+16E4 ; [.2D73.0020.0002.16E4] # RUNIC LETTER CEALC
+16E1 ; [.2D74.0020.0002.16E1] # RUNIC LETTER IOR
+16E2 ; [.2D75.0020.0002.16E2] # RUNIC LETTER CWEORTH
+16E5 ; [.2D76.0020.0002.16E5] # RUNIC LETTER STAN
+16E6 ; [.2D77.0020.0002.16E6] # RUNIC LETTER LONG-BRANCH-YR
+16E7 ; [.2D77.0020.0004.16E7][.0000.0139.0004.16E7] # RUNIC LETTER SHORT-TWIG-YR
+16E8 ; [.2D77.0020.0004.16E8][.0000.013A.0004.16E8] # RUNIC LETTER ICELANDIC-YR
+10C00 ; [.2D78.0020.0002.10C00] # OLD TURKIC LETTER ORKHON A
+10C01 ; [.2D78.0020.0004.10C01][.0000.0139.0004.10C01] # OLD TURKIC LETTER YENISEI A
+10C02 ; [.2D79.0020.0002.10C02] # OLD TURKIC LETTER YENISEI AE
+10C03 ; [.2D7A.0020.0002.10C03] # OLD TURKIC LETTER ORKHON I
+10C04 ; [.2D7A.0020.0004.10C04][.0000.0139.0004.10C04] # OLD TURKIC LETTER YENISEI I
+10C05 ; [.2D7B.0020.0002.10C05] # OLD TURKIC LETTER YENISEI E
+10C06 ; [.2D7C.0020.0002.10C06] # OLD TURKIC LETTER ORKHON O
+10C07 ; [.2D7D.0020.0002.10C07] # OLD TURKIC LETTER ORKHON OE
+10C08 ; [.2D7D.0020.0004.10C08][.0000.0139.0004.10C08] # OLD TURKIC LETTER YENISEI OE
+10C09 ; [.2D7E.0020.0002.10C09] # OLD TURKIC LETTER ORKHON AB
+10C0A ; [.2D7E.0020.0004.10C0A][.0000.0139.0004.10C0A] # OLD TURKIC LETTER YENISEI AB
+10C0B ; [.2D7F.0020.0002.10C0B] # OLD TURKIC LETTER ORKHON AEB
+10C0C ; [.2D7F.0020.0004.10C0C][.0000.0139.0004.10C0C] # OLD TURKIC LETTER YENISEI AEB
+10C0D ; [.2D80.0020.0002.10C0D] # OLD TURKIC LETTER ORKHON AG
+10C0E ; [.2D80.0020.0004.10C0E][.0000.0139.0004.10C0E] # OLD TURKIC LETTER YENISEI AG
+10C0F ; [.2D81.0020.0002.10C0F] # OLD TURKIC LETTER ORKHON AEG
+10C10 ; [.2D81.0020.0004.10C10][.0000.0139.0004.10C10] # OLD TURKIC LETTER YENISEI AEG
+10C11 ; [.2D82.0020.0002.10C11] # OLD TURKIC LETTER ORKHON AD
+10C12 ; [.2D82.0020.0004.10C12][.0000.0139.0004.10C12] # OLD TURKIC LETTER YENISEI AD
+10C13 ; [.2D83.0020.0002.10C13] # OLD TURKIC LETTER ORKHON AED
+10C14 ; [.2D84.0020.0002.10C14] # OLD TURKIC LETTER ORKHON EZ
+10C15 ; [.2D84.0020.0004.10C15][.0000.0139.0004.10C15] # OLD TURKIC LETTER YENISEI EZ
+10C16 ; [.2D85.0020.0002.10C16] # OLD TURKIC LETTER ORKHON AY
+10C17 ; [.2D85.0020.0004.10C17][.0000.0139.0004.10C17] # OLD TURKIC LETTER YENISEI AY
+10C18 ; [.2D86.0020.0002.10C18] # OLD TURKIC LETTER ORKHON AEY
+10C19 ; [.2D86.0020.0004.10C19][.0000.0139.0004.10C19] # OLD TURKIC LETTER YENISEI AEY
+10C1A ; [.2D87.0020.0002.10C1A] # OLD TURKIC LETTER ORKHON AEK
+10C1B ; [.2D87.0020.0004.10C1B][.0000.0139.0004.10C1B] # OLD TURKIC LETTER YENISEI AEK
+10C1C ; [.2D88.0020.0002.10C1C] # OLD TURKIC LETTER ORKHON OEK
+10C1D ; [.2D88.0020.0004.10C1D][.0000.0139.0004.10C1D] # OLD TURKIC LETTER YENISEI OEK
+10C1E ; [.2D89.0020.0002.10C1E] # OLD TURKIC LETTER ORKHON AL
+10C1F ; [.2D89.0020.0004.10C1F][.0000.0139.0004.10C1F] # OLD TURKIC LETTER YENISEI AL
+10C20 ; [.2D8A.0020.0002.10C20] # OLD TURKIC LETTER ORKHON AEL
+10C21 ; [.2D8B.0020.0002.10C21] # OLD TURKIC LETTER ORKHON ELT
+10C22 ; [.2D8C.0020.0002.10C22] # OLD TURKIC LETTER ORKHON EM
+10C23 ; [.2D8D.0020.0002.10C23] # OLD TURKIC LETTER ORKHON AN
+10C24 ; [.2D8E.0020.0002.10C24] # OLD TURKIC LETTER ORKHON AEN
+10C25 ; [.2D8E.0020.0004.10C25][.0000.0139.0004.10C25] # OLD TURKIC LETTER YENISEI AEN
+10C26 ; [.2D8F.0020.0002.10C26] # OLD TURKIC LETTER ORKHON ENT
+10C27 ; [.2D8F.0020.0004.10C27][.0000.0139.0004.10C27] # OLD TURKIC LETTER YENISEI ENT
+10C28 ; [.2D90.0020.0002.10C28] # OLD TURKIC LETTER ORKHON ENC
+10C29 ; [.2D90.0020.0004.10C29][.0000.0139.0004.10C29] # OLD TURKIC LETTER YENISEI ENC
+10C2A ; [.2D91.0020.0002.10C2A] # OLD TURKIC LETTER ORKHON ENY
+10C2B ; [.2D91.0020.0004.10C2B][.0000.0139.0004.10C2B] # OLD TURKIC LETTER YENISEI ENY
+10C2C ; [.2D92.0020.0002.10C2C] # OLD TURKIC LETTER YENISEI ANG
+10C2D ; [.2D93.0020.0002.10C2D] # OLD TURKIC LETTER ORKHON ENG
+10C2E ; [.2D93.0020.0004.10C2E][.0000.0139.0004.10C2E] # OLD TURKIC LETTER YENISEI AENG
+10C2F ; [.2D94.0020.0002.10C2F] # OLD TURKIC LETTER ORKHON EP
+10C30 ; [.2D95.0020.0002.10C30] # OLD TURKIC LETTER ORKHON OP
+10C31 ; [.2D96.0020.0002.10C31] # OLD TURKIC LETTER ORKHON IC
+10C32 ; [.2D97.0020.0002.10C32] # OLD TURKIC LETTER ORKHON EC
+10C33 ; [.2D97.0020.0004.10C33][.0000.0139.0004.10C33] # OLD TURKIC LETTER YENISEI EC
+10C34 ; [.2D98.0020.0002.10C34] # OLD TURKIC LETTER ORKHON AQ
+10C35 ; [.2D98.0020.0004.10C35][.0000.0139.0004.10C35] # OLD TURKIC LETTER YENISEI AQ
+10C36 ; [.2D99.0020.0002.10C36] # OLD TURKIC LETTER ORKHON IQ
+10C37 ; [.2D99.0020.0004.10C37][.0000.0139.0004.10C37] # OLD TURKIC LETTER YENISEI IQ
+10C38 ; [.2D9A.0020.0002.10C38] # OLD TURKIC LETTER ORKHON OQ
+10C39 ; [.2D9A.0020.0004.10C39][.0000.0139.0004.10C39] # OLD TURKIC LETTER YENISEI OQ
+10C3A ; [.2D9B.0020.0002.10C3A] # OLD TURKIC LETTER ORKHON AR
+10C3B ; [.2D9B.0020.0004.10C3B][.0000.0139.0004.10C3B] # OLD TURKIC LETTER YENISEI AR
+10C3C ; [.2D9C.0020.0002.10C3C] # OLD TURKIC LETTER ORKHON AER
+10C3D ; [.2D9D.0020.0002.10C3D] # OLD TURKIC LETTER ORKHON AS
+10C3E ; [.2D9E.0020.0002.10C3E] # OLD TURKIC LETTER ORKHON AES
+10C3F ; [.2D9F.0020.0002.10C3F] # OLD TURKIC LETTER ORKHON ASH
+10C40 ; [.2D9F.0020.0004.10C40][.0000.0139.0004.10C40] # OLD TURKIC LETTER YENISEI ASH
+10C41 ; [.2DA0.0020.0002.10C41] # OLD TURKIC LETTER ORKHON ESH
+10C42 ; [.2DA0.0020.0004.10C42][.0000.0139.0004.10C42] # OLD TURKIC LETTER YENISEI ESH
+10C43 ; [.2DA1.0020.0002.10C43] # OLD TURKIC LETTER ORKHON AT
+10C44 ; [.2DA1.0020.0004.10C44][.0000.0139.0004.10C44] # OLD TURKIC LETTER YENISEI AT
+10C45 ; [.2DA2.0020.0002.10C45] # OLD TURKIC LETTER ORKHON AET
+10C46 ; [.2DA2.0020.0004.10C46][.0000.0139.0004.10C46] # OLD TURKIC LETTER YENISEI AET
+10C47 ; [.2DA3.0020.0002.10C47] # OLD TURKIC LETTER ORKHON OT
+10C48 ; [.2DA4.0020.0002.10C48] # OLD TURKIC LETTER ORKHON BASH
+A500 ; [.2DA5.0020.0002.A500] # VAI SYLLABLE EE
+A501 ; [.2DA6.0020.0002.A501] # VAI SYLLABLE EEN
+A502 ; [.2DA7.0020.0002.A502] # VAI SYLLABLE HEE
+A503 ; [.2DA8.0020.0002.A503] # VAI SYLLABLE WEE
+A504 ; [.2DA9.0020.0002.A504] # VAI SYLLABLE WEEN
+A505 ; [.2DAA.0020.0002.A505] # VAI SYLLABLE PEE
+A506 ; [.2DAB.0020.0002.A506] # VAI SYLLABLE BHEE
+A507 ; [.2DAC.0020.0002.A507] # VAI SYLLABLE BEE
+A508 ; [.2DAD.0020.0002.A508] # VAI SYLLABLE MBEE
+A509 ; [.2DAE.0020.0002.A509] # VAI SYLLABLE KPEE
+A50A ; [.2DAF.0020.0002.A50A] # VAI SYLLABLE MGBEE
+A50B ; [.2DB0.0020.0002.A50B] # VAI SYLLABLE GBEE
+A50C ; [.2DB1.0020.0002.A50C] # VAI SYLLABLE FEE
+A613 ; [.2DB1.0020.0004.A613][.2EB0.0020.0004.A613] # VAI SYMBOL FEENG
+A50D ; [.2DB2.0020.0002.A50D] # VAI SYLLABLE VEE
+A50E ; [.2DB3.0020.0002.A50E] # VAI SYLLABLE TEE
+A50F ; [.2DB4.0020.0002.A50F] # VAI SYLLABLE THEE
+A510 ; [.2DB5.0020.0002.A510] # VAI SYLLABLE DHEE
+A511 ; [.2DB6.0020.0002.A511] # VAI SYLLABLE DHHEE
+A512 ; [.2DB7.0020.0002.A512] # VAI SYLLABLE LEE
+A513 ; [.2DB8.0020.0002.A513] # VAI SYLLABLE REE
+A514 ; [.2DB9.0020.0002.A514] # VAI SYLLABLE DEE
+A515 ; [.2DBA.0020.0002.A515] # VAI SYLLABLE NDEE
+A516 ; [.2DBB.0020.0002.A516] # VAI SYLLABLE SEE
+A517 ; [.2DBC.0020.0002.A517] # VAI SYLLABLE SHEE
+A518 ; [.2DBD.0020.0002.A518] # VAI SYLLABLE ZEE
+A519 ; [.2DBE.0020.0002.A519] # VAI SYLLABLE ZHEE
+A51A ; [.2DBF.0020.0002.A51A] # VAI SYLLABLE CEE
+A51B ; [.2DC0.0020.0002.A51B] # VAI SYLLABLE JEE
+A51C ; [.2DC1.0020.0002.A51C] # VAI SYLLABLE NJEE
+A51D ; [.2DC2.0020.0002.A51D] # VAI SYLLABLE YEE
+A51E ; [.2DC3.0020.0002.A51E] # VAI SYLLABLE KEE
+A614 ; [.2DC3.0020.0004.A614][.2EB0.0020.0004.A614] # VAI SYMBOL KEENG
+A51F ; [.2DC4.0020.0002.A51F] # VAI SYLLABLE NGGEE
+A520 ; [.2DC5.0020.0002.A520] # VAI SYLLABLE GEE
+A521 ; [.2DC6.0020.0002.A521] # VAI SYLLABLE MEE
+A522 ; [.2DC7.0020.0002.A522] # VAI SYLLABLE NEE
+A523 ; [.2DC8.0020.0002.A523] # VAI SYLLABLE NYEE
+A524 ; [.2DC9.0020.0002.A524] # VAI SYLLABLE I
+A525 ; [.2DCA.0020.0002.A525] # VAI SYLLABLE IN
+A526 ; [.2DCB.0020.0002.A526] # VAI SYLLABLE HI
+A527 ; [.2DCC.0020.0002.A527] # VAI SYLLABLE HIN
+A528 ; [.2DCD.0020.0002.A528] # VAI SYLLABLE WI
+A529 ; [.2DCE.0020.0002.A529] # VAI SYLLABLE WIN
+A52A ; [.2DCF.0020.0002.A52A] # VAI SYLLABLE PI
+A52B ; [.2DD0.0020.0002.A52B] # VAI SYLLABLE BHI
+A52C ; [.2DD1.0020.0002.A52C] # VAI SYLLABLE BI
+A52D ; [.2DD2.0020.0002.A52D] # VAI SYLLABLE MBI
+A52E ; [.2DD3.0020.0002.A52E] # VAI SYLLABLE KPI
+A52F ; [.2DD4.0020.0002.A52F] # VAI SYLLABLE MGBI
+A530 ; [.2DD5.0020.0002.A530] # VAI SYLLABLE GBI
+A531 ; [.2DD6.0020.0002.A531] # VAI SYLLABLE FI
+A532 ; [.2DD7.0020.0002.A532] # VAI SYLLABLE VI
+A533 ; [.2DD8.0020.0002.A533] # VAI SYLLABLE TI
+A615 ; [.2DD8.0020.0004.A615][.2EB0.0020.0004.A615] # VAI SYMBOL TING
+A534 ; [.2DD9.0020.0002.A534] # VAI SYLLABLE THI
+A535 ; [.2DDA.0020.0002.A535] # VAI SYLLABLE DHI
+A536 ; [.2DDB.0020.0002.A536] # VAI SYLLABLE DHHI
+A537 ; [.2DDC.0020.0002.A537] # VAI SYLLABLE LI
+A538 ; [.2DDD.0020.0002.A538] # VAI SYLLABLE RI
+A539 ; [.2DDE.0020.0002.A539] # VAI SYLLABLE DI
+A53A ; [.2DDF.0020.0002.A53A] # VAI SYLLABLE NDI
+A53B ; [.2DE0.0020.0002.A53B] # VAI SYLLABLE SI
+A53C ; [.2DE1.0020.0002.A53C] # VAI SYLLABLE SHI
+A53D ; [.2DE2.0020.0002.A53D] # VAI SYLLABLE ZI
+A53E ; [.2DE3.0020.0002.A53E] # VAI SYLLABLE ZHI
+A53F ; [.2DE4.0020.0002.A53F] # VAI SYLLABLE CI
+A540 ; [.2DE5.0020.0002.A540] # VAI SYLLABLE JI
+A541 ; [.2DE6.0020.0002.A541] # VAI SYLLABLE NJI
+A542 ; [.2DE7.0020.0002.A542] # VAI SYLLABLE YI
+A543 ; [.2DE8.0020.0002.A543] # VAI SYLLABLE KI
+A544 ; [.2DE9.0020.0002.A544] # VAI SYLLABLE NGGI
+A545 ; [.2DEA.0020.0002.A545] # VAI SYLLABLE GI
+A546 ; [.2DEB.0020.0002.A546] # VAI SYLLABLE MI
+A547 ; [.2DEC.0020.0002.A547] # VAI SYLLABLE NI
+A616 ; [.2DEC.0020.0004.A616][.2EB1.0020.0004.A616] # VAI SYMBOL NII
+A548 ; [.2DED.0020.0002.A548] # VAI SYLLABLE NYI
+A549 ; [.2DEE.0020.0002.A549] # VAI SYLLABLE A
+A54A ; [.2DEF.0020.0002.A54A] # VAI SYLLABLE AN
+A54B ; [.2DF0.0020.0002.A54B] # VAI SYLLABLE NGAN
+A54C ; [.2DF1.0020.0002.A54C] # VAI SYLLABLE HA
+A54D ; [.2DF2.0020.0002.A54D] # VAI SYLLABLE HAN
+A54E ; [.2DF3.0020.0002.A54E] # VAI SYLLABLE WA
+A54F ; [.2DF4.0020.0002.A54F] # VAI SYLLABLE WAN
+A550 ; [.2DF5.0020.0002.A550] # VAI SYLLABLE PA
+A551 ; [.2DF6.0020.0002.A551] # VAI SYLLABLE BHA
+A552 ; [.2DF7.0020.0002.A552] # VAI SYLLABLE BA
+A617 ; [.2DF7.0020.0004.A617][.2EB0.0020.0004.A617] # VAI SYMBOL BANG
+A553 ; [.2DF8.0020.0002.A553] # VAI SYLLABLE MBA
+A554 ; [.2DF9.0020.0002.A554] # VAI SYLLABLE KPA
+A555 ; [.2DFA.0020.0002.A555] # VAI SYLLABLE KPAN
+A556 ; [.2DFB.0020.0002.A556] # VAI SYLLABLE MGBA
+A557 ; [.2DFC.0020.0002.A557] # VAI SYLLABLE GBA
+A558 ; [.2DFD.0020.0002.A558] # VAI SYLLABLE FA
+A610 ; [.2DFD.0020.0004.A610] # VAI SYLLABLE NDOLE FA
+A618 ; [.2DFD.0020.0004.A618][.2EB1.0020.0004.A618] # VAI SYMBOL FAA
+A559 ; [.2DFE.0020.0002.A559] # VAI SYLLABLE VA
+A55A ; [.2DFF.0020.0002.A55A] # VAI SYLLABLE TA
+A619 ; [.2DFF.0020.0004.A619][.2EB1.0020.0004.A619] # VAI SYMBOL TAA
+A55B ; [.2E00.0020.0002.A55B] # VAI SYLLABLE THA
+A55C ; [.2E01.0020.0002.A55C] # VAI SYLLABLE DHA
+A55D ; [.2E02.0020.0002.A55D] # VAI SYLLABLE DHHA
+A55E ; [.2E03.0020.0002.A55E] # VAI SYLLABLE LA
+A55F ; [.2E04.0020.0002.A55F] # VAI SYLLABLE RA
+A560 ; [.2E05.0020.0002.A560] # VAI SYLLABLE DA
+A61A ; [.2E05.0020.0004.A61A][.2EB0.0020.0004.A61A] # VAI SYMBOL DANG
+A561 ; [.2E06.0020.0002.A561] # VAI SYLLABLE NDA
+A562 ; [.2E07.0020.0002.A562] # VAI SYLLABLE SA
+A563 ; [.2E08.0020.0002.A563] # VAI SYLLABLE SHA
+A564 ; [.2E09.0020.0002.A564] # VAI SYLLABLE ZA
+A565 ; [.2E0A.0020.0002.A565] # VAI SYLLABLE ZHA
+A566 ; [.2E0B.0020.0002.A566] # VAI SYLLABLE CA
+A567 ; [.2E0C.0020.0002.A567] # VAI SYLLABLE JA
+A568 ; [.2E0D.0020.0002.A568] # VAI SYLLABLE NJA
+A569 ; [.2E0E.0020.0002.A569] # VAI SYLLABLE YA
+A56A ; [.2E0F.0020.0002.A56A] # VAI SYLLABLE KA
+A611 ; [.2E0F.0020.0004.A611] # VAI SYLLABLE NDOLE KA
+A56B ; [.2E10.0020.0002.A56B] # VAI SYLLABLE KAN
+A56C ; [.2E11.0020.0002.A56C] # VAI SYLLABLE NGGA
+A56D ; [.2E12.0020.0002.A56D] # VAI SYLLABLE GA
+A56E ; [.2E13.0020.0002.A56E] # VAI SYLLABLE MA
+A62A ; [.2E13.0020.0004.A62A] # VAI SYLLABLE NDOLE MA
+A56F ; [.2E14.0020.0002.A56F] # VAI SYLLABLE NA
+A570 ; [.2E15.0020.0002.A570] # VAI SYLLABLE NYA
+A571 ; [.2E16.0020.0002.A571] # VAI SYLLABLE OO
+A572 ; [.2E17.0020.0002.A572] # VAI SYLLABLE OON
+A573 ; [.2E18.0020.0002.A573] # VAI SYLLABLE HOO
+A574 ; [.2E19.0020.0002.A574] # VAI SYLLABLE WOO
+A575 ; [.2E1A.0020.0002.A575] # VAI SYLLABLE WOON
+A576 ; [.2E1B.0020.0002.A576] # VAI SYLLABLE POO
+A577 ; [.2E1C.0020.0002.A577] # VAI SYLLABLE BHOO
+A578 ; [.2E1D.0020.0002.A578] # VAI SYLLABLE BOO
+A579 ; [.2E1E.0020.0002.A579] # VAI SYLLABLE MBOO
+A57A ; [.2E1F.0020.0002.A57A] # VAI SYLLABLE KPOO
+A57B ; [.2E20.0020.0002.A57B] # VAI SYLLABLE MGBOO
+A57C ; [.2E21.0020.0002.A57C] # VAI SYLLABLE GBOO
+A57D ; [.2E22.0020.0002.A57D] # VAI SYLLABLE FOO
+A57E ; [.2E23.0020.0002.A57E] # VAI SYLLABLE VOO
+A57F ; [.2E24.0020.0002.A57F] # VAI SYLLABLE TOO
+A580 ; [.2E25.0020.0002.A580] # VAI SYLLABLE THOO
+A581 ; [.2E26.0020.0002.A581] # VAI SYLLABLE DHOO
+A582 ; [.2E27.0020.0002.A582] # VAI SYLLABLE DHHOO
+A583 ; [.2E28.0020.0002.A583] # VAI SYLLABLE LOO
+A584 ; [.2E29.0020.0002.A584] # VAI SYLLABLE ROO
+A585 ; [.2E2A.0020.0002.A585] # VAI SYLLABLE DOO
+A61B ; [.2E2A.0020.0004.A61B][.2EB0.0020.0004.A61B] # VAI SYMBOL DOONG
+A586 ; [.2E2B.0020.0002.A586] # VAI SYLLABLE NDOO
+A587 ; [.2E2C.0020.0002.A587] # VAI SYLLABLE SOO
+A612 ; [.2E2C.0020.0004.A612] # VAI SYLLABLE NDOLE SOO
+A588 ; [.2E2D.0020.0002.A588] # VAI SYLLABLE SHOO
+A589 ; [.2E2E.0020.0002.A589] # VAI SYLLABLE ZOO
+A58A ; [.2E2F.0020.0002.A58A] # VAI SYLLABLE ZHOO
+A58B ; [.2E30.0020.0002.A58B] # VAI SYLLABLE COO
+A58C ; [.2E31.0020.0002.A58C] # VAI SYLLABLE JOO
+A58D ; [.2E32.0020.0002.A58D] # VAI SYLLABLE NJOO
+A58E ; [.2E33.0020.0002.A58E] # VAI SYLLABLE YOO
+A58F ; [.2E34.0020.0002.A58F] # VAI SYLLABLE KOO
+A590 ; [.2E35.0020.0002.A590] # VAI SYLLABLE NGGOO
+A591 ; [.2E36.0020.0002.A591] # VAI SYLLABLE GOO
+A592 ; [.2E37.0020.0002.A592] # VAI SYLLABLE MOO
+A593 ; [.2E38.0020.0002.A593] # VAI SYLLABLE NOO
+A594 ; [.2E39.0020.0002.A594] # VAI SYLLABLE NYOO
+A595 ; [.2E3A.0020.0002.A595] # VAI SYLLABLE U
+A596 ; [.2E3B.0020.0002.A596] # VAI SYLLABLE UN
+A597 ; [.2E3C.0020.0002.A597] # VAI SYLLABLE HU
+A598 ; [.2E3D.0020.0002.A598] # VAI SYLLABLE HUN
+A599 ; [.2E3E.0020.0002.A599] # VAI SYLLABLE WU
+A59A ; [.2E3F.0020.0002.A59A] # VAI SYLLABLE WUN
+A59B ; [.2E40.0020.0002.A59B] # VAI SYLLABLE PU
+A59C ; [.2E41.0020.0002.A59C] # VAI SYLLABLE BHU
+A59D ; [.2E42.0020.0002.A59D] # VAI SYLLABLE BU
+A59E ; [.2E43.0020.0002.A59E] # VAI SYLLABLE MBU
+A59F ; [.2E44.0020.0002.A59F] # VAI SYLLABLE KPU
+A5A0 ; [.2E45.0020.0002.A5A0] # VAI SYLLABLE MGBU
+A5A1 ; [.2E46.0020.0002.A5A1] # VAI SYLLABLE GBU
+A5A2 ; [.2E47.0020.0002.A5A2] # VAI SYLLABLE FU
+A5A3 ; [.2E48.0020.0002.A5A3] # VAI SYLLABLE VU
+A5A4 ; [.2E49.0020.0002.A5A4] # VAI SYLLABLE TU
+A5A5 ; [.2E4A.0020.0002.A5A5] # VAI SYLLABLE THU
+A5A6 ; [.2E4B.0020.0002.A5A6] # VAI SYLLABLE DHU
+A5A7 ; [.2E4C.0020.0002.A5A7] # VAI SYLLABLE DHHU
+A5A8 ; [.2E4D.0020.0002.A5A8] # VAI SYLLABLE LU
+A5A9 ; [.2E4E.0020.0002.A5A9] # VAI SYLLABLE RU
+A5AA ; [.2E4F.0020.0002.A5AA] # VAI SYLLABLE DU
+A5AB ; [.2E50.0020.0002.A5AB] # VAI SYLLABLE NDU
+A5AC ; [.2E51.0020.0002.A5AC] # VAI SYLLABLE SU
+A5AD ; [.2E52.0020.0002.A5AD] # VAI SYLLABLE SHU
+A5AE ; [.2E53.0020.0002.A5AE] # VAI SYLLABLE ZU
+A5AF ; [.2E54.0020.0002.A5AF] # VAI SYLLABLE ZHU
+A5B0 ; [.2E55.0020.0002.A5B0] # VAI SYLLABLE CU
+A5B1 ; [.2E56.0020.0002.A5B1] # VAI SYLLABLE JU
+A5B2 ; [.2E57.0020.0002.A5B2] # VAI SYLLABLE NJU
+A5B3 ; [.2E58.0020.0002.A5B3] # VAI SYLLABLE YU
+A5B4 ; [.2E59.0020.0002.A5B4] # VAI SYLLABLE KU
+A61C ; [.2E59.0020.0004.A61C][.2EB0.0020.0004.A61C] # VAI SYMBOL KUNG
+A5B5 ; [.2E5A.0020.0002.A5B5] # VAI SYLLABLE NGGU
+A5B6 ; [.2E5B.0020.0002.A5B6] # VAI SYLLABLE GU
+A5B7 ; [.2E5C.0020.0002.A5B7] # VAI SYLLABLE MU
+A5B8 ; [.2E5D.0020.0002.A5B8] # VAI SYLLABLE NU
+A5B9 ; [.2E5E.0020.0002.A5B9] # VAI SYLLABLE NYU
+A5BA ; [.2E5F.0020.0002.A5BA] # VAI SYLLABLE O
+A5BB ; [.2E60.0020.0002.A5BB] # VAI SYLLABLE ON
+A5BC ; [.2E61.0020.0002.A5BC] # VAI SYLLABLE NGON
+A5BD ; [.2E62.0020.0002.A5BD] # VAI SYLLABLE HO
+A5BE ; [.2E63.0020.0002.A5BE] # VAI SYLLABLE HON
+A5BF ; [.2E64.0020.0002.A5BF] # VAI SYLLABLE WO
+A5C0 ; [.2E65.0020.0002.A5C0] # VAI SYLLABLE WON
+A5C1 ; [.2E66.0020.0002.A5C1] # VAI SYLLABLE PO
+A5C2 ; [.2E67.0020.0002.A5C2] # VAI SYLLABLE BHO
+A5C3 ; [.2E68.0020.0002.A5C3] # VAI SYLLABLE BO
+A5C4 ; [.2E69.0020.0002.A5C4] # VAI SYLLABLE MBO
+A5C5 ; [.2E6A.0020.0002.A5C5] # VAI SYLLABLE KPO
+A5C6 ; [.2E6B.0020.0002.A5C6] # VAI SYLLABLE MGBO
+A5C7 ; [.2E6C.0020.0002.A5C7] # VAI SYLLABLE GBO
+A5C8 ; [.2E6D.0020.0002.A5C8] # VAI SYLLABLE GBON
+A5C9 ; [.2E6E.0020.0002.A5C9] # VAI SYLLABLE FO
+A5CA ; [.2E6F.0020.0002.A5CA] # VAI SYLLABLE VO
+A5CB ; [.2E70.0020.0002.A5CB] # VAI SYLLABLE TO
+A61D ; [.2E70.0020.0004.A61D][.2EB0.0020.0004.A61D] # VAI SYMBOL TONG
+A5CC ; [.2E71.0020.0002.A5CC] # VAI SYLLABLE THO
+A5CD ; [.2E72.0020.0002.A5CD] # VAI SYLLABLE DHO
+A5CE ; [.2E73.0020.0002.A5CE] # VAI SYLLABLE DHHO
+A5CF ; [.2E74.0020.0002.A5CF] # VAI SYLLABLE LO
+A5D0 ; [.2E75.0020.0002.A5D0] # VAI SYLLABLE RO
+A5D1 ; [.2E76.0020.0002.A5D1] # VAI SYLLABLE DO
+A62B ; [.2E76.0020.0004.A62B] # VAI SYLLABLE NDOLE DO
+A61E ; [.2E76.0020.0004.A61E][.2EB1.0020.0004.A61E] # VAI SYMBOL DO-O
+A5D2 ; [.2E77.0020.0002.A5D2] # VAI SYLLABLE NDO
+A5D3 ; [.2E78.0020.0002.A5D3] # VAI SYLLABLE SO
+A5D4 ; [.2E79.0020.0002.A5D4] # VAI SYLLABLE SHO
+A5D5 ; [.2E7A.0020.0002.A5D5] # VAI SYLLABLE ZO
+A5D6 ; [.2E7B.0020.0002.A5D6] # VAI SYLLABLE ZHO
+A5D7 ; [.2E7C.0020.0002.A5D7] # VAI SYLLABLE CO
+A5D8 ; [.2E7D.0020.0002.A5D8] # VAI SYLLABLE JO
+A61F ; [.2E7D.0020.0004.A61F][.2EB0.0020.0004.A61F] # VAI SYMBOL JONG
+A5D9 ; [.2E7E.0020.0002.A5D9] # VAI SYLLABLE NJO
+A5DA ; [.2E7F.0020.0002.A5DA] # VAI SYLLABLE YO
+A5DB ; [.2E80.0020.0002.A5DB] # VAI SYLLABLE KO
+A5DC ; [.2E81.0020.0002.A5DC] # VAI SYLLABLE NGGO
+A5DD ; [.2E82.0020.0002.A5DD] # VAI SYLLABLE GO
+A5DE ; [.2E83.0020.0002.A5DE] # VAI SYLLABLE MO
+A5DF ; [.2E84.0020.0002.A5DF] # VAI SYLLABLE NO
+A5E0 ; [.2E85.0020.0002.A5E0] # VAI SYLLABLE NYO
+A5E1 ; [.2E86.0020.0002.A5E1] # VAI SYLLABLE E
+A5E2 ; [.2E87.0020.0002.A5E2] # VAI SYLLABLE EN
+A5E3 ; [.2E88.0020.0002.A5E3] # VAI SYLLABLE NGEN
+A5E4 ; [.2E89.0020.0002.A5E4] # VAI SYLLABLE HE
+A5E5 ; [.2E8A.0020.0002.A5E5] # VAI SYLLABLE HEN
+A5E6 ; [.2E8B.0020.0002.A5E6] # VAI SYLLABLE WE
+A5E7 ; [.2E8C.0020.0002.A5E7] # VAI SYLLABLE WEN
+A5E8 ; [.2E8D.0020.0002.A5E8] # VAI SYLLABLE PE
+A5E9 ; [.2E8E.0020.0002.A5E9] # VAI SYLLABLE BHE
+A5EA ; [.2E8F.0020.0002.A5EA] # VAI SYLLABLE BE
+A5EB ; [.2E90.0020.0002.A5EB] # VAI SYLLABLE MBE
+A5EC ; [.2E91.0020.0002.A5EC] # VAI SYLLABLE KPE
+A5ED ; [.2E92.0020.0002.A5ED] # VAI SYLLABLE KPEN
+A5EE ; [.2E93.0020.0002.A5EE] # VAI SYLLABLE MGBE
+A5EF ; [.2E94.0020.0002.A5EF] # VAI SYLLABLE GBE
+A5F0 ; [.2E95.0020.0002.A5F0] # VAI SYLLABLE GBEN
+A5F1 ; [.2E96.0020.0002.A5F1] # VAI SYLLABLE FE
+A5F2 ; [.2E97.0020.0002.A5F2] # VAI SYLLABLE VE
+A5F3 ; [.2E98.0020.0002.A5F3] # VAI SYLLABLE TE
+A5F4 ; [.2E99.0020.0002.A5F4] # VAI SYLLABLE THE
+A5F5 ; [.2E9A.0020.0002.A5F5] # VAI SYLLABLE DHE
+A5F6 ; [.2E9B.0020.0002.A5F6] # VAI SYLLABLE DHHE
+A5F7 ; [.2E9C.0020.0002.A5F7] # VAI SYLLABLE LE
+A5F8 ; [.2E9D.0020.0002.A5F8] # VAI SYLLABLE RE
+A5F9 ; [.2E9E.0020.0002.A5F9] # VAI SYLLABLE DE
+A5FA ; [.2E9F.0020.0002.A5FA] # VAI SYLLABLE NDE
+A5FB ; [.2EA0.0020.0002.A5FB] # VAI SYLLABLE SE
+A5FC ; [.2EA1.0020.0002.A5FC] # VAI SYLLABLE SHE
+A5FD ; [.2EA2.0020.0002.A5FD] # VAI SYLLABLE ZE
+A5FE ; [.2EA3.0020.0002.A5FE] # VAI SYLLABLE ZHE
+A5FF ; [.2EA4.0020.0002.A5FF] # VAI SYLLABLE CE
+A600 ; [.2EA5.0020.0002.A600] # VAI SYLLABLE JE
+A601 ; [.2EA6.0020.0002.A601] # VAI SYLLABLE NJE
+A602 ; [.2EA7.0020.0002.A602] # VAI SYLLABLE YE
+A603 ; [.2EA8.0020.0002.A603] # VAI SYLLABLE KE
+A604 ; [.2EA9.0020.0002.A604] # VAI SYLLABLE NGGE
+A605 ; [.2EAA.0020.0002.A605] # VAI SYLLABLE NGGEN
+A606 ; [.2EAB.0020.0002.A606] # VAI SYLLABLE GE
+A607 ; [.2EAC.0020.0002.A607] # VAI SYLLABLE GEN
+A608 ; [.2EAD.0020.0002.A608] # VAI SYLLABLE ME
+A609 ; [.2EAE.0020.0002.A609] # VAI SYLLABLE NE
+A60A ; [.2EAF.0020.0002.A60A] # VAI SYLLABLE NYE
+A60B ; [.2EB0.0020.0002.A60B] # VAI SYLLABLE NG
+A60C ; [.2EB1.0020.0002.A60C] # VAI SYLLABLE LENGTHENER
+A6A0 ; [.2EB2.0020.0002.A6A0] # BAMUM LETTER A
+A6A1 ; [.2EB3.0020.0002.A6A1] # BAMUM LETTER KA
+A6A2 ; [.2EB4.0020.0002.A6A2] # BAMUM LETTER U
+A6A3 ; [.2EB5.0020.0002.A6A3] # BAMUM LETTER KU
+A6A4 ; [.2EB6.0020.0002.A6A4] # BAMUM LETTER EE
+A6A5 ; [.2EB7.0020.0002.A6A5] # BAMUM LETTER REE
+A6A6 ; [.2EB8.0020.0002.A6A6] # BAMUM LETTER TAE
+A6A7 ; [.2EB9.0020.0002.A6A7] # BAMUM LETTER O
+A6A8 ; [.2EBA.0020.0002.A6A8] # BAMUM LETTER NYI
+A6A9 ; [.2EBB.0020.0002.A6A9] # BAMUM LETTER I
+A6AA ; [.2EBC.0020.0002.A6AA] # BAMUM LETTER LA
+A6AB ; [.2EBD.0020.0002.A6AB] # BAMUM LETTER PA
+A6AC ; [.2EBE.0020.0002.A6AC] # BAMUM LETTER RII
+A6AD ; [.2EBF.0020.0002.A6AD] # BAMUM LETTER RIEE
+A6AE ; [.2EC0.0020.0002.A6AE] # BAMUM LETTER LEEEE
+A6AF ; [.2EC1.0020.0002.A6AF] # BAMUM LETTER MEEEE
+A6B0 ; [.2EC2.0020.0002.A6B0] # BAMUM LETTER TAA
+A6B1 ; [.2EC3.0020.0002.A6B1] # BAMUM LETTER NDAA
+A6B2 ; [.2EC4.0020.0002.A6B2] # BAMUM LETTER NJAEM
+A6B3 ; [.2EC5.0020.0002.A6B3] # BAMUM LETTER M
+A6B4 ; [.2EC6.0020.0002.A6B4] # BAMUM LETTER SUU
+A6B5 ; [.2EC7.0020.0002.A6B5] # BAMUM LETTER MU
+A6B6 ; [.2EC8.0020.0002.A6B6] # BAMUM LETTER SHII
+A6B7 ; [.2EC9.0020.0002.A6B7] # BAMUM LETTER SI
+A6B8 ; [.2ECA.0020.0002.A6B8] # BAMUM LETTER SHEUX
+A6B9 ; [.2ECB.0020.0002.A6B9] # BAMUM LETTER SEUX
+A6BA ; [.2ECC.0020.0002.A6BA] # BAMUM LETTER KYEE
+A6BB ; [.2ECD.0020.0002.A6BB] # BAMUM LETTER KET
+A6BC ; [.2ECE.0020.0002.A6BC] # BAMUM LETTER NUAE
+A6BD ; [.2ECF.0020.0002.A6BD] # BAMUM LETTER NU
+A6BE ; [.2ED0.0020.0002.A6BE] # BAMUM LETTER NJUAE
+A6BF ; [.2ED1.0020.0002.A6BF] # BAMUM LETTER YOQ
+A6C0 ; [.2ED2.0020.0002.A6C0] # BAMUM LETTER SHU
+A6C1 ; [.2ED3.0020.0002.A6C1] # BAMUM LETTER YUQ
+A6C2 ; [.2ED4.0020.0002.A6C2] # BAMUM LETTER YA
+A6C3 ; [.2ED5.0020.0002.A6C3] # BAMUM LETTER NSHA
+A6C4 ; [.2ED6.0020.0002.A6C4] # BAMUM LETTER KEUX
+A6C5 ; [.2ED7.0020.0002.A6C5] # BAMUM LETTER PEUX
+A6C6 ; [.2ED8.0020.0002.A6C6] # BAMUM LETTER NJEE
+A6C7 ; [.2ED9.0020.0002.A6C7] # BAMUM LETTER NTEE
+A6C8 ; [.2EDA.0020.0002.A6C8] # BAMUM LETTER PUE
+A6C9 ; [.2EDB.0020.0002.A6C9] # BAMUM LETTER WUE
+A6CA ; [.2EDC.0020.0002.A6CA] # BAMUM LETTER PEE
+A6CB ; [.2EDD.0020.0002.A6CB] # BAMUM LETTER FEE
+A6CC ; [.2EDE.0020.0002.A6CC] # BAMUM LETTER RU
+A6CD ; [.2EDF.0020.0002.A6CD] # BAMUM LETTER LU
+A6CE ; [.2EE0.0020.0002.A6CE] # BAMUM LETTER MI
+A6CF ; [.2EE1.0020.0002.A6CF] # BAMUM LETTER NI
+A6D0 ; [.2EE2.0020.0002.A6D0] # BAMUM LETTER REUX
+A6D1 ; [.2EE3.0020.0002.A6D1] # BAMUM LETTER RAE
+A6D2 ; [.2EE4.0020.0002.A6D2] # BAMUM LETTER KEN
+A6D3 ; [.2EE5.0020.0002.A6D3] # BAMUM LETTER NGKWAEN
+A6D4 ; [.2EE6.0020.0002.A6D4] # BAMUM LETTER NGGA
+A6D5 ; [.2EE7.0020.0002.A6D5] # BAMUM LETTER NGA
+A6D6 ; [.2EE8.0020.0002.A6D6] # BAMUM LETTER SHO
+A6D7 ; [.2EE9.0020.0002.A6D7] # BAMUM LETTER PUAE
+A6D8 ; [.2EEA.0020.0002.A6D8] # BAMUM LETTER FU
+A6D9 ; [.2EEB.0020.0002.A6D9] # BAMUM LETTER FOM
+A6DA ; [.2EEC.0020.0002.A6DA] # BAMUM LETTER WA
+A6DB ; [.2EED.0020.0002.A6DB] # BAMUM LETTER NA
+A6DC ; [.2EEE.0020.0002.A6DC] # BAMUM LETTER LI
+A6DD ; [.2EEF.0020.0002.A6DD] # BAMUM LETTER PI
+A6DE ; [.2EF0.0020.0002.A6DE] # BAMUM LETTER LOQ
+A6DF ; [.2EF1.0020.0002.A6DF] # BAMUM LETTER KO
+A6E0 ; [.2EF2.0020.0002.A6E0] # BAMUM LETTER MBEN
+A6E1 ; [.2EF3.0020.0002.A6E1] # BAMUM LETTER REN
+A6E2 ; [.2EF4.0020.0002.A6E2] # BAMUM LETTER MEN
+A6E3 ; [.2EF5.0020.0002.A6E3] # BAMUM LETTER MA
+A6E4 ; [.2EF6.0020.0002.A6E4] # BAMUM LETTER TI
+A6E5 ; [.2EF7.0020.0002.A6E5] # BAMUM LETTER KI
+A6E6 ; [.2EF8.0020.0002.A6E6] # BAMUM LETTER MO
+A6E7 ; [.2EF9.0020.0002.A6E7] # BAMUM LETTER MBAA
+A6E8 ; [.2EFA.0020.0002.A6E8] # BAMUM LETTER TET
+A6E9 ; [.2EFB.0020.0002.A6E9] # BAMUM LETTER KPA
+A6EA ; [.2EFC.0020.0002.A6EA] # BAMUM LETTER TEN
+A6EB ; [.2EFD.0020.0002.A6EB] # BAMUM LETTER NTUU
+A6EC ; [.2EFE.0020.0002.A6EC] # BAMUM LETTER SAMBA
+A6ED ; [.2EFF.0020.0002.A6ED] # BAMUM LETTER FAAMAE
+A6EE ; [.2F00.0020.0002.A6EE] # BAMUM LETTER KOVUU
+A6EF ; [.2F01.0020.0002.A6EF] # BAMUM LETTER KOGHOM
+16800 ; [.2F02.0020.0002.16800] # BAMUM LETTER PHASE-A NGKUE MFON
+16801 ; [.2F03.0020.0002.16801] # BAMUM LETTER PHASE-A GBIEE FON
+16802 ; [.2F04.0020.0002.16802] # BAMUM LETTER PHASE-A PON MFON PIPAEMGBIEE
+16803 ; [.2F05.0020.0002.16803] # BAMUM LETTER PHASE-A PON MFON PIPAEMBA
+16804 ; [.2F06.0020.0002.16804] # BAMUM LETTER PHASE-A NAA MFON
+16805 ; [.2F07.0020.0002.16805] # BAMUM LETTER PHASE-A SHUENSHUET
+16806 ; [.2F08.0020.0002.16806] # BAMUM LETTER PHASE-A TITA MFON
+16807 ; [.2F09.0020.0002.16807] # BAMUM LETTER PHASE-A NZA MFON
+16808 ; [.2F0A.0020.0002.16808] # BAMUM LETTER PHASE-A SHINDA PA NJI
+16809 ; [.2F0B.0020.0002.16809] # BAMUM LETTER PHASE-A PON PA NJI PIPAEMGBIEE
+1680A ; [.2F0C.0020.0002.1680A] # BAMUM LETTER PHASE-A PON PA NJI PIPAEMBA
+1680B ; [.2F0D.0020.0002.1680B] # BAMUM LETTER PHASE-A MAEMBGBIEE
+1680C ; [.2F0E.0020.0002.1680C] # BAMUM LETTER PHASE-A TU MAEMBA
+1680D ; [.2F0F.0020.0002.1680D] # BAMUM LETTER PHASE-A NGANGU
+1680E ; [.2F10.0020.0002.1680E] # BAMUM LETTER PHASE-A MAEMVEUX
+1680F ; [.2F11.0020.0002.1680F] # BAMUM LETTER PHASE-A MANSUAE
+16810 ; [.2F12.0020.0002.16810] # BAMUM LETTER PHASE-A MVEUAENGAM
+16811 ; [.2F13.0020.0002.16811] # BAMUM LETTER PHASE-A SEUNYAM
+16812 ; [.2F14.0020.0002.16812] # BAMUM LETTER PHASE-A NTOQPEN
+16813 ; [.2F15.0020.0002.16813] # BAMUM LETTER PHASE-A KEUKEUTNDA
+16814 ; [.2F16.0020.0002.16814] # BAMUM LETTER PHASE-A NKINDI
+16815 ; [.2F17.0020.0002.16815] # BAMUM LETTER PHASE-A SUU
+16816 ; [.2F18.0020.0002.16816] # BAMUM LETTER PHASE-A NGKUENZEUM
+16817 ; [.2F19.0020.0002.16817] # BAMUM LETTER PHASE-A LAPAQ
+16818 ; [.2F1A.0020.0002.16818] # BAMUM LETTER PHASE-A LET KUT
+16819 ; [.2F1B.0020.0002.16819] # BAMUM LETTER PHASE-A NTAP MFAA
+1681A ; [.2F1C.0020.0002.1681A] # BAMUM LETTER PHASE-A MAEKEUP
+1681B ; [.2F1D.0020.0002.1681B] # BAMUM LETTER PHASE-A PASHAE
+1681C ; [.2F1E.0020.0002.1681C] # BAMUM LETTER PHASE-A GHEUAERAE
+1681D ; [.2F1F.0020.0002.1681D] # BAMUM LETTER PHASE-A PAMSHAE
+1681E ; [.2F20.0020.0002.1681E] # BAMUM LETTER PHASE-A MON NGGEUAET
+1681F ; [.2F21.0020.0002.1681F] # BAMUM LETTER PHASE-A NZUN MEUT
+16820 ; [.2F22.0020.0002.16820] # BAMUM LETTER PHASE-A U YUQ NAE
+16821 ; [.2F23.0020.0002.16821] # BAMUM LETTER PHASE-A GHEUAEGHEUAE
+16822 ; [.2F24.0020.0002.16822] # BAMUM LETTER PHASE-A NTAP NTAA
+16823 ; [.2F25.0020.0002.16823] # BAMUM LETTER PHASE-A SISA
+16824 ; [.2F26.0020.0002.16824] # BAMUM LETTER PHASE-A MGBASA
+16825 ; [.2F27.0020.0002.16825] # BAMUM LETTER PHASE-A MEUNJOMNDEUQ
+16826 ; [.2F28.0020.0002.16826] # BAMUM LETTER PHASE-A MOOMPUQ
+16827 ; [.2F29.0020.0002.16827] # BAMUM LETTER PHASE-A KAFA
+16828 ; [.2F2A.0020.0002.16828] # BAMUM LETTER PHASE-A PA LEERAEWA
+16829 ; [.2F2B.0020.0002.16829] # BAMUM LETTER PHASE-A NDA LEERAEWA
+1682A ; [.2F2C.0020.0002.1682A] # BAMUM LETTER PHASE-A PET
+1682B ; [.2F2D.0020.0002.1682B] # BAMUM LETTER PHASE-A MAEMKPEN
+1682C ; [.2F2E.0020.0002.1682C] # BAMUM LETTER PHASE-A NIKA
+1682D ; [.2F2F.0020.0002.1682D] # BAMUM LETTER PHASE-A PUP
+1682E ; [.2F30.0020.0002.1682E] # BAMUM LETTER PHASE-A TUAEP
+1682F ; [.2F31.0020.0002.1682F] # BAMUM LETTER PHASE-A LUAEP
+16830 ; [.2F32.0020.0002.16830] # BAMUM LETTER PHASE-A SONJAM
+16831 ; [.2F33.0020.0002.16831] # BAMUM LETTER PHASE-A TEUTEUWEN
+16832 ; [.2F34.0020.0002.16832] # BAMUM LETTER PHASE-A MAENYI
+16833 ; [.2F35.0020.0002.16833] # BAMUM LETTER PHASE-A KET
+16834 ; [.2F36.0020.0002.16834] # BAMUM LETTER PHASE-A NDAANGGEUAET
+16835 ; [.2F37.0020.0002.16835] # BAMUM LETTER PHASE-A KUOQ
+16836 ; [.2F38.0020.0002.16836] # BAMUM LETTER PHASE-A MOOMEUT
+16837 ; [.2F39.0020.0002.16837] # BAMUM LETTER PHASE-A SHUM
+16838 ; [.2F3A.0020.0002.16838] # BAMUM LETTER PHASE-A LOMMAE
+16839 ; [.2F3B.0020.0002.16839] # BAMUM LETTER PHASE-A FIRI
+1683A ; [.2F3C.0020.0002.1683A] # BAMUM LETTER PHASE-A ROM
+1683B ; [.2F3D.0020.0002.1683B] # BAMUM LETTER PHASE-A KPOQ
+1683C ; [.2F3E.0020.0002.1683C] # BAMUM LETTER PHASE-A SOQ
+1683D ; [.2F3F.0020.0002.1683D] # BAMUM LETTER PHASE-A MAP PIEET
+1683E ; [.2F40.0020.0002.1683E] # BAMUM LETTER PHASE-A SHIRAE
+1683F ; [.2F41.0020.0002.1683F] # BAMUM LETTER PHASE-A NTAP
+16840 ; [.2F42.0020.0002.16840] # BAMUM LETTER PHASE-A SHOQ NSHUT YUM
+16841 ; [.2F43.0020.0002.16841] # BAMUM LETTER PHASE-A NYIT MONGKEUAEQ
+16842 ; [.2F44.0020.0002.16842] # BAMUM LETTER PHASE-A PAARAE
+16843 ; [.2F45.0020.0002.16843] # BAMUM LETTER PHASE-A NKAARAE
+16844 ; [.2F46.0020.0002.16844] # BAMUM LETTER PHASE-A UNKNOWN
+16845 ; [.2F47.0020.0002.16845] # BAMUM LETTER PHASE-A NGGEN
+16846 ; [.2F48.0020.0002.16846] # BAMUM LETTER PHASE-A MAESI
+16847 ; [.2F49.0020.0002.16847] # BAMUM LETTER PHASE-A NJAM
+16848 ; [.2F4A.0020.0002.16848] # BAMUM LETTER PHASE-A MBANYI
+16849 ; [.2F4B.0020.0002.16849] # BAMUM LETTER PHASE-A NYET
+1684A ; [.2F4C.0020.0002.1684A] # BAMUM LETTER PHASE-A TEUAEN
+1684B ; [.2F4D.0020.0002.1684B] # BAMUM LETTER PHASE-A SOT
+1684C ; [.2F4E.0020.0002.1684C] # BAMUM LETTER PHASE-A PAAM
+1684D ; [.2F4F.0020.0002.1684D] # BAMUM LETTER PHASE-A NSHIEE
+1684E ; [.2F50.0020.0002.1684E] # BAMUM LETTER PHASE-A MAEM
+1684F ; [.2F51.0020.0002.1684F] # BAMUM LETTER PHASE-A NYI
+16850 ; [.2F52.0020.0002.16850] # BAMUM LETTER PHASE-A KAQ
+16851 ; [.2F53.0020.0002.16851] # BAMUM LETTER PHASE-A NSHA
+16852 ; [.2F54.0020.0002.16852] # BAMUM LETTER PHASE-A VEE
+16853 ; [.2F55.0020.0002.16853] # BAMUM LETTER PHASE-A LU
+16854 ; [.2F56.0020.0002.16854] # BAMUM LETTER PHASE-A NEN
+16855 ; [.2F57.0020.0002.16855] # BAMUM LETTER PHASE-A NAQ
+16856 ; [.2F58.0020.0002.16856] # BAMUM LETTER PHASE-A MBAQ
+16857 ; [.2F59.0020.0002.16857] # BAMUM LETTER PHASE-B NSHUET
+16858 ; [.2F5A.0020.0002.16858] # BAMUM LETTER PHASE-B TU MAEMGBIEE
+16859 ; [.2F5B.0020.0002.16859] # BAMUM LETTER PHASE-B SIEE
+1685A ; [.2F5C.0020.0002.1685A] # BAMUM LETTER PHASE-B SET TU
+1685B ; [.2F5D.0020.0002.1685B] # BAMUM LETTER PHASE-B LOM NTEUM
+1685C ; [.2F5E.0020.0002.1685C] # BAMUM LETTER PHASE-B MBA MAELEE
+1685D ; [.2F5F.0020.0002.1685D] # BAMUM LETTER PHASE-B KIEEM
+1685E ; [.2F60.0020.0002.1685E] # BAMUM LETTER PHASE-B YEURAE
+1685F ; [.2F61.0020.0002.1685F] # BAMUM LETTER PHASE-B MBAARAE
+16860 ; [.2F62.0020.0002.16860] # BAMUM LETTER PHASE-B KAM
+16861 ; [.2F63.0020.0002.16861] # BAMUM LETTER PHASE-B PEESHI
+16862 ; [.2F64.0020.0002.16862] # BAMUM LETTER PHASE-B YAFU LEERAEWA
+16863 ; [.2F65.0020.0002.16863] # BAMUM LETTER PHASE-B LAM NSHUT NYAM
+16864 ; [.2F66.0020.0002.16864] # BAMUM LETTER PHASE-B NTIEE SHEUOQ
+16865 ; [.2F67.0020.0002.16865] # BAMUM LETTER PHASE-B NDU NJAA
+16866 ; [.2F68.0020.0002.16866] # BAMUM LETTER PHASE-B GHEUGHEUAEM
+16867 ; [.2F69.0020.0002.16867] # BAMUM LETTER PHASE-B PIT
+16868 ; [.2F6A.0020.0002.16868] # BAMUM LETTER PHASE-B TU NSIEE
+16869 ; [.2F6B.0020.0002.16869] # BAMUM LETTER PHASE-B SHET NJAQ
+1686A ; [.2F6C.0020.0002.1686A] # BAMUM LETTER PHASE-B SHEUAEQTU
+1686B ; [.2F6D.0020.0002.1686B] # BAMUM LETTER PHASE-B MFON TEUAEQ
+1686C ; [.2F6E.0020.0002.1686C] # BAMUM LETTER PHASE-B MBIT MBAAKET
+1686D ; [.2F6F.0020.0002.1686D] # BAMUM LETTER PHASE-B NYI NTEUM
+1686E ; [.2F70.0020.0002.1686E] # BAMUM LETTER PHASE-B KEUPUQ
+1686F ; [.2F71.0020.0002.1686F] # BAMUM LETTER PHASE-B GHEUGHEN
+16870 ; [.2F72.0020.0002.16870] # BAMUM LETTER PHASE-B KEUYEUX
+16871 ; [.2F73.0020.0002.16871] # BAMUM LETTER PHASE-B LAANAE
+16872 ; [.2F74.0020.0002.16872] # BAMUM LETTER PHASE-B PARUM
+16873 ; [.2F75.0020.0002.16873] # BAMUM LETTER PHASE-B VEUM
+16874 ; [.2F76.0020.0002.16874] # BAMUM LETTER PHASE-B NGKINDI MVOP
+16875 ; [.2F77.0020.0002.16875] # BAMUM LETTER PHASE-B NGGEU MBU
+16876 ; [.2F78.0020.0002.16876] # BAMUM LETTER PHASE-B WUAET
+16877 ; [.2F79.0020.0002.16877] # BAMUM LETTER PHASE-B SAKEUAE
+16878 ; [.2F7A.0020.0002.16878] # BAMUM LETTER PHASE-B TAAM
+16879 ; [.2F7B.0020.0002.16879] # BAMUM LETTER PHASE-B MEUQ
+1687A ; [.2F7C.0020.0002.1687A] # BAMUM LETTER PHASE-B NGGUOQ
+1687B ; [.2F7D.0020.0002.1687B] # BAMUM LETTER PHASE-B NGGUOQ LARGE
+1687C ; [.2F7E.0020.0002.1687C] # BAMUM LETTER PHASE-B MFIYAQ
+1687D ; [.2F7F.0020.0002.1687D] # BAMUM LETTER PHASE-B SUE
+1687E ; [.2F80.0020.0002.1687E] # BAMUM LETTER PHASE-B MBEURI
+1687F ; [.2F81.0020.0002.1687F] # BAMUM LETTER PHASE-B MONTIEEN
+16880 ; [.2F82.0020.0002.16880] # BAMUM LETTER PHASE-B NYAEMAE
+16881 ; [.2F83.0020.0002.16881] # BAMUM LETTER PHASE-B PUNGAAM
+16882 ; [.2F84.0020.0002.16882] # BAMUM LETTER PHASE-B MEUT NGGEET
+16883 ; [.2F85.0020.0002.16883] # BAMUM LETTER PHASE-B FEUX
+16884 ; [.2F86.0020.0002.16884] # BAMUM LETTER PHASE-B MBUOQ
+16885 ; [.2F87.0020.0002.16885] # BAMUM LETTER PHASE-B FEE
+16886 ; [.2F88.0020.0002.16886] # BAMUM LETTER PHASE-B KEUAEM
+16887 ; [.2F89.0020.0002.16887] # BAMUM LETTER PHASE-B MA NJEUAENA
+16888 ; [.2F8A.0020.0002.16888] # BAMUM LETTER PHASE-B MA NJUQA
+16889 ; [.2F8B.0020.0002.16889] # BAMUM LETTER PHASE-B LET
+1688A ; [.2F8C.0020.0002.1688A] # BAMUM LETTER PHASE-B NGGAAM
+1688B ; [.2F8D.0020.0002.1688B] # BAMUM LETTER PHASE-B NSEN
+1688C ; [.2F8E.0020.0002.1688C] # BAMUM LETTER PHASE-B MA
+1688D ; [.2F8F.0020.0002.1688D] # BAMUM LETTER PHASE-B KIQ
+1688E ; [.2F90.0020.0002.1688E] # BAMUM LETTER PHASE-B NGOM
+1688F ; [.2F91.0020.0002.1688F] # BAMUM LETTER PHASE-C NGKUE MAEMBA
+16890 ; [.2F92.0020.0002.16890] # BAMUM LETTER PHASE-C NZA
+16891 ; [.2F93.0020.0002.16891] # BAMUM LETTER PHASE-C YUM
+16892 ; [.2F94.0020.0002.16892] # BAMUM LETTER PHASE-C WANGKUOQ
+16893 ; [.2F95.0020.0002.16893] # BAMUM LETTER PHASE-C NGGEN
+16894 ; [.2F96.0020.0002.16894] # BAMUM LETTER PHASE-C NDEUAEREE
+16895 ; [.2F97.0020.0002.16895] # BAMUM LETTER PHASE-C NGKAQ
+16896 ; [.2F98.0020.0002.16896] # BAMUM LETTER PHASE-C GHARAE
+16897 ; [.2F99.0020.0002.16897] # BAMUM LETTER PHASE-C MBEEKEET
+16898 ; [.2F9A.0020.0002.16898] # BAMUM LETTER PHASE-C GBAYI
+16899 ; [.2F9B.0020.0002.16899] # BAMUM LETTER PHASE-C NYIR MKPARAQ MEUN
+1689A ; [.2F9C.0020.0002.1689A] # BAMUM LETTER PHASE-C NTU MBIT
+1689B ; [.2F9D.0020.0002.1689B] # BAMUM LETTER PHASE-C MBEUM
+1689C ; [.2F9E.0020.0002.1689C] # BAMUM LETTER PHASE-C PIRIEEN
+1689D ; [.2F9F.0020.0002.1689D] # BAMUM LETTER PHASE-C NDOMBU
+1689E ; [.2FA0.0020.0002.1689E] # BAMUM LETTER PHASE-C MBAA CABBAGE-TREE
+1689F ; [.2FA1.0020.0002.1689F] # BAMUM LETTER PHASE-C KEUSHEUAEP
+168A0 ; [.2FA2.0020.0002.168A0] # BAMUM LETTER PHASE-C GHAP
+168A1 ; [.2FA3.0020.0002.168A1] # BAMUM LETTER PHASE-C KEUKAQ
+168A2 ; [.2FA4.0020.0002.168A2] # BAMUM LETTER PHASE-C YU MUOMAE
+168A3 ; [.2FA5.0020.0002.168A3] # BAMUM LETTER PHASE-C NZEUM
+168A4 ; [.2FA6.0020.0002.168A4] # BAMUM LETTER PHASE-C MBUE
+168A5 ; [.2FA7.0020.0002.168A5] # BAMUM LETTER PHASE-C NSEUAEN
+168A6 ; [.2FA8.0020.0002.168A6] # BAMUM LETTER PHASE-C MBIT
+168A7 ; [.2FA9.0020.0002.168A7] # BAMUM LETTER PHASE-C YEUQ
+168A8 ; [.2FAA.0020.0002.168A8] # BAMUM LETTER PHASE-C KPARAQ
+168A9 ; [.2FAB.0020.0002.168A9] # BAMUM LETTER PHASE-C KAA
+168AA ; [.2FAC.0020.0002.168AA] # BAMUM LETTER PHASE-C SEUX
+168AB ; [.2FAD.0020.0002.168AB] # BAMUM LETTER PHASE-C NDIDA
+168AC ; [.2FAE.0020.0002.168AC] # BAMUM LETTER PHASE-C TAASHAE
+168AD ; [.2FAF.0020.0002.168AD] # BAMUM LETTER PHASE-C NJUEQ
+168AE ; [.2FB0.0020.0002.168AE] # BAMUM LETTER PHASE-C TITA YUE
+168AF ; [.2FB1.0020.0002.168AF] # BAMUM LETTER PHASE-C SUAET
+168B0 ; [.2FB2.0020.0002.168B0] # BAMUM LETTER PHASE-C NGGUAEN NYAM
+168B1 ; [.2FB3.0020.0002.168B1] # BAMUM LETTER PHASE-C VEUX
+168B2 ; [.2FB4.0020.0002.168B2] # BAMUM LETTER PHASE-C NANSANAQ
+168B3 ; [.2FB5.0020.0002.168B3] # BAMUM LETTER PHASE-C MA KEUAERI
+168B4 ; [.2FB6.0020.0002.168B4] # BAMUM LETTER PHASE-C NTAA
+168B5 ; [.2FB7.0020.0002.168B5] # BAMUM LETTER PHASE-C NGGUON
+168B6 ; [.2FB8.0020.0002.168B6] # BAMUM LETTER PHASE-C LAP
+168B7 ; [.2FB9.0020.0002.168B7] # BAMUM LETTER PHASE-C MBIRIEEN
+168B8 ; [.2FBA.0020.0002.168B8] # BAMUM LETTER PHASE-C MGBASAQ
+168B9 ; [.2FBB.0020.0002.168B9] # BAMUM LETTER PHASE-C NTEUNGBA
+168BA ; [.2FBC.0020.0002.168BA] # BAMUM LETTER PHASE-C TEUTEUX
+168BB ; [.2FBD.0020.0002.168BB] # BAMUM LETTER PHASE-C NGGUM
+168BC ; [.2FBE.0020.0002.168BC] # BAMUM LETTER PHASE-C FUE
+168BD ; [.2FBF.0020.0002.168BD] # BAMUM LETTER PHASE-C NDEUT
+168BE ; [.2FC0.0020.0002.168BE] # BAMUM LETTER PHASE-C NSA
+168BF ; [.2FC1.0020.0002.168BF] # BAMUM LETTER PHASE-C NSHAQ
+168C0 ; [.2FC2.0020.0002.168C0] # BAMUM LETTER PHASE-C BUNG
+168C1 ; [.2FC3.0020.0002.168C1] # BAMUM LETTER PHASE-C VEUAEPEN
+168C2 ; [.2FC4.0020.0002.168C2] # BAMUM LETTER PHASE-C MBERAE
+168C3 ; [.2FC5.0020.0002.168C3] # BAMUM LETTER PHASE-C RU
+168C4 ; [.2FC6.0020.0002.168C4] # BAMUM LETTER PHASE-C NJAEM
+168C5 ; [.2FC7.0020.0002.168C5] # BAMUM LETTER PHASE-C LAM
+168C6 ; [.2FC8.0020.0002.168C6] # BAMUM LETTER PHASE-C TITUAEP
+168C7 ; [.2FC9.0020.0002.168C7] # BAMUM LETTER PHASE-C NSUOT NGOM
+168C8 ; [.2FCA.0020.0002.168C8] # BAMUM LETTER PHASE-C NJEEEE
+168C9 ; [.2FCB.0020.0002.168C9] # BAMUM LETTER PHASE-C KET
+168CA ; [.2FCC.0020.0002.168CA] # BAMUM LETTER PHASE-C NGGU
+168CB ; [.2FCD.0020.0002.168CB] # BAMUM LETTER PHASE-C MAESI
+168CC ; [.2FCE.0020.0002.168CC] # BAMUM LETTER PHASE-C MBUAEM
+168CD ; [.2FCF.0020.0002.168CD] # BAMUM LETTER PHASE-C LU
+168CE ; [.2FD0.0020.0002.168CE] # BAMUM LETTER PHASE-C KUT
+168CF ; [.2FD1.0020.0002.168CF] # BAMUM LETTER PHASE-C NJAM
+168D0 ; [.2FD2.0020.0002.168D0] # BAMUM LETTER PHASE-C NGOM
+168D1 ; [.2FD3.0020.0002.168D1] # BAMUM LETTER PHASE-C WUP
+168D2 ; [.2FD4.0020.0002.168D2] # BAMUM LETTER PHASE-C NGGUEET
+168D3 ; [.2FD5.0020.0002.168D3] # BAMUM LETTER PHASE-C NSOM
+168D4 ; [.2FD6.0020.0002.168D4] # BAMUM LETTER PHASE-C NTEN
+168D5 ; [.2FD7.0020.0002.168D5] # BAMUM LETTER PHASE-C KUOP NKAARAE
+168D6 ; [.2FD8.0020.0002.168D6] # BAMUM LETTER PHASE-C NSUN
+168D7 ; [.2FD9.0020.0002.168D7] # BAMUM LETTER PHASE-C NDAM
+168D8 ; [.2FDA.0020.0002.168D8] # BAMUM LETTER PHASE-C MA NSIEE
+168D9 ; [.2FDB.0020.0002.168D9] # BAMUM LETTER PHASE-C YAA
+168DA ; [.2FDC.0020.0002.168DA] # BAMUM LETTER PHASE-C NDAP
+168DB ; [.2FDD.0020.0002.168DB] # BAMUM LETTER PHASE-C SHUEQ
+168DC ; [.2FDE.0020.0002.168DC] # BAMUM LETTER PHASE-C SETFON
+168DD ; [.2FDF.0020.0002.168DD] # BAMUM LETTER PHASE-C MBI
+168DE ; [.2FE0.0020.0002.168DE] # BAMUM LETTER PHASE-C MAEMBA
+168DF ; [.2FE1.0020.0002.168DF] # BAMUM LETTER PHASE-C MBANYI
+168E0 ; [.2FE2.0020.0002.168E0] # BAMUM LETTER PHASE-C KEUSEUX
+168E1 ; [.2FE3.0020.0002.168E1] # BAMUM LETTER PHASE-C MBEUX
+168E2 ; [.2FE4.0020.0002.168E2] # BAMUM LETTER PHASE-C KEUM
+168E3 ; [.2FE5.0020.0002.168E3] # BAMUM LETTER PHASE-C MBAA PICKET
+168E4 ; [.2FE6.0020.0002.168E4] # BAMUM LETTER PHASE-C YUWOQ
+168E5 ; [.2FE7.0020.0002.168E5] # BAMUM LETTER PHASE-C NJEUX
+168E6 ; [.2FE8.0020.0002.168E6] # BAMUM LETTER PHASE-C MIEE
+168E7 ; [.2FE9.0020.0002.168E7] # BAMUM LETTER PHASE-C MUAE
+168E8 ; [.2FEA.0020.0002.168E8] # BAMUM LETTER PHASE-C SHIQ
+168E9 ; [.2FEB.0020.0002.168E9] # BAMUM LETTER PHASE-C KEN LAW
+168EA ; [.2FEC.0020.0002.168EA] # BAMUM LETTER PHASE-C KEN FATIGUE
+168EB ; [.2FED.0020.0002.168EB] # BAMUM LETTER PHASE-C NGAQ
+168EC ; [.2FEE.0020.0002.168EC] # BAMUM LETTER PHASE-C NAQ
+168ED ; [.2FEF.0020.0002.168ED] # BAMUM LETTER PHASE-C LIQ
+168EE ; [.2FF0.0020.0002.168EE] # BAMUM LETTER PHASE-C PIN
+168EF ; [.2FF1.0020.0002.168EF] # BAMUM LETTER PHASE-C PEN
+168F0 ; [.2FF2.0020.0002.168F0] # BAMUM LETTER PHASE-C TET
+168F1 ; [.2FF3.0020.0002.168F1] # BAMUM LETTER PHASE-D MBUO
+168F2 ; [.2FF4.0020.0002.168F2] # BAMUM LETTER PHASE-D WAP
+168F3 ; [.2FF5.0020.0002.168F3] # BAMUM LETTER PHASE-D NJI
+168F4 ; [.2FF6.0020.0002.168F4] # BAMUM LETTER PHASE-D MFON
+168F5 ; [.2FF7.0020.0002.168F5] # BAMUM LETTER PHASE-D NJIEE
+168F6 ; [.2FF8.0020.0002.168F6] # BAMUM LETTER PHASE-D LIEE
+168F7 ; [.2FF9.0020.0002.168F7] # BAMUM LETTER PHASE-D NJEUT
+168F8 ; [.2FFA.0020.0002.168F8] # BAMUM LETTER PHASE-D NSHEE
+168F9 ; [.2FFB.0020.0002.168F9] # BAMUM LETTER PHASE-D NGGAAMAE
+168FA ; [.2FFC.0020.0002.168FA] # BAMUM LETTER PHASE-D NYAM
+168FB ; [.2FFD.0020.0002.168FB] # BAMUM LETTER PHASE-D WUAEN
+168FC ; [.2FFE.0020.0002.168FC] # BAMUM LETTER PHASE-D NGKUN
+168FD ; [.2FFF.0020.0002.168FD] # BAMUM LETTER PHASE-D SHEE
+168FE ; [.3000.0020.0002.168FE] # BAMUM LETTER PHASE-D NGKAP
+168FF ; [.3001.0020.0002.168FF] # BAMUM LETTER PHASE-D KEUAETMEUN
+16900 ; [.3002.0020.0002.16900] # BAMUM LETTER PHASE-D TEUT
+16901 ; [.3003.0020.0002.16901] # BAMUM LETTER PHASE-D SHEUAE
+16902 ; [.3004.0020.0002.16902] # BAMUM LETTER PHASE-D NJAP
+16903 ; [.3005.0020.0002.16903] # BAMUM LETTER PHASE-D SUE
+16904 ; [.3006.0020.0002.16904] # BAMUM LETTER PHASE-D KET
+16905 ; [.3007.0020.0002.16905] # BAMUM LETTER PHASE-D YAEMMAE
+16906 ; [.3008.0020.0002.16906] # BAMUM LETTER PHASE-D KUOM
+16907 ; [.3009.0020.0002.16907] # BAMUM LETTER PHASE-D SAP
+16908 ; [.300A.0020.0002.16908] # BAMUM LETTER PHASE-D MFEUT
+16909 ; [.300B.0020.0002.16909] # BAMUM LETTER PHASE-D NDEUX
+1690A ; [.300C.0020.0002.1690A] # BAMUM LETTER PHASE-D MALEERI
+1690B ; [.300D.0020.0002.1690B] # BAMUM LETTER PHASE-D MEUT
+1690C ; [.300E.0020.0002.1690C] # BAMUM LETTER PHASE-D SEUAEQ
+1690D ; [.300F.0020.0002.1690D] # BAMUM LETTER PHASE-D YEN
+1690E ; [.3010.0020.0002.1690E] # BAMUM LETTER PHASE-D NJEUAEM
+1690F ; [.3011.0020.0002.1690F] # BAMUM LETTER PHASE-D KEUOT MBUAE
+16910 ; [.3012.0020.0002.16910] # BAMUM LETTER PHASE-D NGKEURI
+16911 ; [.3013.0020.0002.16911] # BAMUM LETTER PHASE-D TU
+16912 ; [.3014.0020.0002.16912] # BAMUM LETTER PHASE-D GHAA
+16913 ; [.3015.0020.0002.16913] # BAMUM LETTER PHASE-D NGKYEE
+16914 ; [.3016.0020.0002.16914] # BAMUM LETTER PHASE-D FEUFEUAET
+16915 ; [.3017.0020.0002.16915] # BAMUM LETTER PHASE-D NDEE
+16916 ; [.3018.0020.0002.16916] # BAMUM LETTER PHASE-D MGBOFUM
+16917 ; [.3019.0020.0002.16917] # BAMUM LETTER PHASE-D LEUAEP
+16918 ; [.301A.0020.0002.16918] # BAMUM LETTER PHASE-D NDON
+16919 ; [.301B.0020.0002.16919] # BAMUM LETTER PHASE-D MONI
+1691A ; [.301C.0020.0002.1691A] # BAMUM LETTER PHASE-D MGBEUN
+1691B ; [.301D.0020.0002.1691B] # BAMUM LETTER PHASE-D PUUT
+1691C ; [.301E.0020.0002.1691C] # BAMUM LETTER PHASE-D MGBIEE
+1691D ; [.301F.0020.0002.1691D] # BAMUM LETTER PHASE-D MFO
+1691E ; [.3020.0020.0002.1691E] # BAMUM LETTER PHASE-D LUM
+1691F ; [.3021.0020.0002.1691F] # BAMUM LETTER PHASE-D NSIEEP
+16920 ; [.3022.0020.0002.16920] # BAMUM LETTER PHASE-D MBAA
+16921 ; [.3023.0020.0002.16921] # BAMUM LETTER PHASE-D KWAET
+16922 ; [.3024.0020.0002.16922] # BAMUM LETTER PHASE-D NYET
+16923 ; [.3025.0020.0002.16923] # BAMUM LETTER PHASE-D TEUAEN
+16924 ; [.3026.0020.0002.16924] # BAMUM LETTER PHASE-D SOT
+16925 ; [.3027.0020.0002.16925] # BAMUM LETTER PHASE-D YUWOQ
+16926 ; [.3028.0020.0002.16926] # BAMUM LETTER PHASE-D KEUM
+16927 ; [.3029.0020.0002.16927] # BAMUM LETTER PHASE-D RAEM
+16928 ; [.302A.0020.0002.16928] # BAMUM LETTER PHASE-D TEEEE
+16929 ; [.302B.0020.0002.16929] # BAMUM LETTER PHASE-D NGKEUAEQ
+1692A ; [.302C.0020.0002.1692A] # BAMUM LETTER PHASE-D MFEUAE
+1692B ; [.302D.0020.0002.1692B] # BAMUM LETTER PHASE-D NSIEET
+1692C ; [.302E.0020.0002.1692C] # BAMUM LETTER PHASE-D KEUP
+1692D ; [.302F.0020.0002.1692D] # BAMUM LETTER PHASE-D PIP
+1692E ; [.3030.0020.0002.1692E] # BAMUM LETTER PHASE-D PEUTAE
+1692F ; [.3031.0020.0002.1692F] # BAMUM LETTER PHASE-D NYUE
+16930 ; [.3032.0020.0002.16930] # BAMUM LETTER PHASE-D LET
+16931 ; [.3033.0020.0002.16931] # BAMUM LETTER PHASE-D NGGAAM
+16932 ; [.3034.0020.0002.16932] # BAMUM LETTER PHASE-D MFIEE
+16933 ; [.3035.0020.0002.16933] # BAMUM LETTER PHASE-D NGGWAEN
+16934 ; [.3036.0020.0002.16934] # BAMUM LETTER PHASE-D YUOM
+16935 ; [.3037.0020.0002.16935] # BAMUM LETTER PHASE-D PAP
+16936 ; [.3038.0020.0002.16936] # BAMUM LETTER PHASE-D YUOP
+16937 ; [.3039.0020.0002.16937] # BAMUM LETTER PHASE-D NDAM
+16938 ; [.303A.0020.0002.16938] # BAMUM LETTER PHASE-D NTEUM
+16939 ; [.303B.0020.0002.16939] # BAMUM LETTER PHASE-D SUAE
+1693A ; [.303C.0020.0002.1693A] # BAMUM LETTER PHASE-D KUN
+1693B ; [.303D.0020.0002.1693B] # BAMUM LETTER PHASE-D NGGEUX
+1693C ; [.303E.0020.0002.1693C] # BAMUM LETTER PHASE-D NGKIEE
+1693D ; [.303F.0020.0002.1693D] # BAMUM LETTER PHASE-D TUOT
+1693E ; [.3040.0020.0002.1693E] # BAMUM LETTER PHASE-D MEUN
+1693F ; [.3041.0020.0002.1693F] # BAMUM LETTER PHASE-D KUQ
+16940 ; [.3042.0020.0002.16940] # BAMUM LETTER PHASE-D NSUM
+16941 ; [.3043.0020.0002.16941] # BAMUM LETTER PHASE-D TEUN
+16942 ; [.3044.0020.0002.16942] # BAMUM LETTER PHASE-D MAENJET
+16943 ; [.3045.0020.0002.16943] # BAMUM LETTER PHASE-D NGGAP
+16944 ; [.3046.0020.0002.16944] # BAMUM LETTER PHASE-D LEUM
+16945 ; [.3047.0020.0002.16945] # BAMUM LETTER PHASE-D NGGUOM
+16946 ; [.3048.0020.0002.16946] # BAMUM LETTER PHASE-D NSHUT
+16947 ; [.3049.0020.0002.16947] # BAMUM LETTER PHASE-D NJUEQ
+16948 ; [.304A.0020.0002.16948] # BAMUM LETTER PHASE-D GHEUAE
+16949 ; [.304B.0020.0002.16949] # BAMUM LETTER PHASE-D KU
+1694A ; [.304C.0020.0002.1694A] # BAMUM LETTER PHASE-D REN OLD
+1694B ; [.304D.0020.0002.1694B] # BAMUM LETTER PHASE-D TAE
+1694C ; [.304E.0020.0002.1694C] # BAMUM LETTER PHASE-D TOQ
+1694D ; [.304F.0020.0002.1694D] # BAMUM LETTER PHASE-D NYI
+1694E ; [.3050.0020.0002.1694E] # BAMUM LETTER PHASE-D RII
+1694F ; [.3051.0020.0002.1694F] # BAMUM LETTER PHASE-D LEEEE
+16950 ; [.3052.0020.0002.16950] # BAMUM LETTER PHASE-D MEEEE
+16951 ; [.3053.0020.0002.16951] # BAMUM LETTER PHASE-D M
+16952 ; [.3054.0020.0002.16952] # BAMUM LETTER PHASE-D SUU
+16953 ; [.3055.0020.0002.16953] # BAMUM LETTER PHASE-D MU
+16954 ; [.3056.0020.0002.16954] # BAMUM LETTER PHASE-D SHII
+16955 ; [.3057.0020.0002.16955] # BAMUM LETTER PHASE-D SHEUX
+16956 ; [.3058.0020.0002.16956] # BAMUM LETTER PHASE-D KYEE
+16957 ; [.3059.0020.0002.16957] # BAMUM LETTER PHASE-D NU
+16958 ; [.305A.0020.0002.16958] # BAMUM LETTER PHASE-D SHU
+16959 ; [.305B.0020.0002.16959] # BAMUM LETTER PHASE-D NTEE
+1695A ; [.305C.0020.0002.1695A] # BAMUM LETTER PHASE-D PEE
+1695B ; [.305D.0020.0002.1695B] # BAMUM LETTER PHASE-D NI
+1695C ; [.305E.0020.0002.1695C] # BAMUM LETTER PHASE-D SHOQ
+1695D ; [.305F.0020.0002.1695D] # BAMUM LETTER PHASE-D PUQ
+1695E ; [.3060.0020.0002.1695E] # BAMUM LETTER PHASE-D MVOP
+1695F ; [.3061.0020.0002.1695F] # BAMUM LETTER PHASE-D LOQ
+16960 ; [.3062.0020.0002.16960] # BAMUM LETTER PHASE-D REN MUCH
+16961 ; [.3063.0020.0002.16961] # BAMUM LETTER PHASE-D TI
+16962 ; [.3064.0020.0002.16962] # BAMUM LETTER PHASE-D NTUU
+16963 ; [.3065.0020.0002.16963] # BAMUM LETTER PHASE-D MBAA SEVEN
+16964 ; [.3066.0020.0002.16964] # BAMUM LETTER PHASE-D SAQ
+16965 ; [.3067.0020.0002.16965] # BAMUM LETTER PHASE-D FAA
+16966 ; [.3068.0020.0002.16966] # BAMUM LETTER PHASE-E NDAP
+16967 ; [.3069.0020.0002.16967] # BAMUM LETTER PHASE-E TOON
+16968 ; [.306A.0020.0002.16968] # BAMUM LETTER PHASE-E MBEUM
+16969 ; [.306B.0020.0002.16969] # BAMUM LETTER PHASE-E LAP
+1696A ; [.306C.0020.0002.1696A] # BAMUM LETTER PHASE-E VOM
+1696B ; [.306D.0020.0002.1696B] # BAMUM LETTER PHASE-E LOON
+1696C ; [.306E.0020.0002.1696C] # BAMUM LETTER PHASE-E PAA
+1696D ; [.306F.0020.0002.1696D] # BAMUM LETTER PHASE-E SOM
+1696E ; [.3070.0020.0002.1696E] # BAMUM LETTER PHASE-E RAQ
+1696F ; [.3071.0020.0002.1696F] # BAMUM LETTER PHASE-E NSHUOP
+16970 ; [.3072.0020.0002.16970] # BAMUM LETTER PHASE-E NDUN
+16971 ; [.3073.0020.0002.16971] # BAMUM LETTER PHASE-E PUAE
+16972 ; [.3074.0020.0002.16972] # BAMUM LETTER PHASE-E TAM
+16973 ; [.3075.0020.0002.16973] # BAMUM LETTER PHASE-E NGKA
+16974 ; [.3076.0020.0002.16974] # BAMUM LETTER PHASE-E KPEUX
+16975 ; [.3077.0020.0002.16975] # BAMUM LETTER PHASE-E WUO
+16976 ; [.3078.0020.0002.16976] # BAMUM LETTER PHASE-E SEE
+16977 ; [.3079.0020.0002.16977] # BAMUM LETTER PHASE-E NGGEUAET
+16978 ; [.307A.0020.0002.16978] # BAMUM LETTER PHASE-E PAAM
+16979 ; [.307B.0020.0002.16979] # BAMUM LETTER PHASE-E TOO
+1697A ; [.307C.0020.0002.1697A] # BAMUM LETTER PHASE-E KUOP
+1697B ; [.307D.0020.0002.1697B] # BAMUM LETTER PHASE-E LOM
+1697C ; [.307E.0020.0002.1697C] # BAMUM LETTER PHASE-E NSHIEE
+1697D ; [.307F.0020.0002.1697D] # BAMUM LETTER PHASE-E NGOP
+1697E ; [.3080.0020.0002.1697E] # BAMUM LETTER PHASE-E MAEM
+1697F ; [.3081.0020.0002.1697F] # BAMUM LETTER PHASE-E NGKEUX
+16980 ; [.3082.0020.0002.16980] # BAMUM LETTER PHASE-E NGOQ
+16981 ; [.3083.0020.0002.16981] # BAMUM LETTER PHASE-E NSHUE
+16982 ; [.3084.0020.0002.16982] # BAMUM LETTER PHASE-E RIMGBA
+16983 ; [.3085.0020.0002.16983] # BAMUM LETTER PHASE-E NJEUX
+16984 ; [.3086.0020.0002.16984] # BAMUM LETTER PHASE-E PEEM
+16985 ; [.3087.0020.0002.16985] # BAMUM LETTER PHASE-E SAA
+16986 ; [.3088.0020.0002.16986] # BAMUM LETTER PHASE-E NGGURAE
+16987 ; [.3089.0020.0002.16987] # BAMUM LETTER PHASE-E MGBA
+16988 ; [.308A.0020.0002.16988] # BAMUM LETTER PHASE-E GHEUX
+16989 ; [.308B.0020.0002.16989] # BAMUM LETTER PHASE-E NGKEUAEM
+1698A ; [.308C.0020.0002.1698A] # BAMUM LETTER PHASE-E NJAEMLI
+1698B ; [.308D.0020.0002.1698B] # BAMUM LETTER PHASE-E MAP
+1698C ; [.308E.0020.0002.1698C] # BAMUM LETTER PHASE-E LOOT
+1698D ; [.308F.0020.0002.1698D] # BAMUM LETTER PHASE-E NGGEEEE
+1698E ; [.3090.0020.0002.1698E] # BAMUM LETTER PHASE-E NDIQ
+1698F ; [.3091.0020.0002.1698F] # BAMUM LETTER PHASE-E TAEN NTEUM
+16990 ; [.3092.0020.0002.16990] # BAMUM LETTER PHASE-E SET
+16991 ; [.3093.0020.0002.16991] # BAMUM LETTER PHASE-E PUM
+16992 ; [.3094.0020.0002.16992] # BAMUM LETTER PHASE-E NDAA SOFTNESS
+16993 ; [.3095.0020.0002.16993] # BAMUM LETTER PHASE-E NGGUAESHAE NYAM
+16994 ; [.3096.0020.0002.16994] # BAMUM LETTER PHASE-E YIEE
+16995 ; [.3097.0020.0002.16995] # BAMUM LETTER PHASE-E GHEUN
+16996 ; [.3098.0020.0002.16996] # BAMUM LETTER PHASE-E TUAE
+16997 ; [.3099.0020.0002.16997] # BAMUM LETTER PHASE-E YEUAE
+16998 ; [.309A.0020.0002.16998] # BAMUM LETTER PHASE-E PO
+16999 ; [.309B.0020.0002.16999] # BAMUM LETTER PHASE-E TUMAE
+1699A ; [.309C.0020.0002.1699A] # BAMUM LETTER PHASE-E KEUAE
+1699B ; [.309D.0020.0002.1699B] # BAMUM LETTER PHASE-E SUAEN
+1699C ; [.309E.0020.0002.1699C] # BAMUM LETTER PHASE-E TEUAEQ
+1699D ; [.309F.0020.0002.1699D] # BAMUM LETTER PHASE-E VEUAE
+1699E ; [.30A0.0020.0002.1699E] # BAMUM LETTER PHASE-E WEUX
+1699F ; [.30A1.0020.0002.1699F] # BAMUM LETTER PHASE-E LAAM
+169A0 ; [.30A2.0020.0002.169A0] # BAMUM LETTER PHASE-E PU
+169A1 ; [.30A3.0020.0002.169A1] # BAMUM LETTER PHASE-E TAAQ
+169A2 ; [.30A4.0020.0002.169A2] # BAMUM LETTER PHASE-E GHAAMAE
+169A3 ; [.30A5.0020.0002.169A3] # BAMUM LETTER PHASE-E NGEUREUT
+169A4 ; [.30A6.0020.0002.169A4] # BAMUM LETTER PHASE-E SHEUAEQ
+169A5 ; [.30A7.0020.0002.169A5] # BAMUM LETTER PHASE-E MGBEN
+169A6 ; [.30A8.0020.0002.169A6] # BAMUM LETTER PHASE-E MBEE
+169A7 ; [.30A9.0020.0002.169A7] # BAMUM LETTER PHASE-E NZAQ
+169A8 ; [.30AA.0020.0002.169A8] # BAMUM LETTER PHASE-E NKOM
+169A9 ; [.30AB.0020.0002.169A9] # BAMUM LETTER PHASE-E GBET
+169AA ; [.30AC.0020.0002.169AA] # BAMUM LETTER PHASE-E TUM
+169AB ; [.30AD.0020.0002.169AB] # BAMUM LETTER PHASE-E KUET
+169AC ; [.30AE.0020.0002.169AC] # BAMUM LETTER PHASE-E YAP
+169AD ; [.30AF.0020.0002.169AD] # BAMUM LETTER PHASE-E NYI CLEAVER
+169AE ; [.30B0.0020.0002.169AE] # BAMUM LETTER PHASE-E YIT
+169AF ; [.30B1.0020.0002.169AF] # BAMUM LETTER PHASE-E MFEUQ
+169B0 ; [.30B2.0020.0002.169B0] # BAMUM LETTER PHASE-E NDIAQ
+169B1 ; [.30B3.0020.0002.169B1] # BAMUM LETTER PHASE-E PIEEQ
+169B2 ; [.30B4.0020.0002.169B2] # BAMUM LETTER PHASE-E YUEQ
+169B3 ; [.30B5.0020.0002.169B3] # BAMUM LETTER PHASE-E LEUAEM
+169B4 ; [.30B6.0020.0002.169B4] # BAMUM LETTER PHASE-E FUE
+169B5 ; [.30B7.0020.0002.169B5] # BAMUM LETTER PHASE-E GBEUX
+169B6 ; [.30B8.0020.0002.169B6] # BAMUM LETTER PHASE-E NGKUP
+169B7 ; [.30B9.0020.0002.169B7] # BAMUM LETTER PHASE-E KET
+169B8 ; [.30BA.0020.0002.169B8] # BAMUM LETTER PHASE-E MAE
+169B9 ; [.30BB.0020.0002.169B9] # BAMUM LETTER PHASE-E NGKAAMI
+169BA ; [.30BC.0020.0002.169BA] # BAMUM LETTER PHASE-E GHET
+169BB ; [.30BD.0020.0002.169BB] # BAMUM LETTER PHASE-E FA
+169BC ; [.30BE.0020.0002.169BC] # BAMUM LETTER PHASE-E NTUM
+169BD ; [.30BF.0020.0002.169BD] # BAMUM LETTER PHASE-E PEUT
+169BE ; [.30C0.0020.0002.169BE] # BAMUM LETTER PHASE-E YEUM
+169BF ; [.30C1.0020.0002.169BF] # BAMUM LETTER PHASE-E NGGEUAE
+169C0 ; [.30C2.0020.0002.169C0] # BAMUM LETTER PHASE-E NYI BETWEEN
+169C1 ; [.30C3.0020.0002.169C1] # BAMUM LETTER PHASE-E NZUQ
+169C2 ; [.30C4.0020.0002.169C2] # BAMUM LETTER PHASE-E POON
+169C3 ; [.30C5.0020.0002.169C3] # BAMUM LETTER PHASE-E MIEE
+169C4 ; [.30C6.0020.0002.169C4] # BAMUM LETTER PHASE-E FUET
+169C5 ; [.30C7.0020.0002.169C5] # BAMUM LETTER PHASE-E NAE
+169C6 ; [.30C8.0020.0002.169C6] # BAMUM LETTER PHASE-E MUAE
+169C7 ; [.30C9.0020.0002.169C7] # BAMUM LETTER PHASE-E GHEUAE
+169C8 ; [.30CA.0020.0002.169C8] # BAMUM LETTER PHASE-E FU I
+169C9 ; [.30CB.0020.0002.169C9] # BAMUM LETTER PHASE-E MVI
+169CA ; [.30CC.0020.0002.169CA] # BAMUM LETTER PHASE-E PUAQ
+169CB ; [.30CD.0020.0002.169CB] # BAMUM LETTER PHASE-E NGKUM
+169CC ; [.30CE.0020.0002.169CC] # BAMUM LETTER PHASE-E KUT
+169CD ; [.30CF.0020.0002.169CD] # BAMUM LETTER PHASE-E PIET
+169CE ; [.30D0.0020.0002.169CE] # BAMUM LETTER PHASE-E NTAP
+169CF ; [.30D1.0020.0002.169CF] # BAMUM LETTER PHASE-E YEUAET
+169D0 ; [.30D2.0020.0002.169D0] # BAMUM LETTER PHASE-E NGGUP
+169D1 ; [.30D3.0020.0002.169D1] # BAMUM LETTER PHASE-E PA PEOPLE
+169D2 ; [.30D4.0020.0002.169D2] # BAMUM LETTER PHASE-E FU CALL
+169D3 ; [.30D5.0020.0002.169D3] # BAMUM LETTER PHASE-E FOM
+169D4 ; [.30D6.0020.0002.169D4] # BAMUM LETTER PHASE-E NJEE
+169D5 ; [.30D7.0020.0002.169D5] # BAMUM LETTER PHASE-E A
+169D6 ; [.30D8.0020.0002.169D6] # BAMUM LETTER PHASE-E TOQ
+169D7 ; [.30D9.0020.0002.169D7] # BAMUM LETTER PHASE-E O
+169D8 ; [.30DA.0020.0002.169D8] # BAMUM LETTER PHASE-E I
+169D9 ; [.30DB.0020.0002.169D9] # BAMUM LETTER PHASE-E LAQ
+169DA ; [.30DC.0020.0002.169DA] # BAMUM LETTER PHASE-E PA PLURAL
+169DB ; [.30DD.0020.0002.169DB] # BAMUM LETTER PHASE-E TAA
+169DC ; [.30DE.0020.0002.169DC] # BAMUM LETTER PHASE-E TAQ
+169DD ; [.30DF.0020.0002.169DD] # BAMUM LETTER PHASE-E NDAA MY HOUSE
+169DE ; [.30E0.0020.0002.169DE] # BAMUM LETTER PHASE-E SHIQ
+169DF ; [.30E1.0020.0002.169DF] # BAMUM LETTER PHASE-E YEUX
+169E0 ; [.30E2.0020.0002.169E0] # BAMUM LETTER PHASE-E NGUAE
+169E1 ; [.30E3.0020.0002.169E1] # BAMUM LETTER PHASE-E YUAEN
+169E2 ; [.30E4.0020.0002.169E2] # BAMUM LETTER PHASE-E YOQ SWIMMING
+169E3 ; [.30E5.0020.0002.169E3] # BAMUM LETTER PHASE-E YOQ COVER
+169E4 ; [.30E6.0020.0002.169E4] # BAMUM LETTER PHASE-E YUQ
+169E5 ; [.30E7.0020.0002.169E5] # BAMUM LETTER PHASE-E YUN
+169E6 ; [.30E8.0020.0002.169E6] # BAMUM LETTER PHASE-E KEUX
+169E7 ; [.30E9.0020.0002.169E7] # BAMUM LETTER PHASE-E PEUX
+169E8 ; [.30EA.0020.0002.169E8] # BAMUM LETTER PHASE-E NJEE EPOCH
+169E9 ; [.30EB.0020.0002.169E9] # BAMUM LETTER PHASE-E PUE
+169EA ; [.30EC.0020.0002.169EA] # BAMUM LETTER PHASE-E WUE
+169EB ; [.30ED.0020.0002.169EB] # BAMUM LETTER PHASE-E FEE
+169EC ; [.30EE.0020.0002.169EC] # BAMUM LETTER PHASE-E VEE
+169ED ; [.30EF.0020.0002.169ED] # BAMUM LETTER PHASE-E LU
+169EE ; [.30F0.0020.0002.169EE] # BAMUM LETTER PHASE-E MI
+169EF ; [.30F1.0020.0002.169EF] # BAMUM LETTER PHASE-E REUX
+169F0 ; [.30F2.0020.0002.169F0] # BAMUM LETTER PHASE-E RAE
+169F1 ; [.30F3.0020.0002.169F1] # BAMUM LETTER PHASE-E NGUAET
+169F2 ; [.30F4.0020.0002.169F2] # BAMUM LETTER PHASE-E NGA
+169F3 ; [.30F5.0020.0002.169F3] # BAMUM LETTER PHASE-E SHO
+169F4 ; [.30F6.0020.0002.169F4] # BAMUM LETTER PHASE-E SHOQ
+169F5 ; [.30F7.0020.0002.169F5] # BAMUM LETTER PHASE-E FU REMEDY
+169F6 ; [.30F8.0020.0002.169F6] # BAMUM LETTER PHASE-E NA
+169F7 ; [.30F9.0020.0002.169F7] # BAMUM LETTER PHASE-E PI
+169F8 ; [.30FA.0020.0002.169F8] # BAMUM LETTER PHASE-E LOQ
+169F9 ; [.30FB.0020.0002.169F9] # BAMUM LETTER PHASE-E KO
+169FA ; [.30FC.0020.0002.169FA] # BAMUM LETTER PHASE-E MEN
+169FB ; [.30FD.0020.0002.169FB] # BAMUM LETTER PHASE-E MA
+169FC ; [.30FE.0020.0002.169FC] # BAMUM LETTER PHASE-E MAQ
+169FD ; [.30FF.0020.0002.169FD] # BAMUM LETTER PHASE-E TEU
+169FE ; [.3100.0020.0002.169FE] # BAMUM LETTER PHASE-E KI
+169FF ; [.3101.0020.0002.169FF] # BAMUM LETTER PHASE-E MON
+16A00 ; [.3102.0020.0002.16A00] # BAMUM LETTER PHASE-E TEN
+16A01 ; [.3103.0020.0002.16A01] # BAMUM LETTER PHASE-E FAQ
+16A02 ; [.3104.0020.0002.16A02] # BAMUM LETTER PHASE-E GHOM
+16A03 ; [.3105.0020.0002.16A03] # BAMUM LETTER PHASE-F KA
+16A04 ; [.3106.0020.0002.16A04] # BAMUM LETTER PHASE-F U
+16A05 ; [.3107.0020.0002.16A05] # BAMUM LETTER PHASE-F KU
+16A06 ; [.3108.0020.0002.16A06] # BAMUM LETTER PHASE-F EE
+16A07 ; [.3109.0020.0002.16A07] # BAMUM LETTER PHASE-F REE
+16A08 ; [.310A.0020.0002.16A08] # BAMUM LETTER PHASE-F TAE
+16A09 ; [.310B.0020.0002.16A09] # BAMUM LETTER PHASE-F NYI
+16A0A ; [.310C.0020.0002.16A0A] # BAMUM LETTER PHASE-F LA
+16A0B ; [.310D.0020.0002.16A0B] # BAMUM LETTER PHASE-F RII
+16A0C ; [.310E.0020.0002.16A0C] # BAMUM LETTER PHASE-F RIEE
+16A0D ; [.310F.0020.0002.16A0D] # BAMUM LETTER PHASE-F MEEEE
+16A0E ; [.3110.0020.0002.16A0E] # BAMUM LETTER PHASE-F TAA
+16A0F ; [.3111.0020.0002.16A0F] # BAMUM LETTER PHASE-F NDAA
+16A10 ; [.3112.0020.0002.16A10] # BAMUM LETTER PHASE-F NJAEM
+16A11 ; [.3113.0020.0002.16A11] # BAMUM LETTER PHASE-F M
+16A12 ; [.3114.0020.0002.16A12] # BAMUM LETTER PHASE-F SUU
+16A13 ; [.3115.0020.0002.16A13] # BAMUM LETTER PHASE-F SHII
+16A14 ; [.3116.0020.0002.16A14] # BAMUM LETTER PHASE-F SI
+16A15 ; [.3117.0020.0002.16A15] # BAMUM LETTER PHASE-F SEUX
+16A16 ; [.3118.0020.0002.16A16] # BAMUM LETTER PHASE-F KYEE
+16A17 ; [.3119.0020.0002.16A17] # BAMUM LETTER PHASE-F KET
+16A18 ; [.311A.0020.0002.16A18] # BAMUM LETTER PHASE-F NUAE
+16A19 ; [.311B.0020.0002.16A19] # BAMUM LETTER PHASE-F NU
+16A1A ; [.311C.0020.0002.16A1A] # BAMUM LETTER PHASE-F NJUAE
+16A1B ; [.311D.0020.0002.16A1B] # BAMUM LETTER PHASE-F YOQ
+16A1C ; [.311E.0020.0002.16A1C] # BAMUM LETTER PHASE-F SHU
+16A1D ; [.311F.0020.0002.16A1D] # BAMUM LETTER PHASE-F YA
+16A1E ; [.3120.0020.0002.16A1E] # BAMUM LETTER PHASE-F NSHA
+16A1F ; [.3121.0020.0002.16A1F] # BAMUM LETTER PHASE-F PEUX
+16A20 ; [.3122.0020.0002.16A20] # BAMUM LETTER PHASE-F NTEE
+16A21 ; [.3123.0020.0002.16A21] # BAMUM LETTER PHASE-F WUE
+16A22 ; [.3124.0020.0002.16A22] # BAMUM LETTER PHASE-F PEE
+16A23 ; [.3125.0020.0002.16A23] # BAMUM LETTER PHASE-F RU
+16A24 ; [.3126.0020.0002.16A24] # BAMUM LETTER PHASE-F NI
+16A25 ; [.3127.0020.0002.16A25] # BAMUM LETTER PHASE-F REUX
+16A26 ; [.3128.0020.0002.16A26] # BAMUM LETTER PHASE-F KEN
+16A27 ; [.3129.0020.0002.16A27] # BAMUM LETTER PHASE-F NGKWAEN
+16A28 ; [.312A.0020.0002.16A28] # BAMUM LETTER PHASE-F NGGA
+16A29 ; [.312B.0020.0002.16A29] # BAMUM LETTER PHASE-F SHO
+16A2A ; [.312C.0020.0002.16A2A] # BAMUM LETTER PHASE-F PUAE
+16A2B ; [.312D.0020.0002.16A2B] # BAMUM LETTER PHASE-F FOM
+16A2C ; [.312E.0020.0002.16A2C] # BAMUM LETTER PHASE-F WA
+16A2D ; [.312F.0020.0002.16A2D] # BAMUM LETTER PHASE-F LI
+16A2E ; [.3130.0020.0002.16A2E] # BAMUM LETTER PHASE-F LOQ
+16A2F ; [.3131.0020.0002.16A2F] # BAMUM LETTER PHASE-F KO
+16A30 ; [.3132.0020.0002.16A30] # BAMUM LETTER PHASE-F MBEN
+16A31 ; [.3133.0020.0002.16A31] # BAMUM LETTER PHASE-F REN
+16A32 ; [.3134.0020.0002.16A32] # BAMUM LETTER PHASE-F MA
+16A33 ; [.3135.0020.0002.16A33] # BAMUM LETTER PHASE-F MO
+16A34 ; [.3136.0020.0002.16A34] # BAMUM LETTER PHASE-F MBAA
+16A35 ; [.3137.0020.0002.16A35] # BAMUM LETTER PHASE-F TET
+16A36 ; [.3138.0020.0002.16A36] # BAMUM LETTER PHASE-F KPA
+16A37 ; [.3139.0020.0002.16A37] # BAMUM LETTER PHASE-F SAMBA
+16A38 ; [.313A.0020.0002.16A38] # BAMUM LETTER PHASE-F VUEQ
+1100 ; [.313B.0020.0002.1100] # HANGUL CHOSEONG KIYEOK
+3131 ; [.313B.0020.0004.3131] # HANGUL LETTER KIYEOK
+3200 ; [*02FB.0020.0004.3200][.313B.0020.0004.3200][*02FC.0020.001F.3200] # PARENTHESIZED HANGUL KIYEOK
+3260 ; [.313B.0020.0006.3260] # CIRCLED HANGUL KIYEOK
+FFA1 ; [.313B.0020.0012.FFA1] # HALFWIDTH HANGUL LETTER KIYEOK
+320E ; [*02FB.0020.0004.320E][.313B.0020.0004.320E][.31B9.0020.001F.320E][*02FC.0020.001F.320E] # PARENTHESIZED HANGUL KIYEOK A
+326E ; [.313B.0020.0006.326E][.31B9.0020.0006.326E] # CIRCLED HANGUL KIYEOK A
+1101 ; [.313C.0020.0002.1101] # HANGUL CHOSEONG SSANGKIYEOK
+3132 ; [.313C.0020.0004.3132] # HANGUL LETTER SSANGKIYEOK
+FFA2 ; [.313C.0020.0012.FFA2] # HALFWIDTH HANGUL LETTER SSANGKIYEOK
+1102 ; [.313D.0020.0002.1102] # HANGUL CHOSEONG NIEUN
+3134 ; [.313D.0020.0004.3134] # HANGUL LETTER NIEUN
+3201 ; [*02FB.0020.0004.3201][.313D.0020.0004.3201][*02FC.0020.001F.3201] # PARENTHESIZED HANGUL NIEUN
+3261 ; [.313D.0020.0006.3261] # CIRCLED HANGUL NIEUN
+FFA4 ; [.313D.0020.0012.FFA4] # HALFWIDTH HANGUL LETTER NIEUN
+320F ; [*02FB.0020.0004.320F][.313D.0020.0004.320F][.31B9.0020.001F.320F][*02FC.0020.001F.320F] # PARENTHESIZED HANGUL NIEUN A
+326F ; [.313D.0020.0006.326F][.31B9.0020.0006.326F] # CIRCLED HANGUL NIEUN A
+1103 ; [.313E.0020.0002.1103] # HANGUL CHOSEONG TIKEUT
+3137 ; [.313E.0020.0004.3137] # HANGUL LETTER TIKEUT
+3202 ; [*02FB.0020.0004.3202][.313E.0020.0004.3202][*02FC.0020.001F.3202] # PARENTHESIZED HANGUL TIKEUT
+3262 ; [.313E.0020.0006.3262] # CIRCLED HANGUL TIKEUT
+FFA7 ; [.313E.0020.0012.FFA7] # HALFWIDTH HANGUL LETTER TIKEUT
+3210 ; [*02FB.0020.0004.3210][.313E.0020.0004.3210][.31B9.0020.001F.3210][*02FC.0020.001F.3210] # PARENTHESIZED HANGUL TIKEUT A
+3270 ; [.313E.0020.0006.3270][.31B9.0020.0006.3270] # CIRCLED HANGUL TIKEUT A
+1104 ; [.313F.0020.0002.1104] # HANGUL CHOSEONG SSANGTIKEUT
+3138 ; [.313F.0020.0004.3138] # HANGUL LETTER SSANGTIKEUT
+FFA8 ; [.313F.0020.0012.FFA8] # HALFWIDTH HANGUL LETTER SSANGTIKEUT
+1105 ; [.3140.0020.0002.1105] # HANGUL CHOSEONG RIEUL
+3139 ; [.3140.0020.0004.3139] # HANGUL LETTER RIEUL
+3203 ; [*02FB.0020.0004.3203][.3140.0020.0004.3203][*02FC.0020.001F.3203] # PARENTHESIZED HANGUL RIEUL
+3263 ; [.3140.0020.0006.3263] # CIRCLED HANGUL RIEUL
+FFA9 ; [.3140.0020.0012.FFA9] # HALFWIDTH HANGUL LETTER RIEUL
+3211 ; [*02FB.0020.0004.3211][.3140.0020.0004.3211][.31B9.0020.001F.3211][*02FC.0020.001F.3211] # PARENTHESIZED HANGUL RIEUL A
+3271 ; [.3140.0020.0006.3271][.31B9.0020.0006.3271] # CIRCLED HANGUL RIEUL A
+1106 ; [.3141.0020.0002.1106] # HANGUL CHOSEONG MIEUM
+3141 ; [.3141.0020.0004.3141] # HANGUL LETTER MIEUM
+3204 ; [*02FB.0020.0004.3204][.3141.0020.0004.3204][*02FC.0020.001F.3204] # PARENTHESIZED HANGUL MIEUM
+3264 ; [.3141.0020.0006.3264] # CIRCLED HANGUL MIEUM
+FFB1 ; [.3141.0020.0012.FFB1] # HALFWIDTH HANGUL LETTER MIEUM
+3212 ; [*02FB.0020.0004.3212][.3141.0020.0004.3212][.31B9.0020.001F.3212][*02FC.0020.001F.3212] # PARENTHESIZED HANGUL MIEUM A
+3272 ; [.3141.0020.0006.3272][.31B9.0020.0006.3272] # CIRCLED HANGUL MIEUM A
+1107 ; [.3142.0020.0002.1107] # HANGUL CHOSEONG PIEUP
+3142 ; [.3142.0020.0004.3142] # HANGUL LETTER PIEUP
+3205 ; [*02FB.0020.0004.3205][.3142.0020.0004.3205][*02FC.0020.001F.3205] # PARENTHESIZED HANGUL PIEUP
+3265 ; [.3142.0020.0006.3265] # CIRCLED HANGUL PIEUP
+FFB2 ; [.3142.0020.0012.FFB2] # HALFWIDTH HANGUL LETTER PIEUP
+3213 ; [*02FB.0020.0004.3213][.3142.0020.0004.3213][.31B9.0020.001F.3213][*02FC.0020.001F.3213] # PARENTHESIZED HANGUL PIEUP A
+3273 ; [.3142.0020.0006.3273][.31B9.0020.0006.3273] # CIRCLED HANGUL PIEUP A
+1108 ; [.3143.0020.0002.1108] # HANGUL CHOSEONG SSANGPIEUP
+3143 ; [.3143.0020.0004.3143] # HANGUL LETTER SSANGPIEUP
+FFB3 ; [.3143.0020.0012.FFB3] # HALFWIDTH HANGUL LETTER SSANGPIEUP
+1109 ; [.3144.0020.0002.1109] # HANGUL CHOSEONG SIOS
+3145 ; [.3144.0020.0004.3145] # HANGUL LETTER SIOS
+3206 ; [*02FB.0020.0004.3206][.3144.0020.0004.3206][*02FC.0020.001F.3206] # PARENTHESIZED HANGUL SIOS
+3266 ; [.3144.0020.0006.3266] # CIRCLED HANGUL SIOS
+FFB5 ; [.3144.0020.0012.FFB5] # HALFWIDTH HANGUL LETTER SIOS
+3214 ; [*02FB.0020.0004.3214][.3144.0020.0004.3214][.31B9.0020.001F.3214][*02FC.0020.001F.3214] # PARENTHESIZED HANGUL SIOS A
+3274 ; [.3144.0020.0006.3274][.31B9.0020.0006.3274] # CIRCLED HANGUL SIOS A
+110A ; [.3145.0020.0002.110A] # HANGUL CHOSEONG SSANGSIOS
+3146 ; [.3145.0020.0004.3146] # HANGUL LETTER SSANGSIOS
+FFB6 ; [.3145.0020.0012.FFB6] # HALFWIDTH HANGUL LETTER SSANGSIOS
+110B ; [.3146.0020.0002.110B] # HANGUL CHOSEONG IEUNG
+3147 ; [.3146.0020.0004.3147] # HANGUL LETTER IEUNG
+3207 ; [*02FB.0020.0004.3207][.3146.0020.0004.3207][*02FC.0020.001F.3207] # PARENTHESIZED HANGUL IEUNG
+3267 ; [.3146.0020.0006.3267] # CIRCLED HANGUL IEUNG
+FFB7 ; [.3146.0020.0012.FFB7] # HALFWIDTH HANGUL LETTER IEUNG
+3215 ; [*02FB.0020.0004.3215][.3146.0020.0004.3215][.31B9.0020.001F.3215][*02FC.0020.001F.3215] # PARENTHESIZED HANGUL IEUNG A
+3275 ; [.3146.0020.0006.3275][.31B9.0020.0006.3275] # CIRCLED HANGUL IEUNG A
+321D ; [*02FB.0020.0004.321D][.3146.0020.0004.321D][.31C1.0020.001F.321D][.3147.0020.001F.321D][.31BD.0020.001F.321D][.321A.0020.001F.321D][*02FC.0020.001F.321D] # PARENTHESIZED KOREAN CHARACTER OJEON
+321E ; [*02FB.0020.0004.321E][.3146.0020.0004.321E][.31C1.0020.001F.321E][.314D.0020.001F.321E][.31C6.0020.001F.321E][*02FC.0020.001F.321E] # PARENTHESIZED KOREAN CHARACTER O HU
+327E ; [.3146.0020.0006.327E][.31C6.0020.0006.327E] # CIRCLED HANGUL IEUNG U
+110C ; [.3147.0020.0002.110C] # HANGUL CHOSEONG CIEUC
+3148 ; [.3147.0020.0004.3148] # HANGUL LETTER CIEUC
+3208 ; [*02FB.0020.0004.3208][.3147.0020.0004.3208][*02FC.0020.001F.3208] # PARENTHESIZED HANGUL CIEUC
+3268 ; [.3147.0020.0006.3268] # CIRCLED HANGUL CIEUC
+FFB8 ; [.3147.0020.0012.FFB8] # HALFWIDTH HANGUL LETTER CIEUC
+3216 ; [*02FB.0020.0004.3216][.3147.0020.0004.3216][.31B9.0020.001F.3216][*02FC.0020.001F.3216] # PARENTHESIZED HANGUL CIEUC A
+3276 ; [.3147.0020.0006.3276][.31B9.0020.0006.3276] # CIRCLED HANGUL CIEUC A
+321C ; [*02FB.0020.0004.321C][.3147.0020.0004.321C][.31C6.0020.001F.321C][*02FC.0020.001F.321C] # PARENTHESIZED HANGUL CIEUC U
+327D ; [.3147.0020.0006.327D][.31C6.0020.0006.327D][.3146.0020.001F.327D][.31CC.0020.001F.327D] # CIRCLED KOREAN CHARACTER JUEUI
+110D ; [.3148.0020.0002.110D] # HANGUL CHOSEONG SSANGCIEUC
+3149 ; [.3148.0020.0004.3149] # HANGUL LETTER SSANGCIEUC
+FFB9 ; [.3148.0020.0012.FFB9] # HALFWIDTH HANGUL LETTER SSANGCIEUC
+110E ; [.3149.0020.0002.110E] # HANGUL CHOSEONG CHIEUCH
+314A ; [.3149.0020.0004.314A] # HANGUL LETTER CHIEUCH
+3209 ; [*02FB.0020.0004.3209][.3149.0020.0004.3209][*02FC.0020.001F.3209] # PARENTHESIZED HANGUL CHIEUCH
+3269 ; [.3149.0020.0006.3269] # CIRCLED HANGUL CHIEUCH
+FFBA ; [.3149.0020.0012.FFBA] # HALFWIDTH HANGUL LETTER CHIEUCH
+3217 ; [*02FB.0020.0004.3217][.3149.0020.0004.3217][.31B9.0020.001F.3217][*02FC.0020.001F.3217] # PARENTHESIZED HANGUL CHIEUCH A
+3277 ; [.3149.0020.0006.3277][.31B9.0020.0006.3277] # CIRCLED HANGUL CHIEUCH A
+327C ; [.3149.0020.0006.327C][.31B9.0020.0006.327C][.3226.0020.001F.327C][.313B.0020.001F.327C][.31C1.0020.001F.327C] # CIRCLED KOREAN CHARACTER CHAMKO
+110F ; [.314A.0020.0002.110F] # HANGUL CHOSEONG KHIEUKH
+314B ; [.314A.0020.0004.314B] # HANGUL LETTER KHIEUKH
+320A ; [*02FB.0020.0004.320A][.314A.0020.0004.320A][*02FC.0020.001F.320A] # PARENTHESIZED HANGUL KHIEUKH
+326A ; [.314A.0020.0006.326A] # CIRCLED HANGUL KHIEUKH
+FFBB ; [.314A.0020.0012.FFBB] # HALFWIDTH HANGUL LETTER KHIEUKH
+3218 ; [*02FB.0020.0004.3218][.314A.0020.0004.3218][.31B9.0020.001F.3218][*02FC.0020.001F.3218] # PARENTHESIZED HANGUL KHIEUKH A
+3278 ; [.314A.0020.0006.3278][.31B9.0020.0006.3278] # CIRCLED HANGUL KHIEUKH A
+1110 ; [.314B.0020.0002.1110] # HANGUL CHOSEONG THIEUTH
+314C ; [.314B.0020.0004.314C] # HANGUL LETTER THIEUTH
+320B ; [*02FB.0020.0004.320B][.314B.0020.0004.320B][*02FC.0020.001F.320B] # PARENTHESIZED HANGUL THIEUTH
+326B ; [.314B.0020.0006.326B] # CIRCLED HANGUL THIEUTH
+FFBC ; [.314B.0020.0012.FFBC] # HALFWIDTH HANGUL LETTER THIEUTH
+3219 ; [*02FB.0020.0004.3219][.314B.0020.0004.3219][.31B9.0020.001F.3219][*02FC.0020.001F.3219] # PARENTHESIZED HANGUL THIEUTH A
+3279 ; [.314B.0020.0006.3279][.31B9.0020.0006.3279] # CIRCLED HANGUL THIEUTH A
+1111 ; [.314C.0020.0002.1111] # HANGUL CHOSEONG PHIEUPH
+314D ; [.314C.0020.0004.314D] # HANGUL LETTER PHIEUPH
+320C ; [*02FB.0020.0004.320C][.314C.0020.0004.320C][*02FC.0020.001F.320C] # PARENTHESIZED HANGUL PHIEUPH
+326C ; [.314C.0020.0006.326C] # CIRCLED HANGUL PHIEUPH
+FFBD ; [.314C.0020.0012.FFBD] # HALFWIDTH HANGUL LETTER PHIEUPH
+321A ; [*02FB.0020.0004.321A][.314C.0020.0004.321A][.31B9.0020.001F.321A][*02FC.0020.001F.321A] # PARENTHESIZED HANGUL PHIEUPH A
+327A ; [.314C.0020.0006.327A][.31B9.0020.0006.327A] # CIRCLED HANGUL PHIEUPH A
+1112 ; [.314D.0020.0002.1112] # HANGUL CHOSEONG HIEUH
+314E ; [.314D.0020.0004.314E] # HANGUL LETTER HIEUH
+320D ; [*02FB.0020.0004.320D][.314D.0020.0004.320D][*02FC.0020.001F.320D] # PARENTHESIZED HANGUL HIEUH
+326D ; [.314D.0020.0006.326D] # CIRCLED HANGUL HIEUH
+FFBE ; [.314D.0020.0012.FFBE] # HALFWIDTH HANGUL LETTER HIEUH
+321B ; [*02FB.0020.0004.321B][.314D.0020.0004.321B][.31B9.0020.001F.321B][*02FC.0020.001F.321B] # PARENTHESIZED HANGUL HIEUH A
+327B ; [.314D.0020.0006.327B][.31B9.0020.0006.327B] # CIRCLED HANGUL HIEUH A
+1113 ; [.314E.0020.0002.1113] # HANGUL CHOSEONG NIEUN-KIYEOK
+1114 ; [.314F.0020.0002.1114] # HANGUL CHOSEONG SSANGNIEUN
+3165 ; [.314F.0020.0004.3165] # HANGUL LETTER SSANGNIEUN
+1115 ; [.3150.0020.0002.1115] # HANGUL CHOSEONG NIEUN-TIKEUT
+3166 ; [.3150.0020.0004.3166] # HANGUL LETTER NIEUN-TIKEUT
+1116 ; [.3151.0020.0002.1116] # HANGUL CHOSEONG NIEUN-PIEUP
+1117 ; [.3152.0020.0002.1117] # HANGUL CHOSEONG TIKEUT-KIYEOK
+1118 ; [.3153.0020.0002.1118] # HANGUL CHOSEONG RIEUL-NIEUN
+1119 ; [.3154.0020.0002.1119] # HANGUL CHOSEONG SSANGRIEUL
+111A ; [.3155.0020.0002.111A] # HANGUL CHOSEONG RIEUL-HIEUH
+3140 ; [.3155.0020.0004.3140] # HANGUL LETTER RIEUL-HIEUH
+FFB0 ; [.3155.0020.0012.FFB0] # HALFWIDTH HANGUL LETTER RIEUL-HIEUH
+111B ; [.3156.0020.0002.111B] # HANGUL CHOSEONG KAPYEOUNRIEUL
+111C ; [.3157.0020.0002.111C] # HANGUL CHOSEONG MIEUM-PIEUP
+316E ; [.3157.0020.0004.316E] # HANGUL LETTER MIEUM-PIEUP
+111D ; [.3158.0020.0002.111D] # HANGUL CHOSEONG KAPYEOUNMIEUM
+3171 ; [.3158.0020.0004.3171] # HANGUL LETTER KAPYEOUNMIEUM
+111E ; [.3159.0020.0002.111E] # HANGUL CHOSEONG PIEUP-KIYEOK
+3172 ; [.3159.0020.0004.3172] # HANGUL LETTER PIEUP-KIYEOK
+111F ; [.315A.0020.0002.111F] # HANGUL CHOSEONG PIEUP-NIEUN
+1120 ; [.315B.0020.0002.1120] # HANGUL CHOSEONG PIEUP-TIKEUT
+3173 ; [.315B.0020.0004.3173] # HANGUL LETTER PIEUP-TIKEUT
+1121 ; [.315C.0020.0002.1121] # HANGUL CHOSEONG PIEUP-SIOS
+3144 ; [.315C.0020.0004.3144] # HANGUL LETTER PIEUP-SIOS
+FFB4 ; [.315C.0020.0012.FFB4] # HALFWIDTH HANGUL LETTER PIEUP-SIOS
+1122 ; [.315D.0020.0002.1122] # HANGUL CHOSEONG PIEUP-SIOS-KIYEOK
+3174 ; [.315D.0020.0004.3174] # HANGUL LETTER PIEUP-SIOS-KIYEOK
+1123 ; [.315E.0020.0002.1123] # HANGUL CHOSEONG PIEUP-SIOS-TIKEUT
+3175 ; [.315E.0020.0004.3175] # HANGUL LETTER PIEUP-SIOS-TIKEUT
+1124 ; [.315F.0020.0002.1124] # HANGUL CHOSEONG PIEUP-SIOS-PIEUP
+1125 ; [.3160.0020.0002.1125] # HANGUL CHOSEONG PIEUP-SSANGSIOS
+1126 ; [.3161.0020.0002.1126] # HANGUL CHOSEONG PIEUP-SIOS-CIEUC
+1127 ; [.3162.0020.0002.1127] # HANGUL CHOSEONG PIEUP-CIEUC
+3176 ; [.3162.0020.0004.3176] # HANGUL LETTER PIEUP-CIEUC
+1128 ; [.3163.0020.0002.1128] # HANGUL CHOSEONG PIEUP-CHIEUCH
+1129 ; [.3164.0020.0002.1129] # HANGUL CHOSEONG PIEUP-THIEUTH
+3177 ; [.3164.0020.0004.3177] # HANGUL LETTER PIEUP-THIEUTH
+112A ; [.3165.0020.0002.112A] # HANGUL CHOSEONG PIEUP-PHIEUPH
+112B ; [.3166.0020.0002.112B] # HANGUL CHOSEONG KAPYEOUNPIEUP
+3178 ; [.3166.0020.0004.3178] # HANGUL LETTER KAPYEOUNPIEUP
+112C ; [.3167.0020.0002.112C] # HANGUL CHOSEONG KAPYEOUNSSANGPIEUP
+3179 ; [.3167.0020.0004.3179] # HANGUL LETTER KAPYEOUNSSANGPIEUP
+112D ; [.3168.0020.0002.112D] # HANGUL CHOSEONG SIOS-KIYEOK
+317A ; [.3168.0020.0004.317A] # HANGUL LETTER SIOS-KIYEOK
+112E ; [.3169.0020.0002.112E] # HANGUL CHOSEONG SIOS-NIEUN
+317B ; [.3169.0020.0004.317B] # HANGUL LETTER SIOS-NIEUN
+112F ; [.316A.0020.0002.112F] # HANGUL CHOSEONG SIOS-TIKEUT
+317C ; [.316A.0020.0004.317C] # HANGUL LETTER SIOS-TIKEUT
+1130 ; [.316B.0020.0002.1130] # HANGUL CHOSEONG SIOS-RIEUL
+1131 ; [.316C.0020.0002.1131] # HANGUL CHOSEONG SIOS-MIEUM
+1132 ; [.316D.0020.0002.1132] # HANGUL CHOSEONG SIOS-PIEUP
+317D ; [.316D.0020.0004.317D] # HANGUL LETTER SIOS-PIEUP
+1133 ; [.316E.0020.0002.1133] # HANGUL CHOSEONG SIOS-PIEUP-KIYEOK
+1134 ; [.316F.0020.0002.1134] # HANGUL CHOSEONG SIOS-SSANGSIOS
+1135 ; [.3170.0020.0002.1135] # HANGUL CHOSEONG SIOS-IEUNG
+1136 ; [.3171.0020.0002.1136] # HANGUL CHOSEONG SIOS-CIEUC
+317E ; [.3171.0020.0004.317E] # HANGUL LETTER SIOS-CIEUC
+1137 ; [.3172.0020.0002.1137] # HANGUL CHOSEONG SIOS-CHIEUCH
+1138 ; [.3173.0020.0002.1138] # HANGUL CHOSEONG SIOS-KHIEUKH
+1139 ; [.3174.0020.0002.1139] # HANGUL CHOSEONG SIOS-THIEUTH
+113A ; [.3175.0020.0002.113A] # HANGUL CHOSEONG SIOS-PHIEUPH
+113B ; [.3176.0020.0002.113B] # HANGUL CHOSEONG SIOS-HIEUH
+113C ; [.3177.0020.0002.113C] # HANGUL CHOSEONG CHITUEUMSIOS
+113D ; [.3178.0020.0002.113D] # HANGUL CHOSEONG CHITUEUMSSANGSIOS
+113E ; [.3179.0020.0002.113E] # HANGUL CHOSEONG CEONGCHIEUMSIOS
+113F ; [.317A.0020.0002.113F] # HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
+1140 ; [.317B.0020.0002.1140] # HANGUL CHOSEONG PANSIOS
+317F ; [.317B.0020.0004.317F] # HANGUL LETTER PANSIOS
+1141 ; [.317C.0020.0002.1141] # HANGUL CHOSEONG IEUNG-KIYEOK
+1142 ; [.317D.0020.0002.1142] # HANGUL CHOSEONG IEUNG-TIKEUT
+1143 ; [.317E.0020.0002.1143] # HANGUL CHOSEONG IEUNG-MIEUM
+1144 ; [.317F.0020.0002.1144] # HANGUL CHOSEONG IEUNG-PIEUP
+1145 ; [.3180.0020.0002.1145] # HANGUL CHOSEONG IEUNG-SIOS
+1146 ; [.3181.0020.0002.1146] # HANGUL CHOSEONG IEUNG-PANSIOS
+1147 ; [.3182.0020.0002.1147] # HANGUL CHOSEONG SSANGIEUNG
+3180 ; [.3182.0020.0004.3180] # HANGUL LETTER SSANGIEUNG
+1148 ; [.3183.0020.0002.1148] # HANGUL CHOSEONG IEUNG-CIEUC
+1149 ; [.3184.0020.0002.1149] # HANGUL CHOSEONG IEUNG-CHIEUCH
+114A ; [.3185.0020.0002.114A] # HANGUL CHOSEONG IEUNG-THIEUTH
+114B ; [.3186.0020.0002.114B] # HANGUL CHOSEONG IEUNG-PHIEUPH
+114C ; [.3187.0020.0002.114C] # HANGUL CHOSEONG YESIEUNG
+3181 ; [.3187.0020.0004.3181] # HANGUL LETTER YESIEUNG
+114D ; [.3188.0020.0002.114D] # HANGUL CHOSEONG CIEUC-IEUNG
+114E ; [.3189.0020.0002.114E] # HANGUL CHOSEONG CHITUEUMCIEUC
+114F ; [.318A.0020.0002.114F] # HANGUL CHOSEONG CHITUEUMSSANGCIEUC
+1150 ; [.318B.0020.0002.1150] # HANGUL CHOSEONG CEONGCHIEUMCIEUC
+1151 ; [.318C.0020.0002.1151] # HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC
+1152 ; [.318D.0020.0002.1152] # HANGUL CHOSEONG CHIEUCH-KHIEUKH
+1153 ; [.318E.0020.0002.1153] # HANGUL CHOSEONG CHIEUCH-HIEUH
+1154 ; [.318F.0020.0002.1154] # HANGUL CHOSEONG CHITUEUMCHIEUCH
+1155 ; [.3190.0020.0002.1155] # HANGUL CHOSEONG CEONGCHIEUMCHIEUCH
+1156 ; [.3191.0020.0002.1156] # HANGUL CHOSEONG PHIEUPH-PIEUP
+1157 ; [.3192.0020.0002.1157] # HANGUL CHOSEONG KAPYEOUNPHIEUPH
+3184 ; [.3192.0020.0004.3184] # HANGUL LETTER KAPYEOUNPHIEUPH
+1158 ; [.3193.0020.0002.1158] # HANGUL CHOSEONG SSANGHIEUH
+3185 ; [.3193.0020.0004.3185] # HANGUL LETTER SSANGHIEUH
+1159 ; [.3194.0020.0002.1159] # HANGUL CHOSEONG YEORINHIEUH
+3186 ; [.3194.0020.0004.3186] # HANGUL LETTER YEORINHIEUH
+115A ; [.3195.0020.0002.115A] # HANGUL CHOSEONG KIYEOK-TIKEUT
+115B ; [.3196.0020.0002.115B] # HANGUL CHOSEONG NIEUN-SIOS
+115C ; [.3197.0020.0002.115C] # HANGUL CHOSEONG NIEUN-CIEUC
+115D ; [.3198.0020.0002.115D] # HANGUL CHOSEONG NIEUN-HIEUH
+115E ; [.3199.0020.0002.115E] # HANGUL CHOSEONG TIKEUT-RIEUL
+A960 ; [.319A.0020.0002.A960] # HANGUL CHOSEONG TIKEUT-MIEUM
+A961 ; [.319B.0020.0002.A961] # HANGUL CHOSEONG TIKEUT-PIEUP
+A962 ; [.319C.0020.0002.A962] # HANGUL CHOSEONG TIKEUT-SIOS
+A963 ; [.319D.0020.0002.A963] # HANGUL CHOSEONG TIKEUT-CIEUC
+A964 ; [.319E.0020.0002.A964] # HANGUL CHOSEONG RIEUL-KIYEOK
+A965 ; [.319F.0020.0002.A965] # HANGUL CHOSEONG RIEUL-SSANGKIYEOK
+A966 ; [.31A0.0020.0002.A966] # HANGUL CHOSEONG RIEUL-TIKEUT
+A967 ; [.31A1.0020.0002.A967] # HANGUL CHOSEONG RIEUL-SSANGTIKEUT
+A968 ; [.31A2.0020.0002.A968] # HANGUL CHOSEONG RIEUL-MIEUM
+A969 ; [.31A3.0020.0002.A969] # HANGUL CHOSEONG RIEUL-PIEUP
+A96A ; [.31A4.0020.0002.A96A] # HANGUL CHOSEONG RIEUL-SSANGPIEUP
+A96B ; [.31A5.0020.0002.A96B] # HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP
+A96C ; [.31A6.0020.0002.A96C] # HANGUL CHOSEONG RIEUL-SIOS
+A96D ; [.31A7.0020.0002.A96D] # HANGUL CHOSEONG RIEUL-CIEUC
+A96E ; [.31A8.0020.0002.A96E] # HANGUL CHOSEONG RIEUL-KHIEUKH
+A96F ; [.31A9.0020.0002.A96F] # HANGUL CHOSEONG MIEUM-KIYEOK
+A970 ; [.31AA.0020.0002.A970] # HANGUL CHOSEONG MIEUM-TIKEUT
+A971 ; [.31AB.0020.0002.A971] # HANGUL CHOSEONG MIEUM-SIOS
+A972 ; [.31AC.0020.0002.A972] # HANGUL CHOSEONG PIEUP-SIOS-THIEUTH
+A973 ; [.31AD.0020.0002.A973] # HANGUL CHOSEONG PIEUP-KHIEUKH
+A974 ; [.31AE.0020.0002.A974] # HANGUL CHOSEONG PIEUP-HIEUH
+A975 ; [.31AF.0020.0002.A975] # HANGUL CHOSEONG SSANGSIOS-PIEUP
+A976 ; [.31B0.0020.0002.A976] # HANGUL CHOSEONG IEUNG-RIEUL
+A977 ; [.31B1.0020.0002.A977] # HANGUL CHOSEONG IEUNG-HIEUH
+A978 ; [.31B2.0020.0002.A978] # HANGUL CHOSEONG SSANGCIEUC-HIEUH
+A979 ; [.31B3.0020.0002.A979] # HANGUL CHOSEONG SSANGTHIEUTH
+A97A ; [.31B4.0020.0002.A97A] # HANGUL CHOSEONG PHIEUPH-HIEUH
+A97B ; [.31B5.0020.0002.A97B] # HANGUL CHOSEONG HIEUH-SIOS
+A97C ; [.31B6.0020.0002.A97C] # HANGUL CHOSEONG SSANGYEORINHIEUH
+115F ; [.31B7.0020.0002.115F] # HANGUL CHOSEONG FILLER
+1160 ; [.31B8.0020.0002.1160] # HANGUL JUNGSEONG FILLER
+3164 ; [.31B8.0020.0004.3164] # HANGUL FILLER
+FFA0 ; [.31B8.0020.0012.FFA0] # HALFWIDTH HANGUL FILLER
+1161 ; [.31B9.0020.0002.1161] # HANGUL JUNGSEONG A
+314F ; [.31B9.0020.0004.314F] # HANGUL LETTER A
+FFC2 ; [.31B9.0020.0012.FFC2] # HALFWIDTH HANGUL LETTER A
+1162 ; [.31BA.0020.0002.1162] # HANGUL JUNGSEONG AE
+3150 ; [.31BA.0020.0004.3150] # HANGUL LETTER AE
+FFC3 ; [.31BA.0020.0012.FFC3] # HALFWIDTH HANGUL LETTER AE
+1163 ; [.31BB.0020.0002.1163] # HANGUL JUNGSEONG YA
+3151 ; [.31BB.0020.0004.3151] # HANGUL LETTER YA
+FFC4 ; [.31BB.0020.0012.FFC4] # HALFWIDTH HANGUL LETTER YA
+1164 ; [.31BC.0020.0002.1164] # HANGUL JUNGSEONG YAE
+3152 ; [.31BC.0020.0004.3152] # HANGUL LETTER YAE
+FFC5 ; [.31BC.0020.0012.FFC5] # HALFWIDTH HANGUL LETTER YAE
+1165 ; [.31BD.0020.0002.1165] # HANGUL JUNGSEONG EO
+3153 ; [.31BD.0020.0004.3153] # HANGUL LETTER EO
+FFC6 ; [.31BD.0020.0012.FFC6] # HALFWIDTH HANGUL LETTER EO
+1166 ; [.31BE.0020.0002.1166] # HANGUL JUNGSEONG E
+3154 ; [.31BE.0020.0004.3154] # HANGUL LETTER E
+FFC7 ; [.31BE.0020.0012.FFC7] # HALFWIDTH HANGUL LETTER E
+1167 ; [.31BF.0020.0002.1167] # HANGUL JUNGSEONG YEO
+3155 ; [.31BF.0020.0004.3155] # HANGUL LETTER YEO
+FFCA ; [.31BF.0020.0012.FFCA] # HALFWIDTH HANGUL LETTER YEO
+1168 ; [.31C0.0020.0002.1168] # HANGUL JUNGSEONG YE
+3156 ; [.31C0.0020.0004.3156] # HANGUL LETTER YE
+FFCB ; [.31C0.0020.0012.FFCB] # HALFWIDTH HANGUL LETTER YE
+1169 ; [.31C1.0020.0002.1169] # HANGUL JUNGSEONG O
+3157 ; [.31C1.0020.0004.3157] # HANGUL LETTER O
+FFCC ; [.31C1.0020.0012.FFCC] # HALFWIDTH HANGUL LETTER O
+116A ; [.31C2.0020.0002.116A] # HANGUL JUNGSEONG WA
+3158 ; [.31C2.0020.0004.3158] # HANGUL LETTER WA
+FFCD ; [.31C2.0020.0012.FFCD] # HALFWIDTH HANGUL LETTER WA
+116B ; [.31C3.0020.0002.116B] # HANGUL JUNGSEONG WAE
+3159 ; [.31C3.0020.0004.3159] # HANGUL LETTER WAE
+FFCE ; [.31C3.0020.0012.FFCE] # HALFWIDTH HANGUL LETTER WAE
+116C ; [.31C4.0020.0002.116C] # HANGUL JUNGSEONG OE
+315A ; [.31C4.0020.0004.315A] # HANGUL LETTER OE
+FFCF ; [.31C4.0020.0012.FFCF] # HALFWIDTH HANGUL LETTER OE
+116D ; [.31C5.0020.0002.116D] # HANGUL JUNGSEONG YO
+315B ; [.31C5.0020.0004.315B] # HANGUL LETTER YO
+FFD2 ; [.31C5.0020.0012.FFD2] # HALFWIDTH HANGUL LETTER YO
+116E ; [.31C6.0020.0002.116E] # HANGUL JUNGSEONG U
+315C ; [.31C6.0020.0004.315C] # HANGUL LETTER U
+FFD3 ; [.31C6.0020.0012.FFD3] # HALFWIDTH HANGUL LETTER U
+116F ; [.31C7.0020.0002.116F] # HANGUL JUNGSEONG WEO
+315D ; [.31C7.0020.0004.315D] # HANGUL LETTER WEO
+FFD4 ; [.31C7.0020.0012.FFD4] # HALFWIDTH HANGUL LETTER WEO
+1170 ; [.31C8.0020.0002.1170] # HANGUL JUNGSEONG WE
+315E ; [.31C8.0020.0004.315E] # HANGUL LETTER WE
+FFD5 ; [.31C8.0020.0012.FFD5] # HALFWIDTH HANGUL LETTER WE
+1171 ; [.31C9.0020.0002.1171] # HANGUL JUNGSEONG WI
+315F ; [.31C9.0020.0004.315F] # HANGUL LETTER WI
+FFD6 ; [.31C9.0020.0012.FFD6] # HALFWIDTH HANGUL LETTER WI
+1172 ; [.31CA.0020.0002.1172] # HANGUL JUNGSEONG YU
+3160 ; [.31CA.0020.0004.3160] # HANGUL LETTER YU
+FFD7 ; [.31CA.0020.0012.FFD7] # HALFWIDTH HANGUL LETTER YU
+1173 ; [.31CB.0020.0002.1173] # HANGUL JUNGSEONG EU
+3161 ; [.31CB.0020.0004.3161] # HANGUL LETTER EU
+FFDA ; [.31CB.0020.0012.FFDA] # HALFWIDTH HANGUL LETTER EU
+1174 ; [.31CC.0020.0002.1174] # HANGUL JUNGSEONG YI
+3162 ; [.31CC.0020.0004.3162] # HANGUL LETTER YI
+FFDB ; [.31CC.0020.0012.FFDB] # HALFWIDTH HANGUL LETTER YI
+1175 ; [.31CD.0020.0002.1175] # HANGUL JUNGSEONG I
+3163 ; [.31CD.0020.0004.3163] # HANGUL LETTER I
+FFDC ; [.31CD.0020.0012.FFDC] # HALFWIDTH HANGUL LETTER I
+1176 ; [.31CE.0020.0002.1176] # HANGUL JUNGSEONG A-O
+1177 ; [.31CF.0020.0002.1177] # HANGUL JUNGSEONG A-U
+1178 ; [.31D0.0020.0002.1178] # HANGUL JUNGSEONG YA-O
+1179 ; [.31D1.0020.0002.1179] # HANGUL JUNGSEONG YA-YO
+117A ; [.31D2.0020.0002.117A] # HANGUL JUNGSEONG EO-O
+117B ; [.31D3.0020.0002.117B] # HANGUL JUNGSEONG EO-U
+117C ; [.31D4.0020.0002.117C] # HANGUL JUNGSEONG EO-EU
+117D ; [.31D5.0020.0002.117D] # HANGUL JUNGSEONG YEO-O
+117E ; [.31D6.0020.0002.117E] # HANGUL JUNGSEONG YEO-U
+117F ; [.31D7.0020.0002.117F] # HANGUL JUNGSEONG O-EO
+1180 ; [.31D8.0020.0002.1180] # HANGUL JUNGSEONG O-E
+1181 ; [.31D9.0020.0002.1181] # HANGUL JUNGSEONG O-YE
+1182 ; [.31DA.0020.0002.1182] # HANGUL JUNGSEONG O-O
+1183 ; [.31DB.0020.0002.1183] # HANGUL JUNGSEONG O-U
+1184 ; [.31DC.0020.0002.1184] # HANGUL JUNGSEONG YO-YA
+3187 ; [.31DC.0020.0004.3187] # HANGUL LETTER YO-YA
+1185 ; [.31DD.0020.0002.1185] # HANGUL JUNGSEONG YO-YAE
+3188 ; [.31DD.0020.0004.3188] # HANGUL LETTER YO-YAE
+1186 ; [.31DE.0020.0002.1186] # HANGUL JUNGSEONG YO-YEO
+1187 ; [.31DF.0020.0002.1187] # HANGUL JUNGSEONG YO-O
+1188 ; [.31E0.0020.0002.1188] # HANGUL JUNGSEONG YO-I
+3189 ; [.31E0.0020.0004.3189] # HANGUL LETTER YO-I
+1189 ; [.31E1.0020.0002.1189] # HANGUL JUNGSEONG U-A
+118A ; [.31E2.0020.0002.118A] # HANGUL JUNGSEONG U-AE
+118B ; [.31E3.0020.0002.118B] # HANGUL JUNGSEONG U-EO-EU
+118C ; [.31E4.0020.0002.118C] # HANGUL JUNGSEONG U-YE
+118D ; [.31E5.0020.0002.118D] # HANGUL JUNGSEONG U-U
+118E ; [.31E6.0020.0002.118E] # HANGUL JUNGSEONG YU-A
+118F ; [.31E7.0020.0002.118F] # HANGUL JUNGSEONG YU-EO
+1190 ; [.31E8.0020.0002.1190] # HANGUL JUNGSEONG YU-E
+1191 ; [.31E9.0020.0002.1191] # HANGUL JUNGSEONG YU-YEO
+318A ; [.31E9.0020.0004.318A] # HANGUL LETTER YU-YEO
+1192 ; [.31EA.0020.0002.1192] # HANGUL JUNGSEONG YU-YE
+318B ; [.31EA.0020.0004.318B] # HANGUL LETTER YU-YE
+1193 ; [.31EB.0020.0002.1193] # HANGUL JUNGSEONG YU-U
+1194 ; [.31EC.0020.0002.1194] # HANGUL JUNGSEONG YU-I
+318C ; [.31EC.0020.0004.318C] # HANGUL LETTER YU-I
+1195 ; [.31ED.0020.0002.1195] # HANGUL JUNGSEONG EU-U
+1196 ; [.31EE.0020.0002.1196] # HANGUL JUNGSEONG EU-EU
+1197 ; [.31EF.0020.0002.1197] # HANGUL JUNGSEONG YI-U
+1198 ; [.31F0.0020.0002.1198] # HANGUL JUNGSEONG I-A
+1199 ; [.31F1.0020.0002.1199] # HANGUL JUNGSEONG I-YA
+119A ; [.31F2.0020.0002.119A] # HANGUL JUNGSEONG I-O
+119B ; [.31F3.0020.0002.119B] # HANGUL JUNGSEONG I-U
+119C ; [.31F4.0020.0002.119C] # HANGUL JUNGSEONG I-EU
+119D ; [.31F5.0020.0002.119D] # HANGUL JUNGSEONG I-ARAEA
+119E ; [.31F6.0020.0002.119E] # HANGUL JUNGSEONG ARAEA
+318D ; [.31F6.0020.0004.318D] # HANGUL LETTER ARAEA
+119F ; [.31F7.0020.0002.119F] # HANGUL JUNGSEONG ARAEA-EO
+11A0 ; [.31F8.0020.0002.11A0] # HANGUL JUNGSEONG ARAEA-U
+11A1 ; [.31F9.0020.0002.11A1] # HANGUL JUNGSEONG ARAEA-I
+318E ; [.31F9.0020.0004.318E] # HANGUL LETTER ARAEAE
+11A2 ; [.31FA.0020.0002.11A2] # HANGUL JUNGSEONG SSANGARAEA
+11A3 ; [.31FB.0020.0002.11A3] # HANGUL JUNGSEONG A-EU
+11A4 ; [.31FC.0020.0002.11A4] # HANGUL JUNGSEONG YA-U
+11A5 ; [.31FD.0020.0002.11A5] # HANGUL JUNGSEONG YEO-YA
+11A6 ; [.31FE.0020.0002.11A6] # HANGUL JUNGSEONG O-YA
+11A7 ; [.31FF.0020.0002.11A7] # HANGUL JUNGSEONG O-YAE
+D7B0 ; [.3200.0020.0002.D7B0] # HANGUL JUNGSEONG O-YEO
+D7B1 ; [.3201.0020.0002.D7B1] # HANGUL JUNGSEONG O-O-I
+D7B2 ; [.3202.0020.0002.D7B2] # HANGUL JUNGSEONG YO-A
+D7B3 ; [.3203.0020.0002.D7B3] # HANGUL JUNGSEONG YO-AE
+D7B4 ; [.3204.0020.0002.D7B4] # HANGUL JUNGSEONG YO-EO
+D7B5 ; [.3205.0020.0002.D7B5] # HANGUL JUNGSEONG U-YEO
+D7B6 ; [.3206.0020.0002.D7B6] # HANGUL JUNGSEONG U-I-I
+D7B7 ; [.3207.0020.0002.D7B7] # HANGUL JUNGSEONG YU-AE
+D7B8 ; [.3208.0020.0002.D7B8] # HANGUL JUNGSEONG YU-O
+D7B9 ; [.3209.0020.0002.D7B9] # HANGUL JUNGSEONG EU-A
+D7BA ; [.320A.0020.0002.D7BA] # HANGUL JUNGSEONG EU-EO
+D7BB ; [.320B.0020.0002.D7BB] # HANGUL JUNGSEONG EU-E
+D7BC ; [.320C.0020.0002.D7BC] # HANGUL JUNGSEONG EU-O
+D7BD ; [.320D.0020.0002.D7BD] # HANGUL JUNGSEONG I-YA-O
+D7BE ; [.320E.0020.0002.D7BE] # HANGUL JUNGSEONG I-YAE
+D7BF ; [.320F.0020.0002.D7BF] # HANGUL JUNGSEONG I-YEO
+D7C0 ; [.3210.0020.0002.D7C0] # HANGUL JUNGSEONG I-YE
+D7C1 ; [.3211.0020.0002.D7C1] # HANGUL JUNGSEONG I-O-I
+D7C2 ; [.3212.0020.0002.D7C2] # HANGUL JUNGSEONG I-YO
+D7C3 ; [.3213.0020.0002.D7C3] # HANGUL JUNGSEONG I-YU
+D7C4 ; [.3214.0020.0002.D7C4] # HANGUL JUNGSEONG I-I
+D7C5 ; [.3215.0020.0002.D7C5] # HANGUL JUNGSEONG ARAEA-A
+D7C6 ; [.3216.0020.0002.D7C6] # HANGUL JUNGSEONG ARAEA-E
+11A8 ; [.3217.0020.0002.11A8] # HANGUL JONGSEONG KIYEOK
+11A9 ; [.3218.0020.0002.11A9] # HANGUL JONGSEONG SSANGKIYEOK
+11AA ; [.3219.0020.0002.11AA] # HANGUL JONGSEONG KIYEOK-SIOS
+3133 ; [.3219.0020.0004.3133] # HANGUL LETTER KIYEOK-SIOS
+FFA3 ; [.3219.0020.0012.FFA3] # HALFWIDTH HANGUL LETTER KIYEOK-SIOS
+11AB ; [.321A.0020.0002.11AB] # HANGUL JONGSEONG NIEUN
+11AC ; [.321B.0020.0002.11AC] # HANGUL JONGSEONG NIEUN-CIEUC
+3135 ; [.321B.0020.0004.3135] # HANGUL LETTER NIEUN-CIEUC
+FFA5 ; [.321B.0020.0012.FFA5] # HALFWIDTH HANGUL LETTER NIEUN-CIEUC
+11AD ; [.321C.0020.0002.11AD] # HANGUL JONGSEONG NIEUN-HIEUH
+3136 ; [.321C.0020.0004.3136] # HANGUL LETTER NIEUN-HIEUH
+FFA6 ; [.321C.0020.0012.FFA6] # HALFWIDTH HANGUL LETTER NIEUN-HIEUH
+11AE ; [.321D.0020.0002.11AE] # HANGUL JONGSEONG TIKEUT
+11AF ; [.321E.0020.0002.11AF] # HANGUL JONGSEONG RIEUL
+11B0 ; [.321F.0020.0002.11B0] # HANGUL JONGSEONG RIEUL-KIYEOK
+313A ; [.321F.0020.0004.313A] # HANGUL LETTER RIEUL-KIYEOK
+FFAA ; [.321F.0020.0012.FFAA] # HALFWIDTH HANGUL LETTER RIEUL-KIYEOK
+11B1 ; [.3220.0020.0002.11B1] # HANGUL JONGSEONG RIEUL-MIEUM
+313B ; [.3220.0020.0004.313B] # HANGUL LETTER RIEUL-MIEUM
+FFAB ; [.3220.0020.0012.FFAB] # HALFWIDTH HANGUL LETTER RIEUL-MIEUM
+11B2 ; [.3221.0020.0002.11B2] # HANGUL JONGSEONG RIEUL-PIEUP
+313C ; [.3221.0020.0004.313C] # HANGUL LETTER RIEUL-PIEUP
+FFAC ; [.3221.0020.0012.FFAC] # HALFWIDTH HANGUL LETTER RIEUL-PIEUP
+11B3 ; [.3222.0020.0002.11B3] # HANGUL JONGSEONG RIEUL-SIOS
+313D ; [.3222.0020.0004.313D] # HANGUL LETTER RIEUL-SIOS
+FFAD ; [.3222.0020.0012.FFAD] # HALFWIDTH HANGUL LETTER RIEUL-SIOS
+11B4 ; [.3223.0020.0002.11B4] # HANGUL JONGSEONG RIEUL-THIEUTH
+313E ; [.3223.0020.0004.313E] # HANGUL LETTER RIEUL-THIEUTH
+FFAE ; [.3223.0020.0012.FFAE] # HALFWIDTH HANGUL LETTER RIEUL-THIEUTH
+11B5 ; [.3224.0020.0002.11B5] # HANGUL JONGSEONG RIEUL-PHIEUPH
+313F ; [.3224.0020.0004.313F] # HANGUL LETTER RIEUL-PHIEUPH
+FFAF ; [.3224.0020.0012.FFAF] # HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH
+11B6 ; [.3225.0020.0002.11B6] # HANGUL JONGSEONG RIEUL-HIEUH
+11B7 ; [.3226.0020.0002.11B7] # HANGUL JONGSEONG MIEUM
+11B8 ; [.3227.0020.0002.11B8] # HANGUL JONGSEONG PIEUP
+11B9 ; [.3228.0020.0002.11B9] # HANGUL JONGSEONG PIEUP-SIOS
+11BA ; [.3229.0020.0002.11BA] # HANGUL JONGSEONG SIOS
+11BB ; [.322A.0020.0002.11BB] # HANGUL JONGSEONG SSANGSIOS
+11BC ; [.322B.0020.0002.11BC] # HANGUL JONGSEONG IEUNG
+11BD ; [.322C.0020.0002.11BD] # HANGUL JONGSEONG CIEUC
+11BE ; [.322D.0020.0002.11BE] # HANGUL JONGSEONG CHIEUCH
+11BF ; [.322E.0020.0002.11BF] # HANGUL JONGSEONG KHIEUKH
+11C0 ; [.322F.0020.0002.11C0] # HANGUL JONGSEONG THIEUTH
+11C1 ; [.3230.0020.0002.11C1] # HANGUL JONGSEONG PHIEUPH
+11C2 ; [.3231.0020.0002.11C2] # HANGUL JONGSEONG HIEUH
+11C3 ; [.3232.0020.0002.11C3] # HANGUL JONGSEONG KIYEOK-RIEUL
+11C4 ; [.3233.0020.0002.11C4] # HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK
+11C5 ; [.3234.0020.0002.11C5] # HANGUL JONGSEONG NIEUN-KIYEOK
+11C6 ; [.3235.0020.0002.11C6] # HANGUL JONGSEONG NIEUN-TIKEUT
+11C7 ; [.3236.0020.0002.11C7] # HANGUL JONGSEONG NIEUN-SIOS
+3167 ; [.3236.0020.0004.3167] # HANGUL LETTER NIEUN-SIOS
+11C8 ; [.3237.0020.0002.11C8] # HANGUL JONGSEONG NIEUN-PANSIOS
+3168 ; [.3237.0020.0004.3168] # HANGUL LETTER NIEUN-PANSIOS
+11C9 ; [.3238.0020.0002.11C9] # HANGUL JONGSEONG NIEUN-THIEUTH
+11CA ; [.3239.0020.0002.11CA] # HANGUL JONGSEONG TIKEUT-KIYEOK
+11CB ; [.323A.0020.0002.11CB] # HANGUL JONGSEONG TIKEUT-RIEUL
+11CC ; [.323B.0020.0002.11CC] # HANGUL JONGSEONG RIEUL-KIYEOK-SIOS
+3169 ; [.323B.0020.0004.3169] # HANGUL LETTER RIEUL-KIYEOK-SIOS
+11CD ; [.323C.0020.0002.11CD] # HANGUL JONGSEONG RIEUL-NIEUN
+11CE ; [.323D.0020.0002.11CE] # HANGUL JONGSEONG RIEUL-TIKEUT
+316A ; [.323D.0020.0004.316A] # HANGUL LETTER RIEUL-TIKEUT
+11CF ; [.323E.0020.0002.11CF] # HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH
+11D0 ; [.323F.0020.0002.11D0] # HANGUL JONGSEONG SSANGRIEUL
+11D1 ; [.3240.0020.0002.11D1] # HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK
+11D2 ; [.3241.0020.0002.11D2] # HANGUL JONGSEONG RIEUL-MIEUM-SIOS
+11D3 ; [.3242.0020.0002.11D3] # HANGUL JONGSEONG RIEUL-PIEUP-SIOS
+316B ; [.3242.0020.0004.316B] # HANGUL LETTER RIEUL-PIEUP-SIOS
+11D4 ; [.3243.0020.0002.11D4] # HANGUL JONGSEONG RIEUL-PIEUP-HIEUH
+11D5 ; [.3244.0020.0002.11D5] # HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP
+11D6 ; [.3245.0020.0002.11D6] # HANGUL JONGSEONG RIEUL-SSANGSIOS
+11D7 ; [.3246.0020.0002.11D7] # HANGUL JONGSEONG RIEUL-PANSIOS
+316C ; [.3246.0020.0004.316C] # HANGUL LETTER RIEUL-PANSIOS
+11D8 ; [.3247.0020.0002.11D8] # HANGUL JONGSEONG RIEUL-KHIEUKH
+11D9 ; [.3248.0020.0002.11D9] # HANGUL JONGSEONG RIEUL-YEORINHIEUH
+316D ; [.3248.0020.0004.316D] # HANGUL LETTER RIEUL-YEORINHIEUH
+11DA ; [.3249.0020.0002.11DA] # HANGUL JONGSEONG MIEUM-KIYEOK
+11DB ; [.324A.0020.0002.11DB] # HANGUL JONGSEONG MIEUM-RIEUL
+11DC ; [.324B.0020.0002.11DC] # HANGUL JONGSEONG MIEUM-PIEUP
+11DD ; [.324C.0020.0002.11DD] # HANGUL JONGSEONG MIEUM-SIOS
+316F ; [.324C.0020.0004.316F] # HANGUL LETTER MIEUM-SIOS
+11DE ; [.324D.0020.0002.11DE] # HANGUL JONGSEONG MIEUM-SSANGSIOS
+11DF ; [.324E.0020.0002.11DF] # HANGUL JONGSEONG MIEUM-PANSIOS
+3170 ; [.324E.0020.0004.3170] # HANGUL LETTER MIEUM-PANSIOS
+11E0 ; [.324F.0020.0002.11E0] # HANGUL JONGSEONG MIEUM-CHIEUCH
+11E1 ; [.3250.0020.0002.11E1] # HANGUL JONGSEONG MIEUM-HIEUH
+11E2 ; [.3251.0020.0002.11E2] # HANGUL JONGSEONG KAPYEOUNMIEUM
+11E3 ; [.3252.0020.0002.11E3] # HANGUL JONGSEONG PIEUP-RIEUL
+11E4 ; [.3253.0020.0002.11E4] # HANGUL JONGSEONG PIEUP-PHIEUPH
+11E5 ; [.3254.0020.0002.11E5] # HANGUL JONGSEONG PIEUP-HIEUH
+11E6 ; [.3255.0020.0002.11E6] # HANGUL JONGSEONG KAPYEOUNPIEUP
+11E7 ; [.3256.0020.0002.11E7] # HANGUL JONGSEONG SIOS-KIYEOK
+11E8 ; [.3257.0020.0002.11E8] # HANGUL JONGSEONG SIOS-TIKEUT
+11E9 ; [.3258.0020.0002.11E9] # HANGUL JONGSEONG SIOS-RIEUL
+11EA ; [.3259.0020.0002.11EA] # HANGUL JONGSEONG SIOS-PIEUP
+11EB ; [.325A.0020.0002.11EB] # HANGUL JONGSEONG PANSIOS
+11EC ; [.325B.0020.0002.11EC] # HANGUL JONGSEONG IEUNG-KIYEOK
+11ED ; [.325C.0020.0002.11ED] # HANGUL JONGSEONG IEUNG-SSANGKIYEOK
+11EE ; [.325D.0020.0002.11EE] # HANGUL JONGSEONG SSANGIEUNG
+11EF ; [.325E.0020.0002.11EF] # HANGUL JONGSEONG IEUNG-KHIEUKH
+11F0 ; [.325F.0020.0002.11F0] # HANGUL JONGSEONG YESIEUNG
+11F1 ; [.3260.0020.0002.11F1] # HANGUL JONGSEONG YESIEUNG-SIOS
+3182 ; [.3260.0020.0004.3182] # HANGUL LETTER YESIEUNG-SIOS
+11F2 ; [.3261.0020.0002.11F2] # HANGUL JONGSEONG YESIEUNG-PANSIOS
+3183 ; [.3261.0020.0004.3183] # HANGUL LETTER YESIEUNG-PANSIOS
+11F3 ; [.3262.0020.0002.11F3] # HANGUL JONGSEONG PHIEUPH-PIEUP
+11F4 ; [.3263.0020.0002.11F4] # HANGUL JONGSEONG KAPYEOUNPHIEUPH
+11F5 ; [.3264.0020.0002.11F5] # HANGUL JONGSEONG HIEUH-NIEUN
+11F6 ; [.3265.0020.0002.11F6] # HANGUL JONGSEONG HIEUH-RIEUL
+11F7 ; [.3266.0020.0002.11F7] # HANGUL JONGSEONG HIEUH-MIEUM
+11F8 ; [.3267.0020.0002.11F8] # HANGUL JONGSEONG HIEUH-PIEUP
+11F9 ; [.3268.0020.0002.11F9] # HANGUL JONGSEONG YEORINHIEUH
+11FA ; [.3269.0020.0002.11FA] # HANGUL JONGSEONG KIYEOK-NIEUN
+11FB ; [.326A.0020.0002.11FB] # HANGUL JONGSEONG KIYEOK-PIEUP
+11FC ; [.326B.0020.0002.11FC] # HANGUL JONGSEONG KIYEOK-CHIEUCH
+11FD ; [.326C.0020.0002.11FD] # HANGUL JONGSEONG KIYEOK-KHIEUKH
+11FE ; [.326D.0020.0002.11FE] # HANGUL JONGSEONG KIYEOK-HIEUH
+11FF ; [.326E.0020.0002.11FF] # HANGUL JONGSEONG SSANGNIEUN
+D7CB ; [.326F.0020.0002.D7CB] # HANGUL JONGSEONG NIEUN-RIEUL
+D7CC ; [.3270.0020.0002.D7CC] # HANGUL JONGSEONG NIEUN-CHIEUCH
+D7CD ; [.3271.0020.0002.D7CD] # HANGUL JONGSEONG SSANGTIKEUT
+D7CE ; [.3272.0020.0002.D7CE] # HANGUL JONGSEONG SSANGTIKEUT-PIEUP
+D7CF ; [.3273.0020.0002.D7CF] # HANGUL JONGSEONG TIKEUT-PIEUP
+D7D0 ; [.3274.0020.0002.D7D0] # HANGUL JONGSEONG TIKEUT-SIOS
+D7D1 ; [.3275.0020.0002.D7D1] # HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK
+D7D2 ; [.3276.0020.0002.D7D2] # HANGUL JONGSEONG TIKEUT-CIEUC
+D7D3 ; [.3277.0020.0002.D7D3] # HANGUL JONGSEONG TIKEUT-CHIEUCH
+D7D4 ; [.3278.0020.0002.D7D4] # HANGUL JONGSEONG TIKEUT-THIEUTH
+D7D5 ; [.3279.0020.0002.D7D5] # HANGUL JONGSEONG RIEUL-SSANGKIYEOK
+D7D6 ; [.327A.0020.0002.D7D6] # HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH
+D7D7 ; [.327B.0020.0002.D7D7] # HANGUL JONGSEONG SSANGRIEUL-KHIEUKH
+D7D8 ; [.327C.0020.0002.D7D8] # HANGUL JONGSEONG RIEUL-MIEUM-HIEUH
+D7D9 ; [.327D.0020.0002.D7D9] # HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT
+D7DA ; [.327E.0020.0002.D7DA] # HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH
+D7DB ; [.327F.0020.0002.D7DB] # HANGUL JONGSEONG RIEUL-YESIEUNG
+D7DC ; [.3280.0020.0002.D7DC] # HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH
+D7DD ; [.3281.0020.0002.D7DD] # HANGUL JONGSEONG KAPYEOUNRIEUL
+D7DE ; [.3282.0020.0002.D7DE] # HANGUL JONGSEONG MIEUM-NIEUN
+D7DF ; [.3283.0020.0002.D7DF] # HANGUL JONGSEONG MIEUM-SSANGNIEUN
+D7E0 ; [.3284.0020.0002.D7E0] # HANGUL JONGSEONG SSANGMIEUM
+D7E1 ; [.3285.0020.0002.D7E1] # HANGUL JONGSEONG MIEUM-PIEUP-SIOS
+D7E2 ; [.3286.0020.0002.D7E2] # HANGUL JONGSEONG MIEUM-CIEUC
+D7E3 ; [.3287.0020.0002.D7E3] # HANGUL JONGSEONG PIEUP-TIKEUT
+D7E4 ; [.3288.0020.0002.D7E4] # HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH
+D7E5 ; [.3289.0020.0002.D7E5] # HANGUL JONGSEONG PIEUP-MIEUM
+D7E6 ; [.328A.0020.0002.D7E6] # HANGUL JONGSEONG SSANGPIEUP
+D7E7 ; [.328B.0020.0002.D7E7] # HANGUL JONGSEONG PIEUP-SIOS-TIKEUT
+D7E8 ; [.328C.0020.0002.D7E8] # HANGUL JONGSEONG PIEUP-CIEUC
+D7E9 ; [.328D.0020.0002.D7E9] # HANGUL JONGSEONG PIEUP-CHIEUCH
+D7EA ; [.328E.0020.0002.D7EA] # HANGUL JONGSEONG SIOS-MIEUM
+D7EB ; [.328F.0020.0002.D7EB] # HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP
+D7EC ; [.3290.0020.0002.D7EC] # HANGUL JONGSEONG SSANGSIOS-KIYEOK
+D7ED ; [.3291.0020.0002.D7ED] # HANGUL JONGSEONG SSANGSIOS-TIKEUT
+D7EE ; [.3292.0020.0002.D7EE] # HANGUL JONGSEONG SIOS-PANSIOS
+D7EF ; [.3293.0020.0002.D7EF] # HANGUL JONGSEONG SIOS-CIEUC
+D7F0 ; [.3294.0020.0002.D7F0] # HANGUL JONGSEONG SIOS-CHIEUCH
+D7F1 ; [.3295.0020.0002.D7F1] # HANGUL JONGSEONG SIOS-THIEUTH
+D7F2 ; [.3296.0020.0002.D7F2] # HANGUL JONGSEONG SIOS-HIEUH
+D7F3 ; [.3297.0020.0002.D7F3] # HANGUL JONGSEONG PANSIOS-PIEUP
+D7F4 ; [.3298.0020.0002.D7F4] # HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP
+D7F5 ; [.3299.0020.0002.D7F5] # HANGUL JONGSEONG YESIEUNG-MIEUM
+D7F6 ; [.329A.0020.0002.D7F6] # HANGUL JONGSEONG YESIEUNG-HIEUH
+D7F7 ; [.329B.0020.0002.D7F7] # HANGUL JONGSEONG CIEUC-PIEUP
+D7F8 ; [.329C.0020.0002.D7F8] # HANGUL JONGSEONG CIEUC-SSANGPIEUP
+D7F9 ; [.329D.0020.0002.D7F9] # HANGUL JONGSEONG SSANGCIEUC
+D7FA ; [.329E.0020.0002.D7FA] # HANGUL JONGSEONG PHIEUPH-SIOS
+D7FB ; [.329F.0020.0002.D7FB] # HANGUL JONGSEONG PHIEUPH-THIEUTH
+3041 ; [.32A0.0020.000D.3041] # HIRAGANA LETTER SMALL A
+3042 ; [.32A0.0020.000E.3042] # HIRAGANA LETTER A
+30A1 ; [.32A0.0020.000F.30A1] # KATAKANA LETTER SMALL A
+FF67 ; [.32A0.0020.0010.FF67] # HALFWIDTH KATAKANA LETTER SMALL A
+30A2 ; [.32A0.0020.0011.30A2] # KATAKANA LETTER A
+FF71 ; [.32A0.0020.0012.FF71] # HALFWIDTH KATAKANA LETTER A
+32D0 ; [.32A0.0020.0013.32D0] # CIRCLED KATAKANA A
+3303 ; [.32A0.0020.001C.3303][.15A0.0020.001C.3303][.32CA.0020.001F.3303] # SQUARE AARU
+3300 ; [.32A0.0020.001C.3300][.32BA.0020.001C.3300][.0000.0129.001F.3300][.15A0.0020.001F.3300][.32B4.0020.001F.3300] # SQUARE APAATO
+3301 ; [.32A0.0020.001C.3301][.32CA.0020.001C.3301][.32BC.0020.001F.3301][.32A0.0020.001F.3301] # SQUARE ARUHUA
+3302 ; [.32A0.0020.001C.3302][.32D1.0020.001C.3302][.32BD.0020.001F.3302][.0000.0129.001F.3302][.32A0.0020.001F.3302] # SQUARE ANPEA
+3043 ; [.32A1.0020.000D.3043] # HIRAGANA LETTER SMALL I
+3044 ; [.32A1.0020.000E.3044] # HIRAGANA LETTER I
+30A3 ; [.32A1.0020.000F.30A3] # KATAKANA LETTER SMALL I
+FF68 ; [.32A1.0020.0010.FF68] # HALFWIDTH KATAKANA LETTER SMALL I
+30A4 ; [.32A1.0020.0011.30A4] # KATAKANA LETTER I
+FF72 ; [.32A1.0020.0012.FF72] # HALFWIDTH KATAKANA LETTER I
+32D1 ; [.32A1.0020.0013.32D1] # CIRCLED KATAKANA I
+3304 ; [.32A1.0020.001C.3304][.32B6.0020.001C.3304][.32D1.0020.001F.3304][.32A8.0020.001F.3304][.0000.0128.001F.3304] # SQUARE ININGU
+3305 ; [.32A1.0020.001C.3305][.32D1.0020.001C.3305][.32B1.0020.001F.3305] # SQUARE INTI
+3045 ; [.32A2.0020.000D.3045] # HIRAGANA LETTER SMALL U
+3046 ; [.32A2.0020.000E.3046] # HIRAGANA LETTER U
+30A5 ; [.32A2.0020.000F.30A5] # KATAKANA LETTER SMALL U
+FF69 ; [.32A2.0020.0010.FF69] # HALFWIDTH KATAKANA LETTER SMALL U
+30A6 ; [.32A2.0020.0011.30A6] # KATAKANA LETTER U
+FF73 ; [.32A2.0020.0012.FF73] # HALFWIDTH KATAKANA LETTER U
+32D2 ; [.32A2.0020.0013.32D2] # CIRCLED KATAKANA U
+3094 ; [.32A2.0020.000E.3046][.0000.0128.0002.3099] # HIRAGANA LETTER VU
+30F4 ; [.32A2.0020.0011.30A6][.0000.0128.0002.3099] # KATAKANA LETTER VU
+3306 ; [.32A2.0020.001C.3306][.32A5.0020.001C.3306][.32D1.0020.001F.3306] # SQUARE UON
+1B000 ; [.32A3.0020.0002.1B000] # KATAKANA LETTER ARCHAIC E
+3047 ; [.32A4.0020.000D.3047] # HIRAGANA LETTER SMALL E
+3048 ; [.32A4.0020.000E.3048] # HIRAGANA LETTER E
+30A7 ; [.32A4.0020.000F.30A7] # KATAKANA LETTER SMALL E
+FF6A ; [.32A4.0020.0010.FF6A] # HALFWIDTH KATAKANA LETTER SMALL E
+30A8 ; [.32A4.0020.0011.30A8] # KATAKANA LETTER E
+FF74 ; [.32A4.0020.0012.FF74] # HALFWIDTH KATAKANA LETTER E
+32D3 ; [.32A4.0020.0013.32D3] # CIRCLED KATAKANA E
+3308 ; [.32A4.0020.001C.3308][.15A0.0020.001C.3308][.32A6.0020.001F.3308][.15A0.0020.001F.3308] # SQUARE EEKAA
+3307 ; [.32A4.0020.001C.3307][.32AD.0020.001C.3307][.32A8.0020.001F.3307][.15A0.0020.001F.3307][.32B4.0020.001F.3307][.0000.0128.001F.3307] # SQUARE ESUKUUDO
+3049 ; [.32A5.0020.000D.3049] # HIRAGANA LETTER SMALL O
+304A ; [.32A5.0020.000E.304A] # HIRAGANA LETTER O
+30A9 ; [.32A5.0020.000F.30A9] # KATAKANA LETTER SMALL O
+FF6B ; [.32A5.0020.0010.FF6B] # HALFWIDTH KATAKANA LETTER SMALL O
+30AA ; [.32A5.0020.0011.30AA] # KATAKANA LETTER O
+FF75 ; [.32A5.0020.0012.FF75] # HALFWIDTH KATAKANA LETTER O
+32D4 ; [.32A5.0020.0013.32D4] # CIRCLED KATAKANA O
+330A ; [.32A5.0020.001C.330A][.15A0.0020.001C.330A][.32C1.0020.001F.330A] # SQUARE OOMU
+3309 ; [.32A5.0020.001C.3309][.32D1.0020.001C.3309][.32AD.0020.001F.3309] # SQUARE ONSU
+3095 ; [.32A6.0020.000D.3095] # HIRAGANA LETTER SMALL KA
+304B ; [.32A6.0020.000E.304B] # HIRAGANA LETTER KA
+30F5 ; [.32A6.0020.000F.30F5] # KATAKANA LETTER SMALL KA
+30AB ; [.32A6.0020.0011.30AB] # KATAKANA LETTER KA
+FF76 ; [.32A6.0020.0012.FF76] # HALFWIDTH KATAKANA LETTER KA
+32D5 ; [.32A6.0020.0013.32D5] # CIRCLED KATAKANA KA
+304C ; [.32A6.0020.000E.304B][.0000.0128.0002.3099] # HIRAGANA LETTER GA
+30AC ; [.32A6.0020.0011.30AB][.0000.0128.0002.3099] # KATAKANA LETTER GA
+330B ; [.32A6.0020.001C.330B][.32A1.0020.001C.330B][.32C9.0020.001F.330B] # SQUARE KAIRI
+330C ; [.32A6.0020.001C.330C][.32C8.0020.001C.330C][.32B2.0020.001F.330C][.32B4.0020.001F.330C] # SQUARE KARATTO
+330D ; [.32A6.0020.001C.330D][.32CC.0020.001C.330D][.32C9.0020.001F.330D][.15A0.0020.001F.330D] # SQUARE KARORII
+330E ; [.32A6.0020.001C.330E][.0000.0128.001C.330E][.32CC.0020.001F.330E][.32D1.0020.001F.330E] # SQUARE GARON
+330F ; [.32A6.0020.001C.330F][.0000.0128.001C.330F][.32D1.0020.001F.330F][.32BF.0020.001F.330F] # SQUARE GANMA
+304D ; [.32A7.0020.000E.304D] # HIRAGANA LETTER KI
+30AD ; [.32A7.0020.0011.30AD] # KATAKANA LETTER KI
+FF77 ; [.32A7.0020.0012.FF77] # HALFWIDTH KATAKANA LETTER KI
+32D6 ; [.32A7.0020.0013.32D6] # CIRCLED KATAKANA KI
+304E ; [.32A7.0020.000E.304D][.0000.0128.0002.3099] # HIRAGANA LETTER GI
+30AE ; [.32A7.0020.0011.30AD][.0000.0128.0002.3099] # KATAKANA LETTER GI
+3310 ; [.32A7.0020.001C.3310][.0000.0128.001C.3310][.32A6.0020.001F.3310][.0000.0128.001F.3310] # SQUARE GIGA
+3311 ; [.32A7.0020.001C.3311][.0000.0128.001C.3311][.32B6.0020.001F.3311][.15A0.0020.001F.3311] # SQUARE GINII
+3312 ; [.32A7.0020.001C.3312][.32C5.0020.001C.3312][.32C9.0020.001F.3312][.15A0.0020.001F.3312] # SQUARE KYURII
+3313 ; [.32A7.0020.001C.3313][.0000.0128.001C.3313][.32CA.0020.001F.3313][.32B0.0020.001F.3313][.0000.0128.001F.3313][.15A0.0020.001F.3313] # SQUARE GIRUDAA
+3314 ; [.32A7.0020.001C.3314][.32CC.0020.001C.3314] # SQUARE KIRO
+3315 ; [.32A7.0020.001C.3315][.32CC.0020.001C.3315][.32A8.0020.001F.3315][.0000.0128.001F.3315][.32C8.0020.001F.3315][.32C1.0020.001F.3315] # SQUARE KIROGURAMU
+3316 ; [.32A7.0020.001C.3316][.32CC.0020.001C.3316][.32C2.0020.001F.3316][.15A0.0020.001F.3316][.32B4.0020.001F.3316][.32CA.0020.001F.3316] # SQUARE KIROMEETORU
+3317 ; [.32A7.0020.001C.3317][.32CC.0020.001C.3317][.32CD.0020.001F.3317][.32B2.0020.001F.3317][.32B4.0020.001F.3317] # SQUARE KIROWATTO
+304F ; [.32A8.0020.000E.304F] # HIRAGANA LETTER KU
+31F0 ; [.32A8.0020.000F.31F0] # KATAKANA LETTER SMALL KU
+30AF ; [.32A8.0020.0011.30AF] # KATAKANA LETTER KU
+FF78 ; [.32A8.0020.0012.FF78] # HALFWIDTH KATAKANA LETTER KU
+32D7 ; [.32A8.0020.0013.32D7] # CIRCLED KATAKANA KU
+3050 ; [.32A8.0020.000E.304F][.0000.0128.0002.3099] # HIRAGANA LETTER GU
+30B0 ; [.32A8.0020.0011.30AF][.0000.0128.0002.3099] # KATAKANA LETTER GU
+3318 ; [.32A8.0020.001C.3318][.0000.0128.001C.3318][.32C8.0020.001F.3318][.32C1.0020.001F.3318] # SQUARE GURAMU
+3319 ; [.32A8.0020.001C.3319][.0000.0128.001C.3319][.32C8.0020.001F.3319][.32C1.0020.001F.3319][.32B4.0020.001F.3319][.32D1.0020.001F.3319] # SQUARE GURAMUTON
+331A ; [.32A8.0020.001C.331A][.32CA.0020.001C.331A][.32AE.0020.001F.331A][.0000.0128.001F.331A][.32A1.0020.001F.331A][.32CC.0020.001F.331A] # SQUARE KURUZEIRO
+331B ; [.32A8.0020.001C.331B][.32CC.0020.001C.331B][.15A0.0020.001F.331B][.32B8.0020.001F.331B] # SQUARE KUROONE
+3096 ; [.32A9.0020.000D.3096] # HIRAGANA LETTER SMALL KE
+3051 ; [.32A9.0020.000E.3051] # HIRAGANA LETTER KE
+30F6 ; [.32A9.0020.000F.30F6] # KATAKANA LETTER SMALL KE
+30B1 ; [.32A9.0020.0011.30B1] # KATAKANA LETTER KE
+FF79 ; [.32A9.0020.0012.FF79] # HALFWIDTH KATAKANA LETTER KE
+32D8 ; [.32A9.0020.0013.32D8] # CIRCLED KATAKANA KE
+3052 ; [.32A9.0020.000E.3051][.0000.0128.0002.3099] # HIRAGANA LETTER GE
+30B2 ; [.32A9.0020.0011.30B1][.0000.0128.0002.3099] # KATAKANA LETTER GE
+331C ; [.32A9.0020.001C.331C][.15A0.0020.001C.331C][.32AD.0020.001F.331C] # SQUARE KEESU
+3053 ; [.32AA.0020.000E.3053] # HIRAGANA LETTER KO
+30B3 ; [.32AA.0020.0011.30B3] # KATAKANA LETTER KO
+FF7A ; [.32AA.0020.0012.FF7A] # HALFWIDTH KATAKANA LETTER KO
+32D9 ; [.32AA.0020.0013.32D9] # CIRCLED KATAKANA KO
+3054 ; [.32AA.0020.000E.3053][.0000.0128.0002.3099] # HIRAGANA LETTER GO
+30B4 ; [.32AA.0020.0011.30B3][.0000.0128.0002.3099] # KATAKANA LETTER GO
+331E ; [.32AA.0020.001C.331E][.15A0.0020.001C.331E][.32BE.0020.001F.331E][.0000.0129.001F.331E] # SQUARE KOOPO
+1F201 ; [.32AA.0020.001C.1F201][.32AA.0020.001C.1F201] # SQUARED KATAKANA KOKO
+30FF ; [.32AA.0020.0016.30FF][.32B4.0020.0016.30FF] # KATAKANA DIGRAPH KOTO
+331D ; [.32AA.0020.001C.331D][.32CA.0020.001C.331D][.32B5.0020.001F.331D] # SQUARE KORUNA
+3055 ; [.32AB.0020.000E.3055] # HIRAGANA LETTER SA
+30B5 ; [.32AB.0020.0011.30B5] # KATAKANA LETTER SA
+FF7B ; [.32AB.0020.0012.FF7B] # HALFWIDTH KATAKANA LETTER SA
+32DA ; [.32AB.0020.0013.32DA] # CIRCLED KATAKANA SA
+1F202 ; [.32AB.0020.001C.1F202] # SQUARED KATAKANA SA
+3056 ; [.32AB.0020.000E.3055][.0000.0128.0002.3099] # HIRAGANA LETTER ZA
+30B6 ; [.32AB.0020.0011.30B5][.0000.0128.0002.3099] # KATAKANA LETTER ZA
+331F ; [.32AB.0020.001C.331F][.32A1.0020.001C.331F][.32A8.0020.001F.331F][.32CA.0020.001F.331F] # SQUARE SAIKURU
+3320 ; [.32AB.0020.001C.3320][.32D1.0020.001C.3320][.32B1.0020.001F.3320][.15A0.0020.001F.3320][.32C1.0020.001F.3320] # SQUARE SANTIIMU
+3057 ; [.32AC.0020.000E.3057] # HIRAGANA LETTER SI
+31F1 ; [.32AC.0020.000F.31F1] # KATAKANA LETTER SMALL SI
+30B7 ; [.32AC.0020.0011.30B7] # KATAKANA LETTER SI
+FF7C ; [.32AC.0020.0012.FF7C] # HALFWIDTH KATAKANA LETTER SI
+32DB ; [.32AC.0020.0013.32DB] # CIRCLED KATAKANA SI
+3058 ; [.32AC.0020.000E.3057][.0000.0128.0002.3099] # HIRAGANA LETTER ZI
+30B8 ; [.32AC.0020.0011.30B7][.0000.0128.0002.3099] # KATAKANA LETTER ZI
+3006 ; [.32AC.0020.0004.3006][.32C2.0020.0004.3006] # IDEOGRAPHIC CLOSING MARK
+3321 ; [.32AC.0020.001C.3321][.32C9.0020.001C.3321][.32D1.0020.001F.3321][.32A8.0020.001F.3321][.0000.0128.001F.3321] # SQUARE SIRINGU
+3059 ; [.32AD.0020.000E.3059] # HIRAGANA LETTER SU
+31F2 ; [.32AD.0020.000F.31F2] # KATAKANA LETTER SMALL SU
+30B9 ; [.32AD.0020.0011.30B9] # KATAKANA LETTER SU
+FF7D ; [.32AD.0020.0012.FF7D] # HALFWIDTH KATAKANA LETTER SU
+32DC ; [.32AD.0020.0013.32DC] # CIRCLED KATAKANA SU
+305A ; [.32AD.0020.000E.3059][.0000.0128.0002.3099] # HIRAGANA LETTER ZU
+30BA ; [.32AD.0020.0011.30B9][.0000.0128.0002.3099] # KATAKANA LETTER ZU
+305B ; [.32AE.0020.000E.305B] # HIRAGANA LETTER SE
+30BB ; [.32AE.0020.0011.30BB] # KATAKANA LETTER SE
+FF7E ; [.32AE.0020.0012.FF7E] # HALFWIDTH KATAKANA LETTER SE
+32DD ; [.32AE.0020.0013.32DD] # CIRCLED KATAKANA SE
+305C ; [.32AE.0020.000E.305B][.0000.0128.0002.3099] # HIRAGANA LETTER ZE
+30BC ; [.32AE.0020.0011.30BB][.0000.0128.0002.3099] # KATAKANA LETTER ZE
+3322 ; [.32AE.0020.001C.3322][.32D1.0020.001C.3322][.32B1.0020.001F.3322] # SQUARE SENTI
+3323 ; [.32AE.0020.001C.3323][.32D1.0020.001C.3323][.32B4.0020.001F.3323] # SQUARE SENTO
+305D ; [.32AF.0020.000E.305D] # HIRAGANA LETTER SO
+30BD ; [.32AF.0020.0011.30BD] # KATAKANA LETTER SO
+FF7F ; [.32AF.0020.0012.FF7F] # HALFWIDTH KATAKANA LETTER SO
+32DE ; [.32AF.0020.0013.32DE] # CIRCLED KATAKANA SO
+305E ; [.32AF.0020.000E.305D][.0000.0128.0002.3099] # HIRAGANA LETTER ZO
+30BE ; [.32AF.0020.0011.30BD][.0000.0128.0002.3099] # KATAKANA LETTER ZO
+305F ; [.32B0.0020.000E.305F] # HIRAGANA LETTER TA
+30BF ; [.32B0.0020.0011.30BF] # KATAKANA LETTER TA
+FF80 ; [.32B0.0020.0012.FF80] # HALFWIDTH KATAKANA LETTER TA
+32DF ; [.32B0.0020.0013.32DF] # CIRCLED KATAKANA TA
+3060 ; [.32B0.0020.000E.305F][.0000.0128.0002.3099] # HIRAGANA LETTER DA
+30C0 ; [.32B0.0020.0011.30BF][.0000.0128.0002.3099] # KATAKANA LETTER DA
+3324 ; [.32B0.0020.001C.3324][.0000.0128.001C.3324][.15A0.0020.001F.3324][.32AD.0020.001F.3324] # SQUARE DAASU
+3061 ; [.32B1.0020.000E.3061] # HIRAGANA LETTER TI
+30C1 ; [.32B1.0020.0011.30C1] # KATAKANA LETTER TI
+FF81 ; [.32B1.0020.0012.FF81] # HALFWIDTH KATAKANA LETTER TI
+32E0 ; [.32B1.0020.0013.32E0] # CIRCLED KATAKANA TI
+3062 ; [.32B1.0020.000E.3061][.0000.0128.0002.3099] # HIRAGANA LETTER DI
+30C2 ; [.32B1.0020.0011.30C1][.0000.0128.0002.3099] # KATAKANA LETTER DI
+3063 ; [.32B2.0020.000D.3063] # HIRAGANA LETTER SMALL TU
+3064 ; [.32B2.0020.000E.3064] # HIRAGANA LETTER TU
+30C3 ; [.32B2.0020.000F.30C3] # KATAKANA LETTER SMALL TU
+FF6F ; [.32B2.0020.0010.FF6F] # HALFWIDTH KATAKANA LETTER SMALL TU
+30C4 ; [.32B2.0020.0011.30C4] # KATAKANA LETTER TU
+FF82 ; [.32B2.0020.0012.FF82] # HALFWIDTH KATAKANA LETTER TU
+32E1 ; [.32B2.0020.0013.32E1] # CIRCLED KATAKANA TU
+3065 ; [.32B2.0020.000E.3064][.0000.0128.0002.3099] # HIRAGANA LETTER DU
+30C5 ; [.32B2.0020.0011.30C4][.0000.0128.0002.3099] # KATAKANA LETTER DU
+3066 ; [.32B3.0020.000E.3066] # HIRAGANA LETTER TE
+30C6 ; [.32B3.0020.0011.30C6] # KATAKANA LETTER TE
+FF83 ; [.32B3.0020.0012.FF83] # HALFWIDTH KATAKANA LETTER TE
+32E2 ; [.32B3.0020.0013.32E2] # CIRCLED KATAKANA TE
+3067 ; [.32B3.0020.000E.3066][.0000.0128.0002.3099] # HIRAGANA LETTER DE
+30C7 ; [.32B3.0020.0011.30C6][.0000.0128.0002.3099] # KATAKANA LETTER DE
+1F213 ; [.32B3.0020.001C.1F213][.0000.0128.001C.1F213] # SQUARED KATAKANA DE
+3325 ; [.32B3.0020.001C.3325][.0000.0128.001C.3325][.32AC.0020.001F.3325] # SQUARE DESI
+3068 ; [.32B4.0020.000E.3068] # HIRAGANA LETTER TO
+31F3 ; [.32B4.0020.000F.31F3] # KATAKANA LETTER SMALL TO
+30C8 ; [.32B4.0020.0011.30C8] # KATAKANA LETTER TO
+FF84 ; [.32B4.0020.0012.FF84] # HALFWIDTH KATAKANA LETTER TO
+32E3 ; [.32B4.0020.0013.32E3] # CIRCLED KATAKANA TO
+3069 ; [.32B4.0020.000E.3068][.0000.0128.0002.3099] # HIRAGANA LETTER DO
+30C9 ; [.32B4.0020.0011.30C8][.0000.0128.0002.3099] # KATAKANA LETTER DO
+3326 ; [.32B4.0020.001C.3326][.0000.0128.001C.3326][.32CA.0020.001F.3326] # SQUARE DORU
+3327 ; [.32B4.0020.001C.3327][.32D1.0020.001C.3327] # SQUARE TON
+306A ; [.32B5.0020.000E.306A] # HIRAGANA LETTER NA
+30CA ; [.32B5.0020.0011.30CA] # KATAKANA LETTER NA
+FF85 ; [.32B5.0020.0012.FF85] # HALFWIDTH KATAKANA LETTER NA
+32E4 ; [.32B5.0020.0013.32E4] # CIRCLED KATAKANA NA
+3328 ; [.32B5.0020.001C.3328][.32B9.0020.001C.3328] # SQUARE NANO
+306B ; [.32B6.0020.000E.306B] # HIRAGANA LETTER NI
+30CB ; [.32B6.0020.0011.30CB] # KATAKANA LETTER NI
+FF86 ; [.32B6.0020.0012.FF86] # HALFWIDTH KATAKANA LETTER NI
+32E5 ; [.32B6.0020.0013.32E5] # CIRCLED KATAKANA NI
+306C ; [.32B7.0020.000E.306C] # HIRAGANA LETTER NU
+31F4 ; [.32B7.0020.000F.31F4] # KATAKANA LETTER SMALL NU
+30CC ; [.32B7.0020.0011.30CC] # KATAKANA LETTER NU
+FF87 ; [.32B7.0020.0012.FF87] # HALFWIDTH KATAKANA LETTER NU
+32E6 ; [.32B7.0020.0013.32E6] # CIRCLED KATAKANA NU
+306D ; [.32B8.0020.000E.306D] # HIRAGANA LETTER NE
+30CD ; [.32B8.0020.0011.30CD] # KATAKANA LETTER NE
+FF88 ; [.32B8.0020.0012.FF88] # HALFWIDTH KATAKANA LETTER NE
+32E7 ; [.32B8.0020.0013.32E7] # CIRCLED KATAKANA NE
+306E ; [.32B9.0020.000E.306E] # HIRAGANA LETTER NO
+30CE ; [.32B9.0020.0011.30CE] # KATAKANA LETTER NO
+FF89 ; [.32B9.0020.0012.FF89] # HALFWIDTH KATAKANA LETTER NO
+32E8 ; [.32B9.0020.0013.32E8] # CIRCLED KATAKANA NO
+3329 ; [.32B9.0020.001C.3329][.32B2.0020.001C.3329][.32B4.0020.001F.3329] # SQUARE NOTTO
+306F ; [.32BA.0020.000E.306F] # HIRAGANA LETTER HA
+31F5 ; [.32BA.0020.000F.31F5] # KATAKANA LETTER SMALL HA
+30CF ; [.32BA.0020.0011.30CF] # KATAKANA LETTER HA
+FF8A ; [.32BA.0020.0012.FF8A] # HALFWIDTH KATAKANA LETTER HA
+32E9 ; [.32BA.0020.0013.32E9] # CIRCLED KATAKANA HA
+3070 ; [.32BA.0020.000E.306F][.0000.0128.0002.3099] # HIRAGANA LETTER BA
+30D0 ; [.32BA.0020.0011.30CF][.0000.0128.0002.3099] # KATAKANA LETTER BA
+3071 ; [.32BA.0020.000E.306F][.0000.0129.0002.309A] # HIRAGANA LETTER PA
+30D1 ; [.32BA.0020.0011.30CF][.0000.0129.0002.309A] # KATAKANA LETTER PA
+332B ; [.32BA.0020.001C.332B][.0000.0129.001C.332B][.15A0.0020.001F.332B][.32AE.0020.001F.332B][.32D1.0020.001F.332B][.32B4.0020.001F.332B] # SQUARE PAASENTO
+332C ; [.32BA.0020.001C.332C][.0000.0129.001C.332C][.15A0.0020.001F.332C][.32B2.0020.001F.332C] # SQUARE PAATU
+332D ; [.32BA.0020.001C.332D][.0000.0128.001C.332D][.15A0.0020.001F.332D][.32CB.0020.001F.332D][.32CA.0020.001F.332D] # SQUARE BAARERU
+332A ; [.32BA.0020.001C.332A][.32A1.0020.001C.332A][.32B2.0020.001F.332A] # SQUARE HAITU
+3072 ; [.32BB.0020.000E.3072] # HIRAGANA LETTER HI
+31F6 ; [.32BB.0020.000F.31F6] # KATAKANA LETTER SMALL HI
+30D2 ; [.32BB.0020.0011.30D2] # KATAKANA LETTER HI
+FF8B ; [.32BB.0020.0012.FF8B] # HALFWIDTH KATAKANA LETTER HI
+32EA ; [.32BB.0020.0013.32EA] # CIRCLED KATAKANA HI
+3073 ; [.32BB.0020.000E.3072][.0000.0128.0002.3099] # HIRAGANA LETTER BI
+30D3 ; [.32BB.0020.0011.30D2][.0000.0128.0002.3099] # KATAKANA LETTER BI
+3074 ; [.32BB.0020.000E.3072][.0000.0129.0002.309A] # HIRAGANA LETTER PI
+30D4 ; [.32BB.0020.0011.30D2][.0000.0129.0002.309A] # KATAKANA LETTER PI
+332E ; [.32BB.0020.001C.332E][.0000.0129.001C.332E][.32A0.0020.001F.332E][.32AD.0020.001F.332E][.32B4.0020.001F.332E][.32CA.0020.001F.332E] # SQUARE PIASUTORU
+332F ; [.32BB.0020.001C.332F][.0000.0129.001C.332F][.32A8.0020.001F.332F][.32CA.0020.001F.332F] # SQUARE PIKURU
+3330 ; [.32BB.0020.001C.3330][.0000.0129.001C.3330][.32AA.0020.001F.3330] # SQUARE PIKO
+3331 ; [.32BB.0020.001C.3331][.0000.0128.001C.3331][.32CA.0020.001F.3331] # SQUARE BIRU
+3075 ; [.32BC.0020.000E.3075] # HIRAGANA LETTER HU
+31F7 ; [.32BC.0020.000F.31F7] # KATAKANA LETTER SMALL HU
+30D5 ; [.32BC.0020.0011.30D5] # KATAKANA LETTER HU
+FF8C ; [.32BC.0020.0012.FF8C] # HALFWIDTH KATAKANA LETTER HU
+32EB ; [.32BC.0020.0013.32EB] # CIRCLED KATAKANA HU
+3076 ; [.32BC.0020.000E.3075][.0000.0128.0002.3099] # HIRAGANA LETTER BU
+30D6 ; [.32BC.0020.0011.30D5][.0000.0128.0002.3099] # KATAKANA LETTER BU
+3077 ; [.32BC.0020.000E.3075][.0000.0129.0002.309A] # HIRAGANA LETTER PU
+30D7 ; [.32BC.0020.0011.30D5][.0000.0129.0002.309A] # KATAKANA LETTER PU
+3332 ; [.32BC.0020.001C.3332][.32A0.0020.001C.3332][.32C8.0020.001F.3332][.32B2.0020.001F.3332][.32B4.0020.001F.3332][.0000.0128.001F.3332] # SQUARE HUARADDO
+3333 ; [.32BC.0020.001C.3333][.32A1.0020.001C.3333][.15A0.0020.001F.3333][.32B4.0020.001F.3333] # SQUARE HUIITO
+3334 ; [.32BC.0020.001C.3334][.0000.0128.001C.3334][.32B2.0020.001F.3334][.32AC.0020.001F.3334][.32A4.0020.001F.3334][.32CA.0020.001F.3334] # SQUARE BUSSYERU
+3335 ; [.32BC.0020.001C.3335][.32C8.0020.001C.3335][.32D1.0020.001F.3335] # SQUARE HURAN
+3078 ; [.32BD.0020.000E.3078] # HIRAGANA LETTER HE
+31F8 ; [.32BD.0020.000F.31F8] # KATAKANA LETTER SMALL HE
+30D8 ; [.32BD.0020.0011.30D8] # KATAKANA LETTER HE
+FF8D ; [.32BD.0020.0012.FF8D] # HALFWIDTH KATAKANA LETTER HE
+32EC ; [.32BD.0020.0013.32EC] # CIRCLED KATAKANA HE
+3079 ; [.32BD.0020.000E.3078][.0000.0128.0002.3099] # HIRAGANA LETTER BE
+30D9 ; [.32BD.0020.0011.30D8][.0000.0128.0002.3099] # KATAKANA LETTER BE
+307A ; [.32BD.0020.000E.3078][.0000.0129.0002.309A] # HIRAGANA LETTER PE
+30DA ; [.32BD.0020.0011.30D8][.0000.0129.0002.309A] # KATAKANA LETTER PE
+333B ; [.32BD.0020.001C.333B][.0000.0129.001C.333B][.15A0.0020.001F.333B][.32AC.0020.001F.333B][.0000.0128.001F.333B] # SQUARE PEEZI
+333C ; [.32BD.0020.001C.333C][.0000.0128.001C.333C][.15A0.0020.001F.333C][.32B0.0020.001F.333C] # SQUARE BEETA
+3336 ; [.32BD.0020.001C.3336][.32A8.0020.001C.3336][.32B0.0020.001F.3336][.15A0.0020.001F.3336][.32CA.0020.001F.3336] # SQUARE HEKUTAARU
+3337 ; [.32BD.0020.001C.3337][.0000.0129.001C.3337][.32AF.0020.001F.3337] # SQUARE PESO
+3338 ; [.32BD.0020.001C.3338][.0000.0129.001C.3338][.32B6.0020.001F.3338][.32BB.0020.001F.3338] # SQUARE PENIHI
+3339 ; [.32BD.0020.001C.3339][.32CA.0020.001C.3339][.32B2.0020.001F.3339] # SQUARE HERUTU
+333A ; [.32BD.0020.001C.333A][.0000.0129.001C.333A][.32D1.0020.001F.333A][.32AD.0020.001F.333A] # SQUARE PENSU
+307B ; [.32BE.0020.000E.307B] # HIRAGANA LETTER HO
+31F9 ; [.32BE.0020.000F.31F9] # KATAKANA LETTER SMALL HO
+30DB ; [.32BE.0020.0011.30DB] # KATAKANA LETTER HO
+FF8E ; [.32BE.0020.0012.FF8E] # HALFWIDTH KATAKANA LETTER HO
+32ED ; [.32BE.0020.0013.32ED] # CIRCLED KATAKANA HO
+307C ; [.32BE.0020.000E.307B][.0000.0128.0002.3099] # HIRAGANA LETTER BO
+30DC ; [.32BE.0020.0011.30DB][.0000.0128.0002.3099] # KATAKANA LETTER BO
+307D ; [.32BE.0020.000E.307B][.0000.0129.0002.309A] # HIRAGANA LETTER PO
+30DD ; [.32BE.0020.0011.30DB][.0000.0129.0002.309A] # KATAKANA LETTER PO
+3341 ; [.32BE.0020.001C.3341][.15A0.0020.001C.3341][.32CA.0020.001F.3341] # SQUARE HOORU
+3342 ; [.32BE.0020.001C.3342][.15A0.0020.001C.3342][.32D1.0020.001F.3342] # SQUARE HOON
+333D ; [.32BE.0020.001C.333D][.0000.0129.001C.333D][.32A1.0020.001F.333D][.32D1.0020.001F.333D][.32B4.0020.001F.333D] # SQUARE POINTO
+1F200 ; [.32BE.0020.001C.1F200][.32A6.0020.001C.1F200] # SQUARE HIRAGANA HOKA
+333E ; [.32BE.0020.001C.333E][.0000.0128.001C.333E][.32CA.0020.001F.333E][.32B4.0020.001F.333E] # SQUARE BORUTO
+333F ; [.32BE.0020.001C.333F][.32D1.0020.001C.333F] # SQUARE HON
+3340 ; [.32BE.0020.001C.3340][.0000.0129.001C.3340][.32D1.0020.001F.3340][.32B4.0020.001F.3340][.0000.0128.001F.3340] # SQUARE PONDO
+307E ; [.32BF.0020.000E.307E] # HIRAGANA LETTER MA
+30DE ; [.32BF.0020.0011.30DE] # KATAKANA LETTER MA
+FF8F ; [.32BF.0020.0012.FF8F] # HALFWIDTH KATAKANA LETTER MA
+32EE ; [.32BF.0020.0013.32EE] # CIRCLED KATAKANA MA
+3343 ; [.32BF.0020.001C.3343][.32A1.0020.001C.3343][.32A8.0020.001F.3343][.32CC.0020.001F.3343] # SQUARE MAIKURO
+3344 ; [.32BF.0020.001C.3344][.32A1.0020.001C.3344][.32CA.0020.001F.3344] # SQUARE MAIRU
+303C ; [.32BF.0020.0004.303C][.32AD.0020.0004.303C] # MASU MARK
+3345 ; [.32BF.0020.001C.3345][.32B2.0020.001C.3345][.32BA.0020.001F.3345] # SQUARE MAHHA
+3346 ; [.32BF.0020.001C.3346][.32CA.0020.001C.3346][.32A8.0020.001F.3346] # SQUARE MARUKU
+3347 ; [.32BF.0020.001C.3347][.32D1.0020.001C.3347][.32AC.0020.001F.3347][.32C7.0020.001F.3347][.32D1.0020.001F.3347] # SQUARE MANSYON
+307F ; [.32C0.0020.000E.307F] # HIRAGANA LETTER MI
+30DF ; [.32C0.0020.0011.30DF] # KATAKANA LETTER MI
+FF90 ; [.32C0.0020.0012.FF90] # HALFWIDTH KATAKANA LETTER MI
+32EF ; [.32C0.0020.0013.32EF] # CIRCLED KATAKANA MI
+3348 ; [.32C0.0020.001C.3348][.32A8.0020.001C.3348][.32CC.0020.001F.3348][.32D1.0020.001F.3348] # SQUARE MIKURON
+3349 ; [.32C0.0020.001C.3349][.32C9.0020.001C.3349] # SQUARE MIRI
+334A ; [.32C0.0020.001C.334A][.32C9.0020.001C.334A][.32BA.0020.001F.334A][.0000.0128.001F.334A][.15A0.0020.001F.334A][.32CA.0020.001F.334A] # SQUARE MIRIBAARU
+3080 ; [.32C1.0020.000E.3080] # HIRAGANA LETTER MU
+31FA ; [.32C1.0020.000F.31FA] # KATAKANA LETTER SMALL MU
+30E0 ; [.32C1.0020.0011.30E0] # KATAKANA LETTER MU
+FF91 ; [.32C1.0020.0012.FF91] # HALFWIDTH KATAKANA LETTER MU
+32F0 ; [.32C1.0020.0013.32F0] # CIRCLED KATAKANA MU
+3081 ; [.32C2.0020.000E.3081] # HIRAGANA LETTER ME
+30E1 ; [.32C2.0020.0011.30E1] # KATAKANA LETTER ME
+FF92 ; [.32C2.0020.0012.FF92] # HALFWIDTH KATAKANA LETTER ME
+32F1 ; [.32C2.0020.0013.32F1] # CIRCLED KATAKANA ME
+334D ; [.32C2.0020.001C.334D][.15A0.0020.001C.334D][.32B4.0020.001F.334D][.32CA.0020.001F.334D] # SQUARE MEETORU
+334B ; [.32C2.0020.001C.334B][.32A6.0020.001C.334B][.0000.0128.001F.334B] # SQUARE MEGA
+334C ; [.32C2.0020.001C.334C][.32A6.0020.001C.334C][.0000.0128.001F.334C][.32B4.0020.001F.334C][.32D1.0020.001F.334C] # SQUARE MEGATON
+3082 ; [.32C3.0020.000E.3082] # HIRAGANA LETTER MO
+30E2 ; [.32C3.0020.0011.30E2] # KATAKANA LETTER MO
+FF93 ; [.32C3.0020.0012.FF93] # HALFWIDTH KATAKANA LETTER MO
+32F2 ; [.32C3.0020.0013.32F2] # CIRCLED KATAKANA MO
+3083 ; [.32C4.0020.000D.3083] # HIRAGANA LETTER SMALL YA
+3084 ; [.32C4.0020.000E.3084] # HIRAGANA LETTER YA
+30E3 ; [.32C4.0020.000F.30E3] # KATAKANA LETTER SMALL YA
+FF6C ; [.32C4.0020.0010.FF6C] # HALFWIDTH KATAKANA LETTER SMALL YA
+30E4 ; [.32C4.0020.0011.30E4] # KATAKANA LETTER YA
+FF94 ; [.32C4.0020.0012.FF94] # HALFWIDTH KATAKANA LETTER YA
+32F3 ; [.32C4.0020.0013.32F3] # CIRCLED KATAKANA YA
+334E ; [.32C4.0020.001C.334E][.15A0.0020.001C.334E][.32B4.0020.001F.334E][.0000.0128.001F.334E] # SQUARE YAADO
+334F ; [.32C4.0020.001C.334F][.15A0.0020.001C.334F][.32CA.0020.001F.334F] # SQUARE YAARU
+3085 ; [.32C5.0020.000D.3085] # HIRAGANA LETTER SMALL YU
+3086 ; [.32C5.0020.000E.3086] # HIRAGANA LETTER YU
+30E5 ; [.32C5.0020.000F.30E5] # KATAKANA LETTER SMALL YU
+FF6D ; [.32C5.0020.0010.FF6D] # HALFWIDTH KATAKANA LETTER SMALL YU
+30E6 ; [.32C5.0020.0011.30E6] # KATAKANA LETTER YU
+FF95 ; [.32C5.0020.0012.FF95] # HALFWIDTH KATAKANA LETTER YU
+32F4 ; [.32C5.0020.0013.32F4] # CIRCLED KATAKANA YU
+3350 ; [.32C5.0020.001C.3350][.32A0.0020.001C.3350][.32D1.0020.001F.3350] # SQUARE YUAN
+1B001 ; [.32C6.0020.0002.1B001] # HIRAGANA LETTER ARCHAIC YE
+3087 ; [.32C7.0020.000D.3087] # HIRAGANA LETTER SMALL YO
+3088 ; [.32C7.0020.000E.3088] # HIRAGANA LETTER YO
+30E7 ; [.32C7.0020.000F.30E7] # KATAKANA LETTER SMALL YO
+FF6E ; [.32C7.0020.0010.FF6E] # HALFWIDTH KATAKANA LETTER SMALL YO
+30E8 ; [.32C7.0020.0011.30E8] # KATAKANA LETTER YO
+FF96 ; [.32C7.0020.0012.FF96] # HALFWIDTH KATAKANA LETTER YO
+32F5 ; [.32C7.0020.0013.32F5] # CIRCLED KATAKANA YO
+309F ; [.32C7.0020.0016.309F][.32C9.0020.0016.309F] # HIRAGANA DIGRAPH YORI
+3089 ; [.32C8.0020.000E.3089] # HIRAGANA LETTER RA
+31FB ; [.32C8.0020.000F.31FB] # KATAKANA LETTER SMALL RA
+30E9 ; [.32C8.0020.0011.30E9] # KATAKANA LETTER RA
+FF97 ; [.32C8.0020.0012.FF97] # HALFWIDTH KATAKANA LETTER RA
+32F6 ; [.32C8.0020.0013.32F6] # CIRCLED KATAKANA RA
+308A ; [.32C9.0020.000E.308A] # HIRAGANA LETTER RI
+31FC ; [.32C9.0020.000F.31FC] # KATAKANA LETTER SMALL RI
+30EA ; [.32C9.0020.0011.30EA] # KATAKANA LETTER RI
+FF98 ; [.32C9.0020.0012.FF98] # HALFWIDTH KATAKANA LETTER RI
+32F7 ; [.32C9.0020.0013.32F7] # CIRCLED KATAKANA RI
+3351 ; [.32C9.0020.001C.3351][.32B2.0020.001C.3351][.32B4.0020.001F.3351][.32CA.0020.001F.3351] # SQUARE RITTORU
+3352 ; [.32C9.0020.001C.3352][.32C8.0020.001C.3352] # SQUARE RIRA
+308B ; [.32CA.0020.000E.308B] # HIRAGANA LETTER RU
+31FD ; [.32CA.0020.000F.31FD] # KATAKANA LETTER SMALL RU
+30EB ; [.32CA.0020.0011.30EB] # KATAKANA LETTER RU
+FF99 ; [.32CA.0020.0012.FF99] # HALFWIDTH KATAKANA LETTER RU
+32F8 ; [.32CA.0020.0013.32F8] # CIRCLED KATAKANA RU
+3354 ; [.32CA.0020.001C.3354][.15A0.0020.001C.3354][.32BC.0020.001F.3354][.0000.0128.001F.3354][.32CA.0020.001F.3354] # SQUARE RUUBURU
+3353 ; [.32CA.0020.001C.3353][.32BB.0020.001C.3353][.0000.0129.001F.3353][.15A0.0020.001F.3353] # SQUARE RUPII
+308C ; [.32CB.0020.000E.308C] # HIRAGANA LETTER RE
+31FE ; [.32CB.0020.000F.31FE] # KATAKANA LETTER SMALL RE
+30EC ; [.32CB.0020.0011.30EC] # KATAKANA LETTER RE
+FF9A ; [.32CB.0020.0012.FF9A] # HALFWIDTH KATAKANA LETTER RE
+32F9 ; [.32CB.0020.0013.32F9] # CIRCLED KATAKANA RE
+3355 ; [.32CB.0020.001C.3355][.32C1.0020.001C.3355] # SQUARE REMU
+3356 ; [.32CB.0020.001C.3356][.32D1.0020.001C.3356][.32B4.0020.001F.3356][.32A9.0020.001F.3356][.0000.0128.001F.3356][.32D1.0020.001F.3356] # SQUARE RENTOGEN
+308D ; [.32CC.0020.000E.308D] # HIRAGANA LETTER RO
+31FF ; [.32CC.0020.000F.31FF] # KATAKANA LETTER SMALL RO
+30ED ; [.32CC.0020.0011.30ED] # KATAKANA LETTER RO
+FF9B ; [.32CC.0020.0012.FF9B] # HALFWIDTH KATAKANA LETTER RO
+32FA ; [.32CC.0020.0013.32FA] # CIRCLED KATAKANA RO
+308E ; [.32CD.0020.000D.308E] # HIRAGANA LETTER SMALL WA
+308F ; [.32CD.0020.000E.308F] # HIRAGANA LETTER WA
+30EE ; [.32CD.0020.000F.30EE] # KATAKANA LETTER SMALL WA
+30EF ; [.32CD.0020.0011.30EF] # KATAKANA LETTER WA
+FF9C ; [.32CD.0020.0012.FF9C] # HALFWIDTH KATAKANA LETTER WA
+32FB ; [.32CD.0020.0013.32FB] # CIRCLED KATAKANA WA
+30F7 ; [.32CD.0020.0011.30EF][.0000.0128.0002.3099] # KATAKANA LETTER VA
+3357 ; [.32CD.0020.001C.3357][.32B2.0020.001C.3357][.32B4.0020.001F.3357] # SQUARE WATTO
+3090 ; [.32CE.0020.000E.3090] # HIRAGANA LETTER WI
+30F0 ; [.32CE.0020.0011.30F0] # KATAKANA LETTER WI
+32FC ; [.32CE.0020.0013.32FC] # CIRCLED KATAKANA WI
+30F8 ; [.32CE.0020.0011.30F0][.0000.0128.0002.3099] # KATAKANA LETTER VI
+3091 ; [.32CF.0020.000E.3091] # HIRAGANA LETTER WE
+30F1 ; [.32CF.0020.0011.30F1] # KATAKANA LETTER WE
+32FD ; [.32CF.0020.0013.32FD] # CIRCLED KATAKANA WE
+30F9 ; [.32CF.0020.0011.30F1][.0000.0128.0002.3099] # KATAKANA LETTER VE
+3092 ; [.32D0.0020.000E.3092] # HIRAGANA LETTER WO
+30F2 ; [.32D0.0020.0011.30F2] # KATAKANA LETTER WO
+FF66 ; [.32D0.0020.0012.FF66] # HALFWIDTH KATAKANA LETTER WO
+32FE ; [.32D0.0020.0013.32FE] # CIRCLED KATAKANA WO
+30FA ; [.32D0.0020.0011.30F2][.0000.0128.0002.3099] # KATAKANA LETTER VO
+3093 ; [.32D1.0020.000E.3093] # HIRAGANA LETTER N
+30F3 ; [.32D1.0020.0011.30F3] # KATAKANA LETTER N
+FF9D ; [.32D1.0020.0012.FF9D] # HALFWIDTH KATAKANA LETTER N
+3105 ; [.32D2.0020.0002.3105] # BOPOMOFO LETTER B
+31A0 ; [.32D2.0020.0004.31A0][.0000.013A.0004.31A0] # BOPOMOFO LETTER BU
+3106 ; [.32D3.0020.0002.3106] # BOPOMOFO LETTER P
+31B4 ; [.32D3.0020.0019.31B4] # BOPOMOFO FINAL LETTER P
+3107 ; [.32D4.0020.0002.3107] # BOPOMOFO LETTER M
+3108 ; [.32D5.0020.0002.3108] # BOPOMOFO LETTER F
+312A ; [.32D6.0020.0002.312A] # BOPOMOFO LETTER V
+3109 ; [.32D7.0020.0002.3109] # BOPOMOFO LETTER D
+310A ; [.32D8.0020.0002.310A] # BOPOMOFO LETTER T
+31B5 ; [.32D8.0020.0019.31B5] # BOPOMOFO FINAL LETTER T
+310B ; [.32D9.0020.0002.310B] # BOPOMOFO LETTER N
+310C ; [.32DA.0020.0002.310C] # BOPOMOFO LETTER L
+310D ; [.32DB.0020.0002.310D] # BOPOMOFO LETTER G
+31A3 ; [.32DB.0020.0004.31A3][.0000.013A.0004.31A3] # BOPOMOFO LETTER GU
+310E ; [.32DC.0020.0002.310E] # BOPOMOFO LETTER K
+31B6 ; [.32DC.0020.0019.31B6] # BOPOMOFO FINAL LETTER K
+312B ; [.32DD.0020.0002.312B] # BOPOMOFO LETTER NG
+31AD ; [.32DE.0020.0002.31AD] # BOPOMOFO LETTER NGG
+310F ; [.32DF.0020.0002.310F] # BOPOMOFO LETTER H
+31B7 ; [.32DF.0020.0019.31B7] # BOPOMOFO FINAL LETTER H
+3110 ; [.32E0.0020.0002.3110] # BOPOMOFO LETTER J
+31A2 ; [.32E0.0020.0004.31A2][.0000.013A.0004.31A2] # BOPOMOFO LETTER JI
+3111 ; [.32E1.0020.0002.3111] # BOPOMOFO LETTER Q
+3112 ; [.32E2.0020.0002.3112] # BOPOMOFO LETTER X
+312C ; [.32E3.0020.0002.312C] # BOPOMOFO LETTER GN
+3113 ; [.32E4.0020.0002.3113] # BOPOMOFO LETTER ZH
+3114 ; [.32E5.0020.0002.3114] # BOPOMOFO LETTER CH
+3115 ; [.32E6.0020.0002.3115] # BOPOMOFO LETTER SH
+3116 ; [.32E7.0020.0002.3116] # BOPOMOFO LETTER R
+3117 ; [.32E8.0020.0002.3117] # BOPOMOFO LETTER Z
+31A1 ; [.32E8.0020.0004.31A1][.0000.013A.0004.31A1] # BOPOMOFO LETTER ZI
+3118 ; [.32E9.0020.0002.3118] # BOPOMOFO LETTER C
+3119 ; [.32EA.0020.0002.3119] # BOPOMOFO LETTER S
+31B8 ; [.32EB.0020.0002.31B8] # BOPOMOFO LETTER GH
+31B9 ; [.32EC.0020.0002.31B9] # BOPOMOFO LETTER LH
+31BA ; [.32ED.0020.0002.31BA] # BOPOMOFO LETTER ZY
+311A ; [.32EE.0020.0002.311A] # BOPOMOFO LETTER A
+31A9 ; [.32EE.0020.0004.31A9][.0000.013A.0004.31A9] # BOPOMOFO LETTER ANN
+311B ; [.32EF.0020.0002.311B] # BOPOMOFO LETTER O
+31A7 ; [.32EF.0020.0004.31A7][.0000.013A.0004.31A7] # BOPOMOFO LETTER ONN
+31A6 ; [.32F0.0020.0002.31A6] # BOPOMOFO LETTER OO
+311C ; [.32F1.0020.0002.311C] # BOPOMOFO LETTER E
+311D ; [.32F2.0020.0002.311D] # BOPOMOFO LETTER EH
+31A4 ; [.32F3.0020.0002.31A4] # BOPOMOFO LETTER EE
+31A5 ; [.32F3.0020.0004.31A5][.0000.013A.0004.31A5] # BOPOMOFO LETTER ENN
+311E ; [.32F4.0020.0002.311E] # BOPOMOFO LETTER AI
+31AE ; [.32F4.0020.0004.31AE][.0000.013A.0004.31AE] # BOPOMOFO LETTER AINN
+311F ; [.32F5.0020.0002.311F] # BOPOMOFO LETTER EI
+3120 ; [.32F6.0020.0002.3120] # BOPOMOFO LETTER AU
+31AF ; [.32F6.0020.0004.31AF][.0000.013A.0004.31AF] # BOPOMOFO LETTER AUNN
+3121 ; [.32F7.0020.0002.3121] # BOPOMOFO LETTER OU
+3122 ; [.32F8.0020.0002.3122] # BOPOMOFO LETTER AN
+3123 ; [.32F9.0020.0002.3123] # BOPOMOFO LETTER EN
+3124 ; [.32FA.0020.0002.3124] # BOPOMOFO LETTER ANG
+31B2 ; [.32FB.0020.0002.31B2] # BOPOMOFO LETTER ONG
+3125 ; [.32FC.0020.0002.3125] # BOPOMOFO LETTER ENG
+31B0 ; [.32FD.0020.0002.31B0] # BOPOMOFO LETTER AM
+31B1 ; [.32FE.0020.0002.31B1] # BOPOMOFO LETTER OM
+31AC ; [.32FF.0020.0002.31AC] # BOPOMOFO LETTER IM
+3126 ; [.3300.0020.0002.3126] # BOPOMOFO LETTER ER
+3127 ; [.3301.0020.0002.3127] # BOPOMOFO LETTER I
+31AA ; [.3301.0020.0004.31AA][.0000.013A.0004.31AA] # BOPOMOFO LETTER INN
+31B3 ; [.3301.0020.0016.31B3][.0000.013A.0016.31B3] # BOPOMOFO LETTER INNN
+3128 ; [.3302.0020.0002.3128] # BOPOMOFO LETTER U
+31AB ; [.3302.0020.0004.31AB][.0000.013A.0004.31AB] # BOPOMOFO LETTER UNN
+31A8 ; [.3302.0020.0004.31A8][.0000.013C.0004.31A8] # BOPOMOFO LETTER IR
+3129 ; [.3303.0020.0002.3129] # BOPOMOFO LETTER IU
+312D ; [.3304.0020.0002.312D] # BOPOMOFO LETTER IH
+A000 ; [.3305.0020.0002.A000] # YI SYLLABLE IT
+A001 ; [.3306.0020.0002.A001] # YI SYLLABLE IX
+A002 ; [.3307.0020.0002.A002] # YI SYLLABLE I
+A003 ; [.3308.0020.0002.A003] # YI SYLLABLE IP
+A004 ; [.3309.0020.0002.A004] # YI SYLLABLE IET
+A005 ; [.330A.0020.0002.A005] # YI SYLLABLE IEX
+A006 ; [.330B.0020.0002.A006] # YI SYLLABLE IE
+A007 ; [.330C.0020.0002.A007] # YI SYLLABLE IEP
+A008 ; [.330D.0020.0002.A008] # YI SYLLABLE AT
+A009 ; [.330E.0020.0002.A009] # YI SYLLABLE AX
+A00A ; [.330F.0020.0002.A00A] # YI SYLLABLE A
+A00B ; [.3310.0020.0002.A00B] # YI SYLLABLE AP
+A00C ; [.3311.0020.0002.A00C] # YI SYLLABLE UOX
+A00D ; [.3312.0020.0002.A00D] # YI SYLLABLE UO
+A00E ; [.3313.0020.0002.A00E] # YI SYLLABLE UOP
+A00F ; [.3314.0020.0002.A00F] # YI SYLLABLE OT
+A010 ; [.3315.0020.0002.A010] # YI SYLLABLE OX
+A011 ; [.3316.0020.0002.A011] # YI SYLLABLE O
+A012 ; [.3317.0020.0002.A012] # YI SYLLABLE OP
+A013 ; [.3318.0020.0002.A013] # YI SYLLABLE EX
+A014 ; [.3319.0020.0002.A014] # YI SYLLABLE E
+A015 ; [.331A.0020.0002.A015] # YI SYLLABLE WU
+A016 ; [.331B.0020.0002.A016] # YI SYLLABLE BIT
+A017 ; [.331C.0020.0002.A017] # YI SYLLABLE BIX
+A018 ; [.331D.0020.0002.A018] # YI SYLLABLE BI
+A019 ; [.331E.0020.0002.A019] # YI SYLLABLE BIP
+A01A ; [.331F.0020.0002.A01A] # YI SYLLABLE BIET
+A01B ; [.3320.0020.0002.A01B] # YI SYLLABLE BIEX
+A01C ; [.3321.0020.0002.A01C] # YI SYLLABLE BIE
+A01D ; [.3322.0020.0002.A01D] # YI SYLLABLE BIEP
+A01E ; [.3323.0020.0002.A01E] # YI SYLLABLE BAT
+A01F ; [.3324.0020.0002.A01F] # YI SYLLABLE BAX
+A020 ; [.3325.0020.0002.A020] # YI SYLLABLE BA
+A021 ; [.3326.0020.0002.A021] # YI SYLLABLE BAP
+A022 ; [.3327.0020.0002.A022] # YI SYLLABLE BUOX
+A023 ; [.3328.0020.0002.A023] # YI SYLLABLE BUO
+A024 ; [.3329.0020.0002.A024] # YI SYLLABLE BUOP
+A025 ; [.332A.0020.0002.A025] # YI SYLLABLE BOT
+A026 ; [.332B.0020.0002.A026] # YI SYLLABLE BOX
+A027 ; [.332C.0020.0002.A027] # YI SYLLABLE BO
+A028 ; [.332D.0020.0002.A028] # YI SYLLABLE BOP
+A029 ; [.332E.0020.0002.A029] # YI SYLLABLE BEX
+A02A ; [.332F.0020.0002.A02A] # YI SYLLABLE BE
+A02B ; [.3330.0020.0002.A02B] # YI SYLLABLE BEP
+A02C ; [.3331.0020.0002.A02C] # YI SYLLABLE BUT
+A02D ; [.3332.0020.0002.A02D] # YI SYLLABLE BUX
+A02E ; [.3333.0020.0002.A02E] # YI SYLLABLE BU
+A02F ; [.3334.0020.0002.A02F] # YI SYLLABLE BUP
+A030 ; [.3335.0020.0002.A030] # YI SYLLABLE BURX
+A031 ; [.3336.0020.0002.A031] # YI SYLLABLE BUR
+A032 ; [.3337.0020.0002.A032] # YI SYLLABLE BYT
+A033 ; [.3338.0020.0002.A033] # YI SYLLABLE BYX
+A034 ; [.3339.0020.0002.A034] # YI SYLLABLE BY
+A035 ; [.333A.0020.0002.A035] # YI SYLLABLE BYP
+A036 ; [.333B.0020.0002.A036] # YI SYLLABLE BYRX
+A037 ; [.333C.0020.0002.A037] # YI SYLLABLE BYR
+A038 ; [.333D.0020.0002.A038] # YI SYLLABLE PIT
+A039 ; [.333E.0020.0002.A039] # YI SYLLABLE PIX
+A03A ; [.333F.0020.0002.A03A] # YI SYLLABLE PI
+A03B ; [.3340.0020.0002.A03B] # YI SYLLABLE PIP
+A03C ; [.3341.0020.0002.A03C] # YI SYLLABLE PIEX
+A03D ; [.3342.0020.0002.A03D] # YI SYLLABLE PIE
+A03E ; [.3343.0020.0002.A03E] # YI SYLLABLE PIEP
+A03F ; [.3344.0020.0002.A03F] # YI SYLLABLE PAT
+A040 ; [.3345.0020.0002.A040] # YI SYLLABLE PAX
+A041 ; [.3346.0020.0002.A041] # YI SYLLABLE PA
+A042 ; [.3347.0020.0002.A042] # YI SYLLABLE PAP
+A043 ; [.3348.0020.0002.A043] # YI SYLLABLE PUOX
+A044 ; [.3349.0020.0002.A044] # YI SYLLABLE PUO
+A045 ; [.334A.0020.0002.A045] # YI SYLLABLE PUOP
+A046 ; [.334B.0020.0002.A046] # YI SYLLABLE POT
+A047 ; [.334C.0020.0002.A047] # YI SYLLABLE POX
+A048 ; [.334D.0020.0002.A048] # YI SYLLABLE PO
+A049 ; [.334E.0020.0002.A049] # YI SYLLABLE POP
+A04A ; [.334F.0020.0002.A04A] # YI SYLLABLE PUT
+A04B ; [.3350.0020.0002.A04B] # YI SYLLABLE PUX
+A04C ; [.3351.0020.0002.A04C] # YI SYLLABLE PU
+A04D ; [.3352.0020.0002.A04D] # YI SYLLABLE PUP
+A04E ; [.3353.0020.0002.A04E] # YI SYLLABLE PURX
+A04F ; [.3354.0020.0002.A04F] # YI SYLLABLE PUR
+A050 ; [.3355.0020.0002.A050] # YI SYLLABLE PYT
+A051 ; [.3356.0020.0002.A051] # YI SYLLABLE PYX
+A052 ; [.3357.0020.0002.A052] # YI SYLLABLE PY
+A053 ; [.3358.0020.0002.A053] # YI SYLLABLE PYP
+A054 ; [.3359.0020.0002.A054] # YI SYLLABLE PYRX
+A055 ; [.335A.0020.0002.A055] # YI SYLLABLE PYR
+A056 ; [.335B.0020.0002.A056] # YI SYLLABLE BBIT
+A057 ; [.335C.0020.0002.A057] # YI SYLLABLE BBIX
+A058 ; [.335D.0020.0002.A058] # YI SYLLABLE BBI
+A059 ; [.335E.0020.0002.A059] # YI SYLLABLE BBIP
+A05A ; [.335F.0020.0002.A05A] # YI SYLLABLE BBIET
+A05B ; [.3360.0020.0002.A05B] # YI SYLLABLE BBIEX
+A05C ; [.3361.0020.0002.A05C] # YI SYLLABLE BBIE
+A05D ; [.3362.0020.0002.A05D] # YI SYLLABLE BBIEP
+A05E ; [.3363.0020.0002.A05E] # YI SYLLABLE BBAT
+A05F ; [.3364.0020.0002.A05F] # YI SYLLABLE BBAX
+A060 ; [.3365.0020.0002.A060] # YI SYLLABLE BBA
+A061 ; [.3366.0020.0002.A061] # YI SYLLABLE BBAP
+A062 ; [.3367.0020.0002.A062] # YI SYLLABLE BBUOX
+A063 ; [.3368.0020.0002.A063] # YI SYLLABLE BBUO
+A064 ; [.3369.0020.0002.A064] # YI SYLLABLE BBUOP
+A065 ; [.336A.0020.0002.A065] # YI SYLLABLE BBOT
+A066 ; [.336B.0020.0002.A066] # YI SYLLABLE BBOX
+A067 ; [.336C.0020.0002.A067] # YI SYLLABLE BBO
+A068 ; [.336D.0020.0002.A068] # YI SYLLABLE BBOP
+A069 ; [.336E.0020.0002.A069] # YI SYLLABLE BBEX
+A06A ; [.336F.0020.0002.A06A] # YI SYLLABLE BBE
+A06B ; [.3370.0020.0002.A06B] # YI SYLLABLE BBEP
+A06C ; [.3371.0020.0002.A06C] # YI SYLLABLE BBUT
+A06D ; [.3372.0020.0002.A06D] # YI SYLLABLE BBUX
+A06E ; [.3373.0020.0002.A06E] # YI SYLLABLE BBU
+A06F ; [.3374.0020.0002.A06F] # YI SYLLABLE BBUP
+A070 ; [.3375.0020.0002.A070] # YI SYLLABLE BBURX
+A071 ; [.3376.0020.0002.A071] # YI SYLLABLE BBUR
+A072 ; [.3377.0020.0002.A072] # YI SYLLABLE BBYT
+A073 ; [.3378.0020.0002.A073] # YI SYLLABLE BBYX
+A074 ; [.3379.0020.0002.A074] # YI SYLLABLE BBY
+A075 ; [.337A.0020.0002.A075] # YI SYLLABLE BBYP
+A076 ; [.337B.0020.0002.A076] # YI SYLLABLE NBIT
+A077 ; [.337C.0020.0002.A077] # YI SYLLABLE NBIX
+A078 ; [.337D.0020.0002.A078] # YI SYLLABLE NBI
+A079 ; [.337E.0020.0002.A079] # YI SYLLABLE NBIP
+A07A ; [.337F.0020.0002.A07A] # YI SYLLABLE NBIEX
+A07B ; [.3380.0020.0002.A07B] # YI SYLLABLE NBIE
+A07C ; [.3381.0020.0002.A07C] # YI SYLLABLE NBIEP
+A07D ; [.3382.0020.0002.A07D] # YI SYLLABLE NBAT
+A07E ; [.3383.0020.0002.A07E] # YI SYLLABLE NBAX
+A07F ; [.3384.0020.0002.A07F] # YI SYLLABLE NBA
+A080 ; [.3385.0020.0002.A080] # YI SYLLABLE NBAP
+A081 ; [.3386.0020.0002.A081] # YI SYLLABLE NBOT
+A082 ; [.3387.0020.0002.A082] # YI SYLLABLE NBOX
+A083 ; [.3388.0020.0002.A083] # YI SYLLABLE NBO
+A084 ; [.3389.0020.0002.A084] # YI SYLLABLE NBOP
+A085 ; [.338A.0020.0002.A085] # YI SYLLABLE NBUT
+A086 ; [.338B.0020.0002.A086] # YI SYLLABLE NBUX
+A087 ; [.338C.0020.0002.A087] # YI SYLLABLE NBU
+A088 ; [.338D.0020.0002.A088] # YI SYLLABLE NBUP
+A089 ; [.338E.0020.0002.A089] # YI SYLLABLE NBURX
+A08A ; [.338F.0020.0002.A08A] # YI SYLLABLE NBUR
+A08B ; [.3390.0020.0002.A08B] # YI SYLLABLE NBYT
+A08C ; [.3391.0020.0002.A08C] # YI SYLLABLE NBYX
+A08D ; [.3392.0020.0002.A08D] # YI SYLLABLE NBY
+A08E ; [.3393.0020.0002.A08E] # YI SYLLABLE NBYP
+A08F ; [.3394.0020.0002.A08F] # YI SYLLABLE NBYRX
+A090 ; [.3395.0020.0002.A090] # YI SYLLABLE NBYR
+A091 ; [.3396.0020.0002.A091] # YI SYLLABLE HMIT
+A092 ; [.3397.0020.0002.A092] # YI SYLLABLE HMIX
+A093 ; [.3398.0020.0002.A093] # YI SYLLABLE HMI
+A094 ; [.3399.0020.0002.A094] # YI SYLLABLE HMIP
+A095 ; [.339A.0020.0002.A095] # YI SYLLABLE HMIEX
+A096 ; [.339B.0020.0002.A096] # YI SYLLABLE HMIE
+A097 ; [.339C.0020.0002.A097] # YI SYLLABLE HMIEP
+A098 ; [.339D.0020.0002.A098] # YI SYLLABLE HMAT
+A099 ; [.339E.0020.0002.A099] # YI SYLLABLE HMAX
+A09A ; [.339F.0020.0002.A09A] # YI SYLLABLE HMA
+A09B ; [.33A0.0020.0002.A09B] # YI SYLLABLE HMAP
+A09C ; [.33A1.0020.0002.A09C] # YI SYLLABLE HMUOX
+A09D ; [.33A2.0020.0002.A09D] # YI SYLLABLE HMUO
+A09E ; [.33A3.0020.0002.A09E] # YI SYLLABLE HMUOP
+A09F ; [.33A4.0020.0002.A09F] # YI SYLLABLE HMOT
+A0A0 ; [.33A5.0020.0002.A0A0] # YI SYLLABLE HMOX
+A0A1 ; [.33A6.0020.0002.A0A1] # YI SYLLABLE HMO
+A0A2 ; [.33A7.0020.0002.A0A2] # YI SYLLABLE HMOP
+A0A3 ; [.33A8.0020.0002.A0A3] # YI SYLLABLE HMUT
+A0A4 ; [.33A9.0020.0002.A0A4] # YI SYLLABLE HMUX
+A0A5 ; [.33AA.0020.0002.A0A5] # YI SYLLABLE HMU
+A0A6 ; [.33AB.0020.0002.A0A6] # YI SYLLABLE HMUP
+A0A7 ; [.33AC.0020.0002.A0A7] # YI SYLLABLE HMURX
+A0A8 ; [.33AD.0020.0002.A0A8] # YI SYLLABLE HMUR
+A0A9 ; [.33AE.0020.0002.A0A9] # YI SYLLABLE HMYX
+A0AA ; [.33AF.0020.0002.A0AA] # YI SYLLABLE HMY
+A0AB ; [.33B0.0020.0002.A0AB] # YI SYLLABLE HMYP
+A0AC ; [.33B1.0020.0002.A0AC] # YI SYLLABLE HMYRX
+A0AD ; [.33B2.0020.0002.A0AD] # YI SYLLABLE HMYR
+A0AE ; [.33B3.0020.0002.A0AE] # YI SYLLABLE MIT
+A0AF ; [.33B4.0020.0002.A0AF] # YI SYLLABLE MIX
+A0B0 ; [.33B5.0020.0002.A0B0] # YI SYLLABLE MI
+A0B1 ; [.33B6.0020.0002.A0B1] # YI SYLLABLE MIP
+A0B2 ; [.33B7.0020.0002.A0B2] # YI SYLLABLE MIEX
+A0B3 ; [.33B8.0020.0002.A0B3] # YI SYLLABLE MIE
+A0B4 ; [.33B9.0020.0002.A0B4] # YI SYLLABLE MIEP
+A0B5 ; [.33BA.0020.0002.A0B5] # YI SYLLABLE MAT
+A0B6 ; [.33BB.0020.0002.A0B6] # YI SYLLABLE MAX
+A0B7 ; [.33BC.0020.0002.A0B7] # YI SYLLABLE MA
+A0B8 ; [.33BD.0020.0002.A0B8] # YI SYLLABLE MAP
+A0B9 ; [.33BE.0020.0002.A0B9] # YI SYLLABLE MUOT
+A0BA ; [.33BF.0020.0002.A0BA] # YI SYLLABLE MUOX
+A0BB ; [.33C0.0020.0002.A0BB] # YI SYLLABLE MUO
+A0BC ; [.33C1.0020.0002.A0BC] # YI SYLLABLE MUOP
+A0BD ; [.33C2.0020.0002.A0BD] # YI SYLLABLE MOT
+A0BE ; [.33C3.0020.0002.A0BE] # YI SYLLABLE MOX
+A0BF ; [.33C4.0020.0002.A0BF] # YI SYLLABLE MO
+A0C0 ; [.33C5.0020.0002.A0C0] # YI SYLLABLE MOP
+A0C1 ; [.33C6.0020.0002.A0C1] # YI SYLLABLE MEX
+A0C2 ; [.33C7.0020.0002.A0C2] # YI SYLLABLE ME
+A0C3 ; [.33C8.0020.0002.A0C3] # YI SYLLABLE MUT
+A0C4 ; [.33C9.0020.0002.A0C4] # YI SYLLABLE MUX
+A0C5 ; [.33CA.0020.0002.A0C5] # YI SYLLABLE MU
+A0C6 ; [.33CB.0020.0002.A0C6] # YI SYLLABLE MUP
+A0C7 ; [.33CC.0020.0002.A0C7] # YI SYLLABLE MURX
+A0C8 ; [.33CD.0020.0002.A0C8] # YI SYLLABLE MUR
+A0C9 ; [.33CE.0020.0002.A0C9] # YI SYLLABLE MYT
+A0CA ; [.33CF.0020.0002.A0CA] # YI SYLLABLE MYX
+A0CB ; [.33D0.0020.0002.A0CB] # YI SYLLABLE MY
+A0CC ; [.33D1.0020.0002.A0CC] # YI SYLLABLE MYP
+A0CD ; [.33D2.0020.0002.A0CD] # YI SYLLABLE FIT
+A0CE ; [.33D3.0020.0002.A0CE] # YI SYLLABLE FIX
+A0CF ; [.33D4.0020.0002.A0CF] # YI SYLLABLE FI
+A0D0 ; [.33D5.0020.0002.A0D0] # YI SYLLABLE FIP
+A0D1 ; [.33D6.0020.0002.A0D1] # YI SYLLABLE FAT
+A0D2 ; [.33D7.0020.0002.A0D2] # YI SYLLABLE FAX
+A0D3 ; [.33D8.0020.0002.A0D3] # YI SYLLABLE FA
+A0D4 ; [.33D9.0020.0002.A0D4] # YI SYLLABLE FAP
+A0D5 ; [.33DA.0020.0002.A0D5] # YI SYLLABLE FOX
+A0D6 ; [.33DB.0020.0002.A0D6] # YI SYLLABLE FO
+A0D7 ; [.33DC.0020.0002.A0D7] # YI SYLLABLE FOP
+A0D8 ; [.33DD.0020.0002.A0D8] # YI SYLLABLE FUT
+A0D9 ; [.33DE.0020.0002.A0D9] # YI SYLLABLE FUX
+A0DA ; [.33DF.0020.0002.A0DA] # YI SYLLABLE FU
+A0DB ; [.33E0.0020.0002.A0DB] # YI SYLLABLE FUP
+A0DC ; [.33E1.0020.0002.A0DC] # YI SYLLABLE FURX
+A0DD ; [.33E2.0020.0002.A0DD] # YI SYLLABLE FUR
+A0DE ; [.33E3.0020.0002.A0DE] # YI SYLLABLE FYT
+A0DF ; [.33E4.0020.0002.A0DF] # YI SYLLABLE FYX
+A0E0 ; [.33E5.0020.0002.A0E0] # YI SYLLABLE FY
+A0E1 ; [.33E6.0020.0002.A0E1] # YI SYLLABLE FYP
+A0E2 ; [.33E7.0020.0002.A0E2] # YI SYLLABLE VIT
+A0E3 ; [.33E8.0020.0002.A0E3] # YI SYLLABLE VIX
+A0E4 ; [.33E9.0020.0002.A0E4] # YI SYLLABLE VI
+A0E5 ; [.33EA.0020.0002.A0E5] # YI SYLLABLE VIP
+A0E6 ; [.33EB.0020.0002.A0E6] # YI SYLLABLE VIET
+A0E7 ; [.33EC.0020.0002.A0E7] # YI SYLLABLE VIEX
+A0E8 ; [.33ED.0020.0002.A0E8] # YI SYLLABLE VIE
+A0E9 ; [.33EE.0020.0002.A0E9] # YI SYLLABLE VIEP
+A0EA ; [.33EF.0020.0002.A0EA] # YI SYLLABLE VAT
+A0EB ; [.33F0.0020.0002.A0EB] # YI SYLLABLE VAX
+A0EC ; [.33F1.0020.0002.A0EC] # YI SYLLABLE VA
+A0ED ; [.33F2.0020.0002.A0ED] # YI SYLLABLE VAP
+A0EE ; [.33F3.0020.0002.A0EE] # YI SYLLABLE VOT
+A0EF ; [.33F4.0020.0002.A0EF] # YI SYLLABLE VOX
+A0F0 ; [.33F5.0020.0002.A0F0] # YI SYLLABLE VO
+A0F1 ; [.33F6.0020.0002.A0F1] # YI SYLLABLE VOP
+A0F2 ; [.33F7.0020.0002.A0F2] # YI SYLLABLE VEX
+A0F3 ; [.33F8.0020.0002.A0F3] # YI SYLLABLE VEP
+A0F4 ; [.33F9.0020.0002.A0F4] # YI SYLLABLE VUT
+A0F5 ; [.33FA.0020.0002.A0F5] # YI SYLLABLE VUX
+A0F6 ; [.33FB.0020.0002.A0F6] # YI SYLLABLE VU
+A0F7 ; [.33FC.0020.0002.A0F7] # YI SYLLABLE VUP
+A0F8 ; [.33FD.0020.0002.A0F8] # YI SYLLABLE VURX
+A0F9 ; [.33FE.0020.0002.A0F9] # YI SYLLABLE VUR
+A0FA ; [.33FF.0020.0002.A0FA] # YI SYLLABLE VYT
+A0FB ; [.3400.0020.0002.A0FB] # YI SYLLABLE VYX
+A0FC ; [.3401.0020.0002.A0FC] # YI SYLLABLE VY
+A0FD ; [.3402.0020.0002.A0FD] # YI SYLLABLE VYP
+A0FE ; [.3403.0020.0002.A0FE] # YI SYLLABLE VYRX
+A0FF ; [.3404.0020.0002.A0FF] # YI SYLLABLE VYR
+A100 ; [.3405.0020.0002.A100] # YI SYLLABLE DIT
+A101 ; [.3406.0020.0002.A101] # YI SYLLABLE DIX
+A102 ; [.3407.0020.0002.A102] # YI SYLLABLE DI
+A103 ; [.3408.0020.0002.A103] # YI SYLLABLE DIP
+A104 ; [.3409.0020.0002.A104] # YI SYLLABLE DIEX
+A105 ; [.340A.0020.0002.A105] # YI SYLLABLE DIE
+A106 ; [.340B.0020.0002.A106] # YI SYLLABLE DIEP
+A107 ; [.340C.0020.0002.A107] # YI SYLLABLE DAT
+A108 ; [.340D.0020.0002.A108] # YI SYLLABLE DAX
+A109 ; [.340E.0020.0002.A109] # YI SYLLABLE DA
+A10A ; [.340F.0020.0002.A10A] # YI SYLLABLE DAP
+A10B ; [.3410.0020.0002.A10B] # YI SYLLABLE DUOX
+A10C ; [.3411.0020.0002.A10C] # YI SYLLABLE DUO
+A10D ; [.3412.0020.0002.A10D] # YI SYLLABLE DOT
+A10E ; [.3413.0020.0002.A10E] # YI SYLLABLE DOX
+A10F ; [.3414.0020.0002.A10F] # YI SYLLABLE DO
+A110 ; [.3415.0020.0002.A110] # YI SYLLABLE DOP
+A111 ; [.3416.0020.0002.A111] # YI SYLLABLE DEX
+A112 ; [.3417.0020.0002.A112] # YI SYLLABLE DE
+A113 ; [.3418.0020.0002.A113] # YI SYLLABLE DEP
+A114 ; [.3419.0020.0002.A114] # YI SYLLABLE DUT
+A115 ; [.341A.0020.0002.A115] # YI SYLLABLE DUX
+A116 ; [.341B.0020.0002.A116] # YI SYLLABLE DU
+A117 ; [.341C.0020.0002.A117] # YI SYLLABLE DUP
+A118 ; [.341D.0020.0002.A118] # YI SYLLABLE DURX
+A119 ; [.341E.0020.0002.A119] # YI SYLLABLE DUR
+A11A ; [.341F.0020.0002.A11A] # YI SYLLABLE TIT
+A11B ; [.3420.0020.0002.A11B] # YI SYLLABLE TIX
+A11C ; [.3421.0020.0002.A11C] # YI SYLLABLE TI
+A11D ; [.3422.0020.0002.A11D] # YI SYLLABLE TIP
+A11E ; [.3423.0020.0002.A11E] # YI SYLLABLE TIEX
+A11F ; [.3424.0020.0002.A11F] # YI SYLLABLE TIE
+A120 ; [.3425.0020.0002.A120] # YI SYLLABLE TIEP
+A121 ; [.3426.0020.0002.A121] # YI SYLLABLE TAT
+A122 ; [.3427.0020.0002.A122] # YI SYLLABLE TAX
+A123 ; [.3428.0020.0002.A123] # YI SYLLABLE TA
+A124 ; [.3429.0020.0002.A124] # YI SYLLABLE TAP
+A125 ; [.342A.0020.0002.A125] # YI SYLLABLE TUOT
+A126 ; [.342B.0020.0002.A126] # YI SYLLABLE TUOX
+A127 ; [.342C.0020.0002.A127] # YI SYLLABLE TUO
+A128 ; [.342D.0020.0002.A128] # YI SYLLABLE TUOP
+A129 ; [.342E.0020.0002.A129] # YI SYLLABLE TOT
+A12A ; [.342F.0020.0002.A12A] # YI SYLLABLE TOX
+A12B ; [.3430.0020.0002.A12B] # YI SYLLABLE TO
+A12C ; [.3431.0020.0002.A12C] # YI SYLLABLE TOP
+A12D ; [.3432.0020.0002.A12D] # YI SYLLABLE TEX
+A12E ; [.3433.0020.0002.A12E] # YI SYLLABLE TE
+A12F ; [.3434.0020.0002.A12F] # YI SYLLABLE TEP
+A130 ; [.3435.0020.0002.A130] # YI SYLLABLE TUT
+A131 ; [.3436.0020.0002.A131] # YI SYLLABLE TUX
+A132 ; [.3437.0020.0002.A132] # YI SYLLABLE TU
+A133 ; [.3438.0020.0002.A133] # YI SYLLABLE TUP
+A134 ; [.3439.0020.0002.A134] # YI SYLLABLE TURX
+A135 ; [.343A.0020.0002.A135] # YI SYLLABLE TUR
+A136 ; [.343B.0020.0002.A136] # YI SYLLABLE DDIT
+A137 ; [.343C.0020.0002.A137] # YI SYLLABLE DDIX
+A138 ; [.343D.0020.0002.A138] # YI SYLLABLE DDI
+A139 ; [.343E.0020.0002.A139] # YI SYLLABLE DDIP
+A13A ; [.343F.0020.0002.A13A] # YI SYLLABLE DDIEX
+A13B ; [.3440.0020.0002.A13B] # YI SYLLABLE DDIE
+A13C ; [.3441.0020.0002.A13C] # YI SYLLABLE DDIEP
+A13D ; [.3442.0020.0002.A13D] # YI SYLLABLE DDAT
+A13E ; [.3443.0020.0002.A13E] # YI SYLLABLE DDAX
+A13F ; [.3444.0020.0002.A13F] # YI SYLLABLE DDA
+A140 ; [.3445.0020.0002.A140] # YI SYLLABLE DDAP
+A141 ; [.3446.0020.0002.A141] # YI SYLLABLE DDUOX
+A142 ; [.3447.0020.0002.A142] # YI SYLLABLE DDUO
+A143 ; [.3448.0020.0002.A143] # YI SYLLABLE DDUOP
+A144 ; [.3449.0020.0002.A144] # YI SYLLABLE DDOT
+A145 ; [.344A.0020.0002.A145] # YI SYLLABLE DDOX
+A146 ; [.344B.0020.0002.A146] # YI SYLLABLE DDO
+A147 ; [.344C.0020.0002.A147] # YI SYLLABLE DDOP
+A148 ; [.344D.0020.0002.A148] # YI SYLLABLE DDEX
+A149 ; [.344E.0020.0002.A149] # YI SYLLABLE DDE
+A14A ; [.344F.0020.0002.A14A] # YI SYLLABLE DDEP
+A14B ; [.3450.0020.0002.A14B] # YI SYLLABLE DDUT
+A14C ; [.3451.0020.0002.A14C] # YI SYLLABLE DDUX
+A14D ; [.3452.0020.0002.A14D] # YI SYLLABLE DDU
+A14E ; [.3453.0020.0002.A14E] # YI SYLLABLE DDUP
+A14F ; [.3454.0020.0002.A14F] # YI SYLLABLE DDURX
+A150 ; [.3455.0020.0002.A150] # YI SYLLABLE DDUR
+A151 ; [.3456.0020.0002.A151] # YI SYLLABLE NDIT
+A152 ; [.3457.0020.0002.A152] # YI SYLLABLE NDIX
+A153 ; [.3458.0020.0002.A153] # YI SYLLABLE NDI
+A154 ; [.3459.0020.0002.A154] # YI SYLLABLE NDIP
+A155 ; [.345A.0020.0002.A155] # YI SYLLABLE NDIEX
+A156 ; [.345B.0020.0002.A156] # YI SYLLABLE NDIE
+A157 ; [.345C.0020.0002.A157] # YI SYLLABLE NDAT
+A158 ; [.345D.0020.0002.A158] # YI SYLLABLE NDAX
+A159 ; [.345E.0020.0002.A159] # YI SYLLABLE NDA
+A15A ; [.345F.0020.0002.A15A] # YI SYLLABLE NDAP
+A15B ; [.3460.0020.0002.A15B] # YI SYLLABLE NDOT
+A15C ; [.3461.0020.0002.A15C] # YI SYLLABLE NDOX
+A15D ; [.3462.0020.0002.A15D] # YI SYLLABLE NDO
+A15E ; [.3463.0020.0002.A15E] # YI SYLLABLE NDOP
+A15F ; [.3464.0020.0002.A15F] # YI SYLLABLE NDEX
+A160 ; [.3465.0020.0002.A160] # YI SYLLABLE NDE
+A161 ; [.3466.0020.0002.A161] # YI SYLLABLE NDEP
+A162 ; [.3467.0020.0002.A162] # YI SYLLABLE NDUT
+A163 ; [.3468.0020.0002.A163] # YI SYLLABLE NDUX
+A164 ; [.3469.0020.0002.A164] # YI SYLLABLE NDU
+A165 ; [.346A.0020.0002.A165] # YI SYLLABLE NDUP
+A166 ; [.346B.0020.0002.A166] # YI SYLLABLE NDURX
+A167 ; [.346C.0020.0002.A167] # YI SYLLABLE NDUR
+A168 ; [.346D.0020.0002.A168] # YI SYLLABLE HNIT
+A169 ; [.346E.0020.0002.A169] # YI SYLLABLE HNIX
+A16A ; [.346F.0020.0002.A16A] # YI SYLLABLE HNI
+A16B ; [.3470.0020.0002.A16B] # YI SYLLABLE HNIP
+A16C ; [.3471.0020.0002.A16C] # YI SYLLABLE HNIET
+A16D ; [.3472.0020.0002.A16D] # YI SYLLABLE HNIEX
+A16E ; [.3473.0020.0002.A16E] # YI SYLLABLE HNIE
+A16F ; [.3474.0020.0002.A16F] # YI SYLLABLE HNIEP
+A170 ; [.3475.0020.0002.A170] # YI SYLLABLE HNAT
+A171 ; [.3476.0020.0002.A171] # YI SYLLABLE HNAX
+A172 ; [.3477.0020.0002.A172] # YI SYLLABLE HNA
+A173 ; [.3478.0020.0002.A173] # YI SYLLABLE HNAP
+A174 ; [.3479.0020.0002.A174] # YI SYLLABLE HNUOX
+A175 ; [.347A.0020.0002.A175] # YI SYLLABLE HNUO
+A176 ; [.347B.0020.0002.A176] # YI SYLLABLE HNOT
+A177 ; [.347C.0020.0002.A177] # YI SYLLABLE HNOX
+A178 ; [.347D.0020.0002.A178] # YI SYLLABLE HNOP
+A179 ; [.347E.0020.0002.A179] # YI SYLLABLE HNEX
+A17A ; [.347F.0020.0002.A17A] # YI SYLLABLE HNE
+A17B ; [.3480.0020.0002.A17B] # YI SYLLABLE HNEP
+A17C ; [.3481.0020.0002.A17C] # YI SYLLABLE HNUT
+A17D ; [.3482.0020.0002.A17D] # YI SYLLABLE NIT
+A17E ; [.3483.0020.0002.A17E] # YI SYLLABLE NIX
+A17F ; [.3484.0020.0002.A17F] # YI SYLLABLE NI
+A180 ; [.3485.0020.0002.A180] # YI SYLLABLE NIP
+A181 ; [.3486.0020.0002.A181] # YI SYLLABLE NIEX
+A182 ; [.3487.0020.0002.A182] # YI SYLLABLE NIE
+A183 ; [.3488.0020.0002.A183] # YI SYLLABLE NIEP
+A184 ; [.3489.0020.0002.A184] # YI SYLLABLE NAX
+A185 ; [.348A.0020.0002.A185] # YI SYLLABLE NA
+A186 ; [.348B.0020.0002.A186] # YI SYLLABLE NAP
+A187 ; [.348C.0020.0002.A187] # YI SYLLABLE NUOX
+A188 ; [.348D.0020.0002.A188] # YI SYLLABLE NUO
+A189 ; [.348E.0020.0002.A189] # YI SYLLABLE NUOP
+A18A ; [.348F.0020.0002.A18A] # YI SYLLABLE NOT
+A18B ; [.3490.0020.0002.A18B] # YI SYLLABLE NOX
+A18C ; [.3491.0020.0002.A18C] # YI SYLLABLE NO
+A18D ; [.3492.0020.0002.A18D] # YI SYLLABLE NOP
+A18E ; [.3493.0020.0002.A18E] # YI SYLLABLE NEX
+A18F ; [.3494.0020.0002.A18F] # YI SYLLABLE NE
+A190 ; [.3495.0020.0002.A190] # YI SYLLABLE NEP
+A191 ; [.3496.0020.0002.A191] # YI SYLLABLE NUT
+A192 ; [.3497.0020.0002.A192] # YI SYLLABLE NUX
+A193 ; [.3498.0020.0002.A193] # YI SYLLABLE NU
+A194 ; [.3499.0020.0002.A194] # YI SYLLABLE NUP
+A195 ; [.349A.0020.0002.A195] # YI SYLLABLE NURX
+A196 ; [.349B.0020.0002.A196] # YI SYLLABLE NUR
+A197 ; [.349C.0020.0002.A197] # YI SYLLABLE HLIT
+A198 ; [.349D.0020.0002.A198] # YI SYLLABLE HLIX
+A199 ; [.349E.0020.0002.A199] # YI SYLLABLE HLI
+A19A ; [.349F.0020.0002.A19A] # YI SYLLABLE HLIP
+A19B ; [.34A0.0020.0002.A19B] # YI SYLLABLE HLIEX
+A19C ; [.34A1.0020.0002.A19C] # YI SYLLABLE HLIE
+A19D ; [.34A2.0020.0002.A19D] # YI SYLLABLE HLIEP
+A19E ; [.34A3.0020.0002.A19E] # YI SYLLABLE HLAT
+A19F ; [.34A4.0020.0002.A19F] # YI SYLLABLE HLAX
+A1A0 ; [.34A5.0020.0002.A1A0] # YI SYLLABLE HLA
+A1A1 ; [.34A6.0020.0002.A1A1] # YI SYLLABLE HLAP
+A1A2 ; [.34A7.0020.0002.A1A2] # YI SYLLABLE HLUOX
+A1A3 ; [.34A8.0020.0002.A1A3] # YI SYLLABLE HLUO
+A1A4 ; [.34A9.0020.0002.A1A4] # YI SYLLABLE HLUOP
+A1A5 ; [.34AA.0020.0002.A1A5] # YI SYLLABLE HLOX
+A1A6 ; [.34AB.0020.0002.A1A6] # YI SYLLABLE HLO
+A1A7 ; [.34AC.0020.0002.A1A7] # YI SYLLABLE HLOP
+A1A8 ; [.34AD.0020.0002.A1A8] # YI SYLLABLE HLEX
+A1A9 ; [.34AE.0020.0002.A1A9] # YI SYLLABLE HLE
+A1AA ; [.34AF.0020.0002.A1AA] # YI SYLLABLE HLEP
+A1AB ; [.34B0.0020.0002.A1AB] # YI SYLLABLE HLUT
+A1AC ; [.34B1.0020.0002.A1AC] # YI SYLLABLE HLUX
+A1AD ; [.34B2.0020.0002.A1AD] # YI SYLLABLE HLU
+A1AE ; [.34B3.0020.0002.A1AE] # YI SYLLABLE HLUP
+A1AF ; [.34B4.0020.0002.A1AF] # YI SYLLABLE HLURX
+A1B0 ; [.34B5.0020.0002.A1B0] # YI SYLLABLE HLUR
+A1B1 ; [.34B6.0020.0002.A1B1] # YI SYLLABLE HLYT
+A1B2 ; [.34B7.0020.0002.A1B2] # YI SYLLABLE HLYX
+A1B3 ; [.34B8.0020.0002.A1B3] # YI SYLLABLE HLY
+A1B4 ; [.34B9.0020.0002.A1B4] # YI SYLLABLE HLYP
+A1B5 ; [.34BA.0020.0002.A1B5] # YI SYLLABLE HLYRX
+A1B6 ; [.34BB.0020.0002.A1B6] # YI SYLLABLE HLYR
+A1B7 ; [.34BC.0020.0002.A1B7] # YI SYLLABLE LIT
+A1B8 ; [.34BD.0020.0002.A1B8] # YI SYLLABLE LIX
+A1B9 ; [.34BE.0020.0002.A1B9] # YI SYLLABLE LI
+A1BA ; [.34BF.0020.0002.A1BA] # YI SYLLABLE LIP
+A1BB ; [.34C0.0020.0002.A1BB] # YI SYLLABLE LIET
+A1BC ; [.34C1.0020.0002.A1BC] # YI SYLLABLE LIEX
+A1BD ; [.34C2.0020.0002.A1BD] # YI SYLLABLE LIE
+A1BE ; [.34C3.0020.0002.A1BE] # YI SYLLABLE LIEP
+A1BF ; [.34C4.0020.0002.A1BF] # YI SYLLABLE LAT
+A1C0 ; [.34C5.0020.0002.A1C0] # YI SYLLABLE LAX
+A1C1 ; [.34C6.0020.0002.A1C1] # YI SYLLABLE LA
+A1C2 ; [.34C7.0020.0002.A1C2] # YI SYLLABLE LAP
+A1C3 ; [.34C8.0020.0002.A1C3] # YI SYLLABLE LUOT
+A1C4 ; [.34C9.0020.0002.A1C4] # YI SYLLABLE LUOX
+A1C5 ; [.34CA.0020.0002.A1C5] # YI SYLLABLE LUO
+A1C6 ; [.34CB.0020.0002.A1C6] # YI SYLLABLE LUOP
+A1C7 ; [.34CC.0020.0002.A1C7] # YI SYLLABLE LOT
+A1C8 ; [.34CD.0020.0002.A1C8] # YI SYLLABLE LOX
+A1C9 ; [.34CE.0020.0002.A1C9] # YI SYLLABLE LO
+A1CA ; [.34CF.0020.0002.A1CA] # YI SYLLABLE LOP
+A1CB ; [.34D0.0020.0002.A1CB] # YI SYLLABLE LEX
+A1CC ; [.34D1.0020.0002.A1CC] # YI SYLLABLE LE
+A1CD ; [.34D2.0020.0002.A1CD] # YI SYLLABLE LEP
+A1CE ; [.34D3.0020.0002.A1CE] # YI SYLLABLE LUT
+A1CF ; [.34D4.0020.0002.A1CF] # YI SYLLABLE LUX
+A1D0 ; [.34D5.0020.0002.A1D0] # YI SYLLABLE LU
+A1D1 ; [.34D6.0020.0002.A1D1] # YI SYLLABLE LUP
+A1D2 ; [.34D7.0020.0002.A1D2] # YI SYLLABLE LURX
+A1D3 ; [.34D8.0020.0002.A1D3] # YI SYLLABLE LUR
+A1D4 ; [.34D9.0020.0002.A1D4] # YI SYLLABLE LYT
+A1D5 ; [.34DA.0020.0002.A1D5] # YI SYLLABLE LYX
+A1D6 ; [.34DB.0020.0002.A1D6] # YI SYLLABLE LY
+A1D7 ; [.34DC.0020.0002.A1D7] # YI SYLLABLE LYP
+A1D8 ; [.34DD.0020.0002.A1D8] # YI SYLLABLE LYRX
+A1D9 ; [.34DE.0020.0002.A1D9] # YI SYLLABLE LYR
+A1DA ; [.34DF.0020.0002.A1DA] # YI SYLLABLE GIT
+A1DB ; [.34E0.0020.0002.A1DB] # YI SYLLABLE GIX
+A1DC ; [.34E1.0020.0002.A1DC] # YI SYLLABLE GI
+A1DD ; [.34E2.0020.0002.A1DD] # YI SYLLABLE GIP
+A1DE ; [.34E3.0020.0002.A1DE] # YI SYLLABLE GIET
+A1DF ; [.34E4.0020.0002.A1DF] # YI SYLLABLE GIEX
+A1E0 ; [.34E5.0020.0002.A1E0] # YI SYLLABLE GIE
+A1E1 ; [.34E6.0020.0002.A1E1] # YI SYLLABLE GIEP
+A1E2 ; [.34E7.0020.0002.A1E2] # YI SYLLABLE GAT
+A1E3 ; [.34E8.0020.0002.A1E3] # YI SYLLABLE GAX
+A1E4 ; [.34E9.0020.0002.A1E4] # YI SYLLABLE GA
+A1E5 ; [.34EA.0020.0002.A1E5] # YI SYLLABLE GAP
+A1E6 ; [.34EB.0020.0002.A1E6] # YI SYLLABLE GUOT
+A1E7 ; [.34EC.0020.0002.A1E7] # YI SYLLABLE GUOX
+A1E8 ; [.34ED.0020.0002.A1E8] # YI SYLLABLE GUO
+A1E9 ; [.34EE.0020.0002.A1E9] # YI SYLLABLE GUOP
+A1EA ; [.34EF.0020.0002.A1EA] # YI SYLLABLE GOT
+A1EB ; [.34F0.0020.0002.A1EB] # YI SYLLABLE GOX
+A1EC ; [.34F1.0020.0002.A1EC] # YI SYLLABLE GO
+A1ED ; [.34F2.0020.0002.A1ED] # YI SYLLABLE GOP
+A1EE ; [.34F3.0020.0002.A1EE] # YI SYLLABLE GET
+A1EF ; [.34F4.0020.0002.A1EF] # YI SYLLABLE GEX
+A1F0 ; [.34F5.0020.0002.A1F0] # YI SYLLABLE GE
+A1F1 ; [.34F6.0020.0002.A1F1] # YI SYLLABLE GEP
+A1F2 ; [.34F7.0020.0002.A1F2] # YI SYLLABLE GUT
+A1F3 ; [.34F8.0020.0002.A1F3] # YI SYLLABLE GUX
+A1F4 ; [.34F9.0020.0002.A1F4] # YI SYLLABLE GU
+A1F5 ; [.34FA.0020.0002.A1F5] # YI SYLLABLE GUP
+A1F6 ; [.34FB.0020.0002.A1F6] # YI SYLLABLE GURX
+A1F7 ; [.34FC.0020.0002.A1F7] # YI SYLLABLE GUR
+A1F8 ; [.34FD.0020.0002.A1F8] # YI SYLLABLE KIT
+A1F9 ; [.34FE.0020.0002.A1F9] # YI SYLLABLE KIX
+A1FA ; [.34FF.0020.0002.A1FA] # YI SYLLABLE KI
+A1FB ; [.3500.0020.0002.A1FB] # YI SYLLABLE KIP
+A1FC ; [.3501.0020.0002.A1FC] # YI SYLLABLE KIEX
+A1FD ; [.3502.0020.0002.A1FD] # YI SYLLABLE KIE
+A1FE ; [.3503.0020.0002.A1FE] # YI SYLLABLE KIEP
+A1FF ; [.3504.0020.0002.A1FF] # YI SYLLABLE KAT
+A200 ; [.3505.0020.0002.A200] # YI SYLLABLE KAX
+A201 ; [.3506.0020.0002.A201] # YI SYLLABLE KA
+A202 ; [.3507.0020.0002.A202] # YI SYLLABLE KAP
+A203 ; [.3508.0020.0002.A203] # YI SYLLABLE KUOX
+A204 ; [.3509.0020.0002.A204] # YI SYLLABLE KUO
+A205 ; [.350A.0020.0002.A205] # YI SYLLABLE KUOP
+A206 ; [.350B.0020.0002.A206] # YI SYLLABLE KOT
+A207 ; [.350C.0020.0002.A207] # YI SYLLABLE KOX
+A208 ; [.350D.0020.0002.A208] # YI SYLLABLE KO
+A209 ; [.350E.0020.0002.A209] # YI SYLLABLE KOP
+A20A ; [.350F.0020.0002.A20A] # YI SYLLABLE KET
+A20B ; [.3510.0020.0002.A20B] # YI SYLLABLE KEX
+A20C ; [.3511.0020.0002.A20C] # YI SYLLABLE KE
+A20D ; [.3512.0020.0002.A20D] # YI SYLLABLE KEP
+A20E ; [.3513.0020.0002.A20E] # YI SYLLABLE KUT
+A20F ; [.3514.0020.0002.A20F] # YI SYLLABLE KUX
+A210 ; [.3515.0020.0002.A210] # YI SYLLABLE KU
+A211 ; [.3516.0020.0002.A211] # YI SYLLABLE KUP
+A212 ; [.3517.0020.0002.A212] # YI SYLLABLE KURX
+A213 ; [.3518.0020.0002.A213] # YI SYLLABLE KUR
+A214 ; [.3519.0020.0002.A214] # YI SYLLABLE GGIT
+A215 ; [.351A.0020.0002.A215] # YI SYLLABLE GGIX
+A216 ; [.351B.0020.0002.A216] # YI SYLLABLE GGI
+A217 ; [.351C.0020.0002.A217] # YI SYLLABLE GGIEX
+A218 ; [.351D.0020.0002.A218] # YI SYLLABLE GGIE
+A219 ; [.351E.0020.0002.A219] # YI SYLLABLE GGIEP
+A21A ; [.351F.0020.0002.A21A] # YI SYLLABLE GGAT
+A21B ; [.3520.0020.0002.A21B] # YI SYLLABLE GGAX
+A21C ; [.3521.0020.0002.A21C] # YI SYLLABLE GGA
+A21D ; [.3522.0020.0002.A21D] # YI SYLLABLE GGAP
+A21E ; [.3523.0020.0002.A21E] # YI SYLLABLE GGUOT
+A21F ; [.3524.0020.0002.A21F] # YI SYLLABLE GGUOX
+A220 ; [.3525.0020.0002.A220] # YI SYLLABLE GGUO
+A221 ; [.3526.0020.0002.A221] # YI SYLLABLE GGUOP
+A222 ; [.3527.0020.0002.A222] # YI SYLLABLE GGOT
+A223 ; [.3528.0020.0002.A223] # YI SYLLABLE GGOX
+A224 ; [.3529.0020.0002.A224] # YI SYLLABLE GGO
+A225 ; [.352A.0020.0002.A225] # YI SYLLABLE GGOP
+A226 ; [.352B.0020.0002.A226] # YI SYLLABLE GGET
+A227 ; [.352C.0020.0002.A227] # YI SYLLABLE GGEX
+A228 ; [.352D.0020.0002.A228] # YI SYLLABLE GGE
+A229 ; [.352E.0020.0002.A229] # YI SYLLABLE GGEP
+A22A ; [.352F.0020.0002.A22A] # YI SYLLABLE GGUT
+A22B ; [.3530.0020.0002.A22B] # YI SYLLABLE GGUX
+A22C ; [.3531.0020.0002.A22C] # YI SYLLABLE GGU
+A22D ; [.3532.0020.0002.A22D] # YI SYLLABLE GGUP
+A22E ; [.3533.0020.0002.A22E] # YI SYLLABLE GGURX
+A22F ; [.3534.0020.0002.A22F] # YI SYLLABLE GGUR
+A230 ; [.3535.0020.0002.A230] # YI SYLLABLE MGIEX
+A231 ; [.3536.0020.0002.A231] # YI SYLLABLE MGIE
+A232 ; [.3537.0020.0002.A232] # YI SYLLABLE MGAT
+A233 ; [.3538.0020.0002.A233] # YI SYLLABLE MGAX
+A234 ; [.3539.0020.0002.A234] # YI SYLLABLE MGA
+A235 ; [.353A.0020.0002.A235] # YI SYLLABLE MGAP
+A236 ; [.353B.0020.0002.A236] # YI SYLLABLE MGUOX
+A237 ; [.353C.0020.0002.A237] # YI SYLLABLE MGUO
+A238 ; [.353D.0020.0002.A238] # YI SYLLABLE MGUOP
+A239 ; [.353E.0020.0002.A239] # YI SYLLABLE MGOT
+A23A ; [.353F.0020.0002.A23A] # YI SYLLABLE MGOX
+A23B ; [.3540.0020.0002.A23B] # YI SYLLABLE MGO
+A23C ; [.3541.0020.0002.A23C] # YI SYLLABLE MGOP
+A23D ; [.3542.0020.0002.A23D] # YI SYLLABLE MGEX
+A23E ; [.3543.0020.0002.A23E] # YI SYLLABLE MGE
+A23F ; [.3544.0020.0002.A23F] # YI SYLLABLE MGEP
+A240 ; [.3545.0020.0002.A240] # YI SYLLABLE MGUT
+A241 ; [.3546.0020.0002.A241] # YI SYLLABLE MGUX
+A242 ; [.3547.0020.0002.A242] # YI SYLLABLE MGU
+A243 ; [.3548.0020.0002.A243] # YI SYLLABLE MGUP
+A244 ; [.3549.0020.0002.A244] # YI SYLLABLE MGURX
+A245 ; [.354A.0020.0002.A245] # YI SYLLABLE MGUR
+A246 ; [.354B.0020.0002.A246] # YI SYLLABLE HXIT
+A247 ; [.354C.0020.0002.A247] # YI SYLLABLE HXIX
+A248 ; [.354D.0020.0002.A248] # YI SYLLABLE HXI
+A249 ; [.354E.0020.0002.A249] # YI SYLLABLE HXIP
+A24A ; [.354F.0020.0002.A24A] # YI SYLLABLE HXIET
+A24B ; [.3550.0020.0002.A24B] # YI SYLLABLE HXIEX
+A24C ; [.3551.0020.0002.A24C] # YI SYLLABLE HXIE
+A24D ; [.3552.0020.0002.A24D] # YI SYLLABLE HXIEP
+A24E ; [.3553.0020.0002.A24E] # YI SYLLABLE HXAT
+A24F ; [.3554.0020.0002.A24F] # YI SYLLABLE HXAX
+A250 ; [.3555.0020.0002.A250] # YI SYLLABLE HXA
+A251 ; [.3556.0020.0002.A251] # YI SYLLABLE HXAP
+A252 ; [.3557.0020.0002.A252] # YI SYLLABLE HXUOT
+A253 ; [.3558.0020.0002.A253] # YI SYLLABLE HXUOX
+A254 ; [.3559.0020.0002.A254] # YI SYLLABLE HXUO
+A255 ; [.355A.0020.0002.A255] # YI SYLLABLE HXUOP
+A256 ; [.355B.0020.0002.A256] # YI SYLLABLE HXOT
+A257 ; [.355C.0020.0002.A257] # YI SYLLABLE HXOX
+A258 ; [.355D.0020.0002.A258] # YI SYLLABLE HXO
+A259 ; [.355E.0020.0002.A259] # YI SYLLABLE HXOP
+A25A ; [.355F.0020.0002.A25A] # YI SYLLABLE HXEX
+A25B ; [.3560.0020.0002.A25B] # YI SYLLABLE HXE
+A25C ; [.3561.0020.0002.A25C] # YI SYLLABLE HXEP
+A25D ; [.3562.0020.0002.A25D] # YI SYLLABLE NGIEX
+A25E ; [.3563.0020.0002.A25E] # YI SYLLABLE NGIE
+A25F ; [.3564.0020.0002.A25F] # YI SYLLABLE NGIEP
+A260 ; [.3565.0020.0002.A260] # YI SYLLABLE NGAT
+A261 ; [.3566.0020.0002.A261] # YI SYLLABLE NGAX
+A262 ; [.3567.0020.0002.A262] # YI SYLLABLE NGA
+A263 ; [.3568.0020.0002.A263] # YI SYLLABLE NGAP
+A264 ; [.3569.0020.0002.A264] # YI SYLLABLE NGUOT
+A265 ; [.356A.0020.0002.A265] # YI SYLLABLE NGUOX
+A266 ; [.356B.0020.0002.A266] # YI SYLLABLE NGUO
+A267 ; [.356C.0020.0002.A267] # YI SYLLABLE NGOT
+A268 ; [.356D.0020.0002.A268] # YI SYLLABLE NGOX
+A269 ; [.356E.0020.0002.A269] # YI SYLLABLE NGO
+A26A ; [.356F.0020.0002.A26A] # YI SYLLABLE NGOP
+A26B ; [.3570.0020.0002.A26B] # YI SYLLABLE NGEX
+A26C ; [.3571.0020.0002.A26C] # YI SYLLABLE NGE
+A26D ; [.3572.0020.0002.A26D] # YI SYLLABLE NGEP
+A26E ; [.3573.0020.0002.A26E] # YI SYLLABLE HIT
+A26F ; [.3574.0020.0002.A26F] # YI SYLLABLE HIEX
+A270 ; [.3575.0020.0002.A270] # YI SYLLABLE HIE
+A271 ; [.3576.0020.0002.A271] # YI SYLLABLE HAT
+A272 ; [.3577.0020.0002.A272] # YI SYLLABLE HAX
+A273 ; [.3578.0020.0002.A273] # YI SYLLABLE HA
+A274 ; [.3579.0020.0002.A274] # YI SYLLABLE HAP
+A275 ; [.357A.0020.0002.A275] # YI SYLLABLE HUOT
+A276 ; [.357B.0020.0002.A276] # YI SYLLABLE HUOX
+A277 ; [.357C.0020.0002.A277] # YI SYLLABLE HUO
+A278 ; [.357D.0020.0002.A278] # YI SYLLABLE HUOP
+A279 ; [.357E.0020.0002.A279] # YI SYLLABLE HOT
+A27A ; [.357F.0020.0002.A27A] # YI SYLLABLE HOX
+A27B ; [.3580.0020.0002.A27B] # YI SYLLABLE HO
+A27C ; [.3581.0020.0002.A27C] # YI SYLLABLE HOP
+A27D ; [.3582.0020.0002.A27D] # YI SYLLABLE HEX
+A27E ; [.3583.0020.0002.A27E] # YI SYLLABLE HE
+A27F ; [.3584.0020.0002.A27F] # YI SYLLABLE HEP
+A280 ; [.3585.0020.0002.A280] # YI SYLLABLE WAT
+A281 ; [.3586.0020.0002.A281] # YI SYLLABLE WAX
+A282 ; [.3587.0020.0002.A282] # YI SYLLABLE WA
+A283 ; [.3588.0020.0002.A283] # YI SYLLABLE WAP
+A284 ; [.3589.0020.0002.A284] # YI SYLLABLE WUOX
+A285 ; [.358A.0020.0002.A285] # YI SYLLABLE WUO
+A286 ; [.358B.0020.0002.A286] # YI SYLLABLE WUOP
+A287 ; [.358C.0020.0002.A287] # YI SYLLABLE WOX
+A288 ; [.358D.0020.0002.A288] # YI SYLLABLE WO
+A289 ; [.358E.0020.0002.A289] # YI SYLLABLE WOP
+A28A ; [.358F.0020.0002.A28A] # YI SYLLABLE WEX
+A28B ; [.3590.0020.0002.A28B] # YI SYLLABLE WE
+A28C ; [.3591.0020.0002.A28C] # YI SYLLABLE WEP
+A28D ; [.3592.0020.0002.A28D] # YI SYLLABLE ZIT
+A28E ; [.3593.0020.0002.A28E] # YI SYLLABLE ZIX
+A28F ; [.3594.0020.0002.A28F] # YI SYLLABLE ZI
+A290 ; [.3595.0020.0002.A290] # YI SYLLABLE ZIP
+A291 ; [.3596.0020.0002.A291] # YI SYLLABLE ZIEX
+A292 ; [.3597.0020.0002.A292] # YI SYLLABLE ZIE
+A293 ; [.3598.0020.0002.A293] # YI SYLLABLE ZIEP
+A294 ; [.3599.0020.0002.A294] # YI SYLLABLE ZAT
+A295 ; [.359A.0020.0002.A295] # YI SYLLABLE ZAX
+A296 ; [.359B.0020.0002.A296] # YI SYLLABLE ZA
+A297 ; [.359C.0020.0002.A297] # YI SYLLABLE ZAP
+A298 ; [.359D.0020.0002.A298] # YI SYLLABLE ZUOX
+A299 ; [.359E.0020.0002.A299] # YI SYLLABLE ZUO
+A29A ; [.359F.0020.0002.A29A] # YI SYLLABLE ZUOP
+A29B ; [.35A0.0020.0002.A29B] # YI SYLLABLE ZOT
+A29C ; [.35A1.0020.0002.A29C] # YI SYLLABLE ZOX
+A29D ; [.35A2.0020.0002.A29D] # YI SYLLABLE ZO
+A29E ; [.35A3.0020.0002.A29E] # YI SYLLABLE ZOP
+A29F ; [.35A4.0020.0002.A29F] # YI SYLLABLE ZEX
+A2A0 ; [.35A5.0020.0002.A2A0] # YI SYLLABLE ZE
+A2A1 ; [.35A6.0020.0002.A2A1] # YI SYLLABLE ZEP
+A2A2 ; [.35A7.0020.0002.A2A2] # YI SYLLABLE ZUT
+A2A3 ; [.35A8.0020.0002.A2A3] # YI SYLLABLE ZUX
+A2A4 ; [.35A9.0020.0002.A2A4] # YI SYLLABLE ZU
+A2A5 ; [.35AA.0020.0002.A2A5] # YI SYLLABLE ZUP
+A2A6 ; [.35AB.0020.0002.A2A6] # YI SYLLABLE ZURX
+A2A7 ; [.35AC.0020.0002.A2A7] # YI SYLLABLE ZUR
+A2A8 ; [.35AD.0020.0002.A2A8] # YI SYLLABLE ZYT
+A2A9 ; [.35AE.0020.0002.A2A9] # YI SYLLABLE ZYX
+A2AA ; [.35AF.0020.0002.A2AA] # YI SYLLABLE ZY
+A2AB ; [.35B0.0020.0002.A2AB] # YI SYLLABLE ZYP
+A2AC ; [.35B1.0020.0002.A2AC] # YI SYLLABLE ZYRX
+A2AD ; [.35B2.0020.0002.A2AD] # YI SYLLABLE ZYR
+A2AE ; [.35B3.0020.0002.A2AE] # YI SYLLABLE CIT
+A2AF ; [.35B4.0020.0002.A2AF] # YI SYLLABLE CIX
+A2B0 ; [.35B5.0020.0002.A2B0] # YI SYLLABLE CI
+A2B1 ; [.35B6.0020.0002.A2B1] # YI SYLLABLE CIP
+A2B2 ; [.35B7.0020.0002.A2B2] # YI SYLLABLE CIET
+A2B3 ; [.35B8.0020.0002.A2B3] # YI SYLLABLE CIEX
+A2B4 ; [.35B9.0020.0002.A2B4] # YI SYLLABLE CIE
+A2B5 ; [.35BA.0020.0002.A2B5] # YI SYLLABLE CIEP
+A2B6 ; [.35BB.0020.0002.A2B6] # YI SYLLABLE CAT
+A2B7 ; [.35BC.0020.0002.A2B7] # YI SYLLABLE CAX
+A2B8 ; [.35BD.0020.0002.A2B8] # YI SYLLABLE CA
+A2B9 ; [.35BE.0020.0002.A2B9] # YI SYLLABLE CAP
+A2BA ; [.35BF.0020.0002.A2BA] # YI SYLLABLE CUOX
+A2BB ; [.35C0.0020.0002.A2BB] # YI SYLLABLE CUO
+A2BC ; [.35C1.0020.0002.A2BC] # YI SYLLABLE CUOP
+A2BD ; [.35C2.0020.0002.A2BD] # YI SYLLABLE COT
+A2BE ; [.35C3.0020.0002.A2BE] # YI SYLLABLE COX
+A2BF ; [.35C4.0020.0002.A2BF] # YI SYLLABLE CO
+A2C0 ; [.35C5.0020.0002.A2C0] # YI SYLLABLE COP
+A2C1 ; [.35C6.0020.0002.A2C1] # YI SYLLABLE CEX
+A2C2 ; [.35C7.0020.0002.A2C2] # YI SYLLABLE CE
+A2C3 ; [.35C8.0020.0002.A2C3] # YI SYLLABLE CEP
+A2C4 ; [.35C9.0020.0002.A2C4] # YI SYLLABLE CUT
+A2C5 ; [.35CA.0020.0002.A2C5] # YI SYLLABLE CUX
+A2C6 ; [.35CB.0020.0002.A2C6] # YI SYLLABLE CU
+A2C7 ; [.35CC.0020.0002.A2C7] # YI SYLLABLE CUP
+A2C8 ; [.35CD.0020.0002.A2C8] # YI SYLLABLE CURX
+A2C9 ; [.35CE.0020.0002.A2C9] # YI SYLLABLE CUR
+A2CA ; [.35CF.0020.0002.A2CA] # YI SYLLABLE CYT
+A2CB ; [.35D0.0020.0002.A2CB] # YI SYLLABLE CYX
+A2CC ; [.35D1.0020.0002.A2CC] # YI SYLLABLE CY
+A2CD ; [.35D2.0020.0002.A2CD] # YI SYLLABLE CYP
+A2CE ; [.35D3.0020.0002.A2CE] # YI SYLLABLE CYRX
+A2CF ; [.35D4.0020.0002.A2CF] # YI SYLLABLE CYR
+A2D0 ; [.35D5.0020.0002.A2D0] # YI SYLLABLE ZZIT
+A2D1 ; [.35D6.0020.0002.A2D1] # YI SYLLABLE ZZIX
+A2D2 ; [.35D7.0020.0002.A2D2] # YI SYLLABLE ZZI
+A2D3 ; [.35D8.0020.0002.A2D3] # YI SYLLABLE ZZIP
+A2D4 ; [.35D9.0020.0002.A2D4] # YI SYLLABLE ZZIET
+A2D5 ; [.35DA.0020.0002.A2D5] # YI SYLLABLE ZZIEX
+A2D6 ; [.35DB.0020.0002.A2D6] # YI SYLLABLE ZZIE
+A2D7 ; [.35DC.0020.0002.A2D7] # YI SYLLABLE ZZIEP
+A2D8 ; [.35DD.0020.0002.A2D8] # YI SYLLABLE ZZAT
+A2D9 ; [.35DE.0020.0002.A2D9] # YI SYLLABLE ZZAX
+A2DA ; [.35DF.0020.0002.A2DA] # YI SYLLABLE ZZA
+A2DB ; [.35E0.0020.0002.A2DB] # YI SYLLABLE ZZAP
+A2DC ; [.35E1.0020.0002.A2DC] # YI SYLLABLE ZZOX
+A2DD ; [.35E2.0020.0002.A2DD] # YI SYLLABLE ZZO
+A2DE ; [.35E3.0020.0002.A2DE] # YI SYLLABLE ZZOP
+A2DF ; [.35E4.0020.0002.A2DF] # YI SYLLABLE ZZEX
+A2E0 ; [.35E5.0020.0002.A2E0] # YI SYLLABLE ZZE
+A2E1 ; [.35E6.0020.0002.A2E1] # YI SYLLABLE ZZEP
+A2E2 ; [.35E7.0020.0002.A2E2] # YI SYLLABLE ZZUX
+A2E3 ; [.35E8.0020.0002.A2E3] # YI SYLLABLE ZZU
+A2E4 ; [.35E9.0020.0002.A2E4] # YI SYLLABLE ZZUP
+A2E5 ; [.35EA.0020.0002.A2E5] # YI SYLLABLE ZZURX
+A2E6 ; [.35EB.0020.0002.A2E6] # YI SYLLABLE ZZUR
+A2E7 ; [.35EC.0020.0002.A2E7] # YI SYLLABLE ZZYT
+A2E8 ; [.35ED.0020.0002.A2E8] # YI SYLLABLE ZZYX
+A2E9 ; [.35EE.0020.0002.A2E9] # YI SYLLABLE ZZY
+A2EA ; [.35EF.0020.0002.A2EA] # YI SYLLABLE ZZYP
+A2EB ; [.35F0.0020.0002.A2EB] # YI SYLLABLE ZZYRX
+A2EC ; [.35F1.0020.0002.A2EC] # YI SYLLABLE ZZYR
+A2ED ; [.35F2.0020.0002.A2ED] # YI SYLLABLE NZIT
+A2EE ; [.35F3.0020.0002.A2EE] # YI SYLLABLE NZIX
+A2EF ; [.35F4.0020.0002.A2EF] # YI SYLLABLE NZI
+A2F0 ; [.35F5.0020.0002.A2F0] # YI SYLLABLE NZIP
+A2F1 ; [.35F6.0020.0002.A2F1] # YI SYLLABLE NZIEX
+A2F2 ; [.35F7.0020.0002.A2F2] # YI SYLLABLE NZIE
+A2F3 ; [.35F8.0020.0002.A2F3] # YI SYLLABLE NZIEP
+A2F4 ; [.35F9.0020.0002.A2F4] # YI SYLLABLE NZAT
+A2F5 ; [.35FA.0020.0002.A2F5] # YI SYLLABLE NZAX
+A2F6 ; [.35FB.0020.0002.A2F6] # YI SYLLABLE NZA
+A2F7 ; [.35FC.0020.0002.A2F7] # YI SYLLABLE NZAP
+A2F8 ; [.35FD.0020.0002.A2F8] # YI SYLLABLE NZUOX
+A2F9 ; [.35FE.0020.0002.A2F9] # YI SYLLABLE NZUO
+A2FA ; [.35FF.0020.0002.A2FA] # YI SYLLABLE NZOX
+A2FB ; [.3600.0020.0002.A2FB] # YI SYLLABLE NZOP
+A2FC ; [.3601.0020.0002.A2FC] # YI SYLLABLE NZEX
+A2FD ; [.3602.0020.0002.A2FD] # YI SYLLABLE NZE
+A2FE ; [.3603.0020.0002.A2FE] # YI SYLLABLE NZUX
+A2FF ; [.3604.0020.0002.A2FF] # YI SYLLABLE NZU
+A300 ; [.3605.0020.0002.A300] # YI SYLLABLE NZUP
+A301 ; [.3606.0020.0002.A301] # YI SYLLABLE NZURX
+A302 ; [.3607.0020.0002.A302] # YI SYLLABLE NZUR
+A303 ; [.3608.0020.0002.A303] # YI SYLLABLE NZYT
+A304 ; [.3609.0020.0002.A304] # YI SYLLABLE NZYX
+A305 ; [.360A.0020.0002.A305] # YI SYLLABLE NZY
+A306 ; [.360B.0020.0002.A306] # YI SYLLABLE NZYP
+A307 ; [.360C.0020.0002.A307] # YI SYLLABLE NZYRX
+A308 ; [.360D.0020.0002.A308] # YI SYLLABLE NZYR
+A309 ; [.360E.0020.0002.A309] # YI SYLLABLE SIT
+A30A ; [.360F.0020.0002.A30A] # YI SYLLABLE SIX
+A30B ; [.3610.0020.0002.A30B] # YI SYLLABLE SI
+A30C ; [.3611.0020.0002.A30C] # YI SYLLABLE SIP
+A30D ; [.3612.0020.0002.A30D] # YI SYLLABLE SIEX
+A30E ; [.3613.0020.0002.A30E] # YI SYLLABLE SIE
+A30F ; [.3614.0020.0002.A30F] # YI SYLLABLE SIEP
+A310 ; [.3615.0020.0002.A310] # YI SYLLABLE SAT
+A311 ; [.3616.0020.0002.A311] # YI SYLLABLE SAX
+A312 ; [.3617.0020.0002.A312] # YI SYLLABLE SA
+A313 ; [.3618.0020.0002.A313] # YI SYLLABLE SAP
+A314 ; [.3619.0020.0002.A314] # YI SYLLABLE SUOX
+A315 ; [.361A.0020.0002.A315] # YI SYLLABLE SUO
+A316 ; [.361B.0020.0002.A316] # YI SYLLABLE SUOP
+A317 ; [.361C.0020.0002.A317] # YI SYLLABLE SOT
+A318 ; [.361D.0020.0002.A318] # YI SYLLABLE SOX
+A319 ; [.361E.0020.0002.A319] # YI SYLLABLE SO
+A31A ; [.361F.0020.0002.A31A] # YI SYLLABLE SOP
+A31B ; [.3620.0020.0002.A31B] # YI SYLLABLE SEX
+A31C ; [.3621.0020.0002.A31C] # YI SYLLABLE SE
+A31D ; [.3622.0020.0002.A31D] # YI SYLLABLE SEP
+A31E ; [.3623.0020.0002.A31E] # YI SYLLABLE SUT
+A31F ; [.3624.0020.0002.A31F] # YI SYLLABLE SUX
+A320 ; [.3625.0020.0002.A320] # YI SYLLABLE SU
+A321 ; [.3626.0020.0002.A321] # YI SYLLABLE SUP
+A322 ; [.3627.0020.0002.A322] # YI SYLLABLE SURX
+A323 ; [.3628.0020.0002.A323] # YI SYLLABLE SUR
+A324 ; [.3629.0020.0002.A324] # YI SYLLABLE SYT
+A325 ; [.362A.0020.0002.A325] # YI SYLLABLE SYX
+A326 ; [.362B.0020.0002.A326] # YI SYLLABLE SY
+A327 ; [.362C.0020.0002.A327] # YI SYLLABLE SYP
+A328 ; [.362D.0020.0002.A328] # YI SYLLABLE SYRX
+A329 ; [.362E.0020.0002.A329] # YI SYLLABLE SYR
+A32A ; [.362F.0020.0002.A32A] # YI SYLLABLE SSIT
+A32B ; [.3630.0020.0002.A32B] # YI SYLLABLE SSIX
+A32C ; [.3631.0020.0002.A32C] # YI SYLLABLE SSI
+A32D ; [.3632.0020.0002.A32D] # YI SYLLABLE SSIP
+A32E ; [.3633.0020.0002.A32E] # YI SYLLABLE SSIEX
+A32F ; [.3634.0020.0002.A32F] # YI SYLLABLE SSIE
+A330 ; [.3635.0020.0002.A330] # YI SYLLABLE SSIEP
+A331 ; [.3636.0020.0002.A331] # YI SYLLABLE SSAT
+A332 ; [.3637.0020.0002.A332] # YI SYLLABLE SSAX
+A333 ; [.3638.0020.0002.A333] # YI SYLLABLE SSA
+A334 ; [.3639.0020.0002.A334] # YI SYLLABLE SSAP
+A335 ; [.363A.0020.0002.A335] # YI SYLLABLE SSOT
+A336 ; [.363B.0020.0002.A336] # YI SYLLABLE SSOX
+A337 ; [.363C.0020.0002.A337] # YI SYLLABLE SSO
+A338 ; [.363D.0020.0002.A338] # YI SYLLABLE SSOP
+A339 ; [.363E.0020.0002.A339] # YI SYLLABLE SSEX
+A33A ; [.363F.0020.0002.A33A] # YI SYLLABLE SSE
+A33B ; [.3640.0020.0002.A33B] # YI SYLLABLE SSEP
+A33C ; [.3641.0020.0002.A33C] # YI SYLLABLE SSUT
+A33D ; [.3642.0020.0002.A33D] # YI SYLLABLE SSUX
+A33E ; [.3643.0020.0002.A33E] # YI SYLLABLE SSU
+A33F ; [.3644.0020.0002.A33F] # YI SYLLABLE SSUP
+A340 ; [.3645.0020.0002.A340] # YI SYLLABLE SSYT
+A341 ; [.3646.0020.0002.A341] # YI SYLLABLE SSYX
+A342 ; [.3647.0020.0002.A342] # YI SYLLABLE SSY
+A343 ; [.3648.0020.0002.A343] # YI SYLLABLE SSYP
+A344 ; [.3649.0020.0002.A344] # YI SYLLABLE SSYRX
+A345 ; [.364A.0020.0002.A345] # YI SYLLABLE SSYR
+A346 ; [.364B.0020.0002.A346] # YI SYLLABLE ZHAT
+A347 ; [.364C.0020.0002.A347] # YI SYLLABLE ZHAX
+A348 ; [.364D.0020.0002.A348] # YI SYLLABLE ZHA
+A349 ; [.364E.0020.0002.A349] # YI SYLLABLE ZHAP
+A34A ; [.364F.0020.0002.A34A] # YI SYLLABLE ZHUOX
+A34B ; [.3650.0020.0002.A34B] # YI SYLLABLE ZHUO
+A34C ; [.3651.0020.0002.A34C] # YI SYLLABLE ZHUOP
+A34D ; [.3652.0020.0002.A34D] # YI SYLLABLE ZHOT
+A34E ; [.3653.0020.0002.A34E] # YI SYLLABLE ZHOX
+A34F ; [.3654.0020.0002.A34F] # YI SYLLABLE ZHO
+A350 ; [.3655.0020.0002.A350] # YI SYLLABLE ZHOP
+A351 ; [.3656.0020.0002.A351] # YI SYLLABLE ZHET
+A352 ; [.3657.0020.0002.A352] # YI SYLLABLE ZHEX
+A353 ; [.3658.0020.0002.A353] # YI SYLLABLE ZHE
+A354 ; [.3659.0020.0002.A354] # YI SYLLABLE ZHEP
+A355 ; [.365A.0020.0002.A355] # YI SYLLABLE ZHUT
+A356 ; [.365B.0020.0002.A356] # YI SYLLABLE ZHUX
+A357 ; [.365C.0020.0002.A357] # YI SYLLABLE ZHU
+A358 ; [.365D.0020.0002.A358] # YI SYLLABLE ZHUP
+A359 ; [.365E.0020.0002.A359] # YI SYLLABLE ZHURX
+A35A ; [.365F.0020.0002.A35A] # YI SYLLABLE ZHUR
+A35B ; [.3660.0020.0002.A35B] # YI SYLLABLE ZHYT
+A35C ; [.3661.0020.0002.A35C] # YI SYLLABLE ZHYX
+A35D ; [.3662.0020.0002.A35D] # YI SYLLABLE ZHY
+A35E ; [.3663.0020.0002.A35E] # YI SYLLABLE ZHYP
+A35F ; [.3664.0020.0002.A35F] # YI SYLLABLE ZHYRX
+A360 ; [.3665.0020.0002.A360] # YI SYLLABLE ZHYR
+A361 ; [.3666.0020.0002.A361] # YI SYLLABLE CHAT
+A362 ; [.3667.0020.0002.A362] # YI SYLLABLE CHAX
+A363 ; [.3668.0020.0002.A363] # YI SYLLABLE CHA
+A364 ; [.3669.0020.0002.A364] # YI SYLLABLE CHAP
+A365 ; [.366A.0020.0002.A365] # YI SYLLABLE CHUOT
+A366 ; [.366B.0020.0002.A366] # YI SYLLABLE CHUOX
+A367 ; [.366C.0020.0002.A367] # YI SYLLABLE CHUO
+A368 ; [.366D.0020.0002.A368] # YI SYLLABLE CHUOP
+A369 ; [.366E.0020.0002.A369] # YI SYLLABLE CHOT
+A36A ; [.366F.0020.0002.A36A] # YI SYLLABLE CHOX
+A36B ; [.3670.0020.0002.A36B] # YI SYLLABLE CHO
+A36C ; [.3671.0020.0002.A36C] # YI SYLLABLE CHOP
+A36D ; [.3672.0020.0002.A36D] # YI SYLLABLE CHET
+A36E ; [.3673.0020.0002.A36E] # YI SYLLABLE CHEX
+A36F ; [.3674.0020.0002.A36F] # YI SYLLABLE CHE
+A370 ; [.3675.0020.0002.A370] # YI SYLLABLE CHEP
+A371 ; [.3676.0020.0002.A371] # YI SYLLABLE CHUX
+A372 ; [.3677.0020.0002.A372] # YI SYLLABLE CHU
+A373 ; [.3678.0020.0002.A373] # YI SYLLABLE CHUP
+A374 ; [.3679.0020.0002.A374] # YI SYLLABLE CHURX
+A375 ; [.367A.0020.0002.A375] # YI SYLLABLE CHUR
+A376 ; [.367B.0020.0002.A376] # YI SYLLABLE CHYT
+A377 ; [.367C.0020.0002.A377] # YI SYLLABLE CHYX
+A378 ; [.367D.0020.0002.A378] # YI SYLLABLE CHY
+A379 ; [.367E.0020.0002.A379] # YI SYLLABLE CHYP
+A37A ; [.367F.0020.0002.A37A] # YI SYLLABLE CHYRX
+A37B ; [.3680.0020.0002.A37B] # YI SYLLABLE CHYR
+A37C ; [.3681.0020.0002.A37C] # YI SYLLABLE RRAX
+A37D ; [.3682.0020.0002.A37D] # YI SYLLABLE RRA
+A37E ; [.3683.0020.0002.A37E] # YI SYLLABLE RRUOX
+A37F ; [.3684.0020.0002.A37F] # YI SYLLABLE RRUO
+A380 ; [.3685.0020.0002.A380] # YI SYLLABLE RROT
+A381 ; [.3686.0020.0002.A381] # YI SYLLABLE RROX
+A382 ; [.3687.0020.0002.A382] # YI SYLLABLE RRO
+A383 ; [.3688.0020.0002.A383] # YI SYLLABLE RROP
+A384 ; [.3689.0020.0002.A384] # YI SYLLABLE RRET
+A385 ; [.368A.0020.0002.A385] # YI SYLLABLE RREX
+A386 ; [.368B.0020.0002.A386] # YI SYLLABLE RRE
+A387 ; [.368C.0020.0002.A387] # YI SYLLABLE RREP
+A388 ; [.368D.0020.0002.A388] # YI SYLLABLE RRUT
+A389 ; [.368E.0020.0002.A389] # YI SYLLABLE RRUX
+A38A ; [.368F.0020.0002.A38A] # YI SYLLABLE RRU
+A38B ; [.3690.0020.0002.A38B] # YI SYLLABLE RRUP
+A38C ; [.3691.0020.0002.A38C] # YI SYLLABLE RRURX
+A38D ; [.3692.0020.0002.A38D] # YI SYLLABLE RRUR
+A38E ; [.3693.0020.0002.A38E] # YI SYLLABLE RRYT
+A38F ; [.3694.0020.0002.A38F] # YI SYLLABLE RRYX
+A390 ; [.3695.0020.0002.A390] # YI SYLLABLE RRY
+A391 ; [.3696.0020.0002.A391] # YI SYLLABLE RRYP
+A392 ; [.3697.0020.0002.A392] # YI SYLLABLE RRYRX
+A393 ; [.3698.0020.0002.A393] # YI SYLLABLE RRYR
+A394 ; [.3699.0020.0002.A394] # YI SYLLABLE NRAT
+A395 ; [.369A.0020.0002.A395] # YI SYLLABLE NRAX
+A396 ; [.369B.0020.0002.A396] # YI SYLLABLE NRA
+A397 ; [.369C.0020.0002.A397] # YI SYLLABLE NRAP
+A398 ; [.369D.0020.0002.A398] # YI SYLLABLE NROX
+A399 ; [.369E.0020.0002.A399] # YI SYLLABLE NRO
+A39A ; [.369F.0020.0002.A39A] # YI SYLLABLE NROP
+A39B ; [.36A0.0020.0002.A39B] # YI SYLLABLE NRET
+A39C ; [.36A1.0020.0002.A39C] # YI SYLLABLE NREX
+A39D ; [.36A2.0020.0002.A39D] # YI SYLLABLE NRE
+A39E ; [.36A3.0020.0002.A39E] # YI SYLLABLE NREP
+A39F ; [.36A4.0020.0002.A39F] # YI SYLLABLE NRUT
+A3A0 ; [.36A5.0020.0002.A3A0] # YI SYLLABLE NRUX
+A3A1 ; [.36A6.0020.0002.A3A1] # YI SYLLABLE NRU
+A3A2 ; [.36A7.0020.0002.A3A2] # YI SYLLABLE NRUP
+A3A3 ; [.36A8.0020.0002.A3A3] # YI SYLLABLE NRURX
+A3A4 ; [.36A9.0020.0002.A3A4] # YI SYLLABLE NRUR
+A3A5 ; [.36AA.0020.0002.A3A5] # YI SYLLABLE NRYT
+A3A6 ; [.36AB.0020.0002.A3A6] # YI SYLLABLE NRYX
+A3A7 ; [.36AC.0020.0002.A3A7] # YI SYLLABLE NRY
+A3A8 ; [.36AD.0020.0002.A3A8] # YI SYLLABLE NRYP
+A3A9 ; [.36AE.0020.0002.A3A9] # YI SYLLABLE NRYRX
+A3AA ; [.36AF.0020.0002.A3AA] # YI SYLLABLE NRYR
+A3AB ; [.36B0.0020.0002.A3AB] # YI SYLLABLE SHAT
+A3AC ; [.36B1.0020.0002.A3AC] # YI SYLLABLE SHAX
+A3AD ; [.36B2.0020.0002.A3AD] # YI SYLLABLE SHA
+A3AE ; [.36B3.0020.0002.A3AE] # YI SYLLABLE SHAP
+A3AF ; [.36B4.0020.0002.A3AF] # YI SYLLABLE SHUOX
+A3B0 ; [.36B5.0020.0002.A3B0] # YI SYLLABLE SHUO
+A3B1 ; [.36B6.0020.0002.A3B1] # YI SYLLABLE SHUOP
+A3B2 ; [.36B7.0020.0002.A3B2] # YI SYLLABLE SHOT
+A3B3 ; [.36B8.0020.0002.A3B3] # YI SYLLABLE SHOX
+A3B4 ; [.36B9.0020.0002.A3B4] # YI SYLLABLE SHO
+A3B5 ; [.36BA.0020.0002.A3B5] # YI SYLLABLE SHOP
+A3B6 ; [.36BB.0020.0002.A3B6] # YI SYLLABLE SHET
+A3B7 ; [.36BC.0020.0002.A3B7] # YI SYLLABLE SHEX
+A3B8 ; [.36BD.0020.0002.A3B8] # YI SYLLABLE SHE
+A3B9 ; [.36BE.0020.0002.A3B9] # YI SYLLABLE SHEP
+A3BA ; [.36BF.0020.0002.A3BA] # YI SYLLABLE SHUT
+A3BB ; [.36C0.0020.0002.A3BB] # YI SYLLABLE SHUX
+A3BC ; [.36C1.0020.0002.A3BC] # YI SYLLABLE SHU
+A3BD ; [.36C2.0020.0002.A3BD] # YI SYLLABLE SHUP
+A3BE ; [.36C3.0020.0002.A3BE] # YI SYLLABLE SHURX
+A3BF ; [.36C4.0020.0002.A3BF] # YI SYLLABLE SHUR
+A3C0 ; [.36C5.0020.0002.A3C0] # YI SYLLABLE SHYT
+A3C1 ; [.36C6.0020.0002.A3C1] # YI SYLLABLE SHYX
+A3C2 ; [.36C7.0020.0002.A3C2] # YI SYLLABLE SHY
+A3C3 ; [.36C8.0020.0002.A3C3] # YI SYLLABLE SHYP
+A3C4 ; [.36C9.0020.0002.A3C4] # YI SYLLABLE SHYRX
+A3C5 ; [.36CA.0020.0002.A3C5] # YI SYLLABLE SHYR
+A3C6 ; [.36CB.0020.0002.A3C6] # YI SYLLABLE RAT
+A3C7 ; [.36CC.0020.0002.A3C7] # YI SYLLABLE RAX
+A3C8 ; [.36CD.0020.0002.A3C8] # YI SYLLABLE RA
+A3C9 ; [.36CE.0020.0002.A3C9] # YI SYLLABLE RAP
+A3CA ; [.36CF.0020.0002.A3CA] # YI SYLLABLE RUOX
+A3CB ; [.36D0.0020.0002.A3CB] # YI SYLLABLE RUO
+A3CC ; [.36D1.0020.0002.A3CC] # YI SYLLABLE RUOP
+A3CD ; [.36D2.0020.0002.A3CD] # YI SYLLABLE ROT
+A3CE ; [.36D3.0020.0002.A3CE] # YI SYLLABLE ROX
+A3CF ; [.36D4.0020.0002.A3CF] # YI SYLLABLE RO
+A3D0 ; [.36D5.0020.0002.A3D0] # YI SYLLABLE ROP
+A3D1 ; [.36D6.0020.0002.A3D1] # YI SYLLABLE REX
+A3D2 ; [.36D7.0020.0002.A3D2] # YI SYLLABLE RE
+A3D3 ; [.36D8.0020.0002.A3D3] # YI SYLLABLE REP
+A3D4 ; [.36D9.0020.0002.A3D4] # YI SYLLABLE RUT
+A3D5 ; [.36DA.0020.0002.A3D5] # YI SYLLABLE RUX
+A3D6 ; [.36DB.0020.0002.A3D6] # YI SYLLABLE RU
+A3D7 ; [.36DC.0020.0002.A3D7] # YI SYLLABLE RUP
+A3D8 ; [.36DD.0020.0002.A3D8] # YI SYLLABLE RURX
+A3D9 ; [.36DE.0020.0002.A3D9] # YI SYLLABLE RUR
+A3DA ; [.36DF.0020.0002.A3DA] # YI SYLLABLE RYT
+A3DB ; [.36E0.0020.0002.A3DB] # YI SYLLABLE RYX
+A3DC ; [.36E1.0020.0002.A3DC] # YI SYLLABLE RY
+A3DD ; [.36E2.0020.0002.A3DD] # YI SYLLABLE RYP
+A3DE ; [.36E3.0020.0002.A3DE] # YI SYLLABLE RYRX
+A3DF ; [.36E4.0020.0002.A3DF] # YI SYLLABLE RYR
+A3E0 ; [.36E5.0020.0002.A3E0] # YI SYLLABLE JIT
+A3E1 ; [.36E6.0020.0002.A3E1] # YI SYLLABLE JIX
+A3E2 ; [.36E7.0020.0002.A3E2] # YI SYLLABLE JI
+A3E3 ; [.36E8.0020.0002.A3E3] # YI SYLLABLE JIP
+A3E4 ; [.36E9.0020.0002.A3E4] # YI SYLLABLE JIET
+A3E5 ; [.36EA.0020.0002.A3E5] # YI SYLLABLE JIEX
+A3E6 ; [.36EB.0020.0002.A3E6] # YI SYLLABLE JIE
+A3E7 ; [.36EC.0020.0002.A3E7] # YI SYLLABLE JIEP
+A3E8 ; [.36ED.0020.0002.A3E8] # YI SYLLABLE JUOT
+A3E9 ; [.36EE.0020.0002.A3E9] # YI SYLLABLE JUOX
+A3EA ; [.36EF.0020.0002.A3EA] # YI SYLLABLE JUO
+A3EB ; [.36F0.0020.0002.A3EB] # YI SYLLABLE JUOP
+A3EC ; [.36F1.0020.0002.A3EC] # YI SYLLABLE JOT
+A3ED ; [.36F2.0020.0002.A3ED] # YI SYLLABLE JOX
+A3EE ; [.36F3.0020.0002.A3EE] # YI SYLLABLE JO
+A3EF ; [.36F4.0020.0002.A3EF] # YI SYLLABLE JOP
+A3F0 ; [.36F5.0020.0002.A3F0] # YI SYLLABLE JUT
+A3F1 ; [.36F6.0020.0002.A3F1] # YI SYLLABLE JUX
+A3F2 ; [.36F7.0020.0002.A3F2] # YI SYLLABLE JU
+A3F3 ; [.36F8.0020.0002.A3F3] # YI SYLLABLE JUP
+A3F4 ; [.36F9.0020.0002.A3F4] # YI SYLLABLE JURX
+A3F5 ; [.36FA.0020.0002.A3F5] # YI SYLLABLE JUR
+A3F6 ; [.36FB.0020.0002.A3F6] # YI SYLLABLE JYT
+A3F7 ; [.36FC.0020.0002.A3F7] # YI SYLLABLE JYX
+A3F8 ; [.36FD.0020.0002.A3F8] # YI SYLLABLE JY
+A3F9 ; [.36FE.0020.0002.A3F9] # YI SYLLABLE JYP
+A3FA ; [.36FF.0020.0002.A3FA] # YI SYLLABLE JYRX
+A3FB ; [.3700.0020.0002.A3FB] # YI SYLLABLE JYR
+A3FC ; [.3701.0020.0002.A3FC] # YI SYLLABLE QIT
+A3FD ; [.3702.0020.0002.A3FD] # YI SYLLABLE QIX
+A3FE ; [.3703.0020.0002.A3FE] # YI SYLLABLE QI
+A3FF ; [.3704.0020.0002.A3FF] # YI SYLLABLE QIP
+A400 ; [.3705.0020.0002.A400] # YI SYLLABLE QIET
+A401 ; [.3706.0020.0002.A401] # YI SYLLABLE QIEX
+A402 ; [.3707.0020.0002.A402] # YI SYLLABLE QIE
+A403 ; [.3708.0020.0002.A403] # YI SYLLABLE QIEP
+A404 ; [.3709.0020.0002.A404] # YI SYLLABLE QUOT
+A405 ; [.370A.0020.0002.A405] # YI SYLLABLE QUOX
+A406 ; [.370B.0020.0002.A406] # YI SYLLABLE QUO
+A407 ; [.370C.0020.0002.A407] # YI SYLLABLE QUOP
+A408 ; [.370D.0020.0002.A408] # YI SYLLABLE QOT
+A409 ; [.370E.0020.0002.A409] # YI SYLLABLE QOX
+A40A ; [.370F.0020.0002.A40A] # YI SYLLABLE QO
+A40B ; [.3710.0020.0002.A40B] # YI SYLLABLE QOP
+A40C ; [.3711.0020.0002.A40C] # YI SYLLABLE QUT
+A40D ; [.3712.0020.0002.A40D] # YI SYLLABLE QUX
+A40E ; [.3713.0020.0002.A40E] # YI SYLLABLE QU
+A40F ; [.3714.0020.0002.A40F] # YI SYLLABLE QUP
+A410 ; [.3715.0020.0002.A410] # YI SYLLABLE QURX
+A411 ; [.3716.0020.0002.A411] # YI SYLLABLE QUR
+A412 ; [.3717.0020.0002.A412] # YI SYLLABLE QYT
+A413 ; [.3718.0020.0002.A413] # YI SYLLABLE QYX
+A414 ; [.3719.0020.0002.A414] # YI SYLLABLE QY
+A415 ; [.371A.0020.0002.A415] # YI SYLLABLE QYP
+A416 ; [.371B.0020.0002.A416] # YI SYLLABLE QYRX
+A417 ; [.371C.0020.0002.A417] # YI SYLLABLE QYR
+A418 ; [.371D.0020.0002.A418] # YI SYLLABLE JJIT
+A419 ; [.371E.0020.0002.A419] # YI SYLLABLE JJIX
+A41A ; [.371F.0020.0002.A41A] # YI SYLLABLE JJI
+A41B ; [.3720.0020.0002.A41B] # YI SYLLABLE JJIP
+A41C ; [.3721.0020.0002.A41C] # YI SYLLABLE JJIET
+A41D ; [.3722.0020.0002.A41D] # YI SYLLABLE JJIEX
+A41E ; [.3723.0020.0002.A41E] # YI SYLLABLE JJIE
+A41F ; [.3724.0020.0002.A41F] # YI SYLLABLE JJIEP
+A420 ; [.3725.0020.0002.A420] # YI SYLLABLE JJUOX
+A421 ; [.3726.0020.0002.A421] # YI SYLLABLE JJUO
+A422 ; [.3727.0020.0002.A422] # YI SYLLABLE JJUOP
+A423 ; [.3728.0020.0002.A423] # YI SYLLABLE JJOT
+A424 ; [.3729.0020.0002.A424] # YI SYLLABLE JJOX
+A425 ; [.372A.0020.0002.A425] # YI SYLLABLE JJO
+A426 ; [.372B.0020.0002.A426] # YI SYLLABLE JJOP
+A427 ; [.372C.0020.0002.A427] # YI SYLLABLE JJUT
+A428 ; [.372D.0020.0002.A428] # YI SYLLABLE JJUX
+A429 ; [.372E.0020.0002.A429] # YI SYLLABLE JJU
+A42A ; [.372F.0020.0002.A42A] # YI SYLLABLE JJUP
+A42B ; [.3730.0020.0002.A42B] # YI SYLLABLE JJURX
+A42C ; [.3731.0020.0002.A42C] # YI SYLLABLE JJUR
+A42D ; [.3732.0020.0002.A42D] # YI SYLLABLE JJYT
+A42E ; [.3733.0020.0002.A42E] # YI SYLLABLE JJYX
+A42F ; [.3734.0020.0002.A42F] # YI SYLLABLE JJY
+A430 ; [.3735.0020.0002.A430] # YI SYLLABLE JJYP
+A431 ; [.3736.0020.0002.A431] # YI SYLLABLE NJIT
+A432 ; [.3737.0020.0002.A432] # YI SYLLABLE NJIX
+A433 ; [.3738.0020.0002.A433] # YI SYLLABLE NJI
+A434 ; [.3739.0020.0002.A434] # YI SYLLABLE NJIP
+A435 ; [.373A.0020.0002.A435] # YI SYLLABLE NJIET
+A436 ; [.373B.0020.0002.A436] # YI SYLLABLE NJIEX
+A437 ; [.373C.0020.0002.A437] # YI SYLLABLE NJIE
+A438 ; [.373D.0020.0002.A438] # YI SYLLABLE NJIEP
+A439 ; [.373E.0020.0002.A439] # YI SYLLABLE NJUOX
+A43A ; [.373F.0020.0002.A43A] # YI SYLLABLE NJUO
+A43B ; [.3740.0020.0002.A43B] # YI SYLLABLE NJOT
+A43C ; [.3741.0020.0002.A43C] # YI SYLLABLE NJOX
+A43D ; [.3742.0020.0002.A43D] # YI SYLLABLE NJO
+A43E ; [.3743.0020.0002.A43E] # YI SYLLABLE NJOP
+A43F ; [.3744.0020.0002.A43F] # YI SYLLABLE NJUX
+A440 ; [.3745.0020.0002.A440] # YI SYLLABLE NJU
+A441 ; [.3746.0020.0002.A441] # YI SYLLABLE NJUP
+A442 ; [.3747.0020.0002.A442] # YI SYLLABLE NJURX
+A443 ; [.3748.0020.0002.A443] # YI SYLLABLE NJUR
+A444 ; [.3749.0020.0002.A444] # YI SYLLABLE NJYT
+A445 ; [.374A.0020.0002.A445] # YI SYLLABLE NJYX
+A446 ; [.374B.0020.0002.A446] # YI SYLLABLE NJY
+A447 ; [.374C.0020.0002.A447] # YI SYLLABLE NJYP
+A448 ; [.374D.0020.0002.A448] # YI SYLLABLE NJYRX
+A449 ; [.374E.0020.0002.A449] # YI SYLLABLE NJYR
+A44A ; [.374F.0020.0002.A44A] # YI SYLLABLE NYIT
+A44B ; [.3750.0020.0002.A44B] # YI SYLLABLE NYIX
+A44C ; [.3751.0020.0002.A44C] # YI SYLLABLE NYI
+A44D ; [.3752.0020.0002.A44D] # YI SYLLABLE NYIP
+A44E ; [.3753.0020.0002.A44E] # YI SYLLABLE NYIET
+A44F ; [.3754.0020.0002.A44F] # YI SYLLABLE NYIEX
+A450 ; [.3755.0020.0002.A450] # YI SYLLABLE NYIE
+A451 ; [.3756.0020.0002.A451] # YI SYLLABLE NYIEP
+A452 ; [.3757.0020.0002.A452] # YI SYLLABLE NYUOX
+A453 ; [.3758.0020.0002.A453] # YI SYLLABLE NYUO
+A454 ; [.3759.0020.0002.A454] # YI SYLLABLE NYUOP
+A455 ; [.375A.0020.0002.A455] # YI SYLLABLE NYOT
+A456 ; [.375B.0020.0002.A456] # YI SYLLABLE NYOX
+A457 ; [.375C.0020.0002.A457] # YI SYLLABLE NYO
+A458 ; [.375D.0020.0002.A458] # YI SYLLABLE NYOP
+A459 ; [.375E.0020.0002.A459] # YI SYLLABLE NYUT
+A45A ; [.375F.0020.0002.A45A] # YI SYLLABLE NYUX
+A45B ; [.3760.0020.0002.A45B] # YI SYLLABLE NYU
+A45C ; [.3761.0020.0002.A45C] # YI SYLLABLE NYUP
+A45D ; [.3762.0020.0002.A45D] # YI SYLLABLE XIT
+A45E ; [.3763.0020.0002.A45E] # YI SYLLABLE XIX
+A45F ; [.3764.0020.0002.A45F] # YI SYLLABLE XI
+A460 ; [.3765.0020.0002.A460] # YI SYLLABLE XIP
+A461 ; [.3766.0020.0002.A461] # YI SYLLABLE XIET
+A462 ; [.3767.0020.0002.A462] # YI SYLLABLE XIEX
+A463 ; [.3768.0020.0002.A463] # YI SYLLABLE XIE
+A464 ; [.3769.0020.0002.A464] # YI SYLLABLE XIEP
+A465 ; [.376A.0020.0002.A465] # YI SYLLABLE XUOX
+A466 ; [.376B.0020.0002.A466] # YI SYLLABLE XUO
+A467 ; [.376C.0020.0002.A467] # YI SYLLABLE XOT
+A468 ; [.376D.0020.0002.A468] # YI SYLLABLE XOX
+A469 ; [.376E.0020.0002.A469] # YI SYLLABLE XO
+A46A ; [.376F.0020.0002.A46A] # YI SYLLABLE XOP
+A46B ; [.3770.0020.0002.A46B] # YI SYLLABLE XYT
+A46C ; [.3771.0020.0002.A46C] # YI SYLLABLE XYX
+A46D ; [.3772.0020.0002.A46D] # YI SYLLABLE XY
+A46E ; [.3773.0020.0002.A46E] # YI SYLLABLE XYP
+A46F ; [.3774.0020.0002.A46F] # YI SYLLABLE XYRX
+A470 ; [.3775.0020.0002.A470] # YI SYLLABLE XYR
+A471 ; [.3776.0020.0002.A471] # YI SYLLABLE YIT
+A472 ; [.3777.0020.0002.A472] # YI SYLLABLE YIX
+A473 ; [.3778.0020.0002.A473] # YI SYLLABLE YI
+A474 ; [.3779.0020.0002.A474] # YI SYLLABLE YIP
+A475 ; [.377A.0020.0002.A475] # YI SYLLABLE YIET
+A476 ; [.377B.0020.0002.A476] # YI SYLLABLE YIEX
+A477 ; [.377C.0020.0002.A477] # YI SYLLABLE YIE
+A478 ; [.377D.0020.0002.A478] # YI SYLLABLE YIEP
+A479 ; [.377E.0020.0002.A479] # YI SYLLABLE YUOT
+A47A ; [.377F.0020.0002.A47A] # YI SYLLABLE YUOX
+A47B ; [.3780.0020.0002.A47B] # YI SYLLABLE YUO
+A47C ; [.3781.0020.0002.A47C] # YI SYLLABLE YUOP
+A47D ; [.3782.0020.0002.A47D] # YI SYLLABLE YOT
+A47E ; [.3783.0020.0002.A47E] # YI SYLLABLE YOX
+A47F ; [.3784.0020.0002.A47F] # YI SYLLABLE YO
+A480 ; [.3785.0020.0002.A480] # YI SYLLABLE YOP
+A481 ; [.3786.0020.0002.A481] # YI SYLLABLE YUT
+A482 ; [.3787.0020.0002.A482] # YI SYLLABLE YUX
+A483 ; [.3788.0020.0002.A483] # YI SYLLABLE YU
+A484 ; [.3789.0020.0002.A484] # YI SYLLABLE YUP
+A485 ; [.378A.0020.0002.A485] # YI SYLLABLE YURX
+A486 ; [.378B.0020.0002.A486] # YI SYLLABLE YUR
+A487 ; [.378C.0020.0002.A487] # YI SYLLABLE YYT
+A488 ; [.378D.0020.0002.A488] # YI SYLLABLE YYX
+A489 ; [.378E.0020.0002.A489] # YI SYLLABLE YY
+A48A ; [.378F.0020.0002.A48A] # YI SYLLABLE YYP
+A48B ; [.3790.0020.0002.A48B] # YI SYLLABLE YYRX
+A48C ; [.3791.0020.0002.A48C] # YI SYLLABLE YYR
+A4F8 ; [.3792.0020.0002.A4F8] # LISU LETTER TONE MYA TI
+A4F9 ; [.3793.0020.0002.A4F9] # LISU LETTER TONE NA PO
+A4FA ; [.3794.0020.0002.A4FA] # LISU LETTER TONE MYA CYA
+A4FB ; [.3795.0020.0002.A4FB] # LISU LETTER TONE MYA BO
+A4FD ; [.3796.0020.0002.A4FD] # LISU LETTER TONE MYA JEU
+A4FC ; [.3797.0020.0002.A4FC] # LISU LETTER TONE MYA NA
+A4D0 ; [.3798.0020.0002.A4D0] # LISU LETTER BA
+A4D1 ; [.3799.0020.0002.A4D1] # LISU LETTER PA
+A4D2 ; [.379A.0020.0002.A4D2] # LISU LETTER PHA
+A4D3 ; [.379B.0020.0002.A4D3] # LISU LETTER DA
+A4D4 ; [.379C.0020.0002.A4D4] # LISU LETTER TA
+A4D5 ; [.379D.0020.0002.A4D5] # LISU LETTER THA
+A4D6 ; [.379E.0020.0002.A4D6] # LISU LETTER GA
+A4D7 ; [.379F.0020.0002.A4D7] # LISU LETTER KA
+A4D8 ; [.37A0.0020.0002.A4D8] # LISU LETTER KHA
+A4D9 ; [.37A1.0020.0002.A4D9] # LISU LETTER JA
+A4DA ; [.37A2.0020.0002.A4DA] # LISU LETTER CA
+A4DB ; [.37A3.0020.0002.A4DB] # LISU LETTER CHA
+A4DC ; [.37A4.0020.0002.A4DC] # LISU LETTER DZA
+A4DD ; [.37A5.0020.0002.A4DD] # LISU LETTER TSA
+A4DE ; [.37A6.0020.0002.A4DE] # LISU LETTER TSHA
+A4DF ; [.37A7.0020.0002.A4DF] # LISU LETTER MA
+A4E0 ; [.37A8.0020.0002.A4E0] # LISU LETTER NA
+A4E1 ; [.37A9.0020.0002.A4E1] # LISU LETTER LA
+A4E2 ; [.37AA.0020.0002.A4E2] # LISU LETTER SA
+A4E3 ; [.37AB.0020.0002.A4E3] # LISU LETTER ZHA
+A4E4 ; [.37AC.0020.0002.A4E4] # LISU LETTER ZA
+A4E5 ; [.37AD.0020.0002.A4E5] # LISU LETTER NGA
+A4E6 ; [.37AE.0020.0002.A4E6] # LISU LETTER HA
+A4E7 ; [.37AF.0020.0002.A4E7] # LISU LETTER XA
+A4E8 ; [.37B0.0020.0002.A4E8] # LISU LETTER HHA
+A4E9 ; [.37B1.0020.0002.A4E9] # LISU LETTER FA
+A4EB ; [.37B2.0020.0002.A4EB] # LISU LETTER SHA
+A4ED ; [.37B3.0020.0002.A4ED] # LISU LETTER GHA
+A4EA ; [.37B4.0020.0002.A4EA] # LISU LETTER WA
+A4EC ; [.37B5.0020.0002.A4EC] # LISU LETTER YA
+A4EE ; [.37B6.0020.0002.A4EE] # LISU LETTER A
+A4EF ; [.37B7.0020.0002.A4EF] # LISU LETTER AE
+A4F0 ; [.37B8.0020.0002.A4F0] # LISU LETTER E
+A4F1 ; [.37B9.0020.0002.A4F1] # LISU LETTER EU
+A4F2 ; [.37BA.0020.0002.A4F2] # LISU LETTER I
+A4F3 ; [.37BB.0020.0002.A4F3] # LISU LETTER O
+A4F4 ; [.37BC.0020.0002.A4F4] # LISU LETTER U
+A4F5 ; [.37BD.0020.0002.A4F5] # LISU LETTER UE
+A4F6 ; [.37BE.0020.0002.A4F6] # LISU LETTER UH
+A4F7 ; [.37BF.0020.0002.A4F7] # LISU LETTER OE
+16F00 ; [.37C0.0020.0002.16F00] # MIAO LETTER PA
+16F01 ; [.37C1.0020.0002.16F01] # MIAO LETTER BA
+16F02 ; [.37C2.0020.0002.16F02] # MIAO LETTER YI PA
+16F03 ; [.37C3.0020.0002.16F03] # MIAO LETTER PLA
+16F04 ; [.37C4.0020.0002.16F04] # MIAO LETTER MA
+16F06 ; [.37C4.0020.0004.16F06] # MIAO LETTER ARCHAIC MA
+16F05 ; [.37C5.0020.0002.16F05] # MIAO LETTER MHA
+16F07 ; [.37C6.0020.0002.16F07] # MIAO LETTER FA
+16F08 ; [.37C7.0020.0002.16F08] # MIAO LETTER VA
+16F09 ; [.37C8.0020.0002.16F09] # MIAO LETTER VFA
+16F0A ; [.37C9.0020.0002.16F0A] # MIAO LETTER TA
+16F0B ; [.37CA.0020.0002.16F0B] # MIAO LETTER DA
+16F0C ; [.37CB.0020.0002.16F0C] # MIAO LETTER YI TTA
+16F0D ; [.37CC.0020.0002.16F0D] # MIAO LETTER YI TA
+16F0E ; [.37CD.0020.0002.16F0E] # MIAO LETTER TTA
+16F0F ; [.37CE.0020.0002.16F0F] # MIAO LETTER DDA
+16F10 ; [.37CF.0020.0002.16F10] # MIAO LETTER NA
+16F13 ; [.37CF.0020.0004.16F13] # MIAO LETTER ARCHAIC NA
+16F11 ; [.37D0.0020.0002.16F11] # MIAO LETTER NHA
+16F12 ; [.37D1.0020.0002.16F12] # MIAO LETTER YI NNA
+16F14 ; [.37D2.0020.0002.16F14] # MIAO LETTER NNA
+16F15 ; [.37D3.0020.0002.16F15] # MIAO LETTER NNHA
+16F16 ; [.37D4.0020.0002.16F16] # MIAO LETTER LA
+16F17 ; [.37D5.0020.0002.16F17] # MIAO LETTER LYA
+16F18 ; [.37D6.0020.0002.16F18] # MIAO LETTER LHA
+16F19 ; [.37D7.0020.0002.16F19] # MIAO LETTER LHYA
+16F1A ; [.37D8.0020.0002.16F1A] # MIAO LETTER TLHA
+16F1B ; [.37D9.0020.0002.16F1B] # MIAO LETTER DLHA
+16F1C ; [.37DA.0020.0002.16F1C] # MIAO LETTER TLHYA
+16F1D ; [.37DB.0020.0002.16F1D] # MIAO LETTER DLHYA
+16F1E ; [.37DC.0020.0002.16F1E] # MIAO LETTER KA
+16F1F ; [.37DD.0020.0002.16F1F] # MIAO LETTER GA
+16F20 ; [.37DE.0020.0002.16F20] # MIAO LETTER YI KA
+16F21 ; [.37DF.0020.0002.16F21] # MIAO LETTER QA
+16F22 ; [.37E0.0020.0002.16F22] # MIAO LETTER QGA
+16F23 ; [.37E1.0020.0002.16F23] # MIAO LETTER NGA
+16F25 ; [.37E1.0020.0004.16F25] # MIAO LETTER ARCHAIC NGA
+16F24 ; [.37E2.0020.0002.16F24] # MIAO LETTER NGHA
+16F26 ; [.37E3.0020.0002.16F26] # MIAO LETTER HA
+16F27 ; [.37E4.0020.0002.16F27] # MIAO LETTER XA
+16F28 ; [.37E5.0020.0002.16F28] # MIAO LETTER GHA
+16F29 ; [.37E6.0020.0002.16F29] # MIAO LETTER GHHA
+16F2A ; [.37E7.0020.0002.16F2A] # MIAO LETTER TSSA
+16F2B ; [.37E8.0020.0002.16F2B] # MIAO LETTER DZZA
+16F2C ; [.37E9.0020.0002.16F2C] # MIAO LETTER NYA
+16F2D ; [.37EA.0020.0002.16F2D] # MIAO LETTER NYHA
+16F2E ; [.37EB.0020.0002.16F2E] # MIAO LETTER TSHA
+16F2F ; [.37EC.0020.0002.16F2F] # MIAO LETTER DZHA
+16F30 ; [.37ED.0020.0002.16F30] # MIAO LETTER YI TSHA
+16F31 ; [.37EE.0020.0002.16F31] # MIAO LETTER YI DZHA
+16F32 ; [.37EF.0020.0002.16F32] # MIAO LETTER REFORMED TSHA
+16F33 ; [.37F0.0020.0002.16F33] # MIAO LETTER SHA
+16F34 ; [.37F1.0020.0002.16F34] # MIAO LETTER SSA
+16F35 ; [.37F2.0020.0002.16F35] # MIAO LETTER ZHA
+16F36 ; [.37F3.0020.0002.16F36] # MIAO LETTER ZSHA
+16F37 ; [.37F4.0020.0002.16F37] # MIAO LETTER TSA
+16F38 ; [.37F5.0020.0002.16F38] # MIAO LETTER DZA
+16F39 ; [.37F6.0020.0002.16F39] # MIAO LETTER YI TSA
+16F3A ; [.37F7.0020.0002.16F3A] # MIAO LETTER SA
+16F3B ; [.37F8.0020.0002.16F3B] # MIAO LETTER ZA
+16F3C ; [.37F9.0020.0002.16F3C] # MIAO LETTER ZSA
+16F3D ; [.37FA.0020.0002.16F3D] # MIAO LETTER ZZA
+16F3F ; [.37FA.0020.0004.16F3F] # MIAO LETTER ARCHAIC ZZA
+16F3E ; [.37FB.0020.0002.16F3E] # MIAO LETTER ZZSA
+16F40 ; [.37FC.0020.0002.16F40] # MIAO LETTER ZZYA
+16F41 ; [.37FD.0020.0002.16F41] # MIAO LETTER ZZSYA
+16F42 ; [.37FE.0020.0002.16F42] # MIAO LETTER WA
+16F43 ; [.37FF.0020.0002.16F43] # MIAO LETTER AH
+16F44 ; [.3800.0020.0002.16F44] # MIAO LETTER HHA
+16F50 ; [.3801.0020.0002.16F50] # MIAO LETTER NASALIZATION
+16F51 ; [.3802.0020.0002.16F51] # MIAO SIGN ASPIRATION
+16F52 ; [.3803.0020.0002.16F52] # MIAO SIGN REFORMED VOICING
+16F53 ; [.3804.0020.0002.16F53] # MIAO SIGN REFORMED ASPIRATION
+16F54 ; [.3805.0020.0002.16F54] # MIAO VOWEL SIGN A
+16F55 ; [.3806.0020.0002.16F55] # MIAO VOWEL SIGN AA
+16F56 ; [.3807.0020.0002.16F56] # MIAO VOWEL SIGN AHH
+16F57 ; [.3808.0020.0002.16F57] # MIAO VOWEL SIGN AN
+16F58 ; [.3809.0020.0002.16F58] # MIAO VOWEL SIGN ANG
+16F59 ; [.380A.0020.0002.16F59] # MIAO VOWEL SIGN O
+16F5A ; [.380B.0020.0002.16F5A] # MIAO VOWEL SIGN OO
+16F5B ; [.380C.0020.0002.16F5B] # MIAO VOWEL SIGN WO
+16F5C ; [.380D.0020.0002.16F5C] # MIAO VOWEL SIGN W
+16F5D ; [.380E.0020.0002.16F5D] # MIAO VOWEL SIGN E
+16F5E ; [.380F.0020.0002.16F5E] # MIAO VOWEL SIGN EN
+16F5F ; [.3810.0020.0002.16F5F] # MIAO VOWEL SIGN ENG
+16F60 ; [.3811.0020.0002.16F60] # MIAO VOWEL SIGN OEY
+16F61 ; [.3812.0020.0002.16F61] # MIAO VOWEL SIGN I
+16F62 ; [.3813.0020.0002.16F62] # MIAO VOWEL SIGN IA
+16F63 ; [.3814.0020.0002.16F63] # MIAO VOWEL SIGN IAN
+16F64 ; [.3815.0020.0002.16F64] # MIAO VOWEL SIGN IANG
+16F65 ; [.3816.0020.0002.16F65] # MIAO VOWEL SIGN IO
+16F66 ; [.3817.0020.0002.16F66] # MIAO VOWEL SIGN IE
+16F67 ; [.3818.0020.0002.16F67] # MIAO VOWEL SIGN II
+16F68 ; [.3819.0020.0002.16F68] # MIAO VOWEL SIGN IU
+16F69 ; [.381A.0020.0002.16F69] # MIAO VOWEL SIGN ING
+16F6A ; [.381B.0020.0002.16F6A] # MIAO VOWEL SIGN U
+16F6B ; [.381C.0020.0002.16F6B] # MIAO VOWEL SIGN UA
+16F6C ; [.381D.0020.0002.16F6C] # MIAO VOWEL SIGN UAN
+16F6D ; [.381E.0020.0002.16F6D] # MIAO VOWEL SIGN UANG
+16F6E ; [.381F.0020.0002.16F6E] # MIAO VOWEL SIGN UU
+16F6F ; [.3820.0020.0002.16F6F] # MIAO VOWEL SIGN UEI
+16F70 ; [.3821.0020.0002.16F70] # MIAO VOWEL SIGN UNG
+16F71 ; [.3822.0020.0002.16F71] # MIAO VOWEL SIGN Y
+16F72 ; [.3823.0020.0002.16F72] # MIAO VOWEL SIGN YI
+16F73 ; [.3824.0020.0002.16F73] # MIAO VOWEL SIGN AE
+16F74 ; [.3825.0020.0002.16F74] # MIAO VOWEL SIGN AEE
+16F75 ; [.3826.0020.0002.16F75] # MIAO VOWEL SIGN ERR
+16F76 ; [.3827.0020.0002.16F76] # MIAO VOWEL SIGN ROUNDED ERR
+16F77 ; [.3828.0020.0002.16F77] # MIAO VOWEL SIGN ER
+16F78 ; [.3829.0020.0002.16F78] # MIAO VOWEL SIGN ROUNDED ER
+16F79 ; [.382A.0020.0002.16F79] # MIAO VOWEL SIGN AI
+16F7A ; [.382B.0020.0002.16F7A] # MIAO VOWEL SIGN EI
+16F7B ; [.382C.0020.0002.16F7B] # MIAO VOWEL SIGN AU
+16F7C ; [.382D.0020.0002.16F7C] # MIAO VOWEL SIGN OU
+16F7D ; [.382E.0020.0002.16F7D] # MIAO VOWEL SIGN N
+16F7E ; [.382F.0020.0002.16F7E] # MIAO VOWEL SIGN NG
+16F8F ; [.3830.0020.0002.16F8F] # MIAO TONE RIGHT
+16F90 ; [.3831.0020.0002.16F90] # MIAO TONE TOP RIGHT
+16F91 ; [.3832.0020.0002.16F91] # MIAO TONE ABOVE
+16F92 ; [.3833.0020.0002.16F92] # MIAO TONE BELOW
+16F93 ; [.3834.0020.0002.16F93] # MIAO LETTER TONE-2
+16F94 ; [.3835.0020.0002.16F94] # MIAO LETTER TONE-3
+16F95 ; [.3836.0020.0002.16F95] # MIAO LETTER TONE-4
+16F96 ; [.3837.0020.0002.16F96] # MIAO LETTER TONE-5
+16F97 ; [.3838.0020.0002.16F97] # MIAO LETTER TONE-6
+16F98 ; [.3839.0020.0002.16F98] # MIAO LETTER TONE-7
+16F99 ; [.383A.0020.0002.16F99] # MIAO LETTER TONE-8
+16F9A ; [.383B.0020.0002.16F9A] # MIAO LETTER REFORMED TONE-1
+16F9B ; [.383C.0020.0002.16F9B] # MIAO LETTER REFORMED TONE-2
+16F9C ; [.383D.0020.0002.16F9C] # MIAO LETTER REFORMED TONE-4
+16F9D ; [.383E.0020.0002.16F9D] # MIAO LETTER REFORMED TONE-5
+16F9E ; [.383F.0020.0002.16F9E] # MIAO LETTER REFORMED TONE-6
+16F9F ; [.3840.0020.0002.16F9F] # MIAO LETTER REFORMED TONE-8
+10280 ; [.3841.0020.0002.10280] # LYCIAN LETTER A
+10281 ; [.3842.0020.0002.10281] # LYCIAN LETTER E
+10282 ; [.3843.0020.0002.10282] # LYCIAN LETTER B
+10283 ; [.3844.0020.0002.10283] # LYCIAN LETTER BH
+10284 ; [.3845.0020.0002.10284] # LYCIAN LETTER G
+10285 ; [.3846.0020.0002.10285] # LYCIAN LETTER D
+10286 ; [.3847.0020.0002.10286] # LYCIAN LETTER I
+10287 ; [.3848.0020.0002.10287] # LYCIAN LETTER W
+10288 ; [.3849.0020.0002.10288] # LYCIAN LETTER Z
+10289 ; [.384A.0020.0002.10289] # LYCIAN LETTER TH
+1028A ; [.384B.0020.0002.1028A] # LYCIAN LETTER J
+1028B ; [.384C.0020.0002.1028B] # LYCIAN LETTER K
+1028C ; [.384D.0020.0002.1028C] # LYCIAN LETTER Q
+1028D ; [.384E.0020.0002.1028D] # LYCIAN LETTER L
+1028E ; [.384F.0020.0002.1028E] # LYCIAN LETTER M
+1028F ; [.3850.0020.0002.1028F] # LYCIAN LETTER N
+10290 ; [.3851.0020.0002.10290] # LYCIAN LETTER MM
+10291 ; [.3852.0020.0002.10291] # LYCIAN LETTER NN
+10292 ; [.3853.0020.0002.10292] # LYCIAN LETTER U
+10293 ; [.3854.0020.0002.10293] # LYCIAN LETTER P
+10294 ; [.3855.0020.0002.10294] # LYCIAN LETTER KK
+10295 ; [.3856.0020.0002.10295] # LYCIAN LETTER R
+10296 ; [.3857.0020.0002.10296] # LYCIAN LETTER S
+10297 ; [.3858.0020.0002.10297] # LYCIAN LETTER T
+10298 ; [.3859.0020.0002.10298] # LYCIAN LETTER TT
+10299 ; [.385A.0020.0002.10299] # LYCIAN LETTER AN
+1029A ; [.385B.0020.0002.1029A] # LYCIAN LETTER EN
+1029B ; [.385C.0020.0002.1029B] # LYCIAN LETTER H
+1029C ; [.385D.0020.0002.1029C] # LYCIAN LETTER X
+102A0 ; [.385E.0020.0002.102A0] # CARIAN LETTER A
+102A1 ; [.385F.0020.0002.102A1] # CARIAN LETTER P2
+102A2 ; [.3860.0020.0002.102A2] # CARIAN LETTER D
+102A3 ; [.3861.0020.0002.102A3] # CARIAN LETTER L
+102A4 ; [.3862.0020.0002.102A4] # CARIAN LETTER UUU
+102A5 ; [.3863.0020.0002.102A5] # CARIAN LETTER R
+102A6 ; [.3864.0020.0002.102A6] # CARIAN LETTER LD
+102A7 ; [.3865.0020.0002.102A7] # CARIAN LETTER A2
+102A8 ; [.3866.0020.0002.102A8] # CARIAN LETTER Q
+102A9 ; [.3867.0020.0002.102A9] # CARIAN LETTER B
+102AA ; [.3868.0020.0002.102AA] # CARIAN LETTER M
+102AB ; [.3869.0020.0002.102AB] # CARIAN LETTER O
+102AC ; [.386A.0020.0002.102AC] # CARIAN LETTER D2
+102AD ; [.386B.0020.0002.102AD] # CARIAN LETTER T
+102AE ; [.386C.0020.0002.102AE] # CARIAN LETTER SH
+102AF ; [.386D.0020.0002.102AF] # CARIAN LETTER SH2
+102B0 ; [.386E.0020.0002.102B0] # CARIAN LETTER S
+102B1 ; [.386F.0020.0002.102B1] # CARIAN LETTER C-18
+102B2 ; [.3870.0020.0002.102B2] # CARIAN LETTER U
+102B3 ; [.3871.0020.0002.102B3] # CARIAN LETTER NN
+102B4 ; [.3872.0020.0002.102B4] # CARIAN LETTER X
+102B5 ; [.3873.0020.0002.102B5] # CARIAN LETTER N
+102B6 ; [.3874.0020.0002.102B6] # CARIAN LETTER TT2
+102B7 ; [.3875.0020.0002.102B7] # CARIAN LETTER P
+102B8 ; [.3876.0020.0002.102B8] # CARIAN LETTER SS
+102B9 ; [.3877.0020.0002.102B9] # CARIAN LETTER I
+102BA ; [.3878.0020.0002.102BA] # CARIAN LETTER E
+102BB ; [.3879.0020.0002.102BB] # CARIAN LETTER UUUU
+102BC ; [.387A.0020.0002.102BC] # CARIAN LETTER K
+102BD ; [.387B.0020.0002.102BD] # CARIAN LETTER K2
+102BE ; [.387C.0020.0002.102BE] # CARIAN LETTER ND
+102BF ; [.387D.0020.0002.102BF] # CARIAN LETTER UU
+102C0 ; [.387E.0020.0002.102C0] # CARIAN LETTER G
+102C1 ; [.387F.0020.0002.102C1] # CARIAN LETTER G2
+102C2 ; [.3880.0020.0002.102C2] # CARIAN LETTER ST
+102C3 ; [.3881.0020.0002.102C3] # CARIAN LETTER ST2
+102C4 ; [.3882.0020.0002.102C4] # CARIAN LETTER NG
+102C5 ; [.3883.0020.0002.102C5] # CARIAN LETTER II
+102C6 ; [.3884.0020.0002.102C6] # CARIAN LETTER C-39
+102C7 ; [.3885.0020.0002.102C7] # CARIAN LETTER TT
+102C8 ; [.3886.0020.0002.102C8] # CARIAN LETTER UUU2
+102C9 ; [.3887.0020.0002.102C9] # CARIAN LETTER RR
+102CA ; [.3888.0020.0002.102CA] # CARIAN LETTER MB
+102CB ; [.3889.0020.0002.102CB] # CARIAN LETTER MB2
+102CC ; [.388A.0020.0002.102CC] # CARIAN LETTER MB3
+102CD ; [.388B.0020.0002.102CD] # CARIAN LETTER MB4
+102CE ; [.388C.0020.0002.102CE] # CARIAN LETTER LD2
+102CF ; [.388D.0020.0002.102CF] # CARIAN LETTER E2
+102D0 ; [.388E.0020.0002.102D0] # CARIAN LETTER UUU3
+10920 ; [.388F.0020.0002.10920] # LYDIAN LETTER A
+10921 ; [.3890.0020.0002.10921] # LYDIAN LETTER B
+10922 ; [.3891.0020.0002.10922] # LYDIAN LETTER G
+10923 ; [.3892.0020.0002.10923] # LYDIAN LETTER D
+10924 ; [.3893.0020.0002.10924] # LYDIAN LETTER E
+10925 ; [.3894.0020.0002.10925] # LYDIAN LETTER V
+10926 ; [.3895.0020.0002.10926] # LYDIAN LETTER I
+10927 ; [.3896.0020.0002.10927] # LYDIAN LETTER Y
+10928 ; [.3897.0020.0002.10928] # LYDIAN LETTER K
+10929 ; [.3898.0020.0002.10929] # LYDIAN LETTER L
+1092A ; [.3899.0020.0002.1092A] # LYDIAN LETTER M
+1092B ; [.389A.0020.0002.1092B] # LYDIAN LETTER N
+1092C ; [.389B.0020.0002.1092C] # LYDIAN LETTER O
+1092D ; [.389C.0020.0002.1092D] # LYDIAN LETTER R
+1092E ; [.389D.0020.0002.1092E] # LYDIAN LETTER SS
+1092F ; [.389E.0020.0002.1092F] # LYDIAN LETTER T
+10930 ; [.389F.0020.0002.10930] # LYDIAN LETTER U
+10931 ; [.38A0.0020.0002.10931] # LYDIAN LETTER F
+10932 ; [.38A1.0020.0002.10932] # LYDIAN LETTER Q
+10933 ; [.38A2.0020.0002.10933] # LYDIAN LETTER S
+10934 ; [.38A3.0020.0002.10934] # LYDIAN LETTER TT
+10935 ; [.38A4.0020.0002.10935] # LYDIAN LETTER AN
+10936 ; [.38A5.0020.0002.10936] # LYDIAN LETTER EN
+10937 ; [.38A6.0020.0002.10937] # LYDIAN LETTER LY
+10938 ; [.38A7.0020.0002.10938] # LYDIAN LETTER NN
+10939 ; [.38A8.0020.0002.10939] # LYDIAN LETTER C
+10300 ; [.38A9.0020.0002.10300] # OLD ITALIC LETTER A
+10301 ; [.38AA.0020.0002.10301] # OLD ITALIC LETTER BE
+10302 ; [.38AB.0020.0002.10302] # OLD ITALIC LETTER KE
+10303 ; [.38AC.0020.0002.10303] # OLD ITALIC LETTER DE
+10304 ; [.38AD.0020.0002.10304] # OLD ITALIC LETTER E
+10305 ; [.38AE.0020.0002.10305] # OLD ITALIC LETTER VE
+10306 ; [.38AF.0020.0002.10306] # OLD ITALIC LETTER ZE
+10307 ; [.38B0.0020.0002.10307] # OLD ITALIC LETTER HE
+10308 ; [.38B1.0020.0002.10308] # OLD ITALIC LETTER THE
+10309 ; [.38B2.0020.0002.10309] # OLD ITALIC LETTER I
+1030A ; [.38B3.0020.0002.1030A] # OLD ITALIC LETTER KA
+1030B ; [.38B4.0020.0002.1030B] # OLD ITALIC LETTER EL
+1030C ; [.38B5.0020.0002.1030C] # OLD ITALIC LETTER EM
+1030D ; [.38B6.0020.0002.1030D] # OLD ITALIC LETTER EN
+1030E ; [.38B7.0020.0002.1030E] # OLD ITALIC LETTER ESH
+1030F ; [.38B8.0020.0002.1030F] # OLD ITALIC LETTER O
+10310 ; [.38B9.0020.0002.10310] # OLD ITALIC LETTER PE
+10311 ; [.38BA.0020.0002.10311] # OLD ITALIC LETTER SHE
+10312 ; [.38BB.0020.0002.10312] # OLD ITALIC LETTER KU
+10313 ; [.38BC.0020.0002.10313] # OLD ITALIC LETTER ER
+10314 ; [.38BD.0020.0002.10314] # OLD ITALIC LETTER ES
+10315 ; [.38BE.0020.0002.10315] # OLD ITALIC LETTER TE
+10316 ; [.38BF.0020.0002.10316] # OLD ITALIC LETTER U
+10317 ; [.38C0.0020.0002.10317] # OLD ITALIC LETTER EKS
+10318 ; [.38C1.0020.0002.10318] # OLD ITALIC LETTER PHE
+10319 ; [.38C2.0020.0002.10319] # OLD ITALIC LETTER KHE
+1031A ; [.38C3.0020.0002.1031A] # OLD ITALIC LETTER EF
+1031B ; [.38C4.0020.0002.1031B] # OLD ITALIC LETTER ERS
+1031C ; [.38C5.0020.0002.1031C] # OLD ITALIC LETTER CHE
+1031D ; [.38C6.0020.0002.1031D] # OLD ITALIC LETTER II
+1031E ; [.38C7.0020.0002.1031E] # OLD ITALIC LETTER UU
+10330 ; [.38C8.0020.0002.10330] # GOTHIC LETTER AHSA
+10331 ; [.38C9.0020.0002.10331] # GOTHIC LETTER BAIRKAN
+10332 ; [.38CA.0020.0002.10332] # GOTHIC LETTER GIBA
+10333 ; [.38CB.0020.0002.10333] # GOTHIC LETTER DAGS
+10334 ; [.38CC.0020.0002.10334] # GOTHIC LETTER AIHVUS
+10335 ; [.38CD.0020.0002.10335] # GOTHIC LETTER QAIRTHRA
+10336 ; [.38CE.0020.0002.10336] # GOTHIC LETTER IUJA
+10337 ; [.38CF.0020.0002.10337] # GOTHIC LETTER HAGL
+10338 ; [.38D0.0020.0002.10338] # GOTHIC LETTER THIUTH
+10339 ; [.38D1.0020.0002.10339] # GOTHIC LETTER EIS
+1033A ; [.38D2.0020.0002.1033A] # GOTHIC LETTER KUSMA
+1033B ; [.38D3.0020.0002.1033B] # GOTHIC LETTER LAGUS
+1033C ; [.38D4.0020.0002.1033C] # GOTHIC LETTER MANNA
+1033D ; [.38D5.0020.0002.1033D] # GOTHIC LETTER NAUTHS
+1033E ; [.38D6.0020.0002.1033E] # GOTHIC LETTER JER
+1033F ; [.38D7.0020.0002.1033F] # GOTHIC LETTER URUS
+10340 ; [.38D8.0020.0002.10340] # GOTHIC LETTER PAIRTHRA
+10341 ; [.38D9.0020.0002.10341] # GOTHIC LETTER NINETY
+10342 ; [.38DA.0020.0002.10342] # GOTHIC LETTER RAIDA
+10343 ; [.38DB.0020.0002.10343] # GOTHIC LETTER SAUIL
+10344 ; [.38DC.0020.0002.10344] # GOTHIC LETTER TEIWS
+10345 ; [.38DD.0020.0002.10345] # GOTHIC LETTER WINJA
+10346 ; [.38DE.0020.0002.10346] # GOTHIC LETTER FAIHU
+10347 ; [.38DF.0020.0002.10347] # GOTHIC LETTER IGGWS
+10348 ; [.38E0.0020.0002.10348] # GOTHIC LETTER HWAIR
+10349 ; [.38E1.0020.0002.10349] # GOTHIC LETTER OTHAL
+1034A ; [.38E2.0020.0002.1034A] # GOTHIC LETTER NINE HUNDRED
+10428 ; [.38E3.0020.0002.10428] # DESERET SMALL LETTER LONG I
+10400 ; [.38E3.0020.0008.10400] # DESERET CAPITAL LETTER LONG I
+10429 ; [.38E4.0020.0002.10429] # DESERET SMALL LETTER LONG E
+10401 ; [.38E4.0020.0008.10401] # DESERET CAPITAL LETTER LONG E
+1042A ; [.38E5.0020.0002.1042A] # DESERET SMALL LETTER LONG A
+10402 ; [.38E5.0020.0008.10402] # DESERET CAPITAL LETTER LONG A
+1042B ; [.38E6.0020.0002.1042B] # DESERET SMALL LETTER LONG AH
+10403 ; [.38E6.0020.0008.10403] # DESERET CAPITAL LETTER LONG AH
+1042C ; [.38E7.0020.0002.1042C] # DESERET SMALL LETTER LONG O
+10404 ; [.38E7.0020.0008.10404] # DESERET CAPITAL LETTER LONG O
+1042D ; [.38E8.0020.0002.1042D] # DESERET SMALL LETTER LONG OO
+10405 ; [.38E8.0020.0008.10405] # DESERET CAPITAL LETTER LONG OO
+1042E ; [.38E9.0020.0002.1042E] # DESERET SMALL LETTER SHORT I
+10406 ; [.38E9.0020.0008.10406] # DESERET CAPITAL LETTER SHORT I
+1042F ; [.38EA.0020.0002.1042F] # DESERET SMALL LETTER SHORT E
+10407 ; [.38EA.0020.0008.10407] # DESERET CAPITAL LETTER SHORT E
+10430 ; [.38EB.0020.0002.10430] # DESERET SMALL LETTER SHORT A
+10408 ; [.38EB.0020.0008.10408] # DESERET CAPITAL LETTER SHORT A
+10431 ; [.38EC.0020.0002.10431] # DESERET SMALL LETTER SHORT AH
+10409 ; [.38EC.0020.0008.10409] # DESERET CAPITAL LETTER SHORT AH
+10432 ; [.38ED.0020.0002.10432] # DESERET SMALL LETTER SHORT O
+1040A ; [.38ED.0020.0008.1040A] # DESERET CAPITAL LETTER SHORT O
+10433 ; [.38EE.0020.0002.10433] # DESERET SMALL LETTER SHORT OO
+1040B ; [.38EE.0020.0008.1040B] # DESERET CAPITAL LETTER SHORT OO
+10434 ; [.38EF.0020.0002.10434] # DESERET SMALL LETTER AY
+1040C ; [.38EF.0020.0008.1040C] # DESERET CAPITAL LETTER AY
+10435 ; [.38F0.0020.0002.10435] # DESERET SMALL LETTER OW
+1040D ; [.38F0.0020.0008.1040D] # DESERET CAPITAL LETTER OW
+10436 ; [.38F1.0020.0002.10436] # DESERET SMALL LETTER WU
+1040E ; [.38F1.0020.0008.1040E] # DESERET CAPITAL LETTER WU
+10437 ; [.38F2.0020.0002.10437] # DESERET SMALL LETTER YEE
+1040F ; [.38F2.0020.0008.1040F] # DESERET CAPITAL LETTER YEE
+10438 ; [.38F3.0020.0002.10438] # DESERET SMALL LETTER H
+10410 ; [.38F3.0020.0008.10410] # DESERET CAPITAL LETTER H
+10439 ; [.38F4.0020.0002.10439] # DESERET SMALL LETTER PEE
+10411 ; [.38F4.0020.0008.10411] # DESERET CAPITAL LETTER PEE
+1043A ; [.38F5.0020.0002.1043A] # DESERET SMALL LETTER BEE
+10412 ; [.38F5.0020.0008.10412] # DESERET CAPITAL LETTER BEE
+1043B ; [.38F6.0020.0002.1043B] # DESERET SMALL LETTER TEE
+10413 ; [.38F6.0020.0008.10413] # DESERET CAPITAL LETTER TEE
+1043C ; [.38F7.0020.0002.1043C] # DESERET SMALL LETTER DEE
+10414 ; [.38F7.0020.0008.10414] # DESERET CAPITAL LETTER DEE
+1043D ; [.38F8.0020.0002.1043D] # DESERET SMALL LETTER CHEE
+10415 ; [.38F8.0020.0008.10415] # DESERET CAPITAL LETTER CHEE
+1043E ; [.38F9.0020.0002.1043E] # DESERET SMALL LETTER JEE
+10416 ; [.38F9.0020.0008.10416] # DESERET CAPITAL LETTER JEE
+1043F ; [.38FA.0020.0002.1043F] # DESERET SMALL LETTER KAY
+10417 ; [.38FA.0020.0008.10417] # DESERET CAPITAL LETTER KAY
+10440 ; [.38FB.0020.0002.10440] # DESERET SMALL LETTER GAY
+10418 ; [.38FB.0020.0008.10418] # DESERET CAPITAL LETTER GAY
+10441 ; [.38FC.0020.0002.10441] # DESERET SMALL LETTER EF
+10419 ; [.38FC.0020.0008.10419] # DESERET CAPITAL LETTER EF
+10442 ; [.38FD.0020.0002.10442] # DESERET SMALL LETTER VEE
+1041A ; [.38FD.0020.0008.1041A] # DESERET CAPITAL LETTER VEE
+10443 ; [.38FE.0020.0002.10443] # DESERET SMALL LETTER ETH
+1041B ; [.38FE.0020.0008.1041B] # DESERET CAPITAL LETTER ETH
+10444 ; [.38FF.0020.0002.10444] # DESERET SMALL LETTER THEE
+1041C ; [.38FF.0020.0008.1041C] # DESERET CAPITAL LETTER THEE
+10445 ; [.3900.0020.0002.10445] # DESERET SMALL LETTER ES
+1041D ; [.3900.0020.0008.1041D] # DESERET CAPITAL LETTER ES
+10446 ; [.3901.0020.0002.10446] # DESERET SMALL LETTER ZEE
+1041E ; [.3901.0020.0008.1041E] # DESERET CAPITAL LETTER ZEE
+10447 ; [.3902.0020.0002.10447] # DESERET SMALL LETTER ESH
+1041F ; [.3902.0020.0008.1041F] # DESERET CAPITAL LETTER ESH
+10448 ; [.3903.0020.0002.10448] # DESERET SMALL LETTER ZHEE
+10420 ; [.3903.0020.0008.10420] # DESERET CAPITAL LETTER ZHEE
+10449 ; [.3904.0020.0002.10449] # DESERET SMALL LETTER ER
+10421 ; [.3904.0020.0008.10421] # DESERET CAPITAL LETTER ER
+1044A ; [.3905.0020.0002.1044A] # DESERET SMALL LETTER EL
+10422 ; [.3905.0020.0008.10422] # DESERET CAPITAL LETTER EL
+1044B ; [.3906.0020.0002.1044B] # DESERET SMALL LETTER EM
+10423 ; [.3906.0020.0008.10423] # DESERET CAPITAL LETTER EM
+1044C ; [.3907.0020.0002.1044C] # DESERET SMALL LETTER EN
+10424 ; [.3907.0020.0008.10424] # DESERET CAPITAL LETTER EN
+1044D ; [.3908.0020.0002.1044D] # DESERET SMALL LETTER ENG
+10425 ; [.3908.0020.0008.10425] # DESERET CAPITAL LETTER ENG
+1044E ; [.3909.0020.0002.1044E] # DESERET SMALL LETTER OI
+10426 ; [.3909.0020.0008.10426] # DESERET CAPITAL LETTER OI
+1044F ; [.390A.0020.0002.1044F] # DESERET SMALL LETTER EW
+10427 ; [.390A.0020.0008.10427] # DESERET CAPITAL LETTER EW
+10450 ; [.390B.0020.0002.10450] # SHAVIAN LETTER PEEP
+10451 ; [.390C.0020.0002.10451] # SHAVIAN LETTER TOT
+10452 ; [.390D.0020.0002.10452] # SHAVIAN LETTER KICK
+10453 ; [.390E.0020.0002.10453] # SHAVIAN LETTER FEE
+10454 ; [.390F.0020.0002.10454] # SHAVIAN LETTER THIGH
+10455 ; [.3910.0020.0002.10455] # SHAVIAN LETTER SO
+10456 ; [.3911.0020.0002.10456] # SHAVIAN LETTER SURE
+10457 ; [.3912.0020.0002.10457] # SHAVIAN LETTER CHURCH
+10458 ; [.3913.0020.0002.10458] # SHAVIAN LETTER YEA
+10459 ; [.3914.0020.0002.10459] # SHAVIAN LETTER HUNG
+1045A ; [.3915.0020.0002.1045A] # SHAVIAN LETTER BIB
+1045B ; [.3916.0020.0002.1045B] # SHAVIAN LETTER DEAD
+1045C ; [.3917.0020.0002.1045C] # SHAVIAN LETTER GAG
+1045D ; [.3918.0020.0002.1045D] # SHAVIAN LETTER VOW
+1045E ; [.3919.0020.0002.1045E] # SHAVIAN LETTER THEY
+1045F ; [.391A.0020.0002.1045F] # SHAVIAN LETTER ZOO
+10460 ; [.391B.0020.0002.10460] # SHAVIAN LETTER MEASURE
+10461 ; [.391C.0020.0002.10461] # SHAVIAN LETTER JUDGE
+10462 ; [.391D.0020.0002.10462] # SHAVIAN LETTER WOE
+10463 ; [.391E.0020.0002.10463] # SHAVIAN LETTER HA-HA
+10464 ; [.391F.0020.0002.10464] # SHAVIAN LETTER LOLL
+10465 ; [.3920.0020.0002.10465] # SHAVIAN LETTER MIME
+10466 ; [.3921.0020.0002.10466] # SHAVIAN LETTER IF
+10467 ; [.3922.0020.0002.10467] # SHAVIAN LETTER EGG
+10468 ; [.3923.0020.0002.10468] # SHAVIAN LETTER ASH
+10469 ; [.3924.0020.0002.10469] # SHAVIAN LETTER ADO
+1046A ; [.3925.0020.0002.1046A] # SHAVIAN LETTER ON
+1046B ; [.3926.0020.0002.1046B] # SHAVIAN LETTER WOOL
+1046C ; [.3927.0020.0002.1046C] # SHAVIAN LETTER OUT
+1046D ; [.3928.0020.0002.1046D] # SHAVIAN LETTER AH
+1046E ; [.3929.0020.0002.1046E] # SHAVIAN LETTER ROAR
+1046F ; [.392A.0020.0002.1046F] # SHAVIAN LETTER NUN
+10470 ; [.392B.0020.0002.10470] # SHAVIAN LETTER EAT
+10471 ; [.392C.0020.0002.10471] # SHAVIAN LETTER AGE
+10472 ; [.392D.0020.0002.10472] # SHAVIAN LETTER ICE
+10473 ; [.392E.0020.0002.10473] # SHAVIAN LETTER UP
+10474 ; [.392F.0020.0002.10474] # SHAVIAN LETTER OAK
+10475 ; [.3930.0020.0002.10475] # SHAVIAN LETTER OOZE
+10476 ; [.3931.0020.0002.10476] # SHAVIAN LETTER OIL
+10477 ; [.3932.0020.0002.10477] # SHAVIAN LETTER AWE
+10478 ; [.3933.0020.0002.10478] # SHAVIAN LETTER ARE
+10479 ; [.3934.0020.0002.10479] # SHAVIAN LETTER OR
+1047A ; [.3935.0020.0002.1047A] # SHAVIAN LETTER AIR
+1047B ; [.3936.0020.0002.1047B] # SHAVIAN LETTER ERR
+1047C ; [.3937.0020.0002.1047C] # SHAVIAN LETTER ARRAY
+1047D ; [.3938.0020.0002.1047D] # SHAVIAN LETTER EAR
+1047E ; [.3939.0020.0002.1047E] # SHAVIAN LETTER IAN
+1047F ; [.393A.0020.0002.1047F] # SHAVIAN LETTER YEW
+10480 ; [.393B.0020.0002.10480] # OSMANYA LETTER ALEF
+10481 ; [.393C.0020.0002.10481] # OSMANYA LETTER BA
+10482 ; [.393D.0020.0002.10482] # OSMANYA LETTER TA
+10483 ; [.393E.0020.0002.10483] # OSMANYA LETTER JA
+10484 ; [.393F.0020.0002.10484] # OSMANYA LETTER XA
+10485 ; [.3940.0020.0002.10485] # OSMANYA LETTER KHA
+10486 ; [.3941.0020.0002.10486] # OSMANYA LETTER DEEL
+10487 ; [.3942.0020.0002.10487] # OSMANYA LETTER RA
+10488 ; [.3943.0020.0002.10488] # OSMANYA LETTER SA
+10489 ; [.3944.0020.0002.10489] # OSMANYA LETTER SHIIN
+1048A ; [.3945.0020.0002.1048A] # OSMANYA LETTER DHA
+1048B ; [.3946.0020.0002.1048B] # OSMANYA LETTER CAYN
+1048C ; [.3947.0020.0002.1048C] # OSMANYA LETTER GA
+1048D ; [.3948.0020.0002.1048D] # OSMANYA LETTER FA
+1048E ; [.3949.0020.0002.1048E] # OSMANYA LETTER QAAF
+1048F ; [.394A.0020.0002.1048F] # OSMANYA LETTER KAAF
+10490 ; [.394B.0020.0002.10490] # OSMANYA LETTER LAAN
+10491 ; [.394C.0020.0002.10491] # OSMANYA LETTER MIIN
+10492 ; [.394D.0020.0002.10492] # OSMANYA LETTER NUUN
+10493 ; [.394E.0020.0002.10493] # OSMANYA LETTER WAW
+10494 ; [.394F.0020.0002.10494] # OSMANYA LETTER HA
+10495 ; [.3950.0020.0002.10495] # OSMANYA LETTER YA
+10496 ; [.3951.0020.0002.10496] # OSMANYA LETTER A
+10497 ; [.3952.0020.0002.10497] # OSMANYA LETTER E
+10498 ; [.3953.0020.0002.10498] # OSMANYA LETTER I
+10499 ; [.3954.0020.0002.10499] # OSMANYA LETTER O
+1049A ; [.3955.0020.0002.1049A] # OSMANYA LETTER U
+1049B ; [.3956.0020.0002.1049B] # OSMANYA LETTER AA
+1049C ; [.3957.0020.0002.1049C] # OSMANYA LETTER EE
+1049D ; [.3958.0020.0002.1049D] # OSMANYA LETTER OO
+110D0 ; [.3959.0020.0002.110D0] # SORA SOMPENG LETTER SAH
+110D1 ; [.395A.0020.0002.110D1] # SORA SOMPENG LETTER TAH
+110D2 ; [.395B.0020.0002.110D2] # SORA SOMPENG LETTER BAH
+110D3 ; [.395C.0020.0002.110D3] # SORA SOMPENG LETTER CAH
+110D4 ; [.395D.0020.0002.110D4] # SORA SOMPENG LETTER DAH
+110D5 ; [.395E.0020.0002.110D5] # SORA SOMPENG LETTER GAH
+110D6 ; [.395F.0020.0002.110D6] # SORA SOMPENG LETTER MAH
+110D7 ; [.3960.0020.0002.110D7] # SORA SOMPENG LETTER NGAH
+110D8 ; [.3961.0020.0002.110D8] # SORA SOMPENG LETTER LAH
+110D9 ; [.3962.0020.0002.110D9] # SORA SOMPENG LETTER NAH
+110DA ; [.3963.0020.0002.110DA] # SORA SOMPENG LETTER VAH
+110DB ; [.3964.0020.0002.110DB] # SORA SOMPENG LETTER PAH
+110DC ; [.3965.0020.0002.110DC] # SORA SOMPENG LETTER YAH
+110DD ; [.3966.0020.0002.110DD] # SORA SOMPENG LETTER RAH
+110DE ; [.3967.0020.0002.110DE] # SORA SOMPENG LETTER HAH
+110DF ; [.3968.0020.0002.110DF] # SORA SOMPENG LETTER KAH
+110E0 ; [.3969.0020.0002.110E0] # SORA SOMPENG LETTER JAH
+110E1 ; [.396A.0020.0002.110E1] # SORA SOMPENG LETTER NYAH
+110E2 ; [.396B.0020.0002.110E2] # SORA SOMPENG LETTER AH
+110E3 ; [.396C.0020.0002.110E3] # SORA SOMPENG LETTER EEH
+110E4 ; [.396D.0020.0002.110E4] # SORA SOMPENG LETTER IH
+110E5 ; [.396E.0020.0002.110E5] # SORA SOMPENG LETTER UH
+110E6 ; [.396F.0020.0002.110E6] # SORA SOMPENG LETTER OH
+110E7 ; [.3970.0020.0002.110E7] # SORA SOMPENG LETTER EH
+110E8 ; [.3971.0020.0002.110E8] # SORA SOMPENG LETTER MAE
+10000 ; [.3972.0020.0002.10000] # LINEAR B SYLLABLE B008 A
+10001 ; [.3973.0020.0002.10001] # LINEAR B SYLLABLE B038 E
+10002 ; [.3974.0020.0002.10002] # LINEAR B SYLLABLE B028 I
+10003 ; [.3975.0020.0002.10003] # LINEAR B SYLLABLE B061 O
+10004 ; [.3976.0020.0002.10004] # LINEAR B SYLLABLE B010 U
+10005 ; [.3977.0020.0002.10005] # LINEAR B SYLLABLE B001 DA
+10006 ; [.3978.0020.0002.10006] # LINEAR B SYLLABLE B045 DE
+10007 ; [.3979.0020.0002.10007] # LINEAR B SYLLABLE B007 DI
+10008 ; [.397A.0020.0002.10008] # LINEAR B SYLLABLE B014 DO
+10009 ; [.397B.0020.0002.10009] # LINEAR B SYLLABLE B051 DU
+1000A ; [.397C.0020.0002.1000A] # LINEAR B SYLLABLE B057 JA
+1000B ; [.397D.0020.0002.1000B] # LINEAR B SYLLABLE B046 JE
+1000D ; [.397E.0020.0002.1000D] # LINEAR B SYLLABLE B036 JO
+1000E ; [.397F.0020.0002.1000E] # LINEAR B SYLLABLE B065 JU
+1000F ; [.3980.0020.0002.1000F] # LINEAR B SYLLABLE B077 KA
+10010 ; [.3981.0020.0002.10010] # LINEAR B SYLLABLE B044 KE
+10011 ; [.3982.0020.0002.10011] # LINEAR B SYLLABLE B067 KI
+10012 ; [.3983.0020.0002.10012] # LINEAR B SYLLABLE B070 KO
+10013 ; [.3984.0020.0002.10013] # LINEAR B SYLLABLE B081 KU
+10014 ; [.3985.0020.0002.10014] # LINEAR B SYLLABLE B080 MA
+10015 ; [.3986.0020.0002.10015] # LINEAR B SYLLABLE B013 ME
+10016 ; [.3987.0020.0002.10016] # LINEAR B SYLLABLE B073 MI
+10017 ; [.3988.0020.0002.10017] # LINEAR B SYLLABLE B015 MO
+10018 ; [.3989.0020.0002.10018] # LINEAR B SYLLABLE B023 MU
+10019 ; [.398A.0020.0002.10019] # LINEAR B SYLLABLE B006 NA
+1001A ; [.398B.0020.0002.1001A] # LINEAR B SYLLABLE B024 NE
+1001B ; [.398C.0020.0002.1001B] # LINEAR B SYLLABLE B030 NI
+1001C ; [.398D.0020.0002.1001C] # LINEAR B SYLLABLE B052 NO
+1001D ; [.398E.0020.0002.1001D] # LINEAR B SYLLABLE B055 NU
+1001E ; [.398F.0020.0002.1001E] # LINEAR B SYLLABLE B003 PA
+1001F ; [.3990.0020.0002.1001F] # LINEAR B SYLLABLE B072 PE
+10020 ; [.3991.0020.0002.10020] # LINEAR B SYLLABLE B039 PI
+10021 ; [.3992.0020.0002.10021] # LINEAR B SYLLABLE B011 PO
+10022 ; [.3993.0020.0002.10022] # LINEAR B SYLLABLE B050 PU
+10023 ; [.3994.0020.0002.10023] # LINEAR B SYLLABLE B016 QA
+10024 ; [.3995.0020.0002.10024] # LINEAR B SYLLABLE B078 QE
+10025 ; [.3996.0020.0002.10025] # LINEAR B SYLLABLE B021 QI
+10026 ; [.3997.0020.0002.10026] # LINEAR B SYLLABLE B032 QO
+10028 ; [.3998.0020.0002.10028] # LINEAR B SYLLABLE B060 RA
+10029 ; [.3999.0020.0002.10029] # LINEAR B SYLLABLE B027 RE
+1002A ; [.399A.0020.0002.1002A] # LINEAR B SYLLABLE B053 RI
+1002B ; [.399B.0020.0002.1002B] # LINEAR B SYLLABLE B002 RO
+1002C ; [.399C.0020.0002.1002C] # LINEAR B SYLLABLE B026 RU
+1002D ; [.399D.0020.0002.1002D] # LINEAR B SYLLABLE B031 SA
+1002E ; [.399E.0020.0002.1002E] # LINEAR B SYLLABLE B009 SE
+1002F ; [.399F.0020.0002.1002F] # LINEAR B SYLLABLE B041 SI
+10030 ; [.39A0.0020.0002.10030] # LINEAR B SYLLABLE B012 SO
+10031 ; [.39A1.0020.0002.10031] # LINEAR B SYLLABLE B058 SU
+10032 ; [.39A2.0020.0002.10032] # LINEAR B SYLLABLE B059 TA
+10033 ; [.39A3.0020.0002.10033] # LINEAR B SYLLABLE B004 TE
+10034 ; [.39A4.0020.0002.10034] # LINEAR B SYLLABLE B037 TI
+10035 ; [.39A5.0020.0002.10035] # LINEAR B SYLLABLE B005 TO
+10036 ; [.39A6.0020.0002.10036] # LINEAR B SYLLABLE B069 TU
+10037 ; [.39A7.0020.0002.10037] # LINEAR B SYLLABLE B054 WA
+10038 ; [.39A8.0020.0002.10038] # LINEAR B SYLLABLE B075 WE
+10039 ; [.39A9.0020.0002.10039] # LINEAR B SYLLABLE B040 WI
+1003A ; [.39AA.0020.0002.1003A] # LINEAR B SYLLABLE B042 WO
+1003C ; [.39AB.0020.0002.1003C] # LINEAR B SYLLABLE B017 ZA
+1003D ; [.39AC.0020.0002.1003D] # LINEAR B SYLLABLE B074 ZE
+1003F ; [.39AD.0020.0002.1003F] # LINEAR B SYLLABLE B020 ZO
+10040 ; [.39AE.0020.0002.10040] # LINEAR B SYLLABLE B025 A2
+10041 ; [.39AF.0020.0002.10041] # LINEAR B SYLLABLE B043 A3
+10042 ; [.39B0.0020.0002.10042] # LINEAR B SYLLABLE B085 AU
+10043 ; [.39B1.0020.0002.10043] # LINEAR B SYLLABLE B071 DWE
+10044 ; [.39B2.0020.0002.10044] # LINEAR B SYLLABLE B090 DWO
+10045 ; [.39B3.0020.0002.10045] # LINEAR B SYLLABLE B048 NWA
+10046 ; [.39B4.0020.0002.10046] # LINEAR B SYLLABLE B029 PU2
+10047 ; [.39B5.0020.0002.10047] # LINEAR B SYLLABLE B062 PTE
+10048 ; [.39B6.0020.0002.10048] # LINEAR B SYLLABLE B076 RA2
+10049 ; [.39B7.0020.0002.10049] # LINEAR B SYLLABLE B033 RA3
+1004A ; [.39B8.0020.0002.1004A] # LINEAR B SYLLABLE B068 RO2
+1004B ; [.39B9.0020.0002.1004B] # LINEAR B SYLLABLE B066 TA2
+1004C ; [.39BA.0020.0002.1004C] # LINEAR B SYLLABLE B087 TWE
+1004D ; [.39BB.0020.0002.1004D] # LINEAR B SYLLABLE B091 TWO
+10050 ; [.39BC.0020.0002.10050] # LINEAR B SYMBOL B018
+10051 ; [.39BD.0020.0002.10051] # LINEAR B SYMBOL B019
+10052 ; [.39BE.0020.0002.10052] # LINEAR B SYMBOL B022
+10053 ; [.39BF.0020.0002.10053] # LINEAR B SYMBOL B034
+10054 ; [.39C0.0020.0002.10054] # LINEAR B SYMBOL B047
+10055 ; [.39C1.0020.0002.10055] # LINEAR B SYMBOL B049
+10056 ; [.39C2.0020.0002.10056] # LINEAR B SYMBOL B056
+10057 ; [.39C3.0020.0002.10057] # LINEAR B SYMBOL B063
+10058 ; [.39C4.0020.0002.10058] # LINEAR B SYMBOL B064
+10059 ; [.39C5.0020.0002.10059] # LINEAR B SYMBOL B079
+1005A ; [.39C6.0020.0002.1005A] # LINEAR B SYMBOL B082
+1005B ; [.39C7.0020.0002.1005B] # LINEAR B SYMBOL B083
+1005C ; [.39C8.0020.0002.1005C] # LINEAR B SYMBOL B086
+1005D ; [.39C9.0020.0002.1005D] # LINEAR B SYMBOL B089
+10080 ; [.39CA.0020.0002.10080] # LINEAR B IDEOGRAM B100 MAN
+10081 ; [.39CB.0020.0002.10081] # LINEAR B IDEOGRAM B102 WOMAN
+10082 ; [.39CC.0020.0002.10082] # LINEAR B IDEOGRAM B104 DEER
+10083 ; [.39CD.0020.0002.10083] # LINEAR B IDEOGRAM B105 EQUID
+10084 ; [.39CE.0020.0002.10084] # LINEAR B IDEOGRAM B105F MARE
+10085 ; [.39CF.0020.0002.10085] # LINEAR B IDEOGRAM B105M STALLION
+10086 ; [.39D0.0020.0002.10086] # LINEAR B IDEOGRAM B106F EWE
+10087 ; [.39D1.0020.0002.10087] # LINEAR B IDEOGRAM B106M RAM
+10088 ; [.39D2.0020.0002.10088] # LINEAR B IDEOGRAM B107F SHE-GOAT
+10089 ; [.39D3.0020.0002.10089] # LINEAR B IDEOGRAM B107M HE-GOAT
+1008A ; [.39D4.0020.0002.1008A] # LINEAR B IDEOGRAM B108F SOW
+1008B ; [.39D5.0020.0002.1008B] # LINEAR B IDEOGRAM B108M BOAR
+1008C ; [.39D6.0020.0002.1008C] # LINEAR B IDEOGRAM B109F COW
+1008D ; [.39D7.0020.0002.1008D] # LINEAR B IDEOGRAM B109M BULL
+1008E ; [.39D8.0020.0002.1008E] # LINEAR B IDEOGRAM B120 WHEAT
+1008F ; [.39D9.0020.0002.1008F] # LINEAR B IDEOGRAM B121 BARLEY
+10090 ; [.39DA.0020.0002.10090] # LINEAR B IDEOGRAM B122 OLIVE
+10091 ; [.39DB.0020.0002.10091] # LINEAR B IDEOGRAM B123 SPICE
+10092 ; [.39DC.0020.0002.10092] # LINEAR B IDEOGRAM B125 CYPERUS
+10093 ; [.39DD.0020.0002.10093] # LINEAR B MONOGRAM B127 KAPO
+10094 ; [.39DE.0020.0002.10094] # LINEAR B MONOGRAM B128 KANAKO
+10095 ; [.39DF.0020.0002.10095] # LINEAR B IDEOGRAM B130 OIL
+10096 ; [.39E0.0020.0002.10096] # LINEAR B IDEOGRAM B131 WINE
+10097 ; [.39E1.0020.0002.10097] # LINEAR B IDEOGRAM B132
+10098 ; [.39E2.0020.0002.10098] # LINEAR B MONOGRAM B133 AREPA
+10099 ; [.39E3.0020.0002.10099] # LINEAR B MONOGRAM B135 MERI
+1009A ; [.39E4.0020.0002.1009A] # LINEAR B IDEOGRAM B140 BRONZE
+1009B ; [.39E5.0020.0002.1009B] # LINEAR B IDEOGRAM B141 GOLD
+1009C ; [.39E6.0020.0002.1009C] # LINEAR B IDEOGRAM B142
+1009D ; [.39E7.0020.0002.1009D] # LINEAR B IDEOGRAM B145 WOOL
+1009E ; [.39E8.0020.0002.1009E] # LINEAR B IDEOGRAM B146
+1009F ; [.39E9.0020.0002.1009F] # LINEAR B IDEOGRAM B150
+100A0 ; [.39EA.0020.0002.100A0] # LINEAR B IDEOGRAM B151 HORN
+100A1 ; [.39EB.0020.0002.100A1] # LINEAR B IDEOGRAM B152
+100A2 ; [.39EC.0020.0002.100A2] # LINEAR B IDEOGRAM B153
+100A3 ; [.39ED.0020.0002.100A3] # LINEAR B IDEOGRAM B154
+100A4 ; [.39EE.0020.0002.100A4] # LINEAR B MONOGRAM B156 TURO2
+100A5 ; [.39EF.0020.0002.100A5] # LINEAR B IDEOGRAM B157
+100A6 ; [.39F0.0020.0002.100A6] # LINEAR B IDEOGRAM B158
+100A7 ; [.39F1.0020.0002.100A7] # LINEAR B IDEOGRAM B159 CLOTH
+100A8 ; [.39F2.0020.0002.100A8] # LINEAR B IDEOGRAM B160
+100A9 ; [.39F3.0020.0002.100A9] # LINEAR B IDEOGRAM B161
+100AA ; [.39F4.0020.0002.100AA] # LINEAR B IDEOGRAM B162 GARMENT
+100AB ; [.39F5.0020.0002.100AB] # LINEAR B IDEOGRAM B163 ARMOUR
+100AC ; [.39F6.0020.0002.100AC] # LINEAR B IDEOGRAM B164
+100AD ; [.39F7.0020.0002.100AD] # LINEAR B IDEOGRAM B165
+100AE ; [.39F8.0020.0002.100AE] # LINEAR B IDEOGRAM B166
+100AF ; [.39F9.0020.0002.100AF] # LINEAR B IDEOGRAM B167
+100B0 ; [.39FA.0020.0002.100B0] # LINEAR B IDEOGRAM B168
+100B1 ; [.39FB.0020.0002.100B1] # LINEAR B IDEOGRAM B169
+100B2 ; [.39FC.0020.0002.100B2] # LINEAR B IDEOGRAM B170
+100B3 ; [.39FD.0020.0002.100B3] # LINEAR B IDEOGRAM B171
+100B4 ; [.39FE.0020.0002.100B4] # LINEAR B IDEOGRAM B172
+100B5 ; [.39FF.0020.0002.100B5] # LINEAR B IDEOGRAM B173 MONTH
+100B6 ; [.3A00.0020.0002.100B6] # LINEAR B IDEOGRAM B174
+100B7 ; [.3A01.0020.0002.100B7] # LINEAR B IDEOGRAM B176 TREE
+100B8 ; [.3A02.0020.0002.100B8] # LINEAR B IDEOGRAM B177
+100B9 ; [.3A03.0020.0002.100B9] # LINEAR B IDEOGRAM B178
+100BA ; [.3A04.0020.0002.100BA] # LINEAR B IDEOGRAM B179
+100BB ; [.3A05.0020.0002.100BB] # LINEAR B IDEOGRAM B180
+100BC ; [.3A06.0020.0002.100BC] # LINEAR B IDEOGRAM B181
+100BD ; [.3A07.0020.0002.100BD] # LINEAR B IDEOGRAM B182
+100BE ; [.3A08.0020.0002.100BE] # LINEAR B IDEOGRAM B183
+100BF ; [.3A09.0020.0002.100BF] # LINEAR B IDEOGRAM B184
+100C0 ; [.3A0A.0020.0002.100C0] # LINEAR B IDEOGRAM B185
+100C1 ; [.3A0B.0020.0002.100C1] # LINEAR B IDEOGRAM B189
+100C2 ; [.3A0C.0020.0002.100C2] # LINEAR B IDEOGRAM B190
+100C3 ; [.3A0D.0020.0002.100C3] # LINEAR B IDEOGRAM B191 HELMET
+100C4 ; [.3A0E.0020.0002.100C4] # LINEAR B IDEOGRAM B220 FOOTSTOOL
+100C5 ; [.3A0F.0020.0002.100C5] # LINEAR B IDEOGRAM B225 BATHTUB
+100C6 ; [.3A10.0020.0002.100C6] # LINEAR B IDEOGRAM B230 SPEAR
+100C7 ; [.3A11.0020.0002.100C7] # LINEAR B IDEOGRAM B231 ARROW
+100C8 ; [.3A12.0020.0002.100C8] # LINEAR B IDEOGRAM B232
+100C9 ; [.3A13.0020.0002.100C9] # LINEAR B IDEOGRAM B233 SWORD
+100CA ; [.3A14.0020.0002.100CA] # LINEAR B IDEOGRAM B234
+100CB ; [.3A15.0020.0002.100CB] # LINEAR B IDEOGRAM B236
+100CC ; [.3A16.0020.0002.100CC] # LINEAR B IDEOGRAM B240 WHEELED CHARIOT
+100CD ; [.3A17.0020.0002.100CD] # LINEAR B IDEOGRAM B241 CHARIOT
+100CE ; [.3A18.0020.0002.100CE] # LINEAR B IDEOGRAM B242 CHARIOT FRAME
+100CF ; [.3A19.0020.0002.100CF] # LINEAR B IDEOGRAM B243 WHEEL
+100D0 ; [.3A1A.0020.0002.100D0] # LINEAR B IDEOGRAM B245
+100D1 ; [.3A1B.0020.0002.100D1] # LINEAR B IDEOGRAM B246
+100D2 ; [.3A1C.0020.0002.100D2] # LINEAR B MONOGRAM B247 DIPTE
+100D3 ; [.3A1D.0020.0002.100D3] # LINEAR B IDEOGRAM B248
+100D4 ; [.3A1E.0020.0002.100D4] # LINEAR B IDEOGRAM B249
+100D5 ; [.3A1F.0020.0002.100D5] # LINEAR B IDEOGRAM B251
+100D6 ; [.3A20.0020.0002.100D6] # LINEAR B IDEOGRAM B252
+100D7 ; [.3A21.0020.0002.100D7] # LINEAR B IDEOGRAM B253
+100D8 ; [.3A22.0020.0002.100D8] # LINEAR B IDEOGRAM B254 DART
+100D9 ; [.3A23.0020.0002.100D9] # LINEAR B IDEOGRAM B255
+100DA ; [.3A24.0020.0002.100DA] # LINEAR B IDEOGRAM B256
+100DB ; [.3A25.0020.0002.100DB] # LINEAR B IDEOGRAM B257
+100DC ; [.3A26.0020.0002.100DC] # LINEAR B IDEOGRAM B258
+100DD ; [.3A27.0020.0002.100DD] # LINEAR B IDEOGRAM B259
+100DE ; [.3A28.0020.0002.100DE] # LINEAR B IDEOGRAM VESSEL B155
+100DF ; [.3A29.0020.0002.100DF] # LINEAR B IDEOGRAM VESSEL B200
+100E0 ; [.3A2A.0020.0002.100E0] # LINEAR B IDEOGRAM VESSEL B201
+100E1 ; [.3A2B.0020.0002.100E1] # LINEAR B IDEOGRAM VESSEL B202
+100E2 ; [.3A2C.0020.0002.100E2] # LINEAR B IDEOGRAM VESSEL B203
+100E3 ; [.3A2D.0020.0002.100E3] # LINEAR B IDEOGRAM VESSEL B204
+100E4 ; [.3A2E.0020.0002.100E4] # LINEAR B IDEOGRAM VESSEL B205
+100E5 ; [.3A2F.0020.0002.100E5] # LINEAR B IDEOGRAM VESSEL B206
+100E6 ; [.3A30.0020.0002.100E6] # LINEAR B IDEOGRAM VESSEL B207
+100E7 ; [.3A31.0020.0002.100E7] # LINEAR B IDEOGRAM VESSEL B208
+100E8 ; [.3A32.0020.0002.100E8] # LINEAR B IDEOGRAM VESSEL B209
+100E9 ; [.3A33.0020.0002.100E9] # LINEAR B IDEOGRAM VESSEL B210
+100EA ; [.3A34.0020.0002.100EA] # LINEAR B IDEOGRAM VESSEL B211
+100EB ; [.3A35.0020.0002.100EB] # LINEAR B IDEOGRAM VESSEL B212
+100EC ; [.3A36.0020.0002.100EC] # LINEAR B IDEOGRAM VESSEL B213
+100ED ; [.3A37.0020.0002.100ED] # LINEAR B IDEOGRAM VESSEL B214
+100EE ; [.3A38.0020.0002.100EE] # LINEAR B IDEOGRAM VESSEL B215
+100EF ; [.3A39.0020.0002.100EF] # LINEAR B IDEOGRAM VESSEL B216
+100F0 ; [.3A3A.0020.0002.100F0] # LINEAR B IDEOGRAM VESSEL B217
+100F1 ; [.3A3B.0020.0002.100F1] # LINEAR B IDEOGRAM VESSEL B218
+100F2 ; [.3A3C.0020.0002.100F2] # LINEAR B IDEOGRAM VESSEL B219
+100F3 ; [.3A3D.0020.0002.100F3] # LINEAR B IDEOGRAM VESSEL B221
+100F4 ; [.3A3E.0020.0002.100F4] # LINEAR B IDEOGRAM VESSEL B222
+100F5 ; [.3A3F.0020.0002.100F5] # LINEAR B IDEOGRAM VESSEL B226
+100F6 ; [.3A40.0020.0002.100F6] # LINEAR B IDEOGRAM VESSEL B227
+100F7 ; [.3A41.0020.0002.100F7] # LINEAR B IDEOGRAM VESSEL B228
+100F8 ; [.3A42.0020.0002.100F8] # LINEAR B IDEOGRAM VESSEL B229
+100F9 ; [.3A43.0020.0002.100F9] # LINEAR B IDEOGRAM VESSEL B250
+100FA ; [.3A44.0020.0002.100FA] # LINEAR B IDEOGRAM VESSEL B305
+10800 ; [.3A45.0020.0002.10800] # CYPRIOT SYLLABLE A
+10801 ; [.3A46.0020.0002.10801] # CYPRIOT SYLLABLE E
+10802 ; [.3A47.0020.0002.10802] # CYPRIOT SYLLABLE I
+10803 ; [.3A48.0020.0002.10803] # CYPRIOT SYLLABLE O
+10804 ; [.3A49.0020.0002.10804] # CYPRIOT SYLLABLE U
+10805 ; [.3A4A.0020.0002.10805] # CYPRIOT SYLLABLE JA
+10808 ; [.3A4B.0020.0002.10808] # CYPRIOT SYLLABLE JO
+1080A ; [.3A4C.0020.0002.1080A] # CYPRIOT SYLLABLE KA
+1080B ; [.3A4D.0020.0002.1080B] # CYPRIOT SYLLABLE KE
+1080C ; [.3A4E.0020.0002.1080C] # CYPRIOT SYLLABLE KI
+1080D ; [.3A4F.0020.0002.1080D] # CYPRIOT SYLLABLE KO
+1080E ; [.3A50.0020.0002.1080E] # CYPRIOT SYLLABLE KU
+1080F ; [.3A51.0020.0002.1080F] # CYPRIOT SYLLABLE LA
+10810 ; [.3A52.0020.0002.10810] # CYPRIOT SYLLABLE LE
+10811 ; [.3A53.0020.0002.10811] # CYPRIOT SYLLABLE LI
+10812 ; [.3A54.0020.0002.10812] # CYPRIOT SYLLABLE LO
+10813 ; [.3A55.0020.0002.10813] # CYPRIOT SYLLABLE LU
+10814 ; [.3A56.0020.0002.10814] # CYPRIOT SYLLABLE MA
+10815 ; [.3A57.0020.0002.10815] # CYPRIOT SYLLABLE ME
+10816 ; [.3A58.0020.0002.10816] # CYPRIOT SYLLABLE MI
+10817 ; [.3A59.0020.0002.10817] # CYPRIOT SYLLABLE MO
+10818 ; [.3A5A.0020.0002.10818] # CYPRIOT SYLLABLE MU
+10819 ; [.3A5B.0020.0002.10819] # CYPRIOT SYLLABLE NA
+1081A ; [.3A5C.0020.0002.1081A] # CYPRIOT SYLLABLE NE
+1081B ; [.3A5D.0020.0002.1081B] # CYPRIOT SYLLABLE NI
+1081C ; [.3A5E.0020.0002.1081C] # CYPRIOT SYLLABLE NO
+1081D ; [.3A5F.0020.0002.1081D] # CYPRIOT SYLLABLE NU
+1081E ; [.3A60.0020.0002.1081E] # CYPRIOT SYLLABLE PA
+1081F ; [.3A61.0020.0002.1081F] # CYPRIOT SYLLABLE PE
+10820 ; [.3A62.0020.0002.10820] # CYPRIOT SYLLABLE PI
+10821 ; [.3A63.0020.0002.10821] # CYPRIOT SYLLABLE PO
+10822 ; [.3A64.0020.0002.10822] # CYPRIOT SYLLABLE PU
+10823 ; [.3A65.0020.0002.10823] # CYPRIOT SYLLABLE RA
+10824 ; [.3A66.0020.0002.10824] # CYPRIOT SYLLABLE RE
+10825 ; [.3A67.0020.0002.10825] # CYPRIOT SYLLABLE RI
+10826 ; [.3A68.0020.0002.10826] # CYPRIOT SYLLABLE RO
+10827 ; [.3A69.0020.0002.10827] # CYPRIOT SYLLABLE RU
+10828 ; [.3A6A.0020.0002.10828] # CYPRIOT SYLLABLE SA
+10829 ; [.3A6B.0020.0002.10829] # CYPRIOT SYLLABLE SE
+1082A ; [.3A6C.0020.0002.1082A] # CYPRIOT SYLLABLE SI
+1082B ; [.3A6D.0020.0002.1082B] # CYPRIOT SYLLABLE SO
+1082C ; [.3A6E.0020.0002.1082C] # CYPRIOT SYLLABLE SU
+1082D ; [.3A6F.0020.0002.1082D] # CYPRIOT SYLLABLE TA
+1082E ; [.3A70.0020.0002.1082E] # CYPRIOT SYLLABLE TE
+1082F ; [.3A71.0020.0002.1082F] # CYPRIOT SYLLABLE TI
+10830 ; [.3A72.0020.0002.10830] # CYPRIOT SYLLABLE TO
+10831 ; [.3A73.0020.0002.10831] # CYPRIOT SYLLABLE TU
+10832 ; [.3A74.0020.0002.10832] # CYPRIOT SYLLABLE WA
+10833 ; [.3A75.0020.0002.10833] # CYPRIOT SYLLABLE WE
+10834 ; [.3A76.0020.0002.10834] # CYPRIOT SYLLABLE WI
+10835 ; [.3A77.0020.0002.10835] # CYPRIOT SYLLABLE WO
+10837 ; [.3A78.0020.0002.10837] # CYPRIOT SYLLABLE XA
+10838 ; [.3A79.0020.0002.10838] # CYPRIOT SYLLABLE XE
+1083C ; [.3A7A.0020.0002.1083C] # CYPRIOT SYLLABLE ZA
+1083F ; [.3A7B.0020.0002.1083F] # CYPRIOT SYLLABLE ZO
+10A60 ; [.3A7C.0020.0002.10A60] # OLD SOUTH ARABIAN LETTER HE
+10A61 ; [.3A7D.0020.0002.10A61] # OLD SOUTH ARABIAN LETTER LAMEDH
+10A62 ; [.3A7E.0020.0002.10A62] # OLD SOUTH ARABIAN LETTER HETH
+10A63 ; [.3A7F.0020.0002.10A63] # OLD SOUTH ARABIAN LETTER MEM
+10A64 ; [.3A80.0020.0002.10A64] # OLD SOUTH ARABIAN LETTER QOPH
+10A65 ; [.3A81.0020.0002.10A65] # OLD SOUTH ARABIAN LETTER WAW
+10A66 ; [.3A82.0020.0002.10A66] # OLD SOUTH ARABIAN LETTER SHIN
+10A67 ; [.3A83.0020.0002.10A67] # OLD SOUTH ARABIAN LETTER RESH
+10A68 ; [.3A84.0020.0002.10A68] # OLD SOUTH ARABIAN LETTER BETH
+10A69 ; [.3A85.0020.0002.10A69] # OLD SOUTH ARABIAN LETTER TAW
+10A6A ; [.3A86.0020.0002.10A6A] # OLD SOUTH ARABIAN LETTER SAT
+10A6B ; [.3A87.0020.0002.10A6B] # OLD SOUTH ARABIAN LETTER KAPH
+10A6C ; [.3A88.0020.0002.10A6C] # OLD SOUTH ARABIAN LETTER NUN
+10A6D ; [.3A89.0020.0002.10A6D] # OLD SOUTH ARABIAN LETTER KHETH
+10A6E ; [.3A8A.0020.0002.10A6E] # OLD SOUTH ARABIAN LETTER SADHE
+10A6F ; [.3A8B.0020.0002.10A6F] # OLD SOUTH ARABIAN LETTER SAMEKH
+10A70 ; [.3A8C.0020.0002.10A70] # OLD SOUTH ARABIAN LETTER FE
+10A71 ; [.3A8D.0020.0002.10A71] # OLD SOUTH ARABIAN LETTER ALEF
+10A72 ; [.3A8E.0020.0002.10A72] # OLD SOUTH ARABIAN LETTER AYN
+10A73 ; [.3A8F.0020.0002.10A73] # OLD SOUTH ARABIAN LETTER DHADHE
+10A74 ; [.3A90.0020.0002.10A74] # OLD SOUTH ARABIAN LETTER GIMEL
+10A75 ; [.3A91.0020.0002.10A75] # OLD SOUTH ARABIAN LETTER DALETH
+10A76 ; [.3A92.0020.0002.10A76] # OLD SOUTH ARABIAN LETTER GHAYN
+10A77 ; [.3A93.0020.0002.10A77] # OLD SOUTH ARABIAN LETTER TETH
+10A78 ; [.3A94.0020.0002.10A78] # OLD SOUTH ARABIAN LETTER ZAYN
+10A79 ; [.3A95.0020.0002.10A79] # OLD SOUTH ARABIAN LETTER DHALETH
+10A7A ; [.3A96.0020.0002.10A7A] # OLD SOUTH ARABIAN LETTER YODH
+10A7B ; [.3A97.0020.0002.10A7B] # OLD SOUTH ARABIAN LETTER THAW
+10A7C ; [.3A98.0020.0002.10A7C] # OLD SOUTH ARABIAN LETTER THETH
+10B00 ; [.3A99.0020.0002.10B00] # AVESTAN LETTER A
+10B01 ; [.3A9A.0020.0002.10B01] # AVESTAN LETTER AA
+10B02 ; [.3A9B.0020.0002.10B02] # AVESTAN LETTER AO
+10B03 ; [.3A9C.0020.0002.10B03] # AVESTAN LETTER AAO
+10B04 ; [.3A9D.0020.0002.10B04] # AVESTAN LETTER AN
+10B05 ; [.3A9E.0020.0002.10B05] # AVESTAN LETTER AAN
+10B06 ; [.3A9F.0020.0002.10B06] # AVESTAN LETTER AE
+10B07 ; [.3AA0.0020.0002.10B07] # AVESTAN LETTER AEE
+10B08 ; [.3AA1.0020.0002.10B08] # AVESTAN LETTER E
+10B09 ; [.3AA2.0020.0002.10B09] # AVESTAN LETTER EE
+10B0A ; [.3AA3.0020.0002.10B0A] # AVESTAN LETTER O
+10B0B ; [.3AA4.0020.0002.10B0B] # AVESTAN LETTER OO
+10B0C ; [.3AA5.0020.0002.10B0C] # AVESTAN LETTER I
+10B0D ; [.3AA6.0020.0002.10B0D] # AVESTAN LETTER II
+10B0E ; [.3AA7.0020.0002.10B0E] # AVESTAN LETTER U
+10B0F ; [.3AA8.0020.0002.10B0F] # AVESTAN LETTER UU
+10B10 ; [.3AA9.0020.0002.10B10] # AVESTAN LETTER KE
+10B11 ; [.3AAA.0020.0002.10B11] # AVESTAN LETTER XE
+10B12 ; [.3AAB.0020.0002.10B12] # AVESTAN LETTER XYE
+10B13 ; [.3AAC.0020.0002.10B13] # AVESTAN LETTER XVE
+10B14 ; [.3AAD.0020.0002.10B14] # AVESTAN LETTER GE
+10B15 ; [.3AAE.0020.0002.10B15] # AVESTAN LETTER GGE
+10B16 ; [.3AAF.0020.0002.10B16] # AVESTAN LETTER GHE
+10B17 ; [.3AB0.0020.0002.10B17] # AVESTAN LETTER CE
+10B18 ; [.3AB1.0020.0002.10B18] # AVESTAN LETTER JE
+10B19 ; [.3AB2.0020.0002.10B19] # AVESTAN LETTER TE
+10B1A ; [.3AB3.0020.0002.10B1A] # AVESTAN LETTER THE
+10B1B ; [.3AB4.0020.0002.10B1B] # AVESTAN LETTER DE
+10B1C ; [.3AB5.0020.0002.10B1C] # AVESTAN LETTER DHE
+10B1D ; [.3AB6.0020.0002.10B1D] # AVESTAN LETTER TTE
+10B1E ; [.3AB7.0020.0002.10B1E] # AVESTAN LETTER PE
+10B1F ; [.3AB8.0020.0002.10B1F] # AVESTAN LETTER FE
+10B20 ; [.3AB9.0020.0002.10B20] # AVESTAN LETTER BE
+10B21 ; [.3ABA.0020.0002.10B21] # AVESTAN LETTER BHE
+10B22 ; [.3ABB.0020.0002.10B22] # AVESTAN LETTER NGE
+10B23 ; [.3ABC.0020.0002.10B23] # AVESTAN LETTER NGYE
+10B24 ; [.3ABD.0020.0002.10B24] # AVESTAN LETTER NGVE
+10B25 ; [.3ABE.0020.0002.10B25] # AVESTAN LETTER NE
+10B26 ; [.3ABF.0020.0002.10B26] # AVESTAN LETTER NYE
+10B27 ; [.3AC0.0020.0002.10B27] # AVESTAN LETTER NNE
+10B28 ; [.3AC1.0020.0002.10B28] # AVESTAN LETTER ME
+10B29 ; [.3AC2.0020.0002.10B29] # AVESTAN LETTER HME
+10B2A ; [.3AC3.0020.0002.10B2A] # AVESTAN LETTER YYE
+10B2B ; [.3AC4.0020.0002.10B2B] # AVESTAN LETTER YE
+10B2C ; [.3AC5.0020.0002.10B2C] # AVESTAN LETTER VE
+10B2D ; [.3AC6.0020.0002.10B2D] # AVESTAN LETTER RE
+10B2E ; [.3AC6.0020.0004.10B2E][.0000.0139.0004.10B2E] # AVESTAN LETTER LE
+10B2F ; [.3AC7.0020.0002.10B2F] # AVESTAN LETTER SE
+10B30 ; [.3AC8.0020.0002.10B30] # AVESTAN LETTER ZE
+10B31 ; [.3AC9.0020.0002.10B31] # AVESTAN LETTER SHE
+10B32 ; [.3ACA.0020.0002.10B32] # AVESTAN LETTER ZHE
+10B33 ; [.3ACB.0020.0002.10B33] # AVESTAN LETTER SHYE
+10B34 ; [.3ACC.0020.0002.10B34] # AVESTAN LETTER SSHE
+10B35 ; [.3ACD.0020.0002.10B35] # AVESTAN LETTER HE
+10840 ; [.3ACE.0020.0002.10840] # IMPERIAL ARAMAIC LETTER ALEPH
+10841 ; [.3ACF.0020.0002.10841] # IMPERIAL ARAMAIC LETTER BETH
+10842 ; [.3AD0.0020.0002.10842] # IMPERIAL ARAMAIC LETTER GIMEL
+10843 ; [.3AD1.0020.0002.10843] # IMPERIAL ARAMAIC LETTER DALETH
+10844 ; [.3AD2.0020.0002.10844] # IMPERIAL ARAMAIC LETTER HE
+10845 ; [.3AD3.0020.0002.10845] # IMPERIAL ARAMAIC LETTER WAW
+10846 ; [.3AD4.0020.0002.10846] # IMPERIAL ARAMAIC LETTER ZAYIN
+10847 ; [.3AD5.0020.0002.10847] # IMPERIAL ARAMAIC LETTER HETH
+10848 ; [.3AD6.0020.0002.10848] # IMPERIAL ARAMAIC LETTER TETH
+10849 ; [.3AD7.0020.0002.10849] # IMPERIAL ARAMAIC LETTER YODH
+1084A ; [.3AD8.0020.0002.1084A] # IMPERIAL ARAMAIC LETTER KAPH
+1084B ; [.3AD9.0020.0002.1084B] # IMPERIAL ARAMAIC LETTER LAMEDH
+1084C ; [.3ADA.0020.0002.1084C] # IMPERIAL ARAMAIC LETTER MEM
+1084D ; [.3ADB.0020.0002.1084D] # IMPERIAL ARAMAIC LETTER NUN
+1084E ; [.3ADC.0020.0002.1084E] # IMPERIAL ARAMAIC LETTER SAMEKH
+1084F ; [.3ADD.0020.0002.1084F] # IMPERIAL ARAMAIC LETTER AYIN
+10850 ; [.3ADE.0020.0002.10850] # IMPERIAL ARAMAIC LETTER PE
+10851 ; [.3ADF.0020.0002.10851] # IMPERIAL ARAMAIC LETTER SADHE
+10852 ; [.3AE0.0020.0002.10852] # IMPERIAL ARAMAIC LETTER QOPH
+10853 ; [.3AE1.0020.0002.10853] # IMPERIAL ARAMAIC LETTER RESH
+10854 ; [.3AE2.0020.0002.10854] # IMPERIAL ARAMAIC LETTER SHIN
+10855 ; [.3AE3.0020.0002.10855] # IMPERIAL ARAMAIC LETTER TAW
+10B40 ; [.3AE4.0020.0002.10B40] # INSCRIPTIONAL PARTHIAN LETTER ALEPH
+10B41 ; [.3AE5.0020.0002.10B41] # INSCRIPTIONAL PARTHIAN LETTER BETH
+10B42 ; [.3AE6.0020.0002.10B42] # INSCRIPTIONAL PARTHIAN LETTER GIMEL
+10B43 ; [.3AE7.0020.0002.10B43] # INSCRIPTIONAL PARTHIAN LETTER DALETH
+10B44 ; [.3AE8.0020.0002.10B44] # INSCRIPTIONAL PARTHIAN LETTER HE
+10B45 ; [.3AE9.0020.0002.10B45] # INSCRIPTIONAL PARTHIAN LETTER WAW
+10B46 ; [.3AEA.0020.0002.10B46] # INSCRIPTIONAL PARTHIAN LETTER ZAYIN
+10B47 ; [.3AEB.0020.0002.10B47] # INSCRIPTIONAL PARTHIAN LETTER HETH
+10B48 ; [.3AEC.0020.0002.10B48] # INSCRIPTIONAL PARTHIAN LETTER TETH
+10B49 ; [.3AED.0020.0002.10B49] # INSCRIPTIONAL PARTHIAN LETTER YODH
+10B4A ; [.3AEE.0020.0002.10B4A] # INSCRIPTIONAL PARTHIAN LETTER KAPH
+10B4B ; [.3AEF.0020.0002.10B4B] # INSCRIPTIONAL PARTHIAN LETTER LAMEDH
+10B4C ; [.3AF0.0020.0002.10B4C] # INSCRIPTIONAL PARTHIAN LETTER MEM
+10B4D ; [.3AF1.0020.0002.10B4D] # INSCRIPTIONAL PARTHIAN LETTER NUN
+10B4E ; [.3AF2.0020.0002.10B4E] # INSCRIPTIONAL PARTHIAN LETTER SAMEKH
+10B4F ; [.3AF3.0020.0002.10B4F] # INSCRIPTIONAL PARTHIAN LETTER AYIN
+10B50 ; [.3AF4.0020.0002.10B50] # INSCRIPTIONAL PARTHIAN LETTER PE
+10B51 ; [.3AF5.0020.0002.10B51] # INSCRIPTIONAL PARTHIAN LETTER SADHE
+10B52 ; [.3AF6.0020.0002.10B52] # INSCRIPTIONAL PARTHIAN LETTER QOPH
+10B53 ; [.3AF7.0020.0002.10B53] # INSCRIPTIONAL PARTHIAN LETTER RESH
+10B54 ; [.3AF8.0020.0002.10B54] # INSCRIPTIONAL PARTHIAN LETTER SHIN
+10B55 ; [.3AF9.0020.0002.10B55] # INSCRIPTIONAL PARTHIAN LETTER TAW
+10B60 ; [.3AFA.0020.0002.10B60] # INSCRIPTIONAL PAHLAVI LETTER ALEPH
+10B61 ; [.3AFB.0020.0002.10B61] # INSCRIPTIONAL PAHLAVI LETTER BETH
+10B62 ; [.3AFC.0020.0002.10B62] # INSCRIPTIONAL PAHLAVI LETTER GIMEL
+10B63 ; [.3AFD.0020.0002.10B63] # INSCRIPTIONAL PAHLAVI LETTER DALETH
+10B64 ; [.3AFE.0020.0002.10B64] # INSCRIPTIONAL PAHLAVI LETTER HE
+10B65 ; [.3AFF.0020.0002.10B65] # INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH
+10B66 ; [.3B00.0020.0002.10B66] # INSCRIPTIONAL PAHLAVI LETTER ZAYIN
+10B67 ; [.3B01.0020.0002.10B67] # INSCRIPTIONAL PAHLAVI LETTER HETH
+10B68 ; [.3B02.0020.0002.10B68] # INSCRIPTIONAL PAHLAVI LETTER TETH
+10B69 ; [.3B03.0020.0002.10B69] # INSCRIPTIONAL PAHLAVI LETTER YODH
+10B6A ; [.3B04.0020.0002.10B6A] # INSCRIPTIONAL PAHLAVI LETTER KAPH
+10B6B ; [.3B05.0020.0002.10B6B] # INSCRIPTIONAL PAHLAVI LETTER LAMEDH
+10B6C ; [.3B06.0020.0002.10B6C] # INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH
+10B6D ; [.3B07.0020.0002.10B6D] # INSCRIPTIONAL PAHLAVI LETTER NUN
+10B6E ; [.3B08.0020.0002.10B6E] # INSCRIPTIONAL PAHLAVI LETTER SAMEKH
+10B6F ; [.3B09.0020.0002.10B6F] # INSCRIPTIONAL PAHLAVI LETTER PE
+10B70 ; [.3B0A.0020.0002.10B70] # INSCRIPTIONAL PAHLAVI LETTER SADHE
+10B71 ; [.3B0B.0020.0002.10B71] # INSCRIPTIONAL PAHLAVI LETTER SHIN
+10B72 ; [.3B0C.0020.0002.10B72] # INSCRIPTIONAL PAHLAVI LETTER TAW
+10380 ; [.3B0D.0020.0002.10380] # UGARITIC LETTER ALPA
+10381 ; [.3B0E.0020.0002.10381] # UGARITIC LETTER BETA
+10382 ; [.3B0F.0020.0002.10382] # UGARITIC LETTER GAMLA
+10383 ; [.3B10.0020.0002.10383] # UGARITIC LETTER KHA
+10384 ; [.3B11.0020.0002.10384] # UGARITIC LETTER DELTA
+10385 ; [.3B12.0020.0002.10385] # UGARITIC LETTER HO
+10386 ; [.3B13.0020.0002.10386] # UGARITIC LETTER WO
+10387 ; [.3B14.0020.0002.10387] # UGARITIC LETTER ZETA
+10388 ; [.3B15.0020.0002.10388] # UGARITIC LETTER HOTA
+10389 ; [.3B16.0020.0002.10389] # UGARITIC LETTER TET
+1038A ; [.3B17.0020.0002.1038A] # UGARITIC LETTER YOD
+1038B ; [.3B18.0020.0002.1038B] # UGARITIC LETTER KAF
+1038C ; [.3B19.0020.0002.1038C] # UGARITIC LETTER SHIN
+1038D ; [.3B1A.0020.0002.1038D] # UGARITIC LETTER LAMDA
+1038E ; [.3B1B.0020.0002.1038E] # UGARITIC LETTER MEM
+1038F ; [.3B1C.0020.0002.1038F] # UGARITIC LETTER DHAL
+10390 ; [.3B1D.0020.0002.10390] # UGARITIC LETTER NUN
+10391 ; [.3B1E.0020.0002.10391] # UGARITIC LETTER ZU
+10392 ; [.3B1F.0020.0002.10392] # UGARITIC LETTER SAMKA
+10393 ; [.3B20.0020.0002.10393] # UGARITIC LETTER AIN
+10394 ; [.3B21.0020.0002.10394] # UGARITIC LETTER PU
+10395 ; [.3B22.0020.0002.10395] # UGARITIC LETTER SADE
+10396 ; [.3B23.0020.0002.10396] # UGARITIC LETTER QOPA
+10397 ; [.3B24.0020.0002.10397] # UGARITIC LETTER RASHA
+10398 ; [.3B25.0020.0002.10398] # UGARITIC LETTER THANNA
+10399 ; [.3B26.0020.0002.10399] # UGARITIC LETTER GHAIN
+1039A ; [.3B27.0020.0002.1039A] # UGARITIC LETTER TO
+1039B ; [.3B28.0020.0002.1039B] # UGARITIC LETTER I
+1039C ; [.3B29.0020.0002.1039C] # UGARITIC LETTER U
+1039D ; [.3B2A.0020.0002.1039D] # UGARITIC LETTER SSU
+103A0 ; [.3B2B.0020.0002.103A0] # OLD PERSIAN SIGN A
+103A1 ; [.3B2C.0020.0002.103A1] # OLD PERSIAN SIGN I
+103A2 ; [.3B2D.0020.0002.103A2] # OLD PERSIAN SIGN U
+103A3 ; [.3B2E.0020.0002.103A3] # OLD PERSIAN SIGN KA
+103A4 ; [.3B2F.0020.0002.103A4] # OLD PERSIAN SIGN KU
+103A5 ; [.3B30.0020.0002.103A5] # OLD PERSIAN SIGN GA
+103A6 ; [.3B31.0020.0002.103A6] # OLD PERSIAN SIGN GU
+103A7 ; [.3B32.0020.0002.103A7] # OLD PERSIAN SIGN XA
+103A8 ; [.3B33.0020.0002.103A8] # OLD PERSIAN SIGN CA
+103A9 ; [.3B34.0020.0002.103A9] # OLD PERSIAN SIGN JA
+103AA ; [.3B35.0020.0002.103AA] # OLD PERSIAN SIGN JI
+103AB ; [.3B36.0020.0002.103AB] # OLD PERSIAN SIGN TA
+103AC ; [.3B37.0020.0002.103AC] # OLD PERSIAN SIGN TU
+103AD ; [.3B38.0020.0002.103AD] # OLD PERSIAN SIGN DA
+103AE ; [.3B39.0020.0002.103AE] # OLD PERSIAN SIGN DI
+103AF ; [.3B3A.0020.0002.103AF] # OLD PERSIAN SIGN DU
+103B0 ; [.3B3B.0020.0002.103B0] # OLD PERSIAN SIGN THA
+103B1 ; [.3B3C.0020.0002.103B1] # OLD PERSIAN SIGN PA
+103B2 ; [.3B3D.0020.0002.103B2] # OLD PERSIAN SIGN BA
+103B3 ; [.3B3E.0020.0002.103B3] # OLD PERSIAN SIGN FA
+103B4 ; [.3B3F.0020.0002.103B4] # OLD PERSIAN SIGN NA
+103B5 ; [.3B40.0020.0002.103B5] # OLD PERSIAN SIGN NU
+103B6 ; [.3B41.0020.0002.103B6] # OLD PERSIAN SIGN MA
+103B7 ; [.3B42.0020.0002.103B7] # OLD PERSIAN SIGN MI
+103B8 ; [.3B43.0020.0002.103B8] # OLD PERSIAN SIGN MU
+103B9 ; [.3B44.0020.0002.103B9] # OLD PERSIAN SIGN YA
+103BA ; [.3B45.0020.0002.103BA] # OLD PERSIAN SIGN VA
+103BB ; [.3B46.0020.0002.103BB] # OLD PERSIAN SIGN VI
+103BC ; [.3B47.0020.0002.103BC] # OLD PERSIAN SIGN RA
+103BD ; [.3B48.0020.0002.103BD] # OLD PERSIAN SIGN RU
+103BE ; [.3B49.0020.0002.103BE] # OLD PERSIAN SIGN LA
+103BF ; [.3B4A.0020.0002.103BF] # OLD PERSIAN SIGN SA
+103C0 ; [.3B4B.0020.0002.103C0] # OLD PERSIAN SIGN ZA
+103C1 ; [.3B4C.0020.0002.103C1] # OLD PERSIAN SIGN SHA
+103C2 ; [.3B4D.0020.0002.103C2] # OLD PERSIAN SIGN SSA
+103C3 ; [.3B4E.0020.0002.103C3] # OLD PERSIAN SIGN HA
+103C8 ; [.3B4F.0020.0002.103C8] # OLD PERSIAN SIGN AURAMAZDAA
+103C9 ; [.3B50.0020.0002.103C9] # OLD PERSIAN SIGN AURAMAZDAA-2
+103CA ; [.3B51.0020.0002.103CA] # OLD PERSIAN SIGN AURAMAZDAAHA
+103CB ; [.3B52.0020.0002.103CB] # OLD PERSIAN SIGN XSHAAYATHIYA
+103CC ; [.3B53.0020.0002.103CC] # OLD PERSIAN SIGN DAHYAAUSH
+103CD ; [.3B54.0020.0002.103CD] # OLD PERSIAN SIGN DAHYAAUSH-2
+103CE ; [.3B55.0020.0002.103CE] # OLD PERSIAN SIGN BAGA
+103CF ; [.3B56.0020.0002.103CF] # OLD PERSIAN SIGN BUUMISH
+12000 ; [.3B57.0020.0002.12000] # CUNEIFORM SIGN A
+12001 ; [.3B58.0020.0002.12001] # CUNEIFORM SIGN A TIMES A
+12002 ; [.3B59.0020.0002.12002] # CUNEIFORM SIGN A TIMES BAD
+12003 ; [.3B5A.0020.0002.12003] # CUNEIFORM SIGN A TIMES GAN2 TENU
+12004 ; [.3B5B.0020.0002.12004] # CUNEIFORM SIGN A TIMES HA
+12005 ; [.3B5C.0020.0002.12005] # CUNEIFORM SIGN A TIMES IGI
+12006 ; [.3B5D.0020.0002.12006] # CUNEIFORM SIGN A TIMES LAGAR GUNU
+12007 ; [.3B5E.0020.0002.12007] # CUNEIFORM SIGN A TIMES MUSH
+12008 ; [.3B5F.0020.0002.12008] # CUNEIFORM SIGN A TIMES SAG
+12009 ; [.3B60.0020.0002.12009] # CUNEIFORM SIGN A2
+1200A ; [.3B61.0020.0002.1200A] # CUNEIFORM SIGN AB
+1200B ; [.3B62.0020.0002.1200B] # CUNEIFORM SIGN AB TIMES ASH2
+1200C ; [.3B63.0020.0002.1200C] # CUNEIFORM SIGN AB TIMES DUN3 GUNU
+1200D ; [.3B64.0020.0002.1200D] # CUNEIFORM SIGN AB TIMES GAL
+1200E ; [.3B65.0020.0002.1200E] # CUNEIFORM SIGN AB TIMES GAN2 TENU
+1200F ; [.3B66.0020.0002.1200F] # CUNEIFORM SIGN AB TIMES HA
+12010 ; [.3B67.0020.0002.12010] # CUNEIFORM SIGN AB TIMES IGI GUNU
+12011 ; [.3B68.0020.0002.12011] # CUNEIFORM SIGN AB TIMES IMIN
+12012 ; [.3B69.0020.0002.12012] # CUNEIFORM SIGN AB TIMES LAGAB
+12013 ; [.3B6A.0020.0002.12013] # CUNEIFORM SIGN AB TIMES SHESH
+12014 ; [.3B6B.0020.0002.12014] # CUNEIFORM SIGN AB TIMES U PLUS U PLUS U
+12015 ; [.3B6C.0020.0002.12015] # CUNEIFORM SIGN AB GUNU
+12016 ; [.3B6D.0020.0002.12016] # CUNEIFORM SIGN AB2
+12017 ; [.3B6E.0020.0002.12017] # CUNEIFORM SIGN AB2 TIMES BALAG
+12018 ; [.3B6F.0020.0002.12018] # CUNEIFORM SIGN AB2 TIMES GAN2 TENU
+12019 ; [.3B70.0020.0002.12019] # CUNEIFORM SIGN AB2 TIMES ME PLUS EN
+1201A ; [.3B71.0020.0002.1201A] # CUNEIFORM SIGN AB2 TIMES SHA3
+1201B ; [.3B72.0020.0002.1201B] # CUNEIFORM SIGN AB2 TIMES TAK4
+1201C ; [.3B73.0020.0002.1201C] # CUNEIFORM SIGN AD
+1201D ; [.3B74.0020.0002.1201D] # CUNEIFORM SIGN AK
+1201E ; [.3B75.0020.0002.1201E] # CUNEIFORM SIGN AK TIMES ERIN2
+1201F ; [.3B76.0020.0002.1201F] # CUNEIFORM SIGN AK TIMES SHITA PLUS GISH
+12020 ; [.3B77.0020.0002.12020] # CUNEIFORM SIGN AL
+12021 ; [.3B78.0020.0002.12021] # CUNEIFORM SIGN AL TIMES AL
+12022 ; [.3B79.0020.0002.12022] # CUNEIFORM SIGN AL TIMES DIM2
+12023 ; [.3B7A.0020.0002.12023] # CUNEIFORM SIGN AL TIMES GISH
+12024 ; [.3B7B.0020.0002.12024] # CUNEIFORM SIGN AL TIMES HA
+12025 ; [.3B7C.0020.0002.12025] # CUNEIFORM SIGN AL TIMES KAD3
+12026 ; [.3B7D.0020.0002.12026] # CUNEIFORM SIGN AL TIMES KI
+12027 ; [.3B7E.0020.0002.12027] # CUNEIFORM SIGN AL TIMES SHE
+12028 ; [.3B7F.0020.0002.12028] # CUNEIFORM SIGN AL TIMES USH
+12029 ; [.3B80.0020.0002.12029] # CUNEIFORM SIGN ALAN
+1202A ; [.3B81.0020.0002.1202A] # CUNEIFORM SIGN ALEPH
+1202B ; [.3B82.0020.0002.1202B] # CUNEIFORM SIGN AMAR
+1202C ; [.3B83.0020.0002.1202C] # CUNEIFORM SIGN AMAR TIMES SHE
+1202D ; [.3B84.0020.0002.1202D] # CUNEIFORM SIGN AN
+1202E ; [.3B85.0020.0002.1202E] # CUNEIFORM SIGN AN OVER AN
+1202F ; [.3B86.0020.0002.1202F] # CUNEIFORM SIGN AN THREE TIMES
+12030 ; [.3B87.0020.0002.12030] # CUNEIFORM SIGN AN PLUS NAGA OPPOSING AN PLUS NAGA
+12031 ; [.3B88.0020.0002.12031] # CUNEIFORM SIGN AN PLUS NAGA SQUARED
+12032 ; [.3B89.0020.0002.12032] # CUNEIFORM SIGN ANSHE
+12033 ; [.3B8A.0020.0002.12033] # CUNEIFORM SIGN APIN
+12034 ; [.3B8B.0020.0002.12034] # CUNEIFORM SIGN ARAD
+12035 ; [.3B8C.0020.0002.12035] # CUNEIFORM SIGN ARAD TIMES KUR
+12036 ; [.3B8D.0020.0002.12036] # CUNEIFORM SIGN ARKAB
+12037 ; [.3B8E.0020.0002.12037] # CUNEIFORM SIGN ASAL2
+12038 ; [.3B8F.0020.0002.12038] # CUNEIFORM SIGN ASH
+12039 ; [.3B90.0020.0002.12039] # CUNEIFORM SIGN ASH ZIDA TENU
+1203A ; [.3B91.0020.0002.1203A] # CUNEIFORM SIGN ASH KABA TENU
+1203B ; [.3B92.0020.0002.1203B] # CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP
+1203C ; [.3B93.0020.0002.1203C] # CUNEIFORM SIGN ASH OVER ASH OVER ASH
+1203D ; [.3B94.0020.0002.1203D] # CUNEIFORM SIGN ASH OVER ASH OVER ASH CROSSING ASH OVER ASH OVER ASH
+1203E ; [.3B95.0020.0002.1203E] # CUNEIFORM SIGN ASH2
+1203F ; [.3B96.0020.0002.1203F] # CUNEIFORM SIGN ASHGAB
+12040 ; [.3B97.0020.0002.12040] # CUNEIFORM SIGN BA
+12041 ; [.3B98.0020.0002.12041] # CUNEIFORM SIGN BAD
+12042 ; [.3B99.0020.0002.12042] # CUNEIFORM SIGN BAG3
+12043 ; [.3B9A.0020.0002.12043] # CUNEIFORM SIGN BAHAR2
+12044 ; [.3B9B.0020.0002.12044] # CUNEIFORM SIGN BAL
+12045 ; [.3B9C.0020.0002.12045] # CUNEIFORM SIGN BAL OVER BAL
+12046 ; [.3B9D.0020.0002.12046] # CUNEIFORM SIGN BALAG
+12047 ; [.3B9E.0020.0002.12047] # CUNEIFORM SIGN BAR
+12048 ; [.3B9F.0020.0002.12048] # CUNEIFORM SIGN BARA2
+12049 ; [.3BA0.0020.0002.12049] # CUNEIFORM SIGN BI
+1204A ; [.3BA1.0020.0002.1204A] # CUNEIFORM SIGN BI TIMES A
+1204B ; [.3BA2.0020.0002.1204B] # CUNEIFORM SIGN BI TIMES GAR
+1204C ; [.3BA3.0020.0002.1204C] # CUNEIFORM SIGN BI TIMES IGI GUNU
+1204D ; [.3BA4.0020.0002.1204D] # CUNEIFORM SIGN BU
+1204E ; [.3BA5.0020.0002.1204E] # CUNEIFORM SIGN BU OVER BU AB
+1204F ; [.3BA6.0020.0002.1204F] # CUNEIFORM SIGN BU OVER BU UN
+12050 ; [.3BA7.0020.0002.12050] # CUNEIFORM SIGN BU CROSSING BU
+12051 ; [.3BA8.0020.0002.12051] # CUNEIFORM SIGN BULUG
+12052 ; [.3BA9.0020.0002.12052] # CUNEIFORM SIGN BULUG OVER BULUG
+12053 ; [.3BAA.0020.0002.12053] # CUNEIFORM SIGN BUR
+12054 ; [.3BAB.0020.0002.12054] # CUNEIFORM SIGN BUR2
+12055 ; [.3BAC.0020.0002.12055] # CUNEIFORM SIGN DA
+12056 ; [.3BAD.0020.0002.12056] # CUNEIFORM SIGN DAG
+12057 ; [.3BAE.0020.0002.12057] # CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH
+12058 ; [.3BAF.0020.0002.12058] # CUNEIFORM SIGN DAG KISIM5 TIMES AMAR
+12059 ; [.3BB0.0020.0002.12059] # CUNEIFORM SIGN DAG KISIM5 TIMES BALAG
+1205A ; [.3BB1.0020.0002.1205A] # CUNEIFORM SIGN DAG KISIM5 TIMES BI
+1205B ; [.3BB2.0020.0002.1205B] # CUNEIFORM SIGN DAG KISIM5 TIMES GA
+1205C ; [.3BB3.0020.0002.1205C] # CUNEIFORM SIGN DAG KISIM5 TIMES GA PLUS MASH
+1205D ; [.3BB4.0020.0002.1205D] # CUNEIFORM SIGN DAG KISIM5 TIMES GI
+1205E ; [.3BB5.0020.0002.1205E] # CUNEIFORM SIGN DAG KISIM5 TIMES GIR2
+1205F ; [.3BB6.0020.0002.1205F] # CUNEIFORM SIGN DAG KISIM5 TIMES GUD
+12060 ; [.3BB7.0020.0002.12060] # CUNEIFORM SIGN DAG KISIM5 TIMES HA
+12061 ; [.3BB8.0020.0002.12061] # CUNEIFORM SIGN DAG KISIM5 TIMES IR
+12062 ; [.3BB9.0020.0002.12062] # CUNEIFORM SIGN DAG KISIM5 TIMES IR PLUS LU
+12063 ; [.3BBA.0020.0002.12063] # CUNEIFORM SIGN DAG KISIM5 TIMES KAK
+12064 ; [.3BBB.0020.0002.12064] # CUNEIFORM SIGN DAG KISIM5 TIMES LA
+12065 ; [.3BBC.0020.0002.12065] # CUNEIFORM SIGN DAG KISIM5 TIMES LU
+12066 ; [.3BBD.0020.0002.12066] # CUNEIFORM SIGN DAG KISIM5 TIMES LU PLUS MASH2
+12067 ; [.3BBE.0020.0002.12067] # CUNEIFORM SIGN DAG KISIM5 TIMES LUM
+12068 ; [.3BBF.0020.0002.12068] # CUNEIFORM SIGN DAG KISIM5 TIMES NE
+12069 ; [.3BC0.0020.0002.12069] # CUNEIFORM SIGN DAG KISIM5 TIMES PAP PLUS PAP
+1206A ; [.3BC1.0020.0002.1206A] # CUNEIFORM SIGN DAG KISIM5 TIMES SI
+1206B ; [.3BC2.0020.0002.1206B] # CUNEIFORM SIGN DAG KISIM5 TIMES TAK4
+1206C ; [.3BC3.0020.0002.1206C] # CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2
+1206D ; [.3BC4.0020.0002.1206D] # CUNEIFORM SIGN DAG KISIM5 TIMES USH
+1206E ; [.3BC5.0020.0002.1206E] # CUNEIFORM SIGN DAM
+1206F ; [.3BC6.0020.0002.1206F] # CUNEIFORM SIGN DAR
+12070 ; [.3BC7.0020.0002.12070] # CUNEIFORM SIGN DARA3
+12071 ; [.3BC8.0020.0002.12071] # CUNEIFORM SIGN DARA4
+12072 ; [.3BC9.0020.0002.12072] # CUNEIFORM SIGN DI
+12073 ; [.3BCA.0020.0002.12073] # CUNEIFORM SIGN DIB
+12074 ; [.3BCB.0020.0002.12074] # CUNEIFORM SIGN DIM
+12075 ; [.3BCC.0020.0002.12075] # CUNEIFORM SIGN DIM TIMES SHE
+12076 ; [.3BCD.0020.0002.12076] # CUNEIFORM SIGN DIM2
+12077 ; [.3BCE.0020.0002.12077] # CUNEIFORM SIGN DIN
+12078 ; [.3BCF.0020.0002.12078] # CUNEIFORM SIGN DIN KASKAL U GUNU DISH
+12079 ; [.3BD0.0020.0002.12079] # CUNEIFORM SIGN DISH
+1207A ; [.3BD1.0020.0002.1207A] # CUNEIFORM SIGN DU
+1207B ; [.3BD2.0020.0002.1207B] # CUNEIFORM SIGN DU OVER DU
+1207C ; [.3BD3.0020.0002.1207C] # CUNEIFORM SIGN DU GUNU
+1207D ; [.3BD4.0020.0002.1207D] # CUNEIFORM SIGN DU SHESHIG
+1207E ; [.3BD5.0020.0002.1207E] # CUNEIFORM SIGN DUB
+1207F ; [.3BD6.0020.0002.1207F] # CUNEIFORM SIGN DUB TIMES ESH2
+12080 ; [.3BD7.0020.0002.12080] # CUNEIFORM SIGN DUB2
+12081 ; [.3BD8.0020.0002.12081] # CUNEIFORM SIGN DUG
+12082 ; [.3BD9.0020.0002.12082] # CUNEIFORM SIGN DUGUD
+12083 ; [.3BDA.0020.0002.12083] # CUNEIFORM SIGN DUH
+12084 ; [.3BDB.0020.0002.12084] # CUNEIFORM SIGN DUN
+12085 ; [.3BDC.0020.0002.12085] # CUNEIFORM SIGN DUN3
+12086 ; [.3BDD.0020.0002.12086] # CUNEIFORM SIGN DUN3 GUNU
+12087 ; [.3BDE.0020.0002.12087] # CUNEIFORM SIGN DUN3 GUNU GUNU
+12088 ; [.3BDF.0020.0002.12088] # CUNEIFORM SIGN DUN4
+12089 ; [.3BE0.0020.0002.12089] # CUNEIFORM SIGN DUR2
+1208A ; [.3BE1.0020.0002.1208A] # CUNEIFORM SIGN E
+1208B ; [.3BE2.0020.0002.1208B] # CUNEIFORM SIGN E TIMES PAP
+1208C ; [.3BE3.0020.0002.1208C] # CUNEIFORM SIGN E OVER E NUN OVER NUN
+1208D ; [.3BE4.0020.0002.1208D] # CUNEIFORM SIGN E2
+1208E ; [.3BE5.0020.0002.1208E] # CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA
+1208F ; [.3BE6.0020.0002.1208F] # CUNEIFORM SIGN E2 TIMES GAR
+12090 ; [.3BE7.0020.0002.12090] # CUNEIFORM SIGN E2 TIMES MI
+12091 ; [.3BE8.0020.0002.12091] # CUNEIFORM SIGN E2 TIMES SAL
+12092 ; [.3BE9.0020.0002.12092] # CUNEIFORM SIGN E2 TIMES SHE
+12093 ; [.3BEA.0020.0002.12093] # CUNEIFORM SIGN E2 TIMES U
+12094 ; [.3BEB.0020.0002.12094] # CUNEIFORM SIGN EDIN
+12095 ; [.3BEC.0020.0002.12095] # CUNEIFORM SIGN EGIR
+12096 ; [.3BED.0020.0002.12096] # CUNEIFORM SIGN EL
+12097 ; [.3BEE.0020.0002.12097] # CUNEIFORM SIGN EN
+12098 ; [.3BEF.0020.0002.12098] # CUNEIFORM SIGN EN TIMES GAN2
+12099 ; [.3BF0.0020.0002.12099] # CUNEIFORM SIGN EN TIMES GAN2 TENU
+1209A ; [.3BF1.0020.0002.1209A] # CUNEIFORM SIGN EN TIMES ME
+1209B ; [.3BF2.0020.0002.1209B] # CUNEIFORM SIGN EN CROSSING EN
+1209C ; [.3BF3.0020.0002.1209C] # CUNEIFORM SIGN EN OPPOSING EN
+1209D ; [.3BF4.0020.0002.1209D] # CUNEIFORM SIGN EN SQUARED
+1209E ; [.3BF5.0020.0002.1209E] # CUNEIFORM SIGN EREN
+1209F ; [.3BF6.0020.0002.1209F] # CUNEIFORM SIGN ERIN2
+120A0 ; [.3BF7.0020.0002.120A0] # CUNEIFORM SIGN ESH2
+120A1 ; [.3BF8.0020.0002.120A1] # CUNEIFORM SIGN EZEN
+120A2 ; [.3BF9.0020.0002.120A2] # CUNEIFORM SIGN EZEN TIMES A
+120A3 ; [.3BFA.0020.0002.120A3] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL
+120A4 ; [.3BFB.0020.0002.120A4] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL
+120A5 ; [.3BFC.0020.0002.120A5] # CUNEIFORM SIGN EZEN TIMES AN
+120A6 ; [.3BFD.0020.0002.120A6] # CUNEIFORM SIGN EZEN TIMES BAD
+120A7 ; [.3BFE.0020.0002.120A7] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU
+120A8 ; [.3BFF.0020.0002.120A8] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU GUNU
+120A9 ; [.3C00.0020.0002.120A9] # CUNEIFORM SIGN EZEN TIMES HA
+120AA ; [.3C01.0020.0002.120AA] # CUNEIFORM SIGN EZEN TIMES HA GUNU
+120AB ; [.3C02.0020.0002.120AB] # CUNEIFORM SIGN EZEN TIMES IGI GUNU
+120AC ; [.3C03.0020.0002.120AC] # CUNEIFORM SIGN EZEN TIMES KASKAL
+120AD ; [.3C04.0020.0002.120AD] # CUNEIFORM SIGN EZEN TIMES KASKAL SQUARED
+120AE ; [.3C05.0020.0002.120AE] # CUNEIFORM SIGN EZEN TIMES KU3
+120AF ; [.3C06.0020.0002.120AF] # CUNEIFORM SIGN EZEN TIMES LA
+120B0 ; [.3C07.0020.0002.120B0] # CUNEIFORM SIGN EZEN TIMES LAL TIMES LAL
+120B1 ; [.3C08.0020.0002.120B1] # CUNEIFORM SIGN EZEN TIMES LI
+120B2 ; [.3C09.0020.0002.120B2] # CUNEIFORM SIGN EZEN TIMES LU
+120B3 ; [.3C0A.0020.0002.120B3] # CUNEIFORM SIGN EZEN TIMES U2
+120B4 ; [.3C0B.0020.0002.120B4] # CUNEIFORM SIGN EZEN TIMES UD
+120B5 ; [.3C0C.0020.0002.120B5] # CUNEIFORM SIGN GA
+120B6 ; [.3C0D.0020.0002.120B6] # CUNEIFORM SIGN GA GUNU
+120B7 ; [.3C0E.0020.0002.120B7] # CUNEIFORM SIGN GA2
+120B8 ; [.3C0F.0020.0002.120B8] # CUNEIFORM SIGN GA2 TIMES A PLUS DA PLUS HA
+120B9 ; [.3C10.0020.0002.120B9] # CUNEIFORM SIGN GA2 TIMES A PLUS HA
+120BA ; [.3C11.0020.0002.120BA] # CUNEIFORM SIGN GA2 TIMES A PLUS IGI
+120BB ; [.3C12.0020.0002.120BB] # CUNEIFORM SIGN GA2 TIMES AB2 TENU PLUS TAB
+120BC ; [.3C13.0020.0002.120BC] # CUNEIFORM SIGN GA2 TIMES AN
+120BD ; [.3C14.0020.0002.120BD] # CUNEIFORM SIGN GA2 TIMES ASH
+120BE ; [.3C15.0020.0002.120BE] # CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL
+120BF ; [.3C16.0020.0002.120BF] # CUNEIFORM SIGN GA2 TIMES BAD
+120C0 ; [.3C17.0020.0002.120C0] # CUNEIFORM SIGN GA2 TIMES BAR PLUS RA
+120C1 ; [.3C18.0020.0002.120C1] # CUNEIFORM SIGN GA2 TIMES BUR
+120C2 ; [.3C19.0020.0002.120C2] # CUNEIFORM SIGN GA2 TIMES BUR PLUS RA
+120C3 ; [.3C1A.0020.0002.120C3] # CUNEIFORM SIGN GA2 TIMES DA
+120C4 ; [.3C1B.0020.0002.120C4] # CUNEIFORM SIGN GA2 TIMES DI
+120C5 ; [.3C1C.0020.0002.120C5] # CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE
+120C6 ; [.3C1D.0020.0002.120C6] # CUNEIFORM SIGN GA2 TIMES DUB
+120C7 ; [.3C1E.0020.0002.120C7] # CUNEIFORM SIGN GA2 TIMES EL
+120C8 ; [.3C1F.0020.0002.120C8] # CUNEIFORM SIGN GA2 TIMES EL PLUS LA
+120C9 ; [.3C20.0020.0002.120C9] # CUNEIFORM SIGN GA2 TIMES EN
+120CA ; [.3C21.0020.0002.120CA] # CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU
+120CB ; [.3C22.0020.0002.120CB] # CUNEIFORM SIGN GA2 TIMES GAN2 TENU
+120CC ; [.3C23.0020.0002.120CC] # CUNEIFORM SIGN GA2 TIMES GAR
+120CD ; [.3C24.0020.0002.120CD] # CUNEIFORM SIGN GA2 TIMES GI
+120CE ; [.3C25.0020.0002.120CE] # CUNEIFORM SIGN GA2 TIMES GI4
+120CF ; [.3C26.0020.0002.120CF] # CUNEIFORM SIGN GA2 TIMES GI4 PLUS A
+120D0 ; [.3C27.0020.0002.120D0] # CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU
+120D1 ; [.3C28.0020.0002.120D1] # CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2
+120D2 ; [.3C29.0020.0002.120D2] # CUNEIFORM SIGN GA2 TIMES HAL
+120D3 ; [.3C2A.0020.0002.120D3] # CUNEIFORM SIGN GA2 TIMES HAL PLUS LA
+120D4 ; [.3C2B.0020.0002.120D4] # CUNEIFORM SIGN GA2 TIMES HI PLUS LI
+120D5 ; [.3C2C.0020.0002.120D5] # CUNEIFORM SIGN GA2 TIMES HUB2
+120D6 ; [.3C2D.0020.0002.120D6] # CUNEIFORM SIGN GA2 TIMES IGI GUNU
+120D7 ; [.3C2E.0020.0002.120D7] # CUNEIFORM SIGN GA2 TIMES ISH PLUS HU PLUS ASH
+120D8 ; [.3C2F.0020.0002.120D8] # CUNEIFORM SIGN GA2 TIMES KAK
+120D9 ; [.3C30.0020.0002.120D9] # CUNEIFORM SIGN GA2 TIMES KASKAL
+120DA ; [.3C31.0020.0002.120DA] # CUNEIFORM SIGN GA2 TIMES KID
+120DB ; [.3C32.0020.0002.120DB] # CUNEIFORM SIGN GA2 TIMES KID PLUS LAL
+120DC ; [.3C33.0020.0002.120DC] # CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN
+120DD ; [.3C34.0020.0002.120DD] # CUNEIFORM SIGN GA2 TIMES LA
+120DE ; [.3C35.0020.0002.120DE] # CUNEIFORM SIGN GA2 TIMES ME PLUS EN
+120DF ; [.3C36.0020.0002.120DF] # CUNEIFORM SIGN GA2 TIMES MI
+120E0 ; [.3C37.0020.0002.120E0] # CUNEIFORM SIGN GA2 TIMES NUN
+120E1 ; [.3C38.0020.0002.120E1] # CUNEIFORM SIGN GA2 TIMES NUN OVER NUN
+120E2 ; [.3C39.0020.0002.120E2] # CUNEIFORM SIGN GA2 TIMES PA
+120E3 ; [.3C3A.0020.0002.120E3] # CUNEIFORM SIGN GA2 TIMES SAL
+120E4 ; [.3C3B.0020.0002.120E4] # CUNEIFORM SIGN GA2 TIMES SAR
+120E5 ; [.3C3C.0020.0002.120E5] # CUNEIFORM SIGN GA2 TIMES SHE
+120E6 ; [.3C3D.0020.0002.120E6] # CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR
+120E7 ; [.3C3E.0020.0002.120E7] # CUNEIFORM SIGN GA2 TIMES SHID
+120E8 ; [.3C3F.0020.0002.120E8] # CUNEIFORM SIGN GA2 TIMES SUM
+120E9 ; [.3C40.0020.0002.120E9] # CUNEIFORM SIGN GA2 TIMES TAK4
+120EA ; [.3C41.0020.0002.120EA] # CUNEIFORM SIGN GA2 TIMES U
+120EB ; [.3C42.0020.0002.120EB] # CUNEIFORM SIGN GA2 TIMES UD
+120EC ; [.3C43.0020.0002.120EC] # CUNEIFORM SIGN GA2 TIMES UD PLUS DU
+120ED ; [.3C44.0020.0002.120ED] # CUNEIFORM SIGN GA2 OVER GA2
+120EE ; [.3C45.0020.0002.120EE] # CUNEIFORM SIGN GABA
+120EF ; [.3C46.0020.0002.120EF] # CUNEIFORM SIGN GABA CROSSING GABA
+120F0 ; [.3C47.0020.0002.120F0] # CUNEIFORM SIGN GAD
+120F1 ; [.3C48.0020.0002.120F1] # CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR
+120F2 ; [.3C49.0020.0002.120F2] # CUNEIFORM SIGN GAL
+120F3 ; [.3C4A.0020.0002.120F3] # CUNEIFORM SIGN GAL GAD OVER GAD GAR OVER GAR
+120F4 ; [.3C4B.0020.0002.120F4] # CUNEIFORM SIGN GALAM
+120F5 ; [.3C4C.0020.0002.120F5] # CUNEIFORM SIGN GAM
+120F6 ; [.3C4D.0020.0002.120F6] # CUNEIFORM SIGN GAN
+120F7 ; [.3C4E.0020.0002.120F7] # CUNEIFORM SIGN GAN2
+120F8 ; [.3C4F.0020.0002.120F8] # CUNEIFORM SIGN GAN2 TENU
+120F9 ; [.3C50.0020.0002.120F9] # CUNEIFORM SIGN GAN2 OVER GAN2
+120FA ; [.3C51.0020.0002.120FA] # CUNEIFORM SIGN GAN2 CROSSING GAN2
+120FB ; [.3C52.0020.0002.120FB] # CUNEIFORM SIGN GAR
+120FC ; [.3C53.0020.0002.120FC] # CUNEIFORM SIGN GAR3
+120FD ; [.3C54.0020.0002.120FD] # CUNEIFORM SIGN GASHAN
+120FE ; [.3C55.0020.0002.120FE] # CUNEIFORM SIGN GESHTIN
+120FF ; [.3C56.0020.0002.120FF] # CUNEIFORM SIGN GESHTIN TIMES KUR
+12100 ; [.3C57.0020.0002.12100] # CUNEIFORM SIGN GI
+12101 ; [.3C58.0020.0002.12101] # CUNEIFORM SIGN GI TIMES E
+12102 ; [.3C59.0020.0002.12102] # CUNEIFORM SIGN GI TIMES U
+12103 ; [.3C5A.0020.0002.12103] # CUNEIFORM SIGN GI CROSSING GI
+12104 ; [.3C5B.0020.0002.12104] # CUNEIFORM SIGN GI4
+12105 ; [.3C5C.0020.0002.12105] # CUNEIFORM SIGN GI4 OVER GI4
+12106 ; [.3C5D.0020.0002.12106] # CUNEIFORM SIGN GI4 CROSSING GI4
+12107 ; [.3C5E.0020.0002.12107] # CUNEIFORM SIGN GIDIM
+12108 ; [.3C5F.0020.0002.12108] # CUNEIFORM SIGN GIR2
+12109 ; [.3C60.0020.0002.12109] # CUNEIFORM SIGN GIR2 GUNU
+1210A ; [.3C61.0020.0002.1210A] # CUNEIFORM SIGN GIR3
+1210B ; [.3C62.0020.0002.1210B] # CUNEIFORM SIGN GIR3 TIMES A PLUS IGI
+1210C ; [.3C63.0020.0002.1210C] # CUNEIFORM SIGN GIR3 TIMES GAN2 TENU
+1210D ; [.3C64.0020.0002.1210D] # CUNEIFORM SIGN GIR3 TIMES IGI
+1210E ; [.3C65.0020.0002.1210E] # CUNEIFORM SIGN GIR3 TIMES LU PLUS IGI
+1210F ; [.3C66.0020.0002.1210F] # CUNEIFORM SIGN GIR3 TIMES PA
+12110 ; [.3C67.0020.0002.12110] # CUNEIFORM SIGN GISAL
+12111 ; [.3C68.0020.0002.12111] # CUNEIFORM SIGN GISH
+12112 ; [.3C69.0020.0002.12112] # CUNEIFORM SIGN GISH CROSSING GISH
+12113 ; [.3C6A.0020.0002.12113] # CUNEIFORM SIGN GISH TIMES BAD
+12114 ; [.3C6B.0020.0002.12114] # CUNEIFORM SIGN GISH TIMES TAK4
+12115 ; [.3C6C.0020.0002.12115] # CUNEIFORM SIGN GISH TENU
+12116 ; [.3C6D.0020.0002.12116] # CUNEIFORM SIGN GU
+12117 ; [.3C6E.0020.0002.12117] # CUNEIFORM SIGN GU CROSSING GU
+12118 ; [.3C6F.0020.0002.12118] # CUNEIFORM SIGN GU2
+12119 ; [.3C70.0020.0002.12119] # CUNEIFORM SIGN GU2 TIMES KAK
+1211A ; [.3C71.0020.0002.1211A] # CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU
+1211B ; [.3C72.0020.0002.1211B] # CUNEIFORM SIGN GU2 TIMES NUN
+1211C ; [.3C73.0020.0002.1211C] # CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2
+1211D ; [.3C74.0020.0002.1211D] # CUNEIFORM SIGN GU2 GUNU
+1211E ; [.3C75.0020.0002.1211E] # CUNEIFORM SIGN GUD
+1211F ; [.3C76.0020.0002.1211F] # CUNEIFORM SIGN GUD TIMES A PLUS KUR
+12120 ; [.3C77.0020.0002.12120] # CUNEIFORM SIGN GUD TIMES KUR
+12121 ; [.3C78.0020.0002.12121] # CUNEIFORM SIGN GUD OVER GUD LUGAL
+12122 ; [.3C79.0020.0002.12122] # CUNEIFORM SIGN GUL
+12123 ; [.3C7A.0020.0002.12123] # CUNEIFORM SIGN GUM
+12124 ; [.3C7B.0020.0002.12124] # CUNEIFORM SIGN GUM TIMES SHE
+12125 ; [.3C7C.0020.0002.12125] # CUNEIFORM SIGN GUR
+12126 ; [.3C7D.0020.0002.12126] # CUNEIFORM SIGN GUR7
+12127 ; [.3C7E.0020.0002.12127] # CUNEIFORM SIGN GURUN
+12128 ; [.3C7F.0020.0002.12128] # CUNEIFORM SIGN GURUSH
+12129 ; [.3C80.0020.0002.12129] # CUNEIFORM SIGN HA
+1212A ; [.3C81.0020.0002.1212A] # CUNEIFORM SIGN HA TENU
+1212B ; [.3C82.0020.0002.1212B] # CUNEIFORM SIGN HA GUNU
+1212C ; [.3C83.0020.0002.1212C] # CUNEIFORM SIGN HAL
+1212D ; [.3C84.0020.0002.1212D] # CUNEIFORM SIGN HI
+1212E ; [.3C85.0020.0002.1212E] # CUNEIFORM SIGN HI TIMES ASH
+1212F ; [.3C86.0020.0002.1212F] # CUNEIFORM SIGN HI TIMES ASH2
+12130 ; [.3C87.0020.0002.12130] # CUNEIFORM SIGN HI TIMES BAD
+12131 ; [.3C88.0020.0002.12131] # CUNEIFORM SIGN HI TIMES DISH
+12132 ; [.3C89.0020.0002.12132] # CUNEIFORM SIGN HI TIMES GAD
+12133 ; [.3C8A.0020.0002.12133] # CUNEIFORM SIGN HI TIMES KIN
+12134 ; [.3C8B.0020.0002.12134] # CUNEIFORM SIGN HI TIMES NUN
+12135 ; [.3C8C.0020.0002.12135] # CUNEIFORM SIGN HI TIMES SHE
+12136 ; [.3C8D.0020.0002.12136] # CUNEIFORM SIGN HI TIMES U
+12137 ; [.3C8E.0020.0002.12137] # CUNEIFORM SIGN HU
+12138 ; [.3C8F.0020.0002.12138] # CUNEIFORM SIGN HUB2
+12139 ; [.3C90.0020.0002.12139] # CUNEIFORM SIGN HUB2 TIMES AN
+1213A ; [.3C91.0020.0002.1213A] # CUNEIFORM SIGN HUB2 TIMES HAL
+1213B ; [.3C92.0020.0002.1213B] # CUNEIFORM SIGN HUB2 TIMES KASKAL
+1213C ; [.3C93.0020.0002.1213C] # CUNEIFORM SIGN HUB2 TIMES LISH
+1213D ; [.3C94.0020.0002.1213D] # CUNEIFORM SIGN HUB2 TIMES UD
+1213E ; [.3C95.0020.0002.1213E] # CUNEIFORM SIGN HUL2
+1213F ; [.3C96.0020.0002.1213F] # CUNEIFORM SIGN I
+12140 ; [.3C97.0020.0002.12140] # CUNEIFORM SIGN I A
+12141 ; [.3C98.0020.0002.12141] # CUNEIFORM SIGN IB
+12142 ; [.3C99.0020.0002.12142] # CUNEIFORM SIGN IDIM
+12143 ; [.3C9A.0020.0002.12143] # CUNEIFORM SIGN IDIM OVER IDIM BUR
+12144 ; [.3C9B.0020.0002.12144] # CUNEIFORM SIGN IDIM OVER IDIM SQUARED
+12145 ; [.3C9C.0020.0002.12145] # CUNEIFORM SIGN IG
+12146 ; [.3C9D.0020.0002.12146] # CUNEIFORM SIGN IGI
+12147 ; [.3C9E.0020.0002.12147] # CUNEIFORM SIGN IGI DIB
+12148 ; [.3C9F.0020.0002.12148] # CUNEIFORM SIGN IGI RI
+12149 ; [.3CA0.0020.0002.12149] # CUNEIFORM SIGN IGI OVER IGI SHIR OVER SHIR UD OVER UD
+1214A ; [.3CA1.0020.0002.1214A] # CUNEIFORM SIGN IGI GUNU
+1214B ; [.3CA2.0020.0002.1214B] # CUNEIFORM SIGN IL
+1214C ; [.3CA3.0020.0002.1214C] # CUNEIFORM SIGN IL TIMES GAN2 TENU
+1214D ; [.3CA4.0020.0002.1214D] # CUNEIFORM SIGN IL2
+1214E ; [.3CA5.0020.0002.1214E] # CUNEIFORM SIGN IM
+1214F ; [.3CA6.0020.0002.1214F] # CUNEIFORM SIGN IM TIMES TAK4
+12150 ; [.3CA7.0020.0002.12150] # CUNEIFORM SIGN IM CROSSING IM
+12151 ; [.3CA8.0020.0002.12151] # CUNEIFORM SIGN IM OPPOSING IM
+12152 ; [.3CA9.0020.0002.12152] # CUNEIFORM SIGN IM SQUARED
+12153 ; [.3CAA.0020.0002.12153] # CUNEIFORM SIGN IMIN
+12154 ; [.3CAB.0020.0002.12154] # CUNEIFORM SIGN IN
+12155 ; [.3CAC.0020.0002.12155] # CUNEIFORM SIGN IR
+12156 ; [.3CAD.0020.0002.12156] # CUNEIFORM SIGN ISH
+12157 ; [.3CAE.0020.0002.12157] # CUNEIFORM SIGN KA
+12158 ; [.3CAF.0020.0002.12158] # CUNEIFORM SIGN KA TIMES A
+12159 ; [.3CB0.0020.0002.12159] # CUNEIFORM SIGN KA TIMES AD
+1215A ; [.3CB1.0020.0002.1215A] # CUNEIFORM SIGN KA TIMES AD PLUS KU3
+1215B ; [.3CB2.0020.0002.1215B] # CUNEIFORM SIGN KA TIMES ASH2
+1215C ; [.3CB3.0020.0002.1215C] # CUNEIFORM SIGN KA TIMES BAD
+1215D ; [.3CB4.0020.0002.1215D] # CUNEIFORM SIGN KA TIMES BALAG
+1215E ; [.3CB5.0020.0002.1215E] # CUNEIFORM SIGN KA TIMES BAR
+1215F ; [.3CB6.0020.0002.1215F] # CUNEIFORM SIGN KA TIMES BI
+12160 ; [.3CB7.0020.0002.12160] # CUNEIFORM SIGN KA TIMES ERIN2
+12161 ; [.3CB8.0020.0002.12161] # CUNEIFORM SIGN KA TIMES ESH2
+12162 ; [.3CB9.0020.0002.12162] # CUNEIFORM SIGN KA TIMES GA
+12163 ; [.3CBA.0020.0002.12163] # CUNEIFORM SIGN KA TIMES GAL
+12164 ; [.3CBB.0020.0002.12164] # CUNEIFORM SIGN KA TIMES GAN2 TENU
+12165 ; [.3CBC.0020.0002.12165] # CUNEIFORM SIGN KA TIMES GAR
+12166 ; [.3CBD.0020.0002.12166] # CUNEIFORM SIGN KA TIMES GAR PLUS SHA3 PLUS A
+12167 ; [.3CBE.0020.0002.12167] # CUNEIFORM SIGN KA TIMES GI
+12168 ; [.3CBF.0020.0002.12168] # CUNEIFORM SIGN KA TIMES GIR2
+12169 ; [.3CC0.0020.0002.12169] # CUNEIFORM SIGN KA TIMES GISH PLUS SAR
+1216A ; [.3CC1.0020.0002.1216A] # CUNEIFORM SIGN KA TIMES GISH CROSSING GISH
+1216B ; [.3CC2.0020.0002.1216B] # CUNEIFORM SIGN KA TIMES GU
+1216C ; [.3CC3.0020.0002.1216C] # CUNEIFORM SIGN KA TIMES GUR7
+1216D ; [.3CC4.0020.0002.1216D] # CUNEIFORM SIGN KA TIMES IGI
+1216E ; [.3CC5.0020.0002.1216E] # CUNEIFORM SIGN KA TIMES IM
+1216F ; [.3CC6.0020.0002.1216F] # CUNEIFORM SIGN KA TIMES KAK
+12170 ; [.3CC7.0020.0002.12170] # CUNEIFORM SIGN KA TIMES KI
+12171 ; [.3CC8.0020.0002.12171] # CUNEIFORM SIGN KA TIMES KID
+12172 ; [.3CC9.0020.0002.12172] # CUNEIFORM SIGN KA TIMES LI
+12173 ; [.3CCA.0020.0002.12173] # CUNEIFORM SIGN KA TIMES LU
+12174 ; [.3CCB.0020.0002.12174] # CUNEIFORM SIGN KA TIMES ME
+12175 ; [.3CCC.0020.0002.12175] # CUNEIFORM SIGN KA TIMES ME PLUS DU
+12176 ; [.3CCD.0020.0002.12176] # CUNEIFORM SIGN KA TIMES ME PLUS GI
+12177 ; [.3CCE.0020.0002.12177] # CUNEIFORM SIGN KA TIMES ME PLUS TE
+12178 ; [.3CCF.0020.0002.12178] # CUNEIFORM SIGN KA TIMES MI
+12179 ; [.3CD0.0020.0002.12179] # CUNEIFORM SIGN KA TIMES MI PLUS NUNUZ
+1217A ; [.3CD1.0020.0002.1217A] # CUNEIFORM SIGN KA TIMES NE
+1217B ; [.3CD2.0020.0002.1217B] # CUNEIFORM SIGN KA TIMES NUN
+1217C ; [.3CD3.0020.0002.1217C] # CUNEIFORM SIGN KA TIMES PI
+1217D ; [.3CD4.0020.0002.1217D] # CUNEIFORM SIGN KA TIMES RU
+1217E ; [.3CD5.0020.0002.1217E] # CUNEIFORM SIGN KA TIMES SA
+1217F ; [.3CD6.0020.0002.1217F] # CUNEIFORM SIGN KA TIMES SAR
+12180 ; [.3CD7.0020.0002.12180] # CUNEIFORM SIGN KA TIMES SHA
+12181 ; [.3CD8.0020.0002.12181] # CUNEIFORM SIGN KA TIMES SHE
+12182 ; [.3CD9.0020.0002.12182] # CUNEIFORM SIGN KA TIMES SHID
+12183 ; [.3CDA.0020.0002.12183] # CUNEIFORM SIGN KA TIMES SHU
+12184 ; [.3CDB.0020.0002.12184] # CUNEIFORM SIGN KA TIMES SIG
+12185 ; [.3CDC.0020.0002.12185] # CUNEIFORM SIGN KA TIMES SUHUR
+12186 ; [.3CDD.0020.0002.12186] # CUNEIFORM SIGN KA TIMES TAR
+12187 ; [.3CDE.0020.0002.12187] # CUNEIFORM SIGN KA TIMES U
+12188 ; [.3CDF.0020.0002.12188] # CUNEIFORM SIGN KA TIMES U2
+12189 ; [.3CE0.0020.0002.12189] # CUNEIFORM SIGN KA TIMES UD
+1218A ; [.3CE1.0020.0002.1218A] # CUNEIFORM SIGN KA TIMES UMUM TIMES PA
+1218B ; [.3CE2.0020.0002.1218B] # CUNEIFORM SIGN KA TIMES USH
+1218C ; [.3CE3.0020.0002.1218C] # CUNEIFORM SIGN KA TIMES ZI
+1218D ; [.3CE4.0020.0002.1218D] # CUNEIFORM SIGN KA2
+1218E ; [.3CE5.0020.0002.1218E] # CUNEIFORM SIGN KA2 CROSSING KA2
+1218F ; [.3CE6.0020.0002.1218F] # CUNEIFORM SIGN KAB
+12190 ; [.3CE7.0020.0002.12190] # CUNEIFORM SIGN KAD2
+12191 ; [.3CE8.0020.0002.12191] # CUNEIFORM SIGN KAD3
+12192 ; [.3CE9.0020.0002.12192] # CUNEIFORM SIGN KAD4
+12193 ; [.3CEA.0020.0002.12193] # CUNEIFORM SIGN KAD5
+12194 ; [.3CEB.0020.0002.12194] # CUNEIFORM SIGN KAD5 OVER KAD5
+12195 ; [.3CEC.0020.0002.12195] # CUNEIFORM SIGN KAK
+12196 ; [.3CED.0020.0002.12196] # CUNEIFORM SIGN KAK TIMES IGI GUNU
+12197 ; [.3CEE.0020.0002.12197] # CUNEIFORM SIGN KAL
+12198 ; [.3CEF.0020.0002.12198] # CUNEIFORM SIGN KAL TIMES BAD
+12199 ; [.3CF0.0020.0002.12199] # CUNEIFORM SIGN KAL CROSSING KAL
+1219A ; [.3CF1.0020.0002.1219A] # CUNEIFORM SIGN KAM2
+1219B ; [.3CF2.0020.0002.1219B] # CUNEIFORM SIGN KAM4
+1219C ; [.3CF3.0020.0002.1219C] # CUNEIFORM SIGN KASKAL
+1219D ; [.3CF4.0020.0002.1219D] # CUNEIFORM SIGN KASKAL LAGAB TIMES U OVER LAGAB TIMES U
+1219E ; [.3CF5.0020.0002.1219E] # CUNEIFORM SIGN KASKAL OVER KASKAL LAGAB TIMES U OVER LAGAB TIMES U
+1219F ; [.3CF6.0020.0002.1219F] # CUNEIFORM SIGN KESH2
+121A0 ; [.3CF7.0020.0002.121A0] # CUNEIFORM SIGN KI
+121A1 ; [.3CF8.0020.0002.121A1] # CUNEIFORM SIGN KI TIMES BAD
+121A2 ; [.3CF9.0020.0002.121A2] # CUNEIFORM SIGN KI TIMES U
+121A3 ; [.3CFA.0020.0002.121A3] # CUNEIFORM SIGN KI TIMES UD
+121A4 ; [.3CFB.0020.0002.121A4] # CUNEIFORM SIGN KID
+121A5 ; [.3CFC.0020.0002.121A5] # CUNEIFORM SIGN KIN
+121A6 ; [.3CFD.0020.0002.121A6] # CUNEIFORM SIGN KISAL
+121A7 ; [.3CFE.0020.0002.121A7] # CUNEIFORM SIGN KISH
+121A8 ; [.3CFF.0020.0002.121A8] # CUNEIFORM SIGN KISIM5
+121A9 ; [.3D00.0020.0002.121A9] # CUNEIFORM SIGN KISIM5 OVER KISIM5
+121AA ; [.3D01.0020.0002.121AA] # CUNEIFORM SIGN KU
+121AB ; [.3D02.0020.0002.121AB] # CUNEIFORM SIGN KU OVER HI TIMES ASH2 KU OVER HI TIMES ASH2
+121AC ; [.3D03.0020.0002.121AC] # CUNEIFORM SIGN KU3
+121AD ; [.3D04.0020.0002.121AD] # CUNEIFORM SIGN KU4
+121AE ; [.3D05.0020.0002.121AE] # CUNEIFORM SIGN KU4 VARIANT FORM
+121AF ; [.3D06.0020.0002.121AF] # CUNEIFORM SIGN KU7
+121B0 ; [.3D07.0020.0002.121B0] # CUNEIFORM SIGN KUL
+121B1 ; [.3D08.0020.0002.121B1] # CUNEIFORM SIGN KUL GUNU
+121B2 ; [.3D09.0020.0002.121B2] # CUNEIFORM SIGN KUN
+121B3 ; [.3D0A.0020.0002.121B3] # CUNEIFORM SIGN KUR
+121B4 ; [.3D0B.0020.0002.121B4] # CUNEIFORM SIGN KUR OPPOSING KUR
+121B5 ; [.3D0C.0020.0002.121B5] # CUNEIFORM SIGN KUSHU2
+121B6 ; [.3D0D.0020.0002.121B6] # CUNEIFORM SIGN KWU318
+121B7 ; [.3D0E.0020.0002.121B7] # CUNEIFORM SIGN LA
+121B8 ; [.3D0F.0020.0002.121B8] # CUNEIFORM SIGN LAGAB
+121B9 ; [.3D10.0020.0002.121B9] # CUNEIFORM SIGN LAGAB TIMES A
+121BA ; [.3D11.0020.0002.121BA] # CUNEIFORM SIGN LAGAB TIMES A PLUS DA PLUS HA
+121BB ; [.3D12.0020.0002.121BB] # CUNEIFORM SIGN LAGAB TIMES A PLUS GAR
+121BC ; [.3D13.0020.0002.121BC] # CUNEIFORM SIGN LAGAB TIMES A PLUS LAL
+121BD ; [.3D14.0020.0002.121BD] # CUNEIFORM SIGN LAGAB TIMES AL
+121BE ; [.3D15.0020.0002.121BE] # CUNEIFORM SIGN LAGAB TIMES AN
+121BF ; [.3D16.0020.0002.121BF] # CUNEIFORM SIGN LAGAB TIMES ASH ZIDA TENU
+121C0 ; [.3D17.0020.0002.121C0] # CUNEIFORM SIGN LAGAB TIMES BAD
+121C1 ; [.3D18.0020.0002.121C1] # CUNEIFORM SIGN LAGAB TIMES BI
+121C2 ; [.3D19.0020.0002.121C2] # CUNEIFORM SIGN LAGAB TIMES DAR
+121C3 ; [.3D1A.0020.0002.121C3] # CUNEIFORM SIGN LAGAB TIMES EN
+121C4 ; [.3D1B.0020.0002.121C4] # CUNEIFORM SIGN LAGAB TIMES GA
+121C5 ; [.3D1C.0020.0002.121C5] # CUNEIFORM SIGN LAGAB TIMES GAR
+121C6 ; [.3D1D.0020.0002.121C6] # CUNEIFORM SIGN LAGAB TIMES GUD
+121C7 ; [.3D1E.0020.0002.121C7] # CUNEIFORM SIGN LAGAB TIMES GUD PLUS GUD
+121C8 ; [.3D1F.0020.0002.121C8] # CUNEIFORM SIGN LAGAB TIMES HA
+121C9 ; [.3D20.0020.0002.121C9] # CUNEIFORM SIGN LAGAB TIMES HAL
+121CA ; [.3D21.0020.0002.121CA] # CUNEIFORM SIGN LAGAB TIMES HI TIMES NUN
+121CB ; [.3D22.0020.0002.121CB] # CUNEIFORM SIGN LAGAB TIMES IGI GUNU
+121CC ; [.3D23.0020.0002.121CC] # CUNEIFORM SIGN LAGAB TIMES IM
+121CD ; [.3D24.0020.0002.121CD] # CUNEIFORM SIGN LAGAB TIMES IM PLUS HA
+121CE ; [.3D25.0020.0002.121CE] # CUNEIFORM SIGN LAGAB TIMES IM PLUS LU
+121CF ; [.3D26.0020.0002.121CF] # CUNEIFORM SIGN LAGAB TIMES KI
+121D0 ; [.3D27.0020.0002.121D0] # CUNEIFORM SIGN LAGAB TIMES KIN
+121D1 ; [.3D28.0020.0002.121D1] # CUNEIFORM SIGN LAGAB TIMES KU3
+121D2 ; [.3D29.0020.0002.121D2] # CUNEIFORM SIGN LAGAB TIMES KUL
+121D3 ; [.3D2A.0020.0002.121D3] # CUNEIFORM SIGN LAGAB TIMES KUL PLUS HI PLUS A
+121D4 ; [.3D2B.0020.0002.121D4] # CUNEIFORM SIGN LAGAB TIMES LAGAB
+121D5 ; [.3D2C.0020.0002.121D5] # CUNEIFORM SIGN LAGAB TIMES LISH
+121D6 ; [.3D2D.0020.0002.121D6] # CUNEIFORM SIGN LAGAB TIMES LU
+121D7 ; [.3D2E.0020.0002.121D7] # CUNEIFORM SIGN LAGAB TIMES LUL
+121D8 ; [.3D2F.0020.0002.121D8] # CUNEIFORM SIGN LAGAB TIMES ME
+121D9 ; [.3D30.0020.0002.121D9] # CUNEIFORM SIGN LAGAB TIMES ME PLUS EN
+121DA ; [.3D31.0020.0002.121DA] # CUNEIFORM SIGN LAGAB TIMES MUSH
+121DB ; [.3D32.0020.0002.121DB] # CUNEIFORM SIGN LAGAB TIMES NE
+121DC ; [.3D33.0020.0002.121DC] # CUNEIFORM SIGN LAGAB TIMES SHE PLUS SUM
+121DD ; [.3D34.0020.0002.121DD] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH PLUS ERIN2
+121DE ; [.3D35.0020.0002.121DE] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH TENU
+121DF ; [.3D36.0020.0002.121DF] # CUNEIFORM SIGN LAGAB TIMES SHU2
+121E0 ; [.3D37.0020.0002.121E0] # CUNEIFORM SIGN LAGAB TIMES SHU2 PLUS SHU2
+121E1 ; [.3D38.0020.0002.121E1] # CUNEIFORM SIGN LAGAB TIMES SUM
+121E2 ; [.3D39.0020.0002.121E2] # CUNEIFORM SIGN LAGAB TIMES TAG
+121E3 ; [.3D3A.0020.0002.121E3] # CUNEIFORM SIGN LAGAB TIMES TAK4
+121E4 ; [.3D3B.0020.0002.121E4] # CUNEIFORM SIGN LAGAB TIMES TE PLUS A PLUS SU PLUS NA
+121E5 ; [.3D3C.0020.0002.121E5] # CUNEIFORM SIGN LAGAB TIMES U
+121E6 ; [.3D3D.0020.0002.121E6] # CUNEIFORM SIGN LAGAB TIMES U PLUS A
+121E7 ; [.3D3E.0020.0002.121E7] # CUNEIFORM SIGN LAGAB TIMES U PLUS U PLUS U
+121E8 ; [.3D3F.0020.0002.121E8] # CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH
+121E9 ; [.3D40.0020.0002.121E9] # CUNEIFORM SIGN LAGAB TIMES UD
+121EA ; [.3D41.0020.0002.121EA] # CUNEIFORM SIGN LAGAB TIMES USH
+121EB ; [.3D42.0020.0002.121EB] # CUNEIFORM SIGN LAGAB SQUARED
+121EC ; [.3D43.0020.0002.121EC] # CUNEIFORM SIGN LAGAR
+121ED ; [.3D44.0020.0002.121ED] # CUNEIFORM SIGN LAGAR TIMES SHE
+121EE ; [.3D45.0020.0002.121EE] # CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM
+121EF ; [.3D46.0020.0002.121EF] # CUNEIFORM SIGN LAGAR GUNU
+121F0 ; [.3D47.0020.0002.121F0] # CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE
+121F1 ; [.3D48.0020.0002.121F1] # CUNEIFORM SIGN LAHSHU
+121F2 ; [.3D49.0020.0002.121F2] # CUNEIFORM SIGN LAL
+121F3 ; [.3D4A.0020.0002.121F3] # CUNEIFORM SIGN LAL TIMES LAL
+121F4 ; [.3D4B.0020.0002.121F4] # CUNEIFORM SIGN LAM
+121F5 ; [.3D4C.0020.0002.121F5] # CUNEIFORM SIGN LAM TIMES KUR
+121F6 ; [.3D4D.0020.0002.121F6] # CUNEIFORM SIGN LAM TIMES KUR PLUS RU
+121F7 ; [.3D4E.0020.0002.121F7] # CUNEIFORM SIGN LI
+121F8 ; [.3D4F.0020.0002.121F8] # CUNEIFORM SIGN LIL
+121F9 ; [.3D50.0020.0002.121F9] # CUNEIFORM SIGN LIMMU2
+121FA ; [.3D51.0020.0002.121FA] # CUNEIFORM SIGN LISH
+121FB ; [.3D52.0020.0002.121FB] # CUNEIFORM SIGN LU
+121FC ; [.3D53.0020.0002.121FC] # CUNEIFORM SIGN LU TIMES BAD
+121FD ; [.3D54.0020.0002.121FD] # CUNEIFORM SIGN LU2
+121FE ; [.3D55.0020.0002.121FE] # CUNEIFORM SIGN LU2 TIMES AL
+121FF ; [.3D56.0020.0002.121FF] # CUNEIFORM SIGN LU2 TIMES BAD
+12200 ; [.3D57.0020.0002.12200] # CUNEIFORM SIGN LU2 TIMES ESH2
+12201 ; [.3D58.0020.0002.12201] # CUNEIFORM SIGN LU2 TIMES ESH2 TENU
+12202 ; [.3D59.0020.0002.12202] # CUNEIFORM SIGN LU2 TIMES GAN2 TENU
+12203 ; [.3D5A.0020.0002.12203] # CUNEIFORM SIGN LU2 TIMES HI TIMES BAD
+12204 ; [.3D5B.0020.0002.12204] # CUNEIFORM SIGN LU2 TIMES IM
+12205 ; [.3D5C.0020.0002.12205] # CUNEIFORM SIGN LU2 TIMES KAD2
+12206 ; [.3D5D.0020.0002.12206] # CUNEIFORM SIGN LU2 TIMES KAD3
+12207 ; [.3D5E.0020.0002.12207] # CUNEIFORM SIGN LU2 TIMES KAD3 PLUS ASH
+12208 ; [.3D5F.0020.0002.12208] # CUNEIFORM SIGN LU2 TIMES KI
+12209 ; [.3D60.0020.0002.12209] # CUNEIFORM SIGN LU2 TIMES LA PLUS ASH
+1220A ; [.3D61.0020.0002.1220A] # CUNEIFORM SIGN LU2 TIMES LAGAB
+1220B ; [.3D62.0020.0002.1220B] # CUNEIFORM SIGN LU2 TIMES ME PLUS EN
+1220C ; [.3D63.0020.0002.1220C] # CUNEIFORM SIGN LU2 TIMES NE
+1220D ; [.3D64.0020.0002.1220D] # CUNEIFORM SIGN LU2 TIMES NU
+1220E ; [.3D65.0020.0002.1220E] # CUNEIFORM SIGN LU2 TIMES SI PLUS ASH
+1220F ; [.3D66.0020.0002.1220F] # CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU
+12210 ; [.3D67.0020.0002.12210] # CUNEIFORM SIGN LU2 TIMES TUG2
+12211 ; [.3D68.0020.0002.12211] # CUNEIFORM SIGN LU2 TENU
+12212 ; [.3D69.0020.0002.12212] # CUNEIFORM SIGN LU2 CROSSING LU2
+12213 ; [.3D6A.0020.0002.12213] # CUNEIFORM SIGN LU2 OPPOSING LU2
+12214 ; [.3D6B.0020.0002.12214] # CUNEIFORM SIGN LU2 SQUARED
+12215 ; [.3D6C.0020.0002.12215] # CUNEIFORM SIGN LU2 SHESHIG
+12216 ; [.3D6D.0020.0002.12216] # CUNEIFORM SIGN LU3
+12217 ; [.3D6E.0020.0002.12217] # CUNEIFORM SIGN LUGAL
+12218 ; [.3D6F.0020.0002.12218] # CUNEIFORM SIGN LUGAL OVER LUGAL
+12219 ; [.3D70.0020.0002.12219] # CUNEIFORM SIGN LUGAL OPPOSING LUGAL
+1221A ; [.3D71.0020.0002.1221A] # CUNEIFORM SIGN LUGAL SHESHIG
+1221B ; [.3D72.0020.0002.1221B] # CUNEIFORM SIGN LUH
+1221C ; [.3D73.0020.0002.1221C] # CUNEIFORM SIGN LUL
+1221D ; [.3D74.0020.0002.1221D] # CUNEIFORM SIGN LUM
+1221E ; [.3D75.0020.0002.1221E] # CUNEIFORM SIGN LUM OVER LUM
+1221F ; [.3D76.0020.0002.1221F] # CUNEIFORM SIGN LUM OVER LUM GAR OVER GAR
+12220 ; [.3D77.0020.0002.12220] # CUNEIFORM SIGN MA
+12221 ; [.3D78.0020.0002.12221] # CUNEIFORM SIGN MA TIMES TAK4
+12222 ; [.3D79.0020.0002.12222] # CUNEIFORM SIGN MA GUNU
+12223 ; [.3D7A.0020.0002.12223] # CUNEIFORM SIGN MA2
+12224 ; [.3D7B.0020.0002.12224] # CUNEIFORM SIGN MAH
+12225 ; [.3D7C.0020.0002.12225] # CUNEIFORM SIGN MAR
+12226 ; [.3D7D.0020.0002.12226] # CUNEIFORM SIGN MASH
+12227 ; [.3D7E.0020.0002.12227] # CUNEIFORM SIGN MASH2
+12228 ; [.3D7F.0020.0002.12228] # CUNEIFORM SIGN ME
+12229 ; [.3D80.0020.0002.12229] # CUNEIFORM SIGN MES
+1222A ; [.3D81.0020.0002.1222A] # CUNEIFORM SIGN MI
+1222B ; [.3D82.0020.0002.1222B] # CUNEIFORM SIGN MIN
+1222C ; [.3D83.0020.0002.1222C] # CUNEIFORM SIGN MU
+1222D ; [.3D84.0020.0002.1222D] # CUNEIFORM SIGN MU OVER MU
+1222E ; [.3D85.0020.0002.1222E] # CUNEIFORM SIGN MUG
+1222F ; [.3D86.0020.0002.1222F] # CUNEIFORM SIGN MUG GUNU
+12230 ; [.3D87.0020.0002.12230] # CUNEIFORM SIGN MUNSUB
+12231 ; [.3D88.0020.0002.12231] # CUNEIFORM SIGN MURGU2
+12232 ; [.3D89.0020.0002.12232] # CUNEIFORM SIGN MUSH
+12233 ; [.3D8A.0020.0002.12233] # CUNEIFORM SIGN MUSH TIMES A
+12234 ; [.3D8B.0020.0002.12234] # CUNEIFORM SIGN MUSH TIMES KUR
+12235 ; [.3D8C.0020.0002.12235] # CUNEIFORM SIGN MUSH TIMES ZA
+12236 ; [.3D8D.0020.0002.12236] # CUNEIFORM SIGN MUSH OVER MUSH
+12237 ; [.3D8E.0020.0002.12237] # CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA
+12238 ; [.3D8F.0020.0002.12238] # CUNEIFORM SIGN MUSH CROSSING MUSH
+12239 ; [.3D90.0020.0002.12239] # CUNEIFORM SIGN MUSH3
+1223A ; [.3D91.0020.0002.1223A] # CUNEIFORM SIGN MUSH3 TIMES A
+1223B ; [.3D92.0020.0002.1223B] # CUNEIFORM SIGN MUSH3 TIMES A PLUS DI
+1223C ; [.3D93.0020.0002.1223C] # CUNEIFORM SIGN MUSH3 TIMES DI
+1223D ; [.3D94.0020.0002.1223D] # CUNEIFORM SIGN MUSH3 GUNU
+1223E ; [.3D95.0020.0002.1223E] # CUNEIFORM SIGN NA
+1223F ; [.3D96.0020.0002.1223F] # CUNEIFORM SIGN NA2
+12240 ; [.3D97.0020.0002.12240] # CUNEIFORM SIGN NAGA
+12241 ; [.3D98.0020.0002.12241] # CUNEIFORM SIGN NAGA INVERTED
+12242 ; [.3D99.0020.0002.12242] # CUNEIFORM SIGN NAGA TIMES SHU TENU
+12243 ; [.3D9A.0020.0002.12243] # CUNEIFORM SIGN NAGA OPPOSING NAGA
+12244 ; [.3D9B.0020.0002.12244] # CUNEIFORM SIGN NAGAR
+12245 ; [.3D9C.0020.0002.12245] # CUNEIFORM SIGN NAM NUTILLU
+12246 ; [.3D9D.0020.0002.12246] # CUNEIFORM SIGN NAM
+12247 ; [.3D9E.0020.0002.12247] # CUNEIFORM SIGN NAM2
+12248 ; [.3D9F.0020.0002.12248] # CUNEIFORM SIGN NE
+12249 ; [.3DA0.0020.0002.12249] # CUNEIFORM SIGN NE TIMES A
+1224A ; [.3DA1.0020.0002.1224A] # CUNEIFORM SIGN NE TIMES UD
+1224B ; [.3DA2.0020.0002.1224B] # CUNEIFORM SIGN NE SHESHIG
+1224C ; [.3DA3.0020.0002.1224C] # CUNEIFORM SIGN NI
+1224D ; [.3DA4.0020.0002.1224D] # CUNEIFORM SIGN NI TIMES E
+1224E ; [.3DA5.0020.0002.1224E] # CUNEIFORM SIGN NI2
+1224F ; [.3DA6.0020.0002.1224F] # CUNEIFORM SIGN NIM
+12250 ; [.3DA7.0020.0002.12250] # CUNEIFORM SIGN NIM TIMES GAN2 TENU
+12251 ; [.3DA8.0020.0002.12251] # CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU
+12252 ; [.3DA9.0020.0002.12252] # CUNEIFORM SIGN NINDA2
+12253 ; [.3DAA.0020.0002.12253] # CUNEIFORM SIGN NINDA2 TIMES AN
+12254 ; [.3DAB.0020.0002.12254] # CUNEIFORM SIGN NINDA2 TIMES ASH
+12255 ; [.3DAC.0020.0002.12255] # CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH
+12256 ; [.3DAD.0020.0002.12256] # CUNEIFORM SIGN NINDA2 TIMES GUD
+12257 ; [.3DAE.0020.0002.12257] # CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU
+12258 ; [.3DAF.0020.0002.12258] # CUNEIFORM SIGN NINDA2 TIMES NE
+12259 ; [.3DB0.0020.0002.12259] # CUNEIFORM SIGN NINDA2 TIMES NUN
+1225A ; [.3DB1.0020.0002.1225A] # CUNEIFORM SIGN NINDA2 TIMES SHE
+1225B ; [.3DB2.0020.0002.1225B] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN
+1225C ; [.3DB3.0020.0002.1225C] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH
+1225D ; [.3DB4.0020.0002.1225D] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH
+1225E ; [.3DB5.0020.0002.1225E] # CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH
+1225F ; [.3DB6.0020.0002.1225F] # CUNEIFORM SIGN NINDA2 TIMES USH
+12260 ; [.3DB7.0020.0002.12260] # CUNEIFORM SIGN NISAG
+12261 ; [.3DB8.0020.0002.12261] # CUNEIFORM SIGN NU
+12262 ; [.3DB9.0020.0002.12262] # CUNEIFORM SIGN NU11
+12263 ; [.3DBA.0020.0002.12263] # CUNEIFORM SIGN NUN
+12264 ; [.3DBB.0020.0002.12264] # CUNEIFORM SIGN NUN LAGAR TIMES GAR
+12265 ; [.3DBC.0020.0002.12265] # CUNEIFORM SIGN NUN LAGAR TIMES MASH
+12266 ; [.3DBD.0020.0002.12266] # CUNEIFORM SIGN NUN LAGAR TIMES SAL
+12267 ; [.3DBE.0020.0002.12267] # CUNEIFORM SIGN NUN LAGAR TIMES SAL OVER NUN LAGAR TIMES SAL
+12268 ; [.3DBF.0020.0002.12268] # CUNEIFORM SIGN NUN LAGAR TIMES USH
+12269 ; [.3DC0.0020.0002.12269] # CUNEIFORM SIGN NUN TENU
+1226A ; [.3DC1.0020.0002.1226A] # CUNEIFORM SIGN NUN OVER NUN
+1226B ; [.3DC2.0020.0002.1226B] # CUNEIFORM SIGN NUN CROSSING NUN
+1226C ; [.3DC3.0020.0002.1226C] # CUNEIFORM SIGN NUN CROSSING NUN LAGAR OVER LAGAR
+1226D ; [.3DC4.0020.0002.1226D] # CUNEIFORM SIGN NUNUZ
+1226E ; [.3DC5.0020.0002.1226E] # CUNEIFORM SIGN NUNUZ AB2 TIMES ASHGAB
+1226F ; [.3DC6.0020.0002.1226F] # CUNEIFORM SIGN NUNUZ AB2 TIMES BI
+12270 ; [.3DC7.0020.0002.12270] # CUNEIFORM SIGN NUNUZ AB2 TIMES DUG
+12271 ; [.3DC8.0020.0002.12271] # CUNEIFORM SIGN NUNUZ AB2 TIMES GUD
+12272 ; [.3DC9.0020.0002.12272] # CUNEIFORM SIGN NUNUZ AB2 TIMES IGI GUNU
+12273 ; [.3DCA.0020.0002.12273] # CUNEIFORM SIGN NUNUZ AB2 TIMES KAD3
+12274 ; [.3DCB.0020.0002.12274] # CUNEIFORM SIGN NUNUZ AB2 TIMES LA
+12275 ; [.3DCC.0020.0002.12275] # CUNEIFORM SIGN NUNUZ AB2 TIMES NE
+12276 ; [.3DCD.0020.0002.12276] # CUNEIFORM SIGN NUNUZ AB2 TIMES SILA3
+12277 ; [.3DCE.0020.0002.12277] # CUNEIFORM SIGN NUNUZ AB2 TIMES U2
+12278 ; [.3DCF.0020.0002.12278] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI
+12279 ; [.3DD0.0020.0002.12279] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI U
+1227A ; [.3DD1.0020.0002.1227A] # CUNEIFORM SIGN PA
+1227B ; [.3DD2.0020.0002.1227B] # CUNEIFORM SIGN PAD
+1227C ; [.3DD3.0020.0002.1227C] # CUNEIFORM SIGN PAN
+1227D ; [.3DD4.0020.0002.1227D] # CUNEIFORM SIGN PAP
+1227E ; [.3DD5.0020.0002.1227E] # CUNEIFORM SIGN PESH2
+1227F ; [.3DD6.0020.0002.1227F] # CUNEIFORM SIGN PI
+12280 ; [.3DD7.0020.0002.12280] # CUNEIFORM SIGN PI TIMES A
+12281 ; [.3DD8.0020.0002.12281] # CUNEIFORM SIGN PI TIMES AB
+12282 ; [.3DD9.0020.0002.12282] # CUNEIFORM SIGN PI TIMES BI
+12283 ; [.3DDA.0020.0002.12283] # CUNEIFORM SIGN PI TIMES BU
+12284 ; [.3DDB.0020.0002.12284] # CUNEIFORM SIGN PI TIMES E
+12285 ; [.3DDC.0020.0002.12285] # CUNEIFORM SIGN PI TIMES I
+12286 ; [.3DDD.0020.0002.12286] # CUNEIFORM SIGN PI TIMES IB
+12287 ; [.3DDE.0020.0002.12287] # CUNEIFORM SIGN PI TIMES U
+12288 ; [.3DDF.0020.0002.12288] # CUNEIFORM SIGN PI TIMES U2
+12289 ; [.3DE0.0020.0002.12289] # CUNEIFORM SIGN PI CROSSING PI
+1228A ; [.3DE1.0020.0002.1228A] # CUNEIFORM SIGN PIRIG
+1228B ; [.3DE2.0020.0002.1228B] # CUNEIFORM SIGN PIRIG TIMES KAL
+1228C ; [.3DE3.0020.0002.1228C] # CUNEIFORM SIGN PIRIG TIMES UD
+1228D ; [.3DE4.0020.0002.1228D] # CUNEIFORM SIGN PIRIG TIMES ZA
+1228E ; [.3DE5.0020.0002.1228E] # CUNEIFORM SIGN PIRIG OPPOSING PIRIG
+1228F ; [.3DE6.0020.0002.1228F] # CUNEIFORM SIGN RA
+12290 ; [.3DE7.0020.0002.12290] # CUNEIFORM SIGN RAB
+12291 ; [.3DE8.0020.0002.12291] # CUNEIFORM SIGN RI
+12292 ; [.3DE9.0020.0002.12292] # CUNEIFORM SIGN RU
+12293 ; [.3DEA.0020.0002.12293] # CUNEIFORM SIGN SA
+12294 ; [.3DEB.0020.0002.12294] # CUNEIFORM SIGN SAG NUTILLU
+12295 ; [.3DEC.0020.0002.12295] # CUNEIFORM SIGN SAG
+12296 ; [.3DED.0020.0002.12296] # CUNEIFORM SIGN SAG TIMES A
+12297 ; [.3DEE.0020.0002.12297] # CUNEIFORM SIGN SAG TIMES DU
+12298 ; [.3DEF.0020.0002.12298] # CUNEIFORM SIGN SAG TIMES DUB
+12299 ; [.3DF0.0020.0002.12299] # CUNEIFORM SIGN SAG TIMES HA
+1229A ; [.3DF1.0020.0002.1229A] # CUNEIFORM SIGN SAG TIMES KAK
+1229B ; [.3DF2.0020.0002.1229B] # CUNEIFORM SIGN SAG TIMES KUR
+1229C ; [.3DF3.0020.0002.1229C] # CUNEIFORM SIGN SAG TIMES LUM
+1229D ; [.3DF4.0020.0002.1229D] # CUNEIFORM SIGN SAG TIMES MI
+1229E ; [.3DF5.0020.0002.1229E] # CUNEIFORM SIGN SAG TIMES NUN
+1229F ; [.3DF6.0020.0002.1229F] # CUNEIFORM SIGN SAG TIMES SAL
+122A0 ; [.3DF7.0020.0002.122A0] # CUNEIFORM SIGN SAG TIMES SHID
+122A1 ; [.3DF8.0020.0002.122A1] # CUNEIFORM SIGN SAG TIMES TAB
+122A2 ; [.3DF9.0020.0002.122A2] # CUNEIFORM SIGN SAG TIMES U2
+122A3 ; [.3DFA.0020.0002.122A3] # CUNEIFORM SIGN SAG TIMES UB
+122A4 ; [.3DFB.0020.0002.122A4] # CUNEIFORM SIGN SAG TIMES UM
+122A5 ; [.3DFC.0020.0002.122A5] # CUNEIFORM SIGN SAG TIMES UR
+122A6 ; [.3DFD.0020.0002.122A6] # CUNEIFORM SIGN SAG TIMES USH
+122A7 ; [.3DFE.0020.0002.122A7] # CUNEIFORM SIGN SAG OVER SAG
+122A8 ; [.3DFF.0020.0002.122A8] # CUNEIFORM SIGN SAG GUNU
+122A9 ; [.3E00.0020.0002.122A9] # CUNEIFORM SIGN SAL
+122AA ; [.3E01.0020.0002.122AA] # CUNEIFORM SIGN SAL LAGAB TIMES ASH2
+122AB ; [.3E02.0020.0002.122AB] # CUNEIFORM SIGN SANGA2
+122AC ; [.3E03.0020.0002.122AC] # CUNEIFORM SIGN SAR
+122AD ; [.3E04.0020.0002.122AD] # CUNEIFORM SIGN SHA
+122AE ; [.3E05.0020.0002.122AE] # CUNEIFORM SIGN SHA3
+122AF ; [.3E06.0020.0002.122AF] # CUNEIFORM SIGN SHA3 TIMES A
+122B0 ; [.3E07.0020.0002.122B0] # CUNEIFORM SIGN SHA3 TIMES BAD
+122B1 ; [.3E08.0020.0002.122B1] # CUNEIFORM SIGN SHA3 TIMES GISH
+122B2 ; [.3E09.0020.0002.122B2] # CUNEIFORM SIGN SHA3 TIMES NE
+122B3 ; [.3E0A.0020.0002.122B3] # CUNEIFORM SIGN SHA3 TIMES SHU2
+122B4 ; [.3E0B.0020.0002.122B4] # CUNEIFORM SIGN SHA3 TIMES TUR
+122B5 ; [.3E0C.0020.0002.122B5] # CUNEIFORM SIGN SHA3 TIMES U
+122B6 ; [.3E0D.0020.0002.122B6] # CUNEIFORM SIGN SHA3 TIMES U PLUS A
+122B7 ; [.3E0E.0020.0002.122B7] # CUNEIFORM SIGN SHA6
+122B8 ; [.3E0F.0020.0002.122B8] # CUNEIFORM SIGN SHAB6
+122B9 ; [.3E10.0020.0002.122B9] # CUNEIFORM SIGN SHAR2
+122BA ; [.3E11.0020.0002.122BA] # CUNEIFORM SIGN SHE
+122BB ; [.3E12.0020.0002.122BB] # CUNEIFORM SIGN SHE HU
+122BC ; [.3E13.0020.0002.122BC] # CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR
+122BD ; [.3E14.0020.0002.122BD] # CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR
+122BE ; [.3E15.0020.0002.122BE] # CUNEIFORM SIGN SHEG9
+122BF ; [.3E16.0020.0002.122BF] # CUNEIFORM SIGN SHEN
+122C0 ; [.3E17.0020.0002.122C0] # CUNEIFORM SIGN SHESH
+122C1 ; [.3E18.0020.0002.122C1] # CUNEIFORM SIGN SHESH2
+122C2 ; [.3E19.0020.0002.122C2] # CUNEIFORM SIGN SHESHLAM
+122C3 ; [.3E1A.0020.0002.122C3] # CUNEIFORM SIGN SHID
+122C4 ; [.3E1B.0020.0002.122C4] # CUNEIFORM SIGN SHID TIMES A
+122C5 ; [.3E1C.0020.0002.122C5] # CUNEIFORM SIGN SHID TIMES IM
+122C6 ; [.3E1D.0020.0002.122C6] # CUNEIFORM SIGN SHIM
+122C7 ; [.3E1E.0020.0002.122C7] # CUNEIFORM SIGN SHIM TIMES A
+122C8 ; [.3E1F.0020.0002.122C8] # CUNEIFORM SIGN SHIM TIMES BAL
+122C9 ; [.3E20.0020.0002.122C9] # CUNEIFORM SIGN SHIM TIMES BULUG
+122CA ; [.3E21.0020.0002.122CA] # CUNEIFORM SIGN SHIM TIMES DIN
+122CB ; [.3E22.0020.0002.122CB] # CUNEIFORM SIGN SHIM TIMES GAR
+122CC ; [.3E23.0020.0002.122CC] # CUNEIFORM SIGN SHIM TIMES IGI
+122CD ; [.3E24.0020.0002.122CD] # CUNEIFORM SIGN SHIM TIMES IGI GUNU
+122CE ; [.3E25.0020.0002.122CE] # CUNEIFORM SIGN SHIM TIMES KUSHU2
+122CF ; [.3E26.0020.0002.122CF] # CUNEIFORM SIGN SHIM TIMES LUL
+122D0 ; [.3E27.0020.0002.122D0] # CUNEIFORM SIGN SHIM TIMES MUG
+122D1 ; [.3E28.0020.0002.122D1] # CUNEIFORM SIGN SHIM TIMES SAL
+122D2 ; [.3E29.0020.0002.122D2] # CUNEIFORM SIGN SHINIG
+122D3 ; [.3E2A.0020.0002.122D3] # CUNEIFORM SIGN SHIR
+122D4 ; [.3E2B.0020.0002.122D4] # CUNEIFORM SIGN SHIR TENU
+122D5 ; [.3E2C.0020.0002.122D5] # CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR
+122D6 ; [.3E2D.0020.0002.122D6] # CUNEIFORM SIGN SHITA
+122D7 ; [.3E2E.0020.0002.122D7] # CUNEIFORM SIGN SHU
+122D8 ; [.3E2F.0020.0002.122D8] # CUNEIFORM SIGN SHU OVER INVERTED SHU
+122D9 ; [.3E30.0020.0002.122D9] # CUNEIFORM SIGN SHU2
+122DA ; [.3E31.0020.0002.122DA] # CUNEIFORM SIGN SHUBUR
+122DB ; [.3E32.0020.0002.122DB] # CUNEIFORM SIGN SI
+122DC ; [.3E33.0020.0002.122DC] # CUNEIFORM SIGN SI GUNU
+122DD ; [.3E34.0020.0002.122DD] # CUNEIFORM SIGN SIG
+122DE ; [.3E35.0020.0002.122DE] # CUNEIFORM SIGN SIG4
+122DF ; [.3E36.0020.0002.122DF] # CUNEIFORM SIGN SIG4 OVER SIG4 SHU2
+122E0 ; [.3E37.0020.0002.122E0] # CUNEIFORM SIGN SIK2
+122E1 ; [.3E38.0020.0002.122E1] # CUNEIFORM SIGN SILA3
+122E2 ; [.3E39.0020.0002.122E2] # CUNEIFORM SIGN SU
+122E3 ; [.3E3A.0020.0002.122E3] # CUNEIFORM SIGN SU OVER SU
+122E4 ; [.3E3B.0020.0002.122E4] # CUNEIFORM SIGN SUD
+122E5 ; [.3E3C.0020.0002.122E5] # CUNEIFORM SIGN SUD2
+122E6 ; [.3E3D.0020.0002.122E6] # CUNEIFORM SIGN SUHUR
+122E7 ; [.3E3E.0020.0002.122E7] # CUNEIFORM SIGN SUM
+122E8 ; [.3E3F.0020.0002.122E8] # CUNEIFORM SIGN SUMASH
+122E9 ; [.3E40.0020.0002.122E9] # CUNEIFORM SIGN SUR
+122EA ; [.3E41.0020.0002.122EA] # CUNEIFORM SIGN SUR9
+122EB ; [.3E42.0020.0002.122EB] # CUNEIFORM SIGN TA
+122EC ; [.3E43.0020.0002.122EC] # CUNEIFORM SIGN TA ASTERISK
+122ED ; [.3E44.0020.0002.122ED] # CUNEIFORM SIGN TA TIMES HI
+122EE ; [.3E45.0020.0002.122EE] # CUNEIFORM SIGN TA TIMES MI
+122EF ; [.3E46.0020.0002.122EF] # CUNEIFORM SIGN TA GUNU
+122F0 ; [.3E47.0020.0002.122F0] # CUNEIFORM SIGN TAB
+122F1 ; [.3E48.0020.0002.122F1] # CUNEIFORM SIGN TAB OVER TAB NI OVER NI DISH OVER DISH
+122F2 ; [.3E49.0020.0002.122F2] # CUNEIFORM SIGN TAB SQUARED
+122F3 ; [.3E4A.0020.0002.122F3] # CUNEIFORM SIGN TAG
+122F4 ; [.3E4B.0020.0002.122F4] # CUNEIFORM SIGN TAG TIMES BI
+122F5 ; [.3E4C.0020.0002.122F5] # CUNEIFORM SIGN TAG TIMES GUD
+122F6 ; [.3E4D.0020.0002.122F6] # CUNEIFORM SIGN TAG TIMES SHE
+122F7 ; [.3E4E.0020.0002.122F7] # CUNEIFORM SIGN TAG TIMES SHU
+122F8 ; [.3E4F.0020.0002.122F8] # CUNEIFORM SIGN TAG TIMES TUG2
+122F9 ; [.3E50.0020.0002.122F9] # CUNEIFORM SIGN TAG TIMES UD
+122FA ; [.3E51.0020.0002.122FA] # CUNEIFORM SIGN TAK4
+122FB ; [.3E52.0020.0002.122FB] # CUNEIFORM SIGN TAR
+122FC ; [.3E53.0020.0002.122FC] # CUNEIFORM SIGN TE
+122FD ; [.3E54.0020.0002.122FD] # CUNEIFORM SIGN TE GUNU
+122FE ; [.3E55.0020.0002.122FE] # CUNEIFORM SIGN TI
+122FF ; [.3E56.0020.0002.122FF] # CUNEIFORM SIGN TI TENU
+12300 ; [.3E57.0020.0002.12300] # CUNEIFORM SIGN TIL
+12301 ; [.3E58.0020.0002.12301] # CUNEIFORM SIGN TIR
+12302 ; [.3E59.0020.0002.12302] # CUNEIFORM SIGN TIR TIMES TAK4
+12303 ; [.3E5A.0020.0002.12303] # CUNEIFORM SIGN TIR OVER TIR
+12304 ; [.3E5B.0020.0002.12304] # CUNEIFORM SIGN TIR OVER TIR GAD OVER GAD GAR OVER GAR
+12305 ; [.3E5C.0020.0002.12305] # CUNEIFORM SIGN TU
+12306 ; [.3E5D.0020.0002.12306] # CUNEIFORM SIGN TUG2
+12307 ; [.3E5E.0020.0002.12307] # CUNEIFORM SIGN TUK
+12308 ; [.3E5F.0020.0002.12308] # CUNEIFORM SIGN TUM
+12309 ; [.3E60.0020.0002.12309] # CUNEIFORM SIGN TUR
+1230A ; [.3E61.0020.0002.1230A] # CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA
+1230B ; [.3E62.0020.0002.1230B] # CUNEIFORM SIGN U
+1230C ; [.3E63.0020.0002.1230C] # CUNEIFORM SIGN U GUD
+1230D ; [.3E64.0020.0002.1230D] # CUNEIFORM SIGN U U U
+1230E ; [.3E65.0020.0002.1230E] # CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR
+1230F ; [.3E66.0020.0002.1230F] # CUNEIFORM SIGN U OVER U SUR OVER SUR
+12310 ; [.3E67.0020.0002.12310] # CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED
+12311 ; [.3E68.0020.0002.12311] # CUNEIFORM SIGN U2
+12312 ; [.3E69.0020.0002.12312] # CUNEIFORM SIGN UB
+12313 ; [.3E6A.0020.0002.12313] # CUNEIFORM SIGN UD
+12314 ; [.3E6B.0020.0002.12314] # CUNEIFORM SIGN UD KUSHU2
+12315 ; [.3E6C.0020.0002.12315] # CUNEIFORM SIGN UD TIMES BAD
+12316 ; [.3E6D.0020.0002.12316] # CUNEIFORM SIGN UD TIMES MI
+12317 ; [.3E6E.0020.0002.12317] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U
+12318 ; [.3E6F.0020.0002.12318] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U GUNU
+12319 ; [.3E70.0020.0002.12319] # CUNEIFORM SIGN UD GUNU
+1231A ; [.3E71.0020.0002.1231A] # CUNEIFORM SIGN UD SHESHIG
+1231B ; [.3E72.0020.0002.1231B] # CUNEIFORM SIGN UD SHESHIG TIMES BAD
+1231C ; [.3E73.0020.0002.1231C] # CUNEIFORM SIGN UDUG
+1231D ; [.3E74.0020.0002.1231D] # CUNEIFORM SIGN UM
+1231E ; [.3E75.0020.0002.1231E] # CUNEIFORM SIGN UM TIMES LAGAB
+1231F ; [.3E76.0020.0002.1231F] # CUNEIFORM SIGN UM TIMES ME PLUS DA
+12320 ; [.3E77.0020.0002.12320] # CUNEIFORM SIGN UM TIMES SHA3
+12321 ; [.3E78.0020.0002.12321] # CUNEIFORM SIGN UM TIMES U
+12322 ; [.3E79.0020.0002.12322] # CUNEIFORM SIGN UMBIN
+12323 ; [.3E7A.0020.0002.12323] # CUNEIFORM SIGN UMUM
+12324 ; [.3E7B.0020.0002.12324] # CUNEIFORM SIGN UMUM TIMES KASKAL
+12325 ; [.3E7C.0020.0002.12325] # CUNEIFORM SIGN UMUM TIMES PA
+12326 ; [.3E7D.0020.0002.12326] # CUNEIFORM SIGN UN
+12327 ; [.3E7E.0020.0002.12327] # CUNEIFORM SIGN UN GUNU
+12328 ; [.3E7F.0020.0002.12328] # CUNEIFORM SIGN UR
+12329 ; [.3E80.0020.0002.12329] # CUNEIFORM SIGN UR CROSSING UR
+1232A ; [.3E81.0020.0002.1232A] # CUNEIFORM SIGN UR SHESHIG
+1232B ; [.3E82.0020.0002.1232B] # CUNEIFORM SIGN UR2
+1232C ; [.3E83.0020.0002.1232C] # CUNEIFORM SIGN UR2 TIMES A PLUS HA
+1232D ; [.3E84.0020.0002.1232D] # CUNEIFORM SIGN UR2 TIMES A PLUS NA
+1232E ; [.3E85.0020.0002.1232E] # CUNEIFORM SIGN UR2 TIMES AL
+1232F ; [.3E86.0020.0002.1232F] # CUNEIFORM SIGN UR2 TIMES HA
+12330 ; [.3E87.0020.0002.12330] # CUNEIFORM SIGN UR2 TIMES NUN
+12331 ; [.3E88.0020.0002.12331] # CUNEIFORM SIGN UR2 TIMES U2
+12332 ; [.3E89.0020.0002.12332] # CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH
+12333 ; [.3E8A.0020.0002.12333] # CUNEIFORM SIGN UR2 TIMES U2 PLUS BI
+12334 ; [.3E8B.0020.0002.12334] # CUNEIFORM SIGN UR4
+12335 ; [.3E8C.0020.0002.12335] # CUNEIFORM SIGN URI
+12336 ; [.3E8D.0020.0002.12336] # CUNEIFORM SIGN URI3
+12337 ; [.3E8E.0020.0002.12337] # CUNEIFORM SIGN URU
+12338 ; [.3E8F.0020.0002.12338] # CUNEIFORM SIGN URU TIMES A
+12339 ; [.3E90.0020.0002.12339] # CUNEIFORM SIGN URU TIMES ASHGAB
+1233A ; [.3E91.0020.0002.1233A] # CUNEIFORM SIGN URU TIMES BAR
+1233B ; [.3E92.0020.0002.1233B] # CUNEIFORM SIGN URU TIMES DUN
+1233C ; [.3E93.0020.0002.1233C] # CUNEIFORM SIGN URU TIMES GA
+1233D ; [.3E94.0020.0002.1233D] # CUNEIFORM SIGN URU TIMES GAL
+1233E ; [.3E95.0020.0002.1233E] # CUNEIFORM SIGN URU TIMES GAN2 TENU
+1233F ; [.3E96.0020.0002.1233F] # CUNEIFORM SIGN URU TIMES GAR
+12340 ; [.3E97.0020.0002.12340] # CUNEIFORM SIGN URU TIMES GU
+12341 ; [.3E98.0020.0002.12341] # CUNEIFORM SIGN URU TIMES HA
+12342 ; [.3E99.0020.0002.12342] # CUNEIFORM SIGN URU TIMES IGI
+12343 ; [.3E9A.0020.0002.12343] # CUNEIFORM SIGN URU TIMES IM
+12344 ; [.3E9B.0020.0002.12344] # CUNEIFORM SIGN URU TIMES ISH
+12345 ; [.3E9C.0020.0002.12345] # CUNEIFORM SIGN URU TIMES KI
+12346 ; [.3E9D.0020.0002.12346] # CUNEIFORM SIGN URU TIMES LUM
+12347 ; [.3E9E.0020.0002.12347] # CUNEIFORM SIGN URU TIMES MIN
+12348 ; [.3E9F.0020.0002.12348] # CUNEIFORM SIGN URU TIMES PA
+12349 ; [.3EA0.0020.0002.12349] # CUNEIFORM SIGN URU TIMES SHE
+1234A ; [.3EA1.0020.0002.1234A] # CUNEIFORM SIGN URU TIMES SIG4
+1234B ; [.3EA2.0020.0002.1234B] # CUNEIFORM SIGN URU TIMES TU
+1234C ; [.3EA3.0020.0002.1234C] # CUNEIFORM SIGN URU TIMES U PLUS GUD
+1234D ; [.3EA4.0020.0002.1234D] # CUNEIFORM SIGN URU TIMES UD
+1234E ; [.3EA5.0020.0002.1234E] # CUNEIFORM SIGN URU TIMES URUDA
+1234F ; [.3EA6.0020.0002.1234F] # CUNEIFORM SIGN URUDA
+12350 ; [.3EA7.0020.0002.12350] # CUNEIFORM SIGN URUDA TIMES U
+12351 ; [.3EA8.0020.0002.12351] # CUNEIFORM SIGN USH
+12352 ; [.3EA9.0020.0002.12352] # CUNEIFORM SIGN USH TIMES A
+12353 ; [.3EAA.0020.0002.12353] # CUNEIFORM SIGN USH TIMES KU
+12354 ; [.3EAB.0020.0002.12354] # CUNEIFORM SIGN USH TIMES KUR
+12355 ; [.3EAC.0020.0002.12355] # CUNEIFORM SIGN USH TIMES TAK4
+12356 ; [.3EAD.0020.0002.12356] # CUNEIFORM SIGN USHX
+12357 ; [.3EAE.0020.0002.12357] # CUNEIFORM SIGN USH2
+12358 ; [.3EAF.0020.0002.12358] # CUNEIFORM SIGN USHUMX
+12359 ; [.3EB0.0020.0002.12359] # CUNEIFORM SIGN UTUKI
+1235A ; [.3EB1.0020.0002.1235A] # CUNEIFORM SIGN UZ3
+1235B ; [.3EB2.0020.0002.1235B] # CUNEIFORM SIGN UZ3 TIMES KASKAL
+1235C ; [.3EB3.0020.0002.1235C] # CUNEIFORM SIGN UZU
+1235D ; [.3EB4.0020.0002.1235D] # CUNEIFORM SIGN ZA
+1235E ; [.3EB5.0020.0002.1235E] # CUNEIFORM SIGN ZA TENU
+1235F ; [.3EB6.0020.0002.1235F] # CUNEIFORM SIGN ZA SQUARED TIMES KUR
+12360 ; [.3EB7.0020.0002.12360] # CUNEIFORM SIGN ZAG
+12361 ; [.3EB8.0020.0002.12361] # CUNEIFORM SIGN ZAMX
+12362 ; [.3EB9.0020.0002.12362] # CUNEIFORM SIGN ZE2
+12363 ; [.3EBA.0020.0002.12363] # CUNEIFORM SIGN ZI
+12364 ; [.3EBB.0020.0002.12364] # CUNEIFORM SIGN ZI OVER ZI
+12365 ; [.3EBC.0020.0002.12365] # CUNEIFORM SIGN ZI3
+12366 ; [.3EBD.0020.0002.12366] # CUNEIFORM SIGN ZIB
+12367 ; [.3EBE.0020.0002.12367] # CUNEIFORM SIGN ZIB KABA TENU
+12368 ; [.3EBF.0020.0002.12368] # CUNEIFORM SIGN ZIG
+12369 ; [.3EC0.0020.0002.12369] # CUNEIFORM SIGN ZIZ2
+1236A ; [.3EC1.0020.0002.1236A] # CUNEIFORM SIGN ZU
+1236B ; [.3EC2.0020.0002.1236B] # CUNEIFORM SIGN ZU5
+1236C ; [.3EC3.0020.0002.1236C] # CUNEIFORM SIGN ZU5 TIMES A
+1236D ; [.3EC4.0020.0002.1236D] # CUNEIFORM SIGN ZUBUR
+1236E ; [.3EC5.0020.0002.1236E] # CUNEIFORM SIGN ZUM
+13000 ; [.3EC6.0020.0002.13000] # EGYPTIAN HIEROGLYPH A001
+13001 ; [.3EC7.0020.0002.13001] # EGYPTIAN HIEROGLYPH A002
+13002 ; [.3EC8.0020.0002.13002] # EGYPTIAN HIEROGLYPH A003
+13003 ; [.3EC9.0020.0002.13003] # EGYPTIAN HIEROGLYPH A004
+13004 ; [.3ECA.0020.0002.13004] # EGYPTIAN HIEROGLYPH A005
+13005 ; [.3ECB.0020.0002.13005] # EGYPTIAN HIEROGLYPH A005A
+13006 ; [.3ECC.0020.0002.13006] # EGYPTIAN HIEROGLYPH A006
+13007 ; [.3ECD.0020.0002.13007] # EGYPTIAN HIEROGLYPH A006A
+13008 ; [.3ECE.0020.0002.13008] # EGYPTIAN HIEROGLYPH A006B
+13009 ; [.3ECF.0020.0002.13009] # EGYPTIAN HIEROGLYPH A007
+1300A ; [.3ED0.0020.0002.1300A] # EGYPTIAN HIEROGLYPH A008
+1300B ; [.3ED1.0020.0002.1300B] # EGYPTIAN HIEROGLYPH A009
+1300C ; [.3ED2.0020.0002.1300C] # EGYPTIAN HIEROGLYPH A010
+1300D ; [.3ED3.0020.0002.1300D] # EGYPTIAN HIEROGLYPH A011
+1300E ; [.3ED4.0020.0002.1300E] # EGYPTIAN HIEROGLYPH A012
+1300F ; [.3ED5.0020.0002.1300F] # EGYPTIAN HIEROGLYPH A013
+13010 ; [.3ED6.0020.0002.13010] # EGYPTIAN HIEROGLYPH A014
+13011 ; [.3ED7.0020.0002.13011] # EGYPTIAN HIEROGLYPH A014A
+13012 ; [.3ED8.0020.0002.13012] # EGYPTIAN HIEROGLYPH A015
+13013 ; [.3ED9.0020.0002.13013] # EGYPTIAN HIEROGLYPH A016
+13014 ; [.3EDA.0020.0002.13014] # EGYPTIAN HIEROGLYPH A017
+13015 ; [.3EDB.0020.0002.13015] # EGYPTIAN HIEROGLYPH A017A
+13016 ; [.3EDC.0020.0002.13016] # EGYPTIAN HIEROGLYPH A018
+13017 ; [.3EDD.0020.0002.13017] # EGYPTIAN HIEROGLYPH A019
+13018 ; [.3EDE.0020.0002.13018] # EGYPTIAN HIEROGLYPH A020
+13019 ; [.3EDF.0020.0002.13019] # EGYPTIAN HIEROGLYPH A021
+1301A ; [.3EE0.0020.0002.1301A] # EGYPTIAN HIEROGLYPH A022
+1301B ; [.3EE1.0020.0002.1301B] # EGYPTIAN HIEROGLYPH A023
+1301C ; [.3EE2.0020.0002.1301C] # EGYPTIAN HIEROGLYPH A024
+1301D ; [.3EE3.0020.0002.1301D] # EGYPTIAN HIEROGLYPH A025
+1301E ; [.3EE4.0020.0002.1301E] # EGYPTIAN HIEROGLYPH A026
+1301F ; [.3EE5.0020.0002.1301F] # EGYPTIAN HIEROGLYPH A027
+13020 ; [.3EE6.0020.0002.13020] # EGYPTIAN HIEROGLYPH A028
+13021 ; [.3EE7.0020.0002.13021] # EGYPTIAN HIEROGLYPH A029
+13022 ; [.3EE8.0020.0002.13022] # EGYPTIAN HIEROGLYPH A030
+13023 ; [.3EE9.0020.0002.13023] # EGYPTIAN HIEROGLYPH A031
+13024 ; [.3EEA.0020.0002.13024] # EGYPTIAN HIEROGLYPH A032
+13025 ; [.3EEB.0020.0002.13025] # EGYPTIAN HIEROGLYPH A032A
+13026 ; [.3EEC.0020.0002.13026] # EGYPTIAN HIEROGLYPH A033
+13027 ; [.3EED.0020.0002.13027] # EGYPTIAN HIEROGLYPH A034
+13028 ; [.3EEE.0020.0002.13028] # EGYPTIAN HIEROGLYPH A035
+13029 ; [.3EEF.0020.0002.13029] # EGYPTIAN HIEROGLYPH A036
+1302A ; [.3EF0.0020.0002.1302A] # EGYPTIAN HIEROGLYPH A037
+1302B ; [.3EF1.0020.0002.1302B] # EGYPTIAN HIEROGLYPH A038
+1302C ; [.3EF2.0020.0002.1302C] # EGYPTIAN HIEROGLYPH A039
+1302D ; [.3EF3.0020.0002.1302D] # EGYPTIAN HIEROGLYPH A040
+1302E ; [.3EF4.0020.0002.1302E] # EGYPTIAN HIEROGLYPH A040A
+1302F ; [.3EF5.0020.0002.1302F] # EGYPTIAN HIEROGLYPH A041
+13030 ; [.3EF6.0020.0002.13030] # EGYPTIAN HIEROGLYPH A042
+13031 ; [.3EF7.0020.0002.13031] # EGYPTIAN HIEROGLYPH A042A
+13032 ; [.3EF8.0020.0002.13032] # EGYPTIAN HIEROGLYPH A043
+13033 ; [.3EF9.0020.0002.13033] # EGYPTIAN HIEROGLYPH A043A
+13034 ; [.3EFA.0020.0002.13034] # EGYPTIAN HIEROGLYPH A044
+13035 ; [.3EFB.0020.0002.13035] # EGYPTIAN HIEROGLYPH A045
+13036 ; [.3EFC.0020.0002.13036] # EGYPTIAN HIEROGLYPH A045A
+13037 ; [.3EFD.0020.0002.13037] # EGYPTIAN HIEROGLYPH A046
+13038 ; [.3EFE.0020.0002.13038] # EGYPTIAN HIEROGLYPH A047
+13039 ; [.3EFF.0020.0002.13039] # EGYPTIAN HIEROGLYPH A048
+1303A ; [.3F00.0020.0002.1303A] # EGYPTIAN HIEROGLYPH A049
+1303B ; [.3F01.0020.0002.1303B] # EGYPTIAN HIEROGLYPH A050
+1303C ; [.3F02.0020.0002.1303C] # EGYPTIAN HIEROGLYPH A051
+1303D ; [.3F03.0020.0002.1303D] # EGYPTIAN HIEROGLYPH A052
+1303E ; [.3F04.0020.0002.1303E] # EGYPTIAN HIEROGLYPH A053
+1303F ; [.3F05.0020.0002.1303F] # EGYPTIAN HIEROGLYPH A054
+13040 ; [.3F06.0020.0002.13040] # EGYPTIAN HIEROGLYPH A055
+13041 ; [.3F07.0020.0002.13041] # EGYPTIAN HIEROGLYPH A056
+13042 ; [.3F08.0020.0002.13042] # EGYPTIAN HIEROGLYPH A057
+13043 ; [.3F09.0020.0002.13043] # EGYPTIAN HIEROGLYPH A058
+13044 ; [.3F0A.0020.0002.13044] # EGYPTIAN HIEROGLYPH A059
+13045 ; [.3F0B.0020.0002.13045] # EGYPTIAN HIEROGLYPH A060
+13046 ; [.3F0C.0020.0002.13046] # EGYPTIAN HIEROGLYPH A061
+13047 ; [.3F0D.0020.0002.13047] # EGYPTIAN HIEROGLYPH A062
+13048 ; [.3F0E.0020.0002.13048] # EGYPTIAN HIEROGLYPH A063
+13049 ; [.3F0F.0020.0002.13049] # EGYPTIAN HIEROGLYPH A064
+1304A ; [.3F10.0020.0002.1304A] # EGYPTIAN HIEROGLYPH A065
+1304B ; [.3F11.0020.0002.1304B] # EGYPTIAN HIEROGLYPH A066
+1304C ; [.3F12.0020.0002.1304C] # EGYPTIAN HIEROGLYPH A067
+1304D ; [.3F13.0020.0002.1304D] # EGYPTIAN HIEROGLYPH A068
+1304E ; [.3F14.0020.0002.1304E] # EGYPTIAN HIEROGLYPH A069
+1304F ; [.3F15.0020.0002.1304F] # EGYPTIAN HIEROGLYPH A070
+13050 ; [.3F16.0020.0002.13050] # EGYPTIAN HIEROGLYPH B001
+13051 ; [.3F17.0020.0002.13051] # EGYPTIAN HIEROGLYPH B002
+13052 ; [.3F18.0020.0002.13052] # EGYPTIAN HIEROGLYPH B003
+13053 ; [.3F19.0020.0002.13053] # EGYPTIAN HIEROGLYPH B004
+13054 ; [.3F1A.0020.0002.13054] # EGYPTIAN HIEROGLYPH B005
+13055 ; [.3F1B.0020.0002.13055] # EGYPTIAN HIEROGLYPH B005A
+13056 ; [.3F1C.0020.0002.13056] # EGYPTIAN HIEROGLYPH B006
+13057 ; [.3F1D.0020.0002.13057] # EGYPTIAN HIEROGLYPH B007
+13058 ; [.3F1E.0020.0002.13058] # EGYPTIAN HIEROGLYPH B008
+13059 ; [.3F1F.0020.0002.13059] # EGYPTIAN HIEROGLYPH B009
+1305A ; [.3F20.0020.0002.1305A] # EGYPTIAN HIEROGLYPH C001
+1305B ; [.3F21.0020.0002.1305B] # EGYPTIAN HIEROGLYPH C002
+1305C ; [.3F22.0020.0002.1305C] # EGYPTIAN HIEROGLYPH C002A
+1305D ; [.3F23.0020.0002.1305D] # EGYPTIAN HIEROGLYPH C002B
+1305E ; [.3F24.0020.0002.1305E] # EGYPTIAN HIEROGLYPH C002C
+1305F ; [.3F25.0020.0002.1305F] # EGYPTIAN HIEROGLYPH C003
+13060 ; [.3F26.0020.0002.13060] # EGYPTIAN HIEROGLYPH C004
+13061 ; [.3F27.0020.0002.13061] # EGYPTIAN HIEROGLYPH C005
+13062 ; [.3F28.0020.0002.13062] # EGYPTIAN HIEROGLYPH C006
+13063 ; [.3F29.0020.0002.13063] # EGYPTIAN HIEROGLYPH C007
+13064 ; [.3F2A.0020.0002.13064] # EGYPTIAN HIEROGLYPH C008
+13065 ; [.3F2B.0020.0002.13065] # EGYPTIAN HIEROGLYPH C009
+13066 ; [.3F2C.0020.0002.13066] # EGYPTIAN HIEROGLYPH C010
+13067 ; [.3F2D.0020.0002.13067] # EGYPTIAN HIEROGLYPH C010A
+13068 ; [.3F2E.0020.0002.13068] # EGYPTIAN HIEROGLYPH C011
+13069 ; [.3F2F.0020.0002.13069] # EGYPTIAN HIEROGLYPH C012
+1306A ; [.3F30.0020.0002.1306A] # EGYPTIAN HIEROGLYPH C013
+1306B ; [.3F31.0020.0002.1306B] # EGYPTIAN HIEROGLYPH C014
+1306C ; [.3F32.0020.0002.1306C] # EGYPTIAN HIEROGLYPH C015
+1306D ; [.3F33.0020.0002.1306D] # EGYPTIAN HIEROGLYPH C016
+1306E ; [.3F34.0020.0002.1306E] # EGYPTIAN HIEROGLYPH C017
+1306F ; [.3F35.0020.0002.1306F] # EGYPTIAN HIEROGLYPH C018
+13070 ; [.3F36.0020.0002.13070] # EGYPTIAN HIEROGLYPH C019
+13071 ; [.3F37.0020.0002.13071] # EGYPTIAN HIEROGLYPH C020
+13072 ; [.3F38.0020.0002.13072] # EGYPTIAN HIEROGLYPH C021
+13073 ; [.3F39.0020.0002.13073] # EGYPTIAN HIEROGLYPH C022
+13074 ; [.3F3A.0020.0002.13074] # EGYPTIAN HIEROGLYPH C023
+13075 ; [.3F3B.0020.0002.13075] # EGYPTIAN HIEROGLYPH C024
+13076 ; [.3F3C.0020.0002.13076] # EGYPTIAN HIEROGLYPH D001
+13077 ; [.3F3D.0020.0002.13077] # EGYPTIAN HIEROGLYPH D002
+13078 ; [.3F3E.0020.0002.13078] # EGYPTIAN HIEROGLYPH D003
+13079 ; [.3F3F.0020.0002.13079] # EGYPTIAN HIEROGLYPH D004
+1307A ; [.3F40.0020.0002.1307A] # EGYPTIAN HIEROGLYPH D005
+1307B ; [.3F41.0020.0002.1307B] # EGYPTIAN HIEROGLYPH D006
+1307C ; [.3F42.0020.0002.1307C] # EGYPTIAN HIEROGLYPH D007
+1307D ; [.3F43.0020.0002.1307D] # EGYPTIAN HIEROGLYPH D008
+1307E ; [.3F44.0020.0002.1307E] # EGYPTIAN HIEROGLYPH D008A
+1307F ; [.3F45.0020.0002.1307F] # EGYPTIAN HIEROGLYPH D009
+13080 ; [.3F46.0020.0002.13080] # EGYPTIAN HIEROGLYPH D010
+13081 ; [.3F47.0020.0002.13081] # EGYPTIAN HIEROGLYPH D011
+13082 ; [.3F48.0020.0002.13082] # EGYPTIAN HIEROGLYPH D012
+13083 ; [.3F49.0020.0002.13083] # EGYPTIAN HIEROGLYPH D013
+13084 ; [.3F4A.0020.0002.13084] # EGYPTIAN HIEROGLYPH D014
+13085 ; [.3F4B.0020.0002.13085] # EGYPTIAN HIEROGLYPH D015
+13086 ; [.3F4C.0020.0002.13086] # EGYPTIAN HIEROGLYPH D016
+13087 ; [.3F4D.0020.0002.13087] # EGYPTIAN HIEROGLYPH D017
+13088 ; [.3F4E.0020.0002.13088] # EGYPTIAN HIEROGLYPH D018
+13089 ; [.3F4F.0020.0002.13089] # EGYPTIAN HIEROGLYPH D019
+1308A ; [.3F50.0020.0002.1308A] # EGYPTIAN HIEROGLYPH D020
+1308B ; [.3F51.0020.0002.1308B] # EGYPTIAN HIEROGLYPH D021
+1308C ; [.3F52.0020.0002.1308C] # EGYPTIAN HIEROGLYPH D022
+1308D ; [.3F53.0020.0002.1308D] # EGYPTIAN HIEROGLYPH D023
+1308E ; [.3F54.0020.0002.1308E] # EGYPTIAN HIEROGLYPH D024
+1308F ; [.3F55.0020.0002.1308F] # EGYPTIAN HIEROGLYPH D025
+13090 ; [.3F56.0020.0002.13090] # EGYPTIAN HIEROGLYPH D026
+13091 ; [.3F57.0020.0002.13091] # EGYPTIAN HIEROGLYPH D027
+13092 ; [.3F58.0020.0002.13092] # EGYPTIAN HIEROGLYPH D027A
+13093 ; [.3F59.0020.0002.13093] # EGYPTIAN HIEROGLYPH D028
+13094 ; [.3F5A.0020.0002.13094] # EGYPTIAN HIEROGLYPH D029
+13095 ; [.3F5B.0020.0002.13095] # EGYPTIAN HIEROGLYPH D030
+13096 ; [.3F5C.0020.0002.13096] # EGYPTIAN HIEROGLYPH D031
+13097 ; [.3F5D.0020.0002.13097] # EGYPTIAN HIEROGLYPH D031A
+13098 ; [.3F5E.0020.0002.13098] # EGYPTIAN HIEROGLYPH D032
+13099 ; [.3F5F.0020.0002.13099] # EGYPTIAN HIEROGLYPH D033
+1309A ; [.3F60.0020.0002.1309A] # EGYPTIAN HIEROGLYPH D034
+1309B ; [.3F61.0020.0002.1309B] # EGYPTIAN HIEROGLYPH D034A
+1309C ; [.3F62.0020.0002.1309C] # EGYPTIAN HIEROGLYPH D035
+1309D ; [.3F63.0020.0002.1309D] # EGYPTIAN HIEROGLYPH D036
+1309E ; [.3F64.0020.0002.1309E] # EGYPTIAN HIEROGLYPH D037
+1309F ; [.3F65.0020.0002.1309F] # EGYPTIAN HIEROGLYPH D038
+130A0 ; [.3F66.0020.0002.130A0] # EGYPTIAN HIEROGLYPH D039
+130A1 ; [.3F67.0020.0002.130A1] # EGYPTIAN HIEROGLYPH D040
+130A2 ; [.3F68.0020.0002.130A2] # EGYPTIAN HIEROGLYPH D041
+130A3 ; [.3F69.0020.0002.130A3] # EGYPTIAN HIEROGLYPH D042
+130A4 ; [.3F6A.0020.0002.130A4] # EGYPTIAN HIEROGLYPH D043
+130A5 ; [.3F6B.0020.0002.130A5] # EGYPTIAN HIEROGLYPH D044
+130A6 ; [.3F6C.0020.0002.130A6] # EGYPTIAN HIEROGLYPH D045
+130A7 ; [.3F6D.0020.0002.130A7] # EGYPTIAN HIEROGLYPH D046
+130A8 ; [.3F6E.0020.0002.130A8] # EGYPTIAN HIEROGLYPH D046A
+130A9 ; [.3F6F.0020.0002.130A9] # EGYPTIAN HIEROGLYPH D047
+130AA ; [.3F70.0020.0002.130AA] # EGYPTIAN HIEROGLYPH D048
+130AB ; [.3F71.0020.0002.130AB] # EGYPTIAN HIEROGLYPH D048A
+130AC ; [.3F72.0020.0002.130AC] # EGYPTIAN HIEROGLYPH D049
+130AD ; [.3F73.0020.0002.130AD] # EGYPTIAN HIEROGLYPH D050
+130AE ; [.3F74.0020.0002.130AE] # EGYPTIAN HIEROGLYPH D050A
+130AF ; [.3F75.0020.0002.130AF] # EGYPTIAN HIEROGLYPH D050B
+130B0 ; [.3F76.0020.0002.130B0] # EGYPTIAN HIEROGLYPH D050C
+130B1 ; [.3F77.0020.0002.130B1] # EGYPTIAN HIEROGLYPH D050D
+130B2 ; [.3F78.0020.0002.130B2] # EGYPTIAN HIEROGLYPH D050E
+130B3 ; [.3F79.0020.0002.130B3] # EGYPTIAN HIEROGLYPH D050F
+130B4 ; [.3F7A.0020.0002.130B4] # EGYPTIAN HIEROGLYPH D050G
+130B5 ; [.3F7B.0020.0002.130B5] # EGYPTIAN HIEROGLYPH D050H
+130B6 ; [.3F7C.0020.0002.130B6] # EGYPTIAN HIEROGLYPH D050I
+130B7 ; [.3F7D.0020.0002.130B7] # EGYPTIAN HIEROGLYPH D051
+130B8 ; [.3F7E.0020.0002.130B8] # EGYPTIAN HIEROGLYPH D052
+130B9 ; [.3F7F.0020.0002.130B9] # EGYPTIAN HIEROGLYPH D052A
+130BA ; [.3F80.0020.0002.130BA] # EGYPTIAN HIEROGLYPH D053
+130BB ; [.3F81.0020.0002.130BB] # EGYPTIAN HIEROGLYPH D054
+130BC ; [.3F82.0020.0002.130BC] # EGYPTIAN HIEROGLYPH D054A
+130BD ; [.3F83.0020.0002.130BD] # EGYPTIAN HIEROGLYPH D055
+130BE ; [.3F84.0020.0002.130BE] # EGYPTIAN HIEROGLYPH D056
+130BF ; [.3F85.0020.0002.130BF] # EGYPTIAN HIEROGLYPH D057
+130C0 ; [.3F86.0020.0002.130C0] # EGYPTIAN HIEROGLYPH D058
+130C1 ; [.3F87.0020.0002.130C1] # EGYPTIAN HIEROGLYPH D059
+130C2 ; [.3F88.0020.0002.130C2] # EGYPTIAN HIEROGLYPH D060
+130C3 ; [.3F89.0020.0002.130C3] # EGYPTIAN HIEROGLYPH D061
+130C4 ; [.3F8A.0020.0002.130C4] # EGYPTIAN HIEROGLYPH D062
+130C5 ; [.3F8B.0020.0002.130C5] # EGYPTIAN HIEROGLYPH D063
+130C6 ; [.3F8C.0020.0002.130C6] # EGYPTIAN HIEROGLYPH D064
+130C7 ; [.3F8D.0020.0002.130C7] # EGYPTIAN HIEROGLYPH D065
+130C8 ; [.3F8E.0020.0002.130C8] # EGYPTIAN HIEROGLYPH D066
+130C9 ; [.3F8F.0020.0002.130C9] # EGYPTIAN HIEROGLYPH D067
+130CA ; [.3F90.0020.0002.130CA] # EGYPTIAN HIEROGLYPH D067A
+130CB ; [.3F91.0020.0002.130CB] # EGYPTIAN HIEROGLYPH D067B
+130CC ; [.3F92.0020.0002.130CC] # EGYPTIAN HIEROGLYPH D067C
+130CD ; [.3F93.0020.0002.130CD] # EGYPTIAN HIEROGLYPH D067D
+130CE ; [.3F94.0020.0002.130CE] # EGYPTIAN HIEROGLYPH D067E
+130CF ; [.3F95.0020.0002.130CF] # EGYPTIAN HIEROGLYPH D067F
+130D0 ; [.3F96.0020.0002.130D0] # EGYPTIAN HIEROGLYPH D067G
+130D1 ; [.3F97.0020.0002.130D1] # EGYPTIAN HIEROGLYPH D067H
+130D2 ; [.3F98.0020.0002.130D2] # EGYPTIAN HIEROGLYPH E001
+130D3 ; [.3F99.0020.0002.130D3] # EGYPTIAN HIEROGLYPH E002
+130D4 ; [.3F9A.0020.0002.130D4] # EGYPTIAN HIEROGLYPH E003
+130D5 ; [.3F9B.0020.0002.130D5] # EGYPTIAN HIEROGLYPH E004
+130D6 ; [.3F9C.0020.0002.130D6] # EGYPTIAN HIEROGLYPH E005
+130D7 ; [.3F9D.0020.0002.130D7] # EGYPTIAN HIEROGLYPH E006
+130D8 ; [.3F9E.0020.0002.130D8] # EGYPTIAN HIEROGLYPH E007
+130D9 ; [.3F9F.0020.0002.130D9] # EGYPTIAN HIEROGLYPH E008
+130DA ; [.3FA0.0020.0002.130DA] # EGYPTIAN HIEROGLYPH E008A
+130DB ; [.3FA1.0020.0002.130DB] # EGYPTIAN HIEROGLYPH E009
+130DC ; [.3FA2.0020.0002.130DC] # EGYPTIAN HIEROGLYPH E009A
+130DD ; [.3FA3.0020.0002.130DD] # EGYPTIAN HIEROGLYPH E010
+130DE ; [.3FA4.0020.0002.130DE] # EGYPTIAN HIEROGLYPH E011
+130DF ; [.3FA5.0020.0002.130DF] # EGYPTIAN HIEROGLYPH E012
+130E0 ; [.3FA6.0020.0002.130E0] # EGYPTIAN HIEROGLYPH E013
+130E1 ; [.3FA7.0020.0002.130E1] # EGYPTIAN HIEROGLYPH E014
+130E2 ; [.3FA8.0020.0002.130E2] # EGYPTIAN HIEROGLYPH E015
+130E3 ; [.3FA9.0020.0002.130E3] # EGYPTIAN HIEROGLYPH E016
+130E4 ; [.3FAA.0020.0002.130E4] # EGYPTIAN HIEROGLYPH E016A
+130E5 ; [.3FAB.0020.0002.130E5] # EGYPTIAN HIEROGLYPH E017
+130E6 ; [.3FAC.0020.0002.130E6] # EGYPTIAN HIEROGLYPH E017A
+130E7 ; [.3FAD.0020.0002.130E7] # EGYPTIAN HIEROGLYPH E018
+130E8 ; [.3FAE.0020.0002.130E8] # EGYPTIAN HIEROGLYPH E019
+130E9 ; [.3FAF.0020.0002.130E9] # EGYPTIAN HIEROGLYPH E020
+130EA ; [.3FB0.0020.0002.130EA] # EGYPTIAN HIEROGLYPH E020A
+130EB ; [.3FB1.0020.0002.130EB] # EGYPTIAN HIEROGLYPH E021
+130EC ; [.3FB2.0020.0002.130EC] # EGYPTIAN HIEROGLYPH E022
+130ED ; [.3FB3.0020.0002.130ED] # EGYPTIAN HIEROGLYPH E023
+130EE ; [.3FB4.0020.0002.130EE] # EGYPTIAN HIEROGLYPH E024
+130EF ; [.3FB5.0020.0002.130EF] # EGYPTIAN HIEROGLYPH E025
+130F0 ; [.3FB6.0020.0002.130F0] # EGYPTIAN HIEROGLYPH E026
+130F1 ; [.3FB7.0020.0002.130F1] # EGYPTIAN HIEROGLYPH E027
+130F2 ; [.3FB8.0020.0002.130F2] # EGYPTIAN HIEROGLYPH E028
+130F3 ; [.3FB9.0020.0002.130F3] # EGYPTIAN HIEROGLYPH E028A
+130F4 ; [.3FBA.0020.0002.130F4] # EGYPTIAN HIEROGLYPH E029
+130F5 ; [.3FBB.0020.0002.130F5] # EGYPTIAN HIEROGLYPH E030
+130F6 ; [.3FBC.0020.0002.130F6] # EGYPTIAN HIEROGLYPH E031
+130F7 ; [.3FBD.0020.0002.130F7] # EGYPTIAN HIEROGLYPH E032
+130F8 ; [.3FBE.0020.0002.130F8] # EGYPTIAN HIEROGLYPH E033
+130F9 ; [.3FBF.0020.0002.130F9] # EGYPTIAN HIEROGLYPH E034
+130FA ; [.3FC0.0020.0002.130FA] # EGYPTIAN HIEROGLYPH E034A
+130FB ; [.3FC1.0020.0002.130FB] # EGYPTIAN HIEROGLYPH E036
+130FC ; [.3FC2.0020.0002.130FC] # EGYPTIAN HIEROGLYPH E037
+130FD ; [.3FC3.0020.0002.130FD] # EGYPTIAN HIEROGLYPH E038
+130FE ; [.3FC4.0020.0002.130FE] # EGYPTIAN HIEROGLYPH F001
+130FF ; [.3FC5.0020.0002.130FF] # EGYPTIAN HIEROGLYPH F001A
+13100 ; [.3FC6.0020.0002.13100] # EGYPTIAN HIEROGLYPH F002
+13101 ; [.3FC7.0020.0002.13101] # EGYPTIAN HIEROGLYPH F003
+13102 ; [.3FC8.0020.0002.13102] # EGYPTIAN HIEROGLYPH F004
+13103 ; [.3FC9.0020.0002.13103] # EGYPTIAN HIEROGLYPH F005
+13104 ; [.3FCA.0020.0002.13104] # EGYPTIAN HIEROGLYPH F006
+13105 ; [.3FCB.0020.0002.13105] # EGYPTIAN HIEROGLYPH F007
+13106 ; [.3FCC.0020.0002.13106] # EGYPTIAN HIEROGLYPH F008
+13107 ; [.3FCD.0020.0002.13107] # EGYPTIAN HIEROGLYPH F009
+13108 ; [.3FCE.0020.0002.13108] # EGYPTIAN HIEROGLYPH F010
+13109 ; [.3FCF.0020.0002.13109] # EGYPTIAN HIEROGLYPH F011
+1310A ; [.3FD0.0020.0002.1310A] # EGYPTIAN HIEROGLYPH F012
+1310B ; [.3FD1.0020.0002.1310B] # EGYPTIAN HIEROGLYPH F013
+1310C ; [.3FD2.0020.0002.1310C] # EGYPTIAN HIEROGLYPH F013A
+1310D ; [.3FD3.0020.0002.1310D] # EGYPTIAN HIEROGLYPH F014
+1310E ; [.3FD4.0020.0002.1310E] # EGYPTIAN HIEROGLYPH F015
+1310F ; [.3FD5.0020.0002.1310F] # EGYPTIAN HIEROGLYPH F016
+13110 ; [.3FD6.0020.0002.13110] # EGYPTIAN HIEROGLYPH F017
+13111 ; [.3FD7.0020.0002.13111] # EGYPTIAN HIEROGLYPH F018
+13112 ; [.3FD8.0020.0002.13112] # EGYPTIAN HIEROGLYPH F019
+13113 ; [.3FD9.0020.0002.13113] # EGYPTIAN HIEROGLYPH F020
+13114 ; [.3FDA.0020.0002.13114] # EGYPTIAN HIEROGLYPH F021
+13115 ; [.3FDB.0020.0002.13115] # EGYPTIAN HIEROGLYPH F021A
+13116 ; [.3FDC.0020.0002.13116] # EGYPTIAN HIEROGLYPH F022
+13117 ; [.3FDD.0020.0002.13117] # EGYPTIAN HIEROGLYPH F023
+13118 ; [.3FDE.0020.0002.13118] # EGYPTIAN HIEROGLYPH F024
+13119 ; [.3FDF.0020.0002.13119] # EGYPTIAN HIEROGLYPH F025
+1311A ; [.3FE0.0020.0002.1311A] # EGYPTIAN HIEROGLYPH F026
+1311B ; [.3FE1.0020.0002.1311B] # EGYPTIAN HIEROGLYPH F027
+1311C ; [.3FE2.0020.0002.1311C] # EGYPTIAN HIEROGLYPH F028
+1311D ; [.3FE3.0020.0002.1311D] # EGYPTIAN HIEROGLYPH F029
+1311E ; [.3FE4.0020.0002.1311E] # EGYPTIAN HIEROGLYPH F030
+1311F ; [.3FE5.0020.0002.1311F] # EGYPTIAN HIEROGLYPH F031
+13120 ; [.3FE6.0020.0002.13120] # EGYPTIAN HIEROGLYPH F031A
+13121 ; [.3FE7.0020.0002.13121] # EGYPTIAN HIEROGLYPH F032
+13122 ; [.3FE8.0020.0002.13122] # EGYPTIAN HIEROGLYPH F033
+13123 ; [.3FE9.0020.0002.13123] # EGYPTIAN HIEROGLYPH F034
+13124 ; [.3FEA.0020.0002.13124] # EGYPTIAN HIEROGLYPH F035
+13125 ; [.3FEB.0020.0002.13125] # EGYPTIAN HIEROGLYPH F036
+13126 ; [.3FEC.0020.0002.13126] # EGYPTIAN HIEROGLYPH F037
+13127 ; [.3FED.0020.0002.13127] # EGYPTIAN HIEROGLYPH F037A
+13128 ; [.3FEE.0020.0002.13128] # EGYPTIAN HIEROGLYPH F038
+13129 ; [.3FEF.0020.0002.13129] # EGYPTIAN HIEROGLYPH F038A
+1312A ; [.3FF0.0020.0002.1312A] # EGYPTIAN HIEROGLYPH F039
+1312B ; [.3FF1.0020.0002.1312B] # EGYPTIAN HIEROGLYPH F040
+1312C ; [.3FF2.0020.0002.1312C] # EGYPTIAN HIEROGLYPH F041
+1312D ; [.3FF3.0020.0002.1312D] # EGYPTIAN HIEROGLYPH F042
+1312E ; [.3FF4.0020.0002.1312E] # EGYPTIAN HIEROGLYPH F043
+1312F ; [.3FF5.0020.0002.1312F] # EGYPTIAN HIEROGLYPH F044
+13130 ; [.3FF6.0020.0002.13130] # EGYPTIAN HIEROGLYPH F045
+13131 ; [.3FF7.0020.0002.13131] # EGYPTIAN HIEROGLYPH F045A
+13132 ; [.3FF8.0020.0002.13132] # EGYPTIAN HIEROGLYPH F046
+13133 ; [.3FF9.0020.0002.13133] # EGYPTIAN HIEROGLYPH F046A
+13134 ; [.3FFA.0020.0002.13134] # EGYPTIAN HIEROGLYPH F047
+13135 ; [.3FFB.0020.0002.13135] # EGYPTIAN HIEROGLYPH F047A
+13136 ; [.3FFC.0020.0002.13136] # EGYPTIAN HIEROGLYPH F048
+13137 ; [.3FFD.0020.0002.13137] # EGYPTIAN HIEROGLYPH F049
+13138 ; [.3FFE.0020.0002.13138] # EGYPTIAN HIEROGLYPH F050
+13139 ; [.3FFF.0020.0002.13139] # EGYPTIAN HIEROGLYPH F051
+1313A ; [.4000.0020.0002.1313A] # EGYPTIAN HIEROGLYPH F051A
+1313B ; [.4001.0020.0002.1313B] # EGYPTIAN HIEROGLYPH F051B
+1313C ; [.4002.0020.0002.1313C] # EGYPTIAN HIEROGLYPH F051C
+1313D ; [.4003.0020.0002.1313D] # EGYPTIAN HIEROGLYPH F052
+1313E ; [.4004.0020.0002.1313E] # EGYPTIAN HIEROGLYPH F053
+1313F ; [.4005.0020.0002.1313F] # EGYPTIAN HIEROGLYPH G001
+13140 ; [.4006.0020.0002.13140] # EGYPTIAN HIEROGLYPH G002
+13141 ; [.4007.0020.0002.13141] # EGYPTIAN HIEROGLYPH G003
+13142 ; [.4008.0020.0002.13142] # EGYPTIAN HIEROGLYPH G004
+13143 ; [.4009.0020.0002.13143] # EGYPTIAN HIEROGLYPH G005
+13144 ; [.400A.0020.0002.13144] # EGYPTIAN HIEROGLYPH G006
+13145 ; [.400B.0020.0002.13145] # EGYPTIAN HIEROGLYPH G006A
+13146 ; [.400C.0020.0002.13146] # EGYPTIAN HIEROGLYPH G007
+13147 ; [.400D.0020.0002.13147] # EGYPTIAN HIEROGLYPH G007A
+13148 ; [.400E.0020.0002.13148] # EGYPTIAN HIEROGLYPH G007B
+13149 ; [.400F.0020.0002.13149] # EGYPTIAN HIEROGLYPH G008
+1314A ; [.4010.0020.0002.1314A] # EGYPTIAN HIEROGLYPH G009
+1314B ; [.4011.0020.0002.1314B] # EGYPTIAN HIEROGLYPH G010
+1314C ; [.4012.0020.0002.1314C] # EGYPTIAN HIEROGLYPH G011
+1314D ; [.4013.0020.0002.1314D] # EGYPTIAN HIEROGLYPH G011A
+1314E ; [.4014.0020.0002.1314E] # EGYPTIAN HIEROGLYPH G012
+1314F ; [.4015.0020.0002.1314F] # EGYPTIAN HIEROGLYPH G013
+13150 ; [.4016.0020.0002.13150] # EGYPTIAN HIEROGLYPH G014
+13151 ; [.4017.0020.0002.13151] # EGYPTIAN HIEROGLYPH G015
+13152 ; [.4018.0020.0002.13152] # EGYPTIAN HIEROGLYPH G016
+13153 ; [.4019.0020.0002.13153] # EGYPTIAN HIEROGLYPH G017
+13154 ; [.401A.0020.0002.13154] # EGYPTIAN HIEROGLYPH G018
+13155 ; [.401B.0020.0002.13155] # EGYPTIAN HIEROGLYPH G019
+13156 ; [.401C.0020.0002.13156] # EGYPTIAN HIEROGLYPH G020
+13157 ; [.401D.0020.0002.13157] # EGYPTIAN HIEROGLYPH G020A
+13158 ; [.401E.0020.0002.13158] # EGYPTIAN HIEROGLYPH G021
+13159 ; [.401F.0020.0002.13159] # EGYPTIAN HIEROGLYPH G022
+1315A ; [.4020.0020.0002.1315A] # EGYPTIAN HIEROGLYPH G023
+1315B ; [.4021.0020.0002.1315B] # EGYPTIAN HIEROGLYPH G024
+1315C ; [.4022.0020.0002.1315C] # EGYPTIAN HIEROGLYPH G025
+1315D ; [.4023.0020.0002.1315D] # EGYPTIAN HIEROGLYPH G026
+1315E ; [.4024.0020.0002.1315E] # EGYPTIAN HIEROGLYPH G026A
+1315F ; [.4025.0020.0002.1315F] # EGYPTIAN HIEROGLYPH G027
+13160 ; [.4026.0020.0002.13160] # EGYPTIAN HIEROGLYPH G028
+13161 ; [.4027.0020.0002.13161] # EGYPTIAN HIEROGLYPH G029
+13162 ; [.4028.0020.0002.13162] # EGYPTIAN HIEROGLYPH G030
+13163 ; [.4029.0020.0002.13163] # EGYPTIAN HIEROGLYPH G031
+13164 ; [.402A.0020.0002.13164] # EGYPTIAN HIEROGLYPH G032
+13165 ; [.402B.0020.0002.13165] # EGYPTIAN HIEROGLYPH G033
+13166 ; [.402C.0020.0002.13166] # EGYPTIAN HIEROGLYPH G034
+13167 ; [.402D.0020.0002.13167] # EGYPTIAN HIEROGLYPH G035
+13168 ; [.402E.0020.0002.13168] # EGYPTIAN HIEROGLYPH G036
+13169 ; [.402F.0020.0002.13169] # EGYPTIAN HIEROGLYPH G036A
+1316A ; [.4030.0020.0002.1316A] # EGYPTIAN HIEROGLYPH G037
+1316B ; [.4031.0020.0002.1316B] # EGYPTIAN HIEROGLYPH G037A
+1316C ; [.4032.0020.0002.1316C] # EGYPTIAN HIEROGLYPH G038
+1316D ; [.4033.0020.0002.1316D] # EGYPTIAN HIEROGLYPH G039
+1316E ; [.4034.0020.0002.1316E] # EGYPTIAN HIEROGLYPH G040
+1316F ; [.4035.0020.0002.1316F] # EGYPTIAN HIEROGLYPH G041
+13170 ; [.4036.0020.0002.13170] # EGYPTIAN HIEROGLYPH G042
+13171 ; [.4037.0020.0002.13171] # EGYPTIAN HIEROGLYPH G043
+13172 ; [.4038.0020.0002.13172] # EGYPTIAN HIEROGLYPH G043A
+13173 ; [.4039.0020.0002.13173] # EGYPTIAN HIEROGLYPH G044
+13174 ; [.403A.0020.0002.13174] # EGYPTIAN HIEROGLYPH G045
+13175 ; [.403B.0020.0002.13175] # EGYPTIAN HIEROGLYPH G045A
+13176 ; [.403C.0020.0002.13176] # EGYPTIAN HIEROGLYPH G046
+13177 ; [.403D.0020.0002.13177] # EGYPTIAN HIEROGLYPH G047
+13178 ; [.403E.0020.0002.13178] # EGYPTIAN HIEROGLYPH G048
+13179 ; [.403F.0020.0002.13179] # EGYPTIAN HIEROGLYPH G049
+1317A ; [.4040.0020.0002.1317A] # EGYPTIAN HIEROGLYPH G050
+1317B ; [.4041.0020.0002.1317B] # EGYPTIAN HIEROGLYPH G051
+1317C ; [.4042.0020.0002.1317C] # EGYPTIAN HIEROGLYPH G052
+1317D ; [.4043.0020.0002.1317D] # EGYPTIAN HIEROGLYPH G053
+1317E ; [.4044.0020.0002.1317E] # EGYPTIAN HIEROGLYPH G054
+1317F ; [.4045.0020.0002.1317F] # EGYPTIAN HIEROGLYPH H001
+13180 ; [.4046.0020.0002.13180] # EGYPTIAN HIEROGLYPH H002
+13181 ; [.4047.0020.0002.13181] # EGYPTIAN HIEROGLYPH H003
+13182 ; [.4048.0020.0002.13182] # EGYPTIAN HIEROGLYPH H004
+13183 ; [.4049.0020.0002.13183] # EGYPTIAN HIEROGLYPH H005
+13184 ; [.404A.0020.0002.13184] # EGYPTIAN HIEROGLYPH H006
+13185 ; [.404B.0020.0002.13185] # EGYPTIAN HIEROGLYPH H006A
+13186 ; [.404C.0020.0002.13186] # EGYPTIAN HIEROGLYPH H007
+13187 ; [.404D.0020.0002.13187] # EGYPTIAN HIEROGLYPH H008
+13188 ; [.404E.0020.0002.13188] # EGYPTIAN HIEROGLYPH I001
+13189 ; [.404F.0020.0002.13189] # EGYPTIAN HIEROGLYPH I002
+1318A ; [.4050.0020.0002.1318A] # EGYPTIAN HIEROGLYPH I003
+1318B ; [.4051.0020.0002.1318B] # EGYPTIAN HIEROGLYPH I004
+1318C ; [.4052.0020.0002.1318C] # EGYPTIAN HIEROGLYPH I005
+1318D ; [.4053.0020.0002.1318D] # EGYPTIAN HIEROGLYPH I005A
+1318E ; [.4054.0020.0002.1318E] # EGYPTIAN HIEROGLYPH I006
+1318F ; [.4055.0020.0002.1318F] # EGYPTIAN HIEROGLYPH I007
+13190 ; [.4056.0020.0002.13190] # EGYPTIAN HIEROGLYPH I008
+13191 ; [.4057.0020.0002.13191] # EGYPTIAN HIEROGLYPH I009
+13192 ; [.4058.0020.0002.13192] # EGYPTIAN HIEROGLYPH I009A
+13193 ; [.4059.0020.0002.13193] # EGYPTIAN HIEROGLYPH I010
+13194 ; [.405A.0020.0002.13194] # EGYPTIAN HIEROGLYPH I010A
+13195 ; [.405B.0020.0002.13195] # EGYPTIAN HIEROGLYPH I011
+13196 ; [.405C.0020.0002.13196] # EGYPTIAN HIEROGLYPH I011A
+13197 ; [.405D.0020.0002.13197] # EGYPTIAN HIEROGLYPH I012
+13198 ; [.405E.0020.0002.13198] # EGYPTIAN HIEROGLYPH I013
+13199 ; [.405F.0020.0002.13199] # EGYPTIAN HIEROGLYPH I014
+1319A ; [.4060.0020.0002.1319A] # EGYPTIAN HIEROGLYPH I015
+1319B ; [.4061.0020.0002.1319B] # EGYPTIAN HIEROGLYPH K001
+1319C ; [.4062.0020.0002.1319C] # EGYPTIAN HIEROGLYPH K002
+1319D ; [.4063.0020.0002.1319D] # EGYPTIAN HIEROGLYPH K003
+1319E ; [.4064.0020.0002.1319E] # EGYPTIAN HIEROGLYPH K004
+1319F ; [.4065.0020.0002.1319F] # EGYPTIAN HIEROGLYPH K005
+131A0 ; [.4066.0020.0002.131A0] # EGYPTIAN HIEROGLYPH K006
+131A1 ; [.4067.0020.0002.131A1] # EGYPTIAN HIEROGLYPH K007
+131A2 ; [.4068.0020.0002.131A2] # EGYPTIAN HIEROGLYPH K008
+131A3 ; [.4069.0020.0002.131A3] # EGYPTIAN HIEROGLYPH L001
+131A4 ; [.406A.0020.0002.131A4] # EGYPTIAN HIEROGLYPH L002
+131A5 ; [.406B.0020.0002.131A5] # EGYPTIAN HIEROGLYPH L002A
+131A6 ; [.406C.0020.0002.131A6] # EGYPTIAN HIEROGLYPH L003
+131A7 ; [.406D.0020.0002.131A7] # EGYPTIAN HIEROGLYPH L004
+131A8 ; [.406E.0020.0002.131A8] # EGYPTIAN HIEROGLYPH L005
+131A9 ; [.406F.0020.0002.131A9] # EGYPTIAN HIEROGLYPH L006
+131AA ; [.4070.0020.0002.131AA] # EGYPTIAN HIEROGLYPH L006A
+131AB ; [.4071.0020.0002.131AB] # EGYPTIAN HIEROGLYPH L007
+131AC ; [.4072.0020.0002.131AC] # EGYPTIAN HIEROGLYPH L008
+131AD ; [.4073.0020.0002.131AD] # EGYPTIAN HIEROGLYPH M001
+131AE ; [.4074.0020.0002.131AE] # EGYPTIAN HIEROGLYPH M001A
+131AF ; [.4075.0020.0002.131AF] # EGYPTIAN HIEROGLYPH M001B
+131B0 ; [.4076.0020.0002.131B0] # EGYPTIAN HIEROGLYPH M002
+131B1 ; [.4077.0020.0002.131B1] # EGYPTIAN HIEROGLYPH M003
+131B2 ; [.4078.0020.0002.131B2] # EGYPTIAN HIEROGLYPH M003A
+131B3 ; [.4079.0020.0002.131B3] # EGYPTIAN HIEROGLYPH M004
+131B4 ; [.407A.0020.0002.131B4] # EGYPTIAN HIEROGLYPH M005
+131B5 ; [.407B.0020.0002.131B5] # EGYPTIAN HIEROGLYPH M006
+131B6 ; [.407C.0020.0002.131B6] # EGYPTIAN HIEROGLYPH M007
+131B7 ; [.407D.0020.0002.131B7] # EGYPTIAN HIEROGLYPH M008
+131B8 ; [.407E.0020.0002.131B8] # EGYPTIAN HIEROGLYPH M009
+131B9 ; [.407F.0020.0002.131B9] # EGYPTIAN HIEROGLYPH M010
+131BA ; [.4080.0020.0002.131BA] # EGYPTIAN HIEROGLYPH M010A
+131BB ; [.4081.0020.0002.131BB] # EGYPTIAN HIEROGLYPH M011
+131BC ; [.4082.0020.0002.131BC] # EGYPTIAN HIEROGLYPH M012
+131BD ; [.4083.0020.0002.131BD] # EGYPTIAN HIEROGLYPH M012A
+131BE ; [.4084.0020.0002.131BE] # EGYPTIAN HIEROGLYPH M012B
+131BF ; [.4085.0020.0002.131BF] # EGYPTIAN HIEROGLYPH M012C
+131C0 ; [.4086.0020.0002.131C0] # EGYPTIAN HIEROGLYPH M012D
+131C1 ; [.4087.0020.0002.131C1] # EGYPTIAN HIEROGLYPH M012E
+131C2 ; [.4088.0020.0002.131C2] # EGYPTIAN HIEROGLYPH M012F
+131C3 ; [.4089.0020.0002.131C3] # EGYPTIAN HIEROGLYPH M012G
+131C4 ; [.408A.0020.0002.131C4] # EGYPTIAN HIEROGLYPH M012H
+131C5 ; [.408B.0020.0002.131C5] # EGYPTIAN HIEROGLYPH M013
+131C6 ; [.408C.0020.0002.131C6] # EGYPTIAN HIEROGLYPH M014
+131C7 ; [.408D.0020.0002.131C7] # EGYPTIAN HIEROGLYPH M015
+131C8 ; [.408E.0020.0002.131C8] # EGYPTIAN HIEROGLYPH M015A
+131C9 ; [.408F.0020.0002.131C9] # EGYPTIAN HIEROGLYPH M016
+131CA ; [.4090.0020.0002.131CA] # EGYPTIAN HIEROGLYPH M016A
+131CB ; [.4091.0020.0002.131CB] # EGYPTIAN HIEROGLYPH M017
+131CC ; [.4092.0020.0002.131CC] # EGYPTIAN HIEROGLYPH M017A
+131CD ; [.4093.0020.0002.131CD] # EGYPTIAN HIEROGLYPH M018
+131CE ; [.4094.0020.0002.131CE] # EGYPTIAN HIEROGLYPH M019
+131CF ; [.4095.0020.0002.131CF] # EGYPTIAN HIEROGLYPH M020
+131D0 ; [.4096.0020.0002.131D0] # EGYPTIAN HIEROGLYPH M021
+131D1 ; [.4097.0020.0002.131D1] # EGYPTIAN HIEROGLYPH M022
+131D2 ; [.4098.0020.0002.131D2] # EGYPTIAN HIEROGLYPH M022A
+131D3 ; [.4099.0020.0002.131D3] # EGYPTIAN HIEROGLYPH M023
+131D4 ; [.409A.0020.0002.131D4] # EGYPTIAN HIEROGLYPH M024
+131D5 ; [.409B.0020.0002.131D5] # EGYPTIAN HIEROGLYPH M024A
+131D6 ; [.409C.0020.0002.131D6] # EGYPTIAN HIEROGLYPH M025
+131D7 ; [.409D.0020.0002.131D7] # EGYPTIAN HIEROGLYPH M026
+131D8 ; [.409E.0020.0002.131D8] # EGYPTIAN HIEROGLYPH M027
+131D9 ; [.409F.0020.0002.131D9] # EGYPTIAN HIEROGLYPH M028
+131DA ; [.40A0.0020.0002.131DA] # EGYPTIAN HIEROGLYPH M028A
+131DB ; [.40A1.0020.0002.131DB] # EGYPTIAN HIEROGLYPH M029
+131DC ; [.40A2.0020.0002.131DC] # EGYPTIAN HIEROGLYPH M030
+131DD ; [.40A3.0020.0002.131DD] # EGYPTIAN HIEROGLYPH M031
+131DE ; [.40A4.0020.0002.131DE] # EGYPTIAN HIEROGLYPH M031A
+131DF ; [.40A5.0020.0002.131DF] # EGYPTIAN HIEROGLYPH M032
+131E0 ; [.40A6.0020.0002.131E0] # EGYPTIAN HIEROGLYPH M033
+131E1 ; [.40A7.0020.0002.131E1] # EGYPTIAN HIEROGLYPH M033A
+131E2 ; [.40A8.0020.0002.131E2] # EGYPTIAN HIEROGLYPH M033B
+131E3 ; [.40A9.0020.0002.131E3] # EGYPTIAN HIEROGLYPH M034
+131E4 ; [.40AA.0020.0002.131E4] # EGYPTIAN HIEROGLYPH M035
+131E5 ; [.40AB.0020.0002.131E5] # EGYPTIAN HIEROGLYPH M036
+131E6 ; [.40AC.0020.0002.131E6] # EGYPTIAN HIEROGLYPH M037
+131E7 ; [.40AD.0020.0002.131E7] # EGYPTIAN HIEROGLYPH M038
+131E8 ; [.40AE.0020.0002.131E8] # EGYPTIAN HIEROGLYPH M039
+131E9 ; [.40AF.0020.0002.131E9] # EGYPTIAN HIEROGLYPH M040
+131EA ; [.40B0.0020.0002.131EA] # EGYPTIAN HIEROGLYPH M040A
+131EB ; [.40B1.0020.0002.131EB] # EGYPTIAN HIEROGLYPH M041
+131EC ; [.40B2.0020.0002.131EC] # EGYPTIAN HIEROGLYPH M042
+131ED ; [.40B3.0020.0002.131ED] # EGYPTIAN HIEROGLYPH M043
+131EE ; [.40B4.0020.0002.131EE] # EGYPTIAN HIEROGLYPH M044
+131EF ; [.40B5.0020.0002.131EF] # EGYPTIAN HIEROGLYPH N001
+131F0 ; [.40B6.0020.0002.131F0] # EGYPTIAN HIEROGLYPH N002
+131F1 ; [.40B7.0020.0002.131F1] # EGYPTIAN HIEROGLYPH N003
+131F2 ; [.40B8.0020.0002.131F2] # EGYPTIAN HIEROGLYPH N004
+131F3 ; [.40B9.0020.0002.131F3] # EGYPTIAN HIEROGLYPH N005
+131F4 ; [.40BA.0020.0002.131F4] # EGYPTIAN HIEROGLYPH N006
+131F5 ; [.40BB.0020.0002.131F5] # EGYPTIAN HIEROGLYPH N007
+131F6 ; [.40BC.0020.0002.131F6] # EGYPTIAN HIEROGLYPH N008
+131F7 ; [.40BD.0020.0002.131F7] # EGYPTIAN HIEROGLYPH N009
+131F8 ; [.40BE.0020.0002.131F8] # EGYPTIAN HIEROGLYPH N010
+131F9 ; [.40BF.0020.0002.131F9] # EGYPTIAN HIEROGLYPH N011
+131FA ; [.40C0.0020.0002.131FA] # EGYPTIAN HIEROGLYPH N012
+131FB ; [.40C1.0020.0002.131FB] # EGYPTIAN HIEROGLYPH N013
+131FC ; [.40C2.0020.0002.131FC] # EGYPTIAN HIEROGLYPH N014
+131FD ; [.40C3.0020.0002.131FD] # EGYPTIAN HIEROGLYPH N015
+131FE ; [.40C4.0020.0002.131FE] # EGYPTIAN HIEROGLYPH N016
+131FF ; [.40C5.0020.0002.131FF] # EGYPTIAN HIEROGLYPH N017
+13200 ; [.40C6.0020.0002.13200] # EGYPTIAN HIEROGLYPH N018
+13201 ; [.40C7.0020.0002.13201] # EGYPTIAN HIEROGLYPH N018A
+13202 ; [.40C8.0020.0002.13202] # EGYPTIAN HIEROGLYPH N018B
+13203 ; [.40C9.0020.0002.13203] # EGYPTIAN HIEROGLYPH N019
+13204 ; [.40CA.0020.0002.13204] # EGYPTIAN HIEROGLYPH N020
+13205 ; [.40CB.0020.0002.13205] # EGYPTIAN HIEROGLYPH N021
+13206 ; [.40CC.0020.0002.13206] # EGYPTIAN HIEROGLYPH N022
+13207 ; [.40CD.0020.0002.13207] # EGYPTIAN HIEROGLYPH N023
+13208 ; [.40CE.0020.0002.13208] # EGYPTIAN HIEROGLYPH N024
+13209 ; [.40CF.0020.0002.13209] # EGYPTIAN HIEROGLYPH N025
+1320A ; [.40D0.0020.0002.1320A] # EGYPTIAN HIEROGLYPH N025A
+1320B ; [.40D1.0020.0002.1320B] # EGYPTIAN HIEROGLYPH N026
+1320C ; [.40D2.0020.0002.1320C] # EGYPTIAN HIEROGLYPH N027
+1320D ; [.40D3.0020.0002.1320D] # EGYPTIAN HIEROGLYPH N028
+1320E ; [.40D4.0020.0002.1320E] # EGYPTIAN HIEROGLYPH N029
+1320F ; [.40D5.0020.0002.1320F] # EGYPTIAN HIEROGLYPH N030
+13210 ; [.40D6.0020.0002.13210] # EGYPTIAN HIEROGLYPH N031
+13211 ; [.40D7.0020.0002.13211] # EGYPTIAN HIEROGLYPH N032
+13212 ; [.40D8.0020.0002.13212] # EGYPTIAN HIEROGLYPH N033
+13213 ; [.40D9.0020.0002.13213] # EGYPTIAN HIEROGLYPH N033A
+13214 ; [.40DA.0020.0002.13214] # EGYPTIAN HIEROGLYPH N034
+13215 ; [.40DB.0020.0002.13215] # EGYPTIAN HIEROGLYPH N034A
+13216 ; [.40DC.0020.0002.13216] # EGYPTIAN HIEROGLYPH N035
+13217 ; [.40DD.0020.0002.13217] # EGYPTIAN HIEROGLYPH N035A
+13218 ; [.40DE.0020.0002.13218] # EGYPTIAN HIEROGLYPH N036
+13219 ; [.40DF.0020.0002.13219] # EGYPTIAN HIEROGLYPH N037
+1321A ; [.40E0.0020.0002.1321A] # EGYPTIAN HIEROGLYPH N037A
+1321B ; [.40E1.0020.0002.1321B] # EGYPTIAN HIEROGLYPH N038
+1321C ; [.40E2.0020.0002.1321C] # EGYPTIAN HIEROGLYPH N039
+1321D ; [.40E3.0020.0002.1321D] # EGYPTIAN HIEROGLYPH N040
+1321E ; [.40E4.0020.0002.1321E] # EGYPTIAN HIEROGLYPH N041
+1321F ; [.40E5.0020.0002.1321F] # EGYPTIAN HIEROGLYPH N042
+13220 ; [.40E6.0020.0002.13220] # EGYPTIAN HIEROGLYPH NL001
+13221 ; [.40E7.0020.0002.13221] # EGYPTIAN HIEROGLYPH NL002
+13222 ; [.40E8.0020.0002.13222] # EGYPTIAN HIEROGLYPH NL003
+13223 ; [.40E9.0020.0002.13223] # EGYPTIAN HIEROGLYPH NL004
+13224 ; [.40EA.0020.0002.13224] # EGYPTIAN HIEROGLYPH NL005
+13225 ; [.40EB.0020.0002.13225] # EGYPTIAN HIEROGLYPH NL005A
+13226 ; [.40EC.0020.0002.13226] # EGYPTIAN HIEROGLYPH NL006
+13227 ; [.40ED.0020.0002.13227] # EGYPTIAN HIEROGLYPH NL007
+13228 ; [.40EE.0020.0002.13228] # EGYPTIAN HIEROGLYPH NL008
+13229 ; [.40EF.0020.0002.13229] # EGYPTIAN HIEROGLYPH NL009
+1322A ; [.40F0.0020.0002.1322A] # EGYPTIAN HIEROGLYPH NL010
+1322B ; [.40F1.0020.0002.1322B] # EGYPTIAN HIEROGLYPH NL011
+1322C ; [.40F2.0020.0002.1322C] # EGYPTIAN HIEROGLYPH NL012
+1322D ; [.40F3.0020.0002.1322D] # EGYPTIAN HIEROGLYPH NL013
+1322E ; [.40F4.0020.0002.1322E] # EGYPTIAN HIEROGLYPH NL014
+1322F ; [.40F5.0020.0002.1322F] # EGYPTIAN HIEROGLYPH NL015
+13230 ; [.40F6.0020.0002.13230] # EGYPTIAN HIEROGLYPH NL016
+13231 ; [.40F7.0020.0002.13231] # EGYPTIAN HIEROGLYPH NL017
+13232 ; [.40F8.0020.0002.13232] # EGYPTIAN HIEROGLYPH NL017A
+13233 ; [.40F9.0020.0002.13233] # EGYPTIAN HIEROGLYPH NL018
+13234 ; [.40FA.0020.0002.13234] # EGYPTIAN HIEROGLYPH NL019
+13235 ; [.40FB.0020.0002.13235] # EGYPTIAN HIEROGLYPH NL020
+13236 ; [.40FC.0020.0002.13236] # EGYPTIAN HIEROGLYPH NU001
+13237 ; [.40FD.0020.0002.13237] # EGYPTIAN HIEROGLYPH NU002
+13238 ; [.40FE.0020.0002.13238] # EGYPTIAN HIEROGLYPH NU003
+13239 ; [.40FF.0020.0002.13239] # EGYPTIAN HIEROGLYPH NU004
+1323A ; [.4100.0020.0002.1323A] # EGYPTIAN HIEROGLYPH NU005
+1323B ; [.4101.0020.0002.1323B] # EGYPTIAN HIEROGLYPH NU006
+1323C ; [.4102.0020.0002.1323C] # EGYPTIAN HIEROGLYPH NU007
+1323D ; [.4103.0020.0002.1323D] # EGYPTIAN HIEROGLYPH NU008
+1323E ; [.4104.0020.0002.1323E] # EGYPTIAN HIEROGLYPH NU009
+1323F ; [.4105.0020.0002.1323F] # EGYPTIAN HIEROGLYPH NU010
+13240 ; [.4106.0020.0002.13240] # EGYPTIAN HIEROGLYPH NU010A
+13241 ; [.4107.0020.0002.13241] # EGYPTIAN HIEROGLYPH NU011
+13242 ; [.4108.0020.0002.13242] # EGYPTIAN HIEROGLYPH NU011A
+13243 ; [.4109.0020.0002.13243] # EGYPTIAN HIEROGLYPH NU012
+13244 ; [.410A.0020.0002.13244] # EGYPTIAN HIEROGLYPH NU013
+13245 ; [.410B.0020.0002.13245] # EGYPTIAN HIEROGLYPH NU014
+13246 ; [.410C.0020.0002.13246] # EGYPTIAN HIEROGLYPH NU015
+13247 ; [.410D.0020.0002.13247] # EGYPTIAN HIEROGLYPH NU016
+13248 ; [.410E.0020.0002.13248] # EGYPTIAN HIEROGLYPH NU017
+13249 ; [.410F.0020.0002.13249] # EGYPTIAN HIEROGLYPH NU018
+1324A ; [.4110.0020.0002.1324A] # EGYPTIAN HIEROGLYPH NU018A
+1324B ; [.4111.0020.0002.1324B] # EGYPTIAN HIEROGLYPH NU019
+1324C ; [.4112.0020.0002.1324C] # EGYPTIAN HIEROGLYPH NU020
+1324D ; [.4113.0020.0002.1324D] # EGYPTIAN HIEROGLYPH NU021
+1324E ; [.4114.0020.0002.1324E] # EGYPTIAN HIEROGLYPH NU022
+1324F ; [.4115.0020.0002.1324F] # EGYPTIAN HIEROGLYPH NU022A
+13250 ; [.4116.0020.0002.13250] # EGYPTIAN HIEROGLYPH O001
+13251 ; [.4117.0020.0002.13251] # EGYPTIAN HIEROGLYPH O001A
+13252 ; [.4118.0020.0002.13252] # EGYPTIAN HIEROGLYPH O002
+13253 ; [.4119.0020.0002.13253] # EGYPTIAN HIEROGLYPH O003
+13254 ; [.411A.0020.0002.13254] # EGYPTIAN HIEROGLYPH O004
+13255 ; [.411B.0020.0002.13255] # EGYPTIAN HIEROGLYPH O005
+13256 ; [.411C.0020.0002.13256] # EGYPTIAN HIEROGLYPH O005A
+13257 ; [.411D.0020.0002.13257] # EGYPTIAN HIEROGLYPH O006
+13258 ; [.411E.0020.0002.13258] # EGYPTIAN HIEROGLYPH O006A
+13259 ; [.411F.0020.0002.13259] # EGYPTIAN HIEROGLYPH O006B
+1325A ; [.4120.0020.0002.1325A] # EGYPTIAN HIEROGLYPH O006C
+1325B ; [.4121.0020.0002.1325B] # EGYPTIAN HIEROGLYPH O006D
+1325C ; [.4122.0020.0002.1325C] # EGYPTIAN HIEROGLYPH O006E
+1325D ; [.4123.0020.0002.1325D] # EGYPTIAN HIEROGLYPH O006F
+1325E ; [.4124.0020.0002.1325E] # EGYPTIAN HIEROGLYPH O007
+1325F ; [.4125.0020.0002.1325F] # EGYPTIAN HIEROGLYPH O008
+13260 ; [.4126.0020.0002.13260] # EGYPTIAN HIEROGLYPH O009
+13261 ; [.4127.0020.0002.13261] # EGYPTIAN HIEROGLYPH O010
+13262 ; [.4128.0020.0002.13262] # EGYPTIAN HIEROGLYPH O010A
+13263 ; [.4129.0020.0002.13263] # EGYPTIAN HIEROGLYPH O010B
+13264 ; [.412A.0020.0002.13264] # EGYPTIAN HIEROGLYPH O010C
+13265 ; [.412B.0020.0002.13265] # EGYPTIAN HIEROGLYPH O011
+13266 ; [.412C.0020.0002.13266] # EGYPTIAN HIEROGLYPH O012
+13267 ; [.412D.0020.0002.13267] # EGYPTIAN HIEROGLYPH O013
+13268 ; [.412E.0020.0002.13268] # EGYPTIAN HIEROGLYPH O014
+13269 ; [.412F.0020.0002.13269] # EGYPTIAN HIEROGLYPH O015
+1326A ; [.4130.0020.0002.1326A] # EGYPTIAN HIEROGLYPH O016
+1326B ; [.4131.0020.0002.1326B] # EGYPTIAN HIEROGLYPH O017
+1326C ; [.4132.0020.0002.1326C] # EGYPTIAN HIEROGLYPH O018
+1326D ; [.4133.0020.0002.1326D] # EGYPTIAN HIEROGLYPH O019
+1326E ; [.4134.0020.0002.1326E] # EGYPTIAN HIEROGLYPH O019A
+1326F ; [.4135.0020.0002.1326F] # EGYPTIAN HIEROGLYPH O020
+13270 ; [.4136.0020.0002.13270] # EGYPTIAN HIEROGLYPH O020A
+13271 ; [.4137.0020.0002.13271] # EGYPTIAN HIEROGLYPH O021
+13272 ; [.4138.0020.0002.13272] # EGYPTIAN HIEROGLYPH O022
+13273 ; [.4139.0020.0002.13273] # EGYPTIAN HIEROGLYPH O023
+13274 ; [.413A.0020.0002.13274] # EGYPTIAN HIEROGLYPH O024
+13275 ; [.413B.0020.0002.13275] # EGYPTIAN HIEROGLYPH O024A
+13276 ; [.413C.0020.0002.13276] # EGYPTIAN HIEROGLYPH O025
+13277 ; [.413D.0020.0002.13277] # EGYPTIAN HIEROGLYPH O025A
+13278 ; [.413E.0020.0002.13278] # EGYPTIAN HIEROGLYPH O026
+13279 ; [.413F.0020.0002.13279] # EGYPTIAN HIEROGLYPH O027
+1327A ; [.4140.0020.0002.1327A] # EGYPTIAN HIEROGLYPH O028
+1327B ; [.4141.0020.0002.1327B] # EGYPTIAN HIEROGLYPH O029
+1327C ; [.4142.0020.0002.1327C] # EGYPTIAN HIEROGLYPH O029A
+1327D ; [.4143.0020.0002.1327D] # EGYPTIAN HIEROGLYPH O030
+1327E ; [.4144.0020.0002.1327E] # EGYPTIAN HIEROGLYPH O030A
+1327F ; [.4145.0020.0002.1327F] # EGYPTIAN HIEROGLYPH O031
+13280 ; [.4146.0020.0002.13280] # EGYPTIAN HIEROGLYPH O032
+13281 ; [.4147.0020.0002.13281] # EGYPTIAN HIEROGLYPH O033
+13282 ; [.4148.0020.0002.13282] # EGYPTIAN HIEROGLYPH O033A
+13283 ; [.4149.0020.0002.13283] # EGYPTIAN HIEROGLYPH O034
+13284 ; [.414A.0020.0002.13284] # EGYPTIAN HIEROGLYPH O035
+13285 ; [.414B.0020.0002.13285] # EGYPTIAN HIEROGLYPH O036
+13286 ; [.414C.0020.0002.13286] # EGYPTIAN HIEROGLYPH O036A
+13287 ; [.414D.0020.0002.13287] # EGYPTIAN HIEROGLYPH O036B
+13288 ; [.414E.0020.0002.13288] # EGYPTIAN HIEROGLYPH O036C
+13289 ; [.414F.0020.0002.13289] # EGYPTIAN HIEROGLYPH O036D
+1328A ; [.4150.0020.0002.1328A] # EGYPTIAN HIEROGLYPH O037
+1328B ; [.4151.0020.0002.1328B] # EGYPTIAN HIEROGLYPH O038
+1328C ; [.4152.0020.0002.1328C] # EGYPTIAN HIEROGLYPH O039
+1328D ; [.4153.0020.0002.1328D] # EGYPTIAN HIEROGLYPH O040
+1328E ; [.4154.0020.0002.1328E] # EGYPTIAN HIEROGLYPH O041
+1328F ; [.4155.0020.0002.1328F] # EGYPTIAN HIEROGLYPH O042
+13290 ; [.4156.0020.0002.13290] # EGYPTIAN HIEROGLYPH O043
+13291 ; [.4157.0020.0002.13291] # EGYPTIAN HIEROGLYPH O044
+13292 ; [.4158.0020.0002.13292] # EGYPTIAN HIEROGLYPH O045
+13293 ; [.4159.0020.0002.13293] # EGYPTIAN HIEROGLYPH O046
+13294 ; [.415A.0020.0002.13294] # EGYPTIAN HIEROGLYPH O047
+13295 ; [.415B.0020.0002.13295] # EGYPTIAN HIEROGLYPH O048
+13296 ; [.415C.0020.0002.13296] # EGYPTIAN HIEROGLYPH O049
+13297 ; [.415D.0020.0002.13297] # EGYPTIAN HIEROGLYPH O050
+13298 ; [.415E.0020.0002.13298] # EGYPTIAN HIEROGLYPH O050A
+13299 ; [.415F.0020.0002.13299] # EGYPTIAN HIEROGLYPH O050B
+1329A ; [.4160.0020.0002.1329A] # EGYPTIAN HIEROGLYPH O051
+1329B ; [.4161.0020.0002.1329B] # EGYPTIAN HIEROGLYPH P001
+1329C ; [.4162.0020.0002.1329C] # EGYPTIAN HIEROGLYPH P001A
+1329D ; [.4163.0020.0002.1329D] # EGYPTIAN HIEROGLYPH P002
+1329E ; [.4164.0020.0002.1329E] # EGYPTIAN HIEROGLYPH P003
+1329F ; [.4165.0020.0002.1329F] # EGYPTIAN HIEROGLYPH P003A
+132A0 ; [.4166.0020.0002.132A0] # EGYPTIAN HIEROGLYPH P004
+132A1 ; [.4167.0020.0002.132A1] # EGYPTIAN HIEROGLYPH P005
+132A2 ; [.4168.0020.0002.132A2] # EGYPTIAN HIEROGLYPH P006
+132A3 ; [.4169.0020.0002.132A3] # EGYPTIAN HIEROGLYPH P007
+132A4 ; [.416A.0020.0002.132A4] # EGYPTIAN HIEROGLYPH P008
+132A5 ; [.416B.0020.0002.132A5] # EGYPTIAN HIEROGLYPH P009
+132A6 ; [.416C.0020.0002.132A6] # EGYPTIAN HIEROGLYPH P010
+132A7 ; [.416D.0020.0002.132A7] # EGYPTIAN HIEROGLYPH P011
+132A8 ; [.416E.0020.0002.132A8] # EGYPTIAN HIEROGLYPH Q001
+132A9 ; [.416F.0020.0002.132A9] # EGYPTIAN HIEROGLYPH Q002
+132AA ; [.4170.0020.0002.132AA] # EGYPTIAN HIEROGLYPH Q003
+132AB ; [.4171.0020.0002.132AB] # EGYPTIAN HIEROGLYPH Q004
+132AC ; [.4172.0020.0002.132AC] # EGYPTIAN HIEROGLYPH Q005
+132AD ; [.4173.0020.0002.132AD] # EGYPTIAN HIEROGLYPH Q006
+132AE ; [.4174.0020.0002.132AE] # EGYPTIAN HIEROGLYPH Q007
+132AF ; [.4175.0020.0002.132AF] # EGYPTIAN HIEROGLYPH R001
+132B0 ; [.4176.0020.0002.132B0] # EGYPTIAN HIEROGLYPH R002
+132B1 ; [.4177.0020.0002.132B1] # EGYPTIAN HIEROGLYPH R002A
+132B2 ; [.4178.0020.0002.132B2] # EGYPTIAN HIEROGLYPH R003
+132B3 ; [.4179.0020.0002.132B3] # EGYPTIAN HIEROGLYPH R003A
+132B4 ; [.417A.0020.0002.132B4] # EGYPTIAN HIEROGLYPH R003B
+132B5 ; [.417B.0020.0002.132B5] # EGYPTIAN HIEROGLYPH R004
+132B6 ; [.417C.0020.0002.132B6] # EGYPTIAN HIEROGLYPH R005
+132B7 ; [.417D.0020.0002.132B7] # EGYPTIAN HIEROGLYPH R006
+132B8 ; [.417E.0020.0002.132B8] # EGYPTIAN HIEROGLYPH R007
+132B9 ; [.417F.0020.0002.132B9] # EGYPTIAN HIEROGLYPH R008
+132BA ; [.4180.0020.0002.132BA] # EGYPTIAN HIEROGLYPH R009
+132BB ; [.4181.0020.0002.132BB] # EGYPTIAN HIEROGLYPH R010
+132BC ; [.4182.0020.0002.132BC] # EGYPTIAN HIEROGLYPH R010A
+132BD ; [.4183.0020.0002.132BD] # EGYPTIAN HIEROGLYPH R011
+132BE ; [.4184.0020.0002.132BE] # EGYPTIAN HIEROGLYPH R012
+132BF ; [.4185.0020.0002.132BF] # EGYPTIAN HIEROGLYPH R013
+132C0 ; [.4186.0020.0002.132C0] # EGYPTIAN HIEROGLYPH R014
+132C1 ; [.4187.0020.0002.132C1] # EGYPTIAN HIEROGLYPH R015
+132C2 ; [.4188.0020.0002.132C2] # EGYPTIAN HIEROGLYPH R016
+132C3 ; [.4189.0020.0002.132C3] # EGYPTIAN HIEROGLYPH R016A
+132C4 ; [.418A.0020.0002.132C4] # EGYPTIAN HIEROGLYPH R017
+132C5 ; [.418B.0020.0002.132C5] # EGYPTIAN HIEROGLYPH R018
+132C6 ; [.418C.0020.0002.132C6] # EGYPTIAN HIEROGLYPH R019
+132C7 ; [.418D.0020.0002.132C7] # EGYPTIAN HIEROGLYPH R020
+132C8 ; [.418E.0020.0002.132C8] # EGYPTIAN HIEROGLYPH R021
+132C9 ; [.418F.0020.0002.132C9] # EGYPTIAN HIEROGLYPH R022
+132CA ; [.4190.0020.0002.132CA] # EGYPTIAN HIEROGLYPH R023
+132CB ; [.4191.0020.0002.132CB] # EGYPTIAN HIEROGLYPH R024
+132CC ; [.4192.0020.0002.132CC] # EGYPTIAN HIEROGLYPH R025
+132CD ; [.4193.0020.0002.132CD] # EGYPTIAN HIEROGLYPH R026
+132CE ; [.4194.0020.0002.132CE] # EGYPTIAN HIEROGLYPH R027
+132CF ; [.4195.0020.0002.132CF] # EGYPTIAN HIEROGLYPH R028
+132D0 ; [.4196.0020.0002.132D0] # EGYPTIAN HIEROGLYPH R029
+132D1 ; [.4197.0020.0002.132D1] # EGYPTIAN HIEROGLYPH S001
+132D2 ; [.4198.0020.0002.132D2] # EGYPTIAN HIEROGLYPH S002
+132D3 ; [.4199.0020.0002.132D3] # EGYPTIAN HIEROGLYPH S002A
+132D4 ; [.419A.0020.0002.132D4] # EGYPTIAN HIEROGLYPH S003
+132D5 ; [.419B.0020.0002.132D5] # EGYPTIAN HIEROGLYPH S004
+132D6 ; [.419C.0020.0002.132D6] # EGYPTIAN HIEROGLYPH S005
+132D7 ; [.419D.0020.0002.132D7] # EGYPTIAN HIEROGLYPH S006
+132D8 ; [.419E.0020.0002.132D8] # EGYPTIAN HIEROGLYPH S006A
+132D9 ; [.419F.0020.0002.132D9] # EGYPTIAN HIEROGLYPH S007
+132DA ; [.41A0.0020.0002.132DA] # EGYPTIAN HIEROGLYPH S008
+132DB ; [.41A1.0020.0002.132DB] # EGYPTIAN HIEROGLYPH S009
+132DC ; [.41A2.0020.0002.132DC] # EGYPTIAN HIEROGLYPH S010
+132DD ; [.41A3.0020.0002.132DD] # EGYPTIAN HIEROGLYPH S011
+132DE ; [.41A4.0020.0002.132DE] # EGYPTIAN HIEROGLYPH S012
+132DF ; [.41A5.0020.0002.132DF] # EGYPTIAN HIEROGLYPH S013
+132E0 ; [.41A6.0020.0002.132E0] # EGYPTIAN HIEROGLYPH S014
+132E1 ; [.41A7.0020.0002.132E1] # EGYPTIAN HIEROGLYPH S014A
+132E2 ; [.41A8.0020.0002.132E2] # EGYPTIAN HIEROGLYPH S014B
+132E3 ; [.41A9.0020.0002.132E3] # EGYPTIAN HIEROGLYPH S015
+132E4 ; [.41AA.0020.0002.132E4] # EGYPTIAN HIEROGLYPH S016
+132E5 ; [.41AB.0020.0002.132E5] # EGYPTIAN HIEROGLYPH S017
+132E6 ; [.41AC.0020.0002.132E6] # EGYPTIAN HIEROGLYPH S017A
+132E7 ; [.41AD.0020.0002.132E7] # EGYPTIAN HIEROGLYPH S018
+132E8 ; [.41AE.0020.0002.132E8] # EGYPTIAN HIEROGLYPH S019
+132E9 ; [.41AF.0020.0002.132E9] # EGYPTIAN HIEROGLYPH S020
+132EA ; [.41B0.0020.0002.132EA] # EGYPTIAN HIEROGLYPH S021
+132EB ; [.41B1.0020.0002.132EB] # EGYPTIAN HIEROGLYPH S022
+132EC ; [.41B2.0020.0002.132EC] # EGYPTIAN HIEROGLYPH S023
+132ED ; [.41B3.0020.0002.132ED] # EGYPTIAN HIEROGLYPH S024
+132EE ; [.41B4.0020.0002.132EE] # EGYPTIAN HIEROGLYPH S025
+132EF ; [.41B5.0020.0002.132EF] # EGYPTIAN HIEROGLYPH S026
+132F0 ; [.41B6.0020.0002.132F0] # EGYPTIAN HIEROGLYPH S026A
+132F1 ; [.41B7.0020.0002.132F1] # EGYPTIAN HIEROGLYPH S026B
+132F2 ; [.41B8.0020.0002.132F2] # EGYPTIAN HIEROGLYPH S027
+132F3 ; [.41B9.0020.0002.132F3] # EGYPTIAN HIEROGLYPH S028
+132F4 ; [.41BA.0020.0002.132F4] # EGYPTIAN HIEROGLYPH S029
+132F5 ; [.41BB.0020.0002.132F5] # EGYPTIAN HIEROGLYPH S030
+132F6 ; [.41BC.0020.0002.132F6] # EGYPTIAN HIEROGLYPH S031
+132F7 ; [.41BD.0020.0002.132F7] # EGYPTIAN HIEROGLYPH S032
+132F8 ; [.41BE.0020.0002.132F8] # EGYPTIAN HIEROGLYPH S033
+132F9 ; [.41BF.0020.0002.132F9] # EGYPTIAN HIEROGLYPH S034
+132FA ; [.41C0.0020.0002.132FA] # EGYPTIAN HIEROGLYPH S035
+132FB ; [.41C1.0020.0002.132FB] # EGYPTIAN HIEROGLYPH S035A
+132FC ; [.41C2.0020.0002.132FC] # EGYPTIAN HIEROGLYPH S036
+132FD ; [.41C3.0020.0002.132FD] # EGYPTIAN HIEROGLYPH S037
+132FE ; [.41C4.0020.0002.132FE] # EGYPTIAN HIEROGLYPH S038
+132FF ; [.41C5.0020.0002.132FF] # EGYPTIAN HIEROGLYPH S039
+13300 ; [.41C6.0020.0002.13300] # EGYPTIAN HIEROGLYPH S040
+13301 ; [.41C7.0020.0002.13301] # EGYPTIAN HIEROGLYPH S041
+13302 ; [.41C8.0020.0002.13302] # EGYPTIAN HIEROGLYPH S042
+13303 ; [.41C9.0020.0002.13303] # EGYPTIAN HIEROGLYPH S043
+13304 ; [.41CA.0020.0002.13304] # EGYPTIAN HIEROGLYPH S044
+13305 ; [.41CB.0020.0002.13305] # EGYPTIAN HIEROGLYPH S045
+13306 ; [.41CC.0020.0002.13306] # EGYPTIAN HIEROGLYPH S046
+13307 ; [.41CD.0020.0002.13307] # EGYPTIAN HIEROGLYPH T001
+13308 ; [.41CE.0020.0002.13308] # EGYPTIAN HIEROGLYPH T002
+13309 ; [.41CF.0020.0002.13309] # EGYPTIAN HIEROGLYPH T003
+1330A ; [.41D0.0020.0002.1330A] # EGYPTIAN HIEROGLYPH T003A
+1330B ; [.41D1.0020.0002.1330B] # EGYPTIAN HIEROGLYPH T004
+1330C ; [.41D2.0020.0002.1330C] # EGYPTIAN HIEROGLYPH T005
+1330D ; [.41D3.0020.0002.1330D] # EGYPTIAN HIEROGLYPH T006
+1330E ; [.41D4.0020.0002.1330E] # EGYPTIAN HIEROGLYPH T007
+1330F ; [.41D5.0020.0002.1330F] # EGYPTIAN HIEROGLYPH T007A
+13310 ; [.41D6.0020.0002.13310] # EGYPTIAN HIEROGLYPH T008
+13311 ; [.41D7.0020.0002.13311] # EGYPTIAN HIEROGLYPH T008A
+13312 ; [.41D8.0020.0002.13312] # EGYPTIAN HIEROGLYPH T009
+13313 ; [.41D9.0020.0002.13313] # EGYPTIAN HIEROGLYPH T009A
+13314 ; [.41DA.0020.0002.13314] # EGYPTIAN HIEROGLYPH T010
+13315 ; [.41DB.0020.0002.13315] # EGYPTIAN HIEROGLYPH T011
+13316 ; [.41DC.0020.0002.13316] # EGYPTIAN HIEROGLYPH T011A
+13317 ; [.41DD.0020.0002.13317] # EGYPTIAN HIEROGLYPH T012
+13318 ; [.41DE.0020.0002.13318] # EGYPTIAN HIEROGLYPH T013
+13319 ; [.41DF.0020.0002.13319] # EGYPTIAN HIEROGLYPH T014
+1331A ; [.41E0.0020.0002.1331A] # EGYPTIAN HIEROGLYPH T015
+1331B ; [.41E1.0020.0002.1331B] # EGYPTIAN HIEROGLYPH T016
+1331C ; [.41E2.0020.0002.1331C] # EGYPTIAN HIEROGLYPH T016A
+1331D ; [.41E3.0020.0002.1331D] # EGYPTIAN HIEROGLYPH T017
+1331E ; [.41E4.0020.0002.1331E] # EGYPTIAN HIEROGLYPH T018
+1331F ; [.41E5.0020.0002.1331F] # EGYPTIAN HIEROGLYPH T019
+13320 ; [.41E6.0020.0002.13320] # EGYPTIAN HIEROGLYPH T020
+13321 ; [.41E7.0020.0002.13321] # EGYPTIAN HIEROGLYPH T021
+13322 ; [.41E8.0020.0002.13322] # EGYPTIAN HIEROGLYPH T022
+13323 ; [.41E9.0020.0002.13323] # EGYPTIAN HIEROGLYPH T023
+13324 ; [.41EA.0020.0002.13324] # EGYPTIAN HIEROGLYPH T024
+13325 ; [.41EB.0020.0002.13325] # EGYPTIAN HIEROGLYPH T025
+13326 ; [.41EC.0020.0002.13326] # EGYPTIAN HIEROGLYPH T026
+13327 ; [.41ED.0020.0002.13327] # EGYPTIAN HIEROGLYPH T027
+13328 ; [.41EE.0020.0002.13328] # EGYPTIAN HIEROGLYPH T028
+13329 ; [.41EF.0020.0002.13329] # EGYPTIAN HIEROGLYPH T029
+1332A ; [.41F0.0020.0002.1332A] # EGYPTIAN HIEROGLYPH T030
+1332B ; [.41F1.0020.0002.1332B] # EGYPTIAN HIEROGLYPH T031
+1332C ; [.41F2.0020.0002.1332C] # EGYPTIAN HIEROGLYPH T032
+1332D ; [.41F3.0020.0002.1332D] # EGYPTIAN HIEROGLYPH T032A
+1332E ; [.41F4.0020.0002.1332E] # EGYPTIAN HIEROGLYPH T033
+1332F ; [.41F5.0020.0002.1332F] # EGYPTIAN HIEROGLYPH T033A
+13330 ; [.41F6.0020.0002.13330] # EGYPTIAN HIEROGLYPH T034
+13331 ; [.41F7.0020.0002.13331] # EGYPTIAN HIEROGLYPH T035
+13332 ; [.41F8.0020.0002.13332] # EGYPTIAN HIEROGLYPH T036
+13333 ; [.41F9.0020.0002.13333] # EGYPTIAN HIEROGLYPH U001
+13334 ; [.41FA.0020.0002.13334] # EGYPTIAN HIEROGLYPH U002
+13335 ; [.41FB.0020.0002.13335] # EGYPTIAN HIEROGLYPH U003
+13336 ; [.41FC.0020.0002.13336] # EGYPTIAN HIEROGLYPH U004
+13337 ; [.41FD.0020.0002.13337] # EGYPTIAN HIEROGLYPH U005
+13338 ; [.41FE.0020.0002.13338] # EGYPTIAN HIEROGLYPH U006
+13339 ; [.41FF.0020.0002.13339] # EGYPTIAN HIEROGLYPH U006A
+1333A ; [.4200.0020.0002.1333A] # EGYPTIAN HIEROGLYPH U006B
+1333B ; [.4201.0020.0002.1333B] # EGYPTIAN HIEROGLYPH U007
+1333C ; [.4202.0020.0002.1333C] # EGYPTIAN HIEROGLYPH U008
+1333D ; [.4203.0020.0002.1333D] # EGYPTIAN HIEROGLYPH U009
+1333E ; [.4204.0020.0002.1333E] # EGYPTIAN HIEROGLYPH U010
+1333F ; [.4205.0020.0002.1333F] # EGYPTIAN HIEROGLYPH U011
+13340 ; [.4206.0020.0002.13340] # EGYPTIAN HIEROGLYPH U012
+13341 ; [.4207.0020.0002.13341] # EGYPTIAN HIEROGLYPH U013
+13342 ; [.4208.0020.0002.13342] # EGYPTIAN HIEROGLYPH U014
+13343 ; [.4209.0020.0002.13343] # EGYPTIAN HIEROGLYPH U015
+13344 ; [.420A.0020.0002.13344] # EGYPTIAN HIEROGLYPH U016
+13345 ; [.420B.0020.0002.13345] # EGYPTIAN HIEROGLYPH U017
+13346 ; [.420C.0020.0002.13346] # EGYPTIAN HIEROGLYPH U018
+13347 ; [.420D.0020.0002.13347] # EGYPTIAN HIEROGLYPH U019
+13348 ; [.420E.0020.0002.13348] # EGYPTIAN HIEROGLYPH U020
+13349 ; [.420F.0020.0002.13349] # EGYPTIAN HIEROGLYPH U021
+1334A ; [.4210.0020.0002.1334A] # EGYPTIAN HIEROGLYPH U022
+1334B ; [.4211.0020.0002.1334B] # EGYPTIAN HIEROGLYPH U023
+1334C ; [.4212.0020.0002.1334C] # EGYPTIAN HIEROGLYPH U023A
+1334D ; [.4213.0020.0002.1334D] # EGYPTIAN HIEROGLYPH U024
+1334E ; [.4214.0020.0002.1334E] # EGYPTIAN HIEROGLYPH U025
+1334F ; [.4215.0020.0002.1334F] # EGYPTIAN HIEROGLYPH U026
+13350 ; [.4216.0020.0002.13350] # EGYPTIAN HIEROGLYPH U027
+13351 ; [.4217.0020.0002.13351] # EGYPTIAN HIEROGLYPH U028
+13352 ; [.4218.0020.0002.13352] # EGYPTIAN HIEROGLYPH U029
+13353 ; [.4219.0020.0002.13353] # EGYPTIAN HIEROGLYPH U029A
+13354 ; [.421A.0020.0002.13354] # EGYPTIAN HIEROGLYPH U030
+13355 ; [.421B.0020.0002.13355] # EGYPTIAN HIEROGLYPH U031
+13356 ; [.421C.0020.0002.13356] # EGYPTIAN HIEROGLYPH U032
+13357 ; [.421D.0020.0002.13357] # EGYPTIAN HIEROGLYPH U032A
+13358 ; [.421E.0020.0002.13358] # EGYPTIAN HIEROGLYPH U033
+13359 ; [.421F.0020.0002.13359] # EGYPTIAN HIEROGLYPH U034
+1335A ; [.4220.0020.0002.1335A] # EGYPTIAN HIEROGLYPH U035
+1335B ; [.4221.0020.0002.1335B] # EGYPTIAN HIEROGLYPH U036
+1335C ; [.4222.0020.0002.1335C] # EGYPTIAN HIEROGLYPH U037
+1335D ; [.4223.0020.0002.1335D] # EGYPTIAN HIEROGLYPH U038
+1335E ; [.4224.0020.0002.1335E] # EGYPTIAN HIEROGLYPH U039
+1335F ; [.4225.0020.0002.1335F] # EGYPTIAN HIEROGLYPH U040
+13360 ; [.4226.0020.0002.13360] # EGYPTIAN HIEROGLYPH U041
+13361 ; [.4227.0020.0002.13361] # EGYPTIAN HIEROGLYPH U042
+13362 ; [.4228.0020.0002.13362] # EGYPTIAN HIEROGLYPH V001
+13363 ; [.4229.0020.0002.13363] # EGYPTIAN HIEROGLYPH V001A
+13364 ; [.422A.0020.0002.13364] # EGYPTIAN HIEROGLYPH V001B
+13365 ; [.422B.0020.0002.13365] # EGYPTIAN HIEROGLYPH V001C
+13366 ; [.422C.0020.0002.13366] # EGYPTIAN HIEROGLYPH V001D
+13367 ; [.422D.0020.0002.13367] # EGYPTIAN HIEROGLYPH V001E
+13368 ; [.422E.0020.0002.13368] # EGYPTIAN HIEROGLYPH V001F
+13369 ; [.422F.0020.0002.13369] # EGYPTIAN HIEROGLYPH V001G
+1336A ; [.4230.0020.0002.1336A] # EGYPTIAN HIEROGLYPH V001H
+1336B ; [.4231.0020.0002.1336B] # EGYPTIAN HIEROGLYPH V001I
+1336C ; [.4232.0020.0002.1336C] # EGYPTIAN HIEROGLYPH V002
+1336D ; [.4233.0020.0002.1336D] # EGYPTIAN HIEROGLYPH V002A
+1336E ; [.4234.0020.0002.1336E] # EGYPTIAN HIEROGLYPH V003
+1336F ; [.4235.0020.0002.1336F] # EGYPTIAN HIEROGLYPH V004
+13370 ; [.4236.0020.0002.13370] # EGYPTIAN HIEROGLYPH V005
+13371 ; [.4237.0020.0002.13371] # EGYPTIAN HIEROGLYPH V006
+13372 ; [.4238.0020.0002.13372] # EGYPTIAN HIEROGLYPH V007
+13373 ; [.4239.0020.0002.13373] # EGYPTIAN HIEROGLYPH V007A
+13374 ; [.423A.0020.0002.13374] # EGYPTIAN HIEROGLYPH V007B
+13375 ; [.423B.0020.0002.13375] # EGYPTIAN HIEROGLYPH V008
+13376 ; [.423C.0020.0002.13376] # EGYPTIAN HIEROGLYPH V009
+13377 ; [.423D.0020.0002.13377] # EGYPTIAN HIEROGLYPH V010
+13378 ; [.423E.0020.0002.13378] # EGYPTIAN HIEROGLYPH V011
+13379 ; [.423F.0020.0002.13379] # EGYPTIAN HIEROGLYPH V011A
+1337A ; [.4240.0020.0002.1337A] # EGYPTIAN HIEROGLYPH V011B
+1337B ; [.4241.0020.0002.1337B] # EGYPTIAN HIEROGLYPH V011C
+1337C ; [.4242.0020.0002.1337C] # EGYPTIAN HIEROGLYPH V012
+1337D ; [.4243.0020.0002.1337D] # EGYPTIAN HIEROGLYPH V012A
+1337E ; [.4244.0020.0002.1337E] # EGYPTIAN HIEROGLYPH V012B
+1337F ; [.4245.0020.0002.1337F] # EGYPTIAN HIEROGLYPH V013
+13380 ; [.4246.0020.0002.13380] # EGYPTIAN HIEROGLYPH V014
+13381 ; [.4247.0020.0002.13381] # EGYPTIAN HIEROGLYPH V015
+13382 ; [.4248.0020.0002.13382] # EGYPTIAN HIEROGLYPH V016
+13383 ; [.4249.0020.0002.13383] # EGYPTIAN HIEROGLYPH V017
+13384 ; [.424A.0020.0002.13384] # EGYPTIAN HIEROGLYPH V018
+13385 ; [.424B.0020.0002.13385] # EGYPTIAN HIEROGLYPH V019
+13386 ; [.424C.0020.0002.13386] # EGYPTIAN HIEROGLYPH V020
+13387 ; [.424D.0020.0002.13387] # EGYPTIAN HIEROGLYPH V020A
+13388 ; [.424E.0020.0002.13388] # EGYPTIAN HIEROGLYPH V020B
+13389 ; [.424F.0020.0002.13389] # EGYPTIAN HIEROGLYPH V020C
+1338A ; [.4250.0020.0002.1338A] # EGYPTIAN HIEROGLYPH V020D
+1338B ; [.4251.0020.0002.1338B] # EGYPTIAN HIEROGLYPH V020E
+1338C ; [.4252.0020.0002.1338C] # EGYPTIAN HIEROGLYPH V020F
+1338D ; [.4253.0020.0002.1338D] # EGYPTIAN HIEROGLYPH V020G
+1338E ; [.4254.0020.0002.1338E] # EGYPTIAN HIEROGLYPH V020H
+1338F ; [.4255.0020.0002.1338F] # EGYPTIAN HIEROGLYPH V020I
+13390 ; [.4256.0020.0002.13390] # EGYPTIAN HIEROGLYPH V020J
+13391 ; [.4257.0020.0002.13391] # EGYPTIAN HIEROGLYPH V020K
+13392 ; [.4258.0020.0002.13392] # EGYPTIAN HIEROGLYPH V020L
+13393 ; [.4259.0020.0002.13393] # EGYPTIAN HIEROGLYPH V021
+13394 ; [.425A.0020.0002.13394] # EGYPTIAN HIEROGLYPH V022
+13395 ; [.425B.0020.0002.13395] # EGYPTIAN HIEROGLYPH V023
+13396 ; [.425C.0020.0002.13396] # EGYPTIAN HIEROGLYPH V023A
+13397 ; [.425D.0020.0002.13397] # EGYPTIAN HIEROGLYPH V024
+13398 ; [.425E.0020.0002.13398] # EGYPTIAN HIEROGLYPH V025
+13399 ; [.425F.0020.0002.13399] # EGYPTIAN HIEROGLYPH V026
+1339A ; [.4260.0020.0002.1339A] # EGYPTIAN HIEROGLYPH V027
+1339B ; [.4261.0020.0002.1339B] # EGYPTIAN HIEROGLYPH V028
+1339C ; [.4262.0020.0002.1339C] # EGYPTIAN HIEROGLYPH V028A
+1339D ; [.4263.0020.0002.1339D] # EGYPTIAN HIEROGLYPH V029
+1339E ; [.4264.0020.0002.1339E] # EGYPTIAN HIEROGLYPH V029A
+1339F ; [.4265.0020.0002.1339F] # EGYPTIAN HIEROGLYPH V030
+133A0 ; [.4266.0020.0002.133A0] # EGYPTIAN HIEROGLYPH V030A
+133A1 ; [.4267.0020.0002.133A1] # EGYPTIAN HIEROGLYPH V031
+133A2 ; [.4268.0020.0002.133A2] # EGYPTIAN HIEROGLYPH V031A
+133A3 ; [.4269.0020.0002.133A3] # EGYPTIAN HIEROGLYPH V032
+133A4 ; [.426A.0020.0002.133A4] # EGYPTIAN HIEROGLYPH V033
+133A5 ; [.426B.0020.0002.133A5] # EGYPTIAN HIEROGLYPH V033A
+133A6 ; [.426C.0020.0002.133A6] # EGYPTIAN HIEROGLYPH V034
+133A7 ; [.426D.0020.0002.133A7] # EGYPTIAN HIEROGLYPH V035
+133A8 ; [.426E.0020.0002.133A8] # EGYPTIAN HIEROGLYPH V036
+133A9 ; [.426F.0020.0002.133A9] # EGYPTIAN HIEROGLYPH V037
+133AA ; [.4270.0020.0002.133AA] # EGYPTIAN HIEROGLYPH V037A
+133AB ; [.4271.0020.0002.133AB] # EGYPTIAN HIEROGLYPH V038
+133AC ; [.4272.0020.0002.133AC] # EGYPTIAN HIEROGLYPH V039
+133AD ; [.4273.0020.0002.133AD] # EGYPTIAN HIEROGLYPH V040
+133AE ; [.4274.0020.0002.133AE] # EGYPTIAN HIEROGLYPH V040A
+133AF ; [.4275.0020.0002.133AF] # EGYPTIAN HIEROGLYPH W001
+133B0 ; [.4276.0020.0002.133B0] # EGYPTIAN HIEROGLYPH W002
+133B1 ; [.4277.0020.0002.133B1] # EGYPTIAN HIEROGLYPH W003
+133B2 ; [.4278.0020.0002.133B2] # EGYPTIAN HIEROGLYPH W003A
+133B3 ; [.4279.0020.0002.133B3] # EGYPTIAN HIEROGLYPH W004
+133B4 ; [.427A.0020.0002.133B4] # EGYPTIAN HIEROGLYPH W005
+133B5 ; [.427B.0020.0002.133B5] # EGYPTIAN HIEROGLYPH W006
+133B6 ; [.427C.0020.0002.133B6] # EGYPTIAN HIEROGLYPH W007
+133B7 ; [.427D.0020.0002.133B7] # EGYPTIAN HIEROGLYPH W008
+133B8 ; [.427E.0020.0002.133B8] # EGYPTIAN HIEROGLYPH W009
+133B9 ; [.427F.0020.0002.133B9] # EGYPTIAN HIEROGLYPH W009A
+133BA ; [.4280.0020.0002.133BA] # EGYPTIAN HIEROGLYPH W010
+133BB ; [.4281.0020.0002.133BB] # EGYPTIAN HIEROGLYPH W010A
+133BC ; [.4282.0020.0002.133BC] # EGYPTIAN HIEROGLYPH W011
+133BD ; [.4283.0020.0002.133BD] # EGYPTIAN HIEROGLYPH W012
+133BE ; [.4284.0020.0002.133BE] # EGYPTIAN HIEROGLYPH W013
+133BF ; [.4285.0020.0002.133BF] # EGYPTIAN HIEROGLYPH W014
+133C0 ; [.4286.0020.0002.133C0] # EGYPTIAN HIEROGLYPH W014A
+133C1 ; [.4287.0020.0002.133C1] # EGYPTIAN HIEROGLYPH W015
+133C2 ; [.4288.0020.0002.133C2] # EGYPTIAN HIEROGLYPH W016
+133C3 ; [.4289.0020.0002.133C3] # EGYPTIAN HIEROGLYPH W017
+133C4 ; [.428A.0020.0002.133C4] # EGYPTIAN HIEROGLYPH W017A
+133C5 ; [.428B.0020.0002.133C5] # EGYPTIAN HIEROGLYPH W018
+133C6 ; [.428C.0020.0002.133C6] # EGYPTIAN HIEROGLYPH W018A
+133C7 ; [.428D.0020.0002.133C7] # EGYPTIAN HIEROGLYPH W019
+133C8 ; [.428E.0020.0002.133C8] # EGYPTIAN HIEROGLYPH W020
+133C9 ; [.428F.0020.0002.133C9] # EGYPTIAN HIEROGLYPH W021
+133CA ; [.4290.0020.0002.133CA] # EGYPTIAN HIEROGLYPH W022
+133CB ; [.4291.0020.0002.133CB] # EGYPTIAN HIEROGLYPH W023
+133CC ; [.4292.0020.0002.133CC] # EGYPTIAN HIEROGLYPH W024
+133CD ; [.4293.0020.0002.133CD] # EGYPTIAN HIEROGLYPH W024A
+133CE ; [.4294.0020.0002.133CE] # EGYPTIAN HIEROGLYPH W025
+133CF ; [.4295.0020.0002.133CF] # EGYPTIAN HIEROGLYPH X001
+133D0 ; [.4296.0020.0002.133D0] # EGYPTIAN HIEROGLYPH X002
+133D1 ; [.4297.0020.0002.133D1] # EGYPTIAN HIEROGLYPH X003
+133D2 ; [.4298.0020.0002.133D2] # EGYPTIAN HIEROGLYPH X004
+133D3 ; [.4299.0020.0002.133D3] # EGYPTIAN HIEROGLYPH X004A
+133D4 ; [.429A.0020.0002.133D4] # EGYPTIAN HIEROGLYPH X004B
+133D5 ; [.429B.0020.0002.133D5] # EGYPTIAN HIEROGLYPH X005
+133D6 ; [.429C.0020.0002.133D6] # EGYPTIAN HIEROGLYPH X006
+133D7 ; [.429D.0020.0002.133D7] # EGYPTIAN HIEROGLYPH X006A
+133D8 ; [.429E.0020.0002.133D8] # EGYPTIAN HIEROGLYPH X007
+133D9 ; [.429F.0020.0002.133D9] # EGYPTIAN HIEROGLYPH X008
+133DA ; [.42A0.0020.0002.133DA] # EGYPTIAN HIEROGLYPH X008A
+133DB ; [.42A1.0020.0002.133DB] # EGYPTIAN HIEROGLYPH Y001
+133DC ; [.42A2.0020.0002.133DC] # EGYPTIAN HIEROGLYPH Y001A
+133DD ; [.42A3.0020.0002.133DD] # EGYPTIAN HIEROGLYPH Y002
+133DE ; [.42A4.0020.0002.133DE] # EGYPTIAN HIEROGLYPH Y003
+133DF ; [.42A5.0020.0002.133DF] # EGYPTIAN HIEROGLYPH Y004
+133E0 ; [.42A6.0020.0002.133E0] # EGYPTIAN HIEROGLYPH Y005
+133E1 ; [.42A7.0020.0002.133E1] # EGYPTIAN HIEROGLYPH Y006
+133E2 ; [.42A8.0020.0002.133E2] # EGYPTIAN HIEROGLYPH Y007
+133E3 ; [.42A9.0020.0002.133E3] # EGYPTIAN HIEROGLYPH Y008
+133E4 ; [.42AA.0020.0002.133E4] # EGYPTIAN HIEROGLYPH Z001
+133E5 ; [.42AB.0020.0002.133E5] # EGYPTIAN HIEROGLYPH Z002
+133E6 ; [.42AC.0020.0002.133E6] # EGYPTIAN HIEROGLYPH Z002A
+133E7 ; [.42AD.0020.0002.133E7] # EGYPTIAN HIEROGLYPH Z002B
+133E8 ; [.42AE.0020.0002.133E8] # EGYPTIAN HIEROGLYPH Z002C
+133E9 ; [.42AF.0020.0002.133E9] # EGYPTIAN HIEROGLYPH Z002D
+133EA ; [.42B0.0020.0002.133EA] # EGYPTIAN HIEROGLYPH Z003
+133EB ; [.42B1.0020.0002.133EB] # EGYPTIAN HIEROGLYPH Z003A
+133EC ; [.42B2.0020.0002.133EC] # EGYPTIAN HIEROGLYPH Z003B
+133ED ; [.42B3.0020.0002.133ED] # EGYPTIAN HIEROGLYPH Z004
+133EE ; [.42B4.0020.0002.133EE] # EGYPTIAN HIEROGLYPH Z004A
+133EF ; [.42B5.0020.0002.133EF] # EGYPTIAN HIEROGLYPH Z005
+133F0 ; [.42B6.0020.0002.133F0] # EGYPTIAN HIEROGLYPH Z005A
+133F1 ; [.42B7.0020.0002.133F1] # EGYPTIAN HIEROGLYPH Z006
+133F2 ; [.42B8.0020.0002.133F2] # EGYPTIAN HIEROGLYPH Z007
+133F3 ; [.42B9.0020.0002.133F3] # EGYPTIAN HIEROGLYPH Z008
+133F4 ; [.42BA.0020.0002.133F4] # EGYPTIAN HIEROGLYPH Z009
+133F5 ; [.42BB.0020.0002.133F5] # EGYPTIAN HIEROGLYPH Z010
+133F6 ; [.42BC.0020.0002.133F6] # EGYPTIAN HIEROGLYPH Z011
+133F7 ; [.42BD.0020.0002.133F7] # EGYPTIAN HIEROGLYPH Z012
+133F8 ; [.42BE.0020.0002.133F8] # EGYPTIAN HIEROGLYPH Z013
+133F9 ; [.42BF.0020.0002.133F9] # EGYPTIAN HIEROGLYPH Z014
+133FA ; [.42C0.0020.0002.133FA] # EGYPTIAN HIEROGLYPH Z015
+133FB ; [.42C1.0020.0002.133FB] # EGYPTIAN HIEROGLYPH Z015A
+133FC ; [.42C2.0020.0002.133FC] # EGYPTIAN HIEROGLYPH Z015B
+133FD ; [.42C3.0020.0002.133FD] # EGYPTIAN HIEROGLYPH Z015C
+133FE ; [.42C4.0020.0002.133FE] # EGYPTIAN HIEROGLYPH Z015D
+133FF ; [.42C5.0020.0002.133FF] # EGYPTIAN HIEROGLYPH Z015E
+13400 ; [.42C6.0020.0002.13400] # EGYPTIAN HIEROGLYPH Z015F
+13401 ; [.42C7.0020.0002.13401] # EGYPTIAN HIEROGLYPH Z015G
+13402 ; [.42C8.0020.0002.13402] # EGYPTIAN HIEROGLYPH Z015H
+13403 ; [.42C9.0020.0002.13403] # EGYPTIAN HIEROGLYPH Z015I
+13404 ; [.42CA.0020.0002.13404] # EGYPTIAN HIEROGLYPH Z016
+13405 ; [.42CB.0020.0002.13405] # EGYPTIAN HIEROGLYPH Z016A
+13406 ; [.42CC.0020.0002.13406] # EGYPTIAN HIEROGLYPH Z016B
+13407 ; [.42CD.0020.0002.13407] # EGYPTIAN HIEROGLYPH Z016C
+13408 ; [.42CE.0020.0002.13408] # EGYPTIAN HIEROGLYPH Z016D
+13409 ; [.42CF.0020.0002.13409] # EGYPTIAN HIEROGLYPH Z016E
+1340A ; [.42D0.0020.0002.1340A] # EGYPTIAN HIEROGLYPH Z016F
+1340B ; [.42D1.0020.0002.1340B] # EGYPTIAN HIEROGLYPH Z016G
+1340C ; [.42D2.0020.0002.1340C] # EGYPTIAN HIEROGLYPH Z016H
+1340D ; [.42D3.0020.0002.1340D] # EGYPTIAN HIEROGLYPH AA001
+1340E ; [.42D4.0020.0002.1340E] # EGYPTIAN HIEROGLYPH AA002
+1340F ; [.42D5.0020.0002.1340F] # EGYPTIAN HIEROGLYPH AA003
+13410 ; [.42D6.0020.0002.13410] # EGYPTIAN HIEROGLYPH AA004
+13411 ; [.42D7.0020.0002.13411] # EGYPTIAN HIEROGLYPH AA005
+13412 ; [.42D8.0020.0002.13412] # EGYPTIAN HIEROGLYPH AA006
+13413 ; [.42D9.0020.0002.13413] # EGYPTIAN HIEROGLYPH AA007
+13414 ; [.42DA.0020.0002.13414] # EGYPTIAN HIEROGLYPH AA007A
+13415 ; [.42DB.0020.0002.13415] # EGYPTIAN HIEROGLYPH AA007B
+13416 ; [.42DC.0020.0002.13416] # EGYPTIAN HIEROGLYPH AA008
+13417 ; [.42DD.0020.0002.13417] # EGYPTIAN HIEROGLYPH AA009
+13418 ; [.42DE.0020.0002.13418] # EGYPTIAN HIEROGLYPH AA010
+13419 ; [.42DF.0020.0002.13419] # EGYPTIAN HIEROGLYPH AA011
+1341A ; [.42E0.0020.0002.1341A] # EGYPTIAN HIEROGLYPH AA012
+1341B ; [.42E1.0020.0002.1341B] # EGYPTIAN HIEROGLYPH AA013
+1341C ; [.42E2.0020.0002.1341C] # EGYPTIAN HIEROGLYPH AA014
+1341D ; [.42E3.0020.0002.1341D] # EGYPTIAN HIEROGLYPH AA015
+1341E ; [.42E4.0020.0002.1341E] # EGYPTIAN HIEROGLYPH AA016
+1341F ; [.42E5.0020.0002.1341F] # EGYPTIAN HIEROGLYPH AA017
+13420 ; [.42E6.0020.0002.13420] # EGYPTIAN HIEROGLYPH AA018
+13421 ; [.42E7.0020.0002.13421] # EGYPTIAN HIEROGLYPH AA019
+13422 ; [.42E8.0020.0002.13422] # EGYPTIAN HIEROGLYPH AA020
+13423 ; [.42E9.0020.0002.13423] # EGYPTIAN HIEROGLYPH AA021
+13424 ; [.42EA.0020.0002.13424] # EGYPTIAN HIEROGLYPH AA022
+13425 ; [.42EB.0020.0002.13425] # EGYPTIAN HIEROGLYPH AA023
+13426 ; [.42EC.0020.0002.13426] # EGYPTIAN HIEROGLYPH AA024
+13427 ; [.42ED.0020.0002.13427] # EGYPTIAN HIEROGLYPH AA025
+13428 ; [.42EE.0020.0002.13428] # EGYPTIAN HIEROGLYPH AA026
+13429 ; [.42EF.0020.0002.13429] # EGYPTIAN HIEROGLYPH AA027
+1342A ; [.42F0.0020.0002.1342A] # EGYPTIAN HIEROGLYPH AA028
+1342B ; [.42F1.0020.0002.1342B] # EGYPTIAN HIEROGLYPH AA029
+1342C ; [.42F2.0020.0002.1342C] # EGYPTIAN HIEROGLYPH AA030
+1342D ; [.42F3.0020.0002.1342D] # EGYPTIAN HIEROGLYPH AA031
+1342E ; [.42F4.0020.0002.1342E] # EGYPTIAN HIEROGLYPH AA032
+109A0 ; [.42F5.0020.0002.109A0] # MEROITIC CURSIVE LETTER A
+10980 ; [.42F5.0020.0004.10980][.0000.0139.0004.10980] # MEROITIC HIEROGLYPHIC LETTER A
+109A1 ; [.42F6.0020.0002.109A1] # MEROITIC CURSIVE LETTER E
+10981 ; [.42F6.0020.0004.10981][.0000.0139.0004.10981] # MEROITIC HIEROGLYPHIC LETTER E
+109A2 ; [.42F7.0020.0002.109A2] # MEROITIC CURSIVE LETTER I
+10982 ; [.42F7.0020.0004.10982][.0000.0139.0004.10982] # MEROITIC HIEROGLYPHIC LETTER I
+109A3 ; [.42F8.0020.0002.109A3] # MEROITIC CURSIVE LETTER O
+10983 ; [.42F8.0020.0004.10983][.0000.0139.0004.10983] # MEROITIC HIEROGLYPHIC LETTER O
+109A4 ; [.42F9.0020.0002.109A4] # MEROITIC CURSIVE LETTER YA
+10984 ; [.42F9.0020.0004.10984][.0000.0139.0004.10984] # MEROITIC HIEROGLYPHIC LETTER YA
+109A5 ; [.42FA.0020.0002.109A5] # MEROITIC CURSIVE LETTER WA
+10985 ; [.42FA.0020.0004.10985][.0000.0139.0004.10985] # MEROITIC HIEROGLYPHIC LETTER WA
+109A6 ; [.42FB.0020.0002.109A6] # MEROITIC CURSIVE LETTER BA
+10986 ; [.42FB.0020.0004.10986][.0000.0139.0004.10986] # MEROITIC HIEROGLYPHIC LETTER BA
+10987 ; [.42FB.0020.0004.10987][.0000.013A.0004.10987] # MEROITIC HIEROGLYPHIC LETTER BA-2
+109A7 ; [.42FC.0020.0002.109A7] # MEROITIC CURSIVE LETTER PA
+10988 ; [.42FC.0020.0004.10988][.0000.0139.0004.10988] # MEROITIC HIEROGLYPHIC LETTER PA
+109A8 ; [.42FD.0020.0002.109A8] # MEROITIC CURSIVE LETTER MA
+10989 ; [.42FD.0020.0004.10989][.0000.0139.0004.10989] # MEROITIC HIEROGLYPHIC LETTER MA
+109A9 ; [.42FE.0020.0002.109A9] # MEROITIC CURSIVE LETTER NA
+1098A ; [.42FE.0020.0004.1098A][.0000.0139.0004.1098A] # MEROITIC HIEROGLYPHIC LETTER NA
+1098B ; [.42FE.0020.0004.1098B][.0000.013A.0004.1098B] # MEROITIC HIEROGLYPHIC LETTER NA-2
+109AA ; [.42FF.0020.0002.109AA] # MEROITIC CURSIVE LETTER NE
+1098C ; [.42FF.0020.0004.1098C][.0000.0139.0004.1098C] # MEROITIC HIEROGLYPHIC LETTER NE
+1098D ; [.42FF.0020.0004.1098D][.0000.013A.0004.1098D] # MEROITIC HIEROGLYPHIC LETTER NE-2
+109AB ; [.4300.0020.0002.109AB] # MEROITIC CURSIVE LETTER RA
+1098E ; [.4300.0020.0004.1098E][.0000.0139.0004.1098E] # MEROITIC HIEROGLYPHIC LETTER RA
+1098F ; [.4300.0020.0004.1098F][.0000.013A.0004.1098F] # MEROITIC HIEROGLYPHIC LETTER RA-2
+109AC ; [.4301.0020.0002.109AC] # MEROITIC CURSIVE LETTER LA
+10990 ; [.4301.0020.0004.10990][.0000.0139.0004.10990] # MEROITIC HIEROGLYPHIC LETTER LA
+109AD ; [.4302.0020.0002.109AD] # MEROITIC CURSIVE LETTER KHA
+10991 ; [.4302.0020.0004.10991][.0000.0139.0004.10991] # MEROITIC HIEROGLYPHIC LETTER KHA
+109AE ; [.4303.0020.0002.109AE] # MEROITIC CURSIVE LETTER HHA
+10992 ; [.4303.0020.0004.10992][.0000.0139.0004.10992] # MEROITIC HIEROGLYPHIC LETTER HHA
+109AF ; [.4304.0020.0002.109AF] # MEROITIC CURSIVE LETTER SA
+109B0 ; [.4304.0020.0004.109B0][.0000.0139.0004.109B0] # MEROITIC CURSIVE LETTER ARCHAIC SA
+10993 ; [.4304.0020.0004.10993][.0000.013A.0004.10993] # MEROITIC HIEROGLYPHIC LETTER SA
+10994 ; [.4304.0020.0004.10994][.0000.013C.0004.10994] # MEROITIC HIEROGLYPHIC LETTER SA-2
+109B1 ; [.4305.0020.0002.109B1] # MEROITIC CURSIVE LETTER SE
+10995 ; [.4305.0020.0004.10995][.0000.0139.0004.10995] # MEROITIC HIEROGLYPHIC LETTER SE
+109B2 ; [.4306.0020.0002.109B2] # MEROITIC CURSIVE LETTER KA
+10996 ; [.4306.0020.0004.10996][.0000.0139.0004.10996] # MEROITIC HIEROGLYPHIC LETTER KA
+109B3 ; [.4307.0020.0002.109B3] # MEROITIC CURSIVE LETTER QA
+10997 ; [.4307.0020.0004.10997][.0000.0139.0004.10997] # MEROITIC HIEROGLYPHIC LETTER QA
+109B4 ; [.4308.0020.0002.109B4] # MEROITIC CURSIVE LETTER TA
+10998 ; [.4308.0020.0004.10998][.0000.0139.0004.10998] # MEROITIC HIEROGLYPHIC LETTER TA
+10999 ; [.4308.0020.0004.10999][.0000.013A.0004.10999] # MEROITIC HIEROGLYPHIC LETTER TA-2
+109B5 ; [.4309.0020.0002.109B5] # MEROITIC CURSIVE LETTER TE
+1099A ; [.4309.0020.0004.1099A][.0000.0139.0004.1099A] # MEROITIC HIEROGLYPHIC LETTER TE
+1099B ; [.4309.0020.0004.1099B][.0000.013A.0004.1099B] # MEROITIC HIEROGLYPHIC LETTER TE-2
+109B6 ; [.430A.0020.0002.109B6] # MEROITIC CURSIVE LETTER TO
+1099C ; [.430A.0020.0004.1099C][.0000.0139.0004.1099C] # MEROITIC HIEROGLYPHIC LETTER TO
+109B7 ; [.430B.0020.0002.109B7] # MEROITIC CURSIVE LETTER DA
+1099D ; [.430B.0020.0004.1099D][.0000.0139.0004.1099D] # MEROITIC HIEROGLYPHIC LETTER DA
+109BE ; [.430C.0020.0002.109BE] # MEROITIC CURSIVE LOGOGRAM RMT
+109BF ; [.430D.0020.0002.109BF] # MEROITIC CURSIVE LOGOGRAM IMN
+1099E ; [.430E.0020.0002.1099E] # MEROITIC HIEROGLYPHIC SYMBOL VIDJ
+1099F ; [.430F.0020.0002.1099F] # MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2
+2F00 ; [.FB40.0020.0004.4E00][.CE00.0000.0000.4E00] # KANGXI RADICAL ONE
+3220 ; [*02FB.0020.0004.3220][.FB40.0020.0004.4E00][.CE00.0000.0000.4E00][*02FC.0020.001F.3220] # PARENTHESIZED IDEOGRAPH ONE
+3280 ; [.FB40.0020.0006.4E00][.CE00.0000.0000.4E00] # CIRCLED IDEOGRAPH ONE
+3192 ; [.FB40.0020.0014.4E00][.CE00.0000.0000.4E00] # IDEOGRAPHIC ANNOTATION ONE MARK
+1F229 ; [.FB40.0020.001C.4E00][.CE00.0000.0000.4E00] # SQUARED CJK UNIFIED IDEOGRAPH-4E00
+319C ; [.FB40.0020.0014.4E01][.CE01.0000.0000.4E01] # IDEOGRAPHIC ANNOTATION FOURTH MARK
+3226 ; [*02FB.0020.0004.3226][.FB40.0020.0004.4E03][.CE03.0000.0000.4E03][*02FC.0020.001F.3226] # PARENTHESIZED IDEOGRAPH SEVEN
+3286 ; [.FB40.0020.0006.4E03][.CE03.0000.0000.4E03] # CIRCLED IDEOGRAPH SEVEN
+3222 ; [*02FB.0020.0004.3222][.FB40.0020.0004.4E09][.CE09.0000.0000.4E09][*02FC.0020.001F.3222] # PARENTHESIZED IDEOGRAPH THREE
+1F241 ; [*0359.0020.0004.1F241][.FB40.0020.0004.4E09][.CE09.0000.0000.4E09][*035A.0020.001F.1F241] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
+3282 ; [.FB40.0020.0006.4E09][.CE09.0000.0000.4E09] # CIRCLED IDEOGRAPH THREE
+3194 ; [.FB40.0020.0014.4E09][.CE09.0000.0000.4E09] # IDEOGRAPHIC ANNOTATION THREE MARK
+1F22A ; [.FB40.0020.001C.4E09][.CE09.0000.0000.4E09] # SQUARED CJK UNIFIED IDEOGRAPH-4E09
+32A4 ; [.FB40.0020.0006.4E0A][.CE0A.0000.0000.4E0A] # CIRCLED IDEOGRAPH HIGH
+3196 ; [.FB40.0020.0014.4E0A][.CE0A.0000.0000.4E0A] # IDEOGRAPHIC ANNOTATION TOP MARK
+32A6 ; [.FB40.0020.0006.4E0B][.CE0B.0000.0000.4E0B] # CIRCLED IDEOGRAPH LOW
+3198 ; [.FB40.0020.0014.4E0B][.CE0B.0000.0000.4E0B] # IDEOGRAPHIC ANNOTATION BOTTOM MARK
+F967 ; [.FB40.0020.0002.4E0D][.CE0D.0000.0000.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
+319B ; [.FB40.0020.0014.4E19][.CE19.0000.0000.4E19] # IDEOGRAPHIC ANNOTATION THIRD MARK
+FA70 ; [.FB40.0020.0002.4E26][.CE26.0000.0000.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
+2F01 ; [.FB40.0020.0004.4E28][.CE28.0000.0000.4E28] # KANGXI RADICAL LINE
+2EA6 ; [.FB40.0020.0004.4E2C][.CE2C.0000.0000.4E2C] # CJK RADICAL SIMPLIFIED HALF TREE TRUNK
+32A5 ; [.FB40.0020.0006.4E2D][.CE2D.0000.0000.4E2D] # CIRCLED IDEOGRAPH CENTRE
+3197 ; [.FB40.0020.0014.4E2D][.CE2D.0000.0000.4E2D] # IDEOGRAPHIC ANNOTATION MIDDLE MARK
+1F22D ; [.FB40.0020.001C.4E2D][.CE2D.0000.0000.4E2D] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
+F905 ; [.FB40.0020.0002.4E32][.CE32.0000.0000.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F02 ; [.FB40.0020.0004.4E36][.CE36.0000.0000.4E36] # KANGXI RADICAL DOT
+2E80 ; [.FB40.0020.0004.4E36][.CE36.0000.0000.4E36][.0000.0139.001F.2E80] # CJK RADICAL REPEAT
+2F801 ; [.FB40.0020.0002.4E38][.CE38.0000.0000.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E ; [.FB40.0020.0002.4E39][.CE39.0000.0000.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
+2F800 ; [.FB40.0020.0002.4E3D][.CE3D.0000.0000.4E3D] # CJK COMPATIBILITY IDEOGRAPH-2F800
+2F03 ; [.FB40.0020.0004.4E3F][.CE3F.0000.0000.4E3F] # KANGXI RADICAL SLASH
+2F802 ; [.FB40.0020.0002.4E41][.CE41.0000.0000.4E41] # CJK COMPATIBILITY IDEOGRAPH-2F802
+2F04 ; [.FB40.0020.0004.4E59][.CE59.0000.0000.4E59] # KANGXI RADICAL SECOND
+319A ; [.FB40.0020.0014.4E59][.CE59.0000.0000.4E59] # IDEOGRAPHIC ANNOTATION SECOND MARK
+2E84 ; [.FB40.0020.0004.4E59][.CE59.0000.0000.4E59][.0000.0139.001F.2E84] # CJK RADICAL SECOND THREE
+2E83 ; [.FB40.0020.0004.4E5A][.CE5A.0000.0000.4E5A] # CJK RADICAL SECOND TWO
+2E82 ; [.FB40.0020.0004.4E5B][.CE5B.0000.0000.4E5B] # CJK RADICAL SECOND ONE
+3228 ; [*02FB.0020.0004.3228][.FB40.0020.0004.4E5D][.CE5D.0000.0000.4E5D][*02FC.0020.001F.3228] # PARENTHESIZED IDEOGRAPH NINE
+3288 ; [.FB40.0020.0006.4E5D][.CE5D.0000.0000.4E5D] # CIRCLED IDEOGRAPH NINE
+F91B ; [.FB40.0020.0002.4E82][.CE82.0000.0000.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
+2F05 ; [.FB40.0020.0004.4E85][.CE85.0000.0000.4E85] # KANGXI RADICAL HOOK
+F9BA ; [.FB40.0020.0002.4E86][.CE86.0000.0000.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+2F06 ; [.FB40.0020.0004.4E8C][.CE8C.0000.0000.4E8C] # KANGXI RADICAL TWO
+3221 ; [*02FB.0020.0004.3221][.FB40.0020.0004.4E8C][.CE8C.0000.0000.4E8C][*02FC.0020.001F.3221] # PARENTHESIZED IDEOGRAPH TWO
+1F242 ; [*0359.0020.0004.1F242][.FB40.0020.0004.4E8C][.CE8C.0000.0000.4E8C][*035A.0020.001F.1F242] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
+3281 ; [.FB40.0020.0006.4E8C][.CE8C.0000.0000.4E8C] # CIRCLED IDEOGRAPH TWO
+3193 ; [.FB40.0020.0014.4E8C][.CE8C.0000.0000.4E8C] # IDEOGRAPHIC ANNOTATION TWO MARK
+1F214 ; [.FB40.0020.001C.4E8C][.CE8C.0000.0000.4E8C] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
+3224 ; [*02FB.0020.0004.3224][.FB40.0020.0004.4E94][.CE94.0000.0000.4E94][*02FC.0020.001F.3224] # PARENTHESIZED IDEOGRAPH FIVE
+3284 ; [.FB40.0020.0006.4E94][.CE94.0000.0000.4E94] # CIRCLED IDEOGRAPH FIVE
+2F07 ; [.FB40.0020.0004.4EA0][.CEA0.0000.0000.4EA0] # KANGXI RADICAL LID
+1F218 ; [.FB40.0020.001C.4EA4][.CEA4.0000.0000.4EA4] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
+F977 ; [.FB40.0020.0002.4EAE][.CEAE.0000.0000.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
+2F08 ; [.FB40.0020.0004.4EBA][.CEBA.0000.0000.4EBA] # KANGXI RADICAL MAN
+319F ; [.FB40.0020.0014.4EBA][.CEBA.0000.0000.4EBA] # IDEOGRAPHIC ANNOTATION MAN MARK
+2E85 ; [.FB40.0020.0004.4EBB][.CEBB.0000.0000.4EBB] # CJK RADICAL PERSON
+F9FD ; [.FB40.0020.0002.4EC0][.CEC0.0000.0000.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+2F819 ; [.FB40.0020.0002.4ECC][.CECC.0000.0000.4ECC] # CJK COMPATIBILITY IDEOGRAPH-2F819
+3239 ; [*02FB.0020.0004.3239][.FB40.0020.0004.4EE3][.CEE3.0000.0000.4EE3][*02FC.0020.001F.3239] # PARENTHESIZED IDEOGRAPH REPRESENT
+F9A8 ; [.FB40.0020.0002.4EE4][.CEE4.0000.0000.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+323D ; [*02FB.0020.0004.323D][.FB40.0020.0004.4F01][.CF01.0000.0000.4F01][*02FC.0020.001F.323D] # PARENTHESIZED IDEOGRAPH ENTERPRISE
+32AD ; [.FB40.0020.0006.4F01][.CF01.0000.0000.4F01] # CIRCLED IDEOGRAPH ENTERPRISE
+3241 ; [*02FB.0020.0004.3241][.FB40.0020.0004.4F11][.CF11.0000.0000.4F11][*02FC.0020.001F.3241] # PARENTHESIZED IDEOGRAPH REST
+32A1 ; [.FB40.0020.0006.4F11][.CF11.0000.0000.4F11] # CIRCLED IDEOGRAPH REST
+2F804 ; [.FB40.0020.0002.4F60][.CF60.0000.0000.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804
+FA73 ; [.FB40.0020.0002.4F80][.CF80.0000.0000.4F80] # CJK COMPATIBILITY IDEOGRAPH-FA73
+F92D ; [.FB40.0020.0002.4F86][.CF86.0000.0000.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5 ; [.FB40.0020.0002.4F8B][.CF8B.0000.0000.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30 ; [.FB40.0020.0002.4FAE][.CFAE.0000.0000.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805 ; [.FB40.0020.0002.4FAE][.CFAE.0000.0000.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
+2F806 ; [.FB40.0020.0002.4FBB][.CFBB.0000.0000.4FBB] # CJK COMPATIBILITY IDEOGRAPH-2F806
+F965 ; [.FB40.0020.0002.4FBF][.CFBF.0000.0000.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
+2F807 ; [.FB40.0020.0002.5002][.D002.0000.0000.5002] # CJK COMPATIBILITY IDEOGRAPH-2F807
+F9D4 ; [.FB40.0020.0002.502B][.D02B.0000.0000.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F808 ; [.FB40.0020.0002.507A][.D07A.0000.0000.507A] # CJK COMPATIBILITY IDEOGRAPH-2F808
+2F809 ; [.FB40.0020.0002.5099][.D099.0000.0000.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B ; [.FB40.0020.0002.50CF][.D0CF.0000.0000.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB ; [.FB40.0020.0002.50DA][.D0DA.0000.0000.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31 ; [.FB40.0020.0002.50E7][.D0E7.0000.0000.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A ; [.FB40.0020.0002.50E7][.D0E7.0000.0000.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+329D ; [.FB40.0020.0006.512A][.D12A.0000.0000.512A] # CIRCLED IDEOGRAPH EXCELLENT
+2F09 ; [.FB40.0020.0004.513F][.D13F.0000.0000.513F] # KANGXI RADICAL LEGS
+FA0C ; [.FB40.0020.0002.5140][.D140.0000.0000.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74 ; [.FB40.0020.0002.5145][.D145.0000.0000.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32 ; [.FB40.0020.0002.514D][.D14D.0000.0000.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E ; [.FB40.0020.0002.514D][.D14D.0000.0000.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F ; [.FB40.0020.0002.5154][.D154.0000.0000.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+2F810 ; [.FB40.0020.0002.5164][.D164.0000.0000.5164] # CJK COMPATIBILITY IDEOGRAPH-2F810
+2F0A ; [.FB40.0020.0004.5165][.D165.0000.0000.5165] # KANGXI RADICAL ENTER
+2F814 ; [.FB40.0020.0002.5167][.D167.0000.0000.5167] # CJK COMPATIBILITY IDEOGRAPH-2F814
+FA72 ; [.FB40.0020.0002.5168][.D168.0000.0000.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978 ; [.FB40.0020.0002.5169][.D169.0000.0000.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
+2F0B ; [.FB40.0020.0004.516B][.D16B.0000.0000.516B] # KANGXI RADICAL EIGHT
+3227 ; [*02FB.0020.0004.3227][.FB40.0020.0004.516B][.D16B.0000.0000.516B][*02FC.0020.001F.3227] # PARENTHESIZED IDEOGRAPH EIGHT
+3287 ; [.FB40.0020.0006.516B][.D16B.0000.0000.516B] # CIRCLED IDEOGRAPH EIGHT
+F9D1 ; [.FB40.0020.0002.516D][.D16D.0000.0000.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+3225 ; [*02FB.0020.0004.3225][.FB40.0020.0004.516D][.D16D.0000.0000.516D][*02FC.0020.001F.3225] # PARENTHESIZED IDEOGRAPH SIX
+3285 ; [.FB40.0020.0006.516D][.D16D.0000.0000.516D] # CIRCLED IDEOGRAPH SIX
+2F811 ; [.FB40.0020.0002.5177][.D177.0000.0000.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75 ; [.FB40.0020.0002.5180][.D180.0000.0000.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F0C ; [.FB40.0020.0004.5182][.D182.0000.0000.5182] # KANGXI RADICAL DOWN BOX
+2E86 ; [.FB40.0020.0004.5182][.D182.0000.0000.5182][.0000.0139.001F.2E86] # CJK RADICAL BOX
+2F815 ; [.FB40.0020.0002.518D][.D18D.0000.0000.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
+1F21E ; [.FB40.0020.001C.518D][.D18D.0000.0000.518D] # SQUARED CJK UNIFIED IDEOGRAPH-518D
+2F8D2 ; [.FB40.0020.0002.5192][.D192.0000.0000.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3 ; [.FB40.0020.0002.5195][.D195.0000.0000.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F0D ; [.FB40.0020.0004.5196][.D196.0000.0000.5196] # KANGXI RADICAL COVER
+2F817 ; [.FB40.0020.0002.5197][.D197.0000.0000.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
+32A2 ; [.FB40.0020.0006.5199][.D199.0000.0000.5199] # CIRCLED IDEOGRAPH COPY
+2F818 ; [.FB40.0020.0002.51A4][.D1A4.0000.0000.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F0E ; [.FB40.0020.0004.51AB][.D1AB.0000.0000.51AB] # KANGXI RADICAL ICE
+2F81A ; [.FB40.0020.0002.51AC][.D1AC.0000.0000.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+FA71 ; [.FB40.0020.0002.51B5][.D1B5.0000.0000.51B5] # CJK COMPATIBILITY IDEOGRAPH-FA71
+2F81B ; [.FB40.0020.0002.51B5][.D1B5.0000.0000.51B5] # CJK COMPATIBILITY IDEOGRAPH-2F81B
+F92E ; [.FB40.0020.0002.51B7][.D1B7.0000.0000.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979 ; [.FB40.0020.0002.51C9][.D1C9.0000.0000.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955 ; [.FB40.0020.0002.51CC][.D1CC.0000.0000.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954 ; [.FB40.0020.0002.51DC][.D1DC.0000.0000.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
+FA15 ; [.FB40.0020.0002.51DE][.D1DE.0000.0000.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15
+2F0F ; [.FB40.0020.0004.51E0][.D1E0.0000.0000.51E0] # KANGXI RADICAL TABLE
+2E87 ; [.FB40.0020.0004.51E0][.D1E0.0000.0000.51E0][.0000.0139.001F.2E87] # CJK RADICAL TABLE
+2F81D ; [.FB40.0020.0002.51F5][.D1F5.0000.0000.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F10 ; [.FB40.0020.0004.51F5][.D1F5.0000.0000.51F5] # KANGXI RADICAL OPEN BOX
+2F11 ; [.FB40.0020.0004.5200][.D200.0000.0000.5200] # KANGXI RADICAL KNIFE
+2E88 ; [.FB40.0020.0004.5200][.D200.0000.0000.5200][.0000.0139.001F.2E88] # CJK RADICAL KNIFE ONE
+2E89 ; [.FB40.0020.0004.5202][.D202.0000.0000.5202] # CJK RADICAL KNIFE TWO
+2F81E ; [.FB40.0020.0002.5203][.D203.0000.0000.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00 ; [.FB40.0020.0002.5207][.D207.0000.0000.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850 ; [.FB40.0020.0002.5207][.D207.0000.0000.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C ; [.FB40.0020.0002.5217][.D217.0000.0000.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
+1F220 ; [.FB40.0020.001C.521D][.D21D.0000.0000.521D] # SQUARED CJK UNIFIED IDEOGRAPH-521D
+F9DD ; [.FB40.0020.0002.5229][.D229.0000.0000.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF ; [.FB40.0020.0002.523A][.D23A.0000.0000.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820 ; [.FB40.0020.0002.523B][.D23B.0000.0000.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F821 ; [.FB40.0020.0002.5246][.D246.0000.0000.5246] # CJK COMPATIBILITY IDEOGRAPH-2F821
+1F21C ; [.FB40.0020.001C.524D][.D24D.0000.0000.524D] # SQUARED CJK UNIFIED IDEOGRAPH-524D
+2F822 ; [.FB40.0020.0002.5272][.D272.0000.0000.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
+1F239 ; [.FB40.0020.001C.5272][.D272.0000.0000.5272] # SQUARED CJK UNIFIED IDEOGRAPH-5272
+2F823 ; [.FB40.0020.0002.5277][.D277.0000.0000.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823
+F9C7 ; [.FB40.0020.0002.5289][.D289.0000.0000.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A ; [.FB40.0020.0002.529B][.D29B.0000.0000.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
+2F12 ; [.FB40.0020.0004.529B][.D29B.0000.0000.529B] # KANGXI RADICAL POWER
+F99D ; [.FB40.0020.0002.52A3][.D2A3.0000.0000.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
+2F992 ; [.FB40.0020.0002.52B3][.D2B3.0000.0000.52B3] # CJK COMPATIBILITY IDEOGRAPH-2F992
+3238 ; [*02FB.0020.0004.3238][.FB40.0020.0004.52B4][.D2B4.0000.0000.52B4][*02FC.0020.001F.3238] # PARENTHESIZED IDEOGRAPH LABOR
+3298 ; [.FB40.0020.0006.52B4][.D2B4.0000.0000.52B4] # CIRCLED IDEOGRAPH LABOR
+FA76 ; [.FB40.0020.0002.52C7][.D2C7.0000.0000.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825 ; [.FB40.0020.0002.52C7][.D2C7.0000.0000.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33 ; [.FB40.0020.0002.52C9][.D2C9.0000.0000.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826 ; [.FB40.0020.0002.52C9][.D2C9.0000.0000.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952 ; [.FB40.0020.0002.52D2][.D2D2.0000.0000.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
+1F247 ; [*0359.0020.0004.1F247][.FB40.0020.0004.52DD][.D2DD.0000.0000.52DD][*035A.0020.001F.1F247] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
+F92F ; [.FB40.0020.0002.52DE][.D2DE.0000.0000.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34 ; [.FB40.0020.0002.52E4][.D2E4.0000.0000.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827 ; [.FB40.0020.0002.52E4][.D2E4.0000.0000.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F ; [.FB40.0020.0002.52F5][.D2F5.0000.0000.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
+2F13 ; [.FB40.0020.0004.52F9][.D2F9.0000.0000.52F9] # KANGXI RADICAL WRAP
+FA77 ; [.FB40.0020.0002.52FA][.D2FA.0000.0000.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828 ; [.FB40.0020.0002.52FA][.D2FA.0000.0000.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829 ; [.FB40.0020.0002.5305][.D305.0000.0000.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A ; [.FB40.0020.0002.5306][.D306.0000.0000.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+2F14 ; [.FB40.0020.0004.5315][.D315.0000.0000.5315] # KANGXI RADICAL SPOON
+F963 ; [.FB40.0020.0002.5317][.D317.0000.0000.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B ; [.FB40.0020.0002.5317][.D317.0000.0000.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+2F15 ; [.FB40.0020.0004.531A][.D31A.0000.0000.531A] # KANGXI RADICAL RIGHT OPEN BOX
+2F16 ; [.FB40.0020.0004.5338][.D338.0000.0000.5338] # KANGXI RADICAL HIDING ENCLOSURE
+32A9 ; [.FB40.0020.0006.533B][.D33B.0000.0000.533B] # CIRCLED IDEOGRAPH MEDICINE
+F9EB ; [.FB40.0020.0002.533F][.D33F.0000.0000.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F17 ; [.FB40.0020.0004.5341][.D341.0000.0000.5341] # KANGXI RADICAL TEN
+3038 ; [.FB40.0020.0004.5341][.D341.0000.0000.5341] # HANGZHOU NUMERAL TEN
+3229 ; [*02FB.0020.0004.3229][.FB40.0020.0004.5341][.D341.0000.0000.5341][*02FC.0020.001F.3229] # PARENTHESIZED IDEOGRAPH TEN
+3289 ; [.FB40.0020.0006.5341][.D341.0000.0000.5341] # CIRCLED IDEOGRAPH TEN
+3039 ; [.FB40.0020.0004.5344][.D344.0000.0000.5344] # HANGZHOU NUMERAL TWENTY
+303A ; [.FB40.0020.0004.5345][.D345.0000.0000.5345] # HANGZHOU NUMERAL THIRTY
+2F82C ; [.FB40.0020.0002.5349][.D349.0000.0000.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35 ; [.FB40.0020.0002.5351][.D351.0000.0000.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D ; [.FB40.0020.0002.5351][.D351.0000.0000.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+323F ; [*02FB.0020.0004.323F][.FB40.0020.0004.5354][.D354.0000.0000.5354][*02FC.0020.001F.323F] # PARENTHESIZED IDEOGRAPH ALLIANCE
+32AF ; [.FB40.0020.0006.5354][.D354.0000.0000.5354] # CIRCLED IDEOGRAPH ALLIANCE
+2F82E ; [.FB40.0020.0002.535A][.D35A.0000.0000.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F18 ; [.FB40.0020.0004.535C][.D35C.0000.0000.535C] # KANGXI RADICAL DIVINATION
+2E8A ; [.FB40.0020.0004.535C][.D35C.0000.0000.535C][.0000.0139.001F.2E8A] # CJK RADICAL DIVINATION
+2F19 ; [.FB40.0020.0004.5369][.D369.0000.0000.5369] # KANGXI RADICAL SEAL
+2E8B ; [.FB40.0020.0004.5369][.D369.0000.0000.5369][.0000.0139.001F.2E8B] # CJK RADICAL SEAL
+329E ; [.FB40.0020.0006.5370][.D370.0000.0000.5370] # CIRCLED IDEOGRAPH PRINT
+2F82F ; [.FB40.0020.0002.5373][.D373.0000.0000.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C ; [.FB40.0020.0002.5375][.D375.0000.0000.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F830 ; [.FB40.0020.0002.537D][.D37D.0000.0000.537D] # CJK COMPATIBILITY IDEOGRAPH-2F830
+2F831 ; [.FB40.0020.0002.537F][.D37F.0000.0000.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832 ; [.FB40.0020.0002.537F][.D37F.0000.0000.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833 ; [.FB40.0020.0002.537F][.D37F.0000.0000.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
+2F1A ; [.FB40.0020.0004.5382][.D382.0000.0000.5382] # KANGXI RADICAL CLIFF
+2E81 ; [.FB40.0020.0004.5382][.D382.0000.0000.5382][.0000.0139.001F.2E81] # CJK RADICAL CLIFF
+2F1B ; [.FB40.0020.0004.53B6][.D3B6.0000.0000.53B6] # KANGXI RADICAL PRIVATE
+F96B ; [.FB40.0020.0002.53C3][.D3C3.0000.0000.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F1C ; [.FB40.0020.0004.53C8][.D3C8.0000.0000.53C8] # KANGXI RADICAL AGAIN
+2F836 ; [.FB40.0020.0002.53CA][.D3CA.0000.0000.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
+1F212 ; [.FB40.0020.001C.53CC][.D3CC.0000.0000.53CC] # SQUARED CJK UNIFIED IDEOGRAPH-53CC
+2F837 ; [.FB40.0020.0002.53DF][.D3DF.0000.0000.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
+2F1D ; [.FB40.0020.0004.53E3][.D3E3.0000.0000.53E3] # KANGXI RADICAL MOUTH
+F906 ; [.FB40.0020.0002.53E5][.D3E5.0000.0000.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839 ; [.FB40.0020.0002.53EB][.D3EB.0000.0000.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
+1F251 ; [.FB40.0020.0006.53EF][.D3EF.0000.0000.53EF] # CIRCLED IDEOGRAPH ACCEPT
+2F83A ; [.FB40.0020.0002.53F1][.D3F1.0000.0000.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+32A8 ; [.FB40.0020.0006.53F3][.D3F3.0000.0000.53F3] # CIRCLED IDEOGRAPH RIGHT
+1F22E ; [.FB40.0020.001C.53F3][.D3F3.0000.0000.53F3] # SQUARED CJK UNIFIED IDEOGRAPH-53F3
+2F83B ; [.FB40.0020.0002.5406][.D406.0000.0000.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B
+1F234 ; [.FB40.0020.001C.5408][.D408.0000.0000.5408] # SQUARED CJK UNIFIED IDEOGRAPH-5408
+3234 ; [*02FB.0020.0004.3234][.FB40.0020.0004.540D][.D40D.0000.0000.540D][*02FC.0020.001F.3234] # PARENTHESIZED IDEOGRAPH NAME
+3294 ; [.FB40.0020.0006.540D][.D40D.0000.0000.540D] # CIRCLED IDEOGRAPH NAME
+F9DE ; [.FB40.0020.0002.540F][.D40F.0000.0000.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED ; [.FB40.0020.0002.541D][.D41D.0000.0000.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D ; [.FB40.0020.0002.5438][.D438.0000.0000.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+1F225 ; [.FB40.0020.001C.5439][.D439.0000.0000.5439] # SQUARED CJK UNIFIED IDEOGRAPH-5439
+F980 ; [.FB40.0020.0002.5442][.D442.0000.0000.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E ; [.FB40.0020.0002.5448][.D448.0000.0000.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F ; [.FB40.0020.0002.5468][.D468.0000.0000.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+323A ; [*02FB.0020.0004.323A][.FB40.0020.0004.547C][.D47C.0000.0000.547C][*02FC.0020.001F.323A] # PARENTHESIZED IDEOGRAPH CALL
+2F83C ; [.FB40.0020.0002.549E][.D49E.0000.0000.549E] # CJK COMPATIBILITY IDEOGRAPH-2F83C
+2F840 ; [.FB40.0020.0002.54A2][.D4A2.0000.0000.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E ; [.FB40.0020.0002.54BD][.D4BD.0000.0000.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F841 ; [.FB40.0020.0002.54F6][.D4F6.0000.0000.54F6] # CJK COMPATIBILITY IDEOGRAPH-2F841
+2F842 ; [.FB40.0020.0002.5510][.D510.0000.0000.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
+3244 ; [.FB40.0020.0006.554F][.D54F.0000.0000.554F] # CIRCLED IDEOGRAPH QUESTION
+2F843 ; [.FB40.0020.0002.5553][.D553.0000.0000.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843
+FA79 ; [.FB40.0020.0002.5555][.D555.0000.0000.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79
+2F844 ; [.FB40.0020.0002.5563][.D563.0000.0000.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845 ; [.FB40.0020.0002.5584][.D584.0000.0000.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846 ; [.FB40.0020.0002.5584][.D584.0000.0000.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B ; [.FB40.0020.0002.5587][.D587.0000.0000.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A ; [.FB40.0020.0002.5599][.D599.0000.0000.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847 ; [.FB40.0020.0002.5599][.D599.0000.0000.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36 ; [.FB40.0020.0002.559D][.D59D.0000.0000.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78 ; [.FB40.0020.0002.559D][.D59D.0000.0000.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848 ; [.FB40.0020.0002.55AB][.D5AB.0000.0000.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
+2F849 ; [.FB40.0020.0002.55B3][.D5B3.0000.0000.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849
+1F23A ; [.FB40.0020.001C.55B6][.D5B6.0000.0000.55B6] # SQUARED CJK UNIFIED IDEOGRAPH-55B6
+FA0D ; [.FB40.0020.0002.55C0][.D5C0.0000.0000.55C0] # CJK COMPATIBILITY IDEOGRAPH-FA0D
+2F84A ; [.FB40.0020.0002.55C2][.D5C2.0000.0000.55C2] # CJK COMPATIBILITY IDEOGRAPH-2F84A
+FA7B ; [.FB40.0020.0002.55E2][.D5E2.0000.0000.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B
+FA37 ; [.FB40.0020.0002.5606][.D606.0000.0000.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C ; [.FB40.0020.0002.5606][.D606.0000.0000.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+2F84E ; [.FB40.0020.0002.5651][.D651.0000.0000.5651] # CJK COMPATIBILITY IDEOGRAPH-2F84E
+FA38 ; [.FB40.0020.0002.5668][.D668.0000.0000.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F ; [.FB40.0020.0002.5674][.D674.0000.0000.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+2F1E ; [.FB40.0020.0004.56D7][.D6D7.0000.0000.56D7] # KANGXI RADICAL ENCLOSURE
+3223 ; [*02FB.0020.0004.3223][.FB40.0020.0004.56DB][.D6DB.0000.0000.56DB][*02FC.0020.001F.3223] # PARENTHESIZED IDEOGRAPH FOUR
+3283 ; [.FB40.0020.0006.56DB][.D6DB.0000.0000.56DB] # CIRCLED IDEOGRAPH FOUR
+3195 ; [.FB40.0020.0014.56DB][.D6DB.0000.0000.56DB] # IDEOGRAPHIC ANNOTATION FOUR MARK
+F9A9 ; [.FB40.0020.0002.56F9][.D6F9.0000.0000.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B ; [.FB40.0020.0002.5716][.D716.0000.0000.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F84D ; [.FB40.0020.0002.5717][.D717.0000.0000.5717] # CJK COMPATIBILITY IDEOGRAPH-2F84D
+2F1F ; [.FB40.0020.0004.571F][.D71F.0000.0000.571F] # KANGXI RADICAL EARTH
+322F ; [*02FB.0020.0004.322F][.FB40.0020.0004.571F][.D71F.0000.0000.571F][*02FC.0020.001F.322F] # PARENTHESIZED IDEOGRAPH EARTH
+328F ; [.FB40.0020.0006.571F][.D71F.0000.0000.571F] # CIRCLED IDEOGRAPH EARTH
+319E ; [.FB40.0020.0014.5730][.D730.0000.0000.5730] # IDEOGRAPHIC ANNOTATION EARTH MARK
+2F855 ; [.FB40.0020.0002.578B][.D78B.0000.0000.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852 ; [.FB40.0020.0002.57CE][.D7CE.0000.0000.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853 ; [.FB40.0020.0002.57F4][.D7F4.0000.0000.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F854 ; [.FB40.0020.0002.580D][.D80D.0000.0000.580D] # CJK COMPATIBILITY IDEOGRAPH-2F854
+2F857 ; [.FB40.0020.0002.5831][.D831.0000.0000.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
+2F856 ; [.FB40.0020.0002.5832][.D832.0000.0000.5832] # CJK COMPATIBILITY IDEOGRAPH-2F856
+FA39 ; [.FB40.0020.0002.5840][.D840.0000.0000.5840] # CJK COMPATIBILITY IDEOGRAPH-FA39
+FA10 ; [.FB40.0020.0002.585A][.D85A.0000.0000.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C ; [.FB40.0020.0002.585A][.D85A.0000.0000.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C ; [.FB40.0020.0002.585E][.D85E.0000.0000.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A ; [.FB40.0020.0002.58A8][.D8A8.0000.0000.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+2F858 ; [.FB40.0020.0002.58AC][.D8AC.0000.0000.58AC] # CJK COMPATIBILITY IDEOGRAPH-2F858
+FA7D ; [.FB40.0020.0002.58B3][.D8B3.0000.0000.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A ; [.FB40.0020.0002.58D8][.D8D8.0000.0000.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942 ; [.FB40.0020.0002.58DF][.D8DF.0000.0000.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F20 ; [.FB40.0020.0004.58EB][.D8EB.0000.0000.58EB] # KANGXI RADICAL SCHOLAR
+2F851 ; [.FB40.0020.0002.58EE][.D8EE.0000.0000.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851
+1F224 ; [.FB40.0020.001C.58F0][.D8F0.0000.0000.58F0] # SQUARED CJK UNIFIED IDEOGRAPH-58F0
+2F85A ; [.FB40.0020.0002.58F2][.D8F2.0000.0000.58F2] # CJK COMPATIBILITY IDEOGRAPH-2F85A
+2F85B ; [.FB40.0020.0002.58F7][.D8F7.0000.0000.58F7] # CJK COMPATIBILITY IDEOGRAPH-2F85B
+2F21 ; [.FB40.0020.0004.5902][.D902.0000.0000.5902] # KANGXI RADICAL GO
+2F85C ; [.FB40.0020.0002.5906][.D906.0000.0000.5906] # CJK COMPATIBILITY IDEOGRAPH-2F85C
+2F22 ; [.FB40.0020.0004.590A][.D90A.0000.0000.590A] # KANGXI RADICAL GO SLOWLY
+2F23 ; [.FB40.0020.0004.5915][.D915.0000.0000.5915] # KANGXI RADICAL EVENING
+2F85D ; [.FB40.0020.0002.591A][.D91A.0000.0000.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+1F215 ; [.FB40.0020.001C.591A][.D91A.0000.0000.591A] # SQUARED CJK UNIFIED IDEOGRAPH-591A
+32B0 ; [.FB40.0020.0006.591C][.D91C.0000.0000.591C] # CIRCLED IDEOGRAPH NIGHT
+2F85E ; [.FB40.0020.0002.5922][.D922.0000.0000.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+2F24 ; [.FB40.0020.0004.5927][.D927.0000.0000.5927] # KANGXI RADICAL BIG
+337D ; [.FB40.0020.001C.5927][.D927.0000.0000.5927][.FB40.0020.001F.6B63][.EB63.0000.0000.6B63] # SQUARE ERA NAME TAISYOU
+319D ; [.FB40.0020.0014.5929][.D929.0000.0000.5929] # IDEOGRAPHIC ANNOTATION HEAVEN MARK
+1F217 ; [.FB40.0020.001C.5929][.D929.0000.0000.5929] # SQUARED CJK UNIFIED IDEOGRAPH-5929
+FA7E ; [.FB40.0020.0002.5944][.D944.0000.0000.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C ; [.FB40.0020.0002.5948][.D948.0000.0000.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909 ; [.FB40.0020.0002.5951][.D951.0000.0000.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F ; [.FB40.0020.0002.5954][.D954.0000.0000.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F ; [.FB40.0020.0002.5962][.D962.0000.0000.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981 ; [.FB40.0020.0002.5973][.D973.0000.0000.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F25 ; [.FB40.0020.0004.5973][.D973.0000.0000.5973] # KANGXI RADICAL WOMAN
+329B ; [.FB40.0020.0006.5973][.D973.0000.0000.5973] # CIRCLED IDEOGRAPH FEMALE
+2F865 ; [.FB40.0020.0002.59D8][.D9D8.0000.0000.59D8] # CJK COMPATIBILITY IDEOGRAPH-2F865
+2F862 ; [.FB40.0020.0002.59EC][.D9EC.0000.0000.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
+2F863 ; [.FB40.0020.0002.5A1B][.DA1B.0000.0000.5A1B] # CJK COMPATIBILITY IDEOGRAPH-2F863
+2F864 ; [.FB40.0020.0002.5A27][.DA27.0000.0000.5A27] # CJK COMPATIBILITY IDEOGRAPH-2F864
+FA80 ; [.FB40.0020.0002.5A62][.DA62.0000.0000.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866 ; [.FB40.0020.0002.5A66][.DA66.0000.0000.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F986 ; [.FB40.0020.0002.5AB5][.DAB5.0000.0000.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
+2F869 ; [.FB40.0020.0002.5B08][.DB08.0000.0000.5B08] # CJK COMPATIBILITY IDEOGRAPH-2F869
+FA81 ; [.FB40.0020.0002.5B28][.DB28.0000.0000.5B28] # CJK COMPATIBILITY IDEOGRAPH-FA81
+2F86A ; [.FB40.0020.0002.5B3E][.DB3E.0000.0000.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B ; [.FB40.0020.0002.5B3E][.DB3E.0000.0000.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+2F26 ; [.FB40.0020.0004.5B50][.DB50.0000.0000.5B50] # KANGXI RADICAL CHILD
+1F211 ; [.FB40.0020.001C.5B57][.DB57.0000.0000.5B57] # SQUARED CJK UNIFIED IDEOGRAPH-5B57
+323B ; [*02FB.0020.0004.323B][.FB40.0020.0004.5B66][.DB66.0000.0000.5B66][*02FC.0020.001F.323B] # PARENTHESIZED IDEOGRAPH STUDY
+32AB ; [.FB40.0020.0006.5B66][.DB66.0000.0000.5B66] # CIRCLED IDEOGRAPH STUDY
+2F27 ; [.FB40.0020.0004.5B80][.DB80.0000.0000.5B80] # KANGXI RADICAL ROOF
+FA04 ; [.FB40.0020.0002.5B85][.DB85.0000.0000.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
+1F243 ; [*0359.0020.0004.1F243][.FB40.0020.0004.5B89][.DB89.0000.0000.5B89][*035A.0020.001F.1F243] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
+32AA ; [.FB40.0020.0006.5B97][.DB97.0000.0000.5B97] # CIRCLED IDEOGRAPH RELIGION
+2F86D ; [.FB40.0020.0002.5BC3][.DBC3.0000.0000.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D
+2F86E ; [.FB40.0020.0002.5BD8][.DBD8.0000.0000.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E
+F95F ; [.FB40.0020.0002.5BE7][.DBE7.0000.0000.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA ; [.FB40.0020.0002.5BE7][.DBE7.0000.0000.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F ; [.FB40.0020.0002.5BE7][.DBE7.0000.0000.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC ; [.FB40.0020.0002.5BEE][.DBEE.0000.0000.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F870 ; [.FB40.0020.0002.5BF3][.DBF3.0000.0000.5BF3] # CJK COMPATIBILITY IDEOGRAPH-2F870
+2F28 ; [.FB40.0020.0004.5BF8][.DBF8.0000.0000.5BF8] # KANGXI RADICAL INCH
+2F872 ; [.FB40.0020.0002.5BFF][.DBFF.0000.0000.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872
+2F873 ; [.FB40.0020.0002.5C06][.DC06.0000.0000.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873
+2F29 ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F] # KANGXI RADICAL SMALL
+2E8C ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F][.0000.0139.001F.2E8C] # CJK RADICAL SMALL ONE
+2E8D ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F][.0000.013A.001F.2E8D] # CJK RADICAL SMALL TWO
+2F875 ; [.FB40.0020.0002.5C22][.DC22.0000.0000.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
+2E90 ; [.FB40.0020.0004.5C22][.DC22.0000.0000.5C22] # CJK RADICAL LAME THREE
+2F2A ; [.FB40.0020.0004.5C22][.DC22.0000.0000.5C22] # KANGXI RADICAL LAME
+2E8E ; [.FB40.0020.0004.5C22][.DC22.0000.0000.5C22][.0000.0139.001F.2E8E] # CJK RADICAL LAME ONE
+2E8F ; [.FB40.0020.0004.5C23][.DC23.0000.0000.5C23] # CJK RADICAL LAME TWO
+2E91 ; [.FB40.0020.0004.5C23][.DC23.0000.0000.5C23][.0000.0139.001F.2E91] # CJK RADICAL LAME FOUR
+2F2B ; [.FB40.0020.0004.5C38][.DC38.0000.0000.5C38] # KANGXI RADICAL CORPSE
+F9BD ; [.FB40.0020.0002.5C3F][.DC3F.0000.0000.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877 ; [.FB40.0020.0002.5C60][.DC60.0000.0000.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F94B ; [.FB40.0020.0002.5C62][.DC62.0000.0000.5C62] # CJK COMPATIBILITY IDEOGRAPH-F94B
+FA3B ; [.FB40.0020.0002.5C64][.DC64.0000.0000.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF ; [.FB40.0020.0002.5C65][.DC65.0000.0000.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C ; [.FB40.0020.0002.5C6E][.DC6E.0000.0000.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878 ; [.FB40.0020.0002.5C6E][.DC6E.0000.0000.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
+2F2C ; [.FB40.0020.0004.5C6E][.DC6E.0000.0000.5C6E] # KANGXI RADICAL SPROUT
+2F2D ; [.FB40.0020.0004.5C71][.DC71.0000.0000.5C71] # KANGXI RADICAL MOUNTAIN
+2F87A ; [.FB40.0020.0002.5C8D][.DC8D.0000.0000.5C8D] # CJK COMPATIBILITY IDEOGRAPH-2F87A
+2F879 ; [.FB40.0020.0002.5CC0][.DCC0.0000.0000.5CC0] # CJK COMPATIBILITY IDEOGRAPH-2F879
+F9D5 ; [.FB40.0020.0002.5D19][.DD19.0000.0000.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+2F87C ; [.FB40.0020.0002.5D43][.DD43.0000.0000.5D43] # CJK COMPATIBILITY IDEOGRAPH-2F87C
+F921 ; [.FB40.0020.0002.5D50][.DD50.0000.0000.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
+2F87F ; [.FB40.0020.0002.5D6B][.DD6B.0000.0000.5D6B] # CJK COMPATIBILITY IDEOGRAPH-2F87F
+2F87E ; [.FB40.0020.0002.5D6E][.DD6E.0000.0000.5D6E] # CJK COMPATIBILITY IDEOGRAPH-2F87E
+2F880 ; [.FB40.0020.0002.5D7C][.DD7C.0000.0000.5D7C] # CJK COMPATIBILITY IDEOGRAPH-2F880
+2F9F4 ; [.FB40.0020.0002.5DB2][.DDB2.0000.0000.5DB2] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
+F9AB ; [.FB40.0020.0002.5DBA][.DDBA.0000.0000.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F2E ; [.FB40.0020.0004.5DDB][.DDDB.0000.0000.5DDB] # KANGXI RADICAL RIVER
+2F881 ; [.FB40.0020.0002.5DE1][.DDE1.0000.0000.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882 ; [.FB40.0020.0002.5DE2][.DDE2.0000.0000.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F2F ; [.FB40.0020.0004.5DE5][.DDE5.0000.0000.5DE5] # KANGXI RADICAL WORK
+32A7 ; [.FB40.0020.0006.5DE6][.DDE6.0000.0000.5DE6] # CIRCLED IDEOGRAPH LEFT
+1F22C ; [.FB40.0020.001C.5DE6][.DDE6.0000.0000.5DE6] # SQUARED CJK UNIFIED IDEOGRAPH-5DE6
+2F30 ; [.FB40.0020.0004.5DF1][.DDF1.0000.0000.5DF1] # KANGXI RADICAL ONESELF
+2E92 ; [.FB40.0020.0004.5DF3][.DDF3.0000.0000.5DF3] # CJK RADICAL SNAKE
+2F884 ; [.FB40.0020.0002.5DFD][.DDFD.0000.0000.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F31 ; [.FB40.0020.0004.5DFE][.DDFE.0000.0000.5DFE] # KANGXI RADICAL TURBAN
+2F885 ; [.FB40.0020.0002.5E28][.DE28.0000.0000.5E28] # CJK COMPATIBILITY IDEOGRAPH-2F885
+2F886 ; [.FB40.0020.0002.5E3D][.DE3D.0000.0000.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
+2F887 ; [.FB40.0020.0002.5E69][.DE69.0000.0000.5E69] # CJK COMPATIBILITY IDEOGRAPH-2F887
+2F32 ; [.FB40.0020.0004.5E72][.DE72.0000.0000.5E72] # KANGXI RADICAL DRY
+337B ; [.FB40.0020.001C.5E73][.DE73.0000.0000.5E73][.FB40.0020.001F.6210][.E210.0000.0000.6210] # SQUARE ERA NAME HEISEI
+F98E ; [.FB40.0020.0002.5E74][.DE74.0000.0000.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
+2E93 ; [.FB40.0020.0004.5E7A][.DE7A.0000.0000.5E7A] # CJK RADICAL THREAD
+2F33 ; [.FB40.0020.0004.5E7A][.DE7A.0000.0000.5E7A] # KANGXI RADICAL SHORT THREAD
+3245 ; [.FB40.0020.0006.5E7C][.DE7C.0000.0000.5E7C] # CIRCLED IDEOGRAPH KINDERGARTEN
+2F34 ; [.FB40.0020.0004.5E7F][.DE7F.0000.0000.5E7F] # KANGXI RADICAL DOTTED CLIFF
+FA01 ; [.FB40.0020.0002.5EA6][.DEA6.0000.0000.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88B ; [.FB40.0020.0002.5EB0][.DEB0.0000.0000.5EB0] # CJK COMPATIBILITY IDEOGRAPH-2F88B
+2F88C ; [.FB40.0020.0002.5EB3][.DEB3.0000.0000.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D ; [.FB40.0020.0002.5EB6][.DEB6.0000.0000.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2 ; [.FB40.0020.0002.5EC9][.DEC9.0000.0000.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928 ; [.FB40.0020.0002.5ECA][.DECA.0000.0000.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E ; [.FB40.0020.0002.5ECA][.DECA.0000.0000.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA82 ; [.FB40.0020.0002.5ED2][.DED2.0000.0000.5ED2] # CJK COMPATIBILITY IDEOGRAPH-FA82
+FA0B ; [.FB40.0020.0002.5ED3][.DED3.0000.0000.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+FA83 ; [.FB40.0020.0002.5ED9][.DED9.0000.0000.5ED9] # CJK COMPATIBILITY IDEOGRAPH-FA83
+F982 ; [.FB40.0020.0002.5EEC][.DEEC.0000.0000.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
+2F35 ; [.FB40.0020.0004.5EF4][.DEF4.0000.0000.5EF4] # KANGXI RADICAL LONG STRIDE
+2F890 ; [.FB40.0020.0002.5EFE][.DEFE.0000.0000.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
+2F36 ; [.FB40.0020.0004.5EFE][.DEFE.0000.0000.5EFE] # KANGXI RADICAL TWO HANDS
+F943 ; [.FB40.0020.0002.5F04][.DF04.0000.0000.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F37 ; [.FB40.0020.0004.5F0B][.DF0B.0000.0000.5F0B] # KANGXI RADICAL SHOOT
+2F38 ; [.FB40.0020.0004.5F13][.DF13.0000.0000.5F13] # KANGXI RADICAL BOW
+2F894 ; [.FB40.0020.0002.5F22][.DF22.0000.0000.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894
+2F895 ; [.FB40.0020.0002.5F22][.DF22.0000.0000.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895
+2F39 ; [.FB40.0020.0004.5F50][.DF50.0000.0000.5F50] # KANGXI RADICAL SNOUT
+2E95 ; [.FB40.0020.0004.5F50][.DF50.0000.0000.5F50][.0000.0139.001F.2E95] # CJK RADICAL SNOUT TWO
+2E94 ; [.FB40.0020.0004.5F51][.DF51.0000.0000.5F51] # CJK RADICAL SNOUT ONE
+2F874 ; [.FB40.0020.0002.5F53][.DF53.0000.0000.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874
+2F3A ; [.FB40.0020.0004.5F61][.DF61.0000.0000.5F61] # KANGXI RADICAL BRISTLE
+2F899 ; [.FB40.0020.0002.5F62][.DF62.0000.0000.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84 ; [.FB40.0020.0002.5F69][.DF69.0000.0000.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A ; [.FB40.0020.0002.5F6B][.DF6B.0000.0000.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+2F3B ; [.FB40.0020.0004.5F73][.DF73.0000.0000.5F73] # KANGXI RADICAL STEP
+F9D8 ; [.FB40.0020.0002.5F8B][.DF8B.0000.0000.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+1F21D ; [.FB40.0020.001C.5F8C][.DF8C.0000.0000.5F8C] # SQUARED CJK UNIFIED IDEOGRAPH-5F8C
+1F250 ; [.FB40.0020.0006.5F97][.DF97.0000.0000.5F97] # CIRCLED IDEOGRAPH ADVANTAGE
+2F89C ; [.FB40.0020.0002.5F9A][.DF9A.0000.0000.5F9A] # CJK COMPATIBILITY IDEOGRAPH-2F89C
+F966 ; [.FB40.0020.0002.5FA9][.DFA9.0000.0000.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85 ; [.FB40.0020.0002.5FAD][.DFAD.0000.0000.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F3C ; [.FB40.0020.0004.5FC3][.DFC3.0000.0000.5FC3] # KANGXI RADICAL HEART
+2E97 ; [.FB40.0020.0004.5FC3][.DFC3.0000.0000.5FC3][.0000.0139.001F.2E97] # CJK RADICAL HEART TWO
+2E96 ; [.FB40.0020.0004.5FC4][.DFC4.0000.0000.5FC4] # CJK RADICAL HEART ONE
+2F89D ; [.FB40.0020.0002.5FCD][.DFCD.0000.0000.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E ; [.FB40.0020.0002.5FD7][.DFD7.0000.0000.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3 ; [.FB40.0020.0002.5FF5][.DFF5.0000.0000.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+2F89F ; [.FB40.0020.0002.5FF9][.DFF9.0000.0000.5FF9] # CJK COMPATIBILITY IDEOGRAPH-2F89F
+F960 ; [.FB40.0020.0002.6012][.E012.0000.0000.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC ; [.FB40.0020.0002.601C][.E01C.0000.0000.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+FA6B ; [.FB40.0020.0002.6075][.E075.0000.0000.6075] # CJK COMPATIBILITY IDEOGRAPH-FA6B
+2F8A0 ; [.FB40.0020.0002.6081][.E081.0000.0000.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D ; [.FB40.0020.0002.6094][.E094.0000.0000.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3 ; [.FB40.0020.0002.6094][.E094.0000.0000.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5 ; [.FB40.0020.0002.60C7][.E0C7.0000.0000.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86 ; [.FB40.0020.0002.60D8][.E0D8.0000.0000.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9 ; [.FB40.0020.0002.60E1][.E0E1.0000.0000.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88 ; [.FB40.0020.0002.6108][.E108.0000.0000.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9 ; [.FB40.0020.0002.6144][.E144.0000.0000.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6 ; [.FB40.0020.0002.6148][.E148.0000.0000.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7 ; [.FB40.0020.0002.614C][.E14C.0000.0000.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9 ; [.FB40.0020.0002.614C][.E14C.0000.0000.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87 ; [.FB40.0020.0002.614E][.E14E.0000.0000.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8 ; [.FB40.0020.0002.614E][.E14E.0000.0000.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA8A ; [.FB40.0020.0002.6160][.E160.0000.0000.6160] # CJK COMPATIBILITY IDEOGRAPH-FA8A
+FA3E ; [.FB40.0020.0002.6168][.E168.0000.0000.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+2F8AA ; [.FB40.0020.0002.617A][.E17A.0000.0000.617A] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
+FA3F ; [.FB40.0020.0002.618E][.E18E.0000.0000.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89 ; [.FB40.0020.0002.618E][.E18E.0000.0000.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB ; [.FB40.0020.0002.618E][.E18E.0000.0000.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F ; [.FB40.0020.0002.6190][.E190.0000.0000.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD ; [.FB40.0020.0002.61A4][.E1A4.0000.0000.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AE ; [.FB40.0020.0002.61AF][.E1AF.0000.0000.61AF] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
+2F8AC ; [.FB40.0020.0002.61B2][.E1B2.0000.0000.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+2F8AF ; [.FB40.0020.0002.61DE][.E1DE.0000.0000.61DE] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
+FA40 ; [.FB40.0020.0002.61F2][.E1F2.0000.0000.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B ; [.FB40.0020.0002.61F2][.E1F2.0000.0000.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0 ; [.FB40.0020.0002.61F2][.E1F2.0000.0000.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D ; [.FB40.0020.0002.61F6][.E1F6.0000.0000.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1 ; [.FB40.0020.0002.61F6][.E1F6.0000.0000.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990 ; [.FB40.0020.0002.6200][.E200.0000.0000.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F3D ; [.FB40.0020.0004.6208][.E208.0000.0000.6208] # KANGXI RADICAL HALBERD
+2F8B2 ; [.FB40.0020.0002.6210][.E210.0000.0000.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3 ; [.FB40.0020.0002.621B][.E21B.0000.0000.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2 ; [.FB40.0020.0002.622E][.E22E.0000.0000.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C ; [.FB40.0020.0002.6234][.E234.0000.0000.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F3E ; [.FB40.0020.0004.6236][.E236.0000.0000.6236] # KANGXI RADICAL DOOR
+2F3F ; [.FB40.0020.0004.624B][.E24B.0000.0000.624B] # KANGXI RADICAL HAND
+1F210 ; [.FB40.0020.001C.624B][.E24B.0000.0000.624B] # SQUARED CJK UNIFIED IDEOGRAPH-624B
+2E98 ; [.FB40.0020.0004.624C][.E24C.0000.0000.624C] # CJK RADICAL HAND
+1F245 ; [*0359.0020.0004.1F245][.FB40.0020.0004.6253][.E253.0000.0000.6253][*035A.0020.001F.1F245] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
+1F231 ; [.FB40.0020.001C.6253][.E253.0000.0000.6253] # SQUARED CJK UNIFIED IDEOGRAPH-6253
+2F8B4 ; [.FB40.0020.0002.625D][.E25D.0000.0000.625D] # CJK COMPATIBILITY IDEOGRAPH-2F8B4
+1F227 ; [.FB40.0020.001C.6295][.E295.0000.0000.6295] # SQUARED CJK UNIFIED IDEOGRAPH-6295
+2F8B5 ; [.FB40.0020.0002.62B1][.E2B1.0000.0000.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925 ; [.FB40.0020.0002.62C9][.E2C9.0000.0000.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B ; [.FB40.0020.0002.62CF][.E2CF.0000.0000.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02 ; [.FB40.0020.0002.62D3][.E2D3.0000.0000.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6 ; [.FB40.0020.0002.62D4][.E2D4.0000.0000.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+2F8BA ; [.FB40.0020.0002.62FC][.E2FC.0000.0000.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
+F973 ; [.FB40.0020.0002.62FE][.E2FE.0000.0000.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
+1F22F ; [.FB40.0020.001C.6307][.E307.0000.0000.6307] # SQUARED CJK UNIFIED IDEOGRAPH-6307
+2F8B9 ; [.FB40.0020.0002.633D][.E33D.0000.0000.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7 ; [.FB40.0020.0002.6350][.E350.0000.0000.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+1F228 ; [.FB40.0020.001C.6355][.E355.0000.0000.6355] # SQUARED CJK UNIFIED IDEOGRAPH-6355
+2F8BB ; [.FB40.0020.0002.6368][.E368.0000.0000.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4 ; [.FB40.0020.0002.637B][.E37B.0000.0000.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC ; [.FB40.0020.0002.6383][.E383.0000.0000.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975 ; [.FB40.0020.0002.63A0][.E3A0.0000.0000.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1 ; [.FB40.0020.0002.63A9][.E3A9.0000.0000.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D ; [.FB40.0020.0002.63C4][.E3C4.0000.0000.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+2F8C0 ; [.FB40.0020.0002.63C5][.E3C5.0000.0000.63C5] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
+2F8BD ; [.FB40.0020.0002.63E4][.E3E4.0000.0000.63E4] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
+FA8E ; [.FB40.0020.0002.641C][.E41C.0000.0000.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8BF ; [.FB40.0020.0002.6422][.E422.0000.0000.6422] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
+FA8F ; [.FB40.0020.0002.6452][.E452.0000.0000.6452] # CJK COMPATIBILITY IDEOGRAPH-FA8F
+2F8C3 ; [.FB40.0020.0002.6469][.E469.0000.0000.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+2F8C6 ; [.FB40.0020.0002.6477][.E477.0000.0000.6477] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
+2F8C4 ; [.FB40.0020.0002.647E][.E47E.0000.0000.647E] # CJK COMPATIBILITY IDEOGRAPH-2F8C4
+F991 ; [.FB40.0020.0002.649A][.E49A.0000.0000.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
+2F8C5 ; [.FB40.0020.0002.649D][.E49D.0000.0000.649D] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
+F930 ; [.FB40.0020.0002.64C4][.E4C4.0000.0000.64C4] # CJK COMPATIBILITY IDEOGRAPH-F930
+2F40 ; [.FB40.0020.0004.652F][.E52F.0000.0000.652F] # KANGXI RADICAL BRANCH
+2F41 ; [.FB40.0020.0004.6534][.E534.0000.0000.6534] # KANGXI RADICAL RAP
+2E99 ; [.FB40.0020.0004.6535][.E535.0000.0000.6535] # CJK RADICAL RAP
+FA41 ; [.FB40.0020.0002.654F][.E54F.0000.0000.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8 ; [.FB40.0020.0002.654F][.E54F.0000.0000.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90 ; [.FB40.0020.0002.6556][.E556.0000.0000.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
+1F248 ; [*0359.0020.0004.1F248][.FB40.0020.0004.6557][.E557.0000.0000.6557][*035A.0020.001F.1F248] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
+2F8C9 ; [.FB40.0020.0002.656C][.E56C.0000.0000.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969 ; [.FB40.0020.0002.6578][.E578.0000.0000.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
+2F42 ; [.FB40.0020.0004.6587][.E587.0000.0000.6587] # KANGXI RADICAL SCRIPT
+3246 ; [.FB40.0020.0006.6587][.E587.0000.0000.6587] # CIRCLED IDEOGRAPH SCHOOL
+2F43 ; [.FB40.0020.0004.6597][.E597.0000.0000.6597] # KANGXI RADICAL DIPPER
+F9BE ; [.FB40.0020.0002.6599][.E599.0000.0000.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+1F21B ; [.FB40.0020.001C.6599][.E599.0000.0000.6599] # SQUARED CJK UNIFIED IDEOGRAPH-6599
+2F44 ; [.FB40.0020.0004.65A4][.E5A4.0000.0000.65A4] # KANGXI RADICAL AXE
+1F21F ; [.FB40.0020.001C.65B0][.E5B0.0000.0000.65B0] # SQUARED CJK UNIFIED IDEOGRAPH-65B0
+2F45 ; [.FB40.0020.0004.65B9][.E5B9.0000.0000.65B9] # KANGXI RADICAL SQUARE
+F983 ; [.FB40.0020.0002.65C5][.E5C5.0000.0000.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
+2F46 ; [.FB40.0020.0004.65E0][.E5E0.0000.0000.65E0] # KANGXI RADICAL NOT
+2E9B ; [.FB40.0020.0004.65E1][.E5E1.0000.0000.65E1] # CJK RADICAL CHOKE
+FA42 ; [.FB40.0020.0002.65E2][.E5E2.0000.0000.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
+2F8CB ; [.FB40.0020.0002.65E3][.E5E3.0000.0000.65E3] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
+2F47 ; [.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # KANGXI RADICAL SUN
+3230 ; [*02FB.0020.0004.3230][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5][*02FC.0020.001F.3230] # PARENTHESIZED IDEOGRAPH SUN
+3290 ; [.FB40.0020.0006.65E5][.E5E5.0000.0000.65E5] # CIRCLED IDEOGRAPH SUN
+2E9C ; [.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5][.0000.0139.001F.2E9C] # CJK RADICAL SUN
+337E ; [.FB40.0020.001C.660E][.E60E.0000.0000.660E][.FB40.0020.001F.6CBB][.ECBB.0000.0000.6CBB] # SQUARE ERA NAME MEIZI
+F9E0 ; [.FB40.0020.0002.6613][.E613.0000.0000.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+1F219 ; [.FB40.0020.001C.6620][.E620.0000.0000.6620] # SQUARED CJK UNIFIED IDEOGRAPH-6620
+337C ; [.FB40.0020.001C.662D][.E62D.0000.0000.662D][.FB40.0020.001F.548C][.D48C.0000.0000.548C] # SQUARE ERA NAME SYOUWA
+2F8CD ; [.FB40.0020.0002.6649][.E649.0000.0000.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12 ; [.FB40.0020.0002.6674][.E674.0000.0000.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91 ; [.FB40.0020.0002.6674][.E674.0000.0000.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5 ; [.FB40.0020.0002.6688][.E688.0000.0000.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43 ; [.FB40.0020.0002.6691][.E691.0000.0000.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF ; [.FB40.0020.0002.6691][.E691.0000.0000.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+2F8D5 ; [.FB40.0020.0002.669C][.E69C.0000.0000.669C] # CJK COMPATIBILITY IDEOGRAPH-2F8D5
+FA06 ; [.FB40.0020.0002.66B4][.E6B4.0000.0000.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F98B ; [.FB40.0020.0002.66C6][.E6C6.0000.0000.66C6] # CJK COMPATIBILITY IDEOGRAPH-F98B
+2F48 ; [.FB40.0020.0004.66F0][.E6F0.0000.0000.66F0] # KANGXI RADICAL SAY
+F901 ; [.FB40.0020.0002.66F4][.E6F4.0000.0000.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC ; [.FB40.0020.0002.66F8][.E6F8.0000.0000.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4 ; [.FB40.0020.0002.6700][.E700.0000.0000.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+2F49 ; [.FB40.0020.0004.6708][.E708.0000.0000.6708] # KANGXI RADICAL MOON
+322A ; [*02FB.0020.0004.322A][.FB40.0020.0004.6708][.E708.0000.0000.6708][*02FC.0020.001F.322A] # PARENTHESIZED IDEOGRAPH MOON
+328A ; [.FB40.0020.0006.6708][.E708.0000.0000.6708] # CIRCLED IDEOGRAPH MOON
+1F237 ; [.FB40.0020.001C.6708][.E708.0000.0000.6708] # SQUARED CJK UNIFIED IDEOGRAPH-6708
+2E9D ; [.FB40.0020.0004.6708][.E708.0000.0000.6708][.0000.0139.001F.2E9D] # CJK RADICAL MOON
+3232 ; [*02FB.0020.0004.3232][.FB40.0020.0004.6709][.E709.0000.0000.6709][*02FC.0020.001F.3232] # PARENTHESIZED IDEOGRAPH HAVE
+3292 ; [.FB40.0020.0006.6709][.E709.0000.0000.6709] # CIRCLED IDEOGRAPH HAVE
+1F236 ; [.FB40.0020.001C.6709][.E709.0000.0000.6709] # SQUARED CJK UNIFIED IDEOGRAPH-6709
+F929 ; [.FB40.0020.0002.6717][.E717.0000.0000.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92 ; [.FB40.0020.0002.6717][.E717.0000.0000.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8 ; [.FB40.0020.0002.6717][.E717.0000.0000.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93 ; [.FB40.0020.0002.671B][.E71B.0000.0000.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9 ; [.FB40.0020.0002.671B][.E71B.0000.0000.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+2F8DA ; [.FB40.0020.0002.6721][.E721.0000.0000.6721] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
+2F4A ; [.FB40.0020.0004.6728][.E728.0000.0000.6728] # KANGXI RADICAL TREE
+322D ; [*02FB.0020.0004.322D][.FB40.0020.0004.6728][.E728.0000.0000.6728][*02FC.0020.001F.322D] # PARENTHESIZED IDEOGRAPH WOOD
+328D ; [.FB40.0020.0006.6728][.E728.0000.0000.6728] # CIRCLED IDEOGRAPH WOOD
+1F240 ; [*0359.0020.0004.1F240][.FB40.0020.0004.672C][.E72C.0000.0000.672C][*035A.0020.001F.1F240] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
+F9E1 ; [.FB40.0020.0002.674E][.E74E.0000.0000.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC ; [.FB40.0020.0002.6753][.E753.0000.0000.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94 ; [.FB40.0020.0002.6756][.E756.0000.0000.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB ; [.FB40.0020.0002.675E][.E75E.0000.0000.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9C8 ; [.FB40.0020.0002.677B][.E77B.0000.0000.677B] # CJK COMPATIBILITY IDEOGRAPH-F9C8
+2F8E0 ; [.FB40.0020.0002.6785][.E785.0000.0000.6785] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
+F9F4 ; [.FB40.0020.0002.6797][.E797.0000.0000.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9 ; [.FB40.0020.0002.67F3][.E7F3.0000.0000.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+2F8DF ; [.FB40.0020.0002.67FA][.E7FA.0000.0000.67FA] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
+F9DA ; [.FB40.0020.0002.6817][.E817.0000.0000.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+2F8E5 ; [.FB40.0020.0002.681F][.E81F.0000.0000.681F] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
+3231 ; [*02FB.0020.0004.3231][.FB40.0020.0004.682A][.E82A.0000.0000.682A][*02FC.0020.001F.3231] # PARENTHESIZED IDEOGRAPH STOCK
+3291 ; [.FB40.0020.0006.682A][.E82A.0000.0000.682A] # CIRCLED IDEOGRAPH STOCK
+337F ; [.FB40.0020.001C.682A][.E82A.0000.0000.682A][.FB40.0020.001F.5F0F][.DF0F.0000.0000.5F0F][.FB40.0020.001F.4F1A][.CF1A.0000.0000.4F1A][.FB40.0020.001F.793E][.F93E.0000.0000.793E] # SQUARE CORPORATION
+2F8E1 ; [.FB40.0020.0002.6852][.E852.0000.0000.6852] # CJK COMPATIBILITY IDEOGRAPH-2F8E1
+F97A ; [.FB40.0020.0002.6881][.E881.0000.0000.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44 ; [.FB40.0020.0002.6885][.E885.0000.0000.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2 ; [.FB40.0020.0002.6885][.E885.0000.0000.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+2F8E4 ; [.FB40.0020.0002.688E][.E88E.0000.0000.688E] # CJK COMPATIBILITY IDEOGRAPH-2F8E4
+F9E2 ; [.FB40.0020.0002.68A8][.E8A8.0000.0000.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E6 ; [.FB40.0020.0002.6914][.E914.0000.0000.6914] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
+2F8E8 ; [.FB40.0020.0002.6942][.E942.0000.0000.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8E9 ; [.FB40.0020.0002.69A3][.E9A3.0000.0000.69A3] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
+2F8EA ; [.FB40.0020.0002.69EA][.E9EA.0000.0000.69EA] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
+F914 ; [.FB40.0020.0002.6A02][.EA02.0000.0000.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C ; [.FB40.0020.0002.6A02][.EA02.0000.0000.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF ; [.FB40.0020.0002.6A02][.EA02.0000.0000.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C ; [.FB40.0020.0002.6A13][.EA13.0000.0000.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
+2F8EB ; [.FB40.0020.0002.6AA8][.EAA8.0000.0000.6AA8] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
+F931 ; [.FB40.0020.0002.6AD3][.EAD3.0000.0000.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED ; [.FB40.0020.0002.6ADB][.EADB.0000.0000.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D ; [.FB40.0020.0002.6B04][.EB04.0000.0000.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F4B ; [.FB40.0020.0004.6B20][.EB20.0000.0000.6B20] # KANGXI RADICAL LACK
+2F8EF ; [.FB40.0020.0002.6B21][.EB21.0000.0000.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1 ; [.FB40.0020.0002.6B54][.EB54.0000.0000.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+2F4C ; [.FB40.0020.0004.6B62][.EB62.0000.0000.6B62] # KANGXI RADICAL STOP
+32A3 ; [.FB40.0020.0006.6B63][.EB63.0000.0000.6B63] # CIRCLED IDEOGRAPH CORRECT
+2F8F3 ; [.FB40.0020.0002.6B72][.EB72.0000.0000.6B72] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
+F98C ; [.FB40.0020.0002.6B77][.EB77.0000.0000.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C
+FA95 ; [.FB40.0020.0002.6B79][.EB79.0000.0000.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
+2F4D ; [.FB40.0020.0004.6B79][.EB79.0000.0000.6B79] # KANGXI RADICAL DEATH
+2E9E ; [.FB40.0020.0004.6B7A][.EB7A.0000.0000.6B7A][.0000.0139.001F.2E9E] # CJK RADICAL DEATH
+2F8F4 ; [.FB40.0020.0002.6B9F][.EB9F.0000.0000.6B9F] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
+F9A5 ; [.FB40.0020.0002.6BAE][.EBAE.0000.0000.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5
+2F4E ; [.FB40.0020.0004.6BB3][.EBB3.0000.0000.6BB3] # KANGXI RADICAL WEAPON
+F970 ; [.FB40.0020.0002.6BBA][.EBBA.0000.0000.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96 ; [.FB40.0020.0002.6BBA][.EBBA.0000.0000.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5 ; [.FB40.0020.0002.6BBA][.EBBA.0000.0000.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8F6 ; [.FB40.0020.0002.6BBB][.EBBB.0000.0000.6BBB] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
+2F4F ; [.FB40.0020.0004.6BCB][.EBCB.0000.0000.6BCB] # KANGXI RADICAL DO NOT
+2E9F ; [.FB40.0020.0004.6BCD][.EBCD.0000.0000.6BCD] # CJK RADICAL MOTHER
+2F50 ; [.FB40.0020.0004.6BD4][.EBD4.0000.0000.6BD4] # KANGXI RADICAL COMPARE
+2F51 ; [.FB40.0020.0004.6BDB][.EBDB.0000.0000.6BDB] # KANGXI RADICAL FUR
+2F52 ; [.FB40.0020.0004.6C0F][.EC0F.0000.0000.6C0F] # KANGXI RADICAL CLAN
+2EA0 ; [.FB40.0020.0004.6C11][.EC11.0000.0000.6C11] # CJK RADICAL CIVILIAN
+2F53 ; [.FB40.0020.0004.6C14][.EC14.0000.0000.6C14] # KANGXI RADICAL STEAM
+2F54 ; [.FB40.0020.0004.6C34][.EC34.0000.0000.6C34] # KANGXI RADICAL WATER
+322C ; [*02FB.0020.0004.322C][.FB40.0020.0004.6C34][.EC34.0000.0000.6C34][*02FC.0020.001F.322C] # PARENTHESIZED IDEOGRAPH WATER
+328C ; [.FB40.0020.0006.6C34][.EC34.0000.0000.6C34] # CIRCLED IDEOGRAPH WATER
+2EA1 ; [.FB40.0020.0004.6C35][.EC35.0000.0000.6C35] # CJK RADICAL WATER ONE
+2EA2 ; [.FB40.0020.0004.6C3A][.EC3A.0000.0000.6C3A] # CJK RADICAL WATER TWO
+2F8FA ; [.FB40.0020.0002.6C4E][.EC4E.0000.0000.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+2F8FE ; [.FB40.0020.0002.6C67][.EC67.0000.0000.6C67] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
+F972 ; [.FB40.0020.0002.6C88][.EC88.0000.0000.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC ; [.FB40.0020.0002.6CBF][.ECBF.0000.0000.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968 ; [.FB40.0020.0002.6CCC][.ECCC.0000.0000.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
+2F8FD ; [.FB40.0020.0002.6CCD][.ECCD.0000.0000.6CCD] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
+F9E3 ; [.FB40.0020.0002.6CE5][.ECE5.0000.0000.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+329F ; [.FB40.0020.0006.6CE8][.ECE8.0000.0000.6CE8] # CIRCLED IDEOGRAPH ATTENTION
+2F8FF ; [.FB40.0020.0002.6D16][.ED16.0000.0000.6D16] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
+F915 ; [.FB40.0020.0002.6D1B][.ED1B.0000.0000.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05 ; [.FB40.0020.0002.6D1E][.ED1E.0000.0000.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F907 ; [.FB40.0020.0002.6D34][.ED34.0000.0000.6D34] # CJK COMPATIBILITY IDEOGRAPH-2F907
+2F900 ; [.FB40.0020.0002.6D3E][.ED3E.0000.0000.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA ; [.FB40.0020.0002.6D41][.ED41.0000.0000.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97 ; [.FB40.0020.0002.6D41][.ED41.0000.0000.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902 ; [.FB40.0020.0002.6D41][.ED41.0000.0000.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903 ; [.FB40.0020.0002.6D69][.ED69.0000.0000.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A ; [.FB40.0020.0002.6D6A][.ED6A.0000.0000.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45 ; [.FB40.0020.0002.6D77][.ED77.0000.0000.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901 ; [.FB40.0020.0002.6D77][.ED77.0000.0000.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904 ; [.FB40.0020.0002.6D78][.ED78.0000.0000.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905 ; [.FB40.0020.0002.6D85][.ED85.0000.0000.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5 ; [.FB40.0020.0002.6DCB][.EDCB.0000.0000.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F94D ; [.FB40.0020.0002.6DDA][.EDDA.0000.0000.6DDA] # CJK COMPATIBILITY IDEOGRAPH-F94D
+F9D6 ; [.FB40.0020.0002.6DEA][.EDEA.0000.0000.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E ; [.FB40.0020.0002.6DF9][.EDF9.0000.0000.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46 ; [.FB40.0020.0002.6E1A][.EE1A.0000.0000.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908 ; [.FB40.0020.0002.6E2F][.EE2F.0000.0000.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909 ; [.FB40.0020.0002.6E6E][.EE6E.0000.0000.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
+1F235 ; [.FB40.0020.001C.6E80][.EE80.0000.0000.6E80] # SQUARED CJK UNIFIED IDEOGRAPH-6E80
+F9CB ; [.FB40.0020.0002.6E9C][.EE9C.0000.0000.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC ; [.FB40.0020.0002.6EBA][.EEBA.0000.0000.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+2F90C ; [.FB40.0020.0002.6EC7][.EEC7.0000.0000.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C
+FA99 ; [.FB40.0020.0002.6ECB][.EECB.0000.0000.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B ; [.FB40.0020.0002.6ECB][.EECB.0000.0000.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904 ; [.FB40.0020.0002.6ED1][.EED1.0000.0000.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
+FA98 ; [.FB40.0020.0002.6EDB][.EEDB.0000.0000.6EDB] # CJK COMPATIBILITY IDEOGRAPH-FA98
+F94E ; [.FB40.0020.0002.6F0F][.EF0F.0000.0000.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
+1F226 ; [.FB40.0020.001C.6F14][.EF14.0000.0000.6F14] # SQUARED CJK UNIFIED IDEOGRAPH-6F14
+FA47 ; [.FB40.0020.0002.6F22][.EF22.0000.0000.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A ; [.FB40.0020.0002.6F22][.EF22.0000.0000.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992 ; [.FB40.0020.0002.6F23][.EF23.0000.0000.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F ; [.FB40.0020.0002.6F6E][.EF6E.0000.0000.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912 ; [.FB40.0020.0002.6FC6][.EFC6.0000.0000.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922 ; [.FB40.0020.0002.6FEB][.EFEB.0000.0000.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984 ; [.FB40.0020.0002.6FFE][.EFFE.0000.0000.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915 ; [.FB40.0020.0002.701B][.F01B.0000.0000.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
+FA9B ; [.FB40.0020.0002.701E][.F01E.0000.0000.701E] # CJK COMPATIBILITY IDEOGRAPH-FA9B
+2F914 ; [.FB40.0020.0002.701E][.F01E.0000.0000.701E] # CJK COMPATIBILITY IDEOGRAPH-2F914
+2F913 ; [.FB40.0020.0002.7039][.F039.0000.0000.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913
+2F917 ; [.FB40.0020.0002.704A][.F04A.0000.0000.704A] # CJK COMPATIBILITY IDEOGRAPH-2F917
+2F55 ; [.FB40.0020.0004.706B][.F06B.0000.0000.706B] # KANGXI RADICAL FIRE
+322B ; [*02FB.0020.0004.322B][.FB40.0020.0004.706B][.F06B.0000.0000.706B][*02FC.0020.001F.322B] # PARENTHESIZED IDEOGRAPH FIRE
+328B ; [.FB40.0020.0006.706B][.F06B.0000.0000.706B] # CIRCLED IDEOGRAPH FIRE
+2EA3 ; [.FB40.0020.0004.706C][.F06C.0000.0000.706C] # CJK RADICAL FIRE
+2F835 ; [.FB40.0020.0002.7070][.F070.0000.0000.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F919 ; [.FB40.0020.0002.7077][.F077.0000.0000.7077] # CJK COMPATIBILITY IDEOGRAPH-2F919
+2F918 ; [.FB40.0020.0002.707D][.F07D.0000.0000.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB ; [.FB40.0020.0002.7099][.F099.0000.0000.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A ; [.FB40.0020.0002.70AD][.F0AD.0000.0000.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+1F244 ; [*0359.0020.0004.1F244][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9][*035A.0020.001F.1F244] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
+F99F ; [.FB40.0020.0002.70C8][.F0C8.0000.0000.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916 ; [.FB40.0020.0002.70D9][.F0D9.0000.0000.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
+1F21A ; [.FB40.0020.001C.7121][.F121.0000.0000.7121] # SQUARED CJK UNIFIED IDEOGRAPH-7121
+2F91C ; [.FB40.0020.0002.7145][.F145.0000.0000.7145] # CJK COMPATIBILITY IDEOGRAPH-2F91C
+F993 ; [.FB40.0020.0002.7149][.F149.0000.0000.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48 ; [.FB40.0020.0002.716E][.F16E.0000.0000.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C ; [.FB40.0020.0002.716E][.F16E.0000.0000.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+2F91E ; [.FB40.0020.0002.719C][.F19C.0000.0000.719C] # CJK COMPATIBILITY IDEOGRAPH-2F91E
+F9C0 ; [.FB40.0020.0002.71CE][.F1CE.0000.0000.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE ; [.FB40.0020.0002.71D0][.F1D0.0000.0000.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932 ; [.FB40.0020.0002.7210][.F210.0000.0000.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E ; [.FB40.0020.0002.721B][.F21B.0000.0000.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920 ; [.FB40.0020.0002.7228][.F228.0000.0000.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
+2F56 ; [.FB40.0020.0004.722A][.F22A.0000.0000.722A] # KANGXI RADICAL CLAW
+FA49 ; [.FB40.0020.0002.722B][.F22B.0000.0000.722B] # CJK COMPATIBILITY IDEOGRAPH-FA49
+2EA4 ; [.FB40.0020.0004.722B][.F22B.0000.0000.722B] # CJK RADICAL PAW ONE
+2EA5 ; [.FB40.0020.0004.722B][.F22B.0000.0000.722B][.0000.0139.001F.2EA5] # CJK RADICAL PAW TWO
+FA9E ; [.FB40.0020.0002.7235][.F235.0000.0000.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921 ; [.FB40.0020.0002.7235][.F235.0000.0000.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
+2F57 ; [.FB40.0020.0004.7236][.F236.0000.0000.7236] # KANGXI RADICAL FATHER
+2F58 ; [.FB40.0020.0004.723B][.F23B.0000.0000.723B] # KANGXI RADICAL DOUBLE X
+2F59 ; [.FB40.0020.0004.723F][.F23F.0000.0000.723F] # KANGXI RADICAL HALF TREE TRUNK
+2F5A ; [.FB40.0020.0004.7247][.F247.0000.0000.7247] # KANGXI RADICAL SLICE
+2F922 ; [.FB40.0020.0002.7250][.F250.0000.0000.7250] # CJK COMPATIBILITY IDEOGRAPH-2F922
+2F5B ; [.FB40.0020.0004.7259][.F259.0000.0000.7259] # KANGXI RADICAL FANG
+2F5C ; [.FB40.0020.0004.725B][.F25B.0000.0000.725B] # KANGXI RADICAL COW
+2EA7 ; [.FB40.0020.0004.725B][.F25B.0000.0000.725B][.0000.0139.001F.2EA7] # CJK RADICAL COW
+F946 ; [.FB40.0020.0002.7262][.F262.0000.0000.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
+3235 ; [*02FB.0020.0004.3235][.FB40.0020.0004.7279][.F279.0000.0000.7279][*02FC.0020.001F.3235] # PARENTHESIZED IDEOGRAPH SPECIAL
+3295 ; [.FB40.0020.0006.7279][.F279.0000.0000.7279] # CIRCLED IDEOGRAPH SPECIAL
+2F924 ; [.FB40.0020.0002.7280][.F280.0000.0000.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
+2F925 ; [.FB40.0020.0002.7295][.F295.0000.0000.7295] # CJK COMPATIBILITY IDEOGRAPH-2F925
+2F5D ; [.FB40.0020.0004.72AC][.F2AC.0000.0000.72AC] # KANGXI RADICAL DOG
+2EA8 ; [.FB40.0020.0004.72AD][.F2AD.0000.0000.72AD] # CJK RADICAL DOG
+FA9F ; [.FB40.0020.0002.72AF][.F2AF.0000.0000.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F9FA ; [.FB40.0020.0002.72C0][.F2C0.0000.0000.72C0] # CJK COMPATIBILITY IDEOGRAPH-F9FA
+F92B ; [.FB40.0020.0002.72FC][.F2FC.0000.0000.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16 ; [.FB40.0020.0002.732A][.F32A.0000.0000.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0 ; [.FB40.0020.0002.732A][.F32A.0000.0000.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F9A7 ; [.FB40.0020.0002.7375][.F375.0000.0000.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928 ; [.FB40.0020.0002.737A][.F37A.0000.0000.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
+2F5E ; [.FB40.0020.0004.7384][.F384.0000.0000.7384] # KANGXI RADICAL PROFOUND
+F961 ; [.FB40.0020.0002.7387][.F387.0000.0000.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB ; [.FB40.0020.0002.7387][.F387.0000.0000.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F5F ; [.FB40.0020.0004.7389][.F389.0000.0000.7389] # KANGXI RADICAL JADE
+2F929 ; [.FB40.0020.0002.738B][.F38B.0000.0000.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
+2EA9 ; [.FB40.0020.0004.738B][.F38B.0000.0000.738B][.0000.0139.001F.2EA9] # CJK RADICAL JADE
+2F92B ; [.FB40.0020.0002.73A5][.F3A5.0000.0000.73A5] # CJK COMPATIBILITY IDEOGRAPH-2F92B
+F9AD ; [.FB40.0020.0002.73B2][.F3B2.0000.0000.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917 ; [.FB40.0020.0002.73DE][.F3DE.0000.0000.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4 ; [.FB40.0020.0002.7406][.F406.0000.0000.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC ; [.FB40.0020.0002.7409][.F409.0000.0000.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A ; [.FB40.0020.0002.7422][.F422.0000.0000.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92E ; [.FB40.0020.0002.7447][.F447.0000.0000.7447] # CJK COMPATIBILITY IDEOGRAPH-2F92E
+2F92F ; [.FB40.0020.0002.745C][.F45C.0000.0000.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE ; [.FB40.0020.0002.7469][.F469.0000.0000.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+FAA1 ; [.FB40.0020.0002.7471][.F471.0000.0000.7471] # CJK COMPATIBILITY IDEOGRAPH-FAA1
+2F930 ; [.FB40.0020.0002.7471][.F471.0000.0000.7471] # CJK COMPATIBILITY IDEOGRAPH-2F930
+2F931 ; [.FB40.0020.0002.7485][.F485.0000.0000.7485] # CJK COMPATIBILITY IDEOGRAPH-2F931
+F994 ; [.FB40.0020.0002.7489][.F489.0000.0000.7489] # CJK COMPATIBILITY IDEOGRAPH-F994
+F9EF ; [.FB40.0020.0002.7498][.F498.0000.0000.7498] # CJK COMPATIBILITY IDEOGRAPH-F9EF
+2F932 ; [.FB40.0020.0002.74CA][.F4CA.0000.0000.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
+2F60 ; [.FB40.0020.0004.74DC][.F4DC.0000.0000.74DC] # KANGXI RADICAL MELON
+2F61 ; [.FB40.0020.0004.74E6][.F4E6.0000.0000.74E6] # KANGXI RADICAL TILE
+FAA2 ; [.FB40.0020.0002.7506][.F506.0000.0000.7506] # CJK COMPATIBILITY IDEOGRAPH-FAA2
+2F62 ; [.FB40.0020.0004.7518][.F518.0000.0000.7518] # KANGXI RADICAL SWEET
+2F63 ; [.FB40.0020.0004.751F][.F51F.0000.0000.751F] # KANGXI RADICAL LIFE
+1F222 ; [.FB40.0020.001C.751F][.F51F.0000.0000.751F] # SQUARED CJK UNIFIED IDEOGRAPH-751F
+2F934 ; [.FB40.0020.0002.7524][.F524.0000.0000.7524] # CJK COMPATIBILITY IDEOGRAPH-2F934
+2F64 ; [.FB40.0020.0004.7528][.F528.0000.0000.7528] # KANGXI RADICAL USE
+2F65 ; [.FB40.0020.0004.7530][.F530.0000.0000.7530] # KANGXI RADICAL FIELD
+3199 ; [.FB40.0020.0014.7532][.F532.0000.0000.7532] # IDEOGRAPHIC ANNOTATION FIRST MARK
+1F238 ; [.FB40.0020.001C.7533][.F533.0000.0000.7533] # SQUARED CJK UNIFIED IDEOGRAPH-7533
+329A ; [.FB40.0020.0006.7537][.F537.0000.0000.7537] # CIRCLED IDEOGRAPH MALE
+FAA3 ; [.FB40.0020.0002.753B][.F53B.0000.0000.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3
+2F936 ; [.FB40.0020.0002.753E][.F53E.0000.0000.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936
+F9CD ; [.FB40.0020.0002.7559][.F559.0000.0000.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976 ; [.FB40.0020.0002.7565][.F565.0000.0000.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962 ; [.FB40.0020.0002.7570][.F570.0000.0000.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938 ; [.FB40.0020.0002.7570][.F570.0000.0000.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
+2F66 ; [.FB40.0020.0004.758B][.F58B.0000.0000.758B] # KANGXI RADICAL BOLT OF CLOTH
+2EAA ; [.FB40.0020.0004.758B][.F58B.0000.0000.758B][.0000.0139.001F.2EAA] # CJK RADICAL BOLT OF CLOTH
+2F67 ; [.FB40.0020.0004.7592][.F592.0000.0000.7592] # KANGXI RADICAL SICKNESS
+F9E5 ; [.FB40.0020.0002.75E2][.F5E2.0000.0000.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A ; [.FB40.0020.0002.7610][.F610.0000.0000.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA4 ; [.FB40.0020.0002.761D][.F61D.0000.0000.761D] # CJK COMPATIBILITY IDEOGRAPH-FAA4
+FAA5 ; [.FB40.0020.0002.761F][.F61F.0000.0000.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1 ; [.FB40.0020.0002.7642][.F642.0000.0000.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E ; [.FB40.0020.0002.7669][.F669.0000.0000.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
+2F68 ; [.FB40.0020.0004.7676][.F676.0000.0000.7676] # KANGXI RADICAL DOTTED TENT
+2F69 ; [.FB40.0020.0004.767D][.F67D.0000.0000.767D] # KANGXI RADICAL WHITE
+2F6A ; [.FB40.0020.0004.76AE][.F6AE.0000.0000.76AE] # KANGXI RADICAL SKIN
+2F6B ; [.FB40.0020.0004.76BF][.F6BF.0000.0000.76BF] # KANGXI RADICAL DISH
+FA17 ; [.FB40.0020.0002.76CA][.F6CA.0000.0000.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6 ; [.FB40.0020.0002.76CA][.F6CA.0000.0000.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+1F246 ; [*0359.0020.0004.1F246][.FB40.0020.0004.76D7][.F6D7.0000.0000.76D7][*035A.0020.001F.1F246] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
+FAA7 ; [.FB40.0020.0002.76DB][.F6DB.0000.0000.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+323C ; [*02FB.0020.0004.323C][.FB40.0020.0004.76E3][.F6E3.0000.0000.76E3][*02FC.0020.001F.323C] # PARENTHESIZED IDEOGRAPH SUPERVISE
+32AC ; [.FB40.0020.0006.76E3][.F6E3.0000.0000.76E3] # CIRCLED IDEOGRAPH SUPERVISE
+F933 ; [.FB40.0020.0002.76E7][.F6E7.0000.0000.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
+2F6C ; [.FB40.0020.0004.76EE][.F6EE.0000.0000.76EE] # KANGXI RADICAL EYE
+2EAB ; [.FB40.0020.0004.76EE][.F6EE.0000.0000.76EE][.0000.0139.001F.2EAB] # CJK RADICAL EYE
+FAA8 ; [.FB40.0020.0002.76F4][.F6F4.0000.0000.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940 ; [.FB40.0020.0002.76F4][.F6F4.0000.0000.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D ; [.FB40.0020.0002.7701][.F701.0000.0000.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F945 ; [.FB40.0020.0002.771E][.F71E.0000.0000.771E] # CJK COMPATIBILITY IDEOGRAPH-2F945
+2F946 ; [.FB40.0020.0002.771F][.F71F.0000.0000.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947 ; [.FB40.0020.0002.771F][.F71F.0000.0000.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAAA ; [.FB40.0020.0002.7740][.F740.0000.0000.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+FAA9 ; [.FB40.0020.0002.774A][.F74A.0000.0000.774A] # CJK COMPATIBILITY IDEOGRAPH-FAA9
+2F948 ; [.FB40.0020.0002.774A][.F74A.0000.0000.774A] # CJK COMPATIBILITY IDEOGRAPH-2F948
+2F94A ; [.FB40.0020.0002.778B][.F78B.0000.0000.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+FA9D ; [.FB40.0020.0002.77A7][.F7A7.0000.0000.77A7] # CJK COMPATIBILITY IDEOGRAPH-FA9D
+2F6D ; [.FB40.0020.0004.77DB][.F7DB.0000.0000.77DB] # KANGXI RADICAL SPEAR
+2F6E ; [.FB40.0020.0004.77E2][.F7E2.0000.0000.77E2] # KANGXI RADICAL ARROW
+2F6F ; [.FB40.0020.0004.77F3][.F7F3.0000.0000.77F3] # KANGXI RADICAL STONE
+2F94E ; [.FB40.0020.0002.784E][.F84E.0000.0000.784E] # CJK COMPATIBILITY IDEOGRAPH-2F94E
+F9CE ; [.FB40.0020.0002.786B][.F86B.0000.0000.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B ; [.FB40.0020.0002.788C][.F88C.0000.0000.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F ; [.FB40.0020.0002.788C][.F88C.0000.0000.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B ; [.FB40.0020.0002.7891][.F891.0000.0000.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947 ; [.FB40.0020.0002.78CA][.F8CA.0000.0000.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
+FAAB ; [.FB40.0020.0002.78CC][.F8CC.0000.0000.78CC] # CJK COMPATIBILITY IDEOGRAPH-FAAB
+2F950 ; [.FB40.0020.0002.78CC][.F8CC.0000.0000.78CC] # CJK COMPATIBILITY IDEOGRAPH-2F950
+F964 ; [.FB40.0020.0002.78FB][.F8FB.0000.0000.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964
+F985 ; [.FB40.0020.0002.792A][.F92A.0000.0000.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
+2F70 ; [.FB40.0020.0004.793A][.F93A.0000.0000.793A] # KANGXI RADICAL SPIRIT
+2EAC ; [.FB40.0020.0004.793A][.F93A.0000.0000.793A][.0000.0139.001F.2EAC] # CJK RADICAL SPIRIT ONE
+2EAD ; [.FB40.0020.0004.793B][.F93B.0000.0000.793B] # CJK RADICAL SPIRIT TWO
+FA18 ; [.FB40.0020.0002.793C][.F93C.0000.0000.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18
+FA4C ; [.FB40.0020.0002.793E][.F93E.0000.0000.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+3233 ; [*02FB.0020.0004.3233][.FB40.0020.0004.793E][.F93E.0000.0000.793E][*02FC.0020.001F.3233] # PARENTHESIZED IDEOGRAPH SOCIETY
+3293 ; [.FB40.0020.0006.793E][.F93E.0000.0000.793E] # CIRCLED IDEOGRAPH SOCIETY
+FA4E ; [.FB40.0020.0002.7948][.F948.0000.0000.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D ; [.FB40.0020.0002.7949][.F949.0000.0000.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F ; [.FB40.0020.0002.7950][.F950.0000.0000.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50 ; [.FB40.0020.0002.7956][.F956.0000.0000.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953 ; [.FB40.0020.0002.7956][.F956.0000.0000.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51 ; [.FB40.0020.0002.795D][.F95D.0000.0000.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
+3237 ; [*02FB.0020.0004.3237][.FB40.0020.0004.795D][.F95D.0000.0000.795D][*02FC.0020.001F.3237] # PARENTHESIZED IDEOGRAPH CONGRATULATION
+3297 ; [.FB40.0020.0006.795D][.F95D.0000.0000.795D] # CIRCLED IDEOGRAPH CONGRATULATION
+FA19 ; [.FB40.0020.0002.795E][.F95E.0000.0000.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A ; [.FB40.0020.0002.7965][.F965.0000.0000.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+3240 ; [*02FB.0020.0004.3240][.FB40.0020.0004.796D][.F96D.0000.0000.796D][*02FC.0020.001F.3240] # PARENTHESIZED IDEOGRAPH FESTIVAL
+F93C ; [.FB40.0020.0002.797F][.F97F.0000.0000.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
+1F232 ; [.FB40.0020.001C.7981][.F981.0000.0000.7981] # SQUARED CJK UNIFIED IDEOGRAPH-7981
+FA52 ; [.FB40.0020.0002.798D][.F98D.0000.0000.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53 ; [.FB40.0020.0002.798E][.F98E.0000.0000.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B ; [.FB40.0020.0002.798F][.F98F.0000.0000.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956 ; [.FB40.0020.0002.798F][.F98F.0000.0000.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6 ; [.FB40.0020.0002.79AE][.F9AE.0000.0000.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+2F71 ; [.FB40.0020.0004.79B8][.F9B8.0000.0000.79B8] # KANGXI RADICAL TRACK
+2F72 ; [.FB40.0020.0004.79BE][.F9BE.0000.0000.79BE] # KANGXI RADICAL GRAIN
+F995 ; [.FB40.0020.0002.79CA][.F9CA.0000.0000.79CA] # CJK COMPATIBILITY IDEOGRAPH-F995
+3299 ; [.FB40.0020.0006.79D8][.F9D8.0000.0000.79D8] # CIRCLED IDEOGRAPH SECRET
+2F957 ; [.FB40.0020.0002.79EB][.F9EB.0000.0000.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
+F956 ; [.FB40.0020.0002.7A1C][.FA1C.0000.0000.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54 ; [.FB40.0020.0002.7A40][.FA40.0000.0000.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959 ; [.FB40.0020.0002.7A40][.FA40.0000.0000.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
+2F95A ; [.FB40.0020.0002.7A4A][.FA4A.0000.0000.7A4A] # CJK COMPATIBILITY IDEOGRAPH-2F95A
+2F95B ; [.FB40.0020.0002.7A4F][.FA4F.0000.0000.7A4F] # CJK COMPATIBILITY IDEOGRAPH-2F95B
+2F73 ; [.FB40.0020.0004.7A74][.FA74.0000.0000.7A74] # KANGXI RADICAL CAVE
+1F233 ; [.FB40.0020.001C.7A7A][.FA7A.0000.0000.7A7A] # SQUARED CJK UNIFIED IDEOGRAPH-7A7A
+FA55 ; [.FB40.0020.0002.7A81][.FA81.0000.0000.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
+FAAC ; [.FB40.0020.0002.7AB1][.FAB1.0000.0000.7AB1] # CJK COMPATIBILITY IDEOGRAPH-FAAC
+F9F7 ; [.FB40.0020.0002.7ACB][.FACB.0000.0000.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+2F74 ; [.FB40.0020.0004.7ACB][.FACB.0000.0000.7ACB] # KANGXI RADICAL STAND
+2F95F ; [.FB40.0020.0002.7AEE][.FAEE.0000.0000.7AEE] # CJK COMPATIBILITY IDEOGRAPH-2F95F
+2F75 ; [.FB40.0020.0004.7AF9][.FAF9.0000.0000.7AF9] # KANGXI RADICAL BAMBOO
+2EAE ; [.FB40.0020.0004.7AF9][.FAF9.0000.0000.7AF9][.0000.0139.001F.2EAE] # CJK RADICAL BAMBOO
+F9F8 ; [.FB40.0020.0002.7B20][.FB20.0000.0000.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+3247 ; [.FB40.0020.0006.7B8F][.FB8F.0000.0000.7B8F] # CIRCLED IDEOGRAPH KOTO
+FA56 ; [.FB40.0020.0002.7BC0][.FBC0.0000.0000.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD ; [.FB40.0020.0002.7BC0][.FBC0.0000.0000.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962 ; [.FB40.0020.0002.7BC6][.FBC6.0000.0000.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963 ; [.FB40.0020.0002.7BC9][.FBC9.0000.0000.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6 ; [.FB40.0020.0002.7C3E][.FC3E.0000.0000.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944 ; [.FB40.0020.0002.7C60][.FC60.0000.0000.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
+2F76 ; [.FB40.0020.0004.7C73][.FC73.0000.0000.7C73] # KANGXI RADICAL RICE
+FAAE ; [.FB40.0020.0002.7C7B][.FC7B.0000.0000.7C7B] # CJK COMPATIBILITY IDEOGRAPH-FAAE
+F9F9 ; [.FB40.0020.0002.7C92][.FC92.0000.0000.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D ; [.FB40.0020.0002.7CBE][.FCBE.0000.0000.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+2F966 ; [.FB40.0020.0002.7CD2][.FCD2.0000.0000.7CD2] # CJK COMPATIBILITY IDEOGRAPH-2F966
+FA03 ; [.FB40.0020.0002.7CD6][.FCD6.0000.0000.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
+2F969 ; [.FB40.0020.0002.7CE3][.FCE3.0000.0000.7CE3] # CJK COMPATIBILITY IDEOGRAPH-2F969
+F97B ; [.FB40.0020.0002.7CE7][.FCE7.0000.0000.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F968 ; [.FB40.0020.0002.7CE8][.FCE8.0000.0000.7CE8] # CJK COMPATIBILITY IDEOGRAPH-2F968
+2F77 ; [.FB40.0020.0004.7CF8][.FCF8.0000.0000.7CF8] # KANGXI RADICAL SILK
+2EAF ; [.FB40.0020.0004.7CF9][.FCF9.0000.0000.7CF9] # CJK RADICAL SILK
+2F96A ; [.FB40.0020.0002.7D00][.FD00.0000.0000.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF ; [.FB40.0020.0002.7D10][.FD10.0000.0000.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A ; [.FB40.0020.0002.7D22][.FD22.0000.0000.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F ; [.FB40.0020.0002.7D2F][.FD2F.0000.0000.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
+1F221 ; [.FB40.0020.001C.7D42][.FD42.0000.0000.7D42] # SQUARED CJK UNIFIED IDEOGRAPH-7D42
+FAAF ; [.FB40.0020.0002.7D5B][.FD5B.0000.0000.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C ; [.FB40.0020.0002.7D63][.FD63.0000.0000.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F93D ; [.FB40.0020.0002.7DA0][.FDA0.0000.0000.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D
+F957 ; [.FB40.0020.0002.7DBE][.FDBE.0000.0000.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E ; [.FB40.0020.0002.7DC7][.FDC7.0000.0000.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996 ; [.FB40.0020.0002.7DF4][.FDF4.0000.0000.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57 ; [.FB40.0020.0002.7DF4][.FDF4.0000.0000.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0 ; [.FB40.0020.0002.7DF4][.FDF4.0000.0000.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+2F96F ; [.FB40.0020.0002.7E02][.FE02.0000.0000.7E02] # CJK COMPATIBILITY IDEOGRAPH-2F96F
+FA58 ; [.FB40.0020.0002.7E09][.FE09.0000.0000.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950 ; [.FB40.0020.0002.7E37][.FE37.0000.0000.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59 ; [.FB40.0020.0002.7E41][.FE41.0000.0000.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
+2F970 ; [.FB40.0020.0002.7E45][.FE45.0000.0000.7E45] # CJK COMPATIBILITY IDEOGRAPH-2F970
+2EB0 ; [.FB40.0020.0004.7E9F][.FE9F.0000.0000.7E9F] # CJK RADICAL C-SIMPLIFIED SILK
+2F78 ; [.FB40.0020.0004.7F36][.FF36.0000.0000.7F36] # KANGXI RADICAL JAR
+FAB1 ; [.FB40.0020.0002.7F3E][.FF3E.0000.0000.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1
+2F79 ; [.FB40.0020.0004.7F51][.FF51.0000.0000.7F51] # KANGXI RADICAL NET
+2EB2 ; [.FB40.0020.0004.7F52][.FF52.0000.0000.7F52] # CJK RADICAL NET TWO
+2EB5 ; [.FB40.0020.0004.7F52][.FF52.0000.0000.7F52][.0000.0139.001F.2EB5] # CJK RADICAL MESH
+2EB1 ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53] # CJK RADICAL NET ONE
+2EB3 ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53][.0000.0139.001F.2EB3] # CJK RADICAL NET THREE
+2EB4 ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53][.0000.013A.001F.2EB4] # CJK RADICAL NET FOUR
+FA5A ; [.FB40.0020.0002.7F72][.FF72.0000.0000.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6 ; [.FB40.0020.0002.7F79][.FF79.0000.0000.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+2F976 ; [.FB40.0020.0002.7F7A][.FF7A.0000.0000.7F7A] # CJK COMPATIBILITY IDEOGRAPH-2F976
+F90F ; [.FB40.0020.0002.7F85][.FF85.0000.0000.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
+2F7A ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A] # KANGXI RADICAL SHEEP
+2EB6 ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A][.0000.0139.001F.2EB6] # CJK RADICAL SHEEP
+2EB7 ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A][.0000.013A.001F.2EB7] # CJK RADICAL RAM
+2EB8 ; [.FB40.0020.0004.7F8B][.FF8B.0000.0000.7F8B] # CJK RADICAL EWE
+2F978 ; [.FB40.0020.0002.7F95][.FF95.0000.0000.7F95] # CJK COMPATIBILITY IDEOGRAPH-2F978
+F9AF ; [.FB40.0020.0002.7F9A][.FF9A.0000.0000.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E ; [.FB40.0020.0002.7FBD][.FFBD.0000.0000.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+2F7B ; [.FB40.0020.0004.7FBD][.FFBD.0000.0000.7FBD] # KANGXI RADICAL FEATHER
+2F979 ; [.FB40.0020.0002.7FFA][.FFFA.0000.0000.7FFA] # CJK COMPATIBILITY IDEOGRAPH-2F979
+F934 ; [.FB41.0020.0002.8001][.8001.0000.0000.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
+2F7C ; [.FB41.0020.0004.8001][.8001.0000.0000.8001] # KANGXI RADICAL OLD
+2EB9 ; [.FB41.0020.0004.8002][.8002.0000.0000.8002] # CJK RADICAL OLD
+FA5B ; [.FB41.0020.0002.8005][.8005.0000.0000.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2 ; [.FB41.0020.0002.8005][.8005.0000.0000.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A ; [.FB41.0020.0002.8005][.8005.0000.0000.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+2F7D ; [.FB41.0020.0004.800C][.800C.0000.0000.800C] # KANGXI RADICAL AND
+2F7E ; [.FB41.0020.0004.8012][.8012.0000.0000.8012] # KANGXI RADICAL PLOW
+2F7F ; [.FB41.0020.0004.8033][.8033.0000.0000.8033] # KANGXI RADICAL EAR
+F9B0 ; [.FB41.0020.0002.8046][.8046.0000.0000.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+2F97D ; [.FB41.0020.0002.8060][.8060.0000.0000.8060] # CJK COMPATIBILITY IDEOGRAPH-2F97D
+F997 ; [.FB41.0020.0002.806F][.806F.0000.0000.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F ; [.FB41.0020.0002.8070][.8070.0000.0000.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945 ; [.FB41.0020.0002.807E][.807E.0000.0000.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
+2F80 ; [.FB41.0020.0004.807F][.807F.0000.0000.807F] # KANGXI RADICAL BRUSH
+2EBB ; [.FB41.0020.0004.807F][.807F.0000.0000.807F][.0000.0139.001F.2EBB] # CJK RADICAL BRUSH TWO
+2EBA ; [.FB41.0020.0004.8080][.8080.0000.0000.8080] # CJK RADICAL BRUSH ONE
+2F81 ; [.FB41.0020.0004.8089][.8089.0000.0000.8089] # KANGXI RADICAL MEAT
+2EBC ; [.FB41.0020.0004.8089][.8089.0000.0000.8089][.0000.0139.001F.2EBC] # CJK RADICAL MEAT
+F953 ; [.FB41.0020.0002.808B][.808B.0000.0000.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6 ; [.FB41.0020.0002.80AD][.80AD.0000.0000.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982 ; [.FB41.0020.0002.80B2][.80B2.0000.0000.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F983 ; [.FB41.0020.0002.8103][.8103.0000.0000.8103] # CJK COMPATIBILITY IDEOGRAPH-2F983
+2F985 ; [.FB41.0020.0002.813E][.813E.0000.0000.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926 ; [.FB41.0020.0002.81D8][.81D8.0000.0000.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
+2F82 ; [.FB41.0020.0004.81E3][.81E3.0000.0000.81E3] # KANGXI RADICAL MINISTER
+F9F6 ; [.FB41.0020.0002.81E8][.81E8.0000.0000.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+2F83 ; [.FB41.0020.0004.81EA][.81EA.0000.0000.81EA] # KANGXI RADICAL SELF
+3242 ; [*02FB.0020.0004.3242][.FB41.0020.0004.81EA][.81EA.0000.0000.81EA][*02FC.0020.001F.3242] # PARENTHESIZED IDEOGRAPH SELF
+FA5C ; [.FB41.0020.0002.81ED][.81ED.0000.0000.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F84 ; [.FB41.0020.0004.81F3][.81F3.0000.0000.81F3] # KANGXI RADICAL ARRIVE
+3243 ; [*02FB.0020.0004.3243][.FB41.0020.0004.81F3][.81F3.0000.0000.81F3][*02FC.0020.001F.3243] # PARENTHESIZED IDEOGRAPH REACH
+2F85 ; [.FB41.0020.0004.81FC][.81FC.0000.0000.81FC] # KANGXI RADICAL MORTAR
+2EBD ; [.FB41.0020.0004.81FC][.81FC.0000.0000.81FC][.0000.0139.001F.2EBD] # CJK RADICAL MORTAR
+2F893 ; [.FB41.0020.0002.8201][.8201.0000.0000.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B ; [.FB41.0020.0002.8201][.8201.0000.0000.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+2F98C ; [.FB41.0020.0002.8204][.8204.0000.0000.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C
+2F86 ; [.FB41.0020.0004.820C][.820C.0000.0000.820C] # KANGXI RADICAL TONGUE
+FA6D ; [.FB41.0020.0002.8218][.8218.0000.0000.8218] # CJK COMPATIBILITY IDEOGRAPH-FA6D
+2F87 ; [.FB41.0020.0004.821B][.821B.0000.0000.821B] # KANGXI RADICAL OPPOSE
+2F88 ; [.FB41.0020.0004.821F][.821F.0000.0000.821F] # KANGXI RADICAL BOAT
+2F89 ; [.FB41.0020.0004.826E][.826E.0000.0000.826E] # KANGXI RADICAL STOPPING
+F97C ; [.FB41.0020.0002.826F][.826F.0000.0000.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
+2F8A ; [.FB41.0020.0004.8272][.8272.0000.0000.8272] # KANGXI RADICAL COLOR
+2F8B ; [.FB41.0020.0004.8278][.8278.0000.0000.8278] # KANGXI RADICAL GRASS
+FA5D ; [.FB41.0020.0002.8279][.8279.0000.0000.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5D
+FA5E ; [.FB41.0020.0002.8279][.8279.0000.0000.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5E
+2EBE ; [.FB41.0020.0004.8279][.8279.0000.0000.8279] # CJK RADICAL GRASS ONE
+2EBF ; [.FB41.0020.0004.8279][.8279.0000.0000.8279][.0000.0139.001F.2EBF] # CJK RADICAL GRASS TWO
+2EC0 ; [.FB41.0020.0004.8279][.8279.0000.0000.8279][.0000.013A.001F.2EC0] # CJK RADICAL GRASS THREE
+2F990 ; [.FB41.0020.0002.828B][.828B.0000.0000.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F98F ; [.FB41.0020.0002.8291][.8291.0000.0000.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F
+2F991 ; [.FB41.0020.0002.829D][.829D.0000.0000.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993 ; [.FB41.0020.0002.82B1][.82B1.0000.0000.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994 ; [.FB41.0020.0002.82B3][.82B3.0000.0000.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995 ; [.FB41.0020.0002.82BD][.82BD.0000.0000.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974 ; [.FB41.0020.0002.82E5][.82E5.0000.0000.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998 ; [.FB41.0020.0002.82E5][.82E5.0000.0000.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996 ; [.FB41.0020.0002.82E6][.82E6.0000.0000.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
+2F999 ; [.FB41.0020.0002.831D][.831D.0000.0000.831D] # CJK COMPATIBILITY IDEOGRAPH-2F999
+2F99C ; [.FB41.0020.0002.8323][.8323.0000.0000.8323] # CJK COMPATIBILITY IDEOGRAPH-2F99C
+F9FE ; [.FB41.0020.0002.8336][.8336.0000.0000.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3 ; [.FB41.0020.0002.8352][.8352.0000.0000.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F9A0 ; [.FB41.0020.0002.8353][.8353.0000.0000.8353] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
+2F99A ; [.FB41.0020.0002.8363][.8363.0000.0000.8363] # CJK COMPATIBILITY IDEOGRAPH-2F99A
+2F99B ; [.FB41.0020.0002.83AD][.83AD.0000.0000.83AD] # CJK COMPATIBILITY IDEOGRAPH-2F99B
+2F99D ; [.FB41.0020.0002.83BD][.83BD.0000.0000.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+F93E ; [.FB41.0020.0002.83C9][.83C9.0000.0000.83C9] # CJK COMPATIBILITY IDEOGRAPH-F93E
+2F9A1 ; [.FB41.0020.0002.83CA][.83CA.0000.0000.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2 ; [.FB41.0020.0002.83CC][.83CC.0000.0000.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3 ; [.FB41.0020.0002.83DC][.83DC.0000.0000.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+2F99E ; [.FB41.0020.0002.83E7][.83E7.0000.0000.83E7] # CJK COMPATIBILITY IDEOGRAPH-2F99E
+FAB4 ; [.FB41.0020.0002.83EF][.83EF.0000.0000.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958 ; [.FB41.0020.0002.83F1][.83F1.0000.0000.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918 ; [.FB41.0020.0002.843D][.843D.0000.0000.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E ; [.FB41.0020.0002.8449][.8449.0000.0000.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F ; [.FB41.0020.0002.8457][.8457.0000.0000.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F ; [.FB41.0020.0002.8457][.8457.0000.0000.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999 ; [.FB41.0020.0002.84EE][.84EE.0000.0000.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
+2F9A8 ; [.FB41.0020.0002.84F1][.84F1.0000.0000.84F1] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
+2F9A9 ; [.FB41.0020.0002.84F3][.84F3.0000.0000.84F3] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
+F9C2 ; [.FB41.0020.0002.84FC][.84FC.0000.0000.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AA ; [.FB41.0020.0002.8516][.8516.0000.0000.8516] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
+2F9AC ; [.FB41.0020.0002.8564][.8564.0000.0000.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+F923 ; [.FB41.0020.0002.85CD][.85CD.0000.0000.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0 ; [.FB41.0020.0002.85FA][.85FA.0000.0000.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935 ; [.FB41.0020.0002.8606][.8606.0000.0000.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
+FA20 ; [.FB41.0020.0002.8612][.8612.0000.0000.8612] # CJK COMPATIBILITY IDEOGRAPH-FA20
+F91F ; [.FB41.0020.0002.862D][.862D.0000.0000.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910 ; [.FB41.0020.0002.863F][.863F.0000.0000.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F8C ; [.FB41.0020.0004.864D][.864D.0000.0000.864D] # KANGXI RADICAL TIGER
+2EC1 ; [.FB41.0020.0004.864E][.864E.0000.0000.864E] # CJK RADICAL TIGER
+2F9B3 ; [.FB41.0020.0002.8650][.8650.0000.0000.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936 ; [.FB41.0020.0002.865C][.865C.0000.0000.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4 ; [.FB41.0020.0002.865C][.865C.0000.0000.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5 ; [.FB41.0020.0002.8667][.8667.0000.0000.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B6 ; [.FB41.0020.0002.8669][.8669.0000.0000.8669] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
+2F8D ; [.FB41.0020.0004.866B][.866B.0000.0000.866B] # KANGXI RADICAL INSECT
+2F9B8 ; [.FB41.0020.0002.8688][.8688.0000.0000.8688] # CJK COMPATIBILITY IDEOGRAPH-2F9B8
+2F9B7 ; [.FB41.0020.0002.86A9][.86A9.0000.0000.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+2F9BA ; [.FB41.0020.0002.86E2][.86E2.0000.0000.86E2] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
+2F9B9 ; [.FB41.0020.0002.870E][.870E.0000.0000.870E] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
+2F9BC ; [.FB41.0020.0002.8728][.8728.0000.0000.8728] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
+2F9BD ; [.FB41.0020.0002.876B][.876B.0000.0000.876B] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
+FAB5 ; [.FB41.0020.0002.8779][.8779.0000.0000.8779] # CJK COMPATIBILITY IDEOGRAPH-FAB5
+2F9BB ; [.FB41.0020.0002.8779][.8779.0000.0000.8779] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
+2F9BE ; [.FB41.0020.0002.8786][.8786.0000.0000.8786] # CJK COMPATIBILITY IDEOGRAPH-2F9BE
+F911 ; [.FB41.0020.0002.87BA][.87BA.0000.0000.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
+2F9C0 ; [.FB41.0020.0002.87E1][.87E1.0000.0000.87E1] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
+2F9C1 ; [.FB41.0020.0002.8801][.8801.0000.0000.8801] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
+F927 ; [.FB41.0020.0002.881F][.881F.0000.0000.881F] # CJK COMPATIBILITY IDEOGRAPH-F927
+2F8E ; [.FB41.0020.0004.8840][.8840.0000.0000.8840] # KANGXI RADICAL BLOOD
+FA08 ; [.FB41.0020.0002.884C][.884C.0000.0000.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F8F ; [.FB41.0020.0004.884C][.884C.0000.0000.884C] # KANGXI RADICAL WALK ENCLOSURE
+2F9C3 ; [.FB41.0020.0002.8860][.8860.0000.0000.8860] # CJK COMPATIBILITY IDEOGRAPH-2F9C3
+2F9C4 ; [.FB41.0020.0002.8863][.8863.0000.0000.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+2F90 ; [.FB41.0020.0004.8863][.8863.0000.0000.8863] # KANGXI RADICAL CLOTHES
+2EC2 ; [.FB41.0020.0004.8864][.8864.0000.0000.8864] # CJK RADICAL CLOTHES
+F9A0 ; [.FB41.0020.0002.88C2][.88C2.0000.0000.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F9E7 ; [.FB41.0020.0002.88CF][.88CF.0000.0000.88CF] # CJK COMPATIBILITY IDEOGRAPH-F9E7
+2F9C6 ; [.FB41.0020.0002.88D7][.88D7.0000.0000.88D7] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
+2F9C7 ; [.FB41.0020.0002.88DE][.88DE.0000.0000.88DE] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
+F9E8 ; [.FB41.0020.0002.88E1][.88E1.0000.0000.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912 ; [.FB41.0020.0002.88F8][.88F8.0000.0000.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
+2F9C9 ; [.FB41.0020.0002.88FA][.88FA.0000.0000.88FA] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
+FA60 ; [.FB41.0020.0002.8910][.8910.0000.0000.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6 ; [.FB41.0020.0002.8941][.8941.0000.0000.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924 ; [.FB41.0020.0002.8964][.8964.0000.0000.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
+2F91 ; [.FB41.0020.0004.897E][.897E.0000.0000.897E] # KANGXI RADICAL WEST
+2EC4 ; [.FB41.0020.0004.897F][.897F.0000.0000.897F] # CJK RADICAL WEST TWO
+2EC3 ; [.FB41.0020.0004.8980][.8980.0000.0000.8980] # CJK RADICAL WEST ONE
+FAB7 ; [.FB41.0020.0002.8986][.8986.0000.0000.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A ; [.FB41.0020.0002.898B][.898B.0000.0000.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+2F92 ; [.FB41.0020.0004.898B][.898B.0000.0000.898B] # KANGXI RADICAL SEE
+FA61 ; [.FB41.0020.0002.8996][.8996.0000.0000.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8 ; [.FB41.0020.0002.8996][.8996.0000.0000.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2EC5 ; [.FB41.0020.0004.89C1][.89C1.0000.0000.89C1] # CJK RADICAL C-SIMPLIFIED SEE
+2EC6 ; [.FB41.0020.0004.89D2][.89D2.0000.0000.89D2] # CJK RADICAL SIMPLIFIED HORN
+2F93 ; [.FB41.0020.0004.89D2][.89D2.0000.0000.89D2] # KANGXI RADICAL HORN
+2EC7 ; [.FB41.0020.0004.89D2][.89D2.0000.0000.89D2][.0000.0139.001F.2EC7] # CJK RADICAL HORN
+1F216 ; [.FB41.0020.001C.89E3][.89E3.0000.0000.89E3] # SQUARED CJK UNIFIED IDEOGRAPH-89E3
+2F94 ; [.FB41.0020.0004.8A00][.8A00.0000.0000.8A00] # KANGXI RADICAL SPEECH
+2F9CF ; [.FB41.0020.0002.8AA0][.8AA0.0000.0000.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+F96F ; [.FB41.0020.0002.8AAA][.8AAA.0000.0000.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F
+F9A1 ; [.FB41.0020.0002.8AAA][.8AAA.0000.0000.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F9A1
+FAB9 ; [.FB41.0020.0002.8ABF][.8ABF.0000.0000.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB ; [.FB41.0020.0002.8ACB][.8ACB.0000.0000.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D ; [.FB41.0020.0002.8AD2][.8AD2.0000.0000.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941 ; [.FB41.0020.0002.8AD6][.8AD6.0000.0000.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE ; [.FB41.0020.0002.8AED][.8AED.0000.0000.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0 ; [.FB41.0020.0002.8AED][.8AED.0000.0000.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22 ; [.FB41.0020.0002.8AF8][.8AF8.0000.0000.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA ; [.FB41.0020.0002.8AF8][.8AF8.0000.0000.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D ; [.FB41.0020.0002.8AFE][.8AFE.0000.0000.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD ; [.FB41.0020.0002.8AFE][.8AFE.0000.0000.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62 ; [.FB41.0020.0002.8B01][.8B01.0000.0000.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC ; [.FB41.0020.0002.8B01][.8B01.0000.0000.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63 ; [.FB41.0020.0002.8B39][.8B39.0000.0000.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF ; [.FB41.0020.0002.8B39][.8B39.0000.0000.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC ; [.FB41.0020.0002.8B58][.8B58.0000.0000.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A ; [.FB41.0020.0002.8B80][.8B80.0000.0000.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0 ; [.FB41.0020.0002.8B8A][.8B8A.0000.0000.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1 ; [.FB41.0020.0002.8B8A][.8B8A.0000.0000.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+2EC8 ; [.FB41.0020.0004.8BA0][.8BA0.0000.0000.8BA0] # CJK RADICAL C-SIMPLIFIED SPEECH
+2F95 ; [.FB41.0020.0004.8C37][.8C37.0000.0000.8C37] # KANGXI RADICAL VALLEY
+2F96 ; [.FB41.0020.0004.8C46][.8C46.0000.0000.8C46] # KANGXI RADICAL BEAN
+F900 ; [.FB41.0020.0002.8C48][.8C48.0000.0000.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2 ; [.FB41.0020.0002.8C55][.8C55.0000.0000.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F97 ; [.FB41.0020.0004.8C55][.8C55.0000.0000.8C55] # KANGXI RADICAL PIG
+2F98 ; [.FB41.0020.0004.8C78][.8C78.0000.0000.8C78] # KANGXI RADICAL BADGER
+2F99 ; [.FB41.0020.0004.8C9D][.8C9D.0000.0000.8C9D] # KANGXI RADICAL SHELL
+3236 ; [*02FB.0020.0004.3236][.FB41.0020.0004.8CA1][.8CA1.0000.0000.8CA1][*02FC.0020.001F.3236] # PARENTHESIZED IDEOGRAPH FINANCIAL
+3296 ; [.FB41.0020.0006.8CA1][.8CA1.0000.0000.8CA1] # CIRCLED IDEOGRAPH FINANCIAL
+1F223 ; [.FB41.0020.001C.8CA9][.8CA9.0000.0000.8CA9] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
+2F9D4 ; [.FB41.0020.0002.8CAB][.8CAB.0000.0000.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5 ; [.FB41.0020.0002.8CC1][.8CC1.0000.0000.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948 ; [.FB41.0020.0002.8CC2][.8CC2.0000.0000.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
+323E ; [*02FB.0020.0004.323E][.FB41.0020.0004.8CC7][.8CC7.0000.0000.8CC7][*02FC.0020.001F.323E] # PARENTHESIZED IDEOGRAPH RESOURCE
+32AE ; [.FB41.0020.0006.8CC7][.8CC7.0000.0000.8CC7] # CIRCLED IDEOGRAPH RESOURCE
+F903 ; [.FB41.0020.0002.8CC8][.8CC8.0000.0000.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64 ; [.FB41.0020.0002.8CD3][.8CD3.0000.0000.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65 ; [.FB41.0020.0002.8D08][.8D08.0000.0000.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1 ; [.FB41.0020.0002.8D08][.8D08.0000.0000.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D6 ; [.FB41.0020.0002.8D1B][.8D1B.0000.0000.8D1B] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
+2EC9 ; [.FB41.0020.0004.8D1D][.8D1D.0000.0000.8D1D] # CJK RADICAL C-SIMPLIFIED SHELL
+2F9A ; [.FB41.0020.0004.8D64][.8D64.0000.0000.8D64] # KANGXI RADICAL RED
+2F9B ; [.FB41.0020.0004.8D70][.8D70.0000.0000.8D70] # KANGXI RADICAL RUN
+1F230 ; [.FB41.0020.001C.8D70][.8D70.0000.0000.8D70] # SQUARED CJK UNIFIED IDEOGRAPH-8D70
+2F9D7 ; [.FB41.0020.0002.8D77][.8D77.0000.0000.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9C ; [.FB41.0020.0004.8DB3][.8DB3.0000.0000.8DB3] # KANGXI RADICAL FOOT
+2ECA ; [.FB41.0020.0004.8DB3][.8DB3.0000.0000.8DB3][.0000.0139.001F.2ECA] # CJK RADICAL FOOT
+2F9DB ; [.FB41.0020.0002.8DBC][.8DBC.0000.0000.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
+2F9DA ; [.FB41.0020.0002.8DCB][.8DCB.0000.0000.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937 ; [.FB41.0020.0002.8DEF][.8DEF.0000.0000.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
+2F9DC ; [.FB41.0020.0002.8DF0][.8DF0.0000.0000.8DF0] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
+2F9D ; [.FB41.0020.0004.8EAB][.8EAB.0000.0000.8EAB] # KANGXI RADICAL BODY
+F902 ; [.FB41.0020.0002.8ECA][.8ECA.0000.0000.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
+2F9E ; [.FB41.0020.0004.8ECA][.8ECA.0000.0000.8ECA] # KANGXI RADICAL CART
+2F9DE ; [.FB41.0020.0002.8ED4][.8ED4.0000.0000.8ED4] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
+F998 ; [.FB41.0020.0002.8F26][.8F26.0000.0000.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7 ; [.FB41.0020.0002.8F2A][.8F2A.0000.0000.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2 ; [.FB41.0020.0002.8F38][.8F38.0000.0000.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF ; [.FB41.0020.0002.8F38][.8F38.0000.0000.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07 ; [.FB41.0020.0002.8F3B][.8F3B.0000.0000.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D ; [.FB41.0020.0002.8F62][.8F62.0000.0000.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
+2ECB ; [.FB41.0020.0004.8F66][.8F66.0000.0000.8F66] # CJK RADICAL C-SIMPLIFIED CART
+2F9F ; [.FB41.0020.0004.8F9B][.8F9B.0000.0000.8F9B] # KANGXI RADICAL BITTER
+2F98D ; [.FB41.0020.0002.8F9E][.8F9E.0000.0000.8F9E] # CJK COMPATIBILITY IDEOGRAPH-2F98D
+F971 ; [.FB41.0020.0002.8FB0][.8FB0.0000.0000.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
+2FA0 ; [.FB41.0020.0004.8FB0][.8FB0.0000.0000.8FB0] # KANGXI RADICAL MORNING
+2FA1 ; [.FB41.0020.0004.8FB5][.8FB5.0000.0000.8FB5] # KANGXI RADICAL WALK
+FA66 ; [.FB41.0020.0002.8FB6][.8FB6.0000.0000.8FB6] # CJK COMPATIBILITY IDEOGRAPH-FA66
+2ECC ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6] # CJK RADICAL SIMPLIFIED WALK
+2ECD ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6][.0000.0139.001F.2ECD] # CJK RADICAL WALK ONE
+2ECE ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6][.0000.013A.001F.2ECE] # CJK RADICAL WALK TWO
+F99A ; [.FB41.0020.0002.9023][.9023.0000.0000.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25 ; [.FB41.0020.0002.9038][.9038.0000.0000.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67 ; [.FB41.0020.0002.9038][.9038.0000.0000.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
+1F22B ; [.FB41.0020.001C.904A][.904A.0000.0000.904A] # SQUARED CJK UNIFIED IDEOGRAPH-904A
+329C ; [.FB41.0020.0006.9069][.9069.0000.0000.9069] # CIRCLED IDEOGRAPH SUITABLE
+FAC3 ; [.FB41.0020.0002.9072][.9072.0000.0000.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3 ; [.FB41.0020.0002.907C][.907C.0000.0000.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913 ; [.FB41.0020.0002.908F][.908F.0000.0000.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
+2FA2 ; [.FB41.0020.0004.9091][.9091.0000.0000.9091] # KANGXI RADICAL CITY
+2ECF ; [.FB41.0020.0004.9091][.9091.0000.0000.9091][.0000.0139.001F.2ECF] # CJK RADICAL CITY
+2F9E2 ; [.FB41.0020.0002.9094][.9094.0000.0000.9094] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
+F92C ; [.FB41.0020.0002.90CE][.90CE.0000.0000.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
+FA2E ; [.FB41.0020.0002.90DE][.90DE.0000.0000.90DE] # CJK COMPATIBILITY IDEOGRAPH-FA2E
+2F9E3 ; [.FB41.0020.0002.90F1][.90F1.0000.0000.90F1] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
+FA26 ; [.FB41.0020.0002.90FD][.90FD.0000.0000.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
+2F9E4 ; [.FB41.0020.0002.9111][.9111.0000.0000.9111] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
+2F9E6 ; [.FB41.0020.0002.911B][.911B.0000.0000.911B] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
+2FA3 ; [.FB41.0020.0004.9149][.9149.0000.0000.9149] # KANGXI RADICAL WINE
+F919 ; [.FB41.0020.0002.916A][.916A.0000.0000.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
+FAC4 ; [.FB41.0020.0002.9199][.9199.0000.0000.9199] # CJK COMPATIBILITY IDEOGRAPH-FAC4
+F9B7 ; [.FB41.0020.0002.91B4][.91B4.0000.0000.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+2FA4 ; [.FB41.0020.0004.91C6][.91C6.0000.0000.91C6] # KANGXI RADICAL DISTINGUISH
+F9E9 ; [.FB41.0020.0002.91CC][.91CC.0000.0000.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+2FA5 ; [.FB41.0020.0004.91CC][.91CC.0000.0000.91CC] # KANGXI RADICAL VILLAGE
+F97E ; [.FB41.0020.0002.91CF][.91CF.0000.0000.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A ; [.FB41.0020.0002.91D1][.91D1.0000.0000.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
+2FA6 ; [.FB41.0020.0004.91D1][.91D1.0000.0000.91D1] # KANGXI RADICAL GOLD
+322E ; [*02FB.0020.0004.322E][.FB41.0020.0004.91D1][.91D1.0000.0000.91D1][*02FC.0020.001F.322E] # PARENTHESIZED IDEOGRAPH METAL
+328E ; [.FB41.0020.0006.91D1][.91D1.0000.0000.91D1] # CIRCLED IDEOGRAPH METAL
+F9B1 ; [.FB41.0020.0002.9234][.9234.0000.0000.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9E7 ; [.FB41.0020.0002.9238][.9238.0000.0000.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
+FAC5 ; [.FB41.0020.0002.9276][.9276.0000.0000.9276] # CJK COMPATIBILITY IDEOGRAPH-FAC5
+2F9EA ; [.FB41.0020.0002.927C][.927C.0000.0000.927C] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
+2F9E8 ; [.FB41.0020.0002.92D7][.92D7.0000.0000.92D7] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
+2F9E9 ; [.FB41.0020.0002.92D8][.92D8.0000.0000.92D8] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
+F93F ; [.FB41.0020.0002.9304][.9304.0000.0000.9304] # CJK COMPATIBILITY IDEOGRAPH-F93F
+F99B ; [.FB41.0020.0002.934A][.934A.0000.0000.934A] # CJK COMPATIBILITY IDEOGRAPH-F99B
+2F9EB ; [.FB41.0020.0002.93F9][.93F9.0000.0000.93F9] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
+2F9EC ; [.FB41.0020.0002.9415][.9415.0000.0000.9415] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
+2ED0 ; [.FB41.0020.0004.9485][.9485.0000.0000.9485] # CJK RADICAL C-SIMPLIFIED GOLD
+2ED1 ; [.FB41.0020.0004.9577][.9577.0000.0000.9577] # CJK RADICAL LONG ONE
+2FA7 ; [.FB41.0020.0004.9577][.9577.0000.0000.9577] # KANGXI RADICAL LONG
+2ED2 ; [.FB41.0020.0004.9578][.9578.0000.0000.9578] # CJK RADICAL LONG TWO
+2ED3 ; [.FB41.0020.0004.957F][.957F.0000.0000.957F] # CJK RADICAL C-SIMPLIFIED LONG
+2FA8 ; [.FB41.0020.0004.9580][.9580.0000.0000.9580] # KANGXI RADICAL GATE
+2F9EE ; [.FB41.0020.0002.958B][.958B.0000.0000.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986 ; [.FB41.0020.0002.95AD][.95AD.0000.0000.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
+2F9F0 ; [.FB41.0020.0002.95B7][.95B7.0000.0000.95B7] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
+2ED4 ; [.FB41.0020.0004.95E8][.95E8.0000.0000.95E8] # CJK RADICAL C-SIMPLIFIED GATE
+2FA9 ; [.FB41.0020.0004.961C][.961C.0000.0000.961C] # KANGXI RADICAL MOUND
+2ED5 ; [.FB41.0020.0004.961C][.961C.0000.0000.961C][.0000.0139.001F.2ED5] # CJK RADICAL MOUND ONE
+2ED6 ; [.FB41.0020.0004.961D][.961D.0000.0000.961D] # CJK RADICAL MOUND TWO
+F9C6 ; [.FB41.0020.0002.962E][.962E.0000.0000.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951 ; [.FB41.0020.0002.964B][.964B.0000.0000.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09 ; [.FB41.0020.0002.964D][.964D.0000.0000.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959 ; [.FB41.0020.0002.9675][.9675.0000.0000.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3 ; [.FB41.0020.0002.9678][.9678.0000.0000.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+FAC6 ; [.FB41.0020.0002.967C][.967C.0000.0000.967C] # CJK COMPATIBILITY IDEOGRAPH-FAC6
+F9DC ; [.FB41.0020.0002.9686][.9686.0000.0000.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9F1 ; [.FB41.0020.0002.96A3][.96A3.0000.0000.96A3] # CJK COMPATIBILITY IDEOGRAPH-F9F1
+2FAA ; [.FB41.0020.0004.96B6][.96B6.0000.0000.96B6] # KANGXI RADICAL SLAVE
+FA2F ; [.FB41.0020.0002.96B7][.96B7.0000.0000.96B7] # CJK COMPATIBILITY IDEOGRAPH-FA2F
+F9B8 ; [.FB41.0020.0002.96B8][.96B8.0000.0000.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+2FAB ; [.FB41.0020.0004.96B9][.96B9.0000.0000.96B9] # KANGXI RADICAL SHORT TAILED BIRD
+2F9F3 ; [.FB41.0020.0002.96C3][.96C3.0000.0000.96C3] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
+F9EA ; [.FB41.0020.0002.96E2][.96E2.0000.0000.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68 ; [.FB41.0020.0002.96E3][.96E3.0000.0000.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7 ; [.FB41.0020.0002.96E3][.96E3.0000.0000.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+2FAC ; [.FB41.0020.0004.96E8][.96E8.0000.0000.96E8] # KANGXI RADICAL RAIN
+2ED7 ; [.FB41.0020.0004.96E8][.96E8.0000.0000.96E8][.0000.0139.001F.2ED7] # CJK RADICAL RAIN
+F9B2 ; [.FB41.0020.0002.96F6][.96F6.0000.0000.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949 ; [.FB41.0020.0002.96F7][.96F7.0000.0000.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
+2F9F5 ; [.FB41.0020.0002.9723][.9723.0000.0000.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
+F938 ; [.FB41.0020.0002.9732][.9732.0000.0000.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3 ; [.FB41.0020.0002.9748][.9748.0000.0000.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+2FAD ; [.FB41.0020.0004.9751][.9751.0000.0000.9751] # KANGXI RADICAL BLUE
+2ED8 ; [.FB41.0020.0004.9752][.9752.0000.0000.9752] # CJK RADICAL BLUE
+FA1C ; [.FB41.0020.0002.9756][.9756.0000.0000.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8 ; [.FB41.0020.0002.9756][.9756.0000.0000.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+2FAE ; [.FB41.0020.0004.975E][.975E.0000.0000.975E] # KANGXI RADICAL WRONG
+2FAF ; [.FB41.0020.0004.9762][.9762.0000.0000.9762] # KANGXI RADICAL FACE
+2FB0 ; [.FB41.0020.0004.9769][.9769.0000.0000.9769] # KANGXI RADICAL LEATHER
+2FB1 ; [.FB41.0020.0004.97CB][.97CB.0000.0000.97CB] # KANGXI RADICAL TANNED LEATHER
+FAC9 ; [.FB41.0020.0002.97DB][.97DB.0000.0000.97DB] # CJK COMPATIBILITY IDEOGRAPH-FAC9
+2F9FA ; [.FB41.0020.0002.97E0][.97E0.0000.0000.97E0] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
+2ED9 ; [.FB41.0020.0004.97E6][.97E6.0000.0000.97E6] # CJK RADICAL C-SIMPLIFIED TANNED LEATHER
+2FB2 ; [.FB41.0020.0004.97ED][.97ED.0000.0000.97ED] # KANGXI RADICAL LEEK
+2FB3 ; [.FB41.0020.0004.97F3][.97F3.0000.0000.97F3] # KANGXI RADICAL SOUND
+FA69 ; [.FB41.0020.0002.97FF][.97FF.0000.0000.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA ; [.FB41.0020.0002.97FF][.97FF.0000.0000.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
+2FB4 ; [.FB41.0020.0004.9801][.9801.0000.0000.9801] # KANGXI RADICAL LEAF
+32A0 ; [.FB41.0020.0006.9805][.9805.0000.0000.9805] # CIRCLED IDEOGRAPH ITEM
+FACB ; [.FB41.0020.0002.980B][.980B.0000.0000.980B] # CJK COMPATIBILITY IDEOGRAPH-FACB
+2F9FE ; [.FB41.0020.0002.980B][.980B.0000.0000.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FE
+2F9FF ; [.FB41.0020.0002.980B][.980B.0000.0000.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FF
+F9B4 ; [.FB41.0020.0002.9818][.9818.0000.0000.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+2FA00 ; [.FB41.0020.0002.9829][.9829.0000.0000.9829] # CJK COMPATIBILITY IDEOGRAPH-2FA00
+FA6A ; [.FB41.0020.0002.983B][.983B.0000.0000.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC ; [.FB41.0020.0002.983B][.983B.0000.0000.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0 ; [.FB41.0020.0002.985E][.985E.0000.0000.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2EDA ; [.FB41.0020.0004.9875][.9875.0000.0000.9875] # CJK RADICAL C-SIMPLIFIED LEAF
+2FB5 ; [.FB41.0020.0004.98A8][.98A8.0000.0000.98A8] # KANGXI RADICAL WIND
+2EDB ; [.FB41.0020.0004.98CE][.98CE.0000.0000.98CE] # CJK RADICAL C-SIMPLIFIED WIND
+2FB6 ; [.FB41.0020.0004.98DB][.98DB.0000.0000.98DB] # KANGXI RADICAL FLY
+2EDC ; [.FB41.0020.0004.98DE][.98DE.0000.0000.98DE] # CJK RADICAL C-SIMPLIFIED FLY
+2EDD ; [.FB41.0020.0004.98DF][.98DF.0000.0000.98DF] # CJK RADICAL EAT ONE
+2FB7 ; [.FB41.0020.0004.98DF][.98DF.0000.0000.98DF] # KANGXI RADICAL EAT
+2EDF ; [.FB41.0020.0004.98E0][.98E0.0000.0000.98E0] # CJK RADICAL EAT THREE
+2EDE ; [.FB41.0020.0004.98E0][.98E0.0000.0000.98E0][.0000.0139.001F.2EDE] # CJK RADICAL EAT TWO
+2FA02 ; [.FB41.0020.0002.98E2][.98E2.0000.0000.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A ; [.FB41.0020.0002.98EF][.98EF.0000.0000.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B ; [.FB41.0020.0002.98FC][.98FC.0000.0000.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C ; [.FB41.0020.0002.9928][.9928.0000.0000.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+2FA04 ; [.FB41.0020.0002.9929][.9929.0000.0000.9929] # CJK COMPATIBILITY IDEOGRAPH-2FA04
+2EE0 ; [.FB41.0020.0004.9963][.9963.0000.0000.9963] # CJK RADICAL C-SIMPLIFIED EAT
+2FB8 ; [.FB41.0020.0004.9996][.9996.0000.0000.9996] # KANGXI RADICAL HEAD
+2EE1 ; [.FB41.0020.0004.9996][.9996.0000.0000.9996][.0000.0139.001F.2EE1] # CJK RADICAL HEAD
+2FB9 ; [.FB41.0020.0004.9999][.9999.0000.0000.9999] # KANGXI RADICAL FRAGRANT
+2FA05 ; [.FB41.0020.0002.99A7][.99A7.0000.0000.99A7] # CJK COMPATIBILITY IDEOGRAPH-2FA05
+2FBA ; [.FB41.0020.0004.99AC][.99AC.0000.0000.99AC] # KANGXI RADICAL HORSE
+2FA06 ; [.FB41.0020.0002.99C2][.99C2.0000.0000.99C2] # CJK COMPATIBILITY IDEOGRAPH-2FA06
+F91A ; [.FB41.0020.0002.99F1][.99F1.0000.0000.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
+2FA07 ; [.FB41.0020.0002.99FE][.99FE.0000.0000.99FE] # CJK COMPATIBILITY IDEOGRAPH-2FA07
+F987 ; [.FB41.0020.0002.9A6A][.9A6A.0000.0000.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
+2EE2 ; [.FB41.0020.0004.9A6C][.9A6C.0000.0000.9A6C] # CJK RADICAL C-SIMPLIFIED HORSE
+2FBB ; [.FB41.0020.0004.9AA8][.9AA8.0000.0000.9AA8] # KANGXI RADICAL BONE
+2EE3 ; [.FB41.0020.0004.9AA8][.9AA8.0000.0000.9AA8][.0000.0139.001F.2EE3] # CJK RADICAL BONE
+2FBC ; [.FB41.0020.0004.9AD8][.9AD8.0000.0000.9AD8] # KANGXI RADICAL TALL
+2FBD ; [.FB41.0020.0004.9ADF][.9ADF.0000.0000.9ADF] # KANGXI RADICAL HAIR
+FACD ; [.FB41.0020.0002.9B12][.9B12.0000.0000.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD
+2FA0A ; [.FB41.0020.0002.9B12][.9B12.0000.0000.9B12] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
+2FBE ; [.FB41.0020.0004.9B25][.9B25.0000.0000.9B25] # KANGXI RADICAL FIGHT
+2FBF ; [.FB41.0020.0004.9B2F][.9B2F.0000.0000.9B2F] # KANGXI RADICAL SACRIFICIAL WINE
+2FC0 ; [.FB41.0020.0004.9B32][.9B32.0000.0000.9B32] # KANGXI RADICAL CAULDRON
+2FC1 ; [.FB41.0020.0004.9B3C][.9B3C.0000.0000.9B3C] # KANGXI RADICAL GHOST
+2EE4 ; [.FB41.0020.0004.9B3C][.9B3C.0000.0000.9B3C][.0000.0139.001F.2EE4] # CJK RADICAL GHOST
+2FC2 ; [.FB41.0020.0004.9B5A][.9B5A.0000.0000.9B5A] # KANGXI RADICAL FISH
+F939 ; [.FB41.0020.0002.9B6F][.9B6F.0000.0000.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
+2FA0B ; [.FB41.0020.0002.9C40][.9C40.0000.0000.9C40] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
+F9F2 ; [.FB41.0020.0002.9C57][.9C57.0000.0000.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+2EE5 ; [.FB41.0020.0004.9C7C][.9C7C.0000.0000.9C7C] # CJK RADICAL C-SIMPLIFIED FISH
+2FC3 ; [.FB41.0020.0004.9CE5][.9CE5.0000.0000.9CE5] # KANGXI RADICAL BIRD
+2FA0C ; [.FB41.0020.0002.9CFD][.9CFD.0000.0000.9CFD] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
+2FA0F ; [.FB41.0020.0002.9D67][.9D67.0000.0000.9D67] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
+FA2D ; [.FB41.0020.0002.9DB4][.9DB4.0000.0000.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A ; [.FB41.0020.0002.9DFA][.9DFA.0000.0000.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920 ; [.FB41.0020.0002.9E1E][.9E1E.0000.0000.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
+2EE6 ; [.FB41.0020.0004.9E1F][.9E1F.0000.0000.9E1F] # CJK RADICAL C-SIMPLIFIED BIRD
+2FC4 ; [.FB41.0020.0004.9E75][.9E75.0000.0000.9E75] # KANGXI RADICAL SALT
+2EE7 ; [.FB41.0020.0004.9E75][.9E75.0000.0000.9E75][.0000.0139.001F.2EE7] # CJK RADICAL C-SIMPLIFIED SALT
+F940 ; [.FB41.0020.0002.9E7F][.9E7F.0000.0000.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
+2FC5 ; [.FB41.0020.0004.9E7F][.9E7F.0000.0000.9E7F] # KANGXI RADICAL DEER
+F988 ; [.FB41.0020.0002.9E97][.9E97.0000.0000.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3 ; [.FB41.0020.0002.9E9F][.9E9F.0000.0000.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FC6 ; [.FB41.0020.0004.9EA5][.9EA5.0000.0000.9EA5] # KANGXI RADICAL WHEAT
+2EE8 ; [.FB41.0020.0004.9EA6][.9EA6.0000.0000.9EA6] # CJK RADICAL SIMPLIFIED WHEAT
+2FA15 ; [.FB41.0020.0002.9EBB][.9EBB.0000.0000.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+2FC7 ; [.FB41.0020.0004.9EBB][.9EBB.0000.0000.9EBB] # KANGXI RADICAL HEMP
+2FC8 ; [.FB41.0020.0004.9EC3][.9EC3.0000.0000.9EC3] # KANGXI RADICAL YELLOW
+2EE9 ; [.FB41.0020.0004.9EC4][.9EC4.0000.0000.9EC4] # CJK RADICAL SIMPLIFIED YELLOW
+2FC9 ; [.FB41.0020.0004.9ECD][.9ECD.0000.0000.9ECD] # KANGXI RADICAL MILLET
+F989 ; [.FB41.0020.0002.9ECE][.9ECE.0000.0000.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FCA ; [.FB41.0020.0004.9ED1][.9ED1.0000.0000.9ED1] # KANGXI RADICAL BLACK
+2FA17 ; [.FB41.0020.0002.9EF9][.9EF9.0000.0000.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FCB ; [.FB41.0020.0004.9EF9][.9EF9.0000.0000.9EF9] # KANGXI RADICAL EMBROIDERY
+2FCC ; [.FB41.0020.0004.9EFD][.9EFD.0000.0000.9EFD] # KANGXI RADICAL FROG
+2FA18 ; [.FB41.0020.0002.9EFE][.9EFE.0000.0000.9EFE] # CJK COMPATIBILITY IDEOGRAPH-2FA18
+2EEA ; [.FB41.0020.0004.9EFE][.9EFE.0000.0000.9EFE] # CJK RADICAL C-SIMPLIFIED FROG
+2FA19 ; [.FB41.0020.0002.9F05][.9F05.0000.0000.9F05] # CJK COMPATIBILITY IDEOGRAPH-2FA19
+2FCD ; [.FB41.0020.0004.9F0E][.9F0E.0000.0000.9F0E] # KANGXI RADICAL TRIPOD
+2FA1A ; [.FB41.0020.0002.9F0F][.9F0F.0000.0000.9F0F] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
+2FCE ; [.FB41.0020.0004.9F13][.9F13.0000.0000.9F13] # KANGXI RADICAL DRUM
+2FA1B ; [.FB41.0020.0002.9F16][.9F16.0000.0000.9F16] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
+2FCF ; [.FB41.0020.0004.9F20][.9F20.0000.0000.9F20] # KANGXI RADICAL RAT
+2FA1C ; [.FB41.0020.0002.9F3B][.9F3B.0000.0000.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+2FD0 ; [.FB41.0020.0004.9F3B][.9F3B.0000.0000.9F3B] # KANGXI RADICAL NOSE
+FAD8 ; [.FB41.0020.0002.9F43][.9F43.0000.0000.9F43] # CJK COMPATIBILITY IDEOGRAPH-FAD8
+2FD1 ; [.FB41.0020.0004.9F4A][.9F4A.0000.0000.9F4A] # KANGXI RADICAL EVEN
+2EEB ; [.FB41.0020.0004.9F4A][.9F4A.0000.0000.9F4A][.0000.0139.001F.2EEB] # CJK RADICAL J-SIMPLIFIED EVEN
+2EEC ; [.FB41.0020.0004.9F50][.9F50.0000.0000.9F50] # CJK RADICAL C-SIMPLIFIED EVEN
+2FD2 ; [.FB41.0020.0004.9F52][.9F52.0000.0000.9F52] # KANGXI RADICAL TOOTH
+2EED ; [.FB41.0020.0004.9F52][.9F52.0000.0000.9F52][.0000.0139.001F.2EED] # CJK RADICAL J-SIMPLIFIED TOOTH
+2EEE ; [.FB41.0020.0004.9F7F][.9F7F.0000.0000.9F7F] # CJK RADICAL C-SIMPLIFIED TOOTH
+F9C4 ; [.FB41.0020.0002.9F8D][.9F8D.0000.0000.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+2FD3 ; [.FB41.0020.0004.9F8D][.9F8D.0000.0000.9F8D] # KANGXI RADICAL DRAGON
+2EEF ; [.FB41.0020.0004.9F8D][.9F8D.0000.0000.9F8D][.0000.0139.001F.2EEF] # CJK RADICAL J-SIMPLIFIED DRAGON
+FAD9 ; [.FB41.0020.0002.9F8E][.9F8E.0000.0000.9F8E] # CJK COMPATIBILITY IDEOGRAPH-FAD9
+2EF0 ; [.FB41.0020.0004.9F99][.9F99.0000.0000.9F99] # CJK RADICAL C-SIMPLIFIED DRAGON
+F907 ; [.FB41.0020.0002.9F9C][.9F9C.0000.0000.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908 ; [.FB41.0020.0002.9F9C][.9F9C.0000.0000.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE ; [.FB41.0020.0002.9F9C][.9F9C.0000.0000.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
+2FD4 ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C] # KANGXI RADICAL TURTLE
+2EF1 ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C][.0000.0139.001F.2EF1] # CJK RADICAL TURTLE
+2EF2 ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C][.0000.013A.001F.2EF2] # CJK RADICAL J-SIMPLIFIED TURTLE
+2EF3 ; [.FB41.0020.0004.9F9F][.9F9F.0000.0000.9F9F] # CJK RADICAL C-SIMPLIFIED TURTLE
+2FD5 ; [.FB41.0020.0004.9FA0][.9FA0.0000.0000.9FA0] # KANGXI RADICAL FLUTE
FA0E ; [.FB41.0020.0002.FA0E][.FA0E.0000.0000.FA0E] # CJK COMPATIBILITY IDEOGRAPH-FA0E
FA0F ; [.FB41.0020.0002.FA0F][.FA0F.0000.0000.FA0F] # CJK COMPATIBILITY IDEOGRAPH-FA0F
FA11 ; [.FB41.0020.0002.FA11][.FA11.0000.0000.FA11] # CJK COMPATIBILITY IDEOGRAPH-FA11
@@ -24224,185 +24957,185 @@ FA24 ; [.FB41.0020.0002.FA24][.FA24.0000.0000.FA24] # CJK COMPATIBILITY IDEOGRA
FA27 ; [.FB41.0020.0002.FA27][.FA27.0000.0000.FA27] # CJK COMPATIBILITY IDEOGRAPH-FA27
FA28 ; [.FB41.0020.0002.FA28][.FA28.0000.0000.FA28] # CJK COMPATIBILITY IDEOGRAPH-FA28
FA29 ; [.FB41.0020.0002.FA29][.FA29.0000.0000.FA29] # CJK COMPATIBILITY IDEOGRAPH-FA29
-2F80C ; [.FB80.0020.0002.349E][.B49E.0000.0000.349E] # CJK COMPATIBILITY IDEOGRAPH-2F80C; QQC
-2F813 ; [.FB80.0020.0002.34B9][.B4B9.0000.0000.34B9] # CJK COMPATIBILITY IDEOGRAPH-2F813; QQC
-2F9CA ; [.FB80.0020.0002.34BB][.B4BB.0000.0000.34BB] # CJK COMPATIBILITY IDEOGRAPH-2F9CA; QQC
-2F81F ; [.FB80.0020.0002.34DF][.B4DF.0000.0000.34DF] # CJK COMPATIBILITY IDEOGRAPH-2F81F; QQC
-2F824 ; [.FB80.0020.0002.3515][.B515.0000.0000.3515] # CJK COMPATIBILITY IDEOGRAPH-2F824; QQC
-2F867 ; [.FB80.0020.0002.36EE][.B6EE.0000.0000.36EE] # CJK COMPATIBILITY IDEOGRAPH-2F867; QQC
-2F868 ; [.FB80.0020.0002.36FC][.B6FC.0000.0000.36FC] # CJK COMPATIBILITY IDEOGRAPH-2F868; QQC
-2F876 ; [.FB80.0020.0002.3781][.B781.0000.0000.3781] # CJK COMPATIBILITY IDEOGRAPH-2F876; QQC
-2F883 ; [.FB80.0020.0002.382F][.B82F.0000.0000.382F] # CJK COMPATIBILITY IDEOGRAPH-2F883; QQC
-2F888 ; [.FB80.0020.0002.3862][.B862.0000.0000.3862] # CJK COMPATIBILITY IDEOGRAPH-2F888; QQC
-2F88A ; [.FB80.0020.0002.387C][.B87C.0000.0000.387C] # CJK COMPATIBILITY IDEOGRAPH-2F88A; QQC
-2F896 ; [.FB80.0020.0002.38C7][.B8C7.0000.0000.38C7] # CJK COMPATIBILITY IDEOGRAPH-2F896; QQC
-2F89B ; [.FB80.0020.0002.38E3][.B8E3.0000.0000.38E3] # CJK COMPATIBILITY IDEOGRAPH-2F89B; QQC
-2F8A2 ; [.FB80.0020.0002.391C][.B91C.0000.0000.391C] # CJK COMPATIBILITY IDEOGRAPH-2F8A2; QQC
-2F8A1 ; [.FB80.0020.0002.393A][.B93A.0000.0000.393A] # CJK COMPATIBILITY IDEOGRAPH-2F8A1; QQC
-2F8C2 ; [.FB80.0020.0002.3A2E][.BA2E.0000.0000.3A2E] # CJK COMPATIBILITY IDEOGRAPH-2F8C2; QQC
-2F8C7 ; [.FB80.0020.0002.3A6C][.BA6C.0000.0000.3A6C] # CJK COMPATIBILITY IDEOGRAPH-2F8C7; QQC
-2F8D1 ; [.FB80.0020.0002.3AE4][.BAE4.0000.0000.3AE4] # CJK COMPATIBILITY IDEOGRAPH-2F8D1; QQC
-2F8D0 ; [.FB80.0020.0002.3B08][.BB08.0000.0000.3B08] # CJK COMPATIBILITY IDEOGRAPH-2F8D0; QQC
-2F8CE ; [.FB80.0020.0002.3B19][.BB19.0000.0000.3B19] # CJK COMPATIBILITY IDEOGRAPH-2F8CE; QQC
-2F8DE ; [.FB80.0020.0002.3B49][.BB49.0000.0000.3B49] # CJK COMPATIBILITY IDEOGRAPH-2F8DE; QQC
-FAD2 ; [.FB80.0020.0002.3B9D][.BB9D.0000.0000.3B9D] # CJK COMPATIBILITY IDEOGRAPH-FAD2; QQC
-2F8E7 ; [.FB80.0020.0002.3B9D][.BB9D.0000.0000.3B9D] # CJK COMPATIBILITY IDEOGRAPH-2F8E7; QQC
-2F8EE ; [.FB80.0020.0002.3C18][.BC18.0000.0000.3C18] # CJK COMPATIBILITY IDEOGRAPH-2F8EE; QQC
-2F8F2 ; [.FB80.0020.0002.3C4E][.BC4E.0000.0000.3C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8F2; QQC
-2F90A ; [.FB80.0020.0002.3D33][.BD33.0000.0000.3D33] # CJK COMPATIBILITY IDEOGRAPH-2F90A; QQC
-2F916 ; [.FB80.0020.0002.3D96][.BD96.0000.0000.3D96] # CJK COMPATIBILITY IDEOGRAPH-2F916; QQC
-2F92A ; [.FB80.0020.0002.3EAC][.BEAC.0000.0000.3EAC] # CJK COMPATIBILITY IDEOGRAPH-2F92A; QQC
-2F92C ; [.FB80.0020.0002.3EB8][.BEB8.0000.0000.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92C; QQC
-2F92D ; [.FB80.0020.0002.3EB8][.BEB8.0000.0000.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92D; QQC
-2F933 ; [.FB80.0020.0002.3F1B][.BF1B.0000.0000.3F1B] # CJK COMPATIBILITY IDEOGRAPH-2F933; QQC
-2F93E ; [.FB80.0020.0002.3FFC][.BFFC.0000.0000.3FFC] # CJK COMPATIBILITY IDEOGRAPH-2F93E; QQC
-2F93F ; [.FB80.0020.0002.4008][.C008.0000.0000.4008] # CJK COMPATIBILITY IDEOGRAPH-2F93F; QQC
-FAD3 ; [.FB80.0020.0002.4018][.C018.0000.0000.4018] # CJK COMPATIBILITY IDEOGRAPH-FAD3; QQC
-FAD4 ; [.FB80.0020.0002.4039][.C039.0000.0000.4039] # CJK COMPATIBILITY IDEOGRAPH-FAD4; QQC
-2F949 ; [.FB80.0020.0002.4039][.C039.0000.0000.4039] # CJK COMPATIBILITY IDEOGRAPH-2F949; QQC
-2F94B ; [.FB80.0020.0002.4046][.C046.0000.0000.4046] # CJK COMPATIBILITY IDEOGRAPH-2F94B; QQC
-2F94C ; [.FB80.0020.0002.4096][.C096.0000.0000.4096] # CJK COMPATIBILITY IDEOGRAPH-2F94C; QQC
-2F951 ; [.FB80.0020.0002.40E3][.C0E3.0000.0000.40E3] # CJK COMPATIBILITY IDEOGRAPH-2F951; QQC
-2F958 ; [.FB80.0020.0002.412F][.C12F.0000.0000.412F] # CJK COMPATIBILITY IDEOGRAPH-2F958; QQC
-2F960 ; [.FB80.0020.0002.4202][.C202.0000.0000.4202] # CJK COMPATIBILITY IDEOGRAPH-2F960; QQC
-2F964 ; [.FB80.0020.0002.4227][.C227.0000.0000.4227] # CJK COMPATIBILITY IDEOGRAPH-2F964; QQC
-2F967 ; [.FB80.0020.0002.42A0][.C2A0.0000.0000.42A0] # CJK COMPATIBILITY IDEOGRAPH-2F967; QQC
-2F96D ; [.FB80.0020.0002.4301][.C301.0000.0000.4301] # CJK COMPATIBILITY IDEOGRAPH-2F96D; QQC
-2F971 ; [.FB80.0020.0002.4334][.C334.0000.0000.4334] # CJK COMPATIBILITY IDEOGRAPH-2F971; QQC
-2F974 ; [.FB80.0020.0002.4359][.C359.0000.0000.4359] # CJK COMPATIBILITY IDEOGRAPH-2F974; QQC
-2F981 ; [.FB80.0020.0002.43D5][.C3D5.0000.0000.43D5] # CJK COMPATIBILITY IDEOGRAPH-2F981; QQC
-2F8D7 ; [.FB80.0020.0002.43D9][.C3D9.0000.0000.43D9] # CJK COMPATIBILITY IDEOGRAPH-2F8D7; QQC
-2F984 ; [.FB80.0020.0002.440B][.C40B.0000.0000.440B] # CJK COMPATIBILITY IDEOGRAPH-2F984; QQC
-2F98E ; [.FB80.0020.0002.446B][.C46B.0000.0000.446B] # CJK COMPATIBILITY IDEOGRAPH-2F98E; QQC
-2F9A7 ; [.FB80.0020.0002.452B][.C52B.0000.0000.452B] # CJK COMPATIBILITY IDEOGRAPH-2F9A7; QQC
-2F9AE ; [.FB80.0020.0002.455D][.C55D.0000.0000.455D] # CJK COMPATIBILITY IDEOGRAPH-2F9AE; QQC
-2F9AF ; [.FB80.0020.0002.4561][.C561.0000.0000.4561] # CJK COMPATIBILITY IDEOGRAPH-2F9AF; QQC
-2F9B2 ; [.FB80.0020.0002.456B][.C56B.0000.0000.456B] # CJK COMPATIBILITY IDEOGRAPH-2F9B2; QQC
-2F9BF ; [.FB80.0020.0002.45D7][.C5D7.0000.0000.45D7] # CJK COMPATIBILITY IDEOGRAPH-2F9BF; QQC
-2F9C2 ; [.FB80.0020.0002.45F9][.C5F9.0000.0000.45F9] # CJK COMPATIBILITY IDEOGRAPH-2F9C2; QQC
-2F9C8 ; [.FB80.0020.0002.4635][.C635.0000.0000.4635] # CJK COMPATIBILITY IDEOGRAPH-2F9C8; QQC
-2F9CD ; [.FB80.0020.0002.46BE][.C6BE.0000.0000.46BE] # CJK COMPATIBILITY IDEOGRAPH-2F9CD; QQC
-2F9CE ; [.FB80.0020.0002.46C7][.C6C7.0000.0000.46C7] # CJK COMPATIBILITY IDEOGRAPH-2F9CE; QQC
-2F9EF ; [.FB80.0020.0002.4995][.C995.0000.0000.4995] # CJK COMPATIBILITY IDEOGRAPH-2F9EF; QQC
-2F9F2 ; [.FB80.0020.0002.49E6][.C9E6.0000.0000.49E6] # CJK COMPATIBILITY IDEOGRAPH-2F9F2; QQC
-2F9F8 ; [.FB80.0020.0002.4A6E][.CA6E.0000.0000.4A6E] # CJK COMPATIBILITY IDEOGRAPH-2F9F8; QQC
-2F9F9 ; [.FB80.0020.0002.4A76][.CA76.0000.0000.4A76] # CJK COMPATIBILITY IDEOGRAPH-2F9F9; QQC
-2F9FC ; [.FB80.0020.0002.4AB2][.CAB2.0000.0000.4AB2] # CJK COMPATIBILITY IDEOGRAPH-2F9FC; QQC
-2FA03 ; [.FB80.0020.0002.4B33][.CB33.0000.0000.4B33] # CJK COMPATIBILITY IDEOGRAPH-2FA03; QQC
-2FA08 ; [.FB80.0020.0002.4BCE][.CBCE.0000.0000.4BCE] # CJK COMPATIBILITY IDEOGRAPH-2FA08; QQC
-2FA0D ; [.FB80.0020.0002.4CCE][.CCCE.0000.0000.4CCE] # CJK COMPATIBILITY IDEOGRAPH-2FA0D; QQC
-2FA0E ; [.FB80.0020.0002.4CED][.CCED.0000.0000.4CED] # CJK COMPATIBILITY IDEOGRAPH-2FA0E; QQC
-2FA11 ; [.FB80.0020.0002.4CF8][.CCF8.0000.0000.4CF8] # CJK COMPATIBILITY IDEOGRAPH-2FA11; QQC
-2FA16 ; [.FB80.0020.0002.4D56][.CD56.0000.0000.4D56] # CJK COMPATIBILITY IDEOGRAPH-2FA16; QQC
-2F803 ; [.FB84.0020.0002.20122][.8122.0000.0000.20122] # CJK COMPATIBILITY IDEOGRAPH-2F803; QQC
-2F812 ; [.FB84.0020.0002.2051C][.851C.0000.0000.2051C] # CJK COMPATIBILITY IDEOGRAPH-2F812; QQC
-2F91B ; [.FB84.0020.0002.20525][.8525.0000.0000.20525] # CJK COMPATIBILITY IDEOGRAPH-2F91B; QQC
-2F816 ; [.FB84.0020.0002.2054B][.854B.0000.0000.2054B] # CJK COMPATIBILITY IDEOGRAPH-2F816; QQC
-2F80D ; [.FB84.0020.0002.2063A][.863A.0000.0000.2063A] # CJK COMPATIBILITY IDEOGRAPH-2F80D; QQC
-2F9D9 ; [.FB84.0020.0002.20804][.8804.0000.0000.20804] # CJK COMPATIBILITY IDEOGRAPH-2F9D9; QQC
-2F9DD ; [.FB84.0020.0002.208DE][.88DE.0000.0000.208DE] # CJK COMPATIBILITY IDEOGRAPH-2F9DD; QQC
-2F834 ; [.FB84.0020.0002.20A2C][.8A2C.0000.0000.20A2C] # CJK COMPATIBILITY IDEOGRAPH-2F834; QQC
-2F838 ; [.FB84.0020.0002.20B63][.8B63.0000.0000.20B63] # CJK COMPATIBILITY IDEOGRAPH-2F838; QQC
-2F859 ; [.FB84.0020.0002.214E4][.94E4.0000.0000.214E4] # CJK COMPATIBILITY IDEOGRAPH-2F859; QQC
-2F860 ; [.FB84.0020.0002.216A8][.96A8.0000.0000.216A8] # CJK COMPATIBILITY IDEOGRAPH-2F860; QQC
-2F861 ; [.FB84.0020.0002.216EA][.96EA.0000.0000.216EA] # CJK COMPATIBILITY IDEOGRAPH-2F861; QQC
-2F86C ; [.FB84.0020.0002.219C8][.99C8.0000.0000.219C8] # CJK COMPATIBILITY IDEOGRAPH-2F86C; QQC
-2F871 ; [.FB84.0020.0002.21B18][.9B18.0000.0000.21B18] # CJK COMPATIBILITY IDEOGRAPH-2F871; QQC
-2F8F8 ; [.FB84.0020.0002.21D0B][.9D0B.0000.0000.21D0B] # CJK COMPATIBILITY IDEOGRAPH-2F8F8; QQC
-2F87B ; [.FB84.0020.0002.21DE4][.9DE4.0000.0000.21DE4] # CJK COMPATIBILITY IDEOGRAPH-2F87B; QQC
-2F87D ; [.FB84.0020.0002.21DE6][.9DE6.0000.0000.21DE6] # CJK COMPATIBILITY IDEOGRAPH-2F87D; QQC
-2F889 ; [.FB84.0020.0002.22183][.A183.0000.0000.22183] # CJK COMPATIBILITY IDEOGRAPH-2F889; QQC
-2F939 ; [.FB84.0020.0002.2219F][.A19F.0000.0000.2219F] # CJK COMPATIBILITY IDEOGRAPH-2F939; QQC
-2F891 ; [.FB84.0020.0002.22331][.A331.0000.0000.22331] # CJK COMPATIBILITY IDEOGRAPH-2F891; QQC
-2F892 ; [.FB84.0020.0002.22331][.A331.0000.0000.22331] # CJK COMPATIBILITY IDEOGRAPH-2F892; QQC
-2F8A4 ; [.FB84.0020.0002.226D4][.A6D4.0000.0000.226D4] # CJK COMPATIBILITY IDEOGRAPH-2F8A4; QQC
-FAD0 ; [.FB84.0020.0002.22844][.A844.0000.0000.22844] # CJK COMPATIBILITY IDEOGRAPH-FAD0; QQC
-FACF ; [.FB84.0020.0002.2284A][.A84A.0000.0000.2284A] # CJK COMPATIBILITY IDEOGRAPH-FACF; QQC
-2F8B8 ; [.FB84.0020.0002.22B0C][.AB0C.0000.0000.22B0C] # CJK COMPATIBILITY IDEOGRAPH-2F8B8; QQC
-2F8BE ; [.FB84.0020.0002.22BF1][.ABF1.0000.0000.22BF1] # CJK COMPATIBILITY IDEOGRAPH-2F8BE; QQC
-2F8CA ; [.FB84.0020.0002.2300A][.B00A.0000.0000.2300A] # CJK COMPATIBILITY IDEOGRAPH-2F8CA; QQC
-2F897 ; [.FB84.0020.0002.232B8][.B2B8.0000.0000.232B8] # CJK COMPATIBILITY IDEOGRAPH-2F897; QQC
-2F980 ; [.FB84.0020.0002.2335F][.B35F.0000.0000.2335F] # CJK COMPATIBILITY IDEOGRAPH-2F980; QQC
-2F989 ; [.FB84.0020.0002.23393][.B393.0000.0000.23393] # CJK COMPATIBILITY IDEOGRAPH-2F989; QQC
-2F98A ; [.FB84.0020.0002.2339C][.B39C.0000.0000.2339C] # CJK COMPATIBILITY IDEOGRAPH-2F98A; QQC
-2F8DD ; [.FB84.0020.0002.233C3][.B3C3.0000.0000.233C3] # CJK COMPATIBILITY IDEOGRAPH-2F8DD; QQC
-FAD1 ; [.FB84.0020.0002.233D5][.B3D5.0000.0000.233D5] # CJK COMPATIBILITY IDEOGRAPH-FAD1; QQC
-2F8E3 ; [.FB84.0020.0002.2346D][.B46D.0000.0000.2346D] # CJK COMPATIBILITY IDEOGRAPH-2F8E3; QQC
-2F8EC ; [.FB84.0020.0002.236A3][.B6A3.0000.0000.236A3] # CJK COMPATIBILITY IDEOGRAPH-2F8EC; QQC
-2F8F0 ; [.FB84.0020.0002.238A7][.B8A7.0000.0000.238A7] # CJK COMPATIBILITY IDEOGRAPH-2F8F0; QQC
-2F8F7 ; [.FB84.0020.0002.23A8D][.BA8D.0000.0000.23A8D] # CJK COMPATIBILITY IDEOGRAPH-2F8F7; QQC
-2F8F9 ; [.FB84.0020.0002.23AFA][.BAFA.0000.0000.23AFA] # CJK COMPATIBILITY IDEOGRAPH-2F8F9; QQC
-2F8FB ; [.FB84.0020.0002.23CBC][.BCBC.0000.0000.23CBC] # CJK COMPATIBILITY IDEOGRAPH-2F8FB; QQC
-2F906 ; [.FB84.0020.0002.23D1E][.BD1E.0000.0000.23D1E] # CJK COMPATIBILITY IDEOGRAPH-2F906; QQC
-2F90D ; [.FB84.0020.0002.23ED1][.BED1.0000.0000.23ED1] # CJK COMPATIBILITY IDEOGRAPH-2F90D; QQC
-2F910 ; [.FB84.0020.0002.23F5E][.BF5E.0000.0000.23F5E] # CJK COMPATIBILITY IDEOGRAPH-2F910; QQC
-2F911 ; [.FB84.0020.0002.23F8E][.BF8E.0000.0000.23F8E] # CJK COMPATIBILITY IDEOGRAPH-2F911; QQC
-2F91D ; [.FB84.0020.0002.24263][.C263.0000.0000.24263] # CJK COMPATIBILITY IDEOGRAPH-2F91D; QQC
-FA6C ; [.FB84.0020.0002.242EE][.C2EE.0000.0000.242EE] # CJK COMPATIBILITY IDEOGRAPH-FA6C; QQC
-2F91F ; [.FB84.0020.0002.243AB][.C3AB.0000.0000.243AB] # CJK COMPATIBILITY IDEOGRAPH-2F91F; QQC
-2F923 ; [.FB84.0020.0002.24608][.C608.0000.0000.24608] # CJK COMPATIBILITY IDEOGRAPH-2F923; QQC
-2F926 ; [.FB84.0020.0002.24735][.C735.0000.0000.24735] # CJK COMPATIBILITY IDEOGRAPH-2F926; QQC
-2F927 ; [.FB84.0020.0002.24814][.C814.0000.0000.24814] # CJK COMPATIBILITY IDEOGRAPH-2F927; QQC
-2F935 ; [.FB84.0020.0002.24C36][.CC36.0000.0000.24C36] # CJK COMPATIBILITY IDEOGRAPH-2F935; QQC
-2F937 ; [.FB84.0020.0002.24C92][.CC92.0000.0000.24C92] # CJK COMPATIBILITY IDEOGRAPH-2F937; QQC
-2F93B ; [.FB84.0020.0002.24FA1][.CFA1.0000.0000.24FA1] # CJK COMPATIBILITY IDEOGRAPH-2F93B; QQC
-2F93C ; [.FB84.0020.0002.24FB8][.CFB8.0000.0000.24FB8] # CJK COMPATIBILITY IDEOGRAPH-2F93C; QQC
-2F93D ; [.FB84.0020.0002.25044][.D044.0000.0000.25044] # CJK COMPATIBILITY IDEOGRAPH-2F93D; QQC
-2F942 ; [.FB84.0020.0002.250F2][.D0F2.0000.0000.250F2] # CJK COMPATIBILITY IDEOGRAPH-2F942; QQC
-2F941 ; [.FB84.0020.0002.250F3][.D0F3.0000.0000.250F3] # CJK COMPATIBILITY IDEOGRAPH-2F941; QQC
-2F943 ; [.FB84.0020.0002.25119][.D119.0000.0000.25119] # CJK COMPATIBILITY IDEOGRAPH-2F943; QQC
-2F944 ; [.FB84.0020.0002.25133][.D133.0000.0000.25133] # CJK COMPATIBILITY IDEOGRAPH-2F944; QQC
-FAD5 ; [.FB84.0020.0002.25249][.D249.0000.0000.25249] # CJK COMPATIBILITY IDEOGRAPH-FAD5; QQC
-2F94D ; [.FB84.0020.0002.2541D][.D41D.0000.0000.2541D] # CJK COMPATIBILITY IDEOGRAPH-2F94D; QQC
-2F952 ; [.FB84.0020.0002.25626][.D626.0000.0000.25626] # CJK COMPATIBILITY IDEOGRAPH-2F952; QQC
-2F954 ; [.FB84.0020.0002.2569A][.D69A.0000.0000.2569A] # CJK COMPATIBILITY IDEOGRAPH-2F954; QQC
-2F955 ; [.FB84.0020.0002.256C5][.D6C5.0000.0000.256C5] # CJK COMPATIBILITY IDEOGRAPH-2F955; QQC
-2F95C ; [.FB84.0020.0002.2597C][.D97C.0000.0000.2597C] # CJK COMPATIBILITY IDEOGRAPH-2F95C; QQC
-2F95D ; [.FB84.0020.0002.25AA7][.DAA7.0000.0000.25AA7] # CJK COMPATIBILITY IDEOGRAPH-2F95D; QQC
-2F95E ; [.FB84.0020.0002.25AA7][.DAA7.0000.0000.25AA7] # CJK COMPATIBILITY IDEOGRAPH-2F95E; QQC
-2F961 ; [.FB84.0020.0002.25BAB][.DBAB.0000.0000.25BAB] # CJK COMPATIBILITY IDEOGRAPH-2F961; QQC
-2F965 ; [.FB84.0020.0002.25C80][.DC80.0000.0000.25C80] # CJK COMPATIBILITY IDEOGRAPH-2F965; QQC
-FAD6 ; [.FB84.0020.0002.25CD0][.DCD0.0000.0000.25CD0] # CJK COMPATIBILITY IDEOGRAPH-FAD6; QQC
-2F96B ; [.FB84.0020.0002.25F86][.DF86.0000.0000.25F86] # CJK COMPATIBILITY IDEOGRAPH-2F96B; QQC
-2F898 ; [.FB84.0020.0002.261DA][.E1DA.0000.0000.261DA] # CJK COMPATIBILITY IDEOGRAPH-2F898; QQC
-2F972 ; [.FB84.0020.0002.26228][.E228.0000.0000.26228] # CJK COMPATIBILITY IDEOGRAPH-2F972; QQC
-2F973 ; [.FB84.0020.0002.26247][.E247.0000.0000.26247] # CJK COMPATIBILITY IDEOGRAPH-2F973; QQC
-2F975 ; [.FB84.0020.0002.262D9][.E2D9.0000.0000.262D9] # CJK COMPATIBILITY IDEOGRAPH-2F975; QQC
-2F977 ; [.FB84.0020.0002.2633E][.E33E.0000.0000.2633E] # CJK COMPATIBILITY IDEOGRAPH-2F977; QQC
-2F97B ; [.FB84.0020.0002.264DA][.E4DA.0000.0000.264DA] # CJK COMPATIBILITY IDEOGRAPH-2F97B; QQC
-2F97C ; [.FB84.0020.0002.26523][.E523.0000.0000.26523] # CJK COMPATIBILITY IDEOGRAPH-2F97C; QQC
-2F97E ; [.FB84.0020.0002.265A8][.E5A8.0000.0000.265A8] # CJK COMPATIBILITY IDEOGRAPH-2F97E; QQC
-2F987 ; [.FB84.0020.0002.267A7][.E7A7.0000.0000.267A7] # CJK COMPATIBILITY IDEOGRAPH-2F987; QQC
-2F988 ; [.FB84.0020.0002.267B5][.E7B5.0000.0000.267B5] # CJK COMPATIBILITY IDEOGRAPH-2F988; QQC
-2F997 ; [.FB84.0020.0002.26B3C][.EB3C.0000.0000.26B3C] # CJK COMPATIBILITY IDEOGRAPH-2F997; QQC
-2F9A4 ; [.FB84.0020.0002.26C36][.EC36.0000.0000.26C36] # CJK COMPATIBILITY IDEOGRAPH-2F9A4; QQC
-2F9A6 ; [.FB84.0020.0002.26CD5][.ECD5.0000.0000.26CD5] # CJK COMPATIBILITY IDEOGRAPH-2F9A6; QQC
-2F9A5 ; [.FB84.0020.0002.26D6B][.ED6B.0000.0000.26D6B] # CJK COMPATIBILITY IDEOGRAPH-2F9A5; QQC
-2F9AD ; [.FB84.0020.0002.26F2C][.EF2C.0000.0000.26F2C] # CJK COMPATIBILITY IDEOGRAPH-2F9AD; QQC
-2F9B0 ; [.FB84.0020.0002.26FB1][.EFB1.0000.0000.26FB1] # CJK COMPATIBILITY IDEOGRAPH-2F9B0; QQC
-2F9B1 ; [.FB84.0020.0002.270D2][.F0D2.0000.0000.270D2] # CJK COMPATIBILITY IDEOGRAPH-2F9B1; QQC
-2F9AB ; [.FB84.0020.0002.273CA][.F3CA.0000.0000.273CA] # CJK COMPATIBILITY IDEOGRAPH-2F9AB; QQC
-2F9C5 ; [.FB84.0020.0002.27667][.F667.0000.0000.27667] # CJK COMPATIBILITY IDEOGRAPH-2F9C5; QQC
-2F9CB ; [.FB84.0020.0002.278AE][.F8AE.0000.0000.278AE] # CJK COMPATIBILITY IDEOGRAPH-2F9CB; QQC
-2F9CC ; [.FB84.0020.0002.27966][.F966.0000.0000.27966] # CJK COMPATIBILITY IDEOGRAPH-2F9CC; QQC
-2F9D3 ; [.FB84.0020.0002.27CA8][.FCA8.0000.0000.27CA8] # CJK COMPATIBILITY IDEOGRAPH-2F9D3; QQC
-FAD7 ; [.FB84.0020.0002.27ED3][.FED3.0000.0000.27ED3] # CJK COMPATIBILITY IDEOGRAPH-FAD7; QQC
-2F9D8 ; [.FB84.0020.0002.27F2F][.FF2F.0000.0000.27F2F] # CJK COMPATIBILITY IDEOGRAPH-2F9D8; QQC
-2F9E0 ; [.FB85.0020.0002.285D2][.85D2.0000.0000.285D2] # CJK COMPATIBILITY IDEOGRAPH-2F9E0; QQC
-2F9E1 ; [.FB85.0020.0002.285ED][.85ED.0000.0000.285ED] # CJK COMPATIBILITY IDEOGRAPH-2F9E1; QQC
-2F9E5 ; [.FB85.0020.0002.2872E][.872E.0000.0000.2872E] # CJK COMPATIBILITY IDEOGRAPH-2F9E5; QQC
-2F9ED ; [.FB85.0020.0002.28BFA][.8BFA.0000.0000.28BFA] # CJK COMPATIBILITY IDEOGRAPH-2F9ED; QQC
-2F9F1 ; [.FB85.0020.0002.28D77][.8D77.0000.0000.28D77] # CJK COMPATIBILITY IDEOGRAPH-2F9F1; QQC
-2F9F6 ; [.FB85.0020.0002.29145][.9145.0000.0000.29145] # CJK COMPATIBILITY IDEOGRAPH-2F9F6; QQC
-2F81C ; [.FB85.0020.0002.291DF][.91DF.0000.0000.291DF] # CJK COMPATIBILITY IDEOGRAPH-2F81C; QQC
-2F9F7 ; [.FB85.0020.0002.2921A][.921A.0000.0000.2921A] # CJK COMPATIBILITY IDEOGRAPH-2F9F7; QQC
-2F9FB ; [.FB85.0020.0002.2940A][.940A.0000.0000.2940A] # CJK COMPATIBILITY IDEOGRAPH-2F9FB; QQC
-2F9FD ; [.FB85.0020.0002.29496][.9496.0000.0000.29496] # CJK COMPATIBILITY IDEOGRAPH-2F9FD; QQC
-2FA01 ; [.FB85.0020.0002.295B6][.95B6.0000.0000.295B6] # CJK COMPATIBILITY IDEOGRAPH-2FA01; QQC
-2FA09 ; [.FB85.0020.0002.29B30][.9B30.0000.0000.29B30] # CJK COMPATIBILITY IDEOGRAPH-2FA09; QQC
-2FA10 ; [.FB85.0020.0002.2A0CE][.A0CE.0000.0000.2A0CE] # CJK COMPATIBILITY IDEOGRAPH-2FA10; QQC
-2FA12 ; [.FB85.0020.0002.2A105][.A105.0000.0000.2A105] # CJK COMPATIBILITY IDEOGRAPH-2FA12; QQC
-2FA13 ; [.FB85.0020.0002.2A20E][.A20E.0000.0000.2A20E] # CJK COMPATIBILITY IDEOGRAPH-2FA13; QQC
-2FA14 ; [.FB85.0020.0002.2A291][.A291.0000.0000.2A291] # CJK COMPATIBILITY IDEOGRAPH-2FA14; QQC
-2F88F ; [.FB85.0020.0002.2A392][.A392.0000.0000.2A392] # CJK COMPATIBILITY IDEOGRAPH-2F88F; QQC
-2FA1D ; [.FB85.0020.0002.2A600][.A600.0000.0000.2A600] # CJK COMPATIBILITY IDEOGRAPH-2FA1D; QQC
+2F80C ; [.FB80.0020.0002.349E][.B49E.0000.0000.349E] # CJK COMPATIBILITY IDEOGRAPH-2F80C
+2F813 ; [.FB80.0020.0002.34B9][.B4B9.0000.0000.34B9] # CJK COMPATIBILITY IDEOGRAPH-2F813
+2F9CA ; [.FB80.0020.0002.34BB][.B4BB.0000.0000.34BB] # CJK COMPATIBILITY IDEOGRAPH-2F9CA
+2F81F ; [.FB80.0020.0002.34DF][.B4DF.0000.0000.34DF] # CJK COMPATIBILITY IDEOGRAPH-2F81F
+2F824 ; [.FB80.0020.0002.3515][.B515.0000.0000.3515] # CJK COMPATIBILITY IDEOGRAPH-2F824
+2F867 ; [.FB80.0020.0002.36EE][.B6EE.0000.0000.36EE] # CJK COMPATIBILITY IDEOGRAPH-2F867
+2F868 ; [.FB80.0020.0002.36FC][.B6FC.0000.0000.36FC] # CJK COMPATIBILITY IDEOGRAPH-2F868
+2F876 ; [.FB80.0020.0002.3781][.B781.0000.0000.3781] # CJK COMPATIBILITY IDEOGRAPH-2F876
+2F883 ; [.FB80.0020.0002.382F][.B82F.0000.0000.382F] # CJK COMPATIBILITY IDEOGRAPH-2F883
+2F888 ; [.FB80.0020.0002.3862][.B862.0000.0000.3862] # CJK COMPATIBILITY IDEOGRAPH-2F888
+2F88A ; [.FB80.0020.0002.387C][.B87C.0000.0000.387C] # CJK COMPATIBILITY IDEOGRAPH-2F88A
+2F896 ; [.FB80.0020.0002.38C7][.B8C7.0000.0000.38C7] # CJK COMPATIBILITY IDEOGRAPH-2F896
+2F89B ; [.FB80.0020.0002.38E3][.B8E3.0000.0000.38E3] # CJK COMPATIBILITY IDEOGRAPH-2F89B
+2F8A2 ; [.FB80.0020.0002.391C][.B91C.0000.0000.391C] # CJK COMPATIBILITY IDEOGRAPH-2F8A2
+2F8A1 ; [.FB80.0020.0002.393A][.B93A.0000.0000.393A] # CJK COMPATIBILITY IDEOGRAPH-2F8A1
+2F8C2 ; [.FB80.0020.0002.3A2E][.BA2E.0000.0000.3A2E] # CJK COMPATIBILITY IDEOGRAPH-2F8C2
+2F8C7 ; [.FB80.0020.0002.3A6C][.BA6C.0000.0000.3A6C] # CJK COMPATIBILITY IDEOGRAPH-2F8C7
+2F8D1 ; [.FB80.0020.0002.3AE4][.BAE4.0000.0000.3AE4] # CJK COMPATIBILITY IDEOGRAPH-2F8D1
+2F8D0 ; [.FB80.0020.0002.3B08][.BB08.0000.0000.3B08] # CJK COMPATIBILITY IDEOGRAPH-2F8D0
+2F8CE ; [.FB80.0020.0002.3B19][.BB19.0000.0000.3B19] # CJK COMPATIBILITY IDEOGRAPH-2F8CE
+2F8DE ; [.FB80.0020.0002.3B49][.BB49.0000.0000.3B49] # CJK COMPATIBILITY IDEOGRAPH-2F8DE
+FAD2 ; [.FB80.0020.0002.3B9D][.BB9D.0000.0000.3B9D] # CJK COMPATIBILITY IDEOGRAPH-FAD2
+2F8E7 ; [.FB80.0020.0002.3B9D][.BB9D.0000.0000.3B9D] # CJK COMPATIBILITY IDEOGRAPH-2F8E7
+2F8EE ; [.FB80.0020.0002.3C18][.BC18.0000.0000.3C18] # CJK COMPATIBILITY IDEOGRAPH-2F8EE
+2F8F2 ; [.FB80.0020.0002.3C4E][.BC4E.0000.0000.3C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8F2
+2F90A ; [.FB80.0020.0002.3D33][.BD33.0000.0000.3D33] # CJK COMPATIBILITY IDEOGRAPH-2F90A
+2F916 ; [.FB80.0020.0002.3D96][.BD96.0000.0000.3D96] # CJK COMPATIBILITY IDEOGRAPH-2F916
+2F92A ; [.FB80.0020.0002.3EAC][.BEAC.0000.0000.3EAC] # CJK COMPATIBILITY IDEOGRAPH-2F92A
+2F92C ; [.FB80.0020.0002.3EB8][.BEB8.0000.0000.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92C
+2F92D ; [.FB80.0020.0002.3EB8][.BEB8.0000.0000.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92D
+2F933 ; [.FB80.0020.0002.3F1B][.BF1B.0000.0000.3F1B] # CJK COMPATIBILITY IDEOGRAPH-2F933
+2F93E ; [.FB80.0020.0002.3FFC][.BFFC.0000.0000.3FFC] # CJK COMPATIBILITY IDEOGRAPH-2F93E
+2F93F ; [.FB80.0020.0002.4008][.C008.0000.0000.4008] # CJK COMPATIBILITY IDEOGRAPH-2F93F
+FAD3 ; [.FB80.0020.0002.4018][.C018.0000.0000.4018] # CJK COMPATIBILITY IDEOGRAPH-FAD3
+FAD4 ; [.FB80.0020.0002.4039][.C039.0000.0000.4039] # CJK COMPATIBILITY IDEOGRAPH-FAD4
+2F949 ; [.FB80.0020.0002.4039][.C039.0000.0000.4039] # CJK COMPATIBILITY IDEOGRAPH-2F949
+2F94B ; [.FB80.0020.0002.4046][.C046.0000.0000.4046] # CJK COMPATIBILITY IDEOGRAPH-2F94B
+2F94C ; [.FB80.0020.0002.4096][.C096.0000.0000.4096] # CJK COMPATIBILITY IDEOGRAPH-2F94C
+2F951 ; [.FB80.0020.0002.40E3][.C0E3.0000.0000.40E3] # CJK COMPATIBILITY IDEOGRAPH-2F951
+2F958 ; [.FB80.0020.0002.412F][.C12F.0000.0000.412F] # CJK COMPATIBILITY IDEOGRAPH-2F958
+2F960 ; [.FB80.0020.0002.4202][.C202.0000.0000.4202] # CJK COMPATIBILITY IDEOGRAPH-2F960
+2F964 ; [.FB80.0020.0002.4227][.C227.0000.0000.4227] # CJK COMPATIBILITY IDEOGRAPH-2F964
+2F967 ; [.FB80.0020.0002.42A0][.C2A0.0000.0000.42A0] # CJK COMPATIBILITY IDEOGRAPH-2F967
+2F96D ; [.FB80.0020.0002.4301][.C301.0000.0000.4301] # CJK COMPATIBILITY IDEOGRAPH-2F96D
+2F971 ; [.FB80.0020.0002.4334][.C334.0000.0000.4334] # CJK COMPATIBILITY IDEOGRAPH-2F971
+2F974 ; [.FB80.0020.0002.4359][.C359.0000.0000.4359] # CJK COMPATIBILITY IDEOGRAPH-2F974
+2F981 ; [.FB80.0020.0002.43D5][.C3D5.0000.0000.43D5] # CJK COMPATIBILITY IDEOGRAPH-2F981
+2F8D7 ; [.FB80.0020.0002.43D9][.C3D9.0000.0000.43D9] # CJK COMPATIBILITY IDEOGRAPH-2F8D7
+2F984 ; [.FB80.0020.0002.440B][.C40B.0000.0000.440B] # CJK COMPATIBILITY IDEOGRAPH-2F984
+2F98E ; [.FB80.0020.0002.446B][.C46B.0000.0000.446B] # CJK COMPATIBILITY IDEOGRAPH-2F98E
+2F9A7 ; [.FB80.0020.0002.452B][.C52B.0000.0000.452B] # CJK COMPATIBILITY IDEOGRAPH-2F9A7
+2F9AE ; [.FB80.0020.0002.455D][.C55D.0000.0000.455D] # CJK COMPATIBILITY IDEOGRAPH-2F9AE
+2F9AF ; [.FB80.0020.0002.4561][.C561.0000.0000.4561] # CJK COMPATIBILITY IDEOGRAPH-2F9AF
+2F9B2 ; [.FB80.0020.0002.456B][.C56B.0000.0000.456B] # CJK COMPATIBILITY IDEOGRAPH-2F9B2
+2F9BF ; [.FB80.0020.0002.45D7][.C5D7.0000.0000.45D7] # CJK COMPATIBILITY IDEOGRAPH-2F9BF
+2F9C2 ; [.FB80.0020.0002.45F9][.C5F9.0000.0000.45F9] # CJK COMPATIBILITY IDEOGRAPH-2F9C2
+2F9C8 ; [.FB80.0020.0002.4635][.C635.0000.0000.4635] # CJK COMPATIBILITY IDEOGRAPH-2F9C8
+2F9CD ; [.FB80.0020.0002.46BE][.C6BE.0000.0000.46BE] # CJK COMPATIBILITY IDEOGRAPH-2F9CD
+2F9CE ; [.FB80.0020.0002.46C7][.C6C7.0000.0000.46C7] # CJK COMPATIBILITY IDEOGRAPH-2F9CE
+2F9EF ; [.FB80.0020.0002.4995][.C995.0000.0000.4995] # CJK COMPATIBILITY IDEOGRAPH-2F9EF
+2F9F2 ; [.FB80.0020.0002.49E6][.C9E6.0000.0000.49E6] # CJK COMPATIBILITY IDEOGRAPH-2F9F2
+2F9F8 ; [.FB80.0020.0002.4A6E][.CA6E.0000.0000.4A6E] # CJK COMPATIBILITY IDEOGRAPH-2F9F8
+2F9F9 ; [.FB80.0020.0002.4A76][.CA76.0000.0000.4A76] # CJK COMPATIBILITY IDEOGRAPH-2F9F9
+2F9FC ; [.FB80.0020.0002.4AB2][.CAB2.0000.0000.4AB2] # CJK COMPATIBILITY IDEOGRAPH-2F9FC
+2FA03 ; [.FB80.0020.0002.4B33][.CB33.0000.0000.4B33] # CJK COMPATIBILITY IDEOGRAPH-2FA03
+2FA08 ; [.FB80.0020.0002.4BCE][.CBCE.0000.0000.4BCE] # CJK COMPATIBILITY IDEOGRAPH-2FA08
+2FA0D ; [.FB80.0020.0002.4CCE][.CCCE.0000.0000.4CCE] # CJK COMPATIBILITY IDEOGRAPH-2FA0D
+2FA0E ; [.FB80.0020.0002.4CED][.CCED.0000.0000.4CED] # CJK COMPATIBILITY IDEOGRAPH-2FA0E
+2FA11 ; [.FB80.0020.0002.4CF8][.CCF8.0000.0000.4CF8] # CJK COMPATIBILITY IDEOGRAPH-2FA11
+2FA16 ; [.FB80.0020.0002.4D56][.CD56.0000.0000.4D56] # CJK COMPATIBILITY IDEOGRAPH-2FA16
+2F803 ; [.FB84.0020.0002.20122][.8122.0000.0000.20122] # CJK COMPATIBILITY IDEOGRAPH-2F803
+2F812 ; [.FB84.0020.0002.2051C][.851C.0000.0000.2051C] # CJK COMPATIBILITY IDEOGRAPH-2F812
+2F91B ; [.FB84.0020.0002.20525][.8525.0000.0000.20525] # CJK COMPATIBILITY IDEOGRAPH-2F91B
+2F816 ; [.FB84.0020.0002.2054B][.854B.0000.0000.2054B] # CJK COMPATIBILITY IDEOGRAPH-2F816
+2F80D ; [.FB84.0020.0002.2063A][.863A.0000.0000.2063A] # CJK COMPATIBILITY IDEOGRAPH-2F80D
+2F9D9 ; [.FB84.0020.0002.20804][.8804.0000.0000.20804] # CJK COMPATIBILITY IDEOGRAPH-2F9D9
+2F9DD ; [.FB84.0020.0002.208DE][.88DE.0000.0000.208DE] # CJK COMPATIBILITY IDEOGRAPH-2F9DD
+2F834 ; [.FB84.0020.0002.20A2C][.8A2C.0000.0000.20A2C] # CJK COMPATIBILITY IDEOGRAPH-2F834
+2F838 ; [.FB84.0020.0002.20B63][.8B63.0000.0000.20B63] # CJK COMPATIBILITY IDEOGRAPH-2F838
+2F859 ; [.FB84.0020.0002.214E4][.94E4.0000.0000.214E4] # CJK COMPATIBILITY IDEOGRAPH-2F859
+2F860 ; [.FB84.0020.0002.216A8][.96A8.0000.0000.216A8] # CJK COMPATIBILITY IDEOGRAPH-2F860
+2F861 ; [.FB84.0020.0002.216EA][.96EA.0000.0000.216EA] # CJK COMPATIBILITY IDEOGRAPH-2F861
+2F86C ; [.FB84.0020.0002.219C8][.99C8.0000.0000.219C8] # CJK COMPATIBILITY IDEOGRAPH-2F86C
+2F871 ; [.FB84.0020.0002.21B18][.9B18.0000.0000.21B18] # CJK COMPATIBILITY IDEOGRAPH-2F871
+2F8F8 ; [.FB84.0020.0002.21D0B][.9D0B.0000.0000.21D0B] # CJK COMPATIBILITY IDEOGRAPH-2F8F8
+2F87B ; [.FB84.0020.0002.21DE4][.9DE4.0000.0000.21DE4] # CJK COMPATIBILITY IDEOGRAPH-2F87B
+2F87D ; [.FB84.0020.0002.21DE6][.9DE6.0000.0000.21DE6] # CJK COMPATIBILITY IDEOGRAPH-2F87D
+2F889 ; [.FB84.0020.0002.22183][.A183.0000.0000.22183] # CJK COMPATIBILITY IDEOGRAPH-2F889
+2F939 ; [.FB84.0020.0002.2219F][.A19F.0000.0000.2219F] # CJK COMPATIBILITY IDEOGRAPH-2F939
+2F891 ; [.FB84.0020.0002.22331][.A331.0000.0000.22331] # CJK COMPATIBILITY IDEOGRAPH-2F891
+2F892 ; [.FB84.0020.0002.22331][.A331.0000.0000.22331] # CJK COMPATIBILITY IDEOGRAPH-2F892
+2F8A4 ; [.FB84.0020.0002.226D4][.A6D4.0000.0000.226D4] # CJK COMPATIBILITY IDEOGRAPH-2F8A4
+FAD0 ; [.FB84.0020.0002.22844][.A844.0000.0000.22844] # CJK COMPATIBILITY IDEOGRAPH-FAD0
+FACF ; [.FB84.0020.0002.2284A][.A84A.0000.0000.2284A] # CJK COMPATIBILITY IDEOGRAPH-FACF
+2F8B8 ; [.FB84.0020.0002.22B0C][.AB0C.0000.0000.22B0C] # CJK COMPATIBILITY IDEOGRAPH-2F8B8
+2F8BE ; [.FB84.0020.0002.22BF1][.ABF1.0000.0000.22BF1] # CJK COMPATIBILITY IDEOGRAPH-2F8BE
+2F8CA ; [.FB84.0020.0002.2300A][.B00A.0000.0000.2300A] # CJK COMPATIBILITY IDEOGRAPH-2F8CA
+2F897 ; [.FB84.0020.0002.232B8][.B2B8.0000.0000.232B8] # CJK COMPATIBILITY IDEOGRAPH-2F897
+2F980 ; [.FB84.0020.0002.2335F][.B35F.0000.0000.2335F] # CJK COMPATIBILITY IDEOGRAPH-2F980
+2F989 ; [.FB84.0020.0002.23393][.B393.0000.0000.23393] # CJK COMPATIBILITY IDEOGRAPH-2F989
+2F98A ; [.FB84.0020.0002.2339C][.B39C.0000.0000.2339C] # CJK COMPATIBILITY IDEOGRAPH-2F98A
+2F8DD ; [.FB84.0020.0002.233C3][.B3C3.0000.0000.233C3] # CJK COMPATIBILITY IDEOGRAPH-2F8DD
+FAD1 ; [.FB84.0020.0002.233D5][.B3D5.0000.0000.233D5] # CJK COMPATIBILITY IDEOGRAPH-FAD1
+2F8E3 ; [.FB84.0020.0002.2346D][.B46D.0000.0000.2346D] # CJK COMPATIBILITY IDEOGRAPH-2F8E3
+2F8EC ; [.FB84.0020.0002.236A3][.B6A3.0000.0000.236A3] # CJK COMPATIBILITY IDEOGRAPH-2F8EC
+2F8F0 ; [.FB84.0020.0002.238A7][.B8A7.0000.0000.238A7] # CJK COMPATIBILITY IDEOGRAPH-2F8F0
+2F8F7 ; [.FB84.0020.0002.23A8D][.BA8D.0000.0000.23A8D] # CJK COMPATIBILITY IDEOGRAPH-2F8F7
+2F8F9 ; [.FB84.0020.0002.23AFA][.BAFA.0000.0000.23AFA] # CJK COMPATIBILITY IDEOGRAPH-2F8F9
+2F8FB ; [.FB84.0020.0002.23CBC][.BCBC.0000.0000.23CBC] # CJK COMPATIBILITY IDEOGRAPH-2F8FB
+2F906 ; [.FB84.0020.0002.23D1E][.BD1E.0000.0000.23D1E] # CJK COMPATIBILITY IDEOGRAPH-2F906
+2F90D ; [.FB84.0020.0002.23ED1][.BED1.0000.0000.23ED1] # CJK COMPATIBILITY IDEOGRAPH-2F90D
+2F910 ; [.FB84.0020.0002.23F5E][.BF5E.0000.0000.23F5E] # CJK COMPATIBILITY IDEOGRAPH-2F910
+2F911 ; [.FB84.0020.0002.23F8E][.BF8E.0000.0000.23F8E] # CJK COMPATIBILITY IDEOGRAPH-2F911
+2F91D ; [.FB84.0020.0002.24263][.C263.0000.0000.24263] # CJK COMPATIBILITY IDEOGRAPH-2F91D
+FA6C ; [.FB84.0020.0002.242EE][.C2EE.0000.0000.242EE] # CJK COMPATIBILITY IDEOGRAPH-FA6C
+2F91F ; [.FB84.0020.0002.243AB][.C3AB.0000.0000.243AB] # CJK COMPATIBILITY IDEOGRAPH-2F91F
+2F923 ; [.FB84.0020.0002.24608][.C608.0000.0000.24608] # CJK COMPATIBILITY IDEOGRAPH-2F923
+2F926 ; [.FB84.0020.0002.24735][.C735.0000.0000.24735] # CJK COMPATIBILITY IDEOGRAPH-2F926
+2F927 ; [.FB84.0020.0002.24814][.C814.0000.0000.24814] # CJK COMPATIBILITY IDEOGRAPH-2F927
+2F935 ; [.FB84.0020.0002.24C36][.CC36.0000.0000.24C36] # CJK COMPATIBILITY IDEOGRAPH-2F935
+2F937 ; [.FB84.0020.0002.24C92][.CC92.0000.0000.24C92] # CJK COMPATIBILITY IDEOGRAPH-2F937
+2F93B ; [.FB84.0020.0002.24FA1][.CFA1.0000.0000.24FA1] # CJK COMPATIBILITY IDEOGRAPH-2F93B
+2F93C ; [.FB84.0020.0002.24FB8][.CFB8.0000.0000.24FB8] # CJK COMPATIBILITY IDEOGRAPH-2F93C
+2F93D ; [.FB84.0020.0002.25044][.D044.0000.0000.25044] # CJK COMPATIBILITY IDEOGRAPH-2F93D
+2F942 ; [.FB84.0020.0002.250F2][.D0F2.0000.0000.250F2] # CJK COMPATIBILITY IDEOGRAPH-2F942
+2F941 ; [.FB84.0020.0002.250F3][.D0F3.0000.0000.250F3] # CJK COMPATIBILITY IDEOGRAPH-2F941
+2F943 ; [.FB84.0020.0002.25119][.D119.0000.0000.25119] # CJK COMPATIBILITY IDEOGRAPH-2F943
+2F944 ; [.FB84.0020.0002.25133][.D133.0000.0000.25133] # CJK COMPATIBILITY IDEOGRAPH-2F944
+FAD5 ; [.FB84.0020.0002.25249][.D249.0000.0000.25249] # CJK COMPATIBILITY IDEOGRAPH-FAD5
+2F94D ; [.FB84.0020.0002.2541D][.D41D.0000.0000.2541D] # CJK COMPATIBILITY IDEOGRAPH-2F94D
+2F952 ; [.FB84.0020.0002.25626][.D626.0000.0000.25626] # CJK COMPATIBILITY IDEOGRAPH-2F952
+2F954 ; [.FB84.0020.0002.2569A][.D69A.0000.0000.2569A] # CJK COMPATIBILITY IDEOGRAPH-2F954
+2F955 ; [.FB84.0020.0002.256C5][.D6C5.0000.0000.256C5] # CJK COMPATIBILITY IDEOGRAPH-2F955
+2F95C ; [.FB84.0020.0002.2597C][.D97C.0000.0000.2597C] # CJK COMPATIBILITY IDEOGRAPH-2F95C
+2F95D ; [.FB84.0020.0002.25AA7][.DAA7.0000.0000.25AA7] # CJK COMPATIBILITY IDEOGRAPH-2F95D
+2F95E ; [.FB84.0020.0002.25AA7][.DAA7.0000.0000.25AA7] # CJK COMPATIBILITY IDEOGRAPH-2F95E
+2F961 ; [.FB84.0020.0002.25BAB][.DBAB.0000.0000.25BAB] # CJK COMPATIBILITY IDEOGRAPH-2F961
+2F965 ; [.FB84.0020.0002.25C80][.DC80.0000.0000.25C80] # CJK COMPATIBILITY IDEOGRAPH-2F965
+FAD6 ; [.FB84.0020.0002.25CD0][.DCD0.0000.0000.25CD0] # CJK COMPATIBILITY IDEOGRAPH-FAD6
+2F96B ; [.FB84.0020.0002.25F86][.DF86.0000.0000.25F86] # CJK COMPATIBILITY IDEOGRAPH-2F96B
+2F898 ; [.FB84.0020.0002.261DA][.E1DA.0000.0000.261DA] # CJK COMPATIBILITY IDEOGRAPH-2F898
+2F972 ; [.FB84.0020.0002.26228][.E228.0000.0000.26228] # CJK COMPATIBILITY IDEOGRAPH-2F972
+2F973 ; [.FB84.0020.0002.26247][.E247.0000.0000.26247] # CJK COMPATIBILITY IDEOGRAPH-2F973
+2F975 ; [.FB84.0020.0002.262D9][.E2D9.0000.0000.262D9] # CJK COMPATIBILITY IDEOGRAPH-2F975
+2F977 ; [.FB84.0020.0002.2633E][.E33E.0000.0000.2633E] # CJK COMPATIBILITY IDEOGRAPH-2F977
+2F97B ; [.FB84.0020.0002.264DA][.E4DA.0000.0000.264DA] # CJK COMPATIBILITY IDEOGRAPH-2F97B
+2F97C ; [.FB84.0020.0002.26523][.E523.0000.0000.26523] # CJK COMPATIBILITY IDEOGRAPH-2F97C
+2F97E ; [.FB84.0020.0002.265A8][.E5A8.0000.0000.265A8] # CJK COMPATIBILITY IDEOGRAPH-2F97E
+2F987 ; [.FB84.0020.0002.267A7][.E7A7.0000.0000.267A7] # CJK COMPATIBILITY IDEOGRAPH-2F987
+2F988 ; [.FB84.0020.0002.267B5][.E7B5.0000.0000.267B5] # CJK COMPATIBILITY IDEOGRAPH-2F988
+2F997 ; [.FB84.0020.0002.26B3C][.EB3C.0000.0000.26B3C] # CJK COMPATIBILITY IDEOGRAPH-2F997
+2F9A4 ; [.FB84.0020.0002.26C36][.EC36.0000.0000.26C36] # CJK COMPATIBILITY IDEOGRAPH-2F9A4
+2F9A6 ; [.FB84.0020.0002.26CD5][.ECD5.0000.0000.26CD5] # CJK COMPATIBILITY IDEOGRAPH-2F9A6
+2F9A5 ; [.FB84.0020.0002.26D6B][.ED6B.0000.0000.26D6B] # CJK COMPATIBILITY IDEOGRAPH-2F9A5
+2F9AD ; [.FB84.0020.0002.26F2C][.EF2C.0000.0000.26F2C] # CJK COMPATIBILITY IDEOGRAPH-2F9AD
+2F9B0 ; [.FB84.0020.0002.26FB1][.EFB1.0000.0000.26FB1] # CJK COMPATIBILITY IDEOGRAPH-2F9B0
+2F9B1 ; [.FB84.0020.0002.270D2][.F0D2.0000.0000.270D2] # CJK COMPATIBILITY IDEOGRAPH-2F9B1
+2F9AB ; [.FB84.0020.0002.273CA][.F3CA.0000.0000.273CA] # CJK COMPATIBILITY IDEOGRAPH-2F9AB
+2F9C5 ; [.FB84.0020.0002.27667][.F667.0000.0000.27667] # CJK COMPATIBILITY IDEOGRAPH-2F9C5
+2F9CB ; [.FB84.0020.0002.278AE][.F8AE.0000.0000.278AE] # CJK COMPATIBILITY IDEOGRAPH-2F9CB
+2F9CC ; [.FB84.0020.0002.27966][.F966.0000.0000.27966] # CJK COMPATIBILITY IDEOGRAPH-2F9CC
+2F9D3 ; [.FB84.0020.0002.27CA8][.FCA8.0000.0000.27CA8] # CJK COMPATIBILITY IDEOGRAPH-2F9D3
+FAD7 ; [.FB84.0020.0002.27ED3][.FED3.0000.0000.27ED3] # CJK COMPATIBILITY IDEOGRAPH-FAD7
+2F9D8 ; [.FB84.0020.0002.27F2F][.FF2F.0000.0000.27F2F] # CJK COMPATIBILITY IDEOGRAPH-2F9D8
+2F9E0 ; [.FB85.0020.0002.285D2][.85D2.0000.0000.285D2] # CJK COMPATIBILITY IDEOGRAPH-2F9E0
+2F9E1 ; [.FB85.0020.0002.285ED][.85ED.0000.0000.285ED] # CJK COMPATIBILITY IDEOGRAPH-2F9E1
+2F9E5 ; [.FB85.0020.0002.2872E][.872E.0000.0000.2872E] # CJK COMPATIBILITY IDEOGRAPH-2F9E5
+2F9ED ; [.FB85.0020.0002.28BFA][.8BFA.0000.0000.28BFA] # CJK COMPATIBILITY IDEOGRAPH-2F9ED
+2F9F1 ; [.FB85.0020.0002.28D77][.8D77.0000.0000.28D77] # CJK COMPATIBILITY IDEOGRAPH-2F9F1
+2F9F6 ; [.FB85.0020.0002.29145][.9145.0000.0000.29145] # CJK COMPATIBILITY IDEOGRAPH-2F9F6
+2F81C ; [.FB85.0020.0002.291DF][.91DF.0000.0000.291DF] # CJK COMPATIBILITY IDEOGRAPH-2F81C
+2F9F7 ; [.FB85.0020.0002.2921A][.921A.0000.0000.2921A] # CJK COMPATIBILITY IDEOGRAPH-2F9F7
+2F9FB ; [.FB85.0020.0002.2940A][.940A.0000.0000.2940A] # CJK COMPATIBILITY IDEOGRAPH-2F9FB
+2F9FD ; [.FB85.0020.0002.29496][.9496.0000.0000.29496] # CJK COMPATIBILITY IDEOGRAPH-2F9FD
+2FA01 ; [.FB85.0020.0002.295B6][.95B6.0000.0000.295B6] # CJK COMPATIBILITY IDEOGRAPH-2FA01
+2FA09 ; [.FB85.0020.0002.29B30][.9B30.0000.0000.29B30] # CJK COMPATIBILITY IDEOGRAPH-2FA09
+2FA10 ; [.FB85.0020.0002.2A0CE][.A0CE.0000.0000.2A0CE] # CJK COMPATIBILITY IDEOGRAPH-2FA10
+2FA12 ; [.FB85.0020.0002.2A105][.A105.0000.0000.2A105] # CJK COMPATIBILITY IDEOGRAPH-2FA12
+2FA13 ; [.FB85.0020.0002.2A20E][.A20E.0000.0000.2A20E] # CJK COMPATIBILITY IDEOGRAPH-2FA13
+2FA14 ; [.FB85.0020.0002.2A291][.A291.0000.0000.2A291] # CJK COMPATIBILITY IDEOGRAPH-2FA14
+2F88F ; [.FB85.0020.0002.2A392][.A392.0000.0000.2A392] # CJK COMPATIBILITY IDEOGRAPH-2F88F
+2FA1D ; [.FB85.0020.0002.2A600][.A600.0000.0000.2A600] # CJK COMPATIBILITY IDEOGRAPH-2FA1D
diff --git a/Master/tlpkg/tlperl/lib/Unicode/Normalize.pm b/Master/tlpkg/tlperl/lib/Unicode/Normalize.pm
index f4bd7a4f1fa..c580f4852c6 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/Normalize.pm
+++ b/Master/tlpkg/tlperl/lib/Unicode/Normalize.pm
@@ -13,7 +13,7 @@ use Carp;
no warnings 'utf8';
-our $VERSION = '1.10';
+our $VERSION = '1.14';
our $PACKAGE = __PACKAGE__;
our @EXPORT = qw( NFC NFD NFKC NFKD );
@@ -548,8 +548,9 @@ normalization implemented by this module depends on your perl's version.
5.8.7-5.8.8 4.1.0
5.10.0 5.0.0
5.8.9, 5.10.1 5.1.0
- 5.12.0-5.12.2 5.2.0
- (5.13.7-5.13.11) 6.0.0
+ 5.12.0-5.12.3 5.2.0
+ 5.14.0 6.0.0
+ 5.16.0 (to be) 6.1.0
=item Correction of decomposition mapping
@@ -577,7 +578,7 @@ lower than 4.1.0.
SADAHIRO Tomoyuki <SADAHIRO@cpan.org>
-Copyright(C) 2001-2011, SADAHIRO Tomoyuki. Japan. All rights reserved.
+Copyright(C) 2001-2012, SADAHIRO Tomoyuki. Japan. All rights reserved.
This module is free software; you can redistribute it
and/or modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Unicode/UCD.pm b/Master/tlpkg/tlperl/lib/Unicode/UCD.pm
index 30acd503b84..724fb62785b 100644
--- a/Master/tlpkg/tlperl/lib/Unicode/UCD.pm
+++ b/Master/tlpkg/tlperl/lib/Unicode/UCD.pm
@@ -4,9 +4,9 @@ use strict;
use warnings;
no warnings 'surrogate'; # surrogates can be inputs to this
use charnames ();
-use Unicode::Normalize qw(getCombinClass NFKD);
+use Unicode::Normalize qw(getCombinClass NFD);
-our $VERSION = '0.32';
+our $VERSION = '0.43';
use Storable qw(dclone);
@@ -23,6 +23,11 @@ our @EXPORT_OK = qw(charinfo
casefold casespec
namedseq
num
+ prop_aliases
+ prop_value_aliases
+ prop_invlist
+ prop_invmap
+ MAX_CP
);
use Carp;
@@ -62,6 +67,19 @@ Unicode::UCD - Unicode character database
my $categories = general_categories();
my $types = bidi_types();
+ use Unicode::UCD 'prop_aliases';
+ my @space_names = prop_aliases("space");
+
+ use Unicode::UCD 'prop_value_aliases';
+ my @gc_punct_names = prop_value_aliases("Gc", "Punct");
+
+ use Unicode::UCD 'prop_invlist';
+ my @puncts = prop_invlist("gc=punctuation");
+
+ use Unicode::UCD 'prop_invmap';
+ my ($list_ref, $map_ref, $format, $missing)
+ = prop_invmap("General Category");
+
use Unicode::UCD 'compexcl';
my $compexcl = compexcl($codepoint);
@@ -71,7 +89,7 @@ Unicode::UCD - Unicode character database
my $unicode_version = Unicode::UCD::UnicodeVersion();
my $convert_to_numeric =
- Unicode::UCD::num("\N{RUMI DIGIT ONE}\N{RUMI DIGIT TWO}");
+ Unicode::UCD::num("\N{RUMI DIGIT ONE}\N{RUMI DIGIT TWO}");
=head1 DESCRIPTION
@@ -88,6 +106,7 @@ you want a code point to be interpreted as a hexadecimal number, you must
prefix it with either C<0x> or C<U+>, because a string like e.g. C<123> will be
interpreted as a decimal code point. Note that the largest code point in
Unicode is U+10FFFF.
+
=cut
my $BLOCKSFH;
@@ -125,7 +144,7 @@ standard. If the L</code point argument> is not assigned in the standard
(i.e., has the general category C<Cn> meaning C<Unassigned>)
or is a non-character (meaning it is guaranteed to never be assigned in
the standard),
-B<undef> is returned.
+C<undef> is returned.
Fields that aren't applicable to the particular code point argument exist in the
returned hash, and are empty.
@@ -154,6 +173,9 @@ C<E<lt>controlE<gt>>.
The short name of the general category of I<code>.
This will match one of the keys in the hash returned by L</general_categories()>.
+The L</prop_value_aliases()> function can be used to get all the synonyms
+of the category name.
+
=item B<combining>
the combining class number for I<code> used in the Canonical Ordering Algorithm.
@@ -161,15 +183,21 @@ For Unicode 5.1, this is described in Section 3.11 C<Canonical Ordering Behavior
available at
L<http://www.unicode.org/versions/Unicode5.1.0/>
+The L</prop_value_aliases()> function can be used to get all the synonyms
+of the combining class number.
+
=item B<bidi>
bidirectional type of I<code>.
This will match one of the keys in the hash returned by L</bidi_types()>.
+The L</prop_value_aliases()> function can be used to get all the synonyms
+of the bidi type name.
+
=item B<decomposition>
is empty if I<code> has no decomposition; or is one or more codes
-(separated by spaces) that taken in order represent a decomposition for
+(separated by spaces) that, taken in order, represent a decomposition for
I<code>. Each has at least four hexdigits.
The codes may be preceded by a word enclosed in angle brackets then a space,
like C<E<lt>compatE<gt> >, giving the type of decomposition
@@ -233,13 +261,13 @@ mappings.)
=item B<block>
-block I<code> belongs to (used in C<\p{Blk=...}>).
+the block I<code> belongs to (used in C<\p{Blk=...}>).
See L</Blocks versus Scripts>.
=item B<script>
-script I<code> belongs to.
+the script I<code> belongs to.
See L</Blocks versus Scripts>.
=back
@@ -271,34 +299,10 @@ my @BIDIS;
my @CATEGORIES;
my @DECOMPOSITIONS;
my @NUMERIC_TYPES;
-my @SIMPLE_LOWER;
-my @SIMPLE_TITLE;
-my @SIMPLE_UPPER;
-my @UNICODE_1_NAMES;
-
-sub _charinfo_case {
-
- # Returns the value to set into one of the case fields in the charinfo
- # structure.
- # $char is the character,
- # $cased is the case-changed character
- # $file is the file in lib/unicore/To/$file that contains the data
- # needed for this, in the form that _search() understands.
- # $array_ref points to the array holding the contents of $file. It will
- # be populated if empty.
- # By using the 'uc', etc. functions, we avoid loading more files into
- # memory except for those rare cases where the simple casing (which has
- # been what charinfo() has always returned, is different than the full
- # casing.
- my ($char, $cased, $file, $array_ref) = @_;
-
- return "" if $cased eq $char;
-
- return sprintf("%04X", ord $cased) if length($cased) == 1;
-
- @$array_ref =_read_table("unicore/To/$file") unless @$array_ref;
- return _search($array_ref, 0, $#$array_ref, ord $char) // "";
-}
+my %SIMPLE_LOWER;
+my %SIMPLE_TITLE;
+my %SIMPLE_UPPER;
+my %UNICODE_1_NAMES;
sub charinfo {
@@ -321,7 +325,7 @@ sub charinfo {
my %prop;
my $char = chr($code);
- @CATEGORIES =_read_table("unicore/To/Gc.pl") unless @CATEGORIES;
+ @CATEGORIES =_read_table("To/Gc.pl") unless @CATEGORIES;
$prop{'category'} = _search(\@CATEGORIES, 0, $#CATEGORIES, $code)
// $utf8::SwashInfo{'ToGc'}{'missing'};
@@ -333,29 +337,30 @@ sub charinfo {
$prop{'combining'} = getCombinClass($code);
- @BIDIS =_read_table("unicore/To/Bc.pl") unless @BIDIS;
+ @BIDIS =_read_table("To/Bc.pl") unless @BIDIS;
$prop{'bidi'} = _search(\@BIDIS, 0, $#BIDIS, $code)
// $utf8::SwashInfo{'ToBc'}{'missing'};
# For most code points, we can just read in "unicore/Decomposition.pl", as
# its contents are exactly what should be output. But that file doesn't
# contain the data for the Hangul syllable decompositions, which can be
- # algorithmically computed, and NFKD() does that, so we call NFKD() for
- # those. We can't use NFKD() for everything, as it does a complete
+ # algorithmically computed, and NFD() does that, so we call NFD() for
+ # those. We can't use NFD() for everything, as it does a complete
# recursive decomposition, and what this function has always done is to
- # return what's in UnicodeData.txt which doesn't have the recursivenss
- # specified.
- # in the decomposition types. No decomposition implies an empty field;
- # otherwise, all but "Canonical" imply a compatible decomposition, and
- # the type is prefixed to that, as it is in UnicodeData.txt
+ # return what's in UnicodeData.txt which doesn't show that recursiveness.
+ # Fortunately, the NFD() of the Hanguls doesn't have any recursion
+ # issues.
+ # Having no decomposition implies an empty field; otherwise, all but
+ # "Canonical" imply a compatible decomposition, and the type is prefixed
+ # to that, as it is in UnicodeData.txt
if ($char =~ /\p{Block=Hangul_Syllables}/) {
# The code points of the decomposition are output in standard Unicode
# hex format, separated by blanks.
$prop{'decomposition'} = join " ", map { sprintf("%04X", $_)}
- unpack "U*", NFKD($char);
+ unpack "U*", NFD($char);
}
else {
- @DECOMPOSITIONS = _read_table("unicore/Decomposition.pl")
+ @DECOMPOSITIONS = _read_table("Decomposition.pl")
unless @DECOMPOSITIONS;
$prop{'decomposition'} = _search(\@DECOMPOSITIONS, 0, $#DECOMPOSITIONS,
$code) // "";
@@ -377,8 +382,7 @@ sub charinfo {
# e.g., TAMIL NUMBER TEN.
$prop{'decimal'} = "";
- @NUMERIC_TYPES =_read_table("unicore/To/Nt.pl")
- unless @NUMERIC_TYPES;
+ @NUMERIC_TYPES =_read_table("To/Nt.pl") unless @NUMERIC_TYPES;
if ((_search(\@NUMERIC_TYPES, 0, $#NUMERIC_TYPES, $code) // "")
eq 'Digit')
{
@@ -393,18 +397,27 @@ sub charinfo {
$prop{'mirrored'} = ($char =~ /\p{Bidi_Mirrored}/) ? 'Y' : 'N';
- @UNICODE_1_NAMES =_read_table("unicore/To/Na1.pl") unless @UNICODE_1_NAMES;
- $prop{'unicode10'} = _search(\@UNICODE_1_NAMES, 0, $#UNICODE_1_NAMES, $code)
- // "";
+ %UNICODE_1_NAMES =_read_table("To/Na1.pl", "use_hash") unless %UNICODE_1_NAMES;
+ $prop{'unicode10'} = $UNICODE_1_NAMES{$code} // "";
# This is true starting in 6.0, but, num() also requires 6.0, so
# don't need to test for version again here.
$prop{'comment'} = "";
- $prop{'upper'} = _charinfo_case($char, uc $char, '_suc.pl', \@SIMPLE_UPPER);
- $prop{'lower'} = _charinfo_case($char, lc $char, '_slc.pl', \@SIMPLE_LOWER);
- $prop{'title'} = _charinfo_case($char, ucfirst $char, '_stc.pl',
- \@SIMPLE_TITLE);
+ %SIMPLE_UPPER = _read_table("To/Uc.pl", "use_hash") unless %SIMPLE_UPPER;
+ $prop{'upper'} = (defined $SIMPLE_UPPER{$code})
+ ? sprintf("%04X", $SIMPLE_UPPER{$code})
+ : "";
+
+ %SIMPLE_LOWER = _read_table("To/Lc.pl", "use_hash") unless %SIMPLE_LOWER;
+ $prop{'lower'} = (defined $SIMPLE_LOWER{$code})
+ ? sprintf("%04X", $SIMPLE_LOWER{$code})
+ : "";
+
+ %SIMPLE_TITLE = _read_table("To/Tc.pl", "use_hash") unless %SIMPLE_TITLE;
+ $prop{'title'} = (defined $SIMPLE_TITLE{$code})
+ ? sprintf("%04X", $SIMPLE_TITLE{$code})
+ : "";
$prop{block} = charblock($code);
$prop{script} = charscript($code);
@@ -431,14 +444,20 @@ sub _search { # Binary search in a [[lo,hi,prop],[...],...] table.
}
}
-sub _read_table {
+sub _read_table ($;$) {
# Returns the contents of the mktables generated table file located at $1
- # in the form of an array of arrays. Each outer array denotes a range
- # with [0] the start point of that range; [1] the end point; and [2] the
- # value that every code point in the range has.
+ # in the form of either an array of arrays or a hash, depending on if the
+ # optional second parameter is true (for hash return) or not. In the case
+ # of a hash return, each key is a code point, and its corresponding value
+ # is what the table gives as the code point's corresponding value. In the
+ # case of an array return, each outer array denotes a range with [0] the
+ # start point of that range; [1] the end point; and [2] the value that
+ # every code point in the range has. The hash return is useful for fast
+ # lookup when the table contains only single code point ranges. The array
+ # return takes much less memory when there are large ranges.
#
- # This has the side effect of setting
+ # This function has the side effect of setting
# $utf8::SwashInfo{$property}{'format'} to be the mktables format of the
# table; and
# $utf8::SwashInfo{$property}{'missing'} to be the value for all entries
@@ -451,17 +470,47 @@ sub _read_table {
# 00AA Latin
my $table = shift;
+ my $return_hash = shift;
+ $return_hash = 0 unless defined $return_hash;
my @return;
+ my %return;
local $_;
+ my $list = do "unicore/$table";
- for (split /^/m, do $table) {
+ # Look up if this property requires adjustments, which we do below if it
+ # does.
+ require "unicore/Heavy.pl";
+ my $property = $table =~ s/\.pl//r;
+ $property = $utf8::file_to_swash_name{$property};
+ my $to_adjust = defined $property
+ && $utf8::SwashInfo{$property}{'format'} eq 'a';
+
+ for (split /^/m, $list) {
my ($start, $end, $value) = / ^ (.+?) \t (.*?) \t (.+?)
\s* ( \# .* )? # Optional comment
$ /x;
- $end = $start if $end eq "";
- push @return, [ hex $start, hex $end, $value ];
+ my $decimal_start = hex $start;
+ my $decimal_end = ($end eq "") ? $decimal_start : hex $end;
+ if ($return_hash) {
+ foreach my $i ($decimal_start .. $decimal_end) {
+ $return{$i} = ($to_adjust)
+ ? $value + $i - $decimal_start
+ : $value;
+ }
+ }
+ elsif (! $to_adjust
+ && @return
+ && $return[-1][1] == $decimal_start - 1
+ && $return[-1][2] eq $value)
+ {
+ # If this is merely extending the previous range, do just that.
+ $return[-1]->[1] = $decimal_end;
+ }
+ else {
+ push @return, [ $decimal_start, $decimal_end, $value ];
+ }
}
- return @return;
+ return ($return_hash) ? %return : @return;
}
sub charinrange {
@@ -484,18 +533,24 @@ sub charinrange {
my $range = charblock('Armenian');
With a L</code point argument> charblock() returns the I<block> the code point
-belongs to, e.g. C<Basic Latin>.
+belongs to, e.g. C<Basic Latin>. The old-style block name is returned (see
+L</Old-style versus new-style block names>).
If the code point is unassigned, this returns the block it would belong to if
-it were assigned (which it may in future versions of the Unicode Standard).
+it were assigned.
See also L</Blocks versus Scripts>.
-If supplied with an argument that can't be a code point, charblock() tries
-to do the opposite and interpret the argument as a code point block. The
-return value is a I<range>: an anonymous list of lists that contain
-I<start-of-range>, I<end-of-range> code point pairs. You can test whether
-a code point is in a range using the L</charinrange()> function. If the
-argument is not a known code point block, B<undef> is returned.
+If supplied with an argument that can't be a code point, charblock() tries to
+do the opposite and interpret the argument as an old-style block name. The
+return value
+is a I<range set> with one range: an anonymous list with a single element that
+consists of another anonymous list whose first element is the first code point
+in the block, and whose second (and final) element is the final code point in
+the block. (The extra list consisting of just one element is so that the same
+program logic can be used to handle both this return, and the return from
+L</charscript()> which can have multiple ranges.) You can test whether a code
+point is in a range using the L</charinrange()> function. If the argument is
+not a known block, C<undef> is returned.
=cut
@@ -509,6 +564,7 @@ sub _charblocks {
unless (@BLOCKS) {
if (openunicode(\$BLOCKSFH, "Blocks.txt")) {
local $_;
+ local $/ = "\n";
while (<$BLOCKSFH>) {
if (/^([0-9A-F]+)\.\.([0-9A-F]+);\s+(.+)/) {
my ($lo, $hi) = (hex($1), hex($2));
@@ -551,14 +607,14 @@ sub charblock {
With a L</code point argument> charscript() returns the I<script> the
code point belongs to, e.g. C<Latin>, C<Greek>, C<Han>.
-If the code point is unassigned, it returns B<undef>
+If the code point is unassigned, it returns C<"Unknown">.
If supplied with an argument that can't be a code point, charscript() tries
-to do the opposite and interpret the argument as a code point script. The
-return value is a I<range>: an anonymous list of lists that contain
+to do the opposite and interpret the argument as a script name. The
+return value is a I<range set>: an anonymous list of lists that contain
I<start-of-range>, I<end-of-range> code point pairs. You can test whether a
-code point is in a range using the L</charinrange()> function. If the
-argument is not a known code point script, B<undef> is returned.
+code point is in a range set using the L</charinrange()> function. If the
+argument is not a known script, C<undef> is returned.
See also L</Blocks versus Scripts>.
@@ -568,7 +624,7 @@ my @SCRIPTS;
my %SCRIPTS;
sub _charscripts {
- @SCRIPTS =_read_table("unicore/To/Sc.pl") unless @SCRIPTS;
+ @SCRIPTS =_read_table("To/Sc.pl") unless @SCRIPTS;
foreach my $entry (@SCRIPTS) {
$entry->[2] =~ s/(_\w)/\L$1/g; # Preserve old-style casing
push @{$SCRIPTS{$entry->[2]}}, $entry;
@@ -602,6 +658,12 @@ sub charscript {
charblocks() returns a reference to a hash with the known block names
as the keys, and the code point ranges (see L</charblock()>) as the values.
+The names are in the old-style (see L</Old-style versus new-style block
+names>).
+
+L<prop_invmap("block")|/prop_invmap()> can be used to get this same data in a
+different type of data structure.
+
See also L</Blocks versus Scripts>.
=cut
@@ -621,6 +683,9 @@ charscripts() returns a reference to a hash with the known script
names as the keys, and the code point ranges (see L</charscript()>) as
the values.
+L<prop_invmap("script")|/prop_invmap()> can be used to get this same data in a
+different type of data structure.
+
See also L</Blocks versus Scripts>.
=cut
@@ -704,6 +769,9 @@ from the long names to the short names. The general category is the
one returned from
L</charinfo()> under the C<category> key.
+The L</prop_value_aliases()> function can be used to get all the synonyms of
+the category name.
+
=cut
my %BIDI_TYPES =
@@ -746,6 +814,9 @@ the Unicode TR9 is recommended reading:
L<http://www.unicode.org/reports/tr9/>
(as of Unicode 5.0.0)
+The L</prop_value_aliases()> function can be used to get all the synonyms of
+the bidi type name.
+
=cut
sub bidi_types {
@@ -771,9 +842,9 @@ or even
my $compexcl = chr(0x09dc) =~ /\p{Composition_Exclusion};
The first two forms return B<true> if the L</code point argument> should not
-be produced by composition normalization. The final two forms
-additionally require that this fact not otherwise be determinable from
-the Unicode data base for them to return B<true>.
+be produced by composition normalization. For the final two forms to return
+B<true>, it is additionally required that this fact not otherwise be
+determinable from the Unicode data base.
This routine behaves identically to the final two forms. That is,
it does not return B<true> if the code point has a decomposition
@@ -819,9 +890,11 @@ sub compexcl {
}
This returns the (almost) locale-independent case folding of the
-character specified by the L</code point argument>.
+character specified by the L</code point argument>. (Starting in Perl v5.16,
+the core function C<fc()> returns the C<full> mapping (described below)
+faster than this does, and for entire strings.)
-If there is no case folding for that code point, B<undef> is returned.
+If there is no case folding for the input code point, C<undef> is returned.
If there is a case folding for that code point, a reference to a hash
with the following fields is returned:
@@ -835,7 +908,7 @@ added if necessary to make it contain at least four hexdigits
=item B<full>
-one or more codes (separated by spaces) that taken in order give the
+one or more codes (separated by spaces) that, taken in order, give the
code points for the case folding for I<code>.
Each has at least four hexdigits.
@@ -859,25 +932,25 @@ I<code>. It is defined primarily for backwards compatibility.
is C<C> (for C<common>) if the best possible fold is a single code point
(I<simple> equals I<full> equals I<mapping>). It is C<S> if there are distinct
folds, I<simple> and I<full> (I<mapping> equals I<simple>). And it is C<F> if
-there only a I<full> fold (I<mapping> equals I<full>; I<simple> is empty). Note
-that this
+there is only a I<full> fold (I<mapping> equals I<full>; I<simple> is empty).
+Note that this
describes the contents of I<mapping>. It is defined primarily for backwards
compatibility.
-On versions 3.1 and earlier of Unicode, I<status> can also be
+For Unicode versions between 3.1 and 3.1.1 inclusive, I<status> can also be
C<I> which is the same as C<C> but is a special case for dotted uppercase I and
dotless lowercase i:
=over
-=item B<*>
+=item B<*> If you use this C<I> mapping
-If you use this C<I> mapping, the result is case-insensitive,
+the result is case-insensitive,
but dotless and dotted I's are not distinguished
-=item B<*>
+=item B<*> If you exclude this C<I> mapping
-If you exclude this C<I> mapping, the result is not fully case-insensitive, but
+the result is not fully case-insensitive, but
dotless and dotted I's are distinguished
=back
@@ -887,13 +960,14 @@ dotless and dotted I's are distinguished
contains any special folding for Turkic languages. For versions of Unicode
starting with 3.2, this field is empty unless I<code> has a different folding
in Turkic languages, in which case it is one or more codes (separated by
-spaces) that taken in order give the code points for the case folding for
+spaces) that, taken in order, give the code points for the case folding for
I<code> in those languages.
Each code has at least four hexdigits.
Note that this folding does not maintain canonical equivalence without
additional processing.
-For versions of Unicode 3.1 and earlier, this field is empty unless there is a
+For Unicode versions between 3.1 and 3.1.1 inclusive, this field is empty unless
+there is a
special folding for Turkic languages, in which case I<status> is C<I>, and
I<mapping>, I<full>, I<simple>, and I<turkic> are all equal.
@@ -926,6 +1000,7 @@ sub _casefold {
unless (%CASEFOLD) {
if (openunicode(\$CASEFOLDFH, "CaseFolding.txt")) {
local $_;
+ local $/ = "\n";
while (<$CASEFOLDFH>) {
if (/^([0-9A-F]+); ([CFIST]); ([0-9A-F]+(?: [0-9A-F]+)*);/) {
my $code = hex($1);
@@ -996,7 +1071,7 @@ Unicode case mappings as returned by L</charinfo()> never are).
If there are no case mappings for the L</code point argument>, or if all three
possible mappings (I<lower>, I<title> and I<upper>) result in single code
-points and are locale independent and unconditional, B<undef> is returned
+points and are locale independent and unconditional, C<undef> is returned
(which means that the case mappings, if any, for the code point are those
returned by L</charinfo()>).
@@ -1015,26 +1090,26 @@ added if necessary to make it contain at least four hexdigits
=item B<lower>
-one or more codes (separated by spaces) that taken in order give the
+one or more codes (separated by spaces) that, taken in order, give the
code points for the lower case of I<code>.
Each has at least four hexdigits.
=item B<title>
-one or more codes (separated by spaces) that taken in order give the
+one or more codes (separated by spaces) that, taken in order, give the
code points for the title case of I<code>.
Each has at least four hexdigits.
=item B<upper>
-one or more codes (separated by spaces) that taken in order give the
+one or more codes (separated by spaces) that, taken in order, give the
code points for the upper case of I<code>.
Each has at least four hexdigits.
=item B<condition>
the conditions for the mappings to be valid.
-If B<undef>, the mappings are always valid.
+If C<undef>, the mappings are always valid.
When defined, this field is a list of conditions,
all of which must be true for the mappings to be valid.
The list consists of one or more
@@ -1054,7 +1129,7 @@ These are for context-sensitive casing.
=back
The hash described above is returned for locale-independent casing, where
-at least one of the mappings has length longer than one. If B<undef> is
+at least one of the mappings has length longer than one. If C<undef> is
returned, the code point may have mappings, but if so, all are length one,
and are returned by L</charinfo()>.
Note that when this function does return a value, it will be for the complete
@@ -1088,6 +1163,7 @@ sub _casespec {
unless (%CASESPEC) {
if (openunicode(\$CASESPECFH, "SpecialCasing.txt")) {
local $_;
+ local $/ = "\n";
while (<$CASESPECFH>) {
if (/^([0-9A-F]+); ([0-9A-F]+(?: [0-9A-F]+)*)?; ([0-9A-F]+(?: [0-9A-F]+)*)?; ([0-9A-F]+(?: [0-9A-F]+)*)?; (\w+(?: \w+)*)?/) {
my ($hexcode, $lower, $title, $upper, $condition) =
@@ -1158,13 +1234,13 @@ sub casespec {
my %namedseq = namedseq();
If used with a single argument in a scalar context, returns the string
-consisting of the code points of the named sequence, or B<undef> if no
+consisting of the code points of the named sequence, or C<undef> if no
named sequence by that name exists. If used with a single argument in
a list context, it returns the list of the ordinals of the code points. If used
with no
arguments in a list context, returns a hash with the names of the
named sequences as the keys and the named sequences as strings as
-the values. Otherwise, it returns B<undef> or an empty list depending
+the values. Otherwise, it returns C<undef> or an empty list depending
on the context.
This function only operates on officially approved (not provisional) named
@@ -1184,6 +1260,7 @@ sub _namedseq {
unless (%NAMEDSEQ) {
if (openunicode(\$NAMEDSEQFH, "Name.pl")) {
local $_;
+ local $/ = "\n";
while (<$NAMEDSEQFH>) {
if (/^ [0-9A-F]+ \ /x) {
chomp;
@@ -1240,7 +1317,7 @@ sub _numeric {
if ((pack "C*", split /\./, UnicodeVersion()) lt 6.0.0) {
croak __PACKAGE__, "::num requires Unicode 6.0 or greater"
}
- my @numbers = _read_table("unicore/To/Nv.pl");
+ my @numbers = _read_table("To/Nv.pl");
foreach my $entry (@numbers) {
my ($start, $end, $value) = @$entry;
@@ -1250,10 +1327,17 @@ sub _numeric {
my $real = $rational[0] / $rational[1];
$real_to_rational{$real} = $value;
$value = $real;
- }
- for my $i ($start .. $end) {
- $NUMERIC{$i} = $value;
+ # Should only be single element, but just in case...
+ for my $i ($start .. $end) {
+ $NUMERIC{$i} = $value;
+ }
+ }
+ else {
+ # The values require adjusting, as is in 'a' format
+ for my $i ($start .. $end) {
+ $NUMERIC{$i} = $value + $i - $start;
+ }
}
}
@@ -1274,7 +1358,12 @@ sub _numeric {
=pod
-=head2 num
+=head2 B<num()>
+
+ use Unicode::UCD 'num';
+
+ my $val = num("123");
+ my $one_quarter = num("\N{VULGAR FRACTION 1/4}");
C<num> returns the numeric value of the input Unicode string; or C<undef> if it
doesn't think the entire string has a completely valid, safe numeric value.
@@ -1297,7 +1386,7 @@ example returns -0.5.
=pod
If the string is more than one character, C<undef> is returned unless
-all its characters are decimal digits (that is they would match C<\d+>),
+all its characters are decimal digits (that is, they would match C<\d+>),
from the same script. For example if you have an ASCII '0' and a Bengali
'3', mixed together, they aren't considered a valid number, and C<undef>
is returned. A further restriction is that the digits all have to be of
@@ -1349,7 +1438,1882 @@ sub num {
return $value;
}
+=pod
+
+=head2 B<prop_aliases()>
+
+ use Unicode::UCD 'prop_aliases';
+
+ my ($short_name, $full_name, @other_names) = prop_aliases("space");
+ my $same_full_name = prop_aliases("Space"); # Scalar context
+ my ($same_short_name) = prop_aliases("Space"); # gets 0th element
+ print "The full name is $full_name\n";
+ print "The short name is $short_name\n";
+ print "The other aliases are: ", join(", ", @other_names), "\n";
+
+ prints:
+ The full name is White_Space
+ The short name is WSpace
+ The other aliases are: Space
+
+Most Unicode properties have several synonymous names. Typically, there is at
+least a short name, convenient to type, and a long name that more fully
+describes the property, and hence is more easily understood.
+
+If you know one name for a Unicode property, you can use C<prop_aliases> to find
+either the long name (when called in scalar context), or a list of all of the
+names, somewhat ordered so that the short name is in the 0th element, the long
+name in the next element, and any other synonyms are in the remaining
+elements, in no particular order.
+
+The long name is returned in a form nicely capitalized, suitable for printing.
+
+The input parameter name is loosely matched, which means that white space,
+hyphens, and underscores are ignored (except for the trailing underscore in
+the old_form grandfathered-in C<"L_">, which is better written as C<"LC">, and
+both of which mean C<General_Category=Cased Letter>).
+
+If the name is unknown, C<undef> is returned (or an empty list in list
+context). Note that Perl typically recognizes property names in regular
+expressions with an optional C<"Is_>" (with or without the underscore)
+prefixed to them, such as C<\p{isgc=punct}>. This function does not recognize
+those in the input, returning C<undef>. Nor are they included in the output
+as possible synonyms.
+
+C<prop_aliases> does know about the Perl extensions to Unicode properties,
+such as C<Any> and C<XPosixAlpha>, and the single form equivalents to Unicode
+properties such as C<XDigit>, C<Greek>, C<In_Greek>, and C<Is_Greek>. The
+final example demonstrates that the C<"Is_"> prefix is recognized for these
+extensions; it is needed to resolve ambiguities. For example,
+C<prop_aliases('lc')> returns the list C<(lc, Lowercase_Mapping)>, but
+C<prop_aliases('islc')> returns C<(Is_LC, Cased_Letter)>. This is
+because C<islc> is a Perl extension which is short for
+C<General_Category=Cased Letter>. The lists returned for the Perl extensions
+will not include the C<"Is_"> prefix (whether or not the input had it) unless
+needed to resolve ambiguities, as shown in the C<"islc"> example, where the
+returned list had one element containing C<"Is_">, and the other without.
+
+It is also possible for the reverse to happen: C<prop_aliases('isc')> returns
+the list C<(isc, ISO_Comment)>; whereas C<prop_aliases('c')> returns
+C<(C, Other)> (the latter being a Perl extension meaning
+C<General_Category=Other>.
+L<perluniprops/Properties accessible through Unicode::UCD> lists the available
+forms, including which ones are discouraged from use.
+
+Those discouraged forms are accepted as input to C<prop_aliases>, but are not
+returned in the lists. C<prop_aliases('isL&')> and C<prop_aliases('isL_')>,
+which are old synonyms for C<"Is_LC"> and should not be used in new code, are
+examples of this. These both return C<(Is_LC, Cased_Letter)>. Thus this
+function allows you to take a discourarged form, and find its acceptable
+alternatives. The same goes with single-form Block property equivalences.
+Only the forms that begin with C<"In_"> are not discouraged; if you pass
+C<prop_aliases> a discouraged form, you will get back the equivalent ones that
+begin with C<"In_">. It will otherwise look like a new-style block name (see.
+L</Old-style versus new-style block names>).
+
+C<prop_aliases> does not know about any user-defined properties, and will
+return C<undef> if called with one of those. Likewise for Perl internal
+properties, with the exception of "Perl_Decimal_Digit" which it does know
+about (and which is documented below in L</prop_invmap()>).
+
+=cut
+
+# It may be that there are use cases where the discouraged forms should be
+# returned. If that comes up, an optional boolean second parameter to the
+# function could be created, for example.
+
+# These are created by mktables for this routine and stored in unicore/UCD.pl
+# where their structures are described.
+our %string_property_loose_to_name;
+our %ambiguous_names;
+our %loose_perlprop_to_name;
+our %prop_aliases;
+
+sub prop_aliases ($) {
+ my $prop = $_[0];
+ return unless defined $prop;
+
+ require "unicore/UCD.pl";
+ require "unicore/Heavy.pl";
+ require "utf8_heavy.pl";
+
+ # The property name may be loosely or strictly matched; we don't know yet.
+ # But both types use lower-case.
+ $prop = lc $prop;
+
+ # It is loosely matched if its lower case isn't known to be strict.
+ my $list_ref;
+ if (! exists $utf8::stricter_to_file_of{$prop}) {
+ my $loose = utf8::_loose_name($prop);
+
+ # There is a hash that converts from any loose name to its standard
+ # form, mapping all synonyms for a name to one name that can be used
+ # as a key into another hash. The whole concept is for memory
+ # savings, as the second hash doesn't have to have all the
+ # combinations. Actually, there are two hashes that do the
+ # converstion. One is used in utf8_heavy.pl (stored in Heavy.pl) for
+ # looking up properties matchable in regexes. This function needs to
+ # access string properties, which aren't available in regexes, so a
+ # second conversion hash is made for them (stored in UCD.pl). Look in
+ # the string one now, as the rest can have an optional 'is' prefix,
+ # which these don't.
+ if (exists $string_property_loose_to_name{$loose}) {
+
+ # Convert to its standard loose name.
+ $prop = $string_property_loose_to_name{$loose};
+ }
+ else {
+ my $retrying = 0; # bool. ? Has an initial 'is' been stripped
+ RETRY:
+ if (exists $utf8::loose_property_name_of{$loose}
+ && (! $retrying
+ || ! exists $ambiguous_names{$loose}))
+ {
+ # Found an entry giving the standard form. We don't get here
+ # (in the test above) when we've stripped off an
+ # 'is' and the result is an ambiguous name. That is because
+ # these are official Unicode properties (though Perl can have
+ # an optional 'is' prefix meaning the official property), and
+ # all ambiguous cases involve a Perl single-form extension
+ # for the gc, script, or block properties, and the stripped
+ # 'is' means that they mean one of those, and not one of
+ # these
+ $prop = $utf8::loose_property_name_of{$loose};
+ }
+ elsif (exists $loose_perlprop_to_name{$loose}) {
+
+ # This hash is specifically for this function to list Perl
+ # extensions that aren't in the earlier hashes. If there is
+ # only one element, the short and long names are identical.
+ # Otherwise the form is already in the same form as
+ # %prop_aliases, which is handled at the end of the function.
+ $list_ref = $loose_perlprop_to_name{$loose};
+ if (@$list_ref == 1) {
+ my @list = ($list_ref->[0], $list_ref->[0]);
+ $list_ref = \@list;
+ }
+ }
+ elsif (! exists $utf8::loose_to_file_of{$loose}) {
+
+ # loose_to_file_of is a complete list of loose names. If not
+ # there, the input is unknown.
+ return;
+ }
+ else {
+
+ # Here we found the name but not its aliases, so it has to
+ # exist. This means it must be one of the Perl single-form
+ # extensions. First see if it is for a property-value
+ # combination in one of the following properties.
+ my @list;
+ foreach my $property ("gc", "script") {
+ @list = prop_value_aliases($property, $loose);
+ last if @list;
+ }
+ if (@list) {
+
+ # Here, it is one of those property-value combination
+ # single-form synonyms. There are ambiguities with some
+ # of these. Check against the list for these, and adjust
+ # if necessary.
+ for my $i (0 .. @list -1) {
+ if (exists $ambiguous_names
+ {utf8::_loose_name(lc $list[$i])})
+ {
+ # The ambiguity is resolved by toggling whether or
+ # not it has an 'is' prefix
+ $list[$i] =~ s/^Is_// or $list[$i] =~ s/^/Is_/;
+ }
+ }
+ return @list;
+ }
+
+ # Here, it wasn't one of the gc or script single-form
+ # extensions. It could be a block property single-form
+ # extension. An 'in' prefix definitely means that, and should
+ # be looked up without the prefix. However, starting in
+ # Unicode 6.1, we have to special case 'indic...', as there
+ # is a property that begins with that name. We shouldn't
+ # strip the 'in' from that. I'm (khw) generalizing this to
+ # 'indic' instead of the single property, because I suspect
+ # that others of this class may come along in the future.
+ # However, this could backfire and a block created whose name
+ # begins with 'dic...', and we would want to strip the 'in'.
+ # At which point this would have to be tweaked.
+ my $began_with_in = $loose =~ s/^in(?!dic)//;
+ @list = prop_value_aliases("block", $loose);
+ if (@list) {
+ map { $_ =~ s/^/In_/ } @list;
+ return @list;
+ }
+
+ # Here still haven't found it. The last opportunity for it
+ # being valid is only if it began with 'is'. We retry without
+ # the 'is', setting a flag to that effect so that we don't
+ # accept things that begin with 'isis...'
+ if (! $retrying && ! $began_with_in && $loose =~ s/^is//) {
+ $retrying = 1;
+ goto RETRY;
+ }
+
+ # Here, didn't find it. Since it was in %loose_to_file_of, we
+ # should have been able to find it.
+ carp __PACKAGE__, "::prop_aliases: Unexpectedly could not find '$prop'. Send bug report to perlbug\@perl.org";
+ return;
+ }
+ }
+ }
+
+ if (! $list_ref) {
+ # Here, we have set $prop to a standard form name of the input. Look
+ # it up in the structure created by mktables for this purpose, which
+ # contains both strict and loosely matched properties. Avoid
+ # autovivifying.
+ $list_ref = $prop_aliases{$prop} if exists $prop_aliases{$prop};
+ return unless $list_ref;
+ }
+
+ # The full name is in element 1.
+ return $list_ref->[1] unless wantarray;
+
+ return @{dclone $list_ref};
+}
+
+=pod
+
+=head2 B<prop_value_aliases()>
+
+ use Unicode::UCD 'prop_value_aliases';
+
+ my ($short_name, $full_name, @other_names)
+ = prop_value_aliases("Gc", "Punct");
+ my $same_full_name = prop_value_aliases("Gc", "P"); # Scalar cntxt
+ my ($same_short_name) = prop_value_aliases("Gc", "P"); # gets 0th
+ # element
+ print "The full name is $full_name\n";
+ print "The short name is $short_name\n";
+ print "The other aliases are: ", join(", ", @other_names), "\n";
+
+ prints:
+ The full name is Punctuation
+ The short name is P
+ The other aliases are: Punct
+
+Some Unicode properties have a restricted set of legal values. For example,
+all binary properties are restricted to just C<true> or C<false>; and there
+are only a few dozen possible General Categories.
+
+For such properties, there are usually several synonyms for each possible
+value. For example, in binary properties, I<truth> can be represented by any of
+the strings "Y", "Yes", "T", or "True"; and the General Category
+"Punctuation" by that string, or "Punct", or simply "P".
+
+Like property names, there is typically at least a short name for each such
+property-value, and a long name. If you know any name of the property-value,
+you can use C<prop_value_aliases>() to get the long name (when called in
+scalar context), or a list of all the names, with the short name in the 0th
+element, the long name in the next element, and any other synonyms in the
+remaining elements, in no particular order, except that any all-numeric
+synonyms will be last.
+
+The long name is returned in a form nicely capitalized, suitable for printing.
+
+Case, white space, hyphens, and underscores are ignored in the input parameters
+(except for the trailing underscore in the old-form grandfathered-in general
+category property value C<"L_">, which is better written as C<"LC">).
+
+If either name is unknown, C<undef> is returned. Note that Perl typically
+recognizes property names in regular expressions with an optional C<"Is_>"
+(with or without the underscore) prefixed to them, such as C<\p{isgc=punct}>.
+This function does not recognize those in the property parameter, returning
+C<undef>.
+
+If called with a property that doesn't have synonyms for its values, it
+returns the input value, possibly normalized with capitalization and
+underscores.
+
+For the block property, new-style block names are returned (see
+L</Old-style versus new-style block names>).
+
+To find the synonyms for single-forms, such as C<\p{Any}>, use
+L</prop_aliases()> instead.
+
+C<prop_value_aliases> does not know about any user-defined properties, and
+will return C<undef> if called with one of those.
+
+=cut
+
+# These are created by mktables for this routine and stored in unicore/UCD.pl
+# where their structures are described.
+our %loose_to_standard_value;
+our %prop_value_aliases;
+
+sub prop_value_aliases ($$) {
+ my ($prop, $value) = @_;
+ return unless defined $prop && defined $value;
+
+ require "unicore/UCD.pl";
+ require "utf8_heavy.pl";
+
+ # Find the property name synonym that's used as the key in other hashes,
+ # which is element 0 in the returned list.
+ ($prop) = prop_aliases($prop);
+ return if ! $prop;
+ $prop = utf8::_loose_name(lc $prop);
+
+ # Here is a legal property, but the hash below (created by mktables for
+ # this purpose) only knows about the properties that have a very finite
+ # number of potential values, that is not ones whose value could be
+ # anything, like most (if not all) string properties. These don't have
+ # synonyms anyway. Simply return the input. For example, there is no
+ # synonym for ('Uppercase_Mapping', A').
+ return $value if ! exists $prop_value_aliases{$prop};
+
+ # The value name may be loosely or strictly matched; we don't know yet.
+ # But both types use lower-case.
+ $value = lc $value;
+
+ # If the name isn't found under loose matching, it certainly won't be
+ # found under strict
+ my $loose_value = utf8::_loose_name($value);
+ return unless exists $loose_to_standard_value{"$prop=$loose_value"};
+
+ # Similarly if the combination under loose matching doesn't exist, it
+ # won't exist under strict.
+ my $standard_value = $loose_to_standard_value{"$prop=$loose_value"};
+ return unless exists $prop_value_aliases{$prop}{$standard_value};
+
+ # Here we did find a combination under loose matching rules. But it could
+ # be that is a strict property match that shouldn't have matched.
+ # %prop_value_aliases is set up so that the strict matches will appear as
+ # if they were in loose form. Thus, if the non-loose version is legal,
+ # we're ok, can skip the further check.
+ if (! exists $utf8::stricter_to_file_of{"$prop=$value"}
+
+ # We're also ok and skip the further check if value loosely matches.
+ # mktables has verified that no strict name under loose rules maps to
+ # an existing loose name. This code relies on the very limited
+ # circumstances that strict names can be here. Strict name matching
+ # happens under two conditions:
+ # 1) when the name begins with an underscore. But this function
+ # doesn't accept those, and %prop_value_aliases doesn't have
+ # them.
+ # 2) When the values are numeric, in which case we need to look
+ # further, but their squeezed-out loose values will be in
+ # %stricter_to_file_of
+ && exists $utf8::stricter_to_file_of{"$prop=$loose_value"})
+ {
+ # The only thing that's legal loosely under strict is that can have an
+ # underscore between digit pairs XXX
+ while ($value =~ s/(\d)_(\d)/$1$2/g) {}
+ return unless exists $utf8::stricter_to_file_of{"$prop=$value"};
+ }
+
+ # Here, we know that the combination exists. Return it.
+ my $list_ref = $prop_value_aliases{$prop}{$standard_value};
+ if (@$list_ref > 1) {
+ # The full name is in element 1.
+ return $list_ref->[1] unless wantarray;
+
+ return @{dclone $list_ref};
+ }
+
+ return $list_ref->[0] unless wantarray;
+
+ # Only 1 element means that it repeats
+ return ( $list_ref->[0], $list_ref->[0] );
+}
+
+# All 1 bits is the largest possible UV.
+$Unicode::UCD::MAX_CP = ~0;
+
+=pod
+
+=head2 B<prop_invlist()>
+
+C<prop_invlist> returns an inversion list (described below) that defines all the
+code points for the binary Unicode property (or "property=value" pair) given
+by the input parameter string:
+
+ use feature 'say';
+ use Unicode::UCD 'prop_invlist';
+ say join ", ", prop_invlist("Any");
+
+ prints:
+ 0, 1114112
+
+An empty list is returned if the input is unknown; the number of elements in
+the list is returned if called in scalar context.
+
+L<perluniprops|perluniprops/Properties accessible through \p{} and \P{}> gives
+the list of properties that this function accepts, as well as all the possible
+forms for them (including with the optional "Is_" prefixes). (Except this
+function doesn't accept any Perl-internal properties, some of which are listed
+there.) This function uses the same loose or tighter matching rules for
+resolving the input property's name as is done for regular expressions. These
+are also specified in L<perluniprops|perluniprops/Properties accessible
+through \p{} and \P{}>. Examples of using the "property=value" form are:
+
+ say join ", ", prop_invlist("Script=Shavian");
+
+ prints:
+ 66640, 66688
+
+ say join ", ", prop_invlist("ASCII_Hex_Digit=No");
+
+ prints:
+ 0, 48, 58, 65, 71, 97, 103
+
+ say join ", ", prop_invlist("ASCII_Hex_Digit=Yes");
+
+ prints:
+ 48, 58, 65, 71, 97, 103
+
+Inversion lists are a compact way of specifying Unicode property-value
+definitions. The 0th item in the list is the lowest code point that has the
+property-value. The next item (item [1]) is the lowest code point beyond that
+one that does NOT have the property-value. And the next item beyond that
+([2]) is the lowest code point beyond that one that does have the
+property-value, and so on. Put another way, each element in the list gives
+the beginning of a range that has the property-value (for even numbered
+elements), or doesn't have the property-value (for odd numbered elements).
+The name for this data structure stems from the fact that each element in the
+list toggles (or inverts) whether the corresponding range is or isn't on the
+list.
+
+In the final example above, the first ASCII Hex digit is code point 48, the
+character "0", and all code points from it through 57 (a "9") are ASCII hex
+digits. Code points 58 through 64 aren't, but 65 (an "A") through 70 (an "F")
+are, as are 97 ("a") through 102 ("f"). 103 starts a range of code points
+that aren't ASCII hex digits. That range extends to infinity, which on your
+computer can be found in the variable C<$Unicode::UCD::MAX_CP>. (This
+variable is as close to infinity as Perl can get on your platform, and may be
+too high for some operations to work; you may wish to use a smaller number for
+your purposes.)
+
+Note that the inversion lists returned by this function can possibly include
+non-Unicode code points, that is anything above 0x10FFFF. This is in
+contrast to Perl regular expression matches on those code points, in which a
+non-Unicode code point always fails to match. For example, both of these have
+the same result:
+
+ chr(0x110000) =~ \p{ASCII_Hex_Digit=True} # Fails.
+ chr(0x110000) =~ \p{ASCII_Hex_Digit=False} # Fails!
+
+And both raise a warning that a Unicode property is being used on a
+non-Unicode code point. It is arguable as to which is the correct thing to do
+here. This function has chosen the way opposite to the Perl regular
+expression behavior. This allows you to easily flip to to the Perl regular
+expression way (for you to go in the other direction would be far harder).
+Simply add 0x110000 at the end of the non-empty returned list if it isn't
+already that value; and pop that value if it is; like:
+
+ my @list = prop_invlist("foo");
+ if (@list) {
+ if ($list[-1] == 0x110000) {
+ pop @list; # Defeat the turning on for above Unicode
+ }
+ else {
+ push @list, 0x110000; # Turn off for above Unicode
+ }
+ }
+
+It is a simple matter to expand out an inversion list to a full list of all
+code points that have the property-value:
+
+ my @invlist = prop_invlist($property_name);
+ die "empty" unless @invlist;
+ my @full_list;
+ for (my $i = 0; $i < @invlist; $i += 2) {
+ my $upper = ($i + 1) < @invlist
+ ? $invlist[$i+1] - 1 # In range
+ : $Unicode::UCD::MAX_CP; # To infinity. You may want
+ # to stop much much earlier;
+ # going this high may expose
+ # perl deficiencies with very
+ # large numbers.
+ for my $j ($invlist[$i] .. $upper) {
+ push @full_list, $j;
+ }
+ }
+
+C<prop_invlist> does not know about any user-defined nor Perl internal-only
+properties, and will return C<undef> if called with one of those.
+
+=cut
+
+# User-defined properties could be handled with some changes to utf8_heavy.pl;
+# and implementing here of dealing with EXTRAS. If done, consideration should
+# be given to the fact that the user subroutine could return different results
+# with each call; security issues need to be thought about.
+
+# These are created by mktables for this routine and stored in unicore/UCD.pl
+# where their structures are described.
+our %loose_defaults;
+our $MAX_UNICODE_CODEPOINT;
+
+sub prop_invlist ($) {
+ my $prop = $_[0];
+ return if ! defined $prop;
+
+ require "utf8_heavy.pl";
+
+ # Warnings for these are only for regexes, so not applicable to us
+ no warnings 'deprecated';
+
+ # Get the swash definition of the property-value.
+ my $swash = utf8::SWASHNEW(__PACKAGE__, $prop, undef, 1, 0);
+
+ # Fail if not found, or isn't a boolean property-value, or is a
+ # user-defined property, or is internal-only.
+ return if ! $swash
+ || ref $swash eq ""
+ || $swash->{'BITS'} != 1
+ || $swash->{'USER_DEFINED'}
+ || $prop =~ /^\s*_/;
+
+ if ($swash->{'EXTRAS'}) {
+ carp __PACKAGE__, "::prop_invlist: swash returned for $prop unexpectedly has EXTRAS magic";
+ return;
+ }
+ if ($swash->{'SPECIALS'}) {
+ carp __PACKAGE__, "::prop_invlist: swash returned for $prop unexpectedly has SPECIALS magic";
+ return;
+ }
+
+ my @invlist;
+
+ # The input lines look like:
+ # 0041\t005A # [26]
+ # 005F
+
+ # Split into lines, stripped of trailing comments
+ foreach my $range (split "\n",
+ $swash->{'LIST'} =~ s/ \s* (?: \# .* )? $ //xmgr)
+ {
+ # And find the beginning and end of the range on the line
+ my ($hex_begin, $hex_end) = split "\t", $range;
+ my $begin = hex $hex_begin;
+
+ # If the new range merely extends the old, we remove the marker
+ # created the last time through the loop for the old's end, which
+ # causes the new one's end to be used instead.
+ if (@invlist && $begin == $invlist[-1]) {
+ pop @invlist;
+ }
+ else {
+ # Add the beginning of the range
+ push @invlist, $begin;
+ }
+
+ if (defined $hex_end) { # The next item starts with the code point 1
+ # beyond the end of the range.
+ push @invlist, hex($hex_end) + 1;
+ }
+ else { # No end of range, is a single code point.
+ push @invlist, $begin + 1;
+ }
+ }
+
+ require "unicore/UCD.pl";
+ my $FIRST_NON_UNICODE = $MAX_UNICODE_CODEPOINT + 1;
+
+ # Could need to be inverted: add or subtract a 0 at the beginning of the
+ # list. And to keep it from matching non-Unicode, add or subtract the
+ # first non-unicode code point.
+ if ($swash->{'INVERT_IT'}) {
+ if (@invlist && $invlist[0] == 0) {
+ shift @invlist;
+ }
+ else {
+ unshift @invlist, 0;
+ }
+ if (@invlist && $invlist[-1] == $FIRST_NON_UNICODE) {
+ pop @invlist;
+ }
+ else {
+ push @invlist, $FIRST_NON_UNICODE;
+ }
+ }
+
+ # Here, the list is set up to include only Unicode code points. But, if
+ # the table is the default one for the property, it should contain all
+ # non-Unicode code points. First calculate the loose name for the
+ # property. This is done even for strict-name properties, as the data
+ # structure that mktables generates for us is set up so that we don't have
+ # to worry about that. The property-value needs to be split if compound,
+ # as the loose rules need to be independently calculated on each part. We
+ # know that it is syntactically valid, or SWASHNEW would have failed.
+
+ $prop = lc $prop;
+ my ($prop_only, $table) = split /\s*[:=]\s*/, $prop;
+ if ($table) {
+
+ # May have optional prefixed 'is'
+ $prop = utf8::_loose_name($prop_only) =~ s/^is//r;
+ $prop = $utf8::loose_property_name_of{$prop};
+ $prop .= "=" . utf8::_loose_name($table);
+ }
+ else {
+ $prop = utf8::_loose_name($prop);
+ }
+ if (exists $loose_defaults{$prop}) {
+
+ # Here, is the default table. If a range ended with 10ffff, instead
+ # continue that range to infinity, by popping the 110000; otherwise,
+ # add the range from 11000 to infinity
+ if (! @invlist || $invlist[-1] != $FIRST_NON_UNICODE) {
+ push @invlist, $FIRST_NON_UNICODE;
+ }
+ else {
+ pop @invlist;
+ }
+ }
+
+ return @invlist;
+}
+
+sub _search_invlist {
+ # Find the range in the inversion list which contains a code point; that
+ # is, find i such that l[i] <= code_point < l[i+1]
+
+ # If this is ever made public, could use to speed up .t specials. Would
+ # need to use code point argument, as in other functions in this pm
+
+ my $list_ref = shift;
+ my $code_point = shift;
+ # Verify non-neg numeric XXX
+
+ my $max_element = @$list_ref - 1;
+ return if ! $max_element < 0; # Undef if list is empty.
+
+ # Short cut something at the far-end of the table. This also allows us to
+ # refer to element [$i+1] without fear of being out-of-bounds in the loop
+ # below.
+ return $max_element if $code_point >= $list_ref->[$max_element];
+
+ use integer; # want integer division
+
+ my $i = $max_element / 2;
+
+ my $lower = 0;
+ my $upper = $max_element;
+ while (1) {
+
+ if ($code_point >= $list_ref->[$i]) {
+
+ # Here we have met the lower constraint. We can quit if we
+ # also meet the upper one.
+ last if $code_point < $list_ref->[$i+1];
+
+ $lower = $i; # Still too low.
+
+ }
+ else {
+
+ # Here, $code_point < $list_ref[$i], so look lower down.
+ $upper = $i;
+ }
+
+ # Split search domain in half to try again.
+ my $temp = ($upper + $lower) / 2;
+
+ # No point in continuing unless $i changes for next time
+ # in the loop.
+ return $i if $temp == $i;
+ $i = $temp;
+ } # End of while loop
+
+ # Here we have found the offset
+ return $i;
+}
+
+=pod
+
+=head2 B<prop_invmap()>
+
+ use Unicode::UCD 'prop_invmap';
+ my ($list_ref, $map_ref, $format, $missing)
+ = prop_invmap("General Category");
+
+C<prop_invmap> is used to get the complete mapping definition for a property,
+in the form of an inversion map. An inversion map consists of two parallel
+arrays. One is an ordered list of code points that mark range beginnings, and
+the other gives the value (or mapping) that all code points in the
+corresponding range have.
+
+C<prop_invmap> is called with the name of the desired property. The name is
+loosely matched, meaning that differences in case, white-space, hyphens, and
+underscores are not meaningful (except for the trailing underscore in the
+old-form grandfathered-in property C<"L_">, which is better written as C<"LC">,
+or even better, C<"Gc=LC">).
+
+Many Unicode properties have more than one name (or alias). C<prop_invmap>
+understands all of these, including Perl extensions to them. Ambiguities are
+resolved as described above for L</prop_aliases()>. The Perl internal
+property "Perl_Decimal_Digit, described below, is also accepted. C<undef> is
+returned if the property name is unknown.
+See L<perluniprops/Properties accessible through Unicode::UCD> for the
+properties acceptable as inputs to this function.
+
+It is a fatal error to call this function except in list context.
+
+In addition to the the two arrays that form the inversion map, C<prop_invmap>
+returns two other values; one is a scalar that gives some details as to the
+format of the entries of the map array; the other is used for specialized
+purposes, described at the end of this section.
+
+This means that C<prop_invmap> returns a 4 element list. For example,
+
+ my ($blocks_ranges_ref, $blocks_maps_ref, $format, $default)
+ = prop_invmap("Block");
+
+In this call, the two arrays will be populated as shown below (for Unicode
+6.0):
+
+ Index @blocks_ranges @blocks_maps
+ 0 0x0000 Basic Latin
+ 1 0x0080 Latin-1 Supplement
+ 2 0x0100 Latin Extended-A
+ 3 0x0180 Latin Extended-B
+ 4 0x0250 IPA Extensions
+ 5 0x02B0 Spacing Modifier Letters
+ 6 0x0300 Combining Diacritical Marks
+ 7 0x0370 Greek and Coptic
+ 8 0x0400 Cyrillic
+ ...
+ 233 0x2B820 No_Block
+ 234 0x2F800 CJK Compatibility Ideographs Supplement
+ 235 0x2FA20 No_Block
+ 236 0xE0000 Tags
+ 237 0xE0080 No_Block
+ 238 0xE0100 Variation Selectors Supplement
+ 239 0xE01F0 No_Block
+ 240 0xF0000 Supplementary Private Use Area-A
+ 241 0x100000 Supplementary Private Use Area-B
+ 242 0x110000 No_Block
+
+The first line (with Index [0]) means that the value for code point 0 is "Basic
+Latin". The entry "0x0080" in the @blocks_ranges column in the second line
+means that the value from the first line, "Basic Latin", extends to all code
+points in the range from 0 up to but not including 0x0080, that is, through
+127. In other words, the code points from 0 to 127 are all in the "Basic
+Latin" block. Similarly, all code points in the range from 0x0080 up to (but
+not including) 0x0100 are in the block named "Latin-1 Supplement", etc.
+(Notice that the return is the old-style block names; see L</Old-style versus
+new-style block names>).
+
+The final line (with Index [242]) means that the value for all code points above
+the legal Unicode maximum code point have the value "No_Block", which is the
+term Unicode uses for a non-existing block.
+
+The arrays completely specify the mappings for all possible code points.
+The final element in an inversion map returned by this function will always be
+for the range that consists of all the code points that aren't legal Unicode,
+but that are expressible on the platform. (That is, it starts with code point
+0x110000, the first code point above the legal Unicode maximum, and extends to
+infinity.) The value for that range will be the same that any typical
+unassigned code point has for the specified property. (Certain unassigned
+code points are not "typical"; for example the non-character code points, or
+those in blocks that are to be written right-to-left. The above-Unicode
+range's value is not based on these atypical code points.) It could be argued
+that, instead of treating these as unassigned Unicode code points, the value
+for this range should be C<undef>. If you wish, you can change the returned
+arrays accordingly.
+
+The maps are almost always simple scalars that should be interpreted as-is.
+These values are those given in the Unicode-supplied data files, which may be
+inconsistent as to capitalization and as to which synonym for a property-value
+is given. The results may be normalized by using the L</prop_value_aliases()>
+function.
+
+There are exceptions to the simple scalar maps. Some properties have some
+elements in their map list that are themselves lists of scalars; and some
+special strings are returned that are not to be interpreted as-is. Element
+[2] (placed into C<$format> in the example above) of the returned four element
+list tells you if the map has any of these special elements or not, as follows:
+
+=over
+
+=item B<C<s>>
+
+means all the elements of the map array are simple scalars, with no special
+elements. Almost all properties are like this, like the C<block> example
+above.
+
+=item B<C<sl>>
+
+means that some of the map array elements have the form given by C<"s">, and
+the rest are lists of scalars. For example, here is a portion of the output
+of calling C<prop_invmap>() with the "Script Extensions" property:
+
+ @scripts_ranges @scripts_maps
+ ...
+ 0x0953 Devanagari
+ 0x0964 [ Bengali, Devanagari, Gurumukhi, Oriya ]
+ 0x0966 Devanagari
+ 0x0970 Common
+
+Here, the code points 0x964 and 0x965 are both used in Bengali,
+Devanagari, Gurmukhi, and Oriya, but no other scripts.
+
+The Name_Alias property is also of this form. But each scalar consists of two
+components: 1) the name, and 2) the type of alias this is. They are
+separated by a colon and a space. In Unicode 6.1, there are several alias types:
+
+=over
+
+=item C<correction>
+
+indicates that the name is a corrected form for the
+original name (which remains valid) for the same code point.
+
+=item C<control>
+
+adds a new name for a control character.
+
+=item C<alternate>
+
+is an alternate name for a character
+
+=item C<figment>
+
+is a name for a character that has been documented but was never in any
+actual standard.
+
+=item C<abbreviation>
+
+is a common abbreviation for a character
+
+=back
+
+The lists are ordered (roughly) so the most preferred names come before less
+preferred ones.
+
+For example,
+
+ @aliases_ranges @alias_maps
+ ...
+ 0x009E [ 'PRIVACY MESSAGE: control', 'PM: abbreviation' ]
+ 0x009F [ 'APPLICATION PROGRAM COMMAND: control',
+ 'APC: abbreviation'
+ ]
+ 0x00A0 'NBSP: abbreviation'
+ 0x00A1 ""
+ 0x00AD 'SHY: abbreviation'
+ 0x00AE ""
+ 0x01A2 'LATIN CAPITAL LETTER GHA: correction'
+ 0x01A3 'LATIN SMALL LETTER GHA: correction'
+ 0x01A4 ""
+ ...
+
+A map to the empty string means that there is no alias defined for the code
+point.
+
+=item B<C<a>>
+
+is like C<"s"> in that all the map array elements are scalars, but here they are
+restricted to all being integers, and some have to be adjusted (hence the name
+C<"a">) to get the correct result. For example, in:
+
+ my ($uppers_ranges_ref, $uppers_maps_ref, $format)
+ = prop_invmap("Simple_Uppercase_Mapping");
+
+the returned arrays look like this:
+
+ @$uppers_ranges_ref @$uppers_maps_ref Note
+ 0 0
+ 97 65 'a' maps to 'A', b => B ...
+ 123 0
+ 181 924 MICRO SIGN => Greek Cap MU
+ 182 0
+ ...
+
+Let's start with the second line. It says that the uppercase of code point 97
+is 65; or C<uc("a")> == "A". But the line is for the entire range of code
+points 97 through 122. To get the mapping for any code point in a range, you
+take the offset it has from the beginning code point of the range, and add
+that to the mapping for that first code point. So, the mapping for 122 ("z")
+is derived by taking the offset of 122 from 97 (=25) and adding that to 65,
+yielding 90 ("z"). Likewise for everything in between.
+
+The first line works the same way. The first map in a range is always the
+correct value for its code point (because the adjustment is 0). Thus the
+C<uc(chr(0))> is just itself. Also, C<uc(chr(1))> is also itself, as the
+adjustment is 0+1-0 .. C<uc(chr(96))> is 96.
+
+Requiring this simple adjustment allows the returned arrays to be
+significantly smaller than otherwise, up to a factor of 10, speeding up
+searching through them.
+
+=item B<C<al>>
+
+means that some of the map array elements have the form given by C<"a">, and
+the rest are ordered lists of code points.
+For example, in:
+
+ my ($uppers_ranges_ref, $uppers_maps_ref, $format)
+ = prop_invmap("Uppercase_Mapping");
+
+the returned arrays look like this:
+
+ @$uppers_ranges_ref @$uppers_maps_ref
+ 0 0
+ 97 65
+ 123 0
+ 181 924
+ 182 0
+ ...
+ 0x0149 [ 0x02BC 0x004E ]
+ 0x014A 0
+ 0x014B 330
+ ...
+
+This is the full Uppercase_Mapping property (as opposed to the
+Simple_Uppercase_Mapping given in the example for format C<"a">). The only
+difference between the two in the ranges shown is that the code point at
+0x0149 (LATIN SMALL LETTER N PRECEDED BY APOSTROPHE) maps to a string of two
+characters, 0x02BC (MODIFIER LETTER APOSTROPHE) followed by 0x004E (LATIN
+CAPITAL LETTER N).
+
+No adjustments are needed to entries that are references to arrays; each such
+entry will have exactly one element in its range, so the offset is always 0.
+
+=item B<C<ae>>
+
+This is like C<"a">, but some elements are the empty string, and should not be
+adjusted.
+The one internal Perl property accessible by C<prop_invmap> is of this type:
+"Perl_Decimal_Digit" returns an inversion map which gives the numeric values
+that are represented by the Unicode decimal digit characters. Characters that
+don't represent decimal digits map to the empty string, like so:
+
+ @digits @values
+ 0x0000 ""
+ 0x0030 0
+ 0x003A: ""
+ 0x0660: 0
+ 0x066A: ""
+ 0x06F0: 0
+ 0x06FA: ""
+ 0x07C0: 0
+ 0x07CA: ""
+ 0x0966: 0
+ ...
+
+This means that the code points from 0 to 0x2F do not represent decimal digits;
+the code point 0x30 (DIGIT ZERO) represents 0; code point 0x31, (DIGIT ONE),
+represents 0+1-0 = 1; ... code point 0x39, (DIGIT NINE), represents 0+9-0 = 9;
+... code points 0x3A through 0x65F do not represent decimal digits; 0x660
+(ARABIC-INDIC DIGIT ZERO), represents 0; ... 0x07C1 (NKO DIGIT ONE),
+represents 0+1-0 = 1 ...
+
+=item B<C<ale>>
+
+is a combination of the C<"al"> type and the C<"ae"> type. Some of
+the map array elements have the forms given by C<"al">, and
+the rest are the empty string. The property C<NFKC_Casefold> has this form.
+An example slice is:
+
+ @$ranges_ref @$maps_ref Note
+ ...
+ 0x00AA 97 FEMININE ORDINAL INDICATOR => 'a'
+ 0x00AB 0
+ 0x00AD SOFT HYPHEN => ""
+ 0x00AE 0
+ 0x00AF [ 0x0020, 0x0304 ] MACRON => SPACE . COMBINING MACRON
+ 0x00B0 0
+ ...
+
+=item B<C<ar>>
+
+means that all the elements of the map array are either rational numbers or
+the string C<"NaN">, meaning "Not a Number". A rational number is either an
+integer, or two integers separated by a solidus (C<"/">). The second integer
+represents the denominator of the division implied by the solidus, and is
+actually always positive, so it is guaranteed not to be 0 and to not to be
+signed. When the element is a plain integer (without the
+solidus), it may need to be adjusted to get the correct value by adding the
+offset, just as other C<"a"> properties. No adjustment is needed for
+fractions, as the range is guaranteed to have just a single element, and so
+the offset is always 0.
+
+If you want to convert the returned map to entirely scalar numbers, you
+can use something like this:
+
+ my ($invlist_ref, $invmap_ref, $format) = prop_invmap($property);
+ if ($format && $format eq "ar") {
+ map { $_ = eval $_ } @$invmap_ref;
+ }
+
+Here's some entries from the output of the property "Nv", which has format
+C<"ar">.
+
+ @numerics_ranges @numerics_maps Note
+ 0x00 "NaN"
+ 0x30 0 DIGIT 0 .. DIGIT 9
+ 0x3A "NaN"
+ 0xB2 2 SUPERSCRIPTs 2 and 3
+ 0xB4 "NaN"
+ 0xB9 1 SUPERSCRIPT 1
+ 0xBA "NaN"
+ 0xBC 1/4 VULGAR FRACTION 1/4
+ 0xBD 1/2 VULGAR FRACTION 1/2
+ 0xBE 3/4 VULGAR FRACTION 3/4
+ 0xBF "NaN"
+ 0x660 0 ARABIC-INDIC DIGIT ZERO .. NINE
+ 0x66A "NaN"
+
+=item B<C<n>>
+
+means the Name property. All the elements of the map array are simple
+scalars, but some of them contain special strings that require more work to
+get the actual name.
+
+Entries such as:
+
+ CJK UNIFIED IDEOGRAPH-<code point>
+
+mean that the name for the code point is "CJK UNIFIED IDEOGRAPH-"
+with the code point (expressed in hexadecimal) appended to it, like "CJK
+UNIFIED IDEOGRAPH-3403" (similarly for S<C<CJK COMPATIBILITY IDEOGRAPH-E<lt>code
+pointE<gt>>>).
+
+Also, entries like
+
+ <hangul syllable>
+
+means that the name is algorithmically calculated. This is easily done by
+the function L<charnames/charnames::viacode(code)>.
+
+Note that for control characters (C<Gc=cc>), Unicode's data files have the
+string "C<E<lt>controlE<gt>>", but the real name of each of these characters is the empty
+string. This function returns that real name, the empty string. (There are
+names for these characters, but they are considered aliases, not the Name
+property name, and are contained in the C<Name_Alias> property.)
+
+=item B<C<ad>>
+
+means the Decomposition_Mapping property. This property is like C<"al">
+properties, except that one of the scalar elements is of the form:
+
+ <hangul syllable>
+
+This signifies that this entry should be replaced by the decompositions for
+all the code points whose decomposition is algorithmically calculated. (All
+of them are currently in one range and no others outisde the range are likely
+to ever be added to Unicode; the C<"n"> format
+has this same entry.) These can be generated via the function
+L<Unicode::Normalize::NFD()|Unicode::Normalize>.
+
+Note that the mapping is the one that is specified in the Unicode data files,
+and to get the final decomposition, it may need to be applied recursively.
+
+=back
+
+Note that a format begins with the letter "a" if and only the property it is
+for requires adjustments by adding the offsets in multi-element ranges. For
+all these properties, an entry should be adjusted only if the map is a scalar
+which is an integer. That is, it must match the regular expression:
+
+ / ^ -? \d+ $ /xa
+
+Further, the first element in a range never needs adjustment, as the
+adjustment would be just adding 0.
+
+A binary search can be used to quickly find a code point in the inversion
+list, and hence its corresponding mapping.
+
+The final element (index [3], assigned to C<$default> in the "block" example) in
+the four element list returned by this function may be useful for applications
+that wish to convert the returned inversion map data structure into some
+other, such as a hash. It gives the mapping that most code points map to
+under the property. If you establish the convention that any code point not
+explicitly listed in your data structure maps to this value, you can
+potentially make your data structure much smaller. As you construct your data
+structure from the one returned by this function, simply ignore those ranges
+that map to this value, generally called the "default" value. For example, to
+convert to the data structure searchable by L</charinrange()>, you can follow
+this recipe for properties that don't require adjustments:
+
+ my ($list_ref, $map_ref, $format, $missing) = prop_invmap($property);
+ my @range_list;
+
+ # Look at each element in the list, but the -2 is needed because we
+ # look at $i+1 in the loop, and the final element is guaranteed to map
+ # to $missing by prop_invmap(), so we would skip it anyway.
+ for my $i (0 .. @$list_ref - 2) {
+ next if $map_ref->[$i] eq $missing;
+ push @range_list, [ $list_ref->[$i],
+ $list_ref->[$i+1],
+ $map_ref->[$i]
+ ];
+ }
+
+ print charinrange(\@range_list, $code_point), "\n";
+
+With this, C<charinrange()> will return C<undef> if its input code point maps
+to C<$missing>. You can avoid this by omitting the C<next> statement, and adding
+a line after the loop to handle the final element of the inversion map.
+
+Similarly, this recipe can be used for properties that do require adjustments:
+
+ for my $i (0 .. @$list_ref - 2) {
+ next if $map_ref->[$i] eq $missing;
+
+ # prop_invmap() guarantees that if the mapping is to an array, the
+ # range has just one element, so no need to worry about adjustments.
+ if (ref $map_ref->[$i]) {
+ push @range_list,
+ [ $list_ref->[$i], $list_ref->[$i], $map_ref->[$i] ];
+ }
+ else { # Otherwise each element is actually mapped to a separate
+ # value, so the range has to be split into single code point
+ # ranges.
+
+ my $adjustment = 0;
+
+ # For each code point that gets mapped to something...
+ for my $j ($list_ref->[$i] .. $list_ref->[$i+1] -1 ) {
+
+ # ... add a range consisting of just it mapping to the
+ # original plus the adjustment, which is incremented for the
+ # next time through the loop, as the offset increases by 1
+ # for each element in the range
+ push @range_list,
+ [ $j, $j, $map_ref->[$i] + $adjustment++ ];
+ }
+ }
+ }
+
+Note that the inversion maps returned for the C<Case_Folding> and
+C<Simple_Case_Folding> properties do not include the Turkic-locale mappings.
+Use L</casefold()> for these.
+
+C<prop_invmap> does not know about any user-defined properties, and will
+return C<undef> if called with one of those.
+
+=cut
+
+# User-defined properties could be handled with some changes to utf8_heavy.pl;
+# if done, consideration should be given to the fact that the user subroutine
+# could return different results with each call, which could lead to some
+# security issues.
+
+# One could store things in memory so they don't have to be recalculated, but
+# it is unlikely this will be called often, and some properties would take up
+# significant memory.
+
+# These are created by mktables for this routine and stored in unicore/UCD.pl
+# where their structures are described.
+our @algorithmic_named_code_points;
+our $HANGUL_BEGIN;
+our $HANGUL_COUNT;
+
+sub prop_invmap ($) {
+
+ croak __PACKAGE__, "::prop_invmap: must be called in list context" unless wantarray;
+
+ my $prop = $_[0];
+ return unless defined $prop;
+
+ # Fail internal properties
+ return if $prop =~ /^_/;
+
+ # The values returned by this function.
+ my (@invlist, @invmap, $format, $missing);
+
+ # The swash has two components we look at, the base list, and a hash,
+ # named 'SPECIALS', containing any additional members whose mappings don't
+ # fit into the the base list scheme of things. These generally 'override'
+ # any value in the base list for the same code point.
+ my $overrides;
+
+ require "utf8_heavy.pl";
+ require "unicore/UCD.pl";
+
+RETRY:
+
+ # If there are multiple entries for a single code point
+ my $has_multiples = 0;
+
+ # Try to get the map swash for the property. They have 'To' prepended to
+ # the property name, and 32 means we will accept 32 bit return values.
+ # The 0 means we aren't calling this from tr///.
+ my $swash = utf8::SWASHNEW(__PACKAGE__, "To$prop", undef, 32, 0);
+
+ # If didn't find it, could be because needs a proxy. And if was the
+ # 'Block' or 'Name' property, use a proxy even if did find it. Finding it
+ # in these cases would be the result of the installation changing mktables
+ # to output the Block or Name tables. The Block table gives block names
+ # in the new-style, and this routine is supposed to return old-style block
+ # names. The Name table is valid, but we need to execute the special code
+ # below to add in the algorithmic-defined name entries.
+ # And NFKCCF needs conversion, so handle that here too.
+ if (ref $swash eq ""
+ || $swash->{'TYPE'} =~ / ^ To (?: Blk | Na | NFKCCF ) $ /x)
+ {
+
+ # Get the short name of the input property, in standard form
+ my ($second_try) = prop_aliases($prop);
+ return unless $second_try;
+ $second_try = utf8::_loose_name(lc $second_try);
+
+ if ($second_try eq "in") {
+
+ # This property is identical to age for inversion map purposes
+ $prop = "age";
+ goto RETRY;
+ }
+ elsif ($second_try =~ / ^ s ( cf | [ltu] c ) $ /x) {
+
+ # These properties use just the LIST part of the full mapping,
+ # which includes the simple maps that are otherwise overridden by
+ # the SPECIALS. So all we need do is to not look at the SPECIALS;
+ # set $overrides to indicate that
+ $overrides = -1;
+
+ # The full name is the simple name stripped of its initial 's'
+ $prop = $second_try =~ s/^s//r;
+ goto RETRY;
+ }
+ elsif ($second_try eq "blk") {
+
+ # We use the old block names. Just create a fake swash from its
+ # data.
+ _charblocks();
+ my %blocks;
+ $blocks{'LIST'} = "";
+ $blocks{'TYPE'} = "ToBlk";
+ $utf8::SwashInfo{ToBlk}{'missing'} = "No_Block";
+ $utf8::SwashInfo{ToBlk}{'format'} = "s";
+
+ foreach my $block (@BLOCKS) {
+ $blocks{'LIST'} .= sprintf "%x\t%x\t%s\n",
+ $block->[0],
+ $block->[1],
+ $block->[2];
+ }
+ $swash = \%blocks;
+ }
+ elsif ($second_try eq "na") {
+
+ # Use the combo file that has all the Name-type properties in it,
+ # extracting just the ones that are for the actual 'Name'
+ # property. And create a fake swash from it.
+ my %names;
+ $names{'LIST'} = "";
+ my $original = do "unicore/Name.pl";
+ my $algorithm_names = \@algorithmic_named_code_points;
+
+ # We need to remove the names from it that are aliases. For that
+ # we need to also read in that table. Create a hash with the keys
+ # being the code points, and the values being a list of the
+ # aliases for the code point key.
+ my ($aliases_code_points, $aliases_maps, undef, undef) =
+ &prop_invmap('Name_Alias');
+ my %aliases;
+ for (my $i = 0; $i < @$aliases_code_points; $i++) {
+ my $code_point = $aliases_code_points->[$i];
+ $aliases{$code_point} = $aliases_maps->[$i];
+
+ # If not already a list, make it into one, so that later we
+ # can treat things uniformly
+ if (! ref $aliases{$code_point}) {
+ $aliases{$code_point} = [ $aliases{$code_point} ];
+ }
+
+ # Remove the alias type from the entry, retaining just the
+ # name.
+ map { s/:.*// } @{$aliases{$code_point}};
+ }
+
+ my $i = 0;
+ foreach my $line (split "\n", $original) {
+ my ($hex_code_point, $name) = split "\t", $line;
+
+ # Weeds out all comments, blank lines, and named sequences
+ next if $hex_code_point =~ /\P{ASCII_HEX_DIGIT}/;
+
+ my $code_point = hex $hex_code_point;
+
+ # The name of all controls is the default: the empty string.
+ # The set of controls is immutable, so these hard-coded
+ # constants work.
+ next if $code_point <= 0x9F
+ && ($code_point <= 0x1F || $code_point >= 0x7F);
+
+ # If this is a name_alias, it isn't a name
+ next if grep { $_ eq $name } @{$aliases{$code_point}};
+
+ # If we are beyond where one of the special lines needs to
+ # be inserted ...
+ while ($i < @$algorithm_names
+ && $code_point > $algorithm_names->[$i]->{'low'})
+ {
+
+ # ... then insert it, ahead of what we were about to
+ # output
+ $names{'LIST'} .= sprintf "%x\t%x\t%s\n",
+ $algorithm_names->[$i]->{'low'},
+ $algorithm_names->[$i]->{'high'},
+ $algorithm_names->[$i]->{'name'};
+
+ # Done with this range.
+ $i++;
+
+ # We loop until all special lines that precede the next
+ # regular one are output.
+ }
+
+ # Here, is a normal name.
+ $names{'LIST'} .= sprintf "%x\t\t%s\n", $code_point, $name;
+ } # End of loop through all the names
+
+ $names{'TYPE'} = "ToNa";
+ $utf8::SwashInfo{ToNa}{'missing'} = "";
+ $utf8::SwashInfo{ToNa}{'format'} = "n";
+ $swash = \%names;
+ }
+ elsif ($second_try =~ / ^ ( d [mt] ) $ /x) {
+
+ # The file is a combination of dt and dm properties. Create a
+ # fake swash from the portion that we want.
+ my $original = do "unicore/Decomposition.pl";
+ my %decomps;
+
+ if ($second_try eq 'dt') {
+ $decomps{'TYPE'} = "ToDt";
+ $utf8::SwashInfo{'ToDt'}{'missing'} = "None";
+ $utf8::SwashInfo{'ToDt'}{'format'} = "s";
+ } # 'dm' is handled below, with 'nfkccf'
+
+ $decomps{'LIST'} = "";
+
+ # This property has one special range not in the file: for the
+ # hangul syllables
+ my $done_hangul = 0; # Have we done the hangul range.
+ foreach my $line (split "\n", $original) {
+ my ($hex_lower, $hex_upper, $type_and_map) = split "\t", $line;
+ my $code_point = hex $hex_lower;
+ my $value;
+ my $redo = 0;
+
+ # The type, enclosed in <...>, precedes the mapping separated
+ # by blanks
+ if ($type_and_map =~ / ^ < ( .* ) > \s+ (.*) $ /x) {
+ $value = ($second_try eq 'dt') ? $1 : $2
+ }
+ else { # If there is no type specified, it's canonical
+ $value = ($second_try eq 'dt')
+ ? "Canonical" :
+ $type_and_map;
+ }
+
+ # Insert the hangul range at the appropriate spot.
+ if (! $done_hangul && $code_point > $HANGUL_BEGIN) {
+ $done_hangul = 1;
+ $decomps{'LIST'} .=
+ sprintf "%x\t%x\t%s\n",
+ $HANGUL_BEGIN,
+ $HANGUL_BEGIN + $HANGUL_COUNT - 1,
+ ($second_try eq 'dt')
+ ? "Canonical"
+ : "<hangul syllable>";
+ }
+
+ # And append this to our constructed LIST.
+ $decomps{'LIST'} .= "$hex_lower\t$hex_upper\t$value\n";
+
+ redo if $redo;
+ }
+ $swash = \%decomps;
+ }
+ elsif ($second_try ne 'nfkccf') { # Don't know this property. Fail.
+ return;
+ }
+
+ if ($second_try eq 'nfkccf' || $second_try eq 'dm') {
+
+ # The 'nfkccf' property is stored in the old format for backwards
+ # compatibility for any applications that has read its file
+ # directly before prop_invmap() existed.
+ # And the code above has extracted the 'dm' property from its file
+ # yielding the same format. So here we convert them to adjusted
+ # format for compatibility with the other properties similar to
+ # them.
+ my %revised_swash;
+
+ # We construct a new converted list.
+ my $list = "";
+
+ my @ranges = split "\n", $swash->{'LIST'};
+ for (my $i = 0; $i < @ranges; $i++) {
+ my ($hex_begin, $hex_end, $map) = split "\t", $ranges[$i];
+
+ # The dm property has maps that are space separated sequences
+ # of code points, as well as the special entry "<hangul
+ # syllable>, which also contains a blank.
+ my @map = split " ", $map;
+ if (@map > 1) {
+
+ # If it's just the special entry, append as-is.
+ if ($map eq '<hangul syllable>') {
+ $list .= "$ranges[$i]\n";
+ }
+ else {
+
+ # These should all single-element ranges.
+ croak __PACKAGE__, "::prop_invmap: Not expecting a mapping with multiple code points in a multi-element range, $ranges[$i]" if $hex_end ne "";
+
+ # Convert them to decimal, as that's what's expected.
+ $list .= "$hex_begin\t\t"
+ . join(" ", map { hex } @map)
+ . "\n";
+ }
+ next;
+ }
+
+ # Here, the mapping doesn't have a blank, is for a single code
+ # point.
+ my $begin = hex $hex_begin;
+ my $end = (defined $hex_end && $hex_end ne "")
+ ? hex $hex_end
+ : $begin;
+
+ # Again, the output is to be in decimal.
+ my $decimal_map = hex $map;
+
+ # We know that multi-element ranges with the same mapping
+ # should not be adjusted, as after the adjustment
+ # multi-element ranges are for consecutive increasing code
+ # points. Further, the final element in the list won't be
+ # adjusted, as there is nothing after it to include in the
+ # adjustment
+ if ($begin != $end || $i == @ranges -1) {
+
+ # So just convert these to single-element ranges
+ foreach my $code_point ($begin .. $end) {
+ $list .= sprintf("%04X\t\t%d\n",
+ $code_point, $decimal_map);
+ }
+ }
+ else {
+
+ # Here, we have a candidate for adjusting. What we do is
+ # look through the subsequent adjacent elements in the
+ # input. If the map to the next one differs by 1 from the
+ # one before, then we combine into a larger range with the
+ # initial map. Loop doing this until we find one that
+ # can't be combined.
+
+ my $offset = 0; # How far away are we from the initial
+ # map
+ my $squished = 0; # ? Did we squish at least two
+ # elements together into one range
+ for ( ; $i < @ranges; $i++) {
+ my ($next_hex_begin, $next_hex_end, $next_map)
+ = split "\t", $ranges[$i+1];
+
+ # In the case of 'dm', the map may be a sequence of
+ # multiple code points, which are never combined with
+ # another range
+ last if $next_map =~ / /;
+
+ $offset++;
+ my $next_decimal_map = hex $next_map;
+
+ # If the next map is not next in sequence, it
+ # shouldn't be combined.
+ last if $next_decimal_map != $decimal_map + $offset;
+
+ my $next_begin = hex $next_hex_begin;
+
+ # Likewise, if the next element isn't adjacent to the
+ # previous one, it shouldn't be combined.
+ last if $next_begin != $begin + $offset;
+
+ my $next_end = (defined $next_hex_end
+ && $next_hex_end ne "")
+ ? hex $next_hex_end
+ : $next_begin;
+
+ # And finally, if the next element is a multi-element
+ # range, it shouldn't be combined.
+ last if $next_end != $next_begin;
+
+ # Here, we will combine. Loop to see if we should
+ # combine the next element too.
+ $squished = 1;
+ }
+
+ if ($squished) {
+
+ # Here, 'i' is the element number of the last element to
+ # be combined, and the range is single-element, or we
+ # wouldn't be combining. Get it's code point.
+ my ($hex_end, undef, undef) = split "\t", $ranges[$i];
+ $list .= "$hex_begin\t$hex_end\t$decimal_map\n";
+ } else {
+
+ # Here, no combining done. Just appen the initial
+ # (and current) values.
+ $list .= "$hex_begin\t\t$decimal_map\n";
+ }
+ }
+ } # End of loop constructing the converted list
+ # Finish up the data structure for our converted swash
+ my $type = ($second_try eq 'nfkccf') ? 'ToNFKCCF' : 'ToDm';
+ $revised_swash{'LIST'} = $list;
+ $revised_swash{'TYPE'} = $type;
+ $revised_swash{'SPECIALS'} = $swash->{'SPECIALS'};
+ $swash = \%revised_swash;
+
+ $utf8::SwashInfo{$type}{'missing'} = 0;
+ $utf8::SwashInfo{$type}{'format'} = 'a';
+ }
+ }
+
+ if ($swash->{'EXTRAS'}) {
+ carp __PACKAGE__, "::prop_invmap: swash returned for $prop unexpectedly has EXTRAS magic";
+ return;
+ }
+
+ # Here, have a valid swash return. Examine it.
+ my $returned_prop = $swash->{'TYPE'};
+
+ # All properties but binary ones should have 'missing' and 'format'
+ # entries
+ $missing = $utf8::SwashInfo{$returned_prop}{'missing'};
+ $missing = 'N' unless defined $missing;
+
+ $format = $utf8::SwashInfo{$returned_prop}{'format'};
+ $format = 'b' unless defined $format;
+
+ my $requires_adjustment = $format =~ /^a/;
+
+ # The LIST input lines look like:
+ # ...
+ # 0374\t\tCommon
+ # 0375\t0377\tGreek # [3]
+ # 037A\t037D\tGreek # [4]
+ # 037E\t\tCommon
+ # 0384\t\tGreek
+ # ...
+ #
+ # Convert them to like
+ # 0374 => Common
+ # 0375 => Greek
+ # 0378 => $missing
+ # 037A => Greek
+ # 037E => Common
+ # 037F => $missing
+ # 0384 => Greek
+ #
+ # For binary properties, the final non-comment column is absent, and
+ # assumed to be 'Y'.
+
+ foreach my $range (split "\n", $swash->{'LIST'}) {
+ $range =~ s/ \s* (?: \# .* )? $ //xg; # rmv trailing space, comments
+
+ # Find the beginning and end of the range on the line
+ my ($hex_begin, $hex_end, $map) = split "\t", $range;
+ my $begin = hex $hex_begin;
+ my $end = (defined $hex_end && $hex_end ne "")
+ ? hex $hex_end
+ : $begin;
+
+ # Each time through the loop (after the first):
+ # $invlist[-2] contains the beginning of the previous range processed
+ # $invlist[-1] contains the end+1 of the previous range processed
+ # $invmap[-2] contains the value of the previous range processed
+ # $invmap[-1] contains the default value for missing ranges ($missing)
+ #
+ # Thus, things are set up for the typical case of a new non-adjacent
+ # range of non-missings to be added. But, if the new range is
+ # adjacent, it needs to replace the [-1] element; and if the new
+ # range is a multiple value of the previous one, it needs to be added
+ # to the [-2] map element.
+
+ # The first time through, everything will be empty. If the property
+ # doesn't have a range that begins at 0, add one that maps to $missing
+ if (! @invlist) {
+ if ($begin != 0) {
+ push @invlist, 0;
+ push @invmap, $missing;
+ }
+ }
+ elsif (@invlist > 1 && $invlist[-2] == $begin) {
+
+ # Here we handle the case where the input has multiple entries for
+ # each code point. mktables should have made sure that each such
+ # range contains only one code point. At this point, $invlist[-1]
+ # is the $missing that was added at the end of the last loop
+ # iteration, and [-2] is the last real input code point, and that
+ # code point is the same as the one we are adding now, making the
+ # new one a multiple entry. Add it to the existing entry, either
+ # by pushing it to the existing list of multiple entries, or
+ # converting the single current entry into a list with both on it.
+ # This is all we need do for this iteration.
+
+ if ($end != $begin) {
+ croak __PACKAGE__, ":prop_invmap: Multiple maps per code point in '$prop' require single-element ranges: begin=$begin, end=$end, map=$map";
+ }
+ if (! ref $invmap[-2]) {
+ $invmap[-2] = [ $invmap[-2], $map ];
+ }
+ else {
+ push @{$invmap[-2]}, $map;
+ }
+ $has_multiples = 1;
+ next;
+ }
+ elsif ($invlist[-1] == $begin) {
+
+ # If the input isn't in the most compact form, so that there are
+ # two adjacent ranges that map to the same thing, they should be
+ # combined (EXCEPT where the arrays require adjustments, in which
+ # case everything is already set up correctly). This happens in
+ # our constructed dt mapping, as Element [-2] is the map for the
+ # latest range so far processed. Just set the beginning point of
+ # the map to $missing (in invlist[-1]) to 1 beyond where this
+ # range ends. For example, in
+ # 12\t13\tXYZ
+ # 14\t17\tXYZ
+ # we have set it up so that it looks like
+ # 12 => XYZ
+ # 14 => $missing
+ #
+ # We now see that it should be
+ # 12 => XYZ
+ # 18 => $missing
+ if (! $requires_adjustment && @invlist > 1 && ( (defined $map)
+ ? $invmap[-2] eq $map
+ : $invmap[-2] eq 'Y'))
+ {
+ $invlist[-1] = $end + 1;
+ next;
+ }
+
+ # Here, the range started in the previous iteration that maps to
+ # $missing starts at the same code point as this range. That
+ # means there is no gap to fill that that range was intended for,
+ # so we just pop it off the parallel arrays.
+ pop @invlist;
+ pop @invmap;
+ }
+
+ # Add the range beginning, and the range's map.
+ push @invlist, $begin;
+ if ($returned_prop eq 'ToDm') {
+
+ # The decomposition maps are either a line like <hangul syllable>
+ # which are to be taken as is; or a sequence of code points in hex
+ # and separated by blanks. Convert them to decimal, and if there
+ # is more than one, use an anonymous array as the map.
+ if ($map =~ /^ < /x) {
+ push @invmap, $map;
+ }
+ else {
+ my @map = split " ", $map;
+ if (@map == 1) {
+ push @invmap, $map[0];
+ }
+ else {
+ push @invmap, \@map;
+ }
+ }
+ }
+ else {
+
+ # Otherwise, convert hex formatted list entries to decimal; add a
+ # 'Y' map for the missing value in binary properties, or
+ # otherwise, use the input map unchanged.
+ $map = ($format eq 'x')
+ ? hex $map
+ : $format eq 'b'
+ ? 'Y'
+ : $map;
+ push @invmap, $map;
+ }
+
+ # We just started a range. It ends with $end. The gap between it and
+ # the next element in the list must be filled with a range that maps
+ # to the default value. If there is no gap, the next iteration will
+ # pop this, unless there is no next iteration, and we have filled all
+ # of the Unicode code space, so check for that and skip.
+ if ($end < $MAX_UNICODE_CODEPOINT) {
+ push @invlist, $end + 1;
+ push @invmap, $missing;
+ }
+ }
+
+ # If the property is empty, make all code points use the value for missing
+ # ones.
+ if (! @invlist) {
+ push @invlist, 0;
+ push @invmap, $missing;
+ }
+
+ # And add in standard element that all non-Unicode code points map to:
+ # $missing
+ push @invlist, $MAX_UNICODE_CODEPOINT + 1;
+ push @invmap, $missing;
+
+ # The second component of the map are those values that require
+ # non-standard specification, stored in SPECIALS. These override any
+ # duplicate code points in LIST. If we are using a proxy, we may have
+ # already set $overrides based on the proxy.
+ $overrides = $swash->{'SPECIALS'} unless defined $overrides;
+ if ($overrides) {
+
+ # A negative $overrides implies that the SPECIALS should be ignored,
+ # and a simple 'a' list is the value.
+ if ($overrides < 0) {
+ $format = 'a';
+ }
+ else {
+
+ # Currently, all overrides are for properties that normally map to
+ # single code points, but now some will map to lists of code
+ # points (but there is an exception case handled below).
+ $format = 'al';
+
+ # Look through the overrides.
+ foreach my $cp_maybe_utf8 (keys %$overrides) {
+ my $cp;
+ my @map;
+
+ # If the overrides came from SPECIALS, the code point keys are
+ # packed UTF-8.
+ if ($overrides == $swash->{'SPECIALS'}) {
+ $cp = unpack("C0U", $cp_maybe_utf8);
+ @map = unpack "U0U*", $swash->{'SPECIALS'}{$cp_maybe_utf8};
+
+ # The empty string will show up unpacked as an empty
+ # array.
+ $format = 'ale' if @map == 0;
+ }
+ else {
+
+ # But if we generated the overrides, we didn't bother to
+ # pack them, and we, so far, do this only for properties
+ # that are 'a' ones.
+ $cp = $cp_maybe_utf8;
+ @map = hex $overrides->{$cp};
+ $format = 'a';
+ }
+
+ # Find the range that the override applies to.
+ my $i = _search_invlist(\@invlist, $cp);
+ if ($cp < $invlist[$i] || $cp >= $invlist[$i + 1]) {
+ croak __PACKAGE__, "::prop_invmap: wrong_range, cp=$cp; i=$i, current=$invlist[$i]; next=$invlist[$i + 1]"
+ }
+
+ # And what that range currently maps to
+ my $cur_map = $invmap[$i];
+
+ # If there is a gap between the next range and the code point
+ # we are overriding, we have to add elements to both arrays to
+ # fill that gap, using the map that applies to it, which is
+ # $cur_map, since it is part of the current range.
+ if ($invlist[$i + 1] > $cp + 1) {
+ #use feature 'say';
+ #say "Before splice:";
+ #say 'i-2=[', $i-2, ']', sprintf("%04X maps to %s", $invlist[$i-2], $invmap[$i-2]) if $i >= 2;
+ #say 'i-1=[', $i-1, ']', sprintf("%04X maps to %s", $invlist[$i-1], $invmap[$i-1]) if $i >= 1;
+ #say 'i =[', $i, ']', sprintf("%04X maps to %s", $invlist[$i], $invmap[$i]);
+ #say 'i+1=[', $i+1, ']', sprintf("%04X maps to %s", $invlist[$i+1], $invmap[$i+1]) if $i < @invlist + 1;
+ #say 'i+2=[', $i+2, ']', sprintf("%04X maps to %s", $invlist[$i+2], $invmap[$i+2]) if $i < @invlist + 2;
+
+ splice @invlist, $i + 1, 0, $cp + 1;
+ splice @invmap, $i + 1, 0, $cur_map;
+
+ #say "After splice:";
+ #say 'i-2=[', $i-2, ']', sprintf("%04X maps to %s", $invlist[$i-2], $invmap[$i-2]) if $i >= 2;
+ #say 'i-1=[', $i-1, ']', sprintf("%04X maps to %s", $invlist[$i-1], $invmap[$i-1]) if $i >= 1;
+ #say 'i =[', $i, ']', sprintf("%04X maps to %s", $invlist[$i], $invmap[$i]);
+ #say 'i+1=[', $i+1, ']', sprintf("%04X maps to %s", $invlist[$i+1], $invmap[$i+1]) if $i < @invlist + 1;
+ #say 'i+2=[', $i+2, ']', sprintf("%04X maps to %s", $invlist[$i+2], $invmap[$i+2]) if $i < @invlist + 2;
+ }
+
+ # If the remaining portion of the range is multiple code
+ # points (ending with the one we are replacing, guaranteed by
+ # the earlier splice). We must split it into two
+ if ($invlist[$i] < $cp) {
+ $i++; # Compensate for the new element
+
+ #use feature 'say';
+ #say "Before splice:";
+ #say 'i-2=[', $i-2, ']', sprintf("%04X maps to %s", $invlist[$i-2], $invmap[$i-2]) if $i >= 2;
+ #say 'i-1=[', $i-1, ']', sprintf("%04X maps to %s", $invlist[$i-1], $invmap[$i-1]) if $i >= 1;
+ #say 'i =[', $i, ']', sprintf("%04X maps to %s", $invlist[$i], $invmap[$i]);
+ #say 'i+1=[', $i+1, ']', sprintf("%04X maps to %s", $invlist[$i+1], $invmap[$i+1]) if $i < @invlist + 1;
+ #say 'i+2=[', $i+2, ']', sprintf("%04X maps to %s", $invlist[$i+2], $invmap[$i+2]) if $i < @invlist + 2;
+
+ splice @invlist, $i, 0, $cp;
+ splice @invmap, $i, 0, 'dummy';
+
+ #say "After splice:";
+ #say 'i-2=[', $i-2, ']', sprintf("%04X maps to %s", $invlist[$i-2], $invmap[$i-2]) if $i >= 2;
+ #say 'i-1=[', $i-1, ']', sprintf("%04X maps to %s", $invlist[$i-1], $invmap[$i-1]) if $i >= 1;
+ #say 'i =[', $i, ']', sprintf("%04X maps to %s", $invlist[$i], $invmap[$i]);
+ #say 'i+1=[', $i+1, ']', sprintf("%04X maps to %s", $invlist[$i+1], $invmap[$i+1]) if $i < @invlist + 1;
+ #say 'i+2=[', $i+2, ']', sprintf("%04X maps to %s", $invlist[$i+2], $invmap[$i+2]) if $i < @invlist + 2;
+ }
+
+ # Here, the range we are overriding contains a single code
+ # point. The result could be the empty string, a single
+ # value, or a list. If the last case, we use an anonymous
+ # array.
+ $invmap[$i] = (scalar @map == 0)
+ ? ""
+ : (scalar @map > 1)
+ ? \@map
+ : $map[0];
+ }
+ }
+ }
+ elsif ($format eq 'x') {
+
+ # All hex-valued properties are really to code points, and have been
+ # converted to decimal.
+ $format = 's';
+ }
+ elsif ($returned_prop eq 'ToDm') {
+ $format = 'ad';
+ }
+ elsif ($format eq 'sw') { # blank-separated elements to form a list.
+ map { $_ = [ split " ", $_ ] if $_ =~ / / } @invmap;
+ $format = 'sl';
+ }
+ elsif ($returned_prop eq 'ToNameAlias') {
+
+ # This property currently doesn't have any lists, but theoretically
+ # could
+ $format = 'sl';
+ }
+ elsif ($returned_prop eq 'ToPerlDecimalDigit') {
+ $format = 'ae';
+ }
+ elsif ($returned_prop eq 'ToNv') {
+
+ # The one property that has this format is stored as a delta, so needs
+ # to indicate that need to add code point to it.
+ $format = 'ar';
+ }
+ elsif ($format ne 'n' && $format ne 'a') {
+
+ # All others are simple scalars
+ $format = 's';
+ }
+ if ($has_multiples && $format !~ /l/) {
+ croak __PACKAGE__, "::prop_invmap: Wrong format '$format' for prop_invmap('$prop'); should indicate has lists";
+ }
+
+ return (\@invlist, \@invmap, $format, $missing);
+}
=head2 Unicode::UCD::UnicodeVersion
@@ -1364,6 +3328,7 @@ my $UNICODEVERSION;
sub UnicodeVersion {
unless (defined $UNICODEVERSION) {
openunicode(\$VERSIONFH, "version");
+ local $/ = "\n";
chomp($UNICODEVERSION = <$VERSIONFH>);
close($VERSIONFH);
croak __PACKAGE__, "::VERSION: strange version '$UNICODEVERSION'"
@@ -1397,13 +3362,40 @@ C<\p{...}> (e.g. C<\p{Tibetan}> matches characters of the Tibetan script),
while C<\p{Blk=...}> is used for blocks (e.g. C<\p{Blk=Tibetan}> matches
any of the 256 code points in the Tibetan block).
+=head2 Old-style versus new-style block names
+
+Unicode publishes the names of blocks in two different styles, though the two
+are equivalent under Unicode's loose matching rules.
+
+The original style uses blanks and hyphens in the block names (except for
+C<No_Block>), like so:
+
+ Miscellaneous Mathematical Symbols-B
+
+The newer style replaces these with underscores, like this:
+
+ Miscellaneous_Mathematical_Symbols_B
+
+This newer style is consistent with the values of other Unicode properties.
+To preserve backward compatibility, all the functions in Unicode::UCD that
+return block names (except one) return the old-style ones. That one function,
+L</prop_value_aliases()> can be used to convert from old-style to new-style:
+
+ my $new_style = prop_values_aliases("block", $old_style);
+
+Perl also has single-form extensions that refer to blocks, C<In_Cyrillic>,
+meaning C<Block=Cyrillic>. These have always been written in the new style.
+
+To convert from new-style to old-style, follow this recipe:
+
+ $old_style = charblock((prop_invlist("block=$new_style"))[0]);
-=head2 Implementation Note
+(which finds the range of code points in the block using C<prop_invlist>,
+gets the lower end of the range (0th element) and then looks up the old name
+for its block using C<charblock>).
-The first use of charinfo() opens a read-only filehandle to the Unicode
-Character Database (the database is included in the Perl distribution).
-The filehandle is then kept open for further queries. In other words,
-if you are wondering where one of your filehandles went, that's where.
+Note that starting in Unicode 6.1, many of the block names have shorter
+synonyms. These are always given in the new style.
=head1 BUGS
@@ -1411,7 +3403,7 @@ Does not yet support EBCDIC platforms.
=head1 AUTHOR
-Jarkko Hietaniemi
+Jarkko Hietaniemi. Now maintained by perl5 porters.
=cut
diff --git a/Master/tlpkg/tlperl/lib/Win32API/File.pm b/Master/tlpkg/tlperl/lib/Win32API/File.pm
index a6473520ae0..cdaac67d23f 100644
--- a/Master/tlpkg/tlperl/lib/Win32API/File.pm
+++ b/Master/tlpkg/tlperl/lib/Win32API/File.pm
@@ -10,7 +10,7 @@ use Fcntl qw( O_RDONLY O_RDWR O_WRONLY O_APPEND O_BINARY O_TEXT );
use vars qw( $VERSION @ISA );
use vars qw( @EXPORT @EXPORT_OK @EXPORT_FAIL %EXPORT_TAGS );
-$VERSION= '0.1101';
+$VERSION= '0.1200';
use base qw( Exporter DynaLoader Tie::Handle IO::File );
@@ -716,7 +716,7 @@ sub READLINE {
my $self = shift;
my $line = "";
- while ((index $line, $/) == $[-1) { # read until end of line marker
+ while ((index $line, $/) == -1) { # read until end of line marker
my $char = $self->GETC();
last if !defined $char || $char eq '';
@@ -2195,7 +2195,7 @@ Only bits set in C<$uMask> will be modified by C<SetHandleInformation>.
C<$uFlags> is an unsigned value having zero or more of the bits
C<HANDLE_FLAG_INHERIT> and C<HANDLE_FLAG_PROTECT_FROM_CLOSE> set.
For each bit set in C<$uMask>, the cooresponding bit in the handle's
-flags is set to the value of the cooresponding bit in C<$uFlags>.
+flags is set to the value of the corresponding bit in C<$uFlags>.
If C<$uOldFlags> were the value of the handle's flags before the
call to C<SetHandleInformation>, then the value of the handle's
@@ -2471,7 +2471,7 @@ the media is currently accessible.
Allows the device's media to be locked or unlocked. C<$opOutBuf> should
be C<[]>. C<$pInBuf> should be a C<PREVENT_MEDIA_REMOVAL> data structure,
-which is simply an interger containing a boolean value:
+which is simply an integer containing a boolean value:
$pInBuf= pack( "i", $bPreventMediaRemoval );
@@ -2559,7 +2559,7 @@ argument to C<DeviceIoControl>. Most of these are to be used on
physical drive devices like C<"//./PhysicalDrive0">. However,
C<IOCTL_DISK_GET_PARTITION_INFO> and C<IOCTL_DISK_SET_PARTITION_INFO>
should only be used on a single-partition device like C<"//./C:">. Also,
-C<IOCTL_DISK_GET_MEDIA_TYPES> is documented as having been superceded but
+C<IOCTL_DISK_GET_MEDIA_TYPES> is documented as having been superseded but
is still useful when used on a floppy device like C<"//./A:">.
Includes C<IOCTL_DISK_FORMAT_TRACKS>, C<IOCTL_DISK_FORMAT_TRACKS_EX>,
@@ -2631,7 +2631,7 @@ offset of the partition, measured in bytes.
=item C<$ucHiddenSects>
The number of "hidden" sectors for this partition. Actually this is
-the number of sectors found prior to this partiton, that is, the
+the number of sectors found prior to this partition, that is, the
starting offset [as found in C<$uStartLow> and C<$ivStartHigh>]
divided by the number of bytes per sector.
@@ -2640,7 +2640,7 @@ divided by the number of bytes per sector.
The sequence number of this partition. Partitions are numbered
starting as C<1> [with "partition 0" meaning the entire disk].
Sometimes this field may be C<0> and you'll have to infer the
-partition sequence number from how many partitions preceed it on
+partition sequence number from how many partitions precede it on
the disk.
=item C<$uPartitionType>
@@ -2834,7 +2834,7 @@ Stop loggin each disk request:
=item DISK_LOGGING_DUMP
-Copy the interal log into the supplied buffer:
+Copy the internal log into the supplied buffer:
$pLogBuffer= ' ' x $uLogBufferSize
$pInBuf= pack( "C P L", 2, $pLogBuffer, $uLogBufferSize );
@@ -3026,7 +3026,7 @@ None known at this time.
=head1 AUTHOR
-Tye McQueen, tye@metronet.com, http://www.metronet.com/~tye/.
+Tye McQueen, tye@metronet.com, http://perlmonks.org/?node=tye.
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/XSLoader.pm b/Master/tlpkg/tlperl/lib/XSLoader.pm
index ed33bcbfa6c..9b20c93da41 100644
--- a/Master/tlpkg/tlperl/lib/XSLoader.pm
+++ b/Master/tlpkg/tlperl/lib/XSLoader.pm
@@ -2,13 +2,10 @@
package XSLoader;
-$VERSION = "0.13";
+$VERSION = "0.16";
#use strict;
-# enable debug/trace messages from DynaLoader perl code
-# $dl_debug = $ENV{PERL_DL_DEBUG} || 0 unless defined $dl_debug;
-
package DynaLoader;
# No prizes for guessing why we don't say 'bootstrap DynaLoader;' here.
@@ -23,9 +20,9 @@ sub load {
my ($module, $modlibname) = caller();
if (@_) {
- $module = $_[0];
+ $module = $_[0];
} else {
- $_[0] = $module;
+ $_[0] = $module;
}
# work with static linking too
@@ -39,7 +36,7 @@ sub load {
my $modpname = join('/',@modparts);
my $c = @modparts;
- $modlibname =~ s,[\\/][^\\/]+$,, while $c--; # Q&D basename
+ $modlibname =~ s,[\\/][^\\/]+$,, while $c--; # Q&D basename
my $file = "$modlibname/auto/$modpname/$modfname.dll";
# print STDERR "XSLoader::load for $module ($file)\n" if $dl_debug;
@@ -111,7 +108,7 @@ XSLoader - Dynamically load C libraries into Perl code
=head1 VERSION
-Version 0.13
+Version 0.15
=head1 SYNOPSIS
@@ -322,6 +319,12 @@ may have much more overhead than running the same extensions after
C<make install>.
+=head1 KNOWN BUGS
+
+The new simpler way to call C<XSLoader::load()> with no arguments at all
+does not work on Perl 5.8.4 and 5.8.5.
+
+
=head1 BUGS
Please report any bugs or feature requests via the perlbug(1) utility.
@@ -344,7 +347,7 @@ Previous maintainer was Michael G Schwern <schwern@pobox.com>.
=head1 COPYRIGHT & LICENSE
-Copyright (C) 1990-2007 by Larry Wall and others.
+Copyright (C) 1990-2011 by Larry Wall and others.
This program is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/_charnames.pm b/Master/tlpkg/tlperl/lib/_charnames.pm
new file mode 100644
index 00000000000..62ee39560de
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/_charnames.pm
@@ -0,0 +1,764 @@
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This helper module is for internal use by core Perl only. This module is
+# subject to change or removal at any time without notice. Don't use it
+# directly. Use the public <charnames> module instead.
+
+package _charnames;
+use strict;
+use warnings;
+use File::Spec;
+our $VERSION = '1.31';
+use unicore::Name; # mktables-generated algorithmically-defined names
+
+use bytes (); # for $bytes::hint_bits
+use re "/aa"; # Everything in here should be ASCII
+
+$Carp::Internal{ (__PACKAGE__) } = 1;
+
+# Translate between Unicode character names and their code points. This is a
+# submodule of package <charnames>, used to allow \N{...} to be autoloaded,
+# but it was decided not to autoload the various functions in charnames; the
+# splitting allows this behavior.
+#
+# The official names with their code points are stored in a table in
+# lib/unicore/Name.pl which is read in as a large string (almost 3/4 Mb in
+# Unicode 6.0). Each code point/name combination is separated by a \n in the
+# string. (Some of the CJK and the Hangul syllable names are determined
+# instead algorithmically via subroutines stored instead in
+# lib/unicore/Name.pm). Because of the large size of this table, it isn't
+# converted into hashes for faster lookup.
+#
+# But, user defined aliases are stored in their own hashes, as are Perl
+# extensions to the official names. These are checked first before looking at
+# the official table.
+#
+# Basically, the table is grepped for the input code point (viacode()) or
+# name (the other functions), and the corresponding value on the same line is
+# returned. The grepping is done by turning the input into a regular
+# expression. Thus, the same table does double duty, used by both name and
+# code point lookup. (If we were to have hashes, we would need two, one for
+# each lookup direction.)
+#
+# For loose name matching, the logical thing would be to have a table
+# with all the ignorable characters squeezed out, and then grep it with the
+# similiarly-squeezed input name. (And this is in fact how the lookups are
+# done with the small Perl extension hashes.) But since we need to be able to
+# go from code point to official name, the original table would still need to
+# exist. Due to the large size of the table, it was decided to not read
+# another very large string into memory for a second table. Instead, the
+# regular expression of the input name is modified to have optional spaces and
+# dashes between characters. For example, in strict matching, the regular
+# expression would be:
+# qr/\tDIGIT ONE$/m
+# Under loose matching, the blank would be squeezed out, and the re would be:
+# qr/\tD[- ]?I[- ]?G[- ]?I[- ]?T[- ]?O[- ]?N[- ]?E$/m
+# which matches a blank or dash between any characters in the official table.
+#
+# This is also how script lookup is done. Basically the re looks like
+# qr/ (?:LATIN|GREEK|CYRILLIC) (?:SMALL )?LETTER $name/
+# where $name is the loose or strict regex for the remainder of the name.
+
+# The hashes are stored as utf8 strings. This makes it easier to deal with
+# sequences. I (khw) also tried making Name.pl utf8, but it slowed things
+# down by a factor of 7. I then tried making Name.pl store the ut8
+# equivalents but not calling them utf8. That led to similar speed as leaving
+# it alone, but since that is harder for a human to parse, I left it as-is.
+
+my %system_aliases = (
+
+ 'SINGLE-SHIFT 2' => pack("U", 0x8E),
+ 'SINGLE-SHIFT 3' => pack("U", 0x8F),
+ 'PRIVATE USE 1' => pack("U", 0x91),
+ 'PRIVATE USE 2' => pack("U", 0x92),
+);
+
+# These are the aliases above that differ under :loose and :full matching
+# because the :full versions have blanks or hyphens in them.
+#my %loose_system_aliases = (
+#);
+
+my %deprecated_aliases = (
+ # Use of these gives deprecated message.
+ # Unicode 6.0 co-opted this for U+1F514, so deprecate it for now.
+ 'BELL' => pack("U", 0x07),
+);
+
+#my %loose_deprecated_aliases = (
+#);
+
+# These are special cased in :loose matching, differing only in a medial
+# hyphen
+my $HANGUL_JUNGSEONG_O_E_utf8 = pack("U", 0x1180);
+my $HANGUL_JUNGSEONG_OE_utf8 = pack("U", 0x116C);
+
+
+my $txt; # The table of official character names
+
+my %full_names_cache; # Holds already-looked-up names, so don't have to
+# re-look them up again. The previous versions of charnames had scoping
+# bugs. For example if we use script A in one scope and find and cache
+# what Z resolves to, we can't use that cache in a different scope that
+# uses script B instead of A, as Z might be an entirely different letter
+# there; or there might be different aliases in effect in different
+# scopes, or :short may be in effect or not effect in different scopes,
+# or various combinations thereof. This was solved in this version
+# mostly by moving things to %^H. But some things couldn't be moved
+# there. One of them was the cache of runtime looked-up names, in part
+# because %^H is read-only at runtime. I (khw) don't know why the cache
+# was run-time only in the previous versions: perhaps oversight; perhaps
+# that compile time looking doesn't happen in a loop so didn't think it
+# was worthwhile; perhaps not wanting to make the cache too large. But
+# I decided to make it compile time as well; this could easily be
+# changed.
+# Anyway, this hash is not scoped, and is added to at runtime. It
+# doesn't have scoping problems because the data in it is restricted to
+# official names, which are always invariant, and we only set it and
+# look at it at during :full lookups, so is unaffected by any other
+# scoped options. I put this in to maintain parity with the older
+# version. If desired, a %short_names cache could also be made, as well
+# as one for each script, say in %script_names_cache, with each key
+# being a hash for a script named in a 'use charnames' statement. I
+# decided not to do that for now, just because it's added complication,
+# and because I'm just trying to maintain parity, not extend it.
+
+# Like %full_names_cache, but for use when :loose is in effect. There needs
+# to be two caches because :loose may not be in effect for a scope, and a
+# loose name could inappropriately be returned when only exact matching is
+# called for.
+my %loose_names_cache;
+
+# Designed so that test decimal first, and then hex. Leading zeros
+# imply non-decimal, as do non-[0-9]
+my $decimal_qr = qr/^[1-9]\d*$/;
+
+# Returns the hex number in $1.
+my $hex_qr = qr/^(?:[Uu]\+|0[xX])?([[:xdigit:]]+)$/;
+
+sub croak
+{
+ require Carp; goto &Carp::croak;
+} # croak
+
+sub carp
+{
+ require Carp; goto &Carp::carp;
+} # carp
+
+sub alias (@) # Set up a single alias
+{
+ my $alias = ref $_[0] ? $_[0] : { @_ };
+ foreach my $name (keys %$alias) {
+ my $value = $alias->{$name};
+ next unless defined $value; # Omit if screwed up.
+
+ # Is slightly slower to just after this statement see if it is
+ # decimal, since we already know it is after having converted from
+ # hex, but makes the code easier to maintain, and is called
+ # infrequently, only at compile-time
+ if ($value !~ $decimal_qr && $value =~ $hex_qr) {
+ $value = CORE::hex $1;
+ }
+ if ($value =~ $decimal_qr) {
+ no warnings qw(non_unicode surrogate nonchar); # Allow any non-malformed
+ $^H{charnames_ord_aliases}{$name} = pack("U", $value);
+
+ # Use a canonical form.
+ $^H{charnames_inverse_ords}{sprintf("%05X", $value)} = $name;
+ }
+ else {
+ # XXX validate syntax when deprecation cycle complete. ie. start
+ # with an alpha only, etc.
+ $^H{charnames_name_aliases}{$name} = $value;
+ }
+ }
+} # alias
+
+sub not_legal_use_bytes_msg {
+ my ($name, $utf8) = @_;
+ my $return;
+
+ if (length($utf8) == 1) {
+ $return = sprintf("Character 0x%04x with name '%s' is", ord $utf8, $name);
+ } else {
+ $return = sprintf("String with name '%s' (and ordinals %s) contains character(s)", $name, join(" ", map { sprintf "0x%04X", ord $_ } split(//, $utf8)));
+ }
+ return $return . " above 0xFF with 'use bytes' in effect";
+}
+
+sub alias_file ($) # Reads a file containing alias definitions
+{
+ my ($arg, $file) = @_;
+ if (-f $arg && File::Spec->file_name_is_absolute ($arg)) {
+ $file = $arg;
+ }
+ elsif ($arg =~ m/^\w+$/) {
+ $file = "unicore/${arg}_alias.pl";
+ }
+ else {
+ croak "Charnames alias files can only have identifier characters";
+ }
+ if (my @alias = do $file) {
+ @alias == 1 && !defined $alias[0] and
+ croak "$file cannot be used as alias file for charnames";
+ @alias % 2 and
+ croak "$file did not return a (valid) list of alias pairs";
+ alias (@alias);
+ return (1);
+ }
+ 0;
+} # alias_file
+
+# For use when don't import anything. This structure must be kept in
+# sync with the one that import() fills up.
+my %dummy_H = (
+ charnames_stringified_names => "",
+ charnames_stringified_ords => "",
+ charnames_scripts => "",
+ charnames_full => 1,
+ charnames_loose => 0,
+ charnames_short => 0,
+ );
+
+
+sub lookup_name ($$$) {
+ my ($name, $wants_ord, $runtime) = @_;
+
+ # Lookup the name or sequence $name in the tables. If $wants_ord is false,
+ # returns the string equivalent of $name; if true, returns the ordinal value
+ # instead, but in this case $name must not be a sequence; otherwise undef is
+ # returned and a warning raised. $runtime is 0 if compiletime, otherwise
+ # gives the number of stack frames to go back to get the application caller
+ # info.
+ # If $name is not found, returns undef in runtime with no warning; and in
+ # compiletime, the Unicode replacement character, with a warning.
+
+ # It looks first in the aliases, then in the large table of official Unicode
+ # names.
+
+ my $utf8; # The string result
+ my $save_input;
+
+ if ($runtime) {
+
+ my $hints_ref = (caller($runtime))[10];
+
+ # If we didn't import anything (which happens with 'use charnames ()',
+ # substitute a dummy structure.
+ $hints_ref = \%dummy_H if ! defined $hints_ref
+ || (! defined $hints_ref->{charnames_full}
+ && ! defined $hints_ref->{charnames_loose});
+
+ # At runtime, but currently not at compile time, $^H gets
+ # stringified, so un-stringify back to the original data structures.
+ # These get thrown away by perl before the next invocation
+ # Also fill in the hash with the non-stringified data.
+ # N.B. New fields must be also added to %dummy_H
+
+ %{$^H{charnames_name_aliases}} = split ',',
+ $hints_ref->{charnames_stringified_names};
+ %{$^H{charnames_ord_aliases}} = split ',',
+ $hints_ref->{charnames_stringified_ords};
+ $^H{charnames_scripts} = $hints_ref->{charnames_scripts};
+ $^H{charnames_full} = $hints_ref->{charnames_full};
+ $^H{charnames_loose} = $hints_ref->{charnames_loose};
+ $^H{charnames_short} = $hints_ref->{charnames_short};
+ }
+
+ my $loose = $^H{charnames_loose};
+ my $lookup_name; # Input name suitably modified for grepping for in the
+ # table
+
+ # User alias should be checked first or else can't override ours, and if we
+ # were to add any, could conflict with theirs.
+ if (exists $^H{charnames_ord_aliases}{$name}) {
+ $utf8 = $^H{charnames_ord_aliases}{$name};
+ }
+ elsif (exists $^H{charnames_name_aliases}{$name}) {
+ $name = $^H{charnames_name_aliases}{$name};
+ $save_input = $lookup_name = $name; # Cache the result for any error
+ # message
+ # The aliases are documented to not match loosely, so change loose match
+ # into full.
+ if ($loose) {
+ $loose = 0;
+ $^H{charnames_full} = 1;
+ }
+ }
+ else {
+
+ # Here, not a user alias. That means that loose matching may be in
+ # effect; will have to modify the input name.
+ $lookup_name = $name;
+ if ($loose) {
+ $lookup_name = uc $lookup_name;
+
+ # Squeeze out all underscores
+ $lookup_name =~ s/_//g;
+
+ # Remove all medial hyphens
+ $lookup_name =~ s/ (?<= \S ) - (?= \S )//gx;
+
+ # Squeeze out all spaces
+ $lookup_name =~ s/\s//g;
+ }
+
+ # Here, $lookup_name has been modified as necessary for looking in the
+ # hashes. Check the system alias files next. Most of these aliases are
+ # the same for both strict and loose matching. To save space, the ones
+ # which differ are in their own separate hash, which is checked if loose
+ # matching is selected and the regular match fails. To save time, the
+ # loose hashes could be expanded to include all aliases, and there would
+ # only have to be one check. But if someone specifies :loose, they are
+ # interested in convenience over speed, and the time for this second check
+ # is miniscule compared to the rest of the routine.
+ if (exists $system_aliases{$lookup_name}) {
+ $utf8 = $system_aliases{$lookup_name};
+ }
+ # There are currently no entries in this hash, so don't waste time looking
+ # for them. But the code is retained for the unlikely possibility that
+ # some will be added in the future.
+# elsif ($loose && exists $loose_system_aliases{$lookup_name}) {
+# $utf8 = $loose_system_aliases{$lookup_name};
+# }
+ if (exists $deprecated_aliases{$lookup_name}) {
+ require warnings;
+ warnings::warnif('deprecated',
+ "Unicode character name \"$name\" is deprecated, use \""
+ . viacode(ord $deprecated_aliases{$lookup_name})
+ . "\" instead");
+ $utf8 = $deprecated_aliases{$lookup_name};
+ }
+ # There are currently no entries in this hash, so don't waste time looking
+ # for them. But the code is retained for the unlikely possibility that
+ # some will be added in the future.
+# elsif ($loose && exists $loose_deprecated_aliases{$lookup_name}) {
+# require warnings;
+# warnings::warnif('deprecated',
+# "Unicode character name \"$name\" is deprecated, use \""
+# . viacode(ord $loose_deprecated_aliases{$lookup_name})
+# . "\" instead");
+# $utf8 = $loose_deprecated_aliases{$lookup_name};
+# }
+ }
+
+ my @off; # Offsets into table of pattern match begin and end
+
+ # If haven't found it yet...
+ if (! defined $utf8) {
+
+ # See if has looked this input up earlier.
+ if (! $loose && $^H{charnames_full} && exists $full_names_cache{$name}) {
+ $utf8 = $full_names_cache{$name};
+ }
+ elsif ($loose && exists $loose_names_cache{$name}) {
+ $utf8 = $loose_names_cache{$name};
+ }
+ else { # Here, must do a look-up
+
+ # If full or loose matching succeeded, points to where to cache the
+ # result
+ my $cache_ref;
+
+ ## Suck in the code/name list as a big string.
+ ## Lines look like:
+ ## "00052\tLATIN CAPITAL LETTER R\n"
+ # or
+ # "0052 0303\tLATIN CAPITAL LETTER R WITH TILDE\n"
+ $txt = do "unicore/Name.pl" unless $txt;
+
+ ## @off will hold the index into the code/name string of the start and
+ ## end of the name as we find it.
+
+ ## If :loose, look for a loose match; if :full, look for the name
+ ## exactly
+ # First, see if the name is one which is algorithmically determinable.
+ # The subroutine is included in Name.pl. The table contained in
+ # $txt doesn't contain these. Experiments show that checking
+ # for these before checking for the regular names has no
+ # noticeable impact on performance for the regular names, but
+ # the other way around slows down finding these immensely.
+ # Algorithmically determinables are not placed in the cache because
+ # that uses up memory, and finding these again is fast.
+ if (($loose || $^H{charnames_full})
+ && (defined (my $ord = charnames::name_to_code_point_special($lookup_name, $loose))))
+ {
+ $utf8 = pack("U", $ord);
+ }
+ else {
+
+ # Not algorithmically determinable; look up in the table. The name
+ # will be turned into a regex, so quote any meta characters.
+ $lookup_name = quotemeta $lookup_name;
+
+ if ($loose) {
+
+ # For loose matches, $lookup_name has already squeezed out the
+ # non-essential characters. We have to add in code to make the
+ # squeezed version match the non-squeezed equivalent in the table.
+ # The only remaining hyphens are ones that start or end a word in
+ # the original. They have been quoted in $lookup_name so they look
+ # like "\-". Change all other characters except the backslash
+ # quotes for any metacharacters, and the final character, so that
+ # e.g., COLON gets transformed into: /C[- ]?O[- ]?L[- ]?O[- ]?N/
+ $lookup_name =~ s/ (?! \\ -) # Don't do this to the \- sequence
+ ( [^-\\] ) # Nor the "-" within that sequence,
+ # nor the "\" that quotes metachars,
+ # but otherwise put the char into $1
+ (?=.) # And don't do it for the final char
+ /$1\[- \]?/gx; # And add an optional blank or
+ # '-' after each $1 char
+
+ # Those remaining hyphens were originally at the beginning or end of
+ # a word, so they can match either a blank before or after, but not
+ # both. (Keep in mind that they have been quoted, so are a '\-'
+ # sequence)
+ $lookup_name =~ s/\\ -/(?:- | -)/xg;
+ }
+
+ # Do the lookup in the full table if asked for, and if succeeds
+ # save the offsets and set where to cache the result.
+ if (($loose || $^H{charnames_full}) && $txt =~ /\t$lookup_name$/m) {
+ @off = ($-[0] + 1, $+[0]); # The 1 is for the tab
+ $cache_ref = ($loose) ? \%loose_names_cache : \%full_names_cache;
+ }
+ else {
+
+ # Here, didn't look for, or didn't find the name.
+ # If :short is allowed, see if input is like "greek:Sigma".
+ # Keep in mind that $lookup_name has had the metas quoted.
+ my $scripts_trie = "";
+ my $name_has_uppercase;
+ if (($^H{charnames_short})
+ && $lookup_name =~ /^ (?: \\ \s)* # Quoted space
+ (.+?) # $1 = the script
+ (?: \\ \s)*
+ \\ : # Quoted colon
+ (?: \\ \s)*
+ (.+?) # $2 = the name
+ (?: \\ \s)* $
+ /xs)
+ {
+ # Even in non-loose matching, the script traditionally has been
+ # case insensitve
+ $scripts_trie = "\U$1";
+ $lookup_name = $2;
+
+ # Use original name to find its input casing, but ignore the
+ # script part of that to make the determination.
+ $save_input = $name if ! defined $save_input;
+ $name =~ s/.*?://;
+ $name_has_uppercase = $name =~ /[[:upper:]]/;
+ }
+ else { # Otherwise look in allowed scripts
+ $scripts_trie = $^H{charnames_scripts};
+
+ # Use original name to find its input casing
+ $name_has_uppercase = $name =~ /[[:upper:]]/;
+ }
+
+ my $case = $name_has_uppercase ? "CAPITAL" : "SMALL";
+ if (! $scripts_trie
+ || $txt !~
+ /\t (?: $scripts_trie ) \ (?:$case\ )? LETTER \ \U$lookup_name $/xm)
+ {
+ # Here we still don't have it, give up.
+ return if $runtime;
+
+ # May have zapped input name, get it again.
+ $name = (defined $save_input) ? $save_input : $_[0];
+ carp "Unknown charname '$name'";
+ return ($wants_ord) ? 0xFFFD : pack("U", 0xFFFD);
+ }
+
+ # Here have found the input name in the table.
+ @off = ($-[0] + 1, $+[0]); # The 1 is for the tab
+ }
+
+ # Here, the input name has been found; we haven't set up the output,
+ # but we know where in the string
+ # the name starts. The string is set up so that for single characters
+ # (and not named sequences), the name is preceded immediately by a
+ # tab and 5 hex digits for its code, with a \n before those. Named
+ # sequences won't have the 7th preceding character be a \n.
+ # (Actually, for the very first entry in the table this isn't strictly
+ # true: subtracting 7 will yield -1, and the substr below will
+ # therefore yield the very last character in the table, which should
+ # also be a \n, so the statement works anyway.)
+ if (substr($txt, $off[0] - 7, 1) eq "\n") {
+ $utf8 = pack("U", CORE::hex substr($txt, $off[0] - 6, 5));
+
+ # Handle the single loose matching special case, in which two names
+ # differ only by a single medial hyphen. If the original had a
+ # hyphen (or more) in the right place, then it is that one.
+ $utf8 = $HANGUL_JUNGSEONG_O_E_utf8
+ if $loose
+ && $utf8 eq $HANGUL_JUNGSEONG_OE_utf8
+ && $name =~ m/O \s* - [-\s]* E/ix;
+ # Note that this wouldn't work if there were a 2nd
+ # OE in the name
+ }
+ else {
+
+ # Here, is a named sequence. Need to go looking for the beginning,
+ # which is just after the \n from the previous entry in the table.
+ # The +1 skips past that newline, or, if the rindex() fails, to put
+ # us to an offset of zero.
+ my $charstart = rindex($txt, "\n", $off[0] - 7) + 1;
+ $utf8 = pack("U*", map { CORE::hex }
+ split " ", substr($txt, $charstart, $off[0] - $charstart - 1));
+ }
+ }
+
+ # Cache the input so as to not have to search the large table
+ # again, but only if it came from the one search that we cache.
+ # (Haven't bothered with the pain of sorting out scoping issues for the
+ # scripts searches.)
+ $cache_ref->{$name} = $utf8 if defined $cache_ref;
+ }
+ }
+
+
+ # Here, have the utf8. If the return is to be an ord, must be any single
+ # character.
+ if ($wants_ord) {
+ return ord($utf8) if length $utf8 == 1;
+ }
+ else {
+
+ # Here, wants string output. If utf8 is acceptable, just return what
+ # we've got; otherwise attempt to convert it to non-utf8 and return that.
+ my $in_bytes = ($runtime)
+ ? (caller $runtime)[8] & $bytes::hint_bits
+ : $^H & $bytes::hint_bits;
+ return $utf8 if (! $in_bytes || utf8::downgrade($utf8, 1)) # The 1 arg
+ # means don't die on failure
+ }
+
+ # Here, there is an error: either there are too many characters, or the
+ # result string needs to be non-utf8, and at least one character requires
+ # utf8. Prefer any official name over the input one for the error message.
+ if (@off) {
+ $name = substr($txt, $off[0], $off[1] - $off[0]) if @off;
+ }
+ else {
+ $name = (defined $save_input) ? $save_input : $_[0];
+ }
+
+ if ($wants_ord) {
+ # Only way to get here in this case is if result too long. Message
+ # assumes that our only caller that requires single char result is
+ # vianame.
+ carp "charnames::vianame() doesn't handle named sequences ($name). Use charnames::string_vianame() instead";
+ return;
+ }
+
+ # Only other possible failure here is from use bytes.
+ if ($runtime) {
+ carp not_legal_use_bytes_msg($name, $utf8);
+ return;
+ } else {
+ croak not_legal_use_bytes_msg($name, $utf8);
+ }
+
+} # lookup_name
+
+sub charnames {
+
+ # For \N{...}. Looks up the character name and returns the string
+ # representation of it.
+
+ # The first 0 arg means wants a string returned; the second that we are in
+ # compile time
+ return lookup_name($_[0], 0, 0);
+}
+
+sub import
+{
+ shift; ## ignore class name
+
+ if (not @_) {
+ carp("'use charnames' needs explicit imports list");
+ }
+ $^H{charnames} = \&charnames ;
+ $^H{charnames_ord_aliases} = {};
+ $^H{charnames_name_aliases} = {};
+ $^H{charnames_inverse_ords} = {};
+ # New fields must be added to %dummy_H, and the code in lookup_name()
+ # that copies fields from the runtime structure
+
+ ##
+ ## fill %h keys with our @_ args.
+ ##
+ my ($promote, %h, @args) = (0);
+ while (my $arg = shift) {
+ if ($arg eq ":alias") {
+ @_ or
+ croak ":alias needs an argument in charnames";
+ my $alias = shift;
+ if (ref $alias) {
+ ref $alias eq "HASH" or
+ croak "Only HASH reference supported as argument to :alias";
+ alias ($alias);
+ next;
+ }
+ if ($alias =~ m{:(\w+)$}) {
+ $1 eq "full" || $1 eq "loose" || $1 eq "short" and
+ croak ":alias cannot use existing pragma :$1 (reversed order?)";
+ alias_file ($1) and $promote = 1;
+ next;
+ }
+ alias_file ($alias);
+ next;
+ }
+ if (substr($arg, 0, 1) eq ':'
+ and ! ($arg eq ":full" || $arg eq ":short" || $arg eq ":loose"))
+ {
+ warn "unsupported special '$arg' in charnames";
+ next;
+ }
+ push @args, $arg;
+ }
+
+ @args == 0 && $promote and @args = (":full");
+ @h{@args} = (1) x @args;
+
+ # Don't leave these undefined as are tested for in lookup_names
+ $^H{charnames_full} = delete $h{':full'} || 0;
+ $^H{charnames_loose} = delete $h{':loose'} || 0;
+ $^H{charnames_short} = delete $h{':short'} || 0;
+ my @scripts = map { uc quotemeta } keys %h;
+
+ ##
+ ## If utf8? warnings are enabled, and some scripts were given,
+ ## see if at least we can find one letter from each script.
+ ##
+ if (warnings::enabled('utf8') && @scripts) {
+ $txt = do "unicore/Name.pl" unless $txt;
+
+ for my $script (@scripts) {
+ if (not $txt =~ m/\t$script (?:CAPITAL |SMALL )?LETTER /) {
+ warnings::warn('utf8', "No such script: '$script'");
+ $script = quotemeta $script; # Escape it, for use in the re.
+ }
+ }
+ }
+
+ # %^H gets stringified, so serialize it ourselves so can extract the
+ # real data back later.
+ $^H{charnames_stringified_ords} = join ",", %{$^H{charnames_ord_aliases}};
+ $^H{charnames_stringified_names} = join ",", %{$^H{charnames_name_aliases}};
+ $^H{charnames_stringified_inverse_ords} = join ",", %{$^H{charnames_inverse_ords}};
+
+ # Modify the input script names for loose name matching if that is also
+ # specified, similar to the way the base character name is prepared. They
+ # don't (currently, and hopefully never will) have dashes. These go into a
+ # regex, and have already been uppercased and quotemeta'd. Squeeze out all
+ # input underscores, blanks, and dashes. Then convert so will match a blank
+ # between any characters.
+ if ($^H{charnames_loose}) {
+ for (my $i = 0; $i < @scripts; $i++) {
+ $scripts[$i] =~ s/[_ -]//g;
+ $scripts[$i] =~ s/ ( [^\\] ) (?= . ) /$1\\ ?/gx;
+ }
+ }
+
+ $^H{charnames_scripts} = join "|", @scripts; # Stringifiy them as a trie
+} # import
+
+# Cache of already looked-up values. This is set to only contain
+# official values, and user aliases can't override them, so scoping is
+# not an issue.
+my %viacode;
+
+sub viacode {
+
+ # Returns the name of the code point argument
+
+ if (@_ != 1) {
+ carp "charnames::viacode() expects one argument";
+ return;
+ }
+
+ my $arg = shift;
+
+ # This is derived from Unicode::UCD, where it is nearly the same as the
+ # function _getcode(), but here it makes sure that even a hex argument
+ # has the proper number of leading zeros, which is critical in
+ # matching against $txt below
+ # Must check if decimal first; see comments at that definition
+ my $hex;
+ if ($arg =~ $decimal_qr) {
+ $hex = sprintf "%05X", $arg;
+ } elsif ($arg =~ $hex_qr) {
+ # Below is the line that differs from the _getcode() source
+ $hex = sprintf "%05X", hex $1;
+ } else {
+ carp("unexpected arg \"$arg\" to charnames::viacode()");
+ return;
+ }
+
+ return $viacode{$hex} if exists $viacode{$hex};
+
+ my $return;
+
+ # If the code point is above the max in the table, there's no point
+ # looking through it. Checking the length first is slightly faster
+ if (length($hex) <= 5 || CORE::hex($hex) <= 0x10FFFF) {
+ $txt = do "unicore/Name.pl" unless $txt;
+
+ # See if the name is algorithmically determinable.
+ my $algorithmic = charnames::code_point_to_name_special(CORE::hex $hex);
+ if (defined $algorithmic) {
+ $viacode{$hex} = $algorithmic;
+ return $algorithmic;
+ }
+
+ # Return the official name, if exists. It's unclear to me (khw) at
+ # this juncture if it is better to return a user-defined override, so
+ # leaving it as is for now.
+ if ($txt =~ m/^$hex\t/m) {
+
+ # The name starts with the next character and goes up to the
+ # next new-line. Using capturing parentheses above instead of
+ # @+ more than doubles the execution time in Perl 5.13
+ $return = substr($txt, $+[0], index($txt, "\n", $+[0]) - $+[0]);
+
+ # If not one of these 4 code points, return what we've found.
+ if ($hex !~ / ^ 000 (?: 8[014] | 99 ) $ /x) {
+ $viacode{$hex} = $return;
+ return $return;
+ }
+
+ # For backwards compatibility, we don't return the official name of
+ # the 4 code points if there are user-defined aliases for them -- so
+ # continue looking.
+ }
+ }
+
+ # See if there is a user name for it, before giving up completely.
+ # First get the scoped aliases, give up if have none.
+ my $H_ref = (caller(1))[10];
+ return if ! defined $return
+ && (! defined $H_ref
+ || ! exists $H_ref->{charnames_stringified_inverse_ords});
+
+ my %code_point_aliases;
+ if (defined $H_ref->{charnames_stringified_inverse_ords}) {
+ %code_point_aliases = split ',',
+ $H_ref->{charnames_stringified_inverse_ords};
+ return $code_point_aliases{$hex} if exists $code_point_aliases{$hex};
+ }
+
+ # Here there is no user-defined alias, return any official one.
+ return $return if defined $return;
+
+ if (CORE::hex($hex) > 0x10FFFF) {
+ carp "Unicode characters only allocated up to U+10FFFF (you asked for U+$hex)";
+ }
+ return;
+
+} # _viacode
+
+1;
+
+# ex: set ts=8 sts=2 sw=2 et:
diff --git a/Master/tlpkg/tlperl/lib/abbrev.pl b/Master/tlpkg/tlperl/lib/abbrev.pl
deleted file mode 100644
index d46321f730c..00000000000
--- a/Master/tlpkg/tlperl/lib/abbrev.pl
+++ /dev/null
@@ -1,46 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-;# Usage:
-;# %foo = ();
-;# &abbrev(*foo,LIST);
-;# ...
-;# $long = $foo{$short};
-
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-#
-# Suggested alternative: Text::Abbrev
-#
-
-package abbrev;
-
-sub main'abbrev {
- local(*domain) = @_;
- shift(@_);
- @cmp = @_;
- foreach $name (@_) {
- @extra = split(//,$name);
- $abbrev = shift(@extra);
- $len = 1;
- foreach $cmp (@cmp) {
- next if $cmp eq $name;
- while (@extra && substr($cmp,0,$len) eq $abbrev) {
- $abbrev .= shift(@extra);
- ++$len;
- }
- }
- $domain{$abbrev} = $name;
- while ($#extra >= 0) {
- $abbrev .= shift(@extra);
- $domain{$abbrev} = $name;
- }
- }
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/arybase.pm b/Master/tlpkg/tlperl/lib/arybase.pm
new file mode 100644
index 00000000000..1008684989a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/arybase.pm
@@ -0,0 +1,98 @@
+package arybase;
+
+our $VERSION = "0.05";
+
+require XSLoader;
+XSLoader::load(); # This returns true, which makes require happy.
+
+__END__
+
+=head1 NAME
+
+arybase - Set indexing base via $[
+
+=head1 SYNOPSIS
+
+ $[ = 1;
+
+ @a = qw(Sun Mon Tue Wed Thu Fri Sat);
+ print $a[3], "\n"; # prints Tue
+
+=head1 DESCRIPTION
+
+This module implements Perl's C<$[> variable. You should not use it
+directly.
+
+Assigning to C<$[> has the I<compile-time> effect of making the assigned
+value, converted to an integer, the index of the first element in an array
+and the first character in a substring, within the enclosing lexical scope.
+
+It can be written with or without C<local>:
+
+ $[ = 1;
+ local $[ = 1;
+
+It only works if the assignment can be detected at compile time and the
+value assigned is constant.
+
+It affects the following operations:
+
+ $array[$element]
+ @array[@slice]
+ $#array
+ (list())[$slice]
+ splice @array, $index, ...
+ each @array
+ keys @array
+
+ index $string, $substring # return value is affected
+ pos $string
+ substr $string, $offset, ...
+
+As with the default base of 0, negative bases count from the end of the
+array or string, starting with -1. If C<$[> is a positive integer, indices
+from C<$[-1> to 0 also count from the end. If C<$[> is negative (why would
+you do that, though?), indices from C<$[> to 0 count from the beginning of
+the string, but indices below C<$[> count from the end of the string as
+though the base were 0.
+
+Prior to Perl 5.16, indices from 0 to C<$[-1> inclusive, for positive
+values of C<$[>, behaved differently for different operations; negative
+indices equal to or greater than a negative C<$[> likewise behaved
+inconsistently.
+
+=head1 HISTORY
+
+Before Perl 5, C<$[> was a global variable that affected all array indices
+and string offsets.
+
+Starting with Perl 5, it became a file-scoped compile-time directive, which
+could be made lexically-scoped with C<local>. "File-scoped" means that the
+C<$[> assignment could leak out of the block in which occurred:
+
+ {
+ $[ = 1;
+ # ... array base is 1 here ...
+ }
+ # ... still 1, but not in other files ...
+
+In Perl 5.10, it became strictly lexical. The file-scoped behaviour was
+removed (perhaps inadvertently, but what's done is done).
+
+In Perl 5.16, the implementation was moved into this module, and out of the
+Perl core. The erratic behaviour that occurred with indices between -1 and
+C<$[> was made consistent between operations, and, for negative bases,
+indices from C<$[> to -1 inclusive were made consistent between operations.
+
+=head1 BUGS
+
+Error messages that mention array indices use the 0-based index.
+
+C<keys $arrayref> and C<each $arrayref> do not respect the current value of
+C<$[>.
+
+=head1 SEE ALSO
+
+L<perlvar/"$[">, L<Array::Base> and L<String::Base>.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/assert.pl b/Master/tlpkg/tlperl/lib/assert.pl
deleted file mode 100644
index d47e0067a2d..00000000000
--- a/Master/tlpkg/tlperl/lib/assert.pl
+++ /dev/null
@@ -1,63 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# assert.pl
-# tchrist@convex.com (Tom Christiansen)
-#
-# Usage:
-#
-# &assert('@x > @y');
-# &assert('$var > 10', $var, $othervar, @various_info);
-#
-# That is, if the first expression evals false, we blow up. The
-# rest of the args, if any, are nice to know because they will
-# be printed out by &panic, which is just the stack-backtrace
-# routine shamelessly borrowed from the perl debugger.
-
-sub assert {
- &panic("ASSERTION BOTCHED: $_[0]",$@) unless eval $_[0];
-}
-
-sub panic {
- package DB;
-
- select(STDERR);
-
- print "\npanic: @_\n";
-
- exit 1 if $] <= 4.003; # caller broken
-
- # stack traceback gratefully borrowed from perl debugger
-
- local $_;
- my $i;
- my ($p,$f,$l,$s,$h,$a,@a,@frames);
- for ($i = 0; ($p,$f,$l,$s,$h,$w) = caller($i); $i++) {
- @a = @args;
- for (@a) {
- if (/^StB\000/ && length($_) == length($_main{'_main'})) {
- $_ = sprintf("%s",$_);
- }
- else {
- s/'/\\'/g;
- s/([^\0]*)/'$1'/ unless /^-?[\d.]+$/;
- s/([\200-\377])/sprintf("M-%c",ord($1)&0177)/eg;
- s/([\0-\37\177])/sprintf("^%c",ord($1)^64)/eg;
- }
- }
- $w = $w ? '@ = ' : '$ = ';
- $a = $h ? '(' . join(', ', @a) . ')' : '';
- push(@frames, "$w&$s$a from file $f line $l\n");
- }
- for ($i=0; $i <= $#frames; $i++) {
- print $frames[$i];
- }
- exit 1;
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/attributes.pm b/Master/tlpkg/tlperl/lib/attributes.pm
index 178a126329a..6bf10ab7471 100644
--- a/Master/tlpkg/tlperl/lib/attributes.pm
+++ b/Master/tlpkg/tlperl/lib/attributes.pm
@@ -1,6 +1,6 @@
package attributes;
-our $VERSION = 0.14;
+our $VERSION = 0.19;
@EXPORT_OK = qw(get reftype);
@EXPORT = ();
@@ -34,6 +34,15 @@ sub _modify_attrs_and_deprecate {
require warnings;
warnings::warnif('deprecated', "Attribute \"$1\" is deprecated");
0;
+ } : $svtype eq 'CODE' && /^-?lvalue\z/ ? do {
+ require warnings;
+ warnings::warnif(
+ 'misc',
+ "lvalue attribute "
+ . (/^-/ ? "removed from" : "applied to")
+ . " already-defined subroutine"
+ );
+ 0;
} : 1
} _modify_attrs(@_);
}
@@ -190,8 +199,9 @@ So you want to know what C<import> actually does?
First of all C<import> gets the type of the third parameter ('CODE' in this case).
C<attributes.pm> checks if there is a subroutine called C<< MODIFY_<reftype>_ATTRIBUTES >>
-in the caller's namespace (here: 'main'). In this case a subroutine C<MODIFY_CODE_ATTRIBUTES> is
-required. Then this method is called to check if you have used a "bad attribute".
+in the caller's namespace (here: 'main'). In this case a
+subroutine C<MODIFY_CODE_ATTRIBUTES> is required. Then this
+method is called to check if you have used a "bad attribute".
The subroutine call in this example would look like
MODIFY_CODE_ATTRIBUTES( 'main', \&foo, 'method' );
@@ -210,17 +220,28 @@ The following are the built-in attributes for subroutines:
=item lvalue
Indicates that the referenced subroutine is a valid lvalue and can
-be assigned to. The subroutine must return a modifiable value such
+be assigned to. The subroutine must return a modifiable value such
as a scalar variable, as described in L<perlsub>.
+This module allows one to set this attribute on a subroutine that is
+already defined. For Perl subroutines (XSUBs are fine), it may or may not
+do what you want, depending on the code inside the subroutine, with details
+subject to change in future Perl versions. You may run into problems with
+lvalue context not being propagated properly into the subroutine, or maybe
+even assertion failures. For this reason, a warning is emitted if warnings
+are enabled. In other words, you should only do this if you really know
+what you are doing. You have been warned.
+
=item method
-Indicates that the referenced subroutine is a method. A subroutine so marked
+Indicates that the referenced subroutine
+is a method. A subroutine so marked
will not trigger the "Ambiguous call resolved as CORE::%s" warning.
=item locked
-The "locked" attribute has no effect in 5.10.0 and later. It was used as part
+The "locked" attribute has no effect in
+5.10.0 and later. It was used as part
of the now-removed "Perl 5.005 threads".
=back
@@ -454,7 +475,8 @@ not your own.
print "foo\n";
}
-This example runs. At compile time C<MODIFY_CODE_ATTRIBUTES> is called. In that
+This example runs. At compile time
+C<MODIFY_CODE_ATTRIBUTES> is called. In that
subroutine, we check if any attribute is disallowed and we return a list of
these "bad attributes".
@@ -476,7 +498,8 @@ As we return an empty list, everything is fine.
}
This example is aborted at compile time as we use the attribute "Test" which
-isn't allowed. C<MODIFY_CODE_ATTRIBUTES> returns a list that contains a single
+isn't allowed. C<MODIFY_CODE_ATTRIBUTES>
+returns a list that contains a single
element ('Test').
=back
diff --git a/Master/tlpkg/tlperl/lib/auto/B/B.bs b/Master/tlpkg/tlperl/lib/auto/B/B.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/B/B.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/B/B.dll b/Master/tlpkg/tlperl/lib/auto/B/B.dll
index eefd62c8c44..407517a51e9 100755
--- a/Master/tlpkg/tlperl/lib/auto/B/B.dll
+++ b/Master/tlpkg/tlperl/lib/auto/B/B.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/Bzip2.bs b/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/Bzip2.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/Bzip2.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/Bzip2.dll b/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/Bzip2.dll
index a550f69032a..c2922a79a7b 100755
--- a/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/Bzip2.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Bzip2/Bzip2.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/Zlib.bs b/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/Zlib.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/Zlib.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/Zlib.dll b/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/Zlib.dll
index 1022af4743d..9d31450d8f5 100755
--- a/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/Zlib.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Compress/Raw/Zlib/Zlib.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Cwd/Cwd.bs b/Master/tlpkg/tlperl/lib/auto/Cwd/Cwd.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Cwd/Cwd.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Cwd/Cwd.dll b/Master/tlpkg/tlperl/lib/auto/Cwd/Cwd.dll
index b3bb80a061a..0ac4c786465 100755
--- a/Master/tlpkg/tlperl/lib/auto/Cwd/Cwd.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Cwd/Cwd.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.bs b/Master/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.dll b/Master/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.dll
index b72416b1340..1e0f59204fe 100755
--- a/Master/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Data/Dumper/Dumper.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Devel/DProf/DProf.dll b/Master/tlpkg/tlperl/lib/auto/Devel/DProf/DProf.dll
deleted file mode 100755
index e5175cc3991..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/Devel/DProf/DProf.dll
+++ /dev/null
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.bs b/Master/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.dll b/Master/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.dll
index 441f2eaff5e..b6d0ba823ab 100755
--- a/Master/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Devel/PPPort/PPPort.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.bs b/Master/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.dll b/Master/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.dll
index cdd728cd132..f38ce40e5bf 100755
--- a/Master/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Devel/Peek/Peek.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.bs b/Master/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.dll b/Master/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.dll
index aaec21ebb10..a4ad32406db 100755
--- a/Master/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Digest/MD5/MD5.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.bs b/Master/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.dll b/Master/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.dll
index 6963745c60f..be0ee976f18 100755
--- a/Master/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Digest/SHA/SHA.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/.packlist b/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/.packlist
index 26295f9fdd5..9f5e0f7bdeb 100644
--- a/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/.packlist
@@ -1,3 +1,3 @@
-X:\tlperl\site\lib\Digest\SHA1.pm
-X:\tlperl\site\lib\auto\Digest\SHA1\SHA1.bs
-X:\tlperl\site\lib\auto\Digest\SHA1\SHA1.dll
+C:\perl\site\lib\Digest\SHA1.pm
+C:\perl\site\lib\auto\Digest\SHA1\SHA1.bs
+C:\perl\site\lib\auto\Digest\SHA1\SHA1.dll
diff --git a/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/SHA1.dll b/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/SHA1.dll
index fd9f520d5ff..fbe16198833 100755
--- a/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/SHA1.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Digest/SHA1/SHA1.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.bs b/Master/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.dll b/Master/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.dll
index 8a3f073c7ed..fceb9e75213 100755
--- a/Master/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/Byte/Byte.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/CN/CN.bs b/Master/tlpkg/tlperl/lib/auto/Encode/CN/CN.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/CN/CN.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/CN/CN.dll b/Master/tlpkg/tlperl/lib/auto/Encode/CN/CN.dll
index b451cc2fc46..9929e3e0e3c 100755
--- a/Master/tlpkg/tlperl/lib/auto/Encode/CN/CN.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/CN/CN.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.bs b/Master/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.dll b/Master/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.dll
index 35a74e888d6..97c49f9f193 100755
--- a/Master/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/EBCDIC/EBCDIC.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/Encode.bs b/Master/tlpkg/tlperl/lib/auto/Encode/Encode.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/Encode.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/Encode.dll b/Master/tlpkg/tlperl/lib/auto/Encode/Encode.dll
index 3da973b1833..41539a4116d 100755
--- a/Master/tlpkg/tlperl/lib/auto/Encode/Encode.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/Encode.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/JP/JP.bs b/Master/tlpkg/tlperl/lib/auto/Encode/JP/JP.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/JP/JP.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/JP/JP.dll b/Master/tlpkg/tlperl/lib/auto/Encode/JP/JP.dll
index 3a5b03682c4..dc5e05b6137 100755
--- a/Master/tlpkg/tlperl/lib/auto/Encode/JP/JP.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/JP/JP.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/KR/KR.bs b/Master/tlpkg/tlperl/lib/auto/Encode/KR/KR.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/KR/KR.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/KR/KR.dll b/Master/tlpkg/tlperl/lib/auto/Encode/KR/KR.dll
index 1dab712ae12..43b1ea6a997 100755
--- a/Master/tlpkg/tlperl/lib/auto/Encode/KR/KR.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/KR/KR.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/Locale/.packlist b/Master/tlpkg/tlperl/lib/auto/Encode/Locale/.packlist
index af4eef16468..b476135200a 100644
--- a/Master/tlpkg/tlperl/lib/auto/Encode/Locale/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/Locale/.packlist
@@ -1 +1 @@
-X:\tlperl\site\lib\Encode\Locale.pm
+C:\perl\site\lib\Encode\Locale.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.bs b/Master/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.dll b/Master/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.dll
index a83f7125aed..96dea7e6d59 100755
--- a/Master/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/Symbol/Symbol.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/TW/TW.bs b/Master/tlpkg/tlperl/lib/auto/Encode/TW/TW.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/TW/TW.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/TW/TW.dll b/Master/tlpkg/tlperl/lib/auto/Encode/TW/TW.dll
index baac559580b..c3bd8f1e1c7 100755
--- a/Master/tlpkg/tlperl/lib/auto/Encode/TW/TW.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/TW/TW.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.bs b/Master/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.dll b/Master/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.dll
index 7977cfb1b2c..669f0ea0241 100755
--- a/Master/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Encode/Unicode/Unicode.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.bs b/Master/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.dll b/Master/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.dll
index 7f363d0ceaa..05dd6b00a45 100755
--- a/Master/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Fcntl/Fcntl.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/File/Glob/Glob.bs b/Master/tlpkg/tlperl/lib/auto/File/Glob/Glob.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/File/Glob/Glob.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/File/Glob/Glob.dll b/Master/tlpkg/tlperl/lib/auto/File/Glob/Glob.dll
index d85dfb76c53..9a6a7ac31e6 100755
--- a/Master/tlpkg/tlperl/lib/auto/File/Glob/Glob.dll
+++ b/Master/tlpkg/tlperl/lib/auto/File/Glob/Glob.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/File/Listing/.packlist b/Master/tlpkg/tlperl/lib/auto/File/Listing/.packlist
index dd489c712fe..f2376b1a2d0 100644
--- a/Master/tlpkg/tlperl/lib/auto/File/Listing/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/File/Listing/.packlist
@@ -1 +1 @@
-X:\tlperl\site\lib\File\Listing.pm
+C:\perl\site\lib\File\Listing.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Filter/Util/Call/Call.bs b/Master/tlpkg/tlperl/lib/auto/Filter/Util/Call/Call.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Filter/Util/Call/Call.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Filter/Util/Call/Call.dll b/Master/tlpkg/tlperl/lib/auto/Filter/Util/Call/Call.dll
index 3c5cec39b52..2a91666d5e2 100755
--- a/Master/tlpkg/tlperl/lib/auto/Filter/Util/Call/Call.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Filter/Util/Call/Call.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/HTML/Parser/.packlist b/Master/tlpkg/tlperl/lib/auto/HTML/Parser/.packlist
index d7688df8e44..b5dbbe50fb9 100644
--- a/Master/tlpkg/tlperl/lib/auto/HTML/Parser/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/HTML/Parser/.packlist
@@ -1,9 +1,9 @@
-X:\tlperl\site\lib\HTML\Entities.pm
-X:\tlperl\site\lib\HTML\Filter.pm
-X:\tlperl\site\lib\HTML\HeadParser.pm
-X:\tlperl\site\lib\HTML\LinkExtor.pm
-X:\tlperl\site\lib\HTML\Parser.pm
-X:\tlperl\site\lib\HTML\PullParser.pm
-X:\tlperl\site\lib\HTML\TokeParser.pm
-X:\tlperl\site\lib\auto\HTML\Parser\Parser.bs
-X:\tlperl\site\lib\auto\HTML\Parser\Parser.dll
+C:\perl\site\lib\HTML\Entities.pm
+C:\perl\site\lib\HTML\Filter.pm
+C:\perl\site\lib\HTML\HeadParser.pm
+C:\perl\site\lib\HTML\LinkExtor.pm
+C:\perl\site\lib\HTML\Parser.pm
+C:\perl\site\lib\HTML\PullParser.pm
+C:\perl\site\lib\HTML\TokeParser.pm
+C:\perl\site\lib\auto\HTML\Parser\Parser.bs
+C:\perl\site\lib\auto\HTML\Parser\Parser.dll
diff --git a/Master/tlpkg/tlperl/lib/auto/HTML/Parser/Parser.dll b/Master/tlpkg/tlperl/lib/auto/HTML/Parser/Parser.dll
index cf72c3c999a..7b94610851b 100755
--- a/Master/tlpkg/tlperl/lib/auto/HTML/Parser/Parser.dll
+++ b/Master/tlpkg/tlperl/lib/auto/HTML/Parser/Parser.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/HTML/Tagset/.packlist b/Master/tlpkg/tlperl/lib/auto/HTML/Tagset/.packlist
index 1c23e228b35..ccce4b253fc 100644
--- a/Master/tlpkg/tlperl/lib/auto/HTML/Tagset/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/HTML/Tagset/.packlist
@@ -1 +1 @@
-X:\tlperl\site\lib\HTML\Tagset.pm
+C:\perl\site\lib\HTML\Tagset.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/HTTP/Cookies/.packlist b/Master/tlpkg/tlperl/lib/auto/HTTP/Cookies/.packlist
index 0730d582984..e7d8eb21c31 100644
--- a/Master/tlpkg/tlperl/lib/auto/HTTP/Cookies/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/HTTP/Cookies/.packlist
@@ -1,3 +1,3 @@
-X:\tlperl\site\lib\HTTP\Cookies.pm
-X:\tlperl\site\lib\HTTP\Cookies\Microsoft.pm
-X:\tlperl\site\lib\HTTP\Cookies\Netscape.pm
+C:\perl\site\lib\HTTP\Cookies.pm
+C:\perl\site\lib\HTTP\Cookies\Microsoft.pm
+C:\perl\site\lib\HTTP\Cookies\Netscape.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/HTTP/Daemon/.packlist b/Master/tlpkg/tlperl/lib/auto/HTTP/Daemon/.packlist
index b5da24b91e0..f74ddf1552f 100644
--- a/Master/tlpkg/tlperl/lib/auto/HTTP/Daemon/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/HTTP/Daemon/.packlist
@@ -1 +1 @@
-X:\tlperl\site\lib\HTTP\Daemon.pm
+C:\perl\site\lib\HTTP\Daemon.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/HTTP/Date/.packlist b/Master/tlpkg/tlperl/lib/auto/HTTP/Date/.packlist
index d7627ece46b..01b9afac5d6 100644
--- a/Master/tlpkg/tlperl/lib/auto/HTTP/Date/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/HTTP/Date/.packlist
@@ -1 +1 @@
-X:\tlperl\site\lib\HTTP\Date.pm
+C:\perl\site\lib\HTTP\Date.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/HTTP/Message/.packlist b/Master/tlpkg/tlperl/lib/auto/HTTP/Message/.packlist
index faf8cb4a0af..a927bcfdabc 100644
--- a/Master/tlpkg/tlperl/lib/auto/HTTP/Message/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/HTTP/Message/.packlist
@@ -1,10 +1,10 @@
-X:\tlperl\site\lib\HTTP\Config.pm
-X:\tlperl\site\lib\HTTP\Headers.pm
-X:\tlperl\site\lib\HTTP\Headers\Auth.pm
-X:\tlperl\site\lib\HTTP\Headers\ETag.pm
-X:\tlperl\site\lib\HTTP\Headers\Util.pm
-X:\tlperl\site\lib\HTTP\Message.pm
-X:\tlperl\site\lib\HTTP\Request.pm
-X:\tlperl\site\lib\HTTP\Request\Common.pm
-X:\tlperl\site\lib\HTTP\Response.pm
-X:\tlperl\site\lib\HTTP\Status.pm
+C:\perl\site\lib\HTTP\Config.pm
+C:\perl\site\lib\HTTP\Headers.pm
+C:\perl\site\lib\HTTP\Headers\Auth.pm
+C:\perl\site\lib\HTTP\Headers\ETag.pm
+C:\perl\site\lib\HTTP\Headers\Util.pm
+C:\perl\site\lib\HTTP\Message.pm
+C:\perl\site\lib\HTTP\Request.pm
+C:\perl\site\lib\HTTP\Request\Common.pm
+C:\perl\site\lib\HTTP\Response.pm
+C:\perl\site\lib\HTTP\Status.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/HTTP/Negotiate/.packlist b/Master/tlpkg/tlperl/lib/auto/HTTP/Negotiate/.packlist
index ee1efd992a8..bd55c563cab 100644
--- a/Master/tlpkg/tlperl/lib/auto/HTTP/Negotiate/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/HTTP/Negotiate/.packlist
@@ -1 +1 @@
-X:\tlperl\site\lib\HTTP\Negotiate.pm
+C:\perl\site\lib\HTTP\Negotiate.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Hash/Util/FieldHash/FieldHash.bs b/Master/tlpkg/tlperl/lib/auto/Hash/Util/FieldHash/FieldHash.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Hash/Util/FieldHash/FieldHash.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Hash/Util/FieldHash/FieldHash.dll b/Master/tlpkg/tlperl/lib/auto/Hash/Util/FieldHash/FieldHash.dll
index 1b935a8d597..49f94e4adb2 100755
--- a/Master/tlpkg/tlperl/lib/auto/Hash/Util/FieldHash/FieldHash.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Hash/Util/FieldHash/FieldHash.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Hash/Util/Util.bs b/Master/tlpkg/tlperl/lib/auto/Hash/Util/Util.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Hash/Util/Util.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Hash/Util/Util.dll b/Master/tlpkg/tlperl/lib/auto/Hash/Util/Util.dll
index 7c6728b8cf4..984c9a05eb3 100755
--- a/Master/tlpkg/tlperl/lib/auto/Hash/Util/Util.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Hash/Util/Util.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/IO/IO.bs b/Master/tlpkg/tlperl/lib/auto/IO/IO.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/IO/IO.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/IO/IO.dll b/Master/tlpkg/tlperl/lib/auto/IO/IO.dll
index 487f3eef19c..5de171bd1b1 100755
--- a/Master/tlpkg/tlperl/lib/auto/IO/IO.dll
+++ b/Master/tlpkg/tlperl/lib/auto/IO/IO.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/IO/String/.packlist b/Master/tlpkg/tlperl/lib/auto/IO/String/.packlist
index 179d667fbb7..70e9bd3158f 100644
--- a/Master/tlpkg/tlperl/lib/auto/IO/String/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/IO/String/.packlist
@@ -1 +1 @@
-X:\tlperl\site\lib\IO\String.pm
+C:\perl\site\lib\IO\String.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/LWP/.packlist b/Master/tlpkg/tlperl/lib/auto/LWP/.packlist
index a5d879ae05c..54c10cc60fb 100644
--- a/Master/tlpkg/tlperl/lib/auto/LWP/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/LWP/.packlist
@@ -1,33 +1,33 @@
-X:\tlperl\bin\lwp-download
-X:\tlperl\bin\lwp-download.bat
-X:\tlperl\bin\lwp-dump
-X:\tlperl\bin\lwp-dump.bat
-X:\tlperl\bin\lwp-mirror
-X:\tlperl\bin\lwp-mirror.bat
-X:\tlperl\bin\lwp-request
-X:\tlperl\bin\lwp-request.bat
-X:\tlperl\site\lib\LWP.pm
-X:\tlperl\site\lib\LWP\Authen\Basic.pm
-X:\tlperl\site\lib\LWP\Authen\Digest.pm
-X:\tlperl\site\lib\LWP\Authen\Ntlm.pm
-X:\tlperl\site\lib\LWP\ConnCache.pm
-X:\tlperl\site\lib\LWP\Debug.pm
-X:\tlperl\site\lib\LWP\DebugFile.pm
-X:\tlperl\site\lib\LWP\MemberMixin.pm
-X:\tlperl\site\lib\LWP\Protocol.pm
-X:\tlperl\site\lib\LWP\Protocol\GHTTP.pm
-X:\tlperl\site\lib\LWP\Protocol\cpan.pm
-X:\tlperl\site\lib\LWP\Protocol\data.pm
-X:\tlperl\site\lib\LWP\Protocol\file.pm
-X:\tlperl\site\lib\LWP\Protocol\ftp.pm
-X:\tlperl\site\lib\LWP\Protocol\gopher.pm
-X:\tlperl\site\lib\LWP\Protocol\http.pm
-X:\tlperl\site\lib\LWP\Protocol\loopback.pm
-X:\tlperl\site\lib\LWP\Protocol\mailto.pm
-X:\tlperl\site\lib\LWP\Protocol\nntp.pm
-X:\tlperl\site\lib\LWP\Protocol\nogo.pm
-X:\tlperl\site\lib\LWP\RobotUA.pm
-X:\tlperl\site\lib\LWP\Simple.pm
-X:\tlperl\site\lib\LWP\UserAgent.pm
-X:\tlperl\site\lib\lwpcook.pod
-X:\tlperl\site\lib\lwptut.pod
+C:\perl\bin\lwp-download
+C:\perl\bin\lwp-download.bat
+C:\perl\bin\lwp-dump
+C:\perl\bin\lwp-dump.bat
+C:\perl\bin\lwp-mirror
+C:\perl\bin\lwp-mirror.bat
+C:\perl\bin\lwp-request
+C:\perl\bin\lwp-request.bat
+C:\perl\site\lib\LWP.pm
+C:\perl\site\lib\LWP\Authen\Basic.pm
+C:\perl\site\lib\LWP\Authen\Digest.pm
+C:\perl\site\lib\LWP\Authen\Ntlm.pm
+C:\perl\site\lib\LWP\ConnCache.pm
+C:\perl\site\lib\LWP\Debug.pm
+C:\perl\site\lib\LWP\DebugFile.pm
+C:\perl\site\lib\LWP\MemberMixin.pm
+C:\perl\site\lib\LWP\Protocol.pm
+C:\perl\site\lib\LWP\Protocol\GHTTP.pm
+C:\perl\site\lib\LWP\Protocol\cpan.pm
+C:\perl\site\lib\LWP\Protocol\data.pm
+C:\perl\site\lib\LWP\Protocol\file.pm
+C:\perl\site\lib\LWP\Protocol\ftp.pm
+C:\perl\site\lib\LWP\Protocol\gopher.pm
+C:\perl\site\lib\LWP\Protocol\http.pm
+C:\perl\site\lib\LWP\Protocol\loopback.pm
+C:\perl\site\lib\LWP\Protocol\mailto.pm
+C:\perl\site\lib\LWP\Protocol\nntp.pm
+C:\perl\site\lib\LWP\Protocol\nogo.pm
+C:\perl\site\lib\LWP\RobotUA.pm
+C:\perl\site\lib\LWP\Simple.pm
+C:\perl\site\lib\LWP\UserAgent.pm
+C:\perl\site\lib\lwpcook.pod
+C:\perl\site\lib\lwptut.pod
diff --git a/Master/tlpkg/tlperl/lib/auto/LWP/MediaTypes/.packlist b/Master/tlpkg/tlperl/lib/auto/LWP/MediaTypes/.packlist
index 35b05364057..a2ffc7c58d0 100644
--- a/Master/tlpkg/tlperl/lib/auto/LWP/MediaTypes/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/LWP/MediaTypes/.packlist
@@ -1,2 +1,2 @@
-X:\tlperl\site\lib\LWP\MediaTypes.pm
-X:\tlperl\site\lib\LWP\media.types
+C:\perl\site\lib\LWP\MediaTypes.pm
+C:\perl\site\lib\LWP\media.types
diff --git a/Master/tlpkg/tlperl/lib/auto/List/Util/Util.bs b/Master/tlpkg/tlperl/lib/auto/List/Util/Util.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/List/Util/Util.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/List/Util/Util.dll b/Master/tlpkg/tlperl/lib/auto/List/Util/Util.dll
index 3759a0697aa..1f31ff06a3d 100755
--- a/Master/tlpkg/tlperl/lib/auto/List/Util/Util.dll
+++ b/Master/tlpkg/tlperl/lib/auto/List/Util/Util.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.bs b/Master/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.dll b/Master/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.dll
index 5eee3dbd80c..8b31a46b9cd 100755
--- a/Master/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.dll
+++ b/Master/tlpkg/tlperl/lib/auto/MIME/Base64/Base64.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Math/BigInt/FastCalc/FastCalc.bs b/Master/tlpkg/tlperl/lib/auto/Math/BigInt/FastCalc/FastCalc.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Math/BigInt/FastCalc/FastCalc.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Math/BigInt/FastCalc/FastCalc.dll b/Master/tlpkg/tlperl/lib/auto/Math/BigInt/FastCalc/FastCalc.dll
index 6fe8e3cf087..5e1f713c5b2 100755
--- a/Master/tlpkg/tlperl/lib/auto/Math/BigInt/FastCalc/FastCalc.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Math/BigInt/FastCalc/FastCalc.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Net/HTTP/.packlist b/Master/tlpkg/tlperl/lib/auto/Net/HTTP/.packlist
index 8d5e929c2e2..e363cc7299b 100644
--- a/Master/tlpkg/tlperl/lib/auto/Net/HTTP/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Net/HTTP/.packlist
@@ -1,4 +1,4 @@
-X:\tlperl\site\lib\Net\HTTP.pm
-X:\tlperl\site\lib\Net\HTTPS.pm
-X:\tlperl\site\lib\Net\HTTP\Methods.pm
-X:\tlperl\site\lib\Net\HTTP\NB.pm
+C:\perl\site\lib\Net\HTTP.pm
+C:\perl\site\lib\Net\HTTPS.pm
+C:\perl\site\lib\Net\HTTP\Methods.pm
+C:\perl\site\lib\Net\HTTP\NB.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Opcode/Opcode.bs b/Master/tlpkg/tlperl/lib/auto/Opcode/Opcode.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Opcode/Opcode.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Opcode/Opcode.dll b/Master/tlpkg/tlperl/lib/auto/Opcode/Opcode.dll
index 41ab268daa8..b6ade4c7e09 100755
--- a/Master/tlpkg/tlperl/lib/auto/Opcode/Opcode.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Opcode/Opcode.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/POSIX.bs b/Master/tlpkg/tlperl/lib/auto/POSIX/POSIX.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/POSIX.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/POSIX.dll b/Master/tlpkg/tlperl/lib/auto/POSIX/POSIX.dll
index 40628fdbf97..df073f44fd1 100755
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/POSIX.dll
+++ b/Master/tlpkg/tlperl/lib/auto/POSIX/POSIX.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/flags.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/flags.al
deleted file mode 100644
index 32cf8dac85e..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/flags.al
+++ /dev/null
@@ -1,9 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigAction;
-
-#line 981 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigAction\flags.al)"
-sub flags { $_[0]->{FLAGS} = $_[1] if @_ > 1; $_[0]->{FLAGS} };
-# end of POSIX::SigAction::flags
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/handler.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/handler.al
deleted file mode 100644
index 817f1f0f639..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/handler.al
+++ /dev/null
@@ -1,9 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigAction;
-
-#line 979 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigAction\handler.al)"
-sub handler { $_[0]->{HANDLER} = $_[1] if @_ > 1; $_[0]->{HANDLER} };
-# end of POSIX::SigAction::handler
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/mask.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/mask.al
deleted file mode 100644
index 772fc89acc1..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/mask.al
+++ /dev/null
@@ -1,9 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigAction;
-
-#line 980 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigAction\mask.al)"
-sub mask { $_[0]->{MASK} = $_[1] if @_ > 1; $_[0]->{MASK} };
-# end of POSIX::SigAction::mask
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/new.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/new.al
deleted file mode 100644
index 7f7b34ae252..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/new.al
+++ /dev/null
@@ -1,11 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigAction;
-
-#line 976 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigAction\new.al)"
-package POSIX::SigAction;
-
-sub new { bless {HANDLER => $_[1], MASK => $_[2], FLAGS => $_[3] || 0, SAFE => 0}, $_[0] }
-# end of POSIX::SigAction::new
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/safe.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/safe.al
deleted file mode 100644
index 0922eb774d3..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigAction/safe.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigAction;
-
-#line 982 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigAction\safe.al)"
-sub safe { $_[0]->{SAFE} = $_[1] if @_ > 1; $_[0]->{SAFE} };
-
-package POSIX::SigRt;
-
-
-# end of POSIX::SigRt::safe
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/CLEAR.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/CLEAR.al
deleted file mode 100644
index b04444a5965..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/CLEAR.al
+++ /dev/null
@@ -1,9 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 1036 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\CLEAR.al)"
-sub CLEAR { &_exist; delete @SIG{ &POSIX::SIGRTMIN .. &POSIX::SIGRTMAX } }
-# end of POSIX::SigRt::CLEAR
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/DELETE.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/DELETE.al
deleted file mode 100644
index 87032a661e9..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/DELETE.al
+++ /dev/null
@@ -1,9 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 1035 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\DELETE.al)"
-sub DELETE { delete $SIG{ &_check } }
-# end of POSIX::SigRt::DELETE
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/EXISTS.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/EXISTS.al
deleted file mode 100644
index cd893cc1ec2..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/EXISTS.al
+++ /dev/null
@@ -1,9 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 1029 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\EXISTS.al)"
-sub EXISTS { &_exist }
-# end of POSIX::SigRt::EXISTS
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/FETCH.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/FETCH.al
deleted file mode 100644
index 250a70eb2e1..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/FETCH.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 1030 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\FETCH.al)"
-sub FETCH { my $rtsig = &_check;
- my $oa = POSIX::SigAction->new();
- POSIX::sigaction($rtsig, undef, $oa);
- return $oa->{HANDLER} }
-# end of POSIX::SigRt::FETCH
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/SCALAR.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/SCALAR.al
deleted file mode 100644
index 9fec86dafa8..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/SCALAR.al
+++ /dev/null
@@ -1,9 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 1037 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\SCALAR.al)"
-sub SCALAR { &_croak; $_sigrtn + 1 }
-1;
-# end of POSIX::SigRt::SCALAR
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/STORE.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/STORE.al
deleted file mode 100644
index 50dd6ba820b..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/STORE.al
+++ /dev/null
@@ -1,9 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 1034 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\STORE.al)"
-sub STORE { my $rtsig = &_check; new($rtsig, $_[2], $SIGACTION_FLAGS) }
-# end of POSIX::SigRt::STORE
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_check.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_check.al
deleted file mode 100644
index d2bd3214b68..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_check.al
+++ /dev/null
@@ -1,15 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 1013 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\_check.al)"
-sub _check {
- my ($rtsig, $ok) = &_exist;
- die "No POSIX::SigRt signal $_[1] (valid range SIGRTMIN..SIGRTMAX, or $_SIGRTMIN..$_SIGRTMAX)"
- unless $ok;
- return $rtsig;
-}
-
-# end of POSIX::SigRt::_check
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_croak.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_croak.al
deleted file mode 100644
index 3007b442b85..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_croak.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 993 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\_croak.al)"
-sub _croak {
- &_init unless defined $_sigrtn;
- die "POSIX::SigRt not available" unless defined $_sigrtn && $_sigrtn > 0;
-}
-
-# end of POSIX::SigRt::_croak
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_exist.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_exist.al
deleted file mode 100644
index 090d22b42cb..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_exist.al
+++ /dev/null
@@ -1,14 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 1007 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\_exist.al)"
-sub _exist {
- my $rtsig = _getsig($_[1]);
- my $ok = $rtsig >= $_SIGRTMIN && $rtsig <= $_SIGRTMAX;
- ($rtsig, $ok);
-}
-
-# end of POSIX::SigRt::_exist
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_getsig.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_getsig.al
deleted file mode 100644
index 2a74dd50836..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_getsig.al
+++ /dev/null
@@ -1,17 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 998 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\_getsig.al)"
-sub _getsig {
- &_croak;
- my $rtsig = $_[0];
- # Allow (SIGRT)?MIN( + n)?, a common idiom when doing these things in C.
- $rtsig = $_SIGRTMIN + ($1 || 0)
- if $rtsig =~ /^(?:(?:SIG)?RT)?MIN(\s*\+\s*(\d+))?$/;
- return $rtsig;
-}
-
-# end of POSIX::SigRt::_getsig
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_init.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_init.al
deleted file mode 100644
index 15f8b1f3320..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/_init.al
+++ /dev/null
@@ -1,14 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 987 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\_init.al)"
-sub _init {
- $_SIGRTMIN = &POSIX::SIGRTMIN;
- $_SIGRTMAX = &POSIX::SIGRTMAX;
- $_sigrtn = $_SIGRTMAX - $_SIGRTMIN;
-}
-
-# end of POSIX::SigRt::_init
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/new.al b/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/new.al
deleted file mode 100644
index 0da3e9643cc..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/SigRt/new.al
+++ /dev/null
@@ -1,17 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX::SigRt;
-
-#line 1020 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\SigRt\new.al)"
-sub new {
- my ($rtsig, $handler, $flags) = @_;
- my $sigset = POSIX::SigSet->new($rtsig);
- my $sigact = POSIX::SigAction->new($handler,
- $sigset,
- $flags);
- POSIX::sigaction($rtsig, $sigact);
-}
-
-# end of POSIX::SigRt::new
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/abs.al b/Master/tlpkg/tlperl/lib/auto/POSIX/abs.al
deleted file mode 100644
index 9874a1f0924..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/abs.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 408 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\abs.al)"
-sub abs {
- usage "abs(x)" if @_ != 1;
- CORE::abs($_[0]);
-}
-
-# end of POSIX::abs
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/alarm.al b/Master/tlpkg/tlperl/lib/auto/POSIX/alarm.al
deleted file mode 100644
index 8c4c3765be4..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/alarm.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 625 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\alarm.al)"
-sub alarm {
- usage "alarm(seconds)" if @_ != 1;
- CORE::alarm($_[0]);
-}
-
-# end of POSIX::alarm
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/assert.al b/Master/tlpkg/tlperl/lib/auto/POSIX/assert.al
deleted file mode 100644
index 73452ef1d36..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/assert.al
+++ /dev/null
@@ -1,15 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 90 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\assert.al)"
-sub assert {
- usage "assert(expr)" if @_ != 1;
- if (!$_[0]) {
- croak "Assertion failed";
- }
-}
-
-# end of POSIX::assert
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/atan2.al b/Master/tlpkg/tlperl/lib/auto/POSIX/atan2.al
deleted file mode 100644
index 96078d9499b..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/atan2.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 155 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\atan2.al)"
-sub atan2 {
- usage "atan2(x,y)" if @_ != 2;
- CORE::atan2($_[0], $_[1]);
-}
-
-# end of POSIX::atan2
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/atexit.al b/Master/tlpkg/tlperl/lib/auto/POSIX/atexit.al
deleted file mode 100644
index ae28e584254..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/atexit.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 413 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\atexit.al)"
-sub atexit {
- unimpl "atexit() is C-specific: use END {} instead";
-}
-
-# end of POSIX::atexit
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/atof.al b/Master/tlpkg/tlperl/lib/auto/POSIX/atof.al
deleted file mode 100644
index 15c64c3e78b..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/atof.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 417 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\atof.al)"
-sub atof {
- unimpl "atof() is C-specific, stopped";
-}
-
-# end of POSIX::atof
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/atoi.al b/Master/tlpkg/tlperl/lib/auto/POSIX/atoi.al
deleted file mode 100644
index dabe0325413..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/atoi.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 421 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\atoi.al)"
-sub atoi {
- unimpl "atoi() is C-specific, stopped";
-}
-
-# end of POSIX::atoi
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/atol.al b/Master/tlpkg/tlperl/lib/auto/POSIX/atol.al
deleted file mode 100644
index b8ef5b0ef1f..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/atol.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 425 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\atol.al)"
-sub atol {
- unimpl "atol() is C-specific, stopped";
-}
-
-# end of POSIX::atol
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/autosplit.ix b/Master/tlpkg/tlperl/lib/auto/POSIX/autosplit.ix
deleted file mode 100644
index cc56f9ada79..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/autosplit.ix
+++ /dev/null
@@ -1,173 +0,0 @@
-# Index created by AutoSplit for ..\..\lib\POSIX.pm
-# (file acts as timestamp)
-package POSIX;
-sub usage ;
-sub redef ;
-sub unimpl ;
-sub assert ;
-sub tolower ;
-sub toupper ;
-sub closedir ;
-sub opendir ;
-sub readdir ;
-sub rewinddir ;
-sub errno ;
-sub creat ;
-sub fcntl ;
-sub getgrgid ;
-sub getgrnam ;
-sub atan2 ;
-sub cos ;
-sub exp ;
-sub fabs ;
-sub log ;
-sub pow ;
-sub sin ;
-sub sqrt ;
-sub getpwnam ;
-sub getpwuid ;
-sub longjmp ;
-sub setjmp ;
-sub siglongjmp ;
-sub sigsetjmp ;
-sub kill ;
-sub raise ;
-sub offsetof ;
-sub clearerr ;
-sub fclose ;
-sub fdopen ;
-sub feof ;
-sub fgetc ;
-sub fgets ;
-sub fileno ;
-sub fopen ;
-sub fprintf ;
-sub fputc ;
-sub fputs ;
-sub fread ;
-sub freopen ;
-sub fscanf ;
-sub fseek ;
-sub fsync ;
-sub ferror ;
-sub fflush ;
-sub fgetpos ;
-sub fsetpos ;
-sub ftell ;
-sub fwrite ;
-sub getc ;
-sub getchar ;
-sub gets ;
-sub perror ;
-sub printf ;
-sub putc ;
-sub putchar ;
-sub puts ;
-sub remove ;
-sub rename ;
-sub rewind ;
-sub scanf ;
-sub sprintf ;
-sub sscanf ;
-sub tmpfile ;
-sub ungetc ;
-sub vfprintf ;
-sub vprintf ;
-sub vsprintf ;
-sub abs ;
-sub atexit ;
-sub atof ;
-sub atoi ;
-sub atol ;
-sub bsearch ;
-sub calloc ;
-sub div ;
-sub exit ;
-sub free ;
-sub getenv ;
-sub labs ;
-sub ldiv ;
-sub malloc ;
-sub qsort ;
-sub rand ;
-sub realloc ;
-sub srand ;
-sub system ;
-sub memchr ;
-sub memcmp ;
-sub memcpy ;
-sub memmove ;
-sub memset ;
-sub strcat ;
-sub strchr ;
-sub strcmp ;
-sub strcpy ;
-sub strcspn ;
-sub strerror ;
-sub strlen ;
-sub strncat ;
-sub strncmp ;
-sub strncpy ;
-sub strpbrk ;
-sub strrchr ;
-sub strspn ;
-sub strstr ;
-sub strtok ;
-sub chmod ;
-sub fstat ;
-sub mkdir ;
-sub stat ;
-sub umask ;
-sub wait ;
-sub waitpid ;
-sub gmtime ;
-sub localtime ;
-sub time ;
-sub alarm ;
-sub chdir ;
-sub chown ;
-sub execl ;
-sub execle ;
-sub execlp ;
-sub execv ;
-sub execve ;
-sub execvp ;
-sub fork ;
-sub getegid ;
-sub geteuid ;
-sub getgid ;
-sub getgroups ;
-sub getlogin ;
-sub getpgrp ;
-sub getpid ;
-sub getppid ;
-sub getuid ;
-sub isatty ;
-sub link ;
-sub rmdir ;
-sub setbuf ;
-sub setvbuf ;
-sub sleep ;
-sub unlink ;
-sub utime ;
-sub load_imports ;
-package POSIX::SigAction;
-sub new ;
-sub handler ;
-sub mask ;
-sub flags ;
-sub safe ;
-package POSIX::SigRt;
-sub _init ;
-sub _croak ;
-sub _getsig ;
-sub _exist ;
-sub _check ;
-sub new ;
-sub EXISTS ;
-sub FETCH ;
-sub STORE ;
-sub DELETE ;
-sub CLEAR ;
-sub SCALAR ;
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/bsearch.al b/Master/tlpkg/tlperl/lib/auto/POSIX/bsearch.al
deleted file mode 100644
index cc36c9e9b81..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/bsearch.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 429 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\bsearch.al)"
-sub bsearch {
- unimpl "bsearch() not supplied";
-}
-
-# end of POSIX::bsearch
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/calloc.al b/Master/tlpkg/tlperl/lib/auto/POSIX/calloc.al
deleted file mode 100644
index 6154183e4cc..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/calloc.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 433 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\calloc.al)"
-sub calloc {
- unimpl "calloc() is C-specific, stopped";
-}
-
-# end of POSIX::calloc
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/chdir.al b/Master/tlpkg/tlperl/lib/auto/POSIX/chdir.al
deleted file mode 100644
index 86420e6c146..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/chdir.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 630 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\chdir.al)"
-sub chdir {
- usage "chdir(directory)" if @_ != 1;
- CORE::chdir($_[0]);
-}
-
-# end of POSIX::chdir
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/chmod.al b/Master/tlpkg/tlperl/lib/auto/POSIX/chmod.al
deleted file mode 100644
index b6bf3c50c2e..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/chmod.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 571 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\chmod.al)"
-sub chmod {
- usage "chmod(mode, filename)" if @_ != 2;
- CORE::chmod($_[0], $_[1]);
-}
-
-# end of POSIX::chmod
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/chown.al b/Master/tlpkg/tlperl/lib/auto/POSIX/chown.al
deleted file mode 100644
index 61973238952..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/chown.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 635 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\chown.al)"
-sub chown {
- usage "chown(uid, gid, filename)" if @_ != 3;
- CORE::chown($_[0], $_[1], $_[2]);
-}
-
-# end of POSIX::chown
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/clearerr.al b/Master/tlpkg/tlperl/lib/auto/POSIX/clearerr.al
deleted file mode 100644
index 81b6554f11c..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/clearerr.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 235 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\clearerr.al)"
-sub clearerr {
- redef "IO::Handle::clearerr()";
-}
-
-# end of POSIX::clearerr
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/closedir.al b/Master/tlpkg/tlperl/lib/auto/POSIX/closedir.al
deleted file mode 100644
index d16e47f717d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/closedir.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 107 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\closedir.al)"
-sub closedir {
- usage "closedir(dirhandle)" if @_ != 1;
- CORE::closedir($_[0]);
-}
-
-# end of POSIX::closedir
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/cos.al b/Master/tlpkg/tlperl/lib/auto/POSIX/cos.al
deleted file mode 100644
index e212eb314b2..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/cos.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 160 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\cos.al)"
-sub cos {
- usage "cos(x)" if @_ != 1;
- CORE::cos($_[0]);
-}
-
-# end of POSIX::cos
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/creat.al b/Master/tlpkg/tlperl/lib/auto/POSIX/creat.al
deleted file mode 100644
index 601fe11fa3f..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/creat.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 135 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\creat.al)"
-sub creat {
- usage "creat(filename, mode)" if @_ != 2;
- &open($_[0], &O_WRONLY | &O_CREAT | &O_TRUNC, $_[1]);
-}
-
-# end of POSIX::creat
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/div.al b/Master/tlpkg/tlperl/lib/auto/POSIX/div.al
deleted file mode 100644
index 5f07bcd2ba6..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/div.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 437 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\div.al)"
-sub div {
- unimpl "div() is C-specific, use /, % and int instead";
-}
-
-# end of POSIX::div
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/errno.al b/Master/tlpkg/tlperl/lib/auto/POSIX/errno.al
deleted file mode 100644
index 6e498df5ea9..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/errno.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 130 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\errno.al)"
-sub errno {
- usage "errno()" if @_ != 0;
- $! + 0;
-}
-
-# end of POSIX::errno
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/execl.al b/Master/tlpkg/tlperl/lib/auto/POSIX/execl.al
deleted file mode 100644
index 892f84173ec..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/execl.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 640 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\execl.al)"
-sub execl {
- unimpl "execl() is C-specific, stopped";
-}
-
-# end of POSIX::execl
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/execle.al b/Master/tlpkg/tlperl/lib/auto/POSIX/execle.al
deleted file mode 100644
index df1982143c5..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/execle.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 644 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\execle.al)"
-sub execle {
- unimpl "execle() is C-specific, stopped";
-}
-
-# end of POSIX::execle
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/execlp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/execlp.al
deleted file mode 100644
index aa74222a879..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/execlp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 648 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\execlp.al)"
-sub execlp {
- unimpl "execlp() is C-specific, stopped";
-}
-
-# end of POSIX::execlp
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/execv.al b/Master/tlpkg/tlperl/lib/auto/POSIX/execv.al
deleted file mode 100644
index 48e186de50a..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/execv.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 652 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\execv.al)"
-sub execv {
- unimpl "execv() is C-specific, stopped";
-}
-
-# end of POSIX::execv
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/execve.al b/Master/tlpkg/tlperl/lib/auto/POSIX/execve.al
deleted file mode 100644
index d0136ed0c64..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/execve.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 656 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\execve.al)"
-sub execve {
- unimpl "execve() is C-specific, stopped";
-}
-
-# end of POSIX::execve
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/execvp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/execvp.al
deleted file mode 100644
index ec4e0c1c8bb..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/execvp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 660 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\execvp.al)"
-sub execvp {
- unimpl "execvp() is C-specific, stopped";
-}
-
-# end of POSIX::execvp
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/exit.al b/Master/tlpkg/tlperl/lib/auto/POSIX/exit.al
deleted file mode 100644
index c4c2d353b65..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/exit.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 441 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\exit.al)"
-sub exit {
- usage "exit(status)" if @_ != 1;
- CORE::exit($_[0]);
-}
-
-# end of POSIX::exit
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/exp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/exp.al
deleted file mode 100644
index a74fed03726..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/exp.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 165 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\exp.al)"
-sub exp {
- usage "exp(x)" if @_ != 1;
- CORE::exp($_[0]);
-}
-
-# end of POSIX::exp
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fabs.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fabs.al
deleted file mode 100644
index 5fe5a10af3a..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fabs.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 170 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fabs.al)"
-sub fabs {
- usage "fabs(x)" if @_ != 1;
- CORE::abs($_[0]);
-}
-
-# end of POSIX::fabs
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fclose.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fclose.al
deleted file mode 100644
index fb38171b4d0..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fclose.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 239 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fclose.al)"
-sub fclose {
- redef "IO::Handle::close()";
-}
-
-# end of POSIX::fclose
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fcntl.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fcntl.al
deleted file mode 100644
index 3eb3062a3f9..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fcntl.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 140 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fcntl.al)"
-sub fcntl {
- usage "fcntl(filehandle, cmd, arg)" if @_ != 3;
- CORE::fcntl($_[0], $_[1], $_[2]);
-}
-
-# end of POSIX::fcntl
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fdopen.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fdopen.al
deleted file mode 100644
index 496945789c1..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fdopen.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 243 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fdopen.al)"
-sub fdopen {
- redef "IO::Handle::new_from_fd()";
-}
-
-# end of POSIX::fdopen
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/feof.al b/Master/tlpkg/tlperl/lib/auto/POSIX/feof.al
deleted file mode 100644
index 18a0183c03d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/feof.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 247 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\feof.al)"
-sub feof {
- redef "IO::Handle::eof()";
-}
-
-# end of POSIX::feof
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/ferror.al b/Master/tlpkg/tlperl/lib/auto/POSIX/ferror.al
deleted file mode 100644
index 50bca4a4c4a..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/ferror.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 299 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\ferror.al)"
-sub ferror {
- redef "IO::Handle::error()";
-}
-
-# end of POSIX::ferror
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fflush.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fflush.al
deleted file mode 100644
index 336aa4d2184..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fflush.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 303 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fflush.al)"
-sub fflush {
- redef "IO::Handle::flush()";
-}
-
-# end of POSIX::fflush
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fgetc.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fgetc.al
deleted file mode 100644
index 6d34733e6d1..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fgetc.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 251 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fgetc.al)"
-sub fgetc {
- redef "IO::Handle::getc()";
-}
-
-# end of POSIX::fgetc
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fgetpos.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fgetpos.al
deleted file mode 100644
index a806457288a..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fgetpos.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 307 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fgetpos.al)"
-sub fgetpos {
- redef "IO::Seekable::getpos()";
-}
-
-# end of POSIX::fgetpos
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fgets.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fgets.al
deleted file mode 100644
index c95eb1b7ff5..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fgets.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 255 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fgets.al)"
-sub fgets {
- redef "IO::Handle::gets()";
-}
-
-# end of POSIX::fgets
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fileno.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fileno.al
deleted file mode 100644
index e50fee694db..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fileno.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 259 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fileno.al)"
-sub fileno {
- redef "IO::Handle::fileno()";
-}
-
-# end of POSIX::fileno
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fopen.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fopen.al
deleted file mode 100644
index 8d3c49d2ca4..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fopen.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 263 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fopen.al)"
-sub fopen {
- redef "IO::File::open()";
-}
-
-# end of POSIX::fopen
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fork.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fork.al
deleted file mode 100644
index 360776c9cef..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fork.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 664 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fork.al)"
-sub fork {
- usage "fork()" if @_ != 0;
- CORE::fork;
-}
-
-# end of POSIX::fork
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fprintf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fprintf.al
deleted file mode 100644
index a3f0d816c6f..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fprintf.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 267 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fprintf.al)"
-sub fprintf {
- unimpl "fprintf() is C-specific--use printf instead";
-}
-
-# end of POSIX::fprintf
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fputc.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fputc.al
deleted file mode 100644
index 42d19c108a3..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fputc.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 271 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fputc.al)"
-sub fputc {
- unimpl "fputc() is C-specific--use print instead";
-}
-
-# end of POSIX::fputc
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fputs.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fputs.al
deleted file mode 100644
index f4cc069b631..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fputs.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 275 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fputs.al)"
-sub fputs {
- unimpl "fputs() is C-specific--use print instead";
-}
-
-# end of POSIX::fputs
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fread.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fread.al
deleted file mode 100644
index 9110ed3aedb..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fread.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 279 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fread.al)"
-sub fread {
- unimpl "fread() is C-specific--use read instead";
-}
-
-# end of POSIX::fread
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/free.al b/Master/tlpkg/tlperl/lib/auto/POSIX/free.al
deleted file mode 100644
index 0486561c964..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/free.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 446 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\free.al)"
-sub free {
- unimpl "free() is C-specific, stopped";
-}
-
-# end of POSIX::free
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/freopen.al b/Master/tlpkg/tlperl/lib/auto/POSIX/freopen.al
deleted file mode 100644
index 6dac63a5141..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/freopen.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 283 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\freopen.al)"
-sub freopen {
- unimpl "freopen() is C-specific--use open instead";
-}
-
-# end of POSIX::freopen
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fscanf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fscanf.al
deleted file mode 100644
index 874e70c2f00..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fscanf.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 287 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fscanf.al)"
-sub fscanf {
- unimpl "fscanf() is C-specific--use <> and regular expressions instead";
-}
-
-# end of POSIX::fscanf
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fseek.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fseek.al
deleted file mode 100644
index c66351de43b..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fseek.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 291 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fseek.al)"
-sub fseek {
- redef "IO::Seekable::seek()";
-}
-
-# end of POSIX::fseek
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fsetpos.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fsetpos.al
deleted file mode 100644
index 06ce17b9738..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fsetpos.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 311 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fsetpos.al)"
-sub fsetpos {
- redef "IO::Seekable::setpos()";
-}
-
-# end of POSIX::fsetpos
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fstat.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fstat.al
deleted file mode 100644
index a7af254612b..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fstat.al
+++ /dev/null
@@ -1,17 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 576 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fstat.al)"
-sub fstat {
- usage "fstat(fd)" if @_ != 1;
- local *TMP;
- CORE::open(TMP, "<&$_[0]"); # Gross.
- my @l = CORE::stat(TMP);
- CORE::close(TMP);
- @l;
-}
-
-# end of POSIX::fstat
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fsync.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fsync.al
deleted file mode 100644
index a92fb68cc3a..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fsync.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 295 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fsync.al)"
-sub fsync {
- redef "IO::Handle::sync()";
-}
-
-# end of POSIX::fsync
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/ftell.al b/Master/tlpkg/tlperl/lib/auto/POSIX/ftell.al
deleted file mode 100644
index b74b1c801d0..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/ftell.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 315 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\ftell.al)"
-sub ftell {
- redef "IO::Seekable::tell()";
-}
-
-# end of POSIX::ftell
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/fwrite.al b/Master/tlpkg/tlperl/lib/auto/POSIX/fwrite.al
deleted file mode 100644
index 4a8ec459424..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/fwrite.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 319 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\fwrite.al)"
-sub fwrite {
- unimpl "fwrite() is C-specific--use print instead";
-}
-
-# end of POSIX::fwrite
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getc.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getc.al
deleted file mode 100644
index 94cbc2fce80..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getc.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 323 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getc.al)"
-sub getc {
- usage "getc(handle)" if @_ != 1;
- CORE::getc($_[0]);
-}
-
-# end of POSIX::getc
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getchar.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getchar.al
deleted file mode 100644
index 6ca26cf558b..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getchar.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 328 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getchar.al)"
-sub getchar {
- usage "getchar()" if @_ != 0;
- CORE::getc(STDIN);
-}
-
-# end of POSIX::getchar
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getegid.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getegid.al
deleted file mode 100644
index ce52e300e8a..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getegid.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 669 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getegid.al)"
-sub getegid {
- usage "getegid()" if @_ != 0;
- $) + 0;
-}
-
-# end of POSIX::getegid
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getenv.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getenv.al
deleted file mode 100644
index 5479903df58..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getenv.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 450 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getenv.al)"
-sub getenv {
- usage "getenv(name)" if @_ != 1;
- $ENV{$_[0]};
-}
-
-# end of POSIX::getenv
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/geteuid.al b/Master/tlpkg/tlperl/lib/auto/POSIX/geteuid.al
deleted file mode 100644
index 8f80da03c39..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/geteuid.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 674 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\geteuid.al)"
-sub geteuid {
- usage "geteuid()" if @_ != 0;
- $> + 0;
-}
-
-# end of POSIX::geteuid
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getgid.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getgid.al
deleted file mode 100644
index 53fbfec9c9a..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getgid.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 679 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getgid.al)"
-sub getgid {
- usage "getgid()" if @_ != 0;
- $( + 0;
-}
-
-# end of POSIX::getgid
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getgrgid.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getgrgid.al
deleted file mode 100644
index 9081f62a645..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getgrgid.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 145 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getgrgid.al)"
-sub getgrgid {
- usage "getgrgid(gid)" if @_ != 1;
- CORE::getgrgid($_[0]);
-}
-
-# end of POSIX::getgrgid
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getgrnam.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getgrnam.al
deleted file mode 100644
index 268fdce39cb..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getgrnam.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 150 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getgrnam.al)"
-sub getgrnam {
- usage "getgrnam(name)" if @_ != 1;
- CORE::getgrnam($_[0]);
-}
-
-# end of POSIX::getgrnam
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getgroups.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getgroups.al
deleted file mode 100644
index 87541ee5ae5..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getgroups.al
+++ /dev/null
@@ -1,14 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 684 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getgroups.al)"
-sub getgroups {
- usage "getgroups()" if @_ != 0;
- my %seen;
- grep(!$seen{$_}++, split(' ', $) ));
-}
-
-# end of POSIX::getgroups
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getlogin.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getlogin.al
deleted file mode 100644
index 38e4458162e..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getlogin.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 690 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getlogin.al)"
-sub getlogin {
- usage "getlogin()" if @_ != 0;
- CORE::getlogin();
-}
-
-# end of POSIX::getlogin
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getpgrp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getpgrp.al
deleted file mode 100644
index 19b98ff7a55..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getpgrp.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 695 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getpgrp.al)"
-sub getpgrp {
- usage "getpgrp()" if @_ != 0;
- CORE::getpgrp;
-}
-
-# end of POSIX::getpgrp
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getpid.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getpid.al
deleted file mode 100644
index 8e10257b7c1..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getpid.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 700 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getpid.al)"
-sub getpid {
- usage "getpid()" if @_ != 0;
- $$;
-}
-
-# end of POSIX::getpid
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getppid.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getppid.al
deleted file mode 100644
index 66d223cdc96..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getppid.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 705 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getppid.al)"
-sub getppid {
- usage "getppid()" if @_ != 0;
- CORE::getppid;
-}
-
-# end of POSIX::getppid
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getpwnam.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getpwnam.al
deleted file mode 100644
index 97c932313ee..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getpwnam.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 195 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getpwnam.al)"
-sub getpwnam {
- usage "getpwnam(name)" if @_ != 1;
- CORE::getpwnam($_[0]);
-}
-
-# end of POSIX::getpwnam
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getpwuid.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getpwuid.al
deleted file mode 100644
index 588b05f1d49..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getpwuid.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 200 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getpwuid.al)"
-sub getpwuid {
- usage "getpwuid(uid)" if @_ != 1;
- CORE::getpwuid($_[0]);
-}
-
-# end of POSIX::getpwuid
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/gets.al b/Master/tlpkg/tlperl/lib/auto/POSIX/gets.al
deleted file mode 100644
index b3f09bb1887..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/gets.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 333 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\gets.al)"
-sub gets {
- usage "gets()" if @_ != 0;
- scalar <STDIN>;
-}
-
-# end of POSIX::gets
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/getuid.al b/Master/tlpkg/tlperl/lib/auto/POSIX/getuid.al
deleted file mode 100644
index 1fc67d11692..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/getuid.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 710 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\getuid.al)"
-sub getuid {
- usage "getuid()" if @_ != 0;
- $<;
-}
-
-# end of POSIX::getuid
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/gmtime.al b/Master/tlpkg/tlperl/lib/auto/POSIX/gmtime.al
deleted file mode 100644
index ebc46ef855b..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/gmtime.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 610 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\gmtime.al)"
-sub gmtime {
- usage "gmtime(time)" if @_ != 1;
- CORE::gmtime($_[0]);
-}
-
-# end of POSIX::gmtime
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/isatty.al b/Master/tlpkg/tlperl/lib/auto/POSIX/isatty.al
deleted file mode 100644
index 6b1a13f2b72..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/isatty.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 715 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\isatty.al)"
-sub isatty {
- usage "isatty(filehandle)" if @_ != 1;
- -t $_[0];
-}
-
-# end of POSIX::isatty
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/kill.al b/Master/tlpkg/tlperl/lib/auto/POSIX/kill.al
deleted file mode 100644
index e1c868b5118..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/kill.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 221 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\kill.al)"
-sub kill {
- usage "kill(pid, sig)" if @_ != 2;
- CORE::kill $_[1], $_[0];
-}
-
-# end of POSIX::kill
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/labs.al b/Master/tlpkg/tlperl/lib/auto/POSIX/labs.al
deleted file mode 100644
index c40bc31a9a3..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/labs.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 455 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\labs.al)"
-sub labs {
- unimpl "labs() is C-specific, use abs instead";
-}
-
-# end of POSIX::labs
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/ldiv.al b/Master/tlpkg/tlperl/lib/auto/POSIX/ldiv.al
deleted file mode 100644
index 5564757ed96..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/ldiv.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 459 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\ldiv.al)"
-sub ldiv {
- unimpl "ldiv() is C-specific, use /, % and int instead";
-}
-
-# end of POSIX::ldiv
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/link.al b/Master/tlpkg/tlperl/lib/auto/POSIX/link.al
deleted file mode 100644
index d97f42335b0..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/link.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 720 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\link.al)"
-sub link {
- usage "link(oldfilename, newfilename)" if @_ != 2;
- CORE::link($_[0], $_[1]);
-}
-
-# end of POSIX::link
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/load_imports.al b/Master/tlpkg/tlperl/lib/auto/POSIX/load_imports.al
deleted file mode 100644
index d3ed86477ca..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/load_imports.al
+++ /dev/null
@@ -1,231 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 753 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\load_imports.al)"
-sub load_imports {
-%EXPORT_TAGS = (
-
- assert_h => [qw(assert NDEBUG)],
-
- ctype_h => [qw(isalnum isalpha iscntrl isdigit isgraph islower
- isprint ispunct isspace isupper isxdigit tolower toupper)],
-
- dirent_h => [],
-
- errno_h => [qw(E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT
- EAGAIN EALREADY EBADF EBUSY ECHILD ECONNABORTED
- ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDOM EDQUOT
- EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH EINPROGRESS
- EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK
- EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH
- ENFILE ENOBUFS ENODEV ENOENT ENOEXEC ENOLCK ENOMEM
- ENOPROTOOPT ENOSPC ENOSYS ENOTBLK ENOTCONN ENOTDIR
- ENOTEMPTY ENOTSOCK ENOTTY ENXIO EOPNOTSUPP EPERM
- EPFNOSUPPORT EPIPE EPROCLIM EPROTONOSUPPORT EPROTOTYPE
- ERANGE EREMOTE ERESTART EROFS ESHUTDOWN ESOCKTNOSUPPORT
- ESPIPE ESRCH ESTALE ETIMEDOUT ETOOMANYREFS ETXTBSY
- EUSERS EWOULDBLOCK EXDEV errno)],
-
- fcntl_h => [qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK
- F_SETFD F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK
- O_ACCMODE O_APPEND O_CREAT O_EXCL O_NOCTTY O_NONBLOCK
- O_RDONLY O_RDWR O_TRUNC O_WRONLY
- creat
- SEEK_CUR SEEK_END SEEK_SET
- S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU
- S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG S_ISUID
- S_IWGRP S_IWOTH S_IWUSR)],
-
- float_h => [qw(DBL_DIG DBL_EPSILON DBL_MANT_DIG
- DBL_MAX DBL_MAX_10_EXP DBL_MAX_EXP
- DBL_MIN DBL_MIN_10_EXP DBL_MIN_EXP
- FLT_DIG FLT_EPSILON FLT_MANT_DIG
- FLT_MAX FLT_MAX_10_EXP FLT_MAX_EXP
- FLT_MIN FLT_MIN_10_EXP FLT_MIN_EXP
- FLT_RADIX FLT_ROUNDS
- LDBL_DIG LDBL_EPSILON LDBL_MANT_DIG
- LDBL_MAX LDBL_MAX_10_EXP LDBL_MAX_EXP
- LDBL_MIN LDBL_MIN_10_EXP LDBL_MIN_EXP)],
-
- grp_h => [],
-
- limits_h => [qw( ARG_MAX CHAR_BIT CHAR_MAX CHAR_MIN CHILD_MAX
- INT_MAX INT_MIN LINK_MAX LONG_MAX LONG_MIN MAX_CANON
- MAX_INPUT MB_LEN_MAX NAME_MAX NGROUPS_MAX OPEN_MAX
- PATH_MAX PIPE_BUF SCHAR_MAX SCHAR_MIN SHRT_MAX SHRT_MIN
- SSIZE_MAX STREAM_MAX TZNAME_MAX UCHAR_MAX UINT_MAX
- ULONG_MAX USHRT_MAX _POSIX_ARG_MAX _POSIX_CHILD_MAX
- _POSIX_LINK_MAX _POSIX_MAX_CANON _POSIX_MAX_INPUT
- _POSIX_NAME_MAX _POSIX_NGROUPS_MAX _POSIX_OPEN_MAX
- _POSIX_PATH_MAX _POSIX_PIPE_BUF _POSIX_SSIZE_MAX
- _POSIX_STREAM_MAX _POSIX_TZNAME_MAX)],
-
- locale_h => [qw(LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES
- LC_MONETARY LC_NUMERIC LC_TIME NULL
- localeconv setlocale)],
-
- math_h => [qw(HUGE_VAL acos asin atan ceil cosh fabs floor fmod
- frexp ldexp log10 modf pow sinh tan tanh)],
-
- pwd_h => [],
-
- setjmp_h => [qw(longjmp setjmp siglongjmp sigsetjmp)],
-
- signal_h => [qw(SA_NOCLDSTOP SA_NOCLDWAIT SA_NODEFER SA_ONSTACK
- SA_RESETHAND SA_RESTART SA_SIGINFO SIGABRT SIGALRM
- SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL
- SIGPIPE %SIGRT SIGRTMIN SIGRTMAX SIGQUIT SIGSEGV SIGSTOP
- SIGTERM SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2 SIGBUS
- SIGPOLL SIGPROF SIGSYS SIGTRAP SIGURG SIGVTALRM SIGXCPU SIGXFSZ
- SIG_BLOCK SIG_DFL SIG_ERR SIG_IGN SIG_SETMASK SIG_UNBLOCK
- raise sigaction signal sigpending sigprocmask sigsuspend)],
-
- stdarg_h => [],
-
- stddef_h => [qw(NULL offsetof)],
-
- stdio_h => [qw(BUFSIZ EOF FILENAME_MAX L_ctermid L_cuserid
- L_tmpname NULL SEEK_CUR SEEK_END SEEK_SET
- STREAM_MAX TMP_MAX stderr stdin stdout
- clearerr fclose fdopen feof ferror fflush fgetc fgetpos
- fgets fopen fprintf fputc fputs fread freopen
- fscanf fseek fsetpos ftell fwrite getchar gets
- perror putc putchar puts remove rewind
- scanf setbuf setvbuf sscanf tmpfile tmpnam
- ungetc vfprintf vprintf vsprintf)],
-
- stdlib_h => [qw(EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX NULL RAND_MAX
- abort atexit atof atoi atol bsearch calloc div
- free getenv labs ldiv malloc mblen mbstowcs mbtowc
- qsort realloc strtod strtol strtoul wcstombs wctomb)],
-
- string_h => [qw(NULL memchr memcmp memcpy memmove memset strcat
- strchr strcmp strcoll strcpy strcspn strerror strlen
- strncat strncmp strncpy strpbrk strrchr strspn strstr
- strtok strxfrm)],
-
- sys_stat_h => [qw(S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU
- S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISGID S_ISREG
- S_ISUID S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR
- fstat mkfifo)],
-
- sys_times_h => [],
-
- sys_types_h => [],
-
- sys_utsname_h => [qw(uname)],
-
- sys_wait_h => [qw(WEXITSTATUS WIFEXITED WIFSIGNALED WIFSTOPPED
- WNOHANG WSTOPSIG WTERMSIG WUNTRACED)],
-
- termios_h => [qw( B0 B110 B1200 B134 B150 B1800 B19200 B200 B2400
- B300 B38400 B4800 B50 B600 B75 B9600 BRKINT CLOCAL
- CREAD CS5 CS6 CS7 CS8 CSIZE CSTOPB ECHO ECHOE ECHOK
- ECHONL HUPCL ICANON ICRNL IEXTEN IGNBRK IGNCR IGNPAR
- INLCR INPCK ISIG ISTRIP IXOFF IXON NCCS NOFLSH OPOST
- PARENB PARMRK PARODD TCIFLUSH TCIOFF TCIOFLUSH TCION
- TCOFLUSH TCOOFF TCOON TCSADRAIN TCSAFLUSH TCSANOW
- TOSTOP VEOF VEOL VERASE VINTR VKILL VMIN VQUIT VSTART
- VSTOP VSUSP VTIME
- cfgetispeed cfgetospeed cfsetispeed cfsetospeed tcdrain
- tcflow tcflush tcgetattr tcsendbreak tcsetattr )],
-
- time_h => [qw(CLK_TCK CLOCKS_PER_SEC NULL asctime clock ctime
- difftime mktime strftime tzset tzname)],
-
- unistd_h => [qw(F_OK NULL R_OK SEEK_CUR SEEK_END SEEK_SET
- STDERR_FILENO STDIN_FILENO STDOUT_FILENO W_OK X_OK
- _PC_CHOWN_RESTRICTED _PC_LINK_MAX _PC_MAX_CANON
- _PC_MAX_INPUT _PC_NAME_MAX _PC_NO_TRUNC _PC_PATH_MAX
- _PC_PIPE_BUF _PC_VDISABLE _POSIX_CHOWN_RESTRICTED
- _POSIX_JOB_CONTROL _POSIX_NO_TRUNC _POSIX_SAVED_IDS
- _POSIX_VDISABLE _POSIX_VERSION _SC_ARG_MAX
- _SC_CHILD_MAX _SC_CLK_TCK _SC_JOB_CONTROL
- _SC_NGROUPS_MAX _SC_OPEN_MAX _SC_PAGESIZE _SC_SAVED_IDS
- _SC_STREAM_MAX _SC_TZNAME_MAX _SC_VERSION
- _exit access ctermid cuserid
- dup2 dup execl execle execlp execv execve execvp
- fpathconf fsync getcwd getegid geteuid getgid getgroups
- getpid getuid isatty lseek pathconf pause setgid setpgid
- setsid setuid sysconf tcgetpgrp tcsetpgrp ttyname)],
-
- utime_h => [],
-
-);
-
-# Exporter::export_tags();
-{
- # De-duplicate the export list:
- my %export;
- @export{map {@$_} values %EXPORT_TAGS} = ();
- # Doing the de-dup with a temporary hash has the advantage that the SVs in
- # @EXPORT are actually shared hash key scalars, which will save some memory.
- push @EXPORT, keys %export;
-}
-
-@EXPORT_OK = qw(
- abs
- alarm
- atan2
- chdir
- chmod
- chown
- close
- closedir
- cos
- exit
- exp
- fcntl
- fileno
- fork
- getc
- getgrgid
- getgrnam
- getlogin
- getpgrp
- getppid
- getpwnam
- getpwuid
- gmtime
- isatty
- kill
- lchown
- link
- localtime
- log
- mkdir
- nice
- open
- opendir
- pipe
- printf
- rand
- read
- readdir
- rename
- rewinddir
- rmdir
- sin
- sleep
- sprintf
- sqrt
- srand
- stat
- system
- time
- times
- umask
- unlink
- utime
- wait
- waitpid
- write
-);
-
-require Exporter;
-}
-
-# end of POSIX::SigAction::load_imports
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/localtime.al b/Master/tlpkg/tlperl/lib/auto/POSIX/localtime.al
deleted file mode 100644
index 6c157a97cbf..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/localtime.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 615 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\localtime.al)"
-sub localtime {
- usage "localtime(time)" if @_ != 1;
- CORE::localtime($_[0]);
-}
-
-# end of POSIX::localtime
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/log.al b/Master/tlpkg/tlperl/lib/auto/POSIX/log.al
deleted file mode 100644
index 3316d5b3173..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/log.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 175 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\log.al)"
-sub log {
- usage "log(x)" if @_ != 1;
- CORE::log($_[0]);
-}
-
-# end of POSIX::log
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/longjmp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/longjmp.al
deleted file mode 100644
index 675581fe7a8..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/longjmp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 205 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\longjmp.al)"
-sub longjmp {
- unimpl "longjmp() is C-specific: use die instead";
-}
-
-# end of POSIX::longjmp
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/malloc.al b/Master/tlpkg/tlperl/lib/auto/POSIX/malloc.al
deleted file mode 100644
index 8fd086cf14e..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/malloc.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 463 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\malloc.al)"
-sub malloc {
- unimpl "malloc() is C-specific, stopped";
-}
-
-# end of POSIX::malloc
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/memchr.al b/Master/tlpkg/tlperl/lib/auto/POSIX/memchr.al
deleted file mode 100644
index c477890e150..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/memchr.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 488 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\memchr.al)"
-sub memchr {
- unimpl "memchr() is C-specific, use index() instead";
-}
-
-# end of POSIX::memchr
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/memcmp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/memcmp.al
deleted file mode 100644
index c89acda1e50..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/memcmp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 492 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\memcmp.al)"
-sub memcmp {
- unimpl "memcmp() is C-specific, use eq instead";
-}
-
-# end of POSIX::memcmp
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/memcpy.al b/Master/tlpkg/tlperl/lib/auto/POSIX/memcpy.al
deleted file mode 100644
index 4afbf544c39..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/memcpy.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 496 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\memcpy.al)"
-sub memcpy {
- unimpl "memcpy() is C-specific, use = instead";
-}
-
-# end of POSIX::memcpy
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/memmove.al b/Master/tlpkg/tlperl/lib/auto/POSIX/memmove.al
deleted file mode 100644
index e3bad3614b3..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/memmove.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 500 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\memmove.al)"
-sub memmove {
- unimpl "memmove() is C-specific, use = instead";
-}
-
-# end of POSIX::memmove
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/memset.al b/Master/tlpkg/tlperl/lib/auto/POSIX/memset.al
deleted file mode 100644
index 1c45556e8f7..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/memset.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 504 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\memset.al)"
-sub memset {
- unimpl "memset() is C-specific, use x instead";
-}
-
-# end of POSIX::memset
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/mkdir.al b/Master/tlpkg/tlperl/lib/auto/POSIX/mkdir.al
deleted file mode 100644
index 58c5bb46439..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/mkdir.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 585 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\mkdir.al)"
-sub mkdir {
- usage "mkdir(directoryname, mode)" if @_ != 2;
- CORE::mkdir($_[0], $_[1]);
-}
-
-# end of POSIX::mkdir
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/offsetof.al b/Master/tlpkg/tlperl/lib/auto/POSIX/offsetof.al
deleted file mode 100644
index c3ca5b0db0e..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/offsetof.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 231 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\offsetof.al)"
-sub offsetof {
- unimpl "offsetof() is C-specific, stopped";
-}
-
-# end of POSIX::offsetof
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/opendir.al b/Master/tlpkg/tlperl/lib/auto/POSIX/opendir.al
deleted file mode 100644
index fa24c4db3e7..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/opendir.al
+++ /dev/null
@@ -1,16 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 112 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\opendir.al)"
-sub opendir {
- usage "opendir(directory)" if @_ != 1;
- my $dirhandle;
- CORE::opendir($dirhandle, $_[0])
- ? $dirhandle
- : undef;
-}
-
-# end of POSIX::opendir
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/perror.al b/Master/tlpkg/tlperl/lib/auto/POSIX/perror.al
deleted file mode 100644
index 1883ed99f5b..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/perror.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 338 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\perror.al)"
-sub perror {
- print STDERR "@_: " if @_;
- print STDERR $!,"\n";
-}
-
-# end of POSIX::perror
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/pow.al b/Master/tlpkg/tlperl/lib/auto/POSIX/pow.al
deleted file mode 100644
index 2ef255d1784..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/pow.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 180 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\pow.al)"
-sub pow {
- usage "pow(x,exponent)" if @_ != 2;
- $_[0] ** $_[1];
-}
-
-# end of POSIX::pow
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/printf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/printf.al
deleted file mode 100644
index 6b7735a4bc4..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/printf.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 343 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\printf.al)"
-sub printf {
- usage "printf(pattern, args...)" if @_ < 1;
- CORE::printf STDOUT @_;
-}
-
-# end of POSIX::printf
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/putc.al b/Master/tlpkg/tlperl/lib/auto/POSIX/putc.al
deleted file mode 100644
index 3c45d7cfa95..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/putc.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 348 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\putc.al)"
-sub putc {
- unimpl "putc() is C-specific--use print instead";
-}
-
-# end of POSIX::putc
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/putchar.al b/Master/tlpkg/tlperl/lib/auto/POSIX/putchar.al
deleted file mode 100644
index 6b45167b3e4..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/putchar.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 352 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\putchar.al)"
-sub putchar {
- unimpl "putchar() is C-specific--use print instead";
-}
-
-# end of POSIX::putchar
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/puts.al b/Master/tlpkg/tlperl/lib/auto/POSIX/puts.al
deleted file mode 100644
index c1a7a69af60..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/puts.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 356 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\puts.al)"
-sub puts {
- unimpl "puts() is C-specific--use print instead";
-}
-
-# end of POSIX::puts
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/qsort.al b/Master/tlpkg/tlperl/lib/auto/POSIX/qsort.al
deleted file mode 100644
index 4e6248619d4..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/qsort.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 467 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\qsort.al)"
-sub qsort {
- unimpl "qsort() is C-specific, use sort instead";
-}
-
-# end of POSIX::qsort
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/raise.al b/Master/tlpkg/tlperl/lib/auto/POSIX/raise.al
deleted file mode 100644
index 1609ef6ce2b..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/raise.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 226 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\raise.al)"
-sub raise {
- usage "raise(sig)" if @_ != 1;
- CORE::kill $_[0], $$; # Is this good enough?
-}
-
-# end of POSIX::raise
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/rand.al b/Master/tlpkg/tlperl/lib/auto/POSIX/rand.al
deleted file mode 100644
index fb9460c53df..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/rand.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 471 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\rand.al)"
-sub rand {
- unimpl "rand() is non-portable, use Perl's rand instead";
-}
-
-# end of POSIX::rand
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/readdir.al b/Master/tlpkg/tlperl/lib/auto/POSIX/readdir.al
deleted file mode 100644
index 101aae64b67..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/readdir.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 120 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\readdir.al)"
-sub readdir {
- usage "readdir(dirhandle)" if @_ != 1;
- CORE::readdir($_[0]);
-}
-
-# end of POSIX::readdir
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/realloc.al b/Master/tlpkg/tlperl/lib/auto/POSIX/realloc.al
deleted file mode 100644
index 3179078fe9c..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/realloc.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 475 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\realloc.al)"
-sub realloc {
- unimpl "realloc() is C-specific, stopped";
-}
-
-# end of POSIX::realloc
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/redef.al b/Master/tlpkg/tlperl/lib/auto/POSIX/redef.al
deleted file mode 100644
index c336d2e4bf0..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/redef.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 79 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\redef.al)"
-sub redef {
- my ($mess) = @_;
- croak "Use method $mess instead";
-}
-
-# end of POSIX::redef
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/remove.al b/Master/tlpkg/tlperl/lib/auto/POSIX/remove.al
deleted file mode 100644
index 8b8dbea7d72..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/remove.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 360 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\remove.al)"
-sub remove {
- usage "remove(filename)" if @_ != 1;
- (-d $_[0]) ? CORE::rmdir($_[0]) : CORE::unlink($_[0]);
-}
-
-# end of POSIX::remove
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/rename.al b/Master/tlpkg/tlperl/lib/auto/POSIX/rename.al
deleted file mode 100644
index 091ed50c949..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/rename.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 365 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\rename.al)"
-sub rename {
- usage "rename(oldfilename, newfilename)" if @_ != 2;
- CORE::rename($_[0], $_[1]);
-}
-
-# end of POSIX::rename
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/rewind.al b/Master/tlpkg/tlperl/lib/auto/POSIX/rewind.al
deleted file mode 100644
index b7fdfd14f0d..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/rewind.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 370 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\rewind.al)"
-sub rewind {
- usage "rewind(filehandle)" if @_ != 1;
- CORE::seek($_[0],0,0);
-}
-
-# end of POSIX::rewind
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/rewinddir.al b/Master/tlpkg/tlperl/lib/auto/POSIX/rewinddir.al
deleted file mode 100644
index 5d2f65c6c89..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/rewinddir.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 125 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\rewinddir.al)"
-sub rewinddir {
- usage "rewinddir(dirhandle)" if @_ != 1;
- CORE::rewinddir($_[0]);
-}
-
-# end of POSIX::rewinddir
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/rmdir.al b/Master/tlpkg/tlperl/lib/auto/POSIX/rmdir.al
deleted file mode 100644
index 8d5702672a8..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/rmdir.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 725 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\rmdir.al)"
-sub rmdir {
- usage "rmdir(directoryname)" if @_ != 1;
- CORE::rmdir($_[0]);
-}
-
-# end of POSIX::rmdir
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/scanf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/scanf.al
deleted file mode 100644
index cd975746c56..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/scanf.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 375 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\scanf.al)"
-sub scanf {
- unimpl "scanf() is C-specific--use <> and regular expressions instead";
-}
-
-# end of POSIX::scanf
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/setbuf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/setbuf.al
deleted file mode 100644
index 5e632f795e8..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/setbuf.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 730 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\setbuf.al)"
-sub setbuf {
- redef "IO::Handle::setbuf()";
-}
-
-# end of POSIX::setbuf
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/setjmp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/setjmp.al
deleted file mode 100644
index f72778b5cee..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/setjmp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 209 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\setjmp.al)"
-sub setjmp {
- unimpl "setjmp() is C-specific: use eval {} instead";
-}
-
-# end of POSIX::setjmp
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/setvbuf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/setvbuf.al
deleted file mode 100644
index 538828c6ef8..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/setvbuf.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 734 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\setvbuf.al)"
-sub setvbuf {
- redef "IO::Handle::setvbuf()";
-}
-
-# end of POSIX::setvbuf
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/siglongjmp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/siglongjmp.al
deleted file mode 100644
index 30a9004f4d4..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/siglongjmp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 213 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\siglongjmp.al)"
-sub siglongjmp {
- unimpl "siglongjmp() is C-specific: use die instead";
-}
-
-# end of POSIX::siglongjmp
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/sigsetjmp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/sigsetjmp.al
deleted file mode 100644
index 56024883d3c..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/sigsetjmp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 217 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\sigsetjmp.al)"
-sub sigsetjmp {
- unimpl "sigsetjmp() is C-specific: use eval {} instead";
-}
-
-# end of POSIX::sigsetjmp
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/sin.al b/Master/tlpkg/tlperl/lib/auto/POSIX/sin.al
deleted file mode 100644
index 74288e6b7a7..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/sin.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 185 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\sin.al)"
-sub sin {
- usage "sin(x)" if @_ != 1;
- CORE::sin($_[0]);
-}
-
-# end of POSIX::sin
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/sleep.al b/Master/tlpkg/tlperl/lib/auto/POSIX/sleep.al
deleted file mode 100644
index fdc5520361e..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/sleep.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 738 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\sleep.al)"
-sub sleep {
- usage "sleep(seconds)" if @_ != 1;
- $_[0] - CORE::sleep($_[0]);
-}
-
-# end of POSIX::sleep
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/sprintf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/sprintf.al
deleted file mode 100644
index 6f913256286..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/sprintf.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 379 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\sprintf.al)"
-sub sprintf {
- usage "sprintf(pattern,args)" if @_ == 0;
- CORE::sprintf(shift,@_);
-}
-
-# end of POSIX::sprintf
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/sqrt.al b/Master/tlpkg/tlperl/lib/auto/POSIX/sqrt.al
deleted file mode 100644
index 05a46e9b97a..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/sqrt.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 190 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\sqrt.al)"
-sub sqrt {
- usage "sqrt(x)" if @_ != 1;
- CORE::sqrt($_[0]);
-}
-
-# end of POSIX::sqrt
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/srand.al b/Master/tlpkg/tlperl/lib/auto/POSIX/srand.al
deleted file mode 100644
index 00e69f77c66..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/srand.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 479 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\srand.al)"
-sub srand {
- unimpl "srand()";
-}
-
-# end of POSIX::srand
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/sscanf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/sscanf.al
deleted file mode 100644
index 3d3315ebf72..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/sscanf.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 384 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\sscanf.al)"
-sub sscanf {
- unimpl "sscanf() is C-specific--use regular expressions instead";
-}
-
-# end of POSIX::sscanf
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/stat.al b/Master/tlpkg/tlperl/lib/auto/POSIX/stat.al
deleted file mode 100644
index 7106b62e7c3..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/stat.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 590 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\stat.al)"
-sub stat {
- usage "stat(filename)" if @_ != 1;
- CORE::stat($_[0]);
-}
-
-# end of POSIX::stat
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strcat.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strcat.al
deleted file mode 100644
index 298b2c7f9eb..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strcat.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 508 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strcat.al)"
-sub strcat {
- unimpl "strcat() is C-specific, use .= instead";
-}
-
-# end of POSIX::strcat
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strchr.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strchr.al
deleted file mode 100644
index c8da119780e..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strchr.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 512 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strchr.al)"
-sub strchr {
- unimpl "strchr() is C-specific, use index() instead";
-}
-
-# end of POSIX::strchr
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strcmp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strcmp.al
deleted file mode 100644
index 3985898d6b0..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strcmp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 516 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strcmp.al)"
-sub strcmp {
- unimpl "strcmp() is C-specific, use eq instead";
-}
-
-# end of POSIX::strcmp
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strcpy.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strcpy.al
deleted file mode 100644
index 917041a3e1b..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strcpy.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 520 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strcpy.al)"
-sub strcpy {
- unimpl "strcpy() is C-specific, use = instead";
-}
-
-# end of POSIX::strcpy
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strcspn.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strcspn.al
deleted file mode 100644
index 7243d05d4b3..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strcspn.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 524 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strcspn.al)"
-sub strcspn {
- unimpl "strcspn() is C-specific, use regular expressions instead";
-}
-
-# end of POSIX::strcspn
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strerror.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strerror.al
deleted file mode 100644
index ebb1308211e..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strerror.al
+++ /dev/null
@@ -1,14 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 528 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strerror.al)"
-sub strerror {
- usage "strerror(errno)" if @_ != 1;
- local $! = $_[0];
- $! . "";
-}
-
-# end of POSIX::strerror
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strlen.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strlen.al
deleted file mode 100644
index b1ebb735327..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strlen.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 534 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strlen.al)"
-sub strlen {
- unimpl "strlen() is C-specific, use length instead";
-}
-
-# end of POSIX::strlen
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strncat.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strncat.al
deleted file mode 100644
index 96c5d312138..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strncat.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 538 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strncat.al)"
-sub strncat {
- unimpl "strncat() is C-specific, use .= instead";
-}
-
-# end of POSIX::strncat
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strncmp.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strncmp.al
deleted file mode 100644
index 1b2739e30b8..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strncmp.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 542 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strncmp.al)"
-sub strncmp {
- unimpl "strncmp() is C-specific, use eq instead";
-}
-
-# end of POSIX::strncmp
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strncpy.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strncpy.al
deleted file mode 100644
index 12a299c0853..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strncpy.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 546 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strncpy.al)"
-sub strncpy {
- unimpl "strncpy() is C-specific, use = instead";
-}
-
-# end of POSIX::strncpy
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strpbrk.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strpbrk.al
deleted file mode 100644
index cc86da475d7..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strpbrk.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 550 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strpbrk.al)"
-sub strpbrk {
- unimpl "strpbrk() is C-specific, stopped";
-}
-
-# end of POSIX::strpbrk
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strrchr.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strrchr.al
deleted file mode 100644
index 775d4a68811..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strrchr.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 554 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strrchr.al)"
-sub strrchr {
- unimpl "strrchr() is C-specific, use rindex() instead";
-}
-
-# end of POSIX::strrchr
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strspn.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strspn.al
deleted file mode 100644
index e794c642065..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strspn.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 558 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strspn.al)"
-sub strspn {
- unimpl "strspn() is C-specific, stopped";
-}
-
-# end of POSIX::strspn
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strstr.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strstr.al
deleted file mode 100644
index d3b931b0f00..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strstr.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 562 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strstr.al)"
-sub strstr {
- usage "strstr(big, little)" if @_ != 2;
- CORE::index($_[0], $_[1]);
-}
-
-# end of POSIX::strstr
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/strtok.al b/Master/tlpkg/tlperl/lib/auto/POSIX/strtok.al
deleted file mode 100644
index efa734c98d2..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/strtok.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 567 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\strtok.al)"
-sub strtok {
- unimpl "strtok() is C-specific, stopped";
-}
-
-# end of POSIX::strtok
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/system.al b/Master/tlpkg/tlperl/lib/auto/POSIX/system.al
deleted file mode 100644
index 4be09fe4acd..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/system.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 483 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\system.al)"
-sub system {
- usage "system(command)" if @_ != 1;
- CORE::system($_[0]);
-}
-
-# end of POSIX::system
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/time.al b/Master/tlpkg/tlperl/lib/auto/POSIX/time.al
deleted file mode 100644
index 0d1325a0328..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/time.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 620 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\time.al)"
-sub time {
- usage "time()" if @_ != 0;
- CORE::time;
-}
-
-# end of POSIX::time
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/tmpfile.al b/Master/tlpkg/tlperl/lib/auto/POSIX/tmpfile.al
deleted file mode 100644
index 42862aaa391..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/tmpfile.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 388 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\tmpfile.al)"
-sub tmpfile {
- redef "IO::File::new_tmpfile()";
-}
-
-# end of POSIX::tmpfile
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/tolower.al b/Master/tlpkg/tlperl/lib/auto/POSIX/tolower.al
deleted file mode 100644
index 16d7827a384..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/tolower.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 97 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\tolower.al)"
-sub tolower {
- usage "tolower(string)" if @_ != 1;
- lc($_[0]);
-}
-
-# end of POSIX::tolower
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/toupper.al b/Master/tlpkg/tlperl/lib/auto/POSIX/toupper.al
deleted file mode 100644
index 6aa25676972..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/toupper.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 102 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\toupper.al)"
-sub toupper {
- usage "toupper(string)" if @_ != 1;
- uc($_[0]);
-}
-
-# end of POSIX::toupper
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/umask.al b/Master/tlpkg/tlperl/lib/auto/POSIX/umask.al
deleted file mode 100644
index b33006c3059..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/umask.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 595 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\umask.al)"
-sub umask {
- usage "umask(mask)" if @_ != 1;
- CORE::umask($_[0]);
-}
-
-# end of POSIX::umask
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/ungetc.al b/Master/tlpkg/tlperl/lib/auto/POSIX/ungetc.al
deleted file mode 100644
index 69cbdc0548b..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/ungetc.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 392 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\ungetc.al)"
-sub ungetc {
- redef "IO::Handle::ungetc()";
-}
-
-# end of POSIX::ungetc
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/unimpl.al b/Master/tlpkg/tlperl/lib/auto/POSIX/unimpl.al
deleted file mode 100644
index 8dc7eb60a11..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/unimpl.al
+++ /dev/null
@@ -1,14 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 84 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\unimpl.al)"
-sub unimpl {
- my ($mess) = @_;
- $mess =~ s/xxx//;
- croak "Unimplemented: POSIX::$mess";
-}
-
-# end of POSIX::unimpl
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/unlink.al b/Master/tlpkg/tlperl/lib/auto/POSIX/unlink.al
deleted file mode 100644
index 898b787193e..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/unlink.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 743 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\unlink.al)"
-sub unlink {
- usage "unlink(filename)" if @_ != 1;
- CORE::unlink($_[0]);
-}
-
-# end of POSIX::unlink
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/usage.al b/Master/tlpkg/tlperl/lib/auto/POSIX/usage.al
deleted file mode 100644
index bc094cfbd19..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/usage.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 74 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\usage.al)"
-sub usage {
- my ($mess) = @_;
- croak "Usage: POSIX::$mess";
-}
-
-# end of POSIX::usage
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/utime.al b/Master/tlpkg/tlperl/lib/auto/POSIX/utime.al
deleted file mode 100644
index 52835233e82..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/utime.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 748 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\utime.al)"
-sub utime {
- usage "utime(filename, atime, mtime)" if @_ != 3;
- CORE::utime($_[1], $_[2], $_[0]);
-}
-
-# end of POSIX::utime
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/vfprintf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/vfprintf.al
deleted file mode 100644
index 5de3658c7eb..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/vfprintf.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 396 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\vfprintf.al)"
-sub vfprintf {
- unimpl "vfprintf() is C-specific";
-}
-
-# end of POSIX::vfprintf
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/vprintf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/vprintf.al
deleted file mode 100644
index c397df391a8..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/vprintf.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 400 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\vprintf.al)"
-sub vprintf {
- unimpl "vprintf() is C-specific";
-}
-
-# end of POSIX::vprintf
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/vsprintf.al b/Master/tlpkg/tlperl/lib/auto/POSIX/vsprintf.al
deleted file mode 100644
index 7af2c9eb3b3..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/vsprintf.al
+++ /dev/null
@@ -1,12 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 404 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\vsprintf.al)"
-sub vsprintf {
- unimpl "vsprintf() is C-specific";
-}
-
-# end of POSIX::vsprintf
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/wait.al b/Master/tlpkg/tlperl/lib/auto/POSIX/wait.al
deleted file mode 100644
index 4704b25f4ad..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/wait.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 600 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\wait.al)"
-sub wait {
- usage "wait()" if @_ != 0;
- CORE::wait();
-}
-
-# end of POSIX::wait
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/POSIX/waitpid.al b/Master/tlpkg/tlperl/lib/auto/POSIX/waitpid.al
deleted file mode 100644
index 9a69b3dd226..00000000000
--- a/Master/tlpkg/tlperl/lib/auto/POSIX/waitpid.al
+++ /dev/null
@@ -1,13 +0,0 @@
-# NOTE: Derived from ..\..\lib\POSIX.pm.
-# Changes made here will be lost when autosplit is run again.
-# See AutoSplit.pm.
-package POSIX;
-
-#line 605 "..\..\lib\POSIX.pm (autosplit into ..\..\lib\auto\POSIX\waitpid.al)"
-sub waitpid {
- usage "waitpid(pid, options)" if @_ != 2;
- CORE::waitpid($_[0], $_[1]);
-}
-
-# end of POSIX::waitpid
-1;
diff --git a/Master/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.bs b/Master/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.dll b/Master/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.dll
index e3c6537f855..a7e6426c513 100755
--- a/Master/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.dll
+++ b/Master/tlpkg/tlperl/lib/auto/PerlIO/encoding/encoding.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/PerlIO/mmap/mmap.bs b/Master/tlpkg/tlperl/lib/auto/PerlIO/mmap/mmap.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/PerlIO/mmap/mmap.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/PerlIO/mmap/mmap.dll b/Master/tlpkg/tlperl/lib/auto/PerlIO/mmap/mmap.dll
new file mode 100755
index 00000000000..a95f053723d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/PerlIO/mmap/mmap.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.bs b/Master/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.dll b/Master/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.dll
index 5a79b9baeff..5bdab39ef9a 100755
--- a/Master/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.dll
+++ b/Master/tlpkg/tlperl/lib/auto/PerlIO/scalar/scalar.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/PerlIO/via/via.bs b/Master/tlpkg/tlperl/lib/auto/PerlIO/via/via.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/PerlIO/via/via.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/PerlIO/via/via.dll b/Master/tlpkg/tlperl/lib/auto/PerlIO/via/via.dll
index 54b9110dcb6..3a3d77a075d 100755
--- a/Master/tlpkg/tlperl/lib/auto/PerlIO/via/via.dll
+++ b/Master/tlpkg/tlperl/lib/auto/PerlIO/via/via.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/SDBM_File/SDBM_File.bs b/Master/tlpkg/tlperl/lib/auto/SDBM_File/SDBM_File.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/SDBM_File/SDBM_File.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/SDBM_File/SDBM_File.dll b/Master/tlpkg/tlperl/lib/auto/SDBM_File/SDBM_File.dll
index f2feb29e625..00fa843db4e 100755
--- a/Master/tlpkg/tlperl/lib/auto/SDBM_File/SDBM_File.dll
+++ b/Master/tlpkg/tlperl/lib/auto/SDBM_File/SDBM_File.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Socket/Socket.bs b/Master/tlpkg/tlperl/lib/auto/Socket/Socket.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Socket/Socket.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Socket/Socket.dll b/Master/tlpkg/tlperl/lib/auto/Socket/Socket.dll
index e646e58425e..c1f351fe36f 100755
--- a/Master/tlpkg/tlperl/lib/auto/Socket/Socket.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Socket/Socket.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/Storable.bs b/Master/tlpkg/tlperl/lib/auto/Storable/Storable.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Storable/Storable.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Storable/Storable.dll b/Master/tlpkg/tlperl/lib/auto/Storable/Storable.dll
index 3d32cf6af9a..07da614b981 100755
--- a/Master/tlpkg/tlperl/lib/auto/Storable/Storable.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Storable/Storable.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.bs b/Master/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.dll b/Master/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.dll
index 96642ee6120..eced82eefe7 100755
--- a/Master/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Sys/Hostname/Hostname.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.bs b/Master/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.dll b/Master/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.dll
index 8a78c35b9de..16471505e4a 100755
--- a/Master/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Text/Soundex/Soundex.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.bs b/Master/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.dll b/Master/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.dll
index f9da388305c..297cf156bad 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tie/Hash/NamedCapture/NamedCapture.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.bs b/Master/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.dll b/Master/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.dll
index bfba51b152c..db9f685e60f 100755
--- a/Master/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Time/HiRes/HiRes.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Time/Piece/Piece.bs b/Master/tlpkg/tlperl/lib/auto/Time/Piece/Piece.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Time/Piece/Piece.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Time/Piece/Piece.dll b/Master/tlpkg/tlperl/lib/auto/Time/Piece/Piece.dll
index 194ee002353..e6852366eeb 100755
--- a/Master/tlpkg/tlperl/lib/auto/Time/Piece/Piece.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Time/Piece/Piece.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/.packlist b/Master/tlpkg/tlperl/lib/auto/Tk/.packlist
index 8248dfc9dd2..858ea32bca8 100644
--- a/Master/tlpkg/tlperl/lib/auto/Tk/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/.packlist
@@ -1,662 +1,662 @@
-X:\tlperl\bin\gedi
-X:\tlperl\bin\gedi.bat
-X:\tlperl\bin\ptked
-X:\tlperl\bin\ptked.bat
-X:\tlperl\bin\ptksh
-X:\tlperl\bin\ptksh.bat
-X:\tlperl\bin\tkjpeg
-X:\tlperl\bin\tkjpeg.bat
-X:\tlperl\bin\widget
-X:\tlperl\bin\widget.bat
-X:\tlperl\site\lib\Tie\Watch.pm
-X:\tlperl\site\lib\Tk.pm
-X:\tlperl\site\lib\Tk.pod
-X:\tlperl\site\lib\Tk\804delta.pod
-X:\tlperl\site\lib\Tk\Adjuster.pm
-X:\tlperl\site\lib\Tk\Adjuster.pod
-X:\tlperl\site\lib\Tk\After.pm
-X:\tlperl\site\lib\Tk\Animation.pm
-X:\tlperl\site\lib\Tk\Animation.pod
-X:\tlperl\site\lib\Tk\Balloon.pm
-X:\tlperl\site\lib\Tk\Balloon.pod
-X:\tlperl\site\lib\Tk\Bitmap.pm
-X:\tlperl\site\lib\Tk\Bitmap.pod
-X:\tlperl\site\lib\Tk\BrowseEntry.pm
-X:\tlperl\site\lib\Tk\BrowseEntry.pod
-X:\tlperl\site\lib\Tk\Button.pm
-X:\tlperl\site\lib\Tk\Button.pod
-X:\tlperl\site\lib\Tk\Camel.xpm
-X:\tlperl\site\lib\Tk\Canvas.pm
-X:\tlperl\site\lib\Tk\Canvas.pod
-X:\tlperl\site\lib\Tk\Checkbutton.pm
-X:\tlperl\site\lib\Tk\Checkbutton.pod
-X:\tlperl\site\lib\Tk\Clipboard.pm
-X:\tlperl\site\lib\Tk\Clipboard.pod
-X:\tlperl\site\lib\Tk\CmdLine.pm
-X:\tlperl\site\lib\Tk\CmdLine.pod
-X:\tlperl\site\lib\Tk\ColorEdit.xpm
-X:\tlperl\site\lib\Tk\ColorEditor.pm
-X:\tlperl\site\lib\Tk\ColorEditor.pod
-X:\tlperl\site\lib\Tk\Common.pod
-X:\tlperl\site\lib\Tk\Compound.pm
-X:\tlperl\site\lib\Tk\Compound.pod
-X:\tlperl\site\lib\Tk\Config.pm
-X:\tlperl\site\lib\Tk\ConfigSpecs.pod
-X:\tlperl\site\lib\Tk\Configure.pm
-X:\tlperl\site\lib\Tk\Credits
-X:\tlperl\site\lib\Tk\DItem.pod
-X:\tlperl\site\lib\Tk\Derived.pm
-X:\tlperl\site\lib\Tk\Derived.pod
-X:\tlperl\site\lib\Tk\Dialog.pm
-X:\tlperl\site\lib\Tk\Dialog.pod
-X:\tlperl\site\lib\Tk\DialogBox.pm
-X:\tlperl\site\lib\Tk\DialogBox.pod
-X:\tlperl\site\lib\Tk\DirTree.pm
-X:\tlperl\site\lib\Tk\DirTree.pod
-X:\tlperl\site\lib\Tk\Dirlist.pm
-X:\tlperl\site\lib\Tk\DragDrop.pm
-X:\tlperl\site\lib\Tk\DragDrop\Common.pm
-X:\tlperl\site\lib\Tk\DragDrop\LocalDrop.pm
-X:\tlperl\site\lib\Tk\DragDrop\Rect.pm
-X:\tlperl\site\lib\Tk\DragDrop\SunConst.pm
-X:\tlperl\site\lib\Tk\DragDrop\SunDrop.pm
-X:\tlperl\site\lib\Tk\DragDrop\SunSite.pm
-X:\tlperl\site\lib\Tk\DragDrop\Win32Drop.pm
-X:\tlperl\site\lib\Tk\DragDrop\Win32Site.pm
-X:\tlperl\site\lib\Tk\DragDrop\XDNDDrop.pm
-X:\tlperl\site\lib\Tk\DragDrop\XDNDSite.pm
-X:\tlperl\site\lib\Tk\DropSite.pm
-X:\tlperl\site\lib\Tk\DropSite.pod
-X:\tlperl\site\lib\Tk\DummyEncode.pm
-X:\tlperl\site\lib\Tk\English.pm
-X:\tlperl\site\lib\Tk\Entry.pm
-X:\tlperl\site\lib\Tk\Entry.pod
-X:\tlperl\site\lib\Tk\Error.pod
-X:\tlperl\site\lib\Tk\ErrorDialog.pm
-X:\tlperl\site\lib\Tk\Event.pm
-X:\tlperl\site\lib\Tk\Event\IO.pm
-X:\tlperl\site\lib\Tk\Eventloop.pod
-X:\tlperl\site\lib\Tk\FBox.pm
-X:\tlperl\site\lib\Tk\FBox.pod
-X:\tlperl\site\lib\Tk\FileSelect.pm
-X:\tlperl\site\lib\Tk\FileSelect.pod
-X:\tlperl\site\lib\Tk\FloatEntry.pm
-X:\tlperl\site\lib\Tk\Font.pm
-X:\tlperl\site\lib\Tk\Font.pod
-X:\tlperl\site\lib\Tk\Frame.pm
-X:\tlperl\site\lib\Tk\Frame.pod
-X:\tlperl\site\lib\Tk\HList.pm
-X:\tlperl\site\lib\Tk\HList.pod
-X:\tlperl\site\lib\Tk\IO.pm
-X:\tlperl\site\lib\Tk\IO.pod
-X:\tlperl\site\lib\Tk\IconList.pm
-X:\tlperl\site\lib\Tk\IconList.pod
-X:\tlperl\site\lib\Tk\Image.pm
-X:\tlperl\site\lib\Tk\Image.pod
-X:\tlperl\site\lib\Tk\InputO.pod
-X:\tlperl\site\lib\Tk\Internals.pod
-X:\tlperl\site\lib\Tk\ItemStyle.pm
-X:\tlperl\site\lib\Tk\JPEG.pm
-X:\tlperl\site\lib\Tk\LabEntry.pm
-X:\tlperl\site\lib\Tk\LabFrame.pm
-X:\tlperl\site\lib\Tk\LabFrame.pod
-X:\tlperl\site\lib\Tk\LabRadio.pm
-X:\tlperl\site\lib\Tk\Label.pm
-X:\tlperl\site\lib\Tk\Label.pod
-X:\tlperl\site\lib\Tk\Labelframe.pm
-X:\tlperl\site\lib\Tk\Labelframe.pod
-X:\tlperl\site\lib\Tk\Listbox.pm
-X:\tlperl\site\lib\Tk\Listbox.pod
-X:\tlperl\site\lib\Tk\MMtry.pm
-X:\tlperl\site\lib\Tk\MMutil.pm
-X:\tlperl\site\lib\Tk\MainWindow.pm
-X:\tlperl\site\lib\Tk\MainWindow.pod
-X:\tlperl\site\lib\Tk\MakeDepend.pm
-X:\tlperl\site\lib\Tk\Menu.pm
-X:\tlperl\site\lib\Tk\Menu.pod
-X:\tlperl\site\lib\Tk\Menu\Item.pm
-X:\tlperl\site\lib\Tk\Menu\Item.pod
-X:\tlperl\site\lib\Tk\Menubar.pm
-X:\tlperl\site\lib\Tk\Menubutton.pm
-X:\tlperl\site\lib\Tk\Menubutton.pod
-X:\tlperl\site\lib\Tk\Message.pm
-X:\tlperl\site\lib\Tk\Message.pod
-X:\tlperl\site\lib\Tk\MsgBox.pm
-X:\tlperl\site\lib\Tk\MsgBox.pod
-X:\tlperl\site\lib\Tk\Mwm.pod
-X:\tlperl\site\lib\Tk\NBFrame.pm
-X:\tlperl\site\lib\Tk\NoteBook.pm
-X:\tlperl\site\lib\Tk\NoteBook.pod
-X:\tlperl\site\lib\Tk\Optionmenu.pm
-X:\tlperl\site\lib\Tk\Optionmenu.pod
-X:\tlperl\site\lib\Tk\PNG.pm
-X:\tlperl\site\lib\Tk\Pane.pm
-X:\tlperl\site\lib\Tk\Panedwindow.pm
-X:\tlperl\site\lib\Tk\Panedwindow.pod
-X:\tlperl\site\lib\Tk\Photo.pm
-X:\tlperl\site\lib\Tk\Photo.pod
-X:\tlperl\site\lib\Tk\Pixmap.pm
-X:\tlperl\site\lib\Tk\Pixmap.pod
-X:\tlperl\site\lib\Tk\Popup.pod
-X:\tlperl\site\lib\Tk\Pretty.pm
-X:\tlperl\site\lib\Tk\ProgressBar.pm
-X:\tlperl\site\lib\Tk\README.Adjust
-X:\tlperl\site\lib\Tk\ROText.pm
-X:\tlperl\site\lib\Tk\ROText.pod
-X:\tlperl\site\lib\Tk\Radiobutton.pm
-X:\tlperl\site\lib\Tk\Radiobutton.pod
-X:\tlperl\site\lib\Tk\Region.pm
-X:\tlperl\site\lib\Tk\Reindex.pm
-X:\tlperl\site\lib\Tk\ReindexedROText.pm
-X:\tlperl\site\lib\Tk\ReindexedText.pm
-X:\tlperl\site\lib\Tk\Scale.pm
-X:\tlperl\site\lib\Tk\Scale.pod
-X:\tlperl\site\lib\Tk\Scrollbar.pm
-X:\tlperl\site\lib\Tk\Scrollbar.pod
-X:\tlperl\site\lib\Tk\Scrolled.pod
-X:\tlperl\site\lib\Tk\Spinbox.pm
-X:\tlperl\site\lib\Tk\Spinbox.pod
-X:\tlperl\site\lib\Tk\Stats.pm
-X:\tlperl\site\lib\Tk\Submethods.pm
-X:\tlperl\site\lib\Tk\Submethods.pod
-X:\tlperl\site\lib\Tk\SunConst.pod
-X:\tlperl\site\lib\Tk\TList.pm
-X:\tlperl\site\lib\Tk\TList.pod
-X:\tlperl\site\lib\Tk\Table.pm
-X:\tlperl\site\lib\Tk\Table.pod
-X:\tlperl\site\lib\Tk\Tcl-perl.pod
-X:\tlperl\site\lib\Tk\Text.pm
-X:\tlperl\site\lib\Tk\Text.pod
-X:\tlperl\site\lib\Tk\TextEdit.pm
-X:\tlperl\site\lib\Tk\TextList.pm
-X:\tlperl\site\lib\Tk\TextUndo.pm
-X:\tlperl\site\lib\Tk\TextUndo.pod
-X:\tlperl\site\lib\Tk\Text\Tag.pm
-X:\tlperl\site\lib\Tk\Tiler.pm
-X:\tlperl\site\lib\Tk\Tiler.pod
-X:\tlperl\site\lib\Tk\TixGrid.pm
-X:\tlperl\site\lib\Tk\TixGrid.pod
-X:\tlperl\site\lib\Tk\Tk.xbm
-X:\tlperl\site\lib\Tk\Tk.xpm
-X:\tlperl\site\lib\Tk\TkXSUB.def
-X:\tlperl\site\lib\Tk\Toplevel.pm
-X:\tlperl\site\lib\Tk\Toplevel.pod
-X:\tlperl\site\lib\Tk\Trace.pm
-X:\tlperl\site\lib\Tk\Tree.pm
-X:\tlperl\site\lib\Tk\Tree.pod
-X:\tlperl\site\lib\Tk\UserGuide.pod
-X:\tlperl\site\lib\Tk\Widget.pm
-X:\tlperl\site\lib\Tk\Widget.pod
-X:\tlperl\site\lib\Tk\WidgetDemo.pod
-X:\tlperl\site\lib\Tk\Wm.pm
-X:\tlperl\site\lib\Tk\Wm.pod
-X:\tlperl\site\lib\Tk\X.pm
-X:\tlperl\site\lib\Tk\X.pod
-X:\tlperl\site\lib\Tk\X11Font.pm
-X:\tlperl\site\lib\Tk\X11Font.pod
-X:\tlperl\site\lib\Tk\X11\X.h
-X:\tlperl\site\lib\Tk\X11\Xatom.h
-X:\tlperl\site\lib\Tk\X11\Xfuncproto.h
-X:\tlperl\site\lib\Tk\X11\Xlib.h
-X:\tlperl\site\lib\Tk\X11\Xutil.h
-X:\tlperl\site\lib\Tk\X11\cursorfont.h
-X:\tlperl\site\lib\Tk\X11\keysym.h
-X:\tlperl\site\lib\Tk\X11\keysymdef.h
-X:\tlperl\site\lib\Tk\X11\license.terms
-X:\tlperl\site\lib\Tk\Xcamel.gif
-X:\tlperl\site\lib\Tk\Xlib.pm
-X:\tlperl\site\lib\Tk\Xrm.pm
-X:\tlperl\site\lib\Tk\Xrm.pod
-X:\tlperl\site\lib\Tk\act_folder.xbm
-X:\tlperl\site\lib\Tk\act_folder.xpm
-X:\tlperl\site\lib\Tk\after.pod
-X:\tlperl\site\lib\Tk\anim.gif
-X:\tlperl\site\lib\Tk\arrowdownwin.xbm
-X:\tlperl\site\lib\Tk\balArrow.xbm
-X:\tlperl\site\lib\Tk\bind.pod
-X:\tlperl\site\lib\Tk\bindtags.pod
-X:\tlperl\site\lib\Tk\callbacks.pod
-X:\tlperl\site\lib\Tk\cbxarrow.xbm
-X:\tlperl\site\lib\Tk\chooseColor.pod
-X:\tlperl\site\lib\Tk\chooseDirectory.pod
-X:\tlperl\site\lib\Tk\composite.pod
-X:\tlperl\site\lib\Tk\demos\LabEnLabRad.pm
-X:\tlperl\site\lib\Tk\demos\images\QuitPB.xpm
-X:\tlperl\site\lib\Tk\demos\images\QuitPBa.xpm
-X:\tlperl\site\lib\Tk\demos\images\c.icon
-X:\tlperl\site\lib\Tk\demos\images\cursor.cur
-X:\tlperl\site\lib\Tk\demos\images\cursor.mask
-X:\tlperl\site\lib\Tk\demos\images\cursor.xbm
-X:\tlperl\site\lib\Tk\demos\images\dir.icon
-X:\tlperl\site\lib\Tk\demos\images\dir.mask
-X:\tlperl\site\lib\Tk\demos\images\earth.gif
-X:\tlperl\site\lib\Tk\demos\images\earthris.gif
-X:\tlperl\site\lib\Tk\demos\images\face
-X:\tlperl\site\lib\Tk\demos\images\flagdown
-X:\tlperl\site\lib\Tk\demos\images\flagup
-X:\tlperl\site\lib\Tk\demos\images\grey.25
-X:\tlperl\site\lib\Tk\demos\images\grey.5
-X:\tlperl\site\lib\Tk\demos\images\letters
-X:\tlperl\site\lib\Tk\demos\images\mickey.gif
-X:\tlperl\site\lib\Tk\demos\images\ned.xpm
-X:\tlperl\site\lib\Tk\demos\images\noletters
-X:\tlperl\site\lib\Tk\demos\images\page.icon
-X:\tlperl\site\lib\Tk\demos\images\page.mask
-X:\tlperl\site\lib\Tk\demos\images\pattern
-X:\tlperl\site\lib\Tk\demos\images\teapot.ppm
-X:\tlperl\site\lib\Tk\demos\widget_lib\Ball.pm
-X:\tlperl\site\lib\Tk\demos\widget_lib\HList.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\HList2.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\Plot.pm
-X:\tlperl\site\lib\Tk\demos\widget_lib\WidgetDemo.pm
-X:\tlperl\site\lib\Tk\demos\widget_lib\arrows.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\balloon.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\bind.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\bitmaps.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\bounce.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\browseentry.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\browseentry2.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\button.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\check.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\choosedir.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\clrpick.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\colors.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\cscroll.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\ctext.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\dialog1.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\dialog2.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\dirtree.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\entry1.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\entry2.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\entry3.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\filebox.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\floor.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\form.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\form_mgr.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\hello.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\hscale.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\icon.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\image1.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\image2.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\items.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\keysyms.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\labelframe.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\labels.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\labframe.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\mega.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\menbut.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\menus.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\menus2.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\msgBox.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\notebook.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\paned1.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\paned2.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\photo1.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\photo2.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\plot.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\progress.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\puzzle.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\radio.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\ruler.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\sayings.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\search.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\showVars.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\slide.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\spin.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\states.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\style.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\texts.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\trace1.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\trace2.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\transtile.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\twind.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\unicodeout.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\virtevents1.pl
-X:\tlperl\site\lib\Tk\demos\widget_lib\vscale.pl
-X:\tlperl\site\lib\Tk\demos\widtrib\Gedi.pl
-X:\tlperl\site\lib\Tk\demos\widtrib\TEMPLATE.pl
-X:\tlperl\site\lib\Tk\demos\widtrib\Tiler.pl
-X:\tlperl\site\lib\Tk\demos\widtrib\all.pl
-X:\tlperl\site\lib\Tk\demos\widtrib\cursor.pl
-X:\tlperl\site\lib\Tk\demos\widtrib\lib\npuz\Xcamel.npuz
-X:\tlperl\site\lib\Tk\demos\widtrib\npuz.pl
-X:\tlperl\site\lib\Tk\demos\widtrib\plop.pl
-X:\tlperl\site\lib\Tk\event.pod
-X:\tlperl\site\lib\Tk\exit.pod
-X:\tlperl\site\lib\Tk\file.xbm
-X:\tlperl\site\lib\Tk\file.xpm
-X:\tlperl\site\lib\Tk\fileevent.pod
-X:\tlperl\site\lib\Tk\focus.pod
-X:\tlperl\site\lib\Tk\folder.xbm
-X:\tlperl\site\lib\Tk\folder.xpm
-X:\tlperl\site\lib\Tk\form.pod
-X:\tlperl\site\lib\Tk\getOpenFile.pod
-X:\tlperl\site\lib\Tk\grab.pod
-X:\tlperl\site\lib\Tk\grid.pod
-X:\tlperl\site\lib\Tk\icon.gif
-X:\tlperl\site\lib\Tk\install.pm
-X:\tlperl\site\lib\Tk\license.terms
-X:\tlperl\site\lib\Tk\mega.pod
-X:\tlperl\site\lib\Tk\messageBox.pod
-X:\tlperl\site\lib\Tk\openfile.xbm
-X:\tlperl\site\lib\Tk\openfolder.xbm
-X:\tlperl\site\lib\Tk\openfolder.xpm
-X:\tlperl\site\lib\Tk\option.pod
-X:\tlperl\site\lib\Tk\options.pod
-X:\tlperl\site\lib\Tk\overview.pod
-X:\tlperl\site\lib\Tk\pTk.pod
-X:\tlperl\site\lib\Tk\pTk\Lang.h
-X:\tlperl\site\lib\Tk\pTk\Lang.m
-X:\tlperl\site\lib\Tk\pTk\Lang.t
-X:\tlperl\site\lib\Tk\pTk\Lang_f.h
-X:\tlperl\site\lib\Tk\pTk\Tcl-pTk
-X:\tlperl\site\lib\Tk\pTk\Xlib.h
-X:\tlperl\site\lib\Tk\pTk\Xlib.m
-X:\tlperl\site\lib\Tk\pTk\Xlib.t
-X:\tlperl\site\lib\Tk\pTk\Xlib_f.h
-X:\tlperl\site\lib\Tk\pTk\compat\limits.h
-X:\tlperl\site\lib\Tk\pTk\compat\stdlib.h
-X:\tlperl\site\lib\Tk\pTk\compat\unistd.h
-X:\tlperl\site\lib\Tk\pTk\default.h
-X:\tlperl\site\lib\Tk\pTk\img.h
-X:\tlperl\site\lib\Tk\pTk\imgInt.h
-X:\tlperl\site\lib\Tk\pTk\imgInt.m
-X:\tlperl\site\lib\Tk\pTk\imgInt.t
-X:\tlperl\site\lib\Tk\pTk\imgInt_f.h
-X:\tlperl\site\lib\Tk\pTk\ks_names.h
-X:\tlperl\site\lib\Tk\pTk\mkVFunc
-X:\tlperl\site\lib\Tk\pTk\moredefs.h
-X:\tlperl\site\lib\Tk\pTk\port.h
-X:\tlperl\site\lib\Tk\pTk\tcl.h
-X:\tlperl\site\lib\Tk\pTk\tclDecls.h
-X:\tlperl\site\lib\Tk\pTk\tclDecls.m
-X:\tlperl\site\lib\Tk\pTk\tclDecls.t
-X:\tlperl\site\lib\Tk\pTk\tclDecls_f.h
-X:\tlperl\site\lib\Tk\pTk\tclIntDecls.h
-X:\tlperl\site\lib\Tk\pTk\tclIntPlatDecls.h
-X:\tlperl\site\lib\Tk\pTk\tclMath.h
-X:\tlperl\site\lib\Tk\pTk\tclPlatDecls.h
-X:\tlperl\site\lib\Tk\pTk\tclWinInt.h
-X:\tlperl\site\lib\Tk\pTk\tix.h
-X:\tlperl\site\lib\Tk\pTk\tix.m
-X:\tlperl\site\lib\Tk\pTk\tix.t
-X:\tlperl\site\lib\Tk\pTk\tixBitmaps.h
-X:\tlperl\site\lib\Tk\pTk\tixDef.h
-X:\tlperl\site\lib\Tk\pTk\tixForm.h
-X:\tlperl\site\lib\Tk\pTk\tixGrData.h
-X:\tlperl\site\lib\Tk\pTk\tixGrid.h
-X:\tlperl\site\lib\Tk\pTk\tixHList.h
-X:\tlperl\site\lib\Tk\pTk\tixImgXpm.h
-X:\tlperl\site\lib\Tk\pTk\tixImgXpm.m
-X:\tlperl\site\lib\Tk\pTk\tixImgXpm.t
-X:\tlperl\site\lib\Tk\pTk\tixImgXpm_f.h
-X:\tlperl\site\lib\Tk\pTk\tixInt.h
-X:\tlperl\site\lib\Tk\pTk\tixInt.m
-X:\tlperl\site\lib\Tk\pTk\tixInt.t
-X:\tlperl\site\lib\Tk\pTk\tixInt_f.h
-X:\tlperl\site\lib\Tk\pTk\tixPort.h
-X:\tlperl\site\lib\Tk\pTk\tixTList.h
-X:\tlperl\site\lib\Tk\pTk\tixWinInt.h
-X:\tlperl\site\lib\Tk\pTk\tixWinPort.h
-X:\tlperl\site\lib\Tk\pTk\tix_f.h
-X:\tlperl\site\lib\Tk\pTk\tk.h
-X:\tlperl\site\lib\Tk\pTk\tk.m
-X:\tlperl\site\lib\Tk\pTk\tk.t
-X:\tlperl\site\lib\Tk\pTk\tk3d.h
-X:\tlperl\site\lib\Tk\pTk\tkButton.h
-X:\tlperl\site\lib\Tk\pTk\tkCanvas.h
-X:\tlperl\site\lib\Tk\pTk\tkCanvases.h
-X:\tlperl\site\lib\Tk\pTk\tkColor.h
-X:\tlperl\site\lib\Tk\pTk\tkConfig.h
-X:\tlperl\site\lib\Tk\pTk\tkDecls.h
-X:\tlperl\site\lib\Tk\pTk\tkDecls.m
-X:\tlperl\site\lib\Tk\pTk\tkDecls.t
-X:\tlperl\site\lib\Tk\pTk\tkDecls_f.h
-X:\tlperl\site\lib\Tk\pTk\tkEvent.h
-X:\tlperl\site\lib\Tk\pTk\tkEvent.m
-X:\tlperl\site\lib\Tk\pTk\tkEvent.t
-X:\tlperl\site\lib\Tk\pTk\tkEvent_f.h
-X:\tlperl\site\lib\Tk\pTk\tkFileFilter.h
-X:\tlperl\site\lib\Tk\pTk\tkFont.h
-X:\tlperl\site\lib\Tk\pTk\tkImgPhoto.h
-X:\tlperl\site\lib\Tk\pTk\tkImgPhoto.m
-X:\tlperl\site\lib\Tk\pTk\tkImgPhoto.t
-X:\tlperl\site\lib\Tk\pTk\tkImgPhoto_f.h
-X:\tlperl\site\lib\Tk\pTk\tkInitScript.h
-X:\tlperl\site\lib\Tk\pTk\tkInt.h
-X:\tlperl\site\lib\Tk\pTk\tkInt.m
-X:\tlperl\site\lib\Tk\pTk\tkInt.t
-X:\tlperl\site\lib\Tk\pTk\tkIntDecls.h
-X:\tlperl\site\lib\Tk\pTk\tkIntDecls.m
-X:\tlperl\site\lib\Tk\pTk\tkIntDecls.t
-X:\tlperl\site\lib\Tk\pTk\tkIntDecls_f.h
-X:\tlperl\site\lib\Tk\pTk\tkIntPlatDecls.h
-X:\tlperl\site\lib\Tk\pTk\tkIntPlatDecls.m
-X:\tlperl\site\lib\Tk\pTk\tkIntPlatDecls.t
-X:\tlperl\site\lib\Tk\pTk\tkIntPlatDecls_f.h
-X:\tlperl\site\lib\Tk\pTk\tkIntXlibDecls.h
-X:\tlperl\site\lib\Tk\pTk\tkIntXlibDecls.m
-X:\tlperl\site\lib\Tk\pTk\tkIntXlibDecls.t
-X:\tlperl\site\lib\Tk\pTk\tkIntXlibDecls_f.h
-X:\tlperl\site\lib\Tk\pTk\tkInt_f.h
-X:\tlperl\site\lib\Tk\pTk\tkMenu.h
-X:\tlperl\site\lib\Tk\pTk\tkMenubutton.h
-X:\tlperl\site\lib\Tk\pTk\tkOption.h
-X:\tlperl\site\lib\Tk\pTk\tkOption.m
-X:\tlperl\site\lib\Tk\pTk\tkOption.t
-X:\tlperl\site\lib\Tk\pTk\tkOption_f.h
-X:\tlperl\site\lib\Tk\pTk\tkPlatDecls.h
-X:\tlperl\site\lib\Tk\pTk\tkPlatDecls.m
-X:\tlperl\site\lib\Tk\pTk\tkPlatDecls.t
-X:\tlperl\site\lib\Tk\pTk\tkPlatDecls_f.h
-X:\tlperl\site\lib\Tk\pTk\tkPort.h
-X:\tlperl\site\lib\Tk\pTk\tkScale.h
-X:\tlperl\site\lib\Tk\pTk\tkScrollbar.h
-X:\tlperl\site\lib\Tk\pTk\tkSelect.h
-X:\tlperl\site\lib\Tk\pTk\tkText.h
-X:\tlperl\site\lib\Tk\pTk\tkUndo.h
-X:\tlperl\site\lib\Tk\pTk\tkVMacro.h
-X:\tlperl\site\lib\Tk\pTk\tkWin.h
-X:\tlperl\site\lib\Tk\pTk\tkWinDefault.h
-X:\tlperl\site\lib\Tk\pTk\tkWinInt.h
-X:\tlperl\site\lib\Tk\pTk\tkWinPort.h
-X:\tlperl\site\lib\Tk\pTk\tkXrm.h
-X:\tlperl\site\lib\Tk\pTk\tk_f.h
-X:\tlperl\site\lib\Tk\pTk\xbytes.h
-X:\tlperl\site\lib\Tk\pack.pod
-X:\tlperl\site\lib\Tk\palette.pod
-X:\tlperl\site\lib\Tk\place.pod
-X:\tlperl\site\lib\Tk\prolog.ps
-X:\tlperl\site\lib\Tk\selection.pod
-X:\tlperl\site\lib\Tk\send.pod
-X:\tlperl\site\lib\Tk\srcfile.xpm
-X:\tlperl\site\lib\Tk\textfile.xpm
-X:\tlperl\site\lib\Tk\tixWm.pod
-X:\tlperl\site\lib\Tk\tkGlue.def
-X:\tlperl\site\lib\Tk\tkGlue.h
-X:\tlperl\site\lib\Tk\tkGlue.m
-X:\tlperl\site\lib\Tk\tkGlue.t
-X:\tlperl\site\lib\Tk\tkGlue_f.h
-X:\tlperl\site\lib\Tk\tkvars.pod
-X:\tlperl\site\lib\Tk\tranicon.gif
-X:\tlperl\site\lib\Tk\typemap
-X:\tlperl\site\lib\Tk\vtab.def
-X:\tlperl\site\lib\Tk\widgets.pm
-X:\tlperl\site\lib\Tk\widgets.pod
-X:\tlperl\site\lib\Tk\win.xbm
-X:\tlperl\site\lib\Tk\winfolder.xpm
-X:\tlperl\site\lib\Tk\wintext.xpm
-X:\tlperl\site\lib\auto\Tk\CancelRepeat.al
-X:\tlperl\site\lib\auto\Tk\Canvas\Canvas.bs
-X:\tlperl\site\lib\auto\Tk\Canvas\Canvas.dll
-X:\tlperl\site\lib\auto\Tk\Clipboard\autosplit.ix
-X:\tlperl\site\lib\auto\Tk\Clipboard\getSelected.al
-X:\tlperl\site\lib\auto\Tk\Compound\Compound.bs
-X:\tlperl\site\lib\auto\Tk\Compound\Compound.dll
-X:\tlperl\site\lib\auto\Tk\DragDrop\Win32Site\Win32Site.bs
-X:\tlperl\site\lib\auto\Tk\DragDrop\Win32Site\Win32Site.dll
-X:\tlperl\site\lib\auto\Tk\EnterFocus.al
-X:\tlperl\site\lib\auto\Tk\Entry\Entry.bs
-X:\tlperl\site\lib\auto\Tk\Entry\Entry.dll
-X:\tlperl\site\lib\auto\Tk\Error.al
-X:\tlperl\site\lib\auto\Tk\Event\Event.bs
-X:\tlperl\site\lib\auto\Tk\Event\Event.dll
-X:\tlperl\site\lib\auto\Tk\FirstMenu.al
-X:\tlperl\site\lib\auto\Tk\FocusChildren.al
-X:\tlperl\site\lib\auto\Tk\FocusOK.al
-X:\tlperl\site\lib\auto\Tk\Frame\AddScrollbars.al
-X:\tlperl\site\lib\auto\Tk\Frame\FindMenu.al
-X:\tlperl\site\lib\auto\Tk\Frame\autosplit.ix
-X:\tlperl\site\lib\auto\Tk\Frame\freeze_on_map.al
-X:\tlperl\site\lib\auto\Tk\Frame\label.al
-X:\tlperl\site\lib\auto\Tk\Frame\labelPack.al
-X:\tlperl\site\lib\auto\Tk\Frame\labelVariable.al
-X:\tlperl\site\lib\auto\Tk\Frame\packscrollbars.al
-X:\tlperl\site\lib\auto\Tk\Frame\queuePack.al
-X:\tlperl\site\lib\auto\Tk\Frame\sbset.al
-X:\tlperl\site\lib\auto\Tk\Frame\scrollbars.al
-X:\tlperl\site\lib\auto\Tk\HList\HList.bs
-X:\tlperl\site\lib\auto\Tk\HList\HList.dll
-X:\tlperl\site\lib\auto\Tk\IO\IO.bs
-X:\tlperl\site\lib\auto\Tk\IO\IO.dll
-X:\tlperl\site\lib\auto\Tk\ImageNames.al
-X:\tlperl\site\lib\auto\Tk\ImageTypes.al
-X:\tlperl\site\lib\auto\Tk\JPEG\JPEG.bs
-X:\tlperl\site\lib\auto\Tk\JPEG\JPEG.dll
-X:\tlperl\site\lib\auto\Tk\Listbox\AutoScan.al
-X:\tlperl\site\lib\auto\Tk\Listbox\BeginExtend.al
-X:\tlperl\site\lib\auto\Tk\Listbox\BeginSelect.al
-X:\tlperl\site\lib\auto\Tk\Listbox\BeginToggle.al
-X:\tlperl\site\lib\auto\Tk\Listbox\ButtonRelease_1.al
-X:\tlperl\site\lib\auto\Tk\Listbox\CLEAR.al
-X:\tlperl\site\lib\auto\Tk\Listbox\Cancel.al
-X:\tlperl\site\lib\auto\Tk\Listbox\Cntrl_End.al
-X:\tlperl\site\lib\auto\Tk\Listbox\Cntrl_Home.al
-X:\tlperl\site\lib\auto\Tk\Listbox\Cntrl_backslash.al
-X:\tlperl\site\lib\auto\Tk\Listbox\DELETE.al
-X:\tlperl\site\lib\auto\Tk\Listbox\DataExtend.al
-X:\tlperl\site\lib\auto\Tk\Listbox\EXISTS.al
-X:\tlperl\site\lib\auto\Tk\Listbox\EXTEND.al
-X:\tlperl\site\lib\auto\Tk\Listbox\ExtendUpDown.al
-X:\tlperl\site\lib\auto\Tk\Listbox\FETCH.al
-X:\tlperl\site\lib\auto\Tk\Listbox\FETCHSIZE.al
-X:\tlperl\site\lib\auto\Tk\Listbox\Listbox.bs
-X:\tlperl\site\lib\auto\Tk\Listbox\Listbox.dll
-X:\tlperl\site\lib\auto\Tk\Listbox\Motion.al
-X:\tlperl\site\lib\auto\Tk\Listbox\POP.al
-X:\tlperl\site\lib\auto\Tk\Listbox\PUSH.al
-X:\tlperl\site\lib\auto\Tk\Listbox\SHIFT.al
-X:\tlperl\site\lib\auto\Tk\Listbox\SPLICE.al
-X:\tlperl\site\lib\auto\Tk\Listbox\STORE.al
-X:\tlperl\site\lib\auto\Tk\Listbox\SelectAll.al
-X:\tlperl\site\lib\auto\Tk\Listbox\SetList.al
-X:\tlperl\site\lib\auto\Tk\Listbox\TIEARRAY.al
-X:\tlperl\site\lib\auto\Tk\Listbox\TIESCALAR.al
-X:\tlperl\site\lib\auto\Tk\Listbox\UNSHIFT.al
-X:\tlperl\site\lib\auto\Tk\Listbox\UpDown.al
-X:\tlperl\site\lib\auto\Tk\Listbox\autosplit.ix
-X:\tlperl\site\lib\auto\Tk\Listbox\clipboardPaste.al
-X:\tlperl\site\lib\auto\Tk\Listbox\deleteSelected.al
-X:\tlperl\site\lib\auto\Tk\Listbox\getSelected.al
-X:\tlperl\site\lib\auto\Tk\Listbox\xyIndex.al
-X:\tlperl\site\lib\auto\Tk\Menubutton\Menubutton.bs
-X:\tlperl\site\lib\auto\Tk\Menubutton\Menubutton.dll
-X:\tlperl\site\lib\auto\Tk\NBFrame\NBFrame.bs
-X:\tlperl\site\lib\auto\Tk\NBFrame\NBFrame.dll
-X:\tlperl\site\lib\auto\Tk\PNG\PNG.bs
-X:\tlperl\site\lib\auto\Tk\PNG\PNG.dll
-X:\tlperl\site\lib\auto\Tk\Pixmap\Pixmap.bs
-X:\tlperl\site\lib\auto\Tk\Pixmap\Pixmap.dll
-X:\tlperl\site\lib\auto\Tk\Receive.al
-X:\tlperl\site\lib\auto\Tk\RepeatId.al
-X:\tlperl\site\lib\auto\Tk\Scale\Activate.al
-X:\tlperl\site\lib\auto\Tk\Scale\ButtonDown.al
-X:\tlperl\site\lib\auto\Tk\Scale\ButtonUp.al
-X:\tlperl\site\lib\auto\Tk\Scale\ControlPress.al
-X:\tlperl\site\lib\auto\Tk\Scale\Drag.al
-X:\tlperl\site\lib\auto\Tk\Scale\EndDrag.al
-X:\tlperl\site\lib\auto\Tk\Scale\Enter.al
-X:\tlperl\site\lib\auto\Tk\Scale\Increment.al
-X:\tlperl\site\lib\auto\Tk\Scale\Leave.al
-X:\tlperl\site\lib\auto\Tk\Scale\Scale.bs
-X:\tlperl\site\lib\auto\Tk\Scale\Scale.dll
-X:\tlperl\site\lib\auto\Tk\Scale\autosplit.ix
-X:\tlperl\site\lib\auto\Tk\Scrollbar\ButtonDown.al
-X:\tlperl\site\lib\auto\Tk\Scrollbar\ButtonUp.al
-X:\tlperl\site\lib\auto\Tk\Scrollbar\Drag.al
-X:\tlperl\site\lib\auto\Tk\Scrollbar\EndDrag.al
-X:\tlperl\site\lib\auto\Tk\Scrollbar\Enter.al
-X:\tlperl\site\lib\auto\Tk\Scrollbar\Leave.al
-X:\tlperl\site\lib\auto\Tk\Scrollbar\Motion.al
-X:\tlperl\site\lib\auto\Tk\Scrollbar\ScrlByPages.al
-X:\tlperl\site\lib\auto\Tk\Scrollbar\ScrlByUnits.al
-X:\tlperl\site\lib\auto\Tk\Scrollbar\ScrlToPos.al
-X:\tlperl\site\lib\auto\Tk\Scrollbar\ScrlTopBottom.al
-X:\tlperl\site\lib\auto\Tk\Scrollbar\Scrollbar.bs
-X:\tlperl\site\lib\auto\Tk\Scrollbar\Scrollbar.dll
-X:\tlperl\site\lib\auto\Tk\Scrollbar\Select.al
-X:\tlperl\site\lib\auto\Tk\Scrollbar\StartDrag.al
-X:\tlperl\site\lib\auto\Tk\Scrollbar\autosplit.ix
-X:\tlperl\site\lib\auto\Tk\Selection.al
-X:\tlperl\site\lib\auto\Tk\TList\TList.bs
-X:\tlperl\site\lib\auto\Tk\TList\TList.dll
-X:\tlperl\site\lib\auto\Tk\Table\Create.al
-X:\tlperl\site\lib\auto\Tk\Table\Posn.al
-X:\tlperl\site\lib\auto\Tk\Table\autosplit.ix
-X:\tlperl\site\lib\auto\Tk\Table\see.al
-X:\tlperl\site\lib\auto\Tk\Table\totalColumns.al
-X:\tlperl\site\lib\auto\Tk\Table\totalRows.al
-X:\tlperl\site\lib\auto\Tk\TextEdit\autosplit.ix
-X:\tlperl\site\lib\auto\Tk\TextUndo\autosplit.ix
-X:\tlperl\site\lib\auto\Tk\Text\Text.bs
-X:\tlperl\site\lib\auto\Tk\Text\Text.dll
-X:\tlperl\site\lib\auto\Tk\Text\autosplit.ix
-X:\tlperl\site\lib\auto\Tk\TixGrid\TixGrid.bs
-X:\tlperl\site\lib\auto\Tk\TixGrid\TixGrid.dll
-X:\tlperl\site\lib\auto\Tk\Tk.bs
-X:\tlperl\site\lib\auto\Tk\Tk.dll
-X:\tlperl\site\lib\auto\Tk\Toplevel\FG_BindIn.al
-X:\tlperl\site\lib\auto\Tk\Toplevel\FG_BindOut.al
-X:\tlperl\site\lib\auto\Tk\Toplevel\FG_Create.al
-X:\tlperl\site\lib\auto\Tk\Toplevel\FG_Destroy.al
-X:\tlperl\site\lib\auto\Tk\Toplevel\FG_In.al
-X:\tlperl\site\lib\auto\Tk\Toplevel\FG_Out.al
-X:\tlperl\site\lib\auto\Tk\Toplevel\autosplit.ix
-X:\tlperl\site\lib\auto\Tk\TraverseToMenu.al
-X:\tlperl\site\lib\auto\Tk\Widget\ASkludge.al
-X:\tlperl\site\lib\auto\Tk\Widget\AltKeyInDialog.al
-X:\tlperl\site\lib\auto\Tk\Widget\AmpWidget.al
-X:\tlperl\site\lib\auto\Tk\Widget\FindAltKeyTarget.al
-X:\tlperl\site\lib\auto\Tk\Widget\MasterMenu.al
-X:\tlperl\site\lib\auto\Tk\Widget\RestoreFocusGrab.al
-X:\tlperl\site\lib\auto\Tk\Widget\SetAmpText.al
-X:\tlperl\site\lib\auto\Tk\Widget\SetFocusGrab.al
-X:\tlperl\site\lib\auto\Tk\Widget\UnderlineAmpersand.al
-X:\tlperl\site\lib\auto\Tk\Widget\autosplit.ix
-X:\tlperl\site\lib\auto\Tk\Widget\bindDump.al
-X:\tlperl\site\lib\auto\Tk\Widget\clipboardKeysyms.al
-X:\tlperl\site\lib\auto\Tk\Widget\pathname.al
-X:\tlperl\site\lib\auto\Tk\Wm\AnchorAdjust.al
-X:\tlperl\site\lib\auto\Tk\Wm\FullScreen.al
-X:\tlperl\site\lib\auto\Tk\Wm\Popup.al
-X:\tlperl\site\lib\auto\Tk\Wm\Post.al
-X:\tlperl\site\lib\auto\Tk\Wm\autosplit.ix
-X:\tlperl\site\lib\auto\Tk\Wm\iconposition.al
-X:\tlperl\site\lib\auto\Tk\X\X.bs
-X:\tlperl\site\lib\auto\Tk\X\X.dll
-X:\tlperl\site\lib\auto\Tk\X\autosplit.ix
-X:\tlperl\site\lib\auto\Tk\Xlib\Xlib.bs
-X:\tlperl\site\lib\auto\Tk\Xlib\Xlib.dll
-X:\tlperl\site\lib\auto\Tk\autosplit.ix
-X:\tlperl\site\lib\auto\Tk\break.al
-X:\tlperl\site\lib\auto\Tk\focusFollowsMouse.al
-X:\tlperl\site\lib\auto\Tk\focusNext.al
-X:\tlperl\site\lib\auto\Tk\focusPrev.al
-X:\tlperl\site\lib\auto\Tk\getEncoding.al
-X:\tlperl\site\lib\auto\Tk\getNextFocus.al
-X:\tlperl\site\lib\auto\Tk\getPrevFocus.al
-X:\tlperl\site\lib\auto\Tk\interps.al
-X:\tlperl\site\lib\auto\Tk\lsearch.al
-X:\tlperl\site\lib\auto\Tk\pTk\extralibs.ld
-X:\tlperl\site\lib\auto\Tk\tabFocus.al
-X:\tlperl\site\lib\auto\Tk\updateWidgets.al
+C:\perl\bin\gedi
+C:\perl\bin\gedi.bat
+C:\perl\bin\ptked
+C:\perl\bin\ptked.bat
+C:\perl\bin\ptksh
+C:\perl\bin\ptksh.bat
+C:\perl\bin\tkjpeg
+C:\perl\bin\tkjpeg.bat
+C:\perl\bin\widget
+C:\perl\bin\widget.bat
+C:\perl\site\lib\Tie\Watch.pm
+C:\perl\site\lib\Tk.pm
+C:\perl\site\lib\Tk.pod
+C:\perl\site\lib\Tk\804delta.pod
+C:\perl\site\lib\Tk\Adjuster.pm
+C:\perl\site\lib\Tk\Adjuster.pod
+C:\perl\site\lib\Tk\After.pm
+C:\perl\site\lib\Tk\Animation.pm
+C:\perl\site\lib\Tk\Animation.pod
+C:\perl\site\lib\Tk\Balloon.pm
+C:\perl\site\lib\Tk\Balloon.pod
+C:\perl\site\lib\Tk\Bitmap.pm
+C:\perl\site\lib\Tk\Bitmap.pod
+C:\perl\site\lib\Tk\BrowseEntry.pm
+C:\perl\site\lib\Tk\BrowseEntry.pod
+C:\perl\site\lib\Tk\Button.pm
+C:\perl\site\lib\Tk\Button.pod
+C:\perl\site\lib\Tk\Camel.xpm
+C:\perl\site\lib\Tk\Canvas.pm
+C:\perl\site\lib\Tk\Canvas.pod
+C:\perl\site\lib\Tk\Checkbutton.pm
+C:\perl\site\lib\Tk\Checkbutton.pod
+C:\perl\site\lib\Tk\Clipboard.pm
+C:\perl\site\lib\Tk\Clipboard.pod
+C:\perl\site\lib\Tk\CmdLine.pm
+C:\perl\site\lib\Tk\CmdLine.pod
+C:\perl\site\lib\Tk\ColorEdit.xpm
+C:\perl\site\lib\Tk\ColorEditor.pm
+C:\perl\site\lib\Tk\ColorEditor.pod
+C:\perl\site\lib\Tk\Common.pod
+C:\perl\site\lib\Tk\Compound.pm
+C:\perl\site\lib\Tk\Compound.pod
+C:\perl\site\lib\Tk\Config.pm
+C:\perl\site\lib\Tk\ConfigSpecs.pod
+C:\perl\site\lib\Tk\Configure.pm
+C:\perl\site\lib\Tk\Credits
+C:\perl\site\lib\Tk\DItem.pod
+C:\perl\site\lib\Tk\Derived.pm
+C:\perl\site\lib\Tk\Derived.pod
+C:\perl\site\lib\Tk\Dialog.pm
+C:\perl\site\lib\Tk\Dialog.pod
+C:\perl\site\lib\Tk\DialogBox.pm
+C:\perl\site\lib\Tk\DialogBox.pod
+C:\perl\site\lib\Tk\DirTree.pm
+C:\perl\site\lib\Tk\DirTree.pod
+C:\perl\site\lib\Tk\Dirlist.pm
+C:\perl\site\lib\Tk\DragDrop.pm
+C:\perl\site\lib\Tk\DragDrop\Common.pm
+C:\perl\site\lib\Tk\DragDrop\LocalDrop.pm
+C:\perl\site\lib\Tk\DragDrop\Rect.pm
+C:\perl\site\lib\Tk\DragDrop\SunConst.pm
+C:\perl\site\lib\Tk\DragDrop\SunDrop.pm
+C:\perl\site\lib\Tk\DragDrop\SunSite.pm
+C:\perl\site\lib\Tk\DragDrop\Win32Drop.pm
+C:\perl\site\lib\Tk\DragDrop\Win32Site.pm
+C:\perl\site\lib\Tk\DragDrop\XDNDDrop.pm
+C:\perl\site\lib\Tk\DragDrop\XDNDSite.pm
+C:\perl\site\lib\Tk\DropSite.pm
+C:\perl\site\lib\Tk\DropSite.pod
+C:\perl\site\lib\Tk\DummyEncode.pm
+C:\perl\site\lib\Tk\English.pm
+C:\perl\site\lib\Tk\Entry.pm
+C:\perl\site\lib\Tk\Entry.pod
+C:\perl\site\lib\Tk\Error.pod
+C:\perl\site\lib\Tk\ErrorDialog.pm
+C:\perl\site\lib\Tk\Event.pm
+C:\perl\site\lib\Tk\Event\IO.pm
+C:\perl\site\lib\Tk\Eventloop.pod
+C:\perl\site\lib\Tk\FBox.pm
+C:\perl\site\lib\Tk\FBox.pod
+C:\perl\site\lib\Tk\FileSelect.pm
+C:\perl\site\lib\Tk\FileSelect.pod
+C:\perl\site\lib\Tk\FloatEntry.pm
+C:\perl\site\lib\Tk\Font.pm
+C:\perl\site\lib\Tk\Font.pod
+C:\perl\site\lib\Tk\Frame.pm
+C:\perl\site\lib\Tk\Frame.pod
+C:\perl\site\lib\Tk\HList.pm
+C:\perl\site\lib\Tk\HList.pod
+C:\perl\site\lib\Tk\IO.pm
+C:\perl\site\lib\Tk\IO.pod
+C:\perl\site\lib\Tk\IconList.pm
+C:\perl\site\lib\Tk\IconList.pod
+C:\perl\site\lib\Tk\Image.pm
+C:\perl\site\lib\Tk\Image.pod
+C:\perl\site\lib\Tk\InputO.pod
+C:\perl\site\lib\Tk\Internals.pod
+C:\perl\site\lib\Tk\ItemStyle.pm
+C:\perl\site\lib\Tk\JPEG.pm
+C:\perl\site\lib\Tk\LabEntry.pm
+C:\perl\site\lib\Tk\LabFrame.pm
+C:\perl\site\lib\Tk\LabFrame.pod
+C:\perl\site\lib\Tk\LabRadio.pm
+C:\perl\site\lib\Tk\Label.pm
+C:\perl\site\lib\Tk\Label.pod
+C:\perl\site\lib\Tk\Labelframe.pm
+C:\perl\site\lib\Tk\Labelframe.pod
+C:\perl\site\lib\Tk\Listbox.pm
+C:\perl\site\lib\Tk\Listbox.pod
+C:\perl\site\lib\Tk\MMtry.pm
+C:\perl\site\lib\Tk\MMutil.pm
+C:\perl\site\lib\Tk\MainWindow.pm
+C:\perl\site\lib\Tk\MainWindow.pod
+C:\perl\site\lib\Tk\MakeDepend.pm
+C:\perl\site\lib\Tk\Menu.pm
+C:\perl\site\lib\Tk\Menu.pod
+C:\perl\site\lib\Tk\Menu\Item.pm
+C:\perl\site\lib\Tk\Menu\Item.pod
+C:\perl\site\lib\Tk\Menubar.pm
+C:\perl\site\lib\Tk\Menubutton.pm
+C:\perl\site\lib\Tk\Menubutton.pod
+C:\perl\site\lib\Tk\Message.pm
+C:\perl\site\lib\Tk\Message.pod
+C:\perl\site\lib\Tk\MsgBox.pm
+C:\perl\site\lib\Tk\MsgBox.pod
+C:\perl\site\lib\Tk\Mwm.pod
+C:\perl\site\lib\Tk\NBFrame.pm
+C:\perl\site\lib\Tk\NoteBook.pm
+C:\perl\site\lib\Tk\NoteBook.pod
+C:\perl\site\lib\Tk\Optionmenu.pm
+C:\perl\site\lib\Tk\Optionmenu.pod
+C:\perl\site\lib\Tk\PNG.pm
+C:\perl\site\lib\Tk\Pane.pm
+C:\perl\site\lib\Tk\Panedwindow.pm
+C:\perl\site\lib\Tk\Panedwindow.pod
+C:\perl\site\lib\Tk\Photo.pm
+C:\perl\site\lib\Tk\Photo.pod
+C:\perl\site\lib\Tk\Pixmap.pm
+C:\perl\site\lib\Tk\Pixmap.pod
+C:\perl\site\lib\Tk\Popup.pod
+C:\perl\site\lib\Tk\Pretty.pm
+C:\perl\site\lib\Tk\ProgressBar.pm
+C:\perl\site\lib\Tk\README.Adjust
+C:\perl\site\lib\Tk\ROText.pm
+C:\perl\site\lib\Tk\ROText.pod
+C:\perl\site\lib\Tk\Radiobutton.pm
+C:\perl\site\lib\Tk\Radiobutton.pod
+C:\perl\site\lib\Tk\Region.pm
+C:\perl\site\lib\Tk\Reindex.pm
+C:\perl\site\lib\Tk\ReindexedROText.pm
+C:\perl\site\lib\Tk\ReindexedText.pm
+C:\perl\site\lib\Tk\Scale.pm
+C:\perl\site\lib\Tk\Scale.pod
+C:\perl\site\lib\Tk\Scrollbar.pm
+C:\perl\site\lib\Tk\Scrollbar.pod
+C:\perl\site\lib\Tk\Scrolled.pod
+C:\perl\site\lib\Tk\Spinbox.pm
+C:\perl\site\lib\Tk\Spinbox.pod
+C:\perl\site\lib\Tk\Stats.pm
+C:\perl\site\lib\Tk\Submethods.pm
+C:\perl\site\lib\Tk\Submethods.pod
+C:\perl\site\lib\Tk\SunConst.pod
+C:\perl\site\lib\Tk\TList.pm
+C:\perl\site\lib\Tk\TList.pod
+C:\perl\site\lib\Tk\Table.pm
+C:\perl\site\lib\Tk\Table.pod
+C:\perl\site\lib\Tk\Tcl-perl.pod
+C:\perl\site\lib\Tk\Text.pm
+C:\perl\site\lib\Tk\Text.pod
+C:\perl\site\lib\Tk\TextEdit.pm
+C:\perl\site\lib\Tk\TextList.pm
+C:\perl\site\lib\Tk\TextUndo.pm
+C:\perl\site\lib\Tk\TextUndo.pod
+C:\perl\site\lib\Tk\Text\Tag.pm
+C:\perl\site\lib\Tk\Tiler.pm
+C:\perl\site\lib\Tk\Tiler.pod
+C:\perl\site\lib\Tk\TixGrid.pm
+C:\perl\site\lib\Tk\TixGrid.pod
+C:\perl\site\lib\Tk\Tk.xbm
+C:\perl\site\lib\Tk\Tk.xpm
+C:\perl\site\lib\Tk\TkXSUB.def
+C:\perl\site\lib\Tk\Toplevel.pm
+C:\perl\site\lib\Tk\Toplevel.pod
+C:\perl\site\lib\Tk\Trace.pm
+C:\perl\site\lib\Tk\Tree.pm
+C:\perl\site\lib\Tk\Tree.pod
+C:\perl\site\lib\Tk\UserGuide.pod
+C:\perl\site\lib\Tk\Widget.pm
+C:\perl\site\lib\Tk\Widget.pod
+C:\perl\site\lib\Tk\WidgetDemo.pod
+C:\perl\site\lib\Tk\Wm.pm
+C:\perl\site\lib\Tk\Wm.pod
+C:\perl\site\lib\Tk\X.pm
+C:\perl\site\lib\Tk\X.pod
+C:\perl\site\lib\Tk\X11Font.pm
+C:\perl\site\lib\Tk\X11Font.pod
+C:\perl\site\lib\Tk\X11\X.h
+C:\perl\site\lib\Tk\X11\Xatom.h
+C:\perl\site\lib\Tk\X11\Xfuncproto.h
+C:\perl\site\lib\Tk\X11\Xlib.h
+C:\perl\site\lib\Tk\X11\Xutil.h
+C:\perl\site\lib\Tk\X11\cursorfont.h
+C:\perl\site\lib\Tk\X11\keysym.h
+C:\perl\site\lib\Tk\X11\keysymdef.h
+C:\perl\site\lib\Tk\X11\license.terms
+C:\perl\site\lib\Tk\Xcamel.gif
+C:\perl\site\lib\Tk\Xlib.pm
+C:\perl\site\lib\Tk\Xrm.pm
+C:\perl\site\lib\Tk\Xrm.pod
+C:\perl\site\lib\Tk\act_folder.xbm
+C:\perl\site\lib\Tk\act_folder.xpm
+C:\perl\site\lib\Tk\after.pod
+C:\perl\site\lib\Tk\anim.gif
+C:\perl\site\lib\Tk\arrowdownwin.xbm
+C:\perl\site\lib\Tk\balArrow.xbm
+C:\perl\site\lib\Tk\bind.pod
+C:\perl\site\lib\Tk\bindtags.pod
+C:\perl\site\lib\Tk\callbacks.pod
+C:\perl\site\lib\Tk\cbxarrow.xbm
+C:\perl\site\lib\Tk\chooseColor.pod
+C:\perl\site\lib\Tk\chooseDirectory.pod
+C:\perl\site\lib\Tk\composite.pod
+C:\perl\site\lib\Tk\demos\LabEnLabRad.pm
+C:\perl\site\lib\Tk\demos\images\QuitPB.xpm
+C:\perl\site\lib\Tk\demos\images\QuitPBa.xpm
+C:\perl\site\lib\Tk\demos\images\c.icon
+C:\perl\site\lib\Tk\demos\images\cursor.cur
+C:\perl\site\lib\Tk\demos\images\cursor.mask
+C:\perl\site\lib\Tk\demos\images\cursor.xbm
+C:\perl\site\lib\Tk\demos\images\dir.icon
+C:\perl\site\lib\Tk\demos\images\dir.mask
+C:\perl\site\lib\Tk\demos\images\earth.gif
+C:\perl\site\lib\Tk\demos\images\earthris.gif
+C:\perl\site\lib\Tk\demos\images\face
+C:\perl\site\lib\Tk\demos\images\flagdown
+C:\perl\site\lib\Tk\demos\images\flagup
+C:\perl\site\lib\Tk\demos\images\grey.25
+C:\perl\site\lib\Tk\demos\images\grey.5
+C:\perl\site\lib\Tk\demos\images\letters
+C:\perl\site\lib\Tk\demos\images\mickey.gif
+C:\perl\site\lib\Tk\demos\images\ned.xpm
+C:\perl\site\lib\Tk\demos\images\noletters
+C:\perl\site\lib\Tk\demos\images\page.icon
+C:\perl\site\lib\Tk\demos\images\page.mask
+C:\perl\site\lib\Tk\demos\images\pattern
+C:\perl\site\lib\Tk\demos\images\teapot.ppm
+C:\perl\site\lib\Tk\demos\widget_lib\Ball.pm
+C:\perl\site\lib\Tk\demos\widget_lib\HList.pl
+C:\perl\site\lib\Tk\demos\widget_lib\HList2.pl
+C:\perl\site\lib\Tk\demos\widget_lib\Plot.pm
+C:\perl\site\lib\Tk\demos\widget_lib\WidgetDemo.pm
+C:\perl\site\lib\Tk\demos\widget_lib\arrows.pl
+C:\perl\site\lib\Tk\demos\widget_lib\balloon.pl
+C:\perl\site\lib\Tk\demos\widget_lib\bind.pl
+C:\perl\site\lib\Tk\demos\widget_lib\bitmaps.pl
+C:\perl\site\lib\Tk\demos\widget_lib\bounce.pl
+C:\perl\site\lib\Tk\demos\widget_lib\browseentry.pl
+C:\perl\site\lib\Tk\demos\widget_lib\browseentry2.pl
+C:\perl\site\lib\Tk\demos\widget_lib\button.pl
+C:\perl\site\lib\Tk\demos\widget_lib\check.pl
+C:\perl\site\lib\Tk\demos\widget_lib\choosedir.pl
+C:\perl\site\lib\Tk\demos\widget_lib\clrpick.pl
+C:\perl\site\lib\Tk\demos\widget_lib\colors.pl
+C:\perl\site\lib\Tk\demos\widget_lib\cscroll.pl
+C:\perl\site\lib\Tk\demos\widget_lib\ctext.pl
+C:\perl\site\lib\Tk\demos\widget_lib\dialog1.pl
+C:\perl\site\lib\Tk\demos\widget_lib\dialog2.pl
+C:\perl\site\lib\Tk\demos\widget_lib\dirtree.pl
+C:\perl\site\lib\Tk\demos\widget_lib\entry1.pl
+C:\perl\site\lib\Tk\demos\widget_lib\entry2.pl
+C:\perl\site\lib\Tk\demos\widget_lib\entry3.pl
+C:\perl\site\lib\Tk\demos\widget_lib\filebox.pl
+C:\perl\site\lib\Tk\demos\widget_lib\floor.pl
+C:\perl\site\lib\Tk\demos\widget_lib\form.pl
+C:\perl\site\lib\Tk\demos\widget_lib\form_mgr.pl
+C:\perl\site\lib\Tk\demos\widget_lib\hello.pl
+C:\perl\site\lib\Tk\demos\widget_lib\hscale.pl
+C:\perl\site\lib\Tk\demos\widget_lib\icon.pl
+C:\perl\site\lib\Tk\demos\widget_lib\image1.pl
+C:\perl\site\lib\Tk\demos\widget_lib\image2.pl
+C:\perl\site\lib\Tk\demos\widget_lib\items.pl
+C:\perl\site\lib\Tk\demos\widget_lib\keysyms.pl
+C:\perl\site\lib\Tk\demos\widget_lib\labelframe.pl
+C:\perl\site\lib\Tk\demos\widget_lib\labels.pl
+C:\perl\site\lib\Tk\demos\widget_lib\labframe.pl
+C:\perl\site\lib\Tk\demos\widget_lib\mega.pl
+C:\perl\site\lib\Tk\demos\widget_lib\menbut.pl
+C:\perl\site\lib\Tk\demos\widget_lib\menus.pl
+C:\perl\site\lib\Tk\demos\widget_lib\menus2.pl
+C:\perl\site\lib\Tk\demos\widget_lib\msgBox.pl
+C:\perl\site\lib\Tk\demos\widget_lib\notebook.pl
+C:\perl\site\lib\Tk\demos\widget_lib\paned1.pl
+C:\perl\site\lib\Tk\demos\widget_lib\paned2.pl
+C:\perl\site\lib\Tk\demos\widget_lib\photo1.pl
+C:\perl\site\lib\Tk\demos\widget_lib\photo2.pl
+C:\perl\site\lib\Tk\demos\widget_lib\plot.pl
+C:\perl\site\lib\Tk\demos\widget_lib\progress.pl
+C:\perl\site\lib\Tk\demos\widget_lib\puzzle.pl
+C:\perl\site\lib\Tk\demos\widget_lib\radio.pl
+C:\perl\site\lib\Tk\demos\widget_lib\ruler.pl
+C:\perl\site\lib\Tk\demos\widget_lib\sayings.pl
+C:\perl\site\lib\Tk\demos\widget_lib\search.pl
+C:\perl\site\lib\Tk\demos\widget_lib\showVars.pl
+C:\perl\site\lib\Tk\demos\widget_lib\slide.pl
+C:\perl\site\lib\Tk\demos\widget_lib\spin.pl
+C:\perl\site\lib\Tk\demos\widget_lib\states.pl
+C:\perl\site\lib\Tk\demos\widget_lib\style.pl
+C:\perl\site\lib\Tk\demos\widget_lib\texts.pl
+C:\perl\site\lib\Tk\demos\widget_lib\trace1.pl
+C:\perl\site\lib\Tk\demos\widget_lib\trace2.pl
+C:\perl\site\lib\Tk\demos\widget_lib\transtile.pl
+C:\perl\site\lib\Tk\demos\widget_lib\twind.pl
+C:\perl\site\lib\Tk\demos\widget_lib\unicodeout.pl
+C:\perl\site\lib\Tk\demos\widget_lib\virtevents1.pl
+C:\perl\site\lib\Tk\demos\widget_lib\vscale.pl
+C:\perl\site\lib\Tk\demos\widtrib\Gedi.pl
+C:\perl\site\lib\Tk\demos\widtrib\TEMPLATE.pl
+C:\perl\site\lib\Tk\demos\widtrib\Tiler.pl
+C:\perl\site\lib\Tk\demos\widtrib\all.pl
+C:\perl\site\lib\Tk\demos\widtrib\cursor.pl
+C:\perl\site\lib\Tk\demos\widtrib\lib\npuz\Xcamel.npuz
+C:\perl\site\lib\Tk\demos\widtrib\npuz.pl
+C:\perl\site\lib\Tk\demos\widtrib\plop.pl
+C:\perl\site\lib\Tk\event.pod
+C:\perl\site\lib\Tk\exit.pod
+C:\perl\site\lib\Tk\file.xbm
+C:\perl\site\lib\Tk\file.xpm
+C:\perl\site\lib\Tk\fileevent.pod
+C:\perl\site\lib\Tk\focus.pod
+C:\perl\site\lib\Tk\folder.xbm
+C:\perl\site\lib\Tk\folder.xpm
+C:\perl\site\lib\Tk\form.pod
+C:\perl\site\lib\Tk\getOpenFile.pod
+C:\perl\site\lib\Tk\grab.pod
+C:\perl\site\lib\Tk\grid.pod
+C:\perl\site\lib\Tk\icon.gif
+C:\perl\site\lib\Tk\install.pm
+C:\perl\site\lib\Tk\license.terms
+C:\perl\site\lib\Tk\mega.pod
+C:\perl\site\lib\Tk\messageBox.pod
+C:\perl\site\lib\Tk\openfile.xbm
+C:\perl\site\lib\Tk\openfolder.xbm
+C:\perl\site\lib\Tk\openfolder.xpm
+C:\perl\site\lib\Tk\option.pod
+C:\perl\site\lib\Tk\options.pod
+C:\perl\site\lib\Tk\overview.pod
+C:\perl\site\lib\Tk\pTk.pod
+C:\perl\site\lib\Tk\pTk\Lang.h
+C:\perl\site\lib\Tk\pTk\Lang.m
+C:\perl\site\lib\Tk\pTk\Lang.t
+C:\perl\site\lib\Tk\pTk\Lang_f.h
+C:\perl\site\lib\Tk\pTk\Tcl-pTk
+C:\perl\site\lib\Tk\pTk\Xlib.h
+C:\perl\site\lib\Tk\pTk\Xlib.m
+C:\perl\site\lib\Tk\pTk\Xlib.t
+C:\perl\site\lib\Tk\pTk\Xlib_f.h
+C:\perl\site\lib\Tk\pTk\compat\limits.h
+C:\perl\site\lib\Tk\pTk\compat\stdlib.h
+C:\perl\site\lib\Tk\pTk\compat\unistd.h
+C:\perl\site\lib\Tk\pTk\default.h
+C:\perl\site\lib\Tk\pTk\img.h
+C:\perl\site\lib\Tk\pTk\imgInt.h
+C:\perl\site\lib\Tk\pTk\imgInt.m
+C:\perl\site\lib\Tk\pTk\imgInt.t
+C:\perl\site\lib\Tk\pTk\imgInt_f.h
+C:\perl\site\lib\Tk\pTk\ks_names.h
+C:\perl\site\lib\Tk\pTk\mkVFunc
+C:\perl\site\lib\Tk\pTk\moredefs.h
+C:\perl\site\lib\Tk\pTk\port.h
+C:\perl\site\lib\Tk\pTk\tcl.h
+C:\perl\site\lib\Tk\pTk\tclDecls.h
+C:\perl\site\lib\Tk\pTk\tclDecls.m
+C:\perl\site\lib\Tk\pTk\tclDecls.t
+C:\perl\site\lib\Tk\pTk\tclDecls_f.h
+C:\perl\site\lib\Tk\pTk\tclIntDecls.h
+C:\perl\site\lib\Tk\pTk\tclIntPlatDecls.h
+C:\perl\site\lib\Tk\pTk\tclMath.h
+C:\perl\site\lib\Tk\pTk\tclPlatDecls.h
+C:\perl\site\lib\Tk\pTk\tclWinInt.h
+C:\perl\site\lib\Tk\pTk\tix.h
+C:\perl\site\lib\Tk\pTk\tix.m
+C:\perl\site\lib\Tk\pTk\tix.t
+C:\perl\site\lib\Tk\pTk\tixBitmaps.h
+C:\perl\site\lib\Tk\pTk\tixDef.h
+C:\perl\site\lib\Tk\pTk\tixForm.h
+C:\perl\site\lib\Tk\pTk\tixGrData.h
+C:\perl\site\lib\Tk\pTk\tixGrid.h
+C:\perl\site\lib\Tk\pTk\tixHList.h
+C:\perl\site\lib\Tk\pTk\tixImgXpm.h
+C:\perl\site\lib\Tk\pTk\tixImgXpm.m
+C:\perl\site\lib\Tk\pTk\tixImgXpm.t
+C:\perl\site\lib\Tk\pTk\tixImgXpm_f.h
+C:\perl\site\lib\Tk\pTk\tixInt.h
+C:\perl\site\lib\Tk\pTk\tixInt.m
+C:\perl\site\lib\Tk\pTk\tixInt.t
+C:\perl\site\lib\Tk\pTk\tixInt_f.h
+C:\perl\site\lib\Tk\pTk\tixPort.h
+C:\perl\site\lib\Tk\pTk\tixTList.h
+C:\perl\site\lib\Tk\pTk\tixWinInt.h
+C:\perl\site\lib\Tk\pTk\tixWinPort.h
+C:\perl\site\lib\Tk\pTk\tix_f.h
+C:\perl\site\lib\Tk\pTk\tk.h
+C:\perl\site\lib\Tk\pTk\tk.m
+C:\perl\site\lib\Tk\pTk\tk.t
+C:\perl\site\lib\Tk\pTk\tk3d.h
+C:\perl\site\lib\Tk\pTk\tkButton.h
+C:\perl\site\lib\Tk\pTk\tkCanvas.h
+C:\perl\site\lib\Tk\pTk\tkCanvases.h
+C:\perl\site\lib\Tk\pTk\tkColor.h
+C:\perl\site\lib\Tk\pTk\tkConfig.h
+C:\perl\site\lib\Tk\pTk\tkDecls.h
+C:\perl\site\lib\Tk\pTk\tkDecls.m
+C:\perl\site\lib\Tk\pTk\tkDecls.t
+C:\perl\site\lib\Tk\pTk\tkDecls_f.h
+C:\perl\site\lib\Tk\pTk\tkEvent.h
+C:\perl\site\lib\Tk\pTk\tkEvent.m
+C:\perl\site\lib\Tk\pTk\tkEvent.t
+C:\perl\site\lib\Tk\pTk\tkEvent_f.h
+C:\perl\site\lib\Tk\pTk\tkFileFilter.h
+C:\perl\site\lib\Tk\pTk\tkFont.h
+C:\perl\site\lib\Tk\pTk\tkImgPhoto.h
+C:\perl\site\lib\Tk\pTk\tkImgPhoto.m
+C:\perl\site\lib\Tk\pTk\tkImgPhoto.t
+C:\perl\site\lib\Tk\pTk\tkImgPhoto_f.h
+C:\perl\site\lib\Tk\pTk\tkInitScript.h
+C:\perl\site\lib\Tk\pTk\tkInt.h
+C:\perl\site\lib\Tk\pTk\tkInt.m
+C:\perl\site\lib\Tk\pTk\tkInt.t
+C:\perl\site\lib\Tk\pTk\tkIntDecls.h
+C:\perl\site\lib\Tk\pTk\tkIntDecls.m
+C:\perl\site\lib\Tk\pTk\tkIntDecls.t
+C:\perl\site\lib\Tk\pTk\tkIntDecls_f.h
+C:\perl\site\lib\Tk\pTk\tkIntPlatDecls.h
+C:\perl\site\lib\Tk\pTk\tkIntPlatDecls.m
+C:\perl\site\lib\Tk\pTk\tkIntPlatDecls.t
+C:\perl\site\lib\Tk\pTk\tkIntPlatDecls_f.h
+C:\perl\site\lib\Tk\pTk\tkIntXlibDecls.h
+C:\perl\site\lib\Tk\pTk\tkIntXlibDecls.m
+C:\perl\site\lib\Tk\pTk\tkIntXlibDecls.t
+C:\perl\site\lib\Tk\pTk\tkIntXlibDecls_f.h
+C:\perl\site\lib\Tk\pTk\tkInt_f.h
+C:\perl\site\lib\Tk\pTk\tkMenu.h
+C:\perl\site\lib\Tk\pTk\tkMenubutton.h
+C:\perl\site\lib\Tk\pTk\tkOption.h
+C:\perl\site\lib\Tk\pTk\tkOption.m
+C:\perl\site\lib\Tk\pTk\tkOption.t
+C:\perl\site\lib\Tk\pTk\tkOption_f.h
+C:\perl\site\lib\Tk\pTk\tkPlatDecls.h
+C:\perl\site\lib\Tk\pTk\tkPlatDecls.m
+C:\perl\site\lib\Tk\pTk\tkPlatDecls.t
+C:\perl\site\lib\Tk\pTk\tkPlatDecls_f.h
+C:\perl\site\lib\Tk\pTk\tkPort.h
+C:\perl\site\lib\Tk\pTk\tkScale.h
+C:\perl\site\lib\Tk\pTk\tkScrollbar.h
+C:\perl\site\lib\Tk\pTk\tkSelect.h
+C:\perl\site\lib\Tk\pTk\tkText.h
+C:\perl\site\lib\Tk\pTk\tkUndo.h
+C:\perl\site\lib\Tk\pTk\tkVMacro.h
+C:\perl\site\lib\Tk\pTk\tkWin.h
+C:\perl\site\lib\Tk\pTk\tkWinDefault.h
+C:\perl\site\lib\Tk\pTk\tkWinInt.h
+C:\perl\site\lib\Tk\pTk\tkWinPort.h
+C:\perl\site\lib\Tk\pTk\tkXrm.h
+C:\perl\site\lib\Tk\pTk\tk_f.h
+C:\perl\site\lib\Tk\pTk\xbytes.h
+C:\perl\site\lib\Tk\pack.pod
+C:\perl\site\lib\Tk\palette.pod
+C:\perl\site\lib\Tk\place.pod
+C:\perl\site\lib\Tk\prolog.ps
+C:\perl\site\lib\Tk\selection.pod
+C:\perl\site\lib\Tk\send.pod
+C:\perl\site\lib\Tk\srcfile.xpm
+C:\perl\site\lib\Tk\textfile.xpm
+C:\perl\site\lib\Tk\tixWm.pod
+C:\perl\site\lib\Tk\tkGlue.def
+C:\perl\site\lib\Tk\tkGlue.h
+C:\perl\site\lib\Tk\tkGlue.m
+C:\perl\site\lib\Tk\tkGlue.t
+C:\perl\site\lib\Tk\tkGlue_f.h
+C:\perl\site\lib\Tk\tkvars.pod
+C:\perl\site\lib\Tk\tranicon.gif
+C:\perl\site\lib\Tk\typemap
+C:\perl\site\lib\Tk\vtab.def
+C:\perl\site\lib\Tk\widgets.pm
+C:\perl\site\lib\Tk\widgets.pod
+C:\perl\site\lib\Tk\win.xbm
+C:\perl\site\lib\Tk\winfolder.xpm
+C:\perl\site\lib\Tk\wintext.xpm
+C:\perl\site\lib\auto\Tk\CancelRepeat.al
+C:\perl\site\lib\auto\Tk\Canvas\Canvas.bs
+C:\perl\site\lib\auto\Tk\Canvas\Canvas.dll
+C:\perl\site\lib\auto\Tk\Clipboard\autosplit.ix
+C:\perl\site\lib\auto\Tk\Clipboard\getSelected.al
+C:\perl\site\lib\auto\Tk\Compound\Compound.bs
+C:\perl\site\lib\auto\Tk\Compound\Compound.dll
+C:\perl\site\lib\auto\Tk\DragDrop\Win32Site\Win32Site.bs
+C:\perl\site\lib\auto\Tk\DragDrop\Win32Site\Win32Site.dll
+C:\perl\site\lib\auto\Tk\EnterFocus.al
+C:\perl\site\lib\auto\Tk\Entry\Entry.bs
+C:\perl\site\lib\auto\Tk\Entry\Entry.dll
+C:\perl\site\lib\auto\Tk\Error.al
+C:\perl\site\lib\auto\Tk\Event\Event.bs
+C:\perl\site\lib\auto\Tk\Event\Event.dll
+C:\perl\site\lib\auto\Tk\FirstMenu.al
+C:\perl\site\lib\auto\Tk\FocusChildren.al
+C:\perl\site\lib\auto\Tk\FocusOK.al
+C:\perl\site\lib\auto\Tk\Frame\AddScrollbars.al
+C:\perl\site\lib\auto\Tk\Frame\FindMenu.al
+C:\perl\site\lib\auto\Tk\Frame\autosplit.ix
+C:\perl\site\lib\auto\Tk\Frame\freeze_on_map.al
+C:\perl\site\lib\auto\Tk\Frame\label.al
+C:\perl\site\lib\auto\Tk\Frame\labelPack.al
+C:\perl\site\lib\auto\Tk\Frame\labelVariable.al
+C:\perl\site\lib\auto\Tk\Frame\packscrollbars.al
+C:\perl\site\lib\auto\Tk\Frame\queuePack.al
+C:\perl\site\lib\auto\Tk\Frame\sbset.al
+C:\perl\site\lib\auto\Tk\Frame\scrollbars.al
+C:\perl\site\lib\auto\Tk\HList\HList.bs
+C:\perl\site\lib\auto\Tk\HList\HList.dll
+C:\perl\site\lib\auto\Tk\IO\IO.bs
+C:\perl\site\lib\auto\Tk\IO\IO.dll
+C:\perl\site\lib\auto\Tk\ImageNames.al
+C:\perl\site\lib\auto\Tk\ImageTypes.al
+C:\perl\site\lib\auto\Tk\JPEG\JPEG.bs
+C:\perl\site\lib\auto\Tk\JPEG\JPEG.dll
+C:\perl\site\lib\auto\Tk\Listbox\AutoScan.al
+C:\perl\site\lib\auto\Tk\Listbox\BeginExtend.al
+C:\perl\site\lib\auto\Tk\Listbox\BeginSelect.al
+C:\perl\site\lib\auto\Tk\Listbox\BeginToggle.al
+C:\perl\site\lib\auto\Tk\Listbox\ButtonRelease_1.al
+C:\perl\site\lib\auto\Tk\Listbox\CLEAR.al
+C:\perl\site\lib\auto\Tk\Listbox\Cancel.al
+C:\perl\site\lib\auto\Tk\Listbox\Cntrl_End.al
+C:\perl\site\lib\auto\Tk\Listbox\Cntrl_Home.al
+C:\perl\site\lib\auto\Tk\Listbox\Cntrl_backslash.al
+C:\perl\site\lib\auto\Tk\Listbox\DELETE.al
+C:\perl\site\lib\auto\Tk\Listbox\DataExtend.al
+C:\perl\site\lib\auto\Tk\Listbox\EXISTS.al
+C:\perl\site\lib\auto\Tk\Listbox\EXTEND.al
+C:\perl\site\lib\auto\Tk\Listbox\ExtendUpDown.al
+C:\perl\site\lib\auto\Tk\Listbox\FETCH.al
+C:\perl\site\lib\auto\Tk\Listbox\FETCHSIZE.al
+C:\perl\site\lib\auto\Tk\Listbox\Listbox.bs
+C:\perl\site\lib\auto\Tk\Listbox\Listbox.dll
+C:\perl\site\lib\auto\Tk\Listbox\Motion.al
+C:\perl\site\lib\auto\Tk\Listbox\POP.al
+C:\perl\site\lib\auto\Tk\Listbox\PUSH.al
+C:\perl\site\lib\auto\Tk\Listbox\SHIFT.al
+C:\perl\site\lib\auto\Tk\Listbox\SPLICE.al
+C:\perl\site\lib\auto\Tk\Listbox\STORE.al
+C:\perl\site\lib\auto\Tk\Listbox\SelectAll.al
+C:\perl\site\lib\auto\Tk\Listbox\SetList.al
+C:\perl\site\lib\auto\Tk\Listbox\TIEARRAY.al
+C:\perl\site\lib\auto\Tk\Listbox\TIESCALAR.al
+C:\perl\site\lib\auto\Tk\Listbox\UNSHIFT.al
+C:\perl\site\lib\auto\Tk\Listbox\UpDown.al
+C:\perl\site\lib\auto\Tk\Listbox\autosplit.ix
+C:\perl\site\lib\auto\Tk\Listbox\clipboardPaste.al
+C:\perl\site\lib\auto\Tk\Listbox\deleteSelected.al
+C:\perl\site\lib\auto\Tk\Listbox\getSelected.al
+C:\perl\site\lib\auto\Tk\Listbox\xyIndex.al
+C:\perl\site\lib\auto\Tk\Menubutton\Menubutton.bs
+C:\perl\site\lib\auto\Tk\Menubutton\Menubutton.dll
+C:\perl\site\lib\auto\Tk\NBFrame\NBFrame.bs
+C:\perl\site\lib\auto\Tk\NBFrame\NBFrame.dll
+C:\perl\site\lib\auto\Tk\PNG\PNG.bs
+C:\perl\site\lib\auto\Tk\PNG\PNG.dll
+C:\perl\site\lib\auto\Tk\Pixmap\Pixmap.bs
+C:\perl\site\lib\auto\Tk\Pixmap\Pixmap.dll
+C:\perl\site\lib\auto\Tk\Receive.al
+C:\perl\site\lib\auto\Tk\RepeatId.al
+C:\perl\site\lib\auto\Tk\Scale\Activate.al
+C:\perl\site\lib\auto\Tk\Scale\ButtonDown.al
+C:\perl\site\lib\auto\Tk\Scale\ButtonUp.al
+C:\perl\site\lib\auto\Tk\Scale\ControlPress.al
+C:\perl\site\lib\auto\Tk\Scale\Drag.al
+C:\perl\site\lib\auto\Tk\Scale\EndDrag.al
+C:\perl\site\lib\auto\Tk\Scale\Enter.al
+C:\perl\site\lib\auto\Tk\Scale\Increment.al
+C:\perl\site\lib\auto\Tk\Scale\Leave.al
+C:\perl\site\lib\auto\Tk\Scale\Scale.bs
+C:\perl\site\lib\auto\Tk\Scale\Scale.dll
+C:\perl\site\lib\auto\Tk\Scale\autosplit.ix
+C:\perl\site\lib\auto\Tk\Scrollbar\ButtonDown.al
+C:\perl\site\lib\auto\Tk\Scrollbar\ButtonUp.al
+C:\perl\site\lib\auto\Tk\Scrollbar\Drag.al
+C:\perl\site\lib\auto\Tk\Scrollbar\EndDrag.al
+C:\perl\site\lib\auto\Tk\Scrollbar\Enter.al
+C:\perl\site\lib\auto\Tk\Scrollbar\Leave.al
+C:\perl\site\lib\auto\Tk\Scrollbar\Motion.al
+C:\perl\site\lib\auto\Tk\Scrollbar\ScrlByPages.al
+C:\perl\site\lib\auto\Tk\Scrollbar\ScrlByUnits.al
+C:\perl\site\lib\auto\Tk\Scrollbar\ScrlToPos.al
+C:\perl\site\lib\auto\Tk\Scrollbar\ScrlTopBottom.al
+C:\perl\site\lib\auto\Tk\Scrollbar\Scrollbar.bs
+C:\perl\site\lib\auto\Tk\Scrollbar\Scrollbar.dll
+C:\perl\site\lib\auto\Tk\Scrollbar\Select.al
+C:\perl\site\lib\auto\Tk\Scrollbar\StartDrag.al
+C:\perl\site\lib\auto\Tk\Scrollbar\autosplit.ix
+C:\perl\site\lib\auto\Tk\Selection.al
+C:\perl\site\lib\auto\Tk\TList\TList.bs
+C:\perl\site\lib\auto\Tk\TList\TList.dll
+C:\perl\site\lib\auto\Tk\Table\Create.al
+C:\perl\site\lib\auto\Tk\Table\Posn.al
+C:\perl\site\lib\auto\Tk\Table\autosplit.ix
+C:\perl\site\lib\auto\Tk\Table\see.al
+C:\perl\site\lib\auto\Tk\Table\totalColumns.al
+C:\perl\site\lib\auto\Tk\Table\totalRows.al
+C:\perl\site\lib\auto\Tk\TextEdit\autosplit.ix
+C:\perl\site\lib\auto\Tk\TextUndo\autosplit.ix
+C:\perl\site\lib\auto\Tk\Text\Text.bs
+C:\perl\site\lib\auto\Tk\Text\Text.dll
+C:\perl\site\lib\auto\Tk\Text\autosplit.ix
+C:\perl\site\lib\auto\Tk\TixGrid\TixGrid.bs
+C:\perl\site\lib\auto\Tk\TixGrid\TixGrid.dll
+C:\perl\site\lib\auto\Tk\Tk.bs
+C:\perl\site\lib\auto\Tk\Tk.dll
+C:\perl\site\lib\auto\Tk\Toplevel\FG_BindIn.al
+C:\perl\site\lib\auto\Tk\Toplevel\FG_BindOut.al
+C:\perl\site\lib\auto\Tk\Toplevel\FG_Create.al
+C:\perl\site\lib\auto\Tk\Toplevel\FG_Destroy.al
+C:\perl\site\lib\auto\Tk\Toplevel\FG_In.al
+C:\perl\site\lib\auto\Tk\Toplevel\FG_Out.al
+C:\perl\site\lib\auto\Tk\Toplevel\autosplit.ix
+C:\perl\site\lib\auto\Tk\TraverseToMenu.al
+C:\perl\site\lib\auto\Tk\Widget\ASkludge.al
+C:\perl\site\lib\auto\Tk\Widget\AltKeyInDialog.al
+C:\perl\site\lib\auto\Tk\Widget\AmpWidget.al
+C:\perl\site\lib\auto\Tk\Widget\FindAltKeyTarget.al
+C:\perl\site\lib\auto\Tk\Widget\MasterMenu.al
+C:\perl\site\lib\auto\Tk\Widget\RestoreFocusGrab.al
+C:\perl\site\lib\auto\Tk\Widget\SetAmpText.al
+C:\perl\site\lib\auto\Tk\Widget\SetFocusGrab.al
+C:\perl\site\lib\auto\Tk\Widget\UnderlineAmpersand.al
+C:\perl\site\lib\auto\Tk\Widget\autosplit.ix
+C:\perl\site\lib\auto\Tk\Widget\bindDump.al
+C:\perl\site\lib\auto\Tk\Widget\clipboardKeysyms.al
+C:\perl\site\lib\auto\Tk\Widget\pathname.al
+C:\perl\site\lib\auto\Tk\Wm\AnchorAdjust.al
+C:\perl\site\lib\auto\Tk\Wm\FullScreen.al
+C:\perl\site\lib\auto\Tk\Wm\Popup.al
+C:\perl\site\lib\auto\Tk\Wm\Post.al
+C:\perl\site\lib\auto\Tk\Wm\autosplit.ix
+C:\perl\site\lib\auto\Tk\Wm\iconposition.al
+C:\perl\site\lib\auto\Tk\X\X.bs
+C:\perl\site\lib\auto\Tk\X\X.dll
+C:\perl\site\lib\auto\Tk\X\autosplit.ix
+C:\perl\site\lib\auto\Tk\Xlib\Xlib.bs
+C:\perl\site\lib\auto\Tk\Xlib\Xlib.dll
+C:\perl\site\lib\auto\Tk\autosplit.ix
+C:\perl\site\lib\auto\Tk\break.al
+C:\perl\site\lib\auto\Tk\focusFollowsMouse.al
+C:\perl\site\lib\auto\Tk\focusNext.al
+C:\perl\site\lib\auto\Tk\focusPrev.al
+C:\perl\site\lib\auto\Tk\getEncoding.al
+C:\perl\site\lib\auto\Tk\getNextFocus.al
+C:\perl\site\lib\auto\Tk\getPrevFocus.al
+C:\perl\site\lib\auto\Tk\interps.al
+C:\perl\site\lib\auto\Tk\lsearch.al
+C:\perl\site\lib\auto\Tk\pTk\extralibs.ld
+C:\perl\site\lib\auto\Tk\tabFocus.al
+C:\perl\site\lib\auto\Tk\updateWidgets.al
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Canvas/Canvas.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Canvas/Canvas.dll
index 0d7e3946ed2..aa3be891d20 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Canvas/Canvas.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Canvas/Canvas.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Compound/Compound.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Compound/Compound.dll
index 894ac2b7e68..7c4de3ac475 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Compound/Compound.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Compound/Compound.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/DragDrop/Win32Site/Win32Site.dll b/Master/tlpkg/tlperl/lib/auto/Tk/DragDrop/Win32Site/Win32Site.dll
index 025113b5cee..cd4ce7f8a60 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/DragDrop/Win32Site/Win32Site.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/DragDrop/Win32Site/Win32Site.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Entry/Entry.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Entry/Entry.dll
index 7ac58e8cc9f..ed6233d81f9 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Entry/Entry.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Entry/Entry.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Event/Event.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Event/Event.dll
index 11653caa06b..cac99bf4317 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Event/Event.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Event/Event.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/HList/HList.dll b/Master/tlpkg/tlperl/lib/auto/Tk/HList/HList.dll
index d2b877a3ce2..50801a61d70 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/HList/HList.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/HList/HList.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/IO/IO.dll b/Master/tlpkg/tlperl/lib/auto/Tk/IO/IO.dll
index e91692e035a..0bc9e158715 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/IO/IO.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/IO/IO.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/JPEG/JPEG.dll b/Master/tlpkg/tlperl/lib/auto/Tk/JPEG/JPEG.dll
index 2609e9d8a07..1901cbbf10c 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/JPEG/JPEG.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/JPEG/JPEG.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Listbox/Listbox.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Listbox/Listbox.dll
index b772a77ee97..676f7d1f6aa 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Listbox/Listbox.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Listbox/Listbox.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Menubutton/Menubutton.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Menubutton/Menubutton.dll
index 12c373e9e4d..44b3f25c652 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Menubutton/Menubutton.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Menubutton/Menubutton.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/NBFrame/NBFrame.dll b/Master/tlpkg/tlperl/lib/auto/Tk/NBFrame/NBFrame.dll
index 6273c524e04..35f4a61549a 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/NBFrame/NBFrame.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/NBFrame/NBFrame.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/PNG/PNG.dll b/Master/tlpkg/tlperl/lib/auto/Tk/PNG/PNG.dll
index bb5a96eca97..d437d9038e6 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/PNG/PNG.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/PNG/PNG.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Pixmap/Pixmap.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Pixmap/Pixmap.dll
index 3426bf4ec74..4376174e227 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Pixmap/Pixmap.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Pixmap/Pixmap.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Scale/Scale.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Scale/Scale.dll
index 61d51cd87c1..c543376579e 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Scale/Scale.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Scale/Scale.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Scrollbar/Scrollbar.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Scrollbar/Scrollbar.dll
index bd9d7e32d51..eda12746be9 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Scrollbar/Scrollbar.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Scrollbar/Scrollbar.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/TList/TList.dll b/Master/tlpkg/tlperl/lib/auto/Tk/TList/TList.dll
index 1a8ac13c51d..d7c355f8b2a 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/TList/TList.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/TList/TList.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Text/Text.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Text/Text.dll
index 641762980e8..dbb20f6c766 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Text/Text.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Text/Text.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/TixGrid/TixGrid.dll b/Master/tlpkg/tlperl/lib/auto/Tk/TixGrid/TixGrid.dll
index a392409d76e..728bbb8a88b 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/TixGrid/TixGrid.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/TixGrid/TixGrid.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Tk.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Tk.dll
index 5aa9aad1893..427be434a19 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Tk.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Tk.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/X/X.dll b/Master/tlpkg/tlperl/lib/auto/Tk/X/X.dll
index e46017125db..3ebba5816db 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/X/X.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/X/X.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Tk/Xlib/Xlib.dll b/Master/tlpkg/tlperl/lib/auto/Tk/Xlib/Xlib.dll
index c63eaceeb48..942296726ab 100755
--- a/Master/tlpkg/tlperl/lib/auto/Tk/Xlib/Xlib.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Tk/Xlib/Xlib.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/URI/.packlist b/Master/tlpkg/tlperl/lib/auto/URI/.packlist
index ada35e3bf17..f28cdd83b50 100644
--- a/Master/tlpkg/tlperl/lib/auto/URI/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/URI/.packlist
@@ -1,52 +1,52 @@
-X:\tlperl\site\lib\URI.pm
-X:\tlperl\site\lib\URI\Escape.pm
-X:\tlperl\site\lib\URI\Heuristic.pm
-X:\tlperl\site\lib\URI\IRI.pm
-X:\tlperl\site\lib\URI\QueryParam.pm
-X:\tlperl\site\lib\URI\Split.pm
-X:\tlperl\site\lib\URI\URL.pm
-X:\tlperl\site\lib\URI\WithBase.pm
-X:\tlperl\site\lib\URI\_foreign.pm
-X:\tlperl\site\lib\URI\_generic.pm
-X:\tlperl\site\lib\URI\_idna.pm
-X:\tlperl\site\lib\URI\_ldap.pm
-X:\tlperl\site\lib\URI\_login.pm
-X:\tlperl\site\lib\URI\_punycode.pm
-X:\tlperl\site\lib\URI\_query.pm
-X:\tlperl\site\lib\URI\_segment.pm
-X:\tlperl\site\lib\URI\_server.pm
-X:\tlperl\site\lib\URI\_userpass.pm
-X:\tlperl\site\lib\URI\data.pm
-X:\tlperl\site\lib\URI\file.pm
-X:\tlperl\site\lib\URI\file\Base.pm
-X:\tlperl\site\lib\URI\file\FAT.pm
-X:\tlperl\site\lib\URI\file\Mac.pm
-X:\tlperl\site\lib\URI\file\OS2.pm
-X:\tlperl\site\lib\URI\file\QNX.pm
-X:\tlperl\site\lib\URI\file\Unix.pm
-X:\tlperl\site\lib\URI\file\Win32.pm
-X:\tlperl\site\lib\URI\ftp.pm
-X:\tlperl\site\lib\URI\gopher.pm
-X:\tlperl\site\lib\URI\http.pm
-X:\tlperl\site\lib\URI\https.pm
-X:\tlperl\site\lib\URI\ldap.pm
-X:\tlperl\site\lib\URI\ldapi.pm
-X:\tlperl\site\lib\URI\ldaps.pm
-X:\tlperl\site\lib\URI\mailto.pm
-X:\tlperl\site\lib\URI\mms.pm
-X:\tlperl\site\lib\URI\news.pm
-X:\tlperl\site\lib\URI\nntp.pm
-X:\tlperl\site\lib\URI\pop.pm
-X:\tlperl\site\lib\URI\rlogin.pm
-X:\tlperl\site\lib\URI\rsync.pm
-X:\tlperl\site\lib\URI\rtsp.pm
-X:\tlperl\site\lib\URI\rtspu.pm
-X:\tlperl\site\lib\URI\sip.pm
-X:\tlperl\site\lib\URI\sips.pm
-X:\tlperl\site\lib\URI\snews.pm
-X:\tlperl\site\lib\URI\ssh.pm
-X:\tlperl\site\lib\URI\telnet.pm
-X:\tlperl\site\lib\URI\tn3270.pm
-X:\tlperl\site\lib\URI\urn.pm
-X:\tlperl\site\lib\URI\urn\isbn.pm
-X:\tlperl\site\lib\URI\urn\oid.pm
+C:\perl\site\lib\URI.pm
+C:\perl\site\lib\URI\Escape.pm
+C:\perl\site\lib\URI\Heuristic.pm
+C:\perl\site\lib\URI\IRI.pm
+C:\perl\site\lib\URI\QueryParam.pm
+C:\perl\site\lib\URI\Split.pm
+C:\perl\site\lib\URI\URL.pm
+C:\perl\site\lib\URI\WithBase.pm
+C:\perl\site\lib\URI\_foreign.pm
+C:\perl\site\lib\URI\_generic.pm
+C:\perl\site\lib\URI\_idna.pm
+C:\perl\site\lib\URI\_ldap.pm
+C:\perl\site\lib\URI\_login.pm
+C:\perl\site\lib\URI\_punycode.pm
+C:\perl\site\lib\URI\_query.pm
+C:\perl\site\lib\URI\_segment.pm
+C:\perl\site\lib\URI\_server.pm
+C:\perl\site\lib\URI\_userpass.pm
+C:\perl\site\lib\URI\data.pm
+C:\perl\site\lib\URI\file.pm
+C:\perl\site\lib\URI\file\Base.pm
+C:\perl\site\lib\URI\file\FAT.pm
+C:\perl\site\lib\URI\file\Mac.pm
+C:\perl\site\lib\URI\file\OS2.pm
+C:\perl\site\lib\URI\file\QNX.pm
+C:\perl\site\lib\URI\file\Unix.pm
+C:\perl\site\lib\URI\file\Win32.pm
+C:\perl\site\lib\URI\ftp.pm
+C:\perl\site\lib\URI\gopher.pm
+C:\perl\site\lib\URI\http.pm
+C:\perl\site\lib\URI\https.pm
+C:\perl\site\lib\URI\ldap.pm
+C:\perl\site\lib\URI\ldapi.pm
+C:\perl\site\lib\URI\ldaps.pm
+C:\perl\site\lib\URI\mailto.pm
+C:\perl\site\lib\URI\mms.pm
+C:\perl\site\lib\URI\news.pm
+C:\perl\site\lib\URI\nntp.pm
+C:\perl\site\lib\URI\pop.pm
+C:\perl\site\lib\URI\rlogin.pm
+C:\perl\site\lib\URI\rsync.pm
+C:\perl\site\lib\URI\rtsp.pm
+C:\perl\site\lib\URI\rtspu.pm
+C:\perl\site\lib\URI\sip.pm
+C:\perl\site\lib\URI\sips.pm
+C:\perl\site\lib\URI\snews.pm
+C:\perl\site\lib\URI\ssh.pm
+C:\perl\site\lib\URI\telnet.pm
+C:\perl\site\lib\URI\tn3270.pm
+C:\perl\site\lib\URI\urn.pm
+C:\perl\site\lib\URI\urn\isbn.pm
+C:\perl\site\lib\URI\urn\oid.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.bs b/Master/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.dll b/Master/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.dll
index a32d0e2ec44..9884d06681f 100755
--- a/Master/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Unicode/Collate/Collate.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.bs b/Master/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.dll b/Master/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.dll
index 372f145ed4b..54cd836d596 100755
--- a/Master/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Unicode/Normalize/Normalize.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/WWW/RobotRules/.packlist b/Master/tlpkg/tlperl/lib/auto/WWW/RobotRules/.packlist
index 6ee3dfca46f..974b9eda25b 100644
--- a/Master/tlpkg/tlperl/lib/auto/WWW/RobotRules/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/WWW/RobotRules/.packlist
@@ -1,2 +1,2 @@
-X:\tlperl\site\lib\WWW\RobotRules.pm
-X:\tlperl\site\lib\WWW\RobotRules\AnyDBM_File.pm
+C:\perl\site\lib\WWW\RobotRules.pm
+C:\perl\site\lib\WWW\RobotRules\AnyDBM_File.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/API/.packlist b/Master/tlpkg/tlperl/lib/auto/Win32/API/.packlist
index 6e1d5102118..693bf72b551 100644
--- a/Master/tlpkg/tlperl/lib/auto/Win32/API/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/API/.packlist
@@ -1,9 +1,9 @@
-X:\tlperl\site\lib\Win32\API.pm
-X:\tlperl\site\lib\Win32\API\Callback.pm
-X:\tlperl\site\lib\Win32\API\Struct.pm
-X:\tlperl\site\lib\Win32\API\Test.pm
-X:\tlperl\site\lib\Win32\API\Type.pm
-X:\tlperl\site\lib\auto\Win32\API\API.bs
-X:\tlperl\site\lib\auto\Win32\API\API.dll
-X:\tlperl\site\lib\auto\Win32\API\Callback\Callback.bs
-X:\tlperl\site\lib\auto\Win32\API\Callback\Callback.dll
+C:\perl\site\lib\Win32\API.pm
+C:\perl\site\lib\Win32\API\Callback.pm
+C:\perl\site\lib\Win32\API\Struct.pm
+C:\perl\site\lib\Win32\API\Test.pm
+C:\perl\site\lib\Win32\API\Type.pm
+C:\perl\site\lib\auto\Win32\API\API.bs
+C:\perl\site\lib\auto\Win32\API\API.dll
+C:\perl\site\lib\auto\Win32\API\Callback\Callback.bs
+C:\perl\site\lib\auto\Win32\API\Callback\Callback.dll
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/API/API.dll b/Master/tlpkg/tlperl/lib/auto/Win32/API/API.dll
index 436c0e57ae7..f2d063ae315 100755
--- a/Master/tlpkg/tlperl/lib/auto/Win32/API/API.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/API/API.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/API/Callback/Callback.dll b/Master/tlpkg/tlperl/lib/auto/Win32/API/Callback/Callback.dll
index 3bb6ec525df..2bb114b65c0 100755
--- a/Master/tlpkg/tlperl/lib/auto/Win32/API/Callback/Callback.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/API/Callback/Callback.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/Process/Info/.packlist b/Master/tlpkg/tlperl/lib/auto/Win32/Process/Info/.packlist
index 99579ee5a57..e361c151f37 100644
--- a/Master/tlpkg/tlperl/lib/auto/Win32/Process/Info/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/Process/Info/.packlist
@@ -1,4 +1,4 @@
-X:\tlperl\site\lib\Win32\Process\Info.pm
-X:\tlperl\site\lib\Win32\Process\Info\NT.pm
-X:\tlperl\site\lib\Win32\Process\Info\PT.pm
-X:\tlperl\site\lib\Win32\Process\Info\WMI.pm
+C:\perl\site\lib\Win32\Process\Info.pm
+C:\perl\site\lib\Win32\Process\Info\NT.pm
+C:\perl\site\lib\Win32\Process\Info\PT.pm
+C:\perl\site\lib\Win32\Process\Info\WMI.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/.packlist b/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/.packlist
index c3cbac5d866..9f53b7195f9 100644
--- a/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/.packlist
@@ -1,3 +1,3 @@
-X:\tlperl\site\lib\Win32\Shortcut.pm
-X:\tlperl\site\lib\auto\Win32\Shortcut\Shortcut.bs
-X:\tlperl\site\lib\auto\Win32\Shortcut\Shortcut.dll
+C:\perl\site\lib\Win32\Shortcut.pm
+C:\perl\site\lib\auto\Win32\Shortcut\Shortcut.bs
+C:\perl\site\lib\auto\Win32\Shortcut\Shortcut.dll
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/Shortcut.dll b/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/Shortcut.dll
index 2898e7bb5ef..d2567675558 100755
--- a/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/Shortcut.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/Shortcut/Shortcut.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/TieRegistry/.packlist b/Master/tlpkg/tlperl/lib/auto/Win32/TieRegistry/.packlist
index 17d31514e12..d142182f7ee 100644
--- a/Master/tlpkg/tlperl/lib/auto/Win32/TieRegistry/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/TieRegistry/.packlist
@@ -1,2 +1,2 @@
-X:\tlperl\site\lib\Tie\Registry.pm
-X:\tlperl\site\lib\Win32\TieRegistry.pm
+C:\perl\site\lib\Tie\Registry.pm
+C:\perl\site\lib\Win32\TieRegistry.pm
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/Win32.bs b/Master/tlpkg/tlperl/lib/auto/Win32/Win32.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/Win32.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32/Win32.dll b/Master/tlpkg/tlperl/lib/auto/Win32/Win32.dll
index bfb50ac278b..4ce7f2612f5 100755
--- a/Master/tlpkg/tlperl/lib/auto/Win32/Win32.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Win32/Win32.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32API/File/File.bs b/Master/tlpkg/tlperl/lib/auto/Win32API/File/File.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/Win32API/File/File.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32API/File/File.dll b/Master/tlpkg/tlperl/lib/auto/Win32API/File/File.dll
index a0190cc9e2e..7ead61c4fea 100755
--- a/Master/tlpkg/tlperl/lib/auto/Win32API/File/File.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Win32API/File/File.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/.packlist b/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/.packlist
index eea74b27a1d..c7962dcfd15 100644
--- a/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/.packlist
+++ b/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/.packlist
@@ -1,4 +1,4 @@
-X:\tlperl\site\lib\Win32API\Registry.pm
-X:\tlperl\site\lib\Win32API\Registry\cRegistry.pc
-X:\tlperl\site\lib\auto\Win32API\Registry\Registry.bs
-X:\tlperl\site\lib\auto\Win32API\Registry\Registry.dll
+C:\perl\site\lib\Win32API\Registry.pm
+C:\perl\site\lib\Win32API\Registry\cRegistry.pc
+C:\perl\site\lib\auto\Win32API\Registry\Registry.bs
+C:\perl\site\lib\auto\Win32API\Registry\Registry.dll
diff --git a/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/Registry.dll b/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/Registry.dll
index d3db4fa452d..7cc255bfcd0 100755
--- a/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/Registry.dll
+++ b/Master/tlpkg/tlperl/lib/auto/Win32API/Registry/Registry.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/arybase/arybase.bs b/Master/tlpkg/tlperl/lib/auto/arybase/arybase.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/arybase/arybase.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/arybase/arybase.dll b/Master/tlpkg/tlperl/lib/auto/arybase/arybase.dll
new file mode 100755
index 00000000000..b13a71b90eb
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/arybase/arybase.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/attributes/attributes.bs b/Master/tlpkg/tlperl/lib/auto/attributes/attributes.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/attributes/attributes.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/attributes/attributes.dll b/Master/tlpkg/tlperl/lib/auto/attributes/attributes.dll
index 6a950777a6d..0ea594b2936 100755
--- a/Master/tlpkg/tlperl/lib/auto/attributes/attributes.dll
+++ b/Master/tlpkg/tlperl/lib/auto/attributes/attributes.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/mro/mro.bs b/Master/tlpkg/tlperl/lib/auto/mro/mro.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/mro/mro.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/mro/mro.dll b/Master/tlpkg/tlperl/lib/auto/mro/mro.dll
index 9ec2a06e482..18552c07377 100755
--- a/Master/tlpkg/tlperl/lib/auto/mro/mro.dll
+++ b/Master/tlpkg/tlperl/lib/auto/mro/mro.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/re/re.bs b/Master/tlpkg/tlperl/lib/auto/re/re.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/re/re.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/re/re.dll b/Master/tlpkg/tlperl/lib/auto/re/re.dll
index b79ffcf4203..f1bea743ed2 100755
--- a/Master/tlpkg/tlperl/lib/auto/re/re.dll
+++ b/Master/tlpkg/tlperl/lib/auto/re/re.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/threads/shared/shared.bs b/Master/tlpkg/tlperl/lib/auto/threads/shared/shared.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/threads/shared/shared.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/threads/shared/shared.dll b/Master/tlpkg/tlperl/lib/auto/threads/shared/shared.dll
index c2e0015fefd..f3019e512a2 100755
--- a/Master/tlpkg/tlperl/lib/auto/threads/shared/shared.dll
+++ b/Master/tlpkg/tlperl/lib/auto/threads/shared/shared.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/auto/threads/threads.bs b/Master/tlpkg/tlperl/lib/auto/threads/threads.bs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/auto/threads/threads.bs
diff --git a/Master/tlpkg/tlperl/lib/auto/threads/threads.dll b/Master/tlpkg/tlperl/lib/auto/threads/threads.dll
index ee378857e3d..7f1cef69991 100755
--- a/Master/tlpkg/tlperl/lib/auto/threads/threads.dll
+++ b/Master/tlpkg/tlperl/lib/auto/threads/threads.dll
Binary files differ
diff --git a/Master/tlpkg/tlperl/lib/autodie.pm b/Master/tlpkg/tlperl/lib/autodie.pm
index 25799f02854..cb14fb037b9 100644
--- a/Master/tlpkg/tlperl/lib/autodie.pm
+++ b/Master/tlpkg/tlperl/lib/autodie.pm
@@ -8,7 +8,7 @@ our @ISA = qw(Fatal);
our $VERSION;
BEGIN {
- $VERSION = '2.1001';
+ $VERSION = '2.10';
}
use constant ERROR_WRONG_FATAL => q{
diff --git a/Master/tlpkg/tlperl/lib/autodie/exception.pm b/Master/tlpkg/tlperl/lib/autodie/exception.pm
index 4dd7570ce82..14d5cb0f07e 100644
--- a/Master/tlpkg/tlperl/lib/autodie/exception.pm
+++ b/Master/tlpkg/tlperl/lib/autodie/exception.pm
@@ -14,7 +14,7 @@ use overload
use if ($] >= 5.010), overload => '~~' => "matches";
-our $VERSION = '2.1001';
+our $VERSION = '2.10';
my $PACKAGE = __PACKAGE__; # Useful to have a scalar for hash keys.
diff --git a/Master/tlpkg/tlperl/lib/autodie/exception/system.pm b/Master/tlpkg/tlperl/lib/autodie/exception/system.pm
index 53e7f95229c..747fea7810e 100644
--- a/Master/tlpkg/tlperl/lib/autodie/exception/system.pm
+++ b/Master/tlpkg/tlperl/lib/autodie/exception/system.pm
@@ -5,7 +5,7 @@ use warnings;
use base 'autodie::exception';
use Carp qw(croak);
-our $VERSION = '2.1001';
+our $VERSION = '2.10';
my $PACKAGE = __PACKAGE__;
diff --git a/Master/tlpkg/tlperl/lib/autodie/hints.pm b/Master/tlpkg/tlperl/lib/autodie/hints.pm
index 2c129ec8879..89b3bc827b4 100644
--- a/Master/tlpkg/tlperl/lib/autodie/hints.pm
+++ b/Master/tlpkg/tlperl/lib/autodie/hints.pm
@@ -5,7 +5,7 @@ use warnings;
use constant PERL58 => ( $] < 5.009 );
-our $VERSION = '2.1001';
+our $VERSION = '2.10';
=head1 NAME
diff --git a/Master/tlpkg/tlperl/lib/autouse.pm b/Master/tlpkg/tlperl/lib/autouse.pm
index cbde3864bf1..a66e50c67d4 100644
--- a/Master/tlpkg/tlperl/lib/autouse.pm
+++ b/Master/tlpkg/tlperl/lib/autouse.pm
@@ -3,7 +3,7 @@ package autouse;
#use strict; # debugging only
use 5.006; # use warnings
-$autouse::VERSION = '1.06';
+$autouse::VERSION = '1.07';
$autouse::DEBUG ||= 0;
diff --git a/Master/tlpkg/tlperl/lib/base.pm b/Master/tlpkg/tlperl/lib/base.pm
index 8c60b614fab..19fc8456d23 100644
--- a/Master/tlpkg/tlperl/lib/base.pm
+++ b/Master/tlpkg/tlperl/lib/base.pm
@@ -2,7 +2,7 @@ package base;
use strict 'vars';
use vars qw($VERSION);
-$VERSION = '2.16';
+$VERSION = '2.18';
$VERSION = eval $VERSION;
# constant.pm is slow
@@ -22,12 +22,6 @@ sub has_fields {
return( ($fglob && 'GLOB' eq ref($fglob) && *$fglob{HASH}) ? 1 : 0 );
}
-sub has_version {
- my($base) = shift;
- my $vglob = ${$base.'::'}{VERSION};
- return( ($vglob && *$vglob{SCALAR}) ? 1 : 0 );
-}
-
sub has_attr {
my($proto) = shift;
my($class) = ref $proto || $proto;
@@ -70,7 +64,6 @@ sub import {
my $fields_base;
my $inheritor = caller(0);
- my @isa_classes;
my @bases;
foreach my $base (@_) {
@@ -80,11 +73,8 @@ sub import {
next if grep $_->isa($base), ($inheritor, @bases);
- if (has_version($base)) {
- ${$base.'::VERSION'} = '-1, set by base.pm'
- unless defined ${$base.'::VERSION'};
- }
- else {
+ # Following blocks help isolate $SIG{__DIE__} changes
+ {
my $sigdie;
{
local $SIG{__DIE__};
@@ -105,8 +95,6 @@ ERROR
}
# Make sure a global $SIG{__DIE__} makes it out of the localization.
$SIG{__DIE__} = $sigdie if defined $sigdie;
- ${$base.'::VERSION'} = "-1, set by base.pm"
- unless defined ${$base.'::VERSION'};
}
push @bases, $base;
@@ -121,8 +109,6 @@ ERROR
}
}
# Save this until the end so it's all or nothing if the above loop croaks.
- push @{"$inheritor\::ISA"}, @isa_classes;
-
push @{"$inheritor\::ISA"}, @bases;
if( defined $fields_base ) {
@@ -206,26 +192,26 @@ those modules at the same time. Roughly similar in effect to
push @ISA, qw(Foo Bar);
}
-C<base> employs some heuristics to determine if a module has already been
-loaded, if it has it doesn't try again. If C<base> tries to C<require> the
-module it will not die if it cannot find the module's file, but will die on any
-other error. After all this, should your base class be empty, containing no
-symbols, it will die. This is useful for inheriting from classes in the same
-file as yourself, like so:
+When C<base> tries to C<require> a module, it will not die if it cannot find
+the module's file, but will die on any other error. After all this, should
+your base class be empty, containing no symbols, C<base> will die. This is
+useful for inheriting from classes in the same file as yourself but where
+the filename does not match the base module name, like so:
+ # in Bar.pm
package Foo;
sub exclaim { "I can have such a thing?!" }
-
+
package Bar;
use base "Foo";
-If $VERSION is not detected even after loading it, <base> will define $VERSION
-in the base package, setting it to the string C<-1, set by base.pm>.
+There is no F<Foo.pm>, but because C<Foo> defines a symbol (the C<exclaim>
+subroutine), C<base> will not die when the C<require> fails to load F<Foo.pm>.
C<base> will also initialize the fields if one of the base classes has it.
Multiple inheritance of fields is B<NOT> supported, if two or more base classes
-each have inheritable fields the 'base' pragma will croak. See L<fields>,
-L<public> and L<protected> for a description of this feature.
+each have inheritable fields the 'base' pragma will croak. See L<fields>
+for a description of this feature.
The base class' C<import> method is B<not> called.
diff --git a/Master/tlpkg/tlperl/lib/bigfloat.pl b/Master/tlpkg/tlperl/lib/bigfloat.pl
deleted file mode 100644
index 82d0f5c4df6..00000000000
--- a/Master/tlpkg/tlperl/lib/bigfloat.pl
+++ /dev/null
@@ -1,258 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-package bigfloat;
-require "bigint.pl";
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-#
-# Suggested alternative: Math::BigFloat
-
-# Arbitrary length float math package
-#
-# by Mark Biggar
-#
-# number format
-# canonical strings have the form /[+-]\d+E[+-]\d+/
-# Input values can have embedded whitespace
-# Error returns
-# 'NaN' An input parameter was "Not a Number" or
-# divide by zero or sqrt of negative number
-# Division is computed to
-# max($div_scale,length(dividend)+length(divisor))
-# digits by default.
-# Also used for default sqrt scale
-
-$div_scale = 40;
-
-# Rounding modes one of 'even', 'odd', '+inf', '-inf', 'zero' or 'trunc'.
-
-$rnd_mode = 'even';
-
-# bigfloat routines
-#
-# fadd(NSTR, NSTR) return NSTR addition
-# fsub(NSTR, NSTR) return NSTR subtraction
-# fmul(NSTR, NSTR) return NSTR multiplication
-# fdiv(NSTR, NSTR[,SCALE]) returns NSTR division to SCALE places
-# fneg(NSTR) return NSTR negation
-# fabs(NSTR) return NSTR absolute value
-# fcmp(NSTR,NSTR) return CODE compare undef,<0,=0,>0
-# fround(NSTR, SCALE) return NSTR round to SCALE digits
-# ffround(NSTR, SCALE) return NSTR round at SCALEth place
-# fnorm(NSTR) return (NSTR) normalize
-# fsqrt(NSTR[, SCALE]) return NSTR sqrt to SCALE places
-
-# Convert a number to canonical string form.
-# Takes something that looks like a number and converts it to
-# the form /^[+-]\d+E[+-]\d+$/.
-sub main'fnorm { #(string) return fnum_str
- local($_) = @_;
- s/\s+//g; # strip white space
- if (/^([+-]?)(\d*)(\.(\d*))?([Ee]([+-]?\d+))?$/
- && ($2 ne '' || defined($4))) {
- my $x = defined($4) ? $4 : '';
- &norm(($1 ? "$1$2$x" : "+$2$x"), (($x ne '') ? $6-length($x) : $6));
- } else {
- 'NaN';
- }
-}
-
-# normalize number -- for internal use
-sub norm { #(mantissa, exponent) return fnum_str
- local($_, $exp) = @_;
- if ($_ eq 'NaN') {
- 'NaN';
- } else {
- s/^([+-])0+/$1/; # strip leading zeros
- if (length($_) == 1) {
- '+0E+0';
- } else {
- $exp += length($1) if (s/(0+)$//); # strip trailing zeros
- sprintf("%sE%+ld", $_, $exp);
- }
- }
-}
-
-# negation
-sub main'fneg { #(fnum_str) return fnum_str
- local($_) = &'fnorm($_[0]);
- vec($_,0,8) ^= ord('+') ^ ord('-') unless $_ eq '+0E+0'; # flip sign
- if ( ord("\t") == 9 ) { # ascii
- s/^H/N/;
- }
- else { # ebcdic character set
- s/\373/N/;
- }
- $_;
-}
-
-# absolute value
-sub main'fabs { #(fnum_str) return fnum_str
- local($_) = &'fnorm($_[0]);
- s/^-/+/; # mash sign
- $_;
-}
-
-# multiplication
-sub main'fmul { #(fnum_str, fnum_str) return fnum_str
- local($x,$y) = (&'fnorm($_[0]),&'fnorm($_[1]));
- if ($x eq 'NaN' || $y eq 'NaN') {
- 'NaN';
- } else {
- local($xm,$xe) = split('E',$x);
- local($ym,$ye) = split('E',$y);
- &norm(&'bmul($xm,$ym),$xe+$ye);
- }
-}
-
-# addition
-sub main'fadd { #(fnum_str, fnum_str) return fnum_str
- local($x,$y) = (&'fnorm($_[0]),&'fnorm($_[1]));
- if ($x eq 'NaN' || $y eq 'NaN') {
- 'NaN';
- } else {
- local($xm,$xe) = split('E',$x);
- local($ym,$ye) = split('E',$y);
- ($xm,$xe,$ym,$ye) = ($ym,$ye,$xm,$xe) if ($xe < $ye);
- &norm(&'badd($ym,$xm.('0' x ($xe-$ye))),$ye);
- }
-}
-
-# subtraction
-sub main'fsub { #(fnum_str, fnum_str) return fnum_str
- &'fadd($_[0],&'fneg($_[1]));
-}
-
-# division
-# args are dividend, divisor, scale (optional)
-# result has at most max(scale, length(dividend), length(divisor)) digits
-sub main'fdiv #(fnum_str, fnum_str[,scale]) return fnum_str
-{
- local($x,$y,$scale) = (&'fnorm($_[0]),&'fnorm($_[1]),$_[2]);
- if ($x eq 'NaN' || $y eq 'NaN' || $y eq '+0E+0') {
- 'NaN';
- } else {
- local($xm,$xe) = split('E',$x);
- local($ym,$ye) = split('E',$y);
- $scale = $div_scale if (!$scale);
- $scale = length($xm)-1 if (length($xm)-1 > $scale);
- $scale = length($ym)-1 if (length($ym)-1 > $scale);
- $scale = $scale + length($ym) - length($xm);
- &norm(&round(&'bdiv($xm.('0' x $scale),$ym),&'babs($ym)),
- $xe-$ye-$scale);
- }
-}
-
-# round int $q based on fraction $r/$base using $rnd_mode
-sub round { #(int_str, int_str, int_str) return int_str
- local($q,$r,$base) = @_;
- if ($q eq 'NaN' || $r eq 'NaN') {
- 'NaN';
- } elsif ($rnd_mode eq 'trunc') {
- $q; # just truncate
- } else {
- local($cmp) = &'bcmp(&'bmul($r,'+2'),$base);
- if ( $cmp < 0 ||
- ($cmp == 0 &&
- ( $rnd_mode eq 'zero' ||
- ($rnd_mode eq '-inf' && (substr($q,0,1) eq '+')) ||
- ($rnd_mode eq '+inf' && (substr($q,0,1) eq '-')) ||
- ($rnd_mode eq 'even' && $q =~ /[24680]$/) ||
- ($rnd_mode eq 'odd' && $q =~ /[13579]$/) )) ) {
- $q; # round down
- } else {
- &'badd($q, ((substr($q,0,1) eq '-') ? '-1' : '+1'));
- # round up
- }
- }
-}
-
-# round the mantissa of $x to $scale digits
-sub main'fround { #(fnum_str, scale) return fnum_str
- local($x,$scale) = (&'fnorm($_[0]),$_[1]);
- if ($x eq 'NaN' || $scale <= 0) {
- $x;
- } else {
- local($xm,$xe) = split('E',$x);
- if (length($xm)-1 <= $scale) {
- $x;
- } else {
- &norm(&round(substr($xm,0,$scale+1),
- "+0".substr($xm,$scale+1,1),"+10"),
- $xe+length($xm)-$scale-1);
- }
- }
-}
-
-# round $x at the 10 to the $scale digit place
-sub main'ffround { #(fnum_str, scale) return fnum_str
- local($x,$scale) = (&'fnorm($_[0]),$_[1]);
- if ($x eq 'NaN') {
- 'NaN';
- } else {
- local($xm,$xe) = split('E',$x);
- if ($xe >= $scale) {
- $x;
- } else {
- $xe = length($xm)+$xe-$scale;
- if ($xe < 1) {
- '+0E+0';
- } elsif ($xe == 1) {
- # The first substr preserves the sign, which means that
- # we'll pass a non-normalized "-0" to &round when rounding
- # -0.006 (for example), purely so that &round won't lose
- # the sign.
- &norm(&round(substr($xm,0,1).'0',
- "+0".substr($xm,1,1),"+10"), $scale);
- } else {
- &norm(&round(substr($xm,0,$xe),
- "+0".substr($xm,$xe,1),"+10"), $scale);
- }
- }
- }
-}
-
-# compare 2 values returns one of undef, <0, =0, >0
-# returns undef if either or both input value are not numbers
-sub main'fcmp #(fnum_str, fnum_str) return cond_code
-{
- local($x, $y) = (&'fnorm($_[0]),&'fnorm($_[1]));
- if ($x eq "NaN" || $y eq "NaN") {
- undef;
- } else {
- ord($y) <=> ord($x)
- ||
- ( local($xm,$xe,$ym,$ye) = split('E', $x."E$y"),
- (($xe <=> $ye) * (substr($x,0,1).'1')
- || &bigint'cmp($xm,$ym))
- );
- }
-}
-
-# square root by Newtons method.
-sub main'fsqrt { #(fnum_str[, scale]) return fnum_str
- local($x, $scale) = (&'fnorm($_[0]), $_[1]);
- if ($x eq 'NaN' || $x =~ /^-/) {
- 'NaN';
- } elsif ($x eq '+0E+0') {
- '+0E+0';
- } else {
- local($xm, $xe) = split('E',$x);
- $scale = $div_scale if (!$scale);
- $scale = length($xm)-1 if ($scale < length($xm)-1);
- local($gs, $guess) = (1, sprintf("1E%+d", (length($xm)+$xe-1)/2));
- while ($gs < 2*$scale) {
- $guess = &'fmul(&'fadd($guess,&'fdiv($x,$guess,$gs*2)),".5");
- $gs *= 2;
- }
- &'fround($guess, $scale);
- }
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/bigint.pl b/Master/tlpkg/tlperl/lib/bigint.pl
deleted file mode 100644
index 6de1c53fcfa..00000000000
--- a/Master/tlpkg/tlperl/lib/bigint.pl
+++ /dev/null
@@ -1,324 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-package bigint;
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-#
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# Suggested alternative: Math::BigInt
-
-# arbitrary size integer math package
-#
-# by Mark Biggar
-#
-# Canonical Big integer value are strings of the form
-# /^[+-]\d+$/ with leading zeros suppressed
-# Input values to these routines may be strings of the form
-# /^\s*[+-]?[\d\s]+$/.
-# Examples:
-# '+0' canonical zero value
-# ' -123 123 123' canonical value '-123123123'
-# '1 23 456 7890' canonical value '+1234567890'
-# Output values always in canonical form
-#
-# Actual math is done in an internal format consisting of an array
-# whose first element is the sign (/^[+-]$/) and whose remaining
-# elements are base 100000 digits with the least significant digit first.
-# The string 'NaN' is used to represent the result when input arguments
-# are not numbers, as well as the result of dividing by zero
-#
-# routines provided are:
-#
-# bneg(BINT) return BINT negation
-# babs(BINT) return BINT absolute value
-# bcmp(BINT,BINT) return CODE compare numbers (undef,<0,=0,>0)
-# badd(BINT,BINT) return BINT addition
-# bsub(BINT,BINT) return BINT subtraction
-# bmul(BINT,BINT) return BINT multiplication
-# bdiv(BINT,BINT) return (BINT,BINT) division (quo,rem) just quo if scalar
-# bmod(BINT,BINT) return BINT modulus
-# bgcd(BINT,BINT) return BINT greatest common divisor
-# bnorm(BINT) return BINT normalization
-#
-
-# overcome a floating point problem on certain osnames (posix-bc, os390)
-BEGIN {
- my $x = 100000.0;
- my $use_mult = int($x*1e-5)*1e5 == $x ? 1 : 0;
-}
-
-$zero = 0;
-
-
-# normalize string form of number. Strip leading zeros. Strip any
-# white space and add a sign, if missing.
-# Strings that are not numbers result the value 'NaN'.
-
-sub main'bnorm { #(num_str) return num_str
- local($_) = @_;
- s/\s+//g; # strip white space
- if (s/^([+-]?)0*(\d+)$/$1$2/) { # test if number
- substr($_,0,0) = '+' unless $1; # Add missing sign
- s/^-0/+0/;
- $_;
- } else {
- 'NaN';
- }
-}
-
-# Convert a number from string format to internal base 100000 format.
-# Assumes normalized value as input.
-sub internal { #(num_str) return int_num_array
- local($d) = @_;
- ($is,$il) = (substr($d,0,1),length($d)-2);
- substr($d,0,1) = '';
- ($is, reverse(unpack("a" . ($il%5+1) . ("a5" x ($il/5)), $d)));
-}
-
-# Convert a number from internal base 100000 format to string format.
-# This routine scribbles all over input array.
-sub external { #(int_num_array) return num_str
- $es = shift;
- grep($_ > 9999 || ($_ = substr('0000'.$_,-5)), @_); # zero pad
- &'bnorm(join('', $es, reverse(@_))); # reverse concat and normalize
-}
-
-# Negate input value.
-sub main'bneg { #(num_str) return num_str
- local($_) = &'bnorm(@_);
- vec($_,0,8) ^= ord('+') ^ ord('-') unless $_ eq '+0';
- s/^./N/ unless /^[-+]/; # works both in ASCII and EBCDIC
- $_;
-}
-
-# Returns the absolute value of the input.
-sub main'babs { #(num_str) return num_str
- &abs(&'bnorm(@_));
-}
-
-sub abs { # post-normalized abs for internal use
- local($_) = @_;
- s/^-/+/;
- $_;
-}
-
-# Compares 2 values. Returns one of undef, <0, =0, >0. (suitable for sort)
-sub main'bcmp { #(num_str, num_str) return cond_code
- local($x,$y) = (&'bnorm($_[0]),&'bnorm($_[1]));
- if ($x eq 'NaN') {
- undef;
- } elsif ($y eq 'NaN') {
- undef;
- } else {
- &cmp($x,$y);
- }
-}
-
-sub cmp { # post-normalized compare for internal use
- local($cx, $cy) = @_;
- return 0 if ($cx eq $cy);
-
- local($sx, $sy) = (substr($cx, 0, 1), substr($cy, 0, 1));
- local($ld);
-
- if ($sx eq '+') {
- return 1 if ($sy eq '-' || $cy eq '+0');
- $ld = length($cx) - length($cy);
- return $ld if ($ld);
- return $cx cmp $cy;
- } else { # $sx eq '-'
- return -1 if ($sy eq '+');
- $ld = length($cy) - length($cx);
- return $ld if ($ld);
- return $cy cmp $cx;
- }
-
-}
-
-sub main'badd { #(num_str, num_str) return num_str
- local(*x, *y); ($x, $y) = (&'bnorm($_[0]),&'bnorm($_[1]));
- if ($x eq 'NaN') {
- 'NaN';
- } elsif ($y eq 'NaN') {
- 'NaN';
- } else {
- @x = &internal($x); # convert to internal form
- @y = &internal($y);
- local($sx, $sy) = (shift @x, shift @y); # get signs
- if ($sx eq $sy) {
- &external($sx, &add(*x, *y)); # if same sign add
- } else {
- ($x, $y) = (&abs($x),&abs($y)); # make abs
- if (&cmp($y,$x) > 0) {
- &external($sy, &sub(*y, *x));
- } else {
- &external($sx, &sub(*x, *y));
- }
- }
- }
-}
-
-sub main'bsub { #(num_str, num_str) return num_str
- &'badd($_[0],&'bneg($_[1]));
-}
-
-# GCD -- Euclid's algorithm Knuth Vol 2 pg 296
-sub main'bgcd { #(num_str, num_str) return num_str
- local($x,$y) = (&'bnorm($_[0]),&'bnorm($_[1]));
- if ($x eq 'NaN' || $y eq 'NaN') {
- 'NaN';
- } else {
- ($x, $y) = ($y,&'bmod($x,$y)) while $y ne '+0';
- $x;
- }
-}
-
-# routine to add two base 1e5 numbers
-# stolen from Knuth Vol 2 Algorithm A pg 231
-# there are separate routines to add and sub as per Kunth pg 233
-sub add { #(int_num_array, int_num_array) return int_num_array
- local(*x, *y) = @_;
- $car = 0;
- for $x (@x) {
- last unless @y || $car;
- $x -= 1e5 if $car = (($x += shift(@y) + $car) >= 1e5) ? 1 : 0;
- }
- for $y (@y) {
- last unless $car;
- $y -= 1e5 if $car = (($y += $car) >= 1e5) ? 1 : 0;
- }
- (@x, @y, $car);
-}
-
-# subtract base 1e5 numbers -- stolen from Knuth Vol 2 pg 232, $x > $y
-sub sub { #(int_num_array, int_num_array) return int_num_array
- local(*sx, *sy) = @_;
- $bar = 0;
- for $sx (@sx) {
- last unless @y || $bar;
- $sx += 1e5 if $bar = (($sx -= shift(@sy) + $bar) < 0);
- }
- @sx;
-}
-
-# multiply two numbers -- stolen from Knuth Vol 2 pg 233
-sub main'bmul { #(num_str, num_str) return num_str
- local(*x, *y); ($x, $y) = (&'bnorm($_[0]), &'bnorm($_[1]));
- if ($x eq 'NaN') {
- 'NaN';
- } elsif ($y eq 'NaN') {
- 'NaN';
- } else {
- @x = &internal($x);
- @y = &internal($y);
- local($signr) = (shift @x ne shift @y) ? '-' : '+';
- @prod = ();
- for $x (@x) {
- ($car, $cty) = (0, 0);
- for $y (@y) {
- $prod = $x * $y + $prod[$cty] + $car;
- if ($use_mult) {
- $prod[$cty++] =
- $prod - ($car = int($prod * 1e-5)) * 1e5;
- }
- else {
- $prod[$cty++] =
- $prod - ($car = int($prod / 1e5)) * 1e5;
- }
- }
- $prod[$cty] += $car if $car;
- $x = shift @prod;
- }
- &external($signr, @x, @prod);
- }
-}
-
-# modulus
-sub main'bmod { #(num_str, num_str) return num_str
- (&'bdiv(@_))[1];
-}
-
-sub main'bdiv { #(dividend: num_str, divisor: num_str) return num_str
- local (*x, *y); ($x, $y) = (&'bnorm($_[0]), &'bnorm($_[1]));
- return wantarray ? ('NaN','NaN') : 'NaN'
- if ($x eq 'NaN' || $y eq 'NaN' || $y eq '+0');
- return wantarray ? ('+0',$x) : '+0' if (&cmp(&abs($x),&abs($y)) < 0);
- @x = &internal($x); @y = &internal($y);
- $srem = $y[0];
- $sr = (shift @x ne shift @y) ? '-' : '+';
- $car = $bar = $prd = 0;
- if (($dd = int(1e5/($y[$#y]+1))) != 1) {
- for $x (@x) {
- $x = $x * $dd + $car;
- if ($use_mult) {
- $x -= ($car = int($x * 1e-5)) * 1e5;
- }
- else {
- $x -= ($car = int($x / 1e5)) * 1e5;
- }
- }
- push(@x, $car); $car = 0;
- for $y (@y) {
- $y = $y * $dd + $car;
- if ($use_mult) {
- $y -= ($car = int($y * 1e-5)) * 1e5;
- }
- else {
- $y -= ($car = int($y / 1e5)) * 1e5;
- }
- }
- }
- else {
- push(@x, 0);
- }
- @q = (); ($v2,$v1) = @y[-2,-1];
- while ($#x > $#y) {
- ($u2,$u1,$u0) = @x[-3..-1];
- $q = (($u0 == $v1) ? 99999 : int(($u0*1e5+$u1)/$v1));
- --$q while ($v2*$q > ($u0*1e5+$u1-$q*$v1)*1e5+$u2);
- if ($q) {
- ($car, $bar) = (0,0);
- for ($y = 0, $x = $#x-$#y-1; $y <= $#y; ++$y,++$x) {
- $prd = $q * $y[$y] + $car;
- if ($use_mult) {
- $prd -= ($car = int($prd * 1e-5)) * 1e5;
- }
- else {
- $prd -= ($car = int($prd / 1e5)) * 1e5;
- }
- $x[$x] += 1e5 if ($bar = (($x[$x] -= $prd + $bar) < 0));
- }
- if ($x[$#x] < $car + $bar) {
- $car = 0; --$q;
- for ($y = 0, $x = $#x-$#y-1; $y <= $#y; ++$y,++$x) {
- $x[$x] -= 1e5
- if ($car = (($x[$x] += $y[$y] + $car) > 1e5));
- }
- }
- }
- pop(@x); unshift(@q, $q);
- }
- if (wantarray) {
- @d = ();
- if ($dd != 1) {
- $car = 0;
- for $x (reverse @x) {
- $prd = $car * 1e5 + $x;
- $car = $prd - ($tmp = int($prd / $dd)) * $dd;
- unshift(@d, $tmp);
- }
- }
- else {
- @d = @x;
- }
- (&external($sr, @q), &external($srem, @d, $zero));
- } else {
- &external($sr, @q);
- }
-}
-1;
diff --git a/Master/tlpkg/tlperl/lib/bigint.pm b/Master/tlpkg/tlperl/lib/bigint.pm
index 4852590e8f5..926742ac314 100644
--- a/Master/tlpkg/tlperl/lib/bigint.pm
+++ b/Master/tlpkg/tlperl/lib/bigint.pm
@@ -1,7 +1,7 @@
package bigint;
use 5.006;
-$VERSION = '0.27';
+$VERSION = '0.29';
use Exporter;
@ISA = qw( Exporter );
@EXPORT_OK = qw( PI e bpi bexp );
@@ -353,10 +353,10 @@ In practice this makes seldom a difference as B<parts and results> of
expressions will be truncated anyway, but this can, for instance, affect the
return value of subroutines:
- sub three_integer { use integer; return 3.2; }
- sub three_bigint { use bigint; return 3.2; }
+ sub three_integer { use integer; return 3.2; }
+ sub three_bigint { use bigint; return 3.2; }
- print three_integer(), " ", three_bigint(),"\n"; # prints "3.2 3"
+ print three_integer(), " ", three_bigint(),"\n"; # prints "3.2 3"
=head2 Options
diff --git a/Master/tlpkg/tlperl/lib/bignum.pm b/Master/tlpkg/tlperl/lib/bignum.pm
index 7c6381d8660..f0377c60f14 100644
--- a/Master/tlpkg/tlperl/lib/bignum.pm
+++ b/Master/tlpkg/tlperl/lib/bignum.pm
@@ -1,7 +1,7 @@
package bignum;
use 5.006;
-$VERSION = '0.27';
+$VERSION = '0.29';
use Exporter;
@ISA = qw( bigint );
@EXPORT_OK = qw( PI e bexp bpi );
@@ -364,12 +364,12 @@ allow you finer control over what get's done in which module/space. For
instance, simple loop counters will be Math::BigInts under C<use bignum;> and
this is slower than keeping them as Perl scalars:
- perl -Mbignum -le 'for ($i = 0; $i < 10; $i++) { print ref($i); }'
+ perl -Mbignum -le 'for ($i = 0; $i < 10; $i++) { print ref($i); }'
Please note the following does not work as expected (prints nothing), since
overloading of '..' is not yet possible in Perl (as of v5.8.0):
- perl -Mbignum -le 'for (1..2) { print ref($_); }'
+ perl -Mbignum -le 'for (1..2) { print ref($_); }'
=head2 Options
diff --git a/Master/tlpkg/tlperl/lib/bigrat.pl b/Master/tlpkg/tlperl/lib/bigrat.pl
deleted file mode 100644
index aaf17136c3f..00000000000
--- a/Master/tlpkg/tlperl/lib/bigrat.pl
+++ /dev/null
@@ -1,159 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-package bigrat;
-require "bigint.pl";
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-#
-# Arbitrary size rational math package
-
-# by Mark Biggar
-#
-# Input values to these routines consist of strings of the form
-# m|^\s*[+-]?[\d\s]+(/[\d\s]+)?$|.
-# Examples:
-# "+0/1" canonical zero value
-# "3" canonical value "+3/1"
-# " -123/123 123" canonical value "-1/1001"
-# "123 456/7890" canonical value "+20576/1315"
-# Output values always include a sign and no leading zeros or
-# white space.
-# This package makes use of the bigint package.
-# The string 'NaN' is used to represent the result when input arguments
-# that are not numbers, as well as the result of dividing by zero and
-# the sqrt of a negative number.
-# Extremely naive algorithms are used.
-#
-# Routines provided are:
-#
-# rneg(RAT) return RAT negation
-# rabs(RAT) return RAT absolute value
-# rcmp(RAT,RAT) return CODE compare numbers (undef,<0,=0,>0)
-# radd(RAT,RAT) return RAT addition
-# rsub(RAT,RAT) return RAT subtraction
-# rmul(RAT,RAT) return RAT multiplication
-# rdiv(RAT,RAT) return RAT division
-# rmod(RAT) return (RAT,RAT) integer and fractional parts
-# rnorm(RAT) return RAT normalization
-# rsqrt(RAT, cycles) return RAT square root
-
-# Convert a number to the canonical string form m|^[+-]\d+/\d+|.
-sub main'rnorm { #(string) return rat_num
- local($_) = @_;
- s/\s+//g;
- if (m#^([+-]?\d+)(/(\d*[1-9]0*))?$#) {
- &norm($1, $3 ? $3 : '+1');
- } else {
- 'NaN';
- }
-}
-
-# Normalize by reducing to lowest terms
-sub norm { #(bint, bint) return rat_num
- local($num,$dom) = @_;
- if ($num eq 'NaN') {
- 'NaN';
- } elsif ($dom eq 'NaN') {
- 'NaN';
- } elsif ($dom =~ /^[+-]?0+$/) {
- 'NaN';
- } else {
- local($gcd) = &'bgcd($num,$dom);
- $gcd =~ s/^-/+/;
- if ($gcd ne '+1') {
- $num = &'bdiv($num,$gcd);
- $dom = &'bdiv($dom,$gcd);
- } else {
- $num = &'bnorm($num);
- $dom = &'bnorm($dom);
- }
- substr($dom,0,1) = '';
- "$num/$dom";
- }
-}
-
-# negation
-sub main'rneg { #(rat_num) return rat_num
- local($_) = &'rnorm(@_);
- tr/-+/+-/ if ($_ ne '+0/1');
- $_;
-}
-
-# absolute value
-sub main'rabs { #(rat_num) return $rat_num
- local($_) = &'rnorm(@_);
- substr($_,0,1) = '+' unless $_ eq 'NaN';
- $_;
-}
-
-# multipication
-sub main'rmul { #(rat_num, rat_num) return rat_num
- local($xn,$xd) = split('/',&'rnorm($_[0]));
- local($yn,$yd) = split('/',&'rnorm($_[1]));
- &norm(&'bmul($xn,$yn),&'bmul($xd,$yd));
-}
-
-# division
-sub main'rdiv { #(rat_num, rat_num) return rat_num
- local($xn,$xd) = split('/',&'rnorm($_[0]));
- local($yn,$yd) = split('/',&'rnorm($_[1]));
- &norm(&'bmul($xn,$yd),&'bmul($xd,$yn));
-}
-
-# addition
-sub main'radd { #(rat_num, rat_num) return rat_num
- local($xn,$xd) = split('/',&'rnorm($_[0]));
- local($yn,$yd) = split('/',&'rnorm($_[1]));
- &norm(&'badd(&'bmul($xn,$yd),&'bmul($yn,$xd)),&'bmul($xd,$yd));
-}
-
-# subtraction
-sub main'rsub { #(rat_num, rat_num) return rat_num
- local($xn,$xd) = split('/',&'rnorm($_[0]));
- local($yn,$yd) = split('/',&'rnorm($_[1]));
- &norm(&'bsub(&'bmul($xn,$yd),&'bmul($yn,$xd)),&'bmul($xd,$yd));
-}
-
-# comparison
-sub main'rcmp { #(rat_num, rat_num) return cond_code
- local($xn,$xd) = split('/',&'rnorm($_[0]));
- local($yn,$yd) = split('/',&'rnorm($_[1]));
- &bigint'cmp(&'bmul($xn,$yd),&'bmul($yn,$xd));
-}
-
-# int and frac parts
-sub main'rmod { #(rat_num) return (rat_num,rat_num)
- local($xn,$xd) = split('/',&'rnorm(@_));
- local($i,$f) = &'bdiv($xn,$xd);
- if (wantarray) {
- ("$i/1", "$f/$xd");
- } else {
- "$i/1";
- }
-}
-
-# square root by Newtons method.
-# cycles specifies the number of iterations default: 5
-sub main'rsqrt { #(fnum_str[, cycles]) return fnum_str
- local($x, $scale) = (&'rnorm($_[0]), $_[1]);
- if ($x eq 'NaN') {
- 'NaN';
- } elsif ($x =~ /^-/) {
- 'NaN';
- } else {
- local($gscale, $guess) = (0, '+1/1');
- $scale = 5 if (!$scale);
- while ($gscale++ < $scale) {
- $guess = &'rmul(&'radd($guess,&'rdiv($x,$guess)),"+1/2");
- }
- "$guess"; # quotes necessary due to perl bug
- }
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/bigrat.pm b/Master/tlpkg/tlperl/lib/bigrat.pm
index 907c13ceb5d..6ba821d976b 100644
--- a/Master/tlpkg/tlperl/lib/bigrat.pm
+++ b/Master/tlpkg/tlperl/lib/bigrat.pm
@@ -1,7 +1,7 @@
package bigrat;
use 5.006;
-$VERSION = '0.28';
+$VERSION = '0.29';
require Exporter;
@ISA = qw( bigint );
@EXPORT_OK = qw( PI e bpi bexp );
diff --git a/Master/tlpkg/tlperl/lib/cacheout.pl b/Master/tlpkg/tlperl/lib/cacheout.pl
deleted file mode 100644
index a5da453a2aa..00000000000
--- a/Master/tlpkg/tlperl/lib/cacheout.pl
+++ /dev/null
@@ -1,59 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-#
-# Suggested alternative: FileCache
-
-# Open in their package.
-
-sub cacheout'open {
- open($_[0], $_[1]);
-}
-
-# Close as well
-
-sub cacheout'close {
- close($_[0]);
-}
-
-# But only this sub name is visible to them.
-
-sub cacheout {
- package cacheout;
-
- ($file) = @_;
- if (!$isopen{$file}) {
- if (++$numopen > $maxopen) {
- local(@lru) = sort {$isopen{$a} <=> $isopen{$b};} keys(%isopen);
- splice(@lru, $maxopen / 3);
- $numopen -= @lru;
- for (@lru) { &close($_); delete $isopen{$_}; }
- }
- &open($file, ($saw{$file}++ ? '>>' : '>') . $file)
- || die "Can't create $file: $!\n";
- }
- $isopen{$file} = ++$seq;
-}
-
-package cacheout;
-
-$seq = 0;
-$numopen = 0;
-
-if (open(PARAM,'/usr/include/sys/param.h')) {
- local($_, $.);
- while (<PARAM>) {
- $maxopen = $1 - 4 if /^\s*#\s*define\s+NOFILE\s+(\d+)/;
- }
- close PARAM;
-}
-$maxopen = 16 unless $maxopen;
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/charnames.pm b/Master/tlpkg/tlperl/lib/charnames.pm
index 1c9ab2c0b08..495c30342fd 100644
--- a/Master/tlpkg/tlperl/lib/charnames.pm
+++ b/Master/tlpkg/tlperl/lib/charnames.pm
@@ -1,832 +1,25 @@
package charnames;
use strict;
use warnings;
-use File::Spec;
-our $VERSION = '1.18';
+our $VERSION = '1.30';
+use unicore::Name; # mktables-generated algorithmically-defined names
+use _charnames (); # The submodule for this where most of the work gets done
use bytes (); # for $bytes::hint_bits
+use re "/aa"; # Everything in here should be ASCII
-# The hashes are stored as utf8 strings. This makes it easier to deal with
-# sequences. I (khw) also tried making Name.pl utf8, but it slowed things
-# down by a factor of 7. I then tried making Name.pl store the ut8
-# equivalents but not calling them utf8. That led to similar speed as leaving
-# it alone, but since that is harder for a human to parse, I left it as-is.
-
-my %system_aliases = (
- # Icky 3.2 names with parentheses.
- 'LINE FEED' => pack("U", 0x0A), # LINE FEED (LF)
- 'FORM FEED' => pack("U", 0x0C), # FORM FEED (FF)
- 'CARRIAGE RETURN' => pack("U", 0x0D), # CARRIAGE RETURN (CR)
- 'NEXT LINE' => pack("U", 0x85), # NEXT LINE (NEL)
-
- # Some variant names from Wikipedia
- 'SINGLE-SHIFT 2' => pack("U", 0x8E),
- 'SINGLE-SHIFT 3' => pack("U", 0x8F),
- 'PRIVATE USE 1' => pack("U", 0x91),
- 'PRIVATE USE 2' => pack("U", 0x92),
- 'START OF PROTECTED AREA' => pack("U", 0x96),
- 'END OF PROTECTED AREA' => pack("U", 0x97),
-
- # Convenience. Standard abbreviations for the controls
- 'NUL' => pack("U", 0x00), # NULL
- 'SOH' => pack("U", 0x01), # START OF HEADING
- 'STX' => pack("U", 0x02), # START OF TEXT
- 'ETX' => pack("U", 0x03), # END OF TEXT
- 'EOT' => pack("U", 0x04), # END OF TRANSMISSION
- 'ENQ' => pack("U", 0x05), # ENQUIRY
- 'ACK' => pack("U", 0x06), # ACKNOWLEDGE
- 'BEL' => pack("U", 0x07), # ALERT; formerly BELL
- 'BS' => pack("U", 0x08), # BACKSPACE
- 'HT' => pack("U", 0x09), # HORIZONTAL TABULATION
- 'LF' => pack("U", 0x0A), # LINE FEED (LF)
- 'VT' => pack("U", 0x0B), # VERTICAL TABULATION
- 'FF' => pack("U", 0x0C), # FORM FEED (FF)
- 'CR' => pack("U", 0x0D), # CARRIAGE RETURN (CR)
- 'SO' => pack("U", 0x0E), # SHIFT OUT
- 'SI' => pack("U", 0x0F), # SHIFT IN
- 'DLE' => pack("U", 0x10), # DATA LINK ESCAPE
- 'DC1' => pack("U", 0x11), # DEVICE CONTROL ONE
- 'DC2' => pack("U", 0x12), # DEVICE CONTROL TWO
- 'DC3' => pack("U", 0x13), # DEVICE CONTROL THREE
- 'DC4' => pack("U", 0x14), # DEVICE CONTROL FOUR
- 'NAK' => pack("U", 0x15), # NEGATIVE ACKNOWLEDGE
- 'SYN' => pack("U", 0x16), # SYNCHRONOUS IDLE
- 'ETB' => pack("U", 0x17), # END OF TRANSMISSION BLOCK
- 'CAN' => pack("U", 0x18), # CANCEL
- 'EOM' => pack("U", 0x19), # END OF MEDIUM
- 'SUB' => pack("U", 0x1A), # SUBSTITUTE
- 'ESC' => pack("U", 0x1B), # ESCAPE
- 'FS' => pack("U", 0x1C), # FILE SEPARATOR
- 'GS' => pack("U", 0x1D), # GROUP SEPARATOR
- 'RS' => pack("U", 0x1E), # RECORD SEPARATOR
- 'US' => pack("U", 0x1F), # UNIT SEPARATOR
- 'DEL' => pack("U", 0x7F), # DELETE
- 'BPH' => pack("U", 0x82), # BREAK PERMITTED HERE
- 'NBH' => pack("U", 0x83), # NO BREAK HERE
- 'NEL' => pack("U", 0x85), # NEXT LINE (NEL)
- 'SSA' => pack("U", 0x86), # START OF SELECTED AREA
- 'ESA' => pack("U", 0x87), # END OF SELECTED AREA
- 'HTS' => pack("U", 0x88), # CHARACTER TABULATION SET
- 'HTJ' => pack("U", 0x89), # CHARACTER TABULATION WITH JUSTIFICATION
- 'VTS' => pack("U", 0x8A), # LINE TABULATION SET
- 'PLD' => pack("U", 0x8B), # PARTIAL LINE FORWARD
- 'PLU' => pack("U", 0x8C), # PARTIAL LINE BACKWARD
- 'RI ' => pack("U", 0x8D), # REVERSE LINE FEED
- 'SS2' => pack("U", 0x8E), # SINGLE SHIFT TWO
- 'SS3' => pack("U", 0x8F), # SINGLE SHIFT THREE
- 'DCS' => pack("U", 0x90), # DEVICE CONTROL STRING
- 'PU1' => pack("U", 0x91), # PRIVATE USE ONE
- 'PU2' => pack("U", 0x92), # PRIVATE USE TWO
- 'STS' => pack("U", 0x93), # SET TRANSMIT STATE
- 'CCH' => pack("U", 0x94), # CANCEL CHARACTER
- 'MW ' => pack("U", 0x95), # MESSAGE WAITING
- 'SPA' => pack("U", 0x96), # START OF GUARDED AREA
- 'EPA' => pack("U", 0x97), # END OF GUARDED AREA
- 'SOS' => pack("U", 0x98), # START OF STRING
- 'SCI' => pack("U", 0x9A), # SINGLE CHARACTER INTRODUCER
- 'CSI' => pack("U", 0x9B), # CONTROL SEQUENCE INTRODUCER
- 'ST ' => pack("U", 0x9C), # STRING TERMINATOR
- 'OSC' => pack("U", 0x9D), # OPERATING SYSTEM COMMAND
- 'PM ' => pack("U", 0x9E), # PRIVACY MESSAGE
- 'APC' => pack("U", 0x9F), # APPLICATION PROGRAM COMMAND
-
- # There are no names for these in the Unicode standard; perhaps should be
- # deprecated, but then again there are no alternative names, so am not
- # deprecating. And if did, the code would have to change to not recommend
- # an alternative for these.
- 'PADDING CHARACTER' => pack("U", 0x80),
- 'PAD' => pack("U", 0x80),
- 'HIGH OCTET PRESET' => pack("U", 0x81),
- 'HOP' => pack("U", 0x81),
- 'INDEX' => pack("U", 0x84),
- 'IND' => pack("U", 0x84),
- 'SINGLE GRAPHIC CHARACTER INTRODUCER' => pack("U", 0x99),
- 'SGC' => pack("U", 0x99),
-
- # More convenience. For further convenience, it is suggested some way of
- # using the NamesList aliases be implemented, but there are ambiguities in
- # NamesList.txt
- 'BOM' => pack("U", 0xFEFF), # BYTE ORDER MARK
- 'BYTE ORDER MARK'=> pack("U", 0xFEFF),
- 'CGJ' => pack("U", 0x034F), # COMBINING GRAPHEME JOINER
- 'FVS1' => pack("U", 0x180B), # MONGOLIAN FREE VARIATION SELECTOR ONE
- 'FVS2' => pack("U", 0x180C), # MONGOLIAN FREE VARIATION SELECTOR TWO
- 'FVS3' => pack("U", 0x180D), # MONGOLIAN FREE VARIATION SELECTOR THREE
- 'LRE' => pack("U", 0x202A), # LEFT-TO-RIGHT EMBEDDING
- 'LRM' => pack("U", 0x200E), # LEFT-TO-RIGHT MARK
- 'LRO' => pack("U", 0x202D), # LEFT-TO-RIGHT OVERRIDE
- 'MMSP' => pack("U", 0x205F), # MEDIUM MATHEMATICAL SPACE
- 'MVS' => pack("U", 0x180E), # MONGOLIAN VOWEL SEPARATOR
- 'NBSP' => pack("U", 0x00A0), # NO-BREAK SPACE
- 'NNBSP' => pack("U", 0x202F), # NARROW NO-BREAK SPACE
- 'PDF' => pack("U", 0x202C), # POP DIRECTIONAL FORMATTING
- 'RLE' => pack("U", 0x202B), # RIGHT-TO-LEFT EMBEDDING
- 'RLM' => pack("U", 0x200F), # RIGHT-TO-LEFT MARK
- 'RLO' => pack("U", 0x202E), # RIGHT-TO-LEFT OVERRIDE
- 'SHY' => pack("U", 0x00AD), # SOFT HYPHEN
- 'VS1' => pack("U", 0xFE00), # VARIATION SELECTOR-1
- 'VS2' => pack("U", 0xFE01), # VARIATION SELECTOR-2
- 'VS3' => pack("U", 0xFE02), # VARIATION SELECTOR-3
- 'VS4' => pack("U", 0xFE03), # VARIATION SELECTOR-4
- 'VS5' => pack("U", 0xFE04), # VARIATION SELECTOR-5
- 'VS6' => pack("U", 0xFE05), # VARIATION SELECTOR-6
- 'VS7' => pack("U", 0xFE06), # VARIATION SELECTOR-7
- 'VS8' => pack("U", 0xFE07), # VARIATION SELECTOR-8
- 'VS9' => pack("U", 0xFE08), # VARIATION SELECTOR-9
- 'VS10' => pack("U", 0xFE09), # VARIATION SELECTOR-10
- 'VS11' => pack("U", 0xFE0A), # VARIATION SELECTOR-11
- 'VS12' => pack("U", 0xFE0B), # VARIATION SELECTOR-12
- 'VS13' => pack("U", 0xFE0C), # VARIATION SELECTOR-13
- 'VS14' => pack("U", 0xFE0D), # VARIATION SELECTOR-14
- 'VS15' => pack("U", 0xFE0E), # VARIATION SELECTOR-15
- 'VS16' => pack("U", 0xFE0F), # VARIATION SELECTOR-16
- 'VS17' => pack("U", 0xE0100), # VARIATION SELECTOR-17
- 'VS18' => pack("U", 0xE0101), # VARIATION SELECTOR-18
- 'VS19' => pack("U", 0xE0102), # VARIATION SELECTOR-19
- 'VS20' => pack("U", 0xE0103), # VARIATION SELECTOR-20
- 'VS21' => pack("U", 0xE0104), # VARIATION SELECTOR-21
- 'VS22' => pack("U", 0xE0105), # VARIATION SELECTOR-22
- 'VS23' => pack("U", 0xE0106), # VARIATION SELECTOR-23
- 'VS24' => pack("U", 0xE0107), # VARIATION SELECTOR-24
- 'VS25' => pack("U", 0xE0108), # VARIATION SELECTOR-25
- 'VS26' => pack("U", 0xE0109), # VARIATION SELECTOR-26
- 'VS27' => pack("U", 0xE010A), # VARIATION SELECTOR-27
- 'VS28' => pack("U", 0xE010B), # VARIATION SELECTOR-28
- 'VS29' => pack("U", 0xE010C), # VARIATION SELECTOR-29
- 'VS30' => pack("U", 0xE010D), # VARIATION SELECTOR-30
- 'VS31' => pack("U", 0xE010E), # VARIATION SELECTOR-31
- 'VS32' => pack("U", 0xE010F), # VARIATION SELECTOR-32
- 'VS33' => pack("U", 0xE0110), # VARIATION SELECTOR-33
- 'VS34' => pack("U", 0xE0111), # VARIATION SELECTOR-34
- 'VS35' => pack("U", 0xE0112), # VARIATION SELECTOR-35
- 'VS36' => pack("U", 0xE0113), # VARIATION SELECTOR-36
- 'VS37' => pack("U", 0xE0114), # VARIATION SELECTOR-37
- 'VS38' => pack("U", 0xE0115), # VARIATION SELECTOR-38
- 'VS39' => pack("U", 0xE0116), # VARIATION SELECTOR-39
- 'VS40' => pack("U", 0xE0117), # VARIATION SELECTOR-40
- 'VS41' => pack("U", 0xE0118), # VARIATION SELECTOR-41
- 'VS42' => pack("U", 0xE0119), # VARIATION SELECTOR-42
- 'VS43' => pack("U", 0xE011A), # VARIATION SELECTOR-43
- 'VS44' => pack("U", 0xE011B), # VARIATION SELECTOR-44
- 'VS45' => pack("U", 0xE011C), # VARIATION SELECTOR-45
- 'VS46' => pack("U", 0xE011D), # VARIATION SELECTOR-46
- 'VS47' => pack("U", 0xE011E), # VARIATION SELECTOR-47
- 'VS48' => pack("U", 0xE011F), # VARIATION SELECTOR-48
- 'VS49' => pack("U", 0xE0120), # VARIATION SELECTOR-49
- 'VS50' => pack("U", 0xE0121), # VARIATION SELECTOR-50
- 'VS51' => pack("U", 0xE0122), # VARIATION SELECTOR-51
- 'VS52' => pack("U", 0xE0123), # VARIATION SELECTOR-52
- 'VS53' => pack("U", 0xE0124), # VARIATION SELECTOR-53
- 'VS54' => pack("U", 0xE0125), # VARIATION SELECTOR-54
- 'VS55' => pack("U", 0xE0126), # VARIATION SELECTOR-55
- 'VS56' => pack("U", 0xE0127), # VARIATION SELECTOR-56
- 'VS57' => pack("U", 0xE0128), # VARIATION SELECTOR-57
- 'VS58' => pack("U", 0xE0129), # VARIATION SELECTOR-58
- 'VS59' => pack("U", 0xE012A), # VARIATION SELECTOR-59
- 'VS60' => pack("U", 0xE012B), # VARIATION SELECTOR-60
- 'VS61' => pack("U", 0xE012C), # VARIATION SELECTOR-61
- 'VS62' => pack("U", 0xE012D), # VARIATION SELECTOR-62
- 'VS63' => pack("U", 0xE012E), # VARIATION SELECTOR-63
- 'VS64' => pack("U", 0xE012F), # VARIATION SELECTOR-64
- 'VS65' => pack("U", 0xE0130), # VARIATION SELECTOR-65
- 'VS66' => pack("U", 0xE0131), # VARIATION SELECTOR-66
- 'VS67' => pack("U", 0xE0132), # VARIATION SELECTOR-67
- 'VS68' => pack("U", 0xE0133), # VARIATION SELECTOR-68
- 'VS69' => pack("U", 0xE0134), # VARIATION SELECTOR-69
- 'VS70' => pack("U", 0xE0135), # VARIATION SELECTOR-70
- 'VS71' => pack("U", 0xE0136), # VARIATION SELECTOR-71
- 'VS72' => pack("U", 0xE0137), # VARIATION SELECTOR-72
- 'VS73' => pack("U", 0xE0138), # VARIATION SELECTOR-73
- 'VS74' => pack("U", 0xE0139), # VARIATION SELECTOR-74
- 'VS75' => pack("U", 0xE013A), # VARIATION SELECTOR-75
- 'VS76' => pack("U", 0xE013B), # VARIATION SELECTOR-76
- 'VS77' => pack("U", 0xE013C), # VARIATION SELECTOR-77
- 'VS78' => pack("U", 0xE013D), # VARIATION SELECTOR-78
- 'VS79' => pack("U", 0xE013E), # VARIATION SELECTOR-79
- 'VS80' => pack("U", 0xE013F), # VARIATION SELECTOR-80
- 'VS81' => pack("U", 0xE0140), # VARIATION SELECTOR-81
- 'VS82' => pack("U", 0xE0141), # VARIATION SELECTOR-82
- 'VS83' => pack("U", 0xE0142), # VARIATION SELECTOR-83
- 'VS84' => pack("U", 0xE0143), # VARIATION SELECTOR-84
- 'VS85' => pack("U", 0xE0144), # VARIATION SELECTOR-85
- 'VS86' => pack("U", 0xE0145), # VARIATION SELECTOR-86
- 'VS87' => pack("U", 0xE0146), # VARIATION SELECTOR-87
- 'VS88' => pack("U", 0xE0147), # VARIATION SELECTOR-88
- 'VS89' => pack("U", 0xE0148), # VARIATION SELECTOR-89
- 'VS90' => pack("U", 0xE0149), # VARIATION SELECTOR-90
- 'VS91' => pack("U", 0xE014A), # VARIATION SELECTOR-91
- 'VS92' => pack("U", 0xE014B), # VARIATION SELECTOR-92
- 'VS93' => pack("U", 0xE014C), # VARIATION SELECTOR-93
- 'VS94' => pack("U", 0xE014D), # VARIATION SELECTOR-94
- 'VS95' => pack("U", 0xE014E), # VARIATION SELECTOR-95
- 'VS96' => pack("U", 0xE014F), # VARIATION SELECTOR-96
- 'VS97' => pack("U", 0xE0150), # VARIATION SELECTOR-97
- 'VS98' => pack("U", 0xE0151), # VARIATION SELECTOR-98
- 'VS99' => pack("U", 0xE0152), # VARIATION SELECTOR-99
- 'VS100' => pack("U", 0xE0153), # VARIATION SELECTOR-100
- 'VS101' => pack("U", 0xE0154), # VARIATION SELECTOR-101
- 'VS102' => pack("U", 0xE0155), # VARIATION SELECTOR-102
- 'VS103' => pack("U", 0xE0156), # VARIATION SELECTOR-103
- 'VS104' => pack("U", 0xE0157), # VARIATION SELECTOR-104
- 'VS105' => pack("U", 0xE0158), # VARIATION SELECTOR-105
- 'VS106' => pack("U", 0xE0159), # VARIATION SELECTOR-106
- 'VS107' => pack("U", 0xE015A), # VARIATION SELECTOR-107
- 'VS108' => pack("U", 0xE015B), # VARIATION SELECTOR-108
- 'VS109' => pack("U", 0xE015C), # VARIATION SELECTOR-109
- 'VS110' => pack("U", 0xE015D), # VARIATION SELECTOR-110
- 'VS111' => pack("U", 0xE015E), # VARIATION SELECTOR-111
- 'VS112' => pack("U", 0xE015F), # VARIATION SELECTOR-112
- 'VS113' => pack("U", 0xE0160), # VARIATION SELECTOR-113
- 'VS114' => pack("U", 0xE0161), # VARIATION SELECTOR-114
- 'VS115' => pack("U", 0xE0162), # VARIATION SELECTOR-115
- 'VS116' => pack("U", 0xE0163), # VARIATION SELECTOR-116
- 'VS117' => pack("U", 0xE0164), # VARIATION SELECTOR-117
- 'VS118' => pack("U", 0xE0165), # VARIATION SELECTOR-118
- 'VS119' => pack("U", 0xE0166), # VARIATION SELECTOR-119
- 'VS120' => pack("U", 0xE0167), # VARIATION SELECTOR-120
- 'VS121' => pack("U", 0xE0168), # VARIATION SELECTOR-121
- 'VS122' => pack("U", 0xE0169), # VARIATION SELECTOR-122
- 'VS123' => pack("U", 0xE016A), # VARIATION SELECTOR-123
- 'VS124' => pack("U", 0xE016B), # VARIATION SELECTOR-124
- 'VS125' => pack("U", 0xE016C), # VARIATION SELECTOR-125
- 'VS126' => pack("U", 0xE016D), # VARIATION SELECTOR-126
- 'VS127' => pack("U", 0xE016E), # VARIATION SELECTOR-127
- 'VS128' => pack("U", 0xE016F), # VARIATION SELECTOR-128
- 'VS129' => pack("U", 0xE0170), # VARIATION SELECTOR-129
- 'VS130' => pack("U", 0xE0171), # VARIATION SELECTOR-130
- 'VS131' => pack("U", 0xE0172), # VARIATION SELECTOR-131
- 'VS132' => pack("U", 0xE0173), # VARIATION SELECTOR-132
- 'VS133' => pack("U", 0xE0174), # VARIATION SELECTOR-133
- 'VS134' => pack("U", 0xE0175), # VARIATION SELECTOR-134
- 'VS135' => pack("U", 0xE0176), # VARIATION SELECTOR-135
- 'VS136' => pack("U", 0xE0177), # VARIATION SELECTOR-136
- 'VS137' => pack("U", 0xE0178), # VARIATION SELECTOR-137
- 'VS138' => pack("U", 0xE0179), # VARIATION SELECTOR-138
- 'VS139' => pack("U", 0xE017A), # VARIATION SELECTOR-139
- 'VS140' => pack("U", 0xE017B), # VARIATION SELECTOR-140
- 'VS141' => pack("U", 0xE017C), # VARIATION SELECTOR-141
- 'VS142' => pack("U", 0xE017D), # VARIATION SELECTOR-142
- 'VS143' => pack("U", 0xE017E), # VARIATION SELECTOR-143
- 'VS144' => pack("U", 0xE017F), # VARIATION SELECTOR-144
- 'VS145' => pack("U", 0xE0180), # VARIATION SELECTOR-145
- 'VS146' => pack("U", 0xE0181), # VARIATION SELECTOR-146
- 'VS147' => pack("U", 0xE0182), # VARIATION SELECTOR-147
- 'VS148' => pack("U", 0xE0183), # VARIATION SELECTOR-148
- 'VS149' => pack("U", 0xE0184), # VARIATION SELECTOR-149
- 'VS150' => pack("U", 0xE0185), # VARIATION SELECTOR-150
- 'VS151' => pack("U", 0xE0186), # VARIATION SELECTOR-151
- 'VS152' => pack("U", 0xE0187), # VARIATION SELECTOR-152
- 'VS153' => pack("U", 0xE0188), # VARIATION SELECTOR-153
- 'VS154' => pack("U", 0xE0189), # VARIATION SELECTOR-154
- 'VS155' => pack("U", 0xE018A), # VARIATION SELECTOR-155
- 'VS156' => pack("U", 0xE018B), # VARIATION SELECTOR-156
- 'VS157' => pack("U", 0xE018C), # VARIATION SELECTOR-157
- 'VS158' => pack("U", 0xE018D), # VARIATION SELECTOR-158
- 'VS159' => pack("U", 0xE018E), # VARIATION SELECTOR-159
- 'VS160' => pack("U", 0xE018F), # VARIATION SELECTOR-160
- 'VS161' => pack("U", 0xE0190), # VARIATION SELECTOR-161
- 'VS162' => pack("U", 0xE0191), # VARIATION SELECTOR-162
- 'VS163' => pack("U", 0xE0192), # VARIATION SELECTOR-163
- 'VS164' => pack("U", 0xE0193), # VARIATION SELECTOR-164
- 'VS165' => pack("U", 0xE0194), # VARIATION SELECTOR-165
- 'VS166' => pack("U", 0xE0195), # VARIATION SELECTOR-166
- 'VS167' => pack("U", 0xE0196), # VARIATION SELECTOR-167
- 'VS168' => pack("U", 0xE0197), # VARIATION SELECTOR-168
- 'VS169' => pack("U", 0xE0198), # VARIATION SELECTOR-169
- 'VS170' => pack("U", 0xE0199), # VARIATION SELECTOR-170
- 'VS171' => pack("U", 0xE019A), # VARIATION SELECTOR-171
- 'VS172' => pack("U", 0xE019B), # VARIATION SELECTOR-172
- 'VS173' => pack("U", 0xE019C), # VARIATION SELECTOR-173
- 'VS174' => pack("U", 0xE019D), # VARIATION SELECTOR-174
- 'VS175' => pack("U", 0xE019E), # VARIATION SELECTOR-175
- 'VS176' => pack("U", 0xE019F), # VARIATION SELECTOR-176
- 'VS177' => pack("U", 0xE01A0), # VARIATION SELECTOR-177
- 'VS178' => pack("U", 0xE01A1), # VARIATION SELECTOR-178
- 'VS179' => pack("U", 0xE01A2), # VARIATION SELECTOR-179
- 'VS180' => pack("U", 0xE01A3), # VARIATION SELECTOR-180
- 'VS181' => pack("U", 0xE01A4), # VARIATION SELECTOR-181
- 'VS182' => pack("U", 0xE01A5), # VARIATION SELECTOR-182
- 'VS183' => pack("U", 0xE01A6), # VARIATION SELECTOR-183
- 'VS184' => pack("U", 0xE01A7), # VARIATION SELECTOR-184
- 'VS185' => pack("U", 0xE01A8), # VARIATION SELECTOR-185
- 'VS186' => pack("U", 0xE01A9), # VARIATION SELECTOR-186
- 'VS187' => pack("U", 0xE01AA), # VARIATION SELECTOR-187
- 'VS188' => pack("U", 0xE01AB), # VARIATION SELECTOR-188
- 'VS189' => pack("U", 0xE01AC), # VARIATION SELECTOR-189
- 'VS190' => pack("U", 0xE01AD), # VARIATION SELECTOR-190
- 'VS191' => pack("U", 0xE01AE), # VARIATION SELECTOR-191
- 'VS192' => pack("U", 0xE01AF), # VARIATION SELECTOR-192
- 'VS193' => pack("U", 0xE01B0), # VARIATION SELECTOR-193
- 'VS194' => pack("U", 0xE01B1), # VARIATION SELECTOR-194
- 'VS195' => pack("U", 0xE01B2), # VARIATION SELECTOR-195
- 'VS196' => pack("U", 0xE01B3), # VARIATION SELECTOR-196
- 'VS197' => pack("U", 0xE01B4), # VARIATION SELECTOR-197
- 'VS198' => pack("U", 0xE01B5), # VARIATION SELECTOR-198
- 'VS199' => pack("U", 0xE01B6), # VARIATION SELECTOR-199
- 'VS200' => pack("U", 0xE01B7), # VARIATION SELECTOR-200
- 'VS201' => pack("U", 0xE01B8), # VARIATION SELECTOR-201
- 'VS202' => pack("U", 0xE01B9), # VARIATION SELECTOR-202
- 'VS203' => pack("U", 0xE01BA), # VARIATION SELECTOR-203
- 'VS204' => pack("U", 0xE01BB), # VARIATION SELECTOR-204
- 'VS205' => pack("U", 0xE01BC), # VARIATION SELECTOR-205
- 'VS206' => pack("U", 0xE01BD), # VARIATION SELECTOR-206
- 'VS207' => pack("U", 0xE01BE), # VARIATION SELECTOR-207
- 'VS208' => pack("U", 0xE01BF), # VARIATION SELECTOR-208
- 'VS209' => pack("U", 0xE01C0), # VARIATION SELECTOR-209
- 'VS210' => pack("U", 0xE01C1), # VARIATION SELECTOR-210
- 'VS211' => pack("U", 0xE01C2), # VARIATION SELECTOR-211
- 'VS212' => pack("U", 0xE01C3), # VARIATION SELECTOR-212
- 'VS213' => pack("U", 0xE01C4), # VARIATION SELECTOR-213
- 'VS214' => pack("U", 0xE01C5), # VARIATION SELECTOR-214
- 'VS215' => pack("U", 0xE01C6), # VARIATION SELECTOR-215
- 'VS216' => pack("U", 0xE01C7), # VARIATION SELECTOR-216
- 'VS217' => pack("U", 0xE01C8), # VARIATION SELECTOR-217
- 'VS218' => pack("U", 0xE01C9), # VARIATION SELECTOR-218
- 'VS219' => pack("U", 0xE01CA), # VARIATION SELECTOR-219
- 'VS220' => pack("U", 0xE01CB), # VARIATION SELECTOR-220
- 'VS221' => pack("U", 0xE01CC), # VARIATION SELECTOR-221
- 'VS222' => pack("U", 0xE01CD), # VARIATION SELECTOR-222
- 'VS223' => pack("U", 0xE01CE), # VARIATION SELECTOR-223
- 'VS224' => pack("U", 0xE01CF), # VARIATION SELECTOR-224
- 'VS225' => pack("U", 0xE01D0), # VARIATION SELECTOR-225
- 'VS226' => pack("U", 0xE01D1), # VARIATION SELECTOR-226
- 'VS227' => pack("U", 0xE01D2), # VARIATION SELECTOR-227
- 'VS228' => pack("U", 0xE01D3), # VARIATION SELECTOR-228
- 'VS229' => pack("U", 0xE01D4), # VARIATION SELECTOR-229
- 'VS230' => pack("U", 0xE01D5), # VARIATION SELECTOR-230
- 'VS231' => pack("U", 0xE01D6), # VARIATION SELECTOR-231
- 'VS232' => pack("U", 0xE01D7), # VARIATION SELECTOR-232
- 'VS233' => pack("U", 0xE01D8), # VARIATION SELECTOR-233
- 'VS234' => pack("U", 0xE01D9), # VARIATION SELECTOR-234
- 'VS235' => pack("U", 0xE01DA), # VARIATION SELECTOR-235
- 'VS236' => pack("U", 0xE01DB), # VARIATION SELECTOR-236
- 'VS237' => pack("U", 0xE01DC), # VARIATION SELECTOR-237
- 'VS238' => pack("U", 0xE01DD), # VARIATION SELECTOR-238
- 'VS239' => pack("U", 0xE01DE), # VARIATION SELECTOR-239
- 'VS240' => pack("U", 0xE01DF), # VARIATION SELECTOR-240
- 'VS241' => pack("U", 0xE01E0), # VARIATION SELECTOR-241
- 'VS242' => pack("U", 0xE01E1), # VARIATION SELECTOR-242
- 'VS243' => pack("U", 0xE01E2), # VARIATION SELECTOR-243
- 'VS244' => pack("U", 0xE01E3), # VARIATION SELECTOR-244
- 'VS245' => pack("U", 0xE01E4), # VARIATION SELECTOR-245
- 'VS246' => pack("U", 0xE01E5), # VARIATION SELECTOR-246
- 'VS247' => pack("U", 0xE01E6), # VARIATION SELECTOR-247
- 'VS248' => pack("U", 0xE01E7), # VARIATION SELECTOR-248
- 'VS249' => pack("U", 0xE01E8), # VARIATION SELECTOR-249
- 'VS250' => pack("U", 0xE01E9), # VARIATION SELECTOR-250
- 'VS251' => pack("U", 0xE01EA), # VARIATION SELECTOR-251
- 'VS252' => pack("U", 0xE01EB), # VARIATION SELECTOR-252
- 'VS253' => pack("U", 0xE01EC), # VARIATION SELECTOR-253
- 'VS254' => pack("U", 0xE01ED), # VARIATION SELECTOR-254
- 'VS255' => pack("U", 0xE01EE), # VARIATION SELECTOR-255
- 'VS256' => pack("U", 0xE01EF), # VARIATION SELECTOR-256
- 'WJ' => pack("U", 0x2060), # WORD JOINER
- 'ZWJ' => pack("U", 0x200D), # ZERO WIDTH JOINER
- 'ZWNJ' => pack("U", 0x200C), # ZERO WIDTH NON-JOINER
- 'ZWSP' => pack("U", 0x200B), # ZERO WIDTH SPACE
-);
-
-my %deprecated_aliases = (
- # Pre-3.2 compatibility (only for the first 256 characters).
- # Use of these gives deprecated message.
- 'HORIZONTAL TABULATION' => pack("U", 0x09), # CHARACTER TABULATION
- 'VERTICAL TABULATION' => pack("U", 0x0B), # LINE TABULATION
- 'FILE SEPARATOR' => pack("U", 0x1C), # INFORMATION SEPARATOR FOUR
- 'GROUP SEPARATOR' => pack("U", 0x1D), # INFORMATION SEPARATOR THREE
- 'RECORD SEPARATOR' => pack("U", 0x1E), # INFORMATION SEPARATOR TWO
- 'UNIT SEPARATOR' => pack("U", 0x1F), # INFORMATION SEPARATOR ONE
- 'HORIZONTAL TABULATION SET' => pack("U", 0x88), # CHARACTER TABULATION SET
- 'HORIZONTAL TABULATION WITH JUSTIFICATION' => pack("U", 0x89), # CHARACTER TABULATION WITH JUSTIFICATION
- 'PARTIAL LINE DOWN' => pack("U", 0x8B), # PARTIAL LINE FORWARD
- 'PARTIAL LINE UP' => pack("U", 0x8C), # PARTIAL LINE BACKWARD
- 'VERTICAL TABULATION SET' => pack("U", 0x8A), # LINE TABULATION SET
- 'REVERSE INDEX' => pack("U", 0x8D), # REVERSE LINE FEED
-
- # Unicode 6.0 co-opted this for U+1F514, so deprecate it for now.
- 'BELL' => pack("U", 0x07),
-);
-
-
-my $txt; # The table of official character names
-
-my %full_names_cache; # Holds already-looked-up names, so don't have to
-# re-look them up again. The previous versions of charnames had scoping
-# bugs. For example if we use script A in one scope and find and cache
-# what Z resolves to, we can't use that cache in a different scope that
-# uses script B instead of A, as Z might be an entirely different letter
-# there; or there might be different aliases in effect in different
-# scopes, or :short may be in effect or not effect in different scopes,
-# or various combinations thereof. This was solved in this version
-# mostly by moving things to %^H. But some things couldn't be moved
-# there. One of them was the cache of runtime looked-up names, in part
-# because %^H is read-only at runtime. I (khw) don't know why the cache
-# was run-time only in the previous versions: perhaps oversight; perhaps
-# that compile time looking doesn't happen in a loop so didn't think it
-# was worthwhile; perhaps not wanting to make the cache too large. But
-# I decided to make it compile time as well; this could easily be
-# changed.
-# Anyway, this hash is not scoped, and is added to at runtime. It
-# doesn't have scoping problems because the data in it is restricted to
-# official names, which are always invariant, and we only set it and
-# look at it at during :full lookups, so is unaffected by any other
-# scoped options. I put this in to maintain parity with the older
-# version. If desired, a %short_names cache could also be made, as well
-# as one for each script, say in %script_names_cache, with each key
-# being a hash for a script named in a 'use charnames' statement. I
-# decided not to do that for now, just because it's added complication,
-# and because I'm just trying to maintain parity, not extend it.
-
-# Designed so that test decimal first, and then hex. Leading zeros
-# imply non-decimal, as do non-[0-9]
-my $decimal_qr = qr/^[1-9]\d*$/;
-
-# Returns the hex number in $1.
-my $hex_qr = qr/^(?:[Uu]\+|0[xX])?([[:xdigit:]]+)$/;
-
-sub croak
-{
- require Carp; goto &Carp::croak;
-} # croak
-
-sub carp
-{
- require Carp; goto &Carp::carp;
-} # carp
-
-sub alias (@) # Set up a single alias
-{
- my $alias = ref $_[0] ? $_[0] : { @_ };
- foreach my $name (keys %$alias) {
- my $value = $alias->{$name};
- next unless defined $value; # Omit if screwed up.
-
- # Is slightly slower to just after this statement see if it is
- # decimal, since we already know it is after having converted from
- # hex, but makes the code easier to maintain, and is called
- # infrequently, only at compile-time
- if ($value !~ $decimal_qr && $value =~ $hex_qr) {
- $value = CORE::hex $1;
- }
- if ($value =~ $decimal_qr) {
- no warnings 'utf8'; # Allow even illegal characters
- $^H{charnames_ord_aliases}{$name} = pack("U", $value);
-
- # Use a canonical form.
- $^H{charnames_inverse_ords}{sprintf("%05X", $value)} = $name;
- }
- else {
- # XXX validate syntax when deprecation cycle complete. ie. start
- # with an alpha only, etc.
- $^H{charnames_name_aliases}{$name} = $value;
- }
- }
-} # alias
+# Translate between Unicode character names and their code points.
+# This is a wrapper around the submodule C<_charnames>. This design allows
+# C<_charnames> to be autoloaded to enable use of \N{...}, but requires this
+# module to be explicitly requested for the functions API.
-sub not_legal_use_bytes_msg {
- my ($name, $utf8) = @_;
- my $return;
-
- if (length($utf8) == 1) {
- $return = sprintf("Character 0x%04x with name '%s' is", ord $utf8, $name);
- } else {
- $return = sprintf("String with name '%s' (and ordinals %s) contains character(s)", $name, join(" ", map { sprintf "0x%04X", ord $_ } split(//, $utf8)));
- }
- return $return . " above 0xFF with 'use bytes' in effect";
-}
-
-sub alias_file ($) # Reads a file containing alias definitions
-{
- my ($arg, $file) = @_;
- if (-f $arg && File::Spec->file_name_is_absolute ($arg)) {
- $file = $arg;
- }
- elsif ($arg =~ m/^\w+$/) {
- $file = "unicore/${arg}_alias.pl";
- }
- else {
- croak "Charnames alias files can only have identifier characters";
- }
- if (my @alias = do $file) {
- @alias == 1 && !defined $alias[0] and
- croak "$file cannot be used as alias file for charnames";
- @alias % 2 and
- croak "$file did not return a (valid) list of alias pairs";
- alias (@alias);
- return (1);
- }
- 0;
-} # alias_file
-
-# For use when don't import anything. This structure must be kept in
-# sync with the one that import() fills up.
-my %dummy_H = (
- charnames_stringified_names => "",
- charnames_stringified_ords => "",
- charnames_scripts => "",
- charnames_full => 1,
- charnames_short => 0,
- );
-
-
-sub lookup_name ($$$) {
- my ($name, $wants_ord, $runtime) = @_;
-
- # Lookup the name or sequence $name in the tables. If $wants_ord is false,
- # returns the string equivalent of $name; if true, returns the ordinal value
- # instead, but in this case $name must not be a sequence; otherwise undef is
- # returned and a warning raised. $runtime is 0 if compiletime, otherwise
- # gives the number of stack frames to go back to get the application caller
- # info.
- # If $name is not found, returns undef in runtime with no warning; and in
- # compiletime, the Unicode replacement character, with a warning.
-
- # It looks first in the aliases, then in the large table of official Unicode
- # names.
-
- my $utf8; # The string result
- my $save_input;
-
- if ($runtime) {
-
- my $hints_ref = (caller($runtime))[10];
-
- # If we didn't import anything (which happens with 'use charnames ()',
- # substitute a dummy structure.
- $hints_ref = \%dummy_H if ! defined $hints_ref
- || ! defined $hints_ref->{charnames_full};
-
- # At runtime, but currently not at compile time, $^H gets
- # stringified, so un-stringify back to the original data structures.
- # These get thrown away by perl before the next invocation
- # Also fill in the hash with the non-stringified data.
- # N.B. New fields must be also added to %dummy_H
-
- %{$^H{charnames_name_aliases}} = split ',',
- $hints_ref->{charnames_stringified_names};
- %{$^H{charnames_ord_aliases}} = split ',',
- $hints_ref->{charnames_stringified_ords};
- $^H{charnames_scripts} = $hints_ref->{charnames_scripts};
- $^H{charnames_full} = $hints_ref->{charnames_full};
- $^H{charnames_short} = $hints_ref->{charnames_short};
- }
-
- # User alias should be checked first or else can't override ours, and if we
- # were to add any, could conflict with theirs.
- if (exists $^H{charnames_ord_aliases}{$name}) {
- $utf8 = $^H{charnames_ord_aliases}{$name};
- }
- elsif (exists $^H{charnames_name_aliases}{$name}) {
- $name = $^H{charnames_name_aliases}{$name};
- $save_input = $name; # Cache the result for any error message
- }
- elsif (exists $system_aliases{$name}) {
- $utf8 = $system_aliases{$name};
- }
- elsif (exists $deprecated_aliases{$name}) {
- require warnings;
- warnings::warnif('deprecated', "Unicode character name \"$name\" is deprecated, use \"" . viacode(ord $deprecated_aliases{$name}) . "\" instead");
- $utf8 = $deprecated_aliases{$name};
- }
-
- my @off;
-
- if (! defined $utf8) {
-
- # See if has looked this input up earlier.
- if ($^H{charnames_full} && exists $full_names_cache{$name}) {
- $utf8 = $full_names_cache{$name};
- }
- else {
-
- ## Suck in the code/name list as a big string.
- ## Lines look like:
- ## "00052\tLATIN CAPITAL LETTER R\n"
- # or
- # "0052 0303\tLATIN CAPITAL LETTER R WITH TILDE\n"
- $txt = do "unicore/Name.pl" unless $txt;
-
- ## @off will hold the index into the code/name string of the start and
- ## end of the name as we find it.
-
- ## If :full, look for the name exactly; runtime implies full
- my $found_full_in_table = 0; # Tells us if can cache the result
- if ($^H{charnames_full}) {
-
- # See if the name is one which is algorithmically determinable.
- # The subroutine is included in Name.pl. The table contained in
- # $txt doesn't contain these. Experiments show that checking
- # for these before checking for the regular names has no
- # noticeable impact on performance for the regular names, but
- # the other way around slows down finding these immensely.
- # Algorithmically determinables are not placed in the cache (that
- # $found_full_in_table indicates) because that uses up memory,
- # and finding these again is fast.
- if (defined (my $ord = name_to_code_point_special($name))) {
- $utf8 = pack("U", $ord);
- }
- else {
-
- # Not algorithmically determinable; look up in the table.
- if ($txt =~ /\t\Q$name\E$/m) {
- @off = ($-[0] + 1, $+[0]); # The 1 is for the tab
- $found_full_in_table = 1;
- }
- }
- }
-
- # If we didn't get it above, keep looking
- if (! $found_full_in_table && ! defined $utf8) {
-
- # If :short is allowed, see if input is like "greek:Sigma".
- my $scripts_trie;
- if (($^H{charnames_short})
- && $name =~ /^ \s* (.+?) \s* : \s* (.+?) \s* $ /xs)
- {
- $scripts_trie = "\U\Q$1";
- $name = $2;
- }
- else { # Otherwise look in allowed scripts
- $scripts_trie = $^H{charnames_scripts};
- }
-
- my $case = $name =~ /[[:upper:]]/ ? "CAPITAL" : "SMALL";
- if ($txt !~
- /\t (?: $scripts_trie ) \ (?:$case\ )? LETTER \ \U\Q$name\E $/xm)
- {
- # Here we still don't have it, give up.
- return if $runtime;
-
- # May have zapped input name, get it again.
- $name = (defined $save_input) ? $save_input : $_[0];
- carp "Unknown charname '$name'";
- return ($wants_ord) ? 0xFFFD : pack("U", 0xFFFD);
- }
-
- @off = ($-[0] + 1, $+[0]); # The 1 is for the tab
- }
-
- if (! defined $utf8) {
-
- # Here, we haven't set up the output, but we know where in the string
- # the name starts. The string is set up so that for single characters
- # (and not named sequences), the name is preceded immediately by a
- # tab and 5 hex digits for its code, with a \n before those. Named
- # sequences won't have the 7th preceding character be a \n.
- # (Actually, for the very first entry in the table this isn't strictly
- # true: subtracting 7 will yield -1, and the substr below will
- # therefore yield the very last character in the table, which should
- # also be a \n, so the statement works anyway.)
- if (substr($txt, $off[0] - 7, 1) eq "\n") {
- $utf8 = pack("U", CORE::hex substr($txt, $off[0] - 6, 5));
- }
- else {
-
- # Here, is a named sequence. Need to go looking for the beginning,
- # which is just after the \n from the previous entry in the table.
- # The +1 skips past that newline, or, if the rindex() fails, to put
- # us to an offset of zero.
- my $charstart = rindex($txt, "\n", $off[0] - 7) + 1;
- $utf8 = pack("U*", map { CORE::hex }
- split " ", substr($txt, $charstart, $off[0] - $charstart - 1));
- }
- }
-
- # Cache the input so as to not have to search the large table
- # again, but only if it came from the one search that we cache.
- $full_names_cache{$name} = $utf8 if $found_full_in_table;
- }
- }
-
-
- # Here, have the utf8. If the return is to be an ord, must be any single
- # character.
- if ($wants_ord) {
- return ord($utf8) if length $utf8 == 1;
- }
- else {
-
- # Here, wants string output. If utf8 is acceptable, just return what
- # we've got; otherwise attempt to convert it to non-utf8 and return that.
- my $in_bytes = ($runtime)
- ? (caller $runtime)[8] & $bytes::hint_bits
- : $^H & $bytes::hint_bits;
- return $utf8 if (! $in_bytes || utf8::downgrade($utf8, 1)) # The 1 arg
- # means don't die on failure
- }
-
- # Here, there is an error: either there are too many characters, or the
- # result string needs to be non-utf8, and at least one character requires
- # utf8. Prefer any official name over the input one for the error message.
- if (@off) {
- $name = substr($txt, $off[0], $off[1] - $off[0]) if @off;
- }
- else {
- $name = (defined $save_input) ? $save_input : $_[0];
- }
-
- if ($wants_ord) {
- # Only way to get here in this case is if result too long. Message
- # assumes that our only caller that requires single char result is
- # vianame.
- carp "charnames::vianame() doesn't handle named sequences ($name). Use charnames::string_vianame() instead";
- return;
- }
-
- # Only other possible failure here is from use bytes.
- if ($runtime) {
- carp not_legal_use_bytes_msg($name, $utf8);
- return;
- } else {
- croak not_legal_use_bytes_msg($name, $utf8);
- }
-
-} # lookup_name
-
-sub charnames {
-
- # For \N{...}. Looks up the character name and returns the string
- # representation of it.
-
- # The first 0 arg means wants a string returned; the second that we are in
- # compile time
- return lookup_name($_[0], 0, 0);
-}
+$Carp::Internal{ (__PACKAGE__) } = 1;
sub import
{
shift; ## ignore class name
-
- if (not @_) {
- carp("`use charnames' needs explicit imports list");
- }
- $^H{charnames} = \&charnames ;
- $^H{charnames_ord_aliases} = {};
- $^H{charnames_name_aliases} = {};
- $^H{charnames_inverse_ords} = {};
- # New fields must be added to %dummy_H, and the code in lookup_name()
- # that copies fields from the runtime structure
-
- ##
- ## fill %h keys with our @_ args.
- ##
- my ($promote, %h, @args) = (0);
- while (my $arg = shift) {
- if ($arg eq ":alias") {
- @_ or
- croak ":alias needs an argument in charnames";
- my $alias = shift;
- if (ref $alias) {
- ref $alias eq "HASH" or
- croak "Only HASH reference supported as argument to :alias";
- alias ($alias);
- next;
- }
- if ($alias =~ m{:(\w+)$}) {
- $1 eq "full" || $1 eq "short" and
- croak ":alias cannot use existing pragma :$1 (reversed order?)";
- alias_file ($1) and $promote = 1;
- next;
- }
- alias_file ($alias);
- next;
- }
- if (substr($arg, 0, 1) eq ':' and ! ($arg eq ":full" || $arg eq ":short")) {
- warn "unsupported special '$arg' in charnames";
- next;
- }
- push @args, $arg;
- }
- @args == 0 && $promote and @args = (":full");
- @h{@args} = (1) x @args;
-
- $^H{charnames_full} = delete $h{':full'} || 0; # Don't leave undefined,
- # as tested for in
- # lookup_names
- $^H{charnames_short} = delete $h{':short'} || 0;
- my @scripts = map uc, keys %h;
-
- ##
- ## If utf8? warnings are enabled, and some scripts were given,
- ## see if at least we can find one letter from each script.
- ##
- if (warnings::enabled('utf8') && @scripts) {
- $txt = do "unicore/Name.pl" unless $txt;
-
- for my $script (@scripts) {
- if (not $txt =~ m/\t$script (?:CAPITAL |SMALL )?LETTER /) {
- warnings::warn('utf8', "No such script: '$script'");
- $script = quotemeta $script; # Escape it, for use in the re.
- }
- }
- }
-
- # %^H gets stringified, so serialize it ourselves so can extract the
- # real data back later.
- $^H{charnames_stringified_ords} = join ",", %{$^H{charnames_ord_aliases}};
- $^H{charnames_stringified_names} = join ",", %{$^H{charnames_name_aliases}};
- $^H{charnames_stringified_inverse_ords} = join ",", %{$^H{charnames_inverse_ords}};
- $^H{charnames_scripts} = join "|", @scripts; # Stringifiy them as a trie
-} # import
+ _charnames->import(@_);
+}
# Cache of already looked-up values. This is set to only contain
# official values, and user aliases can't override them, so scoping is
@@ -834,81 +27,13 @@ sub import
my %viacode;
sub viacode {
-
- # Returns the name of the code point argument
-
- if (@_ != 1) {
- carp "charnames::viacode() expects one argument";
- return;
- }
-
- my $arg = shift;
-
- # This is derived from Unicode::UCD, where it is nearly the same as the
- # function _getcode(), but here it makes sure that even a hex argument
- # has the proper number of leading zeros, which is critical in
- # matching against $txt below
- # Must check if decimal first; see comments at that definition
- my $hex;
- if ($arg =~ $decimal_qr) {
- $hex = sprintf "%05X", $arg;
- } elsif ($arg =~ $hex_qr) {
- # Below is the line that differs from the _getcode() source
- $hex = sprintf "%05X", hex $1;
- } else {
- carp("unexpected arg \"$arg\" to charnames::viacode()");
- return;
- }
-
- return $viacode{$hex} if exists $viacode{$hex};
-
- # If the code point is above the max in the table, there's no point
- # looking through it. Checking the length first is slightly faster
- if (length($hex) <= 5 || CORE::hex($hex) <= 0x10FFFF) {
- $txt = do "unicore/Name.pl" unless $txt;
-
- # See if the name is algorithmically determinable.
- my $algorithmic = code_point_to_name_special(CORE::hex $hex);
- if (defined $algorithmic) {
- $viacode{$hex} = $algorithmic;
- return $algorithmic;
- }
-
- # Return the official name, if exists. It's unclear to me (khw) at
- # this juncture if it is better to return a user-defined override, so
- # leaving it as is for now.
- if ($txt =~ m/^$hex\t/m) {
-
- # The name starts with the next character and goes up to the
- # next new-line. Using capturing parentheses above instead of
- # @+ more than doubles the execution time in Perl 5.13
- $viacode{$hex} = substr($txt, $+[0], index($txt, "\n", $+[0]) - $+[0]);
- return $viacode{$hex};
- }
- }
-
- # See if there is a user name for it, before giving up completely.
- # First get the scoped aliases, give up if have none.
- my $H_ref = (caller(0))[10];
- return if ! defined $H_ref
- || ! exists $H_ref->{charnames_stringified_inverse_ords};
-
- my %code_point_aliases = split ',',
- $H_ref->{charnames_stringified_inverse_ords};
- if (! exists $code_point_aliases{$hex}) {
- if (CORE::hex($hex) > 0x10FFFF) {
- carp "Unicode characters only allocated up to U+10FFFF (you asked for U+$hex)";
- }
- return;
- }
-
- return $code_point_aliases{$hex};
-} # viacode
+ return _charnames::viacode(@_);
+}
sub vianame
{
if (@_ != 1) {
- carp "charnames::vianame() expects one name argument";
+ _charnames::carp "charnames::vianame() expects one name argument";
return ()
}
@@ -925,13 +50,13 @@ sub vianame
# string_vianame() instead.
my $ord = CORE::hex $1;
return chr $ord if $ord <= 255 || ! ((caller 0)[8] & $bytes::hint_bits);
- carp not_legal_use_bytes_msg($arg, chr $ord);
+ _charnames::carp _charnames::not_legal_use_bytes_msg($arg, chr $ord);
return;
}
# The first 1 arg means wants an ord returned; the second that we are in
# runtime, and this is the first level routine called from the user
- return lookup_name($arg, 1, 1);
+ return _charnames::lookup_name($arg, 1, 1);
} # vianame
sub string_vianame {
@@ -940,7 +65,7 @@ sub string_vianame {
# found, undef otherwise.
if (@_ != 1) {
- carp "charnames::string_vianame() expects one name argument";
+ _charnames::carp "charnames::string_vianame() expects one name argument";
return;
}
@@ -951,17 +76,15 @@ sub string_vianame {
my $ord = CORE::hex $1;
return chr $ord if $ord <= 255 || ! ((caller 0)[8] & $bytes::hint_bits);
- carp not_legal_use_bytes_msg($arg, chr $ord);
+ _charnames::carp _charnames::not_legal_use_bytes_msg($arg, chr $ord);
return;
}
# The 0 arg means wants a string returned; the 1 arg means that we are in
# runtime, and this is the first level routine called from the user
- return lookup_name($arg, 0, 1);
+ return _charnames::lookup_name($arg, 0, 1);
} # string_vianame
-
-
1;
__END__
@@ -976,6 +99,11 @@ charnames - access to Unicode character names and named character sequences; als
print "\N{LATIN CAPITAL LETTER E WITH VERTICAL LINE BELOW}",
" is an officially named sequence of two Unicode characters\n";
+ use charnames ':loose';
+ print "\N{Greek small-letter sigma}",
+ "can be used to ignore case, underscores, most blanks,"
+ "and when you aren't sure if the official name has hyphens\n";
+
use charnames ':short';
print "\N{greek:Sigma} is an upper-case sigma.\n";
@@ -987,7 +115,7 @@ charnames - access to Unicode character names and named character sequences; als
mychar => 0xE8000, # Private use area
};
print "\N{e_ACUTE} is a small letter e with an acute.\n";
- print "\\N{mychar} allows me to name private use characters.\n";
+ print "\N{mychar} allows me to name private use characters.\n";
use charnames ();
print charnames::viacode(0x1234); # prints "ETHIOPIC SYLLABLE SEE"
@@ -1027,42 +155,55 @@ Unicode name.
=back
-All forms other than C<S<"use charnames ();">> also enable the use of
-C<\N{I<CHARNAME>}> sequences to compile a Unicode character into a
-string, based on its name.
+Starting in Perl v5.16, any occurrence of C<\N{I<CHARNAME>}> sequences
+in a double-quotish string automatically loads this module with arguments
+C<:full> and C<:short> (described below) if it hasn't already been loaded with
+different arguments, in order to compile the named Unicode character into
+position in the string. Prior to v5.16, an explicit S<C<use charnames>> was
+required to enable this usage. (However, prior to v5.16, the form C<S<"use
+charnames ();">> did not enable C<\N{I<CHARNAME>}>.)
Note that C<\N{U+I<...>}>, where the I<...> is a hexadecimal number,
-also inserts a character into a string, but doesn't require the use of
-this pragma. The character it inserts is the one whose code point
+also inserts a character into a string.
+The character it inserts is the one whose code point
(ordinal value) is equal to the number. For example, C<"\N{U+263a}"> is
-the Unicode (white background, black foreground) smiley face; it doesn't
-require this pragma, whereas the equivalent, C<"\N{WHITE SMILING FACE}">
-does.
-Also, C<\N{I<...>}> can mean a regex quantifier instead of a character
+the Unicode (white background, black foreground) smiley face
+equivalent to C<"\N{WHITE SMILING FACE}">.
+Also note, C<\N{I<...>}> can mean a regex quantifier instead of a character
name, when the I<...> is a number (or comma separated pair of numbers
(see L<perlreref/QUANTIFIERS>), and is not related to this pragma.
-The C<charnames> pragma supports arguments C<:full>, C<:short>, script
-names and customized aliases. If C<:full> is present, for expansion of
+The C<charnames> pragma supports arguments C<:full>, C<:loose>, C<:short>,
+script names and L<customized aliases|/CUSTOM ALIASES>.
+
+If C<:full> is present, for expansion of
C<\N{I<CHARNAME>}>, the string I<CHARNAME> is first looked up in the list of
-standard Unicode character names. If C<:short> is present, and
+standard Unicode character names.
+
+C<:loose> is a variant of C<:full> which allows I<CHARNAME> to be less
+precisely specified. Details are in L</LOOSE MATCHES>.
+
+If C<:short> is present, and
I<CHARNAME> has the form C<I<SCRIPT>:I<CNAME>>, then I<CNAME> is looked up
-as a letter in script I<SCRIPT>. If C<use charnames> is used
+as a letter in script I<SCRIPT>, as described in the next paragraph.
+Or, if C<use charnames> is used
with script name arguments, then for C<\N{I<CHARNAME>}> the name
I<CHARNAME> is looked up as a letter in the given scripts (in the
specified order). Customized aliases can override these, and are explained in
L</CUSTOM ALIASES>.
-For lookup of I<CHARNAME> inside a given script I<SCRIPTNAME>
-this pragma looks for the names
+For lookup of I<CHARNAME> inside a given script I<SCRIPTNAME>,
+this pragma looks in the table of standard Unicode names for the names
SCRIPTNAME CAPITAL LETTER CHARNAME
SCRIPTNAME SMALL LETTER CHARNAME
SCRIPTNAME LETTER CHARNAME
-in the table of standard Unicode names. If I<CHARNAME> is lowercase,
+If I<CHARNAME> is all lowercase,
then the C<CAPITAL> variant is ignored, otherwise the C<SMALL> variant
-is ignored.
+is ignored, and both I<CHARNAME> and I<SCRIPTNAME> are converted to all
+uppercase for look-up. Other than that, both of them follow L<loose|/LOOSE
+MATCHES> rules if C<:loose> is also specified; strict otherwise.
Note that C<\N{...}> is compile-time; it's a special form of string
constant used inside double-quotish strings; this means that you cannot
@@ -1070,11 +211,8 @@ use variables inside the C<\N{...}>. If you want similar run-time
functionality, use
L<charnames::string_vianame()|/charnames::string_vianame(I<name>)>.
-For the C0 and C1 control characters (U+0000..U+001F, U+0080..U+009F)
-there are no official Unicode names but you can use instead the ISO 6429
-names (LINE FEED, ESCAPE, and so forth, and their abbreviations, LF,
-ESC, ...). In Unicode 3.2 (as of Perl 5.8) some naming changes took
-place, and ISO 6429 was updated, see L</ALIASES>.
+Since Unicode 6.0, it is deprecated to use C<BELL>. Instead use C<ALERT> (but
+C<BEL> will continue to work).
If the input name is unknown, C<\N{NAME}> raises a warning and
substitutes the Unicode REPLACEMENT CHARACTER (U+FFFD).
@@ -1087,106 +225,43 @@ Otherwise, any string that includes a C<\N{I<charname>}> or
C<S<\N{U+I<code point>}>> will automatically have Unicode semantics (see
L<perlunicode/Byte and Character Semantics>).
+=head1 LOOSE MATCHES
+
+By specifying C<:loose>, Unicode's L<loose character name
+matching|http://www.unicode.org/reports/tr44#Matching_Rules> rules are
+selected instead of the strict exact match used otherwise.
+That means that I<CHARNAME> doesn't have to be so precisely specified.
+Upper/lower case doesn't matter (except with scripts as mentioned above), nor
+do any underscores, and the only hyphens that matter are those at the
+beginning or end of a word in the name (with one exception: the hyphen in
+U+1180 C<HANGUL JUNGSEONG O-E> does matter).
+Also, blanks not adjacent to hyphens don't matter.
+The official Unicode names are quite variable as to where they use hyphens
+versus spaces to separate word-like units, and this option allows you to not
+have to care as much.
+The reason non-medial hyphens matter is because of cases like
+U+0F60 C<TIBETAN LETTER -A> versus U+0F68 C<TIBETAN LETTER A>.
+The hyphen here is significant, as is the space before it, and so both must be
+included.
+
+C<:loose> slows down look-ups by a factor of 2 to 3 versus
+C<:full>, but the trade-off may be worth it to you. Each individual look-up
+takes very little time, and the results are cached, so the speed difference
+would become a factor only in programs that do look-ups of many different
+spellings, and probably only when those look-ups are through vianame() and
+string_vianame(), since C<\N{...}> look-ups are done at compile time.
+
=head1 ALIASES
-A few aliases have been defined for convenience: instead of having
-to use the official names
-
- LINE FEED (LF)
- FORM FEED (FF)
- CARRIAGE RETURN (CR)
- NEXT LINE (NEL)
-
-(yes, with parentheses), one can use
-
- LINE FEED
- FORM FEED
- CARRIAGE RETURN
- NEXT LINE
- LF
- FF
- CR
- NEL
-
-All the other standard abbreviations for the controls, such as C<ACK> for
-C<ACKNOWLEDGE> also can be used.
-
-One can also use
-
- BYTE ORDER MARK
- BOM
-
-and these abbreviations
-
- Abbreviation Full Name
-
- CGJ COMBINING GRAPHEME JOINER
- FVS1 MONGOLIAN FREE VARIATION SELECTOR ONE
- FVS2 MONGOLIAN FREE VARIATION SELECTOR TWO
- FVS3 MONGOLIAN FREE VARIATION SELECTOR THREE
- LRE LEFT-TO-RIGHT EMBEDDING
- LRM LEFT-TO-RIGHT MARK
- LRO LEFT-TO-RIGHT OVERRIDE
- MMSP MEDIUM MATHEMATICAL SPACE
- MVS MONGOLIAN VOWEL SEPARATOR
- NBSP NO-BREAK SPACE
- NNBSP NARROW NO-BREAK SPACE
- PDF POP DIRECTIONAL FORMATTING
- RLE RIGHT-TO-LEFT EMBEDDING
- RLM RIGHT-TO-LEFT MARK
- RLO RIGHT-TO-LEFT OVERRIDE
- SHY SOFT HYPHEN
- VS1 VARIATION SELECTOR-1
- .
- .
- .
- VS256 VARIATION SELECTOR-256
- WJ WORD JOINER
- ZWJ ZERO WIDTH JOINER
- ZWNJ ZERO WIDTH NON-JOINER
- ZWSP ZERO WIDTH SPACE
-
-For backward compatibility one can use the old names for
-certain C0 and C1 controls
-
- old new
-
- FILE SEPARATOR INFORMATION SEPARATOR FOUR
- GROUP SEPARATOR INFORMATION SEPARATOR THREE
- HORIZONTAL TABULATION CHARACTER TABULATION
- HORIZONTAL TABULATION SET CHARACTER TABULATION SET
- HORIZONTAL TABULATION WITH JUSTIFICATION CHARACTER TABULATION
- WITH JUSTIFICATION
- PARTIAL LINE DOWN PARTIAL LINE FORWARD
- PARTIAL LINE UP PARTIAL LINE BACKWARD
- RECORD SEPARATOR INFORMATION SEPARATOR TWO
- REVERSE INDEX REVERSE LINE FEED
- UNIT SEPARATOR INFORMATION SEPARATOR ONE
- VERTICAL TABULATION LINE TABULATION
- VERTICAL TABULATION SET LINE TABULATION SET
-
-but the old names in addition to giving the character
-will also give a warning about being deprecated.
-
-And finally, certain published variants are usable, including some for
-controls that have no Unicode names:
-
- name character
-
- END OF PROTECTED AREA END OF GUARDED AREA, U+0097
- HIGH OCTET PRESET U+0081
- HOP U+0081
- IND U+0084
- INDEX U+0084
- PAD U+0080
- PADDING CHARACTER U+0080
- PRIVATE USE 1 PRIVATE USE ONE, U+0091
- PRIVATE USE 2 PRIVATE USE TWO, U+0092
- SGC U+0099
- SINGLE GRAPHIC CHARACTER INTRODUCER U+0099
- SINGLE-SHIFT 2 SINGLE SHIFT TWO, U+008E
- SINGLE-SHIFT 3 SINGLE SHIFT THREE, U+008F
- START OF PROTECTED AREA START OF GUARDED AREA, U+0096
+Starting in Unicode 6.1 and Perl v5.16, Unicode defines many abbreviations and
+names that were formerly Perl extensions, and some additional ones that Perl
+did not previously accept. The list is getting too long to reproduce here,
+but you can get the complete list from the Unicode web site:
+L<http://www.unicode.org/Public/UNIDATA/NameAliases.txt>.
+
+Earlier versions of Perl accepted almost all the 6.1 names. These were most
+extensively documented in the v5.14 version of this pod:
+L<http://perldoc.perl.org/5.14.0/charnames.html#ALIASES>.
=head1 CUSTOM ALIASES
@@ -1203,7 +278,8 @@ other than an alphabetic character and from containing anything other
than alphanumerics, spaces, dashes, parentheses, and underscores.
Currently they must be ASCII.
-An alias can map to either an official Unicode character name or to a
+An alias can map to either an official Unicode character name (not a loose
+matched name) or to a
numeric code point (ordinal). The latter is useful for assigning names
to code points in Unicode private use areas such as U+E800 through
U+F8FF.
@@ -1245,50 +321,21 @@ well, like
use charnames ":full", ":alias" => "pro";
-Also, both these methods currently allow only a single character to be named.
+C<":loose"> has no effect with these. Input names must match exactly, using
+C<":full"> rules.
+
+Also, both these methods currently allow only single characters to be named.
To name a sequence of characters, use a
L<custom translator|/CUSTOM TRANSLATORS> (described below).
-=head1 charnames::viacode(I<code>)
-
-Returns the full name of the character indicated by the numeric code.
-For example,
-
- print charnames::viacode(0x2722);
-
-prints "FOUR TEARDROP-SPOKED ASTERISK".
-
-The name returned is the official name for the code point, if
-available; otherwise your custom alias for it. This means that your
-alias will only be returned for code points that don't have an official
-Unicode name (nor Unicode version 1 name), such as private use code
-points, and the 4 control characters U+0080, U+0081, U+0084, and U+0099.
-If you define more than one name for the code point, it is indeterminate
-which one will be returned.
-
-The function returns C<undef> if no name is known for the code point.
-In Unicode the proper name of these is the empty string, which
-C<undef> stringifies to. (If you ask for a code point past the legal
-Unicode maximum of U+10FFFF that you haven't assigned an alias to, you
-get C<undef> plus a warning.)
-
-The input number must be a non-negative integer or a string beginning
-with C<"U+"> or C<"0x"> with the remainder considered to be a
-hexadecimal integer. A literal numeric constant must be unsigned; it
-will be interpreted as hex if it has a leading zero or contains
-non-decimal hex digits; otherwise it will be interpreted as decimal.
-
-Notice that the name returned for of U+FEFF is "ZERO WIDTH NO-BREAK
-SPACE", not "BYTE ORDER MARK".
-
=head1 charnames::string_vianame(I<name>)
This is a runtime equivalent to C<\N{...}>. I<name> can be any expression
that evaluates to a name accepted by C<\N{...}> under the L<C<:full>
option|/DESCRIPTION> to C<charnames>. In addition, any other options for the
-controlling C<"use charnames"> in the same scope apply, like any L<script
-list, C<:short> option|/DESCRIPTION>, or L<custom aliases|/CUSTOM ALIASES> you
-may have defined.
+controlling C<"use charnames"> in the same scope apply, like C<:loose> or any
+L<script list, C<:short> option|/DESCRIPTION>, or L<custom aliases|/CUSTOM
+ALIASES> you may have defined.
The only difference is that if the input name is unknown, C<string_vianame>
returns C<undef> instead of the REPLACEMENT CHARACTER and does not raise a
@@ -1297,7 +344,7 @@ warning message.
=head1 charnames::vianame(I<name>)
This is similar to C<string_vianame>. The main difference is that under most
-circumstances (see L</BUGS> for the others), vianame returns an ordinal code
+circumstances, vianame returns an ordinal code
point, whereas C<string_vianame> returns a string. For example,
printf "U+%04X", charnames::vianame("FOUR TEARDROP-SPOKED ASTERISK");
@@ -1306,9 +353,83 @@ prints "U+2722".
This leads to the other two differences. Since a single code point is
returned, the function can't handle named character sequences, as these are
-composed of multiple characters. And, the code point can be that of any
+composed of multiple characters (it returns C<undef> for these. And, the code
+point can be that of any
character, even ones that aren't legal under the C<S<use bytes>> pragma,
+See L</BUGS> for the circumstances in which the behavior differs
+from that described above.
+
+=head1 charnames::viacode(I<code>)
+
+Returns the full name of the character indicated by the numeric code.
+For example,
+
+ print charnames::viacode(0x2722);
+
+prints "FOUR TEARDROP-SPOKED ASTERISK".
+
+The name returned is the "best" (defined below) official name or alias
+for the code point, if
+available; otherwise your custom alias for it, if defined; otherwise C<undef>.
+This means that your alias will only be returned for code points that don't
+have an official Unicode name (nor alias) such as private use code points.
+
+If you define more than one name for the code point, it is indeterminate
+which one will be returned.
+
+As mentioned, the function returns C<undef> if no name is known for the code
+point. In Unicode the proper name of these is the empty string, which
+C<undef> stringifies to. (If you ask for a code point past the legal
+Unicode maximum of U+10FFFF that you haven't assigned an alias to, you
+get C<undef> plus a warning.)
+
+The input number must be a non-negative integer, or a string beginning
+with C<"U+"> or C<"0x"> with the remainder considered to be a
+hexadecimal integer. A literal numeric constant must be unsigned; it
+will be interpreted as hex if it has a leading zero or contains
+non-decimal hex digits; otherwise it will be interpreted as decimal.
+
+As mentioned above under L</ALIASES>, Unicode 6.1 defines extra names
+(synonyms or aliases) for some code points, most of which were already
+available as Perl extensions. All these are accepted by C<\N{...}> and the
+other functions in this module, but C<viacode> has to choose which one
+name to return for a given input code point, so it returns the "best" name.
+To understand how this works, it is helpful to know more about the Unicode
+name properties. All code points actually have only a single name, which
+(starting in Unicode 2.0) can never change once a character has been assigned
+to the code point. But mistakes have been made in assigning names, for
+example sometimes a clerical error was made during the publishing of the
+Standard which caused words to be misspelled, and there was no way to correct
+those. The Name_Alias property was eventually created to handle these
+situations. If a name was wrong, a corrected synonym would be published for
+it, using Name_Alias. C<viacode> will return that corrected synonym as the
+"best" name for a code point. (It is even possible, though it hasn't happened
+yet, that the correction itself will need to be corrected, and so another
+Name_Alias can be created for that code point; C<viacode> will return the
+most recent correction.)
+
+The Unicode name for each of the control characters (such as LINE FEED) is the
+empty string. However almost all had names assigned by other standards, such
+as the ASCII Standard, or were in common use. C<viacode> returns these names
+as the "best" ones available. Unicode 6.1 has created Name_Aliases for each
+of them, including alternate names, like NEW LINE. C<viacode> uses the
+original name, "LINE FEED" in preference to the alternate. Similarly the
+name returned for U+FEFF is "ZERO WIDTH NO-BREAK SPACE", not "BYTE ORDER
+MARK".
+
+Until Unicode 6.1, the 4 control characters U+0080, U+0081, U+0084, and U+0099
+did not have names nor aliases.
+To preserve backwards compatibility, any alias you define for these code
+points will be returned by this function, in preference to the official name.
+
+Some code points also have abbreviated names, such as "LF" or "NL".
+C<viacode> never returns these.
+
+Because a name correction may be added in future Unicode releases, the name
+that C<viacode> returns may change as a result. This is a rare event, but it
+does happen.
+
=head1 CUSTOM TRANSLATORS
The mechanism of translation of C<\N{...}> escapes is general and not
@@ -1323,7 +444,11 @@ following magic incantation:
Here translator() is a subroutine which takes I<CHARNAME> as an
argument, and returns text to insert into the string instead of the
-C<\N{I<CHARNAME>}> escape. Since the text to insert should be different
+C<\N{I<CHARNAME>}> escape.
+
+This is the only way you can create a custom named sequence of code points.
+
+Since the text to insert should be different
in C<bytes> mode and out of it, the function should check the current
state of C<bytes>-flag as in:
@@ -1339,12 +464,12 @@ state of C<bytes>-flag as in:
See L</CUSTOM ALIASES> above for restrictions on I<CHARNAME>.
-Of course, C<vianame> and C<viacode> would need to be overridden as
-well.
+Of course, C<vianame>, C<viacode>, and C<string_vianame> would need to be
+overridden as well.
=head1 BUGS
-vianame normally returns an ordinal code point, but when the input name is of
+vianame() normally returns an ordinal code point, but when the input name is of
the form C<U+...>, it returns a chr instead. In this case, if C<use bytes> is
in effect and the character won't fit into a byte, it returns C<undef> and
raises a warning.
diff --git a/Master/tlpkg/tlperl/lib/complete.pl b/Master/tlpkg/tlperl/lib/complete.pl
deleted file mode 100644
index 9ed041ca83c..00000000000
--- a/Master/tlpkg/tlperl/lib/complete.pl
+++ /dev/null
@@ -1,124 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-;#
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-#
-# Suggested alternative: Term::Complete
-
-;# @(#)complete.pl,v1.1 (me@anywhere.EBay.Sun.COM) 09/23/91
-;#
-;# Author: Wayne Thompson
-;#
-;# Description:
-;# This routine provides word completion.
-;# (TAB) attempts word completion.
-;# (^D) prints completion list.
-;# (These may be changed by setting $Complete'complete, etc.)
-;#
-;# Diagnostics:
-;# Bell when word completion fails.
-;#
-;# Dependencies:
-;# The tty driver is put into raw mode.
-;#
-;# Bugs:
-;#
-;# Usage:
-;# $input = &Complete('prompt_string', *completion_list);
-;# or
-;# $input = &Complete('prompt_string', @completion_list);
-;#
-
-CONFIG: {
- package Complete;
-
- $complete = "\004";
- $kill = "\025";
- $erase1 = "\177";
- $erase2 = "\010";
-}
-
-sub Complete {
- package Complete;
-
- local($prompt, @cmp_list, $return, @match, $l, $test, $cmp, $r);
- if ($_[1] =~ /^StB\0/) {
- ($prompt, *_) = @_;
- }
- else {
- $prompt = shift(@_);
- }
- @cmp_lst = sort(@_);
-
- system('stty raw -echo');
- LOOP: {
- print($prompt, $return);
- while (($_ = getc(STDIN)) ne "\r") {
- CASE: {
- # (TAB) attempt completion
- $_ eq "\t" && do {
- @match = grep(/^$return/, @cmp_lst);
- $l = length($test = shift(@match));
- unless ($#match < 0) {
- foreach $cmp (@match) {
- until (substr($cmp, 0, $l) eq substr($test, 0, $l)) {
- $l--;
- }
- }
- print("\a");
- }
- print($test = substr($test, $r, $l - $r));
- $r = length($return .= $test);
- last CASE;
- };
-
- # (^D) completion list
- $_ eq $complete && do {
- print(join("\r\n", '', grep(/^$return/, @cmp_lst)), "\r\n");
- redo LOOP;
- };
-
- # (^U) kill
- $_ eq $kill && do {
- if ($r) {
- undef $r;
- undef $return;
- print("\r\n");
- redo LOOP;
- }
- last CASE;
- };
-
- # (DEL) || (BS) erase
- ($_ eq $erase1 || $_ eq $erase2) && do {
- if($r) {
- print("\b \b");
- chop($return);
- $r--;
- }
- last CASE;
- };
-
- # printable char
- ord >= 32 && do {
- $return .= $_;
- $r++;
- print;
- last CASE;
- };
- }
- }
- }
- system('stty -raw echo');
- print("\n");
- $return;
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/constant.pm b/Master/tlpkg/tlperl/lib/constant.pm
index 22566ce28cf..ef618c43ab2 100644
--- a/Master/tlpkg/tlperl/lib/constant.pm
+++ b/Master/tlpkg/tlperl/lib/constant.pm
@@ -4,7 +4,7 @@ use strict;
use warnings::register;
use vars qw($VERSION %declared);
-$VERSION = '1.21';
+$VERSION = '1.23';
#=======================================================================
@@ -29,6 +29,19 @@ BEGIN {
no strict 'refs';
my $const = $] > 5.009002;
*_CAN_PCS = sub () {$const};
+
+ # Before this makes its way into a dev perl release, we have to do
+ # browser-sniffing, as it were....
+ return unless $const;
+ *{chr 256} = \3;
+ if (exists ${__PACKAGE__."::"}{"\xc4\x80"}) {
+ delete ${__PACKAGE__."::"}{"\xc4\x80"};
+ *_DOWNGRADE = sub () {1};
+ }
+ else {
+ delete ${__PACKAGE__."::"}{chr 256};
+ *_DOWNGRADE = sub () {0};
+ }
}
#=======================================================================
@@ -117,10 +130,12 @@ sub import {
if ($multiple || @_ == 1) {
my $scalar = $multiple ? $constants->{$name} : $_[0];
- # Work around perl bug #xxxxx: Sub names (actually glob
- # names in general) ignore the UTF8 flag. So we have to
- # turn it off to get the "right" symbol table entry.
- utf8::is_utf8 $name and utf8::encode $name;
+ if (_DOWNGRADE) { # for 5.10 to 5.14
+ # Work around perl bug #31991: Sub names (actually glob
+ # names in general) ignore the UTF8 flag. So we have to
+ # turn it off to get the "right" symbol table entry.
+ utf8::is_utf8 $name and utf8::encode $name;
+ }
# The constant serves to optimise this entire block out on
# 5.8 and earlier.
diff --git a/Master/tlpkg/tlperl/lib/ctime.pl b/Master/tlpkg/tlperl/lib/ctime.pl
deleted file mode 100644
index aa00d003105..00000000000
--- a/Master/tlpkg/tlperl/lib/ctime.pl
+++ /dev/null
@@ -1,63 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-;# ctime.pl is a simple Perl emulation for the well known ctime(3C) function.
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-#
-# Suggested alternative: the POSIX ctime function
-
-;#
-;# Waldemar Kebsch, Federal Republic of Germany, November 1988
-;# kebsch.pad@nixpbe.UUCP
-;# Modified March 1990, Feb 1991 to properly handle timezones
-;# $RCSfile: ctime.pl,v $$Revision: 4.1 $$Date: 92/08/07 18:23:47 $
-;# Marion Hakanson (hakanson@cse.ogi.edu)
-;# Oregon Graduate Institute of Science and Technology
-;#
-;# usage:
-;#
-;# #include <ctime.pl> # see the -P and -I option in perl.man
-;# $Date = &ctime(time);
-
-CONFIG: {
- package ctime;
-
- @DoW = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
- @MoY = ('Jan','Feb','Mar','Apr','May','Jun',
- 'Jul','Aug','Sep','Oct','Nov','Dec');
-}
-
-sub ctime {
- package ctime;
-
- local($time) = @_;
- local($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst);
-
- # Determine what time zone is in effect.
- # Use GMT if TZ is defined as null, local time if TZ undefined.
- # There's no portable way to find the system default timezone.
-
- $TZ = defined($ENV{'TZ'}) ? ( $ENV{'TZ'} ? $ENV{'TZ'} : 'GMT' ) : '';
- ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) =
- ($TZ eq 'GMT') ? gmtime($time) : localtime($time);
-
- # Hack to deal with 'PST8PDT' format of TZ
- # Note that this can't deal with all the esoteric forms, but it
- # does recognize the most common: [:]STDoff[DST[off][,rule]]
-
- if($TZ=~/^([^:\d+\-,]{3,})([+-]?\d{1,2}(:\d{1,2}){0,2})([^\d+\-,]{3,})?/){
- $TZ = $isdst ? $4 : $1;
- }
- $TZ .= ' ' unless $TZ eq '';
-
- $year += 1900;
- sprintf("%s %s %2d %2d:%02d:%02d %s%4d\n",
- $DoW[$wday], $MoY[$mon], $mday, $hour, $min, $sec, $TZ, $year);
-}
-1;
diff --git a/Master/tlpkg/tlperl/lib/diagnostics.pm b/Master/tlpkg/tlperl/lib/diagnostics.pm
index b3464488d7a..39bcb3d1dd0 100644
--- a/Master/tlpkg/tlperl/lib/diagnostics.pm
+++ b/Master/tlpkg/tlperl/lib/diagnostics.pm
@@ -59,13 +59,14 @@ descriptions). User code generated warnings a la warn() are unaffected,
allowing duplicate user messages to be displayed.
This module also adds a stack trace to the error message when perl dies.
-This is useful for pinpointing what caused the death. The B<-traceonly> (or
+This is useful for pinpointing what
+caused the death. The B<-traceonly> (or
just B<-t>) flag turns off the explanations of warning messages leaving just
-the stack traces. So if your script is dieing, run it again with
+the stack traces. So if your script is dieing, run it again with
perl -Mdiagnostics=-traceonly my_bad_script
-to see the call stack at the time of death. By supplying the B<-warntrace>
+to see the call stack at the time of death. By supplying the B<-warntrace>
(or just B<-w>) flag, any warnings emitted will also come with a stack
trace.
@@ -185,7 +186,7 @@ use 5.009001;
use Carp;
$Carp::Internal{__PACKAGE__.""}++;
-our $VERSION = '1.22';
+our $VERSION = '1.28';
our $DEBUG;
our $VERBOSE;
our $PRETTY;
@@ -193,18 +194,13 @@ our $TRACEONLY = 0;
our $WARNTRACE = 0;
use Config;
-my($privlib, $archlib) = @Config{qw(privlibexp archlibexp)};
+my $privlib = $Config{privlibexp};
if ($^O eq 'VMS') {
require VMS::Filespec;
$privlib = VMS::Filespec::unixify($privlib);
- $archlib = VMS::Filespec::unixify($archlib);
}
my @trypod = (
- "$archlib/pod/perldiag.pod",
- "$privlib/pod/perldiag-$Config{version}.pod",
"$privlib/pod/perldiag.pod",
- "$archlib/pods/perldiag.pod",
- "$privlib/pods/perldiag-$Config{version}.pod",
"$privlib/pods/perldiag.pod",
);
# handy for development testing of new warnings etc
@@ -215,7 +211,7 @@ $DEBUG ||= 0;
my $WHOAMI = ref bless []; # nobody's business, prolly not even mine
local $| = 1;
-my $_;
+local $_;
local $.;
my $standalone;
@@ -311,13 +307,13 @@ my %transfmt = ();
my $transmo = <<EOFUNC;
sub transmo {
#local \$^W = 0; # recursive warnings we do NOT need!
- study;
EOFUNC
my %msg;
{
print STDERR "FINISHING COMPILATION for $_\n" if $DEBUG;
local $/ = '';
+ local $_;
my $header;
my @headers;
my $for_item;
@@ -344,6 +340,9 @@ my %msg;
? italic($sect) . ' in ' . italic($page)
: italic($page)
/ges;
+ s/S<(.*?)>/
+ $1
+ /ges;
} else {
s/C<<< (.*?) >>>|C<< (.*?) >>|[BC]<(.*?)>/$+/gs;
s/[IF]<(.*?)>/$1/gs;
@@ -355,6 +354,9 @@ my %msg;
? qq '"$sect" in $page'
: $page
/ges;
+ s/S<(.*?)>/
+ $1
+ /ges;
}
unless (/^=/) {
if (defined $header) {
@@ -407,22 +409,25 @@ my %msg;
# strip formatting directives from =item line
$header =~ s/[A-Z]<(.*?)>/$1/g;
- my @toks = split( /(%l?[dx]|%c|%(?:\.\d+)?[fs])/, $header );
+ # Since we strip "\.\n" when we search a warning, strip it here as well
+ $header =~ s/\.?$//;
+
+ my @toks = split( /(%l?[dxX]|%u|%c|%(?:\.\d+)?[fs])/, $header );
if (@toks > 1) {
my $conlen = 0;
for my $i (0..$#toks){
if( $i % 2 ){
if( $toks[$i] eq '%c' ){
$toks[$i] = '.';
- } elsif( $toks[$i] eq '%d' ){
+ } elsif( $toks[$i] =~ /^%(?:d|u)$/ ){
$toks[$i] = '\d+';
} elsif( $toks[$i] =~ '^%(?:s|.*f)$' ){
$toks[$i] = $i == $#toks ? '.*' : '.*?';
} elsif( $toks[$i] =~ '%.(\d+)s' ){
$toks[$i] = ".{$1}";
- } elsif( $toks[$i] =~ '^%l*x$' ){
- $toks[$i] = '[\da-f]+';
- }
+ } elsif( $toks[$i] =~ '^%l*([xX])$' ){
+ $toks[$i] = $1 eq 'x' ? '[\da-f]+' : '[\dA-F]+';
+ }
} elsif( length( $toks[$i] ) ){
$toks[$i] = quotemeta $toks[$i];
$conlen += length( $toks[$i] );
@@ -563,10 +568,12 @@ sub death_trap {
# traps.
$SIG{__DIE__} = $SIG{__WARN__} = '';
- # Have carp skip over death_trap() when showing the stack trace.
- local($Carp::CarpLevel) = 1;
+ $exception =~ s/\n(?=.)/\n\t/gas;
- confess "Uncaught exception from user code:\n\t$exception";
+ die Carp::longmess("__diagnostics__")
+ =~ s/^__diagnostics__.*?line \d+\.?\n/
+ "Uncaught exception from user code:\n\t$exception"
+ /re;
# up we go; where we stop, nobody knows, but i think we die now
# but i'm deeply afraid of the &$olddie guy reraising and us getting
# into an indirect recursion loop
@@ -577,8 +584,8 @@ my %old_diag;
my $count;
my $wantspace;
sub splainthis {
- return 0 if $TRACEONLY;
- $_ = shift;
+ return 0 if $TRACEONLY;
+ for (my $tmp = shift) {
local $\;
local $!;
### &finish_compilation unless %msg;
@@ -613,17 +620,25 @@ sub splainthis {
return 0 unless &transmo;
}
- $orig = shorten($orig);
+ my $short = shorten($orig);
if ($old_diag{$_}) {
autodescribe();
- print THITHER "$orig (#$old_diag{$_})\n";
+ print THITHER "$short (#$old_diag{$_})\n";
$wantspace = 1;
+ } elsif (!$msg{$_} && $orig =~ /\n./s) {
+ # A multiline message, like "Attempt to reload /
+ # Compilation failed"
+ my $found;
+ for (split /^/, $orig) {
+ splainthis($_) and $found = 1;
+ }
+ return $found;
} else {
autodescribe();
$old_diag{$_} = ++$count;
print THITHER "\n" if $wantspace;
$wantspace = 0;
- print THITHER "$orig (#$old_diag{$_})\n";
+ print THITHER "$short (#$old_diag{$_})\n";
if ($msg{$_}) {
print THITHER $msg{$_};
} else {
@@ -636,6 +651,7 @@ sub splainthis {
}
}
return 1;
+ }
}
sub autodescribe {
diff --git a/Master/tlpkg/tlperl/lib/dotsh.pl b/Master/tlpkg/tlperl/lib/dotsh.pl
deleted file mode 100644
index 92f1f4c1faf..00000000000
--- a/Master/tlpkg/tlperl/lib/dotsh.pl
+++ /dev/null
@@ -1,78 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-#
-# @(#)dotsh.pl 03/19/94
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-#
-# Author: Charles Collins
-#
-# Description:
-# This routine takes a shell script and 'dots' it into the current perl
-# environment. This makes it possible to use existing system scripts
-# to alter environment variables on the fly.
-#
-# Usage:
-# &dotsh ('ShellScript', 'DependentVariable(s)');
-#
-# where
-#
-# 'ShellScript' is the full name of the shell script to be dotted
-#
-# 'DependentVariable(s)' is an optional list of shell variables in the
-# form VARIABLE=VALUE,VARIABLE=VALUE,... that 'ShellScript' is
-# dependent upon. These variables MUST be defined using shell syntax.
-#
-# Example:
-# &dotsh ('/foo/bar', 'arg1');
-# &dotsh ('/foo/bar');
-# &dotsh ('/foo/bar arg1 ... argN');
-#
-
-sub dotsh {
- local(@sh) = @_;
- local($tmp,$key,$shell,$command,$args,$vars) = '';
- local(*dotsh);
- undef *dotsh;
- $dotsh = shift(@sh);
- @dotsh = split (/\s/, $dotsh);
- $command = shift (@dotsh);
- $args = join (" ", @dotsh);
- $vars = join ("\n", @sh);
- open (_SH_ENV, "$command") || die "Could not open $dotsh!\n";
- chop($_ = <_SH_ENV>);
- $shell = "$1 -c" if ($_ =~ /^\#\!\s*(\S+(\/sh|\/ksh|\/zsh|\/csh))\s*$/);
- close (_SH_ENV);
- if (!$shell) {
- if ($ENV{'SHELL'} =~ /\/sh$|\/ksh$|\/zsh$|\/bash$|\/csh$/) {
- $shell = "$ENV{'SHELL'} -c";
- } else {
- print "SHELL not recognized!\nUsing /bin/sh...\n";
- $shell = "/bin/sh -c";
- }
- }
- if (length($vars) > 0) {
- open (_SH_ENV, "$shell \"$vars && . $command $args && set \" |") || die;
- } else {
- open (_SH_ENV, "$shell \". $command $args && set \" |") || die;
- }
-
- while (<_SH_ENV>) {
- chop;
- m/^([^=]*)=(.*)/s;
- $ENV{$1} = $2;
- }
- close (_SH_ENV);
-
- foreach $key (keys(%ENV)) {
- $tmp .= "\$$key = \$ENV{'$key'};" if $key =~ /^[A-Za-z]\w*$/;
- }
- eval $tmp;
-}
-1;
diff --git a/Master/tlpkg/tlperl/lib/dumpvar.pl b/Master/tlpkg/tlperl/lib/dumpvar.pl
index 523bda815c9..7aadba1854e 100644
--- a/Master/tlpkg/tlperl/lib/dumpvar.pl
+++ b/Master/tlpkg/tlperl/lib/dumpvar.pl
@@ -37,7 +37,7 @@ sub main::dumpValue {
# This one is good for variable names:
sub unctrl {
- local($_) = @_;
+ for (my($dummy) = shift) {
local($v) ;
return \$_ if ref \$_ eq "GLOB";
@@ -47,7 +47,8 @@ sub unctrl {
} else {
s/([\001-\037\177])/'^'.pack('c',ord($1)^64)/eg;
}
- $_;
+ return $_;
+ }
}
sub uniescape {
@@ -57,7 +58,8 @@ sub uniescape {
}
sub stringify {
- local($_,$noticks) = @_;
+ (my $__, local $noticks) = @_;
+ for ($__) {
local($v) ;
my $tick = $tick;
@@ -101,9 +103,10 @@ sub stringify {
}
$_ = uniescape($_);
s/([\200-\377])/'\\'.sprintf('%3o',ord($1))/eg if $quoteHighBit;
- ($noticks || /^\d+(\.\d*)?\Z/)
+ return ($noticks || /^\d+(\.\d*)?\Z/)
? $_
: $tick . $_ . $tick;
+ }
}
# Ensure a resulting \ is escaped to be \\
@@ -165,8 +168,7 @@ sub unwrap {
# Match type and address.
# Unblessed references will look like TYPE(0x...)
# Blessed references will look like Class=TYPE(0x...)
- ($start_part, $val) = split /=/,$val;
- $val = $start_part unless defined $val;
+ $val =~ s/^.*=//; # suppress the Class part, just keep TYPE(0x...)
($item_type, $address) =
$val =~ /([^\(]+) # Keep stuff that's
# not an open paren
@@ -343,7 +345,7 @@ sub unctrlSet {
if ($in eq 'unctrl' or $in eq 'quote') {
$unctrl = $in;
} else {
- print "Unknown value for `unctrl'.\n";
+ print "Unknown value for 'unctrl'.\n";
}
}
$unctrl;
diff --git a/Master/tlpkg/tlperl/lib/encoding.pm b/Master/tlpkg/tlperl/lib/encoding.pm
index be20a494487..24d6e5b66c6 100644
--- a/Master/tlpkg/tlperl/lib/encoding.pm
+++ b/Master/tlpkg/tlperl/lib/encoding.pm
@@ -1,4 +1,4 @@
-# $Id: encoding.pm,v 2.8 2009/02/15 17:44:13 dankogai Exp $
+# $Id: encoding.pm,v 2.9 2011/08/09 07:49:44 dankogai Exp dankogai $
package encoding;
our $VERSION = '2.6_01';
@@ -6,7 +6,7 @@ use Encode;
use strict;
use warnings;
-sub DEBUG () { 0 }
+use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
BEGIN {
if ( ord("A") == 193 ) {
diff --git a/Master/tlpkg/tlperl/lib/exceptions.pl b/Master/tlpkg/tlperl/lib/exceptions.pl
deleted file mode 100644
index 8af64c8a1b6..00000000000
--- a/Master/tlpkg/tlperl/lib/exceptions.pl
+++ /dev/null
@@ -1,64 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-# exceptions.pl
-# tchrist@convex.com
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-
-# Here's a little code I use for exception handling. It's really just
-# glorified eval/die. The way to use use it is when you might otherwise
-# exit, use &throw to raise an exception. The first enclosing &catch
-# handler looks at the exception and decides whether it can catch this kind
-# (catch takes a list of regexps to catch), and if so, it returns the one it
-# caught. If it *can't* catch it, then it will reraise the exception
-# for someone else to possibly see, or to die otherwise.
-#
-# I use oddly named variables in order to make darn sure I don't conflict
-# with my caller. I also hide in my own package, and eval the code in his.
-#
-# The EXCEPTION: prefix is so you can tell whether it's a user-raised
-# exception or a perl-raised one (eval error).
-#
-# --tom
-#
-# examples:
-# if (&catch('/$user_input/', 'regexp', 'syntax error') {
-# warn "oops try again";
-# redo;
-# }
-#
-# if ($error = &catch('&subroutine()')) { # catches anything
-#
-# &throw('bad input') if /^$/;
-
-sub catch {
- package exception;
- local($__code__, @__exceptions__) = @_;
- local($__package__) = caller;
- local($__exception__);
-
- eval "package $__package__; $__code__";
- if ($__exception__ = &'thrown) {
- for (@__exceptions__) {
- return $__exception__ if /$__exception__/;
- }
- &'throw($__exception__);
- }
-}
-
-sub throw {
- local($exception) = @_;
- die "EXCEPTION: $exception\n";
-}
-
-sub thrown {
- $@ =~ /^(EXCEPTION: )+(.+)/ && $2;
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/fastcwd.pl b/Master/tlpkg/tlperl/lib/fastcwd.pl
deleted file mode 100644
index 70007a1001e..00000000000
--- a/Master/tlpkg/tlperl/lib/fastcwd.pl
+++ /dev/null
@@ -1,47 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-# By John Bazik
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-#
-# Suggested alternative: Cwd
-
-# Usage: $cwd = &fastcwd;
-#
-# This is a faster version of getcwd. It's also more dangerous because
-# you might chdir out of a directory that you can't chdir back into.
-
-sub fastcwd {
- local($odev, $oino, $cdev, $cino, $tdev, $tino);
- local(@path, $path);
- local(*DIR);
-
- ($cdev, $cino) = stat('.');
- for (;;) {
- ($odev, $oino) = ($cdev, $cino);
- chdir('..');
- ($cdev, $cino) = stat('.');
- last if $odev == $cdev && $oino == $cino;
- opendir(DIR, '.');
- for (;;) {
- $_ = readdir(DIR);
- next if $_ eq '.';
- next if $_ eq '..';
-
- last unless $_;
- ($tdev, $tino) = lstat($_);
- last unless $tdev != $odev || $tino != $oino;
- }
- closedir(DIR);
- unshift(@path, $_);
- }
- chdir($path = '/' . join('/', @path));
- $path;
-}
-1;
diff --git a/Master/tlpkg/tlperl/lib/feature.pm b/Master/tlpkg/tlperl/lib/feature.pm
index 9d666adb64a..87b42aa916b 100644
--- a/Master/tlpkg/tlperl/lib/feature.pm
+++ b/Master/tlpkg/tlperl/lib/feature.pm
@@ -1,33 +1,47 @@
+# -*- buffer-read-only: t -*-
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by regen/feature.pl.
+# Any changes made here will be lost!
+
package feature;
-our $VERSION = '1.20';
+our $VERSION = '1.27';
-# (feature name) => (internal name, used in %^H)
-my %feature = (
+our %feature = (
+ fc => 'feature_fc',
+ say => 'feature_say',
+ state => 'feature_state',
switch => 'feature_switch',
- say => "feature_say",
- state => "feature_state",
- unicode_strings => "feature_unicode",
+ evalbytes => 'feature_evalbytes',
+ array_base => 'feature_arybase',
+ current_sub => 'feature___SUB__',
+ unicode_eval => 'feature_unieval',
+ unicode_strings => 'feature_unicode',
+);
+
+our %feature_bundle = (
+ "5.10" => [qw(array_base say state switch)],
+ "5.11" => [qw(array_base say state switch unicode_strings)],
+ "5.15" => [qw(current_sub evalbytes fc say state switch unicode_eval unicode_strings)],
+ "all" => [qw(array_base current_sub evalbytes fc say state switch unicode_eval unicode_strings)],
+ "default" => [qw(array_base)],
);
+$feature_bundle{"5.12"} = $feature_bundle{"5.11"};
+$feature_bundle{"5.13"} = $feature_bundle{"5.11"};
+$feature_bundle{"5.14"} = $feature_bundle{"5.11"};
+$feature_bundle{"5.16"} = $feature_bundle{"5.15"};
+$feature_bundle{"5.9.5"} = $feature_bundle{"5.10"};
+
+our $hint_shift = 26;
+our $hint_mask = 0x1c000000;
+our @hint_bundles = qw( default 5.10 5.11 5.15 );
+
# This gets set (for now) in $^H as well as in %^H,
# for runtime speed of the uc/lc/ucfirst/lcfirst functions.
# See HINT_UNI_8_BIT in perl.h.
our $hint_uni8bit = 0x00000800;
-# NB. the latest bundle must be loaded by the -E switch (see toke.c)
-
-my %feature_bundle = (
- "5.10" => [qw(switch say state)],
- "5.11" => [qw(switch say state unicode_strings)],
- "5.12" => [qw(switch say state unicode_strings)],
- "5.13" => [qw(switch say state unicode_strings)],
- "5.14" => [qw(switch say state unicode_strings)],
-);
-
-# special case
-$feature_bundle{"5.9.5"} = $feature_bundle{"5.10"};
-
# TODO:
# - think about versioned features (use feature switch => 2)
@@ -37,24 +51,28 @@ feature - Perl pragma to enable new features
=head1 SYNOPSIS
- use feature qw(switch say);
+ use feature qw(say switch);
given ($foo) {
- when (1) { say "\$foo == 1" }
- when ([2,3]) { say "\$foo == 2 || \$foo == 3" }
- when (/^a[bc]d$/) { say "\$foo eq 'abd' || \$foo eq 'acd'" }
- when ($_ > 100) { say "\$foo > 100" }
- default { say "None of the above" }
+ when (1) { say "\$foo == 1" }
+ when ([2,3]) { say "\$foo == 2 || \$foo == 3" }
+ when (/^a[bc]d$/) { say "\$foo eq 'abd' || \$foo eq 'acd'" }
+ when ($_ > 100) { say "\$foo > 100" }
+ default { say "None of the above" }
}
use feature ':5.10'; # loads all features available in perl 5.10
+ use v5.10; # implicitly loads :5.10 feature bundle
+
=head1 DESCRIPTION
It is usually impossible to add new syntax to Perl without breaking
-some existing programs. This pragma provides a way to minimize that
+some existing programs. This pragma provides a way to minimize that
risk. New syntactic constructs, or new semantic meanings to older
constructs, can be enabled by C<use feature 'foo'>, and will be parsed
-only when the appropriate feature pragma is in scope.
+only when the appropriate feature pragma is in scope. (Nevertheless, the
+C<CORE::> prefix provides access to all Perl keywords, regardless of this
+pragma.)
=head2 Lexical effect
@@ -70,7 +88,7 @@ from that point to the end of the enclosing block.
=head2 C<no feature>
-Features can also be turned off by using C<no feature "foo">. This too
+Features can also be turned off by using C<no feature "foo">. This too
has lexical effect.
use feature 'say';
@@ -81,30 +99,39 @@ has lexical effect.
}
say "Yet it is here.";
-C<no feature> with no features specified will turn off all features.
-
-=head2 The 'switch' feature
-
-C<use feature 'switch'> tells the compiler to enable the Perl 6
-given/when construct.
+C<no feature> with no features specified will reset to the default group. To
+disable I<all> features (an unusual request!) use C<no feature ':all'>.
-See L<perlsyn/"Switch statements"> for details.
+=head1 AVAILABLE FEATURES
=head2 The 'say' feature
-C<use feature 'say'> tells the compiler to enable the Perl 6
+C<use feature 'say'> tells the compiler to enable the Perl 6 style
C<say> function.
See L<perlfunc/say> for details.
-=head2 the 'state' feature
+This feature is available starting with Perl 5.10.
+
+=head2 The 'state' feature
C<use feature 'state'> tells the compiler to enable C<state>
variables.
See L<perlsub/"Persistent Private Variables"> for details.
-=head2 the 'unicode_strings' feature
+This feature is available starting with Perl 5.10.
+
+=head2 The 'switch' feature
+
+C<use feature 'switch'> tells the compiler to enable the Perl 6
+given/when construct.
+
+See L<perlsyn/"Switch Statements"> for details.
+
+This feature is available starting with Perl 5.10.
+
+=head2 The 'unicode_strings' feature
C<use feature 'unicode_strings'> tells the compiler to use Unicode semantics
in all string operations executed within its scope (unless they are also
@@ -120,44 +147,143 @@ L<perlunicode/The "Unicode Bug"> for details.) For this reason, if you are
potentially using Unicode in your program, the
C<use feature 'unicode_strings'> subpragma is B<strongly> recommended.
-This subpragma is available starting with Perl 5.11.3, but was not fully
-implemented until 5.13.8.
+This feature is available starting with Perl 5.12; was almost fully
+implemented in Perl 5.14; and extended in Perl 5.16 to cover C<quotemeta>.
+
+=head2 The 'unicode_eval' and 'evalbytes' features
+
+Under the C<unicode_eval> feature, Perl's C<eval> function, when passed a
+string, will evaluate it as a string of characters, ignoring any
+C<use utf8> declarations. C<use utf8> exists to declare the encoding of
+the script, which only makes sense for a stream of bytes, not a string of
+characters. Source filters are forbidden, as they also really only make
+sense on strings of bytes. Any attempt to activate a source filter will
+result in an error.
+
+The C<evalbytes> feature enables the C<evalbytes> keyword, which evaluates
+the argument passed to it as a string of bytes. It dies if the string
+contains any characters outside the 8-bit range. Source filters work
+within C<evalbytes>: they apply to the contents of the string being
+evaluated.
+
+Together, these two features are intended to replace the historical C<eval>
+function, which has (at least) two bugs in it, that cannot easily be fixed
+without breaking existing programs:
+
+=over
+
+=item *
+
+C<eval> behaves differently depending on the internal encoding of the
+string, sometimes treating its argument as a string of bytes, and sometimes
+as a string of characters.
+
+=item *
+
+Source filters activated within C<eval> leak out into whichever I<file>
+scope is currently being compiled. To give an example with the CPAN module
+L<Semi::Semicolons>:
+
+ BEGIN { eval "use Semi::Semicolons; # not filtered here " }
+ # filtered here!
+
+C<evalbytes> fixes that to work the way one would expect:
+
+ use feature "evalbytes";
+ BEGIN { evalbytes "use Semi::Semicolons; # filtered " }
+ # not filtered
+
+=back
+
+These two features are available starting with Perl 5.16.
+
+=head2 The 'current_sub' feature
+
+This provides the C<__SUB__> token that returns a reference to the current
+subroutine or C<undef> outside of a subroutine.
+
+This feature is available starting with Perl 5.16.
+
+=head2 The 'array_base' feature
+
+This feature supports the legacy C<$[> variable. See L<perlvar/$[> and
+L<arybase>. It is on by default but disabled under C<use v5.16> (see
+L</IMPLICIT LOADING>, below).
+
+This feature is available under this name starting with Perl 5.16. In
+previous versions, it was simply on all the time, and this pragma knew
+nothing about it.
+
+=head2 The 'fc' feature
+
+C<use feature 'fc'> tells the compiler to enable the C<fc> function,
+which implements Unicode casefolding.
+
+See L<perlfunc/fc> for details.
+
+This feature is available from Perl 5.16 onwards.
=head1 FEATURE BUNDLES
-It's possible to load a whole slew of features in one go, using
-a I<feature bundle>. The name of a feature bundle is prefixed with
-a colon, to distinguish it from an actual feature. At present, the
-only feature bundle is C<use feature ":5.10"> which is equivalent
-to C<use feature qw(switch say state)>.
+It's possible to load multiple features together, using
+a I<feature bundle>. The name of a feature bundle is prefixed with
+a colon, to distinguish it from an actual feature.
+
+ use feature ":5.10";
+
+The following feature bundles are available:
+
+ bundle features included
+ --------- -----------------
+ :default array_base
+
+ :5.10 say state switch array_base
+
+ :5.12 say state switch unicode_strings array_base
+
+ :5.14 say state switch unicode_strings array_base
+
+ :5.16 say state switch unicode_strings
+ unicode_eval evalbytes current_sub fc
+
+The C<:default> bundle represents the feature set that is enabled before
+any C<use feature> or C<no feature> declaration.
+
+Specifying sub-versions such as the C<0> in C<5.14.0> in feature bundles has
+no effect. Feature bundles are guaranteed to be the same for all sub-versions.
-Specifying sub-versions such as the C<0> in C<5.10.0> in feature bundles has
-no effect: feature bundles are guaranteed to be the same for all sub-versions.
+ use feature ":5.14.0"; # same as ":5.14"
+ use feature ":5.14.1"; # same as ":5.14"
=head1 IMPLICIT LOADING
-There are two ways to load the C<feature> pragma implicitly :
+Instead of loading feature bundles by name, it is easier to let Perl do
+implicit loading of a feature bundle for you.
+
+There are two ways to load the C<feature> pragma implicitly:
=over 4
=item *
-By using the C<-E> switch on the command-line instead of C<-e>. It enables
-all available features in the main compilation unit (that is, the one-liner.)
+By using the C<-E> switch on the Perl command-line instead of C<-e>.
+That will enable the feature bundle for that version of Perl in the
+main compilation unit (that is, the one-liner that follows C<-E>).
=item *
-By requiring explicitly a minimal Perl version number for your program, with
-the C<use VERSION> construct, and when the version is higher than or equal to
-5.10.0. That is,
+By explicitly requiring a minimum Perl version number for your program, with
+the C<use VERSION> construct. That is,
- use 5.10.0;
+ use v5.10.0;
will do an implicit
+ no feature ':all';
use feature ':5.10';
-and so on. Note how the trailing sub-version is automatically stripped from the
+and so on. Note how the trailing sub-version
+is automatically stripped from the
version.
But to avoid portability warnings (see L<perlfunc/use>), you may prefer:
@@ -166,79 +292,87 @@ But to avoid portability warnings (see L<perlfunc/use>), you may prefer:
with the same effect.
+If the required version is older than Perl 5.10, the ":default" feature
+bundle is automatically loaded instead.
+
=back
=cut
sub import {
my $class = shift;
- if (@_ == 0) {
- croak("No features specified");
- }
- while (@_) {
- my $name = shift(@_);
- if (substr($name, 0, 1) eq ":") {
- my $v = substr($name, 1);
- if (!exists $feature_bundle{$v}) {
- $v =~ s/^([0-9]+)\.([0-9]+).[0-9]+$/$1.$2/;
- if (!exists $feature_bundle{$v}) {
- unknown_feature_bundle(substr($name, 1));
- }
- }
- unshift @_, @{$feature_bundle{$v}};
- next;
- }
- if (!exists $feature{$name}) {
- unknown_feature($name);
- }
- $^H{$feature{$name}} = 1;
- $^H |= $hint_uni8bit if $name eq 'unicode_strings';
+
+ if (!@_) {
+ croak("No features specified");
}
+
+ __common(1, @_);
}
sub unimport {
my $class = shift;
- # A bare C<no feature> should disable *all* features
+ # A bare C<no feature> should reset to the default bundle
if (!@_) {
- delete @^H{ values(%feature) };
- $^H &= ~ $hint_uni8bit;
+ $^H &= ~($hint_uni8bit|$hint_mask);
return;
}
- while (@_) {
- my $name = shift;
- if (substr($name, 0, 1) eq ":") {
- my $v = substr($name, 1);
- if (!exists $feature_bundle{$v}) {
- $v =~ s/^([0-9]+)\.([0-9]+).[0-9]+$/$1.$2/;
- if (!exists $feature_bundle{$v}) {
- unknown_feature_bundle(substr($name, 1));
- }
- }
- unshift @_, @{$feature_bundle{$v}};
- next;
- }
- if (!exists($feature{$name})) {
- unknown_feature($name);
+ __common(0, @_);
+}
+
+
+sub __common {
+ my $import = shift;
+ my $bundle_number = $^H & $hint_mask;
+ my $features = $bundle_number != $hint_mask
+ && $feature_bundle{$hint_bundles[$bundle_number >> $hint_shift]};
+ if ($features) {
+ # Features are enabled implicitly via bundle hints.
+ # Delete any keys that may be left over from last time.
+ delete @^H{ values(%feature) };
+ $^H |= $hint_mask;
+ for (@$features) {
+ $^H{$feature{$_}} = 1;
+ $^H |= $hint_uni8bit if $_ eq 'unicode_strings';
}
- else {
- delete $^H{$feature{$name}};
+ }
+ while (@_) {
+ my $name = shift;
+ if (substr($name, 0, 1) eq ":") {
+ my $v = substr($name, 1);
+ if (!exists $feature_bundle{$v}) {
+ $v =~ s/^([0-9]+)\.([0-9]+).[0-9]+$/$1.$2/;
+ if (!exists $feature_bundle{$v}) {
+ unknown_feature_bundle(substr($name, 1));
+ }
+ }
+ unshift @_, @{$feature_bundle{$v}};
+ next;
+ }
+ if (!exists $feature{$name}) {
+ unknown_feature($name);
+ }
+ if ($import) {
+ $^H{$feature{$name}} = 1;
+ $^H |= $hint_uni8bit if $name eq 'unicode_strings';
+ } else {
+ delete $^H{$feature{$name}};
$^H &= ~ $hint_uni8bit if $name eq 'unicode_strings';
- }
+ }
}
}
sub unknown_feature {
my $feature = shift;
croak(sprintf('Feature "%s" is not supported by Perl %vd',
- $feature, $^V));
+ $feature, $^V));
}
sub unknown_feature_bundle {
my $feature = shift;
croak(sprintf('Feature bundle "%s" is not supported by Perl %vd',
- $feature, $^V));
+ $feature, $^V));
}
sub croak {
@@ -247,3 +381,5 @@ sub croak {
}
1;
+
+# ex: set ro:
diff --git a/Master/tlpkg/tlperl/lib/fields.pm b/Master/tlpkg/tlperl/lib/fields.pm
index de6f379d9fe..fd59b6a465e 100644
--- a/Master/tlpkg/tlperl/lib/fields.pm
+++ b/Master/tlpkg/tlperl/lib/fields.pm
@@ -11,7 +11,7 @@ unless( eval q{require warnings::register; warnings::register->import; 1} ) {
}
use vars qw(%attr $VERSION);
-$VERSION = '2.15';
+$VERSION = '2.16';
# constant.pm is slow
sub PUBLIC () { 2**0 }
@@ -278,8 +278,8 @@ This makes it possible to write a constructor like this:
sub new {
my $self = shift;
$self = fields::new($self) unless ref $self;
- $self->{cat} = 'meow'; # scalar element
- @$self{'dog','bird'} = ('bark','tweet'); # slice
+ $self->{cat} = 'meow'; # scalar element
+ @$self{'dog','bird'} = ('bark','tweet'); # slice
return $self;
}
diff --git a/Master/tlpkg/tlperl/lib/find.pl b/Master/tlpkg/tlperl/lib/find.pl
deleted file mode 100644
index 8e1b42c88a0..00000000000
--- a/Master/tlpkg/tlperl/lib/find.pl
+++ /dev/null
@@ -1,54 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-# This library is deprecated and unmaintained. It is included for
-# compatibility with Perl 4 scripts which may use it, but it will be
-# removed in a future version of Perl. Please use the File::Find module
-# instead.
-
-# Usage:
-# require "find.pl";
-#
-# &find('/foo','/bar');
-#
-# sub wanted { ... }
-# where wanted does whatever you want. $dir contains the
-# current directory name, and $_ the current filename within
-# that directory. $name contains "$dir/$_". You are cd'ed
-# to $dir when the function is called. The function may
-# set $prune to prune the tree.
-#
-# For example,
-#
-# find / -name .nfs\* -mtime +7 -exec rm -f {} \; -o -fstype nfs -prune
-#
-# corresponds to this
-#
-# sub wanted {
-# /^\.nfs.*$/ &&
-# (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
-# int(-M _) > 7 &&
-# unlink($_)
-# ||
-# ($nlink || (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_))) &&
-# $dev < 0 &&
-# ($prune = 1);
-# }
-#
-# Set the variable $dont_use_nlink if you're using AFS, since AFS cheats.
-
-use File::Find ();
-
-*name = *File::Find::name;
-*prune = *File::Find::prune;
-*dir = *File::Find::dir;
-*topdir = *File::Find::topdir;
-*topdev = *File::Find::topdev;
-*topino = *File::Find::topino;
-*topmode = *File::Find::topmode;
-*topnlink = *File::Find::topnlink;
-
-sub find {
- &File::Find::find(\&wanted, @_);
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/finddepth.pl b/Master/tlpkg/tlperl/lib/finddepth.pl
deleted file mode 100644
index 479905f6f8b..00000000000
--- a/Master/tlpkg/tlperl/lib/finddepth.pl
+++ /dev/null
@@ -1,53 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-# This library is deprecated and unmaintained. It is included for
-# compatibility with Perl 4 scripts which may use it, but it will be
-# removed in a future version of Perl. Please use the File::Find module
-# instead.
-
-# Usage:
-# require "finddepth.pl";
-#
-# &finddepth('/foo','/bar');
-#
-# sub wanted { ... }
-# where wanted does whatever you want. $dir contains the
-# current directory name, and $_ the current filename within
-# that directory. $name contains "$dir/$_". You are cd'ed
-# to $dir when the function is called. The function may
-# set $prune to prune the tree.
-#
-# For example,
-#
-# find / -name .nfs\* -mtime +7 -exec rm -f {} \; -o -fstype nfs -prune
-#
-# corresponds to this
-#
-# sub wanted {
-# /^\.nfs.*$/ &&
-# (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
-# int(-M _) > 7 &&
-# unlink($_)
-# ||
-# ($nlink || (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_))) &&
-# $dev < 0 &&
-# ($prune = 1);
-# }
-
-
-use File::Find ();
-
-*name = *File::Find::name;
-*prune = *File::Find::prune;
-*dir = *File::Find::dir;
-*topdir = *File::Find::topdir;
-*topdev = *File::Find::topdev;
-*topino = *File::Find::topino;
-*topmode = *File::Find::topmode;
-*topnlink = *File::Find::topnlink;
-
-sub finddepth {
- &File::Find::finddepth(\&wanted, @_);
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/flush.pl b/Master/tlpkg/tlperl/lib/flush.pl
deleted file mode 100644
index c427976b51a..00000000000
--- a/Master/tlpkg/tlperl/lib/flush.pl
+++ /dev/null
@@ -1,36 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-#
-# Suggested alternative: IO::Handle
-
-;# Usage: &flush(FILEHANDLE)
-;# flushes the named filehandle
-
-;# Usage: &printflush(FILEHANDLE, "prompt: ")
-;# prints arguments and flushes filehandle
-
-sub flush {
- local($old) = select(shift);
- $| = 1;
- print "";
- $| = 0;
- select($old);
-}
-
-sub printflush {
- local($old) = select(shift);
- $| = 1;
- print @_;
- $| = 0;
- select($old);
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/getcwd.pl b/Master/tlpkg/tlperl/lib/getcwd.pl
deleted file mode 100644
index 77b2442d3bb..00000000000
--- a/Master/tlpkg/tlperl/lib/getcwd.pl
+++ /dev/null
@@ -1,74 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-# By Brandon S. Allbery
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-#
-# Suggested alternative: Cwd
-
-#
-# Usage: $cwd = &getcwd;
-
-sub getcwd
-{
- local($dotdots, $cwd, @pst, @cst, $dir, @tst);
-
- unless (@cst = stat('.'))
- {
- warn "stat(.): $!";
- return '';
- }
- $cwd = '';
- do
- {
- $dotdots .= '/' if $dotdots;
- $dotdots .= '..';
- @pst = @cst;
- unless (opendir(getcwd'PARENT, $dotdots)) #'))
- {
- warn "opendir($dotdots): $!";
- return '';
- }
- unless (@cst = stat($dotdots))
- {
- warn "stat($dotdots): $!";
- closedir(getcwd'PARENT); #');
- return '';
- }
- if ($pst[0] == $cst[0] && $pst[1] == $cst[1])
- {
- $dir = '';
- }
- else
- {
- do
- {
- unless (defined ($dir = readdir(getcwd'PARENT))) #'))
- {
- warn "readdir($dotdots): $!";
- closedir(getcwd'PARENT); #');
- return '';
- }
- unless (@tst = lstat("$dotdots/$dir"))
- {
- # warn "lstat($dotdots/$dir): $!";
- # closedir(getcwd'PARENT); #');
- # return '';
- }
- }
- while ($dir eq '.' || $dir eq '..' || $tst[0] != $pst[0] ||
- $tst[1] != $pst[1]);
- }
- $cwd = "$dir/$cwd";
- closedir(getcwd'PARENT); #');
- } while ($dir ne '');
- chop($cwd);
- $cwd;
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/getopt.pl b/Master/tlpkg/tlperl/lib/getopt.pl
deleted file mode 100644
index 1d4008aaf60..00000000000
--- a/Master/tlpkg/tlperl/lib/getopt.pl
+++ /dev/null
@@ -1,52 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-;# $RCSfile: getopt.pl,v $$Revision: 4.1 $$Date: 92/08/07 18:23:58 $
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-#
-# Suggested alternatives: Getopt::Long or Getopt::Std
-
-;# Process single-character switches with switch clustering. Pass one argument
-;# which is a string containing all switches that take an argument. For each
-;# switch found, sets $opt_x (where x is the switch name) to the value of the
-;# argument, or 1 if no argument. Switches which take an argument don't care
-;# whether there is a space between the switch and the argument.
-
-;# Usage:
-;# do Getopt('oDI'); # -o, -D & -I take arg. Sets opt_* as a side effect.
-
-sub Getopt {
- local($argumentative) = @_;
- local($_,$first,$rest);
-
- while (@ARGV && ($_ = $ARGV[0]) =~ /^-(.)(.*)/) {
- ($first,$rest) = ($1,$2);
- if (index($argumentative,$first) >= 0) {
- if ($rest ne '') {
- shift(@ARGV);
- }
- else {
- shift(@ARGV);
- $rest = shift(@ARGV);
- }
- ${"opt_$first"} = $rest;
- }
- else {
- ${"opt_$first"} = 1;
- if ($rest ne '') {
- $ARGV[0] = "-$rest";
- }
- else {
- shift(@ARGV);
- }
- }
- }
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/getopts.pl b/Master/tlpkg/tlperl/lib/getopts.pl
deleted file mode 100644
index 37ecb4aaa44..00000000000
--- a/Master/tlpkg/tlperl/lib/getopts.pl
+++ /dev/null
@@ -1,67 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-;# getopts.pl - a better getopt.pl
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-#
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-#
-# Suggested alternatives: Getopt::Long or Getopt::Std
-
-;# Usage:
-;# do Getopts('a:bc'); # -a takes arg. -b & -c not. Sets opt_* as a
-;# # side effect.
-
-sub Getopts {
- local($argumentative) = @_;
- local(@args,$_,$first,$rest);
- local($errs) = 0;
-
- @args = split( / */, $argumentative );
- while(@ARGV && ($_ = $ARGV[0]) =~ /^-(.)(.*)/) {
- ($first,$rest) = ($1,$2);
- $pos = index($argumentative,$first);
- if($pos >= 0) {
- if($args[$pos+1] eq ':') {
- shift(@ARGV);
- if($rest eq '') {
- ++$errs unless(@ARGV);
- $rest = shift(@ARGV);
- }
- eval "
- push(\@opt_$first, \$rest);
- if (!defined \$opt_$first or \$opt_$first eq '') {
- \$opt_$first = \$rest;
- }
- else {
- \$opt_$first .= ' ' . \$rest;
- }
- ";
- }
- else {
- eval "\$opt_$first = 1";
- if($rest eq '') {
- shift(@ARGV);
- }
- else {
- $ARGV[0] = "-$rest";
- }
- }
- }
- else {
- print STDERR "Unknown option: $first\n";
- ++$errs;
- if($rest ne '') {
- $ARGV[0] = "-$rest";
- }
- else {
- shift(@ARGV);
- }
- }
- }
- $errs == 0;
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/hostname.pl b/Master/tlpkg/tlperl/lib/hostname.pl
deleted file mode 100644
index f57375e98ba..00000000000
--- a/Master/tlpkg/tlperl/lib/hostname.pl
+++ /dev/null
@@ -1,35 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-# From: asherman@fmrco.com (Aaron Sherman)
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-#
-# Suggested alternative: Sys::Hostname
-
-sub hostname
-{
- local(*P,@tmp,$hostname,$_);
- if (open(P,"hostname 2>&1 |") && (@tmp = <P>) && close(P))
- {
- chop($hostname = $tmp[$#tmp]);
- }
- elsif (open(P,"uname -n 2>&1 |") && (@tmp = <P>) && close(P))
- {
- chop($hostname = $tmp[$#tmp]);
- }
- else
- {
- die "$0: Cannot get hostname from 'hostname' or 'uname -n'\n";
- }
- @tmp = ();
- close P; # Just in case we failed in an odd spot....
- $hostname;
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/if.pm b/Master/tlpkg/tlperl/lib/if.pm
index d321cd6157e..1fb5f3deb49 100644
--- a/Master/tlpkg/tlperl/lib/if.pm
+++ b/Master/tlpkg/tlperl/lib/if.pm
@@ -1,10 +1,10 @@
package if;
-$VERSION = '0.0601';
+$VERSION = '0.0602';
sub work {
my $method = shift() ? 'import' : 'unimport';
- die "Too few arguments to `use if' (some code returning an empty list in list context?)"
+ die "Too few arguments to 'use if' (some code returning an empty list in list context?)"
unless @_ >= 2;
return unless shift; # CONDITION
diff --git a/Master/tlpkg/tlperl/lib/importenv.pl b/Master/tlpkg/tlperl/lib/importenv.pl
deleted file mode 100644
index 625edf636d5..00000000000
--- a/Master/tlpkg/tlperl/lib/importenv.pl
+++ /dev/null
@@ -1,21 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-
-;# This file, when interpreted, pulls the environment into normal variables.
-;# Usage:
-;# require 'importenv.pl';
-;# or
-;# #include <importenv.pl>
-
-local($tmp,$key) = '';
-
-foreach $key (keys(%ENV)) {
- $tmp .= "\$$key = \$ENV{'$key'};" if $key =~ /^[A-Za-z]\w*$/;
-}
-eval $tmp;
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/inc/latest.pm b/Master/tlpkg/tlperl/lib/inc/latest.pm
index 94802e7a357..c83167197b7 100644
--- a/Master/tlpkg/tlperl/lib/inc/latest.pm
+++ b/Master/tlpkg/tlperl/lib/inc/latest.pm
@@ -1,7 +1,7 @@
package inc::latest;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
use Carp;
diff --git a/Master/tlpkg/tlperl/lib/inc/latest/private.pm b/Master/tlpkg/tlperl/lib/inc/latest/private.pm
index 1e40b29cc74..9e4d5d7b567 100644
--- a/Master/tlpkg/tlperl/lib/inc/latest/private.pm
+++ b/Master/tlpkg/tlperl/lib/inc/latest/private.pm
@@ -1,7 +1,7 @@
package inc::latest::private;
use strict;
use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.39_01';
$VERSION = eval $VERSION;
use File::Spec;
diff --git a/Master/tlpkg/tlperl/lib/locale.pm b/Master/tlpkg/tlperl/lib/locale.pm
index a51e2b1c097..e57a5fded24 100644
--- a/Master/tlpkg/tlperl/lib/locale.pm
+++ b/Master/tlpkg/tlperl/lib/locale.pm
@@ -1,40 +1,86 @@
package locale;
-our $VERSION = '1.00';
+our $VERSION = '1.01';
+
+$Carp::Internal{ (__PACKAGE__) } = 1;
=head1 NAME
-locale - Perl pragma to use and avoid POSIX locales for built-in operations
+locale - Perl pragma to use or avoid POSIX locales for built-in operations
=head1 SYNOPSIS
- @x = sort @y; # ASCII sorting order
+ @x = sort @y; # Unicode sorting order
{
use locale;
@x = sort @y; # Locale-defined sorting order
}
- @x = sort @y; # ASCII sorting order again
+ @x = sort @y; # Unicode sorting order again
=head1 DESCRIPTION
This pragma tells the compiler to enable (or disable) the use of POSIX
-locales for built-in operations (LC_CTYPE for regular expressions, and
-LC_COLLATE for string comparison). Each "use locale" or "no locale"
+locales for built-in operations (for example, LC_CTYPE for regular
+expressions, LC_COLLATE for string comparison, and LC_NUMERIC for number
+formatting). Each "use locale" or "no locale"
affects statements to the end of the enclosing BLOCK.
+Starting in Perl 5.16, a hybrid mode for this pragma is available,
+
+ use locale ':not_characters';
+
+which enables only the portions of locales that don't affect the character
+set (that is, all except LC_COLLATE and LC_CTYPE). This is useful when mixing
+Unicode and locales, including UTF-8 locales.
+
+ use locale ':not_characters';
+ use open ":locale"; # Convert I/O to/from Unicode
+ use POSIX qw(locale_h); # Import the LC_ALL constant
+ setlocale(LC_ALL, ""); # Required for the next statement
+ # to take effect
+ printf "%.2f\n", 12345.67' # Locale-defined formatting
+ @x = sort @y; # Unicode-defined sorting order.
+ # (Note that you will get better
+ # results using Unicode::Collate.)
+
See L<perllocale> for more detailed information on how Perl supports
locales.
=cut
+# A separate bit is used for each of the two forms of the pragma, as they are
+# mostly independent, and interact with each other and the unicode_strings
+# feature. This allows for fast determination of which one(s) of the three
+# are to be used at any given point, and no code has to be written to deal
+# with coming in and out of scopes--it falls automatically out from the hint
+# handling
+
$locale::hint_bits = 0x4;
+$locale::not_chars_hint_bits = 0x10;
sub import {
- $^H |= $locale::hint_bits;
+ shift; # should be 'locale'; not checked
+ my $found_not_chars = 0;
+ while (defined (my $arg = shift)) {
+ if ($arg eq ":not_characters") {
+ $^H |= $locale::not_chars_hint_bits;
+
+ # This form of the pragma overrides the other
+ $^H &= ~$locale::hint_bits;
+ $found_not_chars = 1;
+ }
+ else {
+ require Carp;
+ Carp::croak("Unknown parameter '$arg' to 'use locale'");
+ }
+ }
+
+ # Use the plain form if not doing the :not_characters one.
+ $^H |= $locale::hint_bits unless $found_not_chars;
}
sub unimport {
- $^H &= ~$locale::hint_bits;
+ $^H &= ~($locale::hint_bits|$locale::not_chars_hint_bits);
}
1;
diff --git a/Master/tlpkg/tlperl/lib/look.pl b/Master/tlpkg/tlperl/lib/look.pl
deleted file mode 100644
index 7be55b2d675..00000000000
--- a/Master/tlpkg/tlperl/lib/look.pl
+++ /dev/null
@@ -1,54 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-;# Usage: &look(*FILEHANDLE,$key,$dict,$fold)
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-
-;# Sets file position in FILEHANDLE to be first line greater than or equal
-;# (stringwise) to $key. Pass flags for dictionary order and case folding.
-
-sub look {
- local(*FH,$key,$dict,$fold) = @_;
- local($max,$min,$mid,$_);
- local($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,
- $blksize,$blocks) = stat(FH);
- $blksize = 8192 unless $blksize;
- $key =~ s/[^\w\s]//g if $dict;
- $key = lc $key if $fold;
- $max = int($size / $blksize);
- while ($max - $min > 1) {
- $mid = int(($max + $min) / 2);
- seek(FH,$mid * $blksize,0);
- $_ = <FH> if $mid; # probably a partial line
- $_ = <FH>;
- chop;
- s/[^\w\s]//g if $dict;
- $_ = lc $_ if $fold;
- if ($_ lt $key) {
- $min = $mid;
- }
- else {
- $max = $mid;
- }
- }
- $min *= $blksize;
- seek(FH,$min,0);
- <FH> if $min;
- while (<FH>) {
- chop;
- s/[^\w\s]//g if $dict;
- $_ = lc $_ if $fold;
- last if $_ ge $key;
- $min = tell(FH);
- }
- seek(FH,$min,0);
- $min;
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/mro.pm b/Master/tlpkg/tlperl/lib/mro.pm
index 9f010395758..31f5ce69736 100644
--- a/Master/tlpkg/tlperl/lib/mro.pm
+++ b/Master/tlpkg/tlperl/lib/mro.pm
@@ -12,7 +12,7 @@ use warnings;
# mro.pm versions < 1.00 reserved for MRO::Compat
# for partial back-compat to 5.[68].x
-our $VERSION = '1.07';
+our $VERSION = '1.09';
sub import {
mro::set_mro(scalar(caller), $_[1]) if $_[1];
@@ -322,8 +322,6 @@ Parrot now uses C3
=over 4
-=item L<http://aspn.activestate.com/ASPN/Mail/Message/perl6-internals/2746631>
-
=item L<http://use.perl.org/~autrijus/journal/25768>
=back
@@ -338,14 +336,6 @@ Parrot now uses C3
=back
-=head2 C3 for TinyCLOS
-
-=over 4
-
-=item L<http://www.call-with-current-continuation.org/eggs/c3.html>
-
-=back
-
=head2 Class::C3
=over 4
diff --git a/Master/tlpkg/tlperl/lib/newgetopt.pl b/Master/tlpkg/tlperl/lib/newgetopt.pl
deleted file mode 100644
index 4ac94700884..00000000000
--- a/Master/tlpkg/tlperl/lib/newgetopt.pl
+++ /dev/null
@@ -1,77 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-# It is now just a wrapper around the Getopt::Long module.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-#
-# Suggested alternative: Getopt::Long
-
-{ package newgetopt;
-
- # Values for $order. See GNU getopt.c for details.
- $REQUIRE_ORDER = 0;
- $PERMUTE = 1;
- $RETURN_IN_ORDER = 2;
-
- # Handle POSIX compliance.
- if ( defined $ENV{"POSIXLY_CORRECT"} ) {
- $autoabbrev = 0; # no automatic abbrev of options (???)
- $getopt_compat = 0; # disallow '+' to start options
- $option_start = "(--|-)";
- $order = $REQUIRE_ORDER;
- $bundling = 0;
- $passthrough = 0;
- }
- else {
- $autoabbrev = 1; # automatic abbrev of options
- $getopt_compat = 1; # allow '+' to start options
- $option_start = "(--|-|\\+)";
- $order = $PERMUTE;
- $bundling = 0;
- $passthrough = 0;
- }
-
- # Other configurable settings.
- $debug = 0; # for debugging
- $ignorecase = 1; # ignore case when matching options
- $argv_end = "--"; # don't change this!
-}
-
-use Getopt::Long;
-
-################ Subroutines ################
-
-sub NGetOpt {
-
- $Getopt::Long::debug = $newgetopt::debug
- if defined $newgetopt::debug;
- $Getopt::Long::autoabbrev = $newgetopt::autoabbrev
- if defined $newgetopt::autoabbrev;
- $Getopt::Long::getopt_compat = $newgetopt::getopt_compat
- if defined $newgetopt::getopt_compat;
- $Getopt::Long::option_start = $newgetopt::option_start
- if defined $newgetopt::option_start;
- $Getopt::Long::order = $newgetopt::order
- if defined $newgetopt::order;
- $Getopt::Long::bundling = $newgetopt::bundling
- if defined $newgetopt::bundling;
- $Getopt::Long::ignorecase = $newgetopt::ignorecase
- if defined $newgetopt::ignorecase;
- $Getopt::Long::ignorecase = $newgetopt::ignorecase
- if defined $newgetopt::ignorecase;
- $Getopt::Long::passthrough = $newgetopt::passthrough
- if defined $newgetopt::passthrough;
-
- &GetOptions;
-}
-
-################ Package return ################
-
-1;
-
-################ End of newgetopt.pl ################
diff --git a/Master/tlpkg/tlperl/lib/open.pm b/Master/tlpkg/tlperl/lib/open.pm
index 1bfe0d68330..fd22e1b9e71 100644
--- a/Master/tlpkg/tlperl/lib/open.pm
+++ b/Master/tlpkg/tlperl/lib/open.pm
@@ -1,7 +1,7 @@
package open;
use warnings;
-our $VERSION = '1.08';
+our $VERSION = '1.10';
require 5.008001; # for PerlIO::get_layers()
@@ -95,16 +95,22 @@ sub import {
}
}
if ($type eq 'IN') {
- _drop_oldenc(*STDIN, @val);
+ _drop_oldenc(*STDIN, @val) if $std;
$in = join(' ', @val);
}
elsif ($type eq 'OUT') {
- _drop_oldenc(*STDOUT, @val);
+ if ($std) {
+ _drop_oldenc(*STDOUT, @val);
+ _drop_oldenc(*STDERR, @val);
+ }
$out = join(' ', @val);
}
elsif ($type eq 'IO') {
- _drop_oldenc(*STDIN, @val);
- _drop_oldenc(*STDOUT, @val);
+ if ($std) {
+ _drop_oldenc(*STDIN, @val);
+ _drop_oldenc(*STDOUT, @val);
+ _drop_oldenc(*STDERR, @val);
+ }
$in = $out = join(' ', @val);
}
else {
@@ -207,7 +213,9 @@ many encodings have several aliases. See L<Encode::Supported> for
details and the list of supported locales.
When open() is given an explicit list of layers (with the three-arg
-syntax), they override the list declared using this pragma.
+syntax), they override the list declared using this pragma. open() can
+also be given a single colon (:) for a layer name, to override this pragma
+and use the default (C<:raw> on Unix, C<:crlf> on Windows).
The C<:std> subpragma on its own has no effect, but if combined with
the C<:utf8> or C<:encoding> subpragmas, it converts the standard
diff --git a/Master/tlpkg/tlperl/lib/open2.pl b/Master/tlpkg/tlperl/lib/open2.pl
deleted file mode 100644
index ceb56536d84..00000000000
--- a/Master/tlpkg/tlperl/lib/open2.pl
+++ /dev/null
@@ -1,17 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# This is a compatibility interface to IPC::Open2. New programs should
-# do
-#
-# use IPC::Open2;
-#
-# instead of
-#
-# require 'open2.pl';
-
-package main;
-use IPC::Open2 'open2';
-1
diff --git a/Master/tlpkg/tlperl/lib/open3.pl b/Master/tlpkg/tlperl/lib/open3.pl
deleted file mode 100644
index 9f4d5a40a40..00000000000
--- a/Master/tlpkg/tlperl/lib/open3.pl
+++ /dev/null
@@ -1,17 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# This is a compatibility interface to IPC::Open3. New programs should
-# do
-#
-# use IPC::Open3;
-#
-# instead of
-#
-# require 'open3.pl';
-
-package main;
-use IPC::Open3 'open3';
-1
diff --git a/Master/tlpkg/tlperl/lib/overload.pm b/Master/tlpkg/tlperl/lib/overload.pm
index 3abde68b783..0f074e4d09c 100644
--- a/Master/tlpkg/tlperl/lib/overload.pm
+++ b/Master/tlpkg/tlperl/lib/overload.pm
@@ -1,6 +1,29 @@
package overload;
-our $VERSION = '1.13';
+our $VERSION = '1.18';
+
+%ops = (
+ with_assign => "+ - * / % ** << >> x .",
+ assign => "+= -= *= /= %= **= <<= >>= x= .=",
+ num_comparison => "< <= > >= == !=",
+ '3way_comparison' => "<=> cmp",
+ str_comparison => "lt le gt ge eq ne",
+ binary => '& &= | |= ^ ^=',
+ unary => "neg ! ~",
+ mutators => '++ --',
+ func => "atan2 cos sin exp abs log sqrt int",
+ conversion => 'bool "" 0+ qr',
+ iterators => '<>',
+ filetest => "-X",
+ dereferencing => '${} @{} %{} &{} *{}',
+ matching => '~~',
+ special => 'nomethod fallback =',
+);
+
+my %ops_seen;
+for $category (keys %ops) {
+ $ops_seen{$_}++ for (split /\s+/, $ops{$category});
+}
sub nil {}
@@ -15,12 +38,14 @@ sub OVERLOAD {
if ($_ eq 'fallback') {
$fb = $arg{$_};
} else {
+ warnings::warnif("overload arg '$_' is invalid")
+ unless $ops_seen{$_};
$sub = $arg{$_};
if (not ref $sub and $sub !~ /::/) {
$ {$package . "::(" . $_} = $sub;
$sub = \&nil;
}
- #print STDERR "Setting `$ {'package'}::\cO$_' to \\&`$sub'.\n";
+ #print STDERR "Setting '$ {'package'}::\cO$_' to \\&'$sub'.\n";
*{$package . "::(" . $_} = \&{ $sub };
}
}
@@ -50,16 +75,15 @@ sub unimport {
sub Overloaded {
my $package = shift;
$package = ref $package if ref $package;
- $package->can('()');
+ mycan ($package, '()');
}
sub ov_method {
my $globref = shift;
return undef unless $globref;
my $sub = \&{*$globref};
- require Scalar::Util;
- return $sub
- if Scalar::Util::refaddr($sub) != Scalar::Util::refaddr(\&nil);
+ no overloading;
+ return $sub if !ref $sub or $sub != \&nil;
return shift->can($ {*$globref});
}
@@ -89,17 +113,8 @@ sub Method {
}
sub AddrRef {
- my $package = ref $_[0];
- return "$_[0]" unless $package;
-
- local $@;
- local $!;
- require Scalar::Util;
- my $class = Scalar::Util::blessed($_[0]);
- my $class_prefix = defined($class) ? "$class=" : "";
- my $type = Scalar::Util::reftype($_[0]);
- my $addr = Scalar::Util::refaddr($_[0]);
- return sprintf("%s%s(0x%x)", $class_prefix, $type, $addr);
+ no overloading;
+ "$_[0]";
}
*StrVal = *AddrRef;
@@ -128,22 +143,6 @@ sub mycan { # Real can would leave stubs.
'qr' => 0x10000, # HINT_NEW_RE
);
-%ops = ( with_assign => "+ - * / % ** << >> x .",
- assign => "+= -= *= /= %= **= <<= >>= x= .=",
- num_comparison => "< <= > >= == !=",
- '3way_comparison'=> "<=> cmp",
- str_comparison => "lt le gt ge eq ne",
- binary => '& &= | |= ^ ^=',
- unary => "neg ! ~",
- mutators => '++ --',
- func => "atan2 cos sin exp abs log sqrt int",
- conversion => 'bool "" 0+ qr',
- iterators => '<>',
- filetest => "-X",
- dereferencing => '${} @{} %{} &{} *{}',
- matching => '~~',
- special => 'nomethod fallback =');
-
use warnings::register;
sub constant {
# Arguments: what, sub
@@ -153,14 +152,14 @@ sub constant {
last;
}
elsif (!exists $constants {$_ [0]}) {
- warnings::warnif ("`$_[0]' is not an overloadable type");
+ warnings::warnif ("'$_[0]' is not an overloadable type");
}
elsif (!ref $_ [1] || "$_[1]" !~ /(^|=)CODE\(0x[0-9a-f]+\)$/) {
# Can't use C<ref $_[1] eq "CODE"> above as code references can be
# blessed, and C<ref> would return the package the ref is blessed into.
if (warnings::enabled) {
$_ [1] = "undef" unless defined $_ [1];
- warnings::warn ("`$_[1]' is not a code reference");
+ warnings::warn ("'$_[1]' is not a code reference");
}
}
else {
@@ -264,7 +263,7 @@ The second argument is the other operand, or C<undef> in the
case of a unary operator.
The third argument is set to TRUE if (and only if) the two
-operands have been swapped. Perl may do this to ensure that the
+operands have been swapped. Perl may do this to ensure that the
first argument (C<$self>) is an object implementing the overloaded
operation, in line with general object calling conventions.
For example, if C<$x> and C<$y> are C<Number>s:
@@ -280,7 +279,7 @@ have not been specified in the C<use overload> directive,
according to the rules for L<Magic Autogeneration> described later.
For example, the C<use overload> above declared no subroutine
for any of the operators C<-->, C<neg> (the overload key for
-unary minus), or C<-=>. Thus
+unary minus), or C<-=>. Thus
operation | generates a call to
============|======================
@@ -379,6 +378,9 @@ Most of the overloadable operators map one-to-one to these keys.
Exceptions, including additional overloadable operations not
apparent from this hash, are included in the notes which follow.
+A warning is issued if an attempt is made to register an operator not found
+above.
+
=over 5
=item * C<not>
@@ -476,7 +478,7 @@ If the corresponding operation for this value is overloaded too,
the operation will be called again with this value.
As a special case if the overload returns the object itself then it will
-be used directly. An overloaded conversion returning the object is
+be used directly. An overloaded conversion returning the object is
probably a bug, because you're likely to get something that looks like
C<YourPackage=HASH(0x8172b34)>.
@@ -510,7 +512,7 @@ second argument (that is, in the slot that for binary operators
is used to pass the second operand).
Calling an overloaded filetest operator does not affect the stat value
-associated with the special filehandle C<_>. It still refers to the
+associated with the special filehandle C<_>. It still refers to the
result of the last C<stat>, C<lstat> or unoverloaded filetest.
This overload was introduced in Perl 5.12.
@@ -519,7 +521,7 @@ This overload was introduced in Perl 5.12.
The key C<"~~"> allows you to override the smart matching logic used by
the C<~~> operator and the switch construct (C<given>/C<when>). See
-L<perlsyn/switch> and L<feature>.
+L<perlsyn/Switch Statements> and L<feature>.
Unusually, the overloaded implementation of the smart match operator
does not get full control of the smart match behaviour.
@@ -543,7 +545,7 @@ so you may see between one and three of these calls instead:
$obj->match(2,0);
$obj->match(3,0);
-Consult the match table in L<perlsyn/"Smart matching in detail"> for
+Consult the match table in L<perlop/"Smartmatch Operator"> for
details of when overloading is invoked.
=item * I<Dereferencing>
@@ -667,7 +669,7 @@ Since some operations can be automatically generated from others, there is
a minimal set of operations that need to be overloaded in order to have
the complete set of overloaded operations at one's disposal.
Of course, the autogenerated operations may not do exactly what the user
-expects. The minimal set is:
+expects. The minimal set is:
+ - * / % ** << >> x
<=> cmp
@@ -767,7 +769,7 @@ Note:
The subroutine for C<'='> does not overload the Perl assignment
operator: it is used only to allow mutators to work as described
-here. (See L</Assignments> above.)
+here. (See L</Assignments> above.)
=item *
@@ -877,7 +879,8 @@ skipped.
There are exceptions to the above rules for dereference operations
(which, if Step 1 fails, always fall back to the normal, built-in
implementations - see Dereferencing), and for C<~~> (which has its
-own set of rules - see L<Matching>).
+own set of rules - see C<Matching> under L</Overloadable Operations>
+above).
Note on Step 7: some operators have a different semantic depending
on the type of their operands.
@@ -889,9 +892,9 @@ See L<BUGS AND PITFALLS>.
=head2 Losing Overloading
The restriction for the comparison operation is that even if, for example,
-`C<cmp>' should return a blessed reference, the autogenerated `C<lt>'
+C<cmp> should return a blessed reference, the autogenerated C<lt>
function will produce only a standard logical value based on the
-numerical value of the result of `C<cmp>'. In particular, a working
+numerical value of the result of C<cmp>. In particular, a working
numeric conversion is needed in this case (possibly expressed in terms of
other conversions).
@@ -959,7 +962,8 @@ Package C<overload.pm> provides the following public functions:
=item overload::StrVal(arg)
-Gives string value of C<arg> as in absence of stringify overloading. If you
+Gives the string value of C<arg> as in the
+absence of stringify overloading. If you
are using this to get the address of a reference (useful for checking if two
references point to the same thing) then you may be better off using
C<Scalar::Util::refaddr()>, which is faster.
@@ -1030,12 +1034,12 @@ Note that it is probably meaningless to call the functions overload::constant()
and overload::remove_constant() from anywhere but import() and unimport() methods.
From these methods they may be called as
- sub import {
- shift;
- return unless @_;
- die "unknown import: @_" unless @_ == 1 and $_[0] eq ':constant';
- overload::constant integer => sub {Math::BigInt->new(shift)};
- }
+ sub import {
+ shift;
+ return unless @_;
+ die "unknown import: @_" unless @_ == 1 and $_[0] eq ':constant';
+ overload::constant integer => sub {Math::BigInt->new(shift)};
+ }
=head1 IMPLEMENTATION
@@ -1044,8 +1048,8 @@ What follows is subject to change RSN.
The table of methods for all operations is cached in magic for the
symbol table hash for the package. The cache is invalidated during
processing of C<use overload>, C<no overload>, new function
-definitions, and changes in @ISA. However, this invalidation remains
-unprocessed until the next C<bless>ing into the package. Hence if you
+definitions, and changes in @ISA. However, this invalidation remains
+unprocessed until the next C<bless>ing into the package. Hence if you
want to change overloading structure dynamically, you'll need an
additional (fake) C<bless>ing to update the table.
@@ -1053,7 +1057,7 @@ additional (fake) C<bless>ing to update the table.
queue. This is how a single variable may participate in multiple
forms of magic simultaneously. For instance, environment variables
regularly have two forms at once: their %ENV magic and their taint
-magic. However, the magic which implements overloading is applied to
+magic. However, the magic which implements overloading is applied to
the stashes, which are rarely used directly, thus should not slow down
Perl.)
@@ -1070,10 +1074,10 @@ in doubt, test your speed with C<use overload> and without it. So far
there have been no reports of substantial speed degradation if Perl is
compiled with optimization turned on.
-There is no size penalty for data if overload is not used. The only
+There is no size penalty for data if overload is not used. The only
size penalty if overload is used in some package is that I<all> the
packages acquire a magic during the next C<bless>ing into the
-package. This magic is three-words-long for packages without
+package. This magic is three-words-long for packages without
overloading, and carries the cache table if the package is overloaded.
It is expected that arguments to methods that are not explicitly supposed
@@ -1099,13 +1103,13 @@ Use it as follows:
require two_face;
my $seven = two_face->new("vii", 7);
printf "seven=$seven, seven=%d, eight=%d\n", $seven, $seven+1;
- print "seven contains `i'\n" if $seven =~ /i/;
+ print "seven contains 'i'\n" if $seven =~ /i/;
(The second line creates a scalar which has both a string value, and a
numeric value.) This prints:
seven=vii, seven=7, eight=8
- seven contains `i'
+ seven contains 'i'
=head2 Two-face References
@@ -1386,7 +1390,7 @@ Use this module like this:
my $cnt = $iter;
while ($cnt) {
- $cnt = $cnt - 1; # Mutator `--' not implemented
+ $cnt = $cnt - 1; # Mutator '--' not implemented
$side = (sqrt(1 + $side**2) - 1)/$side;
}
printf "%s=%f\n", $side, $side;
@@ -1416,7 +1420,7 @@ the tables of operations, and change the code which fills %subr to
$subr{$op} = eval "sub {shift() $op shift()}";
}
foreach my $op (split " ", "@overload::ops{qw(unary func)}") {
- print "defining `$op'\n";
+ print "defining '$op'\n";
$subr{$op} = eval "sub {$op shift()}";
}
@@ -1567,8 +1571,8 @@ induces diagnostic messages.
Using the C<m> command of Perl debugger (see L<perldebug>) one can
deduce which operations are overloaded (and which ancestor triggers
-this overloading). Say, if C<eq> is overloaded, then the method C<(eq>
-is shown by debugger. The method C<()> corresponds to the C<fallback>
+this overloading). Say, if C<eq> is overloaded, then the method C<(eq>
+is shown by debugger. The method C<()> corresponds to the C<fallback>
key (in fact a presence of this method shows that this package has
overloading enabled, and it is what is used by the C<Overloaded>
function of module C<overload>).
@@ -1582,16 +1586,21 @@ The module might issue the following warnings:
(W) The call to overload::constant contained an odd number of arguments.
The arguments should come in pairs.
-=item `%s' is not an overloadable type
+=item '%s' is not an overloadable type
(W) You tried to overload a constant type the overload package is unaware of.
-=item `%s' is not a code reference
+=item '%s' is not a code reference
(W) The second (fourth, sixth, ...) argument of overload::constant needs
-to be a code reference. Either an anonymous subroutine, or a reference
+to be a code reference. Either an anonymous subroutine, or a reference
to a subroutine.
+=item overload arg '%s' is invalid
+
+(W) C<use overload> was passed an argument it did not
+recognize. Did you mistype an operator?
+
=back
=head1 BUGS AND PITFALLS
@@ -1673,14 +1682,14 @@ The symbol table is filled with names looking like line-noise.
=item *
For the purpose of inheritance every overloaded package behaves as if
-C<fallback> is present (possibly undefined). This may create
+C<fallback> is present (possibly undefined). This may create
interesting effects if some package is not overloaded, but inherits
from two overloaded packages.
=item *
Before Perl 5.14, the relation between overloading and tie()ing was broken.
-Overloading is triggered or not basing on the I<previous> class of the
+Overloading was triggered or not based on the I<previous> class of the
tie()d variable.
This happened because the presence of overloading was checked
diff --git a/Master/tlpkg/tlperl/lib/overloading.pm b/Master/tlpkg/tlperl/lib/overloading.pm
index d1ca5664b6c..c7622270c92 100644
--- a/Master/tlpkg/tlperl/lib/overloading.pm
+++ b/Master/tlpkg/tlperl/lib/overloading.pm
@@ -1,9 +1,7 @@
package overloading;
use warnings;
-use Carp ();
-
-our $VERSION = '0.01';
+our $VERSION = '0.02';
my $HINT_NO_AMAGIC = 0x01000000; # see perl.h
@@ -14,7 +12,7 @@ sub _ops_to_nums {
map { exists $overload::numbers::names{"($_"}
? $overload::numbers::names{"($_"}
- : Carp::croak("'$_' is not a valid overload")
+ : do { require Carp; Carp::croak("'$_' is not a valid overload") }
} @_;
}
diff --git a/Master/tlpkg/tlperl/lib/perl5db.pl b/Master/tlpkg/tlperl/lib/perl5db.pl
index ea0d049a789..889f305835e 100644
--- a/Master/tlpkg/tlperl/lib/perl5db.pl
+++ b/Master/tlpkg/tlperl/lib/perl5db.pl
@@ -512,8 +512,14 @@ package DB;
BEGIN {eval 'use IO::Handle'}; # Needed for flush only? breaks under miniperl
+BEGIN {
+ require feature;
+ $^V =~ /^v(\d+\.\d+)/;
+ feature->import(":$1");
+}
+
# Debugger for Perl 5.00x; perl5db.pl patch level:
-$VERSION = '1.33';
+$VERSION = '1.37';
$header = "perl5db.pl version $VERSION";
@@ -706,266 +712,6 @@ sub eval {
# Ray Lischner (uunet!mntgfx!lisch) as of 5 Nov 1990
# Johan Vromans -- upgrade to 4.0 pl 10
# Ilya Zakharevich -- patches after 5.001 (and some before ;-)
-
-# (We have made efforts to clarify the comments in the change log
-# in other places; some of them may seem somewhat obscure as they
-# were originally written, and explaining them away from the code
-# in question seems conterproductive.. -JM)
-
-########################################################################
-# Changes: 0.94
-# + A lot of things changed after 0.94. First of all, core now informs
-# debugger about entry into XSUBs, overloaded operators, tied operations,
-# BEGIN and END. Handy with `O f=2'.
-# + This can make debugger a little bit too verbose, please be patient
-# and report your problems promptly.
-# + Now the option frame has 3 values: 0,1,2. XXX Document!
-# + Note that if DESTROY returns a reference to the object (or object),
-# the deletion of data may be postponed until the next function call,
-# due to the need to examine the return value.
-#
-# Changes: 0.95
-# + `v' command shows versions.
-#
-# Changes: 0.96
-# + `v' command shows version of readline.
-# primitive completion works (dynamic variables, subs for `b' and `l',
-# options). Can `p %var'
-# + Better help (`h <' now works). New commands <<, >>, {, {{.
-# {dump|print}_trace() coded (to be able to do it from <<cmd).
-# + `c sub' documented.
-# + At last enough magic combined to stop after the end of debuggee.
-# + !! should work now (thanks to Emacs bracket matching an extra
-# `]' in a regexp is caught).
-# + `L', `D' and `A' span files now (as documented).
-# + Breakpoints in `require'd code are possible (used in `R').
-# + Some additional words on internal work of debugger.
-# + `b load filename' implemented.
-# + `b postpone subr' implemented.
-# + now only `q' exits debugger (overwritable on $inhibit_exit).
-# + When restarting debugger breakpoints/actions persist.
-# + Buglet: When restarting debugger only one breakpoint/action per
-# autoloaded function persists.
-#
-# Changes: 0.97: NonStop will not stop in at_exit().
-# + Option AutoTrace implemented.
-# + Trace printed differently if frames are printed too.
-# + new `inhibitExit' option.
-# + printing of a very long statement interruptible.
-# Changes: 0.98: New command `m' for printing possible methods
-# + 'l -' is a synonym for `-'.
-# + Cosmetic bugs in printing stack trace.
-# + `frame' & 8 to print "expanded args" in stack trace.
-# + Can list/break in imported subs.
-# + new `maxTraceLen' option.
-# + frame & 4 and frame & 8 granted.
-# + new command `m'
-# + nonstoppable lines do not have `:' near the line number.
-# + `b compile subname' implemented.
-# + Will not use $` any more.
-# + `-' behaves sane now.
-# Changes: 0.99: Completion for `f', `m'.
-# + `m' will remove duplicate names instead of duplicate functions.
-# + `b load' strips trailing whitespace.
-# completion ignores leading `|'; takes into account current package
-# when completing a subroutine name (same for `l').
-# Changes: 1.07: Many fixed by tchrist 13-March-2000
-# BUG FIXES:
-# + Added bare minimal security checks on perldb rc files, plus
-# comments on what else is needed.
-# + Fixed the ornaments that made "|h" completely unusable.
-# They are not used in print_help if they will hurt. Strip pod
-# if we're paging to less.
-# + Fixed mis-formatting of help messages caused by ornaments
-# to restore Larry's original formatting.
-# + Fixed many other formatting errors. The code is still suboptimal,
-# and needs a lot of work at restructuring. It's also misindented
-# in many places.
-# + Fixed bug where trying to look at an option like your pager
-# shows "1".
-# + Fixed some $? processing. Note: if you use csh or tcsh, you will
-# lose. You should consider shell escapes not using their shell,
-# or else not caring about detailed status. This should really be
-# unified into one place, too.
-# + Fixed bug where invisible trailing whitespace on commands hoses you,
-# tricking Perl into thinking you weren't calling a debugger command!
-# + Fixed bug where leading whitespace on commands hoses you. (One
-# suggests a leading semicolon or any other irrelevant non-whitespace
-# to indicate literal Perl code.)
-# + Fixed bugs that ate warnings due to wrong selected handle.
-# + Fixed a precedence bug on signal stuff.
-# + Fixed some unseemly wording.
-# + Fixed bug in help command trying to call perl method code.
-# + Fixed to call dumpvar from exception handler. SIGPIPE killed us.
-# ENHANCEMENTS:
-# + Added some comments. This code is still nasty spaghetti.
-# + Added message if you clear your pre/post command stacks which was
-# very easy to do if you just typed a bare >, <, or {. (A command
-# without an argument should *never* be a destructive action; this
-# API is fundamentally screwed up; likewise option setting, which
-# is equally buggered.)
-# + Added command stack dump on argument of "?" for >, <, or {.
-# + Added a semi-built-in doc viewer command that calls man with the
-# proper %Config::Config path (and thus gets caching, man -k, etc),
-# or else perldoc on obstreperous platforms.
-# + Added to and rearranged the help information.
-# + Detected apparent misuse of { ... } to declare a block; this used
-# to work but now is a command, and mysteriously gave no complaint.
-#
-# Changes: 1.08: Apr 25, 2001 Jon Eveland <jweveland@yahoo.com>
-# BUG FIX:
-# + This patch to perl5db.pl cleans up formatting issues on the help
-# summary (h h) screen in the debugger. Mostly columnar alignment
-# issues, plus converted the printed text to use all spaces, since
-# tabs don't seem to help much here.
-#
-# Changes: 1.09: May 19, 2001 Ilya Zakharevich <ilya@math.ohio-state.edu>
-# Minor bugs corrected;
-# + Support for auto-creation of new TTY window on startup, either
-# unconditionally, or if started as a kid of another debugger session;
-# + New `O'ption CreateTTY
-# I<CreateTTY> bits control attempts to create a new TTY on events:
-# 1: on fork()
-# 2: debugger is started inside debugger
-# 4: on startup
-# + Code to auto-create a new TTY window on OS/2 (currently one
-# extra window per session - need named pipes to have more...);
-# + Simplified interface for custom createTTY functions (with a backward
-# compatibility hack); now returns the TTY name to use; return of ''
-# means that the function reset the I/O handles itself;
-# + Better message on the semantic of custom createTTY function;
-# + Convert the existing code to create a TTY into a custom createTTY
-# function;
-# + Consistent support for TTY names of the form "TTYin,TTYout";
-# + Switch line-tracing output too to the created TTY window;
-# + make `b fork' DWIM with CORE::GLOBAL::fork;
-# + High-level debugger API cmd_*():
-# cmd_b_load($filenamepart) # b load filenamepart
-# cmd_b_line($lineno [, $cond]) # b lineno [cond]
-# cmd_b_sub($sub [, $cond]) # b sub [cond]
-# cmd_stop() # Control-C
-# cmd_d($lineno) # d lineno (B)
-# The cmd_*() API returns FALSE on failure; in this case it outputs
-# the error message to the debugging output.
-# + Low-level debugger API
-# break_on_load($filename) # b load filename
-# @files = report_break_on_load() # List files with load-breakpoints
-# breakable_line_in_filename($name, $from [, $to])
-# # First breakable line in the
-# # range $from .. $to. $to defaults
-# # to $from, and may be less than
-# # $to
-# breakable_line($from [, $to]) # Same for the current file
-# break_on_filename_line($name, $lineno [, $cond])
-# # Set breakpoint,$cond defaults to
-# # 1
-# break_on_filename_line_range($name, $from, $to [, $cond])
-# # As above, on the first
-# # breakable line in range
-# break_on_line($lineno [, $cond]) # As above, in the current file
-# break_subroutine($sub [, $cond]) # break on the first breakable line
-# ($name, $from, $to) = subroutine_filename_lines($sub)
-# # The range of lines of the text
-# The low-level API returns TRUE on success, and die()s on failure.
-#
-# Changes: 1.10: May 23, 2001 Daniel Lewart <d-lewart@uiuc.edu>
-# BUG FIXES:
-# + Fixed warnings generated by "perl -dWe 42"
-# + Corrected spelling errors
-# + Squeezed Help (h) output into 80 columns
-#
-# Changes: 1.11: May 24, 2001 David Dyck <dcd@tc.fluke.com>
-# + Made "x @INC" work like it used to
-#
-# Changes: 1.12: May 24, 2001 Daniel Lewart <d-lewart@uiuc.edu>
-# + Fixed warnings generated by "O" (Show debugger options)
-# + Fixed warnings generated by "p 42" (Print expression)
-# Changes: 1.13: Jun 19, 2001 Scott.L.Miller@compaq.com
-# + Added windowSize option
-# Changes: 1.14: Oct 9, 2001 multiple
-# + Clean up after itself on VMS (Charles Lane in 12385)
-# + Adding "@ file" syntax (Peter Scott in 12014)
-# + Debug reloading selfloaded stuff (Ilya Zakharevich in 11457)
-# + $^S and other debugger fixes (Ilya Zakharevich in 11120)
-# + Forgot a my() declaration (Ilya Zakharevich in 11085)
-# Changes: 1.15: Nov 6, 2001 Michael G Schwern <schwern@pobox.com>
-# + Updated 1.14 change log
-# + Added *dbline explanatory comments
-# + Mentioning perldebguts man page
-# Changes: 1.16: Feb 15, 2002 Mark-Jason Dominus <mjd@plover.com>
-# + $onetimeDump improvements
-# Changes: 1.17: Feb 20, 2002 Richard Foley <richard.foley@rfi.net>
-# Moved some code to cmd_[.]()'s for clarity and ease of handling,
-# rationalised the following commands and added cmd_wrapper() to
-# enable switching between old and frighteningly consistent new
-# behaviours for diehards: 'o CommandSet=pre580' (sigh...)
-# a(add), A(del) # action expr (added del by line)
-# + b(add), B(del) # break [line] (was b,D)
-# + w(add), W(del) # watch expr (was W,W)
-# # added del by expr
-# + h(summary), h h(long) # help (hh) (was h h,h)
-# + m(methods), M(modules) # ... (was m,v)
-# + o(option) # lc (was O)
-# + v(view code), V(view Variables) # ... (was w,V)
-# Changes: 1.18: Mar 17, 2002 Richard Foley <richard.foley@rfi.net>
-# + fixed missing cmd_O bug
-# Changes: 1.19: Mar 29, 2002 Spider Boardman
-# + Added missing local()s -- DB::DB is called recursively.
-# Changes: 1.20: Feb 17, 2003 Richard Foley <richard.foley@rfi.net>
-# + pre'n'post commands no longer trashed with no args
-# + watch val joined out of eval()
-# Changes: 1.21: Jun 04, 2003 Joe McMahon <mcmahon@ibiblio.org>
-# + Added comments and reformatted source. No bug fixes/enhancements.
-# + Includes cleanup by Robin Barker and Jarkko Hietaniemi.
-# Changes: 1.22 Jun 09, 2003 Alex Vandiver <alexmv@MIT.EDU>
-# + Flush stdout/stderr before the debugger prompt is printed.
-# Changes: 1.23: Dec 21, 2003 Dominique Quatravaux
-# + Fix a side-effect of bug #24674 in the perl debugger ("odd taint bug")
-# Changes: 1.24: Mar 03, 2004 Richard Foley <richard.foley@rfi.net>
-# + Added command to save all debugger commands for sourcing later.
-# + Added command to display parent inheritance tree of given class.
-# + Fixed minor newline in history bug.
-# Changes: 1.25: Apr 17, 2004 Richard Foley <richard.foley@rfi.net>
-# + Fixed option bug (setting invalid options + not recognising valid short forms)
-# Changes: 1.26: Apr 22, 2004 Richard Foley <richard.foley@rfi.net>
-# + unfork the 5.8.x and 5.9.x debuggers.
-# + whitespace and assertions call cleanup across versions
-# + H * deletes (resets) history
-# + i now handles Class + blessed objects
-# Changes: 1.27: May 09, 2004 Richard Foley <richard.foley@rfi.net>
-# + updated pod page references - clunky.
-# + removed windowid restriction for forking into an xterm.
-# + more whitespace again.
-# + wrapped restart and enabled rerun [-n] (go back n steps) command.
-# Changes: 1.28: Oct 12, 2004 Richard Foley <richard.foley@rfi.net>
-# + Added threads support (inc. e and E commands)
-# Changes: 1.29: Nov 28, 2006 Bo Lindbergh <blgl@hagernas.com>
-# + Added macosx_get_fork_TTY support
-# Changes: 1.30: Mar 06, 2007 Andreas Koenig <andk@cpan.org>
-# + Added HistFile, HistSize
-# Changes: 1.31
-# + Remove support for assertions and -A
-# + stop NEXT::AUTOLOAD from emitting warnings under the debugger. RT #25053
-# + "update for Mac OS X 10.5" [finding the tty device]
-# + "What I needed to get the forked debugger to work" [on VMS]
-# + [perl #57016] debugger: o warn=0 die=0 ignored
-# + Note, but don't use, PERLDBf_SAVESRC
-# + Fix #7013: lvalue subs not working inside debugger
-# Changes: 1.32: Jun 03, 2009 Jonathan Leto <jonathan@leto.net>
-# + Fix bug where a key _< with undefined value was put into the symbol table
-# + when the $filename variable is not set
-# Changes: 1.33:
-# + Debugger prints lines to the remote port when it forks and openes a new port (f633fd2)
-# + The debugger now continues to use RemotePort when it's been configured to use it. (11653f7)
-# + Stop using $ENV{LESS} for parameters not intended for less (d463cf2)
-# + Configure has a path to less and perl5db.pl can use it (bf320d6)
-# + Die with $@ instead of empty message (86755f4)
-# + Remove extra/useless $@ check after eval { require PadWalker } (which is still checked) (dab8d6d)
-# + Promote eval( "require ..." ) to eval { require ... } (4a49187)
-# + Promote eval { require( ... )} || die to mere require( ... ) (999f23b)
-# + Remove indirect object notation from debugger (bee4b46)
-# + Document that @{$main::{'_<'.$filename}} lines are dualvar to (COP*). (7e17a74)
-# + Remove MacOS classic support from the debugger. (2b894b7)
########################################################################
=head1 DEBUGGER INITIALIZATION
@@ -1092,6 +838,9 @@ $trace = $signal = $single = 0; # Uninitialized warning suppression
# value when the 'r' command is used to return from a subroutine.
$inhibit_exit = $option{PrintRet} = 1;
+# Default to 1 so the prompt will display the first line.
+$trace_to_depth = 1;
+
=head1 OPTION PROCESSING
The debugger's options are actually spread out over the debugger itself and
@@ -1475,7 +1224,7 @@ if ( defined $ENV{PERLDB_OPTS} ) {
The last thing we do during initialization is determine which subroutine is
to be used to obtain a new terminal when a new debugger is started. Right now,
-the debugger only handles TCP sockets, X Windows, OS/2, amd Mac OS X
+the debugger only handles TCP sockets, X11, OS/2, amd Mac OS X
(darwin).
=cut
@@ -1561,9 +1310,19 @@ if ( exists $ENV{PERLDB_RESTART} ) {
# restore breakpoints/actions
my @had_breakpoints = get_list("PERLDB_VISITED");
- for ( 0 .. $#had_breakpoints ) {
- my %pf = get_list("PERLDB_FILE_$_");
- $postponed_file{ $had_breakpoints[$_] } = \%pf if %pf;
+ for my $file_idx ( 0 .. $#had_breakpoints ) {
+ my $filename = $had_breakpoints[$file_idx];
+ my %pf = get_list("PERLDB_FILE_$file_idx");
+ $postponed_file{ $filename } = \%pf if %pf;
+ my @lines = sort {$a <=> $b} keys(%pf);
+ my @enabled_statuses = get_list("PERLDB_FILE_ENABLED_$file_idx");
+ for my $line_idx (0 .. $#lines) {
+ _set_breakpoint_enabled_status(
+ $filename,
+ $lines[$line_idx],
+ ($enabled_statuses[$line_idx] ? 1 : ''),
+ );
+ }
}
# restore options
@@ -1812,7 +1571,7 @@ and then call the C<afterinit()> subroutine if there is one.
$slave_editor ? "enabled" : "available", ".\n"
);
print $OUT
-"\nEnter h or `h h' for help, or `$doccmd perldebug' for more help.\n\n";
+"\nEnter h or 'h h' for help, or '$doccmd perldebug' for more help.\n\n";
} ## end else [ if ($term_pid eq '-1')
} ## end unless ($runnonstop)
} ## end else [ if ($notty)
@@ -1923,6 +1682,7 @@ sub DB {
# if we have something here, see if we should break.
if ( $dbline{$line}
+ && _is_breakpoint_enabled($filename, $line)
&& ( ( $stop, $action ) = split( /\0/, $dbline{$line} ) ) )
{
@@ -1936,7 +1696,10 @@ sub DB {
elsif ($stop) {
$evalarg = "\$DB::signal |= 1 if do {$stop}";
&eval;
- $dbline{$line} =~ s/;9($|\0)/$1/;
+ # If the breakpoint is temporary, then delete its enabled status.
+ if ($dbline{$line} =~ s/;9($|\0)/$1/) {
+ _cancel_breakpoint_temp_enabled_status($filename, $line);
+ }
}
} ## end if ($dbline{$line} && ...
@@ -2034,9 +1797,13 @@ won't cause trouble, and we say that the program is over.
=cut
+ # Make sure that we always print if asked for explicitly regardless
+ # of $trace_to_depth .
+ my $explicit_stop = ($single || $was_signal);
+
# Check to see if we should grab control ($single true,
# trace set appropriately, or we got a signal).
- if ( $single || ( $trace & 1 ) || $was_signal ) {
+ if ( $explicit_stop || ( $trace & 1 ) ) {
# Yes, grab control.
if ($slave_editor) {
@@ -2081,6 +1848,7 @@ number information, and print that.
else {
+
# Still somewhere in the midst of execution. Set up the
# debugger prompt.
$sub =~ s/\'/::/; # Swap Perl 4 package separators (') to
@@ -2108,7 +1876,7 @@ number information, and print that.
"$line:\t$dbline[$line]$after" );
}
else {
- print_lineinfo($position);
+ depth_print_lineinfo($explicit_stop, $position);
}
# Scan forward, stopping at either the end or the next
@@ -2136,7 +1904,7 @@ number information, and print that.
"$i:\t$dbline[$i]$after" );
}
else {
- print_lineinfo($incr_pos);
+ depth_print_lineinfo($explicit_stop, $incr_pos);
}
} ## end for ($i = $line + 1 ; $i...
} ## end else [ if ($slave_editor)
@@ -2312,7 +2080,7 @@ completely replacing it.
eval "\$cmd =~ $alias{$i}";
if ($@) {
local $\ = '';
- print $OUT "Couldn't evaluate `$i' alias: $@";
+ print $OUT "Couldn't evaluate '$i' alias: $@";
next CMD;
}
} ## end if ($alias{$i})
@@ -2336,17 +2104,22 @@ environment, and executing with the last value of C<$?>.
exit $?;
};
-=head4 C<t> - trace
+=head4 C<t> - trace [n]
Turn tracing on or off. Inverts the appropriate bit in C<$trace> (q.v.).
+If level is specified, set C<$trace_to_depth>.
=cut
- $cmd =~ /^t$/ && do {
+ $cmd =~ /^t(?:\s+(\d+))?$/ && do {
+ my $levels = $1;
$trace ^= 1;
local $\ = '';
+ $trace_to_depth = $levels ? $stack_depth + $levels : 1E9;
print $OUT "Trace = "
- . ( ( $trace & 1 ) ? "on" : "off" ) . "\n";
+ . ( ( $trace & 1 )
+ ? ( $levels ? "on (to level $trace_to_depth)" : "on" )
+ : "off" ) . "\n";
next CMD;
};
@@ -2503,7 +2276,7 @@ Just uses C<DB::methods> to determine what methods are available.
if ( ($try) = grep( m#^_<.*$file#, keys %main:: ) ) {
{
$try = substr( $try, 2 );
- print $OUT "Choosing $try matching `$file':\n";
+ print $OUT "Choosing $try matching '$file':\n";
$file = $try;
}
} ## end if (($try) = grep(m#^_<.*$file#...
@@ -2511,7 +2284,7 @@ Just uses C<DB::methods> to determine what methods are available.
# If not successfully switched now, we failed.
if ( !defined $main::{ '_<' . $file } ) {
- print $OUT "No file matching `$file' is loaded.\n";
+ print $OUT "No file matching '$file' is loaded.\n";
next CMD;
}
@@ -2787,6 +2560,7 @@ in this and all call levels above this one.
# Yes. Set up the one-time-break sigil.
$dbline{$i} =~ s/($|\0)/;9$1/; # add one-time-only b.p.
+ _enable_breakpoint_temp_enabled_status($filename, $i);
} ## end if ($i)
# Turn off stack tracing from here up.
@@ -3264,8 +3038,40 @@ pick it up.
else {
# Couldn't open it.
- &warn("Can't execute `$1': $!\n");
+ &warn("Can't execute '$1': $!\n");
+ }
+ next CMD;
+ };
+
+ $cmd =~ /^(enable|disable)\s+(\S+)\s*$/ && do {
+ my ($cmd, $position) = ($1, $2);
+
+ my ($fn, $line_num);
+ if ($position =~ m{\A\d+\z})
+ {
+ $fn = $filename;
+ $line_num = $position;
+ }
+ elsif ($position =~ m{\A(.*):(\d+)\z})
+ {
+ ($fn, $line_num) = ($1, $2);
+ }
+ else
+ {
+ &warn("Wrong spec for enable/disable argument.\n");
+ }
+
+ if (defined($fn)) {
+ if (_has_breakpoint_data_ref($fn, $line_num)) {
+ _set_breakpoint_enabled_status($fn, $line_num,
+ ($cmd eq 'enable' ? 1 : '')
+ );
+ }
+ else {
+ &warn("No breakpoint set at ${fn}:${line_num}\n");
+ }
}
+
next CMD;
};
@@ -3319,7 +3125,7 @@ Return to any given position in the B<true>-history list
my $max_fd = 1024; # default if POSIX can't be loaded
if (eval { require POSIX }) {
- $max_fd = POSIX::sysconf(POSIX::_SC_OPEN_MAX());
+ eval { $max_fd = POSIX::sysconf(POSIX::_SC_OPEN_MAX()) };
}
if (defined $max_fd) {
@@ -3372,7 +3178,7 @@ reading another.
unless ( $piped = open( OUT, $pager ) ) {
# Couldn't open pipe to pager.
- &warn("Can't pipe output to `$pager'");
+ &warn("Can't pipe output to '$pager'");
if ( $pager =~ /^\|/ ) {
# Redirect I/O back again.
@@ -3417,7 +3223,9 @@ any variables we might want to address in the C<DB> package.
=cut
# t - turn trace on.
- $cmd =~ s/^t\s/\$DB::trace |= 1;\n/;
+ $cmd =~ s/^t\s+(\d+)?/\$DB::trace |= 1;\n/ && do {
+ $trace_to_depth = $1 ? $stack_depth||0 + $1 : 1E9;
+ };
# s - single-step. Remember the last command was 's'.
$cmd =~ s/^s\s/\$DB::single = 1;\n/ && do { $laststep = 's' };
@@ -3476,7 +3284,7 @@ our standard filehandles for input and output.
# most of the $? crud was coping with broken cshisms
# $? is explicitly set to 0, so this never runs.
if ($?) {
- print SAVEOUT "Pager `$pager' failed: ";
+ print SAVEOUT "Pager '$pager' failed: ";
if ( $? == -1 ) {
print SAVEOUT "shell returned -1\n";
}
@@ -3530,7 +3338,7 @@ again.
=cut
# No more commands? Quit.
- $fall_off_end = 1 unless defined $cmd; # Emulate `q' on EOF
+ $fall_off_end = 1 unless defined $cmd; # Emulate 'q' on EOF
# Evaluate post-prompt commands.
foreach $evalarg (@$post) {
@@ -3841,6 +3649,13 @@ sub lsub : lvalue {
&$sub;
}
+# Abstracting common code from multiple places elsewhere:
+sub depth_print_lineinfo {
+ my $always_print = shift;
+
+ print_lineinfo( @_ ) if ($always_print or $stack_depth < $trace_to_depth);
+}
+
=head1 EXTENDED COMMAND HANDLING AND THE COMMAND API
In Perl 5.8.0, there was a major realignment of the commands and what they did,
@@ -3899,6 +3714,74 @@ my %set = ( #
},
);
+my %breakpoints_data;
+
+sub _has_breakpoint_data_ref {
+ my ($filename, $line) = @_;
+
+ return (
+ exists( $breakpoints_data{$filename} )
+ and
+ exists( $breakpoints_data{$filename}{$line} )
+ );
+}
+
+sub _get_breakpoint_data_ref {
+ my ($filename, $line) = @_;
+
+ return ($breakpoints_data{$filename}{$line} ||= +{});
+}
+
+sub _delete_breakpoint_data_ref {
+ my ($filename, $line) = @_;
+
+ delete($breakpoints_data{$filename}{$line});
+ if (! scalar(keys( %{$breakpoints_data{$filename}} )) ) {
+ delete($breakpoints_data{$filename});
+ }
+
+ return;
+}
+
+sub _set_breakpoint_enabled_status {
+ my ($filename, $line, $status) = @_;
+
+ _get_breakpoint_data_ref($filename, $line)->{'enabled'} =
+ ($status ? 1 : '')
+ ;
+
+ return;
+}
+
+sub _enable_breakpoint_temp_enabled_status {
+ my ($filename, $line) = @_;
+
+ _get_breakpoint_data_ref($filename, $line)->{'temp_enabled'} = 1;
+
+ return;
+}
+
+sub _cancel_breakpoint_temp_enabled_status {
+ my ($filename, $line) = @_;
+
+ my $ref = _get_breakpoint_data_ref($filename, $line);
+
+ delete ($ref->{'temp_enabled'});
+
+ if (! %$ref) {
+ _delete_breakpoint_data_ref($filename, $line);
+ }
+
+ return;
+}
+
+sub _is_breakpoint_enabled {
+ my ($filename, $line) = @_;
+
+ my $data_ref = _get_breakpoint_data_ref($filename, $line);
+ return ($data_ref->{'enabled'} || $data_ref->{'temp_enabled'});
+}
+
=head2 C<cmd_wrapper()> (API)
C<cmd_wrapper()> allows the debugger to switch command sets
@@ -4071,7 +3954,7 @@ sub cmd_b {
my $dbline = shift;
# Make . the current line number if it's there..
- $line =~ s/^\./$dbline/;
+ $line =~ s/^\.(\s|\z)/$dbline$1/;
# No line number, no condition. Simple break on current line.
if ( $line =~ /^\s*$/ ) {
@@ -4109,7 +3992,15 @@ sub cmd_b {
# Save the break type for this sub.
$postponed{$subname} = $break ? "break +0 if $cond" : "compile";
} ## end elsif ($line =~ ...
-
+ # b <filename>:<line> [<condition>]
+ elsif ($line =~ /\A(\S+[^:]):(\d+)\s*(.*)/ms) {
+ my ($filename, $line_num, $cond) = ($1, $2, $3);
+ cmd_b_filename_line(
+ $filename,
+ $line_num,
+ (length($cond) ? $cond : '1'),
+ );
+ }
# b <sub name> [<condition>]
elsif ( $line =~ /^([':A-Za-z_][':\w]*(?:\[.*\])?)\s*(.*)/ ) {
@@ -4198,7 +4089,7 @@ sub cmd_b_load {
# Normalize for the purposes of our printing this.
local $\ = '';
local $" = ' ';
- print $OUT "Will stop on load of `@files'.\n";
+ print $OUT "Will stop on load of '@files'.\n";
} ## end sub cmd_b_load
=head3 C<$filename_error> (API package global)
@@ -4343,7 +4234,7 @@ sub breakable_line_in_filename {
local *dbline = $main::{ '_<' . $f };
# If there's an error, it's in this other file.
- local $filename_error = " of `$f'";
+ local $filename_error = " of '$f'";
# Find the breakable line.
breakable_line(@_);
@@ -4386,6 +4277,8 @@ sub break_on_line {
# Nothing here - just add the condition.
$dbline{$i} = $cond;
+
+ _set_breakpoint_enabled_status($filename, $i, 1);
}
} ## end sub break_on_line
@@ -4403,6 +4296,20 @@ sub cmd_b_line {
};
} ## end sub cmd_b_line
+=head3 cmd_b_filename_line(line, [condition]) (command)
+
+Wrapper for C<break_on_filename_line>. Prints the failure message if it
+doesn't work.
+
+=cut
+
+sub cmd_b_filename_line {
+ eval { break_on_filename_line(@_); 1 } or do {
+ local $\ = '';
+ print $OUT $@ and return;
+ };
+}
+
=head3 break_on_filename_line(file, line, [condition]) (API)
Switches to the file specified and then calls C<break_on_line> to set
@@ -4420,7 +4327,7 @@ sub break_on_filename_line {
local *dbline = $main::{ '_<' . $f };
# Localize the variables that break_on_line uses to make its message.
- local $filename_error = " of `$f'";
+ local $filename_error = " of '$f'";
local $filename = $f;
# Add the breakpoint.
@@ -4616,6 +4523,8 @@ are no magical debugger structures associated with them.
sub delete_breakpoint {
my $i = shift;
+ my $fn = $filename;
+
# If we got a line, delete just that one.
if ( defined($i) ) {
@@ -4626,7 +4535,10 @@ sub delete_breakpoint {
$dbline{$i} =~ s/^[^\0]*//;
# Remove the entry entirely if there's no action left.
- delete $dbline{$i} if $dbline{$i} eq '';
+ if ($dbline{$i} eq '') {
+ delete $dbline{$i};
+ _delete_breakpoint_data_ref($fn, $i);
+ }
}
# No line; delete them all.
@@ -4655,6 +4567,7 @@ sub delete_breakpoint {
# Remove the entry altogether if no action is there.
delete $dbline{$i};
+ _delete_breakpoint_data_ref($file, $i);
}
} ## end if (defined $dbline{$i...
} ## end for ($i = 1 ; $i <= $max...
@@ -5465,7 +5378,7 @@ sub postponed_sub {
} ## end if ($postponed{$subname...
elsif ( $postponed{$subname} eq 'compile' ) { $signal = 1 }
- #print $OUT "In postponed_sub for `$subname'.\n";
+ #print $OUT "In postponed_sub for '$subname'.\n";
} ## end sub postponed_sub
=head2 C<postponed>
@@ -5695,7 +5608,7 @@ sub print_trace {
my $file = $sub[$i]{file};
# Put in a filename header if short is off.
- $file = $file eq '-e' ? $file : "file `$file'" unless $short;
+ $file = $file eq '-e' ? $file : "file '$file'" unless $short;
# Get the actual sub's name, and shorten to $maxtrace's requirement.
$s = $sub[$i]{sub};
@@ -6017,8 +5930,8 @@ sub setterm {
if ($tty) {
my ( $i, $o ) = split $tty, /,/;
$o = $i unless defined $o;
- open( IN, "<$i" ) or die "Cannot open TTY `$i' for read: $!";
- open( OUT, ">$o" ) or die "Cannot open TTY `$o' for write: $!";
+ open( IN, "<$i" ) or die "Cannot open TTY '$i' for read: $!";
+ open( OUT, ">$o" ) or die "Cannot open TTY '$o' for write: $!";
$IN = \*IN;
$OUT = \*OUT;
my $sel = select($OUT);
@@ -6124,7 +6037,7 @@ TTY (and probably another window) and to direct the new debugger to read and
write there.
The debugger provides C<get_fork_TTY> functions which work for TCP
-socket servers, X Windows, OS/2, and Mac OS X. Other systems are not
+socket servers, X11, OS/2, and Mac OS X. Other systems are not
supported. You are encouraged to write C<get_fork_TTY> functions which
work for I<your> platform and contribute them.
@@ -6157,7 +6070,7 @@ sub socket_get_fork_TTY {
=head3 C<xterm_get_fork_TTY>
-This function provides the C<get_fork_TTY> function for X windows. If a
+This function provides the C<get_fork_TTY> function for X11. If a
program running under the debugger forks, a new <xterm> window is opened and
the subsidiary debugger is directed there.
@@ -6625,20 +6538,20 @@ sub parse_options {
# Options are always all word characters, followed by a non-word
# separator.
- s/^(\w+)(\W?)// or print( $OUT "Invalid option `$_'\n" ), last;
+ s/^(\w+)(\W?)// or print( $OUT "Invalid option '$_'\n" ), last;
my ( $opt, $sep ) = ( $1, $2 );
# Make sure that such an option exists.
my $matches = grep( /^\Q$opt/ && ( $option = $_ ), @options )
|| grep( /^\Q$opt/i && ( $option = $_ ), @options );
- print( $OUT "Unknown option `$opt'\n" ), next unless $matches;
- print( $OUT "Ambiguous option `$opt'\n" ), next if $matches > 1;
+ print( $OUT "Unknown option '$opt'\n" ), next unless $matches;
+ print( $OUT "Ambiguous option '$opt'\n" ), next if $matches > 1;
my $val;
# '?' as separator means query, but must have whitespace after it.
if ( "?" eq $sep ) {
- print( $OUT "Option query `$opt?' followed by non-space `$_'\n" ),
+ print( $OUT "Option query '$opt?' followed by non-space '$_'\n" ),
last
if /^\S/;
@@ -6676,7 +6589,7 @@ sub parse_options {
my ($end) =
"\\" . substr( ")]>}$sep", index( "([<{", $sep ), 1 ); #}
s/^(([^\\$end]|\\[\\$end])*)$end($|\s+)//
- or print( $OUT "Unclosed option value `$opt$sep$_'\n" ), last;
+ or print( $OUT "Unclosed option value '$opt$sep$_'\n" ), last;
( $val = $1 ) =~ s/\\([\\$end])/$1/g;
} ## end else [ if ("?" eq $sep)
@@ -6684,7 +6597,7 @@ sub parse_options {
if ( $opt_needs_val{$option} && $val_defaulted ) {
my $cmd = ( $CommandSet eq '580' ) ? 'o' : 'O';
print $OUT
-"Option `$opt' is non-boolean. Use `$cmd $option=VAL' to set, `$cmd $option?' to query\n";
+"Option '$opt' is non-boolean. Use '$cmd $option=VAL' to set, '$cmd $option?' to query\n";
next;
} ## end if ($opt_needs_val{$option...
@@ -6825,7 +6738,7 @@ sub reset_IN_OUT {
# This term can't get a new tty now. Better luck later.
elsif ($term) {
- &warn("Too late to set IN/OUT filehandles, enabled on next `R'!\n");
+ &warn("Too late to set IN/OUT filehandles, enabled on next 'R'!\n");
}
# Set the filehndles up as they were.
@@ -6880,8 +6793,8 @@ sub TTY {
}
# Open file onto the debugger's filehandles, if you can.
- open IN, $in or die "cannot open `$in' for read: $!";
- open OUT, ">$out" or die "cannot open `$out' for write: $!";
+ open IN, $in or die "cannot open '$in' for read: $!";
+ open OUT, ">$out" or die "cannot open '$out' for write: $!";
# Swap to the new filehandles.
reset_IN_OUT( \*IN, \*OUT );
@@ -6892,7 +6805,7 @@ sub TTY {
# Terminal doesn't support new TTY, or doesn't support readline.
# Can't do it now, try restarting.
- &warn("Too late to set TTY, enabled on next `R'!\n") if $term and @_;
+ &warn("Too late to set TTY, enabled on next 'R'!\n") if $term and @_;
# Useful if done through PERLDB_OPTS:
$console = $tty = shift if @_;
@@ -6911,7 +6824,7 @@ we save the value to use it if we're restarted.
sub noTTY {
if ($term) {
- &warn("Too late to set noTTY, enabled on next `R'!\n") if @_;
+ &warn("Too late to set noTTY, enabled on next 'R'!\n") if @_;
}
$notty = shift if @_;
$notty;
@@ -6928,7 +6841,7 @@ the value in case a restart is done so we can change it then.
sub ReadLine {
if ($term) {
- &warn("Too late to set ReadLine, enabled on next `R'!\n") if @_;
+ &warn("Too late to set ReadLine, enabled on next 'R'!\n") if @_;
}
$rl = shift if @_;
$rl;
@@ -6977,7 +6890,7 @@ debugger remembers the setting in case you restart, though.
sub NonStop {
if ($term) {
- &warn("Too late to set up NonStop mode, enabled on next `R'!\n")
+ &warn("Too late to set up NonStop mode, enabled on next 'R'!\n")
if @_;
}
$runnonstop = shift if @_;
@@ -7101,7 +7014,7 @@ sub LineInfo {
$slave_editor = ( $stream =~ /^\|/ );
# Open it up and unbuffer it.
- open( LINEINFO, "$stream" ) || &warn("Cannot open `$stream' for write");
+ open( LINEINFO, "$stream" ) || &warn("Cannot open '$stream' for write");
$LINEINFO = \*LINEINFO;
my $save = select($LINEINFO);
$| = 1;
@@ -7213,8 +7126,8 @@ B</>I<pattern>B</> Search forwards for I<pattern>; final B</> is optional.
B<?>I<pattern>B<?> Search backwards for I<pattern>; final B<?> is optional.
B<L> [I<a|b|w>] List actions and or breakpoints and or watch-expressions.
B<S> [[B<!>]I<pattern>] List subroutine names [not] matching I<pattern>.
-B<t> Toggle trace mode.
-B<t> I<expr> Trace through execution of I<expr>.
+B<t> [I<n>] Toggle trace mode (to max I<n> levels below current stack depth).
+B<t> [I<n>] I<expr> Trace through execution of I<expr>.
B<b> Sets breakpoint on current line)
B<b> [I<line>] [I<condition>]
Set breakpoint; I<line> defaults to the current execution line;
@@ -7330,7 +7243,7 @@ B<o> [I<opt>B<=>I<val>] [I<opt>=B<\">I<val>B<\">] ...
During startup options are initialized from \$ENV{PERLDB_OPTS}.
You can put additional initialization options I<TTY>, I<noTTY>,
I<ReadLine>, I<NonStop>, and I<RemotePort> there (or use
- `B<R>' after you set them).
+ B<R> after you set them).
B<q> or B<^D> Quit. Set B<\$DB::finished = 0> to debug global destruction.
B<h> Summary of debugger commands.
@@ -7340,7 +7253,7 @@ B<$doccmd> I<manpage> Runs the external doc viewer B<$doccmd> command on the
named Perl I<manpage>, or on B<$doccmd> itself if omitted.
Set B<\$DB::doccmd> to change viewer.
-Type `|h h' for a paged display if this was too hard to read.
+Type '|h h' for a paged display if this was too hard to read.
"; # Fix balance of vi % matching: }}}}
@@ -7354,7 +7267,7 @@ I<List/search source lines:> I<Control script execution:>
B</>I<pattern>B</> B<?>I<patt>B<?> Search forw/backw B<r> Return from subroutine
B<M> Show module versions B<c> [I<ln>|I<sub>] Continue until position
I<Debugger controls:> B<L> List break/watch/actions
- B<o> [...] Set debugger options B<t> [I<expr>] Toggle trace [trace expr]
+ B<o> [...] Set debugger options B<t> [I<n>] [I<expr>] Toggle trace [max depth] ][trace expr]
B<<>[B<<>]|B<{>[B<{>]|B<>>[B<>>] [I<cmd>] Do pre/post-prompt B<b> [I<ln>|I<event>|I<sub>] [I<cnd>] Set breakpoint
B<$prc> [I<N>|I<pat>] Redo a previous command B<B> I<ln|*> Delete a/all breakpoints
B<H> [I<-num>] Display last num commands B<a> [I<ln>] I<cmd> Do cmd before line
@@ -7405,15 +7318,15 @@ B</>I<pattern>B</> Search forwards for I<pattern>; final B</> is optional.
B<?>I<pattern>B<?> Search backwards for I<pattern>; final B<?> is optional.
B<L> List all breakpoints and actions.
B<S> [[B<!>]I<pattern>] List subroutine names [not] matching I<pattern>.
-B<t> Toggle trace mode.
-B<t> I<expr> Trace through execution of I<expr>.
+B<t> [I<n>] Toggle trace mode (to max I<n> levels below current stack depth) .
+B<t> [I<n>] I<expr> Trace through execution of I<expr>.
B<b> [I<line>] [I<condition>]
Set breakpoint; I<line> defaults to the current execution line;
I<condition> breaks if it evaluates to true, defaults to '1'.
B<b> I<subname> [I<condition>]
Set breakpoint at first line of subroutine.
B<b> I<\$var> Set breakpoint at first line of subroutine referenced by I<\$var>.
-B<b> B<load> I<filename> Set breakpoint on `require'ing the given file.
+B<b> B<load> I<filename> Set breakpoint on 'require'ing the given file.
B<b> B<postpone> I<subname> [I<condition>]
Set breakpoint at first line of subroutine after
it is compiled.
@@ -7506,7 +7419,7 @@ B<O> [I<opt>B<=>I<val>] [I<opt>=B<\">I<val>B<\">] ...
During startup options are initialized from \$ENV{PERLDB_OPTS}.
You can put additional initialization options I<TTY>, I<noTTY>,
I<ReadLine>, I<NonStop>, and I<RemotePort> there (or use
- `B<R>' after you set them).
+ B<R> after you set them).
B<q> or B<^D> Quit. Set B<\$DB::finished = 0> to debug global destruction.
B<h> [I<db_command>] Get help [on a specific debugger command], enter B<|h> to page.
@@ -7515,7 +7428,7 @@ B<$doccmd> I<manpage> Runs the external doc viewer B<$doccmd> command on the
named Perl I<manpage>, or on B<$doccmd> itself if omitted.
Set B<\$DB::doccmd> to change viewer.
-Type `|h' for a paged display if this was too hard to read.
+Type '|h' for a paged display if this was too hard to read.
"; # Fix balance of vi % matching: }}}}
@@ -8775,7 +8688,7 @@ Say we're done.
sub end_report {
local $\ = '';
- print $OUT "Use `q' to quit or `R' to restart. `h q' for details.\n";
+ print $OUT "Use 'q' to quit or 'R' to restart. 'h q' for details.\n";
}
=head2 clean_ENV
@@ -9018,6 +8931,13 @@ variable via C<DB::set_list>.
# Save the list of all the breakpoints for this file.
set_list( "PERLDB_FILE_$_", %dbline, @add );
+
+ # Serialize the extra data %breakpoints_data hash.
+ # That's a bug fix.
+ set_list( "PERLDB_FILE_ENABLED_$_",
+ map { _is_breakpoint_enabled($file, $_) ? 1 : 0 }
+ sort { $a <=> $b } keys(%dbline)
+ )
} ## end for (0 .. $#had_breakpoints)
# The breakpoint was inside an eval. This is a little
@@ -9260,7 +9180,6 @@ sub cmd_pre580_b {
my $cond = length $2 ? $2 : '1';
&cmd_b_sub( $subname, $cond );
}
-
# b <line> [<condition>].
elsif ( $cmd =~ /^(\d*)\s*(.*)/ ) {
my $i = $1 || $dbline;
@@ -9486,7 +9405,7 @@ sub cmd_prepost {
elsif ( $cmd =~ /^\{/o ) {
if ( $cmd =~ /^\{.*\}$/o && unbalanced( substr( $cmd, 1 ) ) ) {
print $OUT
-"$cmd is now a debugger command\nuse `;$cmd' if you mean Perl code\n";
+"$cmd is now a debugger command\nuse ';$cmd' if you mean Perl code\n";
}
# Properly balanced. Pre-prompt debugger actions.
@@ -9563,7 +9482,7 @@ the C<END> block documentation for more details.
package DB::fake;
sub at_exit {
- "Debugged program terminated. Use `q' to quit or `R' to restart.";
+ "Debugged program terminated. Use 'q' to quit or 'R' to restart.";
}
package DB; # Do not trace this 1; below!
diff --git a/Master/tlpkg/tlperl/lib/perlfaq.pm b/Master/tlpkg/tlperl/lib/perlfaq.pm
new file mode 100644
index 00000000000..1d5b4e4233f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/perlfaq.pm
@@ -0,0 +1,6 @@
+package perlfaq;
+{
+ $perlfaq::VERSION = '5.0150039';
+}
+
+0; # not is it supposed to be loaded
diff --git a/Master/tlpkg/tlperl/lib/perllocal.pod b/Master/tlpkg/tlperl/lib/perllocal.pod
index b5e4d4546b0..8bc813cfc35 100644
--- a/Master/tlpkg/tlperl/lib/perllocal.pod
+++ b/Master/tlpkg/tlperl/lib/perllocal.pod
@@ -1,10 +1,10 @@
-=head2 Fri May 18 13:04:05 2012: C<Module> L<Win32::API|Win32::API>
+=head2 Sat Nov 17 13:05:52 2012: C<Module> L<Win32::API|Win32::API>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -20,13 +20,13 @@ C<EXE_FILES: >
=back
-=head2 Fri May 18 13:41:13 2012: C<Module> L<Win32::Shortcut|Win32::Shortcut>
+=head2 Sat Nov 17 13:07:00 2012: C<Module> L<Win32::Shortcut|Win32::Shortcut>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -42,13 +42,13 @@ C<EXE_FILES: >
=back
-=head2 Fri May 18 13:42:29 2012: C<Module> L<Win32API::Registry|Win32API::Registry>
+=head2 Sat Nov 17 13:08:22 2012: C<Module> L<Win32API::Registry|Win32API::Registry>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -64,13 +64,13 @@ C<EXE_FILES: >
=back
-=head2 Fri May 18 13:45:11 2012: C<Module> L<Win32::TieRegistry|Win32::TieRegistry>
+=head2 Sat Nov 17 21:49:34 2012: C<Module> L<Win32::TieRegistry|Win32::TieRegistry>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -86,13 +86,13 @@ C<EXE_FILES: >
=back
-=head2 Fri May 18 13:46:28 2012: C<Module> L<Win32::Process::Info|Win32::Process::Info>
+=head2 Sat Nov 17 21:50:53 2012: C<Module> L<Win32::Process::Info|Win32::Process::Info>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -108,13 +108,13 @@ C<EXE_FILES: >
=back
-=head2 Fri May 18 14:02:43 2012: C<Module> L<Tk|Tk>
+=head2 Sat Nov 17 22:13:33 2012: C<Module> L<Tk|Tk>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -130,13 +130,13 @@ C<EXE_FILES: ptksh ptked gedi>
=back
-=head2 Fri May 18 14:06:25 2012: C<Module> L<HTML::Tagset|HTML::Tagset>
+=head2 Sat Nov 17 22:15:25 2012: C<Module> L<HTML::Tagset|HTML::Tagset>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -152,13 +152,13 @@ C<EXE_FILES: >
=back
-=head2 Fri May 18 14:08:10 2012: C<Module> L<HTML::Parser|HTML::Parser>
+=head2 Sat Nov 17 22:16:33 2012: C<Module> L<HTML::Parser|HTML::Parser>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -174,13 +174,13 @@ C<EXE_FILES: >
=back
-=head2 Fri May 18 14:09:31 2012: C<Module> L<URI|URI>
+=head2 Sat Nov 17 22:17:43 2012: C<Module> L<URI|URI>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -196,13 +196,13 @@ C<EXE_FILES: >
=back
-=head2 Fri May 18 14:12:18 2012: C<Module> L<Encode::Locale|Encode::Locale>
+=head2 Sat Nov 17 22:18:21 2012: C<Module> L<Encode::Locale|Encode::Locale>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -218,13 +218,13 @@ C<EXE_FILES: >
=back
-=head2 Fri May 18 14:15:08 2012: C<Module> L<HTTP::Date|HTTP::Date>
+=head2 Sat Nov 17 22:19:01 2012: C<Module> L<HTTP::Date|HTTP::Date>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -240,13 +240,13 @@ C<EXE_FILES: >
=back
-=head2 Fri May 18 14:16:12 2012: C<Module> L<File::Listing|File::Listing>
+=head2 Sat Nov 17 22:20:02 2012: C<Module> L<File::Listing|File::Listing>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -262,13 +262,13 @@ C<EXE_FILES: >
=back
-=head2 Fri May 18 14:21:26 2012: C<Module> L<LWP::MediaTypes|LWP::MediaTypes>
+=head2 Sat Nov 17 22:20:43 2012: C<Module> L<LWP::MediaTypes|LWP::MediaTypes>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -284,13 +284,13 @@ C<EXE_FILES: >
=back
-=head2 Fri May 18 14:22:29 2012: C<Module> L<HTTP::Message|HTTP::Message>
+=head2 Sat Nov 17 22:21:36 2012: C<Module> L<HTTP::Message|HTTP::Message>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -306,13 +306,13 @@ C<EXE_FILES: >
=back
-=head2 Fri May 18 14:23:29 2012: C<Module> L<HTTP::Cookies|HTTP::Cookies>
+=head2 Sat Nov 17 22:22:27 2012: C<Module> L<HTTP::Cookies|HTTP::Cookies>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -328,13 +328,13 @@ C<EXE_FILES: >
=back
-=head2 Fri May 18 14:24:21 2012: C<Module> L<HTTP::Daemon|HTTP::Daemon>
+=head2 Sat Nov 17 22:23:13 2012: C<Module> L<HTTP::Daemon|HTTP::Daemon>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -350,13 +350,13 @@ C<EXE_FILES: >
=back
-=head2 Fri May 18 14:25:15 2012: C<Module> L<HTTP::Negotiate|HTTP::Negotiate>
+=head2 Sat Nov 17 22:23:55 2012: C<Module> L<HTTP::Negotiate|HTTP::Negotiate>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -372,13 +372,13 @@ C<EXE_FILES: >
=back
-=head2 Fri May 18 14:26:19 2012: C<Module> L<Net::HTTP|Net::HTTP>
+=head2 Sat Nov 17 22:24:28 2012: C<Module> L<Net::HTTP|Net::HTTP>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -394,13 +394,13 @@ C<EXE_FILES: >
=back
-=head2 Fri May 18 14:27:20 2012: C<Module> L<WWW::RobotRules|WWW::RobotRules>
+=head2 Sat Nov 17 22:28:00 2012: C<Module> L<WWW::RobotRules|WWW::RobotRules>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -416,13 +416,13 @@ C<EXE_FILES: >
=back
-=head2 Fri May 18 14:28:45 2012: C<Module> L<LWP|LWP>
+=head2 Sat Nov 17 22:29:15 2012: C<Module> L<LWP|LWP>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -438,13 +438,13 @@ C<EXE_FILES: bin/lwp-request bin/lwp-mirror bin/lwp-download bin/lwp-dump>
=back
-=head2 Fri May 18 15:04:42 2012: C<Module> L<IO::String|IO::String>
+=head2 Sat Nov 17 22:29:51 2012: C<Module> L<IO::String|IO::String>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
@@ -460,13 +460,13 @@ C<EXE_FILES: >
=back
-=head2 Fri May 18 15:05:45 2012: C<Module> L<Digest::SHA1|Digest::SHA1>
+=head2 Sat Nov 17 22:30:33 2012: C<Module> L<Digest::SHA1|Digest::SHA1>
=over 4
=item *
-C<installed into: x:\tlperl\site\lib>
+C<installed into: c:\perl\site\lib>
=item *
diff --git a/Master/tlpkg/tlperl/lib/pods/perl.pod b/Master/tlpkg/tlperl/lib/pods/perl.pod
index 29cabf1fc05..5f154980ee0 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl.pod
@@ -28,6 +28,24 @@ perldoc> to learn more things you can do with F<perldoc>.
For ease of access, the Perl manual has been split up into several sections.
+=begin buildtoc
+
+# This section is parsed by Porting/pod_lib.pl for use by pod/buildtoc etc
+
+flag =g perluniprops perlmodlib perlapi perlintern
+flag =go perltoc
+flag =ro perlcn perljp perlko perltw
+flag = perlvms
+
+path perlfaq.* cpan/perlfaq/lib/
+path perlglossary cpan/perlfaq/lib/
+path perlxs(?:tut|typemap)? dist/ExtUtils-ParseXS/lib/
+path perldoc cpan/Pod-Perldoc/lib/
+
+aux a2p c2ph h2ph h2xs perlbug pl2pm pod2html pod2man s2p splain xsubpp
+
+=end buildtoc
+
=head2 Overview
perl Perl overview (this section)
@@ -43,10 +61,7 @@ For ease of access, the Perl manual has been split up into several sections.
perlrequick Perl regular expressions quick start
perlretut Perl regular expressions tutorial
- perlboot Perl OO tutorial for beginners
- perltoot Perl OO tutorial, part 1
- perltooc Perl OO tutorial, part 2
- perlbot Perl OO tricks and examples
+ perlootut Perl OO tutorial for beginners
perlperf Perl Performance and Optimization Techniques
@@ -120,10 +135,10 @@ For ease of access, the Perl manual has been split up into several sections.
perlutil utilities packaged with the Perl distribution
- perlcompile Perl compiler suite intro
-
perlfilter Perl source filters
+ perldtrace Perl's support for DTrace
+
perlglossary Perl Glossary
=head2 Internals and C Language Interface
@@ -132,6 +147,7 @@ For ease of access, the Perl manual has been split up into several sections.
perldebguts Perl debugging guts and tips
perlxstut Perl XS tutorial
perlxs Perl XS application programming interface
+ perlxstypemap Perl XS C/Perl type conversion tools
perlclib Internal replacements for standard C library functions
perlguts Perl internal functions for those doing extensions
perlcall Perl calling conventions from C
@@ -146,7 +162,7 @@ For ease of access, the Perl manual has been split up into several sections.
perlhack Perl hackers guide
perlsource Guide to the Perl source tree
- perlinterp Overview of the Perl intepreter source and how it works
+ perlinterp Overview of the Perl interpreter source and how it works
perlhacktut Walk through the creation of a simple C code patch
perlhacktips Tips for Perl core C code hacking
perlpolicy Perl development policies
@@ -156,44 +172,25 @@ For ease of access, the Perl manual has been split up into several sections.
perlbook Perl book information
perlcommunity Perl community information
- perltodo Perl things to do
perldoc Look up Perl documentation in Pod format
perlhist Perl history records
perldelta Perl changes since previous version
+ perl5161delta Perl changes in version 5.16.1
+ perl5160delta Perl changes in version 5.16.0
+ perl5160delta Perl changes in version 5.16.0
+ perl5143delta Perl changes in version 5.14.3
+ perl5142delta Perl changes in version 5.14.2
perl5141delta Perl changes in version 5.14.1
perl5140delta Perl changes in version 5.14.0
- perl51311delta Perl changes in version 5.13.11
- perl51310delta Perl changes in version 5.13.10
- perl5139delta Perl changes in version 5.13.9
- perl5138delta Perl changes in version 5.13.8
- perl5137delta Perl changes in version 5.13.7
- perl5136delta Perl changes in version 5.13.6
- perl5135delta Perl changes in version 5.13.5
- perl5134delta Perl changes in version 5.13.4
- perl5133delta Perl changes in version 5.13.3
- perl5132delta Perl changes in version 5.13.2
- perl5131delta Perl changes in version 5.13.1
- perl5130delta Perl changes in version 5.13.0
+ perl5124delta Perl changes in version 5.12.4
perl5123delta Perl changes in version 5.12.3
perl5122delta Perl changes in version 5.12.2
perl5121delta Perl changes in version 5.12.1
perl5120delta Perl changes in version 5.12.0
- perl5115delta Perl changes in version 5.11.5
- perl5114delta Perl changes in version 5.11.4
- perl5113delta Perl changes in version 5.11.3
- perl5112delta Perl changes in version 5.11.2
- perl5111delta Perl changes in version 5.11.1
- perl5110delta Perl changes in version 5.11.0
perl5101delta Perl changes in version 5.10.1
perl5100delta Perl changes in version 5.10.0
- perl595delta Perl changes in version 5.9.5
- perl594delta Perl changes in version 5.9.4
- perl593delta Perl changes in version 5.9.3
- perl592delta Perl changes in version 5.9.2
- perl591delta Perl changes in version 5.9.1
- perl590delta Perl changes in version 5.9.0
perl589delta Perl changes in version 5.8.9
perl588delta Perl changes in version 5.8.8
perl587delta Perl changes in version 5.8.7
@@ -204,20 +201,20 @@ For ease of access, the Perl manual has been split up into several sections.
perl582delta Perl changes in version 5.8.2
perl581delta Perl changes in version 5.8.1
perl58delta Perl changes in version 5.8.0
- perl573delta Perl changes in version 5.7.3
- perl572delta Perl changes in version 5.7.2
- perl571delta Perl changes in version 5.7.1
- perl570delta Perl changes in version 5.7.0
perl561delta Perl changes in version 5.6.1
perl56delta Perl changes in version 5.6
perl5005delta Perl changes in version 5.005
perl5004delta Perl changes in version 5.004
+ perlexperiment A listing of experimental features in Perl
+
perlartistic Perl Artistic License
perlgpl GNU General Public License
=head2 Language-Specific
+=for buildtoc flag +r
+
perlcn Perl for Simplified Chinese (in EUC-CN)
perljp Perl for Japanese (in EUC-JP)
perlko Perl for Korean (in EUC-KR)
@@ -260,6 +257,17 @@ For ease of access, the Perl manual has been split up into several sections.
perlvos Perl notes for Stratus VOS
perlwin32 Perl notes for Windows
+=for buildtoc flag -r
+
+=head2 Stubs for Deleted Documents
+
+ perlboot
+ perlbot
+ perltodo
+ perltooc
+ perltoot
+
+=for buildtoc __END__
On a Unix-like system, these documentation files will usually also be
available as manpages for use with the F<man> program.
@@ -315,8 +323,8 @@ Described in L<perlmod>, L<perlmodlib>, and L<perlmodinstall>.
embeddable and extensible
-Described in L<perlembed>, L<perlxstut>, L<perlxs>, L<perlcall>,
-L<perlguts>, and L<xsubpp>.
+Described in L<perlembed>, L<perlxstut>, L<perlxs>, L<perlxstypemap>,
+L<perlcall>, L<perlguts>, and L<xsubpp>.
=item *
@@ -341,8 +349,7 @@ Described in L<perlreftut>, L<perlref>, L<perldsc>, and L<perllol>.
object-oriented programming
-Described in L<perlobj>, L<perlboot>, L<perltoot>, L<perltooc>,
-and L<perlbot>.
+Described in L<perlobj> and L<perlootut>.
=item *
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5004delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5004delta.pod
index c83f3e6afd4..fc5ae62bb85 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl5004delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl5004delta.pod
@@ -753,7 +753,7 @@ and above) or the Borland C++ compiler (versions 5.02 and above).
The resulting perl can be used under Windows 95 (if it
is installed in the same directory locations as it got installed
in Windows NT). This port includes support for perl extension
-building tools like L<MakeMaker> and L<h2xs>, so that many extensions
+building tools like L<ExtUtils::MakeMaker> and L<h2xs>, so that many extensions
available on the Comprehensive Perl Archive Network (CPAN) can now be
readily built under Windows NT. See http://www.perl.com/ for more
information on CPAN and F<README.win32> in the perl distribution for more
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5005delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5005delta.pod
index cabdf9eb7cb..62661254a21 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl5005delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl5005delta.pod
@@ -523,7 +523,7 @@ encapsulation of Perl. GCC and EGCS are now supported on Win32.
See F<README.win32>, aka L<perlwin32>.
VMS configuration system has been rewritten. See F<README.vms> (installed
-as L<README_vms> on some systems).
+as F<README_vms> on some systems).
The hints files for most Unix platforms have seen incremental improvements.
@@ -722,7 +722,7 @@ imported with the C<use subs> pragma).
To silently interpret it as the Perl operator, use the C<CORE::> prefix
on the operator (e.g. C<CORE::log($x)>) or by declaring the subroutine
-to be an object method (see L<attrs>).
+to be an object method (see L</attrs>).
=item Bad index while coercing array into hash
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5100delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5100delta.pod
index e93c316954a..4e5c6d3a2b6 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl5100delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl5100delta.pod
@@ -844,7 +844,7 @@ of C<CPANPLUS>.
=item *
C<Archive::Extract> is a generic archive extraction mechanism
-for F<.tar> (plain, gziped or bzipped) or F<.zip> files.
+for F<.tar> (plain, gzipped or bzipped) or F<.zip> files.
=item *
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5101delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5101delta.pod
index c6cdef977ae..415ab6be245 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl5101delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl5101delta.pod
@@ -1751,7 +1751,8 @@ analysed by the Perl porting team.
If the bug you are reporting has security implications, which make it
inappropriate to send to a publicly archived mailing list, then please send
it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
+unarchived mailing list, which includes
+all the core committers, who will be able
to help assess the impact of issues, figure out a resolution, and help
co-ordinate the release of patches to mitigate or fix the problem across all
platforms on which Perl is supported. Please only use this address for
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5110delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5110delta.pod
deleted file mode 100644
index 7ceb174a09c..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl5110delta.pod
+++ /dev/null
@@ -1,1624 +0,0 @@
-=encoding utf8
-
-=head1 NAME
-
-perl5110delta - what is new for perl v5.11.0
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.10.0 release and
-the 5.11.0 development release.
-
-=head1 Incompatible Changes
-
-=head2 Unicode interpretation of \w, \d, \s, and the POSIX character classes redefined.
-
-Previous versions of Perl tried to map POSIX style character class definitions onto
-Unicode property names so that patterns would "dwim" when matches were made against latin-1 or
-unicode strings. This proved to be a mistake, breaking character class negation, causing
-forward compatibility problems (as Unicode keeps updating their property definitions and adding
-new characters), and other problems.
-
-Therefore we have now defined a new set of artificial "unicode" property names which will be
-used to do unicode matching of patterns using POSIX style character classes and perl short-form
-escape character classes like \w and \d.
-
-The key change here is that \d will no longer match every digit in the unicode standard
-(there are thousands) nor will \w match every word character in the standard, instead they
-will match precisely their POSIX or Perl definition.
-
-Those needing to match based on Unicode properties can continue to do so by using the \p{} syntax
-to match whichever property they like, including the new artificial definitions.
-
-B<NOTE:> This is a backwards incompatible no-warning change in behaviour. If you are upgrading
-and you process large volumes of text look for POSIX and Perl style character classes and
-change them to the relevant property name (by removing the word 'Posix' from the current name).
-
-The following table maps the POSIX character class names, the escapes and the old and new
-Unicode property mappings:
-
- POSIX Esc Class New-Property ! Old-Property
- ----------------------------------------------+-------------
- alnum [0-9A-Za-z] IsPosixAlnum ! IsAlnum
- alpha [A-Za-z] IsPosixAlpha ! IsAlpha
- ascii [\000-\177] IsASCII = IsASCII
- blank [\011 ] IsPosixBlank !
- cntrl [\0-\37\177] IsPosixCntrl ! IsCntrl
- digit \d [0-9] IsPosixDigit ! IsDigit
- graph [!-~] IsPosixGraph ! IsGraph
- lower [a-z] IsPosixLower ! IsLower
- print [ -~] IsPosixPrint ! IsPrint
- punct [!-/:-@[-`{-~] IsPosixPunct ! IsPunct
- space [\11-\15 ] IsPosixSpace ! IsSpace
- \s [\11\12\14\15 ] IsPerlSpace ! IsSpacePerl
- upper [A-Z] IsPosixUpper ! IsUpper
- word \w [0-9A-Z_a-z] IsPerlWord ! IsWord
- xdigit [0-9A-Fa-f] IsXDigit = IsXDigit
-
-If you wish to build perl with the old mapping you may do so by setting
-
- #define PERL_LEGACY_UNICODE_CHARCLASS_MAPPINGS 1
-
-in regcomp.h, and then setting
-
- PERL_TEST_LEGACY_POSIX_CC
-
-to true your environment when testing.
-
-
-=head2 @INC reorganization
-
-In @INC, ARCHLIB and PRIVLIB now occur after after the current version's
-site_perl and vendor_perl.
-
-=head2 Switch statement changes
-
-The handling of complex expressions by the C<given>/C<when> switch
-statement has been enhanced. These enhancements are also available in
-5.10.1 and subsequent 5.10 releases. There are two new cases where C<when> now
-interprets its argument as a boolean, instead of an expression to be used
-in a smart match:
-
-=over 4
-
-=item flip-flop operators
-
-The C<..> and C<...> flip-flop operators are now evaluated in boolean
-context, following their usual semantics; see L<perlop/"Range Operators">.
-
-Note that, as in perl 5.10.0, C<when (1..10)> will not work to test
-whether a given value is an integer between 1 and 10; you should use
-C<when ([1..10])> instead (note the array reference).
-
-However, contrary to 5.10.0, evaluating the flip-flop operators in boolean
-context ensures it can now be useful in a C<when()>, notably for
-implementing bistable conditions, like in:
-
- when (/^=begin/ .. /^=end/) {
- # do something
- }
-
-=item defined-or operator
-
-A compound expression involving the defined-or operator, as in
-C<when (expr1 // expr2)>, will be treated as boolean if the first
-expression is boolean. (This just extends the existing rule that applies
-to the regular or operator, as in C<when (expr1 || expr2)>.)
-
-=back
-
-The next section details more changes brought to the semantics to
-the smart match operator, that naturally also modify the behaviour
-of the switch statements where smart matching is implicitly used.
-These changers were also made for the 5.10.1 release, and will remain in
-subsequent 5.10 releases.
-
-=head2 Smart match changes
-
-=head3 Changes to type-based dispatch
-
-The smart match operator C<~~> is no longer commutative. The behaviour of
-a smart match now depends primarily on the type of its right hand
-argument. Moreover, its semantics have been adjusted for greater
-consistency or usefulness in several cases. While the general backwards
-compatibility is maintained, several changes must be noted:
-
-=over 4
-
-=item *
-
-Code references with an empty prototype are no longer treated specially.
-They are passed an argument like the other code references (even if they
-choose to ignore it).
-
-=item *
-
-C<%hash ~~ sub {}> and C<@array ~~ sub {}> now test that the subroutine
-returns a true value for each key of the hash (or element of the
-array), instead of passing the whole hash or array as a reference to
-the subroutine.
-
-=item *
-
-Due to the commutativity breakage, code references are no longer
-treated specially when appearing on the left of the C<~~> operator,
-but like any vulgar scalar.
-
-=item *
-
-C<undef ~~ %hash> is always false (since C<undef> can't be a key in a
-hash). No implicit conversion to C<""> is done (as was the case in perl
-5.10.0).
-
-=item *
-
-C<$scalar ~~ @array> now always distributes the smart match across the
-elements of the array. It's true if one element in @array verifies
-C<$scalar ~~ $element>. This is a generalization of the old behaviour
-that tested whether the array contained the scalar.
-
-=back
-
-The full dispatch table for the smart match operator is given in
-L<perlsyn/"Smart matching in detail">.
-
-=head3 Smart match and overloading
-
-According to the rule of dispatch based on the rightmost argument type,
-when an object overloading C<~~> appears on the right side of the
-operator, the overload routine will always be called (with a 3rd argument
-set to a true value, see L<overload>.) However, when the object will
-appear on the left, the overload routine will be called only when the
-rightmost argument is a simple scalar. This way distributivity of smart match
-across arrays is not broken, as well as the other behaviours with complex
-types (coderefs, hashes, regexes). Thus, writers of overloading routines
-for smart match mostly need to worry only with comparing against a scalar,
-and possibly with stringification overloading; the other common cases
-will be automatically handled consistently.
-
-C<~~> will now refuse to work on objects that do not overload it (in order
-to avoid relying on the object's underlying structure). (However, if the
-object overloads the stringification or the numification operators, and
-if overload fallback is active, it will be used instead, as usual.)
-
-=head2 Labels can't be keywords
-
-Labels used as targets for the C<goto>, C<last>, C<next> or C<redo>
-statements cannot be keywords anymore. This restriction will prevent
-potential confusion between the C<goto LABEL> and C<goto EXPR> syntaxes:
-for example, a statement like C<goto print> would jump to a label whose
-name would be the return value of C<print()>, (usually 1), instead of a
-label named C<print>. Moreover, the other control flow statements
-would just ignore any keyword passed to them as a label name. Since
-such labels cannot be defined anymore, this kind of error will be
-avoided.
-
-=head2 Other incompatible changes
-
-=over 4
-
-=item *
-
-The semantics of C<use feature :5.10*> have changed slightly.
-See L<"Modules and Pragmata"> for more information.
-
-=item *
-
-It is now a run-time error to use the smart match operator C<~~>
-with an object that has no overload defined for it. (This way
-C<~~> will not break encapsulation by matching against the
-object's internal representation as a reference.)
-
-=item *
-
-The version control system used for the development of the perl
-interpreter has been switched from Perforce to git. This is mainly an
-internal issue that only affects people actively working on the perl core;
-but it may have minor external visibility, for example in some of details
-of the output of C<perl -V>. See L<perlrepository> for more information.
-
-=item *
-
-The internal structure of the C<ext/> directory in the perl source has
-been reorganised. In general, a module C<Foo::Bar> whose source was
-stored under F<ext/Foo/Bar/> is now located under F<ext/Foo-Bar/>. Also,
-nearly all dual-life modules have been moved from F<lib/> to F<ext/>. This
-is purely a source tarball change, and should make no difference to the
-compilation or installation of perl, unless you have a very customised build
-process that explicitly relies on this structure, or which hard-codes the
-C<nonxs_ext> F<Configure> parameter. Specifically, this change does not by
-default alter the location of any files in the final installation.
-
-=item *
-
-As part of the C<Test::Harness> 2.x to 3.x upgrade, the experimental
-C<Test::Harness::Straps> module has been removed.
-See L</"Updated Modules"> for more details.
-
-=item *
-
-As part of the C<ExtUtils::MakeMaker> upgrade, the
-C<ExtUtils::MakeMaker::bytes> and C<ExtUtils::MakeMaker::vmsish> modules
-have been removed from this distribution.
-
-=item *
-
-C<Module::CoreList> no longer contains the C<%:patchlevel> hash.
-
-=item *
-
-This one is actually a change introduced in 5.10.0, but it was missed
-from that release's perldelta, so it is mentioned here instead.
-
-A bugfix related to the handling of the C</m> modifier and C<qr> resulted
-in a change of behaviour between 5.8.x and 5.10.0:
-
- # matches in 5.8.x, doesn't match in 5.10.0
- $re = qr/^bar/; "foo\nbar" =~ /$re/m;
-
-=item *
-
-C<length undef> now returns undef.
-
-=item *
-
-Unsupported private C API functions are now declared "static" to prevent
-leakage to Perl's public API.
-
-=item *
-
-To support the bootstrapping process, F<miniperl> no longer builds with
-UTF-8 support in the regexp engine.
-
-This allows a build to complete with PERL_UNICODE set and a UTF-8 locale.
-Without this there's a bootstrapping problem, as miniperl can't load the UTF-8
-components of the regexp engine, because they're not yet built.
-
-=item *
-
-F<miniperl>'s @INC is now restricted to just -I..., the split of $ENV{PERL5LIB}, and "."
-
-=item *
-
-A space or a newline is now required after a C<"#line XXX"> directive.
-
-=item *
-
-Tied filehandles now have an additional method EOF which provides the EOF type
-
-=item *
-
-To better match all other flow control statements, C<foreach> may no longer be used as an attribute.
-
-=back
-
-=head1 Core Enhancements
-
-=head2 Unicode Character Database 5.1.0
-
-The copy of the Unicode Character Database included in Perl 5.11.0 has
-been updated to 5.1.0 from 5.0.0. See
-L<http://www.unicode.org/versions/Unicode5.1.0/#Notable_Changes> for the
-notable changes.
-
-=head2 A proper interface for pluggable Method Resolution Orders
-
-As of Perl 5.11.0 there is a new interface for plugging and using method
-resolution orders other than the default (linear depth first search).
-The C3 method resolution order added in 5.10.0 has been re-implemented as
-a plugin, without changing its Perl-space interface. See L<perlmroapi> for
-more information.
-
-=head2 The C<overloading> pragma
-
-This pragma allows you to lexically disable or enable overloading
-for some or all operations. (Yuval Kogman)
-
-=head2 C<\N> regex escape
-
-A new regex escape has been added, C<\N>. It will match any character that
-is not a newline, independently from the presence or absence of the single
-line match modifier C</s>. (If C<\N> is followed by an opening brace and
-by a letter, perl will still assume that a Unicode character name is
-coming, so compatibility is preserved.) (Rafael Garcia-Suarez)
-
-=head2 Implicit strictures
-
-Using the C<use VERSION> syntax with a version number greater or equal
-to 5.11.0 will also lexically enable strictures just like C<use strict>
-would do (in addition to enabling features.) So, the following:
-
- use 5.11.0;
-
-will now imply:
-
- use strict;
- use feature ':5.11';
-
-=head2 Parallel tests
-
-The core distribution can now run its regression tests in parallel on
-Unix-like platforms. Instead of running C<make test>, set C<TEST_JOBS> in
-your environment to the number of tests to run in parallel, and run
-C<make test_harness>. On a Bourne-like shell, this can be done as
-
- TEST_JOBS=3 make test_harness # Run 3 tests in parallel
-
-An environment variable is used, rather than parallel make itself, because
-L<TAP::Harness> needs to be able to schedule individual non-conflicting test
-scripts itself, and there is no standard interface to C<make> utilities to
-interact with their job schedulers.
-
-Note that currently some test scripts may fail when run in parallel (most
-notably C<ext/IO/t/io_dir.t>). If necessary run just the failing scripts
-again sequentially and see if the failures go away.
-
-=head2 The C<...> operator
-
-A new operator, C<...>, nicknamed the Yada Yada operator, has been added.
-It is intended to mark placeholder code, that is not yet implemented.
-See L<perlop/"Yada Yada Operator">. (chromatic)
-
-=head2 DTrace support
-
-Some support for DTrace has been added. See "DTrace support" in F<INSTALL>.
-
-=head2 Support for C<configure_requires> in CPAN module metadata
-
-Both C<CPAN> and C<CPANPLUS> now support the C<configure_requires> keyword
-in the F<META.yml> metadata file included in most recent CPAN distributions.
-This allows distribution authors to specify configuration prerequisites that
-must be installed before running F<Makefile.PL> or F<Build.PL>.
-
-See the documentation for C<ExtUtils::MakeMaker> or C<Module::Build> for more
-on how to specify C<configure_requires> when creating a distribution for CPAN.
-
-=head2 C<each> is now more flexible
-
-The C<each> function can now operate on arrays.
-
-=head2 Y2038 compliance
-
-Perl's core time-related functions are now Y2038 compliant. (With 29
-years to spare!)
-
-=head2 C<$,> flexibility
-
-The variable C<$,> may now be tied.
-
-=head2 // in where clauses
-
-// now behaves like || in when clauses
-
-=head2 Enabling warnings from your shell environment
-
-You can now set C<-W> from the C<PERL5OPT> environment variable
-
-=head2 C<delete local>
-
-C<delete local> now allows you to locally delete a hash entry.
-
-=head2 New support for Abstract namespace sockets
-
-Abstract namespace sockets are Linux-specific socket type that live in
-AF_UNIX family, slightly abusing it to be able to use arbitrary
-character arrays as addresses: They start with nul byte and are not
-terminated by nul byte, but with the length passed to the socket()
-system call.
-
-=head1 Modules and Pragmata
-
-=head2 Dual-lifed modules moved
-
-Dual-lifed modules maintained primarily in the Perl core now live in dist/.
-Dual-lifed modules maintained primarily on CPAN now live in cpan/
-
-In previous releases of Perl, it was customary to enumerate all module
-changes in this section of the C<perldelta> file. From 5.11.0 forward
-only notable updates (such as new or deprecated modules ) will be
-listed in this section. For a complete reference to the versions of
-modules shipped in a given release of perl, please see L<Module::CoreList>.
-
-=head2 New Modules and Pragmata
-
-=over 4
-
-=item C<autodie>
-
-This is a new lexically-scoped alternative for the C<Fatal> module.
-The bundled version is 2.06_01. Note that in this release, using a string
-eval when C<autodie> is in effect can cause the autodie behaviour to leak
-into the surrounding scope. See L<autodie/"BUGS"> for more details.
-
-=item C<Compress::Raw::Bzip2>
-
-This has been added to the core (version 2.020).
-
-=item C<parent>
-
-This pragma establishes an ISA relationship with base classes at compile
-time. It provides the key feature of C<base> without the feature creep.
-
-=item C<Parse::CPAN::Meta>
-
-This has been added to the core (version 1.39).
-
-=back
-
-=head2 Pragmata Changes
-
-=over 4
-
-=item C<overloading>
-
-See L</"The C<overloading> pragma"> above.
-
-=item C<attrs>
-
-The C<attrs> pragma has been removed. It had been marked as deprecated since
-5.6.0.
-
-=item C<charnames>
-
-The Unicode F<NameAliases.txt> database file has been added. This has the
-effect of adding some extra C<\N> character names that formerly wouldn't
-have been recognised; for example, C<"\N{LATIN CAPITAL LETTER GHA}">.
-
-=item C<feature>
-
-The meaning of the C<:5.10> and C<:5.10.X> feature bundles has
-changed slightly. The last component, if any (i.e. C<X>) is simply ignored.
-This is predicated on the assumption that new features will not, in
-general, be added to maintenance releases. So C<:5.10> and C<:5.10.X>
-have identical effect. This is a change to the behaviour documented for
-5.10.0.
-
-=item C<mro>
-
-Upgraded from version 1.00 to 1.01. Performance for single inheritance is 40%
-faster - see L</"Performance Enhancements"> below.
-
-C<mro> is now implemented as an XS extension. The documented interface has not
-changed. Code relying on the implementation detail that some C<mro::>
-methods happened to be available at all times gets to "keep both pieces".
-
-=back
-
-=head2 Updated Modules
-
-=over 4
-
-=item C<ExtUtils::MakeMaker>
-
-Upgraded from version 6.42 to 6.55_02.
-
-Note that C<ExtUtils::MakeMaker::bytes> and C<ExtUtils::MakeMaker::vmsish>
-have been removed from this distribution.
-
-=item C<Test::Harness>
-
-Upgraded from version 2.64 to 3.17.
-
-Note that one side-effect of the 2.x to 3.x upgrade is that the
-experimental C<Test::Harness::Straps> module (and its supporting
-C<Assert>, C<Iterator>, C<Point> and C<Results> modules) have been
-removed. If you still need this, then they are available in the
-(unmaintained) C<Test-Harness-Straps> distribution on CPAN.
-
-=item C<UNIVERSAL>
-
-Upgraded from version 1.04 to 1.05.
-
-C<< UNIVERSAL-E<gt>import() >> is now deprecated.
-
-=back
-
-=head1 Utility Changes
-
-=over 4
-
-=item F<h2ph>
-
-Now looks in C<include-fixed> too, which is a recent addition to gcc's
-search path.
-
-=item F<h2xs>
-
-No longer incorrectly treats enum values like macros (Daniel Burr).
-
-Now handles C++ style constants (C<//>) properly in enums. (A patch from
-Rainer Weikusat was used; Daniel Burr also proposed a similar fix).
-
-=item F<perl5db.pl>
-
-C<LVALUE> subroutines now work under the debugger.
-
-The debugger now correctly handles proxy constant subroutines, and
-subroutine stubs.
-
-=item F<perlbug>
-
-F<perlbug> now uses C<%Module::CoreList::bug_tracker> to print out upstream bug
-tracker URLs.
-
-Where the user names a module that their bug report is about, and we know the
-URL for its upstream bug tracker, provide a message to the user explaining
-that the core copies the CPAN version directly, and provide the URL for
-reporting the bug directly to upstream.
-
-=item F<perlthanks>
-
-Perl 5.11.0 added a new utility F<perlthanks>, which is a variant of
-F<perlbug>, but for sending non-bug-reports to the authors and maintainers
-of Perl. Getting nothing but bug reports can become a bit demoralising:
-we'll see if this changes things.
-
-=back
-
-=head1 New Documentation
-
-=over 4
-
-=item L<perlhaiku>
-
-This contains instructions on how to build perl for the Haiku platform.
-
-=item L<perlmroapi>
-
-This describes the new interface for pluggable Method Resolution Orders.
-
-=item L<perlperf>
-
-This document, by Richard Foley, provides an introduction to the use of
-performance and optimization techniques which can be used with particular
-reference to perl programs.
-
-=item L<perlrepository>
-
-This describes how to access the perl source using the I<git> version
-control system.
-
-=back
-
-=head1 Changes to Existing Documentation
-
-The various large F<Changes*> files (which listed every change made to perl
-over the last 18 years) have been removed, and replaced by a small file,
-also called F<Changes>, which just explains how that same information may
-be extracted from the git version control system.
-
-The file F<Porting/patching.pod> has been deleted, as it mainly described
-interacting with the old Perforce-based repository, which is now obsolete.
-Information still relevant has been moved to L<perlrepository>.
-
-L<perlapi>, L<perlintern>, L<perlmodlib> and L<perltoc> are now all
-generated at build time, rather than being shipped as part of the release.
-
-=over
-
-=item *
-
-Documented -X overloading.
-
-=item *
-
-Documented that C<when()> treats specially most of the filetest operators
-
-=item *
-
-Documented when as a syntax modifier
-
-=item *
-
-Eliminated "Old Perl threads tutorial", which describes 5005 threads.
-
-F<pod/perlthrtut.pod> is the same material reworked for ithreads.
-
-=item *
-
-Correct previous documentation: v-strings are not deprecated
-
-With version objects, we need them to use MODULE VERSION syntax. This
-patch removes the deprecation note.
-
-=item *
-
-Added security contact information to L<perlsec>
-
-=back
-
-=head1 Performance Enhancements
-
-
-=over 4
-
-=item *
-
-A new internal cache means that C<isa()> will often be faster.
-
-=item *
-
-The implementation of C<C3> Method Resolution Order has been optimised -
-linearisation for classes with single inheritance is 40% faster. Performance
-for multiple inheritance is unchanged.
-
-=item *
-
-Under C<use locale>, the locale-relevant information is now cached on
-read-only values, such as the list returned by C<keys %hash>. This makes
-operations such as C<sort keys %hash> in the scope of C<use locale> much
-faster.
-
-=item *
-
-Empty C<DESTROY> methods are no longer called.
-
-=item *
-
-Faster C<Perl_sv_utf8_upgrade()>
-
-=item *
-
-Speed up C<keys> on empty hash
-
-=back
-
-=head1 Installation and Configuration Improvements
-
-=head2 F<ext/> reorganisation
-
-The layout of directories in F<ext> has been revised. Specifically, all
-extensions are now flat, and at the top level, with C</> in pathnames
-replaced by C<->, so that F<ext/Data/Dumper/> is now F<ext/Data-Dumper/>,
-etc. The names of the extensions as specified to F<Configure>, and as
-reported by C<%Config::Config> under the keys C<dynamic_ext>,
-C<known_extensions>, C<nonxs_ext> and C<static_ext> have not changed, and
-still use C</>. Hence this change will not have any affect once perl is
-installed. C<Safe> has been split out from being part of C<Opcode>, and
-C<mro> is now an extension in its own right.
-
-Nearly all dual-life modules have been moved from F<lib> to F<ext>, and will
-now appear as known C<nonxs_ext>. This will made no difference to the
-structure of an installed perl, nor will the modules installed differ,
-unless you run F<Configure> with options to specify an exact list of
-extensions to build. In this case, you will rapidly become aware that you
-need to add to your list, because various modules needed to complete the
-build, such as C<ExtUtils::ParseXS>, have now become extensions, and
-without them the build will fail well before it attempts to run the
-regression tests.
-
-=head2 Configuration improvements
-
-If C<vendorlib> and C<vendorarch> are the same, then they are only added to
-C<@INC> once.
-
-C<$Config{usedevel}> and the C-level C<PERL_USE_DEVEL> are now defined if
-perl is built with C<-Dusedevel>.
-
-F<Configure> will enable use of C<-fstack-protector>, to provide protection
-against stack-smashing attacks, if the compiler supports it.
-
-F<Configure> will now determine the correct prototypes for re-entrant
-functions, and for C<gconvert>, if you are using a C++ compiler rather
-than a C compiler.
-
-On Unix, if you build from a tree containing a git repository, the
-configuration process will note the commit hash you have checked out, for
-display in the output of C<perl -v> and C<perl -V>. Unpushed local commits
-are automatically added to the list of local patches displayed by
-C<perl -V>.
-
-=head2 Compilation improvements
-
-As part of the flattening of F<ext>, all extensions on all platforms are
-built by F<make_ext.pl>. This replaces the Unix-specific
-F<ext/util/make_ext>, VMS-specific F<make_ext.com> and Win32-specific
-F<win32/buildext.pl>.
-
-=head2 Platform Specific Changes
-
-=over 4
-
-=item AIX
-
-Removed F<libbsd> for AIX 5L and 6.1. Only C<flock()> was used from F<libbsd>.
-
-Removed F<libgdbm> for AIX 5L and 6.1. The F<libgdbm> is delivered as an
-optional package with the AIX Toolbox. Unfortunately the 64 bit version
-is broken.
-
-Hints changes mean that AIX 4.2 should work again.
-
-=item Cygwin
-
-On Cygwin we now strip the last number from the DLL. This has been the
-behaviour in the cygwin.com build for years. The hints files have been
-updated.
-
-=item DomainOS
-
-Support for Apollo DomainOS was removed in Perl 5.11.0
-
-=item FreeBSD
-
-The hints files now identify the correct threading libraries on FreeBSD 7
-and later.
-
-=item Irix
-
-We now work around a bizarre preprocessor bug in the Irix 6.5 compiler:
-C<cc -E -> unfortunately goes into K&R mode, but C<cc -E file.c> doesn't.
-
-=item Haiku
-
-Patches from the Haiku maintainers have been merged in. Perl should now
-build on Haiku.
-
-=item MachTen
-
-Support for Tenon Intersystems MachTen Unix layer for MacOS Classic was
-removed in Perl 5.11.0
-
-=item MiNT
-
-Support for Atari MiNT was removed in Perl 5.11.0.
-
-=item MirOS BSD
-
-Perl should now build on MirOS BSD.
-
-=item NetBSD
-
-Hints now supports versions 5.*.
-
-=item Stratus VOS
-
-Various changes from Stratus have been merged in.
-
-=item Symbian
-
-There is now support for Symbian S60 3.2 SDK and S60 5.0 SDK.
-
-=item Win32
-
-Improved message window handling means that C<alarm> and C<kill> messages
-will no longer be dropped under race conditions.
-
-=item VMS
-
-Reads from the in-memory temporary files of C<PerlIO::scalar> used to fail
-if C<$/> was set to a numeric reference (to indicate record-style reads).
-This is now fixed.
-
-VMS now supports C<getgrgid>.
-
-Many improvements and cleanups have been made to the VMS file name handling
-and conversion code.
-
-Enabling the C<PERL_VMS_POSIX_EXIT> logical name now encodes a POSIX exit
-status in a VMS condition value for better interaction with GNV's bash
-shell and other utilities that depend on POSIX exit values. See
-L<perlvms/"$?"> for details.
-
-C<File::Copy> now detects Unix compatibility mode on VMS.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-C<-I> on shebang line now adds directories in front of @INC
-as documented, and as does C<-I> when specified on the command-line.
-
-=item *
-
-C<kill> is now fatal when called on non-numeric process identifiers.
-Previously, an 'undef' process identifier would be interpreted as a request to
-kill process "0", which would terminate the current process group on POSIX
-systems. Since process identifiers are always integers, killing a non-numeric
-process is now fatal.
-
-=item *
-
-5.10.0 inadvertently disabled an optimisation, which caused a measurable
-performance drop in list assignment, such as is often used to assign
-function parameters from C<@_>. The optimisation has been re-instated, and
-the performance regression fixed.
-
-=item *
-
-Fixed memory leak on C<while (1) { map 1, 1 }> [RT #53038].
-
-=item *
-
-Some potential coredumps in PerlIO fixed [RT #57322,54828].
-
-=item *
-
-The debugger now works with lvalue subroutines.
-
-=item *
-
-The debugger's C<m> command was broken on modules that defined constants
-[RT #61222].
-
-=item *
-
-C<crypt> and string complement could return tainted values for untainted
-arguments [RT #59998].
-
-=item *
-
-The C<-i>I<.suffix> command-line switch now recreates the file using
-restricted permissions, before changing its mode to match the original
-file. This eliminates a potential race condition [RT #60904].
-
-=item *
-
-On some Unix systems, the value in C<$?> would not have the top bit set
-(C<$? & 128>) even if the child core dumped.
-
-=item *
-
-Under some circumstances, C<$^R> could incorrectly become undefined
-[RT #57042].
-
-=item *
-
-In the XS API, various hash functions, when passed a pre-computed hash where
-the key is UTF-8, might result in an incorrect lookup.
-
-=item *
-
-XS code including F<XSUB.h> before F<perl.h> gave a compile-time error
-[RT #57176].
-
-=item *
-
-C<< $object-E<gt>isa('Foo') >> would report false if the package C<Foo> didn't
-exist, even if the object's C<@ISA> contained C<Foo>.
-
-=item *
-
-Various bugs in the new-to 5.10.0 mro code, triggered by manipulating
-C<@ISA>, have been found and fixed.
-
-=item *
-
-Bitwise operations on references could crash the interpreter, e.g.
-C<$x=\$y; $x |= "foo"> [RT #54956].
-
-=item *
-
-Patterns including alternation might be sensitive to the internal UTF-8
-representation, e.g.
-
- my $byte = chr(192);
- my $utf8 = chr(192); utf8::upgrade($utf8);
- $utf8 =~ /$byte|X}/i; # failed in 5.10.0
-
-=item *
-
-Within UTF8-encoded Perl source files (i.e. where C<use utf8> is in
-effect), double-quoted literal strings could be corrupted where a C<\xNN>,
-C<\0NNN> or C<\N{}> is followed by a literal character with ordinal value
-greater than 255 [RT #59908].
-
-=item *
-
-C<B::Deparse> failed to correctly deparse various constructs:
-C<readpipe STRING> [RT #62428], C<CORE::require(STRING)> [RT #62488],
-C<sub foo(_)> [RT #62484].
-
-=item *
-
-Using C<setpgrp> with no arguments could corrupt the perl stack.
-
-=item *
-
-The block form of C<eval> is now specifically trappable by C<Safe> and
-C<ops>. Previously it was erroneously treated like string C<eval>.
-
-=item *
-
-In 5.10.0, the two characters C<[~> were sometimes parsed as the smart
-match operator (C<~~>) [RT #63854].
-
-=item *
-
-In 5.10.0, the C<*> quantifier in patterns was sometimes treated as
-C<{0,32767}> [RT #60034, #60464]. For example, this match would fail:
-
- ("ab" x 32768) =~ /^(ab)*$/
-
-=item *
-
-C<shmget> was limited to a 32 bit segment size on a 64 bit OS [RT #63924].
-
-=item *
-
-Using C<next> or C<last> to exit a C<given> block no longer produces a
-spurious warning like the following:
-
- Exiting given via last at foo.pl line 123
-
-=item *
-
-On Windows, C<'.\foo'> and C<'..\foo'> were treated differently than
-C<'./foo'> and C<'../foo'> by C<do> and C<require> [RT #63492].
-
-=item *
-
-Assigning a format to a glob could corrupt the format; e.g.:
-
- *bar=*foo{FORMAT}; # foo format now bad
-
-=item *
-
-Attempting to coerce a typeglob to a string or number could cause an
-assertion failure. The correct error message is now generated,
-C<Can't coerce GLOB to I<$type>>.
-
-=item *
-
-Under C<use filetest 'access'>, C<-x> was using the wrong access mode. This
-has been fixed [RT #49003].
-
-=item *
-
-C<length> on a tied scalar that returned a Unicode value would not be
-correct the first time. This has been fixed.
-
-=item *
-
-Using an array C<tie> inside in array C<tie> could SEGV. This has been
-fixed. [RT #51636]
-
-=item *
-
-A race condition inside C<PerlIOStdio_close()> has been identified and
-fixed. This used to cause various threading issues, including SEGVs.
-
-=item *
-
-In C<unpack>, the use of C<()> groups in scalar context was internally
-placing a list on the interpreter's stack, which manifested in various
-ways, including SEGVs. This is now fixed [RT #50256].
-
-=item *
-
-Magic was called twice in C<substr>, C<\&$x>, C<tie $x, $m> and C<chop>.
-These have all been fixed.
-
-=item *
-
-A 5.10.0 optimisation to clear the temporary stack within the implicit
-loop of C<s///ge> has been reverted, as it turned out to be the cause of
-obscure bugs in seemingly unrelated parts of the interpreter [commit
-ef0d4e17921ee3de].
-
-=item *
-
-The line numbers for warnings inside C<elsif> are now correct.
-
-=item *
-
-The C<..> operator now works correctly with ranges whose ends are at or
-close to the values of the smallest and largest integers.
-
-=item *
-
-C<binmode STDIN, ':raw'> could lead to segmentation faults on some platforms.
-This has been fixed [RT #54828].
-
-=item *
-
-An off-by-one error meant that C<index $str, ...> was effectively being
-executed as C<index "$str\0", ...>. This has been fixed [RT #53746].
-
-=item *
-
-Various leaks associated with named captures in regexes have been fixed
-[RT #57024].
-
-=item *
-
-A weak reference to a hash would leak. This was affecting C<DBI>
-[RT #56908].
-
-=item *
-
-Using (?|) in a regex could cause a segfault [RT #59734].
-
-=item *
-
-Use of a UTF-8 C<tr//> within a closure could cause a segfault [RT #61520].
-
-=item *
-
-Calling C<Perl_sv_chop()> or otherwise upgrading an SV could result in an
-unaligned 64-bit access on the SPARC architecture [RT #60574].
-
-=item *
-
-In the 5.10.0 release, C<inc_version_list> would incorrectly list
-C<5.10.*> after C<5.8.*>; this affected the C<@INC> search order
-[RT #67628].
-
-=item *
-
-In 5.10.0, C<pack "a*", $tainted_value> returned a non-tainted value
-[RT #52552].
-
-=item *
-
-In 5.10.0, C<printf> and C<sprintf> could produce the fatal error
-C<panic: utf8_mg_pos_cache_update> when printing UTF-8 strings
-[RT #62666].
-
-=item *
-
-In the 5.10.0 release, a dynamically created C<AUTOLOAD> method might be
-missed (method cache issue) [RT #60220,60232].
-
-=item *
-
-In the 5.10.0 release, a combination of C<use feature> and C<//ee> could
-cause a memory leak [RT #63110].
-
-=item *
-
-C<-C> on the shebang (C<#!>) line is once more permitted if it is also
-specified on the command line. C<-C> on the shebang line used to be a
-silent no-op I<if> it was not also on the command line, so perl 5.10.0
-disallowed it, which broke some scripts. Now perl checks whether it is
-also on the command line and only dies if it is not [RT #67880].
-
-=item *
-
-In 5.10.0, certain types of re-entrant regular expression could crash,
-or cause the following assertion failure [RT #60508]:
-
- Assertion rx->sublen >= (s - rx->subbeg) + i failed
-
-=item *
-
-Previously missing files from Unicode 5.1 Character Database are now included.
-
-=item *
-
-C<TMPDIR> is now honored when opening an anonymous temporary file
-
-=back
-
-=head1 New or Changed Diagnostics
-
-=over 4
-
-=item C<panic: sv_chop %s>
-
-This new fatal error occurs when the C routine C<Perl_sv_chop()> was
-passed a position that is not within the scalar's string buffer. This
-could be caused by buggy XS code, and at this point recovery is not
-possible.
-
-=item C<Can't locate package %s for the parents of %s>
-
-This warning has been removed. In general, it only got produced in
-conjunction with other warnings, and removing it allowed an ISA lookup
-optimisation to be added.
-
-=item C<v-string in use/require is non-portable>
-
-This warning has been removed.
-
-=item C<Deep recursion on subroutine "%s">
-
-It is now possible to change the depth threshold for this warning from the
-default of 100, by recompiling the F<perl> binary, setting the C
-pre-processor macro C<PERL_SUB_DEPTH_WARN> to the desired value.
-
-=back
-
-=head1 Changed Internals
-
-=over 4
-
-=item *
-
-TODO: C<SVt_RV> is gone. RVs are now stored in IVs
-
-=item *
-
-TODO: REGEXPs are first class
-
-=item *
-
-TODO: OOK is reworked, such that an OOKed scalar is PV not PVIV
-
-=item *
-
-The J.R.R. Tolkien quotes at the head of C source file have been checked and
-proper citations added, thanks to a patch from Tom Christiansen.
-
-=item *
-
-C<Perl_vcroak()> now accepts a null first argument. In addition, a full audit
-was made of the "not NULL" compiler annotations, and those for several
-other internal functions were corrected.
-
-=item *
-
-New macros C<dSAVEDERRNO>, C<dSAVE_ERRNO>, C<SAVE_ERRNO>, C<RESTORE_ERRNO>
-have been added to formalise the temporary saving of the C<errno>
-variable.
-
-=item *
-
-The function C<Perl_sv_insert_flags> has been added to augment
-C<Perl_sv_insert>.
-
-=item *
-
-The function C<Perl_newSV_type(type)> has been added, equivalent to
-C<Perl_newSV()> followed by C<Perl_sv_upgrade(type)>.
-
-=item *
-
-The function C<Perl_newSVpvn_flags()> has been added, equivalent to
-C<Perl_newSVpvn()> and then performing the action relevant to the flag.
-
-Two flag bits are currently supported.
-
-=over 4
-
-=item C<SVf_UTF8>
-
-This will call C<SvUTF8_on()> for you. (Note that this does not convert an
-sequence of ISO 8859-1 characters to UTF-8). A wrapper, C<newSVpvn_utf8()>
-is available for this.
-
-=item C<SVs_TEMP>
-
-Call C<Perl_sv_2mortal()> on the new SV.
-
-=back
-
-There is also a wrapper that takes constant strings, C<newSVpvs_flags()>.
-
-=item *
-
-The function C<Perl_croak_xs_usage> has been added as a wrapper to
-C<Perl_croak>.
-
-=item *
-
-The functions C<PerlIO_find_layer> and C<PerlIO_list_alloc> are now
-exported.
-
-=item *
-
-C<PL_na> has been exterminated from the core code, replaced by local STRLEN
-temporaries, or C<*_nolen()> calls. Either approach is faster than C<PL_na>,
-which is a pointer deference into the interpreter structure under ithreads,
-and a global variable otherwise.
-
-=item *
-
-C<Perl_mg_free()> used to leave freed memory accessible via C<SvMAGIC()> on
-the scalar. It now updates the linked list to remove each piece of magic
-as it is freed.
-
-=item *
-
-Under ithreads, the regex in C<PL_reg_curpm> is now reference counted. This
-eliminates a lot of hackish workarounds to cope with it not being reference
-counted.
-
-=item *
-
-C<Perl_mg_magical()> would sometimes incorrectly turn on C<SvRMAGICAL()>.
-This has been fixed.
-
-=item *
-
-The I<public> IV and NV flags are now not set if the string value has
-trailing "garbage". This behaviour is consistent with not setting the
-public IV or NV flags if the value is out of range for the type.
-
-=item *
-
-SV allocation tracing has been added to the diagnostics enabled by C<-Dm>.
-The tracing can alternatively output via the C<PERL_MEM_LOG> mechanism, if
-that was enabled when the F<perl> binary was compiled.
-
-=item *
-
-Smartmatch resolution tracing has been added as a new diagnostic. Use C<-DM> to
-enable it.
-
-
-=item *
-
-A new debugging flag C<-DB> now dumps subroutine definitions, leaving
-C<-Dx> for its original purpose of dumping syntax trees.
-
-=item *
-
-Uses of C<Nullav>, C<Nullcv>, C<Nullhv>, C<Nullop>, C<Nullsv> etc have been
-replaced by C<NULL> in the core code, and non-dual-life modules, as C<NULL>
-is clearer to those unfamiliar with the core code.
-
-=item *
-
-A macro C<MUTABLE_PTR(p)> has been added, which on (non-pedantic) gcc will
-not cast away C<const>, returning a C<void *>. Macros C<MUTABLE_SV(av)>,
-C<MUTABLE_SV(cv)> etc build on this, casting to C<AV *> etc without
-casting away C<const>. This allows proper compile-time auditing of
-C<const> correctness in the core, and helped picked up some errors (now
-fixed).
-
-=item *
-
-Macros C<mPUSHs()> and C<mXPUSHs()> have been added, for pushing SVs on the
-stack and mortalizing them.
-
-=item *
-
-Use of the private structure C<mro_meta> has changed slightly. Nothing
-outside the core should be accessing this directly anyway.
-
-=item *
-
-A new tool, F<Porting/expand-macro.pl> has been added, that allows you
-to view how a C preprocessor macro would be expanded when compiled.
-This is handy when trying to decode the macro hell that is the perl
-guts.
-
-=back
-
-=head1 New Tests
-
-Many modules updated from CPAN incorporate new tests.
-
-Several tests that have the potential to hang forever if they fail now
-incorporate a "watchdog" functionality that will kill them after a timeout,
-which helps ensure that C<make test> and C<make test_harness> run to
-completion automatically. (Jerry Hedden).
-
-Some core-specific tests have been added:
-
-=over 4
-
-=item t/comp/retainedlines.t
-
-Check that the debugger can retain source lines from C<eval>.
-
-=item t/io/perlio_fail.t
-
-Check that bad layers fail.
-
-=item t/io/perlio_leaks.t
-
-Check that PerlIO layers are not leaking.
-
-=item t/io/perlio_open.t
-
-Check that certain special forms of open work.
-
-=item t/io/perlio.t
-
-General PerlIO tests.
-
-=item t/io/pvbm.t
-
-Check that there is no unexpected interaction between the internal types
-C<PVBM> and C<PVGV>.
-
-=item t/mro/package_aliases.t
-
-Check that mro works properly in the presence of aliased packages.
-
-=item t/op/dbm.t
-
-Tests for C<dbmopen> and C<dbmclose>.
-
-=item t/op/index_thr.t
-
-Tests for the interaction of C<index> and threads.
-
-=item t/op/pat_thr.t
-
-Tests for the interaction of esoteric patterns and threads.
-
-=item t/op/qr_gc.t
-
-Test that C<qr> doesn't leak.
-
-=item t/op/reg_email_thr.t
-
-Tests for the interaction of regex recursion and threads.
-
-=item t/op/regexp_qr_embed_thr.t
-
-Tests for the interaction of patterns with embedded C<qr//> and threads.
-
-=item t/op/regexp_unicode_prop.t
-
-Tests for Unicode properties in regular expressions.
-
-=item t/op/regexp_unicode_prop_thr.t
-
-Tests for the interaction of Unicode properties and threads.
-
-=item t/op/reg_nc_tie.t
-
-Test the tied methods of C<Tie::Hash::NamedCapture>.
-
-=item t/op/reg_posixcc.t
-
-Check that POSIX character classes behave consistently.
-
-=item t/op/re.t
-
-Check that exportable C<re> functions in F<universal.c> work.
-
-=item t/op/setpgrpstack.t
-
-Check that C<setpgrp> works.
-
-=item t/op/substr_thr.t
-
-Tests for the interaction of C<substr> and threads.
-
-=item t/op/upgrade.t
-
-Check that upgrading and assigning scalars works.
-
-=item t/uni/lex_utf8.t
-
-Check that Unicode in the lexer works.
-
-=item t/uni/tie.t
-
-Check that Unicode and C<tie> work.
-
-=back
-
-=head1 Known Problems
-
-This is a list of some significant unfixed bugs, which are regressions
-from either 5.10.0 or 5.8.x.
-
-=over 4
-
-=item *
-
-C<List::Util::first> misbehaves in the presence of a lexical C<$_>
-(typically introduced by C<my $_> or implicitly by C<given>). The variable
-which gets set for each iteration is the package variable C<$_>, not the
-lexical C<$_> [RT #67694].
-
-A similar issue may occur in other modules that provide functions which
-take a block as their first argument, like
-
- foo { ... $_ ...} list
-
-=item *
-
-The C<charnames> pragma may generate a run-time error when a regex is
-interpolated [RT #56444]:
-
- use charnames ':full';
- my $r1 = qr/\N{THAI CHARACTER SARA I}/;
- "foo" =~ $r1; # okay
- "foo" =~ /$r1+/; # runtime error
-
-A workaround is to generate the character outside of the regex:
-
- my $a = "\N{THAI CHARACTER SARA I}";
- my $r1 = qr/$a/;
-
-=item *
-
-Some regexes may run much more slowly when run in a child thread compared
-with the thread the pattern was compiled into [RT #55600].
-
-=back
-
-=head1 Deprecations
-
-The following items are now deprecated.
-
-=over 4
-
-=item *
-
-C<Switch> is buggy and should be avoided. From perl 5.11.0 onwards, it is
-intended that any use of the core version of this module will emit a
-warning, and that the module will eventually be removed from the core
-(probably in perl 5.14.0). See L<perlsyn/"Switch statements"> for its
-replacement.
-
-=item *
-
-The following modules will be removed from the core distribution in a future
-release, and should be installed from CPAN instead. Distributions on CPAN
-which require these should add them to their prerequisites. The core versions
-of these modules warnings will issue a deprecation warning.
-
-=over
-
-=item *
-
-C<Class::ISA>
-
-=item *
-
-C<Pod::Plainer>
-
-=item *
-
-C<Shell>
-
-=back
-
-Currently support to install from CPAN without a I<force> is C<TODO> in CPAN
-and CPANPLUS. This will be addressed before 5.12.0 ships.
-
-=item *
-
-C<suidperl> has been removed. It used to provide a mechanism to
-emulate setuid permission bits on systems that don't support it properly.
-
-=item *
-
-Deprecate assignment to $[
-
-=item *
-
-Remove attrs, which has been deprecated since 1999/10/02.
-
-=item *
-
-Deprecate use of the attribute :locked on subroutines.
-
-=item *
-
-Deprecate using "locked" with the attributes pragma.
-
-=item *
-
-Deprecate using "unique" with the attributes pragma.
-
-=item *
-
-warn if ++ or -- are unable to change the value because it's beyond the limit of representation
-
-This uses a new warnings category: "imprecision".
-
-=item *
-
-Make lc/uc/lcfirst/ucfirst warn when passed undef.
-
-=item *
-
-Show constant in "Useless use of a constant in void context"
-
-=item *
-
-Make the new warning report undef constants as undef
-
-=item *
-
-Add a new warning, "Prototype after '%s'"
-
-=item *
-
-Tweak the "Illegal character in prototype" warning so it's more precise when reporting illegal characters after _
-
-=item *
-
-Unintended interpolation of $\ in regex
-
-=item *
-
-Make overflow warnings in gmtime/localtime only occur when warnings are on
-
-=item *
-
-Improve mro merging error messages.
-
-They are now very similar to those produced by Algorithm::C3.
-
-=item *
-
-Amelioration of the error message "Unrecognized character %s in column %d"
-
-Changes the error message to "Unrecognized character %s; marked by E<lt>--
-HERE after %sE<lt>-- HERE near column %d". This should make it a little
-simpler to spot and correct the suspicious character.
-
-=item *
-
-Explicitly point to $. when it causes an uninitialized warning for ranges in scalar context
-
-
-=item *
-
-Deprecated numerous Perl 4-era libraries:
-
-F<termcap.pl>, F<tainted.pl>, F<stat.pl>, F<shellwords.pl>, F<pwd.pl>,
-F<open3.pl>, F<open2.pl>, F<newgetopt.pl>, F<look.pl>, F<find.pl>,
-F<finddepth.pl>, F<importenv.pl>, F<hostname.pl>, F<getopts.pl>,
-F<getopt.pl>, F<getcwd.pl>, F<flush.pl>, F<fastcwd.pl>, F<exceptions.pl>,
-F<ctime.pl>, F<complete.pl>, F<cacheout.pl>, F<bigrat.pl>, F<bigint.pl>,
-F<bigfloat.pl>, F<assert.pl>, F<abbrev.pl>, F<dotsh.pl>, and
-F<timelocal.pl> are all now deprecated. Using them will incur a warning.
-
-=back
-
-=head1 Acknowledgements
-
-Some of the work in this release was funded by a TPF grant funded by
-Dijkmat BV, The Netherlands.
-
-Steffen Mueller and David Golden in particular helped getting CPAN modules
-polished and synchronised with their in-core equivalents.
-
-Craig Berry was tireless in getting maint to run under VMS, no matter how
-many times we broke it for him.
-
-The other core committers contributed most of the changes, and applied most
-of the patches sent in by the hundreds of contributors listed in F<AUTHORS>.
-
-Much of the work of categorizing changes in this perldelta file was contributed
-by the following porters using changelogger.bestpractical.com:
-
-Nicholas Clark, leon, shawn, alexm, rjbs, rafl, Pedro Melo, brunorc,
-anonymous, ☄, Tom Hukins, anonymous, Jesse, dagolden, Moritz Onken,
-Mark Fowler, chorny, anonymous, tmtm
-
-Finally, thanks to Larry Wall, without whom none of this would be
-necessary.
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://rt.perl.org/perlbug/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please send
-it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
-to help assess the impact of issues, figure out a resolution, and help
-co-ordinate the release of patches to mitigate or fix the problem across all
-platforms on which Perl is supported. Please only use this address for
-security issues in the Perl core, not for modules independently
-distributed on CPAN.
-
-=head1 SEE ALSO
-
-The F<Changes> file for an explanation of how to view exhaustive details
-on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
-
-
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5111delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5111delta.pod
deleted file mode 100644
index 4717374803d..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl5111delta.pod
+++ /dev/null
@@ -1,365 +0,0 @@
-=head1 NAME
-
-perl5111delta - what is new for perl v5.11.1
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.11.0 release and
-the 5.11.1 release.
-
-=head1 Incompatible Changes
-
-=over
-
-=item *
-
-The boolkeys op moved to the group of hash ops. This breaks binary compatibility.
-
-=item *
-
-C<\s> C<\w> and C<\d> once again have the semantics they had in Perl 5.8.x.
-
-
-=back
-
-=head1 Core Enhancements
-
-=head2 Add C<package NAME VERSION> syntax
-
-This new syntax allows a module author to set the $VERSION of a namespace
-when the namespace is declared with 'package'. It eliminates the need
-for C<our $VERSION = ...> and similar constructs. E.g.
-
- package Foo::Bar 1.23;
- # $Foo::Bar::VERSION == 1.23
-
-There are several advantages to this:
-
-=over
-
-=item *
-
-C<$VERSION> is parsed in I<exactly> the same way as C<use NAME VERSION>
-
-=item *
-
-C<$VERSION> is set at compile time
-
-=item *
-
-Eliminates C<$VERSION = ...> and C<eval $VERSION> clutter
-
-=item *
-
-As it requires VERSION to be a numeric literal or v-string
-literal, it can be statically parsed by toolchain modules
-without C<eval> the way MM-E<gt>parse_version does for C<$VERSION = ...>
-
-=item *
-
-Alpha versions with underscores do not need to be quoted; static
-parsing will preserve the underscore, but during compilation, Perl
-will remove underscores as it does for all numeric literals
-
-It does not break old code with only C<package NAME>, but code that uses
-C<package NAME VERSION> will need to be restricted to perl 5.11.X or newer
-This is analogous to the change to C<open> from two-args to three-args.
-Users requiring the latest Perl will benefit, and perhaps N years from
-now it will become standard practice when Perl 5.12 is targeted the way
-that 5.6 is today.
-
-=back
-
-=head1 Modules and Pragmata
-
-=head2 Updated Modules
-
-=over 4
-
-=item *
-
-Upgrade to Test-Simple 0.94
-
-=item *
-
-Upgrade to Storable 2.21
-
-=item *
-
-Upgrade to Pod-Simple 3.08
-
-=item *
-
-Upgrade to Parse-CPAN-Meta 1.40
-
-=item *
-
-Upgrade to ExtUtils-Manifest 1.57
-
-=item *
-
-Upgrade to ExtUtils-CBuilder 0.260301
-
-=item *
-
-Upgrade to CGI.pm-3.48
-
-=item *
-
-Upgrade CPANPLUS to CPAN version 0.89_02
-
-=item *
-
-Upgrade to threads::shared 1.32
-
-=item *
-
-Upgrade ExtUtils::ParseXS to 2.21
-
-=item *
-
-Upgrade File::Path to 2.08 (and add taint.t test)
-
-=item *
-
-Upgrade Module::CoreList to 2.20
-
-=item *
-
-Updated Object::Accessor to0.36
-
-=back
-
-=head1 New Documentation
-
-=over 4
-
-=item *
-
-L<perlpolicy> extends the "Social contract about contributed modules" into
-the beginnings of a document on Perl porting policies.
-
-=back
-
-=head1 Changes to Existing Documentation
-
-=over
-
-=item Documentation for C<$1> in perlvar.pod clarified
-
-=back
-
-=head1 Performance Enhancements
-
-=over 4
-
-=item C<if (%foo)> has been optimized to be faster than C<if (keys %foo)>
-
-=back
-
-=head1 Platform Specific Notes
-
-=over 4
-
-=item Darwin (Mac OS X)
-
-=over 4
-
-=item *
-
-Skip testing the be_BY.CP1131 locale on Darwin 10 (Mac OS X 10.6),
-as it's still buggy.
-
-=item *
-
-Correct infelicities in the regexp used to identify buggy locales
-on Darwin 8 and 9 (Mac OS X 10.4 and 10.5, respectively).
-
-=back
-
-=item DragonFly BSD
-
-=over 4
-
-=item *
-
-Fix thread library selection [perl #69686]
-
-=back
-
-=item Win32
-
-=over 4
-
-=item *
-
-Initial support for mingw64 is now available
-
-=item *
-
-Various bits of Perl's build infrastructure are no longer converted to win32 line endings at release time. If this hurts you, please speak up.
-
-=back
-
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-Perl now properly returns a syntax error instead of segfaulting
-if C<each>, C<keys> or C<values> is used without an argument
-
-=item *
-
-C<tell()> now fails properly if called without an argument and when no previous file was read
-
-C<tell()> now returns C<-1>, and sets errno to C<EBADF>, thus restoring the 5.8.x behaviour
-
-=item *
-
-overload no longer implicitly unsets fallback on repeated 'use overload' lines
-
-=item *
-
-POSIX::strftime() can now handle Unicode characters in the format string.
-
-=item *
-
-The Windows select() implementation now supports all empty C<fd_set>s more correctly.
-
-=back
-
-=head1 New or Changed Diagnostics
-
-=over 4
-
-
-=item *
-
-The 'syntax' category was removed from 5 warnings that should only be in 'deprecated'.
-
-=item *
-
-Three fatal pack/unpack error messages have been normalized to "panic: %s"
-
-=item *
-
-"Unicode character is illegal" has been rephrased to be more accurate
-
-It now reads C<Unicode non-character is illegal in interchange> and the
-perldiag documentation has been expanded a bit.
-
-=item *
-
-Perl now defaults to issuing a warning if a deprecated language feature is used.
-
-To disable this feature in a given lexical scope, you should use C<no
-warnings 'deprecated';> For information about which language features
-are deprecated and explanations of various deprecation warnings, please
-see L<perldiag>
-
-=back
-
-=head1 Testing
-
-=over 4
-
-=item *
-
-Significant cleanups to core tests to ensure that language and
-interpreter features are not used before they're tested.
-
-=item *
-
-C<make test_porting> now runs a number of important pre-commit checks which might be of use to anyone working on the Perl core.
-
-=item *
-
-F<t/porting/podcheck.t> automatically checks the well-formedness of
-POD found in all .pl, .pm and .pod files in the F<MANIFEST>, other than in
-dual-lifed modules which are primarily maintained outside the Perl core.
-
-=item *
-
-F<t/porting/manifest.t> now tests that all files listed in MANIFEST are present.
-
-=back
-
-=head1 Known Problems
-
-=over 4
-
-=item Untriaged test crashes on Windows 2000
-
-Several porters have reported mysterious crashes when Perl's entire test suite is run after a build on certain Windows 2000 systems. When run by hand, the individual tests reportedly work fine.
-
-=item Known test failures on VMS
-
-Perl 5.11.1 fails a small set of core and CPAN tests as of this release.
-With luck, that'll be sorted out for 5.11.2
-
-=back
-
-=head1 Errata for 5.11.0
-
-=over
-
-=item The Perl 5.11.0 release notes incorrectly described 'delete local'
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.11.1 represents approximately 3 weeks development since Perl 5.11.0
-contains 22,000 lines of changes across 396 files from 26 authors and committers:
-
-Abigail, Alex Vandiver, brian d foy, Chris Williams, Craig A. Berry,
-David Fifield, David Golden, demerphq, Eric Brine, Geoffrey T. Dairiki,
-George Greer, H.Merijn Brand, Jan Dubois, Jerry D. Hedden, Jesse Vincent,
-Josh ben Jore, Max Maischein, Nicholas Clark, Rafael Garcia-Suarez,
-Simon Schubert, Sisyphus, Smylers, Steve Hay, Steve Peters, Vincent Pit
-and Yves Orton.
-
-Many of the changes included in this version originated in the CPAN
-modules included in Perl's core. We're grateful to the entire CPAN
-community for helping Perl to flourish.
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://rt.perl.org/perlbug/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please send
-it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
-to help assess the impact of issues, figure out a resolution, and help
-co-ordinate the release of patches to mitigate or fix the problem across all
-platforms on which Perl is supported. Please only use this address for
-security issues in the Perl core, not for modules independently
-distributed on CPAN.
-
-=head1 SEE ALSO
-
-The F<Changes> file for an explanation of how to view exhaustive details
-on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5112delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5112delta.pod
deleted file mode 100644
index c53a622c4cc..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl5112delta.pod
+++ /dev/null
@@ -1,348 +0,0 @@
-=head1 NAME
-
-perl5112delta - what is new for perl v5.11.2
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.11.1 release and the
-5.11.2 release.
-
-=head1 Core Enhancements
-
-=head2 qr overloading
-
-It is now possible to overload the C<qr//> operator, that is,
-conversion to regexp, like it was already possible to overload
-conversion to boolean, string or number of objects. It is invoked when
-an object appears on the right hand side of the C<=~> operator, or when
-it is interpolated into a regexp. See L<overload>.
-
-=head2 Pluggable keywords
-
-Extension modules can now cleanly hook into the Perl parser to define
-new kinds of keyword-headed expression and compound statement. The
-syntax following the keyword is defined entirely by the extension. This
-allow a completely non-Perl sublanguage to be parsed inline, with the
-right ops cleanly generated. This feature is currently considered
-experimental.
-
-See L<perlapi/PL_keyword_plugin> for the mechanism. The Perl core
-source distribution also includes a new module
-L<XS::APItest::KeywordRPN>, which implements reverse Polish notation
-arithmetic via pluggable keywords. This module is mainly used for test
-purposes, and is not normally installed, but also serves as an example
-of how to use the new mechanism.
-
-=head2 APIs for more internals
-
-The lowest layers of the lexer and parts of the pad system now have C
-APIs available to XS extensions. These are necessary to support proper
-use of pluggable keywords, but have other uses too. The new APIs are
-experimental, and only cover a small proportion of what would be
-necessary to take full advantage of the core's facilities in these
-areas. It is intended that the Perl 5.13 development cycle will see the
-addition of a full range of clean, supported interfaces.
-
-=head2 Overridable function lookup
-
-Where an extension module hooks the creation of rv2cv ops to modify the
-subroutine lookup process, this now works correctly for bareword
-subroutine calls. This means that prototypes on subroutines referenced
-this way will be processed correctly. (Previously bareword subroutine
-names were initially looked up, for parsing purposes, by an unhookable
-mechanism, so extensions could only properly influence subroutine names
-that appeared with an C<&> sigil.)
-
-=head1 Modules and Pragmata
-
-=head2 New Modules and Pragmata
-
-=over 4
-
-=item C<legacy>
-
-Preserves legacy behaviors or enable new non-default behaviors.
-Currently the only behaviour concerns semantics for the 128 characters
-on ASCII systems that have the 8th bit set.
-
-=back
-
-=head2 Pragmata Changes
-
-=over 4
-
-=item C<diagnostics>
-
-Supports %.0f formatting internally.
-
-=item C<overload>
-
-Allow overloading of 'qr'.
-
-=back
-
-=head2 Updated Modules
-
-=over 4
-
-=item C<B::Concise>
-
-Optimize reversing an array in-place, avoid using defined %hash in core
-code and tests.
-
-=item C<B::Deparse>
-
-Teach B::Deparse about in-place reverse.
-
-=item C<Carp>
-
-Refine Carp caller() fix and add tests.
-
-=item C<Compress::Zlib>
-
-Updated to 2.022.
-
-=item C<CPANPLUS>
-
-Updated to 0.89_09.
-
-=item C<Encode>
-
-Updated to 2.38.
-
-=item C<ExtUtils::CBuilder>
-
-Updated to 0.27.
-
-=item C<Env>
-
-Add EXISTS and DELETE methods to Env.pm.
-
-=item C<File::Fetch>
-
-Updated to 0.22.
-
-=item C<I8N::Langinfo>
-
-Correctly document export of I18N::Langinfo.
-
-=item C<I8N::LangTags>
-
-In I18N::LangTags::Detect, avoid using defined @array and defined
-%hash.
-
-=item C<IO::Compress>
-
-Updated to 2.022.
-
-=item C<IPC::Cmd>
-
-Updated to 0.54.
-
-=item C<List::Util>
-
-Updated to 1.22.
-
-=item C<Locale::Maketext>
-
-In Locale::Maketext, avoid using defined @array and defined %hash.
-Convert the odd Locale::Maketext test out from Test to Test::More.
-
-=item C<Module::Build>
-
-Updated to 0.35_08.
-
-=item C<Module::CoreList>
-
-Implemented is_deprecated().
-
-=item C<Pod::Simple>
-
-Updated to 3.10.
-
-=item C<Scalar::Util>
-
-Updated to 1.22.
-
-=item C<Switch>
-
-Updated to 2.16.
-
-=back
-
-=head1 Utility Changes
-
-=over 4
-
-=item F<a2p>
-
-Fixed bugs with the match() operator in list context, remove mention of
-$[.
-
-=back
-
-=head1 Performance Enhancements
-
-=over 4
-
-=item *
-
-Reversing an array to itself (as in C<@a = reverse @a>) in void context
-now happens in-place and is several orders of magnitude faster than it
-used to be. It will also preserve non-existent elements whenever
-possible, i.e. for non magical arrays or tied arrays with C<EXISTS> and
-C<DELETE> methods.
-
-=back
-
-=head1 New or Changed Diagnostics
-
-Several new diagnostics, see L<perldiag> for details.
-
-=over 4
-
-=item C<Bad plugin affecting keyword '%s'>
-
-=item C<gmtime(%.0f) too large>
-
-=item C<Lexing code attempted to stuff non-Latin-1 character into Latin-1 input>
-
-=item C<Lexing code internal error (%s)>
-
-=item C<localtime(%.0f) too large>
-
-=item C<Overloaded dereference did not return a reference>
-
-=item C<Overloaded qr did not return a REGEXP>
-
-=item C<Perl_pmflag() is deprecated, and will be removed from the XS API>
-
-=back
-
-One diagnostic has been removed:
-
-=over 4
-
-=item C<Runaway format>
-
-=back
-
-=head1 Changed Internals
-
-=over 4
-
-=item *
-
-C<Perl_pmflag> has been removed from the public API. Calling it now
-generates a deprecation warning, and it will be removed in a future
-release. Although listed as part of the API, it was never documented,
-and only ever used in F<toke.c>, and prior to 5.10, F<regcomp.c>. In
-core, it has been replaced by a static function.
-
-=back
-
-=head1 New Tests
-
-=over 4
-
-=item F<t/op/while_readdir.t>
-
-Test that a bare readdir in while loop sets $_.
-
-=back
-
-=head1 Known Problems
-
-=over 4
-
-=item Known test failures on VMS
-
-Perl 5.11.2 fails a small set of core and CPAN tests as of this
-release. With luck, that'll be sorted out for 5.11.3.
-
-=back
-
-=head1 Deprecations
-
-The following items are now deprecated.
-
-=head2 Use of C<:=> to mean an empty attribute list is now deprecated.
-
-An accident of Perl's parser meant that these constructions were all
-equivalent:
-
- my $pi := 4;
- my $pi : = 4;
- my $pi : = 4;
-
-with the C<:> being treated as the start of an attribute list, which
-ends before the C<=>. As whitespace is not significant here, all are
-parsed as an empty attribute list, hence all the above are equivalent
-to, and better written as
-
- my $pi = 4;
-
-because no attribute processing is done for an empty list.
-
-As is, this meant that C<:=> cannot be used as a new token, without
-silently changing the meaning of existing code. Hence that particular
-form is now deprecated, and will become a syntax error. If it is
-absolutely necessary to have empty attribute lists (for example,
-because of a code generator) then avoid the warning by adding a space
-before the C<=>.
-
-=head1 Acknowledgements
-
-Perl 5.11.2 represents approximately 3 weeks development since Perl
-5.11.1 and contains 29,992 lines of changes across 458 files from 38
-authors and committers:
-
-Abhijit Menon-Sen, Abigail, Ben Morrow, Bo Borgerson, Brad Gilbert,
-Bram, Chris Williams, Craig A. Berry, Daniel Frederick Crisman, Dave
-Rolsky, David E. Wheeler, David Golden, Eric Brine, Father
-Chrysostomos, Frank Wiegand, Gerard Goossen, Gisle Aas, Graham Barr,
-Harmen, H.Merijn Brand, Jan Dubois, Jerry D. Hedden, Jesse Vincent,
-Karl Williamson, Kevin Ryde, Leon Brocard, Nicholas Clark, Paul
-Marquess, Philippe Bruhat, Rafael Garcia-Suarez, Sisyphus, Steffen
-Mueller, Steve Hay, Steve Peters, Vincent Pit, Yuval Kogman, Yves
-Orton, and Zefram.
-
-Many of the changes included in this version originated in the CPAN
-modules included in Perl's core. We're grateful to the entire CPAN
-community for helping Perl to flourish.
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl bug
-database at http://rt.perl.org/perlbug/ . There may also be information
-at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down to a
-tiny but sufficient test case. Your bug report, along with the output
-of C<perl -V>, will be sent off to perlbug@perl.org to be analysed by
-the Perl porting team.
-
-If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please
-send it to perl5-security-report@perl.org. This points to a closed
-subscription unarchived mailing list, which includes all the core
-committers, who be able to help assess the impact of issues, figure out
-a resolution, and help co-ordinate the release of patches to mitigate
-or fix the problem across all platforms on which Perl is supported.
-Please only use this address for security issues in the Perl core, not
-for modules independently distributed on CPAN.
-
-=head1 SEE ALSO
-
-The F<Changes> file for an explanation of how to view exhaustive
-details on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5113delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5113delta.pod
deleted file mode 100644
index 5c4e1966027..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl5113delta.pod
+++ /dev/null
@@ -1,558 +0,0 @@
-=head1 NAME
-
-perl5113delta - what is new for perl v5.11.3
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.11.2 release and
-the 5.11.3 release.
-
-If you are upgrading from an earlier release such as 5.11.1, first read
-the L<perl5112delta>, which describes differences between 5.11.1 and
-5.11.2
-
-=head1 Incompatible Changes
-
-=head2 Filehandles are blessed directly into C<IO::Handle>, as C<FileHandle> is merely a wrapper around C<IO::Handle>.
-
-The previous behaviour was to bless Filehandles into L<FileHandle>
-(an empty proxy class) if it was loaded into memory and otherwise
-to bless them into C<IO::Handle>.
-
-=head1 Core Enhancements
-
-=head2 Unicode version
-
-Perl is shipped with the latest Unicode version, 5.2, dated October 2009. See
-L<http://www.unicode.org/versions/Unicode5.2.0> for details about this release
-of Unicode. See L<perlunicode> for instructions on installing and using
-older versions of Unicode.
-
-=head2 Unicode properties
-
-Perl can now handle every Unicode character property. A new pod,
-L<perluniprops>, lists all available non-Unihan character properties. By
-default the Unihan properties and certain others (deprecated and Unicode
-internal-only ones) are not exposed. See below for more details on
-these; there is also a section in the pod listing them, and why they are
-not exposed.
-
-Perl now fully supports the Unicode compound-style of using C<=> and C<:>
-in writing regular expressions: C<\p{property=value}> and
-C<\p{property:value}> (both of which mean the same thing).
-
-Perl now fully supports the Unicode loose matching rules for text
-between the braces in C<\p{...}> constructs. In addition, Perl also allows
-underscores between digits of numbers.
-
-All the Unicode-defined synonyms for properties and property values are
-now accepted.
-
-C<qr/\X/>, which matches a Unicode logical character, has been expanded to work
-better with various Asian languages. It now is defined as an C<extended
-grapheme cluster>. (See L<http://www.unicode.org/reports/tr29/>).
-Anything matched previously that made sense will continue to be matched. But
-in addition:
-
-=over
-
-=item *
-
-C<\X> will now not break apart a C<S<CR LF>> sequence.
-
-=item *
-
-C<\X> will now match a sequence including the C<ZWJ> and C<ZWNJ> characters.
-
-=item *
-
-C<\X> will now always match at least one character, including an initial mark.
-Marks generally come after a base character, but it is possible in Unicode to
-have them in isolation, and C<\X> will now handle that case, for example at the
-beginning of a line or after a C<ZWSP>. And this is the part where C<\X>
-doesn't match the things that it used to that don't make sense. Formerly, for
-example, you could have the nonsensical case of an accented LF.
-
-=item *
-
-C<\X> will now match a (Korean) Hangul syllable sequence, and the Thai and Lao
-exception cases.
-
-=back
-
-Otherwise, this change should be transparent for the non-affected languages.
-
-C<\p{...}> matches using the Canonical_Combining_Class property were
-completely broken in previous Perls. This is now fixed.
-
-In previous Perls, the Unicode C<Decomposition_Type=Compat> property and a
-Perl extension had the same name, which led to neither matching all the
-correct values (with more than 100 mistakes in one, and several thousand
-in the other). The Perl extension has now been renamed to be
-C<Decomposition_Type=Noncanonical> (short: C<dt=noncanon>). It has the same
-meaning as was previously intended, namely the union of all the
-non-canonical Decomposition types, with Unicode C<Compat> being just one of
-those.
-
-C<\p{Uppercase}> and C<\p{Lowercase}> have been brought into line with the
-Unicode definitions. This means they each match a few more characters
-than previously.
-
-C<\p{Cntrl}> now matches the same characters as C<\p{Control}>. This means it
-no longer will match Private Use (gc=co), Surrogates (gc=cs), nor Format
-(gc=cf) code points. The Format code points represent the biggest
-possible problem. All but 36 of them are either officially deprecated
-or strongly discouraged from being used. Of those 36, likely the most
-widely used are the soft hyphen (U+00AD), and BOM, ZWSP, ZWNJ, WJ, and
-similar, plus Bi-directional controls.
-
-C<\p{Alpha}> now matches the same characters as C<\p{Alphabetic}>. The Perl
-definition included a number of things that aren't really alpha (all
-marks), while omitting many that were. As a direct consequence, the
-definitions of C<\p{Alnum}> and C<\p{Word}> which depend on Alpha also change.
-
-C<\p{Word}> also now doesn't match certain characters it wasn't supposed
-to, such as fractions.
-
-C<\p{Print}> no longer matches the line control characters: Tab, LF, CR,
-FF, VT, and NEL. This brings it in line with the documentation.
-
-C<\p{Decomposition_Type=Canonical}> now includes the Hangul syllables.
-
-The Numeric type property has been extended to include the Unihan
-characters.
-
-There is a new Perl extension, the 'Present_In', or simply 'In',
-property. This is an extension of the Unicode Age property, but
-C<\p{In=5.0}> matches any code point whose usage has been determined
-I<as of> Unicode version 5.0. The C<\p{Age=5.0}> only matches code points
-added in I<precisely> version 5.0.
-
-A number of properties did not have the correct values for unassigned
-code points. This is now fixed. The affected properties are
-Bidi_Class, East_Asian_Width, Joining_Type, Decomposition_Type,
-Hangul_Syllable_Type, Numeric_Type, and Line_Break.
-
-The Default_Ignorable_Code_Point, ID_Continue, and ID_Start properties
-have been updated to their current Unicode definitions.
-
-Certain properties that are supposed to be Unicode internal-only were
-erroneously exposed by previous Perls. Use of these in regular
-expressions will now generate, if enabled, a deprecated warning message.
-The properties are: Other_Alphabetic, Other_Default_Ignorable_Code_Point,
-Other_Grapheme_Extend, Other_ID_Continue, Other_ID_Start, Other_Lowercase,
-Other_Math, and Other_Uppercase.
-
-An installation can now fairly easily change which Unicode properties
-Perl understands. As mentioned above, certain properties are by default
-turned off. These include all the Unihan properties (which should be
-accessible via the CPAN module Unicode::Unihan) and any deprecated or
-Unicode internal-only property that Perl has never exposed.
-
-The generated files in the C<lib/unicore/To> directory are now more
-clearly marked as being stable, directly usable by applications.
-New hash entries in them give the format of the normal entries,
-which allows for easier machine parsing. Perl can generate files
-in this directory for any property, though most are suppressed. An
-installation can choose to change which get written. Instructions
-are in L<perluniprops>.
-
-=head2 Regular Expressions
-
-U+0FFFF is now a legal character in regular expressions.
-
-=head1 Modules and Pragmata
-
-=head2 Pragmata Changes
-
-=over 4
-
-=item C<constant>
-
-Upgraded from version 1.19 to 1.20.
-
-=item C<diagnostics>
-
-This pragma no longer suppresses C<Use of uninitialized value in range (or flip)> warnings. [perl #71204]
-
-=item C<feature>
-
-Upgraded from 1.13 to 1.14. Added the C<unicode_strings> feature:
-
- use feature "unicode_strings";
-
-This pragma turns on Unicode semantics for the case-changing operations
-(uc/lc/ucfirst/lcfirst) on strings that don't have the internal UTF-8 flag set,
-but that contain single-byte characters between 128 and 255.
-
-=item C<legacy>
-
-The experimental C<legacy> pragma, introduced in 5.11.2, has been removed,
-and its functionality replaced by the new feature pragma, C<use feature
-"unicode_strings">.
-
-=item C<threads>
-
-Upgraded from version 1.74 to 1.75.
-
-=item C<warnings>
-
-Upgraded from 1.07 to 1.08. Added new C<warnings::fatal_enabled()> function.
-
-=back
-
-=head2 Updated Modules
-
-=over 4
-
-=item C<Archive::Extract>
-
-Upgraded from version 0.34 to 0.36.
-
-=item C<CPAN>
-
-Upgraded from version 1.94_51 to 1.94_5301, which is 1.94_53 on CPAN
-plus some local fixes for bleadperl.
-
-Includes better bzip2 support, improved FirstTime experience with
-auto-selection of CPAN mirrors, proper handling of modules removed from the
-Perl core, and an updated 'cpan' utility script
-
-=item C<CPANPLUS>
-
-Upgraded from version 0.89_09 to 0.90.
-
-=item C<Encode>
-
-Upgraded from version 2.38 to 2.39.
-
-=item C<ExtUtils::MakeMaker>
-
-Upgraded from version 6.55_02 to 6.56. Adds new BUILD_REQUIRES key to
-indicate build-only prerequisites. Also adds support for
-mingw64 and the new "package NAME VERSION" syntax.
-
-=item C<File::Path>
-
-Upgraded from version 2.08 to 2.08_01.
-
-=item C<Module::Build>
-
-Upgraded from version 0.35_09 to 0.36. Compared to 0.35, this version has a
-new 'installdeps' action, supports the PERL_MB_OPT environment variable, adds a
-'share_dir' property for L<File::ShareDir> support, support the "package NAME
-VERSION" syntax and has many other enhancements and bug fixes. The
-'passthrough' style of Module::Build::Compat has been deprecated.
-
-=item C<Module::CoreList>
-
-Upgraded from version 2.23 to 2.24.
-
-=item C<POSIX>
-
-Upgraded from version 1.18 to 1.19. Error codes for C<getaddrinfo()> and
-C<getnameinfo()> are now available.
-
-=item C<Pod::Simple>
-
-Upgraded from version 3.10 to 3.13.
-
-=item C<Safe>
-
-Upgraded from version 2.19 to 2.20.
-
-=back
-
-=head1 Utility Changes
-
-=over 4
-
-=item F<perlbug>
-
-No longer reports "Message sent" when it hasn't actually sent the message
-
-=back
-
-=head1 Changes to Existing Documentation
-
-The Pod specification (L<perlpodspec>) has been updated to bring the
-specification in line with modern usage already supported by most Pod systems.
-A parameter string may now follow the format name in a "begin/end" region.
-Links to URIs with a text description are now allowed. The usage of
-C<LE<lt>"section"E<gt>> has been marked as deprecated.
-
-L<if.pm|if> has been documented in L<perlfunc/use> as a means to get
-conditional loading of modules despite the implicit BEGIN block around C<use>.
-
-
-
-=head1 Installation and Configuration Improvements
-
-=head2 Testing improvements
-
-=over 4
-
-=item It's now possible to override C<PERL5OPT> and friends in F<t/TEST>
-
-=back
-
-=head2 Platform Specific Changes
-
-=over 4
-
-=item Win32
-
-=over 4
-
-=item *
-
-Always add a manifest resource to C<perl.exe> to specify the C<trustInfo>
-settings for Windows Vista and later. Without this setting Windows
-will treat C<perl.exe> as a legacy application and apply various
-heuristics like redirecting access to protected file system areas
-(like the "Program Files" folder) to the users "VirtualStore"
-instead of generating a proper "permission denied" error.
-
-For VC8 and VC9 this manifest setting is automatically generated by
-the compiler/linker (together with the binding information for their
-respective runtime libraries); for all other compilers we need to
-embed the manifest resource explicitly in the external resource file.
-
-This change also requests the Microsoft Common-Controls version 6.0
-(themed controls introduced in Windows XP) via the dependency list
-in the assembly manifest. For VC8 and VC9 this is specified using the
-C</manifestdependency> linker commandline option instead.
-
-=back
-
-=item cygwin
-
-=over 4
-
-=item Enable IPv6 support on cygwin 1.7 and newer
-
-=back
-
-=item OpenVMS
-
-=over 4
-
-=item Make -UDEBUGGING the default on VMS for 5.12.0.
-
-Like it has been everywhere else for ages and ages. Also make
-command-line selection of -UDEBUGGING and -DDEBUGGING work in
-configure.com; before the only way to turn it off was by saying
-no in answer to the interactive question.
-
-=back
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-Ensure that pp_qr returns a new regexp SV each time. Resolves RT #69852.
-
-Instead of returning a(nother) reference to the (pre-compiled) regexp in the
-optree, use reg_temp_copy() to create a copy of it, and return a reference to
-that. This resolves issues about Regexp::DESTROY not being called in a timely
-fashion (the original bug tracked by RT #69852), as well as bugs related to
-blessing regexps, and of assigning to regexps, as described in correspondence
-added to the ticket.
-
-It transpires that we also need to undo the SvPVX() sharing when ithreads
-cloning a Regexp SV, because mother_re is set to NULL, instead of a cloned
-copy of the mother_re. This change might fix bugs with regexps and threads in
-certain other situations, but as yet neither tests nor bug reports have
-indicated any problems, so it might not actually be an edge case that it's
-possible to reach.
-
-=item *
-
-Several compilation errors and segfaults when perl was built with C<-Dmad> were fixed.
-
-=item *
-
-Fixes for lexer API changes in 5.11.2 which broke NYTProf's savesrc option.
-
-=item *
-
-F<-t> should only return TRUE for file handles connected to a TTY
-
-The Microsoft C version of isatty() returns TRUE for all
-character mode devices, including the /dev/null style "nul"
-device and printers like "lpt1".
-
-=item *
-
-Fixed a regression caused by commit fafafbaf which caused a panic during
-parameter passing [perl #70171]
-
-=item *
-
-On systems which in-place edits without backup files, -i'*' now works as
-the documentation says it does [perl #70802]
-
-=item *
-
-Saving and restoring magic flags no longer loses readonly flag.
-
-=item *
-
-The malformed syntax C<grep EXPR LIST> (note the missing comma) no longer
-causes abrupt and total failure.
-
-=item *
-
-Regular expressions compiled with C<qr{}> literals properly set C<$'> when
-matching again.
-
-=item *
-
-Using named subroutines with C<sort> should no longer lead to bus errors [perl
-#71076]
-
-=item *
-
-Numerous bugfixes catch small issues caused by the recently-added Lexer API.
-
-=item *
-
-Smart match against C<@_> sometimes gave false negatives. [perl #71078]
-
-=item *
-
-C<$@> may now be assigned a read-only value (without error or busting the stack).
-
-=item *
-
-C<sort> called recursively from within an active comparison subroutine no
-longer causes a bus error if run multiple times. [perl #71076]
-
-=back
-
-=head1 New or Changed Diagnostics
-
-=over 4
-
-=item *
-
-C<split> now warns when called in void context
-
-=item *
-
-C<printf>-style functions called with too few arguments will now issue the
-warning C<"Missing argument in %s"> [perl #71000]
-
-=back
-
-=head1 New Tests
-
-Many modules updated from CPAN incorporate new tests.
-
-=over 4
-
-=item t/comp/final_line_num.t
-
-See if line numbers are correct at EOF
-
-=item t/comp/form_scope.t
-
-See if format scoping works
-
-=item t/comp/line_debug.t
-
-See if @{"_<$file"} works
-
-=item t/op/filetest_t.t
-
-See if -t file test works
-
-=item t/op/qr.t
-
-See if qr works
-
-=item t/op/utf8cache.t
-
-Tests malfunctions of utf8 cache
-
-=item t/re/uniprops.t
-
-Test unicode \p{} regex constructs
-
-=back
-
-=head1 Deprecations
-
-The following items are now deprecated.
-
-=over 4
-
-=item Use of "goto" to jump into a construct is deprecated
-
-Using C<goto> to jump from an outer scope into an inner
-scope is now deprecated. This rare use case was causing
-problems in the implementation of scopes.
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.11.3 represents approximately one month of development since
-Perl 5.11.2 and contains 61407 lines of changes across 396 files
-from 40 authors and committers:
-
-Abigail, Alex Davies, Alexandr Ciornii, Andrew Rodland, Andy
-Dougherty, Bram, brian d foy, Chip Salzenberg, Chris Williams, Craig
-A. Berry, Daniel Frederick Crisman, David Golden, Dennis Kaarsemaker,
-Eric Brine, Father Chrysostomos, Gene Sullivan, Gerard Goossen, H.
-Merijn Brand, Hugo van der Sanden, Jan Dubois, Jerry D. Hedden,
-Jesse Vincent, Jim Cromie, Karl Williamson, Leon Brocard, Max
-Maischein, Michael Breen, Moritz Lenz, Nicholas Clark, Rafael
-Garcia-Suarez, Reini Urban, Ricardo Signes, Stepan Kasal, Steve
-Hay, Steve Peters, Tim Bunce, Tony Cook, Vincent Pit and Zefram.
-
-Many of the changes included in this version originated in the CPAN
-modules included in Perl's core. We're grateful to the entire CPAN
-community for helping Perl to flourish.
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://rt.perl.org/perlbug/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please send
-it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
-to help assess the impact of issues, figure out a resolution, and help
-co-ordinate the release of patches to mitigate or fix the problem across all
-platforms on which Perl is supported. Please only use this address for
-security issues in the Perl core, not for modules independently
-distributed on CPAN.
-
-=head1 SEE ALSO
-
-The F<Changes> file for an explanation of how to view exhaustive details
-on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
-
-
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5114delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5114delta.pod
deleted file mode 100644
index 05a387f2d37..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl5114delta.pod
+++ /dev/null
@@ -1,278 +0,0 @@
-=head1 NAME
-
-perl5114delta - what is new for perl v5.11.4
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.11.3 release and
-the 5.11.4 release.
-
-If you are upgrading from an earlier release such as 5.11.2, first read
-L<perl5113delta>, which describes differences between 5.11.2 and
-5.11.3.
-
-=head1 Incompatible Changes
-
-=head2 Version number formats
-
-Acceptable version number formats have been formalized into "strict" and
-"lax" rules. C<package NAME VERSION> takes a strict version number. C<use
-NAME VERSION> takes a lax version number. C<UNIVERSAL::VERSION> and the
-L<version> object constructors take lax version numbers. Providing an
-invalid version will result in a fatal error.
-
-These formats will be documented fully in the L<version> module in a
-subsequent release of Perl 5.11. To a first approximation, a "strict"
-version number is a positive decimal number (integer or decimal-fraction)
-without exponentiation or else a dotted-decimal v-string with a leading 'v'
-character and at least three components. A "lax" version number allows
-v-strings with fewer than three components or without a leading 'v'. Under
-"lax" rules, both decimal and dotted-decimal versions may have a trailing
-"alpha" component separated by an underscore character after a fractional
-or dotted-decimal component.
-
-The L<version> module adds C<version::is_strict> and C<version::is_lax>
-functions to check a scalar against these rules.
-
-=head1 Core Enhancements
-
-=head2 Unicode properties
-
-C<\p{XDigit}> now matches the same characters as C<\p{Hex_Digit}>. This
-means that in addition to the characters it currently matches,
-C<[A-Fa-f0-9]>, it will also match their fullwidth equivalent forms, for
-example U+FF10: FULLWIDTH DIGIT ZERO.
-
-=head1 Modules and Pragmata
-
-=head2 Pragmata Changes
-
-=over 4
-
-=item C<less>
-
-Upgraded from version 0.02 to 0.03.
-
-This version introduces the C<stash_name> method to allow subclasses of less to
-pick where in %^H to store their stash.
-
-=item C<version>
-
-Upgraded from version 0.77 to 0.81.
-
-This version adds support for L</Version number formats> as described earlier
-in this document and in its own documentation.
-
-=item C<warnings>
-
-Upgraded from version 1.08 to 1.09.
-
-This version adds the C<illegalproto> warning category. See also L</New or
-Changed Diagnostics> for this change.
-
-=back
-
-=head2 Updated Modules
-
-=over 4
-
-=item C<Archive::Extract>
-
-Upgraded from version 0.36 to 0.38.
-
-=item C<B::Deparse>
-
-Upgraded from version 0.93 to 0.94.
-
-=item C<Compress::Raw::Bzip2>
-
-Upgraded from version 2.021 to 2.024.
-
-=item C<Compress::Raw::Zlib>
-
-Upgraded from version 2.021 to 2.024.
-
-=item C<CPAN>
-
-Upgraded from version 1.94_5301 to 1.94_54.
-
-=item C<File::Fetch>
-
-Upgraded from version 0.22 to 0.24.
-
-=item C<Module::Build>
-
-Upgraded from version 0.36 to 0.3603.
-
-=item C<Safe>
-
-Upgraded from version 2.20 to 2.21.
-
-Anonymous coderefs created in Safe containers no longer get bogus
-arguments passed to them, fixing RT #72068.
-
-=back
-
-=head2 Removed Modules and Pragmata
-
-=over 4
-
-=item C<Devel::DProf::V>
-
-Removed from the Perl core. Prior version was 'undef'.
-
-=back
-
-=head1 Changes to Existing Documentation
-
-A significant fraction of the core documentation has been updated to clarify
-the behavior of Perl's Unicode handling.
-
-Much of the remaining core documentation has been reviewed and edited
-for clarity, consistent use of language, and to fix the spelling of Tom
-Christiansen's name.
-
-=head2 Configuration improvements
-
-USE_ATTRIBUTES_FOR_PERLIO is now reported in the compile-time options
-listed by the C<-V> switch.
-
-=head2 Platform Specific Changes
-
-=over 4
-
-=item VMS
-
-The default pipe buffer size on VMS has been updated to 8192 on 64-bit
-systems.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-Tie::Hash::NamedCapture::* shouldn't abort if passed bad input (RT #71828)
-
-=item *
-
-@_ and $_ no longer leak under threads (RT #34342 and #41138, also
-#70602, #70974)
-
-=back
-
-=head1 New or Changed Diagnostics
-
-=over 4
-
-=item New warning category C<illegalproto>
-
-The two warnings :
-
- Illegal character in prototype for %s : %s
- Prototype after '%c' for %s : %s
-
-have been moved from the C<syntax> top-level warnings category into a new
-first-level category, C<illegalproto>. These two warnings are currently the
-only ones emitted during parsing of an invalid/illegal prototype, so one
-can now do
-
- no warnings 'illegalproto';
-
-to suppress only those, but not other syntax-related warnings. Warnings where
-prototypes are changed, ignored, or not met are still in the C<prototype>
-category as before. (Matt S. Trout)
-
-=item lvalue attribute ignored after the subroutine has been defined
-
-This new warning is issued when one attempts to mark a subroutine as
-lvalue after it has been defined.
-
-=back
-
-=head1 Changed Internals
-
-=over 4
-
-=item *
-
-Perl_magic_setmglob now knows about globs, fixing RT #71254.
-
-=back
-
-=head1 Known Problems
-
-Perl 5.11.4 is a development release leading up to Perl 5.12.0.
-Some notable known problems found in 5.11.4 are listed as dependencies
-of RT #69710, the Perl 5 version 12 meta-ticket.
-
-=head1 Deprecations
-
-The following items are now deprecated.
-
-=over 4
-
-=item C<< UNIVERSAL-E<gt>import() >>
-
-The method C<< UNIVERSAL-E<gt>import() >> is now deprecated. Attempting to
-pass import arguments to a C<use UNIVERSAL> statement will result in a
-deprecation warning. (This is a less noisy version of the full deprecation
-warning added in 5.11.0.)
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.11.4 represents approximately one month of development since
-Perl 5.11.3 and contains 17682 lines of changes across 318 files
-from 40 authors and committers:
-
-Abigail, Andy Dougherty, brian d foy, Chris Williams, Craig A. Berry,
-David Golden, David Mitchell, Father Chrysostomos, Gerard Goossen,
-H.Merijn Brand, Jesse Vincent, Jim Cromie, Josh ben Jore, Karl
-Williamson, kmx, Matt S Trout, Nicholas Clark, Niko Tyni, Paul Marquess,
-Philip Hazel, Rafael Garcia-Suarez, Rainer Tammer, Reini Urban, Ricardo
-Signes, Shlomi Fish, Tim Bunce, Todd Rinaldo, Tom Christiansen, Tony
-Cook, Vincent Pit, and Zefram
-
-Many of the changes included in this version originated in the CPAN
-modules included in Perl's core. We're grateful to the entire CPAN
-community for helping Perl to flourish.
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at L<http://rt.perl.org/perlbug/>. There may also be
-information at L<http://www.perl.org/>, the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analyzed by the Perl porting team.
-
-If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please send
-it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
-to help assess the impact of issues, figure out a resolution, and help
-co-ordinate the release of patches to mitigate or fix the problem across all
-platforms on which Perl is supported. Please only use this address for
-security issues in the Perl core, not for modules independently
-distributed on CPAN.
-
-=head1 SEE ALSO
-
-The F<Changes> file for an explanation of how to view exhaustive details
-on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5115delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5115delta.pod
deleted file mode 100644
index bb4180220ea..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl5115delta.pod
+++ /dev/null
@@ -1,327 +0,0 @@
-=head1 NAME
-
-perl5115delta - what is new for perl v5.11.5
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.11.4 release and
-the 5.11.5 release.
-
-If you are upgrading from an earlier release such as 5.11.3, first read
-L<perl5114delta>, which describes differences between 5.11.3 and
-5.11.4.
-
-=head1 Core Enhancements
-
-=head2 32-bit limit on substr arguments removed
-
-The 32-bit limit on C<substr> arguments has now been removed. The full range
-of the system's signed and unsigned integers is now available for the C<pos>
-and C<len> arguments.
-
-=head1 Modules and Pragmata
-
-=head2 Pragmata Changes
-
-=over 4
-
-=item C<version>
-
-Upgraded from version 0.81 to 0.82.
-
-The C<is_lax> and C<is_strict> functions can now be optionally exported to the
-caller's namespace and are also now documented.
-
-Undefined version objects are now uninitialized with zero rather than C<undef>.
-
-=back
-
-=head2 Updated Modules
-
-=over 4
-
-=item C<B::Debug>
-
-Upgraded from version 1.11 to 1.12.
-
-=item C<CPAN>
-
-Upgraded from version 1.94_53 to 1.94_56.
-
-This resolves RT #72362, in which CPAN was ignoring C<configure_requires>,
-and RT #72348, in which the command C<o conf init> in the CPAN shell could
-cause an exception to be thrown.
-
-This module is also now built in a less specialized way, which resolves a
-problem that caused C<make> after C<make clean> to fail, fixing RT #72218.
-
-=item C<CPANPLUS::Dist::Build>
-
-Upgraded from version 0.44 to 0.46.
-
-This makes the prereq resolving fall back to F<_build/> querying if the
-C<prereq_data> action fails.
-
-=item C<Pod::Perldoc>
-
-Upgraded from version 3.15_01 to 3.15_02.
-
-=item C<Pod::Plainer>
-
-Upgraded from version 1.01 to 1.02.
-
-=item C<Safe>
-
-Upgraded from version 2.21 to 2.22.
-
-This resolves RT #72700, in which an exception thrown from a closure was
-getting lost.
-
-=item C<Socket>
-
-Upgraded from version 1.85 to 1.86.
-
-This makes the new Socket implementation of C<inet_pton> consistent with the
-existing Socket6 implementation of C<inet_pton>, fixing RT #72884.
-
-=item C<podlators>
-
-Upgraded from version 2.2.2 to 2.3.1.
-
-=back
-
-=head1 Changes to Existing Documentation
-
-The syntax C<unless (EXPR) BLOCK else BLOCK> is now documented as valid, as
-is the syntax C<unless (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK>,
-although actually using the latter may not be the best idea for the
-readability of your source code.
-
-=head1 Installation and Configuration Improvements
-
-=head2 Configuration improvements
-
-Support for SystemTap's C<dtrace> compatibility layer has been added and an
-issue with linking C<miniperl> has been fixed in the process.
-
-C<less -R> is now used instead of C<less> for C<groff>'s new usage of ANSI
-escape codes by setting C<$Config{less}> (and thereby C<$Config{pager}>,
-which fixes RT #72156.
-
-USE_PERL_ATOF is now reported in the compile-time options listed by the C<-V>
-switch.
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-Arbitrary whitespace is now allowed between C<NAME> and C<VERSION> in
-C<package NAME VERSION;> statements. (Fixes RT #72432)
-
-=item *
-
-A panic caused by trying to load C<charnames> when the parser is already in
-error (e.g. by a missing C<my> under C<use strict;>) is now averted. This
-was a regression since Perl 5.10.0. (Fixes RT #72590)
-
-=item *
-
-Reading C<$!> no longer causes a SEGV for out of range C<errno> values. (Fixes
-RT #72850)
-
-=item *
-
-A possible SEGV in C</\N{...}/> has been fixed. This was a regression since
-Perl 5.10.
-
-=item *
-
-A possible SEGV when freeing a scalar that was upgraded to an C<SVt_REGEXP>
-type from a simple(r) scalar has been fixed.
-
-=item *
-
-A type conversion bug in C<gmtime64> that caused it to break around C<2**48>
-has been fixed.
-
-=item *
-
-Interpolating a regex that makes use of the C<charnames> pragma will no longer
-cause a run-time error. (Fixes RT #56444)
-
-=item *
-
-Array references assigned to C<*Foo::ISA> now have the necessary magic added
-to them to catch any further updates to the new C<@ISA>. (Fixes RT #72866)
-
-=item *
-
-Filehandles are now always blessed into C<IO::File>, which, together with
-some suitable manipulation of C<@IO::File::ISA>, fixes a breakage introduced
-in Perl 5.11.3 by a change that always blessed filehandles into C<IO::Handle>
-rather than checking for C<FileHandle> first.
-
-=item *
-
-A change in the behaviour of C<warnings::enabled> and C<warnings::warnif> in
-Perl 5.10.0 that wasn't documented at the time is now documented in
-L<perl5100delta>. (Fixes RT #62522)
-
-=item *
-
-RT #71504 is now fixed by simply skipping the tests that failed on OpenBSD
-with ithreads and perlio.
-
-=back
-
-=head1 New or Changed Diagnostics
-
-=over 4
-
-=item *
-
-The fatal error C<Malformed UTF-8 returned by \N> is now produced if the
-C<charnames> handler returns malformed UTF-8.
-
-=item *
-
-If an unresolved named character or sequence was encountered when compiling a
-regex pattern then the fatal error C<\\N{NAME} must be resolved by the lexer>
-is now produced. This can happen, for example, when using a single-quotish
-context like C<$re = '\N{SPACE}'; $re;>. See L<perldiag> for more examples of
-how the lexer can get bypassed.
-
-=item *
-
-The fatal error C<Invalid hexadecimal number in \\N{U+...}> will be produced
-if the character constant represented by C<...> is not a valid hexadecimal
-number.
-
-=item *
-
-The new meaning of C<\N> as C<[^\n]> is not valid in a bracketed character
-class, just like C<.> in a character class loses its special meaning, and will
-cause the fatal error C<\\N in a character class must be a named character:
-\\N{...}>.
-
-=item *
-
-The rules on what is legal for the C<...> in C<\N{...}> have been tightened
-up so that unless the C<...> begins with an alphabetic character and continues
-with a combination of alphanumerics, dashes, spaces, parentheses or colons
-then the warning C<Deprecated character(s) in \\N{...} starting at '%s'> is
-now issued.
-
-=item *
-
-The warning C<Using just the first characters returned by \N{}> will be
-issued if the C<charnames> handler returns a sequence of characters which
-exceeds the limit of the number of characters that can be used. The message
-will indicate which characters were used and which were discarded.
-
-=item *
-
-Currently, all but the first of the several characters that the C<charnames>
-handler may return are discarded when used in a regular expression pattern
-bracketed character class. If this happens then the warning C<Using just the
-first character returned by \N{} in character class> will be issued.
-
-=item *
-
-The warning C<Missing right brace on \\N{} or unescaped left brace after \\N.
-Assuming the latter> will be issued if Perl encounters a C<\N{> but doesn't
-find a matching C<}>. In this case Perl doesn't know if it was mistakenly
-omitted, or if "match non-newline" followed by "match a C<{>" was desired.
-It assumes the latter because that is actually a valid interpretation as
-written, unlike the other case. If you meant the former, you need to add the
-matching right brace. If you did mean the latter, you can silence this
-warning by writing instead C<\N\{>.
-
-=item *
-
-C<gmtime> and C<localtime> called with numbers smaller than they can reliably
-handle will now issue the warnings C<gmtime(%.0f) too small> and
-C<localtime(%.0f) too small>.
-
-=back
-
-=head1 New Tests
-
-=over 4
-
-=item F<t/op/filehandle.t>
-
-Tests some suitably portable filetest operators to check that they work as
-expected, particularly in the light of some internal changes made in how
-filehandles are blessed.
-
-=item F<t/op/time_loop.t>
-
-Tests that times greater than C<2**63>, which can now be handed to C<gmtime>
-and C<localtime>, do not cause an internal overflow or an excessively long
-loop.
-
-=back
-
-=head1 Known Problems
-
-Perl 5.11.5 is a development release leading up to Perl 5.12.0.
-Some notable known problems found in 5.11.5 are listed as dependencies
-of RT #69710, the Perl 5 version 12 meta-ticket.
-
-=head1 Acknowledgements
-
-Perl 5.11.5 represents approximately one month of development since
-Perl 5.11.4 and contains 9618 lines of changes across 151 files
-from 33 authors and committers:
-
-E<AElig>var ArnfjE<ouml>rE<eth> Bjarmason, Abigail, brian d foy, Chris
-Williams, David Golden, David Mitchell, Eric Brine, Frank Wiegand, Gisle
-Aas, H.Merijn Brand, Jan Dubois, Jesse Vincent, Jim Cromie, John Peacock,
-Josh ben Jore, Karl Williamson, Marcus Holland-Moritz, Michael G Schwern,
-Nicholas Clark, Offer Kaye, Philippe Bruhat (BooK), Rafael Garcia-Suarez,
-Reini Urban, Ricardo Signes, Robin Barker, Slaven Rezic, Steffen Mueller,
-Steve Hay, Steve Peters, Tim Bunce, Todd Rinaldo, Tony Cook and
-Vincent Pit.
-
-Many of the changes included in this version originated in the CPAN
-modules included in Perl's core. We're grateful to the entire CPAN
-community for helping Perl to flourish.
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://rt.perl.org/perlbug/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analyzed by the Perl porting team.
-
-If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please send
-it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
-to help assess the impact of issues, figure out a resolution, and help
-co-ordinate the release of patches to mitigate or fix the problem across all
-platforms on which Perl is supported. Please only use this address for
-security issues in the Perl core, not for modules independently
-distributed on CPAN.
-
-=head1 SEE ALSO
-
-The F<Changes> file for an explanation of how to view exhaustive details
-on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5120delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5120delta.pod
index 08c4285ebe9..f8a1810c861 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl5120delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl5120delta.pod
@@ -456,7 +456,6 @@ have been removed from this distribution.
C<Module::CoreList> no longer contains the C<%:patchlevel> hash.
-
=item *
C<length undef> now returns undef.
@@ -529,7 +528,6 @@ The following items are now deprecated:
C<suidperl> is no longer part of Perl. It used to provide a mechanism to
emulate setuid permission bits on systems that don't support it properly.
-
=item Use of C<:=> to mean an empty attribute list
An accident of Perl's parser meant that these constructions were all
@@ -561,7 +559,6 @@ The method C<< UNIVERSAL->import() >> is now deprecated. Attempting to
pass import arguments to a C<use UNIVERSAL> statement will result in a
deprecation warning.
-
=item Use of "goto" to jump into a construct
Using C<goto> to jump from an outer scope into an inner scope is now
@@ -1433,7 +1430,6 @@ the beginnings of a document on Perl porting policies.
=over
-
=item *
The various large F<Changes*> files (which listed every change made
@@ -1447,7 +1443,6 @@ F<Porting/patching.pod> has been deleted, as it mainly described
interacting with the old Perforce-based repository, which is now obsolete.
Information still relevant has been moved to L<perlrepository>.
-
=item *
The syntax C<unless (EXPR) BLOCK else BLOCK> is now documented as valid,
@@ -1455,7 +1450,6 @@ as is the syntax C<unless (EXPR) BLOCK elsif (EXPR) BLOCK ... else
BLOCK>, although actually using the latter may not be the best idea for
the readability of your source code.
-
=item *
Documented -X overloading.
@@ -2106,7 +2100,6 @@ passed a position that is not within the scalar's string buffer. This
could be caused by buggy XS code, and at this point recovery is not
possible.
-
=item *
The fatal error C<Malformed UTF-8 returned by \N> is now produced if the
@@ -3176,7 +3169,8 @@ analyzed by the Perl porting team.
If the bug you are reporting has security implications, which make it
inappropriate to send to a publicly archived mailing list, then please send
it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
+unarchived mailing list, which includes
+all the core committers, who will be able
to help assess the impact of issues, figure out a resolution, and help
co-ordinate the release of patches to mitigate or fix the problem across all
platforms on which Perl is supported. Please only use this address for
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5121delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5121delta.pod
index cc2702bcc32..a999f144848 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl5121delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl5121delta.pod
@@ -210,12 +210,10 @@ XSUB.h now correctly redefines fgets under PERL_IMPLICIT_SYS
See also: L<http://rt.cpan.org/Public/Bug/Display.html?id=55049>
-
=item *
utf8::is_utf8 now respects GMAGIC (e.g. $1)
-
=item *
XS code using C<fputc()> or C<fputs()>: on Windows could cause an error
@@ -390,7 +388,8 @@ analysed by the Perl porting team.
If the bug you are reporting has security implications, which make it
inappropriate to send to a publicly archived mailing list, then please send
it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
+unarchived mailing list, which includes
+all the core committers, who will be able
to help assess the impact of issues, figure out a resolution, and help
co-ordinate the release of patches to mitigate or fix the problem across all
platforms on which Perl is supported. Please only use this address for
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5122delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5122delta.pod
index 445e74dea77..f441a385812 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl5122delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl5122delta.pod
@@ -325,7 +325,8 @@ analysed by the Perl porting team.
If the bug you are reporting has security implications, which make it
inappropriate to send to a publicly archived mailing list, then please send
it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
+unarchived mailing list, which includes
+all the core committers, who will be able
to help assess the impact of issues, figure out a resolution, and help
co-ordinate the release of patches to mitigate or fix the problem across all
platforms on which Perl is supported. Please only use this address for
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5123delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5123delta.pod
index 35da9af23ca..580af240169 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl5123delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl5123delta.pod
@@ -96,7 +96,8 @@ analysed by the Perl porting team.
If the bug you are reporting has security implications, which make it
inappropriate to send to a publicly archived mailing list, then please send
it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
+unarchived mailing list, which includes
+all the core committers, who will be able
to help assess the impact of issues, figure out a resolution, and help
co-ordinate the release of patches to mitigate or fix the problem across all
platforms on which Perl is supported. Please only use this address for
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5124delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5124delta.pod
new file mode 100644
index 00000000000..bd3a1db43be
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl5124delta.pod
@@ -0,0 +1,108 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5124delta - what is new for perl v5.12.4
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.12.3 release and
+the 5.12.4 release.
+
+If you are upgrading from an earlier release such as 5.12.2, first read
+L<perl5123delta>, which describes differences between 5.12.2
+and 5.12.3. The major changes made in 5.12.0 are described in L<perl5120delta>.
+
+=head1 Incompatible Changes
+
+There are no changes intentionally incompatible with 5.12.3. If any
+exist, they are bugs and reports are welcome.
+
+=head1 Selected Bug Fixes
+
+When strict "refs" mode is off, C<%{...}> in rvalue context returns
+C<undef> if its argument is undefined. An optimisation introduced in Perl
+5.12.0 to make C<keys %{...}> faster when used as a boolean did not take
+this into account, causing C<keys %{+undef}> (and C<keys %$foo> when
+C<$foo> is undefined) to be an error, which it should be so in strict
+mode only [perl #81750].
+
+C<lc>, C<uc>, C<lcfirst>, and C<ucfirst> no longer return untainted strings
+when the argument is tainted. This has been broken since perl 5.8.9
+[perl #87336].
+
+Fixed a case where it was possible that a freed buffer may have been read
+from when parsing a here document.
+
+=head1 Modules and Pragmata
+
+L<Module::CoreList> has been upgraded from version 2.43 to 2.50.
+
+=head1 Testing
+
+The F<cpan/CGI/t/http.t> test script has been fixed to work when the
+environment has HTTPS_* environment variables, such as HTTPS_PROXY.
+
+=head1 Documentation
+
+Updated the documentation for rand() in L<perlfunc> to note that it is not
+cryptographically secure.
+
+=head1 Platform Specific Notes
+
+=over 4
+
+=item Linux
+
+Support Ubuntu 11.04's new multi-arch library layout.
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.12.4 represents approximately 5 months of development since
+Perl 5.12.3 and contains approximately 200 lines of changes across
+11 files from 8 authors.
+
+Perl continues to flourish into its third decade thanks to a vibrant
+community of users and developers. The following people are known to
+have contributed the improvements that became Perl 5.12.4:
+
+Andy Dougherty, David Golden, David Leadbeater, Father Chrysostomos,
+Florian Ragwitz, Jesse Vincent, Leon Brocard, Zsbán Ambrus.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the perl
+bug database at http://rt.perl.org/perlbug/ . There may also be
+information at http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the B<perlbug>
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
+output of C<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send
+it to perl5-security-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who be able
+to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported. Please only use this address for
+security issues in the Perl core, not for modules independently
+distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5130delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5130delta.pod
deleted file mode 100644
index c5d5169b54e..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl5130delta.pod
+++ /dev/null
@@ -1,133 +0,0 @@
-=encoding utf8
-
-=head1 NAME
-
-perl5130delta - what is new for perl v5.13.0
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.12.0 release and the
-5.13.0 release.
-
-If you are upgrading from an earlier release such as 5.10.0, first read
-L<perl5120delta>, which describes differences between 5.10.0 and
-5.12.0.
-
-=head1 Core Enhancements
-
-=head2 "safe signals" optimization
-
-Signal dispatch has been moved from the runloop into control ops. This
-should give a few percent speed increase, and eliminates almost all of
-the speed penalty caused by the introduction of "safe signals" in
-5.8.0. Signals should still be dispatched within the same statement as
-they were previously - if this is not the case, or it is possible to
-create uninterruptible loops, this is a bug, and reports are encouraged
-of how to recreate such issues.
-
-=head2 Assignment to C<$0> sets the legacy process name with C<prctl()> on Linux
-
-On Linux the legacy process name will be set with L<prctl(2)>, in
-addition to altering the POSIX name via C<argv[0]> as perl has done
-since version 4.000. Now system utilities that read the legacy process
-name such as ps, top and killall will recognize the name you set when
-assigning to C<$0>. The string you supply will be cut off at 16 bytes,
-this is a limitation imposed by Linux.
-
-=head2 Optimization of shift; and pop; calls without arguments
-
-Additional two OPs are not added anymore into op tree for shift and pop
-calls without argument (when it works on C<@_>). Makes C<shift;> 5%
-faster over C<shift @_;> on not threaded perl and 25% faster on threaded.
-
-=head1 Modules and Pragmata
-
-=head2 Updated Modules
-
-=over 4
-
-=item CGI
-
-Updated to version 3.49.
-
-=item Data::Dumper
-
-Updated to version 2.126.
-
-=item MIME::Base64
-
-Updated to 3.09.
-
-=item threads
-
-Updated to version 1.77
-
-=item threads-shared
-
-Updated to version 1.33
-
-=back
-
-=head1 Installation and Configuration Improvements
-
-=head2 Platform Specific Changes
-
-=over 4
-
-=item AIX
-
-Allow building on AIX 4.2.
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.13.0 represents eight days of development since Perl 5.12.0 and
-contains 3,766 lines of changes across 151 files from 29 authors and
-committers.
-
-Thank you to the following for contributing to this release:
-
-Ævar Arnfjörð Bjarmason, Alex Vandiver, Chris Williams, chromatic,
-Craig A. Berry, David Golden, David Mitchell, Eric Brine, Father
-Chrysostomos, Florian Ragwitz, Frank Wiegand, Gisle Aas, H.Merijn
-Brand, Hugo van der Sanden, Jesse Vincent, Josh ben Jore, Karl
-Williamson, Leon Brocard, Michael G Schwern, Michael G. Schwern, Nga
-Tang Chan, Nicholas Clark, Niko Tyni, Rafael Garcia-Suarez, Ricardo
-Signes, Robin Barker, Slaven Rezic, Steffen Mueller, Zefram.
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl bug
-database at http://rt.perl.org/perlbug/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down to a
-tiny but sufficient test case. Your bug report, along with the output
-of C<perl -V>, will be sent off to perlbug@perl.org to be analysed by
-the Perl porting team.
-
-If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please
-send it to perl5-security-report@perl.org. This points to a closed
-subscription unarchived mailing list, which includes all the core
-committers, who be able to help assess the impact of issues, figure out
-a resolution, and help co-ordinate the release of patches to mitigate
-or fix the problem across all platforms on which Perl is supported.
-Please only use this address for security issues in the Perl core, not
-for modules independently distributed on CPAN.
-
-=head1 SEE ALSO
-
-The F<Changes> file for an explanation of how to view exhaustive
-details on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl51310delta.pod b/Master/tlpkg/tlperl/lib/pods/perl51310delta.pod
deleted file mode 100644
index 846e2253f30..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl51310delta.pod
+++ /dev/null
@@ -1,814 +0,0 @@
-=encoding utf8
-
-=head1 NAME
-
-perl51310delta - what is new for perl v5.13.10
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.13.9 release and
-the 5.13.10 release.
-
-If you are upgrading from an earlier release such as 5.13.8, first read
-L<perl5139delta>, which describes differences between 5.13.8 and
-5.13.9.
-
-=head1 Core Enhancements
-
-=head2 The new regular expression modifiers available in suffix form
-
-Various releases of the 5.13.x series have added new regular expression
-modifiers, C</a>, C</d>, C</l>, and C</u>. They were only available in
-infix form (e.g., C<(?a:...)>) until this release; now they are usable
-in suffix form. This change was made too late to change all the
-affected documentation, so there are a number of places that erroneously
-say these must be used in infix form.
-
-However, there is an ambiguity with the construct, C<s/foo/bar/le...>. Due
-to backward compatibility constraints, in Perl 5.14 only, it will be
-resolved as C<s/foo/bar/ le...>, that is, as meaning to take the result
-of the substitution, and see if it is stringwise less-than-or-equal-to
-what follows. In Perl 5.16 and later, it will instead be resolved as
-meaning to do the pattern match using the rules of the current locale,
-and evaluate the rhs as an expression when doing the substitution. In
-5.14, if you want the latter interpretation, you can write "el" instead.
-
-=head2 Add C<\p{Titlecase}> as a synonym for C<\p{Title}>
-
-This synonym is added for symmetry with the Unicode property names
-C<\p{Uppercase}> and C<\p{Lowercase}>.
-
-=head2 New regular expression modifier option C</aa>
-
-Doubling the C</a> regular expression modifier increases its effect,
-so that in case-insensitive matching, no ASCII character will match a
-non-ASCII character. For example, normally,
-
- 'k' =~ /\N{KELVIN SIGN}/i
-
-will match; it won't under C</aa>.
-
-=head2 New warnings categories for problematic (non-)Unicode code points.
-
-Three new warnings subcategories of <utf8> have been added. These
-allow you to turn off warnings for their covered events, while allowing
-the other UTF-8 warnings to remain on. The three categories are:
-C<surrogate> when UTF-16 surrogates are encountered;
-C<nonchar> when Unicode non-character code points are encountered;
-and C<non_unicode> when code points that are above the legal Unicode
-maximum of 0x10FFFF are encountered.
-
-=head1 Incompatible Changes
-
-=head2 Most C<\p{}> properties are now immune from case-insensitive matching
-
-For most Unicode properties, it doesn't make sense to have them match
-differently under C</i> case-insensitive matching than not. And doing
-so leads to unexpected results and potential security holes. For
-example
-
- m/\p{ASCII_Hex_Digit}+/i
-
-could previously match non-ASCII characters because of the Unicode
-matching rules. There were a number of bugs in this feature until an
-earlier release in the 5.13 series. Now this release reverts, and
-removes the feature completely except for the few properties where
-people have come to expect it, namely the ones where casing is an
-integral part of their functionality, such as C<m/\p{Uppercase}/i> and
-C<m/\p{Lowercase}/i>, both of which match the exact same code points,
-namely those matched by C<m/\p{Cased}/i>. Details are in
-L<perlrecharclass/Unicode Properties>.
-
-User-defined property handlers that need to match differently under
-C</i> must change to read the new boolean parameter passed it which is
-non-zero if case-insensitive matching is in effect; 0 if not. See
-L<perluniprops/User-Defined Character Properties>.
-
-=head2 regex: \p{} in pattern implies Unicode semantics
-
-Now, a Unicode property match specified in the pattern will indicate
-that the pattern is meant for matching according to Unicode rules
-(e40e74f)
-
-=head2 add GvCV_set() and GvGP_set() macros and change GvGP()
-
-This allows a future commit to eliminate some backref magic between GV
-and CVs, which will require complete control over assignment to the
-gp_cv slot.
-
-If you've been using GvGP() in lvalue context this change will break
-your code, you should use GvGP_set() instead. (c43ae56)
-
-=head2 _swash_inversion_hash is no longer exported as part of the API
-
-This function shouldn't be called from XS code. (4c2e113)
-
-=head2 Unreferenced objects in global destruction
-
-The fix for [perl #36347], which made sure that destructors were called on
-unreferenced objects, broke the tests for three CPAN modules, which
-apparently rely on the bug.
-
-To provide more time for fixing them (as this is such a minor bug), we
-have reverted the fix until after perl 5.14.0.
-
-This resolves [perl #82542] and other related tickets.
-
-=head2 C<close> on shared pipes
-
-The C<close> function no longer waits for the child process to exit if the
-underlying file descriptor is still in use by another thread, to avoid
-deadlocks. It returns true in such cases.
-
-=head1 Deprecations
-
-=over
-
-=item Deprecated Modules
-
-The following modules will be removed from the core distribution in a
-future release, and should be installed from CPAN instead. Distributions
-on CPAN which require these should add them to their prerequisites. The
-core versions of these modules warnings will issue a deprecation warning.
-
-If you ship a packaged version of Perl, either alone or as part of a
-larger system, then you should carefully consider the repercussions of
-core module deprecations. You may want to consider shipping your default
-build of Perl with packages for some or all deprecated modules which
-install into C<vendor> or C<site> perl library directories. This will
-inhibit the deprecation warnings.
-
-Alternatively, you may want to consider patching F<lib/deprecate.pm>
-to provide deprecation warnings specific to your packaging system
-or distribution of Perl, consistent with how your packaging system
-or distribution manages a staged transition from a release where the
-installation of a single package provides the given functionality, to
-a later release where the system administrator needs to know to install
-multiple packages to get that same functionality.
-
-You can silence these deprecation warnings by installing the modules
-in question from CPAN. To install the latest version of all of them,
-just install C<Task::Deprecations::5_14>.
-
-=over
-
-=item L<Devel::DProf>
-
-We strongly recommend that you install and used L<Devel::NYTProf> in
-preference, as it offers significantly improved profiling and reporting.
-
-=back
-
-=back
-
-=head2 User-defined case-mapping
-
-This feature is being deprecated due to its many issues, as documented in
-L<perlunicode/User-Defined Case Mappings (for serious hackers only)>.
-It is planned to remove this feature in Perl 5.16. A CPAN module
-providing improved functionality is being prepared for release by the
-time 5.14 is.
-
-=head1 Modules and Pragmata
-
-=head2 New Modules and Pragmata
-
-=over 4
-
-=item *
-
-C<CPAN::Meta> version 2.110440 has been added as a dual-life module. It
-provides a standard library to read, interpret and write CPAN distribution
-metadata files (e.g. META.json and META.yml) which describes a
-distribution, its contents, and the requirements for building it and
-installing it. The latest CPAN distribution metadata specification is
-included as C<CPAN::Meta::Spec> and notes on changes in the specification
-over time are given in C<CPAN::Meta::History>.
-
-=item *
-
-C<Version::Requirements> version 0.101020 has been added as a dual-life
-module. It provides a standard library to model and manipulates module
-prerequisites and version constraints as defined in the L<CPAN::Meta::Spec>.
-
-=back
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item *
-
-C<B> has been upgraded from version 1.27 to 1.28.
-
-=item *
-
-C<Carp> has been upgraded from version 1.19 to 1.20.
-
-[perl #82854] It now avoids using regular expressions that cause perl to
-load its Unicode tables, in order to avoid the 'BEGIN not safe after
-errors' error that will ensue if there has been a syntax error.
-
-=item *
-
-C<CGI> has been upgraded from version 3.51 to 3.52
-
-=item *
-
-C<CPAN> has been upgraded from version 1.94_64 to 1.94_65
-
-Includes support for META.json and MYMETA.json.
-
-=item *
-
-C<CPANPLUS> has been upgraded from version 0.9011 to 0.9101
-
-Includes support for META.json and MYMETA.json and a change to
-using Digest::SHA for CPAN checksums.
-
-=item *
-
-C<deprecate> has been upgraded from version 0.01 to 0.02.
-
-=item *
-
-C<diagnostics> has been upgraded from version 1.21 to 1.22.
-
-It now renders pod links slightly better, and has been taught to find
-descriptions for messages that share their descriptions with other
-messages.
-
-=item *
-
-C<Devel::DProf> has been upgraded from version 20080331.00 to 20110217.00.
-
-Merely loading C<Devel::DProf> now no longer triggers profiling to start.
-C<use Devel::DProf> and C<perl -d:DProf ...> still behave as before and start
-the profiler.
-
-NOTE: C<Devel::DProf> is deprecated and will be removed from a future
-version of Perl. We strongly recommend that you install and use
-L<Devel::NYTProf> instead, as it offers significantly improved
-profiling and reporting.
-
-=item *
-
-C<DynaLoader> has been upgraded from version 1.12 to 1.13.
-
-[perl #84358] It no longer inherits from AutoLoader; hence it no longer
-produces weird error messages for unsuccessful method calls on classes that
-inherit from DynaLoader.
-
-=item *
-
-C<IO::Select> has been upgraded from version 1.17 to 1.18.
-
-It now allows IO::Handle objects (and objects in derived classes) to be
-removed from an IO::Select set even if the underlying file descriptor is
-closed or invalid.
-
-=item *
-
-C<IPC::Cmd> has been upgraded from version 0.68 to 0.70
-
-=item *
-
-C<HTTP::Tiny> has been upgraded from version 0.009 to 0.010
-
-=item *
-
-C<Math::BigInt> has been upgraded from version 1.99_04 to 1.992.
-
-=item *
-
-C<Module::Build> has been upgraded from version 0.3607 to 0.37_05.
-
-A notable change is the deprecation of several modules.
-Module::Build::Version has been deprecated and Module::Build now relies
-directly upon L<version>. Module::Build::ModuleInfo has been deprecated in
-favor of a standalone copy of it called L<Module::Metadata>.
-Module::Build::YAML has been deprecated in favor of L<CPAN::Meta::YAML>.
-
-Module::Build now also generates META.json and MYMETA.json files
-in accordance with version 2 of the CPAN distribution metadata specification,
-L<CPAN::Meta::Spec>. The older format META.yml and MYMETA.yml files are
-still generated, as well.
-
-=item *
-
-C<Module::Load::Conditional> has been upgraded from version 0.40 to 0.44
-
-=item *
-
-C<Module::Metadata> has been upgraded from version 1.000003 to 1.000004.
-
-=item *
-
-C<overload> has been upgraded from version 1.12 to 1.13.
-
-The documentation has greatly improved. See L</Documentation> below.
-
-=item *
-
-C<Parse::CPAN::Meta> has been upgraded from version 1.40 to 1.4401.
-
-The latest Parse::CPAN::Meta can now read YAML or JSON files using
-L<CPAN::Meta::YAML> and L<JSON::PP>, which are now part of the Perl core.
-
-=item *
-
-C<re> has been upgraded from version 0.16 to 0.17.
-
-It now supports the double-a flag: C<use re '/aa';>
-
-The C<regmust> function used to crash when called on a regular expression
-belonging to a pluggable engine. Now it has been disabled for those.
-
-C<regmust> no longer leaks memory.
-
-=item *
-
-C<Term::UI> has been upgraded from version 0.24 to 0.26
-
-=item *
-
-C<Unicode::Collate> has been upgraded from version 0.68 to 0.72
-
-This also sees the switch from using the pure-perl version of this
-module to the XS version.`
-
-=item *
-
-C<VMS::DCLsym> has been upgraded from version 1.04 to 1.05.
-
-Two bugs have been fixed [perl #84086]:
-
-The symbol table name was lost when tying a hash, due to a thinko in
-C<TIEHASH>. The result was that all tied hashes interacted with the
-local symbol table.
-
-Unless a symbol table name had been explicitly specified in the call
-to the constructor, querying the special key ':LOCAL' failed to
-identify objects connected to the local symbol table.
-
-=item *
-
-Added new function C<Unicode::UCD::num()>. This function will return the
-numeric value of the string passed it; C<undef> if the string in its
-entirety has no safe numeric value.
-
-To be safe, a string must be a single character which has a numeric
-value, or consist entirely of characters that match \d, coming from the
-same Unicode block of digits. Thus, a mix of Bengali and Western
-digits would be considered unsafe, as well as a mix of half- and
-full-width digits, but strings consisting entirely of Devanagari digits
-or of "Mathematical Bold" digits would would be safe.
-
-=item *
-
-C<CPAN> has been upgraded from version 1.94_63 to 1.94_64.
-
-=back
-
-=head1 Documentation
-
-=head2 Changes to Existing Documentation
-
-=head3 L<overload>
-
-=over 4
-
-=item *
-
-L<overload>'s documentation has practically undergone a rewrite. It
-is now much more straightforward and clear.
-
-=back
-
-=head3 L<perlhack> and perlrepository
-
-=over 4
-
-=item *
-
-The L<perlhack> and perlrepository documents have been heavily edited and
-split up into several new documents.
-
-The L<perlhack> document is now much shorter, and focuses on the Perl 5
-development process and submitting patches to Perl. The technical content has
-been moved to several new documents, L<perlsource>, L<perlinterp>,
-L<perlhacktut>, and L<perlhacktips>. This technical content has only been
-lightly edited.
-
-The perlrepository document has been renamed to L<perlgit>. This new document
-is just a how-to on using git with the Perl source code. Any other content
-that used to be in perlrepository has been moved to perlhack.
-
-=back
-
-=head3 L<perlfunc>
-
-=over 4
-
-=item *
-
-The documentation for the C<map> function now contains more examples,
-see B<perldoc -f map> (f947627)
-
-=back
-
-=head3 L<perlfaq4>
-
-=over 4
-
-=item *
-
-Examples in L<perlfaq4> have been updated to show the use of
-L<Time::Piece>. (9243591)
-
-=back
-
-=head3 Miscellaneous
-
-=over 4
-
-=item *
-
-Many POD related RT bugs and other issues which are too numerous to
-enumerate have been solved by Michael Stevens.
-
-=back
-
-=head1 Diagnostics
-
-The following additions or changes have been made to diagnostic output,
-including warnings and fatal error messages. For the complete list of
-diagnostic messages, see L<perldiag>.
-
-=head2 New Diagnostics
-
-=over 4
-
-=item "\b{" is deprecated; use "\b\{" instead
-
-=item "\B{" is deprecated; use "\B\{" instead
-
-Use of an unescaped "{" immediately following a C<\b> or C<\B> is now
-deprecated so as to reserve its use for Perl itself in a future release.
-
-=item regcomp: Add warning if \p is used under locale. (fb2e24c)
-
-C<\p> implies Unicode matching rules, which are likely going to be
-different than the locale's.
-
-=item panic: gp_free failed to free glob pointer - something is repeatedly re-creating entries
-
-This new error is triggered if a destructor called on an object in a
-typeglob that is being freed creates a new typeglob entry containing an
-object with a destructor that creates a new entry containing an object....
-
-=item refcnt: fd %d%s
-
-This new error only occurs if a internal consistency check fails when a
-pipe is about to be closed.
-
-=back
-
-=head2 Changes to Existing Diagnostics
-
-=over 4
-
-=item *
-
-The warning message about regex unrecognized escapes passed through is
-changed to include any literal '{' following the 2-char escape. e.g.,
-"\q{" will include the { in the message as part of the escape
-(216bfc0).
-
-=item *
-
-C<binmode $fh, ':scalar'> no longer warns (8250589)
-
-Perl will now no longer produce this warning:
-
- $ perl -we 'open my $f, ">", \my $x; binmode $f, "scalar"'
- Use of uninitialized value in binmode at -e line 1.
-
-=back
-
-=head1 Utility Changes
-
-=head3 L<perlbug>
-
-=over 4
-
-=item *
-
-[perl #82996] Use the user's from address as return-path in perlbug
-
-Many systems these days don't have a valid Internet domain name and
-perlbug@perl.org does not accept email with a return-path that does
-not resolve. Therefore pass the user's address to sendmail so it's
-less likely to get stuck in a mail queue somewhere. (019cfd2)
-
-=back
-
-=head1 Configuration and Compilation
-
-=over 4
-
-=item *
-
-make reg_eval_scope.t TODOs consistently fail (daaf7ac)
-
-Some of the TODO tests in reg_eval_scope.t spuriously passed under
-non-threaded builds. Make the tests harder so they always fail.
-
-Since one of the key bugs in (?{..}) is the trashing of the parent pad,
-add some extra lexical vars to the parent scope and check they're still
-there at the end.
-
-=item *
-
-Stop EU::CBuilder's tests from failing in parallel (cbf59d5)
-
-It used to use the same paths for temporary files in all tests. This
-blew up randomly when the tests were run in parallel.
-
-=back
-
-=head1 Testing
-
-=over 4
-
-=item *
-
-F<porting/FindExt.t> now skips all tests on a static (-Uusedl) build
-of perl.
-
-=item *
-
-F<porting/FindExt.t> now passes on non-Win32 platforms when some
-extensions are built statically.
-
-=back
-
-=head1 Platform Support
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-=item Windows
-
-=over 4
-
-=item *
-
-The C<test-prep> build target now depends on F<pod/perltoc.pod> to allow the
-F<t/porting/buildtoc.t> test to run successfully.
-
-=back
-
-=item MirBSD
-
-=over 4
-
-=item *
-
-[perl #82988] Skip hanging taint.t test on MirBSD 10 (1fb83d0)
-
-Skip a hanging test under MirBSD that was already being skipped under
-OpenBSD.
-
-=item *
-
-Previously if you build perl with a shared libperl.so on MirBSD (the
-default config), it will work up to the installation; however, once
-installed, it will be unable to find libperl. Treat path handling
-like in the other BSD dialects.
-
-=back
-
-=back
-
-=head1 Internal Changes
-
-=over 4
-
-=item *
-
-Fix harmless invalid read in Perl_re_compile() (f6d9469)
-
-[perl #2460] described a case where electric fence reported an invalid
-read. This could be reproduced under valgrind with blead and -e'/x/',
-but only on a non-debugging build.
-
-This was because it was checking for certain pairs of nodes (e.g. BOL + END)
-and wasn't allowing for EXACT nodes, which have the string at the next
-node position when using a naive NEXTOPER(first). In the non-debugging
-build, the nodes aren't initialised to zero, and a 1-char EXACT node isn't
-long enough to spill into the type field of the "next node".
-
-Fix this by only using NEXTOPER(first) when we know the first node is
-kosher.
-
-=item *
-
-Break out the generated function Perl_keywords() into F<keywords.c>, a new file. (26ea9e1)
-
-As it and Perl_yylex() both need FEATURE_IS_ENABLED, feature_is_enabled() is
-no longer static, and the two macro definitions move from toke.c to perl.h
-
-Previously, one had to cut and paste the output of perl_keywords.pl into the
-middle of toke.c, and it was not clear that it was generated code.
-
-=item *
-
-A lot of tests have been ported from Test to Test::More, e.g. in
-3842ad6.
-
-=item *
-
-Increase default PerlIO buffer size. (b83080d)
-
-The previous default size of a PerlIO buffer (4096 bytes) has been increased
-to the larger of 8192 bytes and your local BUFSIZ. Benchmarks show that doubling
-this decade-old default increases read and write performance in the neighborhood
-of 25% to 50% when using the default layers of perlio on top of unix. To choose
-a non-default size, such as to get back the old value or to obtain and even
-larger value, configure with:
-
- ./Configure -Accflags=-DPERLIOBUF_DEFAULT_BUFSIZ=N
-
-where N is the desired size in bytes; it should probably be a multiple of
-your page size.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-A Unicode C<\p{}> property match in a regular expression pattern will
-now force Unicode rules for the rest of the regular expression
-
-=item *
-
-[perl #38456] binmode FH, ":crlf" only modifies top crlf layer (7826b36)
-
-When pushed on top of the stack, crlf will no longer enable crlf layers
-lower in the stack. This will prevent unexpected results.
-
-=item *
-
-Fix 'raw' layer for RT #80764 (ecfd064)
-
-Made a ':raw' open do what it advertises to do (first open the file,
-then binmode it), instead of leaving off the top layer.
-
-=item *
-
-Use PerlIOBase_open for pop, utf8 and bytes layers (c0888ac)
-
-Three of Perl's builtin PerlIO layers (C<:pop>, C<:utf8> and
-C<:bytes>) didn't allow stacking when opening a file. For example
-this:
-
- open FH, '>:pop:perlio', 'some.file' or die $!;
-
-Would throw an error: "Invalid argument". This has been fixed in this
-release.
-
-=item *
-
-An issue present since 5.13.1, where s/A/B/ with A utf8 and B
-non-utf8, could cause corruption or segfaults has been
-fixed. (c95ca9b)
-
-=item *
-
-String evals will no longer fail after 2 billion scopes have been
-compiled (d1bfb64, 2df5bdd, 0d311cd and 6012dc8)
-
-=item *
-
-[perl #81750] When strict 'refs' mode is off,
-C<%{...}> in rvalue context returns C<undef> if
-its argument is undefined. An optimisation introduced in perl 5.12.0 to
-make C<keys %{...}> faster when used as a boolean did not take this into
-account, causing C<keys %{+undef}> (and C<keys %$foo> when C<$foo> is
-undefined) to be an error, which it should only be in strict mode.
-
-=item *
-
-[perl #83194] Combining the vector (%v) flag and dynamic precision would
-cause sprintf to confuse the order of its arguments, making it treat the
-string as the precision and vice versa.
-
-=item *
-
-[perl #77692] Sometimes the UTF8 length cache would not be reset on a value
-returned by substr, causing C<length(substr($uni_string,...))> to give
-wrong answers. With C<${^UTF8CACHE}> set to -1, it would produce a 'panic'
-error message, too.
-
-=item *
-
-During the restoration of a localised typeglob on scope exit, any
-destructors called as a result would be able to see the typeglob in an
-inconsistent state, containing freed entries, which could result in a
-crash. This would affect code like this:
-
- local *@;
- eval { die bless [] }; # puts an object in $@
- sub DESTROY {
- local $@; # boom
- }
-
-Now the glob entries are cleared before any destructors are called. This
-also means that destructors can vivify entries in the glob. So perl tries
-again and, if the entries are re-created too many times, dies with a
-'panic: gp_free...' error message.
-
-=item *
-
-[perl #78494] When pipes are shared between threads, the C<close> function
-(and any implicit close, such as on thread exit) no longer blocks.
-
-=item *
-
-Several contexts no longer allow a Unicode character to begin a word
-that should never begin words, for an example an accent that must follow
-another character previously could precede all other characters.
-
-=item *
-
-Case insensitive matching in regular expressions compiled under C<use
-locale> now works much more sanely when the pattern and/or target string
-are encoded in UTF-8. Previously, under these conditions the localeness
-was completely lost. Now, code points above 255 are treated as Unicode,
-but code points between 0 and 255 are treated using the current locale
-rules, regardless of whether the pattern or string are encoded in UTF-8.
-The few case insensitive matches that cross the 255/256 boundary are not
-allowed. For example, 0xFF does not caselessly match the character at
-0x178, LATIN CAPITAL LETTER Y WITH DIAERESIS, because 0xFF may not be
-LATIN SMALL LETTER Y in the current locale, and Perl has no way of
-knowing if that character even exists in the locale, much less what code
-point it is.
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.13.10 represents approximately one month of development since
-Perl 5.13.9 and contains approximately 63000 lines of changes across
-609 files from 38 authors and committers:
-
-Abigail, Alexander Hartmaier, brian d foy, Charles Bailey, Chip
-Salzenberg, Chris 'BinGOs' Williams, Craig A. Berry, Curtis Jewell,
-Dave Rolsky, David Golden, David Leadbeater, David Mitchell, David
-Wheeler, Father Chrysostomos, Florian Ragwitz, Franz Fasching, George
-Greer, H.Merijn Brand, Hongwen Qiu, Hugo van der Sanden, Jay Hannah,
-Jesse Vincent, Karl Williamson, Larwan Berke, Leon Timmermans, Michael
-Breen, Michael Stevens, Nicholas Clark, Noirin Shirley, Paul Evans,
-Peter John Acklam, Ricardo Signes, Robin Barker, Steven Schubiger, Tom
-Christiansen, Tony Cook, Zsbán Ambrus and Ævar Arnfjörð Bjarmason
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://rt.perl.org/perlbug/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the L<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please send
-it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
-to help assess the impact of issues, figure out a resolution, and help
-co-ordinate the release of patches to mitigate or fix the problem across all
-platforms on which Perl is supported. Please only use this address for
-security issues in the Perl core, not for modules independently
-distributed on CPAN.
-
-=head1 SEE ALSO
-
-The F<Changes> file for an explanation of how to view exhaustive details
-on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl51311delta.pod b/Master/tlpkg/tlperl/lib/pods/perl51311delta.pod
deleted file mode 100644
index 8d537e9c8d8..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl51311delta.pod
+++ /dev/null
@@ -1,513 +0,0 @@
-=encoding utf8
-
-=head1 NAME
-
-perl51311delta - what is new for perl v5.13.11
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.13.10 release and
-the 5.13.11 release.
-
-If you are upgrading from an earlier release such as 5.13.9, first read
-L<perl5139delta>, which describes differences between 5.13.9 and
-5.13.10.
-
-=head1 Security
-
-=head2 User-defined regular expression properties
-
-Perl no longer allows a tainted regular expression to invoke a user-defined
-property via C<\p{...}> syntax. It simply dies instead [perl #82616].
-
-=head1 Incompatible Changes
-
-=head2 local($_) will strip all magic from $_
-
-local() on scalar variables will give them a new value, but keep all
-their magic intact. This has proven to be problematic for the default
-scalar variable $_, where L<perlsub> recommends that any subroutine
-that assigns to $_ should localize it first. This would throw an
-exception if $_ is aliased to a read-only variable, and could have
-various unintentional side-effects in general.
-
-Therefore, as an exception to the general rule, local($_) will not
-only assign a new value to $_, but also remove all existing magic from
-it as well.
-
-=head2 Passing references to warn()
-
-An earlier Perl 5.13.x release changed C<warn($ref)> to leave the reference
-unchanged, allowing C<$SIG{__WARN__}> handlers to access the original
-reference. But this stopped warnings that were references from having the
-file and line number appended even when there was no C<$SIG{__WARN__}>
-handler in place.
-
-Now C<warn> checks for the presence of such a handler and, if there is
-none, proceeds to stringify the reference and append the file and line
-number. This allows simple uses of C<warn> for debugging to continue to
-work as they did before.
-
-=head2 fork() emulation will not wait for signalled children
-
-On Windows parent processes would not terminate until all forked
-childred had terminated first. However, C<kill('KILL', ...)> is
-inherently unstable on pseudo-processes, and C<kill('TERM', ...)>
-might not get delivered if the child if blocked in a system call.
-
-To avoid the deadlock and still provide a safe mechanism to terminate
-the hosting process, Perl will now no longer wait for children that
-have been sent a SIGTERM signal. It is up to the parent process to
-waitpid() for these children if child clean-up processing must be
-allowed to finish. However, it is also the responsibility of the
-parent then to avoid the deadlock by making sure the child process
-can't be blocked on I/O either.
-
-See L<perlfork> for more information about the fork() emulation on
-Windows.
-
-=head2 Perl source code is read in text mode on Windows
-
-Perl scripts used to be read in binary mode on Windows for the benefit
-of the ByteLoader module (which is no longer part of core Perl). This
-had the side effect of breaking various operations on the DATA filehandle,
-including seek()/tell(), and even simply reading from DATA after file handles
-have been flushed by a call to system(), backticks, fork() etc.
-
-The default build options for Windows have been changed to read Perl source
-code on Windows in text mode now. Hopefully ByteLoader will be updated on
-CPAN to automatically handle this situation.
-
-=head1 Performance Enhancements
-
-=over 4
-
-=item *
-
-An earlier optimisation to speed up C<my @array = ...> and
-C<my %hash = ...> assignments caused a bug and was disabled in Perl 5.12.0.
-
-Now we have found another way to speed up these assignments [perl #82110].
-
-=back
-
-=head1 Modules and Pragmata
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item *
-
-C<attributes> has been upgraded from version 0.13 to 0.14.
-
-=item *
-
-C<base> has been upgraded from version 2.15 to 2.16.
-
-=item *
-
-C<CPAN> has been upgraded from version 1.94_65 to 1.9600.
-
-=item *
-
-C<CPANPLUS> has been upgraded from version 0.9101 to 0.9103
-
-=item *
-
-C<CPANPLUS::Dist::Build> has been upgraded from version 0.52 to 0.54
-
-=item *
-
-C<Cwd> has been downgraded from version 3.37 to 3.36.
-
-An optimisation that recent core changes have rendered unnecessary has been
-reverted.
-
-=item *
-
-C<Devel::DProf> has been upgraded from version 20110225.01 to 20110228.00.
-
-=item *
-
-C<Digest::SHA> has been upgraded from version 5.50 to 5.61
-
-New SHA-512/224 and SHA-512/256 transforms ref. NIST Draft FIPS 180-4 (February 2011)
-
-=item *
-
-C<ExtUtils::Command> has been upgraded from version 1.16 to 1.17.
-
-=item *
-
-C<File::Copy> has been downgraded from version 2.22 to 2.21.
-
-An optimisation that recent core changes have rendered unnecessary has been
-reverted.
-
-=item *
-
-C<File::Glob> has been upgraded from version 1.11 to 1.12.
-
-=item *
-
-C<GDBM_File> has been upgraded from version 1.13 to 1.14.
-
-=item *
-
-C<Hash::Util> has been upgraded from version 0.10 to 0.11.
-
-=item *
-
-C<Hash::Util::FieldHash> has been upgraded from version 1.08 to 1.09.
-
-=item *
-
-C<HTTP::Tiny> has been upgraded from version 0.010 to 0.011.
-
-=item *
-
-C<I18N::Langinfo> has been upgraded from version 0.07 to 0.08.
-
-=item *
-
-C<IO> has been upgraded from version 1.25_03 to 1.25_04.
-
-=item *
-
-C<JSON::PP> has been upgraded from version 2.27103 to 2.27105
-
-=item *
-
-C<Locale::Codes> has been upgraded from version 3.15 to 3.16
-
-=item *
-
-C<Math::BigInt> has been upgraded from version 1.992 to 1.994
-
-=item *
-
-C<Math::BigInt::FastCalc> has been upgraded from version 0.24_02 to 0.28
-
-=item *
-
-C<Module::Build> has been upgraded from version 0.37_05 to 0.3800
-
-=item *
-
-C<Module::CoreList> has been upgraded from version 2.45 to 2.46.
-
-=item *
-
-C<mro> has been upgraded from version 1.06 to 1.07.
-
-=item *
-
-C<NDBM_File> has been upgraded from version 1.11 to 1.12.
-
-=item *
-
-C<parent> has been upgraded from version 0.224 to 0.225
-
-=item *
-
-C<Pod::Simple> has been upgraded from version 3.15 to 3.16
-
-=item *
-
-C<Storable> has been upgraded from version 2.26 to 2.27.
-
-=item *
-
-C<Sys::Hostname> has been upgraded from version 1.15 to 1.16.
-
-=item *
-
-C<Test::Harness> has been upgraded from version 3.22 to 3.23
-
-=item *
-
-C<Test::Simple> has been upgraded from version 0.97_01 to 0.98
-
-=item *
-
-C<Tie::Hash::NamedCapture> has been upgraded from version 0.07 to 0.08.
-
-Some of the Perl code has been converted to XS for efficency's sake.
-
-=item *
-
-C<Tie::RefHash> has been upgraded from version 1.38 to 1.39.
-
-=item *
-
-C<Unicode::Collate> has been upgraded from version 0.72 to 0.73
-
-DUCET has been updated for Unicode 6.0.0 as Collate/allkeys.txt and
-the default UCA_Version is 22.
-
-=item *
-
-C<Unicode::UCD> has been upgraded from version 0.31 to 0.32.
-This includes a number of bug fixes:
-
-=over 4
-
-=item charinfo()
-
-=over 4
-
-=item *
-
-It is now updated to Unicode Version 6 with Corrigendum #8, except,
-as with Perl 5.14, the code point at U+1F514 has no name.
-
-=item *
-
-The Hangul syllable code points have the correct names, and their
-decompositions are always output without requiring L<Lingua::KO::Hangul::Util>
-to be installed.
-
-=item *
-
-The CJK (Chinese-Japanese-Korean) code points U+2A700 - U+2B734
-and U+2B740 - 2B81D are now properly handled.
-
-=item *
-
-The numeric values are now output for those CJK code points that have them.
-
-=item *
-
-The names that are output for code points with multiple aliases are now the
-corrected ones.
-
-=back
-
-=item charscript()
-
-This now correctly returns "Unknown" instead of C<undef> for the script
-of a code point that hasn't been assigned another one.
-
-=item charblock()
-
-This now correctly returns "No_Block" instead of C<undef> for the block
-of a code point that hasn't been assigned to another one.
-
-=back
-
-=item *
-
-C<XS::Typemap> has been upgraded from version 0.04 to 0.05.
-
-=back
-
-=head1 Documentation
-
-=head2 Changes to Existing Documentation
-
-=head3 L<perlfunc>
-
-=over 4
-
-=item *
-
-Clarified the order in which to check C<$@> and C<$!> after C<do FILE>.
-(RT #80626)
-
-=back
-
-=head1 Diagnostics
-
-The following additions or changes have been made to diagnostic output,
-including warnings and fatal error messages. For the complete list of
-diagnostic messages, see L<perldiag>.
-
-=head2 New Diagnostics
-
-=over 4
-
-=item *
-
-Regexp modifier "/%c" may not appear twice
-
-(F syntax) The regular expression pattern had one of the mutually exclusive
-modifiers repeated. Remove all but one of the occurrences.
-
-=item *
-
-Regexp modifiers "/%c" and "/%c" are mutually exclusive
-
-(F syntax) The regular expression pattern had more than one of the mutually
-exclusive modifiers. Retain only the modifier that is supposed to be there.
-
-=item *
-
-Insecure user-defined property %s
-
-(F) Perl detected tainted data when trying to compile a regular
-expression that contains a call to a user-defined character property
-function, i.e. C<\p{IsFoo}> or C<\p{InFoo}>.
-See L<perlunicode/User-Defined Character Properties> and L<perlsec>.
-
-=back
-
-=head1 Testing
-
-Many of the tests have been refactored to use testing libraries more
-consistently. In some cases test files were created or deleted:
-
-=over 4
-
-=item *
-
-The tests for C<split /\s/> and Unicode have been moved from
-F<t/op/split.t> to the new F<t/op/split_unicode.t>.
-
-=item *
-
-F<t/re/re.t> has been moved to F<ext/re/t/re_funcs_u.t>.
-
-=item *
-
-The tests for [perl #72922] have been moved from F<t/re/qr.t> to the new
-F<t/re/qr-72922.t>.
-
-=item *
-
-F<t/re/reg_unsafe.t> has been deleted and its only test moved to
-F<t/re/pat_advanced.t>.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-A fix for a bug in C<length(undef)> in 5.13.4 introduced a regression that
-meant C<print length undef> did not warn when warnings were enabled. It now
-correctly warns [perl #85508].
-
-=item *
-
-The C<(?|...)> regular expression construct no longer crashes if the final
-branch has more sets of capturing parentheses than any other branch. This
-was fixed in Perl 5.10.1 for the case of a single branch, but that fix did
-not take multiple branches into account [perl #84746].
-
-=item *
-
-Accessing an element of a package array with a hard-coded number (as
-opposed to an arbitrary expression) would crash if the array did not exist.
-Usually the array would be autovivified during compilation, but typeglob
-manipulation could remove it, as in these two cases which used to crash:
-
- *d = *a; print $d[0];
- undef *d; print $d[0];
-
-=item *
-
-C<#line> directives in string evals were not properly updating the arrays
-of lines of code (C<< @{"_<..."} >>) that the debugger (or any debugging or
-profiling module) uses. In threaded builds, they were not being updated at
-all. In non-threaded builds, the line number was ignored, so any change to
-the existing line number would cause the lines to be misnumbered
-[perl #79442].
-
-=item *
-
-C<$AUTOLOAD> used to remain tainted forever if it ever became tainted. Now
-it is correctly untainted if an autoloaded method is called and the method
-name was not tainted.
-
-=item *
-
-A bug has been fixed in the implementation of C<{...}> quantifiers in
-regular expressions that prevented the code block in
-C</((\w+)(?{ print $2 })){2}/> from seeing the C<$2> sometimes
-[perl #84294].
-
-=item *
-
-C<sprintf> now dies when passed a tainted scalar for the format. It did
-already die for arbitrary expressions, but not for simple scalars
-[perl #82250].
-
-=item *
-
-DESTROY methods of objects implementing ties are no longer able to crash by
-accessing the tied variable through a weak reference [perl #86328].
-
-=item *
-
-On Windows, calling kill(9, $child) on a pseudo-process created by the fork()
-emulation is inherently unstable. It can also be responsible for overriding
-the parent process exit code with a value of '9' if the parent terminates
-right after killing the child. This condition will now happen a lot less
-often than before.
-
-See also L</"fork() emulation will not wait for signalled children"> for a
-better way to terminate child processes that avoids deadlocks altogether.
-
-=item *
-
-Ensure that the C<exists &Errno::EFOO> idiom continues to work as documented.
-
-A change post-5.12 caused the documented idiom not to work if Errno was loaded
-after the C<exists> code had been compiled, as the compiler implicitly creates
-typeglobs in the Errno symbol table when it builds the optree for the C<exists
-code>.
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.13.11 represents approximately one month of development since Perl
-5.13.10 and contains approximately 80,000 lines of changes across 549 files from
-31 authors and committers:
-
-Alastair Douglas, Arvan, Boris Ratner, brian d foy, Chris 'BinGOs' Williams,
-Craig A. Berry, David Golden, David Leadbeater, David Mitchell, Father
-Chrysostomos, Florian Ragwitz, Jan Dubois, Karl Williamson, Kevin Ryde, Leon
-Brocard, Leon Timmermans, Michael Stevens, Michael Witten, Moritz Lenz, Nicholas
-Clark, Paul Johnson, Peter John Acklam, Reini Urban, Robin Barker, Steve Hay,
-Sullivan Beck, Tony Cook, Vadim Konovalov, Yves Orton, Zefram and Ævar Arnfjörð
-Bjarmason
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://rt.perl.org/perlbug/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the L<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please send
-it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
-to help assess the impact of issues, figure out a resolution, and help
-co-ordinate the release of patches to mitigate or fix the problem across all
-platforms on which Perl is supported. Please only use this address for
-security issues in the Perl core, not for modules independently
-distributed on CPAN.
-
-=head1 SEE ALSO
-
-The F<Changes> file for an explanation of how to view exhaustive details
-on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5131delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5131delta.pod
deleted file mode 100644
index 1a372bfd6af..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl5131delta.pod
+++ /dev/null
@@ -1,287 +0,0 @@
-=encoding utf8
-
-=head1 NAME
-
-perl5131delta - what is new for perl v5.13.1
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.13.0 release and
-the 5.13.1 release.
-
-If you are upgrading from an earlier release such as 5.10, first read
-L<perl5120delta>, which describes differences between 5.10 and
-5.12.
-
-=head1 Incompatible Changes
-
-=head2 "C<\cI<X>>"
-
-The backslash-c construct was designed as a way of specifying
-non-printable characters, but there were no restrictions (on ASCII
-platforms) on what the character following the C<c> could be. Now, that
-character must be one of the ASCII characters.
-
-=head2 localised tied hashes, arrays and scalars are no longed tied
-
-In the following:
-
- tie @a, ...;
- {
- local @a;
- # here, @a is a now a new, untied array
- }
- # here, @a refers again to the old, tied array
-
-The new local array used to be made tied too, which was fairly pointless,
-and has now been fixed. This fix could however potentially cause a change
-in behaviour of some code.
-
-=head2 C<given> return values
-
-Starting from this release, C<given> blocks returns the last evaluated
-expression, or an empty list if the block was exited by C<break>. Thus you
-can now write:
-
- my $type = do {
- given ($num) {
- break when undef;
- 'integer' when /^[+-]?[0-9]+$/;
- 'float' when /^[+-]?[0-9]+(?:\.[0-9]+)?$/;
- 'unknown';
- }
- };
-
-See L<perlsyn/Return value> for details.
-
-=head1 Core Enhancements
-
-=head2 Exception Handling Reliability
-
-Several changes have been made to the way C<die>, C<warn>, and C<$@>
-behave, in order to make them more reliable and consistent.
-
-When an exception is thrown inside an C<eval>, the exception is no
-longer at risk of being clobbered by code running during unwinding
-(e.g., destructors). Previously, the exception was written into C<$@>
-early in the throwing process, and would be overwritten if C<eval> was
-used internally in the destructor for an object that had to be freed
-while exiting from the outer C<eval>. Now the exception is written
-into C<$@> last thing before exiting the outer C<eval>, so the code
-running immediately thereafter can rely on the value in C<$@> correctly
-corresponding to that C<eval>.
-
-Likewise, a C<local $@> inside an C<eval> will no longer clobber any
-exception thrown in its scope. Previously, the restoration of C<$@> upon
-unwinding would overwrite any exception being thrown. Now the exception
-gets to the C<eval> anyway. So C<local $@> is safe inside an C<eval>,
-albeit of rather limited use.
-
-Exceptions thrown from object destructors no longer modify the C<$@>
-of the surrounding context. (If the surrounding context was exception
-unwinding, this used to be another way to clobber the exception being
-thrown. Due to the above change it no longer has that significance,
-but there are other situations where C<$@> is significant.) Previously
-such an exception was sometimes emitted as a warning, and then either
-string-appended to the surrounding C<$@> or completely replaced the
-surrounding C<$@>, depending on whether that exception and the surrounding
-C<$@> were strings or objects. Now, an exception in this situation is
-always emitted as a warning, leaving the surrounding C<$@> untouched.
-In addition to object destructors, this also affects any function call
-performed by XS code using the C<G_KEEPERR> flag.
-
-C<$@> is also no longer used as an internal temporary variable when
-preparing to C<die>. Previously it was internally necessary to put
-any exception object (any non-string exception) into C<$@> first,
-before it could be used as an exception. (The C API still offers the
-old option, so an XS module might still clobber C<$@> in the old way.)
-This change together with the foregoing means that, in various places,
-C<$@> may be observed to contain its previously-assigned value, rather
-than having been overwritten by recent exception-related activity.
-
-Warnings for C<warn> can now be objects, in the same way as exceptions
-for C<die>. If an object-based warning gets the default handling,
-of writing to standard error, it will of course still be stringified
-along the way. But a C<$SIG{__WARN__}> handler will now receive an
-object-based warning as an object, where previously it was passed the
-result of stringifying the object.
-
-=head1 Modules and Pragmata
-
-=head2 Updated Modules
-
-=over
-
-=item C<Errno>
-
-The implementation of C<Errno> has been refactored to use about 55% less memory.
-There should be no user-visible changes.
-
-=item Perl 4 C<.pl> libraries
-
-These historical libraries have been minimally modified to avoid using
-C<$[>. This is to prepare them for the deprecation of C<$[>.
-
-=item C<B::Deparse>
-
-A bug has been fixed when deparsing a nextstate op that has both a
-change of package (relative to the previous nextstate), or a change of
-C<%^H> or other state, and a label. Previously the label was emitted
-first, leading to syntactically invalid output because a label is not
-permitted immediately before a package declaration, B<BEGIN> block,
-or some other things. Now the label is emitted last.
-
-=back
-
-=head2 Removed Modules and Pragmata
-
-The following modules have been removed from the core distribution, and if
-needed should be installed from CPAN instead.
-
-=over
-
-=item C<Class::ISA>
-
-=item C<Pod::Plainer>
-
-=item C<Switch>
-
-=back
-
-The removal of C<Shell> has been deferred until after 5.14, as the
-implementation of C<Shell> shipped with 5.12.0 did not correctly issue the
-warning that it was to be removed from core.
-
-=head1 New Documentation
-
-=over 4
-
-=item perlgpl
-
-L<perlgpl> has been updated to contain GPL version 1, as is included in the
-F<README> distributed with perl.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-Naming a deprecated character in \N{...} will not leak memory.
-
-=item *
-
-FETCH is no longer called needlessly on some tied variables.
-
-=item *
-
-The trie runtime code should no longer allocate massive amounts of memory,
-fixing #74484.
-
-=back
-
-=head1 Changed Internals
-
-=over 4
-
-=item *
-
-The protocol for unwinding the C stack at the last stage of a C<die>
-has changed how it identifies the target stack frame. This now uses
-a separate variable C<PL_restartjmpenv>, where previously it relied on
-the C<blk_eval.cur_top_env> pointer in the C<eval> context frame that
-has nominally just been discarded. This change means that code running
-during various stages of Perl-level unwinding no longer needs to take
-care to avoid destroying the ghost frame.
-
-=item *
-
-The format of entries on the scope stack has been changed, resulting in a
-reduction of memory usage of about 10%. In particular, the memory used by
-the scope stack to record each active lexical variable has been halved.
-
-=item *
-
-Memory allocation for pointer tables has been changed. Previously
-C<Perl_ptr_table_store> allocated memory from the same arena system as C<SV>
-bodies and C<HE>s, with freed memory remaining bound to those arenas until
-interpreter exit. Now it allocates memory from arenas private to the specific
-pointer table, and that memory is returned to the system when
-C<Perl_ptr_table_free> is called. Additionally, allocation and release are both
-less CPU intensive.
-
-=item *
-
-A new function, Perl_magic_methcall has been added that wraps the setup needed
-to call a magic method like FETCH (the existing S_magic_methcall function has
-been renamed S_magic_methcall1).
-
-=back
-
-=head1 Deprecations
-
-The following items are now deprecated.
-
-=over 4
-
-=item C<Perl_ptr_table_clear>
-
-C<Perl_ptr_table_clear> is no longer part of Perl's public API. Calling it now
-generates a deprecation warning, and it will be removed in a future
-release.
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.13.1 represents thirty days of development since Perl 5.13.0 and
-contains 15390 lines of changes across 289 files from 34 authors and
-committers.
-
-Thank you to the following for contributing to this release:
-
-Ævar Arnfjörð Bjarmason, Arkturuz, Chris 'BinGOs' Williams, Craig A. Berry,
-Curtis Jewell, Dan Dascalescu, David Golden, David Mitchell, Father
-Chrysostomos, Gene Sullivan, gfx, Gisle Aas, H.Merijn Brand, James E Keenan,
-James Mastros, Jan Dubois, Jesse Vincent, Karl Williamson, Leon Brocard,
-Lubomir Rintel (GoodData), Nicholas Clark, Philippe Bruhat (BooK), Rafael
-Garcia-Suarez, Rainer Tammer, Ricardo Signes, Richard Soderberg, Robin Barker,
-Ruslan Zakirov, Steffen Mueller, Todd Rinaldo, Tony Cook, Vincent Pit, Zefram
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://rt.perl.org/perlbug/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please send
-it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
-to help assess the impact of issues, figure out a resolution, and help
-co-ordinate the release of patches to mitigate or fix the problem across all
-platforms on which Perl is supported. Please only use this address for
-security issues in the Perl core, not for modules independently
-distributed on CPAN.
-
-=head1 SEE ALSO
-
-The F<Changes> file for an explanation of how to view exhaustive details
-on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5132delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5132delta.pod
deleted file mode 100644
index 082fa0f69bc..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl5132delta.pod
+++ /dev/null
@@ -1,409 +0,0 @@
-=encoding utf8
-
-=head1 NAME
-
-perl5132delta - what is new for perl v5.13.2
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.13.2 release and
-the 5.13.1 release.
-
-If you are upgrading from an earlier release such as 5.10, first read
-L<perl5120delta>, which describes differences between 5.10 and
-5.12.
-
-=head1 Incompatible Changes
-
-=head2 localised tied scalars are tied again.
-
-The change in behaviour in 5.13.1 of localising tied scalar values has
-been reverted to the existing 5.12.0 and earlier behaviour (the change for
-arrays and hashes remains).
-
-=head2 Naming fixes in Policy_sh.SH may invalidate Policy.sh
-
-Several long-standing typos and naming confusions in Policy_sh.SH have
-been fixed, standardizing on the variable names used in config.sh.
-
-This will change the behavior of Policy.sh if you happen to have been
-accidentally relying on the Policy.sh incorrect behavior. We'd appreciate
-feedback from anyone using Policy.sh to be sure nothing is broken by
-this change (c1bd23).
-
-=head2 Stashes are now always defined
-
-C<defined %Foo::> now always returns true, even when no symbols have yet been
-defined in that package.
-
-This is a side effect of removing a special case kludge in the tokeniser,
-added for 5.10.0, to hide side effects of changes to the internal storage of
-hashes that to drastically reduce their memory usage overhead.
-
-Calling defined on a stash has been deprecated since 5.6.0, warned on
-lexicals since 5.6.0, and has warned for stashes (and other package
-variables) since 5.12.0. C<defined %hash> has always exposed an
-implementation detail - emptying a hash by deleting all entries from it does
-not make C<defined %hash> false, hence C<defined %hash> is not valid code to
-determine whether an arbitrary hash is empty. Instead, use the behaviour
-that an empty C<%hash> always returns false in a scalar context.
-
-=head1 Core Enhancements
-
-=head2 Non-destructive substitution
-
-The substitution operator now supports a C</r> option that
-copies the input variable, carries out the substitution on
-the copy and returns the result. The original remains unmodified.
-
- my $old = 'cat';
- my $new = $old =~ s/cat/dog/r;
- # $old is 'cat' and $new is 'dog'
-
-This is particularly useful with C<map>. See L<perlop> for more examples
-(4f4d75, 000c65).
-
-=head2 package block syntax
-
-A package declaration can now contain a code block, in which case the
-declaration is in scope only inside that block. So C<package Foo { ... }>
-is precisely equivalent to C<{ package Foo; ... }>. It also works with
-a version number in the declaration, as in C<package Foo 1.2 { ... }>.
-See L<perlfunc> (434da3..36f77d, 702646).
-
-=head2 CLONE_PARAMS structure added to ease correct thread creation
-
-Modules that create threads should now create C<CLONE_PARAMS> structures
-by calling the new function C<Perl_clone_params_new()>, and free them with
-C<Perl_clone_params_del()>. This will ensure compatibility with any future
-changes to the internals of the C<CLONE_PARAMS> structure layout, and that
-it is correctly allocated and initialised.
-
-=head2 perl -h no longer recommends -w
-
-perl -h used to mark the -w option as recommended; since this option is
-far less useful than it used to be due to lexical 'use warnings' and since
-perl -h is primary a list and brief explanation of the command line switches,
-the recommendation has now been removed (60eaec).
-
-=head1 Modules and Pragmata
-
-=head2 Updated Modules
-
-=head3 Locale-Codes 3.13
-
-Locale::Country, Locale::Language and Locale::Currency were updated from
-3.12 to 3.13 of the Locale-Codes distribution to include locale code changes
-(e1137b).
-
-=head3 Thread-Semaphore 2.11
-
-Added new methods -E<gt>down_nb() and -E<gt>down_force() at the suggestion
-of Rick Garlick.
-
-Refactored methods to skip argument validation when no argument is supplied.
-
-(04febe, f06daa)
-
-=head3 CPAN.pm 1.94_57
-
-=over 4
-
-=item * release 1.94_57
-
-=item * bugfix: treat modules correctly that are deprecated in perl 5.12.
-
-=item * bugfix: RT #57482 and #57788 revealed that configure_requires
-implicitly assumed build_requires instead of normal requires. (Reported
-by Andrew Whatson and Father Chrysostomos respectively)
-
-=item * testfix: solaris should run the tests without expect because (some?)
-solaris have a broken expect
-
-=item * testfix: run tests with cache_metadata off to prevent spill over
-effects from previous test runs
-
-=back
-
-(742adb)
-
-=head3 Hash::Util warning fix
-
-Hash::Util now enables "no warnings 'uninitialized'" to suppress spurious
-warnings from undefined hash values (RT #74280).
-
-=head3 B::Deparse now handles 'no VERSION'
-
-The 'no 5.13.2' or similar form is now correctly handled by B::Deparse.
-
-=head3 IO::Socket doc additions
-
-getsockopt and setsockopt are now documented.
-
-=head3 B::Concise updated for OPpDEREF
-
-B::Concise marks rv2sv, rv2av and rv2hv ops with the new OPpDEREF flag
-as "DREFed".
-
-=head3 File::Copy doc clarification
-
-An extra stanza was added explaining behaviours when the copy destination
-already exists and is a directory.
-
-=head3 Multiple POD spelling fixes.
-
-Fixes were made to VMS::DCLsym, mro, Search::Dist, B::t::OptreeCheck
-and UNIVERSAL.
-
-=head1 Changes to Existing Documentation
-
-=head2 Replace wrong tr/// table in perlebcdic.pod
-
-perlebcdic.pod contains a helpful table to use in tr/// to convert
-between EBCDIC and Latin1/ASCII. Unfortunately, the table was the
-inverse of the one it describes, though the code that used the table
-worked correctly for the specific example given.
-
-The table has been changed to its inverse, and the sample code changed
-to correspond, as this is easier for the person trying to follow the
-instructions since deriving the old table is somewhat more complicated.
-
-The table has also been changed to hex from octal, as that is more the norm
-these days, and the recipes in the pod altered to print out leading
-zeros to make all the values the same length, as the table that they can
-generate has them (5f26d5).
-
-=head2 Document tricks for user-defined casing
-
-perlunicode.pod now contains an explanation of how to override, mangle
-and otherwise tweak the way perl handles upper, lower and other case
-conversions on unicode data, and how to provide scoped changes to alter
-one's own code's behaviour without stomping on anybody else (71648f).
-
-=head2 Document $# and $* as removed and clarify $#array usage
-
-$# and $* were both disabled as of perl5 version 10; this release adds
-documentation to that effect, a description of the results of continuing
-to try and use them, and a note explaining that $# can also function as a
-sigil in the $#array form (7f315d2).
-
-=head2 INSTALL explicitly states the requirement for C89
-
-This was already true but it's now Officially Stated For The Record (51eec7).
-
-=head2 No longer advertise Math::TrulyRandom
-
-This module hasn't been updated since 1996 so we can't recommend it any more
-(83918a).
-
-=head2 perlfaq synchronised to upstream
-
-The FAQ has been updated to commit
-37550b8f812e591bcd0dd869d61677dac5bda92c from the perlfaq repository
-at git@github.com:briandfoy/perlfaq.git
-
-=head1 Performance Enhancements
-
-Only allocate entries for @_ on demand - this not only saves memory per
-subroutine defined but should hopefully improve COW behaviour (77bac2).
-
-=head2 Multiple small improvements to threads
-
-The internal structures of threading now make fewer API calls and fewer
-allocations, resulting in noticeably smaller object code. Additionally,
-many thread context checks have been deferred so that they're only done
-when required (although this is only possible for non-debugging builds).
-
-=head2 Size optimisations to SV and HV structures
-
-xhv_fill has been eliminated from struct xpvhv, saving 1 IV per hash and
-on some systems will cause struct xpvhv to become cache aligned. To avoid
-this memory saving causing a slowdown elsewhere, boolean use of HvFILL
-now calls HvTOTALKEYS instead (which is equivalent) - so while the fill
-data when actually required is now calculated on demand, the cases when
-this needs to be done should be few and far between (f4431c .. fcd245).
-
-The order of structure elements in SV bodies has changed. Effectively,
-the NV slot has swapped location with STASH and MAGIC. As all access to
-SV members is via macros, this should be completely transparent. This
-change allows the space saving for PVHVs documented above, and may reduce
-the memory allocation needed for PVIVs on some architectures.
-
-=head2 Optimisation of regexp engine string comparison work
-
-The foldEQ_utf8 API function for case-insensitive comparison of strings (which
-is used heavily by the regexp engine) was substantially refactored and
-optimised - and its documentation much improved as a free bonus gift
-(8b3587, e6226b).
-
-=head2 Memory consumption improvements to Exporter
-
-The @EXPORT_FAIL AV is no longer created unless required, hence neither is
-the typeglob backing it - this saves about 200 bytes per Exporter using
-package that doesn't use this functionality.
-
-=head1 Installation and Configuration Improvements
-
-=head2 Compilation improvements
-
-Fix CCINCDIR and CCLIBDIR for mingw64 cross compiler to correctly be under
-$(CCHOME)\mingw\include and \lib rather than immediately below $(CCHOME).
-
-This means the 'incpath', 'libpth', 'ldflags', 'lddlflags' and
-'ldflags_nolargefiles' values in Config.pm and Config_heavy.pl are now
-set correctly (23ae7f).
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item * Timely cleanup of SVs that are cloned into a new thread but then
-discovered to be orphaned (i.e. their owners are -not- cloned) (e42956)
-
-=item * Don't accidentally clone lexicals in scope within active stack frames in
-the parent when creating a child thread (RT #73086) (05d04d).
-
-=item * Avoid loading feature.pm when 'no 5.13.2;' or similar is
-encountered (faee19).
-
-=item * Trap invalid use of SvIVX on SVt_REGEXP when assertions are on
-(e77da3)
-
-=item * Don't stamp on $DB::single, $DB::trace and $DB::signal if they
-already have values when $^P is assigned to (RT #72422) (4c0f30).
-
-=item * chop now correctly handles perl's extended UTF-8 (RT #73246) (65ab92)
-
-=item * Defer signal handling when shared SV locks are held to avoid
-deadlocks (RT #74868) (65c742).
-
-=item * glob() no longer crashes when %File::Glob:: is empty and
-CORE::GLOBAL::glob isn't present (4984aa).
-
-=item * perlbug now always permits the sender address to be changed
-before sending - if you were having trouble sending bug reports before
-now, this should fix it, we hope (e6eb90).
-
-=item * Overloading now works properly in conjunction with tied
-variables. What formerly happened was that most ops checked their
-arguments for overloading I<before> checking for magic, so for example
-an overloaded object returned by a tied array access would usually be
-treated as not overloaded (RT #57012) (6f1401, ed3b9b, 6a5f8c .. 24328f).
-
-=item * Independently, a bug was fixed that prevented $tied-E<gt>() from
-always calling FETCH correctly (RT #8438) (7c7501)
-
-=back
-
-=head1 Changed Internals
-
-=over 4
-
-=item * The implementation of sv_dup_inc() has changed from a macro to a function.
-
-=item *
-
-The C<find_rundefsvoffset> function has been deprecated. It appeared that
-its design was insufficient to reliably get the lexical C<$_> at run-time.
-
-Use the new C<find_rundefsv> function or the C<UNDERBAR> macro instead.
-They directly return the right SV representing C<$_>, whether it's lexical
-or dynamic (789bd8 .. 03d5bc).
-
-=item *
-
-The following new functions or macros have been added to the public API:
-C<SvNV_nomg>, C<sv_2nv_flags>, C<find_rundefsv>.
-
-=item *
-
-The C<UNDERBAR> macro now calls C<find_rundefsv>. C<dUNDERBAR> is now a
-noop but should still be used to ensure past and future compatibility.
-
-=item *
-
-The ibcmp_* functions have been renamed and are now called foldEQ,
-foldEQ_locale and foldEQ_utf8 (e6226b).
-
-=back
-
-=head1 Deprecations
-
-The following items are now deprecated.
-
-=over 4
-
-=item *
-
-Omitting a space between a regex pattern or pattern modifiers and the following
-word is deprecated. For example, C<< m/foo/sand $bar >> will still be parsed
-as C<< m/foo/s and $bar >> but will issue a warning.
-
-=back
-
-=head1 Platform Specific Notes
-
-=head2 Recent OpenBSDs now use perl's malloc
-
-OpenBSD E<gt> 3.7 has a new malloc implementation which is mmap based
-and as such can release memory back to the OS; however for perl using
-this malloc causes a substantial slowdown so we now default to using
-perl's malloc instead (RT #75742) (9b58b5).
-
-=head1 Acknowledgements
-
-Perl 5.13.2 represents thirty days of development since Perl 5.13.1 (and
-two days of waiting around while the release manager remembered where he
-left his brain) and contains 3685 lines of changes across 194 files from
-30 authors and committers.
-
-Thank you to the following for contributing to this release:
-
-Abigail, Andreas J. Koenig, Chas. Owens, Chris 'BinGOs' Williams,
-Craig A. Berry, David Caldwell, David Golden, David Mitchell,
-Father Chrysostomos, George Greer, H.Merijn Brand, Jerry D. Hedden,
-Karl Williamson, Maik Hentsche, Matt S Trout, Nicholas Clark, Rafael
-Garcia-Suarez, Ricardo Signes, Salvador Fandino, Salvador Ortiz Garcia,
-Shlomi Fish, Sinan Unur, Sisyphus, Slaven Rezic, Sullivan Beck, Tony Cook,
-Vincent Pit, Zefram, brian d foy, Ævar Arnfjörð Bjarmason
-
-Your humble release manager would like to specifically call out
-Karl Williamson for making the tests a better place to be, and Shlomi
-Fish for a passel of tiny incremental docfixes of the sort that don't get
-made often enough.
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://rt.perl.org/perlbug/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please send
-it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
-to help assess the impact of issues, figure out a resolution, and help
-co-ordinate the release of patches to mitigate or fix the problem across all
-platforms on which Perl is supported. Please only use this address for
-security issues in the Perl core, not for modules independently
-distributed on CPAN.
-
-=head1 SEE ALSO
-
-The F<Changes> file for an explanation of how to view exhaustive details
-on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5133delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5133delta.pod
deleted file mode 100644
index af03607adf6..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl5133delta.pod
+++ /dev/null
@@ -1,667 +0,0 @@
-=encoding utf8
-
-=head1 NAME
-
-perl5133delta - what is new for perl v5.13.3
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.13.3 release and
-the 5.13.2 release.
-
-If you are upgrading from an earlier release such as 5.13.1, first read
-L<perl5132delta>, which describes differences between 5.13.1 and
-5.13.2.
-
-=head1 Core Enhancements
-
-=head2 \o{...} for octals
-
-There is a new escape sequence, C<"\o">, in double-quote-like contexts.
-It must be followed by braces enclosing an octal number of at least one
-digit. It interpolates as the character with an ordinal value equal to
-the octal number. This construct allows large octal ordinals beyond the
-current max of 0777 to be represented. It also allows you to specify a
-character in octal which can safely be concatenated with other regex
-snippets and which won't be confused with being a backreference to
-a regex capture group. See L<perlre/Capture groups>.
-
-=head2 C<\N{I<name>}> and C<charnames> enhancements
-
-C<\N{}> and C<charnames::vianame> now know about the abbreviated
-character names listed by Unicode, such as NBSP, SHY, LRO, ZWJ, etc., as
-well as all the customary abbreviations for the C0 and C1 control
-characters (such as ACK, BEL, CAN, etc.), as well as a few new variants
-in common usage of some C1 full names.
-
-In the past, it was ineffective to override one of Perl's abbreviations
-with your own custom alias. Now it works.
-
-You can also create a custom alias directly to the ordinal of a
-character, known by C<\N{...}>, C<charnames::vianame()>, and
-C<charnames::viacode()>. Previously, an alias had to be to an official
-Unicode character name. This made it impossible to create an alias for
-a code point that had no name, such as the ones reserved for private
-use. So this change allows you to make more effective use of private
-use characters. Only if there is no official name will
-C<charnames::viacode()> return your custom one.
-
-See L<charnames> for details on all these changes.
-
-=head2 Uppercase X/B allowed in hexadecimal/binary literals
-
-Literals may now use either upper case C<0X...> or C<0B...> prefixes,
-in addition to the already supported C<0x...> and C<0b...>
-syntax. (RT#76296) (a674e8d, 333f87f)
-
-C, Ruby, Python and PHP already supported this syntax, and it makes
-Perl more internally consistent. A round-trip with C<eval sprintf
-"%#X", 0x10> now returns C<16> in addition to C<eval sprintf "%#x",
-0x10>, which worked before.
-
-=head1 Incompatible Changes
-
-=head2 \400 - \777
-
-Use of C<\400> - C<\777> in regexes in certain circumstances has given
-different, anomalous behavior than their use in all other
-double-quote-like contexts. Since 5.10.1, a deprecated warning message
-has been raised when this happens. Now, all double-quote-like contexts
-have the same behavior, namely to be equivalent to C<\x{100}> -
-C<\x{1FF}>, with no deprecation warning. Use of these values in the
-command line option C<"-0"> retains the current meaning to slurp input
-files whole; previously, this was documented only for C<"-0777">. It is
-recommended, however, because of various ambiguities, to use the new
-C<\o{...}> construct to represent characters in octal.
-(fa1639c..f6993e9).
-
-=head1 Deprecations
-
-=head2 Omitting a space between a regular expression and subsequent word
-
-Omitting a space between a regex pattern or pattern modifiers and the
-following word is deprecated. Deprecation for regular expression
-I<matches> was added in Perl 5.13.2. In this release, the deprecation
-is extended to regular expression I<substitutions>. For example,
-C<< s/foo/bar/sand $bar >> will still be parsed as
-C<< s/foo/bar/s and $bar >> but will issue a warning. (aa78b66)
-
-=head2 Deprecation warning added for deprecated-in-core .pl libs
-
-This is a mandatory warning, not obeying -X or lexical warning bits.
-The warning is modelled on that supplied by deprecate.pm for
-deprecated-in-core .pm libraries. It points to the specific CPAN
-distribution that contains the .pl libraries. The CPAN version, of
-course, does not generate the warning. (0111154)
-
-=head1 Performance Enhancements
-
-There are several small optimizations to reduce CPU cache misses in various very
-commonly used modules like C<warnings> and C<Carp> as well in accessing
-file-handles for reading.
-
-=head1 Modules and Pragmata
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item C<autodie>
-
-Upgraded from version 2.06_01 to 2.10.
-
-=item C<charnames>
-
-Upgraded from version 1.08 to 1.10.
-
-C<viacode()> is now significantly faster. (f3227b7)
-
-=item C<lib>
-
-Upgraded from version 0.62 to 0.63.
-
-=item C<threads>
-
-Upgraded from version 1.77_02 to 1.77_03.
-
-=item C<threads::shared>
-
-Upgraded from version 1.33_01 to 1.33_02.
-
-=item C<warnings>
-
-Upgraded from version 1.09 to 1.10.
-
-Calling C<use warnings> without arguments is now significantly more efficient.
-(8452af9)
-
-=item C<Archive::Extract>
-
-Upgraded from version 0.38 to 0.42.
-
-Updates since 0.38 include: a safe print method that guards
-Archive::Extract from changes to $\; a fix to the tests when run in core
-perl; support for TZ files; and a modification for the lzma logic to favour
-IO::Uncompress::Unlzma (d7f8799)
-
-=item C<Archive::Tar>
-
-Upgraded from version 1.54 to 1.64.
-
-Important changes since 1.54 include: compatibility with busybox
-implementations of tar; a fix so that C<write()> and C<create_archive()>
-close only handles they opened; and a bug was fixed regarding the exit code
-of extract_archive. (afabe0e)
-
-=item C<Attribute::Handlers>
-
-Upgraded from version 0.87 to 0.88.
-
-=item C<Compress::Raw::Bzip2>
-
-Upgraded from version 2.024 to 2.027.
-
-=item C<Compress::Raw::Zlib>
-
-Upgraded from version 2.024 to 2.027_01.
-
-=item C<Compress::Zlib>
-
-Upgraded from version 2.024 to 2.027.
-
-=item C<CPANPLUS>
-
-Upgraded from version 0.90 to 0.9007.
-
-Fixed the shell test to skip if test is not being run under a terminal;
-resolved the issue where a prereq on Config would not be recognised as a
-core module. (d4e225a)
-
-=item C<Digest::MD5>
-
-Upgraded from version 2.39 to 2.40.
-
-=item C<Digest::SHA>
-
-Upgraded from version 5.47 to 5.48.
-
-=item C<Exporter>
-
-Upgraded from version 5.64_02 to 5.64_03.
-
-Exporter no longer overrides C<$SIG{__WARN__}> (RT #74472) (9b86bb5)
-
-=item C<ExtUtils::CBuilder>
-
-Upgraded from version 0.27 to 0.2703.
-
-=item C<ExtUtils::Manifest>
-
-Upgraded from version 1.57 to 1.58.
-
-=item C<ExtUtils::ParseXS>
-
-Upgraded from version 2.2205 to 2.2206.
-
-=item C<File::Copy>
-
-Upgraded from version 2.19 to 2.20.
-
-Skips suid tests on a nosuid partition. These tests were being skipped on
-OpenBSD, but nosuid partitions can exist on other systems too. Now it just
-checks if it can create a suid directory, if not the tests are skipped.
-Perl builds without errors in a nosuid /tmp with this patch. (cae9400)
-
-=item C<I18N::LangTags>
-
-Upgraded from version 0.35 to 0.35_01.
-
-=item C<IPC::Cmd>
-
-Upgraded from version 0.58 to 0.60.
-
-=item C<IPC::SysV>
-
-Upgraded from version 2.01 to 2.03.
-
-=item C<Locale::Maketext>
-
-Upgraded from version 1.14 to 1.15.
-
-Locale::Maketext guts have been merged back into the main module (87d86da)
-and adds external cache support (ace47d6)
-
-=item C<Module::Build>
-
-Upgraded from version 0.3603 to 0.3607.
-
-=item C<Module::CoreList>
-
-Upgraded from version 2.34 to 2.36.
-
-=item C<Module::Load>
-
-Upgraded from version 0.16 to 0.18.
-
-=item C<Term::ANSIColor>
-
-Upgraded from version 2.02 to 3.00.
-
-=item C<Test::Harness>
-
-Upgraded from version 3.17 to 3.21.
-
-The core update from Test-Harness 3.17 to 3.21 fixed some things, but
-also L<introduced a known problem|/"Known Problems"> with argument
-passing to non-Perl tests.
-
-=item C<Time::HiRes>
-
-Upgraded from version 1.9719 to 1.9721.
-
-=item C<Time::Piece>
-
-Upgraded from version 1.15_01 to 1.20_01.
-
-=item C<Unicode::Collate>
-
-Upgraded from version 0.52_01 to 0.53.
-
-Includes Unicode Collation Algorithm 18 (74b94a7)
-
-=item C<Unicode::Normalize>
-
-Upgraded from version 1.03 to 1.06.
-
-=back
-
-=head1 Documentation
-
-=head2 New Documentation
-
-=head3 L<perl5121delta>
-
-The Perl 5.12.1 perldelta file was added from the Perl maintenance branch
-
-=head2 Changes to Existing Documentation
-
-=head3 General changes
-
-=over
-
-=item *
-
-Octal character escapes in documentation now prefer a three-digit octal
-escape or the new C<\o{...}> escape as they have more consistent behavior
-in different contexts than other forms. (ce7b6f0) (d8b950d) (e1f120a)
-
-=item *
-
-Documentation now standardizes on the term 'capture group' over 'buffer'
-in regular expression documentation (c27a5cf)
-
-=back
-
-=head3 L<perlfunc>
-
-=over
-
-=item *
-
-Added cautionary note about "no VERSION" (e0de7c2)
-
-=item *
-
-Added additional notes regarding srand when forking (d460397)
-
-=back
-
-=head3 L<perlop>
-
-=over 4
-
-=item *
-
-Improved documentation of unusual character escapes (4068718, 9644846)
-
-=item *
-
-Clarified how hexadecimal escapes are interpreted, with particular
-attention to the treatment of invalid characters (9644846)
-
-=back
-
-=head3 L<perlrun>
-
-=over
-
-=item *
-
-Clarified the behavior of the C<-0NNN> switch for C<-0400> or higher (7ba31cb)
-
-=back
-
-=head3 L<perlpolicy>
-
-=over
-
-=item *
-
-Added the policy on compatibility and deprecation along with definitions of
-terms like "deprecation" (70e4a83)
-
-=back
-
-=head3 L<perlre>
-
-=over
-
-=item *
-
-Added examples of the perils of not using \g{} when there are more
-than nine back-references (9d86067)
-
-=back
-
-=head3 L<perltie>
-
-=over
-
-=item *
-
-Updated some examples for modern Perl style (67d00dd)
-
-=back
-
-=head1 Utility Changes
-
-=head3 L<perldb>
-
-=over
-
-=item *
-
-The remote terminal works after forking and spawns new sessions - one
-for each forked process (11653f7)
-
-=item *
-
-Uses the less pager path from Config instead of searching for it (bf320d6)
-
-=back
-
-=head1 Configuration and Compilation
-
-=over 4
-
-=item *
-
-Adjusted 'make test.valgrind' to account for cpan/dist/ext separation
-(e07ce2e)
-
-=back
-
-=head1 Testing
-
-=over 4
-
-=item *
-
-F<t/harness> clears PERL5LIB, PERLLIB, PERL5OPT as t/TEST does (a2d3de1)
-
-=item *
-
-Many common testing routines were refactored into t/lib/common.pl
-
-=item *
-
-Several test files have been modernized to use Test::More
-
-=back
-
-=head1 Platform Support
-
-=head2 Discontinued Platforms
-
-=over 4
-
-=item MacOS Classic
-
-Support for MacOS Classic within ExtUtils::MakeMaker was removed from Perl in
-December 2004. Vestigial MacOS Classic specific code has now been removed
-from other core modules as well (8f8c2a4..c457df0)
-
-=back
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-=item Win32
-
-t/io/openpid.t now uses the alarm() watchdog strategy for more
-robustness (5732108)
-
-=back
-
-=head1 Internal Changes
-
-=over 4
-
-=item *
-
-Under some circumstances, the C<CvGV()> field of a CV is now reference
-counted. To ensure consistent behaviour, direct assignment to it, for
-example C<CvGV(cv) = gv> is now a compile-time error. A new macro,
-C<CvGV_set(cv,gv)> has been introduced to perform this operation safely.
-Note that modification of this field is not part of of the public API,
-regardless of this new macro. This change caused some
-L<issues|/"Known Problems"> in modules that used the private C<GvGV()>
-field.
-
-=item *
-
-It is now possible for XS code to hook into Perl's lexical scope
-mechanism at compile time, using the new C<Perl_blockhook_register>
-function. See L<perlguts/"Compile-time scope hooks">.
-
-=item *
-
-Added C<Perl_croak_no_modify()> to implement
-C<Perl_croak("%s", PL_no_modify)> (6ad8f25)
-
-=item *
-
-Added prototypes for C<tie()> and C<untie()> to allow overloading (RT#75902)
-(1db4d19)
-
-=item *
-
-Adds C<my_[l]stat_flags()> to replace C<my_[l]stat()>. C<my_stat()> and
-C<my_lstat()> call get magic on the stack arg, so create C<_flags()>
-variants that allow us to control this. (0d7d409)
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-Some work has been done on the internal pointers that link between symbol
-tables (stashes), typeglobs and subroutines. This has the effect that
-various edge cases related to deleting stashes or stash entries (e.g.
-<%FOO:: = ()>), and complex typeglob or code reference aliasing, will no
-longer crash the interpreter.
-
-=item *
-
-Fixed readline() when interrupted by signals so it no longer returns
-the "same thing" as before or random memory
-
-=item *
-
-Fixed a regression of kill() when a match variable is used for the
-process ID to kill (RT#75812) (8af710e)
-
-=item *
-
-Fixed several subtle bugs in sort() when @_ is accessed within a subroutine
-used for sorting (RT#72334) (8f443ca)
-
-=item *
-
-Catch yyparse() exceptions in C<< (?{...}) >> (RT#2353) (634d691)
-
-=item *
-
-Avoid UTF-8 cache panics with offsets beyond a string (RT #75898) (3e2d381)
-
-=item *
-
-Fixed POSIX::strftime memory leak (RT#73520) (c4bc4aa)
-
-=item *
-
-Doesn't set strict with C<no VERSION> if C<VERSION> is greater than 5.12
-(da8fb5d)
-
-=item *
-
-Avoids multiple FETCH/stringify on filetest ops (40c852d)
-
-=item *
-
-Fixed issue with string C<eval> not detecting taint of overloaded/tied
-arguments (RT #75716) (895b760)
-
-=item *
-
-Fix potential crashes of string C<eval> when evaluating a object with
-overloaded stringification by creating a stringified copy when necessary
-(3e5c018)
-
-=item *
-
-Fixed bug where overloaded stringification could remove tainting
-(RT #75716) (a02ec77)
-
-=item *
-
-Plugs more memory leaks in vms.c. (9e2bec0)
-
-=item *
-
-Fix pthread include error for Time::Piece (e9f284c)
-
-=back
-
-=head1 Known Problems
-
-=over 4
-
-=item *
-
-Bug fixes involving CvGV reference counting break Sub::Name. A
-patch has been sent upstream to the maintainer
-
-=item *
-
-readline() returns an empty string instead of undef when it is
-interrupted by a signal
-
-=item *
-
-Test-Harness was updated from 3.17 to 3.21 for this release. A rewrite
-in how it handles non-Perl tests (in 3.17_01) broke argument passing to
-non-Perl tests with L<prove> (RT #59186), and required that non-Perl
-tests be run as C<prove ./test.sh> instead of C<prove test.sh> These
-issues are being solved upstream, but didn't make it into this release.
-They're expected to be fixed in time for perl v5.13.4. (RT #59457)
-
-=item *
-
-C<version> now prevents object methods from being called as class methods
-(d808b68)
-
-=back
-
-=head1 Errata
-
-=over 4
-
-=item *
-
-Retroactively added the Acknowledgements list to L<perl5132delta>,
-which was excluded in the original release (d1e2db0)
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.13.3 represents approximately one month of development since Perl
-5.13.2, and contains 12,184 lines of changes across 575 files from 104
-authors and committers.
-
-Thank you to the following for contributing to this release:
-
-Abhijit Menon-Sen, Abigail, Alex Davies, Alex Vandiver, Alexandr
-Ciornii, Andreas J. Koenig, Andrew Rodland, Andy Dougherty, Aristotle
-Pagaltzis, Arkturuz, Ben Morrow, Bo Borgerson, Bo Lindbergh, Brad
-Gilbert, Bram, Brian Phillips, Chas. Owens, Chip Salzenberg, Chris
-Williams, Craig A. Berry, Curtis Jewell, Dan Dascalescu, Daniel
-Frederick Crisman, Dave Rolsky, David Caldwell, David E. Wheeler, David
-Golden, David Leadbeater, David Mitchell, Dennis Kaarsemaker, Eric
-Brine, Father Chrysostomos, Florian Ragwitz, Frank Wiegand, Gene
-Sullivan, George Greer, Gerard Goossen, Gisle Aas, Goro Fuji, Graham
-Barr, H.Merijn Brand, Harmen, Hugo van der Sanden, James E Keenan, James
-Mastros, Jan Dubois, Jerry D. Hedden, Jesse Vincent, Jim Cromie, John
-Peacock, Jos Boumans, Josh ben Jore, Karl Williamson, Kevin Ryde, Leon
-Brocard, Lubomir Rintel, Maik Hentsche, Marcus Holland-Moritz, Matt
-Johnson, Matt S Trout, Max Maischein, Michael Breen, Michael G Schwern,
-Moritz Lenz, Nga Tang Chan, Nicholas Clark, Nick Cleaton, Nick Johnston,
-Niko Tyni, Offer Kaye, Paul Marquess, Philip Hazel, Philippe Bruhat,
-Rafael Garcia-Suarez, Rainer Tammer, Reini Urban, Ricardo Signes,
-Richard Soderberg, Robin Barker, Ruslan Zakirov, Salvador Fandino,
-Salvador Ortiz Garcia, Shlomi Fish, Sinan Unur, Sisyphus, Slaven Rezic,
-Steffen Mueller, Stepan Kasal, Steve Hay, Steve Peters, Sullivan Beck,
-Tim Bunce, Todd Rinaldo, Tom Christiansen, Tom Hukins, Tony Cook,
-Vincent Pit, Yuval Kogman, Yves Orton, Zefram, brian d foy, chromatic,
-kmx, Ævar Arnfjörð Bjarmason
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://rt.perl.org/perlbug/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please send
-it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
-to help assess the impact of issues, figure out a resolution, and help
-co-ordinate the release of patches to mitigate or fix the problem across all
-platforms on which Perl is supported. Please only use this address for
-security issues in the Perl core, not for modules independently
-distributed on CPAN.
-
-=head1 SEE ALSO
-
-The F<Changes> file for an explanation of how to view exhaustive details
-on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5134delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5134delta.pod
deleted file mode 100644
index e90fbffeb9b..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl5134delta.pod
+++ /dev/null
@@ -1,542 +0,0 @@
-=encoding utf8
-
-=head1 NAME
-
-perl5134delta - what is new for perl v5.13.4
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.13.4 release and
-the 5.13.3 release.
-
-If you are upgrading from an earlier release such as 5.13.2, first read
-L<perl5133delta>, which describes differences between 5.13.2 and
-5.13.3.
-
-=head1 Core Enhancements
-
-=head2 C<srand()> now returns the seed
-
-This allows programs that need to have repeatable results to not have to come
-up with their own seed generating mechanism. Instead, they can use C<srand()>
-and somehow stash the return for future use. Typical is a test program which
-has too many combinations to test comprehensively in the time available to it
-each run. It can test a random subset each time, and should there be a failure,
-log the seed used for that run so that it can later be used to reproduce the
-exact results.
-
-=head2 C<\N{I<name>}> and C<charnames> enhancements
-
-C<\N{}>, C<charnames::vianame>, C<charnames::viacode> now know about every
-character in Unicode. Previously, they didn't know about the Hangul syllables
-nor a number of CJK (Chinese/Japanese/Korean) characters.
-
-=head1 Incompatible Changes
-
-=head2 Declare API incompatibility between blead releases
-
-Only stable releases (5.10.x, 5.12.x, 5.14.x, ...) guarantee binary
-compatibility with each other, while blead releases (5.13.x, 5.15.x, ...) often
-break this compatibility. However, prior to perl 5.13.4, all blead releases had
-the same C<PERL_API_REVISION>, C<PERL_API_VERSION>, and C<PERL_API_SUBVERSION>,
-effectively declaring them as binary compatible, which they weren't. From now
-on, blead releases will have a C<PERL_API_SUBVERSION> equal to their
-C<PERL_SUBVERSION>, explicitly marking them as incompatible with each other.
-
-Maintenance releases of stable perl versions will continue to make no
-intentionally incompatible API changes.
-
-=head2 Check API compatibility when loading XS modules
-
-When perl's API changes in incompatible ways (which usually happens between
-every major release), XS modules compiled for previous versions of perl will not
-work anymore. They will need to be recompiled against the new perl.
-
-In order to ensure that modules are recompiled, and to prevent users from
-accidentally loading modules compiled for old perls into newer ones, the
-C<XS_APIVERSION_BOOTCHECK> macro has been added. That macro, which is called
-when loading every newly compiled extension, compares the API version of the
-running perl with the version a module has been compiled for and raises an
-exception if they don't match.
-
-=head2 Binary Incompatible with all previous Perls
-
-Some bit fields have been reordered; therefore, this release will not be binary
-compatible with any previous Perl release.
-
-=head2 Change in the parsing of certain prototypes
-
-Functions declared with the following prototypes now behave correctly as unary
-functions:
-
-=over 4
-
-=item *
-
-C<*>
-
-=item *
-
-C<\sigil>
-
-=item *
-
-C<\[...]>
-
-=item *
-
-C<;$>
-
-=item *
-
-C<;*>
-
-=item *
-
-C<;\sigil>
-
-=item *
-
-C<;\[...]>
-
-=back
-
-Due to this bug fix, functions using the C<(*)>, C<(;$)> and C<(;*)> prototypes
-are parsed with higher precedence than before. So in the following example:
-
- sub foo($);
- foo $a < $b;
-
-the second line is now parsed correctly as C<< foo($a) < $b >>, rather than
-C<< foo($a < $b) >>. This happens when one of these operators is used in
-an unparenthesised argument:
-
- < > <= >= lt gt le ge
- == != <=> eq ne cmp ~~
- &
- | ^
- &&
- || //
- .. ...
- ?:
- = += -= *= etc.
-
-=head1 Deprecations
-
-=head2 List assignment to C<$[>
-
-After assignment to C<$[> has been deprecated and started to give warnings in
-perl version 5.12.0, this version of perl also starts to emit a warning when
-assigning to C<$[> in list context. This fixes an oversight in 5.12.0.
-
-=head1 Performance Enhancements
-
-=over 4
-
-=item *
-
-Make string appending 100 times faster
-
-When doing a lot of string appending, perl could end up allocating a lot more
-memory than needed in a very inefficient way, if perl was configured to use the
-system's C<malloc> implementation instead of its own.
-
-C<sv_grow>, which is what's being used to allocate more memory if necessary when
-appending to a string, has now been taught how to round up the memory it
-requests to a certain geometric progression, making it much faster on certain
-platforms and configurations. On Win32, it's now about 100 times faster.
-
-=item *
-
-For weak references, the common case of just a single weak reference per
-referent has been optimised to reduce the storage required. In this case it
-saves the equivalent of one small perl array per referent.
-
-=item *
-
-C<XPV>, C<XPVIV>, and C<XPVNV> now only allocate the parts of the C<SV> body
-they actually use, saving some space.
-
-=back
-
-=head1 Modules and Pragmata
-
-=head2 New Modules and Pragmata
-
-This release does not introduce any new modules or pragmata.
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item C<Archive::Tar>
-
-Upgraded from version 1.64 to 1.68.
-
-Among other things, the new version adds a new option to C<ptar> to allow safe
-creation of tarballs without world-writable files on Windows, allowing those
-archives to be uploaded to CPAN.
-
-=item C<B::Lint>
-
-Upgraded from version 1.11 to 1.12.
-
-=item C<Carp>
-
-Upgraded from version 1.16 to 1.18.
-
-L<Carp> now detects incomplete L<caller()|perlfunc/"caller EXPR"> overrides and
-avoids using bogus C<@DB::args>. To provide backtraces, Carp relies on
-particular behaviour of the caller built-in. Carp now detects if other code has
-overridden this with an incomplete implementation, and modifies its backtrace
-accordingly. Previously incomplete overrides would cause incorrect values in
-backtraces (best case), or obscure fatal errors (worst case)
-
-This fixes certain cases of C<Bizarre copy of ARRAY> caused by modules
-overriding C<caller()> incorrectly.
-
-=item C<Compress::Raw::Bzip2>
-
-Upgraded from version 2.027 to 2.030.
-
-=item C<Compress::Raw::Zlib>
-
-Upgraded from version 2.027 to 2.030.
-
-=item C<File::Spec>
-
-Upgraded from version 3.31 to 3.31_01.
-
-Various issues in L<File::Spec::VMS> have been fixed.
-
-=item C<I18N::Langinfo>
-
-Upgraded from version 0.03 to 0.04.
-
-C<langinfo()> now defaults to using C<$_> if there is no argument given, just
-like the documentation always claimed it did.
-
-=item C<IO::Compress>
-
-Upgraded from version 2.027 to 2.030.
-
-=item C<Module::CoreList>
-
-Upgraded from version 2.36 to 2.37.
-
-Besides listing the updated core modules of this release, it also stops listing
-the C<Filespec> module. That module never existed in core. The scripts
-generating C<Module::CoreList> confused it with C<VMS::Filespec>, which actually
-is a core module, since the time of perl 5.8.7.
-
-=item C<Test::Harness>
-
-Upgraded from version 3.21 to 3.22.
-
-=item C<Test::Simple>
-
-Upgraded from version 0.94 to 0.96.
-
-Among many other things, subtests without a C<plan> or C<no_plan> now have an
-implicit C<done_testing()> added to them.
-
-=item C<Unicode::Collate>
-
-Upgraded from version 0.53 to 0.56.
-
-Among other things, it is now using UCA Revision 20 (based on Unicode 5.2.0) and
-supports a couple of new locales.
-
-=item C<feature>
-
-Upgraded from version 1.17 to 1.18.
-
-=back
-
-=head2 Removed Modules and Pragmata
-
-This release does not remove any modules or pragmata.
-
-=head1 Documentation
-
-=head2 Changes to Existing Documentation
-
-=head3 L<perldiag>
-
-=over 4
-
-=item *
-
-The following existing diagnostics are now documented:
-
-=over 4
-
-=item *
-
-L<Ambiguous use of %c resolved as operator %c|perldiag/"Ambiguous use of %c resolved as operator %c">
-
-=item *
-
-L<Ambiguous use of %c{%s} resolved to %c%s|perldiag/"Ambiguous use of %c{%s} resolved to %c%s">
-
-=item *
-
-L<Ambiguous use of %c{%s%s} resolved to %c%s%s|perldiag/"Ambiguous use of %c{%s%s} resolved to %c%s%s">
-
-=item *
-
-L<Ambiguous use of -%s resolved as -&%s()|perldiag/"Ambiguous use of -%s resolved as -&%s()">
-
-=item *
-
-L<Invalid strict version format (%s)|perldiag/"Invalid strict version format (%s)">
-
-=item *
-
-L<Invalid version format (%s)|perldiag/"Invalid version format (%s)">
-
-=item *
-
-L<Invalid version object|perldiag/"Invalid version object">
-
-=back
-
-=back
-
-=head3 L<perlport>
-
-=over 4
-
-=item *
-
-Documented a L<limitation|perlport/alarm> of L<alarm()|perlfunc/"alarm SECONDS">
-on Win32.
-
-=back
-
-=head3 L<perlre>
-
-=over 4
-
-=item *
-
-Minor fix to a multiple scalar match example.
-
-=back
-
-=head1 Configuration and Compilation
-
-=over 4
-
-=item *
-
-Compatibility with C<C++> compilers has been improved.
-
-=item *
-
-On compilers that support it, C<-Wwrite-strings> is now added to cflags by
-default.
-
-=back
-
-=head1 Testing
-
-=over 4
-
-=item *
-
-F<t/op/print.t> has been added to test implicit printing of C<$_>.
-
-=item *
-
-F<t/io/errnosig.t> has been added to test for restoration of of C<$!> when
-leaving signal handlers.
-
-=item *
-
-F<t/op/tie_fetch_count.t> has been added to see if C<FETCH> is only called once
-on tied variables.
-
-=item *
-
-F<lib/Tie/ExtraHash.t> has been added to make sure the, previously untested,
-L<Tie::ExtraHash> keeps working.
-
-=item *
-
-F<t/re/overload.t> has been added to test against string corruption in pattern
-matches on overloaded objects. This is a TODO test.
-
-=back
-
-=head1 Platform Support
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-=item Win32
-
-=over 4
-
-=item *
-
-Fixed a possible hang in F<t/op/readline.t>.
-
-=item *
-
-Fixed build process for SDK2003SP1 compilers.
-
-=item *
-
-When using old 32-bit compilers, the define C<_USE_32BIT_TIME_T> will now be set
-in C<$Config{ccflags}>. This improves portability when compiling XS extensions
-using new compilers, but for a perl compiled with old 32-bit compilers.
-
-=back
-
-=back
-
-=head1 Internal Changes
-
-=over 4
-
-=item Removed C<PERL_POLLUTE>
-
-The option to define C<PERL_POLLUTE> to expose older 5.005 symbols for backwards
-compatibility has been removed. It's use was always discouraged, and MakeMaker
-contains a more specific escape hatch:
-
- perl Makefile.PL POLLUTE=1
-
-This can be used for modules that have not been upgraded to 5.6 naming
-conventions (and really should be completely obsolete by now).
-
-=item Added C<PERL_STATIC_INLINE>
-
-The C<PERL_STATIC_INLINE> define has been added to provide the best-guess
-incantation to use for static inline functions, if the C compiler supports
-C99-style static inline. If it doesn't, it'll give a plain C<static>.
-
-C<HAS_STATIC_INLINE> can be used to check if the compiler actually supports
-inline functions.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-A possible memory leak when using L<caller()|perlfunc/"caller EXPR"> to set
-C<@DB::args> has been fixed.
-
-=item *
-
-Several memory leaks when loading XS modules were fixed.
-
-=item *
-
-A panic in the regular expression optimizer has been fixed (RT#75762).
-
-=item *
-
-Assignments to lvalue subroutines now honor copy-on-write behavior again, which
-has been broken since version 5.10.0 (RT#75656).
-
-=item *
-
-Assignments to glob copies now behave just like assignments to regular globs
-(RT#1804).
-
-=item *
-
-Within signal handlers, C<$!> is now implicitly localized.
-
-=item *
-
-L<readline|perlfunc/"readline EXPR"> now honors C<< <> >> overloading on tied
-arguments.
-
-=item *
-
-L<substr()|perlfunc/"substr EXPR,OFFSET,LENGTH,REPLACEMENT">,
-L<pos()|perlfunc/"index STR,SUBSTR,POSITION">, L<keys()|perlfunc/"keys HASH">,
-and L<vec()|perlfunc/"vec EXPR,OFFSET,BITS"> could, when used in combination
-with lvalues, result in leaking the scalar value they operate on, and cause its
-destruction to happen too late. This has now been fixed.
-
-=item *
-
-Building with C<PERL_GLOBAL_STRUCT>, which has been broken accidentally in
-5.13.3, now works again.
-
-=back
-
-=head1 Known Problems
-
-=over 4
-
-=item *
-
-The changes in L<substr()|perlfunc/"substr EXPR,OFFSET,LENGTH,REPLACEMENT">
-broke C<HTML::Parser> <= 3.66. A fixed C<HTML::Parser> is available as version
-3.67 on CPAN.
-
-=item *
-
-The changes in prototype handling break C<Switch>. A patch has been sent
-upstream and will hopefully appear on CPAN soon.
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.13.4 represents approximately one month of development since Perl 5.13.3,
-and contains 91,200 lines of changes across 436 files from 34 authors and
-committers.
-
-Thank you to the following for contributing to this release:
-
-Abigail, Andy Armstrong, Andy Dougherty, Chas. Owens, Chip Salzenberg, Chris
-'BinGOs' Williams, Craig A. Berry, David Cantrell, David Golden, David Mitchell,
-Eric Brine, Father Chrysostomos, Florian Ragwitz, George Greer, Gerard Goossen,
-H.Merijn Brand, James Mastros, Jan Dubois, Jerry D. Hedden, Joshua ben Jore,
-Karl Williamson, Lars Dɪᴇᴄᴋá´á´¡ 迪拉斯, Leon Brocard, Lubomir Rintel, Nicholas
-Clark, Paul Marquess, Rafael Garcia-Suarez, Reini Urban, Robin Barker, Slaven
-Rezic, Steve Peters, Tony Cook, Wolfram Humann, Zefram
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles recently
-posted to the comp.lang.perl.misc newsgroup and the perl bug database at
-http://rt.perl.org/perlbug/ . There may also be information at
-http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug> program
-included with your release. Be sure to trim your bug down to a tiny but
-sufficient test case. Your bug report, along with the output of C<perl -V>,
-will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
-
-If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please send it
-to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able to
-help assess the impact of issues, figure out a resolution, and help co-ordinate
-the release of patches to mitigate or fix the problem across all platforms on
-which Perl is supported. Please only use this address for security issues in the
-Perl core, not for modules independently distributed on CPAN.
-
-=head1 SEE ALSO
-
-The F<Changes> file for an explanation of how to view exhaustive details
-on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5135delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5135delta.pod
deleted file mode 100644
index de76d586bd7..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl5135delta.pod
+++ /dev/null
@@ -1,592 +0,0 @@
-=encoding utf8
-
-=head1 NAME
-
-perl5135delta - what is new for perl v5.13.5
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.13.4 release and
-the 5.13.5 release.
-
-If you are upgrading from an earlier release such as 5.13.3, first read
-L<perl5134delta>, which describes differences between 5.13.3 and
-5.13.4.
-
-=head1 Core Enhancements
-
-=head2 Adjacent pairs of nextstate opcodes are now optimized away
-
-Previously, in code such as
-
- use constant DEBUG => 0;
-
- sub GAK {
- warn if DEBUG;
- print "stuff\n";
- }
-
-the ops for C<warn if DEBUG;> would be folded to a C<null> op (C<ex-const>), but
-the C<nextstate> op would remain, resulting in a runtime op dispatch of
-C<nextstate>, C<nextstate>, ...
-
-The execution of a sequence of C<nextstate> ops is indistinguishable from just
-the last C<nextstate> op so the peephole optimizer now eliminates the first of
-a pair of C<nextstate> ops, except where the first carries a label, since labels
-must not be eliminated by the optimizer and label usage isn't conclusively known
-at compile time.
-
-=head2 API function to parse statements
-
-The C<parse_fullstmt> function has been added to allow parsing of a single
-complete Perl statement. See L<perlapi> for details.
-
-=head2 API functions for accessing the runtime hinthash
-
-A new C API for introspecting the hinthash C<%^H> at runtime has been added.
-See C<cop_hints_2hv>, C<cop_hints_fetchpvn>, C<cop_hints_fetchpvs>,
-C<cop_hints_fetchsv>, and C<hv_copy_hints_hv> in L<perlapi> for details.
-
-=head2 C interface to C<caller()>
-
-The C<caller_cx> function has been added as an XSUB-writer's equivalent of
-C<caller()>. See L<perlapi> for details.
-
-=head1 Incompatible Changes
-
-=head2 Magic variables outside the main package
-
-In previous versions of Perl, magic variables like C<$!>, C<%SIG>, etc. would
-'leak' into other packages. So C<%foo::SIG> could be used to access signals,
-C<${"foo::!"}> (with strict mode off) to access C's C<errno>, etc.
-
-This was a bug, or an 'unintentional' feature, which caused various ill effects,
-such as signal handlers being wiped when modules were loaded, etc.
-
-This has been fixed (or the feature has been removed, depending on how you see
-it).
-
-=head2 Smart-matching against array slices
-
-Previously, the following code resulted in a successful match:
-
- my @a = qw(a y0 z);
- my @b = qw(a x0 z);
- @a[0 .. $#b] ~~ @b;
-
-This odd behaviour has now been fixed
-L<[perl #77468]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=77468>.
-
-=head2 C API changes
-
-The first argument of the C API function C<Perl_fetch_cop_label> has changed
-from C<struct refcounted he *> to C<COP *>, to better insulate the user from
-implementation details.
-
-This API function was marked as "may change", and likely isn't in use outside
-the core. (Neither an unpacked CPAN, nor Google's codesearch, finds any other
-references to it.)
-
-=head1 Deprecations
-
-=head2 Use of qw(...) as parentheses
-
-Historically the parser fooled itself into thinking that C<qw(...)> literals
-were always enclosed in parentheses, and as a result you could sometimes omit
-parentheses around them:
-
- for $x qw(a b c) { ... }
-
-The parser no longer lies to itself in this way. Wrap the list literal in
-parentheses, like:
-
- for $x (qw(a b c)) { ... }
-
-=head1 Performance Enhancements
-
-=over 4
-
-=item *
-
-Scalars containing regular expressions now only allocate the part of the C<SV>
-body they actually use, saving some space.
-
-=item *
-
-Compiling regular expressions has been made faster for the case where upgrading
-the regex to utf8 is necessary but that isn't known when the compilation begins.
-
-=back
-
-=head1 Modules and Pragmata
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item C<bignum>
-
-Upgraded from version 0.23 to 0.25.
-
-=item C<blib>
-
-Upgraded from version 1.05 to 1.06.
-
-=item C<open>
-
-Upgraded from version 1.07 to 1.08.
-
-=item C<threads-shared>
-
-Upgraded from version 1.33_02 to 1.33_03.
-
-=item C<warnings> and C<warnings::register>
-
-Upgraded from version 1.10 to 1.11 and from version 1.01 to 1.02 respectively.
-
-It is now possible to register warning categories other than the names of
-packages using C<warnings::register>. See L<perllexwarn> for more information.
-
-=item C<B::Debug>
-
-Upgraded from version 1.12 to 1.16.
-
-=item C<CPANPLUS::Dist::Build>
-
-Upgraded from version 0.46 to 0.48.
-
-=item C<Data::Dumper>
-
-Upgraded from version 2.126 to 2.128.
-
-This fixes a crash when using custom sort functions that might cause the stack
-to change.
-
-=item C<Encode>
-
-Upgraded from version 2.39 to 2.40.
-
-=item C<Errno>
-
-Upgraded from version 1.12 to 1.13.
-
-On some platforms with unusual header files, like Win32/gcc using mingw64
-headers, some constants which weren't actually error numbers have been exposed
-by C<Errno>. This has been fixed
-L<[perl #77416]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=77416>.
-
-=item C<ExtUtils::MakeMaker>
-
-Upgraded from version 6.5601 to 6.57_05.
-
-=item C<Filter::Simple>
-
-Upgraded from version 0.84 to 0.85.
-
-=item C<Hash::Util>
-
-Upgraded from version 0.08 to 0.09.
-
-=item C<Math::BigInt>
-
-Upgraded from version 1.89_01 to 1.95.
-
-This fixes, among other things, incorrect results when computing binomial
-coefficients
-L<[perl #77640]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77640>.
-
-=item C<Math::BigInt::FastCalc>
-
-Upgraded from version 0.19 to 0.22.
-
-=item C<Math::BigRat>
-
-Upgraded from version 0.24 to 0.26.
-
-=item C<Module::CoreList>
-
-Upgraded from version 2.37 to 2.38.
-
-=item C<PerlIO::scalar>
-
-Upgraded from version 0.08 to 0.09.
-
-=item C<POSIX>
-
-Upgraded from version 1.19 to 1.20.
-
-It now includes constants for POSIX signal constants.
-
-=item C<Safe>
-
-Upgraded from version 2.27 to 2.28.
-
-This fixes a possible infinite loop when looking for coderefs.
-
-=item C<Test::Simple>
-
-Upgraded from version 0.96 to 0.97_01.
-
-=item C<Tie::Hash>
-
-Upgraded from version 1.03 to 1.04.
-
-Calling C<< Tie::Hash-E<gt>TIEHASH() >> used to loop forever. Now it C<croak>s.
-
-=item C<Unicode::Collate>
-
-Upgraded from version 0.56 to 0.59.
-
-=item C<XSLoader>
-
-Upgraded from version 0.10 to 0.11.
-
-=back
-
-=head1 Documentation
-
-=head2 Changes to Existing Documentation
-
-=head3 L<perlapi>
-
-=over 4
-
-=item *
-
-Many of the optree construction functions are now documented.
-
-=back
-
-=head3 L<perlbook>
-
-=over 4
-
-=item *
-
-Expanded to cover many more popular books.
-
-=back
-
-=head3 L<perlfaq>
-
-=over 4
-
-=item *
-
-L<perlfaq>, L<perlfaq2>, L<perlfaq4>, L<perlfaq5>, L<perlfaq6>, L<perlfaq8>, and
-L<perlfaq9> have seen various updates and modernizations.
-
-=back
-
-=head1 Diagnostics
-
-The following additions or changes have been made to diagnostic output,
-including warnings and fatal error messages. For the complete list of
-diagnostic messages, see L<perldiag>.
-
-=head2 New Diagnostics
-
-=over 4
-
-=item *
-
-Parsing code internal error (%s)
-
-New fatal error produced when parsing code supplied by an extension violated the
-parser's API in a detectable way.
-
-=item *
-
-Use of qw(...) as parentheses is deprecated
-
-See L</"Use of qw(...) as parentheses"> for details.
-
-=back
-
-=head2 Changes to Existing Diagnostics
-
-=over 4
-
-=item *
-
-C<warn> and C<die> now produce 'Wide character' warnings when fed a
-character outside the byte range if STDERR is a byte-sized handle.
-
-=back
-
-=head1 Utility Changes
-
-=head3 L<h2ph>
-
-=over 4
-
-=item *
-
-The use of a deprecated C<goto> construct has been removed
-L<[perl #74404]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=74404>.
-
-=back
-
-=head1 Testing
-
-=over 4
-
-=item *
-
-The new F<t/lib/universal.t> script tests the Internal::* functions and other
-things in F<universal.c>.
-
-=item *
-
-A rare race condition in F<t/op/while_readdir.t> has been fixed, stopping it
-from failing randomly when running tests in parallel.
-
-=item *
-
-The new F<t/op/leaky-magic.t> script tests that magic applied to variables in
-the main packages does not affect other packages.
-
-=back
-
-=head1 Platform Support
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-=item VMS
-
-=over 4
-
-=item *
-
-Make C<PerlIOUnix_open> honour default permissions on VMS.
-
-When C<perlio> became the default and C<unixio> became the default bottom layer,
-the most common path for creating files from Perl became C<PerlIOUnix_open>,
-which has always explicitly used C<0666> as the permission mask.
-
-To avoid this, C<0777> is now passed as the permissions to C<open()>. In the
-VMS CRTL, C<0777> has a special meaning over and above intersecting with the
-current umask; specifically, it allows Unix syscalls to preserve native default
-permissions.
-
-=back
-
-=back
-
-=head1 Internal Changes
-
-=over 4
-
-=item *
-
-C<CALL_FPTR> and C<CPERLscope> have been deprecated.
-
-Those are left from an old implementation of C<MULTIPLICITY> using C++ objects,
-which was removed in Perl 5.8. Nowadays these macros do exactly nothing, so
-they shouldn't be used anymore.
-
-For compatibility, they are still defined for external C<XS> code. Only
-extensions defining C<PERL_CORE> must be updated now.
-
-=item *
-
-C<lex_stuff_pvs()> has been added as a convenience macro wrapping
-C<lex_stuff_pvn()> for literal strings.
-
-=item *
-
-The recursive part of the peephole optimizer is now hookable.
-
-In addition to C<PL_peepp>, for hooking into the toplevel peephole optimizer, a
-C<PL_rpeepp> is now available to hook into the optimizer recursing into
-side-chains of the optree.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-A regression introduced in Perl 5.12.0, making
-C<< my $x = 3; $x = length(undef) >> result in C<$x> set to C<3> has been
-fixed. C<$x> will now be C<undef>.
-
-=item *
-
-A fatal error in regular expressions when processing UTF-8 data has been fixed
-L<[perl #75680]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75680>.
-
-=item *
-
-An erroneous regular expression engine optimization that caused regex verbs like
-C<*COMMIT> to sometimes be ignored has been removed.
-
-=item *
-
-The Perl debugger now also works in taint mode
-L<[perl #76872]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=76872>.
-
-=item *
-
-Several memory leaks in cloning and freeing threaded Perl interpreters have been
-fixed L<[perl #77352]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77352>.
-
-=item *
-
-A possible string corruption when doing regular expression matches on overloaded
-objects has been fixed
-L<[perl #77084]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77084>.
-
-=item *
-
-Magic applied to variables in the main package no longer affects other packages.
-See L</Magic variables outside the main package> above
-L<[perl #76138]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=76138>.
-
-=item *
-
-Opening a glob reference via C<< open $fh, "E<gt>", \*glob >> will no longer
-cause the glob to be corrupted when the filehandle is printed to. This would
-cause perl to crash whenever the glob's contents were accessed
-L<[perl #77492]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77492>.
-
-=item *
-
-The postincrement and postdecrement operators, C<++> and C<-->, used to cause
-leaks when being used on references. This has now been fixed.
-
-=item *
-
-A bug when replacing the glob of a loop variable within the loop has been fixed
-L<[perl #21469]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=21469>. This
-means the following code will no longer crash:
-
- for $x (...) {
- *x = *y;
- }
-
-=item *
-
-Perl would segfault if the undocumented C<Internals> functions that used
-reference prototypes were called with the C<&foo()> syntax, e.g.
-C<&Internals::SvREADONLY(undef)>
-L<[perl #77776]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77776>.
-
-These functions now call C<SvROK> on their arguments before dereferencing them
-with C<SvRV>, and we test for this case in F<t/lib/universal.t>.
-
-=item *
-
-When assigning a list with duplicated keys to a hash, the assignment used to
-return garbage and/or freed values:
-
- @a = %h = (list with some duplicate keys);
-
-This has now been fixed
-L<[perl #31865]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=31865>.
-
-=item *
-
-An earlier release of the 5.13 series of Perl changed the semantics of opening a
-reference to a copy of a glob:
-
- my $var = *STDOUT;
- open my $fh, '>', \$var;
-
-This was a mistake, and the previous behaviour from Perl 5.10 and 5.12, which is
-to treat \$var as a scalar reference, has now been restored.
-
-=item *
-
-The regular expression bracketed character class C<[\8\9]> was effectively the
-same as C<[89\000]>, incorrectly matching a NULL character. It also gave
-incorrect warnings that the C<8> and C<9> were ignored. Now C<[\8\9]> is the
-same as C<[89]> and gives legitimate warnings that C<\8> and C<\9> are
-unrecognized escape sequences, passed-through.
-
-=item *
-
-C<warn()> and C<die()> now respect utf8-encoded scalars
-L<[perl #45549]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=45549>.
-
-=back
-
-=head1 Known Problems
-
-=over 4
-
-=item *
-
-The upgrade to Encode-2.40 has caused some tests in the libwww-perl distribution
-on CPAN to fail. (Specifically, F<base/message-charset.t> tests 33-36 in version
-5.836 of that distribution now fail.)
-
-=item *
-
-The upgrade to ExtUtils-MakeMaker-6.57_05 has caused some tests in the
-Module-Install distribution on CPAN to fail. (Specifically, F<02_mymeta.t> tests
-5 and 21, F<18_all_from.t> tests 6 and 15, F<19_authors.t> tests 5, 13, 21 and
-29, and F<20_authors_with_special_characters.t> tests 6, 15 and 23 in version
-1.00 of that distribution now fail.)
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.13.5 represents approximately one month of development since
-Perl 5.13.4 and contains 74558 lines of changes across 549 files
-from 45 authors and committers:
-
-Abigail, Alexander Alekseev, Aristotle Pagaltzis, Ben Morrow, Bram, brian d foy,
-Chas. Owens, Chris 'BinGOs' Williams, Craig A. Berry, Curtis Jewell, Dagfinn
-Ilmari Mannsåker, David Golden, David Leadbeater, David Mitchell, Eric Brine,
-Father Chrysostomos, Florian Ragwitz, Gisle Aas, Jan Dubois, Jerry D. Hedden,
-Jesse Vincent, Jim Cromie, Jirka Hruška, Karl Williamson, Michael G. Schwern,
-Nicholas Clark, Paul Johnson, Philippe Bruhat (BooK), Piotr Fusik, Rafael
-Garcia-Suarez, Rainer Tammer, Reini Urban, Ricardo Signes, Rob Hoelz, Robin
-Barker, Steffen Mueller, Steve Hay, Steve Peters, Todd Rinaldo, Tony Cook,
-Vincent Pit, Yves Orton, Zefram, Zsbán Ambrus, Ævar Arnfjörð Bjarmason.
-
-Many of the changes included in this version originated in the CPAN
-modules included in Perl's core. We're grateful to the entire CPAN
-community for helping Perl to flourish.
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://rt.perl.org/perlbug/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please send
-it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
-to help assess the impact of issues, figure out a resolution, and help
-co-ordinate the release of patches to mitigate or fix the problem across all
-platforms on which Perl is supported. Please only use this address for
-security issues in the Perl core, not for modules independently
-distributed on CPAN.
-
-=head1 SEE ALSO
-
-The F<Changes> file for an explanation of how to view exhaustive details
-on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5136delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5136delta.pod
deleted file mode 100644
index f8122572897..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl5136delta.pod
+++ /dev/null
@@ -1,799 +0,0 @@
-=encoding utf8
-
-=head1 NAME
-
-perl5136delta - what is new for perl v5.13.6
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.13.5 release and
-the 5.13.6 release.
-
-If you are upgrading from an earlier release such as 5.13.4, first read
-L<perl5135delta>, which describes differences between 5.13.4 and
-5.13.5.
-
-=head1 Core Enhancements
-
-=head2 C<(?^...)> regex construct added to signify default modifiers
-
-A caret (also called a "circumflex accent") C<"^"> immediately following
-a C<"(?"> in a regular expression now means that the subexpression is to
-not inherit the surrounding modifiers such as C</i>, but to revert to the
-Perl defaults. Any modifiers following the caret override the defaults.
-
-The stringification of regular expressions now uses this
-notation. E.g., before, C<qr/hlagh/i> would be stringified as
-C<(?i-xsm:hlagh)>, but now it's stringified as C<(?^i:hlagh)>.
-
-The main purpose of this is to allow tests that rely on the
-stringification to not have to change when new modifiers are added.
-See L<perlre/Extended Patterns>.
-
-=head2 C<"d">, C<"l">, and C<"u"> regex modifiers added
-
-These modifiers are currently only available within a C<(?...)> construct.
-
-The C<"l"> modifier says to compile the regular expression as if it were
-in the scope of C<use locale>, even if it is not.
-
-The C<"u"> modifier says to compile the regular expression as if it were
-in the scope of a C<use feature "unicode_strings"> pragma.
-
-The C<"d"> modifier is used to override any C<use locale> and
-C<use feature "unicode_strings"> pragmas that are in effect at the time
-of compiling the regular expression.
-
-See just below and L<perlre/(?dlupimsx-imsx)>.
-
-=head2 C<use feature "unicode_strings"> now applies to some regex matching
-
-Another chunk of the L<perlunicode/The "Unicode Bug"> is fixed in this
-release. Now, regular expressions compiled within the scope of the
-"unicode_strings" feature will match the same whether or not the target
-string is encoded in utf8, with regard to C<\s>, C<\w>, C<\b>, and their
-complements. Work is underway to add the C<[[:posix:]]> character
-classes and case sensitive matching to the control of this feature, but
-was not complete in time for this dot release.
-
-=head2 C<\N{...}> now handles Unicode named character sequences
-
-Unicode has a number of named character sequences, in which particular sequences
-of code points are given names. C<\N{...}> now recognizes these.
-See L<charnames>.
-
-=head2 New function C<charnames::string_vianame()>
-
-This function is a run-time version of C<\N{...}>, returning the string
-of characters whose Unicode name is its parameter. It can handle
-Unicode named character sequences, whereas the pre-existing
-C<charnames::vianame()> cannot, as the latter returns a single code
-point.
-See L<charnames>.
-
-=head2 Reentrant regular expression engine
-
-It is now safe to use regular expressions within C<(?{...})> and
-C<(??{...})> code blocks inside regular expressions.
-
-These block are still experimental, however, and still have problems with
-lexical (C<my>) variables, lexical pragmata and abnormal exiting.
-
-=head2 Custom per-subroutine check hooks
-
-XS code in an extension module can now annotate a subroutine (whether
-implemented in XS or in Perl) so that nominated XS code will be called
-at compile time (specifically as part of op checking) to change the op
-tree of that subroutine. The compile-time check function (supplied by
-the extension module) can implement argument processing that can't be
-expressed as a prototype, generate customised compile-time warnings,
-perform constant folding for a pure function, inline a subroutine
-consisting of sufficiently simple ops, replace the whole call with a
-custom op, and so on. This was previously all possible by hooking the
-C<entersub> op checker, but the new mechanism makes it easy to tie the
-hook to a specific subroutine. See L<perlapi/cv_set_call_checker>.
-
-To help in writing custom check hooks, several subtasks within standard
-C<entersub> op checking have been separated out and exposed in the API.
-
-=head2 Return value of C<delete $+{...}>
-
-Custom regular expression engines can now determine the return value of
-C<delete> on an entry of C<%+> or C<%->.
-
-=head2 C<keys>, C<values> work on arrays
-
-You can now use the C<keys>, C<values>, C<each> builtin functions on arrays
-(previously you could only use them on hashes). See L<perlfunc> for details.
-This is actually a change introduced in perl 5.12.0, but it was missed from
-that release's perldelta.
-
-=head1 Incompatible Changes
-
-=head2 Stringification of regexes has changed
-
-Default regular expression modifiers are now notated by using
-C<(?^...)>. Code relying on the old stringification will fail. The
-purpose of this is so that when new modifiers are added, such code will
-not have to change (after this one time), as the stringification will
-automatically incorporate the new modifiers.
-
-Code that needs to work properly with both old- and new-style regexes
-can avoid the whole issue by using (for Perls since 5.9.5):
-
- use re qw(regexp_pattern);
- my ($pat, $mods) = regexp_pattern($re_ref);
-
-where C<$re_ref> is a reference to a compiled regular expression. Upon
-return, C<$mods> will be a string containing all the non-default
-modifiers used when the regular expression was compiled, and C<$pattern>
-the actual pattern.
-
-If the actual stringification is important, or older Perls need to be
-supported, you can use something like the following:
-
- # Accept both old and new-style stringification
- my $modifiers = (qr/foobar/ =~ /\Q(?^/) ? '^' : '-xism';
-
-And then use C<$modifiers> instead of C<-xism>.
-
-=head2 Regular expressions retain their localeness when interpolated
-
-Regular expressions compiled under C<"use locale"> now retain this when
-interpolated into a new regular expression compiled outside a
-C<"use locale">, and vice-versa.
-
-Previously, a regular expression interpolated into another one inherited
-the localeness of the surrounding one, losing whatever state it
-originally had. This is considered a bug fix, but may trip up code that
-has come to rely on the incorrect behavior.
-
-=head2 Directory handles not copied to threads
-
-On systems that do not have a C<fchdir> function, newly-created threads no
-longer inherit directory handles from their parent threads. Such programs
-would probably have crashed anyway
-L<[perl #75154]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75154>.
-
-=head2 Negation treats strings differently from before
-
-The unary negation operator C<-> now treats strings that look like numbers
-as numbers
-L<[perl #57706]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=57706>.
-
-=head2 Negative zero
-
-Negative zero (-0.0), when converted to a string, now becomes "0" on all
-platforms. It used to become "-0" on some, but "0" on others.
-
-If you still need to determine whether a zero is negative, use
-C<sprintf("%g", $zero) =~ /^-/> or the L<Data::Float> module on CPAN.
-
-=head1 Performance Enhancements
-
-=over 4
-
-=item *
-
-The bulk of the C<Tie::Hash::NamedCapture> module used to be in the perl
-core. It has now been moved to an XS module, to reduce the overhead for
-programs that do not use C<%+> or C<%->.
-
-=item *
-
-Eliminate C<PL_*> accessor functions under ithreads.
-
-When C<MULTIPLICITY> was first developed, and interpreter state moved into an
-interpreter struct, thread and interpreter local C<PL_*> variables were defined
-as macros that called accessor functions, returning the address of the value,
-outside of the perl core. The intent was to allow members within the interpreter
-struct to change size without breaking binary compatibility, so that bug fixes
-could be merged to a maintenance branch that necessitated such a size change.
-
-However, some non-core code defines C<PERL_CORE>, sometimes intentionally to
-bypass this mechanism for speed reasons, sometimes for other reasons but with
-the inadvertent side effect of bypassing this mechanism. As some of this code is
-widespread in production use, the result is that the core B<can't> change the
-size of members of the interpreter struct, as it will break such modules
-compiled against a previous release on that maintenance branch. The upshot is
-that this mechanism is redundant, and well-behaved code is penalised by
-it. Hence it can and should be removed.
-
-=back
-
-=head1 Modules and Pragmata
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item *
-
-C<Archive::Extract> has been upgraded from version 0.42 to 0.44
-
-=item *
-
-C<Carp> has been upgraded from version 1.18 to 1.19.
-
-It no longer autovivifies the C<*CORE::GLOBAL::caller> glob, something it
-started doing in 1.18, which was released with perl 5.13.4
-L<[perl #78082]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=78082>
-
-=item *
-
-C<Compress::Raw::Bzip2> has been upgraded from version 2.030 to 2.031
-
-Updated to use bzip2 1.0.6
-
-=item *
-
-C<CPAN> has been upgraded from version 1.94_57 to 1.94_61
-
-=item *
-
-C<Data::Dumper> has been upgraded from version 2.128 to 2.129.
-
-C<Dumpxs> no longer crashes with globs returned by C<*$io_ref>
-L<[perl #72332]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=72332>.
-
-=item *
-
-C<Digest::MD5> has been upgraded from version 2.40 to 2.51.
-
-It is now safe to use this module in combination with threads.
-
-=item *
-
-C<File::DosGlob> has been upgraded from version 1.02 to 1.03.
-
-It allows patterns containing literal parentheses (they no longer need to
-be escaped). On Windows, it no longer adds an extra F<./> to the file names
-returned when the pattern is a relative glob with a drive specification,
-like F<c:*.pl>
-L<[perl #71712]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=71712>.
-
-=item *
-
-C<File::Find> has been upgraded from version 1.17 to 1.18.
-
-It improves handling of backslashes on Windows, so that paths such as
-F<c:\dir\/file> are no longer generated
-L<[perl #71710]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=71710>.
-
-=item *
-
-C<if> has been upgraded from version 0.05 to 0.06
-
-=item *
-
-C<IPC::Cmd> has been upgraded from version 0.60 to 0.64
-
-=item *
-
-C<IPC::Open3> has been upgraded from version 1.06 to 1.07.
-
-The internal C<xclose> routine now knows how to handle file descriptors, as
-documented, so duplicating STDIN in a child process using its file
-descriptor now works
-L<[perl #76474]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=71710>.
-
-=item *
-
-C<Locale::Codes> has been upgraded from version 3.13 to 3.14.
-
-=item *
-
-C<Locale::Maketext> has been upgraded from version 1.15 to 1.16.
-
-It fixes an infinite loop in C<Locale::Maketext::Guts::_compile()> when
-working with tainted values
-(L<CPAN RT #40727|https://rt.cpan.org/Public/Bug/Display.html?id=40727>).
-
-C<< ->maketext >> calls will now backup and restore C<$@> so that error
-messages are not suppressed
-(L<CPAN RT #34182|https://rt.cpan.org/Public/Bug/Display.html?id=34182>).
-
-=item *
-
-C<Math::BigInt> has been upgraded from version 1.95 to 1.97.
-
-This prevents C<sqrt($int)> from crashing under C<use bigrat;>
-L<[perl #73534]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=73534>.
-
-=item *
-
-C<NEXT> has been upgraded from version 0.64 to 0.65.
-
-=item *
-
-C<overload> has been upgraded from version 1.10 to 1.11.
-
-C<overload::Method> can now handle subroutines that are themselves blessed
-into overloaded classes
-L<[perl #71998]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=71998>.
-
-=item *
-
-C<PathTools> has been upgraded from version 3.31_01 to 3.34.
-
-=item *
-
-C<podlators> has been upgraded from version 2.3.1 to 2.4.0
-
-=item *
-
-C<sigtrap> has been upgraded from version 1.04 to 1.05.
-
-It no longer tries to modify read-only arguments when generating a
-backtrace
-L<[perl #72340]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=72340>.
-
-=item *
-
-C<threads> has been upgraded from version 1.77_03 to 1.81_01.
-
-=item *
-
-C<threads::shared> has been upgrade from version 1.33_03 to 1.34
-
-=item *
-
-C<Unicode::Collate> has been upgraded from version 0.59 to 0.63
-
-U::C::Locale newly supports locales: ar, be, bg, de__phonebook, hu, hy, kk, mk, nso, om,
-tn, vi, hr, ig, ru, sq, se, sr, to and uk
-
-=item *
-
-C<Unicode::Normalize> has been upgraded from version 1.06 to 1.07
-
-=item *
-
-C<B::Deparse> has been upgraded from version 0.98 to 0.99
-
-B::Deparse now properly handles the code that applies a conditional
-pattern match against implicit C<$_> as it was fixed in
-L<[perl #20444]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=20444>.
-
-=item *
-
-C<GDBM_File> has been upgraded from version 1.10 to 1.11
-
-=back
-
-=head1 Documentation
-
-=head2 Changes to Existing Documentation
-
-=head3 L<perlapi>
-
-=over 4
-
-=item *
-
-The documentation for the C<SvTRUE> macro was simply wrong in stating that
-get-magic is not processed. It has been corrected.
-
-=back
-
-=head1 Diagnostics
-
-The following additions or changes have been made to diagnostic output,
-including warnings and fatal error messages. For the complete list of
-diagnostic messages, see L<perldiag>.
-
-=head2 Changes to Existing Diagnostics
-
-=over 4
-
-=item *
-
-The 'Layer does not match this perl' error message has been replaced with
-these more helpful messages:
-
-=over 4
-
-=item *
-
-PerlIO layer function table size (%d) does not match size expected by this
-perl (%d)
-
-=item *
-
-PerlIO layer instance size (%d) does not match size expected by this perl
-(%d)
-
-=back
-
-L<[perl #73754]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=73754>
-
-=back
-
-=head1 Testing
-
-=over 4
-
-=item *
-
-The script F<t/op/threads-dirh.t> has been added, which tests interaction
-of threads and directory handles.
-
-=back
-
-=head1 Platform Support
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-=item IRIX
-
-Conversion of strings to floating-point numbers is now more accurate on
-IRIX systems
-L<[perl #32380]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=32380>.
-
-=item Mac OS X
-
-Early versions of Mac OS X (Darwin) had buggy implementations of the
-C<setregid>, C<setreuid>, C<setrgid> and C<setruid> functions, so perl
-would pretend they did not exist.
-
-These functions are now recognised on Mac OS 10.5 (Leopard; Darwin 9) and
-higher, as they have been fixed
-L<[perl #72990]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=72990>.
-
-=item OpenVOS
-
-perl now builds again with OpenVOS (formerly known as Stratus VOS)
-L<[perl #78132]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=78132>.
-
-=item VMS
-
-The shortening of symbols longer than 31 characters in the C sources is
-now done by the compiler rather than by xsubpp (which could only do so
-for generated symbols in XS code).
-
-=item Windows
-
-C<$Config{gccversion}> is now set correctly when perl is built using the
-mingw64 compiler from L<http://mingw64.org>
-L<[perl #73754]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=73754>.
-
-The build process proceeds more smoothly with mingw and dmake when
-F<C:\MSYS\bin> is in the PATH, due to a C<Cwd> fix.
-
-=back
-
-=head1 Internal Changes
-
-=over 4
-
-=item *
-
-See L</Regular expressions retain their localeness when interpolated>,
-above.
-
-=item *
-
-The C<sv_cmp_flags>, C<sv_cmp_locale_flags>, C<sv_eq_flags> and
-C<sv_collxfrm_flags> functions have been added. These are like their
-non-_flags counterparts, but allow one to specify whether get-magic is
-processed.
-
-The C<sv_cmp>, C<sv_cmp_locale>, C<sv_eq> and C<sv_collxfrm> functions have
-been replaced with wrappers around the new functions.
-
-=item *
-
-A new C<sv_2bool_flags> function has been added.
-
-This is like C<sv_2bool>, but it lets the calling code decide whether
-get-magic is handled. C<sv_2bool> is now a macro that calls the new
-function.
-
-=item *
-
-A new macro, C<SvTRUE_nomg>, has been added.
-
-This is like C<SvTRUE>, except that it does not process magic. It uses the
-new C<sv_2bool_flags> function.
-
-=item *
-
-C<sv_catsv_flags> no longer calls C<mg_get> on its second argument (the
-source string) if the flags passed to it do not include SV_GMAGIC. So it
-now matches the documentation.
-
-=item *
-
-A new interface has been added for custom check hooks on subroutines. See
-L</Custom per-subroutine check hooks>, above.
-
-=item *
-
-List op building functions have been added to the
-API. See L<op_append_elem|perlapi/op_append_elem>,
-L<op_append_list|perlapi/op_append_list>, and
-L<op_prepend_elem|perlapi/op_prepend_elem>.
-
-=item *
-
-The L<LINKLIST|perlapi/LINKLIST> macro, part of op building that
-constructs the execution-order op chain, has been added to the API.
-
-=item *
-
-Many functions ending with pvn now have equivalent pv/pvs/sv versions.
-
-=item *
-
-The C<save_freeop>, C<save_op>, C<save_pushi32ptr> and C<save_pushptrptr>
-functions have been added to the API.
-
-=item *
-
-The new API function C<parse_stmtseq()> parses a sequence of statements, up
-to closing brace or EOF.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-A regular expression match in the right-hand side of a global substitution
-(C<s///g>) that is in the same scope will no longer cause match variables
-to have the wrong values on subsequent iterations. This can happen when an
-array or hash subscript is interpolated in the right-hand side, as in
-C<s|(.)|@a{ print($1), /./ }|g>
-L<[perl #19078]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=19078>.
-
-=item *
-
-Constant-folding used to cause
-
- $text =~ ( 1 ? /phoo/ : /bear/)
-
-to turn into
-
- $text =~ /phoo/
-
-at compile time. Now it correctly matches against C<$_>
-L<[perl #20444]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=20444>.
-
-=item *
-
-Parsing Perl code (either with string C<eval> or by loading modules) from
-within a C<UNITCHECK> block no longer causes the interpreter to crash
-L<[perl #70614]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=70614>.
-
-=item *
-
-When C<-d> is used on the shebang (C<#!>) line, the debugger now has access
-to the lines of the main program. In the past, this sometimes worked and
-sometimes did not, depending on what order things happened to be arranged
-in memory
-L<[perl #71806]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=71806>.
-
-=item *
-
-The C<y///> or C<tr///> operator now calls get-magic (e.g., the C<FETCH>
-method of a tie) on its left-hand side just once, not twice
-L<[perl #76814]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=76814>.
-
-=item *
-
-String comparison (C<eq>, C<ne>, C<lt>, C<gt>, C<le>, C<ge> and
-C<cmp>) and logical not (C<not> and C<!>) operators no longer call magic
-(e.g., tie methods) twice on their operands
-L<[perl #76814]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=76814>.
-
-This bug was introduced in an earlier 5.13 release, and does not affect
-perl 5.12.
-
-=item *
-
-When a tied (or other magic) variable is used as, or in, a regular
-expression, it no longer has its C<FETCH> method called twice
-L<[perl #76814]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=76814>.
-
-This bug was introduced in an earlier 5.13 release, and does not affect
-perl 5.12.
-
-=item *
-
-The C<-C> command line option can now be followed by other options
-L<[perl #72434]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=72434>.
-
-=item *
-
-Assigning a glob to a PVLV used to convert it to a plain string. Now it
-works correctly, and a PVLV can hold a glob. This would happen when a
-nonexistent hash or array element was passed to a subroutine:
-
- sub { $_[0] = *foo }->($hash{key});
- # $_[0] would have been the string "*main::foo"
-
-It also happened when a glob was assigned to, or returned from, an element
-of a tied array or hash
-L<[perl #36051]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=36051>.
-
-=item *
-
-Creating a new thread when directory handles were open used to cause a
-crash, because the handles were not cloned, but simply passed to the new
-thread, resulting in a double free.
-
-Now directory handles are cloned properly, on systems that have a C<fchdir>
-function. On other systems, new threads simply do not inherit directory
-handles from their parent threads
-L<[perl #75154]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75154>.
-
-=item *
-
-The regular expression parser no longer hangs when parsing C<\18> and
-C<\88>.
-
-This bug was introduced in version 5.13.5 and did not affect earlier
-versions
-L<[perl #78058]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78058>.
-
-=item *
-
-Subroutine redefinition works once more in the debugger
-L<[perl #48332]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=48332>.
-
-=item *
-
-The C<&> C<|> C<^> bitwise operators no longer coerce read-only arguments
-L<[perl #20661]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=20661>.
-
-=item *
-
-Stringifying a scalar containing -0.0 no longer has the affect of turning
-false into true
-L<[perl #45133]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=45133>.
-
-=item *
-
-Aliasing packages by assigning to globs or deleting packages by deleting
-their containing stash elements used to have erratic effects on method
-resolution, because the internal 'isa' caches were not reset. This has been
-fixed.
-
-=item *
-
-C<sort> with a custom sort routine could crash if too many nested
-subroutine calls occurred from within the sort routine
-L<[perl #77930]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77930>.
-
-This bug was introduced in an earlier 5.13 release, and did not affect
-perl 5.12.
-
-=item *
-
-The C<eval_sv> and C<eval_pv> C functions now set C<$@> correctly when
-there is a syntax error and no C<G_KEEPERR> flag, and never set it if the
-C<G_KEEPERR> flag is present
-L<[perl #3719]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=3719>.
-
-=item *
-
-Nested C<map> and C<grep> blocks no longer leak memory when processing
-large lists
-L<[perl #48004]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=48004>.
-
-=item *
-
-Malformed C<version> objects no longer cause crashes
-L<[perl #78286]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78286>.
-
-=item *
-
-The interpreter no longer crashes when freeing deeply-nested arrays of
-arrays. Hashes have not been fixed yet
-L<[perl #44225]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=44225>.
-
-=item *
-
-The mechanism for freeing objects in globs used to leave dangling
-pointers to freed SVs, meaning Perl users could see corrupted state
-during destruction.
-
-Perl now only frees the affected slots of the GV, rather than freeing
-the GV itself. This makes sure that there are no dangling refs or
-corrupted state during destruction.
-
-=item *
-
-The typeglob C<*,>, which holds the scalar variable C<$,> (output field
-separator), had the wrong reference count in child threads.
-
-=item *
-
-C<splice> now calls set-magic. This means that, for instance, changes made
-by C<splice @ISA> are respected by method calls
-L<[perl #78400]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78400>.
-
-=item *
-
-C<use v5.8> no longer leaks memory
-L<[perl #78436]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78436>.
-
-=item *
-
-The XS multicall API no longer causes subroutines to lose reference counts
-if called via the multicall interface from within those very subroutines.
-This affects modules like List::Util. Calling one of its functions with an
-active subroutine as the first argument could cause a crash
-L<[perl #78070]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78070>.
-
-=back
-
-=head1 Errata
-
-=over 4
-
-=item *
-
-Fixed a typo in L<perl5135delta> regarding array slices and smart matching
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.13.6 represents approximately one month of development since Perl
-5.13.5 and contains 67920 lines of changes across 566 files from 47 authors
-and committers:
-
-A. Sinan Unur, Aaron Crane, Alex Davies, Ali Polatel, Allen Smith, Andrew Rodland,
-Andy Dougherty, Ben Morrow, brian d foy, Casey West, Chip Salzenberg, Chris
-'BinGOs' Williams, Craig A. Berry, David Golden, David Mitchell, Eric Brine,
-Father Chrysostomos, Florian Ragwitz, George Greer, gregor herrmann, Jan Dubois,
-Jerry D. Hedden, Jesse Vincent, Joshua Pritikin, Karl Williamson, kmx, Michael
-G Schwern, Mike Kelly, Nicholas Clark, Paul Green, Rafael Garcia-Suarez, Renee
-Baecker, Ricardo Signes, Sisyphus, Slaven Rezic, Steffen Müller, Steve Hay,
-Sullivan Beck, Tatsuhiko Miyagawa, Todd Rinaldo, Tony Cook, Tye McQueen, Vernon
-Lyon, Walt Mankowski, Zefram, Zsbán Ambrus, Ævar Arnfjörð Bjarmason.
-
-Many of the changes included in this version originated in the CPAN
-modules included in Perl's core. We're grateful to the entire CPAN
-community for helping Perl to flourish.
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://rt.perl.org/perlbug/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please send
-it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
-to help assess the impact of issues, figure out a resolution, and help
-co-ordinate the release of patches to mitigate or fix the problem across all
-platforms on which Perl is supported. Please only use this address for
-security issues in the Perl core, not for modules independently
-distributed on CPAN.
-
-=head1 SEE ALSO
-
-The F<Changes> file for an explanation of how to view exhaustive details
-on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5137delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5137delta.pod
deleted file mode 100644
index 0a65b4365a9..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl5137delta.pod
+++ /dev/null
@@ -1,945 +0,0 @@
-=encoding utf8
-
-=head1 NAME
-
-perl5137delta - what is new for perl v5.13.7
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.13.6 release and
-the 5.13.7 release.
-
-If you are upgrading from an earlier release such as 5.13.5, first read
-L<perl5136delta>, which describes differences between 5.13.5 and
-5.13.6.
-
-=head1 Core Enhancements
-
-=head2 Single term prototype
-
-The C<+> prototype is a special alternative to C<$> that will act like
-C<\[@%]> when given a literal array or hash variable, but will otherwise
-force scalar context on the argument. This is useful for functions which
-should accept either a literal array or an array reference as the argument:
-
- sub smartpush (+@) {
- my $aref = shift;
- die "Not an array or arrayref" unless ref $aref eq 'ARRAY';
- push @$aref, @_;
- }
-
-When using the C<+> prototype, your function must check that the argument
-is of an acceptable type.
-
-=head2 C<use re '/flags';>
-
-The C<re> pragma now has the ability to turn on regular expression flags
-till the end of the lexical scope:
-
- use re '/x';
- "foo" =~ / (.+) /; # /x implied
-
-See L<re/"'/flags' mode"> for details.
-
-=head2 Statement labels can appear in more places
-
-Statement labels can now occur before any type of statement or declaration,
-such as C<package>.
-
-=head2 C<use feature "unicode_strings"> now applies to more regex matching
-
-Another chunk of the L<perlunicode/The "Unicode Bug"> is fixed in this
-release. Now, regular expressions compiled within the scope of the
-"unicode_strings" feature (or under the "u" regex modifier (specifiable
-currently only with infix notation C<(?u:...)> or via C<use re '/u'>)
-will match the same whether or not the target string is encoded in utf8,
-with regard to C<[[:posix:]]> character classes
-
-Work is underway to add the case sensitive matching to the control of
-this feature, but was not complete in time for this dot release.
-
-=head2 Array and hash container functions accept references
-
-All built-in functions that operate directly on array or hash
-containers now also accept hard references to arrays or hashes:
-
- |----------------------------+---------------------------|
- | Traditional syntax | Terse syntax |
- |----------------------------+---------------------------|
- | push @$arrayref, @stuff | push $arrayref, @stuff |
- | unshift @$arrayref, @stuff | unshift $arrayref, @stuff |
- | pop @$arrayref | pop $arrayref |
- | shift @$arrayref | shift $arrayref |
- | splice @$arrayref, 0, 2 | splice $arrayref, 0, 2 |
- | keys %$hashref | keys $hashref |
- | keys @$arrayref | keys $arrayref |
- | values %$hashref | values $hashref |
- | values @$arrayref | values $arrayref |
- | ($k,$v) = each %$hashref | ($k,$v) = each $hashref |
- | ($k,$v) = each @$arrayref | ($k,$v) = each $arrayref |
- |----------------------------+---------------------------|
-
-This allows these built-in functions to act on long dereferencing chains
-or on the return value of subroutines without needing to wrap them in
-C<@{}> or C<%{}>:
-
- push @{$obj->tags}, $new_tag; # old way
- push $obj->tags, $new_tag; # new way
-
- for ( keys %{$hoh->{genres}{artists}} ) {...} # old way
- for ( keys $hoh->{genres}{artists} ) {...} # new way
-
-For C<push>, C<unshift> and C<splice>, the reference will auto-vivify
-if it is not defined, just as if it were wrapped with C<@{}>.
-
-Calling C<keys> or C<values> directly on a reference gives a substantial
-performance improvement over explicit dereferencing.
-
-For C<keys>, C<values>, C<each>, when overloaded dereferencing is
-present, the overloaded dereference is used instead of dereferencing the
-underlying reftype. Warnings are issued about assumptions made in the
-following three ambiguous cases:
-
- (a) If both %{} and @{} overloading exists, %{} is used
- (b) If %{} overloading exists on a blessed arrayref, %{} is used
- (c) If @{} overloading exists on a blessed hashref, @{} is used
-
-=head2 y///r
-
-The C</r> flag, which was added to C<s///> in 5.13.2, has been extended to
-the C<y///> operator.
-
-It causes it to perform the substitution on a I<copy> of its operand,
-returning that copy instead of a character count.
-
-=head2 New global variable C<${^GLOBAL_PHASE}>
-
-A new global variable, C<${^GLOBAL_PHASE}>, has been added to allow
-introspection of the current phase of the perl interpreter. It's explained in
-detail in L<perlvar/"${^GLOBAL_PHASE}"> and
-L<perlmod/"BEGIN, UNITCHECK, CHECK, INIT and END">.
-
-=head2 Unicode Version 6.0 is now supported (mostly)
-
-Perl comes with the Unicode 6.0 data base updated with
-L<Corrigendum #8|http://www.unicode.org/versions/corrigendum8.html>,
-with one exception noted below.
-See L<http://unicode.org/versions/Unicode6.0.0> for details on the new
-release. Perl does not support any Unicode provisional properties,
-including the new ones for this release, but their database files are
-packaged with Perl.
-
-Unicode 6.0 has chosen to use the name C<BELL> for the character at U+1F514,
-which is a symbol that looks like a bell, and used in Japanese cell
-phones. This conflicts with the long-standing Perl usage of having
-C<BELL> mean the ASCII C<BEL> character, U+0007. In Perl 5.14,
-C<\N{BELL}> will continue to mean U+0007, but its use will generate a
-deprecated warning message, unless such warnings are turned off. The
-new name for U+0007 in Perl will be C<ALERT>, which corresponds nicely
-with the existing shorthand sequence for it, C<"\a">. C<\N{BEL}> will
-mean U+0007, with no warning given. The character at U+1F514 will not
-have a name in 5.14, but can be referred to by C<\N{U+1F514}>. The plan
-is that in Perl 5.16, C<\N{BELL}> will refer to U+1F514, and so all code
-that uses C<\N{BELL}> should convert by then to using C<\N{ALERT}>,
-C<\N{BEL}>, or C<"\a"> instead.
-
-=head2 Improved support for custom OPs
-
-Custom ops can now be registered with the new C<custom_op_register> C
-function and the C<XOP> structure. This will make it easier to add new
-properties of custom ops in the future. Two new properties have been added
-already, C<xop_class> and C<xop_peep>.
-
-C<xop_class> is one of the OA_*OP constants, and allows L<B> and other
-introspection mechanisms to work with custom ops that aren't BASEOPs.
-C<xop_peep> is a pointer to a function that will be called for ops of this
-type from C<Perl_rpeep>.
-
-See L<perlguts/Custom Operators> and L<perlapi/Custom Operators> for more
-detail.
-
-The old C<PL_custom_op_names>/C<PL_custom_op_descs> interface is still
-supported but discouraged.
-
-=head1 Incompatible Changes
-
-=head2 Dereferencing typeglobs
-
-If you assign a typeglob to a scalar variable:
-
- $glob = *foo;
-
-the glob that is copied to C<$glob> is marked with a special flag
-indicating that the glob is just a copy. This allows subsequent assignments
-to C<$glob> to overwrite the glob. The original glob, however, is
-immutable.
-
-Many Perl operators did not distinguish between these two types of globs.
-This would result in strange behaviour in edge cases: C<untie $scalar>
-would do nothing if the last thing assigned to the scalar was a glob
-(because it treated it as C<untie *$scalar>, which unties a handle).
-Assignment to a glob slot (e.g., C<(*$glob) = \@some_array>) would simply
-assign C<\@some_array> to C<$glob>.
-
-To fix this, the C<*{}> operator (including the C<*foo> and C<*$foo> forms)
-has been modified to make a new immutable glob if its operand is a glob
-copy. Various operators that make a distinction between globs and scalars
-have been modified to treat only immutable globs as globs.
-
-This causes an incompatible change in code that assigns a glob to the
-return value of C<*{}> when that operator was passed a glob copy. Take the
-following code, for instance:
-
- $glob = *foo;
- *$glob = *bar;
-
-The C<*$glob> on the second line returns a new immutable glob. That new
-glob is made an alias to C<*bar>. Then it is discarded. So the second
-assignment has no effect.
-
-It also means that C<tie $handle> will now tie C<$handle> as a scalar, even
-if it has had a glob assigned to it.
-
-The upside to this incompatible change is that bugs
-L<[perl #77496]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77496>,
-L<[perl #77502]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77502>,
-L<[perl #77508]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77508>,
-L<[perl #77688]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77688>,
-and
-L<[perl #77812]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77812>,
-and maybe others, too, have been fixed.
-
-See L<http://rt.perl.org/rt3/Public/Bug/Display.html?id=77810> for even
-more detail.
-
-=head2 Clearing stashes
-
-Stash list assignment C<%foo:: = ()> used to make the stash anonymous
-temporarily while it was being emptied. Consequently, any of its
-subroutines referenced elsewhere would become anonymous (showing up as
-"(unknown)" in C<caller>). Now they retain their package names, such that
-C<caller> will return the original sub name if there is still a reference
-to its typeglob, or "foo::__ANON__" otherwise
-L<[perl #79208]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79208>.
-
-=head1 Deprecations
-
-=head2 C<\N{BELL}> is deprecated
-
-This is because Unicode is using that name for a different character.
-See L</Unicode Version 6.0 is now supported (mostly)> for more
-explanation.
-
-=head1 Performance Enhancements
-
-=over 4
-
-=item *
-
-When an object has many weak references to it, freeing that object
-can under some some circumstances take O(N^2) time to free (where N is the
-number of references). The number of circumstances has been reduced.
-L<[perl #75254]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75254>.
-
-=back
-
-=head1 Modules and Pragmata
-
-=head2 New Modules and Pragmata
-
-=over 4
-
-=item *
-
-The following modules were added by the C<Unicode::Collate>
-upgrade from 0.63 to 0.67. See below for details.
-
-C<Unicode::Collate::CJK::Big5>
-
-C<Unicode::Collate::CJK::GB2312>
-
-C<Unicode::Collate::CJK::JISX0208>
-
-C<Unicode::Collate::CJK::Korean>
-
-C<Unicode::Collate::CJK::Pinyin>
-
-C<Unicode::Collate::CJK::Stroke>
-
-=back
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item *
-
-C<Archive::Extract> has been upgraded from 0.44 to 0.46
-
-Resolves an issue with NetBSD-current and its new unzip
-executable.
-
-=item *
-
-C<Archive::Tar> has been upgraded from 1.68 to 1.72
-
-This adds the ptargrep utility for using regular expressions against
-the contents of files in a tar archive.
-
-=item *
-
-C<B> has been upgraded from 1.24 to 1.26.
-
-It no longer crashes when taking apart a C<y///> containing characters
-outside the octet range or compiled in a C<use utf8> scope.
-
-The size of the shared object has been reduced by about 40%, with no
-reduction in functionality.
-
-=item *
-
-C<B::Deparse> has been upgraded from 0.99 to 1.01.
-
-It fixes deparsing of C<our> followed by a variable with funny characters
-(as permitted under the C<utf8> pragma)
-L<[perl #33752]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=33752>.
-
-=item *
-
-C<CGI> has been upgraded from 3.49 to 3.50
-
-This provides the following security fixes: the MIME boundary in
-multipart_init is now random and improvements to the handling of
-newlines embedded in header values.
-
-The documentation for param_fetch() has been corrected and clarified.
-
-=item *
-
-C<CPAN> has been upgraded from 1.94_61 to 1.94_62
-
-=item *
-
-C<CPANPLUS> has been upgraded from 0.9007 to 0.9010
-
-Fixes for the SQLite source engine and resolving of issues with the
-testsuite when run under local::lib and/or cpanminus
-
-=item *
-
-C<CPANPLUS::Dist::Build> has been upgraded from 0.48 to 0.50
-
-=item *
-
-C<Data::Dumper> has been upgraded from 2.129 to 2.130_01.
-
-=item *
-
-C<DynaLoader> has been upgraded from 1.10 to 1.11.
-
-It fixes a buffer overflow when passed a very long file name.
-
-=item *
-
-C<ExtUtils::Constant> has been upgraded from 0.22 to 0.23.
-
-The C<AUTOLOAD> helper code generated by C<ExtUtils::Constant::ProxySubs>
-can now C<croak> for missing constants, or generate a complete C<AUTOLOAD>
-subroutine in XS, allowing simplification of many modules that use it.
-(C<Fcntl>, C<File::Glob>, C<GDBM_File>, C<I18N::Langinfo>, C<POSIX>, C<Socket>)
-
-C<ExtUtils::Constant::ProxySubs> can now optionally push the names of all
-constants onto the package's C{@EXPORT_OK}. This has been used to replace
-less space-efficient code in C<B>, helping considerably shrink the size of its
-shared object.
-
-=item *
-
-C<Fcntl> has been upgraded from 1.09 to 1.10.
-
-=item *
-
-C<File::Fetch> has been upgraded from 0.24 to 0.28
-
-C<HTTP::Lite> is now supported for 'http' scheme.
-
-The C<fetch> utility is supported on FreeBSD, NetBSD and
-Dragonfly BSD for the C<http> and C<ftp> schemes.
-
-=item *
-
-C<File::Glob> has been upgraded from 1.09 to 1.10.
-
-=item *
-
-C<File::stat> has been upgraded from 1.03 to 1.04.
-
-The C<-x> and C<-X> file test operators now work correctly under the root
-user.
-
-=item *
-
-C<GDBM_File> has been upgraded from 1.11 to 1.12.
-
-This fixes a memory leak when DBM filters are used.
-
-=item *
-
-C<Hash::Util> has been upgraded from 0.09 to 0.10.
-
-=item *
-
-C<Hash::Util::FieldHash> has been upgraded from 1.05 to 1.06.
-
-=item *
-
-C<I18N::Langinfo> has been upgraded from 0.06 to 0.07.
-
-=item *
-
-C<Locale::Maketext> has been upgraded from 1.16 to 1.17.
-
-=item *
-
-C<Math::BigInt> has been upgraded from 1.97 to 1.99_01.
-
-=item *
-
-C<Math::BigRat> has been upgraded from 0.26 to 0.26_01
-
-=item *
-
-C<Math::BigInt::FastCalc> has been upgraded from 0.22 to 0.24_01.
-
-=item *
-
-C<MIME::Base64> has been upgraded from 3.09 to 3.10
-
-Includes new functions to calculate the length of encoded and decoded
-base64 strings.
-
-=item *
-
-C<mro> has been upgraded from 1.04 to 1.05.
-
-=item *
-
-C<NDBM_File> has been upgraded from 1.09 to 1.10.
-
-This fixes a memory leak when DBM filters are used.
-
-=item *
-
-C<ODBM_File> has been upgraded from 1.08 to 1.09.
-
-This fixes a memory leak when DBM filters are used.
-
-=item *
-
-C<Opcode> has been upgraded from 1.16 to 1.17.
-
-=item *
-
-C<parent> has been upgraded from 0.223 to 0.224
-
-=item *
-
-C<Pod::Simple> has been upgraded from 3.14 to 3.15
-
-Includes various fixes to C<HTML> and C<XHTML> handling.
-
-=item *
-
-C<POSIX> has been upgraded from 1.21 to 1.22.
-
-=item *
-
-C<re> has been upgraded from 0.13 to 0.14, for the sake of the new
-C<use re "/flags"> pragma.
-
-=item *
-
-C<Safe> has been upgraded from 2.28 to 2.29.
-
-It adds C<&version::vxs::VCMP> to the default share.
-
-=item *
-
-C<SDBM_File> has been upgraded from 1.07 to 1.08.
-
-=item *
-
-C<SelfLoader> has been upgraded from 1.17 to 1.18.
-
-It now works in taint mode
-L<[perl #72062]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72062>.
-
-=item *
-
-C<Socket> has been upgraded from 1.90 to 1.91.
-
-=item *
-
-C<Storable> has been upgraded from 2.22 to 2.24
-
-Includes performance improvement for overloaded classes.
-
-=item *
-
-C<Sys::Hostname> has been upgraded from 1.13 to 1.14.
-
-=item *
-
-C<Unicode::Collate> has been upgraded from 0.63 to 0.67
-
-This release newly adds locales C<ja> C<ko> and C<zh> and its variants
-( C<zh__big5han>, C<zh__gb2312han>, C<zh__pinyin>, C<zh__stroke> ).
-
-Supported UCA_Version 22 for Unicode 6.0.0.
-
-The following modules have been added:
-
-C<Unicode::Collate::CJK::Big5> for C<zh__big5han> which makes
-tailoring of CJK Unified Ideographs in the order of CLDR's big5han ordering.
-
-C<Unicode::Collate::CJK::GB2312> for C<zh__gb2312han> which makes
-tailoring of CJK Unified Ideographs in the order of CLDR's gb2312han ordering.
-
-C<Unicode::Collate::CJK::JISX0208> which makes tailoring of 6355 kanji
-(CJK Unified Ideographs) in the JIS X 0208 order.
-
-C<Unicode::Collate::CJK::Korean> which makes tailoring of CJK Unified Ideographs
-in the order of CLDR's Korean ordering.
-
-C<Unicode::Collate::CJK::Pinyin> for C<zh__pinyin> which makes
-tailoring of CJK Unified Ideographs in the order of CLDR's pinyin ordering.
-
-C<Unicode::Collate::CJK::Stroke> for C<zh__stroke> which makes
-tailoring of CJK Unified Ideographs in the order of CLDR's stroke ordering.
-
-=back
-
-=head1 Documentation
-
-L<perlvar> reorders the variables and groups them by topic. Each variable
-introduced after Perl 5.000 notes the first version in which it is
-available. L<perlvar> also has a new section for deprecated variables to
-note when they were removed.
-
-=head2 New Documentation
-
-=head3 L<perlpodstyle>
-
-New style guide for POD documentation,
-split mostly from the NOTES section of the pod2man man page.
-
-( This was added to C<v5.13.6> but was not documented with that release ).
-
-=head2 Changes to Existing Documentation
-
-=over
-
-=item *
-
-Array and hash slices in scalar context are now documented in L<perldata>.
-
-=item *
-
-L<perlform> and L<perllocale> have been corrected to state that
-C<use locale> affects formats.
-
-=back
-
-=head1 Diagnostics
-
-=head2 New Diagnostics
-
-=over 4
-
-=item *
-
-"Using !~ with %s doesn't make sense": This message was actually added in
-5.13.2, but was omitted from perldelta. It now applies also to the C<y///>
-operator, and has been documented.
-
-=back
-
-=head1 Utility Changes
-
-=head3 L<ptargrep>
-
-=over 4
-
-=item *
-
-L<ptargrep> is a utility to apply pattern matching to the contents of files
-in a tar archive. It comes with C<Archive::Tar>.
-
-=back
-
-=head1 Testing
-
-=over 4
-
-=item *
-
-The new F<t/mro/isa_aliases.t> has been added, which tests that
-C<*Foo::ISA = *Bar::ISA> works properly.
-
-=item *
-
-F<t/mro/isarev.t> has been added, which tests that C<PL_isarev> (accessible
-at the Perl level via C<mro::get_isarev>) is updated properly.
-
-=item *
-
-F<t/run/switchd-78586.t> has been added, which tests that
-L<[perl #78586]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78586>
-has been fixed (related to line numbers in the debugger).
-
-=back
-
-=head1 Platform Support
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-=item Windows
-
-Directory handles are now properly cloned when threads are created. In perl
-5.13.6, child threads simply stopped inheriting directory handles. In
-previous versions, threads would share handles, resulting in crashes.
-
-Support for building with Visual C++ 2010 is now underway, but is not yet
-complete. See F<README.win32> for more details.
-
-=item VMS
-
-Record-oriented files (record format variable or variable with fixed control)
-opened for write by the perlio layer will now be line buffered to prevent the
-introduction of spurious line breaks whenever the perlio buffer fills up.
-
-=back
-
-=head1 Internal Changes
-
-=over 4
-
-=item *
-
-C<lex_start> has been added to the API, but is considered experimental.
-
-=item *
-
-A new C<parse_block> function has been added to the API
-L<[perl #78222]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78222>.
-
-=item *
-
-A new, experimental API has been added for accessing the internal
-structure that Perl uses for C<%^H>. See the functions beginning with
-C<cophh_> in L<perlapi>.
-
-=item *
-
-A stash can now have a list of effective names in addition to its usual
-name. The first effective name can be accessed via the C<HvENAME> macro,
-which is now the recommended name to use in MRO linearisations (C<HvNAME>
-being a fallback if there is no C<HvENAME>).
-
-These names are added and deleted via C<hv_ename_add> and
-C<hv_ename_delete>. These two functions are I<not> part of the API.
-
-=item *
-
-The way the parser handles labels has been cleaned up and refactored. As a
-result, the C<newFOROP()> constructor function no longer takes a parameter
-stating what label is to go in the state op.
-
-=item *
-
-The C<newWHILEOP()> and C<newFOROP()> functions no longer accept a line
-number as a parameter.
-
-=item *
-
-A new C<parse_barestmt()> function has been added, for parsing a statement
-without a label.
-
-=item *
-
-A new C<parse_label()> function has been added, that parses a statement
-label, separate from statements.
-
-=item *
-
-The C<CvSTASH()> macro can now only be used as an rvalue. C<CvSTASH_set()>
-has been added to replace assignment to C<CvSTASH()>. This is to ensure
-that backreferences are handled properly. These macros are not part of the
-API.
-
-=item *
-
-The C<op_scope()> and C<op_lvalue()> functions have been added to the API,
-but are considered experimental.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-The C<parse_stmt> C function added in earlier in the 5.13.x series has been
-fixed to work with statements ending with C<}>
-L<[perl #78222]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78222>.
-
-=item *
-
-The C<parse_fullstmt> C function added in 5.13.5 has been fixed to work
-when called while an expression is being parsed.
-
-=item *
-
-Characters in the Latin-1 non-ASCII range (0x80 to 0xFF) used not to match
-themselves if the string happened to be UTF8-encoded internally, the
-regular expression was not, and the character in the regular expression was
-inside a repeated group (e.g.,
-C<Encode::decode_utf8("\303\200") =~ /(\xc0)+/>)
-L<[perl #78464]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78464>.
-
-=item *
-
-The C<(?d)> regular expression construct now overrides a previous C<(?u)>
-or C<use feature "unicode_string">
-L<[perl #78508]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78508>.
-
-=item *
-
-A memory leak in C<do "file">, introduced in perl 5.13.6, has been fixed
-L<[perl #78488]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78488>.
-
-=item *
-
-Various bugs related to typeglob dereferencing have been fixed. See
-L</Dereferencing typeglobs>, above.
-
-=item *
-
-The C<SvPVbyte> function available to XS modules now calls magic before
-downgrading the SV, to avoid warnings about wide characters
-L<[perl #72398]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72398>.
-
-=item *
-
-The C<=> operator used to ignore magic (e.g., tie methods) on its
-right-hand side if the scalar happened to hold a typeglob. This could
-happen if a typeglob was the last thing returned from or assigned to a tied
-scalar
-L<[perl #77498]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77498>.
-
-=item *
-
-C<sprintf> was ignoring locales when called with constant arguments
-L<[perl #78632]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78632>.
-
-=item *
-
-A non-ASCII character in the Latin-1 range could match both a Posix
-class, such as C<[[:alnum:]]>, and its inverse C<[[:^alnum:]]>. This is
-now fixed for regular expressions compiled under the C<"u"> modifier.
-See L</C<use feature "unicode_strings"> now applies to more regex matching>.
-L<[perl #18281]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=18281>.
-
-=item *
-
-Concatenating long strings under C<use encoding> no longer causes perl to
-crash
-L<[perl #78674]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78674>.
-
-=item *
-
-Typeglob assignments would crash if the glob's stash no longer existed, so
-long as the glob assigned to was named 'ISA' or the glob on either side of
-the assignment contained a subroutine.
-
-=item *
-
-Calling C<< ->import >> on a class lacking an import method could corrupt
-the stack, resulting in strange behaviour. For instance,
-
- push @a, "foo", $b = bar->import;
-
-would assign 'foo' to C<$b>
-L<[perl #63790]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=63790>.
-
-=item *
-
-Creating an alias to a package when that package had been detached from the
-symbol table would result in corrupted isa caches
-L<[perl #77358]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77358>.
-
-=item *
-
-C<.=> followed by C<< <> >> or C<readline> would leak memory if C<$/>
-contained characters beyond the octet range and the scalar assigned to
-happened to be encoded as UTF8 internally
-L<[perl #72246]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72246>.
-
-=item *
-
-The C<recv> function could crash when called with the MSG_TRUNC flag
-L<[perl #75082]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75082>.
-
-=item *
-
-Evaluating a simple glob (like C<*a>) was calling get-magic on the glob,
-even when its contents were not being used
-L<[perl #78580]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78580>.
-
-This bug was introduced in 5.13.2 and did not affect earlier perl versions.
-
-=item *
-
-Matching a Unicode character against an alternation containing characters
-that happened to match continuation bytes in the former's UTF8
-representation (C<qq{\x{30ab}} =~ /\xab|\xa9/>) would cause erroneous
-warnings
-L<[perl #70998]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=70998>.
-
-=item *
-
-C<s///r> (added in 5.13.2) no longer leaks.
-
-=item *
-
-The trie optimisation was not taking empty groups into account, preventing
-'foo' from matching C</\A(?:(?:)foo|bar|zot)\z/>
-L<[perl #78356]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78356>.
-
-=item *
-
-A pattern containing a C<+> inside a lookahead would sometimes cause an
-incorrect match failure in a global match (e.g., C</(?=(\S+))/g>)
-L<[perl #68564]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68564>.
-
-=item *
-
-Iterating with C<foreach> over an array returned by an lvalue sub now works
-L<[perl #23790]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=23790>.
-
-=item *
-
-C<$@> is now localised during calls to C<binmode> to prevent action at a
-distance
-L<[perl #78844]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78844>.
-
-=item *
-
-C<PL_isarev>, which is accessible to Perl via C<mro::get_isarev> is now
-updated properly when packages are deleted or removed from the C<@ISA> of
-other classes. This allows many packages to be created and deleted without
-causing a memory leak
-L<[perl #75176]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75176>.
-
-=item *
-
-C<undef *Foo::> and C<undef *Foo::ISA> and C<delete $package::{ISA}>
-used not to update the internal isa caches if the
-stash or C<@ISA> array had a reference elsewhere. In
-fact, C<undef *Foo::ISA> would stop a new C<@Foo::ISA> array from updating
-caches.
-
-=item *
-
-C<@ISA> arrays can now be shared between classes via
-C<*Foo::ISA = \@Bar::ISA> or C<*Foo::ISA = *Bar::ISA>
-L<[perl #77238]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77238>.
-
-=item *
-
-The parser no longer hangs when encountering certain Unicode characters,
-such as U+387
-L<[perl #74022]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=74022>.
-
-=item *
-
-C<formline> no longer crashes when passed a tainted format picture. It also
-taints C<$^A> now if its arguments are tainted
-L<[perl #79138]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79138>.
-
-=item *
-
-A signal handler called within a signal handler could cause leaks or
-double-frees. Now fixed.
-L<[perl #76248]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=76248>.
-
-=item *
-
-When trying to report C<Use of uninitialized value $Foo::BAR>, crashes could
-occur if the GLOB of the global variable causing the warning has been detached
-from its original stash by, for example C<delete $::{'Foo::'}>. This has been
-fixed by disabling the reporting of variable names in the warning in those
-cases.
-
-=back
-
-=head1 Obituary
-
-Randy Kobes, creator of the kobesearch alternative to search.cpan.org and
-contributor/maintainer to several core Perl toolchain modules, passed away
-on September 18, 2010 after a battle with lung cancer. His contributions
-to the Perl community will be missed.
-
-=head1 Acknowledgements
-
-Perl 5.13.7 represents approximately one month of development since Perl 5.13.6
-and contains 73100 lines of changes across 518 files from 39 authors and committers:
-
-Abhijit Menon-Sen, Abigail, Ben Morrow, Chas. J. Owens IV, Chris 'BinGOs' Williams, Craig A. Berry,
-David Golden, David Mitchell, Father Chrysostomos, Fingle Nark, Florian Ragwitz, George Greer,
-Grant McLean, H.Merijn Brand, Ian Goodacre, Jan Dubois, Jerry D. Hedden, Jesse Vincent, Karl Williamson,
-Lubomir Rintel, Marty Pauley, Moritz Lenz, Nicholas Clark, Nicolas Kaiser, Niko Tyni, Peter John Acklam,
-Rafael Garcia-Suarez, Shlomi Fish, Steffen Mueller, Steve Hay, Tatsuhiko Miyagawa, Tim Bunce, Todd Rinaldo,
-Tom Christiansen, Tom Hukins, Tony Cook, Yves Orton, Zefram and brian d foy
-
-Many of the changes included in this version originated in the CPAN modules included in
-Perl's core. We're grateful to the entire CPAN community for helping Perl to flourish.
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://rt.perl.org/perlbug/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please send
-it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
-to help assess the impact of issues, figure out a resolution, and help
-co-ordinate the release of patches to mitigate or fix the problem across all
-platforms on which Perl is supported. Please only use this address for
-security issues in the Perl core, not for modules independently
-distributed on CPAN.
-
-=head1 SEE ALSO
-
-The F<Changes> file for an explanation of how to view exhaustive details
-on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5138delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5138delta.pod
deleted file mode 100644
index 1b01b2701c1..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl5138delta.pod
+++ /dev/null
@@ -1,912 +0,0 @@
-=encoding utf8
-
-=head1 NAME
-
-perl5138delta - what is new for perl v5.13.8
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.13.7 release and
-the 5.13.8 release.
-
-If you are upgrading from an earlier release such as 5.13.6, first read
-L<perl5137delta>, which describes differences between 5.13.6 and
-5.13.7.
-
-=head1 Core Enhancements
-
-=head2 C<-d:-foo> calls C<Devel::foo::unimport>
-
-The syntax C<-dI<B<:>foo>> was extended in 5.6.1 to make C<-dI<:fooB<=bar>>>
-equivalent to C<-MDevel::foo=bar>, which expands
-internally to C<use Devel::foo 'bar';>.
-F<perl> now allows prefixing the module name with C<->, with the same
-semantics as C<-M>, I<i.e.>
-
-=over 4
-
-=item C<-d:-foo>
-
-Equivalent to C<-M-Devel::foo>, expands to
-C<no Devel::foo;>, calls C<< Devel::foo->unimport() >>
-if the method exists.
-
-=item C<-d:-foo=bar>
-
-Equivalent to C<-M-Devel::foo=bar>, expands to C<no Devel::foo 'bar';>,
-calls C<< Devel::foo->unimport('bar') >> if the method exists.
-
-=back
-
-This is particularly useful to suppresses the default actions of a
-C<Devel::*> module's C<import> method whilst still loading it for debugging.
-
-=head2 Filehandle method calls load L<IO::File> on demand
-
-When a method call on a filehandle would die because the method cannot
-be resolved, and L<IO::File> has not been loaded, Perl now loads L<IO::File>
-via C<require> and attempts method resolution again:
-
- open my $fh, ">", $file;
- $fh->binmode(":raw"); # loads IO::File and succeeds
-
-This also works for globs like STDOUT, STDERR and STDIN:
-
- STDOUT->autoflush(1);
-
-Because this on-demand load only happens if method resolution fails, the
-legacy approach of manually loading an L<IO::File> parent class for partial
-method support still works as expected:
-
- use IO::Handle;
- open my $fh, ">", $file;
- $fh->autoflush(1); # IO::File not loaded
-
-=head2 Full functionality for C<use feature 'unicode_strings'>
-
-This release provides full functionality for C<use feature
-'unicode_strings'>. Under its scope, all string operations executed and
-regular expressions compiled (even if executed outside its scope) have
-Unicode semantics. See L<feature>.
-
-This feature avoids most forms of the "Unicode Bug" (See
-L<perlunicode/The "Unicode Bug"> for details.) If there is a
-possibility that your code will process Unicode strings, you are
-B<strongly> encouraged to use this subpragma to avoid nasty surprises.
-
-The availability of this should strongly affect the whole tone of
-various documents, such as L<perlunicode> and L<perluniintro>, but this
-work has not been done yet.
-
-=head2 Exception Handling Backcompat Hack
-
-When an exception is thrown in an C<eval BLOCK>, C<$@> is now set before
-unwinding, as well as being set after unwinding as the eval block exits. This
-early setting supports code that has historically treated C<$@> during unwinding
-as an indicator of whether the unwinding was due to an exception. These modules
-had been broken by 5.13.1's change from setting C<$@> early to setting it late.
-This double setting arrangement is a stopgap until the reason for unwinding can
-be made properly introspectable. C<$@> has never been a reliable indicator of
-the reason for unwinding.
-
-=head2 printf-like functions understand post-1980 size modifiers
-
-Perl's printf and sprintf operators, and Perl's internal printf replacement
-function, now understand the C90 size modifiers "hh" (C<char>), "z"
-(C<size_t>), and "t" (C<ptrdiff_t>). Also, when compiled with a C99
-compiler, Perl now understands the size modifier "j" (C<intmax_t>).
-
-So, for example, on any modern machine, C<sprintf('%hhd', 257)> returns '1'.
-
-=head2 DTrace probes now include package name
-
-The DTrace probes now include an additional argument (C<arg3>) which contains
-the package the subroutine being entered or left was compiled in.
-
-For example using the following DTrace script:
-
- perl$target:::sub-entry
- {
- printf("%s::%s\n", copyinstr(arg0), copyinstr(arg3));
- }
-
-and then running:
-
- perl -e'sub test { }; test'
-
-DTrace will print:
-
- main::test
-
-=head2 Stacked labels
-
-Multiple statement labels can now appear before a single statement.
-
-=head1 Incompatible Changes
-
-=head2 C<:=> is now a syntax error
-
-Previously C<my $pi := 4;> was exactly equivalent to C<my $pi : = 4;>,
-with the C<:> being treated as the start of an attribute list, ending before
-the C<=>. The use of C<:=> to mean C<: => was deprecated in 5.12.0, and is now
-a syntax error. This will allow the future use of C<:=> as a new token.
-
-We find no Perl 5 code on CPAN using this construction, outside the core's
-tests for it, so we believe that this change will have very little impact on
-real-world codebases.
-
-If it is absolutely necessary to have empty attribute lists (for example,
-because of a code generator) then avoid the error by adding a space before
-the C<=>.
-
-=head2 Run-time code block in regular expressions
-
-Code blocks in regular expressions (C<(?{...})> and C<(??{...})>) used not
-to inherit any pragmata (strict, warnings, etc.) if the regular expression
-was compiled at run time as happens in cases like these two:
-
- use re 'eval';
- $foo =~ $bar; # when $bar contains (?{...})
- $foo =~ /$bar(?{ $finished = 1 })/;
-
-This was a bug, which has now been fixed. But it has the potential to break
-any code that was relying on this bug.
-
-=head1 Deprecations
-
-=head2 C<?PATTERN?> is deprecated
-
-C<?PATTERN?> (without the initial m) has been deprecated and now produces
-a warning. This is to allow future use of C<?> in new operators.
-The match-once functionality is still available in the form of C<m?PATTERN?>.
-
-=head2 C<sv_compile_2op()> is now deprecated
-
-The C<sv_compile_2op()> API function is now deprecated. Searches suggest
-that nothing on CPAN is using it, so this should have zero impact.
-
-It attempted to provide an API to compile code down to an optree, but failed
-to bind correctly to lexicals in the enclosing scope. It's not possible to
-fix this problem within the constraints of its parameters and return value.
-
-=head2 Tie functions on scalars holding typeglobs
-
-Calling a tie function (C<tie>, C<tied>, C<untie>) with a scalar argument
-acts on a file handle if the scalar happens to hold a typeglob.
-
-This is a long-standing bug that will be removed in Perl 5.16, as
-there is currently no way to tie the scalar itself when it holds
-a typeglob, and no way to untie a scalar that has had a typeglob
-assigned to it.
-
-This bug was fixed in 5.13.7 but, because of the breakage it caused, the
-fix has been reverted. Now there is a deprecation warning whenever a tie
-function is used on a handle without an explicit C<*>.
-
-=head1 Modules and Pragmata
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item *
-
-C<Archive::Tar> has been upgraded from version 1.72 to 1.74.
-
-Skip extracting pax extended headers.
-
-=item *
-
-C<autodie> has been upgraded from version 2.10 to 2.1001.
-
-Test fix in blead for VMS.
-
-=item *
-
-C<B> has been upgraded from version 1.26 to 1.27.
-
-Avoid compiler warnings.
-
-=item *
-
-C<B::Concise> has been upgraded from version 0.81 to 0.82.
-
-It no longer produces mangled output with the C<-tree> option
-L<[perl #80632]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=80632>.
-
-=item *
-
-C<B::Deparse> has been upgraded from version 1.01 to 1.02.
-
-Test improvements.
-
-=item *
-
-C<Cwd> has been upgraded from version 3.34 to 3.35.
-
-Avoid compiler warnings.
-
-=item *
-
-C<Data::Dumper> has been upgraded from version 2.130_01 to 2.130_02.
-
-Avoid compiler warnings.
-
-=item *
-
-C<Devel::Peek> has been upgraded from version 1.05 to 1.06.
-
-Avoid compiler warnings.
-
-Test improvements.
-
-=item *
-
-C<Devel::SelfStubber> has been upgraded from version 1.03 to 1.05.
-
-Whitespace changes.
-
-=item *
-
-C<Digest::SHA> has been upgraded from 5.48 to 5.50.
-
-C<shasum> now more closely mimics C<sha1sum>/C<md5sum>.
-
-C<Addfile> accepts all POSIX filenames.
-
-=item *
-
-C<Dumpvalue> has been upgraded from version 1.14 to 1.15.
-
-Test improvements.
-
-=item *
-
-C<DynaLoader> has been upgraded from version 1.11 to 1.12.
-
-Remove obsolete RCS keywords.
-
-=item *
-
-C<Env> has been upgraded from version 1.01 to 1.02.
-
-Test improvements.
-
-=item *
-
-C<ExtUtils::CBuilder> has been upgraded from 0.2703 to 0.280201.
-
-Handle C and C++ compilers separately.
-
-Preserves exit status on VMS.
-
-Test improvements.
-
-=item *
-
-C<ExtUtils::Constant::Utils> has been upgraded from 0.02 to 0.03.
-
-Refactoring and fixing of backcompat code, preparing for resynchronisation
-with CPAN.
-
-=item *
-
-C<ExtUtils::Embed> has been upgraded from 1.29 to 1.30.
-
-Remove obsolete RCS keywords.
-
-=item *
-
-C<ExtUtils::ParseXS> has been upgraded from 2.2207 to 2.2208.
-
-Avoid compiler warnings.
-
-=item *
-
-C<Fcntl> has been upgraded from 1.10 to 1.11.
-
-Avoid compiler warnings.
-
-Test improvements.
-
-=item *
-
-C<feature> has been upgraded from 1.18 to 1.19.
-
-Documentation and test updates for the C<unicode_strings> feature.
-See L</Full functionality for C<use feature 'unicode_strings'>>.
-
-=item *
-
-C<File::CheckTree> has been upgraded from 4.4 to 4.41.
-
-Whitespace changes.
-
-=item *
-
-C<File::Glob> has been upgraded from 1.10 to 1.11.
-
-Avoid compiler warnings.
-
-Test improvements.
-
-=item *
-
-C<GDBM_File> has been upgraded from 1.12 to 1.13.
-
-Test improvements.
-
-Remove obsolete RCS keywords.
-
-=item *
-
-C<Hash::Util::FieldHash> has been upgraded from 1.06 to 1.07.
-
-Avoid compiler warnings.
-
-=item *
-
-C<I18N::Collate> has been upgraded from 1.01 to 1.02.
-
-Whitespace changes.
-
-Test improvements.
-
-=item *
-
-C<if> has been upgraded from 0.06 to 0.0601.
-
-Test improvements.
-
-=item *
-
-C<IO> has been upgraded from 1.25_02 to 1.25_03.
-
-Avoid compiler warnings.
-
-=item *
-
-C<IPC::Cmd> has been upgraded from 0.64 to 0.66.
-
-Resolves an issue with splitting Win32 command lines.
-
-Documentation enhancements.
-
-=item *
-
-C<IPC::Open3> has been upgraded from 1.07 to 1.08.
-
-Remove obsolete RCS keywords.
-
-Test improvements.
-
-=item *
-
-C<Locale::Codes> has been upgraded from version 3.14 to 3.15.
-
-Adds some codes.
-
-=item *
-
-C<Math::BigInt> has been upgraded from 1.99_01 to 1.99_02.
-
-Documentation and comment spelling fixes.
-
-=item *
-
-C<Memoize> has been upgraded from version 1.01_03 to 1.02.
-
-Remove obsolete RCS keywords.
-
-Whitespace changes.
-
-=item *
-
-C<MIME::Base64> has been upgraded from 3.10 to 3.13.
-
-Now provides C<encode_base64url> and C<decode_base64url> functions to process
-the base64 scheme for "URL applications".
-
-=item *
-
-C<mro> has been upgraded from version 1.05 to 1.06.
-
-C<next::method> I<et al.> now take into account that every class inherits
-from UNIVERSAL
-L<[perl #68654]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68654>.
-
-=item *
-
-C<NDBM_File> has been upgraded from 1.10 to 1.11.
-
-Remove obsolete RCS keywords.
-
-Test improvements.
-
-=item *
-
-C<Net::Ping> has been upgraded from 2.36 to 2.37.
-
-Remove obsolete RCS keywords.
-
-=item *
-
-C<ODBM_File> has been upgraded from 1.09 to 1.10.
-
-Remove obsolete RCS keywords.
-
-Test improvements.
-
-=item *
-
-C<Opcode> has been upgraded from 1.17 to 1.18.
-
-Avoid compiler warnings.
-
-Test improvements.
-
-=item *
-
-C<overload> has been upgraded from 1.11 to 1.12.
-
-Avoid a taint problem in use of sprintf.
-
-Test asymmetric fallback cases
-L<[perl #71286]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=71286>.
-
-=item *
-
-C<PerlIO::encoding> has been upgraded from 0.13 to 0.14.
-
-Avoid compiler warnings.
-
-Remove obsolete RCS keywords.
-
-Test improvements.
-
-=item *
-
-C<PerlIO::scalar> has been upgraded from 0.10 to 0.11.
-
-A C<read> after a C<seek> beyond the end of the string no longer thinks it
-has data to read
-L<[perl #78716]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78716>.
-
-Avoid compiler warnings.
-
-=item *
-
-C<PerlIO::via> has been upgraded from 0.10 to 0.11.
-
-Avoid compiler warnings.
-
-=item *
-
-C<POSIX> has been upgraded from 1.22 to 1.23.
-
-Avoid compiler warnings.
-
-=item *
-
-C<re> has been upgraded from 0.14 to 0.15.
-
-Enforce that C</d>, C</u>, and C</l> are mutually exclusive.
-
-=item *
-
-C<SDBM_File> has been upgraded from 1.08 to 1.09.
-
-Avoid compiler warnings.
-
-Remove obsolete RCS keywords.
-
-Test improvements.
-
-=item *
-
-C<Socket> has been upgraded from 1.91 to 1.92.
-
-It has several new functions for handling IPv6 addresses.
-
-=item *
-
-C<Storable> has been upgraded from 2.24 to 2.25.
-
-This adds support for serialising code references that contain UTF-8 strings
-correctly. The Storable minor version number changed as a result, meaning that
-Storable users who set C<$Storable::accept_future_minor> to a C<FALSE> value
-will see errors (see L<Storable/FORWARD COMPATIBILITY> for more details).
-
-Freezing no longer gets confused if the Perl stack gets reallocated
-during freezing
-L<[perl #80074]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=80074>.
-
-Avoid compiler warnings.
-
-=item *
-
-C<threads> has been upgraded from 1.81_02 to 1.81_03.
-
-Avoid compiler warnings.
-
-=item *
-
-C<threads::shared> has been upgraded from 1.34 to 1.35.
-
-Avoid compiler warnings.
-
-=item *
-
-C<Time::HiRes> has been upgraded from 1.9721 to 1.9721_01.
-
-Build fix in blead for VMS.
-
-=item *
-
-C<Unicode::Collate> has been upgraded from 0.67 to 0.6801.
-
-Documentation clarification.
-
-Test improvements.
-
-=item *
-
-C<Unicode::Normalize> has been upgraded from 1.07 to 1.08.
-
-Avoid compiler warnings.
-
-=item *
-
-C<Unicode::UCD> has been upgraded from 0.29 to 0.30.
-
-Add info about named sequence alternatives.
-
-Don't use C<CompositionExclusions.txt>.
-
-=item *
-
-C<version> has been upgraded from 0.82 to 0.86.
-
-Modify export logic for C<is_strict> and C<is_lax>.
-
-Various backcompat fixes.
-
-=item *
-
-C<Win32> has been upgraded from 0.39 to 0.41.
-
-Add several functions.
-
-Corrections to names returned by C<Win32::GetOSName> and
-C<Win32::GetOSDisplayName>.
-
-=item *
-
-C<XS::APItest> has been upgraded from 0.26 to 0.27.
-
-Test new API functions.
-
-Avoid compiler warnings.
-
-=back
-
-=head2 Dual-life Modules and Pragmata
-
-These modules were formerly distributed only in the Perl core
-distribution, and are now dual-lifed (meaning they are now also available
-separately on CPAN):
-
-=over 4
-
-=item *
-
-C<autouse>
-
-=item *
-
-C<Devel::SelfStubber>
-
-=item *
-
-C<Dumpvalue>
-
-=item *
-
-C<Env>
-
-=item *
-
-C<File::CheckTree>
-
-=item *
-
-C<I18N::Collate>
-
-=back
-
-=head1 Diagnostics
-
-The following additions or changes have been made to diagnostic output,
-including warnings and fatal error messages. For the complete list of
-diagnostic messages, see L<perldiag>.
-
-=head2 New Diagnostics
-
-=over 4
-
-=item *
-
-There is a new "Closure prototype called" error
-L<[perl #68560]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68560>.
-
-=back
-
-=head2 Changes to Existing Diagnostics
-
-=over 4
-
-=item *
-
-The "Found = in conditional" warning that is emitted when a constant is
-assigned to a variable in a condition is now withheld if the constant is
-actually a subroutine or one generated by C<use constant>, since the value
-of the constant may not be known at the time the program is written
-L<[perl #77762]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77762>.
-
-=back
-
-=head1 Configuration and Compilation
-
-=over 4
-
-=item *
-
-The C<Encode> module can now (once again) be included in a static Perl
-build. The special-case handling for this situation got broken in Perl
-5.11.0, and has now been repaired.
-
-=back
-
-=head1 Testing
-
-=over 4
-
-=item *
-
-Tests for C<Fcntl>, C<File::Glob>, C<GDBM_File>, C<IPC::Open3>,
-C<NDBM_File>, C<ODBM_File>, C<Opcode>, C<PerlIO::encoding>, C<SDBM_File>,
-and C<Storable> now use the L<Test::More> framework.
-
-=back
-
-=head1 Platform Support
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-=item NetBSD
-
-The NetBSD hints file has been changed to make the system's malloc the
-default.
-
-=item Windows
-
-The option to use an externally-supplied C<crypt()>, or to build with no
-C<crypt()> at all, has been removed. Perl supplies its own C<crypt()>
-implementation for Windows, and the political situation that required
-this part of the distribution to sometimes be omitted is long gone.
-
-=back
-
-=head1 Internal Changes
-
-=over 4
-
-=item *
-
-The L<C<mg_findext()>|perlapi/mg_findext> and
-L<C<sv_unmagicext()>|perlapi/sv_unmagicext>
-functions have been added to the API.
-They allow extension authors to find and remove magic attached to
-scalars based on both the magic type and the magic virtual table, similar to how
-C<sv_magicext()> attaches magic of a certain type and with a given virtual table
-to a scalar. This eliminates the need for extensions to walk the list of
-C<MAGIC> pointers of an C<SV> to find the magic that belongs to them.
-
-=item *
-
-The
-L<C<parse_fullexpr()>|perlapi/parse_fullexpr>,
-L<C<parse_listexpr()>|perlapi/parse_listexpr>,
-L<C<parse_termexpr()>|perlapi/parse_termexpr>, and
-L<C<parse_arithexpr()>|perlapi/parse_arithexpr>
-functions have been added to the API. They perform
-recursive-descent parsing of expressions at various precedence levels.
-They are expected to be used by syntax plugins.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-C<BEGIN {require 5.12.0}> now behaves as documented, rather than behaving
-identically to C<use 5.12.0;>. Previously, C<require> in a C<BEGIN> block
-was erroneously executing the C<use feature ':5.12.0'> and
-C<use strict; use warnings;> behaviour, which only C<use> was documented to
-provide
-L<[perl #69050]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=69050>.
-
-=item *
-
-C<use 5.42>
-L<[perl #69050]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=69050>,
-C<use 6> and C<no 5> no longer leak memory.
-
-=item *
-
-C<eval "BEGIN{die}"> no longer leaks memory on non-threaded builds.
-
-=item *
-
-PerlIO no longer crashes when called recursively, e.g., from a signal
-handler. Now it just leaks memory
-L<[perl #75556]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75556>.
-
-=item *
-
-Defining a constant with the same name as one of perl's special blocks
-(e.g., INIT) stopped working in 5.12.0, but has now been fixed
-L<[perl #78634]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78634>.
-
-=item *
-
-A reference to a literal value used as a hash key (C<$hash{\"foo"}>) used
-to be stringified, even if the hash was tied
-L<[perl #79178]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79178>.
-
-=item *
-
-A closure containing an C<if> statement followed by a constant or variable
-is no longer treated as a constant
-L<[perl #63540]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=63540>.
-
-=item *
-
-Calling a closure prototype (what is passed to an attribute handler for a
-closure) now results in a "Closure prototype called" error message instead
-of a crash
-L<[perl #68560]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68560>.
-
-=item *
-
-A regular expression optimisation would sometimes cause a match with a
-C<{n,m}> quantifier to fail when it should match
-L<[perl #79152]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79152>.
-
-=item *
-
-What has become known as the "Unicode Bug" is mostly resolved in this release.
-Under C<use feature 'unicode_strings'>, the internal storage format of a
-string no longer affects the external semantics. There are two known
-exceptions. User-defined case changing functions, which are planned to
-be deprecated in 5.14, require utf8-encoded strings to function; and the
-character C<LATIN SMALL LETTER SHARP S> in regular expression
-case-insensitive matching has a somewhat different set of bugs depending
-on the internal storage format. Case-insensitive matching of all
-characters that have multi-character matches, as this one does, is
-problematical in Perl.
-L<[perl #58182]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=58182>.
-
-=item *
-
-Mentioning a read-only lexical variable from the enclosing scope in a
-string C<eval> no longer causes the variable to become writable
-L<[perl #19135]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=19135>.
-
-=item *
-
-C<state> can now be used with attributes. It used to mean the same thing as
-C<my> if attributes were present
-L<[perl #68658]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68658>.
-
-=item *
-
-Expressions like C<< @$a > 3 >> no longer cause C<$a> to be mentioned in
-the "Use of uninitialized value in numeric gt" warning when C<$a> is
-undefined (since it is not part of the C<E<gt>> expression, but the operand
-of the C<@>)
-L<[perl #72090]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72090>.
-
-=item *
-
-C<require> no longer causes C<caller> to return the wrong file name for
-the scope that called C<require> and other scopes higher up that had the
-same file name
-L<[perl #68712]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68712>.
-
-=item *
-
-The ref types in the typemap for XS bindings now support magical variables
-L<[perl #72684]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72684>.
-
-=item *
-
-Match variables (e.g., C<$1>) no longer persist between calls to a sort
-subroutine
-L<[perl #76026]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=76026>.
-
-=item *
-
-The C<B> module was returning C<B::OP>s instead of C<B::LOGOP>s for C<entertry>
-L<[perl #80622]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=80622>.
-This was due to a bug in the perl core, not in C<B> itself.
-
-=item *
-
-Some numeric operators were converting integers to floating point,
-resulting in loss of precision on 64-bit platforms
-L<[perl #77456]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77456>.
-
-=item *
-
-The fallback behaviour of overloading on binary operators was asymmetric
-L<[perl #71286]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=71286>.
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.13.8 represents approximately one month of development since
-Perl 5.13.7 and contains 38715 lines of changes across 546 files from
-38 authors and committers.
-
-Thank you to the following for contributing to this release:
-
-Abhijit Menon-Sen, Abigail, Andreas KE<0xf6>nig, Ben Morrow, Brad Gilbert,
-brian d foy, Chip Salzenberg, Chris 'BinGOs' Williams, Craig A. Berry,
-David Golden, David Leadbeater, David Mitchell, Father Chrysostomos,
-Florian Ragwitz, Goro Fuji, H.Merijn Brand, Jan Dubois, Jerry D. Hedden,
-Jesse Vincent, John Peacock, Karl Williamson, Lukas Mai, Marvin Humphrey,
-Max Maischein, Michael Breen, Michael Fig, Nicholas Clark, Nick Cleaton,
-Paul Evans, Peter J. Holzer, Peter John Acklam, Rafael Garcia-Suarez,
-Reini Urban, Renee Baecker, Ricardo Signes, Tony Cook, Yves Orton, Zefram
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://rt.perl.org/perlbug/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the L<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please send
-it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
-to help assess the impact of issues, figure out a resolution, and help
-co-ordinate the release of patches to mitigate or fix the problem across all
-platforms on which Perl is supported. Please only use this address for
-security issues in the Perl core, not for modules independently
-distributed on CPAN.
-
-=head1 SEE ALSO
-
-The F<Changes> file for an explanation of how to view exhaustive details
-on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5139delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5139delta.pod
deleted file mode 100644
index fb9bf36784b..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl5139delta.pod
+++ /dev/null
@@ -1,646 +0,0 @@
-=encoding utf8
-
-=head1 NAME
-
-perl5139delta - what is new for perl v5.13.9
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.13.8 release and
-the 5.13.9 release.
-
-If you are upgrading from an earlier release such as 5.13.7, first read
-L<perl5138delta>, which describes differences between 5.13.7 and
-5.13.8.
-
-=head1 Core Enhancements
-
-=head2 New regular expression modifier C</a>
-
-The C</a> regular expression modifier restricts C<\s> to match precisely
-the five characters C<[ \f\n\r\t]>, C<\d> to match precisely the 10
-characters C<[0-9]>, C<\w> to match precisely the 63 characters
-C<[A-Za-z0-9_]>, and the Posix (C<[[:posix:]]>) character classes to
-match only the appropriate ASCII characters. The complements, of
-course, match everything but; and C<\b> and C<\B> are correspondingly
-affected. Otherwise, C</a> behaves like the C</u> modifier, in that
-case-insensitive matching uses Unicode semantics; for example, "k" will
-match the Unicode C<\N{KELVIN SIGN}> under C</i> matching, and code
-points in the Latin1 range, above ASCII will have Unicode semantics when
-it comes to case-insensitive matching. Like its cousins (C</u>, C</l>,
-and C</d>), and in spite of the terminology, C</a> in 5.14 will not
-actually be able to be used as a suffix at the end of a regular
-expression (this restriction is planned to be lifted in 5.16). It must
-occur either as an infix modifier, such as C<(?a:...)> or (C<(?a)...>,
-or it can be turned on within the lexical scope of C<use re '/a'>.
-Turning on C</a> turns off the other "character set" modifiers.
-
-=head2 Any unsigned value can be encoded as a character
-
-With this release, Perl is adopting a model that any unsigned value can
-be treated as a code point and encoded internally (as utf8) without
-warnings -- not just the code points that are legal in Unicode.
-However, unless utf8 warnings have been
-explicitly lexically turned off, outputting or performing a
-Unicode-defined operation (such as upper-casing) on such a code point
-will generate a warning. Attempting to input these using strict rules
-(such as with the C<:encoding('UTF-8')> layer) will continue to fail.
-Prior to this release the handling was very inconsistent, and incorrect
-in places. Also, the Unicode non-characters, some of which previously were
-erroneously considered illegal in places by Perl, contrary to the Unicode
-standard, are now always legal internally. But inputting or outputting
-them will work the same as for the non-legal Unicode code points, as the
-Unicode standard says they are illegal for "open interchange".
-
-=head2 Regular expression debugging output improvement
-
-Regular expression debugging output (turned on by C<use re 'debug';>) now
-uses hexadecimal when escaping non-ASCII characters, instead of octal.
-
-=head1 Security
-
-=head2 Restrict \p{IsUserDefined} to In\w+ and Is\w+
-
-In L<perlunicode/"User-Defined Character Properties">, it says you can
-create custom properties by defining subroutines whose names begin with
-"In" or "Is". However, perl doesn't actually enforce that naming
-restriction, so \p{foo::bar} will call foo::Bar() if it exists.
-
-This commit finally enforces this convention. Note that this broke a
-number of existing tests for properties, since they didn't always use an
-Is/In prefix.
-
-=head1 Incompatible Changes
-
-=head2 All objects are destroyed
-
-It used to be possible to prevent a destructor from being called during
-global destruction by artificially increasing the reference count of an
-object.
-
-Now such objects I<will> will be destroyed, as a result of a bug fix
-L<[perl #81230]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=81230>.
-
-This has the potential to break some XS modules. (In fact, it break some.
-See L</Known Problems>, below.)
-
-=head1 Modules and Pragmata
-
-=head2 New Modules and Pragmata
-
-=over 4
-
-=item *
-
-C<CPAN::Meta::YAML> 0.003 has been added as a dual-life module. It supports a
-subset of YAML sufficient for reading and writing META.yml and MYMETA.yml files
-included with CPAN distributions or generated by the module installation
-toolchain. It should not be used for any other general YAML parsing or
-generation task.
-
-=item *
-
-C<HTTP::Tiny> 0.009 has been added as a dual-life module. It is a very
-small, simple HTTP/1.1 client designed for simple GET requests and file
-mirroring. It has has been added to enable CPAN.pm and CPANPLUS to
-"bootstrap" HTTP access to CPAN using pure Perl without relying on external
-binaries like F<curl> or F<wget>.
-
-=item *
-
-C<JSON::PP> 2.27103 has been added as a dual-life module, for the sake of
-reading F<META.json> files in CPAN distributions.
-
-=item *
-
-C<Module::Metadata> 1.000003 has been added as a dual-life module. It gathers
-package and POD information from Perl module files. It is a standalone module
-based on Module::Build::ModuleInfo for use by other module installation
-toolchain components. Module::Build::ModuleInfo has been deprecated in
-favor of this module instead.
-
-=item *
-
-C<Perl::OSType> 1.002 has been added as a dual-life module. It maps Perl
-operating system names (e.g. 'dragonfly' or 'MSWin32') to more generic types
-with standardized names (e.g. "Unix" or "Windows"). It has been refactored
-out of Module::Build and ExtUtils::CBuilder and consolidates such mappings into
-a single location for easier maintenance.
-
-=back
-
-=head2 Updated Modules and Pragmata
-
-=over 4
-
-=item *
-
-C<Archive::Extract> has been upgraded from version 0.46 to 0.48
-
-=item *
-
-C<Archive::Tar> has been upgraded from version 1.74 to 1.76
-
-=item *
-
-C<CGI> has been upgraded from version 3.50 to 3.51
-
-Further improvements have been made to guard against newline injections
-in headers.
-
-=item *
-
-C<Compress::Raw::Bzip2> has been upgraded from version 2.031 to 2.033
-
-=item *
-
-C<Compress::Raw::Zlib> has been upgraded from version 2.030 to 2.033
-
-=item *
-
-C<CPAN> has been upgraded from version 1.94_62 to 1.94_63
-
-=item *
-
-C<CPANPLUS> has been upgraded from version 0.9010 to 0.9011
-
-=item *
-
-C<CPANPLUS::Dist::Build> has been upgraded from version 0.50 to 0.52
-
-=item *
-
-C<DB_File> has been upgraded from version 1.820 to 1.821
-
-=item *
-
-C<Encode> has been upgraded from version 2.40 to 2.42.
-Now, all 66 Unicode non-characters are treated the same way U+FFFF has
-always been treated; if it was disallowed, all 66 are disallowed; if it
-warned, all 66 warn.
-
-=item *
-
-C<File::Fetch> has been upgraded from version 0.28 to 0.32
-
-=item *
-
-C<IO::Compress> has been upgraded from version 2.030 to 2.033
-
-=item *
-
-C<IPC::Cmd> has been upgraded from version 0.66 to 0.68
-
-=item *
-
-C<Log::Message> has been upgraded from version 0.02 to 0.04
-
-=item *
-
-C<Log::Message::Simple> has been upgraded from version 0.06 to 0.08
-
-=item *
-
-C<Module::Load::Conditional> has been upgraded from version 0.38 to 0.40
-
-=item *
-
-C<Object::Accessor> has been upgraded from version 0.36 to 0.38
-
-=item *
-
-C<Params::Check> has been upgraded from version 0.26 to 0.28
-
-=item *
-
-C<Pod::LaTeX> has been upgraded from version 0.58 to 0.59
-
-=item *
-
-C<Socket> has been updated with new affordances for IPv6,
-including implementations of the C<Socket::getaddrinfo()> and
-C<Socket::getnameinfo()> functions, along with related constants.
-
-=item *
-
-C<Term::UI> has been upgraded from version 0.20 to 0.24
-
-=item *
-
-C<Thread::Queue> has been upgraded from version 2.11 to 2.12.
-
-=item *
-
-C<Thread::Semaphore> has been upgraded from version 2.11 to 2.12.
-
-=item *
-
-C<threads> has been upgraded from version 1.81_03 to 1.82
-
-=item *
-
-C<threads::shared> has been upgraded from version 1.35 to 1.36
-
-=item *
-
-C<Time::Local> has been upgraded from version 1.1901_01 to 1.2000.
-
-=item *
-
-C<Unicode::Normalize> has been upgraded from version 1.07 to 1.10
-
-=item *
-
-C<version> has been upgraded from 0.86 to 0.88.
-
-=item *
-
-C<Win32> has been upgraded from version 0.41 to 0.44.
-
-=back
-
-=head1 Documentation
-
-=head2 Changes to Existing Documentation
-
-=head3 All documentation
-
-=over
-
-=item *
-
-Numerous POD warnings were fixed.
-
-=item *
-
-Many, many spelling errors and typographical mistakes were corrected throughout Perl's core.
-
-=back
-
-=head3 C<perlhack>
-
-=over 4
-
-=item *
-
-C<perlhack> was extensively reorganized.
-
-=back
-
-=head3 C<perlfunc>
-
-=over 4
-
-=item *
-
-It has now been documented that C<ord> returns 0 for an empty string.
-
-=back
-
-=head1 Diagnostics
-
-The following additions or changes have been made to diagnostic output,
-including warnings and fatal error messages. For the complete list of
-diagnostic messages, see L<perldiag>.
-
-=head2 New Diagnostics
-
-=over 4
-
-=item *
-
-Performing an operation requiring Unicode semantics (such as case-folding)
-on a Unicode surrogate or a non-Unicode character now triggers a warning:
-'Operation "%s" returns its argument for ...'.
-
-=back
-
-=head2 Changes to Existing Diagnostics
-
-=over 4
-
-=item *
-
-Previously, if none of the C<gethostbyaddr>, C<gethostbyname> and
-C<gethostent> functions were implemented on a given platform, they would
-all die with the message 'Unsupported socket function "gethostent" called',
-with analogous messages for C<getnet*> and C<getserv*>. This has been
-corrected.
-
-=back
-
-=head1 Utility Changes
-
-=head3 C<perlbug>
-
-=over 4
-
-=item *
-
-C<perlbug> did not previously generate a From: header, potentially
-resulting in dropped mail. Now it does include that header.
-
-=back
-
-=head3 C<buildtoc>
-
-=over 4
-
-=item *
-
-F<pod/buildtoc> has been modernized and can now be used to test the
-well-formedness of F<pod/perltoc.pod> automatically.
-
-=back
-
-=head1 Testing
-
-=over 4
-
-=item *
-
-C<lib/File/DosGlob.t> has been modernized and now uses C<Test::More>.
-
-=item *
-
-A new test script, C<t/porting/filenames.t>, makes sure that filenames and
-paths are reasonably portable.
-
-=item *
-
-C<t/porting/diag.t> is now several orders of magnitude faster.
-
-=item *
-
-C<t/porting/buildtoc.t> now tests that the documentation TOC file is current and well-formed.
-
-=item *
-
-C<t/base/while.t> now tests the basics of a while loop with minimal dependencies.
-
-=item *
-
-C<t/cmd/while.t> now uses F<test.pl> for better maintainability.
-
-=item *
-
-C<t/op/split.t> now tests calls to C<split> without any pattern specified.
-
-=back
-
-
-
-=head1 Platform Support
-
-=head2 Discontinued Platforms
-
-=over 4
-
-=item Apollo DomainOS
-
-The last vestiges of support for this platform have been excised from the
-Perl distribution. It was officially discontinued in version 5.12.0. It had
-not worked for years before that.
-
-=item MacOS Classic
-
-The last vestiges of support for this platform have been excised from the
-Perl distribution. It was officially discontinued in an earlier version.
-
-=back
-
-=head2 Platform-Specific Notes
-
-=over 4
-
-
-=item Cygwin
-
-=over
-
-=item *
-
-Updated MakeMaker to build man pages on cygwin.
-
-=item *
-
-Improved rebase behaviour
-
-If a dll is updated on cygwin reuse the old imagebase address.
-This solves most rebase errors, esp when updating on core dll's.
-See L<http://www.tishler.net/jason/software/rebase/rebase-2.4.2.README> for more information.
-
-=item *
-
-Support the standard cyg dll prefix, which is e.g. needed for FFI's.
-
-=item *
-
-Updated build hints file
-
-=back
-
-
-=item Solaris
-
-DTrace is now supported on Solaris. There used to be build failures, but
-these have been fixed
-L<[perl #73630]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=73630>.
-
-=back
-
-=head1 Internal Changes
-
-=over 4
-
-=item *
-
-The opcode bodies for C<chop> and C<chomp> and for C<schop> and C<schomp> have
-been merged. The implementation functions C<Perl_do_chop()> and
-C<Perl_do_chomp()>, never part of the public API, have been merged and moved to
-a static function in F<pp.c>. This shrinks the perl binary slightly, and should
-not affect any code outside the core (unless it is relying on the order of side
-effects when C<chomp> is passed a I<list> of values).
-
-=item *
-
-Some of the flags parameters to the uvuni_to_utf8_flags() and
-utf8n_to_uvuni() have changed. This is a result of Perl now allowing
-internal storage and manipulation of code points that are problematic
-in some situations. Hence, the default actions for these functions has
-been complemented to allow these code points. The new flags are
-documented in L<perlapi>. Code that requires the problematic code
-points to be rejected needs to change to use these flags. Some flag
-names are retained for backward source compatibility, though they do
-nothing, as they are now the default. However the flags
-C<UNICODE_ALLOW_FDD0>, C<UNICODE_ALLOW_FFFF>, C<UNICODE_ILLEGAL>, and
-C<UNICODE_IS_ILLEGAL> have been removed, as they stem from a
-fundamentally broken model of how the Unicode non-character code points
-should be handled, which is now described in
-L<perlunicode/Non-character code points>. See also L</Selected Bug Fixes>.
-
-=item *
-
-Certain shared flags in the C<pmop.op_pmflags> and C<regexp.extflags>
-structures have been removed. These are: C<Rxf_Pmf_LOCALE>,
-C<Rxf_Pmf_UNICODE>, and C<PMf_LOCALE>. Instead there are encodes and
-three static in-line functions for accessing the information:
-C<get_regex_charset()>, C<set_regex_charset()>, and C<get_regex_charset_name()>,
-which are defined in the places where the original flags were.
-
-=item *
-
-A new option has been added to C<pv_escape> to dump all characters above
-ASCII in hexadecimal. Before, one could get all characters as hexadecimal
-or the Latin1 non-ASCII as octal
-
-
-=item *
-
-Generate pp_* prototypes in pp_proto.h, and remove pp.sym
-
-Eliminate the #define pp_foo Perl_pp_foo(pTHX) macros, and update the 13
-locations that relied on them.
-
-regen/opcode.pl now generates prototypes for the PP functions directly, into
-pp_proto.h. It no longer writes pp.sym, and regen/embed.pl no longer reads
-this, removing the only ordering dependency in the regen scripts. opcode.pl
-is now responsible for prototypes for pp_* functions. (embed.pl remains
-responsible for ck_* functions, reading from regen/opcodes)
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-The handling of Unicode non-characters has changed.
-Previously they were mostly considered illegal, except that only one of
-the 66 of them was known about in places. The Unicode standard
-considers them legal, but forbids the "open interchange" of them.
-This is part of the change to allow the internal use of any code point
-(see L</Core Enhancements>). Together, these changes resolve
-L<# 38722|https://rt.perl.org/rt3/Ticket/Display.html?id=38722>,
-L<# 51918|http://rt.perl.org/rt3/Ticket/Display.html?id=51918>,
-L<# 51936|http://rt.perl.org/rt3/Ticket/Display.html?id=51936>,
-L<# 63446|http://rt.perl.org/rt3/Ticket/Display.html?id=63446>
-
-=item *
-
-Sometimes magic (ties, tainted, etc.) attached to variables could cause an
-object to last longer than it should, or cause a crash if a tied variable
-were freed from within a tie method. These have been fixed
-L<[perl #81230]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=81230>.
-
-=item *
-
-Most I/O functions were not warning for unopened handles unless the
-'closed' and 'unopened' warnings categories were both enabled. Now only
-C<use warnings 'unopened'> is necessary to trigger these warnings (as was
-always meant to be the case.
-
-=item *
-
-C<< E<lt>exprE<gt> >> always respects overloading now if the expression is
-overloaded.
-
-Due to the way that 'E<lt>E<gt> as glob' was parsed differently from
-'E<lt>E<gt> as filehandle' from 5.6 onwards, something like C<< E<lt>$foo[0]E<gt> >> did
-not handle overloading, even if C<$foo[0]> was an overloaded object. This
-was contrary to the documentation for overload, and meant that C<< E<lt>E<gt> >>
-could not be used as a general overloaded iterator operator.
-
-=item *
-
-Destructors on objects were not called during global destruction on objects
-that were not referenced by any scalars. This could happen if an array
-element were blessed (e.g., C<bless \$a[0]>) or if a closure referenced a
-blessed variable (C<bless \my @a; sub foo { @a }>).
-
-Now there is an extra pass during global destruction to fire destructors on
-any objects that might be left after the usual passes that check for
-objects referenced by scalars
-L<[perl #36347]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=36347>.
-
-=item *
-
-A long standing bug has now been fully fixed (partial fixes came in
-earlier releases), in which some Latin-1 non-ASCII characters on
-ASCII-platforms would match both a character class and its complement,
-such as U+00E2 being both in C<\w> and C<\W>, depending on the
-UTF-8-ness of the regular expression pattern and target string.
-Fixing this did expose some bugs in various modules and tests that
-relied on the previous behavior of C<[[:alpha:]]> not ever matching
-U+00FF, "LATIN SMALL LETTER Y WITH DIAERESIS", even when it should, in
-Unicode mode; now it does match when appropriate.
-L<[perl #60156]|http://rt.perl.org/rt3/Ticket/Display.html?id=60156>.
-
-=back
-
-=head1 Known Problems
-
-=over 4
-
-=item *
-
-The fix for [perl #81230] causes test failures for C<Tk> version 804.029.
-This is still being investigated.
-
-=back
-
-=head1 Acknowledgements
-
-Perl 5.13.9 represents approximately one month of development since
-Perl 5.13.8 and contains approximately 48000 lines of changes across
-809 files from 35 authors and committers:
-
-Abigail, Ævar Arnfjörð Bjarmason, brian d foy, Chris 'BinGOs' Williams,
-Craig A. Berry, David Golden, David Leadbeater, David Mitchell, Father
-Chrysostomos, Florian Ragwitz, Gerard Goossen, H.Merijn Brand, Jan
-Dubois, Jerry D. Hedden, Jesse Vincent, John Peacock, Karl Williamson,
-Leon Timmermans, Michael Parker, Michael Stevens, Nicholas Clark,
-Nuno Carvalho, Paul "LeoNerd" Evans, Peter J. Acklam, Peter Martini,
-Rainer Tammer, Reini Urban, Renee Baecker, Ricardo Signes, Robin Barker,
-Tony Cook, Vadim Konovalov, Vincent Pit, Zefram, and Zsbán Ambrus.
-
-Many of the changes included in this version originated in the CPAN
-modules included in Perl's core. We're grateful to the entire CPAN
-community for helping Perl to flourish.
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://rt.perl.org/perlbug/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the L<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please send
-it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
-to help assess the impact of issues, figure out a resolution, and help
-co-ordinate the release of patches to mitigate or fix the problem across all
-platforms on which Perl is supported. Please only use this address for
-security issues in the Perl core, not for modules independently
-distributed on CPAN.
-
-=head1 SEE ALSO
-
-The F<Changes> file for an explanation of how to view exhaustive details
-on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5140delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5140delta.pod
index 145d08d463f..74c82a8e141 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl5140delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl5140delta.pod
@@ -1108,7 +1108,7 @@ and penalised well-behaved code. It has been removed.
=head2 Freeing weak references
When there are many weak references to an object, freeing that object
-can under some circumstances take O(I<NE<0xB2>>) time to free, where
+can under some circumstances take O(I<N*N>) time to free, where
I<N> is the number of references. The circumstances in which this can happen
have been reduced [perl #75254]
@@ -1547,9 +1547,9 @@ It is now safe to use this module in combination with threads.
L<Digest::SHA> has been upgraded from version 5.47 to 5.61.
-L<shasum> now more closely mimics L<sha1sum(1)>/L<md5sum(1)>.
+C<shasum> now more closely mimics L<sha1sum(1)>/L<md5sum(1)>.
-L<Addfile> accepts all POSIX filenames.
+C<addfile> accepts all POSIX filenames.
New SHA-512/224 and SHA-512/256 transforms (ref. NIST Draft FIPS 180-4
[February 2011])
@@ -2125,7 +2125,7 @@ L<Unicode::UCD> has been upgraded from version 0.27 to 0.32.
A new function, Unicode::UCD::num(), has been added. This function
returns the numeric value of the string passed it or C<undef> if the string
in its entirety has no "safe" numeric value. (For more detail, and for the
-definition of "safe", see L<Unicode::UCD/num>.)
+definition of "safe", see L<Unicode::UCD/num()>.)
This upgrade also includes several bug fixes:
@@ -2888,7 +2888,7 @@ When C<perlio> became the default and C<unix> became the default bottom layer,
the most common path for creating files from Perl became C<PerlIOUnix_open>,
which has always explicitly used C<0666> as the permission mask. This prevents
inheriting permissions from RMS defaults and ACLs, so to avoid that problem,
-we now pass C<0777> to open(). In theVMS CRTL, C<0777> has a special
+we now pass C<0777> to open(). In the VMS CRTL, C<0777> has a special
meaning over and above intersecting with the current umask; specifically, it
allows Unix syscalls to preserve native default permissions (5.12.3).
@@ -4445,8 +4445,8 @@ See also: L<http://rt.perl.org/rt3/Public/Bug/Display.html?id=67694>
=item *
-readline() returns an empty string instead of undef when it is
-interrupted by a signal.
+readline() returns an empty string instead of a cached previous value
+when it is interrupted by a signal
=item *
@@ -4569,7 +4569,7 @@ analysed by the Perl porting team.
If the bug you are reporting has security implications, which make it
inappropriate to send to a publicly archived mailing list, then please send
it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
+unarchived mailing list, which includes all the core committers, who are able
to help assess the impact of issues, figure out a resolution, and help
co-ordinate the release of patches to mitigate or fix the problem across all
platforms on which Perl is supported. Please use this address for
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5142delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5142delta.pod
index 425708fbb46..3d78ba232bd 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl5142delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl5142delta.pod
@@ -2,7 +2,7 @@
=head1 NAME
-perldelta - what is new for perl v5.14.2
+perl5142delta - what is new for perl v5.14.2
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5143delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5143delta.pod
new file mode 100644
index 00000000000..093b6272dcb
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl5143delta.pod
@@ -0,0 +1,291 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5143delta - what is new for perl v5.14.3
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.14.2 release and
+the 5.14.3 release.
+
+If you are upgrading from an earlier release such as 5.12.0, first read
+L<perl5140delta>, which describes differences between 5.12.0 and
+5.14.0.
+
+=head1 Core Enhancements
+
+No changes since 5.14.0.
+
+=head1 Security
+
+=head2 C<Digest> unsafe use of eval (CVE-2011-3597)
+
+The C<Digest-E<gt>new()> function did not properly sanitize input before
+using it in an eval() call, which could lead to the injection of arbitrary
+Perl code.
+
+In order to exploit this flaw, the attacker would need to be able to set
+the algorithm name used, or be able to execute arbitrary Perl code already.
+
+This problem has been fixed.
+
+=head2 Heap buffer overrun in 'x' string repeat operator (CVE-2012-5195)
+
+Poorly written perl code that allows an attacker to specify the count to
+perl's 'x' string repeat operator can already cause a memory exhaustion
+denial-of-service attack. A flaw in versions of perl before 5.15.5 can
+escalate that into a heap buffer overrun; coupled with versions of glibc
+before 2.16, it possibly allows the execution of arbitrary code.
+
+This problem has been fixed.
+
+=head1 Incompatible Changes
+
+There are no changes intentionally incompatible with 5.14.0. If any
+exist, they are bugs and reports are welcome.
+
+=head1 Deprecations
+
+There have been no deprecations since 5.14.0.
+
+=head1 Modules and Pragmata
+
+=head2 New Modules and Pragmata
+
+None
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<PerlIO::scalar> was updated to fix a bug in which opening a filehandle to
+a glob copy caused assertion failures (under debugging) or hangs or other
+erratic behaviour without debugging.
+
+=item *
+
+L<ODBM_File> and L<NDBM_File> were updated to allow building on GNU/Hurd.
+
+=item *
+
+L<IPC::Open3> has been updated to fix a regression introduced in perl
+5.12, which broke C<IPC::Open3::open3($in, $out, $err, '-')>.
+[perl #95748]
+
+=item *
+
+L<Digest> has been upgraded from version 1.16 to 1.16_01.
+
+See L</Security>.
+
+=item *
+
+L<Module::CoreList> has been updated to version 2.49_04 to add data for
+this release.
+
+=back
+
+=head2 Removed Modules and Pragmata
+
+None
+
+=head1 Documentation
+
+=head2 New Documentation
+
+None
+
+=head2 Changes to Existing Documentation
+
+=head3 L<perlcheat>
+
+=over 4
+
+=item *
+
+L<perlcheat> was updated to 5.14.
+
+=back
+
+=head1 Configuration and Compilation
+
+=over 4
+
+=item *
+
+h2ph was updated to search correctly gcc include directories on platforms
+such as Debian with multi-architecture support.
+
+=item *
+
+In Configure, the test for procselfexe was refactored into a loop.
+
+=back
+
+=head1 Platform Support
+
+=head2 New Platforms
+
+None
+
+=head2 Discontinued Platforms
+
+None
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item FreeBSD
+
+The FreeBSD hints file was corrected to be compatible with FreeBSD 10.0.
+
+=item Solaris and NetBSD
+
+Configure was updated for "procselfexe" support on Solaris and NetBSD.
+
+=item HP-UX
+
+README.hpux was updated to note the existence of a broken header in
+HP-UX 11.00.
+
+=item Linux
+
+libutil is no longer used when compiling on Linux platforms, which avoids
+warnings being emitted.
+
+The system gcc (rather than any other gcc which might be in the compiling
+user's path) is now used when searching for libraries such as C<-lm>.
+
+=item Mac OS X
+
+The locale tests were updated to reflect the behaviour of locales in
+Mountain Lion.
+
+=item GNU/Hurd
+
+Various build and test fixes were included for GNU/Hurd.
+
+LFS support was enabled in GNU/Hurd.
+
+=item NetBSD
+
+The NetBSD hints file was corrected to be compatible with NetBSD 6.*
+
+=back
+
+=head1 Bug Fixes
+
+=over 4
+
+=item *
+
+A regression has been fixed that was introduced in 5.14, in C</i>
+regular expression matching, in which a match improperly fails if the
+pattern is in UTF-8, the target string is not, and a Latin-1 character
+precedes a character in the string that should match the pattern. [perl
+#101710]
+
+=item *
+
+In case-insensitive regular expression pattern matching, no longer on
+UTF-8 encoded strings does the scan for the start of match only look at
+the first possible position. This caused matches such as
+C<"f\x{FB00}" =~ /ff/i> to fail.
+
+=item *
+
+The sitecustomize support was made relocatableinc aware, so that
+-Dusesitecustomize and -Duserelocatableinc may be used together.
+
+=item *
+
+The smartmatch operator (C<~~>) was changed so that the right-hand side
+takes precedence during C<Any ~~ Object> operations.
+
+=item *
+
+A bug has been fixed in the tainting support, in which an C<index()>
+operation on a tainted constant would cause all other constants to become
+tainted. [perl #64804]
+
+=item *
+
+A regression has been fixed that was introduced in perl 5.12, whereby
+tainting errors were not correctly propagated through C<die()>.
+[perl #111654]
+
+=item *
+
+A regression has been fixed that was introduced in perl 5.14, in which
+C</[[:lower:]]/i> and C</[[:upper:]]/i> no longer matched the opposite case.
+[perl #101970]
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.14.3 represents approximately 12 months of development since Perl 5.14.2
+and contains approximately 2,300 lines of changes across 64 files from 22
+authors.
+
+Perl continues to flourish into its third decade thanks to a vibrant community
+of users and developers. The following people are known to have contributed the
+improvements that became Perl 5.14.3:
+
+Abigail, Andy Dougherty, Carl Hayter, Chris 'BinGOs' Williams, Dave Rolsky,
+David Mitchell, Dominic Hargreaves, Father Chrysostomos, Florian Ragwitz,
+H.Merijn Brand, Jilles Tjoelker, Karl Williamson, Leon Timmermans, Michael G
+Schwern, Nicholas Clark, Niko Tyni, Pino Toscano, Ricardo Signes, Salvador
+Fandiño, Samuel Thibault, Steve Hay, Tony Cook.
+
+The list above is almost certainly incomplete as it is automatically generated
+from version control history. In particular, it does not include the names of
+the (very much appreciated) contributors who reported issues to the Perl bug
+tracker.
+
+Many of the changes included in this version originated in the CPAN modules
+included in Perl's core. We're grateful to the entire CPAN community for
+helping Perl to flourish.
+
+For a more complete list of all of Perl's historical contributors, please see
+the F<AUTHORS> file in the Perl source distribution.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the perl
+bug database at http://rt.perl.org/perlbug/ . There may also be
+information at http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug>
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
+output of C<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send
+it to perl5-security-report@perl.org. This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who be able
+to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported. Please only use this address for
+security issues in the Perl core, not for modules independently
+distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5160delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5160delta.pod
new file mode 100644
index 00000000000..9b67d17a243
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl5160delta.pod
@@ -0,0 +1,4314 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5160delta - what is new for perl v5.16.0
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.14.0 release and
+the 5.16.0 release.
+
+If you are upgrading from an earlier release such as 5.12.0, first read
+L<perl5140delta>, which describes differences between 5.12.0 and
+5.14.0.
+
+Some bug fixes in this release have been backported to later
+releases of 5.14.x. Those are indicated with the 5.14.x version in
+parentheses.
+
+=head1 Notice
+
+With the release of Perl 5.16.0, the 5.12.x series of releases is now out of
+its support period. There may be future 5.12.x releases, but only in the
+event of a critical security issue. Users of Perl 5.12 or earlier should
+consider upgrading to a more recent release of Perl.
+
+This policy is described in greater detail in
+L<perlpolicy|perlpolicy/MAINTENANCE AND SUPPORT>.
+
+=head1 Core Enhancements
+
+=head2 C<use I<VERSION>>
+
+As of this release, version declarations like C<use v5.16> now disable
+all features before enabling the new feature bundle. This means that
+the following holds true:
+
+ use 5.016;
+ # only 5.16 features enabled here
+ use 5.014;
+ # only 5.14 features enabled here (not 5.16)
+
+C<use v5.12> and higher continue to enable strict, but explicit C<use
+strict> and C<no strict> now override the version declaration, even
+when they come first:
+
+ no strict;
+ use 5.012;
+ # no strict here
+
+There is a new ":default" feature bundle that represents the set of
+features enabled before any version declaration or C<use feature> has
+been seen. Version declarations below 5.10 now enable the ":default"
+feature set. This does not actually change the behavior of C<use
+v5.8>, because features added to the ":default" set are those that were
+traditionally enabled by default, before they could be turned off.
+
+C<< no feature >> now resets to the default feature set. To disable all
+features (which is likely to be a pretty special-purpose request, since
+it presumably won't match any named set of semantics) you can now
+write C<< no feature ':all' >>.
+
+C<$[> is now disabled under C<use v5.16>. It is part of the default
+feature set and can be turned on or off explicitly with C<use feature
+'array_base'>.
+
+=head2 C<__SUB__>
+
+The new C<__SUB__> token, available under the C<current_sub> feature
+(see L<feature>) or C<use v5.16>, returns a reference to the current
+subroutine, making it easier to write recursive closures.
+
+=head2 New and Improved Built-ins
+
+=head3 More consistent C<eval>
+
+The C<eval> operator sometimes treats a string argument as a sequence of
+characters and sometimes as a sequence of bytes, depending on the
+internal encoding. The internal encoding is not supposed to make any
+difference, but there is code that relies on this inconsistency.
+
+The new C<unicode_eval> and C<evalbytes> features (enabled under C<use
+5.16.0>) resolve this. The C<unicode_eval> feature causes C<eval
+$string> to treat the string always as Unicode. The C<evalbytes>
+features provides a function, itself called C<evalbytes>, which
+evaluates its argument always as a string of bytes.
+
+These features also fix oddities with source filters leaking to outer
+dynamic scopes.
+
+See L<feature> for more detail.
+
+=head3 C<substr> lvalue revamp
+
+=for comment Does this belong here, or under Incompatible Changes?
+
+When C<substr> is called in lvalue or potential lvalue context with two
+or three arguments, a special lvalue scalar is returned that modifies
+the original string (the first argument) when assigned to.
+
+Previously, the offsets (the second and third arguments) passed to
+C<substr> would be converted immediately to match the string, negative
+offsets being translated to positive and offsets beyond the end of the
+string being truncated.
+
+Now, the offsets are recorded without modification in the special
+lvalue scalar that is returned, and the original string is not even
+looked at by C<substr> itself, but only when the returned lvalue is
+read or modified.
+
+These changes result in an incompatible change:
+
+If the original string changes length after the call to C<substr> but
+before assignment to its return value, negative offsets will remember
+their position from the end of the string, affecting code like this:
+
+ my $string = "string";
+ my $lvalue = \substr $string, -4, 2;
+ print $$lvalue, "\n"; # prints "ri"
+ $string = "bailing twine";
+ print $$lvalue, "\n"; # prints "wi"; used to print "il"
+
+The same thing happens with an omitted third argument. The returned
+lvalue will always extend to the end of the string, even if the string
+becomes longer.
+
+Since this change also allowed many bugs to be fixed (see
+L</The C<substr> operator>), and since the behavior
+of negative offsets has never been specified, the
+change was deemed acceptable.
+
+=head3 Return value of C<tied>
+
+The value returned by C<tied> on a tied variable is now the actual
+scalar that holds the object to which the variable is tied. This
+lets ties be weakened with C<Scalar::Util::weaken(tied
+$tied_variable)>.
+
+=head2 Unicode Support
+
+=head3 Supports (I<almost>) Unicode 6.1
+
+Besides the addition of whole new scripts, and new characters in
+existing scripts, this new version of Unicode, as always, makes some
+changes to existing characters. One change that may trip up some
+applications is that the General Category of two characters in the
+Latin-1 range, PILCROW SIGN and SECTION SIGN, has been changed from
+Other_Symbol to Other_Punctuation. The same change has been made for
+a character in each of Tibetan, Ethiopic, and Aegean.
+The code points U+3248..U+324F (CIRCLED NUMBER TEN ON BLACK SQUARE
+through CIRCLED NUMBER EIGHTY ON BLACK SQUARE) have had their General
+Category changed from Other_Symbol to Other_Numeric. The Line Break
+property has changes for Hebrew and Japanese; and because of
+other changes in 6.1, the Perl regular expression construct C<\X> now
+works differently for some characters in Thai and Lao.
+
+New aliases (synonyms) have been defined for many property values;
+these, along with the previously existing ones, are all cross-indexed in
+L<perluniprops>.
+
+The return value of C<charnames::viacode()> is affected by other
+changes:
+
+ Code point Old Name New Name
+ U+000A LINE FEED (LF) LINE FEED
+ U+000C FORM FEED (FF) FORM FEED
+ U+000D CARRIAGE RETURN (CR) CARRIAGE RETURN
+ U+0085 NEXT LINE (NEL) NEXT LINE
+ U+008E SINGLE-SHIFT 2 SINGLE-SHIFT-2
+ U+008F SINGLE-SHIFT 3 SINGLE-SHIFT-3
+ U+0091 PRIVATE USE 1 PRIVATE USE-1
+ U+0092 PRIVATE USE 2 PRIVATE USE-2
+ U+2118 SCRIPT CAPITAL P WEIERSTRASS ELLIPTIC FUNCTION
+
+Perl will accept any of these names as input, but
+C<charnames::viacode()> now returns the new name of each pair. The
+change for U+2118 is considered by Unicode to be a correction, that is
+the original name was a mistake (but again, it will remain forever valid
+to use it to refer to U+2118). But most of these changes are the
+fallout of the mistake Unicode 6.0 made in naming a character used in
+Japanese cell phones to be "BELL", which conflicts with the longstanding
+industry use of (and Unicode's recommendation to use) that name
+to mean the ASCII control character at U+0007. Therefore, that name
+has been deprecated in Perl since v5.14, and any use of it will raise a
+warning message (unless turned off). The name "ALERT" is now the
+preferred name for this code point, with "BEL" an acceptable short
+form. The name for the new cell phone character, at code point U+1F514,
+remains undefined in this version of Perl (hence we don't
+implement quite all of Unicode 6.1), but starting in v5.18, BELL will mean
+this character, and not U+0007.
+
+Unicode has taken steps to make sure that this sort of mistake does not
+happen again. The Standard now includes all generally accepted
+names and abbreviations for control characters, whereas previously it
+didn't (though there were recommended names for most of them, which Perl
+used). This means that most of those recommended names are now
+officially in the Standard. Unicode did not recommend names for the
+four code points listed above between U+008E and U+008F, and in
+standardizing them Unicode subtly changed the names that Perl had
+previously given them, by replacing the final blank in each name by a
+hyphen. Unicode also officially accepts names that Perl had deprecated,
+such as FILE SEPARATOR. Now the only deprecated name is BELL.
+Finally, Perl now uses the new official names instead of the old
+(now considered obsolete) names for the first four code points in the
+list above (the ones which have the parentheses in them).
+
+Now that the names have been placed in the Unicode standard, these kinds
+of changes should not happen again, though corrections, such as to
+U+2118, are still possible.
+
+Unicode also added some name abbreviations, which Perl now accepts:
+SP for SPACE;
+TAB for CHARACTER TABULATION;
+NEW LINE, END OF LINE, NL, and EOL for LINE FEED;
+LOCKING-SHIFT ONE for SHIFT OUT;
+LOCKING-SHIFT ZERO for SHIFT IN;
+and ZWNBSP for ZERO WIDTH NO-BREAK SPACE.
+
+More details on this version of Unicode are provided in
+L<http://www.unicode.org/versions/Unicode6.1.0/>.
+
+=head3 C<use charnames> is no longer needed for C<\N{I<name>}>
+
+When C<\N{I<name>}> is encountered, the C<charnames> module is now
+automatically loaded when needed as if the C<:full> and C<:short>
+options had been specified. See L<charnames> for more information.
+
+=head3 C<\N{...}> can now have Unicode loose name matching
+
+This is described in the C<charnames> item in
+L</Updated Modules and Pragmata> below.
+
+=head3 Unicode Symbol Names
+
+Perl now has proper support for Unicode in symbol names. It used to be
+that C<*{$foo}> would ignore the internal UTF8 flag and use the bytes of
+the underlying representation to look up the symbol. That meant that
+C<*{"\x{100}"}> and C<*{"\xc4\x80"}> would return the same thing. All
+these parts of Perl have been fixed to account for Unicode:
+
+=over
+
+=item *
+
+Method names (including those passed to C<use overload>)
+
+=item *
+
+Typeglob names (including names of variables, subroutines, and filehandles)
+
+=item *
+
+Package names
+
+=item *
+
+C<goto>
+
+=item *
+
+Symbolic dereferencing
+
+=item *
+
+Second argument to C<bless()> and C<tie()>
+
+=item *
+
+Return value of C<ref()>
+
+=item *
+
+Subroutine prototypes
+
+=item *
+
+Attributes
+
+=item *
+
+Various warnings and error messages that mention variable names or values,
+methods, etc.
+
+=back
+
+In addition, a parsing bug has been fixed that prevented C<*{é}> from
+implicitly quoting the name, but instead interpreted it as C<*{+é}>, which
+would cause a strict violation.
+
+C<*{"*a::b"}> automatically strips off the * if it is followed by an ASCII
+letter. That has been extended to all Unicode identifier characters.
+
+One-character non-ASCII non-punctuation variables (like C<$é>) are now
+subject to "Used only once" warnings. They used to be exempt, as they
+were treated as punctuation variables.
+
+Also, single-character Unicode punctuation variables (like C<$‰>) are now
+supported [perl #69032].
+
+=head3 Improved ability to mix locales and Unicode, including UTF-8 locales
+
+An optional parameter has been added to C<use locale>
+
+ use locale ':not_characters';
+
+which tells Perl to use all but the C<LC_CTYPE> and C<LC_COLLATE>
+portions of the current locale. Instead, the character set is assumed
+to be Unicode. This lets locales and Unicode be seamlessly mixed,
+including the increasingly frequent UTF-8 locales. When using this
+hybrid form of locales, the C<:locale> layer to the L<open> pragma can
+be used to interface with the file system, and there are CPAN modules
+available for ARGV and environment variable conversions.
+
+Full details are in L<perllocale>.
+
+=head3 New function C<fc> and corresponding escape sequence C<\F> for Unicode foldcase
+
+Unicode foldcase is an extension to lowercase that gives better results
+when comparing two strings case-insensitively. It has long been used
+internally in regular expression C</i> matching. Now it is available
+explicitly through the new C<fc> function call (enabled by
+S<C<"use feature 'fc'">>, or C<use v5.16>, or explicitly callable via
+C<CORE::fc>) or through the new C<\F> sequence in double-quotish
+strings.
+
+Full details are in L<perlfunc/fc>.
+
+=head3 The Unicode C<Script_Extensions> property is now supported.
+
+New in Unicode 6.0, this is an improved C<Script> property. Details
+are in L<perlunicode/Scripts>.
+
+=head2 XS Changes
+
+=head3 Improved typemaps for Some Builtin Types
+
+Most XS authors will know there is a longstanding bug in the
+OUTPUT typemap for T_AVREF (C<AV*>), T_HVREF (C<HV*>), T_CVREF (C<CV*>),
+and T_SVREF (C<SVREF> or C<\$foo>) that requires manually decrementing
+the reference count of the return value instead of the typemap taking
+care of this. For backwards-compatibility, this cannot be changed in the
+default typemaps. But we now provide additional typemaps
+C<T_AVREF_REFCOUNT_FIXED>, etc. that do not exhibit this bug. Using
+them in your extension is as simple as having one line in your
+C<TYPEMAP> section:
+
+ HV* T_HVREF_REFCOUNT_FIXED
+
+=head3 C<is_utf8_char()>
+
+The XS-callable function C<is_utf8_char()>, when presented with
+malformed UTF-8 input, can read up to 12 bytes beyond the end of the
+string. This cannot be fixed without changing its API, and so its
+use is now deprecated. Use C<is_utf8_char_buf()> (described just below)
+instead.
+
+=head3 Added C<is_utf8_char_buf()>
+
+This function is designed to replace the deprecated L</is_utf8_char()>
+function. It includes an extra parameter to make sure it doesn't read
+past the end of the input buffer.
+
+=head3 Other C<is_utf8_foo()> functions, as well as C<utf8_to_foo()>, etc.
+
+Most other XS-callable functions that take UTF-8 encoded input
+implicitly assume that the UTF-8 is valid (not malformed) with respect to
+buffer length. Do not do things such as change a character's case or
+see if it is alphanumeric without first being sure that it is valid
+UTF-8. This can be safely done for a whole string by using one of the
+functions C<is_utf8_string()>, C<is_utf8_string_loc()>, and
+C<is_utf8_string_loclen()>.
+
+=head3 New Pad API
+
+Many new functions have been added to the API for manipulating lexical
+pads. See L<perlapi/Pad Data Structures> for more information.
+
+=head2 Changes to Special Variables
+
+=head3 C<$$> can be assigned to
+
+C<$$> was made read-only in Perl 5.8.0. But only sometimes: C<local $$>
+would make it writable again. Some CPAN modules were using C<local $$> or
+XS code to bypass the read-only check, so there is no reason to keep C<$$>
+read-only. (This change also allowed a bug to be fixed while maintaining
+backward compatibility.)
+
+=head3 C<$^X> converted to an absolute path on FreeBSD, OS X and Solaris
+
+C<$^X> is now converted to an absolute path on OS X, FreeBSD (without
+needing F</proc> mounted) and Solaris 10 and 11. This augments the
+previous approach of using F</proc> on Linux, FreeBSD, and NetBSD
+(in all cases, where mounted).
+
+This makes relocatable perl installations more useful on these platforms.
+(See "Relocatable @INC" in F<INSTALL>)
+
+=head2 Debugger Changes
+
+=head3 Features inside the debugger
+
+The current Perl's L<feature> bundle is now enabled for commands entered
+in the interactive debugger.
+
+=head3 New option for the debugger's B<t> command
+
+The B<t> command in the debugger, which toggles tracing mode, now
+accepts a numeric argument that determines how many levels of subroutine
+calls to trace.
+
+=head3 C<enable> and C<disable>
+
+The debugger now has C<disable> and C<enable> commands for disabling
+existing breakpoints and re-enabling them. See L<perldebug>.
+
+=head3 Breakpoints with file names
+
+The debugger's "b" command for setting breakpoints now lets a line
+number be prefixed with a file name. See
+L<perldebug/"b [file]:[line] [condition]">.
+
+=head2 The C<CORE> Namespace
+
+=head3 The C<CORE::> prefix
+
+The C<CORE::> prefix can now be used on keywords enabled by
+L<feature.pm|feature>, even outside the scope of C<use feature>.
+
+=head3 Subroutines in the C<CORE> namespace
+
+Many Perl keywords are now available as subroutines in the CORE namespace.
+This lets them be aliased:
+
+ BEGIN { *entangle = \&CORE::tie }
+ entangle $variable, $package, @args;
+
+And for prototypes to be bypassed:
+
+ sub mytie(\[%$*@]$@) {
+ my ($ref, $pack, @args) = @_;
+ ... do something ...
+ goto &CORE::tie;
+ }
+
+Some of these cannot be called through references or via C<&foo> syntax,
+but must be called as barewords.
+
+See L<CORE> for details.
+
+=head2 Other Changes
+
+=head3 Anonymous handles
+
+Automatically generated file handles are now named __ANONIO__ when the
+variable name cannot be determined, rather than $__ANONIO__.
+
+=head3 Autoloaded sort Subroutines
+
+Custom sort subroutines can now be autoloaded [perl #30661]:
+
+ sub AUTOLOAD { ... }
+ @sorted = sort foo @list; # uses AUTOLOAD
+
+=head3 C<continue> no longer requires the "switch" feature
+
+The C<continue> keyword has two meanings. It can introduce a C<continue>
+block after a loop, or it can exit the current C<when> block. Up to now,
+the latter meaning was valid only with the "switch" feature enabled, and
+was a syntax error otherwise. Since the main purpose of feature.pm is to
+avoid conflicts with user-defined subroutines, there is no reason for
+C<continue> to depend on it.
+
+=head3 DTrace probes for interpreter phase change
+
+The C<phase-change> probes will fire when the interpreter's phase
+changes, which tracks the C<${^GLOBAL_PHASE}> variable. C<arg0> is
+the new phase name; C<arg1> is the old one. This is useful
+for limiting your instrumentation to one or more of: compile time,
+run time, or destruct time.
+
+=head3 C<__FILE__()> Syntax
+
+The C<__FILE__>, C<__LINE__> and C<__PACKAGE__> tokens can now be written
+with an empty pair of parentheses after them. This makes them parse the
+same way as C<time>, C<fork> and other built-in functions.
+
+=head3 The C<\$> prototype accepts any scalar lvalue
+
+The C<\$> and C<\[$]> subroutine prototypes now accept any scalar lvalue
+argument. Previously they accepted only scalars beginning with C<$> and
+hash and array elements. This change makes them consistent with the way
+the built-in C<read> and C<recv> functions (among others) parse their
+arguments. This means that one can override the built-in functions with
+custom subroutines that parse their arguments the same way.
+
+=head3 C<_> in subroutine prototypes
+
+The C<_> character in subroutine prototypes is now allowed before C<@> or
+C<%>.
+
+=head1 Security
+
+=head2 Use C<is_utf8_char_buf()> and not C<is_utf8_char()>
+
+The latter function is now deprecated because its API is insufficient to
+guarantee that it doesn't read (up to 12 bytes in the worst case) beyond
+the end of its input string. See
+L<is_utf8_char_buf()|/Added is_utf8_char_buf()>.
+
+=head2 Malformed UTF-8 input could cause attempts to read beyond the end of the buffer
+
+Two new XS-accessible functions, C<utf8_to_uvchr_buf()> and
+C<utf8_to_uvuni_buf()> are now available to prevent this, and the Perl
+core has been converted to use them.
+See L</Internal Changes>.
+
+=head2 C<File::Glob::bsd_glob()> memory error with GLOB_ALTDIRFUNC (CVE-2011-2728).
+
+Calling C<File::Glob::bsd_glob> with the unsupported flag
+GLOB_ALTDIRFUNC would cause an access violation / segfault. A Perl
+program that accepts a flags value from an external source could expose
+itself to denial of service or arbitrary code execution attacks. There
+are no known exploits in the wild. The problem has been corrected by
+explicitly disabling all unsupported flags and setting unused function
+pointers to null. Bug reported by Clément Lecigne. (5.14.2)
+
+=head2 Privileges are now set correctly when assigning to C<$(>
+
+A hypothetical bug (probably unexploitable in practice) because the
+incorrect setting of the effective group ID while setting C<$(> has been
+fixed. The bug would have affected only systems that have C<setresgid()>
+but not C<setregid()>, but no such systems are known to exist.
+
+=head1 Deprecations
+
+=head2 Don't read the Unicode data base files in F<lib/unicore>
+
+It is now deprecated to directly read the Unicode data base files.
+These are stored in the F<lib/unicore> directory. Instead, you should
+use the new functions in L<Unicode::UCD>. These provide a stable API,
+and give complete information.
+
+Perl may at some point in the future change or remove these files. The
+file which applications were most likely to have used is
+F<lib/unicore/ToDigit.pl>. L<Unicode::UCD/prop_invmap()> can be used to
+get at its data instead.
+
+=head2 XS functions C<is_utf8_char()>, C<utf8_to_uvchr()> and
+C<utf8_to_uvuni()>
+
+This function is deprecated because it could read beyond the end of the
+input string. Use the new L<is_utf8_char_buf()|/Added is_utf8_char_buf()>,
+C<utf8_to_uvchr_buf()> and C<utf8_to_uvuni_buf()> instead.
+
+=head1 Future Deprecations
+
+This section serves as a notice of features that are I<likely> to be
+removed or L<deprecated|perlpolicy/deprecated> in the next release of
+perl (5.18.0). If your code depends on these features, you should
+contact the Perl 5 Porters via the L<mailing
+list|http://lists.perl.org/list/perl5-porters.html> or L<perlbug> to
+explain your use case and inform the deprecation process.
+
+=head2 Core Modules
+
+These modules may be marked as deprecated I<from the core>. This only
+means that they will no longer be installed by default with the core
+distribution, but will remain available on the CPAN.
+
+=over
+
+=item *
+
+CPANPLUS
+
+=item *
+
+Filter::Simple
+
+=item *
+
+PerlIO::mmap
+
+=item *
+
+Pod::LaTeX
+
+=item *
+
+Pod::Parser
+
+=item *
+
+SelfLoader
+
+=item *
+
+Text::Soundex
+
+=item *
+
+Thread.pm
+
+=back
+
+=head2 Platforms with no supporting programmers:
+
+These platforms will probably have their
+special build support removed during the
+5.17.0 development series.
+
+=over
+
+=item *
+
+BeOS
+
+=item *
+
+djgpp
+
+=item *
+
+dgux
+
+=item *
+
+EPOC
+
+=item *
+
+MPE/iX
+
+=item *
+
+Rhapsody
+
+=item *
+
+UTS
+
+=item *
+
+VM/ESA
+
+=back
+
+=head2 Other Future Deprecations
+
+=over
+
+=item *
+
+Swapping of $< and $>
+
+For more information about this future deprecation, see L<the relevant RT
+ticket|https://rt.perl.org/rt3/Ticket/Display.html?id=96212>.
+
+=item *
+
+sfio, stdio
+
+Perl supports being built without PerlIO proper, using a stdio or sfio
+wrapper instead. A perl build like this will not support IO layers and
+thus Unicode IO, making it rather handicapped.
+
+PerlIO supports a C<stdio> layer if stdio use is desired, and similarly a
+sfio layer could be produced.
+
+=item *
+
+Unescaped literal C<< "{" >> in regular expressions.
+
+Starting with v5.20, it is planned to require a literal C<"{"> to be
+escaped, for example by preceding it with a backslash. In v5.18, a
+deprecated warning message will be emitted for all such uses.
+This affects only patterns that are to match a literal C<"{">. Other
+uses of this character, such as part of a quantifier or sequence as in
+those below, are completely unaffected:
+
+ /foo{3,5}/
+ /\p{Alphabetic}/
+ /\N{DIGIT ZERO}
+
+Removing this will permit extensions to Perl's pattern syntax and better
+error checking for existing syntax. See L<perlre/Quantifiers> for an
+example.
+
+=item *
+
+Revamping C<< "\Q" >> semantics in double-quotish strings when combined with other escapes.
+
+There are several bugs and inconsistencies involving combinations
+of C<\Q> and escapes like C<\x>, C<\L>, etc., within a C<\Q...\E> pair.
+These need to be fixed, and doing so will necessarily change current
+behavior. The changes have not yet been settled.
+
+=back
+
+=head1 Incompatible Changes
+
+=head2 Special blocks called in void context
+
+Special blocks (C<BEGIN>, C<CHECK>, C<INIT>, C<UNITCHECK>, C<END>) are now
+called in void context. This avoids wasteful copying of the result of the
+last statement [perl #108794].
+
+=head2 The C<overloading> pragma and regexp objects
+
+With C<no overloading>, regular expression objects returned by C<qr//> are
+now stringified as "Regexp=REGEXP(0xbe600d)" instead of the regular
+expression itself [perl #108780].
+
+=head2 Two XS typemap Entries removed
+
+Two presumably unused XS typemap entries have been removed from the
+core typemap: T_DATAUNIT and T_CALLBACK. If you are, against all odds,
+a user of these, please see the instructions on how to restore them
+in L<perlxstypemap>.
+
+=head2 Unicode 6.1 has incompatibilities with Unicode 6.0
+
+These are detailed in L</Supports (almost) Unicode 6.1> above.
+You can compile this version of Perl to use Unicode 6.0. See
+L<perlunicode/Hacking Perl to work on earlier Unicode versions (for very serious hackers only)>.
+
+=head2 Borland compiler
+
+All support for the Borland compiler has been dropped. The code had not
+worked for a long time anyway.
+
+=head2 Certain deprecated Unicode properties are no longer supported by default
+
+Perl should never have exposed certain Unicode properties that are used
+by Unicode internally and not meant to be publicly available. Use of
+these has generated deprecated warning messages since Perl 5.12. The
+removed properties are Other_Alphabetic,
+Other_Default_Ignorable_Code_Point, Other_Grapheme_Extend,
+Other_ID_Continue, Other_ID_Start, Other_Lowercase, Other_Math, and
+Other_Uppercase.
+
+Perl may be recompiled to include any or all of them; instructions are
+given in
+L<perluniprops/Unicode character properties that are NOT accepted by Perl>.
+
+=head2 Dereferencing IO thingies as typeglobs
+
+The C<*{...}> operator, when passed a reference to an IO thingy (as in
+C<*{*STDIN{IO}}>), creates a new typeglob containing just that IO object.
+Previously, it would stringify as an empty string, but some operators would
+treat it as undefined, producing an "uninitialized" warning.
+Now it stringifies as __ANONIO__ [perl #96326].
+
+=head2 User-defined case-changing operations
+
+This feature was deprecated in Perl 5.14, and has now been removed.
+The CPAN module L<Unicode::Casing> provides better functionality without
+the drawbacks that this feature had, as are detailed in the 5.14
+documentation:
+L<http://perldoc.perl.org/5.14.0/perlunicode.html#User-Defined-Case-Mappings-%28for-serious-hackers-only%29>
+
+=head2 XSUBs are now 'static'
+
+XSUB C functions are now 'static', that is, they are not visible from
+outside the compilation unit. Users can use the new C<XS_EXTERNAL(name)>
+and C<XS_INTERNAL(name)> macros to pick the desired linking behavior.
+The ordinary C<XS(name)> declaration for XSUBs will continue to declare
+non-'static' XSUBs for compatibility, but the XS compiler,
+L<ExtUtils::ParseXS> (C<xsubpp>) will emit 'static' XSUBs by default.
+L<ExtUtils::ParseXS>'s behavior can be reconfigured from XS using the
+C<EXPORT_XSUB_SYMBOLS> keyword. See L<perlxs> for details.
+
+=head2 Weakening read-only references
+
+Weakening read-only references is no longer permitted. It should never
+have worked anyway, and could sometimes result in crashes.
+
+=head2 Tying scalars that hold typeglobs
+
+Attempting to tie a scalar after a typeglob was assigned to it would
+instead tie the handle in the typeglob's IO slot. This meant that it was
+impossible to tie the scalar itself. Similar problems affected C<tied> and
+C<untie>: C<tied $scalar> would return false on a tied scalar if the last
+thing returned was a typeglob, and C<untie $scalar> on such a tied scalar
+would do nothing.
+
+We fixed this problem before Perl 5.14.0, but it caused problems with some
+CPAN modules, so we put in a deprecation cycle instead.
+
+Now the deprecation has been removed and this bug has been fixed. So
+C<tie $scalar> will always tie the scalar, not the handle it holds. To tie
+the handle, use C<tie *$scalar> (with an explicit asterisk). The same
+applies to C<tied *$scalar> and C<untie *$scalar>.
+
+=head2 IPC::Open3 no longer provides C<xfork()>, C<xclose_on_exec()>
+and C<xpipe_anon()>
+
+All three functions were private, undocumented, and unexported. They do
+not appear to be used by any code on CPAN. Two have been inlined and one
+deleted entirely.
+
+=head2 C<$$> no longer caches PID
+
+Previously, if one called fork(3) from C, Perl's
+notion of C<$$> could go out of sync with what getpid() returns. By always
+fetching the value of C<$$> via getpid(), this potential bug is eliminated.
+Code that depends on the caching behavior will break. As described in
+L<Core Enhancements|/C<$$> can be assigned to>,
+C<$$> is now writable, but it will be reset during a
+fork.
+
+=head2 C<$$> and C<getppid()> no longer emulate POSIX semantics under LinuxThreads
+
+The POSIX emulation of C<$$> and C<getppid()> under the obsolete
+LinuxThreads implementation has been removed.
+This only impacts users of Linux 2.4 and
+users of Debian GNU/kFreeBSD up to and including 6.0, not the vast
+majority of Linux installations that use NPTL threads.
+
+This means that C<getppid()>, like C<$$>, is now always guaranteed to
+return the OS's idea of the current state of the process, not perl's
+cached version of it.
+
+See the documentation for L<$$|perlvar/$$> for details.
+
+=head2 C<< $< >>, C<< $> >>, C<$(> and C<$)> are no longer cached
+
+Similarly to the changes to C<$$> and C<getppid()>, the internal
+caching of C<< $< >>, C<< $> >>, C<$(> and C<$)> has been removed.
+
+When we cached these values our idea of what they were would drift out
+of sync with reality if someone (e.g., someone embedding perl) called
+C<sete?[ug]id()> without updating C<PL_e?[ug]id>. Having to deal with
+this complexity wasn't worth it given how cheap the C<gete?[ug]id()>
+system call is.
+
+This change will break a handful of CPAN modules that use the XS-level
+C<PL_uid>, C<PL_gid>, C<PL_euid> or C<PL_egid> variables.
+
+The fix for those breakages is to use C<PerlProc_gete?[ug]id()> to
+retrieve them (e.g., C<PerlProc_getuid()>), and not to assign to
+C<PL_e?[ug]id> if you change the UID/GID/EUID/EGID. There is no longer
+any need to do so since perl will always retrieve the up-to-date
+version of those values from the OS.
+
+=head2 Which Non-ASCII characters get quoted by C<quotemeta> and C<\Q> has changed
+
+This is unlikely to result in a real problem, as Perl does not attach
+special meaning to any non-ASCII character, so it is currently
+irrelevant which are quoted or not. This change fixes bug [perl #77654] and
+brings Perl's behavior more into line with Unicode's recommendations.
+See L<perlfunc/quotemeta>.
+
+=head1 Performance Enhancements
+
+=over
+
+=item *
+
+Improved performance for Unicode properties in regular expressions
+
+=for comment Can this be compacted some? -- rjbs, 2012-02-20
+
+Matching a code point against a Unicode property is now done via a
+binary search instead of linear. This means for example that the worst
+case for a 1000 item property is 10 probes instead of 1000. This
+inefficiency has been compensated for in the past by permanently storing
+in a hash the results of a given probe plus the results for the adjacent
+64 code points, under the theory that near-by code points are likely to
+be searched for. A separate hash was used for each mention of a Unicode
+property in each regular expression. Thus, C<qr/\p{foo}abc\p{foo}/>
+would generate two hashes. Any probes in one instance would be unknown
+to the other, and the hashes could expand separately to be quite large
+if the regular expression were used on many different widely-separated
+code points.
+Now, however, there is just one hash shared by all instances of a given
+property. This means that if C<\p{foo}> is matched against "A" in one
+regular expression in a thread, the result will be known immediately to
+all regular expressions, and the relentless march of using up memory is
+slowed considerably.
+
+=item *
+
+Version declarations with the C<use> keyword (e.g., C<use 5.012>) are now
+faster, as they enable features without loading F<feature.pm>.
+
+=item *
+
+C<local $_> is faster now, as it no longer iterates through magic that it
+is not going to copy anyway.
+
+=item *
+
+Perl 5.12.0 sped up the destruction of objects whose classes define
+empty C<DESTROY> methods (to prevent autoloading), by simply not
+calling such empty methods. This release takes this optimization a
+step further, by not calling any C<DESTROY> method that begins with a
+C<return> statement. This can be useful for destructors that are only
+used for debugging:
+
+ use constant DEBUG => 1;
+ sub DESTROY { return unless DEBUG; ... }
+
+Constant-folding will reduce the first statement to C<return;> if DEBUG
+is set to 0, triggering this optimization.
+
+=item *
+
+Assigning to a variable that holds a typeglob or copy-on-write scalar
+is now much faster. Previously the typeglob would be stringified or
+the copy-on-write scalar would be copied before being clobbered.
+
+=item *
+
+Assignment to C<substr> in void context is now more than twice its
+previous speed. Instead of creating and returning a special lvalue
+scalar that is then assigned to, C<substr> modifies the original string
+itself.
+
+=item *
+
+C<substr> no longer calculates a value to return when called in void
+context.
+
+=item *
+
+Due to changes in L<File::Glob>, Perl's C<glob> function and its C<<
+<...> >> equivalent are now much faster. The splitting of the pattern
+into words has been rewritten in C, resulting in speed-ups of 20% for
+some cases.
+
+This does not affect C<glob> on VMS, as it does not use File::Glob.
+
+=item *
+
+The short-circuiting operators C<&&>, C<||>, and C<//>, when chained
+(such as C<$a || $b || $c>), are now considerably faster to short-circuit,
+due to reduced optree traversal.
+
+=item *
+
+The implementation of C<s///r> makes one fewer copy of the scalar's value.
+
+=item *
+
+Recursive calls to lvalue subroutines in lvalue scalar context use less
+memory.
+
+=back
+
+=head1 Modules and Pragmata
+
+=head2 Deprecated Modules
+
+=over
+
+=item L<Version::Requirements>
+
+Version::Requirements is now DEPRECATED, use L<CPAN::Meta::Requirements>,
+which is a drop-in replacement. It will be deleted from perl.git blead
+in v5.17.0.
+
+=back
+
+=head2 New Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<arybase> -- this new module implements the C<$[> variable.
+
+=item *
+
+L<PerlIO::mmap> 0.010 has been added to the Perl core.
+
+The C<mmap> PerlIO layer is no longer implemented by perl itself, but has
+been moved out into the new L<PerlIO::mmap> module.
+
+=back
+
+=head2 Updated Modules and Pragmata
+
+This is only an overview of selected module updates. For a complete list of
+updates, run:
+
+ $ corelist --diff 5.14.0 5.16.0
+
+You can substitute your favorite version in place of 5.14.0, too.
+
+=over 4
+
+=item *
+
+L<Archive::Extract> has been upgraded from version 0.48 to 0.58.
+
+Includes a fix for FreeBSD to only use C<unzip> if it is located in
+C</usr/local/bin>, as FreeBSD 9.0 will ship with a limited C<unzip> in
+C</usr/bin>.
+
+=item *
+
+L<Archive::Tar> has been upgraded from version 1.76 to 1.82.
+
+Adjustments to handle files >8gb (>0777777777777 octal) and a feature
+to return the MD5SUM of files in the archive.
+
+=item *
+
+L<base> has been upgraded from version 2.16 to 2.18.
+
+C<base> no longer sets a module's C<$VERSION> to "-1" when a module it
+loads does not define a C<$VERSION>. This change has been made because
+"-1" is not a valid version number under the new "lax" criteria used
+internally by C<UNIVERSAL::VERSION>. (See L<version> for more on "lax"
+version criteria.)
+
+C<base> no longer internally skips loading modules it has already loaded
+and instead relies on C<require> to inspect C<%INC>. This fixes a bug
+when C<base> is used with code that clear C<%INC> to force a module to
+be reloaded.
+
+=item *
+
+L<Carp> has been upgraded from version 1.20 to 1.26.
+
+It now includes last read filehandle info and puts a dot after the file
+and line number, just like errors from C<die> [perl #106538].
+
+=item *
+
+L<charnames> has been updated from version 1.18 to 1.30.
+
+C<charnames> can now be invoked with a new option, C<:loose>,
+which is like the existing C<:full> option, but enables Unicode loose
+name matching. Details are in L<charnames/LOOSE MATCHES>.
+
+=item *
+
+L<B::Deparse> has been upgraded from version 1.03 to 1.14. This fixes
+numerous deparsing bugs.
+
+=item *
+
+L<CGI> has been upgraded from version 3.52 to 3.59.
+
+It uses the public and documented FCGI.pm API in CGI::Fast. CGI::Fast was
+using an FCGI API that was deprecated and removed from documentation
+more than ten years ago. Usage of this deprecated API with FCGI E<gt>=
+0.70 or FCGI E<lt>= 0.73 introduces a security issue.
+L<https://rt.cpan.org/Public/Bug/Display.html?id=68380>
+L<http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-2766>
+
+Things that may break your code:
+
+C<url()> was fixed to return C<PATH_INFO> when it is explicitly requested
+with either the C<path=E<gt>1> or C<path_info=E<gt>1> flag.
+
+If your code is running under mod_rewrite (or compatible) and you are
+calling C<self_url()> or you are calling C<url()> and passing
+C<path_info=E<gt>1>, these methods will actually be returning
+C<PATH_INFO> now, as you have explicitly requested or C<self_url()>
+has requested on your behalf.
+
+The C<PATH_INFO> has been omitted in such URLs since the issue was
+introduced in the 3.12 release in December, 2005.
+
+This bug is so old your application may have come to depend on it or
+workaround it. Check for application before upgrading to this release.
+
+Examples of affected method calls:
+
+ $q->url(-absolute => 1, -query => 1, -path_info => 1);
+ $q->url(-path=>1);
+ $q->url(-full=>1,-path=>1);
+ $q->url(-rewrite=>1,-path=>1);
+ $q->self_url();
+
+We no longer read from STDIN when the Content-Length is not set,
+preventing requests with no Content-Length from sometimes freezing.
+This is consistent with the CGI RFC 3875, and is also consistent with
+CGI::Simple. However, the old behavior may have been expected by some
+command-line uses of CGI.pm.
+
+In addition, the DELETE HTTP verb is now supported.
+
+=item *
+
+L<Compress::Zlib> has been upgraded from version 2.035 to 2.048.
+
+IO::Compress::Zip and IO::Uncompress::Unzip now have support for LZMA
+(method 14). There is a fix for a CRC issue in IO::Compress::Unzip and
+it supports Streamed Stored context now. And fixed a Zip64 issue in
+IO::Compress::Zip when the content size was exactly 0xFFFFFFFF.
+
+=item *
+
+L<Digest::SHA> has been upgraded from version 5.61 to 5.71.
+
+Added BITS mode to the addfile method and shasum. This makes
+partial-byte inputs possible via files/STDIN and lets shasum check
+all 8074 NIST Msg vectors, where previously special programming was
+required to do this.
+
+=item *
+
+L<Encode> has been upgraded from version 2.42 to 2.44.
+
+Missing aliases added, a deep recursion error fixed and various
+documentation updates.
+
+Addressed 'decode_xs n-byte heap-overflow' security bug in Unicode.xs
+(CVE-2011-2939). (5.14.2)
+
+=item *
+
+L<ExtUtils::CBuilder> updated from version 0.280203 to 0.280206.
+
+The new version appends CFLAGS and LDFLAGS to their Config.pm
+counterparts.
+
+=item *
+
+L<ExtUtils::ParseXS> has been upgraded from version 2.2210 to 3.16.
+
+Much of L<ExtUtils::ParseXS>, the module behind the XS compiler C<xsubpp>,
+was rewritten and cleaned up. It has been made somewhat more extensible
+and now finally uses strictures.
+
+The typemap logic has been moved into a separate module,
+L<ExtUtils::Typemaps>. See L</New Modules and Pragmata>, above.
+
+For a complete set of changes, please see the ExtUtils::ParseXS
+changelog, available on the CPAN.
+
+=item *
+
+L<File::Glob> has been upgraded from version 1.12 to 1.17.
+
+On Windows, tilde (~) expansion now checks the C<USERPROFILE> environment
+variable, after checking C<HOME>.
+
+It has a new C<:bsd_glob> export tag, intended to replace C<:glob>. Like
+C<:glob> it overrides C<glob> with a function that does not split the glob
+pattern into words, but, unlike C<:glob>, it iterates properly in scalar
+context, instead of returning the last file.
+
+There are other changes affecting Perl's own C<glob> operator (which uses
+File::Glob internally, except on VMS). See L</Performance Enhancements>
+and L</Selected Bug Fixes>.
+
+=item *
+
+L<FindBin> updated from version 1.50 to 1.51.
+
+It no longer returns a wrong result if a script of the same name as the
+current one exists in the path and is executable.
+
+=item *
+
+L<HTTP::Tiny> has been upgraded from version 0.012 to 0.017.
+
+Added support for using C<$ENV{http_proxy}> to set the default proxy host.
+
+Adds additional shorthand methods for all common HTTP verbs,
+a C<post_form()> method for POST-ing x-www-form-urlencoded data and
+a C<www_form_urlencode()> utility method.
+
+=item *
+
+L<IO> has been upgraded from version 1.25_04 to 1.25_06, and L<IO::Handle>
+from version 1.31 to 1.33.
+
+Together, these upgrades fix a problem with IO::Handle's C<getline> and
+C<getlines> methods. When these methods are called on the special ARGV
+handle, the next file is automatically opened, as happens with the built-in
+C<E<lt>E<gt>> and C<readline> functions. But, unlike the built-ins, these
+methods were not respecting the caller's use of the L<open> pragma and
+applying the appropriate I/O layers to the newly-opened file
+[rt.cpan.org #66474].
+
+=item *
+
+L<IPC::Cmd> has been upgraded from version 0.70 to 0.76.
+
+Capturing of command output (both C<STDOUT> and C<STDERR>) is now supported
+using L<IPC::Open3> on MSWin32 without requiring L<IPC::Run>.
+
+=item *
+
+L<IPC::Open3> has been upgraded from version 1.09 to 1.12.
+
+Fixes a bug which prevented use of C<open3> on Windows when C<*STDIN>,
+C<*STDOUT> or C<*STDERR> had been localized.
+
+Fixes a bug which prevented duplicating numeric file descriptors on Windows.
+
+C<open3> with "-" for the program name works once more. This was broken in
+version 1.06 (and hence in Perl 5.14.0) [perl #95748].
+
+=item *
+
+L<Locale::Codes> has been upgraded from version 3.16 to 3.21.
+
+Added Language Extension codes (langext) and Language Variation codes (langvar)
+as defined in the IANA language registry.
+
+Added language codes from ISO 639-5
+
+Added language/script codes from the IANA language subtag registry
+
+Fixed an uninitialized value warning [rt.cpan.org #67438].
+
+Fixed the return value for the all_XXX_codes and all_XXX_names functions
+[rt.cpan.org #69100].
+
+Reorganized modules to move Locale::MODULE to Locale::Codes::MODULE to allow
+for cleaner future additions. The original four modules (Locale::Language,
+Locale::Currency, Locale::Country, Locale::Script) will continue to work, but
+all new sets of codes will be added in the Locale::Codes namespace.
+
+The code2XXX, XXX2code, all_XXX_codes, and all_XXX_names functions now
+support retired codes. All codesets may be specified by a constant or
+by their name now. Previously, they were specified only by a constant.
+
+The alias_code function exists for backward compatibility. It has been
+replaced by rename_country_code. The alias_code function will be
+removed some time after September, 2013.
+
+All work is now done in the central module (Locale::Codes). Previously,
+some was still done in the wrapper modules (Locale::Codes::*). Added
+Language Family codes (langfam) as defined in ISO 639-5.
+
+=item *
+
+L<Math::BigFloat> has been upgraded from version 1.993 to 1.997.
+
+The C<numify> method has been corrected to return a normalized Perl number
+(the result of C<0 + $thing>), instead of a string [rt.cpan.org #66732].
+
+=item *
+
+L<Math::BigInt> has been upgraded from version 1.994 to 1.998.
+
+It provides a new C<bsgn> method that complements the C<babs> method.
+
+It fixes the internal C<objectify> function's handling of "foreign objects"
+so they are converted to the appropriate class (Math::BigInt or
+Math::BigFloat).
+
+=item *
+
+L<Math::BigRat> has been upgraded from version 0.2602 to 0.2603.
+
+C<int()> on a Math::BigRat object containing -1/2 now creates a
+Math::BigInt containing 0, rather than -0. L<Math::BigInt> does not even
+support negative zero, so the resulting object was actually malformed
+[perl #95530].
+
+=item *
+
+L<Math::Complex> has been upgraded from version 1.56 to 1.59
+and L<Math::Trig> from version 1.2 to 1.22.
+
+Fixes include: correct copy constructor usage; fix polarwise formatting with
+numeric format specifier; and more stable C<great_circle_direction> algorithm.
+
+=item *
+
+L<Module::CoreList> has been upgraded from version 2.51 to 2.66.
+
+The C<corelist> utility now understands the C<-r> option for displaying
+Perl release dates and the C<--diff> option to print the set of modlib
+changes between two perl distributions.
+
+=item *
+
+L<Module::Metadata> has been upgraded from version 1.000004 to 1.000009.
+
+Adds C<provides> method to generate a CPAN META provides data structure
+correctly; use of C<package_versions_from_directory> is discouraged.
+
+=item *
+
+L<ODBM_File> has been upgraded from version 1.10 to 1.12.
+
+The XS code is now compiled with C<PERL_NO_GET_CONTEXT>, which will aid
+performance under ithreads.
+
+=item *
+
+L<open> has been upgraded from version 1.08 to 1.10.
+
+It no longer turns off layers on standard handles when invoked without the
+":std" directive. Similarly, when invoked I<with> the ":std" directive, it
+now clears layers on STDERR before applying the new ones, and not just on
+STDIN and STDOUT [perl #92728].
+
+=item *
+
+L<overload> has been upgraded from version 1.13 to 1.18.
+
+C<overload::Overloaded> no longer calls C<can> on the class, but uses
+another means to determine whether the object has overloading. It was
+never correct for it to call C<can>, as overloading does not respect
+AUTOLOAD. So classes that autoload methods and implement C<can> no longer
+have to account for overloading [perl #40333].
+
+A warning is now produced for invalid arguments. See L</New Diagnostics>.
+
+=item *
+
+L<PerlIO::scalar> has been upgraded from version 0.11 to 0.14.
+
+(This is the module that implements C<< open $fh, '>', \$scalar >>.)
+
+It fixes a problem with C<< open my $fh, ">", \$scalar >> not working if
+C<$scalar> is a copy-on-write scalar. (5.14.2)
+
+It also fixes a hang that occurs with C<readline> or C<< <$fh> >> if a
+typeglob has been assigned to $scalar [perl #92258].
+
+It no longer assumes during C<seek> that $scalar is a string internally.
+If it didn't crash, it was close to doing so [perl #92706]. Also, the
+internal print routine no longer assumes that the position set by C<seek>
+is valid, but extends the string to that position, filling the intervening
+bytes (between the old length and the seek position) with nulls
+[perl #78980].
+
+Printing to an in-memory handle now works if the $scalar holds a reference,
+stringifying the reference before modifying it. References used to be
+treated as empty strings.
+
+Printing to an in-memory handle no longer crashes if the $scalar happens to
+hold a number internally, but no string buffer.
+
+Printing to an in-memory handle no longer creates scalars that confuse
+the regular expression engine [perl #108398].
+
+=item *
+
+L<Pod::Functions> has been upgraded from version 1.04 to 1.05.
+
+F<Functions.pm> is now generated at perl build time from annotations in
+F<perlfunc.pod>. This will ensure that L<Pod::Functions> and L<perlfunc>
+remain in synchronisation.
+
+=item *
+
+L<Pod::Html> has been upgraded from version 1.11 to 1.1502.
+
+This is an extensive rewrite of Pod::Html to use L<Pod::Simple> under
+the hood. The output has changed significantly.
+
+=item *
+
+L<Pod::Perldoc> has been upgraded from version 3.15_03 to 3.17.
+
+It corrects the search paths on VMS [perl #90640]. (5.14.1)
+
+The B<-v> option now fetches the right section for C<$0>.
+
+This upgrade has numerous significant fixes. Consult its changelog on
+the CPAN for more information.
+
+=item *
+
+L<POSIX> has been upgraded from version 1.24 to 1.30.
+
+L<POSIX> no longer uses L<AutoLoader>. Any code which was relying on this
+implementation detail was buggy, and may fail because of this change.
+The module's Perl code has been considerably simplified, roughly halving
+the number of lines, with no change in functionality. The XS code has
+been refactored to reduce the size of the shared object by about 12%,
+with no change in functionality. More POSIX functions now have tests.
+
+C<sigsuspend> and C<pause> now run signal handlers before returning, as the
+whole point of these two functions is to wait until a signal has
+arrived, and then return I<after> it has been triggered. Delayed, or
+"safe", signals were preventing that from happening, possibly resulting in
+race conditions [perl #107216].
+
+C<POSIX::sleep> is now a direct call into the underlying OS C<sleep>
+function, instead of being a Perl wrapper on C<CORE::sleep>.
+C<POSIX::dup2> now returns the correct value on Win32 (I<i.e.>, the file
+descriptor). C<POSIX::SigSet> C<sigsuspend> and C<sigpending> and
+C<POSIX::pause> now dispatch safe signals immediately before returning to
+their caller.
+
+C<POSIX::Termios::setattr> now defaults the third argument to C<TCSANOW>,
+instead of 0. On most platforms C<TCSANOW> is defined to be 0, but on some
+0 is not a valid parameter, which caused a call with defaults to fail.
+
+=item *
+
+L<Socket> has been upgraded from version 1.94 to 2.001.
+
+It has new functions and constants for handling IPv6 sockets:
+
+ pack_ipv6_mreq
+ unpack_ipv6_mreq
+ IPV6_ADD_MEMBERSHIP
+ IPV6_DROP_MEMBERSHIP
+ IPV6_MTU
+ IPV6_MTU_DISCOVER
+ IPV6_MULTICAST_HOPS
+ IPV6_MULTICAST_IF
+ IPV6_MULTICAST_LOOP
+ IPV6_UNICAST_HOPS
+ IPV6_V6ONLY
+
+=item *
+
+L<Storable> has been upgraded from version 2.27 to 2.34.
+
+It no longer turns copy-on-write scalars into read-only scalars when
+freezing and thawing.
+
+=item *
+
+L<Sys::Syslog> has been upgraded from version 0.27 to 0.29.
+
+This upgrade closes many outstanding bugs.
+
+=item *
+
+L<Term::ANSIColor> has been upgraded from version 3.00 to 3.01.
+
+Only interpret an initial array reference as a list of colors, not any initial
+reference, allowing the colored function to work properly on objects with
+stringification defined.
+
+=item *
+
+L<Term::ReadLine> has been upgraded from version 1.07 to 1.09.
+
+Term::ReadLine now supports any event loop, including unpublished ones and
+simple L<IO::Select>, loops without the need to rewrite existing code for
+any particular framework [perl #108470].
+
+=item *
+
+L<threads::shared> has been upgraded from version 1.37 to 1.40.
+
+Destructors on shared objects used to be ignored sometimes if the objects
+were referenced only by shared data structures. This has been mostly
+fixed, but destructors may still be ignored if the objects still exist at
+global destruction time [perl #98204].
+
+=item *
+
+L<Unicode::Collate> has been upgraded from version 0.73 to 0.89.
+
+Updated to CLDR 1.9.1
+
+Locales updated to CLDR 2.0: mk, mt, nb, nn, ro, ru, sk, sr, sv, uk,
+zh__pinyin, zh__stroke
+
+Newly supported locales: bn, fa, ml, mr, or, pa, sa, si, si__dictionary,
+sr_Latn, sv__reformed, ta, te, th, ur, wae.
+
+Tailored compatibility ideographs as well as unified ideographs for the
+locales: ja, ko, zh__big5han, zh__gb2312han, zh__pinyin, zh__stroke.
+
+Locale/*.pl files are now searched for in @INC.
+
+=item *
+
+L<Unicode::Normalize> has been upgraded from version 1.10 to 1.14.
+
+Fixes for the removal of F<unicore/CompositionExclusions.txt> from core.
+
+=item *
+
+L<Unicode::UCD> has been upgraded from version 0.32 to 0.43.
+
+This adds four new functions: C<prop_aliases()> and
+C<prop_value_aliases()>, which are used to find all Unicode-approved
+synonyms for property names, or to convert from one name to another;
+C<prop_invlist> which returns all code points matching a given
+Unicode binary property; and C<prop_invmap> which returns the complete
+specification of a given Unicode property.
+
+=item *
+
+L<Win32API::File> has been upgraded from version 0.1101 to 0.1200.
+
+Added SetStdHandle and GetStdHandle functions
+
+=back
+
+=head2 Removed Modules and Pragmata
+
+As promised in Perl 5.14.0's release notes, the following modules have
+been removed from the core distribution, and if needed should be installed
+from CPAN instead.
+
+=over
+
+=item *
+
+L<Devel::DProf> has been removed from the Perl core. Prior version was
+20110228.00.
+
+=item *
+
+L<Shell> has been removed from the Perl core. Prior version was 0.72_01.
+
+=item *
+
+Several old perl4-style libraries which have been deprecated with 5.14
+are now removed:
+
+ abbrev.pl assert.pl bigfloat.pl bigint.pl bigrat.pl cacheout.pl
+ complete.pl ctime.pl dotsh.pl exceptions.pl fastcwd.pl flush.pl
+ getcwd.pl getopt.pl getopts.pl hostname.pl importenv.pl
+ lib/find{,depth}.pl look.pl newgetopt.pl open2.pl open3.pl
+ pwd.pl shellwords.pl stat.pl tainted.pl termcap.pl timelocal.pl
+
+They can be found on CPAN as L<Perl4::CoreLibs>.
+
+=back
+
+=head1 Documentation
+
+=head2 New Documentation
+
+=head3 L<perldtrace>
+
+L<perldtrace> describes Perl's DTrace support, listing the provided probes
+and gives examples of their use.
+
+=head3 L<perlexperiment>
+
+This document is intended to provide a list of experimental features in
+Perl. It is still a work in progress.
+
+=head3 L<perlootut>
+
+This a new OO tutorial. It focuses on basic OO concepts, and then recommends
+that readers choose an OO framework from CPAN.
+
+=head3 L<perlxstypemap>
+
+The new manual describes the XS typemapping mechanism in unprecedented
+detail and combines new documentation with information extracted from
+L<perlxs> and the previously unofficial list of all core typemaps.
+
+=head2 Changes to Existing Documentation
+
+=head3 L<perlapi>
+
+=over 4
+
+=item *
+
+The HV API has long accepted negative lengths to show that the key is
+in UTF8. This is now documented.
+
+=item *
+
+The C<boolSV()> macro is now documented.
+
+=back
+
+=head3 L<perlfunc>
+
+=over 4
+
+=item *
+
+C<dbmopen> treats a 0 mode as a special case, that prevents a nonexistent
+file from being created. This has been the case since Perl 5.000, but was
+never documented anywhere. Now the perlfunc entry mentions it
+[perl #90064].
+
+=item *
+
+As an accident of history, C<open $fh, '<:', ...> applies the default
+layers for the platform (C<:raw> on Unix, C<:crlf> on Windows), ignoring
+whatever is declared by L<open.pm|open>. This seems such a useful feature
+it has been documented in L<perlfunc|perlfunc/open> and L<open>.
+
+=item *
+
+The entry for C<split> has been rewritten. It is now far clearer than
+before.
+
+=back
+
+=head3 L<perlguts>
+
+=over 4
+
+=item *
+
+A new section, L<Autoloading with XSUBs|perlguts/Autoloading with XSUBs>,
+has been added, which explains the two APIs for accessing the name of the
+autoloaded sub.
+
+=item *
+
+Some function descriptions in L<perlguts> were confusing, as it was
+not clear whether they referred to the function above or below the
+description. This has been clarified [perl #91790].
+
+=back
+
+=head3 L<perlobj>
+
+=over 4
+
+=item *
+
+This document has been rewritten from scratch, and its coverage of various OO
+concepts has been expanded.
+
+=back
+
+=head3 L<perlop>
+
+=over 4
+
+=item *
+
+Documentation of the smartmatch operator has been reworked and moved from
+perlsyn to perlop where it belongs.
+
+It has also been corrected for the case of C<undef> on the left-hand
+side. The list of different smart match behaviors had an item in the
+wrong place.
+
+=item *
+
+Documentation of the ellipsis statement (C<...>) has been reworked and
+moved from perlop to perlsyn.
+
+=item *
+
+The explanation of bitwise operators has been expanded to explain how they
+work on Unicode strings (5.14.1).
+
+=item *
+
+More examples for C<m//g> have been added (5.14.1).
+
+=item *
+
+The C<<< <<\FOO >>> here-doc syntax has been documented (5.14.1).
+
+=back
+
+=head3 L<perlpragma>
+
+=over 4
+
+=item *
+
+There is now a standard convention for naming keys in the C<%^H>,
+documented under L<Key naming|perlpragma/Key naming>.
+
+=back
+
+=head3 L<perlsec/Laundering and Detecting Tainted Data>
+
+=over 4
+
+=item *
+
+The example function for checking for taintedness contained a subtle
+error. C<$@> needs to be localized to prevent its changing this
+global's value outside the function. The preferred method to check for
+this remains L<Scalar::Util/tainted>.
+
+=back
+
+=head3 L<perllol>
+
+=over
+
+=item *
+
+L<perllol> has been expanded with examples using the new C<push $scalar>
+syntax introduced in Perl 5.14.0 (5.14.1).
+
+=back
+
+=head3 L<perlmod>
+
+=over
+
+=item *
+
+L<perlmod> now states explicitly that some types of explicit symbol table
+manipulation are not supported. This codifies what was effectively already
+the case [perl #78074].
+
+=back
+
+=head3 L<perlpodstyle>
+
+=over 4
+
+=item *
+
+The tips on which formatting codes to use have been corrected and greatly
+expanded.
+
+=item *
+
+There are now a couple of example one-liners for previewing POD files after
+they have been edited.
+
+=back
+
+=head3 L<perlre>
+
+=over
+
+=item *
+
+The C<(*COMMIT)> directive is now listed in the right section
+(L<Verbs without an argument|perlre/Verbs without an argument>).
+
+=back
+
+=head3 L<perlrun>
+
+=over
+
+=item *
+
+L<perlrun> has undergone a significant clean-up. Most notably, the
+B<-0x...> form of the B<-0> flag has been clarified, and the final section
+on environment variables has been corrected and expanded (5.14.1).
+
+=back
+
+=head3 L<perlsub>
+
+=over
+
+=item *
+
+The ($;) prototype syntax, which has existed for rather a long time, is now
+documented in L<perlsub>. It lets a unary function have the same
+precedence as a list operator.
+
+=back
+
+=head3 L<perltie>
+
+=over
+
+=item *
+
+The required syntax for tying handles has been documented.
+
+=back
+
+=head3 L<perlvar>
+
+=over
+
+=item *
+
+The documentation for L<$!|perlvar/$!> has been corrected and clarified.
+It used to state that $! could be C<undef>, which is not the case. It was
+also unclear whether system calls set C's C<errno> or Perl's C<$!>
+[perl #91614].
+
+=item *
+
+Documentation for L<$$|perlvar/$$> has been amended with additional
+cautions regarding changing the process ID.
+
+=back
+
+=head3 Other Changes
+
+=over 4
+
+=item *
+
+L<perlxs> was extended with documentation on inline typemaps.
+
+=item *
+
+L<perlref> has a new L<Circular References|perlref/Circular References>
+section explaining how circularities may not be freed and how to solve that
+with weak references.
+
+=item *
+
+Parts of L<perlapi> were clarified, and Perl equivalents of some C
+functions have been added as an additional mode of exposition.
+
+=item *
+
+A few parts of L<perlre> and L<perlrecharclass> were clarified.
+
+=back
+
+=head2 Removed Documentation
+
+=head3 Old OO Documentation
+
+The old OO tutorials, perltoot, perltooc, and perlboot, have been
+removed. The perlbot (bag of object tricks) document has been removed
+as well.
+
+=head3 Development Deltas
+
+The perldelta files for development releases are no longer packaged with
+perl. These can still be found in the perl source code repository.
+
+=head1 Diagnostics
+
+The following additions or changes have been made to diagnostic output,
+including warnings and fatal error messages. For the complete list of
+diagnostic messages, see L<perldiag>.
+
+=head2 New Diagnostics
+
+=head3 New Errors
+
+=over 4
+
+=item *
+
+L<Cannot set tied @DB::args|perldiag/"Cannot set tied @DB::args">
+
+This error occurs when C<caller> tries to set C<@DB::args> but finds it
+tied. Before this error was added, it used to crash instead.
+
+=item *
+
+L<Cannot tie unreifiable array|perldiag/"Cannot tie unreifiable array">
+
+This error is part of a safety check that the C<tie> operator does before
+tying a special array like C<@_>. You should never see this message.
+
+=item *
+
+L<&CORE::%s cannot be called directly|perldiag/"&CORE::%s cannot be called directly">
+
+This occurs when a subroutine in the C<CORE::> namespace is called
+with C<&foo> syntax or through a reference. Some subroutines
+in this package cannot yet be called that way, but must be
+called as barewords. See L</Subroutines in the C<CORE> namespace>, above.
+
+=item *
+
+L<Source filters apply only to byte streams|perldiag/"Source filters apply only to byte streams">
+
+This new error occurs when you try to activate a source filter (usually by
+loading a source filter module) within a string passed to C<eval> under the
+C<unicode_eval> feature.
+
+=back
+
+=head3 New Warnings
+
+=over 4
+
+=item *
+
+L<defined(@array) is deprecated|perldiag/"defined(@array) is deprecated">
+
+The long-deprecated C<defined(@array)> now also warns for package variables.
+Previously it issued a warning for lexical variables only.
+
+=item *
+
+L<length() used on %s|perldiag/length() used on %s>
+
+This new warning occurs when C<length> is used on an array or hash, instead
+of C<scalar(@array)> or C<scalar(keys %hash)>.
+
+=item *
+
+L<lvalue attribute %s already-defined subroutine|perldiag/"lvalue attribute %s already-defined subroutine">
+
+L<attributes.pm|attributes> now emits this warning when the :lvalue
+attribute is applied to a Perl subroutine that has already been defined, as
+doing so can have unexpected side-effects.
+
+=item *
+
+L<overload arg '%s' is invalid|perldiag/"overload arg '%s' is invalid">
+
+This warning, in the "overload" category, is produced when the overload
+pragma is given an argument it doesn't recognize, presumably a mistyped
+operator.
+
+=item *
+
+L<$[ used in %s (did you mean $] ?)|perldiag/"$[ used in %s (did you mean $] ?)">
+
+This new warning exists to catch the mistaken use of C<$[> in version
+checks. C<$]>, not C<$[>, contains the version number.
+
+=item *
+
+L<Useless assignment to a temporary|perldiag/"Useless assignment to a temporary">
+
+Assigning to a temporary scalar returned
+from an lvalue subroutine now produces this
+warning [perl #31946].
+
+=item *
+
+L<Useless use of \E|perldiag/"Useless use of \E">
+
+C<\E> does nothing unless preceded by C<\Q>, C<\L> or C<\U>.
+
+=back
+
+=head2 Removed Errors
+
+=over
+
+=item *
+
+"sort is now a reserved word"
+
+This error used to occur when C<sort> was called without arguments,
+followed by C<;> or C<)>. (E.g., C<sort;> would die, but C<{sort}> was
+OK.) This error message was added in Perl 3 to catch code like
+C<close(sort)> which would no longer work. More than two decades later,
+this message is no longer appropriate. Now C<sort> without arguments is
+always allowed, and returns an empty list, as it did in those cases
+where it was already allowed [perl #90030].
+
+=back
+
+=head2 Changes to Existing Diagnostics
+
+=over 4
+
+=item *
+
+The "Applying pattern match..." or similar warning produced when an
+array or hash is on the left-hand side of the C<=~> operator now
+mentions the name of the variable.
+
+=item *
+
+The "Attempt to free non-existent shared string" has had the spelling
+of "non-existent" corrected to "nonexistent". It was already listed
+with the correct spelling in L<perldiag>.
+
+=item *
+
+The error messages for using C<default> and C<when> outside a
+topicalizer have been standardized to match the messages for C<continue>
+and loop controls. They now read 'Can't "default" outside a
+topicalizer' and 'Can't "when" outside a topicalizer'. They both used
+to be 'Can't use when() outside a topicalizer' [perl #91514].
+
+=item *
+
+The message, "Code point 0x%X is not Unicode, no properties match it;
+all inverse properties do" has been changed to "Code point 0x%X is not
+Unicode, all \p{} matches fail; all \P{} matches succeed".
+
+=item *
+
+Redefinition warnings for constant subroutines used to be mandatory,
+even occurring under C<no warnings>. Now they respect the L<warnings>
+pragma.
+
+=item *
+
+The "glob failed" warning message is now suppressible via C<no warnings>
+[perl #111656].
+
+=item *
+
+The L<Invalid version format|perldiag/"Invalid version format (%s)">
+error message now says "negative version number" within the parentheses,
+rather than "non-numeric data", for negative numbers.
+
+=item *
+
+The two warnings
+L<Possible attempt to put comments in qw() list|perldiag/"Possible attempt to put comments in qw() list">
+and
+L<Possible attempt to separate words with commas|perldiag/"Possible attempt to separate words with commas">
+are no longer mutually exclusive: the same C<qw> construct may produce
+both.
+
+=item *
+
+The uninitialized warning for C<y///r> when C<$_> is implicit and
+undefined now mentions the variable name, just like the non-/r variation
+of the operator.
+
+=item *
+
+The 'Use of "foo" without parentheses is ambiguous' warning has been
+extended to apply also to user-defined subroutines with a (;$)
+prototype, and not just to built-in functions.
+
+=item *
+
+Warnings that mention the names of lexical (C<my>) variables with
+Unicode characters in them now respect the presence or absence of the
+C<:utf8> layer on the output handle, instead of outputting UTF8
+regardless. Also, the correct names are included in the strings passed
+to C<$SIG{__WARN__}> handlers, rather than the raw UTF8 bytes.
+
+=back
+
+=head1 Utility Changes
+
+=head3 L<h2ph>
+
+=over 4
+
+=item *
+
+L<h2ph> used to generate code of the form
+
+ unless(defined(&FOO)) {
+ sub FOO () {42;}
+ }
+
+But the subroutine is a compile-time declaration, and is hence unaffected
+by the condition. It has now been corrected to emit a string C<eval>
+around the subroutine [perl #99368].
+
+=back
+
+=head3 L<splain>
+
+=over 4
+
+=item *
+
+F<splain> no longer emits backtraces with the first line number repeated.
+
+This:
+
+ Uncaught exception from user code:
+ Cannot fwiddle the fwuddle at -e line 1.
+ at -e line 1
+ main::baz() called at -e line 1
+ main::bar() called at -e line 1
+ main::foo() called at -e line 1
+
+has become this:
+
+ Uncaught exception from user code:
+ Cannot fwiddle the fwuddle at -e line 1.
+ main::baz() called at -e line 1
+ main::bar() called at -e line 1
+ main::foo() called at -e line 1
+
+=item *
+
+Some error messages consist of multiple lines that are listed as separate
+entries in L<perldiag>. splain has been taught to find the separate
+entries in these cases, instead of simply failing to find the message.
+
+=back
+
+=head3 L<zipdetails>
+
+=over 4
+
+=item *
+
+This is a new utility, included as part of an
+L<IO::Compress::Base> upgrade.
+
+L<zipdetails> displays information about the internal record structure
+of the zip file. It is not concerned with displaying any details of
+the compressed data stored in the zip file.
+
+=back
+
+=head1 Configuration and Compilation
+
+=over 4
+
+=item *
+
+F<regexp.h> has been modified for compatibility with GCC's B<-Werror>
+option, as used by some projects that include perl's header files (5.14.1).
+
+=item *
+
+C<USE_LOCALE{,_COLLATE,_CTYPE,_NUMERIC}> have been added the output of perl -V
+as they have affect the behavior of the interpreter binary (albeit
+in only a small area).
+
+=item *
+
+The code and tests for L<IPC::Open2> have been moved from F<ext/IPC-Open2>
+into F<ext/IPC-Open3>, as C<IPC::Open2::open2()> is implemented as a thin
+wrapper around C<IPC::Open3::_open3()>, and hence is very tightly coupled to
+it.
+
+=item *
+
+The magic types and magic vtables are now generated from data in a new script
+F<regen/mg_vtable.pl>, instead of being maintained by hand. As different
+EBCDIC variants can't agree on the code point for '~', the character to code
+point conversion is done at build time by F<generate_uudmap> to a new generated
+header F<mg_data.h>. C<PL_vtbl_bm> and C<PL_vtbl_fm> are now defined by the
+pre-processor as C<PL_vtbl_regexp>, instead of being distinct C variables.
+C<PL_vtbl_sig> has been removed.
+
+=item *
+
+Building with C<-DPERL_GLOBAL_STRUCT> works again. This configuration is not
+generally used.
+
+=item *
+
+Perl configured with I<MAD> now correctly frees C<MADPROP> structures when
+OPs are freed. C<MADPROP>s are now allocated with C<PerlMemShared_malloc()>
+
+=item *
+
+F<makedef.pl> has been refactored. This should have no noticeable affect on
+any of the platforms that use it as part of their build (AIX, VMS, Win32).
+
+=item *
+
+C<useperlio> can no longer be disabled.
+
+=item *
+
+The file F<global.sym> is no longer needed, and has been removed. It
+contained a list of all exported functions, one of the files generated by
+F<regen/embed.pl> from data in F<embed.fnc> and F<regen/opcodes>. The code
+has been refactored so that the only user of F<global.sym>, F<makedef.pl>,
+now reads F<embed.fnc> and F<regen/opcodes> directly, removing the need to
+store the list of exported functions in an intermediate file.
+
+As F<global.sym> was never installed, this change should not be visible
+outside the build process.
+
+=item *
+
+F<pod/buildtoc>, used by the build process to build L<perltoc>, has been
+refactored and simplified. It now contains only code to build L<perltoc>;
+the code to regenerate Makefiles has been moved to F<Porting/pod_rules.pl>.
+It's a bug if this change has any material effect on the build process.
+
+=item *
+
+F<pod/roffitall> is now built by F<pod/buildtoc>, instead of being
+shipped with the distribution. Its list of manpages is now generated
+(and therefore current). See also RT #103202 for an unresolved related
+issue.
+
+=item *
+
+The man page for C<XS::Typemap> is no longer installed. C<XS::Typemap>
+is a test module which is not installed, hence installing its
+documentation makes no sense.
+
+=item *
+
+The -Dusesitecustomize and -Duserelocatableinc options now work
+together properly.
+
+=back
+
+=head1 Platform Support
+
+=head2 Platform-Specific Notes
+
+=head3 Cygwin
+
+=over 4
+
+=item *
+
+Since version 1.7, Cygwin supports native UTF-8 paths. If Perl is built
+under that environment, directory and filenames will be UTF-8 encoded.
+
+=item *
+
+Cygwin does not initialize all original Win32 environment variables. See
+F<README.cygwin> for a discussion of the newly-added
+C<Cygwin::sync_winenv()> function [perl #110190] and for
+further links.
+
+=back
+
+=head3 HP-UX
+
+=over 4
+
+=item *
+
+HP-UX PA-RISC/64 now supports gcc-4.x
+
+A fix to correct the socketsize now makes the test suite pass on HP-UX
+PA-RISC for 64bitall builds. (5.14.2)
+
+=back
+
+=head3 VMS
+
+=over 4
+
+=item *
+
+Remove unnecessary includes, fix miscellaneous compiler warnings and
+close some unclosed comments on F<vms/vms.c>.
+
+=item *
+
+Remove sockadapt layer from the VMS build.
+
+=item *
+
+Explicit support for VMS versions before v7.0 and DEC C versions
+before v6.0 has been removed.
+
+=item *
+
+Since Perl 5.10.1, the home-grown C<stat> wrapper has been unable to
+distinguish between a directory name containing an underscore and an
+otherwise-identical filename containing a dot in the same position
+(e.g., t/test_pl as a directory and t/test.pl as a file). This problem
+has been corrected.
+
+=item *
+
+The build on VMS now permits names of the resulting symbols in C code for
+Perl longer than 31 characters. Symbols like
+C<Perl__it_was_the_best_of_times_it_was_the_worst_of_times> can now be
+created freely without causing the VMS linker to seize up.
+
+=back
+
+=head3 GNU/Hurd
+
+=over 4
+
+=item *
+
+Numerous build and test failures on GNU/Hurd have been resolved with hints
+for building DBM modules, detection of the library search path, and enabling
+of large file support.
+
+=back
+
+=head3 OpenVOS
+
+=over 4
+
+=item *
+
+Perl is now built with dynamic linking on OpenVOS, the minimum supported
+version of which is now Release 17.1.0.
+
+=back
+
+=head3 SunOS
+
+The CC workshop C++ compiler is now detected and used on systems that ship
+without cc.
+
+=head1 Internal Changes
+
+=over 4
+
+=item *
+
+The compiled representation of formats is now stored via the C<mg_ptr> of
+their C<PERL_MAGIC_fm>. Previously it was stored in the string buffer,
+beyond C<SvLEN()>, the regular end of the string. C<SvCOMPILED()> and
+C<SvCOMPILED_{on,off}()> now exist solely for compatibility for XS code.
+The first is always 0, the other two now no-ops. (5.14.1)
+
+=item *
+
+Some global variables have been marked C<const>, members in the interpreter
+structure have been re-ordered, and the opcodes have been re-ordered. The
+op C<OP_AELEMFAST> has been split into C<OP_AELEMFAST> and C<OP_AELEMFAST_LEX>.
+
+=item *
+
+When empting a hash of its elements (e.g., via undef(%h), or %h=()), HvARRAY
+field is no longer temporarily zeroed. Any destructors called on the freed
+elements see the remaining elements. Thus, %h=() becomes more like
+C<delete $h{$_} for keys %h>.
+
+=item *
+
+Boyer-Moore compiled scalars are now PVMGs, and the Boyer-Moore tables are now
+stored via the mg_ptr of their C<PERL_MAGIC_bm>.
+Previously they were PVGVs, with the tables stored in
+the string buffer, beyond C<SvLEN()>. This eliminates
+the last place where the core stores data beyond C<SvLEN()>.
+
+=item *
+
+Simplified logic in C<Perl_sv_magic()> introduces a small change of
+behavior for error cases involving unknown magic types. Previously, if
+C<Perl_sv_magic()> was passed a magic type unknown to it, it would
+
+=over
+
+=item 1.
+
+Croak "Modification of a read-only value attempted" if read only
+
+=item 2.
+
+Return without error if the SV happened to already have this magic
+
+=item 3.
+
+otherwise croak "Don't know how to handle magic of type \\%o"
+
+=back
+
+Now it will always croak "Don't know how to handle magic of type \\%o", even
+on read-only values, or SVs which already have the unknown magic type.
+
+=item *
+
+The experimental C<fetch_cop_label> function has been renamed to
+C<cop_fetch_label>.
+
+=item *
+
+The C<cop_store_label> function has been added to the API, but is
+experimental.
+
+=item *
+
+F<embedvar.h> has been simplified, and one level of macro indirection for
+PL_* variables has been removed for the default (non-multiplicity)
+configuration. PERLVAR*() macros now directly expand their arguments to
+tokens such as C<PL_defgv>, instead of expanding to C<PL_Idefgv>, with
+F<embedvar.h> defining a macro to map C<PL_Idefgv> to C<PL_defgv>. XS code
+which has unwarranted chumminess with the implementation may need updating.
+
+=item *
+
+An API has been added to explicitly choose whether to export XSUB
+symbols. More detail can be found in the comments for commit e64345f8.
+
+=item *
+
+The C<is_gv_magical_sv> function has been eliminated and merged with
+C<gv_fetchpvn_flags>. It used to be called to determine whether a GV
+should be autovivified in rvalue context. Now it has been replaced with a
+new C<GV_ADDMG> flag (not part of the API).
+
+=item *
+
+The returned code point from the function C<utf8n_to_uvuni()>
+when the input is malformed UTF-8, malformations are allowed, and
+C<utf8> warnings are off is now the Unicode REPLACEMENT CHARACTER
+whenever the malformation is such that no well-defined code point can be
+computed. Previously the returned value was essentially garbage. The
+only malformations that have well-defined values are a zero-length
+string (0 is the return), and overlong UTF-8 sequences.
+
+=item *
+
+Padlists are now marked C<AvREAL>; i.e., reference-counted. They have
+always been reference-counted, but were not marked real, because F<pad.c>
+did its own clean-up, instead of using the usual clean-up code in F<sv.c>.
+That caused problems in thread cloning, so now the C<AvREAL> flag is on,
+but is turned off in F<pad.c> right before the padlist is freed (after
+F<pad.c> has done its custom freeing of the pads).
+
+=item *
+
+All C files that make up the Perl core have been converted to UTF-8.
+
+=item *
+
+These new functions have been added as part of the work on Unicode symbols:
+
+ HvNAMELEN
+ HvNAMEUTF8
+ HvENAMELEN
+ HvENAMEUTF8
+ gv_init_pv
+ gv_init_pvn
+ gv_init_pvsv
+ gv_fetchmeth_pv
+ gv_fetchmeth_pvn
+ gv_fetchmeth_sv
+ gv_fetchmeth_pv_autoload
+ gv_fetchmeth_pvn_autoload
+ gv_fetchmeth_sv_autoload
+ gv_fetchmethod_pv_flags
+ gv_fetchmethod_pvn_flags
+ gv_fetchmethod_sv_flags
+ gv_autoload_pv
+ gv_autoload_pvn
+ gv_autoload_sv
+ newGVgen_flags
+ sv_derived_from_pv
+ sv_derived_from_pvn
+ sv_derived_from_sv
+ sv_does_pv
+ sv_does_pvn
+ sv_does_sv
+ whichsig_pv
+ whichsig_pvn
+ whichsig_sv
+ newCONSTSUB_flags
+
+The gv_fetchmethod_*_flags functions, like gv_fetchmethod_flags, are
+experimental and may change in a future release.
+
+=item *
+
+The following functions were added. These are I<not> part of the API:
+
+ GvNAMEUTF8
+ GvENAMELEN
+ GvENAME_HEK
+ CopSTASH_flags
+ CopSTASH_flags_set
+ PmopSTASH_flags
+ PmopSTASH_flags_set
+ sv_sethek
+ HEKfARG
+
+There is also a C<HEKf> macro corresponding to C<SVf>, for
+interpolating HEKs in formatted strings.
+
+=item *
+
+C<sv_catpvn_flags> takes a couple of new internal-only flags,
+C<SV_CATBYTES> and C<SV_CATUTF8>, which tell it whether the char array to
+be concatenated is UTF8. This allows for more efficient concatenation than
+creating temporary SVs to pass to C<sv_catsv>.
+
+=item *
+
+For XS AUTOLOAD subs, $AUTOLOAD is set once more, as it was in 5.6.0. This
+is in addition to setting C<SvPVX(cv)>, for compatibility with 5.8 to 5.14.
+See L<perlguts/Autoloading with XSUBs>.
+
+=item *
+
+Perl now checks whether the array (the linearized isa) returned by a MRO
+plugin begins with the name of the class itself, for which the array was
+created, instead of assuming that it does. This prevents the first element
+from being skipped during method lookup. It also means that
+C<mro::get_linear_isa> may return an array with one more element than the
+MRO plugin provided [perl #94306].
+
+=item *
+
+C<PL_curstash> is now reference-counted.
+
+=item *
+
+There are now feature bundle hints in C<PL_hints> (C<$^H>) that version
+declarations use, to avoid having to load F<feature.pm>. One setting of
+the hint bits indicates a "custom" feature bundle, which means that the
+entries in C<%^H> still apply. F<feature.pm> uses that.
+
+The C<HINT_FEATURE_MASK> macro is defined in F<perl.h> along with other
+hints. Other macros for setting and testing features and bundles are in
+the new F<feature.h>. C<FEATURE_IS_ENABLED> (which has moved to
+F<feature.h>) is no longer used throughout the codebase, but more specific
+macros, e.g., C<FEATURE_SAY_IS_ENABLED>, that are defined in F<feature.h>.
+
+=item *
+
+F<lib/feature.pm> is now a generated file, created by the new
+F<regen/feature.pl> script, which also generates F<feature.h>.
+
+=item *
+
+Tied arrays are now always C<AvREAL>. If C<@_> or C<DB::args> is tied, it
+is reified first, to make sure this is always the case.
+
+=item *
+
+Two new functions C<utf8_to_uvchr_buf()> and C<utf8_to_uvuni_buf()> have
+been added. These are the same as C<utf8_to_uvchr> and
+C<utf8_to_uvuni> (which are now deprecated), but take an extra parameter
+that is used to guard against reading beyond the end of the input
+string.
+See L<perlapi/utf8_to_uvchr_buf> and L<perlapi/utf8_to_uvuni_buf>.
+
+=item *
+
+The regular expression engine now does TRIE case insensitive matches
+under Unicode. This may change the output of C<< use re 'debug'; >>,
+and will speed up various things.
+
+=item *
+
+There is a new C<wrap_op_checker()> function, which provides a thread-safe
+alternative to writing to C<PL_check> directly.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=head2 Array and hash
+
+=over
+
+=item *
+
+A bug has been fixed that would cause a "Use of freed value in iteration"
+error if the next two hash elements that would be iterated over are
+deleted [perl #85026]. (5.14.1)
+
+=item *
+
+Deleting the current hash iterator (the hash element that would be returned
+by the next call to C<each>) in void context used not to free it
+[perl #85026].
+
+=item *
+
+Deletion of methods via C<delete $Class::{method}> syntax used to update
+method caches if called in void context, but not scalar or list context.
+
+=item *
+
+When hash elements are deleted in void context, the internal hash entry is
+now freed before the value is freed, to prevent destructors called by that
+latter freeing from seeing the hash in an inconsistent state. It was
+possible to cause double-frees if the destructor freed the hash itself
+[perl #100340].
+
+=item *
+
+A C<keys> optimization in Perl 5.12.0 to make it faster on empty hashes
+caused C<each> not to reset the iterator if called after the last element
+was deleted.
+
+=item *
+
+Freeing deeply nested hashes no longer crashes [perl #44225].
+
+=item *
+
+It is possible from XS code to create hashes with elements that have no
+values. The hash element and slice operators used to crash
+when handling these in lvalue context. They now
+produce a "Modification of non-creatable hash value attempted" error
+message.
+
+=item *
+
+If list assignment to a hash or array triggered destructors that freed the
+hash or array itself, a crash would ensue. This is no longer the case
+[perl #107440].
+
+=item *
+
+It used to be possible to free the typeglob of a localized array or hash
+(e.g., C<local @{"x"}; delete $::{x}>), resulting in a crash on scope exit.
+
+=item *
+
+Some core bugs affecting L<Hash::Util> have been fixed: locking a hash
+element that is a glob copy no longer causes the next assignment to it to
+corrupt the glob (5.14.2), and unlocking a hash element that holds a
+copy-on-write scalar no longer causes modifications to that scalar to
+modify other scalars that were sharing the same string buffer.
+
+=back
+
+=head2 C API fixes
+
+=over
+
+=item *
+
+The C<newHVhv> XS function now works on tied hashes, instead of crashing or
+returning an empty hash.
+
+=item *
+
+The C<SvIsCOW> C macro now returns false for read-only copies of typeglobs,
+such as those created by:
+
+ $hash{elem} = *foo;
+ Hash::Util::lock_value %hash, 'elem';
+
+It used to return true.
+
+=item *
+
+The C<SvPVutf8> C function no longer tries to modify its argument,
+resulting in errors [perl #108994].
+
+=item *
+
+C<SvPVutf8> now works properly with magical variables.
+
+=item *
+
+C<SvPVbyte> now works properly non-PVs.
+
+=item *
+
+When presented with malformed UTF-8 input, the XS-callable functions
+C<is_utf8_string()>, C<is_utf8_string_loc()>, and
+C<is_utf8_string_loclen()> could read beyond the end of the input
+string by up to 12 bytes. This no longer happens. [perl #32080].
+However, currently, C<is_utf8_char()> still has this defect, see
+L</is_utf8_char()> above.
+
+=item *
+
+The C-level C<pregcomp> function could become confused about whether the
+pattern was in UTF8 if the pattern was an overloaded, tied, or otherwise
+magical scalar [perl #101940].
+
+=back
+
+=head2 Compile-time hints
+
+=over
+
+=item *
+
+Tying C<%^H> no longer causes perl to crash or ignore the contents of
+C<%^H> when entering a compilation scope [perl #106282].
+
+=item *
+
+C<eval $string> and C<require> used not to
+localize C<%^H> during compilation if it
+was empty at the time the C<eval> call itself was compiled. This could
+lead to scary side effects, like C<use re "/m"> enabling other flags that
+the surrounding code was trying to enable for its caller [perl #68750].
+
+=item *
+
+C<eval $string> and C<require> no longer localize hints (C<$^H> and C<%^H>)
+at run time, but only during compilation of the $string or required file.
+This makes C<BEGIN { $^H{foo}=7 }> equivalent to
+C<BEGIN { eval '$^H{foo}=7' }> [perl #70151].
+
+=item *
+
+Creating a BEGIN block from XS code (via C<newXS> or C<newATTRSUB>) would,
+on completion, make the hints of the current compiling code the current
+hints. This could cause warnings to occur in a non-warning scope.
+
+=back
+
+=head2 Copy-on-write scalars
+
+Copy-on-write or shared hash key scalars
+were introduced in 5.8.0, but most Perl code
+did not encounter them (they were used mostly internally). Perl
+5.10.0 extended them, such that assigning C<__PACKAGE__> or a
+hash key to a scalar would make it copy-on-write. Several parts
+of Perl were not updated to account for them, but have now been fixed.
+
+=over
+
+=item *
+
+C<utf8::decode> had a nasty bug that would modify copy-on-write scalars'
+string buffers in place (i.e., skipping the copy). This could result in
+hashes having two elements with the same key [perl #91834]. (5.14.2)
+
+=item *
+
+Lvalue subroutines were not allowing COW scalars to be returned. This was
+fixed for lvalue scalar context in Perl 5.12.3 and 5.14.0, but list context
+was not fixed until this release.
+
+=item *
+
+Elements of restricted hashes (see the L<fields> pragma) containing
+copy-on-write values couldn't be deleted, nor could such hashes be cleared
+(C<%hash = ()>). (5.14.2)
+
+=item *
+
+Localizing a tied variable used to make it read-only if it contained a
+copy-on-write string. (5.14.2)
+
+=item *
+
+Assigning a copy-on-write string to a stash
+element no longer causes a double free. Regardless of this change, the
+results of such assignments are still undefined.
+
+=item *
+
+Assigning a copy-on-write string to a tied variable no longer stops that
+variable from being tied if it happens to be a PVMG or PVLV internally.
+
+=item *
+
+Doing a substitution on a tied variable returning a copy-on-write
+scalar used to cause an assertion failure or an "Attempt to free
+nonexistent shared string" warning.
+
+=item *
+
+This one is a regression from 5.12: In 5.14.0, the bitwise assignment
+operators C<|=>, C<^=> and C<&=> started leaving the left-hand side
+undefined if it happened to be a copy-on-write string [perl #108480].
+
+=item *
+
+L<Storable>, L<Devel::Peek> and L<PerlIO::scalar> had similar problems.
+See L</Updated Modules and Pragmata>, above.
+
+=back
+
+=head2 The debugger
+
+=over
+
+=item *
+
+F<dumpvar.pl>, and therefore the C<x> command in the debugger, have been
+fixed to handle objects blessed into classes whose names contain "=". The
+contents of such objects used not to be dumped [perl #101814].
+
+=item *
+
+The "R" command for restarting a debugger session has been fixed to work on
+Windows, or any other system lacking a C<POSIX::_SC_OPEN_MAX> constant
+[perl #87740].
+
+=item *
+
+The C<#line 42 foo> directive used not to update the arrays of lines used
+by the debugger if it occurred in a string eval. This was partially fixed
+in 5.14, but it worked only for a single C<#line 42 foo> in each eval. Now
+it works for multiple.
+
+=item *
+
+When subroutine calls are intercepted by the debugger, the name of the
+subroutine or a reference to it is stored in C<$DB::sub>, for the debugger
+to access. Sometimes (such as C<$foo = *bar; undef *bar; &$foo>)
+C<$DB::sub> would be set to a name that could not be used to find the
+subroutine, and so the debugger's attempt to call it would fail. Now the
+check to see whether a reference is needed is more robust, so those
+problems should not happen anymore [rt.cpan.org #69862].
+
+=item *
+
+Every subroutine has a filename associated with it that the debugger uses.
+The one associated with constant subroutines used to be misallocated when
+cloned under threads. Consequently, debugging threaded applications could
+result in memory corruption [perl #96126].
+
+=back
+
+=head2 Dereferencing operators
+
+=over
+
+=item *
+
+C<defined(${"..."})>, C<defined(*{"..."})>, etc., used to
+return true for most, but not all built-in variables, if
+they had not been used yet. This bug affected C<${^GLOBAL_PHASE}> and
+C<${^UTF8CACHE}>, among others. It also used to return false if the
+package name was given as well (C<${"::!"}>) [perl #97978, #97492].
+
+=item *
+
+Perl 5.10.0 introduced a similar bug: C<defined(*{"foo"})> where "foo"
+represents the name of a built-in global variable used to return false if
+the variable had never been used before, but only on the I<first> call.
+This, too, has been fixed.
+
+=item *
+
+Since 5.6.0, C<*{ ... }> has been inconsistent in how it treats undefined
+values. It would die in strict mode or lvalue context for most undefined
+values, but would be treated as the empty string (with a warning) for the
+specific scalar return by C<undef()> (C<&PL_sv_undef> internally). This
+has been corrected. C<undef()> is now treated like other undefined
+scalars, as in Perl 5.005.
+
+=back
+
+=head2 Filehandle, last-accessed
+
+Perl has an internal variable that stores the last filehandle to be
+accessed. It is used by C<$.> and by C<tell> and C<eof> without
+arguments.
+
+=over
+
+=item *
+
+It used to be possible to set this internal variable to a glob copy and
+then modify that glob copy to be something other than a glob, and still
+have the last-accessed filehandle associated with the variable after
+assigning a glob to it again:
+
+ my $foo = *STDOUT; # $foo is a glob copy
+ <$foo>; # $foo is now the last-accessed handle
+ $foo = 3; # no longer a glob
+ $foo = *STDERR; # still the last-accessed handle
+
+Now the C<$foo = 3> assignment unsets that internal variable, so there
+is no last-accessed filehandle, just as if C<< <$foo> >> had never
+happened.
+
+This also prevents some unrelated handle from becoming the last-accessed
+handle if $foo falls out of scope and the same internal SV gets used for
+another handle [perl #97988].
+
+=item *
+
+A regression in 5.14 caused these statements not to set that internal
+variable:
+
+ my $fh = *STDOUT;
+ tell $fh;
+ eof $fh;
+ seek $fh, 0,0;
+ tell *$fh;
+ eof *$fh;
+ seek *$fh, 0,0;
+ readline *$fh;
+
+This is now fixed, but C<tell *{ *$fh }> still has the problem, and it
+is not clear how to fix it [perl #106536].
+
+=back
+
+=head2 Filetests and C<stat>
+
+The term "filetests" refers to the operators that consist of a hyphen
+followed by a single letter: C<-r>, C<-x>, C<-M>, etc. The term "stacked"
+when applied to filetests means followed by another filetest operator
+sharing the same operand, as in C<-r -x -w $fooo>.
+
+=over
+
+=item *
+
+C<stat> produces more consistent warnings. It no longer warns for "_"
+[perl #71002] and no longer skips the warning at times for other unopened
+handles. It no longer warns about an unopened handle when the operating
+system's C<fstat> function fails.
+
+=item *
+
+C<stat> would sometimes return negative numbers for large inode numbers,
+because it was using the wrong internal C type. [perl #84590]
+
+=item *
+
+C<lstat> is documented to fall back to C<stat> (with a warning) when given
+a filehandle. When passed an IO reference, it was actually doing the
+equivalent of S<C<stat _>> and ignoring the handle.
+
+=item *
+
+C<-T _> with no preceding C<stat> used to produce a
+confusing "uninitialized" warning, even though there
+is no visible uninitialized value to speak of.
+
+=item *
+
+C<-T>, C<-B>, C<-l> and C<-t> now work
+when stacked with other filetest operators
+[perl #77388].
+
+=item *
+
+In 5.14.0, filetest ops (C<-r>, C<-x>, etc.) started calling FETCH on a
+tied argument belonging to the previous argument to a list operator, if
+called with a bareword argument or no argument at all. This has been
+fixed, so C<push @foo, $tied, -r> no longer calls FETCH on C<$tied>.
+
+=item *
+
+In Perl 5.6, C<-l> followed by anything other than a bareword would treat
+its argument as a file name. That was changed in 5.8 for glob references
+(C<\*foo>), but not for globs themselves (C<*foo>). C<-l> started
+returning C<undef> for glob references without setting the last
+stat buffer that the "_" handle uses, but only if warnings
+were turned on. With warnings off, it was the same as 5.6.
+In other words, it was simply buggy and inconsistent. Now the 5.6
+behavior has been restored.
+
+=item *
+
+C<-l> followed by a bareword no longer "eats" the previous argument to
+the list operator in whose argument list it resides. Hence,
+C<print "bar", -l foo> now actually prints "bar", because C<-l>
+on longer eats it.
+
+=item *
+
+Perl keeps several internal variables to keep track of the last stat
+buffer, from which file(handle) it originated, what type it was, and
+whether the last stat succeeded.
+
+There were various cases where these could get out of synch, resulting in
+inconsistent or erratic behavior in edge cases (every mention of C<-T>
+applies to C<-B> as well):
+
+=over
+
+=item *
+
+C<-T I<HANDLE>>, even though it does a C<stat>, was not resetting the last
+stat type, so an C<lstat _> following it would merrily return the wrong
+results. Also, it was not setting the success status.
+
+=item *
+
+Freeing the handle last used by C<stat> or a filetest could result in
+S<C<-T _>> using an unrelated handle.
+
+=item *
+
+C<stat> with an IO reference would not reset the stat type or record the
+filehandle for S<C<-T _>> to use.
+
+=item *
+
+Fatal warnings could cause the stat buffer not to be reset
+for a filetest operator on an unopened filehandle or C<-l> on any handle.
+Fatal warnings also stopped C<-T> from setting C<$!>.
+
+=item *
+
+When the last stat was on an unreadable file, C<-T _> is supposed to
+return C<undef>, leaving the last stat buffer unchanged. But it was
+setting the stat type, causing C<lstat _> to stop working.
+
+=item *
+
+C<-T I<FILENAME>> was not resetting the internal stat buffers for
+unreadable files.
+
+=back
+
+These have all been fixed.
+
+=back
+
+=head2 Formats
+
+=over
+
+=item *
+
+Several edge cases have been fixed with formats and C<formline>;
+in particular, where the format itself is potentially variable (such as
+with ties and overloading), and where the format and data differ in their
+encoding. In both these cases, it used to possible for the output to be
+corrupted [perl #91032].
+
+=item *
+
+C<formline> no longer converts its argument into a string in-place. So
+passing a reference to C<formline> no longer destroys the reference
+[perl #79532].
+
+=item *
+
+Assignment to C<$^A> (the format output accumulator) now recalculates
+the number of lines output.
+
+=back
+
+=head2 C<given> and C<when>
+
+=over
+
+=item *
+
+C<given> was not scoping its implicit $_ properly, resulting in memory
+leaks or "Variable is not available" warnings [perl #94682].
+
+=item *
+
+C<given> was not calling set-magic on the implicit lexical C<$_> that it
+uses. This meant, for example, that C<pos> would be remembered from one
+execution of the same C<given> block to the next, even if the input were a
+different variable [perl #84526].
+
+=item *
+
+C<when> blocks are now capable of returning variables declared inside the
+enclosing C<given> block [perl #93548].
+
+=back
+
+=head2 The C<glob> operator
+
+=over
+
+=item *
+
+On OSes other than VMS, Perl's C<glob> operator (and the C<< <...> >> form)
+use L<File::Glob> underneath. L<File::Glob> splits the pattern into words,
+before feeding each word to its C<bsd_glob> function.
+
+There were several inconsistencies in the way the split was done. Now
+quotation marks (' and ") are always treated as shell-style word delimiters
+(that allow whitespace as part of a word) and backslashes are always
+preserved, unless they exist to escape quotation marks. Before, those
+would only sometimes be the case, depending on whether the pattern
+contained whitespace. Also, escaped whitespace at the end of the pattern
+is no longer stripped [perl #40470].
+
+=item *
+
+C<CORE::glob> now works as a way to call the default globbing function. It
+used to respect overrides, despite the C<CORE::> prefix.
+
+=item *
+
+Under miniperl (used to configure modules when perl itself is built),
+C<glob> now clears %ENV before calling csh, since the latter croaks on some
+systems if it does not like the contents of the LS_COLORS environment
+variable [perl #98662].
+
+=back
+
+=head2 Lvalue subroutines
+
+=over
+
+=item *
+
+Explicit return now returns the actual argument passed to return, instead
+of copying it [perl #72724, #72706].
+
+=item *
+
+Lvalue subroutines used to enforce lvalue syntax (i.e., whatever can go on
+the left-hand side of C<=>) for the last statement and the arguments to
+return. Since lvalue subroutines are not always called in lvalue context,
+this restriction has been lifted.
+
+=item *
+
+Lvalue subroutines are less restrictive about what values can be returned.
+It used to croak on values returned by C<shift> and C<delete> and from
+other subroutines, but no longer does so [perl #71172].
+
+=item *
+
+Empty lvalue subroutines (C<sub :lvalue {}>) used to return C<@_> in list
+context. All subroutines used to do this, but regular subs were fixed in
+Perl 5.8.2. Now lvalue subroutines have been likewise fixed.
+
+=item *
+
+Autovivification now works on values returned from lvalue subroutines
+[perl #7946], as does returning C<keys> in lvalue context.
+
+=item *
+
+Lvalue subroutines used to copy their return values in rvalue context. Not
+only was this a waste of CPU cycles, but it also caused bugs. A C<($)>
+prototype would cause an lvalue sub to copy its return value [perl #51408],
+and C<while(lvalue_sub() =~ m/.../g) { ... }> would loop endlessly
+[perl #78680].
+
+=item *
+
+When called in potential lvalue context
+(e.g., subroutine arguments or a list
+passed to C<for>), lvalue subroutines used to copy
+any read-only value that was returned. E.g., C< sub :lvalue { $] } >
+would not return C<$]>, but a copy of it.
+
+=item *
+
+When called in potential lvalue context, an lvalue subroutine returning
+arrays or hashes used to bind the arrays or hashes to scalar variables,
+resulting in bugs. This was fixed in 5.14.0 if an array were the first
+thing returned from the subroutine (but not for C<$scalar, @array> or
+hashes being returned). Now a more general fix has been applied
+[perl #23790].
+
+=item *
+
+Method calls whose arguments were all surrounded with C<my()> or C<our()>
+(as in C<< $object->method(my($a,$b)) >>) used to force lvalue context on
+the subroutine. This would prevent lvalue methods from returning certain
+values.
+
+=item *
+
+Lvalue sub calls that are not determined to be such at compile time
+(C<&$name> or &{"name"}) are no longer exempt from strict refs if they
+occur in the last statement of an lvalue subroutine [perl #102486].
+
+=item *
+
+Sub calls whose subs are not visible at compile time, if
+they occurred in the last statement of an lvalue subroutine,
+would reject non-lvalue subroutines and die with "Can't modify non-lvalue
+subroutine call" [perl #102486].
+
+Non-lvalue sub calls whose subs I<are> visible at compile time exhibited
+the opposite bug. If the call occurred in the last statement of an lvalue
+subroutine, there would be no error when the lvalue sub was called in
+lvalue context. Perl would blindly assign to the temporary value returned
+by the non-lvalue subroutine.
+
+=item *
+
+C<AUTOLOAD> routines used to take precedence over the actual sub being
+called (i.e., when autoloading wasn't needed), for sub calls in lvalue or
+potential lvalue context, if the subroutine was not visible at compile
+time.
+
+=item *
+
+Applying the C<:lvalue> attribute to an XSUB or to an aliased subroutine
+stub with C<< sub foo :lvalue; >> syntax stopped working in Perl 5.12.
+This has been fixed.
+
+=item *
+
+Applying the :lvalue attribute to subroutine that is already defined does
+not work properly, as the attribute changes the way the sub is compiled.
+Hence, Perl 5.12 began warning when an attempt is made to apply the
+attribute to an already defined sub. In such cases, the attribute is
+discarded.
+
+But the change in 5.12 missed the case where custom attributes are also
+present: that case still silently and ineffectively applied the attribute.
+That omission has now been corrected. C<sub foo :lvalue :Whatever> (when
+C<foo> is already defined) now warns about the :lvalue attribute, and does
+not apply it.
+
+=item *
+
+A bug affecting lvalue context propagation through nested lvalue subroutine
+calls has been fixed. Previously, returning a value in nested rvalue
+context would be treated as lvalue context by the inner subroutine call,
+resulting in some values (such as read-only values) being rejected.
+
+=back
+
+=head2 Overloading
+
+=over
+
+=item *
+
+Arithmetic assignment (C<$left += $right>) involving overloaded objects
+that rely on the 'nomethod' override no longer segfault when the left
+operand is not overloaded.
+
+=item *
+
+Errors that occur when methods cannot be found during overloading now
+mention the correct package name, as they did in 5.8.x, instead of
+erroneously mentioning the "overload" package, as they have since 5.10.0.
+
+=item *
+
+Undefining C<%overload::> no longer causes a crash.
+
+=back
+
+=head2 Prototypes of built-in keywords
+
+=over
+
+=item *
+
+The C<prototype> function no longer dies for the C<__FILE__>, C<__LINE__>
+and C<__PACKAGE__> directives. It now returns an empty-string prototype
+for them, because they are syntactically indistinguishable from nullary
+functions like C<time>.
+
+=item *
+
+C<prototype> now returns C<undef> for all overridable infix operators,
+such as C<eq>, which are not callable in any way resembling functions.
+It used to return incorrect prototypes for some and die for others
+[perl #94984].
+
+=item *
+
+The prototypes of several built-in functions--C<getprotobynumber>, C<lock>,
+C<not> and C<select>--have been corrected, or at least are now closer to
+reality than before.
+
+=back
+
+=head2 Regular expressions
+
+=for comment Is it possible to merge some of these items?
+
+=over 4
+
+=item *
+
+C</[[:ascii:]]/> and C</[[:blank:]]/> now use locale rules under
+C<use locale> when the platform supports that. Previously, they used
+the platform's native character set.
+
+=item *
+
+C<m/[[:ascii:]]/i> and C</\p{ASCII}/i> now match identically (when not
+under a differing locale). This fixes a regression introduced in 5.14
+in which the first expression could match characters outside of ASCII,
+such as the KELVIN SIGN.
+
+=item *
+
+C</.*/g> would sometimes refuse to match at the end of a string that ends
+with "\n". This has been fixed [perl #109206].
+
+=item *
+
+Starting with 5.12.0, Perl used to get its internal bookkeeping muddled up
+after assigning C<${ qr// }> to a hash element and locking it with
+L<Hash::Util>. This could result in double frees, crashes, or erratic
+behavior.
+
+=item *
+
+The new (in 5.14.0) regular expression modifier C</a> when repeated like
+C</aa> forbids the characters outside the ASCII range that match
+characters inside that range from matching under C</i>. This did not
+work under some circumstances, all involving alternation, such as:
+
+ "\N{KELVIN SIGN}" =~ /k|foo/iaa;
+
+succeeded inappropriately. This is now fixed.
+
+=item *
+
+5.14.0 introduced some memory leaks in regular expression character
+classes such as C<[\w\s]>, which have now been fixed. (5.14.1)
+
+=item *
+
+An edge case in regular expression matching could potentially loop.
+This happened only under C</i> in bracketed character classes that have
+characters with multi-character folds, and the target string to match
+against includes the first portion of the fold, followed by another
+character that has a multi-character fold that begins with the remaining
+portion of the fold, plus some more.
+
+ "s\N{U+DF}" =~ /[\x{DF}foo]/i
+
+is one such case. C<\xDF> folds to C<"ss">. (5.14.1)
+
+=item *
+
+A few characters in regular expression pattern matches did not
+match correctly in some circumstances, all involving C</i>. The
+affected characters are:
+COMBINING GREEK YPOGEGRAMMENI,
+GREEK CAPITAL LETTER IOTA,
+GREEK CAPITAL LETTER UPSILON,
+GREEK PROSGEGRAMMENI,
+GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA,
+GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS,
+GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA,
+GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS,
+LATIN SMALL LETTER LONG S,
+LATIN SMALL LIGATURE LONG S T,
+and
+LATIN SMALL LIGATURE ST.
+
+=item *
+
+A memory leak regression in regular expression compilation
+under threading has been fixed.
+
+=item *
+
+A regression introduced in 5.14.0 has
+been fixed. This involved an inverted
+bracketed character class in a regular expression that consisted solely
+of a Unicode property. That property wasn't getting inverted outside the
+Latin1 range.
+
+=item *
+
+Three problematic Unicode characters now work better in regex pattern matching under C</i>.
+
+In the past, three Unicode characters:
+LATIN SMALL LETTER SHARP S,
+GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS,
+and
+GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS,
+along with the sequences that they fold to
+(including "ss" for LATIN SMALL LETTER SHARP S),
+did not properly match under C</i>. 5.14.0 fixed some of these cases,
+but introduced others, including a panic when one of the characters or
+sequences was used in the C<(?(DEFINE)> regular expression predicate.
+The known bugs that were introduced in 5.14 have now been fixed; as well
+as some other edge cases that have never worked until now. These all
+involve using the characters and sequences outside bracketed character
+classes under C</i>. This closes [perl #98546].
+
+There remain known problems when using certain characters with
+multi-character folds inside bracketed character classes, including such
+constructs as C<qr/[\N{LATIN SMALL LETTER SHARP}a-z]/i>. These
+remaining bugs are addressed in [perl #89774].
+
+=item *
+
+RT #78266: The regex engine has been leaking memory when accessing
+named captures that weren't matched as part of a regex ever since 5.10
+when they were introduced; e.g., this would consume over a hundred MB of
+memory:
+
+ for (1..10_000_000) {
+ if ("foo" =~ /(foo|(?<capture>bar))?/) {
+ my $capture = $+{capture}
+ }
+ }
+ system "ps -o rss $$"'
+
+=item *
+
+In 5.14, C</[[:lower:]]/i> and C</[[:upper:]]/i> no longer matched the
+opposite case. This has been fixed [perl #101970].
+
+=item *
+
+A regular expression match with an overloaded object on the right-hand side
+would sometimes stringify the object too many times.
+
+=item *
+
+A regression has been fixed that was introduced in 5.14, in C</i>
+regular expression matching, in which a match improperly fails if the
+pattern is in UTF-8, the target string is not, and a Latin-1 character
+precedes a character in the string that should match the pattern.
+[perl #101710]
+
+=item *
+
+In case-insensitive regular expression pattern matching, no longer on
+UTF-8 encoded strings does the scan for the start of match look only at
+the first possible position. This caused matches such as
+C<"f\x{FB00}" =~ /ff/i> to fail.
+
+=item *
+
+The regexp optimizer no longer crashes on debugging builds when merging
+fixed-string nodes with inconvenient contents.
+
+=item *
+
+A panic involving the combination of the regular expression modifiers
+C</aa> and the C<\b> escape sequence introduced in 5.14.0 has been
+fixed [perl #95964]. (5.14.2)
+
+=item *
+
+The combination of the regular expression modifiers C</aa> and the C<\b>
+and C<\B> escape sequences did not work properly on UTF-8 encoded
+strings. All non-ASCII characters under C</aa> should be treated as
+non-word characters, but what was happening was that Unicode rules were
+used to determine wordness/non-wordness for non-ASCII characters. This
+is now fixed [perl #95968].
+
+=item *
+
+C<< (?foo: ...) >> no longer loses passed in character set.
+
+=item *
+
+The trie optimization used to have problems with alternations containing
+an empty C<(?:)>, causing C<< "x" =~ /\A(?>(?:(?:)A|B|C?x))\z/ >> not to
+match, whereas it should [perl #111842].
+
+=item *
+
+Use of lexical (C<my>) variables in code blocks embedded in regular
+expressions will no longer result in memory corruption or crashes.
+
+Nevertheless, these code blocks are still experimental, as there are still
+problems with the wrong variables being closed over (in loops for instance)
+and with abnormal exiting (e.g., C<die>) causing memory corruption.
+
+=item *
+
+The C<\h>, C<\H>, C<\v> and C<\V> regular expression metacharacters used to
+cause a panic error message when trying to match at the end of the
+string [perl #96354].
+
+=item *
+
+The abbreviations for four C1 control characters C<MW> C<PM>, C<RI>, and
+C<ST> were previously unrecognized by C<\N{}>, vianame(), and
+string_vianame().
+
+=item *
+
+Mentioning a variable named "&" other than C<$&> (i.e., C<@&> or C<%&>) no
+longer stops C<$&> from working. The same applies to variables named "'"
+and "`" [perl #24237].
+
+=item *
+
+Creating a C<UNIVERSAL::AUTOLOAD> sub no longer stops C<%+>, C<%-> and
+C<%!> from working some of the time [perl #105024].
+
+=back
+
+=head2 Smartmatching
+
+=over
+
+=item *
+
+C<~~> now correctly handles the precedence of Any~~Object, and is not tricked
+by an overloaded object on the left-hand side.
+
+=item *
+
+In Perl 5.14.0, C<$tainted ~~ @array> stopped working properly. Sometimes
+it would erroneously fail (when C<$tainted> contained a string that occurs
+in the array I<after> the first element) or erroneously succeed (when
+C<undef> occurred after the first element) [perl #93590].
+
+=back
+
+=head2 The C<sort> operator
+
+=over
+
+=item *
+
+C<sort> was not treating C<sub {}> and C<sub {()}> as equivalent when
+such a sub was provided as the comparison routine. It used to croak on
+C<sub {()}>.
+
+=item *
+
+C<sort> now works once more with custom sort routines that are XSUBs. It
+stopped working in 5.10.0.
+
+=item *
+
+C<sort> with a constant for a custom sort routine, although it produces
+unsorted results, no longer crashes. It started crashing in 5.10.0.
+
+=item *
+
+Warnings emitted by C<sort> when a custom comparison routine returns a
+non-numeric value now contain "in sort" and show the line number of the
+C<sort> operator, rather than the last line of the comparison routine. The
+warnings also now occur only if warnings are enabled in the scope where
+C<sort> occurs. Previously the warnings would occur if enabled in the
+comparison routine's scope.
+
+=item *
+
+C<< sort { $a <=> $b } >>, which is optimized internally, now produces
+"uninitialized" warnings for NaNs (not-a-number values), since C<< <=> >>
+returns C<undef> for those. This brings it in line with
+S<C<< sort { 1; $a <=> $b } >>> and other more complex cases, which are not
+optimized [perl #94390].
+
+=back
+
+=head2 The C<substr> operator
+
+=over
+
+=item *
+
+Tied (and otherwise magical) variables are no longer exempt from the
+"Attempt to use reference as lvalue in substr" warning.
+
+=item *
+
+That warning now occurs when the returned lvalue is assigned to, not
+when C<substr> itself is called. This makes a difference only if the
+return value of C<substr> is referenced and later assigned to.
+
+=item *
+
+Passing a substring of a read-only value or a typeglob to a function
+(potential lvalue context) no longer causes an immediate "Can't coerce"
+or "Modification of a read-only value" error. That error occurs only
+if the passed value is assigned to.
+
+The same thing happens with the "substr outside of string" error. If
+the lvalue is only read from, not written to, it is now just a warning, as
+with rvalue C<substr>.
+
+=item *
+
+C<substr> assignments no longer call FETCH twice if the first argument
+is a tied variable, just once.
+
+=back
+
+=head2 Support for embedded nulls
+
+Some parts of Perl did not work correctly with nulls (C<chr 0>) embedded in
+strings. That meant that, for instance, C<< $m = "a\0b"; foo->$m >> would
+call the "a" method, instead of the actual method name contained in $m.
+These parts of perl have been fixed to support nulls:
+
+=over
+
+=item *
+
+Method names
+
+=item *
+
+Typeglob names (including filehandle and subroutine names)
+
+=item *
+
+Package names, including the return value of C<ref()>
+
+=item *
+
+Typeglob elements (C<*foo{"THING\0stuff"}>)
+
+=item *
+
+Signal names
+
+=item *
+
+Various warnings and error messages that mention variable names or values,
+methods, etc.
+
+=back
+
+One side effect of these changes is that blessing into "\0" no longer
+causes C<ref()> to return false.
+
+=head2 Threading bugs
+
+=over
+
+=item *
+
+Typeglobs returned from threads are no longer cloned if the parent thread
+already has a glob with the same name. This means that returned
+subroutines will now assign to the right package variables [perl #107366].
+
+=item *
+
+Some cases of threads crashing due to memory allocation during cloning have
+been fixed [perl #90006].
+
+=item *
+
+Thread joining would sometimes emit "Attempt to free unreferenced scalar"
+warnings if C<caller> had been used from the C<DB> package before thread
+creation [perl #98092].
+
+=item *
+
+Locking a subroutine (via C<lock &sub>) is no longer a compile-time error
+for regular subs. For lvalue subroutines, it no longer tries to return the
+sub as a scalar, resulting in strange side effects like C<ref \$_>
+returning "CODE" in some instances.
+
+C<lock &sub> is now a run-time error if L<threads::shared> is loaded (a
+no-op otherwise), but that may be rectified in a future version.
+
+=back
+
+=head2 Tied variables
+
+=over
+
+=item *
+
+Various cases in which FETCH was being ignored or called too many times
+have been fixed:
+
+=over
+
+=item *
+
+C<PerlIO::get_layers> [perl #97956]
+
+=item *
+
+C<$tied =~ y/a/b/>, C<chop $tied> and C<chomp $tied> when $tied holds a
+reference.
+
+=item *
+
+When calling C<local $_> [perl #105912]
+
+=item *
+
+Four-argument C<select>
+
+=item *
+
+A tied buffer passed to C<sysread>
+
+=item *
+
+C<< $tied .= <> >>
+
+=item *
+
+Three-argument C<open>, the third being a tied file handle
+(as in C<< open $fh, ">&", $tied >>)
+
+=item *
+
+C<sort> with a reference to a tied glob for the comparison routine.
+
+=item *
+
+C<..> and C<...> in list context [perl #53554].
+
+=item *
+
+C<${$tied}>, C<@{$tied}>, C<%{$tied}> and C<*{$tied}> where the tied
+variable returns a string (C<&{}> was unaffected)
+
+=item *
+
+C<defined ${ $tied_variable }>
+
+=item *
+
+Various functions that take a filehandle argument in rvalue context
+(C<close>, C<readline>, etc.) [perl #97482]
+
+=item *
+
+Some cases of dereferencing a complex expression, such as
+C<${ (), $tied } = 1>, used to call C<FETCH> multiple times, but now call
+it once.
+
+=item *
+
+C<$tied-E<gt>method> where $tied returns a package name--even resulting in
+a failure to call the method, due to memory corruption
+
+=item *
+
+Assignments like C<*$tied = \&{"..."}> and C<*glob = $tied>
+
+=item *
+
+C<chdir>, C<chmod>, C<chown>, C<utime>, C<truncate>, C<stat>, C<lstat> and
+the filetest ops (C<-r>, C<-x>, etc.)
+
+=back
+
+=item *
+
+C<caller> sets C<@DB::args> to the subroutine arguments when called from
+the DB package. It used to crash when doing so if C<@DB::args> happened to
+be tied. Now it croaks instead.
+
+=item *
+
+Tying an element of %ENV or C<%^H> and then deleting that element would
+result in a call to the tie object's DELETE method, even though tying the
+element itself is supposed to be equivalent to tying a scalar (the element
+is, of course, a scalar) [perl #67490].
+
+=item *
+
+When Perl autovivifies an element of a tied array or hash (which entails
+calling STORE with a new reference), it now calls FETCH immediately after
+the STORE, instead of assuming that FETCH would have returned the same
+reference. This can make it easier to implement tied objects [perl #35865, #43011].
+
+=item *
+
+Four-argument C<select> no longer produces its "Non-string passed as
+bitmask" warning on tied or tainted variables that are strings.
+
+=item *
+
+Localizing a tied scalar that returns a typeglob no longer stops it from
+being tied till the end of the scope.
+
+=item *
+
+Attempting to C<goto> out of a tied handle method used to cause memory
+corruption or crashes. Now it produces an error message instead
+[perl #8611].
+
+=item *
+
+A bug has been fixed that occurs when a tied variable is used as a
+subroutine reference: if the last thing assigned to or returned from the
+variable was a reference or typeglob, the C<\&$tied> could either crash or
+return the wrong subroutine. The reference case is a regression introduced
+in Perl 5.10.0. For typeglobs, it has probably never worked till now.
+
+=back
+
+=head2 Version objects and vstrings
+
+=over
+
+=item *
+
+The bitwise complement operator (and possibly other operators, too) when
+passed a vstring would leave vstring magic attached to the return value,
+even though the string had changed. This meant that
+C<< version->new(~v1.2.3) >> would create a version looking like "v1.2.3"
+even though the string passed to C<< version->new >> was actually
+"\376\375\374". This also caused L<B::Deparse> to deparse C<~v1.2.3>
+incorrectly, without the C<~> [perl #29070].
+
+=item *
+
+Assigning a vstring to a magic (e.g., tied, C<$!>) variable and then
+assigning something else used to blow away all magic. This meant that
+tied variables would come undone, C<$!> would stop getting updated on
+failed system calls, C<$|> would stop setting autoflush, and other
+mischief would take place. This has been fixed.
+
+=item *
+
+C<< version->new("version") >> and C<printf "%vd", "version"> no longer
+crash [perl #102586].
+
+=item *
+
+Version comparisons, such as those that happen implicitly with C<use
+v5.43>, no longer cause locale settings to change [perl #105784].
+
+=item *
+
+Version objects no longer cause memory leaks in boolean context
+[perl #109762].
+
+=back
+
+=head2 Warnings, redefinition
+
+=over
+
+=item *
+
+Subroutines from the C<autouse> namespace are once more exempt from
+redefinition warnings. This used to work in 5.005, but was broken in
+5.6 for most subroutines. For subs created via XS that redefine
+subroutines from the C<autouse> package, this stopped working in 5.10.
+
+=item *
+
+New XSUBs now produce redefinition warnings if they overwrite existing
+subs, as they did in 5.8.x. (The C<autouse> logic was reversed in
+5.10-14. Only subroutines from the C<autouse> namespace would warn
+when clobbered.)
+
+=item *
+
+C<newCONSTSUB> used to use compile-time warning hints, instead of
+run-time hints. The following code should never produce a redefinition
+warning, but it used to, if C<newCONSTSUB> redefined an existing
+subroutine:
+
+ use warnings;
+ BEGIN {
+ no warnings;
+ some_XS_function_that_calls_new_CONSTSUB();
+ }
+
+=item *
+
+Redefinition warnings for constant subroutines are on by default (what
+are known as severe warnings in L<perldiag>). This occurred only
+when it was a glob assignment or declaration of a Perl subroutine that
+caused the warning. If the creation of XSUBs triggered the warning, it
+was not a default warning. This has been corrected.
+
+=item *
+
+The internal check to see whether a redefinition warning should occur
+used to emit "uninitialized" warnings in cases like this:
+
+ use warnings "uninitialized";
+ use constant {u => undef, v => undef};
+ sub foo(){u}
+ sub foo(){v}
+
+=back
+
+=head2 Warnings, "Uninitialized"
+
+=over
+
+=item *
+
+Various functions that take a filehandle argument in rvalue context
+(C<close>, C<readline>, etc.) used to warn twice for an undefined handle
+[perl #97482].
+
+=item *
+
+C<dbmopen> now only warns once, rather than three times, if the mode
+argument is C<undef> [perl #90064].
+
+=item *
+
+The C<+=> operator does not usually warn when the left-hand side is
+C<undef>, but it was doing so for tied variables. This has been fixed
+[perl #44895].
+
+=item *
+
+A bug fix in Perl 5.14 introduced a new bug, causing "uninitialized"
+warnings to report the wrong variable if the operator in question had
+two operands and one was C<%{...}> or C<@{...}>. This has been fixed
+[perl #103766].
+
+=item *
+
+C<..> and C<...> in list context now mention the name of the variable in
+"uninitialized" warnings for string (as opposed to numeric) ranges.
+
+=back
+
+=head2 Weak references
+
+=over
+
+=item *
+
+Weakening the first argument to an automatically-invoked C<DESTROY> method
+could result in erroneous "DESTROY created new reference" errors or
+crashes. Now it is an error to weaken a read-only reference.
+
+=item *
+
+Weak references to lexical hashes going out of scope were not going stale
+(becoming undefined), but continued to point to the hash.
+
+=item *
+
+Weak references to lexical variables going out of scope are now broken
+before any magical methods (e.g., DESTROY on a tie object) are called.
+This prevents such methods from modifying the variable that will be seen
+the next time the scope is entered.
+
+=item *
+
+Creating a weak reference to an @ISA array or accessing the array index
+(C<$#ISA>) could result in confused internal bookkeeping for elements
+later added to the @ISA array. For instance, creating a weak
+reference to the element itself could push that weak reference on to @ISA;
+and elements added after use of C<$#ISA> would be ignored by method lookup
+[perl #85670].
+
+=back
+
+=head2 Other notable fixes
+
+=over
+
+=item *
+
+C<quotemeta> now quotes consistently the same non-ASCII characters under
+C<use feature 'unicode_strings'>, regardless of whether the string is
+encoded in UTF-8 or not, hence fixing the last vestiges (we hope) of the
+notorious L<perlunicode/The "Unicode Bug">. [perl #77654].
+
+Which of these code points is quoted has changed, based on Unicode's
+recommendations. See L<perlfunc/quotemeta> for details.
+
+=item *
+
+C<study> is now a no-op, presumably fixing all outstanding bugs related to
+study causing regex matches to behave incorrectly!
+
+=item *
+
+When one writes C<open foo || die>, which used to work in Perl 4, a
+"Precedence problem" warning is produced. This warning used erroneously to
+apply to fully-qualified bareword handle names not followed by C<||>. This
+has been corrected.
+
+=item *
+
+After package aliasing (C<*foo:: = *bar::>), C<select> with 0 or 1 argument
+would sometimes return a name that could not be used to refer to the
+filehandle, or sometimes it would return C<undef> even when a filehandle
+was selected. Now it returns a typeglob reference in such cases.
+
+=item *
+
+C<PerlIO::get_layers> no longer ignores some arguments that it thinks are
+numeric, while treating others as filehandle names. It is now consistent
+for flat scalars (i.e., not references).
+
+=item *
+
+Unrecognized switches on C<#!> line
+
+If a switch, such as B<-x>, that cannot occur on the C<#!> line is used
+there, perl dies with "Can't emulate...".
+
+It used to produce the same message for switches that perl did not
+recognize at all, whether on the command line or the C<#!> line.
+
+Now it produces the "Unrecognized switch" error message [perl #104288].
+
+=item *
+
+C<system> now temporarily blocks the SIGCHLD signal handler, to prevent the
+signal handler from stealing the exit status [perl #105700].
+
+=item *
+
+The %n formatting code for C<printf> and C<sprintf>, which causes the number
+of characters to be assigned to the next argument, now actually
+assigns the number of characters, instead of the number of bytes.
+
+It also works now with special lvalue functions like C<substr> and with
+nonexistent hash and array elements [perl #3471, #103492].
+
+=item *
+
+Perl skips copying values returned from a subroutine, for the sake of
+speed, if doing so would make no observable difference. Because of faulty
+logic, this would happen with the
+result of C<delete>, C<shift> or C<splice>, even if the result was
+referenced elsewhere. It also did so with tied variables about to be freed
+[perl #91844, #95548].
+
+=item *
+
+C<utf8::decode> now refuses to modify read-only scalars [perl #91850].
+
+=item *
+
+Freeing $_ inside a C<grep> or C<map> block, a code block embedded in a
+regular expression, or an @INC filter (a subroutine returned by a
+subroutine in @INC) used to result in double frees or crashes
+[perl #91880, #92254, #92256].
+
+=item *
+
+C<eval> returns C<undef> in scalar context or an empty list in list
+context when there is a run-time error. When C<eval> was passed a
+string in list context and a syntax error occurred, it used to return a
+list containing a single undefined element. Now it returns an empty
+list in list context for all errors [perl #80630].
+
+=item *
+
+C<goto &func> no longer crashes, but produces an error message, when
+the unwinding of the current subroutine's scope fires a destructor that
+undefines the subroutine being "goneto" [perl #99850].
+
+=item *
+
+Perl now holds an extra reference count on the package that code is
+currently compiling in. This means that the following code no longer
+crashes [perl #101486]:
+
+ package Foo;
+ BEGIN {*Foo:: = *Bar::}
+ sub foo;
+
+=item *
+
+The C<x> repetition operator no longer crashes on 64-bit builds with large
+repeat counts [perl #94560].
+
+=item *
+
+Calling C<require> on an implicit C<$_> when C<*CORE::GLOBAL::require> has
+been overridden does not segfault anymore, and C<$_> is now passed to the
+overriding subroutine [perl #78260].
+
+=item *
+
+C<use> and C<require> are no longer affected by the I/O layers active in
+the caller's scope (enabled by L<open.pm|open>) [perl #96008].
+
+=item *
+
+C<our $::é; $é> (which is invalid) no longer produces the "Compilation
+error at lib/utf8_heavy.pl..." error message, which it started emitting in
+5.10.0 [perl #99984].
+
+=item *
+
+On 64-bit systems, C<read()> now understands large string offsets beyond
+the 32-bit range.
+
+=item *
+
+Errors that occur when processing subroutine attributes no longer cause the
+subroutine's op tree to leak.
+
+=item *
+
+Passing the same constant subroutine to both C<index> and C<formline> no
+longer causes one or the other to fail [perl #89218]. (5.14.1)
+
+=item *
+
+List assignment to lexical variables declared with attributes in the same
+statement (C<my ($x,@y) : blimp = (72,94)>) stopped working in Perl 5.8.0.
+It has now been fixed.
+
+=item *
+
+Perl 5.10.0 introduced some faulty logic that made "U*" in the middle of
+a pack template equivalent to "U0" if the input string was empty. This has
+been fixed [perl #90160]. (5.14.2)
+
+=item *
+
+Destructors on objects were not called during global destruction on objects
+that were not referenced by any scalars. This could happen if an array
+element were blessed (e.g., C<bless \$a[0]>) or if a closure referenced a
+blessed variable (C<bless \my @a; sub foo { @a }>).
+
+Now there is an extra pass during global destruction to fire destructors on
+any objects that might be left after the usual passes that check for
+objects referenced by scalars [perl #36347].
+
+=item *
+
+Fixed a case where it was possible that a freed buffer may have been read
+from when parsing a here document [perl #90128]. (5.14.1)
+
+=item *
+
+C<each(I<ARRAY>)> is now wrapped in C<defined(...)>, like C<each(I<HASH>)>,
+inside a C<while> condition [perl #90888].
+
+=item *
+
+A problem with context propagation when a C<do> block is an argument to
+C<return> has been fixed. It used to cause C<undef> to be returned in
+certain cases of a C<return> inside an C<if> block which itself is followed by
+another C<return>.
+
+=item *
+
+Calling C<index> with a tainted constant no longer causes constants in
+subsequently compiled code to become tainted [perl #64804].
+
+=item *
+
+Infinite loops like C<1 while 1> used to stop C<strict 'subs'> mode from
+working for the rest of the block.
+
+=item *
+
+For list assignments like C<($a,$b) = ($b,$a)>, Perl has to make a copy of
+the items on the right-hand side before assignment them to the left. For
+efficiency's sake, it assigns the values on the right straight to the items
+on the left if no one variable is mentioned on both sides, as in C<($a,$b) =
+($c,$d)>. The logic for determining when it can cheat was faulty, in that
+C<&&> and C<||> on the right-hand side could fool it. So C<($a,$b) =
+$some_true_value && ($b,$a)> would end up assigning the value of C<$b> to
+both scalars.
+
+=item *
+
+Perl no longer tries to apply lvalue context to the string in
+C<("string", $variable) ||= 1> (which used to be an error). Since the
+left-hand side of C<||=> is evaluated in scalar context, that's a scalar
+comma operator, which gives all but the last item void context. There is
+no such thing as void lvalue context, so it was a mistake for Perl to try
+to force it [perl #96942].
+
+=item *
+
+C<caller> no longer leaks memory when called from the DB package if
+C<@DB::args> was assigned to after the first call to C<caller>. L<Carp>
+was triggering this bug [perl #97010]. (5.14.2)
+
+=item *
+
+C<close> and similar filehandle functions, when called on built-in global
+variables (like C<$+>), used to die if the variable happened to hold the
+undefined value, instead of producing the usual "Use of uninitialized
+value" warning.
+
+=item *
+
+When autovivified file handles were introduced in Perl 5.6.0, C<readline>
+was inadvertently made to autovivify when called as C<readline($foo)> (but
+not as C<E<lt>$fooE<gt>>). It has now been fixed never to autovivify.
+
+=item *
+
+Calling an undefined anonymous subroutine (e.g., what $x holds after
+C<undef &{$x = sub{}}>) used to cause a "Not a CODE reference" error, which
+has been corrected to "Undefined subroutine called" [perl #71154].
+
+=item *
+
+Causing C<@DB::args> to be freed between uses of C<caller> no longer
+results in a crash [perl #93320].
+
+=item *
+
+C<setpgrp($foo)> used to be equivalent to C<($foo, setpgrp)>, because
+C<setpgrp> was ignoring its argument if there was just one. Now it is
+equivalent to C<setpgrp($foo,0)>.
+
+=item *
+
+C<shmread> was not setting the scalar flags correctly when reading from
+shared memory, causing the existing cached numeric representation in the
+scalar to persist [perl #98480].
+
+=item *
+
+C<++> and C<--> now work on copies of globs, instead of dying.
+
+=item *
+
+C<splice()> doesn't warn when truncating
+
+You can now limit the size of an array using C<splice(@a,MAX_LEN)> without
+worrying about warnings.
+
+=item *
+
+C<< $$ >> is no longer tainted. Since this value comes directly from
+C<< getpid() >>, it is always safe.
+
+=item *
+
+The parser no longer leaks a filehandle if STDIN was closed before parsing
+started [perl #37033].
+
+=item *
+
+C<< die; >> with a non-reference, non-string, or magical (e.g., tainted)
+value in $@ now properly propagates that value [perl #111654].
+
+=back
+
+=head1 Known Problems
+
+=over 4
+
+=item *
+
+On Solaris, we have two kinds of failure.
+
+If F<make> is Sun's F<make>, we get an error about a badly formed macro
+assignment in the F<Makefile>. That happens when F<./Configure> tries to
+make depends. F<Configure> then exits 0, but further F<make>-ing fails.
+
+If F<make> is F<gmake>, F<Configure> completes, then we get errors related
+to F</usr/include/stdbool.h>
+
+=item *
+
+On Win32, a number of tests hang unless STDERR is redirected. The cause of
+this is still under investigation.
+
+=item *
+
+When building as root with a umask that prevents files from being
+other-readable, F<t/op/filetest.t> will fail. This is a test bug, not a
+bug in perl's behavior.
+
+=item *
+
+Configuring with a recent gcc and link-time-optimization, such as
+C<Configure -Doptimize='-O2 -flto'> fails
+because the optimizer optimizes away some of Configure's tests. A
+workaround is to omit the C<-flto> flag when running Configure, but add
+it back in while actually building, something like
+
+ sh Configure -Doptimize=-O2
+ make OPTIMIZE='-O2 -flto'
+
+=item *
+
+The following CPAN modules have test failures with perl 5.16. Patches have
+been submitted for all of these, so hopefully there will be new releases
+soon:
+
+=over
+
+=item *
+
+L<Date::Pcalc> version 6.1
+
+=item *
+
+L<Module::CPANTS::Analyse> version 0.85
+
+This fails due to problems in L<Module::Find> 0.10 and L<File::MMagic>
+1.27.
+
+=item *
+
+L<PerlIO::Util> version 0.72
+
+=back
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.16.0 represents approximately 12 months of development since Perl
+5.14.0 and contains approximately 590,000 lines of changes across 2,500
+files from 139 authors.
+
+Perl continues to flourish into its third decade thanks to a vibrant
+community of users and developers. The following people are known to
+have contributed the improvements that became Perl 5.16.0:
+
+Aaron Crane, Abhijit Menon-Sen, Abigail, Alan Haggai Alavi, Alberto
+Simões, Alexandr Ciornii, Andreas König, Andy Dougherty, Aristotle
+Pagaltzis, Bo Johansson, Bo Lindbergh, Breno G. de Oliveira, brian d
+foy, Brian Fraser, Brian Greenfield, Carl Hayter, Chas. Owens,
+Chia-liang Kao, Chip Salzenberg, Chris 'BinGOs' Williams, Christian
+Hansen, Christopher J. Madsen, chromatic, Claes Jacobsson, Claudio
+Ramirez, Craig A. Berry, Damian Conway, Daniel Kahn Gillmor, Darin
+McBride, Dave Rolsky, David Cantrell, David Golden, David Leadbeater,
+David Mitchell, Dee Newcum, Dennis Kaarsemaker, Dominic Hargreaves,
+Douglas Christopher Wilson, Eric Brine, Father Chrysostomos, Florian
+Ragwitz, Frederic Briere, George Greer, Gerard Goossen, Gisle Aas,
+H.Merijn Brand, Hojung Youn, Ian Goodacre, James E Keenan, Jan Dubois,
+Jerry D. Hedden, Jesse Luehrs, Jesse Vincent, Jilles Tjoelker, Jim
+Cromie, Jim Meyering, Joel Berger, Johan Vromans, Johannes Plunien, John
+Hawkinson, John P. Linderman, John Peacock, Joshua ben Jore, Juerd
+Waalboer, Karl Williamson, Karthik Rajagopalan, Keith Thompson, Kevin J.
+Woolley, Kevin Ryde, Laurent Dami, Leo Lapworth, Leon Brocard, Leon
+Timmermans, Louis Strous, Lukas Mai, Marc Green, Marcel Grünauer, Mark
+A. Stratman, Mark Dootson, Mark Jason Dominus, Martin Hasch, Matthew
+Horsfall, Max Maischein, Michael G Schwern, Michael Witten, Mike
+Sheldrake, Moritz Lenz, Nicholas Clark, Niko Tyni, Nuno Carvalho, Pau
+Amma, Paul Evans, Paul Green, Paul Johnson, Perlover, Peter John Acklam,
+Peter Martini, Peter Scott, Phil Monsen, Pino Toscano, Rafael
+Garcia-Suarez, Rainer Tammer, Reini Urban, Ricardo Signes, Robin Barker,
+Rodolfo Carvalho, Salvador Fandiño, Sam Kimbrel, Samuel Thibault, Shawn
+M Moore, Shigeya Suzuki, Shirakata Kentaro, Shlomi Fish, Sisyphus,
+Slaven Rezic, Spiros Denaxas, Steffen Müller, Steffen Schwigon, Stephen
+Bennett, Stephen Oberholtzer, Stevan Little, Steve Hay, Steve Peters,
+Thomas Sibley, Thorsten Glaser, Timothe Litt, Todd Rinaldo, Tom
+Christiansen, Tom Hukins, Tony Cook, Vadim Konovalov, Vincent Pit,
+Vladimir Timofeev, Walt Mankowski, Yves Orton, Zefram, Zsbán Ambrus,
+Ævar Arnfjörð Bjarmason.
+
+The list above is almost certainly incomplete as it is automatically
+generated from version control history. In particular, it does not
+include the names of the (very much appreciated) contributors who
+reported issues to the Perl bug tracker.
+
+Many of the changes included in this version originated in the CPAN
+modules included in Perl's core. We're grateful to the entire CPAN
+community for helping Perl to flourish.
+
+For a more complete list of all of Perl's historical contributors,
+please see the F<AUTHORS> file in the Perl source distribution.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the perl
+bug database at L<http://rt.perl.org/perlbug/>. There may also be
+information at L<http://www.perl.org/>, the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug>
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
+output of C<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please
+send it to perl5-security-report@perl.org. This points to a closed
+subscription unarchived mailing list, which includes all core
+committers, who will be able to help assess the impact of issues, figure
+out a resolution, and help co-ordinate the release of patches to
+mitigate or fix the problem across all platforms on which Perl is
+supported. Please use this address only for security issues in the Perl
+core, not for modules independently distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5161delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5161delta.pod
new file mode 100644
index 00000000000..406e1cc3e2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl5161delta.pod
@@ -0,0 +1,198 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5161delta - what is new for perl v5.16.1
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.16.0 release and
+the 5.16.1 release.
+
+If you are upgrading from an earlier release such as 5.14.0, first read
+L<perl5160delta>, which describes differences between 5.14.0 and
+5.16.0.
+
+=head1 Security
+
+=head2 an off-by-two error in Scalar-List-Util has been fixed
+
+The bugfix was in Scalar-List-Util 1.23_04, and perl 5.16.1 includes
+Scalar-List-Util 1.25.
+
+=head1 Incompatible Changes
+
+There are no changes intentionally incompatible with 5.16.0 If any
+exist, they are bugs, and we request that you submit a report. See
+L</Reporting Bugs> below.
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<Scalar::Util> and L<List::Util> have been upgraded from version 1.23 to
+version 1.25.
+
+=item *
+
+L<B::Deparse> has been updated from version 1.14 to 1.14_01. An
+"uninitialized" warning emitted by B::Deparse has been squashed
+[perl #113464].
+
+=back
+
+=head1 Configuration and Compilation
+
+=over
+
+=item *
+
+Building perl with some Windows compilers used to fail due to a problem
+with miniperl's C<glob> operator (which uses the C<perlglob> program)
+deleting the PATH environment variable [perl #113798].
+
+=back
+
+=head1 Platform Support
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item VMS
+
+All C header files from the top-level directory of the distribution are now
+installed on VMS, providing consistency with a long-standing practice on other
+platforms. Previously only a subset were installed, which broke non-core extension
+builds for extensions that depended on the missing include files.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+A regression introduced in Perl v5.16.0 involving
+C<tr/I<SEARCHLIST>/I<REPLACEMENTLIST>/> has been fixed. Only the first
+instance is supposed to be meaningful if a character appears more than
+once in C<I<SEARCHLIST>>. Under some circumstances, the final instance
+was overriding all earlier ones. [perl #113584]
+
+=item *
+
+C<B::COP::stashlen> has been added. This provides access to an internal
+field added in perl 5.16 under threaded builds. It was broken at the last
+minute before 5.16 was released [perl #113034].
+
+=item *
+
+The L<re> pragma will no longer clobber C<$_>. [perl #113750]
+
+=item *
+
+Unicode 6.1 published an incorrect alias for one of the
+Canonical_Combining_Class property's values (which range between 0 and
+254). The alias C<CCC133> should have been C<CCC132>. Perl now
+overrides the data file furnished by Unicode to give the correct value.
+
+=item *
+
+Duplicating scalar filehandles works again. [perl #113764]
+
+=item *
+
+Under threaded perls, a runtime code block in a regular expression could
+corrupt the package name stored in the op tree, resulting in bad reads
+in C<caller>, and possibly crashes [perl #113060].
+
+=item *
+
+For efficiency's sake, many operators and built-in functions return the
+same scalar each time. Lvalue subroutines and subroutines in the CORE::
+namespace were allowing this implementation detail to leak through.
+C<print &CORE::uc("a"), &CORE::uc("b")> used to print "BB". The same thing
+would happen with an lvalue subroutine returning the return value of C<uc>.
+Now the value is copied in such cases [perl #113044].
+
+=item *
+
+C<__SUB__> now works in special blocks (C<BEGIN>, C<END>, etc.).
+
+=item *
+
+Formats that reference lexical variables from outside no longer result
+in crashes.
+
+=back
+
+=head1 Known Problems
+
+There are no new known problems, but consult L<perl5160delta/Known
+Problems> to see those identified in the 5.16.0 release.
+
+=head1 Acknowledgements
+
+Perl 5.16.1 represents approximately 2 months of development since Perl
+5.16.0 and contains approximately 14,000 lines of changes across 96
+files from 8 authors.
+
+Perl continues to flourish into its third decade thanks to a vibrant
+community of users and developers. The following people are known to
+have contributed the improvements that became Perl 5.16.1:
+
+Chris 'BinGOs' Williams, Craig A. Berry, Father Chrysostomos, Karl
+Williamson, Paul Johnson, Reini Urban, Ricardo Signes, Tony Cook.
+
+The list above is almost certainly incomplete as it is automatically
+generated from version control history. In particular, it does not
+include the names of the (very much appreciated) contributors who
+reported issues to the Perl bug tracker.
+
+Many of the changes included in this version originated in the CPAN
+modules included in Perl's core. We're grateful to the entire CPAN
+community for helping Perl to flourish.
+
+For a more complete list of all of Perl's historical contributors,
+please see the F<AUTHORS> file in the Perl source distribution.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the perl
+bug database at http://rt.perl.org/perlbug/ . There may also be
+information at http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug>
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
+output of C<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please
+send it to perl5-security-report@perl.org. This points to a closed
+subscription unarchived mailing list, which includes all the core
+committers, who will be able to help assess the impact of issues, figure
+out a resolution, and help co-ordinate the release of patches to
+mitigate or fix the problem across all platforms on which Perl is
+supported. Please only use this address for security issues in the Perl
+core, not for modules independently distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl5162delta.pod b/Master/tlpkg/tlperl/lib/pods/perl5162delta.pod
new file mode 100644
index 00000000000..d41e3b5cfe3
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perl5162delta.pod
@@ -0,0 +1,125 @@
+=encoding utf8
+
+=head1 NAME
+
+perldelta - what is new for perl v5.16.2
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.16.1 release and
+the 5.16.2 release.
+
+If you are upgrading from an earlier release such as 5.16.0, first read
+L<perl5161delta>, which describes differences between 5.16.0 and
+5.16.1.
+
+=head1 Incompatible Changes
+
+There are no changes intentionally incompatible with 5.16.0
+If any exist, they are bugs, and we request that you submit a
+report. See L</Reporting Bugs> below.
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<Module::CoreList> has been upgraded from version 2.70 to version 2.76.
+
+=back
+
+=head1 Configuration and Compilation
+
+=over 4
+
+=item * configuration should no longer be confused by ls colorization
+
+=back
+
+=head1 Platform Support
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item AIX
+
+Configure now always adds -qlanglvl=extc99 to the CC flags on AIX when
+using xlC. This will make it easier to compile a number of XS-based modules
+that assume C99 [perl #113778].
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item * fix /\h/ equivalence with /[\h]/
+
+see [perl #114220]
+
+=back
+
+=head1 Known Problems
+
+There are no new known problems.
+
+=head1 Acknowledgements
+
+Perl 5.16.2 represents approximately 2 months of development since Perl
+5.16.1 and contains approximately 740 lines of changes across 20 files
+from 9 authors.
+
+Perl continues to flourish into its third decade thanks to a vibrant
+community of users and developers. The following people are known to
+have contributed the improvements that became Perl 5.16.2:
+
+Andy Dougherty, Craig A. Berry, Darin McBride, Dominic Hargreaves, Karen
+Etheridge, Karl Williamson, Peter Martini, Ricardo Signes, Tony Cook.
+
+The list above is almost certainly incomplete as it is automatically
+generated from version control history. In particular, it does not
+include the names of the (very much appreciated) contributors who
+reported issues to the Perl bug tracker.
+
+For a more complete list of all of Perl's historical contributors,
+please see the F<AUTHORS> file in the Perl source distribution.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles
+recently posted to the comp.lang.perl.misc newsgroup and the perl
+bug database at http://rt.perl.org/perlbug/ . There may also be
+information at http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug>
+program included with your release. Be sure to trim your bug down
+to a tiny but sufficient test case. Your bug report, along with the
+output of C<perl -V>, will be sent off to perlbug@perl.org to be
+analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please
+send it to perl5-security-report@perl.org. This points to a closed
+subscription unarchived mailing list, which includes all the core
+committers, who will be able to help assess the impact of issues, figure
+out a resolution, and help co-ordinate the release of patches to
+mitigate or fix the problem across all platforms on which Perl is
+supported. Please only use this address for security issues in the Perl
+core, not for modules independently distributed on CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details
+on what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl561delta.pod b/Master/tlpkg/tlperl/lib/pods/perl561delta.pod
index 72c38f15a9b..49ff54f8983 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl561delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl561delta.pod
@@ -1,6 +1,6 @@
=head1 NAME
-perl561delta - what's new for perl v5.6.x
+perl561delta - what's new for perl v5.6.1
=head1 DESCRIPTION
@@ -2977,7 +2977,6 @@ You should use the new declaration syntax instead.
The C<use attrs> pragma is now obsolete, and is only provided for
backward-compatibility. See L<perlsub/"Subroutine Attributes">.
-
=item Premature end of script headers
See Server error.
@@ -3364,8 +3363,8 @@ Note that the above issue is not relevant to the default build of
Perl, whose interfaces continue to match those of prior versions
(but subject to the other options described here).
-See L<perlguts/"The Perl API"> for detailed information on the
-ramifications of building Perl with this option.
+See L<perlguts/Background and PERL_IMPLICIT_CONTEXT> for detailed information
+on the ramifications of building Perl with this option.
NOTE: PERL_IMPLICIT_CONTEXT is automatically enabled whenever Perl is built
with one of -Dusethreads, -Dusemultiplicity, or both. It is not
diff --git a/Master/tlpkg/tlperl/lib/pods/perl56delta.pod b/Master/tlpkg/tlperl/lib/pods/perl56delta.pod
index 91b4aede499..24c2072c253 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl56delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl56delta.pod
@@ -2372,7 +2372,6 @@ You should use the new declaration syntax instead.
The C<use attrs> pragma is now obsolete, and is only provided for
backward-compatibility. See L<perlsub/"Subroutine Attributes">.
-
=item Premature end of script headers
See Server error.
@@ -2759,7 +2758,8 @@ Note that the above issue is not relevant to the default build of
Perl, whose interfaces continue to match those of prior versions
(but subject to the other options described here).
-See L<perlguts/"The Perl API"> for detailed information on the
+
+See L<perlguts/Background and PERL_IMPLICIT_CONTEXT> for detailed information on the
ramifications of building Perl with this option.
NOTE: PERL_IMPLICIT_CONTEXT is automatically enabled whenever Perl is built
diff --git a/Master/tlpkg/tlperl/lib/pods/perl570delta.pod b/Master/tlpkg/tlperl/lib/pods/perl570delta.pod
deleted file mode 100644
index dcc2f0f1889..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl570delta.pod
+++ /dev/null
@@ -1,899 +0,0 @@
-=head1 NAME
-
-perl570delta - what's new for perl v5.7.0
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.6.0 release and
-the 5.7.0 release.
-
-=head1 Security Vulnerability Closed
-
-A potential security vulnerability in the optional suidperl component
-of Perl has been identified. suidperl is neither built nor installed
-by default. As of September the 2nd, 2000, the only known vulnerable
-platform is Linux, most likely all Linux distributions. CERT and
-various vendors have been alerted about the vulnerability.
-
-The problem was caused by Perl trying to report a suspected security
-exploit attempt using an external program, /bin/mail. On Linux
-platforms the /bin/mail program had an undocumented feature which
-when combined with suidperl gave access to a root shell, resulting in
-a serious compromise instead of reporting the exploit attempt. If you
-don't have /bin/mail, or if you have 'safe setuid scripts', or if
-suidperl is not installed, you are safe.
-
-The exploit attempt reporting feature has been completely removed from
-the Perl 5.7.0 release, so that particular vulnerability isn't there
-anymore. However, further security vulnerabilities are,
-unfortunately, always possible. The suidperl code is being reviewed
-and if deemed too risky to continue to be supported, it may be
-completely removed from future releases. In any case, suidperl should
-only be used by security experts who know exactly what they are doing
-and why they are using suidperl instead of some other solution such as
-sudo ( see http://www.courtesan.com/sudo/ ).
-
-=head1 Incompatible Changes
-
-=over 4
-
-=item *
-
-Arrays now always interpolate into double-quoted strings:
-constructs like "foo@bar" now always assume C<@bar> is an array,
-whether or not the compiler has seen use of C<@bar>.
-
-=item *
-
-The semantics of bless(REF, REF) were unclear and until someone proves
-it to make some sense, it is forbidden.
-
-=item *
-
-A reference to a reference now stringify as "REF(0x81485ec)" instead
-of "SCALAR(0x81485ec)" in order to be more consistent with the return
-value of ref().
-
-=item *
-
-The very dusty examples in the eg/ directory have been removed.
-Suggestions for new shiny examples welcome but the main issue is that
-the examples need to be documented, tested and (most importantly)
-maintained.
-
-=item *
-
-The obsolete chat2 library that should never have been allowed
-to escape the laboratory has been decommissioned.
-
-=item *
-
-The unimplemented POSIX regex features [[.cc.]] and [[=c=]] are still
-recognised but now cause fatal errors. The previous behaviour of
-ignoring them by default and warning if requested was unacceptable
-since it, in a way, falsely promised that the features could be used.
-
-=item *
-
-The (bogus) escape sequences \8 and \9 now give an optional warning
-("Unrecognized escape passed through"). There is no need to \-escape
-any C<\w> character.
-
-=item *
-
-lstat(FILEHANDLE) now gives a warning because the operation makes no sense.
-In future releases this may become a fatal error.
-
-=item *
-
-The long deprecated uppercase aliases for the string comparison
-operators (EQ, NE, LT, LE, GE, GT) have now been removed.
-
-=item *
-
-The regular expression captured submatches ($1, $2, ...) are now
-more consistently unset if the match fails, instead of leaving false
-data lying around in them.
-
-=item *
-
-The tr///C and tr///U features have been removed and will not return;
-the interface was a mistake. Sorry about that. For similar
-functionality, see pack('U0', ...) and pack('C0', ...).
-
-=back
-
-=head1 Core Enhancements
-
-=over 4
-
-=item *
-
-C<perl -d:Module=arg,arg,arg> now works (previously one couldn't pass
-in multiple arguments.)
-
-=item *
-
-my __PACKAGE__ $obj now works.
-
-=item *
-
-C<no Module;> now works even if there is no "sub unimport" in the Module.
-
-=item *
-
-The numerical comparison operators return C<undef> if either operand
-is a NaN. Previously the behaviour was unspecified.
-
-=item *
-
-C<pack('U0a*', ...)> can now be used to force a string to UTF-8.
-
-=item *
-
-prototype(\&) is now available.
-
-=item *
-
-There is now an UNTIE method.
-
-=back
-
-=head1 Modules and Pragmata
-
-=head2 New Modules
-
-=over 4
-
-=item *
-
-File::Temp allows one to create temporary files and directories in an
-easy, portable, and secure way.
-
-=item *
-
-Storable gives persistence to Perl data structures by allowing the
-storage and retrieval of Perl data to and from files in a fast and
-compact binary format.
-
-=back
-
-=head2 Updated And Improved Modules and Pragmata
-
-=over 4
-
-=item *
-
-The following independently supported modules have been updated to
-newer versions from CPAN: CGI, CPAN, DB_File, File::Spec, Getopt::Long,
-the podlators bundle, Pod::LaTeX, Pod::Parser, Term::ANSIColor, Test.
-
-=item *
-
-Bug fixes and minor enhancements have been applied to B::Deparse,
-Data::Dumper, IO::Poll, IO::Socket::INET, Math::BigFloat,
-Math::Complex, Math::Trig, Net::protoent, the re pragma, SelfLoader,
-Sys::SysLog, Test::Harness, Text::Wrap, UNIVERSAL, and the warnings
-pragma.
-
-=item *
-
-The attributes::reftype() now works on tied arguments.
-
-=item *
-
-AutoLoader can now be disabled with C<no AutoLoader;>,
-
-=item *
-
-The English module can now be used without the infamous performance
-hit by saying
-
- use English '-no_performance_hit';
-
-(Assuming, of course, that one doesn't need the troublesome variables
-C<$`>, C<$&>, or C<$'>.) Also, introduced C<@LAST_MATCH_START> and
-C<@LAST_MATCH_END> English aliases for C<@-> and C<@+>.
-
-=item *
-
-File::Find now has pre- and post-processing callbacks. It also
-correctly changes directories when chasing symbolic links. Callbacks
-(naughtily) exiting with "next;" instead of "return;" now work.
-
-=item *
-
-File::Glob::glob() renamed to File::Glob::bsd_glob() to avoid
-prototype mismatch with CORE::glob().
-
-=item *
-
-IPC::Open3 now allows the use of numeric file descriptors.
-
-=item *
-
-use lib now works identically to @INC. Removing directories
-with 'no lib' now works.
-
-=item *
-
-C<%INC> now localised in a Safe compartment so that use/require work.
-
-=item *
-
-The Shell module now has an OO interface.
-
-=back
-
-=head1 Utility Changes
-
-=over 4
-
-=item *
-
-The Emacs perl mode (emacs/cperl-mode.el) has been updated to version
-4.31.
-
-=item *
-
-Perlbug is now much more robust. It also sends the bug report to
-perl.org, not perl.com.
-
-=item *
-
-The perlcc utility has been rewritten and its user interface (that is,
-command line) is much more like that of the Unix C compiler, cc.
-
-=item *
-
-The xsubpp utility for extension writers now understands POD
-documentation embedded in the *.xs files.
-
-=back
-
-=head1 New Documentation
-
-=over 4
-
-=item *
-
-perl56delta details the changes between the 5.005 release and the
-5.6.0 release.
-
-=item *
-
-perldebtut is a Perl debugging tutorial.
-
-=item *
-
-perlebcdic contains considerations for running Perl on EBCDIC platforms.
-Note that unfortunately EBCDIC platforms that used to supported back in
-Perl 5.005 are still unsupported by Perl 5.7.0; the plan, however, is to
-bring them back to the fold.
-
-=item *
-
-perlnewmod tells about writing and submitting a new module.
-
-=item *
-
-perlposix-bc explains using Perl on the POSIX-BC platform
-(an EBCDIC mainframe platform).
-
-=item *
-
-perlretut is a regular expression tutorial.
-
-=item *
-
-perlrequick is a regular expressions quick-start guide.
-Yes, much quicker than perlretut.
-
-=item *
-
-perlutil explains the command line utilities packaged with the Perl
-distribution.
-
-=back
-
-=head1 Performance Enhancements
-
-=over 4
-
-=item *
-
-map() that changes the size of the list should now work faster.
-
-=item *
-
-sort() has been changed to use mergesort internally as opposed to the
-earlier quicksort. For very small lists this may result in slightly
-slower sorting times, but in general the speedup should be at least
-20%. Additional bonuses are that the worst case behaviour of sort()
-is now better (in computer science terms it now runs in time O(N log N),
-as opposed to quicksort's Theta(N**2) worst-case run time behaviour),
-and that sort() is now stable (meaning that elements with identical
-keys will stay ordered as they were before the sort).
-
-=back
-
-=head1 Installation and Configuration Improvements
-
-=head2 Generic Improvements
-
-=over 4
-
-=item *
-
-INSTALL now explains how you can configure Perl to use 64-bit
-integers even on non-64-bit platforms.
-
-=item *
-
-Policy.sh policy change: if you are reusing a Policy.sh file
-(see INSTALL) and you use Configure -Dprefix=/foo/bar and in the old
-Policy $prefix eq $siteprefix and $prefix eq $vendorprefix, all of
-them will now be changed to the new prefix, /foo/bar. (Previously
-only $prefix changed.) If you do not like this new behaviour,
-specify prefix, siteprefix, and vendorprefix explicitly.
-
-=item *
-
-A new optional location for Perl libraries, otherlibdirs, is available.
-It can be used for example for vendor add-ons without disturbing Perl's
-own library directories.
-
-=item *
-
-In many platforms the vendor-supplied 'cc' is too stripped-down to
-build Perl (basically, 'cc' doesn't do ANSI C). If this seems
-to be the case and 'cc' does not seem to be the GNU C compiler
-'gcc', an automatic attempt is made to find and use 'gcc' instead.
-
-=item *
-
-gcc needs to closely track the operating system release to avoid
-build problems. If Configure finds that gcc was built for a different
-operating system release than is running, it now gives a clearly visible
-warning that there may be trouble ahead.
-
-=item *
-
-If binary compatibility with the 5.005 release is not wanted, Configure
-no longer suggests including the 5.005 modules in @INC.
-
-=item *
-
-Configure C<-S> can now run non-interactively.
-
-=item *
-
-configure.gnu now works with options with whitespace in them.
-
-=item *
-
-installperl now outputs everything to STDERR.
-
-=item *
-
-$Config{byteorder} is now computed dynamically (this is more robust
-with "fat binaries" where an executable image contains binaries for
-more than one binary platform.)
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 4
-
-=item *
-
-Several debugger fixes: exit code now reflects the script exit code,
-condition C<"0"> now treated correctly, the C<d> command now checks
-line number, the C<$.> no longer gets corrupted, all debugger output now
-goes correctly to the socket if RemotePort is set.
-
-=item *
-
-C<*foo{FORMAT}> now works.
-
-=item *
-
-Lexical warnings now propagating correctly between scopes.
-
-=item *
-
-Line renumbering with eval and C<#line> now works.
-
-=item *
-
-Fixed numerous memory leaks, especially in eval "".
-
-=item *
-
-Modulus of unsigned numbers now works (4063328477 % 65535 used to
-return 27406, instead of 27047).
-
-=item *
-
-Some "not a number" warnings introduced in 5.6.0 eliminated to be
-more compatible with 5.005. Infinity is now recognised as a number.
-
-=item *
-
-our() variables will not cause "will not stay shared" warnings.
-
-=item *
-
-pack "Z" now correctly terminates the string with "\0".
-
-=item *
-
-Fix password routines which in some shadow password platforms
-(e.g. HP-UX) caused getpwent() to return every other entry.
-
-=item *
-
-printf() no longer resets the numeric locale to "C".
-
-=item *
-
-C<q(a\\b)> now parses correctly as C<'a\\b'>.
-
-=item *
-
-Printing quads (64-bit integers) with printf/sprintf now works
-without the q L ll prefixes (assuming you are on a quad-capable platform).
-
-=item *
-
-Regular expressions on references and overloaded scalars now work.
-
-=item *
-
-scalar() now forces scalar context even when used in void context.
-
-=item *
-
-sort() arguments are now compiled in the right wantarray context
-(they were accidentally using the context of the sort() itself).
-
-=item *
-
-Changed the POSIX character class C<[[:space:]]> to include the (very
-rare) vertical tab character. Added a new POSIX-ish character class
-C<[[:blank:]]> which stands for horizontal whitespace (currently,
-the space and the tab).
-
-=item *
-
-$AUTOLOAD, sort(), lock(), and spawning subprocesses
-in multiple threads simultaneously are now thread-safe.
-
-=item *
-
-Allow read-only string on left hand side of non-modifying tr///.
-
-=item *
-
-Several Unicode fixes (but still not perfect).
-
-=over 8
-
-=item *
-
-BOMs (byte order marks) in the beginning of Perl files
-(scripts, modules) should now be transparently skipped.
-UTF-16 (UCS-2) encoded Perl files should now be read correctly.
-
-=item *
-
-The character tables have been updated to Unicode 3.0.1.
-
-=item *
-
-chr() for values greater than 127 now create utf8 when under use
-utf8.
-
-=item *
-
-Comparing with utf8 data does not magically upgrade non-utf8 data into
-utf8.
-
-=item *
-
-C<IsAlnum>, C<IsAlpha>, and C<IsWord> now match titlecase.
-
-=item *
-
-Concatenation with the C<.> operator or via variable interpolation,
-C<eq>, C<substr>, C<reverse>, C<quotemeta>, the C<x> operator,
-substitution with C<s///>, single-quoted UTF-8, should now work--in
-theory.
-
-=item *
-
-The C<tr///> operator now works I<slightly> better but is still rather
-broken. Note that the C<tr///CU> functionality has been removed (but
-see pack('U0', ...)).
-
-=item *
-
-vec() now refuses to deal with characters >255.
-
-=item *
-
-Zero entries were missing from the Unicode classes like C<IsDigit>.
-
-=back
-
-=item *
-
-UNIVERSAL::isa no longer caches methods incorrectly. (This broke
-the Tk extension with 5.6.0.)
-
-=back
-
-=head2 Platform Specific Changes and Fixes
-
-=over 4
-
-=item *
-
-BSDI 4.*
-
-Perl now works on post-4.0 BSD/OSes.
-
-=item *
-
-All BSDs
-
-Setting C<$0> now works (as much as possible; see perlvar for details).
-
-=item *
-
-Cygwin
-
-Numerous updates; currently synchronised with Cygwin 1.1.4.
-
-=item *
-
-EPOC
-
-EPOC update after Perl 5.6.0. See README.epoc.
-
-=item *
-
-FreeBSD 3.*
-
-Perl now works on post-3.0 FreeBSDs.
-
-=item *
-
-HP-UX
-
-README.hpux updated; C<Configure -Duse64bitall> now almost works.
-
-=item *
-
-IRIX
-
-Numerous compilation flag and hint enhancements; accidental mixing
-of 32-bit and 64-bit libraries (a doomed attempt) made much harder.
-
-=item *
-
-Linux
-
-Long doubles should now work (see INSTALL).
-
-=item *
-
-Mac OS Classic
-
-Compilation of the standard Perl distribution in Mac OS Classic should
-now work if you have the Metrowerks development environment and the
-missing Mac-specific toolkit bits. Contact the macperl mailing list
-for details.
-
-=item *
-
-MPE/iX
-
-MPE/iX update after Perl 5.6.0. See README.mpeix.
-
-=item *
-
-NetBSD/sparc
-
-Perl now works on NetBSD/sparc.
-
-=item *
-
-OS/2
-
-Now works with usethreads (see INSTALL).
-
-=item *
-
-Solaris
-
-64-bitness using the Sun Workshop compiler now works.
-
-=item *
-
-Tru64 (aka Digital UNIX, aka DEC OSF/1)
-
-The operating system version letter now recorded in $Config{osvers}.
-Allow compiling with gcc (previously explicitly forbidden). Compiling
-with gcc still not recommended because buggy code results, even with
-gcc 2.95.2.
-
-=item *
-
-Unicos
-
-Fixed various alignment problems that lead into core dumps either
-during build or later; no longer dies on math errors at runtime;
-now using full quad integers (64 bits), previously was using
-only 46 bit integers for speed.
-
-=item *
-
-VMS
-
-chdir() now works better despite a CRT bug; now works with MULTIPLICITY
-(see INSTALL); now works with Perl's malloc.
-
-=item *
-
-Windows
-
-=over 8
-
-=item *
-
-accept() no longer leaks memory.
-
-=item *
-
-Better chdir() return value for a non-existent directory.
-
-=item *
-
-New %ENV entries now propagate to subprocesses.
-
-=item *
-
-$ENV{LIB} now used to search for libs under Visual C.
-
-=item *
-
-A failed (pseudo)fork now returns undef and sets errno to EAGAIN.
-
-=item *
-
-Allow REG_EXPAND_SZ keys in the registry.
-
-=item *
-
-Can now send() from all threads, not just the first one.
-
-=item *
-
-Fake signal handling reenabled, bugs and all.
-
-=item *
-
-Less stack reserved per thread so that more threads can run
-concurrently. (Still 16M per thread.)
-
-=item *
-
-C<< File::Spec->tmpdir() >> now prefers C:/temp over /tmp
-(works better when perl is running as service).
-
-=item *
-
-Better UNC path handling under ithreads.
-
-=item *
-
-wait() and waitpid() now work much better.
-
-=item *
-
-winsock handle leak fixed.
-
-=back
-
-=back
-
-=head1 New or Changed Diagnostics
-
-All regular expression compilation error messages are now hopefully
-easier to understand both because the error message now comes before
-the failed regex and because the point of failure is now clearly
-marked.
-
-The various "opened only for", "on closed", "never opened" warnings
-drop the C<main::> prefix for filehandles in the C<main> package,
-for example C<STDIN> instead of <main::STDIN>.
-
-The "Unrecognized escape" warning has been extended to include C<\8>,
-C<\9>, and C<\_>. There is no need to escape any of the C<\w> characters.
-
-=head1 Changed Internals
-
-=over 4
-
-=item *
-
-perlapi.pod (a companion to perlguts) now attempts to document the
-internal API.
-
-=item *
-
-You can now build a really minimal perl called microperl.
-Building microperl does not require even running Configure;
-C<make -f Makefile.micro> should be enough. Beware: microperl makes
-many assumptions, some of which may be too bold; the resulting
-executable may crash or otherwise misbehave in wondrous ways.
-For careful hackers only.
-
-=item *
-
-Added rsignal(), whichsig(), do_join() to the publicised API.
-
-=item *
-
-Made possible to propagate customised exceptions via croak()ing.
-
-=item *
-
-Added is_utf8_char(), is_utf8_string(), bytes_to_utf8(), and utf8_to_bytes().
-
-=item *
-
-Now xsubs can have attributes just like subs.
-
-=back
-
-=head1 Known Problems
-
-=head2 Unicode Support Still Far From Perfect
-
-We're working on it. Stay tuned.
-
-=head2 EBCDIC Still A Lost Platform
-
-The plan is to bring them back.
-
-=head2 Building Extensions Can Fail Because Of Largefiles
-
-Certain extensions like mod_perl and BSD::Resource are known to have
-issues with `largefiles', a change brought by Perl 5.6.0 in which file
-offsets default to 64 bits wide, where supported. Modules may fail to
-compile at all or compile and work incorrectly. Currently there is no
-good solution for the problem, but Configure now provides appropriate
-non-largefile ccflags, ldflags, libswanted, and libs in the %Config
-hash (e.g., $Config{ccflags_nolargefiles}) so the extensions that are
-having problems can try configuring themselves without the
-largefileness. This is admittedly not a clean solution, and the
-solution may not even work at all. One potential failure is whether
-one can (or, if one can, whether it's a good idea) link together at
-all binaries with different ideas about file offsets, all this is
-platform-dependent.
-
-=head2 ftmp-security tests warn 'system possibly insecure'
-
-Don't panic. Read INSTALL 'make test' section instead.
-
-=head2 Test lib/posix Subtest 9 Fails In LP64-Configured HP-UX
-
-If perl is configured with -Duse64bitall, the successful result of the
-subtest 10 of lib/posix may arrive before the successful result of the
-subtest 9, which confuses the test harness so much that it thinks the
-subtest 9 failed.
-
-=head2 Long Doubles Still Don't Work In Solaris
-
-The experimental long double support is still very much so in Solaris.
-(Other platforms like Linux and Tru64 are beginning to solidify in
-this area.)
-
-=head2 Linux With Sfio Fails op/misc Test 48
-
-No known fix.
-
-=head2 Storable tests fail in some platforms
-
-If any Storable tests fail the use of Storable is not advisable.
-
-=over 4
-
-=item *
-
-Many Storable tests fail on AIX configured with 64 bit integers.
-
-So far unidentified problems break Storable in AIX if Perl is
-configured to use 64 bit integers. AIX in 32-bit mode works and
-other 64-bit platforms work with Storable.
-
-=item *
-
-DOS DJGPP may hang when testing Storable.
-
-=item *
-
-st-06compat fails in UNICOS and UNICOS/mk.
-
-This means that you cannot read old (pre-Storable-0.7) Storable images
-made in other platforms.
-
-=item *
-
-st-store.t and st-retrieve may fail with Compaq C 6.2 on OpenVMS Alpha 7.2.
-
-=back
-
-=head2 Threads Are Still Experimental
-
-Multithreading is still an experimental feature. Some platforms
-emit the following message for lib/thr5005
-
- #
- # This is a KNOWN FAILURE, and one of the reasons why threading
- # is still an experimental feature. It is here to stop people
- # from deploying threads in production. ;-)
- #
-
-and another known thread-related warning is
-
- pragma/overload......Unbalanced saves: 3 more saves than restores
- panic: magic_mutexfree during global destruction.
- ok
- lib/selfloader.......Unbalanced saves: 3 more saves than restores
- panic: magic_mutexfree during global destruction.
- ok
- lib/st-dclone........Unbalanced saves: 3 more saves than restores
- panic: magic_mutexfree during global destruction.
- ok
-
-=head2 The Compiler Suite Is Still Experimental
-
-The compiler suite is slowly getting better but is nowhere near
-working order yet. The backend part that has seen perhaps the most
-progress is the bytecode compiler.
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://bugs.perl.org/ There may also be
-information at http://www.perl.com/perl/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-=head1 SEE ALSO
-
-The F<Changes> file for exhaustive details on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=head1 HISTORY
-
-Written by Jarkko Hietaniemi <F<jhi@iki.fi>>, with many contributions
-from The Perl Porters and Perl Users submitting feedback and patches.
-
-Send omissions or corrections to <F<perlbug@perl.org>>.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl571delta.pod b/Master/tlpkg/tlperl/lib/pods/perl571delta.pod
deleted file mode 100644
index be36e044066..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl571delta.pod
+++ /dev/null
@@ -1,1075 +0,0 @@
-=head1 NAME
-
-perl571delta - what's new for perl v5.7.1
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.7.0 release and the
-5.7.1 release.
-
-(To view the differences between the 5.6.0 release and the 5.7.0
-release, see L<perl570delta>.)
-
-=head1 Security Vulnerability Closed
-
-(This change was already made in 5.7.0 but bears repeating here.)
-
-A potential security vulnerability in the optional suidperl component
-of Perl was identified in August 2000. suidperl is neither built nor
-installed by default. As of April 2001 the only known vulnerable
-platform is Linux, most likely all Linux distributions. CERT and
-various vendors and distributors have been alerted about the vulnerability.
-See http://www.cpan.org/src/5.0/sperl-2000-08-05/sperl-2000-08-05.txt
-for more information.
-
-The problem was caused by Perl trying to report a suspected security
-exploit attempt using an external program, /bin/mail. On Linux
-platforms the /bin/mail program had an undocumented feature which
-when combined with suidperl gave access to a root shell, resulting in
-a serious compromise instead of reporting the exploit attempt. If you
-don't have /bin/mail, or if you have 'safe setuid scripts', or if
-suidperl is not installed, you are safe.
-
-The exploit attempt reporting feature has been completely removed from
-all the Perl 5.7 releases (and will be gone also from the maintenance
-release 5.6.1), so that particular vulnerability isn't there anymore.
-However, further security vulnerabilities are, unfortunately, always
-possible. The suidperl code is being reviewed and if deemed too risky
-to continue to be supported, it may be completely removed from future
-releases. In any case, suidperl should only be used by security
-experts who know exactly what they are doing and why they are using
-suidperl instead of some other solution such as sudo
-( see http://www.courtesan.com/sudo/ ).
-
-=head1 Incompatible Changes
-
-=over 4
-
-=item *
-
-Although "you shouldn't do that", it was possible to write code that
-depends on Perl's hashed key order (Data::Dumper does this). The new
-algorithm "One-at-a-Time" produces a different hashed key order.
-More details are in L</"Performance Enhancements">.
-
-=item *
-
-The list of filenames from glob() (or <...>) is now by default sorted
-alphabetically to be csh-compliant. (bsd_glob() does still sort platform
-natively, ASCII or EBCDIC, unless GLOB_ALPHASORT is specified.)
-
-=back
-
-=head1 Core Enhancements
-
-=head2 AUTOLOAD Is Now Lvaluable
-
-AUTOLOAD is now lvaluable, meaning that you can add the :lvalue attribute
-to AUTOLOAD subroutines and you can assign to the AUTOLOAD return value.
-
-=head2 PerlIO is Now The Default
-
-=over 4
-
-=item *
-
-IO is now by default done via PerlIO rather than system's "stdio".
-PerlIO allows "layers" to be "pushed" onto a file handle to alter the
-handle's behaviour. Layers can be specified at open time via 3-arg
-form of open:
-
- open($fh,'>:crlf :utf8', $path) || ...
-
-or on already opened handles via extended C<binmode>:
-
- binmode($fh,':encoding(iso-8859-7)');
-
-The built-in layers are: unix (low level read/write), stdio (as in
-previous Perls), perlio (re-implementation of stdio buffering in a
-portable manner), crlf (does CRLF <=> "\n" translation as on Win32,
-but available on any platform). A mmap layer may be available if
-platform supports it (mostly Unixes).
-
-Layers to be applied by default may be specified via the 'open' pragma.
-
-See L</"Installation and Configuration Improvements"> for the effects
-of PerlIO on your architecture name.
-
-=item *
-
-File handles can be marked as accepting Perl's internal encoding of Unicode
-(UTF-8 or UTF-EBCDIC depending on platform) by a pseudo layer ":utf8" :
-
- open($fh,">:utf8","Uni.txt");
-
-Note for EBCDIC users: the pseudo layer ":utf8" is erroneously named
-for you since it's not UTF-8 what you will be getting but instead
-UTF-EBCDIC. See L<perlunicode>, L<utf8>, and
-http://www.unicode.org/unicode/reports/tr16/ for more information.
-In future releases this naming may change.
-
-=item *
-
-File handles can translate character encodings from/to Perl's internal
-Unicode form on read/write via the ":encoding()" layer.
-
-=item *
-
-File handles can be opened to "in memory" files held in Perl scalars via:
-
- open($fh,'>', \$variable) || ...
-
-=item *
-
-Anonymous temporary files are available without need to
-'use FileHandle' or other module via
-
- open($fh,"+>", undef) || ...
-
-That is a literal undef, not an undefined value.
-
-=item *
-
-The list form of C<open> is now implemented for pipes (at least on Unix):
-
- open($fh,"-|", 'cat', '/etc/motd')
-
-creates a pipe, and runs the equivalent of exec('cat', '/etc/motd') in
-the child process.
-
-=item *
-
-The following builtin functions are now overridable: chop(), chomp(),
-each(), keys(), pop(), push(), shift(), splice(), unshift().
-
-=item *
-
-Formats now support zero-padded decimal fields.
-
-=item *
-
-Perl now tries internally to use integer values in numeric conversions
-and basic arithmetics (+ - * /) if the arguments are integers, and
-tries also to keep the results stored internally as integers.
-This change leads into often slightly faster and always less lossy
-arithmetics. (Previously Perl always preferred floating point numbers
-in its math.)
-
-=item *
-
-The printf() and sprintf() now support parameter reordering using the
-C<%\d+\$> and C<*\d+\$> syntaxes. For example
-
- print "%2\$s %1\$s\n", "foo", "bar";
-
-will print "bar foo\n"; This feature helps in writing
-internationalised software.
-
-=item *
-
-Unicode in general should be now much more usable. Unicode can be
-used in hash keys, Unicode in regular expressions should work now,
-Unicode in tr/// should work now (though tr/// seems to be a
-particularly tricky to get right, so you have been warned)
-
-=item *
-
-The Unicode Character Database coming with Perl has been upgraded
-to Unicode 3.1. For more information, see http://www.unicode.org/ ,
-and http://www.unicode.org/unicode/reports/tr27/
-
-For developers interested in enhancing Perl's Unicode capabilities:
-almost all the UCD files are included with the Perl distribution in
-the lib/unicode subdirectory. The most notable omission, for space
-considerations, is the Unihan database.
-
-=item *
-
-The Unicode character classes \p{Blank} and \p{SpacePerl} have been
-added. "Blank" is like C isblank(), that is, it contains only
-"horizontal whitespace" (the space character is, the newline isn't),
-and the "SpacePerl" is the Unicode equivalent of C<\s> (\p{Space}
-isn't, since that includes the vertical tabulator character, whereas
-C<\s> doesn't.)
-
-=back
-
-=head2 Signals Are Now Safe
-
-Perl used to be fragile in that signals arriving at inopportune moments
-could corrupt Perl's internal state.
-
-=head1 Modules and Pragmata
-
-=head2 New Modules
-
-=over 4
-
-=item *
-
-B::Concise, by Stephen McCamant, is a new compiler backend for
-walking the Perl syntax tree, printing concise info about ops.
-The output is highly customisable.
-
-See L<B::Concise> for more information.
-
-=item *
-
-Class::ISA, by Sean Burke, for reporting the search path for a
-class's ISA tree, has been added.
-
-See L<Class::ISA> for more information.
-
-=item *
-
-Cwd has now a split personality: if possible, an extension is used,
-(this will hopefully be both faster and more secure and robust) but
-if not possible, the familiar Perl library implementation is used.
-
-=item *
-
-Digest, a frontend module for calculating digests (checksums),
-from Gisle Aas, has been added.
-
-See L<Digest> for more information.
-
-=item *
-
-Digest::MD5 for calculating MD5 digests (checksums), by Gisle Aas,
-has been added.
-
- use Digest::MD5 'md5_hex';
-
- $digest = md5_hex("Thirsty Camel");
-
- print $digest, "\n"; # 01d19d9d2045e005c3f1b80e8b164de1
-
-NOTE: the MD5 backward compatibility module is deliberately not
-included since its use is discouraged.
-
-See L<Digest::MD5> for more information.
-
-=item *
-
-Encode, by Nick Ing-Simmons, provides a mechanism to translate
-between different character encodings. Support for Unicode,
-ISO-8859-*, ASCII, CP*, KOI8-R, and three variants of EBCDIC are
-compiled in to the module. Several other encodings (like Japanese,
-Chinese, and MacIntosh encodings) are included and will be loaded at
-runtime.
-
-Any encoding supported by Encode module is also available to the
-":encoding()" layer if PerlIO is used.
-
-See L<Encode> for more information.
-
-=item *
-
-Filter::Simple is an easy-to-use frontend to Filter::Util::Call,
-from Damian Conway.
-
- # in MyFilter.pm:
-
- package MyFilter;
-
- use Filter::Simple sub {
- while (my ($from, $to) = splice @_, 0, 2) {
- s/$from/$to/g;
- }
- };
-
- 1;
-
- # in user's code:
-
- use MyFilter qr/red/ => 'green';
-
- print "red\n"; # this code is filtered, will print "green\n"
- print "bored\n"; # this code is filtered, will print "bogreen\n"
-
- no MyFilter;
-
- print "red\n"; # this code is not filtered, will print "red\n"
-
-See L<Filter::Simple> for more information.
-
-=item *
-
-Filter::Util::Call, by Paul Marquess, provides you with the
-framework to write I<Source Filters> in Perl. For most uses
-the frontend Filter::Simple is to be preferred.
-See L<Filter::Util::Call> for more information.
-
-=item *
-
-Locale::Constants, Locale::Country, Locale::Currency, and Locale::Language,
-from Neil Bowers, have been added. They provide the codes for various
-locale standards, such as "fr" for France, "usd" for US Dollar, and
-"jp" for Japanese.
-
- use Locale::Country;
-
- $country = code2country('jp'); # $country gets 'Japan'
- $code = country2code('Norway'); # $code gets 'no'
-
-See L<Locale::Constants>, L<Locale::Country>, L<Locale::Currency>,
-and L<Locale::Language> for more information.
-
-=item *
-
-MIME::Base64, by Gisle Aas, allows you to encode data in base64.
-
- use MIME::Base64;
-
- $encoded = encode_base64('Aladdin:open sesame');
- $decoded = decode_base64($encoded);
-
- print $encoded, "\n"; # "QWxhZGRpbjpvcGVuIHNlc2FtZQ=="
-
-See L<MIME::Base64> for more information.
-
-=item *
-
-MIME::QuotedPrint, by Gisle Aas, allows you to encode data in
-quoted-printable encoding.
-
- use MIME::QuotedPrint;
-
- $encoded = encode_qp("Smiley in Unicode: \x{263a}");
- $decoded = decode_qp($encoded);
-
- print $encoded, "\n"; # "Smiley in Unicode: =263A"
-
-MIME::QuotedPrint has been enhanced to provide the basic methods
-necessary to use it with PerlIO::Via as in :
-
- use MIME::QuotedPrint;
- open($fh,">Via(MIME::QuotedPrint)",$path)
-
-See L<MIME::QuotedPrint> for more information.
-
-=item *
-
-PerlIO::Scalar, by Nick Ing-Simmons, provides the implementation of
-IO to "in memory" Perl scalars as discussed above. It also serves as
-an example of a loadable layer. Other future possibilities include
-PerlIO::Array and PerlIO::Code. See L<PerlIO::Scalar> for more
-information.
-
-=item *
-
-PerlIO::Via, by Nick Ing-Simmons, acts as a PerlIO layer and wraps
-PerlIO layer functionality provided by a class (typically implemented
-in perl code).
-
- use MIME::QuotedPrint;
- open($fh,">Via(MIME::QuotedPrint)",$path)
-
-This will automatically convert everything output to C<$fh>
-to Quoted-Printable. See L<PerlIO::Via> for more information.
-
-=item *
-
-Pod::Text::Overstrike, by Joe Smith, has been added.
-It converts POD data to formatted overstrike text.
-See L<Pod::Text::Overstrike> for more information.
-
-=item *
-
-Switch from Damian Conway has been added. Just by saying
-
- use Switch;
-
-you have C<switch> and C<case> available in Perl.
-
- use Switch;
-
- switch ($val) {
-
- case 1 { print "number 1" }
- case "a" { print "string a" }
- case [1..10,42] { print "number in list" }
- case (@array) { print "number in list" }
- case /\w+/ { print "pattern" }
- case qr/\w+/ { print "pattern" }
- case (%hash) { print "entry in hash" }
- case (\%hash) { print "entry in hash" }
- case (\&sub) { print "arg to subroutine" }
- else { print "previous case not true" }
- }
-
-See L<Switch> for more information.
-
-=item *
-
-Text::Balanced from Damian Conway has been added, for
-extracting delimited text sequences from strings.
-
- use Text::Balanced 'extract_delimited';
-
- ($a, $b) = extract_delimited("'never say never', he never said", "'", '');
-
-$a will be "'never say never'", $b will be ', he never said'.
-
-In addition to extract_delimited() there are also extract_bracketed(),
-extract_quotelike(), extract_codeblock(), extract_variable(),
-extract_tagged(), extract_multiple(), gen_delimited_pat(), and
-gen_extract_tagged(). With these you can implement rather advanced
-parsing algorithms. See L<Text::Balanced> for more information.
-
-=item *
-
-Tie::RefHash::Nestable, by Edward Avis, allows storing hash references
-(unlike the standard Tie::RefHash) The module is contained within
-Tie::RefHash.
-
-=item *
-
-XS::Typemap, by Tim Jenness, is a test extension that exercises XS
-typemaps. Nothing gets installed but for extension writers the code
-is worth studying.
-
-=back
-
-=head2 Updated And Improved Modules and Pragmata
-
-=over 4
-
-=item *
-
-B::Deparse should be now more robust. It still far from providing a full
-round trip for any random piece of Perl code, though, and is under active
-development: expect more robustness in 5.7.2.
-
-=item *
-
-Class::Struct can now define the classes in compile time.
-
-=item *
-
-Math::BigFloat has undergone much fixing, and in addition the fmod()
-function now supports modulus operations.
-
-( The fixed Math::BigFloat module is also available in CPAN for those
-who can't upgrade their Perl: http://www.cpan.org/authors/id/J/JP/JPEACOCK/ )
-
-=item *
-
-Devel::Peek now has an interface for the Perl memory statistics
-(this works only if you are using perl's malloc, and if you have
-compiled with debugging).
-
-=item *
-
-IO::Socket has now atmark() method, which returns true if the socket
-is positioned at the out-of-band mark. The method is also exportable
-as a sockatmark() function.
-
-=item *
-
-IO::Socket::INET has support for ReusePort option (if your platform
-supports it). The Reuse option now has an alias, ReuseAddr. For clarity
-you may want to prefer ReuseAddr.
-
-=item *
-
-Net::Ping has been enhanced. There is now "external" protocol which
-uses Net::Ping::External module which runs external ping(1) and parses
-the output. An alpha version of Net::Ping::External is available in
-CPAN and in 5.7.2 the Net::Ping::External may be integrated to Perl.
-
-=item *
-
-The C<open> pragma allows layers other than ":raw" and ":crlf" when
-using PerlIO.
-
-=item *
-
-POSIX::sigaction() is now much more flexible and robust.
-You can now install coderef handlers, 'DEFAULT', and 'IGNORE'
-handlers, installing new handlers was not atomic.
-
-=item *
-
-The Test module has been significantly enhanced. Its use is
-greatly recommended for module writers.
-
-=item *
-
-The utf8:: name space (as in the pragma) provides various
-Perl-callable functions to provide low level access to Perl's
-internal Unicode representation. At the moment only length()
-has been implemented.
-
-=back
-
-The following modules have been upgraded from the versions at CPAN:
-CPAN, CGI, DB_File, File::Temp, Getopt::Long, Pod::Man, Pod::Text,
-Storable, Text-Tabs+Wrap.
-
-=head1 Performance Enhancements
-
-=over 4
-
-=item *
-
-Hashes now use Bob Jenkins "One-at-a-Time" hashing key algorithm
-( http://burtleburtle.net/bob/hash/doobs.html ). This algorithm is
-reasonably fast while producing a much better spread of values than
-the old hashing algorithm (originally by Chris Torek, later tweaked by
-Ilya Zakharevich). Hash values output from the algorithm on a hash of
-all 3-char printable ASCII keys comes much closer to passing the
-DIEHARD random number generation tests. According to perlbench, this
-change has not affected the overall speed of Perl.
-
-=item *
-
-unshift() should now be noticeably faster.
-
-=back
-
-=head1 Utility Changes
-
-=over 4
-
-=item *
-
-h2xs now produces template README.
-
-=item *
-
-s2p has been completely rewritten in Perl. (It is in fact a full
-implementation of sed in Perl.)
-
-=item *
-
-xsubpp now supports OUT keyword.
-
-=back
-
-=head1 New Documentation
-
-=head2 perlclib
-
-Internal replacements for standard C library functions.
-(Interesting only for extension writers and Perl core hackers.)
-
-=head2 perliol
-
-Internals of PerlIO with layers.
-
-=head2 README.aix
-
-Documentation on compiling Perl on AIX has been added. AIX has
-several different C compilers and getting the right patch level
-is essential. On install README.aix will be installed as L<perlaix>.
-
-=head2 README.bs2000
-
-Documentation on compiling Perl on the POSIX-BC platform (an EBCDIC
-mainframe environment) has been added.
-
-This was formerly known as README.posix-bc but the name was considered
-to be too confusing (it has nothing to do with the POSIX module or the
-POSIX standard). On install README.bs2000 will be installed as L<perlbs2000>.
-
-=head2 README.macos
-
-In perl 5.7.1 (and in the 5.6.1) the MacPerl sources have been
-synchronised with the standard Perl sources. To compile MacPerl
-some additional steps are required, and this file documents those
-steps. On install README.macos will be installed as L<perlmacos>.
-
-=head2 README.mpeix
-
-The README.mpeix has been podified, which means that this information
-about compiling and using Perl on the MPE/iX miniframe platform will
-be installed as L<perlmpeix>.
-
-=head2 README.solaris
-
-README.solaris has been created and Solaris wisdom from elsewhere
-in the Perl documentation has been collected there. On install
-README.solaris will be installed as L<perlsolaris>.
-
-=head2 README.vos
-
-The README.vos has been podified, which means that this information
-about compiling and using Perl on the Stratus VOS miniframe platform
-will be installed as L<perlvos>.
-
-=head2 Porting/repository.pod
-
-Documentation on how to use the Perl source repository has been added.
-
-=head1 Installation and Configuration Improvements
-
-=over 4
-
-=item *
-
-Because PerlIO is now the default on most platforms, "-perlio" doesn't
-get appended to the $Config{archname} (also known as $^O) anymore.
-Instead, if you explicitly choose not to use perlio (Configure command
-line option -Uuseperlio), you will get "-stdio" appended.
-
-=item *
-
-Another change related to the architecture name is that "-64all"
-(-Duse64bitall, or "maximally 64-bit") is appended only if your
-pointers are 64 bits wide. (To be exact, the use64bitall is ignored.)
-
-=item *
-
-APPLLIB_EXP, a less-know configuration-time definition, has been
-documented. It can be used to prepend site-specific directories
-to Perl's default search path (@INC), see INSTALL for information.
-
-=item *
-
-Building Berkeley DB3 for compatibility modes for DB, NDBM, and ODBM
-has been documented in INSTALL.
-
-=item *
-
-If you are on IRIX or Tru64 platforms, new profiling/debugging options
-have been added, see L<perlhack> for more information about pixie and
-Third Degree.
-
-=back
-
-=head2 New Or Improved Platforms
-
-For the list of platforms known to support Perl,
-see L<perlport/"Supported Platforms">.
-
-=over 4
-
-=item *
-
-AIX dynamic loading should be now better supported.
-
-=item *
-
-After a long pause, AmigaOS has been verified to be happy with Perl.
-
-=item *
-
-EBCDIC platforms (z/OS, also known as OS/390, POSIX-BC, and VM/ESA)
-have been regained. Many test suite tests still fail and the
-co-existence of Unicode and EBCDIC isn't quite settled, but the
-situation is much better than with Perl 5.6. See L<perlos390>,
-L<perlbs2000> (for POSIX-BC), and L<perlvmesa> for more information.
-
-=item *
-
-Building perl with -Duseithreads or -Duse5005threads now works under
-HP-UX 10.20 (previously it only worked under 10.30 or later). You will
-need a thread library package installed. See README.hpux.
-
-=item *
-
-Mac OS Classic (MacPerl has of course been available since
-perl 5.004 but now the source code bases of standard Perl
-and MacPerl have been synchronised)
-
-=item *
-
-NCR MP-RAS is now supported.
-
-=item *
-
-NonStop-UX is now supported.
-
-=item *
-
-Amdahl UTS is now supported.
-
-=item *
-
-z/OS (formerly known as OS/390, formerly known as MVS OE) has now
-support for dynamic loading. This is not selected by default,
-however, you must specify -Dusedl in the arguments of Configure.
-
-=back
-
-=head2 Generic Improvements
-
-=over 4
-
-=item *
-
-Configure no longer includes the DBM libraries (dbm, gdbm, db, ndbm)
-when building the Perl binary. The only exception to this is SunOS 4.x,
-which needs them.
-
-=item *
-
-Some new Configure symbols, useful for extension writers:
-
-=over 8
-
-=item d_cmsghdr
-
-For struct cmsghdr.
-
-=item d_fcntl_can_lock
-
-Whether fcntl() can be used for file locking.
-
-=item d_fsync
-
-=item d_getitimer
-
-=item d_getpagsz
-
-For getpagesize(), though you should prefer POSIX::sysconf(_SC_PAGE_SIZE))
-
-=item d_msghdr_s
-
-For struct msghdr.
-
-=item need_va_copy
-
-Whether one needs to use Perl_va_copy() to copy varargs.
-
-=item d_readv
-
-=item d_recvmsg
-
-=item d_sendmsg
-
-=item sig_size
-
-The number of elements in an array needed to hold all the available signals.
-
-=item d_sockatmark
-
-=item d_strtoq
-
-=item d_u32align
-
-Whether one needs to access character data aligned by U32 sized pointers.
-
-=item d_ualarm
-
-=item d_usleep
-
-=back
-
-=item *
-
-Removed Configure symbols: the PDP-11 memory model settings: huge,
-large, medium, models.
-
-=item *
-
-SOCKS support is now much more robust.
-
-=item *
-
-If your file system supports symbolic links you can build Perl outside
-of the source directory by
-
- mkdir perl/build/directory
- cd perl/build/directory
- sh /path/to/perl/source/Configure -Dmksymlinks ...
-
-This will create in perl/build/directory a tree of symbolic links
-pointing to files in /path/to/perl/source. The original files are left
-unaffected. After Configure has finished you can just say
-
- make all test
-
-and Perl will be built and tested, all in perl/build/directory.
-
-=back
-
-=head1 Selected Bug Fixes
-
-Numerous memory leaks and uninitialized memory accesses have been hunted down.
-Most importantly anonymous subs used to leak quite a bit.
-
-=over 4
-
-=item *
-
-chop(@list) in list context returned the characters chopped in
-reverse order. This has been reversed to be in the right order.
-
-=item *
-
-The order of DESTROYs has been made more predictable.
-
-=item *
-
-mkdir() now ignores trailing slashes in the directory name,
-as mandated by POSIX.
-
-=item *
-
-Attributes (like :shared) didn't work with our().
-
-=item *
-
-The PERL5OPT environment variable (for passing command line arguments
-to Perl) didn't work for more than a single group of options.
-
-=item *
-
-The tainting behaviour of sprintf() has been rationalized. It does
-not taint the result of floating point formats anymore, making the
-behaviour consistent with that of string interpolation.
-
-=item *
-
-All but the first argument of the IO syswrite() method are now optional.
-
-=item *
-
-Tie::ARRAY SPLICE method was broken.
-
-=item *
-
-vec() now tries to work with characters <= 255 when possible, but it leaves
-higher character values in place. In that case, if vec() was used to modify
-the string, it is no longer considered to be utf8-encoded.
-
-=back
-
-=head2 Platform Specific Changes and Fixes
-
-=over 4
-
-=item *
-
-Linux previously had problems related to sockaddrlen when using
-accept(), revcfrom() (in Perl: recv()), getpeername(), and getsockname().
-
-=item *
-
-Previously DYNIX/ptx had problems in its Configure probe for non-blocking I/O.
-
-=item *
-
-Windows
-
-=over 8
-
-=item *
-
-Borland C++ v5.5 is now a supported compiler that can build Perl.
-However, the generated binaries continue to be incompatible with those
-generated by the other supported compilers (GCC and Visual C++).
-
-=item *
-
-Win32::GetCwd() correctly returns C:\ instead of C: when at the drive root.
-Other bugs in chdir() and Cwd::cwd() have also been fixed.
-
-=item *
-
-Duping socket handles with open(F, ">&MYSOCK") now works under Windows 9x.
-
-=item *
-
-HTML files will be installed in c:\perl\html instead of c:\perl\lib\pod\html
-
-=item *
-
-The makefiles now provide a single switch to bulk-enable all the features
-enabled in ActiveState ActivePerl (a popular binary distribution).
-
-=back
-
-=back
-
-=head1 New or Changed Diagnostics
-
-Two new debugging options have been added: if you have compiled your
-Perl with debugging, you can use the -DT and -DR options to trace
-tokenising and to add reference counts to displaying variables,
-respectively.
-
-=over 4
-
-=item *
-
-If an attempt to use a (non-blessed) reference as an array index
-is made, a warning is given.
-
-=item *
-
-C<push @a;> and C<unshift @a;> (with no values to push or unshift)
-now give a warning. This may be a problem for generated and eval'ed
-code.
-
-=back
-
-=head1 Changed Internals
-
-=over 4
-
-=item *
-
-Some new APIs: ptr_table_clear(), ptr_table_free(), sv_setref_uv().
-For the full list of the available APIs see L<perlapi>.
-
-=item *
-
-dTHR and djSP have been obsoleted; the former removed (because it's
-a no-op) and the latter replaced with dSP.
-
-=item *
-
-Perl now uses system malloc instead of Perl malloc on all 64-bit
-platforms, and even in some not-always-64-bit platforms like AIX,
-IRIX, and Solaris. This change breaks backward compatibility but
-Perl's malloc has problems with large address spaces and also the
-speed of vendors' malloc is generally better in large address space
-machines (Perl's malloc is mostly tuned for space).
-
-=back
-
-=head1 New Tests
-
-Many new tests have been added. The most notable is probably the
-lib/1_compile: it is very notable because running it takes quite a
-long time. It test compiles all the Perl modules in the distribution.
-Please be patient.
-
-=head1 Known Problems
-
-Note that unlike other sections in this document (which describe
-changes since 5.7.0) this section is cumulative containing known
-problems for all the 5.7 releases.
-
-=head2 AIX vac 5.0.0.0 May Produce Buggy Code For Perl
-
-The AIX C compiler vac version 5.0.0.0 may produce buggy code,
-resulting in few random tests failing, but when the failing tests
-are run by hand, they succeed. We suggest upgrading to at least
-vac version 5.0.1.0, that has been known to compile Perl correctly.
-"lslpp -L|grep vac.C" will tell you the vac version.
-
-=head2 lib/ftmp-security tests warn 'system possibly insecure'
-
-Don't panic. Read INSTALL 'make test' section instead.
-
-=head2 lib/io_multihomed Fails In LP64-Configured HP-UX
-
-The lib/io_multihomed test may hang in HP-UX if Perl has been
-configured to be 64-bit. Because other 64-bit platforms do not hang in
-this test, HP-UX is suspect. All other tests pass in 64-bit HP-UX. The
-test attempts to create and connect to "multihomed" sockets (sockets
-which have multiple IP addresses).
-
-=head2 Test lib/posix Subtest 9 Fails In LP64-Configured HP-UX
-
-If perl is configured with -Duse64bitall, the successful result of the
-subtest 10 of lib/posix may arrive before the successful result of the
-subtest 9, which confuses the test harness so much that it thinks the
-subtest 9 failed.
-
-=head2 lib/b test 19
-
-The test fails on various platforms (PA64 and IA64 are known), but the
-exact cause is still being investigated.
-
-=head2 Linux With Sfio Fails op/misc Test 48
-
-No known fix.
-
-=head2 sigaction test 13 in VMS
-
-The test is known to fail; whether it's because of VMS of because
-of faulty test is not known.
-
-=head2 sprintf tests 129 and 130
-
-The op/sprintf tests 129 and 130 are known to fail on some platforms.
-Examples include any platform using sfio, and Compaq/Tandem's NonStop-UX.
-The failing platforms do not comply with the ANSI C Standard, line
-19ff on page 134 of ANSI X3.159 1989 to be exact. (They produce
-something else than "1" and "-1" when formatting 0.6 and -0.6 using
-the printf format "%.0f", most often they produce "0" and "-0".)
-
-=head2 Failure of Thread tests
-
-The subtests 19 and 20 of lib/thr5005.t test are known to fail due to
-fundamental problems in the 5.005 threading implementation. These are
-not new failures--Perl 5.005_0x has the same bugs, but didn't have
-these tests. (Note that support for 5.005-style threading remains
-experimental.)
-
-=head2 Localising a Tied Variable Leaks Memory
-
- use Tie::Hash;
- tie my %tie_hash => 'Tie::StdHash';
-
- ...
-
- local($tie_hash{Foo}) = 1; # leaks
-
-Code like the above is known to leak memory every time the local()
-is executed.
-
-=head2 Self-tying of Arrays and Hashes Is Forbidden
-
-Self-tying of arrays and hashes is broken in rather deep and
-hard-to-fix ways. As a stop-gap measure to avoid people from getting
-frustrated at the mysterious results (core dumps, most often) it is
-for now forbidden (you will get a fatal error even from an attempt).
-
-=head2 Building Extensions Can Fail Because Of Largefiles
-
-Some extensions like mod_perl are known to have issues with
-`largefiles', a change brought by Perl 5.6.0 in which file offsets
-default to 64 bits wide, where supported. Modules may fail to compile
-at all or compile and work incorrectly. Currently there is no good
-solution for the problem, but Configure now provides appropriate
-non-largefile ccflags, ldflags, libswanted, and libs in the %Config
-hash (e.g., $Config{ccflags_nolargefiles}) so the extensions that are
-having problems can try configuring themselves without the
-largefileness. This is admittedly not a clean solution, and the
-solution may not even work at all. One potential failure is whether
-one can (or, if one can, whether it's a good idea) link together at
-all binaries with different ideas about file offsets, all this is
-platform-dependent.
-
-=head2 The Compiler Suite Is Still Experimental
-
-The compiler suite is slowly getting better but is nowhere near
-working order yet.
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://bugs.perl.org/ There may also be
-information at http://www.perl.com/perl/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-=head1 SEE ALSO
-
-The F<Changes> file for exhaustive details on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=head1 HISTORY
-
-Written by Jarkko Hietaniemi <F<jhi@iki.fi>>, with many contributions
-from The Perl Porters and Perl Users submitting feedback and patches.
-
-Send omissions or corrections to <F<perlbug@perl.org>>.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl572delta.pod b/Master/tlpkg/tlperl/lib/pods/perl572delta.pod
deleted file mode 100644
index 67d091262e9..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl572delta.pod
+++ /dev/null
@@ -1,831 +0,0 @@
-=head1 NAME
-
-perl572delta - what's new for perl v5.7.2
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.7.1 release and the
-5.7.2 release.
-
-(To view the differences between the 5.6.0 release and the 5.7.0
-release, see L<perl570delta>. To view the differences between the
-5.7.0 release and the 5.7.1 release, see L<perl571delta>.)
-
-=head1 Security Vulnerability Closed
-
-(This change was already made in 5.7.0 but bears repeating here.)
-
-A security vulnerability affecting all Perl versions prior to 5.6.1
-was found in August 2000. The vulnerability does not affect default
-installations and as far as is known affects only the Linux platform.
-
-You should upgrade your Perl to 5.6.1 as soon as possible. Patches
-for earlier releases exist but using the patches require full
-recompilation from the source code anyway, so 5.6.1 is your best
-choice.
-
-See http://www.cpan.org/src/5.0/sperl-2000-08-05/sperl-2000-08-05.txt
-for more information.
-
-=head1 Incompatible Changes
-
-=head2 64-bit platforms and malloc
-
-If your pointers are 64 bits wide, the Perl malloc is no more being
-used because it simply does not work with 8-byte pointers. Also,
-usually the system malloc on such platforms are much better optimized
-for such large memory models than the Perl malloc.
-
-=head2 AIX Dynaloading
-
-The AIX dynaloading now uses in AIX releases 4.3 and newer the native
-dlopen interface of AIX instead of the old emulated interface. This
-change will probably break backward compatibility with compiled
-modules. The change was made to make Perl more compliant with other
-applications like modperl which are using the AIX native interface.
-
-=head2 Socket Extension Dynamic in VMS
-
-The Socket extension is now dynamically loaded instead of being
-statically built in. This may or may not be a problem with ancient
-TCP/IP stacks of VMS: we do not know since we weren't able to test
-Perl in such configurations.
-
-=head2 Different Definition of the Unicode Character Classes \p{In...}
-
-As suggested by the Unicode consortium, the Unicode character classes
-now prefer I<scripts> as opposed to I<blocks> (as defined by Unicode);
-in Perl, when the C<\p{In....}> and the C<\p{In....}> regular expression
-constructs are used. This has changed the definition of some of those
-character classes.
-
-The difference between scripts and blocks is that scripts are the
-glyphs used by a language or a group of languages, while the blocks
-are more artificial groupings of 256 characters based on the Unicode
-numbering.
-
-In general this change results in more inclusive Unicode character
-classes, but changes to the other direction also do take place:
-for example while the script C<Latin> includes all the Latin
-characters and their various diacritic-adorned versions, it
-does not include the various punctuation or digits (since they
-are not solely C<Latin>).
-
-Changes in the character class semantics may have happened if a script
-and a block happen to have the same name, for example C<Hebrew>.
-In such cases the script wins and C<\p{InHebrew}> now means the script
-definition of Hebrew. The block definition in still available,
-though, by appending C<Block> to the name: C<\p{InHebrewBlock}> means
-what C<\p{InHebrew}> meant in perl 5.6.0. For the full list
-of affected character classes, see L<perlunicode/Blocks>.
-
-=head2 Deprecations
-
-The current user-visible implementation of pseudo-hashes (the weird
-use of the first array element) is deprecated starting from Perl 5.8.0
-and will be removed in Perl 5.10.0, and the feature will be
-implemented differently. Not only is the current interface rather
-ugly, but the current implementation slows down normal array and hash
-use quite noticeably. The C<fields> pragma interface will remain
-available.
-
-The syntaxes C<< @a->[...] >> and C<< @h->{...} >> have now been deprecated.
-
-The suidperl is also considered to be too much a risk to continue
-maintaining and the suidperl code is likely to be removed in a future
-release.
-
-The C<package;> syntax (C<package> without an argument has been
-deprecated. Its semantics were never that clear and its
-implementation even less so. If you have used that feature to
-disallow all but fully qualified variables, C<use strict;> instead.
-
-The chdir(undef) and chdir('') behaviors to match chdir() has been
-deprecated. In future versions, chdir(undef) and chdir('') will
-simply fail.
-
-=head1 Core Enhancements
-
-In general a lot of fixing has happened in the area of Perl's
-understanding of numbers, both integer and floating point. Since in
-many systems the standard number parsing functions like C<strtoul()>
-and C<atof()> seem to have bugs, Perl tries to work around their
-deficiencies. This results hopefully in more accurate numbers.
-
-=over 4
-
-=item *
-
-The rules for allowing underscores (underbars) in numeric constants
-have been relaxed and simplified: now you can have an underscore
-B<between digits>.
-
-=item *
-
-GMAGIC (right-hand side magic) could in many cases such as string
-concatenation be invoked too many times.
-
-=item *
-
-Lexicals I: lexicals outside an eval "" weren't resolved
-correctly inside a subroutine definition inside the eval "" if they
-were not already referenced in the top level of the eval""ed code.
-
-=item *
-
-Lexicals II: lexicals leaked at file scope into subroutines that
-were declared before the lexicals.
-
-=item *
-
-Lvalue subroutines can now return C<undef> in list context.
-
-=item *
-
-The C<op_clear> and C<op_null> are now exported.
-
-=item *
-
-A new special regular expression variable has been introduced:
-C<$^N>, which contains the most-recently closed group (submatch).
-
-=item *
-
-L<utime> now supports C<utime undef, undef, @files> to change the
-file timestamps to the current time.
-
-=item *
-
-The Perl parser has been stress tested using both random input and
-Markov chain input.
-
-=item *
-
-C<eval "v200"> now works.
-
-=item *
-
-VMS now works under PerlIO.
-
-=item *
-
-END blocks are now run even if you exit/die in a BEGIN block.
-The execution of END blocks is now controlled by
-PL_exit_flags & PERL_EXIT_DESTRUCT_END. This enables the new
-behaviour for perl embedders. This will default in 5.10. See
-L<perlembed>.
-
-=back
-
-=head1 Modules and Pragmata
-
-=head2 New Modules and Distributions
-
-=over 4
-
-=item *
-
-L<Attribute::Handlers> - Simpler definition of attribute handlers
-
-=item *
-
-L<ExtUtils::Constant> - generate XS code to import C header constants
-
-=item *
-
-L<I18N::Langinfo> - query locale information
-
-=item *
-
-L<I18N::LangTags> - functions for dealing with RFC3066-style language tags
-
-=item *
-
-L<libnet> - a collection of perl5 modules related to network programming
-
-Perl installation leaves libnet unconfigured, use F<libnetcfg> to configure.
-
-=item *
-
-L<List::Util> - selection of general-utility list subroutines
-
-=item *
-
-L<Locale::Maketext> - framework for localization
-
-=item *
-
-L<Memoize> - Make your functions faster by trading space for time
-
-=item *
-
-L<NEXT> - pseudo-class for method redispatch
-
-=item *
-
-L<Scalar::Util> - selection of general-utility scalar subroutines
-
-=item *
-
-L<Test::More> - yet another framework for writing test scripts
-
-=item *
-
-L<Test::Simple> - Basic utilities for writing tests
-
-=item *
-
-L<Time::HiRes> - high resolution ualarm, usleep, and gettimeofday
-
-=item *
-
-L<Time::Piece> - Object Oriented time objects
-
-(Previously known as L<Time::Object>.)
-
-=item *
-
-L<Time::Seconds> - a simple API to convert seconds to other date values
-
-=item *
-
-L<UnicodeCD> - Unicode Character Database
-
-=back
-
-=head2 Updated And Improved Modules and Pragmata
-
-=over 4
-
-=item *
-
-L<B::Deparse> module has been significantly enhanced. It now
-can deparse almost all of the standard test suite (so that the
-tests still succeed). There is a make target "test.deparse"
-for trying this out.
-
-=item *
-
-L<Class::Struct> now assigns the array/hash element if the accessor
-is called with an array/hash element as the B<sole> argument.
-
-=item *
-
-L<Cwd> extension is now (even) faster.
-
-=item *
-
-L<DB_File> extension has been updated to version 1.77.
-
-=item *
-
-L<Fcntl>, L<Socket>, and L<Sys::Syslog> have been rewritten to use the
-new-style constant dispatch section (see L<ExtUtils::Constant>).
-
-=item *
-
-L<File::Find> is now (again) reentrant. It also has been made
-more portable.
-
-=item *
-
-L<File::Glob> now supports C<GLOB_LIMIT> constant to limit the
-size of the returned list of filenames.
-
-=item *
-
-L<IO::Socket::INET> now supports C<LocalPort> of zero (usually meaning
-that the operating system will make one up.)
-
-=item *
-
-The L<vars> pragma now supports declaring fully qualified variables.
-(Something that C<our()> does not and will not support.)
-
-=back
-
-=head1 Utility Changes
-
-=over 4
-
-=item *
-
-The F<emacs/e2ctags.pl> is now much faster.
-
-=item *
-
-L<h2ph> now supports C trigraphs.
-
-=item *
-
-L<h2xs> uses the new L<ExtUtils::Constant> module which will affect
-newly created extensions that define constants. Since the new code is
-more correct (if you have two constants where the first one is a
-prefix of the second one, the first constant B<never> gets defined),
-less lossy (it uses integers for integer constant, as opposed to the
-old code that used floating point numbers even for integer constants),
-and slightly faster, you might want to consider regenerating your
-extension code (the new scheme makes regenerating easy).
-L<h2xs> now also supports C trigraphs.
-
-=item *
-
-L<libnetcfg> has been added to configure the libnet.
-
-=item *
-
-The F<Pod::Html> (and thusly L<pod2html>) now allows specifying
-a cache directory.
-
-=back
-
-=head1 New Documentation
-
-=over 4
-
-=item *
-
-L<Locale::Maketext::TPJ13> is an article about software localization,
-originally published in The Perl Journal #13, republished here with
-kind permission.
-
-=item *
-
-More README.$PLATFORM files have been converted into pod, which also
-means that they also be installed as perl$PLATFORM documentation
-files. The new files are L<perlapollo>, L<perlbeos>, L<perldgux>,
-L<perlhurd>, L<perlmint>, L<perlnetware>, L<perlplan9>, L<perlqnx>,
-and L<perltru64>.
-
-=item *
-
-The F<Todo> and F<Todo-5.6> files have been merged into L<perltodo>.
-
-=item *
-
-Use of the F<gprof> tool to profile Perl has been documented in
-L<perlhack>. There is a make target "perl.gprof" for generating a
-gprofiled Perl executable.
-
-=back
-
-=head1 Installation and Configuration Improvements
-
-=head2 New Or Improved Platforms
-
-=over 4
-
-=item *
-
-AIX should now work better with gcc, threads, and 64-bitness. Also the
-long doubles support in AIX should be better now. See L<perlaix>.
-
-=item *
-
-AtheOS ( http://www.atheos.cx/ ) is a new platform.
-
-=item *
-
-DG/UX platform now supports the 5.005-style threads. See L<perldgux>.
-
-=item *
-
-DYNIX/ptx platform (a.k.a. dynixptx) is supported at or near osvers 4.5.2.
-
-=item *
-
-Several Mac OS (Classic) portability patches have been applied. We
-hope to get a fully working port by 5.8.0. (The remaining problems
-relate to the changed IO model of Perl.) See L<perlmacos>.
-
-=item *
-
-Mac OS X (or Darwin) should now be able to build Perl even on HFS+
-filesystems. (The case-insensitivity confused the Perl build process.)
-
-=item *
-
-NetWare from Novell is now supported. See L<perlnetware>.
-
-=item *
-
-The Amdahl UTS Unix mainframe platform is now supported.
-
-=back
-
-=head2 Generic Improvements
-
-=over 4
-
-=item *
-
-In AFS installations one can configure the root of the AFS to be
-somewhere else than the default F</afs> by using the Configure
-parameter C<-Dafsroot=/some/where/else>.
-
-=item *
-
-The version of Berkeley DB used when the Perl (and, presumably, the
-DB_File extension) was built is now available as
-C<@Config{qw(db_version_major db_version_minor db_version_patch)}>
-from Perl and as C<DB_VERSION_MAJOR_CFG DB_VERSION_MINOR_CFG
-DB_VERSION_PATCH_CFG> from C.
-
-=item *
-
-The Thread extension is now not built at all under ithreads
-(C<Configure -Duseithreads>) because it wouldn't work anyway (the
-Thread extension requires being Configured with C<-Duse5005threads>).
-
-=item *
-
-The C<B::Deparse> compiler backend has been so significantly improved
-that almost the whole Perl test suite passes after being deparsed. A
-make target has been added to help in further testing: C<make test.deparse>.
-
-=back
-
-=head1 Selected Bug Fixes
-
-=over 5
-
-=item *
-
-The autouse pragma didn't work for Multi::Part::Function::Names.
-
-=item *
-
-The behaviour of non-decimal but numeric string constants such as
-"0x23" was platform-dependent: in some platforms that was seen as 35,
-in some as 0, in some as a floating point number (don't ask). This
-was caused by Perl using the operating system libraries in a situation
-where the result of the string to number conversion is undefined: now
-Perl consistently handles such strings as zero in numeric contexts.
-
-=item *
-
-L<dprofpp> -R didn't work.
-
-=item *
-
-PERL5OPT with embedded spaces didn't work.
-
-=item *
-
-L<Sys::Syslog> ignored the C<LOG_AUTH> constant.
-
-=back
-
-=head2 Platform Specific Changes and Fixes
-
-=over 4
-
-=item *
-
-Some versions of glibc have a broken modfl(). This affects builds
-with C<-Duselongdouble>. This version of Perl detects this brokenness
-and has a workaround for it. The glibc release 2.2.2 is known to have
-fixed the modfl() bug.
-
-=back
-
-=head1 New or Changed Diagnostics
-
-=over 4
-
-=item *
-
-In the regular expression diagnostics the C<E<lt>E<lt> HERE> marker
-introduced in 5.7.0 has been changed to be C<E<lt>-- HERE> since too
-many people found the C<E<lt>E<lt>> to be too similar to here-document
-starters.
-
-=item *
-
-If you try to L<perlfunc/pack> a number less than 0 or larger than 255
-using the C<"C"> format you will get an optional warning. Similarly
-for the C<"c"> format and a number less than -128 or more than 127.
-
-=item *
-
-Certain regex modifiers such as C<(?o)> make sense only if applied to
-the entire regex. You will an optional warning if you try to do otherwise.
-
-=item *
-
-Using arrays or hashes as references (e.g. C<< %foo->{bar} >> has been
-deprecated for a while. Now you will get an optional warning.
-
-=back
-
-=head1 Source Code Enhancements
-
-=head2 MAGIC constants
-
-The MAGIC constants (e.g. C<'P'>) have been macrofied
-(e.g. C<PERL_MAGIC_TIED>) for better source code readability
-and maintainability.
-
-=head2 Better commented code
-
-F<perly.c>, F<sv.c>, and F<sv.h> have now been extensively commented.
-
-=head2 Regex pre-/post-compilation items matched up
-
-The regex compiler now maintains a structure that identifies nodes in
-the compiled bytecode with the corresponding syntactic features of the
-original regex expression. The information is attached to the new
-C<offsets> member of the C<struct regexp>. See L<perldebguts> for more
-complete information.
-
-=head2 gcc -Wall
-
-The C code has been made much more C<gcc -Wall> clean. Some warning
-messages still remain, though, so if you are compiling with gcc you
-will see some warnings about dubious practices. The warnings are
-being worked on.
-
-=head1 New Tests
-
-Several new tests have been added, especially for the F<lib> subsection.
-
-The tests are now reported in a different order than in earlier Perls.
-(This happens because the test scripts from under t/lib have been moved
-to be closer to the library/extension they are testing.)
-
-=head1 Known Problems
-
-Note that unlike other sections in this document (which describe
-changes since 5.7.0) this section is cumulative containing known
-problems for all the 5.7 releases.
-
-=head2 AIX
-
-=over 4
-
-=item *
-
-In AIX 4.2 Perl extensions that use C++ functions that use statics
-may have problems in that the statics are not getting initialized.
-In newer AIX releases this has been solved by linking Perl with
-the libC_r library, but unfortunately in AIX 4.2 the said library
-has an obscure bug where the various functions related to time
-(such as time() and gettimeofday()) return broken values, and
-therefore in AIX 4.2 Perl is not linked against the libC_r.
-
-=item *
-
-vac 5.0.0.0 May Produce Buggy Code For Perl
-
-The AIX C compiler vac version 5.0.0.0 may produce buggy code,
-resulting in few random tests failing, but when the failing tests
-are run by hand, they succeed. We suggest upgrading to at least
-vac version 5.0.1.0, that has been known to compile Perl correctly.
-"lslpp -L|grep vac.C" will tell you the vac version.
-
-=back
-
-=head2 Amiga Perl Invoking Mystery
-
-One cannot call Perl using the C<volume:> syntax, that is, C<perl -v>
-works, but for example C<bin:perl -v> doesn't. The exact reason is
-known but the current suspect is the F<ixemul> library.
-
-=head2 lib/ftmp-security tests warn 'system possibly insecure'
-
-Don't panic. Read INSTALL 'make test' section instead.
-
-=head2 Cygwin intermittent failures of lib/Memoize/t/expire_file 11 and 12
-
-The subtests 11 and 12 sometimes fail and sometimes work.
-
-=head2 HP-UX lib/io_multihomed Fails When LP64-Configured
-
-The lib/io_multihomed test may hang in HP-UX if Perl has been
-configured to be 64-bit. Because other 64-bit platforms do not hang in
-this test, HP-UX is suspect. All other tests pass in 64-bit HP-UX. The
-test attempts to create and connect to "multihomed" sockets (sockets
-which have multiple IP addresses).
-
-=head2 HP-UX lib/posix Subtest 9 Fails When LP64-Configured
-
-If perl is configured with -Duse64bitall, the successful result of the
-subtest 10 of lib/posix may arrive before the successful result of the
-subtest 9, which confuses the test harness so much that it thinks the
-subtest 9 failed.
-
-=head2 Linux With Sfio Fails op/misc Test 48
-
-No known fix.
-
-=head2 OS/390
-
-OS/390 has rather many test failures but the situation is actually
-better than it was in 5.6.0, it's just that so many new modules and
-tests have been added.
-
- Failed Test Stat Wstat Total Fail Failed List of Failed
- -----------------------------------------------------------------------------
- ../ext/B/Deparse.t 14 1 7.14% 14
- ../ext/B/Showlex.t 1 1 100.00% 1
- ../ext/Encode/Encode/Tcl.t 610 13 2.13% 592 594 596 598
- 600 602 604-610
- ../ext/IO/lib/IO/t/io_unix.t 113 28928 5 3 60.00% 3-5
- ../ext/POSIX/POSIX.t 29 1 3.45% 14
- ../ext/Storable/t/lock.t 255 65280 5 3 60.00% 3-5
- ../lib/locale.t 129 33024 117 19 16.24% 99-117
- ../lib/warnings.t 434 1 0.23% 75
- ../lib/ExtUtils.t 27 1 3.70% 25
- ../lib/Math/BigInt/t/bigintpm.t 1190 1 0.08% 1145
- ../lib/Unicode/UCD.t 81 48 59.26% 1-16 49-64 66-81
- ../lib/User/pwent.t 9 1 11.11% 4
- op/pat.t 660 6 0.91% 242-243 424-425
- 626-627
- op/split.t 0 9 ?? ?? % ??
- op/taint.t 174 3 1.72% 156 162 168
- op/tr.t 70 3 4.29% 50 58-59
- Failed 16/422 test scripts, 96.21% okay. 105/23251 subtests failed, 99.55% okay.
-
-=head2 op/sprintf tests 129 and 130
-
-The op/sprintf tests 129 and 130 are known to fail on some platforms.
-Examples include any platform using sfio, and Compaq/Tandem's NonStop-UX.
-The failing platforms do not comply with the ANSI C Standard, line
-19ff on page 134 of ANSI X3.159 1989 to be exact. (They produce
-something other than "1" and "-1" when formatting 0.6 and -0.6 using
-the printf format "%.0f", most often they produce "0" and "-0".)
-
-=head2 Failure of Thread tests
-
-B<Note that support for 5.005-style threading remains experimental.>
-
-The following tests are known to fail due to fundamental problems in
-the 5.005 threading implementation. These are not new failures--Perl
-5.005_0x has the same bugs, but didn't have these tests.
-
- lib/autouse.t 4
- t/lib/thr5005.t 19-20
-
-=head2 UNICOS
-
-=over 4
-
-=item *
-
-ext/POSIX/sigaction subtests 6 and 13 may fail.
-
-=item *
-
-lib/ExtUtils may spuriously claim that subtest 28 failed,
-which is interesting since the test only has 27 tests.
-
-=item *
-
-Numerous numerical test failures
-
- op/numconvert 209,210,217,218
- op/override 7
- ext/Time/HiRes/HiRes 9
- lib/Math/BigInt/t/bigintpm 1145
- lib/Math/Trig 25
-
-These tests fail because of yet unresolved floating point inaccuracies.
-
-=back
-
-=head2 UTS
-
-There are a few known test failures, see L<perluts>.
-
-=head2 VMS
-
-Rather many tests are failing in VMS but that actually more tests
-succeed in VMS than they used to, it's just that there are many,
-many more tests than there used to be.
-
-Here are the known failures from some compiler/platform combinations.
-
-DEC C V5.3-006 on OpenVMS VAX V6.2
-
- [-.ext.list.util.t]tainted..............FAILED on test 3
- [-.ext.posix]sigaction..................FAILED on test 7
- [-.ext.time.hires]hires.................FAILED on test 14
- [-.lib.file.find]taint..................FAILED on test 17
- [-.lib.math.bigint.t]bigintpm...........FAILED on test 1183
- [-.lib.test.simple.t]exit...............FAILED on test 1
- [.lib]vmsish............................FAILED on test 13
- [.op]sprintf............................FAILED on test 12
- Failed 8/399 tests, 91.23% okay.
-
-DEC C V6.0-001 on OpenVMS Alpha V7.2-1 and
-Compaq C V6.2-008 on OpenVMS Alpha V7.1
-
- [-.ext.list.util.t]tainted..............FAILED on test 3
- [-.lib.file.find]taint..................FAILED on test 17
- [-.lib.test.simple.t]exit...............FAILED on test 1
- [.lib]vmsish............................FAILED on test 13
- Failed 4/399 tests, 92.48% okay.
-
-Compaq C V6.4-005 on OpenVMS Alpha 7.2.1
-
- [-.ext.b]showlex........................FAILED on test 1
- [-.ext.list.util.t]tainted..............FAILED on test 3
- [-.lib.file.find]taint..................FAILED on test 17
- [-.lib.test.simple.t]exit...............FAILED on test 1
- [.lib]vmsish............................FAILED on test 13
- [.op]misc...............................FAILED on test 49
- Failed 6/401 tests, 92.77% okay.
-
-=head2 Win32
-
-In multi-CPU boxes there are some problems with the I/O buffering:
-some output may appear twice.
-
-=head2 Localising a Tied Variable Leaks Memory
-
- use Tie::Hash;
- tie my %tie_hash => 'Tie::StdHash';
-
- ...
-
- local($tie_hash{Foo}) = 1; # leaks
-
-Code like the above is known to leak memory every time the local()
-is executed.
-
-=head2 Self-tying of Arrays and Hashes Is Forbidden
-
-Self-tying of arrays and hashes is broken in rather deep and
-hard-to-fix ways. As a stop-gap measure to avoid people from getting
-frustrated at the mysterious results (core dumps, most often) it is
-for now forbidden (you will get a fatal error even from an attempt).
-
-=head2 Variable Attributes are not Currently Usable for Tying
-
-This limitation will hopefully be fixed in future. (Subroutine
-attributes work fine for tying, see L<Attribute::Handlers>).
-
-=head2 Building Extensions Can Fail Because Of Largefiles
-
-Some extensions like mod_perl are known to have issues with
-`largefiles', a change brought by Perl 5.6.0 in which file offsets
-default to 64 bits wide, where supported. Modules may fail to compile
-at all or compile and work incorrectly. Currently there is no good
-solution for the problem, but Configure now provides appropriate
-non-largefile ccflags, ldflags, libswanted, and libs in the %Config
-hash (e.g., $Config{ccflags_nolargefiles}) so the extensions that are
-having problems can try configuring themselves without the
-largefileness. This is admittedly not a clean solution, and the
-solution may not even work at all. One potential failure is whether
-one can (or, if one can, whether it's a good idea) link together at
-all binaries with different ideas about file offsets, all this is
-platform-dependent.
-
-=head2 The Compiler Suite Is Still Experimental
-
-The compiler suite is slowly getting better but is nowhere near
-working order yet.
-
-=head2 The Long Double Support is Still Experimental
-
-The ability to configure Perl's numbers to use "long doubles",
-floating point numbers of hopefully better accuracy, is still
-experimental. The implementations of long doubles are not yet
-widespread and the existing implementations are not quite mature
-or standardised, therefore trying to support them is a rare
-and moving target. The gain of more precision may also be offset
-by slowdown in computations (more bits to move around, and the
-operations are more likely to be executed by less optimised
-libraries).
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://bugs.perl.org/ There may also be
-information at http://www.perl.com/perl/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-=head1 SEE ALSO
-
-The F<Changes> file for exhaustive details on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=head1 HISTORY
-
-Written by Jarkko Hietaniemi <F<jhi@iki.fi>>, with many contributions
-from The Perl Porters and Perl Users submitting feedback and patches.
-
-Send omissions or corrections to <F<perlbug@perl.org>>.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl573delta.pod b/Master/tlpkg/tlperl/lib/pods/perl573delta.pod
deleted file mode 100644
index 00e73fed8bf..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl573delta.pod
+++ /dev/null
@@ -1,246 +0,0 @@
-=head1 NAME
-
-perl573delta - what's new for perl v5.7.3
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.7.2 release and the
-5.7.3 release.
-
-(To view the differences between the 5.6.0 release and the 5.7.0
-release, see L<perl570delta>. To view the differences between the
-5.7.0 release and the 5.7.1 release, see L<perl571delta>. To view
-the differences between the 5.7.1 release and the 5.7.2 release,
-see L<perl572delta>.)
-
-=head1 Changes
-
-This is just a selected list of some of the more notable changes.
-The numbers refer to the Perl repository change numbers; see
-L<Changes58> (or L<Changes> in Perl 5.8.1). In addition to these
-changes, lots of work took place in integrating threads, PerlIO, and
-Unicode; general code cleanup; and last but not least porting to
-non-Unix lands such as Win32, VMS, Cygwin, DJGPP, VOS, MacOS Classic,
-and EBCDIC.
-
-=over 4
-
-=item 11362
-
-add LC_MESSAGES to POSIX :locale_h export tag
-
-=item 11371
-
-add DEL to [:cntrl:]
-
-=item 11375
-
-make h2ph understand constants like 1234L and 5678LL
-
-=item 11405
-
-Win32: fix bugs in handling of the virtualized environment
-
-=item 11410
-
-fix a bug in the security taint checking of open()
-
-=item 11423
-
-make perl fork() safe even on platforms that don't have pthread_atfork()
-
-=item 11459
-
-make switching optimization and debugging levels during Perl builds
-easier via the OPTIMIZE environment variable
-
-=item 11475
-
-make split()'s unused captures to be undef, not ''
-
-=item 11485
-
-Search::Dict: allow transforming lines before comparing
-
-=item 11490
-
-allow installing extra modules or bundles when building Perl
-
-=item 11516
-
-add -Wall in cflags when compiling with gcc to weed out dubious
-C practices
-
-=item 11541
-
-pluggable optimizer
-
-=item 11549
-
-WinCE: integrate the port
-
-=item 11589
-
-Win32: 4-arg select was broken
-
-=item 11594
-
-introduce the perlivp utility for verifying the Perl installation
-(IVP = Installation Verification Procedure)
-
-=item 11623
-
-rename lib/unicode to lib/unicore to avoid case-insensitivity problems
-with lib/Unicode
-
-=item 111631
-
-remove Time::Piece
-
-=item 11643
-
-document that use utf8 is not the right way most of the time
-
-=item 11656
-
-allow building perl with -DUSE_UTF8_SCRIPTS which makes UTF-8
-the default script encoding (not the default since that would
-break all scripts having legacy eight-bit data in them)
-
-=item 11725
-
-division preserving 64-bit integers
-
-=item 11743
-
-document the coderef-in-@INC feature
-
-=item 11794
-
-modulo (%) preserving 64-bit integers
-
-=item 11825
-
-update to Unicode 3.1.1
-
-=item 11865
-
-add the \[$@%&*] prototype support
-
-=item 11874
-
-oct() and hex() in glorious 64 bit
-
-=item 11877
-
-Class::Struct: allow recursive classes
-
-=item 11993
-
-fix unpack U to be the reverse of pack U
-
-=item 12056
-
-VMS: waitpid enhancements
-
-=item 12180
-
-unpack("Z*Z*", pack("Z*Z*", ..)) was broken
-
-=item 12243
-
-Devel::Peek: display UTF-8 SVs also as \x{...}
-
-=item 12288
-
-Data::Dumper: option to sort hashes
-
-=item 12542
-
-add perlpodspec
-
-=item 12652
-
-threadsafe DynaLoader, re, Opcode, File::Glob, and B
-
-=item 12756
-
-support BeOS better
-
-=item 12874
-
-read-only hashes (user-level interface is Hash::Util)
-
-=item 13162
-
-add Devel::PPPort
-
-=item 13179
-
-add the sort pragma
-
-=item 13326
-
-VMS: fix perl -P
-
-=item 13358
-
-add perlpacktut
-
-=item 13452
-
-SUPER-UX: add hints file
-
-=item 13575
-
-Win32: non-blocking waitpid(-1,WNOHANG)
-
-=item 13684
-
-introduce the -t option for gentler taint checking
-
-=item 14694
-
-add the if pragma
-
-=item 14832
-
-implement IV/UV/NV/long double un/packing with j/J/F/D
-
-=item 14854
-
-document the new taint behaviour of exec LIST and system LIST
-
-=back
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://bugs.perl.org. There may also be
-information at http://www.perl.com/, the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-=head1 SEE ALSO
-
-The F<Changes> file for exhaustive details on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=head1 HISTORY
-
-Written by Jarkko Hietaniemi <F<jhi@iki.fi>>, with many contributions
-from The Perl Porters and Perl Users submitting feedback and patches.
-
-Send omissions or corrections to <F<perlbug@perl.org>>.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl589delta.pod b/Master/tlpkg/tlperl/lib/pods/perl589delta.pod
index 8cd1cf67348..f10099ccfa4 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl589delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl589delta.pod
@@ -1228,7 +1228,7 @@ Hanssen).
=item *
-L<reverse> function documentation received scalar context examples.
+C<reverse> function documentation received scalar context examples.
=back
@@ -1259,7 +1259,7 @@ L<perlsub> example is updated to use a lexical variable for C<opendir> syntax.
L<perlvar> fixes confusion about real GID C<$(> and effective GID C<$)>.
Perl thread tutorial example is fixed in section
-L<perlthrtut/Queues: Passing Data Around> and L<perlothrtut>.
+L<perlthrtut/Queues: Passing Data Around> and L<perlthrtut>.
L<perlhack> documentation extensively improved by Jarkko Hietaniemi and others.
@@ -2317,7 +2317,8 @@ the Perl 5 bugs at http://bugs.perl.org/
If the bug you are reporting has security implications, which make it
inappropriate to send to a publicly archived mailing list, then please send
it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
+unarchived mailing list, which includes
+all the core committers, who will be able
to help assess the impact of issues, figure out a resolution, and help
co-ordinate the release of patches to mitigate or fix the problem across all
platforms on which Perl is supported. Please only use this address for security
diff --git a/Master/tlpkg/tlperl/lib/pods/perl58delta.pod b/Master/tlpkg/tlperl/lib/pods/perl58delta.pod
index f3a86798292..0612ca6bae9 100644
--- a/Master/tlpkg/tlperl/lib/pods/perl58delta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perl58delta.pod
@@ -730,7 +730,7 @@ for details. [561]
=item *
-L<utime> now supports C<utime undef, undef, @files> to change the
+L<perlfunc/utime> now supports C<utime undef, undef, @files> to change the
file timestamps to the current time.
=item *
diff --git a/Master/tlpkg/tlperl/lib/pods/perl590delta.pod b/Master/tlpkg/tlperl/lib/pods/perl590delta.pod
deleted file mode 100644
index a19bf7a0768..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl590delta.pod
+++ /dev/null
@@ -1,1015 +0,0 @@
-=head1 NAME
-
-perl590delta - what is new for perl v5.9.0
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.8.0 release and
-the 5.9.0 release.
-
-=head1 Incompatible Changes
-
-=head2 Hash Randomisation
-
-Mainly due to security reasons, the "random ordering" of hashes
-has been made even more random. Previously while the order of hash
-elements from keys(), values(), and each() was essentially random,
-it was still repeatable. Now, however, the order varies between
-different runs of Perl.
-
-B<Perl has never guaranteed any ordering of the hash keys>, and the
-ordering has already changed several times during the lifetime of
-Perl 5. Also, the ordering of hash keys has always been, and
-continues to be, affected by the insertion order.
-
-The added randomness may affect applications.
-
-One possible scenario is when output of an application has included
-hash data. For example, if you have used the Data::Dumper module to
-dump data into different files, and then compared the files to see
-whether the data has changed, now you will have false positives since
-the order in which hashes are dumped will vary. In general the cure
-is to sort the keys (or the values); in particular for Data::Dumper to
-use the C<Sortkeys> option. If some particular order is really
-important, use tied hashes: for example the Tie::IxHash module
-which by default preserves the order in which the hash elements
-were added.
-
-More subtle problem is reliance on the order of "global destruction".
-That is what happens at the end of execution: Perl destroys all data
-structures, including user data. If your destructors (the DESTROY
-subroutines) have assumed any particular ordering to the global
-destruction, there might be problems ahead. For example, in a
-destructor of one object you cannot assume that objects of any other
-class are still available, unless you hold a reference to them.
-If the environment variable PERL_DESTRUCT_LEVEL is set to a non-zero
-value, or if Perl is exiting a spawned thread, it will also destruct
-the ordinary references and the symbol tables that are no longer in use.
-You can't call a class method or an ordinary function on a class that
-has been collected that way.
-
-The hash randomisation is certain to reveal hidden assumptions about
-some particular ordering of hash elements, and outright bugs: it
-revealed a few bugs in the Perl core and core modules.
-
-To disable the hash randomisation in runtime, set the environment
-variable PERL_HASH_SEED to 0 (zero) before running Perl (for more
-information see L<perlrun/PERL_HASH_SEED>), or to disable the feature
-completely in compile time, compile with C<-DNO_HASH_SEED> (see F<INSTALL>).
-
-See L<perlsec/"Algorithmic Complexity Attacks"> for the original
-rationale behind this change.
-
-=head2 UTF-8 On Filehandles No Longer Activated By Locale
-
-In Perl 5.8.0 all filehandles, including the standard filehandles,
-were implicitly set to be in Unicode UTF-8 if the locale settings
-indicated the use of UTF-8. This feature caused too many problems,
-so the feature was turned off and redesigned: see L</"Core Enhancements">.
-
-=head2 Single-number v-strings are no longer v-strings before "=>"
-
-The version strings or v-strings (see L<perldata/"Version Strings">)
-feature introduced in Perl 5.6.0 has been a source of some confusion--
-especially when the user did not want to use it, but Perl thought it
-knew better. Especially troublesome has been the feature that before
-a "=>" a version string (a "v" followed by digits) has been interpreted
-as a v-string instead of a string literal. In other words:
-
- %h = ( v65 => 42 );
-
-has meant since Perl 5.6.0
-
- %h = ( 'A' => 42 );
-
-(at least in platforms of ASCII progeny) Perl 5.8.1 restored the
-more natural interpretation
-
- %h = ( 'v65' => 42 );
-
-The multi-number v-strings like v65.66 and 65.66.67 still continue to
-be v-strings in Perl 5.8.
-
-=head2 (Win32) The -C Switch Has Been Repurposed
-
-The -C switch has changed in an incompatible way. The old semantics
-of this switch only made sense in Win32 and only in the "use utf8"
-universe in 5.6.x releases, and do not make sense for the Unicode
-implementation in 5.8.0. Since this switch could not have been used
-by anyone, it has been repurposed. The behavior that this switch
-enabled in 5.6.x releases may be supported in a transparent,
-data-dependent fashion in a future release.
-
-For the new life of this switch, see L<"UTF-8 no longer default under
-UTF-8 locales">, and L<perlrun/-C>.
-
-=head2 (Win32) The /d Switch Of cmd.exe
-
-Since version 5.8.1, perl uses the /d switch when running the cmd.exe shell
-internally for system(), backticks, and when opening pipes to external
-programs. The extra switch disables the execution of AutoRun commands
-from the registry, which is generally considered undesirable when
-running external programs. If you wish to retain compatibility with
-the older behavior, set PERL5SHELL in your environment to C<cmd /x/c>.
-
-=head2 The C<$*> variable has been removed
-
-C<$*>, which was deprecated in favor of the C</s> and C</m> regexp
-modifiers, has been removed.
-
-=head1 Core Enhancements
-
-=head2 Assertions
-
-Perl 5.9.0 has experimental support for assertions. Note that the user
-interface is not fully stabilized yet, and it may change until the 5.10.0
-release. A new command-line switch, B<-A>, is used to activate
-assertions, which are declared with the C<assertions> pragma. See
-L<assertions>.
-
-=head2 Defined-or operators
-
-A new operator C<//> (defined-or) has been implemented.
-The following statement:
-
- $a // $b
-
-is merely equivalent to
-
- defined $a ? $a : $b
-
-and
-
- $c //= $d;
-
-can be used instead of
-
- $c = $d unless defined $c;
-
-This operator has the same precedence and associativity as C<||>.
-It has a low-precedence counterpart, C<err>, which has the same precedence
-and associativity as C<or>. Special care has been taken to ensure that
-those operators Do What You Mean while not breaking old code, but some
-edge cases involving the empty regular expression may now parse
-differently. See L<perlop> for details.
-
-=head2 UTF-8 no longer default under UTF-8 locales
-
-In Perl 5.8.0 many Unicode features were introduced. One of them
-was found to be of more nuisance than benefit: the automagic
-(and silent) "UTF-8-ification" of filehandles, including the
-standard filehandles, if the user's locale settings indicated
-use of UTF-8.
-
-For example, if you had C<en_US.UTF-8> as your locale, your STDIN and
-STDOUT were automatically "UTF-8", in other words an implicit
-binmode(..., ":utf8") was made. This meant that trying to print, say,
-chr(0xff), ended up printing the bytes 0xc3 0xbf. Hardly what
-you had in mind unless you were aware of this feature of Perl 5.8.0.
-The problem is that the vast majority of people weren't: for example
-in RedHat releases 8 and 9 the B<default> locale setting is UTF-8, so
-all RedHat users got UTF-8 filehandles, whether they wanted it or not.
-The pain was intensified by the Unicode implementation of Perl 5.8.0
-(still) having nasty bugs, especially related to the use of s/// and
-tr///. (Bugs that have been fixed in 5.8.1)
-
-Therefore a decision was made to backtrack the feature and change it
-from implicit silent default to explicit conscious option. The new
-Perl command line option C<-C> and its counterpart environment
-variable PERL_UNICODE can now be used to control how Perl and Unicode
-interact at interfaces like I/O and for example the command line
-arguments. See L<perlrun/-C> and L<perlrun/PERL_UNICODE> for more
-information.
-
-=head2 Unsafe signals again available
-
-In Perl 5.8.0 the so-called "safe signals" were introduced. This
-means that Perl no longer handles signals immediately but instead
-"between opcodes", when it is safe to do so. The earlier immediate
-handling easily could corrupt the internal state of Perl, resulting
-in mysterious crashes.
-
-However, the new safer model has its problems too. Because now an
-opcode, a basic unit of Perl execution, is never interrupted but
-instead let to run to completion, certain operations that can take a
-long time now really do take a long time. For example, certain
-network operations have their own blocking and timeout mechanisms, and
-being able to interrupt them immediately would be nice.
-
-Therefore perl 5.8.1 introduced a "backdoor" to restore the pre-5.8.0
-(pre-5.7.3, really) signal behaviour. Just set the environment variable
-PERL_SIGNALS to C<unsafe>, and the old immediate (and unsafe)
-signal handling behaviour returns. See L<perlrun/PERL_SIGNALS>
-and L<perlipc/"Deferred Signals (Safe Signals)">.
-
-In completely unrelated news, you can now use safe signals with
-POSIX::SigAction. See L<POSIX/POSIX::SigAction>.
-
-=head2 Tied Arrays with Negative Array Indices
-
-Formerly, the indices passed to C<FETCH>, C<STORE>, C<EXISTS>, and
-C<DELETE> methods in tied array class were always non-negative. If
-the actual argument was negative, Perl would call FETCHSIZE implicitly
-and add the result to the index before passing the result to the tied
-array method. This behaviour is now optional. If the tied array class
-contains a package variable named C<$NEGATIVE_INDICES> which is set to
-a true value, negative values will be passed to C<FETCH>, C<STORE>,
-C<EXISTS>, and C<DELETE> unchanged.
-
-=head2 local ${$x}
-
-The syntaxes
-
- local ${$x}
- local @{$x}
- local %{$x}
-
-now do localise variables, given that the $x is a valid variable name.
-
-=head2 Unicode Character Database 4.0.0
-
-The copy of the Unicode Character Database included in Perl 5.8 has
-been updated to 4.0.0 from 3.2.0. This means for example that the
-Unicode character properties are as in Unicode 4.0.0.
-
-=head2 Miscellaneous Enhancements
-
-C<unpack()> now defaults to unpacking the C<$_>.
-
-C<map> in void context is no longer expensive. C<map> is now context
-aware, and will not construct a list if called in void context.
-
-If a socket gets closed by the server while printing to it, the client
-now gets a SIGPIPE. While this new feature was not planned, it fell
-naturally out of PerlIO changes, and is to be considered an accidental
-feature.
-
-PerlIO::get_layers(FH) returns the names of the PerlIO layers
-active on a filehandle.
-
-PerlIO::via layers can now have an optional UTF8 method to
-indicate whether the layer wants to "auto-:utf8" the stream.
-
-utf8::is_utf8() has been added as a quick way to test whether
-a scalar is encoded internally in UTF-8 (Unicode).
-
-=head1 Modules and Pragmata
-
-=head2 Updated Modules And Pragmata
-
-The following modules and pragmata have been updated since Perl 5.8.0:
-
-=over 4
-
-=item base
-
-=item B::Bytecode
-
-In much better shape than it used to be. Still far from perfect, but
-maybe worth a try.
-
-=item B::Concise
-
-=item B::Deparse
-
-=item Benchmark
-
-An optional feature, C<:hireswallclock>, now allows for high
-resolution wall clock times (uses Time::HiRes).
-
-=item ByteLoader
-
-See B::Bytecode.
-
-=item bytes
-
-Now has bytes::substr.
-
-=item CGI
-
-=item charnames
-
-One can now have custom character name aliases.
-
-=item CPAN
-
-There is now a simple command line frontend to the CPAN.pm
-module called F<cpan>.
-
-=item Data::Dumper
-
-A new option, Pair, allows choosing the separator between hash keys
-and values.
-
-=item DB_File
-
-=item Devel::PPPort
-
-=item Digest::MD5
-
-=item Encode
-
-Significant updates on the encoding pragma functionality
-(tr/// and the DATA filehandle, formats).
-
-If a filehandle has been marked as to have an encoding, unmappable
-characters are detected already during input, not later (when the
-corrupted data is being used).
-
-The ISO 8859-6 conversion table has been corrected (the 0x30..0x39
-erroneously mapped to U+0660..U+0669, instead of U+0030..U+0039). The
-GSM 03.38 conversion did not handle escape sequences correctly. The
-UTF-7 encoding has been added (making Encode feature-complete with
-Unicode::String).
-
-=item fields
-
-=item libnet
-
-=item Math::BigInt
-
-A lot of bugs have been fixed since v1.60, the version included in Perl
-v5.8.0. Especially noteworthy are the bug in Calc that caused div and mod to
-fail for some large values, and the fixes to the handling of bad inputs.
-
-Some new features were added, e.g. the broot() method, you can now pass
-parameters to config() to change some settings at runtime, and it is now
-possible to trap the creation of NaN and infinity.
-
-As usual, some optimizations took place and made the math overall a tad
-faster. In some cases, quite a lot faster, actually. Especially alternative
-libraries like Math::BigInt::GMP benefit from this. In addition, a lot of the
-quite clunky routines like fsqrt() and flog() are now much much faster.
-
-=item MIME::Base64
-
-=item NEXT
-
-Diamond inheritance now works.
-
-=item Net::Ping
-
-=item PerlIO::scalar
-
-Reading from non-string scalars (like the special variables, see
-L<perlvar>) now works.
-
-=item podlators
-
-=item Pod::LaTeX
-
-=item PodParsers
-
-=item Pod::Perldoc
-
-Complete rewrite. As a side-effect, no longer refuses to startup when
-run by root.
-
-=item Scalar::Util
-
-New utilities: refaddr, isvstring, looks_like_number, set_prototype.
-
-=item Storable
-
-Can now store code references (via B::Deparse, so not foolproof).
-
-=item strict
-
-Earlier versions of the strict pragma did not check the parameters
-implicitly passed to its "import" (use) and "unimport" (no) routine.
-This caused the false idiom such as:
-
- use strict qw(@ISA);
- @ISA = qw(Foo);
-
-This however (probably) raised the false expectation that the strict
-refs, vars and subs were being enforced (and that @ISA was somehow
-"declared"). But the strict refs, vars, and subs are B<not> enforced
-when using this false idiom.
-
-Starting from Perl 5.8.1, the above B<will> cause an error to be
-raised. This may cause programs which used to execute seemingly
-correctly without warnings and errors to fail when run under 5.8.1.
-This happens because
-
- use strict qw(@ISA);
-
-will now fail with the error:
-
- Unknown 'strict' tag(s) '@ISA'
-
-The remedy to this problem is to replace this code with the correct idiom:
-
- use strict;
- use vars qw(@ISA);
- @ISA = qw(Foo);
-
-=item Term::ANSIcolor
-
-=item Test::Harness
-
-Now much more picky about extra or missing output from test scripts.
-
-=item Test::More
-
-=item Test::Simple
-
-=item Text::Balanced
-
-=item Time::HiRes
-
-Use of nanosleep(), if available, allows mixing subsecond sleeps with
-alarms.
-
-=item threads
-
-Several fixes, for example for join() problems and memory
-leaks. In some platforms (like Linux) that use glibc the minimum memory
-footprint of one ithread has been reduced by several hundred kilobytes.
-
-=item threads::shared
-
-Many memory leaks have been fixed.
-
-=item Unicode::Collate
-
-=item Unicode::Normalize
-
-=item Win32::GetFolderPath
-
-=item Win32::GetOSVersion
-
-Now returns extra information.
-
-=back
-
-=head1 Utility Changes
-
-The C<h2xs> utility now produces a more modern layout:
-F<Foo-Bar/lib/Foo/Bar.pm> instead of F<Foo/Bar/Bar.pm>.
-Also, the boilerplate test is now called F<t/Foo-Bar.t>
-instead of F<t/1.t>.
-
-The Perl debugger (F<lib/perl5db.pl>) has now been extensively
-documented and bugs found while documenting have been fixed.
-
-C<perldoc> has been rewritten from scratch to be more robust and
-feature rich.
-
-C<perlcc -B> works now at least somewhat better, while C<perlcc -c>
-is rather more broken. (The Perl compiler suite as a whole continues
-to be experimental.)
-
-=head1 New Documentation
-
-perl573delta has been added to list the differences between the
-(now quite obsolete) development releases 5.7.2 and 5.7.3.
-
-perl58delta and perl581delta have been added: these are the perldeltas
-of 5.8.0 and 5.8.1, detailing the differences respectively between
-5.6.0 and 5.8.0, and between 5.8.0 and 5.8.1.
-
-perlartistic has been added: it is the Artistic License in pod format,
-making it easier for modules to refer to it.
-
-perlcheat has been added: it is a Perl cheat sheet.
-
-perlgpl has been added: it is the GNU General Public License in pod
-format, making it easier for modules to refer to it.
-
-perlmacosx has been added to tell about the installation and use
-of Perl in Mac OS X.
-
-perlos400 has been added to tell about the installation and use
-of Perl in OS/400 PASE.
-
-perlreref has been added: it is a regular expressions quick reference.
-
-=head1 Installation and Configuration Improvements
-
-The Unix standard Perl location, F</usr/bin/perl>, is no longer
-overwritten by default if it exists. This change was very prudent
-because so many Unix vendors already provide a F</usr/bin/perl>,
-but simultaneously many system utilities may depend on that
-exact version of Perl, so better not to overwrite it.
-
-One can now specify installation directories for site and vendor man
-and HTML pages, and site and vendor scripts. See F<INSTALL>.
-
-One can now specify a destination directory for Perl installation
-by specifying the DESTDIR variable for C<make install>. (This feature
-is slightly different from the previous C<Configure -Dinstallprefix=...>.)
-See F<INSTALL>.
-
-gcc versions 3.x introduced a new warning that caused a lot of noise
-during Perl compilation: C<gcc -Ialreadyknowndirectory (warning:
-changing search order)>. This warning has now been avoided by
-Configure weeding out such directories before the compilation.
-
-One can now build subsets of Perl core modules by using the
-Configure flags C<-Dnoextensions=...> and C<-Donlyextensions=...>,
-see F<INSTALL>.
-
-=head2 Platform-specific enhancements
-
-In Cygwin Perl can now be built with threads (C<Configure -Duseithreads>).
-This works with both Cygwin 1.3.22 and Cygwin 1.5.3.
-
-In newer FreeBSD releases Perl 5.8.0 compilation failed because of
-trying to use F<malloc.h>, which in FreeBSD is just a dummy file, and
-a fatal error to even try to use. Now F<malloc.h> is not used.
-
-Perl is now known to build also in Hitachi HI-UXMPP.
-
-Perl is now known to build again in LynxOS.
-
-Mac OS X now installs with Perl version number embedded in
-installation directory names for easier upgrading of user-compiled
-Perl, and the installation directories in general are more standard.
-In other words, the default installation no longer breaks the
-Apple-provided Perl. On the other hand, with C<Configure -Dprefix=/usr>
-you can now really replace the Apple-supplied Perl (B<please be careful>).
-
-Mac OS X now builds Perl statically by default. This change was done
-mainly for faster startup times. The Apple-provided Perl is still
-dynamically linked and shared, and you can enable the sharedness for
-your own Perl builds by C<Configure -Duseshrplib>.
-
-Perl has been ported to IBM's OS/400 PASE environment. The best way
-to build a Perl for PASE is to use an AIX host as a cross-compilation
-environment. See README.os400.
-
-Yet another cross-compilation option has been added: now Perl builds
-on OpenZaurus, an Linux distribution based on Mandrake + Embedix for
-the Sharp Zaurus PDA. See the Cross/README file.
-
-Tru64 when using gcc 3 drops the optimisation for F<toke.c> to C<-O2>
-because of gigantic memory use with the default C<-O3>.
-
-Tru64 can now build Perl with the newer Berkeley DBs.
-
-Building Perl on WinCE has been much enhanced, see F<README.ce>
-and F<README.perlce>.
-
-=head1 Selected Bug Fixes
-
-=head2 Closures, eval and lexicals
-
-There have been many fixes in the area of anonymous subs, lexicals and
-closures. Although this means that Perl is now more "correct", it is
-possible that some existing code will break that happens to rely on
-the faulty behaviour. In practice this is unlikely unless your code
-contains a very complex nesting of anonymous subs, evals and lexicals.
-
-=head2 Generic fixes
-
-If an input filehandle is marked C<:utf8> and Perl sees illegal UTF-8
-coming in when doing C<< <FH> >>, if warnings are enabled a warning is
-immediately given - instead of being silent about it and Perl being
-unhappy about the broken data later. (The C<:encoding(utf8)> layer
-also works the same way.)
-
-binmode(SOCKET, ":utf8") only worked on the input side, not on the
-output side of the socket. Now it works both ways.
-
-For threaded Perls certain system database functions like getpwent()
-and getgrent() now grow their result buffer dynamically, instead of
-failing. This means that at sites with lots of users and groups the
-functions no longer fail by returning only partial results.
-
-Perl 5.8.0 had accidentally broken the capability for users
-to define their own uppercase<->lowercase Unicode mappings
-(as advertised by the Camel). This feature has been fixed and
-is also documented better.
-
-In 5.8.0 this
-
- $some_unicode .= <FH>;
-
-didn't work correctly but instead corrupted the data. This has now
-been fixed.
-
-Tied methods like FETCH etc. may now safely access tied values, i.e.
-resulting in a recursive call to FETCH etc. Remember to break the
-recursion, though.
-
-At startup Perl blocks the SIGFPE signal away since there isn't much
-Perl can do about it. Previously this blocking was in effect also for
-programs executed from within Perl. Now Perl restores the original
-SIGFPE handling routine, whatever it was, before running external
-programs.
-
-Linenumbers in Perl scripts may now be greater than 65536, or 2**16.
-(Perl scripts have always been able to be larger than that, it's just
-that the linenumber for reported errors and warnings have "wrapped
-around".) While scripts that large usually indicate a need to rethink
-your code a bit, such Perl scripts do exist, for example as results
-from generated code. Now linenumbers can go all the way to
-4294967296, or 2**32.
-
-=head2 Platform-specific fixes
-
-Linux
-
-=over 4
-
-=item *
-
-Setting $0 works again (with certain limitations that
-Perl cannot do much about: see L<perlvar/$0>)
-
-=back
-
-HP-UX
-
-=over 4
-
-=item *
-
-Setting $0 now works.
-
-=back
-
-VMS
-
-=over 4
-
-=item *
-
-Configuration now tests for the presence of C<poll()>, and IO::Poll
-now uses the vendor-supplied function if detected.
-
-=item *
-
-A rare access violation at Perl start-up could occur if the Perl image was
-installed with privileges or if there was an identifier with the
-subsystem attribute set in the process's rightslist. Either of these
-circumstances triggered tainting code that contained a pointer bug.
-The faulty pointer arithmetic has been fixed.
-
-=item *
-
-The length limit on values (not keys) in the %ENV hash has been raised
-from 255 bytes to 32640 bytes (except when the PERL_ENV_TABLES setting
-overrides the default use of logical names for %ENV). If it is
-necessary to access these long values from outside Perl, be aware that
-they are implemented using search list logical names that store the
-value in pieces, each 255-byte piece (up to 128 of them) being an
-element in the search list. When doing a lookup in %ENV from within
-Perl, the elements are combined into a single value. The existing
-VMS-specific ability to access individual elements of a search list
-logical name via the $ENV{'foo;N'} syntax (where N is the search list
-index) is unimpaired.
-
-=item *
-
-The piping implementation now uses local rather than global DCL
-symbols for inter-process communication.
-
-=item *
-
-File::Find could become confused when navigating to a relative
-directory whose name collided with a logical name. This problem has
-been corrected by adding directory syntax to relative path names, thus
-preventing logical name translation.
-
-=back
-
-Win32
-
-=over 4
-
-=item *
-
-A memory leak in the fork() emulation has been fixed.
-
-=item *
-
-The return value of the ioctl() built-in function was accidentally
-broken in 5.8.0. This has been corrected.
-
-=item *
-
-The internal message loop executed by perl during blocking operations
-sometimes interfered with messages that were external to Perl.
-This often resulted in blocking operations terminating prematurely or
-returning incorrect results, when Perl was executing under environments
-that could generate Windows messages. This has been corrected.
-
-=item *
-
-Pipes and sockets are now automatically in binary mode.
-
-=item *
-
-The four-argument form of select() did not preserve $! (errno) properly
-when there were errors in the underlying call. This is now fixed.
-
-=item *
-
-The "CR CR LF" problem of has been fixed, binmode(FH, ":crlf")
-is now effectively a no-op.
-
-=back
-
-=head1 New or Changed Diagnostics
-
-All the warnings related to pack() and unpack() were made more
-informative and consistent.
-
-=head2 Changed "A thread exited while %d threads were running"
-
-The old version
-
- A thread exited while %d other threads were still running
-
-was misleading because the "other" included also the thread giving
-the warning.
-
-=head2 Removed "Attempt to clear a restricted hash"
-
-It is not illegal to clear a restricted hash, so the warning
-was removed.
-
-=head2 New "Illegal declaration of anonymous subroutine"
-
-You must specify the block of code for C<sub>.
-
-=head2 Changed "Invalid range "%s" in transliteration operator"
-
-The old version
-
- Invalid [] range "%s" in transliteration operator
-
-was simply wrong because there are no "[] ranges" in tr///.
-
-=head2 New "Missing control char name in \c"
-
-Self-explanatory.
-
-=head2 New "Newline in left-justified string for %s"
-
-The padding spaces would appear after the newline, which is
-probably not what you had in mind.
-
-=head2 New "Possible precedence problem on bitwise %c operator"
-
-If you think this
-
- $x & $y == 0
-
-tests whether the bitwise AND of $x and $y is zero,
-you will like this warning.
-
-=head2 New "read() on %s filehandle %s"
-
-You cannot read() (or sysread()) from a closed or unopened filehandle.
-
-=head2 New "Tied variable freed while still in use"
-
-Something pulled the plug on a live tied variable, Perl plays
-safe by bailing out.
-
-=head2 New "To%s: illegal mapping '%s'"
-
-An illegal user-defined Unicode casemapping was specified.
-
-=head2 New "Use of freed value in iteration"
-
-Something modified the values being iterated over. This is not good.
-
-=head1 Changed Internals
-
-These news matter to you only if you either write XS code or like to
-know about or hack Perl internals (using Devel::Peek or any of the
-C<B::> modules counts), or like to run Perl with the C<-D> option.
-
-The embedding examples of L<perlembed> have been reviewed to be
-up to date and consistent: for example, the correct use of
-PERL_SYS_INIT3() and PERL_SYS_TERM().
-
-Extensive reworking of the pad code (the code responsible
-for lexical variables) has been conducted by Dave Mitchell.
-
-Extensive work on the v-strings by John Peacock.
-
-UTF-8 length and position cache: to speed up the handling of Unicode
-(UTF-8) scalars, a cache was introduced. Potential problems exist if
-an extension bypasses the official APIs and directly modifies the PV
-of an SV: the UTF-8 cache does not get cleared as it should.
-
-APIs obsoleted in Perl 5.8.0, like sv_2pv, sv_catpvn, sv_catsv,
-sv_setsv, are again available.
-
-Certain Perl core C APIs like cxinc and regatom are no longer
-available at all to code outside the Perl core of the Perl core
-extensions. This is intentional. They never should have been
-available with the shorter names, and if you application depends on
-them, you should (be ashamed and) contact perl5-porters to discuss
-what are the proper APIs.
-
-Certain Perl core C APIs like C<Perl_list> are no longer available
-without their C<Perl_> prefix. If your XS module stops working
-because some functions cannot be found, in many cases a simple fix is
-to add the C<Perl_> prefix to the function and the thread context
-C<aTHX_> as the first argument of the function call. This is also how
-it should always have been done: letting the Perl_-less forms to leak
-from the core was an accident. For cleaner embedding you can also
-force this for all APIs by defining at compile time the cpp define
-PERL_NO_SHORT_NAMES.
-
-Perl_save_bool() has been added.
-
-Regexp objects (those created with C<qr>) now have S-magic rather than
-R-magic. This fixed regexps of the form /...(??{...;$x})/ to no
-longer ignore changes made to $x. The S-magic avoids dropping
-the caching optimization and making (??{...}) constructs obscenely
-slow (and consequently useless). See also L<perlguts/"Magic Variables">.
-Regexp::Copy was affected by this change.
-
-The Perl internal debugging macros DEBUG() and DEB() have been renamed
-to PERL_DEBUG() and PERL_DEB() to avoid namespace conflicts.
-
-C<-DL> removed (the leaktest had been broken and unsupported for years,
-use alternative debugging mallocs or tools like valgrind and Purify).
-
-Verbose modifier C<v> added for C<-DXv> and C<-Dsv>, see L<perlrun>.
-
-=head1 New Tests
-
-In Perl 5.8.0 there were about 69000 separate tests in about 700 test files,
-in Perl 5.9.0 there are about 77000 separate tests in about 780 test files.
-The exact numbers depend on the Perl configuration and on the operating
-system platform.
-
-=head1 Known Problems
-
-The hash randomisation mentioned in L</Incompatible Changes> is definitely
-problematic: it will wake dormant bugs and shake out bad assumptions.
-
-Many of the rarer platforms that worked 100% or pretty close to it
-with perl 5.8.0 have been left a little bit untended since their
-maintainers have been otherwise busy lately, and therefore there will
-be more failures on those platforms. Such platforms include Mac OS
-Classic, IBM z/OS (and other EBCDIC platforms), and NetWare. The most
-common Perl platforms (Unix and Unix-like, Microsoft platforms, and
-VMS) have large enough testing and expert population that they are
-doing well.
-
-=head2 Tied hashes in scalar context
-
-Tied hashes do not currently return anything useful in scalar context,
-for example when used as boolean tests:
-
- if (%tied_hash) { ... }
-
-The current nonsensical behaviour is always to return false,
-regardless of whether the hash is empty or has elements.
-
-The root cause is that there is no interface for the implementors of
-tied hashes to implement the behaviour of a hash in scalar context.
-
-=head2 Net::Ping 450_service and 510_ping_udp failures
-
-The subtests 9 and 18 of lib/Net/Ping/t/450_service.t, and the
-subtest 2 of lib/Net/Ping/t/510_ping_udp.t might fail if you have
-an unusual networking setup. For example in the latter case the
-test is trying to send a UDP ping to the IP address 127.0.0.1.
-
-=head2 B::C
-
-The C-generating compiler backend B::C (the frontend being
-C<perlcc -c>) is even more broken than it used to be because of
-the extensive lexical variable changes. (The good news is that
-B::Bytecode and ByteLoader are better than they used to be.)
-
-=head1 Platform Specific Problems
-
-=head2 EBCDIC Platforms
-
-IBM z/OS and other EBCDIC platforms continue to be problematic
-regarding Unicode support. Many Unicode tests are skipped when
-they really should be fixed.
-
-=head2 Cygwin 1.5 problems
-
-In Cygwin 1.5 the F<io/tell> and F<op/sysio> tests have failures for
-some yet unknown reason. In 1.5.5 the threads tests stress_cv,
-stress_re, and stress_string are failing unless the environment
-variable PERLIO is set to "perlio" (which makes also the io/tell
-failure go away).
-
-Perl 5.8.1 does build and work well with Cygwin 1.3: with (uname -a)
-C<CYGWIN_NT-5.0 ... 1.3.22(0.78/3/2) 2003-03-18 09:20 i686 ...>
-a 100% "make test" was achieved with C<Configure -des -Duseithreads>.
-
-=head2 HP-UX: HP cc warnings about sendfile and sendpath
-
-With certain HP C compiler releases (e.g. B.11.11.02) you will
-get many warnings like this (lines wrapped for easier reading):
-
- cc: "/usr/include/sys/socket.h", line 504: warning 562:
- Redeclaration of "sendfile" with a different storage class specifier:
- "sendfile" will have internal linkage.
- cc: "/usr/include/sys/socket.h", line 505: warning 562:
- Redeclaration of "sendpath" with a different storage class specifier:
- "sendpath" will have internal linkage.
-
-The warnings show up both during the build of Perl and during certain
-lib/ExtUtils tests that invoke the C compiler. The warning, however,
-is not serious and can be ignored.
-
-=head2 IRIX: t/uni/tr_7jis.t falsely failing
-
-The test t/uni/tr_7jis.t is known to report failure under 'make test'
-or the test harness with certain releases of IRIX (at least IRIX 6.5
-and MIPSpro Compilers Version 7.3.1.1m), but if run manually the test
-fully passes.
-
-=head2 Mac OS X: no usemymalloc
-
-The Perl malloc (C<-Dusemymalloc>) does not work at all in Mac OS X.
-This is not that serious, though, since the native malloc works just
-fine.
-
-=head2 Tru64: No threaded builds with GNU cc (gcc)
-
-In the latest Tru64 releases (e.g. v5.1B or later) gcc cannot be used
-to compile a threaded Perl (-Duseithreads) because the system
-C<< <pthread.h> >> file doesn't know about gcc.
-
-=head2 Win32: sysopen, sysread, syswrite
-
-As of the 5.8.0 release, sysopen()/sysread()/syswrite() do not behave
-like they used to in 5.6.1 and earlier with respect to "text" mode.
-These built-ins now always operate in "binary" mode (even if sysopen()
-was passed the O_TEXT flag, or if binmode() was used on the file
-handle). Note that this issue should only make a difference for disk
-files, as sockets and pipes have always been in "binary" mode in the
-Windows port. As this behavior is currently considered a bug,
-compatible behavior may be re-introduced in a future release. Until
-then, the use of sysopen(), sysread() and syswrite() is not supported
-for "text" mode operations.
-
-=head1 TODO
-
-Here are some things that are planned for perl 5.10.0 :
-
-=over 4
-
-=item *
-
-Various Copy-On-Write techniques will be investigated in hopes
-of speeding up Perl.
-
-=item *
-
-CPANPLUS, Inline, and Module::Build will become core modules.
-
-=item *
-
-The ability to write true lexically scoped pragmas will be introduced,
-perhaps via a C<pragma> pragma.
-
-=item *
-
-Work will continue on the bytecompiler and byteloader.
-
-=item *
-
-v-strings as they currently exist are scheduled to be deprecated. The
-v-less form (1.2.3) will become a "version object" when used with C<use>,
-C<require>, and C<$VERSION>. $^V will also be a "version object" so the
-printf("%vd",...) construct will no longer be needed. The v-ful version
-(v1.2.3) will become obsolete. The equivalence of strings and v-strings (e.g.
-that currently 5.8.0 is equal to "\5\8\0") will go away. B<There may be no
-deprecation warning for v-strings>, though: it is quite hard to detect when
-v-strings are being used safely, and when they are not.
-
-=back
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at F<http://bugs.perl.org/>. There may also be
-information at F<http://www.perl.com/>, the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team. You can browse and search
-the Perl 5 bugs at F<http://bugs.perl.org/>.
-
-=head1 SEE ALSO
-
-The F<Changes> file for exhaustive details on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl591delta.pod b/Master/tlpkg/tlperl/lib/pods/perl591delta.pod
deleted file mode 100644
index 349c49a40f2..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl591delta.pod
+++ /dev/null
@@ -1,323 +0,0 @@
-=head1 NAME
-
-perl591delta - what is new for perl v5.9.1
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.9.0 and the 5.9.1
-development releases. See L<perl590delta> for the differences between
-5.8.0 and 5.9.0.
-
-=head1 Incompatible Changes
-
-=head2 substr() lvalues are no longer fixed-length
-
-The lvalues returned by the three argument form of substr() used to be a
-"fixed length window" on the original string. In some cases this could
-cause surprising action at distance or other undefined behaviour. Now the
-length of the window adjusts itself to the length of the string assigned to
-it.
-
-=head2 The C<:unique> attribute is only meaningful for globals
-
-Now applying C<:unique> to lexical variables and to subroutines will
-result in a compilation error.
-
-=head1 Core Enhancements
-
-=head2 Lexical C<$_>
-
-The default variable C<$_> can now be lexicalized, by declaring it like
-any other lexical variable, with a simple
-
- my $_;
-
-The operations that default on C<$_> will use the lexically-scoped
-version of C<$_> when it exists, instead of the global C<$_>.
-
-In a C<map> or a C<grep> block, if C<$_> was previously my'ed, then the
-C<$_> inside the block is lexical as well (and scoped to the block).
-
-In a scope where C<$_> has been lexicalized, you can still have access to
-the global version of C<$_> by using C<$::_>, or, more simply, by
-overriding the lexical declaration with C<our $_>.
-
-=head2 Tied hashes in scalar context
-
-As of perl 5.8.2/5.9.0, tied hashes did not return anything useful in
-scalar context, for example when used as boolean tests:
-
- if (%tied_hash) { ... }
-
-The old nonsensical behaviour was always to return false,
-regardless of whether the hash is empty or has elements.
-
-There is now an interface for the implementors of tied hashes to implement
-the behaviour of a hash in scalar context, via the SCALAR method (see
-L<perltie>). Without a SCALAR method, perl will try to guess whether
-the hash is empty, by testing if it's inside an iteration (in this case
-it can't be empty) or by calling FIRSTKEY.
-
-=head2 Formats
-
-Formats were improved in several ways. A new field, C<^*>, can be used for
-variable-width, one-line-at-a-time text. Null characters are now handled
-correctly in picture lines. Using C<@#> and C<~~> together will now
-produce a compile-time error, as those format fields are incompatible.
-L<perlform> has been improved, and miscellaneous bugs fixed.
-
-=head2 Stacked filetest operators
-
-As a new form of syntactic sugar, it's now possible to stack up filetest
-operators. You can now write C<-f -w -x $file> in a row to mean
-C<-x $file && -w _ && -f _>. See L<perlfunc/-X>.
-
-=head1 Modules and Pragmata
-
-=over 4
-
-=item Benchmark
-
-In C<Benchmark>, cmpthese() and timestr() now use the time statistics of
-children instead of parent when the selected style is 'nop'.
-
-=item Carp
-
-The error messages produced by C<Carp> now include spaces between the
-arguments in function argument lists: this makes long error messages
-appear more nicely in browsers and other tools.
-
-=item Exporter
-
-C<Exporter> will now recognize grouping tags (such as C<:name>) anywhere
-in the import list, not only at the beginning.
-
-=item FindBin
-
-A function C<again> is provided to resolve problems where modules in different
-directories wish to use FindBin.
-
-=item List::Util
-
-You can now weaken references to read only values.
-
-=item threads::shared
-
-C<cond_wait> has a new two argument form. C<cond_timedwait> has been added.
-
-=back
-
-=head1 Utility Changes
-
-C<find2perl> now assumes C<-print> as a default action. Previously, it
-needed to be specified explicitly.
-
-A new utility, C<prove>, makes it easy to run an individual regression test
-at the command line. C<prove> is part of Test::Harness, which users of earlier
-Perl versions can install from CPAN.
-
-The perl debugger now supports a C<save> command, to save the current
-history to a file, and an C<i> command, which prints the inheritance tree
-of its argument (if the C<Class::ISA> module is installed.)
-
-=head1 Documentation
-
-The documentation has been revised in places to produce more standard manpages.
-
-The long-existing feature of C</(?{...})/> regexps setting C<$_> and pos()
-is now documented.
-
-=head1 Performance Enhancements
-
-Sorting arrays in place (C<@a = sort @a>) is now optimized to avoid
-making a temporary copy of the array.
-
-The operations involving case mapping on UTF-8 strings (uc(), lc(),
-C<//i>, etc.) have been greatly speeded up.
-
-Access to elements of lexical arrays via a numeric constant between 0 and
-255 is now faster. (This used to be only the case for global arrays.)
-
-=head1 Selected Bug Fixes
-
-=head2 UTF-8 bugs
-
-Using substr() on a UTF-8 string could cause subsequent accesses on that
-string to return garbage. This was due to incorrect UTF-8 offsets being
-cached, and is now fixed.
-
-join() could return garbage when the same join() statement was used to
-process 8 bit data having earlier processed UTF-8 data, due to the flags
-on that statement's temporary workspace not being reset correctly. This
-is now fixed.
-
-Using Unicode keys with tied hashes should now work correctly.
-
-chop() and chomp() used to mangle UTF-8 strings. This has been fixed.
-
-sprintf() used to misbehave when the format string was in UTF-8. This is
-now fixed.
-
-=head2 Threading bugs
-
-Hashes with the C<:unique> attribute weren't made read-only in new
-threads. They are now.
-
-=head2 More bugs
-
-C<$a .. $b> will now work as expected when either $a or $b is C<undef>.
-
-Reading $^E now preserves $!. Previously, the C code implementing $^E
-did not preserve C<errno>, so reading $^E could cause C<errno> and therefore
-C<$!> to change unexpectedly.
-
-C<strict> wasn't in effect in regexp-eval blocks (C</(?{...})/>).
-
-=head1 New or Changed Diagnostics
-
-A new deprecation warning, I<Deprecated use of my() in false conditional>,
-has been added, to warn against the use of the dubious and deprecated
-construct
-
- my $x if 0;
-
-See L<perldiag>.
-
-The fatal error I<DESTROY created new reference to dead object> is now
-documented in L<perldiag>.
-
-A new error, I<%ENV is aliased to %s>, is produced when taint checks are
-enabled and when C<*ENV> has been aliased (and thus doesn't reflect the
-program's environment anymore.)
-
-=head1 Changed Internals
-
-These news matter to you only if you either write XS code or like to
-know about or hack Perl internals (using Devel::Peek or any of the
-C<B::> modules counts), or like to run Perl with the C<-D> option.
-
-=head2 Reordering of SVt_* constants
-
-The relative ordering of constants that define the various types of C<SV>
-have changed; in particular, C<SVt_PVGV> has been moved before C<SVt_PVLV>,
-C<SVt_PVAV>, C<SVt_PVHV> and C<SVt_PVCV>. This is unlikely to make any
-difference unless you have code that explicitly makes assumptions about that
-ordering. (The inheritance hierarchy of C<B::*> objects has been changed
-to reflect this.)
-
-=head2 Removal of CPP symbols
-
-The C preprocessor symbols C<PERL_PM_APIVERSION> and
-C<PERL_XS_APIVERSION>, which were supposed to give the version number of
-the oldest perl binary-compatible (resp. source-compatible) with the
-present one, were not used, and sometimes had misleading values. They have
-been removed.
-
-=head2 Less space is used by ops
-
-The C<BASEOP> structure now uses less space. The C<op_seq> field has been
-removed and replaced by two one-bit fields, C<op_opt> and C<op_static>.
-C<opt_type> is now 9 bits long. (Consequently, the C<B::OP> class doesn't
-provide an C<seq> method anymore.)
-
-=head2 New parser
-
-perl's parser is now generated by bison (it used to be generated by
-byacc.) As a result, it seems to be a bit more robust.
-
-=head1 Configuration and Building
-
-C<Configure> now invokes callbacks regardless of the value of the variable
-they are called for. Previously callbacks were only invoked in the
-C<case $variable $define)> branch. This change should only affect platform
-maintainers writing configuration hints files.
-
-The portability and cleanliness of the Win32 makefiles has been improved.
-
-=head1 Known Problems
-
-There are still a couple of problems in the implementation of the lexical
-C<$_>: it doesn't work inside C</(?{...})/> blocks and with regard to the
-reverse() built-in used without arguments. (See the TODO tests in
-F<t/op/mydef.t>.)
-
-=head2 Platform Specific Problems
-
-The test F<ext/IPC/SysV/t/ipcsysv.t> may fail on OpenBSD. This hasn't been
-diagnosed yet.
-
-On some configurations on AIX 5, one test in F<lib/Time/Local.t> fails.
-When configured with long doubles, perl may fail tests 224-236 in
-F<t/op/pow.t> on the same platform.
-
-For threaded builds, F<ext/threads/shared/t/wait.t> has been reported to
-fail some tests on HP-UX 10.20.
-
-=head1 To-do for perl 5.10.0
-
-This is a non-exhaustive, non-ordered, non-contractual and non-definitive
-list of things to do (or nice to have) for perl 5.10.0 :
-
-Clean up and finish support for assertions. See L<assertions>.
-
-Reimplement the mechanism of lexical pragmas to be more extensible. Fix
-current pragmas that don't work well (or at all) with lexical scopes or in
-run-time eval(STRING) (C<sort>, C<re>, C<encoding> for example). MJD has a
-preliminary patch that implements this.
-
-Fix (or rewrite) the implementation of the C</(?{...})/> closures.
-
-Conversions from byte strings to UTF-8 currently map high bit characters
-to Unicode without translation (or, depending on how you look at it, by
-implicitly assuming that the byte strings are in Latin-1). As perl assumes
-the C locale by default, upgrading a string to UTF-8 may change the
-meaning of its contents regarding character classes, case mapping, etc.
-This should probably emit a warning (at least).
-
-Introduce a new special block, UNITCHECK, which is run at the end of a
-compilation unit (module, file, eval(STRING) block). This will correspond to
-the Perl 6 CHECK. Perl 5's CHECK cannot be changed or removed because the
-O.pm/B.pm backend framework depends on it.
-
-Study the possibility of adding a new prototype character, C<_>, meaning
-"this argument defaults to $_".
-
-Make the peephole optimizer optional.
-
-Allow lexical aliases (maybe via the syntax C<my \$alias = \$foo>.
-
-Fix the bugs revealed by running the test suite with the C<-t> switch (via
-C<make test.taintwarn>).
-
-Make threads more robust.
-
-Make C<no 6> and C<no v6> work (opposite of C<use 5.005>, etc.).
-
-A test suite for the B module would be nice.
-
-A ponie.
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://bugs.perl.org/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-=head1 SEE ALSO
-
-The F<Changes> file for exhaustive details on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl592delta.pod b/Master/tlpkg/tlperl/lib/pods/perl592delta.pod
deleted file mode 100644
index db8be417d2b..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl592delta.pod
+++ /dev/null
@@ -1,342 +0,0 @@
-=head1 NAME
-
-perl592delta - what is new for perl v5.9.2
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.9.1 and the 5.9.2
-development releases. See L<perl590delta> and L<perl591delta> for the
-differences between 5.8.0 and 5.9.1.
-
-=head1 Incompatible Changes
-
-=head2 Packing and UTF-8 strings
-
-The semantics of pack() and unpack() regarding UTF-8-encoded data has been
-changed. Processing is now by default character per character instead of
-byte per byte on the underlying encoding. Notably, code that used things
-like C<pack("a*", $string)> to see through the encoding of string will now
-simply get back the original $string. Packed strings can also get upgraded
-during processing when you store upgraded characters. You can get the old
-behaviour by using C<use bytes>.
-
-To be consistent with pack(), the C<C0> in unpack() templates indicates
-that the data is to be processed in character mode, i.e. character by
-character; on the contrary, C<U0> in unpack() indicates UTF-8 mode, where
-the packed string is processed in its UTF-8-encoded Unicode form on a byte
-by byte basis. This is reversed with regard to perl 5.8.X.
-
-Moreover, C<C0> and C<U0> can also be used in pack() templates to specify
-respectively character and byte modes.
-
-C<C0> and C<U0> in the middle of a pack or unpack format now switch to the
-specified encoding mode, honoring parens grouping. Previously, parens were
-ignored.
-
-Also, there is a new pack() character format, C<W>, which is intended to
-replace the old C<C>. C<C> is kept for unsigned chars coded as bytes in
-the strings internal representation. C<W> represents unsigned (logical)
-character values, which can be greater than 255. It is therefore more
-robust when dealing with potentially UTF-8-encoded data (as C<C> will wrap
-values outside the range 0..255, and not respect the string encoding).
-
-In practice, that means that pack formats are now encoding-neutral, except
-C<C>.
-
-For consistency, C<A> in unpack() format now trims all Unicode whitespace
-from the end of the string. Before perl 5.9.2, it used to strip only the
-classical ASCII space characters.
-
-=head2 Miscellaneous
-
-The internal dump output has been improved, so that non-printable characters
-such as newline and backspace are output in C<\x> notation, rather than
-octal.
-
-The B<-C> option can no longer be used on the C<#!> line. It wasn't
-working there anyway.
-
-=head1 Core Enhancements
-
-=head2 Malloc wrapping
-
-Perl can now be built to detect attempts to assign pathologically large chunks
-of memory. Previously such assignments would suffer from integer wrap-around
-during size calculations causing a misallocation, which would crash perl, and
-could theoretically be used for "stack smashing" attacks. The wrapping
-defaults to enabled on platforms where we know it works (most AIX
-configurations, BSDi, Darwin, DEC OSF/1, FreeBSD, HP-UX, GNU Linux, OpenBSD,
-Solaris, VMS and most Win32 compilers) and defaults to disabled on other
-platforms.
-
-=head2 Unicode Character Database 4.0.1
-
-The copy of the Unicode Character Database included in Perl 5.9 has
-been updated to 4.0.1 from 4.0.0.
-
-=head2 suidperl less insecure
-
-Paul Szabo has analysed and patched C<suidperl> to remove existing known
-insecurities. Currently there are no known holes in C<suidperl>, but previous
-experience shows that we cannot be confident that these were the last. You may
-no longer invoke the set uid perl directly, so to preserve backwards
-compatibility with scripts that invoke #!/usr/bin/suidperl the only set uid
-binary is now C<sperl5.9.>I<n> (C<sperl5.9.2> for this release). C<suidperl>
-is installed as a hard link to C<perl>; both C<suidperl> and C<perl> will
-invoke C<sperl5.9.2> automatically the set uid binary, so this change should
-be completely transparent.
-
-For new projects the core perl team would strongly recommend that you use
-dedicated, single purpose security tools such as C<sudo> in preference to
-C<suidperl>.
-
-=head2 PERLIO_DEBUG
-
-The C<PERLIO_DEBUG> environment variable has no longer any effect for
-setuid scripts and for scripts run with B<-T>.
-
-Moreover, with a thread-enabled perl, using C<PERLIO_DEBUG> could lead to
-an internal buffer overflow. This has been fixed.
-
-=head2 Formats
-
-In addition to bug fixes, C<format>'s features have been enhanced. See
-L<perlform>.
-
-=head2 Unicode Character Classes
-
-Perl's regular expression engine now contains support for matching on the
-intersection of two Unicode character classes. You can also now refer to
-user-defined character classes from within other user defined character
-classes.
-
-=head2 Byte-order modifiers for pack() and unpack()
-
-There are two new byte-order modifiers, C<E<gt>> (big-endian) and C<E<lt>>
-(little-endian), that can be appended to most pack() and unpack() template
-characters and groups to force a certain byte-order for that type or group.
-See L<perlfunc/pack> and L<perlpacktut> for details.
-
-=head2 Byte count feature in pack()
-
-A new pack() template character, C<".">, returns the number of characters
-read so far.
-
-=head2 New variables
-
-A new variable, ${^RE_DEBUG_FLAGS}, controls what debug flags are in
-effect for the regular expression engine when running under C<use re
-"debug">. See L<re> for details.
-
-A new variable ${^UTF8LOCALE} indicates where a UTF-8 locale was detected
-by perl at startup.
-
-=head1 Modules and Pragmata
-
-=head2 New modules
-
-=over 4
-
-=item *
-
-C<encoding::warnings>, by Audrey Tang, is a module to emit warnings
-whenever an ASCII character string containing high-bit bytes is implicitly
-converted into UTF-8.
-
-=item *
-
-C<Module::CoreList>, by Richard Clamp, is a small handy module that tells
-you what versions of core modules ship with any versions of Perl 5. It
-comes with a command-line frontend, C<corelist>.
-
-=back
-
-=head2 Updated And Improved Modules and Pragmata
-
-Dual-lived modules have been updated to be kept up-to-date with respect to
-CPAN.
-
-The dual-lived modules which contain an C<_> in their version number are
-actually I<ahead> of the corresponding CPAN release.
-
-=over 4
-
-=item B::Concise
-
-C<B::Concise> was significantly improved.
-
-=item Socket
-
-There is experimental support for Linux abstract Unix domain sockets.
-
-=item Sys::Syslog
-
-C<syslog()> can now use numeric constants for facility names and priorities,
-in addition to strings.
-
-=item threads
-
-Detached threads are now also supported on Windows.
-
-=back
-
-=head1 Utility Changes
-
-=over 4
-
-=item *
-
-The C<corelist> utility is now installed with perl (see L</"New modules">
-above).
-
-=item *
-
-C<h2ph> and C<h2xs> have been made a bit more robust with regard to
-"modern" C code.
-
-=item *
-
-Several bugs have been fixed in C<find2perl>, regarding C<-exec> and
-C<-eval>. Also the options C<-path>, C<-ipath> and C<-iname> have been
-added.
-
-=item *
-
-The Perl debugger can now save all debugger commands for sourcing later;
-notably, it can now emulate stepping backwards, by restarting and
-rerunning all bar the last command from a saved command history.
-
-It can also display the parent inheritance tree of a given class.
-
-Perl has a new -dt command-line flag, which enables threads support in the
-debugger.
-
-=back
-
-=head1 Performance Enhancements
-
-=over 4
-
-=item *
-
-Unicode case mappings (C</i>, C<lc>, C<uc>, etc) are faster.
-
-=item *
-
-C<@a = sort @a> was optimized to do in-place sort. Likewise, C<reverse
-sort ...> is now optimized to sort in reverse, avoiding the generation of
-a temporary intermediate list.
-
-=item *
-
-Unnecessary assignments are optimised away in
-
- my $s = undef;
- my @a = ();
- my %h = ();
-
-=item *
-
-C<map> in scalar context is now optimized.
-
-=item *
-
-The regexp engine now implements the trie optimization : it's able to
-factor out common prefixes and suffixes in regular expressions. A new
-special variable, ${^RE_TRIE_MAXBUF}, has been added to fine-tune this
-optimization.
-
-=back
-
-=head1 Installation and Configuration Improvements
-
-Run-time customization of @INC can be enabled by passing the
-C<-Dusesitecustomize> flag to configure. When enabled, this will make perl
-run F<$sitelibexp/sitecustomize.pl> before anything else. This script can
-then be set up to add additional entries to @INC.
-
-There is alpha support for relocatable @INC entries.
-
-Perl should build on Interix and on GNU/kFreeBSD.
-
-=head1 Selected Bug Fixes
-
-Most of those bugs were reported in the perl 5.8.x maintenance track.
-Notably, quite a few utf8 bugs were fixed, and several memory leaks were
-suppressed. The perl58Xdelta manpages have more details on them.
-
-Development-only bug fixes include :
-
-C<$Foo::_> was wrongly forced as C<$main::_>.
-
-=head1 New or Changed Diagnostics
-
-A new warning, C<!=~ should be !~>, is emitted to prevent this misspelling
-of the non-matching operator.
-
-The warning I<Newline in left-justified string> has been removed.
-
-The error I<Too late for "-T" option> has been reformulated to be more
-descriptive.
-
-There is a new compilation error, I<Illegal declaration of subroutine>,
-for an obscure case of syntax errors.
-
-The diagnostic output of Carp has been changed slightly, to add a space after
-the comma between arguments. This makes it much easier for tools such as
-web browsers to wrap it, but might confuse any automatic tools which perform
-detailed parsing of Carp output.
-
-C<perl -V> has several improvements, making it more useable from shell
-scripts to get the value of configuration variables. See L<perlrun> for
-details.
-
-=head1 Changed Internals
-
-The perl core has been refactored and reorganised in several places.
-In short, this release will not be binary compatible with any previous
-perl release.
-
-=head1 Known Problems
-
-For threaded builds, F<ext/threads/shared/t/wait.t> has been reported to
-fail some tests on HP-UX 10.20.
-
-Net::Ping might fail some tests on HP-UX 11.00 with the latest OS
-upgrades.
-
-F<t/io/dup.t>, F<t/io/open.t> and F<lib/ExtUtils/t/Constant.t> fail some
-tests on some BSD flavours.
-
-=head1 Plans for the next release
-
-The current plan for perl 5.9.3 is to add CPANPLUS as a core module.
-More regular expression optimizations are also in the works.
-
-It is planned to release a development version of perl more frequently,
-i.e. each time something major changes.
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://bugs.perl.org/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-=head1 SEE ALSO
-
-The F<Changes> file for exhaustive details on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl593delta.pod b/Master/tlpkg/tlperl/lib/pods/perl593delta.pod
deleted file mode 100644
index 11f53ab0885..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl593delta.pod
+++ /dev/null
@@ -1,551 +0,0 @@
-=encoding utf8
-
-=head1 NAME
-
-perl593delta - what is new for perl v5.9.3
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.9.2 and the 5.9.3
-development releases. See L<perl590delta>, L<perl591delta> and
-L<perl592delta> for the differences between 5.8.0 and 5.9.2.
-
-=head1 Incompatible Changes
-
-=head2 Parsing of C<-f _>
-
-The identifier C<_> is now forced to be a bareword after a filetest
-operator. This solves a number of misparsing issues when a global C<_>
-subroutine is defined.
-
-=head2 C<mkdir()>
-
-C<mkdir()> without arguments now defaults to C<$_>.
-
-=head2 Magic goto and eval
-
-The construct C<eval { goto &foo }> is now disallowed. (Note that the
-similar construct, but with C<eval("")> instead, was already forbidden.)
-
-=head2 C<$#> has been removed
-
-The deprecated C<$#> variable (output format for numbers) has been
-removed. A new warning, C<$# is no longer supported>, has been added.
-
-=head2 C<:unique>
-
-The C<:unique> attribute has been made a no-op, since its current
-implementation was fundamentally flawed and not threadsafe.
-
-=head2 Scoping of the C<sort> pragma
-
-The C<sort> pragma is now lexically scoped. Its effect used to be global.
-
-=head1 Core Enhancements
-
-=head2 The C<feature> pragma
-
-The C<feature> pragma is used to enable new syntax that would break Perl's
-backwards-compatibility with older releases of the language. It's a lexical
-pragma, like C<strict> or C<warnings>.
-
-Currently the following new features are available: C<switch> (adds a
-switch statement), C<~~> (adds a Perl 6-like smart match operator), C<say>
-(adds a C<say> built-in function), and C<err> (adds an C<err> keyword).
-Those features are described below.
-
-Note that C<err> low-precedence defined-or operator used to be enabled by
-default (although as a weak keyword, meaning that any function would
-override it). It's now only recognized when explicitly turned on (and is
-then a regular keyword).
-
-Those features, and the C<feature> pragma itself, have been contributed by
-Robin Houston.
-
-=head2 Switch and Smart Match operator
-
-Perl 5 now has a switch statement. It's available when C<use feature
-'switch'> is in effect. This feature introduces three new keywords,
-C<given>, C<when>, and C<default>:
-
- given ($foo) {
- when (/^abc/) { $abc = 1; }
- when (/^def/) { $def = 1; }
- when (/^xyz/) { $xyz = 1; }
- default { $nothing = 1; }
- }
-
-A more complete description of how Perl matches the switch variable
-against the C<when> conditions is given in L<perlsyn/"Switch statements">.
-
-This kind of match is called I<smart match>, and it's also possible to use
-it outside of switch statements, via the new C<~~> operator (enabled via
-the C<use feature '~~'> directive). See L<perlsyn/"Smart matching in
-detail">.
-
-=head2 C<say()>
-
-say() is a new built-in, only available when C<use feature 'say'> is in
-effect, that is similar to print(), but that implicitly appends a newline
-to the printed string. See L<perlfunc/say>.
-
-=head2 C<CLONE_SKIP()>
-
-Perl has now support for the C<CLONE_SKIP> special subroutine. Like
-C<CLONE>, C<CLONE_SKIP> is called once per package; however, it is called
-just before cloning starts, and in the context of the parent thread. If it
-returns a true value, then no objects of that class will be cloned. See
-L<perlmod> for details. (Contributed by Dave Mitchell.)
-
-=head2 C<${^CHILD_ERROR_NATIVE}>
-
-A new internal variable, C<${^CHILD_ERROR_NATIVE}>, gives the native
-status returned by the last pipe close, backtick command, successful call
-to wait() or waitpid(), or from the system() operator. See L<perlrun> for
-details. (Contributed by Gisle Aas.)
-
-=head2 Assertions
-
-The support for assertions, introduced in perl 5.9.0, has been improved.
-The syntax for the C<-A> command-line switch has changed; it now accepts
-an optional module name, defaulting to C<assertions::activate>. See
-L<assertions> and L<perlrun>. (Contributed by Salvador Fandiño García.)
-
-=head2 Unicode Character Database 4.1.0
-
-The copy of the Unicode Character Database included in Perl 5.9 has
-been updated to 4.1.0.
-
-=head2 C<no VERSION>
-
-You can now use C<no> followed by a version number to specify that you
-want to use a version of perl older than the specified one.
-
-=head2 Recursive sort subs
-
-You can now use recursive subroutines with sort(), thanks to Robin Houston.
-
-=head2 Effect of pragmas in eval
-
-The compile-time value of the C<%^H> hint variable can now propagate into
-eval("")uated code. This makes it more useful to implement lexical
-pragmas.
-
-As a side-effect of this, the overloaded-ness of constants now propagates
-into eval("").
-
-=head2 New B<-E> command-line switch
-
-B<-E> is equivalent to B<-e>, but it implicitly enables all
-optional features (like C<use feature ":5.10">).
-
-=head2 C<chdir>, C<chmod> and C<chown> on filehandles
-
-C<chdir>, C<chmod> and C<chown> can now work on filehandles as well as
-filenames, if the system supports respectively C<fchdir>, C<fchmod> and
-C<fchown>, thanks to a patch provided by Gisle Aas.
-
-=head2 OS groups
-
-C<$(> and C<$)> now return groups in the order where the OS returns them,
-thanks to Gisle Aas. This wasn't previously the case.
-
-=head1 Modules and Pragmata
-
-=head2 New Core Modules
-
-=over 4
-
-=item *
-
-A new pragma, C<feature>, has been added; see above in L</"Core
-Enhancements">.
-
-=item *
-
-C<assertions::compat>, also available on CPAN, allows the use of assertions on
-perl versions prior to 5.9.0 (that is the first one to natively support
-them).
-
-=item *
-
-C<Math::BigInt::FastCalc> is an XS-enabled, and thus faster, version of
-C<Math::BigInt::Calc>.
-
-=item *
-
-C<Compress::Zlib> is an interface to the zlib compression library. It
-comes with a bundled version of zlib, so having a working zlib is not a
-prerequisite to install it. It's used by C<Archive::Tar> (see below).
-
-=item *
-
-C<IO::Zlib> is an C<IO::>-style interface to C<Compress::Zlib>.
-
-=item *
-
-C<Archive::Tar> is a module to manipulate C<tar> archives.
-
-=item *
-
-C<Digest::SHA> is a module used to calculate many types of SHA digests,
-has been included for SHA support in the CPAN module.
-
-=item *
-
-C<ExtUtils::CBuilder> and C<ExtUtils::ParseXS> have been added.
-
-=back
-
-=head1 Utility Changes
-
-=head2 C<ptar>
-
-C<ptar> is a pure perl implementation of C<tar>, that comes with
-C<Archive::Tar>.
-
-=head2 C<ptardiff>
-
-C<ptardiff> is a small script used to generate a diff between the contents
-of a tar archive and a directory tree. Like C<ptar>, it comes with
-C<Archive::Tar>.
-
-=head2 C<shasum>
-
-This command-line utility, used to print or to check SHA digests, comes
-with the new C<Digest::SHA> module.
-
-=head2 C<h2xs> enhancements
-
-C<h2xs> implements a new option C<--use-xsloader> to force use of
-C<XSLoader> even in backwards compatible modules.
-
-The handling of authors' names that had apostrophes has been fixed.
-
-Any enums with negative values are now skipped.
-
-=head2 C<perlivp> enhancements
-
-C<perlivp> no longer checks for F<*.ph> files by default. Use the new C<-a>
-option to run I<all> tests.
-
-=head1 Documentation
-
-=head2 Perl Glossary
-
-The L<perlglossary> manpage is a glossary of terms used in the Perl
-documentation, technical and otherwise, kindly provided by O'Reilly Media,
-Inc.
-
-L<perltodo> now lists a rough roadmap to Perl 5.10.
-
-=head1 Performance Enhancements
-
-=head2 XS-assisted SWASHGET
-
-Some pure-perl code that perl was using to retrieve Unicode properties and
-transliteration mappings has been reimplemented in XS.
-
-=head2 Constant subroutines
-
-The interpreter internals now support a far more memory efficient form of
-inlineable constants. Storing a reference to a constant value in a symbol
-table is equivalent to a full typeglob referencing a constant subroutine,
-but using about 400 bytes less memory. This proxy constant subroutine is
-automatically upgraded to a real typeglob with subroutine if necessary.
-The approach taken is analogous to the existing space optimisation for
-subroutine stub declarations, which are stored as plain scalars in place
-of the full typeglob.
-
-Several of the core modules have been converted to use this feature for
-their system dependent constants - as a result C<use POSIX;> now takes about
-200K less memory.
-
-=head2 C<PERL_DONT_CREATE_GVSV>
-
-The new compilation flag C<PERL_DONT_CREATE_GVSV>, introduced as an option
-in perl 5.8.8, is turned on by default in perl 5.9.3. It prevents perl
-from creating an empty scalar with every new typeglob. See L<perl589delta>
-for details.
-
-=head2 Weak references are cheaper
-
-Weak reference creation is now I<O(1)> rather than I<O(n)>, courtesy of
-Nicholas Clark. Weak reference deletion remains I<O(n)>, but if deletion only
-happens at program exit, it may be skipped completely.
-
-=head2 sort() enhancements
-
-Salvador Fandiño provided improvements to reduce the memory usage of C<sort>
-and to speed up some cases.
-
-=head1 Installation and Configuration Improvements
-
-=head2 Compilation improvements
-
-Parallel makes should work properly now, although there may still be problems
-if C<make test> is instructed to run in parallel.
-
-Building with Borland's compilers on Win32 should work more smoothly. In
-particular Steve Hay has worked to side step many warnings emitted by their
-compilers and at least one C compiler internal error.
-
-Perl extensions on Windows now can be statically built into the Perl DLL,
-thanks to a work by Vadim Konovalov.
-
-=head2 New Or Improved Platforms
-
-Perl is being ported to Symbian OS. See L<perlsymbian> for more
-information.
-
-The VMS port has been improved. See L<perlvms>.
-
-DynaLoader::dl_unload_file() now works on Windows.
-
-Portability of Perl on various recent compilers on Windows has been
-improved (Borland C++, Visual C++ 7.0).
-
-=head2 New probes
-
-C<Configure> will now detect C<clearenv> and C<unsetenv>, thanks to a
-patch from Alan Burlison. It will also probe for C<futimes> (and use it
-internally if available), and whether C<sprintf> correctly returns the
-length of the formatted string.
-
-=head2 Module auxiliary files
-
-README files and changelogs for CPAN modules bundled with perl are no
-longer installed.
-
-=head1 Selected Bug Fixes
-
-=head2 C<defined $$x>
-
-C<use strict "refs"> was ignoring taking a hard reference in an argument
-to defined(), as in :
-
- use strict "refs";
- my $x = "foo";
- if (defined $$x) {...}
-
-This now correctly produces the run-time error C<Can't use string as a
-SCALAR ref while "strict refs" in use>. (However, C<defined @$foo> and
-C<defined %$foo> are still allowed. Those constructs are discouraged
-anyway.)
-
-=head2 Calling CORE::require()
-
-CORE::require() and CORE::do() were always parsed as require() and do()
-when they were overridden. This is now fixed.
-
-=head2 Subscripts of slices
-
-You can now use a non-arrowed form for chained subscripts after a list
-slice, like in:
-
- ({foo => "bar"})[0]{foo}
-
-This used to be a syntax error; a C<< -> >> was required.
-
-=head2 Remove over-optimisation
-
-Perl 5.9.2 introduced a change so that assignments of C<undef> to a
-scalar, or of an empty list to an array or a hash, were optimised out. As
-this could cause problems when C<goto> jumps were involved, this change
-was backed out.
-
-=head2 sprintf() fixes
-
-Using the sprintf() function with some formats could lead to a buffer
-overflow in some specific cases. This has been fixed, along with several
-other bugs, notably in bounds checking.
-
-In related fixes, it was possible for badly written code that did not follow
-the documentation of C<Sys::Syslog> to have formatting vulnerabilities.
-C<Sys::Syslog> has been changed to protect people from poor quality third
-party code.
-
-=head2 no warnings 'category' works correctly with -w
-
-Previously when running with warnings enabled globally via C<-w>, selective
-disabling of specific warning categories would actually turn off all warnings.
-This is now fixed; now C<no warnings 'io';> will only turn off warnings in the
-C<io> class. Previously it would erroneously turn off all warnings.
-
-=head2 Smaller fixes
-
-=over 4
-
-=item *
-
-C<FindBin> now works better with directories where access rights are more
-restrictive than usual.
-
-=item *
-
-Several memory leaks in ithreads were closed. Also, ithreads were made
-less memory-intensive.
-
-=item *
-
-Trailing spaces are now trimmed from C<$!> and C<$^E>.
-
-=item *
-
-Operations that require perl to read a process's list of groups, such as reads
-of C<$(> and C<$)>, now dynamically allocate memory rather than using a
-fixed sized array. The fixed size array could cause C stack exhaustion on
-systems configured to use large numbers of groups.
-
-=item *
-
-C<PerlIO::scalar> now works better with non-default C<$/> settings.
-
-=item *
-
-The C<x> repetition operator is now able to operate on C<qw//> lists. This
-used to raise a syntax error.
-
-=item *
-
-The debugger now traces correctly execution in eval("")uated code that
-contains #line directives.
-
-=item *
-
-The value of the C<open> pragma is no longer ignored for three-argument
-opens.
-
-=item *
-
-Perl will now use the C library calls C<unsetenv> and C<clearenv> if present
-to delete keys from C<%ENV> and delete C<%ENV> entirely, thanks to a patch
-from Alan Burlison.
-
-=back
-
-=head2 More Unicode Fixes
-
-=over 4
-
-=item *
-
-chr() on a negative value now gives C<\x{FFFD}>, the Unicode replacement
-character, unless when the C<bytes> pragma is in effect, where the low
-eight bytes of the value are used.
-
-=item *
-
-Some case insensitive matches between UTF-8 encoded data and 8 bit regexps,
-and vice versa, could give malformed character warnings. These have been
-fixed by Dave Mitchell and Yves Orton.
-
-=item *
-
-C<lcfirst> and C<ucfirst> could corrupt the string for certain cases where
-the length UTF-8 encoding of the string in lower case, upper case or title
-case differed. This was fixed by Nicholas Clark.
-
-=back
-
-=head1 New or Changed Diagnostics
-
-=head2 Attempt to set length of freed array
-
-This is a new warning, produced in situations like the following one:
-
- $r = do {my @a; \$#a};
- $$r = 503;
-
-=head2 Non-string passed as bitmask
-
-This is a new warning, produced when number has been passed as a argument to
-select(), instead of a bitmask.
-
- # Wrong, will now warn
- $rin = fileno(STDIN);
- ($nfound,$timeleft) = select($rout=$rin, undef, undef, $timeout);
-
- # Should be
- $rin = '';
- vec($rin,fileno(STDIN),1) = 1;
- ($nfound,$timeleft) = select($rout=$rin, undef, undef, $timeout);
-
-=head2 Search pattern not terminated or ternary operator parsed as search pattern
-
-This syntax error indicates that the lexer couldn't find the final
-delimiter of a C<?PATTERN?> construct. Mentioning the ternary operator in
-this error message makes syntax diagnostic easier.
-
-=head2 "%s" variable %s masks earlier declaration
-
-This warning is now emitted in more consistent cases; in short, when one
-of the declarations involved is a C<my> variable:
-
- my $x; my $x; # warns
- my $x; our $x; # warns
- our $x; my $x; # warns
-
-On the other hand, the following:
-
- our $x; our $x;
-
-now gives a C<"our" variable %s redeclared> warning.
-
-=head2 readdir()/closedir()/etc. attempted on invalid dirhandle
-
-These new warnings are now emitted when a dirhandle is used but is
-either closed or not really a dirhandle.
-
-=head1 Changed Internals
-
-In general, the source code of perl has been refactored, tied up, and
-optimized in many places. Also, memory management and allocation has been
-improved in a couple of points.
-
-Andy Lester supplied many improvements to determine which function
-parameters and local variables could actually be declared C<const> to the C
-compiler. Steve Peters provided new C<*_set> macros and reworked the core to
-use these rather than assigning to macros in LVALUE context.
-
-Dave Mitchell improved the lexer debugging output under C<-DT>.
-
-A new file, F<mathoms.c>, has been added. It contains functions that are
-no longer used in the perl core, but that remain available for binary or
-source compatibility reasons. However, those functions will not be
-compiled in if you add C<-DNO_MATHOMS> in the compiler flags.
-
-The C<AvFLAGS> macro has been removed.
-
-The C<av_*()> functions, used to manipulate arrays, no longer accept null
-C<AV*> parameters.
-
-=head2 B:: modules inheritance changed
-
-The inheritance hierarchy of C<B::> modules has changed; C<B::NV> now
-inherits from C<B::SV> (it used to inherit from C<B::IV>).
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://bugs.perl.org/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-=head1 SEE ALSO
-
-The F<Changes> file for exhaustive details on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl594delta.pod b/Master/tlpkg/tlperl/lib/pods/perl594delta.pod
deleted file mode 100644
index aa4358bc504..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl594delta.pod
+++ /dev/null
@@ -1,382 +0,0 @@
-=head1 NAME
-
-perl594delta - what is new for perl v5.9.4
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.9.3 and the 5.9.4
-development releases. See L<perl590delta>, L<perl591delta>, L<perl592delta>
-and L<perl593delta> for the differences between 5.8.0 and 5.9.3.
-
-=head1 Incompatible Changes
-
-=head2 chdir FOO
-
-A bareword argument to chdir() is now recognized as a file handle.
-Earlier releases interpreted the bareword as a directory name.
-(Gisle Aas)
-
-=head2 Handling of pmc files
-
-An old feature of perl was that before C<require> or C<use> look for a
-file with a F<.pm> extension, they will first look for a similar filename
-with a F<.pmc> extension. If this file is found, it will be loaded in
-place of any potentially existing file ending in a F<.pm> extension.
-
-Previously, F<.pmc> files were loaded only if more recent than the
-matching F<.pm> file. Starting with 5.9.4, they'll be always loaded if
-they exist. (This trick is used by Pugs.)
-
-=head2 @- and @+ in patterns
-
-The special arrays C<@-> and C<@+> are no longer interpolated in regular
-expressions. (Sadahiro Tomoyuki)
-
-=head2 $AUTOLOAD can now be tainted
-
-If you call a subroutine by a tainted name, and if it defers to an
-AUTOLOAD function, then $AUTOLOAD will be (correctly) tainted.
-(Rick Delaney)
-
-=head1 Core Enhancements
-
-=head2 state() variables
-
-A new class of variables has been introduced. State variables are similar
-to C<my> variables, but are declared with the C<state> keyword in place of
-C<my>. They're visible only in their lexical scope, but their value is
-persistent: unlike C<my> variables, they're not undefined at scope entry,
-but retain their previous value. (Rafael Garcia-Suarez)
-
-To use state variables, one needs to enable them by using
-
- use feature "state";
-
-or by using the C<-E> command-line switch in one-liners.
-
-See L<perlsub/"Persistent variables via state()">.
-
-=head2 UNIVERSAL::DOES()
-
-The C<UNIVERSAL> class has a new method, C<DOES()>. It has been added to
-solve semantic problems with the C<isa()> method. C<isa()> checks for
-inheritance, while C<DOES()> has been designed to be overridden when
-module authors use other types of relations between classes (in addition
-to inheritance). (chromatic)
-
-See L<< UNIVERSAL/"$obj->DOES( ROLE )" >>.
-
-=head2 Exceptions in constant folding
-
-The constant folding routine is now wrapped in an exception handler, and
-if folding throws an exception (such as attempting to evaluate 0/0), perl
-now retains the current optree, rather than aborting the whole program.
-(Nicholas Clark, Dave Mitchell)
-
-=head2 Source filters in @INC
-
-It's possible to enhance the mechanism of subroutine hooks in @INC by
-adding a source filter on top of the filehandle opened and returned by the
-hook. This feature was planned a long time ago, but wasn't quite working
-until now. See L<perlfunc/require> for details. (Nicholas Clark)
-
-=head2 MAD
-
-MAD, which stands for I<Misc Attribute Decoration>, is a
-still-in-development work leading to a Perl 5 to Perl 6 converter. To
-enable it, it's necessary to pass the argument C<-Dmad> to Configure. The
-obtained perl isn't binary compatible with a regular perl 5.9.4, and has
-space and speed penalties; moreover not all regression tests still pass
-with it. (Larry Wall, Nicholas Clark)
-
-=head1 Modules and Pragmas
-
-=over 4
-
-=item *
-
-C<encoding::warnings> is now a lexical pragma. (Although on older perls,
-which don't have support for lexical pragmas, it keeps its global
-behaviour.) (Audrey Tang)
-
-=item *
-
-C<threads> is now a dual-life module, also available on CPAN. It has been
-expanded in many ways. A kill() method is available for thread signalling.
-One can get thread status, or the list of running or joinable threads.
-
-A new C<< threads->exit() >> method is used to exit from the application
-(this is the default for the main thread) or from the current thread only
-(this is the default for all other threads). On the other hand, the exit()
-built-in now always causes the whole application to terminate. (Jerry
-D. Hedden)
-
-=back
-
-=head2 New Core Modules
-
-=over 4
-
-=item *
-
-C<Hash::Util::FieldHash>, by Anno Siegel, has been added. This module
-provides support for I<field hashes>: hashes that maintain an association
-of a reference with a value, in a thread-safe garbage-collected way.
-Such hashes are useful to implement inside-out objects.
-
-=item *
-
-C<Module::Build>, by Ken Williams, has been added. It's an alternative to
-C<ExtUtils::MakeMaker> to build and install perl modules.
-
-=item *
-
-C<Module::Load>, by Jos Boumans, has been added. It provides a single
-interface to load Perl modules and F<.pl> files.
-
-=item *
-
-C<Module::Loaded>, by Jos Boumans, has been added. It's used to mark
-modules as loaded or unloaded.
-
-=item *
-
-C<Package::Constants>, by Jos Boumans, has been added. It's a simple
-helper to list all constants declared in a given package.
-
-=item *
-
-C<Win32API::File>, by Tye McQueen, has been added (for Windows builds).
-This module provides low-level access to Win32 system API calls for
-files/dirs.
-
-=back
-
-=head1 Utility Changes
-
-=head2 config_data
-
-C<config_data> is a new utility that comes with C<Module::Build>. It
-provides a command-line interface to the configuration of Perl modules
-that use Module::Build's framework of configurability (that is,
-C<*::ConfigData> modules that contain local configuration information for
-their parent modules.)
-
-=head1 Documentation
-
-=head2 New manpage, perlpragma
-
-The L<perlpragma> manpage documents how to write one's own lexical
-pragmas in pure Perl (something that is possible starting with 5.9.4).
-
-=head2 New manpage, perlreguts
-
-The L<perlreguts> manpage, courtesy of Yves Orton, describes internals of the
-Perl regular expression engine.
-
-=head2 New manpage, perlunitut
-
-The L<perlunitut> manpage is an tutorial for programming with Unicode and
-string encodings in Perl, courtesy of Juerd Waalboer.
-
-=head1 Performance Enhancements
-
-=head2 Memory optimisations
-
-Several internal data structures (typeglobs, GVs, CVs, formats) have been
-restructured to use less memory. (Nicholas Clark)
-
-=head2 UTF-8 cache optimisation
-
-The UTF-8 caching code is now more efficient, and used more often.
-(Nicholas Clark)
-
-=head2 Regular expressions
-
-=over 4
-
-=item Engine de-recursivised
-
-The regular expression engine is no longer recursive, meaning that
-patterns that used to overflow the stack will either die with useful
-explanations, or run to completion, which, since they were able to blow
-the stack before, will likely take a very long time to happen. If you were
-experiencing the occasional stack overflow (or segfault) and upgrade to
-discover that now perl apparently hangs instead, look for a degenerate
-regex. (Dave Mitchell)
-
-=item Single char char-classes treated as literals
-
-Classes of a single character are now treated the same as if the character
-had been used as a literal, meaning that code that uses char-classes as an
-escaping mechanism will see a speedup. (Yves Orton)
-
-=item Trie optimisation of literal string alternations
-
-Alternations, where possible, are optimised into more efficient matching
-structures. String literal alternations are merged into a trie and are
-matched simultaneously. This means that instead of O(N) time for matching
-N alternations at a given point the new code performs in O(1) time. (Yves
-Orton)
-
-B<Note:> Much code exists that works around perl's historic poor
-performance on alternations. Often the tricks used to do so will disable
-the new optimisations. Hopefully the utility modules used for this purpose
-will be educated about these new optimisations by the time 5.10 is
-released.
-
-=item Aho-Corasick start-point optimisation
-
-When a pattern starts with a trie-able alternation and there aren't
-better optimisations available the regex engine will use Aho-Corasick
-matching to find the start point. (Yves Orton)
-
-=back
-
-=head2 Sloppy stat on Windows
-
-On Windows, perl's stat() function normally opens the file to determine
-the link count and update attributes that may have been changed through
-hard links. Setting ${^WIN32_SLOPPY_STAT} to a true value speeds up
-stat() by not performing this operation. (Jan Dubois)
-
-=head1 Installation and Configuration Improvements
-
-=head2 Relocatable installations
-
-There is now Configure support for creating a relocatable perl tree. If
-you Configure with C<-Duserelocatableinc>, then the paths in @INC (and
-everything else in %Config) can be optionally located via the path of the
-perl executable.
-
-That means that, if the string C<".../"> is found at the start of any
-path, it's substituted with the directory of $^X. So, the relocation can
-be configured on a per-directory basis, although the default with
-C<-Duserelocatableinc> is that everything is relocated. The initial
-install is done to the original configured prefix.
-
-=head2 Ports
-
-Many improvements have been made towards making Perl work correctly on
-z/OS.
-
-Perl has been reported to work on DragonFlyBSD.
-
-=head2 Compilation improvements
-
-All F<ppport.h> files in the XS modules bundled with perl are now
-autogenerated at build time. (Marcus Holland-Moritz)
-
-=head2 New probes
-
-The configuration process now detects whether strlcat() and strlcpy() are
-available. When they are not available, perl's own version is used (from
-Russ Allbery's public domain implementation). Various places in the perl
-interpreter now use them. (Steve Peters)
-
-=head2 Windows build improvements
-
-=over 4
-
-=item Building XS extensions
-
-Support for building XS extension modules with the free MinGW compiler has
-been improved in the case where perl itself was built with the Microsoft
-VC++ compiler. (ActiveState)
-
-=item Support for 64-bit compiler
-
-Support for building perl with Microsoft's 64-bit compiler has been
-improved. (ActiveState)
-
-=back
-
-=head1 Selected Bug Fixes
-
-=head2 PERL5SHELL and tainting
-
-On Windows, the PERL5SHELL environment variable is now checked for
-taintedness. (Rafael Garcia-Suarez)
-
-=head2 Using *FILE{IO}
-
-C<stat()> and C<-X> filetests now treat *FILE{IO} filehandles like *FILE
-filehandles. (Steve Peters)
-
-=head2 Overloading and reblessing
-
-Overloading now works when references are reblessed into another class.
-Internally, this has been implemented by moving the flag for "overloading"
-from the reference to the referent, which logically is where it should
-always have been. (Nicholas Clark)
-
-=head2 Overloading and UTF-8
-
-A few bugs related to UTF-8 handling with objects that have
-stringification overloaded have been fixed. (Nicholas Clark)
-
-=head2 eval memory leaks fixed
-
-Traditionally, C<eval 'syntax error'> has leaked badly. Many (but not all)
-of these leaks have now been eliminated or reduced. (Dave Mitchell)
-
-=head2 Random device on Windows
-
-In previous versions, perl would read the file F</dev/urandom> if it
-existed when seeding its random number generator. That file is unlikely
-to exist on Windows, and if it did would probably not contain appropriate
-data, so perl no longer tries to read it on Windows. (Alex Davies)
-
-=head1 New or Changed Diagnostics
-
-=over 4
-
-=item State variable %s will be reinitialized
-
-One can assign initial values to state variables, but not when they're
-declared as a sub-part of a list assignment. See L<perldiag>.
-
-=back
-
-=head1 Changed Internals
-
-A new file, F<mathoms.c>, contains functions that aren't used anymore in
-the perl core, but remain around because modules out there might
-still use them. They come from a factorization effort: for example, many
-PP functions are now shared for several ops.
-
-The implementation of the special variables $^H and %^H has changed, to
-allow implementing lexical pragmas in pure perl.
-
-=head1 Known Problems
-
-One warning test (number 263 in F<lib/warnings.t>) fails under UTF-8
-locales.
-
-Bytecode tests fail under several platforms. We are considering removing
-support for byteloader and compiler before the 5.10.0 release.
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://rt.perl.org/rt3/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-=head1 SEE ALSO
-
-The F<Changes> file for exhaustive details on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perl595delta.pod b/Master/tlpkg/tlperl/lib/pods/perl595delta.pod
deleted file mode 100644
index 246b2cc7478..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perl595delta.pod
+++ /dev/null
@@ -1,587 +0,0 @@
-=head1 NAME
-
-perl595delta - what is new for perl v5.9.5
-
-=head1 DESCRIPTION
-
-This document describes differences between the 5.9.4 and the 5.9.5
-development releases. See L<perl590delta>, L<perl591delta>,
-L<perl592delta>, L<perl593delta> and L<perl594delta> for the differences
-between 5.8.0 and 5.9.4.
-
-=head1 Incompatible Changes
-
-=head2 Tainting and printf
-
-When perl is run under taint mode, C<printf()> and C<sprintf()> will now
-reject any tainted format argument. (Rafael Garcia-Suarez)
-
-=head2 undef and signal handlers
-
-Undefining or deleting a signal handler via C<undef $SIG{FOO}> is now
-equivalent to setting it to C<'DEFAULT'>. (Rafael)
-
-=head2 strictures and array/hash dereferencing in defined()
-
-C<defined @$foo> and C<defined %$bar> are now subject to C<strict 'refs'>
-(that is, C<$foo> and C<$bar> shall be proper references there.)
-(Nicholas Clark)
-
-(However, C<defined(@foo)> and C<defined(%bar)> are discouraged constructs
-anyway.)
-
-=head2 C<(?p{})> has been removed
-
-The regular expression construct C<(?p{})>, which was deprecated in perl
-5.8, has been removed. Use C<(??{})> instead. (Rafael)
-
-=head2 Pseudo-hashes have been removed
-
-Support for pseudo-hashes has been removed from Perl 5.9. (The C<fields>
-pragma remains here, but uses an alternate implementation.)
-
-=head2 Removal of the bytecode compiler and of perlcc
-
-C<perlcc>, the byteloader and the supporting modules (B::C, B::CC,
-B::Bytecode, etc.) are no longer distributed with the perl sources. Those
-experimental tools have never worked reliably, and, due to the lack of
-volunteers to keep them in line with the perl interpreter developments, it
-was decided to remove them instead of shipping a broken version of those.
-The last version of those modules can be found with perl 5.9.4.
-
-However the B compiler framework stays supported in the perl core, as with
-the more useful modules it has permitted (among others, B::Deparse and
-B::Concise).
-
-=head2 Removal of the JPL
-
-The JPL (Java-Perl Linguo) has been removed from the perl sources tarball.
-
-=head2 Recursive inheritance detected earlier
-
-Perl will now immediately throw an exception if you modify any package's
-C<@ISA> in such a way that it would cause recursive inheritance.
-
-Previously, the exception would not occur until Perl attempted to make
-use of the recursive inheritance while resolving a method or doing a
-C<$foo-E<gt>isa($bar)> lookup.
-
-=head1 Core Enhancements
-
-=head2 Regular expressions
-
-=over 4
-
-=item Recursive Patterns
-
-It is now possible to write recursive patterns without using the C<(??{})>
-construct. This new way is more efficient, and in many cases easier to
-read.
-
-Each capturing parenthesis can now be treated as an independent pattern
-that can be entered by using the C<(?PARNO)> syntax (C<PARNO> standing for
-"parenthesis number"). For example, the following pattern will match
-nested balanced angle brackets:
-
- /
- ^ # start of line
- ( # start capture buffer 1
- < # match an opening angle bracket
- (?: # match one of:
- (?> # don't backtrack over the inside of this group
- [^<>]+ # one or more non angle brackets
- ) # end non backtracking group
- | # ... or ...
- (?1) # recurse to bracket 1 and try it again
- )* # 0 or more times.
- > # match a closing angle bracket
- ) # end capture buffer one
- $ # end of line
- /x
-
-Note, users experienced with PCRE will find that the Perl implementation
-of this feature differs from the PCRE one in that it is possible to
-backtrack into a recursed pattern, whereas in PCRE the recursion is
-atomic or "possessive" in nature. (Yves Orton)
-
-=item Named Capture Buffers
-
-It is now possible to name capturing parenthesis in a pattern and refer to
-the captured contents by name. The naming syntax is C<< (?<NAME>....) >>.
-It's possible to backreference to a named buffer with the C<< \k<NAME> >>
-syntax. In code, the new magical hashes C<%+> and C<%-> can be used to
-access the contents of the capture buffers.
-
-Thus, to replace all doubled chars, one could write
-
- s/(?<letter>.)\k<letter>/$+{letter}/g
-
-Only buffers with defined contents will be "visible" in the C<%+> hash, so
-it's possible to do something like
-
- foreach my $name (keys %+) {
- print "content of buffer '$name' is $+{$name}\n";
- }
-
-The C<%-> hash is a bit more complete, since it will contain array refs
-holding values from all capture buffers similarly named, if there should
-be many of them.
-
-C<%+> and C<%-> are implemented as tied hashes through the new module
-C<Tie::Hash::NamedCapture>.
-
-Users exposed to the .NET regex engine will find that the perl
-implementation differs in that the numerical ordering of the buffers
-is sequential, and not "unnamed first, then named". Thus in the pattern
-
- /(A)(?<B>B)(C)(?<D>D)/
-
-$1 will be 'A', $2 will be 'B', $3 will be 'C' and $4 will be 'D' and not
-$1 is 'A', $2 is 'C' and $3 is 'B' and $4 is 'D' that a .NET programmer
-would expect. This is considered a feature. :-) (Yves Orton)
-
-=item Possessive Quantifiers
-
-Perl now supports the "possessive quantifier" syntax of the "atomic match"
-pattern. Basically a possessive quantifier matches as much as it can and never
-gives any back. Thus it can be used to control backtracking. The syntax is
-similar to non-greedy matching, except instead of using a '?' as the modifier
-the '+' is used. Thus C<?+>, C<*+>, C<++>, C<{min,max}+> are now legal
-quantifiers. (Yves Orton)
-
-=item Backtracking control verbs
-
-The regex engine now supports a number of special-purpose backtrack
-control verbs: (*THEN), (*PRUNE), (*MARK), (*SKIP), (*COMMIT), (*FAIL)
-and (*ACCEPT). See L<perlre> for their descriptions. (Yves Orton)
-
-=item Relative backreferences
-
-A new syntax C<\g{N}> or C<\gN> where "N" is a decimal integer allows a
-safer form of back-reference notation as well as allowing relative
-backreferences. This should make it easier to generate and embed patterns
-that contain backreferences. See L<perlre/"Capture buffers">. (Yves Orton)
-
-=item C<\K> escape
-
-The functionality of Jeff Pinyan's module Regexp::Keep has been added to
-the core. You can now use in regular expressions the special escape C<\K>
-as a way to do something like floating length positive lookbehind. It is
-also useful in substitutions like:
-
- s/(foo)bar/$1/g
-
-that can now be converted to
-
- s/foo\Kbar//g
-
-which is much more efficient. (Yves Orton)
-
-=item Vertical and horizontal whitespace, and linebreak
-
-Regular expressions now recognize the C<\v> and C<\h> escapes, that match
-vertical and horizontal whitespace, respectively. C<\V> and C<\H>
-logically match their complements.
-
-C<\R> matches a generic linebreak, that is, vertical whitespace, plus
-the multi-character sequence C<"\x0D\x0A">.
-
-=back
-
-=head2 The C<_> prototype
-
-A new prototype character has been added. C<_> is equivalent to C<$> (it
-denotes a scalar), but defaults to C<$_> if the corresponding argument
-isn't supplied. Due to the optional nature of the argument, you can only
-use it at the end of a prototype, or before a semicolon.
-
-This has a small incompatible consequence: the prototype() function has
-been adjusted to return C<_> for some built-ins in appropriate cases (for
-example, C<prototype('CORE::rmdir')>). (Rafael)
-
-=head2 UNITCHECK blocks
-
-C<UNITCHECK>, a new special code block has been introduced, in addition to
-C<BEGIN>, C<CHECK>, C<INIT> and C<END>.
-
-C<CHECK> and C<INIT> blocks, while useful for some specialized purposes,
-are always executed at the transition between the compilation and the
-execution of the main program, and thus are useless whenever code is
-loaded at runtime. On the other hand, C<UNITCHECK> blocks are executed
-just after the unit which defined them has been compiled. See L<perlmod>
-for more information. (Alex Gough)
-
-=head2 readpipe() is now overridable
-
-The built-in function readpipe() is now overridable. Overriding it permits
-also to override its operator counterpart, C<qx//> (a.k.a. C<``>).
-Moreover, it now defaults to C<$_> if no argument is provided. (Rafael)
-
-=head2 default argument for readline()
-
-readline() now defaults to C<*ARGV> if no argument is provided. (Rafael)
-
-=head2 UCD 5.0.0
-
-The copy of the Unicode Character Database included in Perl 5.9 has
-been updated to version 5.0.0.
-
-=head2 Smart match
-
-The smart match operator (C<~~>) is now available by default (you don't
-need to enable it with C<use feature> any longer). (Michael G Schwern)
-
-=head2 Implicit loading of C<feature>
-
-The C<feature> pragma is now implicitly loaded when you require a minimal
-perl version (with the C<use VERSION> construct) greater than, or equal
-to, 5.9.5.
-
-=head1 Modules and Pragmas
-
-=head2 New Pragma, C<mro>
-
-A new pragma, C<mro> (for Method Resolution Order) has been added. It
-permits to switch, on a per-class basis, the algorithm that perl uses to
-find inherited methods in case of a multiple inheritance hierarchy. The
-default MRO hasn't changed (DFS, for Depth First Search). Another MRO is
-available: the C3 algorithm. See L<mro> for more information.
-(Brandon Black)
-
-Note that, due to changes in the implementation of class hierarchy search,
-code that used to undef the C<*ISA> glob will most probably break. Anyway,
-undef'ing C<*ISA> had the side-effect of removing the magic on the @ISA
-array and should not have been done in the first place.
-
-=head2 bignum, bigint, bigrat
-
-The three numeric pragmas C<bignum>, C<bigint> and C<bigrat> are now
-lexically scoped. (Tels)
-
-=head2 Math::BigInt/Math::BigFloat
-
-Many bugs have been fixed; noteworthy are comparisons with NaN, which
-no longer warn about undef values.
-
-The following things are new:
-
-=over 4
-
-=item config()
-
-The config() method now also supports the calling-style
-C<< config('lib') >> in addition to C<< config()->{'lib'} >>.
-
-=item import()
-
-Upon import, using C<< lib => 'Foo' >> now warns if the low-level library
-cannot be found. To suppress the warning, you can use C<< try => 'Foo' >>
-instead. To convert the warning into a die, use C<< only => 'Foo' >>
-instead.
-
-=item roundmode common
-
-A rounding mode of C<common> is now supported.
-
-=back
-
-Also, support for the following methods has been added:
-
-=over 4
-
-=item bpi(), bcos(), bsin(), batan(), batan2()
-
-=item bmuladd()
-
-=item bexp(), bnok()
-
-=item from_hex(), from_oct(), and from_bin()
-
-=item as_oct()
-
-=back
-
-In addition, the default math-backend (Calc (Perl) and FastCalc (XS)) now
-support storing numbers in parts with 9 digits instead of 7 on Perls with
-either 64bit integer or long double support. This means math operations
-scale better and are thus faster for really big numbers.
-
-=head2 New Core Modules
-
-=over 4
-
-=item *
-
-C<Locale::Maketext::Simple>, needed by CPANPLUS, is a simple wrapper around
-C<Locale::Maketext::Lexicon>. Note that C<Locale::Maketext::Lexicon> isn't
-included in the perl core; the behaviour of C<Locale::Maketext::Simple>
-gracefully degrades when the later isn't present.
-
-=item *
-
-C<Params::Check> implements a generic input parsing/checking mechanism. It
-is used by CPANPLUS.
-
-=item *
-
-C<Term::UI> simplifies the task to ask questions at a terminal prompt.
-
-=item *
-
-C<Object::Accessor> provides an interface to create per-object accessors.
-
-=item *
-
-C<Module::Pluggable> is a simple framework to create modules that accept
-pluggable sub-modules.
-
-=item *
-
-C<Module::Load::Conditional> provides simple ways to query and possibly
-load installed modules.
-
-=item *
-
-C<Time::Piece> provides an object oriented interface to time functions,
-overriding the built-ins localtime() and gmtime().
-
-=item *
-
-C<IPC::Cmd> helps to find and run external commands, possibly
-interactively.
-
-=item *
-
-C<File::Fetch> provide a simple generic file fetching mechanism.
-
-=item *
-
-C<Log::Message> and C<Log::Message::Simple> are used by the log facility
-of C<CPANPLUS>.
-
-=item *
-
-C<Archive::Extract> is a generic archive extraction mechanism
-for F<.tar> (plain, gziped or bzipped) or F<.zip> files.
-
-=item *
-
-C<CPANPLUS> provides an API and a command-line tool to access the CPAN
-mirrors.
-
-=back
-
-=head2 Module changes
-
-=over 4
-
-=item C<assertions>
-
-The C<assertions> pragma, its submodules C<assertions::activate> and
-C<assertions::compat> and the B<-A> command-line switch have been removed.
-The interface was not judged mature enough for inclusion in a stable
-release.
-
-=item C<base>
-
-The C<base> pragma now warns if a class tries to inherit from itself.
-(Curtis "Ovid" Poe)
-
-=item C<strict> and C<warnings>
-
-C<strict> and C<warnings> will now complain loudly if they are loaded via
-incorrect casing (as in C<use Strict;>). (Johan Vromans)
-
-=item C<warnings>
-
-The C<warnings> pragma doesn't load C<Carp> anymore. That means that code
-that used C<Carp> routines without having loaded it at compile time might
-need to be adjusted; typically, the following (faulty) code won't work
-anymore, and will require parentheses to be added after the function name:
-
- use warnings;
- require Carp;
- Carp::confess "argh";
-
-=item C<less>
-
-C<less> now does something useful (or at least it tries to). In fact, it
-has been turned into a lexical pragma. So, in your modules, you can now
-test whether your users have requested to use less CPU, or less memory,
-less magic, or maybe even less fat. See L<less> for more. (Joshua ben
-Jore)
-
-=item C<Attribute::Handlers>
-
-C<Attribute::Handlers> can now report the caller's file and line number.
-(David Feldman)
-
-=item C<B::Lint>
-
-C<B::Lint> is now based on C<Module::Pluggable>, and so can be extended
-with plugins. (Joshua ben Jore)
-
-=item C<B>
-
-It's now possible to access the lexical pragma hints (C<%^H>) by using the
-method B::COP::hints_hash(). It returns a C<B::RHE> object, which in turn
-can be used to get a hash reference via the method B::RHE::HASH(). (Joshua
-ben Jore)
-
-=for p5p XXX document this in B.pm too
-
-=item C<Thread>
-
-As the old 5005thread threading model has been removed, in favor of the
-ithreads scheme, the C<Thread> module is now a compatibility wrapper, to
-be used in old code only. It has been removed from the default list of
-dynamic extensions.
-
-=back
-
-=head1 Utility Changes
-
-=head2 C<cpanp>
-
-C<cpanp>, the CPANPLUS shell, has been added. (C<cpanp-run-perl>, an
-helper for CPANPLUS operation, has been added too, but isn't intended for
-direct use).
-
-=head2 C<cpan2dist>
-
-C<cpan2dist> is a new utility, that comes with CPANPLUS. It's a tool to
-create distributions (or packages) from CPAN modules.
-
-=head2 C<pod2html>
-
-The output of C<pod2html> has been enhanced to be more customizable via
-CSS. Some formatting problems were also corrected. (Jari Aalto)
-
-=head1 Documentation
-
-=head2 New manpage, perlunifaq
-
-A new manual page, L<perlunifaq> (the Perl Unicode FAQ), has been added
-(Juerd Waalboer).
-
-=head1 Installation and Configuration Improvements
-
-=head2 C++ compatibility
-
-Efforts have been made to make perl and the core XS modules compilable
-with various C++ compilers (although the situation is not perfect with
-some of the compilers on some of the platforms tested.)
-
-=head2 Visual C++
-
-Perl now can be compiled with Microsoft Visual C++ 2005.
-
-=head2 Static build on Win32
-
-It's now possible to build a C<perl-static.exe> that doesn't depend
-on C<perl59.dll> on Win32. See the Win32 makefiles for details.
-(Vadim Konovalov)
-
-=head2 win32 builds
-
-All win32 builds (MS-Win, WinCE) have been merged and cleaned up.
-
-=head2 C<d_pseudofork> and C<d_printf_format_null>
-
-A new configuration variable, available as C<$Config{d_pseudofork}> in
-the L<Config> module, has been added, to distinguish real fork() support
-from fake pseudofork used on Windows platforms.
-
-A new configuration variable, C<d_printf_format_null>, has been added,
-to see if printf-like formats are allowed to be NULL.
-
-=head2 Help
-
-C<Configure -h> has been extended with the most used option.
-
-Much less 'Whoa there' messages.
-
-=head2 64bit systems
-
-Better detection of 64bit(only) systems, and setting all the (library)
-paths accordingly.
-
-=head2 Ports
-
-Perl has been reported to work on MidnightBSD.
-
-Support for Cray XT4 Catamount/Qk has been added.
-
-Vendor patches have been merged for RedHat and GenToo.
-
-=head1 Selected Bug Fixes
-
-PerlIO::scalar will now prevent writing to read-only scalars. Moreover,
-seek() is now supported with PerlIO::scalar-based filehandles, the
-underlying string being zero-filled as needed. (Rafael, Jarkko Hietaniemi)
-
-study() never worked for UTF-8 strings, but could lead to false results.
-It's now a no-op on UTF-8 data. (Yves Orton)
-
-The signals SIGILL, SIGBUS and SIGSEGV are now always delivered in an
-"unsafe" manner (contrary to other signals, that are deferred until the
-perl interpreter reaches a reasonably stable state; see
-L<perlipc/"Deferred Signals (Safe Signals)">). (Rafael)
-
-When a module or a file is loaded through an @INC-hook, and when this hook
-has set a filename entry in %INC, __FILE__ is now set for this module
-accordingly to the contents of that %INC entry. (Rafael)
-
-The C<-w> and C<-t> switches can now be used together without messing
-up what categories of warnings are activated or not. (Rafael)
-
-Duping a filehandle which has the C<:utf8> PerlIO layer set will now
-properly carry that layer on the duped filehandle. (Rafael)
-
-Localizing an hash element whose key was given as a variable didn't work
-correctly if the variable was changed while the local() was in effect (as
-in C<local $h{$x}; ++$x>). (Bo Lindbergh)
-
-=head1 New or Changed Diagnostics
-
-=head2 Deprecations
-
-Two deprecation warnings have been added: (Rafael)
-
- Opening dirhandle %s also as a file
- Opening filehandle %s also as a directory
-
-=head1 Changed Internals
-
-The anonymous hash and array constructors now take 1 op in the optree
-instead of 3, now that pp_anonhash and pp_anonlist return a reference to
-an hash/array when the op is flagged with OPf_SPECIAL (Nicholas Clark).
-
-=for p5p XXX have we some docs on how to create regexp engine plugins, since that's now possible ? (perlreguts)
-
-=for p5p XXX new BIND SV type, #29544, #29642
-
-=head1 Reporting Bugs
-
-If you find what you think is a bug, you might check the articles
-recently posted to the comp.lang.perl.misc newsgroup and the perl
-bug database at http://rt.perl.org/rt3/ . There may also be
-information at http://www.perl.org/ , the Perl Home Page.
-
-If you believe you have an unreported bug, please run the B<perlbug>
-program included with your release. Be sure to trim your bug down
-to a tiny but sufficient test case. Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug@perl.org to be
-analysed by the Perl porting team.
-
-=head1 SEE ALSO
-
-The F<Changes> file for exhaustive details on what changed.
-
-The F<INSTALL> file for how to build Perl.
-
-The F<README> file for general stuff.
-
-The F<Artistic> and F<Copying> files for copyright information.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlaix.pod b/Master/tlpkg/tlperl/lib/pods/perlaix.pod
index 6437f51d5fa..97e94abcf25 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlaix.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlaix.pod
@@ -4,7 +4,7 @@ designed to be readable as is.
=head1 NAME
-README.aix - Perl version 5 on IBM AIX (UNIX) systems
+perlaix - Perl version 5 on IBM AIX (UNIX) systems
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/pods/perlapi.pod b/Master/tlpkg/tlperl/lib/pods/perlapi.pod
index 5c7a2b98bfd..57ddb06f97f 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlapi.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlapi.pod
@@ -12,7 +12,7 @@ perlapi - autogenerated documentation for the perl public API
X<Perl API> X<API> X<api>
This file contains the documentation of the perl public API generated by
-embed.pl, specifically a listing of functions, macros, flags, and variables
+F<embed.pl>, specifically a listing of functions, macros, flags, and variables
that may be used by extension writers. L<At the end|/Undocumented functions>
is a list of functions which have yet to be documented. The interfaces of
those are subject to change without notice. Any functions not listed here are
@@ -151,8 +151,11 @@ Found in file av.h
=item av_clear
X<av_clear>
-Clears an array, making it empty. Does not free the memory used by the
-array itself. Perl equivalent: C<@myarray = ();>.
+Clears an array, making it empty. Does not free the memory the av uses to
+store its list of scalars. If any destructors are triggered as a result,
+the av itself may be freed when this function returns.
+
+Perl equivalent: C<@myarray = ();>.
void av_clear(AV *av)
@@ -168,7 +171,8 @@ A small internal helper function to remove a commonly duplicated idiom.
NOTE: this function is experimental and may change or be
removed without notice.
- void av_create_and_push(AV **const avp, SV *const val)
+ void av_create_and_push(AV **const avp,
+ SV *const val)
=for hackers
Found in file av.c
@@ -183,7 +187,8 @@ A small internal helper function to remove a commonly duplicated idiom.
NOTE: this function is experimental and may change or be
removed without notice.
- SV** av_create_and_unshift_one(AV **const avp, SV *const val)
+ SV** av_create_and_unshift_one(AV **const avp,
+ SV *const val)
=for hackers
Found in file av.c
@@ -240,6 +245,7 @@ See L<perlguts/"Understanding the Magic of Tied Hashes and Arrays"> for
more information on how to use this function on tied arrays.
The rough perl equivalent is C<$myarray[$idx]>.
+
SV** av_fetch(AV *av, I32 key, I32 lval)
=for hackers
@@ -295,6 +301,8 @@ X<av_pop>
Pops an SV off the end of the array. Returns C<&PL_sv_undef> if the array
is empty.
+Perl equivalent: C<pop(@myarray);>
+
SV* av_pop(AV *av)
=for hackers
@@ -304,7 +312,9 @@ Found in file av.c
X<av_push>
Pushes an SV onto the end of the array. The array will grow automatically
-to accommodate the addition. This takes ownership of one reference count.
+to accommodate the addition. This takes ownership of one reference count.
+
+Perl equivalent: C<push @myarray, $elem;>.
void av_push(AV *av, SV *val)
@@ -314,9 +324,12 @@ Found in file av.c
=item av_shift
X<av_shift>
-Shifts an SV off the beginning of the array. Returns C<&PL_sv_undef> if the
+Shifts an SV off the beginning of the
+array. Returns C<&PL_sv_undef> if the
array is empty.
+Perl equivalent: C<shift(@myarray);>
+
SV* av_shift(AV *av)
=for hackers
@@ -328,11 +341,16 @@ X<av_store>
Stores an SV in an array. The array index is specified as C<key>. The
return value will be NULL if the operation failed or if the value did not
need to be actually stored within the array (as in the case of tied
-arrays). Otherwise it can be dereferenced to get the original C<SV*>. Note
-that the caller is responsible for suitably incrementing the reference
+arrays). Otherwise, it can be dereferenced
+to get the C<SV*> that was stored
+there (= C<val>)).
+
+Note that the caller is responsible for suitably incrementing the reference
count of C<val> before the call, and decrementing it if the function
returned NULL.
+Approximate Perl equivalent: C<$myarray[$key] = $val;>.
+
See L<perlguts/"Understanding the Magic of Tied Hashes and Arrays"> for
more information on how to use this function on tied arrays.
@@ -344,7 +362,9 @@ Found in file av.c
=item av_undef
X<av_undef>
-Undefines the array. Frees the memory used by the array itself.
+Undefines the array. Frees the memory used by the av to store its list of
+scalars. If any destructors are triggered as a result, the av itself may
+be freed.
void av_undef(AV *av)
@@ -358,6 +378,8 @@ Unshift the given number of C<undef> values onto the beginning of the
array. The array will grow automatically to accommodate the addition. You
must then use C<av_store> to assign values to these new elements.
+Perl equivalent: C<unshift @myarray, ( (undef) x $n );>
+
void av_unshift(AV *av, I32 num)
=for hackers
@@ -366,11 +388,14 @@ Found in file av.c
=item get_av
X<get_av>
-Returns the AV of the specified Perl array. C<flags> are passed to
-C<gv_fetchpv>. If C<GV_ADD> is set and the
+Returns the AV of the specified Perl global or package array with the given
+name (so it won't work on lexical variables). C<flags> are passed
+to C<gv_fetchpv>. If C<GV_ADD> is set and the
Perl variable does not exist then it will be created. If C<flags> is zero
and the variable does not exist then NULL is returned.
+Perl equivalent: C<@{"$name"}>.
+
NOTE: the perl_ form of this function is deprecated.
AV* get_av(const char *name, I32 flags)
@@ -383,6 +408,8 @@ X<newAV>
Creates a new AV. The reference count is set to 1.
+Perl equivalent: C<my @array;>.
+
AV* newAV()
=for hackers
@@ -398,7 +425,8 @@ Sort an array. Here is an example:
Currently this always uses mergesort. See sortsv_flags for a more
flexible routine.
- void sortsv(SV** array, size_t num_elts, SVCOMPARE_t cmp)
+ void sortsv(SV** array, size_t num_elts,
+ SVCOMPARE_t cmp)
=for hackers
Found in file pp_sort.c
@@ -408,7 +436,8 @@ X<sortsv_flags>
Sort an array, with various options.
- void sortsv_flags(SV** array, size_t num_elts, SVCOMPARE_t cmp, U32 flags)
+ void sortsv_flags(SV** array, size_t num_elts,
+ SVCOMPARE_t cmp, U32 flags)
=for hackers
Found in file pp_sort.c
@@ -423,11 +452,15 @@ Found in file pp_sort.c
=item call_argv
X<call_argv>
-Performs a callback to the specified Perl sub. See L<perlcall>.
+Performs a callback to the specified named and package-scoped Perl subroutine
+with C<argv> (a NULL-terminated array of strings) as arguments. See L<perlcall>.
+
+Approximate Perl equivalent: C<&{"$sub_name"}(@$argv)>.
NOTE: the perl_ form of this function is deprecated.
- I32 call_argv(const char* sub_name, I32 flags, char** argv)
+ I32 call_argv(const char* sub_name, I32 flags,
+ char** argv)
=for hackers
Found in file perl.c
@@ -575,7 +608,7 @@ There are three variants for all the functions in this section. The base ones
operate using the character set of the platform Perl is running on. The ones
with an C<_A> suffix operate on the ASCII character set, and the ones with an
C<_L1> suffix operate on the full Latin1 character set. All are unaffected by
-locale
+locale and by C<use bytes>.
For ASCII platforms, the base function with no suffix and the one with the
C<_A> suffix are identical. The function with the C<_L1> suffix imposes the
@@ -734,19 +767,19 @@ ready to run at the exact same point as the previous one.
The pseudo-fork code uses COPY_STACKS while the
threads->create doesn't.
-CLONEf_KEEP_PTR_TABLE
+CLONEf_KEEP_PTR_TABLE -
perl_clone keeps a ptr_table with the pointer of the old
variable as a key and the new variable as a value,
this allows it to check if something has been cloned and not
clone it again but rather just use the value and increase the
-refcount. If KEEP_PTR_TABLE is not set then perl_clone will kill
+refcount. If KEEP_PTR_TABLE is not set then perl_clone will kill
the ptr_table using the function
C<ptr_table_free(PL_ptr_table); PL_ptr_table = NULL;>,
reason to keep it around is if you want to dup some of your own
variable who are outside the graph perl scans, example of this
-code is in threads.xs create
+code is in threads.xs create.
-CLONEf_CLONE_HOST
+CLONEf_CLONE_HOST -
This is a win32 thing, it is ignored on unix, it tells perls
win32host code (which is c++) to clone itself, this is needed on
win32 if you want to run two threads at the same time,
@@ -754,7 +787,10 @@ if you just want to do some stuff in a separate perl interpreter
and then throw it away and return to the original one,
you don't need to do anything.
- PerlInterpreter* perl_clone(PerlInterpreter *proto_perl, UV flags)
+ PerlInterpreter* perl_clone(
+ PerlInterpreter *proto_perl,
+ UV flags
+ )
=for hackers
Found in file sv.c
@@ -872,7 +908,9 @@ a string/length pair.
NOTE: this function is experimental and may change or be
removed without notice.
- COPHH * cophh_delete_pv(const COPHH *cophh, const char *key, U32 hash, U32 flags)
+ COPHH * cophh_delete_pv(const COPHH *cophh,
+ const char *key, U32 hash,
+ U32 flags)
=for hackers
Found in file cop.h
@@ -894,7 +932,10 @@ hash of the key string, or zero if it has not been precomputed.
NOTE: this function is experimental and may change or be
removed without notice.
- COPHH * cophh_delete_pvn(COPHH *cophh, const char *keypv, STRLEN keylen, U32 hash, U32 flags)
+ COPHH * cophh_delete_pvn(COPHH *cophh,
+ const char *keypv,
+ STRLEN keylen, U32 hash,
+ U32 flags)
=for hackers
Found in file cop.h
@@ -908,7 +949,8 @@ string/length pair, and no precomputed hash.
NOTE: this function is experimental and may change or be
removed without notice.
- COPHH * cophh_delete_pvs(const COPHH *cophh, const char *key, U32 flags)
+ COPHH * cophh_delete_pvs(const COPHH *cophh,
+ const char *key, U32 flags)
=for hackers
Found in file cop.h
@@ -922,7 +964,8 @@ string/length pair.
NOTE: this function is experimental and may change or be
removed without notice.
- COPHH * cophh_delete_sv(const COPHH *cophh, SV *key, U32 hash, U32 flags)
+ COPHH * cophh_delete_sv(const COPHH *cophh, SV *key,
+ U32 hash, U32 flags)
=for hackers
Found in file cop.h
@@ -936,7 +979,9 @@ a string/length pair.
NOTE: this function is experimental and may change or be
removed without notice.
- SV * cophh_fetch_pv(const COPHH *cophh, const char *key, U32 hash, U32 flags)
+ SV * cophh_fetch_pv(const COPHH *cophh,
+ const char *key, U32 hash,
+ U32 flags)
=for hackers
Found in file cop.h
@@ -955,7 +1000,10 @@ associated with the key.
NOTE: this function is experimental and may change or be
removed without notice.
- SV * cophh_fetch_pvn(const COPHH *cophh, const char *keypv, STRLEN keylen, U32 hash, U32 flags)
+ SV * cophh_fetch_pvn(const COPHH *cophh,
+ const char *keypv,
+ STRLEN keylen, U32 hash,
+ U32 flags)
=for hackers
Found in file cop.h
@@ -969,7 +1017,8 @@ string/length pair, and no precomputed hash.
NOTE: this function is experimental and may change or be
removed without notice.
- SV * cophh_fetch_pvs(const COPHH *cophh, const char *key, U32 flags)
+ SV * cophh_fetch_pvs(const COPHH *cophh,
+ const char *key, U32 flags)
=for hackers
Found in file cop.h
@@ -983,7 +1032,8 @@ string/length pair.
NOTE: this function is experimental and may change or be
removed without notice.
- SV * cophh_fetch_sv(const COPHH *cophh, SV *key, U32 hash, U32 flags)
+ SV * cophh_fetch_sv(const COPHH *cophh, SV *key,
+ U32 hash, U32 flags)
=for hackers
Found in file cop.h
@@ -1024,7 +1074,9 @@ a string/length pair.
NOTE: this function is experimental and may change or be
removed without notice.
- COPHH * cophh_store_pv(const COPHH *cophh, const char *key, U32 hash, SV *value, U32 flags)
+ COPHH * cophh_store_pv(const COPHH *cophh,
+ const char *key, U32 hash,
+ SV *value, U32 flags)
=for hackers
Found in file cop.h
@@ -1052,7 +1104,9 @@ be stored with referential integrity, but will be coerced to strings.
NOTE: this function is experimental and may change or be
removed without notice.
- COPHH * cophh_store_pvn(COPHH *cophh, const char *keypv, STRLEN keylen, U32 hash, SV *value, U32 flags)
+ COPHH * cophh_store_pvn(COPHH *cophh, const char *keypv,
+ STRLEN keylen, U32 hash,
+ SV *value, U32 flags)
=for hackers
Found in file cop.h
@@ -1066,7 +1120,9 @@ string/length pair, and no precomputed hash.
NOTE: this function is experimental and may change or be
removed without notice.
- COPHH * cophh_store_pvs(const COPHH *cophh, const char *key, SV *value, U32 flags)
+ COPHH * cophh_store_pvs(const COPHH *cophh,
+ const char *key, SV *value,
+ U32 flags)
=for hackers
Found in file cop.h
@@ -1080,7 +1136,8 @@ string/length pair.
NOTE: this function is experimental and may change or be
removed without notice.
- COPHH * cophh_store_sv(const COPHH *cophh, SV *key, U32 hash, SV *value, U32 flags)
+ COPHH * cophh_store_sv(const COPHH *cophh, SV *key,
+ U32 hash, SV *value, U32 flags)
=for hackers
Found in file cop.h
@@ -1110,7 +1167,9 @@ X<cop_hints_fetch_pv>
Like L</cop_hints_fetch_pvn>, but takes a nul-terminated string instead
of a string/length pair.
- SV * cop_hints_fetch_pv(const COP *cop, const char *key, U32 hash, U32 flags)
+ SV * cop_hints_fetch_pv(const COP *cop,
+ const char *key, U32 hash,
+ U32 flags)
=for hackers
Found in file cop.h
@@ -1126,7 +1185,10 @@ it has not been precomputed. Returns a mortal scalar copy of the value
associated with the key, or C<&PL_sv_placeholder> if there is no value
associated with the key.
- SV * cop_hints_fetch_pvn(const COP *cop, const char *keypv, STRLEN keylen, U32 hash, U32 flags)
+ SV * cop_hints_fetch_pvn(const COP *cop,
+ const char *keypv,
+ STRLEN keylen, U32 hash,
+ U32 flags)
=for hackers
Found in file cop.h
@@ -1137,7 +1199,8 @@ X<cop_hints_fetch_pvs>
Like L</cop_hints_fetch_pvn>, but takes a literal string instead of a
string/length pair, and no precomputed hash.
- SV * cop_hints_fetch_pvs(const COP *cop, const char *key, U32 flags)
+ SV * cop_hints_fetch_pvs(const COP *cop,
+ const char *key, U32 flags)
=for hackers
Found in file cop.h
@@ -1148,7 +1211,8 @@ X<cop_hints_fetch_sv>
Like L</cop_hints_fetch_pvn>, but takes a Perl scalar instead of a
string/length pair.
- SV * cop_hints_fetch_sv(const COP *cop, SV *key, U32 hash, U32 flags)
+ SV * cop_hints_fetch_sv(const COP *cop, SV *key,
+ U32 hash, U32 flags)
=for hackers
Found in file cop.h
@@ -1167,7 +1231,9 @@ Register a custom op. See L<perlguts/"Custom Operators">.
NOTE: this function must be explicitly called as Perl_custom_op_register with an aTHX_ parameter.
- void Perl_custom_op_register(pTHX_ Perl_ppaddr_t ppaddr, const XOP *xop)
+ void Perl_custom_op_register(pTHX_
+ Perl_ppaddr_t ppaddr,
+ const XOP *xop)
=for hackers
Found in file op.c
@@ -1180,7 +1246,7 @@ considered internal to OP_NAME and the other access macros: use them instead.
NOTE: this function must be explicitly called as Perl_custom_op_xop with an aTHX_ parameter.
- const XOP * Perl_custom_op_xop(pTHX_ const OP *o)
+ const XOP * Perl_custom_op_xop(pTHX_ const OP *o)
=for hackers
Found in file op.c
@@ -1249,7 +1315,12 @@ Found in file op.h
=item CvSTASH
X<CvSTASH>
-Returns the stash of the CV.
+Returns the stash of the CV. A stash is the symbol table hash, containing
+the package-scoped variables in the package where the subroutine was defined.
+For more information, see L<perlguts>.
+
+This also has a special use with XS AUTOLOAD subs.
+See L<perlguts/Autoloading with XSUBs>.
HV* CvSTASH(CV* cv)
@@ -1279,7 +1350,8 @@ then NULL is returned.
NOTE: the perl_ form of this function is deprecated.
- CV* get_cvn_flags(const char* name, STRLEN len, I32 flags)
+ CV* get_cvn_flags(const char* name, STRLEN len,
+ I32 flags)
=for hackers
Found in file perl.c
@@ -1291,6 +1363,20 @@ Found in file perl.c
=over 8
+=item cv_clone
+X<cv_clone>
+
+Clone a CV, making a lexical closure. I<proto> supplies the prototype
+of the function: its code, pad structure, and other attributes.
+The prototype is combined with a capture of outer lexicals to which the
+code refers, which are taken from the currently-executing instance of
+the immediately surrounding code.
+
+ CV * cv_clone(CV *proto)
+
+=for hackers
+Found in file pad.c
+
=item cv_undef
X<cv_undef>
@@ -1304,6 +1390,34 @@ children can still follow the full lexical scope chain.
=for hackers
Found in file pad.c
+=item find_rundefsv
+X<find_rundefsv>
+
+Find and return the variable that is named C<$_> in the lexical scope
+of the currently-executing function. This may be a lexical C<$_>,
+or will otherwise be the global one.
+
+ SV * find_rundefsv()
+
+=for hackers
+Found in file pad.c
+
+=item find_rundefsvoffset
+X<find_rundefsvoffset>
+
+Find the position of the lexical C<$_> in the pad of the
+currently-executing function. Returns the offset in the current pad,
+or C<NOT_IN_PAD> if there is no lexical C<$_> in scope (in which case
+the global one should be used instead).
+L</find_rundefsv> is likely to be more convenient.
+
+NOTE: the perl_ form of this function is deprecated.
+
+ PADOFFSET find_rundefsvoffset()
+
+=for hackers
+Found in file pad.c
+
=item load_module
X<load_module>
@@ -1311,7 +1425,7 @@ Loads the module whose name is pointed to by the string part of name.
Note that the actual module name, not its filename, should be given.
Eg, "Foo::Bar" instead of "Foo/Bar.pm". flags can be any of
PERL_LOADMOD_DENY, PERL_LOADMOD_NOIMPORT, or PERL_LOADMOD_IMPORT_OPS
-(or 0 for no flags). ver, if specified, provides version semantics
+(or 0 for no flags). ver, if specified and not NULL, provides version semantics
similar to C<use Foo::Bar VERSION>. The optional trailing SV*
arguments can be used to specify arguments to the module's import()
method, similar to C<use Foo::Bar VERSION LIST>. They must be
@@ -1320,6 +1434,8 @@ be omitted when the PERL_LOADMOD_NOIMPORT flag has been used.
Otherwise at least a single NULL pointer to designate the default
import list is required.
+The reference count for each specified C<SV*> parameter is decremented.
+
void load_module(U32 flags, SV* name, SV* ver, ...)
=for hackers
@@ -1336,19 +1452,156 @@ no threads.
=for hackers
Found in file perl.c
-=item pad_findmy
-X<pad_findmy>
+=item pad_add_anon
+X<pad_add_anon>
+
+Allocates a place in the currently-compiling pad (via L</pad_alloc>)
+for an anonymous function that is lexically scoped inside the
+currently-compiling function.
+The function I<func> is linked into the pad, and its C<CvOUTSIDE> link
+to the outer scope is weakened to avoid a reference loop.
+
+I<optype> should be an opcode indicating the type of operation that the
+pad entry is to support. This doesn't affect operational semantics,
+but is used for debugging.
+
+ PADOFFSET pad_add_anon(CV *func, I32 optype)
+
+=for hackers
+Found in file pad.c
+
+=item pad_add_name_pv
+X<pad_add_name_pv>
+
+Exactly like L</pad_add_name_pvn>, but takes a nul-terminated string
+instead of a string/length pair.
+
+ PADOFFSET pad_add_name_pv(const char *name, U32 flags,
+ HV *typestash, HV *ourstash)
+
+=for hackers
+Found in file pad.c
+
+=item pad_add_name_pvn
+X<pad_add_name_pvn>
+
+Allocates a place in the currently-compiling pad for a named lexical
+variable. Stores the name and other metadata in the name part of the
+pad, and makes preparations to manage the variable's lexical scoping.
+Returns the offset of the allocated pad slot.
+
+I<namepv>/I<namelen> specify the variable's name, including leading sigil.
+If I<typestash> is non-null, the name is for a typed lexical, and this
+identifies the type. If I<ourstash> is non-null, it's a lexical reference
+to a package variable, and this identifies the package. The following
+flags can be OR'ed together:
+
+ padadd_OUR redundantly specifies if it's a package var
+ padadd_STATE variable will retain value persistently
+ padadd_NO_DUP_CHECK skip check for lexical shadowing
+
+ PADOFFSET pad_add_name_pvn(const char *namepv,
+ STRLEN namelen, U32 flags,
+ HV *typestash, HV *ourstash)
+
+=for hackers
+Found in file pad.c
+
+=item pad_add_name_sv
+X<pad_add_name_sv>
+
+Exactly like L</pad_add_name_pvn>, but takes the name string in the form
+of an SV instead of a string/length pair.
-Given a lexical name, try to find its offset, first in the current pad,
-or failing that, in the pads of any lexically enclosing subs (including
-the complications introduced by eval). If the name is found in an outer pad,
-then a fake entry is added to the current pad.
-Returns the offset in the current pad, or NOT_IN_PAD on failure.
+ PADOFFSET pad_add_name_sv(SV *name, U32 flags,
+ HV *typestash, HV *ourstash)
+
+=for hackers
+Found in file pad.c
+
+=item pad_alloc
+X<pad_alloc>
+
+Allocates a place in the currently-compiling pad,
+returning the offset of the allocated pad slot.
+No name is initially attached to the pad slot.
+I<tmptype> is a set of flags indicating the kind of pad entry required,
+which will be set in the value SV for the allocated pad entry:
+
+ SVs_PADMY named lexical variable ("my", "our", "state")
+ SVs_PADTMP unnamed temporary store
+
+I<optype> should be an opcode indicating the type of operation that the
+pad entry is to support. This doesn't affect operational semantics,
+but is used for debugging.
NOTE: this function is experimental and may change or be
removed without notice.
- PADOFFSET pad_findmy(const char* name, STRLEN len, U32 flags)
+ PADOFFSET pad_alloc(I32 optype, U32 tmptype)
+
+=for hackers
+Found in file pad.c
+
+=item pad_compname_type
+X<pad_compname_type>
+
+Looks up the type of the lexical variable at position I<po> in the
+currently-compiling pad. If the variable is typed, the stash of the
+class to which it is typed is returned. If not, C<NULL> is returned.
+
+ HV * pad_compname_type(PADOFFSET po)
+
+=for hackers
+Found in file pad.c
+
+=item pad_findmy_pv
+X<pad_findmy_pv>
+
+Exactly like L</pad_findmy_pvn>, but takes a nul-terminated string
+instead of a string/length pair.
+
+ PADOFFSET pad_findmy_pv(const char *name, U32 flags)
+
+=for hackers
+Found in file pad.c
+
+=item pad_findmy_pvn
+X<pad_findmy_pvn>
+
+Given the name of a lexical variable, find its position in the
+currently-compiling pad.
+I<namepv>/I<namelen> specify the variable's name, including leading sigil.
+I<flags> is reserved and must be zero.
+If it is not in the current pad but appears in the pad of any lexically
+enclosing scope, then a pseudo-entry for it is added in the current pad.
+Returns the offset in the current pad,
+or C<NOT_IN_PAD> if no such lexical is in scope.
+
+ PADOFFSET pad_findmy_pvn(const char *namepv,
+ STRLEN namelen, U32 flags)
+
+=for hackers
+Found in file pad.c
+
+=item pad_findmy_sv
+X<pad_findmy_sv>
+
+Exactly like L</pad_findmy_pvn>, but takes the name string in the form
+of an SV instead of a string/length pair.
+
+ PADOFFSET pad_findmy_sv(SV *name, U32 flags)
+
+=for hackers
+Found in file pad.c
+
+=item pad_setsv
+X<pad_setsv>
+
+Set the value at offset I<po> in the current (compiling or executing) pad.
+Use the macro PAD_SETSV() rather than calling this function directly.
+
+ void pad_setsv(PADOFFSET po, SV *sv)
=for hackers
Found in file pad.c
@@ -1356,10 +1609,30 @@ Found in file pad.c
=item pad_sv
X<pad_sv>
-Get the value at offset po in the current pad.
+Get the value at offset I<po> in the current (compiling or executing) pad.
Use macro PAD_SV instead of calling this function directly.
- SV* pad_sv(PADOFFSET po)
+ SV * pad_sv(PADOFFSET po)
+
+=for hackers
+Found in file pad.c
+
+=item pad_tidy
+X<pad_tidy>
+
+Tidy up a pad at the end of compilation of the code to which it belongs.
+Jobs performed here are: remove most stuff from the pads of anonsub
+prototypes; give it a @_; mark temporaries as such. I<type> indicates
+the kind of subroutine:
+
+ padtidy_SUB ordinary subroutine
+ padtidy_SUBCLONE prototype for lexical closure
+ padtidy_FORMAT format
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ void pad_tidy(padtidy_type type)
=for hackers
Found in file pad.c
@@ -1369,7 +1642,7 @@ X<perl_alloc>
Allocates a new Perl interpreter. See L<perlembed>.
- PerlInterpreter* perl_alloc()
+ PerlInterpreter* perl_alloc()
=for hackers
Found in file perl.c
@@ -1409,7 +1682,9 @@ X<perl_parse>
Tells a Perl interpreter to parse a Perl script. See L<perlembed>.
- int perl_parse(PerlInterpreter *my_perl, XSINIT_t xsinit, int argc, char** argv, char** env)
+ int perl_parse(PerlInterpreter *my_perl,
+ XSINIT_t xsinit, int argc,
+ char** argv, char** env)
=for hackers
Found in file perl.c
@@ -1458,7 +1733,8 @@ len > cur and pv[cur] is "\0".
Note that the final string may be up to 7 chars longer than pvlim.
- char* pv_display(SV *dsv, const char *pv, STRLEN cur, STRLEN len, STRLEN pvlim)
+ char* pv_display(SV *dsv, const char *pv, STRLEN cur,
+ STRLEN len, STRLEN pvlim)
=for hackers
Found in file dump.c
@@ -1500,7 +1776,10 @@ sequences, whereas '%' is not a particularly common character in patterns.
Returns a pointer to the escaped text as held by dsv.
- char* pv_escape(SV *dsv, char const * const str, const STRLEN count, const STRLEN max, STRLEN * const escaped, const U32 flags)
+ char* pv_escape(SV *dsv, char const * const str,
+ const STRLEN count, const STRLEN max,
+ STRLEN * const escaped,
+ const U32 flags)
=for hackers
Found in file dump.c
@@ -1527,7 +1806,11 @@ any quotes or ellipses.
Returns a pointer to the prettified text as held by dsv.
- char* pv_pretty(SV *dsv, char const * const str, const STRLEN count, const STRLEN max, char const * const start_color, char const * const end_color, const U32 flags)
+ char* pv_pretty(SV *dsv, char const * const str,
+ const STRLEN count, const STRLEN max,
+ char const * const start_color,
+ char const * const end_color,
+ const U32 flags)
=for hackers
Found in file dump.c
@@ -1547,7 +1830,7 @@ Return the description of a given custom op. This was once used by the
OP_DESC macro, but is no longer: it has only been kept for
compatibility, and should not be used.
- const char * custom_op_desc(const OP *o)
+ const char * custom_op_desc(const OP *o)
=for hackers
Found in file mathoms.c
@@ -1559,7 +1842,7 @@ Return the name for a given custom op. This was once used by the OP_NAME
macro, but is no longer: it has only been kept for compatibility, and
should not be used.
- const char * custom_op_name(const OP *o)
+ const char * custom_op_name(const OP *o)
=for hackers
Found in file mathoms.c
@@ -1567,7 +1850,7 @@ Found in file mathoms.c
=item gv_fetchmethod
X<gv_fetchmethod>
-See L<gv_fetchmethod_autoload>.
+See L</gv_fetchmethod_autoload>.
GV* gv_fetchmethod(HV* stash, const char* name)
@@ -1580,7 +1863,10 @@ X<pack_cat>
The engine implementing pack() Perl function. Note: parameters next_in_list and
flags are not used. This call should not be used; use packlist instead.
- void pack_cat(SV *cat, const char *pat, const char *patend, SV **beglist, SV **endlist, SV ***next_in_list, U32 flags)
+ void pack_cat(SV *cat, const char *pat,
+ const char *patend, SV **beglist,
+ SV **endlist, SV ***next_in_list,
+ U32 flags)
=for hackers
Found in file mathoms.c
@@ -1616,6 +1902,7 @@ X<sv_2pv_nolen>
Like C<sv_2pv()>, but doesn't return the length too. You should usually
use the macro wrapper C<SvPV_nolen(sv)> instead.
+
char* sv_2pv_nolen(SV* sv)
=for hackers
@@ -1626,7 +1913,8 @@ X<sv_catpvn_mg>
Like C<sv_catpvn>, but also handles 'set' magic.
- void sv_catpvn_mg(SV *sv, const char *ptr, STRLEN len)
+ void sv_catpvn_mg(SV *sv, const char *ptr,
+ STRLEN len)
=for hackers
Found in file mathoms.c
@@ -1772,6 +2060,7 @@ Found in file mathoms.c
X<sv_taint>
Taint an SV. Use C<SvTAINTED_on> instead.
+
void sv_taint(SV* sv)
=for hackers
@@ -1829,7 +2118,10 @@ X<unpack_str>
The engine implementing unpack() Perl function. Note: parameters strbeg, new_s
and ocnt are not used. This call should not be used, use unpackstring instead.
- I32 unpack_str(const char *pat, const char *patend, const char *s, const char *strbeg, const char *strend, char **new_s, I32 ocnt, U32 flags)
+ I32 unpack_str(const char *pat, const char *patend,
+ const char *s, const char *strbeg,
+ const char *strend, char **new_s,
+ I32 ocnt, U32 flags)
=for hackers
Found in file mathoms.c
@@ -1882,7 +2174,8 @@ Provides system-specific tune up of the C runtime environment necessary to
run Perl interpreters. This should be called only once, before creating
any Perl interpreters.
- void PERL_SYS_INIT3(int argc, char** argv, char** env)
+ void PERL_SYS_INIT3(int argc, char** argv,
+ char** env)
=for hackers
Found in file perl.h
@@ -1923,7 +2216,10 @@ C<DB::sub>, since that has the correct line number/etc. for the call
site. If I<dbcxp> is non-C<NULL>, it will be set to a pointer to the
frame for the sub call itself.
- const PERL_CONTEXT * caller_cx(I32 level, const PERL_CONTEXT **dbcxp)
+ const PERL_CONTEXT * caller_cx(
+ I32 level,
+ const PERL_CONTEXT **dbcxp
+ )
=for hackers
Found in file pp_ctl.c
@@ -1955,7 +2251,9 @@ X<packlist>
The engine implementing pack() Perl function.
- void packlist(SV *cat, const char *pat, const char *patend, SV **beglist, SV **endlist)
+ void packlist(SV *cat, const char *pat,
+ const char *patend, SV **beglist,
+ SV **endlist)
=for hackers
Found in file pp_pack.c
@@ -1967,7 +2265,9 @@ The engine implementing unpack() Perl function. C<unpackstring> puts the
extracted list items on the stack and returns the number of elements.
Issue C<PUTBACK> before and C<SPAGAIN> after the call to this function.
- I32 unpackstring(const char *pat, const char *patend, const char *s, const char *strend, U32 flags)
+ I32 unpackstring(const char *pat,
+ const char *patend, const char *s,
+ const char *strend, U32 flags)
=for hackers
Found in file pp_pack.c
@@ -2006,7 +2306,9 @@ X<ibcmp_utf8>
This is a synonym for (! foldEQ_utf8())
- I32 ibcmp_utf8(const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2)
+ I32 ibcmp_utf8(const char *s1, char **pe1, UV l1,
+ bool u1, const char *s2, char **pe2,
+ UV l2, bool u2)
=for hackers
Found in file utf8.h
@@ -2034,7 +2336,8 @@ X<ibcmp_locale>
This is a synonym for (! foldEQ_locale())
- I32 ibcmp_locale(const char* a, const char* b, I32 len)
+ I32 ibcmp_locale(const char* a, const char* b,
+ I32 len)
=for hackers
Found in file util.h
@@ -2046,6 +2349,38 @@ Found in file util.h
=over 8
+=item PL_check
+X<PL_check>
+
+Array, indexed by opcode, of functions that will be called for the "check"
+phase of optree building during compilation of Perl code. For most (but
+not all) types of op, once the op has been initially built and populated
+with child ops it will be filtered through the check function referenced
+by the appropriate element of this array. The new op is passed in as the
+sole argument to the check function, and the check function returns the
+completed op. The check function may (as the name suggests) check the op
+for validity and signal errors. It may also initialise or modify parts of
+the ops, or perform more radical surgery such as adding or removing child
+ops, or even throw the op away and return a different op in its place.
+
+This array of function pointers is a convenient place to hook into the
+compilation process. An XS module can put its own custom check function
+in place of any of the standard ones, to influence the compilation of a
+particular type of op. However, a custom check function must never fully
+replace a standard check function (or even a custom check function from
+another module). A module modifying checking must instead B<wrap> the
+preexisting check function. A custom check function must be selective
+about when to apply its custom behaviour. In the usual case where
+it decides not to do anything special with an op, it must chain the
+preexisting op function. Check functions are thus linked in a chain,
+with the core's base checker at the end.
+
+For thread safety, modules should not write directly to this array.
+Instead, use the function L</wrap_op_checker>.
+
+=for hackers
+Found in file perlvars.h
+
=item PL_keyword_plugin
X<PL_keyword_plugin>
@@ -2135,22 +2470,10 @@ Found in file gv.c
=item gv_fetchmeth
X<gv_fetchmeth>
-Returns the glob with the given C<name> and a defined subroutine or
-C<NULL>. The glob lives in the given C<stash>, or in the stashes
-accessible via @ISA and UNIVERSAL::.
+Like L</gv_fetchmeth_pvn>, but lacks a flags parameter.
-The argument C<level> should be either 0 or -1. If C<level==0>, as a
-side-effect creates a glob with the given C<name> in the given C<stash>
-which in the case of success contains an alias for the subroutine, and sets
-up caching info for this glob.
-
-This function grants C<"SUPER"> token as a postfix of the stash name. The
-GV returned from C<gv_fetchmeth> may be a method cache entry, which is not
-visible to Perl code. So when calling C<call_sv>, you should not use
-the GV directly; instead, you should use the method's CV, which can be
-obtained from the GV with the C<GvCV> macro.
-
- GV* gv_fetchmeth(HV* stash, const char* name, STRLEN len, I32 level)
+ GV* gv_fetchmeth(HV* stash, const char* name,
+ STRLEN len, I32 level)
=for hackers
Found in file gv.c
@@ -2180,7 +2503,9 @@ C<level==0>. C<name> should be writable if contains C<':'> or C<'
''>. The warning against passing the GV returned by C<gv_fetchmeth> to
C<call_sv> apply equally to these functions.
- GV* gv_fetchmethod_autoload(HV* stash, const char* name, I32 autoload)
+ GV* gv_fetchmethod_autoload(HV* stash,
+ const char* name,
+ I32 autoload)
=for hackers
Found in file gv.c
@@ -2188,14 +2513,175 @@ Found in file gv.c
=item gv_fetchmeth_autoload
X<gv_fetchmeth_autoload>
-Same as gv_fetchmeth(), but looks for autoloaded subroutines too.
+This is the old form of L</gv_fetchmeth_pvn_autoload>, which has no flags
+parameter.
+
+ GV* gv_fetchmeth_autoload(HV* stash,
+ const char* name,
+ STRLEN len, I32 level)
+
+=for hackers
+Found in file gv.c
+
+=item gv_fetchmeth_pv
+X<gv_fetchmeth_pv>
+
+Exactly like L</gv_fetchmeth_pvn>, but takes a nul-terminated string
+instead of a string/length pair.
+
+ GV* gv_fetchmeth_pv(HV* stash, const char* name,
+ I32 level, U32 flags)
+
+=for hackers
+Found in file gv.c
+
+=item gv_fetchmeth_pvn
+X<gv_fetchmeth_pvn>
+
+Returns the glob with the given C<name> and a defined subroutine or
+C<NULL>. The glob lives in the given C<stash>, or in the stashes
+accessible via @ISA and UNIVERSAL::.
+
+The argument C<level> should be either 0 or -1. If C<level==0>, as a
+side-effect creates a glob with the given C<name> in the given C<stash>
+which in the case of success contains an alias for the subroutine, and sets
+up caching info for this glob.
+
+Currently, the only significant value for C<flags> is SVf_UTF8.
+
+This function grants C<"SUPER"> token as a postfix of the stash name. The
+GV returned from C<gv_fetchmeth> may be a method cache entry, which is not
+visible to Perl code. So when calling C<call_sv>, you should not use
+the GV directly; instead, you should use the method's CV, which can be
+obtained from the GV with the C<GvCV> macro.
+
+ GV* gv_fetchmeth_pvn(HV* stash, const char* name,
+ STRLEN len, I32 level,
+ U32 flags)
+
+=for hackers
+Found in file gv.c
+
+=item gv_fetchmeth_pvn_autoload
+X<gv_fetchmeth_pvn_autoload>
+
+Same as gv_fetchmeth_pvn(), but looks for autoloaded subroutines too.
Returns a glob for the subroutine.
For an autoloaded subroutine without a GV, will create a GV even
if C<level < 0>. For an autoloaded subroutine without a stub, GvCV()
of the result may be zero.
- GV* gv_fetchmeth_autoload(HV* stash, const char* name, STRLEN len, I32 level)
+Currently, the only significant value for C<flags> is SVf_UTF8.
+
+ GV* gv_fetchmeth_pvn_autoload(HV* stash,
+ const char* name,
+ STRLEN len, I32 level,
+ U32 flags)
+
+=for hackers
+Found in file gv.c
+
+=item gv_fetchmeth_pv_autoload
+X<gv_fetchmeth_pv_autoload>
+
+Exactly like L</gv_fetchmeth_pvn_autoload>, but takes a nul-terminated string
+instead of a string/length pair.
+
+ GV* gv_fetchmeth_pv_autoload(HV* stash,
+ const char* name,
+ I32 level, U32 flags)
+
+=for hackers
+Found in file gv.c
+
+=item gv_fetchmeth_sv
+X<gv_fetchmeth_sv>
+
+Exactly like L</gv_fetchmeth_pvn>, but takes the name string in the form
+of an SV instead of a string/length pair.
+
+ GV* gv_fetchmeth_sv(HV* stash, SV* namesv,
+ I32 level, U32 flags)
+
+=for hackers
+Found in file gv.c
+
+=item gv_fetchmeth_sv_autoload
+X<gv_fetchmeth_sv_autoload>
+
+Exactly like L</gv_fetchmeth_pvn_autoload>, but takes the name string in the form
+of an SV instead of a string/length pair.
+
+ GV* gv_fetchmeth_sv_autoload(HV* stash, SV* namesv,
+ I32 level, U32 flags)
+
+=for hackers
+Found in file gv.c
+
+=item gv_init
+X<gv_init>
+
+The old form of gv_init_pvn(). It does not work with UTF8 strings, as it
+has no flags parameter. If the C<multi> parameter is set, the
+GV_ADDMULTI flag will be passed to gv_init_pvn().
+
+ void gv_init(GV* gv, HV* stash, const char* name,
+ STRLEN len, int multi)
+
+=for hackers
+Found in file gv.c
+
+=item gv_init_pv
+X<gv_init_pv>
+
+Same as gv_init_pvn(), but takes a nul-terminated string for the name
+instead of separate char * and length parameters.
+
+ void gv_init_pv(GV* gv, HV* stash, const char* name,
+ U32 flags)
+
+=for hackers
+Found in file gv.c
+
+=item gv_init_pvn
+X<gv_init_pvn>
+
+Converts a scalar into a typeglob. This is an incoercible typeglob;
+assigning a reference to it will assign to one of its slots, instead of
+overwriting it as happens with typeglobs created by SvSetSV. Converting
+any scalar that is SvOK() may produce unpredictable results and is reserved
+for perl's internal use.
+
+C<gv> is the scalar to be converted.
+
+C<stash> is the parent stash/package, if any.
+
+C<name> and C<len> give the name. The name must be unqualified;
+that is, it must not include the package name. If C<gv> is a
+stash element, it is the caller's responsibility to ensure that the name
+passed to this function matches the name of the element. If it does not
+match, perl's internal bookkeeping will get out of sync.
+
+C<flags> can be set to SVf_UTF8 if C<name> is a UTF8 string, or
+the return value of SvUTF8(sv). It can also take the
+GV_ADDMULTI flag, which means to pretend that the GV has been
+seen before (i.e., suppress "Used once" warnings).
+
+ void gv_init_pvn(GV* gv, HV* stash, const char* name,
+ STRLEN len, U32 flags)
+
+=for hackers
+Found in file gv.c
+
+=item gv_init_sv
+X<gv_init_sv>
+
+Same as gv_init_pvn(), but takes an SV * for the name instead of separate
+char * and length parameters. C<flags> is currently unused.
+
+ void gv_init_sv(GV* gv, HV* stash, SV* namesv,
+ U32 flags)
=for hackers
Found in file gv.c
@@ -2222,7 +2708,8 @@ C<flags> is 0 (or any other setting that does not create packages) then NULL
is returned.
- HV* gv_stashpvn(const char* name, U32 namelen, I32 flags)
+ HV* gv_stashpvn(const char* name, U32 namelen,
+ I32 flags)
=for hackers
Found in file gv.c
@@ -2307,6 +2794,37 @@ Found in file handy.h
=over 8
+=item cop_fetch_label
+X<cop_fetch_label>
+
+Returns the label attached to a cop.
+The flags pointer may be set to C<SVf_UTF8> or 0.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ const char * cop_fetch_label(COP *const cop,
+ STRLEN *len, U32 *flags)
+
+=for hackers
+Found in file hv.c
+
+=item cop_store_label
+X<cop_store_label>
+
+Save a label into a C<cop_hints_hash>. You need to set flags to C<SVf_UTF8>
+for a utf-8 label.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ void cop_store_label(COP *const cop,
+ const char *label, STRLEN len,
+ U32 flags)
+
+=for hackers
+Found in file hv.c
+
=item get_hv
X<get_hv>
@@ -2463,6 +2981,26 @@ caches.
=for hackers
Found in file hv.h
+=item HvENAMELEN
+X<HvENAMELEN>
+
+Returns the length of the stash's effective name.
+
+ STRLEN HvENAMELEN(HV *stash)
+
+=for hackers
+Found in file hv.h
+
+=item HvENAMEUTF8
+X<HvENAMEUTF8>
+
+Returns true if the effective name is in UTF8 encoding.
+
+ unsigned char HvENAMEUTF8(HV *stash)
+
+=for hackers
+Found in file hv.h
+
=item HvNAME
X<HvNAME>
@@ -2474,6 +3012,26 @@ See C<SvSTASH>, C<CvSTASH>.
=for hackers
Found in file hv.h
+=item HvNAMELEN
+X<HvNAMELEN>
+
+Returns the length of the stash's name.
+
+ STRLEN HvNAMELEN(HV *stash)
+
+=for hackers
+Found in file hv.h
+
+=item HvNAMEUTF8
+X<HvNAMEUTF8>
+
+Returns true if the name is in UTF8 encoding.
+
+ unsigned char HvNAMEUTF8(HV *stash)
+
+=for hackers
+Found in file hv.h
+
=item hv_assert
X<hv_assert>
@@ -2487,7 +3045,11 @@ Found in file hv.c
=item hv_clear
X<hv_clear>
-Clears a hash, making it empty.
+Frees the all the elements of a hash, leaving it empty.
+The XS equivalent of C<%hash = ()>. See also L</hv_undef>.
+
+If any destructors are triggered as a result, the hv itself may
+be freed.
void hv_clear(HV *hv)
@@ -2527,12 +3089,15 @@ Found in file hv.c
=item hv_delete
X<hv_delete>
-Deletes a key/value pair in the hash. The value's SV is removed from the
-hash, made mortal, and returned to the caller. The C<klen> is the length of
-the key. The C<flags> value will normally be zero; if set to G_DISCARD then
-NULL will be returned. NULL will also be returned if the key is not found.
+Deletes a key/value pair in the hash. The value's SV is removed from
+the hash, made mortal, and returned to the caller. The absolute
+value of C<klen> is the length of the key. If C<klen> is negative the
+key is assumed to be in UTF-8-encoded Unicode. The C<flags> value
+will normally be zero; if set to G_DISCARD then NULL will be returned.
+NULL will also be returned if the key is not found.
- SV* hv_delete(HV *hv, const char *key, I32 klen, I32 flags)
+ SV* hv_delete(HV *hv, const char *key, I32 klen,
+ I32 flags)
=for hackers
Found in file hv.c
@@ -2546,7 +3111,8 @@ zero; if set to G_DISCARD then NULL will be returned. NULL will also be
returned if the key is not found. C<hash> can be a valid precomputed hash
value, or 0 to ask for it to be computed.
- SV* hv_delete_ent(HV *hv, SV *keysv, I32 flags, U32 hash)
+ SV* hv_delete_ent(HV *hv, SV *keysv, I32 flags,
+ U32 hash)
=for hackers
Found in file hv.c
@@ -2555,7 +3121,8 @@ Found in file hv.c
X<hv_exists>
Returns a boolean indicating whether the specified hash key exists. The
-C<klen> is the length of the key.
+absolute value of C<klen> is the length of the key. If C<klen> is
+negative the key is assumed to be in UTF-8-encoded Unicode.
bool hv_exists(HV *hv, const char *key, I32 klen)
@@ -2565,7 +3132,8 @@ Found in file hv.c
=item hv_exists_ent
X<hv_exists_ent>
-Returns a boolean indicating whether the specified hash key exists. C<hash>
+Returns a boolean indicating whether
+the specified hash key exists. C<hash>
can be a valid precomputed hash value, or 0 to ask for it to be
computed.
@@ -2577,15 +3145,17 @@ Found in file hv.c
=item hv_fetch
X<hv_fetch>
-Returns the SV which corresponds to the specified key in the hash. The
-C<klen> is the length of the key. If C<lval> is set then the fetch will be
-part of a store. Check that the return value is non-null before
-dereferencing it to an C<SV*>.
+Returns the SV which corresponds to the specified key in the hash.
+The absolute value of C<klen> is the length of the key. If C<klen> is
+negative the key is assumed to be in UTF-8-encoded Unicode. If
+C<lval> is set then the fetch will be part of a store. Check that the
+return value is non-null before dereferencing it to an C<SV*>.
See L<perlguts/"Understanding the Magic of Tied Hashes and Arrays"> for more
information on how to use this function on tied hashes.
- SV** hv_fetch(HV *hv, const char *key, I32 klen, I32 lval)
+ SV** hv_fetch(HV *hv, const char *key, I32 klen,
+ I32 lval)
=for hackers
Found in file hv.c
@@ -2614,7 +3184,8 @@ store it somewhere.
See L<perlguts/"Understanding the Magic of Tied Hashes and Arrays"> for more
information on how to use this function on tied hashes.
- HE* hv_fetch_ent(HV *hv, SV *keysv, I32 lval, U32 hash)
+ HE* hv_fetch_ent(HV *hv, SV *keysv, I32 lval,
+ U32 hash)
=for hackers
Found in file hv.c
@@ -2637,7 +3208,7 @@ Found in file hv.c
X<hv_iterinit>
Prepares a starting point to traverse a hash table. Returns the number of
-keys in the hash (i.e. the same as C<HvKEYS(hv)>). The return value is
+keys in the hash (i.e. the same as C<HvUSEDKEYS(hv)>). The return value is
currently only meaningful for hashes without tie magic.
NOTE: Before version 5.004_65, C<hv_iterinit> used to return the number of
@@ -2710,7 +3281,7 @@ The C<flags> value will normally be zero; if HV_ITERNEXT_WANTPLACEHOLDERS is
set the placeholders keys (for restricted hashes) will be returned in addition
to normal keys. By default placeholders are automatically skipped over.
Currently a placeholder is implemented with a value that is
-C<&Perl_sv_placeholder>. Note that the implementation of placeholders and
+C<&PL_sv_placeholder>. Note that the implementation of placeholders and
restricted hashes may change, and the implementation currently is
insufficiently abstracted for any change to be tidy.
@@ -2756,9 +3327,13 @@ Found in file hv.c
=item hv_store
X<hv_store>
-Stores an SV in a hash. The hash key is specified as C<key> and C<klen> is
-the length of the key. The C<hash> parameter is the precomputed hash
-value; if it is zero then Perl will compute it. The return value will be
+Stores an SV in a hash. The hash key is specified as C<key> and the
+absolute value of C<klen> is the length of the key. If C<klen> is
+negative the key is assumed to be in UTF-8-encoded Unicode. The
+C<hash> parameter is the precomputed hash value; if it is zero then
+Perl will compute it.
+
+The return value will be
NULL if the operation failed or if the value did not need to be actually
stored within the hash (as in the case of tied hashes). Otherwise it can
be dereferenced to get the original C<SV*>. Note that the caller is
@@ -2776,7 +3351,8 @@ hv_store_ent.
See L<perlguts/"Understanding the Magic of Tied Hashes and Arrays"> for more
information on how to use this function on tied hashes.
- SV** hv_store(HV *hv, const char *key, I32 klen, SV *val, U32 hash)
+ SV** hv_store(HV *hv, const char *key, I32 klen,
+ SV *val, U32 hash)
=for hackers
Found in file hv.c
@@ -2787,7 +3363,8 @@ X<hv_stores>
Like C<hv_store>, but takes a literal string instead of a string/length pair
and omits the hash parameter.
- SV** hv_stores(HV* tb, const char* key, NULLOK SV* val)
+ SV** hv_stores(HV* tb, const char* key,
+ NULLOK SV* val)
=for hackers
Found in file handy.h
@@ -2826,7 +3403,15 @@ Found in file hv.c
=item hv_undef
X<hv_undef>
-Undefines the hash.
+Undefines the hash. The XS equivalent of C<undef(%hash)>.
+
+As well as freeing all the elements of the hash (like hv_clear()), this
+also frees any auxiliary data and storage associated with the hash.
+
+If any destructors are triggered as a result, the hv itself may
+be freed.
+
+See also L</hv_clear>.
void hv_undef(HV *hv)
@@ -2846,6 +3431,57 @@ Found in file hv.h
=back
+=head1 Hook manipulation
+
+=over 8
+
+=item wrap_op_checker
+X<wrap_op_checker>
+
+Puts a C function into the chain of check functions for a specified op
+type. This is the preferred way to manipulate the L</PL_check> array.
+I<opcode> specifies which type of op is to be affected. I<new_checker>
+is a pointer to the C function that is to be added to that opcode's
+check chain, and I<old_checker_p> points to the storage location where a
+pointer to the next function in the chain will be stored. The value of
+I<new_pointer> is written into the L</PL_check> array, while the value
+previously stored there is written to I<*old_checker_p>.
+
+L</PL_check> is global to an entire process, and a module wishing to
+hook op checking may find itself invoked more than once per process,
+typically in different threads. To handle that situation, this function
+is idempotent. The location I<*old_checker_p> must initially (once
+per process) contain a null pointer. A C variable of static duration
+(declared at file scope, typically also marked C<static> to give
+it internal linkage) will be implicitly initialised appropriately,
+if it does not have an explicit initialiser. This function will only
+actually modify the check chain if it finds I<*old_checker_p> to be null.
+This function is also thread safe on the small scale. It uses appropriate
+locking to avoid race conditions in accessing L</PL_check>.
+
+When this function is called, the function referenced by I<new_checker>
+must be ready to be called, except for I<*old_checker_p> being unfilled.
+In a threading situation, I<new_checker> may be called immediately,
+even before this function has returned. I<*old_checker_p> will always
+be appropriately set before I<new_checker> is called. If I<new_checker>
+decides not to do anything special with an op that it is given (which
+is the usual case for most uses of op check hooking), it must chain the
+check function referenced by I<*old_checker_p>.
+
+If you want to influence compilation of calls to a specific subroutine,
+then use L</cv_set_call_checker> rather than hooking checking of all
+C<entersub> ops.
+
+ void wrap_op_checker(Optype opcode,
+ Perl_check_t new_checker,
+ Perl_check_t *old_checker_p)
+
+=for hackers
+Found in file op.c
+
+
+=back
+
=head1 Lexer interface
=over 8
@@ -3063,9 +3699,8 @@ from which code will be read to be parsed. If both are non-null, the
code in I<line> comes first and must consist of complete lines of input,
and I<rsfp> supplies the remainder of the source.
-The I<flags> parameter is reserved for future use, and must always
-be zero, except for one flag that is currently reserved for perl's internal
-use.
+The I<flags> parameter is reserved for future use. Currently it is only
+used by perl internally, so extensions should always pass zero.
NOTE: this function is experimental and may change or be
removed without notice.
@@ -3124,7 +3759,8 @@ function is more convenient.
NOTE: this function is experimental and may change or be
removed without notice.
- void lex_stuff_pvn(const char *pv, STRLEN len, U32 flags)
+ void lex_stuff_pvn(const char *pv, STRLEN len,
+ U32 flags)
=for hackers
Found in file toke.c
@@ -3593,7 +4229,8 @@ X<mg_copy>
Copies the magic from one SV to another. See C<sv_magic>.
- int mg_copy(SV *sv, SV *nsv, const char *key, I32 klen)
+ int mg_copy(SV *sv, SV *nsv, const char *key,
+ I32 klen)
=for hackers
Found in file mg.c
@@ -3614,7 +4251,8 @@ X<mg_findext>
Finds the magic pointer of C<type> with the given C<vtbl> for the C<SV>. See
C<sv_magicext>.
- MAGIC* mg_findext(const SV* sv, int type, const MGVTBL *vtbl)
+ MAGIC* mg_findext(const SV* sv, int type,
+ const MGVTBL *vtbl)
=for hackers
Found in file mg.c
@@ -3642,7 +4280,7 @@ Found in file mg.c
=item mg_get
X<mg_get>
-Do magic after a value is retrieved from the SV. See C<sv_magic>.
+Do magic before a value is retrieved from the SV. See C<sv_magic>.
int mg_get(SV* sv)
@@ -3747,7 +4385,7 @@ Found in file sv.h
X<SvSetSV_nosteal>
Calls a non-destructive version of C<sv_setsv> if dsv is not the same as
-ssv. May evaluate arguments more than once.
+ssv. May evaluate arguments more than once.
void SvSetSV_nosteal(SV* dsv, SV* ssv)
@@ -3837,7 +4475,7 @@ The XSUB-writer's interface to the C C<malloc> function.
In 5.9.3, Newx() and friends replace the older New() API, and drops
the first parameter, I<x>, a debug aid which allowed callers to identify
themselves. This aid has been superseded by a new build option,
-PERL_MEM_LOG (see L<perlhack/PERL_MEM_LOG>). The older API is still
+PERL_MEM_LOG (see L<perlhacktips/PERL_MEM_LOG>). The older API is still
there for use in XS modules supporting older perls.
void Newx(void* ptr, int nitems, type)
@@ -3903,7 +4541,8 @@ X<PoisonWith>
Fill up memory with a byte pattern (a byte repeated over and over
again) that hopefully catches attempts to access uninitialized memory.
- void PoisonWith(void* dest, int nitems, type, U8 byte)
+ void PoisonWith(void* dest, int nitems, type,
+ U8 byte)
=for hackers
Found in file handy.h
@@ -3993,7 +4632,8 @@ A version of C<savepvn()> which allocates the duplicate string in memory
which is shared between threads. (With the specific difference that a NULL
pointer is not acceptable)
- char* savesharedpvn(const char *const pv, const STRLEN len)
+ char* savesharedpvn(const char *const pv,
+ const STRLEN len)
=for hackers
Found in file util.c
@@ -4089,7 +4729,9 @@ C<strend>. It returns C<NULL> if the string can't be found. The C<sv>
does not have to be fbm_compiled, but the search will not be as fast
then.
- char* fbm_instr(unsigned char* big, unsigned char* bigend, SV* littlestr, U32 flags)
+ char* fbm_instr(unsigned char* big,
+ unsigned char* bigend, SV* littlestr,
+ U32 flags)
=for hackers
Found in file util.c
@@ -4113,7 +4755,8 @@ X<foldEQ_locale>
Returns true if the leading len bytes of the strings s1 and s2 are the same
case-insensitively in the current locale; false otherwise.
- I32 foldEQ_locale(const char* a, const char* b, I32 len)
+ I32 foldEQ_locale(const char* a, const char* b,
+ I32 len)
=for hackers
Found in file util.c
@@ -4202,7 +4845,8 @@ C<vsprintf> which can overrun the buffer (there is an overrun check,
but that may be too late). Consider using C<sv_vcatpvf> instead, or
getting C<vsnprintf>.
- int my_snprintf(char *buffer, const Size_t len, const char *format, ...)
+ int my_snprintf(char *buffer, const Size_t len,
+ const char *format, ...)
=for hackers
Found in file util.c
@@ -4228,7 +4872,8 @@ use the unsafe C<vsprintf> which can overrun the buffer (there is an
overrun check, but that may be too late). Consider using
C<sv_vcatpvf> instead, or getting C<vsnprintf>.
- int my_vsnprintf(char *buffer, const Size_t len, const char *format, va_list ap)
+ int my_vsnprintf(char *buffer, const Size_t len,
+ const char *format, va_list ap)
=for hackers
Found in file util.c
@@ -4256,7 +4901,11 @@ actually perform the parsing. Can use either strict or lax validation rules.
Can optionally set a number of hint variables to save the parsing code
some time when tokenizing.
- const char* prescan_version(const char *s, bool strict, const char** errstr, bool *sqv, int *ssaw_decimal, int *swidth, bool *salpha)
+ const char* prescan_version(const char *s, bool strict,
+ const char** errstr,
+ bool *sqv,
+ int *ssaw_decimal,
+ int *swidth, bool *salpha)
=for hackers
Found in file util.c
@@ -4280,7 +4929,7 @@ is an alpha version). The boolean qv denotes that the version
should be interpreted as if it had multiple decimals, even if
it doesn't.
- const char* scan_version(const char *s, SV *rv, bool qv)
+ const char* scan_version(const char *s, SV *rv, bool qv)
=for hackers
Found in file util.c
@@ -4523,10 +5172,9 @@ Found in file util.c
=item mro_get_linear_isa
X<mro_get_linear_isa>
-Returns either C<mro_get_linear_isa_c3> or
-C<mro_get_linear_isa_dfs> for the given stash,
-dependant upon which MRO is in effect
-for that stash. The return value is a
+Returns the mro linearisation for the given stash. By default, this
+will be whatever C<mro_get_linear_isa_dfs> returns unless some
+other MRO is in effect for the stash. The return value is a
read-only AV*.
You are responsible for C<SvREFCNT_inc()> on the
@@ -4548,7 +5196,7 @@ of the given stash, so that they might notice
the changes in this one.
Ideally, all instances of C<PL_sub_generation++> in
-perl source outside of C<mro.c> should be
+perl source outside of F<mro.c> should be
replaced by calls to this.
Perl automatically handles most of the common
@@ -4573,6 +5221,16 @@ via, C<mro::method_changed_in(classname)>.
=for hackers
Found in file mro.c
+=item mro_register
+X<mro_register>
+
+Registers a custom mro plugin. See L<perlmroapi> for details.
+
+ void mro_register(const struct mro_alg *mro)
+
+=for hackers
+Found in file mro.c
+
=back
@@ -4583,7 +5241,7 @@ Found in file mro.c
=item dMULTICALL
X<dMULTICALL>
-Declare local variables for a multicall. See L<perlcall/Lightweight Callbacks>.
+Declare local variables for a multicall. See L<perlcall/LIGHTWEIGHT CALLBACKS>.
dMULTICALL;
@@ -4593,7 +5251,7 @@ Found in file cop.h
=item MULTICALL
X<MULTICALL>
-Make a lightweight callback. See L<perlcall/Lightweight Callbacks>.
+Make a lightweight callback. See L<perlcall/LIGHTWEIGHT CALLBACKS>.
MULTICALL;
@@ -4604,7 +5262,7 @@ Found in file cop.h
X<POP_MULTICALL>
Closing bracket for a lightweight callback.
-See L<perlcall/Lightweight Callbacks>.
+See L<perlcall/LIGHTWEIGHT CALLBACKS>.
POP_MULTICALL;
@@ -4615,7 +5273,7 @@ Found in file cop.h
X<PUSH_MULTICALL>
Opening bracket for a lightweight callback.
-See L<perlcall/Lightweight Callbacks>.
+See L<perlcall/LIGHTWEIGHT CALLBACKS>.
PUSH_MULTICALL;
@@ -4653,7 +5311,8 @@ C<PERL_SCAN_DISALLOW_PREFIX> is set in I<*flags> on entry. If
C<PERL_SCAN_ALLOW_UNDERSCORES> is set in I<*flags> then the binary
number may use '_' characters to separate digits.
- UV grok_bin(const char* start, STRLEN* len_p, I32* flags, NV *result)
+ UV grok_bin(const char* start, STRLEN* len_p,
+ I32* flags, NV *result)
=for hackers
Found in file numeric.c
@@ -4682,7 +5341,8 @@ C<PERL_SCAN_DISALLOW_PREFIX> is set in I<*flags> on entry. If
C<PERL_SCAN_ALLOW_UNDERSCORES> is set in I<*flags> then the hex
number may use '_' characters to separate digits.
- UV grok_hex(const char* start, STRLEN* len_p, I32* flags, NV *result)
+ UV grok_hex(const char* start, STRLEN* len_p,
+ I32* flags, NV *result)
=for hackers
Found in file numeric.c
@@ -4708,7 +5368,8 @@ IS_NUMBER_NEG if the number is negative (in which case *valuep holds the
absolute value). IS_NUMBER_IN_UV is not set if e notation was used or the
number is larger than a UV.
- int grok_number(const char *pv, STRLEN len, UV *valuep)
+ int grok_number(const char *pv, STRLEN len,
+ UV *valuep)
=for hackers
Found in file numeric.c
@@ -4718,7 +5379,8 @@ X<grok_numeric_radix>
Scan and skip for a numeric decimal separator (radix).
- bool grok_numeric_radix(const char **sp, const char *send)
+ bool grok_numeric_radix(const char **sp,
+ const char *send)
=for hackers
Found in file numeric.c
@@ -4745,7 +5407,8 @@ is NULL).
If C<PERL_SCAN_ALLOW_UNDERSCORES> is set in I<*flags> then the octal
number may use '_' characters to separate digits.
- UV grok_oct(const char* start, STRLEN* len_p, I32* flags, NV *result)
+ UV grok_oct(const char* start, STRLEN* len_p,
+ I32* flags, NV *result)
=for hackers
Found in file numeric.c
@@ -4786,7 +5449,8 @@ X<scan_bin>
For backwards compatibility. Use C<grok_bin> instead.
- NV scan_bin(const char* start, STRLEN len, STRLEN* retlen)
+ NV scan_bin(const char* start, STRLEN len,
+ STRLEN* retlen)
=for hackers
Found in file numeric.c
@@ -4796,7 +5460,8 @@ X<scan_hex>
For backwards compatibility. Use C<grok_hex> instead.
- NV scan_hex(const char* start, STRLEN len, STRLEN* retlen)
+ NV scan_hex(const char* start, STRLEN len,
+ STRLEN* retlen)
=for hackers
Found in file numeric.c
@@ -4806,7 +5471,8 @@ X<scan_oct>
For backwards compatibility. Use C<grok_oct> instead.
- NV scan_oct(const char* start, STRLEN len, STRLEN* retlen)
+ NV scan_oct(const char* start, STRLEN len,
+ STRLEN* retlen)
=for hackers
Found in file numeric.c
@@ -4838,7 +5504,8 @@ will be set automatically, and, shifted up eight bits, the eight bits
of C<op_private>, except that the bit with value 1 or 2 is automatically
set as required.
- OP * newASSIGNOP(I32 flags, OP *left, I32 optype, OP *right)
+ OP * newASSIGNOP(I32 flags, OP *left, I32 optype,
+ OP *right)
=for hackers
Found in file op.c
@@ -4854,7 +5521,8 @@ the eight bits of C<op_private>, except that the bit with value 1 or
two ops to be the direct children of the binary op; they are consumed
by this function and become part of the constructed op tree.
- OP * newBINOP(I32 type, I32 flags, OP *first, OP *last)
+ OP * newBINOP(I32 type, I32 flags, OP *first,
+ OP *last)
=for hackers
Found in file op.c
@@ -4870,7 +5538,8 @@ I<first> supplies the expression selecting between the two branches,
and I<trueop> and I<falseop> supply the branches; they are consumed by
this function and become part of the constructed op tree.
- OP * newCONDOP(I32 flags, OP *first, OP *trueop, OP *falseop)
+ OP * newCONDOP(I32 flags, OP *first, OP *trueop,
+ OP *falseop)
=for hackers
Found in file op.c
@@ -4895,7 +5564,8 @@ op and, shifted up eight bits, the eight bits of C<op_private> for
the C<leaveloop> op, except that (in both cases) some bits will be set
automatically.
- OP * newFOROP(I32 flags, OP *sv, OP *expr, OP *block, OP *cont)
+ OP * newFOROP(I32 flags, OP *sv, OP *expr, OP *block,
+ OP *cont)
=for hackers
Found in file op.c
@@ -4910,7 +5580,8 @@ are consumed by this function and become part of the constructed op tree.
I<defsv_off> is the pad offset of the scalar lexical variable that will
be affected.
- OP * newGIVENOP(OP *cond, OP *block, PADOFFSET defsv_off)
+ OP * newGIVENOP(OP *cond, OP *block,
+ PADOFFSET defsv_off)
=for hackers
Found in file op.c
@@ -4938,7 +5609,8 @@ C<OPf_KIDS> will be set automatically if required. I<first> and I<last>
supply up to two ops to be direct children of the list op; they are
consumed by this function and become part of the constructed op tree.
- OP * newLISTOP(I32 type, I32 flags, OP *first, OP *last)
+ OP * newLISTOP(I32 type, I32 flags, OP *first,
+ OP *last)
=for hackers
Found in file op.c
@@ -4954,7 +5626,8 @@ automatically set. I<first> supplies the expression controlling the
flow, and I<other> supplies the side (alternate) chain of ops; they are
consumed by this function and become part of the constructed op tree.
- OP * newLOGOP(I32 type, I32 flags, OP *first, OP *other)
+ OP * newLOGOP(I32 type, I32 flags, OP *first,
+ OP *other)
=for hackers
Found in file op.c
@@ -4985,7 +5658,8 @@ supplies the body of the loop; they are consumed by this function and
become part of the constructed op tree. I<debuggable> is currently
unused and should always be 1.
- OP * newLOOPOP(I32 flags, I32 debuggable, OP *expr, OP *block)
+ OP * newLOOPOP(I32 flags, I32 debuggable, OP *expr,
+ OP *block)
=for hackers
Found in file op.c
@@ -5083,7 +5757,8 @@ set as required. I<listval> and I<subscript> supply the parameters of
the slice; they are consumed by this function and become part of the
constructed op tree.
- OP * newSLICEOP(I32 flags, OP *subscript, OP *listval)
+ OP * newSLICEOP(I32 flags, OP *subscript,
+ OP *listval)
=for hackers
Found in file op.c
@@ -5173,7 +5848,9 @@ automatically. I<debuggable> is currently unused and should always be 1.
I<has_my> can be supplied as true to force the
loop body to be enclosed in its own scope.
- OP * newWHILEOP(I32 flags, I32 debuggable, LOOP *loop, OP *expr, OP *block, OP *cont, I32 has_my)
+ OP * newWHILEOP(I32 flags, I32 debuggable,
+ LOOP *loop, OP *expr, OP *block,
+ OP *cont, I32 has_my)
=for hackers
Found in file op.c
@@ -5225,7 +5902,8 @@ exception at the top level of parsing which covers all the compilation
errors that occurred. In the error message, the callee is referred to
by the name defined by the I<namegv> parameter.
- OP * ck_entersub_args_proto(OP *entersubop, GV *namegv, SV *protosv)
+ OP * ck_entersub_args_proto(OP *entersubop,
+ GV *namegv, SV *protosv)
=for hackers
Found in file op.c
@@ -5254,7 +5932,9 @@ exception at the top level of parsing which covers all the compilation
errors that occurred. In the error message, the callee is referred to
by the name defined by the I<namegv> parameter.
- OP * ck_entersub_args_proto_or_list(OP *entersubop, GV *namegv, SV *protosv)
+ OP * ck_entersub_args_proto_or_list(OP *entersubop,
+ GV *namegv,
+ SV *protosv)
=for hackers
Found in file op.c
@@ -5300,7 +5980,9 @@ and the SV parameter is I<cv> itself. This implements standard
prototype processing. It can be changed, for a particular subroutine,
by L</cv_set_call_checker>.
- void cv_get_call_checker(CV *cv, Perl_call_checker *ckfun_p, SV **ckobj_p)
+ void cv_get_call_checker(CV *cv,
+ Perl_call_checker *ckfun_p,
+ SV **ckobj_p)
=for hackers
Found in file op.c
@@ -5329,7 +6011,9 @@ such as to a call to a different subroutine or to a method call.
The current setting for a particular CV can be retrieved by
L</cv_get_call_checker>.
- void cv_set_call_checker(CV *cv, Perl_call_checker ckfun, SV *ckobj)
+ void cv_set_call_checker(CV *cv,
+ Perl_call_checker ckfun,
+ SV *ckobj)
=for hackers
Found in file op.c
@@ -5351,15 +6035,28 @@ Found in file op.h
=item newCONSTSUB
X<newCONSTSUB>
+See L</newCONSTSUB_flags>.
+
+ CV* newCONSTSUB(HV* stash, const char* name, SV* sv)
+
+=for hackers
+Found in file op.c
+
+=item newCONSTSUB_flags
+X<newCONSTSUB_flags>
+
Creates a constant sub equivalent to Perl C<sub FOO () { 123 }> which is
eligible for inlining at compile-time.
+Currently, the only useful value for C<flags> is SVf_UTF8.
+
Passing NULL for SV creates a constant sub equivalent to C<sub BAR () {}>,
which won't be called if used as a destructor, but will suppress the overhead
of a call to C<AUTOLOAD>. (This form, however, isn't eligible for inlining at
compile time.)
- CV* newCONSTSUB(HV* stash, const char* name, SV* sv)
+ CV* newCONSTSUB_flags(HV* stash, const char* name,
+ STRLEN len, U32 flags, SV* sv)
=for hackers
Found in file op.c
@@ -5423,7 +6120,7 @@ X<OP_DESC>
Return a short description of the provided OP.
- const char * OP_DESC(OP *o)
+ const char * OP_DESC(OP *o)
=for hackers
Found in file op.h
@@ -5469,7 +6166,7 @@ X<OP_NAME>
Return the name of the provided OP. For core ops this looks up the name
from the op_type; for custom ops from the op_ppaddr.
- const char * OP_NAME(OP *o)
+ const char * OP_NAME(OP *o)
=for hackers
Found in file op.h
@@ -5552,6 +6249,183 @@ Found in file op.c
=back
+=head1 Pad Data Structures
+
+=over 8
+
+=item CvPADLIST
+X<CvPADLIST>
+
+CV's can have CvPADLIST(cv) set to point to an AV. This is the CV's
+scratchpad, which stores lexical variables and opcode temporary and
+per-thread values.
+
+For these purposes "forms" are a kind-of CV, eval""s are too (except they're
+not callable at will and are always thrown away after the eval"" is done
+executing). Require'd files are simply evals without any outer lexical
+scope.
+
+XSUBs don't have CvPADLIST set - dXSTARG fetches values from PL_curpad,
+but that is really the callers pad (a slot of which is allocated by
+every entersub).
+
+The CvPADLIST AV has the REFCNT of its component items managed "manually"
+(mostly in pad.c) rather than by normal av.c rules. So we turn off AvREAL
+just before freeing it, to let av.c know not to touch the entries.
+The items in the AV are not SVs as for a normal AV, but other AVs:
+
+0'th Entry of the CvPADLIST is an AV which represents the "names" or rather
+the "static type information" for lexicals.
+
+The CvDEPTH'th entry of CvPADLIST AV is an AV which is the stack frame at that
+depth of recursion into the CV.
+The 0'th slot of a frame AV is an AV which is @_.
+other entries are storage for variables and op targets.
+
+Iterating over the names AV iterates over all possible pad
+items. Pad slots that are SVs_PADTMP (targets/GVs/constants) end up having
+&PL_sv_undef "names" (see pad_alloc()).
+
+Only my/our variable (SVs_PADMY/SVs_PADOUR) slots get valid names.
+The rest are op targets/GVs/constants which are statically allocated
+or resolved at compile time. These don't have names by which they
+can be looked up from Perl code at run time through eval"" like
+my/our variables can be. Since they can't be looked up by "name"
+but only by their index allocated at compile time (which is usually
+in PL_op->op_targ), wasting a name SV for them doesn't make sense.
+
+The SVs in the names AV have their PV being the name of the variable.
+xlow+1..xhigh inclusive in the NV union is a range of cop_seq numbers for
+which the name is valid (accessed through the macros COP_SEQ_RANGE_LOW and
+_HIGH). During compilation, these fields may hold the special value
+PERL_PADSEQ_INTRO to indicate various stages:
+
+ COP_SEQ_RANGE_LOW _HIGH
+ ----------------- -----
+ PERL_PADSEQ_INTRO 0 variable not yet introduced: { my ($x
+ valid-seq# PERL_PADSEQ_INTRO variable in scope: { my ($x)
+ valid-seq# valid-seq# compilation of scope complete: { my ($x) }
+
+For typed lexicals name SV is SVt_PVMG and SvSTASH
+points at the type. For C<our> lexicals, the type is also SVt_PVMG, with the
+SvOURSTASH slot pointing at the stash of the associated global (so that
+duplicate C<our> declarations in the same package can be detected). SvUVX is
+sometimes hijacked to store the generation number during compilation.
+
+If SvFAKE is set on the name SV, then that slot in the frame AV is
+a REFCNT'ed reference to a lexical from "outside". In this case,
+the name SV does not use xlow and xhigh to store a cop_seq range, since it is
+in scope throughout. Instead xhigh stores some flags containing info about
+the real lexical (is it declared in an anon, and is it capable of being
+instantiated multiple times?), and for fake ANONs, xlow contains the index
+within the parent's pad where the lexical's value is stored, to make
+cloning quicker.
+
+If the 'name' is '&' the corresponding entry in frame AV
+is a CV representing a possible closure.
+(SvFAKE and name of '&' is not a meaningful combination currently but could
+become so if C<my sub foo {}> is implemented.)
+
+Note that formats are treated as anon subs, and are cloned each time
+write is called (if necessary).
+
+The flag SVs_PADSTALE is cleared on lexicals each time the my() is executed,
+and set on scope exit. This allows the 'Variable $x is not available' warning
+to be generated in evals, such as
+
+ { my $x = 1; sub f { eval '$x'} } f();
+
+For state vars, SVs_PADSTALE is overloaded to mean 'not yet initialised'
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+ PADLIST * CvPADLIST(CV *cv)
+
+=for hackers
+Found in file pad.c
+
+=item pad_add_name_pvs
+X<pad_add_name_pvs>
+
+Exactly like L</pad_add_name_pvn>, but takes a literal string instead
+of a string/length pair.
+
+ PADOFFSET pad_add_name_pvs(const char *name, U32 flags,
+ HV *typestash, HV *ourstash)
+
+=for hackers
+Found in file pad.h
+
+=item pad_findmy_pvs
+X<pad_findmy_pvs>
+
+Exactly like L</pad_findmy_pvn>, but takes a literal string instead
+of a string/length pair.
+
+ PADOFFSET pad_findmy_pvs(const char *name, U32 flags)
+
+=for hackers
+Found in file pad.h
+
+=item pad_new
+X<pad_new>
+
+Create a new padlist, updating the global variables for the
+currently-compiling padlist to point to the new padlist. The following
+flags can be OR'ed together:
+
+ padnew_CLONE this pad is for a cloned CV
+ padnew_SAVE save old globals on the save stack
+ padnew_SAVESUB also save extra stuff for start of sub
+
+ PADLIST * pad_new(int flags)
+
+=for hackers
+Found in file pad.c
+
+=item PL_comppad
+X<PL_comppad>
+
+During compilation, this points to the array containing the values
+part of the pad for the currently-compiling code. (At runtime a CV may
+have many such value arrays; at compile time just one is constructed.)
+At runtime, this points to the array containing the currently-relevant
+values for the pad for the currently-executing code.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+=for hackers
+Found in file pad.c
+
+=item PL_comppad_name
+X<PL_comppad_name>
+
+During compilation, this points to the array containing the names part
+of the pad for the currently-compiling code.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+=for hackers
+Found in file pad.c
+
+=item PL_curpad
+X<PL_curpad>
+
+Points directly to the body of the L</PL_comppad> array.
+(I.e., this is C<AvARRAY(PL_comppad)>.)
+
+NOTE: this function is experimental and may change or be
+removed without notice.
+
+=for hackers
+Found in file pad.c
+
+
+=back
+
=head1 Per-Interpreter Variables
=over 8
@@ -5698,7 +6572,7 @@ equivalent to the following snippet:
NULL will be returned if a REGEXP* is not found.
- REGEXP * SvRX(SV *sv)
+ REGEXP * SvRX(SV *sv)
=for hackers
Found in file regexp.h
@@ -6451,6 +7325,18 @@ Found in file sv.h
=over 8
+=item boolSV
+X<boolSV>
+
+Returns a true SV if C<b> is a true value, or a false SV if C<b> is 0.
+
+See also C<PL_sv_yes> and C<PL_sv_no>.
+
+ SV * boolSV(bool b)
+
+=for hackers
+Found in file sv.h
+
=item croak_xs_usage
X<croak_xs_usage>
@@ -6461,9 +7347,10 @@ A specialised variant of C<croak()> for emitting the usage message for xsubs
works out the package name and subroutine name from C<cv>, and then calls
C<croak()>. Hence if C<cv> is C<&ouch::awk>, it would call C<croak> as:
- Perl_croak(aTHX_ "Usage: %s::%s(%s)", "ouch" "awk", "eee_yow");
+ Perl_croak(aTHX_ "Usage: %"SVf"::%"SVf"(%s)", "ouch" "awk", "eee_yow");
- void croak_xs_usage(const CV *const cv, const char *const params)
+ void croak_xs_usage(const CV *const cv,
+ const char *const params)
=for hackers
Found in file universal.c
@@ -6500,7 +7387,8 @@ X<newSVpvn_utf8>
Creates a new SV and copies a string into it. If utf8 is true, calls
C<SvUTF8_on> on the new SV. Implemented as a wrapper around C<newSVpvn_flags>.
- SV* newSVpvn_utf8(NULLOK const char* s, STRLEN len, U32 utf8)
+ SV* newSVpvn_utf8(NULLOK const char* s, STRLEN len,
+ U32 utf8)
=for hackers
Found in file sv.h
@@ -6529,9 +7417,14 @@ Found in file sv.h
=item SvEND
X<SvEND>
-Returns a pointer to the last character in the string which is in the SV.
+Returns a pointer to the spot just after the last character in
+the string which is in the SV, where there is usually a trailing
+null (even though Perl scalars do not strictly require it).
See C<SvCUR>. Access the character as *(SvEND(sv)).
+Warning: If C<SvCUR> is equal to C<SvLEN>, then C<SvEND> points to
+unallocated memory.
+
char* SvEND(SV* sv)
=for hackers
@@ -6540,10 +7433,12 @@ Found in file sv.h
=item SvGAMAGIC
X<SvGAMAGIC>
-Returns true if the SV has get magic or overloading. If either is true then
+Returns true if the SV has get magic or
+overloading. If either is true then
the scalar is active data, and has the potential to return a new value every
-time it is accessed. Hence you must be careful to only read it once per user
-logical operation and work with that returned value. If neither is true then
+time it is accessed. Hence you must be careful to
+only read it once per user logical operation and work
+with that returned value. If neither is true then
the scalar's value cannot change unless written to.
U32 SvGAMAGIC(SV* sv)
@@ -6648,9 +7543,9 @@ Found in file sv.h
=item SvIsCOW
X<SvIsCOW>
-Returns a boolean indicating whether the SV is Copy-On-Write. (either shared
+Returns a boolean indicating whether the SV is Copy-On-Write (either shared
hash key scalars, or full Copy On Write scalars if 5.9.0 is configured for
-COW)
+COW).
bool SvIsCOW(SV* sv)
@@ -6671,7 +7566,7 @@ Found in file sv.h
=item SvIV
X<SvIV>
-Coerces the given SV to an integer and returns it. See C<SvIVx> for a
+Coerces the given SV to an integer and returns it. See C<SvIVx> for a
version which guarantees to evaluate sv only once.
IV SvIV(SV* sv)
@@ -6683,7 +7578,7 @@ Found in file sv.h
X<SvIVX>
Returns the raw value in the SV's IV slot, without checks or conversions.
-Only use when you are sure SvIOK is true. See also C<SvIV()>.
+Only use when you are sure SvIOK is true. See also C<SvIV()>.
IV SvIVX(SV* sv)
@@ -6693,8 +7588,9 @@ Found in file sv.h
=item SvIVx
X<SvIVx>
-Coerces the given SV to an integer and returns it. Guarantees to evaluate
-C<sv> only once. Only use this if C<sv> is an expression with side effects,
+Coerces the given SV to an integer and returns it.
+Guarantees to evaluate C<sv> only once. Only use
+this if C<sv> is an expression with side effects,
otherwise use the more efficient C<SvIV>.
IV SvIVx(SV* sv)
@@ -6842,7 +7738,7 @@ Found in file sv.h
=item SvNV
X<SvNV>
-Coerce the given SV to a double and return it. See C<SvNVx> for a version
+Coerce the given SV to a double and return it. See C<SvNVx> for a version
which guarantees to evaluate sv only once.
NV SvNV(SV* sv)
@@ -6854,7 +7750,7 @@ Found in file sv.h
X<SvNVX>
Returns the raw value in the SV's NV slot, without checks or conversions.
-Only use when you are sure SvNOK is true. See also C<SvNV()>.
+Only use when you are sure SvNOK is true. See also C<SvNV()>.
NV SvNVX(SV* sv)
@@ -6864,8 +7760,9 @@ Found in file sv.h
=item SvNVx
X<SvNVx>
-Coerces the given SV to a double and returns it. Guarantees to evaluate
-C<sv> only once. Only use this if C<sv> is an expression with side effects,
+Coerces the given SV to a double and returns it.
+Guarantees to evaluate C<sv> only once. Only use
+this if C<sv> is an expression with side effects,
otherwise use the more efficient C<SvNV>.
NV SvNVx(SV* sv)
@@ -6924,9 +7821,9 @@ X<SvOOK_offset>
Reads into I<len> the offset from SvPVX back to the true start of the
allocated buffer, which will be non-zero if C<sv_chop> has been used to
-efficiently remove characters from start of the buffer. Implemented as a
+efficiently remove characters from start of the buffer. Implemented as a
macro, which takes the address of I<len>, which must be of type C<STRLEN>.
-Evaluates I<sv> more than once. Sets I<len> to 0 if C<SvOOK(sv)> is false.
+Evaluates I<sv> more than once. Sets I<len> to 0 if C<SvOOK(sv)> is false.
void SvOOK_offset(NN SV*sv, STRLEN len)
@@ -7002,7 +7899,7 @@ X<SvPV>
Returns a pointer to the string in the SV, or a stringified form of
the SV if the SV does not contain a string. The SV may cache the
-stringified version becoming C<SvPOK>. Handles 'get' magic. See also
+stringified version becoming C<SvPOK>. Handles 'get' magic. See also
C<SvPVx> for a version which guarantees to evaluate sv only once.
char* SvPV(SV* sv, STRLEN len)
@@ -7124,6 +8021,9 @@ X<SvPVX>
Returns a pointer to the physical string in the SV. The SV must contain a
string.
+This is also used to store the name of an autoloaded subroutine in an XS
+AUTOLOAD routine. See L<perlguts/Autoloading with XSUBs>.
+
char* SvPVX(SV* sv)
=for hackers
@@ -7134,7 +8034,7 @@ X<SvPVx>
A version of C<SvPV> which guarantees to evaluate C<sv> only once.
Only use this if C<sv> is an expression with side effects, otherwise use the
-more efficient C<SvPVX>.
+more efficient C<SvPV>.
char* SvPVx(SV* sv, STRLEN len)
@@ -7158,7 +8058,7 @@ X<SvPV_force_nomg>
Like C<SvPV> but will force the SV into containing just a string
(C<SvPOK_only>). You want force if you are going to update the C<SvPVX>
-directly. Doesn't process magic.
+directly. Doesn't process magic.
char* SvPV_force_nomg(SV* sv, STRLEN len)
@@ -7396,7 +8296,11 @@ Found in file sv.h
=item SvTAINT
X<SvTAINT>
-Taints an SV if tainting is enabled.
+Taints an SV if tainting is enabled, and if some input to the current
+expression is tainted--usually a variable, but possibly also implicit
+inputs such as locale settings. C<SvTAINT> propagates that taintedness to
+the outputs of an expression in a pessimistic fashion; i.e., without paying
+attention to precisely which outputs are influenced by which inputs.
void SvTAINT(SV* sv)
@@ -7406,7 +8310,7 @@ Found in file sv.h
=item SvTAINTED
X<SvTAINTED>
-Checks to see if an SV is tainted. Returns TRUE if it is, FALSE if
+Checks to see if an SV is tainted. Returns TRUE if it is, FALSE if
not.
bool SvTAINTED(SV* sv)
@@ -7417,8 +8321,8 @@ Found in file sv.h
=item SvTAINTED_off
X<SvTAINTED_off>
-Untaints an SV. Be I<very> careful with this routine, as it short-circuits
-some of Perl's fundamental security features. XS module authors should not
+Untaints an SV. Be I<very> careful with this routine, as it short-circuits
+some of Perl's fundamental security features. XS module authors should not
use this function unless they fully understand all the implications of
unconditionally untainting the value. Untainting should be done in the
standard perl fashion, via a carefully crafted regexp, rather than directly
@@ -7497,7 +8401,8 @@ Found in file sv.h
=item SvUTF8
X<SvUTF8>
-Returns a U32 value indicating whether the SV contains UTF-8 encoded data.
+Returns a U32 value indicating the UTF-8 status of an SV. If things are set-up
+properly, this indicates whether or not the SV contains UTF-8 encoded data.
Call this after SvPV() in case any call to string overloading updates the
internal flag.
@@ -7509,7 +8414,8 @@ Found in file sv.h
=item SvUTF8_off
X<SvUTF8_off>
-Unsets the UTF-8 status of an SV.
+Unsets the UTF-8 status of an SV (the data is not changed, just the flag).
+Do not use frivolously.
void SvUTF8_off(SV *sv)
@@ -7542,7 +8448,7 @@ Found in file sv.h
X<SvUVX>
Returns the raw value in the SV's UV slot, without checks or conversions.
-Only use when you are sure SvIOK is true. See also C<SvUV()>.
+Only use when you are sure SvIOK is true. See also C<SvUV()>.
UV SvUVX(SV* sv)
@@ -7552,8 +8458,9 @@ Found in file sv.h
=item SvUVx
X<SvUVx>
-Coerces the given SV to an unsigned integer and returns it. Guarantees to
-C<sv> only once. Only use this if C<sv> is an expression with side effects,
+Coerces the given SV to an unsigned integer and
+returns it. Guarantees to C<sv> only once. Only
+use this if C<sv> is an expression with side effects,
otherwise use the more efficient C<SvUV>.
UV SvUVx(SV* sv)
@@ -7596,7 +8503,8 @@ X<sv_catpvn_nomg>
Like C<sv_catpvn> but doesn't process magic.
- void sv_catpvn_nomg(SV* sv, const char* ptr, STRLEN len)
+ void sv_catpvn_nomg(SV* sv, const char* ptr,
+ STRLEN len)
=for hackers
Found in file sv.h
@@ -7624,11 +8532,50 @@ Found in file sv.h
=item sv_derived_from
X<sv_derived_from>
+Exactly like L</sv_derived_from_pv>, but doesn't take a C<flags> parameter.
+
+ bool sv_derived_from(SV* sv, const char *const name)
+
+=for hackers
+Found in file universal.c
+
+=item sv_derived_from_pv
+X<sv_derived_from_pv>
+
+Exactly like L</sv_derived_from_pvn>, but takes a nul-terminated string
+instead of a string/length pair.
+
+ bool sv_derived_from_pv(SV* sv,
+ const char *const name,
+ U32 flags)
+
+=for hackers
+Found in file universal.c
+
+=item sv_derived_from_pvn
+X<sv_derived_from_pvn>
+
Returns a boolean indicating whether the SV is derived from the specified class
I<at the C level>. To check derivation at the Perl level, call C<isa()> as a
normal Perl method.
- bool sv_derived_from(SV* sv, const char *const name)
+Currently, the only significant value for C<flags> is SVf_UTF8.
+
+ bool sv_derived_from_pvn(SV* sv,
+ const char *const name,
+ const STRLEN len, U32 flags)
+
+=for hackers
+Found in file universal.c
+
+=item sv_derived_from_sv
+X<sv_derived_from_sv>
+
+Exactly like L</sv_derived_from_pvn>, but takes the name string in the form
+of an SV instead of a string/length pair.
+
+ bool sv_derived_from_sv(SV* sv, SV *namesv,
+ U32 flags)
=for hackers
Found in file universal.c
@@ -7636,10 +8583,42 @@ Found in file universal.c
=item sv_does
X<sv_does>
+Like L</sv_does_pv>, but doesn't take a C<flags> parameter.
+
+ bool sv_does(SV* sv, const char *const name)
+
+=for hackers
+Found in file universal.c
+
+=item sv_does_pv
+X<sv_does_pv>
+
+Like L</sv_does_sv>, but takes a nul-terminated string instead of an SV.
+
+ bool sv_does_pv(SV* sv, const char *const name,
+ U32 flags)
+
+=for hackers
+Found in file universal.c
+
+=item sv_does_pvn
+X<sv_does_pvn>
+
+Like L</sv_does_sv>, but takes a string/length pair instead of an SV.
+
+ bool sv_does_pvn(SV* sv, const char *const name,
+ const STRLEN len, U32 flags)
+
+=for hackers
+Found in file universal.c
+
+=item sv_does_sv
+X<sv_does_sv>
+
Returns a boolean indicating whether the SV performs a specific, named role.
The SV can be a Perl object or the name of a Perl class.
- bool sv_does(SV* sv, const char *const name)
+ bool sv_does_sv(SV* sv, SV* namesv, U32 flags)
=for hackers
Found in file universal.c
@@ -7647,7 +8626,7 @@ Found in file universal.c
=item sv_report_used
X<sv_report_used>
-Dump the contents of all SVs not yet freed. (Debugging aid).
+Dump the contents of all SVs not yet freed (debugging aid).
void sv_report_used()
@@ -7667,7 +8646,7 @@ Found in file sv.h
=item sv_utf8_upgrade_nomg
X<sv_utf8_upgrade_nomg>
-Like sv_utf8_upgrade, but doesn't do magic on C<sv>
+Like sv_utf8_upgrade, but doesn't do magic on C<sv>.
STRLEN sv_utf8_upgrade_nomg(NN SV *sv)
@@ -7686,7 +8665,8 @@ X<looks_like_number>
Test if the content of an SV looks like a number (or is a number).
C<Inf> and C<Infinity> are treated as numbers (so will not issue a
-non-numeric warning), even if your atof() doesn't grok them.
+non-numeric warning), even if your atof() doesn't grok them. Get-magic is
+ignored.
I32 looks_like_number(SV *const sv)
@@ -7715,7 +8695,7 @@ space is allocated.) The reference count for the new SV is set to 1.
In 5.9.3, newSV() replaces the older NEWSV() API, and drops the first
parameter, I<x>, a debug aid which allowed callers to identify themselves.
This aid has been superseded by a new build option, PERL_MEM_LOG (see
-L<perlhack/PERL_MEM_LOG>). The older API is still there for use in XS
+L<perlhacktips/PERL_MEM_LOG>). The older API is still there for use in XS
modules supporting older perls.
SV* newSV(const STRLEN len)
@@ -7727,7 +8707,7 @@ Found in file sv.c
X<newSVhek>
Creates a new SV from the hash key structure. It will generate scalars that
-point to the shared string table where possible. Returns a new (undefined)
+point to the shared string table where possible. Returns a new (undefined)
SV if the hek is NULL.
SV* newSVhek(const HEK *const hek)
@@ -7783,10 +8763,12 @@ Found in file sv.c
=item newSVpvn
X<newSVpvn>
-Creates a new SV and copies a string into it. The reference count for the
-SV is set to 1. Note that if C<len> is zero, Perl will create a zero length
-string. You are responsible for ensuring that the source string is at least
-C<len> bytes long. If the C<s> argument is NULL the new SV will be undefined.
+Creates a new SV and copies a buffer into it, which may contain NUL characters
+(C<\0>) and other binary data. The reference count for the SV is set to 1.
+Note that if C<len> is zero, Perl will create a zero length (Perl) string. You
+are responsible for ensuring that the source buffer is at least
+C<len> bytes long. If the C<buffer> argument is NULL the new SV will be
+undefined.
SV* newSVpvn(const char *const s, const STRLEN len)
@@ -7802,14 +8784,17 @@ string. You are responsible for ensuring that the source string is at least
C<len> bytes long. If the C<s> argument is NULL the new SV will be undefined.
Currently the only flag bits accepted are C<SVf_UTF8> and C<SVs_TEMP>.
If C<SVs_TEMP> is set, then C<sv_2mortal()> is called on the result before
-returning. If C<SVf_UTF8> is set, C<s> is considered to be in UTF-8 and the
+returning. If C<SVf_UTF8> is set, C<s>
+is considered to be in UTF-8 and the
C<SVf_UTF8> flag will be set on the new SV.
C<newSVpvn_utf8()> is a convenience wrapper for this function, defined as
#define newSVpvn_utf8(s, len, u) \
newSVpvn_flags((s), (len), (u) ? SVf_UTF8 : 0)
- SV* newSVpvn_flags(const char *const s, const STRLEN len, const U32 flags)
+ SV* newSVpvn_flags(const char *const s,
+ const STRLEN len,
+ const U32 flags)
=for hackers
Found in file sv.c
@@ -7818,10 +8803,11 @@ Found in file sv.c
X<newSVpvn_share>
Creates a new SV with its SvPVX_const pointing to a shared string in the string
-table. If the string does not already exist in the table, it is created
-first. Turns on READONLY and FAKE. If the C<hash> parameter is non-zero, that
-value is used; otherwise the hash is computed. The string's hash can be later
-be retrieved from the SV with the C<SvSHARED_HASH()> macro. The idea here is
+table. If the string does not already exist in the table, it is
+created first. Turns on READONLY and FAKE. If the C<hash> parameter
+is non-zero, that value is used; otherwise the hash is computed.
+The string's hash can later be retrieved from the SV
+with the C<SvSHARED_HASH()> macro. The idea here is
that as the string table is used for shared hash keys these strings will have
SvPVX_const == HeKEY and hash lookup will avoid string compare.
@@ -7881,7 +8867,8 @@ it will be upgraded to one. If C<classname> is non-null then the new SV will
be blessed in the specified package. The new SV is returned and its
reference count is 1.
- SV* newSVrv(SV *const rv, const char *const classname)
+ SV* newSVrv(SV *const rv,
+ const char *const classname)
=for hackers
Found in file sv.c
@@ -7890,7 +8877,7 @@ Found in file sv.c
X<newSVsv>
Creates a new SV which is an exact duplicate of the original SV.
-(Uses C<sv_setsv>).
+(Uses C<sv_setsv>.)
SV* newSVsv(SV *const old)
@@ -7935,7 +8922,7 @@ Found in file sv.c
X<sv_2bool_flags>
This function is only used by sv_true() and friends, and only if
-the latter's argument is neither SvPOK, SvIOK nor SvNOK. If the flags
+the latter's argument is neither SvPOK, SvIOK nor SvNOK. If the flags
contain SV_GMAGIC, then it does an mg_get() first.
@@ -7951,7 +8938,8 @@ Using various gambits, try to get a CV from an SV; in addition, try if
possible to set C<*st> and C<*gvp> to the stash and GV associated with it.
The flags in C<lref> are passed to gv_fetchsv.
- CV* sv_2cv(SV* sv, HV **const st, GV **const gvp, const I32 lref)
+ CV* sv_2cv(SV* sv, HV **const st, GV **const gvp,
+ const I32 lref)
=for hackers
Found in file sv.c
@@ -7963,6 +8951,9 @@ Using various gambits, try to get an IO from an SV: the IO slot if its a
GV; or the recursive result if we're an RV; or the IO slot of the symbol
named after the PV if we're a string.
+'Get' magic is ignored on the sv passed in, but will be called on
+C<SvRV(sv)> if sv is an RV.
+
IO* sv_2io(SV *const sv)
=for hackers
@@ -7986,7 +8977,7 @@ X<sv_2mortal>
Marks an existing SV as mortal. The SV will be destroyed "soon", either
by an explicit call to FREETMPS, or by an implicit call at places such as
statement boundaries. SvTEMP() is turned on which means that the SV's
-string buffer can be "stolen" if this SV is copied. See also C<sv_newmortal>
+string buffer can be "stolen" if this SV is copied. See also C<sv_newmortal>
and C<sv_mortalcopy>.
SV* sv_2mortal(SV *const sv)
@@ -7998,7 +8989,7 @@ Found in file sv.c
X<sv_2nv_flags>
Return the num value of an SV, doing any necessary string or integer
-conversion. If flags includes SV_GMAGIC, does an mg_get() first.
+conversion. If flags includes SV_GMAGIC, does an mg_get() first.
Normally used via the C<SvNV(sv)> and C<SvNVx(sv)> macros.
NV sv_2nv_flags(SV *const sv, const I32 flags)
@@ -8015,7 +9006,7 @@ side-effect.
Usually accessed via the C<SvPVbyte> macro.
- char* sv_2pvbyte(SV *const sv, STRLEN *const lp)
+ char* sv_2pvbyte(SV *sv, STRLEN *const lp)
=for hackers
Found in file sv.c
@@ -8028,7 +9019,7 @@ to its length. May cause the SV to be upgraded to UTF-8 as a side-effect.
Usually accessed via the C<SvPVutf8> macro.
- char* sv_2pvutf8(SV *const sv, STRLEN *const lp)
+ char* sv_2pvutf8(SV *sv, STRLEN *const lp)
=for hackers
Found in file sv.c
@@ -8037,12 +9028,12 @@ Found in file sv.c
X<sv_2pv_flags>
Returns a pointer to the string value of an SV, and sets *lp to its length.
-If flags includes SV_GMAGIC, does an mg_get() first. Coerces sv to a string
-if necessary.
-Normally invoked via the C<SvPV_flags> macro. C<sv_2pv()> and C<sv_2pv_nomg>
-usually end up here too.
+If flags includes SV_GMAGIC, does an mg_get() first. Coerces sv to a
+string if necessary. Normally invoked via the C<SvPV_flags> macro.
+C<sv_2pv()> and C<sv_2pv_nomg> usually end up here too.
- char* sv_2pv_flags(SV *const sv, STRLEN *const lp, const I32 flags)
+ char* sv_2pv_flags(SV *const sv, STRLEN *const lp,
+ const I32 flags)
=for hackers
Found in file sv.c
@@ -8062,7 +9053,7 @@ Found in file sv.c
=item sv_backoff
X<sv_backoff>
-Remove any string offset. You should normally use the C<SvOOK_off> macro
+Remove any string offset. You should normally use the C<SvOOK_off> macro
wrapper instead.
int sv_backoff(SV *const sv)
@@ -8102,10 +9093,11 @@ output to an SV. If the appended data contains "wide" characters
(including, but not limited to, SVs with a UTF-8 PV formatted with %s,
and characters >255 formatted with %c), the original SV might get
upgraded to UTF-8. Handles 'get' magic, but not 'set' magic. See
-C<sv_catpvf_mg>. If the original SV was UTF-8, the pattern should be
+C<sv_catpvf_mg>. If the original SV was UTF-8, the pattern should be
valid UTF-8; if the original SV was bytes, the pattern should be too.
- void sv_catpvf(SV *const sv, const char *const pat, ...)
+ void sv_catpvf(SV *const sv, const char *const pat,
+ ...)
=for hackers
Found in file sv.c
@@ -8115,7 +9107,8 @@ X<sv_catpvf_mg>
Like C<sv_catpvf>, but also handles 'set' magic.
- void sv_catpvf_mg(SV *const sv, const char *const pat, ...)
+ void sv_catpvf_mg(SV *const sv,
+ const char *const pat, ...)
=for hackers
Found in file sv.c
@@ -8139,11 +9132,15 @@ X<sv_catpvn_flags>
Concatenates the string onto the end of the string which is in the SV. The
C<len> indicates number of bytes to copy. If the SV has the UTF-8
status set, then the bytes appended should be valid UTF-8.
-If C<flags> has C<SV_GMAGIC> bit set, will C<mg_get> on C<dsv> if
-appropriate, else not. C<sv_catpvn> and C<sv_catpvn_nomg> are implemented
+If C<flags> has the C<SV_SMAGIC> bit set, will
+C<mg_set> on C<dsv> afterwards if appropriate.
+C<sv_catpvn> and C<sv_catpvn_nomg> are implemented
in terms of this function.
- void sv_catpvn_flags(SV *const dstr, const char *sstr, const STRLEN len, const I32 flags)
+ void sv_catpvn_flags(SV *const dstr,
+ const char *sstr,
+ const STRLEN len,
+ const I32 flags)
=for hackers
Found in file sv.c
@@ -8164,7 +9161,8 @@ X<sv_catpvs_flags>
Like C<sv_catpvn_flags>, but takes a literal string instead of a
string/length pair.
- void sv_catpvs_flags(SV* sv, const char* s, I32 flags)
+ void sv_catpvs_flags(SV* sv, const char* s,
+ I32 flags)
=for hackers
Found in file handy.h
@@ -8196,10 +9194,11 @@ X<sv_catpv_flags>
Concatenates the string onto the end of the string which is in the SV.
If the SV has the UTF-8 status set, then the bytes appended should
-be valid UTF-8. If C<flags> has C<SV_GMAGIC> bit set, will C<mg_get>
-on the SVs if appropriate, else not.
+be valid UTF-8. If C<flags> has the C<SV_SMAGIC> bit set, will C<mg_set>
+on the modified SV if appropriate.
- void sv_catpv_flags(SV *dstr, const char *sstr, const I32 flags)
+ void sv_catpv_flags(SV *dstr, const char *sstr,
+ const I32 flags)
=for hackers
Found in file sv.c
@@ -8231,10 +9230,13 @@ X<sv_catsv_flags>
Concatenates the string from SV C<ssv> onto the end of the string in
SV C<dsv>. Modifies C<dsv> but not C<ssv>. If C<flags> has C<SV_GMAGIC>
-bit set, will C<mg_get> on the SVs if appropriate, else not. C<sv_catsv>
+bit set, will C<mg_get> on the C<ssv>, if appropriate, before
+reading it. If the C<flags> contain C<SV_SMAGIC>, C<mg_set> will be
+called on the modified SV afterward, if appropriate. C<sv_catsv>
and C<sv_catsv_nomg> are implemented in terms of this function.
- void sv_catsv_flags(SV *const dsv, SV *const ssv, const I32 flags)
+ void sv_catsv_flags(SV *const dsv, SV *const ssv,
+ const I32 flags)
=for hackers
Found in file sv.c
@@ -8245,10 +9247,15 @@ X<sv_chop>
Efficient removal of characters from the beginning of the string buffer.
SvPOK(sv) must be true and the C<ptr> must be a pointer to somewhere inside
the string buffer. The C<ptr> becomes the first character of the adjusted
-string. Uses the "OOK hack".
+string. Uses the "OOK hack".
+
Beware: after this function returns, C<ptr> and SvPVX_const(sv) may no longer
refer to the same chunk of data.
+The unfortunate similarity of this function's name to that of Perl's C<chop>
+operator is strictly coincidental. This function works from the left;
+C<chop> works from the right.
+
void sv_chop(SV *const sv, const char *const ptr)
=for hackers
@@ -8258,10 +9265,10 @@ Found in file sv.c
X<sv_clear>
Clear an SV: call any destructors, free up any memory used by the body,
-and free the body itself. The SV's head is I<not> freed, although
+and free the body itself. The SV's head is I<not> freed, although
its type is set to all 1's so that it won't inadvertently be assumed
to be live during global destruction etc.
-This function should only be called when REFCNT is zero. Most of the time
+This function should only be called when REFCNT is zero. Most of the time
you'll want to call C<sv_free()> (or its macro wrapper C<SvREFCNT_dec>)
instead.
@@ -8275,7 +9282,7 @@ X<sv_cmp>
Compares the strings in two SVs. Returns -1, 0, or 1 indicating whether the
string in C<sv1> is less than, equal to, or greater than the string in
-C<sv2>. Is UTF-8 and 'use bytes' aware, handles get magic, and will
+C<sv2>. Is UTF-8 and 'use bytes' aware, handles get magic, and will
coerce its args to strings if necessary. See also C<sv_cmp_locale>.
I32 sv_cmp(SV *const sv1, SV *const sv2)
@@ -8288,11 +9295,12 @@ X<sv_cmp_flags>
Compares the strings in two SVs. Returns -1, 0, or 1 indicating whether the
string in C<sv1> is less than, equal to, or greater than the string in
-C<sv2>. Is UTF-8 and 'use bytes' aware and will coerce its args to strings
-if necessary. If the flags include SV_GMAGIC, it handles get magic. See
+C<sv2>. Is UTF-8 and 'use bytes' aware and will coerce its args to strings
+if necessary. If the flags include SV_GMAGIC, it handles get magic. See
also C<sv_cmp_locale_flags>.
- I32 sv_cmp_flags(SV *const sv1, SV *const sv2, const U32 flags)
+ I32 sv_cmp_flags(SV *const sv1, SV *const sv2,
+ const U32 flags)
=for hackers
Found in file sv.c
@@ -8300,7 +9308,7 @@ Found in file sv.c
=item sv_cmp_locale
X<sv_cmp_locale>
-Compares the strings in two SVs in a locale-aware manner. Is UTF-8 and
+Compares the strings in two SVs in a locale-aware manner. Is UTF-8 and
'use bytes' aware, handles get magic, and will coerce its args to strings
if necessary. See also C<sv_cmp>.
@@ -8312,11 +9320,13 @@ Found in file sv.c
=item sv_cmp_locale_flags
X<sv_cmp_locale_flags>
-Compares the strings in two SVs in a locale-aware manner. Is UTF-8 and
-'use bytes' aware and will coerce its args to strings if necessary. If the
-flags contain SV_GMAGIC, it handles get magic. See also C<sv_cmp_flags>.
+Compares the strings in two SVs in a locale-aware manner. Is UTF-8 and
+'use bytes' aware and will coerce its args to strings if necessary. If the
+flags contain SV_GMAGIC, it handles get magic. See also C<sv_cmp_flags>.
- I32 sv_cmp_locale_flags(SV *const sv1, SV *const sv2, const U32 flags)
+ I32 sv_cmp_locale_flags(SV *const sv1,
+ SV *const sv2,
+ const U32 flags)
=for hackers
Found in file sv.c
@@ -8324,7 +9334,7 @@ Found in file sv.c
=item sv_collxfrm
X<sv_collxfrm>
-This calls C<sv_collxfrm_flags> with the SV_GMAGIC flag. See
+This calls C<sv_collxfrm_flags> with the SV_GMAGIC flag. See
C<sv_collxfrm_flags>.
char* sv_collxfrm(SV *const sv, STRLEN *const nxp)
@@ -8335,7 +9345,7 @@ Found in file sv.c
=item sv_collxfrm_flags
X<sv_collxfrm_flags>
-Add Collate Transform magic to an SV if it doesn't already have it. If the
+Add Collate Transform magic to an SV if it doesn't already have it. If the
flags contain SV_GMAGIC, it handles get-magic.
Any scalar variable may carry PERL_MAGIC_collxfrm magic that contains the
@@ -8343,7 +9353,9 @@ scalar data of the variable, but transformed to such a format that a normal
memory comparison can be used to compare the data according to the locale
settings.
- char* sv_collxfrm_flags(SV *const sv, STRLEN *const nxp, I32 const flags)
+ char* sv_collxfrm_flags(SV *const sv,
+ STRLEN *const nxp,
+ I32 const flags)
=for hackers
Found in file sv.c
@@ -8368,7 +9380,7 @@ Found in file sv.c
X<sv_dec>
Auto-decrement of the value in the SV, doing string to numeric conversion
-if necessary. Handles 'get' magic and operator overloading.
+if necessary. Handles 'get' magic and operator overloading.
void sv_dec(SV *const sv)
@@ -8379,7 +9391,7 @@ Found in file sv.c
X<sv_dec_nomg>
Auto-decrement of the value in the SV, doing string to numeric conversion
-if necessary. Handles operator overloading. Skips handling 'get' magic.
+if necessary. Handles operator overloading. Skips handling 'get' magic.
void sv_dec_nomg(SV *const sv)
@@ -8390,7 +9402,7 @@ Found in file sv.c
X<sv_eq>
Returns a boolean indicating whether the strings in the two SVs are
-identical. Is UTF-8 and 'use bytes' aware, handles get magic, and will
+identical. Is UTF-8 and 'use bytes' aware, handles get magic, and will
coerce its args to strings if necessary.
I32 sv_eq(SV* sv1, SV* sv2)
@@ -8402,8 +9414,8 @@ Found in file sv.c
X<sv_eq_flags>
Returns a boolean indicating whether the strings in the two SVs are
-identical. Is UTF-8 and 'use bytes' aware and coerces its args to strings
-if necessary. If the flags include SV_GMAGIC, it handles get-magic, too.
+identical. Is UTF-8 and 'use bytes' aware and coerces its args to strings
+if necessary. If the flags include SV_GMAGIC, it handles get-magic, too.
I32 sv_eq_flags(SV* sv1, SV* sv2, const U32 flags)
@@ -8416,14 +9428,16 @@ X<sv_force_normal_flags>
Undo various types of fakery on an SV: if the PV is a shared string, make
a private copy; if we're a ref, stop refing; if we're a glob, downgrade to
an xpvmg; if we're a copy-on-write scalar, this is the on-write time when
-we do the copy, and is also used locally. If C<SV_COW_DROP_PV> is set
+we do the copy, and is also used locally. If C<SV_COW_DROP_PV> is set
then a copy-on-write scalar drops its PV buffer (if any) and becomes
-SvPOK_off rather than making a copy. (Used where this scalar is about to be
-set to some other value.) In addition, the C<flags> parameter gets passed to
-C<sv_unref_flags()> when unreffing. C<sv_force_normal> calls this function
+SvPOK_off rather than making a copy. (Used where this
+scalar is about to be set to some other value.) In addition,
+the C<flags> parameter gets passed to C<sv_unref_flags()>
+when unreffing. C<sv_force_normal> calls this function
with flags set to 0.
- void sv_force_normal_flags(SV *const sv, const U32 flags)
+ void sv_force_normal_flags(SV *const sv,
+ const U32 flags)
=for hackers
Found in file sv.c
@@ -8447,7 +9461,8 @@ X<sv_gets>
Get a line from the filehandle and store it into the SV, optionally
appending to the currently-stored string.
- char* sv_gets(SV *const sv, PerlIO *const fp, I32 append)
+ char* sv_gets(SV *const sv, PerlIO *const fp,
+ I32 append)
=for hackers
Found in file sv.c
@@ -8468,7 +9483,7 @@ Found in file sv.c
X<sv_inc>
Auto-increment of the value in the SV, doing string to numeric conversion
-if necessary. Handles 'get' magic and operator overloading.
+if necessary. Handles 'get' magic and operator overloading.
void sv_inc(SV *const sv)
@@ -8479,7 +9494,7 @@ Found in file sv.c
X<sv_inc_nomg>
Auto-increment of the value in the SV, doing string to numeric conversion
-if necessary. Handles operator overloading. Skips handling 'get' magic.
+if necessary. Handles operator overloading. Skips handling 'get' magic.
void sv_inc_nomg(SV *const sv)
@@ -8489,10 +9504,13 @@ Found in file sv.c
=item sv_insert
X<sv_insert>
-Inserts a string at the specified offset/length within the SV. Similar to
-the Perl substr() function. Handles get magic.
+Inserts a string at the specified offset/length within the SV. Similar to
+the Perl substr() function. Handles get magic.
- void sv_insert(SV *const bigstr, const STRLEN offset, const STRLEN len, const char *const little, const STRLEN littlelen)
+ void sv_insert(SV *const bigstr, const STRLEN offset,
+ const STRLEN len,
+ const char *const little,
+ const STRLEN littlelen)
=for hackers
Found in file sv.c
@@ -8500,9 +9518,15 @@ Found in file sv.c
=item sv_insert_flags
X<sv_insert_flags>
-Same as C<sv_insert>, but the extra C<flags> are passed the C<SvPV_force_flags> that applies to C<bigstr>.
+Same as C<sv_insert>, but the extra C<flags> are passed to the
+C<SvPV_force_flags> that applies to C<bigstr>.
- void sv_insert_flags(SV *const bigstr, const STRLEN offset, const STRLEN len, const char *const little, const STRLEN littlelen, const U32 flags)
+ void sv_insert_flags(SV *const bigstr,
+ const STRLEN offset,
+ const STRLEN len,
+ const char *const little,
+ const STRLEN littlelen,
+ const U32 flags)
=for hackers
Found in file sv.c
@@ -8534,7 +9558,7 @@ Found in file sv.c
=item sv_len
X<sv_len>
-Returns the length of the string in the SV. Handles magic and type
+Returns the length of the string in the SV. Handles magic and type
coercion. See also C<SvCUR>, which gives raw access to the xpv_cur slot.
STRLEN sv_len(SV *const sv)
@@ -8546,7 +9570,7 @@ Found in file sv.c
X<sv_len_utf8>
Returns the number of characters in the string in an SV, counting wide
-UTF-8 bytes as a single character. Handles magic and type coercion.
+UTF-8 bytes as a single character. Handles magic and type coercion.
STRLEN sv_len_utf8(SV *const sv)
@@ -8556,8 +9580,9 @@ Found in file sv.c
=item sv_magic
X<sv_magic>
-Adds magic to an SV. First upgrades C<sv> to type C<SVt_PVMG> if necessary,
-then adds a new magic item of type C<how> to the head of the magic list.
+Adds magic to an SV. First upgrades C<sv> to type C<SVt_PVMG> if
+necessary, then adds a new magic item of type C<how> to the head of the
+magic list.
See C<sv_magicext> (which C<sv_magic> now calls) for a description of the
handling of the C<name> and C<namlen> arguments.
@@ -8565,7 +9590,9 @@ handling of the C<name> and C<namlen> arguments.
You need to use C<sv_magicext> to add magic to SvREADONLY SVs and also
to add more than one instance of the same 'how'.
- void sv_magic(SV *const sv, SV *const obj, const int how, const char *const name, const I32 namlen)
+ void sv_magic(SV *const sv, SV *const obj,
+ const int how, const char *const name,
+ const I32 namlen)
=for hackers
Found in file sv.c
@@ -8573,7 +9600,7 @@ Found in file sv.c
=item sv_magicext
X<sv_magicext>
-Adds magic to an SV, upgrading it if necessary. Applies the
+Adds magic to an SV, upgrading it if necessary. Applies the
supplied vtable and returns a pointer to the magic added.
Note that C<sv_magicext> will allow things that C<sv_magic> will not.
@@ -8587,7 +9614,11 @@ to contain an C<SV*> and is stored as-is with its REFCNT incremented.
(This is now used as a subroutine by C<sv_magic>.)
- MAGIC * sv_magicext(SV *const sv, SV *const obj, const int how, const MGVTBL *const vtbl, const char *const name, const I32 namlen)
+ MAGIC * sv_magicext(SV *const sv, SV *const obj,
+ const int how,
+ const MGVTBL *const vtbl,
+ const char *const name,
+ const I32 namlen)
=for hackers
Found in file sv.c
@@ -8596,7 +9627,7 @@ Found in file sv.c
X<sv_mortalcopy>
Creates a new SV which is a copy of the original SV (using C<sv_setsv>).
-The new SV is marked as mortal. It will be destroyed "soon", either by an
+The new SV is marked as mortal. It will be destroyed "soon", either by an
explicit call to FREETMPS, or by an implicit call at places such as
statement boundaries. See also C<sv_newmortal> and C<sv_2mortal>.
@@ -8609,7 +9640,7 @@ Found in file sv.c
X<sv_newmortal>
Creates a new null SV which is mortal. The reference count of the SV is
-set to 1. It will be destroyed "soon", either by an explicit call to
+set to 1. It will be destroyed "soon", either by an explicit call to
FREETMPS, or by an implicit call at places such as statement boundaries.
See also C<sv_mortalcopy> and C<sv_2mortal>.
@@ -8621,7 +9652,7 @@ Found in file sv.c
=item sv_newref
X<sv_newref>
-Increment an SV's reference count. Use the C<SvREFCNT_inc()> wrapper
+Increment an SV's reference count. Use the C<SvREFCNT_inc()> wrapper
instead.
SV* sv_newref(SV *const sv)
@@ -8647,13 +9678,14 @@ X<sv_pos_u2b>
Converts the value pointed to by offsetp from a count of UTF-8 chars from
the start of the string, to a count of the equivalent number of bytes; if
lenp is non-zero, it does the same to lenp, but this time starting from
-the offset, rather than from the start of the string. Handles magic and
+the offset, rather than from the start of the string. Handles magic and
type coercion.
Use C<sv_pos_u2b_flags> in preference, which correctly handles strings longer
than 2Gb.
- void sv_pos_u2b(SV *const sv, I32 *const offsetp, I32 *const lenp)
+ void sv_pos_u2b(SV *const sv, I32 *const offsetp,
+ I32 *const lenp)
=for hackers
Found in file sv.c
@@ -8664,11 +9696,13 @@ X<sv_pos_u2b_flags>
Converts the value pointed to by offsetp from a count of UTF-8 chars from
the start of the string, to a count of the equivalent number of bytes; if
lenp is non-zero, it does the same to lenp, but this time starting from
-the offset, rather than from the start of the string. Handles type coercion.
+the offset, rather than from the start
+of the string. Handles type coercion.
I<flags> is passed to C<SvPV_flags>, and usually should be
C<SV_GMAGIC|SV_CONST_RETURN> to handle magic.
- STRLEN sv_pos_u2b_flags(SV *const sv, STRLEN uoffset, STRLEN *const lenp, U32 flags)
+ STRLEN sv_pos_u2b_flags(SV *const sv, STRLEN uoffset,
+ STRLEN *const lenp, U32 flags)
=for hackers
Found in file sv.c
@@ -8676,7 +9710,8 @@ Found in file sv.c
=item sv_pvbyten_force
X<sv_pvbyten_force>
-The backend for the C<SvPVbytex_force> macro. Always use the macro instead.
+The backend for the C<SvPVbytex_force> macro. Always use the macro
+instead.
char* sv_pvbyten_force(SV *const sv, STRLEN *const lp)
@@ -8688,7 +9723,7 @@ X<sv_pvn_force>
Get a sensible string out of the SV somehow.
A private implementation of the C<SvPV_force> macro for compilers which
-can't cope with complex macro expressions. Always use the macro instead.
+can't cope with complex macro expressions. Always use the macro instead.
char* sv_pvn_force(SV* sv, STRLEN* lp)
@@ -8700,12 +9735,14 @@ X<sv_pvn_force_flags>
Get a sensible string out of the SV somehow.
If C<flags> has C<SV_GMAGIC> bit set, will C<mg_get> on C<sv> if
-appropriate, else not. C<sv_pvn_force> and C<sv_pvn_force_nomg> are
+appropriate, else not. C<sv_pvn_force> and C<sv_pvn_force_nomg> are
implemented in terms of this function.
You normally want to use the various wrapper macros instead: see
C<SvPV_force> and C<SvPV_force_nomg>
- char* sv_pvn_force_flags(SV *const sv, STRLEN *const lp, const I32 flags)
+ char* sv_pvn_force_flags(SV *const sv,
+ STRLEN *const lp,
+ const I32 flags)
=for hackers
Found in file sv.c
@@ -8713,7 +9750,8 @@ Found in file sv.c
=item sv_pvutf8n_force
X<sv_pvutf8n_force>
-The backend for the C<SvPVutf8x_force> macro. Always use the macro instead.
+The backend for the C<SvPVutf8x_force> macro. Always use the macro
+instead.
char* sv_pvutf8n_force(SV *const sv, STRLEN *const lp)
@@ -8725,7 +9763,7 @@ X<sv_reftype>
Returns a string describing what the SV is a reference to.
- const char* sv_reftype(const SV *const sv, const int ob)
+ const char* sv_reftype(const SV *const sv, const int ob)
=for hackers
Found in file sv.c
@@ -8762,7 +9800,7 @@ X<sv_rvweaken>
Weaken a reference: set the C<SvWEAKREF> flag on this RV; give the
referred-to SV C<PERL_MAGIC_backref> magic if it hasn't already; and
push a back-reference to this RV onto the array of backreferences
-associated with that magic. If the RV is magical, set magic will be
+associated with that magic. If the RV is magical, set magic will be
called after the RV is cleared.
SV* sv_rvweaken(SV *const sv)
@@ -8829,7 +9867,8 @@ X<sv_setpvf>
Works like C<sv_catpvf> but copies the text into the SV instead of
appending it. Does not handle 'set' magic. See C<sv_setpvf_mg>.
- void sv_setpvf(SV *const sv, const char *const pat, ...)
+ void sv_setpvf(SV *const sv, const char *const pat,
+ ...)
=for hackers
Found in file sv.c
@@ -8839,7 +9878,8 @@ X<sv_setpvf_mg>
Like C<sv_setpvf>, but also handles 'set' magic.
- void sv_setpvf_mg(SV *const sv, const char *const pat, ...)
+ void sv_setpvf_mg(SV *const sv,
+ const char *const pat, ...)
=for hackers
Found in file sv.c
@@ -8872,7 +9912,8 @@ Copies a string into an SV. The C<len> parameter indicates the number of
bytes to be copied. If the C<ptr> argument is NULL the SV will become
undefined. Does not handle 'set' magic. See C<sv_setpvn_mg>.
- void sv_setpvn(SV *const sv, const char *const ptr, const STRLEN len)
+ void sv_setpvn(SV *const sv, const char *const ptr,
+ const STRLEN len)
=for hackers
Found in file sv.c
@@ -8882,7 +9923,9 @@ X<sv_setpvn_mg>
Like C<sv_setpvn>, but also handles 'set' magic.
- void sv_setpvn_mg(SV *const sv, const char *const ptr, const STRLEN len)
+ void sv_setpvn_mg(SV *const sv,
+ const char *const ptr,
+ const STRLEN len)
=for hackers
Found in file sv.c
@@ -8927,7 +9970,9 @@ the new SV. The C<classname> argument indicates the package for the
blessing. Set C<classname> to C<NULL> to avoid the blessing. The new SV
will have a reference count of 1, and the RV will be returned.
- SV* sv_setref_iv(SV *const rv, const char *const classname, const IV iv)
+ SV* sv_setref_iv(SV *const rv,
+ const char *const classname,
+ const IV iv)
=for hackers
Found in file sv.c
@@ -8941,7 +9986,9 @@ the new SV. The C<classname> argument indicates the package for the
blessing. Set C<classname> to C<NULL> to avoid the blessing. The new SV
will have a reference count of 1, and the RV will be returned.
- SV* sv_setref_nv(SV *const rv, const char *const classname, const NV nv)
+ SV* sv_setref_nv(SV *const rv,
+ const char *const classname,
+ const NV nv)
=for hackers
Found in file sv.c
@@ -8961,7 +10008,9 @@ objects will become corrupted by the pointer copy process.
Note that C<sv_setref_pvn> copies the string while this copies the pointer.
- SV* sv_setref_pv(SV *const rv, const char *const classname, void *const pv)
+ SV* sv_setref_pv(SV *const rv,
+ const char *const classname,
+ void *const pv)
=for hackers
Found in file sv.c
@@ -8978,7 +10027,10 @@ of 1, and the RV will be returned.
Note that C<sv_setref_pv> copies the pointer while this copies the string.
- SV* sv_setref_pvn(SV *const rv, const char *const classname, const char *const pv, const STRLEN n)
+ SV* sv_setref_pvn(SV *const rv,
+ const char *const classname,
+ const char *const pv,
+ const STRLEN n)
=for hackers
Found in file sv.c
@@ -9003,7 +10055,9 @@ the new SV. The C<classname> argument indicates the package for the
blessing. Set C<classname> to C<NULL> to avoid the blessing. The new SV
will have a reference count of 1, and the RV will be returned.
- SV* sv_setref_uv(SV *const rv, const char *const classname, const UV uv)
+ SV* sv_setref_uv(SV *const rv,
+ const char *const classname,
+ const UV uv)
=for hackers
Found in file sv.c
@@ -9013,7 +10067,7 @@ X<sv_setsv>
Copies the contents of the source SV C<ssv> into the destination SV
C<dsv>. The source SV may be destroyed if it is mortal, so don't use this
-function if the source SV needs to be reused. Does not handle 'set' magic.
+function if the source SV needs to be reused. Does not handle 'set' magic.
Loosely speaking, it performs a copy-by-value, obliterating any previous
content of the destination.
@@ -9031,12 +10085,13 @@ X<sv_setsv_flags>
Copies the contents of the source SV C<ssv> into the destination SV
C<dsv>. The source SV may be destroyed if it is mortal, so don't use this
-function if the source SV needs to be reused. Does not handle 'set' magic.
+function if the source SV needs to be reused. Does not handle 'set' magic.
Loosely speaking, it performs a copy-by-value, obliterating any previous
content of the destination.
If the C<flags> parameter has the C<SV_GMAGIC> bit set, will C<mg_get> on
-C<ssv> if appropriate, else not. If the C<flags> parameter has the
-C<NOSTEAL> bit set then the buffers of temps will not be stolen. <sv_setsv>
+C<ssv> if appropriate, else not. If the C<flags>
+parameter has the C<NOSTEAL> bit set then the
+buffers of temps will not be stolen. <sv_setsv>
and C<sv_setsv_nomg> are implemented in terms of this function.
You probably want to use one of the assortment of wrappers, such as
@@ -9046,7 +10101,8 @@ C<SvSetMagicSV_nosteal>.
This is the primary function for copying scalars, and most other
copy-ish functions and macros use this underneath.
- void sv_setsv_flags(SV *dstr, SV *sstr, const I32 flags)
+ void sv_setsv_flags(SV *dstr, SV *sstr,
+ const I32 flags)
=for hackers
Found in file sv.c
@@ -9085,7 +10141,8 @@ Found in file sv.c
=item sv_tainted
X<sv_tainted>
-Test an SV for taintedness. Use C<SvTAINTED> instead.
+Test an SV for taintedness. Use C<SvTAINTED> instead.
+
bool sv_tainted(SV *const sv)
=for hackers
@@ -9118,7 +10175,8 @@ X<sv_unmagicext>
Removes all magic of type C<type> with the specified C<vtbl> from an SV.
- int sv_unmagicext(SV *const sv, const int type, MGVTBL *vtbl)
+ int sv_unmagicext(SV *const sv, const int type,
+ MGVTBL *vtbl)
=for hackers
Found in file sv.c
@@ -9142,7 +10200,8 @@ Found in file sv.c
=item sv_untaint
X<sv_untaint>
-Untaint an SV. Use C<SvTAINTED_off> instead.
+Untaint an SV. Use C<SvTAINTED_off> instead.
+
void sv_untaint(SV *const sv)
=for hackers
@@ -9153,7 +10212,10 @@ X<sv_upgrade>
Upgrade an SV to a more complex form. Generally adds a new body type to the
SV, then copies across as much information as possible from the old body.
-You generally want to use the C<SvUPGRADE> macro wrapper. See also C<svtype>.
+It croaks if the SV is already in a more complex form than requested. You
+generally want to use the C<SvUPGRADE> macro wrapper, which checks the type
+before calling C<sv_upgrade>, and hence does not croak. See also
+C<svtype>.
void sv_upgrade(SV *const sv, svtype new_type)
@@ -9166,18 +10228,22 @@ X<sv_usepvn_flags>
Tells an SV to use C<ptr> to find its string value. Normally the
string is stored inside the SV but sv_usepvn allows the SV to use an
outside string. The C<ptr> should point to memory that was allocated
-by C<malloc>. The string length, C<len>, must be supplied. By default
+by C<malloc>. It must be the start of a mallocked block
+of memory, and not a pointer to the middle of it. The
+string length, C<len>, must be supplied. By default
this function will realloc (i.e. move) the memory pointed to by C<ptr>,
so that pointer should not be freed or used by the programmer after
giving it to sv_usepvn, and neither should any pointers from "behind"
that pointer (e.g. ptr + 1) be used.
-If C<flags> & SV_SMAGIC is true, will call SvSETMAGIC. If C<flags> &
+If C<flags> & SV_SMAGIC is true, will call SvSETMAGIC. If C<flags> &
SV_HAS_TRAILING_NUL is true, then C<ptr[len]> must be NUL, and the realloc
-will be skipped. (i.e. the buffer is actually at least 1 byte longer than
-C<len>, and already meets the requirements for storing in C<SvPVX>)
+will be skipped (i.e. the buffer is actually at least 1 byte longer than
+C<len>, and already meets the requirements for storing in C<SvPVX>).
- void sv_usepvn_flags(SV *const sv, char* ptr, const STRLEN len, const U32 flags)
+ void sv_usepvn_flags(SV *const sv, char* ptr,
+ const STRLEN len,
+ const U32 flags)
=for hackers
Found in file sv.c
@@ -9187,8 +10253,8 @@ X<sv_utf8_decode>
If the PV of the SV is an octet sequence in UTF-8
and contains a multiple-byte character, the C<SvUTF8> flag is turned on
-so that it looks like a character. If the PV contains only single-byte
-characters, the C<SvUTF8> flag stays being off.
+so that it looks like a character. If the PV contains only single-byte
+characters, the C<SvUTF8> flag stays off.
Scans PV for validity and returns false if the PV is invalid UTF-8.
NOTE: this function is experimental and may change or be
@@ -9214,7 +10280,8 @@ use the Encode extension for that.
NOTE: this function is experimental and may change or be
removed without notice.
- bool sv_utf8_downgrade(SV *const sv, const bool fail_ok)
+ bool sv_utf8_downgrade(SV *const sv,
+ const bool fail_ok)
=for hackers
Found in file sv.c
@@ -9254,7 +10321,8 @@ X<sv_utf8_upgrade_flags>
Converts the PV of an SV to its UTF-8-encoded form.
Forces the SV to string form if it is not already.
Always sets the SvUTF8 flag to avoid future validity checks even
-if all the bytes are invariant in UTF-8. If C<flags> has C<SV_GMAGIC> bit set,
+if all the bytes are invariant in UTF-8.
+If C<flags> has C<SV_GMAGIC> bit set,
will C<mg_get> on C<sv> if appropriate, else not.
Returns the number of bytes in the converted string
C<sv_utf8_upgrade> and
@@ -9263,7 +10331,8 @@ C<sv_utf8_upgrade_nomg> are implemented in terms of this function.
This is not as a general purpose byte encoding to Unicode interface:
use the Encode extension for that.
- STRLEN sv_utf8_upgrade_flags(SV *const sv, const I32 flags)
+ STRLEN sv_utf8_upgrade_flags(SV *const sv,
+ const I32 flags)
=for hackers
Found in file sv.c
@@ -9271,7 +10340,7 @@ Found in file sv.c
=item sv_utf8_upgrade_nomg
X<sv_utf8_upgrade_nomg>
-Like sv_utf8_upgrade, but doesn't do magic on C<sv>
+Like sv_utf8_upgrade, but doesn't do magic on C<sv>.
STRLEN sv_utf8_upgrade_nomg(SV *sv)
@@ -9286,7 +10355,8 @@ to an SV. Does not handle 'set' magic. See C<sv_vcatpvf_mg>.
Usually used via its frontend C<sv_catpvf>.
- void sv_vcatpvf(SV *const sv, const char *const pat, va_list *const args)
+ void sv_vcatpvf(SV *const sv, const char *const pat,
+ va_list *const args)
=for hackers
Found in file sv.c
@@ -9302,7 +10372,11 @@ locales).
Usually used via one of its frontends C<sv_vcatpvf> and C<sv_vcatpvf_mg>.
- void sv_vcatpvfn(SV *const sv, const char *const pat, const STRLEN patlen, va_list *const args, SV **const svargs, const I32 svmax, bool *const maybe_tainted)
+ void sv_vcatpvfn(SV *const sv, const char *const pat,
+ const STRLEN patlen,
+ va_list *const args,
+ SV **const svargs, const I32 svmax,
+ bool *const maybe_tainted)
=for hackers
Found in file sv.c
@@ -9314,7 +10388,9 @@ Like C<sv_vcatpvf>, but also handles 'set' magic.
Usually used via its frontend C<sv_catpvf_mg>.
- void sv_vcatpvf_mg(SV *const sv, const char *const pat, va_list *const args)
+ void sv_vcatpvf_mg(SV *const sv,
+ const char *const pat,
+ va_list *const args)
=for hackers
Found in file sv.c
@@ -9327,7 +10403,8 @@ appending it. Does not handle 'set' magic. See C<sv_vsetpvf_mg>.
Usually used via its frontend C<sv_setpvf>.
- void sv_vsetpvf(SV *const sv, const char *const pat, va_list *const args)
+ void sv_vsetpvf(SV *const sv, const char *const pat,
+ va_list *const args)
=for hackers
Found in file sv.c
@@ -9340,7 +10417,11 @@ appending it.
Usually used via one of its frontends C<sv_vsetpvf> and C<sv_vsetpvf_mg>.
- void sv_vsetpvfn(SV *const sv, const char *const pat, const STRLEN patlen, va_list *const args, SV **const svargs, const I32 svmax, bool *const maybe_tainted)
+ void sv_vsetpvfn(SV *const sv, const char *const pat,
+ const STRLEN patlen,
+ va_list *const args,
+ SV **const svargs, const I32 svmax,
+ bool *const maybe_tainted)
=for hackers
Found in file sv.c
@@ -9352,7 +10433,9 @@ Like C<sv_vsetpvf>, but also handles 'set' magic.
Usually used via its frontend C<sv_setpvf_mg>.
- void sv_vsetpvf_mg(SV *const sv, const char *const pat, va_list *const args)
+ void sv_vsetpvf_mg(SV *const sv,
+ const char *const pat,
+ va_list *const args)
=for hackers
Found in file sv.c
@@ -9367,8 +10450,8 @@ Found in file sv.c
=item bytes_cmp_utf8
X<bytes_cmp_utf8>
-Compares the sequence of characters (stored as octets) in b, blen with the
-sequence of characters (stored as UTF-8) in u, ulen. Returns 0 if they are
+Compares the sequence of characters (stored as octets) in C<b>, C<blen> with the
+sequence of characters (stored as UTF-8) in C<u>, C<ulen>. Returns 0 if they are
equal, -1 or -2 if the first string is less than the second string, +1 or +2
if the first string is greater than the second string.
@@ -9376,7 +10459,8 @@ if the first string is greater than the second string.
longer string. -2 or +2 is returned if the was a difference between characters
within the strings.
- int bytes_cmp_utf8(const U8 *b, STRLEN blen, const U8 *u, STRLEN ulen)
+ int bytes_cmp_utf8(const U8 *b, STRLEN blen,
+ const U8 *u, STRLEN ulen)
=for hackers
Found in file utf8.c
@@ -9385,7 +10469,7 @@ Found in file utf8.c
X<bytes_from_utf8>
Converts a string C<s> of length C<len> from UTF-8 into native byte encoding.
-Unlike C<utf8_to_bytes> but like C<bytes_to_utf8>, returns a pointer to
+Unlike L</utf8_to_bytes> but like L</bytes_to_utf8>, returns a pointer to
the newly-created string, and updates C<len> to contain the new
length. Returns the original string if no conversion occurs, C<len>
is unchanged. Do nothing if C<is_utf8> points to 0. Sets C<is_utf8> to
@@ -9395,7 +10479,8 @@ in utf8 (i.e., US-ASCII on non-EBCDIC machines).
NOTE: this function is experimental and may change or be
removed without notice.
- U8* bytes_from_utf8(const U8 *s, STRLEN *len, bool *is_utf8)
+ U8* bytes_from_utf8(const U8 *s, STRLEN *len,
+ bool *is_utf8)
=for hackers
Found in file utf8.c
@@ -9412,7 +10497,7 @@ A NUL character will be written after the end of the string.
If you want to convert to UTF-8 from encodings other than
the native (Latin1 or EBCDIC),
-see sv_recode_to_utf8().
+see L</sv_recode_to_utf8>().
NOTE: this function is experimental and may change or be
removed without notice.
@@ -9425,42 +10510,46 @@ Found in file utf8.c
=item foldEQ_utf8
X<foldEQ_utf8>
-Returns true if the leading portions of the strings s1 and s2 (either or both
+Returns true if the leading portions of the strings C<s1> and C<s2> (either or both
of which may be in UTF-8) are the same case-insensitively; false otherwise.
How far into the strings to compare is determined by other input parameters.
-If u1 is true, the string s1 is assumed to be in UTF-8-encoded Unicode;
-otherwise it is assumed to be in native 8-bit encoding. Correspondingly for u2
-with respect to s2.
+If C<u1> is true, the string C<s1> is assumed to be in UTF-8-encoded Unicode;
+otherwise it is assumed to be in native 8-bit encoding. Correspondingly for C<u2>
+with respect to C<s2>.
-If the byte length l1 is non-zero, it says how far into s1 to check for fold
-equality. In other words, s1+l1 will be used as a goal to reach. The
+If the byte length C<l1> is non-zero, it says how far into C<s1> to check for fold
+equality. In other words, C<s1>+C<l1> will be used as a goal to reach. The
scan will not be considered to be a match unless the goal is reached, and
-scanning won't continue past that goal. Correspondingly for l2 with respect to
-s2.
-
-If pe1 is non-NULL and the pointer it points to is not NULL, that pointer is
-considered an end pointer beyond which scanning of s1 will not continue under
-any circumstances. This means that if both l1 and pe1 are specified, and pe1
-is less than s1+l1, the match will never be successful because it can never
+scanning won't continue past that goal. Correspondingly for C<l2> with respect to
+C<s2>.
+
+If C<pe1> is non-NULL and the pointer it points to is not NULL, that pointer is
+considered an end pointer beyond which scanning of C<s1> will not continue under
+any circumstances. This means that if both C<l1> and C<pe1> are specified, and
+C<pe1>
+is less than C<s1>+C<l1>, the match will never be successful because it can
+never
get as far as its goal (and in fact is asserted against). Correspondingly for
-pe2 with respect to s2.
+C<pe2> with respect to C<s2>.
-At least one of s1 and s2 must have a goal (at least one of l1 and l2 must be
-non-zero), and if both do, both have to be
+At least one of C<s1> and C<s2> must have a goal (at least one of C<l1> and
+C<l2> must be non-zero), and if both do, both have to be
reached for a successful match. Also, if the fold of a character is multiple
characters, all of them must be matched (see tr21 reference below for
'folding').
-Upon a successful match, if pe1 is non-NULL,
-it will be set to point to the beginning of the I<next> character of s1 beyond
-what was matched. Correspondingly for pe2 and s2.
+Upon a successful match, if C<pe1> is non-NULL,
+it will be set to point to the beginning of the I<next> character of C<s1>
+beyond what was matched. Correspondingly for C<pe2> and C<s2>.
For case-insensitiveness, the "casefolding" of Unicode is used
instead of upper/lowercasing both the characters, see
-http://www.unicode.org/unicode/reports/tr21/ (Case Mappings).
+L<http://www.unicode.org/unicode/reports/tr21/> (Case Mappings).
- I32 foldEQ_utf8(const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2)
+ I32 foldEQ_utf8(const char *s1, char **pe1, UV l1,
+ bool u1, const char *s2, char **pe2,
+ UV l2, bool u2)
=for hackers
Found in file utf8.c
@@ -9468,14 +10557,14 @@ Found in file utf8.c
=item is_ascii_string
X<is_ascii_string>
-Returns true if the first C<len> bytes of the given string are the same whether
+Returns true if the first C<len> bytes of the string C<s> are the same whether
or not the string is encoded in UTF-8 (or UTF-EBCDIC on EBCDIC machines). That
is, if they are invariant. On ASCII-ish machines, only ASCII characters
fit this definition, hence the function's name.
If C<len> is 0, it will be calculated using C<strlen(s)>.
-See also is_utf8_string(), is_utf8_string_loclen(), and is_utf8_string_loc().
+See also L</is_utf8_string>(), L</is_utf8_string_loclen>(), and L</is_utf8_string_loc>().
bool is_ascii_string(const U8 *s, STRLEN len)
@@ -9485,26 +10574,49 @@ Found in file utf8.c
=item is_utf8_char
X<is_utf8_char>
+DEPRECATED!
+
Tests if some arbitrary number of bytes begins in a valid UTF-8
character. Note that an INVARIANT (i.e. ASCII on non-EBCDIC machines)
character is a valid UTF-8 character. The actual number of bytes in the UTF-8
character will be returned if it is valid, otherwise 0.
+This function is deprecated due to the possibility that malformed input could
+cause reading beyond the end of the input buffer. Use L</is_utf8_char_buf>
+instead.
+
STRLEN is_utf8_char(const U8 *s)
=for hackers
Found in file utf8.c
+=item is_utf8_char_buf
+X<is_utf8_char_buf>
+
+Returns the number of bytes that comprise the first UTF-8 encoded character in
+buffer C<buf>. C<buf_end> should point to one position beyond the end of the
+buffer. 0 is returned if C<buf> does not point to a complete, valid UTF-8
+encoded character.
+
+Note that an INVARIANT character (i.e. ASCII on non-EBCDIC
+machines) is a valid UTF-8 character.
+
+ STRLEN is_utf8_char_buf(const U8 *buf,
+ const U8 *buf_end)
+
+=for hackers
+Found in file utf8.c
+
=item is_utf8_string
X<is_utf8_string>
-Returns true if first C<len> bytes of the given string form a valid
+Returns true if the first C<len> bytes of string C<s> form a valid
UTF-8 string, false otherwise. If C<len> is 0, it will be calculated
-using C<strlen(s)>. Note that 'a valid UTF-8 string' does not mean 'a
-string that contains code points above 0x7F encoded in UTF-8' because a
-valid ASCII string is a valid UTF-8 string.
+using C<strlen(s)> (which means if you use this option, that C<s> has to have a
+terminating NUL byte). Note that all characters being ASCII constitute 'a
+valid UTF-8 string'.
-See also is_ascii_string(), is_utf8_string_loclen(), and is_utf8_string_loc().
+See also L</is_ascii_string>(), L</is_utf8_string_loclen>(), and L</is_utf8_string_loc>().
bool is_utf8_string(const U8 *s, STRLEN len)
@@ -9514,13 +10626,14 @@ Found in file utf8.c
=item is_utf8_string_loc
X<is_utf8_string_loc>
-Like is_utf8_string() but stores the location of the failure (in the
-case of "utf8ness failure") or the location s+len (in the case of
+Like L</is_utf8_string> but stores the location of the failure (in the
+case of "utf8ness failure") or the location C<s>+C<len> (in the case of
"utf8ness success") in the C<ep>.
-See also is_utf8_string_loclen() and is_utf8_string().
+See also L</is_utf8_string_loclen>() and L</is_utf8_string>().
- bool is_utf8_string_loc(const U8 *s, STRLEN len, const U8 **p)
+ bool is_utf8_string_loc(const U8 *s, STRLEN len,
+ const U8 **p)
=for hackers
Found in file utf8.c
@@ -9528,14 +10641,15 @@ Found in file utf8.c
=item is_utf8_string_loclen
X<is_utf8_string_loclen>
-Like is_utf8_string() but stores the location of the failure (in the
-case of "utf8ness failure") or the location s+len (in the case of
+Like L</is_utf8_string>() but stores the location of the failure (in the
+case of "utf8ness failure") or the location C<s>+C<len> (in the case of
"utf8ness success") in the C<ep>, and the number of UTF-8
encoded characters in the C<el>.
-See also is_utf8_string_loc() and is_utf8_string().
+See also L</is_utf8_string_loc>() and L</is_utf8_string>().
- bool is_utf8_string_loclen(const U8 *s, STRLEN len, const U8 **ep, STRLEN *el)
+ bool is_utf8_string_loclen(const U8 *s, STRLEN len,
+ const U8 **ep, STRLEN *el)
=for hackers
Found in file utf8.c
@@ -9543,20 +10657,22 @@ Found in file utf8.c
=item pv_uni_display
X<pv_uni_display>
-Build to the scalar dsv a displayable version of the string spv,
-length len, the displayable version being at most pvlim bytes long
+Build to the scalar C<dsv> a displayable version of the string C<spv>,
+length C<len>, the displayable version being at most C<pvlim> bytes long
(if longer, the rest is truncated and "..." will be appended).
-The flags argument can have UNI_DISPLAY_ISPRINT set to display
+The C<flags> argument can have UNI_DISPLAY_ISPRINT set to display
isPRINT()able characters as themselves, UNI_DISPLAY_BACKSLASH
to display the \\[nrfta\\] as the backslashed versions (like '\n')
(UNI_DISPLAY_BACKSLASH is preferred over UNI_DISPLAY_ISPRINT for \\).
UNI_DISPLAY_QQ (and its alias UNI_DISPLAY_REGEX) have both
UNI_DISPLAY_BACKSLASH and UNI_DISPLAY_ISPRINT turned on.
-The pointer to the PV of the dsv is returned.
+The pointer to the PV of the C<dsv> is returned.
- char* pv_uni_display(SV *dsv, const U8 *spv, STRLEN len, STRLEN pvlim, UV flags)
+ char* pv_uni_display(SV *dsv, const U8 *spv,
+ STRLEN len, STRLEN pvlim,
+ UV flags)
=for hackers
Found in file utf8.c
@@ -9569,12 +10685,13 @@ assumed to be octets in that encoding and decoding the input starts
from the position which (PV + *offset) pointed to. The dsv will be
concatenated the decoded UTF-8 string from ssv. Decoding will terminate
when the string tstr appears in decoding output or the input ends on
-the PV of the ssv. The value which the offset points will be modified
+the PV of the ssv. The value which the offset points will be modified
to the last input position on the ssv.
Returns TRUE if the terminator was found, else returns FALSE.
- bool sv_cat_decode(SV* dsv, SV *encoding, SV *ssv, int *offset, char* tstr, int tlen)
+ bool sv_cat_decode(SV* dsv, SV *encoding, SV *ssv,
+ int *offset, char* tstr, int tlen)
=for hackers
Found in file sv.c
@@ -9589,7 +10706,7 @@ will be converted into Unicode (and UTF-8).
If the sv already is UTF-8 (or if it is not POK), or if the encoding
is not a reference, nothing is done to the sv. If the encoding is not
an C<Encode::XS> Encoding object, bad things will happen.
-(See F<lib/encoding.pm> and L<Encode>).
+(See F<lib/encoding.pm> and L<Encode>.)
The PV of the sv is returned.
@@ -9601,15 +10718,16 @@ Found in file sv.c
=item sv_uni_display
X<sv_uni_display>
-Build to the scalar dsv a displayable version of the scalar sv,
-the displayable version being at most pvlim bytes long
+Build to the scalar C<dsv> a displayable version of the scalar C<sv>,
+the displayable version being at most C<pvlim> bytes long
(if longer, the rest is truncated and "..." will be appended).
-The flags argument is as in pv_uni_display().
+The C<flags> argument is as in L</pv_uni_display>().
-The pointer to the PV of the dsv is returned.
+The pointer to the PV of the C<dsv> is returned.
- char* sv_uni_display(SV *dsv, SV *ssv, STRLEN pvlim, UV flags)
+ char* sv_uni_display(SV *dsv, SV *ssv, STRLEN pvlim,
+ UV flags)
=for hackers
Found in file utf8.c
@@ -9617,27 +10735,31 @@ Found in file utf8.c
=item to_utf8_case
X<to_utf8_case>
-The "p" contains the pointer to the UTF-8 string encoding
-the character that is being converted.
+The C<p> contains the pointer to the UTF-8 string encoding
+the character that is being converted. This routine assumes that the character
+at C<p> is well-formed.
-The "ustrp" is a pointer to the character buffer to put the
-conversion result to. The "lenp" is a pointer to the length
+The C<ustrp> is a pointer to the character buffer to put the
+conversion result to. The C<lenp> is a pointer to the length
of the result.
-The "swashp" is a pointer to the swash to use.
+The C<swashp> is a pointer to the swash to use.
-Both the special and normal mappings are stored in lib/unicore/To/Foo.pl,
-and loaded by SWASHNEW, using lib/utf8_heavy.pl. The special (usually,
+Both the special and normal mappings are stored in F<lib/unicore/To/Foo.pl>,
+and loaded by SWASHNEW, using F<lib/utf8_heavy.pl>. The C<special> (usually,
but not always, a multicharacter mapping), is tried first.
-The "special" is a string like "utf8::ToSpecLower", which means the
+The C<special> is a string like "utf8::ToSpecLower", which means the
hash %utf8::ToSpecLower. The access to the hash is through
Perl_to_utf8_case().
-The "normal" is a string like "ToLower" which means the swash
+The C<normal> is a string like "ToLower" which means the swash
%utf8::ToLower.
- UV to_utf8_case(const U8 *p, U8* ustrp, STRLEN *lenp, SV **swashp, const char *normal, const char *special)
+ UV to_utf8_case(const U8 *p, U8* ustrp,
+ STRLEN *lenp, SV **swashp,
+ const char *normal,
+ const char *special)
=for hackers
Found in file utf8.c
@@ -9645,16 +10767,19 @@ Found in file utf8.c
=item to_utf8_fold
X<to_utf8_fold>
-Convert the UTF-8 encoded character at p to its foldcase version and
-store that in UTF-8 in ustrp and its length in bytes in lenp. Note
-that the ustrp needs to be at least UTF8_MAXBYTES_CASE+1 bytes since the
+Convert the UTF-8 encoded character at C<p> to its foldcase version and
+store that in UTF-8 in C<ustrp> and its length in bytes in C<lenp>. Note
+that the C<ustrp> needs to be at least UTF8_MAXBYTES_CASE+1 bytes since the
foldcase version may be longer than the original character (up to
three characters).
The first character of the foldcased version is returned
(but note, as explained above, that there may be more.)
- UV to_utf8_fold(const U8 *p, U8* ustrp, STRLEN *lenp)
+The character at C<p> is assumed by this routine to be well-formed.
+
+ UV to_utf8_fold(const U8 *p, U8* ustrp,
+ STRLEN *lenp)
=for hackers
Found in file utf8.c
@@ -9662,15 +10787,18 @@ Found in file utf8.c
=item to_utf8_lower
X<to_utf8_lower>
-Convert the UTF-8 encoded character at p to its lowercase version and
-store that in UTF-8 in ustrp and its length in bytes in lenp. Note
-that the ustrp needs to be at least UTF8_MAXBYTES_CASE+1 bytes since the
+Convert the UTF-8 encoded character at C<p> to its lowercase version and
+store that in UTF-8 in ustrp and its length in bytes in C<lenp>. Note
+that the C<ustrp> needs to be at least UTF8_MAXBYTES_CASE+1 bytes since the
lowercase version may be longer than the original character.
The first character of the lowercased version is returned
(but note, as explained above, that there may be more.)
- UV to_utf8_lower(const U8 *p, U8* ustrp, STRLEN *lenp)
+The character at C<p> is assumed by this routine to be well-formed.
+
+ UV to_utf8_lower(const U8 *p, U8* ustrp,
+ STRLEN *lenp)
=for hackers
Found in file utf8.c
@@ -9678,15 +10806,18 @@ Found in file utf8.c
=item to_utf8_title
X<to_utf8_title>
-Convert the UTF-8 encoded character at p to its titlecase version and
-store that in UTF-8 in ustrp and its length in bytes in lenp. Note
-that the ustrp needs to be at least UTF8_MAXBYTES_CASE+1 bytes since the
+Convert the UTF-8 encoded character at C<p> to its titlecase version and
+store that in UTF-8 in C<ustrp> and its length in bytes in C<lenp>. Note
+that the C<ustrp> needs to be at least UTF8_MAXBYTES_CASE+1 bytes since the
titlecase version may be longer than the original character.
The first character of the titlecased version is returned
(but note, as explained above, that there may be more.)
- UV to_utf8_title(const U8 *p, U8* ustrp, STRLEN *lenp)
+The character at C<p> is assumed by this routine to be well-formed.
+
+ UV to_utf8_title(const U8 *p, U8* ustrp,
+ STRLEN *lenp)
=for hackers
Found in file utf8.c
@@ -9694,15 +10825,18 @@ Found in file utf8.c
=item to_utf8_upper
X<to_utf8_upper>
-Convert the UTF-8 encoded character at p to its uppercase version and
-store that in UTF-8 in ustrp and its length in bytes in lenp. Note
+Convert the UTF-8 encoded character at C<p> to its uppercase version and
+store that in UTF-8 in C<ustrp> and its length in bytes in C<lenp>. Note
that the ustrp needs to be at least UTF8_MAXBYTES_CASE+1 bytes since
the uppercase version may be longer than the original character.
The first character of the uppercased version is returned
(but note, as explained above, that there may be more.)
- UV to_utf8_upper(const U8 *p, U8* ustrp, STRLEN *lenp)
+The character at C<p> is assumed by this routine to be well-formed.
+
+ UV to_utf8_upper(const U8 *p, U8* ustrp,
+ STRLEN *lenp)
=for hackers
Found in file utf8.c
@@ -9715,9 +10849,10 @@ C<s>
which is assumed to be in UTF-8 encoding; C<retlen> will be set to the
length, in bytes, of that character.
-length and flags are the same as utf8n_to_uvuni().
+C<length> and C<flags> are the same as L</utf8n_to_uvuni>().
- UV utf8n_to_uvchr(const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags)
+ UV utf8n_to_uvchr(const U8 *s, STRLEN curlen,
+ STRLEN *retlen, U32 flags)
=for hackers
Found in file utf8.c
@@ -9726,16 +10861,16 @@ Found in file utf8.c
X<utf8n_to_uvuni>
Bottom level UTF-8 decode routine.
-Returns the code point value of the first character in the string C<s>
-which is assumed to be in UTF-8 (or UTF-EBCDIC) encoding and no longer than
-C<curlen> bytes; C<retlen> will be set to the length, in bytes, of that
-character.
+Returns the code point value of the first character in the string C<s>,
+which is assumed to be in UTF-8 (or UTF-EBCDIC) encoding, and no longer than
+C<curlen> bytes; C<*retlen> (if C<retlen> isn't NULL) will be set to
+the length, in bytes, of that character.
The value of C<flags> determines the behavior when C<s> does not point to a
well-formed UTF-8 character. If C<flags> is 0, when a malformation is found,
-C<retlen> is set to the expected length of the UTF-8 character in bytes, zero
-is returned, and if UTF-8 warnings haven't been lexically disabled, a warning
-is raised.
+zero is returned and C<*retlen> is set so that (S<C<s> + C<*retlen>>) is the
+next possible position in C<s> that could begin a non-malformed character.
+Also, if UTF-8 warnings haven't been lexically disabled, a warning is raised.
Various ALLOW flags can be set in C<flags> to allow (and not warn on)
individual types of malformations, such as the sequence being overlong (that
@@ -9743,8 +10878,10 @@ is, when there is a shorter sequence that can express the same code point;
overlong sequences are expressly forbidden in the UTF-8 standard due to
potential security issues). Another malformation example is the first byte of
a character not being a legal first byte. See F<utf8.h> for the list of such
-flags. Of course, the value returned by this function under such conditions is
-not reliable.
+flags. For allowed 0 length strings, this function returns 0; for allowed
+overlong sequences, the computed code point is returned; for all other allowed
+malformations, the Unicode REPLACEMENT CHARACTER is returned, as these have no
+determinable reasonable value.
The UTF8_CHECK_ONLY flag overrides the behavior when a non-allowed (by other
flags) malformation is found. If this flag is set, the routine assumes that
@@ -9752,9 +10889,9 @@ the caller will raise a warning, and this function will silently just set
C<retlen> to C<-1> and return zero.
Certain code points are considered problematic. These are Unicode surrogates,
-Unicode non-characters, and code points above the Unicode maximum of 0x10FFF.
+Unicode non-characters, and code points above the Unicode maximum of 0x10FFFF.
By default these are considered regular code points, but certain situations
-warrant special handling for them. if C<flags> contains
+warrant special handling for them. If C<flags> contains
UTF8_DISALLOW_ILLEGAL_INTERCHANGE, all three classes are treated as
malformations and handled as such. The flags UTF8_DISALLOW_SURROGATE,
UTF8_DISALLOW_NONCHAR, and UTF8_DISALLOW_SUPER (meaning above the legal Unicode
@@ -9770,22 +10907,27 @@ UTF8_CHECK_ONLY is also specified.)
Very large code points (above 0x7FFF_FFFF) are considered more problematic than
the others that are above the Unicode legal maximum. There are several
-reasons, one of which is that the original UTF-8 specification never went above
-this number (the current 0x10FFF limit was imposed later). The UTF-8 encoding
-on ASCII platforms for these large code point begins with a byte containing
-0xFE or 0xFF. The UTF8_DISALLOW_FE_FF flag will cause them to be treated as
-malformations, while allowing smaller above-Unicode code points. (Of course
-UTF8_DISALLOW_SUPER will treat all above-Unicode code points, including these,
-as malformations.) Similarly, UTF8_WARN_FE_FF acts just like the other WARN
-flags, but applies just to these code points.
+reasons: they requre at least 32 bits to represent them on ASCII platforms, are
+not representable at all on EBCDIC platforms, and the original UTF-8
+specification never went above this number (the current 0x10FFFF limit was
+imposed later). (The smaller ones, those that fit into 32 bits, are
+representable by a UV on ASCII platforms, but not by an IV, which means that
+the number of operations that can be performed on them is quite restricted.)
+The UTF-8 encoding on ASCII platforms for these large code points begins with a
+byte containing 0xFE or 0xFF. The UTF8_DISALLOW_FE_FF flag will cause them to
+be treated as malformations, while allowing smaller above-Unicode code points.
+(Of course UTF8_DISALLOW_SUPER will treat all above-Unicode code points,
+including these, as malformations.) Similarly, UTF8_WARN_FE_FF acts just like
+the other WARN flags, but applies just to these code points.
All other code points corresponding to Unicode characters, including private
use and those yet to be assigned, are never considered malformed and never
warn.
-Most code should use utf8_to_uvchr() rather than call this directly.
+Most code should use L</utf8_to_uvchr_buf>() rather than call this directly.
- UV utf8n_to_uvuni(const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags)
+ UV utf8n_to_uvuni(const U8 *s, STRLEN curlen,
+ STRLEN *retlen, U32 flags)
=for hackers
Found in file utf8.c
@@ -9835,11 +10977,11 @@ Found in file utf8.c
X<utf8_to_bytes>
Converts a string C<s> of length C<len> from UTF-8 into native byte encoding.
-Unlike C<bytes_to_utf8>, this over-writes the original string, and
-updates len to contain the new length.
+Unlike L</bytes_to_utf8>, this over-writes the original string, and
+updates C<len> to contain the new length.
Returns zero on failure, setting C<len> to -1.
-If you need a copy of the string, see C<bytes_from_utf8>.
+If you need a copy of the string, see L</bytes_from_utf8>.
NOTE: this function is experimental and may change or be
removed without notice.
@@ -9852,21 +10994,55 @@ Found in file utf8.c
=item utf8_to_uvchr
X<utf8_to_uvchr>
+DEPRECATED!
+
Returns the native code point of the first character in the string C<s>
which is assumed to be in UTF-8 encoding; C<retlen> will be set to the
length, in bytes, of that character.
-If C<s> does not point to a well-formed UTF-8 character, zero is
-returned and retlen is set, if possible, to -1.
+Some, but not all, UTF-8 malformations are detected, and in fact, some
+malformed input could cause reading beyond the end of the input buffer, which
+is why this function is deprecated. Use L</utf8_to_uvchr_buf> instead.
+
+If C<s> points to one of the detected malformations, and UTF8 warnings are
+enabled, zero is returned and C<*retlen> is set (if C<retlen> isn't
+NULL) to -1. If those warnings are off, the computed value if well-defined (or
+the Unicode REPLACEMENT CHARACTER, if not) is silently returned, and C<*retlen>
+is set (if C<retlen> isn't NULL) so that (S<C<s> + C<*retlen>>) is the
+next possible position in C<s> that could begin a non-malformed character.
+See L</utf8n_to_uvuni> for details on when the REPLACEMENT CHARACTER is returned.
UV utf8_to_uvchr(const U8 *s, STRLEN *retlen)
=for hackers
Found in file utf8.c
+=item utf8_to_uvchr_buf
+X<utf8_to_uvchr_buf>
+
+Returns the native code point of the first character in the string C<s> which
+is assumed to be in UTF-8 encoding; C<send> points to 1 beyond the end of C<s>.
+C<*retlen> will be set to the length, in bytes, of that character.
+
+If C<s> does not point to a well-formed UTF-8 character and UTF8 warnings are
+enabled, zero is returned and C<*retlen> is set (if C<retlen> isn't
+NULL) to -1. If those warnings are off, the computed value if well-defined (or
+the Unicode REPLACEMENT CHARACTER, if not) is silently returned, and C<*retlen>
+is set (if C<retlen> isn't NULL) so that (S<C<s> + C<*retlen>>) is the
+next possible position in C<s> that could begin a non-malformed character.
+See L</utf8n_to_uvuni> for details on when the REPLACEMENT CHARACTER is returned.
+
+ UV utf8_to_uvchr_buf(const U8 *s, const U8 *send,
+ STRLEN *retlen)
+
+=for hackers
+Found in file utf8.c
+
=item utf8_to_uvuni
X<utf8_to_uvuni>
+DEPRECATED!
+
Returns the Unicode code point of the first character in the string C<s>
which is assumed to be in UTF-8 encoding; C<retlen> will be set to the
length, in bytes, of that character.
@@ -9874,19 +11050,52 @@ length, in bytes, of that character.
This function should only be used when the returned UV is considered
an index into the Unicode semantic tables (e.g. swashes).
-If C<s> does not point to a well-formed UTF-8 character, zero is
-returned and retlen is set, if possible, to -1.
+Some, but not all, UTF-8 malformations are detected, and in fact, some
+malformed input could cause reading beyond the end of the input buffer, which
+is why this function is deprecated. Use L</utf8_to_uvuni_buf> instead.
+
+If C<s> points to one of the detected malformations, and UTF8 warnings are
+enabled, zero is returned and C<*retlen> is set (if C<retlen> doesn't point to
+NULL) to -1. If those warnings are off, the computed value if well-defined (or
+the Unicode REPLACEMENT CHARACTER, if not) is silently returned, and C<*retlen>
+is set (if C<retlen> isn't NULL) so that (S<C<s> + C<*retlen>>) is the
+next possible position in C<s> that could begin a non-malformed character.
+See L</utf8n_to_uvuni> for details on when the REPLACEMENT CHARACTER is returned.
UV utf8_to_uvuni(const U8 *s, STRLEN *retlen)
=for hackers
Found in file utf8.c
+=item utf8_to_uvuni_buf
+X<utf8_to_uvuni_buf>
+
+Returns the Unicode code point of the first character in the string C<s> which
+is assumed to be in UTF-8 encoding; C<send> points to 1 beyond the end of C<s>.
+C<retlen> will be set to the length, in bytes, of that character.
+
+This function should only be used when the returned UV is considered
+an index into the Unicode semantic tables (e.g. swashes).
+
+If C<s> does not point to a well-formed UTF-8 character and UTF8 warnings are
+enabled, zero is returned and C<*retlen> is set (if C<retlen> isn't
+NULL) to -1. If those warnings are off, the computed value if well-defined (or
+the Unicode REPLACEMENT CHARACTER, if not) is silently returned, and C<*retlen>
+is set (if C<retlen> isn't NULL) so that (S<C<s> + C<*retlen>>) is the
+next possible position in C<s> that could begin a non-malformed character.
+See L</utf8n_to_uvuni> for details on when the REPLACEMENT CHARACTER is returned.
+
+ UV utf8_to_uvuni_buf(const U8 *s, const U8 *send,
+ STRLEN *retlen)
+
+=for hackers
+Found in file utf8.c
+
=item uvchr_to_utf8
X<uvchr_to_utf8>
Adds the UTF-8 representation of the Native code point C<uv> to the end
-of the string C<d>; C<d> should be have at least C<UTF8_MAXBYTES+1> free
+of the string C<d>; C<d> should have at least C<UTF8_MAXBYTES+1> free
bytes available. The return value is the pointer to the byte after the
end of the new character. In other words,
@@ -9925,7 +11134,8 @@ This is the recommended Unicode-aware way of saying
This function will convert to UTF-8 (and not warn) even code points that aren't
legal Unicode or are problematic, unless C<flags> contains one or more of the
-following flags.
+following flags:
+
If C<uv> is a Unicode surrogate code point and UNICODE_WARN_SURROGATE is set,
the function will raise a warning, provided UTF8 warnings are enabled. If instead
UNICODE_DISALLOW_SURROGATE is set, the function will fail and return NULL.
@@ -10125,7 +11335,7 @@ Found in file XSUB.h
X<XS>
Macro to declare an XSUB and its C parameter list. This is handled by
-C<xsubpp>.
+C<xsubpp>. It is the same as using the more explicit XS_EXTERNAL macro.
=for hackers
Found in file XSUB.h
@@ -10141,6 +11351,24 @@ matches the api version of the perl interpreter it's being loaded into.
=for hackers
Found in file XSUB.h
+=item XS_EXTERNAL
+X<XS_EXTERNAL>
+
+Macro to declare an XSUB and its C parameter list explicitly exporting the symbols.
+
+=for hackers
+Found in file XSUB.h
+
+=item XS_INTERNAL
+X<XS_INTERNAL>
+
+Macro to declare an XSUB and its C parameter list without exporting the symbols.
+This is handled by C<xsubpp> and generally preferable over exporting the XSUB
+symbols unnecessarily.
+
+=for hackers
+Found in file XSUB.h
+
=item XS_VERSION
X<XS_VERSION>
@@ -10439,11 +11667,8 @@ X<Slab_Alloc>
=item Slab_Free
X<Slab_Free>
-=item _to_uni_fold_flags
-X<_to_uni_fold_flags>
-
-=item _to_utf8_fold_flags
-X<_to_utf8_fold_flags>
+=item _is_utf8_quotemeta
+X<_is_utf8_quotemeta>
=item amagic_call
X<amagic_call>
@@ -10454,9 +11679,6 @@ X<amagic_deref_call>
=item any_dup
X<any_dup>
-=item apply_attrs_string
-X<apply_attrs_string>
-
=item atfork_lock
X<atfork_lock>
@@ -10646,9 +11868,6 @@ X<dump_sub>
=item dump_vindent
X<dump_vindent>
-=item fetch_cop_label
-X<fetch_cop_label>
-
=item filter_add
X<filter_add>
@@ -10658,18 +11877,9 @@ X<filter_del>
=item filter_read
X<filter_read>
-=item find_rundefsv
-X<find_rundefsv>
-
-=item find_rundefsvoffset
-X<find_rundefsvoffset>
-
=item foldEQ_latin1
X<foldEQ_latin1>
-=item foldEQ_utf8_flags
-X<foldEQ_utf8_flags>
-
=item form_nocontext
X<form_nocontext>
@@ -10730,6 +11940,15 @@ X<gv_add_by_type>
=item gv_autoload4
X<gv_autoload4>
+=item gv_autoload_pv
+X<gv_autoload_pv>
+
+=item gv_autoload_pvn
+X<gv_autoload_pvn>
+
+=item gv_autoload_sv
+X<gv_autoload_sv>
+
=item gv_check
X<gv_check>
@@ -10751,9 +11970,6 @@ X<gv_fetchfile>
=item gv_fetchfile_flags
X<gv_fetchfile_flags>
-=item gv_fetchmethod_flags
-X<gv_fetchmethod_flags>
-
=item gv_fetchpv
X<gv_fetchpv>
@@ -10775,9 +11991,6 @@ X<gv_fullname4>
=item gv_handler
X<gv_handler>
-=item gv_init
-X<gv_init>
-
=item gv_name_set
X<gv_name_set>
@@ -10826,9 +12039,6 @@ X<hv_riter_p>
=item hv_riter_set
X<hv_riter_set>
-=item hv_store_flags
-X<hv_store_flags>
-
=item init_global_struct
X<init_global_struct>
@@ -11027,9 +12237,6 @@ X<mro_get_from_name>
=item mro_get_private_data
X<mro_get_private_data>
-=item mro_register
-X<mro_register>
-
=item mro_set_mro
X<mro_set_mro>
@@ -11147,6 +12354,9 @@ X<newGVREF>
=item newGVgen
X<newGVgen>
+=item newGVgen_flags
+X<newGVgen_flags>
+
=item newHVREF
X<newHVREF>
@@ -11174,9 +12384,6 @@ X<newSVREF>
=item newSVpvf_nocontext
X<newSVpvf_nocontext>
-=item newXS_flags
-X<newXS_flags>
-
=item new_collate
X<new_collate>
@@ -11690,6 +12897,15 @@ X<warner_nocontext>
=item whichsig
X<whichsig>
+=item whichsig_pv
+X<whichsig_pv>
+
+=item whichsig_pvn
+X<whichsig_pvn>
+
+=item whichsig_sv
+X<whichsig_sv>
+
=back
diff --git a/Master/tlpkg/tlperl/lib/pods/perlapio.pod b/Master/tlpkg/tlperl/lib/pods/perlapio.pod
index 1c57f9a9a89..bb7115f8e8c 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlapio.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlapio.pod
@@ -390,8 +390,7 @@ vary from handle to handle.
PerlIO_fast_gets(f) = PerlIO_has_cntptr(f) && \
PerlIO_canset_cnt(f) && \
- `Can set pointer into buffer'
-
+ 'Can set pointer into buffer'
=item B<PerlIO_has_cntptr(f)>
diff --git a/Master/tlpkg/tlperl/lib/pods/perlbeos.pod b/Master/tlpkg/tlperl/lib/pods/perlbeos.pod
index 0a01f50b9ee..c72c2293a07 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlbeos.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlbeos.pod
@@ -4,7 +4,7 @@ designed to be readable as is.
=head1 NAME
-README.beos - Perl version 5.8+ on BeOS
+perlbeos - Perl version 5.8+ on BeOS
=head1 DESCRIPTION
@@ -19,7 +19,7 @@ I have built and tested Perl 5.8.6 and 5.9.1 under BeOS R5 x86 net server.
I can't say anything with regard to PPC. Since Perl 5.8.0 had been released
for BeOS BONE, I suspect, there is a good chance, that it still compiles on
a BONE system. The only change I've made, that affects BONE systems is the
-recognition of whether it is a BONE system or not in C<hints/beos.sh>. Now
+recognition of whether it is a BONE system or not in F<hints/beos.sh>. Now
network socket support should remain enabled on BONE systems. This might
as well break the build, though.
@@ -81,21 +81,21 @@ to try enabling it and see what problems occur.
=item *
-The LFS (large file support) tests (C<t/op/lfs> and C<xt/Fcntl/t/syslfs>) are
+The LFS (large file support) tests (F<t/op/lfs> and F<xt/Fcntl/t/syslfs>) are
disabled as seeking beyond 2 GB is broken according to jhi@iki.fi who was the
last one checking the BeOS port and updating this file before me. Haven't
checked this myself.
=item *
-The C<t/io/fflush> test fails at #6. As far as I can tell, this is caused by
+The F<t/io/fflush> test fails at #6. As far as I can tell, this is caused by
a bug in the BeOS pipes implementation that occurs when starting other child
processes. In the particular test case a C<system("perl -e 0")> flushes the
stdout pipe of another child process.
=item *
-The C<ext/POSIX/t/waitpid> test fails at #1. After all child processes are
+The F<ext/POSIX/t/waitpid> test fails at #1. After all child processes are
gone BeOS' waitpid(-1,...) returns 0 instead of -1 (as it should). No idea
how to fix this.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlbook.pod b/Master/tlpkg/tlperl/lib/pods/perlbook.pod
index f780c9bb6ac..5ed6b328748 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlbook.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlbook.pod
@@ -105,7 +105,7 @@ You might want to keep these desktop references close by your keyboard:
by James Lee
ISBN 1-59059-391-X [3rd edition April 2010]
- http://www.apress.com/book/view/1430227931
+ http://www.apress.com/9781430227939
=item I<Learning Perl>
@@ -142,7 +142,7 @@ You might want to keep these desktop references close by your keyboard:
by Sam Tregar
ISBN 1-59059-018-X [1st edition August 2002]
- http://www.apress.com/book/view/159059018X
+ http://www.apress.com/9781590590188
=item I<The Perl Cookbook>
@@ -151,7 +151,6 @@ You might want to keep these desktop references close by your keyboard:
ISBN 1-56592-243-3 [2nd edition August 2003]
http://oreilly.com/catalog/9780596003135
-
=item I<Automating System Administration with Perl>
by David N. Blank-Edelman
@@ -162,7 +161,7 @@ You might want to keep these desktop references close by your keyboard:
by Linchi Shea
ISBN 1-59059-097-X [1st edition July 2003]
- http://www.apress.com/book/view/159059097X
+ http://www.apress.com/9781590590973
=back
@@ -241,7 +240,7 @@ You might want to keep these desktop references close by your keyboard:
by Richard Foley with Andy Lester
ISBN 1-59059-454-1 [1st edition July 2005]
- http://www.apress.com/book/view/1590594541
+ http://www.apress.com/9781590594544
=back
@@ -251,8 +250,6 @@ Some of these books are available as free downloads.
I<Higher-Order Perl>: http://hop.perl.plover.com/
-I<Writing Perl Modules for CPAN>: http://www.apress.com/resource/freeebook/9781590590188
-
=head2 Other interesting, non-Perl books
You might notice several familiar Perl concepts in this collection of
diff --git a/Master/tlpkg/tlperl/lib/pods/perlboot.pod b/Master/tlpkg/tlperl/lib/pods/perlboot.pod
index 5aa61795759..15b7117823a 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlboot.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlboot.pod
@@ -1,884 +1,12 @@
+=encoding utf8
+
=head1 NAME
-perlboot - Beginner's Object-Oriented Tutorial
+perlboot - This document has been deleted
=head1 DESCRIPTION
-If you're not familiar with objects from other languages, some of the
-other Perl object documentation may be a little daunting, such as
-L<perlobj>, a basic reference in using objects, and L<perltoot>, which
-introduces readers to the peculiarities of Perl's object system in a
-tutorial way.
-
-So, let's take a different approach, presuming no prior object
-experience. It helps if you know about subroutines (L<perlsub>),
-references (L<perlref> et. seq.), and packages (L<perlmod>), so become
-familiar with those first if you haven't already.
-
-=head2 If we could talk to the animals...
-
-Let's let the animals talk for a moment:
-
- sub Cow::speak {
- print "a Cow goes moooo!\n";
- }
- sub Horse::speak {
- print "a Horse goes neigh!\n";
- }
- sub Sheep::speak {
- print "a Sheep goes baaaah!\n";
- }
-
- Cow::speak;
- Horse::speak;
- Sheep::speak;
-
-This results in:
-
- a Cow goes moooo!
- a Horse goes neigh!
- a Sheep goes baaaah!
-
-Nothing spectacular here. Simple subroutines, albeit from separate
-packages, and called using the full package name. So let's create
-an entire pasture:
-
- # Cow::speak, Horse::speak, Sheep::speak as before
- @pasture = qw(Cow Cow Horse Sheep Sheep);
- foreach $animal (@pasture) {
- &{$animal."::speak"};
- }
-
-This results in:
-
- a Cow goes moooo!
- a Cow goes moooo!
- a Horse goes neigh!
- a Sheep goes baaaah!
- a Sheep goes baaaah!
-
-Wow. That symbolic coderef de-referencing there is pretty nasty.
-We're counting on C<no strict refs> mode, certainly not recommended
-for larger programs. And why was that necessary? Because the name of
-the package seems to be inseparable from the name of the subroutine we
-want to invoke within that package.
-
-Or is it?
-
-=head2 Introducing the method invocation arrow
-
-For now, let's say that C<< Class->method >> invokes subroutine
-C<method> in package C<Class>. (Here, "Class" is used in its
-"category" meaning, not its "scholastic" meaning.) That's not
-completely accurate, but we'll do this one step at a time. Now let's
-use it like so:
-
- # Cow::speak, Horse::speak, Sheep::speak as before
- Cow->speak;
- Horse->speak;
- Sheep->speak;
-
-And once again, this results in:
-
- a Cow goes moooo!
- a Horse goes neigh!
- a Sheep goes baaaah!
-
-That's not fun yet. Same number of characters, all constant, no
-variables. But yet, the parts are separable now. Watch:
-
- $a = "Cow";
- $a->speak; # invokes Cow->speak
-
-Ahh! Now that the package name has been parted from the subroutine
-name, we can use a variable package name. And this time, we've got
-something that works even when C<use strict refs> is enabled.
-
-=head2 Invoking a barnyard
-
-Let's take that new arrow invocation and put it back in the barnyard
-example:
-
- sub Cow::speak {
- print "a Cow goes moooo!\n";
- }
- sub Horse::speak {
- print "a Horse goes neigh!\n";
- }
- sub Sheep::speak {
- print "a Sheep goes baaaah!\n";
- }
-
- @pasture = qw(Cow Cow Horse Sheep Sheep);
- foreach $animal (@pasture) {
- $animal->speak;
- }
-
-There! Now we have the animals all talking, and safely at that,
-without the use of symbolic coderefs.
-
-But look at all that common code. Each of the C<speak> routines has a
-similar structure: a C<print> operator and a string that contains
-common text, except for two of the words. It'd be nice if we could
-factor out the commonality, in case we decide later to change it all
-to C<says> instead of C<goes>.
-
-And we actually have a way of doing that without much fuss, but we
-have to hear a bit more about what the method invocation arrow is
-actually doing for us.
-
-=head2 The extra parameter of method invocation
-
-The invocation of:
-
- Class->method(@args)
-
-attempts to invoke subroutine C<Class::method> as:
-
- Class::method("Class", @args);
-
-(If the subroutine can't be found, "inheritance" kicks in, but we'll
-get to that later.) This means that we get the class name as the
-first parameter (the only parameter, if no arguments are given). So
-we can rewrite the C<Sheep> speaking subroutine as:
-
- sub Sheep::speak {
- my $class = shift;
- print "a $class goes baaaah!\n";
- }
-
-And the other two animals come out similarly:
-
- sub Cow::speak {
- my $class = shift;
- print "a $class goes moooo!\n";
- }
- sub Horse::speak {
- my $class = shift;
- print "a $class goes neigh!\n";
- }
-
-In each case, C<$class> will get the value appropriate for that
-subroutine. But once again, we have a lot of similar structure. Can
-we factor that out even further? Yes, by calling another method in
-the same class.
-
-=head2 Calling a second method to simplify things
-
-Let's call out from C<speak> to a helper method called C<sound>.
-This method provides the constant text for the sound itself.
-
- { package Cow;
- sub sound { "moooo" }
- sub speak {
- my $class = shift;
- print "a $class goes ", $class->sound, "!\n";
- }
- }
-
-Now, when we call C<< Cow->speak >>, we get a C<$class> of C<Cow> in
-C<speak>. This in turn selects the C<< Cow->sound >> method, which
-returns C<moooo>. But how different would this be for the C<Horse>?
-
- { package Horse;
- sub sound { "neigh" }
- sub speak {
- my $class = shift;
- print "a $class goes ", $class->sound, "!\n";
- }
- }
-
-Only the name of the package and the specific sound change. So can we
-somehow share the definition for C<speak> between the Cow and the
-Horse? Yes, with inheritance!
-
-=head2 Inheriting the windpipes
-
-We'll define a common subroutine package called C<Animal>, with the
-definition for C<speak>:
-
- { package Animal;
- sub speak {
- my $class = shift;
- print "a $class goes ", $class->sound, "!\n";
- }
- }
-
-Then, for each animal, we say it "inherits" from C<Animal>, along
-with the animal-specific sound:
-
- { package Cow;
- @ISA = qw(Animal);
- sub sound { "moooo" }
- }
-
-Note the added C<@ISA> array (pronounced "is a"). We'll get to that in a minute.
-
-But what happens when we invoke C<< Cow->speak >> now?
-
-First, Perl constructs the argument list. In this case, it's just
-C<Cow>. Then Perl looks for C<Cow::speak>. But that's not there, so
-Perl checks for the inheritance array C<@Cow::ISA>. It's there,
-and contains the single name C<Animal>.
-
-Perl next checks for C<speak> inside C<Animal> instead, as in
-C<Animal::speak>. And that's found, so Perl invokes that subroutine
-with the already frozen argument list.
-
-Inside the C<Animal::speak> subroutine, C<$class> becomes C<Cow> (the
-first argument). So when we get to the step of invoking
-C<< $class->sound >>, it'll be looking for C<< Cow->sound >>, which
-gets it on the first try without looking at C<@ISA>. Success!
-
-=head2 A few notes about @ISA
-
-This magical C<@ISA> variable has declared that C<Cow> "is a" C<Animal>.
-Note that it's an array, not a simple single value, because on rare
-occasions, it makes sense to have more than one parent class searched
-for the missing methods.
-
-If C<Animal> also had an C<@ISA>, then we'd check there too. The
-search is recursive, depth-first, left-to-right in each C<@ISA> by
-default (see L<mro> for alternatives). Typically, each C<@ISA> has
-only one element (multiple elements means multiple inheritance and
-multiple headaches), so we get a nice tree of inheritance.
-
-When we turn on C<use strict>, we'll get complaints on C<@ISA>, since
-it's not a variable containing an explicit package name, nor is it a
-lexical ("my") variable. We can't make it a lexical variable though
-(it has to belong to the package to be found by the inheritance mechanism),
-so there's a couple of straightforward ways to handle that.
-
-The easiest is to just spell the package name out:
-
- @Cow::ISA = qw(Animal);
-
-Or declare it as a package global variable:
-
- package Cow;
- our @ISA = qw(Animal);
-
-Or allow it as an implicitly named package variable:
-
- package Cow;
- use vars qw(@ISA);
- @ISA = qw(Animal);
-
-If the C<Animal> class comes from another (object-oriented) module, then
-just employ C<use base> to specify that C<Animal> should serve as the basis
-for the C<Cow> class:
-
- package Cow;
- use base qw(Animal);
-
-Now that's pretty darn simple!
-
-=head2 Overriding the methods
-
-Let's add a mouse, which can barely be heard:
-
- # Animal package from before
- { package Mouse;
- @ISA = qw(Animal);
- sub sound { "squeak" }
- sub speak {
- my $class = shift;
- print "a $class goes ", $class->sound, "!\n";
- print "[but you can barely hear it!]\n";
- }
- }
-
- Mouse->speak;
-
-which results in:
-
- a Mouse goes squeak!
- [but you can barely hear it!]
-
-Here, C<Mouse> has its own speaking routine, so C<< Mouse->speak >>
-doesn't immediately invoke C<< Animal->speak >>. This is known as
-"overriding". In fact, we don't even need to say that a C<Mouse> is
-an C<Animal> at all, because all of the methods needed for C<speak> are
-completely defined for C<Mouse>; this is known as "duck typing":
-"If it walks like a duck and quacks like a duck, I would call it a duck"
-(James Whitcomb). However, it would probably be beneficial to allow a
-closer examination to conclude that a C<Mouse> is indeed an C<Animal>,
-so it is actually better to define C<Mouse> with C<Animal> as its base
-(that is, it is better to "derive C<Mouse> from C<Animal>").
-
-Moreover, this duplication of code could become a maintenance headache
-(though code-reuse is not actually a good reason for inheritance; good
-design practices dictate that a derived class should be usable wherever
-its base class is usable, which might not be the outcome if code-reuse
-is the sole criterion for inheritance. Just remember that a C<Mouse>
-should always act like an C<Animal>).
-
-So, let's make C<Mouse> an C<Animal>!
-
-The obvious solution is to invoke C<Animal::speak> directly:
-
- # Animal package from before
- { package Mouse;
- @ISA = qw(Animal);
- sub sound { "squeak" }
- sub speak {
- my $class = shift;
- Animal::speak($class);
- print "[but you can barely hear it!]\n";
- }
- }
-
-Note that we're using C<Animal::speak>. If we were to invoke
-C<< Animal->speak >> instead, the first parameter to C<Animal::speak>
-would automatically be C<"Animal"> rather than C<"Mouse">, so that
-the call to C<< $class->sound >> in C<Animal::speak> would become
-C<< Animal->sound >> rather than C<< Mouse->sound >>.
-
-Also, without the method arrow C<< -> >>, it becomes necessary to specify
-the first parameter to C<Animal::speak> ourselves, which is why C<$class>
-is explicitly passed: C<Animal::speak($class)>.
-
-However, invoking C<Animal::speak> directly is a mess: Firstly, it assumes
-that the C<speak> method is a member of the C<Animal> class; what if C<Animal>
-actually inherits C<speak> from its own base? Because we are no longer using
-C<< -> >> to access C<speak>, the special method look up mechanism wouldn't be
-used, so C<speak> wouldn't even be found!
-
-The second problem is more subtle: C<Animal> is now hardwired into the subroutine
-selection. Let's assume that C<Animal::speak> does exist. What happens when,
-at a later time, someone expands the class hierarchy by having C<Mouse>
-inherit from C<Mus> instead of C<Animal>. Unless the invocation of C<Animal::speak>
-is also changed to an invocation of C<Mus::speak>, centuries worth of taxonomical
-classification could be obliterated!
-
-What we have here is a fragile or leaky abstraction; it is the beginning of a
-maintenance nightmare. What we need is the ability to search for the right
-method wih as few assumptions as possible.
-
-=head2 Starting the search from a different place
-
-A I<better> solution is to tell Perl where in the inheritance chain to begin searching
-for C<speak>. This can be achieved with a modified version of the method arrow C<< -> >>:
-
- ClassName->FirstPlaceToLook::method
-
-So, the improved C<Mouse> class is:
-
- # same Animal as before
- { package Mouse;
- # same @ISA, &sound as before
- sub speak {
- my $class = shift;
- $class->Animal::speak;
- print "[but you can barely hear it!]\n";
- }
- }
-
-Using this syntax, we start with C<Animal> to find C<speak>, and then
-use all of C<Animal>'s inheritance chain if it is not found immediately.
-As usual, the first parameter to C<speak> would be C<$class>, so we no
-longer need to pass C<$class> explicitly to C<speak>.
-
-But what about the second problem? We're still hardwiring C<Animal> into
-the method lookup.
-
-=head2 The SUPER way of doing things
-
-If C<Animal> is replaced with the special placeholder C<SUPER> in that
-invocation, then the contents of C<Mouse>'s C<@ISA> are used for the
-search, beginning with C<$ISA[0]>. So, all of the problems can be fixed
-as follows:
-
- # same Animal as before
- { package Mouse;
- # same @ISA, &sound as before
- sub speak {
- my $class = shift;
- $class->SUPER::speak;
- print "[but you can barely hear it!]\n";
- }
- }
-
-In general, C<SUPER::speak> means look in the current package's C<@ISA>
-for a class that implements C<speak>, and invoke the first one found.
-The placeholder is called C<SUPER>, because many other languages refer
-to base classes as "I<super>classes", and Perl likes to be eclectic.
-
-Note that a call such as
-
- $class->SUPER::method;
-
-does I<not> look in the C<@ISA> of C<$class> unless C<$class> happens to
-be the current package.
-
-=head2 Let's review...
-
-So far, we've seen the method arrow syntax:
-
- Class->method(@args);
-
-or the equivalent:
-
- $a = "Class";
- $a->method(@args);
-
-which constructs an argument list of:
-
- ("Class", @args)
-
-and attempts to invoke:
-
- Class::method("Class", @args);
-
-However, if C<Class::method> is not found, then C<@Class::ISA> is examined
-(recursively) to locate a class (a package) that does indeed contain C<method>,
-and that subroutine is invoked instead.
-
-Using this simple syntax, we have class methods, (multiple) inheritance,
-overriding, and extending. Using just what we've seen so far, we've
-been able to factor out common code (though that's never a good reason
-for inheritance!), and provide a nice way to reuse implementations with
-variations.
-
-Now, what about data?
-
-=head2 A horse is a horse, of course of course, or is it?
-
-Let's start with the code for the C<Animal> class
-and the C<Horse> class:
-
- { package Animal;
- sub speak {
- my $class = shift;
- print "a $class goes ", $class->sound, "!\n";
- }
- }
- { package Horse;
- @ISA = qw(Animal);
- sub sound { "neigh" }
- }
-
-This lets us invoke C<< Horse->speak >> to ripple upward to
-C<Animal::speak>, calling back to C<Horse::sound> to get the specific
-sound, and the output of:
-
- a Horse goes neigh!
-
-But all of our Horse objects would have to be absolutely identical.
-If we add a subroutine, all horses automatically share it. That's
-great for making horses the same, but how do we capture the
-distinctions of an individual horse? For example, suppose we want
-to give our first horse a name. There's got to be a way to keep its
-name separate from the other horses.
-
-That is to say, we want particular instances of C<Horse> to have
-different names.
-
-In Perl, any reference can be an "instance", so let's start with the
-simplest reference that can hold a horse's name: a scalar reference.
-
- my $name = "Mr. Ed";
- my $horse = \$name;
-
-So, now C<$horse> is a reference to what will be the instance-specific
-data (the name). The final step is to turn this reference into a real
-instance of a C<Horse> by using the special operator C<bless>:
-
- bless $horse, Horse;
-
-This operator stores information about the package named C<Horse> into
-the thing pointed at by the reference. At this point, we say
-C<$horse> is an instance of C<Horse>. That is, it's a specific
-horse. The reference is otherwise unchanged, and can still be used
-with traditional dereferencing operators.
-
-=head2 Invoking an instance method
-
-The method arrow can be used on instances, as well as classes (the names
-of packages). So, let's get the sound that C<$horse> makes:
-
- my $noise = $horse->sound("some", "unnecessary", "args");
-
-To invoke C<sound>, Perl first notes that C<$horse> is a blessed
-reference (and thus an instance). It then constructs an argument
-list, as per usual.
-
-Now for the fun part: Perl takes the class in which the instance was
-blessed, in this case C<Horse>, and uses that class to locate the
-subroutine. In this case, C<Horse::sound> is found directly (without
-using inheritance). In the end, it is as though our initial line were
-written as follows:
-
- my $noise = Horse::sound($horse, "some", "unnecessary", "args");
-
-Note that the first parameter here is still the instance, not the name
-of the class as before. We'll get C<neigh> as the return value, and
-that'll end up as the C<$noise> variable above.
-
-If Horse::sound had not been found, we'd be wandering up the C<@Horse::ISA>
-array, trying to find the method in one of the superclasses. The only
-difference between a class method and an instance method is whether the
-first parameter is an instance (a blessed reference) or a class name (a
-string).
-
-=head2 Accessing the instance data
-
-Because we get the instance as the first parameter, we can now access
-the instance-specific data. In this case, let's add a way to get at
-the name:
-
- { package Horse;
- @ISA = qw(Animal);
- sub sound { "neigh" }
- sub name {
- my $self = shift;
- $$self;
- }
- }
-
-Inside C<Horse::name>, the C<@_> array contains:
-
- ($horse, "some", "unnecessary", "args")
-
-so the C<shift> stores C<$horse> into C<$self>. Then, C<$self> gets
-de-referenced with C<$$self> as normal, yielding C<"Mr. Ed">.
-
-It's traditional to C<shift> the first parameter into a variable named
-C<$self> for instance methods and into a variable named C<$class> for
-class methods.
-
-Then, the following line:
-
- print $horse->name, " says ", $horse->sound, "\n";
-
-outputs:
-
- Mr. Ed says neigh.
-
-=head2 How to build a horse
-
-Of course, if we constructed all of our horses by hand, we'd most
-likely make mistakes from time to time. We're also violating one of
-the properties of object-oriented programming, in that the "inside
-guts" of a Horse are visible. That's good if you're a veterinarian,
-but not if you just like to own horses. So, let's have the Horse
-class handle the details inside a class method:
-
- { package Horse;
- @ISA = qw(Animal);
- sub sound { "neigh" }
- sub name {
- my $self = shift; # instance method, so use $self
- $$self;
- }
- sub named {
- my $class = shift; # class method, so use $class
- my $name = shift;
- bless \$name, $class;
- }
- }
-
-Now with the new C<named> method, we can build a horse as follows:
-
- my $horse = Horse->named("Mr. Ed");
-
-Notice we're back to a class method, so the two arguments to
-C<Horse::named> are C<Horse> and C<Mr. Ed>. The C<bless> operator
-not only blesses C<\$name>, it also returns that reference.
-
-This C<Horse::named> method is called a "constructor".
-
-We've called the constructor C<named> here, so that it quickly denotes
-the constructor's argument as the name for this particular C<Horse>.
-You can use different constructors with different names for different
-ways of "giving birth" to the object (like maybe recording its
-pedigree or date of birth). However, you'll find that most people
-coming to Perl from more limited languages use a single constructor
-named C<new>, with various ways of interpreting the arguments to
-C<new>. Either style is fine, as long as you document your particular
-way of giving birth to an object. (And you I<were> going to do that,
-right?)
-
-=head2 Inheriting the constructor
-
-But was there anything specific to C<Horse> in that method? No. Therefore,
-it's also the same recipe for building anything else that inherited from
-C<Animal>, so let's put C<name> and C<named> there:
-
- { package Animal;
- sub speak {
- my $class = shift;
- print "a $class goes ", $class->sound, "!\n";
- }
- sub name {
- my $self = shift;
- $$self;
- }
- sub named {
- my $class = shift;
- my $name = shift;
- bless \$name, $class;
- }
- }
- { package Horse;
- @ISA = qw(Animal);
- sub sound { "neigh" }
- }
-
-Ahh, but what happens if we invoke C<speak> on an instance?
-
- my $horse = Horse->named("Mr. Ed");
- $horse->speak;
-
-We get a debugging value:
-
- a Horse=SCALAR(0xaca42ac) goes neigh!
-
-Why? Because the C<Animal::speak> routine is expecting a classname as
-its first parameter, not an instance. When the instance is passed in,
-we'll end up using a blessed scalar reference as a string, and that
-shows up as we saw it just now.
-
-=head2 Making a method work with either classes or instances
-
-All we need is for a method to detect if it is being called on a class
-or called on an instance. The most straightforward way is with the
-C<ref> operator. This returns a string (the classname) when used on a
-blessed reference, and an empty string when used on a string (like a
-classname). Let's modify the C<name> method first to notice the change:
-
- sub name {
- my $either = shift;
- ref $either ? $$either : "Any $either";
- }
-
-Here, the C<?:> operator comes in handy to select either the
-dereference or a derived string. Now we can use this with either an
-instance or a class. Note that I've changed the first parameter
-holder to C<$either> to show that this is intended:
-
- my $horse = Horse->named("Mr. Ed");
- print Horse->name, "\n"; # prints "Any Horse\n"
- print $horse->name, "\n"; # prints "Mr Ed.\n"
-
-and now we'll fix C<speak> to use this:
-
- sub speak {
- my $either = shift;
- print $either->name, " goes ", $either->sound, "\n";
- }
-
-And since C<sound> already worked with either a class or an instance,
-we're done!
-
-=head2 Adding parameters to a method
-
-Let's train our animals to eat:
-
- { package Animal;
- sub named {
- my $class = shift;
- my $name = shift;
- bless \$name, $class;
- }
- sub name {
- my $either = shift;
- ref $either ? $$either : "Any $either";
- }
- sub speak {
- my $either = shift;
- print $either->name, " goes ", $either->sound, "\n";
- }
- sub eat {
- my $either = shift;
- my $food = shift;
- print $either->name, " eats $food.\n";
- }
- }
- { package Horse;
- @ISA = qw(Animal);
- sub sound { "neigh" }
- }
- { package Sheep;
- @ISA = qw(Animal);
- sub sound { "baaaah" }
- }
-
-And now try it out:
-
- my $horse = Horse->named("Mr. Ed");
- $horse->eat("hay");
- Sheep->eat("grass");
-
-which prints:
-
- Mr. Ed eats hay.
- Any Sheep eats grass.
-
-An instance method with parameters gets invoked with the instance,
-and then the list of parameters. So that first invocation is like:
-
- Animal::eat($horse, "hay");
-
-=head2 More interesting instances
-
-What if an instance needs more data? Most interesting instances are
-made of many items, each of which can in turn be a reference or even
-another object. The easiest way to store these is often in a hash.
-The keys of the hash serve as the names of parts of the object (often
-called "instance variables" or "member variables"), and the
-corresponding values are, well, the values.
-
-But how do we turn the horse into a hash? Recall that an object was
-any blessed reference. We can just as easily make it a blessed hash
-reference as a blessed scalar reference, as long as everything that
-looks at the reference is changed accordingly.
-
-Let's make a sheep that has a name and a color:
-
- my $bad = bless { Name => "Evil", Color => "black" }, Sheep;
-
-so C<< $bad->{Name} >> has C<Evil>, and C<< $bad->{Color} >> has
-C<black>. But we want to make C<< $bad->name >> access the name, and
-that's now messed up because it's expecting a scalar reference. Not
-to worry, because that's pretty easy to fix up.
-
-One solution is to override C<Animal::name> and C<Animal::named> by
-defining them anew in C<Sheep>, but then any methods added later to
-C<Animal> might still mess up, and we'd have to override all of those
-too. Therefore, it's never a good idea to define the data layout in a
-way that's different from the data layout of the base classes. In fact,
-it's a good idea to use blessed hash references in all cases. Also, this
-is why it's important to have constructors do the low-level work. So,
-let's redefine C<Animal>:
-
- ## in Animal
- sub name {
- my $either = shift;
- ref $either ? $either->{Name} : "Any $either";
- }
- sub named {
- my $class = shift;
- my $name = shift;
- my $self = { Name => $name };
- bless $self, $class;
- }
-
-Of course, we still need to override C<named> in order to handle
-constructing a C<Sheep> with a certain color:
-
- ## in Sheep
- sub named {
- my ($class, $name) = @_;
- my $self = $class->SUPER::named(@_);
- $$self{Color} = $class->default_color;
- $self
- }
-
-(Note that C<@_> contains the parameters to C<named>.)
-
-What's this C<default_color>? Well, if C<named> has only the name,
-we still need to set a color, so we'll have a class-specific default color.
-For a sheep, we might define it as white:
-
- ## in Sheep
- sub default_color { "white" }
-
-Now:
-
- my $sheep = Sheep->named("Bad");
- print $sheep->{Color}, "\n";
-
-outputs:
-
- white
-
-Now, there's nothing particularly specific to C<Sheep> when it comes
-to color, so let's remove C<Sheep::named> and implement C<Animal::named>
-to handle color instead:
-
- ## in Animal
- sub named {
- my ($class, $name) = @_;
- my $self = { Name => $name, Color => $class->default_color };
- bless $self, $class;
- }
-
-And then to keep from having to define C<default_color> for each additional
-class, we'll define a method that serves as the "default default" directly
-in C<Animal>:
-
- ## in Animal
- sub default_color { "brown" }
-
-Of course, because C<name> and C<named> were the only methods that
-referenced the "structure" of the object, the rest of the methods can
-remain the same, so C<speak> still works as before.
-
-=head2 A horse of a different color
-
-But having all our horses be brown would be boring. So let's add a
-method or two to get and set the color.
-
- ## in Animal
- sub color {
- $_[0]->{Color}
- }
- sub set_color {
- $_[0]->{Color} = $_[1];
- }
-
-Note the alternate way of accessing the arguments: C<$_[0]> is used
-in-place, rather than with a C<shift>. (This saves us a bit of time
-for something that may be invoked frequently.) And now we can fix
-that color for Mr. Ed:
-
- my $horse = Horse->named("Mr. Ed");
- $horse->set_color("black-and-white");
- print $horse->name, " is colored ", $horse->color, "\n";
-
-which results in:
-
- Mr. Ed is colored black-and-white
-
-=head2 Summary
-
-So, now we have class methods, constructors, instance methods, instance
-data, and even accessors. But that's still just the beginning of what
-Perl has to offer. We haven't even begun to talk about accessors that
-double as getters and setters, destructors, indirect object notation,
-overloading, "isa" and "can" tests, the C<UNIVERSAL> class, and so on.
-That's for the rest of the Perl documentation to cover. Hopefully, this
-gets you started, though.
-
-=head1 SEE ALSO
-
-For more information, see L<perlobj> (for all the gritty details about
-Perl objects, now that you've seen the basics), L<perltoot> (the
-tutorial for those who already know objects), L<perltooc> (dealing
-with class data), L<perlbot> (for some more tricks), and books such as
-Damian Conway's excellent I<Object Oriented Perl>.
-
-Some modules which might prove interesting are Class::Accessor,
-Class::Class, Class::Contract, Class::Data::Inheritable,
-Class::MethodMaker and Tie::SecureHash
-
-=head1 COPYRIGHT
-
-Copyright (c) 1999, 2000 by Randal L. Schwartz and Stonehenge
-Consulting Services, Inc.
-
-Copyright (c) 2009 by Michael F. Witten.
-
-Permission is hereby granted to distribute this document intact with
-the Perl distribution, and in accordance with the licenses of the Perl
-distribution; derived documents must include this copyright notice
-intact.
-
-Portions of this text have been derived from Perl Training materials
-originally appearing in the I<Packages, References, Objects, and
-Modules> course taught by instructors for Stonehenge Consulting
-Services, Inc. and used with permission.
+For information on OO programming with Perl, please see L<perlootut>
+and L<perlobj>.
-Portions of this text have been derived from materials originally
-appearing in I<Linux Magazine> and used with permission.
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlbot.pod b/Master/tlpkg/tlperl/lib/pods/perlbot.pod
index 305a6951b7f..2e8c68021c3 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlbot.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlbot.pod
@@ -1,535 +1,12 @@
+=encoding utf8
+
=head1 NAME
-perlbot - Bag o' Object Tricks (the BOT)
+perlbot - This document has been deleted
=head1 DESCRIPTION
-The following collection of tricks and hints is intended to whet curious
-appetites about such things as the use of instance variables and the
-mechanics of object and class relationships. The reader is encouraged to
-consult relevant textbooks for discussion of Object Oriented definitions and
-methodology. This is not intended as a tutorial for object-oriented
-programming or as a comprehensive guide to Perl's object oriented features,
-nor should it be construed as a style guide. If you're looking for tutorials,
-be sure to read L<perlboot>, L<perltoot>, and L<perltooc>.
-
-The Perl motto still holds: There's more than one way to do it.
-
-=head1 OO SCALING TIPS
-
-=over 5
-
-=item 1
-
-Do not attempt to verify the type of $self. That'll break if the class is
-inherited, when the type of $self is valid but its package isn't what you
-expect. See rule 5.
-
-=item 2
-
-If an object-oriented (OO) or indirect-object (IO) syntax was used, then the
-object is probably the correct type and there's no need to become paranoid
-about it. Perl isn't a paranoid language anyway. If people subvert the OO
-or IO syntax then they probably know what they're doing and you should let
-them do it. See rule 1.
-
-=item 3
-
-Use the two-argument form of bless(). Let a subclass use your constructor.
-See L<INHERITING A CONSTRUCTOR>.
-
-=item 4
-
-The subclass is allowed to know things about its immediate superclass, the
-superclass is allowed to know nothing about a subclass.
-
-=item 5
-
-Don't be trigger happy with inheritance. A "using", "containing", or
-"delegation" relationship (some sort of aggregation, at least) is often more
-appropriate. See L<OBJECT RELATIONSHIPS>, L<USING RELATIONSHIP WITH SDBM>,
-and L<"DELEGATION">.
-
-=item 6
-
-The object is the namespace. Make package globals accessible via the
-object. This will remove the guess work about the symbol's home package.
-See L<CLASS CONTEXT AND THE OBJECT>.
-
-=item 7
-
-IO syntax is certainly less noisy, but it is also prone to ambiguities that
-can cause difficult-to-find bugs. Allow people to use the sure-thing OO
-syntax, even if you don't like it.
-
-=item 8
-
-Do not use function-call syntax on a method. You're going to be bitten
-someday. Someone might move that method into a superclass and your code
-will be broken. On top of that you're feeding the paranoia in rule 2.
-
-=item 9
-
-Don't assume you know the home package of a method. You're making it
-difficult for someone to override that method. See L<THINKING OF CODE REUSE>.
-
-=back
-
-=head1 INSTANCE VARIABLES
-
-An anonymous array or anonymous hash can be used to hold instance
-variables. Named parameters are also demonstrated.
-
- package Foo;
-
- sub new {
- my $type = shift;
- my %params = @_;
- my $self = {};
- $self->{'High'} = $params{'High'};
- $self->{'Low'} = $params{'Low'};
- bless $self, $type;
- }
-
-
- package Bar;
-
- sub new {
- my $type = shift;
- my %params = @_;
- my $self = [];
- $self->[0] = $params{'Left'};
- $self->[1] = $params{'Right'};
- bless $self, $type;
- }
-
- package main;
-
- $a = Foo->new( 'High' => 42, 'Low' => 11 );
- print "High=$a->{'High'}\n";
- print "Low=$a->{'Low'}\n";
-
- $b = Bar->new( 'Left' => 78, 'Right' => 40 );
- print "Left=$b->[0]\n";
- print "Right=$b->[1]\n";
-
-=head1 SCALAR INSTANCE VARIABLES
-
-An anonymous scalar can be used when only one instance variable is needed.
-
- package Foo;
-
- sub new {
- my $type = shift;
- my $self;
- $self = shift;
- bless \$self, $type;
- }
-
- package main;
-
- $a = Foo->new( 42 );
- print "a=$$a\n";
-
-
-=head1 INSTANCE VARIABLE INHERITANCE
-
-This example demonstrates how one might inherit instance variables from a
-superclass for inclusion in the new class. This requires calling the
-superclass's constructor and adding one's own instance variables to the new
-object.
-
- package Bar;
-
- sub new {
- my $type = shift;
- my $self = {};
- $self->{'buz'} = 42;
- bless $self, $type;
- }
-
- package Foo;
- @ISA = qw( Bar );
-
- sub new {
- my $type = shift;
- my $self = Bar->new;
- $self->{'biz'} = 11;
- bless $self, $type;
- }
-
- package main;
-
- $a = Foo->new;
- print "buz = ", $a->{'buz'}, "\n";
- print "biz = ", $a->{'biz'}, "\n";
-
-
-
-=head1 OBJECT RELATIONSHIPS
-
-The following demonstrates how one might implement "containing" and "using"
-relationships between objects.
-
- package Bar;
-
- sub new {
- my $type = shift;
- my $self = {};
- $self->{'buz'} = 42;
- bless $self, $type;
- }
-
- package Foo;
-
- sub new {
- my $type = shift;
- my $self = {};
- $self->{'Bar'} = Bar->new;
- $self->{'biz'} = 11;
- bless $self, $type;
- }
-
- package main;
-
- $a = Foo->new;
- print "buz = ", $a->{'Bar'}->{'buz'}, "\n";
- print "biz = ", $a->{'biz'}, "\n";
-
-
-
-=head1 OVERRIDING SUPERCLASS METHODS
-
-The following example demonstrates how to override a superclass method and
-then call the overridden method. The B<SUPER> pseudo-class allows the
-programmer to call an overridden superclass method without actually knowing
-where that method is defined.
-
- package Buz;
- sub goo { print "here's the goo\n" }
-
- package Bar; @ISA = qw( Buz );
- sub google { print "google here\n" }
-
- package Baz;
- sub mumble { print "mumbling\n" }
-
- package Foo;
- @ISA = qw( Bar Baz );
-
- sub new {
- my $type = shift;
- bless [], $type;
- }
- sub grr { print "grumble\n" }
- sub goo {
- my $self = shift;
- $self->SUPER::goo();
- }
- sub mumble {
- my $self = shift;
- $self->SUPER::mumble();
- }
- sub google {
- my $self = shift;
- $self->SUPER::google();
- }
-
- package main;
-
- $foo = Foo->new;
- $foo->mumble;
- $foo->grr;
- $foo->goo;
- $foo->google;
-
-Note that C<SUPER> refers to the superclasses of the current package
-(C<Foo>), not to the superclasses of C<$self>.
-
-
-=head1 USING RELATIONSHIP WITH SDBM
-
-This example demonstrates an interface for the SDBM class. This creates a
-"using" relationship between the SDBM class and the new class Mydbm.
-
- package Mydbm;
-
- require SDBM_File;
- require Tie::Hash;
- @ISA = qw( Tie::Hash );
-
- sub TIEHASH {
- my $type = shift;
- my $ref = SDBM_File->new(@_);
- bless {'dbm' => $ref}, $type;
- }
- sub FETCH {
- my $self = shift;
- my $ref = $self->{'dbm'};
- $ref->FETCH(@_);
- }
- sub STORE {
- my $self = shift;
- if (defined $_[0]){
- my $ref = $self->{'dbm'};
- $ref->STORE(@_);
- } else {
- die "Cannot STORE an undefined key in Mydbm\n";
- }
- }
-
- package main;
- use Fcntl qw( O_RDWR O_CREAT );
-
- tie %foo, "Mydbm", "Sdbm", O_RDWR|O_CREAT, 0640;
- $foo{'bar'} = 123;
- print "foo-bar = $foo{'bar'}\n";
-
- tie %bar, "Mydbm", "Sdbm2", O_RDWR|O_CREAT, 0640;
- $bar{'Cathy'} = 456;
- print "bar-Cathy = $bar{'Cathy'}\n";
-
-=head1 THINKING OF CODE REUSE
-
-One strength of Object-Oriented languages is the ease with which old code
-can use new code. The following examples will demonstrate first how one can
-hinder code reuse and then how one can promote code reuse.
-
-This first example illustrates a class which uses a fully-qualified method
-call to access the "private" method BAZ(). The second example will show
-that it is impossible to override the BAZ() method.
-
- package FOO;
-
- sub new {
- my $type = shift;
- bless {}, $type;
- }
- sub bar {
- my $self = shift;
- $self->FOO::private::BAZ;
- }
-
- package FOO::private;
-
- sub BAZ {
- print "in BAZ\n";
- }
-
- package main;
-
- $a = FOO->new;
- $a->bar;
-
-Now we try to override the BAZ() method. We would like FOO::bar() to call
-GOOP::BAZ(), but this cannot happen because FOO::bar() explicitly calls
-FOO::private::BAZ().
-
- package FOO;
-
- sub new {
- my $type = shift;
- bless {}, $type;
- }
- sub bar {
- my $self = shift;
- $self->FOO::private::BAZ;
- }
-
- package FOO::private;
-
- sub BAZ {
- print "in BAZ\n";
- }
-
- package GOOP;
- @ISA = qw( FOO );
- sub new {
- my $type = shift;
- bless {}, $type;
- }
-
- sub BAZ {
- print "in GOOP::BAZ\n";
- }
-
- package main;
-
- $a = GOOP->new;
- $a->bar;
-
-To create reusable code we must modify class FOO, flattening class
-FOO::private. The next example shows a reusable class FOO which allows the
-method GOOP::BAZ() to be used in place of FOO::BAZ().
-
- package FOO;
-
- sub new {
- my $type = shift;
- bless {}, $type;
- }
- sub bar {
- my $self = shift;
- $self->BAZ;
- }
-
- sub BAZ {
- print "in BAZ\n";
- }
-
- package GOOP;
- @ISA = qw( FOO );
-
- sub new {
- my $type = shift;
- bless {}, $type;
- }
- sub BAZ {
- print "in GOOP::BAZ\n";
- }
-
- package main;
-
- $a = GOOP->new;
- $a->bar;
-
-=head1 CLASS CONTEXT AND THE OBJECT
-
-Use the object to solve package and class context problems. Everything a
-method needs should be available via the object or should be passed as a
-parameter to the method.
-
-A class will sometimes have static or global data to be used by the
-methods. A subclass may want to override that data and replace it with new
-data. When this happens the superclass may not know how to find the new
-copy of the data.
-
-This problem can be solved by using the object to define the context of the
-method. Let the method look in the object for a reference to the data. The
-alternative is to force the method to go hunting for the data ("Is it in my
-class, or in a subclass? Which subclass?"), and this can be inconvenient
-and will lead to hackery. It is better just to let the object tell the
-method where that data is located.
-
- package Bar;
-
- %fizzle = ( 'Password' => 'XYZZY' );
-
- sub new {
- my $type = shift;
- my $self = {};
- $self->{'fizzle'} = \%fizzle;
- bless $self, $type;
- }
-
- sub enter {
- my $self = shift;
-
- # Don't try to guess if we should use %Bar::fizzle
- # or %Foo::fizzle. The object already knows which
- # we should use, so just ask it.
- #
- my $fizzle = $self->{'fizzle'};
-
- print "The word is ", $fizzle->{'Password'}, "\n";
- }
-
- package Foo;
- @ISA = qw( Bar );
-
- %fizzle = ( 'Password' => 'Rumple' );
-
- sub new {
- my $type = shift;
- my $self = Bar->new;
- $self->{'fizzle'} = \%fizzle;
- bless $self, $type;
- }
-
- package main;
-
- $a = Bar->new;
- $b = Foo->new;
- $a->enter;
- $b->enter;
-
-=head1 INHERITING A CONSTRUCTOR
-
-An inheritable constructor should use the second form of bless() which allows
-blessing directly into a specified class. Notice in this example that the
-object will be a BAR not a FOO, even though the constructor is in class FOO.
-
- package FOO;
-
- sub new {
- my $type = shift;
- my $self = {};
- bless $self, $type;
- }
-
- sub baz {
- print "in FOO::baz()\n";
- }
-
- package BAR;
- @ISA = qw(FOO);
-
- sub baz {
- print "in BAR::baz()\n";
- }
-
- package main;
-
- $a = BAR->new;
- $a->baz;
-
-=head1 DELEGATION
-
-Some classes, such as SDBM_File, cannot be effectively subclassed because
-they create foreign objects. Such a class can be extended with some sort of
-aggregation technique such as the "using" relationship mentioned earlier or
-by delegation.
-
-The following example demonstrates delegation using an AUTOLOAD() function to
-perform message-forwarding. This will allow the Mydbm object to behave
-exactly like an SDBM_File object. The Mydbm class could now extend the
-behavior by adding custom FETCH() and STORE() methods, if this is desired.
-
- package Mydbm;
-
- require SDBM_File;
- require Tie::Hash;
- @ISA = qw(Tie::Hash);
-
- sub TIEHASH {
- my $type = shift;
- my $ref = SDBM_File->new(@_);
- bless {'delegate' => $ref};
- }
-
- sub AUTOLOAD {
- my $self = shift;
-
- # The Perl interpreter places the name of the
- # message in a variable called $AUTOLOAD.
-
- # DESTROY messages should never be propagated.
- return if $AUTOLOAD =~ /::DESTROY$/;
-
- # Remove the package name.
- $AUTOLOAD =~ s/^Mydbm:://;
-
- # Pass the message to the delegate.
- $self->{'delegate'}->$AUTOLOAD(@_);
- }
-
- package main;
- use Fcntl qw( O_RDWR O_CREAT );
-
- tie %foo, "Mydbm", "adbm", O_RDWR|O_CREAT, 0640;
- $foo{'bar'} = 123;
- print "foo-bar = $foo{'bar'}\n";
-
-=head1 SEE ALSO
+For information on OO programming with Perl, please see L<perlootut>
+and L<perlobj>.
-L<perlboot>, L<perltoot>, L<perltooc>.
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlbs2000.pod b/Master/tlpkg/tlperl/lib/pods/perlbs2000.pod
index b13d9840d27..6868557d021 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlbs2000.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlbs2000.pod
@@ -5,7 +5,7 @@ about pod in pod/perlpod.pod or the short summary in the INSTALL file.
=head1 NAME
-README.BS2000 - building and installing Perl for BS2000.
+perlbs2000 - building and installing Perl for BS2000.
=head1 SYNOPSIS
@@ -224,7 +224,7 @@ To subscribe, send an empty message to perl-mvs-subscribe@perl.org.
See also:
- http://lists.perl.org/showlist.cgi?name=perl-mvs
+ http://lists.perl.org/list/perl-mvs.html
There are web archives of the mailing list at:
diff --git a/Master/tlpkg/tlperl/lib/pods/perlcall.pod b/Master/tlpkg/tlperl/lib/pods/perlcall.pod
index df03ed6f200..4c7ffc9fb2a 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlcall.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlcall.pod
@@ -28,7 +28,7 @@ called instead.
=item * An Event-Driven Program
The classic example of where callbacks are used is when writing an
-event driven program, such as for an X windows application. In this case
+event driven program, such as for an X11 application. In this case
you register functions to be called whenever specific events occur,
e.g., a mouse button is pressed, the cursor moves into a window or a
menu item is selected.
@@ -203,7 +203,6 @@ As with G_SCALAR, this flag has 2 effects:
It indicates to the subroutine being called that it is executing in a
list context (if it executes I<wantarray> the result will be true).
-
=item 2.
It ensures that all items returned from the subroutine will be
@@ -1901,7 +1900,7 @@ The pattern of macro calls is like this:
dMULTICALL; /* Declare local variables */
I32 gimme = G_SCALAR; /* context of the call: G_SCALAR,
- * G_LIST, or G_VOID */
+ * G_ARRAY, or G_VOID */
PUSH_MULTICALL(cv); /* Set up the context for calling cv,
and set local vars appropriately */
diff --git a/Master/tlpkg/tlperl/lib/pods/perlce.pod b/Master/tlpkg/tlperl/lib/pods/perlce.pod
index 2ca2bf0ae60..7481badd4a0 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlce.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlce.pod
@@ -20,38 +20,38 @@ software is distributed.
=item *
-C<miniperl> is built. This is a single executable (without DLL), intended
+F<miniperl> is built. This is a single executable (without DLL), intended
to run on Win32, and it will facilitate remaining build process; all binaries
built after it are foreign and should not run locally.
-C<miniperl> is built using C<./win32/Makefile>; this is part of normal
+F<miniperl> is built using F<./win32/Makefile>; this is part of normal
build process invoked as dependency from wince/Makefile.ce
=item *
-After C<miniperl> is built, C<configpm> is invoked to create right C<Config.pm>
+After F<miniperl> is built, F<configpm> is invoked to create right F<Config.pm>
in right place and its corresponding Cross.pm.
-Unlike Win32 build, miniperl will not have C<Config.pm> of host within reach;
-it rather will use C<Config.pm> from within cross-compilation directories.
+Unlike Win32 build, miniperl will not have F<Config.pm> of host within reach;
+it rather will use F<Config.pm> from within cross-compilation directories.
-File C<Cross.pm> is dead simple: for given cross-architecture places in @INC
-a path where perl modules are, and right C<Config.pm> in that place.
+File F<Cross.pm> is dead simple: for given cross-architecture places in @INC
+a path where perl modules are, and right F<Config.pm> in that place.
That said, C<miniperl -Ilib -MConfig -we 1> should report an error, because
-it can not find C<Config.pm>. If it does not give an error -- wrong C<Config.pm>
+it can not find F<Config.pm>. If it does not give an error -- wrong F<Config.pm>
is substituted, and resulting binaries will be a mess.
C<miniperl -MCross -MConfig -we 1> should run okay, and it will provide right
-C<Config.pm> for further compilations.
+F<Config.pm> for further compilations.
=item *
-During extensions build phase, a script C<./win32/buldext.pl> is invoked,
-which in turn steps in C<./ext> subdirectories and performs a build of
+During extensions build phase, a script F<./win32/buldext.pl> is invoked,
+which in turn steps in F<./ext> subdirectories and performs a build of
each extension in turn.
-All invokes of C<Makefile.PL> are provided with C<-MCross> so to enable cross-
+All invokes of F<Makefile.PL> are provided with C<-MCross> so to enable cross-
compile.
=back
@@ -79,14 +79,14 @@ For compiling, you need following:
=back
Needed source files can be downloaded at
-L<http://www.rainer-keuchel.de/wince/dirlist.html>
+L<http://perlce.sourceforge.net>
=head3 Make
-Normally you only need to edit C<./win32/ce-helpers/compile.bat>
+Normally you only need to edit F<./win32/ce-helpers/compile.bat>
to reflect your system and run it.
-File C<./win32/ce-helpers/compile.bat> is actually a wrapper to call
+File F<./win32/ce-helpers/compile.bat> is actually a wrapper to call
C<nmake -f makefile.ce> with appropriate parameters and it accepts extra
parameters and forwards them to C<nmake> command as additional
arguments. You should pass target this way.
@@ -95,9 +95,9 @@ To prepare distribution you need to do following:
=over 4
-=item * go to C<./win32> subdirectory
+=item * go to F<./win32> subdirectory
-=item * edit file C<./win32/ce-helpers/compile.bat>
+=item * edit file F<./win32/ce-helpers/compile.bat>
=item * run
compile.bat
@@ -107,7 +107,7 @@ To prepare distribution you need to do following:
=back
-C<Makefile.ce> has C<CROSS_NAME> macro, and it is used further to refer to
+F<Makefile.ce> has C<CROSS_NAME> macro, and it is used further to refer to
your cross-compilation scheme. You could assign a name to it, but this
is not necessary, because by default it is assigned after your machine
configuration name, such as "wince-sh3-hpc-wce211", and this is enough
@@ -115,7 +115,7 @@ to distinguish different builds at the same time. This option could be
handy for several different builds on same platform to perform, say,
threaded build. In a following example we assume that all required
environment variables are set properly for C cross-compiler (a special
-*.bat file could fit perfectly to this purpose) and your C<compile.bat>
+*.bat file could fit perfectly to this purpose) and your F<compile.bat>
has proper "MACHINE" parameter set, to, say, C<wince-mips-pocket-wce300>.
compile.bat
@@ -130,10 +130,10 @@ Target C<dist> prepares distribution file set. Target C<zipdist> performs
same as C<dist> but additionally compresses distribution files into zip
archive.
-NOTE: during a build there could be created a number (or one) of C<Config.pm>
-for cross-compilation ("foreign" C<Config.pm>) and those are hidden inside
-C<../xlib/$(CROSS_NAME)> with other auxiliary files, but, and this is important to
-note, there should be B<no> C<Config.pm> for host miniperl.
+NOTE: during a build there could be created a number (or one) of F<Config.pm>
+for cross-compilation ("foreign" F<Config.pm>) and those are hidden inside
+F<../xlib/$(CROSS_NAME)> with other auxiliary files, but, and this is important to
+note, there should be B<no> F<Config.pm> for host miniperl.
If you'll get an error that perl could not find Config.pm somewhere in building
process this means something went wrong. Most probably you forgot to
specify a cross-compilation when invoking miniperl.exe to Makefile.PL
@@ -158,16 +158,16 @@ F<perlce-user@lists.sourceforge.net> mailing list.
PerlCE is currently linked with a simple console window, so it also
works on non-hpc devices.
-The simple stdio implementation creates the files C<stdin.txt>,
-C<stdout.txt> and C<stderr.txt>, so you might examine them if your
+The simple stdio implementation creates the files F<stdin.txt>,
+F<stdout.txt> and F<stderr.txt>, so you might examine them if your
console has only a limited number of cols.
When exitcode is non-zero, a message box appears, otherwise the
console closes, so you might have to catch an exit with
status 0 in your program to see any output.
-stdout/stderr now go into the files C</perl-stdout.txt> and
-C</perl-stderr.txt.>
+stdout/stderr now go into the files F</perl-stdout.txt> and
+F</perl-stderr.txt.>
PerlIDE is handy to deal with perlce.
@@ -196,7 +196,7 @@ Semi-list for executables.
=item UNIXROOTPATH
-- Root for accessing some special files, i.e. C</dev/null>, C</etc/services>.
+- Root for accessing some special files, i.e. F</dev/null>, F</etc/services>.
=item ROWS/COLS
@@ -218,7 +218,7 @@ or via the PerlIDE.
=head2 REGISTRY
To start perl by clicking on a perl source file, you have
-to make the according entries in HKCR (see C<ce-helpers/wince-reg.bat>).
+to make the according entries in HKCR (see F<ce-helpers/wince-reg.bat>).
cereg.exe (which must be executed on a desktop pc with
ActiveSync) is reported not to work on some devices.
You have to create the registry entries by hand using a
@@ -271,21 +271,21 @@ The port for Win32 was used as a reference.
=item 5.6.0
Initial port of perl to WinCE. It was performed in separate directory
-named C<wince>. This port was based on contents of C<./win32> directory.
-C<miniperl> was not built, user must have HOST perl and properly edit
-C<makefile.ce> to reflect this.
+named F<wince>. This port was based on contents of F<./win32> directory.
+F<miniperl> was not built, user must have HOST perl and properly edit
+F<makefile.ce> to reflect this.
=item 5.8.0
-wince port was kept in the same C<./wince> directory, and C<wince/Makefile.ce>
+wince port was kept in the same F<./wince> directory, and F<wince/Makefile.ce>
was used to invoke native compiler to create HOST miniperl, which then
facilitates cross-compiling process.
Extension building support was added.
=item 5.9.4
-Two directories C<./win32> and C<./wince> were merged, so perlce build
-process comes in C<./win32> directory.
+Two directories F<./win32> and F<./wince> were merged, so perlce build
+process comes in F<./win32> directory.
=back
diff --git a/Master/tlpkg/tlperl/lib/pods/perlcheat.pod b/Master/tlpkg/tlperl/lib/pods/perlcheat.pod
index d210fa0a90b..deee2fecdfb 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlcheat.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlcheat.pod
@@ -10,68 +10,70 @@ already be overwhelming.
=head2 The sheet
- CONTEXTS SIGILS ARRAYS HASHES
- void $scalar whole: @array %hash
- scalar @array slice: @array[0, 2] @hash{'a', 'b'}
- list %hash element: $array[0] $hash{'a'}
- &sub
- *glob SCALAR VALUES
- number, string, reference, glob, undef
+ CONTEXTS SIGILS ref ARRAYS HASHES
+ void $scalar SCALAR @array %hash
+ scalar @array ARRAY @array[0, 2] @hash{'a', 'b'}
+ list %hash HASH $array[0] $hash{'a'}
+ &sub CODE
+ *glob GLOB SCALAR VALUES
+ FORMAT number, string, ref, glob, undef
REFERENCES
- \ references $$foo[1] aka $foo->[1]
- $@%&* dereference $$foo{bar} aka $foo->{bar}
- [] anon. arrayref ${$$foo[1]}[2] aka $foo->[1]->[2]
- {} anon. hashref ${$$foo[1]}[2] aka $foo->[1][2]
- \() list of refs
- NUMBERS vs STRINGS LINKS
- OPERATOR PRECEDENCE = = perl.plover.com
- -> + . search.cpan.org
- ++ -- == != eq ne cpan.org
- ** < > <= >= lt gt le ge pm.org
- ! ~ \ u+ u- <=> cmp tpj.com
- =~ !~ perldoc.com
- * / % x SYNTAX
- + - . for (LIST) { }, for (a;b;c) { }
- << >> while ( ) { }, until ( ) { }
- named uops if ( ) { } elsif ( ) { } else { }
- < > <= >= lt gt le ge unless ( ) { } elsif ( ) { } else { }
- == != <=> eq ne cmp ~~ for equals foreach (ALWAYS)
+ \ reference $$foo[1] aka $foo->[1]
+ $@%&* dereference $$foo{bar} aka $foo->{bar}
+ [] anon. arrayref ${$$foo[1]}[2] aka $foo->[1]->[2]
+ {} anon. hashref ${$$foo[1]}[2] aka $foo->[1][2]
+ \() list of refs
+ NUMBERS vs STRINGS LINKS
+ OPERATOR PRECEDENCE = = perldoc.perl.org
+ -> + . search.cpan.org
+ ++ -- == != eq ne cpan.org
+ ** < > <= >= lt gt le ge pm.org
+ ! ~ \ u+ u- <=> cmp p3rl.org
+ =~ !~ perlmonks.org
+ * / % x SYNTAX
+ + - . foreach (LIST) { } for (a;b;c) { }
+ << >> while (e) { } until (e) { }
+ named uops if (e) { } elsif (e) { } else { }
+ < > <= >= lt gt le ge unless (e) { } elsif (e) { } else { }
+ == != <=> eq ne cmp ~~ given (e) { when (e) {} default {} }
&
- | ^ REGEX METACHARS REGEX MODIFIERS
- && ^ string begin /i case insens.
- || // $ str. end (before \n) /m line based ^$
- .. ... + one or more /s . includes \n
- ?: * zero or more /x ign. wh.space
- = += -= *= etc. ? zero or one /g global
- , => {3,7} repeat in range /o cmpl pat. once
- list ops () capture
- not (?:) no capture REGEX CHARCLASSES
- and [] character class . == [^\n]
- or xor | alternation \s == whitespace
- \b word boundary \w == word characters
- \z string end \d == digits
- DO \S, \W and \D negate
- use strict; DON'T
- use warnings; "$foo" LINKS
- my $var; $$variable_name perl.com
- open() or die $!; `$userinput` use.perl.org
- use Modules; /$userinput/ perl.apache.org
-
+ | ^ REGEX METACHARS REGEX MODIFIERS
+ && ^ string begin /i case insensitive
+ || // $ str end (bfr \n) /m line based ^$
+ .. ... + one or more /s . includes \n
+ ?: * zero or more /x ignore wh.space
+ = += -= *= etc ? zero or one /p preserve
+ , => {3,7} repeat in range /a ASCII /aa safe
+ list ops | alternation /l locale /d dual
+ not [] character class /u Unicode
+ and \b word boundary /e evaluate /ee rpts
+ or xor \z string end /g global
+ () capture /o compile pat once
+ DEBUG (?:p) no capture
+ -MO=Deparse (?#t) comment REGEX CHARCLASSES
+ -MO=Terse (?=p) ZW pos ahead . [^\n]
+ -D## (?!p) ZW neg ahead \s whitespace
+ -d:Trace (?<=p) ZW pos behind \K \w word chars
+ (?<!p) ZW neg behind \d digits
+ CONFIGURATION (?>p) no backtrack \pP named property
+ perl -V:ivsize (?|p|p)branch reset \h horiz.wh.space
+ (?&NM) cap to name \R linebreak
+ \S \W \D \H negate
FUNCTION RETURN LISTS
stat localtime caller SPECIAL VARIABLES
- 0 dev 0 second 0 package $_ default variable
- 1 ino 1 minute 1 filename $0 program name
- 2 mode 2 hour 2 line $/ input separator
- 3 nlink 3 day 3 subroutine $\ output separator
- 4 uid 4 month-1 4 hasargs $| autoflush
- 5 gid 5 year-1900 5 wantarray $! sys/libcall error
- 6 rdev 6 weekday 6 evaltext $@ eval error
- 7 size 7 yearday 7 is_require $$ process ID
- 8 atime 8 is_dst 8 hints $. line number
- 9 mtime 9 bitmask @ARGV command line args
- 10 ctime just use @INC include paths
- 11 blksz POSIX:: 3..9 only @_ subroutine args
- 12 blcks strftime! with EXPR %ENV environment
+ 0 dev 0 second 0 package $_ default variable
+ 1 ino 1 minute 1 filename $0 program name
+ 2 mode 2 hour 2 line $/ input separator
+ 3 nlink 3 day 3 subroutine $\ output separator
+ 4 uid 4 month-1 4 hasargs $| autoflush
+ 5 gid 5 year-1900 5 wantarray $! sys/libcall error
+ 6 rdev 6 weekday 6 evaltext $@ eval error
+ 7 size 7 yearday 7 is_require $$ process ID
+ 8 atime 8 is_dst 8 hints $. line number
+ 9 mtime 9 bitmask @ARGV command line args
+ 10 ctime 10 hinthash @INC include paths
+ 11 blksz 3..10 only @_ subroutine args
+ 12 blcks with EXPR %ENV environment
=head1 ACKNOWLEDGEMENTS
diff --git a/Master/tlpkg/tlperl/lib/pods/perlcn.pod b/Master/tlpkg/tlperl/lib/pods/perlcn.pod
index eeb6403d451..e45ebff2e70 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlcn.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlcn.pod
@@ -107,7 +107,7 @@ Perl ÓʵÝÂÛ̳һÀÀ
=over 4
-=item L<http://www.oreilly.com.cn/indexcat.php?c=perl>
+=item L<http://www.oreilly.com.cn/index.php?func=booklist&cat=68>
¼òÌåÖÐÎÄ°æµÄÅ·À³Àñ Perl Êé½å
diff --git a/Master/tlpkg/tlperl/lib/pods/perlcompile.pod b/Master/tlpkg/tlperl/lib/pods/perlcompile.pod
deleted file mode 100644
index dc829f45efd..00000000000
--- a/Master/tlpkg/tlperl/lib/pods/perlcompile.pod
+++ /dev/null
@@ -1,293 +0,0 @@
-=head1 NAME
-
-perlcompile - Introduction to the Perl Compiler-Translator
-
-=head1 DESCRIPTION
-
-Perl has always had a compiler: your source is compiled into an
-internal form (a parse tree) which is then optimized before being
-run. Since version 5.005, Perl has shipped with a module
-capable of inspecting the optimized parse tree (C<B>), and this has
-been used to write many useful utilities, including a module that lets
-you turn your Perl into C source code that can be compiled into a
-native executable.
-
-The C<B> module provides access to the parse tree, and other modules
-("back ends") do things with the tree. Some write it out as
-semi-human-readable text. Another traverses the parse tree to build a
-cross-reference of which subroutines, formats, and variables are used
-where. Another checks your code for dubious constructs. Yet another back
-end dumps the parse tree back out as Perl source, acting as a source code
-beautifier or deobfuscator.
-
-Because its original purpose was to be a way to produce C code
-corresponding to a Perl program, and in turn a native executable, the
-C<B> module and its associated back ends are known as "the
-compiler", even though they don't really compile anything.
-Different parts of the compiler are more accurately a "translator",
-or an "inspector", but people want Perl to have a "compiler
-option" not an "inspector gadget". What can you do?
-
-This document covers the use of the Perl compiler: which modules
-it comprises, how to use the most important of the back end modules,
-what problems there are, and how to work around them.
-
-=head2 Layout
-
-The compiler back ends are in the C<B::> hierarchy, and the front-end
-(the module that you, the user of the compiler, will sometimes
-interact with) is the O module.
-
-Here are the important back ends to know about, with their status
-expressed as a number from 0 (outline for later implementation) to
-10 (if there's a bug in it, we're very surprised):
-
-=over 4
-
-=item B::Lint
-
-Complains if it finds dubious constructs in your source code. Status:
-6 (it works adequately, but only has a very limited number of areas
-that it checks).
-
-=item B::Deparse
-
-Recreates the Perl source, making an attempt to format it coherently.
-Status: 8 (it works nicely, but a few obscure things are missing).
-
-=item B::Xref
-
-Reports on the declaration and use of subroutines and variables.
-Status: 8 (it works nicely, but still has a few lingering bugs).
-
-=back
-
-=head1 Using The Back Ends
-
-The following sections describe how to use the various compiler back
-ends. They're presented roughly in order of maturity, so that the
-most stable and proven back ends are described first, and the most
-experimental and incomplete back ends are described last.
-
-The O module automatically enabled the B<-c> flag to Perl, which
-prevents Perl from executing your code once it has been compiled.
-This is why all the back ends print:
-
- myperlprogram syntax OK
-
-before producing any other output.
-
-=head2 The Cross-Referencing Back End
-
-The cross-referencing back end (B::Xref) produces a report on your program,
-breaking down declarations and uses of subroutines and variables (and
-formats) by file and subroutine. For instance, here's part of the
-report from the I<pod2man> program that comes with Perl:
-
- Subroutine clear_noremap
- Package (lexical)
- $ready_to_print i1069, 1079
- Package main
- $& 1086
- $. 1086
- $0 1086
- $1 1087
- $2 1085, 1085
- $3 1085, 1085
- $ARGV 1086
- %HTML_Escapes 1085, 1085
-
-This shows the variables used in the subroutine C<clear_noremap>. The
-variable C<$ready_to_print> is a my() (lexical) variable,
-B<i>ntroduced (first declared with my()) on line 1069, and used on
-line 1079. The variable C<$&> from the main package is used on 1086,
-and so on.
-
-A line number may be prefixed by a single letter:
-
-=over 4
-
-=item i
-
-Lexical variable introduced (declared with my()) for the first time.
-
-=item &
-
-Subroutine or method call.
-
-=item s
-
-Subroutine defined.
-
-=item r
-
-Format defined.
-
-=back
-
-The most useful option the cross referencer has is to save the report
-to a separate file. For instance, to save the report on
-I<myperlprogram> to the file I<report>:
-
- $ perl -MO=Xref,-oreport myperlprogram
-
-=head2 The Decompiling Back End
-
-The Deparse back end turns your Perl source back into Perl source. It
-can reformat along the way, making it useful as a deobfuscator. The
-most basic way to use it is:
-
- $ perl -MO=Deparse myperlprogram
-
-You'll notice immediately that Perl has no idea of how to paragraph
-your code. You'll have to separate chunks of code from each other
-with newlines by hand. However, watch what it will do with
-one-liners:
-
- $ perl -MO=Deparse -e '$op=shift||die "usage: $0
- code [...]";chomp(@ARGV=<>)unless@ARGV; for(@ARGV){$was=$_;eval$op;
- die$@ if$@; rename$was,$_ unless$was eq $_}'
- -e syntax OK
- $op = shift @ARGV || die("usage: $0 code [...]");
- chomp(@ARGV = <ARGV>) unless @ARGV;
- foreach $_ (@ARGV) {
- $was = $_;
- eval $op;
- die $@ if $@;
- rename $was, $_ unless $was eq $_;
- }
-
-The decompiler has several options for the code it generates. For
-instance, you can set the size of each indent from 4 (as above) to
-2 with:
-
- $ perl -MO=Deparse,-si2 myperlprogram
-
-The B<-p> option adds parentheses where normally they are omitted:
-
- $ perl -MO=Deparse -e 'print "Hello, world\n"'
- -e syntax OK
- print "Hello, world\n";
- $ perl -MO=Deparse,-p -e 'print "Hello, world\n"'
- -e syntax OK
- print("Hello, world\n");
-
-See L<B::Deparse> for more information on the formatting options.
-
-=head2 The Lint Back End
-
-The lint back end (B::Lint) inspects programs for poor style. One
-programmer's bad style is another programmer's useful tool, so options
-let you select what is complained about.
-
-To run the style checker across your source code:
-
- $ perl -MO=Lint myperlprogram
-
-To disable context checks and undefined subroutines:
-
- $ perl -MO=Lint,-context,-undefined-subs myperlprogram
-
-See L<B::Lint> for information on the options.
-
-=head1 Module List for the Compiler Suite
-
-=over 4
-
-=item B
-
-This module is the introspective ("reflective" in Java terms)
-module, which allows a Perl program to inspect its innards. The
-back end modules all use this module to gain access to the compiled
-parse tree. You, the user of a back end module, will not need to
-interact with B.
-
-=item O
-
-This module is the front-end to the compiler's back ends. Normally
-called something like this:
-
- $ perl -MO=Deparse myperlprogram
-
-This is like saying C<use O 'Deparse'> in your Perl program.
-
-=item B::Concise
-
-This module prints a concise (but complete) version of the Perl parse
-tree. Its output is more customizable than the one of B::Terse or
-B::Debug (and it can emulate them). This module is useful for people who
-are writing their own back end, or who are learning about the Perl
-internals. It's not useful to the average programmer.
-
-=item B::Debug
-
-This module dumps the Perl parse tree in verbose detail to STDOUT.
-It's useful for people who are writing their own back end, or who
-are learning about the Perl internals. It's not useful to the
-average programmer.
-
-=item B::Deparse
-
-This module produces Perl source code from the compiled parse tree.
-It is useful in debugging and deconstructing other people's code,
-also as a pretty-printer for your own source. See
-L</"The Decompiling Back End"> for details about usage.
-
-=item B::Lint
-
-This module inspects the compiled form of your source code for things
-which, while some people frown on them, aren't necessarily bad enough
-to justify a warning. For instance, use of an array in scalar context
-without explicitly saying C<scalar(@array)> is something that Lint
-can identify. See L</"The Lint Back End"> for details about usage.
-
-=item B::Showlex
-
-This module prints out the my() variables used in a function or a
-file. To get a list of the my() variables used in the subroutine
-mysub() defined in the file myperlprogram:
-
- $ perl -MO=Showlex,mysub myperlprogram
-
-To get a list of the my() variables used in the file myperlprogram:
-
- $ perl -MO=Showlex myperlprogram
-
-[BROKEN]
-
-=item B::Terse
-
-This module prints the contents of the parse tree, but without as much
-information as B::Debug. For comparison, C<print "Hello, world.">
-produced 96 lines of output from B::Debug, but only 6 from B::Terse.
-
-This module is useful for people who are writing their own back end,
-or who are learning about the Perl internals. It's not useful to the
-average programmer.
-
-=item B::Xref
-
-This module prints a report on where the variables, subroutines, and
-formats are defined and used within a program and the modules it
-loads. See L</"The Cross-Referencing Back End"> for details about
-usage.
-
-=back
-
-=head1 KNOWN PROBLEMS
-
-BEGIN{} blocks are executed while compiling your code. Any external
-state that is initialized in BEGIN{}, such as opening files, initiating
-database connections etc., do not behave properly. To work around
-this, Perl has an INIT{} block that corresponds to code being executed
-before your program begins running but after your program has finished
-being compiled. Execution order: BEGIN{}, (possible save of state
-through compiler back-end), INIT{}, program runs, END{}.
-
-=head1 AUTHOR
-
-This document was originally written by Nathan Torkington, and is now
-maintained by the perl5-porters mailing list
-I<perl5-porters@perl.org>.
-
-=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlcygwin.pod b/Master/tlpkg/tlperl/lib/pods/perlcygwin.pod
index 713c2206793..4e3e6f57ff8 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlcygwin.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlcygwin.pod
@@ -1,10 +1,10 @@
If you read this file _as_is_, just ignore the funny characters you
-see. It is written in the POD format (see pod/perlpod.pod) which is
+see. It is written in the POD format (see F<pod/perlpod.pod>) which is
specially designed to be readable as is.
=head1 NAME
-README.cygwin - Perl for Cygwin
+perlcygwin - Perl for Cygwin
=head1 SYNOPSIS
@@ -31,7 +31,7 @@ L<http://www.cygwin.com/>
A recent net or commercial release of Cygwin is required.
-At the time this document was last updated, Cygwin 1.5.24 was current.
+At the time this document was last updated, Cygwin 1.7.10 was current.
=head2 Cygwin Configuration
@@ -41,8 +41,8 @@ that Perl builds cleanly. These changes are B<not> required for normal
Perl usage.
B<NOTE:> The binaries that are built will run on all Win32 versions.
-They do not depend on your host system (Win9x/WinME, WinNT/Win2K)
-or your Cygwin configuration (I<ntea>, I<ntsec>, binary/text mounts).
+They do not depend on your host system (WinXP/Win2K/Win7) or your
+Cygwin configuration (binary/text mounts, cvgserver).
The only dependencies come from hard-coded pathnames like C</usr/local>.
However, your host system and Cygwin configuration will affect Perl's
runtime behavior (see L</"TEST">).
@@ -52,7 +52,7 @@ runtime behavior (see L</"TEST">).
=item * C<PATH>
Set the C<PATH> environment variable so that Configure finds the Cygwin
-versions of programs. Any Windows directories should be removed or
+versions of programs. Any not-needed Windows directories should be removed or
moved to the end of your C<PATH>.
=item * I<nroff>
@@ -60,28 +60,13 @@ moved to the end of your C<PATH>.
If you do not have I<nroff> (which is part of the I<groff> package),
Configure will B<not> prompt you to install I<man> pages.
-=item * Permissions
-
-On WinNT with either the I<ntea> or I<ntsec> C<CYGWIN> settings, directory
-and file permissions may not be set correctly. Since the build process
-creates directories and files, to be safe you may want to run a
-C<chmod -R +w *> on the entire Perl source tree.
-
-Also, it is a well known WinNT "feature" that files created by a login
-that is a member of the I<Administrators> group will be owned by the
-I<Administrators> group. Depending on your umask, you may find that you
-can not write to files that you just created (because you are no longer
-the owner). When using the I<ntsec> C<CYGWIN> setting, this is not an
-issue because it "corrects" the ownership to what you would expect on
-a UNIX system.
-
=back
=head1 CONFIGURE PERL ON CYGWIN
The default options gathered by Configure with the assistance of
F<hints/cygwin.sh> will build a Perl that supports dynamic loading
-(which requires a shared F<libperl.dll>).
+(which requires a shared F<cygperl5_16.dll>).
This will run Configure and keep a record:
@@ -122,17 +107,6 @@ DES crypt port by Corinna Vinschen.
Alternatively, the crypt libraries in GNU libc have been ported to Cygwin.
-The DES based Ultra Fast Crypt port was done by Alexey Truhan:
-
- ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/porters/Okhapkin_Sergey/cw32crypt-dist-0.tgz
-
-NOTE: There are various export restrictions on DES implementations,
-see the glibc README for more details.
-
-The MD5 port was done by Andy Piper:
-
- ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/porters/Okhapkin_Sergey/libcrypt.tgz
-
=item * C<-lgdbm_compat> (C<use GDBM_File>)
GDBM is available for Cygwin.
@@ -143,8 +117,7 @@ NOTE: The GDBM library only works on NTFS partitions.
BerkeleyDB is available for Cygwin.
-NOTE: The BerkeleyDB library only completely works on NTFS partitions
-and db-4.3 is flawed.
+NOTE: The BerkeleyDB library only completely works on NTFS partitions.
=item * C<cygserver> (C<use IPC::SysV>)
@@ -177,10 +150,11 @@ prompts you or you can define (undefine) symbols on the command line.
Undefining this symbol forces Perl to be compiled statically.
-=item * C<-Uusemymalloc>
+=item * C<-Dusemymalloc>
-By default Perl uses the C<malloc()> included with the Perl source. If you
-want to force Perl to build with the system C<malloc()> undefine this symbol.
+By default Perl does not use the C<malloc()> included with the Perl source,
+because it was slower and not entirely thread-safe. If you want to force
+Perl to build with the old -Dusemymalloc define this.
=item * C<-Uuseperlio>
@@ -190,12 +164,13 @@ default; it is not recommended to disable PerlIO.
=item * C<-Dusemultiplicity>
Multiplicity is required when embedding Perl in a C program and using
-more than one interpreter instance. This works with the Cygwin port.
+more than one interpreter instance. This is only required when you build
+a not-threaded perl with C<-Uuseithreads>.
-=item * C<-Duse64bitint>
+=item * C<-Uuse64bitint>
-By default Perl uses 32 bit integers. If you want to use larger 64
-bit integers, define this symbol.
+By default Perl uses 64 bit integers. If you want to use smaller 32 bit
+integers, define this symbol.
=item * C<-Duselongdouble>
@@ -203,12 +178,11 @@ I<gcc> supports long doubles (12 bytes). However, several additional
long double math functions are necessary to use them within Perl
(I<{atan2, cos, exp, floor, fmod, frexp, isnan, log, modf, pow, sin, sqrt}l,
strtold>).
-These are B<not> yet available with Cygwin.
+These are B<not> yet available with newlib, the Cygwin libc.
-=item * C<-Dusethreads>
+=item * C<-Uuseithreads>
-POSIX threads are implemented in Cygwin, define this symbol if you want
-a threaded perl.
+Define this symbol if you want not-threaded faster perl.
=item * C<-Duselargefiles>
@@ -217,9 +191,9 @@ this will be correctly detected and defined by Configure.
=item * C<-Dmksymlinks>
-Use this to build perl outside of the source tree. This works with Cygwin.
-Details can be found in the F<INSTALL> document. This is the recommended
-way to build perl from sources.
+Use this to build perl outside of the source tree. Details can be
+found in the F<INSTALL> document. This is the recommended way to
+build perl from sources.
=back
@@ -334,7 +308,7 @@ A C<fork()> failure may result in the following tests failing:
ext/IO/lib/IO/t/io_sock.t
ext/IO/lib/IO/t/io_unix.t
-See comment on fork in L<Miscellaneous> below.
+See comment on fork in L</Miscellaneous> below.
=head1 Specific features of the Cygwin port
@@ -349,33 +323,29 @@ to portability, more information can be found in the Cygwin documentation.
=item * Pathnames
-Cygwin pathnames can be separated by forward (F</>) or backward (F<\\>)
-slashes. They may also begin with drive letters (F<C:>) or Universal
-Naming Codes (F<//UNC>). DOS device names (F<aux>, F<con>, F<prn>,
-F<com*>, F<lpt?>, F<nul>) are invalid as base filenames. However, they
-can be used in extensions (e.g., F<hello.aux>). Names may contain all
-printable characters except these:
-
- : * ? " < > |
+Cygwin pathnames are separated by forward (F</>) slashes, Universal
+Naming Codes (F<//UNC>) are also supported Since cygwin-1.7 non-POSIX
+pathnames are disencouraged. Names may contain all printable
+characters.
File names are case insensitive, but case preserving. A pathname that
-contains a backslash or drive letter is a Win32 pathname (and not subject
-to the translations applied to POSIX style pathnames).
+contains a backslash or drive letter is a Win32 pathname, and not
+subject to the translations applied to POSIX style pathnames, but
+cygwin will warn you, so better convert them to POSIX.
For conversion we have C<Cygwin::win_to_posix_path()> and
C<Cygwin::posix_to_win_path()>.
-Pathnames may not contain Unicode characters. C<Cygwin> still uses the
-ANSI API calls and no Unicode calls because of newlib deficiencies.
-There's an unofficial unicode patch for cygwin at
-L<http://www.okisoft.co.jp/esc/utf8-cygwin/>
+Since cygwin-1.7 pathnames are UTF-8 encoded.
=item * Text/Binary
+Since cywgin-1.7 textmounts are deprecated and stronlgy discouraged.
+
When a file is opened it is in either text or binary mode. In text mode
a file is subject to CR/LF/Ctrl-Z translations. With Cygwin, the default
mode for an C<open()> is determined by the mode of the mount that underlies
-the file. See C<Cygwin::is_binmount()>. Perl provides a C<binmode()> function
+the file. See L</Cygwin::is_binmount>(). Perl provides a C<binmode()> function
to set binary mode on files that otherwise would be treated as text.
C<sysopen()> with the C<O_TEXT> flag sets text mode on files that otherwise
would be treated as binary:
@@ -411,8 +381,8 @@ extension transparent by looking for F<foo.exe> when you ask for F<foo>
(unless a F<foo> also exists). Cygwin does not require a F<.exe>
extension, but I<gcc> adds it automatically when building a program.
However, when accessing an executable as a normal file (e.g., I<cp>
-in a makefile) the F<.exe> is not transparent. The I<install> included
-with Cygwin automatically appends a F<.exe> when necessary.
+in a makefile) the F<.exe> is not transparent. The I<install> program
+included with Cygwin automatically appends a F<.exe> when necessary.
=item * Cygwin vs. Windows process ids
@@ -428,6 +398,32 @@ to translate between them.
Under Cygwin, $^E is the same as $!. When using L<Win32 API Functions|Win32>,
use C<Win32::GetLastError()> to get the last Windows error.
+=item * rebase errors on fork or system
+
+Using C<fork()> or C<system()> out to another perl after loading multiple dlls
+may result on a DLL baseaddress conflict. The internal cygwin error
+looks like like the following:
+
+ 0 [main] perl 8916 child_info_fork::abort: data segment start: parent
+ (0xC1A000) != child(0xA6A000)
+
+or:
+
+ 183 [main] perl 3588 C:\cygwin\bin\perl.exe: *** fatal error - unable to remap C:\cygwin\bin\cygsvn_subr-1-0.dll to same address as parent(0x6FB30000) != 0x6FE60000
+ 46 [main] perl 3488 fork: child 3588 - died waiting for dll loading, errno11
+
+See L<http://cygwin.com/faq/faq-nochunks.html#faq.using.fixing-fork-failures>
+It helps if not too many DLLs are loaded in memory so the available address space is larger,
+e.g. stopping the MS Internet Explorer might help.
+
+Use the perlrebase or rebase utilities to resolve the conflicting dll addresses.
+The rebase package is included in the Cygwin setup. Use F<setup.exe>
+from L<http://www.cygwin.com/setup.exe> to install it.
+
+1. kill all perl processes and run C<perlrebase> or
+
+2. kill all cygwin processes and services, start dash from cmd.exe and run C<rebaseall>.
+
=item * C<chown()>
On WinNT C<chown()> can change a file's user and group IDs. On Win9x C<chown()>
@@ -448,18 +444,6 @@ of the file being edited C<perl -i.bak> because of windowish restrictions,
therefore Perl adds the suffix C<.bak> automatically if you use C<perl -i>
without specifying a backup extension.
-Using C<fork()> after loading multiple dlls may fail with an internal cygwin
-error like the following:
-
- C:\CYGWIN\BIN\PERL.EXE: *** couldn't allocate memory 0x10000(4128768) for 'C:\CYGWIN\LIB\PERL5\5.6.1\CYGWIN-MULTI\AUTO\SOCKET\SOCKET.DLL' alignment, Win32 error 8
-
- 200 [main] perl 377147 sync_with_child: child -395691(0xB8) died before initialization with status code 0x1
- 1370 [main] perl 377147 sync_with_child: *** child state child loading dlls
-
-Use the rebase utility to resolve the conflicting dll addresses. The
-rebase package is included in the Cygwin netrelease. Use setup.exe from
-L<http://www.cygwin.com/setup.exe> to install it and run rebaseall.
-
=back
=head2 Prebuilt methods:
@@ -529,6 +513,17 @@ User mounts override system mounts.
Returns true if the given cygwin path is binary mounted, false if the
path is mounted in textmode.
+=item C<Cygwin::sync_winenv>
+
+Cygwin does not initialize all original Win32 environment variables.
+See the bottom of this page L<http://cygwin.com/cygwin-ug-net/setup-env.html>
+for "Restricted Win32 environment".
+
+Certain Win32 programs called from cygwin programs might need some environment
+variable, such as e.g. ADODB needs %COMMONPROGRAMFILES%.
+Call Cygwin::sync_winenv() to copy all Win32 environment variables to your
+process and note that cygwin will warn on every encounter of non-POSIX paths.
+
=back
=head1 INSTALL PERL ON CYGWIN
@@ -563,7 +558,7 @@ be kept as clean as possible.
pod/perl561delta.pod pod/perl570delta.pod pod/perl572delta.pod
pod/perl573delta.pod pod/perl58delta.pod pod/perl581delta.pod
pod/perl590delta.pod pod/perlhist.pod pod/perlmodlib.pod
- pod/perltoc.pod pod.lst Porting/Glossary pod/perlgit.pod
+ pod/perltoc.pod Porting/Glossary pod/perlgit.pod
Porting/checkAUTHORS.pl
dist/Cwd/Changes ext/Compress-Raw-Zlib/Changes
ext/Compress-Raw-Zlib/README ext/Compress-Zlib/Changes
@@ -781,4 +776,4 @@ Jerry D. Hedden <jdhedden@cpan.org>.
=head1 HISTORY
-Last updated: 2007-09-25
+Last updated: 2012-02-08
diff --git a/Master/tlpkg/tlperl/lib/pods/perldata.pod b/Master/tlpkg/tlperl/lib/pods/perldata.pod
index 1b1cbf4564b..876382d29fe 100644
--- a/Master/tlpkg/tlperl/lib/pods/perldata.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perldata.pod
@@ -179,8 +179,9 @@ are considered pretty much the same thing for nearly all purposes,
references are strongly-typed, uncastable pointers with builtin
reference-counting and destructor invocation.
-A scalar value is interpreted as TRUE in the Boolean sense if it is not
-the null string or the number 0 (or its string equivalent, "0"). The
+A scalar value is interpreted as FALSE in the Boolean sense
+if it is undefined, the null string or the number 0 (or its
+string equivalent, "0"), and TRUE if it is anything else. The
Boolean context is just a special kind of scalar context where no
conversion to a string or a number is ever performed.
X<boolean> X<bool> X<true> X<false> X<truth>
@@ -251,14 +252,6 @@ which return whatever they feel like returning.) The following is
always true:
X<array, length>
- scalar(@whatever) == $#whatever - $[ + 1;
-
-Version 5 of Perl changed the semantics of C<$[>: files that don't set
-the value of C<$[> no longer need to worry about whether another
-file changed its value. (In other words, use of C<$[> is deprecated.)
-So in general you can assume that
-X<$[>
-
scalar(@whatever) == $#whatever + 1;
Some programmers choose to use an explicit conversion so as to
@@ -302,7 +295,9 @@ integer formats:
0b011011 # binary
You are allowed to use underscores (underbars) in numeric literals
-between digits for legibility. You could, for example, group binary
+between digits for legibility (but not multiple underscores in a row:
+C<23__500> is not legal; C<23_500> is).
+You could, for example, group binary
digits by threes (as for a Unix-style mode argument such as 0b110_100_100)
or by fours (to represent nibbles, as in 0b1010_0110) or in other groups.
X<number, literal>
@@ -403,12 +398,16 @@ X<end> X<data> X<^D> X<^Z>
The special literals __FILE__, __LINE__, and __PACKAGE__
represent the current filename, line number, and package name at that
-point in your program. They may be used only as separate tokens; they
+point in your program. __SUB__ gives a reference to the current
+subroutine. They may be used only as separate tokens; they
will not be interpolated into strings. If there is no current package
(due to an empty C<package;> directive), __PACKAGE__ is the undefined
value. (But the empty C<package;> is no longer supported, as of version
-5.10.)
-X<__FILE__> X<__LINE__> X<__PACKAGE__> X<line> X<file> X<package>
+5.10.) Outside of a subroutine, __SUB__ is the undefined value. __SUB__
+is only available in 5.16 or higher, and only with a C<use v5.16> or
+C<use feature "current_sub"> declaration.
+X<__FILE__> X<__LINE__> X<__PACKAGE__> X<__SUB__>
+X<line> X<file> X<package>
The two control characters ^D and ^Z, and the tokens __END__ and __DATA__
may be used to indicate the logical end of the script before the actual
@@ -417,12 +416,13 @@ end of file. Any following text is ignored.
Text after __DATA__ may be read via the filehandle C<PACKNAME::DATA>,
where C<PACKNAME> is the package that was current when the __DATA__
token was encountered. The filehandle is left open pointing to the
-contents after __DATA__. It is the program's responsibility to
-C<close DATA> when it is done reading from it. For compatibility with
-older scripts written before __DATA__ was introduced, __END__ behaves
-like __DATA__ in the top level script (but not in files loaded with
-C<require> or C<do>) and leaves the remaining contents of the
-file accessible via C<main::DATA>.
+line after __DATA__. The program should C<close DATA> when it is done
+reading from it. (Leaving it open leaks filehandles if the module is
+reloaded for any reason, so it's a safer practice to close it.) For
+compatibility with older scripts written before __DATA__ was
+introduced, __END__ behaves like __DATA__ in the top level script (but
+not in files loaded with C<require> or C<do>) and leaves the remaining
+contents of the file accessible via C<main::DATA>.
See L<SelfLoader> for more description of __DATA__, and
an example of its use. Note that you cannot read from the DATA
@@ -697,6 +697,20 @@ You can also subscript a list to get a single element from it:
$dir = (getpwnam("daemon"))[7];
+=head2 Multi-dimensional array emulation
+
+Multidimensional arrays may be emulated by subscripting a hash with a
+list. The elements of the list are joined with the subscript separator
+(see L<perlvar/$;>).
+
+ $foo{$a,$b,$c}
+
+is equivalent to
+
+ $foo{join($;, $a, $b, $c)}
+
+The default subscript separator is "\034", the same as SUBSEP in B<awk>.
+
=head2 Slices
X<slice> X<array, slice> X<hash, slice>
@@ -862,8 +876,8 @@ C<use strict 'refs'> forbids such practice.
Another way to create anonymous filehandles is with the Symbol
module or with the IO::Handle module and its ilk. These modules
have the advantage of not hiding different types of the same name
-during the local(). See the bottom of L<perlfunc/"open FILEHANDLE">
-for an example.
+during the local(). See the bottom of L<perlfunc/open> for an
+example.
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/pods/perldbmfilter.pod b/Master/tlpkg/tlperl/lib/pods/perldbmfilter.pod
index 2a4c2399558..0413bf95f8c 100644
--- a/Master/tlpkg/tlperl/lib/pods/perldbmfilter.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perldbmfilter.pod
@@ -35,7 +35,6 @@ every time you write a key to a DBM database.
If a filter has been installed with this method, it will be invoked
every time you write a value to a DBM database.
-
=item B<filter_fetch_key>
If a filter has been installed with this method, it will be invoked
diff --git a/Master/tlpkg/tlperl/lib/pods/perldebguts.pod b/Master/tlpkg/tlperl/lib/pods/perldebguts.pod
index 9bc0b63de46..8ae6e7baa96 100644
--- a/Master/tlpkg/tlperl/lib/pods/perldebguts.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perldebguts.pod
@@ -227,7 +227,7 @@ information. For example, contrast this expression trace:
Loading DB routines from perl5db.pl patch level 0.94
Emacs support available.
- Enter h or `h h' for help.
+ Enter h or 'h h' for help.
main::(-e:1): 0
DB<1> sub foo { 14 }
@@ -412,7 +412,7 @@ scoped.
The debugging output at compile time looks like this:
- Compiling REx `[bc]d(ef*g)+h[ij]k$'
+ Compiling REx '[bc]d(ef*g)+h[ij]k$'
size 45 Got 364 bytes for offset annotations.
first at 1
rarest char g at 0
@@ -433,8 +433,8 @@ The debugging output at compile time looks like this:
42: EXACT <k>(44)
44: EOL(45)
45: END(0)
- anchored `de' at 1 floating `gh' at 3..2147483647 (checking floating)
- stclass `ANYOF[bc]' minlen 7
+ anchored 'de' at 1 floating 'gh' at 3..2147483647 (checking floating)
+ stclass 'ANYOF[bc]' minlen 7
Offsets: [45]
1[4] 0[0] 0[0] 0[0] 0[0] 0[0] 0[0] 0[0] 0[0] 0[0] 0[0] 5[1]
0[0] 12[1] 0[0] 6[1] 0[0] 7[1] 0[0] 9[1] 8[1] 0[0] 10[1] 0[0]
@@ -450,8 +450,8 @@ label I<id> of the first node that does a match.
The
- anchored `de' at 1 floating `gh' at 3..2147483647 (checking floating)
- stclass `ANYOF[bc]' minlen 7
+ anchored 'de' at 1 floating 'gh' at 3..2147483647 (checking floating)
+ stclass 'ANYOF[bc]' minlen 7
line (split into two lines above) contains optimizer
information. In the example shown, the optimizer found that the match
@@ -520,7 +520,7 @@ being C<BOL>, C<MBOL>, or C<GPOS>. See the table below.
=back
If a substring is known to match at end-of-line only, it may be
-followed by C<$>, as in C<floating `k'$>.
+followed by C<$>, as in C<floating 'k'$>.
The optimizer-specific information is used to avoid entering (a slow) regex
engine on strings that will not definitely match. If the C<isall> flag
@@ -805,7 +805,7 @@ entered and that all of the job was therefore done by the optimizer.
If the regex engine was entered, the output may look like this:
- Matching `[bc]d(ef*g)+h[ij]k$' against `abcdefg__gh__'
+ Matching '[bc]d(ef*g)+h[ij]k$' against 'abcdefg__gh__'
Setting an EVAL scope, savestack=3
2 <ab> <cdefg__gh_> | 1: ANYOF
3 <abc> <defg__gh_> | 11: EXACT <d>
diff --git a/Master/tlpkg/tlperl/lib/pods/perldebtut.pod b/Master/tlpkg/tlperl/lib/pods/perldebtut.pod
index 77b86905351..cc4f5051e17 100644
--- a/Master/tlpkg/tlperl/lib/pods/perldebtut.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perldebtut.pod
@@ -702,7 +702,6 @@ place to go), and of course, experiment.
L<perldebug>,
L<perldebguts>,
L<perldiag>,
-L<dprofpp>,
L<perlrun>
diff --git a/Master/tlpkg/tlperl/lib/pods/perldebug.pod b/Master/tlpkg/tlperl/lib/pods/perldebug.pod
index 8fbb2312ad4..4a2f07e8e72 100644
--- a/Master/tlpkg/tlperl/lib/pods/perldebug.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perldebug.pod
@@ -105,7 +105,6 @@ that it's run through your pager, as in
You may change the pager which is used via C<o pager=...> command.
-
=item p expr
X<debugger command, p>
@@ -270,15 +269,19 @@ X<debugger command, S>
List subroutine names [not] matching the regex.
-=item t
+=item t [n]
X<debugger command, t>
Toggle trace mode (see also the C<AutoTrace> option).
+Optional argument is the maximum number of levels to trace below
+the current one; anything deeper than that will be silent.
-=item t expr
+=item t [n] expr
X<debugger command, t>
Trace through execution of C<expr>.
+Optional first argument is the maximum number of levels to trace below
+the current one; anything deeper than that will be silent.
See L<perldebguts/"Frame Listing Output Examples"> for examples.
=item b
@@ -301,6 +304,22 @@ don't use C<if>:
b 237 ++$count237 < 11
b 33 /pattern/i
+If the line number is C<.>, sets a breakpoint on the current line:
+
+ b . $n > 100
+
+=item b [file]:[line] [condition]
+X<breakpoint>
+X<debugger command, b>
+
+Set a breakpoint before the given line in a (possibly different) file. If a
+condition is specified, it's evaluated each time the statement is reached: a
+breakpoint is taken only if the condition is true. Breakpoints may only be set
+on lines that begin an executable statement. Conditions don't use C<if>:
+
+ b lib/MyModule.pm:237 $x > 30
+ b /usr/lib/perl5/site_perl/CGI.pm:100 ++$count100 < 11
+
=item b subname [condition]
X<breakpoint>
X<debugger command, b>
@@ -341,6 +360,42 @@ X<debugger command, B>
Delete all installed breakpoints.
+=item disable [file]:[line]
+X<breakpoint>
+X<debugger command, disable>
+X<disable>
+
+Disable the breakpoint so it won't stop the execution of the program.
+Breakpoints are enabled by default and can be re-enabled using the C<enable>
+command.
+
+=item disable [line]
+X<breakpoint>
+X<debugger command, disable>
+X<disable>
+
+Disable the breakpoint so it won't stop the execution of the program.
+Breakpoints are enabled by default and can be re-enabled using the C<enable>
+command.
+
+This is done for a breakpoint in the current file.
+
+=item enable [file]:[line]
+X<breakpoint>
+X<debugger command, disable>
+X<disable>
+
+Enable the breakpoint so it will stop the execution of the program.
+
+=item enable [line]
+X<breakpoint>
+X<debugger command, disable>
+X<disable>
+
+Enable the breakpoint so it will stop the execution of the program.
+
+This is done for a breakpoint in the current file.
+
=item a [line] command
X<debugger command, a>
@@ -591,7 +646,6 @@ X<debugger command, M>
Display all loaded modules and their versions.
-
=item man [manpage]
X<debugger command, man>
@@ -923,9 +977,9 @@ X<backtrace> X<stack, backtrace>
Here's an example of what a stack backtrace via C<T> command might
look like:
- $ = main::infested called from file `Ambulation.pm' line 10
- @ = Ambulation::legs(1, 2, 3, 4) called from file `camel_flea' line 7
- $ = main::pests('bactrian', 4) called from file `camel_flea' line 4
+ $ = main::infested called from file 'Ambulation.pm' line 10
+ @ = Ambulation::legs(1, 2, 3, 4) called from file 'camel_flea' line 7
+ $ = main::pests('bactrian', 4) called from file 'camel_flea' line 4
The left-hand character up there indicates the context in which the
function was called, with C<$> and C<@> meaning scalar or list
@@ -998,7 +1052,7 @@ Another way to debug compile-time code is to start the debugger, set a
breakpoint on the I<load> of some module:
DB<7> b load f:/perllib/lib/Carp.pm
- Will stop on load of `f:/perllib/lib/Carp.pm'.
+ Will stop on load of 'f:/perllib/lib/Carp.pm'.
and then restart the debugger using the C<R> command (if possible). One can use C<b
compile subname> for the same purpose.
@@ -1104,19 +1158,16 @@ X<profile> X<profiling> X<profiler>
If you wish to supply an alternative debugger for Perl to run,
invoke your script with a colon and a package argument given to the
-B<-d> flag. Perl's alternative debuggers include the Perl profiler,
-L<Devel::DProf>, which is included with the standard Perl
+B<-d> flag. Perl's alternative debuggers include a Perl profiler,
+L<Devel::NYTProf>, which is available separately as a CPAN
distribution. To profile your Perl program in the file F<mycode.pl>,
just type:
- $ perl -d:DProf mycode.pl
+ $ perl -d:NYTProf mycode.pl
-When the script terminates the profiler will dump the profile
-information to a file called F<tmon.out>. A tool like B<dprofpp>,
-also supplied with the standard Perl distribution, can be used to
-interpret the information in that profile. More powerful profilers,
-such as C<Devel::NYTProf> are available from the CPAN: see L<perlperf>
-for details.
+When the script terminates the profiler will create a database of the
+profile information that you can turn into reports using the profiler's
+tools. See <perlperf> for details.
=head1 Debugging Regular Expressions
X<regular expression, debugging>
@@ -1146,8 +1197,7 @@ L<perldebtut>,
L<perldebguts>,
L<re>,
L<DB>,
-L<Devel::DProf>,
-L<dprofpp>,
+L<Devel::NYTProf>,
L<Dumpvalue>,
and
L<perlrun>.
diff --git a/Master/tlpkg/tlperl/lib/pods/perldelta.pod b/Master/tlpkg/tlperl/lib/pods/perldelta.pod
index 425708fbb46..d41e3b5cfe3 100644
--- a/Master/tlpkg/tlperl/lib/pods/perldelta.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perldelta.pod
@@ -2,208 +2,91 @@
=head1 NAME
-perldelta - what is new for perl v5.14.2
+perldelta - what is new for perl v5.16.2
=head1 DESCRIPTION
-This document describes differences between the 5.14.1 release and
-the 5.14.2 release.
+This document describes differences between the 5.16.1 release and
+the 5.16.2 release.
-If you are upgrading from an earlier release such as 5.14.0, first read
-L<perl5141delta>, which describes differences between 5.14.0 and
-5.14.1.
-
-=head1 Core Enhancements
-
-No changes since 5.14.0.
-
-=head1 Security
-
-=head2 C<File::Glob::bsd_glob()> memory error with GLOB_ALTDIRFUNC (CVE-2011-2728).
-
-Calling C<File::Glob::bsd_glob> with the unsupported flag GLOB_ALTDIRFUNC would
-cause an access violation / segfault. A Perl program that accepts a flags value from
-an external source could expose itself to denial of service or arbitrary code
-execution attacks. There are no known exploits in the wild. The problem has been
-corrected by explicitly disabling all unsupported flags and setting unused function
-pointers to null. Bug reported by Clément Lecigne.
-
-=head2 C<Encode> decode_xs n-byte heap-overflow (CVE-2011-2939)
-
-A bug in C<Encode> could, on certain inputs, cause the heap to overflow.
-This problem has been corrected. Bug reported by Robert Zacek.
+If you are upgrading from an earlier release such as 5.16.0, first read
+L<perl5161delta>, which describes differences between 5.16.0 and
+5.16.1.
=head1 Incompatible Changes
-There are no changes intentionally incompatible with 5.14.0. If any
-exist, they are bugs and reports are welcome.
-
-=head1 Deprecations
-
-There have been no deprecations since 5.14.0.
+There are no changes intentionally incompatible with 5.16.0
+If any exist, they are bugs, and we request that you submit a
+report. See L</Reporting Bugs> below.
=head1 Modules and Pragmata
-=head2 New Modules and Pragmata
-
-None
-
=head2 Updated Modules and Pragmata
=over 4
=item *
-L<CPAN> has been upgraded from version 1.9600 to version 1.9600_01.
-
-L<CPAN::Distribution> has been upgraded from version 1.9602 to 1.9602_01.
-
-Backported bugfixes from CPAN version 1.9800. Ensures proper
-detection of C<configure_requires> prerequisites from CPAN Meta files
-in the case where C<dynamic_config> is true. [rt.cpan.org #68835]
-
-Also ensures that C<configure_requires> is only checked in META files,
-not MYMETA files, so protect against MYMETA generation that drops
-C<configure_requires>.
-
-=item *
-
-L<Encode> has been upgraded from version 2.42 to 2.42_01.
+L<Module::CoreList> has been upgraded from version 2.70 to version 2.76.
-See L</Security>.
-
-=item *
-
-L<File::Glob> has been upgraded from version 1.12 to version 1.13.
-
-See L</Security>.
+=back
-=item *
+=head1 Configuration and Compilation
-L<PerlIO::scalar> has been upgraded from version 0.11 to 0.11_01.
+=over 4
-It fixes a problem with C<< open my $fh, ">", \$scalar >> not working if
-C<$scalar> is a copy-on-write scalar.
+=item * configuration should no longer be confused by ls colorization
=back
-=head2 Removed Modules and Pragmata
-
-None
-
=head1 Platform Support
-=head2 New Platforms
-
-None
-
-=head2 Discontinued Platforms
-
-None
-
=head2 Platform-Specific Notes
=over 4
-=item HP-UX PA-RISC/64 now supports gcc-4.x
-
-A fix to correct the socketsize now makes the test suite pass on HP-UX
-PA-RISC for 64bitall builds.
+=item AIX
-=item Building on OS X 10.7 Lion and Xcode 4 works again
-
-The build system has been updated to work with the build tools under Mac OS X
-10.7.
+Configure now always adds -qlanglvl=extc99 to the CC flags on AIX when
+using xlC. This will make it easier to compile a number of XS-based modules
+that assume C99 [perl #113778].
=back
-=head1 Bug Fixes
+=head1 Selected Bug Fixes
=over 4
-=item *
-
-In @INC filters (subroutines returned by subroutines in @INC), $_ used to
-misbehave: If returned from a subroutine, it would not be copied, but the
-variable itself would be returned; and freeing $_ (e.g., with C<undef *_>)
-would cause perl to crash. This has been fixed [perl #91880].
-
-=item *
-
-Perl 5.10.0 introduced some faulty logic that made "U*" in the middle of
-a pack template equivalent to "U0" if the input string was empty. This has
-been fixed [perl #90160].
-
-=item *
-
-C<caller> no longer leaks memory when called from the DB package if
-C<@DB::args> was assigned to after the first call to C<caller>. L<Carp>
-was triggering this bug [perl #97010].
-
-=item *
+=item * fix /\h/ equivalence with /[\h]/
-C<utf8::decode> had a nasty bug that would modify copy-on-write scalars'
-string buffers in place (i.e., skipping the copy). This could result in
-hashes having two elements with the same key [perl #91834].
-
-=item *
-
-Localising a tied variable used to make it read-only if it contained a
-copy-on-write string.
-
-=item *
-
-Elements of restricted hashes (see the L<fields> pragma) containing
-copy-on-write values couldn't be deleted, nor could such hashes be cleared
-(C<%hash = ()>).
-
-=item *
-
-Locking a hash element that is a glob copy no longer causes subsequent
-assignment to it to corrupt the glob.
-
-=item *
-
-A panic involving the combination of the regular expression modifiers
-C</aa> introduced in 5.14.0 and the C<\b> escape sequence has been
-fixed [perl #95964].
+see [perl #114220]
=back
=head1 Known Problems
-This is a list of some significant unfixed bugs, which are regressions
-from 5.12.0.
-
-=over 4
-
-=item *
-
-C<PERL_GLOBAL_STRUCT> is broken.
-
-Since perl 5.14.0, building with C<-DPERL_GLOBAL_STRUCT> hasn't been
-possible. This means that perl currently doesn't work on any platforms that
-require it to be built this way, including Symbian.
-
-While C<PERL_GLOBAL_STRUCT> now works again on recent development versions of
-perl, it actually working on Symbian again hasn't been verified.
-
-We'd be very interested in hearing from anyone working with Perl on Symbian.
-
-=back
+There are no new known problems.
=head1 Acknowledgements
-Perl 5.14.2 represents approximately three months of development since
-Perl 5.14.1 and contains approximately 1200 lines of changes
-across 61 files from 9 authors.
+Perl 5.16.2 represents approximately 2 months of development since Perl
+5.16.1 and contains approximately 740 lines of changes across 20 files
+from 9 authors.
Perl continues to flourish into its third decade thanks to a vibrant
-community of users and developers. The following people are known to
-have contributed the improvements that became Perl 5.14.2:
+community of users and developers. The following people are known to
+have contributed the improvements that became Perl 5.16.2:
+
+Andy Dougherty, Craig A. Berry, Darin McBride, Dominic Hargreaves, Karen
+Etheridge, Karl Williamson, Peter Martini, Ricardo Signes, Tony Cook.
+
+The list above is almost certainly incomplete as it is automatically
+generated from version control history. In particular, it does not
+include the names of the (very much appreciated) contributors who
+reported issues to the Perl bug tracker.
-Craig A. Berry, David Golden, Father Chrysostomos, Florian Ragwitz, H.Merijn
-Brand, Karl Williamson, Nicholas Clark, Pau Amma and Ricardo Signes.
+For a more complete list of all of Perl's historical contributors,
+please see the F<AUTHORS> file in the Perl source distribution.
=head1 Reporting Bugs
@@ -219,14 +102,14 @@ output of C<perl -V>, will be sent off to perlbug@perl.org to be
analysed by the Perl porting team.
If the bug you are reporting has security implications, which make it
-inappropriate to send to a publicly archived mailing list, then please send
-it to perl5-security-report@perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
-to help assess the impact of issues, figure out a resolution, and help
-co-ordinate the release of patches to mitigate or fix the problem across all
-platforms on which Perl is supported. Please only use this address for
-security issues in the Perl core, not for modules independently
-distributed on CPAN.
+inappropriate to send to a publicly archived mailing list, then please
+send it to perl5-security-report@perl.org. This points to a closed
+subscription unarchived mailing list, which includes all the core
+committers, who will be able to help assess the impact of issues, figure
+out a resolution, and help co-ordinate the release of patches to
+mitigate or fix the problem across all platforms on which Perl is
+supported. Please only use this address for security issues in the Perl
+core, not for modules independently distributed on CPAN.
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/pods/perldiag.pod b/Master/tlpkg/tlperl/lib/pods/perldiag.pod
index 8f2ad2913f2..9a8c9347a88 100644
--- a/Master/tlpkg/tlperl/lib/pods/perldiag.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perldiag.pod
@@ -23,7 +23,7 @@ category is included with the classification letter in the description
below.
Optional warnings are enabled by using the C<warnings> pragma or the B<-w>
-and B<-W> switches. Warnings may be captured by setting C<$SIG{__WARN__}>
+and B<-W> switches. Warnings may be captured by setting C<$SIG{__WARN__}>
to a reference to a routine that will be called on each warning instead
of printing it. See L<perlvar>.
@@ -104,7 +104,7 @@ really meant to multiply a glob by the result of calling a function.
(W ambiguous) You wrote something like C<@{foo}>, which might be
asking for the variable C<@foo>, or it might be calling a function
named foo, and dereferencing it as an array reference. If you wanted
-the varable, you can just write C<@foo>. If you wanted to call the
+the variable, you can just write C<@foo>. If you wanted to call the
function, write C<@{foo()}> ... or you could just not have a variable
and a function with the same name, and save yourself a lot of trouble.
@@ -112,21 +112,21 @@ and a function with the same name, and save yourself a lot of trouble.
=item Ambiguous use of %c{%s{...}} resolved to %c%s{...}
-(W ambiguous) You wrote something like C<${foo[2]}> (where foo
-represents the name of a Perl keyword), which might be looking for
-element number 2 of the array named C<@foo>, in which case please write
-C<$foo[2]>, or you might have meant to pass an anonymous arrayref to
-the function named foo, and then do a scalar deref on the value it
-returns. If you meant that, write C<${foo([2])}>.
+(W ambiguous) You wrote something like C<${foo[2]}> (where foo represents
+the name of a Perl keyword), which might be looking for element number
+2 of the array named C<@foo>, in which case please write C<$foo[2]>, or you
+might have meant to pass an anonymous arrayref to the function named
+foo, and then do a scalar deref on the value it returns. If you meant
+that, write C<${foo([2])}>.
In regular expressions, the C<${foo[2]}> syntax is sometimes necessary
to disambiguate between array subscripts and character classes.
-C</$length[2345]/>, for instance, will be interpreted as C<$length>
-followed by the character class C<[2345]>. If an array subscript is what
-you want, you can avoid the warning by changing C</${length[2345]}/>
-to the unsightly C</${\$length[2345]}/>, by renaming your array to
-something that does not coincide with a built-in keyword, or by
-simply turning off warnings with C<no warnings 'ambiguous';>.
+C</$length[2345]/>, for instance, will be interpreted as C<$length> followed
+by the character class C<[2345]>. If an array subscript is what you
+want, you can avoid the warning by changing C</${length[2345]}/> to the
+unsightly C</${\$length[2345]}/>, by renaming your array to something
+that does not coincide with a built-in keyword, or by simply turning
+off warnings with C<no warnings 'ambiguous';>.
=item Ambiguous use of -%s resolved as -&%s()
@@ -135,17 +135,19 @@ string C<"-foo">, or a call to the function C<foo>, negated. If you meant
the string, just write C<"-foo">. If you meant the function call,
write C<-foo()>.
-=item Ambiguous use of 's//le...' resolved as 's// le...'; Rewrite as 's//el' if you meant 'use locale rules and evaluate rhs as an expression'. In Perl 5.16, it will be resolved the other way
+=item Ambiguous use of 's//le...' resolved as 's// le...'; Rewrite as 's//el' if you meant 'use locale rules and evaluate rhs as an expression'. In Perl 5.18, it will be resolved the other way
-(W deprecated, ambiguous) You wrote a pattern match with substitution
-immediately followed by "le". In Perl 5.14 and earlier, this is
+(W deprecated, ambiguous) You wrote a pattern match with substitution
+immediately followed by "le". In Perl 5.16 and earlier, this is
resolved as meaning to take the result of the substitution, and see if
it is stringwise less-than-or-equal-to what follows in the expression.
Having the "le" immediately following a pattern is deprecated behavior,
-so in Perl 5.16, this expression will be resolved as meaning to do the
+so in Perl 5.18, this expression will be resolved as meaning to do the
pattern match using the rules of the current locale, and evaluate the
-rhs as an expression when doing the substitution. In 5.14, if you want
-the latter interpretation, you can simply write "el" instead.
+rhs as an expression when doing the substitution. In 5.14, and 5.16 if
+you want the latter interpretation, you can simply write "el" instead.
+But note that the C</l> modifier should not be used explicitly anyway;
+you should use C<use locale> instead. See L<perllocale>.
=item '|' and '<' may not both be specified on command line
@@ -218,12 +220,13 @@ will identify which operator was so unfortunate.
=item Argument list not closed for PerlIO layer "%s"
-(W layer) When pushing a layer with arguments onto the Perl I/O system you
-forgot the ) that closes the argument list. (Layers take care of transforming
-data between external and internal representations.) Perl stopped parsing
-the layer list at this point and did not attempt to push this layer.
-If your program didn't explicitly request the failing operation, it may be
-the result of the value of the environment variable PERLIO.
+(W layer) When pushing a layer with arguments onto the Perl I/O
+system you forgot the ) that closes the argument list. (Layers
+take care of transforming data between external and internal
+representations.) Perl stopped parsing the layer list at this
+point and did not attempt to push this layer. If your program
+didn't explicitly request the failing operation, it may be the
+result of the value of the environment variable PERLIO.
=item Array @%s missing the @ in argument %d of %s()
@@ -232,11 +235,16 @@ spots. This is now heavily deprecated.
=item assertion botched: %s
-(P) The malloc package that comes with Perl had an internal failure.
+(X) The malloc package that comes with Perl had an internal failure.
=item Assertion failed: file "%s"
-(P) A general assertion failed. The file in question must be examined.
+(X) A general assertion failed. The file in question must be examined.
+
+=item Assigning non-zero to $[ is no longer possible
+
+(F) When the "array_base" feature is disabled (e.g., under C<use v5.16;>)
+the special variable C<$[>, which is deprecated, is now a fixed zero value.
=item Assignment to both a list and a scalar
@@ -246,8 +254,8 @@ know which context to supply to the right side.
=item A thread exited while %d threads were running
-(W threads)(S) When using threaded Perl, a thread (not necessarily the main
-thread) exited while there were still other threads running.
+(W threads)(S) When using threaded Perl, a thread (not necessarily
+the main thread) exited while there were still other threads running.
Usually it's a good idea first to collect the return values of the
created threads by joining them, and only then to exit from the main
thread. See L<threads>.
@@ -260,7 +268,7 @@ the current set of allowed keys of a restricted hash.
=item Attempt to bless into a reference
(F) The CLASSNAME argument to the bless() operator is expected to be
-the name of the package to bless the resulting object into. You've
+the name of the package to bless the resulting object into. You've
supplied instead a reference to something: perhaps you wrote
bless $self, $proto;
@@ -275,6 +283,13 @@ example by:
bless $self, "$proto";
+=item Attempt to clear deleted array
+
+(S debugging) An array was assigned to when it was being freed.
+Freed values are not supposed to be visible to Perl code. This
+can also happen if XS code calls C<av_clear> from a custom magic
+callback on the array.
+
=item Attempt to delete disallowed key '%s' from a restricted hash
(F) The failing code attempted to delete from a restricted hash a key
@@ -287,20 +302,20 @@ declared readonly from a restricted hash.
=item Attempt to free non-arena SV: 0x%x
-(P internal) All SV objects are supposed to be allocated from arenas
+(S internal) All SV objects are supposed to be allocated from arenas
that will be garbage collected on exit. An SV was discovered to be
outside any of those arenas.
-=item Attempt to free nonexistent shared string
+=item Attempt to free nonexistent shared string '%s'%s
-(P internal) Perl maintains a reference-counted internal table of
+(S internal) Perl maintains a reference-counted internal table of
strings to optimize the storage and access of hash keys and other
strings. This indicates someone tried to decrement the reference count
of a string that can no longer be found in the table.
-=item Attempt to free temp prematurely
+=item Attempt to free temp prematurely: SV 0x%x
-(W debugging) Mortalized values are supposed to be freed by the
+(S debugging) Mortalized values are supposed to be freed by the
free_tmps() routine. This indicates that something else is freeing the
SV before the free_tmps() routine gets a chance, which means that the
free_tmps() routine will be freeing an unreferenced scalar when it does
@@ -308,9 +323,9 @@ try to free it.
=item Attempt to free unreferenced glob pointers
-(P internal) The reference counts got screwed up on symbol aliases.
+(S internal) The reference counts got screwed up on symbol aliases.
-=item Attempt to free unreferenced scalar
+=item Attempt to free unreferenced scalar: SV 0x%x
(W internal) Perl went to decrement the reference count of a scalar to
see if it would go to 0, and discovered that it had already gone to 0
@@ -346,7 +361,7 @@ L<perlvar/%INC>.
(W) You tried to set the length of an array which has been freed. You
can do this by storing a reference to the scalar representing the last index
-of an array and later assigning through that reference. For example
+of an array and later assigning through that reference. For example
$r = do {my @a; \$#a};
$$r = 503
@@ -359,17 +374,22 @@ dereference it first. See L<perlfunc/substr>.
=item Attribute "locked" is deprecated
-(D deprecated) You have used the attributes pragma to modify the "locked"
-attribute on a code reference. The :locked attribute is obsolete, has had no
-effect since 5005 threads were removed, and will be removed in a future
-release of Perl 5.
+(D deprecated) You have used the attributes pragma to modify the
+"locked" attribute on a code reference. The :locked attribute is
+obsolete, has had no effect since 5005 threads were removed, and
+will be removed in a future release of Perl 5.
=item Attribute "unique" is deprecated
-(D deprecated) You have used the attributes pragma to modify the "unique"
-attribute on an array, hash or scalar reference. The :unique attribute has
-had no effect since Perl 5.8.8, and will be removed in a future release
-of Perl 5.
+(D deprecated) You have used the attributes pragma to modify
+the "unique" attribute on an array, hash or scalar reference.
+The :unique attribute has had no effect since Perl 5.8.8, and
+will be removed in a future release of Perl 5.
+
+=item av_reify called on tied array
+
+(S debugging) This indicates that something went wrong and Perl got I<very>
+confused about C<@_> or C<@DB::args> being tied.
=item Bad arg length for %s, is %u, should be %d
@@ -393,11 +413,11 @@ open(), or did it in another package.
=item Bad free() ignored
(S malloc) An internal routine called free() on something that had never
-been malloc()ed in the first place. Mandatory, but can be disabled by
+been malloc()ed in the first place. Mandatory, but can be disabled by
setting environment variable C<PERL_BADFREE> to 0.
This message can be seen quite often with DB_File on systems with "hard"
-dynamic linking, like C<AIX> and C<OS/2>. It is a bug of C<Berkeley DB>
+dynamic linking, like C<AIX> and C<OS/2>. It is a bug of C<Berkeley DB>
which is left unnoticed if C<DB> uses I<forgiving> system malloc().
=item Bad hash
@@ -410,7 +430,7 @@ which is left unnoticed if C<DB> uses I<forgiving> system malloc().
of Perl. Check the #! line, or manually feed your script into
Perl yourself.
-=item Bad name after %s::
+=item Bad name after %s
(F) You started to name a symbol by using a package prefix, and then
didn't finish the symbol. In particular, you can't interpolate outside
@@ -431,9 +451,9 @@ plugin API.
=item Bad realloc() ignored
-(S malloc) An internal routine called realloc() on something that had
-never been malloc()ed in the first place. Mandatory, but can be disabled
-by setting the environment variable C<PERL_BADFREE> to 1.
+(S malloc) An internal routine called realloc() on something that
+had never been malloc()ed in the first place. Mandatory, but can
+be disabled by setting the environment variable C<PERL_BADFREE> to 1.
=item Bad symbol for array
@@ -445,7 +465,6 @@ wasn't a symbol table entry.
(P) An internal request asked to add a dirhandle entry to something
that wasn't a symbol table entry.
-
=item Bad symbol for filehandle
(P) An internal request asked to add a filehandle entry to something
@@ -534,7 +553,7 @@ itself in a future release.
(W portable) Using bit vector sizes larger than 32 is non-portable.
-=item Bizarre copy of %s in %s
+=item Bizarre copy of %s
(P) Perl detected an attempt to copy an internal value that is not
copiable.
@@ -545,6 +564,11 @@ copiable.
iterate over %ENV, it encountered a logical name or symbol definition
which was too long, so it was truncated to the string shown.
+=item Bizarre SvTYPE [%d]
+
+(P) When starting a new thread or return values from a thread, Perl
+encountered an invalid data type.
+
=item Callback called exit
(F) A subroutine invoked from an external package via call_sv()
@@ -575,12 +599,12 @@ format can only be used with positive integers. See L<perlfunc/pack>.
=item Cannot convert a reference to %s to typeglob
-(F) You manipulated Perl's symbol table directly, stored a reference in it,
-then tried to access that symbol via conventional Perl syntax. The access
-triggers Perl to autovivify that typeglob, but it there is no legal conversion
-from that type of reference to a typeglob.
+(F) You manipulated Perl's symbol table directly, stored a reference
+in it, then tried to access that symbol via conventional Perl syntax.
+The access triggers Perl to autovivify that typeglob, but it there is
+no legal conversion from that type of reference to a typeglob.
-=item Cannot copy to %s in %s
+=item Cannot copy to %s
(P) Perl detected an attempt to copy a value to an internal type that cannot
be directly assigned to.
@@ -590,6 +614,18 @@ be directly assigned to.
(S io) You tried to apply an encoding that did not exist to a filehandle,
either with open() or binmode().
+=item Cannot set tied @DB::args
+
+(F) C<caller> tried to set C<@DB::args>, but found it tied. Tying C<@DB::args>
+is not supported. (Before this error was added, it used to crash.)
+
+=item Cannot tie unreifiable array
+
+(P) You somehow managed to call C<tie> on an array that does not
+keep a reference count on its arguments and cannot be made to
+do so. Such arrays are not even supposed to be accessible to
+Perl code, but are only used internally.
+
=item Can only compress unsigned integers in pack
(F) An argument to pack("w",...) was not an integer. The BER compressed
@@ -604,7 +640,7 @@ encapsulation of objects. See L<perlobj>.
=item Can't "break" in a loop topicalizer
(F) You called C<break>, but you're in a C<foreach> block rather than
-a C<given> block. You probably meant to use C<next> or C<last>.
+a C<given> block. You probably meant to use C<next> or C<last>.
=item Can't "break" outside a given block
@@ -678,6 +714,13 @@ quotas or other plumbing problems.
(F) Only scalar, array, and hash variables may be declared as "my", "our" or
"state" variables. They must have ordinary identifiers as names.
+=item Can't "default" outside a topicalizer
+
+(F) You have used a C<default> block that is neither inside a
+C<foreach> loop nor a C<given> block. (Note that this error is
+issued on exit from the C<default> block, so you won't get the
+error if you use an explicit C<continue>.)
+
=item Can't do inplace edit: %s is not a regular file
(S inplace) You tried to use the B<-i> switch on a special file, such as
@@ -702,9 +745,10 @@ inplace editing with the B<-i> switch. The file was ignored.
=item Can't do {n,m} with n > m in regex; marked by <-- HERE in m/%s/
-(F) Minima must be less than or equal to maxima. If you really want your
-regexp to match something 0 times, just put {0}. The <-- HERE shows in the
-regular expression about where the problem was discovered. See L<perlre>.
+(F) Minima must be less than or equal to maxima. If you really
+want your regexp to match something 0 times, just put {0}. The
+<-- HERE shows in the regular expression about where the problem
+was discovered. See L<perlre>.
=item Can't do waitpid with flags
@@ -753,7 +797,7 @@ is no builtin with the name C<word>.
=item Can't find %s character property "%s"
(F) You used C<\p{}> or C<\P{}> but the character property by that name
-could not be found. Maybe you misspelled the name of the property?
+could not be found. Maybe you misspelled the name of the property?
See L<perluniprops/Properties accessible through \p{} and \P{}>
for a complete list of available properties.
@@ -791,11 +835,11 @@ L<perlop> for the full details on here-documents.
(F) You may have tried to use C<\p> which means a Unicode
property (for example C<\p{Lu}> matches all uppercase
-letters). If you did mean to use a Unicode property, see
+letters). If you did mean to use a Unicode property, see
L<perluniprops/Properties accessible through \p{} and \P{}>
-for a complete list of available properties. If you didn't
-mean to use a Unicode property, escape the C<\p>, either by C<\\p>
-(just the C<\p>) or by C<\Q\p> (the rest of the string, or
+for a complete list of available properties. If you didn't
+mean to use a Unicode property, escape the C<\p>, either by
+C<\\p> (just the C<\p>) or by C<\Q\p> (the rest of the string, or
until C<\E>).
=item Can't fork: %s
@@ -898,20 +942,20 @@ package, but failed because the package stash has no name.
=item Can't load '%s' for module %s
-(F) The module you tried to load failed to load a dynamic extension. This
-may either mean that you upgraded your version of perl to one that is
-incompatible with your old dynamic extensions (which is known to happen
-between major versions of perl), or (more likely) that your dynamic
-extension was built against an older version of the library that is
-installed on your system. You may need to rebuild your old dynamic
-extensions.
+(F) The module you tried to load failed to load a dynamic extension.
+This may either mean that you upgraded your version of perl to one
+that is incompatible with your old dynamic extensions (which is known
+to happen between major versions of perl), or (more likely) that your
+dynamic extension was built against an older version of the library
+that is installed on your system. You may need to rebuild your old
+dynamic extensions.
=item Can't localize lexical variable %s
(F) You used local on a variable name that was previously declared as a
-lexical variable using "my" or "state". This is not allowed. If you want to
-localize a package variable of the same name, qualify it with the
-package name.
+lexical variable using "my" or "state". This is not allowed. If you
+want to localize a package variable of the same name, qualify it with
+the package name.
=item Can't localize through a reference
@@ -922,11 +966,11 @@ that $ref will still be a reference.
=item Can't locate %s
-(F) You said to C<do> (or C<require>, or C<use>) a file that couldn't be
-found. Perl looks for the file in all the locations mentioned in @INC,
-unless the file name included the full path to the file. Perhaps you
-need to set the PERL5LIB or PERL5OPT environment variable to say where
-the extra library is, or maybe the script needs to add the library name
+(F) You said to C<do> (or C<require>, or C<use>) a file that couldn't be found.
+Perl looks for the file in all the locations mentioned in @INC, unless
+the file name included the full path to the file. Perhaps you need
+to set the PERL5LIB or PERL5OPT environment variable to say where the
+extra library is, or maybe the script needs to add the library name
to @INC. Or maybe you just misspelled the name of the file. See
L<perlfunc/require> and L<lib>.
@@ -940,7 +984,7 @@ the file, say, by doing C<make install>.
=item Can't locate loadable object for module %s in @INC
(F) The module you loaded is trying to load an external library, like
-for example, C<foo.so> or C<bar.dll>, but the L<DynaLoader> module was
+for example, F<foo.so> or F<bar.dll>, but the L<DynaLoader> module was
unable to locate this library. See L<DynaLoader>.
=item Can't locate object method "%s" via package "%s"
@@ -959,7 +1003,7 @@ doesn't seem to exist.
(F) You tried to use in open() a PerlIO layer that does not exist,
e.g. open(FH, ">:nosuchlayer", "somefile").
-=item Can't make list assignment to \%ENV on this system
+=item Can't make list assignment to %ENV on this system
(F) List assignment to %ENV is not supported on some systems, notably
VMS.
@@ -993,13 +1037,22 @@ grep(). You can usually double the curlies to get the same effect
though, because the inner curlies will be considered a block that loops
once. See L<perlfunc/next>.
+=item Can't open %s
+
+(F) You tried to run a perl built with MAD support with
+the PERL_XMLDUMP environment variable set, but the file
+named by that variable could not be opened.
+
=item Can't open %s: %s
(S inplace) The implicit opening of a file through use of the C<< <> >>
filehandle, either implicitly under the C<-n> or C<-p> command-line
-switches, or explicitly, failed for the indicated reason. Usually this
-is because you don't have read permission for a file which you named on
-the command line.
+switches, or explicitly, failed for the indicated reason. Usually
+this is because you don't have read permission for a file which
+you named on the command line.
+
+(F) You tried to call perl with the B<-e> switch, but F</dev/null> (or
+your operating system's equivalent) could not be opened.
=item Can't open a reference
@@ -1042,7 +1095,7 @@ the command line for writing.
redirection, and couldn't open the pipe into which to send data destined
for stdout.
-=item Can't open perl script%s
+=item Can't open perl script "%s": %s
(F) The script you specified can't be opened for the indicated reason.
@@ -1083,11 +1136,18 @@ probably because you don't have write permission to the directory.
(P) An error peculiar to VMS. Perl thought stdin was a pipe, and tried
to reopen it to accept binary data. Alas, it failed.
+=item Can't reset %ENV on this system
+
+(F) You called C<reset('E')> or similar, which tried to reset
+all variables in the current package beginning with "E". In
+the main package, that includes %ENV. Resetting %ENV is not
+supported on some systems, notably VMS.
+
=item Can't resolve method "%s" overloading "%s" in package "%s"
-(F|P) Error resolving overloading specified by a method name (as opposed
-to a subroutine reference): no such method callable via the package. If
-the method name is C<???>, this is an internal error.
+(F)(P) Error resolving overloading specified by a method name (as
+opposed to a subroutine reference): no such method callable via the
+package. If the method name is C<???>, this is an internal error.
=item Can't return %s from lvalue subroutine
@@ -1102,11 +1162,11 @@ there was no subroutine call to return out of. See L<perlsub>.
=item Can't return %s to lvalue scalar context
-(F) You tried to return a complete array or hash from an lvalue subroutine,
-but you called the subroutine in a way that made Perl think you meant
-to return only one value. You probably meant to write parentheses around
-the call to the subroutine, which tell Perl that the call should be in
-list context.
+(F) You tried to return a complete array or hash from an lvalue
+subroutine, but you called the subroutine in a way that made Perl
+think you meant to return only one value. You probably meant to
+write parentheses around the call to the subroutine, which tell
+Perl that the call should be in list context.
=item Can't stat script "%s"
@@ -1116,7 +1176,7 @@ open already. Bizarre.
=item Can't take log of %g
(F) For ordinary real numbers, you can't take the logarithm of a
-negative number or zero. There's a Math::Complex package that comes
+negative number or zero. There's a Math::Complex package that comes
standard with Perl, though, if you really want to do that for the
negative numbers.
@@ -1139,6 +1199,11 @@ into a more specialized kind of SV. The top several SV types are so
specialized, however, that they cannot be interconverted. This message
indicates that such a conversion was attempted.
+=item Can't use '%c' after -mname
+
+(F) You tried to call perl with the B<-m> switch, but you put something
+other than "=" after the module name.
+
=item Can't use anonymous symbol table for method lookup
(F) The internal routine that does method lookup was handed a symbol
@@ -1157,8 +1222,8 @@ references are disallowed. See L<perlref>.
=item Can't use %! because Errno.pm is not available
-(F) The first time the %! hash is used, perl automatically loads the
-Errno.pm module. The Errno module is expected to tie the %! hash to
+(F) The first time the C<%!> hash is used, perl automatically loads the
+Errno.pm module. The Errno module is expected to tie the %! hash to
provide symbolic names for C<$!> errno values.
=item Can't use both '<' and '>' after type '%c' in %s
@@ -1221,18 +1286,18 @@ expression pattern. Trying to do this in ordinary Perl code produces a
value that prints out looking like SCALAR(0xdecaf). Use the $1 form
instead.
-=item Can't use "when" outside a topicalizer
-
-(F) You have used a when() block that is neither inside a C<foreach>
-loop nor a C<given> block. (Note that this error is issued on exit
-from the C<when> block, so you won't get the error if the match fails,
-or if you use an explicit C<continue>.)
-
=item Can't weaken a nonreference
(F) You attempted to weaken something that was not a reference. Only
references can be weakened.
+=item Can't "when" outside a topicalizer
+
+(F) You have used a when() block that is neither inside a C<foreach>
+loop nor a C<given> block. (Note that this error is issued on exit
+from the C<when> block, so you won't get the error if the match fails,
+or if you use an explicit C<continue>.)
+
=item Can't x= to read-only value
(F) You tried to repeat a constant value (often the undefined value)
@@ -1241,8 +1306,8 @@ Perhaps you need to copy the value to a temporary, and repeat that.
=item Character following "\c" must be ASCII
-(F|W deprecated, syntax) In C<\cI<X>>, I<X> must be an ASCII character.
-It is planned to make this fatal in all instances in Perl 5.16. In the
+(F)(W deprecated, syntax) In C<\cI<X>>, I<X> must be an ASCII character.
+It is planned to make this fatal in all instances in Perl 5.18. In the
cases where it isn't fatal, the character this evaluates to is
derived by exclusive or'ing the code point of this character with 0x40.
@@ -1269,9 +1334,9 @@ instead.
pack("U0W", $x)
-where $x is either less than 0 or more than 255. However, C<U0>-mode expects
-all values to fall in the interval [0, 255], so Perl behaved as if you
-meant:
+where $x is either less than 0 or more than 255. However, C<U0>-mode
+expects all values to fall in the interval [0, 255], so Perl behaved
+as if you meant:
pack("U0W", $x & 255)
@@ -1297,8 +1362,8 @@ instead.
unpack("H", "\x{2a1}")
where the format expects to process a byte (a character with a value
-below 256), but a higher value was provided instead. Perl uses the value
-modulus 256 instead, as if you had provided:
+below 256), but a higher value was provided instead. Perl uses the
+value modulus 256 instead, as if you had provided:
unpack("H", "\x{a1}")
@@ -1309,7 +1374,7 @@ modulus 256 instead, as if you had provided:
pack("u", "\x{1f3}b")
where the format expects to process a sequence of bytes (character with a
-value below 256), but some of the characters had a higher value. Perl
+value below 256), but some of the characters had a higher value. Perl
uses the character values modulus 256 instead, as if you had provided:
pack("u", "\x{f3}b")
@@ -1321,7 +1386,7 @@ uses the character values modulus 256 instead, as if you had provided:
unpack("s", "\x{1f3}b")
where the format expects to process a sequence of bytes (character with a
-value below 256), but some of the characters had a higher value. Perl
+value below 256), but some of the characters had a higher value. Perl
uses the character values modulus 256 instead, as if you had provided:
unpack("s", "\x{f3}b")
@@ -1331,7 +1396,7 @@ uses the character values modulus 256 instead, as if you had provided:
(D deprecated, syntax) The C<\cI<X>> construct is intended to be a way
to specify non-printable characters. You used it with a "{" which
evaluates to ";", which is printable. It is planned to remove the
-ability to specify a semi-colon this way in Perl 5.16. Just use a
+ability to specify a semi-colon this way in Perl 5.18. Just use a
semi-colon or a backslash-semi-colon without the "\c".
=item "\c%c" is more clearly written simply as "%s"
@@ -1341,6 +1406,10 @@ non-printable characters. You used it for a printable one, which is better
written as simply itself, perhaps preceded by a backslash for non-word
characters.
+=item Cloning substitution context is unimplemented
+
+(F) Creating a new thread inside the C<s///> operator is not supported.
+
=item close() on unopened filehandle %s
(W unopened) You tried to close a filehandle that was never opened.
@@ -1358,21 +1427,22 @@ This subroutine cannot be called.
=item Code missing after '/'
-(F) You had a (sub-)template that ends with a '/'. There must be another
-template code following the slash. See L<perlfunc/pack>.
+(F) You had a (sub-)template that ends with a '/'. There must be
+another template code following the slash. See L<perlfunc/pack>.
=item Code point 0x%X is not Unicode, may not be portable
-=item Code point 0x%X is not Unicode, no properties match it; all inverse properties do
+=item Code point 0x%X is not Unicode, all \p{} matches fail; all \P{} matches succeed
-(W utf8, non_unicode) You had a code point above the Unicode maximum of U+10FFFF.
+(W utf8, non_unicode) You had a code point above the Unicode maximum
+of U+10FFFF.
-Perl allows strings to contain a superset of Unicode code
-points, up to the limit of what is storable in an unsigned integer on
-your system, but these may not be accepted by other languages/systems.
-At one time, it was legal in some standards to have code points up to
-0x7FFF_FFFF, but not higher. Code points above 0xFFFF_FFFF require
-larger than a 32 bit word.
+Perl allows strings to contain a superset of Unicode code points, up
+to the limit of what is storable in an unsigned integer on your system,
+but these may not be accepted by other languages/systems. At one time,
+it was legal in some standards to have code points up to 0x7FFF_FFFF,
+but not higher. Code points above 0xFFFF_FFFF require larger than a
+32 bit word.
None of the Unicode or Perl-defined properties will match a non-Unicode
code point. For example,
@@ -1385,10 +1455,23 @@ will not match, because the code point is not in Unicode. But
will match.
+This may be counterintuitive at times, as both these fail:
+
+ chr(0x110000) =~ \p{ASCII_Hex_Digit=True} # Fails.
+ chr(0x110000) =~ \p{ASCII_Hex_Digit=False} # Also fails!
+
+and both these succeed:
+
+ chr(0x110000) =~ \P{ASCII_Hex_Digit=True} # Succeeds.
+ chr(0x110000) =~ \P{ASCII_Hex_Digit=False} # Also succeeds!
+
=item %s: Command not found
-(A) You've accidentally run your script through B<csh> instead of Perl.
-Check the #! line, or manually feed your script into Perl yourself.
+(A) You've accidentally run your script through B<csh> or another shell
+shell instead of Perl. Check the #! line, or manually feed your script
+into Perl yourself. The #! line at the top of your file could look like
+
+ #!/usr/bin/perl -w
=item Compilation failed in require
@@ -1410,25 +1493,25 @@ on I<Mastering Regular Expressions>.)
=item cond_broadcast() called on unlocked variable
-(W threads) Within a thread-enabled program, you tried to call
-cond_broadcast() on a variable which wasn't locked. The cond_broadcast()
-function is used to wake up another thread that is waiting in a
-cond_wait(). To ensure that the signal isn't sent before the other thread
-has a chance to enter the wait, it is usual for the signaling thread
-first to wait for a lock on variable. This lock attempt will only succeed
-after the other thread has entered cond_wait() and thus relinquished the
-lock.
+(W threads) Within a thread-enabled program, you tried to
+call cond_broadcast() on a variable which wasn't locked.
+The cond_broadcast() function is used to wake up another thread
+that is waiting in a cond_wait(). To ensure that the signal isn't
+sent before the other thread has a chance to enter the wait, it
+is usual for the signaling thread first to wait for a lock on
+variable. This lock attempt will only succeed after the other
+thread has entered cond_wait() and thus relinquished the lock.
=item cond_signal() called on unlocked variable
-(W threads) Within a thread-enabled program, you tried to call
-cond_signal() on a variable which wasn't locked. The cond_signal()
-function is used to wake up another thread that is waiting in a
-cond_wait(). To ensure that the signal isn't sent before the other thread
-has a chance to enter the wait, it is usual for the signaling thread
-first to wait for a lock on variable. This lock attempt will only succeed
-after the other thread has entered cond_wait() and thus relinquished the
-lock.
+(W threads) Within a thread-enabled program, you tried to
+call cond_signal() on a variable which wasn't locked. The
+cond_signal() function is used to wake up another thread that
+is waiting in a cond_wait(). To ensure that the signal isn't
+sent before the other thread has a chance to enter the wait, it
+is usual for the signaling thread first to wait for a lock on
+variable. This lock attempt will only succeed after the other
+thread has entered cond_wait() and thus relinquished the lock.
=item connect() on closed socket %s
@@ -1441,30 +1524,26 @@ L<perlfunc/connect>.
(F) The parser found inconsistencies either while attempting to define
an overloaded constant, or when trying to find the character name
specified in the C<\N{...}> escape. Perhaps you forgot to load the
-corresponding C<overload> or C<charnames> pragma? See L<charnames> and
-L<overload>.
+corresponding L<overload> pragma?.
=item Constant(%s)%s: %s in regex; marked by <-- HERE in m/%s/
(F) The parser found inconsistencies while attempting to find
-the character name specified in the C<\N{...}> escape. Perhaps you
-forgot to load the corresponding C<charnames> pragma?
-See L<charnames>.
-
+the character name specified in the C<\N{...}> escape.
=item Constant is not %s reference
(F) A constant value (perhaps declared using the C<use constant> pragma)
is being dereferenced, but it amounts to the wrong type of reference.
-The message indicates the type of reference that was expected. This
+The message indicates the type of reference that was expected. This
usually indicates a syntax error in dereferencing the constant value.
See L<perlsub/"Constant Functions"> and L<constant>.
=item Constant subroutine %s redefined
-(S) You redefined a subroutine which had previously been
-eligible for inlining. See L<perlsub/"Constant Functions"> for
-commentary and workarounds.
+(W redefine)(S) You redefined a subroutine which had previously
+been eligible for inlining. See L<perlsub/"Constant Functions">
+for commentary and workarounds.
=item Constant subroutine %s undefined
@@ -1474,9 +1553,19 @@ workarounds.
=item Copy method did not return a reference
-(F) The method which overloads "=" is buggy. See
+(F) The method which overloads "=" is buggy. See
L<overload/Copy Constructor>.
+=item &CORE::%s cannot be called directly
+
+(F) You tried to call a subroutine in the C<CORE::> namespace
+with C<&foo> syntax or through a reference. Some subroutines
+in this package cannot yet be called that way, but must be
+called as barewords. Something like this will work:
+
+ BEGIN { *shove = \&CORE::push; }
+ shove @array, 1,2,3; # pushes on to @array
+
=item CORE::%s is not a keyword
(F) The CORE:: namespace is reserved for Perl keywords.
@@ -1501,6 +1590,8 @@ valid magic number.
you have also specified an explicit size for the string. See
L<perlfunc/pack>.
+=item Deep recursion on anonymous subroutine
+
=item Deep recursion on subroutine "%s"
(W recursion) This subroutine has called itself (directly or indirectly)
@@ -1519,13 +1610,30 @@ array is empty, just use C<if (@array) { # not empty }> for example.
=item defined(%hash) is deprecated
-(D deprecated) defined() is not usually useful on hashes because it
-checks for an undefined I<scalar> value. If you want to see if the hash
-is empty, just use C<if (%hash) { # not empty }> for example.
+(D deprecated) C<defined()> is not usually right on hashes and has been
+discouraged since 5.004.
+
+Although C<defined %hash> is false on a plain not-yet-used hash, it
+becomes true in several non-obvious circumstances, including iterators,
+weak references, stash names, even remaining true after C<undef %hash>.
+These things make C<defined %hash> fairly useless in practice.
+
+If a check for non-empty is what you wanted then just put it in boolean
+context (see L<perldata/Scalar values>):
+
+ if (%hash) {
+ # not empty
+ }
+
+If you had C<defined %Foo::Bar::QUUX> to check whether such a package
+variable exists then that's never really been reliable, and isn't
+a good way to enquire about the features of a package, or whether
+it's loaded, etc.
+
=item (?(DEFINE)....) does not allow branches in regex; marked by <-- HERE in m/%s/
-(F) You used something like C<(?(DEFINE)...|..)> which is illegal. The
+(F) You used something like C<(?(DEFINE)...|..)> which is illegal. The
most likely cause of this error is that you left out a parenthesis inside
of the C<....> part.
@@ -1553,12 +1661,12 @@ parentheses or colons.
=item Deprecated use of my() in false conditional
-(D deprecated) You used a declaration similar to C<my $x if 0>.
-There has been a long-standing bug in Perl that causes a lexical variable
+(D deprecated) You used a declaration similar to C<my $x if 0>. There
+has been a long-standing bug in Perl that causes a lexical variable
not to be cleared at scope exit when its declaration includes a false
-conditional. Some people have exploited this bug to achieve a kind of
-static variable. Since we intend to fix this bug, we don't want people
-relying on this behavior. You can achieve a similar static effect by
+conditional. Some people have exploited this bug to achieve a kind of
+static variable. Since we intend to fix this bug, we don't want people
+relying on this behavior. You can achieve a similar static effect by
declaring the variable in a separate block outside the function, eg
sub f { my $x if 0; return $x++ }
@@ -1567,16 +1675,16 @@ becomes
{ my $x; sub f { return $x++ } }
-Beginning with perl 5.9.4, you can also use C<state> variables to
-have lexicals that are initialized only once (see L<feature>):
+Beginning with perl 5.9.4, you can also use C<state> variables to have
+lexicals that are initialized only once (see L<feature>):
sub f { state $x; return $x++ }
=item DESTROY created new reference to dead object '%s'
(F) A DESTROY() method created a new reference to the object which is
-just being DESTROYed. Perl is confused, and prefers to abort rather than
-to create a dangling reference.
+just being DESTROYed. Perl is confused, and prefers to abort rather
+than to create a dangling reference.
=item Did not produce a valid header
@@ -1665,15 +1773,15 @@ in a pack template. See L<perlfunc/pack>.
=item elseif should be elsif
-(S syntax) There is no keyword "elseif" in Perl because Larry thinks it's
-ugly. Your code will be interpreted as an attempt to call a method named
-"elseif" for the class returned by the following block. This is
+(S syntax) There is no keyword "elseif" in Perl because Larry thinks
+it's ugly. Your code will be interpreted as an attempt to call a method
+named "elseif" for the class returned by the following block. This is
unlikely to be what you want.
=item Empty %s
(F) C<\p> and C<\P> are used to introduce a named Unicode property, as
-described in L<perlunicode> and L<perlre>. You used C<\p> or C<\P> in
+described in L<perlunicode> and L<perlre>. You used C<\p> or C<\P> in
a regular expression without specifying the property name.
=item entering effective %s failed
@@ -1685,7 +1793,7 @@ effective uids or gids failed.
(F) You're running under taint mode, and the C<%ENV> variable has been
aliased to another hash, so it doesn't reflect anymore the state of the
-program's environment. This is potentially insecure.
+program's environment. This is potentially insecure.
=item Error converting file specification %s
@@ -1720,7 +1828,7 @@ pragma is in effect. See L<perlre/(?{ code })>.
=item EVAL without pos change exceeded limit in regex; marked by <-- HERE in m/%s/
(F) You used a pattern that nested too many EVAL calls without consuming
-any text. Restructure the pattern so that text is consumed.
+any text. Restructure the pattern so that text is consumed.
The <-- HERE shows in the regular expression about where the problem was
discovered.
@@ -1735,7 +1843,7 @@ variable and glob that.
=item exec? I'm not *that* kind of operating system
(F) The C<exec> function is not implemented on some systems, e.g., Symbian
-OS. See L<perlport>.
+OS. See L<perlport>.
=item Execution of %s aborted due to compilation errors.
@@ -1813,8 +1921,8 @@ is not possible.
=item Field too wide in 'u' format in pack
(W pack) Each line in an uuencoded string start with a length indicator
-which can't encode values above 63. So there is no point in asking for
-a line length bigger than that. Perl will behave as if you specified
+which can't encode values above 63. So there is no point in asking for
+a line length bigger than that. Perl will behave as if you specified
C<u63> as the format.
=item Filehandle %s opened only for input
@@ -1836,13 +1944,13 @@ output (maybe you closed STDIN earlier?).
=item Filehandle %s reopened as %s only for input
(W io) You opened for reading a filehandle that got the same filehandle id
-as STDOUT or STDERR. This occurred because you closed STDOUT or STDERR
+as STDOUT or STDERR. This occurred because you closed STDOUT or STDERR
previously.
=item Filehandle STDIN reopened as %s only for output
(W io) You opened for writing a filehandle that got the same filehandle id
-as STDIN. This occurred because you closed STDIN previously.
+as STDIN. This occurred because you closed STDIN previously.
=item Final $ should be \$ or $name
@@ -1926,15 +2034,15 @@ which package the global variable is in (using "::").
=item glob failed (%s)
-(W glob) Something went wrong with the external program(s) used for
-C<glob> and C<< <*.c> >>. Usually, this means that you supplied a
-C<glob> pattern that caused the external program to fail and exit with a
+(S glob) Something went wrong with the external program(s) used
+for C<glob> and C<< <*.c> >>. Usually, this means that you supplied a C<glob>
+pattern that caused the external program to fail and exit with a
nonzero status. If the message indicates that the abnormal exit
-resulted in a coredump, this may also mean that your csh (C shell) is
-broken. If so, you should change all of the csh-related variables in
-config.sh: If you have tcsh, make the variables refer to it as if it
-were csh (e.g. C<full_csh='/usr/bin/tcsh'>); otherwise, make them all
-empty (except that C<d_csh> should be C<'undef'>) so that Perl will
+resulted in a coredump, this may also mean that your csh (C shell)
+is broken. If so, you should change all of the csh-related variables
+in config.sh: If you have tcsh, make the variables refer to it as
+if it were csh (e.g. C<full_csh='/usr/bin/tcsh'>); otherwise, make them
+all empty (except that C<d_csh> should be C<'undef'>) so that Perl will
think csh is missing. In either case, after editing config.sh, run
C<./Configure -S> and rebuild Perl.
@@ -1949,15 +2057,13 @@ earlier in the line, and you really meant a "less than".
(W overflow) You called C<gmtime> with a number that was larger than
it can reliably handle and C<gmtime> probably returned the wrong
-date. This warning is also triggered with nan (the special
+date. This warning is also triggered with NaN (the special
not-a-number value).
=item gmtime(%f) too small
(W overflow) You called C<gmtime> with a number that was smaller than
-it can reliably handle and C<gmtime> probably returned the wrong
-date. This warning is also triggered with nan (the special
-not-a-number value).
+it can reliably handle and C<gmtime> probably returned the wrong date.
=item Got an error from DosAllocMem
@@ -1969,6 +2075,12 @@ version of Perl, and this should not happen anyway.
(F) Unlike with "next" or "last", you're not allowed to goto an
unspecified destination. See L<perlfunc/goto>.
+=item Goto undefined subroutine%s
+
+(F) You tried to call a subroutine with C<goto &sub> syntax, but
+the indicated subroutine hasn't been defined, or if it was, it
+has since been undefined.
+
=item ()-group starts with a count
(F) A ()-group started with a count. A count is supposed to follow
@@ -1998,17 +2110,18 @@ Further error messages would likely be uninformative.
(D syntax)
-You had a word that isn't a regex modifier immediately following a
-pattern without an intervening space. If you are trying to use the C</le>
-flags on a substitution, use C</el> instead. Otherwise, add white space
-between the pattern and following word to eliminate the warning. As an
-example of the latter, the two constructs:
+You had a word that isn't a regex modifier immediately following
+a pattern without an intervening space. If you are trying to use
+the C</le> flags on a substitution, use C</el> instead. Otherwise, add
+white space between the pattern and following word to eliminate
+the warning. As an example of the latter, the two constructs:
+
$a =~ m/$foo/sand $bar
$a =~ m/$foo/s and $bar
-both currently mean the same thing, but it is planned to disallow the first
-form in Perl 5.16. And,
+both currently mean the same thing, but it is planned to disallow
+the first form in Perl 5.18. And,
$a =~ m/$foo/and $bar
@@ -2029,9 +2142,9 @@ of Perl are likely to eliminate these arbitrary limitations.
=item Ignoring zero length \N{} in character class
-(W) Named Unicode character escapes (\N{...}) may return a
-zero length sequence. When such an escape is used in a character class
-its behaviour is not well defined. Check that the correct escape has
+(W) Named Unicode character escapes C<(\N{...})> may return a zero-length
+sequence. When such an escape is used in a character class its
+behaviour is not well defined. Check that the correct escape has
been used, and the correct charname handler is in scope.
=item Illegal binary digit %s
@@ -2044,6 +2157,11 @@ been used, and the correct charname handler is in scope.
binary number. Interpretation of the binary number stopped before the
offending digit.
+=item Illegal character after '_' in prototype for %s : %s
+
+(W illegalproto) An illegal character was found in a prototype declaration.
+Legal characters in prototypes are $, @, %, *, ;, [, ], &, \, and +.
+
=item Illegal character \%o (carriage return)
(F) Perl normally treats carriage returns in the program text as it
@@ -2060,11 +2178,11 @@ Legal characters in prototypes are $, @, %, *, ;, [, ], &, \, and +.
=item Illegal declaration of anonymous subroutine
(F) When using the C<sub> keyword to construct an anonymous subroutine,
-you must always specify a block of code. See L<perlsub>.
+you must always specify a block of code. See L<perlsub>.
=item Illegal declaration of subroutine %s
-(F) A subroutine was not declared correctly. See L<perlsub>.
+(F) A subroutine was not declared correctly. See L<perlsub>.
=item Illegal division by zero
@@ -2141,7 +2259,7 @@ encoding is limited to code points no larger than 2147483647 (0x7FFFFFFF).
=item Infinite recursion in regex; marked by <-- HERE in m/%s/
(F) You used a pattern that references itself without consuming any input
-text. You should check the pattern to ensure that recursive patterns
+text. You should check the pattern to ensure that recursive patterns
either consume text or fail.
The <-- HERE shows in the regular expression about where the problem was
@@ -2149,10 +2267,11 @@ discovered.
=item Initialization of state variables in list context currently forbidden
-(F) Currently the implementation of "state" only permits the initialization
-of scalar variables in scalar context. Re-write C<state ($a) = 42> as
-C<state $a = 42> to change from list to scalar context. Constructions such
-as C<state (@a) = foo()> will be supported in a future perl release.
+(F) Currently the implementation of "state" only permits the
+initialization of scalar variables in scalar context. Re-write
+C<state ($a) = 42> as C<state $a = 42> to change from list to scalar
+context. Constructions such as C<state (@a) = foo()> will be
+supported in a future perl release.
=item Insecure dependency in %s
@@ -2186,7 +2305,6 @@ expression that contains a call to a user-defined character property
function, i.e. C<\p{IsFoo}> or C<\p{InFoo}>.
See L<perlunicode/User-Defined Character Properties> and L<perlsec>.
-
=item Integer overflow in format string for %s
(F) The indexes and widths specified in the format string of C<printf()>
@@ -2231,7 +2349,7 @@ terminate the Perl script and execute the specified command.
=item Internal urp in regex; marked by <-- HERE in m/%s/
-(P) Something went badly awry in the regular expression parser. The
+(P) Something went badly awry in the regular expression parser. The
<-- HERE shows in the regular expression about where the problem was
discovered.
@@ -2272,6 +2390,13 @@ escape was discovered.
number. Either it is empty, or you tried to use a character other than
0 - 9 or A - F, a - f in a hexadecimal number.
+=item Invalid module name %s with -%c option: contains single ':'
+
+(F) The module argument to perl's B<-m> and B<-M> command-line options
+cannot contain single colons in the module name, but only in the
+arguments after "=". In other words, B<-MFoo::Bar=:baz> is ok, but
+B<-MFoo:Bar=baz> is not.
+
=item Invalid mro name: '%s'
(F) You tried to C<mro::set_mro("classname", "foo")> or C<use mro 'foo'>,
@@ -2279,6 +2404,12 @@ where C<foo> is not a valid method resolution order (MRO). Currently,
the only valid ones supported are C<dfs> and C<c3>, unless you have loaded
a module that is a MRO plugin. See L<mro> and L<perlmroapi>.
+=item invalid option -D%c, use -D'' to see choices
+
+(F) Perl was called with invalid debugger flags. Call perl with
+the B<-D> option with no flags to see the list of acceptable values.
+See also L<< perlrun/B<-D>I<letters> >>.
+
=item Invalid [] range "%s" in regex; marked by <-- HERE in m/%s/
(F) The range specified in a character class had a minimum character
@@ -2308,7 +2439,7 @@ list was terminated too soon.
=item Invalid strict version format (%s)
-(F) A version number did not meet the "strict" criteria for versions.
+(F) A version number did not meet the "strict" criteria for versions.
A "strict" version number is a positive decimal number (integer or
decimal-fraction) without exponentiation or else a dotted-decimal
v-string with a leading 'v' character and at least three components.
@@ -2319,27 +2450,28 @@ See the L<version> module for more details on allowed version formats.
(F) The given character is not a valid pack or unpack type.
See L<perlfunc/pack>.
+
(W) The given character is not a valid pack or unpack type but used to be
silently ignored.
=item Invalid version format (%s)
-(F) A version number did not meet the "lax" criteria for versions.
+(F) A version number did not meet the "lax" criteria for versions.
A "lax" version number is a positive decimal number (integer or
decimal-fraction) without exponentiation or else a dotted-decimal
-v-string. If the v-string has fewer than three components, it must
-have a leading 'v' character. Otherwise, the leading 'v' is optional.
-Both decimal and dotted-decimal versions may have a trailing "alpha"
-component separated by an underscore character after a fractional or
-dotted-decimal component. The parenthesized text indicates which
-criteria were not met. See the L<version> module for more details on
-allowed version formats.
+v-string. If the v-string has fewer than three components, it
+must have a leading 'v' character. Otherwise, the leading 'v' is
+optional. Both decimal and dotted-decimal versions may have a
+trailing "alpha" component separated by an underscore character
+after a fractional or dotted-decimal component. The parenthesized
+text indicates which criteria were not met. See the L<version> module
+for more details on allowed version formats.
=item Invalid version object
-(F) The internal structure of the version object was invalid. Perhaps
-the internals were modified directly in some way or an arbitrary reference
-was blessed into the "version" class.
+(F) The internal structure of the version object was invalid.
+Perhaps the internals were modified directly in some way or
+an arbitrary reference was blessed into the "version" class.
=item ioctl is not implemented
@@ -2365,28 +2497,28 @@ neither as a system call nor an ioctl call (SIOCATMARK).
=item $* is no longer supported
(D deprecated, syntax) The special variable C<$*>, deprecated in older
-perls, has been removed as of 5.9.0 and is no longer supported. In
+perls, has been removed as of 5.9.0 and is no longer supported. In
previous versions of perl the use of C<$*> enabled or disabled multi-line
matching within a string.
Instead of using C<$*> you should use the C</m> (and maybe C</s>) regexp
-modifiers. You can enable C</m> for a lexical scope (even a whole file)
-with C<use re '/m'>. (In older versions: when C<$*> was set to a true value
+modifiers. You can enable C</m> for a lexical scope (even a whole file)
+with C<use re '/m'>. (In older versions: when C<$*> was set to a true value
then all regular expressions behaved as if they were written using C</m>.)
=item $# is no longer supported
(D deprecated, syntax) The special variable C<$#>, deprecated in older
-perls, has been removed as of 5.9.3 and is no longer supported. You
+perls, has been removed as of 5.9.3 and is no longer supported. You
should use the printf/sprintf functions instead.
-=item `%s' is not a code reference
+=item '%s' is not a code reference
-(W overload) The second (fourth, sixth, ...) argument of overload::constant
-needs to be a code reference. Either an anonymous subroutine, or a reference
-to a subroutine.
+(W overload) The second (fourth, sixth, ...) argument of
+overload::constant needs to be a code reference. Either
+an anonymous subroutine, or a reference to a subroutine.
-=item `%s' is not an overloadable type
+=item '%s' is not an overloadable type
(W overload) You tried to overload a constant type the overload package is
unaware of.
@@ -2421,16 +2553,29 @@ effective uids or gids failed.
=item length/code after end of string in unpack
(F) While unpacking, the string buffer was already used up when an unpack
-length/code combination tried to obtain more data. This results in
-an undefined value for the length. See L<perlfunc/pack>.
+length/code combination tried to obtain more data. This results in
+an undefined value for the length. See L<perlfunc/pack>.
+
+=item length() used on %s
+
+(W syntax) You used length() on either an array or a hash when you
+probably wanted a count of the items.
+
+Array size can be obtained by doing:
+
+ scalar(@array);
+
+The number of items in a hash can be obtained by doing:
+
+ scalar(keys %hash);
=item Lexing code attempted to stuff non-Latin-1 character into Latin-1 input
(F) An extension is attempting to insert text into the current parse
-(using L<lex_stuff_pvn|perlapi/lex_stuff_pvn> or similar), but tried to insert a character
-that couldn't be part of the current input. This is an inherent pitfall
-of the stuffing mechanism, and one of the reasons to avoid it. Where it
-is necessary to stuff, stuffing only plain ASCII is recommended.
+(using L<lex_stuff_pvn|perlapi/lex_stuff_pvn> or similar), but tried to insert a character that
+couldn't be part of the current input. This is an inherent pitfall
+of the stuffing mechanism, and one of the reasons to avoid it. Where
+it is necessary to stuff, stuffing only plain ASCII is recommended.
=item Lexing code internal error (%s)
@@ -2443,53 +2588,63 @@ detectable way.
to check the return value of your socket() call? See
L<perlfunc/listen>.
+=item List form of piped open not implemented
+
+(F) On some platforms, notably Windows, the three-or-more-arguments
+form of C<open> does not support pipes, such as C<open($pipe, '|-', @args)>.
+Use the two-argument C<open($pipe, '|prog arg1 arg2...')> form instead.
+
=item localtime(%f) too large
(W overflow) You called C<localtime> with a number that was larger
than it can reliably handle and C<localtime> probably returned the
-wrong date. This warning is also triggered with nan (the special
+wrong date. This warning is also triggered with NaN (the special
not-a-number value).
=item localtime(%f) too small
(W overflow) You called C<localtime> with a number that was smaller
than it can reliably handle and C<localtime> probably returned the
-wrong date. This warning is also triggered with nan (the special
-not-a-number value).
+wrong date.
=item Lookbehind longer than %d not implemented in regex m/%s/
(F) There is currently a limit on the length of string which lookbehind can
-handle. This restriction may be eased in a future release.
+handle. This restriction may be eased in a future release.
=item Lost precision when %s %f by 1
(W) The value you attempted to increment or decrement by one is too large
for the underlying floating point representation to store accurately,
-hence the target of C<++> or C<--> is unchanged. Perl issues this warning
+hence the target of C<++> or C<--> is unchanged. Perl issues this warning
because it has already switched from integers to floating point when values
are too large for integers, and now even floating point is insufficient.
You may wish to switch to using L<Math::BigInt> explicitly.
-=item lstat() on filehandle %s
+=item lstat() on filehandle%s
(W io) You tried to do an lstat on a filehandle. What did you mean
by that? lstat() makes sense only on filenames. (Perl did a fstat()
instead on the filehandle.)
-=item lvalue attribute ignored after the subroutine has been defined
+=item lvalue attribute %s already-defined subroutine
-(W misc) Making a subroutine an lvalue subroutine after it has been defined
-by declaring the subroutine with an lvalue attribute is not
-possible. To make the subroutine an lvalue subroutine add the
-lvalue attribute to the definition, or put the declaration before
-the definition.
+(W misc) Although L<attributes.pm|attributes> allows this, turning the lvalue
+attribute on or off on a Perl subroutine that is already defined
+does not always work properly. It may or may not do what you
+want, depending on what code is inside the subroutine, with exact
+details subject to change between Perl versions. Only do this
+if you really know what you are doing.
-=item Lvalue subs returning %s not implemented yet
+=item lvalue attribute ignored after the subroutine has been defined
+
+(W misc) Using the C<:lvalue> declarative syntax to make a Perl
+subroutine an lvalue subroutine after it has been defined is
+not permitted. To make the subroutine an lvalue subroutine,
+add the lvalue attribute to the definition, or put the C<sub
+foo :lvalue;> declaration before the definition.
-(F) Due to limitations in the current implementation, array and hash
-values cannot be returned in subroutines used in lvalue context. See
-L<perlsub/"Lvalue subroutines">.
+See also L<attributes.pm|attributes>.
=item Malformed integer in [] in pack
@@ -2524,12 +2679,12 @@ when the function is called.
=item Malformed UTF-8 character (%s)
-(S utf8) (F) Perl detected a string that didn't comply with UTF-8
+(S utf8)(F) Perl detected a string that didn't comply with UTF-8
encoding rules, even though it had the UTF8 flag on.
One possible cause is that you set the UTF8 flag yourself for data that
you thought to be in UTF-8 but it wasn't (it was for example legacy
-8-bit data). To guard against this, you can use Encode::decode_utf8.
+8-bit data). To guard against this, you can use Encode::decode_utf8.
If you use the C<:encoding(UTF-8)> PerlIO layer for input, invalid byte
sequences are handled gracefully, but if you use C<:utf8>, the flag is
@@ -2571,11 +2726,11 @@ See L<perlre>.
=item Maximal count of pending signals (%u) exceeded
-(F) Perl aborted due to too high a number of signals pending. This
+(F) Perl aborted due to too high a number of signals pending. This
usually indicates that your operating system tried to deliver signals
too fast (with a very high priority), starving the perl process from
resources it would need to reach a point where it can process signals
-safely. (See L<perlipc/"Deferred Signals (Safe Signals)">.)
+safely. (See L<perlipc/"Deferred Signals (Safe Signals)">.)
=item "%s" may clash with future reserved word
@@ -2583,7 +2738,7 @@ safely. (See L<perlipc/"Deferred Signals (Safe Signals)">.)
interpreter, especially if the word that is being warned about is
"use" or "my".
-=item % may not be used in pack
+=item '%' may not be used in pack
(F) You can't pack a string by supplying a checksum, because the
checksumming process loses information, and you can't go the other way.
@@ -2673,7 +2828,7 @@ can vary from one line to the next.
The traditional one has it followed by a name enclosed in braces,
meaning the character (or sequence of characters) given by that
-name. Thus C<\N{ASTERISK}> is another way of writing C<*>, valid in both
+name. Thus C<\N{ASTERISK}> is another way of writing C<*>, valid in both
double-quoted strings and regular expression patterns. In patterns,
it doesn't have the meaning an unescaped C<*> does.
@@ -2719,10 +2874,10 @@ Another way is to assign to a substr() that's off the end of the string.
Yet another way is to assign to a C<foreach> loop I<VAR> when I<VAR>
is aliased to a constant in the look I<LIST>:
- $x = 1;
- foreach my $n ($x, 2) {
- $n *= 2; # modifies the $x, but fails on attempt to modify the 2
- }
+ $x = 1;
+ foreach my $n ($x, 2) {
+ $n *= 2; # modifies the $x, but fails on attempt to
+ } # modify the 2
=item Modification of non-creatable array value attempted, %s
@@ -2747,7 +2902,7 @@ about C<-M> and C<-m>.
=item More than one argument to '%s' open
-(F) The C<open> function has been asked to open multiple files. This
+(F) The C<open> function has been asked to open multiple files. This
can happen if you are trying to open a pipe to a command that takes a
list of arguments, but have forgotten to specify a piped open mode.
See L<perlfunc/open> for details.
@@ -2845,9 +3000,9 @@ greater than or equal to zero.
=item Nested quantifiers in regex; marked by <-- HERE in m/%s/
-(F) You can't quantify a quantifier without intervening parentheses. So
-things like ** or +* or ?* are illegal. The <-- HERE shows in the regular
-expression about where the problem was discovered.
+(F) You can't quantify a quantifier without intervening parentheses.
+So things like ** or +* or ?* are illegal. The <-- HERE shows in the
+regular expression about where the problem was discovered.
Note that the minimal matching quantifiers, C<*?>, C<+?>, and
C<??> appear to be nested quantifiers, but aren't. See L<perlre>.
@@ -2870,23 +3025,33 @@ setgid script to even be allowed to attempt. Generally speaking there
will be another way to do what you want that is, if not secure, at least
securable. See L<perlsec>.
+=item No code specified for -%c
+
+(F) Perl's B<-e> and B<-E> command-line options require an argument. If
+you want to run an empty program, pass the empty string as a separate
+argument or run a program consisting of a single 0 or 1:
+
+ perl -e ""
+ perl -e0
+ perl -e1
+
=item No comma allowed after %s
-(F) A list operator that has a filehandle or "indirect object" is not
-allowed to have a comma between that and the following arguments.
+(F) A list operator that has a filehandle or "indirect object" is
+not allowed to have a comma between that and the following arguments.
Otherwise it'd be just another one of the arguments.
-One possible cause for this is that you expected to have imported a
-constant to your name space with B<use> or B<import> while no such
-importing took place, it may for example be that your operating system
-does not support that particular constant. Hopefully you did use an
-explicit import list for the constants you expect to see; please see
-L<perlfunc/use> and L<perlfunc/import>. While an explicit import list
-would probably have caught this error earlier it naturally does not
-remedy the fact that your operating system still does not support that
-constant. Maybe you have a typo in the constants of the symbol import
-list of B<use> or B<import> or in the constant name at the line where
-this error was triggered?
+One possible cause for this is that you expected to have imported
+a constant to your name space with B<use> or B<import> while no such
+importing took place, it may for example be that your operating
+system does not support that particular constant. Hopefully you did
+use an explicit import list for the constants you expect to see;
+please see L<perlfunc/use> and L<perlfunc/import>. While an
+explicit import list would probably have caught this error earlier
+it naturally does not remedy the fact that your operating system
+still does not support that constant. Maybe you have a typo in
+the constants of the symbol import list of B<use> or B<import> or in the
+constant name at the line where this error was triggered?
=item No command into which to pipe on command line
@@ -2913,6 +3078,11 @@ for some reason the current debugger (e.g. F<perl5db.pl> or a C<Devel::>
module) didn't define a C<DB::sub> routine to be called at the beginning
of each ordinary subroutine call.
+=item No directory specified for -I
+
+(F) The B<-I> command-line switch requires a directory name as part of the
+I<same> argument. Use B<-Ilib>, for instance. B<-I lib> won't work.
+
=item No error file after 2> or 2>> on command line
(F) An error peculiar to VMS. Perl handles its own command line
@@ -2922,7 +3092,7 @@ find the name of the file to which to write data destined for stderr.
=item No group ending character '%c' found in template
(F) A pack or unpack template has an opening '(' or '[' without its
-matching counterpart. See L<perlfunc/pack>.
+matching counterpart. See L<perlfunc/pack>.
=item No input file after < on command line
@@ -2935,7 +3105,7 @@ name of the file from which to read data for stdin.
(F) C<next::method> found no further instances of this method name
in the remaining packages of the MRO of this class. If you don't want
it throwing an exception, use C<maybe::next::method>
-or C<next::can>. See L<mro>.
+or C<next::can>. See L<mro>.
=item "no" not allowed in expression
@@ -2975,16 +3145,12 @@ your system.
(F) Configure didn't find anything resembling the setreuid() call for
your system.
-=item No %s specified for -%c
-
-(F) The indicated command line switch needs a mandatory argument, but
-you haven't specified one.
-
=item No such class field "%s" in variable %s of type %s
-(F) You tried to access a key from a hash through the indicated typed variable
-but that key is not allowed by the package of the same type. The indicated
-package has restricted the set of allowed keys using the L<fields> pragma.
+(F) You tried to access a key from a hash through the indicated typed
+variable but that key is not allowed by the package of the same type.
+The indicated package has restricted the set of allowed keys using the
+L<fields> pragma.
=item No such class %s
@@ -3088,15 +3254,15 @@ need to be added to UTC to get local time.
=item Non-octal character '%c'. Resolved as "%s"
-(W digit) In parsing an octal numeric constant, a character was
-unexpectedly encountered that isn't octal. The resulting value is as
-indicated.
+(W digit) In parsing an octal numeric constant, a character was
+unexpectedly encountered that isn't octal. The resulting value
+is as indicated.
=item Non-string passed as bitmask
(W misc) A number has been passed as a bitmask argument to select().
Use the vec() function to construct the file descriptor bitmasks for
-select. See L<perlfunc/select>.
+select. See L<perlfunc/select>.
=item Null filename used
@@ -3105,7 +3271,7 @@ machines that means the current directory! See L<perlfunc/require>.
=item NULL OP IN RUN
-(P debugging) Some internal routine called run() with a null opcode
+(S debugging) Some internal routine called run() with a null opcode
pointer.
=item Null picture in formline
@@ -3137,15 +3303,9 @@ the meantime, try using scientific notation (e.g. "1e6" instead of
=item Number with no digits
(F) Perl was looking for a number but found nothing that looked like
-a number. This happens, for example with C<\o{}>, with no number between
+a number. This happens, for example with C<\o{}>, with no number between
the braces.
-=item Octal number in vector unsupported
-
-(F) Numbers with a leading C<0> are not currently allowed in vectors.
-The octal number interpretation of such numbers may be supported in a
-future version.
-
=item Octal number > 037777777777 non-portable
(W portable) The octal number you specified is larger than 2**32-1
@@ -3155,7 +3315,7 @@ L<perlport> for more on portability concerns.
=item Odd number of arguments for overload::constant
(W overload) The call to overload::constant contained an odd number of
-arguments. The arguments should come in pairs.
+arguments. The arguments should come in pairs.
=item Odd number of elements in anonymous hash
@@ -3169,7 +3329,7 @@ which is odd, because hashes come in key/value pairs.
=item Offset outside string
-(F|W layer) You tried to do a read/write/send/recv/seek operation
+(F)(W layer) You tried to do a read/write/send/recv/seek operation
with an offset pointing outside the buffer. This is difficult to
imagine. The sole exceptions to this are that zero padding will
take place when going past the end of the string when either
@@ -3220,9 +3380,8 @@ the C<fallback> overloading key is specified to be true. See L<overload>.
=item Operation "%s" returns its argument for non-Unicode code point 0x%X
(W utf8, non_unicode) You performed an operation requiring Unicode
-semantics on a code
-point that is not in Unicode, so what it should do is not defined. Perl
-has chosen to have it do nothing, and warn you.
+semantics on a code point that is not in Unicode, so what it should do
+is not defined. Perl has chosen to have it do nothing, and warn you.
If the operation shown is "ToFold", it means that case-insensitive
matching in a regular expression was done on the code point.
@@ -3233,11 +3392,11 @@ C<no warnings 'non_unicode';>.
=item Operation "%s" returns its argument for UTF-16 surrogate U+%X
(W utf8, surrogate) You performed an operation requiring Unicode
-semantics on a Unicode
-surrogate. Unicode frowns upon the use of surrogates for anything but
-storing strings in UTF-16, but semantics are (reluctantly) defined for
-the surrogates, and they are to do nothing for this operation. Because
-the use of surrogates can be dangerous, Perl warns.
+semantics on a Unicode surrogate. Unicode frowns upon the use of
+surrogates for anything but storing strings in UTF-16, but semantics
+are (reluctantly) defined for the surrogates, and they are to do
+nothing for this operation. Because the use of surrogates can be
+dangerous, Perl warns.
If the operation shown is "ToFold", it means that case-insensitive
matching in a regular expression was done on the code point.
@@ -3278,13 +3437,13 @@ the largest possible memory allocation.
=item Out of memory during "large" request for %s
(F) The malloc() function returned 0, indicating there was insufficient
-remaining memory (or virtual memory) to satisfy the request. However,
+remaining memory (or virtual memory) to satisfy the request. However,
the request was judged large enough (compile-time default is 64K), so a
possibility to shut down by trapping this error is granted.
=item Out of memory during request for %s
-(X|F) The malloc() function returned 0, indicating there was
+(X)(F) The malloc() function returned 0, indicating there was
insufficient remaining memory (or virtual memory) to satisfy the
request.
@@ -3320,19 +3479,24 @@ the string being unpacked. See L<perlfunc/pack>.
=item '@' outside of string with malformed UTF-8 in unpack
(F) You had a template that specified an absolute position outside
-the string being unpacked. The string being unpacked was also invalid
-UTF-8. See L<perlfunc/pack>.
+the string being unpacked. The string being unpacked was also invalid
+UTF-8. See L<perlfunc/pack>.
+
+=item overload arg '%s' is invalid
+
+(W overload) The L<overload> pragma was passed an argument it did not
+recognize. Did you mistype an operator?
=item Overloaded dereference did not return a reference
(F) An object with an overloaded dereference operator was dereferenced,
-but the overloaded operation did not return a reference. See
+but the overloaded operation did not return a reference. See
L<overload>.
=item Overloaded qr did not return a REGEXP
(F) An object with a C<qr> overload was used as part of a match, but the
-overloaded operation didn't return a compiled regexp. See L<overload>.
+overloaded operation didn't return a compiled regexp. See L<overload>.
=item %s package attribute may clash with future reserved word: %s
@@ -3362,15 +3526,15 @@ an ACL related-function, but that function is not available on this
platform. Earlier checks mean that it should not be possible to
enter this branch on this platform.
-=item panic: ck_grep
+=item panic: ck_grep, type=%u
(P) Failed an internal consistency check trying to compile a grep.
-=item panic: ck_split
+=item panic: ck_split, type=%u
(P) Failed an internal consistency check trying to compile a split.
-=item panic: corrupt saved stack index
+=item panic: corrupt saved stack index %ld
(P) The savestack was requested to restore more localized values than
there are in the savestack.
@@ -3380,13 +3544,6 @@ there are in the savestack.
(P) Failed an internal consistency check while trying to reset a weak
reference.
-=item panic: Devel::DProf inconsistent subroutine return
-
-(P) Devel::DProf called a subroutine that exited using goto(LABEL),
-last(LABEL) or next(LABEL). Leaving that way a subroutine called from
-an XSUB will lead very probably to a crash of the interpreter. This is
-a bug that will hopefully one day get fixed.
-
=item panic: die %s
(P) We popped the context stack to an eval context, and then discovered
@@ -3411,7 +3568,7 @@ failure was caught.
(P) The library function frexp() failed, making printf("%f") impossible.
-=item panic: goto
+=item panic: goto, type=%u, ix=%ld
(P) We popped the context stack to a context with the specified label,
and then discovered it wasn't a context we know how to do a goto in.
@@ -3419,22 +3576,15 @@ and then discovered it wasn't a context we know how to do a goto in.
=item panic: gp_free failed to free glob pointer
(P) The internal routine used to clear a typeglob's entries tried
-repeatedly, but each time something re-created entries in the glob. Most
-likely the glob contains an object with a reference back to the glob and a
-destructor that adds a new object to the glob.
-
-=item panic: hfreeentries failed to free hash
-
-(P) The internal routine used to clear a hash's entries tried repeatedly,
-but each time something added more entries to the hash. Most likely the hash
-contains an object with a reference back to the hash and a destructor that
-adds a new object to the hash.
+repeatedly, but each time something re-created entries in the glob.
+Most likely the glob contains an object with a reference back to
+the glob and a destructor that adds a new object to the glob.
-=item panic: INTERPCASEMOD
+=item panic: INTERPCASEMOD, %s
(P) The lexer got into a bad state at a case modifier.
-=item panic: INTERPCONCAT
+=item panic: INTERPCONCAT, %s
(P) The lexer got into a bad state parsing a string with brackets.
@@ -3442,7 +3592,7 @@ adds a new object to the hash.
(F) forked child returned an incomprehensible message about its errno.
-=item panic: last
+=item panic: last, type=%u
(P) We popped the context stack to a block context, and then discovered
it wasn't a block context.
@@ -3452,7 +3602,7 @@ it wasn't a block context.
(P) A writable lexical variable became read-only somehow within the
scope.
-=item panic: leave_scope inconsistency
+=item panic: leave_scope inconsistency %u
(P) The savestack probably got out of sync. At least, there was an
invalid enum on the top of it.
@@ -3462,7 +3612,7 @@ invalid enum on the top of it.
(P) Failed an internal consistency check while trying to reset all weak
references to an object.
-=item panic: malloc
+=item panic: malloc, %s
(P) Something requested a negative number of bytes of malloc.
@@ -3470,12 +3620,12 @@ references to an object.
(P) Something tried to allocate more memory than possible.
-=item panic: pad_alloc
+=item panic: pad_alloc, %p!=%p
(P) The compiler got confused about which scratch pad it was allocating
and freeing temporaries and lexicals from.
-=item panic: pad_free curpad
+=item panic: pad_free curpad, %p!=%p
(P) The compiler got confused about which scratch pad it was allocating
and freeing temporaries and lexicals from.
@@ -3484,7 +3634,7 @@ and freeing temporaries and lexicals from.
(P) An invalid scratch pad offset was detected internally.
-=item panic: pad_reset curpad
+=item panic: pad_reset curpad, %p!=%p
(P) The compiler got confused about which scratch pad it was allocating
and freeing temporaries and lexicals from.
@@ -3493,7 +3643,7 @@ and freeing temporaries and lexicals from.
(P) An invalid scratch pad offset was detected internally.
-=item panic: pad_swipe curpad
+=item panic: pad_swipe curpad, %p!=%p
(P) The compiler got confused about which scratch pad it was allocating
and freeing temporaries and lexicals from.
@@ -3502,7 +3652,7 @@ and freeing temporaries and lexicals from.
(P) An invalid scratch pad offset was detected internally.
-=item panic: pp_iter
+=item panic: pp_iter, type=%u
(P) The foreach iterator got called in a non-loop context frame.
@@ -3511,25 +3661,30 @@ and freeing temporaries and lexicals from.
(P) The internal pp_match() routine was called with invalid operational
data.
-=item panic: pp_split
+=item panic: pp_split, pm=%p, s=%p
(P) Something terrible went wrong in setting up for the split.
-=item panic: realloc
+=item panic: realloc, %s
(P) Something requested a negative number of bytes of realloc.
-=item panic: restartop
+=item panic: reference miscount on nsv in sv_replace() (%d != 1)
+
+(P) The internal sv_replace() function was handed a new SV with a
+reference count other than 1.
+
+=item panic: restartop in %s
(P) Some internal routine requested a goto (or something like it), and
didn't supply the destination.
-=item panic: return
+=item panic: return, type=%u
(P) We popped the context stack to a subroutine or eval context, and
then discovered it wasn't a subroutine or eval context.
-=item panic: scan_num
+=item panic: scan_num, %s
(P) scan_num() got called on something that wasn't a number.
@@ -3538,11 +3693,17 @@ then discovered it wasn't a subroutine or eval context.
(P) The sv_chop() routine was passed a position that is not within the
scalar's string buffer.
-=item panic: sv_insert
+=item panic: sv_insert, midend=%p, bigend=%p
(P) The sv_insert() routine was told to remove more string than there
was string.
+=item panic: strxfrm() gets absurd - a => %u, ab => %u
+
+(P) The interpreter's sanity check of the C function strxfrm() failed.
+In your current locale the returned transformation of the string "ab" is
+shorter than that of the string "a", which makes no sense.
+
=item panic: top_env
(P) The compiler attempted to do a goto, or something weird like that.
@@ -3562,7 +3723,7 @@ to even) byte length.
(P) Something tried to call utf16_to_utf8_reversed with an odd (as opposed
to even) byte length.
-=item panic: yylex
+=item panic: yylex, %s
(P) The lexer got into a bad state while processing a case modifier.
@@ -3574,8 +3735,8 @@ a detectable way.
=item Pattern subroutine nesting without pos change exceeded limit in regex; marked by <-- HERE in m/%s/
(F) You used a pattern that uses too many nested subpattern calls without
-consuming any text. Restructure the pattern so text is consumed before the
-nesting limit is exceeded.
+consuming any text. Restructure the pattern so text is consumed before
+the nesting limit is exceeded.
The <-- HERE shows in the regular expression about where the problem was
discovered.
@@ -3620,6 +3781,15 @@ so it was not possible to set up some or all fixed-width byte-order
conversion functions. This is only a problem when you're using the
'<' or '>' modifiers in (un)pack templates. See L<perlfunc/pack>.
+=item Perl %s required (did you mean %s?)--this is only %s, stopped
+
+(F) The code you are trying to run has asked for a newer version of
+Perl than you are running. Perhaps C<use 5.10> was written instead
+of C<use 5.010> or C<use v5.10>. Without the leading C<v>, the number is
+interpreted as a decimal, with every three digits after the
+decimal point representing a part of the version number. So 5.10
+is equivalent to v5.100.
+
=item Perl %s required--this is only version %s, stopped
(F) The module in question uses features of a version of Perl more
@@ -3628,13 +3798,20 @@ you upgraded, anyway? See L<perlfunc/require>.
=item PERL_SH_DIR too long
-(F) An error peculiar to OS/2. PERL_SH_DIR is the directory to find the
+(F) An error peculiar to OS/2. PERL_SH_DIR is the directory to find the
C<sh>-shell in. See "PERL_SH_DIR" in L<perlos2>.
=item PERL_SIGNALS illegal: "%s"
See L<perlrun/PERL_SIGNALS> for legal values.
+=item Perls since %s too modern--this is %s, stopped
+
+(F) The code you are trying to run claims it will not run
+on the version of Perl you are using because it is too new.
+Maybe the code needs to be updated, or maybe it is simply
+wrong and the version check should just be removed.
+
=item perl: warning: Setting locale failed.
(S) The whole warning message will look something like:
@@ -3767,7 +3944,7 @@ with a numeric comparison operator, like this :
if ($x & $y == 0) { ... }
This expression is actually equivalent to C<$x & ($y == 0)>, due to the
-higher precedence of C<==>. This is probably not what you want. (If you
+higher precedence of C<==>. This is probably not what you want. (If you
really meant to write this, disable the warning, or, better, put the
parentheses explicitly and write C<$x & ($y == 0)>).
@@ -3787,8 +3964,8 @@ C<m/$(?)\/> (for example: C<m/foo$(?)\s+bar/>).
=item Possible unintended interpolation of %s in string
-(W ambiguous) You said something like `@foo' in a double-quoted string
-but there was no array C<@foo> in scope at the time. If you wanted a
+(W ambiguous) You said something like '@foo' in a double-quoted string
+but there was no array C<@foo> in scope at the time. If you wanted a
literal @foo, then write it as \@foo; otherwise find out what happened
to the array you apparently lost track of.
@@ -3831,8 +4008,8 @@ in L<perlos2>.
=item Prototype after '%c' for %s : %s
-(W illegalproto) A character follows % or @ in a prototype. This is useless,
-since % and @ gobble the rest of the subroutine arguments.
+(W illegalproto) A character follows % or @ in a prototype. This is
+useless, since % and @ gobble the rest of the subroutine arguments.
=item Prototype mismatch: %s vs %s
@@ -3870,15 +4047,15 @@ change when upper cased.
=item Quantifier follows nothing in regex; marked by <-- HERE in m/%s/
-(F) You started a regular expression with a quantifier. Backslash it if you
-meant it literally. The <-- HERE shows in the regular expression about
-where the problem was discovered. See L<perlre>.
+(F) You started a regular expression with a quantifier. Backslash it if
+you meant it literally. The <-- HERE shows in the regular expression
+about where the problem was discovered. See L<perlre>.
=item Quantifier in {,} bigger than %d in regex; marked by <-- HERE in m/%s/
-(F) There is currently a limit to the size of the min and max values of the
-{min,max} construct. The <-- HERE shows in the regular expression about where
-the problem was discovered. See L<perlre>.
+(F) There is currently a limit to the size of the min and max values of
+the {min,max} construct. The <-- HERE shows in the regular expression
+about where the problem was discovered. See L<perlre>.
=item Quantifier unexpected on zero-length expression; marked by <-- HERE in m/%s/
@@ -3931,6 +4108,13 @@ already been freed.
the desired output is compiled into Perl, which entails some overhead,
which is why it's currently left out of your copy.
+=item Recursive call to Perl_load_module in PerlIO_find_layer
+
+(P) It is currently not permitted to load modules when creating
+a filehandle inside an %INC hook. This can happen with C<open my
+$fh, '<', \$scalar>, which implicitly loads PerlIO::scalar. Try
+loading PerlIO::scalar explicitly first.
+
=item Recursive inheritance detected in package '%s'
(F) While calculating the method resolution order (MRO) of a package, Perl
@@ -3943,15 +4127,15 @@ crude check that bails out after 100 levels of C<@ISA> depth.
=item refcnt_inc: fd %d%s
-(P) Perl's I/O implementation failed an internal consistency check. If
+(P) Perl's I/O implementation failed an internal consistency check. If
you see this message, something is very wrong.
=item Reference found where even-sized list expected
(W misc) You gave a single reference where Perl was expecting a list
-with an even number of elements (for assignment to a hash). This usually
-means that you used the anon hash constructor when you meant to use
-parens. In any case, a hash requires key/value B<pairs>.
+with an even number of elements (for assignment to a hash). This
+usually means that you used the anon hash constructor when you meant
+to use parens. In any case, a hash requires key/value B<pairs>.
%hash = { one => 1, two => 2, }; # WRONG
%hash = [ qw/ an anon array / ]; # WRONG
@@ -3963,22 +4147,17 @@ parens. In any case, a hash requires key/value B<pairs>.
(W misc) You have attempted to weaken a reference that is already weak.
Doing so has no effect.
-=item Reference miscount in sv_replace()
-
-(W internal) The internal sv_replace() function was handed a new SV with
-a reference count other than 1.
-
=item Reference to invalid group 0
-(F) You used C<\g0> or similar in a regular expression. You may refer to
-capturing parentheses only with strictly positive integers (normal
-backreferences) or with strictly negative integers (relative
-backreferences). Using 0 does not make sense.
+(F) You used C<\g0> or similar in a regular expression. You may refer
+to capturing parentheses only with strictly positive integers
+(normal backreferences) or with strictly negative integers (relative
+backreferences). Using 0 does not make sense.
=item Reference to nonexistent group in regex; marked by <-- HERE in m/%s/
(F) You used something like C<\7> in your regular expression, but there are
-not at least seven sets of capturing parentheses in the expression. If
+not at least seven sets of capturing parentheses in the expression. If
you wanted to have the character with ordinal 7 inserted into the regular
expression, prepend zeroes to make it three digits long: C<\007>
@@ -3989,7 +4168,7 @@ discovered.
(F) You used something like C<\k'NAME'> or C<< \k<NAME> >> in your regular
expression, but there is no corresponding named capturing parentheses
-such as C<(?'NAME'...)> or C<< (?<NAME>...) >>. Check if the name has been
+such as C<(?'NAME'...)> or C<< (?<NAME>...) >>. Check if the name has been
spelled correctly both in the backreference and the declaration.
The <-- HERE shows in the regular expression about where the problem was
@@ -4038,12 +4217,12 @@ earlier.
(F) Your format contains the ~~ repeat-until-blank sequence and a
numeric field that will never go blank so that the repetition never
-terminates. You might use ^# instead. See L<perlform>.
+terminates. You might use ^# instead. See L<perlform>.
=item Replacement list is longer than search list
(W misc) You have used a replacement list that is longer than the
-search list. So the additional elements in the replacement list
+search list. So the additional elements in the replacement list
are meaningless.
=item Reversed %s= operator
@@ -4111,7 +4290,7 @@ construct.
The question mark is also used as part of the ternary operator (as in
C<foo ? 0 : 1>) leading to some ambiguous constructions being wrongly
-parsed. One way to disambiguate the parsing is to put parentheses around
+parsed. One way to disambiguate the parsing is to put parentheses around
the conditional expression, i.e. C<(foo) ? 0 : 1>.
=item seekdir() attempted on invalid dirhandle %s
@@ -4154,15 +4333,15 @@ before now. Check your control flow.
=item Sequence (? incomplete in regex; marked by <-- HERE in m/%s/
-(F) A regular expression ended with an incomplete extension (?. The <-- HERE
-shows in the regular expression about where the problem was discovered. See
-L<perlre>.
+(F) A regular expression ended with an incomplete extension (?. The
+<-- HERE shows in the regular expression about where the problem was
+discovered. See L<perlre>.
=item Sequence (?%s...) not implemented in regex; marked by <-- HERE in m/%s/
-(F) A proposed regular expression extension has the character reserved but
-has not yet been written. The <-- HERE shows in the regular expression about
-where the problem was discovered. See L<perlre>.
+(F) A proposed regular expression extension has the character reserved
+but has not yet been written. The <-- HERE shows in the regular
+expression about where the problem was discovered. See L<perlre>.
=item Sequence (?%s...) not recognized in regex; marked by <-- HERE in m/%s/
@@ -4182,15 +4361,15 @@ sequence and this has been omitted or incorrectly written.
(F) A regular expression comment must be terminated by a closing
parenthesis. Embedded parentheses aren't allowed. The <-- HERE shows in
-the regular expression about where the problem was discovered. See
+the regular expression about where the problem was discovered. See
L<perlre>.
=item Sequence (?{...}) not terminated or not {}-balanced in regex; marked by <-- HERE in m/%s/
-(F) If the contents of a (?{...}) clause contain braces, they must balance
-for Perl to detect the end of the clause properly. The <-- HERE shows in
-the regular expression about where the problem was discovered. See
-L<perlre>.
+(F) If the contents of a (?{...}) clause contain braces, they
+must balance for Perl to detect the end of the clause properly.
+The <-- HERE shows in the regular expression about where the
+problem was discovered. See L<perlre>.
=item Z<>500 Server error
@@ -4198,21 +4377,21 @@ See Server error.
=item Server error
-(A) This is the error message generally seen in a browser window when trying
-to run a CGI program (including SSI) over the web. The actual error text
-varies widely from server to server. The most frequently-seen variants
-are "500 Server error", "Method (something) not permitted", "Document
-contains no data", "Premature end of script headers", and "Did not
-produce a valid header".
+(A) This is the error message generally seen in a browser window
+when trying to run a CGI program (including SSI) over the web. The
+actual error text varies widely from server to server. The most
+frequently-seen variants are "500 Server error", "Method (something)
+not permitted", "Document contains no data", "Premature end of script
+headers", and "Did not produce a valid header".
B<This is a CGI error, not a Perl error>.
-You need to make sure your script is executable, is accessible by the
-user CGI is running the script under (which is probably not the user
-account you tested it under), does not rely on any environment variables
-(like PATH) from the user it isn't running under, and isn't in a
-location where the CGI server can't find it, basically, more or less.
-Please see the following for more information:
+You need to make sure your script is executable, is accessible by
+the user CGI is running the script under (which is probably not the
+user account you tested it under), does not rely on any environment
+variables (like PATH) from the user it isn't running under, and isn't
+in a location where the CGI server can't find it, basically, more or
+less. Please see the following for more information:
http://www.perl.org/CGI_MetaFAQ.html
http://www.htmlhelp.org/faq/cgifaq.html
@@ -4304,19 +4483,26 @@ But before sort was a keyword, people sometimes used it as a filehandle.
(F) A sort comparison subroutine may not return a list value with more
or less than one element. See L<perlfunc/sort>.
+=item Source filters apply only to byte streams
+
+(F) You tried to activate a source filter (usually by loading a
+source filter module) within a string passed to C<eval>. This is
+not permitted under the C<unicode_eval> feature. Consider using
+C<evalbytes> instead. See L<feature>.
+
=item splice() offset past end of array
(W misc) You attempted to specify an offset that was past the end of
-the array passed to splice(). Splicing will instead commence at the end
-of the array, rather than past it. If this isn't what you want, try
-explicitly pre-extending the array by assigning $#array = $offset. See
-L<perlfunc/splice>.
+the array passed to splice(). Splicing will instead commence at the
+end of the array, rather than past it. If this isn't what you want,
+try explicitly pre-extending the array by assigning $#array = $offset.
+See L<perlfunc/splice>.
=item Split loop
(P) The split was looping infinitely. (Obviously, a split shouldn't
iterate more times than there are characters of input, which is what
-happened.) See L<perlfunc/split>.
+happened.) See L<perlfunc/split>.
=item Statement unlikely to be reached
@@ -4373,7 +4559,7 @@ Missing the leading C<$> from variable C<$s> may cause this error.
=item substr outside of string
-(W substr),(F) You tried to reference a substr() that pointed outside of
+(W substr)(F) You tried to reference a substr() that pointed outside of
a string. That is, the absolute value of the offset was larger than the
length of the string. See L<perlfunc/substr>. This warning is fatal if
substr is used in an lvalue context (as the left hand side of an
@@ -4386,21 +4572,21 @@ inferior to its current type.
=item Switch (?(condition)... contains too many branches in regex; marked by <-- HERE in m/%s/
-(F) A (?(condition)if-clause|else-clause) construct can have at most two
-branches (the if-clause and the else-clause). If you want one or both to
-contain alternation, such as using C<this|that|other>, enclose it in
-clustering parentheses:
+(F) A (?(condition)if-clause|else-clause) construct can have at most
+two branches (the if-clause and the else-clause). If you want one or
+both to contain alternation, such as using C<this|that|other>, enclose
+it in clustering parentheses:
(?(condition)(?:this|that|other)|else-clause)
-The <-- HERE shows in the regular expression about where the problem was
-discovered. See L<perlre>.
+The <-- HERE shows in the regular expression about where the problem
+was discovered. See L<perlre>.
=item Switch condition not recognized in regex; marked by <-- HERE in m/%s/
(F) If the argument to the (?(...)if-clause|else-clause) construct is
-a number, it can be only a number. The <-- HERE shows in the regular
-expression about where the problem was discovered. See L<perlre>.
+a number, it can be only a number. The <-- HERE shows in the regular
+expression about where the problem was discovered. See L<perlre>.
=item switching effective %s is not implemented
@@ -4430,10 +4616,9 @@ before this, because Perl is good at understanding random input.
Occasionally the line number may be misleading, and once in a blue moon
the only way to figure out what's triggering the error is to call
C<perl -c> repeatedly, chopping away half the program each time to see
-if the error went away. Sort of the cybernetic version of S<20
-questions>.
+if the error went away. Sort of the cybernetic version of S<20 questions>.
-=item syntax error at line %d: `%s' unexpected
+=item syntax error at line %d: '%s' unexpected
(A) You've accidentally run your script through the Bourne shell instead
of Perl. Check the #! line, or manually feed your script into Perl
@@ -4498,7 +4683,7 @@ as a compiler directive. You may say only one of
...
This is to prevent the problem of one module changing the array base out
-from under another module inadvertently. See L<perlvar/$[>.
+from under another module inadvertently. See L<perlvar/$[> and L<arybase>.
=item The crypt() function is unimplemented due to excessive paranoia
@@ -4547,16 +4732,16 @@ suspect you're not running on Unix.
=item "-T" is on the #! line, it must also be used on the command line
-(X) The #! line (or local equivalent) in a Perl script contains the
-B<-T> option (or the B<-t> option), but Perl was not invoked with B<-T> in its command line.
-This is an error because, by the time Perl discovers a B<-T> in a
-script, it's too late to properly taint everything from the environment.
-So Perl gives up.
+(X) The #! line (or local equivalent) in a Perl script contains
+the B<-T> option (or the B<-t> option), but Perl was not invoked with
+B<-T> in its command line. This is an error because, by the time
+Perl discovers a B<-T> in a script, it's too late to properly taint
+everything from the environment. So Perl gives up.
If the Perl script is being executed as a command using the #!
-mechanism (or its local equivalent), this error can usually be fixed by
-editing the #! line so that the B<-%c> option is a part of Perl's first
-argument: e.g. change C<perl -n -%c> to C<perl -%c -n>.
+mechanism (or its local equivalent), this error can usually be
+fixed by editing the #! line so that the B<-%c> option is a part of
+Perl's first argument: e.g. change C<perl -n -%c> to C<perl -%c -n>.
If the Perl script is being executed as C<perl scriptname>, then the
B<-%c> option must appear on the command line: C<perl -%c scriptname>.
@@ -4582,13 +4767,14 @@ system call to call, silly dilly.
(X) The #! line (or local equivalent) in a Perl script contains the
B<-M>, B<-m> or B<-C> option.
-In the case of B<-M> and B<-m>, this is an error because those options are
-not intended for use inside scripts. Use the C<use> pragma instead.
+In the case of B<-M> and B<-m>, this is an error because those options
+are not intended for use inside scripts. Use the C<use> pragma instead.
-The B<-C> option only works if it is specified on the command line as well
-(with the same sequence of letters or numbers following). Either specify
-this option on the command line, or, if your system supports it, make your
-script executable and run it directly instead of passing it to perl.
+The B<-C> option only works if it is specified on the command line as
+well (with the same sequence of letters or numbers following). Either
+specify this option on the command line, or, if your system supports
+it, make your script executable and run it directly instead of passing
+it to perl.
=item Too late to run %s block
@@ -4635,13 +4821,20 @@ y/// or y[][] construct.
=item '%s' trapped by operation mask
(F) You tried to use an operator from a Safe compartment in which it's
-disallowed. See L<Safe>.
+disallowed. See L<Safe>.
=item truncate not implemented
(F) Your machine doesn't implement a file truncation mechanism that
Configure knows about.
+=item Type of arg %d to &CORE::%s must be %s
+
+(F) The subroutine in question in the CORE package requires its argument
+to be a hard reference to data of the specified type. Overloading is
+ignored, so a reference to an object that is not the specified type, but
+nonetheless has overloading to handle it, will still not be accepted.
+
=item Type of arg %d to %s must be %s (not %s)
(F) This function requires the argument in that position to be of a
@@ -4678,6 +4871,12 @@ many values were temporarily localized.
(W internal) The exit code detected an internal inconsistency in how
many blocks were entered and left.
+=item Unbalanced string table refcount: (%d) for "%s"
+
+(W internal) On exit, Perl found some strings remaining in the shared
+string table used for copy on write and for hash keys. The entries
+should have been freed, so this indicates a bug somewhere.
+
=item Unbalanced tmps: %d more allocs than frees
(W internal) The exit code detected an internal inconsistency in how
@@ -4729,14 +4928,18 @@ Check the #! line, or manually feed your script into Perl yourself.
(F) The unexec() routine failed for some reason. See your local FSF
representative, who probably put it there in the first place.
+=item Unexpected constant lvalue entersub entry via type/targ %d:%d
+
+(P) When compiling a subroutine call in lvalue context, Perl failed an
+internal consistency check. It encountered a malformed op tree.
+
=item Unicode non-character U+%X is illegal for open interchange
(W utf8, nonchar) Certain codepoints, such as U+FFFE and U+FFFF, are
-defined by the
-Unicode standard to be non-characters. Those are legal codepoints, but are
-reserved for internal use; so, applications shouldn't attempt to exchange
-them. If you know what you are doing you can turn
-off this warning by C<no warnings 'nonchar';>.
+defined by the Unicode standard to be non-characters. Those are
+legal codepoints, but are reserved for internal use; so, applications
+shouldn't attempt to exchange them. If you know what you are doing
+you can turn off this warning by C<no warnings 'nonchar';>.
=item Unicode surrogate U+%X is illegal in UTF-8
@@ -4754,6 +4957,11 @@ off this warning by C<no warnings 'surrogate';>.
(F) There are no byte-swapping functions for a machine with this byte
order.
+=item Unknown error
+
+(P) Perl was about to print an error message in C<$@>, but the C<$@> variable
+did not exist, even after an attempt to create it.
+
=item Unknown open() mode '%s'
(F) The second argument of 3-argument open() is not among the list
@@ -4783,17 +4991,17 @@ subvert Perl's population of %ENV for nefarious purposes.
=item Unknown switch condition (?(%s in regex; marked by <-- HERE in m/%s/
(F) The condition part of a (?(condition)if-clause|else-clause) construct
-is not known. The condition must be one of the following:
-
- (1) (2) ... true if 1st, 2nd, etc., capture matched
- (<NAME>) ('NAME') true if named capture matched
- (?=...) (?<=...) true if subpattern matches
- (?!...) (?<!...) true if subpattern fails to match
- (?{ CODE }) true if code returns a true value
- (R) true if evaluating inside recursion
- (R1) (R2) ... true if directly inside capture group 1, 2, etc.
- (R&NAME) true if directly inside named capture
- (DEFINE) always false; for defining named subpatterns
+is not known. The condition must be one of the following:
+
+ (1) (2) ... true if 1st, 2nd, etc., capture matched
+ (<NAME>) ('NAME') true if named capture matched
+ (?=...) (?<=...) true if subpattern matches
+ (?!...) (?<!...) true if subpattern fails to match
+ (?{ CODE }) true if code returns a true value
+ (R) true if evaluating inside recursion
+ (R1) (R2) ... true if directly inside capture group 1, 2, etc.
+ (R&NAME) true if directly inside named capture
+ (DEFINE) always false; for defining named subpatterns
The <-- HERE shows in the regular expression about where the problem was
discovered. See L<perlre>.
@@ -4816,7 +5024,7 @@ L<perlre> for details on legal verb patterns.
=item Unknown warnings category '%s'
-(F) An error issued by the C<warnings> pragma. You specified a warnings
+(F) An error issued by the C<warnings> pragma. You specified a warnings
category that is unknown to perl at this point.
Note that if you want to enable a warnings category registered by a
@@ -4825,17 +5033,17 @@ module first.
=item unmatched [ in regex; marked by <-- HERE in m/%s/
-(F) The brackets around a character class must match. If you wish to
+(F) The brackets around a character class must match. If you wish to
include a closing bracket in a character class, backslash it or put it
-first. The <-- HERE shows in the regular expression about where the problem
-was discovered. See L<perlre>.
+first. The <-- HERE shows in the regular expression about where the
+problem was discovered. See L<perlre>.
=item unmatched ( in regex; marked by <-- HERE in m/%s/
(F) Unbackslashed parentheses must always be balanced in regular
-expressions. If you're a vi user, the % key is valuable for finding the
-matching parenthesis. The <-- HERE shows in the regular expression about
-where the problem was discovered. See L<perlre>.
+expressions. If you're a vi user, the % key is valuable for finding
+the matching parenthesis. The <-- HERE shows in the regular expression
+about where the problem was discovered. See L<perlre>.
=item Unmatched right %s bracket
@@ -4874,10 +5082,9 @@ change in a future version of Perl.
=item Unrecognized escape \%s passed through in regex; marked by <-- HERE in m/%s/
(W regexp) You used a backslash-character combination which is not
-recognized by Perl. The character(s) were understood literally, but this may
-change in a future version of Perl.
-The <-- HERE shows in the regular expression about where the
-escape was discovered.
+recognized by Perl. The character(s) were understood literally, but
+this may change in a future version of Perl. The <-- HERE shows in
+the regular expression about where the escape was discovered.
=item Unrecognized signal name "%s"
@@ -4911,7 +5118,7 @@ At least, Configure doesn't think so.
(F) Your version of executable does not support forking.
Note that under some systems, like OS/2, there may be different flavors
-of Perl executables, some of which may support fork, some not. Try
+of Perl executables, some of which may support fork, some not. Try
changing the name you call Perl by to C<perl_>, C<perl__>, and so on.
=item Unsupported script encoding %s
@@ -4947,7 +5154,7 @@ See L<perlfunc/pack>.
=item Unterminated \g{...} pattern in regex; marked by <-- HERE in m/%s/
(F) You missed a close brace on a \g{..} pattern (group reference) in
-a regular expression. Fix the pattern and retry.
+a regular expression. Fix the pattern and retry.
=item Unterminated <> operator
@@ -4959,12 +5166,12 @@ earlier in the line, and you really meant a "less than".
=item Unterminated verb pattern argument in regex; marked by <-- HERE in m/%s/
(F) You used a pattern of the form C<(*VERB:ARG)> but did not terminate
-the pattern with a C<)>. Fix the pattern and retry.
+the pattern with a C<)>. Fix the pattern and retry.
=item Unterminated verb pattern in regex; marked by <-- HERE in m/%s/
(F) You used a pattern of the form C<(*VERB)> but did not terminate
-the pattern with a C<)>. Fix the pattern and retry.
+the pattern with a C<)>. Fix the pattern and retry.
=item untie attempted while %d inner references still exist
@@ -4981,6 +5188,23 @@ See L<POSIX/FUNCTIONS> for more information.
(F) You called a Win32 function with incorrect arguments.
See L<Win32> for more information.
+=item $[ used in %s (did you mean $] ?)
+
+(W syntax) You used C<$[> in a comparison, such as:
+
+ if ($[ > 5.006) {
+ ...
+ }
+
+You probably meant to use C<$]> instead. C<$[> is the base for indexing
+arrays. C<$]> is the Perl version number in decimal.
+
+=item Useless assignment to a temporary
+
+(W misc) You assigned to an lvalue subroutine, but what
+the subroutine returned was a temporary scalar about to
+be discarded, so the assignment had no effect.
+
=item Useless (?-%s) - don't use /%s modifier in regex; marked by <-- HERE in m/%s/
(W regexp) You have used an internal modifier such as (?-o) that has no
@@ -4993,12 +5217,12 @@ must be written as
if ($string =~ /$pattern/) { ... }
The <-- HERE shows in the regular expression about
-where the problem was discovered. See L<perlre>.
+where the problem was discovered. See L<perlre>.
=item Useless localization of %s
-(W syntax) The localization of lvalues such as C<local($x=10)> is
-legal, but in fact the local() currently has no effect. This may change at
+(W syntax) The localization of lvalues such as C<local($x=10)> is legal,
+but in fact the local() currently has no effect. This may change at
some point in the future, but in the meantime such code is discouraged.
=item Useless (?%s) - use /%s modifier in regex; marked by <-- HERE in m/%s/
@@ -5013,14 +5237,19 @@ must be written as
if ($string =~ /$pattern/o) { ... }
The <-- HERE shows in the regular expression about
-where the problem was discovered. See L<perlre>.
+where the problem was discovered. See L<perlre>.
=item Useless use of /d modifier in transliteration operator
(W misc) You have used the /d modifier where the searchlist has the
-same length as the replacelist. See L<perlop> for more information
+same length as the replacelist. See L<perlop> for more information
about the /d modifier.
+=item Useless use of \E
+
+(W misc) You have a \E in a double-quotish string without a C<\U>,
+C<\L> or C<\Q> preceding it.
+
=item Useless use of %s in void context
(W void) You did something without a side effect in a context that does
@@ -5063,7 +5292,7 @@ about.
=item Useless use of "re" pragma
-(W) You did C<use re;> without any arguments. That isn't very useful.
+(W) You did C<use re;> without any arguments. That isn't very useful.
=item Useless use of sort in scalar context
@@ -5076,10 +5305,10 @@ This is not very useful, and perl currently optimizes this away.
=item Useless use of %s with no values
(W syntax) You used the push() or unshift() function with no arguments
-apart from the array, like C<push(@x)> or C<unshift(@foo)>. That won't
-usually have any effect on the array, so is completely useless. It's
+apart from the array, like C<push(@x)> or C<unshift(@foo)>. That won't
+usually have any effect on the array, so is completely useless. It's
possible in principle that push(@tied_array) could have some effect
-if the array is tied to a class which implements a PUSH method. If so,
+if the array is tied to a class which implements a PUSH method. If so,
you can write it as C<push(@tied_array,())> to avoid this warning.
=item "use" not allowed in expression
@@ -5090,7 +5319,7 @@ returns no useful value. See L<perlmod>.
=item Use of assignment to $[ is deprecated
(D deprecated) The C<$[> variable (index of the first element in an array)
-is deprecated. See L<perlvar/"$[">.
+is deprecated. See L<perlvar/"$[">.
=item Use of bare << to mean <<"" is deprecated
@@ -5205,15 +5434,14 @@ The operation returned C<undef>. Use a filename instead.
=item Use of %s on a handle without * is deprecated
-(D deprecated) You used C<tie>, C<tied> or C<untie> on a scalar but that
-scalar happens to hold a typeglob, which means its filehandle will
-be tied. If you mean to tie a handle, use an explicit * as in
-C<tie *$handle>.
+(D deprecated) You used C<tie>, C<tied> or C<untie> on a scalar but that scalar
+happens to hold a typeglob, which means its filehandle will be tied. If
+you mean to tie a handle, use an explicit * as in C<tie *$handle>.
-This is a long-standing bug that will be removed in Perl 5.16, as
-there is currently no way to tie the scalar itself when it holds
-a typeglob, and no way to untie a scalar that has had a typeglob
-assigned to it.
+This was a long-standing bug that was removed in Perl 5.16, as there was
+no way to tie the scalar itself when it held a typeglob, and no way to
+untie a scalar that had had a typeglob assigned to it. If you see this
+message, you must be using an older version.
=item Use of ?PATTERN? without explicit operator is deprecated
@@ -5268,28 +5496,29 @@ arguments. See L<perlsec>.
defined. It was interpreted as a "" or a 0, but maybe it was a mistake.
To suppress this warning assign a defined value to your variables.
-To help you figure out what was undefined, perl will try to tell you the
-name of the variable (if any) that was undefined. In some cases it cannot
-do this, so it also tells you what operation you used the undefined value
-in. Note, however, that perl optimizes your program and the operation
-displayed in the warning may not necessarily appear literally in your
-program. For example, C<"that $foo"> is usually optimized into C<"that "
-. $foo>, and the warning will refer to the C<concatenation (.)> operator,
-even though there is no C<.> in your program.
+To help you figure out what was undefined, perl will try to tell you
+the name of the variable (if any) that was undefined. In some cases
+it cannot do this, so it also tells you what operation you used the
+undefined value in. Note, however, that perl optimizes your program
+anid the operation displayed in the warning may not necessarily appear
+literally in your program. For example, C<"that $foo"> is usually
+optimized into C<"that " . $foo>, and the warning will refer to the
+C<concatenation (.)> operator, even though there is no C<.> in
+your program.
=item Using a hash as a reference is deprecated
(D deprecated) You tried to use a hash as a reference, as in
C<< %foo->{"bar"} >> or C<< %$ref->{"hello"} >>. Versions of perl <= 5.6.1
-used to allow this syntax, but shouldn't have. It is now deprecated, and will
-be removed in a future version.
+used to allow this syntax, but shouldn't have. It is now
+deprecated, and will be removed in a future version.
=item Using an array as a reference is deprecated
(D deprecated) You tried to use an array as a reference, as in
C<< @foo->[23] >> or C<< @$ref->[99] >>. Versions of perl <= 5.6.1 used to
-allow this syntax, but shouldn't have. It is now deprecated, and will be
-removed in a future version.
+allow this syntax, but shouldn't have. It is now deprecated,
+and will be removed in a future version.
=item Using just the first character returned by \N{} in character class
@@ -5301,18 +5530,9 @@ expression pattern bracketed character class.
(F) Using the C<!~> operator with C<s///r>, C<tr///r> or C<y///r> is
currently reserved for future use, as the exact behaviour has not
-been decided. (Simply returning the boolean opposite of the
+been decided. (Simply returning the boolean opposite of the
modified string is usually not particularly useful.)
-=item User-defined case-mapping '%s' is deprecated
-
-(W deprecated) You defined a function, such as C<ToLower> that overrides
-the standard case mapping, such as C<lc()> gives. This feature is being
-deprecated due to its many issues, as documented in
-L<perlunicode/User-Defined Case Mappings (for serious hackers only)>.
-It is planned to remove this feature in Perl 5.16. A CPAN module
-providing improved functionality is being prepared.
-
=item UTF-16 surrogate U+%X
(W utf8, surrogate) You had a UTF-16 surrogate in a context where they are
@@ -5344,15 +5564,15 @@ longer than 1024 characters. The return value has been truncated to
(W closure) During compilation, an inner named subroutine or eval is
attempting to capture an outer lexical that is not currently available.
-This can happen for one of two reasons. First, the outer lexical may be
+This can happen for one of two reasons. First, the outer lexical may be
declared in an outer anonymous subroutine that has not yet been created.
(Remember that named subs are created at compile time, while anonymous
-subs are created at run-time.) For example,
+subs are created at run-time.) For example,
sub { my $a; sub f { $a } }
At the time that f is created, it can't capture the current value of $a,
-since the anonymous subroutine hasn't been created yet. Conversely,
+since the anonymous subroutine hasn't been created yet. Conversely,
the following won't give a warning since the anonymous subroutine has by
now been created and is live:
@@ -5414,14 +5634,19 @@ anonymous, using the C<sub {}> syntax. When inner anonymous subs that
reference variables in outer subroutines are created, they
are automatically rebound to the current values of such variables.
+=item vector argument not supported with alpha versions
+
+(W internal) The %vd (s)printf format does not support version objects
+with alpha parts.
+
=item Verb pattern '%s' has a mandatory argument in regex; marked by <-- HERE in m/%s/
-(F) You used a verb pattern that requires an argument. Supply an argument
-or check that you are using the right verb.
+(F) You used a verb pattern that requires an argument. Supply an
+argument or check that you are using the right verb.
=item Verb pattern '%s' may not have an argument in regex; marked by <-- HERE in m/%s/
-(F) You used a verb pattern that is not allowed an argument. Remove the
+(F) You used a verb pattern that is not allowed an argument. Remove the
argument or check that you are using the right verb.
=item Version number must be a constant number
@@ -5477,10 +5702,11 @@ filehandle with an encoding, see L<open> and L<perlfunc/binmode>.
=item Within []-length '%c' not allowed
-(F) The count in the (un)pack template may be replaced by C<[TEMPLATE]> only if
-C<TEMPLATE> always matches the same amount of packed bytes that can be
-determined from the template alone. This is not possible if it contains any
-of the codes @, /, U, u, w or a *-length. Redesign the template.
+(F) The count in the (un)pack template may be replaced by C<[TEMPLATE]>
+only if C<TEMPLATE> always matches the same amount of packed bytes that
+can be determined from the template alone. This is not possible if
+it contains any of the codes @, /, U, u, w or a *-length. Redesign
+the template.
=item write() on closed filehandle %s
@@ -5532,6 +5758,6 @@ Something Very Wrong.
=head1 SEE ALSO
-L<warnings>, L<perllexwarn>.
+L<warnings>, L<perllexwarn>, L<diagnostics>.
=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perldoc.pod b/Master/tlpkg/tlperl/lib/pods/perldoc.pod
index 7a609590349..42a9eab4cdb 100644
--- a/Master/tlpkg/tlperl/lib/pods/perldoc.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perldoc.pod
@@ -5,34 +5,36 @@ perldoc - Look up Perl documentation in Pod format.
=head1 SYNOPSIS
-B<perldoc> [B<-h>] [B<-D>] [B<-t>] [B<-u>] [B<-m>] [B<-l>] [B<-F>]
-[B<-i>] [B<-V>] [B<-T>] [B<-r>]
-[B<-dI<destination_file>>]
-[B<-oI<formatname>>]
-[B<-MI<FormatterClassName>>]
-[B<-wI<formatteroption:value>>]
-[B<-n>I<nroff-replacement>]
-[B<-X>]
-[B<-L> I<language_code>]
-PageName|ModuleName|ProgramName
+ B<perldoc> [B<-h>] [B<-D>] [B<-t>] [B<-u>] [B<-m>] [B<-l>] [B<-F>]
+ [B<-i>] [B<-V>] [B<-T>] [B<-r>]
+ [B<-dI<destination_file>>]
+ [B<-oI<formatname>>]
+ [B<-MI<FormatterClassName>>]
+ [B<-wI<formatteroption:value>>]
+ [B<-n>I<nroff-replacement>]
+ [B<-X>]
+ [B<-L> I<language_code>]
+ PageName|ModuleName|ProgramName|URL
-B<perldoc> B<-f> BuiltinFunction
+Examples:
+
+ B<perldoc> B<-f> BuiltinFunction
-B<perldoc> B<-L> it B<-f> BuiltinFunction
+ B<perldoc> B<-L> it B<-f> BuiltinFunction
-B<perldoc> B<-q> FAQ Keyword
+ B<perldoc> B<-q> FAQ Keyword
-B<perldoc> B<-L> fr B<-q> FAQ Keyword
+ B<perldoc> B<-L> fr B<-q> FAQ Keyword
-B<perldoc> B<-v> PerlVariable
+ B<perldoc> B<-v> PerlVariable
See below for more description of the switches.
=head1 DESCRIPTION
-I<perldoc> looks up a piece of documentation in .pod format that is embedded
-in the perl installation tree or in a perl script, and displays it via
-C<pod2man | nroff -man | $PAGER>. (In addition, if running under HP-UX,
+B<perldoc> looks up a piece of documentation in .pod format that is
+embedded in the perl installation tree or in a perl script, and displays
+it via C<groff -man | $PAGER>. (In addition, if running under HP-UX,
C<col -x> will be used.) This is primarily used for the documentation for
the perl library modules.
@@ -146,7 +148,7 @@ For example: C<perldoc -MPod::Perldoc::ToChecker>.
You can specify several classes to try by joining them with commas
or semicolons, as in C<-MTk::SuperPod;Tk::Pod>.
-=item B<-w> I<option:value> or B<-w> I<option>
+=item B<-w> I<option:value> or B<-w> I<option>
This specifies an option to call the formatter B<w>ith. For example,
C<-w textsize:15> will call
@@ -174,17 +176,18 @@ qualified filenames, one per line.
This allows one to specify the I<language code> for the desired language
translation. If the C<POD2::E<lt>language_codeE<gt>> package isn't
-installed in your system, the switch is ignored.
+installed in your system, the switch is ignored.
All available translation packages are to be found under the C<POD2::>
namespace. See L<POD2::IT> (or L<POD2::FR>) to see how to create new
localized C<POD2::*> documentation packages and integrate them into
L<Pod::Perldoc>.
-=item B<PageName|ModuleName|ProgramName>
+=item B<PageName|ModuleName|ProgramName|URL>
The item you want to look up. Nested modules (such as C<File::Basename>)
-are specified either as C<File::Basename> or C<File/Basename>. You may also
-give a descriptive name of a page, such as C<perlfunc>.
+are specified either as C<File::Basename> or C<< File/Basename >>. You may also
+give a descriptive name of a page, such as C<perlfunc>. For URLs, HTTP and
+HTTPS are the only kind currently supported.
For simple names like 'foo', when the normal search fails to find
a matching page, a search with the "perl" prefix is tried as well.
@@ -192,7 +195,7 @@ So "perldoc intro" is enough to find/render "perlintro.pod".
=item B<-n> I<some-formatter>
-Specify replacement for nroff
+Specify replacement for groff
=item B<-r>
@@ -208,15 +211,13 @@ Displays the version of perldoc you're running.
=back
-
-
=head1 SECURITY
Because B<perldoc> does not run properly tainted, and is known to
have security issues, when run as the superuser it will attempt to
drop privileges by setting the effective and real IDs to nobody's
or nouser's account, or -2 if unavailable. If it cannot relinquish
-its privileges, it will not run.
+its privileges, it will not run.
=head1 ENVIRONMENT
@@ -258,13 +259,14 @@ L<perlpod>, L<Pod::Perldoc>
=head1 AUTHOR
-Current maintainer: Adriano R. Ferreira <ferreira@cpan.org>
+Current maintainer: Mark Allen C<< <mallen@cpan.org> >>
Past contributors are:
-Sean M. Burke <sburke@cpan.org>,
-Kenneth Albanowski <kjahds@kjahds.com>,
-Andy Dougherty <doughera@lafcol.lafayette.edu>,
+brian d foy C<< <bdfoy@cpan.org> >>
+Adriano R. Ferreira C<< <ferreira@cpan.org> >>,
+Sean M. Burke C<< <sburke@cpan.org> >>,
+Kenneth Albanowski C<< <kjahds@kjahds.com> >>,
+Andy Dougherty C<< <doughera@lafcol.lafayette.edu> >>,
and many others.
=cut
-
diff --git a/Master/tlpkg/tlperl/lib/pods/perldtrace.pod b/Master/tlpkg/tlperl/lib/pods/perldtrace.pod
new file mode 100644
index 00000000000..39551e17490
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perldtrace.pod
@@ -0,0 +1,179 @@
+=head1 NAME
+
+perldtrace - Perl's support for DTrace
+
+=head1 SYNOPSIS
+
+ # dtrace -Zn 'perl::sub-entry, perl::sub-return { trace(copyinstr(arg0)) }'
+ dtrace: description 'perl::sub-entry, perl::sub-return ' matched 10 probes
+
+ # perl -E 'sub outer { inner(@_) } sub inner { say shift } outer("hello")'
+ hello
+
+ (dtrace output)
+ CPU ID FUNCTION:NAME
+ 0 75915 Perl_pp_entersub:sub-entry BEGIN
+ 0 75915 Perl_pp_entersub:sub-entry import
+ 0 75922 Perl_pp_leavesub:sub-return import
+ 0 75922 Perl_pp_leavesub:sub-return BEGIN
+ 0 75915 Perl_pp_entersub:sub-entry outer
+ 0 75915 Perl_pp_entersub:sub-entry inner
+ 0 75922 Perl_pp_leavesub:sub-return inner
+ 0 75922 Perl_pp_leavesub:sub-return outer
+
+=head1 DESCRIPTION
+
+DTrace is a framework for comprehensive system- and application-level
+tracing. Perl is a DTrace I<provider>, meaning it exposes several
+I<probes> for instrumentation. You can use these in conjunction
+with kernel-level probes, as well as probes from other providers
+such as MySQL, in order to diagnose software defects, or even just
+your application's bottlenecks.
+
+Perl must be compiled with the C<-Dusedtrace> option in order to
+make use of the provided probes. While DTrace aims to have no
+overhead when its instrumentation is not active, Perl's support
+itself cannot uphold that guarantee, so it is built without DTrace
+probes under most systems. One notable exception is that Mac OS X
+ships a F</usr/bin/perl> with DTrace support enabled.
+
+=head1 HISTORY
+
+=over 4
+
+=item 5.10.1
+
+Perl's initial DTrace support was added, providing C<sub-entry> and
+C<sub-return> probes.
+
+=item 5.14.0
+
+The C<sub-entry> and C<sub-return> probes gain a fourth argument: the
+package name of the function.
+
+=item 5.16.0
+
+The C<phase-change> probe was added.
+
+=back
+
+=head1 PROBES
+
+=over 4
+
+=item sub-entry(SUBNAME, FILE, LINE, PACKAGE)
+
+Traces the entry of any subroutine. Note that all of the variables
+refer to the subroutine that is being invoked; there is currently
+no way to get ahold of any information about the subroutine's
+I<caller> from a DTrace action.
+
+ :*perl*::sub-entry {
+ printf("%s::%s entered at %s line %d\n",
+ copyinstr(arg3), copyinstr(arg0), copyinstr(arg1), arg0);
+ }
+
+=item sub-return(SUBNAME, FILE, LINE, PACKAGE)
+
+Traces the exit of any subroutine. Note that all of the variables
+refer to the subroutine that is returning; there is currently no
+way to get ahold of any information about the subroutine's I<caller>
+from a DTrace action.
+
+ :*perl*::sub-return {
+ printf("%s::%s returned at %s line %d\n",
+ copyinstr(arg3), copyinstr(arg0), copyinstr(arg1), arg0);
+ }
+
+=item phase-change(NEWPHASE, OLDPHASE)
+
+Traces changes to Perl's interpreter state. You can internalize this
+as tracing changes to Perl's C<${^GLOBAL_PHASE}> variable, especially
+since the values for C<NEWPHASE> and C<OLDPHASE> are the strings that
+C<${^GLOBAL_PHASE}> reports.
+
+ :*perl*::phase-change {
+ printf("Phase changed from %s to %s\n",
+ copyinstr(arg1), copyinstr(arg0));
+ }
+
+=back
+
+=head1 EXAMPLES
+
+=over 4
+
+=item Most frequently called functions
+
+ # dtrace -qZn 'sub-entry { @[strjoin(strjoin(copyinstr(arg3),"::"),copyinstr(arg0))] = count() } END {trunc(@, 10)}'
+
+ Class::MOP::Attribute::slots 400
+ Try::Tiny::catch 411
+ Try::Tiny::try 411
+ Class::MOP::Instance::inline_slot_access 451
+ Class::MOP::Class::Immutable::Trait:::around 472
+ Class::MOP::Mixin::AttributeCore::has_initializer 496
+ Class::MOP::Method::Wrapped::__ANON__ 544
+ Class::MOP::Package::_package_stash 737
+ Class::MOP::Class::initialize 1128
+ Class::MOP::get_metaclass_by_name 1204
+
+=item Trace function calls
+
+ # dtrace -qFZn 'sub-entry, sub-return { trace(copyinstr(arg0)) }'
+
+ 0 -> Perl_pp_entersub BEGIN
+ 0 <- Perl_pp_leavesub BEGIN
+ 0 -> Perl_pp_entersub BEGIN
+ 0 -> Perl_pp_entersub import
+ 0 <- Perl_pp_leavesub import
+ 0 <- Perl_pp_leavesub BEGIN
+ 0 -> Perl_pp_entersub BEGIN
+ 0 -> Perl_pp_entersub dress
+ 0 <- Perl_pp_leavesub dress
+ 0 -> Perl_pp_entersub dirty
+ 0 <- Perl_pp_leavesub dirty
+ 0 -> Perl_pp_entersub whiten
+ 0 <- Perl_pp_leavesub whiten
+ 0 <- Perl_dounwind BEGIN
+
+=item Function calls during interpreter cleanup
+
+ # dtrace -Zn 'phase-change /copyinstr(arg0) == "END"/ { self->ending = 1 } sub-entry /self->ending/ { trace(copyinstr(arg0)) }'
+
+ CPU ID FUNCTION:NAME
+ 1 77214 Perl_pp_entersub:sub-entry END
+ 1 77214 Perl_pp_entersub:sub-entry END
+ 1 77214 Perl_pp_entersub:sub-entry cleanup
+ 1 77214 Perl_pp_entersub:sub-entry _force_writable
+ 1 77214 Perl_pp_entersub:sub-entry _force_writable
+
+=item System calls at compile time
+
+ # dtrace -qZn 'phase-change /copyinstr(arg0) == "START"/ { self->interesting = 1 } phase-change /copyinstr(arg0) == "RUN"/ { self->interesting = 0 } syscall::: /self->interesting/ { @[probefunc] = count() } END { trunc(@, 3) }'
+
+ lseek 310
+ read 374
+ stat64 1056
+
+=back
+
+=head1 REFERENCES
+
+=over 4
+
+=item DTrace User Guide
+
+L<http://download.oracle.com/docs/cd/E19082-01/819-3620/index.html>
+
+=item DTrace: Dynamic Tracing in Oracle Solaris, Mac OS X and FreeBSD
+
+L<http://www.amazon.com/DTrace-Dynamic-Tracing-Solaris-FreeBSD/dp/0132091518/>
+
+=back
+
+=head1 AUTHORS
+
+Shawn M Moore C<sartak@gmail.com>
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlebcdic.pod b/Master/tlpkg/tlperl/lib/pods/perlebcdic.pod
index 6affdd7b8aa..ecd0676415f 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlebcdic.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlebcdic.pod
@@ -1348,7 +1348,7 @@ Perl runs under Unix Systems Services or USS.
=item chcp
B<chcp> is supported as a shell utility for displaying and changing
-one's code page. See also L<chcp>.
+one's code page. See also L<chcp(1)>.
=item dataset access
diff --git a/Master/tlpkg/tlperl/lib/pods/perlembed.pod b/Master/tlpkg/tlperl/lib/pods/perlembed.pod
index 1b2e0c1bbcd..e40035eb71a 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlembed.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlembed.pod
@@ -1114,18 +1114,4 @@ Server Perl plugins.
Copyright (C) 1995, 1996, 1997, 1998 Doug MacEachern and Jon Orwant. All
Rights Reserved.
-Permission is granted to make and distribute verbatim copies of this
-documentation provided the copyright notice and this permission notice are
-preserved on all copies.
-
-Permission is granted to copy and distribute modified versions of this
-documentation under the conditions for verbatim copying, provided also
-that they are marked clearly as modified versions, that the authors'
-names and title are unchanged (though subtitles and additional
-authors' names may be added), and that the entire resulting derived
-work is distributed under the terms of a permission notice identical
-to this one.
-
-Permission is granted to copy and distribute translations of this
-documentation into another language, under the above conditions for
-modified versions.
+This document may be distributed under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlepoc.pod b/Master/tlpkg/tlperl/lib/pods/perlepoc.pod
index 419e2e77121..f5773506ff4 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlepoc.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlepoc.pod
@@ -4,7 +4,7 @@ specially designed to be readable as is.
=head1 NAME
-README.epoc - Perl for EPOC
+perlepoc - Perl for EPOC
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/pods/perlexperiment.pod b/Master/tlpkg/tlperl/lib/pods/perlexperiment.pod
new file mode 100644
index 00000000000..f304120bc66
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perlexperiment.pod
@@ -0,0 +1,305 @@
+=head1 NAME
+
+perlexperiment - A listing of experimental features in Perl
+
+=head1 DESCRIPTION
+
+This document lists the current and past experimental features in the perl
+core. Although all of these are documented with their appropriate topics,
+this succinct listing gives you an overview and basic facts about their
+status.
+
+So far I've merely tried to find and list the experimental features and infer
+their inception, versions, etc. There's a lot of speculation here.
+
+=head2 Current experiments
+
+=over 8
+
+=item fork() emulation
+
+Introduced in Perl 5.6.1
+
+See also L<perlfork>
+
+=item Weak references
+
+Introduced in Perl 5.6.0
+
+=item Internal file glob
+
+Introduced in Perl 5.6.0
+
+Accepted in XXX
+
+=item 64-bit support
+
+Introduced in Perl 5.005
+
+Accepted in XXX
+
+=item die accepts a reference
+
+Introduced in Perl 5.005
+
+Accepted in Perl XXX
+
+=item Unicode support
+
+Introduced in Perl 5.6.0
+
+Accepted in Perl 5.8.0 XXX
+
+=item -Dusemultiplicity -Dusethreads
+
+Introduced in Perl 5.6.0
+
+=item Long Doubles Still Don't Work In Solaris
+
+Introduced in Perl 5.7.0
+
+=item GetOpt::Long Options can now take multiple values at once (experimental)
+
+C<Getopt::Long> upgraded to version 2.35
+
+Removed in Perl 5.8.8
+
+=item 5.005-style threading
+
+Introduced in Perl 5.005
+
+Removed in Perl 5.10 XXX
+
+=item Test::Harness::Straps
+
+Removed in Perl 5.10.1
+
+=item perlcc
+
+Introduced in Perl 5.005
+
+Removed in Perl 5.9.0
+
+=item C<our> can now have an experimental optional attribute C<unique>
+
+Introduced in Perl 5.8.0
+
+Deprecated in Perl 5.10.0
+
+=item Assertions
+
+The C<-A> command line switch
+
+Introduced in Perl 5.9.0
+
+Removed in Perl 5.9.5
+
+=item Linux abstract Unix domain sockets
+
+Introduced in Perl 5.9.2
+
+See also L<Socket>
+
+=item L<Pod::HTML2Pod|Pod::HTML2Pod>
+
+=item L<Pod::PXML|Pod::PXML>
+
+=item threads
+
+=item The <:pop> IO pseudolayer
+
+See also L<perlrun>
+
+=item The <:win32> IO pseudolayer
+
+See also L<perlrun>
+
+=item MLDBM
+
+See also L<perldsc>
+
+=item internal functions with M flag
+
+See also L<perlguts>
+
+=item lex_start API
+
+Introduced in Perl 5.13.7
+
+=item internal API for C<%H>
+
+Introduced in Perl 5.13.7
+
+See also C<cophh_> in L<perlapi>.
+
+=item av_create_and_push
+
+=item av_create_and_unshift_one
+
+=item av_create_and_unshift_one
+
+=item PL_keyword_plugin
+
+=item hv_iternext_flags
+
+=item lex_bufutf8
+
+=item lex_discard_to
+
+=item lex_grow_linestr
+
+=item lex_next_chunk
+
+=item lex_peek_unichar
+
+=item lex_read_space
+
+=item lex_read_to
+
+=item lex_read_unichar
+
+=item lex_stuff_pv
+
+=item lex_stuff_pvn
+
+=item lex_stuff_pvs
+
+=item lex_stuff_sv
+
+=item lex_unstuff
+
+=item parse_fullstmt
+
+=item parse_stmtseq
+
+=item PL_parser-E<gt>bufend
+
+=item PL_parser-E<gt>bufptr
+
+=item PL_parser-E<gt>linestart
+
+=item PL_parser-E<gt>linestr
+
+=item Perl_signbit
+
+=item pad_findmy
+
+=item sv_utf8_decode
+
+=item sv_utf8_downgrade
+
+=item bytes_from_utf8
+
+=item bytes_to_utf8
+
+=item utf8_to_bytes
+
+=item DB module
+
+Introduced in Perl 5.6.0
+
+See also L<perldebug>, L<perldebtut>
+
+=item The pseudo-hash data type
+
+Introduced in Perl 5.6.0
+
+=item Lvalue subroutines
+
+Introduced in Perl 5.6.0
+
+See also L<perlsub>
+
+=item There is an C<installhtml> target in the Makefile.
+
+=item Unicode in Perl on EBCDIC
+
+=item C<(?{code})>
+
+See also L<perlre>
+
+=item C<(??{ code })>
+
+See also L<perlre>
+
+=item Backtracking control verbs
+
+C<(*ACCEPT)>
+
+Introduced in: Perl 5.10
+
+See also: L<perlre/"Special Backtracking Control Verbs">
+
+=item Code expressions, conditional expressions, and independent expressions in regexes
+
+=item The C<\N> regex character class
+
+The C<\N> character class, not to be confused with the named character
+sequence C<\N{NAME}>, denotes any non-newline character in a regular
+expression.
+
+Introduced in: Perl 5.12
+
+See also:
+
+=item gv_try_downgrade
+
+See also L<perlintern>
+
+=item Experimental Support for Sun Studio Compilers for Linux OS
+
+See also L<perllinux>
+
+=item Pluggable keywords
+
+See L<perlapi/PL_keyword_plugin> for the mechanism.
+
+Introduced in: Perl 5.11.2
+
+=back
+
+=head2 Accepted features
+
+These features were so wildly successful and played so well with others that
+we decided to remove their experimental status and admit them as full, stable
+features in the world of Perl, lavishing all the benefits and luxuries thereof.
+They are also awarded +5 Stability and +3 Charisma.
+
+=over 8
+
+=item (none yet identified)
+
+=back
+
+=head2 Removed features
+
+These features are no longer considered experimental and their functionality
+has disappeared. It's your own fault if you wrote production programs using
+these features after we explicitly told you not to (see L<perlpolicy>).
+
+=over 8
+
+=item C<legacy>
+
+The experimental C<legacy> pragma was swallowed by the C<feature> pragma.
+
+Introduced in: 5.11.2
+
+Removed in: 5.11.3
+
+=back
+
+=head1 AUTHORS
+
+brian d foy C<< <brian.d.foy@gmail.com> >>
+
+=head1 COPYRIGHT
+
+Copyright 2010, brian d foy C<< <brian.d.foy@gmail.com> >>
+
+=head1 LICENSE
+
+You can use and redistribute this document under the same terms as Perl
+itself.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq.pod
index 614ff564a93..449c0a2de84 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq.pod
@@ -8,81 +8,41 @@ The perlfaq comprises several documents that answer the most commonly
asked questions about Perl and Perl programming. It's divided by topic
into nine major sections outlined in this document.
-=head2 Where to get the perlfaq
+=head2 Where to find the perlfaq
-The perlfaq comes with the standard Perl distribution, so if you have Perl
-you should have the perlfaq. You should also have the C<perldoc> tool
-that lets you read the L<perlfaq>:
+The perlfaq is an evolving document. Read the latest version at
+L<http://learn.perl.org/faq/>. It is also included in the standard Perl
+distribution.
- $ perldoc perlfaq
+=head2 How to use the perlfaq
-Besides your local system, you can find the perlfaq on the web, including
-at http://perldoc.perl.org/ .
+The C<perldoc> command line tool is part of the standard Perl distribution. To
+read the perlfaq:
-The perlfaq is an evolving document and you can read the latest version
-at http://faq.perl.org/ . The perlfaq-workers periodically post extracts
-of the latest perlfaq to comp.lang.perl.misc.
+ $ perldoc perlfaq
-The perlfaq documents are in the perl source tree (see
-L<perlgit>). The git repository notes all changes to the FAQ and
-holds the latest version of the working documents and may vary
-significantly from the version distributed with the latest version of
-Perl. Check the repository before sending your corrections.
+To search the perlfaq question headings:
-=head2 How to contribute to the perlfaq
-
-You can mail corrections, additions, and suggestions to
-C<< <perlfaq-workers AT perl DOT org> >>. The perlfaq volunteers use this
-address to coordinate their efforts and track the perlfaq development.
-They appreciate your contributions to the FAQ but do not have time to
-provide individual help, so don't use this address to ask FAQs.
-
-The perlfaq server posts extracts of the perlfaq to that newsgroup
-every 6 hours (or so), and the community of volunteers reviews and
-updates the answers. If you'd like to help review and update the
-answers, check out comp.lang.perl.misc.
-
-You can also fork the perl repository, make your changes, and send them
-to Perl 5 Porters. See L<perlgit>.
-
-=head2 What will happen if you mail your Perl programming problems to the authors?
+ $ perldoc -q open
-The perlfaq-workers like to keep all traffic on the perlfaq-workers list
-so that everyone can see the work being done (and the work that needs to
-be done). The mailing list serves as an official record. If you email the
-authors or maintainers directly, you'll probably get a reply asking you
-to post to the mailing list. If you don't get a reply, it probably means
-that the person never saw the message or didn't have time to deal with
-it. Posting to the list allows the volunteers with time to deal with it
-when others are busy.
-
-If you have a question that isn't in the FAQ and you would like help with
-it, try the resources in L<perlfaq2>.
-
-=head1 CREDITS
+=head2 How to contribute to the perlfaq
-Tom Christiansen wrote the original perlfaq then expanded it with the
-help of Nat Torkington. The perlfaq-workers maintain current document
-and the denizens of comp.lang.perl.misc regularly review and update the
-FAQ. Several people have contributed answers, corrections, and comments,
-and the perlfaq notes those contributions wherever appropriate.
+Review L<https://github.com/perl-doc-cats/perlfaq/wiki>. If you don't find
+your suggestion create an issue or pull request against
+L<https://github.com/perl-doc-cats/perlfaq>.
-=head1 AUTHOR AND COPYRIGHT
+Once approved, changes are merged into L<https://github.com/tpf/perlfaq>, the
+repository which drives L<http://learn.perl.org/faq/>, and they are
+distributed with the next Perl 5 release.
-Tom Christiansen wrote the original version of this document.
-brian d foy C<< <bdfoy@cpan.org> >> wrote this version. See the
-individual perlfaq documents for additional copyright information.
+=head2 What if my question isn't answered in the FAQ?
-This document is available under the same terms as Perl itself. Code
-examples in all the perlfaq documents are in the public domain. Use
-them as you see fit (and at your own risk with no warranty from anyone).
+Try the resources in L<perlfaq2>.
-=head1 Table of Contents
+=head1 TABLE OF CONTENTS
=over 4
-=item perlfaq - this document
-
=item perlfaq1 - General Questions About Perl
=item perlfaq2 - Obtaining and Learning about Perl
@@ -99,15 +59,15 @@ them as you see fit (and at your own risk with no warranty from anyone).
=item perlfaq8 - System Interaction
-=item perlfaq9 - Networking
+=item perlfaq9 - Web, Email and Networking
=back
-=head1 The Questions
+=head1 THE QUESTIONS
=head2 L<perlfaq1>: General Questions About Perl
-Very general, high-level questions about Perl.
+This section of the FAQ answers very general, high-level questions about Perl.
=over 4
@@ -129,10 +89,6 @@ What are Perl 4, Perl 5, or Perl 6?
=item *
-What was Ponie?
-
-=item *
-
What is Perl 6?
=item *
@@ -161,18 +117,10 @@ What's the difference between "perl" and "Perl"?
=item *
-Is it a Perl program or a Perl script?
-
-=item *
-
What is a JAPH?
=item *
-Where can I get a list of Larry Wall witticisms?
-
-=item *
-
How can I convince others to use Perl?
=back
@@ -180,17 +128,17 @@ How can I convince others to use Perl?
=head2 L<perlfaq2>: Obtaining and Learning about Perl
-Where to find source and documentation for Perl, support, and related matters.
+This section of the FAQ answers questions about where to find source and documentation for Perl, support, and related matters.
=over 4
=item *
-What machines support perl? Where do I get it?
+What machines support Perl? Where do I get it?
=item *
-How can I get a binary version of perl?
+How can I get a binary version of Perl?
=item *
@@ -198,19 +146,15 @@ I don't have a C compiler. How can I build my own Perl interpreter?
=item *
-I copied the perl binary from one machine to another, but scripts don't work.
-
-=item *
-
-I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work?
+I copied the Perl binary from one machine to another, but scripts don't work.
=item *
-What modules and extensions are available for Perl? What is CPAN? What does CPAN/src/... mean?
+I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work?
=item *
-Is there an ISO or ANSI certified version of Perl?
+What modules and extensions are available for Perl? What is CPAN?
=item *
@@ -218,11 +162,11 @@ Where can I get information on Perl?
=item *
-What are the Perl newsgroups on Usenet? Where do I post questions?
+What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
=item *
-Where should I post source code?
+Where can I post questions?
=item *
@@ -234,30 +178,26 @@ Which magazines have Perl content?
=item *
-What mailing lists are there for Perl?
+Which Perl blogs should I read?
=item *
-Where are the archives for comp.lang.perl.misc?
+What mailing lists are there for Perl?
=item *
-Where can I buy a commercial version of perl?
+Where can I buy a commercial version of Perl?
=item *
Where do I send bug reports?
-=item *
-
-What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
-
=back
=head2 L<perlfaq3>: Programming Tools
-Programmer tools and programming support.
+This section of the FAQ answers questions related to programmer tools and programming support.
=over 4
@@ -271,10 +211,6 @@ How can I use Perl interactively?
=item *
-Is there a Perl shell?
-
-=item *
-
How do I find which modules are installed on my system?
=item *
@@ -295,10 +231,6 @@ Is there a pretty-printer (formatter) for Perl?
=item *
-Is there a ctags for Perl?
-
-=item *
-
Is there an IDE or Windows Perl Editor?
=item *
@@ -386,7 +318,7 @@ What's MakeMaker?
=head2 L<perlfaq4>: Data Manipulation
-Manipulating numbers, dates, strings, arrays, hashes, and miscellaneous data issues.
+This section of the FAQ answers questions related to manipulating numbers, dates, strings, arrays, hashes, and miscellaneous data issues.
=over 4
@@ -404,7 +336,7 @@ Why isn't my octal data interpreted correctly?
=item *
-Does Perl have a round() function? What about ceil() and floor()? Trig functions?
+Does Perl have a round() function? What about ceil() and floor()? Trig functions?
=item *
@@ -560,7 +492,7 @@ How can I tell whether a certain element is contained in a list or array?
=item *
-How do I compute the difference of two arrays? How do I compute the intersection of two arrays?
+How do I compute the difference of two arrays? How do I compute the intersection of two arrays?
=item *
@@ -676,6 +608,10 @@ How can I check if a key exists in a multilevel hash?
=item *
+How can I prevent addition of unwanted keys into a hash?
+
+=item *
+
How do I handle binary data correctly?
=item *
@@ -707,13 +643,13 @@ How do I pack arrays of doubles or floats for XS code?
=head2 L<perlfaq5>: Files and Formats
-I/O and the "f" issues: filehandles, flushing, formats, and footers.
+This section deals with I/O and the "f" issues: filehandles, flushing, formats, and footers.
=over 4
=item *
-How do I flush/unbuffer an output filehandle? Why must I do this?
+How do I flush/unbuffer an output filehandle? Why must I do this?
=item *
@@ -745,7 +681,7 @@ How can I manipulate fixed-record-length files?
=item *
-How can I make a filehandle local to a subroutine? How do I pass filehandles between subroutines? How do I make an array of filehandles?
+How can I make a filehandle local to a subroutine? How do I pass filehandles between subroutines? How do I make an array of filehandles?
=item *
@@ -781,11 +717,7 @@ Why do I sometimes get an "Argument list too long" when I use E<lt>*E<gt>?
=item *
-Is there a leak/bug in glob()?
-
-=item *
-
-How can I open a file with a leading ">" or trailing blanks?
+How can I open a file with a leading "E<gt>" or trailing blanks?
=item *
@@ -833,7 +765,7 @@ How can I read in a file by paragraphs?
=item *
-How can I read a single character from a file? From the keyboard?
+How can I read a single character from a file? From the keyboard?
=item *
@@ -853,7 +785,7 @@ How do I close a file descriptor by number?
=item *
-Why can't I use "C:\temp\foo" in DOS paths? Why doesn't `C:\temp\foo.exe` work?
+Why can't I use "C:\temp\foo" in DOS paths? Why doesn't `C:\temp\foo.exe` work?
=item *
@@ -861,7 +793,7 @@ Why doesn't glob("*.*") get all the files?
=item *
-Why does Perl let me delete read-only files? Why does C<-i> clobber protected files? Isn't this a bug in Perl?
+Why does Perl let me delete read-only files? Why does C<-i> clobber protected files? Isn't this a bug in Perl?
=item *
@@ -888,7 +820,7 @@ How do I copy an entire directory?
=head2 L<perlfaq6>: Regular Expressions
-This section is surprisingly small because the rest of the FAQ is littered with answers involving regular expressions. For example, decoding a URL and checking whether something is a number are handled with regular expressions, but those answers are found elsewhere in this document (in L<perlfaq9>: "How do I decode or create those %-encodings on the web" and L<perlfaq4>: "How do I determine whether a scalar is a number/whole/integer/float", to be precise).
+This section is surprisingly small because the rest of the FAQ is littered with answers involving regular expressions. For example, decoding a URL and checking whether something is a number can be handled with regular expressions, but those answers are found elsewhere in this document (in perlfaq9 : "How do I decode or create those %-encodings on the web" and perlfaq4 : "How do I determine whether a scalar is a number/whole/integer/float", to be precise).
=over 4
@@ -922,7 +854,7 @@ How can I make C<\w> match national character sets?
=item *
-How can I match a locale-smart version of C</[a-zA-Z]/>?
+How can I match a locale-smart version of C</[a-zA-Z]/> ?
=item *
@@ -993,7 +925,7 @@ How do I match a regular expression that's in a variable?
=head2 L<perlfaq7>: General Perl Language Issues
-General Perl language issues that don't clearly fit into any of the other sections.
+This section deals with general Perl language issues that don't clearly fit into any of the other sections.
=over 4
@@ -1063,7 +995,7 @@ How do I create a static variable?
=item *
-What's the difference between dynamic and lexical (static) scoping? Between local() and my()?
+What's the difference between dynamic and lexical (static) scoping? Between local() and my()?
=item *
@@ -1075,7 +1007,7 @@ What's the difference between deep and shallow binding?
=item *
-Why doesn't "my($foo) = E<lt>FILEE<gt>;" work right?
+Why doesn't "my($foo) = E<lt>$fhE<gt>;" work right?
=item *
@@ -1122,7 +1054,7 @@ What does "bad interpreter" mean?
=head2 L<perlfaq8>: System Interaction
-This section of the Perl FAQ covers questions involving operating system interaction. Topics include interprocess communication (IPC), control over the user-interface (keyboard, screen and pointing devices), and most anything else not related to data manipulation. Read the FAQs and documentation specific to the port of perl to your operating system (eg, L<perlvms>, L<perlplan9>, ...). These should contain more detailed information on the vagaries of your perl.
+This section of the Perl FAQ covers questions involving operating system interaction. Topics include interprocess communication (IPC), control over the user-interface (keyboard, screen and pointing devices), and most anything else not related to data manipulation.
=over 4
@@ -1200,7 +1132,7 @@ How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
=item *
-Why doesn't my sockets program work under System V (Solaris)? What does the error message "Protocol not supported" mean?
+Why doesn't my sockets program work under System V (Solaris)? What does the error message "Protocol not supported" mean?
=item *
@@ -1260,7 +1192,7 @@ Is there a way to hide perl's command line from programs such as "ps"?
=item *
-I {changed directory, modified my environment} in a perl script. How come the change disappeared when I exited the script? How do I get my changes to be visible?
+I {changed directory, modified my environment} in a perl script. How come the change disappeared when I exited the script? How do I get my changes to be visible?
=item *
@@ -1329,23 +1261,23 @@ What is socket.ph and where do I get it?
=back
-=head2 L<perlfaq9>: Networking
+=head2 L<perlfaq9>: Web, Email and Networking
-Networking, the internet, and a few on the web.
+This section deals with questions related to running web sites, sending and receiving email as well as general networking.
=over 4
=item *
-What is the correct form of response from a CGI script?
+Should I use a web framework?
=item *
-My CGI script runs from the command line but not the browser. (500 Server Error)
+Which web framework should I use?
=item *
-How can I get better error messages from a CGI program?
+What is Plack and PSGI?
=item *
@@ -1357,14 +1289,6 @@ How do I extract URLs?
=item *
-How do I download a file from the user's machine? How do I open a file on another machine?
-
-=item *
-
-How do I make an HTML pop-up menu with Perl?
-
-=item *
-
How do I fetch an HTML file?
=item *
@@ -1385,11 +1309,7 @@ How do I put a password on my web pages?
=item *
-How do I edit my .htpasswd and .htgroup files with Perl?
-
-=item *
-
-How do I make sure users can't enter values into a form that cause my CGI script to do bad things?
+How do I make sure users can't enter values into a form that causes my CGI script to do bad things?
=item *
@@ -1397,10 +1317,6 @@ How do I parse a mail header?
=item *
-How do I decode a CGI form?
-
-=item *
-
How do I check a valid mail address?
=item *
@@ -1409,11 +1325,11 @@ How do I decode a MIME/BASE64 string?
=item *
-How do I return the user's mail address?
+How do I find the user's mail address?
=item *
-How do I send mail?
+How do I send email?
=item *
@@ -1421,7 +1337,7 @@ How do I use MIME to make an attachment to a mail message?
=item *
-How do I read mail?
+How do I read email?
=item *
@@ -1429,11 +1345,7 @@ How do I find out my hostname, domainname, or IP address?
=item *
-How do I fetch a news article or the active newsgroups?
-
-=item *
-
-How do I fetch/put an FTP file?
+How do I fetch/put an (S)FTP file?
=item *
@@ -1442,3 +1354,20 @@ How can I do RPC in Perl?
=back
+
+=head1 CREDITS
+
+Tom Christiansen wrote the original perlfaq then expanded it with the
+help of Nat Torkington. brian d foy substantialy edited and expanded
+the perlfaq. perlfaq-workers and others have also supplied feedback,
+patches and corrections over the years.
+
+=head1 AUTHOR AND COPYRIGHT
+
+Tom Christiansen wrote the original version of this document.
+brian d foy C<< <bdfoy@cpan.org> >> wrote this version. See the
+individual perlfaq documents for additional copyright information.
+
+This document is available under the same terms as Perl itself. Code
+examples in all the perlfaq documents are in the public domain. Use
+them as you see fit (and at your own risk with no warranty from anyone).
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq1.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq1.pod
index ba70a822602..a02fae6a707 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq1.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq1.pod
@@ -2,7 +2,7 @@
perlfaq1 - General Questions About Perl
-=head1 DESCRIPTION
+=head1 DESCRIPTION
This section of the FAQ answers very general, high-level questions
about Perl.
@@ -10,37 +10,35 @@ about Perl.
=head2 What is Perl?
Perl is a high-level programming language with an eclectic heritage
-written by Larry Wall and a cast of thousands. It derives from the
-ubiquitous C programming language and to a lesser extent from sed,
-awk, the Unix shell, and at least a dozen other tools and languages.
+written by Larry Wall and a cast of thousands.
+
Perl's process, file, and text manipulation facilities make it
particularly well-suited for tasks involving quick prototyping, system
utilities, software tools, system management tasks, database access,
-graphical programming, networking, and world wide web programming.
-These strengths make it especially popular with system administrators
-and CGI script authors, but mathematicians, geneticists, journalists,
-and even managers also use Perl. Maybe you should, too.
+graphical programming, networking, and web programming.
+
+Perl derives from the ubiquitous C programming language and to a
+lesser extent from sed, awk, the Unix shell, and many other tools
+and languages.
+
+These strengths make it especially popular with web developers
+and system administrators. Mathematicians, geneticists, journalists,
+managers and many other people also use Perl.
=head2 Who supports Perl? Who develops it? Why is it free?
The original culture of the pre-populist Internet and the deeply-held
beliefs of Perl's author, Larry Wall, gave rise to the free and open
-distribution policy of perl. Perl is supported by its users. The
+distribution policy of Perl. Perl is supported by its users. The
core, the standard Perl library, the optional modules, and the
-documentation you're reading now were all written by volunteers. See
-the personal note at the end of the README file in the perl source
-distribution for more details. See L<perlhist> (new as of 5.005)
-for Perl's milestone releases.
+documentation you're reading now were all written by volunteers.
-In particular, the core development team (known as the Perl Porters)
-are a rag-tag band of highly altruistic individuals committed to
+The core development team (known as the Perl Porters)
+are a group of highly altruistic individuals committed to
producing better software for free than you could hope to purchase for
-money. You may snoop on pending developments via the archives at
-http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/
-and http://archive.develooper.com/perl5-porters@perl.org/
-or the news gateway nntp://nntp.perl.org/perl.perl5.porters or
-its web interface at http://nntp.perl.org/group/perl.perl5.porters ,
-or read the faq at http://dev.perl.org/perl5/docs/p5p-faq.html ,
+money. You may snoop on pending developments via the
+L<archives|http://www.nntp.perl.org/group/perl.perl5.porters/>
+or read the L<faq|http://dev.perl.org/perl5/docs/p5p-faq.html>,
or you can subscribe to the mailing list by sending
perl5-porters-subscribe@perl.org a subscription request
(an empty message with no subject is fine).
@@ -52,7 +50,7 @@ than GNU software's tend to be.
You can get commercial support of Perl if you wish, although for most
users the informal support will more than suffice. See the answer to
-"Where can I buy a commercial version of perl?" for more information.
+"Where can I buy a commercial version of Perl?" for more information.
=head2 Which version of Perl should I use?
@@ -86,7 +84,7 @@ so you'll have an easier time finding help for those.
Versions prior to perl5.004 had serious security problems with buffer
overflows, and in some cases have CERT advisories (for instance,
-http://www.cert.org/advisories/CA-1997-17.html ).
+L<http://www.cert.org/advisories/CA-1997-17.html> ).
=item *
@@ -107,11 +105,9 @@ as its whitewashed bones have fractured or eroded.
=item *
-There is no Perl 6 release scheduled, but it will be available when
-it's ready. The joke is that it's scheduled for Christmas, but that we
-just don't know which one. Stay tuned, but don't worry that you'll
-have to change major versions of Perl; no one is going to take Perl 5
-away from you.
+The current leading implementation of Perl 6, Rakudo, released a "useful,
+usable, 'early adopter'" distribution of Perl 6 (called Rakudo Star) in July of
+2010. Please see L<http://rakudo.org/> for more information.
=item *
@@ -124,65 +120,46 @@ minor release (i.e. perl5.9.x, where 9 is the minor release).
=back
-
=head2 What are Perl 4, Perl 5, or Perl 6?
-(contributed by brian d foy)
-
-In short, Perl 4 is the past, Perl 5 is the present, and Perl 6 is the
-future.
+In short, Perl 4 is the parent to both Perl 5 and Perl 6. Perl 5 is the older
+sibling, and though they are different languages, someone who knows one will
+spot many similarities in the other.
The number after Perl (i.e. the 5 after Perl 5) is the major release
of the perl interpreter as well as the version of the language. Each
major version has significant differences that earlier versions cannot
support.
-The current major release of Perl is Perl 5, and was first released in
+The current major release of Perl is Perl 5, first released in
1994. It can run scripts from the previous major release, Perl 4
-(March 1991), but has significant differences. It introduced the
-concept of references, complex data structures, and modules. The Perl
-5 interpreter was a complete re-write of the previous perl sources.
-
-Perl 6 is the next major version of Perl, although it's not intended to
-replace Perl 5. It's still in development in both its syntax and
-design. The work started in 2002 and is still ongoing. Some of the
-most interesting features have shown up in the latest versions of Perl
-5, and some Perl 5 modules allow you to use some Perl 6 syntax in your
-programs. The current leading implementation of Perl 6 is Rakudo (
-http://rakudo.org ).
+(March 1991), but has significant differences.
-See L<perlhist> for a history of Perl revisions.
-
-=head2 What was Ponie?
-
-(contributed by brian d foy)
-
-Ponie stands for "Perl On the New Internal Engine", started by Arthur
-Bergman from Fotango in 2003, and subsequently run as a project of The
-Perl Foundation. It was abandoned in 2006
-( http://www.nntp.perl.org/group/perl.ponie.dev/487 ).
+Perl 6 is a reinvention of Perl, it is a language in the same lineage but
+not compatible. The two are complementary, not mutually exclusive. Perl 6 is
+not meant to replace Perl 5, and vice versa. See L</"What is Perl 6?"> below
+to find out more.
-Instead of using the current Perl internals, Ponie aimed to create a
-new one that would provide a translation path from Perl 5 to Perl 6
-(or anything else that targets Parrot, actually). You would have been
-able to just keep using Perl 5 with Parrot, the virtual machine which
-will compile and run Perl 6 bytecode.
+See L<perlhist> for a history of Perl revisions.
=head2 What is Perl 6?
-At The Second O'Reilly Open Source Software Convention, Larry Wall
-announced Perl 6 development would begin in earnest. Perl 6 was an oft
-used term for Chip Salzenberg's project to rewrite Perl in C++ named
-Topaz. However, Topaz provided valuable insights to the next version
-of Perl and its implementation, but was ultimately abandoned.
+Perl 6 was I<originally> described as the community's rewrite of Perl 5.
+Development started in 2002; syntax and design work continue to this day.
+As the language has evolved, it has become clear that it is a separate
+language, incompatible with Perl 5 but in the same language family.
+
+Contrary to popular belief, Perl 6 and Perl 5 peacefully coexist with one
+another. Perl 6 has proven to be a fascinating source of ideas for those
+using Perl 5 (the L<Moose> object system is a well-known example). There is
+overlap in the communities, and this overlap fosters the tradition of sharing
+and borrowing that have been instrumental to Perl's success. The current
+leading implementation of Perl 6 is Rakudo, and you can learn more about
+it at L<http://rakudo.org>.
If you want to learn more about Perl 6, or have a desire to help in
the crusade to make Perl a better place then read the Perl 6 developers
-page at http://dev.perl.org/perl6/ and get involved.
-
-Perl 6 is not scheduled for release yet, and Perl 5 will still be supported
-for quite awhile after its release. Do not wait for Perl 6 to do whatever
-you need to do.
+page at L<http://www.perl6.org/> and get involved.
"We're really serious about reinventing everything that needs reinventing."
--Larry Wall
@@ -191,18 +168,15 @@ you need to do.
Production releases, which incorporate bug fixes and new functionality,
are widely tested before release. Since the 5.000 release, we have
-averaged only about one production release per year.
+averaged about one production release per year.
-Larry and the Perl development team occasionally make changes to the
+The Perl development team occasionally make changes to the
internal core of the language, but all possible efforts are made toward
-backward compatibility. While not quite all Perl 4 scripts run flawlessly
-under Perl 5, an update to perl should nearly never invalidate a program
-written for an earlier version of perl (barring accidental bug fixes
-and the rare new keyword).
+backward compatibility.
=head2 Is Perl difficult to learn?
-No, Perl is easy to start learning--and easy to keep learning. It looks
+No, Perl is easy to start L<learning|http://learn.perl.org/> --and easy to keep learning. It looks
like most programming languages you're likely to have experience
with, so if you've ever written a C program, an awk script, a shell
script, or even a BASIC program, you're already partway there.
@@ -224,26 +198,30 @@ of programming experience, an understanding of regular expressions, and
the ability to understand other people's code. If there's something you
need to do, then it's probably already been done, and a working example is
usually available for free. Don't forget Perl modules, either.
-They're discussed in Part 3 of this FAQ, along with CPAN, which is
+They're discussed in Part 3 of this FAQ, along with L<CPAN|http://www.cpan.org/>, which is
discussed in Part 2.
=head2 How does Perl compare with other languages like Java, Python, REXX, Scheme, or Tcl?
-Favorably in some areas, unfavorably in others. Precisely which areas
-are good and bad is often a personal choice, so asking this question
-on Usenet runs a strong risk of starting an unproductive Holy War.
+Perl can be used for almost any coding problem, even ones which require
+integrating specialist C code for extra speed. As with any tool it can
+be used well or badly. Perl has many strengths, and a few weaknesses,
+precisely which areas are good and bad is often a personal choice.
-Probably the best thing to do is try to write equivalent code to do a
-set of tasks. These languages have their own newsgroups in which you
-can learn about (but hopefully not argue about) them.
+When choosing a language you should also be influenced by the
+L<resources|http://www.cpan.org/>, L<testing culture|http://www.cpantesters.org/>
+and L<community|http://www.perl.org/community.html> which surrounds it.
-Some comparison documents can be found at http://www.perl.com/doc/FMTEYEWTK/versus/
-if you really can't stop yourself.
+For comparisons to a specific language it is often best to create
+a small project in both languages and compare the results, make sure
+to use all the L<resources|http://www.cpan.org/> of each language,
+as a language is far more than just it's syntax.
=head2 Can I do [task] in Perl?
Perl is flexible and extensible enough for you to use on virtually any
task, from one-line file-processing tasks to large, elaborate systems.
+
For many people, Perl serves as a great replacement for shell scripting.
For others, it serves as a convenient, high-level replacement for most of
what they'd program in low-level languages like C or C++. It's ultimately
@@ -265,69 +243,23 @@ languages that come to mind include prolog and matlab.
=head2 When shouldn't I program in Perl?
-When your manager forbids it--but do consider replacing them :-).
-
-Actually, one good reason is when you already have an existing
+One good reason is when you already have an existing
application written in another language that's all done (and done
well), or you have an application language specifically designed for a
certain task (e.g. prolog, make).
-For various reasons, Perl is probably not well-suited for real-time
-embedded systems, low-level operating systems development work like
-device drivers or context-switching code, complex multi-threaded
-shared-memory applications, or extremely large applications. You'll
-notice that perl is not itself written in Perl.
-
-Perl remains fundamentally a dynamically typed language, not
-a statically typed one. You certainly won't be chastised if you don't
-trust nuclear-plant or brain-surgery monitoring code to it. And Larry
-will sleep easier, too--Wall Street programs not withstanding. :-)
+If you find that you need to speed up a specific part of a Perl
+application (not something you often need) you may want to use C,
+but you can access this from your Perl code with L<perlxs>.
=head2 What's the difference between "perl" and "Perl"?
-One bit. Oh, you weren't talking ASCII? :-) Larry now uses "Perl" to
-signify the language proper and "perl" the implementation of it, i.e.
-the current interpreter. Hence Tom's quip that "Nothing but perl can
-parse Perl."
-
-Before the first edition of I<Programming perl>, people commonly
-referred to the language as "perl", and its name appeared that way in
-the title because it referred to the interpreter. In the book, Randal
-Schwartz capitalised the language's name to make it stand out better
-when typeset. This convention was adopted by the community, and the
-second edition became I<Programming Perl>, using the capitalized
-version of the name to refer to the language.
-
-You may or may not choose to follow this usage. For example,
-parallelism means "awk and perl" and "Python and Perl" look good, while
-"awk and Perl" and "Python and perl" do not. But never write "PERL",
-because perl is not an acronym, apocryphal folklore and post-facto
-expansions notwithstanding.
-
-=head2 Is it a Perl program or a Perl script?
-
-Larry doesn't really care. He says (half in jest) that "a script is
-what you give the actors. A program is what you give the audience."
-
-Originally, a script was a canned sequence of normally interactive
-commands--that is, a chat script. Something like a UUCP or PPP chat
-script or an expect script fits the bill nicely, as do configuration
-scripts run by a program at its start up, such F<.cshrc> or F<.ircrc>,
-for example. Chat scripts were just drivers for existing programs,
-not stand-alone programs in their own right.
-
-A computer scientist will correctly explain that all programs are
-interpreted and that the only question is at what level. But if you
-ask this question of someone who isn't a computer scientist, they might
-tell you that a I<program> has been compiled to physical machine code
-once and can then be run multiple times, whereas a I<script> must be
-translated by a program each time it's used.
-
-Now that "script" and "scripting" are terms that have been seized by
-unscrupulous or unknowing marketeers for their own nefarious purposes,
-they have begun to take on strange and often pejorative meanings,
-like "non serious" or "not real programming". Consequently, some Perl
-programmers prefer to avoid them altogether.
+"Perl" is the name of the language. Only the "P" is capitalized.
+The name of the interpreter (the program which runs the Perl script)
+is "perl" with a lowercase "p".
+
+You may or may not choose to follow this usage. But never write "PERL",
+because perl is not an acronym.
=head2 What is a JAPH?
@@ -338,27 +270,14 @@ to sign email and usenet messages starting in the late 1980s. He
previously used the phrase with many subjects ("Just another x hacker,"),
so to distinguish his JAPH, he started to write them as Perl programs:
- print "Just another Perl hacker,";
+ print "Just another Perl hacker,";
Other people picked up on this and started to write clever or obfuscated
programs to produce the same output, spinning things quickly out of
control while still providing hours of amusement for their creators and
readers.
-CPAN has several JAPH programs at http://www.cpan.org/misc/japh .
-
-=head2 Where can I get a list of Larry Wall witticisms?
-
-(contributed by brian d foy)
-
-Google "larry wall quotes"! You might even try the "I feel lucky" button.
-:)
-
-Wikiquote has the witticisms from Larry along with their source,
-including his usenet postings and source code comments.
-
-If you want a plain text file, try
-http://www.cpan.org/misc/lwall-quotes.txt.gz .
+CPAN has several JAPH programs at L<http://www.cpan.org/misc/japh>.
=head2 How can I convince others to use Perl?
@@ -378,8 +297,8 @@ choice and how Perl might satisfy that requirement.
You don't have to worry about finding or paying for Perl; it's freely
available and several popular operating systems come with Perl. Community
-support in places such as Perlmonks ( http://www.perlmonks.com )
-and the various Perl mailing lists ( http://lists.perl.org ) means that
+support in places such as Perlmonks ( L<http://www.perlmonks.com> )
+and the various Perl mailing lists ( L<http://lists.perl.org> ) means that
you can usually get quick answers to your problems.
Finally, keep in mind that Perl might not be the right tool for every
@@ -392,9 +311,9 @@ You might find these links useful:
=over 4
-=item * http://perltraining.com.au/whyperl.html
+=item * L<http://www.perl.org/about.html>
-=item * http://www.perl.org/advocacy/whyperl.html
+=item * L<http://perltraining.com.au/whyperl.html>
=back
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq2.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq2.pod
index 4e891a6865a..e890cc34a1a 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq2.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq2.pod
@@ -8,11 +8,11 @@ This section of the FAQ answers questions about where to find
source and documentation for Perl, support, and
related matters.
-=head2 What machines support perl? Where do I get it?
+=head2 What machines support Perl? Where do I get it?
-The standard release of perl (the one maintained by the perl
+The standard release of Perl (the one maintained by the Perl
development team) is distributed only in source code form. You
-can find the latest releases at http://www.cpan.org/src/README.html .
+can find the latest releases at L<http://www.cpan.org/src/>.
Perl builds and runs on a bewildering number of platforms. Virtually
all known and current Unix derivatives are supported (perl's native
@@ -20,7 +20,7 @@ platform), as are other systems like VMS, DOS, OS/2, Windows,
QNX, BeOS, OS X, MPE/iX and the Amiga.
Binary distributions for some proprietary platforms can be found
-http://www.cpan.org/ports/ directory. Because these are not part of
+L<http://www.cpan.org/ports/> directory. Because these are not part of
the standard distribution, they may and in fact do differ from the
base perl port in a variety of ways. You'll have to check their
respective release notes to see just what the differences are. These
@@ -29,47 +29,22 @@ of the particular platform that are not supported in the source
release of perl) or negative (e.g. might be based upon a less current
source release of perl).
-=head2 How can I get a binary version of perl?
+=head2 How can I get a binary version of Perl?
-(contributed by brian d foy)
-
-ActiveState: Windows, Linux, Mac OS X, Solaris, AIX and HP-UX
-
- http://www.activestate.com/
-
-Sunfreeware.com: Solaris 2.5 to Solaris 10 (SPARC and x86)
-
- http://www.sunfreeware.com/
-
-Strawberry Perl: Windows, Perl 5.8.8 and 5.10.0
-
- http://www.strawberryperl.com
-
-IndigoPerl: Windows
-
- http://indigostar.com/
+See L<CPAN Ports|http://www.cpan.org/ports/>
=head2 I don't have a C compiler. How can I build my own Perl interpreter?
-Since you don't have a C compiler, you're doomed and your vendor
-should be sacrificed to the Sun gods. But that doesn't help you.
-
-What you need to do is get a binary version of C<gcc> for your system
-first. Consult the Usenet FAQs for your operating system for
-information on where to get such a binary version.
-
-You might look around the net for a pre-built binary of Perl (or a
-C compiler!) that meets your needs, though:
-
-For Windows, Vanilla Perl ( http://vanillaperl.com/ ) and Strawberry Perl
-( http://strawberryperl.com/ ) come with a
-bundled C compiler. ActivePerl is a pre-compiled version of Perl
-ready-to-use.
+For Windows, use a binary version of Perl,
+L<Strawberry Perl|http://strawberryperl.com/> and
+L<ActivePerl|http://www.activestate.com/activeperl> come with a
+bundled C compiler.
-For Sun systems, SunFreeware.com provides binaries of most popular
-applications, including compilers and Perl.
+Otherwise if you really do want to build Perl, you need to get a
+binary version of C<gcc> for your system first. Use a search
+engine to find out how to do this for your operating system.
-=head2 I copied the perl binary from one machine to another, but scripts don't work.
+=head2 I copied the Perl binary from one machine to another, but scripts don't work.
That's probably because you forgot libraries, or library paths differ.
You really should build the whole distribution on the machine it will
@@ -98,209 +73,134 @@ It describes in detail how to cope with most idiosyncrasies that the
C<Configure> script can't work around for any given system or
architecture.
-=head2 What modules and extensions are available for Perl? What is CPAN? What does CPAN/src/... mean?
+=head2 What modules and extensions are available for Perl? What is CPAN?
CPAN stands for Comprehensive Perl Archive Network, a multi-gigabyte
archive replicated on hundreds of machines all over the world. CPAN
-contains source code, non-native ports, documentation, scripts, and
-many third-party modules and extensions, designed for everything from
-commercial database interfaces to keyboard/screen control to web
-walking and CGI scripts. The master web site for CPAN is
-http://www.cpan.org/ and there is the CPAN Multiplexer at
-http://www.cpan.org/CPAN.html which will choose a mirror near you via
-DNS. See http://www.perl.com/CPAN (without a slash at the end) for
-how this process works. Also, http://mirror.cpan.org/ has a nice
-interface to the http://www.cpan.org/MIRRORED.BY mirror directory.
-
-See the CPAN FAQ at http://www.cpan.org/misc/cpan-faq.html for answers
-to the most frequently asked questions about CPAN including how to
-become a mirror.
-
-C<CPAN/path/...> is a naming convention for files available on CPAN
-sites. CPAN indicates the base directory of a CPAN mirror, and the
-rest of the path is the path from that directory to the file. For
-instance, if you're using ftp://ftp.funet.fi/pub/languages/perl/CPAN
-as your CPAN site, the file C<CPAN/misc/japh> is downloadable as
-ftp://ftp.funet.fi/pub/languages/perl/CPAN/misc/japh .
-
-Considering that, as of 2006, there are over ten thousand existing
-modules in the archive, one probably exists to do nearly anything you
-can think of. Current categories under C<CPAN/modules/by-category/>
-include Perl core modules; development support; operating system
-interfaces; networking, devices, and interprocess communication; data
-type utilities; database interfaces; user interfaces; interfaces to
-other languages; filenames, file systems, and file locking;
-internationalization and locale; world wide web support; server and
-daemon utilities; archiving and compression; image manipulation; mail
-and news; control flow utilities; filehandle and I/O; Microsoft
-Windows modules; and miscellaneous modules.
-
-See http://www.cpan.org/modules/00modlist.long.html or
-http://search.cpan.org/ for a more complete list of modules by
-category.
-
-CPAN is a free service and is not affiliated with O'Reilly Media.
-
-=head2 Is there an ISO or ANSI certified version of Perl?
-
-Certainly not. Larry expects that he'll be certified before Perl is.
+contains tens of thousands of modules and extensions, source code
+and documentation, designed for I<everything> from commercial
+database interfaces to keyboard/screen control and running large web sites.
+
+You can search CPAN on L<http://metacpan.org> or
+L<http://search.cpan.org/>.
+
+The master web site for CPAN is L<http://www.cpan.org/>,
+L<http://www.cpan.org/SITES.html> lists all mirrors.
+
+See the CPAN FAQ at L<http://www.cpan.org/misc/cpan-faq.html> for answers
+to the most frequently asked questions about CPAN.
+
+The L<Task::Kensho> module has a list of recommended modules which
+you should review as a good starting point.
=head2 Where can I get information on Perl?
+=over 4
+
+=item * L<http://www.perl.org/>
+
+=item * L<http://perldoc.perl.org/>
+
+=item * L<http://learn.perl.org/>
+
+=back
+
The complete Perl documentation is available with the Perl distribution.
If you have Perl installed locally, you probably have the documentation
-installed as well: type C<man perl> if you're on a system resembling Unix.
-This will lead you to other important man pages, including how to set your
-C<$MANPATH>. If you're not on a Unix system, access to the documentation
-will be different; for example, documentation might only be in HTML format. All
-proper perl installations have fully-accessible documentation.
-
-You might also try C<perldoc perl> in case your system doesn't
-have a proper C<man> command, or it's been misinstalled. If that doesn't
-work, try looking in C</usr/local/lib/perl5/pod> for documentation.
+installed as well: type C<perldoc perl> in a terminal or
+L<view online|http://perldoc.perl.org/perl.html>.
-If all else fails, consult http://perldoc.perl.org/ which has the
-complete documentation in HTML and PDF format.
+(Some operating system distributions may ship the documentation in a different
+package; for instance, on Debian, you need to install the C<perl-doc> package.)
Many good books have been written about Perl--see the section later in
L<perlfaq2> for more details.
-Tutorial documents included in current or upcoming Perl releases
-include L<perltoot> for objects or L<perlboot> for a beginner's
-approach to objects, L<perlopentut> for file opening semantics,
-L<perlreftut> for managing references, L<perlretut> for regular
-expressions, L<perlthrtut> for threads, L<perldebtut> for debugging,
-and L<perlxstut> for linking C and Perl together. There may be more
-by the time you read this. These URLs might also be useful:
-
- http://perldoc.perl.org/
- http://bookmarks.cpan.org/search.cgi?cat=Training%2FTutorials
-
-=head2 What are the Perl newsgroups on Usenet? Where do I post questions?
-
-Several groups devoted to the Perl language are on Usenet:
-
- comp.lang.perl.announce Moderated announcement group
- comp.lang.perl.misc High traffic general Perl discussion
- comp.lang.perl.moderated Moderated discussion group
- comp.lang.perl.modules Use and development of Perl modules
- comp.lang.perl.tk Using Tk (and X) from Perl
-
-Some years ago, comp.lang.perl was divided into those groups, and
-comp.lang.perl itself officially removed. While that group may still
-be found on some news servers, it is unwise to use it, because
-postings there will not appear on news servers which honour the
-official list of group names. Use comp.lang.perl.misc for topics
-which do not have a more-appropriate specific group.
-
-There is also a Usenet gateway to Perl mailing lists sponsored by
-perl.org at nntp://nntp.perl.org , a web interface to the same lists
-at http://nntp.perl.org/group/ and these lists are also available
-under the C<perl.*> hierarchy at http://groups.google.com . Other
-groups are listed at http://lists.perl.org/ ( also known as
-http://lists.cpan.org/ ).
-
-A nice place to ask questions is the PerlMonks site,
-http://www.perlmonks.org/ , or the Perl Beginners mailing list
-http://lists.perl.org/showlist.cgi?name=beginners .
-
-Note that none of the above are supposed to write your code for you:
-asking questions about particular problems or general advice is fine,
-but asking someone to write your code for free is not very cool.
-
-=head2 Where should I post source code?
-
-You should post source code to whichever group is most appropriate, but
-feel free to cross-post to comp.lang.perl.misc. If you want to cross-post
-to alt.sources, please make sure it follows their posting standards,
-including setting the Followup-To header line to NOT include alt.sources;
-see their FAQ ( http://www.faqs.org/faqs/alt-sources-intro/ ) for details.
-
-If you're just looking for software, first use Google
-( http://www.google.com ), Google's Usenet search interface
-( http://groups.google.com ), and CPAN Search ( http://search.cpan.org ).
-This is faster and more productive than just posting a request.
+=head2 What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
-=head2 Perl Books
+L<Perl.com|http://www.perl.com/> used to be part of the O'Reilly
+Network, a subsidiary of O'Reilly Media. Although it retains most of
+the original content from its O'Reilly Network, it is now hosted by
+L<The Perl Foundation|http://www.perlfoundation.org/>.
+
+The Perl Foundation is an advocacy organization for the Perl language
+which maintains the web site L<http://www.perl.org/> as a general
+advocacy site for the Perl language. It uses the domain to provide
+general support services to the Perl community, including the hosting
+of mailing lists, web sites, and other services. There are also many
+other sub-domains for special topics like learning Perl and jobs in Perl,
+such as:
-There are many good books on Perl. See the L<perlbook> documentation or
-( http://books.perl.org ).
+=over 4
-=head2 Which magazines have Perl content?
+=item * L<http://www.perl.org/>
-I<The Perl Review> ( http://www.theperlreview.com ) focuses on Perl
-almost completely (although it sometimes sneaks in an article about
-another language). There's also I<$foo Magazin>, a German magazine
-dedicated to Perl, at ( http://www.foo-magazin.de ).
-
-The I<Perl-Zeitung> is a German-speaking magazine for Perl beginners
-(see http://perl-zeitung.at.tf ).
-
-Magazines that frequently carry quality articles on Perl include I<The
-Perl Review> ( http://www.theperlreview.com ), I<Unix Review> (
-http://www.unixreview.com/ ), I<Linux Magazine> (
-http://www.linuxmagazine.com/ ), and Usenix's newsletter/magazine to
-its members, I<login:> ( http://www.usenix.org/ ).
-
-The Perl columns of Randal L. Schwartz are available on the web at
-http://www.stonehenge.com/merlyn/WebTechniques/ ,
-http://www.stonehenge.com/merlyn/UnixReview/ , and
-http://www.stonehenge.com/merlyn/LinuxMag/ .
-
-The first (and for a long time, only) periodical devoted to All Things
-Perl, I<The Perl Journal> contains tutorials, demonstrations, case
-studies, announcements, contests, and much more. I<TPJ> has columns
-on web development, databases, Win32 Perl, graphical programming,
-regular expressions, and networking, and sponsors the Obfuscated Perl
-Contest and the Perl Poetry Contests. Beginning in November 2002, I<TPJ>
-moved to a reader-supported monthly e-zine format in which subscribers
-can download issues as PDF documents. In 2006, I<TPJ> merged with Dr.
-Dobbs Journal (online edition). To read old I<TPJ> articles, see
-http://www.ddj.com/ or brian d foy's index of online TPJ content
-( http://www.perlmonks.org/index.pl?node_id=711609 ).
+=item * L<http://learn.perl.org/>
-=head2 What mailing lists are there for Perl?
+=item * L<http://jobs.perl.org/>
-Most of the major modules (C<Tk>, C<CGI>, C<libwww-perl>) have their own
-mailing lists. Consult the documentation that came with the module for
-subscription information.
+=item * L<http://lists.perl.org/>
-A comprehensive list of Perl-related mailing lists can be found at:
+=back
- http://lists.perl.org/
+L<Perl Mongers|http://www.pm.org/> uses the pm.org domain for services
+related to local Perl user groups, including the hosting of mailing lists
+and web sites. See the L<Perl Mongers web site|http://www.pm.org/> for more
+information about joining, starting, or requesting services for a
+Perl user group.
-=head2 Where are the archives for comp.lang.perl.misc?
+CPAN, or the Comprehensive Perl Archive Network L<http://www.cpan.org/>,
+is a replicated, worldwide repository of Perl software.
+See L<What is CPAN?|/"What modules and extensions are available for Perl? What is CPAN? What does CPANE<sol>srcE<sol>... mean?">.
-The Google search engine now carries archived and searchable newsgroup
-content.
+=head2 Where can I post questions?
-http://groups.google.com/group/comp.lang.perl.misc/topics
+There are many Perl L<mailing lists|lists.perl.org> for various
+topics, specifically the L<beginners list|http://lists.perl.org/list/beginners.html>
+may be of use.
-If you have a question, you can be sure someone has already asked the
-same question at some point on c.l.p.m. It requires some time and patience
-to sift through all the content but often you will find the answer you
-seek.
+Other places to ask questions are on the
+L<PerlMonks site|http://www.perlmonks.org/> or
+L<stackoverflow|http://stackoverflow.com/questions/tagged/perl>.
-=head2 Where can I buy a commercial version of perl?
+=head2 Perl Books
+
+There are many good L<books on Perl|http://www.perl.org/books/library.html>.
+
+=head2 Which magazines have Perl content?
+
+There's also I<$foo Magazin>, a German magazine dedicated to Perl, at
+( L<http://www.foo-magazin.de> ). The I<Perl-Zeitung> is another
+German-speaking magazine for Perl beginners (see
+L<http://perl-zeitung.at.tf> ).
+
+Several unix/linux releated magazines frequently includes articles on Perl.
+
+=head2 Which Perl blogs should I read?
+
+L<Perl News|http://perlnews.org/> covers some of the major events in the Perl
+world, L<Perl Weekly|http://perlweekly.com/> is a weekly e-mail
+(and RSS feed) of hand-picked Perl articles.
+
+L<http://blogs.perl.org/> hosts many Perl blogs, there are also
+several blog aggregators: L<Perlsphere|http://perlsphere.net/> and
+L<IronMan|http://ironman.enlightenedperl.org/> are two of them.
+
+=head2 What mailing lists are there for Perl?
-In a real sense, perl already I<is> commercial software: it has a license
+A comprehensive list of Perl-related mailing lists can be found at
+L<http://lists.perl.org/>
+
+=head2 Where can I buy a commercial version of Perl?
+
+Perl already I<is> commercial software: it has a license
that you can grab and carefully read to your manager. It is distributed
in releases and comes in well-defined packages. There is a very large
-user community and an extensive literature. The comp.lang.perl.*
-newsgroups and several of the mailing lists provide free answers to your
-questions in near real-time. Perl has traditionally been supported by
-Larry, scores of software designers and developers, and myriad
-programmers, all working for free to create a useful thing to make life
-better for everyone.
-
-However, these answers may not suffice for managers who require a
-purchase order from a company whom they can sue should anything go awry.
-Or maybe they need very serious hand-holding and contractual obligations.
-Shrink-wrapped CDs with perl on them are available from several sources if
-that will help. For example, many Perl books include a distribution of perl,
-as do the O'Reilly Perl Resource Kits (in both the Unix flavor
-and in the proprietary Microsoft flavor); the free Unix distributions
-also all come with perl.
+and supportive user community and an extensive literature.
+
+If you still need commercial support
+L<ActiveState|http://www.activestate.com/activeperl> offers
+this.
=head2 Where do I send bug reports?
@@ -316,52 +216,21 @@ information about your installation to include with your message, then
sends the message to the right place.
To determine if a module came with your version of Perl, you can
-use the C<Module::CoreList> module. It has the information about
-the modules (with their versions) included with each release of Perl.
-
-If C<Module::CoreList> is not installed on your system, check out
-http://perlpunks.de/corelist .
+install and use the L<Module::CoreList> module. It has the information
+about the modules (with their versions) included with each release
+of Perl.
-Every CPAN module has a bug tracker set up in RT, http://rt.cpan.org .
+Every CPAN module has a bug tracker set up in RT, L<http://rt.cpan.org>.
You can submit bugs to RT either through its web interface or by
email. To email a bug report, send it to
bug-E<lt>distribution-nameE<gt>@rt.cpan.org . For example, if you
-wanted to report a bug in C<Business::ISBN>, you could send a message to
+wanted to report a bug in L<Business::ISBN>, you could send a message to
bug-Business-ISBN@rt.cpan.org .
Some modules might have special reporting requirements, such as a
-Sourceforge or Google Code tracking system, so you should check the
+Github or Google Code tracking system, so you should check the
module documentation too.
-=head2 What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
-
-Perl.com ( http://www.perl.com/ ) used to be part of the O'Reilly
-Network, a subsidiary of O'Reilly Media. Although it retains most of
-the original content from its O'Reilly Network, it is now hosted by
-The Perl Foundation.
-
-The Perl Foundation is an advocacy organization for the Perl language
-which maintains the web site ( http://www.perl.org/ ) as a general
-advocacy site for the Perl language. It uses the domain to provide
-general support services to the Perl community, including the hosting
-of mailing lists, web sites, and other services. There are also many
-other sub-domains for special topics like learning Perl, Perl news,
-jobs in Perl, such as:
-
- http://www.perl.org/
- http://learn.perl.org/
- http://jobs.perl.org/
- http://lists.perl.org/
-
-Perl Mongers uses the pm.org domain for services related to Perl user
-groups, including the hosting of mailing lists and web sites. See the
-Perl Mongers website ( http://www.pm.org/ ) for more information about
-joining, starting, or requesting services for a Perl user group.
-
-CPAN, or the Comprehensive Perl Archive Network (
-http://www.cpan.org/ ), is a replicated, worldwide repository of Perl
-software. See I<What is CPAN?> in L<perlfaq2>.
-
=head1 AUTHOR AND COPYRIGHT
Copyright (c) 1997-2010 Tom Christiansen, Nathan Torkington, and
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq3.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq3.pod
index 3093d36afa7..9e9ae8d906f 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq3.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq3.pod
@@ -9,122 +9,222 @@ and programming support.
=head2 How do I do (anything)?
-Have you looked at CPAN (see L<perlfaq2>)? The chances are that
+Have you looked at CPAN (see L<perlfaq2>)? The chances are that
someone has already written a module that can solve your problem.
-Have you read the appropriate manpages? Here's a brief index:
-
- Basics perldata, perlvar, perlsyn, perlop, perlsub
- Execution perlrun, perldebug
- Functions perlfunc
- Objects perlref, perlmod, perlobj, perltie
- Data Structures perlref, perllol, perldsc
- Modules perlmod, perlmodlib, perlsub
- Regexes perlre, perlfunc, perlop, perllocale
- Moving to perl5 perltrap, perl
- Linking w/C perlxstut, perlxs, perlcall, perlguts, perlembed
- Various http://www.cpan.org/misc/olddoc/FMTEYEWTK.tgz
- (not a man-page but still useful, a collection
- of various essays on Perl techniques)
+Have you read the appropriate manpages? Here's a brief index:
+
+=over 4
+
+=item Basics
+
+=over 4
+
+=item L<perldata> - Perl data types
+
+=item L<perlvar> - Perl pre-defined variables
+
+=item L<perlsyn> - Perl syntax
+
+=item L<perlop> - Perl operators and precedence
+
+=item L<perlsub> - Perl subroutines
+
+=back
+
+
+=item Execution
+
+=over 4
+
+=item L<perlrun> - how to execute the Perl interpreter
+
+=item L<perldebug> - Perl debugging
+
+=back
+
+
+=item Functions
+
+=over 4
+
+=item L<perlfunc> - Perl builtin functions
+
+=back
+
+=item Objects
+
+=over 4
+
+=item L<perlref> - Perl references and nested data structures
+
+=item L<perlmod> - Perl modules (packages and symbol tables)
+
+=item L<perlobj> - Perl objects
+
+=item L<perltie> - how to hide an object class in a simple variable
+
+=back
+
+
+=item Data Structures
+
+=over 4
+
+=item L<perlref> - Perl references and nested data structures
+
+=item L<perllol> - Manipulating arrays of arrays in Perl
+
+=item L<perldsc> - Perl Data Structures Cookbook
+
+=back
+
+=item Modules
+
+=over 4
+
+=item L<perlmod> - Perl modules (packages and symbol tables)
+
+=item L<perlmodlib> - constructing new Perl modules and finding existing ones
+
+=back
+
+
+=item Regexes
+
+=over 4
+
+=item L<perlre> - Perl regular expressions
+
+=item L<perlfunc> - Perl builtin functions>
+
+=item L<perlop> - Perl operators and precedence
+
+=item L<perllocale> - Perl locale handling (internationalization and localization)
+
+=back
+
+
+=item Moving to perl5
+
+=over 4
+
+=item L<perltrap> - Perl traps for the unwary
+
+=item L<perl>
+
+=back
+
+
+=item Linking with C
+
+=over 4
+
+=item L<perlxstut> - Tutorial for writing XSUBs
+
+=item L<perlxs> - XS language reference manual
+
+=item L<perlcall> - Perl calling conventions from C
+
+=item L<perlguts> - Introduction to the Perl API
+
+=item L<perlembed> - how to embed perl in your C program
+
+=back
+
+=item Various
+
+L<http://www.cpan.org/misc/olddoc/FMTEYEWTK.tgz>
+(not a man-page but still useful, a collection of various essays on
+Perl techniques)
+
+=back
A crude table of contents for the Perl manpage set is found in L<perltoc>.
=head2 How can I use Perl interactively?
The typical approach uses the Perl debugger, described in the
-C<perldebug(1)> manpage, on an "empty" program, like this:
+L<perldebug(1)> manpage, on an "empty" program, like this:
perl -de 42
Now just type in any legal Perl code, and it will be immediately
-evaluated. You can also examine the symbol table, get stack
+evaluated. You can also examine the symbol table, get stack
backtraces, check variable values, set breakpoints, and other
operations typically found in symbolic debuggers.
-=head2 Is there a Perl shell?
-
-The C<psh> (Perl sh) is currently at version 1.8. The Perl Shell is a shell
-that combines the interactive nature of a Unix shell with the power of
-Perl. The goal is a full-featured shell that behaves as expected for
-normal shell activity and uses Perl syntax and functionality for
-control-flow statements and other things. You can get C<psh> at
-http://sourceforge.net/projects/psh/ .
-
-C<Zoidberg> is a similar project and provides a shell written in perl,
-configured in perl and operated in perl. It is intended as a login shell
-and development environment. It can be found at
-http://pardus-larus.student.utwente.nl/~pardus/projects/zoidberg/
-or your local CPAN mirror.
-
-The C<Shell.pm> module (distributed with Perl) makes Perl try commands
-which aren't part of the Perl language as shell commands. C<perlsh> from
-the source distribution is simplistic and uninteresting, but may still
-be what you want.
+You can also use L<Devel::REPL> which is an interactive shell for Perl,
+commonly known as a REPL - Read, Evaluate, Print, Loop. It provides
+various handy features.
=head2 How do I find which modules are installed on my system?
From the command line, you can use the C<cpan> command's C<-l> switch:
- $ cpan -l
+ $ cpan -l
You can also use C<cpan>'s C<-a> switch to create an autobundle file
that C<CPAN.pm> understands and can use to re-install every module:
- $ cpan -a
+ $ cpan -a
-Inside a Perl program, you can use the C<ExtUtils::Installed> module to
+Inside a Perl program, you can use the L<ExtUtils::Installed> module to
show all installed distributions, although it can take awhile to do
-its magic. The standard library which comes with Perl just shows up
-as "Perl" (although you can get those with C<Module::CoreList>).
+its magic. The standard library which comes with Perl just shows up
+as "Perl" (although you can get those with L<Module::CoreList>).
- use ExtUtils::Installed;
+ use ExtUtils::Installed;
- my $inst = ExtUtils::Installed->new();
- my @modules = $inst->modules();
+ my $inst = ExtUtils::Installed->new();
+ my @modules = $inst->modules();
If you want a list of all of the Perl module filenames, you
-can use C<File::Find::Rule>:
+can use L<File::Find::Rule>:
- use File::Find::Rule;
+ use File::Find::Rule;
- my @files = File::Find::Rule->
- extras({follow => 1})->
- file()->
- name( '*.pm' )->
- in( @INC )
- ;
+ my @files = File::Find::Rule->
+ extras({follow => 1})->
+ file()->
+ name( '*.pm' )->
+ in( @INC )
+ ;
If you do not have that module, you can do the same thing
-with C<File::Find> which is part of the standard library:
+with L<File::Find> which is part of the standard library:
- use File::Find;
- my @files;
+ use File::Find;
+ my @files;
- find(
- {
- wanted => sub {
- push @files, $File::Find::fullname
- if -f $File::Find::fullname && /\.pm$/
- },
- follow => 1,
- follow_skip => 2,
- },
- @INC
- );
+ find(
+ {
+ wanted => sub {
+ push @files, $File::Find::fullname
+ if -f $File::Find::fullname && /\.pm$/
+ },
+ follow => 1,
+ follow_skip => 2,
+ },
+ @INC
+ );
- print join "\n", @files;
+ print join "\n", @files;
If you simply need to check quickly to see if a module is
-available, you can check for its documentation. If you can
+available, you can check for its documentation. If you can
read the documentation the module is most likely installed.
If you cannot read the documentation, the module might not
have any (in rare cases):
- $ perldoc Module::Name
+ $ perldoc Module::Name
You can also try to include the module in a one-liner to see if
perl finds it:
- $ perl -MModule::Name -e1
+ $ perl -MModule::Name -e1
+
+(If you don't receive a "Can't locate ... in @INC" error message, then Perl
+found the module name you asked for.)
=head2 How do I debug my Perl programs?
@@ -136,28 +236,28 @@ on warnings and strictures, you can head off many problems before
they get too big. You can find out more about these in L<strict>
and L<warnings>.
- #!/usr/bin/perl
- use strict;
- use warnings;
+ #!/usr/bin/perl
+ use strict;
+ use warnings;
Beyond that, the simplest debugger is the C<print> function. Use it
to look at values as you run your program:
- print STDERR "The value is [$value]\n";
+ print STDERR "The value is [$value]\n";
-The C<Data::Dumper> module can pretty-print Perl data structures:
+The L<Data::Dumper> module can pretty-print Perl data structures:
- use Data::Dumper qw( Dumper );
- print STDERR "The hash is " . Dumper( \%hash ) . "\n";
+ use Data::Dumper qw( Dumper );
+ print STDERR "The hash is " . Dumper( \%hash ) . "\n";
Perl comes with an interactive debugger, which you can start with the
C<-d> switch. It's fully explained in L<perldebug>.
-If you'd like a graphical user interface and you have C<Tk>, you can use
+If you'd like a graphical user interface and you have L<Tk>, you can use
C<ptkdb>. It's on CPAN and available for free.
If you need something much more sophisticated and controllable, Leon
-Brocard's C<Devel::ebug> (which you can call with the C<-D> switch as C<-Debug>)
+Brocard's L<Devel::ebug> (which you can call with the C<-D> switch as C<-Debug>)
gives you the programmatic hooks into everything you need to write your
own (without too much pain and suffering).
@@ -169,37 +269,21 @@ from Activestate (Windows and Mac OS X), or EPIC (most platforms).
(contributed by brian d foy, updated Fri Jul 25 12:22:26 PDT 2008)
The C<Devel> namespace has several modules which you can use to
-profile your Perl programs. The C<Devel::DProf> module comes with Perl
-and you can invoke it with the C<-d> switch:
-
- perl -d:DProf program.pl
-
-After running your program under C<DProf>, you'll get a F<tmon.out> file
-with the profile data. To look at the data, you can turn it into a
-human-readable report with the C<dprofpp> program that comes with
-C<Devel::DProf>.
-
- dprofpp
-
-You can also do the profiling and reporting in one step with the C<-p>
-switch to C<dprofpp>:
+profile your Perl programs.
- dprofpp -p program.pl
-
-The C<Devel::NYTProf> (New York Times Profiler) does both statement
+The L<Devel::NYTProf> (New York Times Profiler) does both statement
and subroutine profiling. It's available from CPAN and you also invoke
it with the C<-d> switch:
- perl -d:NYTProf some_perl.pl
+ perl -d:NYTProf some_perl.pl
-Like C<DProf>, it creates a database of the profile information that you
-can turn into reports. The C<nytprofhtml> command turns the data into
-an HTML report similar to the C<Devel::Cover> report:
+It creates a database of the profile information that you can turn into
+reports. The C<nytprofhtml> command turns the data into an HTML report
+similar to the L<Devel::Cover> report:
- nytprofhtml
+ nytprofhtml
-CPAN has several other profilers that you can invoke in the same
-fashion. You might also be interested in using the C<Benchmark> to
+You might also be interested in using the L<Benchmark> to
measure and compare code snippets.
You can read more about profiling in I<Programming Perl>, chapter 20,
@@ -208,76 +292,59 @@ or I<Mastering Perl>, chapter 5.
L<perldebguts> documents creating a custom debugger if you need to
create a special sort of profiler. brian d foy describes the process
in I<The Perl Journal>, "Creating a Perl Debugger",
-http://www.ddj.com/184404522 , and "Profiling in Perl"
-http://www.ddj.com/184404580 .
+L<http://www.ddj.com/184404522> , and "Profiling in Perl"
+L<http://www.ddj.com/184404580> .
Perl.com has two interesting articles on profiling: "Profiling Perl",
-by Simon Cozens, http://www.perl.com/lpt/a/850 and "Debugging and
+by Simon Cozens, L<http://www.perl.com/lpt/a/850> and "Debugging and
Profiling mod_perl Applications", by Frank Wiles,
-http://www.perl.com/pub/a/2006/02/09/debug_mod_perl.html .
+L<http://www.perl.com/pub/a/2006/02/09/debug_mod_perl.html> .
Randal L. Schwartz writes about profiling in "Speeding up Your Perl
Programs" for I<Unix Review>,
-http://www.stonehenge.com/merlyn/UnixReview/col49.html , and "Profiling
+L<http://www.stonehenge.com/merlyn/UnixReview/col49.html> , and "Profiling
in Template Toolkit via Overriding" for I<Linux Magazine>,
-http://www.stonehenge.com/merlyn/LinuxMag/col75.html .
+L<http://www.stonehenge.com/merlyn/LinuxMag/col75.html> .
=head2 How do I cross-reference my Perl programs?
-The C<B::Xref> module can be used to generate cross-reference reports
+The L<B::Xref> module can be used to generate cross-reference reports
for Perl programs.
perl -MO=Xref[,OPTIONS] scriptname.plx
=head2 Is there a pretty-printer (formatter) for Perl?
-C<Perltidy> is a Perl script which indents and reformats Perl scripts
-to make them easier to read by trying to follow the rules of the
-L<perlstyle>. If you write Perl scripts, or spend much time reading
-them, you will probably find it useful. It is available at
-http://perltidy.sourceforge.net .
+L<Perl::Tidy> comes with a perl script L<perltidy> which indents and
+reformats Perl scripts to make them easier to read by trying to follow
+the rules of the L<perlstyle>. If you write Perl, or spend much time reading
+Perl, you will probably find it useful.
Of course, if you simply follow the guidelines in L<perlstyle>,
-you shouldn't need to reformat. The habit of formatting your code
-as you write it will help prevent bugs. Your editor can and should
-help you with this. The perl-mode or newer cperl-mode for emacs
+you shouldn't need to reformat. The habit of formatting your code
+as you write it will help prevent bugs. Your editor can and should
+help you with this. The perl-mode or newer cperl-mode for emacs
can provide remarkable amounts of help with most (but not all)
code, and even less programmable editors can provide significant
-assistance. Tom Christiansen and many other VI users swear by
+assistance. Tom Christiansen and many other VI users swear by
the following settings in vi and its clones:
set ai sw=4
map! ^O {^M}^[O^T
Put that in your F<.exrc> file (replacing the caret characters
-with control characters) and away you go. In insert mode, ^T is
+with control characters) and away you go. In insert mode, ^T is
for indenting, ^D is for undenting, and ^O is for blockdenting--as
-it were. A more complete example, with comments, can be found at
-http://www.cpan.org/authors/id/TOMC/scripts/toms.exrc.gz
-
-The a2ps http://www-inf.enst.fr/%7Edemaille/a2ps/black+white.ps.gz does
-lots of things related to generating nicely printed output of
-documents.
-
-=head2 Is there a ctags for Perl?
-
-(contributed by brian d foy)
-
-Ctags uses an index to quickly find things in source code, and many
-popular editors support ctags for several different languages,
-including Perl.
-
-Exuberant ctags supports Perl: http://ctags.sourceforge.net/
-
-You might also try pltags: http://www.mscha.com/pltags.zip
+it were. A more complete example, with comments, can be found at
+L<http://www.cpan.org/authors/id/TOMC/scripts/toms.exrc.gz>
=head2 Is there an IDE or Windows Perl Editor?
Perl programs are just plain text, so any editor will do.
-If you're on Unix, you already have an IDE--Unix itself. The Unix
+If you're on Unix, you already have an IDE--Unix itself. The Unix
philosophy is the philosophy of several small tools that each do one
-thing and do it well. It's like a carpenter's toolbox.
+thing and do it well. It's like a carpenter's toolbox.
If you want an IDE, check the following (in alphabetical order, not
order of preference):
@@ -286,14 +353,14 @@ order of preference):
=item Eclipse
-http://e-p-i-c.sf.net/
+L<http://e-p-i-c.sf.net/>
The Eclipse Perl Integration Project integrates Perl
editing/debugging with Eclipse.
=item Enginsite
-http://www.enginsite.com/
+L<http://www.enginsite.com/>
Perl Editor by EngInSite is a complete integrated development
environment (IDE) for creating, testing, and debugging Perl scripts;
@@ -301,7 +368,7 @@ the tool runs on Windows 9x/NT/2000/XP or later.
=item Komodo
-http://www.ActiveState.com/Products/Komodo/
+L<http://www.ActiveState.com/Products/Komodo/>
ActiveState's cross-platform (as of October 2004, that's Windows, Linux,
and Solaris), multi-language IDE has Perl support, including a regular expression
@@ -309,11 +376,11 @@ debugger and remote debugging.
=item Notepad++
-http://notepad-plus.sourceforge.net/
+L<http://notepad-plus.sourceforge.net/>
=item Open Perl IDE
-http://open-perl-ide.sourceforge.net/
+L<http://open-perl-ide.sourceforge.net/>
Open Perl IDE is an integrated development environment for writing
and debugging Perl scripts with ActiveState's ActivePerl distribution
@@ -321,40 +388,41 @@ under Windows 95/98/NT/2000.
=item OptiPerl
-http://www.optiperl.com/
+L<http://www.optiperl.com/>
OptiPerl is a Windows IDE with simulated CGI environment, including
debugger and syntax-highlighting editor.
=item Padre
-http://padre.perlide.org/
+L<http://padre.perlide.org/>
Padre is cross-platform IDE for Perl written in Perl using wxWidgets to provide
-a native look and feel. It's open source under the Artistic License.
+a native look and feel. It's open source under the Artistic License. It
+is one of the newer Perl IDEs.
=item PerlBuilder
-http://www.solutionsoft.com/perl.htm
+L<http://www.solutionsoft.com/perl.htm>
PerlBuilder is an integrated development environment for Windows that
supports Perl development.
=item visiPerl+
-http://helpconsulting.net/visiperl/
+L<http://helpconsulting.net/visiperl/index.html>
From Help Consulting, for Windows.
=item Visual Perl
-http://www.activestate.com/Products/Visual_Perl/
+L<http://www.activestate.com/Products/Visual_Perl/>
Visual Perl is a Visual Studio.NET plug-in from ActiveState.
=item Zeus
-http://www.zeusedit.com/lookmain.html
+L<http://www.zeusedit.com/lookmain.html>
Zeus for Window is another Win32 multi-language editor/IDE
that comes with support for Perl.
@@ -372,32 +440,32 @@ Microsoft Word or WordPerfect, typically do not work since they insert
all sorts of behind-the-scenes information, although some allow you to
save files as "Text Only". You can also download text editors designed
specifically for programming, such as Textpad (
-http://www.textpad.com/ ) and UltraEdit ( http://www.ultraedit.com/ ),
+L<http://www.textpad.com/> ) and UltraEdit ( L<http://www.ultraedit.com/> ),
among others.
If you are using MacOS, the same concerns apply. MacPerl (for Classic
environments) comes with a simple editor. Popular external editors are
-BBEdit ( http://www.bbedit.com/ ) or Alpha (
-http://www.his.com/~jguyer/Alpha/Alpha8.html ). MacOS X users can use
+BBEdit ( L<http://www.bbedit.com/> ) or Alpha (
+L<http://www.his.com/~jguyer/Alpha/Alpha8.html> ). MacOS X users can use
Unix editors as well.
=over 4
=item GNU Emacs
-http://www.gnu.org/software/emacs/windows/ntemacs.html
+L<http://www.gnu.org/software/emacs/windows/ntemacs.html>
=item MicroEMACS
-http://www.microemacs.de/
+L<http://www.microemacs.de/>
=item XEmacs
-http://www.xemacs.org/Download/index.html
+L<http://www.xemacs.org/Download/index.html>
=item Jed
-http://space.mit.edu/~davis/jed/
+L<http://space.mit.edu/~davis/jed/>
=back
@@ -405,89 +473,73 @@ or a vi clone such as
=over 4
-=item Elvis
+=item Vim
-ftp://ftp.cs.pdx.edu/pub/elvis/ http://www.fh-wedel.de/elvis/
+L<http://www.vim.org/>
=item Vile
-http://dickey.his.com/vile/vile.html
-
-=item Vim
-
-http://www.vim.org/
+L<http://dickey.his.com/vile/vile.html>
=back
-For vi lovers in general, Windows or elsewhere:
-
- http://www.thomer.com/thomer/vi/vi.html
-
-nvi ( http://www.bostic.com/vi/ , available from CPAN in src/misc/) is
-yet another vi clone, unfortunately not available for Windows, but in
-Unix platforms you might be interested in trying it out, firstly because
-strictly speaking it is not a vi clone, it is the real vi, or the new
-incarnation of it, and secondly because you can embed Perl inside it
-to use Perl as the scripting language. nvi is not alone in this,
-though: at least also vim and vile offer an embedded Perl.
-
The following are Win32 multilanguage editor/IDEs that support Perl:
=over 4
=item Codewright
-http://www.borland.com/codewright/
+L<http://www.borland.com/codewright/>
=item MultiEdit
-http://www.MultiEdit.com/
+L<http://www.MultiEdit.com/>
=item SlickEdit
-http://www.slickedit.com/
+L<http://www.slickedit.com/>
=item ConTEXT
-http://www.contexteditor.org/
+L<http://www.contexteditor.org/>
=back
There is also a toyedit Text widget based editor written in Perl
-that is distributed with the Tk module on CPAN. The ptkdb
-( http://ptkdb.sourceforge.net/ ) is a Perl/Tk-based debugger that
-acts as a development environment of sorts. Perl Composer
-( http://perlcomposer.sourceforge.net/ ) is an IDE for Perl/Tk
+that is distributed with the Tk module on CPAN. The ptkdb
+( L<http://ptkdb.sourceforge.net/> ) is a Perl/Tk-based debugger that
+acts as a development environment of sorts. Perl Composer
+( L<http://perlcomposer.sourceforge.net/> ) is an IDE for Perl/Tk
GUI creation.
In addition to an editor/IDE you might be interested in a more
-powerful shell environment for Win32. Your options include
+powerful shell environment for Win32. Your options include
=over 4
=item Bash
-from the Cygwin package ( http://sources.redhat.com/cygwin/ )
+from the Cygwin package ( L<http://sources.redhat.com/cygwin/> )
=item Ksh
-from the MKS Toolkit ( http://www.mkssoftware.com/ ), or the Bourne shell of
-the U/WIN environment ( http://www.research.att.com/sw/tools/uwin/ )
+from the MKS Toolkit ( L<http://www.mkssoftware.com/> ), or the Bourne shell of
+the U/WIN environment ( L<http://www.research.att.com/sw/tools/uwin/> )
=item Tcsh
-ftp://ftp.astron.com/pub/tcsh/ , see also
-http://www.primate.wisc.edu/software/csh-tcsh-book/
+L<ftp://ftp.astron.com/pub/tcsh/> , see also
+L<http://www.primate.wisc.edu/software/csh-tcsh-book/>
=item Zsh
-http://www.zsh.org/
+L<http://www.zsh.org/>
=back
MKS and U/WIN are commercial (U/WIN is free for educational and
research purposes), Cygwin is covered by the GNU General Public
-License (but that shouldn't matter for Perl use). The Cygwin, MKS,
+License (but that shouldn't matter for Perl use). The Cygwin, MKS,
and U/WIN all contain (in addition to the shells) a comprehensive set
of standard Unix toolkit utilities.
@@ -496,7 +548,7 @@ be sure to transfer them in ASCII mode so the ends of lines are
appropriately converted.
On Mac OS the MacPerl Application comes with a simple 32k text editor
-that behaves like a rudimentary IDE. In contrast to the MacPerl Application
+that behaves like a rudimentary IDE. In contrast to the MacPerl Application
the MPW Perl tool can make use of the MPW Shell itself as an editor (with
no 32k limit).
@@ -505,48 +557,48 @@ no 32k limit).
=item Affrus
is a full Perl development environment with full debugger support
-( http://www.latenightsw.com ).
+( L<http://www.latenightsw.com> ).
=item Alpha
is an editor, written and extensible in Tcl, that nonetheless has
built-in support for several popular markup and programming languages,
-including Perl and HTML ( http://www.his.com/~jguyer/Alpha/Alpha8.html ).
+including Perl and HTML ( L<http://www.his.com/~jguyer/Alpha/Alpha8.html> ).
=item BBEdit and BBEdit Lite
are text editors for Mac OS that have a Perl sensitivity mode
-( http://web.barebones.com/ ).
+( L<http://web.barebones.com/> ).
=back
=head2 Where can I get Perl macros for vi?
For a complete version of Tom Christiansen's vi configuration file,
-see http://www.cpan.org/authors/Tom_Christiansen/scripts/toms.exrc.gz ,
-the standard benchmark file for vi emulators. The file runs best with nvi,
+see L<http://www.cpan.org/authors/Tom_Christiansen/scripts/toms.exrc.gz> ,
+the standard benchmark file for vi emulators. The file runs best with nvi,
the current version of vi out of Berkeley, which incidentally can be built
-with an embedded Perl interpreter--see http://www.cpan.org/src/misc/ .
+with an embedded Perl interpreter--see L<http://www.cpan.org/src/misc/> .
=head2 Where can I get perl-mode or cperl-mode for emacs?
X<emacs>
Since Emacs version 19 patchlevel 22 or so, there have been both a
-perl-mode.el and support for the Perl debugger built in. These should
+perl-mode.el and support for the Perl debugger built in. These should
come with the standard Emacs 19 distribution.
Note that the perl-mode of emacs will have fits with C<"main'foo">
-(single quote), and mess up the indentation and highlighting. You
+(single quote), and mess up the indentation and highlighting. You
are probably using C<"main::foo"> in new Perl code anyway, so this
shouldn't be an issue.
-For CPerlMode, see http://www.emacswiki.org/cgi-bin/wiki/CPerlMode
+For CPerlMode, see L<http://www.emacswiki.org/cgi-bin/wiki/CPerlMode>
=head2 How can I use curses with Perl?
The Curses module from CPAN provides a dynamically loadable object
-module interface to a curses library. A small demo can be found at the
-directory http://www.cpan.org/authors/Tom_Christiansen/scripts/rep.gz ;
+module interface to a curses library. A small demo can be found at the
+directory L<http://www.cpan.org/authors/Tom_Christiansen/scripts/rep.gz> ;
this program repeats a command and updates the screen as needed, rendering
B<rep ps axu> similar to B<top>.
@@ -571,7 +623,7 @@ simple gui. It hasn't been updated in a while.
=item Wx
This is a Perl binding for the cross-platform wxWidgets toolkit
-( http://www.wxwidgets.org ). It works under Unix, Win32 and Mac OS X,
+( L<http://www.wxwidgets.org> ). It works under Unix, Win32 and Mac OS X,
using native widgets (Gtk under Unix). The interface follows the C++
interface closely, but the documentation is a little sparse for someone
who doesn't know the library, mostly just referring you to the C++
@@ -579,7 +631,7 @@ documentation.
=item Gtk and Gtk2
-These are Perl bindings for the Gtk toolkit ( http://www.gtk.org ). The
+These are Perl bindings for the Gtk toolkit ( L<http://www.gtk.org> ). The
interface changed significantly between versions 1 and 2 so they have
separate Perl modules. It runs under Unix, Win32 and Mac OS X (currently
it requires an X server on Mac OS, but a 'native' port is underway), and
@@ -598,7 +650,7 @@ require familiarity with the C Win32 APIs, or reference to MSDN.
=item CamelBones
-CamelBones ( http://camelbones.sourceforge.net ) is a Perl interface to
+CamelBones ( L<http://camelbones.sourceforge.net> ) is a Perl interface to
Mac OS X's Cocoa GUI toolkit, and as such can be used to produce native
GUIs on Mac OS X. It's not on CPAN, as it requires frameworks that
CPAN.pm doesn't know how to install, but installation is via the
@@ -620,59 +672,59 @@ again it appears not to be much used nowadays.
=head2 How can I make my Perl program run faster?
-The best way to do this is to come up with a better algorithm. This
-can often make a dramatic difference. Jon Bentley's book
+The best way to do this is to come up with a better algorithm. This
+can often make a dramatic difference. Jon Bentley's book
I<Programming Pearls> (that's not a misspelling!) has some good tips
-on optimization, too. Advice on benchmarking boils down to: benchmark
+on optimization, too. Advice on benchmarking boils down to: benchmark
and profile to make sure you're optimizing the right part, look for
better algorithms instead of microtuning your code, and when all else
-fails consider just buying faster hardware. You will probably want to
+fails consider just buying faster hardware. You will probably want to
read the answer to the earlier question "How do I profile my Perl
programs?" if you haven't done so already.
-A different approach is to autoload seldom-used Perl code. See the
+A different approach is to autoload seldom-used Perl code. See the
AutoSplit and AutoLoader modules in the standard distribution for
-that. Or you could locate the bottleneck and think about writing just
+that. Or you could locate the bottleneck and think about writing just
that part in C, the way we used to take bottlenecks in C code and
-write them in assembler. Similar to rewriting in C, modules that have
+write them in assembler. Similar to rewriting in C, modules that have
critical sections can be written in C (for instance, the PDL module
from CPAN).
If you're currently linking your perl executable to a shared
I<libc.so>, you can often gain a 10-25% performance benefit by
-rebuilding it to link with a static libc.a instead. This will make a
+rebuilding it to link with a static libc.a instead. This will make a
bigger perl executable, but your Perl programs (and programmers) may
-thank you for it. See the F<INSTALL> file in the source distribution
+thank you for it. See the F<INSTALL> file in the source distribution
for more information.
The undump program was an ancient attempt to speed up Perl program by
-storing the already-compiled form to disk. This is no longer a viable
+storing the already-compiled form to disk. This is no longer a viable
option, as it only worked on a few architectures, and wasn't a good
solution anyway.
=head2 How can I make my Perl program take less memory?
When it comes to time-space tradeoffs, Perl nearly always prefers to
-throw memory at a problem. Scalars in Perl use more memory than
-strings in C, arrays take more than that, and hashes use even more. While
+throw memory at a problem. Scalars in Perl use more memory than
+strings in C, arrays take more than that, and hashes use even more. While
there's still a lot to be done, recent releases have been addressing
-these issues. For example, as of 5.004, duplicate hash keys are
+these issues. For example, as of 5.004, duplicate hash keys are
shared amongst all hashes using them, so require no reallocation.
In some cases, using substr() or vec() to simulate arrays can be
-highly beneficial. For example, an array of a thousand booleans will
+highly beneficial. For example, an array of a thousand booleans will
take at least 20,000 bytes of space, but it can be turned into one
-125-byte bit vector--a considerable memory savings. The standard
+125-byte bit vector--a considerable memory savings. The standard
Tie::SubstrHash module can also help for certain types of data
-structure. If you're working with specialist data structures
+structure. If you're working with specialist data structures
(matrices, for instance) modules that implement these in C may use
less memory than equivalent Perl modules.
Another thing to try is learning whether your Perl was compiled with
-the system malloc or with Perl's builtin malloc. Whichever one it
+the system malloc or with Perl's builtin malloc. Whichever one it
is, try using the other one and see whether this makes a difference.
Information about malloc is in the F<INSTALL> file in the source
-distribution. You can find out whether you are using perl's malloc by
+distribution. You can find out whether you are using perl's malloc by
typing C<perl -V:usemymalloc>.
Of course, the best way to save memory is to not do anything to waste
@@ -681,46 +733,46 @@ toward this:
=over 4
-=item * Don't slurp!
+=item Don't slurp!
Don't read an entire file into memory if you can process it line
by line. Or more concretely, use a loop like this:
- #
- # Good Idea
- #
- while (<FILE>) {
- # ...
- }
+ #
+ # Good Idea
+ #
+ while (my $line = <$file_handle>) {
+ # ...
+ }
instead of this:
- #
- # Bad Idea
- #
- @data = <FILE>;
- foreach (@data) {
- # ...
- }
+ #
+ # Bad Idea
+ #
+ my @data = <$file_handle>;
+ foreach (@data) {
+ # ...
+ }
When the files you're processing are small, it doesn't much matter which
way you do it, but it makes a huge difference when they start getting
larger.
-=item * Use map and grep selectively
+=item Use map and grep selectively
Remember that both map and grep expect a LIST argument, so doing this:
- @wanted = grep {/pattern/} <FILE>;
+ @wanted = grep {/pattern/} <$file_handle>;
will cause the entire file to be slurped. For large files, it's better
to loop:
- while (<FILE>) {
+ while (<$file_handle>) {
push(@wanted, $_) if /pattern/;
}
-=item * Avoid unnecessary quotes and stringification
+=item Avoid unnecessary quotes and stringification
Don't quote large strings unless absolutely necessary:
@@ -735,24 +787,24 @@ only makes one copy.
Ditto for stringifying large arrays:
- {
- local $, = "\n";
- print @big_array;
- }
+ {
+ local $, = "\n";
+ print @big_array;
+ }
is much more memory-efficient than either
- print join "\n", @big_array;
+ print join "\n", @big_array;
or
- {
- local $" = "\n";
- print "@big_array";
- }
+ {
+ local $" = "\n";
+ print "@big_array";
+ }
-=item * Pass by reference
+=item Pass by reference
Pass arrays and hashes by reference, not by value. For one thing, it's
the only way to pass multiple lists or hashes (or both) in a single
@@ -761,7 +813,7 @@ requires some judgement, however, because any changes will be propagated
back to the original data. If you really want to mangle (er, modify) a
copy, you'll have to sacrifice the memory needed to make one.
-=item * Tie large variables to disk
+=item Tie large variables to disk
For "big" data stores (i.e. ones that exceed available memory) consider
using one of the DB modules to store it on disk instead of in RAM. This
@@ -776,8 +828,8 @@ Yes. Perl's garbage collection system takes care of this so
everything works out right.
sub makeone {
- my @a = ( 1 .. 10 );
- return \@a;
+ my @a = ( 1 .. 10 );
+ return \@a;
}
for ( 1 .. 10 ) {
@@ -813,35 +865,41 @@ See also "How can I make my Perl program take less memory?"
=head2 How can I make my CGI script more efficient?
Beyond the normal measures described to make general Perl programs
-faster or smaller, a CGI program has additional issues. It may be run
-several times per second. Given that each time it runs it will need
+faster or smaller, a CGI program has additional issues. It may be run
+several times per second. Given that each time it runs it will need
to be re-compiled and will often allocate a megabyte or more of system
-memory, this can be a killer. Compiling into C B<isn't going to help
+memory, this can be a killer. Compiling into C B<isn't going to help
you> because the process start-up overhead is where the bottleneck is.
-There are two popular ways to avoid this overhead. One solution
+There are three popular ways to avoid this overhead. One solution
involves running the Apache HTTP server (available from
-http://www.apache.org/ ) with either of the mod_perl or mod_fastcgi
+L<http://www.apache.org/> ) with either of the mod_perl or mod_fastcgi
plugin modules.
With mod_perl and the Apache::Registry module (distributed with
mod_perl), httpd will run with an embedded Perl interpreter which
pre-compiles your script and then executes it within the same address
-space without forking. The Apache extension also gives Perl access to
+space without forking. The Apache extension also gives Perl access to
the internal server API, so modules written in Perl can do just about
-anything a module written in C can. For more on mod_perl, see
-http://perl.apache.org/
+anything a module written in C can. For more on mod_perl, see
+L<http://perl.apache.org/>
With the FCGI module (from CPAN) and the mod_fastcgi
-module (available from http://www.fastcgi.com/ ) each of your Perl
+module (available from L<http://www.fastcgi.com/> ) each of your Perl
programs becomes a permanent CGI daemon process.
-Both of these solutions can have far-reaching effects on your system
-and on the way you write your CGI programs, so investigate them with
-care.
+Finally, L<Plack> is a Perl module and toolkit that contains PSGI middleware,
+helpers and adapters to web servers, allowing you to easily deploy scripts which
+can continue running, and provides flexibility with regards to which web server
+you use. It can allow existing CGI scripts to enjoy this flexibility and
+performance with minimal changes, or can be used along with modern Perl web
+frameworks to make writing and deploying web services with Perl a breeze.
+
+These solutions can have far-reaching effects on your system and on the way you
+write your CGI programs, so investigate them with care.
See also
-http://www.cpan.org/modules/by-category/15_World_Wide_Web_HTML_HTTP_CGI/ .
+L<http://www.cpan.org/modules/by-category/15_World_Wide_Web_HTML_HTTP_CGI/> .
=head2 How can I hide the source for my Perl program?
@@ -850,38 +908,38 @@ unsatisfactory) solutions with varying levels of "security".
First of all, however, you I<can't> take away read permission, because
the source code has to be readable in order to be compiled and
-interpreted. (That doesn't mean that a CGI script's source is
+interpreted. (That doesn't mean that a CGI script's source is
readable by people on the web, though--only by people with access to
the filesystem.) So you have to leave the permissions at the socially
friendly 0755 level.
-Some people regard this as a security problem. If your program does
+Some people regard this as a security problem. If your program does
insecure things and relies on people not knowing how to exploit those
-insecurities, it is not secure. It is often possible for someone to
+insecurities, it is not secure. It is often possible for someone to
determine the insecure things and exploit them without viewing the
-source. Security through obscurity, the name for hiding your bugs
+source. Security through obscurity, the name for hiding your bugs
instead of fixing them, is little security indeed.
You can try using encryption via source filters (Starting from Perl
5.8 the Filter::Simple and Filter::Util::Call modules are included in
the standard distribution), but any decent programmer will be able to
-decrypt it. You can try using the byte code compiler and interpreter
+decrypt it. You can try using the byte code compiler and interpreter
described later in L<perlfaq3>, but the curious might still be able to
de-compile it. You can try using the native-code compiler described
-later, but crackers might be able to disassemble it. These pose
+later, but crackers might be able to disassemble it. These pose
varying degrees of difficulty to people wanting to get at your code,
but none can definitively conceal it (true of every language, not just
Perl).
-It is very easy to recover the source of Perl programs. You simply
+It is very easy to recover the source of Perl programs. You simply
feed the program to the perl interpreter and use the modules in
-the B:: hierarchy. The B::Deparse module should be able to
-defeat most attempts to hide source. Again, this is not
+the B:: hierarchy. The B::Deparse module should be able to
+defeat most attempts to hide source. Again, this is not
unique to Perl.
If you're concerned about people profiting from your code, then the
bottom line is that nothing but a restrictive license will give you
-legal security. License your software and pepper it with threatening
+legal security. License your software and pepper it with threatening
statements like "This is unpublished proprietary software of XYZ Corp.
Your access to it does not give you permission to use it blah blah
blah." We are not lawyers, of course, so you should see a lawyer if
@@ -891,27 +949,27 @@ you want to be sure your license's wording will stand up in court.
(contributed by brian d foy)
-In general, you can't do this. There are some things that may work
-for your situation though. People usually ask this question
+In general, you can't do this. There are some things that may work
+for your situation though. People usually ask this question
because they want to distribute their works without giving away
the source code, and most solutions trade disk space for convenience.
You probably won't see much of a speed increase either, since most
solutions simply bundle a Perl interpreter in the final product
(but see L<How can I make my Perl program run faster?>).
-The Perl Archive Toolkit ( http://par.perl.org/ ) is Perl's
-analog to Java's JAR. It's freely available and on CPAN (
-http://search.cpan.org/dist/PAR/ ).
+The Perl Archive Toolkit ( L<http://par.perl.org/> ) is Perl's
+analog to Java's JAR. It's freely available and on CPAN (
+L<http://search.cpan.org/dist/PAR/> ).
There are also some commercial products that may work for you, although
you have to buy a license for them.
-The Perl Dev Kit ( http://www.activestate.com/Products/Perl_Dev_Kit/ )
+The Perl Dev Kit ( L<http://www.activestate.com/Products/Perl_Dev_Kit/> )
from ActiveState can "Turn your Perl programs into ready-to-run
executables for HP-UX, Linux, Solaris and Windows."
-Perl2Exe ( http://www.indigostar.com/perl2exe.htm ) is a command line
-program for converting perl scripts to executable files. It targets both
+Perl2Exe ( L<http://www.indigostar.com/perl2exe.htm> ) is a command line
+program for converting perl scripts to executable files. It targets both
Windows and Unix platforms.
=head2 How can I get C<#!perl> to work on [MS-DOS,NT,...]?
@@ -921,32 +979,32 @@ For OS/2 just use
extproc perl -S -your_switches
as the first line in C<*.cmd> file (C<-S> due to a bug in cmd.exe's
-"extproc" handling). For DOS one should first invent a corresponding
+"extproc" handling). For DOS one should first invent a corresponding
batch file and codify it in C<ALTERNATE_SHEBANG> (see the
F<dosish.h> file in the source distribution for more information).
The Win95/NT installation, when using the ActiveState port of Perl,
will modify the Registry to associate the C<.pl> extension with the
-perl interpreter. If you install another port, perhaps even building
+perl interpreter. If you install another port, perhaps even building
your own Win95/NT Perl from the standard sources by using a Windows port
of gcc (e.g., with cygwin or mingw32), then you'll have to modify
-the Registry yourself. In addition to associating C<.pl> with the
+the Registry yourself. In addition to associating C<.pl> with the
interpreter, NT people can use: C<SET PATHEXT=%PATHEXT%;.PL> to let them
run the program C<install-linux.pl> merely by typing C<install-linux>.
Under "Classic" MacOS, a perl program will have the appropriate Creator and
Type, so that double-clicking them will invoke the MacPerl application.
Under Mac OS X, clickable apps can be made from any C<#!> script using Wil
-Sanchez' DropScript utility: http://www.wsanchez.net/software/ .
+Sanchez' DropScript utility: L<http://www.wsanchez.net/software/> .
I<IMPORTANT!>: Whatever you do, PLEASE don't get frustrated, and just
throw the perl interpreter into your cgi-bin directory, in order to
-get your programs working for a web server. This is an EXTREMELY big
-security risk. Take the time to figure out how to do it correctly.
+get your programs working for a web server. This is an EXTREMELY big
+security risk. Take the time to figure out how to do it correctly.
=head2 Can I write useful Perl programs on the command line?
-Yes. Read L<perlrun> for more information. Some examples follow.
+Yes. Read L<perlrun> for more information. Some examples follow.
(These assume standard Unix shell quoting rules.)
# sum first and last fields
@@ -966,7 +1024,7 @@ Yes. Read L<perlrun> for more information. Some examples follow.
# display reasonable manpath
echo $PATH | perl -nl -072 -e '
- s![^/+]*$!man!&&-d&&!$s{$_}++&&push@m,$_;END{print"@m"}'
+ s![^/+]*$!man!&&-d&&!$s{$_}++&&push@m,$_;END{print"@m"}'
OK, the last one was actually an Obfuscated Perl Contest entry. :-)
@@ -974,9 +1032,9 @@ OK, the last one was actually an Obfuscated Perl Contest entry. :-)
The problem is usually that the command interpreters on those systems
have rather different ideas about quoting than the Unix shells under
-which the one-liners were created. On some systems, you may have to
+which the one-liners were created. On some systems, you may have to
change single-quotes to double ones, which you must I<NOT> do on Unix
-or Plan9 systems. You might also have to change a single % to a %%.
+or Plan9 systems. You might also have to change a single % to a %%.
For example:
@@ -997,13 +1055,13 @@ For example:
perl -e "print ""Hello world\n"""
The problem is that none of these examples are reliable: they depend on the
-command interpreter. Under Unix, the first two often work. Under DOS,
-it's entirely possible that neither works. If 4DOS was the command shell,
+command interpreter. Under Unix, the first two often work. Under DOS,
+it's entirely possible that neither works. If 4DOS was the command shell,
you'd probably have better luck like this:
perl -e "print <Ctrl-x>"Hello world\n<Ctrl-x>""
-Under the Mac, it depends which environment you are using. The MacPerl
+Under the Mac, it depends which environment you are using. The MacPerl
shell, or MPW, is much like Unix shells in its support for several
quoting variants, except that it makes free use of the Mac's non-ASCII
characters as control characters.
@@ -1011,20 +1069,24 @@ characters as control characters.
Using qq(), q(), and qx(), instead of "double quotes", 'single
quotes', and `backticks`, may make one-liners easier to write.
-There is no general solution to all of this. It is a mess.
+There is no general solution to all of this. It is a mess.
[Some of this answer was contributed by Kenneth Albanowski.]
=head2 Where can I learn about CGI or Web programming in Perl?
-For modules, get the CGI or LWP modules from CPAN. For textbooks,
+For modules, get the CGI or LWP modules from CPAN. For textbooks,
see the two especially dedicated to web stuff in the question on
-books. For problems and questions related to the web, like "Why
+books. For problems and questions related to the web, like "Why
do I get 500 Errors" or "Why doesn't it run from the browser right
when it runs fine on the command line", see the troubleshooting
guides and references in L<perlfaq9> or in the CGI MetaFAQ:
- http://www.perl.org/CGI_MetaFAQ.html
+ L<http://www.perl.org/CGI_MetaFAQ.html>
+
+Looking in to L<Plack> and modern Perl web frameworks is highly recommended,
+though; web programming in Perl has evolved a long way from the old days of
+simple CGI scripts.
=head2 Where can I learn about object-oriented Perl programming?
@@ -1038,9 +1100,9 @@ by Randal Schwartz, brian d foy, and Tom Phoenix from O'Reilly Media.
=head2 Where can I learn about linking C with Perl?
If you want to call C from Perl, start with L<perlxstut>,
-moving on to L<perlxs>, L<xsubpp>, and L<perlguts>. If you want to
+moving on to L<perlxs>, L<xsubpp>, and L<perlguts>. If you want to
call Perl from C, then read L<perlembed>, L<perlcall>, and
-L<perlguts>. Don't forget that you can learn a lot from looking at
+L<perlguts>. Don't forget that you can learn a lot from looking at
how the authors of existing extension modules wrote their code and
solved their problems.
@@ -1052,8 +1114,8 @@ XS support files.
=head2 I've read perlembed, perlguts, etc., but I can't embed perl in my C program; what am I doing wrong?
-Download the ExtUtils::Embed kit from CPAN and run `make test'. If
-the tests pass, read the pods again and again and again. If they
+Download the ExtUtils::Embed kit from CPAN and run `make test'. If
+the tests pass, read the pods again and again and again. If they
fail, see L<perlbug> and send a bug report with the output of
C<make test TEST_VERBOSE=1> along with C<perl -V>.
@@ -1078,7 +1140,7 @@ or
(contributed by brian d foy)
-The C<ExtUtils::MakeMaker> module, better known simply as "MakeMaker",
+The L<ExtUtils::MakeMaker> module, better known simply as "MakeMaker",
turns a Perl script, typically called C<Makefile.PL>, into a Makefile.
The Unix tool C<make> uses this file to manage dependencies and actions
to process and install a Perl distribution.
@@ -1092,7 +1154,7 @@ This documentation is free; you can redistribute it and/or modify it
under the same terms as Perl itself.
Irrespective of its distribution, all code examples here are in the public
-domain. You are permitted and encouraged to use this code and any
+domain. You are permitted and encouraged to use this code and any
derivatives thereof in your own programs for fun or for profit as you
-see fit. A simple comment in the code giving credit to the FAQ would
+see fit. A simple comment in the code giving credit to the FAQ would
be courteous but is not required.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq4.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq4.pod
index eb18743f822..e5de15385a5 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq4.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq4.pod
@@ -17,7 +17,7 @@ Scientist Should Know About Floating-Point Arithmetic"
Internally, your computer represents floating-point numbers in binary.
Digital (as in powers of two) computers cannot store all numbers
-exactly. Some real numbers lose precision in the process. This is a
+exactly. Some real numbers lose precision in the process. This is a
problem with how computers store numbers and affects all computer
languages, not just Perl.
@@ -25,16 +25,16 @@ L<perlnumber> shows the gory details of number representations and
conversions.
To limit the number of decimal places in your numbers, you can use the
-C<printf> or C<sprintf> function. See
-L<perlop/"Floating Point Arithmetic"> for more details.
+C<printf> or C<sprintf> function. See
+L<perlop/"Floating-point Arithmetic"> for more details.
- printf "%.2f", 10/3;
+ printf "%.2f", 10/3;
- my $number = sprintf "%.2f", 10/3;
+ my $number = sprintf "%.2f", 10/3;
=head2 Why is int() broken?
-Your C<int()> is most probably working just fine. It's the numbers that
+Your C<int()> is most probably working just fine. It's the numbers that
aren't quite what you think.
First, see the answer to "Why am I getting long decimals
@@ -43,11 +43,11 @@ First, see the answer to "Why am I getting long decimals
For example, this
- print int(0.6/0.2-2), "\n";
+ print int(0.6/0.2-2), "\n";
will in most computers print 0, not 1, because even such simple
numbers as 0.6 and 0.2 cannot be presented exactly by floating-point
-numbers. What you think in the above as 'three' is really more like
+numbers. What you think in the above as 'three' is really more like
2.9999999999999995559.
=head2 Why isn't my octal data interpreted correctly?
@@ -59,64 +59,64 @@ converts as a decimal number. When Perl converts a string to a number, it
ignores leading spaces and zeroes, then assumes the rest of the digits
are in base 10:
- my $string = '0644';
+ my $string = '0644';
- print $string + 0; # prints 644
+ print $string + 0; # prints 644
- print $string + 44; # prints 688, certainly not octal!
+ print $string + 44; # prints 688, certainly not octal!
This problem usually involves one of the Perl built-ins that has the
same name a Unix command that uses octal numbers as arguments on the
command line. In this example, C<chmod> on the command line knows that
its first argument is octal because that's what it does:
- %prompt> chmod 644 file
+ %prompt> chmod 644 file
If you want to use the same literal digits (644) in Perl, you have to tell
Perl to treat them as octal numbers either by prefixing the digits with
a C<0> or using C<oct>:
- chmod( 0644, $file); # right, has leading zero
- chmod( oct(644), $file ); # also correct
+ chmod( 0644, $filename ); # right, has leading zero
+ chmod( oct(644), $filename ); # also correct
The problem comes in when you take your numbers from something that Perl
thinks is a string, such as a command line argument in C<@ARGV>:
- chmod( $ARGV[0], $file); # wrong, even if "0644"
+ chmod( $ARGV[0], $filename ); # wrong, even if "0644"
- chmod( oct($ARGV[0]), $file ); # correct, treat string as octal
+ chmod( oct($ARGV[0]), $filename ); # correct, treat string as octal
You can always check the value you're using by printing it in octal
notation to ensure it matches what you think it should be. Print it
in octal and decimal format:
- printf "0%o %d", $number, $number;
+ printf "0%o %d", $number, $number;
-=head2 Does Perl have a round() function? What about ceil() and floor()? Trig functions?
+=head2 Does Perl have a round() function? What about ceil() and floor()? Trig functions?
-Remember that C<int()> merely truncates toward 0. For rounding to a
+Remember that C<int()> merely truncates toward 0. For rounding to a
certain number of digits, C<sprintf()> or C<printf()> is usually the
easiest route.
- printf("%.3f", 3.1415926535); # prints 3.142
+ printf("%.3f", 3.1415926535); # prints 3.142
-The C<POSIX> module (part of the standard Perl distribution)
+The L<POSIX> module (part of the standard Perl distribution)
implements C<ceil()>, C<floor()>, and a number of other mathematical
and trigonometric functions.
- use POSIX;
- $ceil = ceil(3.5); # 4
- $floor = floor(3.5); # 3
+ use POSIX;
+ my $ceil = ceil(3.5); # 4
+ my $floor = floor(3.5); # 3
-In 5.000 to 5.003 perls, trigonometry was done in the C<Math::Complex>
-module. With 5.004, the C<Math::Trig> module (part of the standard Perl
+In 5.000 to 5.003 perls, trigonometry was done in the L<Math::Complex>
+module. With 5.004, the L<Math::Trig> module (part of the standard Perl
distribution) implements the trigonometric functions. Internally it
-uses the C<Math::Complex> module and some functions can break out from
+uses the L<Math::Complex> module and some functions can break out from
the real axis into the complex plane, for example the inverse sine of
2.
Rounding in financial applications can have serious implications, and
-the rounding method used should be specified precisely. In these
+the rounding method used should be specified precisely. In these
cases, it probably pays not to trust whichever system of rounding is
being used by Perl, but instead to implement the rounding function you
need yourself.
@@ -124,25 +124,25 @@ need yourself.
To see why, notice how you'll still have an issue on half-way-point
alternation:
- for ($i = 0; $i < 1.01; $i += 0.05) { printf "%.1f ",$i}
+ for (my $i = 0; $i < 1.01; $i += 0.05) { printf "%.1f ",$i}
- 0.0 0.1 0.1 0.2 0.2 0.2 0.3 0.3 0.4 0.4 0.5 0.5 0.6 0.7 0.7
- 0.8 0.8 0.9 0.9 1.0 1.0
+ 0.0 0.1 0.1 0.2 0.2 0.2 0.3 0.3 0.4 0.4 0.5 0.5 0.6 0.7 0.7
+ 0.8 0.8 0.9 0.9 1.0 1.0
-Don't blame Perl. It's the same as in C. IEEE says we have to do
+Don't blame Perl. It's the same as in C. IEEE says we have to do
this. Perl numbers whose absolute values are integers under 2**31 (on
32-bit machines) will work pretty much like mathematical integers.
Other numbers are not guaranteed.
=head2 How do I convert between numeric representations/bases/radixes?
-As always with Perl there is more than one way to do it. Below are a
+As always with Perl there is more than one way to do it. Below are a
few examples of approaches to making common conversions between number
-representations. This is intended to be representational rather than
+representations. This is intended to be representational rather than
exhaustive.
-Some of the examples later in L<perlfaq4> use the C<Bit::Vector>
-module from CPAN. The reason you might choose C<Bit::Vector> over the
+Some of the examples later in L<perlfaq4> use the L<Bit::Vector>
+module from CPAN. The reason you might choose L<Bit::Vector> over the
perl built-in functions is that it works with numbers of ANY size,
that it is optimized for speed on some operations, and for at least
some programmers the notation might be familiar.
@@ -153,119 +153,119 @@ some programmers the notation might be familiar.
Using perl's built in conversion of C<0x> notation:
- $dec = 0xDEADBEEF;
+ my $dec = 0xDEADBEEF;
Using the C<hex> function:
- $dec = hex("DEADBEEF");
+ my $dec = hex("DEADBEEF");
Using C<pack>:
- $dec = unpack("N", pack("H8", substr("0" x 8 . "DEADBEEF", -8)));
+ my $dec = unpack("N", pack("H8", substr("0" x 8 . "DEADBEEF", -8)));
Using the CPAN module C<Bit::Vector>:
- use Bit::Vector;
- $vec = Bit::Vector->new_Hex(32, "DEADBEEF");
- $dec = $vec->to_Dec();
+ use Bit::Vector;
+ my $vec = Bit::Vector->new_Hex(32, "DEADBEEF");
+ my $dec = $vec->to_Dec();
=item How do I convert from decimal to hexadecimal
Using C<sprintf>:
- $hex = sprintf("%X", 3735928559); # upper case A-F
- $hex = sprintf("%x", 3735928559); # lower case a-f
+ my $hex = sprintf("%X", 3735928559); # upper case A-F
+ my $hex = sprintf("%x", 3735928559); # lower case a-f
Using C<unpack>:
- $hex = unpack("H*", pack("N", 3735928559));
+ my $hex = unpack("H*", pack("N", 3735928559));
-Using C<Bit::Vector>:
+Using L<Bit::Vector>:
- use Bit::Vector;
- $vec = Bit::Vector->new_Dec(32, -559038737);
- $hex = $vec->to_Hex();
+ use Bit::Vector;
+ my $vec = Bit::Vector->new_Dec(32, -559038737);
+ my $hex = $vec->to_Hex();
-And C<Bit::Vector> supports odd bit counts:
+And L<Bit::Vector> supports odd bit counts:
- use Bit::Vector;
- $vec = Bit::Vector->new_Dec(33, 3735928559);
- $vec->Resize(32); # suppress leading 0 if unwanted
- $hex = $vec->to_Hex();
+ use Bit::Vector;
+ my $vec = Bit::Vector->new_Dec(33, 3735928559);
+ $vec->Resize(32); # suppress leading 0 if unwanted
+ my $hex = $vec->to_Hex();
=item How do I convert from octal to decimal
Using Perl's built in conversion of numbers with leading zeros:
- $dec = 033653337357; # note the leading 0!
+ my $dec = 033653337357; # note the leading 0!
Using the C<oct> function:
- $dec = oct("33653337357");
+ my $dec = oct("33653337357");
-Using C<Bit::Vector>:
+Using L<Bit::Vector>:
- use Bit::Vector;
- $vec = Bit::Vector->new(32);
- $vec->Chunk_List_Store(3, split(//, reverse "33653337357"));
- $dec = $vec->to_Dec();
+ use Bit::Vector;
+ my $vec = Bit::Vector->new(32);
+ $vec->Chunk_List_Store(3, split(//, reverse "33653337357"));
+ my $dec = $vec->to_Dec();
=item How do I convert from decimal to octal
Using C<sprintf>:
- $oct = sprintf("%o", 3735928559);
+ my $oct = sprintf("%o", 3735928559);
-Using C<Bit::Vector>:
+Using L<Bit::Vector>:
- use Bit::Vector;
- $vec = Bit::Vector->new_Dec(32, -559038737);
- $oct = reverse join('', $vec->Chunk_List_Read(3));
+ use Bit::Vector;
+ my $vec = Bit::Vector->new_Dec(32, -559038737);
+ my $oct = reverse join('', $vec->Chunk_List_Read(3));
=item How do I convert from binary to decimal
Perl 5.6 lets you write binary numbers directly with
the C<0b> notation:
- $number = 0b10110110;
+ my $number = 0b10110110;
Using C<oct>:
- my $input = "10110110";
- $decimal = oct( "0b$input" );
+ my $input = "10110110";
+ my $decimal = oct( "0b$input" );
Using C<pack> and C<ord>:
- $decimal = ord(pack('B8', '10110110'));
+ my $decimal = ord(pack('B8', '10110110'));
Using C<pack> and C<unpack> for larger strings:
- $int = unpack("N", pack("B32",
- substr("0" x 32 . "11110101011011011111011101111", -32)));
- $dec = sprintf("%d", $int);
+ my $int = unpack("N", pack("B32",
+ substr("0" x 32 . "11110101011011011111011101111", -32)));
+ my $dec = sprintf("%d", $int);
- # substr() is used to left-pad a 32-character string with zeros.
+ # substr() is used to left-pad a 32-character string with zeros.
-Using C<Bit::Vector>:
+Using L<Bit::Vector>:
- $vec = Bit::Vector->new_Bin(32, "11011110101011011011111011101111");
- $dec = $vec->to_Dec();
+ my $vec = Bit::Vector->new_Bin(32, "11011110101011011011111011101111");
+ my $dec = $vec->to_Dec();
=item How do I convert from decimal to binary
Using C<sprintf> (perl 5.6+):
- $bin = sprintf("%b", 3735928559);
+ my $bin = sprintf("%b", 3735928559);
Using C<unpack>:
- $bin = unpack("B*", pack("N", 3735928559));
+ my $bin = unpack("B*", pack("N", 3735928559));
-Using C<Bit::Vector>:
+Using L<Bit::Vector>:
- use Bit::Vector;
- $vec = Bit::Vector->new_Dec(32, -559038737);
- $bin = $vec->to_Bin();
+ use Bit::Vector;
+ my $vec = Bit::Vector->new_Dec(32, -559038737);
+ my $bin = $vec->to_Bin();
The remaining transformations (e.g. hex -> oct, bin -> hex, etc.)
are left as an exercise to the inclined reader.
@@ -275,76 +275,76 @@ are left as an exercise to the inclined reader.
=head2 Why doesn't & work the way I want it to?
The behavior of binary arithmetic operators depends on whether they're
-used on numbers or strings. The operators treat a string as a series
+used on numbers or strings. The operators treat a string as a series
of bits and work with that (the string C<"3"> is the bit pattern
-C<00110011>). The operators work with the binary form of a number
+C<00110011>). The operators work with the binary form of a number
(the number C<3> is treated as the bit pattern C<00000011>).
So, saying C<11 & 3> performs the "and" operation on numbers (yielding
-C<3>). Saying C<"11" & "3"> performs the "and" operation on strings
+C<3>). Saying C<"11" & "3"> performs the "and" operation on strings
(yielding C<"1">).
Most problems with C<&> and C<|> arise because the programmer thinks
-they have a number but really it's a string or vice versa. To avoid this,
+they have a number but really it's a string or vice versa. To avoid this,
stringify the arguments explicitly (using C<""> or C<qq()>) or convert them
to numbers explicitly (using C<0+$arg>). The rest arise because
the programmer says:
- if ("\020\020" & "\101\101") {
- # ...
- }
+ if ("\020\020" & "\101\101") {
+ # ...
+ }
but a string consisting of two null bytes (the result of C<"\020\020"
-& "\101\101">) is not a false value in Perl. You need:
+& "\101\101">) is not a false value in Perl. You need:
- if ( ("\020\020" & "\101\101") !~ /[^\000]/) {
- # ...
- }
+ if ( ("\020\020" & "\101\101") !~ /[^\000]/) {
+ # ...
+ }
=head2 How do I multiply matrices?
-Use the C<Math::Matrix> or C<Math::MatrixReal> modules (available from CPAN)
-or the C<PDL> extension (also available from CPAN).
+Use the L<Math::Matrix> or L<Math::MatrixReal> modules (available from CPAN)
+or the L<PDL> extension (also available from CPAN).
=head2 How do I perform an operation on a series of integers?
To call a function on each element in an array, and collect the
results, use:
- @results = map { my_func($_) } @array;
+ my @results = map { my_func($_) } @array;
For example:
- @triple = map { 3 * $_ } @single;
+ my @triple = map { 3 * $_ } @single;
To call a function on each element of an array, but ignore the
results:
- foreach $iterator (@array) {
- some_func($iterator);
- }
+ foreach my $iterator (@array) {
+ some_func($iterator);
+ }
To call a function on each integer in a (small) range, you B<can> use:
- @results = map { some_func($_) } (5 .. 25);
+ my @results = map { some_func($_) } (5 .. 25);
-but you should be aware that the C<..> operator creates a list of
-all integers in the range. This can take a lot of memory for large
-ranges. Instead use:
+but you should be aware that in this form, the C<..> operator
+creates a list of all integers in the range, which can take a lot of
+memory for large ranges. However, the problem does not occur when
+using C<..> within a C<for> loop, because in that case the range
+operator is optimized to I<iterate> over the range, without creating
+the entire list. So
- @results = ();
- for ($i=5; $i <= 500_005; $i++) {
- push(@results, some_func($i));
- }
+ my @results = ();
+ for my $i (5 .. 500_005) {
+ push(@results, some_func($i));
+ }
-This situation has been fixed in Perl5.005. Use of C<..> in a C<for>
-loop will iterate over the range, without creating the entire range.
+or even
- for my $i (5 .. 500_005) {
- push(@results, some_func($i));
- }
+ push(@results, some_func($_)) for 5 .. 500_005;
-will not create a list of 500,000 integers.
+will not create an intermediate list of 500,000 integers.
=head2 How can I output Roman numerals?
@@ -355,26 +355,31 @@ Get the L<http://www.cpan.org/modules/by-module/Roman> module.
If you're using a version of Perl before 5.004, you must call C<srand>
once at the start of your program to seed the random number generator.
- BEGIN { srand() if $] < 5.004 }
+ BEGIN { srand() if $] < 5.004 }
-5.004 and later automatically call C<srand> at the beginning. Don't
+5.004 and later automatically call C<srand> at the beginning. Don't
call C<srand> more than once--you make your numbers less random,
rather than more.
Computers are good at being predictable and bad at being random
-(despite appearances caused by bugs in your programs :-). The
+(despite appearances caused by bugs in your programs :-). The
F<random> article in the "Far More Than You Ever Wanted To Know"
collection in L<http://www.cpan.org/misc/olddoc/FMTEYEWTK.tgz>, courtesy
-of Tom Phoenix, talks more about this. John von Neumann said, "Anyone
+of Tom Phoenix, talks more about this. John von Neumann said, "Anyone
who attempts to generate random numbers by deterministic means is, of
course, living in a state of sin."
-If you want numbers that are more random than C<rand> with C<srand>
-provides, you should also check out the C<Math::TrulyRandom> module from
-CPAN. It uses the imperfections in your system's timer to generate
-random numbers, but this takes quite a while. If you want a better
-pseudorandom generator than comes with your operating system, look at
-"Numerical Recipes in C" at L<http://www.nr.com/>.
+Perl relies on the underlying system for the implementation of
+C<rand> and C<srand>; on some systems, the generated numbers are
+not random enough (especially on Windows : see
+L<http://www.perlmonks.org/?node_id=803632>).
+Several CPAN modules in the C<Math> namespace implement better
+pseudorandom generators; see for example
+L<Math::Random::MT> ("Mersenne Twister", fast), or
+L<Math::TrulyRandom> (uses the imperfections in the system's
+timer to generate random numbers, which is rather slow).
+More algorithms for random numbers are described in
+"Numerical Recipes in C" at L<http://www.nr.com/>
=head2 How do I get a random number between X and Y?
@@ -389,19 +394,19 @@ from 0 to the difference between your I<X> and I<Y>.
That is, to get a number between 10 and 15, inclusive, you want a
random number between 0 and 5 that you can then add to 10.
- my $number = 10 + int rand( 15-10+1 ); # ( 10,11,12,13,14, or 15 )
+ my $number = 10 + int rand( 15-10+1 ); # ( 10,11,12,13,14, or 15 )
Hence you derive the following simple function to abstract
that. It selects a random integer between the two given
integers (inclusive), For example: C<random_int_between(50,120)>.
- sub random_int_between {
- my($min, $max) = @_;
- # Assumes that the two arguments are integers themselves!
- return $min if $min == $max;
- ($min, $max) = ($max, $min) if $min > $max;
- return $min + int rand(1 + $max - $min);
- }
+ sub random_int_between {
+ my($min, $max) = @_;
+ # Assumes that the two arguments are integers themselves!
+ return $min if $min == $max;
+ ($min, $max) = ($max, $min) if $min > $max;
+ return $min + int rand(1 + $max - $min);
+ }
=head1 Data: Dates
@@ -411,48 +416,48 @@ The day of the year is in the list returned
by the C<localtime> function. Without an
argument C<localtime> uses the current time.
- my $day_of_year = (localtime)[7];
+ my $day_of_year = (localtime)[7];
-The C<POSIX> module can also format a date as the day of the year or
+The L<POSIX> module can also format a date as the day of the year or
week of the year.
- use POSIX qw/strftime/;
- my $day_of_year = strftime "%j", localtime;
- my $week_of_year = strftime "%W", localtime;
+ use POSIX qw/strftime/;
+ my $day_of_year = strftime "%j", localtime;
+ my $week_of_year = strftime "%W", localtime;
-To get the day of year for any date, use C<POSIX>'s C<mktime> to get
+To get the day of year for any date, use L<POSIX>'s C<mktime> to get
a time in epoch seconds for the argument to C<localtime>.
- use POSIX qw/mktime strftime/;
- my $week_of_year = strftime "%W",
- localtime( mktime( 0, 0, 0, 18, 11, 87 ) );
+ use POSIX qw/mktime strftime/;
+ my $week_of_year = strftime "%W",
+ localtime( mktime( 0, 0, 0, 18, 11, 87 ) );
-You can also use C<Time::Piece>, which comes with Perl and provides a
+You can also use L<Time::Piece>, which comes with Perl and provides a
C<localtime> that returns an object:
- use Time::Piece;
- my $day_of_year = localtime->yday;
- my $week_of_year = localtime->week;
+ use Time::Piece;
+ my $day_of_year = localtime->yday;
+ my $week_of_year = localtime->week;
-The C<Date::Calc> module provides two functions to calculate these, too:
+The L<Date::Calc> module provides two functions to calculate these, too:
- use Date::Calc;
- my $day_of_year = Day_of_Year( 1987, 12, 18 );
- my $week_of_year = Week_of_Year( 1987, 12, 18 );
+ use Date::Calc;
+ my $day_of_year = Day_of_Year( 1987, 12, 18 );
+ my $week_of_year = Week_of_Year( 1987, 12, 18 );
=head2 How do I find the current century or millennium?
Use the following simple functions:
- sub get_century {
- return int((((localtime(shift || time))[5] + 1999))/100);
- }
+ sub get_century {
+ return int((((localtime(shift || time))[5] + 1999))/100);
+ }
- sub get_millennium {
- return 1+int((((localtime(shift || time))[5] + 1899))/1000);
- }
+ sub get_millennium {
+ return 1+int((((localtime(shift || time))[5] + 1899))/1000);
+ }
-On some systems, the C<POSIX> module's C<strftime()> function has been
+On some systems, the L<POSIX> module's C<strftime()> function has been
extended in a non-standard way to use a C<%C> format, which they
sometimes claim is the "century". It isn't, because on most such
systems, this is only the first two digits of the four-digit year, and
@@ -464,73 +469,73 @@ millennium.
(contributed by brian d foy)
You could just store all your dates as a number and then subtract.
-Life isn't always that simple though.
+Life isn't always that simple though.
-The C<Time::Piece> module, which comes with Perl, replaces C<localtime>
+The L<Time::Piece> module, which comes with Perl, replaces L<localtime>
with a version that returns an object. It also overloads the comparison
operators so you can compare them directly:
- use Time::Piece;
- my $date1 = localtime( $some_time );
- my $date2 = localtime( $some_other_time );
-
- if( $date1 < $date2 ) {
- print "The date was in the past\n";
- }
+ use Time::Piece;
+ my $date1 = localtime( $some_time );
+ my $date2 = localtime( $some_other_time );
-You can also get differences with a subtraction, which returns a
-C<Time::Seconds> object:
+ if( $date1 < $date2 ) {
+ print "The date was in the past\n";
+ }
+
+You can also get differences with a subtraction, which returns a
+L<Time::Seconds> object:
- my $diff = $date1 - $date2;
- print "The difference is ", $date_diff->days, " days\n";
+ my $diff = $date1 - $date2;
+ print "The difference is ", $date_diff->days, " days\n";
-If you want to work with formatted dates, the C<Date::Manip>,
-C<Date::Calc>, or C<DateTime> modules can help you.
+If you want to work with formatted dates, the L<Date::Manip>,
+L<Date::Calc>, or L<DateTime> modules can help you.
=head2 How can I take a string and turn it into epoch seconds?
If it's a regular enough string that it always has the same format,
you can split it up and pass the parts to C<timelocal> in the standard
-C<Time::Local> module. Otherwise, you should look into the C<Date::Calc>,
-C<Date::Parse>, and C<Date::Manip> modules from CPAN.
+L<Time::Local> module. Otherwise, you should look into the L<Date::Calc>,
+L<Date::Parse>, and L<Date::Manip> modules from CPAN.
=head2 How can I find the Julian Day?
(contributed by brian d foy and Dave Cross)
-You can use the C<Time::Piece> module, part of the Standard Library,
+You can use the L<Time::Piece> module, part of the Standard Library,
which can convert a date/time to a Julian Day:
- $ perl -MTime::Piece -le 'print localtime->julian_day'
- 2455607.7959375
+ $ perl -MTime::Piece -le 'print localtime->julian_day'
+ 2455607.7959375
Or the modified Julian Day:
- $ perl -MTime::Piece -le 'print localtime->mjd'
- 55607.2961226851
+ $ perl -MTime::Piece -le 'print localtime->mjd'
+ 55607.2961226851
Or even the day of the year (which is what some people think of as a
Julian day):
- $ perl -MTime::Piece -le 'print localtime->yday'
- 45
+ $ perl -MTime::Piece -le 'print localtime->yday'
+ 45
-You can also do the same things with the C<DateTime> module:
+You can also do the same things with the L<DateTime> module:
- $ perl -MDateTime -le'print DateTime->today->jd'
- 2453401.5
- $ perl -MDateTime -le'print DateTime->today->mjd'
- 53401
- $ perl -MDateTime -le'print DateTime->today->doy'
- 31
+ $ perl -MDateTime -le'print DateTime->today->jd'
+ 2453401.5
+ $ perl -MDateTime -le'print DateTime->today->mjd'
+ 53401
+ $ perl -MDateTime -le'print DateTime->today->doy'
+ 31
-You can use the C<Time::JulianDay> module available on CPAN. Ensure
+You can use the L<Time::JulianDay> module available on CPAN. Ensure
that you really want to find a Julian day, though, as many people have
-different ideas about Julian days (see http://www.hermetic.ch/cal_stud/jdn.htm
+different ideas about Julian days (see L<http://www.hermetic.ch/cal_stud/jdn.htm>
for instance):
- $ perl -MTime::JulianDay -le 'print local_julian_day( time )'
- 55608
+ $ perl -MTime::JulianDay -le 'print local_julian_day( time )'
+ 55608
=head2 How do I find yesterday's date?
X<date> X<yesterday> X<DateTime> X<Date::Calc> X<Time::Local>
@@ -540,56 +545,56 @@ X<timelocal>
(contributed by brian d foy)
To do it correctly, you can use one of the C<Date> modules since they
-work with calendars instead of times. The C<DateTime> module makes it
+work with calendars instead of times. The L<DateTime> module makes it
simple, and give you the same time of day, only the day before,
despite daylight saving time changes:
- use DateTime;
+ use DateTime;
- my $yesterday = DateTime->now->subtract( days => 1 );
+ my $yesterday = DateTime->now->subtract( days => 1 );
- print "Yesterday was $yesterday\n";
+ print "Yesterday was $yesterday\n";
-You can also use the C<Date::Calc> module using its C<Today_and_Now>
+You can also use the L<Date::Calc> module using its C<Today_and_Now>
function.
- use Date::Calc qw( Today_and_Now Add_Delta_DHMS );
+ use Date::Calc qw( Today_and_Now Add_Delta_DHMS );
- my @date_time = Add_Delta_DHMS( Today_and_Now(), -1, 0, 0, 0 );
+ my @date_time = Add_Delta_DHMS( Today_and_Now(), -1, 0, 0, 0 );
- print "@date_time\n";
+ print "@date_time\n";
Most people try to use the time rather than the calendar to figure out
-dates, but that assumes that days are twenty-four hours each. For
+dates, but that assumes that days are twenty-four hours each. For
most people, there are two days a year when they aren't: the switch to
-and from summer time throws this off. For example, the rest of the
+and from summer time throws this off. For example, the rest of the
suggestions will be wrong sometimes:
-Starting with Perl 5.10, C<Time::Piece> and C<Time::Seconds> are part
-of the standard distribution, so you might think that you could do
+Starting with Perl 5.10, L<Time::Piece> and L<Time::Seconds> are part
+of the standard distribution, so you might think that you could do
something like this:
- use Time::Piece;
- use Time::Seconds;
-
- my $yesterday = localtime() - ONE_DAY; # WRONG
- print "Yesterday was $yesterday\n";
+ use Time::Piece;
+ use Time::Seconds;
+
+ my $yesterday = localtime() - ONE_DAY; # WRONG
+ print "Yesterday was $yesterday\n";
-The C<Time::Piece> module exports a new C<localtime> that returns an
-object, and C<Time::Seconds> exports the C<ONE_DAY> constant that is a
+The L<Time::Piece> module exports a new C<localtime> that returns an
+object, and L<Time::Seconds> exports the C<ONE_DAY> constant that is a
set number of seconds. This means that it always gives the time 24
hours ago, which is not always yesterday. This can cause problems
around the end of daylight saving time when there's one day that is 25
hours long.
-You have the same problem with C<Time::Local>, which will give the wrong
+You have the same problem with L<Time::Local>, which will give the wrong
answer for those same special cases:
- # contributed by Gunnar Hjalmarsson
- use Time::Local;
- my $today = timelocal 0, 0, 12, ( localtime )[3..5];
- my ($d, $m, $y) = ( localtime $today-86400 )[3..5]; # WRONG
- printf "Yesterday: %d-%02d-%02d\n", $y+1900, $m+1, $d;
+ # contributed by Gunnar Hjalmarsson
+ use Time::Local;
+ my $today = timelocal 0, 0, 12, ( localtime )[3..5];
+ my ($d, $m, $y) = ( localtime $today-86400 )[3..5]; # WRONG
+ printf "Yesterday: %d-%02d-%02d\n", $y+1900, $m+1, $d;
=head2 Does Perl have a Year 2000 or 2038 problem? Is Perl Y2K compliant?
@@ -603,15 +608,15 @@ Starting with Perl 5.12, C<localtime> and C<gmtime> can handle dates past
03:14:08 January 19, 2038, when a 32-bit based time would overflow. You
still might get a warning on a 32-bit C<perl>:
- % perl5.12 -E 'say scalar localtime( 0x9FFF_FFFFFFFF )'
- Integer overflow in hexadecimal number at -e line 1.
- Wed Nov 1 19:42:39 5576711
+ % perl5.12 -E 'say scalar localtime( 0x9FFF_FFFFFFFF )'
+ Integer overflow in hexadecimal number at -e line 1.
+ Wed Nov 1 19:42:39 5576711
On a 64-bit C<perl>, you can get even larger dates for those really long
running projects:
- % perl5.12 -E 'say scalar gmtime( 0x9FFF_FFFFFFFF )'
- Thu Nov 2 00:42:39 5576711
+ % perl5.12 -E 'say scalar gmtime( 0x9FFF_FFFFFFFF )'
+ Thu Nov 2 00:42:39 5576711
You're still out of luck if you need to keep track of decaying protons
though.
@@ -625,19 +630,19 @@ though.
There are many ways to ensure that values are what you expect or
want to accept. Besides the specific examples that we cover in the
perlfaq, you can also look at the modules with "Assert" and "Validate"
-in their names, along with other modules such as C<Regexp::Common>.
+in their names, along with other modules such as L<Regexp::Common>.
Some modules have validation for particular types of input, such
-as C<Business::ISBN>, C<Business::CreditCard>, C<Email::Valid>,
-and C<Data::Validate::IP>.
+as L<Business::ISBN>, L<Business::CreditCard>, L<Email::Valid>,
+and L<Data::Validate::IP>.
=head2 How do I unescape a string?
-It depends just what you mean by "escape". URL escapes are dealt
-with in L<perlfaq9>. Shell escapes with the backslash (C<\>)
+It depends just what you mean by "escape". URL escapes are dealt
+with in L<perlfaq9>. Shell escapes with the backslash (C<\>)
character are removed with
- s/\\(.)/$1/g;
+ s/\\(.)/$1/g;
This won't expand C<"\n"> or C<"\t"> or any other special escapes.
@@ -652,7 +657,7 @@ store the matched character in the back-reference C<\g1> and we use
that to require that the same thing immediately follow it. We replace
that part of the string with the character in C<$1>.
- s/(.)\g1/$1/g;
+ s/(.)\g1/$1/g;
We can also use the transliteration operator, C<tr///>. In this
example, the search list side of our C<tr///> contains nothing, but
@@ -663,8 +668,8 @@ replace the character with itself). However, the C<s> option squashes
duplicated and consecutive characters in the string so a character
does not show up next to itself
- my $str = 'Haarlem'; # in the Netherlands
- $str =~ tr///cs; # Now Harlem, like in New York
+ my $str = 'Haarlem'; # in the Netherlands
+ $str =~ tr///cs; # Now Harlem, like in New York
=head2 How do I expand function calls in a string?
@@ -676,7 +681,7 @@ function inside the braces used to dereference a reference. If we
have more than one return value, we can construct and dereference an
anonymous array. In this case, we call the function in list context.
- print "The time values are @{ [localtime] }.\n";
+ print "The time values are @{ [localtime] }.\n";
If we want to call the function in scalar context, we have to do a bit
more work. We can really have any code we like inside the braces, so
@@ -685,106 +690,84 @@ that is up to you, and you can use code inside the braces. Note that
the use of parens creates a list context, so we need C<scalar> to
force the scalar context on the function:
- print "The time is ${\(scalar localtime)}.\n"
+ print "The time is ${\(scalar localtime)}.\n"
- print "The time is ${ my $x = localtime; \$x }.\n";
+ print "The time is ${ my $x = localtime; \$x }.\n";
If your function already returns a reference, you don't need to create
the reference yourself.
- sub timestamp { my $t = localtime; \$t }
+ sub timestamp { my $t = localtime; \$t }
- print "The time is ${ timestamp() }.\n";
+ print "The time is ${ timestamp() }.\n";
The C<Interpolation> module can also do a lot of magic for you. You can
specify a variable name, in this case C<E>, to set up a tied hash that
does the interpolation for you. It has several other methods to do this
as well.
- use Interpolation E => 'eval';
- print "The time values are $E{localtime()}.\n";
+ use Interpolation E => 'eval';
+ print "The time values are $E{localtime()}.\n";
In most cases, it is probably easier to simply use string concatenation,
which also forces scalar context.
- print "The time is " . localtime() . ".\n";
+ print "The time is " . localtime() . ".\n";
=head2 How do I find matching/nesting anything?
-This isn't something that can be done in one regular expression, no
-matter how complicated. To find something between two single
+To find something between two single
characters, a pattern like C</x([^x]*)x/> will get the intervening
bits in $1. For multiple ones, then something more like
-C</alpha(.*?)omega/> would be needed. But none of these deals with
-nested patterns. For balanced expressions using C<(>, C<{>, C<[> or
-C<< < >> as delimiters, use the CPAN module Regexp::Common, or see
-L<perlre/(??{ code })>. For other cases, you'll have to write a
-parser.
-
-If you are serious about writing a parser, there are a number of
-modules or oddities that will make your life a lot easier. There are
-the CPAN modules C<Parse::RecDescent>, C<Parse::Yapp>, and
-C<Text::Balanced>; and the C<byacc> program. Starting from perl 5.8
-the C<Text::Balanced> is part of the standard distribution.
-
-One simple destructive, inside-out approach that you might try is to
-pull out the smallest nesting parts one at a time:
-
- while (s/BEGIN((?:(?!BEGIN)(?!END).)*)END//gs) {
- # do something with $1
- }
-
-A more complicated and sneaky approach is to make Perl's regular
-expression engine do it for you. This is courtesy Dean Inada, and
-rather has the nature of an Obfuscated Perl Contest entry, but it
-really does work:
-
- # $_ contains the string to parse
- # BEGIN and END are the opening and closing markers for the
- # nested text.
-
- @( = ('(','');
- @) = (')','');
- ($re=$_)=~s/((BEGIN)|(END)|.)/$)[!$3]\Q$1\E$([!$2]/gs;
- @$ = (eval{/$re/},$@!~/unmatched/i);
- print join("\n",@$[0..$#$]) if( $$[-1] );
+C</alpha(.*?)omega/> would be needed. For nested patterns
+and/or balanced expressions, see the so-called
+L<< (?PARNO)|perlre/C<(?PARNO)> C<(?-PARNO)> C<(?+PARNO)> C<(?R)> C<(?0)> >>
+construct (available since perl 5.10).
+The CPAN module L<Regexp::Common> can help to build such
+regular expressions (see in particular
+L<Regexp::Common::balanced> and L<Regexp::Common::delimited>).
+
+More complex cases will require to write a parser, probably
+using a parsing module from CPAN, like
+L<Regexp::Grammars>, L<Parse::RecDescent>, L<Parse::Yapp>,
+L<Text::Balanced>, or L<Marpa::XS>.
=head2 How do I reverse a string?
Use C<reverse()> in scalar context, as documented in
L<perlfunc/reverse>.
- $reversed = reverse $string;
+ my $reversed = reverse $string;
=head2 How do I expand tabs in a string?
You can do it yourself:
- 1 while $string =~ s/\t+/' ' x (length($&) * 8 - length($`) % 8)/e;
+ 1 while $string =~ s/\t+/' ' x (length($&) * 8 - length($`) % 8)/e;
-Or you can just use the C<Text::Tabs> module (part of the standard Perl
+Or you can just use the L<Text::Tabs> module (part of the standard Perl
distribution).
- use Text::Tabs;
- @expanded_lines = expand(@lines_with_tabs);
+ use Text::Tabs;
+ my @expanded_lines = expand(@lines_with_tabs);
=head2 How do I reformat a paragraph?
-Use C<Text::Wrap> (part of the standard Perl distribution):
+Use L<Text::Wrap> (part of the standard Perl distribution):
- use Text::Wrap;
- print wrap("\t", ' ', @paragraphs);
+ use Text::Wrap;
+ print wrap("\t", ' ', @paragraphs);
-The paragraphs you give to C<Text::Wrap> should not contain embedded
-newlines. C<Text::Wrap> doesn't justify the lines (flush-right).
+The paragraphs you give to L<Text::Wrap> should not contain embedded
+newlines. L<Text::Wrap> doesn't justify the lines (flush-right).
-Or use the CPAN module C<Text::Autoformat>. Formatting files can be
+Or use the CPAN module L<Text::Autoformat>. Formatting files can be
easily done by making a shell alias, like so:
- alias fmt="perl -i -MText::Autoformat -n0777 \
- -e 'print autoformat $_, {all=>1}' $*"
+ alias fmt="perl -i -MText::Autoformat -n0777 \
+ -e 'print autoformat $_, {all=>1}' $*"
-See the documentation for C<Text::Autoformat> to appreciate its many
+See the documentation for L<Text::Autoformat> to appreciate its many
capabilities.
=head2 How can I access or change N characters of a string?
@@ -794,73 +777,74 @@ To get the first character, for example, start at position 0
and grab the string of length 1.
- $string = "Just another Perl Hacker";
- $first_char = substr( $string, 0, 1 ); # 'J'
+ my $string = "Just another Perl Hacker";
+ my $first_char = substr( $string, 0, 1 ); # 'J'
To change part of a string, you can use the optional fourth
argument which is the replacement string.
- substr( $string, 13, 4, "Perl 5.8.0" );
+ substr( $string, 13, 4, "Perl 5.8.0" );
You can also use substr() as an lvalue.
- substr( $string, 13, 4 ) = "Perl 5.8.0";
+ substr( $string, 13, 4 ) = "Perl 5.8.0";
=head2 How do I change the Nth occurrence of something?
-You have to keep track of N yourself. For example, let's say you want
+You have to keep track of N yourself. For example, let's say you want
to change the fifth occurrence of C<"whoever"> or C<"whomever"> into
-C<"whosoever"> or C<"whomsoever">, case insensitively. These
+C<"whosoever"> or C<"whomsoever">, case insensitively. These
all assume that $_ contains the string to be altered.
- $count = 0;
- s{((whom?)ever)}{
- ++$count == 5 # is it the 5th?
- ? "${2}soever" # yes, swap
- : $1 # renege and leave it there
- }ige;
+ $count = 0;
+ s{((whom?)ever)}{
+ ++$count == 5 # is it the 5th?
+ ? "${2}soever" # yes, swap
+ : $1 # renege and leave it there
+ }ige;
In the more general case, you can use the C</g> modifier in a C<while>
loop, keeping count of matches.
- $WANT = 3;
- $count = 0;
- $_ = "One fish two fish red fish blue fish";
- while (/(\w+)\s+fish\b/gi) {
- if (++$count == $WANT) {
- print "The third fish is a $1 one.\n";
- }
- }
+ $WANT = 3;
+ $count = 0;
+ $_ = "One fish two fish red fish blue fish";
+ while (/(\w+)\s+fish\b/gi) {
+ if (++$count == $WANT) {
+ print "The third fish is a $1 one.\n";
+ }
+ }
That prints out: C<"The third fish is a red one."> You can also use a
repetition count and repeated pattern like this:
- /(?:\w+\s+fish\s+){2}(\w+)\s+fish/i;
+ /(?:\w+\s+fish\s+){2}(\w+)\s+fish/i;
=head2 How can I count the number of occurrences of a substring within a string?
-There are a number of ways, with varying efficiency. If you want a
+There are a number of ways, with varying efficiency. If you want a
count of a certain single character (X) within a string, you can use the
C<tr///> function like so:
- $string = "ThisXlineXhasXsomeXx'sXinXit";
- $count = ($string =~ tr/X//);
- print "There are $count X characters in the string";
+ my $string = "ThisXlineXhasXsomeXx'sXinXit";
+ my $count = ($string =~ tr/X//);
+ print "There are $count X characters in the string";
-This is fine if you are just looking for a single character. However,
+This is fine if you are just looking for a single character. However,
if you are trying to count multiple character substrings within a
-larger string, C<tr///> won't work. What you can do is wrap a while()
-loop around a global pattern match. For example, let's count negative
+larger string, C<tr///> won't work. What you can do is wrap a while()
+loop around a global pattern match. For example, let's count negative
integers:
- $string = "-9 55 48 -2 23 -76 4 14 -44";
- while ($string =~ /-\d+/g) { $count++ }
- print "There are $count negative numbers in the string";
+ my $string = "-9 55 48 -2 23 -76 4 14 -44";
+ my $count = 0;
+ while ($string =~ /-\d+/g) { $count++ }
+ print "There are $count negative numbers in the string";
Another version uses a global match in list context, then assigns the
result to a scalar, producing a count of the number of matches.
- $count = () = $string =~ /-\d+/g;
+ my $count = () = $string =~ /-\d+/g;
=head2 How do I capitalize all the words on one line?
X<Text::Autoformat> X<capitalize> X<case, title> X<case, sentence>
@@ -870,20 +854,20 @@ X<Text::Autoformat> X<capitalize> X<case, title> X<case, sentence>
Damian Conway's L<Text::Autoformat> handles all of the thinking
for you.
- use Text::Autoformat;
- my $x = "Dr. Strangelove or: How I Learned to Stop ".
- "Worrying and Love the Bomb";
+ use Text::Autoformat;
+ my $x = "Dr. Strangelove or: How I Learned to Stop ".
+ "Worrying and Love the Bomb";
- print $x, "\n";
- for my $style (qw( sentence title highlight )) {
- print autoformat($x, { case => $style }), "\n";
- }
+ print $x, "\n";
+ for my $style (qw( sentence title highlight )) {
+ print autoformat($x, { case => $style }), "\n";
+ }
How do you want to capitalize those words?
- FRED AND BARNEY'S LODGE # all uppercase
- Fred And Barney's Lodge # title case
- Fred and Barney's Lodge # highlight case
+ FRED AND BARNEY'S LODGE # all uppercase
+ Fred And Barney's Lodge # title case
+ Fred and Barney's Lodge # highlight case
It's not as easy a problem as it looks. How many words do you think
are in there? Wait for it... wait for it.... If you answered 5
@@ -891,52 +875,57 @@ you're right. Perl words are groups of C<\w+>, but that's not what
you want to capitalize. How is Perl supposed to know not to capitalize
that C<s> after the apostrophe? You could try a regular expression:
- $string =~ s/ (
- (^\w) #at the beginning of the line
- | # or
- (\s\w) #preceded by whitespace
- )
- /\U$1/xg;
+ $string =~ s/ (
+ (^\w) #at the beginning of the line
+ | # or
+ (\s\w) #preceded by whitespace
+ )
+ /\U$1/xg;
- $string =~ s/([\w']+)/\u\L$1/g;
+ $string =~ s/([\w']+)/\u\L$1/g;
Now, what if you don't want to capitalize that "and"? Just use
L<Text::Autoformat> and get on with the next problem. :)
=head2 How can I split a [character]-delimited string except when inside [character]?
-Several modules can handle this sort of parsing--C<Text::Balanced>,
-C<Text::CSV>, C<Text::CSV_XS>, and C<Text::ParseWords>, among others.
+Several modules can handle this sort of parsing--L<Text::Balanced>,
+L<Text::CSV>, L<Text::CSV_XS>, and L<Text::ParseWords>, among others.
Take the example case of trying to split a string that is
comma-separated into its different fields. You can't use C<split(/,/)>
-because you shouldn't split if the comma is inside quotes. For
+because you shouldn't split if the comma is inside quotes. For
example, take a data line like this:
- SAR001,"","Cimetrix, Inc","Bob Smith","CAM",N,8,1,0,7,"Error, Core Dumped"
+ SAR001,"","Cimetrix, Inc","Bob Smith","CAM",N,8,1,0,7,"Error, Core Dumped"
Due to the restriction of the quotes, this is a fairly complex
-problem. Thankfully, we have Jeffrey Friedl, author of
-I<Mastering Regular Expressions>, to handle these for us. He
+problem. Thankfully, we have Jeffrey Friedl, author of
+I<Mastering Regular Expressions>, to handle these for us. He
suggests (assuming your string is contained in C<$text>):
- @new = ();
- push(@new, $+) while $text =~ m{
- "([^\"\\]*(?:\\.[^\"\\]*)*)",? # groups the phrase inside the quotes
- | ([^,]+),?
- | ,
- }gx;
- push(@new, undef) if substr($text,-1,1) eq ',';
+ my @new = ();
+ push(@new, $+) while $text =~ m{
+ "([^\"\\]*(?:\\.[^\"\\]*)*)",? # groups the phrase inside the quotes
+ | ([^,]+),?
+ | ,
+ }gx;
+ push(@new, undef) if substr($text,-1,1) eq ',';
If you want to represent quotation marks inside a
quotation-mark-delimited field, escape them with backslashes (eg,
C<"like \"this\"">.
-Alternatively, the C<Text::ParseWords> module (part of the standard
+Alternatively, the L<Text::ParseWords> module (part of the standard
Perl distribution) lets you say:
- use Text::ParseWords;
- @new = quotewords(",", 0, $text);
+ use Text::ParseWords;
+ @new = quotewords(",", 0, $text);
+
+For parsing or generating CSV, though, using L<Text::CSV> rather than
+implementing it yourself is highly recommended; you'll save yourself odd bugs
+popping up later by just using code which has already been tried and tested in
+production for years.
=head2 How do I strip blank space from the beginning/end of a string?
@@ -946,14 +935,14 @@ A substitution can do this for you. For a single line, you want to
replace all the leading or trailing whitespace with nothing. You
can do that with a pair of substitutions:
- s/^\s+//;
- s/\s+$//;
+ s/^\s+//;
+ s/\s+$//;
You can also write that as a single substitution, although it turns
out the combined statement is slower than the separate ones. That
might not matter to you, though:
- s/^\s+|\s+$//g;
+ s/^\s+|\s+$//g;
In this regular expression, the alternation matches either at the
beginning or the end of the string since the anchors have a lower
@@ -965,10 +954,10 @@ the newline to the output, which has the added benefit of preserving
"blank" (consisting entirely of whitespace) lines which the C<^\s+>
would remove all by itself:
- while( <> ) {
- s/^\s+|\s+$//g;
- print "$_\n";
- }
+ while( <> ) {
+ s/^\s+|\s+$//g;
+ print "$_\n";
+ }
For a multi-line string, you can apply the regular expression to each
logical line in the string by adding the C</m> flag (for
@@ -976,7 +965,7 @@ logical line in the string by adding the C</m> flag (for
embedded newline, so it doesn't remove it. This pattern still removes
the newline at the end of the string:
- $string =~ s/^\s+|\s+$//gm;
+ $string =~ s/^\s+|\s+$//gm;
Remember that lines consisting entirely of whitespace will disappear,
since the first part of the alternation can match the entire string
@@ -984,7 +973,7 @@ and replace it with nothing. If you need to keep embedded blank lines,
you have to do a little more work. Instead of matching any whitespace
(since that includes a newline), just match the other whitespace:
- $string =~ s/^[\t\f ]+|[\t\f ]+$//mg;
+ $string =~ s/^[\t\f ]+|[\t\f ]+$//mg;
=head2 How do I pad a string with blanks or pad a number with zeroes?
@@ -1001,35 +990,35 @@ truncate the result. The C<pack> function can only pad strings on the
right with blanks and it will truncate the result to a maximum length of
C<$pad_len>.
- # Left padding a string with blanks (no truncation):
- $padded = sprintf("%${pad_len}s", $text);
- $padded = sprintf("%*s", $pad_len, $text); # same thing
+ # Left padding a string with blanks (no truncation):
+ my $padded = sprintf("%${pad_len}s", $text);
+ my $padded = sprintf("%*s", $pad_len, $text); # same thing
- # Right padding a string with blanks (no truncation):
- $padded = sprintf("%-${pad_len}s", $text);
- $padded = sprintf("%-*s", $pad_len, $text); # same thing
+ # Right padding a string with blanks (no truncation):
+ my $padded = sprintf("%-${pad_len}s", $text);
+ my $padded = sprintf("%-*s", $pad_len, $text); # same thing
- # Left padding a number with 0 (no truncation):
- $padded = sprintf("%0${pad_len}d", $num);
- $padded = sprintf("%0*d", $pad_len, $num); # same thing
+ # Left padding a number with 0 (no truncation):
+ my $padded = sprintf("%0${pad_len}d", $num);
+ my $padded = sprintf("%0*d", $pad_len, $num); # same thing
- # Right padding a string with blanks using pack (will truncate):
- $padded = pack("A$pad_len",$text);
+ # Right padding a string with blanks using pack (will truncate):
+ my $padded = pack("A$pad_len",$text);
If you need to pad with a character other than blank or zero you can use
-one of the following methods. They all generate a pad string with the
+one of the following methods. They all generate a pad string with the
C<x> operator and combine that with C<$text>. These methods do
not truncate C<$text>.
Left and right padding with any character, creating a new string:
- $padded = $pad_char x ( $pad_len - length( $text ) ) . $text;
- $padded = $text . $pad_char x ( $pad_len - length( $text ) );
+ my $padded = $pad_char x ( $pad_len - length( $text ) ) . $text;
+ my $padded = $text . $pad_char x ( $pad_len - length( $text ) );
Left and right padding with any character, modifying C<$text> directly:
- substr( $text, 0, 0 ) = $pad_char x ( $pad_len - length( $text ) );
- $text .= $pad_char x ( $pad_len - length( $text ) );
+ substr( $text, 0, 0 ) = $pad_char x ( $pad_len - length( $text ) );
+ $text .= $pad_char x ( $pad_len - length( $text ) );
=head2 How do I extract selected columns from a string?
@@ -1038,31 +1027,31 @@ Left and right padding with any character, modifying C<$text> directly:
If you know the columns that contain the data, you can
use C<substr> to extract a single column.
- my $column = substr( $line, $start_column, $length );
+ my $column = substr( $line, $start_column, $length );
You can use C<split> if the columns are separated by whitespace or
some other delimiter, as long as whitespace or the delimiter cannot
appear as part of the data.
- my $line = ' fred barney betty ';
- my @columns = split /\s+/, $line;
- # ( '', 'fred', 'barney', 'betty' );
+ my $line = ' fred barney betty ';
+ my @columns = split /\s+/, $line;
+ # ( '', 'fred', 'barney', 'betty' );
- my $line = 'fred||barney||betty';
- my @columns = split /\|/, $line;
- # ( 'fred', '', 'barney', '', 'betty' );
+ my $line = 'fred||barney||betty';
+ my @columns = split /\|/, $line;
+ # ( 'fred', '', 'barney', '', 'betty' );
If you want to work with comma-separated values, don't do this since
that format is a bit more complicated. Use one of the modules that
-handle that format, such as C<Text::CSV>, C<Text::CSV_XS>, or
-C<Text::CSV_PP>.
+handle that format, such as L<Text::CSV>, L<Text::CSV_XS>, or
+L<Text::CSV_PP>.
If you want to break apart an entire line of fixed columns, you can use
C<unpack> with the A (ASCII) format. By using a number after the format
specifier, you can denote the column width. See the C<pack> and C<unpack>
entries in L<perlfunc> for more details.
- my @fields = unpack( $line, "A8 A8 A8 A16 A4" );
+ my @fields = unpack( $line, "A8 A8 A8 A16 A4" );
Note that spaces in the format argument to C<unpack> do not denote literal
spaces. If you have space separated data, you may want C<split> instead.
@@ -1071,36 +1060,36 @@ spaces. If you have space separated data, you may want C<split> instead.
(contributed by brian d foy)
-You can use the Text::Soundex module. If you want to do fuzzy or close
-matching, you might also try the C<String::Approx>, and
-C<Text::Metaphone>, and C<Text::DoubleMetaphone> modules.
+You can use the C<Text::Soundex> module. If you want to do fuzzy or close
+matching, you might also try the L<String::Approx>, and
+L<Text::Metaphone>, and L<Text::DoubleMetaphone> modules.
=head2 How can I expand variables in text strings?
(contributed by brian d foy)
If you can avoid it, don't, or if you can use a templating system,
-such as C<Text::Template> or C<Template> Toolkit, do that instead. You
+such as L<Text::Template> or L<Template> Toolkit, do that instead. You
might even be able to get the job done with C<sprintf> or C<printf>:
- my $string = sprintf 'Say hello to %s and %s', $foo, $bar;
+ my $string = sprintf 'Say hello to %s and %s', $foo, $bar;
However, for the one-off simple case where I don't want to pull out a
full templating system, I'll use a string that has two Perl scalar
variables in it. In this example, I want to expand C<$foo> and C<$bar>
to their variable's values:
- my $foo = 'Fred';
- my $bar = 'Barney';
- $string = 'Say hello to $foo and $bar';
+ my $foo = 'Fred';
+ my $bar = 'Barney';
+ $string = 'Say hello to $foo and $bar';
One way I can do this involves the substitution operator and a double
-C</e> flag. The first C</e> evaluates C<$1> on the replacement side and
+C</e> flag. The first C</e> evaluates C<$1> on the replacement side and
turns it into C<$foo>. The second /e starts with C<$foo> and replaces
it with its value. C<$foo>, then, turns into 'Fred', and that's finally
what's left in the string:
- $string =~ s/(\$\w+)/$1/eeg; # 'Say hello to Fred and Barney'
+ $string =~ s/(\$\w+)/$1/eeg; # 'Say hello to Fred and Barney'
The C</e> will also silently ignore violations of strict, replacing
undefined variable names with the empty string. Since I'm using the
@@ -1115,49 +1104,49 @@ can check the hash to ensure the value exists, and if it doesn't, I
can replace the missing value with a marker, in this case C<???> to
signal that I missed something:
- my $string = 'This has $foo and $bar';
+ my $string = 'This has $foo and $bar';
- my %Replacements = (
- foo => 'Fred',
- );
+ my %Replacements = (
+ foo => 'Fred',
+ );
- # $string =~ s/\$(\w+)/$Replacements{$1}/g;
- $string =~ s/\$(\w+)/
- exists $Replacements{$1} ? $Replacements{$1} : '???'
- /eg;
+ # $string =~ s/\$(\w+)/$Replacements{$1}/g;
+ $string =~ s/\$(\w+)/
+ exists $Replacements{$1} ? $Replacements{$1} : '???'
+ /eg;
- print $string;
+ print $string;
=head2 What's wrong with always quoting "$vars"?
The problem is that those double-quotes force
stringification--coercing numbers and references into strings--even
-when you don't want them to be strings. Think of it this way:
-double-quote expansion is used to produce new strings. If you already
+when you don't want them to be strings. Think of it this way:
+double-quote expansion is used to produce new strings. If you already
have a string, why do you need more?
If you get used to writing odd things like these:
- print "$var"; # BAD
- $new = "$old"; # BAD
- somefunc("$var"); # BAD
+ print "$var"; # BAD
+ my $new = "$old"; # BAD
+ somefunc("$var"); # BAD
-You'll be in trouble. Those should (in 99.8% of the cases) be
+You'll be in trouble. Those should (in 99.8% of the cases) be
the simpler and more direct:
- print $var;
- $new = $old;
- somefunc($var);
+ print $var;
+ my $new = $old;
+ somefunc($var);
Otherwise, besides slowing you down, you're going to break code when
the thing in the scalar is actually neither a string nor a number, but
a reference:
- func(\@array);
- sub func {
- my $aref = shift;
- my $oref = "$aref"; # WRONG
- }
+ func(\@array);
+ sub func {
+ my $aref = shift;
+ my $oref = "$aref"; # WRONG
+ }
You can also get into subtle problems on those few operations in Perl
that actually do care about the difference between a string and a
@@ -1166,9 +1155,9 @@ syscall() function.
Stringification also destroys arrays.
- @lines = `command`;
- print "@lines"; # WRONG - extra blanks
- print @lines; # right
+ my @lines = `command`;
+ print "@lines"; # WRONG - extra blanks
+ print @lines; # right
=head2 Why don't my E<lt>E<lt>HERE documents work?
@@ -1190,7 +1179,7 @@ If you want to indent the text in the here document, you
can do this:
# all in one
- ($VAR = <<HERE_TARGET) =~ s/^\s+//gm;
+ (my $VAR = <<HERE_TARGET) =~ s/^\s+//gm;
your text
goes here
HERE_TARGET
@@ -1199,18 +1188,18 @@ But the HERE_TARGET must still be flush against the margin.
If you want that indented also, you'll have to quote
in the indentation.
- ($quote = <<' FINIS') =~ s/^\s+//gm;
+ (my $quote = <<' FINIS') =~ s/^\s+//gm;
...we will have peace, when you and all your works have
perished--and the works of your dark master to whom you
would deliver us. You are a liar, Saruman, and a corrupter
- of men's hearts. --Theoden in /usr/src/perl/taint.c
+ of men's hearts. --Theoden in /usr/src/perl/taint.c
FINIS
$quote =~ s/\s+--/\n--/;
A nice general-purpose fixer-upper function for indented here documents
-follows. It expects to be called with a here document as its argument.
+follows. It expects to be called with a here document as its argument.
It looks to see whether each line begins with a common substring, and
-if so, strips that substring off. Otherwise, it takes the amount of leading
+if so, strips that substring off. Otherwise, it takes the amount of leading
whitespace found on the first line and removes that much off each
subsequent line.
@@ -1228,29 +1217,29 @@ subsequent line.
This works with leading special strings, dynamically determined:
- $remember_the_main = fix<<' MAIN_INTERPRETER_LOOP';
- @@@ int
- @@@ runops() {
- @@@ SAVEI32(runlevel);
- @@@ runlevel++;
- @@@ while ( op = (*op->op_ppaddr)() );
- @@@ TAINT_NOT;
- @@@ return 0;
- @@@ }
- MAIN_INTERPRETER_LOOP
+ my $remember_the_main = fix<<' MAIN_INTERPRETER_LOOP';
+ @@@ int
+ @@@ runops() {
+ @@@ SAVEI32(runlevel);
+ @@@ runlevel++;
+ @@@ while ( op = (*op->op_ppaddr)() );
+ @@@ TAINT_NOT;
+ @@@ return 0;
+ @@@ }
+ MAIN_INTERPRETER_LOOP
Or with a fixed amount of leading whitespace, with remaining
indentation correctly preserved:
- $poem = fix<<EVER_ON_AND_ON;
+ my $poem = fix<<EVER_ON_AND_ON;
Now far ahead the Road has gone,
- And I must follow, if I can,
+ And I must follow, if I can,
Pursuing it with eager feet,
- Until it joins some larger way
+ Until it joins some larger way
Where many paths and errands meet.
- And whither then? I cannot say.
- --Bilbo in /usr/src/perl/pp_ctl.c
- EVER_ON_AND_ON
+ And whither then? I cannot say.
+ --Bilbo in /usr/src/perl/pp_ctl.c
+ EVER_ON_AND_ON
=head1 Data: Arrays
@@ -1262,20 +1251,20 @@ A list is a fixed collection of scalars. An array is a variable that
holds a variable collection of scalars. An array can supply its collection
for list operations, so list operations also work on arrays:
- # slices
- ( 'dog', 'cat', 'bird' )[2,3];
- @animals[2,3];
+ # slices
+ ( 'dog', 'cat', 'bird' )[2,3];
+ @animals[2,3];
- # iteration
- foreach ( qw( dog cat bird ) ) { ... }
- foreach ( @animals ) { ... }
+ # iteration
+ foreach ( qw( dog cat bird ) ) { ... }
+ foreach ( @animals ) { ... }
- my @three = grep { length == 3 } qw( dog cat bird );
- my @three = grep { length == 3 } @animals;
+ my @three = grep { length == 3 } qw( dog cat bird );
+ my @three = grep { length == 3 } @animals;
- # supply an argument list
- wash_animals( qw( dog cat bird ) );
- wash_animals( @animals );
+ # supply an argument list
+ wash_animals( qw( dog cat bird ) );
+ wash_animals( @animals );
Array operations, which change the scalars, rearranges them, or adds
or subtracts some scalars, only work on arrays. These can't work on a
@@ -1284,21 +1273,21 @@ C<push>, C<pop>, and C<splice>.
An array can also change its length:
- $#animals = 1; # truncate to two elements
- $#animals = 10000; # pre-extend to 10,001 elements
+ $#animals = 1; # truncate to two elements
+ $#animals = 10000; # pre-extend to 10,001 elements
You can change an array element, but you can't change a list element:
- $animals[0] = 'Rottweiler';
- qw( dog cat bird )[0] = 'Rottweiler'; # syntax error!
+ $animals[0] = 'Rottweiler';
+ qw( dog cat bird )[0] = 'Rottweiler'; # syntax error!
- foreach ( @animals ) {
- s/^d/fr/; # works fine
- }
+ foreach ( @animals ) {
+ s/^d/fr/; # works fine
+ }
- foreach ( qw( dog cat bird ) ) {
- s/^d/fr/; # Error! Modification of read only value!
- }
+ foreach ( qw( dog cat bird ) ) {
+ s/^d/fr/; # Error! Modification of read only value!
+ }
However, if the list element is itself a variable, it appears that you
can change a list element. However, the list element is the variable, not
@@ -1310,14 +1299,14 @@ You also have to be careful about context. You can assign an array to
a scalar to get the number of elements in the array. This only works
for arrays, though:
- my $count = @animals; # only works with arrays
+ my $count = @animals; # only works with arrays
If you try to do the same thing with what you think is a list, you
get a quite different result. Although it looks like you have a list
on the righthand side, Perl actually sees a bunch of scalars separated
by a comma:
- my $scalar = ( 'dog', 'cat', 'bird' ); # $scalar gets bird
+ my $scalar = ( 'dog', 'cat', 'bird' ); # $scalar gets bird
Since you're assigning to a scalar, the righthand side is in scalar
context. The comma operator (yes, it's an operator!) in scalar
@@ -1327,7 +1316,7 @@ that list-lookalike assigns to C<$scalar> it's rightmost value. Many
people mess this up because they choose a list-lookalike whose
last element is also the count they expect:
- my $scalar = ( 1, 2, 3 ); # $scalar gets 3, accidentally
+ my $scalar = ( 1, 2, 3 ); # $scalar gets 3, accidentally
=head2 What is the difference between $array[1] and @array[1]?
@@ -1355,13 +1344,13 @@ context to the righthand side. This can lead to unexpected results.
For instance, if you want to read a single line from a filehandle,
assigning to a scalar value is fine:
- $array[1] = <STDIN>;
+ $array[1] = <STDIN>;
However, in list context, the line input operator returns all of the
lines as a list. The first line goes into C<@array[1]> and the rest
of the lines mysteriously disappear:
- @array[1] = <STDIN>; # most likely not what you want
+ @array[1] = <STDIN>; # most likely not what you want
Either the C<use warnings> pragma or the B<-w> flag will warn you when
you use an array slice with a single index.
@@ -1378,21 +1367,21 @@ create the hash then extract the keys. It's not important how you
create that hash: just that you use C<keys> to get the unique
elements.
- my %hash = map { $_, 1 } @array;
- # or a hash slice: @hash{ @array } = ();
- # or a foreach: $hash{$_} = 1 foreach ( @array );
+ my %hash = map { $_, 1 } @array;
+ # or a hash slice: @hash{ @array } = ();
+ # or a foreach: $hash{$_} = 1 foreach ( @array );
- my @unique = keys %hash;
+ my @unique = keys %hash;
If you want to use a module, try the C<uniq> function from
-C<List::MoreUtils>. In list context it returns the unique elements,
+L<List::MoreUtils>. In list context it returns the unique elements,
preserving their order in the list. In scalar context, it returns the
number of unique elements.
- use List::MoreUtils qw(uniq);
+ use List::MoreUtils qw(uniq);
- my @unique = uniq( 1, 2, 3, 4, 4, 5, 6, 5, 7 ); # 1,2,3,4,5,6,7
- my $unique = uniq( 1, 2, 3, 4, 4, 5, 6, 5, 7 ); # 7
+ my @unique = uniq( 1, 2, 3, 4, 4, 5, 6, 5, 7 ); # 1,2,3,4,5,6,7
+ my $unique = uniq( 1, 2, 3, 4, 4, 5, 6, 5, 7 ); # 7
You can also go through each element and skip the ones you've seen
before. Use a hash to keep track. The first time the loop sees an
@@ -1404,216 +1393,217 @@ the hash I<and> the value for that key is true (since it's not 0 or
C<undef>), so the next skips that iteration and the loop goes to the
next element.
- my @unique = ();
- my %seen = ();
+ my @unique = ();
+ my %seen = ();
- foreach my $elem ( @array )
- {
- next if $seen{ $elem }++;
- push @unique, $elem;
- }
+ foreach my $elem ( @array ) {
+ next if $seen{ $elem }++;
+ push @unique, $elem;
+ }
You can write this more briefly using a grep, which does the
same thing.
- my %seen = ();
- my @unique = grep { ! $seen{ $_ }++ } @array;
+ my %seen = ();
+ my @unique = grep { ! $seen{ $_ }++ } @array;
=head2 How can I tell whether a certain element is contained in a list or array?
(portions of this answer contributed by Anno Siegel and brian d foy)
Hearing the word "in" is an I<in>dication that you probably should have
-used a hash, not a list or array, to store your data. Hashes are
-designed to answer this question quickly and efficiently. Arrays aren't.
+used a hash, not a list or array, to store your data. Hashes are
+designed to answer this question quickly and efficiently. Arrays aren't.
-That being said, there are several ways to approach this. In Perl 5.10
+That being said, there are several ways to approach this. In Perl 5.10
and later, you can use the smart match operator to check that an item is
contained in an array or a hash:
- use 5.010;
+ use 5.010;
- if( $item ~~ @array )
- {
- say "The array contains $item"
- }
+ if( $item ~~ @array ) {
+ say "The array contains $item"
+ }
- if( $item ~~ %hash )
- {
- say "The hash contains $item"
- }
+ if( $item ~~ %hash ) {
+ say "The hash contains $item"
+ }
With earlier versions of Perl, you have to do a bit more work. If you
are going to make this query many times over arbitrary string values,
the fastest way is probably to invert the original array and maintain a
hash whose keys are the first array's values:
- @blues = qw/azure cerulean teal turquoise lapis-lazuli/;
- %is_blue = ();
- for (@blues) { $is_blue{$_} = 1 }
+ my @blues = qw/azure cerulean teal turquoise lapis-lazuli/;
+ my %is_blue = ();
+ for (@blues) { $is_blue{$_} = 1 }
-Now you can check whether C<$is_blue{$some_color}>. It might have
+Now you can check whether C<$is_blue{$some_color}>. It might have
been a good idea to keep the blues all in a hash in the first place.
If the values are all small integers, you could use a simple indexed
-array. This kind of an array will take up less space:
+array. This kind of an array will take up less space:
- @primes = (2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31);
- @is_tiny_prime = ();
- for (@primes) { $is_tiny_prime[$_] = 1 }
- # or simply @istiny_prime[@primes] = (1) x @primes;
+ my @primes = (2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31);
+ my @is_tiny_prime = ();
+ for (@primes) { $is_tiny_prime[$_] = 1 }
+ # or simply @istiny_prime[@primes] = (1) x @primes;
Now you check whether $is_tiny_prime[$some_number].
If the values in question are integers instead of strings, you can save
quite a lot of space by using bit strings instead:
- @articles = ( 1..10, 150..2000, 2017 );
- undef $read;
- for (@articles) { vec($read,$_,1) = 1 }
+ my @articles = ( 1..10, 150..2000, 2017 );
+ undef $read;
+ for (@articles) { vec($read,$_,1) = 1 }
Now check whether C<vec($read,$n,1)> is true for some C<$n>.
These methods guarantee fast individual tests but require a re-organization
-of the original list or array. They only pay off if you have to test
+of the original list or array. They only pay off if you have to test
multiple values against the same array.
-If you are testing only once, the standard module C<List::Util> exports
-the function C<first> for this purpose. It works by stopping once it
+If you are testing only once, the standard module L<List::Util> exports
+the function C<first> for this purpose. It works by stopping once it
finds the element. It's written in C for speed, and its Perl equivalent
looks like this subroutine:
- sub first (&@) {
- my $code = shift;
- foreach (@_) {
- return $_ if &{$code}();
- }
- undef;
- }
+ sub first (&@) {
+ my $code = shift;
+ foreach (@_) {
+ return $_ if &{$code}();
+ }
+ undef;
+ }
If speed is of little concern, the common idiom uses grep in scalar context
(which returns the number of items that passed its condition) to traverse the
entire list. This does have the benefit of telling you how many matches it
found, though.
- my $is_there = grep $_ eq $whatever, @array;
+ my $is_there = grep $_ eq $whatever, @array;
If you want to actually extract the matching elements, simply use grep in
list context.
- my @matches = grep $_ eq $whatever, @array;
+ my @matches = grep $_ eq $whatever, @array;
-=head2 How do I compute the difference of two arrays? How do I compute the intersection of two arrays?
+=head2 How do I compute the difference of two arrays? How do I compute the intersection of two arrays?
-Use a hash. Here's code to do both and more. It assumes that each
+Use a hash. Here's code to do both and more. It assumes that each
element is unique in a given array:
- @union = @intersection = @difference = ();
- %count = ();
- foreach $element (@array1, @array2) { $count{$element}++ }
- foreach $element (keys %count) {
- push @union, $element;
- push @{ $count{$element} > 1 ? \@intersection : \@difference }, $element;
- }
+ my (@union, @intersection, @difference);
+ my %count = ();
+ foreach my $element (@array1, @array2) { $count{$element}++ }
+ foreach my $element (keys %count) {
+ push @union, $element;
+ push @{ $count{$element} > 1 ? \@intersection : \@difference }, $element;
+ }
Note that this is the I<symmetric difference>, that is, all elements
-in either A or in B but not in both. Think of it as an xor operation.
+in either A or in B but not in both. Think of it as an xor operation.
=head2 How do I test whether two arrays or hashes are equal?
With Perl 5.10 and later, the smart match operator can give you the answer
with the least amount of work:
- use 5.010;
+ use 5.010;
- if( @array1 ~~ @array2 )
- {
- say "The arrays are the same";
- }
+ if( @array1 ~~ @array2 ) {
+ say "The arrays are the same";
+ }
- if( %hash1 ~~ %hash2 ) # doesn't check values!
- {
- say "The hash keys are the same";
- }
+ if( %hash1 ~~ %hash2 ) # doesn't check values! {
+ say "The hash keys are the same";
+ }
-The following code works for single-level arrays. It uses a
+The following code works for single-level arrays. It uses a
stringwise comparison, and does not distinguish defined versus
-undefined empty strings. Modify if you have other needs.
+undefined empty strings. Modify if you have other needs.
- $are_equal = compare_arrays(\@frogs, \@toads);
+ $are_equal = compare_arrays(\@frogs, \@toads);
- sub compare_arrays {
- my ($first, $second) = @_;
- no warnings; # silence spurious -w undef complaints
- return 0 unless @$first == @$second;
- for (my $i = 0; $i < @$first; $i++) {
- return 0 if $first->[$i] ne $second->[$i];
- }
- return 1;
- }
+ sub compare_arrays {
+ my ($first, $second) = @_;
+ no warnings; # silence spurious -w undef complaints
+ return 0 unless @$first == @$second;
+ for (my $i = 0; $i < @$first; $i++) {
+ return 0 if $first->[$i] ne $second->[$i];
+ }
+ return 1;
+ }
For multilevel structures, you may wish to use an approach more
-like this one. It uses the CPAN module C<FreezeThaw>:
+like this one. It uses the CPAN module L<FreezeThaw>:
- use FreezeThaw qw(cmpStr);
- @a = @b = ( "this", "that", [ "more", "stuff" ] );
+ use FreezeThaw qw(cmpStr);
+ my @a = my @b = ( "this", "that", [ "more", "stuff" ] );
- printf "a and b contain %s arrays\n",
- cmpStr(\@a, \@b) == 0
- ? "the same"
- : "different";
+ printf "a and b contain %s arrays\n",
+ cmpStr(\@a, \@b) == 0
+ ? "the same"
+ : "different";
-This approach also works for comparing hashes. Here we'll demonstrate
+This approach also works for comparing hashes. Here we'll demonstrate
two different answers:
- use FreezeThaw qw(cmpStr cmpStrHard);
+ use FreezeThaw qw(cmpStr cmpStrHard);
- %a = %b = ( "this" => "that", "extra" => [ "more", "stuff" ] );
- $a{EXTRA} = \%b;
- $b{EXTRA} = \%a;
+ my %a = my %b = ( "this" => "that", "extra" => [ "more", "stuff" ] );
+ $a{EXTRA} = \%b;
+ $b{EXTRA} = \%a;
- printf "a and b contain %s hashes\n",
- cmpStr(\%a, \%b) == 0 ? "the same" : "different";
+ printf "a and b contain %s hashes\n",
+ cmpStr(\%a, \%b) == 0 ? "the same" : "different";
- printf "a and b contain %s hashes\n",
- cmpStrHard(\%a, \%b) == 0 ? "the same" : "different";
+ printf "a and b contain %s hashes\n",
+ cmpStrHard(\%a, \%b) == 0 ? "the same" : "different";
The first reports that both those the hashes contain the same data,
-while the second reports that they do not. Which you prefer is left as
+while the second reports that they do not. Which you prefer is left as
an exercise to the reader.
=head2 How do I find the first array element for which a condition is true?
To find the first array element which satisfies a condition, you can
-use the C<first()> function in the C<List::Util> module, which comes
+use the C<first()> function in the L<List::Util> module, which comes
with Perl 5.8. This example finds the first element that contains
"Perl".
- use List::Util qw(first);
+ use List::Util qw(first);
- my $element = first { /Perl/ } @array;
+ my $element = first { /Perl/ } @array;
+
+If you cannot use L<List::Util>, you can make your own loop to do the
+same thing. Once you find the element, you stop the loop with last.
+
+ my $found;
+ foreach ( @array ) {
+ if( /Perl/ ) { $found = $_; last }
+ }
-If you cannot use C<List::Util>, you can make your own loop to do the
-same thing. Once you find the element, you stop the loop with last.
+If you want the array index, use the C<firstidx()> function from
+C<List::MoreUtils>:
- my $found;
- foreach ( @array ) {
- if( /Perl/ ) { $found = $_; last }
- }
+ use List::MoreUtils qw(firstidx);
+ my $index = firstidx { /Perl/ } @array;
-If you want the array index, you can iterate through the indices
-and check the array element at each index until you find one
-that satisfies the condition.
+Or write it yourself, iterating through the indices
+and checking the array element at each index until you find one
+that satisfies the condition:
- my( $found, $index ) = ( undef, -1 );
- for( $i = 0; $i < @array; $i++ ) {
- if( $array[$i] =~ /Perl/ ) {
- $found = $array[$i];
- $index = $i;
- last;
- }
- }
+ my( $found, $index ) = ( undef, -1 );
+ for( $i = 0; $i < @array; $i++ ) {
+ if( $array[$i] =~ /Perl/ ) {
+ $found = $array[$i];
+ $index = $i;
+ last;
+ }
+ }
=head2 How do I handle linked lists?
@@ -1632,8 +1622,8 @@ reallocate less memory, or quickly insert elements in the middle of
the chain.
Steve Lembark goes through the details in his YAPC::NA 2009 talk "Perly
-Linked Lists" ( http://www.slideshare.net/lembark/perly-linked-lists ),
-although you can just use his C<LinkedList::Single> module.
+Linked Lists" ( L<http://www.slideshare.net/lembark/perly-linked-lists> ),
+although you can just use his L<LinkedList::Single> module.
=head2 How do I handle circular lists?
X<circular> X<array> X<Tie::Cycle> X<Array::Iterator::Circular>
@@ -1644,65 +1634,65 @@ X<cycle> X<modulus>
If you want to cycle through an array endlessly, you can increment the
index modulo the number of elements in the array:
- my @array = qw( a b c );
- my $i = 0;
+ my @array = qw( a b c );
+ my $i = 0;
- while( 1 ) {
- print $array[ $i++ % @array ], "\n";
- last if $i > 20;
- }
+ while( 1 ) {
+ print $array[ $i++ % @array ], "\n";
+ last if $i > 20;
+ }
-You can also use C<Tie::Cycle> to use a scalar that always has the
+You can also use L<Tie::Cycle> to use a scalar that always has the
next element of the circular array:
- use Tie::Cycle;
+ use Tie::Cycle;
- tie my $cycle, 'Tie::Cycle', [ qw( FFFFFF 000000 FFFF00 ) ];
+ tie my $cycle, 'Tie::Cycle', [ qw( FFFFFF 000000 FFFF00 ) ];
- print $cycle; # FFFFFF
- print $cycle; # 000000
- print $cycle; # FFFF00
+ print $cycle; # FFFFFF
+ print $cycle; # 000000
+ print $cycle; # FFFF00
-The C<Array::Iterator::Circular> creates an iterator object for
+The L<Array::Iterator::Circular> creates an iterator object for
circular arrays:
- use Array::Iterator::Circular;
+ use Array::Iterator::Circular;
- my $color_iterator = Array::Iterator::Circular->new(
- qw(red green blue orange)
- );
+ my $color_iterator = Array::Iterator::Circular->new(
+ qw(red green blue orange)
+ );
- foreach ( 1 .. 20 ) {
- print $color_iterator->next, "\n";
- }
+ foreach ( 1 .. 20 ) {
+ print $color_iterator->next, "\n";
+ }
=head2 How do I shuffle an array randomly?
If you either have Perl 5.8.0 or later installed, or if you have
Scalar-List-Utils 1.03 or later installed, you can say:
- use List::Util 'shuffle';
+ use List::Util 'shuffle';
- @shuffled = shuffle(@list);
+ @shuffled = shuffle(@list);
If not, you can use a Fisher-Yates shuffle.
- sub fisher_yates_shuffle {
- my $deck = shift; # $deck is a reference to an array
- return unless @$deck; # must not be empty!
+ sub fisher_yates_shuffle {
+ my $deck = shift; # $deck is a reference to an array
+ return unless @$deck; # must not be empty!
- my $i = @$deck;
- while (--$i) {
- my $j = int rand ($i+1);
- @$deck[$i,$j] = @$deck[$j,$i];
- }
- }
+ my $i = @$deck;
+ while (--$i) {
+ my $j = int rand ($i+1);
+ @$deck[$i,$j] = @$deck[$j,$i];
+ }
+ }
- # shuffle my mpeg collection
- #
- my @mpeg = <audio/*/*.mp3>;
- fisher_yates_shuffle( \@mpeg ); # randomize @mpeg in place
- print @mpeg;
+ # shuffle my mpeg collection
+ #
+ my @mpeg = <audio/*/*.mp3>;
+ fisher_yates_shuffle( \@mpeg ); # randomize @mpeg in place
+ print @mpeg;
Note that the above implementation shuffles an array in place,
unlike the C<List::Util::shuffle()> which takes a list and returns
@@ -1711,12 +1701,12 @@ a new shuffled list.
You've probably seen shuffling algorithms that work using splice,
randomly picking another element to swap the current element with
- srand;
- @new = ();
- @old = 1 .. 10; # just a demo
- while (@old) {
- push(@new, splice(@old, rand @old, 1));
- }
+ srand;
+ @new = ();
+ @old = 1 .. 10; # just a demo
+ while (@old) {
+ push(@new, splice(@old, rand @old, 1));
+ }
This is bad because splice is already O(N), and since you do it N
times, you just invented a quadratic algorithm; that is, O(N**2).
@@ -1727,31 +1717,32 @@ won't notice this until you have rather largish arrays.
Use C<for>/C<foreach>:
- for (@lines) {
- s/foo/bar/; # change that word
- tr/XZ/ZX/; # swap those letters
- }
+ for (@lines) {
+ s/foo/bar/; # change that word
+ tr/XZ/ZX/; # swap those letters
+ }
Here's another; let's compute spherical volumes:
- for (@volumes = @radii) { # @volumes has changed parts
- $_ **= 3;
- $_ *= (4/3) * 3.14159; # this will be constant folded
- }
+ my @volumes = @radii;
+ for (@volumes) { # @volumes has changed parts
+ $_ **= 3;
+ $_ *= (4/3) * 3.14159; # this will be constant folded
+ }
which can also be done with C<map()> which is made to transform
one list into another:
- @volumes = map {$_ ** 3 * (4/3) * 3.14159} @radii;
+ my @volumes = map {$_ ** 3 * (4/3) * 3.14159} @radii;
If you want to do the same thing to modify the values of the
-hash, you can use the C<values> function. As of Perl 5.6
+hash, you can use the C<values> function. As of Perl 5.6
the values are not copied, so if you modify $orbit (in this
case), you modify the value.
- for $orbit ( values %orbits ) {
- ($orbit **= 3) *= (4/3) * 3.14159;
- }
+ for my $orbit ( values %orbits ) {
+ ($orbit **= 3) *= (4/3) * 3.14159;
+ }
Prior to perl 5.6 C<values> returned copies of the values,
so older perl code often contains constructions such as
@@ -1762,64 +1753,64 @@ the hash is to be modified.
Use the C<rand()> function (see L<perlfunc/rand>):
- $index = rand @array;
- $element = $array[$index];
+ my $index = rand @array;
+ my $element = $array[$index];
Or, simply:
- my $element = $array[ rand @array ];
+ my $element = $array[ rand @array ];
=head2 How do I permute N elements of a list?
X<List::Permutor> X<permute> X<Algorithm::Loops> X<Knuth>
X<The Art of Computer Programming> X<Fischer-Krause>
-Use the C<List::Permutor> module on CPAN. If the list is actually an
-array, try the C<Algorithm::Permute> module (also on CPAN). It's
+Use the L<List::Permutor> module on CPAN. If the list is actually an
+array, try the L<Algorithm::Permute> module (also on CPAN). It's
written in XS code and is very efficient:
- use Algorithm::Permute;
+ use Algorithm::Permute;
- my @array = 'a'..'d';
- my $p_iterator = Algorithm::Permute->new ( \@array );
+ my @array = 'a'..'d';
+ my $p_iterator = Algorithm::Permute->new ( \@array );
- while (my @perm = $p_iterator->next) {
- print "next permutation: (@perm)\n";
- }
+ while (my @perm = $p_iterator->next) {
+ print "next permutation: (@perm)\n";
+ }
For even faster execution, you could do:
- use Algorithm::Permute;
+ use Algorithm::Permute;
- my @array = 'a'..'d';
+ my @array = 'a'..'d';
- Algorithm::Permute::permute {
- print "next permutation: (@array)\n";
- } @array;
+ Algorithm::Permute::permute {
+ print "next permutation: (@array)\n";
+ } @array;
Here's a little program that generates all permutations of all the
words on each line of input. The algorithm embodied in the
C<permute()> function is discussed in Volume 4 (still unpublished) of
Knuth's I<The Art of Computer Programming> and will work on any list:
- #!/usr/bin/perl -n
- # Fischer-Krause ordered permutation generator
-
- sub permute (&@) {
- my $code = shift;
- my @idx = 0..$#_;
- while ( $code->(@_[@idx]) ) {
- my $p = $#idx;
- --$p while $idx[$p-1] > $idx[$p];
- my $q = $p or return;
- push @idx, reverse splice @idx, $p;
- ++$q while $idx[$p-1] > $idx[$q];
- @idx[$p-1,$q]=@idx[$q,$p-1];
- }
- }
-
- permute { print "@_\n" } split;
-
-The C<Algorithm::Loops> module also provides the C<NextPermute> and
+ #!/usr/bin/perl -n
+ # Fischer-Krause ordered permutation generator
+
+ sub permute (&@) {
+ my $code = shift;
+ my @idx = 0..$#_;
+ while ( $code->(@_[@idx]) ) {
+ my $p = $#idx;
+ --$p while $idx[$p-1] > $idx[$p];
+ my $q = $p or return;
+ push @idx, reverse splice @idx, $p;
+ ++$q while $idx[$p-1] > $idx[$q];
+ @idx[$p-1,$q]=@idx[$q,$p-1];
+ }
+ }
+
+ permute { print "@_\n" } split;
+
+The L<Algorithm::Loops> module also provides the C<NextPermute> and
C<NextPermuteNum> functions which efficiently find all unique permutations
of an array, even if it contains duplicate values, modifying it in-place:
if its elements are in reverse-sorted order then the array is reversed,
@@ -1829,7 +1820,7 @@ permutation is returned.
C<NextPermute> uses string order and C<NextPermuteNum> numeric order, so
you can enumerate all the permutations of C<0..9> like this:
- use Algorithm::Loops qw(NextPermuteNum);
+ use Algorithm::Loops qw(NextPermuteNum);
my @list= 0..9;
do { print "@list\n" } while NextPermuteNum @list;
@@ -1838,46 +1829,47 @@ you can enumerate all the permutations of C<0..9> like this:
Supply a comparison function to sort() (described in L<perlfunc/sort>):
- @list = sort { $a <=> $b } @list;
+ @list = sort { $a <=> $b } @list;
The default sort function is cmp, string comparison, which would
-sort C<(1, 2, 10)> into C<(1, 10, 2)>. C<< <=> >>, used above, is
+sort C<(1, 2, 10)> into C<(1, 10, 2)>. C<< <=> >>, used above, is
the numerical comparison operator.
If you have a complicated function needed to pull out the part you
-want to sort on, then don't do it inside the sort function. Pull it
+want to sort on, then don't do it inside the sort function. Pull it
out first, because the sort BLOCK can be called many times for the
-same element. Here's an example of how to pull out the first word
+same element. Here's an example of how to pull out the first word
after the first number on each item, and then sort those words
case-insensitively.
- @idx = ();
- for (@data) {
- ($item) = /\d+\s*(\S+)/;
- push @idx, uc($item);
- }
- @sorted = @data[ sort { $idx[$a] cmp $idx[$b] } 0 .. $#idx ];
+ my @idx;
+ for (@data) {
+ my $item;
+ ($item) = /\d+\s*(\S+)/;
+ push @idx, uc($item);
+ }
+ my @sorted = @data[ sort { $idx[$a] cmp $idx[$b] } 0 .. $#idx ];
which could also be written this way, using a trick
that's come to be known as the Schwartzian Transform:
- @sorted = map { $_->[0] }
- sort { $a->[1] cmp $b->[1] }
- map { [ $_, uc( (/\d+\s*(\S+)/)[0]) ] } @data;
+ my @sorted = map { $_->[0] }
+ sort { $a->[1] cmp $b->[1] }
+ map { [ $_, uc( (/\d+\s*(\S+)/)[0]) ] } @data;
If you need to sort on several fields, the following paradigm is useful.
- @sorted = sort {
- field1($a) <=> field1($b) ||
- field2($a) cmp field2($b) ||
- field3($a) cmp field3($b)
- } @data;
+ my @sorted = sort {
+ field1($a) <=> field1($b) ||
+ field2($a) cmp field2($b) ||
+ field3($a) cmp field3($b)
+ } @data;
This can be conveniently combined with precalculation of keys as given
above.
See the F<sort> article in the "Far More Than You Ever Wanted
-To Know" collection in http://www.cpan.org/misc/olddoc/FMTEYEWTK.tgz for
+To Know" collection in L<http://www.cpan.org/misc/olddoc/FMTEYEWTK.tgz> for
more about this approach.
See also the question later in L<perlfaq4> on sorting hashes.
@@ -1892,11 +1884,11 @@ For example, you don't have to store individual bits in an array
array of bits to a string, use C<vec()> to set the right bits. This
sets C<$vec> to have bit N set only if C<$ints[N]> was set:
- @ints = (...); # array of bits, e.g. ( 1, 0, 0, 1, 1, 0 ... )
- $vec = '';
- foreach( 0 .. $#ints ) {
- vec($vec,$_,1) = 1 if $ints[$_];
- }
+ my @ints = (...); # array of bits, e.g. ( 1, 0, 0, 1, 1, 0 ... )
+ my $vec = '';
+ foreach( 0 .. $#ints ) {
+ vec($vec,$_,1) = 1 if $ints[$_];
+ }
The string C<$vec> only takes up as many bits as it needs. For
instance, if you had 16 entries in C<@ints>, C<$vec> only needs two
@@ -1905,37 +1897,37 @@ bytes to store them (not counting the scalar variable overhead).
Here's how, given a vector in C<$vec>, you can get those bits into
your C<@ints> array:
- sub bitvec_to_list {
- my $vec = shift;
- my @ints;
- # Find null-byte density then select best algorithm
- if ($vec =~ tr/\0// / length $vec > 0.95) {
- use integer;
- my $i;
-
- # This method is faster with mostly null-bytes
- while($vec =~ /[^\0]/g ) {
- $i = -9 + 8 * pos $vec;
- push @ints, $i if vec($vec, ++$i, 1);
- push @ints, $i if vec($vec, ++$i, 1);
- push @ints, $i if vec($vec, ++$i, 1);
- push @ints, $i if vec($vec, ++$i, 1);
- push @ints, $i if vec($vec, ++$i, 1);
- push @ints, $i if vec($vec, ++$i, 1);
- push @ints, $i if vec($vec, ++$i, 1);
- push @ints, $i if vec($vec, ++$i, 1);
- }
- }
- else {
- # This method is a fast general algorithm
- use integer;
- my $bits = unpack "b*", $vec;
- push @ints, 0 if $bits =~ s/^(\d)// && $1;
- push @ints, pos $bits while($bits =~ /1/g);
- }
-
- return \@ints;
- }
+ sub bitvec_to_list {
+ my $vec = shift;
+ my @ints;
+ # Find null-byte density then select best algorithm
+ if ($vec =~ tr/\0// / length $vec > 0.95) {
+ use integer;
+ my $i;
+
+ # This method is faster with mostly null-bytes
+ while($vec =~ /[^\0]/g ) {
+ $i = -9 + 8 * pos $vec;
+ push @ints, $i if vec($vec, ++$i, 1);
+ push @ints, $i if vec($vec, ++$i, 1);
+ push @ints, $i if vec($vec, ++$i, 1);
+ push @ints, $i if vec($vec, ++$i, 1);
+ push @ints, $i if vec($vec, ++$i, 1);
+ push @ints, $i if vec($vec, ++$i, 1);
+ push @ints, $i if vec($vec, ++$i, 1);
+ push @ints, $i if vec($vec, ++$i, 1);
+ }
+ }
+ else {
+ # This method is a fast general algorithm
+ use integer;
+ my $bits = unpack "b*", $vec;
+ push @ints, 0 if $bits =~ s/^(\d)// && $1;
+ push @ints, pos $bits while($bits =~ /1/g);
+ }
+
+ return \@ints;
+ }
This method gets faster the more sparse the bit vector is.
(Courtesy of Tim Bunce and Winfried Koenig.)
@@ -1943,66 +1935,66 @@ This method gets faster the more sparse the bit vector is.
You can make the while loop a lot shorter with this suggestion
from Benjamin Goldberg:
- while($vec =~ /[^\0]+/g ) {
- push @ints, grep vec($vec, $_, 1), $-[0] * 8 .. $+[0] * 8;
- }
+ while($vec =~ /[^\0]+/g ) {
+ push @ints, grep vec($vec, $_, 1), $-[0] * 8 .. $+[0] * 8;
+ }
-Or use the CPAN module C<Bit::Vector>:
+Or use the CPAN module L<Bit::Vector>:
- $vector = Bit::Vector->new($num_of_bits);
- $vector->Index_List_Store(@ints);
- @ints = $vector->Index_List_Read();
+ my $vector = Bit::Vector->new($num_of_bits);
+ $vector->Index_List_Store(@ints);
+ my @ints = $vector->Index_List_Read();
-C<Bit::Vector> provides efficient methods for bit vector, sets of
+L<Bit::Vector> provides efficient methods for bit vector, sets of
small integers and "big int" math.
Here's a more extensive illustration using vec():
- # vec demo
- $vector = "\xff\x0f\xef\xfe";
- print "Ilya's string \\xff\\x0f\\xef\\xfe represents the number ",
- unpack("N", $vector), "\n";
- $is_set = vec($vector, 23, 1);
- print "Its 23rd bit is ", $is_set ? "set" : "clear", ".\n";
- pvec($vector);
-
- set_vec(1,1,1);
- set_vec(3,1,1);
- set_vec(23,1,1);
-
- set_vec(3,1,3);
- set_vec(3,2,3);
- set_vec(3,4,3);
- set_vec(3,4,7);
- set_vec(3,8,3);
- set_vec(3,8,7);
-
- set_vec(0,32,17);
- set_vec(1,32,17);
-
- sub set_vec {
- my ($offset, $width, $value) = @_;
- my $vector = '';
- vec($vector, $offset, $width) = $value;
- print "offset=$offset width=$width value=$value\n";
- pvec($vector);
- }
-
- sub pvec {
- my $vector = shift;
- my $bits = unpack("b*", $vector);
- my $i = 0;
- my $BASE = 8;
-
- print "vector length in bytes: ", length($vector), "\n";
- @bytes = unpack("A8" x length($vector), $bits);
- print "bits are: @bytes\n\n";
- }
+ # vec demo
+ my $vector = "\xff\x0f\xef\xfe";
+ print "Ilya's string \\xff\\x0f\\xef\\xfe represents the number ",
+ unpack("N", $vector), "\n";
+ my $is_set = vec($vector, 23, 1);
+ print "Its 23rd bit is ", $is_set ? "set" : "clear", ".\n";
+ pvec($vector);
+
+ set_vec(1,1,1);
+ set_vec(3,1,1);
+ set_vec(23,1,1);
+
+ set_vec(3,1,3);
+ set_vec(3,2,3);
+ set_vec(3,4,3);
+ set_vec(3,4,7);
+ set_vec(3,8,3);
+ set_vec(3,8,7);
+
+ set_vec(0,32,17);
+ set_vec(1,32,17);
+
+ sub set_vec {
+ my ($offset, $width, $value) = @_;
+ my $vector = '';
+ vec($vector, $offset, $width) = $value;
+ print "offset=$offset width=$width value=$value\n";
+ pvec($vector);
+ }
+
+ sub pvec {
+ my $vector = shift;
+ my $bits = unpack("b*", $vector);
+ my $i = 0;
+ my $BASE = 8;
+
+ print "vector length in bytes: ", length($vector), "\n";
+ @bytes = unpack("A8" x length($vector), $bits);
+ print "bits are: @bytes\n\n";
+ }
=head2 Why does defined() return true on empty arrays and hashes?
The short story is that you should probably only use defined on scalars or
-functions, not on aggregates (arrays and hashes). See L<perlfunc/defined>
+functions, not on aggregates (arrays and hashes). See L<perlfunc/defined>
in the 5.004 release or later of Perl for more detail.
=head1 Data: Hashes (Associative Arrays)
@@ -2019,36 +2011,36 @@ To go through all of the keys, use the C<keys> function. This extracts
all of the keys of the hash and gives them back to you as a list. You
can then get the value through the particular key you're processing:
- foreach my $key ( keys %hash ) {
- my $value = $hash{$key}
- ...
- }
+ foreach my $key ( keys %hash ) {
+ my $value = $hash{$key}
+ ...
+ }
Once you have the list of keys, you can process that list before you
process the hash elements. For instance, you can sort the keys so you
can process them in lexical order:
- foreach my $key ( sort keys %hash ) {
- my $value = $hash{$key}
- ...
- }
+ foreach my $key ( sort keys %hash ) {
+ my $value = $hash{$key}
+ ...
+ }
Or, you might want to only process some of the items. If you only want
to deal with the keys that start with C<text:>, you can select just
those using C<grep>:
- foreach my $key ( grep /^text:/, keys %hash ) {
- my $value = $hash{$key}
- ...
- }
+ foreach my $key ( grep /^text:/, keys %hash ) {
+ my $value = $hash{$key}
+ ...
+ }
If the hash is very large, you might not want to create a long list of
keys. To save some memory, you can grab one key-value pair at a time using
C<each()>, which returns a pair you haven't seen yet:
- while( my( $key, $value ) = each( %hash ) ) {
- ...
- }
+ while( my( $key, $value ) = each( %hash ) ) {
+ ...
+ }
The C<each> operator returns the pairs in apparently random order, so if
ordering matters to you, you'll have to stick with the C<keys> method.
@@ -2057,8 +2049,8 @@ The C<each()> operator can be a bit tricky though. You can't add or
delete keys of the hash while you're using it without possibly
skipping or re-processing some pairs after Perl internally rehashes
all of the elements. Additionally, a hash has only one iterator, so if
-you use C<keys>, C<values>, or C<each> on the same hash, you can reset
-the iterator and mess up your processing. See the C<each> entry in
+you mix C<keys>, C<values>, or C<each> on the same hash, you risk resetting
+the iterator and messing up your processing. See the C<each> entry in
L<perlfunc> for more details.
=head2 How do I merge two hashes?
@@ -2076,46 +2068,40 @@ to a new hash (C<%new_hash>), then add the keys from the other hash
C<%new_hash> gives you a chance to decide what to do with the
duplicates:
- my %new_hash = %hash1; # make a copy; leave %hash1 alone
-
- foreach my $key2 ( keys %hash2 )
- {
- if( exists $new_hash{$key2} )
- {
- warn "Key [$key2] is in both hashes!";
- # handle the duplicate (perhaps only warning)
- ...
- next;
- }
- else
- {
- $new_hash{$key2} = $hash2{$key2};
- }
- }
+ my %new_hash = %hash1; # make a copy; leave %hash1 alone
+
+ foreach my $key2 ( keys %hash2 ) {
+ if( exists $new_hash{$key2} ) {
+ warn "Key [$key2] is in both hashes!";
+ # handle the duplicate (perhaps only warning)
+ ...
+ next;
+ }
+ else {
+ $new_hash{$key2} = $hash2{$key2};
+ }
+ }
If you don't want to create a new hash, you can still use this looping
technique; just change the C<%new_hash> to C<%hash1>.
- foreach my $key2 ( keys %hash2 )
- {
- if( exists $hash1{$key2} )
- {
- warn "Key [$key2] is in both hashes!";
- # handle the duplicate (perhaps only warning)
- ...
- next;
- }
- else
- {
- $hash1{$key2} = $hash2{$key2};
- }
- }
+ foreach my $key2 ( keys %hash2 ) {
+ if( exists $hash1{$key2} ) {
+ warn "Key [$key2] is in both hashes!";
+ # handle the duplicate (perhaps only warning)
+ ...
+ next;
+ }
+ else {
+ $hash1{$key2} = $hash2{$key2};
+ }
+ }
If you don't care that one hash overwrites keys and values from the other, you
could just use a hash slice to add one hash to another. In this case, values
from C<%hash2> replace values from C<%hash1> when they have keys in common:
- @hash1{ keys %hash2 } = values %hash2;
+ @hash1{ keys %hash2 } = values %hash2;
=head2 What happens if I add or remove keys from a hash while iterating over it?
@@ -2124,32 +2110,32 @@ from C<%hash2> replace values from C<%hash1> when they have keys in common:
The easy answer is "Don't do that!"
If you iterate through the hash with each(), you can delete the key
-most recently returned without worrying about it. If you delete or add
+most recently returned without worrying about it. If you delete or add
other keys, the iterator may skip or double up on them since perl
-may rearrange the hash table. See the
+may rearrange the hash table. See the
entry for C<each()> in L<perlfunc>.
=head2 How do I look up a hash element by value?
Create a reverse hash:
- %by_value = reverse %by_key;
- $key = $by_value{$value};
+ my %by_value = reverse %by_key;
+ my $key = $by_value{$value};
-That's not particularly efficient. It would be more space-efficient
+That's not particularly efficient. It would be more space-efficient
to use:
- while (($key, $value) = each %by_key) {
- $by_value{$value} = $key;
- }
+ while (my ($key, $value) = each %by_key) {
+ $by_value{$value} = $key;
+ }
If your hash could have repeated values, the methods above will only find
-one of the associated keys. This may or may not worry you. If it does
+one of the associated keys. This may or may not worry you. If it does
worry you, you can always reverse the hash into a hash of arrays instead:
- while (($key, $value) = each %by_key) {
- push @{$key_list_by_value{$value}}, $key;
- }
+ while (my ($key, $value) = each %by_key) {
+ push @{$key_list_by_value{$value}}, $key;
+ }
=head2 How can I know how many entries are in a hash?
@@ -2161,23 +2147,23 @@ L<perlfaq4>, but a bit simpler in the common cases.
You can use the C<keys()> built-in function in scalar context to find out
have many entries you have in a hash:
- my $key_count = keys %hash; # must be scalar context!
+ my $key_count = keys %hash; # must be scalar context!
If you want to find out how many entries have a defined value, that's
a bit different. You have to check each value. A C<grep> is handy:
- my $defined_value_count = grep { defined } values %hash;
+ my $defined_value_count = grep { defined } values %hash;
You can use that same structure to count the entries any way that
you like. If you want the count of the keys with vowels in them,
you just test for that instead:
- my $vowel_count = grep { /[aeiou]/ } keys %hash;
+ my $vowel_count = grep { /[aeiou]/ } keys %hash;
The C<grep> in scalar context returns the count. If you want the list
of matching items, just use it in list context instead:
- my @defined_values = grep { defined } values %hash;
+ my @defined_values = grep { defined } values %hash;
The C<keys()> function also resets the iterator, which means that you may
see strange results if you use this between uses of other hash operators
@@ -2193,23 +2179,20 @@ might be affected by your locale settings). The output list has the keys
in ASCIIbetical order. Once we have the keys, we can go through them to
create a report which lists the keys in ASCIIbetical order.
- my @keys = sort { $a cmp $b } keys %hash;
+ my @keys = sort { $a cmp $b } keys %hash;
- foreach my $key ( @keys )
- {
- printf "%-20s %6d\n", $key, $hash{$key};
- }
+ foreach my $key ( @keys ) {
+ printf "%-20s %6d\n", $key, $hash{$key};
+ }
We could get more fancy in the C<sort()> block though. Instead of
comparing the keys, we can compute a value with them and use that
value as the comparison.
For instance, to make our report order case-insensitive, we use
-the C<\L> sequence in a double-quoted string to make everything
-lowercase. The C<sort()> block then compares the lowercased
-values to determine in which order to put the keys.
+C<lc> to lowercase the keys before comparing them:
- my @keys = sort { "\L$a" cmp "\L$b" } keys %hash;
+ my @keys = sort { lc $a cmp lc $b } keys %hash;
Note: if the computation is expensive or the hash has many elements,
you may want to look at the Schwartzian Transform to cache the
@@ -2219,23 +2202,23 @@ If we want to sort by the hash value instead, we use the hash key
to look it up. We still get out a list of keys, but this time they
are ordered by their value.
- my @keys = sort { $hash{$a} <=> $hash{$b} } keys %hash;
+ my @keys = sort { $hash{$a} <=> $hash{$b} } keys %hash;
From there we can get more complex. If the hash values are the same,
we can provide a secondary sort on the hash key.
- my @keys = sort {
- $hash{$a} <=> $hash{$b}
- or
- "\L$a" cmp "\L$b"
- } keys %hash;
+ my @keys = sort {
+ $hash{$a} <=> $hash{$b}
+ or
+ "\L$a" cmp "\L$b"
+ } keys %hash;
=head2 How can I always keep my hash sorted?
X<hash tie sort DB_File Tie::IxHash>
You can look into using the C<DB_File> module and C<tie()> using the
C<$DB_BTREE> hash bindings as documented in L<DB_File/"In Memory
-Databases">. The C<Tie::IxHash> module from CPAN might also be
+Databases">. The L<Tie::IxHash> module from CPAN might also be
instructive. Although this does keep your hash sorted, you might not
like the slowdown you suffer from the tie interface. Are you sure you
need to do this? :)
@@ -2243,81 +2226,81 @@ need to do this? :)
=head2 What's the difference between "delete" and "undef" with hashes?
Hashes contain pairs of scalars: the first is the key, the
-second is the value. The key will be coerced to a string,
+second is the value. The key will be coerced to a string,
although the value can be any kind of scalar: string,
-number, or reference. If a key C<$key> is present in
-%hash, C<exists($hash{$key})> will return true. The value
+number, or reference. If a key C<$key> is present in
+%hash, C<exists($hash{$key})> will return true. The value
for a given key can be C<undef>, in which case
C<$hash{$key}> will be C<undef> while C<exists $hash{$key}>
-will return true. This corresponds to (C<$key>, C<undef>)
+will return true. This corresponds to (C<$key>, C<undef>)
being in the hash.
-Pictures help... Here's the C<%hash> table:
+Pictures help... Here's the C<%hash> table:
- keys values
- +------+------+
- | a | 3 |
- | x | 7 |
- | d | 0 |
- | e | 2 |
- +------+------+
+ keys values
+ +------+------+
+ | a | 3 |
+ | x | 7 |
+ | d | 0 |
+ | e | 2 |
+ +------+------+
And these conditions hold
- $hash{'a'} is true
- $hash{'d'} is false
- defined $hash{'d'} is true
- defined $hash{'a'} is true
- exists $hash{'a'} is true (Perl 5 only)
- grep ($_ eq 'a', keys %hash) is true
+ $hash{'a'} is true
+ $hash{'d'} is false
+ defined $hash{'d'} is true
+ defined $hash{'a'} is true
+ exists $hash{'a'} is true (Perl 5 only)
+ grep ($_ eq 'a', keys %hash) is true
If you now say
- undef $hash{'a'}
+ undef $hash{'a'}
your table now reads:
- keys values
- +------+------+
- | a | undef|
- | x | 7 |
- | d | 0 |
- | e | 2 |
- +------+------+
+ keys values
+ +------+------+
+ | a | undef|
+ | x | 7 |
+ | d | 0 |
+ | e | 2 |
+ +------+------+
and these conditions now hold; changes in caps:
- $hash{'a'} is FALSE
- $hash{'d'} is false
- defined $hash{'d'} is true
- defined $hash{'a'} is FALSE
- exists $hash{'a'} is true (Perl 5 only)
- grep ($_ eq 'a', keys %hash) is true
+ $hash{'a'} is FALSE
+ $hash{'d'} is false
+ defined $hash{'d'} is true
+ defined $hash{'a'} is FALSE
+ exists $hash{'a'} is true (Perl 5 only)
+ grep ($_ eq 'a', keys %hash) is true
Notice the last two: you have an undef value, but a defined key!
Now, consider this:
- delete $hash{'a'}
+ delete $hash{'a'}
your table now reads:
- keys values
- +------+------+
- | x | 7 |
- | d | 0 |
- | e | 2 |
- +------+------+
+ keys values
+ +------+------+
+ | x | 7 |
+ | d | 0 |
+ | e | 2 |
+ +------+------+
and these conditions now hold; changes in caps:
- $hash{'a'} is false
- $hash{'d'} is false
- defined $hash{'d'} is true
- defined $hash{'a'} is false
- exists $hash{'a'} is FALSE (Perl 5 only)
- grep ($_ eq 'a', keys %hash) is FALSE
+ $hash{'a'} is false
+ $hash{'d'} is false
+ defined $hash{'d'} is true
+ defined $hash{'a'} is false
+ exists $hash{'a'} is FALSE (Perl 5 only)
+ grep ($_ eq 'a', keys %hash) is FALSE
See, the whole entry is gone!
@@ -2337,36 +2320,36 @@ You can use the C<keys> or C<values> functions to reset C<each>. To
simply reset the iterator used by C<each> without doing anything else,
use one of them in void context:
- keys %hash; # resets iterator, nothing else.
- values %hash; # resets iterator, nothing else.
+ keys %hash; # resets iterator, nothing else.
+ values %hash; # resets iterator, nothing else.
See the documentation for C<each> in L<perlfunc>.
=head2 How can I get the unique keys from two hashes?
First you extract the keys from the hashes into lists, then solve
-the "removing duplicates" problem described above. For example:
+the "removing duplicates" problem described above. For example:
- %seen = ();
- for $element (keys(%foo), keys(%bar)) {
- $seen{$element}++;
- }
- @uniq = keys %seen;
+ my %seen = ();
+ for my $element (keys(%foo), keys(%bar)) {
+ $seen{$element}++;
+ }
+ my @uniq = keys %seen;
Or more succinctly:
- @uniq = keys %{{%foo,%bar}};
+ my @uniq = keys %{{%foo,%bar}};
Or if you really want to save space:
- %seen = ();
- while (defined ($key = each %foo)) {
- $seen{$key}++;
- }
- while (defined ($key = each %bar)) {
- $seen{$key}++;
- }
- @uniq = keys %seen;
+ my %seen = ();
+ while (defined ($key = each %foo)) {
+ $seen{$key}++;
+ }
+ while (defined ($key = each %bar)) {
+ $seen{$key}++;
+ }
+ my @uniq = keys %seen;
=head2 How can I store a multidimensional array in a DBM file?
@@ -2377,18 +2360,18 @@ it can be a bit slow.
=head2 How can I make my hash remember the order I put elements into it?
-Use the C<Tie::IxHash> from CPAN.
+Use the L<Tie::IxHash> from CPAN.
- use Tie::IxHash;
+ use Tie::IxHash;
- tie my %myhash, 'Tie::IxHash';
+ tie my %myhash, 'Tie::IxHash';
- for (my $i=0; $i<20; $i++) {
- $myhash{$i} = 2*$i;
- }
+ for (my $i=0; $i<20; $i++) {
+ $myhash{$i} = 2*$i;
+ }
- my @keys = keys %myhash;
- # @keys = (0,1,2,3,...)
+ my @keys = keys %myhash;
+ # @keys = (0,1,2,3,...)
=head2 Why does passing a subroutine an undefined element in a hash create it?
@@ -2399,54 +2382,54 @@ Are you using a really old version of Perl?
Normally, accessing a hash key's value for a nonexistent key will
I<not> create the key.
- my %hash = ();
- my $value = $hash{ 'foo' };
- print "This won't print\n" if exists $hash{ 'foo' };
+ my %hash = ();
+ my $value = $hash{ 'foo' };
+ print "This won't print\n" if exists $hash{ 'foo' };
Passing C<$hash{ 'foo' }> to a subroutine used to be a special case, though.
Since you could assign directly to C<$_[0]>, Perl had to be ready to
make that assignment so it created the hash key ahead of time:
my_sub( $hash{ 'foo' } );
- print "This will print before 5.004\n" if exists $hash{ 'foo' };
+ print "This will print before 5.004\n" if exists $hash{ 'foo' };
- sub my_sub {
- # $_[0] = 'bar'; # create hash key in case you do this
- 1;
- }
+ sub my_sub {
+ # $_[0] = 'bar'; # create hash key in case you do this
+ 1;
+ }
Since Perl 5.004, however, this situation is a special case and Perl
creates the hash key only when you make the assignment:
my_sub( $hash{ 'foo' } );
- print "This will print, even after 5.004\n" if exists $hash{ 'foo' };
+ print "This will print, even after 5.004\n" if exists $hash{ 'foo' };
- sub my_sub {
- $_[0] = 'bar';
- }
+ sub my_sub {
+ $_[0] = 'bar';
+ }
However, if you want the old behavior (and think carefully about that
because it's a weird side effect), you can pass a hash slice instead.
Perl 5.004 didn't make this a special case:
- my_sub( @hash{ qw/foo/ } );
+ my_sub( @hash{ qw/foo/ } );
=head2 How can I make the Perl equivalent of a C structure/C++ class/hash or array of hashes or arrays?
Usually a hash ref, perhaps like this:
- $record = {
- NAME => "Jason",
- EMPNO => 132,
- TITLE => "deputy peon",
- AGE => 23,
- SALARY => 37_000,
- PALS => [ "Norbert", "Rhys", "Phineas"],
- };
+ $record = {
+ NAME => "Jason",
+ EMPNO => 132,
+ TITLE => "deputy peon",
+ AGE => 23,
+ SALARY => 37_000,
+ PALS => [ "Norbert", "Rhys", "Phineas"],
+ };
References are documented in L<perlref> and L<perlreftut>.
Examples of complex data structures are given in L<perldsc> and
-L<perllol>. Examples of structures and object-oriented classes are
+L<perllol>. Examples of structures and object-oriented classes are
in L<perltoot>.
=head2 How can I use a reference as a hash key?
@@ -2481,69 +2464,75 @@ required work for you.
(contributed by brian d foy)
-The trick to this problem is avoiding accidental autovivification. If
-you want to check three keys deep, you might naïvely try this:
+The trick to this problem is avoiding accidental autovivification. If
+you want to check three keys deep, you might naE<0xEF>vely try this:
- my %hash;
- if( exists $hash{key1}{key2}{key3} ) {
- ...;
- }
+ my %hash;
+ if( exists $hash{key1}{key2}{key3} ) {
+ ...;
+ }
-Even though you started with a completely empty hash, after that call to
+Even though you started with a completely empty hash, after that call to
C<exists> you've created the structure you needed to check for C<key3>:
- %hash = (
- 'key1' => {
- 'key2' => {}
- }
- );
+ %hash = (
+ 'key1' => {
+ 'key2' => {}
+ }
+ );
That's autovivification. You can get around this in a few ways. The
easiest way is to just turn it off. The lexical C<autovivification>
pragma is available on CPAN. Now you don't add to the hash:
- {
- no autovivification;
- my %hash;
- if( exists $hash{key1}{key2}{key3} ) {
- ...;
- }
- }
+ {
+ no autovivification;
+ my %hash;
+ if( exists $hash{key1}{key2}{key3} ) {
+ ...;
+ }
+ }
-The C<Data::Diver> module on CPAN can do it for you too. Its C<Dive>
+The L<Data::Diver> module on CPAN can do it for you too. Its C<Dive>
subroutine can tell you not only if the keys exist but also get the
value:
- use Data::Diver qw(Dive);
-
+ use Data::Diver qw(Dive);
+
my @exists = Dive( \%hash, qw(key1 key2 key3) );
if( ! @exists ) {
...; # keys do not exist
- }
+ }
elsif( ! defined $exists[0] ) {
...; # keys exist but value is undef
- }
+ }
You can easily do this yourself too by checking each level of the hash
before you move onto the next level. This is essentially what
-C<Data::Diver> does for you:
-
- if( check_hash( \%hash, qw(key1 key2 key3) ) ) {
- ...;
- }
-
- sub check_hash {
- my( $hash, @keys ) = @_;
-
- return unless @keys;
-
- foreach my $key ( @keys ) {
- return unless eval { exists $hash->{$key} };
- $hash = $hash->{$key};
- }
-
- return 1;
- }
+L<Data::Diver> does for you:
+
+ if( check_hash( \%hash, qw(key1 key2 key3) ) ) {
+ ...;
+ }
+
+ sub check_hash {
+ my( $hash, @keys ) = @_;
+
+ return unless @keys;
+
+ foreach my $key ( @keys ) {
+ return unless eval { exists $hash->{$key} };
+ $hash = $hash->{$key};
+ }
+
+ return 1;
+ }
+
+=head2 How can I prevent addition of unwanted keys into a hash?
+
+Since version 5.8.0, hashes can be I<restricted> to a fixed number
+of given keys. Methods for creating and dealing with restricted hashes
+are exported by the L<Hash::Util> module.
=head1 Data: Misc
@@ -2558,36 +2547,36 @@ Also see L<perlfunc/"binmode"> or L<perlopentut>.
If you're concerned about 8-bit textual data then see L<perllocale>.
If you want to deal with multibyte characters, however, there are
-some gotchas. See the section on Regular Expressions.
+some gotchas. See the section on Regular Expressions.
=head2 How do I determine whether a scalar is a number/whole/integer/float?
Assuming that you don't care about IEEE notations like "NaN" or
"Infinity", you probably just want to use a regular expression:
- use 5.010;
-
- given( $number ) {
- when( /\D/ )
- { say "\thas nondigits"; continue }
- when( /^\d+\z/ )
- { say "\tis a whole number"; continue }
- when( /^-?\d+\z/ )
- { say "\tis an integer"; continue }
- when( /^[+-]?\d+\z/ )
- { say "\tis a +/- integer"; continue }
- when( /^-?(?:\d+\.?|\.\d)\d*\z/ )
- { say "\tis a real number"; continue }
- when( /^[+-]?(?=\.?\d)\d*\.?\d*(?:e[+-]?\d+)?\z/i)
- { say "\tis a C float" }
- }
+ use 5.010;
+
+ given( $number ) {
+ when( /\D/ )
+ { say "\thas nondigits"; continue }
+ when( /^\d+\z/ )
+ { say "\tis a whole number"; continue }
+ when( /^-?\d+\z/ )
+ { say "\tis an integer"; continue }
+ when( /^[+-]?\d+\z/ )
+ { say "\tis a +/- integer"; continue }
+ when( /^-?(?:\d+\.?|\.\d)\d*\z/ )
+ { say "\tis a real number"; continue }
+ when( /^[+-]?(?=\.?\d)\d*\.?\d*(?:e[+-]?\d+)?\z/i)
+ { say "\tis a C float" }
+ }
There are also some commonly used modules for the task.
L<Scalar::Util> (distributed with 5.8) provides access to perl's
internal function C<looks_like_number> for determining whether a
variable looks like a number. L<Data::Types> exports functions that
validate data types using both the above and other regular
-expressions. Thirdly, there is C<Regexp::Common> which has regular
+expressions. Thirdly, there is L<Regexp::Common> which has regular
expressions to match various types of numbers. Those three modules are
available from the CPAN.
@@ -2599,22 +2588,22 @@ takes a string and returns the number it found, or C<undef> for input
that isn't a C float. The C<is_numeric> function is a front end to
C<getnum> if you just want to say, "Is this a float?"
- sub getnum {
- use POSIX qw(strtod);
- my $str = shift;
- $str =~ s/^\s+//;
- $str =~ s/\s+$//;
- $! = 0;
- my($num, $unparsed) = strtod($str);
- if (($str eq '') || ($unparsed != 0) || $!) {
- return undef;
- }
- else {
- return $num;
- }
- }
-
- sub is_numeric { defined getnum($_[0]) }
+ sub getnum {
+ use POSIX qw(strtod);
+ my $str = shift;
+ $str =~ s/^\s+//;
+ $str =~ s/\s+$//;
+ $! = 0;
+ my($num, $unparsed) = strtod($str);
+ if (($str eq '') || ($unparsed != 0) || $!) {
+ return undef;
+ }
+ else {
+ return $num;
+ }
+ }
+
+ sub is_numeric { defined getnum($_[0]) }
Or you could check out the L<String::Scanf> module on the CPAN
instead.
@@ -2622,34 +2611,34 @@ instead.
=head2 How do I keep persistent data across program calls?
For some specific applications, you can use one of the DBM modules.
-See L<AnyDBM_File>. More generically, you should consult the C<FreezeThaw>
-or C<Storable> modules from CPAN. Starting from Perl 5.8 C<Storable> is part
-of the standard distribution. Here's one example using C<Storable>'s C<store>
+See L<AnyDBM_File>. More generically, you should consult the L<FreezeThaw>
+or L<Storable> modules from CPAN. Starting from Perl 5.8, L<Storable> is part
+of the standard distribution. Here's one example using L<Storable>'s C<store>
and C<retrieve> functions:
- use Storable;
- store(\%hash, "filename");
+ use Storable;
+ store(\%hash, "filename");
- # later on...
- $href = retrieve("filename"); # by ref
- %hash = %{ retrieve("filename") }; # direct to hash
+ # later on...
+ $href = retrieve("filename"); # by ref
+ %hash = %{ retrieve("filename") }; # direct to hash
=head2 How do I print out or copy a recursive data structure?
-The C<Data::Dumper> module on CPAN (or the 5.005 release of Perl) is great
-for printing out data structures. The C<Storable> module on CPAN (or the
+The L<Data::Dumper> module on CPAN (or the 5.005 release of Perl) is great
+for printing out data structures. The L<Storable> module on CPAN (or the
5.8 release of Perl), provides a function called C<dclone> that recursively
copies its argument.
- use Storable qw(dclone);
- $r2 = dclone($r1);
+ use Storable qw(dclone);
+ $r2 = dclone($r1);
Where C<$r1> can be a reference to any kind of data structure you'd like.
-It will be deeply copied. Because C<dclone> takes and returns references,
+It will be deeply copied. Because C<dclone> takes and returns references,
you'd have to add extra punctuation if you had a hash of arrays that
you wanted to copy.
- %newhash = %{ dclone(\%oldhash) };
+ %newhash = %{ dclone(\%oldhash) };
=head2 How do I define methods for every class/object?
@@ -2664,16 +2653,17 @@ Moose that supports roles.
=head2 How do I verify a credit card checksum?
-Get the C<Business::CreditCard> module from CPAN.
+Get the L<Business::CreditCard> module from CPAN.
=head2 How do I pack arrays of doubles or floats for XS code?
-The arrays.h/arrays.c code in the C<PGPLOT> module on CPAN does just this.
+The arrays.h/arrays.c code in the L<PGPLOT> module on CPAN does just this.
If you're doing a lot of float or double processing, consider using
-the C<PDL> module from CPAN instead--it makes number-crunching easy.
+the L<PDL> module from CPAN instead--it makes number-crunching easy.
See L<http://search.cpan.org/dist/PGPLOT> for the code.
+
=head1 AUTHOR AND COPYRIGHT
Copyright (c) 1997-2010 Tom Christiansen, Nathan Torkington, and
@@ -2683,7 +2673,7 @@ This documentation is free; you can redistribute it and/or modify it
under the same terms as Perl itself.
Irrespective of its distribution, all code examples in this file
-are hereby placed into the public domain. You are permitted and
+are hereby placed into the public domain. You are permitted and
encouraged to use this code in your own programs for fun
-or for profit as you see fit. A simple comment in the code giving
+or for profit as you see fit. A simple comment in the code giving
credit would be courteous but is not required.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq5.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq5.pod
index 76b6d3e0e2e..60bd08306d5 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq5.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq5.pod
@@ -7,13 +7,13 @@ perlfaq5 - Files and Formats
This section deals with I/O and the "f" issues: filehandles, flushing,
formats, and footers.
-=head2 How do I flush/unbuffer an output filehandle? Why must I do this?
+=head2 How do I flush/unbuffer an output filehandle? Why must I do this?
X<flush> X<buffer> X<unbuffer> X<autoflush>
(contributed by brian d foy)
You might like to read Mark Jason Dominus's "Suffering From Buffering"
-at http://perl.plover.com/FAQs/Buffering.html .
+at L<http://perl.plover.com/FAQs/Buffering.html> .
Perl normally buffers output so it doesn't make a system call for every
bit of output. By saving up output, it makes fewer expensive system calls.
@@ -22,76 +22,75 @@ screen for every line you process to watch the progress of your program.
Instead of seeing a dot for every line, Perl buffers the output and you
have a long wait before you see a row of 50 dots all at once:
- # long wait, then row of dots all at once
- while( <> ) {
- print ".";
- print "\n" unless ++$count % 50;
+ # long wait, then row of dots all at once
+ while( <> ) {
+ print ".";
+ print "\n" unless ++$count % 50;
- #... expensive line processing operations
- }
+ #... expensive line processing operations
+ }
To get around this, you have to unbuffer the output filehandle, in this
case, C<STDOUT>. You can set the special variable C<$|> to a true value
(mnemonic: making your filehandles "piping hot"):
- $|++;
+ $|++;
- # dot shown immediately
- while( <> ) {
- print ".";
- print "\n" unless ++$count % 50;
+ # dot shown immediately
+ while( <> ) {
+ print ".";
+ print "\n" unless ++$count % 50;
- #... expensive line processing operations
- }
+ #... expensive line processing operations
+ }
The C<$|> is one of the per-filehandle special variables, so each
filehandle has its own copy of its value. If you want to merge
standard output and standard error for instance, you have to unbuffer
each (although STDERR might be unbuffered by default):
- {
- my $previous_default = select(STDOUT); # save previous default
- $|++; # autoflush STDOUT
- select(STDERR);
- $|++; # autoflush STDERR, to be sure
- select($previous_default); # restore previous default
- }
-
- # now should alternate . and +
- while( 1 )
- {
- sleep 1;
- print STDOUT ".";
- print STDERR "+";
- print STDOUT "\n" unless ++$count % 25;
- }
+ {
+ my $previous_default = select(STDOUT); # save previous default
+ $|++; # autoflush STDOUT
+ select(STDERR);
+ $|++; # autoflush STDERR, to be sure
+ select($previous_default); # restore previous default
+ }
+
+ # now should alternate . and +
+ while( 1 ) {
+ sleep 1;
+ print STDOUT ".";
+ print STDERR "+";
+ print STDOUT "\n" unless ++$count % 25;
+ }
Besides the C<$|> special variable, you can use C<binmode> to give
your filehandle a C<:unix> layer, which is unbuffered:
- binmode( STDOUT, ":unix" );
+ binmode( STDOUT, ":unix" );
- while( 1 ) {
- sleep 1;
- print ".";
- print "\n" unless ++$count % 50;
- }
+ while( 1 ) {
+ sleep 1;
+ print ".";
+ print "\n" unless ++$count % 50;
+ }
For more information on output layers, see the entries for C<binmode>
-and C<open> in L<perlfunc>, and the C<PerlIO> module documentation.
+and L<open> in L<perlfunc>, and the L<PerlIO> module documentation.
-If you are using C<IO::Handle> or one of its subclasses, you can
+If you are using L<IO::Handle> or one of its subclasses, you can
call the C<autoflush> method to change the settings of the
filehandle:
- use IO::Handle;
- open my( $io_fh ), ">", "output.txt";
- $io_fh->autoflush(1);
+ use IO::Handle;
+ open my( $io_fh ), ">", "output.txt";
+ $io_fh->autoflush(1);
-The C<IO::Handle> objects also have a C<flush> method. You can flush
+The L<IO::Handle> objects also have a C<flush> method. You can flush
the buffer any time you want without auto-buffering
- $io_fh->flush;
+ $io_fh->flush;
=head2 How do I change, delete, or insert a line in a file, or append to the beginning of a file?
X<file, editing>
@@ -103,20 +102,19 @@ file involves reading and printing the file to the point you want to
make the change, making the change, then reading and printing the rest
of the file. Perl doesn't provide random access to lines (especially
since the record input separator, C<$/>, is mutable), although modules
-such as C<Tie::File> can fake it.
+such as L<Tie::File> can fake it.
A Perl program to do these tasks takes the basic form of opening a
file, printing its lines, then closing the file:
- open my $in, '<', $file or die "Can't read old file: $!";
- open my $out, '>', "$file.new" or die "Can't write new file: $!";
+ open my $in, '<', $file or die "Can't read old file: $!";
+ open my $out, '>', "$file.new" or die "Can't write new file: $!";
- while( <$in> )
- {
- print $out $_;
- }
+ while( <$in> ) {
+ print $out $_;
+ }
- close $out;
+ close $out;
Within that basic form, add the parts that you need to insert, change,
or delete lines.
@@ -124,91 +122,85 @@ or delete lines.
To prepend lines to the beginning, print those lines before you enter
the loop that prints the existing lines.
- open my $in, '<', $file or die "Can't read old file: $!";
- open my $out, '>', "$file.new" or die "Can't write new file: $!";
+ open my $in, '<', $file or die "Can't read old file: $!";
+ open my $out, '>', "$file.new" or die "Can't write new file: $!";
- print $out "# Add this line to the top\n"; # <--- HERE'S THE MAGIC
+ print $out "# Add this line to the top\n"; # <--- HERE'S THE MAGIC
- while( <$in> )
- {
- print $out $_;
- }
+ while( <$in> ) {
+ print $out $_;
+ }
- close $out;
+ close $out;
To change existing lines, insert the code to modify the lines inside
the C<while> loop. In this case, the code finds all lowercased
versions of "perl" and uppercases them. The happens for every line, so
be sure that you're supposed to do that on every line!
- open my $in, '<', $file or die "Can't read old file: $!";
- open my $out, '>', "$file.new" or die "Can't write new file: $!";
+ open my $in, '<', $file or die "Can't read old file: $!";
+ open my $out, '>', "$file.new" or die "Can't write new file: $!";
- print $out "# Add this line to the top\n";
+ print $out "# Add this line to the top\n";
- while( <$in> )
- {
- s/\b(perl)\b/Perl/g;
- print $out $_;
- }
+ while( <$in> ) {
+ s/\b(perl)\b/Perl/g;
+ print $out $_;
+ }
- close $out;
+ close $out;
To change only a particular line, the input line number, C<$.>, is
useful. First read and print the lines up to the one you want to
change. Next, read the single line you want to change, change it, and
print it. After that, read the rest of the lines and print those:
- while( <$in> ) # print the lines before the change
- {
- print $out $_;
- last if $. == 4; # line number before change
- }
+ while( <$in> ) { # print the lines before the change
+ print $out $_;
+ last if $. == 4; # line number before change
+ }
- my $line = <$in>;
- $line =~ s/\b(perl)\b/Perl/g;
- print $out $line;
+ my $line = <$in>;
+ $line =~ s/\b(perl)\b/Perl/g;
+ print $out $line;
- while( <$in> ) # print the rest of the lines
- {
- print $out $_;
- }
+ while( <$in> ) { # print the rest of the lines
+ print $out $_;
+ }
To skip lines, use the looping controls. The C<next> in this example
skips comment lines, and the C<last> stops all processing once it
encounters either C<__END__> or C<__DATA__>.
- while( <$in> )
- {
- next if /^\s+#/; # skip comment lines
- last if /^__(END|DATA)__$/; # stop at end of code marker
- print $out $_;
- }
+ while( <$in> ) {
+ next if /^\s+#/; # skip comment lines
+ last if /^__(END|DATA)__$/; # stop at end of code marker
+ print $out $_;
+ }
Do the same sort of thing to delete a particular line by using C<next>
to skip the lines you don't want to show up in the output. This
example skips every fifth line:
- while( <$in> )
- {
- next unless $. % 5;
- print $out $_;
- }
+ while( <$in> ) {
+ next unless $. % 5;
+ print $out $_;
+ }
If, for some odd reason, you really want to see the whole file at once
rather than processing line-by-line, you can slurp it in (as long as
you can fit the whole thing in memory!):
- open my $in, '<', $file or die "Can't read old file: $!"
- open my $out, '>', "$file.new" or die "Can't write new file: $!";
+ open my $in, '<', $file or die "Can't read old file: $!"
+ open my $out, '>', "$file.new" or die "Can't write new file: $!";
- my @lines = do { local $/; <$in> }; # slurp!
+ my @lines = do { local $/; <$in> }; # slurp!
- # do your magic here
+ # do your magic here
- print $out @lines;
+ print $out @lines;
-Modules such as C<File::Slurp> and C<Tie::File> can help with that
+Modules such as L<File::Slurp> and L<Tie::File> can help with that
too. If you can, however, avoid reading the entire file at once. Perl
won't give that memory back to the operating system until the process
finishes.
@@ -221,42 +213,38 @@ on in-place editing. The current line is in C<$_>. With C<-p>, Perl
automatically prints the value of C<$_> at the end of the loop. See
L<perlrun> for more details.
- perl -pi -e 's/Fred/Barney/' inFile.txt
+ perl -pi -e 's/Fred/Barney/' inFile.txt
To make a backup of C<inFile.txt>, give C<-i> a file extension to add:
- perl -pi.bak -e 's/Fred/Barney/' inFile.txt
+ perl -pi.bak -e 's/Fred/Barney/' inFile.txt
To change only the fifth line, you can add a test checking C<$.>, the
input line number, then only perform the operation when the test
passes:
- perl -pi -e 's/Fred/Barney/ if $. == 5' inFile.txt
+ perl -pi -e 's/Fred/Barney/ if $. == 5' inFile.txt
To add lines before a certain line, you can add a line (or lines!)
before Perl prints C<$_>:
- perl -pi -e 'print "Put before third line\n" if $. == 3' inFile.txt
+ perl -pi -e 'print "Put before third line\n" if $. == 3' inFile.txt
You can even add a line to the beginning of a file, since the current
line prints at the end of the loop:
- perl -pi -e 'print "Put before first line\n" if $. == 1' inFile.txt
+ perl -pi -e 'print "Put before first line\n" if $. == 1' inFile.txt
To insert a line after one already in the file, use the C<-n> switch.
It's just like C<-p> except that it doesn't print C<$_> at the end of
the loop, so you have to do that yourself. In this case, print C<$_>
first, then print the line that you want to add.
- perl -ni -e 'print; print "Put after fifth line\n" if $. == 5' inFile.txt
+ perl -ni -e 'print; print "Put after fifth line\n" if $. == 5' inFile.txt
To delete lines, only print the ones that you want.
- perl -ni -e 'print unless /d/' inFile.txt
-
- ... or ...
-
- perl -pi -e 'next unless /d/' inFile.txt
+ perl -ni -e 'print if /d/' inFile.txt
=head2 How do I count the number of lines in a file?
X<file, counting lines> X<lines> X<line>
@@ -266,58 +254,58 @@ X<file, counting lines> X<lines> X<line>
Conceptually, the easiest way to count the lines in a file is to
simply read them and count them:
- my $count = 0;
- while( <$fh> ) { $count++; }
+ my $count = 0;
+ while( <$fh> ) { $count++; }
You don't really have to count them yourself, though, since Perl
already does that with the C<$.> variable, which is the current line
number from the last filehandle read:
- 1 while( <$fh> );
- my $count = $.;
+ 1 while( <$fh> );
+ my $count = $.;
If you want to use C<$.>, you can reduce it to a simple one-liner,
like one of these:
- % perl -lne '} print $.; {' file
+ % perl -lne '} print $.; {' file
- % perl -lne 'END { print $. }' file
+ % perl -lne 'END { print $. }' file
Those can be rather inefficient though. If they aren't fast enough for
you, you might just read chunks of data and count the number of
newlines:
- my $lines = 0;
- open my($fh), '<:raw', $filename or die "Can't open $filename: $!";
- while( sysread $fh, $buffer, 4096 ) {
- $lines += ( $buffer =~ tr/\n// );
- }
- close FILE;
+ my $lines = 0;
+ open my($fh), '<:raw', $filename or die "Can't open $filename: $!";
+ while( sysread $fh, $buffer, 4096 ) {
+ $lines += ( $buffer =~ tr/\n// );
+ }
+ close FILE;
However, that doesn't work if the line ending isn't a newline. You
might change that C<tr///> to a C<s///> so you can count the number of
times the input record separator, C<$/>, shows up:
- my $lines = 0;
- open my($fh), '<:raw', $filename or die "Can't open $filename: $!";
- while( sysread $fh, $buffer, 4096 ) {
- $lines += ( $buffer =~ s|$/||g; );
- }
- close FILE;
+ my $lines = 0;
+ open my($fh), '<:raw', $filename or die "Can't open $filename: $!";
+ while( sysread $fh, $buffer, 4096 ) {
+ $lines += ( $buffer =~ s|$/||g; );
+ }
+ close FILE;
If you don't mind shelling out, the C<wc> command is usually the
fastest, even with the extra interprocess overhead. Ensure that you
have an untainted filename though:
- #!perl -T
+ #!perl -T
- $ENV{PATH} = undef;
+ $ENV{PATH} = undef;
- my $lines;
- if( $filename =~ /^([0-9a-z_.]+)\z/ ) {
- $lines = `/usr/bin/wc -l $1`
- chomp $lines;
- }
+ my $lines;
+ if( $filename =~ /^([0-9a-z_.]+)\z/ ) {
+ $lines = `/usr/bin/wc -l $1`
+ chomp $lines;
+ }
=head2 How do I delete the last N lines from a file?
X<lines> X<file>
@@ -333,34 +321,33 @@ without making more than one pass over the file, or how to do it
without a lot of copying. The easy concept is the hard reality when
you might have millions of lines in your file.
-One trick is to use C<File::ReadBackwards>, which starts at the end of
+One trick is to use L<File::ReadBackwards>, which starts at the end of
the file. That module provides an object that wraps the real filehandle
to make it easy for you to move around the file. Once you get to the
spot you need, you can get the actual filehandle and work with it as
normal. In this case, you get the file position at the end of the last
line you want to keep and truncate the file to that point:
- use File::ReadBackwards;
+ use File::ReadBackwards;
- my $filename = 'test.txt';
- my $Lines_to_truncate = 2;
+ my $filename = 'test.txt';
+ my $Lines_to_truncate = 2;
- my $bw = File::ReadBackwards->new( $filename )
- or die "Could not read backwards in [$filename]: $!";
+ my $bw = File::ReadBackwards->new( $filename )
+ or die "Could not read backwards in [$filename]: $!";
- my $lines_from_end = 0;
- until( $bw->eof or $lines_from_end == $Lines_to_truncate )
- {
- print "Got: ", $bw->readline;
- $lines_from_end++;
- }
+ my $lines_from_end = 0;
+ until( $bw->eof or $lines_from_end == $Lines_to_truncate ) {
+ print "Got: ", $bw->readline;
+ $lines_from_end++;
+ }
- truncate( $filename, $bw->tell );
+ truncate( $filename, $bw->tell );
-The C<File::ReadBackwards> module also has the advantage of setting
+The L<File::ReadBackwards> module also has the advantage of setting
the input record separator to a regular expression.
-You can also use the C<Tie::File> module which lets you access
+You can also use the L<Tie::File> module which lets you access
the lines through a tied array. You can use normal array operations
to modify your file, including setting the last index and using
C<splice>.
@@ -373,19 +360,19 @@ the behavior of C<< <> >>; see L<perlrun> for more details. By
modifying the appropriate variables directly, you can get the same
behavior within a larger program. For example:
- # ...
- {
- local($^I, @ARGV) = ('.orig', glob("*.c"));
- while (<>) {
- if ($. == 1) {
- print "This line should appear at the top of each file\n";
- }
- s/\b(p)earl\b/${1}erl/i; # Correct typos, preserving case
- print;
- close ARGV if eof; # Reset $.
- }
- }
- # $^I and @ARGV return to their old values here
+ # ...
+ {
+ local($^I, @ARGV) = ('.orig', glob("*.c"));
+ while (<>) {
+ if ($. == 1) {
+ print "This line should appear at the top of each file\n";
+ }
+ s/\b(p)earl\b/${1}erl/i; # Correct typos, preserving case
+ print;
+ close ARGV if eof; # Reset $.
+ }
+ }
+ # $^I and @ARGV return to their old values here
This block modifies all the C<.c> files in the current directory,
leaving a backup of the original data from each file in a new
@@ -396,15 +383,15 @@ X<copy> X<file, copy> X<File::Copy>
(contributed by brian d foy)
-Use the C<File::Copy> module. It comes with Perl and can do a
+Use the L<File::Copy> module. It comes with Perl and can do a
true copy across file systems, and it does its magic in
a portable fashion.
- use File::Copy;
+ use File::Copy;
- copy( $original, $new_copy ) or die "Copy failed: $!";
+ copy( $original, $new_copy ) or die "Copy failed: $!";
-If you can't use C<File::Copy>, you'll have to do the work yourself:
+If you can't use L<File::Copy>, you'll have to do the work yourself:
open the original file, open the destination file, then print
to the destination file as you read the original. You also have to
remember to copy the permissions, owner, and group to the new file.
@@ -416,55 +403,54 @@ If you don't need to know the name of the file, you can use C<open()>
with C<undef> in place of the file name. In Perl 5.8 or later, the
C<open()> function creates an anonymous temporary file:
- open my $tmp, '+>', undef or die $!;
+ open my $tmp, '+>', undef or die $!;
Otherwise, you can use the File::Temp module.
- use File::Temp qw/ tempfile tempdir /;
+ use File::Temp qw/ tempfile tempdir /;
- my $dir = tempdir( CLEANUP => 1 );
- ($fh, $filename) = tempfile( DIR => $dir );
+ my $dir = tempdir( CLEANUP => 1 );
+ ($fh, $filename) = tempfile( DIR => $dir );
- # or if you don't need to know the filename
+ # or if you don't need to know the filename
- my $fh = tempfile( DIR => $dir );
+ my $fh = tempfile( DIR => $dir );
The File::Temp has been a standard module since Perl 5.6.1. If you
don't have a modern enough Perl installed, use the C<new_tmpfile>
class method from the IO::File module to get a filehandle opened for
reading and writing. Use it if you don't need to know the file's name:
- use IO::File;
- my $fh = IO::File->new_tmpfile()
- or die "Unable to make new temporary file: $!";
+ use IO::File;
+ my $fh = IO::File->new_tmpfile()
+ or die "Unable to make new temporary file: $!";
If you're committed to creating a temporary file by hand, use the
process ID and/or the current time-value. If you need to have many
temporary files in one process, use a counter:
- BEGIN {
- use Fcntl;
- my $temp_dir = -d '/tmp' ? '/tmp' : $ENV{TMPDIR} || $ENV{TEMP};
- my $base_name = sprintf "%s/%d-%d-0000", $temp_dir, $$, time;
-
- sub temp_file {
- my $fh;
- my $count = 0;
- until( defined(fileno($fh)) || $count++ > 100 ) {
- $base_name =~ s/-(\d+)$/"-" . (1 + $1)/e;
- # O_EXCL is required for security reasons.
- sysopen $fh, $base_name, O_WRONLY|O_EXCL|O_CREAT;
- }
-
- if( defined fileno($fh) ) {
- return ($fh, $base_name);
- }
- else {
- return ();
- }
- }
-
- }
+ BEGIN {
+ use Fcntl;
+ my $temp_dir = -d '/tmp' ? '/tmp' : $ENV{TMPDIR} || $ENV{TEMP};
+ my $base_name = sprintf "%s/%d-%d-0000", $temp_dir, $$, time;
+
+ sub temp_file {
+ my $fh;
+ my $count = 0;
+ until( defined(fileno($fh)) || $count++ > 100 ) {
+ $base_name =~ s/-(\d+)$/"-" . (1 + $1)/e;
+ # O_EXCL is required for security reasons.
+ sysopen $fh, $base_name, O_WRONLY|O_EXCL|O_CREAT;
+ }
+
+ if( defined fileno($fh) ) {
+ return ($fh, $base_name);
+ }
+ else {
+ return ();
+ }
+ }
+ }
=head2 How can I manipulate fixed-record-length files?
X<fixed-length> X<file, fixed-length records>
@@ -478,27 +464,27 @@ Here is a sample chunk of code to break up and put back together again
some fixed-format input lines, in this case from the output of a normal,
Berkeley-style ps:
- # sample input line:
- # 15158 p5 T 0:00 perl /home/tchrist/scripts/now-what
- my $PS_T = 'A6 A4 A7 A5 A*';
- open my $ps, '-|', 'ps';
- print scalar <$ps>;
- my @fields = qw( pid tt stat time command );
- while (<$ps>) {
- my %process;
- @process{@fields} = unpack($PS_T, $_);
- for my $field ( @fields ) {
- print "$field: <$process{$field}>\n";
- }
- print 'line=', pack($PS_T, @process{@fields} ), "\n";
- }
+ # sample input line:
+ # 15158 p5 T 0:00 perl /home/tchrist/scripts/now-what
+ my $PS_T = 'A6 A4 A7 A5 A*';
+ open my $ps, '-|', 'ps';
+ print scalar <$ps>;
+ my @fields = qw( pid tt stat time command );
+ while (<$ps>) {
+ my %process;
+ @process{@fields} = unpack($PS_T, $_);
+ for my $field ( @fields ) {
+ print "$field: <$process{$field}>\n";
+ }
+ print 'line=', pack($PS_T, @process{@fields} ), "\n";
+ }
We've used a hash slice in order to easily handle the fields of each row.
Storing the keys in an array makes it easy to operate on them as a
group or loop over them with C<for>. It also avoids polluting the program
with global variables and using symbolic references.
-=head2 How can I make a filehandle local to a subroutine? How do I pass filehandles between subroutines? How do I make an array of filehandles?
+=head2 How can I make a filehandle local to a subroutine? How do I pass filehandles between subroutines? How do I make an array of filehandles?
X<filehandle, local> X<filehandle, passing> X<filehandle, reference>
As of perl5.6, open() autovivifies file and directory handles
@@ -506,13 +492,13 @@ as references if you pass it an uninitialized scalar variable.
You can then pass these references just like any other scalar,
and use them in the place of named handles.
- open my $fh, $file_name;
+ open my $fh, $file_name;
- open local $fh, $file_name;
+ open local $fh, $file_name;
- print $fh "Hello World!\n";
+ print $fh "Hello World!\n";
- process_file( $fh );
+ process_file( $fh );
If you like, you can store these filehandles in an array or a hash.
If you access them directly, they aren't simple scalars and you
@@ -520,21 +506,21 @@ need to give C<print> a little help by placing the filehandle
reference in braces. Perl can only figure it out on its own when
the filehandle reference is a simple scalar.
- my @fhs = ( $fh1, $fh2, $fh3 );
+ my @fhs = ( $fh1, $fh2, $fh3 );
- for( $i = 0; $i <= $#fhs; $i++ ) {
- print {$fhs[$i]} "just another Perl answer, \n";
- }
+ for( $i = 0; $i <= $#fhs; $i++ ) {
+ print {$fhs[$i]} "just another Perl answer, \n";
+ }
Before perl5.6, you had to deal with various typeglob idioms
which you may see in older code.
- open FILE, "> $filename";
- process_typeglob( *FILE );
- process_reference( \*FILE );
+ open FILE, "> $filename";
+ process_typeglob( *FILE );
+ process_reference( \*FILE );
- sub process_typeglob { local *FH = shift; print FH "Typeglob!" }
- sub process_reference { local $fh = shift; print $fh "Reference!" }
+ sub process_typeglob { local *FH = shift; print FH "Typeglob!" }
+ sub process_reference { local $fh = shift; print $fh "Reference!" }
If you want to create many anonymous handles, you should
check out the Symbol or IO::Handle modules.
@@ -546,17 +532,17 @@ An indirect filehandle is the use of something other than a symbol
in a place that a filehandle is expected. Here are ways
to get indirect filehandles:
- $fh = SOME_FH; # bareword is strict-subs hostile
- $fh = "SOME_FH"; # strict-refs hostile; same package only
- $fh = *SOME_FH; # typeglob
- $fh = \*SOME_FH; # ref to typeglob (bless-able)
- $fh = *SOME_FH{IO}; # blessed IO::Handle from *SOME_FH typeglob
+ $fh = SOME_FH; # bareword is strict-subs hostile
+ $fh = "SOME_FH"; # strict-refs hostile; same package only
+ $fh = *SOME_FH; # typeglob
+ $fh = \*SOME_FH; # ref to typeglob (bless-able)
+ $fh = *SOME_FH{IO}; # blessed IO::Handle from *SOME_FH typeglob
Or, you can use the C<new> method from one of the IO::* modules to
create an anonymous filehandle and store that in a scalar variable.
- use IO::Handle; # 5.004 or higher
- my $fh = IO::Handle->new();
+ use IO::Handle; # 5.004 or higher
+ my $fh = IO::Handle->new();
Then use any of those as you would a normal filehandle. Anywhere that
Perl is expecting a filehandle, an indirect filehandle may be used
@@ -565,32 +551,32 @@ a filehandle. Functions like C<print>, C<open>, C<seek>, or
the C<< <FH> >> diamond operator will accept either a named filehandle
or a scalar variable containing one:
- ($ifh, $ofh, $efh) = (*STDIN, *STDOUT, *STDERR);
- print $ofh "Type it: ";
- my $got = <$ifh>
- print $efh "What was that: $got";
+ ($ifh, $ofh, $efh) = (*STDIN, *STDOUT, *STDERR);
+ print $ofh "Type it: ";
+ my $got = <$ifh>
+ print $efh "What was that: $got";
If you're passing a filehandle to a function, you can write
the function in two ways:
- sub accept_fh {
- my $fh = shift;
- print $fh "Sending to indirect filehandle\n";
- }
+ sub accept_fh {
+ my $fh = shift;
+ print $fh "Sending to indirect filehandle\n";
+ }
Or it can localize a typeglob and use the filehandle directly:
- sub accept_fh {
- local *FH = shift;
- print FH "Sending to localized filehandle\n";
- }
+ sub accept_fh {
+ local *FH = shift;
+ print FH "Sending to localized filehandle\n";
+ }
Both styles work with either objects or typeglobs of real filehandles.
(They might also work with strings under some circumstances, but this
is risky.)
- accept_fh(*STDOUT);
- accept_fh($handle);
+ accept_fh(*STDOUT);
+ accept_fh($handle);
In the examples above, we assigned the filehandle to a scalar variable
before using it. That is because only simple scalar variables, not
@@ -599,24 +585,24 @@ built-ins like C<print>, C<printf>, or the diamond operator. Using
something other than a simple scalar variable as a filehandle is
illegal and won't even compile:
- my @fd = (*STDIN, *STDOUT, *STDERR);
- print $fd[1] "Type it: "; # WRONG
- my $got = <$fd[0]> # WRONG
- print $fd[2] "What was that: $got"; # WRONG
+ my @fd = (*STDIN, *STDOUT, *STDERR);
+ print $fd[1] "Type it: "; # WRONG
+ my $got = <$fd[0]> # WRONG
+ print $fd[2] "What was that: $got"; # WRONG
With C<print> and C<printf>, you get around this by using a block and
an expression where you would place the filehandle:
- print { $fd[1] } "funny stuff\n";
- printf { $fd[1] } "Pity the poor %x.\n", 3_735_928_559;
- # Pity the poor deadbeef.
+ print { $fd[1] } "funny stuff\n";
+ printf { $fd[1] } "Pity the poor %x.\n", 3_735_928_559;
+ # Pity the poor deadbeef.
That block is a proper block like any other, so you can put more
complicated code there. This sends the message out to one of two places:
- my $ok = -x "/bin/cat";
- print { $ok ? $fd[1] : $fd[2] } "cat stat $ok\n";
- print { $fd[ 1+ ($ok || 0) ] } "cat stat $ok\n";
+ my $ok = -x "/bin/cat";
+ print { $ok ? $fd[1] : $fd[2] } "cat stat $ok\n";
+ print { $fd[ 1+ ($ok || 0) ] } "cat stat $ok\n";
This approach of treating C<print> and C<printf> like object methods
calls doesn't work for the diamond operator. That's because it's a
@@ -627,7 +613,7 @@ as C<< <> >> does. Given the initialization shown above for @fd, this
would work, but only because readline() requires a typeglob. It doesn't
work with objects or strings, which might be a bug we haven't fixed yet.
- $got = readline($fd[0]);
+ $got = readline($fd[0]);
Let it be noted that the flakiness of indirect filehandles is not
related to whether they're strings, typeglobs, objects, or anything else.
@@ -648,8 +634,8 @@ X<write, into a string>
If you want to C<write> into a string, you just have to <open> a
filehandle to a string, which Perl has been able to do since Perl 5.6:
- open FH, '>', \my $string;
- write( FH );
+ open FH, '>', \my $string;
+ write( FH );
Since you want to be a good programmer, you probably want to use a lexical
filehandle, even though formats are designed to work with bareword filehandles
@@ -658,34 +644,34 @@ control this with some Perl special per-filehandle variables: C<$^>, which
names the top-of-page format, and C<$~> which shows the line format. You have
to change the default filehandle to set these variables:
- open my($fh), '>', \my $string;
+ open my($fh), '>', \my $string;
- { # set per-filehandle variables
- my $old_fh = select( $fh );
- $~ = 'ANIMAL';
- $^ = 'ANIMAL_TOP';
- select( $old_fh );
- }
+ { # set per-filehandle variables
+ my $old_fh = select( $fh );
+ $~ = 'ANIMAL';
+ $^ = 'ANIMAL_TOP';
+ select( $old_fh );
+ }
- format ANIMAL_TOP =
- ID Type Name
- .
+ format ANIMAL_TOP =
+ ID Type Name
+ .
- format ANIMAL =
- @## @<<< @<<<<<<<<<<<<<<
- $id, $type, $name
- .
+ format ANIMAL =
+ @## @<<< @<<<<<<<<<<<<<<
+ $id, $type, $name
+ .
Although write can work with lexical or package variables, whatever variables
you use have to scope in the format. That most likely means you'll want to
localize some package variables:
- {
- local( $id, $type, $name ) = qw( 12 cat Buster );
- write( $fh );
- }
+ {
+ local( $id, $type, $name ) = qw( 12 cat Buster );
+ write( $fh );
+ }
- print $string;
+ print $string;
There are also some tricks that you can play with C<formline> and the
accumulator variable C<$^A>, but you lose a lot of the value of formats
@@ -701,14 +687,14 @@ Since Perl 5.8.0 a file handle referring to a string can be created by
calling open with a reference to that string instead of the filename.
This file handle can then be used to read from or write to the string:
- open(my $fh, '>', \$string) or die "Could not open string for writing";
- print $fh "foo\n";
- print $fh "bar\n"; # $string now contains "foo\nbar\n"
+ open(my $fh, '>', \$string) or die "Could not open string for writing";
+ print $fh "foo\n";
+ print $fh "bar\n"; # $string now contains "foo\nbar\n"
- open(my $fh, '<', \$string) or die "Could not open string for reading";
- my $x = <$fh>; # $x now contains "foo\n"
+ open(my $fh, '<', \$string) or die "Could not open string for reading";
+ my $x = <$fh>; # $x now contains "foo\n"
-With older versions of Perl, the C<IO::String> module provides similar
+With older versions of Perl, the L<IO::String> module provides similar
functionality.
=head2 How can I output my numbers with commas added?
@@ -723,29 +709,29 @@ really).
This subroutine will add commas to your number:
- sub commify {
- local $_ = shift;
- 1 while s/^([-+]?\d+)(\d{3})/$1,$2/;
- return $_;
- }
+ sub commify {
+ local $_ = shift;
+ 1 while s/^([-+]?\d+)(\d{3})/$1,$2/;
+ return $_;
+ }
This regex from Benjamin Goldberg will add commas to numbers:
- s/(^[-+]?\d+?(?=(?>(?:\d{3})+)(?!\d))|\G\d{3}(?=\d))/$1,/g;
+ s/(^[-+]?\d+?(?=(?>(?:\d{3})+)(?!\d))|\G\d{3}(?=\d))/$1,/g;
It is easier to see with comments:
- s/(
- ^[-+]? # beginning of number.
- \d+? # first digits before first comma
- (?= # followed by, (but not included in the match) :
- (?>(?:\d{3})+) # some positive multiple of three digits.
- (?!\d) # an *exact* multiple, not x * 3 + 1 or whatever.
- )
- | # or:
- \G\d{3} # after the last group, get three digits
- (?=\d) # but they have to have more digits after them.
- )/$1,/xg;
+ s/(
+ ^[-+]? # beginning of number.
+ \d+? # first digits before first comma
+ (?= # followed by, (but not included in the match) :
+ (?>(?:\d{3})+) # some positive multiple of three digits.
+ (?!\d) # an *exact* multiple, not x * 3 + 1 or whatever.
+ )
+ | # or:
+ \G\d{3} # after the last group, get three digits
+ (?=\d) # but they have to have more digits after them.
+ )/$1,/xg;
=head2 How can I translate tildes (~) in a filename?
X<tilde> X<tilde expansion>
@@ -753,22 +739,22 @@ X<tilde> X<tilde expansion>
Use the E<lt>E<gt> (C<glob()>) operator, documented in L<perlfunc>.
Versions of Perl older than 5.6 require that you have a shell
installed that groks tildes. Later versions of Perl have this feature
-built in. The C<File::KGlob> module (available from CPAN) gives more
+built in. The L<File::KGlob> module (available from CPAN) gives more
portable glob functionality.
Within Perl, you may use this directly:
- $filename =~ s{
- ^ ~ # find a leading tilde
- ( # save this in $1
- [^/] # a non-slash character
- * # repeated 0 or more times (0 means me)
- )
- }{
- $1
- ? (getpwnam($1))[7]
- : ( $ENV{HOME} || $ENV{LOGDIR} )
- }ex;
+ $filename =~ s{
+ ^ ~ # find a leading tilde
+ ( # save this in $1
+ [^/] # a non-slash character
+ * # repeated 0 or more times (0 means me)
+ )
+ }{
+ $1
+ ? (getpwnam($1))[7]
+ : ( $ENV{HOME} || $ENV{LOGDIR} )
+ }ex;
=head2 How come when I open a file read-write it wipes it out?
X<clobber> X<read-write> X<clobbering> X<truncate> X<truncating>
@@ -776,66 +762,66 @@ X<clobber> X<read-write> X<clobbering> X<truncate> X<truncating>
Because you're using something like this, which truncates the file
I<then> gives you read-write access:
- open my $fh, '+>', '/path/name'; # WRONG (almost always)
+ open my $fh, '+>', '/path/name'; # WRONG (almost always)
Whoops. You should instead use this, which will fail if the file
doesn't exist:
- open my $fh, '+<', '/path/name'; # open for update
+ open my $fh, '+<', '/path/name'; # open for update
Using ">" always clobbers or creates. Using "<" never does
either. The "+" doesn't change this.
Here are examples of many kinds of file opens. Those using C<sysopen>
-all assume that you've pulled in the constants from C<Fcntl>:
+all assume that you've pulled in the constants from L<Fcntl>:
- use Fcntl;
+ use Fcntl;
To open file for reading:
- open my $fh, '<', $path or die $!;
- sysopen my $fh, $path, O_RDONLY or die $!;
+ open my $fh, '<', $path or die $!;
+ sysopen my $fh, $path, O_RDONLY or die $!;
To open file for writing, create new file if needed or else truncate old file:
- open my $fh, '>', $path or die $!;
- sysopen my $fh, $path, O_WRONLY|O_TRUNC|O_CREAT or die $!;
- sysopen my $fh, $path, O_WRONLY|O_TRUNC|O_CREAT, 0666 or die $!;
+ open my $fh, '>', $path or die $!;
+ sysopen my $fh, $path, O_WRONLY|O_TRUNC|O_CREAT or die $!;
+ sysopen my $fh, $path, O_WRONLY|O_TRUNC|O_CREAT, 0666 or die $!;
To open file for writing, create new file, file must not exist:
- sysopen my $fh, $path, O_WRONLY|O_EXCL|O_CREAT or die $!;
- sysopen my $fh, $path, O_WRONLY|O_EXCL|O_CREAT, 0666 or die $!;
+ sysopen my $fh, $path, O_WRONLY|O_EXCL|O_CREAT or die $!;
+ sysopen my $fh, $path, O_WRONLY|O_EXCL|O_CREAT, 0666 or die $!;
To open file for appending, create if necessary:
- open my $fh, '>>' $path or die $!;
- sysopen my $fh, $path, O_WRONLY|O_APPEND|O_CREAT or die $!;
- sysopen my $fh, $path, O_WRONLY|O_APPEND|O_CREAT, 0666 or die $!;
+ open my $fh, '>>' $path or die $!;
+ sysopen my $fh, $path, O_WRONLY|O_APPEND|O_CREAT or die $!;
+ sysopen my $fh, $path, O_WRONLY|O_APPEND|O_CREAT, 0666 or die $!;
To open file for appending, file must exist:
- sysopen my $fh, $path, O_WRONLY|O_APPEND or die $!;
+ sysopen my $fh, $path, O_WRONLY|O_APPEND or die $!;
To open file for update, file must exist:
- open my $fh, '+<', $path or die $!;
- sysopen my $fh, $path, O_RDWR or die $!;
+ open my $fh, '+<', $path or die $!;
+ sysopen my $fh, $path, O_RDWR or die $!;
To open file for update, create file if necessary:
- sysopen my $fh, $path, O_RDWR|O_CREAT or die $!;
- sysopen my $fh, $path, O_RDWR|O_CREAT, 0666 or die $!;
+ sysopen my $fh, $path, O_RDWR|O_CREAT or die $!;
+ sysopen my $fh, $path, O_RDWR|O_CREAT, 0666 or die $!;
To open file for update, file must not exist:
- sysopen my $fh, $path, O_RDWR|O_EXCL|O_CREAT or die $!;
- sysopen my $fh, $path, O_RDWR|O_EXCL|O_CREAT, 0666 or die $!;
+ sysopen my $fh, $path, O_RDWR|O_EXCL|O_CREAT or die $!;
+ sysopen my $fh, $path, O_RDWR|O_EXCL|O_CREAT, 0666 or die $!;
To open a file without blocking, creating if necessary:
- sysopen my $fh, '/foo/somefile', O_WRONLY|O_NDELAY|O_CREAT
- or die "can't open /foo/somefile: $!":
+ sysopen my $fh, '/foo/somefile', O_WRONLY|O_NDELAY|O_CREAT
+ or die "can't open /foo/somefile: $!":
Be warned that neither creation nor deletion of files is guaranteed to
be an atomic operation over NFS. That is, two processes might both
@@ -855,18 +841,9 @@ C<Argument list too long>. People who installed tcsh as csh won't
have this problem, but their users may be surprised by it.
To get around this, either upgrade to Perl v5.6.0 or later, do the glob
-yourself with readdir() and patterns, or use a module like File::KGlob,
+yourself with readdir() and patterns, or use a module like L<File::Glob>,
one that doesn't use the shell to do globbing.
-=head2 Is there a leak/bug in glob()?
-X<glob>
-
-(contributed by brian d foy)
-
-Starting with Perl 5.6.0, C<glob> is implemented internally rather
-than relying on an external resource. As such, memory issues with
-C<glob> aren't a problem in modern perls.
-
=head2 How can I open a file with a leading ">" or trailing blanks?
X<filename, special characters>
@@ -881,8 +858,8 @@ Unless you have a particular reason to use the two-argument form you
should use the three-argument form of open() which does not treat any
characters in the filename as special.
- open my $fh, "<", " file "; # filename is " file "
- open my $fh, ">", ">file"; # filename is ">file"
+ open my $fh, "<", " file "; # filename is " file "
+ open my $fh, ">", ">file"; # filename is ">file"
=head2 How can I reliably rename a file?
X<rename> X<mv> X<move> X<file, rename>
@@ -890,9 +867,9 @@ X<rename> X<mv> X<move> X<file, rename>
If your operating system supports a proper mv(1) utility or its
functional equivalent, this works:
- rename($old, $new) or system("mv", $old, $new);
+ rename($old, $new) or system("mv", $old, $new);
-It may be more portable to use the C<File::Copy> module instead.
+It may be more portable to use the L<File::Copy> module instead.
You just copy to the new file to the new name (checking return
values), then delete the old one. This isn't really the same
semantically as a C<rename()>, which preserves meta-information like
@@ -951,15 +928,15 @@ X<lock, lockfile race condition>
A common bit of code B<NOT TO USE> is this:
- sleep(3) while -e 'file.lock'; # PLEASE DO NOT USE
- open my $lock, '>', 'file.lock'; # THIS BROKEN CODE
+ sleep(3) while -e 'file.lock'; # PLEASE DO NOT USE
+ open my $lock, '>', 'file.lock'; # THIS BROKEN CODE
This is a classic race condition: you take two steps to do something
which must be done in one. That's why computer hardware provides an
atomic test-and-set instruction. In theory, this "ought" to work:
- sysopen my $fh, "file.lock", O_WRONLY|O_EXCL|O_CREAT
- or die "can't open file.lock: $!";
+ sysopen my $fh, "file.lock", O_WRONLY|O_EXCL|O_CREAT
+ or die "can't open file.lock: $!";
except that lamentably, file creation (and deletion) is not atomic
over NFS, so this won't work (at least, not every time) over the net.
@@ -976,18 +953,18 @@ they're more realistic.
Anyway, this is what you can do if you can't help yourself.
- use Fcntl qw(:DEFAULT :flock);
- sysopen my $fh, "numfile", O_RDWR|O_CREAT or die "can't open numfile: $!";
- flock $fh, LOCK_EX or die "can't flock numfile: $!";
- my $num = <$fh> || 0;
- seek $fh, 0, 0 or die "can't rewind numfile: $!";
- truncate $fh, 0 or die "can't truncate numfile: $!";
- (print $fh $num+1, "\n") or die "can't write numfile: $!";
- close $fh or die "can't close numfile: $!";
+ use Fcntl qw(:DEFAULT :flock);
+ sysopen my $fh, "numfile", O_RDWR|O_CREAT or die "can't open numfile: $!";
+ flock $fh, LOCK_EX or die "can't flock numfile: $!";
+ my $num = <$fh> || 0;
+ seek $fh, 0, 0 or die "can't rewind numfile: $!";
+ truncate $fh, 0 or die "can't truncate numfile: $!";
+ (print $fh $num+1, "\n") or die "can't write numfile: $!";
+ close $fh or die "can't close numfile: $!";
Here's a much better web-page hit counter:
- $hits = int( (time() - 850_000_000) / rand(1_000) );
+ $hits = int( (time() - 850_000_000) / rand(1_000) );
If the count doesn't impress your friends, then the code might. :-)
@@ -1028,20 +1005,20 @@ X<file, binary patch>
If you're just trying to patch a binary, in many cases something as
simple as this works:
- perl -i -pe 's{window manager}{window mangler}g' /usr/bin/emacs
+ perl -i -pe 's{window manager}{window mangler}g' /usr/bin/emacs
However, if you have fixed sized records, then you might do something more
like this:
- $RECSIZE = 220; # size of record, in bytes
- $recno = 37; # which record to update
- open my $fh, '+<', 'somewhere' or die "can't update somewhere: $!";
- seek $fh, $recno * $RECSIZE, 0;
- read $fh, $record, $RECSIZE == $RECSIZE or die "can't read record $recno: $!";
- # munge the record
- seek $fh, -$RECSIZE, 1;
- print $fh $record;
- close $fh;
+ my $RECSIZE = 220; # size of record, in bytes
+ my $recno = 37; # which record to update
+ open my $fh, '+<', 'somewhere' or die "can't update somewhere: $!";
+ seek $fh, $recno * $RECSIZE, 0;
+ read $fh, $record, $RECSIZE == $RECSIZE or die "can't read record $recno: $!";
+ # munge the record
+ seek $fh, -$RECSIZE, 1;
+ print $fh $record;
+ close $fh;
Locking and error checking are left as an exercise for the reader.
Don't forget them or you'll be quite sorry.
@@ -1061,18 +1038,18 @@ C<POSIX::strftime()> to convert this into human-readable form.
Here's an example:
- my $write_secs = (stat($file))[9];
- printf "file %s updated at %s\n", $file,
- scalar localtime($write_secs);
+ my $write_secs = (stat($file))[9];
+ printf "file %s updated at %s\n", $file,
+ scalar localtime($write_secs);
If you prefer something more legible, use the File::stat module
(part of the standard distribution in version 5.004 and later):
- # error checking left as an exercise for reader.
- use File::stat;
- use Time::localtime;
- my $date_string = ctime(stat($file)->mtime);
- print "file $file updated at $date_string\n";
+ # error checking left as an exercise for reader.
+ use File::stat;
+ use Time::localtime;
+ my $date_string = ctime(stat($file)->mtime);
+ print "file $file updated at $date_string\n";
The POSIX::strftime() approach has the benefit of being,
in theory, independent of the current locale. See L<perllocale>
@@ -1086,12 +1063,12 @@ By way of example, here's a little program that copies the
read and write times from its first argument to all the rest
of them.
- if (@ARGV < 2) {
- die "usage: cptimes timestamp_file other_files ...\n";
- }
- my $timestamp = shift;
- my($atime, $mtime) = (stat($timestamp))[8,9];
- utime $atime, $mtime, @ARGV;
+ if (@ARGV < 2) {
+ die "usage: cptimes timestamp_file other_files ...\n";
+ }
+ my $timestamp = shift;
+ my($atime, $mtime) = (stat($timestamp))[8,9];
+ utime $atime, $mtime, @ARGV;
Error checking is, as usual, left as an exercise for the reader.
@@ -1108,12 +1085,12 @@ the filesystems, not of utime().
X<print, to multiple files>
To connect one filehandle to several output filehandles,
-you can use the IO::Tee or Tie::FileHandle::Multiplex modules.
+you can use the L<IO::Tee> or L<Tie::FileHandle::Multiplex> modules.
If you only have to do this once, you can print individually
to each filehandle.
- for my $fh (FH1, FH2, FH3) { print $fh "whatever\n" }
+ for my $fh ($fh1, $fh2, $fh3) { print $fh "whatever\n" }
=head2 How can I read in an entire file all at once?
X<slurp> X<file, slurping>
@@ -1121,70 +1098,70 @@ X<slurp> X<file, slurping>
The customary Perl approach for processing all the lines in a file is to
do so one line at a time:
- open my $input, '<', $file or die "can't open $file: $!";
- while (<$input>) {
- chomp;
- # do something with $_
- }
- close $input or die "can't close $file: $!";
+ open my $input, '<', $file or die "can't open $file: $!";
+ while (<$input>) {
+ chomp;
+ # do something with $_
+ }
+ close $input or die "can't close $file: $!";
This is tremendously more efficient than reading the entire file into
memory as an array of lines and then processing it one element at a time,
which is often--if not almost always--the wrong approach. Whenever
you see someone do this:
- my @lines = <INPUT>;
+ my @lines = <INPUT>;
You should think long and hard about why you need everything loaded at
once. It's just not a scalable solution.
-If you "mmap" the file with the File::Map module from
+If you "mmap" the file with the File::Map module from
CPAN, you can virtually load the entire file into a
string without actually storing it in memory:
- use File::Map qw(map_file);
+ use File::Map qw(map_file);
- map_file my $string, $filename;
+ map_file my $string, $filename;
Once mapped, you can treat C<$string> as you would any other string.
Since you don't necessarily have to load the data, mmap-ing can be
very fast and may not increase your memory footprint.
You might also find it more
-fun to use the standard C<Tie::File> module, or the C<DB_File> module's
+fun to use the standard L<Tie::File> module, or the L<DB_File> module's
C<$DB_RECNO> bindings, which allow you to tie an array to a file so that
accessing an element of the array actually accesses the corresponding
line in the file.
-If you want to load the entire file, you can use the C<File::Slurp>
+If you want to load the entire file, you can use the L<File::Slurp>
module to do it in one one simple and efficient step:
- use File::Slurp;
+ use File::Slurp;
- my $all_of_it = read_file($filename); # entire file in scalar
- my @all_lines = read_file($filename); # one line per element
+ my $all_of_it = read_file($filename); # entire file in scalar
+ my @all_lines = read_file($filename); # one line per element
Or you can read the entire file contents into a scalar like this:
- my $var;
- {
- local $/;
- open my $fh, '<', $file or die "can't open $file: $!";
- $var = <$fh>;
- }
+ my $var;
+ {
+ local $/;
+ open my $fh, '<', $file or die "can't open $file: $!";
+ $var = <$fh>;
+ }
That temporarily undefs your record separator, and will automatically
close the file at block exit. If the file is already open, just use this:
- my $var = do { local $/; <$fh> };
+ my $var = do { local $/; <$fh> };
You can also use a localized C<@ARGV> to eliminate the C<open>:
- my $var = do { local( @ARGV, $/ ) = $file; <> };
+ my $var = do { local( @ARGV, $/ ) = $file; <> };
For ordinary files you can also use the C<read> function.
- read( $fh, $var, -s $fh );
+ read( $fh, $var, -s $fh );
That third argument tests the byte size of the data on the C<$fh> filehandle
and reads that many bytes into the buffer C<$var>.
@@ -1200,7 +1177,7 @@ C<"\n\n"> to accept empty paragraphs.
Note that a blank line must have no blanks in it. Thus
S<C<"fred\n \nstuff\n\n">> is one paragraph, but C<"fred\n\nstuff\n\n"> is two.
-=head2 How can I read a single character from a file? From the keyboard?
+=head2 How can I read a single character from a file? From the keyboard?
X<getc> X<file, reading one character at a time>
You can use the builtin C<getc()> function for most filehandles, but
@@ -1212,65 +1189,64 @@ If your system supports the portable operating system programming
interface (POSIX), you can use the following code, which you'll note
turns off echo processing as well.
- #!/usr/bin/perl -w
- use strict;
- $| = 1;
- for (1..4) {
- print "gimme: ";
- my $got = getone();
- print "--> $got\n";
- }
+ #!/usr/bin/perl -w
+ use strict;
+ $| = 1;
+ for (1..4) {
+ print "gimme: ";
+ my $got = getone();
+ print "--> $got\n";
+ }
exit;
- BEGIN {
- use POSIX qw(:termios_h);
-
- my ($term, $oterm, $echo, $noecho, $fd_stdin);
+ BEGIN {
+ use POSIX qw(:termios_h);
- my $fd_stdin = fileno(STDIN);
+ my ($term, $oterm, $echo, $noecho, $fd_stdin);
- $term = POSIX::Termios->new();
- $term->getattr($fd_stdin);
- $oterm = $term->getlflag();
+ my $fd_stdin = fileno(STDIN);
- $echo = ECHO | ECHOK | ICANON;
- $noecho = $oterm & ~$echo;
+ $term = POSIX::Termios->new();
+ $term->getattr($fd_stdin);
+ $oterm = $term->getlflag();
- sub cbreak {
- $term->setlflag($noecho);
- $term->setcc(VTIME, 1);
- $term->setattr($fd_stdin, TCSANOW);
- }
+ $echo = ECHO | ECHOK | ICANON;
+ $noecho = $oterm & ~$echo;
- sub cooked {
- $term->setlflag($oterm);
- $term->setcc(VTIME, 0);
- $term->setattr($fd_stdin, TCSANOW);
- }
+ sub cbreak {
+ $term->setlflag($noecho);
+ $term->setcc(VTIME, 1);
+ $term->setattr($fd_stdin, TCSANOW);
+ }
- sub getone {
- my $key = '';
- cbreak();
- sysread(STDIN, $key, 1);
- cooked();
- return $key;
- }
+ sub cooked {
+ $term->setlflag($oterm);
+ $term->setcc(VTIME, 0);
+ $term->setattr($fd_stdin, TCSANOW);
+ }
- }
+ sub getone {
+ my $key = '';
+ cbreak();
+ sysread(STDIN, $key, 1);
+ cooked();
+ return $key;
+ }
+ }
- END { cooked() }
+ END { cooked() }
The Term::ReadKey module from CPAN may be easier to use. Recent versions
include also support for non-portable systems as well.
- use Term::ReadKey;
- open my $tty, '<', '/dev/tty';
- print "Gimme a char: ";
- ReadMode "raw";
- my $key = ReadKey 0, $tty;
- ReadMode "normal";
- printf "\nYou said %s, char number %03d\n",
- $key, ord $key;
+ use Term::ReadKey;
+ open my $tty, '<', '/dev/tty';
+ print "Gimme a char: ";
+ ReadMode "raw";
+ my $key = ReadKey 0, $tty;
+ ReadMode "normal";
+ printf "\nYou said %s, char number %03d\n",
+ $key, ord $key;
=head2 How can I tell whether there's a character waiting on a filehandle?
@@ -1284,11 +1260,11 @@ comp.unix.* for things like this: the answer is essentially the same.
It's very system-dependent. Here's one solution that works on BSD
systems:
- sub key_ready {
- my($rin, $nfd);
- vec($rin, fileno(STDIN), 1) = 1;
- return $nfd = select($rin,undef,undef,0);
- }
+ sub key_ready {
+ my($rin, $nfd);
+ vec($rin, fileno(STDIN), 1) = 1;
+ return $nfd = select($rin,undef,undef,0);
+ }
If you want to find out how many characters are waiting, there's
also the FIONREAD ioctl call to be looked at. The I<h2ph> tool that
@@ -1296,37 +1272,37 @@ comes with Perl tries to convert C include files to Perl code, which
can be C<require>d. FIONREAD ends up defined as a function in the
I<sys/ioctl.ph> file:
- require 'sys/ioctl.ph';
+ require 'sys/ioctl.ph';
- $size = pack("L", 0);
- ioctl(FH, FIONREAD(), $size) or die "Couldn't call ioctl: $!\n";
- $size = unpack("L", $size);
+ $size = pack("L", 0);
+ ioctl(FH, FIONREAD(), $size) or die "Couldn't call ioctl: $!\n";
+ $size = unpack("L", $size);
If I<h2ph> wasn't installed or doesn't work for you, you can
I<grep> the include files by hand:
- % grep FIONREAD /usr/include/*/*
- /usr/include/asm/ioctls.h:#define FIONREAD 0x541B
+ % grep FIONREAD /usr/include/*/*
+ /usr/include/asm/ioctls.h:#define FIONREAD 0x541B
Or write a small C program using the editor of champions:
- % cat > fionread.c
- #include <sys/ioctl.h>
- main() {
- printf("%#08x\n", FIONREAD);
- }
- ^D
- % cc -o fionread fionread.c
- % ./fionread
- 0x4004667f
+ % cat > fionread.c
+ #include <sys/ioctl.h>
+ main() {
+ printf("%#08x\n", FIONREAD);
+ }
+ ^D
+ % cc -o fionread fionread.c
+ % ./fionread
+ 0x4004667f
And then hard-code it, leaving porting as an exercise to your successor.
- $FIONREAD = 0x4004667f; # XXX: opsys dependent
+ $FIONREAD = 0x4004667f; # XXX: opsys dependent
- $size = pack("L", 0);
- ioctl(FH, $FIONREAD, $size) or die "Couldn't call ioctl: $!\n";
- $size = unpack("L", $size);
+ $size = pack("L", 0);
+ ioctl(FH, $FIONREAD, $size) or die "Couldn't call ioctl: $!\n";
+ $size = unpack("L", $size);
FIONREAD requires a filehandle connected to a stream, meaning that sockets,
pipes, and tty devices work, but I<not> files.
@@ -1336,28 +1312,28 @@ X<tail> X<IO::Handle> X<File::Tail> X<clearerr>
First try
- seek(GWFILE, 0, 1);
+ seek($gw_fh, 0, 1);
-The statement C<seek(GWFILE, 0, 1)> doesn't change the current position,
+The statement C<seek($gw_fh, 0, 1)> doesn't change the current position,
but it does clear the end-of-file condition on the handle, so that the
-next C<< <GWFILE> >> makes Perl try again to read something.
+next C<< <$gw_fh> >> makes Perl try again to read something.
If that doesn't work (it relies on features of your stdio implementation),
then you need something more like this:
- for (;;) {
- for ($curpos = tell(GWFILE); <GWFILE>; $curpos = tell(GWFILE)) {
- # search for some stuff and put it into files
- }
- # sleep for a while
- seek(GWFILE, $curpos, 0); # seek to where we had been
- }
+ for (;;) {
+ for ($curpos = tell($gw_fh); <$gw_fh>; $curpos =tell($gw_fh)) {
+ # search for some stuff and put it into files
+ }
+ # sleep for a while
+ seek($gw_fh, $curpos, 0); # seek to where we had been
+ }
If this still doesn't work, look into the C<clearerr> method
-from C<IO::Handle>, which resets the error and end-of-file states
+from L<IO::Handle>, which resets the error and end-of-file states
on the handle.
-There's also a C<File::Tail> module from CPAN.
+There's also a L<File::Tail> module from CPAN.
=head2 How do I dup() a filehandle in Perl?
X<dup>
@@ -1365,13 +1341,13 @@ X<dup>
If you check L<perlfunc/open>, you'll see that several of the ways
to call open() should do the trick. For example:
- open my $log, '>>', '/foo/logfile';
- open STDERR, '>&LOG';
+ open my $log, '>>', '/foo/logfile';
+ open STDERR, '>&', $log;
Or even with a literal numeric descriptor:
- my $fd = $ENV{MHCONTEXTFD};
- open $mhcontext, "<&=$fd"; # like fdopen(3S)
+ my $fd = $ENV{MHCONTEXTFD};
+ open $mhcontext, "<&=$fd"; # like fdopen(3S)
Note that "<&STDIN" makes a copy, but "<&=STDIN" makes
an alias. That means if you close an aliased handle, all
@@ -1385,29 +1361,29 @@ X<file, closing file descriptors> X<POSIX> X<close>
If, for some reason, you have a file descriptor instead of a
filehandle (perhaps you used C<POSIX::open>), you can use the
-C<close()> function from the C<POSIX> module:
+C<close()> function from the L<POSIX> module:
- use POSIX ();
+ use POSIX ();
- POSIX::close( $fd );
+ POSIX::close( $fd );
This should rarely be necessary, as the Perl C<close()> function is to be
used for things that Perl opened itself, even if it was a dup of a
numeric descriptor as with C<MHCONTEXT> above. But if you really have
to, you may be able to do this:
- require 'sys/syscall.ph';
- my $rc = syscall(&SYS_close, $fd + 0); # must force numeric
- die "can't sysclose $fd: $!" unless $rc == -1;
+ require 'sys/syscall.ph';
+ my $rc = syscall(&SYS_close, $fd + 0); # must force numeric
+ die "can't sysclose $fd: $!" unless $rc == -1;
Or, just use the fdopen(3S) feature of C<open()>:
- {
- open my( $fh ), "<&=$fd" or die "Cannot reopen fd=$fd: $!";
- close $fh;
- }
+ {
+ open my $fh, "<&=$fd" or die "Cannot reopen fd=$fd: $!";
+ close $fh;
+ }
-=head2 Why can't I use "C:\temp\foo" in DOS paths? Why doesn't `C:\temp\foo.exe` work?
+=head2 Why can't I use "C:\temp\foo" in DOS paths? Why doesn't `C:\temp\foo.exe` work?
X<filename, DOS issues>
Whoops! You just put a tab and a formfeed into that filename!
@@ -1433,11 +1409,11 @@ files. This makes glob() portable even to legacy systems. Your
port may include proprietary globbing functions as well. Check its
documentation for details.
-=head2 Why does Perl let me delete read-only files? Why does C<-i> clobber protected files? Isn't this a bug in Perl?
+=head2 Why does Perl let me delete read-only files? Why does C<-i> clobber protected files? Isn't this a bug in Perl?
This is elaborately and painstakingly described in the
F<file-dir-perms> article in the "Far More Than You Ever Wanted To
-Know" collection in http://www.cpan.org/misc/olddoc/FMTEYEWTK.tgz .
+Know" collection in L<http://www.cpan.org/misc/olddoc/FMTEYEWTK.tgz> .
The executive summary: learn how your filesystem works. The
permissions on a file say what can happen to the data in that file.
@@ -1455,20 +1431,20 @@ the file, there are a couple of things that you can do.
Here's a reservoir-sampling algorithm from the Camel Book:
- srand;
- rand($.) < 1 && ($line = $_) while <>;
+ srand;
+ rand($.) < 1 && ($line = $_) while <>;
This has a significant advantage in space over reading the whole file
in. You can find a proof of this method in I<The Art of Computer
Programming>, Volume 2, Section 3.4.2, by Donald E. Knuth.
-You can use the C<File::Random> module which provides a function
+You can use the L<File::Random> module which provides a function
for that algorithm:
- use File::Random qw/random_line/;
- my $line = random_line($filename);
+ use File::Random qw/random_line/;
+ my $line = random_line($filename);
-Another way is to use the C<Tie::File> module, which treats the entire
+Another way is to use the L<Tie::File> module, which treats the entire
file as an array. Simply access a random array element.
=head2 Why do I get weird spaces when I print an array of lines?
@@ -1479,82 +1455,82 @@ If you are seeing spaces between the elements of your array when
you print the array, you are probably interpolating the array in
double quotes:
- my @animals = qw(camel llama alpaca vicuna);
- print "animals are: @animals\n";
+ my @animals = qw(camel llama alpaca vicuna);
+ print "animals are: @animals\n";
It's the double quotes, not the C<print>, doing this. Whenever you
interpolate an array in a double quote context, Perl joins the
elements with spaces (or whatever is in C<$">, which is a space by
default):
- animals are: camel llama alpaca vicuna
+ animals are: camel llama alpaca vicuna
This is different than printing the array without the interpolation:
- my @animals = qw(camel llama alpaca vicuna);
- print "animals are: ", @animals, "\n";
+ my @animals = qw(camel llama alpaca vicuna);
+ print "animals are: ", @animals, "\n";
Now the output doesn't have the spaces between the elements because
the elements of C<@animals> simply become part of the list to
C<print>:
- animals are: camelllamaalpacavicuna
+ animals are: camelllamaalpacavicuna
You might notice this when each of the elements of C<@array> end with
a newline. You expect to print one element per line, but notice that
every line after the first is indented:
- this is a line
- this is another line
- this is the third line
+ this is a line
+ this is another line
+ this is the third line
That extra space comes from the interpolation of the array. If you
don't want to put anything between your array elements, don't use the
array in double quotes. You can send it to print without them:
- print @lines;
+ print @lines;
=head2 How do I traverse a directory tree?
(contributed by brian d foy)
-The C<File::Find> module, which comes with Perl, does all of the hard
+The L<File::Find> module, which comes with Perl, does all of the hard
work to traverse a directory structure. It comes with Perl. You simply
call the C<find> subroutine with a callback subroutine and the
directories you want to traverse:
- use File::Find;
+ use File::Find;
- find( \&wanted, @directories );
+ find( \&wanted, @directories );
- sub wanted {
- # full path in $File::Find::name
- # just filename in $_
- ... do whatever you want to do ...
- }
+ sub wanted {
+ # full path in $File::Find::name
+ # just filename in $_
+ ... do whatever you want to do ...
+ }
-The C<File::Find::Closures>, which you can download from CPAN, provides
-many ready-to-use subroutines that you can use with C<File::Find>.
+The L<File::Find::Closures>, which you can download from CPAN, provides
+many ready-to-use subroutines that you can use with L<File::Find>.
-The C<File::Finder>, which you can download from CPAN, can help you
+The L<File::Finder>, which you can download from CPAN, can help you
create the callback subroutine using something closer to the syntax of
the C<find> command-line utility:
- use File::Find;
- use File::Finder;
+ use File::Find;
+ use File::Finder;
- my $deep_dirs = File::Finder->depth->type('d')->ls->exec('rmdir','{}');
+ my $deep_dirs = File::Finder->depth->type('d')->ls->exec('rmdir','{}');
- find( $deep_dirs->as_options, @places );
+ find( $deep_dirs->as_options, @places );
-The C<File::Find::Rule> module, which you can download from CPAN, has
+The L<File::Find::Rule> module, which you can download from CPAN, has
a similar interface, but does the traversal for you too:
- use File::Find::Rule;
+ use File::Find::Rule;
- my @files = File::Find::Rule->file()
- ->name( '*.pm' )
- ->in( @INC );
+ my @files = File::Find::Rule->file()
+ ->name( '*.pm' )
+ ->in( @INC );
=head2 How do I delete a directory tree?
@@ -1565,14 +1541,14 @@ If the directory is not empty (so, no files or subdirectories), you
either have to empty it yourself (a lot of work) or use a module to
help you.
-The C<File::Path> module, which comes with Perl, has a C<remove_tree>
+The L<File::Path> module, which comes with Perl, has a C<remove_tree>
which can take care of all of the hard work for you:
- use File::Path qw(remove_tree);
+ use File::Path qw(remove_tree);
- remove_tree( @directories );
+ remove_tree( @directories );
-The C<File::Path> module also has a legacy interface to the older
+The L<File::Path> module also has a legacy interface to the older
C<rmtree> subroutine.
=head2 How do I copy an entire directory?
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq6.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq6.pod
index 3066187fa60..40c2b07c3dc 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq6.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq6.pod
@@ -6,7 +6,7 @@ perlfaq6 - Regular Expressions
This section is surprisingly small because the rest of the FAQ is
littered with answers involving regular expressions. For example,
-decoding a URL and checking whether something is a number are handled
+decoding a URL and checking whether something is a number can be handled
with regular expressions, but those answers are found elsewhere in
this document (in L<perlfaq9>: "How do I decode or create those %-encodings
on the web" and L<perlfaq4>: "How do I determine whether a scalar is
@@ -26,9 +26,9 @@ understandable.
Describe what you're doing and how you're doing it, using normal Perl
comments.
- # turn the line into the first word, a colon, and the
- # number of characters on the rest of the line
- s/^(\w+)(.*)/ lc($1) . ":" . length($2) /meg;
+ # turn the line into the first word, a colon, and the
+ # number of characters on the rest of the line
+ s/^(\w+)(.*)/ lc($1) . ":" . length($2) /meg;
=item Comments Inside the Regex
@@ -39,20 +39,20 @@ help a lot.
C</x> lets you turn this:
- s{<(?:[^>'"]*|".*?"|'.*?')+>}{}gs;
+ s{<(?:[^>'"]*|".*?"|'.*?')+>}{}gs;
into this:
- s{ < # opening angle bracket
- (?: # Non-backreffing grouping paren
- [^>'"] * # 0 or more things that are neither > nor ' nor "
- | # or else
- ".*?" # a section between double quotes (stingy match)
- | # or else
- '.*?' # a section between single quotes (stingy match)
- ) + # all occurring one or more times
- > # closing angle bracket
- }{}gsx; # replace with nothing, i.e. delete
+ s{ < # opening angle bracket
+ (?: # Non-backreffing grouping paren
+ [^>'"] * # 0 or more things that are neither > nor ' nor "
+ | # or else
+ ".*?" # a section between double quotes (stingy match)
+ | # or else
+ '.*?' # a section between single quotes (stingy match)
+ ) + # all occurring one or more times
+ > # closing angle bracket
+ }{}gsx; # replace with nothing, i.e. delete
It's still not quite so clear as prose, but it is very useful for
describing the meaning of each part of the pattern.
@@ -65,8 +65,12 @@ describes this. For example, the C<s///> above uses braces as
delimiters. Selecting another delimiter can avoid quoting the
delimiter within the pattern:
- s/\/usr\/local/\/usr\/share/g; # bad delimiter choice
- s#/usr/local#/usr/share#g; # better
+ s/\/usr\/local/\/usr\/share/g; # bad delimiter choice
+ s#/usr/local#/usr/share#g; # better
+
+Using logically paired delimiters can be even more readable:
+
+ s{/usr/local/}{/usr/share}g; # better still
=back
@@ -91,37 +95,37 @@ got a multiline string in there.
For example, this program detects duplicate words, even when they span
line breaks (but not paragraph ones). For this example, we don't need
C</s> because we aren't using dot in a regular expression that we want
-to cross line boundaries. Neither do we need C</m> because we aren't
-wanting caret or dollar to match at any point inside the record next
+to cross line boundaries. Neither do we need C</m> because we don't
+want caret or dollar to match at any point inside the record next
to newlines. But it's imperative that $/ be set to something other
than the default, or else we won't actually ever have a multiline
record read in.
- $/ = ''; # read in whole paragraph, not just one line
- while ( <> ) {
- while ( /\b([\w'-]+)(\s+\g1)+\b/gi ) { # word starts alpha
- print "Duplicate $1 at paragraph $.\n";
- }
- }
+ $/ = ''; # read in whole paragraph, not just one line
+ while ( <> ) {
+ while ( /\b([\w'-]+)(\s+\g1)+\b/gi ) { # word starts alpha
+ print "Duplicate $1 at paragraph $.\n";
+ }
+ }
-Here's code that finds sentences that begin with "From " (which would
+Here's some code that finds sentences that begin with "From " (which would
be mangled by many mailers):
- $/ = ''; # read in whole paragraph, not just one line
- while ( <> ) {
- while ( /^From /gm ) { # /m makes ^ match next to \n
- print "leading from in paragraph $.\n";
- }
- }
+ $/ = ''; # read in whole paragraph, not just one line
+ while ( <> ) {
+ while ( /^From /gm ) { # /m makes ^ match next to \n
+ print "leading from in paragraph $.\n";
+ }
+ }
Here's code that finds everything between START and END in a paragraph:
- undef $/; # read in whole file, not just one line or paragraph
- while ( <> ) {
- while ( /START(.*?)END/sgm ) { # /s makes . cross line boundaries
- print "$1\n";
- }
- }
+ undef $/; # read in whole file, not just one line or paragraph
+ while ( <> ) {
+ while ( /START(.*?)END/sgm ) { # /s makes . cross line boundaries
+ print "$1\n";
+ }
+ }
=head2 How can I pull out lines between two patterns that are themselves on different lines?
X<..>
@@ -129,11 +133,11 @@ X<..>
You can use Perl's somewhat exotic C<..> operator (documented in
L<perlop>):
- perl -ne 'print if /START/ .. /END/' file1 file2 ...
+ perl -ne 'print if /START/ .. /END/' file1 file2 ...
If you wanted text and not lines, you would use
- perl -0777 -ne 'print "$1\n" while /START(.*?)END/gs' file1 file2 ...
+ perl -0777 -ne 'print "$1\n" while /START(.*?)END/gs' file1 file2 ...
But if you want nested occurrences of C<START> through C<END>, you'll
run up against the problem described in the question in this section
@@ -141,54 +145,24 @@ on matching balanced text.
Here's another example of using C<..>:
- while (<>) {
- $in_header = 1 .. /^$/;
- $in_body = /^$/ .. eof;
- # now choose between them
- } continue {
- $. = 0 if eof; # fix $.
- }
+ while (<>) {
+ my $in_header = 1 .. /^$/;
+ my $in_body = /^$/ .. eof;
+ # now choose between them
+ } continue {
+ $. = 0 if eof; # fix $.
+ }
=head2 How do I match XML, HTML, or other nasty, ugly things with a regex?
X<regex, XML> X<regex, HTML> X<XML> X<HTML> X<pain> X<frustration>
X<sucking out, will to live>
-(contributed by brian d foy)
-
-If you just want to get work done, use a module and forget about the
-regular expressions. The C<XML::Parser> and C<HTML::Parser> modules
-are good starts, although each namespace has other parsing modules
-specialized for certain tasks and different ways of doing it. Start at
-CPAN Search ( http://search.cpan.org ) and wonder at all the work people
-have done for you already! :)
-
-The problem with things such as XML is that they have balanced text
-containing multiple levels of balanced text, but sometimes it isn't
-balanced text, as in an empty tag (C<< <br/> >>, for instance). Even then,
-things can occur out-of-order. Just when you think you've got a
-pattern that matches your input, someone throws you a curveball.
-
-If you'd like to do it the hard way, scratching and clawing your way
-toward a right answer but constantly being disappointed, besieged by
-bug reports, and weary from the inordinate amount of time you have to
-spend reinventing a triangular wheel, then there are several things
-you can try before you give up in frustration:
-
-=over 4
-
-=item * Solve the balanced text problem from another question in L<perlfaq6>
-
-=item * Try the recursive regex features in Perl 5.10 and later. See L<perlre>
-
-=item * Try defining a grammar using Perl 5.10's C<(?DEFINE)> feature.
-
-=item * Break the problem down into sub-problems instead of trying to use a single regex
-
-=item * Convince everyone not to use XML or HTML in the first place
-
-=back
-
-Good luck!
+Do not use regexes. Use a module and forget about the
+regular expressions. The L<XML::LibXML>, L<HTML::TokeParser> and
+L<HTML::TreeBuilder> modules are good starts, although each namespace
+has other parsing modules specialized for certain tasks and different
+ways of doing it. Start at CPAN Search ( L<http://metacpan.org/> )
+and wonder at all the work people have done for you already! :)
=head2 I put a regular expression into $/ but it didn't work. What's wrong?
X<$/, regexes in> X<$INPUT_RECORD_SEPARATOR, regexes in>
@@ -197,16 +171,16 @@ X<$RS, regexes in>
$/ has to be a string. You can use these examples if you really need to
do this.
-If you have File::Stream, this is easy.
+If you have L<File::Stream>, this is easy.
- use File::Stream;
+ use File::Stream;
- my $stream = File::Stream->new(
- $filehandle,
- separator => qr/\s*,\s*/,
- );
+ my $stream = File::Stream->new(
+ $filehandle,
+ separator => qr/\s*,\s*/,
+ );
- print "$_\n" while <$stream>;
+ print "$_\n" while <$stream>;
If you don't have File::Stream, you have to do a little more work.
@@ -214,25 +188,25 @@ You can use the four-argument form of sysread to continually add to
a buffer. After you add to the buffer, you check if you have a
complete line (using your regular expression).
- local $_ = "";
- while( sysread FH, $_, 8192, length ) {
- while( s/^((?s).*?)your_pattern// ) {
- my $record = $1;
- # do stuff here.
- }
- }
+ local $_ = "";
+ while( sysread FH, $_, 8192, length ) {
+ while( s/^((?s).*?)your_pattern// ) {
+ my $record = $1;
+ # do stuff here.
+ }
+ }
You can do the same thing with foreach and a match using the
c flag and the \G anchor, if you do not mind your entire file
being in memory at the end.
- local $_ = "";
- while( sysread FH, $_, 8192, length ) {
- foreach my $record ( m/\G((?s).*?)your_pattern/gc ) {
- # do stuff here.
- }
- substr( $_, 0, pos ) = "" if pos;
- }
+ local $_ = "";
+ while( sysread FH, $_, 8192, length ) {
+ foreach my $record ( m/\G((?s).*?)your_pattern/gc ) {
+ # do stuff here.
+ }
+ substr( $_, 0, pos ) = "" if pos;
+ }
=head2 How do I substitute case-insensitively on the LHS while preserving case on the RHS?
@@ -242,49 +216,49 @@ X<substitution, case preserving> X<s, case preserving>
Here's a lovely Perlish solution by Larry Rosler. It exploits
properties of bitwise xor on ASCII strings.
- $_= "this is a TEsT case";
+ $_= "this is a TEsT case";
- $old = 'test';
- $new = 'success';
+ $old = 'test';
+ $new = 'success';
- s{(\Q$old\E)}
- { uc $new | (uc $1 ^ $1) .
- (uc(substr $1, -1) ^ substr $1, -1) x
- (length($new) - length $1)
- }egi;
+ s{(\Q$old\E)}
+ { uc $new | (uc $1 ^ $1) .
+ (uc(substr $1, -1) ^ substr $1, -1) x
+ (length($new) - length $1)
+ }egi;
- print;
+ print;
And here it is as a subroutine, modeled after the above:
- sub preserve_case($$) {
- my ($old, $new) = @_;
- my $mask = uc $old ^ $old;
+ sub preserve_case($$) {
+ my ($old, $new) = @_;
+ my $mask = uc $old ^ $old;
- uc $new | $mask .
- substr($mask, -1) x (length($new) - length($old))
+ uc $new | $mask .
+ substr($mask, -1) x (length($new) - length($old))
}
- $string = "this is a TEsT case";
- $string =~ s/(test)/preserve_case($1, "success")/egi;
- print "$string\n";
+ $string = "this is a TEsT case";
+ $string =~ s/(test)/preserve_case($1, "success")/egi;
+ print "$string\n";
This prints:
- this is a SUcCESS case
+ this is a SUcCESS case
As an alternative, to keep the case of the replacement word if it is
longer than the original, you can use this code, by Jeff Pinyan:
- sub preserve_case {
- my ($from, $to) = @_;
- my ($lf, $lt) = map length, @_;
+ sub preserve_case {
+ my ($from, $to) = @_;
+ my ($lf, $lt) = map length, @_;
- if ($lt < $lf) { $from = substr $from, 0, $lt }
- else { $from .= substr $to, $lf }
+ if ($lt < $lf) { $from = substr $from, 0, $lt }
+ else { $from .= substr $to, $lf }
- return uc $to | ($from ^ uc $from);
- }
+ return uc $to | ($from ^ uc $from);
+ }
This changes the sentence to "this is a SUcCess case."
@@ -295,36 +269,36 @@ substitution have the same case, letter by letter, as the original.
If the substitution has more characters than the string being substituted,
the case of the last character is used for the rest of the substitution.
- # Original by Nathan Torkington, massaged by Jeffrey Friedl
- #
- sub preserve_case($$)
- {
- my ($old, $new) = @_;
- my ($state) = 0; # 0 = no change; 1 = lc; 2 = uc
- my ($i, $oldlen, $newlen, $c) = (0, length($old), length($new));
- my ($len) = $oldlen < $newlen ? $oldlen : $newlen;
-
- for ($i = 0; $i < $len; $i++) {
- if ($c = substr($old, $i, 1), $c =~ /[\W\d_]/) {
- $state = 0;
- } elsif (lc $c eq $c) {
- substr($new, $i, 1) = lc(substr($new, $i, 1));
- $state = 1;
- } else {
- substr($new, $i, 1) = uc(substr($new, $i, 1));
- $state = 2;
- }
- }
- # finish up with any remaining new (for when new is longer than old)
- if ($newlen > $oldlen) {
- if ($state == 1) {
- substr($new, $oldlen) = lc(substr($new, $oldlen));
- } elsif ($state == 2) {
- substr($new, $oldlen) = uc(substr($new, $oldlen));
- }
- }
- return $new;
- }
+ # Original by Nathan Torkington, massaged by Jeffrey Friedl
+ #
+ sub preserve_case($$)
+ {
+ my ($old, $new) = @_;
+ my $state = 0; # 0 = no change; 1 = lc; 2 = uc
+ my ($i, $oldlen, $newlen, $c) = (0, length($old), length($new));
+ my $len = $oldlen < $newlen ? $oldlen : $newlen;
+
+ for ($i = 0; $i < $len; $i++) {
+ if ($c = substr($old, $i, 1), $c =~ /[\W\d_]/) {
+ $state = 0;
+ } elsif (lc $c eq $c) {
+ substr($new, $i, 1) = lc(substr($new, $i, 1));
+ $state = 1;
+ } else {
+ substr($new, $i, 1) = uc(substr($new, $i, 1));
+ $state = 2;
+ }
+ }
+ # finish up with any remaining new (for when new is longer than old)
+ if ($newlen > $oldlen) {
+ if ($state == 1) {
+ substr($new, $oldlen) = lc(substr($new, $oldlen));
+ } elsif ($state == 2) {
+ substr($new, $oldlen) = uc(substr($new, $oldlen));
+ }
+ }
+ return $new;
+ }
=head2 How can I make C<\w> match national character sets?
X<\w>
@@ -356,11 +330,11 @@ a double-quoted string (see L<perlop> for more details). Remember
also that any regex special characters will be acted on unless you
precede the substitution with \Q. Here's an example:
- $string = "Placido P. Octopus";
- $regex = "P.";
+ $string = "Placido P. Octopus";
+ $regex = "P.";
- $string =~ s/$regex/Polyp/;
- # $string is now "Polypacido P. Octopus"
+ $string =~ s/$regex/Polyp/;
+ # $string is now "Polypacido P. Octopus"
Because C<.> is special in regular expressions, and can match any
single character, the regex C<P.> here has matched the <Pl> in the
@@ -368,11 +342,11 @@ original string.
To escape the special meaning of C<.>, we use C<\Q>:
- $string = "Placido P. Octopus";
- $regex = "P.";
+ $string = "Placido P. Octopus";
+ $regex = "P.";
- $string =~ s/\Q$regex/Polyp/;
- # $string is now "Placido Polyp Octopus"
+ $string =~ s/\Q$regex/Polyp/;
+ # $string is now "Placido Polyp Octopus"
The use of C<\Q> causes the <.> in the regex to be treated as a
regular character, so that C<P.> matches a C<P> followed by a dot.
@@ -396,22 +370,22 @@ details.
This example takes a regular expression from the argument list and
prints the lines of input that match it:
- my $pattern = shift @ARGV;
+ my $pattern = shift @ARGV;
- while( <> ) {
- print if m/$pattern/;
- }
+ while( <> ) {
+ print if m/$pattern/;
+ }
Versions of Perl prior to 5.6 would recompile the regular expression
for each iteration, even if C<$pattern> had not changed. The C</o>
would prevent this by telling Perl to compile the pattern the first
time, then reuse that for subsequent iterations:
- my $pattern = shift @ARGV;
+ my $pattern = shift @ARGV;
- while( <> ) {
- print if m/$pattern/o; # useful for Perl < 5.6
- }
+ while( <> ) {
+ print if m/$pattern/o; # useful for Perl < 5.6
+ }
In versions 5.6 and later, Perl won't recompile the regular expression
if the variable hasn't changed, so you probably don't need the C</o>
@@ -427,31 +401,31 @@ With Perls before 5.6, you should see C<re> reporting that its
compiling the regular expression on each iteration. With Perl 5.6 or
later, you should only see C<re> report that for the first iteration.
- use re 'debug';
+ use re 'debug';
- $regex = 'Perl';
- foreach ( qw(Perl Java Ruby Python) ) {
- print STDERR "-" x 73, "\n";
- print STDERR "Trying $_...\n";
- print STDERR "\t$_ is good!\n" if m/$regex/;
- }
+ my $regex = 'Perl';
+ foreach ( qw(Perl Java Ruby Python) ) {
+ print STDERR "-" x 73, "\n";
+ print STDERR "Trying $_...\n";
+ print STDERR "\t$_ is good!\n" if m/$regex/;
+ }
=head2 How do I use a regular expression to strip C-style comments from a file?
While this actually can be done, it's much harder than you'd think.
For example, this one-liner
- perl -0777 -pe 's{/\*.*?\*/}{}gs' foo.c
+ perl -0777 -pe 's{/\*.*?\*/}{}gs' foo.c
will work in many but not all cases. You see, it's too simple-minded for
certain kinds of C programs, in particular, those with what appear to be
comments in quoted strings. For that, you'd need something like this,
created by Jeffrey Friedl and later modified by Fred Curtis.
- $/ = undef;
- $_ = <>;
- s#/\*[^*]*\*+([^/*][^*]*\*+)*/|("(\\.|[^"\\])*"|'(\\.|[^'\\])*'|.[^/"'\\]*)#defined $2 ? $2 : ""#gse;
- print;
+ $/ = undef;
+ $_ = <>;
+ s#/\*[^*]*\*+([^/*][^*]*\*+)*/|("(\\.|[^"\\])*"|'(\\.|[^'\\])*'|.[^/"'\\]*)#defined $2 ? $2 : ""#gse;
+ print;
This could, of course, be more legibly written with the C</x> modifier, adding
whitespace and comments. Here it is expanded, courtesy of Fred Curtis.
@@ -505,9 +479,9 @@ X<Text::Balanced> X<Regexp::Common> X<backtracking> X<recursion>
(contributed by brian d foy)
-Your first try should probably be the C<Text::Balanced> module, which
+Your first try should probably be the L<Text::Balanced> module, which
is in the Perl standard library since Perl 5.8. It has a variety of
-functions to deal with tricky text. The C<Regexp::Common> module can
+functions to deal with tricky text. The L<Regexp::Common> module can
also help by providing canned patterns you can use.
As of Perl 5.10, you can match balanced text with regular expressions
@@ -520,9 +494,9 @@ nested angle brackets. This sample text has two "major" groups: a
group with one level of nesting and a group with two levels of
nesting. There are five total groups in angle brackets:
- I have some <brackets in <nested brackets> > and
- <another group <nested once <nested twice> > >
- and that's it.
+ I have some <brackets in <nested brackets> > and
+ <another group <nested once <nested twice> > >
+ and that's it.
The regular expression to match the balanced text uses two new (to
Perl 5.10) regular expression features. These are covered in L<perlre>
@@ -543,34 +517,34 @@ in the outer capture group as an independent part of the regex.
Putting it all together, you have:
- #!/usr/local/bin/perl5.10.0
-
- my $string =<<"HERE";
- I have some <brackets in <nested brackets> > and
- <another group <nested once <nested twice> > >
- and that's it.
- HERE
-
- my @groups = $string =~ m/
- ( # start of capture group 1
- < # match an opening angle bracket
- (?:
- [^<>]++ # one or more non angle brackets, non backtracking
- |
- (?1) # found < or >, so recurse to capture group 1
- )*
- > # match a closing angle bracket
- ) # end of capture group 1
- /xg;
-
- $" = "\n\t";
- print "Found:\n\t@groups\n";
+ #!/usr/local/bin/perl5.10.0
+
+ my $string =<<"HERE";
+ I have some <brackets in <nested brackets> > and
+ <another group <nested once <nested twice> > >
+ and that's it.
+ HERE
+
+ my @groups = $string =~ m/
+ ( # start of capture group 1
+ < # match an opening angle bracket
+ (?:
+ [^<>]++ # one or more non angle brackets, non backtracking
+ |
+ (?1) # found < or >, so recurse to capture group 1
+ )*
+ > # match a closing angle bracket
+ ) # end of capture group 1
+ /xg;
+
+ $" = "\n\t";
+ print "Found:\n\t@groups\n";
The output shows that Perl found the two major groups:
- Found:
- <brackets in <nested brackets> >
- <another group <nested once <nested twice> > >
+ Found:
+ <brackets in <nested brackets> >
+ <another group <nested once <nested twice> > >
With a little extra work, you can get the all of the groups in angle
brackets even if they are in other angle brackets too. Each time you
@@ -578,53 +552,52 @@ get a balanced match, remove its outer delimiter (that's the one you
just matched so don't match it again) and add it to a queue of strings
to process. Keep doing that until you get no matches:
- #!/usr/local/bin/perl5.10.0
+ #!/usr/local/bin/perl5.10.0
- my @queue =<<"HERE";
- I have some <brackets in <nested brackets> > and
- <another group <nested once <nested twice> > >
- and that's it.
- HERE
+ my @queue =<<"HERE";
+ I have some <brackets in <nested brackets> > and
+ <another group <nested once <nested twice> > >
+ and that's it.
+ HERE
- my $regex = qr/
- ( # start of bracket 1
- < # match an opening angle bracket
- (?:
- [^<>]++ # one or more non angle brackets, non backtracking
- |
- (?1) # recurse to bracket 1
- )*
- > # match a closing angle bracket
- ) # end of bracket 1
- /x;
+ my $regex = qr/
+ ( # start of bracket 1
+ < # match an opening angle bracket
+ (?:
+ [^<>]++ # one or more non angle brackets, non backtracking
+ |
+ (?1) # recurse to bracket 1
+ )*
+ > # match a closing angle bracket
+ ) # end of bracket 1
+ /x;
- $" = "\n\t";
+ $" = "\n\t";
- while( @queue )
- {
- my $string = shift @queue;
+ while( @queue ) {
+ my $string = shift @queue;
- my @groups = $string =~ m/$regex/g;
- print "Found:\n\t@groups\n\n" if @groups;
+ my @groups = $string =~ m/$regex/g;
+ print "Found:\n\t@groups\n\n" if @groups;
- unshift @queue, map { s/^<//; s/>$//; $_ } @groups;
- }
+ unshift @queue, map { s/^<//; s/>$//; $_ } @groups;
+ }
The output shows all of the groups. The outermost matches show up
first and the nested matches so up later:
- Found:
- <brackets in <nested brackets> >
- <another group <nested once <nested twice> > >
+ Found:
+ <brackets in <nested brackets> >
+ <another group <nested once <nested twice> > >
- Found:
- <nested brackets>
+ Found:
+ <nested brackets>
- Found:
- <nested once <nested twice> >
+ Found:
+ <nested once <nested twice> >
- Found:
- <nested twice>
+ Found:
+ <nested twice>
=head2 What does it mean that regexes are greedy? How can I get around it?
X<greedy> X<greediness>
@@ -637,9 +610,9 @@ versions of the same quantifiers, use (C<??>, C<*?>, C<+?>, C<{}?>).
An example:
- $s1 = $s2 = "I am very very cold";
- $s1 =~ s/ve.*y //; # I am cold
- $s2 =~ s/ve.*?y //; # I am very cold
+ my $s1 = my $s2 = "I am very very cold";
+ $s1 =~ s/ve.*y //; # I am cold
+ $s2 =~ s/ve.*?y //; # I am very cold
Notice how the second substitution stopped matching as soon as it
encountered "y ". The C<*?> quantifier effectively tells the regular
@@ -652,11 +625,11 @@ X<word>
Use the split function:
- while (<>) {
- foreach $word ( split ) {
- # do something with $word here
- }
- }
+ while (<>) {
+ foreach my $word ( split ) {
+ # do something with $word here
+ }
+ }
Note that this isn't really a word in the English sense; it's just
chunks of consecutive non-whitespace characters.
@@ -664,11 +637,11 @@ chunks of consecutive non-whitespace characters.
To work with only alphanumeric sequences (including underscores), you
might consider
- while (<>) {
- foreach $word (m/(\w+)/g) {
- # do something with $word here
- }
- }
+ while (<>) {
+ foreach $word (m/(\w+)/g) {
+ # do something with $word here
+ }
+ }
=head2 How can I print out a word-frequency or line-frequency summary?
@@ -677,26 +650,29 @@ pretend that by word you mean chunk of alphabetics, hyphens, or
apostrophes, rather than the non-whitespace chunk idea of a word given
in the previous question:
- while (<>) {
- while ( /(\b[^\W_\d][\w'-]+\b)/g ) { # misses "`sheep'"
- $seen{$1}++;
- }
- }
+ my (%seen);
+ while (<>) {
+ while ( /(\b[^\W_\d][\w'-]+\b)/g ) { # misses "`sheep'"
+ $seen{$1}++;
+ }
+ }
- while ( ($word, $count) = each %seen ) {
- print "$count $word\n";
- }
+ while ( my ($word, $count) = each %seen ) {
+ print "$count $word\n";
+ }
If you wanted to do the same thing for lines, you wouldn't need a
regular expression:
- while (<>) {
- $seen{$_}++;
- }
+ my (%seen);
- while ( ($line, $count) = each %seen ) {
- print "$count $line";
- }
+ while (<>) {
+ $seen{$_}++;
+ }
+
+ while ( my ($line, $count) = each %seen ) {
+ print "$count $line";
+ }
If you want these output in a sorted order, see L<perlfaq4>: "How do I
sort a hash (optionally by value instead of key)?".
@@ -704,7 +680,7 @@ sort a hash (optionally by value instead of key)?".
=head2 How can I do approximate matching?
X<match, approximate> X<matching, approximate>
-See the module String::Approx available from CPAN.
+See the module L<String::Approx> available from CPAN.
=head2 How do I efficiently match many regular expressions at once?
X<regex, efficiency> X<regexp, efficiency>
@@ -715,11 +691,11 @@ X<regular expression, efficiency>
If you have Perl 5.10 or later, this is almost trivial. You just smart
match against an array of regular expression objects:
- my @patterns = ( qr/Fr.d/, qr/B.rn.y/, qr/W.lm./ );
-
- if( $string ~~ @patterns ) {
- ...
- };
+ my @patterns = ( qr/Fr.d/, qr/B.rn.y/, qr/W.lm./ );
+
+ if( $string ~~ @patterns ) {
+ ...
+ };
The smart match stops when it finds a match, so it doesn't have to try
every expression.
@@ -730,16 +706,16 @@ In this example, perl must recompile the regular expression for every
iteration of the C<foreach> loop since it has no way to know what
C<$pattern> will be:
- my @patterns = qw( foo bar baz );
+ my @patterns = qw( foo bar baz );
- LINE: while( <DATA> ) {
- foreach $pattern ( @patterns ) {
- if( /\b$pattern\b/i ) {
- print;
- next LINE;
- }
- }
- }
+ LINE: while( <DATA> ) {
+ foreach $pattern ( @patterns ) {
+ if( /\b$pattern\b/i ) {
+ print;
+ next LINE;
+ }
+ }
+ }
The C<qr//> operator showed up in perl 5.005. It compiles a regular
expression, but doesn't apply it. When you use the pre-compiled
@@ -747,31 +723,30 @@ version of the regex, perl does less work. In this example, I inserted
a C<map> to turn each pattern into its pre-compiled form. The rest of
the script is the same, but faster:
- my @patterns = map { qr/\b$_\b/i } qw( foo bar baz );
+ my @patterns = map { qr/\b$_\b/i } qw( foo bar baz );
- LINE: while( <> ) {
- foreach $pattern ( @patterns ) {
- if( /$pattern/ )
- {
- print;
- next LINE;
- }
- }
- }
+ LINE: while( <> ) {
+ foreach $pattern ( @patterns ) {
+ if( /$pattern/ ) {
+ print;
+ next LINE;
+ }
+ }
+ }
In some cases, you may be able to make several patterns into a single
regular expression. Beware of situations that require backtracking
though.
- my $regex = join '|', qw( foo bar baz );
+ my $regex = join '|', qw( foo bar baz );
- LINE: while( <> ) {
- print if /\b(?:$regex)\b/i;
- }
+ LINE: while( <> ) {
+ print if /\b(?:$regex)\b/i;
+ }
For more details on regular expression efficiency, see I<Mastering
-Regular Expressions> by Jeffrey Friedl. He explains how regular
-expressions engine work and why some patterns are surprisingly
+Regular Expressions> by Jeffrey Friedl. He explains how the regular
+expressions engine works and why some patterns are surprisingly
inefficient. Once you understand how perl applies regular expressions,
you can tune them for individual situations.
@@ -797,26 +772,26 @@ boundary before the "P" and after the "l". As long as something other
than a word character precedes the "P" and succeeds the "l", the
pattern will match. These strings match /\bPerl\b/.
- "Perl" # no word char before P or after l
- "Perl " # same as previous (space is not a word char)
- "'Perl'" # the ' char is not a word char
- "Perl's" # no word char before P, non-word char after "l"
+ "Perl" # no word char before P or after l
+ "Perl " # same as previous (space is not a word char)
+ "'Perl'" # the ' char is not a word char
+ "Perl's" # no word char before P, non-word char after "l"
These strings do not match /\bPerl\b/.
- "Perl_" # _ is a word char!
- "Perler" # no word char before P, but one after l
+ "Perl_" # _ is a word char!
+ "Perler" # no word char before P, but one after l
You don't have to use \b to match words though. You can look for
non-word characters surrounded by word characters. These strings
match the pattern /\b'\b/.
- "don't" # the ' char is surrounded by "n" and "t"
- "qep'a'" # the ' char is surrounded by "p" and "a"
+ "don't" # the ' char is surrounded by "n" and "t"
+ "qep'a'" # the ' char is surrounded by "p" and "a"
These strings do not match /\b'\b/.
- "foo'" # there is no word char after non-word '
+ "foo'" # there is no word char after non-word '
You can also use the complement of \b, \B, to specify that there
should not be a word boundary.
@@ -824,13 +799,13 @@ should not be a word boundary.
In the pattern /\Bam\B/, there must be a word character before the "a"
and after the "m". These patterns match /\Bam\B/:
- "llama" # "am" surrounded by word chars
- "Samuel" # same
+ "llama" # "am" surrounded by word chars
+ "Samuel" # same
These strings do not match /\Bam\B/
- "Sam" # no word boundary before "a", but one after "m"
- "I am Sam" # "am" surrounded by non-word chars
+ "Sam" # no word boundary before "a", but one after "m"
+ "I am Sam" # "am" surrounded by non-word chars
=head2 Why does using $&, $`, or $' slow my program down?
@@ -881,8 +856,8 @@ the letter <a> shows up between C<22> and C<44> and you want
to stop at C<a>. Simply matching pairs of digits skips over
the C<a> and still matches C<44>.
- $_ = "1122a44";
- my @pairs = m/(\d\d)/g; # qw( 11 22 44 )
+ $_ = "1122a44";
+ my @pairs = m/(\d\d)/g; # qw( 11 22 44 )
If you use the C<\G> anchor, you force the match after C<22> to
start with the C<a>. The regular expression cannot match
@@ -890,28 +865,26 @@ there since it does not find a digit, so the next match
fails and the match operator returns the pairs it already
found.
- $_ = "1122a44";
- my @pairs = m/\G(\d\d)/g; # qw( 11 22 )
+ $_ = "1122a44";
+ my @pairs = m/\G(\d\d)/g; # qw( 11 22 )
You can also use the C<\G> anchor in scalar context. You
still need the C<g> flag.
- $_ = "1122a44";
- while( m/\G(\d\d)/g )
- {
- print "Found $1\n";
- }
+ $_ = "1122a44";
+ while( m/\G(\d\d)/g ) {
+ print "Found $1\n";
+ }
After the match fails at the letter C<a>, perl resets C<pos()>
and the next match on the same string starts at the beginning.
- $_ = "1122a44";
- while( m/\G(\d\d)/g )
- {
- print "Found $1\n";
- }
+ $_ = "1122a44";
+ while( m/\G(\d\d)/g ) {
+ print "Found $1\n";
+ }
- print "Found $1 after while" if m/(\d\d)/g; # finds "11"
+ print "Found $1 after while" if m/(\d\d)/g; # finds "11"
You can disable C<pos()> resets on fail with the C<c> flag, documented
in L<perlop> and L<perlreref>. Subsequent matches start where the last
@@ -921,28 +894,27 @@ the C<while()> loop starts at the C<a> (where the last match stopped),
and since it does not use any anchor it can skip over the C<a> to find
C<44>.
- $_ = "1122a44";
- while( m/\G(\d\d)/gc )
- {
- print "Found $1\n";
- }
+ $_ = "1122a44";
+ while( m/\G(\d\d)/gc ) {
+ print "Found $1\n";
+ }
- print "Found $1 after while" if m/(\d\d)/g; # finds "44"
+ print "Found $1 after while" if m/(\d\d)/g; # finds "44"
Typically you use the C<\G> anchor with the C<c> flag
when you want to try a different match if one fails,
such as in a tokenizer. Jeffrey Friedl offers this example
which works in 5.004 or later.
- while (<>) {
- chomp;
- PARSER: {
- m/ \G( \d+\b )/gcx && do { print "number: $1\n"; redo; };
- m/ \G( \w+ )/gcx && do { print "word: $1\n"; redo; };
- m/ \G( \s+ )/gcx && do { print "space: $1\n"; redo; };
- m/ \G( [^\w\d]+ )/gcx && do { print "other: $1\n"; redo; };
- }
- }
+ while (<>) {
+ chomp;
+ PARSER: {
+ m/ \G( \d+\b )/gcx && do { print "number: $1\n"; redo; };
+ m/ \G( \w+ )/gcx && do { print "word: $1\n"; redo; };
+ m/ \G( \s+ )/gcx && do { print "space: $1\n"; redo; };
+ m/ \G( [^\w\d]+ )/gcx && do { print "other: $1\n"; redo; };
+ }
+ }
For each line, the C<PARSER> loop first tries to match a series
of digits followed by a word boundary. This match has to
@@ -991,8 +963,8 @@ through the Encode module. See L<perluniintro>, L<perlunicode>,
and L<Encode>.
If you are stuck with older Perls, you can do Unicode with the
-C<Unicode::String> module, and character conversions using the
-C<Unicode::Map8> and C<Unicode::Map> modules. If you are using
+L<Unicode::String> module, and character conversions using the
+L<Unicode::Map8> and L<Unicode::Map> modules. If you are using
Japanese encodings, you might try using the jperl 5.005_03.
Finally, the following set of approaches was offered by Jeffrey
@@ -1016,34 +988,37 @@ looks like it is because "SG" is next to "XX", but there's no real
Here are a few ways, all painful, to deal with it:
- # Make sure adjacent "martian" bytes are no longer adjacent.
- $martian =~ s/([A-Z][A-Z])/ $1 /g;
+ # Make sure adjacent "martian" bytes are no longer adjacent.
+ $martian =~ s/([A-Z][A-Z])/ $1 /g;
- print "found GX!\n" if $martian =~ /GX/;
+ print "found GX!\n" if $martian =~ /GX/;
Or like this:
- @chars = $martian =~ m/([A-Z][A-Z]|[^A-Z])/g;
- # above is conceptually similar to: @chars = $text =~ m/(.)/g;
- #
- foreach $char (@chars) {
- print "found GX!\n", last if $char eq 'GX';
- }
+ my @chars = $martian =~ m/([A-Z][A-Z]|[^A-Z])/g;
+ # above is conceptually similar to: my @chars = $text =~ m/(.)/g;
+ #
+ foreach my $char (@chars) {
+ print "found GX!\n", last if $char eq 'GX';
+ }
Or like this:
- while ($martian =~ m/\G([A-Z][A-Z]|.)/gs) { # \G probably unneeded
- print "found GX!\n", last if $1 eq 'GX';
- }
+ while ($martian =~ m/\G([A-Z][A-Z]|.)/gs) { # \G probably unneeded
+ if ($1 eq 'GX') {
+ print "found GX!\n";
+ last;
+ }
+ }
Here's another, slightly less painful, way to do it from Benjamin
Goldberg, who uses a zero-width negative look-behind assertion.
- print "found GX!\n" if $martian =~ m/
- (?<![A-Z])
- (?:[A-Z][A-Z])*?
- GX
- /x;
+ print "found GX!\n" if $martian =~ m/
+ (?<![A-Z])
+ (?:[A-Z][A-Z])*?
+ GX
+ /x;
This succeeds if the "martian" character GX is in the string, and fails
otherwise. If you don't like using (?<!), a zero-width negative
@@ -1054,7 +1029,7 @@ but this usually can be worked around.
=head2 How do I match a regular expression that's in a variable?
X<regex, in variable> X<eval> X<regex> X<quotemeta> X<\Q, regex>
-X<\E, regex>, X<qr//>
+X<\E, regex> X<qr//>
(contributed by brian d foy)
@@ -1068,71 +1043,71 @@ read the regular expression as user input and store it in C<$regex>.
Once you have the pattern in C<$regex>, you use that variable in the
match operator.
- chomp( my $regex = <STDIN> );
+ chomp( my $regex = <STDIN> );
- if( $string =~ m/$regex/ ) { ... }
+ if( $string =~ m/$regex/ ) { ... }
Any regular expression special characters in C<$regex> are still
special, and the pattern still has to be valid or Perl will complain.
For instance, in this pattern there is an unpaired parenthesis.
- my $regex = "Unmatched ( paren";
+ my $regex = "Unmatched ( paren";
- "Two parens to bind them all" =~ m/$regex/;
+ "Two parens to bind them all" =~ m/$regex/;
When Perl compiles the regular expression, it treats the parenthesis
as the start of a memory match. When it doesn't find the closing
parenthesis, it complains:
- Unmatched ( in regex; marked by <-- HERE in m/Unmatched ( <-- HERE paren/ at script line 3.
+ Unmatched ( in regex; marked by <-- HERE in m/Unmatched ( <-- HERE paren/ at script line 3.
You can get around this in several ways depending on our situation.
First, if you don't want any of the characters in the string to be
special, you can escape them with C<quotemeta> before you use the string.
- chomp( my $regex = <STDIN> );
- $regex = quotemeta( $regex );
+ chomp( my $regex = <STDIN> );
+ $regex = quotemeta( $regex );
- if( $string =~ m/$regex/ ) { ... }
+ if( $string =~ m/$regex/ ) { ... }
You can also do this directly in the match operator using the C<\Q>
and C<\E> sequences. The C<\Q> tells Perl where to start escaping
special characters, and the C<\E> tells it where to stop (see L<perlop>
for more details).
- chomp( my $regex = <STDIN> );
+ chomp( my $regex = <STDIN> );
- if( $string =~ m/\Q$regex\E/ ) { ... }
+ if( $string =~ m/\Q$regex\E/ ) { ... }
Alternately, you can use C<qr//>, the regular expression quote operator (see
L<perlop> for more details). It quotes and perhaps compiles the pattern,
and you can apply regular expression flags to the pattern.
- chomp( my $input = <STDIN> );
+ chomp( my $input = <STDIN> );
- my $regex = qr/$input/is;
+ my $regex = qr/$input/is;
- $string =~ m/$regex/ # same as m/$input/is;
+ $string =~ m/$regex/ # same as m/$input/is;
You might also want to trap any errors by wrapping an C<eval> block
around the whole thing.
- chomp( my $input = <STDIN> );
+ chomp( my $input = <STDIN> );
- eval {
- if( $string =~ m/\Q$input\E/ ) { ... }
- };
- warn $@ if $@;
+ eval {
+ if( $string =~ m/\Q$input\E/ ) { ... }
+ };
+ warn $@ if $@;
Or...
- my $regex = eval { qr/$input/is };
- if( defined $regex ) {
- $string =~ m/$regex/;
- }
- else {
- warn $@;
- }
+ my $regex = eval { qr/$input/is };
+ if( defined $regex ) {
+ $string =~ m/$regex/;
+ }
+ else {
+ warn $@;
+ }
=head1 AUTHOR AND COPYRIGHT
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq7.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq7.pod
index fcf270d9ce8..35c9330f2dc 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq7.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq7.pod
@@ -10,7 +10,7 @@ clearly fit into any of the other sections.
=head2 Can I get a BNF/yacc/RE for the Perl language?
There is no BNF, but you can paw your way through the yacc grammar in
-perly.y in the source distribution if you're particularly brave. The
+perly.y in the source distribution if you're particularly brave. The
grammar relies on very smart tokenizing code, so be prepared to
venture into toke.c as well.
@@ -22,201 +22,193 @@ and mirrors."
They are type specifiers, as detailed in L<perldata>:
- $ for scalar values (number, string or reference)
- @ for arrays
- % for hashes (associative arrays)
- & for subroutines (aka functions, procedures, methods)
- * for all types of that symbol name. In version 4 you used them like
- pointers, but in modern perls you can just use references.
+ $ for scalar values (number, string or reference)
+ @ for arrays
+ % for hashes (associative arrays)
+ & for subroutines (aka functions, procedures, methods)
+ * for all types of that symbol name. In version 4 you used them like
+ pointers, but in modern perls you can just use references.
There are a couple of other symbols that
you're likely to encounter that aren't
really type specifiers:
- <> are used for inputting a record from a filehandle.
- \ takes a reference to something.
+ <> are used for inputting a record from a filehandle.
+ \ takes a reference to something.
Note that <FILE> is I<neither> the type specifier for files
-nor the name of the handle. It is the C<< <> >> operator applied
-to the handle FILE. It reads one line (well, record--see
+nor the name of the handle. It is the C<< <> >> operator applied
+to the handle FILE. It reads one line (well, record--see
L<perlvar/$E<sol>>) from the handle FILE in scalar context, or I<all> lines
-in list context. When performing open, close, or any other operation
+in list context. When performing open, close, or any other operation
besides C<< <> >> on files, or even when talking about the handle, do
-I<not> use the brackets. These are correct: C<eof(FH)>, C<seek(FH, 0,
+I<not> use the brackets. These are correct: C<eof(FH)>, C<seek(FH, 0,
2)> and "copying from STDIN to FILE".
=head2 Do I always/never have to quote my strings or use semicolons and commas?
Normally, a bareword doesn't need to be quoted, but in most cases
-probably should be (and must be under C<use strict>). But a hash key
+probably should be (and must be under C<use strict>). But a hash key
consisting of a simple word and the left-hand
operand to the C<< => >> operator both
count as though they were quoted:
- This is like this
- ------------ ---------------
- $foo{line} $foo{'line'}
- bar => stuff 'bar' => stuff
+ This is like this
+ ------------ ---------------
+ $foo{line} $foo{'line'}
+ bar => stuff 'bar' => stuff
The final semicolon in a block is optional, as is the final comma in a
-list. Good style (see L<perlstyle>) says to put them in except for
+list. Good style (see L<perlstyle>) says to put them in except for
one-liners:
- if ($whoops) { exit 1 }
- @nums = (1, 2, 3);
+ if ($whoops) { exit 1 }
+ my @nums = (1, 2, 3);
- if ($whoops) {
- exit 1;
- }
+ if ($whoops) {
+ exit 1;
+ }
- @lines = (
- "There Beren came from mountains cold",
- "And lost he wandered under leaves",
- );
+ my @lines = (
+ "There Beren came from mountains cold",
+ "And lost he wandered under leaves",
+ );
=head2 How do I skip some return values?
One way is to treat the return values as a list and index into it:
- $dir = (getpwnam($user))[7];
+ $dir = (getpwnam($user))[7];
Another way is to use undef as an element on the left-hand-side:
- ($dev, $ino, undef, undef, $uid, $gid) = stat($file);
+ ($dev, $ino, undef, undef, $uid, $gid) = stat($file);
You can also use a list slice to select only the elements that
you need:
- ($dev, $ino, $uid, $gid) = ( stat($file) )[0,1,4,5];
+ ($dev, $ino, $uid, $gid) = ( stat($file) )[0,1,4,5];
=head2 How do I temporarily block warnings?
If you are running Perl 5.6.0 or better, the C<use warnings> pragma
-allows fine control of what warning are produced.
+allows fine control of what warnings are produced.
See L<perllexwarn> for more details.
- {
- no warnings; # temporarily turn off warnings
- $a = $b + $c; # I know these might be undef
- }
+ {
+ no warnings; # temporarily turn off warnings
+ $x = $y + $z; # I know these might be undef
+ }
Additionally, you can enable and disable categories of warnings.
You turn off the categories you want to ignore and you can still
-get other categories of warnings. See L<perllexwarn> for the
+get other categories of warnings. See L<perllexwarn> for the
complete details, including the category names and hierarchy.
- {
- no warnings 'uninitialized';
- $a = $b + $c;
- }
+ {
+ no warnings 'uninitialized';
+ $x = $y + $z;
+ }
If you have an older version of Perl, the C<$^W> variable (documented
in L<perlvar>) controls runtime warnings for a block:
- {
- local $^W = 0; # temporarily turn off warnings
- $a = $b + $c; # I know these might be undef
- }
+ {
+ local $^W = 0; # temporarily turn off warnings
+ $x = $y + $z; # I know these might be undef
+ }
Note that like all the punctuation variables, you cannot currently
use my() on C<$^W>, only local().
=head2 What's an extension?
-An extension is a way of calling compiled C code from Perl. Reading
+An extension is a way of calling compiled C code from Perl. Reading
L<perlxstut> is a good place to learn more about extensions.
=head2 Why do Perl operators have different precedence than C operators?
-Actually, they don't. All C operators that Perl copies have the same
-precedence in Perl as they do in C. The problem is with operators that C
+Actually, they don't. All C operators that Perl copies have the same
+precedence in Perl as they do in C. The problem is with operators that C
doesn't have, especially functions that give a list context to everything
-on their right, eg. print, chmod, exec, and so on. Such functions are
+on their right, eg. print, chmod, exec, and so on. Such functions are
called "list operators" and appear as such in the precedence table in
L<perlop>.
A common mistake is to write:
- unlink $file || die "snafu";
+ unlink $file || die "snafu";
This gets interpreted as:
- unlink ($file || die "snafu");
+ unlink ($file || die "snafu");
To avoid this problem, either put in extra parentheses or use the
super low precedence C<or> operator:
- (unlink $file) || die "snafu";
- unlink $file or die "snafu";
+ (unlink $file) || die "snafu";
+ unlink $file or die "snafu";
The "English" operators (C<and>, C<or>, C<xor>, and C<not>)
deliberately have precedence lower than that of list operators for
just such situations as the one above.
-Another operator with surprising precedence is exponentiation. It
+Another operator with surprising precedence is exponentiation. It
binds more tightly even than unary minus, making C<-2**2> produce a
-negative not a positive four. It is also right-associating, meaning
+negative four and not a positive one. It is also right-associating, meaning
that C<2**3**2> is two raised to the ninth power, not eight squared.
Although it has the same precedence as in C, Perl's C<?:> operator
-produces an lvalue. This assigns $x to either $a or $b, depending
+produces an lvalue. This assigns $x to either $if_true or $if_false, depending
on the trueness of $maybe:
- ($maybe ? $a : $b) = $x;
+ ($maybe ? $if_true : $if_false) = $x;
=head2 How do I declare/create a structure?
-In general, you don't "declare" a structure. Just use a (probably
-anonymous) hash reference. See L<perlref> and L<perldsc> for details.
+In general, you don't "declare" a structure. Just use a (probably
+anonymous) hash reference. See L<perlref> and L<perldsc> for details.
Here's an example:
- $person = {}; # new anonymous hash
- $person->{AGE} = 24; # set field AGE to 24
- $person->{NAME} = "Nat"; # set field NAME to "Nat"
+ $person = {}; # new anonymous hash
+ $person->{AGE} = 24; # set field AGE to 24
+ $person->{NAME} = "Nat"; # set field NAME to "Nat"
If you're looking for something a bit more rigorous, try L<perltoot>.
=head2 How do I create a module?
-(contributed by brian d foy)
-
-L<perlmod>, L<perlmodlib>, L<perlmodstyle> explain modules
-in all the gory details. L<perlnewmod> gives a brief
-overview of the process along with a couple of suggestions
-about style.
+L<perlnewmod> is a good place to start, ignore the bits
+about uploading to CPAN if you don't want to make your
+module publicly available.
-If you need to include C code or C library interfaces in
-your module, you'll need h2xs. h2xs will create the module
-distribution structure and the initial interface files
-you'll need. L<perlxs> and L<perlxstut> explain the details.
+L<ExtUtils::ModuleMaker> and L<Module::Starter> are also
+good places to start. Many CPAN authors now use L<Dist::Zilla>
+to automate as much as possible.
-If you don't need to use C code, other tools such as
-ExtUtils::ModuleMaker and Module::Starter, can help you
-create a skeleton module distribution.
+Detailed documentation about modules can be found at:
+L<perlmod>, L<perlmodlib>, L<perlmodstyle>.
-You may also want to see Sam Tregar's "Writing Perl Modules
-for CPAN" ( http://apress.com/book/bookDisplay.html?bID=14 )
-which is the best hands-on guide to creating module
-distributions.
+If you need to include C code or C library interfaces
+use h2xs. h2xs will create the module distribution structure
+and the initial interface files.
+L<perlxs> and L<perlxstut> explain the details.
=head2 How do I adopt or take over a module already on CPAN?
-(contributed by brian d foy)
-
-The easiest way to take over a module is to have the current
-module maintainer either make you a co-maintainer or transfer
-the module to you.
+Ask the current maintainer to make you a co-maintainer or
+transfer the module to you.
-If you can't reach the author for some reason (e.g. email bounces),
-the PAUSE admins at modules@perl.org can help. The PAUSE admins
-treat each case individually.
+If you can not reach the author for some reason contact
+the PAUSE admins at modules@perl.org who may be able to help,
+but each case it treated seperatly.
=over 4
=item *
Get a login for the Perl Authors Upload Server (PAUSE) if you don't
-already have one: http://pause.perl.org
+already have one: L<http://pause.perl.org>
=item *
@@ -274,47 +266,47 @@ Closures are most often used in programming languages where you can
have the return value of a function be itself a function, as you can
in Perl. Note that some languages provide anonymous functions but are
not capable of providing proper closures: the Python language, for
-example. For more information on closures, check out any textbook on
-functional programming. Scheme is a language that not only supports
+example. For more information on closures, check out any textbook on
+functional programming. Scheme is a language that not only supports
but encourages closures.
Here's a classic non-closure function-generating function:
- sub add_function_generator {
- return sub { shift() + shift() };
- }
+ sub add_function_generator {
+ return sub { shift() + shift() };
+ }
- $add_sub = add_function_generator();
- $sum = $add_sub->(4,5); # $sum is 9 now.
+ my $add_sub = add_function_generator();
+ my $sum = $add_sub->(4,5); # $sum is 9 now.
The anonymous subroutine returned by add_function_generator() isn't
technically a closure because it refers to no lexicals outside its own
-scope. Using a closure gives you a I<function template> with some
+scope. Using a closure gives you a I<function template> with some
customization slots left out to be filled later.
Contrast this with the following make_adder() function, in which the
returned anonymous function contains a reference to a lexical variable
-outside the scope of that function itself. Such a reference requires
+outside the scope of that function itself. Such a reference requires
that Perl return a proper closure, thus locking in for all time the
value that the lexical had when the function was created.
- sub make_adder {
- my $addpiece = shift;
- return sub { shift() + $addpiece };
- }
+ sub make_adder {
+ my $addpiece = shift;
+ return sub { shift() + $addpiece };
+ }
- $f1 = make_adder(20);
- $f2 = make_adder(555);
+ my $f1 = make_adder(20);
+ my $f2 = make_adder(555);
-Now C<&$f1($n)> is always 20 plus whatever $n you pass in, whereas
-C<&$f2($n)> is always 555 plus whatever $n you pass in. The $addpiece
+Now C<< $f1->($n) >> is always 20 plus whatever $n you pass in, whereas
+C<< $f2->($n) >> is always 555 plus whatever $n you pass in. The $addpiece
in the closure sticks around.
-Closures are often used for less esoteric purposes. For example, when
+Closures are often used for less esoteric purposes. For example, when
you want to pass in a bit of code into a function:
- my $line;
- timeout( 30, sub { $line = <STDIN> } );
+ my $line;
+ timeout( 30, sub { $line = <STDIN> } );
If the code to execute had been passed in as a string,
C<< '$line = <STDIN>' >>, there would have been no way for the
@@ -328,10 +320,10 @@ This is sometimes used with a BEGIN block in package files to make
sure a variable doesn't get meddled with during the lifetime of the
package:
- BEGIN {
- my $id = 0;
- sub next_id { ++$id }
- }
+ BEGIN {
+ my $id = 0;
+ sub next_id { ++$id }
+ }
This is discussed in more detail in L<perlsub>; see the entry on
I<Persistent Private Variables>.
@@ -342,41 +334,41 @@ This problem was fixed in perl 5.004_05, so preventing it means upgrading
your version of perl. ;)
Variable suicide is when you (temporarily or permanently) lose the value
-of a variable. It is caused by scoping through my() and local()
+of a variable. It is caused by scoping through my() and local()
interacting with either closures or aliased foreach() iterator variables
-and subroutine arguments. It used to be easy to inadvertently lose a
-variable's value this way, but now it's much harder. Take this code:
+and subroutine arguments. It used to be easy to inadvertently lose a
+variable's value this way, but now it's much harder. Take this code:
- my $f = 'foo';
- sub T {
- while ($i++ < 3) { my $f = $f; $f .= "bar"; print $f, "\n" }
- }
+ my $f = 'foo';
+ sub T {
+ while ($i++ < 3) { my $f = $f; $f .= "bar"; print $f, "\n" }
+ }
- T;
- print "Finally $f\n";
+ T;
+ print "Finally $f\n";
If you are experiencing variable suicide, that C<my $f> in the subroutine
-doesn't pick up a fresh copy of the C<$f> whose value is <foo>. The output
-shows that inside the subroutine the value of C<$f> leaks through when it
-shouldn't, as in this output:
+doesn't pick up a fresh copy of the C<$f> whose value is C<'foo'>. The
+output shows that inside the subroutine the value of C<$f> leaks through
+when it shouldn't, as in this output:
- foobar
- foobarbar
- foobarbarbar
- Finally foo
+ foobar
+ foobarbar
+ foobarbarbar
+ Finally foo
The $f that has "bar" added to it three times should be a new C<$f>
C<my $f> should create a new lexical variable each time through the loop.
The expected output is:
- foobar
- foobar
- foobar
- Finally foo
+ foobar
+ foobar
+ foobar
+ Finally foo
=head2 How can I pass/return a {Function, FileHandle, Array, Hash, Method, Regex}?
-You need to pass references to these objects. See L<perlsub/"Pass by
+You need to pass references to these objects. See L<perlsub/"Pass by
Reference"> for this particular question, and L<perlref> for
information on references.
@@ -387,30 +379,30 @@ information on references.
Regular variables and functions are quite easy to pass: just pass in a
reference to an existing or anonymous variable or function:
- func( \$some_scalar );
+ func( \$some_scalar );
- func( \@some_array );
- func( [ 1 .. 10 ] );
+ func( \@some_array );
+ func( [ 1 .. 10 ] );
- func( \%some_hash );
- func( { this => 10, that => 20 } );
+ func( \%some_hash );
+ func( { this => 10, that => 20 } );
- func( \&some_func );
- func( sub { $_[0] ** $_[1] } );
+ func( \&some_func );
+ func( sub { $_[0] ** $_[1] } );
=item Passing Filehandles
As of Perl 5.6, you can represent filehandles with scalar variables
which you treat as any other scalar.
- open my $fh, $filename or die "Cannot open $filename! $!";
- func( $fh );
+ open my $fh, $filename or die "Cannot open $filename! $!";
+ func( $fh );
- sub func {
- my $passed_fh = shift;
+ sub func {
+ my $passed_fh = shift;
- my $line = <$passed_fh>;
- }
+ my $line = <$passed_fh>;
+ }
Before Perl 5.6, you had to use the C<*FH> or C<\*FH> notations.
These are "typeglobs"--see L<perldata/"Typeglobs and Filehandles">
@@ -422,34 +414,34 @@ Here's an example of how to pass in a string and a regular expression
for it to match against. You construct the pattern with the C<qr//>
operator:
- sub compare($$) {
- my ($val1, $regex) = @_;
- my $retval = $val1 =~ /$regex/;
- return $retval;
- }
- $match = compare("old McDonald", qr/d.*D/i);
+ sub compare($$) {
+ my ($val1, $regex) = @_;
+ my $retval = $val1 =~ /$regex/;
+ return $retval;
+ }
+ $match = compare("old McDonald", qr/d.*D/i);
=item Passing Methods
To pass an object method into a subroutine, you can do this:
- call_a_lot(10, $some_obj, "methname")
- sub call_a_lot {
- my ($count, $widget, $trick) = @_;
- for (my $i = 0; $i < $count; $i++) {
- $widget->$trick();
- }
- }
+ call_a_lot(10, $some_obj, "methname")
+ sub call_a_lot {
+ my ($count, $widget, $trick) = @_;
+ for (my $i = 0; $i < $count; $i++) {
+ $widget->$trick();
+ }
+ }
Or, you can use a closure to bundle up the object, its
method call, and arguments:
- my $whatnot = sub { $some_obj->obfuscate(@args) };
- func($whatnot);
- sub func {
- my $code = shift;
- &$code();
- }
+ my $whatnot = sub { $some_obj->obfuscate(@args) };
+ func($whatnot);
+ sub func {
+ my $code = shift;
+ &$code();
+ }
You could also investigate the can() method in the UNIVERSAL class
(part of the standard perl distribution).
@@ -464,7 +456,7 @@ In Perl 5.10, declare the variable with C<state>. The C<state>
declaration creates the lexical variable that persists between calls
to the subroutine:
- sub counter { state $count = 1; $counter++ }
+ sub counter { state $count = 1; $count++ }
You can fake a static variable by using a lexical variable which goes
out of scope. In this example, you define the subroutine C<counter>, and
@@ -480,16 +472,16 @@ can access the value (and each time you do, you increment the value).
The data in chunk of memory defined by C<$count> is private to
C<counter>.
- BEGIN {
- my $count = 1;
- sub counter { $count++ }
- }
+ BEGIN {
+ my $count = 1;
+ sub counter { $count++ }
+ }
- my $start = counter();
+ my $start = counter();
- .... # code that calls counter();
+ .... # code that calls counter();
- my $end = counter();
+ my $end = counter();
In the previous example, you created a function-private variable
because only one function remembered its reference. You could define
@@ -502,11 +494,11 @@ function adds to the value and the other simply returns the value.
They can both access C<$count>, and since it has gone out of scope,
there is no other way to access it.
- BEGIN {
- my $count = 1;
- sub increment_count { $count++ }
- sub return_count { $count }
- }
+ BEGIN {
+ my $count = 1;
+ sub increment_count { $count++ }
+ sub return_count { $count }
+ }
To declare a file-private variable, you still use a lexical variable.
A file is also a scope, so a lexical variable defined in the file
@@ -517,47 +509,47 @@ The discussion of closures in L<perlref> may help you even though we
did not use anonymous subroutines in this answer. See
L<perlsub/"Persistent Private Variables"> for details.
-=head2 What's the difference between dynamic and lexical (static) scoping? Between local() and my()?
+=head2 What's the difference between dynamic and lexical (static) scoping? Between local() and my()?
C<local($x)> saves away the old value of the global variable C<$x>
and assigns a new value for the duration of the subroutine I<which is
-visible in other functions called from that subroutine>. This is done
-at run-time, so is called dynamic scoping. local() always affects global
+visible in other functions called from that subroutine>. This is done
+at run-time, so is called dynamic scoping. local() always affects global
variables, also called package variables or dynamic variables.
C<my($x)> creates a new variable that is only visible in the current
-subroutine. This is done at compile-time, so it is called lexical or
-static scoping. my() always affects private variables, also called
+subroutine. This is done at compile-time, so it is called lexical or
+static scoping. my() always affects private variables, also called
lexical variables or (improperly) static(ly scoped) variables.
For instance:
- sub visible {
- print "var has value $var\n";
- }
+ sub visible {
+ print "var has value $var\n";
+ }
- sub dynamic {
- local $var = 'local'; # new temporary value for the still-global
- visible(); # variable called $var
- }
+ sub dynamic {
+ local $var = 'local'; # new temporary value for the still-global
+ visible(); # variable called $var
+ }
- sub lexical {
- my $var = 'private'; # new private variable, $var
- visible(); # (invisible outside of sub scope)
- }
+ sub lexical {
+ my $var = 'private'; # new private variable, $var
+ visible(); # (invisible outside of sub scope)
+ }
- $var = 'global';
+ $var = 'global';
- visible(); # prints global
- dynamic(); # prints local
- lexical(); # prints global
+ visible(); # prints global
+ dynamic(); # prints local
+ lexical(); # prints global
-Notice how at no point does the value "private" get printed. That's
+Notice how at no point does the value "private" get printed. That's
because $var only has that value within the block of the lexical()
function, and it is hidden from the called subroutine.
In summary, local() doesn't make what you think of as private, local
-variables. It gives a global variable a temporary value. my() is
+variables. It gives a global variable a temporary value. my() is
what you're looking for if you want private variables.
See L<perlsub/"Private Variables via my()"> and
@@ -570,46 +562,46 @@ $Some_Pack::var. Note that the notation $::var is B<not> the dynamic $var
in the current package, but rather the one in the "main" package, as
though you had written $main::var.
- use vars '$var';
- local $var = "global";
- my $var = "lexical";
+ use vars '$var';
+ local $var = "global";
+ my $var = "lexical";
- print "lexical is $var\n";
- print "global is $main::var\n";
+ print "lexical is $var\n";
+ print "global is $main::var\n";
Alternatively you can use the compiler directive our() to bring a
dynamic variable into the current lexical scope.
- require 5.006; # our() did not exist before 5.6
- use vars '$var';
+ require 5.006; # our() did not exist before 5.6
+ use vars '$var';
- local $var = "global";
- my $var = "lexical";
+ local $var = "global";
+ my $var = "lexical";
- print "lexical is $var\n";
+ print "lexical is $var\n";
- {
- our $var;
- print "global is $var\n";
- }
+ {
+ our $var;
+ print "global is $var\n";
+ }
=head2 What's the difference between deep and shallow binding?
In deep binding, lexical variables mentioned in anonymous subroutines
are the same ones that were in scope when the subroutine was created.
In shallow binding, they are whichever variables with the same names
-happen to be in scope when the subroutine is called. Perl always uses
+happen to be in scope when the subroutine is called. Perl always uses
deep binding of lexical variables (i.e., those created with my()).
However, dynamic variables (aka global, local, or package variables)
-are effectively shallowly bound. Consider this just one more reason
-not to use them. See the answer to L<"What's a closure?">.
+are effectively shallowly bound. Consider this just one more reason
+not to use them. See the answer to L<"What's a closure?">.
-=head2 Why doesn't "my($foo) = E<lt>FILEE<gt>;" work right?
+=head2 Why doesn't "my($foo) = E<lt>$fhE<gt>;" work right?
C<my()> and C<local()> give list context to the right hand side
-of C<=>. The <FH> read operation, like so many of Perl's
+of C<=>. The <$fh> read operation, like so many of Perl's
functions and operators, can tell which context it was called in and
-behaves appropriately. In general, the scalar() function can help.
+behaves appropriately. In general, the scalar() function can help.
This function does nothing to the data itself (contrary to popular myth)
but rather tells its argument to behave in whatever its scalar fashion is.
If that function doesn't have a defined scalar behavior, this of course
@@ -618,15 +610,15 @@ doesn't help you (such as with sort()).
To enforce scalar context in this particular case, however, you need
merely omit the parentheses:
- local($foo) = <FILE>; # WRONG
- local($foo) = scalar(<FILE>); # ok
- local $foo = <FILE>; # right
+ local($foo) = <$fh>; # WRONG
+ local($foo) = scalar(<$fh>); # ok
+ local $foo = <$fh>; # right
You should probably be using lexical variables anyway, although the
issue is the same here:
- my($foo) = <FILE>; # WRONG
- my $foo = <FILE>; # right
+ my($foo) = <$fh>; # WRONG
+ my $foo = <$fh>; # right
=head2 How do I redefine a builtin function, operator, or method?
@@ -634,7 +626,7 @@ Why do you want to do that? :-)
If you want to override a predefined function, such as open(),
then you'll have to import the new definition from a different
-module. See L<perlsub/"Overriding Built-in Functions">.
+module. See L<perlsub/"Overriding Built-in Functions">.
If you want to overload a Perl operator, such as C<+> or C<**>,
then you'll want to use the C<use overload> pragma, documented
@@ -652,29 +644,29 @@ the prototype of C<foo> and passes it the current value of the argument
list, C<@_>. Here's an example; the C<bar> subroutine calls C<&foo>,
which prints its arguments list:
- sub bar { &foo }
+ sub bar { &foo }
- sub foo { print "Args in foo are: @_\n" }
+ sub foo { print "Args in foo are: @_\n" }
- bar( qw( a b c ) );
+ bar( qw( a b c ) );
When you call C<bar> with arguments, you see that C<foo> got the same C<@_>:
- Args in foo are: a b c
+ Args in foo are: a b c
Calling the subroutine with trailing parentheses, with or without arguments,
does not use the current C<@_> and respects the subroutine prototype. Changing
the example to put parentheses after the call to C<foo> changes the program:
- sub bar { &foo() }
+ sub bar { &foo() }
- sub foo { print "Args in foo are: @_\n" }
+ sub foo { print "Args in foo are: @_\n" }
- bar( qw( a b c ) );
+ bar( qw( a b c ) );
Now the output shows that C<foo> doesn't get the C<@_> from its caller.
- Args in foo are:
+ Args in foo are:
The main use of the C<@_> pass-through feature is to write subroutines
whose main job it is to call other subroutines for you. For further
@@ -684,24 +676,24 @@ details, see L<perlsub>.
In Perl 5.10, use the C<given-when> construct described in L<perlsyn>:
- use 5.010;
+ use 5.010;
- given ( $string ) {
- when( 'Fred' ) { say "I found Fred!" }
- when( 'Barney' ) { say "I found Barney!" }
- when( /Bamm-?Bamm/ ) { say "I found Bamm-Bamm!" }
- default { say "I don't recognize the name!" }
- };
+ given ( $string ) {
+ when( 'Fred' ) { say "I found Fred!" }
+ when( 'Barney' ) { say "I found Barney!" }
+ when( /Bamm-?Bamm/ ) { say "I found Bamm-Bamm!" }
+ default { say "I don't recognize the name!" }
+ };
If one wants to use pure Perl and to be compatible with Perl versions
prior to 5.10, the general answer is to use C<if-elsif-else>:
- for ($variable_to_test) {
- if (/pat1/) { } # do something
- elsif (/pat2/) { } # do something else
- elsif (/pat3/) { } # do something else
- else { } # default
- }
+ for ($variable_to_test) {
+ if (/pat1/) { } # do something
+ elsif (/pat2/) { } # do something else
+ elsif (/pat3/) { } # do something else
+ else { } # default
+ }
Here's a simple example of a switch based on pattern matching,
lined up in a way to make it look more like a switch statement.
@@ -710,31 +702,31 @@ in $whatchamacallit:
SWITCH: for (ref $whatchamacallit) {
- /^$/ && die "not a reference";
+ /^$/ && die "not a reference";
- /SCALAR/ && do {
- print_scalar($$ref);
- last SWITCH;
- };
+ /SCALAR/ && do {
+ print_scalar($$ref);
+ last SWITCH;
+ };
- /ARRAY/ && do {
- print_array(@$ref);
- last SWITCH;
- };
+ /ARRAY/ && do {
+ print_array(@$ref);
+ last SWITCH;
+ };
- /HASH/ && do {
- print_hash(%$ref);
- last SWITCH;
- };
+ /HASH/ && do {
+ print_hash(%$ref);
+ last SWITCH;
+ };
- /CODE/ && do {
- warn "can't print function ref";
- last SWITCH;
- };
+ /CODE/ && do {
+ warn "can't print function ref";
+ last SWITCH;
+ };
- # DEFAULT
+ # DEFAULT
- warn "User defined type skipped";
+ warn "User defined type skipped";
}
@@ -748,29 +740,29 @@ different characters or if you want to arrange the matches so that
one takes precedence over another, as C<"SEND"> has precedence over
C<"STOP"> here:
- chomp($answer = <>);
- if ("SEND" =~ /^\Q$answer/i) { print "Action is send\n" }
- elsif ("STOP" =~ /^\Q$answer/i) { print "Action is stop\n" }
- elsif ("ABORT" =~ /^\Q$answer/i) { print "Action is abort\n" }
- elsif ("LIST" =~ /^\Q$answer/i) { print "Action is list\n" }
- elsif ("EDIT" =~ /^\Q$answer/i) { print "Action is edit\n" }
+ chomp($answer = <>);
+ if ("SEND" =~ /^\Q$answer/i) { print "Action is send\n" }
+ elsif ("STOP" =~ /^\Q$answer/i) { print "Action is stop\n" }
+ elsif ("ABORT" =~ /^\Q$answer/i) { print "Action is abort\n" }
+ elsif ("LIST" =~ /^\Q$answer/i) { print "Action is list\n" }
+ elsif ("EDIT" =~ /^\Q$answer/i) { print "Action is edit\n" }
A totally different approach is to create a hash of function references.
- my %commands = (
- "happy" => \&joy,
- "sad", => \&sullen,
- "done" => sub { die "See ya!" },
- "mad" => \&angry,
- );
-
- print "How are you? ";
- chomp($string = <STDIN>);
- if ($commands{$string}) {
- $commands{$string}->();
- } else {
- print "No such command: $string\n";
- }
+ my %commands = (
+ "happy" => \&joy,
+ "sad", => \&sullen,
+ "done" => sub { die "See ya!" },
+ "mad" => \&angry,
+ );
+
+ print "How are you? ";
+ chomp($string = <STDIN>);
+ if ($commands{$string}) {
+ $commands{$string}->();
+ } else {
+ print "No such command: $string\n";
+ }
Starting from Perl 5.8, a source filter module, C<Switch>, can also be
used to get switch and case. Its use is now discouraged, because it's
@@ -787,23 +779,23 @@ undefined functions and methods.
When it comes to undefined variables that would trigger a warning
under C<use warnings>, you can promote the warning to an error.
- use warnings FATAL => qw(uninitialized);
+ use warnings FATAL => qw(uninitialized);
=head2 Why can't a method included in this same file be found?
Some possible reasons: your inheritance is getting confused, you've
-misspelled the method name, or the object is of the wrong type. Check
-out L<perltoot> for details about any of the above cases. You may
+misspelled the method name, or the object is of the wrong type. Check
+out L<perltoot> for details about any of the above cases. You may
also use C<print ref($object)> to find out the class C<$object> was
blessed into.
Another possible reason for problems is that you've used the
indirect object syntax (eg, C<find Guru "Samy">) on a class name
-before Perl has seen that such a package exists. It's wisest to make
+before Perl has seen that such a package exists. It's wisest to make
sure your packages are all defined before you start using them, which
will be taken care of if you use the C<use> statement instead of
-C<require>. If not, make sure to use arrow notation (eg.,
-C<< Guru->find("Samy") >>) instead. Object notation is explained in
+C<require>. If not, make sure to use arrow notation (eg.,
+C<< Guru->find("Samy") >>) instead. Object notation is explained in
L<perlobj>.
Make sure to read about creating modules in L<perlmod> and
@@ -818,39 +810,39 @@ C<__PACKAGE__>, as documented in L<perldata>. You can only use the
special literals as separate tokens, so you can't interpolate them
into strings like you can with variables:
- my $current_package = __PACKAGE__;
- print "I am in package $current_package\n";
+ my $current_package = __PACKAGE__;
+ print "I am in package $current_package\n";
If you want to find the package calling your code, perhaps to give better
-diagnostics as C<Carp> does, use the C<caller> built-in:
+diagnostics as L<Carp> does, use the C<caller> built-in:
- sub foo {
- my @args = ...;
- my( $package, $filename, $line ) = caller;
+ sub foo {
+ my @args = ...;
+ my( $package, $filename, $line ) = caller;
- print "I was called from package $package\n";
- );
+ print "I was called from package $package\n";
+ );
By default, your program starts in package C<main>, so you will
always be in some package.
This is different from finding out the package an object is blessed
into, which might not be the current package. For that, use C<blessed>
-from C<Scalar::Util>, part of the Standard Library since Perl 5.8:
+from L<Scalar::Util>, part of the Standard Library since Perl 5.8:
- use Scalar::Util qw(blessed);
- my $object_package = blessed( $object );
+ use Scalar::Util qw(blessed);
+ my $object_package = blessed( $object );
Most of the time, you shouldn't care what package an object is blessed
into, however, as long as it claims to inherit from that class:
- my $is_right_class = eval { $object->isa( $package ) }; # true or false
+ my $is_right_class = eval { $object->isa( $package ) }; # true or false
And, with Perl 5.10 and later, you don't have to check for an
inheritance to see if the object can handle a role. For that, you can
use C<DOES>, which comes from C<UNIVERSAL>:
- my $class_does_it = eval { $object->DOES( $role ) }; # true or false
+ my $class_does_it = eval { $object->DOES( $role ) }; # true or false
You can safely replace C<isa> with C<DOES> (although the converse is not true).
@@ -861,18 +853,18 @@ You can safely replace C<isa> with C<DOES> (although the converse is not true).
The quick-and-dirty way to comment out more than one line of Perl is
to surround those lines with Pod directives. You have to put these
directives at the beginning of the line and somewhere where Perl
-expects a new statement (so not in the middle of statements like the #
+expects a new statement (so not in the middle of statements like the C<#>
comments). You end the comment with C<=cut>, ending the Pod section:
- =pod
+ =pod
- my $object = NotGonnaHappen->new();
+ my $object = NotGonnaHappen->new();
- ignored_sub();
+ ignored_sub();
- $wont_be_assigned = 37;
+ $wont_be_assigned = 37;
- =cut
+ =cut
The quick-and-dirty method only works well when you don't plan to
leave the commented code in the source. If a Pod parser comes along,
@@ -885,17 +877,17 @@ the comments with C<comment>. End the comment using C<=end> with the
same label. You still need the C<=cut> to go back to Perl code from
the Pod comment:
- =begin comment
+ =begin comment
- my $object = NotGonnaHappen->new();
+ my $object = NotGonnaHappen->new();
- ignored_sub();
+ ignored_sub();
- $wont_be_assigned = 37;
+ $wont_be_assigned = 37;
- =end comment
+ =end comment
- =cut
+ =cut
For more information on Pod, check out L<perlpod> and L<perlpodspec>.
@@ -903,23 +895,23 @@ For more information on Pod, check out L<perlpod> and L<perlpodspec>.
Use this code, provided by Mark-Jason Dominus:
- sub scrub_package {
- no strict 'refs';
- my $pack = shift;
- die "Shouldn't delete main package"
- if $pack eq "" || $pack eq "main";
- my $stash = *{$pack . '::'}{HASH};
- my $name;
- foreach $name (keys %$stash) {
- my $fullname = $pack . '::' . $name;
- # Get rid of everything with that name.
- undef $$fullname;
- undef @$fullname;
- undef %$fullname;
- undef &$fullname;
- undef *$fullname;
- }
- }
+ sub scrub_package {
+ no strict 'refs';
+ my $pack = shift;
+ die "Shouldn't delete main package"
+ if $pack eq "" || $pack eq "main";
+ my $stash = *{$pack . '::'}{HASH};
+ my $name;
+ foreach $name (keys %$stash) {
+ my $fullname = $pack . '::' . $name;
+ # Get rid of everything with that name.
+ undef $$fullname;
+ undef @$fullname;
+ undef %$fullname;
+ undef &$fullname;
+ undef *$fullname;
+ }
+ }
Or, if you're using a recent release of Perl, you can
just use the Symbol::delete_package() function instead.
@@ -929,17 +921,17 @@ just use the Symbol::delete_package() function instead.
Beginners often think they want to have a variable contain the name
of a variable.
- $fred = 23;
- $varname = "fred";
- ++$$varname; # $fred now 24
+ $fred = 23;
+ $varname = "fred";
+ ++$$varname; # $fred now 24
This works I<sometimes>, but it is a very bad idea for two reasons.
The first reason is that this technique I<only works on global
-variables>. That means that if $fred is a lexical variable created
+variables>. That means that if $fred is a lexical variable created
with my() in the above example, the code wouldn't work at all: you'd
accidentally access the global and skip right over the private lexical
-altogether. Global variables are bad because they can easily collide
+altogether. Global variables are bad because they can easily collide
accidentally and in general make for non-scalable and confusing code.
Symbolic references are forbidden under the C<use strict> pragma.
@@ -948,78 +940,78 @@ or garbage-collected.
The other reason why using a variable to hold the name of another
variable is a bad idea is that the question often stems from a lack of
-understanding of Perl data structures, particularly hashes. By using
+understanding of Perl data structures, particularly hashes. By using
symbolic references, you are just using the package's symbol-table hash
-(like C<%main::>) instead of a user-defined hash. The solution is to
+(like C<%main::>) instead of a user-defined hash. The solution is to
use your own hash or a real reference instead.
- $USER_VARS{"fred"} = 23;
- $varname = "fred";
- $USER_VARS{$varname}++; # not $$varname++
+ $USER_VARS{"fred"} = 23;
+ my $varname = "fred";
+ $USER_VARS{$varname}++; # not $$varname++
There we're using the %USER_VARS hash instead of symbolic references.
Sometimes this comes up in reading strings from the user with variable
references and wanting to expand them to the values of your perl
-program's variables. This is also a bad idea because it conflates the
-program-addressable namespace and the user-addressable one. Instead of
+program's variables. This is also a bad idea because it conflates the
+program-addressable namespace and the user-addressable one. Instead of
reading a string and expanding it to the actual contents of your program's
own variables:
- $str = 'this has a $fred and $barney in it';
- $str =~ s/(\$\w+)/$1/eeg; # need double eval
+ $str = 'this has a $fred and $barney in it';
+ $str =~ s/(\$\w+)/$1/eeg; # need double eval
it would be better to keep a hash around like %USER_VARS and have
variable references actually refer to entries in that hash:
- $str =~ s/\$(\w+)/$USER_VARS{$1}/g; # no /e here at all
+ $str =~ s/\$(\w+)/$USER_VARS{$1}/g; # no /e here at all
-That's faster, cleaner, and safer than the previous approach. Of course,
-you don't need to use a dollar sign. You could use your own scheme to
+That's faster, cleaner, and safer than the previous approach. Of course,
+you don't need to use a dollar sign. You could use your own scheme to
make it less confusing, like bracketed percent symbols, etc.
- $str = 'this has a %fred% and %barney% in it';
- $str =~ s/%(\w+)%/$USER_VARS{$1}/g; # no /e here at all
+ $str = 'this has a %fred% and %barney% in it';
+ $str =~ s/%(\w+)%/$USER_VARS{$1}/g; # no /e here at all
Another reason that folks sometimes think they want a variable to
contain the name of a variable is that they don't know how to build
-proper data structures using hashes. For example, let's say they
+proper data structures using hashes. For example, let's say they
wanted two hashes in their program: %fred and %barney, and that they
wanted to use another scalar variable to refer to those by name.
- $name = "fred";
- $$name{WIFE} = "wilma"; # set %fred
+ $name = "fred";
+ $$name{WIFE} = "wilma"; # set %fred
- $name = "barney";
- $$name{WIFE} = "betty"; # set %barney
+ $name = "barney";
+ $$name{WIFE} = "betty"; # set %barney
This is still a symbolic reference, and is still saddled with the
-problems enumerated above. It would be far better to write:
+problems enumerated above. It would be far better to write:
- $folks{"fred"}{WIFE} = "wilma";
- $folks{"barney"}{WIFE} = "betty";
+ $folks{"fred"}{WIFE} = "wilma";
+ $folks{"barney"}{WIFE} = "betty";
And just use a multilevel hash to start with.
The only times that you absolutely I<must> use symbolic references are
-when you really must refer to the symbol table. This may be because it's
+when you really must refer to the symbol table. This may be because it's
something that one can't take a real reference to, such as a format name.
Doing so may also be important for method calls, since these always go
through the symbol table for resolution.
In those cases, you would turn off C<strict 'refs'> temporarily so you
-can play around with the symbol table. For example:
+can play around with the symbol table. For example:
- @colors = qw(red blue green yellow orange purple violet);
- for my $name (@colors) {
- no strict 'refs'; # renege for the block
- *$name = sub { "<FONT COLOR='$name'>@_</FONT>" };
- }
+ @colors = qw(red blue green yellow orange purple violet);
+ for my $name (@colors) {
+ no strict 'refs'; # renege for the block
+ *$name = sub { "<FONT COLOR='$name'>@_</FONT>" };
+ }
All those functions (red(), blue(), green(), etc.) appear to be separate,
but the real code in the closure actually was compiled only once.
So, sometimes you might want to use symbolic references to manipulate
-the symbol table directly. This doesn't matter for formats, handles, and
+the symbol table directly. This doesn't matter for formats, handles, and
subroutines, because they are always global--you can't use my() on them.
For scalars, arrays, and hashes, though--and usually for subroutines--
you probably only want to use hard references.
@@ -1028,7 +1020,7 @@ you probably only want to use hard references.
(contributed by brian d foy)
-The "bad interpreter" message comes from the shell, not perl. The
+The "bad interpreter" message comes from the shell, not perl. The
actual message may vary depending on your platform, shell, and locale
settings.
@@ -1048,7 +1040,7 @@ script executable.
In either case, you should still be able to run the scripts with perl
explicitly:
- % perl script.pl
+ % perl script.pl
If you get a message like "perl: command not found", perl is not in
your PATH, which might also mean that the location of perl is not
@@ -1063,8 +1055,7 @@ This documentation is free; you can redistribute it and/or modify it
under the same terms as Perl itself.
Irrespective of its distribution, all code examples in this file
-are hereby placed into the public domain. You are permitted and
+are hereby placed into the public domain. You are permitted and
encouraged to use this code in your own programs for fun
-or for profit as you see fit. A simple comment in the code giving
+or for profit as you see fit. A simple comment in the code giving
credit would be courteous but is not required.
-
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq8.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq8.pod
index b64e8d038b7..1c7793e3558 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq8.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq8.pod
@@ -5,12 +5,12 @@ perlfaq8 - System Interaction
=head1 DESCRIPTION
This section of the Perl FAQ covers questions involving operating
-system interaction. Topics include interprocess communication (IPC),
+system interaction. Topics include interprocess communication (IPC),
control over the user-interface (keyboard, screen and pointing
devices), and most anything else not related to data manipulation.
Read the FAQs and documentation specific to the port of perl to your
-operating system (eg, L<perlvms>, L<perlplan9>, ...). These should
+operating system (eg, L<perlvms>, L<perlplan9>, ...). These should
contain more detailed information on the vagaries of your perl.
=head2 How do I find out which operating system I'm running under?
@@ -34,27 +34,30 @@ going, look at a piped C<open>, C<fork>, or C<system>.
=head2 How do I do fancy stuff with the keyboard/screen/mouse?
How you access/control keyboards, screens, and pointing devices
-("mice") is system-dependent. Try the following modules:
+("mice") is system-dependent. Try the following modules:
=over 4
=item Keyboard
- Term::Cap Standard perl distribution
- Term::ReadKey CPAN
- Term::ReadLine::Gnu CPAN
- Term::ReadLine::Perl CPAN
- Term::Screen CPAN
+ Term::Cap Standard perl distribution
+ Term::ReadKey CPAN
+ Term::ReadLine::Gnu CPAN
+ Term::ReadLine::Perl CPAN
+ Term::Screen CPAN
=item Screen
- Term::Cap Standard perl distribution
- Curses CPAN
- Term::ANSIColor CPAN
+ Term::Cap Standard perl distribution
+ Curses CPAN
+ Term::ANSIColor CPAN
=item Mouse
- Tk CPAN
+ Tk CPAN
+ Wx CPAN
+ Gtk2 CPAN
+ Qt4 kdebindings4 package
=back
@@ -64,19 +67,19 @@ in this section of the perlfaq.
=head2 How do I print something out in color?
In general, you don't, because you don't know whether
-the recipient has a color-aware display device. If you
+the recipient has a color-aware display device. If you
know that they have an ANSI terminal that understands
-color, you can use the C<Term::ANSIColor> module from CPAN:
+color, you can use the L<Term::ANSIColor> module from CPAN:
- use Term::ANSIColor;
- print color("red"), "Stop!\n", color("reset");
- print color("green"), "Go!\n", color("reset");
+ use Term::ANSIColor;
+ print color("red"), "Stop!\n", color("reset");
+ print color("green"), "Go!\n", color("reset");
Or like this:
- use Term::ANSIColor qw(:constants);
- print RED, "Stop!\n", RESET;
- print GREEN, "Go!\n", RESET;
+ use Term::ANSIColor qw(:constants);
+ print RED, "Stop!\n", RESET;
+ print GREEN, "Go!\n", RESET;
=head2 How do I read just one key without waiting for a return key?
@@ -85,92 +88,94 @@ On many systems, you can just use the B<stty> command as shown in
L<perlfunc/getc>, but as you see, that's already getting you into
portability snags.
- open(TTY, "+</dev/tty") or die "no tty: $!";
- system "stty cbreak </dev/tty >/dev/tty 2>&1";
- $key = getc(TTY); # perhaps this works
- # OR ELSE
- sysread(TTY, $key, 1); # probably this does
- system "stty -cbreak </dev/tty >/dev/tty 2>&1";
+ open(TTY, "+</dev/tty") or die "no tty: $!";
+ system "stty cbreak </dev/tty >/dev/tty 2>&1";
+ $key = getc(TTY); # perhaps this works
+ # OR ELSE
+ sysread(TTY, $key, 1); # probably this does
+ system "stty -cbreak </dev/tty >/dev/tty 2>&1";
-The C<Term::ReadKey> module from CPAN offers an easy-to-use interface that
+The L<Term::ReadKey> module from CPAN offers an easy-to-use interface that
should be more efficient than shelling out to B<stty> for each key.
It even includes limited support for Windows.
- use Term::ReadKey;
- ReadMode('cbreak');
- $key = ReadKey(0);
- ReadMode('normal');
+ use Term::ReadKey;
+ ReadMode('cbreak');
+ $key = ReadKey(0);
+ ReadMode('normal');
However, using the code requires that you have a working C compiler
-and can use it to build and install a CPAN module. Here's a solution
-using the standard C<POSIX> module, which is already on your system
+and can use it to build and install a CPAN module. Here's a solution
+using the standard L<POSIX> module, which is already on your system
(assuming your system supports POSIX).
- use HotKey;
- $key = readkey();
+ use HotKey;
+ $key = readkey();
And here's the C<HotKey> module, which hides the somewhat mystifying calls
to manipulate the POSIX termios structures.
- # HotKey.pm
- package HotKey;
+ # HotKey.pm
+ package HotKey;
- @ISA = qw(Exporter);
- @EXPORT = qw(cbreak cooked readkey);
+ use strict;
+ use warnings;
- use strict;
- use POSIX qw(:termios_h);
- my ($term, $oterm, $echo, $noecho, $fd_stdin);
+ use parent 'Exporter';
+ our @EXPORT = qw(cbreak cooked readkey);
- $fd_stdin = fileno(STDIN);
- $term = POSIX::Termios->new();
- $term->getattr($fd_stdin);
- $oterm = $term->getlflag();
+ use POSIX qw(:termios_h);
+ my ($term, $oterm, $echo, $noecho, $fd_stdin);
- $echo = ECHO | ECHOK | ICANON;
- $noecho = $oterm & ~$echo;
+ $fd_stdin = fileno(STDIN);
+ $term = POSIX::Termios->new();
+ $term->getattr($fd_stdin);
+ $oterm = $term->getlflag();
- sub cbreak {
- $term->setlflag($noecho); # ok, so i don't want echo either
- $term->setcc(VTIME, 1);
- $term->setattr($fd_stdin, TCSANOW);
- }
+ $echo = ECHO | ECHOK | ICANON;
+ $noecho = $oterm & ~$echo;
- sub cooked {
- $term->setlflag($oterm);
- $term->setcc(VTIME, 0);
- $term->setattr($fd_stdin, TCSANOW);
- }
+ sub cbreak {
+ $term->setlflag($noecho); # ok, so i don't want echo either
+ $term->setcc(VTIME, 1);
+ $term->setattr($fd_stdin, TCSANOW);
+ }
- sub readkey {
- my $key = '';
- cbreak();
- sysread(STDIN, $key, 1);
- cooked();
- return $key;
- }
+ sub cooked {
+ $term->setlflag($oterm);
+ $term->setcc(VTIME, 0);
+ $term->setattr($fd_stdin, TCSANOW);
+ }
- END { cooked() }
+ sub readkey {
+ my $key = '';
+ cbreak();
+ sysread(STDIN, $key, 1);
+ cooked();
+ return $key;
+ }
- 1;
+ END { cooked() }
+
+ 1;
=head2 How do I check whether input is ready on the keyboard?
The easiest way to do this is to read a key in nonblocking mode with the
-C<Term::ReadKey> module from CPAN, passing it an argument of -1 to indicate
+L<Term::ReadKey> module from CPAN, passing it an argument of -1 to indicate
not to block:
- use Term::ReadKey;
+ use Term::ReadKey;
- ReadMode('cbreak');
+ ReadMode('cbreak');
- if (defined ($char = ReadKey(-1)) ) {
- # input was waiting and it was $char
- } else {
- # no input was waiting
- }
+ if (defined (my $char = ReadKey(-1)) ) {
+ # input was waiting and it was $char
+ } else {
+ # no input was waiting
+ }
- ReadMode('normal'); # restore normal tty settings
+ ReadMode('normal'); # restore normal tty settings
=head2 How do I clear the screen?
@@ -180,91 +185,91 @@ To clear the screen, you just have to print the special sequence
that tells the terminal to clear the screen. Once you have that
sequence, output it when you want to clear the screen.
-You can use the C<Term::ANSIScreen> module to get the special
+You can use the L<Term::ANSIScreen> module to get the special
sequence. Import the C<cls> function (or the C<:screen> tag):
- use Term::ANSIScreen qw(cls);
- my $clear_screen = cls();
+ use Term::ANSIScreen qw(cls);
+ my $clear_screen = cls();
- print $clear_screen;
+ print $clear_screen;
-The C<Term::Cap> module can also get the special sequence if you want
+The L<Term::Cap> module can also get the special sequence if you want
to deal with the low-level details of terminal control. The C<Tputs>
method returns the string for the given capability:
- use Term::Cap;
+ use Term::Cap;
- $terminal = Term::Cap->Tgetent( { OSPEED => 9600 } );
- $clear_string = $terminal->Tputs('cl');
+ my $terminal = Term::Cap->Tgetent( { OSPEED => 9600 } );
+ my $clear_string = $terminal->Tputs('cl');
- print $clear_screen;
+ print $clear_screen;
-On Windows, you can use the C<Win32::Console> module. After creating
+On Windows, you can use the L<Win32::Console> module. After creating
an object for the output filehandle you want to affect, call the
C<Cls> method:
- Win32::Console;
+ Win32::Console;
- $OUT = Win32::Console->new(STD_OUTPUT_HANDLE);
- my $clear_string = $OUT->Cls;
+ my $OUT = Win32::Console->new(STD_OUTPUT_HANDLE);
+ my $clear_string = $OUT->Cls;
- print $clear_screen;
+ print $clear_screen;
If you have a command-line program that does the job, you can call
it in backticks to capture whatever it outputs so you can use it
later:
- $clear_string = `clear`;
+ my $clear_string = `clear`;
- print $clear_string;
+ print $clear_string;
=head2 How do I get the screen size?
-If you have C<Term::ReadKey> module installed from CPAN,
+If you have L<Term::ReadKey> module installed from CPAN,
you can use it to fetch the width and height in characters
and in pixels:
- use Term::ReadKey;
- ($wchar, $hchar, $wpixels, $hpixels) = GetTerminalSize();
+ use Term::ReadKey;
+ my ($wchar, $hchar, $wpixels, $hpixels) = GetTerminalSize();
This is more portable than the raw C<ioctl>, but not as
illustrative:
- require 'sys/ioctl.ph';
- die "no TIOCGWINSZ " unless defined &TIOCGWINSZ;
- open(TTY, "+</dev/tty") or die "No tty: $!";
- unless (ioctl(TTY, &TIOCGWINSZ, $winsize='')) {
- die sprintf "$0: ioctl TIOCGWINSZ (%08x: $!)\n", &TIOCGWINSZ;
- }
- ($row, $col, $xpixel, $ypixel) = unpack('S4', $winsize);
- print "(row,col) = ($row,$col)";
- print " (xpixel,ypixel) = ($xpixel,$ypixel)" if $xpixel || $ypixel;
- print "\n";
+ require 'sys/ioctl.ph';
+ die "no TIOCGWINSZ " unless defined &TIOCGWINSZ;
+ open(my $tty_fh, "+</dev/tty") or die "No tty: $!";
+ unless (ioctl($tty_fh, &TIOCGWINSZ, $winsize='')) {
+ die sprintf "$0: ioctl TIOCGWINSZ (%08x: $!)\n", &TIOCGWINSZ;
+ }
+ my ($row, $col, $xpixel, $ypixel) = unpack('S4', $winsize);
+ print "(row,col) = ($row,$col)";
+ print " (xpixel,ypixel) = ($xpixel,$ypixel)" if $xpixel || $ypixel;
+ print "\n";
=head2 How do I ask the user for a password?
-(This question has nothing to do with the web. See a different
+(This question has nothing to do with the web. See a different
FAQ for that.)
-There's an example of this in L<perlfunc/crypt>). First, you put the
+There's an example of this in L<perlfunc/crypt>). First, you put the
terminal into "no echo" mode, then just read the password normally.
You may do this with an old-style C<ioctl()> function, POSIX terminal
control (see L<POSIX> or its documentation the Camel Book), or a call
to the B<stty> program, with varying degrees of portability.
-You can also do this for most systems using the C<Term::ReadKey> module
+You can also do this for most systems using the L<Term::ReadKey> module
from CPAN, which is easier to use and in theory more portable.
- use Term::ReadKey;
+ use Term::ReadKey;
- ReadMode('noecho');
- $password = ReadLine(0);
+ ReadMode('noecho');
+ my $password = ReadLine(0);
=head2 How do I read and write the serial port?
-This depends on which operating system your program is running on. In
+This depends on which operating system your program is running on. In
the case of Unix, the serial ports will be accessible through files in
-/dev; on other systems, device names will doubtless differ.
+C</dev>; on other systems, device names will doubtless differ.
Several problem areas common to all device interaction are the
following:
@@ -272,29 +277,29 @@ following:
=item lockfiles
-Your system may use lockfiles to control multiple access. Make sure
-you follow the correct protocol. Unpredictable behavior can result
+Your system may use lockfiles to control multiple access. Make sure
+you follow the correct protocol. Unpredictable behavior can result
from multiple processes reading from one device.
=item open mode
If you expect to use both read and write operations on the device,
you'll have to open it for update (see L<perlfunc/"open"> for
-details). You may wish to open it without running the risk of
+details). You may wish to open it without running the risk of
blocking by using C<sysopen()> and C<O_RDWR|O_NDELAY|O_NOCTTY> from the
-C<Fcntl> module (part of the standard perl distribution). See
+L<Fcntl> module (part of the standard perl distribution). See
L<perlfunc/"sysopen"> for more on this approach.
=item end of line
Some devices will be expecting a "\r" at the end of each line rather
-than a "\n". In some ports of perl, "\r" and "\n" are different from
-their usual (Unix) ASCII values of "\015" and "\012". You may have to
+than a "\n". In some ports of perl, "\r" and "\n" are different from
+their usual (Unix) ASCII values of "\015" and "\012". You may have to
give the numeric values you want directly, using octal ("\015"), hex
("0x0D"), or as a control-character specification ("\cM").
- print DEV "atv1\012"; # wrong, for some devices
- print DEV "atv1\015"; # right, for some devices
+ print DEV "atv1\012"; # wrong, for some devices
+ print DEV "atv1\015"; # right, for some devices
Even though with normal text files a "\n" will do the trick, there is
still no unified scheme for terminating a line that is portable
@@ -306,34 +311,34 @@ next.
=item flushing output
If you expect characters to get to your device when you C<print()> them,
-you'll want to autoflush that filehandle. You can use C<select()>
+you'll want to autoflush that filehandle. You can use C<select()>
and the C<$|> variable to control autoflushing (see L<perlvar/$E<verbar>>
and L<perlfunc/select>, or L<perlfaq5>, "How do I flush/unbuffer an
-output filehandle? Why must I do this?"):
+output filehandle? Why must I do this?"):
- $oldh = select(DEV);
- $| = 1;
- select($oldh);
+ my $old_handle = select($dev_fh);
+ $| = 1;
+ select($old_handle);
You'll also see code that does this without a temporary variable, as in
- select((select(DEV), $| = 1)[0]);
+ select((select($deb_handle), $| = 1)[0]);
Or if you don't mind pulling in a few thousand lines
of code just because you're afraid of a little C<$|> variable:
- use IO::Handle;
- DEV->autoflush(1);
+ use IO::Handle;
+ $dev_fh->autoflush(1);
As mentioned in the previous item, this still doesn't work when using
-socket I/O between Unix and Macintosh. You'll need to hard code your
+socket I/O between Unix and Macintosh. You'll need to hard code your
line terminators, in that case.
=item non-blocking input
If you are doing a blocking C<read()> or C<sysread()>, you'll have to
arrange for an alarm handler to provide a timeout (see
-L<perlfunc/alarm>). If you have a non-blocking open, you'll likely
+L<perlfunc/alarm>). If you have a non-blocking open, you'll likely
have a non-blocking read, which means you may have to use a 4-arg
C<select()> to determine whether I/O is ready on that device (see
L<perlfunc/"select">.
@@ -346,19 +351,19 @@ fighting with C<sysread>, C<sysopen>, POSIX's C<tcgetattr> business,
and various other functions that go bump in the night, finally came up
with this:
- sub open_modem {
- use IPC::Open2;
- my $stty = `/bin/stty -g`;
- open2( \*MODEM_IN, \*MODEM_OUT, "cu -l$modem_device -s2400 2>&1");
- # starting cu hoses /dev/tty's stty settings, even when it has
- # been opened on a pipe...
- system("/bin/stty $stty");
- $_ = <MODEM_IN>;
- chomp;
- if ( !m/^Connected/ ) {
- print STDERR "$0: cu printed `$_' instead of `Connected'\n";
- }
- }
+ sub open_modem {
+ use IPC::Open2;
+ my $stty = `/bin/stty -g`;
+ open2( \*MODEM_IN, \*MODEM_OUT, "cu -l$modem_device -s2400 2>&1");
+ # starting cu hoses /dev/tty's stty settings, even when it has
+ # been opened on a pipe...
+ system("/bin/stty $stty");
+ $_ = <MODEM_IN>;
+ chomp;
+ if ( !m/^Connected/ ) {
+ print STDERR "$0: cu printed `$_' instead of `Connected'\n";
+ }
+ }
=head2 How do I decode encrypted password files?
@@ -366,15 +371,15 @@ You spend lots and lots of money on dedicated hardware, but this is
bound to get you talked about.
Seriously, you can't if they are Unix password files--the Unix
-password system employs one-way encryption. It's more like hashing
-than encryption. The best you can do is check whether something else
-hashes to the same string. You can't turn a hash back into the
+password system employs one-way encryption. It's more like hashing
+than encryption. The best you can do is check whether something else
+hashes to the same string. You can't turn a hash back into the
original string. Programs like Crack can forcibly (and intelligently)
try to guess passwords, but don't (can't) guarantee quick success.
If you're worried about users selecting bad passwords, you should
proactively check when they try to change their password (by modifying
-passwd(1), for example).
+L<passwd(1)>, for example).
=head2 How do I start a process in the background?
@@ -383,18 +388,18 @@ passwd(1), for example).
There's not a single way to run code in the background so you don't
have to wait for it to finish before your program moves on to other
tasks. Process management depends on your particular operating system,
-and many of the techniques are in L<perlipc>.
+and many of the techniques are covered in L<perlipc>.
-Several CPAN modules may be able to help, including C<IPC::Open2> or
-C<IPC::Open3>, C<IPC::Run>, C<Parallel::Jobs>,
-C<Parallel::ForkManager>, C<POE>, C<Proc::Background>, and
-C<Win32::Process>. There are many other modules you might use, so
+Several CPAN modules may be able to help, including L<IPC::Open2> or
+L<IPC::Open3>, L<IPC::Run>, L<Parallel::Jobs>,
+L<Parallel::ForkManager>, L<POE>, L<Proc::Background>, and
+L<Win32::Process>. There are many other modules you might use, so
check those namespaces for other options too.
If you are on a Unix-like system, you might be able to get away with a
system call where you put an C<&> on the end of the command:
- system("cmd &")
+ system("cmd &")
You can also try using C<fork>, as described in L<perlfunc> (although
this is the same thing that many of the modules will do for you).
@@ -404,40 +409,40 @@ this is the same thing that many of the modules will do for you).
=item STDIN, STDOUT, and STDERR are shared
Both the main process and the backgrounded one (the "child" process)
-share the same STDIN, STDOUT and STDERR filehandles. If both try to
-access them at once, strange things can happen. You may want to close
-or reopen these for the child. You can get around this with
+share the same STDIN, STDOUT and STDERR filehandles. If both try to
+access them at once, strange things can happen. You may want to close
+or reopen these for the child. You can get around this with
C<open>ing a pipe (see L<perlfunc/"open">) but on some systems this
means that the child process cannot outlive the parent.
=item Signals
You'll have to catch the SIGCHLD signal, and possibly SIGPIPE too.
-SIGCHLD is sent when the backgrounded process finishes. SIGPIPE is
+SIGCHLD is sent when the backgrounded process finishes. SIGPIPE is
sent when you write to a filehandle whose child process has closed (an
-untrapped SIGPIPE can cause your program to silently die). This is
+untrapped SIGPIPE can cause your program to silently die). This is
not an issue with C<system("cmd&")>.
=item Zombies
You have to be prepared to "reap" the child process when it finishes.
- $SIG{CHLD} = sub { wait };
+ $SIG{CHLD} = sub { wait };
- $SIG{CHLD} = 'IGNORE';
+ $SIG{CHLD} = 'IGNORE';
You can also use a double fork. You immediately C<wait()> for your
first child, and the init daemon will C<wait()> for your grandchild once
it exits.
- unless ($pid = fork) {
- unless (fork) {
- exec "what you really wanna do";
- die "exec failed!";
- }
- exit 0;
- }
- waitpid($pid, 0);
+ unless ($pid = fork) {
+ unless (fork) {
+ exec "what you really wanna do";
+ die "exec failed!";
+ }
+ exit 0;
+ }
+ waitpid($pid, 0);
See L<perlipc/"Signals"> for other examples of code to do this.
Zombies are not an issue with C<system("prog &")>.
@@ -446,32 +451,32 @@ Zombies are not an issue with C<system("prog &")>.
=head2 How do I trap control characters/signals?
-You don't actually "trap" a control character. Instead, that character
+You don't actually "trap" a control character. Instead, that character
generates a signal which is sent to your terminal's currently
foregrounded process group, which you then trap in your process.
Signals are documented in L<perlipc/"Signals"> and the
section on "Signals" in the Camel.
You can set the values of the C<%SIG> hash to be the functions you want
-to handle the signal. After perl catches the signal, it looks in C<%SIG>
+to handle the signal. After perl catches the signal, it looks in C<%SIG>
for a key with the same name as the signal, then calls the subroutine
value for that key.
- # as an anonymous subroutine
+ # as an anonymous subroutine
- $SIG{INT} = sub { syswrite(STDERR, "ouch\n", 5 ) };
+ $SIG{INT} = sub { syswrite(STDERR, "ouch\n", 5 ) };
- # or a reference to a function
+ # or a reference to a function
- $SIG{INT} = \&ouch;
+ $SIG{INT} = \&ouch;
- # or the name of the function as a string
+ # or the name of the function as a string
- $SIG{INT} = "ouch";
+ $SIG{INT} = "ouch";
Perl versions before 5.8 had in its C source code signal handlers which
would catch the signal and possibly run a Perl function that you had set
-in C<%SIG>. This violated the rules of signal handling at that level
+in C<%SIG>. This violated the rules of signal handling at that level
causing perl to dump core. Since version 5.8.0, perl looks at C<%SIG>
B<after> the signal has been caught, rather than while it is being caught.
Previous versions of this answer were incorrect.
@@ -481,43 +486,43 @@ Previous versions of this answer were incorrect.
If perl was installed correctly and your shadow library was written
properly, the C<getpw*()> functions described in L<perlfunc> should in
theory provide (read-only) access to entries in the shadow password
-file. To change the file, make a new shadow password file (the format
-varies from system to system--see L<passwd> for specifics) and use
-C<pwd_mkdb(8)> to install it (see L<pwd_mkdb> for more details).
+file. To change the file, make a new shadow password file (the format
+varies from system to system--see L<passwd(1)> for specifics) and use
+C<pwd_mkdb(8)> to install it (see L<pwd_mkdb(8)> for more details).
=head2 How do I set the time and date?
Assuming you're running under sufficient permissions, you should be
able to set the system-wide date and time by running the C<date(1)>
-program. (There is no way to set the time and date on a per-process
+program. (There is no way to set the time and date on a per-process
basis.) This mechanism will work for Unix, MS-DOS, Windows, and NT;
the VMS equivalent is C<set time>.
However, if all you want to do is change your time zone, you can
probably get away with setting an environment variable:
- $ENV{TZ} = "MST7MDT"; # Unixish
- $ENV{'SYS$TIMEZONE_DIFFERENTIAL'}="-5" # vms
- system "trn comp.lang.perl.misc";
+ $ENV{TZ} = "MST7MDT"; # Unixish
+ $ENV{'SYS$TIMEZONE_DIFFERENTIAL'}="-5" # vms
+ system('trn', 'comp.lang.perl.misc');
=head2 How can I sleep() or alarm() for under a second?
X<Time::HiRes> X<BSD::Itimer> X<sleep> X<select>
If you want finer granularity than the 1 second that the C<sleep()>
function provides, the easiest way is to use the C<select()> function as
-documented in L<perlfunc/"select">. Try the C<Time::HiRes> and
-the C<BSD::Itimer> modules (available from CPAN, and starting from
-Perl 5.8 C<Time::HiRes> is part of the standard distribution).
+documented in L<perlfunc/"select">. Try the L<Time::HiRes> and
+the L<BSD::Itimer> modules (available from CPAN, and starting from
+Perl 5.8 L<Time::HiRes> is part of the standard distribution).
=head2 How can I measure time under a second?
X<Time::HiRes> X<BSD::Itimer> X<sleep> X<select>
(contributed by brian d foy)
-The C<Time::HiRes> module (part of the standard distribution as of
+The L<Time::HiRes> module (part of the standard distribution as of
Perl 5.8) measures time with the C<gettimeofday()> system call, which
returns the time in microseconds since the epoch. If you can't install
-C<Time::HiRes> for older Perls and you are on a Unixish system, you
+L<Time::HiRes> for older Perls and you are on a Unixish system, you
may be able to call C<gettimeofday(2)> directly. See
L<perlfunc/syscall>.
@@ -530,36 +535,36 @@ manpage for more details about C<END> blocks.
For example, you can use this to make sure your filter program managed
to finish its output without filling up the disk:
- END {
- close(STDOUT) || die "stdout close failed: $!";
- }
+ END {
+ close(STDOUT) || die "stdout close failed: $!";
+ }
The C<END> block isn't called when untrapped signals kill the program,
though, so if you use C<END> blocks you should also use
- use sigtrap qw(die normal-signals);
+ use sigtrap qw(die normal-signals);
-Perl's exception-handling mechanism is its C<eval()> operator. You
+Perl's exception-handling mechanism is its C<eval()> operator. You
can use C<eval()> as C<setjmp> and C<die()> as C<longjmp>. For
details of this, see the section on signals, especially the time-out
handler for a blocking C<flock()> in L<perlipc/"Signals"> or the
section on "Signals" in I<Programming Perl>.
If exception handling is all you're interested in, use one of the
-many CPAN modules that handle exceptions, such as C<Try::Tiny>.
+many CPAN modules that handle exceptions, such as L<Try::Tiny>.
If you want the C<atexit()> syntax (and an C<rmexit()> as well), try the
C<AtExit> module available from CPAN.
-=head2 Why doesn't my sockets program work under System V (Solaris)? What does the error message "Protocol not supported" mean?
+=head2 Why doesn't my sockets program work under System V (Solaris)? What does the error message "Protocol not supported" mean?
Some Sys-V based systems, notably Solaris 2.X, redefined some of the
-standard socket constants. Since these were constant across all
-architectures, they were often hardwired into perl code. The proper
+standard socket constants. Since these were constant across all
+architectures, they were often hardwired into perl code. The proper
way to deal with this is to "use Socket" to get the correct values.
Note that even though SunOS and Solaris are binary compatible, these
-values are different. Go figure.
+values are different. Go figure.
=head2 How can I call my system's unique C functions from Perl?
@@ -571,14 +576,14 @@ L<perlfunc>).
Remember to check the modules that came with your distribution, and
CPAN as well--someone may already have written a module to do it. On
-Windows, try C<Win32::API>. On Macs, try C<Mac::Carbon>. If no module
+Windows, try L<Win32::API>. On Macs, try L<Mac::Carbon>. If no module
has an interface to the C function, you can inline a bit of C in your
-Perl source with C<Inline::C>.
+Perl source with L<Inline::C>.
=head2 Where do I get the include files to do ioctl() or syscall()?
-Historically, these would be generated by the C<h2ph> tool, part of the
-standard perl distribution. This program converts C<cpp(1)> directives
+Historically, these would be generated by the L<h2ph> tool, part of the
+standard perl distribution. This program converts C<cpp(1)> directives
in C header files to files containing subroutine definitions, like
C<&SYS_getitimer>, which you can use as arguments to your functions.
It doesn't work perfectly, but it usually gets most of the job done.
@@ -586,149 +591,149 @@ Simple files like F<errno.h>, F<syscall.h>, and F<socket.h> were fine,
but the hard ones like F<ioctl.h> nearly always need to be hand-edited.
Here's how to install the *.ph files:
- 1. become super-user
- 2. cd /usr/include
- 3. h2ph *.h */*.h
+ 1. Become the super-user
+ 2. cd /usr/include
+ 3. h2ph *.h */*.h
If your system supports dynamic loading, for reasons of portability and
-sanity you probably ought to use C<h2xs> (also part of the standard perl
-distribution). This tool converts C header files to Perl extensions.
-See L<perlxstut> for how to get started with C<h2xs>.
+sanity you probably ought to use L<h2xs> (also part of the standard perl
+distribution). This tool converts C header files to Perl extensions.
+See L<perlxstut> for how to get started with L<h2xs>.
If your system doesn't support dynamic loading, you still probably
-ought to use C<h2xs>. See L<perlxstut> and L<ExtUtils::MakeMaker> for
+ought to use L<h2xs>. See L<perlxstut> and L<ExtUtils::MakeMaker> for
more information (in brief, just use B<make perl> instead of a plain
B<make> to rebuild perl with a new static extension).
=head2 Why do setuid perl scripts complain about kernel problems?
Some operating systems have bugs in the kernel that make setuid
-scripts inherently insecure. Perl gives you a number of options
+scripts inherently insecure. Perl gives you a number of options
(described in L<perlsec>) to work around such systems.
=head2 How can I open a pipe both to and from a command?
-The C<IPC::Open2> module (part of the standard perl distribution) is
+The L<IPC::Open2> module (part of the standard perl distribution) is
an easy-to-use approach that internally uses C<pipe()>, C<fork()>, and
-C<exec()> to do the job. Make sure you read the deadlock warnings in
-its documentation, though (see L<IPC::Open2>). See
+C<exec()> to do the job. Make sure you read the deadlock warnings in
+its documentation, though (see L<IPC::Open2>). See
L<perlipc/"Bidirectional Communication with Another Process"> and
L<perlipc/"Bidirectional Communication with Yourself">
-You may also use the C<IPC::Open3> module (part of the standard perl
+You may also use the L<IPC::Open3> module (part of the standard perl
distribution), but be warned that it has a different order of
-arguments from C<IPC::Open2> (see L<IPC::Open3>).
+arguments from L<IPC::Open2> (see L<IPC::Open3>).
=head2 Why can't I get the output of a command with system()?
-You're confusing the purpose of C<system()> and backticks (``). C<system()>
+You're confusing the purpose of C<system()> and backticks (``). C<system()>
runs a command and returns exit status information (as a 16 bit value:
the low 7 bits are the signal the process died from, if any, and
-the high 8 bits are the actual exit value). Backticks (``) run a
+the high 8 bits are the actual exit value). Backticks (``) run a
command and return what it sent to STDOUT.
- $exit_status = system("mail-users");
- $output_string = `ls`;
+ my $exit_status = system("mail-users");
+ my $output_string = `ls`;
=head2 How can I capture STDERR from an external command?
There are three basic ways of running external commands:
- system $cmd; # using system()
- $output = `$cmd`; # using backticks (``)
- open (PIPE, "cmd |"); # using open()
+ system $cmd; # using system()
+ my $output = `$cmd`; # using backticks (``)
+ open (my $pipe_fh, "$cmd |"); # using open()
With C<system()>, both STDOUT and STDERR will go the same place as the
script's STDOUT and STDERR, unless the C<system()> command redirects them.
Backticks and C<open()> read B<only> the STDOUT of your command.
-You can also use the C<open3()> function from C<IPC::Open3>. Benjamin
+You can also use the C<open3()> function from L<IPC::Open3>. Benjamin
Goldberg provides some sample code:
To capture a program's STDOUT, but discard its STDERR:
- use IPC::Open3;
- use File::Spec;
- use Symbol qw(gensym);
- open(NULL, ">", File::Spec->devnull);
- my $pid = open3(gensym, \*PH, ">&NULL", "cmd");
- while( <PH> ) { }
- waitpid($pid, 0);
+ use IPC::Open3;
+ use File::Spec;
+ use Symbol qw(gensym);
+ open(NULL, ">", File::Spec->devnull);
+ my $pid = open3(gensym, \*PH, ">&NULL", "cmd");
+ while( <PH> ) { }
+ waitpid($pid, 0);
To capture a program's STDERR, but discard its STDOUT:
- use IPC::Open3;
- use File::Spec;
- use Symbol qw(gensym);
- open(NULL, ">", File::Spec->devnull);
- my $pid = open3(gensym, ">&NULL", \*PH, "cmd");
- while( <PH> ) { }
- waitpid($pid, 0);
+ use IPC::Open3;
+ use File::Spec;
+ use Symbol qw(gensym);
+ open(NULL, ">", File::Spec->devnull);
+ my $pid = open3(gensym, ">&NULL", \*PH, "cmd");
+ while( <PH> ) { }
+ waitpid($pid, 0);
To capture a program's STDERR, and let its STDOUT go to our own STDERR:
- use IPC::Open3;
- use Symbol qw(gensym);
- my $pid = open3(gensym, ">&STDERR", \*PH, "cmd");
- while( <PH> ) { }
- waitpid($pid, 0);
+ use IPC::Open3;
+ use Symbol qw(gensym);
+ my $pid = open3(gensym, ">&STDERR", \*PH, "cmd");
+ while( <PH> ) { }
+ waitpid($pid, 0);
To read both a command's STDOUT and its STDERR separately, you can
redirect them to temp files, let the command run, then read the temp
files:
- use IPC::Open3;
- use Symbol qw(gensym);
- use IO::File;
- local *CATCHOUT = IO::File->new_tmpfile;
- local *CATCHERR = IO::File->new_tmpfile;
- my $pid = open3(gensym, ">&CATCHOUT", ">&CATCHERR", "cmd");
- waitpid($pid, 0);
- seek $_, 0, 0 for \*CATCHOUT, \*CATCHERR;
- while( <CATCHOUT> ) {}
- while( <CATCHERR> ) {}
+ use IPC::Open3;
+ use Symbol qw(gensym);
+ use IO::File;
+ local *CATCHOUT = IO::File->new_tmpfile;
+ local *CATCHERR = IO::File->new_tmpfile;
+ my $pid = open3(gensym, ">&CATCHOUT", ">&CATCHERR", "cmd");
+ waitpid($pid, 0);
+ seek $_, 0, 0 for \*CATCHOUT, \*CATCHERR;
+ while( <CATCHOUT> ) {}
+ while( <CATCHERR> ) {}
But there's no real need for B<both> to be tempfiles... the following
should work just as well, without deadlocking:
- use IPC::Open3;
- use Symbol qw(gensym);
- use IO::File;
- local *CATCHERR = IO::File->new_tmpfile;
- my $pid = open3(gensym, \*CATCHOUT, ">&CATCHERR", "cmd");
- while( <CATCHOUT> ) {}
- waitpid($pid, 0);
- seek CATCHERR, 0, 0;
- while( <CATCHERR> ) {}
+ use IPC::Open3;
+ use Symbol qw(gensym);
+ use IO::File;
+ local *CATCHERR = IO::File->new_tmpfile;
+ my $pid = open3(gensym, \*CATCHOUT, ">&CATCHERR", "cmd");
+ while( <CATCHOUT> ) {}
+ waitpid($pid, 0);
+ seek CATCHERR, 0, 0;
+ while( <CATCHERR> ) {}
And it'll be faster, too, since we can begin processing the program's
stdout immediately, rather than waiting for the program to finish.
With any of these, you can change file descriptors before the call:
- open(STDOUT, ">logfile");
- system("ls");
+ open(STDOUT, ">logfile");
+ system("ls");
or you can use Bourne shell file-descriptor redirection:
- $output = `$cmd 2>some_file`;
- open (PIPE, "cmd 2>some_file |");
+ $output = `$cmd 2>some_file`;
+ open (PIPE, "cmd 2>some_file |");
You can also use file-descriptor redirection to make STDERR a
duplicate of STDOUT:
- $output = `$cmd 2>&1`;
- open (PIPE, "cmd 2>&1 |");
+ $output = `$cmd 2>&1`;
+ open (PIPE, "cmd 2>&1 |");
Note that you I<cannot> simply open STDERR to be a dup of STDOUT
in your Perl program and avoid calling the shell to do the redirection.
This doesn't work:
- open(STDERR, ">&STDOUT");
- $alloutput = `cmd args`; # stderr still escapes
+ open(STDERR, ">&STDOUT");
+ $alloutput = `cmd args`; # stderr still escapes
This fails because the C<open()> makes STDERR go to where STDOUT was
-going at the time of the C<open()>. The backticks then make STDOUT go to
+going at the time of the C<open()>. The backticks then make STDOUT go to
a string, but don't change STDERR (which still goes to the old
STDOUT).
@@ -736,59 +741,59 @@ Note that you I<must> use Bourne shell (C<sh(1)>) redirection syntax in
backticks, not C<csh(1)>! Details on why Perl's C<system()> and backtick
and pipe opens all use the Bourne shell are in the
F<versus/csh.whynot> article in the "Far More Than You Ever Wanted To
-Know" collection in http://www.cpan.org/misc/olddoc/FMTEYEWTK.tgz . To
+Know" collection in L<http://www.cpan.org/misc/olddoc/FMTEYEWTK.tgz> . To
capture a command's STDERR and STDOUT together:
- $output = `cmd 2>&1`; # either with backticks
- $pid = open(PH, "cmd 2>&1 |"); # or with an open pipe
- while (<PH>) { } # plus a read
+ $output = `cmd 2>&1`; # either with backticks
+ $pid = open(PH, "cmd 2>&1 |"); # or with an open pipe
+ while (<PH>) { } # plus a read
To capture a command's STDOUT but discard its STDERR:
- $output = `cmd 2>/dev/null`; # either with backticks
- $pid = open(PH, "cmd 2>/dev/null |"); # or with an open pipe
- while (<PH>) { } # plus a read
+ $output = `cmd 2>/dev/null`; # either with backticks
+ $pid = open(PH, "cmd 2>/dev/null |"); # or with an open pipe
+ while (<PH>) { } # plus a read
To capture a command's STDERR but discard its STDOUT:
- $output = `cmd 2>&1 1>/dev/null`; # either with backticks
- $pid = open(PH, "cmd 2>&1 1>/dev/null |"); # or with an open pipe
- while (<PH>) { } # plus a read
+ $output = `cmd 2>&1 1>/dev/null`; # either with backticks
+ $pid = open(PH, "cmd 2>&1 1>/dev/null |"); # or with an open pipe
+ while (<PH>) { } # plus a read
To exchange a command's STDOUT and STDERR in order to capture the STDERR
but leave its STDOUT to come out our old STDERR:
- $output = `cmd 3>&1 1>&2 2>&3 3>&-`; # either with backticks
- $pid = open(PH, "cmd 3>&1 1>&2 2>&3 3>&-|");# or with an open pipe
- while (<PH>) { } # plus a read
+ $output = `cmd 3>&1 1>&2 2>&3 3>&-`; # either with backticks
+ $pid = open(PH, "cmd 3>&1 1>&2 2>&3 3>&-|");# or with an open pipe
+ while (<PH>) { } # plus a read
To read both a command's STDOUT and its STDERR separately, it's easiest
to redirect them separately to files, and then read from those files
when the program is done:
- system("program args 1>program.stdout 2>program.stderr");
+ system("program args 1>program.stdout 2>program.stderr");
-Ordering is important in all these examples. That's because the shell
+Ordering is important in all these examples. That's because the shell
processes file descriptor redirections in strictly left to right order.
- system("prog args 1>tmpfile 2>&1");
- system("prog args 2>&1 1>tmpfile");
+ system("prog args 1>tmpfile 2>&1");
+ system("prog args 2>&1 1>tmpfile");
The first command sends both standard out and standard error to the
-temporary file. The second command sends only the old standard output
+temporary file. The second command sends only the old standard output
there, and the old standard error shows up on the old standard out.
=head2 Why doesn't open() return an error when a pipe open fails?
If the second argument to a piped C<open()> contains shell
metacharacters, perl C<fork()>s, then C<exec()>s a shell to decode the
-metacharacters and eventually run the desired program. If the program
+metacharacters and eventually run the desired program. If the program
couldn't be run, it's the shell that gets the message, not Perl. All
your Perl program can find out is whether the shell itself could be
-successfully started. You can still capture the shell's STDERR and
-check it for error messages. See L<"How can I capture STDERR from an
+successfully started. You can still capture the shell's STDERR and
+check it for error messages. See L<"How can I capture STDERR from an
external command?"> elsewhere in this document, or use the
-C<IPC::Open3> module.
+L<IPC::Open3> module.
If there are no shell metacharacters in the argument of C<open()>, Perl
runs the command directly, without using the shell, and can correctly
@@ -796,10 +801,10 @@ report whether the command started.
=head2 What's wrong with using backticks in a void context?
-Strictly speaking, nothing. Stylistically speaking, it's not a good
-way to write maintainable code. Perl has several operators for
-running external commands. Backticks are one; they collect the output
-from the command for use in your program. The C<system> function is
+Strictly speaking, nothing. Stylistically speaking, it's not a good
+way to write maintainable code. Perl has several operators for
+running external commands. Backticks are one; they collect the output
+from the command for use in your program. The C<system> function is
another; it doesn't do this.
Writing backticks in your program sends a clear message to the readers
@@ -808,17 +813,17 @@ Why send a clear message that isn't true?
Consider this line:
- `cat /etc/termcap`;
+ `cat /etc/termcap`;
You forgot to check C<$?> to see whether the program even ran
-correctly. Even if you wrote
+correctly. Even if you wrote
- print `cat /etc/termcap`;
+ print `cat /etc/termcap`;
this code could and probably should be written as
- system("cat /etc/termcap") == 0
- or die "cat program failed!";
+ system("cat /etc/termcap") == 0
+ or die "cat program failed!";
which will echo the cat command's output as it is generated, instead
of waiting until the program has completed to print it out. It also
@@ -829,47 +834,47 @@ processing may take place, whereas backticks do not.
=head2 How can I call backticks without shell processing?
-This is a bit tricky. You can't simply write the command
+This is a bit tricky. You can't simply write the command
like this:
- @ok = `grep @opts '$search_string' @filenames`;
+ @ok = `grep @opts '$search_string' @filenames`;
As of Perl 5.8.0, you can use C<open()> with multiple arguments.
Just like the list forms of C<system()> and C<exec()>, no shell
escapes happen.
- open( GREP, "-|", 'grep', @opts, $search_string, @filenames );
- chomp(@ok = <GREP>);
- close GREP;
+ open( GREP, "-|", 'grep', @opts, $search_string, @filenames );
+ chomp(@ok = <GREP>);
+ close GREP;
You can also:
- my @ok = ();
- if (open(GREP, "-|")) {
- while (<GREP>) {
- chomp;
- push(@ok, $_);
- }
- close GREP;
- } else {
- exec 'grep', @opts, $search_string, @filenames;
- }
+ my @ok = ();
+ if (open(GREP, "-|")) {
+ while (<GREP>) {
+ chomp;
+ push(@ok, $_);
+ }
+ close GREP;
+ } else {
+ exec 'grep', @opts, $search_string, @filenames;
+ }
Just as with C<system()>, no shell escapes happen when you C<exec()> a
list. Further examples of this can be found in L<perlipc/"Safe Pipe
Opens">.
Note that if you're using Windows, no solution to this vexing issue is
-even possible. Even though Perl emulates C<fork()>, you'll still be
+even possible. Even though Perl emulates C<fork()>, you'll still be
stuck, because Windows does not have an argc/argv-style API.
=head2 Why can't my script read from STDIN after I gave it EOF (^D on Unix, ^Z on MS-DOS)?
This happens only if your perl is compiled to use stdio instead of
perlio, which is the default. Some (maybe all?) stdios set error and
-eof flags that you may need to clear. The C<POSIX> module defines
-C<clearerr()> that you can use. That is the technically correct way to
-do it. Here are some less reliable workarounds:
+eof flags that you may need to clear. The L<POSIX> module defines
+C<clearerr()> that you can use. That is the technically correct way to
+do it. Here are some less reliable workarounds:
=over 4
@@ -877,8 +882,8 @@ do it. Here are some less reliable workarounds:
Try keeping around the seekpointer and go there, like this:
- $where = tell(LOG);
- seek(LOG, $where, 0);
+ my $where = tell($log_fh);
+ seek($log_fh, $where, 0);
=item 2
@@ -898,72 +903,72 @@ If that doesn't work, give up on your stdio package and use sysread.
=head2 How can I convert my shell script to perl?
-Learn Perl and rewrite it. Seriously, there's no simple converter.
+Learn Perl and rewrite it. Seriously, there's no simple converter.
Things that are awkward to do in the shell are easy to do in Perl, and
this very awkwardness is what would make a shell->perl converter
-nigh-on impossible to write. By rewriting it, you'll think about what
+nigh-on impossible to write. By rewriting it, you'll think about what
you're really trying to do, and hopefully will escape the shell's
pipeline datastream paradigm, which while convenient for some matters,
causes many inefficiencies.
=head2 Can I use perl to run a telnet or ftp session?
-Try the C<Net::FTP>, C<TCP::Client>, and C<Net::Telnet> modules
+Try the L<Net::FTP>, L<TCP::Client>, and L<Net::Telnet> modules
(available from CPAN).
-http://www.cpan.org/scripts/netstuff/telnet.emul.shar will also help
-for emulating the telnet protocol, but C<Net::Telnet> is quite
+L<http://www.cpan.org/scripts/netstuff/telnet.emul.shar> will also help
+for emulating the telnet protocol, but L<Net::Telnet> is quite
probably easier to use.
If all you want to do is pretend to be telnet but don't need
the initial telnet handshaking, then the standard dual-process
approach will suffice:
- use IO::Socket; # new in 5.004
- $handle = IO::Socket::INET->new('www.perl.com:80')
- or die "can't connect to port 80 on www.perl.com: $!";
- $handle->autoflush(1);
- if (fork()) { # XXX: undef means failure
- select($handle);
- print while <STDIN>; # everything from stdin to socket
- } else {
- print while <$handle>; # everything from socket to stdout
- }
- close $handle;
- exit;
+ use IO::Socket; # new in 5.004
+ my $handle = IO::Socket::INET->new('www.perl.com:80')
+ or die "can't connect to port 80 on www.perl.com $!";
+ $handle->autoflush(1);
+ if (fork()) { # XXX: undef means failure
+ select($handle);
+ print while <STDIN>; # everything from stdin to socket
+ } else {
+ print while <$handle>; # everything from socket to stdout
+ }
+ close $handle;
+ exit;
=head2 How can I write expect in Perl?
Once upon a time, there was a library called F<chat2.pl> (part of the
-standard perl distribution), which never really got finished. If you
-find it somewhere, I<don't use it>. These days, your best bet is to
-look at the Expect module available from CPAN, which also requires two
-other modules from CPAN, C<IO::Pty> and C<IO::Stty>.
+standard perl distribution), which never really got finished. If you
+find it somewhere, I<don't use it>. These days, your best bet is to
+look at the L<Expect> module available from CPAN, which also requires two
+other modules from CPAN, L<IO::Pty> and L<IO::Stty>.
=head2 Is there a way to hide perl's command line from programs such as "ps"?
First of all note that if you're doing this for security reasons (to
avoid people seeing passwords, for example) then you should rewrite
your program so that critical information is never given as an
-argument. Hiding the arguments won't make your program completely
+argument. Hiding the arguments won't make your program completely
secure.
To actually alter the visible command line, you can assign to the
-variable $0 as documented in L<perlvar>. This won't work on all
-operating systems, though. Daemon programs like sendmail place their
+variable $0 as documented in L<perlvar>. This won't work on all
+operating systems, though. Daemon programs like sendmail place their
state there, as in:
- $0 = "orcus [accepting connections]";
+ $0 = "orcus [accepting connections]";
-=head2 I {changed directory, modified my environment} in a perl script. How come the change disappeared when I exited the script? How do I get my changes to be visible?
+=head2 I {changed directory, modified my environment} in a perl script. How come the change disappeared when I exited the script? How do I get my changes to be visible?
=over 4
=item Unix
In the strictest sense, it can't be done--the script executes as a
-different process from the shell it was started from. Changes to a
+different process from the shell it was started from. Changes to a
process are not reflected in its parent--only in any children
-created after the change. There is shell magic that may allow you to
+created after the change. There is shell magic that may allow you to
fake it by C<eval()>ing the script's output in your shell; check out the
comp.unix.questions FAQ for details.
@@ -972,22 +977,22 @@ comp.unix.questions FAQ for details.
=head2 How do I close a process's filehandle without waiting for it to complete?
Assuming your system supports such things, just send an appropriate signal
-to the process (see L<perlfunc/"kill">). It's common to first send a TERM
+to the process (see L<perlfunc/"kill">). It's common to first send a TERM
signal, wait a little bit, and then send a KILL signal to finish it off.
=head2 How do I fork a daemon process?
If by daemon process you mean one that's detached (disassociated from
its tty), then the following process is reported to work on most
-Unixish systems. Non-Unix users should check their Your_OS::Process
+Unixish systems. Non-Unix users should check their Your_OS::Process
module for other solutions.
=over 4
=item *
-Open /dev/tty and use the TIOCNOTTY ioctl on it. See L<tty>
-for details. Or better yet, you can just use the C<POSIX::setsid()>
+Open /dev/tty and use the TIOCNOTTY ioctl on it. See L<tty(1)>
+for details. Or better yet, you can just use the C<POSIX::setsid()>
function, so you don't have to worry about process groups.
=item *
@@ -1003,11 +1008,11 @@ tty.
Background yourself like this:
- fork && exit;
+ fork && exit;
=back
-The C<Proc::Daemon> module, available from CPAN, provides a function to
+The L<Proc::Daemon> module, available from CPAN, provides a function to
perform these actions for you.
=head2 How do I find out if I'm running interactively or not?
@@ -1021,24 +1026,24 @@ What do you really want to know? If you merely want to know if one of
your filehandles is connected to a terminal, you can try the C<-t>
file test:
- if( -t STDOUT ) {
- print "I'm connected to a terminal!\n";
- }
+ if( -t STDOUT ) {
+ print "I'm connected to a terminal!\n";
+ }
However, you might be out of luck if you expect that means there is a
-real person on the other side. With the C<Expect> module, another
+real person on the other side. With the L<Expect> module, another
program can pretend to be a person. The program might even come close
to passing the Turing test.
-The C<IO::Interactive> module does the best it can to give you an
+The L<IO::Interactive> module does the best it can to give you an
answer. Its C<is_interactive> function returns an output filehandle;
that filehandle points to standard output if the module thinks the
session is interactive. Otherwise, the filehandle is a null handle
that simply discards the output:
- use IO::Interactive;
+ use IO::Interactive;
- print { is_interactive } "I might go to standard output!\n";
+ print { is_interactive } "I might go to standard output!\n";
This still doesn't guarantee that a real person is answering your
prompts or reading your output.
@@ -1047,16 +1052,16 @@ If you want to know how to handle automated testing for your
distribution, you can check the environment. The CPAN
Testers, for instance, set the value of C<AUTOMATED_TESTING>:
- unless( $ENV{AUTOMATED_TESTING} ) {
- print "Hello interactive tester!\n";
- }
+ unless( $ENV{AUTOMATED_TESTING} ) {
+ print "Hello interactive tester!\n";
+ }
=head2 How do I timeout a slow event?
Use the C<alarm()> function, probably in conjunction with a signal
handler, as documented in L<perlipc/"Signals"> and the section on
-"Signals" in the Camel. You may instead use the more flexible
-C<Sys::AlarmCall> module available from CPAN.
+"Signals" in the Camel. You may instead use the more flexible
+L<Sys::AlarmCall> module available from CPAN.
The C<alarm()> function is not implemented on all versions of Windows.
Check the documentation for your specific version of Perl.
@@ -1066,19 +1071,19 @@ X<BSD::Resource> X<limit> X<CPU>
(contributed by Xho)
-Use the C<BSD::Resource> module from CPAN. As an example:
+Use the L<BSD::Resource> module from CPAN. As an example:
- use BSD::Resource;
- setrlimit(RLIMIT_CPU,10,20) or die $!;
+ use BSD::Resource;
+ setrlimit(RLIMIT_CPU,10,20) or die $!;
This sets the soft and hard limits to 10 and 20 seconds, respectively.
After 10 seconds of time spent running on the CPU (not "wall" time),
the process will be sent a signal (XCPU on some systems) which, if not
-trapped, will cause the process to terminate. If that signal is
+trapped, will cause the process to terminate. If that signal is
trapped, then after 10 more seconds (20 seconds in total) the process
will be killed with a non-trappable signal.
-See the C<BSD::Resource> and your systems documentation for the gory
+See the L<BSD::Resource> and your systems documentation for the gory
details.
=head2 How do I avoid zombies on a Unix system?
@@ -1089,24 +1094,24 @@ in L<perlfaq8/"How do I start a process in the background?">.
=head2 How do I use an SQL database?
-The C<DBI> module provides an abstract interface to most database
+The L<DBI> module provides an abstract interface to most database
servers and types, including Oracle, DB2, Sybase, mysql, Postgresql,
-ODBC, and flat files. The DBI module accesses each database type
-through a database driver, or DBD. You can see a complete list of
-available drivers on CPAN: http://www.cpan.org/modules/by-module/DBD/ .
-You can read more about DBI on http://dbi.perl.org .
+ODBC, and flat files. The DBI module accesses each database type
+through a database driver, or DBD. You can see a complete list of
+available drivers on CPAN: L<http://www.cpan.org/modules/by-module/DBD/> .
+You can read more about DBI on L<http://dbi.perl.org/> .
-Other modules provide more specific access: C<Win32::ODBC>, C<Alzabo>,
-C<iodbc>, and others found on CPAN Search: http://search.cpan.org .
+Other modules provide more specific access: L<Win32::ODBC>, L<Alzabo>,
+C<iodbc>, and others found on CPAN Search: L<http://search.cpan.org/> .
=head2 How do I make a system() exit on control-C?
-You can't. You need to imitate the C<system()> call (see L<perlipc> for
+You can't. You need to imitate the C<system()> call (see L<perlipc> for
sample code) and then have a signal handler for the INT signal that
-passes the signal on to the subprocess. Or you can check for it:
+passes the signal on to the subprocess. Or you can check for it:
- $rc = system($cmd);
- if ($rc & 127) { die "signal death" }
+ $rc = system($cmd);
+ if ($rc & 127) { die "signal death" }
=head2 How do I open a file without blocking?
@@ -1115,17 +1120,17 @@ non-blocking reads (most Unixish systems do), you need only to use the
C<O_NDELAY> or C<O_NONBLOCK> flag from the C<Fcntl> module in conjunction with
C<sysopen()>:
- use Fcntl;
- sysopen(FH, "/foo/somefile", O_WRONLY|O_NDELAY|O_CREAT, 0644)
- or die "can't open /foo/somefile: $!":
+ use Fcntl;
+ sysopen(my $fh, "/foo/somefile", O_WRONLY|O_NDELAY|O_CREAT, 0644)
+ or die "can't open /foo/somefile: $!":
=head2 How do I tell the difference between errors from the shell and perl?
(answer contributed by brian d foy)
When you run a Perl script, something else is running the script for you,
-and that something else may output error messages. The script might
-emit its own warnings and error messages. Most of the time you cannot
+and that something else may output error messages. The script might
+emit its own warnings and error messages. Most of the time you cannot
tell who said what.
You probably cannot fix the thing that runs perl, but you can change how
@@ -1133,56 +1138,56 @@ perl outputs its warnings by defining a custom warning and die functions.
Consider this script, which has an error you may not notice immediately.
- #!/usr/locl/bin/perl
+ #!/usr/locl/bin/perl
- print "Hello World\n";
+ print "Hello World\n";
I get an error when I run this from my shell (which happens to be
-bash). That may look like perl forgot it has a C<print()> function,
+bash). That may look like perl forgot it has a C<print()> function,
but my shebang line is not the path to perl, so the shell runs the
script, and I get the error.
- $ ./test
- ./test: line 3: print: command not found
+ $ ./test
+ ./test: line 3: print: command not found
A quick and dirty fix involves a little bit of code, but this may be all
you need to figure out the problem.
- #!/usr/bin/perl -w
+ #!/usr/bin/perl -w
- BEGIN {
- $SIG{__WARN__} = sub{ print STDERR "Perl: ", @_; };
- $SIG{__DIE__} = sub{ print STDERR "Perl: ", @_; exit 1};
- }
+ BEGIN {
+ $SIG{__WARN__} = sub{ print STDERR "Perl: ", @_; };
+ $SIG{__DIE__} = sub{ print STDERR "Perl: ", @_; exit 1};
+ }
- $a = 1 + undef;
- $x / 0;
- __END__
+ $a = 1 + undef;
+ $x / 0;
+ __END__
-The perl message comes out with "Perl" in front. The C<BEGIN> block
+The perl message comes out with "Perl" in front. The C<BEGIN> block
works at compile time so all of the compilation errors and warnings
get the "Perl:" prefix too.
- Perl: Useless use of division (/) in void context at ./test line 9.
- Perl: Name "main::a" used only once: possible typo at ./test line 8.
- Perl: Name "main::x" used only once: possible typo at ./test line 9.
- Perl: Use of uninitialized value in addition (+) at ./test line 8.
- Perl: Use of uninitialized value in division (/) at ./test line 9.
- Perl: Illegal division by zero at ./test line 9.
- Perl: Illegal division by zero at -e line 3.
+ Perl: Useless use of division (/) in void context at ./test line 9.
+ Perl: Name "main::a" used only once: possible typo at ./test line 8.
+ Perl: Name "main::x" used only once: possible typo at ./test line 9.
+ Perl: Use of uninitialized value in addition (+) at ./test line 8.
+ Perl: Use of uninitialized value in division (/) at ./test line 9.
+ Perl: Illegal division by zero at ./test line 9.
+ Perl: Illegal division by zero at -e line 3.
If I don't see that "Perl:", it's not from perl.
You could also just know all the perl errors, and although there are
-some people who may know all of them, you probably don't. However, they
+some people who may know all of them, you probably don't. However, they
all should be in the L<perldiag> manpage. If you don't find the error in
there, it probably isn't a perl error.
Looking up every message is not the easiest way, so let perl to do it
-for you. Use the diagnostics pragma with turns perl's normal messages
+for you. Use the diagnostics pragma with turns perl's normal messages
into longer discussions on the topic.
- use diagnostics;
+ use diagnostics;
If you don't get a paragraph or two of expanded discussion, it
might not be perl's message.
@@ -1195,16 +1200,16 @@ The easiest way is to have a module also named CPAN do it for you by using
the C<cpan> command that comes with Perl. You can give it a list of modules
to install:
- $ cpan IO::Interactive Getopt::Whatever
+ $ cpan IO::Interactive Getopt::Whatever
If you prefer C<CPANPLUS>, it's just as easy:
- $ cpanp i IO::Interactive Getopt::Whatever
+ $ cpanp i IO::Interactive Getopt::Whatever
If you want to install a distribution from the current directory, you can
tell C<CPAN.pm> to install C<.> (the full stop):
- $ cpan .
+ $ cpan .
See the documentation for either of those commands to see what else
you can do.
@@ -1215,14 +1220,14 @@ paths.
For distributions that use I<Makefile.PL>:
- $ perl Makefile.PL
- $ make test install
+ $ perl Makefile.PL
+ $ make test install
For distributions that use I<Build.PL>:
- $ perl Build.PL
- $ ./Build test
- $ ./Build install
+ $ perl Build.PL
+ $ ./Build test
+ $ ./Build install
Some distributions may need to link to libraries or other third-party
code and their build and installation sequences may be more complicated.
@@ -1237,27 +1242,27 @@ and runs the file, it doesn't do anything else. The C<use> statement
is the same as a C<require> run at compile-time, but Perl also calls the
C<import> method for the loaded package. These two are the same:
- use MODULE qw(import list);
+ use MODULE qw(import list);
- BEGIN {
- require MODULE;
- MODULE->import(import list);
- }
+ BEGIN {
+ require MODULE;
+ MODULE->import(import list);
+ }
However, you can suppress the C<import> by using an explicit, empty
import list. Both of these still happen at compile-time:
- use MODULE ();
+ use MODULE ();
- BEGIN {
- require MODULE;
- }
+ BEGIN {
+ require MODULE;
+ }
Since C<use> will also call the C<import> method, the actual value
for C<MODULE> must be a bareword. That is, C<use> cannot load files
by name, although C<require> can:
- require "$ENV{HOME}/lib/Foo.pm"; # no @INC searching!
+ require "$ENV{HOME}/lib/Foo.pm"; # no @INC searching!
See the entry for C<use> in L<perlfunc> for more details.
@@ -1266,7 +1271,7 @@ See the entry for C<use> in L<perlfunc> for more details.
When you build modules, tell Perl where to install the modules.
If you want to install modules for your own use, the easiest way might
-be C<local::lib>, which you can download from CPAN. It sets various
+be L<local::lib>, which you can download from CPAN. It sets various
installation settings for you, and uses those same settings within
your programs.
@@ -1276,38 +1281,38 @@ for your particular situation.
For C<Makefile.PL>-based distributions, use the INSTALL_BASE option
when generating Makefiles:
- perl Makefile.PL INSTALL_BASE=/mydir/perl
+ perl Makefile.PL INSTALL_BASE=/mydir/perl
You can set this in your C<CPAN.pm> configuration so modules
automatically install in your private library directory when you use
the CPAN.pm shell:
- % cpan
- cpan> o conf makepl_arg INSTALL_BASE=/mydir/perl
- cpan> o conf commit
+ % cpan
+ cpan> o conf makepl_arg INSTALL_BASE=/mydir/perl
+ cpan> o conf commit
For C<Build.PL>-based distributions, use the --install_base option:
- perl Build.PL --install_base /mydir/perl
+ perl Build.PL --install_base /mydir/perl
You can configure C<CPAN.pm> to automatically use this option too:
- % cpan
- cpan> o conf mbuild_arg "--install_base /mydir/perl"
- cpan> o conf commit
+ % cpan
+ cpan> o conf mbuild_arg "--install_base /mydir/perl"
+ cpan> o conf commit
INSTALL_BASE tells these tools to put your modules into
-F</mydir/perl/lib/perl5>. See L<How do I add a directory to my
+F</mydir/perl/lib/perl5>. See L<How do I add a directory to my
include path (@INC) at runtime?> for details on how to run your newly
installed modules.
There is one caveat with INSTALL_BASE, though, since it acts
differently from the PREFIX and LIB settings that older versions of
-C<ExtUtils::MakeMaker> advocated. INSTALL_BASE does not support
+L<ExtUtils::MakeMaker> advocated. INSTALL_BASE does not support
installing modules for multiple versions of Perl or different
architectures under the same directory. You should consider whether you
really want that and, if you do, use the older PREFIX and LIB
-settings. See the C<ExtUtils::Makemaker> documentation for more details.
+settings. See the L<ExtUtils::Makemaker> documentation for more details.
=head2 How do I add the directory my program lives in to the module/library search path?
@@ -1317,46 +1322,46 @@ If you know the directory already, you can add it to C<@INC> as you would
for any other directory. You might <use lib> if you know the directory
at compile time:
- use lib $directory;
+ use lib $directory;
The trick in this task is to find the directory. Before your script does
anything else (such as a C<chdir>), you can get the current working
directory with the C<Cwd> module, which comes with Perl:
- BEGIN {
- use Cwd;
- our $directory = cwd;
- }
+ BEGIN {
+ use Cwd;
+ our $directory = cwd;
+ }
- use lib $directory;
+ use lib $directory;
You can do a similar thing with the value of C<$0>, which holds the
script name. That might hold a relative path, but C<rel2abs> can turn
it into an absolute path. Once you have the
- BEGIN {
- use File::Spec::Functions qw(rel2abs);
- use File::Basename qw(dirname);
+ BEGIN {
+ use File::Spec::Functions qw(rel2abs);
+ use File::Basename qw(dirname);
- my $path = rel2abs( $0 );
- our $directory = dirname( $path );
- }
+ my $path = rel2abs( $0 );
+ our $directory = dirname( $path );
+ }
- use lib $directory;
+ use lib $directory;
-The C<FindBin> module, which comes with Perl, might work. It finds the
+The L<FindBin> module, which comes with Perl, might work. It finds the
directory of the currently running script and puts it in C<$Bin>, which
you can then use to construct the right library path:
- use FindBin qw($Bin);
+ use FindBin qw($Bin);
-You can also use C<local::lib> to do much of the same thing. Install
-modules using C<local::lib>'s settings then use the module in your
+You can also use L<local::lib> to do much of the same thing. Install
+modules using L<local::lib>'s settings then use the module in your
program:
- use local::lib; # sets up a local lib at ~/perl5
+ use local::lib; # sets up a local lib at ~/perl5
-See the C<local::lib> documentation for more details.
+See the L<local::lib> documentation for more details.
=head2 How do I add a directory to my include path (@INC) at runtime?
@@ -1367,39 +1372,40 @@ environment variables, run-time switches, and in-code statements:
=item the C<PERLLIB> environment variable
- $ export PERLLIB=/path/to/my/dir
- $ perl program.pl
+ $ export PERLLIB=/path/to/my/dir
+ $ perl program.pl
=item the C<PERL5LIB> environment variable
- $ export PERL5LIB=/path/to/my/dir
- $ perl program.pl
+ $ export PERL5LIB=/path/to/my/dir
+ $ perl program.pl
=item the C<perl -Idir> command line flag
- $ perl -I/path/to/my/dir program.pl
+ $ perl -I/path/to/my/dir program.pl
=item the C<lib> pragma:
- use lib "$ENV{HOME}/myown_perllib";
+ use lib "$ENV{HOME}/myown_perllib";
-=item the C<local::lib> module:
+=item the L<local::lib> module:
- use local::lib;
+ use local::lib;
- use local::lib "~/myown_perllib";
+ use local::lib "~/myown_perllib";
=back
The last is particularly useful because it knows about machine-dependent
-architectures. The C<lib.pm> pragmatic module was first
+architectures. The C<lib.pm> pragmatic module was first
included with the 5.002 release of Perl.
=head2 What is socket.ph and where do I get it?
It's a Perl 4 style file defining values for system networking
-constants. Sometimes it is built using C<h2ph> when Perl is installed,
-but other times it is not. Modern programs C<use Socket;> instead.
+constants. Sometimes it is built using L<h2ph> when Perl is installed,
+but other times it is not. Modern programs should use C<use Socket;>
+instead.
=head1 AUTHOR AND COPYRIGHT
@@ -1410,7 +1416,7 @@ This documentation is free; you can redistribute it and/or modify it
under the same terms as Perl itself.
Irrespective of its distribution, all code examples in this file
-are hereby placed into the public domain. You are permitted and
+are hereby placed into the public domain. You are permitted and
encouraged to use this code in your own programs for fun
-or for profit as you see fit. A simple comment in the code giving
+or for profit as you see fit. A simple comment in the code giving
credit would be courteous but is not required.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfaq9.pod b/Master/tlpkg/tlperl/lib/pods/perlfaq9.pod
index d00d918deb2..b42755efe0a 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfaq9.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfaq9.pod
@@ -1,355 +1,207 @@
=head1 NAME
-perlfaq9 - Networking
+perlfaq9 - Web, Email and Networking
=head1 DESCRIPTION
-This section deals with questions related to networking, the internet,
-and a few on the web.
+This section deals with questions related to running web sites,
+sending and receiving email as well as general networking.
-=head2 What is the correct form of response from a CGI script?
+=head2 Should I use a web framework?
-(Alan Flavell <flavell+www@a5.ph.gla.ac.uk> answers...)
+Yes. If you are building a web site with any level of interactivity
+(forms / users / databases), you
+will want to use a framework to make handling requests
+and responses easier.
-The Common Gateway Interface (CGI) specifies a software interface between
-a program ("CGI script") and a web server (HTTPD). It is not specific
-to Perl, and has its own FAQs and tutorials, and usenet group,
-comp.infosystems.www.authoring.cgi
+If there is no interactivity then you may still want
+to look at using something like L<Template Toolkit|https://metacpan.org/module/Template>
+or L<Plack::Middleware::TemplateToolkit>
+so maintenance of your HTML files (and other assets) is easier.
-The CGI specification is outlined in an informational RFC:
-http://www.ietf.org/rfc/rfc3875
+=head2 Which web framework should I use?
+X<framework> X<CGI.pm> X<CGI> X<Catalyst> X<Dancer>
-These Perl FAQs very selectively cover some CGI issues. However, Perl
-programmers are strongly advised to use the C<CGI.pm> module, to take care
-of the details for them.
+There is no simple answer to this question. Perl frameworks can run everything
+from basic file servers and small scale intranets to massive multinational
+multilingual websites that are the core to international businesses.
-The similarity between CGI response headers (defined in the CGI
-specification) and HTTP response headers (defined in the HTTP
-specification, RFC2616) is intentional, but can sometimes be confusing.
+Below is a list of a few frameworks with comments which might help you in
+making a decision, depending on your specific requirements. Start by reading
+the docs, then ask questions on the relevant mailing list or IRC channel.
-The CGI specification defines two kinds of script: the "Parsed Header"
-script, and the "Non Parsed Header" (NPH) script. Check your server
-documentation to see what it supports. "Parsed Header" scripts are
-simpler in various respects. The CGI specification allows any of the
-usual newline representations in the CGI response (it's the server's
-job to create an accurate HTTP response based on it). So "\n" written in
-text mode is technically correct, and recommended. NPH scripts are more
-tricky: they must put out a complete and accurate set of HTTP
-transaction response headers; the HTTP specification calls for records
-to be terminated with carriage-return and line-feed; i.e., ASCII \015\012
-written in binary mode.
+=over 4
-Using C<CGI.pm> gives excellent platform independence, including EBCDIC
-systems. C<CGI.pm> selects an appropriate newline representation
-(C<$CGI::CRLF>) and sets binmode as appropriate.
+=item L<Catalyst>
-=head2 My CGI script runs from the command line but not the browser. (500 Server Error)
+Strongly object-oriented and fully-featured with a long development history and
+a large community and addon ecosystem. It is excellent for large and complex
+applications, where you have full control over the server.
-(contributed by brian d foy)
-
-There are many things that might be wrong with your CGI program, and only
-some of them might be related to Perl. Try going through the troubleshooting
-guide on Perlmonks:
-
- http://www.perlmonks.org/?node_id=380424
-
-=head2 How can I get better error messages from a CGI program?
-
-Use the C<CGI::Carp> module. It replaces C<warn> and C<die>, plus the
-normal C<Carp> module's C<carp>, C<croak>, and C<confess> functions with
-more verbose and safer versions. It still sends them to the normal
-server error log.
-
- use CGI::Carp;
- warn "This is a complaint";
- die "But this one is serious";
-
-The following use of C<CGI::Carp> also redirects errors to a file of your choice,
-placed in a C<BEGIN> block to catch compile-time warnings as well:
-
- BEGIN {
- use CGI::Carp qw(carpout);
- open(LOG, ">>/var/local/cgi-logs/mycgi-log")
- or die "Unable to append to mycgi-log: $!\n";
- carpout(*LOG);
- }
-
-You can even arrange for fatal errors to go back to the client browser,
-which is nice for your own debugging, but might confuse the end user.
+=item L<Dancer>
- use CGI::Carp qw(fatalsToBrowser);
- die "Bad error here";
+Young and free of legacy weight, providing a lightweight and easy to learn API.
+Has a growing addon ecosystem. It is best used for smaller projects and
+very easy to learn for beginners.
-Even if the error happens before you get the HTTP header out, the module
-will try to take care of this to avoid the dreaded server 500 errors.
-Normal warnings still go out to the server error log (or wherever
-you've sent them with C<carpout>) with the application name and date
-stamp prepended.
+=item L<Mojolicious>
-=head2 How do I remove HTML from a string?
-
-The most correct way (albeit not the fastest) is to use C<HTML::Parser>
-from CPAN. Another mostly correct
-way is to use C<HTML::FormatText> which not only removes HTML but also
-attempts to do a little simple formatting of the resulting plain text.
-
-Many folks attempt a simple-minded regular expression approach, like
-C<< s/<.*?>//g >>, but that fails in many cases because the tags
-may continue over line breaks, they may contain quoted angle-brackets,
-or HTML comments may be present. Plus, folks forget to convert
-entities--like C<&lt;> for example.
-
-Here's one "simple-minded" approach, that works for most files:
-
- #!/usr/bin/perl -p0777
- s/<(?:[^>'"]*|(['"]).*?\g1)*>//gs
+Fairly young with a focus on HTML5 and real-time web technologies such as
+WebSockets.
-If you want a more complete solution, see the 3-stage striphtml
-program in
-http://www.cpan.org/authors/Tom_Christiansen/scripts/striphtml.gz
-.
+=item L<Web::Simple>
-Here are some tricky cases that you should think about when picking
-a solution:
+Currently experimental, strongly object-oriented, built for speed and intended
+as a toolkit for building micro web apps, custom frameworks or for tieing
+together existing Plack-compatible web applications with one central dispatcher.
- <IMG SRC = "foo.gif" ALT = "A > B">
+=back
- <IMG SRC = "foo.gif"
- ALT = "A > B">
+All of these interact with or use L<Plack> which is worth understanding
+the basics of when building a website in Perl (there is a lot of useful
+L<Plack::Middleware|https://metacpan.org/search?q=plack%3A%3Amiddleware>).
- <!-- <A comment> -->
+=head2 What is Plack and PSGI?
- <script>if (a<b && a>c)</script>
+L<PSGI> is the Perl Web Server Gateway Interface Specification, it is
+a standard that many Perl web frameworks use, you should not need to
+understand it to build a web site, the part you might want to use is L<Plack>.
- <# Just data #>
+L<Plack> is a set of tools for using the PSGI stack. It contains
+L<middleware|https://metacpan.org/search?q=plack%3A%3Amiddleware>
+components, a reference server and utilities for Web application frameworks.
+Plack is like Ruby's Rack or Python's Paste for WSGI.
- <![INCLUDE CDATA [ >>>>>>>>>>>> ]]>
+You could build a web site using L<Plack> and your own code,
+but for anything other than a very basic web site, using a web framework
+(that uses L<Plack>) is a better option.
-If HTML comments include other tags, those solutions would also break
-on text like this:
+=head2 How do I remove HTML from a string?
- <!-- This section commented out.
- <B>You can't see me!</B>
- -->
+Use L<HTML::Strip>, or L<HTML::FormatText> which not only removes HTML
+but also attempts to do a little simple formatting of the resulting
+plain text.
=head2 How do I extract URLs?
-You can easily extract all sorts of URLs from HTML with
-C<HTML::SimpleLinkExtor> which handles anchors, images, objects,
-frames, and many other tags that can contain a URL. If you need
-anything more complex, you can create your own subclass of
-C<HTML::LinkExtor> or C<HTML::Parser>. You might even use
-C<HTML::SimpleLinkExtor> as an example for something specifically
+L<HTML::SimpleLinkExtor> will extract URLs from HTML, it handles anchors,
+images, objects, frames, and many other tags that can contain a URL.
+If you need anything more complex, you can create your own subclass of
+L<HTML::LinkExtor> or L<HTML::Parser>. You might even use
+L<HTML::SimpleLinkExtor> as an example for something specifically
suited to your needs.
-You can use C<URI::Find> to extract URLs from an arbitrary text document.
-
-Less complete solutions involving regular expressions can save
-you a lot of processing time if you know that the input is simple. One
-solution from Tom Christiansen runs 100 times faster than most
-module-based approaches but only extracts URLs from anchors where the first
-attribute is HREF and there are no other attributes.
-
- #!/usr/bin/perl -n00
- # qxurl - tchrist@perl.com
- print "$2\n" while m{
- < \s*
- A \s+ HREF \s* = \s* (["']) (.*?) \g1
- \s* >
- }gsix;
-
-=head2 How do I download a file from the user's machine? How do I open a file on another machine?
-
-In this case, download means to use the file upload feature of HTML
-forms. You allow the web surfer to specify a file to send to your web
-server. To you it looks like a download, and to the user it looks
-like an upload. No matter what you call it, you do it with what's
-known as B<multipart/form-data> encoding. The C<CGI.pm> module (which
-comes with Perl as part of the Standard Library) supports this in the
-C<start_multipart_form()> method, which isn't the same as the C<startform()>
-method.
-
-See the section in the C<CGI.pm> documentation on file uploads for code
-examples and details.
-
-=head2 How do I make an HTML pop-up menu with Perl?
-
-(contributed by brian d foy)
-
-The C<CGI.pm> module (which comes with Perl) has functions to create
-the HTML form widgets. See the C<CGI.pm> documentation for more
-examples.
-
- use CGI qw/:standard/;
- print header,
- start_html('Favorite Animals'),
-
- start_form,
- "What's your favorite animal? ",
- popup_menu(
- -name => 'animal',
- -values => [ qw( Llama Alpaca Camel Ram ) ]
- ),
- submit,
-
- end_form,
- end_html;
+You can use L<URI::Find> to extract URLs from an arbitrary text document.
=head2 How do I fetch an HTML file?
(contributed by brian d foy)
-Use the libwww-perl distribution. The C<LWP::Simple> module can fetch web
+Use the libwww-perl distribution. The L<LWP::Simple> module can fetch web
resources and give their content back to you as a string:
- use LWP::Simple qw(get);
+ use LWP::Simple qw(get);
- my $html = get( "http://www.example.com/index.html" );
+ my $html = get( "http://www.example.com/index.html" );
It can also store the resource directly in a file:
- use LWP::Simple qw(getstore);
+ use LWP::Simple qw(getstore);
- getstore( "http://www.example.com/index.html", "foo.html" );
+ getstore( "http://www.example.com/index.html", "foo.html" );
If you need to do something more complicated, you can use
-C<LWP::UserAgent> module to create your own user-agent (e.g. browser)
+L<LWP::UserAgent> module to create your own user-agent (e.g. browser)
to get the job done. If you want to simulate an interactive web
-browser, you can use the C<WWW::Mechanize> module.
+browser, you can use the L<WWW::Mechanize> module.
=head2 How do I automate an HTML form submission?
If you are doing something complex, such as moving through many pages
-and forms or a web site, you can use C<WWW::Mechanize>. See its
+and forms or a web site, you can use L<WWW::Mechanize>. See its
documentation for all the details.
If you're submitting values using the GET method, create a URL and encode
the form using the C<query_form> method:
- use LWP::Simple;
- use URI::URL;
+ use LWP::Simple;
+ use URI::URL;
- my $url = url('http://www.perl.com/cgi-bin/cpan_mod');
- $url->query_form(module => 'DB_File', readme => 1);
- $content = get($url);
+ my $url = url('L<http://www.perl.com/cgi-bin/cpan_mod')>;
+ $url->query_form(module => 'DB_File', readme => 1);
+ $content = get($url);
If you're using the POST method, create your own user agent and encode
the content appropriately.
- use HTTP::Request::Common qw(POST);
- use LWP::UserAgent;
+ use HTTP::Request::Common qw(POST);
+ use LWP::UserAgent;
- $ua = LWP::UserAgent->new();
- my $req = POST 'http://www.perl.com/cgi-bin/cpan_mod',
- [ module => 'DB_File', readme => 1 ];
- $content = $ua->request($req)->as_string;
+ my $ua = LWP::UserAgent->new();
+ my $req = POST 'L<http://www.perl.com/cgi-bin/cpan_mod'>,
+ [ module => 'DB_File', readme => 1 ];
+ my $content = $ua->request($req)->as_string;
=head2 How do I decode or create those %-encodings on the web?
-X<URI> X<CGI.pm> X<CGI> X<URI::Escape> X<RFC 2396>
+X<URI> X<URI::Escape> X<RFC 2396>
-(contributed by brian d foy)
-
-Those C<%> encodings handle reserved characters in URIs, as described
-in RFC 2396, Section 2. This encoding replaces the reserved character
-with the hexadecimal representation of the character's number from
-the US-ASCII table. For instance, a colon, C<:>, becomes C<%3A>.
-
-In CGI scripts, you don't have to worry about decoding URIs if you are
-using C<CGI.pm>. You shouldn't have to process the URI yourself,
-either on the way in or the way out.
+Most of the time you should not need to do this as
+your web framework, or if you are making a request,
+the L<LWP> or other module would handle it for you.
-If you have to encode a string yourself, remember that you should
-never try to encode an already-composed URI. You need to escape the
-components separately then put them together. To encode a string, you
-can use the C<URI::Escape> module. The C<uri_escape> function
-returns the escaped string:
+To encode a string yourself, use the L<URI::Escape> module. The C<uri_escape>
+function returns the escaped string:
- my $original = "Colon : Hash # Percent %";
+ my $original = "Colon : Hash # Percent %";
- my $escaped = uri_escape( $original );
+ my $escaped = uri_escape( $original );
- print "$escaped\n"; # 'Colon%20%3A%20Hash%20%23%20Percent%20%25'
+ print "$escaped\n"; # 'Colon%20%3A%20Hash%20%23%20Percent%20%25'
To decode the string, use the C<uri_unescape> function:
- my $unescaped = uri_unescape( $escaped );
-
- print $unescaped; # back to original
-
-If you wanted to do it yourself, you simply need to replace the
-reserved characters with their encodings. A global substitution
-is one way to do it:
+ my $unescaped = uri_unescape( $escaped );
- # encode
- $string =~ s/([^^A-Za-z0-9\-_.!~*'()])/ sprintf "%%%0x", ord $1 /eg;
+ print $unescaped; # back to original
- #decode
- $string =~ s/%([A-Fa-f\d]{2})/chr hex $1/eg;
+Remember not to encode a full URI, you need to escape each
+component separately and then join them together.
=head2 How do I redirect to another page?
-Specify the complete URL of the destination (even if it is on the same
-server). This is one of the two different kinds of CGI "Location:"
-responses which are defined in the CGI specification for a Parsed Headers
-script. The other kind (an absolute URLpath) is resolved internally to
-the server without any HTTP redirection. The CGI specifications do not
-allow relative URLs in either case.
-
-Use of C<CGI.pm> is strongly recommended. This example shows redirection
-with a complete URL. This redirection is handled by the web browser.
-
- use CGI qw/:standard/;
-
- my $url = 'http://www.cpan.org/';
- print redirect($url);
-
-This example shows a redirection with an absolute URLpath. This
-redirection is handled by the local web server.
+Most Perl Web Frameworks will have a mechanism for doing this,
+using the L<Catalyst> framework it would be:
- my $url = '/CPAN/index.html';
- print redirect($url);
+ $c->res->redirect($url);
+ $c->detach();
-But if coded directly, it could be as follows (the final "\n" is
-shown separately, for clarity), using either a complete URL or
-an absolute URLpath.
-
- print "Location: $url\n"; # CGI response header
- print "\n"; # end of headers
+If you are using Plack (which most frameworks do), then
+L<Plack::Middleware::Rewrite> is worth looking at if you
+are migrating from Apache or have URL's you want to always
+redirect.
=head2 How do I put a password on my web pages?
-To enable authentication for your web server, you need to configure
-your web server. The configuration is different for different sorts
-of web servers--apache does it differently from iPlanet which does
-it differently from IIS. Check your web server documentation for
-the details for your particular server.
-
-=head2 How do I edit my .htpasswd and .htgroup files with Perl?
-
-The C<HTTPD::UserAdmin> and C<HTTPD::GroupAdmin> modules provide a
-consistent OO interface to these files, regardless of how they're
-stored. Databases may be text, dbm, Berkeley DB or any database with
-a DBI compatible driver. C<HTTPD::UserAdmin> supports files used by the
-"Basic" and "Digest" authentication schemes. Here's an example:
+See if the web framework you are using has an
+authentication system and if that fits your needs.
- use HTTPD::UserAdmin ();
- HTTPD::UserAdmin
- ->new(DB => "/foo/.htpasswd")
- ->add($username => $password);
+Alternativly look at L<Plack::Middleware::Auth::Basic>,
+or one of the other L<Plack authentication|https://metacpan.org/search?q=plack+auth>
+options.
-=head2 How do I make sure users can't enter values into a form that cause my CGI script to do bad things?
+=head2 How do I make sure users can't enter values into a form that causes my CGI script to do bad things?
(contributed by brian d foy)
You can't prevent people from sending your script bad data. Even if
you add some client-side checks, people may disable them or bypass
them completely. For instance, someone might use a module such as
-C<LWP> to access your CGI program. If you want to prevent data that
+L<LWP> to submit to your web site. If you want to prevent data that
try to use SQL injection or other sorts of attacks (and you should
want to), you have to not trust any data that enter your program.
The L<perlsec> documentation has general advice about data security.
-If you are using the C<DBI> module, use placeholder to fill in data.
+If you are using the L<DBI> module, use placeholder to fill in data.
If you are running external programs with C<system> or C<exec>, use
the list forms. There are many other precautions that you should take,
too many to list here, and most of them fall under the category of not
@@ -357,62 +209,29 @@ using any data that you don't intend to use. Trust no one.
=head2 How do I parse a mail header?
-For a quick-and-dirty solution, try this solution derived
-from L<perlfunc/split>:
-
- $/ = '';
- $header = <MSG>;
- $header =~ s/\n\s+/ /g; # merge continuation lines
- %head = ( UNIX_FROM_LINE, split /^([-\w]+):\s*/m, $header );
-
-That solution doesn't do well if, for example, you're trying to
-maintain all the Received lines. A more complete approach is to use
-the C<Mail::Header> module from CPAN (part of the C<MailTools> package).
-
-=head2 How do I decode a CGI form?
-
-(contributed by brian d foy)
-
-Use the C<CGI.pm> module that comes with Perl. It's quick,
-it's easy, and it actually does quite a bit of work to
-ensure things happen correctly. It handles GET, POST, and
-HEAD requests, multipart forms, multivalued fields, query
-string and message body combinations, and many other things
-you probably don't want to think about.
+Use the L<Email::MIME> module. It's well-tested and supports all the
+craziness that you'll see in the real world (comment-folding whitespace,
+encodings, comments, etc.).
-It doesn't get much easier: the C<CGI.pm> module automatically
-parses the input and makes each value available through the
-C<param()> function.
+ use Email::MIME;
- use CGI qw(:standard);
+ my $message = Email::MIME->new($rfc2822);
+ my $subject = $message->header('Subject');
+ my $from = $message->header('From');
- my $total = param( 'price' ) + param( 'shipping' );
+If you've already got some other kind of email object, consider passing
+it to L<Email::Abstract> and then using its cast method to get an
+L<Email::MIME> object:
- my @items = param( 'item' ); # multiple values, same field name
-
-If you want an object-oriented approach, C<CGI.pm> can do that too.
-
- use CGI;
-
- my $cgi = CGI->new();
-
- my $total = $cgi->param( 'price' ) + $cgi->param( 'shipping' );
-
- my @items = $cgi->param( 'item' );
-
-You might also try C<CGI::Minimal> which is a lightweight version
-of the same thing. Other CGI::* modules on CPAN might work better
-for you, too.
-
-Many people try to write their own decoder (or copy one from
-another program) and then run into one of the many "gotchas"
-of the task. It's much easier and less hassle to use C<CGI.pm>.
+ my $mail_message_object = read_message();
+ my $abstract = Email::Abstract->new($mail_message_object);
+ my $email_mime_object = $abstract->cast('Email::MIME');
=head2 How do I check a valid mail address?
(partly contributed by Aaron Sherman)
-This isn't as simple a question as it sounds. There are two parts:
+This isn't as simple a question as it sounds. There are two parts:
a) How do I verify that an email address is correctly formatted?
@@ -420,32 +239,8 @@ b) How do I verify that an email address targets a valid recipient?
Without sending mail to the address and seeing whether there's a human
on the other end to answer you, you cannot fully answer part I<b>, but
-either the C<Email::Valid> or the C<RFC::RFC822::Address> module will do
-both part I<a> and part I<b> as far as you can in real-time.
-
-If you want to just check part I<a> to see that the address is valid
-according to the mail header standard with a simple regular expression,
-you can have problems, because there are deliverable addresses that
-aren't RFC-2822 (the latest mail header standard) compliant, and
-addresses that aren't deliverable which, are compliant. However, the
-following will match valid RFC-2822 addresses that do not have comments,
-folding whitespace, or any other obsolete or non-essential elements.
-This I<just> matches the address itself:
-
- my $atom = qr{[a-zA-Z0-9_!#\$\%&'*+/=?\^`{}~|\-]+};
- my $dot_atom = qr{$atom(?:\.$atom)*};
- my $quoted = qr{"(?:\\[^\r\n]|[^\\"])*"};
- my $local = qr{(?:$dot_atom|$quoted)};
- my $quotedpair = qr{\\[\x00-\x09\x0B-\x0c\x0e-\x7e]};
- my $domain_lit = qr{\[(?:$quotedpair|[\x21-\x5a\x5e-\x7e])*\]};
- my $domain = qr{(?:$dot_atom|$domain_lit)};
- my $addr_spec = qr{$local\@$domain};
-
-Just match an address against C</^${addr_spec}$/> to see if it follows
-the RFC2822 specification. However, because it is impossible to be
-sure that such a correctly formed address is actually the correct way
-to reach a particular person or even has a mailbox associated with it,
-you must be very careful about how you use this.
+the L<Email::Valid> module will do both part I<a> and part I<b> as far
+as you can in real-time.
Our best advice for verifying a person's mail address is to have them
enter their address twice, just as you normally do to change a
@@ -455,165 +250,117 @@ back and they've followed your directions, you can be reasonably
assured that it's real.
A related strategy that's less open to forgery is to give them a PIN
-(personal ID number). Record the address and PIN (best that it be a
-random one) for later processing. In the mail you send, ask them to
-include the PIN in their reply. But if it bounces, or the message is
-included via a "vacation" script, it'll be there anyway. So it's
-best to ask them to mail back a slight alteration of the PIN, such as
-with the characters reversed, one added or subtracted to each digit, etc.
+(personal ID number). Record the address and PIN (best that it be a
+random one) for later processing. In the mail you send, include a link to
+your site with the PIN included. If the mail bounces, you know it's not
+valid. If they don't click on the link, either they forged the address or
+(assuming they got the message) following through wasn't important so you
+don't need to worry about it.
=head2 How do I decode a MIME/BASE64 string?
-The C<MIME-Base64> package (available from CPAN) handles this as well as
-the MIME/QP encoding. Decoding BASE64 becomes as simple as:
+The L<MIME::Base64> package handles this as well as the MIME/QP encoding.
+Decoding base 64 becomes as simple as:
+
+ use MIME::Base64;
+ my $decoded = decode_base64($encoded);
+
+The L<Email::MIME> module can decode base 64-encoded email message parts
+transparently so the developer doesn't need to worry about it.
- use MIME::Base64;
- $decoded = decode_base64($encoded);
+=head2 How do I find the user's mail address?
-The C<MIME-Tools> package (available from CPAN) supports extraction with
-decoding of BASE64 encoded attachments and content directly from email
-messages.
+Ask them for it. There are so many email providers available that it's
+unlikely the local system has any idea how to determine a user's email address.
-If the string to decode is short (less than 84 bytes long)
-a more direct approach is to use the C<unpack()> function's "u"
-format after minor transliterations:
+The exception is for organization-specific email (e.g. foo@yourcompany.com)
+where policy can be codified in your program. In that case, you could look at
+$ENV{USER}, $ENV{LOGNAME}, and getpwuid($<) in scalar context, like so:
- tr#A-Za-z0-9+/##cd; # remove non-base64 chars
- tr#A-Za-z0-9+/# -_#; # convert to uuencoded format
- $len = pack("c", 32 + 0.75*length); # compute length byte
- print unpack("u", $len . $_); # uudecode and print
+ my $user_name = getpwuid($<)
-=head2 How do I return the user's mail address?
+But you still cannot make assumptions about whether this is correct, unless
+your policy says it is. You really are best off asking the user.
-On systems that support getpwuid, the C<< $< >> variable, and the
-C<Sys::Hostname> module (which is part of the standard perl distribution),
-you can probably try using something like this:
+=head2 How do I send email?
- use Sys::Hostname;
- $address = sprintf('%s@%s', scalar getpwuid($<), hostname);
+Use the L<Email::MIME> and L<Email::Sender::Simple> modules, like so:
-Company policies on mail address can mean that this generates addresses
-that the company's mail system will not accept, so you should ask for
-users' mail addresses when this matters. Furthermore, not all systems
-on which Perl runs are so forthcoming with this information as is Unix.
+ # first, create your message
+ my $message = Email::MIME->create(
+ header_str => [
+ From => 'you@example.com',
+ To => 'friend@example.com',
+ Subject => 'Happy birthday!',
+ ],
+ attributes => {
+ encoding => 'quoted-printable',
+ charset => 'ISO-8859-1',
+ },
+ body_str => "Happy birthday to you!\n",
+ );
-The C<Mail::Util> module from CPAN (part of the C<MailTools> package) provides a
-C<mailaddress()> function that tries to guess the mail address of the user.
-It makes a more intelligent guess than the code above, using information
-given when the module was installed, but it could still be incorrect.
-Again, the best way is often just to ask the user.
+ use Email::Sender::Simple qw(sendmail);
+ sendmail($message);
-=head2 How do I send mail?
+By default, L<Email::Sender::Simple> will try `sendmail` first, if it exists
+in your $PATH. This generally isn't the case. If there's a remote mail
+server you use to send mail, consider investigating one of the Transport
+classes. At time of writing, the available transports include:
-Use the C<sendmail> program directly:
+=over 4
- open(SENDMAIL, "|/usr/lib/sendmail -oi -t -odq")
- or die "Can't fork for sendmail: $!\n";
- print SENDMAIL <<"EOF";
- From: User Originating Mail <me\@host>
- To: Final Destination <you\@otherhost>
- Subject: A relevant subject line
+=item L<Email::Sender::Transport::Sendmail>
- Body of the message goes here after the blank line
- in as many lines as you like.
- EOF
- close(SENDMAIL) or warn "sendmail didn't close nicely";
+This is the default. If you can use the L<mail(1)> or L<mailx(1)>
+program to send mail from the machine where your code runs, you should
+be able to use this.
-The B<-oi> option prevents C<sendmail> from interpreting a line consisting
-of a single dot as "end of message". The B<-t> option says to use the
-headers to decide who to send the message to, and B<-odq> says to put
-the message into the queue. This last option means your message won't
-be immediately delivered, so leave it out if you want immediate
-delivery.
+=item L<Email::Sender::Transport::SMTP>
-Alternate, less convenient approaches include calling C<mail> (sometimes
-called C<mailx>) directly or simply opening up port 25 have having an
-intimate conversation between just you and the remote SMTP daemon,
-probably C<sendmail>.
+This transport contacts a remote SMTP server over TCP. It optionally
+uses SSL and can authenticate to the server via SASL.
-Or you might be able use the CPAN module C<Mail::Mailer>:
+=item L<Email::Sender::Transport::SMTP::TLS>
- use Mail::Mailer;
+This is like the SMTP transport, but uses TLS security. You can
+authenticate with this module as well, using any mechanisms your server
+supports after STARTTLS.
- $mailer = Mail::Mailer->new();
- $mailer->open({ From => $from_address,
- To => $to_address,
- Subject => $subject,
- })
- or die "Can't open: $!\n";
- print $mailer $body;
- $mailer->close();
+=back
-The C<Mail::Internet> module uses C<Net::SMTP> which is less Unix-centric than
-C<Mail::Mailer>, but less reliable. Avoid raw SMTP commands. There
-are many reasons to use a mail transport agent like C<sendmail>. These
-include queuing, MX records, and security.
+Telling L<Email::Sender::Simple> to use your transport is straightforward.
+
+ sendmail(
+ $message,
+ {
+ transport => $email_sender_transport_object,
+ }
+ );
=head2 How do I use MIME to make an attachment to a mail message?
-This answer is extracted directly from the C<MIME::Lite> documentation.
-Create a multipart message (i.e., one with attachments).
-
- use MIME::Lite;
-
- ### Create a new multipart message:
- $msg = MIME::Lite->new(
- From =>'me@myhost.com',
- To =>'you@yourhost.com',
- Cc =>'some@other.com, some@more.com',
- Subject =>'A message with 2 parts...',
- Type =>'multipart/mixed'
- );
-
- ### Add parts (each "attach" has same arguments as "new"):
- $msg->attach(Type =>'TEXT',
- Data =>"Here's the GIF file you wanted"
- );
- $msg->attach(Type =>'image/gif',
- Path =>'aaa000123.gif',
- Filename =>'logo.gif'
- );
-
- $text = $msg->as_string;
-
-C<MIME::Lite> also includes a method for sending these things.
-
- $msg->send;
-
-This defaults to using L<sendmail> but can be customized to use
-SMTP via L<Net::SMTP>.
-
-=head2 How do I read mail?
-
-While you could use the C<Mail::Folder> module from CPAN (part of the
-C<MailFolder> package) or the C<Mail::Internet> module from CPAN (part
-of the C<MailTools> package), often a module is overkill. Here's a
-mail sorter.
-
- #!/usr/bin/perl
-
- my(@msgs, @sub);
- my $msgno = -1;
- $/ = ''; # paragraph reads
- while (<>) {
- if (/^From /m) {
- /^Subject:\s*(?:Re:\s*)*(.*)/mi;
- $sub[++$msgno] = lc($1) || '';
- }
- $msgs[$msgno] .= $_;
- }
- for my $i (sort { $sub[$a] cmp $sub[$b] || $a <=> $b } (0 .. $#msgs)) {
- print $msgs[$i];
- }
-
-Or more succinctly,
-
- #!/usr/bin/perl -n00
- # bysub2 - awkish sort-by-subject
- BEGIN { $msgno = -1 }
- $sub[++$msgno] = (/^Subject:\s*(?:Re:\s*)*(.*)/mi)[0] if /^From/m;
- $msg[$msgno] .= $_;
- END { print @msg[ sort { $sub[$a] cmp $sub[$b] || $a <=> $b } (0 .. $#msg) ] }
+L<Email::MIME> directly supports multipart messages. L<Email::MIME>
+objects themselves are parts and can be attached to other L<Email::MIME>
+objects. Consult the L<Email::MIME> documentation for more information,
+including all of the supported methods and examples of their use.
+
+=head2 How do I read email?
+
+Use the L<Email::Folder> module, like so:
+
+ use Email::Folder;
+
+ my $folder = Email::Folder->new('/path/to/email/folder');
+ while(my $message = $folder->next_message) {
+ # next_message returns Email::Simple objects, but we want
+ # Email::MIME objects as they're more robust
+ my $mime = Email::MIME->new($message->as_string);
+ }
+
+There are different classes in the L<Email::Folder> namespace for
+supporting various mailbox types. Note that these modules are generally
+rather limited and only support B<reading> rather than writing.
=head2 How do I find out my hostname, domainname, or IP address?
X<hostname, domainname, IP address, host, domain, hostfqdn, inet_ntoa,
@@ -621,62 +368,48 @@ gethostbyname, Socket, Net::Domain, Sys::Hostname>
(contributed by brian d foy)
-The C<Net::Domain> module, which is part of the standard distribution starting
-in perl5.7.3, can get you the fully qualified domain name (FQDN), the host
+The L<Net::Domain> module, which is part of the Standard Library starting
+in Perl 5.7.3, can get you the fully qualified domain name (FQDN), the host
name, or the domain name.
- use Net::Domain qw(hostname hostfqdn hostdomain);
-
- my $host = hostfqdn();
-
-The C<Sys::Hostname> module, included in the standard distribution since
-perl5.6, can also get the hostname.
-
- use Sys::Hostname;
+ use Net::Domain qw(hostname hostfqdn hostdomain);
- $host = hostname();
+ my $host = hostfqdn();
-To get the IP address, you can use the C<gethostbyname> built-in function
-to turn the name into a number. To turn that number into the dotted octet
-form (a.b.c.d) that most people expect, use the C<inet_ntoa> function
-from the C<Socket> module, which also comes with perl.
+The L<Sys::Hostname> module, part of the Standard Library, can also get the
+hostname:
- use Socket;
+ use Sys::Hostname;
- my $address = inet_ntoa(
- scalar gethostbyname( $host || 'localhost' )
- );
+ $host = hostname();
-=head2 How do I fetch a news article or the active newsgroups?
-Use the C<Net::NNTP> or C<News::NNTPClient> modules, both available from CPAN.
-This can make tasks like fetching the newsgroup list as simple as
+The L<Sys::Hostname::Long> module takes a different approach and tries
+harder to return the fully qualified hostname:
- perl -MNews::NNTPClient
- -e 'print News::NNTPClient->new->list("newsgroups")'
+ use Sys::Hostname::Long 'hostname_long';
-=head2 How do I fetch/put an FTP file?
+ my $hostname = hostname_long();
-(contributed by brian d foy)
+To get the IP address, you can use the C<gethostbyname> built-in function
+to turn the name into a number. To turn that number into the dotted octet
+form (a.b.c.d) that most people expect, use the C<inet_ntoa> function
+from the L<Socket> module, which also comes with perl.
-The C<LWP> family of modules (available on CPAN as the libwww-perl distribution)
-can work with FTP just like it can with many other protocols. C<LWP::Simple>
-makes it quite easy to fetch a file:
+ use Socket;
- use LWP::Simple;
+ my $address = inet_ntoa(
+ scalar gethostbyname( $host || 'localhost' )
+ );
- my $data = get( 'ftp://some.ftp.site/some/file.txt' );
+=head2 How do I fetch/put an (S)FTP file?
-If you want more direct or low-level control of the FTP process, you can use
-the C<Net::FTP> module (in the Standard Library since Perl 5.8). It's
-documentation has examples showing you just how to do that.
+L<Net::FTP>, and L<Net::SFTP> allow you to interact with FTP and SFTP (Secure
+FTP) servers.
=head2 How can I do RPC in Perl?
-(contributed by brian d foy)
-
-Use one of the RPC modules you can find on CPAN (
-http://search.cpan.org/search?query=RPC&mode=all ).
+Use one of the RPC modules( L<https://metacpan.org/search?q=RPC> ).
=head1 AUTHOR AND COPYRIGHT
@@ -687,7 +420,7 @@ This documentation is free; you can redistribute it and/or modify it
under the same terms as Perl itself.
Irrespective of its distribution, all code examples in this file
-are hereby placed into the public domain. You are permitted and
+are hereby placed into the public domain. You are permitted and
encouraged to use this code in your own programs for fun
-or for profit as you see fit. A simple comment in the code giving
+or for profit as you see fit. A simple comment in the code giving
credit would be courteous but is not required.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfork.pod b/Master/tlpkg/tlperl/lib/pods/perlfork.pod
index 709d053d28e..7729444c40b 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfork.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfork.pod
@@ -78,10 +78,12 @@ and return its status.
=item kill()
C<kill('KILL', ...)> can be used to terminate a pseudo-process by
-passing it the ID returned by fork(). This should not be used except
+passing it the ID returned by fork(). The outcome of kill on a pseudo-process
+is unpredictable and it should not be used except
under dire circumstances, because the operating system may not
guarantee integrity of the process resources when a running thread is
-terminated. Note that using C<kill('KILL', ...)> on a
+terminated. The process which implements the pseudo-processes can be blocked
+and the Perl interpreter hangs. Note that using C<kill('KILL', ...)> on a
pseudo-process() may typically cause memory leaks, because the thread
that implements the pseudo-process does not get a chance to clean up
its resources.
@@ -307,6 +309,12 @@ are expected to be fixed for thread-safety.
=back
+=head1 PORTABILITY CAVEATS
+
+In portable Perl code, C<kill(9, $child)> must not be used on forked processes.
+Killing a forked process is unsafe and has unpredictable results.
+See L</kill()>, above.
+
=head1 BUGS
=over 8
diff --git a/Master/tlpkg/tlperl/lib/pods/perlform.pod b/Master/tlpkg/tlperl/lib/pods/perlform.pod
index a2aa6588b76..b00d394296e 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlform.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlform.pod
@@ -393,7 +393,7 @@ by checking $FORMAT_LINES_LEFT before each write() and print the footer
yourself if necessary.
Here's another strategy: Open a pipe to yourself, using C<open(MYSELF, "|-")>
-(see L<perlfunc/"open FILEHANDLE">) and always write() to MYSELF instead of STDOUT.
+(see L<perlfunc/open>) and always write() to MYSELF instead of STDOUT.
Have your child process massage its STDIN to rearrange headers and footers
however you like. Not very convenient, but doable.
@@ -409,7 +409,7 @@ For example:
@<<< @||| @>>>
END
- print "Wow, I just stored `$^A' in the accumulator!\n";
+ print "Wow, I just stored '$^A' in the accumulator!\n";
Or to make an swrite() subroutine, which is to write() what sprintf()
is to printf(), do this:
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfreebsd.pod b/Master/tlpkg/tlperl/lib/pods/perlfreebsd.pod
index 00a40593a36..4bfe9741373 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfreebsd.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfreebsd.pod
@@ -4,7 +4,7 @@ specifically designed to be readable as is.
=head1 NAME
-README.freebsd - Perl version 5 on FreeBSD systems
+perlfreebsd - Perl version 5 on FreeBSD systems
=head1 DESCRIPTION
@@ -22,10 +22,11 @@ which has been integrated into FreeBSD 4.6.
=head2 $^X doesn't always contain a full path in FreeBSD
-perl 5.8.0 sets C<$^X> where possible to a full path by asking the operating
-system. On FreeBSD the full path of the perl interpreter is found by reading
-the symlink F</proc/curproc/file>. FreeBSD has a bug where reading this
-symlink sometimes returns an incorrect value
+perl sets C<$^X> where possible to a full path by asking the operating
+system. On FreeBSD the full path of the perl interpreter is found by using
+C<sysctl> with C<KERN_PROC_PATHNAME> if that is supported, else by reading
+the symlink F</proc/curproc/file>. FreeBSD 7 and earlier has a bug where
+either approach sometimes returns an incorrect value
(see http://www.freebsd.org/cgi/query-pr.cgi?pr=35703 ).
In these cases perl will fall back to the old behaviour of using C's
argv[0] value for C<$^X>.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlfunc.pod b/Master/tlpkg/tlperl/lib/pods/perlfunc.pod
index 2ee3637c121..c9307f342fc 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlfunc.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlfunc.pod
@@ -107,52 +107,80 @@ than one place.
=item Functions for SCALARs or strings
X<scalar> X<string> X<character>
-C<chomp>, C<chop>, C<chr>, C<crypt>, C<hex>, C<index>, C<lc>, C<lcfirst>,
-C<length>, C<oct>, C<ord>, C<pack>, C<q//>, C<qq//>, C<reverse>,
+=for Pod::Functions =String
+
+C<chomp>, C<chop>, C<chr>, C<crypt>, C<fc>, C<hex>, C<index>, C<lc>,
+C<lcfirst>, C<length>, C<oct>, C<ord>, C<pack>, C<q//>, C<qq//>, C<reverse>,
C<rindex>, C<sprintf>, C<substr>, C<tr///>, C<uc>, C<ucfirst>, C<y///>
+C<fc> is available only if the C<"fc"> feature is enabled or if it is
+prefixed with C<CORE::>. The C<"fc"> feature is enabled automatically
+with a C<use v5.16> (or higher) declaration in the current scope.
+
+
=item Regular expressions and pattern matching
X<regular expression> X<regex> X<regexp>
-C<m//>, C<pos>, C<quotemeta>, C<s///>, C<split>, C<study>, C<qr//>
+=for Pod::Functions =Regexp
+
+C<m//>, C<pos>, C<qr//>, C<quotemeta>, C<s///>, C<split>, C<study>
=item Numeric functions
X<numeric> X<number> X<trigonometric> X<trigonometry>
+=for Pod::Functions =Math
+
C<abs>, C<atan2>, C<cos>, C<exp>, C<hex>, C<int>, C<log>, C<oct>, C<rand>,
C<sin>, C<sqrt>, C<srand>
=item Functions for real @ARRAYs
X<array>
+=for Pod::Functions =ARRAY
+
C<each>, C<keys>, C<pop>, C<push>, C<shift>, C<splice>, C<unshift>, C<values>
=item Functions for list data
X<list>
+=for Pod::Functions =LIST
+
C<grep>, C<join>, C<map>, C<qw//>, C<reverse>, C<sort>, C<unpack>
=item Functions for real %HASHes
X<hash>
+=for Pod::Functions =HASH
+
C<delete>, C<each>, C<exists>, C<keys>, C<values>
=item Input and output functions
X<I/O> X<input> X<output> X<dbm>
+=for Pod::Functions =I/O
+
C<binmode>, C<close>, C<closedir>, C<dbmclose>, C<dbmopen>, C<die>, C<eof>,
C<fileno>, C<flock>, C<format>, C<getc>, C<print>, C<printf>, C<read>,
-C<readdir>, C<rewinddir>, C<say>, C<seek>, C<seekdir>, C<select>, C<syscall>,
-C<sysread>, C<sysseek>, C<syswrite>, C<tell>, C<telldir>, C<truncate>,
-C<warn>, C<write>
+C<readdir>, C<readline> C<rewinddir>, C<say>, C<seek>, C<seekdir>, C<select>,
+C<syscall>, C<sysread>, C<sysseek>, C<syswrite>, C<tell>, C<telldir>,
+C<truncate>, C<warn>, C<write>
+
+C<say> is available only if the C<"say"> feature is enabled or if it is
+prefixed with C<CORE::>. The C<"say"> feature is enabled automatically
+with a C<use v5.10> (or higher) declaration in the current scope.
=item Functions for fixed-length data or records
-C<pack>, C<read>, C<syscall>, C<sysread>, C<syswrite>, C<unpack>, C<vec>
+=for Pod::Functions =Binary
+
+C<pack>, C<read>, C<syscall>, C<sysread>, C<sysseek>, C<syswrite>, C<unpack>,
+C<vec>
=item Functions for filehandles, files, or directories
X<file> X<filehandle> X<directory> X<pipe> X<link> X<symlink>
+=for Pod::Functions =File
+
C<-I<X>>, C<chdir>, C<chmod>, C<chown>, C<chroot>, C<fcntl>, C<glob>,
C<ioctl>, C<link>, C<lstat>, C<mkdir>, C<open>, C<opendir>,
C<readlink>, C<rename>, C<rmdir>, C<stat>, C<symlink>, C<sysopen>,
@@ -161,50 +189,73 @@ C<umask>, C<unlink>, C<utime>
=item Keywords related to the control flow of your Perl program
X<control flow>
-C<caller>, C<continue>, C<die>, C<do>, C<dump>, C<eval>, C<exit>,
-C<goto>, C<last>, C<next>, C<redo>, C<return>, C<sub>, C<wantarray>
+=for Pod::Functions =Flow
-=item Keywords related to the switch feature
+C<break>, C<caller>, C<continue>, C<die>, C<do>,
+C<dump>, C<eval>, C<evalbytes> C<exit>,
+C<__FILE__>, C<goto>, C<last>, C<__LINE__>, C<next>, C<__PACKAGE__>,
+C<redo>, C<return>, C<sub>, C<__SUB__>, C<wantarray>
-C<break>, C<continue>, C<default, >C<given>, C<when>
+C<break> is available only if you enable the experimental C<"switch">
+feature or use the C<CORE::> prefix. The C<"switch"> feature also enables
+the C<default>, C<given> and C<when> statements, which are documented in
+L<perlsyn/"Switch Statements">. The C<"switch"> feature is enabled
+automatically with a C<use v5.10> (or higher) declaration in the current
+scope. In Perl v5.14 and earlier, C<continue> required the C<"switch">
+feature, like the other keywords.
-These are available only if you enable the C<"switch"> feature.
-See L<feature> and L<perlsyn/"Switch statements">.
-Alternately, include a C<use v5.10> or later to the current scope.
+C<evalbytes> is only available with with the C<"evalbytes"> feature (see
+L<feature>) or if prefixed with C<CORE::>. C<__SUB__> is only available
+with with the C<"current_sub"> feature or if prefixed with C<CORE::>. Both
+the C<"evalbytes"> and C<"current_sub"> features are enabled automatically
+with a C<use v5.16> (or higher) declaration in the current scope.
=item Keywords related to scoping
+=for Pod::Functions =Namespace
+
C<caller>, C<import>, C<local>, C<my>, C<our>, C<package>, C<state>, C<use>
-C<state> is available only if the C<"state"> feature is enabled. See
-L<feature>. Alternately, include a C<use v5.10> or later to the current scope.
+C<state> is available only if the C<"state"> feature is enabled or if it is
+prefixed with C<CORE::>. The C<"state"> feature is enabled automatically
+with a C<use v5.10> (or higher) declaration in the current scope.
=item Miscellaneous functions
-C<defined>, C<dump>, C<eval>, C<formline>, C<local>, C<my>, C<our>,
-C<reset>, C<scalar>, C<state>, C<undef>, C<wantarray>
+=for Pod::Functions =Misc
+
+C<defined>, C<formline>, C<lock>, C<prototype>, C<reset>, C<scalar>, C<undef>
=item Functions for processes and process groups
X<process> X<pid> X<process id>
+=for Pod::Functions =Process
+
C<alarm>, C<exec>, C<fork>, C<getpgrp>, C<getppid>, C<getpriority>, C<kill>,
-C<pipe>, C<qx//>, C<setpgrp>, C<setpriority>, C<sleep>, C<system>,
+C<pipe>, C<qx//>, C<readpipe>, C<setpgrp>,
+C<setpriority>, C<sleep>, C<system>,
C<times>, C<wait>, C<waitpid>
=item Keywords related to Perl modules
X<module>
+=for Pod::Functions =Modules
+
C<do>, C<import>, C<no>, C<package>, C<require>, C<use>
=item Keywords related to classes and object-orientation
X<object> X<class> X<package>
+=for Pod::Functions =Objects
+
C<bless>, C<dbmclose>, C<dbmopen>, C<package>, C<ref>, C<tie>, C<tied>,
C<untie>, C<use>
=item Low-level socket functions
X<socket> X<sock>
+=for Pod::Functions =Socket
+
C<accept>, C<bind>, C<connect>, C<getpeername>, C<getsockname>,
C<getsockopt>, C<listen>, C<recv>, C<send>, C<setsockopt>, C<shutdown>,
C<socket>, C<socketpair>
@@ -212,12 +263,16 @@ C<socket>, C<socketpair>
=item System V interprocess communication functions
X<IPC> X<System V> X<semaphore> X<shared memory> X<memory> X<message>
+=for Pod::Functions =SysV
+
C<msgctl>, C<msgget>, C<msgrcv>, C<msgsnd>, C<semctl>, C<semget>, C<semop>,
C<shmctl>, C<shmget>, C<shmread>, C<shmwrite>
=item Fetching user and group info
X<user> X<group> X<password> X<uid> X<gid> X<passwd> X</etc/passwd>
+=for Pod::Functions =User
+
C<endgrent>, C<endhostent>, C<endnetent>, C<endpwent>, C<getgrent>,
C<getgrgid>, C<getgrnam>, C<getlogin>, C<getpwent>, C<getpwnam>,
C<getpwuid>, C<setgrent>, C<setpwent>
@@ -225,6 +280,8 @@ C<getpwuid>, C<setgrent>, C<setpwent>
=item Fetching network info
X<network> X<protocol> X<host> X<hostname> X<IP> X<address> X<service>
+=for Pod::Functions =Network
+
C<endprotoent>, C<endservent>, C<gethostbyaddr>, C<gethostbyname>,
C<gethostent>, C<getnetbyaddr>, C<getnetbyname>, C<getnetent>,
C<getprotobyname>, C<getprotobynumber>, C<getprotoent>,
@@ -234,23 +291,19 @@ C<setnetent>, C<setprotoent>, C<setservent>
=item Time-related functions
X<time> X<date>
-C<gmtime>, C<localtime>, C<time>, C<times>
-
-=item Functions new in perl5
-X<perl5>
+=for Pod::Functions =Time
-C<abs>, C<bless>, C<break>, C<chomp>, C<chr>, C<continue>, C<default>,
-C<exists>, C<formline>, C<given>, C<glob>, C<import>, C<lc>, C<lcfirst>,
-C<lock>, C<map>, C<my>, C<no>, C<our>, C<prototype>, C<qr//>, C<qw//>, C<qx//>,
-C<readline>, C<readpipe>, C<ref>, C<sub>*, C<sysopen>, C<tie>, C<tied>, C<uc>,
-C<ucfirst>, C<untie>, C<use>, C<when>
+C<gmtime>, C<localtime>, C<time>, C<times>
-* C<sub> was a keyword in Perl 4, but in Perl 5 it is an
-operator, which can be used in expressions.
+=item Non-function keywords
-=item Functions obsoleted in perl5
+=for Pod::Functions =!Non-functions
-C<dbmclose>, C<dbmopen>
+C<and>, C<AUTOLOAD>, C<BEGIN>, C<CHECK>, C<cmp>, C<CORE>, C<__DATA__>,
+C<default>, C<DESTROY>, C<else>, C<elseif>, C<elsif>, C<END>, C<__END__>,
+C<eq>, C<for>, C<foreach>, C<ge>, C<given>, C<gt>, C<if>, C<INIT>, C<le>,
+C<lt>, C<ne>, C<not>, C<or>, C<UNITCHECK>, C<unless>, C<until>, C<when>,
+C<while>, C<x>, C<xor>
=back
@@ -298,6 +351,8 @@ X<-S>X<-b>X<-c>X<-t>X<-u>X<-g>X<-k>X<-T>X<-B>X<-M>X<-A>X<-C>
=item -X
+=for Pod::Functions a file test (-r, -x, etc)
+
A file test, where X is one of the letters listed below. This unary
operator takes one argument, either a filename, a filehandle, or a dirhandle,
and tests the associated file to see if something is true about it. If the
@@ -354,8 +409,8 @@ C<-exp($foo)> still works as expected, however: only single letters
following a minus are interpreted as file tests.
These operators are exempt from the "looks like a function rule" described
-above. That is, an opening parenthesis after the operator does not affect
-how much of the following code constitutes the argument. Put the opening
+above. That is, an opening parenthesis after the operator does not affect
+how much of the following code constitutes the argument. Put the opening
parentheses before the operator to separate it from code that follows (this
applies only to operators with higher precedence than unary operators, of
course):
@@ -386,7 +441,7 @@ test whether the permission can(not) be granted using the
access(2) family of system calls. Also note that the C<-x> and C<-X> may
under this pragma return true even if there are no execute permission
bits set (nor any extra execute permission ACLs). This strangeness is
-due to the underlying system calls' definitions. Note also that, due to
+due to the underlying system calls' definitions. Note also that, due to
the implementation of C<use filetest 'access'>, the C<_> special
filehandle won't cache the results of the file tests when this pragma is
in effect. Read the documentation for the C<filetest> pragma for more
@@ -426,21 +481,32 @@ Example:
As of Perl 5.9.1, as a form of purely syntactic sugar, you can stack file
test operators, in a way that C<-f -w -x $file> is equivalent to
-C<-x $file && -w _ && -f _>. (This is only fancy fancy: if you use
+C<-x $file && -w _ && -f _>. (This is only fancy fancy: if you use
the return value of C<-f $file> as an argument to another filetest
operator, no special magic will happen.)
+Portability issues: L<perlport/-X>.
+
+To avoid confusing would-be users of your code with mysterious
+syntax errors, put something like this at the top of your script:
+
+ use 5.010; # so filetest ops can stack
+
=item abs VALUE
X<abs> X<absolute>
=item abs
+=for Pod::Functions absolute value function
+
Returns the absolute value of its argument.
If VALUE is omitted, uses C<$_>.
=item accept NEWSOCKET,GENERICSOCKET
X<accept>
+=for Pod::Functions accept an incoming socket connect
+
Accepts an incoming socket connect, just as accept(2)
does. Returns the packed address if it succeeded, false otherwise.
See the example in L<perlipc/"Sockets: Client/Server Communication">.
@@ -456,9 +522,11 @@ X<timer>
=item alarm
+=for Pod::Functions schedule a SIGALRM
+
Arranges to have a SIGALRM delivered to this process after the
specified number of wallclock seconds has elapsed. If SECONDS is not
-specified, the value stored in C<$_> is used. (On some machines,
+specified, the value stored in C<$_> is used. (On some machines,
unfortunately, the elapsed time may be up to one second less or more
than you specified because of how seconds are counted, and process
scheduling may delay the delivery of the signal even further.)
@@ -473,7 +541,7 @@ For delays of finer granularity than one second, the Time::HiRes module
distribution) provides ualarm(). You may also use Perl's four-argument
version of select() leaving the first three arguments undefined, or you
might be able to use the C<syscall> interface to access setitimer(2) if
-your system supports it. See L<perlfaq8> for details.
+your system supports it. See L<perlfaq8> for details.
It is usually a mistake to intermix C<alarm> and C<sleep> calls, because
C<sleep> may be internally implemented on your system with C<alarm>.
@@ -500,9 +568,13 @@ modulo the caveats given in L<perlipc/"Signals">.
For more information see L<perlipc>.
+Portability issues: L<perlport/alarm>.
+
=item atan2 Y,X
X<atan2> X<arctangent> X<tan> X<tangent>
+=for Pod::Functions arctangent of Y/X in the range -PI to PI
+
Returns the arctangent of Y/X in the range -PI to PI.
For the tangent operation, you may use the C<Math::Trig::tan>
@@ -513,9 +585,13 @@ function, or use the familiar relation:
The return value for C<atan2(0,0)> is implementation-defined; consult
your atan2(3) manpage for more information.
+Portability issues: L<perlport/atan2>.
+
=item bind SOCKET,NAME
X<bind>
+=for Pod::Functions binds an address to a socket
+
Binds a network address to a socket, just as bind(2)
does. Returns true if it succeeded, false otherwise. NAME should be a
packed address of the appropriate type for the socket. See the examples in
@@ -526,6 +602,8 @@ X<binmode> X<binary> X<text> X<DOS> X<Windows>
=item binmode FILEHANDLE
+=for Pod::Functions prepare binary files for I/O
+
Arranges for FILEHANDLE to be read or written in "binary" or "text"
mode on systems where the run-time libraries distinguish between
binary and text files. If FILEHANDLE is an expression, the value is
@@ -542,16 +620,16 @@ In other words: regardless of platform, use binmode() on binary data,
like images, for example.
If LAYER is present it is a single string, but may contain multiple
-directives. The directives alter the behaviour of the filehandle.
+directives. The directives alter the behaviour of the filehandle.
When LAYER is present, using binmode on a text file makes sense.
If LAYER is omitted or specified as C<:raw> the filehandle is made
-suitable for passing binary data. This includes turning off possible CRLF
+suitable for passing binary data. This includes turning off possible CRLF
translation and marking it as bytes (as opposed to Unicode characters).
Note that, despite what may be implied in I<"Programming Perl"> (the
Camel, 3rd edition) or elsewhere, C<:raw> is I<not> simply the inverse of C<:crlf>.
Other layers that would affect the binary nature of the stream are
-I<also> disabled. See L<PerlIO>, L<perlrun>, and the discussion about the
+I<also> disabled. See L<PerlIO>, L<perlrun>, and the discussion about the
PERLIO environment variable.
The C<:bytes>, C<:crlf>, C<:utf8>, and any other directives of the
@@ -568,7 +646,7 @@ of this version of Perl therefore refers to "layers" rather than to
To mark FILEHANDLE as UTF-8, use C<:utf8> or C<:encoding(UTF-8)>.
C<:utf8> just marks the data as UTF-8 without further checking,
while C<:encoding(UTF-8)> checks the data for actually being valid
-UTF-8. More details can be found in L<PerlIO::encoding>.
+UTF-8. More details can be found in L<PerlIO::encoding>.
In general, binmode() should be called after open() but before any I/O
is done on the filehandle. Calling binmode() normally flushes any
@@ -591,7 +669,7 @@ one character.
All variants of Unix, Mac OS (old and new), and Stream_LF files on VMS use
a single character to end each line in the external representation of text
(even though that single character is CARRIAGE RETURN on old, pre-Darwin
-flavors of Mac OS, and is LINE FEED on Unix and most VMS files). In other
+flavors of Mac OS, and is LINE FEED on Unix and most VMS files). In other
systems like OS/2, DOS, and the various flavors of MS-Windows, your program
sees a C<\n> as a simple C<\cJ>, but what's stored in text files are the
two characters C<\cM\cJ>. That means that if you don't use binmode() on
@@ -612,22 +690,25 @@ but also when using read(), seek(), sysread(), syswrite() and tell()
in L<perlvar> for how to manually set your input and output
line-termination sequences.
+Portability issues: L<perlport/binmode>.
+
=item bless REF,CLASSNAME
X<bless>
=item bless REF
+=for Pod::Functions create an object
+
This function tells the thingy referenced by REF that it is now an object
in the CLASSNAME package. If CLASSNAME is omitted, the current package
is used. Because a C<bless> is often the last thing in a constructor,
it returns the reference for convenience. Always use the two-argument
version if a derived class might inherit the function doing the blessing.
-See L<perltoot> and L<perlobj> for more about the blessing (and blessings)
-of objects.
+SeeL<perlobj> for more about the blessing (and blessings) of objects.
Consider always blessing objects in CLASSNAMEs that are mixed case.
Namespaces with all lowercase names are considered reserved for
-Perl pragmata. Builtin types have all uppercase names. To prevent
+Perl pragmata. Builtin types have all uppercase names. To prevent
confusion, you may wish to avoid such package names as well. Make sure
that CLASSNAME is a true value.
@@ -635,10 +716,13 @@ See L<perlmod/"Perl Modules">.
=item break
+=for Pod::Functions +switch break out of a C<given> block
+
Break out of a C<given()> block.
This keyword is enabled by the C<"switch"> feature: see
-L<feature> for more information. Alternately, include a C<use
+L<feature> for more information. You can also access it by
+prefixing it with C<CORE::>. Alternately, include a C<use
v5.10> or later to the current scope.
=item caller EXPR
@@ -646,6 +730,8 @@ X<caller> X<call stack> X<stack> X<stack trace>
=item caller
+=for Pod::Functions get context of the current subroutine call
+
Returns the context of the current subroutine call. In scalar context,
returns the caller's package name if there I<is> a caller (that is, if
we're in a subroutine or C<eval> or C<require>) and the undefined value
@@ -680,10 +766,11 @@ compiled with. The C<$hints> and C<$bitmask> values are subject to change
between versions of Perl, and are not meant for external use.
C<$hinthash> is a reference to a hash containing the value of C<%^H> when the
-caller was compiled, or C<undef> if C<%^H> was empty. Do not modify the values
+caller was compiled, or C<undef> if C<%^H> was empty. Do not modify the values
of this hash, as they are the actual values stored in the optree.
-Furthermore, when called from within the DB package, caller returns more
+Furthermore, when called from within the DB package in
+list context, and with an argument, caller returns more
detailed information: it sets the list variable C<@DB::args> to be the
arguments with which the subroutine was invoked.
@@ -694,18 +781,18 @@ C<< N > 1 >>. In particular, C<@DB::args> might have information from the
previous time C<caller> was called.
Be aware that setting C<@DB::args> is I<best effort>, intended for
-debugging or generating backtraces, and should not be relied upon. In
+debugging or generating backtraces, and should not be relied upon. In
particular, as C<@_> contains aliases to the caller's arguments, Perl does
not take a copy of C<@_>, so C<@DB::args> will contain modifications the
subroutine makes to C<@_> or its contents, not the original values at call
-time. C<@DB::args>, like C<@_>, does not hold explicit references to its
+time. C<@DB::args>, like C<@_>, does not hold explicit references to its
elements, so under certain cases its elements may have become freed and
-reallocated for other variables or temporary values. Finally, a side effect
+reallocated for other variables or temporary values. Finally, a side effect
of the current implementation is that the effects of C<shift @_> can
I<normally> be undone (but not C<pop @_> or other splicing, I<and> not if a
reference to C<@_> has been taken, I<and> subject to the caveat about reallocated
elements), so C<@DB::args> is actually a hybrid of the current state and
-initial state of C<@_>. Buyer beware.
+initial state of C<@_>. Buyer beware.
=item chdir EXPR
X<chdir>
@@ -718,12 +805,14 @@ X<directory, change>
=item chdir
-Changes the working directory to EXPR, if possible. If EXPR is omitted,
+=for Pod::Functions change your current working directory
+
+Changes the working directory to EXPR, if possible. If EXPR is omitted,
changes to the directory specified by C<$ENV{HOME}>, if set; if not,
-changes to the directory specified by C<$ENV{LOGDIR}>. (Under VMS, the
-variable C<$ENV{SYS$LOGIN}> is also checked, and used if it is set.) If
-neither is set, C<chdir> does nothing. It returns true on success,
-false otherwise. See the example under C<die>.
+changes to the directory specified by C<$ENV{LOGDIR}>. (Under VMS, the
+variable C<$ENV{SYS$LOGIN}> is also checked, and used if it is set.) If
+neither is set, C<chdir> does nothing. It returns true on success,
+false otherwise. See the example under C<die>.
On systems that support fchdir(2), you may pass a filehandle or
directory handle as the argument. On systems that don't support fchdir(2),
@@ -732,6 +821,8 @@ passing handles raises an exception.
=item chmod LIST
X<chmod> X<permission> X<mode>
+=for Pod::Functions changes the permissions on a list of files
+
Changes the permissions of a list of files. The first element of the
list must be the numeric mode, which should probably be an octal
number, and which definitely should I<not> be a string of octal digits:
@@ -761,6 +852,8 @@ module:
chmod S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH, @executables;
# Identical to the chmod 0755 of the example above.
+Portability issues: L<perlport/chmod>.
+
=item chomp VARIABLE
X<chomp> X<INPUT_RECORD_SEPARATOR> X<$/> X<newline> X<eol>
@@ -768,6 +861,8 @@ X<chomp> X<INPUT_RECORD_SEPARATOR> X<$/> X<newline> X<eol>
=item chomp
+=for Pod::Functions remove a trailing record separator from a string
+
This safer version of L</chop> removes any trailing string
that corresponds to the current value of C<$/> (also known as
$INPUT_RECORD_SEPARATOR in the C<English> module). It returns the total
@@ -810,6 +905,8 @@ X<chop>
=item chop
+=for Pod::Functions remove the last character from a string
+
Chops off the last character of a string and returns the character
chopped. It is much more efficient than C<s/.$//s> because it neither
scans nor copies the string. If VARIABLE is omitted, chops C<$_>.
@@ -828,6 +925,8 @@ See also L</chomp>.
=item chown LIST
X<chown> X<owner> X<user> X<group>
+=for Pod::Functions change the ownership on a list of files
+
Changes the owner (and group) of a list of files. The first two
elements of the list must be the I<numeric> uid and gid, in that
order. A value of -1 in either position is interpreted by most
@@ -864,11 +963,15 @@ On POSIX systems, you can detect this condition this way:
use POSIX qw(sysconf _PC_CHOWN_RESTRICTED);
$can_chown_giveaway = not sysconf(_PC_CHOWN_RESTRICTED);
+Portability issues: L<perlport/chmod>.
+
=item chr NUMBER
X<chr> X<character> X<ASCII> X<Unicode>
=item chr
+=for Pod::Functions get character this number represents
+
Returns the character represented by that NUMBER in the character set.
For example, C<chr(65)> is C<"A"> in either ASCII or Unicode, and
chr(0x263a) is a Unicode smiley face.
@@ -891,6 +994,8 @@ X<chroot> X<root>
=item chroot
+=for Pod::Functions make directory new root for path lookups
+
This function works like the system call by the same name: it makes the
named directory the new root directory for all further pathnames that
begin with a C</> by your process and all its children. (It doesn't
@@ -898,11 +1003,15 @@ change your current working directory, which is unaffected.) For security
reasons, this call is restricted to the superuser. If FILENAME is
omitted, does a C<chroot> to C<$_>.
+Portability issues: L<perlport/chroot>.
+
=item close FILEHANDLE
X<close>
=item close
+=for Pod::Functions close file (or pipe or socket) handle
+
Closes the file or pipe associated with the filehandle, flushes the IO
buffers, and closes the system file descriptor. Returns true if those
operations succeed and if no error was reported by any PerlIO
@@ -911,7 +1020,7 @@ omitted.
You don't have to close FILEHANDLE if you are immediately going to do
another C<open> on it, because C<open> closes it for you. (See
-C<open>.) However, an explicit C<close> on an input file resets the line
+L<open|/open FILEHANDLE>.) However, an explicit C<close> on an input file resets the line
counter (C<$.>), while the implicit close done by C<open> does not.
If the filehandle came from a piped open, C<close> returns false if one of
@@ -948,12 +1057,16 @@ filehandle, usually the real filehandle name or an autovivified handle.
=item closedir DIRHANDLE
X<closedir>
+=for Pod::Functions close directory handle
+
Closes a directory opened by C<opendir> and returns the success of that
system call.
=item connect SOCKET,NAME
X<connect>
+=for Pod::Functions connect to a remote socket
+
Attempts to connect to a remote socket, just like connect(2).
Returns true if it succeeded, false otherwise. NAME should be a
packed address of the appropriate type for the socket. See the examples in
@@ -964,7 +1077,10 @@ X<continue>
=item continue
-C<continue> is actually a flow control statement rather than a function. If
+=for Pod::Functions optional trailing block in a while or foreach
+
+When followed by a BLOCK, C<continue> is actually a
+flow control statement rather than a function. If
there is a C<continue> BLOCK attached to a BLOCK (typically in a C<while> or
C<foreach>), it is always executed just before the conditional is about to
be evaluated again, just like the third part of a C<for> loop in C. Thus
@@ -991,10 +1107,12 @@ Omitting the C<continue> section is equivalent to using an
empty one, logically enough, so C<next> goes directly back
to check the condition at the top of the loop.
-If the C<"switch"> feature is enabled, C<continue> is also a function that
+When there is no BLOCK, C<continue> is a function that
falls through the current C<when> or C<default> block instead of iterating
a dynamically enclosing C<foreach> or exiting a lexically enclosing C<given>.
-See L<feature> and L<perlsyn/"Switch statements"> for more
+In Perl 5.14 and earlier, this form of C<continue> was
+only available when the C<"switch"> feature was enabled.
+See L<feature> and L<perlsyn/"Switch Statements"> for more
information.
=item cos EXPR
@@ -1002,6 +1120,8 @@ X<cos> X<cosine> X<acos> X<arccosine>
=item cos
+=for Pod::Functions cosine function
+
Returns the cosine of EXPR (expressed in radians). If EXPR is omitted,
takes the cosine of C<$_>.
@@ -1014,6 +1134,8 @@ function, or use this relation:
X<crypt> X<digest> X<hash> X<salt> X<plaintext> X<password>
X<decrypt> X<cryptography> X<passwd> X<encrypt>
+=for Pod::Functions one-way passwd-style encryption
+
Creates a digest string exactly like the crypt(3) function in the C
library (assuming that you actually have a version there that has not
been extirpated as a potential munition).
@@ -1046,7 +1168,7 @@ of SALT may matter.
Traditionally the result is a string of 13 bytes: two first bytes of
the salt, followed by 11 bytes from the set C<[./0-9A-Za-z]>, and only
-the first eight bytes of PLAINTEXT mattered. But alternative
+the first eight bytes of PLAINTEXT mattered. But alternative
hashing schemes (like MD5), higher level security schemes (like C2),
and implementations on non-Unix platforms may produce different
strings.
@@ -1089,24 +1211,36 @@ the string back to an eight-bit byte string before calling crypt()
(on that copy). If that works, good. If not, crypt() dies with
C<Wide character in crypt>.
+Portability issues: L<perlport/crypt>.
+
=item dbmclose HASH
X<dbmclose>
+=for Pod::Functions breaks binding on a tied dbm file
+
[This function has been largely superseded by the C<untie> function.]
Breaks the binding between a DBM file and a hash.
+Portability issues: L<perlport/dbmclose>.
+
=item dbmopen HASH,DBNAME,MASK
X<dbmopen> X<dbm> X<ndbm> X<sdbm> X<gdbm>
-[This function has been largely superseded by the C<tie> function.]
+=for Pod::Functions create binding on a tied dbm file
+
+[This function has been largely superseded by the
+L<tie|/tie VARIABLE,CLASSNAME,LIST> function.]
This binds a dbm(3), ndbm(3), sdbm(3), gdbm(3), or Berkeley DB file to a
hash. HASH is the name of the hash. (Unlike normal C<open>, the first
argument is I<not> a filehandle, even though it looks like one). DBNAME
is the name of the database (without the F<.dir> or F<.pag> extension if
any). If the database does not exist, it is created with protection
-specified by MASK (as modified by the C<umask>). If your system supports
+specified by MASK (as modified by the C<umask>). To prevent creation of
+the database if it doesn't exist, you may specify a MODE
+of 0, and the function will return a false value if it
+can't find an existing database. If your system supports
only the older DBM functions, you may make only one C<dbmopen> call in your
program. In older versions of Perl, if your system had neither DBM nor
ndbm, calling C<dbmopen> produced a fatal error; it now falls back to
@@ -1139,17 +1273,15 @@ before you call dbmopen():
dbmopen(%NS_Hist, "$ENV{HOME}/.netscape/history.db")
or die "Can't open netscape history file: $!";
-=item default BLOCK
-
-Within a C<foreach> or a C<given>, a C<default> BLOCK acts like a C<when>
-that's always true. Only available after Perl 5.10, and only if the
-C<switch> feature has been requested. See L</when>.
+Portability issues: L<perlport/dbmopen>.
=item defined EXPR
X<defined> X<undef> X<undefined>
=item defined
+=for Pod::Functions test whether a value, variable, or function is defined
+
Returns a Boolean value telling whether EXPR has a value other than
the undefined value C<undef>. If EXPR is not present, C<$_> is
checked.
@@ -1212,6 +1344,8 @@ See also L</undef>, L</exists>, L</ref>.
=item delete EXPR
X<delete>
+=for Pod::Functions deletes a value from a hash
+
Given an expression that specifies an element or slice of a hash, C<delete>
deletes the specified elements from that hash so that exists() on that element
no longer returns true. Setting a hash element to the undefined value does
@@ -1285,10 +1419,12 @@ final operation is an element or slice of an aggregate:
=item die LIST
X<die> X<throw> X<exception> X<raise> X<$@> X<abort>
-C<die> raises an exception. Inside an C<eval> the error message is stuffed
+=for Pod::Functions raise an exception or bail out
+
+C<die> raises an exception. Inside an C<eval> the error message is stuffed
into C<$@> and the C<eval> is terminated with the undefined value.
If the exception is outside of all enclosing C<eval>s, then the uncaught
-exception prints LIST to C<STDERR> and exits with a non-zero value. If you
+exception prints LIST to C<STDERR> and exits with a non-zero value. If you
need to exit the process with a specific exit code, see L</exit>.
Equivalent examples:
@@ -1338,7 +1474,8 @@ determined from the values of C<$!> and C<$?> with this pseudocode:
exit 255; # last resort
The intent is to squeeze as much possible information about the likely cause
-into the limited space of the system exit code. However, as C<$!> is the value
+into the limited space of the system exit
+code. However, as C<$!> is the value
of C's C<errno>, which can be set by any system call, this means that the value
of the exit code used by C<die> can be non-predictable, so should not be relied
upon, other than to be non-zero.
@@ -1391,10 +1528,12 @@ See also exit(), warn(), and the Carp module.
=item do BLOCK
X<do> X<block>
+=for Pod::Functions turn a BLOCK into a TERM
+
Not really a function. Returns the value of the last command in the
sequence of commands indicated by BLOCK. When modified by the C<while> or
C<until> loop modifier, executes the BLOCK once before testing the loop
-condition. (On other statements the loop modifiers test the conditional
+condition. (On other statements the loop modifiers test the conditional
first.)
C<do BLOCK> does I<not> count as a loop, so the loop control statements
@@ -1456,6 +1595,8 @@ X<dump> X<core> X<undump>
=item dump
+=for Pod::Functions create an immediate core dump
+
This function causes an immediate core dump. See also the B<-u>
command-line switch in L<perlrun>, which does the same thing.
Primarily this is so that you can use the B<undump> program (not
@@ -1471,10 +1612,12 @@ be open any more when the program is reincarnated, with possible
resulting confusion by Perl.
This function is now largely obsolete, mostly because it's very hard to
-convert a core file into an executable. That's why you should now invoke
+convert a core file into an executable. That's why you should now invoke
it as C<CORE::dump()>, if you don't want to be warned against a possible
typo.
+Portability issues: L<perlport/dump>.
+
=item each HASH
X<each> X<hash, iterator>
@@ -1483,11 +1626,14 @@ X<array, iterator>
=item each EXPR
-When called in list context, returns a 2-element list consisting of the key
-and value for the next element of a hash, or the index and value for the
-next element of an array, so that you can iterate over it. When called in
-scalar context, returns only the key (not the value) in a hash, or the index
-in an array.
+=for Pod::Functions retrieve the next key/value pair from a hash
+
+When called on a hash in list context, returns a 2-element list
+consisting of the key and value for the next element of a hash. In Perl
+5.12 and later only, it will also return the index and value for the next
+element of an array so that you can iterate over it; older Perls consider
+this a syntax error. When called in scalar context, returns only the key
+(not the value) in a hash, or the index in an array.
Hash entries are returned in an apparently random order. The actual random
order is subject to change in future versions of Perl, but it is
@@ -1498,14 +1644,15 @@ for security reasons (see L<perlsec/"Algorithmic Complexity Attacks">).
After C<each> has returned all entries from the hash or array, the next
call to C<each> returns the empty list in list context and C<undef> in
-scalar context. The next call following that one restarts iteration. Each
-hash or array has its own internal iterator, accessed by C<each>, C<keys>,
-and C<values>. The iterator is implicitly reset when C<each> has reached
-the end as just described; it can be explicitly reset by calling C<keys> or
-C<values> on the hash or array. If you add or delete a hash's elements
-while iterating over it, entries may be skipped or duplicated--so don't do
-that. Exception: It is always safe to delete the item most recently
-returned by C<each()>, so the following code works properly:
+scalar context; the next call following I<that> one restarts iteration.
+Each hash or array has its own internal iterator, accessed by C<each>,
+C<keys>, and C<values>. The iterator is implicitly reset when C<each> has
+reached the end as just described; it can be explicitly reset by calling
+C<keys> or C<values> on the hash or array. If you add or delete a hash's
+elements while iterating over it, entries may be skipped or duplicated--so
+don't do that. Exception: In the current implementation, it is always safe
+to delete the item most recently returned by C<each()>, so the following
+code works properly:
while (($key, $value) = each %hash) {
print $key, "\n";
@@ -1526,6 +1673,14 @@ The exact behaviour may change in a future version of Perl.
while (($key,$value) = each $hashref) { ... }
+To avoid confusing would-be users of your code who are running earlier
+versions of Perl with mysterious syntax errors, put this sort of thing at
+the top of your file to signal that your code will work I<only> on Perls of
+a recent vintage:
+
+ use 5.012; # so keys/values/each work on arrays
+ use 5.014; # so keys/values/each work on scalars (experimental)
+
See also C<keys>, C<values>, and C<sort>.
=item eof FILEHANDLE
@@ -1537,6 +1692,8 @@ X<end-of-file>
=item eof
+=for Pod::Functions test a filehandle for its end
+
Returns 1 if the next read on FILEHANDLE will return end of file I<or> if
FILEHANDLE is not open. FILEHANDLE may be an expression whose value
gives the real filehandle. (Note that this function actually
@@ -1574,7 +1731,7 @@ of the very last file only. Examples:
print "--------------\n";
}
print;
- last if eof(); # needed if we're reading from a terminal
+ last if eof(); # needed if we're reading from a terminal
}
Practical hint: you almost never need to use C<eof> in Perl, because the
@@ -1589,15 +1746,31 @@ X<error, handling> X<exception, handling>
=item eval
+=for Pod::Functions catch exceptions or compile and run code
+
In the first form, the return value of EXPR is parsed and executed as if it
were a little Perl program. The value of the expression (which is itself
determined within scalar context) is first parsed, and if there were no
-errors, executed in the lexical context of the current Perl program, so
-that any variable settings or subroutine and format definitions remain
-afterwards. Note that the value is parsed every time the C<eval> executes.
+errors, executed as a block within the lexical context of the current Perl
+program. This means, that in particular, any outer lexical variables are
+visible to it, and any package variable settings or subroutine and format
+definitions remain afterwards.
+
+Note that the value is parsed every time the C<eval> executes.
If EXPR is omitted, evaluates C<$_>. This form is typically used to
delay parsing and subsequent execution of the text of EXPR until run time.
+If the C<unicode_eval> feature is enabled (which is the default under a
+C<use 5.16> or higher declaration), EXPR or C<$_> is treated as a string of
+characters, so C<use utf8> declarations have no effect, and source filters
+are forbidden. In the absence of the C<unicode_eval> feature, the string
+will sometimes be treated as characters and sometimes as bytes, depending
+on the internal encoding, and source filters activated within the C<eval>
+exhibit the erratic, but historical, behaviour of affecting some outer file
+scope that is still compiling. See also the L</evalbytes> keyword, which
+always treats its input as a byte stream and works properly with source
+filters, and the L<feature> pragma.
+
In the second form, the code within the BLOCK is parsed only once--at the
same time the code surrounding the C<eval> itself was parsed--and executed
within the context of the current Perl program. This form is typically
@@ -1617,12 +1790,12 @@ determined.
If there is a syntax error or runtime error, or a C<die> statement is
executed, C<eval> returns C<undef> in scalar context
-or an empty list--or, for syntax errors, a list containing a single
-undefined value--in list context, and C<$@> is set to the error
-message. The discrepancy in the return values in list context is
-considered a bug by some, and will probably be fixed in a future
-release. If there was no error, C<$@> is guaranteed to be the empty
-string. Beware that using C<eval> neither silences Perl from printing
+or an empty list in list context, and C<$@> is set to the error
+message. (Prior to 5.16, a bug caused C<undef> to be returned
+in list context for syntax errors, but not for runtime errors.)
+If there was no error, C<$@> is set to the empty string. A
+control flow operator like C<last> or C<goto> can bypass the setting of
+C<$@>. Beware that using C<eval> neither silences Perl from printing
warnings to STDERR, nor does it stuff the text of warning messages into C<$@>.
To do either of those, you have to use the C<$SIG{__WARN__}> facility, or
turn off warnings inside the BLOCK or EXPR using S<C<no warnings 'all'>>.
@@ -1635,7 +1808,7 @@ the die operator is used to raise exceptions.
If you want to trap errors when loading an XS module, some problems with
the binary interface (such as Perl version skew) may be fatal even with
-C<eval> unless C<$ENV{PERL_DL_NONLAZY}> is set. See L<perlrun>.
+C<eval> unless C<$ENV{PERL_DL_NONLAZY}> is set. See L<perlrun>.
If the code to be executed doesn't vary, you may use the eval-BLOCK
form to trap run-time errors without incurring the penalty of
@@ -1702,7 +1875,7 @@ particular situation, you can just use symbolic references instead, as
in case 6.
Before Perl 5.14, the assignment to C<$@> occurred before restoration
-of localised variables, which means that for your code to run on older
+of localized variables, which means that for your code to run on older
versions, a temporary is required if you want to mask some but not all
errors:
@@ -1723,24 +1896,43 @@ C<next>, C<last>, or C<redo> cannot be used to leave or restart the block.
An C<eval ''> executed within the C<DB> package doesn't see the usual
surrounding lexical scope, but rather the scope of the first non-DB piece
-of code that called it. You don't normally need to worry about this unless
+of code that called it. You don't normally need to worry about this unless
you are writing a Perl debugger.
+=item evalbytes EXPR
+X<evalbytes>
+
+=item evalbytes
+
+=for Pod::Functions +evalbytes similar to string eval, but intend to parse a bytestream
+
+This function is like L</eval> with a string argument, except it always
+parses its argument, or C<$_> if EXPR is omitted, as a string of bytes. A
+string containing characters whose ordinal value exceeds 255 results in an
+error. Source filters activated within the evaluated code apply to the
+code itself.
+
+This function is only available under the C<evalbytes> feature, a
+C<use v5.16> (or higher) declaration, or with a C<CORE::> prefix. See
+L<feature> for more information.
+
=item exec LIST
X<exec> X<execute>
=item exec PROGRAM LIST
+=for Pod::Functions abandon this program to run another
+
The C<exec> function executes a system command I<and never returns>;
use C<system> instead of C<exec> if you want it to return. It fails and
returns false only if the command does not exist I<and> it is executed
directly instead of via your system's command shell (see below).
Since it's a common mistake to use C<exec> instead of C<system>, Perl
-warns you if there is a following statement that isn't C<die>, C<warn>,
-or C<exit> (if C<-w> is set--but you always do that, right?). If you
-I<really> want to follow an C<exec> with some other statement, you
-can use one of these styles to avoid the warning:
+warns you if C<exec> is called in void context and if there is a following
+statement that isn't C<die>, C<warn>, or C<exit> (if C<-w> is set--but
+you always do that, right?). If you I<really> want to follow an C<exec>
+with some other statement, you can use one of these styles to avoid the warning:
exec ('foo') or print STDERR "couldn't exec foo: $!";
{ exec ('foo') }; print STDERR "couldn't exec foo: $!";
@@ -1802,9 +1994,13 @@ open handles to avoid lost output.
Note that C<exec> will not call your C<END> blocks, nor will it invoke
C<DESTROY> methods on your objects.
+Portability issues: L<perlport/exec>.
+
=item exists EXPR
X<exists> X<autovivification>
+=for Pod::Functions test whether a hash key is present
+
Given an expression that specifies an element of a hash, returns true if the
specified element in the hash has ever been initialized, even if the
corresponding value is undefined.
@@ -1847,7 +2043,7 @@ operation is a hash or array key lookup or subroutine name:
if (exists &{$ref->{A}{B}{$key}}) { }
-Although the mostly deeply nested array or hash will not spring into
+Although the most deeply nested array or hash element will not spring into
existence just because its existence was tested, any intervening ones will.
Thus C<< $ref->{"A"} >> and C<< $ref->{"A"}->{"B"} >> will spring
into existence due to the existence test for the $key element above.
@@ -1872,6 +2068,8 @@ X<exit> X<terminate> X<abort>
=item exit
+=for Pod::Functions terminate this program
+
Evaluates EXPR and exits immediately with that value. Example:
$ans = <STDIN>;
@@ -1892,21 +2090,77 @@ The exit() function does not always exit immediately. It calls any
defined C<END> routines first, but these C<END> routines may not
themselves abort the exit. Likewise any object destructors that need to
be called are called before the real exit. C<END> routines and destructors
-can change the exit status by modifying C<$?>. If this is a problem, you
-can call C<POSIX:_exit($status)> to avoid END and destructor processing.
+can change the exit status by modifying C<$?>. If this is a problem, you
+can call C<POSIX::_exit($status)> to avoid END and destructor processing.
See L<perlmod> for details.
+Portability issues: L<perlport/exit>.
+
=item exp EXPR
X<exp> X<exponential> X<antilog> X<antilogarithm> X<e>
=item exp
+=for Pod::Functions raise I<e> to a power
+
Returns I<e> (the natural logarithm base) to the power of EXPR.
If EXPR is omitted, gives C<exp($_)>.
+=item fc EXPR
+X<fc> X<foldcase> X<casefold> X<fold-case> X<case-fold>
+
+=item fc
+
+=for Pod::Functions +fc return casefolded version of a string
+
+Returns the casefolded version of EXPR. This is the internal function
+implementing the C<\F> escape in double-quoted strings.
+
+Casefolding is the process of mapping strings to a form where case
+differences are erased; comparing two strings in their casefolded
+form is effectively a way of asking if two strings are equal,
+regardless of case.
+
+Roughly, if you ever found yourself writing this
+
+ lc($this) eq lc($that) # Wrong!
+ # or
+ uc($this) eq uc($that) # Also wrong!
+ # or
+ $this =~ /\Q$that/i # Right!
+
+Now you can write
+
+ fc($this) eq fc($that)
+
+And get the correct results.
+
+Perl only implements the full form of casefolding.
+For further information on casefolding, refer to
+the Unicode Standard, specifically sections 3.13 C<Default Case Operations>,
+4.2 C<Case-Normative>, and 5.18 C<Case Mappings>,
+available at L<http://www.unicode.org/versions/latest/>, as well as the
+Case Charts available at L<http://www.unicode.org/charts/case/>.
+
+If EXPR is omitted, uses C<$_>.
+
+This function behaves the same way under various pragma, such as in a locale,
+as L</lc> does.
+
+While the Unicode Standard defines two additional forms of casefolding,
+one for Turkic languages and one that never maps one character into multiple
+characters, these are not provided by the Perl core; However, the CPAN module
+C<Unicode::Casing> may be used to provide an implementation.
+
+This keyword is available only when the C<"fc"> feature is enabled,
+or when prefixed with C<CORE::>; See L<feature>. Alternately,
+include a C<use v5.16> or later to the current scope.
+
=item fcntl FILEHANDLE,FUNCTION,SCALAR
X<fcntl>
+=for Pod::Functions file control system call
+
Implements the fcntl(2) function. You'll probably have to say
use Fcntl;
@@ -1941,9 +2195,20 @@ on your own, though.
$flags = fcntl(REMOTE, F_SETFL, $flags | O_NONBLOCK)
or die "Can't set flags for the socket: $!\n";
+Portability issues: L<perlport/fcntl>.
+
+=item __FILE__
+X<__FILE__>
+
+=for Pod::Functions the name of the current source file
+
+A special token that returns the name of the file in which it occurs.
+
=item fileno FILEHANDLE
X<fileno>
+=for Pod::Functions return file descriptor from filehandle
+
Returns the file descriptor for a filehandle, or undefined if the
filehandle is not open. If there is no real file descriptor at the OS
level, as can happen with filehandles connected to memory objects via
@@ -1964,6 +2229,8 @@ same underlying descriptor:
=item flock FILEHANDLE,OPERATION
X<flock> X<lock> X<locking>
+=for Pod::Functions lock an entire file with an advisory lock
+
Calls flock(2), or an emulation of it, on FILEHANDLE. Returns true
for success, false on failure. Produces a fatal error if used on a
machine that doesn't implement flock(2), fcntl(2) locking, or lockf(3).
@@ -2041,9 +2308,13 @@ function lose their locks, making it seriously harder to write servers.
See also L<DB_File> for other flock() examples.
+Portability issues: L<perlport/flock>.
+
=item fork
X<fork> X<child> X<parent>
+=for Pod::Functions create a new process just like this one
+
Does a fork(2) system call to create a new process running the
same program at the same point. It returns the child pid to the
parent process, C<0> to the child process, or C<undef> if the fork is
@@ -2070,9 +2341,20 @@ if you exit, then the remote server (such as, say, a CGI script or a
backgrounded job launched from a remote shell) won't think you're done.
You should reopen those to F</dev/null> if it's any issue.
+On some platforms such as Windows, where the fork() system call is not available,
+Perl can be built to emulate fork() in the Perl interpreter.
+The emulation is designed, at the level of the Perl program,
+to be as compatible as possible with the "Unix" fork().
+However it has limitations that have to be considered in code intended to be portable.
+See L<perlfork> for more details.
+
+Portability issues: L<perlport/fork>.
+
=item format
X<format>
+=for Pod::Functions declare a picture format with use by the write() function
+
Declare a picture format for use by the C<write> function. For
example:
@@ -2091,6 +2373,8 @@ See L<perlform> for many details and examples.
=item formline PICTURE,LIST
X<formline>
+=for Pod::Functions internal function used for formats
+
This is an internal function used by C<format>s, though you may call it,
too. It formats (see L<perlform>) a list of values according to the
contents of PICTURE, placing the output into the format output
@@ -2117,6 +2401,8 @@ X<getc> X<getchar> X<character> X<file, read>
=item getc
+=for Pod::Functions get the next character from the filehandle
+
Returns the next character from the input file attached to FILEHANDLE,
or the undefined value at end of file or if there was an error (in
the latter case C<$!> is set). If FILEHANDLE is omitted, reads from
@@ -2152,6 +2438,8 @@ L<perlmodlib/CPAN>.
=item getlogin
X<getlogin> X<login>
+=for Pod::Functions return who logged in at this tty
+
This implements the C library function of the same name, which on most
systems returns the current login from F</etc/utmp>, if any. If it
returns the empty string, use C<getpwuid>.
@@ -2161,9 +2449,13 @@ returns the empty string, use C<getpwuid>.
Do not consider C<getlogin> for authentication: it is not as
secure as C<getpwuid>.
+Portability issues: L<perlport/getlogin>.
+
=item getpeername SOCKET
X<getpeername> X<peer>
+=for Pod::Functions find the other end of a socket connection
+
Returns the packed sockaddr address of the other end of the SOCKET
connection.
@@ -2176,6 +2468,8 @@ connection.
=item getpgrp PID
X<getpgrp> X<group>
+=for Pod::Functions get process group
+
Returns the current process group for the specified PID. Use
a PID of C<0> to get the current process group for the
current process. Will raise an exception if used on a machine that
@@ -2183,25 +2477,34 @@ doesn't implement getpgrp(2). If PID is omitted, returns the process
group of the current process. Note that the POSIX version of C<getpgrp>
does not accept a PID argument, so only C<PID==0> is truly portable.
+Portability issues: L<perlport/getpgrp>.
+
=item getppid
X<getppid> X<parent> X<pid>
+=for Pod::Functions get parent process ID
+
Returns the process id of the parent process.
-Note for Linux users: on Linux, the C functions C<getpid()> and
-C<getppid()> return different values from different threads. In order to
-be portable, this behavior is not reflected by the Perl-level function
-C<getppid()>, that returns a consistent value across threads. If you want
-to call the underlying C<getppid()>, you may use the CPAN module
-C<Linux::Pid>.
+Note for Linux users: Between v5.8.1 and v5.16.0 Perl would work
+around non-POSIX thread semantics the minority of Linux systems (and
+Debian GNU/kFreeBSD systems) that used LinuxThreads, this emulation
+has since been removed. See the documentation for L<$$|perlvar/$$> for
+details.
+
+Portability issues: L<perlport/getppid>.
=item getpriority WHICH,WHO
X<getpriority> X<priority> X<nice>
+=for Pod::Functions get current nice value
+
Returns the current priority for a process, a process group, or a user.
-(See C<getpriority(2)>.) Will raise a fatal exception if used on a
+(See L<getpriority(2)>.) Will raise a fatal exception if used on a
machine that doesn't implement getpriority(2).
+Portability issues: L<perlport/getpriority>.
+
=item getpwnam NAME
X<getpwnam> X<getgrnam> X<gethostbyname> X<getnetbyname> X<getprotobyname>
X<getpwuid> X<getgrgid> X<getservbyname> X<gethostbyaddr> X<getnetbyaddr>
@@ -2210,64 +2513,124 @@ X<getnetent> X<getprotoent> X<getservent> X<setpwent> X<setgrent> X<sethostent>
X<setnetent> X<setprotoent> X<setservent> X<endpwent> X<endgrent> X<endhostent>
X<endnetent> X<endprotoent> X<endservent>
+=for Pod::Functions get passwd record given user login name
+
=item getgrnam NAME
+=for Pod::Functions get group record given group name
+
=item gethostbyname NAME
+=for Pod::Functions get host record given name
+
=item getnetbyname NAME
+=for Pod::Functions get networks record given name
+
=item getprotobyname NAME
+=for Pod::Functions get protocol record given name
+
=item getpwuid UID
+=for Pod::Functions get passwd record given user ID
+
=item getgrgid GID
+=for Pod::Functions get group record given group user ID
+
=item getservbyname NAME,PROTO
+=for Pod::Functions get services record given its name
+
=item gethostbyaddr ADDR,ADDRTYPE
+=for Pod::Functions get host record given its address
+
=item getnetbyaddr ADDR,ADDRTYPE
+=for Pod::Functions get network record given its address
+
=item getprotobynumber NUMBER
+=for Pod::Functions get protocol record numeric protocol
+
=item getservbyport PORT,PROTO
+=for Pod::Functions get services record given numeric port
+
=item getpwent
+=for Pod::Functions get next passwd record
+
=item getgrent
+=for Pod::Functions get next group record
+
=item gethostent
+=for Pod::Functions get next hosts record
+
=item getnetent
+=for Pod::Functions get next networks record
+
=item getprotoent
+=for Pod::Functions get next protocols record
+
=item getservent
+=for Pod::Functions get next services record
+
=item setpwent
+=for Pod::Functions prepare passwd file for use
+
=item setgrent
+=for Pod::Functions prepare group file for use
+
=item sethostent STAYOPEN
+=for Pod::Functions prepare hosts file for use
+
=item setnetent STAYOPEN
+=for Pod::Functions prepare networks file for use
+
=item setprotoent STAYOPEN
+=for Pod::Functions prepare protocols file for use
+
=item setservent STAYOPEN
+=for Pod::Functions prepare services file for use
+
=item endpwent
+=for Pod::Functions be done using passwd file
+
=item endgrent
+=for Pod::Functions be done using group file
+
=item endhostent
+=for Pod::Functions be done using hosts file
+
=item endnetent
+=for Pod::Functions be done using networks file
+
=item endprotoent
+=for Pod::Functions be done using protocols file
+
=item endservent
+=for Pod::Functions be done using services file
+
These routines are the same as their counterparts in the
system C library. In list context, the return values from the
various get routines are as follows:
@@ -2354,9 +2717,16 @@ you can write this:
$ip_address = inet_ntoa($packed_ip);
}
-Make sure <gethostbyname()> is called in SCALAR context and that
+Make sure C<gethostbyname()> is called in SCALAR context and that
its return value is checked for definedness.
+The C<getprotobynumber> function, even though it only takes one argument,
+has the precedence of a list operator, so beware:
+
+ getprotobynumber $number eq 'icmp' # WRONG
+ getprotobynumber($number eq 'icmp') # actually means this
+ getprotobynumber($number) eq 'icmp' # better this way
+
If you get tired of remembering which element of the return list
contains which return value, by-name interfaces are provided
in standard modules: C<File::stat>, C<Net::hostent>, C<Net::netent>,
@@ -2373,9 +2743,13 @@ Even though it looks as though they're the same method calls (uid),
they aren't, because a C<File::stat> object is different from
a C<User::pwent> object.
+Portability issues: L<perlport/getpwnam> to L<perlport/endservent>.
+
=item getsockname SOCKET
X<getsockname>
+=for Pod::Functions retrieve the sockaddr for a given socket
+
Returns the packed sockaddr address of this end of the SOCKET connection,
in case you don't know the address because you have several different
IPs that the connection might have come in on.
@@ -2390,18 +2764,20 @@ IPs that the connection might have come in on.
=item getsockopt SOCKET,LEVEL,OPTNAME
X<getsockopt>
+=for Pod::Functions get socket options on a given socket
+
Queries the option named OPTNAME associated with SOCKET at a given LEVEL.
Options may exist at multiple protocol levels depending on the socket
type, but at least the uppermost socket level SOL_SOCKET (defined in the
-C<Socket> module) will exist. To query options at another level the
+C<Socket> module) will exist. To query options at another level the
protocol number of the appropriate protocol controlling the option
-should be supplied. For example, to indicate that an option is to be
+should be supplied. For example, to indicate that an option is to be
interpreted by the TCP protocol, LEVEL should be set to the protocol
number of TCP, which you can get using C<getprotobyname>.
The function returns a packed string representing the requested socket
option, or C<undef> on error, with the reason for the error placed in
-C<$!>. Just what is in the packed string depends on LEVEL and OPTNAME;
+C<$!>. Just what is in the packed string depends on LEVEL and OPTNAME;
consult getsockopt(2) for details. A common case is that the option is an
integer, in which case the result is a packed integer, which you can decode
using C<unpack> with the C<i> (or C<I>) format.
@@ -2418,41 +2794,20 @@ Here's an example to test whether Nagle's algorithm is enabled on a socket:
my $nodelay = unpack("I", $packed);
print "Nagle's algorithm is turned ", $nodelay ? "off\n" : "on\n";
-
-=item given EXPR BLOCK
-X<given>
-
-=item given BLOCK
-
-C<given> is analogous to the C<switch> keyword in other languages. C<given>
-and C<when> are used in Perl to implement C<switch>/C<case> like statements.
-Only available after Perl 5.10. For example:
-
- use v5.10;
- given ($fruit) {
- when (/apples?/) {
- print "I like apples."
- }
- when (/oranges?/) {
- print "I don't like oranges."
- }
- default {
- print "I don't like anything"
- }
- }
-
-See L<perlsyn/"Switch statements"> for detailed information.
+Portability issues: L<perlport/getsockopt>.
=item glob EXPR
X<glob> X<wildcard> X<filename, expansion> X<expand>
=item glob
+=for Pod::Functions expand filenames using wildcards
+
In list context, returns a (possibly empty) list of filename expansions on
-the value of EXPR such as the standard Unix shell F</bin/csh> would do. In
+the value of EXPR such as the standard Unix shell F</bin/csh> would do. In
scalar context, glob iterates through such filename expansions, returning
-undef when the list is exhausted. This is the internal function
-implementing the C<< <*.c> >> operator, but you can use it directly. If
+undef when the list is exhausted. This is the internal function
+implementing the C<< <*.c> >> operator, but you can use it directly. If
EXPR is omitted, C<$_> is used. The C<< <*.c> >> operator is discussed in
more detail in L<perlop/"I/O Operators">.
@@ -2460,6 +2815,19 @@ Note that C<glob> splits its arguments on whitespace and treats
each segment as separate pattern. As such, C<glob("*.c *.h")>
matches all files with a F<.c> or F<.h> extension. The expression
C<glob(".* *")> matches all files in the current working directory.
+If you want to glob filenames that might contain whitespace, you'll
+have to use extra quotes around the spacey filename to protect it.
+For example, to glob filenames that have an C<e> followed by a space
+followed by an C<f>, use either of:
+
+ @spacies = <"*e f*">;
+ @spacies = glob '"*e f*"';
+ @spacies = glob q("*e f*");
+
+If you had to get a variable through, you could do this:
+
+ @spacies = glob "'*${var}e f*'";
+ @spacies = glob qq("*${var}e f*");
If non-empty braces are the only wildcard characters used in the
C<glob>, no filenames are matched, but potentially many strings
@@ -2472,19 +2840,23 @@ Beginning with v5.6.0, this operator is implemented using the standard
C<File::Glob> extension. See L<File::Glob> for details, including
C<bsd_glob> which does not treat whitespace as a pattern separator.
+Portability issues: L<perlport/glob>.
+
=item gmtime EXPR
X<gmtime> X<UTC> X<Greenwich>
=item gmtime
-Works just like L<localtime> but the returned values are
+=for Pod::Functions convert UNIX time into record or string using Greenwich time
+
+Works just like L</localtime> but the returned values are
localized for the standard Greenwich time zone.
Note: When called in list context, $isdst, the last value
returned by gmtime, is always C<0>. There is no
Daylight Saving Time in GMT.
-See L<perlport/gmtime> for portability concerns.
+Portability issues: L<perlport/gmtime>.
=item goto LABEL
X<goto> X<jump> X<jmp>
@@ -2493,8 +2865,10 @@ X<goto> X<jump> X<jmp>
=item goto &NAME
+=for Pod::Functions create spaghetti code
+
The C<goto-LABEL> form finds the statement labeled with LABEL and
-resumes execution there. It can't be used to get out of a block or
+resumes execution there. It can't be used to get out of a block or
subroutine given to C<sort>. It can be used to go almost anywhere
else within the dynamic scope, including out of subroutines, but it's
usually better to use some other construct such as C<last> or C<die>.
@@ -2510,8 +2884,8 @@ necessarily recommended if you're optimizing for maintainability:
goto ("FOO", "BAR", "GLARCH")[$i];
As shown in this example, C<goto-EXPR> is exempt from the "looks like a
-function" rule. A pair of parentheses following it does not (necessarily)
-delimit its argument. C<goto("NE")."XT"> is equivalent to C<goto NEXT>.
+function" rule. A pair of parentheses following it does not (necessarily)
+delimit its argument. C<goto("NE")."XT"> is equivalent to C<goto NEXT>.
Use of C<goto-LABEL> or C<goto-EXPR> to jump into a construct is
deprecated and will issue a warning. Even then, it may not be used to
@@ -2540,6 +2914,8 @@ X<grep>
=item grep EXPR,LIST
+=for Pod::Functions locate elements in a list test true against a given criterion
+
This is similar in spirit to, but not the same as, grep(1) and its
relatives. In particular, it is not limited to using regular expressions.
@@ -2575,6 +2951,8 @@ X<hex> X<hexadecimal>
=item hex
+=for Pod::Functions convert a string to a hexadecimal number
+
Interprets EXPR as a hex string and returns the corresponding value.
(To convert strings that might start with either C<0>, C<0x>, or C<0b>, see
L</oct>.) If EXPR is omitted, uses C<$_>.
@@ -2584,12 +2962,14 @@ L</oct>.) If EXPR is omitted, uses C<$_>.
Hex strings may only represent integers. Strings that would cause
integer overflow trigger a warning. Leading whitespace is not stripped,
-unlike oct(). To present something as hex, look into L</printf>,
+unlike oct(). To present something as hex, look into L</printf>,
L</sprintf>, and L</unpack>.
=item import LIST
X<import>
+=for Pod::Functions patch a module's namespace into your own
+
There is no builtin C<import> function. It is just an ordinary
method (subroutine) defined (or inherited) by modules that wish to export
names to another module. The C<use> function calls the C<import> method
@@ -2600,21 +2980,24 @@ X<index> X<indexOf> X<InStr>
=item index STR,SUBSTR
+=for Pod::Functions find a substring within a string
+
The index function searches for one string within another, but without
the wildcard-like behavior of a full regular-expression pattern match.
It returns the position of the first occurrence of SUBSTR in STR at
or after POSITION. If POSITION is omitted, starts searching from the
beginning of the string. POSITION before the beginning of the string
or after its end is treated as if it were the beginning or the end,
-respectively. POSITION and the return value are based at C<0> (or whatever
-you've set the C<$[> variable to--but don't do that). If the substring
-is not found, C<index> returns one less than the base, ordinarily C<-1>.
+respectively. POSITION and the return value are based at zero.
+If the substring is not found, C<index> returns -1.
=item int EXPR
X<int> X<integer> X<truncate> X<trunc> X<floor>
=item int
+=for Pod::Functions get the integer portion of a number
+
Returns the integer portion of EXPR. If EXPR is omitted, uses C<$_>.
You should not use this function for rounding: one because it truncates
towards C<0>, and two because machine representations of floating-point
@@ -2627,6 +3010,8 @@ functions will serve you better than will int().
=item ioctl FILEHANDLE,FUNCTION,SCALAR
X<ioctl>
+=for Pod::Functions system-dependent device control system call
+
Implements the ioctl(2) function. You'll probably first have to say
require "sys/ioctl.ph"; # probably in $Config{archlib}/sys/ioctl.ph
@@ -2661,9 +3046,13 @@ system:
The special string C<"0 but true"> is exempt from B<-w> complaints
about improper numeric conversions.
+Portability issues: L<perlport/ioctl>.
+
=item join EXPR,LIST
X<join>
+=for Pod::Functions join a list into a string using a separator
+
Joins the separate strings of LIST into a single string with fields
separated by the value of EXPR, and returns that new string. Example:
@@ -2679,8 +3068,12 @@ X<keys> X<key>
=item keys EXPR
-Returns a list consisting of all the keys of the named hash, or the indices
-of an array. (In scalar context, returns the number of keys or indices.)
+=for Pod::Functions retrieve list of indices from a hash
+
+Called in list context, returns a list consisting of all the keys of the
+named hash, or in Perl 5.12 or later only, the indices of an array. Perl
+releases prior to 5.12 will produce a syntax error if you try to use an
+array argument. In scalar context, returns the number of keys or indices.
The keys of a hash are returned in an apparently random order. The actual
random order is subject to change in future versions of Perl, but it
@@ -2731,7 +3124,7 @@ buckets will be retained even if you do C<%hash = ()>, use C<undef
%hash> if you want to free the storage while C<%hash> is still in scope.
You can't shrink the number of buckets allocated for the hash using
C<keys> in this way (but you needn't worry about doing this by accident,
-as trying has no effect). C<keys @array> in an lvalue context is a syntax
+as trying has no effect). C<keys @array> in an lvalue context is a syntax
error.
Starting with Perl 5.14, C<keys> can take a scalar EXPR, which must contain
@@ -2742,11 +3135,23 @@ experimental. The exact behaviour may change in a future version of Perl.
for (keys $hashref) { ... }
for (keys $obj->get_arrayref) { ... }
+To avoid confusing would-be users of your code who are running earlier
+versions of Perl with mysterious syntax errors, put this sort of thing at
+the top of your file to signal that your code will work I<only> on Perls of
+a recent vintage:
+
+ use 5.012; # so keys/values/each work on arrays
+ use 5.014; # so keys/values/each work on scalars (experimental)
+
See also C<each>, C<values>, and C<sort>.
=item kill SIGNAL, LIST
+
+=item kill SIGNAL
X<kill> X<signal>
+=for Pod::Functions send a signal to a process or process group
+
Sends a signal to a list of processes. Returns the number of
processes successfully signaled (which is not necessarily the
same as the number actually killed).
@@ -2762,7 +3167,8 @@ alive (even if only as a zombie) and hasn't changed its UID. See
L<perlport> for notes on the portability of this construct.
Unlike in the shell, if SIGNAL is negative, it kills process groups instead
-of processes. That means you usually want to use positive not negative signals.
+of processes. That means you usually
+want to use positive not negative signals.
You may also use a signal name in quotes.
The behavior of kill when a I<PROCESS> number is zero or negative depends on
@@ -2771,11 +3177,27 @@ signal the current process group and -1 will signal all processes.
See L<perlipc/"Signals"> for more details.
+On some platforms such as Windows where the fork() system call is not available.
+Perl can be built to emulate fork() at the interpreter level.
+This emulation has limitations related to kill that have to be considered,
+for code running on Windows and in code intended to be portable.
+
+See L<perlfork> for more details.
+
+If there is no I<LIST> of processes, no signal is sent, and the return
+value is 0. This form is sometimes used, however, because it causes
+tainting checks to be run. But see
+L<perlsec/Laundering and Detecting Tainted Data>.
+
+Portability issues: L<perlport/kill>.
+
=item last LABEL
X<last> X<break>
=item last
+=for Pod::Functions exit a block prematurely
+
The C<last> command is like the C<break> statement in C (as used in
loops); it immediately exits the loop in question. If the LABEL is
omitted, the command refers to the innermost enclosing loop. The
@@ -2802,6 +3224,8 @@ X<lc> X<lowercase>
=item lc
+=for Pod::Functions return lower-case version of a string
+
Returns a lowercased version of EXPR. This is the internal function
implementing the C<\L> escape in double-quoted strings.
@@ -2826,21 +3250,29 @@ respectively.
=back
-=item Otherwise, If EXPR has the UTF8 flag set
+=item Otherwise, if C<use locale> (but not C<use locale ':not_characters'>) is in effect:
-If the current package has a subroutine named C<ToLower>, it will be used to
-change the case
-(See L<perlunicode/"User-Defined Case Mappings (for serious hackers only)">.)
-Otherwise Unicode semantics are used for the case change.
+Respects current LC_CTYPE locale for code points < 256; and uses Unicode
+semantics for the remaining code points (this last can only happen if
+the UTF8 flag is also set). See L<perllocale>.
-=item Otherwise, if C<use locale> is in effect
+A deficiency in this is that case changes that cross the 255/256
+boundary are not well-defined. For example, the lower case of LATIN CAPITAL
+LETTER SHARP S (U+1E9E) in Unicode semantics is U+00DF (on ASCII
+platforms). But under C<use locale>, the lower case of U+1E9E is
+itself, because 0xDF may not be LATIN SMALL LETTER SHARP S in the
+current locale, and Perl has no way of knowing if that character even
+exists in the locale, much less what code point it is. Perl returns
+the input character unchanged, for all instances (and there aren't
+many) where the 255/256 boundary would otherwise be crossed.
-Respects current LC_CTYPE locale. See L<perllocale>.
+=item Otherwise, If EXPR has the UTF8 flag set:
-=item Otherwise, if C<use feature 'unicode_strings'> is in effect:
+Unicode semantics are used for the case change.
-Unicode semantics are used for the case change. Any subroutine named
-C<ToLower> will be ignored.
+=item Otherwise, if C<use feature 'unicode_strings'> or C<use locale ':not_characters'>) is in effect:
+
+Unicode semantics are used for the case change.
=item Otherwise:
@@ -2864,6 +3296,8 @@ X<lcfirst> X<lowercase>
=item lcfirst
+=for Pod::Functions return a string with just the next letter in lower case
+
Returns the value of EXPR with the first character lowercased. This
is the internal function implementing the C<\l> escape in
double-quoted strings.
@@ -2878,6 +3312,8 @@ X<length> X<size>
=item length
+=for Pod::Functions return the number of bytes in a string
+
Returns the length in I<characters> of the value of EXPR. If EXPR is
omitted, returns the length of C<$_>. If EXPR is undefined, returns
C<undef>.
@@ -2891,15 +3327,28 @@ characters, not physical bytes. For how many bytes a string encoded as
UTF-8 would take up, use C<length(Encode::encode_utf8(EXPR))> (you'll have
to C<use Encode> first). See L<Encode> and L<perlunicode>.
+=item __LINE__
+X<__LINE__>
+
+=for Pod::Functions the current source line number
+
+A special token that compiles to the current line number.
+
=item link OLDFILE,NEWFILE
X<link>
+=for Pod::Functions create a hard link in the filesystem
+
Creates a new filename linked to the old filename. Returns true for
success, false otherwise.
+Portability issues: L<perlport/link>.
+
=item listen SOCKET,QUEUESIZE
X<listen>
+=for Pod::Functions register your socket as a server
+
Does the same thing that the listen(2) system call does. Returns true if
it succeeded, false otherwise. See the example in
L<perlipc/"Sockets: Client/Server Communication">.
@@ -2907,6 +3356,8 @@ L<perlipc/"Sockets: Client/Server Communication">.
=item local EXPR
X<local>
+=for Pod::Functions create a temporary value for a global variable (dynamic scoping)
+
You really probably want to be using C<my> instead, because C<local> isn't
what most people think of as "local". See
L<perlsub/"Private Variables via my()"> for details.
@@ -2925,6 +3376,8 @@ X<localtime> X<ctime>
=item localtime
+=for Pod::Functions convert UNIX time into record or string using local time
+
Converts a time as returned by the time function to a 9-element list
with the time analyzed for the local time zone. Typically used as
follows:
@@ -2945,15 +3398,11 @@ This makes it easy to get a month name from a list:
print "$abbr[$mon] $mday";
# $mon=9, $mday=18 gives "Oct 18"
-C<$year> is the number of years since 1900, B<not> just the last two digits
-of the year. That is, C<$year> is C<123> in year 2023. The proper way
-to get a 4-digit year is simply:
+C<$year> contains the number of years since 1900. To get a 4-digit
+year write:
$year += 1900;
-Otherwise you create non-Y2K-compliant programs--and you wouldn't want
-to do that, would you?
-
To get the last two digits of the year (e.g., "01" in 2001) do:
$year = sprintf("%02d", $year % 100);
@@ -2972,8 +3421,9 @@ In scalar context, C<localtime()> returns the ctime(3) value:
$now_string = localtime; # e.g., "Thu Oct 13 04:54:34 1994"
-This scalar value is B<not> locale-dependent but is a Perl builtin. For GMT
-instead of local time use the L</gmtime> builtin. See also the
+The format of this scalar value is B<not> locale-dependent
+but built into Perl. For GMT instead of local
+time use the L</gmtime> builtin. See also the
C<Time::Local> module (for converting seconds, minutes, hours, and such back to
the integer value returned by time()), and the L<POSIX> module's strftime(3)
and mktime(3) functions.
@@ -2990,8 +3440,6 @@ try for example:
Note that the C<%a> and C<%b>, the short forms of the day of the week
and the month of the year, may not necessarily be three characters wide.
-See L<perlport/localtime> for portability concerns.
-
The L<Time::gmtime> and L<Time::localtime> modules provide a convenient,
by-name access mechanism to the gmtime() and localtime() functions,
respectively.
@@ -2999,12 +3447,19 @@ respectively.
For a comprehensive date and time representation look at the
L<DateTime> module on CPAN.
+Portability issues: L<perlport/localtime>.
+
=item lock THING
X<lock>
+=for Pod::Functions +5.005 get a thread lock on a variable, subroutine, or method
+
This function places an advisory lock on a shared variable or referenced
object contained in I<THING> until the lock goes out of scope.
+The value returned is the scalar itself, if the argument is a scalar, or a
+reference, if the argument is a hash, array or subroutine.
+
lock() is a "weak keyword" : this means that if you've defined a function
by this name (before any calls to it), that function will be called
instead. If you are not under C<use threads::shared> this does nothing.
@@ -3015,6 +3470,8 @@ X<log> X<logarithm> X<e> X<ln> X<base>
=item log
+=for Pod::Functions retrieve the natural logarithm for a number
+
Returns the natural logarithm (base I<e>) of EXPR. If EXPR is omitted,
returns the log of C<$_>. To get the
log of another base, use basic algebra:
@@ -3028,11 +3485,17 @@ divided by the natural log of N. For example:
See also L</exp> for the inverse operation.
-=item lstat EXPR
+=item lstat FILEHANDLE
X<lstat>
+=item lstat EXPR
+
+=item lstat DIRHANDLE
+
=item lstat
+=for Pod::Functions stat a symbolic link
+
Does the same thing as the C<stat> function (including setting the
special C<_> filehandle) but stats a symbolic link instead of the file
the symbolic link points to. If symbolic links are unimplemented on
@@ -3041,8 +3504,12 @@ information, please see the documentation for C<stat>.
If EXPR is omitted, stats C<$_>.
+Portability issues: L<perlport/lstat>.
+
=item m//
+=for Pod::Functions match a string with a regular expression pattern
+
The match operator. See L<perlop/"Regexp Quote-Like Operators">.
=item map BLOCK LIST
@@ -3050,6 +3517,8 @@ X<map>
=item map EXPR,LIST
+=for Pod::Functions apply a change to a list to get back a new list with the changes
+
Evaluates the BLOCK or EXPR for each element of LIST (locally setting
C<$_> to each element) and returns the list value composed of the
results of each such evaluation. In scalar context, returns the
@@ -3068,7 +3537,7 @@ translates a list of numbers to their squared values.
my @squares = map { $_ > 5 ? ($_ * $_) : () } @numbers;
shows that number of returned elements can differ from the number of
-input elements. To omit an element, return an empty list ().
+input elements. To omit an element, return an empty list ().
This could also be achieved by writing
my @squares = map { $_ * $_ } grep { $_ > 5 } @numbers;
@@ -3077,7 +3546,7 @@ which makes the intention more clear.
Map always returns a list, which can be
assigned to a hash such that the elements
-become key/value pairs. See L<perldata> for more details.
+become key/value pairs. See L<perldata> for more details.
%hash = map { get_a_key_for($_) => $_ } @array;
@@ -3101,11 +3570,12 @@ the list elements, C<$_> keeps being lexical inside the block; that is, it
can't be seen from the outside, avoiding any potential side-effects.
C<{> starts both hash references and blocks, so C<map { ...> could be either
-the start of map BLOCK LIST or map EXPR, LIST. Because Perl doesn't look
+the start of map BLOCK LIST or map EXPR, LIST. Because Perl doesn't look
ahead for the closing C<}> it has to take a guess at which it's dealing with
-based on what it finds just after the C<{>. Usually it gets it right, but if it
+based on what it finds just after the
+C<{>. Usually it gets it right, but if it
doesn't it won't realize something is wrong until it gets to the C<}> and
-encounters the missing (or unexpected) comma. The syntax error will be
+encounters the missing (or unexpected) comma. The syntax error will be
reported close to the C<}>, but you'll need to change something near the C<{>
such as using a unary C<+> to give Perl some help:
@@ -3130,6 +3600,8 @@ X<mkdir> X<md> X<directory, create>
=item mkdir
+=for Pod::Functions create a directory
+
Creates the directory specified by FILENAME, with permissions
specified by MASK (as modified by C<umask>). If it succeeds it
returns true; otherwise it returns false and sets C<$!> (errno).
@@ -3154,6 +3626,8 @@ the C<mkpath> function of the L<File::Path> module.
=item msgctl ID,CMD,ARG
X<msgctl>
+=for Pod::Functions SysV IPC message control operations
+
Calls the System V IPC function msgctl(2). You'll probably have to say
use IPC::SysV;
@@ -3165,17 +3639,25 @@ C<"0 but true"> for zero, or the actual return value otherwise. See also
L<perlipc/"SysV IPC"> and the documentation for C<IPC::SysV> and
C<IPC::Semaphore>.
+Portability issues: L<perlport/msgctl>.
+
=item msgget KEY,FLAGS
X<msgget>
+=for Pod::Functions get SysV IPC message queue
+
Calls the System V IPC function msgget(2). Returns the message queue
id, or C<undef> on error. See also
L<perlipc/"SysV IPC"> and the documentation for C<IPC::SysV> and
C<IPC::Msg>.
+Portability issues: L<perlport/msgget>.
+
=item msgrcv ID,VAR,SIZE,TYPE,FLAGS
X<msgrcv>
+=for Pod::Functions receive a SysV IPC message from a message queue
+
Calls the System V IPC function msgrcv to receive a message from
message queue ID into variable VAR with a maximum message size of
SIZE. Note that when a message is received, the message type as a
@@ -3185,9 +3667,13 @@ Taints the variable. Returns true if successful, false
on error. See also L<perlipc/"SysV IPC"> and the documentation for
C<IPC::SysV> and C<IPC::SysV::Msg>.
+Portability issues: L<perlport/msgrcv>.
+
=item msgsnd ID,MSG,FLAGS
X<msgsnd>
+=for Pod::Functions send a SysV IPC message to a message queue
+
Calls the System V IPC function msgsnd to send the message MSG to the
message queue ID. MSG must begin with the native long integer message
type, be followed by the length of the actual message, and then finally
@@ -3196,6 +3682,8 @@ C<pack("l! a*", $type, $message)>. Returns true if successful,
false on error. See also the C<IPC::SysV>
and C<IPC::SysV::Msg> documentation.
+Portability issues: L<perlport/msgsnd>.
+
=item my EXPR
X<my>
@@ -3205,6 +3693,8 @@ X<my>
=item my TYPE EXPR : ATTRS
+=for Pod::Functions declare and assign a local variable (lexical scoping)
+
A C<my> declares the listed variables to be local (lexically) to the
enclosing block, file, or C<eval>. If more than one value is listed,
the list must be placed in parentheses.
@@ -3221,6 +3711,8 @@ X<next> X<continue>
=item next
+=for Pod::Functions iterate a block prematurely
+
The C<next> command is like the C<continue> statement in C; it starts
the next iteration of the loop:
@@ -3255,6 +3747,8 @@ X<unimporting>
=item no VERSION
+=for Pod::Functions unimport some module symbols or semantics at compile time
+
See the C<use> function, of which C<no> is the opposite.
=item oct EXPR
@@ -3262,6 +3756,8 @@ X<oct> X<octal> X<hex> X<hexadecimal> X<binary> X<bin>
=item oct
+=for Pod::Functions convert a string to an octal number
+
Interprets EXPR as an octal string and returns the corresponding
value. (If EXPR happens to start off with C<0x>, interprets it as a
hex string. If EXPR starts off with C<0b>, it is interpreted as a
@@ -3297,6 +3793,8 @@ X<open> X<pipe> X<file, open> X<fopen>
=item open FILEHANDLE
+=for Pod::Functions open a file, pipe, or descriptor
+
Opens the file whose filename is given by EXPR, and associates it with
FILEHANDLE.
@@ -3337,7 +3835,7 @@ created if necessary.
You can put a C<+> in front of the C<< > >> or C<< < >> to
indicate that you want both read and write access to the file; thus
C<< +< >> is almost always preferred for read/write updates--the
-C<< +> >> mode would clobber the file first. You cant usually use
+C<< +> >> mode would clobber the file first. You can't usually use
either read-write mode for updating textfiles, since they have
variable-length records. See the B<-i> switch in L<perlrun> for a
better approach. The file is created with permissions of C<0666>
@@ -3376,15 +3874,18 @@ or C<-> opens STDIN and opening C<< >- >> opens STDOUT.
You may (and usually should) use the three-argument form of open to specify
I/O layers (sometimes referred to as "disciplines") to apply to the handle
that affect how the input and output are processed (see L<open> and
-L<PerlIO> for more details). For example:
+L<PerlIO> for more details). For example:
open(my $fh, "<:encoding(UTF-8)", "filename")
|| die "can't open UTF-8 encoded filename: $!";
opens the UTF8-encoded file containing Unicode characters;
-see L<perluniintro>. Note that if layers are specified in the
+see L<perluniintro>. Note that if layers are specified in the
three-argument form, then default layers stored in ${^OPEN} (see L<perlvar>;
usually set by the B<open> pragma or the switch B<-CioD>) are ignored.
+Those layers will also be ignored if you specifying a colon with no name
+following it. In that case the default layer for the operating system
+(:raw on Unix, :crlf on Windows) is used.
Open returns nonzero on success, the undefined value otherwise. If
the C<open> involved a pipe, the return value happens to be the pid of
@@ -3489,7 +3990,8 @@ duped (as C<dup(2)>) and opened. You may use C<&> after C<< > >>,
C<<< >> >>>, C<< < >>, C<< +> >>, C<<< +>> >>>, and C<< +< >>.
The mode you specify should match the mode of the original filehandle.
(Duping a filehandle does not take into account any existing contents
-of IO buffers.) If you use the three-argument form, then you can pass either a
+of IO buffers.) If you use the three-argument
+form, then you can pass either a
number, the name of a filehandle, or the normal "reference to a glob".
Here is a script that saves, redirects, and restores C<STDOUT> and
@@ -3561,7 +4063,7 @@ Use C<defined($pid)> or C<//> to determine whether the open was successful.
For example, use either
- $child_pid = open(FROM_KID, "|-") // die "can't fork: $!";
+ $child_pid = open(FROM_KID, "-|") // die "can't fork: $!";
or
$child_pid = open(TO_KID, "|-") // die "can't fork: $!";
@@ -3661,7 +4163,7 @@ but will not work on a filename that happens to have a trailing space, while
will have exactly the opposite restrictions.
-If you want a "real" C C<open> (see C<open(2)> on your system), then you
+If you want a "real" C C<open> (see L<open(2)> on your system), then you
should use the C<sysopen> function, which involves no such magic (but may
use subtly different filemodes than Perl open(), which is mapped to C
fopen()). This is another way to protect your filenames from
@@ -3705,9 +4207,13 @@ yourself and inspect the return value.
See L</seek> for some details about mixing reading and writing.
+Portability issues: L<perlport/open>.
+
=item opendir DIRHANDLE,EXPR
X<opendir>
+=for Pod::Functions open a directory
+
Opens a directory named EXPR for processing by C<readdir>, C<telldir>,
C<seekdir>, C<rewinddir>, and C<closedir>. Returns true if successful.
DIRHANDLE may be an expression whose value can be used as an indirect
@@ -3723,8 +4229,9 @@ X<ord> X<encoding>
=item ord
-Returns the numeric (the native 8-bit encoding, like ASCII or EBCDIC,
-or Unicode) value of the first character of EXPR.
+=for Pod::Functions find a character's numeric representation
+
+Returns the numeric value of the first character of EXPR.
If EXPR is an empty string, returns 0. If EXPR is omitted, uses C<$_>.
(Note I<character>, not byte.)
@@ -3740,6 +4247,8 @@ X<our> X<global>
=item our TYPE EXPR : ATTRS
+=for Pod::Functions +5.6.0 declare and assign a package variable (lexical scoping)
+
C<our> associates a simple name with a package variable in the current
package for use within the current scope. When C<use strict 'vars'> is in
effect, C<our> lets you use declared global variables without qualifying
@@ -3796,15 +4305,17 @@ An C<our> declaration may also have a list of attributes associated
with it.
The exact semantics and interface of TYPE and ATTRS are still
-evolving. TYPE is currently bound to the use of C<fields> pragma,
-and attributes are handled using the C<attributes> pragma, or starting
-from Perl 5.8.0 also via the C<Attribute::Handlers> module. See
+evolving. TYPE is currently bound to the use of the C<fields> pragma,
+and attributes are handled using the C<attributes> pragma, or, starting
+from Perl 5.8.0, also via the C<Attribute::Handlers> module. See
L<perlsub/"Private Variables via my()"> for details, and L<fields>,
L<attributes>, and L<Attribute::Handlers>.
=item pack TEMPLATE,LIST
X<pack>
+=for Pod::Functions convert a list into a binary representation
+
Takes a LIST of values and converts it into a string using the rules
given by the TEMPLATE. The resulting string is the concatenation of
the converted values. Typically, each converted value looks
@@ -3821,7 +4332,8 @@ of values, as follows:
A A text (ASCII) string, will be space padded.
Z A null-terminated (ASCIZ) string, will be null padded.
- b A bit string (ascending bit order inside each byte, like vec()).
+ b A bit string (ascending bit order inside each byte,
+ like vec()).
B A bit string (descending bit order inside each byte).
h A hex string (low nybble first).
H A hex string (high nybble first).
@@ -3838,49 +4350,52 @@ of values, as follows:
q A signed quad (64-bit) value.
Q An unsigned quad value.
- (Quads are available only if your system supports 64-bit
- integer values _and_ if Perl has been compiled to support those.
- Raises an exception otherwise.)
+ (Quads are available only if your system supports 64-bit
+ integer values _and_ if Perl has been compiled to support
+ those. Raises an exception otherwise.)
i A signed integer value.
I A unsigned integer value.
- (This 'integer' is _at_least_ 32 bits wide. Its exact
- size depends on what a local C compiler calls 'int'.)
+ (This 'integer' is _at_least_ 32 bits wide. Its exact
+ size depends on what a local C compiler calls 'int'.)
n An unsigned short (16-bit) in "network" (big-endian) order.
N An unsigned long (32-bit) in "network" (big-endian) order.
v An unsigned short (16-bit) in "VAX" (little-endian) order.
V An unsigned long (32-bit) in "VAX" (little-endian) order.
- j A Perl internal signed integer value (IV).
- J A Perl internal unsigned integer value (UV).
+ j A Perl internal signed integer value (IV).
+ J A Perl internal unsigned integer value (UV).
f A single-precision float in native format.
d A double-precision float in native format.
F A Perl internal floating-point value (NV) in native format
D A float of long-double precision in native format.
- (Long doubles are available only if your system supports long
- double values _and_ if Perl has been compiled to support those.
- Raises an exception otherwise.)
+ (Long doubles are available only if your system supports
+ long double values _and_ if Perl has been compiled to
+ support those. Raises an exception otherwise.)
p A pointer to a null-terminated string.
P A pointer to a structure (fixed-length string).
u A uuencoded string.
- U A Unicode character number. Encodes to a character in character mode
- and UTF-8 (or UTF-EBCDIC in EBCDIC platforms) in byte mode.
+ U A Unicode character number. Encodes to a character in char-
+ acter mode and UTF-8 (or UTF-EBCDIC in EBCDIC platforms) in
+ byte mode.
- w A BER compressed integer (not an ASN.1 BER, see perlpacktut for
- details). Its bytes represent an unsigned integer in base 128,
- most significant digit first, with as few digits as possible. Bit
- eight (the high bit) is set on each byte except the last.
+ w A BER compressed integer (not an ASN.1 BER, see perlpacktut
+ for details). Its bytes represent an unsigned integer in
+ base 128, most significant digit first, with as few digits
+ as possible. Bit eight (the high bit) is set on each byte
+ except the last.
x A null byte (a.k.a ASCII NUL, "\000", chr(0))
X Back up a byte.
@ Null-fill or truncate to absolute position, counted from the
start of the innermost ()-group.
- . Null-fill or truncate to absolute position specified by the value.
+ . Null-fill or truncate to absolute position specified by
+ the value.
( Start of a ()-group.
One or more modifiers below may optionally follow certain letters in the
@@ -3894,8 +4409,8 @@ TEMPLATE (the second column lists letters for which the modifier is valid):
nNvV Treat integers as signed instead of unsigned.
@. Specify position as byte offset in the internal
- representation of the packed string. Efficient but
- dangerous.
+ representation of the packed string. Efficient
+ but dangerous.
> sSiIlLqQ Force big-endian byte-order on the type.
jJfFdDpP (The "big end" touches the construct.)
@@ -3918,7 +4433,7 @@ count. A numeric repeat count may optionally be enclosed in brackets, as
in C<pack("C[80]", @arr)>. The repeat count gobbles that many values from
the LIST when used with all format types other than C<a>, C<A>, C<Z>, C<b>,
C<B>, C<h>, C<H>, C<@>, C<.>, C<x>, C<X>, and C<P>, where it means
-something else, dscribed below. Supplying a C<*> for the repeat count
+something else, described below. Supplying a C<*> for the repeat count
instead of a number means to use however many items are left, except for:
=over
@@ -3977,7 +4492,7 @@ bigger then the group level.
=back
The repeat count for C<u> is interpreted as the maximal number of bytes
-to encode per line of output, with 0, 1 and 2 replaced by 45. The repeat
+to encode per line of output, with 0, 1 and 2 replaced by 45. The repeat
count should not be more than 65.
=item *
@@ -4070,18 +4585,18 @@ unpacking has encoded the sizes or repeat counts for some of its fields
within the structure itself as separate fields.
For C<pack>, you write I<length-item>C</>I<sequence-item>, and the
-I<length-item> describes how the length value is packed. Formats likely
+I<length-item> describes how the length value is packed. Formats likely
to be of most use are integer-packing ones like C<n> for Java strings,
C<w> for ASN.1 or SNMP, and C<N> for Sun XDR.
For C<pack>, I<sequence-item> may have a repeat count, in which case
the minimum of that and the number of available items is used as the argument
-for I<length-item>. If it has no repeat count or uses a '*', the number
+for I<length-item>. If it has no repeat count or uses a '*', the number
of available items is used.
For C<unpack>, an internal stack of integer arguments unpacked so far is
-used. You write C</>I<sequence-item> and the repeat count is obtained by
-popping off the last element from the stack. The I<sequence-item> must not
+used. You write C</>I<sequence-item> and the repeat count is obtained by
+popping off the last element from the stack. The I<sequence-item> must not
have a repeat count.
If I<sequence-item> refers to a string type (C<"A">, C<"a">, or C<"Z">),
@@ -4089,12 +4604,14 @@ the I<length-item> is the string length, not the number of strings. With
an explicit repeat count for pack, the packed string is adjusted to that
length. For example:
- unpack("W/a", "\004Gurusamy") gives ("Guru")
- unpack("a3/A A*", "007 Bond J ") gives (" Bond", "J")
- unpack("a3 x2 /A A*", "007: Bond, J.") gives ("Bond, J", ".")
+ This code: gives this result:
+
+ unpack("W/a", "\004Gurusamy") ("Guru")
+ unpack("a3/A A*", "007 Bond J ") (" Bond", "J")
+ unpack("a3 x2 /A A*", "007: Bond, J.") ("Bond, J", ".")
- pack("n/a* w/a","hello,","world") gives "\000\006hello,\005world"
- pack("a/W2", ord("a") .. ord("z")) gives "2ab"
+ pack("n/a* w/a","hello,","world") "\000\006hello,\005world"
+ pack("a/W2", ord("a") .. ord("z")) "2ab"
The I<length-item> is not returned explicitly from C<unpack>.
@@ -4259,8 +4776,9 @@ will not in general equal $foo.
Pack and unpack can operate in two modes: character mode (C<C0> mode) where
the packed string is processed per character, and UTF-8 mode (C<U0> mode)
where the packed string is processed in its UTF-8-encoded Unicode form on
-a byte-by-byte basis. Character mode is the default unless the format string
-starts with C<U>. You can always switch mode mid-format with an explicit
+a byte-by-byte basis. Character mode is the default
+unless the format string starts with C<U>. You
+can always switch mode mid-format with an explicit
C<C0> or C<U0> in the format. This mode remains in effect until the next
mode change, or until the end of the C<()> group it (directly) applies to.
@@ -4296,7 +4814,7 @@ handle their output and input as flat sequences of characters.
A C<()> group is a sub-TEMPLATE enclosed in parentheses. A group may
take a repeat count either as postfix, or for unpack(), also via the C</>
template character. Within each repetition of a group, positioning with
-C<@> starts over at 0. Therefore, the result of
+C<@> starts over at 0. Therefore, the result of
pack("@1A((@2A)@3A)", qw[X Y Z])
@@ -4306,7 +4824,7 @@ is the string C<"\0X\0\0YZ">.
C<x> and C<X> accept the C<!> modifier to act as alignment commands: they
jump forward or back to the closest position aligned at a multiple of C<count>
-characters. For example, to pack() or unpack() a C structure like
+characters. For example, to pack() or unpack() a C structure like
struct {
char c; /* one signed, 8-bit character */
@@ -4354,12 +4872,14 @@ Examples:
$foo = pack("W4",0x24b6,0x24b7,0x24b8,0x24b9);
# same thing with Unicode circled letters.
$foo = pack("U4",0x24b6,0x24b7,0x24b8,0x24b9);
- # same thing with Unicode circled letters. You don't get the UTF-8
- # bytes because the U at the start of the format caused a switch to
- # U0-mode, so the UTF-8 bytes get joined into characters
+ # same thing with Unicode circled letters. You don't get the
+ # UTF-8 bytes because the U at the start of the format caused
+ # a switch to U0-mode, so the UTF-8 bytes get joined into
+ # characters
$foo = pack("C0U4",0x24b6,0x24b7,0x24b8,0x24b9);
# foo eq "\xe2\x92\xb6\xe2\x92\xb7\xe2\x92\xb8\xe2\x92\xb9"
- # This is the UTF-8 encoding of the string in the previous example
+ # This is the UTF-8 encoding of the string in the
+ # previous example
$foo = pack("ccxxcc",65,66,67,68);
# foo eq "AB\0\0CD"
@@ -4425,6 +4945,8 @@ X<package> X<module> X<namespace> X<version>
=item package NAMESPACE VERSION BLOCK
X<package> X<module> X<namespace> X<version>
+=for Pod::Functions declare a separate global namespace
+
Declares the BLOCK or the rest of the compilation unit as being in the
given namespace. The scope of the package declaration is either the
supplied code BLOCK or, in the absence of a BLOCK, from the declaration
@@ -4459,9 +4981,18 @@ components. You should set C<$VERSION> only once per package.
See L<perlmod/"Packages"> for more information about packages, modules,
and classes. See L<perlsub> for other scoping issues.
+=item __PACKAGE__
+X<__PACKAGE__>
+
+=for Pod::Functions +5.004 the current package
+
+A special token that returns the name of the package in which it occurs.
+
=item pipe READHANDLE,WRITEHANDLE
X<pipe>
+=for Pod::Functions open a pair of connected filehandles
+
Opens a pair of connected pipes like the corresponding system call.
Note that if you set up a loop of piped processes, deadlock can occur
unless you are very careful. In addition, note that Perl's pipes use
@@ -4483,6 +5014,8 @@ X<pop> X<stack>
=item pop
+=for Pod::Functions remove the last element from an array and return it
+
Pops and returns the last value of the array, shortening the array by
one element.
@@ -4495,21 +5028,30 @@ reference to an unblessed array. The argument will be dereferenced
automatically. This aspect of C<pop> is considered highly experimental.
The exact behaviour may change in a future version of Perl.
+To avoid confusing would-be users of your code who are running earlier
+versions of Perl with mysterious syntax errors, put this sort of thing at
+the top of your file to signal that your code will work I<only> on Perls of
+a recent vintage:
+
+ use 5.014; # so push/pop/etc work on scalars (experimental)
+
=item pos SCALAR
X<pos> X<match, position>
=item pos
+=for Pod::Functions find or set the offset for the last/next m//g search
+
Returns the offset of where the last C<m//g> search left off for the
variable in question (C<$_> is used when the variable is not
-specified). Note that 0 is a valid match offset. C<undef> indicates
+specified). Note that 0 is a valid match offset. C<undef> indicates
that the search position is reset (usually due to match failure, but
can also be because no match has yet been run on the scalar).
C<pos> directly accesses the location used by the regexp engine to
store the offset, so assigning to C<pos> will change that offset, and
so will also influence the C<\G> zero-width assertion in regular
-expressions. Both of these effects take place for the next match, so
+expressions. Both of these effects take place for the next match, so
you can't affect the position with C<pos> during the current match,
such as in C<(?{pos() = 5})> or C<s//pos() = 5/e>.
@@ -4529,12 +5071,14 @@ X<print>
=item print
+=for Pod::Functions output a list to a filehandle
+
Prints a string or a list of strings. Returns true if successful.
FILEHANDLE may be a scalar variable containing the name of or a reference
to the filehandle, thus introducing one level of indirection. (NOTE: If
FILEHANDLE is a variable and the next token is a term, it may be
misinterpreted as an operator unless you interpose a C<+> or put
-parentheses around the arguments.) If FILEHANDLE is omitted, prints to the
+parentheses around the arguments.) If FILEHANDLE is omitted, prints to the
last selected (see L</select>) output handle. If LIST is omitted, prints
C<$_> to the currently selected output handle. To use FILEHANDLE alone to
print the content of C<$_> to it, you must use a real filehandle like
@@ -4571,12 +5115,16 @@ X<printf>
=item printf
+=for Pod::Functions output a formatted list to a filehandle
+
Equivalent to C<print FILEHANDLE sprintf(FORMAT, LIST)>, except that C<$\>
(the output record separator) is not appended. The first argument of the
-list will be interpreted as the C<printf> format. See C<sprintf> for an
-explanation of the format argument. If you omit the LIST, C<$_> is used;
+list will be interpreted as the C<printf> format. See
+L<sprintf|/sprintf FORMAT, LIST> for an
+explanation of the format argument. If you omit the LIST, C<$_> is used;
to use FILEHANDLE without a LIST, you must use a real filehandle like
-C<FH>, not an indirect one like C<$fh>. If C<use locale> is in effect and
+C<FH>, not an indirect one like C<$fh>. If C<use locale> (including
+C<use locale ':not_characters'>) is in effect and
POSIX::setlocale() has been called, the character used for the decimal
separator in formatted floating-point numbers is affected by the LC_NUMERIC
locale setting. See L<perllocale> and L<POSIX>.
@@ -4588,6 +5136,8 @@ error prone.
=item prototype FUNCTION
X<prototype>
+=for Pod::Functions +5.002 get the prototype (if any) of a subroutine
+
Returns the prototype of a function as a string (or C<undef> if the
function has no prototype). FUNCTION is a reference to, or the name of,
the function whose prototype you want to retrieve.
@@ -4604,6 +5154,8 @@ X<push> X<stack>
=item push EXPR,LIST
+=for Pod::Functions append one or more elements to an array
+
Treats ARRAY as a stack by appending the values of LIST to the end of
ARRAY. The length of ARRAY increases by the length of LIST. Has the same
effect as
@@ -4620,18 +5172,35 @@ reference to an unblessed array. The argument will be dereferenced
automatically. This aspect of C<push> is considered highly experimental.
The exact behaviour may change in a future version of Perl.
+To avoid confusing would-be users of your code who are running earlier
+versions of Perl with mysterious syntax errors, put this sort of thing at
+the top of your file to signal that your code will work I<only> on Perls of
+a recent vintage:
+
+ use 5.014; # so push/pop/etc work on scalars (experimental)
+
=item q/STRING/
+=for Pod::Functions singly quote a string
+
=item qq/STRING/
-=item qx/STRING/
+=for Pod::Functions doubly quote a string
=item qw/STRING/
+=for Pod::Functions quote a list of words
+
+=item qx/STRING/
+
+=for Pod::Functions backquote quote a string
+
Generalized quotes. See L<perlop/"Quote-Like Operators">.
=item qr/STRING/
+=for Pod::Functions +5.005 compile pattern
+
Regexp-like quote. See L<perlop/"Regexp Quote-Like Operators">.
=item quotemeta EXPR
@@ -4639,18 +5208,21 @@ X<quotemeta> X<metacharacter>
=item quotemeta
-Returns the value of EXPR with all non-"word"
-characters backslashed. (That is, all characters not matching
+=for Pod::Functions quote regular expression magic characters
+
+Returns the value of EXPR with all the ASCII non-"word"
+characters backslashed. (That is, all ASCII characters not matching
C</[A-Za-z_0-9]/> will be preceded by a backslash in the
returned string, regardless of any locale settings.)
This is the internal function implementing
the C<\Q> escape in double-quoted strings.
+(See below for the behavior on non-ASCII code points.)
If EXPR is omitted, uses C<$_>.
quotemeta (and C<\Q> ... C<\E>) are useful when interpolating strings into
regular expressions, because by default an interpolated variable will be
-considered a mini-regular expression. For example:
+considered a mini-regular expression. For example:
my $sentence = 'The quick brown fox jumped over the lazy dog';
my $substring = 'quick.*?fox';
@@ -4671,19 +5243,72 @@ Or:
my $quoted_substring = quotemeta($substring);
$sentence =~ s{$quoted_substring}{big bad wolf};
-Will both leave the sentence as is. Normally, when accepting literal string
+Will both leave the sentence as is.
+Normally, when accepting literal string
input from the user, quotemeta() or C<\Q> must be used.
-In Perl 5.14, all characters whose code points are above 127 are not
-quoted in UTF8-encoded strings, but all are quoted in UTF-8 strings.
-It is planned to change this behavior in 5.16, but the exact rules
-haven't been determined yet.
+In Perl v5.14, all non-ASCII characters are quoted in non-UTF-8-encoded
+strings, but not quoted in UTF-8 strings.
+
+Starting in Perl v5.16, Perl adopted a Unicode-defined strategy for
+quoting non-ASCII characters; the quoting of ASCII characters is
+unchanged.
+
+Also unchanged is the quoting of non-UTF-8 strings when outside the
+scope of a C<use feature 'unicode_strings'>, which is to quote all
+characters in the upper Latin1 range. This provides complete backwards
+compatibility for old programs which do not use Unicode. (Note that
+C<unicode_strings> is automatically enabled within the scope of a
+S<C<use v5.12>> or greater.)
+
+Within the scope of C<use locale>, all non-ASCII Latin1 code points
+are quoted whether the string is encoded as UTF-8 or not. As mentioned
+above, locale does not affect the quoting of ASCII-range characters.
+This protects against those locales where characters such as C<"|"> are
+considered to be word characters.
+
+Otherwise, Perl quotes non-ASCII characters using an adaptation from
+Unicode (see L<http://www.unicode.org/reports/tr31/>.)
+The only code points that are quoted are those that have any of the
+Unicode properties: Pattern_Syntax, Pattern_White_Space, White_Space,
+Default_Ignorable_Code_Point, or General_Category=Control.
+
+Of these properties, the two important ones are Pattern_Syntax and
+Pattern_White_Space. They have been set up by Unicode for exactly this
+purpose of deciding which characters in a regular expression pattern
+should be quoted. No character that can be in an identifier has these
+properties.
+
+Perl promises, that if we ever add regular expression pattern
+metacharacters to the dozen already defined
+(C<\ E<verbar> ( ) [ { ^ $ * + ? .>), that we will only use ones that have the
+Pattern_Syntax property. Perl also promises, that if we ever add
+characters that are considered to be white space in regular expressions
+(currently mostly affected by C</x>), they will all have the
+Pattern_White_Space property.
+
+Unicode promises that the set of code points that have these two
+properties will never change, so something that is not quoted in v5.16
+will never need to be quoted in any future Perl release. (Not all the
+code points that match Pattern_Syntax have actually had characters
+assigned to them; so there is room to grow, but they are quoted
+whether assigned or not. Perl, of course, would never use an
+unassigned code point as an actual metacharacter.)
+
+Quoting characters that have the other 3 properties is done to enhance
+the readability of the regular expression and not because they actually
+need to be quoted for regular expression purposes (characters with the
+White_Space property are likely to be indistinguishable on the page or
+screen from those with the Pattern_White_Space property; and the other
+two properties contain non-printing characters).
=item rand EXPR
X<rand> X<random>
=item rand
+=for Pod::Functions retrieve the next pseudorandom number
+
Returns a random fractional number greater than or equal to C<0> and less
than the value of EXPR. (EXPR should be positive.) If EXPR is
omitted, the value C<1> is used. Currently EXPR with the value C<0> is
@@ -4706,14 +5331,16 @@ B<C<rand()> is not cryptographically secure. You should not rely
on it in security-sensitive situations.> As of this writing, a
number of third-party CPAN modules offer random number generators
intended by their authors to be cryptographically secure,
-including: L<Math::Random::Secure>, L<Math::Random::MT::Perl>, and
-L<Math::TrulyRandom>.
+including: L<Data::Entropy>, L<Crypt::Random>, L<Math::Random::Secure>,
+and L<Math::TrulyRandom>.
=item read FILEHANDLE,SCALAR,LENGTH,OFFSET
X<read> X<file, read>
=item read FILEHANDLE,SCALAR,LENGTH
+=for Pod::Functions fixed-length buffered input from a filehandle
+
Attempts to read LENGTH I<characters> of data into variable SCALAR
from the specified FILEHANDLE. Returns the number of characters
actually read, C<0> at end of file, or undef if there was an error (in
@@ -4729,7 +5356,8 @@ results in the string being padded to the required size with C<"\0">
bytes before the result of the read is appended.
The call is implemented in terms of either Perl's or your system's native
-fread(3) library function. To get a true read(2) system call, see C<sysread>.
+fread(3) library function. To get a true read(2) system call, see
+L<sysread|/sysread FILEHANDLE,SCALAR,LENGTH,OFFSET>.
Note the I<characters>: depending on the status of the filehandle,
either (8-bit) bytes or characters are read. By default, all
@@ -4742,6 +5370,8 @@ in that case pretty much any characters can be read.
=item readdir DIRHANDLE
X<readdir>
+=for Pod::Functions get a directory from a directory handle
+
Returns the next directory entry for a directory opened by C<opendir>.
If used in list context, returns all the rest of the entries in the
directory. If there are no more entries, returns the undefined value in
@@ -4764,11 +5394,20 @@ which will set C<$_> on every iteration.
}
closedir $dh;
+To avoid confusing would-be users of your code who are running earlier
+versions of Perl with mysterious failures, put this sort of thing at the
+top of your file to signal that your code will work I<only> on Perls of a
+recent vintage:
+
+ use 5.012; # so readdir assigns to $_ in a lone while test
+
=item readline EXPR
=item readline
X<readline> X<gets> X<fgets>
+=for Pod::Functions fetch a record from a file
+
Reads from the filehandle whose typeglob is contained in EXPR (or from
C<*ARGV> if EXPR is not provided). In scalar context, each call reads and
returns the next line until end-of-file is reached, whereupon the
@@ -4800,7 +5439,7 @@ C<readline> and dies if the result is not defined.
}
Note that you have can't handle C<readline> errors that way with the
-C<ARGV> filehandle. In that case, you have to open each element of
+C<ARGV> filehandle. In that case, you have to open each element of
C<@ARGV> yourself since C<eof> handles C<ARGV> differently.
foreach my $arg (@ARGV) {
@@ -4818,16 +5457,22 @@ X<readlink>
=item readlink
+=for Pod::Functions determine where a symbolic link is pointing
+
Returns the value of a symbolic link, if symbolic links are
implemented. If not, raises an exception. If there is a system
error, returns the undefined value and sets C<$!> (errno). If EXPR is
omitted, uses C<$_>.
+Portability issues: L<perlport/readlink>.
+
=item readpipe EXPR
=item readpipe
X<readpipe>
+=for Pod::Functions execute a system command and collect standard output
+
EXPR is executed as a system command.
The collected standard output of the command is returned.
In scalar context, it comes back as a single (potentially
@@ -4841,6 +5486,8 @@ If EXPR is omitted, uses C<$_>.
=item recv SOCKET,SCALAR,LENGTH,FLAGS
X<recv>
+=for Pod::Functions receive a message over a Socket
+
Receives a message on a socket. Attempts to receive LENGTH characters
of data into variable SCALAR from the specified SOCKET filehandle.
SCALAR will be grown or shrunk to the length actually read. Takes the
@@ -4863,6 +5510,8 @@ X<redo>
=item redo
+=for Pod::Functions start this loop iteration over again
+
The C<redo> command restarts the loop block without evaluating the
conditional again. The C<continue> block, if any, is not executed. If
the LABEL is omitted, the command refers to the innermost enclosing
@@ -4902,8 +5551,10 @@ X<ref> X<reference>
=item ref
+=for Pod::Functions find out the type of thing being referenced
+
Returns a non-empty string if EXPR is a reference, the empty
-string otherwise. If EXPR
+string otherwise. If EXPR
is not specified, C<$_> will be used. The value returned depends on the
type of thing the reference is a reference to.
Builtin types include:
@@ -4931,8 +5582,8 @@ name is returned instead. You can think of C<ref> as a C<typeof> operator.
}
The return value C<LVALUE> indicates a reference to an lvalue that is not
-a variable. You get this from taking the reference of function calls like
-C<pos()> or C<substr()>. C<VSTRING> is returned if the reference points
+a variable. You get this from taking the reference of function calls like
+C<pos()> or C<substr()>. C<VSTRING> is returned if the reference points
to a L<version string|perldata/"Version Strings">.
The result C<Regexp> indicates that the argument is a regular expression
@@ -4943,6 +5594,8 @@ See also L<perlref>.
=item rename OLDNAME,NEWNAME
X<rename> X<move> X<mv> X<ren>
+=for Pod::Functions change a filename
+
Changes the name of a file; an existing file NEWNAME will be
clobbered. Returns true for success, false otherwise.
@@ -4956,6 +5609,8 @@ rename(2) manpage or equivalent system documentation for details.
For a platform independent C<move> function look at the L<File::Copy>
module.
+Portability issues: L<perlport/rename>.
+
=item require VERSION
X<require>
@@ -4963,6 +5618,8 @@ X<require>
=item require
+=for Pod::Functions load in external functions from a library at runtime
+
Demands a version of Perl specified by VERSION, or demands some semantics
specified by EXPR or by C<$_> if EXPR is not supplied.
@@ -5052,7 +5709,7 @@ will complain about not finding "F<Foo::Bar>" there. In this case you can do:
Now that you understand how C<require> looks for files with a
bareword argument, there is a little extra functionality going on behind
the scenes. Before C<require> looks for a "F<.pm>" extension, it will
-first look for a similar filename with a "F<.pmc>" extension. If this file
+first look for a similar filename with a "F<.pmc>" extension. If this file
is found, it will be loaded in place of any file ending in a "F<.pm>"
extension.
@@ -5075,7 +5732,7 @@ A filehandle, from which the file will be read.
=item 2
-A reference to a subroutine. If there is no filehandle (previous item),
+A reference to a subroutine. If there is no filehandle (previous item),
then this subroutine is expected to generate one line of source code per
call, writing the line into C<$_> and returning 1, then finally at end of
file returning 0. If there is a filehandle, then the subroutine will be
@@ -5085,7 +5742,7 @@ returned.
=item 3
-Optional state for the subroutine. The state is passed in as C<$_[1]>. A
+Optional state for the subroutine. The state is passed in as C<$_[1]>. A
reference to the subroutine itself is passed in as C<$_[0]>.
=back
@@ -5136,7 +5793,7 @@ into package C<main>.) Here is a typical code layout:
push @INC, Foo->new(...);
These hooks are also permitted to set the %INC entry
-corresponding to the files they have loaded. See L<perlvar/%INC>.
+corresponding to the files they have loaded. See L<perlvar/%INC>.
For a yet-more-powerful import facility, see L</use> and L<perlmod>.
@@ -5145,6 +5802,8 @@ X<reset>
=item reset
+=for Pod::Functions clear all variables of a given name
+
Generally used in a C<continue> block at the end of a loop to clear
variables and reset C<??> searches so that they work again. The
expression is interpreted as a list of single characters (hyphens
@@ -5169,10 +5828,12 @@ X<return>
=item return
+=for Pod::Functions get out of a function early
+
Returns from a subroutine, C<eval>, or C<do FILE> with the value
given in EXPR. Evaluation of EXPR may be in list, scalar, or void
context, depending on how the return value will be used, and the context
-may vary from one execution to the next (see C<wantarray>). If no EXPR
+may vary from one execution to the next (see L</wantarray>). If no EXPR
is given, returns an empty list in list context, the undefined value in
scalar context, and (of course) nothing at all in void context.
@@ -5183,6 +5844,8 @@ evaluated.)
=item reverse LIST
X<reverse> X<rev> X<invert>
+=for Pod::Functions flip a string or a list
+
In list context, returns a list value consisting of the elements
of LIST in the opposite order. In scalar context, concatenates the
elements of LIST and returns a string value with all characters
@@ -5213,14 +5876,20 @@ on a large hash, such as from a DBM file.
=item rewinddir DIRHANDLE
X<rewinddir>
+=for Pod::Functions reset directory handle
+
Sets the current position to the beginning of the directory for the
C<readdir> routine on DIRHANDLE.
+Portability issues: L<perlport/rewinddir>.
+
=item rindex STR,SUBSTR,POSITION
X<rindex>
=item rindex STR,SUBSTR
+=for Pod::Functions right-to-left substring search
+
Works just like index() except that it returns the position of the I<last>
occurrence of SUBSTR in STR. If POSITION is specified, returns the
last occurrence beginning at or before that position.
@@ -5230,6 +5899,8 @@ X<rmdir> X<rd> X<directory, remove>
=item rmdir
+=for Pod::Functions remove a directory
+
Deletes the directory specified by FILENAME if that directory is
empty. If it succeeds it returns true; otherwise it returns false and
sets C<$!> (errno). If FILENAME is omitted, uses C<$_>.
@@ -5239,6 +5910,8 @@ the C<rmtree> function of the L<File::Path> module.
=item s///
+=for Pod::Functions replace a pattern with a string
+
The substitution operator. See L<perlop/"Regexp Quote-Like Operators">.
=item say FILEHANDLE LIST
@@ -5250,18 +5923,23 @@ X<say>
=item say
+=for Pod::Functions +say output a list to a filehandle, appending a newline
+
Just like C<print>, but implicitly appends a newline. C<say LIST> is
simply an abbreviation for C<{ local $\ = "\n"; print LIST }>. To use
FILEHANDLE without a LIST to print the contents of C<$_> to it, you must
use a real filehandle like C<FH>, not an indirect one like C<$fh>.
-This keyword is available only when the C<"say"> feature is enabled; see
+This keyword is available only when the C<"say"> feature
+is enabled, or when prefixed with C<CORE::>; see
L<feature>. Alternately, include a C<use v5.10> or later to the current
scope.
=item scalar EXPR
X<scalar> X<context>
+=for Pod::Functions force a scalar context
+
Forces EXPR to be interpreted in scalar context and returns the value
of EXPR.
@@ -5292,6 +5970,8 @@ See L<perlop> for more details on unary operators and the comma operator.
=item seek FILEHANDLE,POSITION,WHENCE
X<seek> X<fseek> X<filehandle, position>
+=for Pod::Functions reposition file pointer for random-access I/O
+
Sets FILEHANDLE's position, just like the C<fseek> call of C<stdio>.
FILEHANDLE may be an expression whose value gives the name of the
filehandle. The values for WHENCE are C<0> to set the new position
@@ -5339,6 +6019,8 @@ cantankerous), you might need something like this:
=item seekdir DIRHANDLE,POS
X<seekdir>
+=for Pod::Functions reposition directory pointer
+
Sets the current position for the C<readdir> routine on DIRHANDLE. POS
must be a value returned by C<telldir>. C<seekdir> also has the same caveats
about possible directory compaction as the corresponding system library
@@ -5349,6 +6031,8 @@ X<select> X<filehandle, default>
=item select
+=for Pod::Functions reset default output or do I/O multiplexing
+
Returns the currently selected filehandle. If FILEHANDLE is supplied,
sets the new current default filehandle for output. This has two
effects: first, a C<write> or a C<print> without a filehandle
@@ -5374,6 +6058,8 @@ methods, preferring to write the last example as:
use IO::Handle;
STDERR->autoflush(1);
+Portability issues: L<perlport/select>.
+
=item select RBITS,WBITS,EBITS,TIMEOUT
X<select>
@@ -5381,22 +6067,22 @@ This calls the select(2) syscall with the bit masks specified, which
can be constructed using C<fileno> and C<vec>, along these lines:
$rin = $win = $ein = '';
- vec($rin,fileno(STDIN),1) = 1;
- vec($win,fileno(STDOUT),1) = 1;
+ vec($rin, fileno(STDIN), 1) = 1;
+ vec($win, fileno(STDOUT), 1) = 1;
$ein = $rin | $win;
If you want to select on many filehandles, you may wish to write a
subroutine like this:
sub fhbits {
- my(@fhlist) = split(' ',$_[0]);
- my($bits);
- for (@fhlist) {
- vec($bits,fileno($_),1) = 1;
+ my @fhlist = @_;
+ my $bits = "";
+ for my $fh (@fhlist) {
+ vec($bits, fileno($fh), 1) = 1;
}
- $bits;
+ return $bits;
}
- $rin = fhbits('STDIN TTY SOCK');
+ $rin = fhbits(*STDIN, *TTY, *MYSOCK);
The usual idiom is:
@@ -5423,21 +6109,28 @@ Note that whether C<select> gets restarted after signals (say, SIGALRM)
is implementation-dependent. See also L<perlport> for notes on the
portability of C<select>.
-On error, C<select> behaves like select(2): it returns
+On error, C<select> behaves just like select(2): it returns
-1 and sets C<$!>.
On some Unixes, select(2) may report a socket file descriptor as "ready for
reading" even when no data is available, and thus any subsequent C<read>
-would block. This can be avoided if you always use O_NONBLOCK on the
-socket. See select(2) and fcntl(2) for further details.
+would block. This can be avoided if you always use O_NONBLOCK on the
+socket. See select(2) and fcntl(2) for further details.
+
+The standard C<IO::Select> module provides a user-friendlier interface
+to C<select>, mostly because it does all the bit-mask work for you.
B<WARNING>: One should not attempt to mix buffered I/O (like C<read>
or <FH>) with C<select>, except as permitted by POSIX, and even
then only on POSIX systems. You have to use C<sysread> instead.
+Portability issues: L<perlport/select>.
+
=item semctl ID,SEMNUM,CMD,ARG
X<semctl>
+=for Pod::Functions SysV semaphore control operations
+
Calls the System V IPC function semctl(2). You'll probably have to say
use IPC::SysV;
@@ -5451,17 +6144,25 @@ short integers, which may be created with C<pack("s!",(0)x$nsem)>.
See also L<perlipc/"SysV IPC">, C<IPC::SysV>, C<IPC::Semaphore>
documentation.
+Portability issues: L<perlport/semctl>.
+
=item semget KEY,NSEMS,FLAGS
X<semget>
+=for Pod::Functions get set of SysV semaphores
+
Calls the System V IPC function semget(2). Returns the semaphore id, or
the undefined value on error. See also
L<perlipc/"SysV IPC">, C<IPC::SysV>, C<IPC::SysV::Semaphore>
documentation.
+Portability issues: L<perlport/semget>.
+
=item semop KEY,OPSTRING
X<semop>
+=for Pod::Functions SysV semaphore operations
+
Calls the System V IPC function semop(2) for semaphore operations
such as signalling and waiting. OPSTRING must be a packed array of
semop structures. Each semop structure can be generated with
@@ -5477,11 +6178,15 @@ To signal the semaphore, replace C<-1> with C<1>. See also
L<perlipc/"SysV IPC">, C<IPC::SysV>, and C<IPC::SysV::Semaphore>
documentation.
+Portability issues: L<perlport/semop>.
+
=item send SOCKET,MSG,FLAGS,TO
X<send>
=item send SOCKET,MSG,FLAGS
+=for Pod::Functions send a message over a socket
+
Sends a message on a socket. Attempts to send the scalar MSG to the SOCKET
filehandle. Takes the same flags as the system call of the same name. On
unconnected sockets, you must specify a destination to I<send to>, in which
@@ -5500,6 +6205,8 @@ pragma: in that case pretty much any characters can be sent.
=item setpgrp PID,PGRP
X<setpgrp> X<group>
+=for Pod::Functions set the process group of a process
+
Sets the current process group for the specified PID, C<0> for the current
process. Raises an exception when used on a machine that doesn't
implement POSIX setpgid(2) or BSD setpgrp(2). If the arguments are omitted,
@@ -5507,16 +6214,24 @@ it defaults to C<0,0>. Note that the BSD 4.2 version of C<setpgrp> does not
accept any arguments, so only C<setpgrp(0,0)> is portable. See also
C<POSIX::setsid()>.
+Portability issues: L<perlport/setpgrp>.
+
=item setpriority WHICH,WHO,PRIORITY
X<setpriority> X<priority> X<nice> X<renice>
+=for Pod::Functions set a process's nice value
+
Sets the current priority for a process, a process group, or a user.
(See setpriority(2).) Raises an exception when used on a machine
that doesn't implement setpriority(2).
+Portability issues: L<perlport/setpriority>.
+
=item setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL
X<setsockopt>
+=for Pod::Functions set some socket options
+
Sets the socket option requested. Returns C<undef> on error.
Use integer constants provided by the C<Socket> module for
LEVEL and OPNAME. Values for LEVEL can also be obtained from
@@ -5528,6 +6243,8 @@ An example disabling Nagle's algorithm on a socket:
use Socket qw(IPPROTO_TCP TCP_NODELAY);
setsockopt($socket, IPPROTO_TCP, TCP_NODELAY, 1);
+Portability issues: L<perlport/setsockopt>.
+
=item shift ARRAY
X<shift>
@@ -5535,6 +6252,8 @@ X<shift>
=item shift
+=for Pod::Functions remove the first element of an array, and return it
+
Shifts the first value of the array off and returns it, shortening the
array by 1 and moving everything down. If there are no elements in the
array, returns the undefined value. If ARRAY is omitted, shifts the
@@ -5548,6 +6267,13 @@ reference to an unblessed array. The argument will be dereferenced
automatically. This aspect of C<shift> is considered highly experimental.
The exact behaviour may change in a future version of Perl.
+To avoid confusing would-be users of your code who are running earlier
+versions of Perl with mysterious syntax errors, put this sort of thing at
+the top of your file to signal that your code will work I<only> on Perls of
+a recent vintage:
+
+ use 5.014; # so push/pop/etc work on scalars (experimental)
+
See also C<unshift>, C<push>, and C<pop>. C<shift> and C<unshift> do the
same thing to the left end of an array that C<pop> and C<push> do to the
right end.
@@ -5555,6 +6281,8 @@ right end.
=item shmctl ID,CMD,ARG
X<shmctl>
+=for Pod::Functions SysV shared memory operations
+
Calls the System V IPC function shmctl. You'll probably have to say
use IPC::SysV;
@@ -5565,31 +6293,45 @@ structure. Returns like ioctl: C<undef> for error; "C<0> but
true" for zero; and the actual return value otherwise.
See also L<perlipc/"SysV IPC"> and C<IPC::SysV> documentation.
+Portability issues: L<perlport/shmctl>.
+
=item shmget KEY,SIZE,FLAGS
X<shmget>
+=for Pod::Functions get SysV shared memory segment identifier
+
Calls the System V IPC function shmget. Returns the shared memory
segment id, or C<undef> on error.
See also L<perlipc/"SysV IPC"> and C<IPC::SysV> documentation.
+Portability issues: L<perlport/shmget>.
+
=item shmread ID,VAR,POS,SIZE
X<shmread>
X<shmwrite>
+=for Pod::Functions read SysV shared memory
+
=item shmwrite ID,STRING,POS,SIZE
+=for Pod::Functions write SysV shared memory
+
Reads or writes the System V shared memory segment ID starting at
position POS for size SIZE by attaching to it, copying in/out, and
detaching from it. When reading, VAR must be a variable that will
hold the data read. When writing, if STRING is too long, only SIZE
bytes are used; if STRING is too short, nulls are written to fill out
SIZE bytes. Return true if successful, false on error.
-shmread() taints the variable. See also L<perlipc/"SysV IPC">,
+shmread() taints the variable. See also L<perlipc/"SysV IPC">,
C<IPC::SysV>, and the C<IPC::Shareable> module from CPAN.
+Portability issues: L<perlport/shmread> and L<perlport/shmwrite>.
+
=item shutdown SOCKET,HOW
X<shutdown>
+=for Pod::Functions close down just half of a socket connection
+
Shuts down a socket connection in the manner indicated by HOW, which
has the same interpretation as in the syscall of the same name.
@@ -5612,6 +6354,8 @@ X<sin> X<sine> X<asin> X<arcsine>
=item sin
+=for Pod::Functions return the sine of a number
+
Returns the sine of EXPR (expressed in radians). If EXPR is omitted,
returns sine of C<$_>.
@@ -5625,6 +6369,8 @@ X<sleep> X<pause>
=item sleep
+=for Pod::Functions block for some number of seconds
+
Causes the script to sleep for (integer) EXPR seconds, or forever if no
argument is given. Returns the integer number of seconds actually slept.
@@ -5650,13 +6396,15 @@ For delays of finer granularity than one second, the Time::HiRes module
distribution) provides usleep(). You may also use Perl's four-argument
version of select() leaving the first three arguments undefined, or you
might be able to use the C<syscall> interface to access setitimer(2) if
-your system supports it. See L<perlfaq8> for details.
+your system supports it. See L<perlfaq8> for details.
See also the POSIX module's C<pause> function.
=item socket SOCKET,DOMAIN,TYPE,PROTOCOL
X<socket>
+=for Pod::Functions create a socket
+
Opens a socket of the specified kind and attaches it to filehandle
SOCKET. DOMAIN, TYPE, and PROTOCOL are specified the same as for
the syscall of the same name. You should C<use Socket> first
@@ -5670,6 +6418,8 @@ value of $^F. See L<perlvar/$^F>.
=item socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL
X<socketpair>
+=for Pod::Functions create a pair of sockets
+
Creates an unnamed pair of sockets in the specified domain, of the
specified type. DOMAIN, TYPE, and PROTOCOL are specified the same as
for the syscall of the same name. If unimplemented, raises an exception.
@@ -5691,6 +6441,8 @@ See L<perlipc> for an example of socketpair use. Perl 5.8 and later will
emulate socketpair using IP sockets to localhost if your system implements
sockets but not socketpair.
+Portability issues: L<perlport/socketpair>.
+
=item sort SUBNAME LIST
X<sort> X<qsort> X<quicksort> X<mergesort>
@@ -5698,6 +6450,8 @@ X<sort> X<qsort> X<quicksort> X<mergesort>
=item sort LIST
+=for Pod::Functions sort a list of values
+
In list context, this sorts the LIST and returns the sorted list value.
In scalar context, the behaviour of C<sort()> is undefined.
@@ -5718,13 +6472,18 @@ into the subroutine as the package global variables $a and $b (see example
below). Note that in the latter case, it is usually highly counter-productive
to declare $a and $b as lexicals.
+If the subroutine is an XSUB, the elements to be compared are pushed on to
+the stack, the way arguments are usually passed to XSUBs. $a and $b are
+not set.
+
The values to be compared are always passed by reference and should not
be modified.
You also cannot exit out of the sort block or subroutine using any of the
loop control operators described in L<perlsyn> or with C<goto>.
-When C<use locale> is in effect, C<sort LIST> sorts LIST according to the
+When C<use locale> (but not C<use locale 'not_characters'>) is in
+effect, C<sort LIST> sorts LIST according to the
current collation locale. See L<perllocale>.
sort() returns aliases into the original list, much as a for loop's index
@@ -5756,7 +6515,7 @@ Examples:
@articles = sort {$a cmp $b} @files;
# now case-insensitively
- @articles = sort {uc($a) cmp uc($b)} @files;
+ @articles = sort {fc($a) cmp fc($b)} @files;
# same thing in reversed order
@articles = sort {$b cmp $a} @files;
@@ -5773,7 +6532,7 @@ Examples:
# sort using explicit subroutine name
sub byage {
- $age{$a} <=> $age{$b}; # presuming numeric
+ $age{$a} <=> $age{$b}; # presuming numeric
}
@sortedclass = sort byage @class;
@@ -5793,8 +6552,8 @@ Examples:
my @new = sort {
($b =~ /=(\d+)/)[0] <=> ($a =~ /=(\d+)/)[0]
- ||
- uc($a) cmp uc($b)
+ ||
+ fc($a) cmp fc($b)
} @old;
# same thing, but much more efficiently;
@@ -5803,22 +6562,22 @@ Examples:
my @nums = @caps = ();
for (@old) {
push @nums, ( /=(\d+)/ ? $1 : undef );
- push @caps, uc($_);
+ push @caps, fc($_);
}
my @new = @old[ sort {
- $nums[$b] <=> $nums[$a]
- ||
- $caps[$a] cmp $caps[$b]
- } 0..$#old
- ];
+ $nums[$b] <=> $nums[$a]
+ ||
+ $caps[$a] cmp $caps[$b]
+ } 0..$#old
+ ];
# same thing, but without any temps
@new = map { $_->[0] }
sort { $b->[1] <=> $a->[1]
- ||
- $a->[2] cmp $b->[2]
- } map { [$_, /=(\d+)/, uc($_)] } @old;
+ ||
+ $a->[2] cmp $b->[2]
+ } map { [$_, /=(\d+)/, fc($_)] } @old;
# using a prototype allows you to use any comparison subroutine
# as a sort subroutine (including other package's subroutines)
@@ -5837,7 +6596,7 @@ Examples:
@new = sort { substr($a, 3, 5) cmp substr($b, 3, 5) } @old;
Warning: syntactical care is required when sorting the list returned from
-a function. If you want to sort the list returned by the function call
+a function. If you want to sort the list returned by the function call
C<find_records(@key)>, you can use:
@contact = sort { $a cmp $b } find_records @key;
@@ -5870,8 +6629,7 @@ sometimes saying the opposite, for example) the results are not
well-defined.
Because C<< <=> >> returns C<undef> when either operand is C<NaN>
-(not-a-number), and laso because C<sort> raises an exception unless the
-result of a comparison is defined, be careful when sorting with a
+(not-a-number), be careful when sorting with a
comparison function like C<< $a <=> $b >> any lists that might contain a
C<NaN>. The following example takes advantage that C<NaN != NaN> to
eliminate any C<NaN>s from the input list.
@@ -5887,6 +6645,8 @@ X<splice>
=item splice ARRAY or EXPR
+=for Pod::Functions add or remove elements anywhere in an array
+
Removes the elements designated by OFFSET and LENGTH from an array, and
replaces them with the elements of LIST, if any. In list context,
returns the elements removed from the array. In scalar context,
@@ -5896,11 +6656,11 @@ If OFFSET is negative then it starts that far from the end of the array.
If LENGTH is omitted, removes everything from OFFSET onward.
If LENGTH is negative, removes the elements from OFFSET onward
except for -LENGTH elements at the end of the array.
-If both OFFSET and LENGTH are omitted, removes everything. If OFFSET is
+If both OFFSET and LENGTH are omitted, removes everything. If OFFSET is
past the end of the array, Perl issues a warning, and splices at the
end of the array.
-The following equivalences hold (assuming C<< $[ == 0 and $#a >= $i >> )
+The following equivalences hold (assuming C<< $#a >= $i >> )
push(@a,$x,$y) splice(@a,@a,0,$x,$y)
pop(@a) splice(@a,-1)
@@ -5926,6 +6686,13 @@ reference to an unblessed array. The argument will be dereferenced
automatically. This aspect of C<splice> is considered highly experimental.
The exact behaviour may change in a future version of Perl.
+To avoid confusing would-be users of your code who are running earlier
+versions of Perl with mysterious syntax errors, put this sort of thing at
+the top of your file to signal that your code will work I<only> on Perls of
+a recent vintage:
+
+ use 5.014; # so push/pop/etc work on scalars (experimental)
+
=item split /PATTERN/,EXPR,LIMIT
X<split>
@@ -5935,124 +6702,162 @@ X<split>
=item split
-Splits the string EXPR into a list of strings and returns that list. By
-default, empty leading fields are preserved, and empty trailing ones are
-deleted. (If all fields are empty, they are considered to be trailing.)
+=for Pod::Functions split up a string using a regexp delimiter
+
+Splits the string EXPR into a list of strings and returns the
+list in list context, or the size of the list in scalar context.
+
+If only PATTERN is given, EXPR defaults to C<$_>.
+
+Anything in EXPR that matches PATTERN is taken to be a separator
+that separates the EXPR into substrings (called "I<fields>") that
+do B<not> include the separator. Note that a separator may be
+longer than one character or even have no characters at all (the
+empty string, which is a zero-width match).
+
+The PATTERN need not be constant; an expression may be used
+to specify a pattern that varies at runtime.
+
+If PATTERN matches the empty string, the EXPR is split at the match
+position (between characters). As an example, the following:
+
+ print join(':', split('b', 'abc')), "\n";
+
+uses the 'b' in 'abc' as a separator to produce the output 'a:c'.
+However, this:
+
+ print join(':', split('', 'abc')), "\n";
-In scalar context, returns the number of fields found.
+uses empty string matches as separators to produce the output
+'a:b:c'; thus, the empty string may be used to split EXPR into a
+list of its component characters.
-If EXPR is omitted, splits the C<$_> string. If PATTERN is also omitted,
-splits on whitespace (after skipping any leading whitespace). Anything
-matching PATTERN is taken to be a delimiter separating the fields. (Note
-that the delimiter may be longer than one character.)
+As a special case for C<split>, the empty pattern given in
+L<match operator|perlop/"m/PATTERN/msixpodualgc"> syntax (C<//>) specifically matches the empty string, which is contrary to its usual
+interpretation as the last successful match.
+
+If PATTERN is C</^/>, then it is treated as if it used the
+L<multiline modifier|perlreref/OPERATORS> (C</^/m>), since it
+isn't much use otherwise.
+
+As another special case, C<split> emulates the default behavior of the
+command line tool B<awk> when the PATTERN is either omitted or a I<literal
+string> composed of a single space character (such as S<C<' '>> or
+S<C<"\x20">>, but not e.g. S<C</ />>). In this case, any leading
+whitespace in EXPR is removed before splitting occurs, and the PATTERN is
+instead treated as if it were C</\s+/>; in particular, this means that
+I<any> contiguous whitespace (not just a single space character) is used as
+a separator. However, this special treatment can be avoided by specifying
+the pattern S<C</ />> instead of the string S<C<" ">>, thereby allowing
+only a single space character to be a separator.
+
+If omitted, PATTERN defaults to a single space, S<C<" ">>, triggering
+the previously described I<awk> emulation.
If LIMIT is specified and positive, it represents the maximum number
-of fields the EXPR will be split into, though the actual number of
-fields returned depends on the number of times PATTERN matches within
-EXPR. If LIMIT is unspecified or zero, trailing null fields are
-stripped (which potential users of C<pop> would do well to remember).
-If LIMIT is negative, it is treated as if an arbitrarily large LIMIT
-had been specified. Note that splitting an EXPR that evaluates to the
-empty string always returns the empty list, regardless of the LIMIT
-specified.
+of fields into which the EXPR may be split; in other words, LIMIT is
+one greater than the maximum number of times EXPR may be split. Thus,
+the LIMIT value C<1> means that EXPR may be split a maximum of zero
+times, producing a maximum of one field (namely, the entire value of
+EXPR). For instance:
-A pattern matching the empty string (not to be confused with
-an empty pattern C<//>, which is just one member of the set of patterns
-matching the epmty string), splits EXPR into individual
-characters. For example:
+ print join(':', split(//, 'abc', 1)), "\n";
- print join(':', split(/ */, 'hi there')), "\n";
+produces the output 'abc', and this:
-produces the output 'h:i:t:h:e:r:e'.
+ print join(':', split(//, 'abc', 2)), "\n";
-As a special case for C<split>, the empty pattern C<//> specifically
-matches the empty string; this is not be confused with the normal use
-of an empty pattern to mean the last successful match. So to split
-a string into individual characters, the following:
+produces the output 'a:bc', and each of these:
- print join(':', split(//, 'hi there')), "\n";
+ print join(':', split(//, 'abc', 3)), "\n";
+ print join(':', split(//, 'abc', 4)), "\n";
-produces the output 'h:i: :t:h:e:r:e'.
+produces the output 'a:b:c'.
-Empty leading fields are produced when there are positive-width matches at
-the beginning of the string; a zero-width match at the beginning of
-the string does not produce an empty field. For example:
+If LIMIT is negative, it is treated as if it were instead arbitrarily
+large; as many fields as possible are produced.
- print join(':', split(/(?=\w)/, 'hi there!'));
+If LIMIT is omitted (or, equivalently, zero), then it is usually
+treated as if it were instead negative but with the exception that
+trailing empty fields are stripped (empty leading fields are always
+preserved); if all fields are empty, then all fields are considered to
+be trailing (and are thus stripped in this case). Thus, the following:
-produces the output 'h:i :t:h:e:r:e!'. Empty trailing fields, on the other
-hand, are produced when there is a match at the end of the string (and
-when LIMIT is given and is not 0), regardless of the length of the match.
-For example:
+ print join(':', split(',', 'a,b,c,,,')), "\n";
- print join(':', split(//, 'hi there!', -1)), "\n";
- print join(':', split(/\W/, 'hi there!', -1)), "\n";
+produces the output 'a:b:c', but the following:
-produce the output 'h:i: :t:h:e:r:e:!:' and 'hi:there:', respectively,
-both with an empty trailing field.
+ print join(':', split(',', 'a,b,c,,,', -1)), "\n";
-The LIMIT parameter can be used to split a line partially
+produces the output 'a:b:c:::'.
- ($login, $passwd, $remainder) = split(/:/, $_, 3);
+In time-critical applications, it is worthwhile to avoid splitting
+into more fields than necessary. Thus, when assigning to a list,
+if LIMIT is omitted (or zero), then LIMIT is treated as though it
+were one larger than the number of variables in the list; for the
+following, LIMIT is implicitly 4:
-When assigning to a list, if LIMIT is omitted, or zero, Perl supplies
-a LIMIT one larger than the number of variables in the list, to avoid
-unnecessary work. For the list above LIMIT would have been 4 by
-default. In time critical applications it behooves you not to split
-into more fields than you really need.
+ ($login, $passwd, $remainder) = split(/:/);
-If the PATTERN contains parentheses, additional list elements are
-created from each matching substring in the delimiter.
+Note that splitting an EXPR that evaluates to the empty string always
+produces zero fields, regardless of the LIMIT specified.
- split(/([,-])/, "1-10,20", 3);
+An empty leading field is produced when there is a positive-width
+match at the beginning of EXPR. For instance:
-produces the list value
+ print join(':', split(/ /, ' abc')), "\n";
- (1, '-', 10, ',', 20)
+produces the output ':abc'. However, a zero-width match at the
+beginning of EXPR never produces an empty field, so that:
-If you had the entire header of a normal Unix email message in $header,
-you could split it up into fields and their values this way:
+ print join(':', split(//, ' abc'));
- $header =~ s/\n(?=\s)//g; # fix continuation lines
- %hdrs = (UNIX_FROM => split /^(\S*?):\s*/m, $header);
+produces the output S<' :a:b:c'> (rather than S<': :a:b:c'>).
-The pattern C</PATTERN/> may be replaced with an expression to specify
-patterns that vary at runtime. (To do runtime compilation only once,
-use C</$variable/o>.)
+An empty trailing field, on the other hand, is produced when there is a
+match at the end of EXPR, regardless of the length of the match
+(of course, unless a non-zero LIMIT is given explicitly, such fields are
+removed, as in the last example). Thus:
-As a special case, specifying a PATTERN of space (S<C<' '>>) will split on
-white space just as C<split> with no arguments does. Thus, S<C<split(' ')>> can
-be used to emulate B<awk>'s default behavior, whereas S<C<split(/ /)>>
-will give you as many initial null fields (empty string) as there are leading spaces.
-A C<split> on C</\s+/> is like a S<C<split(' ')>> except that any leading
-whitespace produces a null first field. A C<split> with no arguments
-really does a S<C<split(' ', $_)>> internally.
+ print join(':', split(//, ' abc', -1)), "\n";
-A PATTERN of C</^/> is treated as if it were C</^/m>, since it isn't
-much use otherwise.
+produces the output S<' :a:b:c:'>.
-Example:
+If the PATTERN contains
+L<capturing groups|perlretut/Grouping things and hierarchical matching>,
+then for each separator, an additional field is produced for each substring
+captured by a group (in the order in which the groups are specified,
+as per L<backreferences|perlretut/Backreferences>); if any group does not
+match, then it captures the C<undef> value instead of a substring. Also,
+note that any such additional field is produced whenever there is a
+separator (that is, whenever a split occurs), and such an additional field
+does B<not> count towards the LIMIT. Consider the following expressions
+evaluated in list context (each returned list is provided in the associated
+comment):
- open(PASSWD, '/etc/passwd');
- while (<PASSWD>) {
- chomp;
- ($login, $passwd, $uid, $gid,
- $gcos, $home, $shell) = split(/:/);
- #...
- }
+ split(/-|,/, "1-10,20", 3)
+ # ('1', '10', '20')
-As with regular pattern matching, any capturing parentheses that are not
-matched in a C<split()> will be set to C<undef> when returned:
+ split(/(-|,)/, "1-10,20", 3)
+ # ('1', '-', '10', ',', '20')
- @fields = split /(A)|B/, "1A2B3";
- # @fields is (1, 'A', 2, undef, 3)
+ split(/-|(,)/, "1-10,20", 3)
+ # ('1', undef, '10', ',', '20')
+
+ split(/(-)|,/, "1-10,20", 3)
+ # ('1', '-', '10', undef, '20')
+
+ split(/(-)|(,)/, "1-10,20", 3)
+ # ('1', '-', undef, '10', undef, ',', '20')
=item sprintf FORMAT, LIST
X<sprintf>
+=for Pod::Functions formatted print into a string
+
Returns a string formatted by the usual C<printf> conventions of the C
library function C<sprintf>. See below for more details
-and see C<sprintf(3)> or C<printf(3)> on your system for an explanation of
+and see L<sprintf(3)> or L<printf(3)> on your system for an explanation of
the general principles.
For example:
@@ -6070,7 +6875,8 @@ Non-standard extensions in your local sprintf(3) are
therefore unavailable from Perl.
Unlike C<printf>, C<sprintf> does not do what you probably mean when you
-pass it an array as your first argument. The array is given scalar context,
+pass it an array as your first argument.
+The array is given scalar context,
and instead of using the 0th element of the array as the format, Perl will
use the count of elements in the array as the format, which is almost never
useful.
@@ -6097,7 +6903,7 @@ In addition, Perl permits the following widely-supported conversions:
%B like %b, but using an upper-case "B" with the # flag
%p a pointer (outputs the Perl value's address in hexadecimal)
%n special: *stores* the number of characters output so far
- into the next variable in the parameter list
+ into the next argument in the parameter list
Finally, for backward (and we do mean "backward") compatibility, Perl
permits these unnecessary but widely-supported conversions:
@@ -6122,7 +6928,7 @@ In order, these are:
=item format parameter index
-An explicit format parameter index, such as C<2$>. By default sprintf
+An explicit format parameter index, such as C<2$>. By default sprintf
will format the next unused argument in the list, but this allows you
to take the arguments out of order:
@@ -6170,9 +6976,9 @@ the precision is incremented if it's necessary for the leading "0".
=item vector flag
This flag tells Perl to interpret the supplied string as a vector of
-integers, one for each character in the string. Perl applies the format to
+integers, one for each character in the string. Perl applies the format to
each integer in turn, then joins the resulting strings with a separator (a
-dot C<.> by default). This can be useful for displaying ordinal values of
+dot C<.> by default). This can be useful for displaying ordinal values of
characters in arbitrary strings:
printf "%vd", "AB\x{100}"; # prints "65.66.256"
@@ -6192,7 +6998,7 @@ the join string using something like C<*2$v>; for example:
=item (minimum) width
Arguments are usually formatted to be only as wide as required to
-display the given value. You can override the width by putting
+display the given value. You can override the width by putting
a number here, or get the width from the next argument (with C<*>)
or from a specified argument (e.g., with C<*2$>):
@@ -6222,7 +7028,7 @@ For example:
printf '<%.1e>', 10; # prints "<1.0e+01>"
For "g" and "G", this specifies the maximum number of digits to show,
-including thoe prior to the decimal point and those after it; for
+including those prior to the decimal point and those after it; for
example:
# These examples are subject to system-specific variation.
@@ -6284,7 +7090,7 @@ example using C<.*2$>:
=item size
For numeric conversions, you can specify the size to interpret the
-number as using C<l>, C<h>, C<V>, C<q>, C<L>, or C<ll>. For integer
+number as using C<l>, C<h>, C<V>, C<q>, C<L>, or C<ll>. For integer
conversions (C<d u o x X b i D U O>), numbers are usually assumed to be
whatever the default integer size is on your platform (usually 32 or 64
bits), but you can override this to use instead one of the standard C types,
@@ -6293,13 +7099,13 @@ as supported by the compiler used to build Perl:
hh interpret integer as C type "char" or "unsigned char"
on Perl 5.14 or later
h interpret integer as C type "short" or "unsigned short"
- j intepret integer as C type "intmax_t" on Perl 5.14
+ j interpret integer as C type "intmax_t" on Perl 5.14
or later, and only with a C99 compiler (unportable)
l interpret integer as C type "long" or "unsigned long"
q, L, or ll interpret integer as C type "long long", "unsigned long long",
or "quad" (typically 64-bit integers)
- t intepret integer as C type "ptrdiff_t" on Perl 5.14 or later
- z intepret integer as C type "size_t" on Perl 5.14 or later
+ t interpret integer as C type "ptrdiff_t" on Perl 5.14 or later
+ z interpret integer as C type "size_t" on Perl 5.14 or later
As of 5.14, none of these raises an exception if they are not supported on
your platform. However, if warnings are enabled, a warning of the
@@ -6323,7 +7129,7 @@ You can find out whether your Perl supports quads via L<Config>:
For floating-point conversions (C<e f g E F G>), numbers are usually assumed
to be the default floating-point size on your platform (double or long double),
but you can force "long double" with C<q>, C<L>, or C<ll> if your
-platform supports them. You can find out whether your Perl supports long
+platform supports them. You can find out whether your Perl supports long
doubles via L<Config>:
use Config;
@@ -6350,7 +7156,7 @@ integer or floating-point number", which is the default.
=item order of arguments
Normally, sprintf() takes the next unused argument as the value to
-format for each format specification. If the format specification
+format for each format specification. If the format specification
uses C<*> to require additional arguments, these are consumed from
the argument list in the order they appear in the format
specification I<before> the value to format. Where an argument is
@@ -6380,7 +7186,8 @@ index, the C<$> may need escaping:
=back
-If C<use locale> is in effect and POSIX::setlocale() has been called,
+If C<use locale> (including C<use locale 'not_characters'>) is in effect
+and POSIX::setlocale() has been called,
the character used for the decimal separator in formatted floating-point
numbers is affected by the LC_NUMERIC locale. See L<perllocale>
and L<POSIX>.
@@ -6390,6 +7197,8 @@ X<sqrt> X<root> X<square root>
=item sqrt
+=for Pod::Functions square root function
+
Return the positive square root of EXPR. If EXPR is omitted, uses
C<$_>. Works only for non-negative operands unless you've
loaded the C<Math::Complex> module.
@@ -6402,13 +7211,18 @@ X<srand> X<seed> X<randseed>
=item srand
+=for Pod::Functions seed the random number generator
+
Sets and returns the random number seed for the C<rand> operator.
-The point of the function is to "seed" the C<rand> function so that
-C<rand> can produce a different sequence each time you run your
-program. When called with a parameter, C<srand> uses that for the seed;
-otherwise it (semi-)randomly chooses a seed. In either case, starting with
-Perl 5.14, it returns the seed.
+The point of the function is to "seed" the C<rand> function so that C<rand>
+can produce a different sequence each time you run your program. When
+called with a parameter, C<srand> uses that for the seed; otherwise it
+(semi-)randomly chooses a seed. In either case, starting with Perl 5.14,
+it returns the seed. To signal that your code will work I<only> on Perls
+of a recent vintage:
+
+ use 5.014; # so srand returns the seed
If C<srand()> is not called explicitly, it is called implicitly without a
parameter at the first use of the C<rand> operator. However, this was not true
@@ -6419,10 +7233,7 @@ C<srand()> at all.
But there are a few situations in recent Perls where programs are likely to
want to call C<srand>. One is for generating predictable results generally for
testing or debugging. There, you use C<srand($seed)>, with the same C<$seed>
-each time. Another other case is where you need a cryptographically-strong
-starting point rather than the generally acceptable default, which is based on
-time of day, process ID, and memory allocation, or the F</dev/urandom> device
-if available. And still another case is that you may want to call C<srand()>
+each time. Another case is that you may want to call C<srand()>
after a C<fork()> to avoid child processes sharing the same seed value as the
parent (and consequently each other).
@@ -6441,16 +7252,6 @@ current C<time>. This isn't a particularly good seed, so many old
programs supply their own seed value (often C<time ^ $$> or C<time ^
($$ + ($$ << 15))>), but that isn't necessary any more.
-For cryptographic purposes, however, you need something much more random
-than the default seed. Checksumming the compressed output of one or more
-rapidly changing operating system status programs is the usual method. For
-example:
-
- srand (time ^ $$ ^ unpack "%L*", `ps axww | gzip -f`);
-
-If you're particularly concerned with this, search the CPAN for
-random number generator modules instead of rolling out your own.
-
Frequently called programs (like CGI scripts) that simply use
time ^ $$
@@ -6466,6 +7267,13 @@ combinations to test comprehensively in the time available to it each run. It
can test a random subset each time, and should there be a failure, log the seed
used for that run so that it can later be used to reproduce the same results.
+B<C<rand()> is not cryptographically secure. You should not rely
+on it in security-sensitive situations.> As of this writing, a
+number of third-party CPAN modules offer random number generators
+intended by their authors to be cryptographically secure,
+including: L<Data::Entropy>, L<Crypt::Random>, L<Math::Random::Secure>,
+and L<Math::TrulyRandom>.
+
=item stat FILEHANDLE
X<stat> X<file, status> X<ctime>
@@ -6475,6 +7283,8 @@ X<stat> X<file, status> X<ctime>
=item stat
+=for Pod::Functions get a file's status information
+
Returns a 13-element list giving the status info for a file, either
the file opened via FILEHANDLE or DIRHANDLE, or named by EXPR. If EXPR is
omitted, it stats C<$_> (not C<_>!). Returns the empty list if C<stat> fails. Typically
@@ -6503,7 +7313,7 @@ meanings of the fields:
(The epoch was at 00:00 January 1, 1970 GMT.)
-(*) Not all fields are supported on all filesystem types. Notably, the
+(*) Not all fields are supported on all filesystem types. Notably, the
ctime field is non-portable. In particular, you cannot expect it to be a
"creation time"; see L<perlport/"Files and Filesystems"> for details.
@@ -6563,26 +7373,29 @@ Commonly available C<S_IF*> constants are:
S_IRWXO S_IROTH S_IWOTH S_IXOTH
# Setuid/Setgid/Stickiness/SaveText.
- # Note that the exact meaning of these is system dependent.
+ # Note that the exact meaning of these is system-dependent.
S_ISUID S_ISGID S_ISVTX S_ISTXT
- # File types. Not necessarily all are available on your system.
+ # File types. Not all are necessarily available on
+ # your system.
- S_IFREG S_IFDIR S_IFLNK S_IFBLK S_IFCHR S_IFIFO S_IFSOCK S_IFWHT S_ENFMT
+ S_IFREG S_IFDIR S_IFLNK S_IFBLK S_IFCHR
+ S_IFIFO S_IFSOCK S_IFWHT S_ENFMT
- # The following are compatibility aliases for S_IRUSR, S_IWUSR, S_IXUSR.
+ # The following are compatibility aliases for S_IRUSR,
+ # S_IWUSR, and S_IXUSR.
S_IREAD S_IWRITE S_IEXEC
and the C<S_IF*> functions are
- S_IMODE($mode) the part of $mode containing the permission bits
- and the setuid/setgid/sticky bits
+ S_IMODE($mode) the part of $mode containing the permission
+ bits and the setuid/setgid/sticky bits
- S_IFMT($mode) the part of $mode containing the file type
- which can be bit-anded with (for example) S_IFREG
- or with the following functions
+ S_IFMT($mode) the part of $mode containing the file type
+ which can be bit-anded with (for example)
+ S_IFREG or with the following functions
# The operators -f, -d, -l, -b, -c, -p, and -S.
@@ -6599,6 +7412,8 @@ See your native chmod(2) and stat(2) documentation for more details
about the C<S_*> constants. To get status info for a symbolic link
instead of the target file behind the link, use the C<lstat> function.
+Portability issues: L<perlport/stat>.
+
=item state EXPR
X<state>
@@ -6608,19 +7423,25 @@ X<state>
=item state TYPE EXPR : ATTRS
-C<state> declares a lexically scoped variable, just like C<my> does.
+=for Pod::Functions +state declare and assign a persistent lexical variable
+
+C<state> declares a lexically scoped variable, just like C<my>.
However, those variables will never be reinitialized, contrary to
lexical variables that are reinitialized each time their enclosing block
is entered.
+See L<perlsub/"Persistent Private Variables"> for details.
C<state> variables are enabled only when the C<use feature "state"> pragma
-is in effect. See L<feature>.
+is in effect, unless the keyword is written as C<CORE::state>.
+See also L<feature>.
=item study SCALAR
X<study>
=item study
+=for Pod::Functions optimize input data for repeated searches
+
Takes extra time to study SCALAR (C<$_> if unspecified) in anticipation of
doing many pattern matches on the string before it is next modified.
This may or may not save time, depending on the nature and number of
@@ -6628,9 +7449,8 @@ patterns you are searching and the distribution of character
frequencies in the string to be searched; you probably want to compare
run times with and without it to see which is faster. Those loops
that scan for many short constant strings (including the constant
-parts of more complex patterns) will benefit most. You may have only
-one C<study> active at a time: if you study a different scalar the first
-is "unstudied". (The way C<study> works is this: a linked list of every
+parts of more complex patterns) will benefit most.
+(The way C<study> works is this: a linked list of every
character in the string to be searched is made, so we know, for
example, where all the C<'k'> characters are. From each search string,
the rarest character is selected, based on some static frequency tables
@@ -6685,6 +7505,8 @@ X<sub>
=item sub NAME (PROTO) : ATTRS BLOCK
+=for Pod::Functions declare a subroutine, possibly anonymously
+
This is subroutine definition, not a real function I<per se>. Without a
BLOCK it's just a forward declaration. Without a NAME, it's an anonymous
function declaration, so does return a value: the CODE ref of the closure
@@ -6694,6 +7516,17 @@ See L<perlsub> and L<perlref> for details about subroutines and
references; see L<attributes> and L<Attribute::Handlers> for more
information about attributes.
+=item __SUB__
+X<__SUB__>
+
+=for Pod::Functions +current_sub the current subroutine, or C<undef> if not in a subroutine
+
+A special token that returns the a reference to the current subroutine, or
+C<undef> outside of a subroutine.
+
+This token is only available under C<use v5.16> or the "current_sub"
+feature. See L<feature>.
+
=item substr EXPR,OFFSET,LENGTH,REPLACEMENT
X<substr> X<substring> X<mid> X<left> X<right>
@@ -6701,9 +7534,10 @@ X<substr> X<substring> X<mid> X<left> X<right>
=item substr EXPR,OFFSET
+=for Pod::Functions get or alter a portion of a string
+
Extracts a substring out of EXPR and returns it. First character is at
-offset C<0> (or whatever you've set C<$[> to (but B<<don't do that>)).
-If OFFSET is negative (or more precisely, less than C<$[>), starts
+offset zero. If OFFSET is negative, starts
that far back from the end of the string. If LENGTH is omitted, returns
everything through the end of the string. If LENGTH is negative, leaves that
many characters off the end of the string.
@@ -6755,12 +7589,25 @@ of the original string is being modified; for example:
$_ = 'pq'; print $x,"\n"; # prints 5pq9
}
-Prior to Perl version 5.9.1, the result of using an lvalue multiple times was
+With negative offsets, it remembers its position from the end of the string
+when the target string is modified:
+
+ $x = '1234';
+ for (substr($x, -3, 2)) {
+ $_ = 'a'; print $x,"\n"; # prints 1a4, as above
+ $x = 'abcdefg';
+ print $_,"\n"; # prints f
+ }
+
+Prior to Perl version 5.10, the result of using an lvalue multiple times was
+unspecified. Prior to 5.16, the result with negative offsets was
unspecified.
=item symlink OLDFILE,NEWFILE
X<symlink> X<link> X<symbolic link> X<link, symbolic>
+=for Pod::Functions create a symbolic link to a file
+
Creates a new filename symbolically linked to the old filename.
Returns C<1> for success, C<0> otherwise. On systems that don't support
symbolic links, raises an exception. To check for that,
@@ -6768,9 +7615,13 @@ use eval:
$symlink_exists = eval { symlink("",""); 1 };
+Portability issues: L<perlport/symlink>.
+
=item syscall NUMBER, LIST
X<syscall> X<system call>
+=for Pod::Functions execute an arbitrary system call
+
Calls the system call specified as the first element of the list,
passing the remaining elements as arguments to the system call. If
unimplemented, raises an exception. The arguments are interpreted
@@ -6803,14 +7654,18 @@ number of the read end of the pipe it creates, but there is no way
to retrieve the file number of the other end. You can avoid this
problem by using C<pipe> instead.
+Portability issues: L<perlport/syscall>.
+
=item sysopen FILEHANDLE,FILENAME,MODE
X<sysopen>
=item sysopen FILEHANDLE,FILENAME,MODE,PERMS
+=for Pod::Functions +5.002 open a file, pipe, or descriptor
+
Opens the file whose filename is given by FILENAME, and associates it with
FILEHANDLE. If FILEHANDLE is an expression, its value is used as the real
-filehandle wanted; an undefined scalar will be suitably autovivified. This
+filehandle wanted; an undefined scalar will be suitably autovivified. This
function calls the underlying operating system's I<open>(2) function with the
parameters FILENAME, MODE, and PERMS.
@@ -6860,17 +7715,21 @@ on this.
Note that C<sysopen> depends on the fdopen() C library function.
On many Unix systems, fdopen() is known to fail when file descriptors
-exceed a certain value, typically 255. If you need more file
+exceed a certain value, typically 255. If you need more file
descriptors than that, consider rebuilding Perl to use the C<sfio>
library, or perhaps using the POSIX::open() function.
See L<perlopentut> for a kinder, gentler explanation of opening files.
+Portability issues: L<perlport/sysopen>.
+
=item sysread FILEHANDLE,SCALAR,LENGTH,OFFSET
X<sysread>
=item sysread FILEHANDLE,SCALAR,LENGTH
+=for Pod::Functions fixed-length unbuffered input from a filehandle
+
Attempts to read LENGTH bytes of data into variable SCALAR from the
specified FILEHANDLE, using the read(2). It bypasses
buffered IO, so mixing this with other kinds of reads, C<print>,
@@ -6901,6 +7760,8 @@ See L</binmode>, L</open>, and the C<open> pragma, L<open>.
=item sysseek FILEHANDLE,POSITION,WHENCE
X<sysseek> X<lseek>
+=for Pod::Functions +5.004 position I/O pointer on handle used with sysread and syswrite
+
Sets FILEHANDLE's system position in bytes using lseek(2). FILEHANDLE may
be an expression whose value gives the name of the filehandle. The values
for WHENCE are C<0> to set the new position to POSITION; C<1> to set the it
@@ -6934,6 +7795,8 @@ X<system> X<shell>
=item system PROGRAM LIST
+=for Pod::Functions run a separate program
+
Does exactly the same thing as C<exec LIST>, except that a fork is
done first and the parent process waits for the child process to
exit. Note that argument processing varies depending on the
@@ -6956,7 +7819,7 @@ of C<IO::Handle> on any open handles.
The return value is the exit status of the program as returned by the
C<wait> call. To get the actual exit value, shift right by eight (see
-below). See also L</exec>. This is I<not> what you want to use to capture
+below). See also L</exec>. This is I<not> what you want to use to capture
the output from a command; for that you should use merely backticks or
C<qx//>, as described in L<perlop/"`STRING`">. Return value of -1
indicates a failure to start the program or an error of the wait(2) system
@@ -6999,7 +7862,9 @@ results and return codes are subject to its quirks.
See L<perlop/"`STRING`"> and L</exec> for details.
Since C<system> does a C<fork> and C<wait> it may affect a C<SIGCHLD>
-handler. See L<perlipc> for details.
+handler. See L<perlipc> for details.
+
+Portability issues: L<perlport/system>.
=item syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET
X<syswrite>
@@ -7008,6 +7873,8 @@ X<syswrite>
=item syswrite FILEHANDLE,SCALAR
+=for Pod::Functions fixed-length unbuffered output to a filehandle
+
Attempts to write LENGTH bytes of data from variable SCALAR to the
specified FILEHANDLE, using write(2). If LENGTH is
not specified, writes whole SCALAR. It bypasses buffered IO, so
@@ -7037,6 +7904,8 @@ X<tell>
=item tell
+=for Pod::Functions get current seekpointer on a filehandle
+
Returns the current position I<in bytes> for FILEHANDLE, or -1 on
error. FILEHANDLE may be an expression whose value gives the name of
the actual filehandle. If FILEHANDLE is omitted, assumes the file
@@ -7060,6 +7929,8 @@ Those functions ignore the buffering, while tell() does not.
=item telldir DIRHANDLE
X<telldir>
+=for Pod::Functions get current seekpointer on a directory handle
+
Returns the current position of the C<readdir> routines on DIRHANDLE.
Value may be given to C<seekdir> to access a particular location in a
directory. C<telldir> has the same caveats about possible directory
@@ -7068,6 +7939,8 @@ compaction as the corresponding system library routine.
=item tie VARIABLE,CLASSNAME,LIST
X<tie>
+=for Pod::Functions +5.002 bind a variable to an object class
+
This function binds a variable to a package class that will provide the
implementation for the variable. VARIABLE is the name of the variable
to be enchanted. CLASSNAME is the name of a class implementing objects
@@ -7160,6 +8033,8 @@ For further details see L<perltie>, L<"tied VARIABLE">.
=item tied VARIABLE
X<tied>
+=for Pod::Functions get a reference to the object underlying a tied variable
+
Returns a reference to the object underlying VARIABLE (the same value
that was originally returned by the C<tie> call that bound the variable
to a package.) Returns the undefined value if VARIABLE isn't tied to a
@@ -7168,9 +8043,11 @@ package.
=item time
X<time> X<epoch>
+=for Pod::Functions return number of seconds since 1970
+
Returns the number of non-leap seconds since whatever time the system
considers to be the epoch, suitable for feeding to C<gmtime> and
-C<localtime>. On most systems the epoch is 00:00:00 UTC, January 1, 1970;
+C<localtime>. On most systems the epoch is 00:00:00 UTC, January 1, 1970;
a prominent exception being Mac OS Classic which uses 00:00:00, January 1,
1904 in the current local time zone for its epoch.
@@ -7186,6 +8063,8 @@ L<DateTime> module.
=item times
X<times>
+=for Pod::Functions return elapsed time for self and child processes
+
Returns a four-element list giving the user and system times in
seconds for this process and any exited children of this process.
@@ -7195,8 +8074,12 @@ In scalar context, C<times> returns C<$user>.
Children's times are only included for terminated children.
+Portability issues: L<perlport/times>.
+
=item tr///
+=for Pod::Functions transliterate a string
+
The transliteration operator. Same as C<y///>. See
L<perlop/"Quote and Quote-like Operators">.
@@ -7205,6 +8088,8 @@ X<truncate>
=item truncate EXPR,LENGTH
+=for Pod::Functions shorten a file
+
Truncates the file opened on FILEHANDLE, or named by EXPR, to the
specified length. Raises an exception if truncate isn't implemented
on your system. Returns true if successful, C<undef> on error.
@@ -7215,11 +8100,15 @@ file.
The position in the file of FILEHANDLE is left unchanged. You may want to
call L<seek|/"seek FILEHANDLE,POSITION,WHENCE"> before writing to the file.
+Portability issues: L<perlport/truncate>.
+
=item uc EXPR
X<uc> X<uppercase> X<toupper>
=item uc
+=for Pod::Functions return upper-case version of a string
+
Returns an uppercased version of EXPR. This is the internal function
implementing the C<\U> escape in double-quoted strings.
It does not attempt to do titlecase mapping on initial letters. See
@@ -7235,6 +8124,8 @@ X<ucfirst> X<uppercase>
=item ucfirst
+=for Pod::Functions return a string with just the next letter in upper case
+
Returns the value of EXPR with the first character in uppercase
(titlecase in Unicode). This is the internal function implementing
the C<\u> escape in double-quoted strings.
@@ -7249,6 +8140,8 @@ X<umask>
=item umask
+=for Pod::Functions set file creation mode mask
+
Sets the umask for the process to EXPR and returns the previous value.
If EXPR is omitted, merely returns the current umask.
@@ -7282,16 +8175,20 @@ not trying to restrict access for yourself, returns C<undef>.
Remember that a umask is a number, usually given in octal; it is I<not> a
string of octal digits. See also L</oct>, if all you have is a string.
+Portability issues: L<perlport/umask>.
+
=item undef EXPR
X<undef> X<undefine>
=item undef
+=for Pod::Functions remove a variable or function definition
+
Undefines the value of EXPR, which must be an lvalue. Use only on a
scalar value, an array (using C<@>), a hash (using C<%>), a subroutine
(using C<&>), or a typeglob (using C<*>). Saying C<undef $hash{$key}>
will probably not do what you expect on most predefined variables or
-DBM list values, so don't do that; see L<delete>. Always returns the
+DBM list values, so don't do that; see L</delete>. Always returns the
undefined value. You can omit the EXPR, in which case nothing is
undefined, but you still get an undefined value that you could, for
instance, return from a subroutine, assign to a variable, or pass as a
@@ -7314,8 +8211,10 @@ X<unlink> X<delete> X<remove> X<rm> X<del>
=item unlink
-Deletes a list of files. On success, it returns the number of files
-it successfully deleted. On failure, it returns false and sets C<$!>
+=for Pod::Functions remove one link to a file
+
+Deletes a list of files. On success, it returns the number of files
+it successfully deleted. On failure, it returns false and sets C<$!>
(errno):
my $unlinked = unlink 'a', 'b', 'c';
@@ -7331,7 +8230,7 @@ at a time:
}
Note: C<unlink> will not attempt to delete directories unless you are
-superuser and the B<-U> flag is supplied to Perl. Even if these
+superuser and the B<-U> flag is supplied to Perl. Even if these
conditions are met, be warned that unlinking a directory can inflict
damage on your filesystem. Finally, using C<unlink> on directories is
not supported on many operating systems. Use C<rmdir> instead.
@@ -7343,6 +8242,8 @@ X<unpack>
=item unpack TEMPLATE
+=for Pod::Functions convert binary structure into normal perl variables
+
C<unpack> does the reverse of C<pack>: it takes a string
and expands it out into a list of values.
(In scalar context, it returns merely the first value produced.)
@@ -7400,17 +8301,13 @@ the remainder of that input string is ignored.
See L</pack> for more examples and notes.
-=item untie VARIABLE
-X<untie>
-
-Breaks the binding between a variable and a package. (See C<tie>.)
-Has no effect if the variable is not tied.
-
=item unshift ARRAY,LIST
X<unshift>
=item unshift EXPR,LIST
+=for Pod::Functions prepend more elements to the beginning of a list
+
Does the opposite of a C<shift>. Or the opposite of a C<push>,
depending on how you look at it. Prepends list to the front of the
array and returns the new number of elements in the array.
@@ -7426,6 +8323,22 @@ a reference to an unblessed array. The argument will be dereferenced
automatically. This aspect of C<unshift> is considered highly
experimental. The exact behaviour may change in a future version of Perl.
+To avoid confusing would-be users of your code who are running earlier
+versions of Perl with mysterious syntax errors, put this sort of thing at
+the top of your file to signal that your code will work I<only> on Perls of
+a recent vintage:
+
+ use 5.014; # so push/pop/etc work on scalars (experimental)
+
+=item untie VARIABLE
+X<untie>
+
+=for Pod::Functions break a tie binding to a variable
+
+Breaks the binding between a variable and a package.
+(See L<tie|/tie VARIABLE,CLASSNAME,LIST>.)
+Has no effect if the variable is not tied.
+
=item use Module VERSION LIST
X<use> X<module> X<import>
@@ -7437,6 +8350,8 @@ X<use> X<module> X<import>
=item use VERSION
+=for Pod::Functions load in a module at compile time and import its namespace
+
Imports some semantics into the current package from the named module,
generally by aliasing certain subroutine or variable names into your
package. It is exactly equivalent to
@@ -7468,12 +8383,15 @@ This is often useful if you need to check the current Perl version before
C<use>ing library modules that won't work with older versions of Perl.
(We try not to do this more than we have to.)
-Also, if the specified Perl version is greater than or equal to 5.9.5,
-C<use VERSION> will also load the C<feature> pragma and enable all
-features available in the requested version. See L<feature>.
+C<use VERSION> also enables all features available in the requested
+version as defined by the C<feature> pragma, disabling any features
+not in the requested version's feature bundle. See L<feature>.
Similarly, if the specified Perl version is greater than or equal to
-5.11.0, strictures are enabled lexically as with C<use strict> (except
-that the F<strict.pm> file is not actually loaded).
+5.11.0, strictures are enabled lexically as
+with C<use strict>. Any explicit use of
+C<use strict> or C<no strict> overrides C<use VERSION>, even if it comes
+before it. In both cases, the F<feature.pm> and F<strict.pm> files are
+not actually loaded.
The C<BEGIN> forces the C<require> and C<import> to happen at compile time. The
C<require> makes sure the module is loaded into memory if it hasn't been
@@ -7552,6 +8470,8 @@ functionality from the command-line.
=item utime LIST
X<utime>
+=for Pod::Functions set a file's last access and modify times
+
Changes the access and modification times on each file of a list of
files. The first two elements of the list must be the NUMERIC access
and modification times, in that order. Returns the number of files
@@ -7566,7 +8486,7 @@ the user running the program:
Since Perl 5.7.2, if the first two elements of the list are C<undef>,
the utime(2) syscall from your C library is called with a null second
-argument. On most systems, this will set the file's access and
+argument. On most systems, this will set the file's access and
modification times to the current time (i.e., equivalent to the example
above) and will work even on files you don't own provided you have write
permission:
@@ -7592,6 +8512,8 @@ files. On systems that don't support futimes(2), passing filehandles raises
an exception. Filehandles must be passed as globs or glob references to be
recognized; barewords are considered filenames.
+Portability issues: L<perlport/utime>.
+
=item values HASH
X<values>
@@ -7599,24 +8521,27 @@ X<values>
=item values EXPR
-Returns a list consisting of all the values of the named hash, or the values
-of an array. (In scalar context, returns the number of values.)
+=for Pod::Functions return a list of the values in a hash
-The values are returned in an apparently random order. The actual
-random order is subject to change in future versions of Perl, but it
-is guaranteed to be the same order as either the C<keys> or C<each>
-function would produce on the same (unmodified) hash. Since Perl
-5.8.1 the ordering is different even between different runs of Perl
-for security reasons (see L<perlsec/"Algorithmic Complexity Attacks">).
+In list context, returns a list consisting of all the values of the named
+hash. In Perl 5.12 or later only, will also return a list of the values of
+an array; prior to that release, attempting to use an array argument will
+produce a syntax error. In scalar context, returns the number of values.
+
+When called on a hash, the values are returned in an apparently random
+order. The actual random order is subject to change in future versions of
+Perl, but it is guaranteed to be the same order as either the C<keys> or
+C<each> function would produce on the same (unmodified) hash. Since Perl
+5.8.1 the ordering is different even between different runs of Perl for
+security reasons (see L<perlsec/"Algorithmic Complexity Attacks">).
As a side effect, calling values() resets the HASH or ARRAY's internal
-iterator;
-see L</each>. (In particular, calling values() in void context resets
-the iterator with no other overhead. Apart from resetting the iterator,
-C<values @array> in list context is the same as plain C<@array>.
-We recommend that you use void context C<keys @array> for this, but reasoned
-that it taking C<values @array> out would require more documentation than
-leaving it in.)
+iterator, see L</each>. (In particular, calling values() in void context
+resets the iterator with no other overhead. Apart from resetting the
+iterator, C<values @array> in list context is the same as plain C<@array>.
+(We recommend that you use void context C<keys @array> for this, but
+reasoned that taking C<values @array> out would require more
+documentation than leaving it in.)
Note that the values are not copied, which means modifying them will
modify the contents of the hash:
@@ -7632,11 +8557,21 @@ experimental. The exact behaviour may change in a future version of Perl.
for (values $hashref) { ... }
for (values $obj->get_arrayref) { ... }
+To avoid confusing would-be users of your code who are running earlier
+versions of Perl with mysterious syntax errors, put this sort of thing at
+the top of your file to signal that your code will work I<only> on Perls of
+a recent vintage:
+
+ use 5.012; # so keys/values/each work on arrays
+ use 5.014; # so keys/values/each work on scalars (experimental)
+
See also C<keys>, C<each>, and C<sort>.
=item vec EXPR,OFFSET,BITS
X<vec> X<bit> X<bit vector>
+=for Pod::Functions test or set particular bits in a string
+
Treats the string in EXPR as a bit vector made up of elements of
width BITS and returns the value of the element specified by OFFSET
as an unsigned integer. BITS therefore specifies the number of bits
@@ -7875,6 +8810,8 @@ example above should print the following table:
=item wait
X<wait>
+=for Pod::Functions wait for any child process to die
+
Behaves like wait(2) on your system: it waits for a child
process to terminate and returns the pid of the deceased process, or
C<-1> if there are no child processes. The status is returned in C<$?>
@@ -7883,11 +8820,15 @@ Note that a return value of C<-1> could mean that child processes are
being automatically reaped, as described in L<perlipc>.
If you use wait in your handler for $SIG{CHLD} it may accidentally for the
-child created by qx() or system(). See L<perlipc> for details.
+child created by qx() or system(). See L<perlipc> for details.
+
+Portability issues: L<perlport/wait>.
=item waitpid PID,FLAGS
X<waitpid>
+=for Pod::Functions wait for a particular child process to die
+
Waits for a particular child process to terminate and returns the pid of
the deceased process, or C<-1> if there is no such child process. On some
systems, a value of 0 indicates that there are processes still running.
@@ -7910,9 +8851,13 @@ Note that on some systems, a return value of C<-1> could mean that child
processes are being automatically reaped. See L<perlipc> for details,
and for other examples.
+Portability issues: L<perlport/waitpid>.
+
=item wantarray
X<wantarray> X<context>
+=for Pod::Functions get void vs scalar vs list context of current subroutine call
+
Returns true if the context of the currently executing subroutine or
C<eval> is looking for a list value. Returns false if the context is
looking for a scalar. Returns the undefined value if the context is
@@ -7931,6 +8876,8 @@ This function should have been named wantlist() instead.
=item warn LIST
X<warn> X<warning> X<STDERR>
+=for Pod::Functions print debugging info
+
Prints the value of LIST to STDERR. If the last element of LIST does
not end in a newline, it appends the same file/line number text as C<die>
does.
@@ -7973,53 +8920,6 @@ See L<perlvar> for details on setting C<%SIG> entries and for more
examples. See the Carp module for other kinds of warnings using its
carp() and cluck() functions.
-=item when EXPR BLOCK
-X<when>
-
-=item when BLOCK
-
-C<when> is analogous to the C<case> keyword in other languages. Used with a
-C<foreach> loop or the experimental C<given> block, C<when> can be used in
-Perl to implement C<switch>/C<case> like statements. Available as a
-statement after Perl 5.10 and as a statement modifier after 5.14.
-Here are three examples:
-
- use v5.10;
- foreach (@fruits) {
- when (/apples?/) {
- say "I like apples."
- }
- when (/oranges?/) {
- say "I don't like oranges."
- }
- default {
- say "I don't like anything"
- }
- }
-
- # require 5.14 for when as statement modifier
- use v5.14;
- foreach (@fruits) {
- say "I like apples." when /apples?/;
- say "I don't like oranges." when /oranges?;
- default { say "I don't like anything" }
- }
-
- use v5.10;
- given ($fruit) {
- when (/apples?/) {
- say "I like apples."
- }
- when (/oranges?/) {
- say "I don't like oranges."
- }
- default {
- say "I don't like anything"
- }
- }
-
-See L<perlsyn/"Switch statements"> for detailed information.
-
=item write FILEHANDLE
X<write>
@@ -8027,6 +8927,8 @@ X<write>
=item write
+=for Pod::Functions print a picture record
+
Writes a formatted record (possibly multi-line) to the specified FILEHANDLE,
using the format associated with that file. By default the format for
a file is the one having the same name as the filehandle, but the
@@ -8037,7 +8939,7 @@ Top of form processing is handled automatically: if there is insufficient
room on the current page for the formatted record, the page is advanced by
writing a form feed, a special top-of-page format is used to format the new
page header before the record is written. By default, the top-of-page
-format is the name of the filehandle with "_TOP" appended. This would be a
+format is the name of the filehandle with "_TOP" appended. This would be a
problem with autovivified filehandles, but it may be dynamically set to the
format of your choice by assigning the name to the C<$^> variable while
that filehandle is selected. The number of lines remaining on the current
@@ -8053,9 +8955,134 @@ Note that write is I<not> the opposite of C<read>. Unfortunately.
=item y///
+=for Pod::Functions transliterate a string
+
The transliteration operator. Same as C<tr///>. See
L<perlop/"Quote and Quote-like Operators">.
=back
+=head2 Non-function Keywords by Cross-reference
+
+=head3 perldata
+
+=over
+
+=item __DATA__
+
+=item __END__
+
+These keywords are documented in L<perldata/"Special Literals">.
+
+=back
+
+=head3 perlmod
+
+=over
+
+=item BEGIN
+
+=item CHECK
+
+=item END
+
+=item INIT
+
+=item UNITCHECK
+
+These compile phase keywords are documented in L<perlmod/"BEGIN, UNITCHECK, CHECK, INIT and END">.
+
+=back
+
+=head3 perlobj
+
+=over
+
+=item DESTROY
+
+This method keyword is documented in L<perlobj/"Destructors">.
+
+=back
+
+=head3 perlop
+
+=over
+
+=item and
+
+=item cmp
+
+=item eq
+
+=item ge
+
+=item gt
+
+=item if
+
+=item le
+
+=item lt
+
+=item ne
+
+=item not
+
+=item or
+
+=item x
+
+=item xor
+
+These operators are documented in L<perlop>.
+
+=back
+
+=head3 perlsub
+
+=over
+
+=item AUTOLOAD
+
+This keyword is documented in L<perlsub/"Autoloading">.
+
+=back
+
+=head3 perlsyn
+
+=over
+
+=item else
+
+=item elseif
+
+=item elsif
+
+=item for
+
+=item foreach
+
+=item unless
+
+=item until
+
+=item while
+
+These flow-control keywords are documented in L<perlsyn/"Compound Statements">.
+
+=back
+
+=over
+
+=item default
+
+=item given
+
+=item when
+
+These flow-control keywords related to the experimental switch feature are
+documented in L<perlsyn/"Switch Statements"> .
+
+=back
+
=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlgit.pod b/Master/tlpkg/tlperl/lib/pods/perlgit.pod
index eac7bb84b5e..1d2df2ed5e9 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlgit.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlgit.pod
@@ -51,7 +51,7 @@ branches in the repository:
The branches that begin with "origin" correspond to the "git remote"
that you cloned from (which is named "origin"). Each branch on the
-remote will be exactly tracked by theses branches. You should NEVER do
+remote will be exactly tracked by these branches. You should NEVER do
work on these remote tracking branches. You only ever do work in a
local branch. Local branches can be configured to automerge (on pull)
from a designated remote tracking branch. This is the case with the
@@ -258,7 +258,7 @@ Now you should create a patch file for all your local changes:
% git format-patch -M origin..
0001-Rename-Leon-Brocard-to-Orange-Brocard.patch
-You should now send an email to to
+You should now send an email to
L<perlbug@perl.org|mailto:perlbug@perl.org> with a description of your
changes, and include this patch file as an attachment. In addition to
being tracked by RT, mail to perlbug will automatically be forwarded to
@@ -385,45 +385,59 @@ If you want to cancel one or several commits, you can use C<git reset>.
=head2 Bisecting
-C<git> provides a built-in way to determine, with a binary search in
-the history, which commit should be blamed for introducing a given bug.
-
-Suppose that we have a script F<~/testcase.pl> that exits with C<0>
-when some behaviour is correct, and with C<1> when it's faulty. You
-need an helper script that automates building C<perl> and running the
-testcase:
-
- % cat ~/run
- #!/bin/sh
- git clean -dxf
-
- # If you get './makedepend: 1: Syntax error: Unterminated quoted
- # string' when bisecting versions of perl older than 5.9.5 this hack
- # will work around the bug in makedepend.SH which was fixed in
- # version 96a8704c. Make sure to comment out `git checkout makedepend.SH'
- # below too.
- git show blead:makedepend.SH > makedepend.SH
-
- # If you can use ccache, add -Dcc=ccache\ gcc -Dld=gcc to the Configure line
- # if Encode is not needed for the test, you can speed up the bisect by
- # excluding it from the runs with -Dnoextensions=Encode
- sh Configure -des -Dusedevel -Doptimize="-g"
- test -f config.sh || exit 125
- # Correct makefile for newer GNU gcc
- perl -ni -we 'print unless /<(?:built-in|command)/' makefile x2p/makefile
- # if you just need miniperl, replace test_prep with miniperl
- make test_prep
- [ -x ./perl ] || exit 125
- ./perl -Ilib ~/testcase.pl
- ret=$?
- [ $ret -gt 127 ] && ret=127
- # git checkout makedepend.SH
- git clean -dxf
- exit $ret
-
-This script may return C<125> to indicate that the corresponding commit
-should be skipped. Otherwise, it returns the status of
-F<~/testcase.pl>.
+C<git> provides a built-in way to determine which commit should be blamed
+for introducing a given bug. C<git bisect> performs a binary search of
+history to locate the first failing commit. It is fast, powerful and
+flexible, but requires some setup and to automate the process an auxiliary
+shell script is needed.
+
+The core provides a wrapper program, F<Porting/bisect.pl>, which attempts to
+simplify as much as possible, making bisecting as simple as running a Perl
+one-liner. For example, if you want to know when this became an error:
+
+ perl -e 'my $a := 2'
+
+you simply run this:
+
+ .../Porting/bisect.pl -e 'my $a := 2;'
+
+Using C<bisect.pl>, with one command (and no other files) it's easy to find
+out
+
+=over 4
+
+=item *
+
+Which commit caused this example code to break?
+
+=item *
+
+Which commit caused this example code to start working?
+
+=item *
+
+Which commit added the first file to match this regex?
+
+=item *
+
+Which commit removed the last file to match this regex?
+
+=back
+
+usually without needing to know which versions of perl to use as start and
+end revisions, as F<bisect.pl> automatically searches to find the earliest
+stable version for which the test case passes. Run
+C<Porting/bisect.pl --help> for the full documentation, including how to
+set the C<Configure> and build time options.
+
+If you require more flexibility than F<Porting/bisect.pl> has to offer, you'll
+need to run C<git bisect> yourself. It's most useful to use C<git bisect run>
+to automate the building and testing of perl revisions. For this you'll need
+a shell script for C<git> to call to test a particular revision. An example
+script is F<Porting/bisect-example.sh>, which you should copy B<outside> of
+the repository, as the bisect process will reset the state to a clean checkout
+as it runs. The instructions below assume that you copied it as F<~/run> and
+then edited it as appropriate.
You first enter in bisect mode with:
@@ -466,6 +480,7 @@ the "first commit where the bug is solved".
C<git help bisect> has much more information on how you can tweak your
binary searches.
+
=head1 Topic branches and rewriting history
Individual committers should create topic branches under
@@ -543,7 +558,7 @@ deleted or modified. Think long and hard about whether you want to push
a local tag to perl.git before doing so. (Pushing unannotated tags is
not allowed.)
-=head3 Grafts
+=head2 Grafts
The perl history contains one mistake which was not caught in the
conversion: a merge was recorded in the history between blead and
@@ -557,83 +572,6 @@ C<.git/info/grafts> file:
It is particularly important to have this graft line if any bisecting
is done in the area of the "merge" in question.
-=head2 Topic branches and rewriting history
-
-Individual committers should create topic branches under
-B<yourname>/B<some_descriptive_name>. Other committers should check
-with a topic branch's creator before making any change to it.
-
-The simplest way to create a remote topic branch that works on all
-versions of git is to push the current head as a new branch on the
-remote, then check it out locally:
-
- $ branch="$yourname/$some_descriptive_name"
- $ git push origin HEAD:$branch
- $ git checkout -b $branch origin/$branch
-
-Users of git 1.7 or newer can do it in a more obvious manner:
-
- $ branch="$yourname/$some_descriptive_name"
- $ git checkout -b $branch
- $ git push origin -u $branch
-
-If you are not the creator of B<yourname>/B<some_descriptive_name>, you
-might sometimes find that the original author has edited the branch's
-history. There are lots of good reasons for this. Sometimes, an author
-might simply be rebasing the branch onto a newer source point.
-Sometimes, an author might have found an error in an early commit which
-they wanted to fix before merging the branch to blead.
-
-Currently the master repository is configured to forbid
-non-fast-forward merges. This means that the branches within can not be
-rebased and pushed as a single step.
-
-The only way you will ever be allowed to rebase or modify the history
-of a pushed branch is to delete it and push it as a new branch under
-the same name. Please think carefully about doing this. It may be
-better to sequentially rename your branches so that it is easier for
-others working with you to cherry-pick their local changes onto the new
-version. (XXX: needs explanation).
-
-If you want to rebase a personal topic branch, you will have to delete
-your existing topic branch and push as a new version of it. You can do
-this via the following formula (see the explanation about C<refspec>'s
-in the git push documentation for details) after you have rebased your
-branch:
-
- # first rebase
- $ git checkout $user/$topic
- $ git fetch
- $ git rebase origin/blead
-
- # then "delete-and-push"
- $ git push origin :$user/$topic
- $ git push origin $user/$topic
-
-B<NOTE:> it is forbidden at the repository level to delete any of the
-"primary" branches. That is any branch matching
-C<m!^(blead|maint|perl)!>. Any attempt to do so will result in git
-producing an error like this:
-
- $ git push origin :blead
- *** It is forbidden to delete blead/maint branches in this repository
- error: hooks/update exited with error code 1
- error: hook declined to update refs/heads/blead
- To ssh://perl5.git.perl.org/perl
- ! [remote rejected] blead (hook declined)
- error: failed to push some refs to 'ssh://perl5.git.perl.org/perl'
-
-As a matter of policy we do B<not> edit the history of the blead and
-maint-* branches. If a typo (or worse) sneaks into a commit to blead or
-maint-*, we'll fix it in another commit. The only types of updates
-allowed on these branches are "fast-forward's", where all history is
-preserved.
-
-Annotated tags in the canonical perl.git repository will never be
-deleted or modified. Think long and hard about whether you want to push
-a local tag to perl.git before doing so. (Pushing unannotated tags is
-not allowed.)
-
=head1 WRITE ACCESS TO THE GIT REPOSITORY
Once you have write access, you will need to modify the URL for the
@@ -667,6 +605,7 @@ to push your changes back with the C<camel> remote:
The C<fetch> command just updates the C<camel> refs, as the objects
themselves should have been fetched when pulling from C<origin>.
+
=head1 Accepting a patch
If you have received a patch file generated using the above section,
@@ -763,12 +702,79 @@ look in F<t/porting>.
=item *
If you make any changes that affect miniperl or core routines that have
-different code paths for miniperl, be sure to run C<make minitest>.
+different code paths for miniperl, be sure to run C<make minitest>.
This will catch problems that even the full test suite will not catch
because it runs a subset of tests under miniperl rather than perl.
=back
+=head3 On merging and rebasing
+
+Simple, one-off commits pushed to the 'blead' branch should be simple
+commits that apply cleanly. In other words, you should make sure your
+work is committed against the current position of blead, so that you can
+push back to the master repository without merging.
+
+Sometimes, blead will move while you're building or testing your
+changes. When this happens, your push will be rejected with a message
+like this:
+
+ To ssh://perl5.git.perl.org/perl.git
+ ! [rejected] blead -> blead (non-fast-forward)
+ error: failed to push some refs to 'ssh://perl5.git.perl.org/perl.git'
+ To prevent you from losing history, non-fast-forward updates were rejected
+ Merge the remote changes (e.g. 'git pull') before pushing again. See the
+ 'Note about fast-forwards' section of 'git push --help' for details.
+
+When this happens, you can just I<rebase> your work against the new
+position of blead, like this (assuming your remote for the master
+repository is "p5p"):
+
+ $ git fetch p5p
+ $ git rebase p5p/blead
+
+You will see your commits being re-applied, and you will then be able to
+push safely. More information about rebasing can be found in the
+documentation for the git-rebase(1) command.
+
+For larger sets of commits that only make sense together, or that would
+benefit from a summary of the set's purpose, you should use a merge
+commit. You should perform your work on a L<topic branch|/Topic
+branches and rewriting history>, which you should regularly rebase
+against blead to ensure that your code is not broken by blead moving.
+When you have finished your work, please perform a final rebase and
+test. Linear history is something that gets lost with every
+commit on blead, but a final rebase makes the history linear
+again, making it easier for future maintainers to see what has
+happened. Rebase as follows (assuming your work was on the
+branch C<< committer/somework >>):
+
+ $ git checkout committer/somework
+ $ git rebase blead
+
+Then you can merge it into master like this:
+
+ $ git checkout blead
+ $ git merge --no-ff --no-commit committer/somework
+ $ git commit -a
+
+The switches above deserve explanation. C<--no-ff> indicates that even
+if all your work can be applied linearly against blead, a merge commit
+should still be prepared. This ensures that all your work will be shown
+as a side branch, with all its commits merged into the mainstream blead
+by the merge commit.
+
+C<--no-commit> means that the merge commit will be I<prepared> but not
+I<committed>. The commit is then actually performed when you run the
+next command, which will bring up your editor to describe the commit.
+Without C<--no-commit>, the commit would be made with nearly no useful
+message, which would greatly diminish the value of the merge commit as a
+placeholder for the work's description.
+
+When describing the merge commit, explain the purpose of the branch, and
+keep in mind that this description will probably be used by the
+eventual release engineer when reviewing the next perldelta document.
+
=head2 Committing to maintenance versions
Maintenance versions should only be altered to add critical bug fixes,
@@ -791,20 +797,6 @@ original commit in the new commit message.
Before pushing any change to a maint version, make sure you've
satisfied the steps in L</Committing to blead> above.
-=head2 Grafts
-
-The perl history contains one mistake which was not caught in the
-conversion: a merge was recorded in the history between blead and
-maint-5.10 where no merge actually occurred. Due to the nature of git,
-this is now impossible to fix in the public repository. You can remove
-this mis-merge locally by adding the following line to your
-C<.git/info/grafts> file:
-
- 296f12bbbbaa06de9be9d09d3dcf8f4528898a49 434946e0cb7a32589ed92d18008aaa1d88515930
-
-It is particularly important to have this graft line if any bisecting
-is done in the area of the "merge" in question.
-
=head2 Merging from a branch via GitHub
While we don't encourage the submission of patches via GitHub, that
diff --git a/Master/tlpkg/tlperl/lib/pods/perlglossary.pod b/Master/tlpkg/tlperl/lib/pods/perlglossary.pod
index 639ce3349f8..5adef04b397 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlglossary.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlglossary.pod
@@ -6,7 +6,7 @@ perlglossary - Perl Glossary
A glossary of terms (technical and otherwise) used in the Perl documentation.
Other useful sources include the Free On-Line Dictionary of Computing
-L<http://foldoc.doc.ic.ac.uk/foldoc/index.html>, the Jargon File
+L<http://foldoc.org/>, the Jargon File
L<http://catb.org/~esr/jargon/>, and Wikipedia L<http://www.wikipedia.org/>.
=head2 A
@@ -507,7 +507,7 @@ the class (its L<objects|/object>). See also L</inheritance>.
=item class method
-A L</method> whose L</invocand> is a L</package> name, not an
+A L</method> whose L</invocant> is a L</package> name, not an
L</object> reference. A method associated with the class as a whole.
=item client
@@ -699,7 +699,7 @@ kinds of fatal error.
=item CPAN
-The Comprehensive Perl Archive Network. (See L<perlfaq2/What modules and extensions are available for Perl? What is CPAN? What does CPANE<sol>srcE<sol>... mean?>).
+The Comprehensive Perl Archive Network. (See L<perlfaq2/What modules and extensions are available for Perl? What is CPAN?>).
=item cracker
@@ -950,6 +950,10 @@ When something is contained in something else, particularly when that
might be considered surprising: "I've embedded a complete Perl
interpreter in my editor!"
+=item empty list
+
+See </null list>.
+
=item empty subclass test
The notion that an empty L</derived class> should behave exactly like
@@ -1067,7 +1071,8 @@ such as multithreading.
In Perl, any value that would look like C<""> or C<"0"> if evaluated
in a string context. Since undefined values evaluate to C<"">, all
-undefined values are false, but not all false values are undefined.
+undefined values are false (including the L</null list>), but not all
+false values are undefined.
=item FAQ
@@ -1357,7 +1362,8 @@ you can easily use a string L</key> to look up its associated data
L</value>. This glossary is like a hash, where the word to be defined
is the key, and the definition is the value. A hash is also sometimes
septisyllabically called an "associative array", which is a pretty
-good reason for simply calling it a "hash" instead.
+good reason for simply calling it a "hash" instead. A hash can optionally
+be L<restricted|/restricted hash> to a fixed set of keys.
=item hash table
@@ -1470,7 +1476,7 @@ Perl, C<print STDOUT "$foo\n";> can be understood as "verb
indirect-object object" where L</STDOUT> is the recipient of the
L<print|perlfunc/print> action, and C<"$foo"> is the object being
printed. Similarly, when invoking a L</method>, you might place the
-invocand between the method and its arguments:
+invocant between the method and its arguments:
$gollum = new Pathetic::Creature "Smeagol";
give $gollum "Fisssssh!";
@@ -1548,11 +1554,11 @@ of compiler that takes a program and turns it into a more executable
form (L<syntax trees|/syntax tree>) within the I<perl> process itself,
which the Perl L</run time> system then interprets.
-=item invocand
+=item invocant
The agent on whose behalf a L</method> is invoked. In a L</class>
-method, the invocand is a package name. In an L</instance> method,
-the invocand is an object reference.
+method, the invocant is a package name. In an L</instance> method,
+the invocant is an object reference.
=item invocation
@@ -1938,7 +1944,7 @@ a big language, it turns out small. Go figure.
=item mode
-In the context of the L<stat> syscall, refers to the field holding
+In the context of the L<stat(2)> syscall, refers to the field holding
the L</permission bits> and the type of the L</file>.
=item modifier
@@ -2023,7 +2029,9 @@ strings, but Perl allows strings to contain a null.
=item null list
-A L</list value> with zero elements, represented in Perl by C<()>.
+A valueless value represented in Perl by C<()>. It is not really a
+L</LIST>, but an expression that yields C<undef> in L</scalar context> and
+a L</list value> with zero elements in L</list context>.
=item null string
@@ -2520,6 +2528,10 @@ why they're reserved, after all.) In Perl, you just can't use them to
name L<labels|/label> or L<filehandles|/filehandle>. Also called
"keywords".
+=item restricted hash
+
+A L</hash> with a closed set of allowed keys. See L<Hash::Util>.
+
=item return value
The L</value> produced by a L</subroutine> or L</expression> when
@@ -2986,7 +2998,7 @@ A program technique that lets you evaluate an L</expression> and then,
based on the value of the expression, do a multiway branch to the
appropriate piece of code for that value. Also called a "case
structure", named after the similar Pascal construct. See
-L<perlsyn/"Switch statements">.
+See L<perlsyn/Basic BLOCKs>.
=item symbol
@@ -3378,11 +3390,11 @@ in the three-argument form of L<open|perlfunc/open>.
=item XS
-An extraordinarily exported, expeditiously excellent, expressly
-eXternal Subroutine, executed in existing C or C++ or in an exciting
-new extension language called (exasperatingly) XS. Examine L<perlxs>
-for the exact explanation or L<perlxstut> for an exemplary unexacting
-one.
+A language to extend Perl with L<C> and C++. XS is an interface description
+file format used to create an extension interface between
+Perl and C code (or a C library) which one wishes to use with Perl.
+See L<perlxs> for the exact explanation or read the L<perlxstut>
+tutorial.
=item XSUB
diff --git a/Master/tlpkg/tlperl/lib/pods/perlgpl.pod b/Master/tlpkg/tlperl/lib/pods/perlgpl.pod
index de1791a95a8..82a8f5a9dd1 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlgpl.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlgpl.pod
@@ -37,7 +37,8 @@ For the Perl Artistic License, see L<perlartistic>.
Version 1, February 1989
Copyright (C) 1989 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -250,8 +251,10 @@ For the Perl Artistic License, see L<perlartistic>.
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
+ 02110-1301 USA
+
Also add information on how to contact you by electronic and paper mail.
@@ -259,13 +262,13 @@ For the Perl Artistic License, see L<perlartistic>.
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19xx name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type 'show w'.
This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
+ under certain conditions; type 'show c' for details.
- The hypothetical commands `show w' and `show c' should show the
+ The hypothetical commands 'show w' and 'show c' should show the
appropriate parts of the General Public License. Of course, the
- commands you use may be called something other than `show w' and `show
+ commands you use may be called something other than 'show w' and 'show
c'; they could even be mouse-clicks or menu items--whatever suits your
program.
@@ -274,7 +277,7 @@ For the Perl Artistic License, see L<perlartistic>.
necessary. Here a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
- program `Gnomovision' (a program to direct compilers to make passes
+ program 'Gnomovision' (a program to direct compilers to make passes
at assemblers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
@@ -283,5 +286,3 @@ For the Perl Artistic License, see L<perlartistic>.
That's all there is to it!
=cut
-
-
diff --git a/Master/tlpkg/tlperl/lib/pods/perlguts.pod b/Master/tlpkg/tlperl/lib/pods/perlguts.pod
index fcf436b7a0c..908fa1f0bd3 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlguts.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlguts.pod
@@ -56,10 +56,11 @@ In the unlikely case of a SV requiring more complex initialisation, you
can create an empty SV with newSV(len). If C<len> is 0 an empty SV of
type NULL is returned, else an SV of type PV is returned with len + 1 (for
the NUL) bytes of storage allocated, accessible via SvPVX. In both cases
-the SV has value undef.
+the SV has the undef value.
SV *sv = newSV(0); /* no storage allocated */
- SV *sv = newSV(10); /* 10 (+1) bytes of uninitialised storage allocated */
+ SV *sv = newSV(10); /* 10 (+1) bytes of uninitialised storage
+ * allocated */
To change the value of an I<already-existing> SV, there are eight routines:
@@ -69,7 +70,8 @@ To change the value of an I<already-existing> SV, there are eight routines:
void sv_setpv(SV*, const char*);
void sv_setpvn(SV*, const char*, STRLEN)
void sv_setpvf(SV*, const char*, ...);
- void sv_vsetpvfn(SV*, const char*, STRLEN, va_list *, SV **, I32, bool *);
+ void sv_vsetpvfn(SV*, const char*, STRLEN, va_list *,
+ SV **, I32, bool *);
void sv_setsv(SV*, SV*);
Notice that you can choose to specify the length of the string to be
@@ -77,7 +79,8 @@ assigned by using C<sv_setpvn>, C<newSVpvn>, or C<newSVpv>, or you may
allow Perl to calculate the length by using C<sv_setpv> or by specifying
0 as the second argument to C<newSVpv>. Be warned, though, that Perl will
determine the string's length by using C<strlen>, which depends on the
-string terminating with a NUL character.
+string terminating with a NUL character, and not otherwise containing
+NULs.
The arguments of C<sv_setpvf> are processed like C<sprintf>, and the
formatted output becomes the value.
@@ -128,7 +131,7 @@ Break this sort of statement up into separate assignments:
SV *s;
STRLEN len;
- char * ptr;
+ char *ptr;
ptr = SvPV(s, len);
foo(ptr, len);
@@ -144,7 +147,7 @@ Perl to allocate more memory for your SV, you can use the macro
which will determine if more memory needs to be allocated. If so, it will
call the function C<sv_grow>. Note that C<SvGROW> can only increase, not
decrease, the allocated memory of an SV and that it does not automatically
-add a byte for the a trailing NUL (perl's own string functions typically do
+add space for the trailing NUL byte (perl's own string functions typically do
C<SvGROW(sv, len + 1)>).
If you have an SV and want to know what kind of data Perl thinks is stored
@@ -173,7 +176,8 @@ you can use the following functions:
void sv_catpv(SV*, const char*);
void sv_catpvn(SV*, const char*, STRLEN);
void sv_catpvf(SV*, const char*, ...);
- void sv_vcatpvfn(SV*, const char*, STRLEN, va_list *, SV **, I32, bool);
+ void sv_vcatpvfn(SV*, const char*, STRLEN, va_list *, SV **,
+ I32, bool);
void sv_catsv(SV*, SV*);
The first function calculates the length of the string to be appended by
@@ -300,7 +304,7 @@ pointer in an SV, you can use the following three macros instead:
These will tell you if you truly have an integer, double, or string pointer
stored in your SV. The "p" stands for private.
-The are various ways in which the private and public flags may differ.
+There are various ways in which the private and public flags may differ.
For example, a tied SV may have a valid underlying value in the IV slot
(so SvIOKp is true), but the data should be accessed via the FETCH
routine rather than directly, so SvIOK is false. Another is when
@@ -324,7 +328,7 @@ The second method both creates the AV and initially populates it with SVs:
The second argument points to an array containing C<num> C<SV*>'s. Once the
AV has been created, the SVs can be destroyed, if so desired.
-Once the AV has been created, the following operations are possible on AVs:
+Once the AV has been created, the following operations are possible on it:
void av_push(AV*, SV*);
SV* av_pop(AV*);
@@ -342,7 +346,7 @@ Here are some other functions:
SV** av_fetch(AV*, I32 key, I32 lval);
SV** av_store(AV*, I32 key, SV* val);
-The C<av_len> function returns the highest index value in array (just
+The C<av_len> function returns the highest index value in an array (just
like $#array in Perl). If the array is empty, -1 is returned. The
C<av_fetch> function returns the value at index C<key>, but if C<lval>
is non-zero, then C<av_fetch> will store an undef value at that index.
@@ -353,6 +357,8 @@ have to decrement the reference count to avoid a memory leak. Note that
C<av_fetch> and C<av_store> both return C<SV**>'s, not C<SV*>'s as their
return value.
+A few more:
+
void av_clear(AV*);
void av_undef(AV*);
void av_extend(AV*, I32 key);
@@ -380,7 +386,7 @@ To create an HV, you use the following routine:
HV* newHV();
-Once the HV has been created, the following operations are possible on HVs:
+Once the HV has been created, the following operations are possible on it:
SV** hv_store(HV*, const char* key, U32 klen, SV* val, U32 hash);
SV** hv_fetch(HV*, const char* key, U32 klen, I32 lval);
@@ -399,7 +405,8 @@ C<SV*>. To access the scalar value, you must first dereference the return
value. However, you should check to make sure that the return value is
not NULL before dereferencing it.
-These two functions check if a hash table entry exists, and deletes it.
+The first of these two functions checks if a hash table entry exists, and the
+second deletes it.
bool hv_exists(HV*, const char* key, U32 klen);
SV* hv_delete(HV*, const char* key, U32 klen, I32 flags);
@@ -416,7 +423,7 @@ Like their AV counterparts, C<hv_clear> deletes all the entries in the hash
table but does not actually delete the hash table. The C<hv_undef> deletes
both the entries and the hash table itself.
-Perl keeps the actual data in linked list of structures with a typedef of HE.
+Perl keeps the actual data in a linked list of structures with a typedef of HE.
These contain the actual key and value pointers (plus extra administrative
overhead). The key is a string pointer; the value is an C<SV*>. However,
once you have an C<HE*>, to get the actual key and value, use the routines
@@ -559,7 +566,7 @@ new undefined value using the C<newSV> function, for example:
=head2 References
References are a special type of scalar that point to other data types
-(including references).
+(including other references).
To create a reference, use either of the following functions:
@@ -597,7 +604,7 @@ The most useful types that will be returned are:
SVt_PVAV Array
SVt_PVHV Hash
SVt_PVCV Code
- SVt_PVGV Glob (possible a file handle)
+ SVt_PVGV Glob (possibly a file handle)
SVt_PVMG Blessed or Magical Scalar
See the F<sv.h> header file for more details.
@@ -619,41 +626,46 @@ L<Stashes and Globs> for information on converting class names into stashes.
/* Still under construction */
-Upgrades rv to reference if not already one. Creates new SV for rv to
-point to. If C<classname> is non-null, the SV is blessed into the specified
-class. SV is returned.
+The following function upgrades rv to reference if not already one.
+Creates a new SV for rv to point to. If C<classname> is non-null, the SV
+is blessed into the specified class. SV is returned.
SV* newSVrv(SV* rv, const char* classname);
-Copies integer, unsigned integer or double into an SV whose reference is C<rv>. SV is blessed
-if C<classname> is non-null.
+The following three functions copy integer, unsigned integer or double
+into an SV whose reference is C<rv>. SV is blessed if C<classname> is
+non-null.
SV* sv_setref_iv(SV* rv, const char* classname, IV iv);
SV* sv_setref_uv(SV* rv, const char* classname, UV uv);
SV* sv_setref_nv(SV* rv, const char* classname, NV iv);
-Copies the pointer value (I<the address, not the string!>) into an SV whose
-reference is rv. SV is blessed if C<classname> is non-null.
+The following function copies the pointer value (I<the address, not the
+string!>) into an SV whose reference is rv. SV is blessed if C<classname>
+is non-null.
- SV* sv_setref_pv(SV* rv, const char* classname, PV iv);
+ SV* sv_setref_pv(SV* rv, const char* classname, void* pv);
-Copies string into an SV whose reference is C<rv>. Set length to 0 to let
-Perl calculate the string length. SV is blessed if C<classname> is non-null.
+The following function copies a string into an SV whose reference is C<rv>.
+Set length to 0 to let Perl calculate the string length. SV is blessed if
+C<classname> is non-null.
- SV* sv_setref_pvn(SV* rv, const char* classname, PV iv, STRLEN length);
+ SV* sv_setref_pvn(SV* rv, const char* classname, char* pv,
+ STRLEN length);
-Tests whether the SV is blessed into the specified class. It does not
-check inheritance relationships.
+The following function tests whether the SV is blessed into the specified
+class. It does not check inheritance relationships.
int sv_isa(SV* sv, const char* name);
-Tests whether the SV is a reference to a blessed object.
+The following function tests whether the SV is a reference to a blessed object.
int sv_isobject(SV* sv);
-Tests whether the SV is derived from the specified class. SV can be either
-a reference to a blessed object or a string containing a class name. This
-is the function implementing the C<UNIVERSAL::isa> functionality.
+The following function tests whether the SV is derived from the specified
+class. SV can be either a reference to a blessed object or a string
+containing a class name. This is the function implementing the
+C<UNIVERSAL::isa> functionality.
bool sv_derived_from(SV* sv, const char* name);
@@ -766,7 +778,7 @@ To create a mortal variable, use the functions:
The first call creates a mortal SV (with no value), the second converts an existing
SV to a mortal SV (and thus defers a call to C<SvREFCNT_dec>), and the
third creates a mortal copy of an existing SV.
-Because C<sv_newmortal> gives the new SV no value,it must normally be given one
+Because C<sv_newmortal> gives the new SV no value, it must normally be given one
via C<sv_setpv>, C<sv_setiv>, etc. :
SV *tmp = sv_newmortal();
@@ -781,7 +793,7 @@ You should be careful about creating mortal variables. Strange things
can happen if you make the same value mortal within multiple contexts,
or if you make a variable mortal multiple times. Thinking of "Mortalization"
as deferred C<SvREFCNT_dec> should help to minimize such problems.
-For example if you are passing an SV which you I<know> has high enough REFCNT
+For example if you are passing an SV which you I<know> has a high enough REFCNT
to survive its use on the stack you need not do any mortalization.
If you are not sure then doing an C<SvREFCNT_inc> and C<sv_2mortal>, or
making a C<sv_mortalcopy> is safer.
@@ -912,7 +924,7 @@ Note this is current as of patchlevel 0, and could change at any time.
Perl adds magic to an SV using the sv_magic function:
- void sv_magic(SV* sv, SV* obj, int how, const char* name, I32 namlen);
+ void sv_magic(SV* sv, SV* obj, int how, const char* name, I32 namlen);
The C<sv> argument is a pointer to the SV that is to acquire a new magical
feature.
@@ -985,7 +997,8 @@ routine types:
int (*svt_clear)(SV* sv, MAGIC* mg);
int (*svt_free)(SV* sv, MAGIC* mg);
- int (*svt_copy)(SV *sv, MAGIC* mg, SV *nsv, const char *name, I32 namlen);
+ int (*svt_copy)(SV *sv, MAGIC* mg, SV *nsv,
+ const char *name, I32 namlen);
int (*svt_dup)(MAGIC *mg, CLONE_PARAMS *param);
int (*svt_local)(SV *nsv, MAGIC *mg);
@@ -995,17 +1008,18 @@ currently 32 types. These different structures contain pointers to various
routines that perform additional actions depending on which function is
being called.
- Function pointer Action taken
- ---------------- ------------
- svt_get Do something before the value of the SV is retrieved.
- svt_set Do something after the SV is assigned a value.
- svt_len Report on the SV's length.
- svt_clear Clear something the SV represents.
- svt_free Free any extra storage associated with the SV.
+ Function pointer Action taken
+ ---------------- ------------
+ svt_get Do something before the value of the SV is
+ retrieved.
+ svt_set Do something after the SV is assigned a value.
+ svt_len Report on the SV's length.
+ svt_clear Clear something the SV represents.
+ svt_free Free any extra storage associated with the SV.
- svt_copy copy tied variable magic to a tied element
- svt_dup duplicate a magic structure during thread cloning
- svt_local copy magic to local value during 'local'
+ svt_copy copy tied variable magic to a tied element
+ svt_dup duplicate a magic structure during thread cloning
+ svt_local copy magic to local value during 'local'
For instance, the MGVTBL structure called C<vtbl_sv> (which corresponds
to an C<mg_type> of C<PERL_MAGIC_sv>) contains:
@@ -1027,54 +1041,76 @@ to change.
The current kinds of Magic Virtual Tables are:
- mg_type
- (old-style char and macro) MGVTBL Type of magic
- -------------------------- ------ -------------
- \0 PERL_MAGIC_sv vtbl_sv Special scalar variable
- A PERL_MAGIC_overload vtbl_amagic %OVERLOAD hash
- a PERL_MAGIC_overload_elem vtbl_amagicelem %OVERLOAD hash element
- c PERL_MAGIC_overload_table (none) Holds overload table (AMT)
- on stash
- B PERL_MAGIC_bm vtbl_bm Boyer-Moore (fast string search)
- D PERL_MAGIC_regdata vtbl_regdata Regex match position data
- (@+ and @- vars)
- d PERL_MAGIC_regdatum vtbl_regdatum Regex match position data
- element
- E PERL_MAGIC_env vtbl_env %ENV hash
- e PERL_MAGIC_envelem vtbl_envelem %ENV hash element
- f PERL_MAGIC_fm vtbl_fm Formline ('compiled' format)
- g PERL_MAGIC_regex_global vtbl_mglob m//g target / study()ed string
- H PERL_MAGIC_hints vtbl_hints %^H hash
- h PERL_MAGIC_hintselem vtbl_hintselem %^H hash element
- I PERL_MAGIC_isa vtbl_isa @ISA array
- i PERL_MAGIC_isaelem vtbl_isaelem @ISA array element
- k PERL_MAGIC_nkeys vtbl_nkeys scalar(keys()) lvalue
- L PERL_MAGIC_dbfile (none) Debugger %_<filename
- l PERL_MAGIC_dbline vtbl_dbline Debugger %_<filename element
- o PERL_MAGIC_collxfrm vtbl_collxfrm Locale collate transformation
- P PERL_MAGIC_tied vtbl_pack Tied array or hash
- p PERL_MAGIC_tiedelem vtbl_packelem Tied array or hash element
- q PERL_MAGIC_tiedscalar vtbl_packelem Tied scalar or handle
- r PERL_MAGIC_qr vtbl_qr precompiled qr// regex
- S PERL_MAGIC_sig vtbl_sig %SIG hash
- s PERL_MAGIC_sigelem vtbl_sigelem %SIG hash element
- t PERL_MAGIC_taint vtbl_taint Taintedness
- U PERL_MAGIC_uvar vtbl_uvar Available for use by extensions
- v PERL_MAGIC_vec vtbl_vec vec() lvalue
- V PERL_MAGIC_vstring (none) v-string scalars
- w PERL_MAGIC_utf8 vtbl_utf8 UTF-8 length+offset cache
- x PERL_MAGIC_substr vtbl_substr substr() lvalue
- y PERL_MAGIC_defelem vtbl_defelem Shadow "foreach" iterator
- variable / smart parameter
- vivification
- # PERL_MAGIC_arylen vtbl_arylen Array length ($#ary)
- . PERL_MAGIC_pos vtbl_pos pos() lvalue
- < PERL_MAGIC_backref vtbl_backref back pointer to a weak ref
- ~ PERL_MAGIC_ext (none) Available for use by extensions
- : PERL_MAGIC_symtab (none) hash used as symbol table
- % PERL_MAGIC_rhash (none) hash used as restricted hash
- @ PERL_MAGIC_arylen_p vtbl_arylen_p pointer to $#a from @a
-
+=for comment
+This table is generated by regen/mg_vtable.pl. Any changes made here
+will be lost.
+
+=for mg_vtable.pl begin
+
+ mg_type
+ (old-style char and macro) MGVTBL Type of magic
+ -------------------------- ------ -------------
+ \0 PERL_MAGIC_sv vtbl_sv Special scalar variable
+ # PERL_MAGIC_arylen vtbl_arylen Array length ($#ary)
+ % PERL_MAGIC_rhash (none) extra data for restricted
+ hashes
+ . PERL_MAGIC_pos vtbl_pos pos() lvalue
+ : PERL_MAGIC_symtab (none) extra data for symbol
+ tables
+ < PERL_MAGIC_backref vtbl_backref for weak ref data
+ @ PERL_MAGIC_arylen_p (none) to move arylen out of
+ XPVAV
+ A PERL_MAGIC_overload vtbl_amagic %OVERLOAD hash
+ a PERL_MAGIC_overload_elem vtbl_amagicelem %OVERLOAD hash element
+ B PERL_MAGIC_bm vtbl_regexp Boyer-Moore
+ (fast string search)
+ c PERL_MAGIC_overload_table vtbl_ovrld Holds overload table
+ (AMT) on stash
+ D PERL_MAGIC_regdata vtbl_regdata Regex match position data
+ (@+ and @- vars)
+ d PERL_MAGIC_regdatum vtbl_regdatum Regex match position data
+ element
+ E PERL_MAGIC_env vtbl_env %ENV hash
+ e PERL_MAGIC_envelem vtbl_envelem %ENV hash element
+ f PERL_MAGIC_fm vtbl_regdata Formline
+ ('compiled' format)
+ G PERL_MAGIC_study vtbl_regexp study()ed string
+ g PERL_MAGIC_regex_global vtbl_mglob m//g target
+ H PERL_MAGIC_hints vtbl_hints %^H hash
+ h PERL_MAGIC_hintselem vtbl_hintselem %^H hash element
+ I PERL_MAGIC_isa vtbl_isa @ISA array
+ i PERL_MAGIC_isaelem vtbl_isaelem @ISA array element
+ k PERL_MAGIC_nkeys vtbl_nkeys scalar(keys()) lvalue
+ L PERL_MAGIC_dbfile (none) Debugger %_<filename
+ l PERL_MAGIC_dbline vtbl_dbline Debugger %_<filename
+ element
+ N PERL_MAGIC_shared (none) Shared between threads
+ n PERL_MAGIC_shared_scalar (none) Shared between threads
+ o PERL_MAGIC_collxfrm vtbl_collxfrm Locale transformation
+ P PERL_MAGIC_tied vtbl_pack Tied array or hash
+ p PERL_MAGIC_tiedelem vtbl_packelem Tied array or hash element
+ q PERL_MAGIC_tiedscalar vtbl_packelem Tied scalar or handle
+ r PERL_MAGIC_qr vtbl_regexp precompiled qr// regex
+ S PERL_MAGIC_sig (none) %SIG hash
+ s PERL_MAGIC_sigelem vtbl_sigelem %SIG hash element
+ t PERL_MAGIC_taint vtbl_taint Taintedness
+ U PERL_MAGIC_uvar vtbl_uvar Available for use by
+ extensions
+ u PERL_MAGIC_uvar_elem (none) Reserved for use by
+ extensions
+ V PERL_MAGIC_vstring vtbl_vstring SV was vstring literal
+ v PERL_MAGIC_vec vtbl_vec vec() lvalue
+ w PERL_MAGIC_utf8 vtbl_utf8 Cached UTF-8 information
+ x PERL_MAGIC_substr vtbl_substr substr() lvalue
+ y PERL_MAGIC_defelem vtbl_defelem Shadow "foreach" iterator
+ variable / smart parameter
+ vivification
+ ] PERL_MAGIC_checkcall (none) inlining/mutation of call
+ to this CV
+ ~ PERL_MAGIC_ext (none) Available for use by
+ extensions
+
+=for mg_vtable.pl end
When an uppercase and lowercase letter both exist in the table, then the
uppercase letter is typically used to represent some kind of composite type
@@ -1125,7 +1161,7 @@ is activated whenever the hash is accessed with a key specified as
an C<SV> through the functions C<hv_store_ent>, C<hv_fetch_ent>,
C<hv_delete_ent>, and C<hv_exists_ent>. Accessing the key as a string
through the functions without the C<..._ent> suffix circumvents the
-hook. See L<Hash::Util::Fieldhash/Guts> for a detailed description.
+hook. See L<Hash::Util::FieldHash/GUTS> for a detailed description.
Note that because multiple extensions may be using C<PERL_MAGIC_ext>
or C<PERL_MAGIC_uvar> magic, it is important for extensions to take
@@ -1160,13 +1196,14 @@ since their implementation handles 'get' magic.
=head2 Finding Magic
- MAGIC *mg_find(SV *sv, int type); /* Finds the magic pointer of that type */
+ MAGIC *mg_find(SV *sv, int type); /* Finds the magic pointer of that
+ * type */
This routine returns a pointer to a C<MAGIC> structure stored in the SV.
If the SV does not have that magical feature, C<NULL> is returned. If the
SV has multiple instances of that magical feature, the first one will be
returned. C<mg_findext> can be used to find a C<MAGIC> structure of an SV
-based on both it's magic type and it's magic virtual table:
+based on both its magic type and its magic virtual table:
MAGIC *mg_findext(SV *sv, int type, MGVTBL *vtbl);
@@ -1463,7 +1500,8 @@ L</Reference Counts and Mortality>):
PUSHs(sv_2mortal(newSVuv(an_unsigned_integer)))
PUSHs(sv_2mortal(newSVnv(a_double)))
PUSHs(sv_2mortal(newSVpv("Some String",0)))
- /* Although the last example is better written as the more efficient: */
+ /* Although the last example is better written as the more
+ * efficient: */
PUSHs(newSVpvs_flags("Some String", SVs_TEMP))
And now the Perl program calling C<tzname>, the two values will be assigned
@@ -1476,7 +1514,7 @@ to use the macro:
XPUSHs(SV*)
-This macro automatically adjust the stack for you, if needed. Thus, you
+This macro automatically adjusts the stack for you, if needed. Thus, you
do not need to call C<EXTEND> to extend the stack.
Despite their suggestions in earlier versions of this document the macros
@@ -1486,6 +1524,28 @@ C<m(X)PUSH[iunp]> macros instead; see L</Putting a C value on Perl stack>.
For more information, consult L<perlxs> and L<perlxstut>.
+=head2 Autoloading with XSUBs
+
+If an AUTOLOAD routine is an XSUB, as with Perl subroutines, Perl puts the
+fully-qualified name of the autoloaded subroutine in the $AUTOLOAD variable
+of the XSUB's package.
+
+But it also puts the same information in certain fields of the XSUB itself:
+
+ HV *stash = CvSTASH(cv);
+ const char *subname = SvPVX(cv);
+ STRLEN name_length = SvCUR(cv); /* in bytes */
+ U32 is_utf8 = SvUTF8(cv);
+
+C<SvPVX(cv)> contains just the sub name itself, not including the package.
+For an AUTOLOAD routine in UNIVERSAL or one of its superclasses,
+C<CvSTASH(cv)> returns NULL during a method call on a nonexistent package.
+
+B<Note>: Setting $AUTOLOAD stopped working in 5.6.1, which did not support
+XS AUTOLOAD subs at all. Perl 5.8.0 introduced the use of fields in the
+XSUB itself. Perl 5.16.0 restored the setting of $AUTOLOAD. If you need
+to support 5.8-5.14, use the XSUB's fields.
+
=head2 Calling Perl Routines from within C Programs
There are four routines that can be used to call a Perl subroutine from
@@ -1586,7 +1646,7 @@ function).
=head2 PerlIO
-The most recent development releases of Perl has been experimenting with
+The most recent development releases of Perl have been experimenting with
removing Perl's dependency on the "normal" standard I/O suite and allowing
other stdio implementations to be used. This involves creating a new
abstraction layer that then calls whichever implementation of stdio Perl
@@ -2079,7 +2139,7 @@ function used within the Perl guts:
S_incline(pTHX_ char *s)
STATIC becomes "static" in C, and may be #define'd to nothing in some
-configurations in future.
+configurations in the future.
A public function (i.e. part of the internal API, but not necessarily
sanctioned for use in extensions) begins like this:
@@ -2171,7 +2231,7 @@ or to this otherwise:
Perl_sv_setiv(sv, num);
-You have to do nothing new in your extension to get this; since
+You don't have to do anything new in your extension to get this; since
the Perl library provides Perl_get_context(), it will all just
work.
@@ -2359,9 +2419,9 @@ usually called within the sources as C<whatever(...)>.
=item n
-This does not need a interpreter context, so the definition has no
+This does not need an interpreter context, so the definition has no
C<pTHX>, and it follows that callers don't use C<aTHX>. (See
-L<perlguts/Background and PERL_IMPLICIT_CONTEXT>.)
+L</Background and PERL_IMPLICIT_CONTEXT>.)
=item r
@@ -2610,22 +2670,24 @@ character like this (the UTF8_IS_INVARIANT() is a macro that tests
whether the byte can be encoded as a single byte even in UTF-8):
U8 *utf;
+ U8 *utf_end; /* 1 beyond buffer pointed to by utf */
UV uv; /* Note: a UV, not a U8, not a char */
+ STRLEN len; /* length of character in bytes */
if (!UTF8_IS_INVARIANT(*utf))
/* Must treat this as UTF-8 */
- uv = utf8_to_uv(utf);
+ uv = utf8_to_uvchr_buf(utf, utf_end, &len);
else
/* OK to treat this character as a byte */
uv = *utf;
-You can also see in that example that we use C<utf8_to_uv> to get the
-value of the character; the inverse function C<uv_to_utf8> is available
+You can also see in that example that we use C<utf8_to_uvchr_buf> to get the
+value of the character; the inverse function C<uvchr_to_utf8> is available
for putting a UV into UTF-8:
if (!UTF8_IS_INVARIANT(uv))
/* Must treat this as UTF8 */
- utf8 = uv_to_utf8(utf8, uv);
+ utf8 = uvchr_to_utf8(utf8, uv);
else
/* OK to treat this character as a byte */
*utf8++ = uv;
@@ -2725,19 +2787,19 @@ Not really. Just remember these things:
=item *
There's no way to tell if a string is UTF-8 or not. You can tell if an SV
-is UTF-8 by looking at is C<SvUTF8> flag. Don't forget to set the flag if
+is UTF-8 by looking at its C<SvUTF8> flag. Don't forget to set the flag if
something should be UTF-8. Treat the flag as part of the PV, even though
it's not - if you pass on the PV to somewhere, pass on the flag too.
=item *
-If a string is UTF-8, B<always> use C<utf8_to_uv> to get at the value,
+If a string is UTF-8, B<always> use C<utf8_to_uvchr_buf> to get at the value,
unless C<UTF8_IS_INVARIANT(*s)> in which case you can use C<*s>.
=item *
When writing a character C<uv> to a UTF-8 string, B<always> use
-C<uv_to_utf8>, unless C<UTF8_IS_INVARIANT(uv))> in which case
+C<uvchr_to_utf8>, unless C<UTF8_IS_INVARIANT(uv))> in which case
you can use C<*s = uv>.
=item *
diff --git a/Master/tlpkg/tlperl/lib/pods/perlhack.pod b/Master/tlpkg/tlperl/lib/pods/perlhack.pod
index dbb020f09a7..63df5d5dfc3 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlhack.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlhack.pod
@@ -56,15 +56,16 @@ sentence. For example, "Fixed spelling errors in perlhack.pod".
The next step is to submit your patch to the Perl core ticket system
via email.
-Assuming your patch consists of a single git commit, you can send it to
-perlbug with this command line:
+Assuming your patch consists of a single git commit, the following
+writes the file as a MIME attachment, and sends it with a meaningful
+subject:
- % git format-patch HEAD^1..HEAD
- % perlbug -s '[PATCH] `git log --pretty=format:%s HEAD^1..HEAD`' -f 0001-*.patch
+ % git format-patch -1 --attach
+ % perlbug -s "[PATCH] $(git log -1 --oneline HEAD)" -f 0001-*.patch
The perlbug program will ask you a few questions about your email
-address and the patch you're submitting. Once you've answered them you
-can submit your patch.
+address and the patch you're submitting. Once you've answered them it
+will submit your patch via email.
=item * Thank you
@@ -75,9 +76,9 @@ Thank you!
=head1 BUG REPORTING
-If you want to report a bug in Perl, you must use the F<perlbug> command
-line tool. This tool will ensure that your bug report includes all the
-relevant system and configuration information.
+If you want to report a bug in Perl, you must use the F<perlbug>
+command line tool. This tool will ensure that your bug report includes
+all the relevant system and configuration information.
To browse existing Perl bugs and patches, you can use the web interface
at L<http://rt.perl.org/>.
@@ -94,7 +95,8 @@ please add it. This will help the porters fix the bug.
The perl5-porters (p5p) mailing list is where the Perl standard
distribution is maintained and developed. The people who maintain Perl
-are also referred to as the "Perl 5 Porters", or just the "porters".
+are also referred to as the "Perl 5 Porters", "p5p" or just the
+"porters".
A searchable archive of the list is available at
L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/>. There is
@@ -108,6 +110,12 @@ submitted to the maintenance and development branches of the perl
repository. See L<http://lists.perl.org/list/perl5-changes.html> for
subscription and archive information.
+=head2 #p5p on IRC
+
+Many porters are also active on the L<irc://irc.perl.org/#p5p> channel.
+Feel free to join the channel and ask questions about hacking on the
+Perl core.
+
=head1 GETTING THE PERL SOURCE
All of Perl's source code is kept centrally in a Git repository at
@@ -215,7 +223,7 @@ C<format-patch> command produces one patch file for each commit you
made. If you prefer to send a single patch for all commits, you can use
C<git diff>.
- % git co blead
+ % git checkout blead
% git pull
% git diff blead my-branch-name
@@ -464,14 +472,19 @@ Don't forget the exceptional, pathological cases.
This works just like patching anything else, with one extra
consideration.
-Some core modules also live on CPAN and are maintained outside of the
-Perl core. When the author updates the module, the updates are simply
-copied into the core.
-
Modules in the F<cpan/> directory of the source tree are maintained
-outside of the Perl core. See that module's listing on documentation or
-its listing on L<http://search.cpan.org/> for more information on
-reporting bugs and submitting patches.
+outside of the Perl core. When the author updates the module, the
+updates are simply copied into the core. See that module's
+documentation or its listing on L<http://search.cpan.org/> for more
+information on reporting bugs and submitting patches.
+
+In most cases, patches to modules in F<cpan/> should be sent upstream
+and should not be applied to the Perl core individually. If a patch to
+a file in F<cpan/> absolutely cannot wait for the fix to be made
+upstream, released to CPAN and copied to blead, you must add (or
+update) a C<CUSTOMIZED> entry in the F<"Porting/Maintainers.pl"> file
+to flag that a local modification has been made. See
+F<"Porting/Maintainers.pl"> for more details.
In contrast, modules in the F<dist/> directory are maintained in the
core.
@@ -684,7 +697,8 @@ The F<t/test.pl> library provides some of the features of
L<Test::More>, but avoids loading most modules and uses as few core
features as possible.
-If you write your own test, use the L<Test Anything Protocol|TAP>.
+If you write your own test, use the L<Test Anything
+Protocol|http://testanything.org>.
=over 4
@@ -766,8 +780,8 @@ F<testname.valgrind>.
=item * test.torture torturetest
-Run all the usual tests and some extra tests. As of Perl 5.8.0, the only
-extra tests are Abigail's JAPHs, F<t/japh/abigail.t>.
+Run all the usual tests and some extra tests. As of Perl 5.8.0, the
+only extra tests are Abigail's JAPHs, F<t/japh/abigail.t>.
You can also run the torture test with F<t/harness> by giving
C<-torture> argument to F<t/harness>.
@@ -827,14 +841,14 @@ because L<TAP::Harness> needs to be able to schedule individual
non-conflicting test scripts itself, and there is no standard interface
to C<make> utilities to interact with their job schedulers.
-Note that currently some test scripts may fail when run in parallel (most
-notably C<ext/IO/t/io_dir.t>). If necessary, run just the failing scripts
-again sequentially and see if the failures go away.
+Note that currently some test scripts may fail when run in parallel
+(most notably F<ext/IO/t/io_dir.t>). If necessary, run just the failing
+scripts again sequentially and see if the failures go away.
=head2 Running tests by hand
-You can run part of the test suite by hand by using one of the following
-commands from the F<t/> directory:
+You can run part of the test suite by hand by using one of the
+following commands from the F<t/> directory:
./perl -I../lib TEST list-of-.t-files
@@ -846,9 +860,9 @@ or
=head2 Using F<t/harness> for testing
-If you use C<harness> for testing, you have several command line options
-available to you. The arguments are as follows, and are in the order
-that they must appear if used together.
+If you use C<harness> for testing, you have several command line
+options available to you. The arguments are as follows, and are in the
+order that they must appear if used together.
harness -v -torture -re=pattern LIST OF FILES TO TEST
harness -v -torture -re LIST OF PATTERNS TO MATCH
@@ -1074,9 +1088,9 @@ each file's purpose. Perl instead begins each with a literary allusion
to that file's purpose.
Like chapters in many books, all top-level Perl source files (along
-with a few others here and there) begin with an epigramic inscription
-that alludes, indirectly and metaphorically, to the material you're
-about to read.
+with a few others here and there) begin with an epigrammatic
+inscription that alludes, indirectly and metaphorically, to the
+material you're about to read.
Quotations are taken from writings of J.R.R. Tolkien pertaining to his
Legendarium, almost always from I<The Lord of the Rings>. Chapters and
diff --git a/Master/tlpkg/tlperl/lib/pods/perlhacktips.pod b/Master/tlpkg/tlperl/lib/pods/perlhacktips.pod
index 943ad4631b8..bb995f33005 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlhacktips.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlhacktips.pod
@@ -1,3 +1,4 @@
+
=encoding utf8
=for comment
@@ -203,7 +204,7 @@ Assuming one can dereference any type of pointer for any type of data
long pony = *p; /* BAD */
Many platforms, quite rightly so, will give you a core dump instead of
-a pony if the p happens not be correctly aligned.
+a pony if the p happens not to be correctly aligned.
=item *
@@ -1138,9 +1139,10 @@ finally report any memory problems.
The excellent valgrind tool can be used to find out both memory leaks
and illegal memory accesses. As of version 3.3.0, Valgrind only
-supports Linux on x86, x86-64 and PowerPC. The special "test.valgrind"
-target can be used to run the tests under valgrind. Found errors and
-memory leaks are logged in files named F<testfile.valgrind>.
+supports Linux on x86, x86-64 and PowerPC and Darwin (OS X) on x86 and
+x86-64). The special "test.valgrind" target can be used to run the
+tests under valgrind. Found errors and memory leaks are logged in
+files named F<testfile.valgrind>.
Valgrind also provides a cachegrind tool, invoked on perl as:
@@ -1153,7 +1155,7 @@ of them. Some additional suppressions are defined in F<t/perl.supp>.
To get valgrind and for more information see
- http://developer.kde.org/~sewardj/
+ http://valgrind.org/
=head1 PROFILING
diff --git a/Master/tlpkg/tlperl/lib/pods/perlhaiku.pod b/Master/tlpkg/tlperl/lib/pods/perlhaiku.pod
index 43215cde720..fa22d96d2e8 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlhaiku.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlhaiku.pod
@@ -4,7 +4,7 @@ designed to be readable as is.
=head1 NAME
-README.haiku - Perl version 5.10+ on Haiku
+perlhaiku - Perl version 5.10+ on Haiku
=head1 DESCRIPTION
@@ -22,9 +22,9 @@ The build procedure is completely standard:
Make perl executable and create a symlink for libperl:
chmod a+x /boot/common/bin/perl
- cd /boot/common/lib; ln -s perl5/5.14.2/BePC-haiku/CORE/libperl.so .
+ cd /boot/common/lib; ln -s perl5/5.16.2/BePC-haiku/CORE/libperl.so .
-Replace C<5.14.2> with your respective version of Perl.
+Replace C<5.16.2> with your respective version of Perl.
=head1 KNOWN PROBLEMS
@@ -38,18 +38,18 @@ Perl cannot be compiled with threading support ATM.
=item *
-The C<ext/Socket/t/socketpair.t> test fails. More precisely: the subtests
+The F<ext/Socket/t/socketpair.t> test fails. More precisely: the subtests
using datagram sockets fail. Unix datagram sockets aren't implemented in
Haiku yet.
=item *
-A subtest of the C<ext/Sys/Syslog/t/syslog.t> test fails. This is due to Haiku
+A subtest of the F<ext/Sys/Syslog/t/syslog.t> test fails. This is due to Haiku
not implementing C</dev/log> support yet.
=item *
-The tests C<lib/Net/Ping/t/450_service.t> and C<lib/Net/Ping/t/510_ping_udp.t>
+The tests F<lib/Net/Ping/t/450_service.t> and F<lib/Net/Ping/t/510_ping_udp.t>
fail. This is due to bugs in Haiku's network stack implementation.
=back
diff --git a/Master/tlpkg/tlperl/lib/pods/perlhist.pod b/Master/tlpkg/tlperl/lib/pods/perlhist.pod
index c694cc1c254..fbd4d2d64c4 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlhist.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlhist.pod
@@ -30,12 +30,16 @@ Sarathy, Graham Barr, Jarkko Hietaniemi, Hugo van der Sanden,
Michael Schwern, Rafael Garcia-Suarez, Nicholas Clark, Richard Clamp,
Leon Brocard, Dave Mitchell, Jesse Vincent, Ricardo Signes, Steve Hay,
Matt S Trout, David Golden, Florian Ragwitz, Tatsuhiko Miyagawa,
-Chris C<BinGOs> Williams, Zefram and Ævar Arnfjörð Bjarmason.
+Chris C<BinGOs> Williams, Zefram, Ævar Arnfjörð Bjarmason, Stevan
+Little, Dave Rolsky, Max Maischein, Abigail, Jesse Luehrs and Tony
+Cook.
=head2 PUMPKIN?
[from Porting/pumpkin.pod in the Perl source code distribution]
+=for disclaimer orking cows is hazardous, and not legal in all jurisdictions
+
Chip Salzenberg gets credit for that, with a nod to his cow orker,
David Croy. We had passed around various names (baton, token, hot
potato) but none caught on. Then, Chip asked:
@@ -44,7 +48,7 @@ potato) but none caught on. Then, Chip asked:
Who has the patch pumpkin?
-To explain: David Croy once told me once that at a previous job,
+To explain: David Croy once told me that at a previous job,
there was one tape drive and multiple systems that used it for backups.
But instead of some high-tech exclusion software, they used a low-tech
method to prevent multiple simultaneous backups: a stuffed pumpkin.
@@ -431,13 +435,15 @@ the strings?).
Jesse 5.12.1-RC2 2010-May-13 The 5.12 maintenance track
5.12.1-RC1 2010-May-09
- 5.12.1 2010-May-16
+ 5.12.1 2010-May-16
5.12.2-RC2 2010-Aug-31
5.12.2 2010-Sep-06
Ricardo 5.12.3-RC1 2011-Jan-09
Ricardo 5.12.3-RC2 2011-Jan-14
Ricardo 5.12.3-RC3 2011-Jan-17
Ricardo 5.12.3 2011-Jan-21
+ Leon 5.12.4-RC1 2011-Jun-08
+ Leon 5.12.4 2011-Jun-20
Leon 5.13.0 2010-Apr-20 The 5.13 development track
Ricardo 5.13.1 2010-May-20
@@ -460,6 +466,28 @@ the strings?).
Florian 5.14.2-RC1 2011-Sep-19
5.14.2 2011-Sep-26
+ David G 5.15.0 2011-Jun-20 The 5.15 development track
+ Zefram 5.15.1 2011-Jul-20
+ Ricardo 5.15.2 2011-Aug-20
+ Stevan 5.15.3 2011-Sep-20
+ Florian 5.15.4 2011-Oct-20
+ Steve 5.15.5 2011-Nov-20
+ Dave R 5.15.6 2011-Dec-20
+ BinGOs 5.15.7 2012-Jan-20
+ Max M 5.15.8 2012-Feb-20
+ Abigail 5.15.9 2012-Mar-20
+ Ricardo 5.16.0-RC0 2012-May-10
+ Ricardo 5.16.0-RC1 2012-May-14
+ Ricardo 5.16.0-RC2 2012-May-15
+
+ Ricardo 5.16.0 2012-May-20 The 5.16 maintenance track
+ Ricardo 5.16.1-RC1 2012-Aug-03
+ Ricardo 5.16.1 2012-Aug-08
+ Ricardo 5.16.2 2012-Nov-01
+
+ Zefram 5.17.0 2012-May-26 The 5.17 development track
+ Jesse L 5.17.1 2012-Jun-20
+ TonyC 5.17.2 2012-Jul-20
=head2 SELECTED RELEASE SIZES
@@ -647,7 +675,7 @@ the Perl source distribution for somewhat more selected releases.
apollo - - - - - - - - 0 1
beos 1 1 1 1 1 1 1 1 1 1
Configure 256 1 256 1 264 1 264 1 270 1
- cygwin32 24 5 24 5 24 5 24 5 24 5
+ cygwin32 24 5 24 5 24 5 24 5 24 5
djgpp 14 5 14 5 14 5 14 5 15 5
eg 86 65 86 65 86 65 86 65 86 65
emacs 262 2 262 2 262 2 262 2 274 2
@@ -910,7 +938,7 @@ context diff output format.
In more modern times, named releases don't come as often, and as progress
can be followed (nearly) instantly (with rsync, and since late 2008, git)
patches between versions are no longer provided. However, that doesn't
-keep us from calculating how large a patch could have been. Which is
+keep us from calculating how large a patch could have been. Which is
shown in the table below. Unless noted otherwise, the size mentioned is
the patch to bring version x.y.z to x.y.z+1.
@@ -944,7 +972,7 @@ the patch to bring version x.y.z to x.y.z+1.
Jarkko Hietaniemi <F<jhi@iki.fi>>.
Thanks to the collective memory of the Perlfolk. In addition to the
-Keepers of the Pumpkin also Alan Champion, Mark Dominus,
+Keepers of the Pumpkin also Alan Champion, Mark Dominus,
Andreas KE<0xf6>nig, John Macdonald, Matthias Neeracher, Jeff Okamoto,
Michael Peppler, Randal Schwartz, and Paul D. Smith sent corrections
and additions. Abigail added file and patch size data for the 5.6.0 - 5.10
diff --git a/Master/tlpkg/tlperl/lib/pods/perlhpux.pod b/Master/tlpkg/tlperl/lib/pods/perlhpux.pod
index a1b59dec8d1..7bd4b93299d 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlhpux.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlhpux.pod
@@ -4,7 +4,7 @@ designed to be readable as is.
=head1 NAME
-README.hpux - Perl version 5 on Hewlett-Packard Unix (HP-UX) systems
+perlhpux - Perl version 5 on Hewlett-Packard Unix (HP-UX) systems
=head1 DESCRIPTION
@@ -402,7 +402,7 @@ for updates/patches. Enter "ANSI" as keyword.
When you are going to use the GNU C compiler (gcc), and you don't have
gcc yet, you can either build it yourself from the sources (available
-from e.g. L<http://www.gnu.ai.mit.edu/software/gcc/releases.html>) or fetch
+from e.g. L<http://gcc.gnu.org/mirrors.html>) or fetch
a prebuilt binary from the HP porting center. gcc prebuilds can be
fetched from
L<http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703,547,00.html>
@@ -634,6 +634,27 @@ bug seems to be to create add to the file F</etc/nsswitch.conf>
Whether you are using NIS does not matter. Amazingly enough,
the same bug also affects Solaris.
+=head1 error: pasting ")" and "l" does not give a valid preprocessing token
+
+There seems to be a broken system header file in HP-UX 11.00 that
+breaks perl building in 32bit mode with GNU gcc-4.x causing this
+error. The same file for HP-UX 11.11 (even though the file is older)
+does not show this failure, and has the correct definition, so the
+best fix is to patch the header to match:
+
+ --- /usr/include/inttypes.h 2001-04-20 18:42:14 +0200
+ +++ /usr/include/inttypes.h 2000-11-14 09:00:00 +0200
+ @@ -72,7 +72,7 @@
+ #define UINT32_C(__c) __CONCAT_U__(__c)
+ #else /* __LP64 */
+ #define INT32_C(__c) __CONCAT__(__c,l)
+ -#define UINT32_C(__c) __CONCAT__(__CONCAT_U__(__c),l)
+ +#define UINT32_C(__c) __CONCAT__(__c,ul)
+ #endif /* __LP64 */
+
+ #define INT64_C(__c) __CONCAT_L__(__c,l)
+
+
=head1 Miscellaneous
HP-UX 11 Y2K patch "Y2K-1100 B.11.00.B0125 HP-UX Core OS Year 2000
@@ -650,8 +671,4 @@ Jeff Okamoto <okamoto@corp.hp.com>
With much assistance regarding shared libraries from Marc Sabatella.
-=head1 DATE
-
-Version 0.8.3: 2008-06-24
-
=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlhurd.pod b/Master/tlpkg/tlperl/lib/pods/perlhurd.pod
index 251249cbc15..7f9b4a98868 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlhurd.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlhurd.pod
@@ -4,7 +4,7 @@ designed to be readable as is.
=head1 NAME
-README.hurd - Perl version 5 on Hurd
+perlhurd - Perl version 5 on Hurd
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/pods/perlintern.pod b/Master/tlpkg/tlperl/lib/pods/perlintern.pod
index 5f09dcdc6d0..3d7c86639ec 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlintern.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlintern.pod
@@ -134,24 +134,12 @@ Found in file cv.h
=over 8
-=item cv_clone
-X<cv_clone>
-
-Clone a CV: make a new CV which points to the same code etc, but which
-has a newly-created pad built by copying the prototype pad and capturing
-any outer lexicals.
-
- CV* cv_clone(CV* proto)
-
-=for hackers
-Found in file pad.c
-
=item cv_dump
X<cv_dump>
dump the contents of a CV
- void cv_dump(const CV *cv, const char *title)
+ void cv_dump(CV *cv, const char *title)
=for hackers
Found in file pad.c
@@ -161,7 +149,8 @@ X<do_dump_pad>
Dump the contents of a padlist
- void do_dump_pad(I32 level, PerlIO *file, PADLIST *padlist, int full)
+ void do_dump_pad(I32 level, PerlIO *file,
+ PADLIST *padlist, int full)
=for hackers
Found in file pad.c
@@ -176,44 +165,30 @@ X<intro_my>
=for hackers
Found in file pad.c
-=item pad_add_anon
-X<pad_add_anon>
-
-Add an anon code entry to the current compiling pad
-
- PADOFFSET pad_add_anon(SV* sv, OPCODE op_type)
-
-=for hackers
-Found in file pad.c
-
-=item pad_add_name
-X<pad_add_name>
-
-Create a new name and associated PADMY SV in the current pad; return the
-offset.
-If C<typestash> is valid, the name is for a typed lexical; set the
-name's stash to that value.
-If C<ourstash> is valid, it's an our lexical, set the name's
-SvOURSTASH to that value
+=item padlist_dup
+X<padlist_dup>
-If fake, it means we're cloning an existing entry
+Duplicates a pad.
-NOTE: this function is experimental and may change or be
-removed without notice.
-
- PADOFFSET pad_add_name(const char *name, const STRLEN len, const U32 flags, HV *typestash, HV *ourstash)
+ AV * padlist_dup(AV *srcpad, CLONE_PARAMS *param)
=for hackers
Found in file pad.c
-=item pad_alloc
-X<pad_alloc>
+=item pad_alloc_name
+X<pad_alloc_name>
-Allocate a new my or tmp pad entry. For a my, simply push a null SV onto
-the end of PL_comppad, but for a tmp, scan the pad from PL_padix upwards
-for a slot which has no name and no active value.
+Allocates a place in the currently-compiling
+pad (via L<perlapi/pad_alloc>) and
+then stores a name for that entry. I<namesv> is adopted and becomes the
+name entry; it must already contain the name string and be sufficiently
+upgraded. I<typestash> and I<ourstash> and the C<padadd_STATE> flag get
+added to I<namesv>. None of the other
+processing of L<perlapi/pad_add_name_pvn>
+is done. Returns the offset of the allocated pad slot.
- PADOFFSET pad_alloc(I32 optype, U32 tmptype)
+ PADOFFSET pad_alloc_name(SV *namesv, U32 flags,
+ HV *typestash, HV *ourstash)
=for hackers
Found in file pad.c
@@ -232,12 +207,15 @@ Found in file pad.c
X<pad_check_dup>
Check for duplicate declarations: report any of:
+
* a my in the current scope with the same name;
- * an our (anywhere in the pad) with the same name and the same stash
- as C<ourstash>
-C<is_our> indicates that the name to check is an 'our' declaration
+ * an our (anywhere in the pad) with the same name and the
+ same stash as C<ourstash>
+
+C<is_our> indicates that the name to check is an 'our' declaration.
- void pad_check_dup(SV *name, const U32 flags, const HV *ourstash)
+ void pad_check_dup(SV *name, U32 flags,
+ const HV *ourstash)
=for hackers
Found in file pad.c
@@ -262,7 +240,11 @@ then comes back down, adding fake entries as it goes. It has to be this way
because fake namesvs in anon protoypes have to store in xlow the index into
the parent pad.
- PADOFFSET pad_findlex(const char *name, const CV* cv, U32 seq, int warn, SV** out_capture, SV** out_name_sv, int *out_flags)
+ PADOFFSET pad_findlex(const char *namepv,
+ STRLEN namelen, U32 flags,
+ const CV* cv, U32 seq, int warn,
+ SV** out_capture,
+ SV** out_name_sv, int *out_flags)
=for hackers
Found in file pad.c
@@ -274,7 +256,8 @@ For any anon CVs in the pad, change CvOUTSIDE of that CV from
old_cv to new_cv if necessary. Needed when a newly-compiled CV has to be
moved to a pre-existing CV struct.
- void pad_fixup_inner_anons(PADLIST *padlist, CV *old_cv, CV *new_cv)
+ void pad_fixup_inner_anons(PADLIST *padlist,
+ CV *old_cv, CV *new_cv)
=for hackers
Found in file pad.c
@@ -322,17 +305,6 @@ Mark all the current temporaries for reuse
=for hackers
Found in file pad.c
-=item pad_setsv
-X<pad_setsv>
-
-Set the entry at offset po in the current pad to sv.
-Use the macro PAD_SETSV() rather than calling this function directly.
-
- void pad_setsv(PADOFFSET po, SV* sv)
-
-=for hackers
-Found in file pad.c
-
=item pad_swipe
X<pad_swipe>
@@ -344,268 +316,27 @@ new one.
=for hackers
Found in file pad.c
-=item pad_tidy
-X<pad_tidy>
-
-Tidy up a pad after we've finished compiling it:
- * remove most stuff from the pads of anonsub prototypes;
- * give it a @_;
- * mark tmps as such.
-
- void pad_tidy(padtidy_type type)
-
-=for hackers
-Found in file pad.c
-
=back
-=head1 Functions in file pad.h
-
+=head1 Functions in file op.c
=over 8
-=item CX_CURPAD_SAVE
-X<CX_CURPAD_SAVE>
-
-Save the current pad in the given context block structure.
-
- void CX_CURPAD_SAVE(struct context)
-
-=for hackers
-Found in file pad.h
-
-=item CX_CURPAD_SV
-X<CX_CURPAD_SV>
-
-Access the SV at offset po in the saved current pad in the given
-context block structure (can be used as an lvalue).
-
- SV * CX_CURPAD_SV(struct context, PADOFFSET po)
-
-=for hackers
-Found in file pad.h
-
-=item PAD_BASE_SV
-X<PAD_BASE_SV>
-
-Get the value from slot C<po> in the base (DEPTH=1) pad of a padlist
-
- SV * PAD_BASE_SV(PADLIST padlist, PADOFFSET po)
-
-=for hackers
-Found in file pad.h
-
-=item PAD_CLONE_VARS
-X<PAD_CLONE_VARS>
-
-Clone the state variables associated with running and compiling pads.
-
- void PAD_CLONE_VARS(PerlInterpreter *proto_perl, CLONE_PARAMS* param)
-
-=for hackers
-Found in file pad.h
-
-=item PAD_COMPNAME_FLAGS
-X<PAD_COMPNAME_FLAGS>
-
-Return the flags for the current compiling pad name
-at offset C<po>. Assumes a valid slot entry.
-
- U32 PAD_COMPNAME_FLAGS(PADOFFSET po)
-
-=for hackers
-Found in file pad.h
-
-=item PAD_COMPNAME_GEN
-X<PAD_COMPNAME_GEN>
-
-The generation number of the name at offset C<po> in the current
-compiling pad (lvalue). Note that C<SvUVX> is hijacked for this purpose.
-
- STRLEN PAD_COMPNAME_GEN(PADOFFSET po)
-
-=for hackers
-Found in file pad.h
-
-=item PAD_COMPNAME_GEN_set
-X<PAD_COMPNAME_GEN_set>
-
-Sets the generation number of the name at offset C<po> in the current
-ling pad (lvalue) to C<gen>. Note that C<SvUV_set> is hijacked for this purpose.
-
- STRLEN PAD_COMPNAME_GEN_set(PADOFFSET po, int gen)
-
-=for hackers
-Found in file pad.h
-
-=item PAD_COMPNAME_OURSTASH
-X<PAD_COMPNAME_OURSTASH>
-
-Return the stash associated with an C<our> variable.
-Assumes the slot entry is a valid C<our> lexical.
-
- HV * PAD_COMPNAME_OURSTASH(PADOFFSET po)
-
-=for hackers
-Found in file pad.h
-
-=item PAD_COMPNAME_PV
-X<PAD_COMPNAME_PV>
-
-Return the name of the current compiling pad name
-at offset C<po>. Assumes a valid slot entry.
-
- char * PAD_COMPNAME_PV(PADOFFSET po)
-
-=for hackers
-Found in file pad.h
-
-=item PAD_COMPNAME_TYPE
-X<PAD_COMPNAME_TYPE>
-
-Return the type (stash) of the current compiling pad name at offset
-C<po>. Must be a valid name. Returns null if not typed.
-
- HV * PAD_COMPNAME_TYPE(PADOFFSET po)
-
-=for hackers
-Found in file pad.h
-
-=item PAD_DUP
-X<PAD_DUP>
-
-Clone a padlist.
-
- void PAD_DUP(PADLIST dstpad, PADLIST srcpad, CLONE_PARAMS* param)
-
-=for hackers
-Found in file pad.h
-
-=item PAD_RESTORE_LOCAL
-X<PAD_RESTORE_LOCAL>
-
-Restore the old pad saved into the local variable opad by PAD_SAVE_LOCAL()
-
- void PAD_RESTORE_LOCAL(PAD *opad)
-
-=for hackers
-Found in file pad.h
-
-=item PAD_SAVE_LOCAL
-X<PAD_SAVE_LOCAL>
-
-Save the current pad to the local variable opad, then make the
-current pad equal to npad
-
- void PAD_SAVE_LOCAL(PAD *opad, PAD *npad)
-
-=for hackers
-Found in file pad.h
-
-=item PAD_SAVE_SETNULLPAD
-X<PAD_SAVE_SETNULLPAD>
-
-Save the current pad then set it to null.
-
- void PAD_SAVE_SETNULLPAD()
-
-=for hackers
-Found in file pad.h
-
-=item PAD_SETSV
-X<PAD_SETSV>
-
-Set the slot at offset C<po> in the current pad to C<sv>
-
- SV * PAD_SETSV(PADOFFSET po, SV* sv)
-
-=for hackers
-Found in file pad.h
-
-=item PAD_SET_CUR
-X<PAD_SET_CUR>
-
-Set the current pad to be pad C<n> in the padlist, saving
-the previous current pad. NB currently this macro expands to a string too
-long for some compilers, so it's best to replace it with
-
- SAVECOMPPAD();
- PAD_SET_CUR_NOSAVE(padlist,n);
-
-
- void PAD_SET_CUR(PADLIST padlist, I32 n)
-
-=for hackers
-Found in file pad.h
-
-=item PAD_SET_CUR_NOSAVE
-X<PAD_SET_CUR_NOSAVE>
-
-like PAD_SET_CUR, but without the save
-
- void PAD_SET_CUR_NOSAVE(PADLIST padlist, I32 n)
-
-=for hackers
-Found in file pad.h
-
-=item PAD_SV
-X<PAD_SV>
-
-Get the value at offset C<po> in the current pad
-
- void PAD_SV(PADOFFSET po)
-
-=for hackers
-Found in file pad.h
-
-=item PAD_SVl
-X<PAD_SVl>
-
-Lightweight and lvalue version of C<PAD_SV>.
-Get or set the value at offset C<po> in the current pad.
-Unlike C<PAD_SV>, does not print diagnostics with -DX.
-For internal use only.
-
- SV * PAD_SVl(PADOFFSET po)
-
-=for hackers
-Found in file pad.h
-
-=item SAVECLEARSV
-X<SAVECLEARSV>
-
-Clear the pointed to pad value on scope exit. (i.e. the runtime action of 'my')
-
- void SAVECLEARSV(SV **svp)
-
-=for hackers
-Found in file pad.h
-
-=item SAVECOMPPAD
-X<SAVECOMPPAD>
-
-save PL_comppad and PL_curpad
-
-
-
-
-
- void SAVECOMPPAD()
-
-=for hackers
-Found in file pad.h
-
-=item SAVEPADSV
-X<SAVEPADSV>
+=item core_prototype
+X<core_prototype>
-Save a pad slot (used to restore after an iteration)
+This function assigns the prototype of the named core function to C<sv>, or
+to a new mortal SV if C<sv> is NULL. It returns the modified C<sv>, or
+NULL if the core function has no prototype. C<code> is a code as returned
+by C<keyword()>. It must be negative and unequal to -KEY_CORE.
-XXX DAPM it would make more sense to make the arg a PADOFFSET
- void SAVEPADSV(PADOFFSET po)
+ SV * core_prototype(SV *sv, const char *name,
+ const int code,
+ int * const opnum)
=for hackers
-Found in file pad.h
+Found in file op.c
=back
@@ -664,26 +395,6 @@ removed without notice.
=for hackers
Found in file gv.c
-=item is_gv_magical_sv
-X<is_gv_magical_sv>
-
-Returns C<TRUE> if given the name of a magical GV.
-
-Currently only useful internally when determining if a GV should be
-created even in rvalue contexts.
-
-C<flags> is not used at present but available for future extension to
-allow selecting particular classes of magical variable.
-
-Currently assumes that C<name> is NUL terminated (as well as len being valid).
-This assumption is met by all callers within the perl core, which all pass
-pointers returned by SvPV.
-
- bool is_gv_magical_sv(SV *const name_sv, U32 flags)
-
-=for hackers
-Found in file gv.c
-
=back
@@ -694,13 +405,14 @@ Found in file gv.c
=item hv_ename_add
X<hv_ename_add>
-Adds a name to a stash's internal list of effective names. See
+Adds a name to a stash's internal list of effective names. See
C<hv_ename_delete>.
This is called when a stash is assigned to a new location in the symbol
table.
- void hv_ename_add(HV *hv, const char *name, U32 len, U32 flags)
+ void hv_ename_add(HV *hv, const char *name, U32 len,
+ U32 flags)
=for hackers
Found in file hv.c
@@ -708,13 +420,14 @@ Found in file hv.c
=item hv_ename_delete
X<hv_ename_delete>
-Removes a name from a stash's internal list of effective names. If this is
+Removes a name from a stash's internal list of effective names. If this is
the name returned by C<HvENAME>, then another name in the list will take
its place (C<HvENAME> will use it).
This is called when a stash is deleted from the symbol table.
- void hv_ename_delete(HV *hv, const char *name, U32 len, U32 flags)
+ void hv_ename_delete(HV *hv, const char *name,
+ U32 len, U32 flags)
=for hackers
Found in file hv.c
@@ -726,7 +439,9 @@ Generates and returns a C<HV *> representing the content of a
C<refcounted_he> chain.
I<flags> is currently unused and must be zero.
- HV * refcounted_he_chain_2hv(const struct refcounted_he *c, U32 flags)
+ HV * refcounted_he_chain_2hv(
+ const struct refcounted_he *c, U32 flags
+ )
=for hackers
Found in file hv.c
@@ -737,7 +452,10 @@ X<refcounted_he_fetch_pv>
Like L</refcounted_he_fetch_pvn>, but takes a nul-terminated string
instead of a string/length pair.
- SV * refcounted_he_fetch_pv(const struct refcounted_he *chain, const char *key, U32 hash, U32 flags)
+ SV * refcounted_he_fetch_pv(
+ const struct refcounted_he *chain,
+ const char *key, U32 hash, U32 flags
+ )
=for hackers
Found in file hv.c
@@ -753,7 +471,11 @@ string, or zero if it has not been precomputed. Returns a mortal scalar
representing the value associated with the key, or C<&PL_sv_placeholder>
if there is no value associated with the key.
- SV * refcounted_he_fetch_pvn(const struct refcounted_he *chain, const char *keypv, STRLEN keylen, U32 hash, U32 flags)
+ SV * refcounted_he_fetch_pvn(
+ const struct refcounted_he *chain,
+ const char *keypv, STRLEN keylen, U32 hash,
+ U32 flags
+ )
=for hackers
Found in file hv.c
@@ -764,7 +486,10 @@ X<refcounted_he_fetch_pvs>
Like L</refcounted_he_fetch_pvn>, but takes a literal string instead of
a string/length pair, and no precomputed hash.
- SV * refcounted_he_fetch_pvs(const struct refcounted_he *chain, const char *key, U32 flags)
+ SV * refcounted_he_fetch_pvs(
+ const struct refcounted_he *chain,
+ const char *key, U32 flags
+ )
=for hackers
Found in file hv.h
@@ -775,7 +500,10 @@ X<refcounted_he_fetch_sv>
Like L</refcounted_he_fetch_pvn>, but takes a Perl scalar instead of a
string/length pair.
- SV * refcounted_he_fetch_sv(const struct refcounted_he *chain, SV *key, U32 hash, U32 flags)
+ SV * refcounted_he_fetch_sv(
+ const struct refcounted_he *chain, SV *key,
+ U32 hash, U32 flags
+ )
=for hackers
Found in file hv.c
@@ -801,7 +529,9 @@ Increment the reference count of a C<refcounted_he>. The pointer to the
C<refcounted_he> is also returned. It is safe to pass a null pointer
to this function: no action occurs and a null pointer is returned.
- struct refcounted_he * refcounted_he_inc(struct refcounted_he *he)
+ struct refcounted_he * refcounted_he_inc(
+ struct refcounted_he *he
+ )
=for hackers
Found in file hv.c
@@ -812,7 +542,11 @@ X<refcounted_he_new_pv>
Like L</refcounted_he_new_pvn>, but takes a nul-terminated string instead
of a string/length pair.
- struct refcounted_he * refcounted_he_new_pv(struct refcounted_he *parent, const char *key, U32 hash, SV *value, U32 flags)
+ struct refcounted_he * refcounted_he_new_pv(
+ struct refcounted_he *parent,
+ const char *key, U32 hash,
+ SV *value, U32 flags
+ )
=for hackers
Found in file hv.c
@@ -847,7 +581,12 @@ attached to the new C<refcounted_he>. This function takes ownership
of one reference to I<parent>, and returns one reference to the new
C<refcounted_he>.
- struct refcounted_he * refcounted_he_new_pvn(struct refcounted_he *parent, const char *keypv, STRLEN keylen, U32 hash, SV *value, U32 flags)
+ struct refcounted_he * refcounted_he_new_pvn(
+ struct refcounted_he *parent,
+ const char *keypv,
+ STRLEN keylen, U32 hash,
+ SV *value, U32 flags
+ )
=for hackers
Found in file hv.c
@@ -858,7 +597,11 @@ X<refcounted_he_new_pvs>
Like L</refcounted_he_new_pvn>, but takes a literal string instead of
a string/length pair, and no precomputed hash.
- struct refcounted_he * refcounted_he_new_pvs(struct refcounted_he *parent, const char *key, SV *value, U32 flags)
+ struct refcounted_he * refcounted_he_new_pvs(
+ struct refcounted_he *parent,
+ const char *key, SV *value,
+ U32 flags
+ )
=for hackers
Found in file hv.h
@@ -869,7 +612,11 @@ X<refcounted_he_new_sv>
Like L</refcounted_he_new_pvn>, but takes a Perl scalar instead of a
string/length pair.
- struct refcounted_he * refcounted_he_new_sv(struct refcounted_he *parent, SV *key, U32 hash, SV *value, U32 flags)
+ struct refcounted_he * refcounted_he_new_sv(
+ struct refcounted_he *parent,
+ SV *key, U32 hash, SV *value,
+ U32 flags
+ )
=for hackers
Found in file hv.c
@@ -930,18 +677,27 @@ X<magic_methcall>
Invoke a magic method (like FETCH).
-* sv and mg are the tied thingy and the tie magic;
-* meth is the name of the method to call;
-* argc is the number of args (in addition to $self) to pass to the method;
- the args themselves are any values following the argc argument.
-* flags:
- G_DISCARD: invoke method with G_DISCARD flag and don't return a value
- G_UNDEF_FILL: fill the stack with argc pointers to PL_sv_undef.
+C<sv> and C<mg> are the tied thingy and the tie magic.
+
+C<meth> is the name of the method to call.
+
+C<argc> is the number of args (in addition to $self) to pass to the method.
+
+The C<flags> can be:
+
+ G_DISCARD invoke method with G_DISCARD flag and don't
+ return a value
+ G_UNDEF_FILL fill the stack with argc pointers to
+ PL_sv_undef
+
+The arguments themselves are any values following the C<flags> argument.
Returns the SV (if any) returned by the method, or NULL on failure.
- SV* magic_methcall(SV *sv, const MAGIC *mg, const char *meth, U32 flags, U32 argc, ...)
+ SV* magic_methcall(SV *sv, const MAGIC *mg,
+ const char *meth, U32 flags,
+ U32 argc, ...)
=for hackers
Found in file mg.c
@@ -1017,8 +773,8 @@ Found in file mro.c
X<mro_package_moved>
Call this function to signal to a stash that it has been assigned to
-another spot in the stash hierarchy. C<stash> is the stash that has been
-assigned. C<oldstash> is the stash it replaces, if any. C<gv> is the glob
+another spot in the stash hierarchy. C<stash> is the stash that has been
+assigned. C<oldstash> is the stash it replaces, if any. C<gv> is the glob
that is actually being assigned to.
This can also be called with a null first argument to
@@ -1032,9 +788,12 @@ It also sets the effective names (C<HvENAME>) on all the stashes as
appropriate.
If the C<gv> is present and is not in the symbol table, then this function
-simply returns. This checked will be skipped if C<flags & 1>.
+simply returns. This checked will be skipped if C<flags & 1>.
- void mro_package_moved(HV * const stash, HV * const oldstash, const GV * const gv, U32 flags)
+ void mro_package_moved(HV * const stash,
+ HV * const oldstash,
+ const GV * const gv,
+ U32 flags)
=for hackers
Found in file mro.c
@@ -1042,120 +801,279 @@ Found in file mro.c
=back
+=head1 Optree Manipulation Functions
+
+=over 8
+
+=item finalize_optree
+X<finalize_optree>
+
+This function finalizes the optree. Should be called directly after
+the complete optree is built. It does some additional
+checking which can't be done in the normal ck_xxx functions and makes
+the tree thread-safe.
+
+ void finalize_optree(OP* o)
+
+=for hackers
+Found in file op.c
+
+
+=back
+
=head1 Pad Data Structures
=over 8
-=item CvPADLIST
-X<CvPADLIST>
+=item CX_CURPAD_SAVE
+X<CX_CURPAD_SAVE>
+
+Save the current pad in the given context block structure.
+
+ void CX_CURPAD_SAVE(struct context)
+
+=for hackers
+Found in file pad.h
+
+=item CX_CURPAD_SV
+X<CX_CURPAD_SV>
+
+Access the SV at offset po in the saved current pad in the given
+context block structure (can be used as an lvalue).
+
+ SV * CX_CURPAD_SV(struct context, PADOFFSET po)
+
+=for hackers
+Found in file pad.h
+
+=item PAD_BASE_SV
+X<PAD_BASE_SV>
+
+Get the value from slot C<po> in the base (DEPTH=1) pad of a padlist
+
+ SV * PAD_BASE_SV(PADLIST padlist, PADOFFSET po)
+
+=for hackers
+Found in file pad.h
+
+=item PAD_CLONE_VARS
+X<PAD_CLONE_VARS>
+
+Clone the state variables associated with running and compiling pads.
+
+ void PAD_CLONE_VARS(PerlInterpreter *proto_perl,
+ CLONE_PARAMS* param)
-CV's can have CvPADLIST(cv) set to point to an AV.
+=for hackers
+Found in file pad.h
-For these purposes "forms" are a kind-of CV, eval""s are too (except they're
-not callable at will and are always thrown away after the eval"" is done
-executing). Require'd files are simply evals without any outer lexical
-scope.
+=item PAD_COMPNAME_FLAGS
+X<PAD_COMPNAME_FLAGS>
-XSUBs don't have CvPADLIST set - dXSTARG fetches values from PL_curpad,
-but that is really the callers pad (a slot of which is allocated by
-every entersub).
+Return the flags for the current compiling pad name
+at offset C<po>. Assumes a valid slot entry.
-The CvPADLIST AV has does not have AvREAL set, so REFCNT of component items
-is managed "manual" (mostly in pad.c) rather than normal av.c rules.
-The items in the AV are not SVs as for a normal AV, but other AVs:
+ U32 PAD_COMPNAME_FLAGS(PADOFFSET po)
-0'th Entry of the CvPADLIST is an AV which represents the "names" or rather
-the "static type information" for lexicals.
+=for hackers
+Found in file pad.h
-The CvDEPTH'th entry of CvPADLIST AV is an AV which is the stack frame at that
-depth of recursion into the CV.
-The 0'th slot of a frame AV is an AV which is @_.
-other entries are storage for variables and op targets.
+=item PAD_COMPNAME_GEN
+X<PAD_COMPNAME_GEN>
-During compilation:
-C<PL_comppad_name> is set to the names AV.
-C<PL_comppad> is set to the frame AV for the frame CvDEPTH == 1.
-C<PL_curpad> is set to the body of the frame AV (i.e. AvARRAY(PL_comppad)).
+The generation number of the name at offset C<po> in the current
+compiling pad (lvalue). Note that C<SvUVX> is hijacked for this purpose.
-During execution, C<PL_comppad> and C<PL_curpad> refer to the live
-frame of the currently executing sub.
+ STRLEN PAD_COMPNAME_GEN(PADOFFSET po)
-Iterating over the names AV iterates over all possible pad
-items. Pad slots that are SVs_PADTMP (targets/GVs/constants) end up having
-&PL_sv_undef "names" (see pad_alloc()).
+=for hackers
+Found in file pad.h
-Only my/our variable (SVs_PADMY/SVs_PADOUR) slots get valid names.
-The rest are op targets/GVs/constants which are statically allocated
-or resolved at compile time. These don't have names by which they
-can be looked up from Perl code at run time through eval"" like
-my/our variables can be. Since they can't be looked up by "name"
-but only by their index allocated at compile time (which is usually
-in PL_op->op_targ), wasting a name SV for them doesn't make sense.
+=item PAD_COMPNAME_GEN_set
+X<PAD_COMPNAME_GEN_set>
-The SVs in the names AV have their PV being the name of the variable.
-xlow+1..xhigh inclusive in the NV union is a range of cop_seq numbers for
-which the name is valid (accessed through the macros COP_SEQ_RANGE_LOW and
-_HIGH). During compilation, these fields may hold the special value
-PERL_PADSEQ_INTRO to indicate various stages:
+Sets the generation number of the name at offset C<po> in the current
+ling pad (lvalue) to C<gen>. Note that C<SvUV_set> is hijacked for this purpose.
- COP_SEQ_RANGE_LOW _HIGH
- ----------------- -----
- PERL_PADSEQ_INTRO 0 variable not yet introduced: { my ($x
- valid-seq# PERL_PADSEQ_INTRO variable in scope: { my ($x)
- valid-seq# valid-seq# compilation of scope complete: { my ($x) }
+ STRLEN PAD_COMPNAME_GEN_set(PADOFFSET po, int gen)
-For typed lexicals name SV is SVt_PVMG and SvSTASH
-points at the type. For C<our> lexicals, the type is also SVt_PVMG, with the
-SvOURSTASH slot pointing at the stash of the associated global (so that
-duplicate C<our> declarations in the same package can be detected). SvUVX is
-sometimes hijacked to store the generation number during compilation.
+=for hackers
+Found in file pad.h
-If SvFAKE is set on the name SV, then that slot in the frame AV is
-a REFCNT'ed reference to a lexical from "outside". In this case,
-the name SV does not use xlow and xhigh to store a cop_seq range, since it is
-in scope throughout. Instead xhigh stores some flags containing info about
-the real lexical (is it declared in an anon, and is it capable of being
-instantiated multiple times?), and for fake ANONs, xlow contains the index
-within the parent's pad where the lexical's value is stored, to make
-cloning quicker.
+=item PAD_COMPNAME_OURSTASH
+X<PAD_COMPNAME_OURSTASH>
-If the 'name' is '&' the corresponding entry in frame AV
-is a CV representing a possible closure.
-(SvFAKE and name of '&' is not a meaningful combination currently but could
-become so if C<my sub foo {}> is implemented.)
+Return the stash associated with an C<our> variable.
+Assumes the slot entry is a valid C<our> lexical.
-Note that formats are treated as anon subs, and are cloned each time
-write is called (if necessary).
+ HV * PAD_COMPNAME_OURSTASH(PADOFFSET po)
-The flag SVs_PADSTALE is cleared on lexicals each time the my() is executed,
-and set on scope exit. This allows the 'Variable $x is not available' warning
-to be generated in evals, such as
+=for hackers
+Found in file pad.h
- { my $x = 1; sub f { eval '$x'} } f();
+=item PAD_COMPNAME_PV
+X<PAD_COMPNAME_PV>
-For state vars, SVs_PADSTALE is overloaded to mean 'not yet initialised'
+Return the name of the current compiling pad name
+at offset C<po>. Assumes a valid slot entry.
- AV * CvPADLIST(CV *cv)
+ char * PAD_COMPNAME_PV(PADOFFSET po)
=for hackers
-Found in file pad.c
+Found in file pad.h
+
+=item PAD_COMPNAME_TYPE
+X<PAD_COMPNAME_TYPE>
-=item pad_new
-X<pad_new>
+Return the type (stash) of the current compiling pad name at offset
+C<po>. Must be a valid name. Returns null if not typed.
-Create a new compiling padlist, saving and updating the various global
-vars at the same time as creating the pad itself. The following flags
-can be OR'ed together:
+ HV * PAD_COMPNAME_TYPE(PADOFFSET po)
- padnew_CLONE this pad is for a cloned CV
- padnew_SAVE save old globals
- padnew_SAVESUB also save extra stuff for start of sub
+=for hackers
+Found in file pad.h
+
+=item pad_peg
+X<pad_peg>
+
+When PERL_MAD is enabled, this is a small no-op function that gets called
+at the start of each pad-related function. It can be breakpointed to
+track all pad operations. The parameter is a string indicating the type
+of pad operation being performed.
+
+NOTE: this function is experimental and may change or be
+removed without notice.
- PADLIST* pad_new(int flags)
+ void pad_peg(const char *s)
=for hackers
Found in file pad.c
+=item PAD_RESTORE_LOCAL
+X<PAD_RESTORE_LOCAL>
+
+Restore the old pad saved into the local variable opad by PAD_SAVE_LOCAL()
+
+ void PAD_RESTORE_LOCAL(PAD *opad)
+
+=for hackers
+Found in file pad.h
+
+=item PAD_SAVE_LOCAL
+X<PAD_SAVE_LOCAL>
+
+Save the current pad to the local variable opad, then make the
+current pad equal to npad
+
+ void PAD_SAVE_LOCAL(PAD *opad, PAD *npad)
+
+=for hackers
+Found in file pad.h
+
+=item PAD_SAVE_SETNULLPAD
+X<PAD_SAVE_SETNULLPAD>
+
+Save the current pad then set it to null.
+
+ void PAD_SAVE_SETNULLPAD()
+
+=for hackers
+Found in file pad.h
+
+=item PAD_SETSV
+X<PAD_SETSV>
+
+Set the slot at offset C<po> in the current pad to C<sv>
+
+ SV * PAD_SETSV(PADOFFSET po, SV* sv)
+
+=for hackers
+Found in file pad.h
+
+=item PAD_SET_CUR
+X<PAD_SET_CUR>
+
+Set the current pad to be pad C<n> in the padlist, saving
+the previous current pad. NB currently this macro expands to a string too
+long for some compilers, so it's best to replace it with
+
+ SAVECOMPPAD();
+ PAD_SET_CUR_NOSAVE(padlist,n);
+
+
+ void PAD_SET_CUR(PADLIST padlist, I32 n)
+
+=for hackers
+Found in file pad.h
+
+=item PAD_SET_CUR_NOSAVE
+X<PAD_SET_CUR_NOSAVE>
+
+like PAD_SET_CUR, but without the save
+
+ void PAD_SET_CUR_NOSAVE(PADLIST padlist, I32 n)
+
+=for hackers
+Found in file pad.h
+
+=item PAD_SV
+X<PAD_SV>
+
+Get the value at offset C<po> in the current pad
+
+ void PAD_SV(PADOFFSET po)
+
+=for hackers
+Found in file pad.h
+
+=item PAD_SVl
+X<PAD_SVl>
+
+Lightweight and lvalue version of C<PAD_SV>.
+Get or set the value at offset C<po> in the current pad.
+Unlike C<PAD_SV>, does not print diagnostics with -DX.
+For internal use only.
+
+ SV * PAD_SVl(PADOFFSET po)
+
+=for hackers
+Found in file pad.h
+
+=item SAVECLEARSV
+X<SAVECLEARSV>
+
+Clear the pointed to pad value on scope exit. (i.e. the runtime action of 'my')
+
+ void SAVECLEARSV(SV **svp)
+
+=for hackers
+Found in file pad.h
+
+=item SAVECOMPPAD
+X<SAVECOMPPAD>
+
+save PL_comppad and PL_curpad
+
+
+
+
+
+ void SAVECOMPPAD()
+
+=for hackers
+Found in file pad.h
+
+=item SAVEPADSV
+X<SAVEPADSV>
+
+Save a pad slot (used to restore after an iteration)
+
+XXX DAPM it would make more sense to make the arg a PADOFFSET
+ void SAVEPADSV(PADOFFSET po)
+
+=for hackers
+Found in file pad.h
+
=back
@@ -1283,7 +1201,8 @@ X<sv_add_arena>
Given a chunk of memory, link it to the head of the list of arenas,
and split it into a list of free SVs.
- void sv_add_arena(char *const ptr, const U32 size, const U32 flags)
+ void sv_add_arena(char *const ptr, const U32 size,
+ const U32 flags)
=for hackers
Found in file sv.c
@@ -1292,7 +1211,7 @@ Found in file sv.c
X<sv_clean_all>
Decrement the refcnt of each remaining SV, possibly triggering a
-cleanup. This function may have to be called multiple times to free
+cleanup. This function may have to be called multiple times to free
SVs which are in complex self-referential hierarchies.
I32 sv_clean_all()
@@ -1303,7 +1222,7 @@ Found in file sv.c
=item sv_clean_objs
X<sv_clean_objs>
-Attempt to destroy all objects not yet freed
+Attempt to destroy all objects not yet freed.
void sv_clean_objs()
@@ -1313,7 +1232,7 @@ Found in file sv.c
=item sv_free_arenas
X<sv_free_arenas>
-Deallocate the memory used by all arenas. Note that all the individual SV
+Deallocate the memory used by all arenas. Note that all the individual SV
heads and bodies within the arenas must already have been freed.
void sv_free_arenas()
@@ -1343,6 +1262,17 @@ removed without notice.
=for hackers
Found in file sv.c
+=item sv_ref
+X<sv_ref>
+
+Returns a SV describing what the SV passed in is a reference to.
+
+ SV* sv_ref(SV *dst, const SV *const sv,
+ const int ob)
+
+=for hackers
+Found in file sv.c
+
=back
@@ -1353,12 +1283,12 @@ Found in file sv.c
=item find_uninit_var
X<find_uninit_var>
-Find the name of the undefined variable (if any) that caused the operator o
+Find the name of the undefined variable (if any) that caused the operator
to issue a "Use of uninitialized value" warning.
-If match is true, only return a name if it's value matches uninit_sv.
+If match is true, only return a name if its value matches uninit_sv.
So roughly speaking, if a unary operator (such as OP_COS) generates a
warning, then following the direct child of the op may yield an
-OP_PADSV or OP_GV that gives the name of the undefined variable. On the
+OP_PADSV or OP_GV that gives the name of the undefined variable. On the
other hand, with OP_ADD there are two branches to follow, so we only print
the variable name if we get an exact match.
@@ -1370,7 +1300,9 @@ PL_comppad/PL_curpad points to the currently executing pad.
NOTE: this function is experimental and may change or be
removed without notice.
- SV* find_uninit_var(const OP *const obase, const SV *const uninit_sv, bool top)
+ SV* find_uninit_var(const OP *const obase,
+ const SV *const uninit_sv,
+ bool top)
=for hackers
Found in file sv.c
@@ -1378,7 +1310,7 @@ Found in file sv.c
=item report_uninit
X<report_uninit>
-Print appropriate "Use of uninitialized variable" warning
+Print appropriate "Use of uninitialized variable" warning.
void report_uninit(const SV *uninit_sv)
@@ -1390,24 +1322,50 @@ Found in file sv.c
=head1 Undocumented functions
-The following functions have been flagged as part of the public API,
-but are currently undocumented. Use them at your own risk, as the
-interfaces are subject to change.
-
-If you use one of them, you may wish to consider creating and submitting
-documentation for it. If your patch is accepted, this will indicate that
-the interface is stable (unless it is explicitly marked otherwise).
+The following functions are currently undocumented. If you use one of
+them, you may wish to consider creating and submitting documentation for
+it.
=over
-=item F0convert
-X<F0convert>
+=item _add_range_to_invlist
+X<_add_range_to_invlist>
+
+=item _core_swash_init
+X<_core_swash_init>
+
+=item _invlist_array_init
+X<_invlist_array_init>
+
+=item _invlist_contents
+X<_invlist_contents>
+
+=item _invlist_intersection
+X<_invlist_intersection>
+
+=item _invlist_intersection_maybe_complement_2nd
+X<_invlist_intersection_maybe_complement_2nd>
+
+=item _invlist_invert
+X<_invlist_invert>
+
+=item _invlist_invert_prop
+X<_invlist_invert_prop>
+
+=item _invlist_populate_swatch
+X<_invlist_populate_swatch>
+
+=item _invlist_subtract
+X<_invlist_subtract>
+
+=item _invlist_union
+X<_invlist_union>
-=item Slab_to_rw
-X<Slab_to_rw>
+=item _invlist_union_maybe_complement_2nd
+X<_invlist_union_maybe_complement_2nd>
-=item _append_range_to_invlist
-X<_append_range_to_invlist>
+=item _is_utf8__perl_idstart
+X<_is_utf8__perl_idstart>
=item _new_invlist
X<_new_invlist>
@@ -1418,20 +1376,17 @@ X<_swash_inversion_hash>
=item _swash_to_invlist
X<_swash_to_invlist>
-=item add_alternate
-X<add_alternate>
+=item _to_fold_latin1
+X<_to_fold_latin1>
-=item add_cp_to_invlist
-X<add_cp_to_invlist>
+=item _to_upper_title_latin1
+X<_to_upper_title_latin1>
-=item add_data
-X<add_data>
+=item aassign_common_vars
+X<aassign_common_vars>
-=item add_range_to_invlist
-X<add_range_to_invlist>
-
-=item add_utf16_textfilter
-X<add_utf16_textfilter>
+=item add_cp_to_invlist
+X<add_cp_to_invlist>
=item addmad
X<addmad>
@@ -1439,23 +1394,8 @@ X<addmad>
=item allocmy
X<allocmy>
-=item amagic_cmp
-X<amagic_cmp>
-
-=item amagic_cmp_locale
-X<amagic_cmp_locale>
-
-=item amagic_i_ncmp
-X<amagic_i_ncmp>
-
-=item amagic_ncmp
-X<amagic_ncmp>
-
-=item anonymise_cv_maybe
-X<anonymise_cv_maybe>
-
-=item ao
-X<ao>
+=item amagic_is_enabled
+X<amagic_is_enabled>
=item append_madprops
X<append_madprops>
@@ -1463,21 +1403,9 @@ X<append_madprops>
=item apply
X<apply>
-=item apply_attrs
-X<apply_attrs>
-
-=item apply_attrs_my
-X<apply_attrs_my>
-
-=item assert_uft8_cache_coherent
-X<assert_uft8_cache_coherent>
-
=item av_reify
X<av_reify>
-=item bad_type
-X<bad_type>
-
=item bind_match
X<bind_match>
@@ -1496,71 +1424,26 @@ X<boot_core_UNIVERSAL>
=item boot_core_mro
X<boot_core_mro>
-=item bytes_to_uni
-X<bytes_to_uni>
-
=item cando
X<cando>
-=item check_type_and_open
-X<check_type_and_open>
-
-=item check_uni
-X<check_uni>
-
=item check_utf8_print
X<check_utf8_print>
-=item checkcomma
-X<checkcomma>
-
-=item checkposixcc
-X<checkposixcc>
-
-=item ckwarn_common
-X<ckwarn_common>
-
-=item cl_and
-X<cl_and>
-
-=item cl_anything
-X<cl_anything>
-
-=item cl_init
-X<cl_init>
-
-=item cl_is_anything
-X<cl_is_anything>
-
-=item cl_or
-X<cl_or>
-
-=item clear_placeholders
-X<clear_placeholders>
-
-=item closest_cop
-X<closest_cop>
+=item ck_entersub_args_core
+X<ck_entersub_args_core>
=item convert
X<convert>
-=item cop_free
-X<cop_free>
-
-=item cr_textfilter
-X<cr_textfilter>
+=item coresub_op
+X<coresub_op>
=item create_eval_scope
X<create_eval_scope>
-=item curmad
-X<curmad>
-
-=item curse
-X<curse>
-
-=item cv_ckproto_len
-X<cv_ckproto_len>
+=item cv_ckproto_len_flags
+X<cv_ckproto_len_flags>
=item cvgv_set
X<cvgv_set>
@@ -1568,51 +1451,21 @@ X<cvgv_set>
=item cvstash_set
X<cvstash_set>
-=item deb_curcv
-X<deb_curcv>
-
=item deb_stack_all
X<deb_stack_all>
-=item deb_stack_n
-X<deb_stack_n>
-
-=item debprof
-X<debprof>
-
-=item debug_start_match
-X<debug_start_match>
-
-=item del_sv
-X<del_sv>
-
=item delete_eval_scope
X<delete_eval_scope>
-=item deprecate_commaless_var_list
-X<deprecate_commaless_var_list>
-
-=item destroy_matcher
-X<destroy_matcher>
-
=item die_unwind
X<die_unwind>
-=item div128
-X<div128>
-
=item do_aexec
X<do_aexec>
=item do_aexec5
X<do_aexec5>
-=item do_chomp
-X<do_chomp>
-
-=item do_delete_local
-X<do_delete_local>
-
=item do_eof
X<do_eof>
@@ -1637,8 +1490,8 @@ X<do_msgrcv>
=item do_msgsnd
X<do_msgsnd>
-=item do_oddball
-X<do_oddball>
+=item do_ncmp
+X<do_ncmp>
=item do_op_xmldump
X<do_op_xmldump>
@@ -1661,9 +1514,6 @@ X<do_semop>
=item do_shmio
X<do_shmio>
-=item do_smartmatch
-X<do_smartmatch>
-
=item do_sysseek
X<do_sysseek>
@@ -1673,24 +1523,6 @@ X<do_tell>
=item do_trans
X<do_trans>
-=item do_trans_complex
-X<do_trans_complex>
-
-=item do_trans_complex_utf8
-X<do_trans_complex_utf8>
-
-=item do_trans_count
-X<do_trans_count>
-
-=item do_trans_count_utf8
-X<do_trans_count_utf8>
-
-=item do_trans_simple
-X<do_trans_simple>
-
-=item do_trans_simple_utf8
-X<do_trans_simple_utf8>
-
=item do_vecget
X<do_vecget>
@@ -1700,51 +1532,12 @@ X<do_vecset>
=item do_vop
X<do_vop>
-=item doeval
-X<doeval>
-
=item dofile
X<dofile>
-=item dofindlabel
-X<dofindlabel>
-
-=item doform
-X<doform>
-
-=item dooneliner
-X<dooneliner>
-
-=item doopen_pm
-X<doopen_pm>
-
-=item doparseform
-X<doparseform>
-
-=item dopoptoeval
-X<dopoptoeval>
-
-=item dopoptogiven
-X<dopoptogiven>
-
-=item dopoptolabel
-X<dopoptolabel>
-
-=item dopoptoloop
-X<dopoptoloop>
-
-=item dopoptosub_at
-X<dopoptosub_at>
-
-=item dopoptowhen
-X<dopoptowhen>
-
=item dump_all_perl
X<dump_all_perl>
-=item dump_exec_pos
-X<dump_exec_pos>
-
=item dump_packsubs_perl
X<dump_packsubs_perl>
@@ -1754,96 +1547,21 @@ X<dump_sub_perl>
=item dump_sv_child
X<dump_sv_child>
-=item dump_trie
-X<dump_trie>
-
-=item dump_trie_interim_list
-X<dump_trie_interim_list>
-
-=item dump_trie_interim_table
-X<dump_trie_interim_table>
-
-=item dumpuntil
-X<dumpuntil>
-
-=item dup_attrlist
-X<dup_attrlist>
-
=item emulate_cop_io
X<emulate_cop_io>
-=item exec_failed
-X<exec_failed>
-
-=item expect_number
-X<expect_number>
-
=item feature_is_enabled
X<feature_is_enabled>
-=item filter_gets
-X<filter_gets>
-
-=item find_and_forget_pmops
-X<find_and_forget_pmops>
-
-=item find_array_subscript
-X<find_array_subscript>
-
-=item find_beginning
-X<find_beginning>
-
-=item find_byclass
-X<find_byclass>
-
-=item find_hash_subscript
-X<find_hash_subscript>
-
-=item find_in_my_stash
-X<find_in_my_stash>
+=item find_rundefsv2
+X<find_rundefsv2>
=item find_script
X<find_script>
-=item first_symbol
-X<first_symbol>
-
-=item fold_constants
-X<fold_constants>
-
-=item forbid_setid
-X<forbid_setid>
-
-=item force_ident
-X<force_ident>
-
-=item force_list
-X<force_list>
-
-=item force_next
-X<force_next>
-
-=item force_strict_version
-X<force_strict_version>
-
-=item force_version
-X<force_version>
-
-=item force_word
-X<force_word>
-
-=item forget_pmop
-X<forget_pmop>
-
=item free_tied_hv_pool
X<free_tied_hv_pool>
-=item gen_constant_list
-X<gen_constant_list>
-
-=item get_aux_mg
-X<get_aux_mg>
-
=item get_db_sub
X<get_db_sub>
@@ -1853,12 +1571,21 @@ X<get_debug_opts>
=item get_hash_seed
X<get_hash_seed>
+=item get_invlist_iter_addr
+X<get_invlist_iter_addr>
+
+=item get_invlist_len_addr
+X<get_invlist_len_addr>
+
+=item get_invlist_version_id_addr
+X<get_invlist_version_id_addr>
+
+=item get_invlist_zero_addr
+X<get_invlist_zero_addr>
+
=item get_no_modify
X<get_no_modify>
-=item get_num
-X<get_num>
-
=item get_opargs
X<get_opargs>
@@ -1868,81 +1595,18 @@ X<get_re_arg>
=item getenv_len
X<getenv_len>
-=item glob_2number
-X<glob_2number>
-
-=item glob_assign_glob
-X<glob_assign_glob>
-
-=item glob_assign_ref
-X<glob_assign_ref>
-
-=item grok_bslash_c
-X<grok_bslash_c>
-
-=item grok_bslash_o
-X<grok_bslash_o>
-
-=item group_end
-X<group_end>
-
-=item gv_ename
-X<gv_ename>
-
-=item gv_get_super_pkg
-X<gv_get_super_pkg>
-
-=item gv_init_sv
-X<gv_init_sv>
-
-=item gv_magicalize_isa
-X<gv_magicalize_isa>
-
-=item gv_magicalize_overload
-X<gv_magicalize_overload>
-
-=item hfreeentries
-X<hfreeentries>
-
-=item hsplit
-X<hsplit>
-
-=item hv_auxinit
-X<hv_auxinit>
+=item hfree_next_entry
+X<hfree_next_entry>
=item hv_backreferences_p
X<hv_backreferences_p>
-=item hv_delete_common
-X<hv_delete_common>
-
=item hv_kill_backrefs
X<hv_kill_backrefs>
-=item hv_magic_check
-X<hv_magic_check>
-
-=item hv_notallowed
-X<hv_notallowed>
-
=item hv_undef_flags
X<hv_undef_flags>
-=item incline
-X<incline>
-
-=item incpush
-X<incpush>
-
-=item incpush_if_exists
-X<incpush_if_exists>
-
-=item incpush_use_sep
-X<incpush_use_sep>
-
-=item ingroup
-X<ingroup>
-
=item init_argv_symbols
X<init_argv_symbols>
@@ -1952,44 +1616,17 @@ X<init_dbargs>
=item init_debugger
X<init_debugger>
-=item init_ids
-X<init_ids>
-
-=item init_interp
-X<init_interp>
-
-=item init_main_stash
-X<init_main_stash>
-
-=item init_perllib
-X<init_perllib>
-
-=item init_postdump_symbols
-X<init_postdump_symbols>
-
-=item init_predump_symbols
-X<init_predump_symbols>
-
-=item intuit_method
-X<intuit_method>
-
-=item intuit_more
-X<intuit_more>
-
=item invert
X<invert>
=item invlist_array
X<invlist_array>
-=item invlist_destroy
-X<invlist_destroy>
-
-=item invlist_extend
-X<invlist_extend>
+=item invlist_clone
+X<invlist_clone>
-=item invlist_intersection
-X<invlist_intersection>
+=item invlist_iterinit
+X<invlist_iterinit>
=item invlist_len
X<invlist_len>
@@ -2000,33 +1637,12 @@ X<invlist_max>
=item invlist_set_len
X<invlist_set_len>
-=item invlist_set_max
-X<invlist_set_max>
-
=item invlist_trim
X<invlist_trim>
-=item invlist_union
-X<invlist_union>
-
-=item invoke_exception_hook
-X<invoke_exception_hook>
-
=item io_close
X<io_close>
-=item is_an_int
-X<is_an_int>
-
-=item is_handle_constructor
-X<is_handle_constructor>
-
-=item is_inplace_av
-X<is_inplace_av>
-
-=item is_list_assignment
-X<is_list_assignment>
-
=item is_utf8_X_L
X<is_utf8_X_L>
@@ -2057,21 +1673,9 @@ X<is_utf8_X_non_hangul>
=item is_utf8_X_prepend
X<is_utf8_X_prepend>
-=item is_utf8_char_slow
-X<is_utf8_char_slow>
-
-=item is_utf8_common
-X<is_utf8_common>
-
-=item isa_lookup
-X<isa_lookup>
-
=item jmaybe
X<jmaybe>
-=item join_exact
-X<join_exact>
-
=item keyword
X<keyword>
@@ -2081,18 +1685,9 @@ X<keyword_plugin_standard>
=item list
X<list>
-=item listkids
-X<listkids>
-
=item localize
X<localize>
-=item looks_like_bool
-X<looks_like_bool>
-
-=item lop
-X<lop>
-
=item mad_free
X<mad_free>
@@ -2165,12 +1760,6 @@ X<magic_killbackrefs>
=item magic_len
X<magic_len>
-=item magic_methcall1
-X<magic_methcall1>
-
-=item magic_methpack
-X<magic_methpack>
-
=item magic_nextpack
X<magic_nextpack>
@@ -2246,81 +1835,36 @@ X<magic_setuvar>
=item magic_setvec
X<magic_setvec>
+=item magic_setvstring
+X<magic_setvstring>
+
=item magic_sizepack
X<magic_sizepack>
=item magic_wipepack
X<magic_wipepack>
-=item make_matcher
-X<make_matcher>
-
-=item make_trie
-X<make_trie>
-
-=item make_trie_failtable
-X<make_trie_failtable>
-
=item malloc_good_size
X<malloc_good_size>
=item malloced_size
X<malloced_size>
-=item matcher_matches_sv
-X<matcher_matches_sv>
-
-=item measure_struct
-X<measure_struct>
-
=item mem_collxfrm
X<mem_collxfrm>
-=item mem_log_common
-X<mem_log_common>
-
-=item mess_alloc
-X<mess_alloc>
-
-=item method_common
-X<method_common>
-
-=item missingterm
-X<missingterm>
-
-=item mod
-X<mod>
-
=item mode_from_discipline
X<mode_from_discipline>
-=item modkids
-X<modkids>
-
=item more_bodies
X<more_bodies>
-=item more_sv
-X<more_sv>
-
-=item mro_clean_isarev
-X<mro_clean_isarev>
-
-=item mro_gather_and_rename
-X<mro_gather_and_rename>
-
=item mro_meta_dup
X<mro_meta_dup>
=item mro_meta_init
X<mro_meta_init>
-=item mul128
-X<mul128>
-
-=item mulexp10
-X<mulexp10>
-
=item munge_qwlist_to_paren_list
X<munge_qwlist_to_paren_list>
@@ -2348,9 +1892,6 @@ X<my_betohs>
=item my_clearenv
X<my_clearenv>
-=item my_exit_jump
-X<my_exit_jump>
-
=item my_htobe16
X<my_htobe16>
@@ -2387,9 +1928,6 @@ X<my_htolel>
=item my_htoles
X<my_htoles>
-=item my_kid
-X<my_kid>
-
=item my_letoh16
X<my_letoh16>
@@ -2420,14 +1958,8 @@ X<my_swabn>
=item my_unexec
X<my_unexec>
-=item need_utf8
-X<need_utf8>
-
-=item newDEFSVOP
-X<newDEFSVOP>
-
-=item newGIVWHENOP
-X<newGIVWHENOP>
+=item newATTRSUB_flags
+X<newATTRSUB_flags>
=item newGP
X<newGP>
@@ -2441,45 +1973,15 @@ X<newMADsv>
=item newTOKEN
X<newTOKEN>
-=item new_constant
-X<new_constant>
-
-=item new_he
-X<new_he>
-
-=item new_logop
-X<new_logop>
+=item newXS_len_flags
+X<newXS_len_flags>
=item new_warnings_bitfield
X<new_warnings_bitfield>
-=item next_symbol
-X<next_symbol>
-
=item nextargv
X<nextargv>
-=item nextchar
-X<nextchar>
-
-=item no_bareword_allowed
-X<no_bareword_allowed>
-
-=item no_fh_allowed
-X<no_fh_allowed>
-
-=item no_op
-X<no_op>
-
-=item not_a_number
-X<not_a_number>
-
-=item nuke_stacks
-X<nuke_stacks>
-
-=item num_overflow
-X<num_overflow>
-
=item oopsAV
X<oopsAV>
@@ -2498,135 +2000,63 @@ X<op_getmad>
=item op_getmad_weak
X<op_getmad_weak>
+=item op_integerize
+X<op_integerize>
+
+=item op_lvalue_flags
+X<op_lvalue_flags>
+
=item op_refcnt_dec
X<op_refcnt_dec>
=item op_refcnt_inc
X<op_refcnt_inc>
+=item op_std_init
+X<op_std_init>
+
=item op_xmldump
X<op_xmldump>
-=item open_script
-X<open_script>
-
-=item opt_scalarhv
-X<opt_scalarhv>
-
-=item pack_rec
-X<pack_rec>
-
=item package
X<package>
=item package_version
X<package_version>
-=item pad_add_name_sv
-X<pad_add_name_sv>
-
-=item pad_compname_type
-X<pad_compname_type>
-
-=item pad_peg
-X<pad_peg>
-
-=item padlist_dup
-X<padlist_dup>
-
-=item parse_body
-X<parse_body>
-
=item parse_unicode_opts
X<parse_unicode_opts>
=item parser_free
X<parser_free>
-=item path_is_absolute
-X<path_is_absolute>
-
=item peep
X<peep>
=item pending_Slabs_to_ro
X<pending_Slabs_to_ro>
-=item pidgone
-X<pidgone>
-
-=item pm_description
-X<pm_description>
-
=item pmop_xmldump
X<pmop_xmldump>
=item pmruntime
X<pmruntime>
-=item pmtrans
-X<pmtrans>
-
=item populate_isa
X<populate_isa>
=item prepend_madprops
X<prepend_madprops>
-=item printbuf
-X<printbuf>
-
-=item process_special_blocks
-X<process_special_blocks>
-
-=item ptr_table_find
-X<ptr_table_find>
-
-=item put_byte
-X<put_byte>
-
=item qerror
X<qerror>
-=item qsortsvu
-X<qsortsvu>
-
-=item re_croak2
-X<re_croak2>
-
-=item readpipe_override
-X<readpipe_override>
-
-=item ref_array_or_hash
-X<ref_array_or_hash>
-
-=item refcounted_he_value
-X<refcounted_he_value>
-
-=item refkids
-X<refkids>
-
-=item refto
-X<refto>
-
-=item reg
-X<reg>
-
-=item reg_check_named_buff_matched
-X<reg_check_named_buff_matched>
-
=item reg_named_buff
X<reg_named_buff>
=item reg_named_buff_iter
X<reg_named_buff_iter>
-=item reg_namedseq
-X<reg_namedseq>
-
-=item reg_node
-X<reg_node>
-
=item reg_numbered_buff_fetch
X<reg_numbered_buff_fetch>
@@ -2639,99 +2069,24 @@ X<reg_numbered_buff_store>
=item reg_qr_package
X<reg_qr_package>
-=item reg_recode
-X<reg_recode>
-
-=item reg_scan_name
-X<reg_scan_name>
-
-=item reg_skipcomment
-X<reg_skipcomment>
-
=item reg_temp_copy
X<reg_temp_copy>
-=item reganode
-X<reganode>
-
-=item regatom
-X<regatom>
-
-=item regbranch
-X<regbranch>
-
-=item regclass
-X<regclass>
-
-=item regcppop
-X<regcppop>
-
-=item regcppush
-X<regcppush>
-
=item regcurly
X<regcurly>
-=item regdump_extflags
-X<regdump_extflags>
-
-=item reghop3
-X<reghop3>
-
-=item reghop4
-X<reghop4>
-
-=item reghopmaybe3
-X<reghopmaybe3>
-
-=item reginclass
-X<reginclass>
-
-=item reginsert
-X<reginsert>
-
-=item regmatch
-X<regmatch>
-
-=item regpiece
-X<regpiece>
-
-=item regpposixcc
-X<regpposixcc>
-
=item regprop
X<regprop>
-=item regrepeat
-X<regrepeat>
-
-=item regtail
-X<regtail>
-
-=item regtail_study
-X<regtail_study>
-
-=item regtry
-X<regtry>
-
-=item reguni
-X<reguni>
-
-=item regwhite
-X<regwhite>
-
=item report_evil_fh
X<report_evil_fh>
+=item report_redefined_cv
+X<report_redefined_cv>
+
=item report_wrongway_fh
X<report_wrongway_fh>
-=item require_tie_mod
-X<require_tie_mod>
-
-=item restore_magic
-X<restore_magic>
-
=item rpeep
X<rpeep>
@@ -2741,180 +2096,33 @@ X<rsignal_restore>
=item rsignal_save
X<rsignal_save>
-=item run_body
-X<run_body>
-
-=item run_user_filter
-X<run_user_filter>
-
-=item rxres_free
-X<rxres_free>
-
-=item rxres_restore
-X<rxres_restore>
-
=item rxres_save
X<rxres_save>
=item same_dirent
X<same_dirent>
-=item save_hek_flags
-X<save_hek_flags>
-
-=item save_lines
-X<save_lines>
-
-=item save_magic
-X<save_magic>
-
-=item save_pushptri32ptr
-X<save_pushptri32ptr>
-
-=item save_scalar_at
-X<save_scalar_at>
-
=item sawparens
X<sawparens>
=item scalar
X<scalar>
-=item scalar_mod_type
-X<scalar_mod_type>
-
-=item scalarboolean
-X<scalarboolean>
-
-=item scalarkids
-X<scalarkids>
-
-=item scalarseq
-X<scalarseq>
-
=item scalarvoid
X<scalarvoid>
-=item scan_commit
-X<scan_commit>
-
-=item scan_const
-X<scan_const>
-
-=item scan_formline
-X<scan_formline>
-
-=item scan_heredoc
-X<scan_heredoc>
-
-=item scan_ident
-X<scan_ident>
-
-=item scan_inputsymbol
-X<scan_inputsymbol>
-
-=item scan_pat
-X<scan_pat>
-
-=item scan_str
-X<scan_str>
-
-=item scan_subst
-X<scan_subst>
-
-=item scan_trans
-X<scan_trans>
-
-=item scan_word
-X<scan_word>
-
-=item search_const
-X<search_const>
-
-=item sequence
-X<sequence>
-
-=item sequence_num
-X<sequence_num>
-
-=item sequence_tail
-X<sequence_tail>
-
=item set_regclass_bit
X<set_regclass_bit>
-=item set_regclass_bit_fold
-X<set_regclass_bit_fold>
-
-=item share_hek_flags
-X<share_hek_flags>
-
=item sighandler
X<sighandler>
-=item simplify_sort
-X<simplify_sort>
-
-=item skipspace
-X<skipspace>
-
-=item skipspace0
-X<skipspace0>
-
-=item skipspace1
-X<skipspace1>
-
-=item skipspace2
-X<skipspace2>
-
=item softref2xv
X<softref2xv>
-=item sortcv
-X<sortcv>
-
-=item sortcv_stacked
-X<sortcv_stacked>
-
-=item sortcv_xsub
-X<sortcv_xsub>
-
-=item space_join_names_mortal
-X<space_join_names_mortal>
-
-=item start_force
-X<start_force>
-
-=item stdize_locale
-X<stdize_locale>
-
-=item store_cop_label
-X<store_cop_label>
-
-=item strip_return
-X<strip_return>
-
-=item study_chunk
-X<study_chunk>
-
=item sub_crush_depth
X<sub_crush_depth>
-=item sublex_done
-X<sublex_done>
-
-=item sublex_push
-X<sublex_push>
-
-=item sublex_start
-X<sublex_start>
-
-=item sv_2iuv_common
-X<sv_2iuv_common>
-
-=item sv_2iuv_non_preserve
-X<sv_2iuv_non_preserve>
-
=item sv_add_backref
X<sv_add_backref>
@@ -2933,41 +2141,14 @@ X<sv_compile_2op_is_broken>
=item sv_del_backref
X<sv_del_backref>
-=item sv_dup_common
-X<sv_dup_common>
-
-=item sv_dup_inc_multiple
-X<sv_dup_inc_multiple>
-
-=item sv_exp_grow
-X<sv_exp_grow>
-
=item sv_free2
X<sv_free2>
-=item sv_i_ncmp
-X<sv_i_ncmp>
-
=item sv_kill_backrefs
X<sv_kill_backrefs>
-=item sv_ncmp
-X<sv_ncmp>
-
-=item sv_pos_b2u_midway
-X<sv_pos_b2u_midway>
-
-=item sv_pos_u2b_cached
-X<sv_pos_u2b_cached>
-
-=item sv_pos_u2b_forwards
-X<sv_pos_u2b_forwards>
-
-=item sv_pos_u2b_midway
-X<sv_pos_u2b_midway>
-
-=item sv_release_COW
-X<sv_release_COW>
+=item sv_sethek
+X<sv_sethek>
=item sv_setsv_cow
X<sv_setsv_cow>
@@ -2978,41 +2159,17 @@ X<sv_unglob>
=item sv_xmlpeek
X<sv_xmlpeek>
-=item swallow_bom
-X<swallow_bom>
-
-=item swash_get
-X<swash_get>
-
=item tied_method
X<tied_method>
-=item to_byte_substr
-X<to_byte_substr>
-
-=item to_utf8_substr
-X<to_utf8_substr>
-
=item token_free
X<token_free>
=item token_getmad
X<token_getmad>
-=item tokenize_use
-X<tokenize_use>
-
-=item tokeq
-X<tokeq>
-
-=item tokereport
-X<tokereport>
-
-=item too_few_arguments
-X<too_few_arguments>
-
-=item too_many_arguments
-X<too_many_arguments>
+=item translate_substr_offsets
+X<translate_substr_offsets>
=item try_amagic_bin
X<try_amagic_bin>
@@ -3020,51 +2177,15 @@ X<try_amagic_bin>
=item try_amagic_un
X<try_amagic_un>
-=item uiv_2buf
-X<uiv_2buf>
-
-=item unpack_rec
-X<unpack_rec>
-
-=item unreferenced_to_tmp_stack
-X<unreferenced_to_tmp_stack>
-
=item unshare_hek
X<unshare_hek>
-=item unshare_hek_or_pvn
-X<unshare_hek_or_pvn>
-
-=item unwind_handler_stack
-X<unwind_handler_stack>
-
-=item update_debugger_info
-X<update_debugger_info>
-
-=item usage
-X<usage>
-
-=item utf16_textfilter
-X<utf16_textfilter>
-
-=item utf8_mg_len_cache_update
-X<utf8_mg_len_cache_update>
-
-=item utf8_mg_pos_cache_update
-X<utf8_mg_pos_cache_update>
-
=item utilize
X<utilize>
-=item validate_suid
-X<validate_suid>
-
=item varname
X<varname>
-=item visit
-X<visit>
-
=item vivify_defelem
X<vivify_defelem>
@@ -3074,15 +2195,12 @@ X<vivify_ref>
=item wait4pid
X<wait4pid>
+=item was_lvalue_sub
+X<was_lvalue_sub>
+
=item watch
X<watch>
-=item with_queued_errors
-X<with_queued_errors>
-
-=item write_no_mem
-X<write_no_mem>
-
=item write_to_stderr
X<write_to_stderr>
@@ -3092,9 +2210,6 @@ X<xmldump_all>
=item xmldump_all_perl
X<xmldump_all_perl>
-=item xmldump_attr
-X<xmldump_attr>
-
=item xmldump_eval
X<xmldump_eval>
@@ -3128,6 +2243,12 @@ X<xs_version_bootcheck>
=item yyerror
X<yyerror>
+=item yyerror_pv
+X<yyerror_pv>
+
+=item yyerror_pvn
+X<yyerror_pvn>
+
=item yylex
X<yylex>
@@ -3137,9 +2258,6 @@ X<yyparse>
=item yyunlex
X<yyunlex>
-=item yywarn
-X<yywarn>
-
=back
diff --git a/Master/tlpkg/tlperl/lib/pods/perlinterp.pod b/Master/tlpkg/tlperl/lib/pods/perlinterp.pod
index 74a5e4eb968..c7f21209de5 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlinterp.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlinterp.pod
@@ -696,7 +696,7 @@ stack implements the C equivalent of, for example:
...
}
-See L<perlguts/"Localizing Changes"> for how to use the save stack.
+See L<perlguts/"Localizing changes"> for how to use the save stack.
=head1 MILLIONS OF MACROS
diff --git a/Master/tlpkg/tlperl/lib/pods/perlintro.pod b/Master/tlpkg/tlperl/lib/pods/perlintro.pod
index 2d0076a029d..afce360a2ac 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlintro.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlintro.pod
@@ -35,10 +35,10 @@ already been declared, even if those declarations have been omitted
to make the example easier to read.
Do note that the examples have been written by many different authors over
-a period of several decades. Styles and techniques will therefore differ,
+a period of several decades. Styles and techniques will therefore differ,
although some effort has been made to not vary styles too widely in the
-same sections. Do not consider one style to be better than others - "There
-Is More Than One Way Of Doing It" is one Perl's mottos. After all, in your
+same sections. Do not consider one style to be better than others - "There's
+More Than One Way To Do It" is one of Perl's mottos. After all, in your
journey as a programmer, you are likely to encounter different styles.
=head2 What is Perl?
@@ -73,7 +73,7 @@ Alternatively, put this as the first line of your script:
... and run the script as C</path/to/script.pl>. Of course, it'll need
to be executable first, so C<chmod 755 script.pl> (under Unix).
-(This start line assumes you have the B<env> program. You can also put
+(This start line assumes you have the B<env> program. You can also put
directly the path to your perl executable, like in C<#!/usr/bin/perl>).
For more information, including instructions for other platforms such as
@@ -81,7 +81,7 @@ Windows and Mac OS, read L<perlrun>.
=head2 Safety net
-Perl by default is very forgiving. In order to make it more robust
+Perl by default is very forgiving. In order to make it more robust
it is recommended to start every program with the following lines:
#!/usr/bin/perl
@@ -89,7 +89,7 @@ it is recommended to start every program with the following lines:
use warnings;
The two additional lines request from perl to catch various common
-problems in your code. They check different things so you need both. A
+problems in your code. They check different things so you need both. A
potential problem caught by C<use strict;> will cause your code to stop
immediately when it is encountered, while C<use warnings;> will merely
give a warning (like the command-line switch B<-w>) and let your code run.
@@ -163,7 +163,7 @@ A scalar represents a single value:
Scalar values can be strings, integers or floating point numbers, and Perl
will automatically convert between them as required. There is no need
to pre-declare your variable types, but you have to declare them using
-the C<my> keyword the first time you use them. (This is one of the
+the C<my> keyword the first time you use them. (This is one of the
requirements of C<use strict;>.)
Scalar values can be used in various ways:
@@ -267,9 +267,9 @@ More complex data types can be constructed using references, which allow
you to build lists and hashes within lists and hashes.
A reference is a scalar value and can refer to any other Perl data
-type. So by storing a reference as the value of an array or hash
+type. So by storing a reference as the value of an array or hash
element, you can easily create lists and hashes within lists and
-hashes. The following example shows a 2 level hash of hash
+hashes. The following example shows a 2 level hash of hash
structure using anonymous hash references.
my $variables = {
@@ -328,7 +328,7 @@ running the program. Using C<strict> is highly recommended.
Perl has most of the usual conditional and looping constructs. As of Perl
5.10, it even has a case/switch statement (spelled C<given>/C<when>). See
-L<perlsyn/"Switch statements"> for more details.
+L<perlsyn/"Switch Statements"> for more details.
The conditions can be any Perl expression. See the list of operators in
the next section for information on comparison and boolean logic operators,
@@ -407,6 +407,9 @@ the more friendly list scanning C<foreach> loop.
print "The value of $key is $hash{$key}\n";
}
+The C<foreach> keyword is actually a synonym for the C<for>
+keyword. See C<L<perlsyn/"Foreach Loops">>.
+
=back
For more detail on looping constructs (and some that weren't mentioned in
@@ -461,7 +464,7 @@ before 99).
! not
(C<and>, C<or> and C<not> aren't just in the above table as descriptions
-of the operators. They're also supported as operators in their own
+of the operators. They're also supported as operators in their own
right. They're more readable than the C-style operators, but have
different precedence to C<&&> and friends. Check L<perlop> for more
detail.)
@@ -499,8 +502,8 @@ the list:
my $line = <$in>;
my @lines = <$in>;
-Reading in the whole file at one time is called slurping. It can
-be useful but it may be a memory hog. Most text file processing
+Reading in the whole file at one time is called slurping. It can
+be useful but it may be a memory hog. Most text file processing
can be done a line at a time with Perl's looping constructs.
The C<< <> >> operator is most often seen in a C<while> loop:
@@ -660,7 +663,7 @@ For more information on writing subroutines, see L<perlsub>.
OO Perl is relatively simple and is implemented using references which
know what sort of object they are based on Perl's concept of packages.
However, OO Perl is largely beyond the scope of this document.
-Read L<perlboot>, L<perltoot>, L<perltooc> and L<perlobj>.
+Read L<perlootut> and L<perlobj>.
As a beginning Perl programmer, your most common use of OO Perl will be
in using third-party modules, which are documented below.
diff --git a/Master/tlpkg/tlperl/lib/pods/perliol.pod b/Master/tlpkg/tlperl/lib/pods/perliol.pod
index 0f71b93078f..767fabdd7ff 100644
--- a/Master/tlpkg/tlperl/lib/pods/perliol.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perliol.pod
@@ -923,7 +923,7 @@ which do not need to do anything special for a particular method.
=head2 Extension Layers
-Layers can made available by extension modules. When an unknown layer
+Layers can be made available by extension modules. When an unknown layer
is encountered the PerlIO code will perform the equivalent of :
use PerlIO 'layer';
diff --git a/Master/tlpkg/tlperl/lib/pods/perlipc.pod b/Master/tlpkg/tlperl/lib/pods/perlipc.pod
index 3009913147c..76508388fee 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlipc.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlipc.pod
@@ -40,24 +40,7 @@ handler could in theory trigger a memory fault and subsequent core
dump - see L</Deferred Signals (Safe Signals)> below.
The names of the signals are the ones listed out by C<kill -l> on your
-system, or you can retrieve them from the Config module. Set up an
-@signame list indexed by number to get the name and a %signo hash table
-indexed by name to get the number:
-
- use Config;
- defined($Config{sig_name}) || die "No sigs?";
- foreach $name (split(" ", $Config{sig_name})) {
- $signo{$name} = $i;
- $signame[$i] = $name;
- $i++;
- }
-
-So to check whether signal 17 and SIGALRM were the same, do just this:
-
- print "signal #17 = $signame[17]\n";
- if ($signo{ALRM}) {
- print "SIGALRM is $signo{ALRM}\n";
- }
+system, or you can retrieve them using the CPAN module L<IPC::Signal>.
You may also choose to assign the strings C<"IGNORE"> or C<"DEFAULT"> as
the handler, in which case Perl will try to discard the signal or do the
@@ -72,19 +55,9 @@ Calling C<wait()> with C<$SIG{CHLD}> set to C<"IGNORE"> usually returns
C<-1> on such platforms.
Some signals can be neither trapped nor ignored, such as the KILL and STOP
-(but not the TSTP) signals. One strategy for temporarily ignoring signals
-is to use a local() on that hash element, automatically restoring a
-previous value once your block is exited. Remember that values created by
-the dynamically-scoped local() are "inherited" by functions called from
-within their caller's scope.
-
- sub precious {
- local $SIG{INT} = "IGNORE";
- more_functions();
- }
- sub more_functions {
- # interrupts still ignored, for now...
- }
+(but not the TSTP) signals. Note that ignoring signals makes them disappear.
+If you only want them blocked temporarily without them getting lost you'll
+have to use POSIX' sigprocmask.
Sending a signal to a negative process ID means that you send the signal
to the entire Unix process group. This code sends a hang-up signal to all
@@ -100,16 +73,17 @@ so it doesn't kill itself:
Another interesting signal to send is signal number zero. This doesn't
actually affect a child process, but instead checks whether it's alive
-or has changed its UID.
+or has changed its UIDs.
unless (kill 0 => $kid_pid) {
warn "something wicked happened to $kid_pid";
}
-When directed at a process whose UID is not identical to that
-of the sending process, signal number zero may fail because
-you lack permission to send the signal, even though the process is alive.
-You may be able to determine the cause of failure using C<%!>.
+Signal number zero may fail because you lack permission to send the
+signal when directed at a process whose real or saved UID is not
+identical to the real or effective UID of the sending process, even
+though the process is alive. You may be able to determine the cause of
+failure using C<$!> or C<%!>.
unless (kill(0 => $pid) || $!{EPERM}) {
warn "$pid looks dead";
@@ -120,45 +94,25 @@ handlers:
$SIG{INT} = sub { die "\nOutta here!\n" };
-But that will be problematic for the more complicated handlers that need
-to reinstall themselves. Because Perl's signal mechanism is currently
-based on the signal(3) function from the C library, you may sometimes be so
-unfortunate as to run on systems where that function is "broken"; that
-is, it behaves in the old unreliable SysV way rather than the newer, more
-reasonable BSD and POSIX fashion. So you'll see defensive people writing
-signal handlers like this:
-
- sub REAPER {
- $waitedpid = wait;
- # loathe SysV: it makes us not only reinstate
- # the handler, but place it after the wait
- $SIG{CHLD} = \&REAPER;
- }
- $SIG{CHLD} = \&REAPER;
- # now do something that forks...
-
-or better still:
+SIGCHLD handlers require some special care. If a second child dies
+while in the signal handler caused by the first death, we won't get
+another signal. So must loop here else we will leave the unreaped child
+as a zombie. And the next time two children die we get another zombie.
+And so on.
use POSIX ":sys_wait_h";
- sub REAPER {
- my $child;
- # If a second child dies while in the signal handler caused by the
- # first death, we won't get another signal. So must loop here else
- # we will leave the unreaped child as a zombie. And the next time
- # two children die we get another zombie. And so on.
- while (($child = waitpid(-1, WNOHANG)) > 0) {
+ $SIG{CHLD} = sub {
+ while ((my $child = waitpid(-1, WNOHANG)) > 0) {
$Kid_Status{$child} = $?;
}
- $SIG{CHLD} = \&REAPER; # still loathe SysV
- }
- $SIG{CHLD} = \&REAPER;
+ };
# do something that forks...
Be careful: qx(), system(), and some modules for calling external commands
do a fork(), then wait() for the result. Thus, your signal handler
-(C<&REAPER> in the example) will be called. Because wait() was already
-called by system() or qx(), the wait() in the signal handler will see no
-more zombies and will therefore block.
+will be called. Because wait() was already called by system() or qx(),
+the wait() in the signal handler will see no more zombies and will
+therefore block.
The best way to prevent this issue is to use waitpid(), as in the following
example:
@@ -196,8 +150,7 @@ protected within an C<eval{}> block, you set a signal handler to trap
alarm signals and then schedule to have one delivered to you in some
number of seconds. Then try your blocking operation, clearing the alarm
when it's done but not before you've exited your C<eval{}> block. If it
-goes off, you'll use die() to jump out of the block, much as you might
-using longjmp() or throw() in other languages.
+goes off, you'll use die() to jump out of the block.
Here's an example:
@@ -231,12 +184,6 @@ the process. Many daemons provide this mechanism using a C<SIGHUP>
signal handler. When you want to tell the daemon to reread the file,
simply send it the C<SIGHUP> signal.
-Not all platforms automatically reinstall their (native) signal
-handlers after a signal delivery. This means that the handler works
-the first time the signal is sent, only. The solution to this problem
-is to use C<POSIX> signal handlers if available; their behavior
-is well-defined.
-
The following example implements a simple daemon, which restarts
itself every time the C<SIGHUP> signal is received. The actual code is
located in the subroutine C<code()>, which just prints some debugging
@@ -257,16 +204,10 @@ info to show that it works; it should be replaced with the real code.
my $SELF = catfile($FindBin::Bin, $script);
# POSIX unmasks the sigprocmask properly
- my $sigset = POSIX::SigSet->new();
- my $action = POSIX::SigAction->new("sigHUP_handler",
- $sigset,
- &POSIX::SA_NODEFER);
- POSIX::sigaction(&POSIX::SIGHUP, $action);
-
- sub sigHUP_handler {
+ $SIG{HUP} = sub {
print "got SIGHUP\n";
exec($SELF, @ARGV) || die "$0: couldn't restart: $!";
- }
+ };
code();
@@ -310,7 +251,8 @@ Then at strategic "safe" points in the Perl interpreter (e.g. when it is
about to execute a new opcode) the flags are checked and the Perl level
handler from %SIG is executed. The "deferred" scheme allows much more
flexibility in the coding of signal handlers as we know the Perl
-interpreter is in a safe state, and that we are not in a system library function when the handler is called. However the implementation does
+interpreter is in a safe state, and that we are not in a system library
+function when the handler is called. However the implementation does
differ from previous Perls in the following ways:
=over 4
@@ -372,10 +314,9 @@ Instead of setting C<$SIG{ALRM}>:
try something like the following:
- use POSIX qw(SIGALRM);
- POSIX::sigaction(SIGALRM,
- POSIX::SigAction->new(sub { die "alarm" }))
- || die "Error setting SIGALRM handler: $!\n";
+ use POSIX qw(SIGALRM);
+ POSIX::sigaction(SIGALRM, POSIX::SigAction->new(sub { die "alarm" }))
+ || die "Error setting SIGALRM handler: $!\n";
Another way to disable the safe signal behavior locally is to use
the C<Perl::Unsafe::Signals> module from CPAN, which affects
@@ -399,7 +340,7 @@ C<waitpid> calls will always be retried.
Certain signals like SEGV, ILL, and BUS are generated by virtual memory
addressing errors and similar "faults". These are normally fatal: there is
-little a Perl-level handler can do with them. So Perl now delivers them
+little a Perl-level handler can do with them. So Perl delivers them
immediately rather than attempting to defer them.
=item Signals triggered by operating system state
@@ -885,7 +826,7 @@ reopen the appropriate handles to STDIN and STDOUT and call other processes.
close PARENT_WTR;
print CHILD_WTR "Parent Pid $$ is sending this\n";
chomp($line = <CHILD_RDR>);
- print "Parent Pid $$ just read this: `$line'\n";
+ print "Parent Pid $$ just read this: '$line'\n";
close CHILD_RDR; close CHILD_WTR;
waitpid($pid, 0);
} else {
@@ -893,7 +834,7 @@ reopen the appropriate handles to STDIN and STDOUT and call other processes.
close CHILD_RDR;
close CHILD_WTR;
chomp($line = <PARENT_RDR>);
- print "Child Pid $$ just read this: `$line'\n";
+ print "Child Pid $$ just read this: '$line'\n";
print PARENT_WTR "Child Pid $$ is sending this\n";
close PARENT_RDR;
close PARENT_WTR;
@@ -923,7 +864,7 @@ have the socketpair() system call, it will do this all for you.
close PARENT;
print CHILD "Parent Pid $$ is sending this\n";
chomp($line = <CHILD>);
- print "Parent Pid $$ just read this: `$line'\n";
+ print "Parent Pid $$ just read this: '$line'\n";
close CHILD;
waitpid($pid, 0);
} else {
@@ -1746,7 +1687,7 @@ Here's a small example showing shared memory usage.
print "read : '$buff'\n";
# the buffer of shmread is zero-character end-padded.
- substr($buff, index($buff, "\0")) = "":
+ substr($buff, index($buff, "\0")) = "";
print "un" unless $buff eq $message;
print "swell\n";
diff --git a/Master/tlpkg/tlperl/lib/pods/perlirix.pod b/Master/tlpkg/tlperl/lib/pods/perlirix.pod
index 911a2514b3a..23cc17bd79f 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlirix.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlirix.pod
@@ -4,7 +4,7 @@ specifically designed to be readable as is.
=head1 NAME
-README.irix - Perl version 5 on Irix systems
+perlirix - Perl version 5 on Irix systems
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/pods/perlko.pod b/Master/tlpkg/tlperl/lib/pods/perlko.pod
index 5e9c4760192..4f23ea9a14c 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlko.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlko.pod
@@ -157,7 +157,7 @@ Perl Àü¹Ý »Ó ¾Æ´Ï¶ó À¯´ÏÄÚµå Áö¿ø, EncodeÀÇ »ç¿ë¹ý µî¿¡ ¸¹Àº °ÍÀ»
Çѱ¹¾î Perl ´º½º ±×·ì
-=item L<http://www.hanb.co.kr/search/searchResult.php?keyword=perl>
+=item L<http://www.hanb.co.kr/search/searchResult.html?keyword=perl>
O'Reilly¿¡¼­ ³ª¿Â Çѱ¹¾î Perl ¼­Àû ¸ñ·Ï
diff --git a/Master/tlpkg/tlperl/lib/pods/perllexwarn.pod b/Master/tlpkg/tlperl/lib/pods/perllexwarn.pod
index accbfdf7923..e63135915b9 100644
--- a/Master/tlpkg/tlperl/lib/pods/perllexwarn.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perllexwarn.pod
@@ -158,7 +158,7 @@ Does the exact opposite to the B<-W> flag, i.e. it disables all warnings.
=head2 Backward Compatibility
-If you are used with working with a version of Perl prior to the
+If you are used to working with a version of Perl prior to the
introduction of lexically scoped warnings, or have code that uses both
lexical warnings and C<$^W>, this section will describe how they interact.
@@ -169,7 +169,7 @@ How Lexical Warnings interact with B<-w>/C<$^W>:
=item 1.
If none of the three command line flags (B<-w>, B<-W> or B<-X>) that
-control warnings is used and neither C<$^W> or the C<warnings> pragma
+control warnings is used and neither C<$^W> nor the C<warnings> pragma
are used, then default warnings will be enabled and optional warnings
disabled.
This means that legacy code that doesn't attempt to control the warnings
diff --git a/Master/tlpkg/tlperl/lib/pods/perllinux.pod b/Master/tlpkg/tlperl/lib/pods/perllinux.pod
index 2f9943c2240..a191c520592 100644
--- a/Master/tlpkg/tlperl/lib/pods/perllinux.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perllinux.pod
@@ -4,7 +4,7 @@ specifically designed to be readable as is.
=head1 NAME
-README.linux - Perl version 5 on Linux systems
+perllinux - Perl version 5 on Linux systems
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/pods/perllocale.pod b/Master/tlpkg/tlperl/lib/pods/perllocale.pod
index 8926d8bc813..90543efa582 100644
--- a/Master/tlpkg/tlperl/lib/pods/perllocale.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perllocale.pod
@@ -1,40 +1,101 @@
+=encoding utf8
+
=head1 NAME
perllocale - Perl locale handling (internationalization and localization)
=head1 DESCRIPTION
-Locales these days have been mostly been supplanted by Unicode, but Perl
-continues to support them. See L</Unicode and UTF-8> below.
-
-Perl supports language-specific notions of data such as "is this
-a letter", "what is the uppercase equivalent of this letter", and
-"which of these letters comes first". These are important issues,
-especially for languages other than English--but also for English: it
-would be naE<iuml>ve to imagine that C<A-Za-z> defines all the "letters"
-needed to write correct English. Perl is also aware that some character other
-than "." may be preferred as a decimal point, and that output date
-representations may be language-specific. The process of making an
-application take account of its users' preferences in such matters is
-called B<internationalization> (often abbreviated as B<i18n>); telling
-such an application about a particular set of preferences is known as
-B<localization> (B<l10n>).
-
-Perl can understand language-specific data via the standardized (ISO C,
-XPG4, POSIX 1.c) method called "the locale system". The locale system is
-controlled per application using one pragma, one function call, and
-several environment variables.
-
-B<NOTE>: This feature is new in Perl 5.004, and does not apply unless an
-application specifically requests it--see L<Backward compatibility>.
-The one exception is that write() now B<always> uses the current locale
-- see L<"NOTES">.
+In the beginning there was ASCII, the "American Standard Code for
+Information Interchange", which works quite well for Americans with
+their English alphabet and dollar-denominated currency. But it doesn't
+work so well even for other English speakers, who may use different
+currencies, such as the pound sterling (as the symbol for that currency
+is not in ASCII); and it's hopelessly inadequate for many of the
+thousands of the world's other languages.
+
+To address these deficiencies, the concept of locales was invented
+(formally the ISO C, XPG4, POSIX 1.c "locale system"). And applications
+were and are being written that use the locale mechanism. The process of
+making such an application take account of its users' preferences in
+these kinds of matters is called B<internationalization> (often
+abbreviated as B<i18n>); telling such an application about a particular
+set of preferences is known as B<localization> (B<l10n>).
+
+Perl was extended, starting in 5.004, to support the locale system. This
+is controlled per application by using one pragma, one function call,
+and several environment variables.
+
+Unfortunately, there are quite a few deficiencies with the design (and
+often, the implementations) of locales, and their use for character sets
+has mostly been supplanted by Unicode (see L<perlunitut> for an
+introduction to that, and keep on reading here for how Unicode interacts
+with locales in Perl).
+
+Perl continues to support the old locale system, and starting in v5.16,
+provides a hybrid way to use the Unicode character set, along with the
+other portions of locales that may not be so problematic.
+(Unicode is also creating C<CLDR>, the "Common Locale Data Repository",
+L<http://cldr.unicode.org/> which includes more types of information than
+are available in the POSIX locale system. At the time of this writing,
+there was no CPAN module that provides access to this XML-encoded data.
+However, many of its locales have the POSIX-only data extracted, and are
+available at L<http://unicode.org/Public/cldr/latest/>.)
+
+=head1 WHAT IS A LOCALE
+
+A locale is a set of data that describes various aspects of how various
+communities in the world categorize their world. These categories are
+broken down into the following types (some of which include a brief
+note here):
+
+=over
+
+=item Category LC_NUMERIC: Numeric formatting
+
+This indicates how numbers should be formatted for human readability,
+for example the character used as the decimal point.
+
+=item Category LC_MONETARY: Formatting of monetary amounts
+
+=for comment
+The nbsp below makes this look better
+
+E<160>
+
+=item Category LC_TIME: Date/Time formatting
+
+=for comment
+The nbsp below makes this look better
+
+E<160>
+
+=item Category LC_MESSAGES: Error and other messages
+
+This for the most part is beyond the scope of Perl
+
+=item Category LC_COLLATE: Collation
+
+This indicates the ordering of letters for comparision and sorting.
+In Latin alphabets, for example, "b", generally follows "a".
+
+=item Category LC_CTYPE: Character Types
+
+This indicates, for example if a character is an uppercase letter.
+
+=back
+
+More details on the categories are given below in L</LOCALE CATEGORIES>.
+
+Together, these categories go a long way towards being able to customize
+a single program to run in many different locations. But there are
+deficiencies, so keep reading.
=head1 PREPARING TO USE LOCALES
-If Perl applications are to understand and present your data
-correctly according a locale of your choice, B<all> of the following
-must be true:
+Perl will not use locales unless specifically requested to (see L</NOTES> below
+for the partial exception of C<write()>). But even if there is such a
+request, B<all> of the following must be true for it to work properly:
=over 4
@@ -74,9 +135,9 @@ appropriate, and B<at least one> of the following must be true:
=item 1
-B<The locale-determining environment variables (see L<"ENVIRONMENT">)
+B<The locale-determining environment variables (see L</"ENVIRONMENT">)
must be correctly set up> at the time the application is started, either
-by yourself or by whoever set up your system account; or
+by yourself or by whomever set up your system account; or
=item 2
@@ -90,13 +151,25 @@ L<The setlocale function>.
=head2 The use locale pragma
By default, Perl ignores the current locale. The S<C<use locale>>
-pragma and the C</l> regular expression modifier tell Perl to use the
-current locale for some operations (C</l> for just pattern matching).
+pragma tells Perl to use the current locale for some operations.
+Starting in v5.16, there is an optional parameter to this pragma:
+
+ use locale ':not_characters';
+
+This parameter allows better mixing of locales and Unicode, and is
+described fully in L</Unicode and UTF-8>, but briefly, it tells Perl to
+not use the character portions of the locale definition, that is
+the C<LC_CTYPE> and C<LC_COLLATE> categories. Instead it will use the
+native (extended by Unicode) character set. When using this parameter,
+you are responsible for getting the external character set translated
+into the native/Unicode one (which it already will be if it is one of
+the increasingly popular UTF-8 locales). There are convenient ways of
+doing this, as described in L</Unicode and UTF-8>.
The current locale is set at execution time by
L<setlocale()|/The setlocale function> described below. If that function
hasn't yet been called in the course of the program's execution, the
-current locale is that which was determined by the L<"ENVIRONMENT"> in
+current locale is that which was determined by the L</"ENVIRONMENT"> in
effect at the start of the program, except that
C<L<LC_NUMERIC|/Category LC_NUMERIC: Numeric Formatting>> is always
initialized to the C locale (mentioned under L<Finding locales>).
@@ -107,6 +180,31 @@ The operations that are affected by locale are:
=over 4
+=item B<Under C<use locale ':not_characters';>>
+
+=over 4
+
+=item *
+
+B<Format declarations> (format()) use C<LC_NUMERIC>
+
+=item *
+
+B<The POSIX date formatting function> (strftime()) uses C<LC_TIME>.
+
+=back
+
+=for comment
+The nbsp below makes this look better
+
+E<160>
+
+=item B<Under just plain C<use locale;>>
+
+The above operations are affected, as well as the following:
+
+=over 4
+
=item *
B<The comparison operators> (C<lt>, C<le>, C<cmp>, C<ge>, and C<gt>) and
@@ -129,21 +227,15 @@ L<Category LC_COLLATE: Collation>.
B<Regular expressions and case-modification functions> (uc(), lc(),
ucfirst(), and lcfirst()) use C<LC_CTYPE>
-=item *
-
-B<Format declarations> (format()) use C<LC_NUMERIC>
-
-=item *
-
-B<The POSIX date formatting function> (strftime()) uses C<LC_TIME>.
-
=back
-C<LC_COLLATE>, C<LC_CTYPE>, and so on, are discussed further in
-L<LOCALE CATEGORIES>.
+=back
The default behavior is restored with the S<C<no locale>> pragma, or
-upon reaching the end of block enclosing C<use locale>.
+upon reaching the end of the block enclosing C<use locale>.
+Note that C<use locale> and C<use locale ':not_characters'> may be
+nested, and that what is in effect within an inner scope will revert to
+the outer scope's rules at the end of the inner scope.
The string result of any operation that uses locale
information is tainted, as it is possible for a locale to be
@@ -178,7 +270,7 @@ POSIX::setlocale() function:
The first argument of setlocale() gives the B<category>, the second the
B<locale>. The category tells in what aspect of data processing you
want to apply locale-specific rules. Category names are discussed in
-L<LOCALE CATEGORIES> and L<"ENVIRONMENT">. The locale is the name of a
+L</LOCALE CATEGORIES> and L</"ENVIRONMENT">. The locale is the name of a
collection of customization information corresponding to a particular
combination of language, country or territory, and codeset. Read on for
hints on the naming of locales: not all systems name locales as in the
@@ -212,6 +304,9 @@ be noticed, depending on your system's C library.
If the second argument does not correspond to a valid locale, the locale
for the category is not changed, and the function returns I<undef>.
+Note that Perl ignores the current C<LC_CTYPE> and C<LC_COLLATE> locales
+within the scope of a C<use locale ':not_characters'>.
+
For further information about the categories, consult setlocale(3).
=head2 Finding locales
@@ -308,7 +403,7 @@ Perl. In particular, external programs run from within Perl will see
these changes. If you make the new settings permanent (read on), all
programs you run see the changes. See L<"ENVIRONMENT"> for
the full list of relevant environment variables and L<USING LOCALES>
-for their effects in Perl. Effects in other programs are
+for their effects in Perl. Effects in other programs are
easily deducible. For example, the variable LC_COLLATE may well affect
your B<sort> program (or whatever the program that arranges "records"
alphabetically in your system is called).
@@ -369,7 +464,7 @@ commands. You may see things like "en_US.ISO8859-1", but that isn't
the same. In this case, try running under a locale
that you can list and which somehow matches what you tried. The
rules for matching locale names are a bit vague because
-standardization is weak in this area. See again the
+standardization is weak in this area. See again the
L<Finding locales> about general rules.
=head2 Fixing system locale configuration
@@ -411,42 +506,42 @@ current locale.
Here's a simple-minded example program that rewrites its command-line
parameters as integers correctly formatted in the current locale:
- # See comments in previous example
- require 5.004;
- use POSIX qw(locale_h);
-
- # Get some of locale's numeric formatting parameters
- my ($thousands_sep, $grouping) =
- @{localeconv()}{'thousands_sep', 'grouping'};
-
- # Apply defaults if values are missing
- $thousands_sep = ',' unless $thousands_sep;
-
- # grouping and mon_grouping are packed lists
- # of small integers (characters) telling the
- # grouping (thousand_seps and mon_thousand_seps
- # being the group dividers) of numbers and
- # monetary quantities. The integers' meanings:
- # 255 means no more grouping, 0 means repeat
- # the previous grouping, 1-254 means use that
- # as the current grouping. Grouping goes from
- # right to left (low to high digits). In the
- # below we cheat slightly by never using anything
- # else than the first grouping (whatever that is).
- if ($grouping) {
- @grouping = unpack("C*", $grouping);
- } else {
- @grouping = (3);
- }
-
- # Format command line params for current locale
- for (@ARGV) {
- $_ = int; # Chop non-integer part
- 1 while
- s/(\d)(\d{$grouping[0]}($|$thousands_sep))/$1$thousands_sep$2/;
- print "$_";
- }
- print "\n";
+ # See comments in previous example
+ require 5.004;
+ use POSIX qw(locale_h);
+
+ # Get some of locale's numeric formatting parameters
+ my ($thousands_sep, $grouping) =
+ @{localeconv()}{'thousands_sep', 'grouping'};
+
+ # Apply defaults if values are missing
+ $thousands_sep = ',' unless $thousands_sep;
+
+ # grouping and mon_grouping are packed lists
+ # of small integers (characters) telling the
+ # grouping (thousand_seps and mon_thousand_seps
+ # being the group dividers) of numbers and
+ # monetary quantities. The integers' meanings:
+ # 255 means no more grouping, 0 means repeat
+ # the previous grouping, 1-254 means use that
+ # as the current grouping. Grouping goes from
+ # right to left (low to high digits). In the
+ # below we cheat slightly by never using anything
+ # else than the first grouping (whatever that is).
+ if ($grouping) {
+ @grouping = unpack("C*", $grouping);
+ } else {
+ @grouping = (3);
+ }
+
+ # Format command line params for current locale
+ for (@ARGV) {
+ $_ = int; # Chop non-integer part
+ 1 while
+ s/(\d)(\d{$grouping[0]}($|$thousands_sep))/$1$thousands_sep$2/;
+ print "$_";
+ }
+ print "\n";
=head2 I18N::Langinfo
@@ -462,14 +557,15 @@ answers for a yes/no question in the current locale.
use I18N::Langinfo qw(langinfo ABDAY_1 YESSTR NOSTR);
- my ($abday_1, $yesstr, $nostr) = map { langinfo } qw(ABDAY_1 YESSTR NOSTR);
+ my ($abday_1, $yesstr, $nostr)
+ = map { langinfo } qw(ABDAY_1 YESSTR NOSTR);
print "$abday_1? [$yesstr/$nostr] ";
In other words, in the "C" (or English) locale the above will probably
print something like:
- Sun? [yes/no]
+ Sun? [yes/no]
See L<I18N::Langinfo> for more information.
@@ -481,7 +577,8 @@ basic category at a time. See L<"ENVIRONMENT"> for a discussion of these.
=head2 Category LC_COLLATE: Collation
-In the scope of S<C<use locale>>, Perl looks to the C<LC_COLLATE>
+In the scope of S<C<use locale>> (but not a
+C<use locale ':not_characters'>), Perl looks to the C<LC_COLLATE>
environment variable to determine the application's notions on collation
(ordering) of characters. For example, "b" follows "a" in Latin
alphabets, but where do "E<aacute>" and "E<aring>" belong? And while
@@ -561,7 +658,8 @@ results, and so always obey the current C<LC_COLLATE> locale.
=head2 Category LC_CTYPE: Character Types
-In the scope of S<C<use locale>>, Perl obeys the C<LC_CTYPE> locale
+In the scope of S<C<use locale>> (but not a
+C<use locale ':not_characters'>), Perl obeys the C<LC_CTYPE> locale
setting. This controls the application's notion of which characters are
alphabetic. This affects Perl's C<\w> regular expression metanotation,
which stands for alphanumeric characters--that is, alphabetic,
@@ -582,6 +680,8 @@ Finally, C<LC_CTYPE> affects the POSIX character-class test
functions--isalpha(), islower(), and so on. For example, if you move
from the "C" locale to a 7-bit Scandinavian one, you may find--possibly
to your surprise--that "|" moves from the ispunct() class to isalpha().
+Unfortunately, this creates big problems for regular expressions. "|" still
+means alternation even though it matches C<\w>.
B<Note:> A broken or malicious C<LC_CTYPE> locale definition may result
in clearly ineligible characters being considered to be alphanumeric by
@@ -628,11 +728,11 @@ The C standard defines the C<LC_MONETARY> category, but not a function
that is affected by its contents. (Those with experience of standards
committees will recognize that the working group decided to punt on the
issue.) Consequently, Perl takes no notice of it. If you really want
-to use C<LC_MONETARY>, you can query its contents--see
-L<The localeconv function>--and use the information that it returns in your
-application's own formatting of currency amounts. However, you may well
-find that the information, voluminous and complex though it may be, still
-does not quite meet your requirements: currency formatting is a hard nut
+to use C<LC_MONETARY>, you can query its contents--see
+L<The localeconv function>--and use the information that it returns in your
+application's own formatting of currency amounts. However, you may well
+find that the information, voluminous and complex though it may be, still
+does not quite meet your requirements: currency formatting is a hard nut
to crack.
See also L<I18N::Langinfo> and C<CRNCYSTR>.
@@ -742,7 +842,7 @@ Scalar true/false (or less/equal/greater) result is never tainted.
B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or C<\U>)
Result string containing interpolated material is tainted if
-C<use locale> is in effect.
+C<use locale> (but not S<C<use locale ':not_characters'>>) is in effect.
=item *
@@ -751,7 +851,8 @@ B<Matching operator> (C<m//>):
Scalar true/false result never tainted.
Subpatterns, either delivered as a list-context result or as $1 etc.
-are tainted if C<use locale> is in effect, and the subpattern regular
+are tainted if C<use locale> (but not S<C<use locale ':not_characters'>>)
+is in effect, and the subpattern regular
expression contains C<\w> (to match an alphanumeric character), C<\W>
(non-alphanumeric character), C<\s> (whitespace character), or C<\S>
(non whitespace character). The matched-pattern variable, $&, $`
@@ -764,8 +865,9 @@ C<\W>, C<\s>, or C<\S>.
B<Substitution operator> (C<s///>):
Has the same behavior as the match operator. Also, the left
-operand of C<=~> becomes tainted when C<use locale> in effect
-if modified as a result of a substitution based on a regular
+operand of C<=~> becomes tainted when C<use locale>
+(but not S<C<use locale ':not_characters'>>) is in effect if modified as
+a result of a substitution based on a regular
expression match involving C<\w>, C<\W>, C<\s>, or C<\S>; or of
case-mapping with C<\l>, C<\L>,C<\u> or C<\U>.
@@ -781,7 +883,8 @@ effect.
B<Case-mapping functions> (lc(), lcfirst(), uc(), ucfirst()):
-Results are tainted if C<use locale> is in effect.
+Results are tainted if C<use locale> (but not
+S<C<use locale ':not_characters'>>) is in effect.
=item *
@@ -930,18 +1033,18 @@ category-specific C<LC_...>.
The LC_NUMERIC controls the numeric output:
- use locale;
- use POSIX qw(locale_h); # Imports setlocale() and the LC_ constants.
- setlocale(LC_NUMERIC, "fr_FR") or die "Pardon";
- printf "%g\n", 1.23; # If the "fr_FR" succeeded, probably shows 1,23.
+ use locale;
+ use POSIX qw(locale_h); # Imports setlocale() and the LC_ constants.
+ setlocale(LC_NUMERIC, "fr_FR") or die "Pardon";
+ printf "%g\n", 1.23; # If the "fr_FR" succeeded, probably shows 1,23.
and also how strings are parsed by POSIX::strtod() as numbers:
- use locale;
- use POSIX qw(locale_h strtod);
- setlocale(LC_NUMERIC, "de_DE") or die "Entschuldigung";
- my $x = strtod("2,34") + 5;
- print $x, "\n"; # Probably shows 7,34.
+ use locale;
+ use POSIX qw(locale_h strtod);
+ setlocale(LC_NUMERIC, "de_DE") or die "Entschuldigung";
+ my $x = strtod("2,34") + 5;
+ print $x, "\n"; # Probably shows 7,34.
=head1 NOTES
@@ -953,7 +1056,8 @@ always in force, even if the program environment suggested otherwise
(see L<The setlocale function>). By default, Perl still behaves this
way for backward compatibility. If you want a Perl application to pay
attention to locale information, you B<must> use the S<C<use locale>>
-pragma (see L<The use locale pragma>) or for just pattern matching, the
+pragma (see L<The use locale pragma>) or, in the unlikely event
+that you want to do so for just pattern matching, the
C</l> regular expression modifier (see L<perlre/Character set
modifiers>) to instruct it to do so.
@@ -994,6 +1098,11 @@ is called.
=head2 Freely available locale definitions
+The Unicode CLDR project extracts the POSIX portion of many of its
+locales, available at
+
+ http://unicode.org/Public/cldr/latest/
+
There is a large collection of locale definitions at:
http://std.dkuug.dk/i18n/WG15-collection/locales/
@@ -1023,25 +1132,65 @@ into bankers, bikers, gamers, and so on.
=head1 Unicode and UTF-8
-The support of Unicode is new starting from Perl version 5.6, and more fully
-implemented in version 5.8 and later. See L<perluniintro>. Perl tries to
-work with both Unicode and locales--but of course, there are problems.
-
-Perl does not handle multi-byte locales, such as have been used for various
-Asian languages, such as Big5 or Shift JIS. However, the increasingly common
-multi-byte UTF-8 locales, if properly implemented, tend to work
-reasonably well in Perl, simply because both they and Perl store
-characters that take up multiple bytes the same way.
+The support of Unicode is new starting from Perl version v5.6, and more fully
+implemented in version v5.8 and later. See L<perluniintro>. It is
+strongly recommended that when combining Unicode and locale (starting in
+v5.16), you use
+
+ use locale ':not_characters';
+
+When this form of the pragma is used, only the non-character portions of
+locales are used by Perl, for example C<LC_NUMERIC>. Perl assumes that
+you have translated all the characters it is to operate on into Unicode
+(actually the platform's native character set (ASCII or EBCDIC) plus
+Unicode). For data in files, this can conveniently be done by also
+specifying
+
+ use open ':locale';
+
+This pragma arranges for all inputs from files to be translated into
+Unicode from the current locale as specified in the environment (see
+L</ENVIRONMENT>), and all outputs to files to be translated back
+into the locale. (See L<open>). On a per-filehandle basis, you can
+instead use the L<PerlIO::locale> module, or the L<Encode::Locale>
+module, both available from CPAN. The latter module also has methods to
+ease the handling of C<ARGV> and environment variables, and can be used
+on individual strings. Also, if you know that all your locales will be
+UTF-8, as many are these days, you can use the L<B<-C>|perlrun/-C>
+command line switch.
+
+This form of the pragma allows essentially seamless handling of locales
+with Unicode. The collation order will be Unicode's. It is strongly
+recommended that when you need to order and sort strings that you use
+the standard module L<Unicode::Collate> which gives much better results
+in many instances than you can get with the old-style locale handling.
+
+For pre-v5.16 Perls, or if you use the locale pragma without the
+C<:not_characters> parameter, Perl tries to work with both Unicode and
+locales--but there are problems.
+
+Perl does not handle multi-byte locales in this case, such as have been
+used for various
+Asian languages, such as Big5 or Shift JIS. However, the increasingly
+common multi-byte UTF-8 locales, if properly implemented, may work
+reasonably well (depending on your C library implementation) in this
+form of the locale pragma, simply because both
+they and Perl store characters that take up multiple bytes the same way.
+However, some, if not most, C library implementations may not process
+the characters in the upper half of the Latin-1 range (128 - 255)
+properly under LC_CTYPE. To see if a character is a particular type
+under a locale, Perl uses the functions like C<isalnum()>. Your C
+library may not work for UTF-8 locales with those functions, instead
+only working under the newer wide library functions like C<iswalnum()>.
Perl generally takes the tack to use locale rules on code points that can fit
-in a single byte, and Unicode rules for those that can't (though this wasn't
-uniformly applied prior to Perl 5.14). This prevents many problems in locales
-that aren't UTF-8. Suppose the locale is ISO8859-7, Greek. The character at
-0xD7 there is a capital Chi. But in the ISO8859-1 locale, Latin1, it is a
-multiplication sign. The POSIX regular expression character class
-C<[[:alpha:]]> will magically match 0xD7 in the Greek locale but not in the
-Latin one, even if the string is encoded in UTF-8, which would normally imply
-Unicode semantics. (The "U" in UTF-8 stands for Unicode.)
+in a single byte, and Unicode rules for those that can't (though this
+isn't uniformly applied, see the note at the end of this section). This
+prevents many problems in locales that aren't UTF-8. Suppose the locale
+is ISO8859-7, Greek. The character at 0xD7 there is a capital Chi. But
+in the ISO8859-1 locale, Latin1, it is a multiplication sign. The POSIX
+regular expression character class C<[[:alpha:]]> will magically match
+0xD7 in the Greek locale but not in the Latin one.
However, there are places where this breaks down. Certain constructs are
for Unicode only, such as C<\p{Alpha}>. They assume that 0xD7 always has its
@@ -1049,11 +1198,20 @@ Unicode meaning (or the equivalent on EBCDIC platforms). Since Latin1 is a
subset of Unicode and 0xD7 is the multiplication sign in both Latin1 and
Unicode, C<\p{Alpha}> will never match it, regardless of locale. A similar
issue occurs with C<\N{...}>. It is therefore a bad idea to use C<\p{}> or
-C<\N{}> under C<use locale>--I<unless> you can guarantee that the locale will
-be a ISO8859-1 or UTF-8 one. Use POSIX character classes instead.
-
-
-The same problem ensues if you enable automatic UTF-8-ification of your
+C<\N{}> under plain C<use locale>--I<unless> you can guarantee that the
+locale will be a ISO8859-1. Use POSIX character classes instead.
+
+Another problem with this approach is that operations that cross the
+single byte/multiple byte boundary are not well-defined, and so are
+disallowed. (This boundary is between the codepoints at 255/256.).
+For example, lower casing LATIN CAPITAL LETTER Y WITH DIAERESIS (U+0178)
+should return LATIN SMALL LETTER Y WITH DIAERESIS (U+00FF). But in the
+Greek locale, for example, there is no character at 0xFF, and Perl
+has no way of knowing what the character at 0xFF is really supposed to
+represent. Thus it disallows the operation. In this mode, the
+lowercase of U+0178 is itself.
+
+The same problems ensue if you enable automatic UTF-8-ification of your
standard file handles, default C<open()> layer, and C<@ARGV> on non-ISO8859-1,
non-UTF-8 locales (by using either the B<-C> command line switch or the
C<PERL_UNICODE> environment variable; see L<perlrun>).
@@ -1061,19 +1219,37 @@ Things are read in as UTF-8, which would normally imply a Unicode
interpretation, but the presence of a locale causes them to be interpreted
in that locale instead. For example, a 0xD7 code point in the Unicode
input, which should mean the multiplication sign, won't be interpreted by
-Perl that way under the Greek locale. Again, this is not a problem
+Perl that way under the Greek locale. This is not a problem
I<provided> you make certain that all locales will always and only be either
-an ISO8859-1 or a UTF-8 locale.
+an ISO8859-1, or, if you don't have a deficient C library, a UTF-8 locale.
Vendor locales are notoriously buggy, and it is difficult for Perl to test
its locale-handling code because this interacts with code that Perl has no
control over; therefore the locale-handling code in Perl may be buggy as
-well. But if you I<do> have locales that work, using them may be
-worthwhile for certain specific purposes, as long as you keep in mind the
-gotchas already mentioned. For example, collation runs faster under
-locales than under L<Unicode::Collate> (albeit with less flexibility), and
-you gain access to such things as the local currency symbol and the names
-of the months and days of the week.
+well. (However, the Unicode-supplied locales should be better, and
+there is a feed back mechanism to correct any problems. See
+L</Freely available locale definitions>.)
+
+If you have Perl v5.16, the problems mentioned above go away if you use
+the C<:not_characters> parameter to the locale pragma (except for vendor
+bugs in the non-character portions). If you don't have v5.16, and you
+I<do> have locales that work, using them may be worthwhile for certain
+specific purposes, as long as you keep in mind the gotchas already
+mentioned. For example, if the collation for your locales works, it
+runs faster under locales than under L<Unicode::Collate>; and you gain
+access to such things as the local currency symbol and the names of the
+months and days of the week. (But to hammer home the point, in v5.16,
+you get this access without the downsides of locales by using the
+C<:not_characters> form of the pragma.)
+
+Note: The policy of using locale rules for code points that can fit in a
+byte, and Unicode rules for those that can't is not uniformly applied.
+Pre-v5.12, it was somewhat haphazard; in v5.12 it was applied fairly
+consistently to regular expression matching except for bracketed
+character classes; in v5.14 it was extended to all regex matches; and in
+v5.16 to the casing operations such as C<"\L"> and C<uc()>. For
+collation, in all releases, the system's C<strxfrm()> function is called,
+and whatever it does is what you get.
=head1 BUGS
diff --git a/Master/tlpkg/tlperl/lib/pods/perllol.pod b/Master/tlpkg/tlperl/lib/pods/perllol.pod
index 8c6c0563f89..b35a0febb31 100644
--- a/Master/tlpkg/tlperl/lib/pods/perllol.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perllol.pod
@@ -174,7 +174,7 @@ Prior to Perl 5.14, this wouldn't even compile:
push $AoA[0], "wilma", "betty"; # implicit deref
-How come? Because once upon a time, the argument to push() had to be be a
+How come? Because once upon a time, the argument to push() had to be a
real array, not just a reference to one. That's no longer true. In fact,
the line marked "implicit deref" above works just fine--in this
instance--to do what the one that says explicit deref did.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlmacos.pod b/Master/tlpkg/tlperl/lib/pods/perlmacos.pod
index ba7d78a2784..3482800691b 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlmacos.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlmacos.pod
@@ -4,7 +4,7 @@ designed to be readable as is.
=head1 NAME
-README.macos - Perl under Mac OS (Classic)
+perlmacos - Perl under Mac OS (Classic)
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/pods/perlmacosx.pod b/Master/tlpkg/tlperl/lib/pods/perlmacosx.pod
index 2ba5b1becdb..0501b1ff649 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlmacosx.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlmacosx.pod
@@ -4,14 +4,14 @@ designed to be readable as is.
=head1 NAME
-README.macosx - Perl under Mac OS X
+perlmacosx - Perl under Mac OS X
=head1 SYNOPSIS
This document briefly describes Perl under Mac OS X.
- curl http://www.cpan.org/src/perl-5.12.3.tar.gz > perl-5.12.3.tar.gz
- tar -xzf perl-5.12.3.tar.gz
+ curl http://www.cpan.org/src/perl-5.12.3.tar.gz > perl-5.12.3.tar.gz
+ tar -xzf perl-5.12.3.tar.gz
cd perl-5.12.3
./Configure -des -Dprefix=/usr/local/
make
@@ -21,11 +21,11 @@ This document briefly describes Perl under Mac OS X.
=head1 DESCRIPTION
The latest Perl release (5.12.3 as of this writing) builds without changes
-under all versions of Mac OS X from 10.3 "Panther" onwards.
+under all versions of Mac OS X from 10.3 "Panther" onwards.
In order to build your own version of Perl you will need 'make'
this is part of the Apples developer tools (you only need the 'unix tools'),
-usually supplied with Mac OS install DVDs. You do not need the latest
+usually supplied with Mac OS install DVDs. You do not need the latest
version of Xcode (which is now charged for) in order to install make.
Earlier Mac OS X releases (10.2 "Jaguar" and older) did not include a
@@ -136,7 +136,7 @@ need to go to a great deal of effort to obtain the information needed
for pre-binding.
You can override the default and build a shared libperl if you wish
-(S<Configure ... -Duseshrlib>), but the load time on pre-10.4 OS
+(S<Configure ... -Duseshrplib>), but the load time on pre-10.4 OS
releases will be greater than either the static library, or Apple's
pre-bound dynamic library.
@@ -190,7 +190,7 @@ but remember that there's a startup cost to pay in that case (see above
Starting with Tiger (Mac OS X 10.4), Apple shipped broken locale files for
the eu_ES locale (Basque-Spain). In previous releases of Perl, this resulted in
-failures in the C<lib/locale> test. These failures have been suppressed
+failures in the F<lib/locale> test. These failures have been suppressed
in the current release of Perl by making the test ignore the broken locale.
If you need to use the eu_ES locale, you should contact Apple support.
@@ -235,7 +235,7 @@ You can find them for example by
After this you can either copy Perl from your operating system media
(you will need at least the /System/Library/Perl and /usr/bin/perl),
or rebuild Perl from the source code with C<Configure -Dprefix=/usr
--Dusershrplib> NOTE: the C<-Dprefix=/usr> to replace the system Perl
+-Duseshrplib> NOTE: the C<-Dprefix=/usr> to replace the system Perl
works much better with Perl 5.8.1 and later, in Perl 5.8.0 the
settings were not quite right.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlmod.pod b/Master/tlpkg/tlperl/lib/pods/perlmod.pod
index 5266f199df0..33f098d0228 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlmod.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlmod.pod
@@ -102,6 +102,10 @@ You can use this to print out all the variables in a package, for
instance. The standard but antiquated F<dumpvar.pl> library and
the CPAN module Devel::Symdump make use of this.
+The results of creating new symbol table entries directly or modifying any
+entries that are not already typeglobs are undefined and subject to change
+between releases of perl.
+
Assignment to a typeglob performs an aliasing operation, i.e.,
*dick = *richard;
@@ -377,7 +381,7 @@ package may also derive some of its methods from another class (package)
by listing the other package name(s) in its global @ISA array (which
must be a package global, not a lexical).
-For more on this, see L<perltoot> and L<perlobj>.
+For more on this, see L<perlootut> and L<perlobj>.
=head2 Perl Modules
X<module>
@@ -400,65 +404,50 @@ create a file called F<Some/Module.pm> and start with this template:
use warnings;
BEGIN {
- use Exporter ();
- our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
+ require Exporter;
# set the version for version checking
- $VERSION = 1.00;
- # if using RCS/CVS, this may be preferred
- $VERSION = sprintf "%d.%03d", q$Revision: 1.1 $ =~ /(\d+)/g;
+ our $VERSION = 1.00;
+
+ # Inherit from Exporter to export functions and variables
+ our @ISA = qw(Exporter);
- @ISA = qw(Exporter);
- @EXPORT = qw(&func1 &func2 &func4);
- %EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ],
+ # Functions and variables which are exported by default
+ our @EXPORT = qw(func1 func2);
- # your exported package globals go here,
- # as well as any optionally exported functions
- @EXPORT_OK = qw($Var1 %Hashit &func3);
+ # Functions and variables which can be optionally exported
+ our @EXPORT_OK = qw($Var1 %Hashit func3);
}
- our @EXPORT_OK;
# exported package globals go here
- our $Var1;
- our %Hashit;
+ our $Var1 = '';
+ our %Hashit = ();
# non-exported package globals go here
- our @more;
- our $stuff;
-
- # initialize package globals, first exported ones
- $Var1 = '';
- %Hashit = ();
+ # (they are still accessible as $Some::Module::stuff)
+ our @more = ();
+ our $stuff = '';
- # then the others (which are still accessible as $Some::Module::stuff)
- $stuff = '';
- @more = ();
-
- # all file-scoped lexicals must be created before
- # the functions below that use them.
-
- # file-private lexicals go here
+ # file-private lexicals go here, before any functions which use them
my $priv_var = '';
my %secret_hash = ();
# here's a file-private function as a closure,
- # callable as &$priv_func; it cannot be prototyped.
+ # callable as $priv_func->();
my $priv_func = sub {
- # stuff goes here.
+ ...
};
# make all your functions, whether exported or not;
# remember to put something interesting in the {} stubs
- sub func1 {} # no prototype
- sub func2() {} # proto'd void
- sub func3($$) {} # proto'd to 2 scalars
-
- # this one isn't exported, but could be called!
- sub func4(\%) {} # proto'd to 1 hash ref
+ sub func1 { ... }
+ sub func2 { ... }
- END { } # module clean-up code here (global destructor)
+ # this one isn't exported, but could be called directly
+ # as Some::Module::func3()
+ sub func3 { ... }
- ## YOUR CODE GOES HERE
+ END { ... } # module clean-up code here (global destructor)
1; # don't forget to return a true value from the file
@@ -476,11 +465,11 @@ or
This is exactly equivalent to
- BEGIN { require Module; import Module; }
+ BEGIN { require 'Module.pm'; 'Module'->import; }
or
- BEGIN { require Module; import Module LIST; }
+ BEGIN { require 'Module.pm'; 'Module'->import( LIST ); }
As a special case
@@ -488,7 +477,7 @@ As a special case
is exactly equivalent to
- BEGIN { require Module; }
+ BEGIN { require 'Module.pm'; }
All Perl module files have the extension F<.pm>. The C<use> operator
assumes this so you don't have to spell out "F<Module.pm>" in quotes.
@@ -571,7 +560,7 @@ like for example handle the cloning of non-Perl data, if necessary.
C<CLONE> will be called once as a class method for every package that has it
defined (or inherits it). It will be called in the context of the new thread,
so all modifications are made in the new area. Currently CLONE is called with
-no parameters other than the invocand package name, but code should not assume
+no parameters other than the invocant package name, but code should not assume
that this will remain unchanged, as it is likely that in future extra parameters
will be passed in to give more information about the state of cloning.
@@ -593,7 +582,7 @@ to make use of the objects, then a more sophisticated approach is
needed.
Like C<CLONE>, C<CLONE_SKIP> is currently called with no parameters other
-than the invocand package name, although that may change. Similarly, to
+than the invocant package name, although that may change. Similarly, to
allow for future expansion, the return value should be a single C<0> or
C<1> value.
@@ -602,7 +591,7 @@ C<1> value.
See L<perlmodlib> for general style issues related to building Perl
modules and classes, as well as descriptions of the standard library
and CPAN, L<Exporter> for how Perl's standard import/export mechanism
-works, L<perltoot> and L<perltooc> for an in-depth tutorial on
+works, L<perlootut> and L<perlobj> for in-depth information on
creating classes, L<perlobj> for a hard-core reference document on
objects, L<perlsub> for an explanation of functions and scoping,
and L<perlxstut> and L<perlguts> for more information on writing
diff --git a/Master/tlpkg/tlperl/lib/pods/perlmodinstall.pod b/Master/tlpkg/tlperl/lib/pods/perlmodinstall.pod
index a7b74be9df4..f4694cc9a76 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlmodinstall.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlmodinstall.pod
@@ -436,19 +436,4 @@ First version July 22, 1998; last revised November 21, 2001.
Copyright (C) 1998, 2002, 2003 Jon Orwant. All Rights Reserved.
-Permission is granted to make and distribute verbatim copies of this
-documentation provided the copyright notice and this permission notice are
-preserved on all copies.
-
-Permission is granted to copy and distribute modified versions of this
-documentation under the conditions for verbatim copying, provided also
-that they are marked clearly as modified versions, that the authors'
-names and title are unchanged (though subtitles and additional
-authors' names may be added), and that the entire resulting derived
-work is distributed under the terms of a permission notice identical
-to this one.
-
-Permission is granted to copy and distribute translations of this
-documentation into another language, under the above conditions for
-modified versions.
-
+This document may be distributed under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlmodlib.pod b/Master/tlpkg/tlperl/lib/pods/perlmodlib.pod
index c7148c0550d..ce94dc46060 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlmodlib.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlmodlib.pod
@@ -47,6 +47,10 @@ The following pragmas are defined (and have their own documentation).
=over 12
+=item arybase
+
+Set indexing base via $[
+
=item attributes
Get/set subroutine or variable attributes
@@ -153,7 +157,7 @@ Manipulate @INC at compile time
=item locale
-Use and avoid POSIX locales for built-in operations
+Use or avoid POSIX locales for built-in operations
=item mro
@@ -179,6 +183,78 @@ Lexically control overloading
Establish an ISA relationship with base classes at compile time
+=item perldoc
+
+Look up Perl documentation in Pod format.
+
+=item perlfaq
+
+Frequently asked questions about Perl
+
+=item perlfaq1
+
+General Questions About Perl
+
+=item perlfaq2
+
+Obtaining and Learning about Perl
+
+=item perlfaq3
+
+Programming Tools
+
+=item perlfaq4
+
+Data Manipulation
+
+=item perlfaq5
+
+Files and Formats
+
+=item perlfaq6
+
+Regular Expressions
+
+=item perlfaq7
+
+General Perl Language Issues
+
+=item perlfaq8
+
+System Interaction
+
+=item perlfaq9
+
+Web, Email and Networking
+
+=item perlfunc
+
+Perl builtin functions
+
+=item perlglossary
+
+Perl Glossary
+
+=item perlpodspeccopy
+
+Plain Old Documentation: format specification and notes
+
+=item perlvarcopy
+
+Perl predefined variables
+
+=item perlxs
+
+XS language reference manual
+
+=item perlxstut
+
+Tutorial for writing XSUBs
+
+=item perlxstypemap
+
+Perl XS C/Perl type mapping
+
=item re
Alter regular expression behaviour
@@ -231,6 +307,7 @@ Control optional warnings
Warnings import function
+
=back
=head2 Standard Modules
@@ -333,6 +410,10 @@ Generates cross reference reports for Perl programs
Benchmark running times of Perl code
+=item C<Socket>
+
+Networking constants and support functions
+
=item CGI
Handle Common Gateway Interface requests and responses
@@ -371,7 +452,7 @@ Internal utilities used by CGI module
=item CORE
-Pseudo-namespace for Perl's core routines
+Namespace for Perl's core routines
=item CPAN
@@ -413,6 +494,10 @@ History of CPAN Meta Spec changes
A set of distribution prerequisites by phase and type
+=item CPAN::Meta::Requirements
+
+A set of version requirements for a CPAN dist
+
=item CPAN::Meta::Spec
Specification for CPAN distribution metadata
@@ -437,6 +522,30 @@ Utility functions to compare CPAN versions
API & CLI access to the CPAN mirrors
+=item CPANPLUS::Backend
+
+Programmer's interface to CPANPLUS
+
+=item CPANPLUS::Backend::RV
+
+Return value objects
+
+=item CPANPLUS::Config
+
+Configuration defaults and heuristics for CPANPLUS
+
+=item CPANPLUS::Configure
+
+Configuration for CPANPLUS
+
+=item CPANPLUS::Dist
+
+Base class for plugins
+
+=item CPANPLUS::Dist::Autobundle
+
+Distribution class for installation snapshots
+
=item CPANPLUS::Dist::Base
Base class for custom distribution classes
@@ -449,10 +558,50 @@ CPANPLUS plugin to install packages that use Build.PL
Constants for CPANPLUS::Dist::Build
+=item CPANPLUS::Dist::MM
+
+Distribution class for MakeMaker related modules
+
=item CPANPLUS::Dist::Sample
Sample code to create your own Dist::* plugin
+=item CPANPLUS::Error
+
+Error handling for CPANPLUS
+
+=item CPANPLUS::FAQ
+
+CPANPLUS Frequently Asked Questions
+
+=item CPANPLUS::Hacking
+
+Developing CPANPLUS
+
+=item CPANPLUS::Internals
+
+CPANPLUS internals
+
+=item CPANPLUS::Internals::Extract
+
+Internals for archive extraction
+
+=item CPANPLUS::Internals::Fetch
+
+Internals for fetching files
+
+=item CPANPLUS::Internals::Report
+
+Internals for sending test reports
+
+=item CPANPLUS::Internals::Search
+
+Internals for searching for modules
+
+=item CPANPLUS::Internals::Source
+
+Internals for updating source files
+
=item CPANPLUS::Internals::Source::Memory
In memory implementation
@@ -461,14 +610,62 @@ In memory implementation
SQLite implementation
+=item CPANPLUS::Internals::Utils
+
+Convenience functions for CPANPLUS
+
+=item CPANPLUS::Module
+
+CPAN module objects for CPANPLUS
+
+=item CPANPLUS::Module::Author
+
+CPAN author object for CPANPLUS
+
+=item CPANPLUS::Module::Author::Fake
+
+Dummy author object for CPANPLUS
+
+=item CPANPLUS::Module::Checksums
+
+Checking the checksum of a distribution
+
+=item CPANPLUS::Module::Fake
+
+Fake module object for internal use
+
+=item CPANPLUS::Selfupdate
+
+Self-updating for CPANPLUS
+
+=item CPANPLUS::Shell
+
+Base class for CPANPLUS shells
+
=item CPANPLUS::Shell::Classic
CPAN.pm emulation for CPANPLUS
+=item CPANPLUS::Shell::Default
+
+The default CPANPLUS shell
+
+=item CPANPLUS::Shell::Default::Plugins::CustomSource
+
+Add custom sources to CPANPLUS
+
=item CPANPLUS::Shell::Default::Plugins::HOWTO
Documentation on how to write your own plugins
+=item CPANPLUS::Shell::Default::Plugins::Remote
+
+Connect to a remote CPANPLUS
+
+=item CPANPLUS::Shell::Default::Plugins::Source
+
+Read in CPANPLUS commands
+
=item Carp
Alternative warn and die for modules
@@ -481,18 +678,10 @@ Declare struct-like datatypes as Perl classes
Low-Level Interface to bzip2 compression library
-=item Compress::Raw::Bzip2::FAQ
-
-Frequently Asked Questions about Compress::Raw::Bzip2
-
=item Compress::Raw::Zlib
Low-Level Interface to zlib compression library
-=item Compress::Raw::Zlib::FAQ
-
-Frequently Asked Questions about Compress::Raw::Zlib
-
=item Compress::Zlib
Interface to zlib compression library
@@ -541,10 +730,6 @@ Perl5 access to Berkeley DB version 1.x
Stringified perl data structures, suitable for both printing and C<eval>
-=item Devel::DProf
-
-A B<DEPRECATED> Perl code profiler
-
=item Devel::InnerPackage
Find all the inner packages of a package
@@ -595,7 +780,7 @@ Dynamically load C libraries into Perl code
=item Encode
-Character encodings
+Character encodings in Perl
=item Encode::Alias
@@ -849,10 +1034,6 @@ Frequently Asked Questions About MakeMaker
Writing a module with MakeMaker
-=item ExtUtils::MakeMaker::YAML
-
-Clone of YAML::Tiny
-
=item ExtUtils::Manifest
Utilities to write and check a MANIFEST file
@@ -873,6 +1054,34 @@ Manage .packlist files
Converts Perl XS code into C code
+=item ExtUtils::ParseXS::Constants
+
+Initialization values for some globals
+
+=item ExtUtils::ParseXS::Utilities
+
+Subroutines used with ExtUtils::ParseXS
+
+=item ExtUtils::Typemaps
+
+Read/Write/Modify Perl/XS typemap files
+
+=item ExtUtils::Typemaps::Cmd
+
+Quick commands for handling typemaps
+
+=item ExtUtils::Typemaps::InputMap
+
+Entry in the INPUT section of a typemap
+
+=item ExtUtils::Typemaps::OutputMap
+
+Entry in the OUTPUT section of a typemap
+
+=item ExtUtils::Typemaps::Type
+
+Entry in the TYPEMAP section of a typemap
+
=item ExtUtils::XSSymSet
Keep sets of symbol names palatable to the VMS linker
@@ -1193,29 +1402,101 @@ Indicate if List::Util was compiled with a C compiler
A distribution of modules to handle locale codes
+=item Locale::Codes::API
+
+A description of the callable function in each module
+
=item Locale::Codes::Changes
-Details important changes after 2.07
+Details changes to Locale::Codes
+
+=item Locale::Codes::Constants
+
+Constants for Locale codes
=item Locale::Codes::Country
-Country codes for the Locale::Country module
+Standard codes for country identification
+
+=item Locale::Codes::Country_Codes
+
+Country codes for the Locale::Codes::Country module
+
+=item Locale::Codes::Country_Retired
+
+Retired country codes for the Locale::Codes::Country module
=item Locale::Codes::Currency
-Currency codes for the Locale::Currency module
+Standard codes for currency identification
+
+=item Locale::Codes::Currency_Codes
+
+Currency codes for the Locale::Codes::Currency module
+
+=item Locale::Codes::Currency_Retired
+
+Retired currency codes for the Locale::Codes::Currency module
+
+=item Locale::Codes::LangExt
+
+Standard codes for language extension identification
+
+=item Locale::Codes::LangExt_Codes
+
+Langext codes for the Locale::Codes::LangExt module
+
+=item Locale::Codes::LangExt_Retired
+
+Retired langext codes for the Locale::Codes::LangExt module
+
+=item Locale::Codes::LangFam
+
+Standard codes for language extension identification
+
+=item Locale::Codes::LangFam_Codes
+
+Langfam codes for the Locale::Codes::LangFam module
+
+=item Locale::Codes::LangFam_Retired
+
+Retired langfam codes for the Locale::Codes::LangFam module
+
+=item Locale::Codes::LangVar
+
+Standard codes for language variation identification
+
+=item Locale::Codes::LangVar_Codes
+
+Langvar codes for the Locale::Codes::LangVar module
+
+=item Locale::Codes::LangVar_Retired
+
+Retired langvar codes for the Locale::Codes::LangVar module
=item Locale::Codes::Language
-Language codes for the Locale::Language module
+Standard codes for language identification
+
+=item Locale::Codes::Language_Codes
+
+Language codes for the Locale::Codes::Language module
+
+=item Locale::Codes::Language_Retired
+
+Retired language codes for the Locale::Codes::Language module
=item Locale::Codes::Script
-Script codes for the Locale::Script module
+Standard codes for script identification
-=item Locale::Constants
+=item Locale::Codes::Script_Codes
-Constants for Locale codes
+Script codes for the Locale::Codes::Script module
+
+=item Locale::Codes::Script_Retired
+
+Retired script codes for the Locale::Codes::Script module
=item Locale::Country
@@ -1597,6 +1878,10 @@ On demand loader for PerlIO layers and root of PerlIO::* name space
Encoding layer
+=item PerlIO::mmap
+
+Memory mapped IO
+
=item PerlIO::scalar
In-memory IO, scalar IO
@@ -1665,6 +1950,10 @@ Base for Pod::Perldoc formatters
Customized option parser for Pod::Perldoc
+=item Pod::Perldoc::ToANSI
+
+Render Pod with ANSI color escapes
+
=item Pod::Perldoc::ToChecker
Let Perldoc check Pod for errors
@@ -1685,6 +1974,10 @@ Let Perldoc render Pod as ... Pod!
Let Perldoc render Pod as RTF
+=item Pod::Perldoc::ToTerm
+
+Render Pod with terminal escapes
+
=item Pod::Perldoc::ToText
Let Perldoc render Pod as plaintext
@@ -1823,7 +2116,7 @@ A selection of general-utility scalar subroutines
=item Search::Dict
-Search for key in dictionary file
+Look - search for key in dictionary file
=item SelectSaver
@@ -1833,14 +2126,6 @@ Save and restore selected file handle
Load functions only on demand
-=item Shell
-
-Run shell commands transparently within perl
-
-=item Socket
-
-Load the C socket.h defines and structure manipulators
-
=item Storable
Persistence for Perl data structures
@@ -2053,6 +2338,10 @@ Perl interface to various C<readline> packages.
Term::ReadLine UI made easy
+=item Term::UI::History
+
+History function
+
=item Test
Provides a simple framework for writing test scripts
@@ -2091,7 +2380,7 @@ A tutorial about writing really basic tests
=item Text::Abbrev
-Create an abbreviation table from a list
+Abbrev - create an abbreviation table from a list
=item Text::Balanced
@@ -2285,6 +2574,7 @@ Dynamically load C libraries into Perl code
Perl extension for Version Objects
+
=back
To find out I<all> modules installed on your system, including
@@ -2442,17 +2732,20 @@ European and the South American sites.
Registered CPAN sites
+=for maintainers
+Generated by Porting/make_modlib_cpan.pl
+
=head2 Africa
=over 4
=item South Africa
- http://cpan.mirror.ac.za/
- ftp://cpan.mirror.ac.za/
- http://mirror.is.co.za/pub/cpan/
- ftp://ftp.is.co.za/pub/cpan/
- ftp://ftp.saix.net/pub/CPAN/
+ http://cpan.mirror.ac.za/
+ ftp://cpan.mirror.ac.za/
+ http://mirror.is.co.za/pub/cpan/
+ ftp://ftp.is.co.za/pub/cpan/
+ ftp://ftp.saix.net/pub/CPAN/
=back
@@ -2460,97 +2753,92 @@ Registered CPAN sites
=over 4
+=item China
+
+ http://cpan.wenzk.com/
+
=item Hong Kong
- http://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
- ftp://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
- http://mirrors.geoexpat.com/cpan/
+ http://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
+ ftp://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
+ http://mirrors.geoexpat.com/cpan/
=item India
- http://perlmirror.indialinks.com/
+ http://perlmirror.indialinks.com/
=item Indonesia
- http://cpan.biz.net.id/
- http://komo.vlsm.org/CPAN/
- ftp://komo.vlsm.org/CPAN/
- http://cpan.pesat.net.id/
- http://mirror.unej.ac.id/cpan/
- ftp://mirror.unej.ac.id/cpan/
+ http://cpan.biz.net.id/
+ http://komo.vlsm.org/CPAN/
+ ftp://komo.vlsm.org/CPAN/
+ http://cpan.cermin.lipi.go.id/
+ ftp://cermin.lipi.go.id/pub/CPAN/
+ http://cpan.pesat.net.id/
=item Japan
- ftp://ftp.u-aizu.ac.jp/pub/CPAN
- ftp://ftp.kddilabs.jp/CPAN/
- http://ftp.nara.wide.ad.jp/pub/CPAN/
- ftp://ftp.nara.wide.ad.jp/pub/CPAN/
- http://ftp.jaist.ac.jp/pub/CPAN/
- ftp://ftp.jaist.ac.jp/pub/CPAN/
- ftp://ftp.dti.ad.jp/pub/lang/CPAN/
- ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
- http://ftp.riken.jp/lang/CPAN/
- ftp://ftp.riken.jp/lang/CPAN/
- http://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
- ftp://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
-
-=item Kazakhstan
-
- http://mirror.linuxiso.kz/CPAN/
+ ftp://ftp.u-aizu.ac.jp/pub/CPAN
+ ftp://ftp.kddilabs.jp/CPAN/
+ http://ftp.nara.wide.ad.jp/pub/CPAN/
+ ftp://ftp.nara.wide.ad.jp/pub/CPAN/
+ http://ftp.jaist.ac.jp/pub/CPAN/
+ ftp://ftp.jaist.ac.jp/pub/CPAN/
+ ftp://ftp.dti.ad.jp/pub/lang/CPAN/
+ ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
+ http://ftp.riken.jp/lang/CPAN/
+ ftp://ftp.riken.jp/lang/CPAN/
+ http://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
+ ftp://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
=item Republic of Korea
- http://ftp.kaist.ac.kr/pub/CPAN
- ftp://ftp.kaist.ac.kr/pub/CPAN
- http://cpan.mirror.cdnetworks.com/
- ftp://cpan.mirror.cdnetworks.com/CPAN/
- http://cpan.sarang.net/
- ftp://cpan.sarang.net/CPAN/
+ http://ftp.kaist.ac.kr/pub/CPAN
+ ftp://ftp.kaist.ac.kr/pub/CPAN
+ http://cpan.mirror.cdnetworks.com/
+ ftp://cpan.mirror.cdnetworks.com/CPAN/
+ http://cpan.sarang.net/
+ ftp://cpan.sarang.net/CPAN/
=item Russia
- http://cpan.tomsk.ru/
- ftp://cpan.tomsk.ru/
+ http://cpan.tomsk.ru/
+ ftp://cpan.tomsk.ru/
=item Singapore
- http://mirror.averse.net/pub/CPAN
- ftp://mirror.averse.net/pub/CPAN
- http://cpan.mirror.choon.net/
- http://cpan.oss.eznetsols.org
- ftp://ftp.oss.eznetsols.org/cpan
+ http://mirror.averse.net/pub/CPAN
+ ftp://mirror.averse.net/pub/CPAN
+ http://cpan.mirror.choon.net/
+ http://cpan.oss.eznetsols.org
+ ftp://ftp.oss.eznetsols.org/cpan
=item Taiwan
- http://ftp.cse.yzu.edu.tw/pub/CPAN/
- ftp://ftp.cse.yzu.edu.tw/pub/CPAN/
- http://cpan.nctu.edu.tw/
- ftp://cpan.nctu.edu.tw/
- ftp://ftp.ncu.edu.tw/CPAN/
- http://cpan.cdpa.nsysu.edu.tw/
- ftp://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/
- http://cpan.stu.edu.tw
- ftp://ftp.stu.edu.tw/CPAN
- http://ftp.stu.edu.tw/CPAN
- ftp://ftp.stu.edu.tw/pub/CPAN
- http://cpan.cs.pu.edu.tw/
- ftp://cpan.cs.pu.edu.tw/pub/CPAN
+ http://ftp.cse.yzu.edu.tw/pub/CPAN/
+ ftp://ftp.cse.yzu.edu.tw/pub/CPAN/
+ http://cpan.nctu.edu.tw/
+ ftp://cpan.nctu.edu.tw/
+ ftp://ftp.ncu.edu.tw/CPAN/
+ http://cpan.cdpa.nsysu.edu.tw/
+ ftp://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/
+ http://cpan.stu.edu.tw
+ ftp://ftp.stu.edu.tw/CPAN
+ http://ftp.stu.edu.tw/CPAN
+ ftp://ftp.stu.edu.tw/pub/CPAN
+ http://cpan.cs.pu.edu.tw/
+ ftp://cpan.cs.pu.edu.tw/pub/CPAN
=item Thailand
- http://mirrors.issp.co.th/cpan/
- ftp://mirrors.issp.co.th/cpan/
+ http://mirrors.issp.co.th/cpan/
+ ftp://mirrors.issp.co.th/cpan/
+ http://mirror.yourconnect.com/CPAN/
+ ftp://mirror.yourconnect.com/CPAN/
=item Turkey
- http://cpan.gazi.edu.tr/
- http://cpan.ulak.net.tr
- ftp://ftp.ulak.net.tr/pub/CPAN
-
-=item Viet Nam
-
- http://mirror-fpt-telecom.fpt.net/cpan/
- ftp://mirror-fpt-telecom.fpt.net/cpan/
+ http://cpan.gazi.edu.tr/
=back
@@ -2560,8 +2848,8 @@ Registered CPAN sites
=item Costa Rica
- http://mirrors.ucr.ac.cr/CPAN/
- ftp://mirrors.ucr.ac.cr/CPAN/
+ http://mirrors.ucr.ac.cr/CPAN/
+ ftp://mirrors.ucr.ac.cr/CPAN/
=back
@@ -2571,284 +2859,274 @@ Registered CPAN sites
=item Austria
- http://cpan.inode.at/
- ftp://cpan.inode.at
- http://gd.tuwien.ac.at/languages/perl/CPAN/
- ftp://gd.tuwien.ac.at/pub/CPAN/
+ http://cpan.inode.at/
+ ftp://cpan.inode.at
+ http://gd.tuwien.ac.at/languages/perl/CPAN/
+ ftp://gd.tuwien.ac.at/pub/CPAN/
=item Belgium
- http://ftp.belnet.be/mirror/ftp.cpan.org/
- ftp://ftp.belnet.be/mirror/ftp.cpan.org/
- http://ftp.easynet.be/pub/CPAN/
- http://cpan.weepee.org/
- http://cpan.fluoline.net/
+ http://ftp.belnet.be/mirror/ftp.cpan.org/
+ ftp://ftp.belnet.be/mirror/ftp.cpan.org/
+ http://ftp.easynet.be/pub/CPAN/
+ http://cpan.weepee.org/
=item Bosnia and Herzegovina
- http://cpan.blic.net/
+ http://cpan.blic.net/
=item Bulgaria
- http://cpan.cbox.biz/
- ftp://cpan.cbox.biz/cpan/
- http://cpan.digsys.bg/
- ftp://ftp.digsys.bg/pub/CPAN
+ http://cpan.cbox.biz/
+ ftp://cpan.cbox.biz/cpan/
+ http://cpan.digsys.bg/
+ ftp://ftp.digsys.bg/pub/CPAN
=item Croatia
- http://ftp.carnet.hr/pub/CPAN/
- ftp://ftp.carnet.hr/pub/CPAN/
+ http://ftp.carnet.hr/pub/CPAN/
+ ftp://ftp.carnet.hr/pub/CPAN/
=item Czech Republic
- ftp://ftp.fi.muni.cz/pub/CPAN/
- http://archive.cpan.cz/
+ ftp://ftp.fi.muni.cz/pub/CPAN/
+ http://archive.cpan.cz/
=item Denmark
- http://mirrors.dotsrc.org/cpan
- ftp://mirrors.dotsrc.org/cpan/
- http://www.cpan.dk/
- http://mirror.uni-c.dk/pub/CPAN/
+ http://mirrors.dotsrc.org/cpan
+ ftp://mirrors.dotsrc.org/cpan/
+ http://www.cpan.dk/
+ http://mirror.uni-c.dk/pub/CPAN/
=item Finland
- ftp://ftp.funet.fi/pub/languages/perl/CPAN/
- http://mirror.eunet.fi/CPAN
+ ftp://ftp.funet.fi/pub/languages/perl/CPAN/
+ http://mirror.eunet.fi/CPAN
=item France
- http://cpan.enstimac.fr/
- ftp://ftp.inria.fr/pub/CPAN/
- http://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
- ftp://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
- ftp://ftp.lip6.fr/pub/perl/CPAN/
- http://mir2.ovh.net/ftp.cpan.org
- ftp://mir1.ovh.net/ftp.cpan.org
- http://cpan.miroir-francais.fr/
- ftp://miroir-francais.fr/pub/cpan/
- ftp://ftp.oleane.net/pub/CPAN/
- http://ftp.crihan.fr/mirrors/ftp.cpan.org/
- ftp://ftp.crihan.fr/mirrors/ftp.cpan.org/
- http://ftp.u-strasbg.fr/CPAN
- ftp://ftp.u-strasbg.fr/CPAN
- http://cpan.cict.fr/
- ftp://cpan.cict.fr/pub/CPAN/
+ http://cpan.enstimac.fr/
+ ftp://ftp.inria.fr/pub/CPAN/
+ http://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
+ ftp://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
+ ftp://ftp.lip6.fr/pub/perl/CPAN/
+ http://mir2.ovh.net/ftp.cpan.org
+ ftp://mir1.ovh.net/ftp.cpan.org
+ ftp://ftp.oleane.net/pub/CPAN/
+ http://ftp.crihan.fr/mirrors/ftp.cpan.org/
+ ftp://ftp.crihan.fr/mirrors/ftp.cpan.org/
+ http://ftp.u-strasbg.fr/CPAN
+ ftp://ftp.u-strasbg.fr/CPAN
+ http://cpan.cict.fr/
+ ftp://cpan.cict.fr/pub/CPAN/
=item Germany
- ftp://ftp.fu-berlin.de/unix/languages/perl/
- http://mirrors.softliste.de/cpan/
- ftp://ftp.rub.de/pub/CPAN/
- http://www.planet-elektronik.de/CPAN/
- http://ftp.hosteurope.de/pub/CPAN/
- ftp://ftp.hosteurope.de/pub/CPAN/
- http://www.mirrorspace.org/cpan/
- http://mirror.netcologne.de/cpan/
- ftp://mirror.netcologne.de/cpan/
- ftp://ftp.freenet.de/pub/ftp.cpan.org/pub/CPAN/
- http://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/
- ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/
- http://mirrors.zerg.biz/cpan/
- http://ftp.gwdg.de/pub/languages/perl/CPAN/
- ftp://ftp.gwdg.de/pub/languages/perl/CPAN/
- http://dl.ambiweb.de/mirrors/ftp.cpan.org/
- http://cpan.mirror.clusters.kg/
- http://cpan.mirror.iphh.net/
- ftp://cpan.mirror.iphh.net/pub/CPAN/
- http://cpan.mirroring.de/
- http://mirror.informatik.uni-mannheim.de/pub/mirrors/CPAN/
- ftp://mirror.informatik.uni-mannheim.de/pub/mirrors/CPAN/
- http://ftp.cw.net/pub/CPAN/
- ftp://ftp.cw.net/pub/CPAN/
- http://cpan.cpantesters.org/
- ftp://cpan.cpantesters.org/CPAN/
- http://cpan.mirrored.de/
- ftp://mirror.petamem.com/CPAN/
- http://cpan.noris.de/
- ftp://cpan.noris.de/pub/CPAN/
- ftp://ftp.mpi-sb.mpg.de/pub/perl/CPAN/
- ftp://ftp.gmd.de/mirrors/CPAN/
+ ftp://ftp.fu-berlin.de/unix/languages/perl/
+ http://mirrors.softliste.de/cpan/
+ ftp://ftp.rub.de/pub/CPAN/
+ http://www.planet-elektronik.de/CPAN/
+ http://ftp.hosteurope.de/pub/CPAN/
+ ftp://ftp.hosteurope.de/pub/CPAN/
+ http://www.mirrorspace.org/cpan/
+ http://mirror.netcologne.de/cpan/
+ ftp://mirror.netcologne.de/cpan/
+ ftp://ftp.freenet.de/pub/ftp.cpan.org/pub/CPAN/
+ http://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/
+ ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/
+ http://mirrors.zerg.biz/cpan/
+ http://ftp.gwdg.de/pub/languages/perl/CPAN/
+ ftp://ftp.gwdg.de/pub/languages/perl/CPAN/
+ http://dl.ambiweb.de/mirrors/ftp.cpan.org/
+ http://cpan.mirror.clusters.kg/
+ http://cpan.mirror.iphh.net/
+ ftp://cpan.mirror.iphh.net/pub/CPAN/
+ http://cpan.mirroring.de/
+ http://mirror.informatik.uni-mannheim.de/pub/mirrors/CPAN/
+ ftp://mirror.informatik.uni-mannheim.de/pub/mirrors/CPAN/
+ http://www.chemmedia.de/mirrors/CPAN/
+ http://ftp.cw.net/pub/CPAN/
+ ftp://ftp.cw.net/pub/CPAN/
+ http://cpan.cpantesters.org/
+ ftp://cpan.cpantesters.org/CPAN/
+ http://cpan.mirrored.de/
+ ftp://mirror.petamem.com/CPAN/
+ http://cpan.noris.de/
+ ftp://cpan.noris.de/pub/CPAN/
+ ftp://ftp.mpi-sb.mpg.de/pub/perl/CPAN/
+ ftp://ftp.gmd.de/mirrors/CPAN/
=item Greece
- ftp://ftp.forthnet.gr/pub/languages/perl/CPAN
- ftp://ftp.ntua.gr/pub/lang/perl/
- http://cpan.cc.uoc.gr/
- ftp://ftp.cc.uoc.gr/mirrors/CPAN/
+ ftp://ftp.forthnet.gr/pub/languages/perl/CPAN
+ ftp://ftp.ntua.gr/pub/lang/perl/
+ http://cpan.cc.uoc.gr/
+ ftp://ftp.cc.uoc.gr/mirrors/CPAN/
=item Hungary
- http://cpan.mirrors.enexis.hu/
- ftp://cpan.mirrors.enexis.hu/mirrors/cpan/
- http://cpan.hu/
+ http://cpan.mirrors.enexis.hu/
+ ftp://cpan.mirrors.enexis.hu/mirrors/cpan/
+ http://cpan.hu/
=item Iceland
- http://ftp.rhnet.is/pub/CPAN/
- ftp://ftp.rhnet.is/pub/CPAN/
+ http://ftp.rhnet.is/pub/CPAN/
+ ftp://ftp.rhnet.is/pub/CPAN/
=item Ireland
- http://ftp.esat.net/pub/languages/perl/CPAN/
- ftp://ftp.esat.net/pub/languages/perl/CPAN/
- http://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
- ftp://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
+ http://ftp.esat.net/pub/languages/perl/CPAN/
+ ftp://ftp.esat.net/pub/languages/perl/CPAN/
+ http://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
+ ftp://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
=item Italy
- http://bo.mirror.garr.it/mirrors/CPAN/
- http://cpan.panu.it/
- ftp://ftp.panu.it/pub/mirrors/perl/CPAN/
- http://cpan.fastbull.org/
+ http://bo.mirror.garr.it/mirrors/CPAN/
+ http://cpan.panu.it/
+ ftp://ftp.panu.it/pub/mirrors/perl/CPAN/
=item Latvia
- http://kvin.lv/pub/CPAN/
+ http://kvin.lv/pub/CPAN/
=item Lithuania
- http://ftp.litnet.lt/pub/CPAN/
- ftp://ftp.litnet.lt/pub/CPAN/
+ http://ftp.litnet.lt/pub/CPAN/
+ ftp://ftp.litnet.lt/pub/CPAN/
=item Malta
- http://cpan.waldonet.net.mt/
+ http://cpan.waldonet.net.mt/
=item Netherlands
- ftp://ftp.quicknet.nl/pub/CPAN/
- http://mirror.hostfuss.com/CPAN/
- ftp://mirror.hostfuss.com/CPAN/
- http://mirrors3.kernel.org/cpan/
- ftp://mirrors3.kernel.org/pub/CPAN/
- http://cpan.osmirror.nl/
- ftp://ftp.osmirror.nl/pub/cpan/
- http://cpan.mirror.versatel.nl/
- ftp://ftp.mirror.versatel.nl/cpan/
- ftp://download.xs4all.nl/pub/mirror/CPAN/
- http://mirror.leaseweb.com/CPAN/
- ftp://mirror.leaseweb.com/CPAN/
- ftp://ftp.cpan.nl/pub/CPAN/
- http://archive.cs.uu.nl/mirror/CPAN/
- ftp://ftp.cs.uu.nl/mirror/CPAN/
- http://https://luxitude.net/cpan/
+ ftp://ftp.quicknet.nl/pub/CPAN/
+ http://mirror.hostfuss.com/CPAN/
+ ftp://mirror.hostfuss.com/CPAN/
+ http://mirrors3.kernel.org/cpan/
+ ftp://mirrors3.kernel.org/pub/CPAN/
+ http://cpan.mirror.versatel.nl/
+ ftp://ftp.mirror.versatel.nl/cpan/
+ ftp://download.xs4all.nl/pub/mirror/CPAN/
+ http://mirror.leaseweb.com/CPAN/
+ ftp://mirror.leaseweb.com/CPAN/
+ ftp://ftp.cpan.nl/pub/CPAN/
+ http://archive.cs.uu.nl/mirror/CPAN/
+ ftp://ftp.cs.uu.nl/mirror/CPAN/
+ http://luxitude.net/cpan/
=item Norway
- ftp://ftp.uninett.no/pub/languages/perl/CPAN
- ftp://ftp.uit.no/pub/languages/perl/cpan/
+ ftp://ftp.uninett.no/pub/languages/perl/CPAN
+ ftp://ftp.uit.no/pub/languages/perl/cpan/
=item Poland
- http://mirror.icis.pcz.pl/CPAN/
- ftp://mirror.icis.pcz.pl/CPAN/
- http://piotrkosoft.net/pub/mirrors/CPAN/
- ftp://ftp.piotrkosoft.net/pub/mirrors/CPAN/
- http://ftp.man.poznan.pl/pub/CPAN
- ftp://ftp.man.poznan.pl/pub/CPAN
- ftp://sunsite.icm.edu.pl/pub/CPAN/
- ftp://ftp.tpnet.pl/d4/CPAN/
+ http://piotrkosoft.net/pub/mirrors/CPAN/
+ ftp://ftp.piotrkosoft.net/pub/mirrors/CPAN/
+ http://ftp.man.poznan.pl/pub/CPAN
+ ftp://ftp.man.poznan.pl/pub/CPAN
+ ftp://ftp.ps.pl/pub/CPAN/
+ ftp://sunsite.icm.edu.pl/pub/CPAN/
+ ftp://ftp.tpnet.pl/d4/CPAN/
=item Portugal
- http://cpan.dei.uc.pt/
- ftp://ftp.dei.uc.pt/pub/CPAN
- ftp://ftp.ist.utl.pt/pub/CPAN/
- http://cpan.perl.pt/
- http://cpan.ip.pt/
- ftp://cpan.ip.pt/pub/cpan/
- http://mirrors.nfsi.pt/CPAN/
- ftp://mirrors.nfsi.pt/pub/CPAN/
- http://cpan.dcc.fc.up.pt/
+ http://cpan.dei.uc.pt/
+ ftp://ftp.dei.uc.pt/pub/CPAN
+ ftp://ftp.ist.utl.pt/pub/CPAN/
+ http://cpan.perl.pt/
+ http://cpan.ip.pt/
+ ftp://cpan.ip.pt/pub/cpan/
+ http://mirrors.nfsi.pt/CPAN/
+ ftp://mirrors.nfsi.pt/pub/CPAN/
+ http://cpan.dcc.fc.up.pt/
=item Romania
- http://ftp.astral.ro/pub/CPAN/
- ftp://ftp.astral.ro/pub/CPAN/
- ftp://ftp.lug.ro/CPAN
- http://mirrors.xservers.ro/CPAN/
- http://mirrors.hostingromania.ro/ftp.cpan.org/
- ftp://ftp.hostingromania.ro/mirrors/ftp.cpan.org/
- ftp://ftp.iasi.roedu.net/pub/mirrors/ftp.cpan.org/
- ftp://ftp.ambra.ro/pub/CPAN
+ http://ftp.astral.ro/pub/CPAN/
+ ftp://ftp.astral.ro/pub/CPAN/
+ ftp://ftp.lug.ro/CPAN
+ http://mirrors.xservers.ro/CPAN/
+ http://mirrors.hostingromania.ro/ftp.cpan.org/
+ ftp://ftp.hostingromania.ro/mirrors/ftp.cpan.org/
+ ftp://ftp.iasi.roedu.net/pub/mirrors/ftp.cpan.org/
=item Russia
- ftp://ftp.aha.ru/CPAN/
- http://cpan.rinet.ru/
- ftp://cpan.rinet.ru/pub/mirror/CPAN/
- ftp://ftp.SpringDaemons.com/pub/CPAN/
- http://cpan.nx1.ru/
- ftp://cpan.nx1.ru/
- http://mirror.rol.ru/CPAN/
- http://ftp.silvernet.ru/CPAN/
- http://ftp.spbu.ru/CPAN/
- ftp://ftp.spbu.ru/CPAN/
+ ftp://ftp.aha.ru/CPAN/
+ http://cpan.rinet.ru/
+ ftp://cpan.rinet.ru/pub/mirror/CPAN/
+ ftp://ftp.SpringDaemons.com/pub/CPAN/
+ http://mirror.rol.ru/CPAN/
+ http://ftp.silvernet.ru/CPAN/
+ http://ftp.spbu.ru/CPAN/
+ ftp://ftp.spbu.ru/CPAN/
=item Slovakia
- http://cpan.fyxm.net/
+ http://cpan.fyxm.net/
=item Slovenia
- http://www.klevze.si/cpan
+ http://www.klevze.si/cpan
=item Spain
- http://osl.ugr.es/CPAN/
- ftp://ftp.rediris.es/mirror/CPAN/
- http://ftp.gui.uva.es/sites/cpan.org/
- ftp://ftp.gui.uva.es/sites/cpan.org/
+ http://osl.ugr.es/CPAN/
+ ftp://ftp.rediris.es/mirror/CPAN/
+ http://ftp.gui.uva.es/sites/cpan.org/
+ ftp://ftp.gui.uva.es/sites/cpan.org/
=item Sweden
- http://mirrors4.kernel.org/cpan/
- ftp://mirrors4.kernel.org/pub/CPAN/
+ http://mirrors4.kernel.org/cpan/
+ ftp://mirrors4.kernel.org/pub/CPAN/
=item Switzerland
- http://cpan.mirror.solnet.ch/
- ftp://ftp.solnet.ch/mirror/CPAN/
- http://mirror.switch.ch/ftp/mirror/CPAN/
- ftp://mirror.switch.ch/mirror/CPAN/
+ http://cpan.mirror.solnet.ch/
+ ftp://ftp.solnet.ch/mirror/CPAN/
+ ftp://ftp.adwired.ch/CPAN/
+ http://mirror.switch.ch/ftp/mirror/CPAN/
+ ftp://mirror.switch.ch/mirror/CPAN/
=item Ukraine
- http://cpan.makeperl.org/
- ftp://cpan.makeperl.org/pub/CPAN
- http://cpan.org.ua/
- http://no-more.kiev.ua/CPAN/
- ftp://no-more.kiev.ua/pub/CPAN/
- http://cpan.gafol.net/
- ftp://ftp.gafol.net/pub/cpan/
+ http://cpan.makeperl.org/
+ ftp://cpan.makeperl.org/pub/CPAN
+ http://cpan.org.ua/
+ http://cpan.gafol.net/
+ ftp://ftp.gafol.net/pub/cpan/
=item United Kingdom
- http://www.mirrorservice.org/sites/ftp.funet.fi/pub/languages/perl/CPAN/
- ftp://ftp.mirrorservice.org/sites/ftp.funet.fi/pub/languages/perl/CPAN/
- http://mirror.tje.me.uk/pub/mirrors/ftp.cpan.org/
- ftp://mirror.tje.me.uk/pub/mirrors/ftp.cpan.org/
- http://www.mirror.8086.net/sites/CPAN/
- ftp://ftp.mirror.8086.net/sites/CPAN/
- http://cpan.mirror.anlx.net/
- ftp://ftp.mirror.anlx.net/CPAN/
- http://mirror.bytemark.co.uk/CPAN/
- ftp://mirror.bytemark.co.uk/CPAN/
- http://cpan.etla.org/
- ftp://cpan.etla.org/pub/CPAN
- ftp://ftp.demon.co.uk/pub/CPAN/
- http://mirror.sov.uk.goscomb.net/CPAN/
- ftp://mirror.sov.uk.goscomb.net/pub/CPAN/
- http://ftp.plig.net/pub/CPAN/
- ftp://ftp.plig.net/pub/CPAN/
- http://ftp.ticklers.org/pub/CPAN/
- ftp://ftp.ticklers.org/pub/CPAN/
- http://cpan.mirrors.uk2.net/
- ftp://mirrors.uk2.net/pub/CPAN/
- http://mirror.ox.ac.uk/sites/www.cpan.org/
- ftp://mirror.ox.ac.uk/sites/www.cpan.org/
+ http://www.mirrorservice.org/sites/ftp.funet.fi/pub/languages/perl/CPAN/
+ ftp://ftp.mirrorservice.org/sites/ftp.funet.fi/pub/languages/perl/CPAN/
+ http://mirror.tje.me.uk/pub/mirrors/ftp.cpan.org/
+ ftp://mirror.tje.me.uk/pub/mirrors/ftp.cpan.org/
+ http://www.mirror.8086.net/sites/CPAN/
+ ftp://ftp.mirror.8086.net/sites/CPAN/
+ http://cpan.mirror.anlx.net/
+ ftp://ftp.mirror.anlx.net/CPAN/
+ http://mirror.bytemark.co.uk/CPAN/
+ ftp://mirror.bytemark.co.uk/CPAN/
+ http://cpan.etla.org/
+ ftp://cpan.etla.org/pub/CPAN
+ ftp://ftp.demon.co.uk/pub/CPAN/
+ http://mirror.sov.uk.goscomb.net/CPAN/
+ ftp://mirror.sov.uk.goscomb.net/pub/CPAN/
+ http://ftp.plig.net/pub/CPAN/
+ ftp://ftp.plig.net/pub/CPAN/
+ http://ftp.ticklers.org/pub/CPAN/
+ ftp://ftp.ticklers.org/pub/CPAN/
+ http://cpan.mirrors.uk2.net/
+ ftp://mirrors.uk2.net/pub/CPAN/
+ http://mirror.ox.ac.uk/sites/www.cpan.org/
+ ftp://mirror.ox.ac.uk/sites/www.cpan.org/
=back
@@ -2858,30 +3136,28 @@ Registered CPAN sites
=item Bahamas
- http://www.securehost.com/mirror/CPAN/
+ http://www.securehost.com/mirror/CPAN/
=item Canada
- http://cpan.justanotherperlhacker.com/pub/CPAN/
- ftp://cpan.justanotherperlhacker.com/pub/CPAN/
- http://cpan.arcticnetwork.ca
- ftp://mirror.arcticnetwork.ca/pub/CPAN
- http://cpan.sunsite.ualberta.ca/
- ftp://cpan.sunsite.ualberta.ca/pub/CPAN/
- http://theoryx5.uwinnipeg.ca/pub/CPAN/
- ftp://theoryx5.uwinnipeg.ca/pub/CPAN/
- http://arwen.cs.dal.ca/mirror/CPAN/
- ftp://arwen.cs.dal.ca/pub/mirror/CPAN/
- http://CPAN.mirror.rafal.ca/
- ftp://CPAN.mirror.rafal.ca/pub/CPAN/
- ftp://ftp.nrc.ca/pub/CPAN/
- http://mirror.csclub.uwaterloo.ca/pub/CPAN/
- ftp://mirror.csclub.uwaterloo.ca/pub/CPAN/
+ http://cpan.arcticnetwork.ca
+ ftp://mirror.arcticnetwork.ca/pub/CPAN
+ http://cpan.sunsite.ualberta.ca/
+ ftp://cpan.sunsite.ualberta.ca/pub/CPAN/
+ http://theoryx5.uwinnipeg.ca/pub/CPAN/
+ ftp://theoryx5.uwinnipeg.ca/pub/CPAN/
+ http://arwen.cs.dal.ca/mirror/CPAN/
+ ftp://arwen.cs.dal.ca/pub/mirror/CPAN/
+ http://CPAN.mirror.rafal.ca/
+ ftp://CPAN.mirror.rafal.ca/pub/CPAN/
+ ftp://ftp.nrc.ca/pub/CPAN/
+ http://mirror.csclub.uwaterloo.ca/pub/CPAN/
+ ftp://mirror.csclub.uwaterloo.ca/pub/CPAN/
=item Mexico
- http://www.msg.com.mx/CPAN/
- ftp://ftp.msg.com.mx/pub/CPAN/
+ http://www.msg.com.mx/CPAN/
+ ftp://ftp.msg.com.mx/pub/CPAN/
=item United States
@@ -2889,150 +3165,145 @@ Registered CPAN sites
=item Alabama
- http://mirror.hiwaay.net/CPAN/
- ftp://mirror.hiwaay.net/CPAN/
+ http://mirror.hiwaay.net/CPAN/
+ ftp://mirror.hiwaay.net/CPAN/
+
+=item Arizona
+
+ http://cpan.ezarticleinformation.com/
=item California
- http://cpan.knowledgematters.net/
- http://cpan.binkerton.com/
- http://cpan.develooper.com/
- http://mirrors.gossamer-threads.com/CPAN
- http://cpan.schatt.com/
- http://mirrors.kernel.org/cpan/
- ftp://mirrors.kernel.org/pub/CPAN
- http://mirrors2.kernel.org/cpan/
- ftp://mirrors2.kernel.org/pub/CPAN/
- http://cpan.mirrors.redwire.net/
- http://cpan.mirror.facebook.net/
- http://mirrors1.kernel.org/cpan/
- ftp://mirrors1.kernel.org/pub/CPAN/
- http://cpan-sj.viaverio.com/
- ftp://cpan-sj.viaverio.com/pub/CPAN/
- http://www.perl.com/CPAN/
- http://cpan.yahoo.com/
+ http://cpan.knowledgematters.net/
+ http://cpan.binkerton.com/
+ http://cpan.develooper.com/
+ http://mirrors.gossamer-threads.com/CPAN
+ http://cpan.schatt.com/
+ http://mirrors.kernel.org/cpan/
+ ftp://mirrors.kernel.org/pub/CPAN
+ http://mirrors2.kernel.org/cpan/
+ ftp://mirrors2.kernel.org/pub/CPAN/
+ http://cpan.mirror.facebook.net/
+ http://mirrors1.kernel.org/cpan/
+ ftp://mirrors1.kernel.org/pub/CPAN/
+ http://cpan-sj.viaverio.com/
+ ftp://cpan-sj.viaverio.com/pub/CPAN/
+ http://www.perl.com/CPAN/
=item Florida
- ftp://ftp.cise.ufl.edu/pub/mirrors/CPAN/
- http://mirror.atlantic.net/pub/CPAN/
- ftp://mirror.atlantic.net/pub/CPAN/
- http://mirror.candidhosting.com/pub/CPAN
- ftp://mirror.candidhosting.com/pub/CPAN
+ ftp://ftp.cise.ufl.edu/pub/mirrors/CPAN/
+ http://mirror.atlantic.net/pub/CPAN/
+ ftp://mirror.atlantic.net/pub/CPAN/
=item Idaho
- http://mirror.its.uidaho.edu/pub/cpan/
- ftp://mirror.its.uidaho.edu/cpan/
+ http://mirror.its.uidaho.edu/pub/cpan/
+ ftp://mirror.its.uidaho.edu/cpan/
=item Illinois
- http://cpan.mirrors.hoobly.com/
- http://cpan.uchicago.edu/pub/CPAN/
- ftp://cpan.uchicago.edu/pub/CPAN/
- http://mirrors.servercentral.net/CPAN/
- http://www.stathy.com/CPAN/
- ftp://www.stathy.com/CPAN/
+ http://cpan.mirrors.hoobly.com/
+ http://cpan.uchicago.edu/pub/CPAN/
+ ftp://cpan.uchicago.edu/pub/CPAN/
+ http://mirrors.servercentral.net/CPAN/
+ http://www.stathy.com/CPAN/
+ ftp://www.stathy.com/CPAN/
=item Indiana
- ftp://ftp.uwsg.iu.edu/pub/perl/CPAN/
- http://cpan.netnitco.net/
- ftp://cpan.netnitco.net/pub/mirrors/CPAN/
- http://ftp.ndlug.nd.edu/pub/perl/
- ftp://ftp.ndlug.nd.edu/pub/perl/
- http://fx.saintjoe.edu/pub/CPAN
+ ftp://ftp.uwsg.iu.edu/pub/perl/CPAN/
+ http://cpan.netnitco.net/
+ ftp://cpan.netnitco.net/pub/mirrors/CPAN/
+ http://ftp.ndlug.nd.edu/pub/perl/
+ ftp://ftp.ndlug.nd.edu/pub/perl/
=item Massachusetts
- ftp://ftp.ccs.neu.edu/net/mirrors/ftp.funet.fi/pub/languages/perl/CPAN/
+ http://mirrors.ccs.neu.edu/CPAN/
=item Michigan
- http://ftp.wayne.edu/cpan/
- ftp://ftp.wayne.edu/cpan/
+ http://ftp.wayne.edu/cpan/
+ ftp://ftp.wayne.edu/cpan/
=item Minnesota
- http://cpan.msi.umn.edu/
+ http://cpan.msi.umn.edu/
=item New Jersey
- http://mirror.datapipe.net/CPAN/
- ftp://mirror.datapipe.net/pub/CPAN/
+ http://mirror.datapipe.net/CPAN/
+ ftp://mirror.datapipe.net/pub/CPAN/
=item New York
- http://mirrors.24-7-solutions.net/pub/CPAN/
- ftp://mirrors.24-7-solutions.net/pub/CPAN/
- http://mirror.cc.columbia.edu/pub/software/cpan/
- ftp://mirror.cc.columbia.edu/pub/software/cpan/
- http://cpan.belfry.net/
- http://cpan.erlbaum.net/
- ftp://cpan.erlbaum.net/CPAN/
- http://cpan.hexten.net/
- ftp://cpan.hexten.net/
- http://ftp.fxcorporate.com/CPAN/
- ftp://ftp.fxcorporate.com/pub/CPAN/
- ftp://mirror.nyi.net/CPAN/
- http://mirror.rit.edu/CPAN/
- ftp://mirror.rit.edu/CPAN/
+ http://mirrors.24-7-solutions.net/pub/CPAN/
+ ftp://mirrors.24-7-solutions.net/pub/CPAN/
+ http://mirror.cc.columbia.edu/pub/software/cpan/
+ ftp://mirror.cc.columbia.edu/pub/software/cpan/
+ http://cpan.belfry.net/
+ http://cpan.erlbaum.net/
+ ftp://cpan.erlbaum.net/CPAN/
+ http://cpan.hexten.net/
+ ftp://cpan.hexten.net/
+ ftp://mirror.nyi.net/CPAN/
+ http://mirror.rit.edu/CPAN/
+ ftp://mirror.rit.edu/CPAN/
=item North Carolina
- http://www.ibiblio.org/pub/mirrors/CPAN
- ftp://ftp.ncsu.edu/pub/mirror/CPAN/
+ http://www.ibiblio.org/pub/mirrors/CPAN
+ ftp://ftp.ncsu.edu/pub/mirror/CPAN/
=item Oregon
- http://ftp.osuosl.org/pub/CPAN/
- ftp://ftp.osuosl.org/pub/CPAN/
+ http://ftp.osuosl.org/pub/CPAN/
+ ftp://ftp.osuosl.org/pub/CPAN/
=item Pennsylvania
- http://ftp.epix.net/CPAN/
- ftp://ftp.epix.net/pub/languages/perl/
- http://cpan.pair.com/
- ftp://cpan.pair.com/pub/CPAN/
+ http://ftp.epix.net/CPAN/
+ ftp://ftp.epix.net/pub/languages/perl/
+ http://cpan.pair.com/
+ ftp://cpan.pair.com/pub/CPAN/
=item South Carolina
- http://cpan.mirror.clemson.edu/
+ http://cpan.mirror.clemson.edu/
=item Tennessee
- http://mira.sunsite.utk.edu/CPAN/
+ http://mira.sunsite.utk.edu/CPAN/
=item Texas
- http://mirror.uta.edu/CPAN
+ http://mirror.uta.edu/CPAN
=item Utah
- http://cpan.cs.utah.edu
- ftp://cpan.cs.utah.edu/pub/CPAN/
- ftp://mirror.xmission.com/CPAN/
+ ftp://mirror.xmission.com/CPAN/
=item Virginia
- http://cpan-du.viaverio.com/
- ftp://cpan-du.viaverio.com/pub/CPAN/
- http://perl.secsup.org/
- ftp://perl.secsup.org/pub/perl/
- ftp://mirror.cogentco.com/pub/CPAN/
+ http://cpan-du.viaverio.com/
+ ftp://cpan-du.viaverio.com/pub/CPAN/
+ http://perl.secsup.org/
+ ftp://perl.secsup.org/pub/perl/
+ ftp://mirror.cogentco.com/pub/CPAN/
=item Washington
- http://cpan.llarian.net/
- ftp://cpan.llarian.net/pub/CPAN/
- ftp://ftp-mirror.internap.com/pub/CPAN/
+ http://cpan.llarian.net/
+ ftp://cpan.llarian.net/pub/CPAN/
+ ftp://ftp-mirror.internap.com/pub/CPAN/
=item Wisconsin
- http://cpan.mirrors.tds.net
- ftp://cpan.mirrors.tds.net/pub/CPAN
- http://mirror.sit.wisc.edu/pub/CPAN/
- ftp://mirror.sit.wisc.edu/pub/CPAN/
+ http://cpan.mirrors.tds.net
+ ftp://cpan.mirrors.tds.net/pub/CPAN
+ http://mirror.sit.wisc.edu/pub/CPAN/
+ ftp://mirror.sit.wisc.edu/pub/CPAN/
=back
@@ -3044,19 +3315,19 @@ Registered CPAN sites
=item Australia
- http://mirror.internode.on.net/pub/cpan/
- ftp://mirror.internode.on.net/pub/cpan/
- http://cpan.mirror.aussiehq.net.au/
- http://mirror.as24220.net/cpan/
- ftp://mirror.as24220.net/cpan/
+ http://mirror.internode.on.net/pub/cpan/
+ ftp://mirror.internode.on.net/pub/cpan/
+ http://cpan.mirror.aussiehq.net.au/
+ http://mirror.as24220.net/cpan/
+ ftp://mirror.as24220.net/cpan/
=item New Zealand
- ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
- http://cpan.inspire.net.nz
- ftp://cpan.inspire.net.nz/cpan
- http://cpan.catalyst.net.nz/CPAN/
- ftp://cpan.catalyst.net.nz/pub/CPAN/
+ ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
+ http://cpan.inspire.net.nz
+ ftp://cpan.inspire.net.nz/cpan
+ http://cpan.catalyst.net.nz/CPAN/
+ ftp://cpan.catalyst.net.nz/pub/CPAN/
=back
@@ -3066,26 +3337,25 @@ Registered CPAN sites
=item Argentina
- http://cpan.patan.com.ar/
- http://cpan.localhost.net.ar
- ftp://mirrors.localhost.net.ar/pub/mirrors/CPAN
+ http://cpan.patan.com.ar/
+ http://cpan.localhost.net.ar
+ ftp://mirrors.localhost.net.ar/pub/mirrors/CPAN
=item Brazil
- ftp://cpan.pop-mg.com.br/pub/CPAN/
- http://ftp.pucpr.br/CPAN
- ftp://ftp.pucpr.br/CPAN
- http://cpan.kinghost.net/
- ftp://ftp.linorg.usp.br/CPAN
+ ftp://cpan.pop-mg.com.br/pub/CPAN/
+ http://ftp.pucpr.br/CPAN
+ ftp://ftp.pucpr.br/CPAN
+ http://cpan.kinghost.net/
=item Chile
- http://cpan.dcc.uchile.cl/
- ftp://cpan.dcc.uchile.cl/pub/lang/cpan/
+ http://cpan.dcc.uchile.cl/
+ ftp://cpan.dcc.uchile.cl/pub/lang/cpan/
=item Colombia
- http://www.laqee.unal.edu.co/CPAN/
+ http://www.laqee.unal.edu.co/CPAN/
=back
@@ -3188,7 +3458,7 @@ its methods by loading dynamic C or C++ objects, but that should be
totally transparent to the user of the module. Likewise, the module
might set up an AUTOLOAD function to slurp in subroutine definitions on
demand, but this is also transparent. Only the F<.pm> file is required to
-exist. See L<perlsub>, L<perltoot>, and L<AutoLoader> for details about
+exist. See L<perlsub>, L<perlobj>, and L<AutoLoader> for details about
the AUTOLOAD mechanism.
=head2 Guidelines for Module Creation
@@ -3248,7 +3518,7 @@ Let the objects look after themselves! Generally, avoid hard-wired
class names as far as possible.
Avoid C<< $r->Class::func() >> where using C<@ISA=qw(... Class ...)> and
-C<< $r->func() >> would work (see L<perlbot> for more details).
+C<< $r->func() >> would work.
Use autosplit so little used or newly added functions won't be a
burden to programs that don't use them. Add test functions to
@@ -3472,7 +3742,7 @@ Give the module a version/issue/release number.
To be fully compatible with the Exporter and MakeMaker modules you
should store your module's version number in a non-my package
-variable called $VERSION. This should be a floating point
+variable called $VERSION. This should be a positive floating point
number with at least two digits after the decimal (i.e., hundredths,
e.g, C<$VERSION = "0.01">). Don't use a "1.3.2" style version.
See L<Exporter> for details.
@@ -3647,3 +3917,4 @@ that a module doesn't pollute any namespace it wasn't asked to. The
written contract for the module (A.K.A. documentation) may make other
provisions. But then you know when you C<use RedefineTheWorld> that
you're redefining the world and willing to take the consequences.
+
diff --git a/Master/tlpkg/tlperl/lib/pods/perlmodstyle.pod b/Master/tlpkg/tlperl/lib/pods/perlmodstyle.pod
index dfe5662f942..df813a0f3dd 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlmodstyle.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlmodstyle.pod
@@ -254,55 +254,58 @@ Your module may be object oriented (OO) or not, or it may have both kinds
of interfaces available. There are pros and cons of each technique, which
should be considered when you design your API.
-According to Damian Conway, you should consider using OO:
+In I<Perl Best Practices> (copyright 2004, Published by O'Reilly Media, Inc.),
+Damian Conway provides a list of criteria to use when deciding if OO is the
+right fit for your problem:
=over 4
-=item *
+=item *
-When the system is large or likely to become so
+The system being designed is large, or is likely to become large.
-=item *
+=item *
-When the data is aggregated in obvious structures that will become objects
+The data can be aggregated into obvious structures, especially if
+there's a large amount of data in each aggregate.
-=item *
+=item *
-When the types of data form a natural hierarchy that can make use of inheritance
+The various types of data aggregate form a natural hierarchy that
+facilitates the use of inheritance and polymorphism.
=item *
-When operations on data vary according to data type (making
-polymorphic invocation of methods feasible)
+You have a piece of data on which many different operations are
+applied.
=item *
-When it is likely that new data types may be later introduced
-into the system, and will need to be handled by existing code
+You need to perform the same general operations on related types of
+data, but with slight variations depending on the specific type of data
+the operations are applied to.
=item *
-When interactions between data are best represented by
-overloaded operators
+It's likely you'll have to add new data types later.
=item *
-When the implementation of system components is likely to
-change over time (and hence should be encapsulated)
+The typical interactions between pieces of data are best represented by
+operators.
=item *
-When the system design is itself object-oriented
+The implementation of individual components of the system is likely to
+change over time.
=item *
-When large amounts of client code will use the software (and
-should be insulated from changes in its implementation)
+The system design is already object-oriented.
=item *
-When many separate operations will need to be applied to the
-same set of data
+Large numbers of other programmers will be using your code modules.
=back
diff --git a/Master/tlpkg/tlperl/lib/pods/perlmpeix.pod b/Master/tlpkg/tlperl/lib/pods/perlmpeix.pod
index 44dea99e10b..c382c466920 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlmpeix.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlmpeix.pod
@@ -4,7 +4,7 @@ specially designed to be readable as is.
=head1 NAME
-README.mpeix - Perl/iX for HP e3000 MPE
+perlmpeix - Perl/iX for HP e3000 MPE
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/pods/perlmroapi.pod b/Master/tlpkg/tlperl/lib/pods/perlmroapi.pod
index 74bd9b2a77d..54da7dded25 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlmroapi.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlmroapi.pod
@@ -9,7 +9,7 @@ resolution orders other than the default (linear depth first search).
The C3 method resolution order added in 5.10.0 has been re-implemented as
a plugin, without changing its Perl-space interface.
-Each plugin should register itself with C<Perl_mro_register> by providing
+Each plugin should register itself by providing
the following structure
struct mro_alg {
@@ -20,6 +20,10 @@ the following structure
U32 hash;
};
+and calling C<Perl_mro_register>:
+
+ Perl_mro_register(aTHX_ &my_mro_alg);
+
=over 4
=item resolve
diff --git a/Master/tlpkg/tlperl/lib/pods/perlobj.pod b/Master/tlpkg/tlperl/lib/pods/perlobj.pod
index 850225f64a9..015b1c966c0 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlobj.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlobj.pod
@@ -1,595 +1,1049 @@
+=encoding utf8
+
+=for comment
+Consistent formatting of this file is achieved with:
+ perl ./Porting/podtidy pod/perlobj.pod
+
=head1 NAME
X<object> X<OOP>
-perlobj - Perl objects
+perlobj - Perl object reference
=head1 DESCRIPTION
-First you need to understand what references are in Perl.
-See L<perlref> for that. Second, if you still find the following
-reference work too complicated, a tutorial on object-oriented programming
-in Perl can be found in L<perltoot> and L<perltooc>.
+This document provides a reference for Perl's object orientation
+features. If you're looking for an introduction to object-oriented
+programming in Perl, please see L<perlootut>.
+
+In order to understand Perl objects, you first need to understand
+references in Perl. See L<perlref> for details.
+
+This document describes all of Perl's object-oriented (OO) features
+from the ground up. If you're just looking to write some
+object-oriented code of your own, you are probably better served by
+using one of the object systems from CPAN described in L<perlootut>.
-If you're still with us, then
-here are three very simple definitions that you should find reassuring.
+If you're looking to write your own object system, or you need to
+maintain code which implements objects from scratch then this document
+will help you understand exactly how Perl does object orientation.
+
+There are a few basic principles which define object oriented Perl:
=over 4
=item 1.
-An object is simply a reference that happens to know which class it
-belongs to.
+An object is simply a data structure that knows to which class it
+belongs.
=item 2.
-A class is simply a package that happens to provide methods to deal
-with object references.
+A class is simply a package. A class provides methods that expect to
+operate on objects.
=item 3.
-A method is simply a subroutine that expects an object reference (or
-a package name, for class methods) as the first argument.
+A method is simply a subroutine that expects a reference to an object
+(or a package name, for class methods) as the first argument.
=back
-We'll cover these points now in more depth.
+Let's look at each of these principles in depth.
-=head2 An Object is Simply a Reference
+=head2 An Object is Simply a Data Structure
X<object> X<bless> X<constructor> X<new>
-Unlike say C++, Perl doesn't provide any special syntax for
-constructors. A constructor is merely a subroutine that returns a
-reference to something "blessed" into a class, generally the
-class that the subroutine is defined in. Here is a typical
-constructor:
-
- package Critter;
- sub new { bless {} }
-
-That word C<new> isn't special. You could have written
-a construct this way, too:
-
- package Critter;
- sub spawn { bless {} }
-
-This might even be preferable, because the C++ programmers won't
-be tricked into thinking that C<new> works in Perl as it does in C++.
-It doesn't. We recommend that you name your constructors whatever
-makes sense in the context of the problem you're solving. For example,
-constructors in the Tk extension to Perl are named after the widgets
-they create.
-
-One thing that's different about Perl constructors compared with those in
-C++ is that in Perl, they have to allocate their own memory. (The other
-things is that they don't automatically call overridden base-class
-constructors.) The C<{}> allocates an anonymous hash containing no
-key/value pairs, and returns it The bless() takes that reference and
-tells the object it references that it's now a Critter, and returns
-the reference. This is for convenience, because the referenced object
-itself knows that it has been blessed, and the reference to it could
-have been returned directly, like this:
-
- sub new {
- my $self = {};
- bless $self;
- return $self;
- }
-
-You often see such a thing in more complicated constructors
-that wish to call methods in the class as part of the construction:
-
- sub new {
- my $self = {};
- bless $self;
- $self->initialize();
- return $self;
- }
-
-If you care about inheritance (and you should; see
-L<perlmodlib/"Modules: Creation, Use, and Abuse">),
-then you want to use the two-arg form of bless
-so that your constructors may be inherited:
-
- sub new {
- my $class = shift;
- my $self = {};
- bless $self, $class;
- $self->initialize();
- return $self;
- }
-
-Or if you expect people to call not just C<< CLASS->new() >> but also
-C<< $obj->new() >>, then use something like the following. (Note that using
-this to call new() on an instance does not automatically perform any
-copying. If you want a shallow or deep copy of an object, you'll have to
-specifically allow for that.) The initialize() method used will be of
-whatever $class we blessed the object into:
-
- sub new {
- my $this = shift;
- my $class = ref($this) || $this;
- my $self = {};
- bless $self, $class;
- $self->initialize();
- return $self;
- }
-
-Within the class package, the methods will typically deal with the
-reference as an ordinary reference. Outside the class package,
-the reference is generally treated as an opaque value that may
-be accessed only through the class's methods.
-
-Although a constructor can in theory re-bless a referenced object
-currently belonging to another class, this is almost certainly going
-to get you into trouble. The new class is responsible for all
-cleanup later. The previous blessing is forgotten, as an object
-may belong to only one class at a time. (Although of course it's
-free to inherit methods from many classes.) If you find yourself
-having to do this, the parent class is probably misbehaving, though.
-
-A clarification: Perl objects are blessed. References are not. Objects
-know which package they belong to. References do not. The bless()
-function uses the reference to find the object. Consider
-the following example:
-
- $a = {};
- $b = $a;
- bless $a, BLAH;
- print "\$b is a ", ref($b), "\n";
-
-This reports $b as being a BLAH, so obviously bless()
-operated on the object and not on the reference.
+Unlike many other languages which support object orientation, Perl does
+not provide any special syntax for constructing an object. Objects are
+merely Perl data structures (hashes, arrays, scalars, filehandles,
+etc.) that have been explicitly associated with a particular class.
-=head2 A Class is Simply a Package
-X<class> X<package> X<@ISA> X<inheritance>
+That explicit association is created by the built-in C<bless> function,
+which is typically used within the I<constructor> subroutine of the
+class.
-Unlike say C++, Perl doesn't provide any special syntax for class
-definitions. You use a package as a class by putting method
-definitions into the class.
-
-There is a special array within each package called @ISA, which says
-where else to look for a method if you can't find it in the current
-package. This is how Perl implements inheritance. Each element of the
-@ISA array is just the name of another package that happens to be a
-class package. The classes are searched for missing methods in
-depth-first, left-to-right order by default (see L<mro> for alternative
-search order and other in-depth information). The classes accessible
-through @ISA are known as base classes of the current class.
-
-All classes implicitly inherit from class C<UNIVERSAL> as their
-last base class. Several commonly used methods are automatically
-supplied in the UNIVERSAL class; see L<"Default UNIVERSAL methods"> or
-L<UNIVERSAL|UNIVERSAL> for more details.
-X<UNIVERSAL> X<base class> X<class, base>
-
-If a missing method is found in a base class, it is cached
-in the current class for efficiency. Changing @ISA or defining new
-subroutines invalidates the cache and causes Perl to do the lookup again.
-
-If neither the current class, its named base classes, nor the UNIVERSAL
-class contains the requested method, these three places are searched
-all over again, this time looking for a method named AUTOLOAD(). If an
-AUTOLOAD is found, this method is called on behalf of the missing method,
-setting the package global $AUTOLOAD to be the fully qualified name of
-the method that was intended to be called.
-X<AUTOLOAD>
+Here is a simple constructor:
-If none of that works, Perl finally gives up and complains.
+ package File;
-If you want to stop the AUTOLOAD inheritance say simply
-X<AUTOLOAD>
+ sub new {
+ my $class = shift;
+
+ return bless {}, $class;
+ }
+
+The name C<new> isn't special. We could name our constructor something
+else:
+
+ package File;
+
+ sub load {
+ my $class = shift;
+
+ return bless {}, $class;
+ }
+
+The modern convention for OO modules is to always use C<new> as the
+name for the constructor, but there is no requirement to do so. Any
+subroutine that blesses a data structure into a class is a valid
+constructor in Perl.
+
+In the previous examples, the C<{}> code creates a reference to an
+empty anonymous hash. The C<bless> function then takes that reference
+and associates the hash with the class in C<$class>. In the simplest
+case, the C<$class> variable will end up containing the string "File".
+
+We can also use a variable to store a reference to the data structure
+that is being blessed as our object:
+
+ sub new {
+ my $class = shift;
+
+ my $self = {};
+ bless $self, $class;
+
+ return $self;
+ }
+
+Once we've blessed the hash referred to by C<$self> we can start
+calling methods on it. This is useful if you want to put object
+initialization in its own separate method:
+
+ sub new {
+ my $class = shift;
+
+ my $self = {};
+ bless $self, $class;
+
+ $self->_initialize();
+
+ return $self;
+ }
+
+Since the object is also a hash, you can treat it as one, using it to
+store data associated with the object. Typically, code inside the class
+can treat the hash as an accessible data structure, while code outside
+the class should always treat the object as opaque. This is called
+B<encapsulation>. Encapsulation means that the user of an object does
+not have to know how it is implemented. The user simply calls
+documented methods on the object.
+
+Note, however, that (unlike most other OO languages) Perl does not
+ensure or enforce encapsulation in any way. If you want objects to
+actually I<be> opaque you need to arrange for that yourself. This can
+be done in a varierty of ways, including using L<"Inside-Out objects">
+or modules from CPAN.
+
+=head3 Objects Are Blessed; Variables Are Not
+
+When we bless something, we are not blessing the variable which
+contains a reference to that thing, nor are we blessing the reference
+that the variable stores; we are blessing the thing that the variable
+refers to (sometimes known as the I<referent>). This is best
+demonstrated with this code:
- sub AUTOLOAD;
+ use Scalar::Util 'blessed';
-and the call will die using the name of the sub being called.
+ my $foo = {};
+ my $bar = $foo;
-Perl classes do method inheritance only. Data inheritance is left up
-to the class itself. By and large, this is not a problem in Perl,
-because most classes model the attributes of their object using an
-anonymous hash, which serves as its own little namespace to be carved up
-by the various classes that might want to do something with the object.
-The only problem with this is that you can't sure that you aren't using
-a piece of the hash that isn't already used. A reasonable workaround
-is to prepend your fieldname in the hash with the package name.
-X<inheritance, method> X<inheritance, data>
+ bless $foo, 'Class';
+ print blessed( $bar ); # prints "Class"
- sub bump {
- my $self = shift;
- $self->{ __PACKAGE__ . ".count"}++;
- }
+ $bar = "some other value";
+ print blessed( $bar ); # prints undef
+
+When we call C<bless> on a variable, we are actually blessing the
+underlying data structure that the variable refers to. We are not
+blessing the reference itself, nor the variable that contains that
+reference. That's why the second call to C<blessed( $bar )> returns
+false. At that point C<$bar> is no longer storing a reference to an
+object.
+
+You will sometimes see older books or documentation mention "blessing a
+reference" or describe an object as a "blessed reference", but this is
+incorrect. It isn't the reference that is blessed as an object; it's
+the thing the reference refers to (i.e. the referent).
+
+=head2 A Class is Simply a Package
+X<class> X<package> X<@ISA> X<inheritance>
+
+Perl does not provide any special syntax for class definitions. A
+package is simply a namespace containing variables and subroutines. The
+only difference is that in a class, the subroutines may expect a
+reference to an object or the name of a class as the first argument.
+This is purely a matter of convention, so a class may contain both
+methods and subroutines which I<don't> operate on an object or class.
+
+Each package contains a special array called C<@ISA>. The C<@ISA> array
+contains a list of that class's parent classes, if any. This array is
+examined when Perl does method resolution, which we will cover later.
+
+It is possible to manually set C<@ISA>, and you may see this in older
+Perl code. Much older code also uses the L<base> pragma. For new code,
+we recommend that you use the L<parent> pragma to declare your parents.
+This pragma will take care of setting C<@ISA>. It will also load the
+parent classes and make sure that the package doesn't inherit from
+itself.
+
+However the parent classes are set, the package's C<@ISA> variable will
+contain a list of those parents. This is simply a list of scalars, each
+of which is a string that corresponds to a package name.
+
+All classes inherit from the L<UNIVERSAL> class implicitly. The
+L<UNIVERSAL> class is implemented by the Perl core, and provides
+several default methods, such as C<isa()>, C<can()>, and C<VERSION()>.
+The C<UNIVERSAL> class will I<never> appear in a package's C<@ISA>
+variable.
+
+Perl I<only> provides method inheritance as a built-in feature.
+Attribute inheritance is left up the class to implement. See the
+L</Writing Accessors> section for details.
=head2 A Method is Simply a Subroutine
X<method>
-Unlike say C++, Perl doesn't provide any special syntax for method
-definition. (It does provide a little syntax for method invocation
-though. More on that later.) A method expects its first argument
-to be the object (reference) or package (string) it is being invoked
-on. There are two ways of calling methods, which we'll call class
-methods and instance methods.
-
-A class method expects a class name as the first argument. It
-provides functionality for the class as a whole, not for any
-individual object belonging to the class. Constructors are often
-class methods, but see L<perltoot> and L<perltooc> for alternatives.
-Many class methods simply ignore their first argument, because they
-already know what package they're in and don't care what package
-they were invoked via. (These aren't necessarily the same, because
-class methods follow the inheritance tree just like ordinary instance
-methods.) Another typical use for class methods is to look up an
-object by name:
-
- sub find {
- my ($class, $name) = @_;
- $objtable{$name};
- }
-
-An instance method expects an object reference as its first argument.
-Typically it shifts the first argument into a "self" or "this" variable,
-and then uses that as an ordinary reference.
-
- sub display {
- my $self = shift;
- my @keys = @_ ? @_ : sort keys %$self;
- foreach $key (@keys) {
- print "\t$key => $self->{$key}\n";
- }
- }
+Perl does not provide any special syntax for defining a method. A
+method is simply a regular subroutine, and is declared with C<sub>.
+What makes a method special is that it expects to receive either an
+object or a class name as its first argument.
+
+Perl I<does> provide special syntax for method invocation, the C<< ->
+>> operator. We will cover this in more detail later.
+
+Most methods you write will expect to operate on objects:
+
+ sub save {
+ my $self = shift;
+
+ open my $fh, '>', $self->path() or die $!;
+ print {$fh} $self->data() or die $!;
+ close $fh or die $!;
+ }
=head2 Method Invocation
X<invocation> X<method> X<arrow> X<< -> >>
-For various historical and other reasons, Perl offers two equivalent
-ways to write a method call. The simpler and more common way is to use
-the arrow notation:
+Calling a method on an object is written as C<< $object->method >>.
- my $fred = Critter->find("Fred");
- $fred->display("Height", "Weight");
+The left hand side of the method invocation (or arrow) operator is the
+object (or class name), and the right hand side is the method name.
-You should already be familiar with the use of the C<< -> >> operator with
-references. In fact, since C<$fred> above is a reference to an object,
-you could think of the method call as just another form of
-dereferencing.
+ my $pod = File->new( 'perlobj.pod', $data );
+ $pod->save();
-Whatever is on the left side of the arrow, whether a reference or a
-class name, is passed to the method subroutine as its first argument.
-So the above code is mostly equivalent to:
+The C<< -> >> syntax is also used when dereferencing a reference. It
+looks like the same operator, but these are two different operations.
- my $fred = Critter::find("Critter", "Fred");
- Critter::display($fred, "Height", "Weight");
+When you call a method, the thing on the left side of the arrow is
+passed as the first argument to the method. That means when we call C<<
+Critter->new() >>, the C<new()> method receives the string C<"Critter">
+as its first argument. When we call C<< $fred->speak() >>, the C<$fred>
+variable is passed as the first argument to C<speak()>.
-How does Perl know which package the subroutine is in? By looking at
-the left side of the arrow, which must be either a package name or a
-reference to an object, i.e. something that has been blessed to a
-package. Either way, that's the package where Perl starts looking. If
-that package has no subroutine with that name, Perl starts looking for
-it in any base classes of that package, and so on.
+Just as with any Perl subroutine, all of the arguments passed in C<@_>
+are aliases to the original argument. This includes the object itself.
+If you assign directly to C<$_[0]> you will change the contents of the
+variable that holds the reference to the object. We recommend that you
+don't do this unless you know exactly what you're doing.
-If you need to, you I<can> force Perl to start looking in some other package:
+Perl knows what package the method is in by looking at the left side of
+the arrow. If the left hand side is a package name, it looks for the
+method in that package. If the left hand side is an object, then Perl
+looks for the method in the package that the object has been blessed
+into.
- my $barney = MyCritter->Critter::find("Barney");
- $barney->Critter::display("Height", "Weight");
+If the left hand side is neither a package name nor an object, then the
+method call will cause an error, but see the section on L</Method Call
+Variations> for more nuances.
-Here C<MyCritter> is presumably a subclass of C<Critter> that defines
-its own versions of find() and display(). We haven't specified what
-those methods do, but that doesn't matter above since we've forced Perl
-to start looking for the subroutines in C<Critter>.
+=head2 Inheritance
+X<inheritance>
-As a special case of the above, you may use the C<SUPER> pseudo-class to
-tell Perl to start looking for the method in the packages named in the
-current class's C<@ISA> list.
-X<SUPER>
+We already talked about the special C<@ISA> array and the L<parent>
+pragma.
+
+When a class inherits from another class, any methods defined in the
+parent class are available to the child class. If you attempt to call a
+method on an object that isn't defined in its own class, Perl will also
+look for that method in any parent classes it may have.
+
+ package File::MP3;
+ use parent 'File'; # sets @File::MP3::ISA = ('File');
+
+ my $mp3 = File::MP3->new( 'Andvari.mp3', $data );
+ $mp3->save();
- package MyCritter;
- use base 'Critter'; # sets @MyCritter::ISA = ('Critter');
+Since we didn't define a C<save()> method in the C<File::MP3> class,
+Perl will look at the C<File::MP3> class's parent classes to find the
+C<save()> method. If Perl cannot find a C<save()> method anywhere in
+the inheritance hierarchy, it will die.
- sub display {
- my ($self, @args) = @_;
- $self->SUPER::display("Name", @args);
- }
+In this case, it finds a C<save()> method in the C<File> class. Note
+that the object passed to C<save()> in this case is still a
+C<File::MP3> object, even though the method is found in the C<File>
+class.
-It is important to note that C<SUPER> refers to the superclass(es) of the
-I<current package> and not to the superclass(es) of the object. Also, the
-C<SUPER> pseudo-class can only currently be used as a modifier to a method
-name, but not in any of the other ways that class names are normally used,
-eg:
+We can override a parent's method in a child class. When we do so, we
+can still call the parent class's method with the C<SUPER>
+pseudo-class.
+
+ sub save {
+ my $self = shift;
+
+ say 'Prepare to rock';
+ $self->SUPER::save();
+ }
+
+The C<SUPER> modifier can I<only> be used for method calls. You can't
+use it for regular subroutine calls or class methods:
+
+ SUPER::save($thing); # FAIL: looks for save() sub in package SUPER
+
+ SUPER->save($thing); # FAIL: looks for save() method in class
+ # SUPER
+
+ $thing->SUPER::save(); # Okay: looks for save() method in parent
+ # classes
+
+
+=head3 How SUPER is Resolved
X<SUPER>
- something->SUPER::method(...); # OK
- SUPER::method(...); # WRONG
- SUPER->method(...); # WRONG
+The C<SUPER> pseudo-class is resolved from the package where the call
+is made. It is I<not> resolved based on the object's class. This is
+important, because it lets methods at different levels within a deep
+inheritance hierarchy each correctly call their respective parent
+methods.
+
+ package A;
+
+ sub new {
+ return bless {}, shift;
+ }
+
+ sub speak {
+ my $self = shift;
+
+ $self->SUPER::speak();
+
+ say 'A';
+ }
+
+ package B;
-Instead of a class name or an object reference, you can also use any
-expression that returns either of those on the left side of the arrow.
-So the following statement is valid:
+ use parent 'A';
- Critter->find("Fred")->display("Height", "Weight");
+ sub speak {
+ my $self = shift;
-and so is the following:
+ $self->SUPER::speak();
- my $fred = (reverse "rettirC")->find(reverse "derF");
+ say 'B';
+ }
-The right side of the arrow typically is the method name, but a simple
-scalar variable containing either the method name or a subroutine
-reference can also be used.
+ package C;
-If the right side of the arrow is a scalar containing a reference
-to a subroutine, then this is equivalent to calling the referenced
-subroutine directly with the class name or object on the left side
-of the arrow as its first argument. No lookup is done and there is
-no requirement that the subroutine be defined in any package related
-to the class name or object on the left side of the arrow.
+ use parent 'B';
-For example, the following calls to $display are equivalent:
+ sub speak {
+ my $self = shift;
- my $display = sub { my $self = shift; ... };
- $fred->$display("Height", "Weight");
- $display->($fred, "Height", "Weight");
+ $self->SUPER::speak();
-=head2 Indirect Object Syntax
-X<indirect object syntax> X<invocation, indirect> X<indirect>
+ say 'C';
+ }
-The other way to invoke a method is by using the so-called "indirect
-object" notation. This syntax was available in Perl 4 long before
-objects were introduced, and is still used with filehandles like this:
+ my $c = C->new();
+ $c->speak();
- print STDERR "help!!!\n";
+In this example, we will get the following output:
-The same syntax can be used to call either object or class methods.
+ A
+ B
+ C
- my $fred = find Critter "Fred";
- display $fred "Height", "Weight";
+This demonstrates how C<SUPER> is resolved. Even though the object is
+blessed into the C<C> class, the C<speak()> method in the C<B> class
+can still call C<SUPER::speak()> and expect it to correctly look in the
+parent class of C<B> (i.e the class the method call is in), not in the
+parent class of C<C> (i.e. the class the object belongs to).
-Notice that there is no comma between the object or class name and the
-parameters. This is how Perl can tell you want an indirect method call
-instead of an ordinary subroutine call.
+There are rare cases where this package-based resolution can be a
+problem. If you copy a subroutine from one package to another, C<SUPER>
+resolution will be done based on the original package.
-But what if there are no arguments? In that case, Perl must guess what
-you want. Even worse, it must make that guess I<at compile time>.
-Usually Perl gets it right, but when it doesn't you get a function
-call compiled as a method, or vice versa. This can introduce subtle bugs
-that are hard to detect.
+=head3 Multiple Inheritance
+X<multiple inheritance>
+
+Multiple inheritance often indicates a design problem, but Perl always
+gives you enough rope to hang yourself with if you ask for it.
+
+To declare multiple parents, you simply need to pass multiple class
+names to C<use parent>:
+
+ package MultiChild;
+
+ use parent 'Parent1', 'Parent2';
+
+=head3 Method Resolution Order
+X<method resolution order> X<mro>
+
+Method resolution order only matters in the case of multiple
+inheritance. In the case of single inheritance, Perl simply looks up
+the inheritance chain to find a method:
+
+ Grandparent
+ |
+ Parent
+ |
+ Child
+
+If we call a method on a C<Child> object and that method is not defined
+in the C<Child> class, Perl will look for that method in the C<Parent>
+class and then, if necessary, in the C<Grandparent> class.
+
+If Perl cannot find the method in any of these classes, it will die
+with an error message.
+
+When a class has multiple parents, the method lookup order becomes more
+complicated.
+
+By default, Perl does a depth-first left-to-right search for a method.
+That means it starts with the first parent in the C<@ISA> array, and
+then searches all of its parents, grandparents, etc. If it fails to
+find the method, it then goes to the next parent in the original
+class's C<@ISA> array and searches from there.
+
+ SharedGreatGrandParent
+ / \
+ PaternalGrandparent MaternalGrandparent
+ \ /
+ Father Mother
+ \ /
+ Child
+
+So given the diagram above, Perl will search C<Child>, C<Father>,
+C<PaternalGrandparent>, C<SharedGreatGrandParent>, C<Mother>, and
+finally C<MaternalGrandparent>. This may be a problem because now we're
+looking in C<SharedGreatGrandParent> I<before> we've checked all its
+derived classes (i.e. before we tried C<Mother> and
+C<MaternalGrandparent>).
+
+It is possible to ask for a different method resolution order with the
+L<mro> pragma.
+
+ package Child;
+
+ use mro 'c3';
+ use parent 'Father', 'Mother';
+
+This pragma lets you switch to the "C3" resolution order. In simple
+terms, "C3" order ensures that shared parent classes are never searched
+before child classes, so Perl will now search: C<Child>, C<Father>,
+C<PaternalGrandparent>, C<Mother> C<MaternalGrandparent>, and finally
+C<SharedGreatGrandParent>. Note however that this is not
+"breadth-first" searching: All the C<Father> ancestors (except the
+common ancestor) are searched before any of the C<Mother> ancestors are
+considered.
+
+The C3 order also lets you call methods in sibling classes with the
+C<next> pseudo-class. See the L<mro> documentation for more details on
+this feature.
+
+=head3 Method Resolution Caching
+
+When Perl searches for a method, it caches the lookup so that future
+calls to the method do not need to search for it again. Changing a
+class's parent class or adding subroutines to a class will invalidate
+the cache for that class.
+
+The L<mro> pragma provides some functions for manipulating the method
+cache directly.
+
+=head2 Writing Constructors
+X<constructor>
+
+As we mentioned earlier, Perl provides no special constructor syntax.
+This means that a class must implement its own constructor. A
+constructor is simply a class method that returns a reference to a new
+object.
+
+The constructor can also accept additional parameters that define the
+object. Let's write a real constructor for the C<File> class we used
+earlier:
+
+ package File;
+
+ sub new {
+ my $class = shift;
+ my ( $path, $data ) = @_;
+
+ my $self = bless {
+ path => $path,
+ data => $data,
+ }, $class;
+
+ return $self;
+ }
+
+As you can see, we've stored the path and file data in the object
+itself. Remember, under the hood, this object is still just a hash.
+Later, we'll write accessors to manipulate this data.
+
+For our File::MP3 class, we can check to make sure that the path we're
+given ends with ".mp3":
+
+ package File::MP3;
+
+ sub new {
+ my $class = shift;
+ my ( $path, $data ) = @_;
+
+ die "You cannot create a File::MP3 without an mp3 extension\n"
+ unless $path =~ /\.mp3\z/;
+
+ return $class->SUPER::new(@_);
+ }
+
+This constructor lets its parent class do the actual object
+construction.
+
+=head2 Attributes
+X<attribute>
+
+An attribute is a piece of data belonging to a particular object.
+Unlike most object-oriented languages, Perl provides no special syntax
+or support for declaring and manipulating attributes.
+
+Attributes are often stored in the object itself. For example, if the
+object is an anonymous hash, we can store the attribute values in the
+hash using the attribute name as the key.
+
+While it's possible to refer directly to these hash keys outside of the
+class, it's considered a best practice to wrap all access to the
+attribute with accessor methods.
+
+This has several advantages. Accessors make it easier to change the
+implementation of an object later while still preserving the original
+API.
+
+An accessor lets you add additional code around attribute access. For
+example, you could apply a default to an attribute that wasn't set in
+the constructor, or you could validate that a new value for the
+attribute is acceptable.
+
+Finally, using accessors makes inheritance much simpler. Subclasses can
+use the accessors rather than having to know how a parent class is
+implemented internally.
+
+=head3 Writing Accessors
+X<accessor>
+
+As with constructors, Perl provides no special accessor declaration
+syntax, so classes must provide explicitly written accessor methods.
+There are two common types of accessors, read-only and read-write.
+
+A simple read-only accessor simply gets the value of a single
+attribute:
+
+ sub path {
+ my $self = shift;
+
+ return $self->{path};
+ }
+
+A read-write accessor will allow the caller to set the value as well as
+get it:
+
+ sub path {
+ my $self = shift;
+
+ if (@_) {
+ $self->{path} = shift;
+ }
+
+ return $self->{path};
+ }
+
+=head2 An Aside About Smarter and Safer Code
+
+Our constructor and accessors are not very smart. They don't check that
+a C<$path> is defined, nor do they check that a C<$path> is a valid
+filesystem path.
+
+Doing these checks by hand can quickly become tedious. Writing a bunch
+of accessors by hand is also incredibly tedious. There are a lot of
+modules on CPAN that can help you write safer and more concise code,
+including the modules we recommend in L<perlootut>.
+
+=head2 Method Call Variations
+X<method>
-For example, a call to a method C<new> in indirect notation (as C++
-programmers are wont to make) can be miscompiled into a subroutine
-call if there's already a C<new> function in scope. You'd end up
-calling the current package's C<new> as a subroutine, rather than the
-desired class's method. The compiler tries to cheat by remembering
-bareword C<require>s, but the grief when it messes up just isn't worth the
-years of debugging it will take you to track down such subtle bugs.
+Perl supports several other ways to call methods besides the C<<
+$object->method() >> usage we've seen so far.
-There is another problem with this syntax: the indirect object is
-limited to a name, a scalar variable, or a block, because it would have
-to do too much lookahead otherwise, just like any other postfix
-dereference in the language. (These are the same quirky rules as are
-used for the filehandle slot in functions like C<print> and C<printf>.)
-This can lead to horribly confusing precedence problems, as in these
-next two lines:
+=head3 Method Names as Strings
- move $obj->{FIELD}; # probably wrong!
- move $ary[$i]; # probably wrong!
+Perl lets you use a scalar variable containing a string as a method
+name:
-Those actually parse as the very surprising:
+ my $file = File->new( $path, $data );
- $obj->move->{FIELD}; # Well, lookee here
- $ary->move([$i]); # Didn't expect this one, eh?
+ my $method = 'save';
+ $file->$method();
-Rather than what you might have expected:
+This works exactly like calling C<< $file->save() >>. This can be very
+useful for writing dynamic code. For example, it allows you to pass a
+method name to be called as a parameter to another method.
- $obj->{FIELD}->move(); # You should be so lucky.
- $ary[$i]->move; # Yeah, sure.
+=head3 Class Names as Strings
-To get the correct behavior with indirect object syntax, you would have
-to use a block around the indirect object:
+Perl also lets you use a scalar containing a string as a class name:
- move {$obj->{FIELD}};
- move {$ary[$i]};
+ my $class = 'File';
-Even then, you still have the same potential problem if there happens to
-be a function named C<move> in the current package. B<The C<< -> >>
-notation suffers from neither of these disturbing ambiguities, so we
-recommend you use it exclusively.> However, you may still end up having
-to read code using the indirect object notation, so it's important to be
-familiar with it.
+ my $file = $class->new( $path, $data );
-=head2 Default UNIVERSAL methods
+Again, this allows for very dynamic code.
+
+=head3 Subroutine References as Methods
+
+You can also use a subroutine reference as a method:
+
+ my $sub = sub {
+ my $self = shift;
+
+ $self->save();
+ };
+
+ $file->$sub();
+
+This is exactly equivalent to writing C<< $sub->($file) >>. You may see
+this idiom in the wild combined with a call to C<can>:
+
+ if ( my $meth = $object->can('foo') ) {
+ $object->$meth();
+ }
+
+=head3 Deferencing Method Call
+
+Perl also lets you use a dereferenced scalar reference in a method
+call. That's a mouthful, so let's look at some code:
+
+ $file->${ \'save' };
+ $file->${ returns_scalar_ref() };
+ $file->${ \( returns_scalar() ) };
+ $file->${ returns_sub_ref() };
+
+This works if the dereference produces a string I<or> a subroutine
+reference.
+
+=head3 Method Calls on Filehandles
+
+Under the hood, Perl filehandles are instances of the C<IO::Handle> or
+C<IO::File> class. Once you have an open filehandle, you can call
+methods on it. Additionally, you can call methods on the C<STDIN>,
+C<STDOUT>, and C<STDERR> filehandles.
+
+ open my $fh, '>', 'path/to/file';
+ $fh->autoflush();
+ $fh->print('content');
+
+ STDOUT->autoflush();
+
+=head2 Invoking Class Methods
+X<invocation>
+
+Because Perl allows you to use barewords for package names and
+subroutine names, it sometimes interprets a bareword's meaning
+incorrectly. For example, the construct C<< Class->new() >> can be
+interpreted as either C<< 'Class'->new() >> or C<< Class()->new() >>.
+In English, that second interpretation reads as "call a subroutine
+named Class(), then call new() as a method on the return value of
+Class()". If there is a subroutine named C<Class()> in the current
+namespace, Perl will always interpret C<< Class->new() >> as the second
+alternative: a call to C<new()> on the object returned by a call to
+C<Class()>
+
+You can force Perl to use the first interpretation (i.e. as a method
+call on the class named "Class") in two ways. First, you can append a
+C<::> to the class name:
+
+ Class::->new()
+
+Perl will always interpret this as a method call.
+
+Alternatively, you can quote the class name:
+
+ 'Class'->new()
+
+Of course, if the class name is in a scalar Perl will do the right
+thing as well:
+
+ my $class = 'Class';
+ $class->new();
+
+=head3 Indirect Object Syntax
+X<indirect object>
+
+B<Outside of the file handle case, use of this syntax is discouraged,
+as it can confuse the Perl interpreter. See below for more details.>
+
+Perl suports another method invocation syntax called "indirect object"
+notation. This syntax is called "indirect" because the method comes
+before the object it is being invoked on.
+
+This syntax can be used with any class or object method:
+
+ my $file = new File $path, $data;
+ save $file;
+
+We recommend that you avoid this syntax, for several reasons.
+
+First, it can be confusing to read. In the above example, it's not
+clear if C<save> is a method provided by the C<File> class or simply a
+subroutine that expects a file object as its first argument.
+
+When used with class methods, the problem is even worse. Because Perl
+allows subroutine names to be written as barewords, Perl has to guess
+whether the bareword after the method is a class name or subroutine
+name. In other words, Perl can resolve the syntax as either C<<
+File->new( $path, $data ) >> B<or> C<< new( File( $path, $data ) ) >>.
+
+To parse this code, Perl uses a heuristic based on what package names
+it has seen, what subroutines exist in the current package, what
+barewords it has previously seen, and other input. Needless to say,
+heuristics can produce very surprising results!
+
+Older documentation (and some CPAN modules) encouraged this syntax,
+particularly for constructors, so you may still find it in the wild.
+However, we encourage you to avoid using it in new code.
+
+You can force Perl to interpret the bareword as a class name by
+appending "::" to it, like we saw earlier:
+
+ my $file = new File:: $path, $data;
+
+=head2 C<bless>, C<blessed>, and C<ref>
+
+As we saw earlier, an object is simply a data structure that has been
+blessed into a class via the C<bless> function. The C<bless> function
+can take either one or two arguments:
+
+ my $object = bless {}, $class;
+ my $object = bless {};
+
+In the first form, the anonymous hash is being blessed into the class
+in C<$class>. In the second form, the anonymous hash is blessed into
+the current package.
+
+The second form is strongly discouraged, because it breaks the ability
+of a subclass to reuse the parent's constructor, but you may still run
+across it in existing code.
+
+If you want to know whether a particular scalar refers to an object,
+you can use the C<blessed> function exported by L<Scalar::Util>, which
+is shipped with the Perl core.
+
+ use Scalar::Util 'blessed';
+
+ if ( defined blessed($thing) ) { ... }
+
+If C<$thing> refers to an object, then this function returns the name
+of the package the object has been blessed into. If C<$thing> doesn't
+contain a reference to a blessed object, the C<blessed> function
+returns C<undef>.
+
+Note that C<blessed($thing)> will also return false if C<$thing> has
+been blessed into a class named "0". This is a possible, but quite
+pathological. Don't create a class named "0" unless you know what
+you're doing.
+
+Similarly, Perl's built-in C<ref> function treats a reference to a
+blessed object specially. If you call C<ref($thing)> and C<$thing>
+holds a reference to an object, it will return the name of the class
+that the object has been blessed into.
+
+If you simply want to check that a variable contains an object
+reference, we recommend that you use C<defined blessed($object)>, since
+C<ref> returns true values for all references, not just objects.
+
+=head2 The UNIVERSAL Class
X<UNIVERSAL>
-The C<UNIVERSAL> package automatically contains the following methods that
-are inherited by all other classes:
+All classes automatically inherit from the L<UNIVERSAL> class, which is
+built-in to the Perl core. This class provides a number of methods, all
+of which can be called on either a class or an object. You can also
+choose to override some of these methods in your class. If you do so,
+we recommend that you follow the built-in semantics described below.
=over 4
-=item isa(CLASS)
+=item isa($class)
X<isa>
-C<isa> returns I<true> if its object is blessed into a subclass of C<CLASS>
+The C<isa> method returns I<true> if the object is a member of the
+class in C<$class>, or a member of a subclass of C<$class>.
-=item DOES(ROLE)
+If you override this method, it should never throw an exception.
+
+=item DOES($role)
X<DOES>
-C<DOES> returns I<true> if its object claims to perform the role C<ROLE>. By
-default, this is equivalent to C<isa>.
+The C<DOES> method returns I<true> if its object claims to perform the
+role C<$role>. By default, this is equivalent to C<isa>. This method is
+provided for use by object system extensions that implement roles, like
+C<Moose> and C<Role::Tiny>.
+
+You can also override C<DOES> directly in your own classes. If you
+override this method, it should never throw an exception.
-=item can(METHOD)
+=item can($method)
X<can>
-C<can> checks to see if its object has a method called C<METHOD>,
-if it does then a reference to the sub is returned, if it does not then
-C<undef> is returned.
+The C<can> method checks to see if the class or object it was called on
+has a method named C<$method>. This checks for the method in the class
+and all of its parents. If the method exists, then a reference to the
+subroutine is returned. If it does not then C<undef> is returned.
+
+If your class responds to method calls via C<AUTOLOAD>, you may want to
+overload C<can> to return a subroutine reference for methods which your
+C<AUTOLOAD> method handles.
+
+If you override this method, it should never throw an exception.
-=item VERSION( [NEED] )
+=item VERSION($need)
X<VERSION>
-C<VERSION> returns the version number of the class (package). If the
-NEED argument is given then it will check that the current version (as
-defined by the $VERSION variable in the given package) not less than
-NEED; it will die if this is not the case. This method is called automatically
-by the C<VERSION> form of C<use>.
+The C<VERSION> method returns the version number of the class
+(package).
+
+If the C<$need> argument is given then it will check that the current
+version (as defined by the $VERSION variable in the package) is greater
+than or equal to C<$need>; it will die if this is not the case. This
+method is called automatically by the C<VERSION> form of C<use>.
use Package 1.2 qw(some imported subs);
# implies:
Package->VERSION(1.2);
+We recommend that you use this method to access another package's
+version, rather than looking directly at C<$Package::VERSION>. The
+package you are looking at could have overridden the C<VERSION> method.
+
+We also recommend using this method to check whether a module has a
+sufficient version. The internal implementation uses the L<version>
+module to make sure that different types of version numbers are
+compared correctly.
+
=back
+=head2 AUTOLOAD
+X<AUTOLOAD>
+
+If you call a method that doesn't exist in a class, Perl will throw an
+error. However, if that class or any of its parent classes defines an
+C<AUTOLOAD> method, that C<AUTOLOAD> method is called instead.
+
+C<AUTOLOAD> is called as a regular method, and the caller will not know
+the difference. Whatever value your C<AUTOLOAD> method returns is
+returned to the caller.
+
+The fully qualified method name that was called is available in the
+C<$AUTOLOAD> package global for your class. Since this is a global, if
+you want to refer to do it without a package name prefix under C<strict
+'vars'>, you need to declare it.
+
+ # XXX - this is a terrible way to implement accessors, but it makes
+ # for a simple example.
+ our $AUTOLOAD;
+ sub AUTOLOAD {
+ my $self = shift;
+
+ # Remove qualifier from original method name...
+ my $called = $AUTOLOAD =~ s/.*:://r;
+
+ # Is there an attribute of that name?
+ die "No such attribute: $called"
+ unless exists $self->{$called};
+
+ # If so, return it...
+ return $self->{$called};
+ }
+
+ sub DESTROY { } # see below
+
+Without the C<our $AUTOLOAD> declaration, this code will not compile
+under the L<strict> pragma.
+
+As the comment says, this is not a good way to implement accessors.
+It's slow and too clever by far. However, you may see this as a way to
+provide accessors in older Perl code. See L<perlootut> for
+recommendations on OO coding in Perl.
+
+If your class does have an C<AUTOLOAD> method, we strongly recommend
+that you override C<can> in your class as well. Your overridden C<can>
+method should return a subroutine reference for any method that your
+C<AUTOLOAD> responds to.
+
=head2 Destructors
X<destructor> X<DESTROY>
When the last reference to an object goes away, the object is
-automatically destroyed. (This may even be after you exit, if you've
-stored references in global variables.) If you want to capture control
-just before the object is freed, you may define a DESTROY method in
-your class. It will automatically be called at the appropriate moment,
-and you can do any extra cleanup you need to do. Perl passes a reference
-to the object under destruction as the first (and only) argument. Beware
-that the reference is a read-only value, and cannot be modified by
-manipulating C<$_[0]> within the destructor. The object itself (i.e.
-the thingy the reference points to, namely C<${$_[0]}>, C<@{$_[0]}>,
-C<%{$_[0]}> etc.) is not similarly constrained.
-
-Since DESTROY methods can be called at unpredictable times, it is
-important that you localise any global variables that the method may
-update. In particular, localise C<$@> if you use C<eval {}> and
-localise C<$?> if you use C<system> or backticks.
-
-If you arrange to re-bless the reference before the destructor returns,
-perl will again call the DESTROY method for the re-blessed object after
-the current one returns. This can be used for clean delegation of
-object destruction, or for ensuring that destructors in the base classes
-of your choosing get called. Explicitly calling DESTROY is also possible,
-but is usually never needed.
-
-DESTROY is subject to AUTOLOAD lookup, just like any other method. Hence, if
-your class has an AUTOLOAD method, but does not need any DESTROY actions,
-you probably want to provide a DESTROY method anyway, to prevent an
-expensive call to AUTOLOAD each time an object is freed. As this technique
-makes empty DESTROY methods common, the implementation is optimised so that
-a DESTROY method that is an empty or constant subroutine, and hence could
-have no side effects anyway, is not actually called.
-X<AUTOLOAD> X<DESTROY>
-
-Do not confuse the previous discussion with how objects I<CONTAINED> in the current
-one are destroyed. Such objects will be freed and destroyed automatically
-when the current object is freed, provided no other references to them exist
-elsewhere.
-
-=head2 Summary
-
-That's about all there is to it. Now you need just to go off and buy a
-book about object-oriented design methodology, and bang your forehead
-with it for the next six months or so.
-
-=head2 Two-Phased Garbage Collection
-X<garbage collection> X<GC> X<circular reference>
-X<reference, circular> X<DESTROY> X<destructor>
-
-For most purposes, Perl uses a fast and simple, reference-based
-garbage collection system. That means there's an extra
-dereference going on at some level, so if you haven't built
-your Perl executable using your C compiler's C<-O> flag, performance
-will suffer. If you I<have> built Perl with C<cc -O>, then this
-probably won't matter.
-
-A more serious concern is that unreachable memory with a non-zero
-reference count will not normally get freed. Therefore, this is a bad
-idea:
-
- {
- my $a;
- $a = \$a;
- }
-
-Even thought $a I<should> go away, it can't. When building recursive data
-structures, you'll have to break the self-reference yourself explicitly
-if you don't care to leak. For example, here's a self-referential
-node such as one might use in a sophisticated tree structure:
-
- sub new_node {
- my $class = shift;
- my $node = {};
- $node->{LEFT} = $node->{RIGHT} = $node;
- $node->{DATA} = [ @_ ];
- return bless $node => $class;
- }
-
-If you create nodes like that, they (currently) won't go away unless you
-break their self reference yourself. (In other words, this is not to be
-construed as a feature, and you shouldn't depend on it.)
-
-Almost.
-
-When an interpreter thread finally shuts down (usually when your program
-exits), then a rather costly but complete mark-and-sweep style of garbage
-collection is performed, and everything allocated by that thread gets
-destroyed. This is essential to support Perl as an embedded or a
-multithreadable language. For example, this program demonstrates Perl's
-two-phased garbage collection:
-
- #!/usr/bin/perl
- package Subtle;
-
- sub new {
- my $test;
- $test = \$test;
- warn "CREATING " . \$test;
- return bless \$test;
- }
-
- sub DESTROY {
- my $self = shift;
- warn "DESTROYING $self";
- }
-
- package main;
-
- warn "starting program";
- {
- my $a = Subtle->new;
- my $b = Subtle->new;
- $$a = 0; # break selfref
- warn "leaving block";
- }
-
- warn "just exited block";
- warn "time to die...";
- exit;
-
-When run as F</foo/test>, the following output is produced:
-
- starting program at /foo/test line 18.
- CREATING SCALAR(0x8e5b8) at /foo/test line 7.
- CREATING SCALAR(0x8e57c) at /foo/test line 7.
- leaving block at /foo/test line 23.
- DESTROYING Subtle=SCALAR(0x8e5b8) at /foo/test line 13.
- just exited block at /foo/test line 26.
- time to die... at /foo/test line 27.
- DESTROYING Subtle=SCALAR(0x8e57c) during global destruction.
-
-Notice that "global destruction" bit there? That's the thread
-garbage collector reaching the unreachable.
-
-Objects are always destructed, even when regular refs aren't. Objects
-are destructed in a separate pass before ordinary refs just to
-prevent object destructors from using refs that have been themselves
-destructed. Plain refs are only garbage-collected if the destruct level
-is greater than 0. You can test the higher levels of global destruction
-by setting the PERL_DESTRUCT_LEVEL environment variable, presuming
-C<-DDEBUGGING> was enabled during perl build time.
-See L<perlhacktips/PERL_DESTRUCT_LEVEL> for more information.
-
-A more complete garbage collection strategy will be implemented
-at a future date.
-
-In the meantime, the best solution is to create a non-recursive container
-class that holds a pointer to the self-referential data structure.
-Define a DESTROY method for the containing object's class that manually
-breaks the circularities in the self-referential structure.
+destroyed. If you only have one reference to an object stored in a
+lexical scalar, the object is destroyed when that scalar goes out of
+scope. If you store the object in a package global, that object may not
+go out of scope until the program exits.
+
+If you want to do something when the object is destroyed, you can
+define a C<DESTROY> method in your class. This method will always be
+called by Perl at the appropriate time, unless the method is empty.
+
+This is called just like any other method, with the object as the first
+argument. It does not receive any additional arguments. However, the
+C<$_[0]> variable will be read-only in the destructor, so you cannot
+assign a value to it.
+
+If your C<DESTROY> method throws an error, this error will be ignored.
+It will not be sent to C<STDERR> and it will not cause the program to
+die. However, if your destructor is running inside an C<eval {}> block,
+then the error will change the value of C<$@>.
+
+Because C<DESTROY> methods can be called at any time, you should
+localize any global variables you might update in your C<DESTROY>. In
+particular, if you use C<eval {}> you should localize C<$@>, and if you
+use C<system> or backticks, you should localize C<$?>.
+
+If you define an C<AUTOLOAD> in your class, then Perl will call your
+C<AUTOLOAD> to handle the C<DESTROY> method. You can prevent this by
+defining an empty C<DESTROY>, like we did in the autoloading example.
+You can also check the value of C<$AUTOLOAD> and return without doing
+anything when called to handle C<DESTROY>.
+
+=head3 Global Destruction
+
+The order in which objects are destroyed during the global destruction
+before the program exits is unpredictable. This means that any objects
+contained by your object may already have been destroyed. You should
+check that a contained object is defined before calling a method on it:
+
+ sub DESTROY {
+ my $self = shift;
+
+ $self->{handle}->close() if $self->{handle};
+ }
+
+You can use the C<${^GLOBAL_PHASE}> variable to detect if you are
+currently in the global destruction phase:
+
+ sub DESTROY {
+ my $self = shift;
+
+ return if ${^GLOBAL_PHASE} eq 'DESTRUCT';
+
+ $self->{handle}->close();
+ }
+
+Note that this variable was added in Perl 5.14.0. If you want to detect
+the global destruction phase on older versions of Perl, you can use the
+C<Devel::GlobalDestruction> module on CPAN.
+
+If your C<DESTROY> method issues a warning during global destruction,
+the Perl interpreter will append the string " during global
+destruction" the warning.
+
+During global destruction, Perl will always garbage collect objects
+before unblessed references. See L<perlhacktips/PERL_DESTRUCT_LEVEL>
+for more information about global destruction.
+
+=head2 Non-Hash Objects
+
+All the examples so far have shown objects based on a blessed hash.
+However, it's possible to bless any type of data structure or referent,
+including scalars, globs, and subroutines. You may see this sort of
+thing when looking at code in the wild.
+
+Here's an example of a module as a blessed scalar:
+
+ package Time;
+
+ use strict;
+ use warnings;
+
+ sub new {
+ my $class = shift;
+
+ my $time = time;
+ return bless \$time, $class;
+ }
+
+ sub epoch {
+ my $self = shift;
+ return ${ $self };
+ }
+
+ my $time = Time->new();
+ print $time->epoch();
+
+=head2 Inside-Out objects
+
+In the past, the Perl community experimented with a technique called
+"inside-out objects". An inside-out object stores its data outside of
+the object's reference, indexed on a unique property of the object,
+such as its memory address, rather than in the object itself. This has
+the advantage of enforcing the encapsulation of object attributes,
+since their data is not stored in the object itself.
+
+This technique was popular for a while (and was recommended in Damian
+Conway's I<Perl Best Practices>), but never achieved universal
+adoption. The L<Object::InsideOut> module on CPAN provides a
+comprehensive implementation of this technique, and you may see it or
+other inside-out modules in the wild.
+
+Here is a simple example of the technique, using the
+L<Hash::Util::FieldHash> core module. This module was added to the core
+to support inside-out object implementations.
+
+ package Time;
+
+ use strict;
+ use warnings;
+
+ use Hash::Util::FieldHash 'fieldhash';
+
+ fieldhash my %time_for;
+
+ sub new {
+ my $class = shift;
+
+ my $self = bless \( my $object ), $class;
+
+ $time_for{$self} = time;
+
+ return $self;
+ }
+
+ sub epoch {
+ my $self = shift;
+
+ return $time_for{$self};
+ }
+
+ my $time = Time->new;
+ print $time->epoch;
+
+=head2 Pseudo-hashes
+
+The pseudo-hash feature was an experimental feature introduced in
+earlier versions of Perl and removed in 5.10.0. A pseudo-hash is an
+array reference which can be accessed using named keys like a hash. You
+may run in to some code in the wild which uses it. See the L<fields>
+pragma for more information.
=head1 SEE ALSO
A kinder, gentler tutorial on object-oriented programming in Perl can
-be found in L<perltoot>, L<perlboot> and L<perltooc>. You should
-also check out L<perlbot> for other object tricks, traps, and tips, as
-well as L<perlmodlib> for some style guides on constructing both
-modules and classes.
+be found in L<perlootut>. You should also check out L<perlmodlib> for
+some style guides on constructing both modules and classes.
+
diff --git a/Master/tlpkg/tlperl/lib/pods/perlootut.pod b/Master/tlpkg/tlperl/lib/pods/perlootut.pod
new file mode 100644
index 00000000000..b2e3500b358
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perlootut.pod
@@ -0,0 +1,741 @@
+=encoding utf8
+
+=for comment
+Consistent formatting of this file is achieved with:
+ perl ./Porting/podtidy pod/perlootut.pod
+
+=head1 NAME
+
+perlootut - Object-Oriented Programming in Perl Tutorial
+
+=head1 DATE
+
+This document was created in February, 2011.
+
+=head1 DESCRIPTION
+
+This document provides an introduction to object-oriented programming
+in Perl. It begins with a brief overview of the concepts behind object
+oriented design. Then it introduces several different OO systems from
+L<CPAN|http://search.cpan.org> which build on top of what Perl
+provides.
+
+By default, Perl's built-in OO system is very minimal, leaving you to
+do most of the work. This minimalism made a lot of sense in 1994, but
+in the years since Perl 5.0 we've seen a number of common patterns
+emerge in Perl OO. Fortunately, Perl's flexibility has allowed a rich
+ecosystem of Perl OO systems to flourish.
+
+If you want to know how Perl OO works under the hood, the L<perlobj>
+document explains the nitty gritty details.
+
+This document assumes that you already understand the basics of Perl
+syntax, variable types, operators, and subroutine calls. If you don't
+understand these concepts yet, please read L<perlintro> first. You
+should also read the L<perlsyn>, L<perlop>, and L<perlsub> documents.
+
+=head1 OBJECT-ORIENTED FUNDAMENTALS
+
+Most object systems share a number of common concepts. You've probably
+heard terms like "class", "object, "method", and "attribute" before.
+Understanding the concepts will make it much easier to read and write
+object-oriented code. If you're already familiar with these terms, you
+should still skim this section, since it explains each concept in terms
+of Perl's OO implementation.
+
+Perl's OO system is class-based. Class-based OO is fairly common. It's
+used by Java, C++, C#, Python, Ruby, and many other languages. There
+are other object orientation paradigms as well. JavaScript is the most
+popular language to use another paradigm. JavaScript's OO system is
+prototype-based.
+
+=head2 Object
+
+An B<object> is a data structure that bundles together data and
+subroutines which operate on that data. An object's data is called
+B<attributes>, and its subroutines are called B<methods>. An object can
+be thought of as a noun (a person, a web service, a computer).
+
+An object represents a single discrete thing. For example, an object
+might represent a file. The attributes for a file object might include
+its path, content, and last modification time. If we created an object
+to represent F</etc/hostname> on a machine named "foo.example.com",
+that object's path would be "/etc/hostname", its content would be
+"foo\n", and it's last modification time would be 1304974868 seconds
+since the beginning of the epoch.
+
+The methods associated with a file might include C<rename()> and
+C<write()>.
+
+In Perl most objects are hashes, but the OO systems we recommend keep
+you from having to worry about this. In practice, it's best to consider
+an object's internal data structure opaque.
+
+=head2 Class
+
+A B<class> defines the behavior of a category of objects. A class is a
+name for a category (like "File"), and a class also defines the
+behavior of objects in that category.
+
+All objects belong to a specific class. For example, our
+F</etc/hostname> object belongs to the C<File> class. When we want to
+create a specific object, we start with its class, and B<construct> or
+B<instantiate> an object. A specific object is often referred to as an
+B<instance> of a class.
+
+In Perl, any package can be a class. The difference between a package
+which is a class and one which isn't is based on how the package is
+used. Here's our "class declaration" for the C<File> class:
+
+ package File;
+
+In Perl, there is no special keyword for constructing an object.
+However, most OO modules on CPAN use a method named C<new()> to
+construct a new object:
+
+ my $hostname = File->new(
+ path => '/etc/hostname',
+ content => "foo\n",
+ last_mod_time => 1304974868,
+ );
+
+(Don't worry about that C<< -> >> operator, it will be explained
+later.)
+
+=head3 Blessing
+
+As we said earlier, most Perl objects are hashes, but an object can be
+an instance of any Perl data type (scalar, array, etc.). Turning a
+plain data structure into an object is done by B<blessing> that data
+structure using Perl's C<bless> function.
+
+While we strongly suggest you don't build your objects from scratch,
+you should know the term B<bless>. A B<blessed> data structure (aka "a
+referent") is an object. We sometimes say that an object has been
+"blessed into a class".
+
+Once a referent has been blessed, the C<blessed> function from the
+L<Scalar::Util> core module can tell us its class name. This subroutine
+returns an object's class when passed an object, and false otherwise.
+
+ use Scalar::Util 'blessed';
+
+ print blessed($hash); # undef
+ print blessed($hostname); # File
+
+=head3 Constructor
+
+A B<constructor> creates a new object. In Perl, a class's constructor
+is just another method, unlike some other languages, which provide
+syntax for constructors. Most Perl classes use C<new> as the name for
+their constructor:
+
+ my $file = File->new(...);
+
+=head2 Methods
+
+You already learned that a B<method> is a subroutine that operates on
+an object. You can think of a method as the things that an object can
+I<do>. If an object is a noun, then methods are its verbs (save, print,
+open).
+
+In Perl, methods are simply subroutines that live in a class's package.
+Methods are always written to receive the object as their first
+argument:
+
+ sub print_info {
+ my $self = shift;
+
+ print "This file is at ", $self->path, "\n";
+ }
+
+ $file->print_info;
+ # The file is at /etc/hostname
+
+What makes a method special is I<how it's called>. The arrow operator
+(C<< -> >>) tells Perl that we are calling a method.
+
+When we make a method call, Perl arranges for the method's B<invocant>
+to be passed as the first argument. B<Invocant> is a fancy name for the
+thing on the left side of the arrow. The invocant can either be a class
+name or an object. We can also pass additional arguments to the method:
+
+ sub print_info {
+ my $self = shift;
+ my $prefix = shift // "This file is at ";
+
+ print $prefix, ", ", $self->path, "\n";
+ }
+
+ $file->print_info("The file is located at ");
+ # The file is located at /etc/hostname
+
+=head2 Attributes
+
+Each class can define its B<attributes>. When we instantiate an object,
+we assign values to those attributes. For example, every C<File> object
+has a path. Attributes are sometimes called B<properties>.
+
+Perl has no special syntax for attributes. Under the hood, attributes
+are often stored as keys in the object's underlying hash, but don't
+worry about this.
+
+We recommend that you only access attributes via B<accessor> methods.
+These are methods that can get or set the value of each attribute. We
+saw this earlier in the C<print_info()> example, which calls C<<
+$self->path >>.
+
+You might also see the terms B<getter> and B<setter>. These are two
+types of accessors. A getter gets the attribute's value, while a setter
+sets it. Another term for a setter is B<mutator>
+
+Attributes are typically defined as read-only or read-write. Read-only
+attributes can only be set when the object is first created, while
+read-write attributes can be altered at any time.
+
+The value of an attribute may itself be another object. For example,
+instead of returning its last mod time as a number, the C<File> class
+could return a L<DateTime> object representing that value.
+
+It's possible to have a class that does not expose any publicly
+settable attributes. Not every class has attributes and methods.
+
+=head2 Polymorphism
+
+B<Polymorphism> is a fancy way of saying that objects from two
+different classes share an API. For example, we could have C<File> and
+C<WebPage> classes which both have a C<print_content()> method. This
+method might produce different output for each class, but they share a
+common interface.
+
+While the two classes may differ in many ways, when it comes to the
+C<print_content()> method, they are the same. This means that we can
+try to call the C<print_content()> method on an object of either class,
+and B<we don't have to know what class the object belongs to!>
+
+Polymorphism is one of the key concepts of object-oriented design.
+
+=head2 Inheritance
+
+B<Inheritance> lets you create a specialized version of an existing
+class. Inheritance lets the new class to reuse the methods and
+attributes of another class.
+
+For example, we could create an C<File::MP3> class which B<inherits>
+from C<File>. An C<File::MP3> B<is-a> I<more specific> type of C<File>.
+All mp3 files are files, but not all files are mp3 files.
+
+We often refer to inheritance relationships as B<parent-child> or
+C<superclass/subclass> relationships. Sometimes we say that the child
+has an B<is-a> relationship with its parent class.
+
+C<File> is a B<superclass> of C<File::MP3>, and C<File::MP3> is a
+B<subclass> of C<File>.
+
+ package File::MP3;
+
+ use parent 'File';
+
+The L<parent> module is one of several ways that Perl lets you define
+inheritance relationships.
+
+Perl allows multiple inheritance, which means that a class can inherit
+from multiple parents. While this is possible, we strongly recommend
+against it. Generally, you can use B<roles> to do everything you can do
+with multiple inheritance, but in a cleaner way.
+
+Note that there's nothing wrong with defining multiple subclasses of a
+given class. This is both common and safe. For example, we might define
+C<File::MP3::FixedBitrate> and C<File::MP3::VariableBitrate> classes to
+distinguish between different types of mp3 file.
+
+=head3 Overriding methods and method resolution
+
+Inheritance allows two classes to share code. By default, every method
+in the parent class is also available in the child. The child can
+explicitly B<override> a parent's method to provide its own
+implementation. For example, if we have an C<File::MP3> object, it has
+the C<print_info()> method from C<File>:
+
+ my $cage = File::MP3->new(
+ path => 'mp3s/My-Body-Is-a-Cage.mp3',
+ content => $mp3_data,
+ last_mod_time => 1304974868,
+ title => 'My Body Is a Cage',
+ );
+
+ $cage->print_info;
+ # The file is at mp3s/My-Body-Is-a-Cage.mp3
+
+If we wanted to include the mp3's title in the greeting, we could
+override the method:
+
+ package File::MP3;
+
+ use parent 'File';
+
+ sub print_info {
+ my $self = shift;
+
+ print "This file is at ", $self->path, "\n";
+ print "Its title is ", $self->title, "\n";
+ }
+
+ $cage->print_info;
+ # The file is at mp3s/My-Body-Is-a-Cage.mp3
+ # Its title is My Body Is a Cage
+
+The process of determining what method should be used is called
+B<method resolution>. What Perl does is look at the object's class
+first (C<File::MP3> in this case). If that class defines the method,
+then that class's version of the method is called. If not, Perl looks
+at each parent class in turn. For C<File::MP3>, its only parent is
+C<File>. If C<File::MP3> does not define the method, but C<File> does,
+then Perl calls the method in C<File>.
+
+If C<File> inherited from C<DataSource>, which inherited from C<Thing>,
+then Perl would keep looking "up the chain" if necessary.
+
+It is possible to explicitly call a parent method from a child:
+
+ package File::MP3;
+
+ use parent 'File';
+
+ sub print_info {
+ my $self = shift;
+
+ $self->SUPER::print_info();
+ print "Its title is ", $self->title, "\n";
+ }
+
+The C<SUPER::> bit tells Perl to look for the C<print_info()> in the
+C<File::MP3> class's inheritance chain. When it finds the parent class
+that implements this method, the method is called.
+
+We mentioned multiple inheritance earlier. The main problem with
+multiple inheritance is that it greatly complicates method resolution.
+See L<perlobj> for more details.
+
+=head2 Encapsulation
+
+B<Encapsulation> is the idea that an object is opaque. When another
+developer uses your class, they don't need to know I<how> it is
+implemented, they just need to know I<what> it does.
+
+Encapsulation is important for several reasons. First, it allows you to
+separate the public API from the private implementation. This means you
+can change that implementation without breaking the API.
+
+Second, when classes are well encapsulated, they become easier to
+subclass. Ideally, a subclass uses the same APIs to access object data
+that its parent class uses. In reality, subclassing sometimes involves
+violating encapsulation, but a good API can minimize the need to do
+this.
+
+We mentioned earlier that most Perl objects are implemented as hashes
+under the hood. The principle of encapsulation tells us that we should
+not rely on this. Instead, we should use accessor methods to access the
+data in that hash. The object systems that we recommend below all
+automate the generation of accessor methods. If you use one of them,
+you should never have to access the object as a hash directly.
+
+=head2 Composition
+
+In object-oriented code, we often find that one object references
+another object. This is called B<composition>, or a B<has-a>
+relationship.
+
+Earlier, we mentioned that the C<File> class's C<last_mod_time>
+accessor could return a L<DateTime> object. This is a perfect example
+of composition. We could go even further, and make the C<path> and
+C<content> accessors return objects as well. The C<File> class would
+then be B<composed> of several other objects.
+
+=head2 Roles
+
+B<Roles> are something that a class I<does>, rather than something that
+it I<is>. Roles are relatively new to Perl, but have become rather
+popular. Roles are B<applied> to classes. Sometimes we say that classes
+B<consume> roles.
+
+Roles are an alternative to inheritance for providing polymorphism.
+Let's assume we have two classes, C<Radio> and C<Computer>. Both of
+these things have on/off switches. We want to model that in our class
+definitions.
+
+We could have both classes inherit from a common parent, like
+C<Machine>, but not all machines have on/off switches. We could create
+a parent class called C<HasOnOffSwitch>, but that is very artificial.
+Radios and computers are not specializations of this parent. This
+parent is really a rather ridiculous creation.
+
+This is where roles come in. It makes a lot of sense to create a
+C<HasOnOffSwitch> role and apply it to both classes. This role would
+define a known API like providing C<turn_on()> and C<turn_off()>
+methods.
+
+Perl does not have any built-in way to express roles. In the past,
+people just bit the bullet and used multiple inheritance. Nowadays,
+there are several good choices on CPAN for using roles.
+
+=head2 When to Use OO
+
+Object Orientation is not the best solution to every problem. In I<Perl
+Best Practices> (copyright 2004, Published by O'Reilly Media, Inc.),
+Damian Conway provides a list of criteria to use when deciding if OO is
+the right fit for your problem:
+
+=over 4
+
+=item *
+
+The system being designed is large, or is likely to become large.
+
+=item *
+
+The data can be aggregated into obvious structures, especially if
+there's a large amount of data in each aggregate.
+
+=item *
+
+The various types of data aggregate form a natural hierarchy that
+facilitates the use of inheritance and polymorphism.
+
+=item *
+
+You have a piece of data on which many different operations are
+applied.
+
+=item *
+
+You need to perform the same general operations on related types of
+data, but with slight variations depending on the specific type of data
+the operations are applied to.
+
+=item *
+
+It's likely you'll have to add new data types later.
+
+=item *
+
+The typical interactions between pieces of data are best represented by
+operators.
+
+=item *
+
+The implementation of individual components of the system is likely to
+change over time.
+
+=item *
+
+The system design is already object-oriented.
+
+=item *
+
+Large numbers of other programmers will be using your code modules.
+
+=back
+
+=head1 PERL OO SYSTEMS
+
+As we mentioned before, Perl's built-in OO system is very minimal, but
+also quite flexible. Over the years, many people have developed systems
+which build on top of Perl's built-in system to provide more features
+and convenience.
+
+We strongly recommend that you use one of these systems. Even the most
+minimal of them eliminates a lot of repetitive boilerplate. There's
+really no good reason to write your classes from scratch in Perl.
+
+If you are interested in the guts underlying these systems, check out
+L<perlobj>.
+
+=head2 Moose
+
+L<Moose> bills itself as a "postmodern object system for Perl 5". Don't
+be scared, the "postmodern" label is a callback to Larry's description
+of Perl as "the first postmodern computer language".
+
+C<Moose> provides a complete, modern OO system. Its biggest influence
+is the Common Lisp Object System, but it also borrows ideas from
+Smalltalk and several other languages. C<Moose> was created by Stevan
+Little, and draws heavily from his work on the Perl 6 OO design.
+
+Here is our C<File> class using C<Moose>:
+
+ package File;
+ use Moose;
+
+ has path => ( is => 'ro' );
+ has content => ( is => 'ro' );
+ has last_mod_time => ( is => 'ro' );
+
+ sub print_info {
+ my $self = shift;
+
+ print "This file is at ", $self->path, "\n";
+ }
+
+C<Moose> provides a number of features:
+
+=over 4
+
+=item * Declarative sugar
+
+C<Moose> provides a layer of declarative "sugar" for defining classes.
+That sugar is just a set of exported functions that make declaring how
+your class works simpler and more palatable. This lets you describe
+I<what> your class is, rather than having to tell Perl I<how> to
+implement your class.
+
+The C<has()> subroutine declares an attribute, and C<Moose>
+automatically creates accessors for these attributes. It also takes
+care of creating a C<new()> method for you. This constructor knows
+about the attributes you declared, so you can set them when creating a
+new C<File>.
+
+=item * Roles built-in
+
+C<Moose> lets you define roles the same way you define classes:
+
+ package HasOnOfSwitch;
+ use Moose::Role;
+
+ has is_on => (
+ is => 'rw',
+ isa => 'Bool',
+ );
+
+ sub turn_on {
+ my $self = shift;
+ $self->is_on(1);
+ }
+
+ sub turn_off {
+ my $self = shift;
+ $self->is_on(0);
+ }
+
+=item * A miniature type system
+
+In the example above, you can see that we passed C<< isa => 'Bool' >>
+to C<has()> when creating our C<is_on> attribute. This tells C<Moose>
+that this attribute must be a boolean value. If we try to set it to an
+invalid value, our code will throw an error.
+
+=item * Full introspection and manipulation
+
+Perl's built-in introspection features are fairly minimal. C<Moose>
+builds on top of them and creates a full introspection layer for your
+classes. This lets you ask questions like "what methods does the File
+class implement?" It also lets you modify your classes
+programmatically.
+
+=item * Self-hosted and extensible
+
+C<Moose> describes itself using its own introspection API. Besides
+being a cool trick, this means that you can extend C<Moose> using
+C<Moose> itself.
+
+=item * Rich ecosystem
+
+There is a rich ecosystem of C<Moose> extensions on CPAN under the
+L<MooseX|http://search.cpan.org/search?query=MooseX&mode=dist>
+namespace. In addition, many modules on CPAN already use C<Moose>,
+providing you with lots of examples to learn from.
+
+=item * Many more features
+
+C<Moose> is a very powerful tool, and we can't cover all of its
+features here. We encourage you to learn more by reading the C<Moose>
+documentation, starting with
+L<Moose::Manual|http://search.cpan.org/perldoc?Moose::Manual>.
+
+=back
+
+Of course, C<Moose> isn't perfect.
+
+C<Moose> can make your code slower to load. C<Moose> itself is not
+small, and it does a I<lot> of code generation when you define your
+class. This code generation means that your runtime code is as fast as
+it can be, but you pay for this when your modules are first loaded.
+
+This load time hit can be a problem when startup speed is important,
+such as with a command-line script or a "plain vanilla" CGI script that
+must be loaded each time it is executed.
+
+Before you panic, know that many people do use C<Moose> for
+command-line tools and other startup-sensitive code. We encourage you
+to try C<Moose> out first before worrying about startup speed.
+
+C<Moose> also has several dependencies on other modules. Most of these
+are small stand-alone modules, a number of which have been spun off
+from C<Moose>. C<Moose> itself, and some of its dependencies, require a
+compiler. If you need to install your software on a system without a
+compiler, or if having I<any> dependencies is a problem, then C<Moose>
+may not be right for you.
+
+=head3 Mouse
+
+If you try C<Moose> and find that one of these issues is preventing you
+from using C<Moose>, we encourage you to consider L<Mouse> next.
+C<Mouse> implements a subset of C<Moose>'s functionality in a simpler
+package. For all features that it does implement, the end-user API is
+I<identical> to C<Moose>, meaning you can switch from C<Mouse> to
+C<Moose> quite easily.
+
+C<Mouse> does not implement most of C<Moose>'s introspection API, so
+it's often faster when loading your modules. Additionally, all of its
+I<required> dependencies ship with the Perl core, and it can run
+without a compiler. If you do have a compiler, C<Mouse> will use it to
+compile some of its code for a speed boost.
+
+Finally, it ships with a C<Mouse::Tiny> module that takes most of
+C<Mouse>'s features and bundles them up in a single module file. You
+can copy this module file into your application's library directory for
+easy bundling.
+
+The C<Moose> authors hope that one day C<Mouse> can be made obsolete by
+improving C<Moose> enough, but for now it provides a worthwhile
+alternative to C<Moose>.
+
+=head2 Class::Accessor
+
+L<Class::Accessor> is the polar opposite of C<Moose>. It provides very
+few features, nor is it self-hosting.
+
+It is, however, very simple, pure Perl, and it has no non-core
+dependencies. It also provides a "Moose-like" API on demand for the
+features it supports.
+
+Even though it doesn't do much, it is still preferable to writing your
+own classes from scratch.
+
+Here's our C<File> class with C<Class::Accessor>:
+
+ package File;
+ use Class::Accessor 'antlers';
+
+ has path => ( is => 'ro' );
+ has content => ( is => 'ro' );
+ has last_mod_time => ( is => 'ro' );
+
+ sub print_info {
+ my $self = shift;
+
+ print "This file is at ", $self->path, "\n";
+ }
+
+The C<antlers> import flag tells C<Class::Accessor> that you want to
+define your attributes using C<Moose>-like syntax. The only parameter
+that you can pass to C<has> is C<is>. We recommend that you use this
+Moose-like syntax if you choose C<Class::Accessor> since it means you
+will have a smoother upgrade path if you later decide to move to
+C<Moose>.
+
+Like C<Moose>, C<Class::Accessor> generates accessor methods and a
+constructor for your class.
+
+=head2 Object::Tiny
+
+Finally, we have L<Object::Tiny>. This module truly lives up to its
+name. It has an incredibly minimal API and absolutely no dependencies
+(core or not). Still, we think it's a lot easier to use than writing
+your own OO code from scratch.
+
+Here's our C<File> class once more:
+
+ package File;
+ use Object::Tiny qw( path content last_mod_time );
+
+ sub print_info {
+ my $self = shift;
+
+ print "This file is at ", $self->path, "\n";
+ }
+
+That's it!
+
+With C<Object::Tiny>, all accessors are read-only. It generates a
+constructor for you, as well as the accessors you define.
+
+=head2 Role::Tiny
+
+As we mentioned before, roles provide an alternative to inheritance,
+but Perl does not have any built-in role support. If you choose to use
+Moose, it comes with a full-fledged role implementation. However, if
+you use one of our other recommended OO modules, you can still use
+roles with L<Role::Tiny>
+
+C<Role::Tiny> provides some of the same features as Moose's role
+system, but in a much smaller package. Most notably, it doesn't support
+any sort of attribute declaration, so you have to do that by hand.
+Still, it's useful, and works well with C<Class::Accessor> and
+C<Object::Tiny>
+
+=head2 OO System Summary
+
+Here's a brief recap of the options we covered:
+
+=over 4
+
+=item * L<Moose>
+
+C<Moose> is the maximal option. It has a lot of features, a big
+ecosystem, and a thriving user base. We also covered L<Mouse> briefly.
+C<Mouse> is C<Moose> lite, and a reasonable alternative when Moose
+doesn't work for your application.
+
+=item * L<Class::Accessor>
+
+C<Class::Accessor> does a lot less than C<Moose>, and is a nice
+alternative if you find C<Moose> overwhelming. It's been around a long
+time and is well battle-tested. It also has a minimal C<Moose>
+compatibility mode which makes moving from C<Class::Accessor> to
+C<Moose> easy.
+
+=item * L<Object::Tiny>
+
+C<Object::Tiny> is the absolute minimal option. It has no dependencies,
+and almost no syntax to learn. It's a good option for a super minimal
+environment and for throwing something together quickly without having
+to worry about details.
+
+=item * L<Role::Tiny>
+
+Use C<Role::Tiny> with C<Class::Accessor> or C<Object::Tiny> if you
+find yourself considering multiple inheritance. If you go with
+C<Moose>, it comes with its own role implementation.
+
+=back
+
+=head2 Other OO Systems
+
+There are literally dozens of other OO-related modules on CPAN besides
+those covered here, and you're likely to run across one or more of them
+if you work with other people's code.
+
+In addition, plenty of code in the wild does all of its OO "by hand",
+using just the Perl built-in OO features. If you need to maintain such
+code, you should read L<perlobj> to understand exactly how Perl's
+built-in OO works.
+
+=head1 CONCLUSION
+
+As we said before, Perl's minimal OO system has led to a profusion of
+OO systems on CPAN. While you can still drop down to the bare metal and
+write your classes by hand, there's really no reason to do that with
+modern Perl.
+
+For small systems, L<Object::Tiny> and L<Class::Accessor> both provide
+minimal object systems that take care of basic boilerplate for you.
+
+For bigger projects, L<Moose> provides a rich set of features that will
+let you focus on implementing your business logic.
+
+We encourage you to play with and evaluate L<Moose>,
+L<Class::Accessor>, and L<Object::Tiny> to see which OO system is right
+for you.
+
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlop.pod b/Master/tlpkg/tlperl/lib/pods/perlop.pod
index 665a6b58aba..7b2d0a3acd0 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlop.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlop.pod
@@ -190,7 +190,7 @@ internally.)
=head2 Symbolic Unary Operators
X<unary operator> X<operator, unary>
-Unary "!" performs logical negation, i.e., "not". See also C<not> for a lower
+Unary "!" performs logical negation, that is, "not". See also C<not> for a lower
precedence version of this.
X<!>
@@ -207,7 +207,7 @@ string cannot be cleanly converted to a numeric, Perl will give the warning
B<Argument "the string" isn't numeric in negation (-) at ...>.
X<-> X<negation, arithmetic>
-Unary "~" performs bitwise negation, i.e., 1's complement. For
+Unary "~" performs bitwise negation, that is, 1's complement. For
example, C<0666 & ~027> is 0640. (See also L<Integer Arithmetic> and
L<Bitwise String Operators>.) Note that the width of the result is
platform-dependent: ~0 is 32 bits wide on a 32-bit platform, but 64
@@ -253,7 +253,7 @@ If the right argument is an expression rather than a search pattern,
substitution, or transliteration, it is interpreted as a search pattern at run
time. Note that this means that its contents will be interpolated twice, so
- '\\' =~ q'\\';
+ '\\' =~ q'\\';
is not ok, as the regex engine will end up trying to compile the
pattern C<\>, which it will consider a syntax error.
@@ -279,7 +279,7 @@ Given integer
operands C<$a> and C<$b>: If C<$b> is positive, then C<$a % $b> is
C<$a> minus the largest multiple of C<$b> less than or equal to
C<$a>. If C<$b> is negative, then C<$a % $b> is C<$a> minus the
-smallest multiple of C<$b> that is not less than C<$a> (i.e. the
+smallest multiple of C<$b> that is not less than C<$a> (that is, the
result will be less than or equal to zero). If the operands
C<$a> and C<$b> are floating point values and the absolute value of
C<$b> (that is C<abs($b)>) is less than C<(UV_MAX + 1)>, only
@@ -317,13 +317,13 @@ X<x>
=head2 Additive Operators
X<operator, additive>
-Binary "+" returns the sum of two numbers.
+Binary C<+> returns the sum of two numbers.
X<+>
-Binary "-" returns the difference of two numbers.
+Binary C<-> returns the difference of two numbers.
X<->
-Binary "." concatenates two strings.
+Binary C<.> concatenates two strings.
X<string, concatenation> X<concatenation>
X<cat> X<concat> X<concatenate> X<.>
@@ -332,16 +332,16 @@ X<shift operator> X<operator, shift> X<<< << >>>
X<<< >> >>> X<right shift> X<left shift> X<bitwise shift>
X<shl> X<shr> X<shift, right> X<shift, left>
-Binary "<<" returns the value of its left argument shifted left by the
+Binary C<<< << >>> returns the value of its left argument shifted left by the
number of bits specified by the right argument. Arguments should be
integers. (See also L<Integer Arithmetic>.)
-Binary ">>" returns the value of its left argument shifted right by
+Binary C<<< >> >>> returns the value of its left argument shifted right by
the number of bits specified by the right argument. Arguments should
be integers. (See also L<Integer Arithmetic>.)
-Note that both "<<" and ">>" in Perl are implemented directly using
-"<<" and ">>" in C. If C<use integer> (see L<Integer Arithmetic>) is
+Note that both C<<< << >>> and C<<< >> >>> in Perl are implemented directly using
+C<<< << >>> and C<<< >> >>> in C. If C<use integer> (see L<Integer Arithmetic>) is
in force then signed C integers are used, else unsigned C integers are
used. Either way, the implementation isn't going to generate results
larger than the size of the integer type Perl was built with (32 bits
@@ -352,6 +352,15 @@ because it is undefined also in C. In other words, using 32-bit
integers, C<< 1 << 32 >> is undefined. Shifting by a negative number
of bits is also undefined.
+If you get tired of being subject to your platform's native integers,
+the C<use bigint> pragma neatly sidesteps the issue altogether:
+
+ print 20 << 20; # 20971520
+ print 20 << 40; # 5120 on 32-bit machines,
+ # 21990232555520 on 64-bit machines
+ use bigint;
+ print 20 << 100; # 25353012004564588029934064107520
+
=head2 Named Unary Operators
X<operator, named unary>
@@ -362,7 +371,7 @@ If any list operator (print(), etc.) or any unary operator (chdir(), etc.)
is followed by a left parenthesis as the next token, the operator and
arguments within parentheses are taken to be of highest precedence,
just like a normal function call. For example,
-because named unary operators are higher precedence than ||:
+because named unary operators are higher precedence than C<||>:
chdir $foo || die; # (chdir $foo) || die
chdir($foo) || die; # (chdir $foo) || die
@@ -392,6 +401,13 @@ See also L<"Terms and List Operators (Leftward)">.
=head2 Relational Operators
X<relational operator> X<operator, relational>
+Perl operators that return true or false generally return values
+that can be safely used as numbers. For example, the relational
+operators in this section and the equality operators in the next
+one return C<1> for true and a special version of the defined empty
+string, C<"">, which counts as a zero but is exempt from warnings
+about improper numeric conversions, just as C<"0 but true"> is.
+
Binary "<" returns true if the left argument is numerically less than
the right argument.
X<< < >>
@@ -444,8 +460,11 @@ returns true, as does NaN != anything else. If your platform doesn't
support NaNs then NaN is just a string with numeric value 0.
X<< <=> >> X<spaceship>
- perl -le '$a = "NaN"; print "No NaN support here" if $a == $a'
- perl -le '$a = "NaN"; print "NaN support here" if $a != $a'
+ $ perl -le '$a = "NaN"; print "No NaN support here" if $a == $a'
+ $ perl -le '$a = "NaN"; print "NaN support here" if $a != $a'
+
+(Note that the L<bigint>, L<bigrat>, and L<bignum> pragmas all
+support "NaN".)
Binary "eq" returns true if the left argument is stringwise equal to
the right argument.
@@ -460,12 +479,307 @@ argument is stringwise less than, equal to, or greater than the right
argument.
X<cmp>
-Binary "~~" does a smart match between its arguments. Smart matching
-is described in L<perlsyn/"Smart matching in detail">.
+Binary "~~" does a smartmatch between its arguments. Smart matching
+is described in the next section.
X<~~>
"lt", "le", "ge", "gt" and "cmp" use the collation (sort) order specified
-by the current locale if C<use locale> is in effect. See L<perllocale>.
+by the current locale if a legacy C<use locale> (but not
+C<use locale ':not_characters'>) is in effect. See
+L<perllocale>. Do not mix these with Unicode, only with legacy binary
+encodings. The standard L<Unicode::Collate> and
+L<Unicode::Collate::Locale> modules offer much more powerful solutions to
+collation issues.
+
+=head2 Smartmatch Operator
+
+First available in Perl 5.10.1 (the 5.10.0 version behaved differently),
+binary C<~~> does a "smartmatch" between its arguments. This is mostly
+used implicitly in the C<when> construct described in L<perlsyn>, although
+not all C<when> clauses call the smartmatch operator. Unique among all of
+Perl's operators, the smartmatch operator can recurse.
+
+It is also unique in that all other Perl operators impose a context
+(usually string or numeric context) on their operands, autoconverting
+those operands to those imposed contexts. In contrast, smartmatch
+I<infers> contexts from the actual types of its operands and uses that
+type information to select a suitable comparison mechanism.
+
+The C<~~> operator compares its operands "polymorphically", determining how
+to compare them according to their actual types (numeric, string, array,
+hash, etc.) Like the equality operators with which it shares the same
+precedence, C<~~> returns 1 for true and C<""> for false. It is often best
+read aloud as "in", "inside of", or "is contained in", because the left
+operand is often looked for I<inside> the right operand. That makes the
+order of the operands to the smartmatch operand often opposite that of
+the regular match operator. In other words, the "smaller" thing is usually
+placed in the left operand and the larger one in the right.
+
+The behavior of a smartmatch depends on what type of things its arguments
+are, as determined by the following table. The first row of the table
+whose types apply determines the smartmatch behavior. Because what
+actually happens is mostly determined by the type of the second operand,
+the table is sorted on the right operand instead of on the left.
+
+ Left Right Description and pseudocode
+ ===============================================================
+ Any undef check whether Any is undefined
+ like: !defined Any
+
+ Any Object invoke ~~ overloading on Object, or die
+
+ Right operand is an ARRAY:
+
+ Left Right Description and pseudocode
+ ===============================================================
+ ARRAY1 ARRAY2 recurse on paired elements of ARRAY1 and ARRAY2[2]
+ like: (ARRAY1[0] ~~ ARRAY2[0])
+ && (ARRAY1[1] ~~ ARRAY2[1]) && ...
+ HASH ARRAY any ARRAY elements exist as HASH keys
+ like: grep { exists HASH->{$_} } ARRAY
+ Regexp ARRAY any ARRAY elements pattern match Regexp
+ like: grep { /Regexp/ } ARRAY
+ undef ARRAY undef in ARRAY
+ like: grep { !defined } ARRAY
+ Any ARRAY smartmatch each ARRAY element[3]
+ like: grep { Any ~~ $_ } ARRAY
+
+ Right operand is a HASH:
+
+ Left Right Description and pseudocode
+ ===============================================================
+ HASH1 HASH2 all same keys in both HASHes
+ like: keys HASH1 ==
+ grep { exists HASH2->{$_} } keys HASH1
+ ARRAY HASH any ARRAY elements exist as HASH keys
+ like: grep { exists HASH->{$_} } ARRAY
+ Regexp HASH any HASH keys pattern match Regexp
+ like: grep { /Regexp/ } keys HASH
+ undef HASH always false (undef can't be a key)
+ like: 0 == 1
+ Any HASH HASH key existence
+ like: exists HASH->{Any}
+
+ Right operand is CODE:
+
+ Left Right Description and pseudocode
+ ===============================================================
+ ARRAY CODE sub returns true on all ARRAY elements[1]
+ like: !grep { !CODE->($_) } ARRAY
+ HASH CODE sub returns true on all HASH keys[1]
+ like: !grep { !CODE->($_) } keys HASH
+ Any CODE sub passed Any returns true
+ like: CODE->(Any)
+
+Right operand is a Regexp:
+
+ Left Right Description and pseudocode
+ ===============================================================
+ ARRAY Regexp any ARRAY elements match Regexp
+ like: grep { /Regexp/ } ARRAY
+ HASH Regexp any HASH keys match Regexp
+ like: grep { /Regexp/ } keys HASH
+ Any Regexp pattern match
+ like: Any =~ /Regexp/
+
+ Other:
+
+ Left Right Description and pseudocode
+ ===============================================================
+ Object Any invoke ~~ overloading on Object,
+ or fall back to...
+
+ Any Num numeric equality
+ like: Any == Num
+ Num nummy[4] numeric equality
+ like: Num == nummy
+ undef Any check whether undefined
+ like: !defined(Any)
+ Any Any string equality
+ like: Any eq Any
+
+
+Notes:
+
+=over
+
+=item 1.
+Empty hashes or arrays match.
+
+=item 2.
+That is, each element smartmatches the element of the same index in the other array.[3]
+
+=item 3.
+If a circular reference is found, fall back to referential equality.
+
+=item 4.
+Either an actual number, or a string that looks like one.
+
+=back
+
+The smartmatch implicitly dereferences any non-blessed hash or array
+reference, so the C<I<HASH>> and C<I<ARRAY>> entries apply in those cases.
+For blessed references, the C<I<Object>> entries apply. Smartmatches
+involving hashes only consider hash keys, never hash values.
+
+The "like" code entry is not always an exact rendition. For example, the
+smartmatch operator short-circuits whenever possible, but C<grep> does
+not. Also, C<grep> in scalar context returns the number of matches, but
+C<~~> returns only true or false.
+
+Unlike most operators, the smartmatch operator knows to treat C<undef>
+specially:
+
+ use v5.10.1;
+ @array = (1, 2, 3, undef, 4, 5);
+ say "some elements undefined" if undef ~~ @array;
+
+Each operand is considered in a modified scalar context, the modification
+being that array and hash variables are passed by reference to the
+operator, which implicitly dereferences them. Both elements
+of each pair are the same:
+
+ use v5.10.1;
+
+ my %hash = (red => 1, blue => 2, green => 3,
+ orange => 4, yellow => 5, purple => 6,
+ black => 7, grey => 8, white => 9);
+
+ my @array = qw(red blue green);
+
+ say "some array elements in hash keys" if @array ~~ %hash;
+ say "some array elements in hash keys" if \@array ~~ \%hash;
+
+ say "red in array" if "red" ~~ @array;
+ say "red in array" if "red" ~~ \@array;
+
+ say "some keys end in e" if /e$/ ~~ %hash;
+ say "some keys end in e" if /e$/ ~~ \%hash;
+
+Two arrays smartmatch if each element in the first array smartmatches
+(that is, is "in") the corresponding element in the second array,
+recursively.
+
+ use v5.10.1;
+ my @little = qw(red blue green);
+ my @bigger = ("red", "blue", [ "orange", "green" ] );
+ if (@little ~~ @bigger) { # true!
+ say "little is contained in bigger";
+ }
+
+Because the smartmatch operator recurses on nested arrays, this
+will still report that "red" is in the array.
+
+ use v5.10.1;
+ my @array = qw(red blue green);
+ my $nested_array = [[[[[[[ @array ]]]]]]];
+ say "red in array" if "red" ~~ $nested_array;
+
+If two arrays smartmatch each other, then they are deep
+copies of each others' values, as this example reports:
+
+ use v5.12.0;
+ my @a = (0, 1, 2, [3, [4, 5], 6], 7);
+ my @b = (0, 1, 2, [3, [4, 5], 6], 7);
+
+ if (@a ~~ @b && @b ~~ @a) {
+ say "a and b are deep copies of each other";
+ }
+ elsif (@a ~~ @b) {
+ say "a smartmatches in b";
+ }
+ elsif (@b ~~ @a) {
+ say "b smartmatches in a";
+ }
+ else {
+ say "a and b don't smartmatch each other at all";
+ }
+
+
+If you were to set C<$b[3] = 4>, then instead of reporting that "a and b
+are deep copies of each other", it now reports that "b smartmatches in a".
+That because the corresponding position in C<@a> contains an array that
+(eventually) has a 4 in it.
+
+Smartmatching one hash against another reports whether both contain the
+same keys, no more and no less. This could be used to see whether two
+records have the same field names, without caring what values those fields
+might have. For example:
+
+ use v5.10.1;
+ sub make_dogtag {
+ state $REQUIRED_FIELDS = { name=>1, rank=>1, serial_num=>1 };
+
+ my ($class, $init_fields) = @_;
+
+ die "Must supply (only) name, rank, and serial number"
+ unless $init_fields ~~ $REQUIRED_FIELDS;
+
+ ...
+ }
+
+or, if other non-required fields are allowed, use ARRAY ~~ HASH:
+
+ use v5.10.1;
+ sub make_dogtag {
+ state $REQUIRED_FIELDS = { name=>1, rank=>1, serial_num=>1 };
+
+ my ($class, $init_fields) = @_;
+
+ die "Must supply (at least) name, rank, and serial number"
+ unless [keys %{$init_fields}] ~~ $REQUIRED_FIELDS;
+
+ ...
+ }
+
+The smartmatch operator is most often used as the implicit operator of a
+C<when> clause. See the section on "Switch Statements" in L<perlsyn>.
+
+=head3 Smartmatching of Objects
+
+To avoid relying on an object's underlying representation, if the
+smartmatch's right operand is an object that doesn't overload C<~~>,
+it raises the exception "C<Smartmatching a non-overloaded object
+breaks encapsulation>". That's because one has no business digging
+around to see whether something is "in" an object. These are all
+illegal on objects without a C<~~> overload:
+
+ %hash ~~ $object
+ 42 ~~ $object
+ "fred" ~~ $object
+
+However, you can change the way an object is smartmatched by overloading
+the C<~~> operator. This is allowed to extend the usual smartmatch semantics.
+For objects that do have an C<~~> overload, see L<overload>.
+
+Using an object as the left operand is allowed, although not very useful.
+Smartmatching rules take precedence over overloading, so even if the
+object in the left operand has smartmatch overloading, this will be
+ignored. A left operand that is a non-overloaded object falls back on a
+string or numeric comparison of whatever the C<ref> operator returns. That
+means that
+
+ $object ~~ X
+
+does I<not> invoke the overload method with C<I<X>> as an argument.
+Instead the above table is consulted as normal, and based on the type of
+C<I<X>>, overloading may or may not be invoked. For simple strings or
+numbers, in becomes equivalent to this:
+
+ $object ~~ $number ref($object) == $number
+ $object ~~ $string ref($object) eq $string
+
+For example, this reports that the handle smells IOish
+(but please don't really do this!):
+
+ use IO::Handle;
+ my $fh = IO::Handle->new();
+ if ($fh ~~ /\bIO\b/) {
+ say "handle smells IOish";
+ }
+
+That's because it treats C<$fh> as a string like
+C<"IO::Handle=GLOB(0x8039e0)">, then pattern matches against that.
=head2 Bitwise And
X<operator, bitwise, and> X<bitwise and> X<&>
@@ -474,9 +788,9 @@ Binary "&" returns its operands ANDed together bit by bit.
(See also L<Integer Arithmetic> and L<Bitwise String Operators>.)
Note that "&" has lower priority than relational operators, so for example
-the brackets are essential in a test like
+the parentheses are essential in a test like
- print "Even\n" if ($x & 1) == 0;
+ print "Even\n" if ($x & 1) == 0;
=head2 Bitwise Or and Exclusive Or
X<operator, bitwise, or> X<bitwise or> X<|> X<operator, bitwise, xor>
@@ -491,7 +805,7 @@ Binary "^" returns its operands XORed together bit by bit.
Note that "|" and "^" have lower priority than relational operators, so
for example the brackets are essential in a test like
- print "false\n" if (8 | 2) != 10;
+ print "false\n" if (8 | 2) != 10;
=head2 C-style Logical And
X<&&> X<logical and> X<operator, logical, and>
@@ -509,16 +823,18 @@ if the left operand is true, the right operand is not even evaluated.
Scalar or list context propagates down to the right operand if it
is evaluated.
-=head2 C-style Logical Defined-Or
+=head2 Logical Defined-Or
X<//> X<operator, logical, defined-or>
Although it has no direct equivalent in C, Perl's C<//> operator is related
to its C-style or. In fact, it's exactly the same as C<||>, except that it
-tests the left hand side's definedness instead of its truth. Thus, C<$a // $b>
-is similar to C<defined($a) || $b> (except that it returns the value of C<$a>
-rather than the value of C<defined($a)>) and yields the same result as
-C<defined($a) ? $a : $b> (except that the ternary-operator form can be
-used as a lvalue, while C<$a // $b> cannot). This is very useful for
+tests the left hand side's definedness instead of its truth. Thus,
+C<< EXPR1 // EXPR2 >> returns the value of C<< EXPR1 >> if it's defined,
+otherwise, the value of C<< EXPR2 >> is returned. (C<< EXPR1 >> is evaluated
+in scalar context, C<< EXPR2 >> in the context of C<< // >> itself). Usually,
+this is the same result as C<< defined(EXPR1) ? EXPR1 : EXPR2 >> (except that
+the ternary-operator form can be used as a lvalue, while C<< EXPR1 // EXPR2 >>
+cannot). This is very useful for
providing default values for variables. If you actually want to test if
at least one of C<$a> and C<$b> is defined, use C<defined($a // $b)>.
@@ -538,7 +854,7 @@ for selecting between two aggregates for assignment:
@a = scalar(@b) || @c; # really meant this
@a = @b ? @b : @c; # this works fine, though
-As more readable alternatives to C<&&> and C<||> when used for
+As alternatives to C<&&> and C<||> when used for
control flow, Perl provides the C<and> and C<or> operators (see below).
The short-circuit behavior is identical. The precedence of "and"
and "or" is much lower, however, so that you can safely use them after a
@@ -552,6 +868,13 @@ With the C-style operators that would have been written like this:
unlink("alpha", "beta", "gamma")
|| (gripe(), next LINE);
+It would be even more readable to write that this way:
+
+ unless(unlink("alpha", "beta", "gamma")) {
+ gripe();
+ next LINE;
+ }
+
Using "or" for assignment is unlikely to do what you want; see below.
=head2 Range Operators
@@ -659,9 +982,9 @@ the range operator is changed to C<...>, it will also print the
And now some examples as a list operator:
- for (101 .. 200) { print; } # print $_ 100 times
- @foo = @foo[0 .. $#foo]; # an expensive no-op
- @foo = @foo[$#foo-4 .. $#foo]; # slice last 5 items
+ for (101 .. 200) { print } # print $_ 100 times
+ @foo = @foo[0 .. $#foo]; # an expensive no-op
+ @foo = @foo[$#foo-4 .. $#foo]; # slice last 5 items
The range operator (in list context) makes use of the magical
auto-increment algorithm if the operands are strings. You
@@ -675,7 +998,8 @@ to get all normal letters of the English alphabet, or
to get a hexadecimal digit, or
- @z2 = ("01" .. "31"); print $z2[$mday];
+ @z2 = ("01" .. "31");
+ print $z2[$mday];
to get dates with leading zeros.
@@ -695,8 +1019,10 @@ To get the 25 traditional lowercase Greek letters, including both sigmas,
you could use this instead:
use charnames "greek";
- my @greek_small = map { chr }
- ord "\N{alpha}" .. ord "\N{omega}";
+ my @greek_small = map { chr } ( ord("\N{alpha}")
+ ..
+ ord("\N{omega}")
+ );
However, because there are I<many> other lowercase Greek characters than
just those, to match lowercase Greek characters in a regular expression,
@@ -779,7 +1105,12 @@ Modifying an assignment is equivalent to doing the assignment and
then modifying the variable that was assigned to. This is useful
for modifying a copy of something, like this:
- ($tmp = $global) =~ tr [0-9] [a-j];
+ ($tmp = $global) =~ tr/13579/24680/;
+
+Although as of 5.14, that can be also be accomplished this way:
+
+ use v5.14;
+ $tmp = ($global =~ tr/13579/24680/r);
Likewise,
@@ -795,72 +1126,6 @@ lvalues assigned to, and a list assignment in scalar context returns
the number of elements produced by the expression on the right hand
side of the assignment.
-=head2 The Triple-Dot Operator
-X<...> X<... operator> X<yada-yada operator> X<whatever operator>
-X<triple-dot operator>
-
-The triple-dot operator, C<...>, sometimes called the "whatever operator", the
-"yada-yada operator", or the "I<et cetera>" operator, is a placeholder for
-code. Perl parses it without error, but when you try to execute a whatever,
-it throws an exception with the text C<Unimplemented>:
-
- sub unimplemented { ... }
-
- eval { unimplemented() };
- if ($@ eq "Unimplemented" ) {
- say "Oh look, an exception--whatever.";
- }
-
-You can only use the triple-dot operator to stand in for a complete statement.
-These examples of the triple-dot work:
-
- { ... }
-
- sub foo { ... }
-
- ...;
-
- eval { ... };
-
- sub foo {
- my ($self) = shift;
- ...;
- }
-
- do {
- my $variable;
- ...;
- say "Hurrah!";
- } while $cheering;
-
-The yada-yada--or whatever--cannot stand in for an expression that is
-part of a larger statement since the C<...> is also the three-dot version
-of the binary range operator (see L<Range Operators>). These examples of
-the whatever operator are still syntax errors:
-
- print ...;
-
- open(PASSWD, ">", "/dev/passwd") or ...;
-
- if ($condition && ...) { say "Hello" }
-
-There are some cases where Perl can't immediately tell the difference
-between an expression and a statement. For instance, the syntax for a
-block and an anonymous hash reference constructor look the same unless
-there's something in the braces that give Perl a hint. The whatever
-is a syntax error if Perl doesn't guess that the C<{ ... }> is a
-block. In that case, it doesn't think the C<...> is the whatever
-because it's expecting an expression instead of a statement:
-
- my @transformed = map { ... } @input; # syntax error
-
-You can use a C<;> inside your block to denote that the C<{ ... }> is
-a block and not a hash reference constructor. Now the whatever works:
-
- my @transformed = map {; ... } @input; # ; disambiguates
-
- my @transformed = map { ...; } @input; # ; disambiguates
-
=head2 Comma Operator
X<comma> X<operator, comma> X<,>
@@ -872,8 +1137,8 @@ In list context, it's just the list argument separator, and inserts
both its arguments into the list. These arguments are also evaluated
from left to right.
-The C<< => >> operator is a synonym for the comma except that it causes
-its left operand to be interpreted as a string if it begins with a letter
+The C<< => >> operator is a synonym for the comma except that it causes a
+word on its left to be interpreted as a string if it begins with a letter
or underscore and is composed only of letters, digits and underscores.
This includes operands that might otherwise be interpreted as operators,
constants, single number v-strings or function calls. If in doubt about
@@ -899,8 +1164,17 @@ It is I<NOT>:
The C<< => >> operator is helpful in documenting the correspondence
between keys and values in hashes, and other paired elements in lists.
- %hash = ( $key => $value );
- login( $username => $password );
+ %hash = ( $key => $value );
+ login( $username => $password );
+
+The special quoting behavior ignores precedence, and hence may apply to
+I<part> of the left operand:
+
+ print time.shift => "bbb";
+
+That example prints something like "1314363215shiftbbb", because the
+C<< => >> implicitly quotes the C<shift> immediately on its left, ignoring
+the fact that C<time.shift> is the entire left operand.
=head2 List Operators (Rightward)
X<operator, list, rightward> X<list operator>
@@ -909,10 +1183,18 @@ On the right side of a list operator, the comma has very low precedence,
such that it controls all comma-separated expressions found there.
The only operators with lower precedence are the logical operators
"and", "or", and "not", which may be used to evaluate calls to list
-operators without the need for extra parentheses:
+operators without the need for parentheses:
+
+ open HANDLE, "< :utf8", "filename" or die "Can't open: $!\n";
+
+However, some people find that code harder to read than writing
+it with parentheses:
- open HANDLE, "< $file"
- or die "Can't open $file: $!\n";
+ open(HANDLE, "< :utf8", "filename") or die "Can't open: $!\n";
+
+in which case you might as well just use the more customary "||" operator:
+
+ open(HANDLE, "< :utf8", "filename") || die "Can't open: $!\n";
See also discussion of list operators in L<Terms and List Operators (Leftward)>.
@@ -930,9 +1212,9 @@ expressions. It's equivalent to C<&&> except for the very low
precedence. This means that it short-circuits: the right
expression is evaluated only if the left expression is true.
-=head2 Logical or, Defined or, and Exclusive Or
+=head2 Logical or and Exclusive Or
X<operator, logical, or> X<operator, logical, xor>
-X<operator, logical, defined or> X<operator, logical, exclusive or>
+X<operator, logical, exclusive or>
X<or> X<xor>
Binary "or" returns the logical disjunction of the two surrounding
@@ -959,9 +1241,11 @@ takes higher precedence.
Then again, you could always use parentheses.
-Binary "xor" returns the exclusive-OR of the two surrounding expressions.
+Binary C<xor> returns the exclusive-OR of the two surrounding expressions.
It cannot short-circuit (of course).
+There is no low precedence operator for defined-OR.
+
=head2 C Operators Missing From Perl
X<operator, missing from perl> X<&> X<*>
X<typecasting> X<(TYPE)>
@@ -1123,6 +1407,10 @@ table:
\c^ chr(30)
\c? chr(127)
+In other words, it's the character whose code point has had 64 xor'd with
+its uppercase. C<\c?> is DELETE because C<ord("@") ^ 64> is 127, and
+C<\c@> is NULL because the ord of "@" is 64, so xor'ing 64 itself produces 0.
+
Also, C<\c\I<X>> yields C< chr(28) . "I<X>"> for any I<X>, but cannot come at the
end of a string, because the backslash would be parsed as escaping the end
quote.
@@ -1134,9 +1422,9 @@ sequences mean on both ASCII and EBCDIC platforms.
Use of any other character following the "c" besides those listed above is
discouraged, and some are deprecated with the intention of removing
-those in Perl 5.16. What happens for any of these
-other characters currently though, is that the value is derived by inverting
-the 7th bit (0x40).
+those in a later Perl version. What happens for any of these
+other characters currently though, is that the value is derived by xor'ing
+with the seventh bit, which is 64.
To get platform independent controls, you can use C<\N{...}>.
@@ -1158,18 +1446,19 @@ L</[8]> below for details on which character.
Some contexts allow 2 or even 1 digit, but any usage without exactly
three digits, the first being a zero, may give unintended results. (For
-example, see L<perlrebackslash/Octal escapes>.) Starting in Perl 5.14, you may
+example, in a regular expression it may be confused with a backreference;
+see L<perlrebackslash/Octal escapes>.) Starting in Perl 5.14, you may
use C<\o{}> instead, which avoids all these problems. Otherwise, it is best to
use this construct only for ordinals C<\077> and below, remembering to pad to
the left with zeros to make three digits. For larger ordinals, either use
-C<\o{}> , or convert to something else, such as to hex and use C<\x{}>
+C<\o{}>, or convert to something else, such as to hex and use C<\x{}>
instead.
Having fewer than 3 digits may lead to a misleading warning message that says
that what follows is ignored. For example, C<"\128"> in the ASCII character set
is equivalent to the two characters C<"\n8">, but the warning C<Illegal octal
-digit '8' ignored> will be thrown. To avoid this warning, make sure to pad
-your octal number with C<0>'s: C<"\0128">.
+digit '8' ignored> will be thrown. If C<"\n8"> is what you want, you can
+avoid this warning by padding your octal number with C<0>'s: C<"\0128">.
=item [8]
@@ -1187,10 +1476,10 @@ character set encoding. In ASCII the character in the 80th position (indexed
from 0) is the letter "P", and in EBCDIC it is the ampersand symbol "&".
C<\x{100}> and C<\o{400}> are both 256 in decimal, so the number is interpreted
as a Unicode code point no matter what the native encoding is. The name of the
-character in the 100th position (indexed by 0) in Unicode is
+character in the 256th position (indexed by 0) in Unicode is
C<LATIN CAPITAL LETTER A WITH MACRON>.
-There are a couple of exceptions to the above rule. C<\N{U+I<hex number>}> is
+There are a couple of exceptions to the above rule. S<C<\N{U+I<hex number>}>> is
always interpreted as a Unicode code point, so that C<\N{U+0050}> is "P" even
on EBCDIC platforms. And if L<C<S<use encoding>>|encoding> is in effect, the
number is considered to be in that encoding, and is translated from that into
@@ -1205,28 +1494,35 @@ does have meaning in regular expression patterns in Perl, see L<perlre>.)
The following escape sequences are available in constructs that interpolate,
but not in transliterations.
-X<\l> X<\u> X<\L> X<\U> X<\E> X<\Q>
+X<\l> X<\u> X<\L> X<\U> X<\E> X<\Q> X<\F>
\l lowercase next character only
\u titlecase (not uppercase!) next character only
- \L lowercase all characters till \E seen
- \U uppercase all characters till \E seen
- \Q quote non-word characters till \E
+ \L lowercase all characters till \E or end of string
+ \U uppercase all characters till \E or end of string
+ \F foldcase all characters till \E or end of string
+ \Q quote (disable) pattern metacharacters till \E or
+ end of string
\E end either case modification or quoted section
(whichever was last seen)
-C<\L>, C<\U>, and C<\Q> can stack, in which case you need one
+See L<perlfunc/quotemeta> for the exact definition of characters that
+are quoted by C<\Q>.
+
+C<\L>, C<\U>, C<\F>, and C<\Q> can stack, in which case you need one
C<\E> for each. For example:
- say "This \Qquoting \ubusiness \Uhere isn't quite\E done yet,\E is it?";
- This quoting\ Business\ HERE\ ISN\'T\ QUITE\ done\ yet\, is it?
+ say"This \Qquoting \ubusiness \Uhere isn't quite\E done yet,\E is it?";
+ This quoting\ Business\ HERE\ ISN\'T\ QUITE\ done\ yet\, is it?
-If C<use locale> is in effect, the case map used by C<\l>, C<\L>,
+If C<use locale> is in effect (but not C<use locale ':not_characters'>),
+the case map used by C<\l>, C<\L>,
C<\u>, and C<\U> is taken from the current locale. See L<perllocale>.
If Unicode (for example, C<\N{}> or code points of 0x100 or
beyond) is being used, the case map used by C<\l>, C<\L>, C<\u>, and
C<\U> is as defined by Unicode. That means that case-mapping
a single character can sometimes produce several characters.
+Under C<use locale>, C<\F> produces the same results as C<\L>.
All systems use the virtual C<"\n"> to represent a line terminator,
called a "newline". There is no such thing as an unvarying, physical
@@ -1304,8 +1600,10 @@ in C<m/PATTERN/>. If "'" is used as the delimiter, no interpolation
is done. Returns a Perl value which may be used instead of the
corresponding C</STRING/msixpodual> expression. The returned value is a
normalized version of the original pattern. It magically differs from
-a string containing the same characters: C<ref(qr/x/)> returns "Regexp",
-even though dereferencing the result returns undef.
+a string containing the same characters: C<ref(qr/x/)> returns "Regexp";
+however, dereferencing it is not well defined (you currently get the
+normalized version of the original pattern, but this may change).
+
For example,
@@ -1355,11 +1653,11 @@ Options (specified by the following modifiers) are:
p When matching preserve a copy of the matched string so
that ${^PREMATCH}, ${^MATCH}, ${^POSTMATCH} will be defined.
o Compile pattern only once.
+ a ASCII-restrict: Use ASCII for \d, \s, \w; specifying two a's
+ further restricts /i matching so that no ASCII character will
+ match a non-ASCII one
l Use the locale
u Use Unicode rules
- a Use ASCII for \d, \s, \w; specifying two a's further restricts
- /i matching so that no ASCII character will match a non-ASCII
- one
d Use Unicode or native charset, as in 5.12 and earlier
If a precompiled pattern is embedded in a larger pattern then the effect
@@ -1368,12 +1666,14 @@ modifier has is not propagated, being restricted to those patterns
explicitly using it.
The last four modifiers listed above, added in Perl 5.14,
-control the character set semantics.
+control the character set semantics, but C</a> is the only one you are likely
+to want to specify explicitly; the other three are selected
+automatically by various pragmas.
See L<perlre> for additional information on valid syntax for STRING, and
for a detailed look at the semantics of regular expressions. In
-particular, all the modifiers execpt C</o> are further explained in
-L<perlre/Modifiers>. C</o> is described in the next section.
+particular, all modifiers except the largely obsolete C</o> are further
+explained in L<perlre/Modifiers>. C</o> is described in the next section.
=item m/PATTERN/msixpodualgc
X<m> X<operator, match>
@@ -1425,7 +1725,7 @@ The variables are thousands of characters long and you know that they
don't change, and you need to wring out the last little bit of speed by
having Perl skip testing for that. (There is a maintenance penalty for
doing this, as mentioning C</o> constitutes a promise that you won't
-change the variables in the pattern. If you change them, Perl won't
+change the variables in the pattern. If you do change them, Perl won't
even notice.)
=item 2
@@ -1436,6 +1736,8 @@ of accomplishing this than using C</o>.)
=back
+The bottom line is that using C</o> is almost never a good idea.
+
=item The empty pattern //
If the PATTERN evaluates to the empty string, the last
@@ -1458,7 +1760,7 @@ regex with an C<m> (so C<//> becomes C<m//>).
If the C</g> option is not used, C<m//> in list context returns a
list consisting of the subexpressions matched by the parentheses in the
-pattern, i.e., (C<$1>, C<$2>, C<$3>...). (Note that here C<$1> etc. are
+pattern, that is, (C<$1>, C<$2>, C<$3>...). (Note that here C<$1> etc. are
also set, and that this differs from Perl 4's behavior.) When there are
no parentheses in the pattern, the return value is the list C<(1)> for
success. With or without parentheses, an empty list is returned upon
@@ -1466,7 +1768,7 @@ failure.
Examples:
- open(TTY, "+>/dev/tty")
+ open(TTY, "+</dev/tty")
|| die "can't access /dev/tty: $!";
<TTY> =~ /^y/i && foo(); # do foo if desired
@@ -1501,7 +1803,7 @@ returning true if it matches, and false if there is no further match.
The position after the last match can be read or set using the C<pos()>
function; see L<perlfunc/pos>. A failed match normally resets the
search position to the beginning of the string, but you can avoid that
-by adding the C</c> modifier (e.g. C<m//gc>). Modifying the target
+by adding the C</c> modifier (for example, C<m//gc>). Modifying the target
string also resets the search position.
=item \G assertion
@@ -1685,7 +1987,7 @@ are used, no interpretation is done on the replacement string (the C</e>
modifier overrides this, however). Unlike Perl 4, Perl 5 treats backticks
as normal delimiters; the replacement text is not evaluated as a command.
If the PATTERN is delimited by bracketing quotes, the REPLACEMENT has
-its own pair of quotes, which may or may not be bracketing quotes, e.g.,
+its own pair of quotes, which may or may not be bracketing quotes, for example,
C<s(foo)(bar)> or C<< s<foo>/bar/ >>. A C</e> will cause the
replacement portion to be treated as a full-fledged Perl expression
and evaluated right then and there. It is, however, syntax checked at
@@ -1872,8 +2174,8 @@ On some platforms (notably DOS-like ones), the shell may not be
capable of dealing with multiline commands, so putting newlines in
the string may not get you what you want. You may be able to evaluate
multiple commands in a single line by separating them with the command
-separator character, if your shell supports that (e.g. C<;> on many Unix
-shells; C<&> on the Windows NT C<cmd> shell).
+separator character, if your shell supports that (for example, C<;> on
+many Unix shells and C<&> on the Windows NT C<cmd> shell).
Beginning with v5.6.0, Perl will attempt to flush all files opened for
output before starting the child process, but this may not be supported
@@ -2235,15 +2537,16 @@ Therefore a C</> terminates a C<qq//> construct, while a C<]> terminates
C<qq[]> and C<qq]]> constructs.
When searching for single-character delimiters, escaped delimiters
-and C<\\> are skipped. For example, while searching for terminating C</>,
+and C<\\> are skipped. For example, while searching for terminating C</>,
combinations of C<\\> and C<\/> are skipped. If the delimiters are
bracketing, nested pairs are also skipped. For example, while searching
for closing C<]> paired with the opening C<[>, combinations of C<\\>, C<\]>,
and C<\[> are all skipped, and nested C<[> and C<]> are skipped as well.
However, when backslashes are used as the delimiters (like C<qq\\> and
C<tr\\\>), nothing is skipped.
-During the search for the end, backslashes that escape delimiters
-are removed (exactly speaking, they are not copied to the safe location).
+During the search for the end, backslashes that escape delimiters or
+backslashes are removed (exactly speaking, they are not copied to the
+safe location).
For constructs with three-part delimiters (C<s///>, C<y///>, and
C<tr///>), the search is repeated once more.
@@ -2317,7 +2620,7 @@ as a literal C<->.
=item C<"">, C<``>, C<qq//>, C<qx//>, C<< <file*glob> >>, C<<<"EOF">
-C<\Q>, C<\U>, C<\u>, C<\L>, C<\l> (possibly paired with C<\E>) are
+C<\Q>, C<\U>, C<\u>, C<\L>, C<\l>, C<\F> (possibly paired with C<\E>) are
converted to corresponding Perl constructs. Thus, C<"$foo\Qbaz$bar">
is converted to C<$foo . (quotemeta("baz" . $bar))> internally.
The other escape sequences such as C<\200> and C<\t> and backslashed
@@ -2368,7 +2671,7 @@ Fortunately, it's usually correct for ambiguous cases.
=item the replacement of C<s///>
-Processing of C<\Q>, C<\U>, C<\u>, C<\L>, C<\l>, and interpolation
+Processing of C<\Q>, C<\U>, C<\u>, C<\L>, C<\l>, C<\F> and interpolation
happens as with C<qq//> constructs.
It is at this step that C<\1> is begrudgingly converted to C<$1> in
@@ -2379,7 +2682,7 @@ is emitted if the C<use warnings> pragma or the B<-w> command-line flag
=item C<RE> in C<?RE?>, C</RE/>, C<m/RE/>, C<s/RE/foo/>,
-Processing of C<\Q>, C<\U>, C<\u>, C<\L>, C<\l>, C<\E>,
+Processing of C<\Q>, C<\U>, C<\u>, C<\L>, C<\l>, C<\F>, C<\E>,
and interpolation happens (almost) as with C<qq//> constructs.
Processing of C<\N{...}> is also done here, and compiled into an intermediate
@@ -2535,21 +2838,22 @@ The following lines are equivalent:
print while ($_ = <STDIN>);
print while <STDIN>;
-This also behaves similarly, but avoids $_ :
+This also behaves similarly, but assigns to a lexical variable
+instead of to C<$_>:
while (my $line = <STDIN>) { print $line }
In these loop constructs, the assigned value (whether assignment
is automatic or explicit) is then tested to see whether it is
-defined. The defined test avoids problems where line has a string
-value that would be treated as false by Perl, for example a "" or
+defined. The defined test avoids problems where the line has a string
+value that would be treated as false by Perl; for example a "" or
a "0" with no trailing newline. If you really mean for such values
to terminate the loop, they should be tested for explicitly:
while (($_ = <STDIN>) ne '0') { ... }
while (<STDIN>) { last unless $_; ... }
-In other boolean contexts, C<< <filehandle> >> without an
+In other boolean contexts, C<< <FILEHANDLE> >> without an
explicit C<defined> test or comparison elicits a warning if the
C<use warnings> pragma or the B<-w>
command-line switch (the C<$^W> variable) is in effect.
@@ -2571,7 +2875,9 @@ way, so use with care.
See L<perlfunc/readline>.
The null filehandle <> is special: it can be used to emulate the
-behavior of B<sed> and B<awk>. Input from <> comes either from
+behavior of B<sed> and B<awk>, and any other Unix filter program
+that takes a list of filenames, doing the same to each line
+of input from all of them. Input from <> comes either from
standard input, or from each file listed on the command line. Here's
how it works: the first time <> is evaluated, the @ARGV array is
checked, and if it is empty, C<$ARGV[0]> is set to "-", which when opened
@@ -2645,7 +2951,7 @@ The <> symbol will return C<undef> for end-of-file only once.
If you call it again after this, it will assume you are processing another
@ARGV list, and if you haven't set @ARGV, will read input from STDIN.
-If what the angle brackets contain is a simple scalar variable (e.g.,
+If what the angle brackets contain is a simple scalar variable (for example,
<$foo>), then that variable contains the name of the
filehandle to input from, or its typeglob, or a reference to the
same. For example:
@@ -2696,7 +3002,8 @@ get them all anyway. However, in scalar context the operator returns
the next value each time it's called, or C<undef> when the list has
run out. As with filehandle reads, an automatic C<defined> is
generated when the glob occurs in the test part of a C<while>,
-because legal glob returns (e.g. a file called F<0>) would otherwise
+because legal glob returns (for example,
+a file called F<0>) would otherwise
terminate the loop. Again, C<undef> is returned only once. So if
you're expecting a single value from a glob, it is much better to
say
@@ -2727,8 +3034,9 @@ concatenation happens at compile time between literals that don't do
variable substitution. Backslash interpolation also happens at
compile time. You can say
- 'Now is the time for all' . "\n" .
- 'good men to come to.'
+ 'Now is the time for all'
+ . "\n"
+ . 'good men to come to.'
and this all reduces to one string internally. Likewise, if
you say
@@ -2737,14 +3045,14 @@ you say
if (-s $file > 5 + 100 * 2**16) { }
}
-the compiler will precompute the number which that expression
+the compiler precomputes the number which that expression
represents so that the interpreter won't have to.
=head2 No-ops
X<no-op> X<nop>
Perl doesn't officially have a no-op operator, but the bare constants
-C<0> and C<1> are special-cased to not produce a warning in a void
+C<0> and C<1> are special-cased not to produce a warning in void
context, so you can for example safely do
1 while foo();
@@ -2814,6 +3122,7 @@ integral value. However, C<use integer; ~0> is C<-1> on two's-complement
machines.
=head2 Floating-point Arithmetic
+
X<floating-point> X<floating point> X<float> X<real>
While C<use integer> provides integer-only arithmetic, there is no
diff --git a/Master/tlpkg/tlperl/lib/pods/perlopenbsd.pod b/Master/tlpkg/tlperl/lib/pods/perlopenbsd.pod
index 0c9b3c4f365..8126ce3eb71 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlopenbsd.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlopenbsd.pod
@@ -4,7 +4,7 @@ specifically designed to be readable as is.
=head1 NAME
-README.openbsd - Perl version 5 on OpenBSD systems
+perlopenbsd - Perl version 5 on OpenBSD systems
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/pods/perlos2.pod b/Master/tlpkg/tlperl/lib/pods/perlos2.pod
index e7d6cca342f..7fc9b63d2cd 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlos2.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlos2.pod
@@ -151,7 +151,7 @@ versions of EMX.
=item *
-You need a separate perl executable F<perl__.exe> (see L<perl__.exe>)
+You need a separate perl executable F<perl__.exe> (see L</perl__.exe>)
if you want to use PM code in your application (as Perl/Tk or OpenGL
Perl modules do) without having a text-mode window present.
@@ -162,7 +162,7 @@ Using F<perl__.exe> avoids such a degradation.
=item *
There is no simple way to access WPS objects. The only way I know
-is via C<OS2::REXX> and C<SOM> extensions (see L<OS2::REXX>, L<Som>).
+is via C<OS2::REXX> and C<SOM> extensions (see L<OS2::REXX>, L<SOM>).
However, we do not have access to
convenience methods of Object-REXX. (Is it possible at all? I know
of no Object-REXX API.) The C<SOM> extension (currently in alpha-text)
@@ -186,7 +186,7 @@ Note that not all features of Perl are available under these
environments. This depends on the features the I<extender> - most
probably RSX - decided to implement.
-Cf. L<Prerequisites>.
+Cf. L</Prerequisites>.
=head2 Prerequisites
@@ -196,7 +196,7 @@ Cf. L<Prerequisites>.
EMX runtime is required (may be substituted by RSX). Note that
it is possible to make F<perl_.exe> to run under DOS without any
-external support by binding F<emx.exe>/F<rsx.exe> to it, see L<emxbind>. Note
+external support by binding F<emx.exe>/F<rsx.exe> to it, see C<emxbind>. Note
that under DOS for best results one should use RSX runtime, which
has much more functions working (like C<fork>, C<popen> and so on). In
fact RSX is required if there is no VCPI present. Note the
@@ -264,7 +264,7 @@ either in the wired-in-during-compile locations (usually F<F:/bin>),
or in configurable location (see L<"PERL_SH_DIR">).
For best results use EMX pdksh. The standard binary (5.2.14 or later) runs
-under DOS (with L<RSX>) as well, see
+under DOS (with L</RSX>) as well, see
http://www.ilyaz.org/software/os2/
@@ -315,7 +315,7 @@ or whatever method you prefer.
There are also endless possibilities to use I<executable extensions> of
4os2, I<associations> of WPS and so on... However, if you use
*nixish shell (like F<sh.exe> supplied in the binary distribution),
-you need to follow the syntax specified in L<perlrun/"Switches">.
+you need to follow the syntax specified in L<perlrun/"Command Switches">.
Note that B<-S> switch supports scripts with additional extensions
F<.cmd>, F<.btm>, F<.bat>, F<.pl> as well.
@@ -435,7 +435,7 @@ managed to goof. C<;-)>
=item *
Did you run your programs with C<-w> switch? See
-L<Starting OS/2 (and DOS) programs under Perl>.
+L<Starting OSE<sol>2 (and DOS) programs under Perl>.
=item *
@@ -475,10 +475,10 @@ should be done "correctly".
=head2 C<``> and pipe-C<open> do not work under DOS.
This may a variant of just L<"I cannot run external programs">, or a
-deeper problem. Basically: you I<need> RSX (see L<"Prerequisites">)
+deeper problem. Basically: you I<need> RSX (see L</Prerequisites>)
for these commands to work, and you may need a port of F<sh.exe> which
understands command arguments. One of such ports is listed in
-L<"Prerequisites"> under RSX. Do not forget to set variable
+L</Prerequisites> under RSX. Do not forget to set variable
C<L<"PERL_SH_DIR">> as well.
DPMI is required for RSX.
@@ -557,7 +557,7 @@ of this file.
B<NOTE>. Because of a typo the binary installer of 5.00305
would install a variable C<PERL_SHPATH> into F<Config.sys>. Please
-remove this variable and put C<L<PERL_SH_DIR>> instead.
+remove this variable and put C<L</PERL_SH_DIR>> instead.
=head2 Manual binary installation
@@ -618,7 +618,7 @@ C<set PERLLIB_PREFIX> in F<Config.sys>, see L<"PERLLIB_PREFIX">.
=item Additional Perl modules
- unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.14.2/
+ unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.16.2/
Same remark as above applies. Additionally, if this directory is not
one of directories on @INC (and @INC is influenced by C<PERLLIB_PREFIX>), you
@@ -1061,7 +1061,7 @@ Run
to convert perl utilities to F<.cmd> files and put them on
PATH. You need to put F<.EXE>-utilities on path manually. They are
installed in C<$prefix/bin>, here C<$prefix> is what you gave to
-F<Configure>, see L<Making>.
+F<Configure>, see L</Making>.
If you use C<man>, either move the installed F<*/man/> directories to
your C<MANPATH>, or modify C<MANPATH> to match the location. (One
@@ -1111,7 +1111,7 @@ named accordingly.
Fully build and test the Perl distribution. Make sure that no tests are
failing with C<test> and C<aout_test> targets; fix the bugs in Perl and
the Perl test suite detected by these tests. Make sure that C<all_test>
-make target runs as clean as possible. Check that C<os2/perlrexx.cmd>
+make target runs as clean as possible. Check that F<os2/perlrexx.cmd>
runs fine.
=item 2.
@@ -1264,7 +1264,7 @@ redirect the new version of Perl to a new location, and copy the installed
files to this new location. Redo the tests to make sure that the versions of
modules inherited from older versions of Perl are not needed.
-Actually, the log output of L<pod2ipf> during the step 6 gives a very detailed
+Actually, the log output of L<pod2ipf(1)> during the step 6 gives a very detailed
info about which modules are loaded from which place; so you may use it as
an additional verification tool.
@@ -1461,7 +1461,7 @@ Here is the sample C file:
if (_execname(buf, sizeof(buf) - 13) != 0)
die_with("Can't find full path: ", strerror(errno), "", "");
- /* XXXX Fill `me' with new value */
+ /* XXXX Fill 'me' with new value */
l = strlen(buf);
while (l && buf[l-1] != '/' && buf[l-1] != '\\')
l--;
@@ -1521,11 +1521,11 @@ Here is the sample C file:
=head2 Some C</> became C<\> in pdksh.
-You have a very old pdksh. See L<Prerequisites>.
+You have a very old pdksh. See L</Prerequisites>.
=head2 C<'errno'> - unresolved external
-You do not have MT-safe F<db.lib>. See L<Prerequisites>.
+You do not have MT-safe F<db.lib>. See L</Prerequisites>.
=head2 Problems with tr or sed
@@ -1538,11 +1538,11 @@ broke the build of extensions.
=head2 Library ... not found
-You did not run C<omflibs>. See L<Prerequisites>.
+You did not run C<omflibs>. See L</Prerequisites>.
=head2 Segfault in make
-You use an old version of GNU make. See L<Prerequisites>.
+You use an old version of GNU make. See L</Prerequisites>.
=head2 op/sprintf test failure
@@ -2217,8 +2217,7 @@ It is a VIO application.
=head2 Why strange names?
Since Perl processes the C<#!>-line (cf.
-L<perlrun/DESCRIPTION>, L<perlrun/Switches>,
-L<perldiag/"Not a perl script">,
+L<perlrun/DESCRIPTION>, L<perlrun/Command Switches>,
L<perldiag/"No Perl script found in input">), it should know when a
program I<is a Perl>. There is some naming convention which allows
Perl to distinguish correct lines from wrong ones. The above names are
@@ -2548,8 +2547,9 @@ it has the same effect.)
B<REMARK>. C<LIBPATHSTRICT>, C<BEGINLIBPATH> and C<ENDLIBPATH> are
not environment variables, although F<cmd.exe> emulates them on C<SET
-...> lines. From Perl they may be accessed by L<Cwd::extLibpath> and
-L<Cwd::extLibpath_set>.
+...> lines. From Perl they may be accessed by
+L<Cwd::extLibpath|/Cwd::extLibpath([type])> and
+L<Cwd::extLibpath_set|/Cwd::extLibpath_set( path [, type ] )>.
=head2 DLL forwarder generation
@@ -2604,7 +2604,7 @@ are F<cmd.exe> and F<sh.exe>. Having perl build itself would be impossible
with F<cmd.exe> as a shell, thus I picked up C<sh.exe>. This assures almost
100% compatibility with the scripts coming from *nix. As an added benefit
this works as well under DOS if you use DOS-enabled port of pdksh
-(see L<"Prerequisites">).
+(see L</Prerequisites>).
B<Disadvantages:> currently F<sh.exe> of pdksh calls external programs
via fork()/exec(), and there is I<no> functioning exec() on
@@ -2637,7 +2637,7 @@ I will include it into distribution. I have no need for such a module, so
cannot test it.
For the details of the current situation with calling external programs,
-see L<Starting OS/2 (and DOS) programs under Perl>. Set us mention a couple
+see L<Starting OSE<sol>2 (and DOS) programs under Perl>. Set us mention a couple
of features:
=over 4
@@ -2699,7 +2699,7 @@ have a low probability of affecting small programs.
=head1 BUGS
This description is not updated often (since 5.6.1?), see F<./os2/Changes>
-(L<perlos2delta>) for more info.
+for more info.
=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlos390.pod b/Master/tlpkg/tlperl/lib/pods/perlos390.pod
index 93459346c37..6e2d49e7317 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlos390.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlos390.pod
@@ -5,7 +5,7 @@ about pod in pod/perlpod.pod or the short summary in the INSTALL file.
=head1 NAME
-README.os390 - building and installing Perl for OS/390 and z/OS
+perlos390 - building and installing Perl for OS/390 and z/OS
=head1 SYNOPSIS
@@ -416,7 +416,7 @@ To subscribe, send an empty message to perl-mvs-subscribe@perl.org.
See also:
- http://lists.perl.org/showlist.cgi?name=perl-mvs
+ http://lists.perl.org/list/perl-mvs.html
There are web archives of the mailing list at:
diff --git a/Master/tlpkg/tlperl/lib/pods/perlos400.pod b/Master/tlpkg/tlperl/lib/pods/perlos400.pod
index 0dcee2e4290..e720f2d6e1a 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlos400.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlos400.pod
@@ -4,7 +4,7 @@ designed to be readable as is.
=head1 NAME
-README.os400 - Perl version 5 on OS/400
+perlos400 - Perl version 5 on OS/400
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/pods/perlpacktut.pod b/Master/tlpkg/tlperl/lib/pods/perlpacktut.pod
index 7d2126a0eaa..2ce56622b75 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlpacktut.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlpacktut.pod
@@ -73,14 +73,13 @@ remains.
The inverse operation - packing byte contents from a string of hexadecimal
digits - is just as easily written. For instance:
- my $s = pack( 'H2' x 10, map { "3$_" } ( 0..9 ) );
+ my $s = pack( 'H2' x 10, 30..39 );
print "$s\n";
Since we feed a list of ten 2-digit hexadecimal strings to C<pack>, the
pack template should contain ten pack codes. If this is run on a computer
with ASCII character coding, it will print C<0123456789>.
-
=head1 Packing Text
Let's suppose you've got to read in a data file like this:
diff --git a/Master/tlpkg/tlperl/lib/pods/perlperf.pod b/Master/tlpkg/tlperl/lib/pods/perlperf.pod
index cac6eee6655..007a02bc876 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlperf.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlperf.pod
@@ -30,7 +30,7 @@ optimization process.
Firstly, you need to establish a baseline time for the existing code, which
timing needs to be reliable and repeatable. You'll probably want to use the
-C<Benchmark> or C<Devel::DProf> modules, or something similar, for this step,
+C<Benchmark> or C<Devel::NYTProf> modules, or something similar, for this step,
or perhaps the Unix system C<time> utility, whichever is appropriate. See the
base of this document for a longer list of benchmarking and profiling modules,
and recommended further reading.
@@ -597,7 +597,7 @@ the code.
C<NYTProf> will generate a report database into the file F<nytprof.out> by
default. Human readable reports can be generated from here by using the
supplied C<nytprofhtml> (HTML output) and C<nytprofcsv> (CSV output) programs.
-We've used the Unix sytem C<html2text> utility to convert the
+We've used the Unix system C<html2text> utility to convert the
F<nytprof/index.html> file for convenience here.
$> html2text nytprof/index.html
diff --git a/Master/tlpkg/tlperl/lib/pods/perlpod.pod b/Master/tlpkg/tlperl/lib/pods/perlpod.pod
index 068afe4177d..0491dec1b7b 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlpod.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlpod.pod
@@ -238,7 +238,7 @@ region.
That is, with "=for", you can have only one paragraph's worth
of text (i.e., the text in "=foo targetname text..."), but with
"=begin targetname" ... "=end targetname", you can have any amount
-of stuff inbetween. (Note that there still must be a blank line
+of stuff in between. (Note that there still must be a blank line
after the "=begin" command and a blank line before the "=end"
command.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlpodspec.pod b/Master/tlpkg/tlperl/lib/pods/perlpodspec.pod
index dbe05391dff..89fd9ba6f81 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlpodspec.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlpodspec.pod
@@ -305,7 +305,7 @@ or data paragraphs. This is discussed in detail in the section
L</About Data Paragraphs and "=beginE<sol>=end" Regions>.
It is advised that formatnames match the regexp
-C<m/\A:?[−a−zA−Z0−9_]+\z/>. Everything following whitespace after the
+C<m/\A:?[-a-zA-Z0-9_]+\z/>. Everything following whitespace after the
formatname is a parameter that may be used by the formatter when dealing
with this region. This parameter must not be repeated in the "=end"
paragraph. Implementors should anticipate future expansion in the
@@ -1301,14 +1301,6 @@ browsers to decide.
=item *
-Authors wanting to link to a particular (absolute) URL, must do so
-only with "LE<lt>scheme:...>" codes (like
-LE<lt>http://www.perl.org>), and must not attempt "LE<lt>Some Site
-Name|scheme:...>" codes. This restriction avoids many problems
-in parsing and rendering LE<lt>...> codes.
-
-=item *
-
In a C<LE<lt>text|...E<gt>> code, text may contain formatting codes
for formatting or for EE<lt>...> escapes, as in:
diff --git a/Master/tlpkg/tlperl/lib/pods/perlpodstyle.pod b/Master/tlpkg/tlperl/lib/pods/perlpodstyle.pod
index 6c4cfa04afc..850f38dc8d9 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlpodstyle.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlpodstyle.pod
@@ -5,37 +5,70 @@ perlpodstyle - Perl POD style guide
=head1 DESCRIPTION
These are general guidelines for how to write POD documentation for Perl
-scripts and modules, based on general guidelines for writing good UNIX man
+scripts and modules, based on general guidelines for writing good Unix man
pages. All of these guidelines are, of course, optional, but following
them will make your documentation more consistent with other documentation
on the system.
-The name of the program being documented is conventionally written in bold
-(using BE<lt>E<gt>) wherever it occurs, as are all program options.
-Arguments should be written in italics (IE<lt>E<gt>). Function names are
+Here are some simple guidelines for markup; see L<perlpod> for details.
+
+=over
+
+=item bold (BE<lt>E<gt>)
+
+B<NOTE: Use extremely rarely.> Do I<not> use bold for emphasis; that's
+what italics are for. Restrict bold for notices like B<NOTE:> and
+B<WARNING:>. However, program arguments and options--but I<not> their
+names!--are written in bold (using BE<lt>E<gt>) to distinguish the B<-f>
+command-line option from the C<-f> filetest operator.
+
+=item italic (IE<lt>E<gt>)
+
+Use italic to emphasize text, like I<this>. Function names are
traditionally written in italics; if you write a function as function(),
-Pod::Man will take care of this for you. Literal code or commands should
-be in CE<lt>E<gt>. References to other man pages should be in the form
-C<manpage(section)> or C<LE<lt>manpage(section)E<gt>>, and Pod::Man will
-automatically format those appropriately. The second form, with
-LE<lt>E<gt>, is used to request that a POD formatter make a link to the
-man page if possible. As an exception, one normally omits the section
-when referring to module documentation since it's not clear what section
-module documentation will be in; use C<LE<lt>Module::NameE<gt>> for module
-references instead.
+Pod::Man will take care of this for you. Names of programs, including the
+name of the program being documented, are conventionally written in italics
+(using IE<lt>E<gt>) wherever they occur in normal roman text.
+
+=item code (CE<lt>E<gt>)
+
+Literal code should be in CE<lt>E<gt>. However metasyntactic placeholders
+should furthermore be nested in "italics" (actually, oblique) like
+CE<lt>IE<lt>E<gt>E<gt>. That way
+CE<lt>accept(IE<lt>NEWSOCKETE<gt>, E<lt>GENERICSOCKETE<gt>)E<gt>
+renders as C<accept(I<NEWSOCKET>, I<GENERICSOCKET>)>.
+
+=item files (FE<lt>E<gt>)
+
+Filenames, whether absolute or relative, are specified with the FE<lt>E<gt>
+markup. This will render as italics, but has other semantic connotations.
+
+=back
+
+References to other man pages should be in the form "manpage(section)" or
+"C<LE<lt>manpage(section)E<gt>>", and Pod::Man will automatically format
+those appropriately. Both will render as I<manpage>(section). The second
+form, with LE<lt>E<gt>, is used to request that a POD formatter make a link
+to the man page if possible. As an exception, one normally omits the
+section when referring to module documentation because not all systems
+place it in section 3, although that is the default. You may use
+C<LE<lt>Module::NameE<gt>> for module references instead, but this is
+optional because the translators are supposed to recognize module
+references in pod, just as they do variable references like $foo and such.
References to other programs or functions are normally in the form of man
page references so that cross-referencing tools can provide the user with
links and the like. It's possible to overdo this, though, so be careful not
to clutter your documentation with too much markup. References to other
programs that are not given as man page references should be enclosed in
-BE<lt>E<gt>.
+italics via IE<lt>E<gt>.
-The major headers should be set out using a C<=head1> directive, and are
-historically written in the rather startling ALL UPPER CASE format; this
-is not mandatory, but it's strongly recommended so that sections have
-consistent naming across different software packages. Minor headers may
-be included using C<=head2>, and are typically in mixed case.
+Major headers should be set out using a C<=head1> directive, and are
+historically written in the rather startling ALL UPPER CASE format; this is
+not mandatory, but it's strongly recommended so that sections have
+consistent naming across different software packages. The translators are
+supposed to translate all caps into small caps. Minor headers may be
+included using C<=head2>, and are typically in mixed case.
The standard sections of a manual page are:
@@ -54,7 +87,7 @@ function documented by this POD page should be listed, separated by a
comma and a space. For a Perl module, just give the module name. A
single dash, and only a single dash, should separate the list of programs
or functions from the description. Do not use any markup such as
-CE<lt>E<gt> or BE<lt>E<gt> anywhere in this line. Functions should not be
+CE<lt>E<gt> or IE<lt>E<gt> anywhere in this line. Functions should not be
qualified with C<()> or the like. The description should ideally fit on a
single line, even if a man program replaces the dash with a few tabs.
@@ -196,7 +229,7 @@ Miscellaneous commentary.
=item AUTHOR
Who wrote it (use AUTHORS for multiple people). It's a good idea to
-include your current e-mail address (or some e-mail address to which bug
+include your current email address (or some email address to which bug
reports should be sent) or some other contact information so that users
have a way of contacting you. Remember that program documentation tends
to roam the wild for far longer than you expect and pick a contact method
@@ -261,12 +294,22 @@ handlers. These headings are primarily useful when documenting parts of a
C library.
Finally, as a general note, try not to use an excessive amount of markup.
-As documented here and in L<Pod::Man>, you can safely leave Perl
-variables, function names, man page references, and the like unadorned by
-markup and the POD translators will figure it out for you. This makes it
-much easier to later edit the documentation. Note that many existing
-translators will do the wrong thing with e-mail addresses when wrapped in
-LE<lt>E<gt>, so don't do that.
+As documented here and in L<Pod::Man>, you can safely leave Perl variables,
+module names, function names, man page references, and the like unadorned
+by markup, and the POD translators will figure it all out for you. This
+makes it much easier to later edit the documentation. Note that many
+existing translators will do the wrong thing with email addresses when
+wrapped in LE<lt>E<gt>, so don't do that.
+
+You can check whether your documentation looks right by running
+
+ % pod2text -o something.pod | less
+
+If you have I<groff> installed, you can get an even better look this way:
+
+ % pod2man something.pod | groff -Tps -mandoc > something.ps
+
+Now view the resulting Postscript file to see whether everything checks out.
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/pods/perlpolicy.pod b/Master/tlpkg/tlperl/lib/pods/perlpolicy.pod
index 2341414cc48..7e713b4920a 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlpolicy.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlpolicy.pod
@@ -8,6 +8,57 @@ This document is the master document which records all written
policies about how the Perl 5 Porters collectively develop and maintain
the Perl core.
+=head1 GOVERNANCE
+
+=head2 Perl 5 Porters
+
+Subscribers to perl5-porters (the porters themselves) come in several flavours.
+Some are quiet curious lurkers, who rarely pitch in and instead watch
+the ongoing development to ensure they're forewarned of new changes or
+features in Perl. Some are representatives of vendors, who are there
+to make sure that Perl continues to compile and work on their
+platforms. Some patch any reported bug that they know how to fix,
+some are actively patching their pet area (threads, Win32, the regexp
+-engine), while others seem to do nothing but complain. In other
+words, it's your usual mix of technical people.
+
+Over this group of porters presides Larry Wall. He has the final word
+in what does and does not change in any of the Perl programming languages.
+These days, Larry spends most of his time on Perl 6, while Perl 5 is
+shepherded by a "pumpking", a porter responsible for deciding what
+goes into each release and ensuring that releases happen on a regular
+basis.
+
+Larry sees Perl development along the lines of the US government:
+there's the Legislature (the porters), the Executive branch (the
+-pumpking), and the Supreme Court (Larry). The legislature can
+discuss and submit patches to the executive branch all they like, but
+the executive branch is free to veto them. Rarely, the Supreme Court
+will side with the executive branch over the legislature, or the
+legislature over the executive branch. Mostly, however, the
+legislature and the executive branch are supposed to get along and
+work out their differences without impeachment or court cases.
+
+You might sometimes see reference to Rule 1 and Rule 2. Larry's power
+as Supreme Court is expressed in The Rules:
+
+=over 4
+
+=item 1
+
+Larry is always by definition right about how Perl should behave.
+This means he has final veto power on the core functionality.
+
+=item 2
+
+Larry is allowed to change his mind about any matter at a later date,
+regardless of whether he previously invoked Rule 1.
+
+=back
+
+Got that? Larry is always right, even when he was wrong. It's rare
+to see either Rule exercised, but they are often alluded to.
+
=head1 MAINTENANCE AND SUPPORT
Perl 5 is developed by a community, not a corporate entity. Every change
@@ -31,9 +82,9 @@ the Perl community should expect from Perl's developers:
=item *
-We "officially" support the two most recent stable release
-series. As of the release of 5.14.0, we will "officially"
-end support for Perl 5.10, other than providing security
+We "officially" support the two most recent stable release series. 5.12.x
+and earlier are now out of support. As of the release of 5.18.0, we will
+"officially" end support for Perl 5.14.x, other than providing security
updates as described below.
=item *
@@ -220,6 +271,11 @@ rather than applied directly.
=item *
+Patches that fix regressions in perl's behavior relative to previous
+releases are acceptable.
+
+=item *
+
Updates to dual-life modules should consist of minimal patches to
fix crashing or security issues (as above).
diff --git a/Master/tlpkg/tlperl/lib/pods/perlport.pod b/Master/tlpkg/tlperl/lib/pods/perlport.pod
index 0193dc852ca..867b66e2915 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlport.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlport.pod
@@ -622,7 +622,7 @@ format.
Don't assume that the epoch starts at 00:00:00, January 1, 1970,
because that is OS- and implementation-specific. It is better to
store a date in an unambiguous representation. The ISO 8601 standard
-defines YYYY-MM-DD as the date format, or YYYY-MM-DDTHH-MM-SS
+defines YYYY-MM-DD as the date format, or YYYY-MM-DDTHH:MM:SS
(that's a literal "T" separating the date from the time).
Please do use the ISO 8601 instead of making us guess what
date 02/03/04 might be. ISO 8601 even sorts nicely as-is.
@@ -689,10 +689,6 @@ If your code is destined for systems with severely constrained (or
missing!) virtual memory systems then you want to be I<especially> mindful
of avoiding wasteful constructs such as:
- # NOTE: this is no longer "bad" in perl5.005
- for (0..10000000) {} # bad
- for (my $x = 0; $x <= 10000000; ++$x) {} # good
-
my @lines = <$very_large_file>; # bad
while (<$fh>) {$file .= $_} # sometimes bad
@@ -904,6 +900,8 @@ DOSish perls are as follows:
Windows Vista MSWin32 MSWin32-x86 2 6 00
Windows 7 MSWin32 MSWin32-x86 2 6 01
Windows 7 MSWin32 MSWin32-x64 2 6 01
+ Windows 2008 MSWin32 MSWin32-x86 2 6 01
+ Windows 2008 MSWin32 MSWin32-x64 2 6 01
Windows CE MSWin32 ? 3
Cygwin cygwin cygwin
@@ -1394,8 +1392,8 @@ subdirectories named after the suffix. Hence files are translated:
The Unix emulation library's translation of filenames to native assumes
that this sort of translation is required, and it allows a user-defined list
of known suffixes that it will transpose in this fashion. This may
-seem transparent, but consider that with these rules C<foo/bar/baz.h>
-and C<foo/bar/h/baz> both map to C<foo.bar.h.baz>, and that C<readdir> and
+seem transparent, but consider that with these rules F<foo/bar/baz.h>
+and F<foo/bar/h/baz> both map to F<foo.bar.h.baz>, and that C<readdir> and
C<glob> cannot and do not attempt to emulate the reverse mapping. Other
C<.>'s in filenames are translated to C</>.
@@ -2141,7 +2139,6 @@ Caveats:
=back
-
=item Symbian (Series 60 v3, 3.2 and 5 - what else?)
=item Stratus VOS / OpenVOS
@@ -2315,7 +2312,7 @@ L<http://www.cpan.org/ports/index.html> for binary distributions.
=head1 SEE ALSO
-L<perlaix>, L<perlamiga>, L<perlapollo>, L<perlbeos>, L<perlbs2000>,
+L<perlaix>, L<perlamiga>, L<perlbeos>, L<perlbs2000>,
L<perlce>, L<perlcygwin>, L<perldgux>, L<perldos>, L<perlepoc>,
L<perlebcdic>, L<perlfreebsd>, L<perlhurd>, L<perlhpux>, L<perlirix>,
L<perlmacos>, L<perlmacosx>, L<perlmpeix>,
diff --git a/Master/tlpkg/tlperl/lib/pods/perlpragma.pod b/Master/tlpkg/tlperl/lib/pods/perlpragma.pod
index 856014438e5..604387d9f97 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlpragma.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlpragma.pod
@@ -82,17 +82,17 @@ The interaction with the Perl compilation happens inside package C<myint>:
use warnings;
sub import {
- $^H{myint} = 1;
+ $^H{"myint/in_effect"} = 1;
}
sub unimport {
- $^H{myint} = 0;
+ $^H{"myint/in_effect"} = 0;
}
sub in_effect {
my $level = shift // 0;
my $hinthash = (caller($level))[10];
- return $hinthash->{myint};
+ return $hinthash->{"myint/in_effect"};
}
1;
@@ -122,10 +122,26 @@ at index 10 of the list of returned results. In the example pragma, retrieval
is encapsulated into the routine C<in_effect()>, which takes as parameter
the number of call frames to go up to find the value of the pragma in the
user's script. This uses C<caller()> to determine the value of
-C<$^H{myint}> when each line of the user's script was called, and
+C<$^H{"myint/in_effect"}> when each line of the user's script was called, and
therefore provide the correct semantics in the subroutine implementing the
overloaded addition.
+=head1 Key naming
+
+There is only a single C<%^H>, but arbitrarily many modules that want
+to use its scoping semantics. To avoid stepping on each other's toes,
+they need to be sure to use different keys in the hash. It is therefore
+conventional for a module to use only keys that begin with the module's
+name (the name of its main package) and a "/" character. After this
+module-identifying prefix, the rest of the key is entirely up to the
+module: it may include any characters whatsoever. For example, a module
+C<Foo::Bar> should use keys such as C<Foo::Bar/baz> and C<Foo::Bar/$%/_!>.
+Modules following this convention all play nicely with each other.
+
+The Perl core uses a handful of keys in C<%^H> which do not follow this
+convention, because they predate it. Keys that follow the convention
+won't conflict with the core's historical keys.
+
=head1 Implementation details
The optree is shared between threads. This means there is a possibility that
diff --git a/Master/tlpkg/tlperl/lib/pods/perlqnx.pod b/Master/tlpkg/tlperl/lib/pods/perlqnx.pod
index cf9dc1fd958..a1c2e92226d 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlqnx.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlqnx.pod
@@ -4,7 +4,7 @@ designed to be readable as is.
=head1 NAME
-README.qnx - Perl version 5 on QNX
+perlqnx - Perl version 5 on QNX
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/pods/perlre.pod b/Master/tlpkg/tlperl/lib/pods/perlre.pod
index c4ec417a1d2..b69c359006d 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlre.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlre.pod
@@ -76,6 +76,18 @@ Perl doesn't match multiple characters in an inverted bracketed
character class, which otherwise could be highly confusing. See
L<perlrecharclass/Negation>.
+Another bug involves character classes that match both a sequence of
+multiple characters, and an initial sub-string of that sequence. For
+example,
+
+ /[s\xDF]/i
+
+should match both a single and a double "s", since C<\xDF> (on ASCII
+platforms) matches "ss". However, this bug
+(L<[perl #89774]|https://rt.perl.org/rt3/Ticket/Display.html?id=89774>)
+causes it to only match a single "s", even if the final larger match
+fails, and matching the double "ss" would have succeeded.
+
Also, Perl matching doesn't fully conform to the current Unicode C</i>
recommendations, which ask that the matching be made upon the NFD
(Normalization Form Decomposed) of the text. However, Unicode is
@@ -105,20 +117,18 @@ of the g and c modifiers.
=item a, d, l and u
X</a> X</d> X</l> X</u>
-These modifiers, new in 5.14, affect which character-set semantics
-(Unicode, ASCII, etc.) are used, as described below in
+These modifiers, all new in 5.14, affect which character-set semantics
+(Unicode, etc.) are used, as described below in
L</Character set modifiers>.
=back
-These are usually written as "the C</x> modifier", even though the delimiter
+Regular expression modifiers are usually written in documentation
+as e.g., "the C</x> modifier", even though the delimiter
in question might not really be a slash. The modifiers C</imsxadlup>
may also be embedded within the regular expression itself using
the C<(?...)> construct, see L</Extended Patterns> below.
-The C</x>, C</l>, C</u>, C</a> and C</d> modifiers need a little more
-explanation.
-
=head3 /x
C</x> tells
@@ -154,21 +164,63 @@ C</d>, C</u>, C</a>, and C</l>, available starting in 5.14, are called
the character set modifiers; they affect the character set semantics
used for the regular expression.
-At any given time, exactly one of these modifiers is in effect. Once
-compiled, the behavior doesn't change regardless of what rules are in
-effect when the regular expression is executed. And if a regular
-expression is interpolated into a larger one, the original's rules
-continue to apply to it, and only it.
+The C</d>, C</u>, and C</l> modifiers are not likely to be of much use
+to you, and so you need not worry about them very much. They exist for
+Perl's internal use, so that complex regular expression data structures
+can be automatically serialized and later exactly reconstituted,
+including all their nuances. But, since Perl can't keep a secret, and
+there may be rare instances where they are useful, they are documented
+here.
+
+The C</a> modifier, on the other hand, may be useful. Its purpose is to
+allow code that is to work mostly on ASCII data to not have to concern
+itself with Unicode.
+
+Briefly, C</l> sets the character set to that of whatever B<L>ocale is in
+effect at the time of the execution of the pattern match.
+
+C</u> sets the character set to B<U>nicode.
+
+C</a> also sets the character set to Unicode, BUT adds several
+restrictions for B<A>SCII-safe matching.
+
+C</d> is the old, problematic, pre-5.14 B<D>efault character set
+behavior. Its only use is to force that old behavior.
+
+At any given time, exactly one of these modifiers is in effect. Their
+existence allows Perl to keep the originally compiled behavior of a
+regular expression, regardless of what rules are in effect when it is
+actually executed. And if it is interpolated into a larger regex, the
+original's rules continue to apply to it, and only it.
+
+The C</l> and C</u> modifiers are automatically selected for
+regular expressions compiled within the scope of various pragmas,
+and we recommend that in general, you use those pragmas instead of
+specifying these modifiers explicitly. For one thing, the modifiers
+affect only pattern matching, and do not extend to even any replacement
+done, whereas using the pragmas give consistent results for all
+appropriate operations within their scopes. For example,
+
+ s/foo/\Ubar/il
-Note that the modifiers affect only pattern matching, and do not extend
-to any replacement done. For example,
+will match "foo" using the locale's rules for case-insensitive matching,
+but the C</l> does not affect how the C<\U> operates. Most likely you
+want both of them to use locale rules. To do this, instead compile the
+regular expression within the scope of C<use locale>. This both
+implicitly adds the C</l> and applies locale rules to the C<\U>. The
+lesson is to C<use locale> and not C</l> explicitly.
- s/foo/\Ubar/l
+Similarly, it would be better to use C<use feature 'unicode_strings'>
+instead of,
-will uppercase "bar", but the C</l> does not affect how the C<\U>
-operates. If C<use locale> is in effect, the C<\U> will use locale
-rules; if C<use feature 'unicode_strings'> is in effect, it will
-use Unicode rules, etc.
+ s/foo/\Lbar/iu
+
+to get Unicode rules, as the C<\L> in the former (but not necessarily
+the latter) would also use Unicode rules.
+
+More detail on each of the modifiers follows. Most likely you don't
+need to know this detail for C</l>, C</u>, and C</d>, and can skip ahead
+to L<E<sol>a|/E<sol>a (and E<sol>aa)>.
=head4 /l
@@ -185,11 +237,11 @@ Perl only supports single-byte locales. This means that code points
above 255 are treated as Unicode no matter what locale is in effect.
Under Unicode rules, there are a few case-insensitive matches that cross
the 255/256 boundary. These are disallowed under C</l>. For example,
-0xFF does not caselessly match the character at 0x178, C<LATIN CAPITAL
-LETTER Y WITH DIAERESIS>, because 0xFF may not be C<LATIN SMALL LETTER Y
-WITH DIAERESIS> in the current locale, and Perl has no way of knowing if
-that character even exists in the locale, much less what code point it
-is.
+0xFF (on ASCII platforms) does not caselessly match the character at
+0x178, C<LATIN CAPITAL LETTER Y WITH DIAERESIS>, because 0xFF may not be
+C<LATIN SMALL LETTER Y WITH DIAERESIS> in the current locale, and Perl
+has no way of knowing if that character even exists in the locale, much
+less what code point it is.
This modifier may be specified to be the default by C<use locale>, but
see L</Which character set modifier is in effect?>.
@@ -199,13 +251,15 @@ X</l>
means to use Unicode rules when pattern matching. On ASCII platforms,
this means that the code points between 128 and 255 take on their
-Latin-1 (ISO-8859-1) meanings (which are the same as Unicode's), whereas
-in strict ASCII their meanings are undefined. Thus the platform
-effectively becomes a Unicode platform, hence, for example, C<\w> will
-match any of the more than 100_000 word characters in Unicode.
+Latin-1 (ISO-8859-1) meanings (which are the same as Unicode's).
+(Otherwise Perl considers their meanings to be undefined.) Thus,
+under this modifier, the ASCII platform effectively becomes a Unicode
+platform; and hence, for example, C<\w> will match any of the more than
+100_000 word characters in Unicode.
Unlike most locales, which are specific to a language and country pair,
-Unicode classifies all the characters that are letters I<somewhere> as
+Unicode classifies all the characters that are letters I<somewhere> in
+the world as
C<\w>. For example, your locale might not think that C<LATIN SMALL
LETTER ETH> is a letter (unless you happen to speak Icelandic), but
Unicode does. Similarly, all the characters that are decimal digits
@@ -216,9 +270,12 @@ a number is a different quantity than it really is. For example,
C<BENGALI DIGIT FOUR> (U+09EA) looks very much like an
C<ASCII DIGIT EIGHT> (U+0038). And, C<\d+>, may match strings of digits
that are a mixture from different writing systems, creating a security
-issue. L<Unicode::UCD/num()> can be used to sort this out.
+issue. L<Unicode::UCD/num()> can be used to sort
+this out. Or the C</a> modifier can be used to force C<\d> to match
+just the ASCII 0 through 9.
-Also, case-insensitive matching works on the full set of Unicode
+Also, under this modifier, case-insensitive matching works on the full
+set of Unicode
characters. The C<KELVIN SIGN>, for example matches the letters "k" and
"K"; and C<LATIN SMALL LIGATURE FF> matches the sequence "ff", which,
if you're not prepared, might make it look like a hexadecimal constant,
@@ -235,52 +292,11 @@ the C<LATIN CAPITAL LETTER SHARP S> will match any of C<SS>, C<Ss>,
C<sS>, and C<ss>, otherwise not.
This modifier may be specified to be the default by C<use feature
-'unicode_strings>, but see
-L</Which character set modifier is in effect?>.
+'unicode_strings>, C<use locale ':not_characters'>, or
+C<L<use 5.012|perlfunc/use VERSION>> (or higher),
+but see L</Which character set modifier is in effect?>.
X</u>
-=head4 /a
-
-is the same as C</u>, except that C<\d>, C<\s>, C<\w>, and the
-Posix character classes are restricted to matching in the ASCII range
-only. That is, with this modifier, C<\d> always means precisely the
-digits C<"0"> to C<"9">; C<\s> means the five characters C<[ \f\n\r\t]>;
-C<\w> means the 63 characters C<[A-Za-z0-9_]>; and likewise, all the
-Posix classes such as C<[[:print:]]> match only the appropriate
-ASCII-range characters.
-
-This modifier is useful for people who only incidentally use Unicode.
-With it, one can write C<\d> with confidence that it will only match
-ASCII characters, and should the need arise to match beyond ASCII, you
-can use C<\p{Digit}>, or C<\p{Word}> for C<\w>. There are similar
-C<\p{...}> constructs that can match white space and Posix classes
-beyond ASCII. See L<perlrecharclass/POSIX Character Classes>.
-
-As you would expect, this modifier causes, for example, C<\D> to mean
-the same thing as C<[^0-9]>; in fact, all non-ASCII characters match
-C<\D>, C<\S>, and C<\W>. C<\b> still means to match at the boundary
-between C<\w> and C<\W>, using the C</a> definitions of them (similarly
-for C<\B>).
-
-Otherwise, C</a> behaves like the C</u> modifier, in that
-case-insensitive matching uses Unicode semantics; for example, "k" will
-match the Unicode C<\N{KELVIN SIGN}> under C</i> matching, and code
-points in the Latin1 range, above ASCII will have Unicode rules when it
-comes to case-insensitive matching.
-
-To forbid ASCII/non-ASCII matches (like "k" with C<\N{KELVIN SIGN}>),
-specify the "a" twice, for example C</aai> or C</aia>
-
-To reiterate, this modifier provides protection for applications that
-don't wish to be exposed to all of Unicode. Specifying it twice
-gives added protection.
-
-This modifier may be specified to be the default by C<use re '/a'>
-or C<use re '/aa'>, but see
-L</Which character set modifier is in effect?>.
-X</a>
-X</aa>
-
=head4 /d
This modifier means to use the "Default" native rules of the platform
@@ -313,7 +329,9 @@ the pattern uses a Unicode property (C<\p{...}>)
Another mnemonic for this modifier is "Depends", as the rules actually
used depend on various things, and as a result you can get unexpected
-results. See L<perlunicode/The "Unicode Bug">.
+results. See L<perlunicode/The "Unicode Bug">. The Unicode Bug has
+become rather infamous, leading to yet another (printable) name for this
+modifier, "Dodgy".
On ASCII platforms, the native rules are ASCII, and on EBCDIC platforms
(at least the ones that Perl handles), they are Latin-1.
@@ -327,26 +345,98 @@ Here are some examples of how that works on an ASCII platform:
chop $str;
$str =~ /^\w/; # Still a match! $str remains in UTF-8 format.
+This modifier is automatically selected by default when none of the
+others are, so yet another name for it is "Default".
+
+Because of the unexpected behaviors associated with this modifier, you
+probably should only use it to maintain weird backward compatibilities.
+
+=head4 /a (and /aa)
+
+This modifier stands for ASCII-restrict (or ASCII-safe). This modifier,
+unlike the others, may be doubled-up to increase its effect.
+
+When it appears singly, it causes the sequences C<\d>, C<\s>, C<\w>, and
+the Posix character classes to match only in the ASCII range. They thus
+revert to their pre-5.6, pre-Unicode meanings. Under C</a>, C<\d>
+always means precisely the digits C<"0"> to C<"9">; C<\s> means the five
+characters C<[ \f\n\r\t]>; C<\w> means the 63 characters
+C<[A-Za-z0-9_]>; and likewise, all the Posix classes such as
+C<[[:print:]]> match only the appropriate ASCII-range characters.
+
+This modifier is useful for people who only incidentally use Unicode,
+and who do not wish to be burdened with its complexities and security
+concerns.
+
+With C</a>, one can write C<\d> with confidence that it will only match
+ASCII characters, and should the need arise to match beyond ASCII, you
+can instead use C<\p{Digit}> (or C<\p{Word}> for C<\w>). There are
+similar C<\p{...}> constructs that can match beyond ASCII both white
+space (see L<perlrecharclass/Whitespace>), and Posix classes (see
+L<perlrecharclass/POSIX Character Classes>). Thus, this modifier
+doesn't mean you can't use Unicode, it means that to get Unicode
+matching you must explicitly use a construct (C<\p{}>, C<\P{}>) that
+signals Unicode.
+
+As you would expect, this modifier causes, for example, C<\D> to mean
+the same thing as C<[^0-9]>; in fact, all non-ASCII characters match
+C<\D>, C<\S>, and C<\W>. C<\b> still means to match at the boundary
+between C<\w> and C<\W>, using the C</a> definitions of them (similarly
+for C<\B>).
+
+Otherwise, C</a> behaves like the C</u> modifier, in that
+case-insensitive matching uses Unicode semantics; for example, "k" will
+match the Unicode C<\N{KELVIN SIGN}> under C</i> matching, and code
+points in the Latin1 range, above ASCII will have Unicode rules when it
+comes to case-insensitive matching.
+
+To forbid ASCII/non-ASCII matches (like "k" with C<\N{KELVIN SIGN}>),
+specify the "a" twice, for example C</aai> or C</aia>. (The first
+occurrence of "a" restricts the C<\d>, etc., and the second occurrence
+adds the C</i> restrictions.) But, note that code points outside the
+ASCII range will use Unicode rules for C</i> matching, so the modifier
+doesn't really restrict things to just ASCII; it just forbids the
+intermixing of ASCII and non-ASCII.
+
+To summarize, this modifier provides protection for applications that
+don't wish to be exposed to all of Unicode. Specifying it twice
+gives added protection.
+
+This modifier may be specified to be the default by C<use re '/a'>
+or C<use re '/aa'>. If you do so, you may actually have occasion to use
+the C</u> modifier explictly if there are a few regular expressions
+where you do want full Unicode rules (but even here, it's best if
+everything were under feature C<"unicode_strings">, along with the
+C<use re '/aa'>). Also see L</Which character set modifier is in
+effect?>.
+X</a>
+X</aa>
+
=head4 Which character set modifier is in effect?
Which of these modifiers is in effect at any given point in a regular
-expression depends on a fairly complex set of interactions. As
+expression depends on a fairly complex set of interactions. These have
+been designed so that in general you don't have to worry about it, but
+this section gives the gory details. As
explained below in L</Extended Patterns> it is possible to explicitly
specify modifiers that apply only to portions of a regular expression.
The innermost always has priority over any outer ones, and one applying
to the whole expression has priority over any of the default settings that are
described in the remainder of this section.
-The C<L<use re 'E<sol>foo'|re/'E<sol>flags' mode">> pragma can be used to set
+The C<L<use re 'E<sol>foo'|re/"'/flags' mode">> pragma can be used to set
default modifiers (including these) for regular expressions compiled
within its scope. This pragma has precedence over the other pragmas
-listed below that change the defaults.
+listed below that also change the defaults.
Otherwise, C<L<use locale|perllocale>> sets the default modifier to C</l>;
-and C<L<use feature 'unicode_strings|feature>> or
+and C<L<use feature 'unicode_strings|feature>>, or
C<L<use 5.012|perlfunc/use VERSION>> (or higher) set the default to
C</u> when not in the same scope as either C<L<use locale|perllocale>>
-or C<L<use bytes|bytes>>. Unlike the mechanisms mentioned above, these
+or C<L<use bytes|bytes>>.
+(C<L<use locale ':not_characters'|perllocale/Unicode and UTF-8>> also
+sets the default to C</u>, overriding any plain C<use locale>.)
+Unlike the mechanisms mentioned above, these
affect operations besides regular expressions pattern matching, and so
give more consistent results with other operators, including using
C<\U>, C<\l>, etc. in substitution replacements.
@@ -423,8 +513,23 @@ X<metacharacter> X<quantifier> X<*> X<+> X<?> X<{n}> X<{n,}> X<{n,m}>
(If a curly bracket occurs in any other context and does not form part of
a backslashed sequence like C<\x{...}>, it is treated
-as a regular character. In particular, the lower bound
-is not optional.) The "*" quantifier is equivalent to C<{0,}>, the "+"
+as a regular character. In particular, the lower quantifier bound
+is not optional. However, in Perl v5.18, it is planned to issue a
+deprecation warning for all such occurrences, and in Perl v5.20 to
+require literal uses of a curly bracket to be escaped, say by preceding
+them with a backslash or enclosing them within square brackets, (C<"\{">
+or C<"[{]">). This change will allow for future syntax extensions (like
+making the lower bound of a quantifier optional), and better error
+checking of quantifiers. Now, a typo in a quantifier silently causes
+it to be treated as the literal characters. For example,
+
+ /o{4,3}/
+
+looks like a quantifier that matches 0 times, since 4 is greater than 3,
+but it really means to match the sequence of six characters
+S<C<"o { 4 , 3 }">>.)
+
+The "*" quantifier is equivalent to C<{0,}>, the "+"
quantifier to C<{1,}>, and the "?" quantifier to C<{0,1}>. n and m are limited
to non-negative integral values less than a preset limit defined when perl is built.
This is usually 32766 on the most common platforms. The actual limit can
@@ -830,6 +935,8 @@ backslash interpolation may lead to confusing results. If you
I<need> to use literal backslashes within C<\Q...\E>,
consult L<perlop/"Gory details of parsing quoted constructs">.
+C<quotemeta()> and C<\Q> are fully described in L<perlfunc/quotemeta>.
+
=head2 Extended Patterns
Perl also defines a consistent extension syntax for features not
@@ -850,7 +957,7 @@ construct because 1) question marks are rare in older regular
expressions, and 2) whenever you see one, you should stop and
"question" exactly what is going on. That's psychology....
-=over 10
+=over 4
=item C<(?#text)>
X<(?#)>
@@ -892,7 +999,7 @@ repetition of the previous word, assuming the C</x> modifier, and no C</i>
modifier outside this group.
These modifiers do not carry over into named subpatterns called in the
-enclosing group. In other words, a pattern such as C<((?i)(&NAME))> does not
+enclosing group. In other words, a pattern such as C<((?i)(?&NAME))> does not
change the case-sensitivity of the "NAME" pattern.
Any of these modifiers can be set to apply globally to all regular
@@ -1168,16 +1275,17 @@ C<local>ization are undone, so that
$_ = 'a' x 8;
m<
- (?{ $cnt = 0 }) # Initialize $cnt.
+ (?{ $cnt = 0 }) # Initialize $cnt.
(
a
(?{
- local $cnt = $cnt + 1; # Update $cnt, backtracking-safe.
+ local $cnt = $cnt + 1; # Update $cnt,
+ # backtracking-safe.
})
)*
aaaa
- (?{ $res = $cnt }) # On success copy to
- # non-localized location.
+ (?{ $res = $cnt }) # On success copy to
+ # non-localized location.
>x;
will set C<$res = 4>. Note that after the match, C<$cnt> returns to the globally
@@ -1241,8 +1349,9 @@ of evaluation is considered a regular expression and matched as
if it were inserted instead of this construct. Note that this means
that the contents of capture groups defined inside an eval'ed pattern
are not available outside of the pattern, and vice versa, there is no
-way for the inner pattern to refer to a capture group defined outside.
-Thus,
+way for the inner pattern returned from the code block to refer to a
+capture group defined outside. (The code block itself can use C<$1>, etc.,
+to refer to the enclosing pattern's capture groups.) Thus,
('a' x 100)=~/(??{'(.)' x 100})/
@@ -1253,15 +1362,15 @@ where the C<code> ends are currently somewhat convoluted.
The following pattern matches a parenthesized group:
- $re = qr{
- \(
- (?:
- (?> [^()]+ ) # Non-parens without backtracking
- |
- (??{ $re }) # Group with matching parens
- )*
- \)
- }x;
+ $re = qr{
+ \(
+ (?:
+ (?> [^()]+ ) # Non-parens without backtracking
+ |
+ (??{ $re }) # Group with matching parens
+ )*
+ \)
+ }x;
See also C<(?PARNO)> for a different, more efficient way to accomplish
the same task.
@@ -1305,15 +1414,15 @@ included.
The following pattern matches a function foo() which may contain
balanced parentheses as the argument.
- $re = qr{ ( # paren group 1 (full function)
+ $re = qr{ ( # paren group 1 (full function)
foo
- ( # paren group 2 (parens)
+ ( # paren group 2 (parens)
\(
- ( # paren group 3 (contents of parens)
+ ( # paren group 3 (contents of parens)
(?:
- (?> [^()]+ ) # Non-parens without backtracking
+ (?> [^()]+ ) # Non-parens without backtracking
|
- (?2) # Recurse to start of paren group 2
+ (?2) # Recurse to start of paren group 2
)*
)
\)
@@ -1473,6 +1582,19 @@ after the recursion returns, so the extra layer of capturing groups is
necessary. Thus C<$+{NAME_PAT}> would not be defined even though
C<$+{NAME}> would be.
+Finally, keep in mind that subpatterns created inside a DEFINE block
+count towards the absolute and relative number of captures, so this:
+
+ my @captures = "a" =~ /(.) # First capture
+ (?(DEFINE)
+ (?<EXAMPLE> 1 ) # Second capture
+ )/x;
+ say scalar @captures;
+
+Will output 2, not 1. This is particularly important if you intend to
+compile the definitions with the C<qr//> operator, and later
+interpolate them in another pattern.
+
=item C<< (?>pattern) >>
X<backtrack> X<backtracking> X<atomic> X<possessive>
@@ -1618,7 +1740,7 @@ Use C<local> to localize changes to them to a specific scope if necessary.
If a pattern does not contain a special backtracking verb that allows an
argument, then C<$REGERROR> and C<$REGMARK> are not touched at all.
-=over 4
+=over 3
=item Verbs that take an argument
@@ -1675,7 +1797,6 @@ replaced with a C<< (?>pattern) >> with no functional difference; however,
C<(*PRUNE)> can be used to handle cases that cannot be expressed using a
C<< (?>pattern) >> alone.
-
=item C<(*SKIP)> C<(*SKIP:NAME)>
X<(*SKIP)>
@@ -1696,8 +1817,8 @@ executing the (*SKIP) pattern.
Compare the following to the examples in C<(*PRUNE)>; note the string
is twice as long:
- 'aaabaaab' =~ /a+b?(*SKIP)(?{print "$&\n"; $count++})(*FAIL)/;
- print "Count=$count\n";
+ 'aaabaaab' =~ /a+b?(*SKIP)(?{print "$&\n"; $count++})(*FAIL)/;
+ print "Count=$count\n";
outputs
@@ -1710,7 +1831,7 @@ executed, the next starting point will be where the cursor was when the
C<(*SKIP)> was executed.
=item C<(*MARK:NAME)> C<(*:NAME)>
-X<(*MARK)> C<(*MARK:NAME)> C<(*:NAME)>
+X<(*MARK)> X<(*MARK:NAME)> X<(*:NAME)>
This zero-width pattern can be used to mark the point reached in a string
when a certain part of the pattern has been successfully matched. This
@@ -1738,16 +1859,18 @@ failing the match and has provided its own name to use, the C<$REGERROR>
variable will be set to the name of the most recently executed
C<(*MARK:NAME)>.
-See C<(*SKIP)> for more details.
+See L</(*SKIP)> for more details.
As a shortcut C<(*MARK:NAME)> can be written C<(*:NAME)>.
=item C<(*THEN)> C<(*THEN:NAME)>
-This is similar to the "cut group" operator C<::> from Perl 6. Like
+This is similar to the "cut group" operator C<::> from Perl 6. Like
C<(*PRUNE)>, this verb always matches, and when backtracked into on
failure, it causes the regex engine to try the next alternation in the
-innermost enclosing group (capturing or otherwise).
+innermost enclosing group (capturing or otherwise) that has alternations.
+The two branches of a C<(?(condition)yes-pattern|no-pattern)> do not
+count as an alternation, as far as C<(*THEN)> is concerned.
Its name comes from the observation that this operation combined with the
alternation operator (C<|>) can be used to create what is essentially a
@@ -1775,6 +1898,12 @@ is not the same as
as after matching the A but failing on the B the C<(*THEN)> verb will
backtrack and try C; but the C<(*PRUNE)> verb will simply fail.
+=back
+
+=item Verbs without an argument
+
+=over 4
+
=item C<(*COMMIT)>
X<(*COMMIT)>
@@ -1784,8 +1913,8 @@ into on failure it causes the match to fail outright. No further attempts
to find a valid match by advancing the start pointer will occur again.
For example,
- 'aaabaaab' =~ /a+b?(*COMMIT)(?{print "$&\n"; $count++})(*FAIL)/;
- print "Count=$count\n";
+ 'aaabaaab' =~ /a+b?(*COMMIT)(?{print "$&\n"; $count++})(*FAIL)/;
+ print "Count=$count\n";
outputs
@@ -1796,12 +1925,6 @@ In other words, once the C<(*COMMIT)> has been entered, and if the pattern
does not match, the regex engine will not try any further matching on the
rest of the string.
-=back
-
-=item Verbs without an argument
-
-=over 4
-
=item C<(*FAIL)> C<(*F)>
X<(*FAIL)> X<(*F)>
@@ -2181,7 +2304,7 @@ However, long experience has shown that many programming tasks may
be significantly simplified by using repeated subexpressions that
may match zero-length substrings. Here's a simple example being:
- @chars = split //, $string; # // is not magic in split
+ @chars = split //, $string; # // is not magic in split
($whitewashed = $string) =~ s/()/ /g; # parens avoid magic s// /
Thus Perl allows such constructs, by I<forcefully breaking
diff --git a/Master/tlpkg/tlperl/lib/pods/perlreapi.pod b/Master/tlpkg/tlperl/lib/pods/perlreapi.pod
index 1c694a72318..5e456208684 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlreapi.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlreapi.pod
@@ -120,6 +120,8 @@ TODO: Document those cases.
=item C</p> - RXf_PMf_KEEPCOPY
+TODO: Document this
+
=item Character set
The character set semantics are determined by an enum that is contained
@@ -127,11 +129,11 @@ in this field. This is still experimental and subject to change, but
the current interface returns the rules by use of the in-line function
C<get_regex_charset(const U32 flags)>. The only currently documented
value returned from it is REGEX_LOCALE_CHARSET, which is set if
-C<use locale> is in effect. If present in C<< rx->extflags >>
-C<split> will use the locale dependent definition of whitespace under
-when RXf_SKIPWHITE or RXf_WHITE are in effect. Under ASCII whitespace
+C<use locale> is in effect. If present in C<< rx->extflags >>,
+C<split> will use the locale dependent definition of whitespace
+when RXf_SKIPWHITE or RXf_WHITE is in effect. ASCII whitespace
is defined as per L<isSPACE|perlapi/isSPACE>, and by the internal
-macros C<is_utf8_space> under UTF-8 and C<isSPACE_LC> under C<use
+macros C<is_utf8_space> under UTF-8, and C<isSPACE_LC> under C<use
locale>.
=back
@@ -287,7 +289,7 @@ sure this is used as the new value (or reject it).
Example:
if ("ook" =~ /(o*)/) {
- # `paren' will be `1' and `value' will be `ee'
+ # 'paren' will be '1' and 'value' will be 'ee'
$1 =~ tr/o/e/;
}
@@ -584,7 +586,7 @@ Substring data about strings that must appear in the final match. This
is currently only used internally by perl's engine for but might be
used in the future for all engines for optimisations.
-=head2 C<nparens>, C<lasparen>, and C<lastcloseparen>
+=head2 C<nparens>, C<lastparen>, and C<lastcloseparen>
These fields are used to keep track of how many paren groups could be matched
in the pattern, which was the last open paren to be entered, and which was
diff --git a/Master/tlpkg/tlperl/lib/pods/perlrebackslash.pod b/Master/tlpkg/tlperl/lib/pods/perlrebackslash.pod
index 8f2490d78ee..f81af0c6dd7 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlrebackslash.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlrebackslash.pod
@@ -75,6 +75,7 @@ as C<Not in [].>
\e Escape character.
\E Turn off \Q, \L and \U processing. Not in [].
\f Form feed.
+ \F Foldcase till \E. Not in [].
\g{}, \g1 Named, absolute or relative backreference. Not in []
\G Pos assertion. Not in [].
\h Character class for horizontal whitespace.
@@ -89,7 +90,8 @@ as C<Not in [].>
\o{} Octal escape sequence.
\p{}, \pP Character with the given Unicode property.
\P{}, \PP Character without the given Unicode property.
- \Q Quotemeta till \E. Not in [].
+ \Q Quote (disable) pattern metacharacters till \E. Not
+ in [].
\r Return character.
\R Generic new line. Not in [].
\s Character class for whitespace.
@@ -173,8 +175,7 @@ C<\N{}> construct to specify a character by either of these values.
Certain sequences of characters also have names.
To specify by name, the name of the character or character sequence goes
-between the curly braces. In this case, you have to C<use charnames> to
-load the Unicode names of the characters; otherwise Perl will complain.
+between the curly braces.
To specify a character by Unicode code point, use the form C<\N{U+I<code
point>}>, where I<code point> is a number in hexadecimal that gives the
@@ -201,7 +202,6 @@ meaning by the regex engine, and will match "as is".
=head4 Example
- use charnames ':full'; # Loads the Unicode names.
$str =~ /\N{THAI CHARACTER SO SO}/; # Matches the Thai SO SO character
use charnames 'Cyrillic'; # Loads Cyrillic names.
@@ -332,13 +332,20 @@ them, until either the end of the pattern or the next occurrence of
C<\E>, whichever comes first. They provide functionality similar to what
the functions C<lc> and C<uc> provide.
-C<\Q> is used to escape all characters following, up to the next C<\E>
-or the end of the pattern. C<\Q> adds a backslash to any character that
-isn't a letter, digit, or underscore. This ensures that any character
-between C<\Q> and C<\E> shall be matched literally, not interpreted
-as a metacharacter by the regex engine.
+C<\Q> is used to quote (disable) pattern metacharacters, up to the next
+C<\E> or the end of the pattern. C<\Q> adds a backslash to any character
+that could have special meaning to Perl. In the ASCII range, it quotes
+every character that isn't a letter, digit, or underscore. See
+L<perlfunc/quotemeta> for details on what gets quoted for non-ASCII
+code points. Using this ensures that any character between C<\Q> and
+C<\E> will be matched literally, not interpreted as a metacharacter by
+the regex engine.
-Mnemonic: I<L>owercase, I<U>ppercase, I<Q>uotemeta, I<E>nd.
+C<\F> can be used to casefold all characters following, up to the next C<\E>
+or the end of the pattern. It provides the functionality similar to
+the C<fc> function.
+
+Mnemonic: I<L>owercase, I<U>ppercase, I<F>old-case, I<Q>uotemeta, I<E>nd.
=head4 Examples
@@ -603,11 +610,21 @@ linebreak sequence by Unicode. This includes all characters matched by
C<\v> (vertical whitespace), and the multi character sequence C<"\x0D\x0A">
(carriage return followed by a line feed, sometimes called the network
newline; it's the end of line sequence used in Microsoft text files opened
-in binary mode). C<\R> is equivalent to C<< (?>\x0D\x0A)|\v) >>. Since
+in binary mode). C<\R> is equivalent to C<< (?>\x0D\x0A|\v) >>. (The
+reason it doesn't backtrack is that the sequence is considered
+inseparable. That means that
+
+ "\x0D\x0A" =~ /^\R\x0A$/ # No match
+
+fails, because the C<\R> matches the entire string, and won't backtrack
+to match just the C<"\x0D">.) Since
C<\R> can match a sequence of more than one character, it cannot be put
inside a bracketed character class; C</[\R]/> is an error; use C<\v>
instead. C<\R> was introduced in perl 5.10.0.
+Note that this does not respect any locale that might be in effect; it
+matches according to the platform's native character set.
+
Mnemonic: none really. C<\R> was picked because PCRE already uses C<\R>,
and more importantly because Unicode recommends such a regular expression
metacharacter, and suggests C<\R> as its notation.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlrecharclass.pod b/Master/tlpkg/tlperl/lib/pods/perlrecharclass.pod
index b7526b45fae..06d206b2f8b 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlrecharclass.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlrecharclass.pod
@@ -26,7 +26,7 @@ to mean just the bracketed form. Certainly, most Perl documentation does that.
The dot (or period), C<.> is probably the most used, and certainly
the most well-known character class. By default, a dot matches any
-character, except for the newline. The default can be changed to
+character, except for the newline. That default can be changed to
add matching the newline by using the I<single line> modifier: either
for the entire regular expression with the C</s> modifier, or
locally with C<(?s)>. (The experimental C<\N> backslash sequence, described
@@ -72,10 +72,25 @@ character classes, see L<perlrebackslash>.)
\pP, \p{Prop} Match a character that has the given Unicode property.
\PP, \P{Prop} Match a character that doesn't have the Unicode property
+=head3 \N
+
+C<\N> is new in 5.12, and is experimental. It, like the dot, matches any
+character that is not a newline. The difference is that C<\N> is not influenced
+by the I<single line> regular expression modifier (see L</The dot> above). Note
+that the form C<\N{...}> may mean something completely different. When the
+C<{...}> is a L<quantifier|perlre/Quantifiers>, it means to match a non-newline
+character that many times. For example, C<\N{3}> means to match 3
+non-newlines; C<\N{5,}> means to match 5 or more non-newlines. But if C<{...}>
+is not a legal quantifier, it is presumed to be a named character. See
+L<charnames> for those. For example, none of C<\N{COLON}>, C<\N{4F}>, and
+C<\N{F4}> contain legal quantifiers, so Perl will try to find characters whose
+names are respectively C<COLON>, C<4F>, and C<F4>.
+
=head3 Digits
C<\d> matches a single character considered to be a decimal I<digit>.
-If the C</a> modifier in effect, it matches [0-9]. Otherwise, it
+If the C</a> regular expression modifier is in effect, it matches [0-9].
+Otherwise, it
matches anything that is matched by C<\p{Digit}>, which includes [0-9].
(An unlikely possible exception is that under locale matching rules, the
current locale might not have [0-9] matched by C<\d>, and/or might match
@@ -94,7 +109,8 @@ very much like an ASCII DIGIT EIGHT (U+0038). An application that
is expecting only the ASCII digits might be misled, or if the match is
C<\d+>, the matched string might contain a mixture of digits from
different writing systems that look like they signify a number different
-than they actually do. L<Unicode::UCD/num()> can be used to safely
+than they actually do. L<Unicode::UCD/num()> can
+be used to safely
calculate the value, returning C<undef> if the input string contains
such a mixture.
@@ -114,7 +130,7 @@ plus three 'ones'. This positional notation does not necessarily apply
to characters that match the other type of "digit",
C<\p{Numeric_Type=Digit}>, and so C<\d> doesn't match them.
-In Unicode 5.2, the Tamil digits (U+0BE6 - U+0BEF) can also legally be
+The Tamil digits (U+0BE6 - U+0BEF) can also legally be
used in old-style Tamil numbers in which they would appear no more than
one in a row, separated by characters that mean "times 10", "times 100",
etc. (See L<http://www.unicode.org/notes/tn21>.)
@@ -178,8 +194,9 @@ characters. See L<http://unicode.org/reports/tr36>.
Also, for a somewhat finer-grained set of characters that are in programming
language identifiers beyond the ASCII range, you may wish to instead use the
-more customized Unicode properties, "ID_Start", ID_Continue", "XID_Start", and
-"XID_Continue". See L<http://unicode.org/reports/tr31>.
+more customized L</Unicode Properties>, C<\p{ID_Start}>,
+C<\p{ID_Continue}>, C<\p{XID_Start}>, and C<\p{XID_Continue}>. See
+L<http://unicode.org/reports/tr31>.
Any character not matched by C<\w> is matched by C<\W>.
@@ -235,63 +252,69 @@ Which rules apply are determined as described in L<perlre/Which character set mo
Any character not matched by C<\s> is matched by C<\S>.
C<\h> matches any character considered horizontal whitespace;
-this includes the space and tab characters and several others
+this includes the platform's space and tab characters and several others
listed in the table below. C<\H> matches any character
-not considered horizontal whitespace.
+not considered horizontal whitespace. They use the platform's native
+character set, and do not consider any locale that may otherwise be in
+use.
C<\v> matches any character considered vertical whitespace;
-this includes the carriage return and line feed characters (newline)
+this includes the platform's carriage return and line feed characters (newline)
plus several other characters, all listed in the table below.
C<\V> matches any character not considered vertical whitespace.
+They use the platform's native character set, and do not consider any
+locale that may otherwise be in use.
C<\R> matches anything that can be considered a newline under Unicode
rules. It's not a character class, as it can match a multi-character
sequence. Therefore, it cannot be used inside a bracketed character
-class; use C<\v> instead (vertical whitespace).
+class; use C<\v> instead (vertical whitespace). It uses the platform's
+native character set, and does not consider any locale that may
+otherwise be in use.
Details are discussed in L<perlrebackslash>.
Note that unlike C<\s> (and C<\d> and C<\w>), C<\h> and C<\v> always match
-the same characters, without regard to other factors, such as whether the
-source string is in UTF-8 format.
+the same characters, without regard to other factors, such as the active
+locale or whether the source string is in UTF-8 format.
One might think that C<\s> is equivalent to C<[\h\v]>. This is not true.
-For example, the vertical tab (C<"\x0b">) is not matched by C<\s>, it is
-however considered vertical whitespace.
+The difference is that the vertical tab (C<"\x0b">) is not matched by
+C<\s>; it is however considered vertical whitespace.
The following table is a complete listing of characters matched by
C<\s>, C<\h> and C<\v> as of Unicode 6.0.
-The first column gives the code point of the character (in hex format),
+The first column gives the Unicode code point of the character (in hex format),
the second column gives the (Unicode) name. The third column indicates
by which class(es) the character is matched (assuming no locale or EBCDIC code
page is in effect that changes the C<\s> matching).
- 0x00009 CHARACTER TABULATION h s
- 0x0000a LINE FEED (LF) vs
- 0x0000b LINE TABULATION v
- 0x0000c FORM FEED (FF) vs
- 0x0000d CARRIAGE RETURN (CR) vs
- 0x00020 SPACE h s
- 0x00085 NEXT LINE (NEL) vs [1]
- 0x000a0 NO-BREAK SPACE h s [1]
- 0x01680 OGHAM SPACE MARK h s
- 0x0180e MONGOLIAN VOWEL SEPARATOR h s
- 0x02000 EN QUAD h s
- 0x02001 EM QUAD h s
- 0x02002 EN SPACE h s
- 0x02003 EM SPACE h s
- 0x02004 THREE-PER-EM SPACE h s
- 0x02005 FOUR-PER-EM SPACE h s
- 0x02006 SIX-PER-EM SPACE h s
- 0x02007 FIGURE SPACE h s
- 0x02008 PUNCTUATION SPACE h s
- 0x02009 THIN SPACE h s
- 0x0200a HAIR SPACE h s
- 0x02028 LINE SEPARATOR vs
- 0x02029 PARAGRAPH SEPARATOR vs
- 0x0202f NARROW NO-BREAK SPACE h s
- 0x0205f MEDIUM MATHEMATICAL SPACE h s
- 0x03000 IDEOGRAPHIC SPACE h s
+ 0x0009 CHARACTER TABULATION h s
+ 0x000a LINE FEED (LF) vs
+ 0x000b LINE TABULATION v
+ 0x000c FORM FEED (FF) vs
+ 0x000d CARRIAGE RETURN (CR) vs
+ 0x0020 SPACE h s
+ 0x0085 NEXT LINE (NEL) vs [1]
+ 0x00a0 NO-BREAK SPACE h s [1]
+ 0x1680 OGHAM SPACE MARK h s
+ 0x180e MONGOLIAN VOWEL SEPARATOR h s
+ 0x2000 EN QUAD h s
+ 0x2001 EM QUAD h s
+ 0x2002 EN SPACE h s
+ 0x2003 EM SPACE h s
+ 0x2004 THREE-PER-EM SPACE h s
+ 0x2005 FOUR-PER-EM SPACE h s
+ 0x2006 SIX-PER-EM SPACE h s
+ 0x2007 FIGURE SPACE h s
+ 0x2008 PUNCTUATION SPACE h s
+ 0x2009 THIN SPACE h s
+ 0x200a HAIR SPACE h s
+ 0x2028 LINE SEPARATOR vs
+ 0x2029 PARAGRAPH SEPARATOR vs
+ 0x202f NARROW NO-BREAK SPACE h s
+ 0x205f MEDIUM MATHEMATICAL SPACE h s
+ 0x3000 IDEOGRAPHIC SPACE h s
=over 4
@@ -303,20 +326,6 @@ L<the beginning of this section|/Whitespace>.
=back
-=head3 \N
-
-C<\N> is new in 5.12, and is experimental. It, like the dot, matches any
-character that is not a newline. The difference is that C<\N> is not influenced
-by the I<single line> regular expression modifier (see L</The dot> above). Note
-that the form C<\N{...}> may mean something completely different. When the
-C<{...}> is a L<quantifier|perlre/Quantifiers>, it means to match a non-newline
-character that many times. For example, C<\N{3}> means to match 3
-non-newlines; C<\N{5,}> means to match 5 or more non-newlines. But if C<{...}>
-is not a legal quantifier, it is presumed to be a named character. See
-L<charnames> for those. For example, none of C<\N{COLON}>, C<\N{4F}>, and
-C<\N{F4}> contain legal quantifiers, so Perl will try to find characters whose
-names are respectively C<COLON>, C<4F>, and C<F4>.
-
=head3 Unicode Properties
C<\pP> and C<\p{Prop}> are character classes to match characters that fit given
@@ -329,7 +338,7 @@ which means to match if the property "name" for the character has that particula
For instance, a match for a number can be written as C</\pN/> or as
C</\p{Number}/>, or as C</\p{Number=True}/>.
Lowercase letters are matched by the property I<Lowercase_Letter> which
-has as short form I<Ll>. They need the braces, so are written as C</\p{Ll}/> or
+has the short form I<Ll>. They need the braces, so are written as C</\p{Ll}/> or
C</\p{Lowercase_Letter}/>, or C</\p{General_Category=Lowercase_Letter}/>
(the underscores are optional).
C</\pLl/> is valid, but means something different.
@@ -353,11 +362,11 @@ C<Lowercase>,
and C<Titlecase>,
all of which match C<Cased> under C</i> matching.
(The difference between these sets is that some things, such as Roman
-Numerals, come in both upper and lower case so they are C<Cased>, but
+numerals, come in both upper and lower case, so they are C<Cased>, but
aren't considered to be letters, so they aren't C<Cased_Letter>s. They're
actually C<Letter_Number>s.)
This set also includes its subsets C<PosixUpper> and C<PosixLower>, both
-of which under C</i> matching match C<PosixAlpha>.
+of which under C</i> match C<PosixAlpha>.
For more details on Unicode properties, see L<perlunicode/Unicode
Character Properties>; for a
@@ -367,6 +376,17 @@ which notes all forms that have C</i> differences.
It is also possible to define your own properties. This is discussed in
L<perlunicode/User-Defined Character Properties>.
+Unicode properties are defined (surprise!) only on Unicode code points.
+A warning is raised and all matches fail on non-Unicode code points
+(those above the legal Unicode maximum of 0x10FFFF). This can be
+somewhat surprising,
+
+ chr(0x110000) =~ \p{ASCII_Hex_Digit=True} # Fails.
+ chr(0x110000) =~ \p{ASCII_Hex_Digit=False} # Also fails!
+
+Even though these two matches might be thought of as complements, they
+are so only on Unicode code points.
+
=head4 Examples
"a" =~ /\w/ # Match, "a" is a 'word' character.
@@ -419,8 +439,8 @@ Examples:
-------
-* There is an exception to a bracketed character class matching only a
-single character. When the class is to match caselessely under C</i>
+* There is an exception to a bracketed character class matching a
+single character only. When the class is to match caselessly under C</i>
matching rules, and a character inside the class matches a
multiple-character sequence caselessly under Unicode rules, the class
(when not L<inverted|/Negation>) will also match that sequence. For
@@ -503,7 +523,7 @@ of listing all characters in the range, one may use the hyphen (C<->).
If inside a bracketed character class you have two characters separated
by a hyphen, it's treated as if all characters between the two were in
the class. For instance, C<[0-9]> matches any ASCII digit, and C<[a-m]>
-matches any lowercase letter from the first half of the old ASCII alphabet.
+matches any lowercase letter from the first half of the ASCII alphabet.
Note that the two characters on either side of the hyphen are not
necessarily both letters or both digits. Any character is possible,
@@ -537,26 +557,27 @@ Examples:
It is also possible to instead list the characters you do not want to
match. You can do so by using a caret (C<^>) as the first character in the
character class. For instance, C<[^a-z]> matches any character that is not a
-lowercase ASCII letter, which therefore includes almost a hundred thousand
-Unicode letters. The class is said to be "negated" or "inverted".
+lowercase ASCII letter, which therefore includes more than a million
+Unicode code points. The class is said to be "negated" or "inverted".
This syntax make the caret a special character inside a bracketed character
class, but only if it is the first character of the class. So if you want
the caret as one of the characters to match, either escape the caret or
-else not list it first.
+else don't list it first.
In inverted bracketed character classes, Perl ignores the Unicode rules
-that normally say that a given character matches a sequence of multiple
-characters under caseless C</i> matching, which otherwise could be
-highly confusing:
+that normally say that certain characters should match a sequence of
+multiple characters under caseless C</i> matching. Following those
+rules could lead to highly confusing situations:
- "ss" =~ /^[^\xDF]+$/ui;
+ "ss" =~ /^[^\xDF]+$/ui; # Matches!
This should match any sequences of characters that aren't C<\xDF> nor
what C<\xDF> matches under C</i>. C<"s"> isn't C<\xDF>, but Unicode
says that C<"ss"> is what C<\xDF> matches under C</i>. So which one
"wins"? Do you fail the match because the string has C<ss> or accept it
-because it has an C<s> followed by another C<s>?
+because it has an C<s> followed by another C<s>? Perl has chosen the
+latter.
Examples:
@@ -648,67 +669,8 @@ The other counterpart, in the column labelled "Full-range Unicode", matches any
appropriate characters in the full Unicode character set. For example,
C<\p{Alpha}> matches not just the ASCII alphabetic characters, but any
character in the entire Unicode character set considered alphabetic.
-The column labelled "backslash sequence" is a (short) synonym for
-the Full-range Unicode form.
-
-(Each of the counterparts has various synonyms as well.
-L<perluniprops/Properties accessible through \p{} and \P{}> lists all
-synonyms, plus all characters matched by each ASCII-range property.
-For example, C<\p{AHex}> is a synonym for C<\p{ASCII_Hex_Digit}>,
-and any C<\p> property name can be prefixed with "Is" such as C<\p{IsAlpha}>.)
-
-Both the C<\p> counterparts always assume Unicode rules are in effect.
-On ASCII platforms, this means they assume that the code points from 128
-to 255 are Latin-1, and that means that using them under locale rules is
-unwise unless the locale is guaranteed to be Latin-1 or UTF-8. In contrast, the
-POSIX character classes are useful under locale rules. They are
-affected by the actual rules in effect, as follows:
-
-=over
-
-=item If the C</a> modifier, is in effect ...
-
-Each of the POSIX classes matches exactly the same as their ASCII-range
-counterparts.
-
-=item otherwise ...
-
-=over
-
-=item For code points above 255 ...
-
-The POSIX class matches the same as its Full-range counterpart.
-
-=item For code points below 256 ...
-
-=over
-
-=item if locale rules are in effect ...
-
-The POSIX class matches according to the locale.
-
-=item if Unicode rules are in effect or if on an EBCDIC platform ...
-
-The POSIX class matches the same as the Full-range counterpart.
-
-=item otherwise ...
-
-The POSIX class matches the same as the ASCII range counterpart.
-
-=back
-
-=back
-
-=back
-
-Which rules apply are determined as described in
-L<perlre/Which character set modifier is in effect?>.
-
-It is proposed to change this behavior in a future release of Perl so that
-whether or not Unicode rules are in effect would not change the
-behavior: Outside of locale or an EBCDIC code page, the POSIX classes
-would behave like their ASCII-range counterparts. If you wish to
-comment on this proposal, send email to C<perl5-porters@perl.org>.
+An entry in the column labelled "backslash sequence" is a (short)
+equivalent.
[[:...:]] ASCII-range Full-range backslash Note
Unicode Unicode sequence
@@ -766,11 +728,12 @@ it could alter the behavior of C<[[:punct:]]>).
The similarly named property, C<\p{Punct}>, matches a somewhat different
set in the ASCII range, namely
-C<[-!"#%&'()*,./:;?@[\\\]_{}]>. That is, it is missing C<[$+E<lt>=E<gt>^`|~]>.
+C<[-!"#%&'()*,./:;?@[\\\]_{}]>. That is, it is missing the nine
+characters C<[$+E<lt>=E<gt>^`|~]>.
This is because Unicode splits what POSIX considers to be punctuation into two
categories, Punctuation and Symbols.
-C<\p{XPosixPunct}> and (in Unicode mode) C<[[:punct:]]>, match what
+C<\p{XPosixPunct}> and (under Unicode rules) C<[[:punct:]]>, match what
C<\p{PosixPunct}> matches in the ASCII range, plus what C<\p{Punct}>
matches. This is different than strictly matching according to
C<\p{Punct}>. Another way to say it is that
@@ -786,10 +749,66 @@ matches the vertical tab, C<\cK>. Same for the two ASCII-only range forms.
=back
-There are various other synonyms that can be used for these besides
-C<\p{HorizSpace}> and \C<\p{XPosixBlank}>. For example,
-C<\p{PosixAlpha}> can be written as C<\p{Alpha}>. All are listed
-in L<perluniprops/Properties accessible through \p{} and \P{}>.
+There are various other synonyms that can be used besides the names
+listed in the table. For example, C<\p{PosixAlpha}> can be written as
+C<\p{Alpha}>. All are listed in
+L<perluniprops/Properties accessible through \p{} and \P{}>,
+plus all characters matched by each ASCII-range property.
+
+Both the C<\p> counterparts always assume Unicode rules are in effect.
+On ASCII platforms, this means they assume that the code points from 128
+to 255 are Latin-1, and that means that using them under locale rules is
+unwise unless the locale is guaranteed to be Latin-1 or UTF-8. In contrast, the
+POSIX character classes are useful under locale rules. They are
+affected by the actual rules in effect, as follows:
+
+=over
+
+=item If the C</a> modifier, is in effect ...
+
+Each of the POSIX classes matches exactly the same as their ASCII-range
+counterparts.
+
+=item otherwise ...
+
+=over
+
+=item For code points above 255 ...
+
+The POSIX class matches the same as its Full-range counterpart.
+
+=item For code points below 256 ...
+
+=over
+
+=item if locale rules are in effect ...
+
+The POSIX class matches according to the locale, except that
+C<word> uses the platform's native underscore character, no matter what
+the locale is.
+
+=item if Unicode rules are in effect or if on an EBCDIC platform ...
+
+The POSIX class matches the same as the Full-range counterpart.
+
+=item otherwise ...
+
+The POSIX class matches the same as the ASCII range counterpart.
+
+=back
+
+=back
+
+=back
+
+Which rules apply are determined as described in
+L<perlre/Which character set modifier is in effect?>.
+
+It is proposed to change this behavior in a future release of Perl so that
+whether or not Unicode rules are in effect would not change the
+behavior: Outside of locale or an EBCDIC code page, the POSIX classes
+would behave like their ASCII-range counterparts. If you wish to
+comment on this proposal, send email to C<perl5-porters@perl.org>.
=head4 Negation of POSIX character classes
X<character class, negation>
diff --git a/Master/tlpkg/tlperl/lib/pods/perlref.pod b/Master/tlpkg/tlperl/lib/pods/perlref.pod
index 550f4c14d21..0fab80969aa 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlref.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlref.pod
@@ -24,7 +24,7 @@ Hard references are smart--they keep track of reference counts for you,
automatically freeing the thing referred to when its reference count goes
to zero. (Reference counts for values in self-referential or
cyclic data structures may not go to zero without a little help; see
-L<perlobj/"Two-Phased Garbage Collection"> for a detailed explanation.)
+L</"Circular References"> for a detailed explanation.)
If that thing happens to be an object, the object is destructed. See
L<perlobj> for more about objects. (In a sense, everything in Perl is an
object, but we usually reserve the word for references to objects that
@@ -51,6 +51,19 @@ scalar is holding a reference, it always behaves as a simple scalar. It
doesn't magically start being an array or hash or subroutine; you have to
tell it explicitly to do so, by dereferencing it.
+References are easy to use in Perl. There is just one overriding
+principle: in general, Perl does no implicit referencing or dereferencing.
+When a scalar is holding a reference, it always behaves as a simple scalar.
+It doesn't magically start being an array or hash or subroutine; you have to
+tell it explicitly to do so, by dereferencing it.
+
+That said, be aware that Perl version 5.14 introduces an exception
+to the rule, for syntactic convenience. Experimental array and hash container
+function behavior allows array and hash references to be handled by Perl as
+if they had been explicitly syntactically dereferenced. See
+L<perl5140delta/"Syntactical Enhancements">
+and L<perlfunc> for details.
+
=head2 Making References
X<reference, creation> X<referencing>
@@ -458,6 +471,58 @@ as:
print "That yields ${\($n + 5)} widgets\n";
+=head2 Circular References
+X<circular reference> X<reference, circular>
+
+It is possible to create a "circular reference" in Perl, which can lead
+to memory leaks. A circular reference occurs when two references
+contain a reference to each other, like this:
+
+ my $foo = {};
+ my $bar = { foo => $foo };
+ $foo->{bar} = $bar;
+
+You can also create a circular reference with a single variable:
+
+ my $foo;
+ $foo = \$foo;
+
+In this case, the reference count for the variables will never reach 0,
+and the references will never be garbage-collected. This can lead to
+memory leaks.
+
+Because objects in Perl are implemented as references, it's possible to
+have circular references with objects as well. Imagine a TreeNode class
+where each node references its parent and child nodes. Any node with a
+parent will be part of a circular reference.
+
+You can break circular references by creating a "weak reference". A
+weak reference does not increment the reference count for a variable,
+which means that the object can go out of scope and be destroyed. You
+can weaken a reference with the C<weaken> function exported by the
+L<Scalar::Util> module.
+
+Here's how we can make the first example safer:
+
+ use Scalar::Util 'weaken';
+
+ my $foo = {};
+ my $bar = { foo => $foo };
+ $foo->{bar} = $bar;
+
+ weaken $foo->{bar};
+
+The reference from C<$foo> to C<$bar> has been weakened. When the
+C<$bar> variable goes out of scope, it will be garbage-collected. The
+next time you look at the value of the C<< $foo->{bar} >> key, it will
+be C<undef>.
+
+This action at a distance can be confusing, so you should be careful
+with your use of weaken. You should weaken the reference in the
+variable that will go out of scope I<first>. That way, the longer-lived
+variable will contain the expected reference until it goes out of
+scope.
+
=head2 Symbolic references
X<reference, symbolic> X<reference, soft>
X<symbolic reference> X<soft reference>
@@ -510,16 +575,16 @@ variables, which are all "global" to the package.
=head2 Not-so-symbolic references
-A new feature contributing to readability in perl version 5.001 is that the
-brackets around a symbolic reference behave more like quotes, just as they
-always have within a string. That is,
+Since Perl verion 5.001, brackets around a symbolic reference can simply
+serve to isolate an identifier or variable name from the rest of an
+expression, just as they always have within a string. For example,
$push = "pop on ";
print "${push}over";
has always meant to print "pop on over", even though push is
-a reserved word. This has been generalized to work the same outside
-of quotes, so that
+a reserved word. In 5.001, this was generalized to work the same
+without the enclosing double quotes, so that
print ${push} . "over";
@@ -536,9 +601,9 @@ using strict refs:
${ bareword }; # Okay, means $bareword.
${ "bareword" }; # Error, symbolic reference.
-Similarly, because of all the subscripting that is done using single
-words, we've applied the same rule to any bareword that is used for
-subscripting a hash. So now, instead of writing
+Similarly, because of all the subscripting that is done using single words,
+the same rule applies to any bareword that is used for subscripting a hash.
+So now, instead of writing
$array{ "aaa" }{ "bbb" }{ "ccc" }
@@ -682,5 +747,5 @@ Some pathological examples of the use of references can be found
in the F<t/op/ref.t> regression test in the Perl source directory.
See also L<perldsc> and L<perllol> for how to use references to create
-complex data structures, and L<perltoot>, L<perlobj>, and L<perlbot>
+complex data structures, and L<perlootut> and L<perlobj>
for how to use them to create objects.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlreftut.pod b/Master/tlpkg/tlperl/lib/pods/perlreftut.pod
index 7898b6db53c..9565562711d 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlreftut.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlreftut.pod
@@ -7,7 +7,7 @@ perlreftut - Mark's very short tutorial about references
One of the most important new features in Perl 5 was the capability to
manage complicated data structures like multidimensional arrays and
nested hashes. To enable these, Perl 5 introduced a feature called
-`references', and using references is the key to managing complicated,
+'references', and using references is the key to managing complicated,
structured data in Perl. Unfortunately, there's a lot of funny syntax
to learn, and the main manual page can be hard to follow. The manual
is quite complete, and sometimes people find that a problem, because
@@ -402,7 +402,7 @@ This is Perl, so it does the exact right thing. It sees that you want
to push C<Athens> onto an array that doesn't exist, so it helpfully
makes a new, empty, anonymous array for you, installs it into
C<%table>, and then pushes C<Athens> onto it. This is called
-`autovivification'--bringing things to life automatically. Perl saw
+'autovivification'--bringing things to life automatically. Perl saw
that they key wasn't in the hash, so it created a new hash entry
automatically. Perl saw that you wanted to use the hash value as an
array, so it created a new empty array and installed a reference to it
diff --git a/Master/tlpkg/tlperl/lib/pods/perlrequick.pod b/Master/tlpkg/tlperl/lib/pods/perlrequick.pod
index d543389d488..bd44d013c54 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlrequick.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlrequick.pod
@@ -162,8 +162,9 @@ character, or the match fails. Then
/[a^]at/; # matches 'aat' or '^at'; here '^' is ordinary
Perl has several abbreviations for common character classes. (These
-definitions are those that Perl uses in ASCII mode with the C</a> modifier.
-See L<perlrecharclass/Backslash sequences> for details.)
+definitions are those that Perl uses in ASCII-safe mode with the C</a> modifier.
+Otherwise they could match many more non-ASCII Unicode characters as
+well. See L<perlrecharclass/Backslash sequences> for details.)
=over 4
diff --git a/Master/tlpkg/tlperl/lib/pods/perlreref.pod b/Master/tlpkg/tlperl/lib/pods/perlreref.pod
index f5a79759296..954a423759c 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlreref.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlreref.pod
@@ -107,6 +107,7 @@ These work as in normal strings.
\u Titlecase next character
\L Lowercase until \E
\U Uppercase until \E
+ \F Foldcase until \E
\Q Disable pattern metacharacters until \E
\E End modification
@@ -176,7 +177,7 @@ POSIX character classes and their Unicode and Perl equivalents:
space PosixSpace XPosixSpace [\s\cK]
PerlSpace XPerlSpace \s Perl's whitespace def'n
upper PosixUpper XPosixUpper Uppercase characters
- word PerlWord XPosixWord \w Alnum + Unicode marks +
+ word PosixWord XPosixWord \w Alnum + Unicode marks +
connectors, like '_'
(Perl extension)
xdigit ASCII_Hex_Digit XPosixDigit Hexadecimal digit,
@@ -299,6 +300,7 @@ Captured groups are numbered according to their I<opening> paren.
lcfirst Lowercase first char of a string
uc Uppercase a string
ucfirst Titlecase first char of a string
+ fc Foldcase a string
pos Return or set current match position
quotemeta Quote metacharacters
@@ -307,8 +309,9 @@ Captured groups are numbered according to their I<opening> paren.
split Use a regex to split a string into parts
-The first four of these are like the escape sequences C<\L>, C<\l>,
-C<\U>, and C<\u>. For Titlecase, see L</Titlecase>.
+The first five of these are like the escape sequences C<\L>, C<\l>,
+C<\U>, C<\u>, and C<\F>. For Titlecase, see L</Titlecase>; For
+Foldcase, see L</Foldcase>.
=head2 TERMINOLOGY
@@ -317,6 +320,12 @@ C<\U>, and C<\u>. For Titlecase, see L</Titlecase>.
Unicode concept which most often is equal to uppercase, but for
certain characters like the German "sharp s" there is a difference.
+=head3 Foldcase
+
+Unicode form that is useful when comparing strings regardless of case,
+as certain characters have compex one-to-many case mappings. Primarily a
+variant of lowercase.
+
=head1 AUTHOR
Iain Truskett. Updated by the Perl 5 Porters.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlretut.pod b/Master/tlpkg/tlperl/lib/pods/perlretut.pod
index ea80594e605..a3ff6ad28c4 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlretut.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlretut.pod
@@ -781,7 +781,7 @@ so may lead to surprising and unsatisfactory results.
=head2 Relative backreferences
Counting the opening parentheses to get the correct number for a
-backreference is errorprone as soon as there is more than one
+backreference is error-prone as soon as there is more than one
capturing group. A more convenient technique became available
with Perl 5.10: relative backreferences. To refer to the immediately
preceding capture group one now may write C<\g{-1}>, the next but
@@ -1537,7 +1537,7 @@ the regexp in the I<last successful match> is used instead. So we have
=head3 Global matching
-The final two modifiers we will disccuss here,
+The final two modifiers we will discuss here,
C<//g> and C<//c>, concern multiple matches.
The modifier C<//g> stands for global matching and allows the
matching operator to match within a string as many times as possible.
@@ -1583,9 +1583,9 @@ there are no groupings, a list of matches to the whole regexp. So if
we wanted just the words, we could use
@words = ($x =~ /(\w+)/g); # matches,
- # $word[0] = 'cat'
- # $word[1] = 'dog'
- # $word[2] = 'house'
+ # $words[0] = 'cat'
+ # $words[1] = 'dog'
+ # $words[2] = 'house'
Closely associated with the C<//g> modifier is the C<\G> anchor. The
C<\G> anchor matches at the point where the previous C<//g> match left
@@ -1654,7 +1654,7 @@ important not only to match what is desired, but to reject what is not
desired.
(There are other regexp modifiers that are available, such as
-C<//o>, C<//d>, and C<//l>, but their specialized uses are beyond the
+C<//o>, but their specialized uses are beyond the
scope of this introduction. )
=head3 Search and replace
@@ -1870,7 +1870,7 @@ substituted.
C<\Q>, C<\L>, C<\l>, C<\U>, C<\u> and C<\E> are actually part of
double-quotish syntax, and not part of regexp syntax proper. They will
-work if they appear in a regular expression embeddded directly in a
+work if they appear in a regular expression embedded directly in a
program, but not when contained in a string that is interpolated in a
pattern.
@@ -1907,32 +1907,32 @@ specified in the Unicode standard. For instance, if we wanted to
represent or match the astrological sign for the planet Mercury, we
could use
- use charnames ":full"; # use named chars with Unicode full names
$x = "abc\N{MERCURY}def";
$x =~ /\N{MERCURY}/; # matches
-One can also use short names or restrict names to a certain alphabet:
+One can also use "short" names:
- use charnames ':full';
print "\N{GREEK SMALL LETTER SIGMA} is called sigma.\n";
-
- use charnames ":short";
print "\N{greek:Sigma} is an upper-case sigma.\n";
+You can also restrict names to a certain alphabet by specifying the
+L<charnames> pragma:
+
use charnames qw(greek);
print "\N{sigma} is Greek sigma\n";
-A list of full names can be found in F<NamesList.txt> in the Unicode standard
-(available at L<http://www.unicode.org/Public/UNIDATA/>).
-
-The answer to requirement 2), as of 5.6.0, is that a regexp (mostly)
-uses Unicode characters. (For messy backward compatibility reasons,
-most but not all semantics of a match will assume Unicode, unless,
-starting in Perl 5.14, you tell it to use full Unicode. You can do this
-explicitly by using the C<//u> modifier, or you can ask Perl to use the
-modifier implicitly for all regexes in a scope by using C<use 5.012> (or
-higher) or C<use feature 'unicode_strings'>.) If you want to handle
-Unicode properly, you should ensure that one of these is the case.)
+An index of character names is available on-line from the Unicode
+Consortium, L<http://www.unicode.org/charts/charindex.html>; explanatory
+material with links to other resources at
+L<http://www.unicode.org/standard/where>.
+
+The answer to requirement 2) is, as of 5.6.0, that a regexp (mostly)
+uses Unicode characters. (The "mostly" is for messy backward
+compatibility reasons, but starting in Perl 5.14, any regex compiled in
+the scope of a C<use feature 'unicode_strings'> (which is automatically
+turned on within the scope of a C<use 5.012> or higher) will turn that
+"mostly" into "always". If you want to handle Unicode properly, you
+should ensure that C<'unicode_strings'> is turned on.)
Internally, this is encoded to bytes using either UTF-8 or a native 8
bit encoding, depending on the history of the string, but conceptually
it is a sequence of characters, not bytes. See L<perlunitut> for a
@@ -1944,7 +1944,6 @@ C<\p{name}> escape sequence. Closely associated is the C<\P{name}>
character class, which is the negation of the C<\p{name}> class. For
example, to match lower and uppercase characters,
- use charnames ":full"; # use named chars with Unicode full names
$x = "BOB";
$x =~ /^\p{IsUpper}/; # matches, uppercase char class
$x =~ /^\P{IsUpper}/; # doesn't match, char class sans uppercase
@@ -2732,7 +2731,7 @@ groups or produce results, it may be necessary to use this in
combination with embedded code.
%count = ();
- "supercalifragilisticexpialidoceous" =~
+ "supercalifragilisticexpialidocious" =~
/([aeiou])(?{ $count{$1}++; })(*FAIL)/i;
printf "%3d '%s'\n", $count{$_}, $_ for (sort keys %count);
@@ -2745,7 +2744,7 @@ for another vowel. Thus, match or no match makes no difference, and the
regexp engine proceeds until the entire string has been inspected.
(It's remarkable that an alternative solution using something like
- $count{lc($_)}++ for split('', "supercalifragilisticexpialidoceous");
+ $count{lc($_)}++ for split('', "supercalifragilisticexpialidocious");
printf "%3d '%s'\n", $count2{$_}, $_ for ( qw{ a e i o u } );
is considerably slower.)
@@ -2776,7 +2775,8 @@ the end of the block enclosing the pragmas.
The C<re '/flags'> pragma (introduced in Perl
5.14) turns on the given regular expression flags
-until the end of the lexical scope. See C<re/"'/flags' mode"> for more
+until the end of the lexical scope. See
+L<re/"'E<sol>flags' mode"> for more
detail.
use re 'debug';
@@ -2792,7 +2792,7 @@ information is displayed in color on terminals that can display
termcap color sequences. Here is example output:
% perl -e 'use re "debug"; "abc" =~ /a*b+c/;'
- Compiling REx `a*b+c'
+ Compiling REx 'a*b+c'
size 9 first at 1
1: STAR(4)
2: EXACT <a>(0)
@@ -2800,11 +2800,11 @@ termcap color sequences. Here is example output:
5: EXACT <b>(0)
7: EXACT <c>(9)
9: END(0)
- floating `bc' at 0..2147483647 (checking floating) minlen 2
- Guessing start of match, REx `a*b+c' against `abc'...
- Found floating substr `bc' at offset 1...
+ floating 'bc' at 0..2147483647 (checking floating) minlen 2
+ Guessing start of match, REx 'a*b+c' against 'abc'...
+ Found floating substr 'bc' at offset 1...
Guessed: match at offset 0
- Matching REx `a*b+c' against `abc'
+ Matching REx 'a*b+c' against 'abc'
Setting an EVAL scope, savestack=3
0 <> <abc> | 1: STAR
EXACT <a> can match 1 times out of 32767...
@@ -2815,13 +2815,13 @@ termcap color sequences. Here is example output:
2 <ab> <c> | 7: EXACT <c>
3 <abc> <> | 9: END
Match successful!
- Freeing REx: `a*b+c'
+ Freeing REx: 'a*b+c'
If you have gotten this far into the tutorial, you can probably guess
what the different parts of the debugging output tell you. The first
part
- Compiling REx `a*b+c'
+ Compiling REx 'a*b+c'
size 9 first at 1
1: STAR(4)
2: EXACT <a>(0)
@@ -2835,15 +2835,15 @@ starred object, in this case C<'a'>, and if it matches, goto line 4,
i.e., C<PLUS(7)>. The middle lines describe some heuristics and
optimizations performed before a match:
- floating `bc' at 0..2147483647 (checking floating) minlen 2
- Guessing start of match, REx `a*b+c' against `abc'...
- Found floating substr `bc' at offset 1...
+ floating 'bc' at 0..2147483647 (checking floating) minlen 2
+ Guessing start of match, REx 'a*b+c' against 'abc'...
+ Found floating substr 'bc' at offset 1...
Guessed: match at offset 0
Then the match is executed and the remaining lines describe the
process:
- Matching REx `a*b+c' against `abc'
+ Matching REx 'a*b+c' against 'abc'
Setting an EVAL scope, savestack=3
0 <> <abc> | 1: STAR
EXACT <a> can match 1 times out of 32767...
@@ -2854,7 +2854,7 @@ process:
2 <ab> <c> | 7: EXACT <c>
3 <abc> <> | 9: END
Match successful!
- Freeing REx: `a*b+c'
+ Freeing REx: 'a*b+c'
Each step is of the form S<C<< n <x> <y> >>>, with C<< <x> >> the
part of the string matched and C<< <y> >> the part not yet
diff --git a/Master/tlpkg/tlperl/lib/pods/perlriscos.pod b/Master/tlpkg/tlperl/lib/pods/perlriscos.pod
index 62a1a5647c7..2acd738c8c3 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlriscos.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlriscos.pod
@@ -4,7 +4,7 @@ specifically designed to be readable as is.
=head1 NAME
-README.riscos - Perl version 5 for RISC OS
+perlriscos - Perl version 5 for RISC OS
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/pods/perlrun.pod b/Master/tlpkg/tlperl/lib/pods/perlrun.pod
index d51342f8f80..6ddc608d4f4 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlrun.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlrun.pod
@@ -93,11 +93,12 @@ getting whatever version is first in the user's path. If you want
a specific version of Perl, say, perl5.005_57, you should place
that directly in the C<#!> line's path.
-If the C<#!> line does not contain the word "perl", the program named after
-the C<#!> is executed instead of the Perl interpreter. This is slightly
-bizarre, but it helps people on machines that don't do C<#!>, because they
-can tell a program that their SHELL is F</usr/bin/perl>, and Perl will then
-dispatch the program to the correct interpreter for them.
+If the C<#!> line does not contain the word "perl" nor the word "indir"
+the program named after the C<#!> is executed instead of the Perl
+interpreter. This is slightly bizarre, but it helps people on machines
+that don't do C<#!>, because they can tell a program that their SHELL is
+F</usr/bin/perl>, and Perl will then dispatch the program to the correct
+interpreter for them.
After locating your program, Perl compiles the entire program to an
internal form. If there are any compilation errors, execution of the
@@ -143,8 +144,8 @@ Perl program and a Perl library file.
Put
- $ perl -mysw 'f$env("procedure")' 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8' !
- $ exit++ + ++$status != 0 and $exit = $status = undef;
+ $ perl -mysw 'f$env("procedure")' 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8' !
+ $ exit++ + ++$status != 0 and $exit = $status = undef;
at the top of your program, where B<-mysw> are any command line switches you
want to pass to Perl. You can now invoke the program directly, by saying
@@ -160,7 +161,7 @@ Command-interpreters on non-Unix systems have rather different ideas
on quoting than Unix shells. You'll need to learn the special
characters in your command-interpreter (C<*>, C<\> and C<"> are
common) and how to protect whitespace and these characters to run
-one-liners (see B<-e> below).
+one-liners (see L<-e|/-e commandline> below).
On some systems, you may have to change single-quotes to double ones,
which you must I<not> do on Unix or Plan 9 systems. You might also
@@ -282,13 +283,13 @@ are as follows; listing the letters is equal to summing the numbers.
D 24 i + o
A 32 the @ARGV elements are expected to be strings encoded
in UTF-8
- L 64 normally the "IOEioA" are unconditional,
- the L makes them conditional on the locale environment
- variables (the LC_ALL, LC_TYPE, and LANG, in the order
- of decreasing precedence) -- if the variables indicate
+ L 64 normally the "IOEioA" are unconditional, the L makes
+ them conditional on the locale environment variables
+ (the LC_ALL, LC_TYPE, and LANG, in the order of
+ decreasing precedence) -- if the variables indicate
UTF-8, then the selected "IOEioA" are in effect
- a 256 Set ${^UTF8CACHE} to -1, to run the UTF-8 caching code in
- debugging mode.
+ a 256 Set ${^UTF8CACHE} to -1, to run the UTF-8 caching
+ code in debugging mode.
=for documenting_the_underdocumented
perl.h gives W/128 as PERL_UNICODE_WIDESYSCALLS "/* for Sarathy */"
@@ -314,6 +315,7 @@ same effect as B<-CSDL>. In other words, the standard I/O handles and
the default C<open()> layer are UTF-8-fied I<but> only if the locale
environment variables indicate a UTF-8 locale. This behaviour follows
the I<implicit> (and problematic) UTF-8 behaviour of Perl 5.8.0.
+(See L<perl581delta/UTF-8 no longer default under UTF-8 locales>.)
You can use B<-C0> (or C<"0"> for C<PERL_UNICODE>) to explicitly
disable all the above Unicode features.
@@ -393,19 +395,24 @@ B<-D14> is equivalent to B<-Dtls>):
512 r Regular expression parsing and execution
1024 x Syntax tree dump
2048 u Tainting checks
- 4096 U Unofficial, User hacking (reserved for private, unreleased use)
+ 4096 U Unofficial, User hacking (reserved for private,
+ unreleased use)
8192 H Hash dump -- usurps values()
16384 X Scratchpad allocation
32768 D Cleaning up
131072 T Tokenizing
- 262144 R Include reference counts of dumped variables (eg when using -Ds)
- 524288 J show s,t,P-debug (don't Jump over) on opcodes within package DB
+ 262144 R Include reference counts of dumped variables (eg when
+ using -Ds)
+ 524288 J show s,t,P-debug (don't Jump over) on opcodes within
+ package DB
1048576 v Verbose: use in conjunction with other flags
2097152 C Copy On Write
4194304 A Consistency checks on internal structures
- 8388608 q quiet - currently only suppresses the "EXECUTING" message
+ 8388608 q quiet - currently only suppresses the "EXECUTING"
+ message
16777216 M trace smart match resolution
- 33554432 B dump suBroutine definitions, including special Blocks like BEGIN
+ 33554432 B dump suBroutine definitions, including special Blocks
+ like BEGIN
All these flags require B<-DDEBUGGING> when you compile the Perl
executable (but see C<:opd> in L<Devel::Peek> or L<re/'debug' mode>
@@ -512,20 +519,22 @@ as:
This allows you to add a prefix to the backup file, instead of (or in
addition to) a suffix:
- $ perl -pi'orig_*' -e 's/bar/baz/' fileA # backup to 'orig_fileA'
+ $ perl -pi'orig_*' -e 's/bar/baz/' fileA # backup to
+ # 'orig_fileA'
Or even to place backup copies of the original files into another
directory (provided the directory already exists):
- $ perl -pi'old/*.orig' -e 's/bar/baz/' fileA # backup to 'old/fileA.orig'
+ $ perl -pi'old/*.orig' -e 's/bar/baz/' fileA # backup to
+ # 'old/fileA.orig'
These sets of one-liners are equivalent:
- $ perl -pi -e 's/bar/baz/' fileA # overwrite current file
- $ perl -pi'*' -e 's/bar/baz/' fileA # overwrite current file
+ $ perl -pi -e 's/bar/baz/' fileA # overwrite current file
+ $ perl -pi'*' -e 's/bar/baz/' fileA # overwrite current file
- $ perl -pi'.orig' -e 's/bar/baz/' fileA # backup to 'fileA.orig'
- $ perl -pi'*.orig' -e 's/bar/baz/' fileA # backup to 'fileA.orig'
+ $ perl -pi'.orig' -e 's/bar/baz/' fileA # backup to 'fileA.orig'
+ $ perl -pi'*.orig' -e 's/bar/baz/' fileA # backup to 'fileA.orig'
From the shell, saying
@@ -669,7 +678,7 @@ I<awk>:
... # your program goes here
}
-Note that the lines are not printed by default. See B<-p> to have
+Note that the lines are not printed by default. See L</-p> to have
lines printed. If a file named by an argument cannot be opened for
some reason, Perl warns you about it and moves on to the next file.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlsec.pod b/Master/tlpkg/tlperl/lib/pods/perlsec.pod
index 1c49453d535..d8470eccccb 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlsec.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlsec.pod
@@ -170,6 +170,7 @@ nearby CPAN mirror, and included in Perl starting from the release 5.8.0.
Or you may be able to use the following C<is_tainted()> function.
sub is_tainted {
+ local $@; # Don't pollute caller's value.
return ! eval { eval("#" . substr(join("", @_), 0, 0)); 1 };
}
diff --git a/Master/tlpkg/tlperl/lib/pods/perlsolaris.pod b/Master/tlpkg/tlperl/lib/pods/perlsolaris.pod
index b8c8dbf71e4..0e6ffd9a9fb 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlsolaris.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlsolaris.pod
@@ -4,7 +4,7 @@ specifically designed to be readable as is.
=head1 NAME
-README.solaris - Perl version 5 on Solaris systems
+perlsolaris - Perl version 5 on Solaris systems
=head1 DESCRIPTION
diff --git a/Master/tlpkg/tlperl/lib/pods/perlsource.pod b/Master/tlpkg/tlperl/lib/pods/perlsource.pod
index 94ceec00bd3..16252eb3f07 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlsource.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlsource.pod
@@ -10,89 +10,94 @@ perlsource - A guide to the Perl source tree
=head1 DESCRIPTION
-This document describes the layout of the Perl source tree. If you're hacking
-on the Perl core, this will help you find what you're looking for.
+This document describes the layout of the Perl source tree. If you're
+hacking on the Perl core, this will help you find what you're looking
+for.
=head1 FINDING YOUR WAY AROUND
-The Perl source tree is big. Here's some of the thing you'll find in it:
+The Perl source tree is big. Here's some of the thing you'll find in
+it:
=head2 C code
-The C source code and header files mostly live in the root of the source
-tree. There are a few platform-specific directories which contain C code. In
-addition, some of the modules shipped with Perl include C or XS code.
+The C source code and header files mostly live in the root of the
+source tree. There are a few platform-specific directories which
+contain C code. In addition, some of the modules shipped with Perl
+include C or XS code.
See L<perlinterp> for more details on the files that make up the Perl
interpreter, as well as details on how it works.
=head2 Core modules
-Modules shipped as part of the Perl core live in four subdirectories. Two of
-these directories contain modules that live in the core, and two contain
-modules that can also be released separately on CPAN. Modules which can be
-released on cpan are known as "dual-life" modules.
+Modules shipped as part of the Perl core live in four subdirectories.
+Two of these directories contain modules that live in the core, and two
+contain modules that can also be released separately on CPAN. Modules
+which can be released on cpan are known as "dual-life" modules.
=over 4
=item * F<lib/>
-This directory contains pure-Perl modules which are only released as part of
-the core. This directory contains I<all> of the modules and their tests,
-unlike other core modules.
+This directory contains pure-Perl modules which are only released as
+part of the core. This directory contains I<all> of the modules and
+their tests, unlike other core modules.
=item * F<ext/>
-This directory contains XS-using modules which are only released as part of
-the core. These modules generally have their F<Makefile.PL> and are laid out
-more like a typical CPAN module.
+This directory contains XS-using modules which are only released as
+part of the core. These modules generally have their F<Makefile.PL> and
+are laid out more like a typical CPAN module.
=item * F<dist/>
This directory is for dual-life modules where the blead source is
-canonical. Note that some modules in this directory may not yet have been
-released separately on CPAN.
+canonical. Note that some modules in this directory may not yet have
+been released separately on CPAN.
=item * F<cpan/>
This directory contains dual-life modules where the CPAN module is
-canonical. Do not patch these modules directly! Changes to these modules
-should be submitted to the maintainer of the CPAN module. Once those changes
-are applied and released, the new version of the module will be incorporated
-into the core.
+canonical. Do not patch these modules directly! Changes to these
+modules should be submitted to the maintainer of the CPAN module. Once
+those changes are applied and released, the new version of the module
+will be incorporated into the core.
=back
-For some dual-life modules, it has not yet been determined if the CPAN version
-or the blead source is canonical. Until that is done, those modules should be
-in F<cpan/>.
+For some dual-life modules, it has not yet been determined if the CPAN
+version or the blead source is canonical. Until that is done, those
+modules should be in F<cpan/>.
=head2 Tests
The Perl core has an extensive test suite. If you add new tests (or new
-modules with tests), you may need to update the F<t/TEST> file so that the
-tests are run.
+modules with tests), you may need to update the F<t/TEST> file so that
+the tests are run.
=over 4
=item * Module tests
-Tests for core modules in the F<lib/> directory are right next to the module
-itself. For example, we have F<lib/strict.pm> and F<lib/strict.t>.
+Tests for core modules in the F<lib/> directory are right next to the
+module itself. For example, we have F<lib/strict.pm> and
+F<lib/strict.t>.
Tests for modules in F<ext/> and the dual-life modules are in F<t/>
subdirectories for each module, like a standard CPAN distribution.
=item * F<t/base/>
-Tests for the absolute basic functionality of Perl. This includes C<if>, basic
-file reads and writes, simple regexes, etc. These are run first in the test
-suite and if any of them fail, something is I<really> broken.
+Tests for the absolute basic functionality of Perl. This includes
+C<if>, basic file reads and writes, simple regexes, etc. These are run
+first in the test suite and if any of them fail, something is I<really>
+broken.
=item * F<t/cmd/>
-Tests for basic control structures, C<if/else>, C<while>,
-subroutines, etc.
+Tests for basic control structures, C<if/else>, C<while>, subroutines,
+etc.
=item * F<t/comp/>
@@ -131,9 +136,9 @@ Windows-specific tests.
=item * F<t/porting/>
-Tests the state of the source tree for various common errors. For example, it
-tests that everyone who is listed in the git log has a corresponding entry in
-the F<AUTHORS> file.
+Tests the state of the source tree for various common errors. For
+example, it tests that everyone who is listed in the git log has a
+corresponding entry in the F<AUTHORS> file.
=item * F<t/lib/>
@@ -149,15 +154,15 @@ A test suite for the s2p converter.
=head2 Documentation
-All of the core documentation intended for end users lives in
-F<pod/>. Individual modules in F<lib/>, F<ext/>, F<dist/>, and F<cpan/>
-usually have their own documentation, either in the F<Module.pm> file or an
+All of the core documentation intended for end users lives in F<pod/>.
+Individual modules in F<lib/>, F<ext/>, F<dist/>, and F<cpan/> usually
+have their own documentation, either in the F<Module.pm> file or an
accompanying F<Module.pod> file.
Finally, documentation intended for core Perl developers lives in the
F<Porting/> directory.
-=head2 Hacking toolks and documentation
+=head2 Hacking tools and documentation
The F<Porting> directory contains a grab bag of code and documentation
intended to help porters work on Perl. Some of the highlights include:
@@ -166,18 +171,19 @@ intended to help porters work on Perl. Some of the highlights include:
=item * F<check*>
-These are scripts which will check the source things like ANSI C violations,
-POD encoding issues, etc.
+These are scripts which will check the source things like ANSI C
+violations, POD encoding issues, etc.
=item * F<Maintainers>, F<Maintainers.pl>, and F<Maintainers.pm>
-These files contain information on who maintains which modules. Run C<perl
-Porting/Maintainers -M Module::Name> to find out more information about a
-dual-life module.
+These files contain information on who maintains which modules. Run
+C<perl Porting/Maintainers -M Module::Name> to find out more
+information about a dual-life module.
=item * F<podtidy>
-Tidies a pod file. It's a good idea to run this on a pod file you've patched.
+Tidies a pod file. It's a good idea to run this on a pod file you've
+patched.
=back
@@ -186,8 +192,8 @@ Tidies a pod file. It's a good idea to run this on a pod file you've patched.
The Perl build system starts with the F<Configure> script in the root
directory.
-Platform-specific pieces of the build system also live in platform-specific
-directories like F<win32/>, F<vms/>, etc.
+Platform-specific pieces of the build system also live in
+platform-specific directories like F<win32/>, F<vms/>, etc.
The F<Configure> script is ultimately responsible for generating a
F<Makefile>.
@@ -195,21 +201,22 @@ F<Makefile>.
The build system that Perl uses is called metaconfig. This system is
maintained separately from the Perl core.
-The metaconfig system has its own git repository. Please see its README file
-in L<http://perl5.git.perl.org/metaconfig.git/> for more details.
+The metaconfig system has its own git repository. Please see its README
+file in L<http://perl5.git.perl.org/metaconfig.git/> for more details.
-The F<Cross> directory contains various files related to cross-compiling
-Perl. See F<Cross/README> for more details.
+The F<Cross> directory contains various files related to
+cross-compiling Perl. See F<Cross/README> for more details.
=head2 F<AUTHORS>
-This file everyone who's contributed to Perl. If you submit a patch, you
-should add your name to this file as part of the patch.
+This file lists everyone who's contributed to Perl. If you submit a
+patch, you should add your name to this file as part of the patch.
=head2 F<MANIFEST>
-The F<MANIFEST> file in the root of the source tree contains a list of every
-file in the Perl core, as well as a brief description of each file.
+The F<MANIFEST> file in the root of the source tree contains a list of
+every file in the Perl core, as well as a brief description of each
+file.
You can get an overview of all the files with this command:
diff --git a/Master/tlpkg/tlperl/lib/pods/perlsub.pod b/Master/tlpkg/tlperl/lib/pods/perlsub.pod
index ea5fa207cc8..760e496fab7 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlsub.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlsub.pod
@@ -217,9 +217,21 @@ X<recursion>
Not only does the C<&> form make the argument list optional, it also
disables any prototype checking on arguments you do provide. This
is partly for historical reasons, and partly for having a convenient way
-to cheat if you know what you're doing. See L<Prototypes> below.
+to cheat if you know what you're doing. See L</Prototypes> below.
X<&>
+Since Perl 5.16.0, the C<__SUB__> token is available under C<use feature
+'current_sub'> and C<use 5.16.0>. It will evaluate to a reference to the
+currently-running sub, which allows for recursive calls without knowing
+your subroutine's name.
+
+ use 5.16.0;
+ my $factorial = sub {
+ my ($x) = @_;
+ return 1 if $x == 1;
+ return($x * __SUB__->( $x - 1 ) );
+ };
+
Subroutines whose names are in all upper case are reserved to the Perl
core, as are modules whose names are in all lower case. A subroutine in
all capitals is a loosely-held convention meaning it will be called
@@ -439,10 +451,12 @@ if you want to stay compatible with releases older than 5.10.
=head3 Persistent variables via state()
-Beginning with perl 5.9.4, you can declare variables with the C<state>
-keyword in place of C<my>. For that to work, though, you must have
+Beginning with Perl 5.9.4, you can declare variables with the C<state>
+keyword in place of C<my>. For that to work, though, you must have
enabled that feature beforehand, either by using the C<feature> pragma, or
-by using C<-E> on one-liners. (see L<feature>)
+by using C<-E> on one-liners (see L<feature>). Beginning with Perl 5.16,
+the C<CORE::state> form does not require the
+C<feature> pragma.
For example, the following code maintains a private counter, incremented
each time the gimme_another() function is called:
@@ -554,7 +568,7 @@ values to global (meaning package) variables. It does I<not> create
a local variable. This is known as dynamic scoping. Lexical scoping
is done with C<my>, which works more like C's auto declarations.
-Some types of lvalues can be localized as well : hash and array elements
+Some types of lvalues can be localized as well: hash and array elements
and slices, conditionals (provided that their result is always
localizable), and symbolic references. As for simple variables, this
creates new, dynamically scoped values.
@@ -740,8 +754,7 @@ To do this, you have to declare the subroutine to return an lvalue.
my $val;
sub canmod : lvalue {
- # return $val; this doesn't work, don't say "return"
- $val;
+ $val; # or: return $val;
}
sub nomod {
$val;
@@ -770,14 +783,9 @@ all the subroutines are called in a list context.
=item Lvalue subroutines are EXPERIMENTAL
-They appear to be convenient, but there are several reasons to be
+They appear to be convenient, but there is at least one reason to be
circumspect.
-You can't use the return keyword, you must pass out the value before
-falling out of subroutine scope. (see comment in example above). This
-is usually not a problem, but it disallows an explicit return out of a
-deeply nested loop, which is sometimes a nice way out.
-
They violate encapsulation. A normal mutator can check the supplied
argument before setting the attribute it is protecting, an lvalue
subroutine never gets that chance. Consider;
@@ -893,7 +901,7 @@ can be used to create what is effectively a local function, or at least,
a local alias.
{
- local *grow = \&shrink; # only until this block exists
+ local *grow = \&shrink; # only until this block exits
grow(); # really calls shrink()
move(); # if move() grow()s, it shrink()s too
}
@@ -1081,8 +1089,8 @@ corresponding built-in.
Any backslashed prototype character represents an actual argument
that must start with that character (optionally preceded by C<my>,
-C<our> or C<local>), with the exception of C<$>, which will accept a
-hash or array element even without a dollar sign, such as
+C<our> or C<local>), with the exception of C<$>, which will
+accept any scalar lvalue expression, such as C<$foo = 7> or
C<< my_function()->[0] >>. The value passed as part of C<@_> will be a
reference to the actual argument given in the subroutine call,
obtained by applying C<\> to that argument.
@@ -1140,9 +1148,9 @@ is of an acceptable type.
A semicolon (C<;>) separates mandatory arguments from optional arguments.
It is redundant before C<@> or C<%>, which gobble up everything else.
-As the last character of a prototype, or just before a semicolon, you can
-use C<_> in place of C<$>: if this argument is not provided, C<$_> will be
-used instead.
+As the last character of a prototype, or just before a semicolon, a C<@>
+or a C<%>, you can use C<_> in place of C<$>: if this argument is not
+provided, C<$_> will be used instead.
Note how the last three examples in the table above are treated
specially by the parser. C<mygrep()> is parsed as a true list
@@ -1153,7 +1161,11 @@ arguments, just like C<time()>. That is, if you say
mytime +2;
you'll get C<mytime() + 2>, not C<mytime(2)>, which is how it would be parsed
-without a prototype.
+without a prototype. If you want to force a unary function to have the
+same precedence as a list operator, add C<;> to the end of the prototype:
+
+ sub mygetprotobynumber($;);
+ mygetprotobynumber $a > $b; # parsed as mygetprotobynumber($a > $b)
The interesting thing about C<&> is that you can generate new syntax with it,
provided it's in the initial position:
@@ -1278,9 +1290,10 @@ the constant folding doesn't reduce them to a single constant:
}
If you redefine a subroutine that was eligible for inlining, you'll get
-a mandatory warning. (You can use this warning to tell whether or not a
+a warning by default. (You can use this warning to tell whether or not a
particular subroutine is considered constant.) The warning is
-considered severe enough not to be optional because previously compiled
+considered severe enough not to be affected by the B<-w>
+switch (or its absence) because previously compiled
invocations of the function will still be using the old value of the
function. If you need to be able to redefine the subroutine, you need to
ensure that it isn't inlined, either by dropping the C<()> prototype
@@ -1313,8 +1326,10 @@ built-in name with the special package qualifier C<CORE::>. For example,
saying C<CORE::open()> always refers to the built-in C<open()>, even
if the current package has imported some other subroutine called
C<&open()> from elsewhere. Even though it looks like a regular
-function call, it isn't: you can't take a reference to it, such as
-the incorrect C<\&CORE::open> might appear to produce.
+function call, it isn't: the CORE:: prefix in that case is part of Perl's
+syntax, and works for any keyword, regardless of what is in the CORE
+package. Taking a reference to it, that is, C<\&CORE::open>, only works
+for some keywords. See L<CORE>.
Library modules should not in general export built-in names like C<open>
or C<chdir> as part of their default C<@EXPORT> list, because these may
@@ -1430,9 +1445,8 @@ variable of the same package as the C<AUTOLOAD> routine. The name
is not passed as an ordinary argument because, er, well, just
because, that's why. (As an exception, a method call to a nonexistent
C<import> or C<unimport> method is just skipped instead. Also, if
-the AUTOLOAD subroutine is an XSUB, C<$AUTOLOAD> is not populated;
-instead, you should call L<< C<SvPVX>E<sol>C<SvCUR>|perlapi >> on the
-C<CV> for C<AUTOLOAD> to retrieve the method name.)
+the AUTOLOAD subroutine is an XSUB, there are other ways to retrieve the
+subroutine name. See L<perlguts/Autoloading with XSUBs> for details.)
Many C<AUTOLOAD> routines load in a definition for the requested
@@ -1461,7 +1475,7 @@ even need parentheses:
who "am", "i";
ls '-l';
-A more complete example of this is the standard Shell module, which
+A more complete example of this is the Shell module on CPAN, which
can treat undefined subroutine calls as calls to external programs.
Mechanisms are available to help modules writers split their modules
@@ -1518,4 +1532,4 @@ See L<perlxs> if you'd like to learn about calling C subroutines from Perl.
See L<perlembed> if you'd like to learn about calling Perl subroutines from C.
See L<perlmod> to learn about bundling up your functions in separate files.
See L<perlmodlib> to learn what library modules come standard on your system.
-See L<perltoot> to learn how to make object method calls.
+See L<perlootut> to learn how to make object method calls.
diff --git a/Master/tlpkg/tlperl/lib/pods/perlsymbian.pod b/Master/tlpkg/tlperl/lib/pods/perlsymbian.pod
index 04678fe8f55..2572631c12a 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlsymbian.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlsymbian.pod
@@ -4,7 +4,7 @@ designed to be readable as is.
=head1 NAME
-README.symbian - Perl version 5 on Symbian OS
+perlsymbian - Perl version 5 on Symbian OS
=head1 DESCRIPTION
@@ -301,7 +301,7 @@ the Perl definitions and redefines them as PerlNew() and PerlCopy().
=head1 TO DO
-Lots. See F<symbian\TODO>.
+Lots. See F<symbian/TODO>.
=head1 WARNING
diff --git a/Master/tlpkg/tlperl/lib/pods/perlsyn.pod b/Master/tlpkg/tlperl/lib/pods/perlsyn.pod
index 603dd15ae83..3bebeec7adb 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlsyn.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlsyn.pod
@@ -6,12 +6,13 @@ perlsyn - Perl syntax
=head1 DESCRIPTION
A Perl program consists of a sequence of declarations and statements
-which run from the top to the bottom. Loops, subroutines and other
+which run from the top to the bottom. Loops, subroutines, and other
control structures allow you to jump around within the code.
-Perl is a B<free-form> language, you can format and indent it however
-you like. Whitespace mostly serves to separate tokens, unlike
-languages like Python where it is an important part of the syntax.
+Perl is a B<free-form> language: you can format and indent it however
+you like. Whitespace serves mostly to separate tokens, unlike
+languages like Python where it is an important part of the syntax,
+or Fortran where it is immaterial.
Many of Perl's syntactic elements are B<optional>. Rather than
requiring you to put parentheses around every function call and
@@ -31,7 +32,7 @@ see L<perltrap> for information about how they differ.
X<declaration> X<undef> X<undefined> X<uninitialized>
The only things you need to declare in Perl are report formats and
-subroutines (and sometimes not even subroutines). A variable holds
+subroutines (and sometimes not even subroutines). A scalar variable holds
the undefined value (C<undef>) until it has been assigned a defined
value, which is anything other than C<undef>. When used as a number,
C<undef> is treated as C<0>; when used as a string, it is treated as
@@ -41,24 +42,23 @@ you'll be notified of an uninitialized value whenever you treat
C<undef> as a string or a number. Well, usually. Boolean contexts,
such as:
- my $a;
if ($a) {}
are exempt from warnings (because they care about truth rather than
definedness). Operators such as C<++>, C<-->, C<+=>,
-C<-=>, and C<.=>, that operate on undefined left values such as:
+C<-=>, and C<.=>, that operate on undefined variables such as:
- my $a;
+ undef $a;
$a++;
are also always exempt from such warnings.
A declaration can be put anywhere a statement can, but has no effect on
-the execution of the primary sequence of statements--declarations all
-take effect at compile time. Typically all the declarations are put at
+the execution of the primary sequence of statements: declarations all
+take effect at compile time. All declarations are typically put at
the beginning or the end of the script. However, if you're using
-lexically-scoped private variables created with C<my()>, you'll
-have to make sure
+lexically-scoped private variables created with C<my()>,
+C<state()>, or C<our()>, you'll have to make sure
your format or subroutine definition is within the same block scope
as the my if you expect to be able to access those private variables.
@@ -70,11 +70,21 @@ X<subroutine, declaration>
sub myname;
$me = myname $0 or die "can't get myname";
-Note that myname() functions as a list operator, not as a unary operator;
-so be careful to use C<or> instead of C<||> in this case. However, if
-you were to declare the subroutine as C<sub myname ($)>, then
-C<myname> would function as a unary operator, so either C<or> or
-C<||> would work.
+A bare declaration like that declares the function to be a list operator,
+not a unary operator, so you have to be careful to use parentheses (or
+C<or> instead of C<||>.) The C<||> operator binds too tightly to use after
+list operators; it becomes part of the last element. You can always use
+parentheses around the list operators arguments to turn the list operator
+back into something that behaves more like a function call. Alternatively,
+you can use the prototype C<($)> to turn the subroutine into a unary
+operator:
+
+ sub myname ($);
+ $me = myname $0 || die "can't get myname";
+
+That now parses as you'd expect, but you still ought to get in the habit of
+using parentheses in that situation. For more on prototypes, see
+L<perlsub>
Subroutines declarations can also be loaded up with the C<require> statement
or both loaded and imported into your namespace with a C<use> statement.
@@ -97,23 +107,24 @@ expression.
X<statement> X<semicolon> X<expression> X<;>
The only kind of simple statement is an expression evaluated for its
-side effects. Every simple statement must be terminated with a
+side-effects. Every simple statement must be terminated with a
semicolon, unless it is the final statement in a block, in which case
-the semicolon is optional. (A semicolon is still encouraged if the
+the semicolon is optional. But put the semicolon in anyway if the
block takes up more than one line, because you may eventually add
-another line.) Note that there are some operators like C<eval {}> and
-C<do {}> that look like compound statements, but aren't (they're just
-TERMs in an expression), and thus need an explicit termination if used
+another line. Note that there are operators like C<eval {}>, C<sub {}>, and
+C<do {}> that I<look> like compound statements, but aren't--they're just
+TERMs in an expression--and thus need an explicit termination when used
as the last item in a statement.
=head2 Truth and Falsehood
X<truth> X<falsehood> X<true> X<false> X<!> X<not> X<negation> X<0>
-The number 0, the strings C<'0'> and C<''>, the empty list C<()>, and
-C<undef> are all false in a boolean context. All other values are true.
+The number 0, the strings C<'0'> and C<"">, the empty list C<()>, and
+C<undef> are all false in a boolean context. All other values are true.
Negation of a true value by C<!> or C<not> returns a special false value.
-When evaluated as a string it is treated as C<''>, but as a number, it
-is treated as 0.
+When evaluated as a string it is treated as C<"">, but as a number, it
+is treated as 0. Most Perl operators
+that return true or false behave this way.
=head2 Statement Modifiers
X<statement modifier> X<modifier> X<if> X<unless> X<while>
@@ -127,40 +138,24 @@ modifiers are:
unless EXPR
while EXPR
until EXPR
- when EXPR
for LIST
foreach LIST
+ when EXPR
The C<EXPR> following the modifier is referred to as the "condition".
Its truth or falsehood determines how the modifier will behave.
C<if> executes the statement once I<if> and only if the condition is
true. C<unless> is the opposite, it executes the statement I<unless>
-the condition is true (i.e., if the condition is false).
+the condition is true (that is, if the condition is false).
print "Basset hounds got long ears" if length $ear >= 10;
go_outside() and play() unless $is_raining;
-C<when> executes the statement I<when> C<$_> smart matches C<EXPR>, and
-then either C<break>s out if it's enclosed in a C<given> scope or skips
-to the C<next> element when it lies directly inside a C<for> loop.
-See also L</"Switch statements">.
-
- given ($something) {
- $abc = 1 when /^abc/;
- $just_a = 1 when /^a/;
- $other = 1;
- }
-
- for (@names) {
- admin($_) when [ qw/Alice Bob/ ];
- regular($_) when [ qw/Chris David Ellen/ ];
- }
-
-The C<foreach> modifier is an iterator: it executes the statement once
+The C<for(each)> modifier is an iterator: it executes the statement once
for each item in the LIST (with C<$_> aliased to each item in turn).
- print "Hello $_!\n" foreach qw(world Dolly nurse);
+ print "Hello $_!\n" for qw(world Dolly nurse);
C<while> repeats the statement I<while> the condition is true.
C<until> does the opposite, it repeats the statement I<until> the
@@ -172,14 +167,16 @@ condition is true (or while the condition is false):
The C<while> and C<until> modifiers have the usual "C<while> loop"
semantics (conditional evaluated first), except when applied to a
-C<do>-BLOCK (or to the deprecated C<do>-SUBROUTINE statement), in
+C<do>-BLOCK (or to the Perl4 C<do>-SUBROUTINE statement), in
which case the block executes once before the conditional is
-evaluated. This is so that you can write loops like:
+evaluated.
+
+This is so that you can write loops like:
do {
$line = <STDIN>;
...
- } until $line eq ".\n";
+ } until !defined($line) || $line eq ".\n"
See L<perlfunc/do>. Note also that the loop control statements described
later will I<NOT> work in this construct, because modifiers don't take
@@ -203,17 +200,31 @@ X<last>
} while $x++ <= $z;
}
-B<NOTE:> The behaviour of a C<my> statement modified with a statement
-modifier conditional or loop construct (e.g. C<my $x if ...>) is
+B<NOTE:> The behaviour of a C<my>, C<state>, or
+C<our> modified with a statement modifier conditional
+or loop construct (for example, C<my $x if ...>) is
B<undefined>. The value of the C<my> variable may be C<undef>, any
previously assigned value, or possibly anything else. Don't rely on
it. Future versions of perl might do something different from the
version of perl you try it out on. Here be dragons.
X<my>
+The C<when> modifier is an experimental feature that first appeared in Perl
+5.14. To use it, you should include a C<use v5.14> declaration.
+(Technically, it requires only the C<switch> feature, but that aspect of it
+was not available before 5.14.) Operative only from within a C<foreach>
+loop or a C<given> block, it executes the statement only if the smartmatch
+C<< $_ ~~ I<EXPR> >> is true. If the statement executes, it is followed by
+a C<next> from inside a C<foreach> and C<break> from inside a C<given>.
+
+Under the current implementation, the C<foreach> loop can be
+anywhere within the C<when> modifier's dynamic scope, but must be
+within the C<given> block's lexical scope. This restricted may
+be relaxed in a future release. See L<"Switch Statements"> below.
+
=head2 Compound Statements
X<statement, compound> X<block> X<bracket, curly> X<curly bracket> X<brace>
-X<{> X<}> X<if> X<unless> X<while> X<until> X<foreach> X<for> X<continue>
+X<{> X<}> X<if> X<unless> X<given> X<while> X<until> X<foreach> X<for> X<continue>
In Perl, a sequence of statements that defines a scope is called a block.
Sometimes a block is delimited by the file containing it (in the case
@@ -227,36 +238,55 @@ The following compound statements may be used to control flow:
if (EXPR) BLOCK
if (EXPR) BLOCK else BLOCK
+ if (EXPR) BLOCK elsif (EXPR) BLOCK ...
if (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK
+
unless (EXPR) BLOCK
unless (EXPR) BLOCK else BLOCK
+ unless (EXPR) BLOCK elsif (EXPR) BLOCK ...
unless (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK
+
+ given (EXPR) BLOCK
+
LABEL while (EXPR) BLOCK
LABEL while (EXPR) BLOCK continue BLOCK
+
LABEL until (EXPR) BLOCK
LABEL until (EXPR) BLOCK continue BLOCK
+
LABEL for (EXPR; EXPR; EXPR) BLOCK
+ LABEL for VAR (LIST) BLOCK
+ LABEL for VAR (LIST) BLOCK continue BLOCK
+
+ LABEL foreach (EXPR; EXPR; EXPR) BLOCK
LABEL foreach VAR (LIST) BLOCK
LABEL foreach VAR (LIST) BLOCK continue BLOCK
+
+ LABEL BLOCK
LABEL BLOCK continue BLOCK
-Note that, unlike C and Pascal, these are defined in terms of BLOCKs,
+ PHASE BLOCK
+
+The experimental C<given> statement is I<not automatically enabled>; see
+L</"Switch Statements"> below for how to do so, and the attendant caveats.
+
+Unlike in C and Pascal, in Perl these are all defined in terms of BLOCKs,
not statements. This means that the curly brackets are I<required>--no
dangling statements allowed. If you want to write conditionals without
-curly brackets there are several other ways to do it. The following
+curly brackets, there are several other ways to do it. The following
all do the same thing:
- if (!open(FOO)) { die "Can't open $FOO: $!"; }
+ if (!open(FOO)) { die "Can't open $FOO: $!" }
die "Can't open $FOO: $!" unless open(FOO);
- open(FOO) or die "Can't open $FOO: $!"; # FOO or bust!
- open(FOO) ? 'hi mom' : die "Can't open $FOO: $!";
+ open(FOO) || die "Can't open $FOO: $!";
+ open(FOO) ? () : die "Can't open $FOO: $!";
# a bit exotic, that last one
The C<if> statement is straightforward. Because BLOCKs are always
bounded by curly brackets, there is never any ambiguity about which
C<if> an C<else> goes with. If you use C<unless> in place of C<if>,
-the sense of the test is reversed. Like C<if>, C<unless> can be followed
-by C<else>. C<unless> can even be followed by one or more C<elsif>
+the sense of the test is reversed. Like C<if>, C<unless> can be followed
+by C<else>. C<unless> can even be followed by one or more C<elsif>
statements, though you may want to think twice before using that particular
language construct, as everyone reading your code will have to think at least
twice before they can understand what's going on.
@@ -279,8 +309,12 @@ conditional is about to be evaluated again. Thus it can be used to
increment a loop variable, even when the loop has been continued via
the C<next> statement.
+When a block is preceding by a compilation phase keyword such as C<BEGIN>,
+C<END>, C<INIT>, C<CHECK>, or C<UNITCHECK>, then the block will run only
+during the corresponding phase of execution. See L<perlmod> for more details.
+
Extension modules can also hook into the Perl parser to define new
-kinds of compound statement. These are introduced by a keyword which
+kinds of compound statements. These are introduced by a keyword which
the extension recognizes, and the syntax following the keyword is
defined entirely by the extension. If you are an implementor, see
L<perlapi/PL_keyword_plugin> for the mechanism. If you are using such
@@ -323,7 +357,7 @@ want to skip ahead and get the next record.
# now process $_
}
-which is Perl short-hand for the more explicitly written version:
+which is Perl shorthand for the more explicitly written version:
LINE: while (defined($line = <ARGV>)) {
chomp($line);
@@ -336,7 +370,7 @@ which is Perl short-hand for the more explicitly written version:
Note that if there were a C<continue> block on the above code, it would
get executed only on lines discarded by the regex (since redo skips the
-continue block). A continue block is often used to reset line counters
+continue block). A continue block is often used to reset line counters
or C<m?pat?> one-time matches:
# inspired by :1,$g/fred/s//WILMA/
@@ -354,12 +388,13 @@ If the word C<while> is replaced by the word C<until>, the sense of the
test is reversed, but the conditional is still tested before the first
iteration.
-The loop control statements don't work in an C<if> or C<unless>, since
+Loop control statements don't work in an C<if> or C<unless>, since
they aren't loops. You can double the braces to make them such, though.
if (/pattern/) {{
last if /fred/;
- next if /barney/; # same effect as "last", but doesn't document as well
+ next if /barney/; # same effect as "last",
+ # but doesn't document as well
# do something here
}}
@@ -431,9 +466,7 @@ loop.
X<my> X<local>
The C<foreach> keyword is actually a synonym for the C<for> keyword, so
-you can use C<foreach> for readability or C<for> for brevity. (Or because
-the Bourne shell is more familiar to you than I<csh>, so writing C<for>
-comes more naturally.) If VAR is omitted, C<$_> is set to each value.
+you can use either. If VAR is omitted, C<$_> is set to each value.
X<$_>
If any element of LIST is an lvalue, you can modify it by modifying
@@ -459,8 +492,9 @@ Examples:
$elem *= 2;
}
- for $count (10,9,8,7,6,5,4,3,2,1,'BOOM') {
- print $count, "\n"; sleep(1);
+ for $count (reverse(1..10), "BOOM") {
+ print $count, "\n";
+ sleep(1);
}
for (1..15) { print "Merry Christmas\n"; }
@@ -518,34 +552,345 @@ The BLOCK construct can be used to emulate case structures.
$nothing = 1;
}
-Such constructs are quite frequently used, because older versions
-of Perl had no official C<switch> statement.
+You'll also find that C<foreach> loop used to create a topicalizer
+and a switch:
+
+ SWITCH:
+ for ($var) {
+ if (/^abc/) { $abc = 1; last SWITCH; }
+ if (/^def/) { $def = 1; last SWITCH; }
+ if (/^xyz/) { $xyz = 1; last SWITCH; }
+ $nothing = 1;
+ }
+
+Such constructs are quite frequently used, both because older versions of
+Perl had no official C<switch> statement, and also because the new version
+described immediately below remains experimental and can sometimes be confusing.
+
+=head2 Switch Statements
-=head2 Switch statements
X<switch> X<case> X<given> X<when> X<default>
-Starting from Perl 5.10, you can say
+Starting from Perl 5.10.1 (well, 5.10.0, but it didn't work
+right), you can say
use feature "switch";
-which enables a switch feature that is closely based on the
-Perl 6 proposal.
+to enable an experimental switch feature. This is loosely based on an
+old version of a Perl 6 proposal, but it no longer resembles the Perl 6
+construct. You also get the switch feature whenever you declare that your
+code prefers to run under a version of Perl that is 5.10 or later. For
+example:
+
+ use v5.14;
+
+Under the "switch" feature, Perl gains the experimental keywords
+C<given>, C<when>, C<default>, C<continue>, and C<break>.
+Starting from Perl 5.16, one can prefix the switch
+keywords with C<CORE::> to access the feature without a C<use feature>
+statement. The keywords C<given> and
+C<when> are analogous to C<switch> and
+C<case> in other languages, so the code in the previous section could be
+rewritten as
+
+ use v5.10.1;
+ for ($var) {
+ when (/^abc/) { $abc = 1 }
+ when (/^def/) { $def = 1 }
+ when (/^xyz/) { $xyz = 1 }
+ default { $nothing = 1 }
+ }
+
+The C<foreach> is the non-experimental way to set a topicalizer.
+If you wish to use the highly experimental C<given>, that could be
+written like this:
+
+ use v5.10.1;
+ given ($var) {
+ when (/^abc/) { $abc = 1 }
+ when (/^def/) { $def = 1 }
+ when (/^xyz/) { $xyz = 1 }
+ default { $nothing = 1 }
+ }
+
+As of 5.14, that can also be written this way:
+
+ use v5.14;
+ for ($var) {
+ $abc = 1 when /^abc/;
+ $def = 1 when /^def/;
+ $xyz = 1 when /^xyz/;
+ default { $nothing = 1 }
+ }
+
+Or if you don't care to play it safe, like this:
+
+ use v5.14;
+ given ($var) {
+ $abc = 1 when /^abc/;
+ $def = 1 when /^def/;
+ $xyz = 1 when /^xyz/;
+ default { $nothing = 1 }
+ }
+
+The arguments to C<given> and C<when> are in scalar context,
+and C<given> assigns the C<$_> variable its topic value.
+
+Exactly what the I<EXPR> argument to C<when> does is hard to describe
+precisely, but in general, it tries to guess what you want done. Sometimes
+it is interpreted as C<< $_ ~~ I<EXPR> >>, and sometimes it does not. It
+also behaves differently when lexically enclosed by a C<given> block than
+it does when dynamically enclosed by a C<foreach> loop. The rules are far
+too difficult to understand to be described here. See L</"Experimental Details
+on given and when"> later on.
+
+Due to an unfortunate bug in how C<given> was implemented between Perl 5.10
+and 5.14, under those implementations the version of C<$_> governed by
+C<given> is merely a lexically scoped copy of the original, not a
+dynamically scoped alias to the original, as it would be if it were a
+C<foreach> or under both the original and the current Perl 6 language
+specification. This bug is expected to be addressed in a future release of
+Perl. For forwards compatibility, if you really want a lexical C<$_>,
+specify that explicitly:
+
+ given(my $_ = EXPR) { ... }
+
+In the meanwhile, stick to C<foreach> for your topicalizer and
+you will be less unhappy.
-The keywords C<given> and C<when> are analogous
-to C<switch> and C<case> in other languages, so the code
-above could be written as
+=head2 Goto
+X<goto>
+
+Although not for the faint of heart, Perl does support a C<goto>
+statement. There are three forms: C<goto>-LABEL, C<goto>-EXPR, and
+C<goto>-&NAME. A loop's LABEL is not actually a valid target for
+a C<goto>; it's just the name of the loop.
- given($_) {
- when (/^abc/) { $abc = 1; }
- when (/^def/) { $def = 1; }
- when (/^xyz/) { $xyz = 1; }
- default { $nothing = 1; }
+The C<goto>-LABEL form finds the statement labeled with LABEL and resumes
+execution there. It may not be used to go into any construct that
+requires initialization, such as a subroutine or a C<foreach> loop. It
+also can't be used to go into a construct that is optimized away. It
+can be used to go almost anywhere else within the dynamic scope,
+including out of subroutines, but it's usually better to use some other
+construct such as C<last> or C<die>. The author of Perl has never felt the
+need to use this form of C<goto> (in Perl, that is--C is another matter).
+
+The C<goto>-EXPR form expects a label name, whose scope will be resolved
+dynamically. This allows for computed C<goto>s per FORTRAN, but isn't
+necessarily recommended if you're optimizing for maintainability:
+
+ goto(("FOO", "BAR", "GLARCH")[$i]);
+
+The C<goto>-&NAME form is highly magical, and substitutes a call to the
+named subroutine for the currently running subroutine. This is used by
+C<AUTOLOAD()> subroutines that wish to load another subroutine and then
+pretend that the other subroutine had been called in the first place
+(except that any modifications to C<@_> in the current subroutine are
+propagated to the other subroutine.) After the C<goto>, not even C<caller()>
+will be able to tell that this routine was called first.
+
+In almost all cases like this, it's usually a far, far better idea to use the
+structured control flow mechanisms of C<next>, C<last>, or C<redo> instead of
+resorting to a C<goto>. For certain applications, the catch and throw pair of
+C<eval{}> and die() for exception processing can also be a prudent approach.
+
+=head2 The Ellipsis Statement
+X<...>
+X<... statement>
+X<ellipsis operator>
+X<elliptical statement>
+X<unimplemented statement>
+X<unimplemented operator>
+X<yada-yada>
+X<yada-yada operator>
+X<... operator>
+X<whatever operator>
+X<triple-dot operator>
+
+Beginning in Perl 5.12, Perl accepts an ellipsis, "C<...>", as a
+placeholder for code that you haven't implemented yet. This form of
+ellipsis, the unimplemented statement, should not be confused with the
+binary flip-flop C<...> operator. One is a statement and the other an
+operator. (Perl doesn't usually confuse them because usually Perl can tell
+whether it wants an operator or a statement, but see below for exceptions.)
+
+When Perl 5.12 or later encounters an ellipsis statement, it parses this
+without error, but if and when you should actually try to execute it, Perl
+throws an exception with the text C<Unimplemented>:
+
+ use v5.12;
+ sub unimplemented { ... }
+ eval { unimplemented() };
+ if ($@ =~ /^Unimplemented at /) {
+ say "I found an ellipsis!";
+ }
+
+You can only use the elliptical statement to stand in for a
+complete statement. These examples of how the ellipsis works:
+
+ use v5.12;
+ { ... }
+ sub foo { ... }
+ ...;
+ eval { ... };
+ sub somemeth {
+ my $self = shift;
+ ...;
}
+ $x = do {
+ my $n;
+ ...;
+ say "Hurrah!";
+ $n;
+ };
+
+The elliptical statement cannot stand in for an expression that
+is part of a larger statement, since the C<...> is also the three-dot
+version of the flip-flop operator (see L<perlop/"Range Operators">).
+
+These examples of attempts to use an ellipsis are syntax errors:
+
+ use v5.12;
+
+ print ...;
+ open(my $fh, ">", "/dev/passwd") or ...;
+ if ($condition && ... ) { say "Howdy" };
+
+There are some cases where Perl can't immediately tell the difference
+between an expression and a statement. For instance, the syntax for a
+block and an anonymous hash reference constructor look the same unless
+there's something in the braces to give Perl a hint. The ellipsis is a
+syntax error if Perl doesn't guess that the C<{ ... }> is a block. In that
+case, it doesn't think the C<...> is an ellipsis because it's expecting an
+expression instead of a statement:
+
+ @transformed = map { ... } @input; # syntax error
+
+You can use a C<;> inside your block to denote that the C<{ ... }> is a
+block and not a hash reference constructor. Now the ellipsis works:
+
+ @transformed = map {; ... } @input; # ; disambiguates
-This construct is very flexible and powerful. For example:
+ @transformed = map { ...; } @input; # ; disambiguates
+
+Note: Some folks colloquially refer to this bit of punctuation as a
+"yada-yada" or "triple-dot", but its true name
+is actually an ellipsis. Perl does not yet
+accept the Unicode version, U+2026 HORIZONTAL ELLIPSIS, as an alias for
+C<...>, but someday it may.
+
+=head2 PODs: Embedded Documentation
+X<POD> X<documentation>
+
+Perl has a mechanism for intermixing documentation with source code.
+While it's expecting the beginning of a new statement, if the compiler
+encounters a line that begins with an equal sign and a word, like this
+
+ =head1 Here There Be Pods!
+
+Then that text and all remaining text up through and including a line
+beginning with C<=cut> will be ignored. The format of the intervening
+text is described in L<perlpod>.
+
+This allows you to intermix your source code
+and your documentation text freely, as in
+
+ =item snazzle($)
+
+ The snazzle() function will behave in the most spectacular
+ form that you can possibly imagine, not even excepting
+ cybernetic pyrotechnics.
+
+ =cut back to the compiler, nuff of this pod stuff!
+
+ sub snazzle($) {
+ my $thingie = shift;
+ .........
+ }
+
+Note that pod translators should look at only paragraphs beginning
+with a pod directive (it makes parsing easier), whereas the compiler
+actually knows to look for pod escapes even in the middle of a
+paragraph. This means that the following secret stuff will be
+ignored by both the compiler and the translators.
+
+ $a=3;
+ =secret stuff
+ warn "Neither POD nor CODE!?"
+ =cut back
+ print "got $a\n";
+
+You probably shouldn't rely upon the C<warn()> being podded out forever.
+Not all pod translators are well-behaved in this regard, and perhaps
+the compiler will become pickier.
+
+One may also use pod directives to quickly comment out a section
+of code.
+
+=head2 Plain Old Comments (Not!)
+X<comment> X<line> X<#> X<preprocessor> X<eval>
+
+Perl can process line directives, much like the C preprocessor. Using
+this, one can control Perl's idea of filenames and line numbers in
+error or warning messages (especially for strings that are processed
+with C<eval()>). The syntax for this mechanism is almost the same as for
+most C preprocessors: it matches the regular expression
+
+ # example: '# line 42 "new_filename.plx"'
+ /^\# \s*
+ line \s+ (\d+) \s*
+ (?:\s("?)([^"]+)\g2)? \s*
+ $/x
+
+with C<$1> being the line number for the next line, and C<$3> being
+the optional filename (specified with or without quotes). Note that
+no whitespace may precede the C<< # >>, unlike modern C preprocessors.
+
+There is a fairly obvious gotcha included with the line directive:
+Debuggers and profilers will only show the last source line to appear
+at a particular line number in a given file. Care should be taken not
+to cause line number collisions in code you'd like to debug later.
+
+Here are some examples that you should be able to type into your command
+shell:
+
+ % perl
+ # line 200 "bzzzt"
+ # the '#' on the previous line must be the first char on line
+ die 'foo';
+ __END__
+ foo at bzzzt line 201.
+
+ % perl
+ # line 200 "bzzzt"
+ eval qq[\n#line 2001 ""\ndie 'foo']; print $@;
+ __END__
+ foo at - line 2001.
+
+ % perl
+ eval qq[\n#line 200 "foo bar"\ndie 'foo']; print $@;
+ __END__
+ foo at foo bar line 200.
+
+ % perl
+ # line 345 "goop"
+ eval "\n#line " . __LINE__ . ' "' . __FILE__ ."\"\ndie 'foo'";
+ print $@;
+ __END__
+ foo at goop line 345.
+
+=head2 Experimental Details on given and when
+
+As previously mentioned, the "switch" feature is considered highly
+experimental; it is subject to change with little notice. In particular,
+both C<given> and C<when> have tricky behaviours that are expected to
+change to become less tricky in the future. Do not rely upon their
+current (mis)implementations.
+
+Here is a longer example of C<given>:
use feature ":5.10";
- given($foo) {
+ given ($foo) {
when (undef) {
say '$foo is undefined';
}
@@ -567,102 +912,122 @@ This construct is very flexible and powerful. For example:
}
}
-C<given(EXPR)> will assign the value of EXPR to C<$_>
-within the lexical scope of the block, so it's similar to
+As currently implemented, C<given(EXPR)> assign the value of I<EXPR> to
+merely a lexically scoped I<B<copy>> (!) of C<$_>, not a dynamically
+scoped alias the way C<foreach> does. That makes it similar to
do { my $_ = EXPR; ... }
except that the block is automatically broken out of by a
-successful C<when> or an explicit C<break>.
+successful C<when> or an explicit C<break>. Because it is only a
+copy, and because it is only lexically scoped, not dynamically
+scoped, you cannot do the things with it that you are used to in
+a C<foreach> loop. In particular, you probably cannot use
+arbitrary function calls. Best stick to C<foreach> for that.
+
+Most of the power comes from the implicit smartmatching that can
+sometimes apply. Most of the time, C<when(EXPR)> is treated as an
+implicit smartmatch of C<$_>, that is, C<$_ ~~ EXPR>. (See
+L<perlop/"Smartmatch Operator"> for more information on smartmatching.)
+But when I<EXPR> is one of the 10 exceptional cases (or things like them)
+listed below, it is used directly as a boolean.
-Most of the power comes from implicit smart matching:
+=over 4
- when($foo)
+=item 1.
-is exactly equivalent to
+A user-defined subroutine call or a method invocation.
- when($_ ~~ $foo)
+=item 2.
-Most of the time, C<when(EXPR)> is treated as an implicit smart match of
-C<$_>, i.e. C<$_ ~~ EXPR>. (See L</"Smart matching in detail"> for more
-information on smart matching.) But when EXPR is one of the below
-exceptional cases, it is used directly as a boolean:
+A regular expression match in the form of C</REGEX/>, C<$foo =~ /REGEX/>,
+or C<$foo =~ EXPR>. Also, a negated regular expression match in
+the form C<!/REGEX/>, C<$foo !~ /REGEX/>, or C<$foo !~ EXPR>.
-=over 4
+=item 3.
-=item *
+A smart match that uses an explicit C<~~> operator, such as C<EXPR ~~ EXPR>.
-a subroutine or method call
+=item 4.
-=item *
+A boolean comparison operator such as C<$_ E<lt> 10> or C<$x eq "abc"> The
+relational operators that this applies to are the six numeric comparisons
+(C<< < >>, C<< > >>, C<< <= >>, C<< >= >>, C<< == >>, and C<< != >>), and
+the six string comparisons (C<lt>, C<gt>, C<le>, C<ge>, C<eq>, and C<ne>).
-a regular expression match, i.e. C</REGEX/> or C<$foo =~ /REGEX/>,
-or a negated regular expression match (C<!/REGEX/> or C<$foo !~ /REGEX/>).
+B<NOTE:> You will often have to use C<$c ~~ $_> because
+the default case uses C<$_ ~~ $c> , which is frequently
+the opposite of what you want.
-=item *
+=item 5.
-a comparison such as C<$_ E<lt> 10> or C<$x eq "abc">
-(or of course C<$_ ~~ $c>)
+At least the three builtin functions C<defined(...)>, C<exists(...)>, and
+C<eof(...)>. We might someday add more of these later if we think of them.
-=item *
+=item 6.
-C<defined(...)>, C<exists(...)>, or C<eof(...)>
+A negated expression, whether C<!(EXPR)> or C<not(EXPR)>, or a logical
+exclusive-or, C<(EXPR1) xor (EXPR2)>. The bitwise versions (C<~> and C<^>)
+are not included.
-=item *
+=item 7.
-a negated expression C<!(...)> or C<not (...)>, or a logical
-exclusive-or C<(...) xor (...)>.
+A filetest operator, with exactly 4 exceptions: C<-s>, C<-M>, C<-A>, and
+C<-C>, as these return numerical values, not boolean ones. The C<-z>
+filetest operator is not included in the exception list.
-=item *
+=item 8.
-a filetest operator, with the exception of C<-s>, C<-M>, C<-A>, and C<-C>,
-that return numerical values, not boolean ones.
-
-=item *
-
-the C<..> and C<...> flip-flop operators.
+The C<..> and C<...> flip-flop operators. Note that the C<...> flip-flop
+operator is completely different from the C<...> elliptical statement
+just described.
=back
-In those cases the value of EXPR is used directly as a boolean.
+In those 8 cases above, the value of EXPR is used directly as a boolean, so
+no smartmatching is done. You may think of C<when> as a smartsmartmatch.
-Furthermore, Perl inspects the operands of the binary boolean operators to
-decide whether to use smart matching for each one by applying the above test to
-the operands:
+Furthermore, Perl inspects the operands of logical operators to
+decide whether to use smartmatching for each one by applying the
+above test to the operands:
=over 4
-=item *
+=item 9.
-If EXPR is C<... && ...> or C<... and ...>, the test
-is applied recursively to both operands. If I<both>
-operands pass the test, then the expression is treated
-as boolean; otherwise, smart matching is used.
+If EXPR is C<EXPR1 && EXPR2> or C<EXPR1 and EXPR2>, the test is applied
+I<recursively> to both EXPR1 and EXPR2.
+Only if I<both> operands also pass the
+test, I<recursively>, will the expression be treated as boolean. Otherwise,
+smartmatching is used.
-=item *
+=item 10.
-If EXPR is C<... || ...>, C<... // ...> or C<... or ...>, the test
-is applied recursively to the first operand (which may be a
-higher-precedence AND operator, for example). If the first operand
-is to use smart matching, then both operands will do so; if it is
-not, then the second argument will not be either.
+If EXPR is C<EXPR1 || EXPR2>, C<EXPR1 // EXPR2>, or C<EXPR1 or EXPR2>, the
+test is applied I<recursively> to EXPR1 only (which might itself be a
+higher-precedence AND operator, for example, and thus subject to the
+previous rule), not to EXPR2. If EXPR1 is to use smartmatching, then EXPR2
+also does so, no matter what EXPR2 contains. But if EXPR2 does not get to
+use smartmatching, then the second argument will not be either. This is
+quite different from the C<&&> case just described, so be careful.
=back
-These rules look complicated, but usually they will do what
-you want. For example:
+These rules are complicated, but the goal is for them to do what you want
+(even if you don't quite understand why they are doing it). For example:
when (/^\d+$/ && $_ < 75) { ... }
-will be treated as a boolean match because the rules say both a regex match and
-an explicit test on $_ will be treated as boolean.
+will be treated as a boolean match because the rules say both
+a regex match and an explicit test on C<$_> will be treated
+as boolean.
Also:
when ([qw(foo bar)] && /baz/) { ... }
-will use smart matching because only I<one> of the operands is a boolean; the
-other uses smart matching, and that wins.
+will use smartmatching because only I<one> of the operands is a boolean:
+the other uses smartmatching, and that wins.
Further:
@@ -672,29 +1037,31 @@ will use smart matching (only the first operand is considered), whereas
when (/^baz/ || [qw(foo bar)]) { ... }
-will test only the regex, which causes both operands to be treated as boolean.
-Watch out for this one, then, because an arrayref is always a true value, which
-makes it effectively redundant.
+will test only the regex, which causes both operands to be
+treated as boolean. Watch out for this one, then, because an
+arrayref is always a true value, which makes it effectively
+redundant. Not a good idea.
-Tautologous boolean operators are still going to be optimized away. Don't be
-tempted to write
+Tautologous boolean operators are still going to be optimized
+away. Don't be tempted to write
- when ('foo' or 'bar') { ... }
+ when ("foo" or "bar") { ... }
-This will optimize down to C<'foo'>, so C<'bar'> will never be considered (even
-though the rules say to use a smart match on C<'foo'>). For an alternation like
-this, an array ref will work, because this will instigate smart matching:
+This will optimize down to C<"foo">, so C<"bar"> will never be considered (even
+though the rules say to use a smartmatch
+on C<"foo">). For an alternation like
+this, an array ref will work, because this will instigate smartmatching:
when ([qw(foo bar)] { ... }
This is somewhat equivalent to the C-style switch statement's fallthrough
-functionality (not to be confused with I<Perl's> fallthrough functionality - see
-below), wherein the same block is used for several C<case> statements.
+functionality (not to be confused with I<Perl's> fallthrough
+functionality--see below), wherein the same block is used for several
+C<case> statements.
-Another useful shortcut is that, if you use a literal array
-or hash as the argument to C<given>, it is turned into a
-reference. So C<given(@foo)> is the same as C<given(\@foo)>,
-for example.
+Another useful shortcut is that, if you use a literal array or hash as the
+argument to C<given>, it is turned into a reference. So C<given(@foo)> is
+the same as C<given(\@foo)>, for example.
C<default> behaves exactly like C<when(1 == 1)>, which is
to say that it always matches.
@@ -712,29 +1079,29 @@ case to the next:
given($foo) {
when (/x/) { say '$foo contains an x'; continue }
- when (/y/) { say '$foo contains a y' }
- default { say '$foo does not contain a y' }
+ when (/y/) { say '$foo contains a y' }
+ default { say '$foo does not contain a y' }
}
=head3 Return value
-When a C<given> statement is also a valid expression (e.g.
-when it's the last statement of a block), it evaluates to :
+When a C<given> statement is also a valid expression (for example,
+when it's the last statement of a block), it evaluates to:
=over 4
=item *
-an empty list as soon as an explicit C<break> is encountered.
+An empty list as soon as an explicit C<break> is encountered.
=item *
-the value of the last evaluated expression of the successful
-C<when>/C<default> clause, if there's one.
+The value of the last evaluated expression of the successful
+C<when>/C<default> clause, if there happens to be one.
=item *
-the value of the last evaluated expression of the C<given> block if no
+The value of the last evaluated expression of the C<given> block if no
condition is true.
=back
@@ -745,15 +1112,18 @@ was applied to the C<given> block.
Note that, unlike C<if> and C<unless>, failed C<when> statements always
evaluate to an empty list.
- my $price = do { given ($item) {
- when ([ 'pear', 'apple' ]) { 1 }
- break when 'vote'; # My vote cannot be bought
- 1e10 when /Mona Lisa/;
- 'unknown';
- } };
+ my $price = do {
+ given ($item) {
+ when (["pear", "apple"]) { 1 }
+ break when "vote"; # My vote cannot be bought
+ 1e10 when /Mona Lisa/;
+ "unknown";
+ }
+ };
-Currently, C<given> blocks can't always be used as proper expressions. This
-may be addressed in a future version of perl.
+Currently, C<given> blocks can't always
+be used as proper expressions. This
+may be addressed in a future version of Perl.
=head3 Switching in a loop
@@ -761,256 +1131,83 @@ Instead of using C<given()>, you can use a C<foreach()> loop.
For example, here's one way to count how many times a particular
string occurs in an array:
+ use v5.10.1;
my $count = 0;
for (@array) {
when ("foo") { ++$count }
}
print "\@array contains $count copies of 'foo'\n";
-At the end of all C<when> blocks, there is an implicit C<next>.
-You can override that with an explicit C<last> if you're only
-interested in the first match.
-
-This doesn't work if you explicitly specify a loop variable,
-as in C<for $item (@array)>. You have to use the default
-variable C<$_>. (You can use C<for my $_ (@array)>.)
-
-=head3 Smart matching in detail
-
-The behaviour of a smart match depends on what type of thing its arguments
-are. The behaviour is determined by the following table: the first row
-that applies determines the match behaviour (which is thus mostly
-determined by the type of the right operand). Note that the smart match
-implicitly dereferences any non-blessed hash or array ref, so the "Hash"
-and "Array" entries apply in those cases. (For blessed references, the
-"Object" entries apply.)
-
-Note that the "Matching Code" column is not always an exact rendition. For
-example, the smart match operator short-circuits whenever possible, but
-C<grep> does not.
-
- $a $b Type of Match Implied Matching Code
- ====== ===== ===================== =============
- Any undef undefined !defined $a
-
- Any Object invokes ~~ overloading on $object, or dies
-
- Hash CodeRef sub truth for each key[1] !grep { !$b->($_) } keys %$a
- Array CodeRef sub truth for each elt[1] !grep { !$b->($_) } @$a
- Any CodeRef scalar sub truth $b->($a)
-
- Hash Hash hash keys identical (every key is found in both hashes)
- Array Hash hash keys intersection grep { exists $b->{$_} } @$a
- Regex Hash hash key grep grep /$a/, keys %$b
- undef Hash always false (undef can't be a key)
- Any Hash hash entry existence exists $b->{$a}
-
- Hash Array hash keys intersection grep { exists $a->{$_} } @$b
- Array Array arrays are comparable[2]
- Regex Array array grep grep /$a/, @$b
- undef Array array contains undef grep !defined, @$b
- Any Array match against an array element[3]
- grep $a ~~ $_, @$b
-
- Hash Regex hash key grep grep /$b/, keys %$a
- Array Regex array grep grep /$b/, @$a
- Any Regex pattern match $a =~ /$b/
-
- Object Any invokes ~~ overloading on $object, or falls back:
- Any Num numeric equality $a == $b
- Num numish[4] numeric equality $a == $b
- undef Any undefined !defined($b)
- Any Any string equality $a eq $b
-
- 1 - empty hashes or arrays will match.
- 2 - that is, each element smart-matches the element of same index in the
- other array. [3]
- 3 - If a circular reference is found, we fall back to referential equality.
- 4 - either a real number, or a string that looks like a number
-
-=head3 Custom matching via overloading
-
-You can change the way that an object is matched by overloading
-the C<~~> operator. This may alter the usual smart match semantics.
-
-It should be noted that C<~~> will refuse to work on objects that
-don't overload it (in order to avoid relying on the object's
-underlying structure).
-
-Note also that smart match's matching rules take precedence over
-overloading, so if C<$obj> has smart match overloading, then
+Or in a more recent version:
- $obj ~~ X
+ use v5.14;
+ my $count = 0;
+ for (@array) {
+ ++$count when "foo";
+ }
+ print "\@array contains $count copies of 'foo'\n";
-will not automatically invoke the overload method with X as an argument;
-instead the table above is consulted as normal, and based in the type of X,
-overloading may or may not be invoked.
+At the end of all C<when> blocks, there is an implicit C<next>.
+You can override that with an explicit C<last> if you're
+interested in only the first match alone.
-See L<overload>.
+This doesn't work if you explicitly specify a loop variable, as
+in C<for $item (@array)>. You have to use the default variable C<$_>.
=head3 Differences from Perl 6
-The Perl 5 smart match and C<given>/C<when> constructs are not
-absolutely identical to their Perl 6 analogues. The most visible
-difference is that, in Perl 5, parentheses are required around
-the argument to C<given()> and C<when()> (except when this last
-one is used as a statement modifier). Parentheses in Perl 6
-are always optional in a control construct such as C<if()>,
-C<while()>, or C<when()>; they can't be made optional in Perl
-5 without a great deal of potential confusion, because Perl 5
-would parse the expression
+The Perl 5 smartmatch and C<given>/C<when> constructs are not compatible
+with their Perl 6 analogues. The most visible difference and least
+important difference is that, in Perl 5, parentheses are required around
+the argument to C<given()> and C<when()> (except when this last one is used
+as a statement modifier). Parentheses in Perl 6 are always optional in a
+control construct such as C<if()>, C<while()>, or C<when()>; they can't be
+made optional in Perl 5 without a great deal of potential confusion,
+because Perl 5 would parse the expression
- given $foo {
- ...
- }
+ given $foo {
+ ...
+ }
as though the argument to C<given> were an element of the hash
C<%foo>, interpreting the braces as hash-element syntax.
-The table of smart matches is not identical to that proposed by the
-Perl 6 specification, mainly due to the differences between Perl 6's
-and Perl 5's data models.
-
-In Perl 6, C<when()> will always do an implicit smart match
-with its argument, whilst it is convenient in Perl 5 to
-suppress this implicit smart match in certain situations,
-as documented above. (The difference is largely because Perl 5
-does not, even internally, have a boolean type.)
-
-=head2 Goto
-X<goto>
-
-Although not for the faint of heart, Perl does support a C<goto>
-statement. There are three forms: C<goto>-LABEL, C<goto>-EXPR, and
-C<goto>-&NAME. A loop's LABEL is not actually a valid target for
-a C<goto>; it's just the name of the loop.
-
-The C<goto>-LABEL form finds the statement labeled with LABEL and resumes
-execution there. It may not be used to go into any construct that
-requires initialization, such as a subroutine or a C<foreach> loop. It
-also can't be used to go into a construct that is optimized away. It
-can be used to go almost anywhere else within the dynamic scope,
-including out of subroutines, but it's usually better to use some other
-construct such as C<last> or C<die>. The author of Perl has never felt the
-need to use this form of C<goto> (in Perl, that is--C is another matter).
-
-The C<goto>-EXPR form expects a label name, whose scope will be resolved
-dynamically. This allows for computed C<goto>s per FORTRAN, but isn't
-necessarily recommended if you're optimizing for maintainability:
-
- goto(("FOO", "BAR", "GLARCH")[$i]);
-
-The C<goto>-&NAME form is highly magical, and substitutes a call to the
-named subroutine for the currently running subroutine. This is used by
-C<AUTOLOAD()> subroutines that wish to load another subroutine and then
-pretend that the other subroutine had been called in the first place
-(except that any modifications to C<@_> in the current subroutine are
-propagated to the other subroutine.) After the C<goto>, not even C<caller()>
-will be able to tell that this routine was called first.
-
-In almost all cases like this, it's usually a far, far better idea to use the
-structured control flow mechanisms of C<next>, C<last>, or C<redo> instead of
-resorting to a C<goto>. For certain applications, the catch and throw pair of
-C<eval{}> and die() for exception processing can also be a prudent approach.
-
-=head2 PODs: Embedded Documentation
-X<POD> X<documentation>
-
-Perl has a mechanism for intermixing documentation with source code.
-While it's expecting the beginning of a new statement, if the compiler
-encounters a line that begins with an equal sign and a word, like this
-
- =head1 Here There Be Pods!
+However, their are many, many other differences. For example,
+this works in Perl 5:
-Then that text and all remaining text up through and including a line
-beginning with C<=cut> will be ignored. The format of the intervening
-text is described in L<perlpod>.
-
-This allows you to intermix your source code
-and your documentation text freely, as in
-
- =item snazzle($)
-
- The snazzle() function will behave in the most spectacular
- form that you can possibly imagine, not even excepting
- cybernetic pyrotechnics.
-
- =cut back to the compiler, nuff of this pod stuff!
+ use v5.12;
+ my @primary = ("red", "blue", "green");
- sub snazzle($) {
- my $thingie = shift;
- .........
+ if (@primary ~~ "red") {
+ say "primary smartmatches red";
}
-Note that pod translators should look at only paragraphs beginning
-with a pod directive (it makes parsing easier), whereas the compiler
-actually knows to look for pod escapes even in the middle of a
-paragraph. This means that the following secret stuff will be
-ignored by both the compiler and the translators.
-
- $a=3;
- =secret stuff
- warn "Neither POD nor CODE!?"
- =cut back
- print "got $a\n";
-
-You probably shouldn't rely upon the C<warn()> being podded out forever.
-Not all pod translators are well-behaved in this regard, and perhaps
-the compiler will become pickier.
-
-One may also use pod directives to quickly comment out a section
-of code.
-
-=head2 Plain Old Comments (Not!)
-X<comment> X<line> X<#> X<preprocessor> X<eval>
-
-Perl can process line directives, much like the C preprocessor. Using
-this, one can control Perl's idea of filenames and line numbers in
-error or warning messages (especially for strings that are processed
-with C<eval()>). The syntax for this mechanism is almost the same as for
-most C preprocessors: it matches the regular expression
-
- # example: '# line 42 "new_filename.plx"'
- /^\# \s*
- line \s+ (\d+) \s*
- (?:\s("?)([^"]+)\g2)? \s*
- $/x
-
-with C<$1> being the line number for the next line, and C<$3> being
-the optional filename (specified with or without quotes). Note that
-no whitespace may precede the C<< # >>, unlike modern C preprocessors.
+ if ("red" ~~ @primary) {
+ say "red smartmatches primary";
+ }
-There is a fairly obvious gotcha included with the line directive:
-Debuggers and profilers will only show the last source line to appear
-at a particular line number in a given file. Care should be taken not
-to cause line number collisions in code you'd like to debug later.
+ say "that's all, folks!";
-Here are some examples that you should be able to type into your command
-shell:
+But it doesn't work at all in Perl 6. Instead, you should
+use the (parallelizable) C<any> operator instead:
- % perl
- # line 200 "bzzzt"
- # the `#' on the previous line must be the first char on line
- die 'foo';
- __END__
- foo at bzzzt line 201.
+ if any(@primary) eq "red" {
+ say "primary smartmatches red";
+ }
- % perl
- # line 200 "bzzzt"
- eval qq[\n#line 2001 ""\ndie 'foo']; print $@;
- __END__
- foo at - line 2001.
+ if "red" eq any(@primary) {
+ say "red smartmatches primary";
+ }
- % perl
- eval qq[\n#line 200 "foo bar"\ndie 'foo']; print $@;
- __END__
- foo at foo bar line 200.
+The table of smartmatches in L<perlop/"Smartmatch Operator"> is not
+identical to that proposed by the Perl 6 specification, mainly due to
+differences between Perl 6's and Perl 5's data models, but also because
+the Perl 6 spec has changed since Perl 5 rushed into early adoption.
- % perl
- # line 345 "goop"
- eval "\n#line " . __LINE__ . ' "' . __FILE__ ."\"\ndie 'foo'";
- print $@;
- __END__
- foo at goop line 345.
+In Perl 6, C<when()> will always do an implicit smartmatch with its
+argument, while in Perl 5 it is convenient (albeit potentially confusing) to
+suppress this implicit smartmatch in various rather loosely-defined
+situations, as roughly outlined above. (The difference is largely because
+Perl 5 does not have, even internally, a boolean type.)
=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlthrtut.pod b/Master/tlpkg/tlperl/lib/pods/perlthrtut.pod
index 30f83577482..6b693d1b0e1 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlthrtut.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlthrtut.pod
@@ -13,7 +13,7 @@ between threads must be explicit. The user-level interface for I<ithreads>
uses the L<threads> class.
B<NOTE>: There was another older Perl threading flavor called the 5.005 model
-that used the L<Threads> class. This old model was known to have problems, is
+that used the L<threads> class. This old model was known to have problems, is
deprecated, and was removed for release 5.10. You are
strongly encouraged to migrate any existing 5.005 threads code to the new
model as soon as possible.
@@ -1043,7 +1043,7 @@ give you the full POSIX API). For example, there is no way to
guarantee that a signal sent to a multi-threaded Perl application
will get intercepted by any particular thread. (However, a recently
added feature does provide the capability to send signals between
-threads. See L<threads/"THREAD SIGNALLING> for more details.)
+threads. See L<threads/THREAD SIGNALLING> for more details.)
=head1 Thread-Safety of System Libraries
@@ -1090,7 +1090,7 @@ Latest version of L<threads::shared> on CPAN:
L<http://search.cpan.org/search?module=threads%3A%3Ashared>
Perl threads mailing list:
-L<http://lists.cpan.org/showlist.cgi?name=iThreads>
+L<http://lists.perl.org/list/ithreads.html>
=head1 Bibliography
diff --git a/Master/tlpkg/tlperl/lib/pods/perltie.pod b/Master/tlpkg/tlperl/lib/pods/perltie.pod
index 456cc60cbab..887f2f02edd 100644
--- a/Master/tlpkg/tlperl/lib/pods/perltie.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perltie.pod
@@ -870,11 +870,10 @@ program, where output to STDOUT and STDERR may have to be redirected
in some special way. See nvi and the Apache module for examples.
When tying a handle, the first argument to C<tie> should begin with an
-asterisk. So, if you are tying STDOUT, use C<*STDOUT>. If you have assigned
-it to a scalar variable, say C<$handle>, use C<*$handle>. C<tie $handle>
-works, too, but that is considered a bug and will be fixed in Perl 5.16. It
-is supposed to tie the scalar C<$handle>, not the handle inside it.
-C<tie $handle> emits a deprecation warning as of Perl 5.14.
+asterisk. So, if you are tying STDOUT, use C<*STDOUT>. If you have
+assigned it to a scalar variable, say C<$handle>, use C<*$handle>.
+C<tie $handle> ties the scalar variable C<$handle>, not the handle inside
+it.
In our example we're going to create a shouting handle.
diff --git a/Master/tlpkg/tlperl/lib/pods/perltoc.pod b/Master/tlpkg/tlperl/lib/pods/perltoc.pod
index a72f910d4dc..35868311f54 100644
--- a/Master/tlpkg/tlperl/lib/pods/perltoc.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perltoc.pod
@@ -1,7 +1,7 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is autogenerated by buildtoc from all the other pods.
-# Edit those files and run buildtoc --build-toc to effect changes.
+# Edit those files and run ..\pod\buildtoc to effect changes.
=head1 NAME
@@ -39,6 +39,8 @@ through to locate the proper section you're looking for.
=item Platform-Specific
+=item Stubs for Deleted Documents
+
=back
=item DESCRIPTION
@@ -405,253 +407,65 @@ X<record> X<structure> X<struct>
=back
-=head2 perlboot - Beginner's Object-Oriented Tutorial
+=head2 perlootut - Object-Oriented Programming in Perl Tutorial
=over 4
-=item DESCRIPTION
-
-=over 4
-
-=item If we could talk to the animals...
-
-=item Introducing the method invocation arrow
-
-=item Invoking a barnyard
-
-=item The extra parameter of method invocation
-
-=item Calling a second method to simplify things
-
-=item Inheriting the windpipes
-
-=item A few notes about @ISA
-
-=item Overriding the methods
-
-=item Starting the search from a different place
-
-=item The SUPER way of doing things
-
-=item Let's review...
-
-=item A horse is a horse, of course of course, or is it?
-
-=item Invoking an instance method
-
-=item Accessing the instance data
-
-=item How to build a horse
-
-=item Inheriting the constructor
-
-=item Making a method work with either classes or instances
-
-=item Adding parameters to a method
-
-=item More interesting instances
-
-=item A horse of a different color
-
-=item Summary
-
-=back
-
-=item SEE ALSO
-
-=item COPYRIGHT
-
-=back
-
-=head2 perltoot - Tom's object-oriented tutorial for perl
-
-=over 4
+=item DATE
=item DESCRIPTION
-=item Creating a Class
+=item OBJECT-ORIENTED FUNDAMENTALS
=over 4
-=item Object Representation
-
-=item Class Interface
+=item Object
-=item Constructors and Instance Methods
-
-=item Planning for the Future: Better Constructors
-
-=item Destructors
-
-=item Other Object Methods
-
-=back
-
-=item Class Data
-
-=over 4
-
-=item Accessing Class Data
-
-=item Debugging Methods
-
-=item Class Destructors
+=item Class
-=item Documenting the Interface
+=item Methods
-=back
+=item Attributes
-=item Aggregation
+=item Polymorphism
=item Inheritance
-=over 4
-
-=item Overridden Methods
-
-=item Multiple Inheritance
-
-=item UNIVERSAL: The Root of All Objects
-
-=item Deeper UNIVERSAL details
-
-=back
-
-=item Alternate Object Representations
-
-=over 4
-
-=item Arrays as Objects
-
-=item Closures as Objects
-
-=back
-
-=item AUTOLOAD: Proxy Methods
-
-=over 4
-
-=item Autoloaded Data Methods
-
-=item Inherited Autoloaded Data Methods
-
-=back
-
-=item Metaclassical Tools
-
-=over 4
-
-=item Class::Struct
-
-=item Data Members as Variables
-
-=back
-
-=item NOTES
-
-=over 4
-
-=item Object Terminology
-
-=back
-
-=item SEE ALSO
-
-=item AUTHOR AND COPYRIGHT
-
-=item COPYRIGHT
-
-=over 4
-
-=item Acknowledgments
-
-=back
-
-=back
-
-=head2 perltooc - Tom's OO Tutorial for Class Data in Perl
-
-=over 4
-
-=item DESCRIPTION
-
-=item Class Data in a Can
-
-=item Class Data as Package Variables
-
-=over 4
-
-=item Putting All Your Eggs in One Basket
-
-=item Inheritance Concerns
-
-=item The Eponymous Meta-Object
+=item Encapsulation
-=item Indirect References to Class Data
+=item Composition
-=item Monadic Classes
+=item Roles
-=item Translucent Attributes
+=item When to Use OO
=back
-=item Class Data as Lexical Variables
+=item PERL OO SYSTEMS
=over 4
-=item Privacy and Responsibility
+=item Moose
-=item File-Scoped Lexicals
+Declarative sugar, Roles built-in, A miniature type system, Full
+introspection and manipulation, Self-hosted and extensible, Rich ecosystem,
+Many more features
-=item More Inheritance Concerns
+=item Class::Accessor
-=item Locking the Door and Throwing Away the Key
+=item Object::Tiny
-=item Translucency Revisited
+=item Role::Tiny
-=back
-
-=item NOTES
-
-=item SEE ALSO
-
-=item AUTHOR AND COPYRIGHT
+=item OO System Summary
-=item ACKNOWLEDGEMENTS
+L<Moose>, L<Class::Accessor>, L<Object::Tiny>, L<Role::Tiny>
-=item HISTORY
+=item Other OO Systems
=back
-=head2 perlbot - Bag o' Object Tricks (the BOT)
-
-=over 4
-
-=item DESCRIPTION
-
-=item OO SCALING TIPS
-
-=item INSTANCE VARIABLES
-
-=item SCALAR INSTANCE VARIABLES
-
-=item INSTANCE VARIABLE INHERITANCE
-
-=item OBJECT RELATIONSHIPS
-
-=item OVERRIDING SUPERCLASS METHODS
-
-=item USING RELATIONSHIP WITH SDBM
-
-=item THINKING OF CODE REUSE
-
-=item CLASS CONTEXT AND THE OBJECT
-
-=item INHERITING A CONSTRUCTOR
-
-=item DELEGATION
-
-=item SEE ALSO
+=item CONCLUSION
=back
@@ -918,28 +732,25 @@ LIMIT specified
=over 4
-=item Where to get the perlfaq
+=item Where to find the perlfaq
+
+=item How to use the perlfaq
=item How to contribute to the perlfaq
-=item What will happen if you mail your Perl programming problems to the
-authors?
+=item What if my question isn't answered in the FAQ?
=back
-=item CREDITS
-
-=item AUTHOR AND COPYRIGHT
+=item TABLE OF CONTENTS
-=item Table of Contents
+perlfaq1 - General Questions About Perl, perlfaq2 - Obtaining and Learning
+about Perl, perlfaq3 - Programming Tools, perlfaq4 - Data Manipulation,
+perlfaq5 - Files and Formats, perlfaq6 - Regular Expressions, perlfaq7 -
+General Perl Language Issues, perlfaq8 - System Interaction, perlfaq9 -
+Web, Email and Networking
-perlfaq - this document, perlfaq1 - General Questions About Perl, perlfaq2
-- Obtaining and Learning about Perl, perlfaq3 - Programming Tools, perlfaq4
-- Data Manipulation, perlfaq5 - Files and Formats, perlfaq6 - Regular
-Expressions, perlfaq7 - General Perl Language Issues, perlfaq8 - System
-Interaction, perlfaq9 - Networking
-
-=item The Questions
+=item THE QUESTIONS
=over 4
@@ -959,17 +770,21 @@ Interaction, perlfaq9 - Networking
=item L<perlfaq8>: System Interaction
-=item L<perlfaq9>: Networking
+=item L<perlfaq9>: Web, Email and Networking
=back
+=item CREDITS
+
+=item AUTHOR AND COPYRIGHT
+
=back
=head2 perlfaq1 - General Questions About Perl
=over 4
-=item DESCRIPTION
+=item DESCRIPTION
=over 4
@@ -981,8 +796,6 @@ Interaction, perlfaq9 - Networking
=item What are Perl 4, Perl 5, or Perl 6?
-=item What was Ponie?
-
=item What is Perl 6?
=item How stable is Perl?
@@ -998,16 +811,12 @@ Scheme, or Tcl?
=item What's the difference between "perl" and "Perl"?
-=item Is it a Perl program or a Perl script?
-
=item What is a JAPH?
-=item Where can I get a list of Larry Wall witticisms?
-
=item How can I convince others to use Perl?
-http://perltraining.com.au/whyperl.html,
-http://www.perl.org/advocacy/whyperl.html
+L<http://www.perl.org/about.html>,
+L<http://perltraining.com.au/whyperl.html>
=back
@@ -1023,43 +832,44 @@ http://www.perl.org/advocacy/whyperl.html
=over 4
-=item What machines support perl? Where do I get it?
+=item What machines support Perl? Where do I get it?
-=item How can I get a binary version of perl?
+=item How can I get a binary version of Perl?
=item I don't have a C compiler. How can I build my own Perl interpreter?
-=item I copied the perl binary from one machine to another, but scripts
+=item I copied the Perl binary from one machine to another, but scripts
don't work.
=item I grabbed the sources and tried to compile but gdbm/dynamic
loading/malloc/linking/... failed. How do I make it work?
=item What modules and extensions are available for Perl? What is CPAN?
-What does CPAN/src/... mean?
-
-=item Is there an ISO or ANSI certified version of Perl?
=item Where can I get information on Perl?
-=item What are the Perl newsgroups on Usenet? Where do I post questions?
+L<http://www.perl.org/>, L<http://perldoc.perl.org/>,
+L<http://learn.perl.org/>
-=item Where should I post source code?
+=item What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
+
+L<http://www.perl.org/>, L<http://learn.perl.org/>,
+L<http://jobs.perl.org/>, L<http://lists.perl.org/>
+
+=item Where can I post questions?
=item Perl Books
=item Which magazines have Perl content?
-=item What mailing lists are there for Perl?
+=item Which Perl blogs should I read?
-=item Where are the archives for comp.lang.perl.misc?
+=item What mailing lists are there for Perl?
-=item Where can I buy a commercial version of perl?
+=item Where can I buy a commercial version of Perl?
=item Where do I send bug reports?
-=item What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
-
=back
=item AUTHOR AND COPYRIGHT
@@ -1076,9 +886,27 @@ What does CPAN/src/... mean?
=item How do I do (anything)?
-=item How can I use Perl interactively?
+Basics, L<perldata> - Perl data types, L<perlvar> - Perl pre-defined
+variables, L<perlsyn> - Perl syntax, L<perlop> - Perl operators and
+precedence, L<perlsub> - Perl subroutines, Execution, L<perlrun> - how to
+execute the Perl interpreter, L<perldebug> - Perl debugging, Functions,
+L<perlfunc> - Perl builtin functions, Objects, L<perlref> - Perl references
+and nested data structures, L<perlmod> - Perl modules (packages and symbol
+tables), L<perlobj> - Perl objects, L<perltie> - how to hide an object
+class in a simple variable, Data Structures, L<perlref> - Perl references
+and nested data structures, L<perllol> - Manipulating arrays of arrays in
+Perl, L<perldsc> - Perl Data Structures Cookbook, Modules, L<perlmod> -
+Perl modules (packages and symbol tables), L<perlmodlib> - constructing new
+Perl modules and finding existing ones, Regexes, L<perlre> - Perl regular
+expressions, L<perlfunc> - Perl builtin functions>, L<perlop> - Perl
+operators and precedence, L<perllocale> - Perl locale handling
+(internationalization and localization), Moving to perl5, L<perltrap> -
+Perl traps for the unwary, L<perl>, Linking with C, L<perlxstut> - Tutorial
+for writing XSUBs, L<perlxs> - XS language reference manual, L<perlcall> -
+Perl calling conventions from C, L<perlguts> - Introduction to the Perl
+API, L<perlembed> - how to embed perl in your C program, Various
-=item Is there a Perl shell?
+=item How can I use Perl interactively?
=item How do I find which modules are installed on my system?
@@ -1090,14 +918,12 @@ What does CPAN/src/... mean?
=item Is there a pretty-printer (formatter) for Perl?
-=item Is there a ctags for Perl?
-
=item Is there an IDE or Windows Perl Editor?
Eclipse, Enginsite, Komodo, Notepad++, Open Perl IDE, OptiPerl, Padre,
PerlBuilder, visiPerl+, Visual Perl, Zeus, GNU Emacs, MicroEMACS, XEmacs,
-Jed, Elvis, Vile, Vim, Codewright, MultiEdit, SlickEdit, ConTEXT, Bash,
-Ksh, Tcsh, Zsh, Affrus, Alpha, BBEdit and BBEdit Lite
+Jed, Vim, Vile, Codewright, MultiEdit, SlickEdit, ConTEXT, Bash, Ksh, Tcsh,
+Zsh, Affrus, Alpha, BBEdit and BBEdit Lite
=item Where can I get Perl macros for vi?
@@ -1170,7 +996,7 @@ numbers I should be getting (eg, 19.95)?
=item Why isn't my octal data interpreted correctly?
-=item Does Perl have a round() function? What about ceil() and floor()?
+=item Does Perl have a round() function? What about ceil() and floor()?
Trig functions?
=item How do I convert between numeric representations/bases/radixes?
@@ -1284,7 +1110,7 @@ after the end token
=item How can I tell whether a certain element is contained in a list or
array?
-=item How do I compute the difference of two arrays? How do I compute the
+=item How do I compute the difference of two arrays? How do I compute the
intersection of two arrays?
=item How do I test whether two arrays or hashes are equal?
@@ -1358,6 +1184,8 @@ array of hashes or arrays?
=item How can I check if a key exists in a multilevel hash?
+=item How can I prevent addition of unwanted keys into a hash?
+
=back
=item Data: Misc
@@ -1392,7 +1220,7 @@ array of hashes or arrays?
=over 4
-=item How do I flush/unbuffer an output filehandle? Why must I do this?
+=item How do I flush/unbuffer an output filehandle? Why must I do this?
X<flush> X<buffer> X<unbuffer> X<autoflush>
=item How do I change, delete, or insert a line in a file, or append to the
@@ -1417,8 +1245,8 @@ X<file, temporary>
=item How can I manipulate fixed-record-length files?
X<fixed-length> X<file, fixed-length records>
-=item How can I make a filehandle local to a subroutine? How do I pass
-filehandles between subroutines? How do I make an array of filehandles?
+=item How can I make a filehandle local to a subroutine? How do I pass
+filehandles between subroutines? How do I make an array of filehandles?
X<filehandle, local> X<filehandle, passing> X<filehandle, reference>
=item How can I use a filehandle indirectly?
@@ -1446,9 +1274,6 @@ X<clobber> X<read-write> X<clobbering> X<truncate> X<truncating>
E<lt>*E<gt>?
X<argument list too long>
-=item Is there a leak/bug in glob()?
-X<glob>
-
=item How can I open a file with a leading ">" or trailing blanks?
X<filename, special characters>
@@ -1487,7 +1312,7 @@ X<slurp> X<file, slurping>
=item How can I read in a file by paragraphs?
X<file, reading by paragraphs>
-=item How can I read a single character from a file? From the keyboard?
+=item How can I read a single character from a file? From the keyboard?
X<getc> X<file, reading one character at a time>
=item How can I tell whether there's a character waiting on a filehandle?
@@ -1501,15 +1326,15 @@ X<dup>
=item How do I close a file descriptor by number?
X<file, closing file descriptors> X<POSIX> X<close>
-=item Why can't I use "C:\temp\foo" in DOS paths? Why doesn't
+=item Why can't I use "C:\temp\foo" in DOS paths? Why doesn't
`C:\temp\foo.exe` work?
X<filename, DOS issues>
=item Why doesn't glob("*.*") get all the files?
X<glob>
-=item Why does Perl let me delete read-only files? Why does C<-i> clobber
-protected files? Isn't this a bug in Perl?
+=item Why does Perl let me delete read-only files? Why does C<-i> clobber
+protected files? Isn't this a bug in Perl?
=item How do I select a random line from a file?
X<file, selecting a random line>
@@ -1554,12 +1379,6 @@ X<..>
X<regex, XML> X<regex, HTML> X<XML> X<HTML> X<pain> X<frustration>
X<sucking out, will to live>
-Solve the balanced text problem from another question in L<perlfaq6>, Try
-the recursive regex features in Perl 5.10 and later. See L<perlre>, Try
-defining a grammar using Perl 5.10's C<(?DEFINE)> feature, Break the
-problem down into sub-problems instead of trying to use a single regex,
-Convince everyone not to use XML or HTML in the first place
-
=item I put a regular expression into $/ but it didn't work. What's wrong?
X<$/, regexes in> X<$INPUT_RECORD_SEPARATOR, regexes in>
X<$RS, regexes in>
@@ -1626,7 +1445,7 @@ Martian>
=item How do I match a regular expression that's in a variable?
X<regex, in variable> X<eval> X<regex> X<quotemeta> X<\Q, regex>
-X<\E, regex>, X<qr//>
+X<\E, regex> X<qr//>
=back
@@ -1681,7 +1500,7 @@ Passing Methods
=item How do I create a static variable?
-=item What's the difference between dynamic and lexical (static) scoping?
+=item What's the difference between dynamic and lexical (static) scoping?
Between local() and my()?
=item How can I access a dynamic variable while a similarly named lexical
@@ -1689,7 +1508,7 @@ is in scope?
=item What's the difference between deep and shallow binding?
-=item Why doesn't "my($foo) = E<lt>FILEE<gt>;" work right?
+=item Why doesn't "my($foo) = E<lt>$fhE<gt>;" work right?
=item How do I redefine a builtin function, operator, or method?
@@ -1771,7 +1590,7 @@ X<Time::HiRes> X<BSD::Itimer> X<sleep> X<select>
=item How can I do an atexit() or setjmp()/longjmp()? (Exception handling)
-=item Why doesn't my sockets program work under System V (Solaris)? What
+=item Why doesn't my sockets program work under System V (Solaris)? What
does the error message "Protocol not supported" mean?
=item How can I call my system's unique C functions from Perl?
@@ -1804,8 +1623,8 @@ does the error message "Protocol not supported" mean?
=item Is there a way to hide perl's command line from programs such as
"ps"?
-=item I {changed directory, modified my environment} in a perl script. How
-come the change disappeared when I exited the script? How do I get my
+=item I {changed directory, modified my environment} in a perl script. How
+come the change disappeared when I exited the script? How do I get my
changes to be visible?
Unix
@@ -1844,7 +1663,7 @@ search path?
=item How do I add a directory to my include path (@INC) at runtime?
the C<PERLLIB> environment variable, the C<PERL5LIB> environment variable,
-the C<perl -Idir> command line flag, the C<lib> pragma:, the C<local::lib>
+the C<perl -Idir> command line flag, the C<lib> pragma:, the L<local::lib>
module:
=item What is socket.ph and where do I get it?
@@ -1855,7 +1674,7 @@ module:
=back
-=head2 perlfaq9 - Networking
+=head2 perlfaq9 - Web, Email and Networking
=over 4
@@ -1863,61 +1682,55 @@ module:
=over 4
-=item What is the correct form of response from a CGI script?
+=item Should I use a web framework?
+
+=item Which web framework should I use?
+X<framework> X<CGI.pm> X<CGI> X<Catalyst> X<Dancer>
-=item My CGI script runs from the command line but not the browser. (500
-Server Error)
+L<Catalyst>, L<Dancer>, L<Mojolicious>, L<Web::Simple>
-=item How can I get better error messages from a CGI program?
+=item What is Plack and PSGI?
=item How do I remove HTML from a string?
=item How do I extract URLs?
-=item How do I download a file from the user's machine? How do I open a
-file on another machine?
-
-=item How do I make an HTML pop-up menu with Perl?
-
=item How do I fetch an HTML file?
=item How do I automate an HTML form submission?
=item How do I decode or create those %-encodings on the web?
-X<URI> X<CGI.pm> X<CGI> X<URI::Escape> X<RFC 2396>
+X<URI> X<URI::Escape> X<RFC 2396>
=item How do I redirect to another page?
=item How do I put a password on my web pages?
-=item How do I edit my .htpasswd and .htgroup files with Perl?
-
-=item How do I make sure users can't enter values into a form that cause my
-CGI script to do bad things?
+=item How do I make sure users can't enter values into a form that causes
+my CGI script to do bad things?
=item How do I parse a mail header?
-=item How do I decode a CGI form?
-
=item How do I check a valid mail address?
=item How do I decode a MIME/BASE64 string?
-=item How do I return the user's mail address?
+=item How do I find the user's mail address?
+
+=item How do I send email?
-=item How do I send mail?
+L<Email::Sender::Transport::Sendmail>, L<Email::Sender::Transport::SMTP>,
+L<Email::Sender::Transport::SMTP::TLS>
=item How do I use MIME to make an attachment to a mail message?
-=item How do I read mail?
+=item How do I read email?
=item How do I find out my hostname, domainname, or IP address?
X<hostname, domainname, IP address, host, domain, hostfqdn, inet_ntoa,
gethostbyname, Socket, Net::Domain, Sys::Hostname>
-=item How do I fetch a news article or the active newsgroups?
-
-=item How do I fetch/put an FTP file?
+=item How do I fetch/put an (S)FTP file?
=item How can I do RPC in Perl?
@@ -1953,7 +1766,8 @@ X<until> X<when> X<foreach> X<for>
=item Compound Statements
X<statement, compound> X<block> X<bracket, curly> X<curly bracket> X<brace>
-X<{> X<}> X<if> X<unless> X<while> X<until> X<foreach> X<for> X<continue>
+X<{> X<}> X<if> X<unless> X<given> X<while> X<until> X<foreach> X<for>
+X<continue>
=item Loop Control
X<loop control> X<loop, control> X<next> X<last> X<redo> X<continue>
@@ -1967,18 +1781,32 @@ X<for> X<foreach>
=item Basic BLOCKs
X<block>
-=item Switch statements
-X<switch> X<case> X<given> X<when> X<default>
+=item Switch Statements
=item Goto
X<goto>
+=item The Ellipsis Statement
+X<...>
+X<... statement>
+X<ellipsis operator>
+X<elliptical statement>
+X<unimplemented statement>
+X<unimplemented operator>
+X<yada-yada>
+X<yada-yada operator>
+X<... operator>
+X<whatever operator>
+X<triple-dot operator>
+
=item PODs: Embedded Documentation
X<POD> X<documentation>
=item Plain Old Comments (Not!)
X<comment> X<line> X<#> X<preprocessor> X<eval>
+=item Experimental Details on given and when
+
=back
=back
@@ -2008,6 +1836,8 @@ X<list>
=item Subscripts
+=item Multi-dimensional array emulation
+
=item Slices
X<slice> X<array, slice> X<hash, slice>
@@ -2069,6 +1899,13 @@ X<relational operator> X<operator, relational>
=item Equality Operators
X<equality> X<equal> X<equals> X<operator, equality>
+=item Smartmatch Operator
+
+1. Empty hashes or arrays match, 2. That is, each element smartmatches the
+element of the same index in the other array.[3], 3. If a circular
+reference is found, fall back to referential equality, 4. Either an actual
+number, or a string that looks like one
+
=item Bitwise And
X<operator, bitwise, and> X<bitwise and> X<&>
@@ -2082,7 +1919,7 @@ X<&&> X<logical and> X<operator, logical, and>
=item C-style Logical Or
X<||> X<operator, logical, or>
-=item C-style Logical Defined-Or
+=item Logical Defined-Or
X<//> X<operator, logical, defined-or>
=item Range Operators
@@ -2096,10 +1933,6 @@ X<assignment> X<operator, assignment> X<=> X<**=> X<+=> X<*=> X<&=>
X<<< <<= >>> X<&&=> X<-=> X</=> X<|=> X<<< >>= >>> X<||=> X<//=> X<.=>
X<%=> X<^=> X<x=>
-=item The Triple-Dot Operator
-X<...> X<... operator> X<yada-yada operator> X<whatever operator>
-X<triple-dot operator>
-
=item Comma Operator
X<comma> X<operator, comma> X<,>
@@ -2112,9 +1945,9 @@ X<operator, logical, not> X<not>
=item Logical And
X<operator, logical, and> X<and>
-=item Logical or, Defined or, and Exclusive Or
+=item Logical or and Exclusive Or
X<operator, logical, or> X<operator, logical, xor>
-X<operator, logical, defined or> X<operator, logical, exclusive or>
+X<operator, logical, exclusive or>
X<or> X<xor>
=item C Operators Missing From Perl
@@ -2179,7 +2012,6 @@ X<operator, bitwise, string>
X<integer>
=item Floating-point Arithmetic
-X<floating-point> X<floating point> X<float> X<real>
=item Bigger Numbers
X<number, arbitrary precision>
@@ -2264,18 +2096,16 @@ Functions for real %HASHes X<hash>, Input and output functions X<I/O>
X<input> X<output> X<dbm>, Functions for fixed-length data or records,
Functions for filehandles, files, or directories X<file> X<filehandle>
X<directory> X<pipe> X<link> X<symlink>, Keywords related to the control
-flow of your Perl program X<control flow>, Keywords related to the switch
-feature, Keywords related to scoping, Miscellaneous functions, Functions
-for processes and process groups X<process> X<pid> X<process id>, Keywords
-related to Perl modules X<module>, Keywords related to classes and
-object-orientation X<object> X<class> X<package>, Low-level socket
-functions X<socket> X<sock>, System V interprocess communication functions
-X<IPC> X<System V> X<semaphore> X<shared memory> X<memory> X<message>,
-Fetching user and group info X<user> X<group> X<password> X<uid> X<gid>
-X<passwd> X</etc/passwd>, Fetching network info X<network> X<protocol>
-X<host> X<hostname> X<IP> X<address> X<service>, Time-related functions
-X<time> X<date>, Functions new in perl5 X<perl5>, Functions obsoleted in
-perl5
+flow of your Perl program X<control flow>, Keywords related to scoping,
+Miscellaneous functions, Functions for processes and process groups
+X<process> X<pid> X<process id>, Keywords related to Perl modules
+X<module>, Keywords related to classes and object-orientation X<object>
+X<class> X<package>, Low-level socket functions X<socket> X<sock>, System V
+interprocess communication functions X<IPC> X<System V> X<semaphore>
+X<shared memory> X<memory> X<message>, Fetching user and group info X<user>
+X<group> X<password> X<uid> X<gid> X<passwd> X</etc/passwd>, Fetching
+network info X<network> X<protocol> X<host> X<hostname> X<IP> X<address>
+X<service>, Time-related functions X<time> X<date>, Non-function keywords
=item Portability
X<portability> X<Unix> X<portable>
@@ -2302,59 +2132,62 @@ SOCKET,NAME X<connect>, continue BLOCK X<continue>, continue, cos EXPR
X<cos> X<cosine> X<acos> X<arccosine>, cos, crypt PLAINTEXT,SALT X<crypt>
X<digest> X<hash> X<salt> X<plaintext> X<password> X<decrypt>
X<cryptography> X<passwd> X<encrypt>, dbmclose HASH X<dbmclose>, dbmopen
-HASH,DBNAME,MASK X<dbmopen> X<dbm> X<ndbm> X<sdbm> X<gdbm>, default BLOCK,
-defined EXPR X<defined> X<undef> X<undefined>, defined, delete EXPR
-X<delete>, die LIST X<die> X<throw> X<exception> X<raise> X<$@> X<abort>,
-do BLOCK X<do> X<block>, do SUBROUTINE(LIST) X<do>, do EXPR X<do>, dump
-LABEL X<dump> X<core> X<undump>, dump, each HASH X<each> X<hash, iterator>,
-each ARRAY X<array, iterator>, each EXPR, eof FILEHANDLE X<eof> X<end of
-file> X<end-of-file>, eof (), eof, eval EXPR X<eval> X<try> X<catch>
-X<evaluate> X<parse> X<execute> X<error, handling> X<exception, handling>,
-eval BLOCK, eval, exec LIST X<exec> X<execute>, exec PROGRAM LIST, exists
-EXPR X<exists> X<autovivification>, exit EXPR X<exit> X<terminate>
-X<abort>, exit, exp EXPR X<exp> X<exponential> X<antilog> X<antilogarithm>
-X<e>, exp, fcntl FILEHANDLE,FUNCTION,SCALAR X<fcntl>, fileno FILEHANDLE
-X<fileno>, flock FILEHANDLE,OPERATION X<flock> X<lock> X<locking>, fork
-X<fork> X<child> X<parent>, format X<format>, formline PICTURE,LIST
-X<formline>, getc FILEHANDLE X<getc> X<getchar> X<character> X<file, read>,
-getc, getlogin X<getlogin> X<login>, getpeername SOCKET X<getpeername>
-X<peer>, getpgrp PID X<getpgrp> X<group>, getppid X<getppid> X<parent>
-X<pid>, getpriority WHICH,WHO X<getpriority> X<priority> X<nice>, getpwnam
-NAME X<getpwnam> X<getgrnam> X<gethostbyname> X<getnetbyname>
-X<getprotobyname> X<getpwuid> X<getgrgid> X<getservbyname> X<gethostbyaddr>
-X<getnetbyaddr> X<getprotobynumber> X<getservbyport> X<getpwent>
-X<getgrent> X<gethostent> X<getnetent> X<getprotoent> X<getservent>
-X<setpwent> X<setgrent> X<sethostent> X<setnetent> X<setprotoent>
-X<setservent> X<endpwent> X<endgrent> X<endhostent> X<endnetent>
-X<endprotoent> X<endservent>, getgrnam NAME, gethostbyname NAME,
-getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID,
-getservbyname NAME,PROTO, gethostbyaddr ADDR,ADDRTYPE, getnetbyaddr
-ADDR,ADDRTYPE, getprotobynumber NUMBER, getservbyport PORT,PROTO, getpwent,
-getgrent, gethostent, getnetent, getprotoent, getservent, setpwent,
-setgrent, sethostent STAYOPEN, setnetent STAYOPEN, setprotoent STAYOPEN,
-setservent STAYOPEN, endpwent, endgrent, endhostent, endnetent,
-endprotoent, endservent, getsockname SOCKET X<getsockname>, getsockopt
-SOCKET,LEVEL,OPTNAME X<getsockopt>, given EXPR BLOCK X<given>, given BLOCK,
-glob EXPR X<glob> X<wildcard> X<filename, expansion> X<expand>, glob,
-gmtime EXPR X<gmtime> X<UTC> X<Greenwich>, gmtime, goto LABEL X<goto>
-X<jump> X<jmp>, goto EXPR, goto &NAME, grep BLOCK LIST X<grep>, grep
-EXPR,LIST, hex EXPR X<hex> X<hexadecimal>, hex, import LIST X<import>,
-index STR,SUBSTR,POSITION X<index> X<indexOf> X<InStr>, index STR,SUBSTR,
-int EXPR X<int> X<integer> X<truncate> X<trunc> X<floor>, int, ioctl
+HASH,DBNAME,MASK X<dbmopen> X<dbm> X<ndbm> X<sdbm> X<gdbm>, defined EXPR
+X<defined> X<undef> X<undefined>, defined, delete EXPR X<delete>, die LIST
+X<die> X<throw> X<exception> X<raise> X<$@> X<abort>, do BLOCK X<do>
+X<block>, do SUBROUTINE(LIST) X<do>, do EXPR X<do>, dump LABEL X<dump>
+X<core> X<undump>, dump, each HASH X<each> X<hash, iterator>, each ARRAY
+X<array, iterator>, each EXPR, eof FILEHANDLE X<eof> X<end of file>
+X<end-of-file>, eof (), eof, eval EXPR X<eval> X<try> X<catch> X<evaluate>
+X<parse> X<execute> X<error, handling> X<exception, handling>, eval BLOCK,
+eval, evalbytes EXPR X<evalbytes>, evalbytes, exec LIST X<exec> X<execute>,
+exec PROGRAM LIST, exists EXPR X<exists> X<autovivification>, exit EXPR
+X<exit> X<terminate> X<abort>, exit, exp EXPR X<exp> X<exponential>
+X<antilog> X<antilogarithm> X<e>, exp, fc EXPR X<fc> X<foldcase>
+X<casefold> X<fold-case> X<case-fold>, fc, fcntl FILEHANDLE,FUNCTION,SCALAR
+X<fcntl>, __FILE__ X<__FILE__>, fileno FILEHANDLE X<fileno>, flock
+FILEHANDLE,OPERATION X<flock> X<lock> X<locking>, fork X<fork> X<child>
+X<parent>, format X<format>, formline PICTURE,LIST X<formline>, getc
+FILEHANDLE X<getc> X<getchar> X<character> X<file, read>, getc, getlogin
+X<getlogin> X<login>, getpeername SOCKET X<getpeername> X<peer>, getpgrp
+PID X<getpgrp> X<group>, getppid X<getppid> X<parent> X<pid>, getpriority
+WHICH,WHO X<getpriority> X<priority> X<nice>, getpwnam NAME X<getpwnam>
+X<getgrnam> X<gethostbyname> X<getnetbyname> X<getprotobyname> X<getpwuid>
+X<getgrgid> X<getservbyname> X<gethostbyaddr> X<getnetbyaddr>
+X<getprotobynumber> X<getservbyport> X<getpwent> X<getgrent> X<gethostent>
+X<getnetent> X<getprotoent> X<getservent> X<setpwent> X<setgrent>
+X<sethostent> X<setnetent> X<setprotoent> X<setservent> X<endpwent>
+X<endgrent> X<endhostent> X<endnetent> X<endprotoent> X<endservent>,
+getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname NAME,
+getpwuid UID, getgrgid GID, getservbyname NAME,PROTO, gethostbyaddr
+ADDR,ADDRTYPE, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER,
+getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent,
+getprotoent, getservent, setpwent, setgrent, sethostent STAYOPEN, setnetent
+STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent,
+endhostent, endnetent, endprotoent, endservent, getsockname SOCKET
+X<getsockname>, getsockopt SOCKET,LEVEL,OPTNAME X<getsockopt>, glob EXPR
+X<glob> X<wildcard> X<filename, expansion> X<expand>, glob, gmtime EXPR
+X<gmtime> X<UTC> X<Greenwich>, gmtime, goto LABEL X<goto> X<jump> X<jmp>,
+goto EXPR, goto &NAME, grep BLOCK LIST X<grep>, grep EXPR,LIST, hex EXPR
+X<hex> X<hexadecimal>, hex, import LIST X<import>, index
+STR,SUBSTR,POSITION X<index> X<indexOf> X<InStr>, index STR,SUBSTR, int
+EXPR X<int> X<integer> X<truncate> X<trunc> X<floor>, int, ioctl
FILEHANDLE,FUNCTION,SCALAR X<ioctl>, join EXPR,LIST X<join>, keys HASH
-X<keys> X<key>, keys ARRAY, keys EXPR, kill SIGNAL, LIST X<kill> X<signal>,
-last LABEL X<last> X<break>, last, lc EXPR X<lc> X<lowercase>, lc, If C<use
-bytes> is in effect:, On EBCDIC platforms, On ASCII platforms, Otherwise,
-If EXPR has the UTF8 flag set, Otherwise, if C<use locale> is in effect,
-Otherwise, if C<use feature 'unicode_strings'> is in effect:, Otherwise:,
-On EBCDIC platforms, On ASCII platforms, lcfirst EXPR X<lcfirst>
-X<lowercase>, lcfirst, length EXPR X<length> X<size>, length, link
-OLDFILE,NEWFILE X<link>, listen SOCKET,QUEUESIZE X<listen>, local EXPR
-X<local>, localtime EXPR X<localtime> X<ctime>, localtime, lock THING
-X<lock>, log EXPR X<log> X<logarithm> X<e> X<ln> X<base>, log, lstat EXPR
-X<lstat>, lstat, m//, map BLOCK LIST X<map>, map EXPR,LIST, mkdir
-FILENAME,MASK X<mkdir> X<md> X<directory, create>, mkdir FILENAME, mkdir,
-msgctl ID,CMD,ARG X<msgctl>, msgget KEY,FLAGS X<msgget>, msgrcv
+X<keys> X<key>, keys ARRAY, keys EXPR, kill SIGNAL, LIST, kill SIGNAL
+X<kill> X<signal>, last LABEL X<last> X<break>, last, lc EXPR X<lc>
+X<lowercase>, lc, If C<use bytes> is in effect:, On EBCDIC platforms, On
+ASCII platforms, Otherwise, if C<use locale> (but not C<use locale
+':not_characters'>) is in effect:, Otherwise, If EXPR has the UTF8 flag
+set:, Otherwise, if C<use feature 'unicode_strings'> or C<use locale
+':not_characters'>) is in effect:, Otherwise:, On EBCDIC platforms, On
+ASCII platforms, lcfirst EXPR X<lcfirst> X<lowercase>, lcfirst, length EXPR
+X<length> X<size>, length, __LINE__ X<__LINE__>, link OLDFILE,NEWFILE
+X<link>, listen SOCKET,QUEUESIZE X<listen>, local EXPR X<local>, localtime
+EXPR X<localtime> X<ctime>, localtime, lock THING X<lock>, log EXPR X<log>
+X<logarithm> X<e> X<ln> X<base>, log, lstat FILEHANDLE X<lstat>, lstat
+EXPR, lstat DIRHANDLE, lstat, m//, map BLOCK LIST X<map>, map EXPR,LIST,
+mkdir FILENAME,MASK X<mkdir> X<md> X<directory, create>, mkdir FILENAME,
+mkdir, msgctl ID,CMD,ARG X<msgctl>, msgget KEY,FLAGS X<msgget>, msgrcv
ID,VAR,SIZE,TYPE,FLAGS X<msgrcv>, msgsnd ID,MSG,FLAGS X<msgsnd>, my EXPR
X<my>, my TYPE EXPR, my EXPR : ATTRS, my TYPE EXPR : ATTRS, next LABEL
X<next> X<continue>, next, no MODULE VERSION LIST X<no declarations>
@@ -2367,41 +2200,42 @@ X<opendir>, ord EXPR X<ord> X<encoding>, ord, our EXPR X<our> X<global>,
our TYPE EXPR, our EXPR : ATTRS, our TYPE EXPR : ATTRS, pack TEMPLATE,LIST
X<pack>, package NAMESPACE, package NAMESPACE VERSION X<package> X<module>
X<namespace> X<version>, package NAMESPACE BLOCK, package NAMESPACE VERSION
-BLOCK X<package> X<module> X<namespace> X<version>, pipe
-READHANDLE,WRITEHANDLE X<pipe>, pop ARRAY X<pop> X<stack>, pop EXPR, pop,
-pos SCALAR X<pos> X<match, position>, pos, print FILEHANDLE LIST X<print>,
-print FILEHANDLE, print LIST, print, printf FILEHANDLE FORMAT, LIST
-X<printf>, printf FILEHANDLE, printf FORMAT, LIST, printf, prototype
-FUNCTION X<prototype>, push ARRAY,LIST X<push> X<stack>, push EXPR,LIST,
-q/STRING/, qq/STRING/, qx/STRING/, qw/STRING/, qr/STRING/, quotemeta EXPR
-X<quotemeta> X<metacharacter>, quotemeta, rand EXPR X<rand> X<random>,
-rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET X<read> X<file, read>, read
-FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE X<readdir>, readline EXPR,
-readline X<readline> X<gets> X<fgets>, readlink EXPR X<readlink>, readlink,
-readpipe EXPR, readpipe X<readpipe>, recv SOCKET,SCALAR,LENGTH,FLAGS
-X<recv>, redo LABEL X<redo>, redo, ref EXPR X<ref> X<reference>, ref,
-rename OLDNAME,NEWNAME X<rename> X<move> X<mv> X<ren>, require VERSION
-X<require>, require EXPR, require, reset EXPR X<reset>, reset, return EXPR
-X<return>, return, reverse LIST X<reverse> X<rev> X<invert>, rewinddir
-DIRHANDLE X<rewinddir>, rindex STR,SUBSTR,POSITION X<rindex>, rindex
-STR,SUBSTR, rmdir FILENAME X<rmdir> X<rd> X<directory, remove>, rmdir,
-s///, say FILEHANDLE LIST X<say>, say FILEHANDLE, say LIST, say, scalar
-EXPR X<scalar> X<context>, seek FILEHANDLE,POSITION,WHENCE X<seek> X<fseek>
-X<filehandle, position>, seekdir DIRHANDLE,POS X<seekdir>, select
-FILEHANDLE X<select> X<filehandle, default>, select, select
-RBITS,WBITS,EBITS,TIMEOUT X<select>, semctl ID,SEMNUM,CMD,ARG X<semctl>,
-semget KEY,NSEMS,FLAGS X<semget>, semop KEY,OPSTRING X<semop>, send
-SOCKET,MSG,FLAGS,TO X<send>, send SOCKET,MSG,FLAGS, setpgrp PID,PGRP
-X<setpgrp> X<group>, setpriority WHICH,WHO,PRIORITY X<setpriority>
-X<priority> X<nice> X<renice>, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL
-X<setsockopt>, shift ARRAY X<shift>, shift EXPR, shift, shmctl ID,CMD,ARG
-X<shmctl>, shmget KEY,SIZE,FLAGS X<shmget>, shmread ID,VAR,POS,SIZE
-X<shmread> X<shmwrite>, shmwrite ID,STRING,POS,SIZE, shutdown SOCKET,HOW
-X<shutdown>, sin EXPR X<sin> X<sine> X<asin> X<arcsine>, sin, sleep EXPR
-X<sleep> X<pause>, sleep, socket SOCKET,DOMAIN,TYPE,PROTOCOL X<socket>,
-socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL X<socketpair>, sort SUBNAME
-LIST X<sort> X<qsort> X<quicksort> X<mergesort>, sort BLOCK LIST, sort
-LIST, splice ARRAY or EXPR,OFFSET,LENGTH,LIST X<splice>, splice ARRAY or
+BLOCK X<package> X<module> X<namespace> X<version>, __PACKAGE__
+X<__PACKAGE__>, pipe READHANDLE,WRITEHANDLE X<pipe>, pop ARRAY X<pop>
+X<stack>, pop EXPR, pop, pos SCALAR X<pos> X<match, position>, pos, print
+FILEHANDLE LIST X<print>, print FILEHANDLE, print LIST, print, printf
+FILEHANDLE FORMAT, LIST X<printf>, printf FILEHANDLE, printf FORMAT, LIST,
+printf, prototype FUNCTION X<prototype>, push ARRAY,LIST X<push> X<stack>,
+push EXPR,LIST, q/STRING/, qq/STRING/, qw/STRING/, qx/STRING/, qr/STRING/,
+quotemeta EXPR X<quotemeta> X<metacharacter>, quotemeta, rand EXPR X<rand>
+X<random>, rand, read FILEHANDLE,SCALAR,LENGTH,OFFSET X<read> X<file,
+read>, read FILEHANDLE,SCALAR,LENGTH, readdir DIRHANDLE X<readdir>,
+readline EXPR, readline X<readline> X<gets> X<fgets>, readlink EXPR
+X<readlink>, readlink, readpipe EXPR, readpipe X<readpipe>, recv
+SOCKET,SCALAR,LENGTH,FLAGS X<recv>, redo LABEL X<redo>, redo, ref EXPR
+X<ref> X<reference>, ref, rename OLDNAME,NEWNAME X<rename> X<move> X<mv>
+X<ren>, require VERSION X<require>, require EXPR, require, reset EXPR
+X<reset>, reset, return EXPR X<return>, return, reverse LIST X<reverse>
+X<rev> X<invert>, rewinddir DIRHANDLE X<rewinddir>, rindex
+STR,SUBSTR,POSITION X<rindex>, rindex STR,SUBSTR, rmdir FILENAME X<rmdir>
+X<rd> X<directory, remove>, rmdir, s///, say FILEHANDLE LIST X<say>, say
+FILEHANDLE, say LIST, say, scalar EXPR X<scalar> X<context>, seek
+FILEHANDLE,POSITION,WHENCE X<seek> X<fseek> X<filehandle, position>,
+seekdir DIRHANDLE,POS X<seekdir>, select FILEHANDLE X<select> X<filehandle,
+default>, select, select RBITS,WBITS,EBITS,TIMEOUT X<select>, semctl
+ID,SEMNUM,CMD,ARG X<semctl>, semget KEY,NSEMS,FLAGS X<semget>, semop
+KEY,OPSTRING X<semop>, send SOCKET,MSG,FLAGS,TO X<send>, send
+SOCKET,MSG,FLAGS, setpgrp PID,PGRP X<setpgrp> X<group>, setpriority
+WHICH,WHO,PRIORITY X<setpriority> X<priority> X<nice> X<renice>, setsockopt
+SOCKET,LEVEL,OPTNAME,OPTVAL X<setsockopt>, shift ARRAY X<shift>, shift
+EXPR, shift, shmctl ID,CMD,ARG X<shmctl>, shmget KEY,SIZE,FLAGS X<shmget>,
+shmread ID,VAR,POS,SIZE X<shmread> X<shmwrite>, shmwrite
+ID,STRING,POS,SIZE, shutdown SOCKET,HOW X<shutdown>, sin EXPR X<sin>
+X<sine> X<asin> X<arcsine>, sin, sleep EXPR X<sleep> X<pause>, sleep,
+socket SOCKET,DOMAIN,TYPE,PROTOCOL X<socket>, socketpair
+SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL X<socketpair>, sort SUBNAME LIST
+X<sort> X<qsort> X<quicksort> X<mergesort>, sort BLOCK LIST, sort LIST,
+splice ARRAY or EXPR,OFFSET,LENGTH,LIST X<splice>, splice ARRAY or
EXPR,OFFSET,LENGTH, splice ARRAY or EXPR,OFFSET, splice ARRAY or EXPR,
split /PATTERN/,EXPR,LIMIT X<split>, split /PATTERN/,EXPR, split /PATTERN/,
split, sprintf FORMAT, LIST X<sprintf>, format parameter index, flags,
@@ -2411,11 +2245,11 @@ srand EXPR X<srand> X<seed> X<randseed>, srand, stat FILEHANDLE X<stat>
X<file, status> X<ctime>, stat EXPR, stat DIRHANDLE, stat, state EXPR
X<state>, state TYPE EXPR, state EXPR : ATTRS, state TYPE EXPR : ATTRS,
study SCALAR X<study>, study, sub NAME BLOCK X<sub>, sub NAME (PROTO)
-BLOCK, sub NAME : ATTRS BLOCK, sub NAME (PROTO) : ATTRS BLOCK, substr
-EXPR,OFFSET,LENGTH,REPLACEMENT X<substr> X<substring> X<mid> X<left>
-X<right>, substr EXPR,OFFSET,LENGTH, substr EXPR,OFFSET, symlink
-OLDFILE,NEWFILE X<symlink> X<link> X<symbolic link> X<link, symbolic>,
-syscall NUMBER, LIST X<syscall> X<system call>, sysopen
+BLOCK, sub NAME : ATTRS BLOCK, sub NAME (PROTO) : ATTRS BLOCK, __SUB__
+X<__SUB__>, substr EXPR,OFFSET,LENGTH,REPLACEMENT X<substr> X<substring>
+X<mid> X<left> X<right>, substr EXPR,OFFSET,LENGTH, substr EXPR,OFFSET,
+symlink OLDFILE,NEWFILE X<symlink> X<link> X<symbolic link> X<link,
+symbolic>, syscall NUMBER, LIST X<syscall> X<system call>, sysopen
FILEHANDLE,FILENAME,MODE X<sysopen>, sysopen
FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET
X<sysread>, sysread FILEHANDLE,SCALAR,LENGTH, sysseek
@@ -2429,14 +2263,19 @@ truncate EXPR,LENGTH, uc EXPR X<uc> X<uppercase> X<toupper>, uc, ucfirst
EXPR X<ucfirst> X<uppercase>, ucfirst, umask EXPR X<umask>, umask, undef
EXPR X<undef> X<undefine>, undef, unlink LIST X<unlink> X<delete> X<remove>
X<rm> X<del>, unlink, unpack TEMPLATE,EXPR X<unpack>, unpack TEMPLATE,
-untie VARIABLE X<untie>, unshift ARRAY,LIST X<unshift>, unshift EXPR,LIST,
+unshift ARRAY,LIST X<unshift>, unshift EXPR,LIST, untie VARIABLE X<untie>,
use Module VERSION LIST X<use> X<module> X<import>, use Module VERSION, use
Module LIST, use Module, use VERSION, utime LIST X<utime>, values HASH
X<values>, values ARRAY, values EXPR, vec EXPR,OFFSET,BITS X<vec> X<bit>
X<bit vector>, wait X<wait>, waitpid PID,FLAGS X<waitpid>, wantarray
-X<wantarray> X<context>, warn LIST X<warn> X<warning> X<STDERR>, when EXPR
-BLOCK X<when>, when BLOCK, write FILEHANDLE X<write>, write EXPR, write,
-y///
+X<wantarray> X<context>, warn LIST X<warn> X<warning> X<STDERR>, write
+FILEHANDLE X<write>, write EXPR, write, y///
+
+=item Non-function Keywords by Cross-reference
+
+__DATA__, __END__, BEGIN, CHECK, END, INIT, UNITCHECK, DESTROY, and, cmp,
+eq, ge, gt, if, le, lt, ne, not, or, x, xor, AUTOLOAD, else, elseif, elsif,
+for, foreach, unless, until, while, default, given, when
=back
@@ -2707,9 +2546,10 @@ First:, Second:, Third:, Fourth:, Fifth:, Sixth:
=item DESCRIPTION
-NAME, SYNOPSIS, DESCRIPTION, OPTIONS, RETURN VALUE, ERRORS, DIAGNOSTICS,
-EXAMPLES, ENVIRONMENT, FILES, CAVEATS, BUGS, RESTRICTIONS, NOTES, AUTHOR,
-HISTORY, COPYRIGHT AND LICENSE, SEE ALSO
+bold (BE<lt>E<gt>), italic (IE<lt>E<gt>), code (CE<lt>E<gt>), files
+(FE<lt>E<gt>), NAME, SYNOPSIS, DESCRIPTION, OPTIONS, RETURN VALUE, ERRORS,
+DIAGNOSTICS, EXAMPLES, ENVIRONMENT, FILES, CAVEATS, BUGS, RESTRICTIONS,
+NOTES, AUTHOR, HISTORY, COPYRIGHT AND LICENSE, SEE ALSO
=item SEE ALSO
@@ -2847,31 +2687,36 @@ X<debugger command, r>, <CR>, c [line|sub] X<debugger command, c>, l
X<debugger command, l>, l min+incr, l min-max, l line, l subname, -
X<debugger command, ->, v [line] X<debugger command, v>, . X<debugger
command, .>, f filename X<debugger command, f>, /pattern/, ?pattern?, L
-[abw] X<debugger command, L>, S [[!]regex] X<debugger command, S>, t
-X<debugger command, t>, t expr X<debugger command, t>, b X<breakpoint>
+[abw] X<debugger command, L>, S [[!]regex] X<debugger command, S>, t [n]
+X<debugger command, t>, t [n] expr X<debugger command, t>, b X<breakpoint>
X<debugger command, b>, b [line] [condition] X<breakpoint> X<debugger
-command, b>, b subname [condition] X<breakpoint> X<debugger command, b>, b
-postpone subname [condition] X<breakpoint> X<debugger command, b>, b load
-filename X<breakpoint> X<debugger command, b>, b compile subname
-X<breakpoint> X<debugger command, b>, B line X<breakpoint> X<debugger
-command, B>, B * X<breakpoint> X<debugger command, B>, a [line] command
-X<debugger command, a>, A line X<debugger command, A>, A * X<debugger
-command, A>, w expr X<debugger command, w>, W expr X<debugger command, W>,
-W * X<debugger command, W>, o X<debugger command, o>, o booloption ...
-X<debugger command, o>, o anyoption? ... X<debugger command, o>, o
-option=value ... X<debugger command, o>, < ? X<< debugger command, < >>, <
-[ command ] X<< debugger command, < >>, < * X<< debugger command, < >>, <<
-command X<< debugger command, << >>, > ? X<< debugger command, > >>, >
-command X<< debugger command, > >>, > * X<< debugger command, > >>, >>
-command X<<< debugger command, >> >>>, { ? X<debugger command, {>, { [
-command ], { * X<debugger command, {>, {{ command X<debugger command, {{>,
-! number X<debugger command, !>, ! -number X<debugger command, !>, !
-pattern X<debugger command, !>, !! cmd X<debugger command, !!>, source file
-X<debugger command, source>, H -number X<debugger command, H>, q or ^D
-X<debugger command, q> X<debugger command, ^D>, R X<debugger command, R>,
-|dbcmd X<debugger command, |>, ||dbcmd X<debugger command, ||>, command, m
-expr X<debugger command, m>, M X<debugger command, M>, man [manpage]
-X<debugger command, man>
+command, b>, b [file]:[line] [condition] X<breakpoint> X<debugger command,
+b>, b subname [condition] X<breakpoint> X<debugger command, b>, b postpone
+subname [condition] X<breakpoint> X<debugger command, b>, b load filename
+X<breakpoint> X<debugger command, b>, b compile subname X<breakpoint>
+X<debugger command, b>, B line X<breakpoint> X<debugger command, B>, B *
+X<breakpoint> X<debugger command, B>, disable [file]:[line] X<breakpoint>
+X<debugger command, disable> X<disable>, disable [line] X<breakpoint>
+X<debugger command, disable> X<disable>, enable [file]:[line] X<breakpoint>
+X<debugger command, disable> X<disable>, enable [line] X<breakpoint>
+X<debugger command, disable> X<disable>, a [line] command X<debugger
+command, a>, A line X<debugger command, A>, A * X<debugger command, A>, w
+expr X<debugger command, w>, W expr X<debugger command, W>, W * X<debugger
+command, W>, o X<debugger command, o>, o booloption ... X<debugger command,
+o>, o anyoption? ... X<debugger command, o>, o option=value ... X<debugger
+command, o>, < ? X<< debugger command, < >>, < [ command ] X<< debugger
+command, < >>, < * X<< debugger command, < >>, << command X<< debugger
+command, << >>, > ? X<< debugger command, > >>, > command X<< debugger
+command, > >>, > * X<< debugger command, > >>, >> command X<<< debugger
+command, >> >>>, { ? X<debugger command, {>, { [ command ], { * X<debugger
+command, {>, {{ command X<debugger command, {{>, ! number X<debugger
+command, !>, ! -number X<debugger command, !>, ! pattern X<debugger
+command, !>, !! cmd X<debugger command, !!>, source file X<debugger
+command, source>, H -number X<debugger command, H>, q or ^D X<debugger
+command, q> X<debugger command, ^D>, R X<debugger command, R>, |dbcmd
+X<debugger command, |>, ||dbcmd X<debugger command, ||>, command, m expr
+X<debugger command, m>, M X<debugger command, M>, man [manpage] X<debugger
+command, man>
=item Configurable Options
@@ -2947,25 +2792,18 @@ X<memory usage>
$ARG, $_ X<$_> X<$ARG>, @ARG, @_ X<@_> X<@ARG>, $LIST_SEPARATOR, $" X<$">
X<$LIST_SEPARATOR>, $PROCESS_ID, $PID, $$ X<$$> X<$PID> X<$PROCESS_ID>,
-$REAL_GROUP_ID, $GID, $( X<$(> X<$GID> X<$REAL_GROUP_ID>,
-$EFFECTIVE_GROUP_ID, $EGID, $) X<$)> X<$EGID> X<$EFFECTIVE_GROUP_ID>,
-$PROGRAM_NAME, $0 X<$0> X<$PROGRAM_NAME>, $SUBSCRIPT_SEPARATOR, $SUBSEP, $;
-X<$;> X<$SUBSEP> X<SUBSCRIPT_SEPARATOR>, $REAL_USER_ID, $UID, $< X<< $< >>
-X<$UID> X<$REAL_USER_ID>, $EFFECTIVE_USER_ID, $EUID, $> X<< $> >> X<$EUID>
-X<$EFFECTIVE_USER_ID>, $a, $b X<$a> X<$b>, $COMPILING, $^C X<$^C>
-X<$COMPILING>, $DEBUGGING, $^D X<$^D> X<$DEBUGGING>, ${^ENCODING}
-X<${^ENCODING}>, %ENV X<%ENV>, $SYSTEM_FD_MAX, $^F X<$^F>
-X<$SYSTEM_FD_MAX>, @F X<@F>, ${^GLOBAL_PHASE} X<${^GLOBAL_PHASE}>,
-CONSTRUCT, START, CHECK, INIT, RUN, END, DESTRUCT, $^H X<$^H>, %^H X<%^H>,
-@INC X<@INC>, %INC X<%INC>, $INPLACE_EDIT, $^I X<$^I> X<$INPLACE_EDIT>, $^M
-X<$^M>, $OSNAME, $^O X<$^O> X<$OSNAME>, ${^OPEN} X<${^OPEN}>, $PERLDB, $^P
-X<$^P> X<$PERLDB>, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x100,
-0x200, 0x400, %SIG X<%SIG>, $BASETIME, $^T X<$^T> X<$BASETIME>, ${^TAINT}
-X<${^TAINT}>, ${^UNICODE} X<${^UNICODE}>, ${^UTF8CACHE} X<${^UTF8CACHE}>,
-${^UTF8LOCALE} X<${^UTF8LOCALE}>, $PERL_VERSION, $^V X<$^V>
-X<$PERL_VERSION>, ${^WIN32_SLOPPY_STAT} X<${^WIN32_SLOPPY_STAT}>
-X<sitecustomize> X<sitecustomize.pl>, $EXECUTABLE_NAME, $^X X<$^X>
-X<$EXECUTABLE_NAME>
+$PROGRAM_NAME, $0 X<$0> X<$PROGRAM_NAME>, $REAL_GROUP_ID, $GID, $( X<$(>
+X<$GID> X<$REAL_GROUP_ID>, $EFFECTIVE_GROUP_ID, $EGID, $) X<$)> X<$EGID>
+X<$EFFECTIVE_GROUP_ID>, $REAL_USER_ID, $UID, $< X<< $< >> X<$UID>
+X<$REAL_USER_ID>, $EFFECTIVE_USER_ID, $EUID, $> X<< $> >> X<$EUID>
+X<$EFFECTIVE_USER_ID>, $SUBSCRIPT_SEPARATOR, $SUBSEP, $; X<$;> X<$SUBSEP>
+X<SUBSCRIPT_SEPARATOR>, $a, $b X<$a> X<$b>, %ENV X<%ENV>, $SYSTEM_FD_MAX,
+$^F X<$^F> X<$SYSTEM_FD_MAX>, @F X<@F>, @INC X<@INC>, %INC X<%INC>,
+$INPLACE_EDIT, $^I X<$^I> X<$INPLACE_EDIT>, $^M X<$^M>, $OSNAME, $^O X<$^O>
+X<$OSNAME>, %SIG X<%SIG>, $BASETIME, $^T X<$^T> X<$BASETIME>,
+$PERL_VERSION, $^V X<$^V> X<$PERL_VERSION>, ${^WIN32_SLOPPY_STAT}
+X<${^WIN32_SLOPPY_STAT}> X<sitecustomize> X<sitecustomize.pl>,
+$EXECUTABLE_NAME, $^X X<$^X> X<$EXECUTABLE_NAME>
=item Variables related to regular expressions
@@ -3020,6 +2858,16 @@ X<$OS_ERROR>, %OS_ERROR, %ERRNO, %! X<%!> X<%OS_ERROR> X<%ERRNO>,
$CHILD_ERROR, $? X<$?> X<$CHILD_ERROR>, $EVAL_ERROR, $@ X<$@>
X<$EVAL_ERROR>
+=item Variables related to the interpreter state
+
+$COMPILING, $^C X<$^C> X<$COMPILING>, $DEBUGGING, $^D X<$^D> X<$DEBUGGING>,
+${^ENCODING} X<${^ENCODING}>, ${^GLOBAL_PHASE} X<${^GLOBAL_PHASE}>,
+CONSTRUCT, START, CHECK, INIT, RUN, END, DESTRUCT, $^H X<$^H>, %^H X<%^H>,
+${^OPEN} X<${^OPEN}>, $PERLDB, $^P X<$^P> X<$PERLDB>, 0x01, 0x02, 0x04,
+0x08, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200, 0x400, ${^TAINT} X<${^TAINT}>,
+${^UNICODE} X<${^UNICODE}>, ${^UTF8CACHE} X<${^UTF8CACHE}>, ${^UTF8LOCALE}
+X<${^UTF8LOCALE}>
+
=item Deprecated and removed variables
$OFMT, $# X<$#> X<$OFMT>, $* X<$*>, $ARRAY_BASE, $[ X<$[> X<$ARRAY_BASE>,
@@ -3081,8 +2929,8 @@ X<possessive>
Verbs that take an argument, C<(*PRUNE)> C<(*PRUNE:NAME)> X<(*PRUNE)>
X<(*PRUNE:NAME)>, C<(*SKIP)> C<(*SKIP:NAME)> X<(*SKIP)>, C<(*MARK:NAME)>
-C<(*:NAME)> X<(*MARK)> C<(*MARK:NAME)> C<(*:NAME)>, C<(*THEN)>
-C<(*THEN:NAME)>, C<(*COMMIT)> X<(*COMMIT)>, Verbs without an argument,
+C<(*:NAME)> X<(*MARK)> X<(*MARK:NAME)> X<(*:NAME)>, C<(*THEN)>
+C<(*THEN:NAME)>, Verbs without an argument, C<(*COMMIT)> X<(*COMMIT)>,
C<(*FAIL)> C<(*F)> X<(*FAIL)> X<(*F)>, C<(*ACCEPT)> X<(*ACCEPT)>
=item Backtracking
@@ -3178,10 +3026,10 @@ Unicode rules are in effect or if on an EBCDIC platform .., otherwise ..,
=item Bracketed Character Classes
-If the C</a> modifier, is in effect .., otherwise .., For code points above
-255 .., For code points below 256 .., if locale rules are in effect .., if
-Unicode rules are in effect or if on an EBCDIC platform .., otherwise ..,
-[1], [2], [3], [4], [5], [6]
+[1], [2], [3], [4], [5], [6], If the C</a> modifier, is in effect ..,
+otherwise .., For code points above 255 .., For code points below 256 ..,
+if locale rules are in effect .., if Unicode rules are in effect or if on
+an EBCDIC platform .., otherwise ..
=back
@@ -3249,6 +3097,9 @@ lexical> X<closure> X<lexical> X<lexical scope>, 5. X<constructor> X<new>,
=item Using References
X<reference, use> X<dereferencing> X<dereference>
+=item Circular References
+X<circular reference> X<reference, circular>
+
=item Symbolic references
X<reference, symbolic> X<reference, soft>
X<symbolic reference> X<soft reference>
@@ -3328,7 +3179,7 @@ X<format, internals>
=back
-=head2 perlobj - Perl objects
+=head2 perlobj - Perl object reference
=over 4
@@ -3336,7 +3187,7 @@ X<format, internals>
=over 4
-=item An Object is Simply a Reference
+=item An Object is Simply a Data Structure
X<object> X<bless> X<constructor> X<new>
=item A Class is Simply a Package
@@ -3348,23 +3199,42 @@ X<method>
=item Method Invocation
X<invocation> X<method> X<arrow> X<< -> >>
-=item Indirect Object Syntax
-X<indirect object syntax> X<invocation, indirect> X<indirect>
+=item Inheritance
+X<inheritance>
+
+=item Writing Constructors
+X<constructor>
+
+=item Attributes
+X<attribute>
+
+=item An Aside About Smarter and Safer Code
+
+=item Method Call Variations
+X<method>
-=item Default UNIVERSAL methods
+=item Invoking Class Methods
+X<invocation>
+
+=item C<bless>, C<blessed>, and C<ref>
+
+=item The UNIVERSAL Class
X<UNIVERSAL>
-isa(CLASS) X<isa>, DOES(ROLE) X<DOES>, can(METHOD) X<can>, VERSION( [NEED]
-) X<VERSION>
+isa($class) X<isa>, DOES($role) X<DOES>, can($method) X<can>,
+VERSION($need) X<VERSION>
+
+=item AUTOLOAD
+X<AUTOLOAD>
=item Destructors
X<destructor> X<DESTROY>
-=item Summary
+=item Non-Hash Objects
-=item Two-Phased Garbage Collection
-X<garbage collection> X<GC> X<circular reference>
-X<reference, circular> X<DESTROY> X<destructor>
+=item Inside-Out objects
+
+=item Pseudo-hashes
=back
@@ -3575,6 +3445,8 @@ BEGIN blocks, Open filehandles, Open directory handles, Forking pipe open()
not yet implemented, Global state maintained by XSUBs, Interpreter embedded
in larger application, Thread-safety of extensions
+=item PORTABILITY CAVEATS
+
=item BUGS
=item AUTHOR
@@ -3849,6 +3721,13 @@ localization)
=item DESCRIPTION
+=item WHAT IS A LOCALE
+
+Category LC_NUMERIC: Numeric formatting, Category LC_MONETARY: Formatting
+of monetary amounts, Category LC_TIME: Date/Time formatting, Category
+LC_MESSAGES: Error and other messages, Category LC_COLLATE: Collation,
+Category LC_CTYPE: Character Types
+
=item PREPARING TO USE LOCALES
=item USING LOCALES
@@ -3857,6 +3736,9 @@ localization)
=item The use locale pragma
+B<Under C<use locale ':not_characters';>>, B<Under just plain C<use
+locale;>>
+
=item The setlocale function
=item Finding locales
@@ -4020,8 +3902,9 @@ B<C<\p{Assigned}>>, B<C<\p{Blank}>>, B<C<\p{Decomposition_Type:
Non_Canonical}>> (Short: C<\p{Dt=NonCanon}>), B<C<\p{Graph}>>,
B<C<\p{HorizSpace}>>, B<C<\p{In=*}>>, B<C<\p{PerlSpace}>>,
B<C<\p{PerlWord}>>, B<C<\p{Posix...}>>, B<C<\p{Present_In: *}>> (Short:
-C<\p{In=*}>), B<C<\p{Print}>>, B<C<\p{SpacePerl}>>, B<C<\p{VertSpace}>>,
-B<C<\p{Word}>>, B<C<\p{XPosix...}>>
+C<\p{In=*}>), B<C<\p{Print}>>, B<C<\p{SpacePerl}>>, B<C<\p{Title}>> and
+B<C<\p{Titlecase}>>, B<C<\p{VertSpace}>>, B<C<\p{Word}>>,
+B<C<\p{XPosix...}>>
=item User-Defined Character Properties
@@ -4147,41 +4030,59 @@ range?
=back
-=head2 perluniprops - Index of Unicode Version 6.0.0 properties in Perl
+=head2 perluniprops - Index of Unicode Version 6.1.0 character properties
+in Perl
=over 4
=item DESCRIPTION
-=item Properties accessible through \p{} and \P{}
+=item Properties accessible through C<\p{}> and C<\P{}>
-Single form (\p{name}) tighter rules:, white space adjacent to a non-word
-character, underscores separating digits in numbers, Compound form
-(\p{name=value} or \p{name:value}) tighter rules:, Obsolete, Stabilized,
-Deprecated, B<*> is a wild-card, B<(\d+)> in the info column gives the
-number of code points matched by this property, B<D> means this is
-deprecated, B<O> means this is obsolete, B<S> means this is stabilized,
+Single form (C<\p{name}>) tighter rules:, white space adjacent to a
+non-word character, underscores separating digits in numbers, Compound form
+(C<\p{name=value}> or C<\p{name:value}>) tighter rules:, Stabilized,
+Deprecated, Obsolete, Z<>B<*> is a wild-card, B<(\d+)> in the info column
+gives the number of code points matched by this property, B<D> means this
+is deprecated, B<O> means this is obsolete, B<S> means this is stabilized,
B<T> means tighter (stricter) name matching applies, B<X> means use of this
-form is discouraged
+form is discouraged, and may not be stable
=over 4
-=item Legal \p{} and \P{} constructs that match no characters
+=item Legal C<\p{}> and C<\P{}> constructs that match no characters
\p{Canonical_Combining_Class=Attached_Below_Left},
-\p{Joining_Type=Left_Joining}
+\p{Grapheme_Cluster_Break=Prepend}, \p{Joining_Type=Left_Joining}
=back
-=item Properties not accessible through \p{} and \P{}
+=item Properties accessible through Unicode::UCD
-=item Unicode regular expression properties that are NOT accepted by Perl
+=item Properties accessible through other means
+
+=item Unicode character properties that are NOT accepted by Perl
I<Expands_On_NFC> (XO_NFC), I<Expands_On_NFD> (XO_NFD), I<Expands_On_NFKC>
(XO_NFKC), I<Expands_On_NFKD> (XO_NFKD), I<Grapheme_Link> (Gr_Link),
-I<Jamo_Short_Name> (JSN), I<Script=Katakana_Or_Hiragana> (sc=Hrkt)
+I<Indic_Matra_Category> (InMC), I<Indic_Syllabic_Category> (InSC),
+I<Jamo_Short_Name> (JSN), I<Other_Alphabetic> (OAlpha),
+I<Other_Default_Ignorable_Code_Point> (ODI), I<Other_Grapheme_Extend>
+(OGr_Ext), I<Other_ID_Continue> (OIDC), I<Other_ID_Start> (OIDS),
+I<Other_Lowercase> (OLower), I<Other_Math> (OMath), I<Other_Uppercase>
+(OUpper), I<Script=Katakana_Or_Hiragana> (sc=Hrkt),
+I<Script_Extensions=Katakana_Or_Hiragana> (scx=Hrkt)
+
+=item Other information in the Unicode data base
-=item Files in the I<To> directory (for serious hackers only)
+F<auxiliary/GraphemeBreakTest.html>, F<auxiliary/LineBreakTest.html>,
+F<auxiliary/SentenceBreakTest.html>, F<auxiliary/WordBreakTest.html>,
+F<auxiliary\LBTest.txt>, F<auxiliary\SBTest.txt>, F<auxiliary\WBTest.txt>,
+F<BidiTest.txt>, F<NormalizationTest.txt>, F<CJKRadicals.txt>,
+F<EmojiSources.txt>, F<Index.txt>, F<IndicMatraCategory.txt>,
+F<IndicSyllabicCategory.txt>, F<NamedSqProv.txt>, F<NamesList.txt>,
+F<NormalizationCorrections.txt>, F<Props.txt>, F<ReadMe.txt>,
+F<StandardizedVariants.txt>
=item SEE ALSO
@@ -4423,11 +4324,14 @@ X<CLONE> X<CLONE_SKIP> X<thread> X<threads> X<ithread>
=item Pragmatic Modules
-attributes, autodie, autodie::exception, autodie::exception::system,
-autodie::hints, autouse, base, bigint, bignum, bigrat, blib, bytes,
-charnames, constant, deprecate, diagnostics, encoding, encoding::warnings,
-feature, fields, filetest, if, inc::latest, integer, less, lib, locale,
-mro, open, ops, overload, overloading, parent, re, sigtrap, sort, strict,
+arybase, attributes, autodie, autodie::exception,
+autodie::exception::system, autodie::hints, autouse, base, bigint, bignum,
+bigrat, blib, bytes, charnames, constant, deprecate, diagnostics, encoding,
+encoding::warnings, feature, fields, filetest, if, inc::latest, integer,
+less, lib, locale, mro, open, ops, overload, overloading, parent, perldoc,
+perlfaq, perlfaq1, perlfaq2, perlfaq3, perlfaq4, perlfaq5, perlfaq6,
+perlfaq7, perlfaq8, perlfaq9, perlfunc, perlglossary, perlpodspeccopy,
+perlvarcopy, perlxs, perlxstut, perlxstypemap, re, sigtrap, sort, strict,
subs, threads, threads::shared, utf8, vars, version, vmsish, warnings,
warnings::register
@@ -4437,31 +4341,42 @@ AnyDBM_File, App::Cpan, App::Prove, App::Prove::State,
App::Prove::State::Result, App::Prove::State::Result::Test,
Archive::Extract, Archive::Tar, Archive::Tar::File, Attribute::Handlers,
AutoLoader, AutoSplit, B, B::Concise, B::Debug, B::Deparse, B::Lint,
-B::Lint::Debug, B::Showlex, B::Terse, B::Xref, Benchmark, CGI, CGI::Apache,
-CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push, CGI::Switch,
-CGI::Util, CORE, CPAN, CPAN::API::HOWTO, CPAN::Distroprefs,
+B::Lint::Debug, B::Showlex, B::Terse, B::Xref, Benchmark, C<Socket>, CGI,
+CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push,
+CGI::Switch, CGI::Util, CORE, CPAN, CPAN::API::HOWTO, CPAN::Distroprefs,
CPAN::FirstTime, CPAN::Kwalify, CPAN::Meta, CPAN::Meta::Converter,
CPAN::Meta::Feature, CPAN::Meta::History, CPAN::Meta::Prereqs,
-CPAN::Meta::Spec, CPAN::Meta::Validator, CPAN::Meta::YAML, CPAN::Nox,
-CPAN::Version, CPANPLUS, CPANPLUS::Dist::Base, CPANPLUS::Dist::Build,
-CPANPLUS::Dist::Build::Constants, CPANPLUS::Dist::Sample,
+CPAN::Meta::Requirements, CPAN::Meta::Spec, CPAN::Meta::Validator,
+CPAN::Meta::YAML, CPAN::Nox, CPAN::Version, CPANPLUS, CPANPLUS::Backend,
+CPANPLUS::Backend::RV, CPANPLUS::Config, CPANPLUS::Configure,
+CPANPLUS::Dist, CPANPLUS::Dist::Autobundle, CPANPLUS::Dist::Base,
+CPANPLUS::Dist::Build, CPANPLUS::Dist::Build::Constants,
+CPANPLUS::Dist::MM, CPANPLUS::Dist::Sample, CPANPLUS::Error, CPANPLUS::FAQ,
+CPANPLUS::Hacking, CPANPLUS::Internals, CPANPLUS::Internals::Extract,
+CPANPLUS::Internals::Fetch, CPANPLUS::Internals::Report,
+CPANPLUS::Internals::Search, CPANPLUS::Internals::Source,
CPANPLUS::Internals::Source::Memory, CPANPLUS::Internals::Source::SQLite,
-CPANPLUS::Shell::Classic, CPANPLUS::Shell::Default::Plugins::HOWTO, Carp,
-Class::Struct, Compress::Raw::Bzip2, Compress::Raw::Bzip2::FAQ,
-Compress::Raw::Zlib, Compress::Raw::Zlib::FAQ, Compress::Zlib, Config, Cwd,
-DB, DBM_Filter, DBM_Filter::compress, DBM_Filter::encode,
-DBM_Filter::int32, DBM_Filter::null, DBM_Filter::utf8, DB_File,
-Data::Dumper, Devel::DProf, Devel::InnerPackage, Devel::PPPort,
-Devel::Peek, Devel::SelfStubber, Digest, Digest::MD5, Digest::SHA,
-Digest::base, Digest::file, DirHandle, Dumpvalue, DynaLoader, Encode,
-Encode::Alias, Encode::Byte, Encode::CJKConstants, Encode::CN,
-Encode::CN::HZ, Encode::Config, Encode::EBCDIC, Encode::Encoder,
-Encode::Encoding, Encode::GSM0338, Encode::Guess, Encode::JP,
-Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR, Encode::KR::2022_KR,
-Encode::MIME::Header, Encode::MIME::Name, Encode::PerlIO,
-Encode::Supported, Encode::Symbol, Encode::TW, Encode::Unicode,
-Encode::Unicode::UTF7, English, Env, Errno, Exporter, Exporter::Heavy,
-ExtUtils::CBuilder, ExtUtils::CBuilder::Platform::Windows,
+CPANPLUS::Internals::Utils, CPANPLUS::Module, CPANPLUS::Module::Author,
+CPANPLUS::Module::Author::Fake, CPANPLUS::Module::Checksums,
+CPANPLUS::Module::Fake, CPANPLUS::Selfupdate, CPANPLUS::Shell,
+CPANPLUS::Shell::Classic, CPANPLUS::Shell::Default,
+CPANPLUS::Shell::Default::Plugins::CustomSource,
+CPANPLUS::Shell::Default::Plugins::HOWTO,
+CPANPLUS::Shell::Default::Plugins::Remote,
+CPANPLUS::Shell::Default::Plugins::Source, Carp, Class::Struct,
+Compress::Raw::Bzip2, Compress::Raw::Zlib, Compress::Zlib, Config, Cwd, DB,
+DBM_Filter, DBM_Filter::compress, DBM_Filter::encode, DBM_Filter::int32,
+DBM_Filter::null, DBM_Filter::utf8, DB_File, Data::Dumper,
+Devel::InnerPackage, Devel::PPPort, Devel::Peek, Devel::SelfStubber,
+Digest, Digest::MD5, Digest::SHA, Digest::base, Digest::file, DirHandle,
+Dumpvalue, DynaLoader, Encode, Encode::Alias, Encode::Byte,
+Encode::CJKConstants, Encode::CN, Encode::CN::HZ, Encode::Config,
+Encode::EBCDIC, Encode::Encoder, Encode::Encoding, Encode::GSM0338,
+Encode::Guess, Encode::JP, Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR,
+Encode::KR::2022_KR, Encode::MIME::Header, Encode::MIME::Name,
+Encode::PerlIO, Encode::Supported, Encode::Symbol, Encode::TW,
+Encode::Unicode, Encode::Unicode::UTF7, English, Env, Errno, Exporter,
+Exporter::Heavy, ExtUtils::CBuilder, ExtUtils::CBuilder::Platform::Windows,
ExtUtils::Command, ExtUtils::Command::MM, ExtUtils::Constant,
ExtUtils::Constant::Base, ExtUtils::Constant::Utils,
ExtUtils::Constant::XS, ExtUtils::Embed, ExtUtils::Install,
@@ -4472,31 +4387,43 @@ ExtUtils::MM_OS2, ExtUtils::MM_QNX, ExtUtils::MM_UWIN, ExtUtils::MM_Unix,
ExtUtils::MM_VMS, ExtUtils::MM_VOS, ExtUtils::MM_Win32, ExtUtils::MM_Win95,
ExtUtils::MY, ExtUtils::MakeMaker, ExtUtils::MakeMaker::Config,
ExtUtils::MakeMaker::FAQ, ExtUtils::MakeMaker::Tutorial,
-ExtUtils::MakeMaker::YAML, ExtUtils::Manifest, ExtUtils::Mkbootstrap,
-ExtUtils::Mksymlists, ExtUtils::Packlist, ExtUtils::ParseXS,
-ExtUtils::XSSymSet, ExtUtils::testlib, Fatal, Fcntl, File::Basename,
-File::CheckTree, File::Compare, File::Copy, File::DosGlob, File::Fetch,
-File::Find, File::Glob, File::GlobMapper, File::Path, File::Spec,
-File::Spec::Cygwin, File::Spec::Epoc, File::Spec::Functions,
-File::Spec::Mac, File::Spec::OS2, File::Spec::Unix, File::Spec::VMS,
-File::Spec::Win32, File::Temp, File::stat, FileCache, FileHandle,
-Filter::Simple, Filter::Util::Call, FindBin, GDBM_File, Getopt::Long,
-Getopt::Std, HTTP::Tiny, Hash::Util, Hash::Util::FieldHash, I18N::Collate,
-I18N::LangTags, I18N::LangTags::Detect, I18N::LangTags::List,
-I18N::Langinfo, IO, IO::Compress::Base, IO::Compress::Bzip2,
-IO::Compress::Deflate, IO::Compress::FAQ, IO::Compress::Gzip,
-IO::Compress::RawDeflate, IO::Compress::Zip, IO::Dir, IO::File, IO::Handle,
-IO::Pipe, IO::Poll, IO::Seekable, IO::Select, IO::Socket, IO::Socket::INET,
-IO::Socket::UNIX, IO::Uncompress::AnyInflate,
+ExtUtils::Manifest, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists,
+ExtUtils::Packlist, ExtUtils::ParseXS, ExtUtils::ParseXS::Constants,
+ExtUtils::ParseXS::Utilities, ExtUtils::Typemaps, ExtUtils::Typemaps::Cmd,
+ExtUtils::Typemaps::InputMap, ExtUtils::Typemaps::OutputMap,
+ExtUtils::Typemaps::Type, ExtUtils::XSSymSet, ExtUtils::testlib, Fatal,
+Fcntl, File::Basename, File::CheckTree, File::Compare, File::Copy,
+File::DosGlob, File::Fetch, File::Find, File::Glob, File::GlobMapper,
+File::Path, File::Spec, File::Spec::Cygwin, File::Spec::Epoc,
+File::Spec::Functions, File::Spec::Mac, File::Spec::OS2, File::Spec::Unix,
+File::Spec::VMS, File::Spec::Win32, File::Temp, File::stat, FileCache,
+FileHandle, Filter::Simple, Filter::Util::Call, FindBin, GDBM_File,
+Getopt::Long, Getopt::Std, HTTP::Tiny, Hash::Util, Hash::Util::FieldHash,
+I18N::Collate, I18N::LangTags, I18N::LangTags::Detect,
+I18N::LangTags::List, I18N::Langinfo, IO, IO::Compress::Base,
+IO::Compress::Bzip2, IO::Compress::Deflate, IO::Compress::FAQ,
+IO::Compress::Gzip, IO::Compress::RawDeflate, IO::Compress::Zip, IO::Dir,
+IO::File, IO::Handle, IO::Pipe, IO::Poll, IO::Seekable, IO::Select,
+IO::Socket, IO::Socket::INET, IO::Socket::UNIX, IO::Uncompress::AnyInflate,
IO::Uncompress::AnyUncompress, IO::Uncompress::Base,
IO::Uncompress::Bunzip2, IO::Uncompress::Gunzip, IO::Uncompress::Inflate,
IO::Uncompress::RawInflate, IO::Uncompress::Unzip, IO::Zlib, IPC::Cmd,
IPC::Msg, IPC::Open2, IPC::Open3, IPC::Semaphore, IPC::SharedMem,
IPC::SysV, JSON::PP, JSON::PP::Boolean, List::Util, List::Util::XS,
-Locale::Codes, Locale::Codes::Changes, Locale::Codes::Country,
-Locale::Codes::Currency, Locale::Codes::Language, Locale::Codes::Script,
-Locale::Constants, Locale::Country, Locale::Currency, Locale::Language,
-Locale::Maketext, Locale::Maketext::Cookbook, Locale::Maketext::Guts,
+Locale::Codes, Locale::Codes::API, Locale::Codes::Changes,
+Locale::Codes::Constants, Locale::Codes::Country,
+Locale::Codes::Country_Codes, Locale::Codes::Country_Retired,
+Locale::Codes::Currency, Locale::Codes::Currency_Codes,
+Locale::Codes::Currency_Retired, Locale::Codes::LangExt,
+Locale::Codes::LangExt_Codes, Locale::Codes::LangExt_Retired,
+Locale::Codes::LangFam, Locale::Codes::LangFam_Codes,
+Locale::Codes::LangFam_Retired, Locale::Codes::LangVar,
+Locale::Codes::LangVar_Codes, Locale::Codes::LangVar_Retired,
+Locale::Codes::Language, Locale::Codes::Language_Codes,
+Locale::Codes::Language_Retired, Locale::Codes::Script,
+Locale::Codes::Script_Codes, Locale::Codes::Script_Retired,
+Locale::Country, Locale::Currency, Locale::Language, Locale::Maketext,
+Locale::Maketext::Cookbook, Locale::Maketext::Guts,
Locale::Maketext::GutsLoader, Locale::Maketext::Simple,
Locale::Maketext::TPJ13, Locale::Script, Log::Message,
Log::Message::Config, Log::Message::Handlers, Log::Message::Item,
@@ -4523,45 +4450,47 @@ Net::Config, Net::Domain, Net::FTP, Net::NNTP, Net::Netrc, Net::POP3,
Net::Ping, Net::SMTP, Net::Time, Net::hostent, Net::libnetFAQ, Net::netent,
Net::protoent, Net::servent, O, ODBM_File, Object::Accessor, Opcode, POSIX,
Package::Constants, Params::Check, Parse::CPAN::Meta, Perl::OSType, PerlIO,
-PerlIO::encoding, PerlIO::scalar, PerlIO::via, PerlIO::via::QuotedPrint,
-Pod::Checker, Pod::Escapes, Pod::Find, Pod::Functions, Pod::Html,
-Pod::InputObjects, Pod::LaTeX, Pod::Man, Pod::ParseLink, Pod::ParseUtils,
-Pod::Parser, Pod::Perldoc, Pod::Perldoc::BaseTo, Pod::Perldoc::GetOptsOO,
+PerlIO::encoding, PerlIO::mmap, PerlIO::scalar, PerlIO::via,
+PerlIO::via::QuotedPrint, Pod::Checker, Pod::Escapes, Pod::Find,
+Pod::Functions, Pod::Html, Pod::InputObjects, Pod::LaTeX, Pod::Man,
+Pod::ParseLink, Pod::ParseUtils, Pod::Parser, Pod::Perldoc,
+Pod::Perldoc::BaseTo, Pod::Perldoc::GetOptsOO, Pod::Perldoc::ToANSI,
Pod::Perldoc::ToChecker, Pod::Perldoc::ToMan, Pod::Perldoc::ToNroff,
-Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf, Pod::Perldoc::ToText,
-Pod::Perldoc::ToTk, Pod::Perldoc::ToXml, Pod::PlainText, Pod::Select,
-Pod::Simple, Pod::Simple::Checker, Pod::Simple::Debug,
-Pod::Simple::DumpAsText, Pod::Simple::DumpAsXML, Pod::Simple::HTML,
-Pod::Simple::HTMLBatch, Pod::Simple::LinkSection, Pod::Simple::Methody,
-Pod::Simple::PullParser, Pod::Simple::PullParserEndToken,
-Pod::Simple::PullParserStartToken, Pod::Simple::PullParserTextToken,
-Pod::Simple::PullParserToken, Pod::Simple::RTF, Pod::Simple::Search,
-Pod::Simple::SimpleTree, Pod::Simple::Subclassing, Pod::Simple::Text,
-Pod::Simple::TextContent, Pod::Simple::XHTML, Pod::Simple::XMLOutStream,
-Pod::Text, Pod::Text::Color, Pod::Text::Termcap, Pod::Usage, SDBM_File,
-Safe, Scalar::Util, Search::Dict, SelectSaver, SelfLoader, Shell, Socket,
-Storable, Symbol, Sys::Hostname, Sys::Syslog, Sys::Syslog::Win32,
-TAP::Base, TAP::Formatter::Base, TAP::Formatter::Color,
-TAP::Formatter::Console, TAP::Formatter::Console::ParallelSession,
-TAP::Formatter::Console::Session, TAP::Formatter::File,
-TAP::Formatter::File::Session, TAP::Formatter::Session, TAP::Harness,
-TAP::Object, TAP::Parser, TAP::Parser::Aggregator, TAP::Parser::Grammar,
-TAP::Parser::Iterator, TAP::Parser::Iterator::Array,
-TAP::Parser::Iterator::Process, TAP::Parser::Iterator::Stream,
-TAP::Parser::IteratorFactory, TAP::Parser::Multiplexer,
-TAP::Parser::Result, TAP::Parser::Result::Bailout,
-TAP::Parser::Result::Comment, TAP::Parser::Result::Plan,
-TAP::Parser::Result::Pragma, TAP::Parser::Result::Test,
-TAP::Parser::Result::Unknown, TAP::Parser::Result::Version,
-TAP::Parser::Result::YAML, TAP::Parser::ResultFactory,
-TAP::Parser::Scheduler, TAP::Parser::Scheduler::Job,
-TAP::Parser::Scheduler::Spinner, TAP::Parser::Source,
-TAP::Parser::SourceHandler, TAP::Parser::SourceHandler::Executable,
-TAP::Parser::SourceHandler::File, TAP::Parser::SourceHandler::Handle,
-TAP::Parser::SourceHandler::Perl, TAP::Parser::SourceHandler::RawTAP,
-TAP::Parser::Utils, TAP::Parser::YAMLish::Reader,
-TAP::Parser::YAMLish::Writer, Term::ANSIColor, Term::Cap, Term::Complete,
-Term::ReadLine, Term::UI, Test, Test::Builder, Test::Builder::Module,
+Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf, Pod::Perldoc::ToTerm,
+Pod::Perldoc::ToText, Pod::Perldoc::ToTk, Pod::Perldoc::ToXml,
+Pod::PlainText, Pod::Select, Pod::Simple, Pod::Simple::Checker,
+Pod::Simple::Debug, Pod::Simple::DumpAsText, Pod::Simple::DumpAsXML,
+Pod::Simple::HTML, Pod::Simple::HTMLBatch, Pod::Simple::LinkSection,
+Pod::Simple::Methody, Pod::Simple::PullParser,
+Pod::Simple::PullParserEndToken, Pod::Simple::PullParserStartToken,
+Pod::Simple::PullParserTextToken, Pod::Simple::PullParserToken,
+Pod::Simple::RTF, Pod::Simple::Search, Pod::Simple::SimpleTree,
+Pod::Simple::Subclassing, Pod::Simple::Text, Pod::Simple::TextContent,
+Pod::Simple::XHTML, Pod::Simple::XMLOutStream, Pod::Text, Pod::Text::Color,
+Pod::Text::Termcap, Pod::Usage, SDBM_File, Safe, Scalar::Util,
+Search::Dict, SelectSaver, SelfLoader, Storable, Symbol, Sys::Hostname,
+Sys::Syslog, Sys::Syslog::Win32, TAP::Base, TAP::Formatter::Base,
+TAP::Formatter::Color, TAP::Formatter::Console,
+TAP::Formatter::Console::ParallelSession, TAP::Formatter::Console::Session,
+TAP::Formatter::File, TAP::Formatter::File::Session,
+TAP::Formatter::Session, TAP::Harness, TAP::Object, TAP::Parser,
+TAP::Parser::Aggregator, TAP::Parser::Grammar, TAP::Parser::Iterator,
+TAP::Parser::Iterator::Array, TAP::Parser::Iterator::Process,
+TAP::Parser::Iterator::Stream, TAP::Parser::IteratorFactory,
+TAP::Parser::Multiplexer, TAP::Parser::Result,
+TAP::Parser::Result::Bailout, TAP::Parser::Result::Comment,
+TAP::Parser::Result::Plan, TAP::Parser::Result::Pragma,
+TAP::Parser::Result::Test, TAP::Parser::Result::Unknown,
+TAP::Parser::Result::Version, TAP::Parser::Result::YAML,
+TAP::Parser::ResultFactory, TAP::Parser::Scheduler,
+TAP::Parser::Scheduler::Job, TAP::Parser::Scheduler::Spinner,
+TAP::Parser::Source, TAP::Parser::SourceHandler,
+TAP::Parser::SourceHandler::Executable, TAP::Parser::SourceHandler::File,
+TAP::Parser::SourceHandler::Handle, TAP::Parser::SourceHandler::Perl,
+TAP::Parser::SourceHandler::RawTAP, TAP::Parser::Utils,
+TAP::Parser::YAMLish::Reader, TAP::Parser::YAMLish::Writer,
+Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine, Term::UI,
+Term::UI::History, Test, Test::Builder, Test::Builder::Module,
Test::Builder::Tester, Test::Builder::Tester::Color, Test::Harness,
Test::More, Test::Simple, Test::Tutorial, Text::Abbrev, Text::Balanced,
Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap, Thread,
@@ -4591,8 +4520,8 @@ South Africa
=item Asia
-Hong Kong, India, Indonesia, Japan, Kazakhstan, Republic of Korea, Russia,
-Singapore, Taiwan, Thailand, Turkey, Viet Nam
+China, Hong Kong, India, Indonesia, Japan, Republic of Korea, Russia,
+Singapore, Taiwan, Thailand, Turkey
=item Central America
@@ -4608,10 +4537,10 @@ Ukraine, United Kingdom
=item North America
-Bahamas, Canada, Mexico, United States, Alabama, California, Florida,
-Idaho, Illinois, Indiana, Massachusetts, Michigan, Minnesota, New Jersey,
-New York, North Carolina, Oregon, Pennsylvania, South Carolina, Tennessee,
-Texas, Utah, Virginia, Washington, Wisconsin
+Bahamas, Canada, Mexico, United States, Alabama, Arizona, California,
+Florida, Idaho, Illinois, Indiana, Massachusetts, Michigan, Minnesota, New
+Jersey, New York, North Carolina, Oregon, Pennsylvania, South Carolina,
+Tennessee, Texas, Utah, Virginia, Washington, Wisconsin
=item Oceania
@@ -4814,6 +4743,8 @@ tarball, Announce to the modules list, Announce to clpa, Fix bugs!
=item A basic example
+=item Key naming
+
=item Implementation details
=back
@@ -4833,7 +4764,7 @@ tarball, Announce to the modules list, Announce to clpa, Fix bugs!
L<perldoc|perldoc>, L<pod2man|pod2man> and L<pod2text|pod2text>,
L<pod2html|pod2html> and L<pod2latex|pod2latex>, L<pod2usage|pod2usage>,
L<podselect|podselect>, L<podchecker|podchecker>, L<splain|splain>,
-L<roffitall|roffitall>
+C<roffitall>
=item Converters
@@ -4845,13 +4776,13 @@ L<config_data|config_data>, L<libnetcfg|libnetcfg>, L<perlivp>
=item Development
-L<perlbug|perlbug>, L<perlthanks|perlthanks>, L<h2ph|h2ph>, L<c2ph|c2ph>
-and L<pstruct|pstruct>, L<h2xs|h2xs>, L<enc2xs>, L<xsubpp>,
-L<dprofpp|dprofpp>, L<prove>, L<corelist>
+L<perlbug|perlbug>, L<perlthanks|perlbug>, L<h2ph|h2ph>, L<c2ph|c2ph> and
+L<pstruct|pstruct>, L<h2xs|h2xs>, L<enc2xs>, L<xsubpp>, L<prove>,
+L<corelist>
=item General tools
-L<piconv>, L<ptar>, L<ptardiff>, L<ptargrep>, L<shasum>
+L<piconv>, L<ptar>, L<ptardiff>, L<ptargrep>, L<shasum>, L<zipdetails>
=item Installation
@@ -4863,45 +4794,6 @@ L<cpan>, L<cpanp>, L<cpan2dist>, L<instmodsh>
=back
-=head2 perlcompile - Introduction to the Perl Compiler-Translator
-
-=over 4
-
-=item DESCRIPTION
-
-=over 4
-
-=item Layout
-
-B::Lint, B::Deparse, B::Xref
-
-=back
-
-=item Using The Back Ends
-
-=over 4
-
-=item The Cross-Referencing Back End
-
-i, &, s, r
-
-=item The Decompiling Back End
-
-=item The Lint Back End
-
-=back
-
-=item Module List for the Compiler Suite
-
-B, O, B::Concise, B::Debug, B::Deparse, B::Lint, B::Showlex, B::Terse,
-B::Xref
-
-=item KNOWN PROBLEMS
-
-=item AUTHOR
-
-=back
-
=head2 perlfilter - Source Filters
=over 4
@@ -4938,6 +4830,35 @@ Some Filters Clobber the C<DATA> Handle
=back
+=head2 perldtrace - Perl's support for DTrace
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item HISTORY
+
+=item PROBES
+
+sub-entry(SUBNAME, FILE, LINE, PACKAGE), sub-return(SUBNAME, FILE, LINE,
+PACKAGE), phase-change(NEWPHASE, OLDPHASE)
+
+=item EXAMPLES
+
+Most frequently called functions, Trace function calls, Function calls
+during interpreter cleanup, System calls at compile time
+
+=item REFERENCES
+
+DTrace User Guide, DTrace: Dynamic Tracing in Oracle Solaris, Mac OS X and
+FreeBSD
+
+=item AUTHORS
+
+=back
+
=head2 perlglossary - Perl Glossary
=over 4
@@ -4985,7 +4906,7 @@ dropped modules, dweomer, dwimmer, dynamic scoping
=item E
-eclectic, element, embedding, empty subclass test, en passant,
+eclectic, element, embedding, empty list, empty subclass test, en passant,
encapsulation, endian, environment, environment variable, EOF, errno,
error, escape sequence, exception, exception handling, exec, executable
file, execute, execute bit, exit status, export, expression, extension
@@ -5012,7 +4933,7 @@ document, hexadecimal, home directory, host, hubris, HV
identifier, impatience, implementation, import, increment, indexing,
indirect filehandle, indirect object, indirect object slot, indirection,
infix, inheritance, instance, instance variable, integer, interface,
-interpolation, interpreter, invocand, invocation, I/O, IO, IP, IPC, is-a,
+interpolation, interpreter, invocant, invocation, I/O, IO, IP, IPC, is-a,
iteration, iterator, IV
=item J
@@ -5068,8 +4989,8 @@ qualified, quantifier
readable, reaping, record, recursion, reference, referent, regex, regular
expression, regular expression modifier, regular file, relational operator,
-reserved words, return value, RFC, right shift, root, RTFM, run phase, run
-time, run-time pattern, RV, rvalue
+reserved words, restricted hash, return value, RFC, right shift, root,
+RTFM, run phase, run time, run-time pattern, RV, rvalue
=item S
@@ -5225,7 +5146,7 @@ SBRKed/SBRKs:CONTINUOUS>, C<pad: 0>, C<heads: 2192>, C<chain: 0>, C<tail:
=back
-=head2 perlxstut, perlXStut - Tutorial for writing XSUBs
+=head2 perlxstut - Tutorial for writing XSUBs
=over 4
@@ -5351,6 +5272,8 @@ SBRKed/SBRKs:CONTINUOUS>, C<pad: 0>, C<heads: 2192>, C<chain: 0>, C<tail:
=item The NO_INIT Keyword
+=item The TYPEMAP: Keyword
+
=item Initializing Function Parameters
=item Default Parameter Values
@@ -5403,6 +5326,8 @@ SBRKed/SBRKs:CONTINUOUS>, C<pad: 0>, C<heads: 2192>, C<chain: 0>, C<tail:
=item The CASE: Keyword
+=item The EXPORT_XSUB_SYMBOLS: Keyword
+
=item The & Unary Operator
=item Inserting POD, Comments and C Preprocessor Directives
@@ -5413,8 +5338,6 @@ SBRKed/SBRKs:CONTINUOUS>, C<pad: 0>, C<heads: 2192>, C<chain: 0>, C<tail:
=item Perl Objects And C Structures
-=item The Typemap
-
=item Safely Storing Static Data in XS
MY_CXT_KEY, typedef my_cxt_t, START_MY_CXT, MY_CXT_INIT, dMY_CXT, MY_CXT,
@@ -5433,6 +5356,36 @@ dMY_CXT_INTERP(my_perl)
=back
+=head2 perlxstypemap - Perl XS C/Perl type mapping
+
+=over 4
+
+=item DESCRIPTION
+
+=over 4
+
+=item Anatomy of a typemap
+
+=item The Role of the typemap File in Your Distribution
+
+=item Sharing typemaps Between CPAN Distributions
+
+=item Writing typemap Entries
+
+=item Full Listing of Core Typemaps
+
+T_SV, T_SVREF, T_SVREF_FIXED, T_AVREF, T_AVREF_REFCOUNT_FIXED, T_HVREF,
+T_HVREF_REFCOUNT_FIXED, T_CVREF, T_CVREF_REFCOUNT_FIXED, T_SYSRET, T_UV,
+T_IV, T_INT, T_ENUM, T_BOOL, T_U_INT, T_SHORT, T_U_SHORT, T_LONG, T_U_LONG,
+T_CHAR, T_U_CHAR, T_FLOAT, T_NV, T_DOUBLE, T_PV, T_PTR, T_PTRREF, T_PTROBJ,
+T_REF_IV_REF, T_REF_IV_PTR, T_PTRDESC, T_REFREF, T_REFOBJ, T_OPAQUEPTR,
+T_OPAQUE, Implicit array, T_PACKED, T_PACKEDARRAY, T_DATAUNIT, T_CALLBACK,
+T_ARRAY, T_STDIO, T_INOUT, T_IN, T_OUT
+
+=back
+
+=back
+
=head2 perlclib - Internal replacements for standard C library functions
=over 4
@@ -5538,6 +5491,8 @@ save_hptr(HV **hptr)>
=item XSUBs and the Argument Stack
+=item Autoloading with XSUBs
+
=item Calling Perl Routines from within C Programs
=item Memory Allocation
@@ -5798,7 +5753,7 @@ RXf_NULL
=item C<substrs>
-=item C<nparens>, C<lasparen>, and C<lastcloseparen>
+=item C<nparens>, C<lastparen>, and C<lastcloseparen>
=item C<intflags>
@@ -5970,11 +5925,17 @@ CvSTASH X<CvSTASH>, get_cv X<get_cv>, get_cvn_flags X<get_cvn_flags>
=item Embedding Functions
-cv_undef X<cv_undef>, load_module X<load_module>, nothreadhook
-X<nothreadhook>, pad_findmy X<pad_findmy>, pad_sv X<pad_sv>, perl_alloc
-X<perl_alloc>, perl_construct X<perl_construct>, perl_destruct
-X<perl_destruct>, perl_free X<perl_free>, perl_parse X<perl_parse>,
-perl_run X<perl_run>, require_pv X<require_pv>
+cv_clone X<cv_clone>, cv_undef X<cv_undef>, find_rundefsv X<find_rundefsv>,
+find_rundefsvoffset X<find_rundefsvoffset>, load_module X<load_module>,
+nothreadhook X<nothreadhook>, pad_add_anon X<pad_add_anon>, pad_add_name_pv
+X<pad_add_name_pv>, pad_add_name_pvn X<pad_add_name_pvn>, pad_add_name_sv
+X<pad_add_name_sv>, pad_alloc X<pad_alloc>, pad_compname_type
+X<pad_compname_type>, pad_findmy_pv X<pad_findmy_pv>, pad_findmy_pvn
+X<pad_findmy_pvn>, pad_findmy_sv X<pad_findmy_sv>, pad_setsv X<pad_setsv>,
+pad_sv X<pad_sv>, pad_tidy X<pad_tidy>, perl_alloc X<perl_alloc>,
+perl_construct X<perl_construct>, perl_destruct X<perl_destruct>, perl_free
+X<perl_free>, perl_parse X<perl_parse>, perl_run X<perl_run>, require_pv
+X<require_pv>
=item Functions in file dump.c
@@ -6024,14 +5985,20 @@ ibcmp X<ibcmp>, ibcmp_locale X<ibcmp_locale>
=item Global Variables
-PL_keyword_plugin X<PL_keyword_plugin>
+PL_check X<PL_check>, PL_keyword_plugin X<PL_keyword_plugin>
=item GV Functions
GvSV X<GvSV>, gv_const_sv X<gv_const_sv>, gv_fetchmeth X<gv_fetchmeth>,
gv_fetchmethod_autoload X<gv_fetchmethod_autoload>, gv_fetchmeth_autoload
-X<gv_fetchmeth_autoload>, gv_stashpv X<gv_stashpv>, gv_stashpvn
-X<gv_stashpvn>, gv_stashpvs X<gv_stashpvs>, gv_stashsv X<gv_stashsv>
+X<gv_fetchmeth_autoload>, gv_fetchmeth_pv X<gv_fetchmeth_pv>,
+gv_fetchmeth_pvn X<gv_fetchmeth_pvn>, gv_fetchmeth_pvn_autoload
+X<gv_fetchmeth_pvn_autoload>, gv_fetchmeth_pv_autoload
+X<gv_fetchmeth_pv_autoload>, gv_fetchmeth_sv X<gv_fetchmeth_sv>,
+gv_fetchmeth_sv_autoload X<gv_fetchmeth_sv_autoload>, gv_init X<gv_init>,
+gv_init_pv X<gv_init_pv>, gv_init_pvn X<gv_init_pvn>, gv_init_sv
+X<gv_init_sv>, gv_stashpv X<gv_stashpv>, gv_stashpvn X<gv_stashpvn>,
+gv_stashpvs X<gv_stashpvs>, gv_stashsv X<gv_stashsv>
=item Handy Values
@@ -6040,12 +6007,15 @@ Nullsv X<Nullsv>
=item Hash Manipulation Functions
+cop_fetch_label X<cop_fetch_label>, cop_store_label X<cop_store_label>,
get_hv X<get_hv>, HEf_SVKEY X<HEf_SVKEY>, HeHASH X<HeHASH>, HeKEY X<HeKEY>,
HeKLEN X<HeKLEN>, HePV X<HePV>, HeSVKEY X<HeSVKEY>, HeSVKEY_force
X<HeSVKEY_force>, HeSVKEY_set X<HeSVKEY_set>, HeUTF8 X<HeUTF8>, HeVAL
-X<HeVAL>, HvENAME X<HvENAME>, HvNAME X<HvNAME>, hv_assert X<hv_assert>,
-hv_clear X<hv_clear>, hv_clear_placeholders X<hv_clear_placeholders>,
-hv_copy_hints_hv X<hv_copy_hints_hv>, hv_delete X<hv_delete>, hv_delete_ent
+X<HeVAL>, HvENAME X<HvENAME>, HvENAMELEN X<HvENAMELEN>, HvENAMEUTF8
+X<HvENAMEUTF8>, HvNAME X<HvNAME>, HvNAMELEN X<HvNAMELEN>, HvNAMEUTF8
+X<HvNAMEUTF8>, hv_assert X<hv_assert>, hv_clear X<hv_clear>,
+hv_clear_placeholders X<hv_clear_placeholders>, hv_copy_hints_hv
+X<hv_copy_hints_hv>, hv_delete X<hv_delete>, hv_delete_ent
X<hv_delete_ent>, hv_exists X<hv_exists>, hv_exists_ent X<hv_exists_ent>,
hv_fetch X<hv_fetch>, hv_fetchs X<hv_fetchs>, hv_fetch_ent X<hv_fetch_ent>,
hv_fill X<hv_fill>, hv_iterinit X<hv_iterinit>, hv_iterkey X<hv_iterkey>,
@@ -6055,6 +6025,10 @@ X<hv_iterval>, hv_magic X<hv_magic>, hv_scalar X<hv_scalar>, hv_store
X<hv_store>, hv_stores X<hv_stores>, hv_store_ent X<hv_store_ent>, hv_undef
X<hv_undef>, newHV X<newHV>
+=item Hook manipulation
+
+wrap_op_checker X<wrap_op_checker>
+
=item Lexer interface
lex_bufutf8 X<lex_bufutf8>, lex_discard_to X<lex_discard_to>,
@@ -6110,7 +6084,7 @@ X<vnumify>, vstringify X<vstringify>, vverify X<vverify>
=item MRO Functions
mro_get_linear_isa X<mro_get_linear_isa>, mro_method_changed_in
-X<mro_method_changed_in>
+X<mro_method_changed_in>, mro_register X<mro_register>
=item Multicall Functions
@@ -6142,10 +6116,17 @@ X<ck_entersub_args_proto>, ck_entersub_args_proto_or_list
X<ck_entersub_args_proto_or_list>, cv_const_sv X<cv_const_sv>,
cv_get_call_checker X<cv_get_call_checker>, cv_set_call_checker
X<cv_set_call_checker>, LINKLIST X<LINKLIST>, newCONSTSUB X<newCONSTSUB>,
-newXS X<newXS>, op_append_elem X<op_append_elem>, op_append_list
-X<op_append_list>, OP_CLASS X<OP_CLASS>, OP_DESC X<OP_DESC>, op_linklist
-X<op_linklist>, op_lvalue X<op_lvalue>, OP_NAME X<OP_NAME>, op_prepend_elem
-X<op_prepend_elem>, op_scope X<op_scope>, rv2cv_op_cv X<rv2cv_op_cv>
+newCONSTSUB_flags X<newCONSTSUB_flags>, newXS X<newXS>, op_append_elem
+X<op_append_elem>, op_append_list X<op_append_list>, OP_CLASS X<OP_CLASS>,
+OP_DESC X<OP_DESC>, op_linklist X<op_linklist>, op_lvalue X<op_lvalue>,
+OP_NAME X<OP_NAME>, op_prepend_elem X<op_prepend_elem>, op_scope
+X<op_scope>, rv2cv_op_cv X<rv2cv_op_cv>
+
+=item Pad Data Structures
+
+CvPADLIST X<CvPADLIST>, pad_add_name_pvs X<pad_add_name_pvs>,
+pad_findmy_pvs X<pad_findmy_pvs>, pad_new X<pad_new>, PL_comppad
+X<PL_comppad>, PL_comppad_name X<PL_comppad_name>, PL_curpad X<PL_curpad>
=item Per-Interpreter Variables
@@ -6189,12 +6170,12 @@ X<SVt_PVMG>
=item SV Manipulation Functions
-croak_xs_usage X<croak_xs_usage>, get_sv X<get_sv>, newRV_inc X<newRV_inc>,
-newSVpvn_utf8 X<newSVpvn_utf8>, SvCUR X<SvCUR>, SvCUR_set X<SvCUR_set>,
-SvEND X<SvEND>, SvGAMAGIC X<SvGAMAGIC>, SvGROW X<SvGROW>, SvIOK X<SvIOK>,
-SvIOKp X<SvIOKp>, SvIOK_notUV X<SvIOK_notUV>, SvIOK_off X<SvIOK_off>,
-SvIOK_on X<SvIOK_on>, SvIOK_only X<SvIOK_only>, SvIOK_only_UV
-X<SvIOK_only_UV>, SvIOK_UV X<SvIOK_UV>, SvIsCOW X<SvIsCOW>,
+boolSV X<boolSV>, croak_xs_usage X<croak_xs_usage>, get_sv X<get_sv>,
+newRV_inc X<newRV_inc>, newSVpvn_utf8 X<newSVpvn_utf8>, SvCUR X<SvCUR>,
+SvCUR_set X<SvCUR_set>, SvEND X<SvEND>, SvGAMAGIC X<SvGAMAGIC>, SvGROW
+X<SvGROW>, SvIOK X<SvIOK>, SvIOKp X<SvIOKp>, SvIOK_notUV X<SvIOK_notUV>,
+SvIOK_off X<SvIOK_off>, SvIOK_on X<SvIOK_on>, SvIOK_only X<SvIOK_only>,
+SvIOK_only_UV X<SvIOK_only_UV>, SvIOK_UV X<SvIOK_UV>, SvIsCOW X<SvIsCOW>,
SvIsCOW_shared_hash X<SvIsCOW_shared_hash>, SvIV X<SvIV>, SvIVX X<SvIVX>,
SvIVx X<SvIVx>, SvIV_nomg X<SvIV_nomg>, SvIV_set X<SvIV_set>, SvLEN
X<SvLEN>, SvLEN_set X<SvLEN_set>, SvMAGIC_set X<SvMAGIC_set>, SvNIOK
@@ -6227,8 +6208,11 @@ SvUTF8_off X<SvUTF8_off>, SvUTF8_on X<SvUTF8_on>, SvUV X<SvUV>, SvUVX
X<SvUVX>, SvUVx X<SvUVx>, SvUV_nomg X<SvUV_nomg>, SvUV_set X<SvUV_set>,
SvVOK X<SvVOK>, sv_catpvn_nomg X<sv_catpvn_nomg>, sv_catpv_nomg
X<sv_catpv_nomg>, sv_catsv_nomg X<sv_catsv_nomg>, sv_derived_from
-X<sv_derived_from>, sv_does X<sv_does>, sv_report_used X<sv_report_used>,
-sv_setsv_nomg X<sv_setsv_nomg>, sv_utf8_upgrade_nomg
+X<sv_derived_from>, sv_derived_from_pv X<sv_derived_from_pv>,
+sv_derived_from_pvn X<sv_derived_from_pvn>, sv_derived_from_sv
+X<sv_derived_from_sv>, sv_does X<sv_does>, sv_does_pv X<sv_does_pv>,
+sv_does_pvn X<sv_does_pvn>, sv_does_sv X<sv_does_sv>, sv_report_used
+X<sv_report_used>, sv_setsv_nomg X<sv_setsv_nomg>, sv_utf8_upgrade_nomg
X<sv_utf8_upgrade_nomg>
=item SV-Body Allocation
@@ -6291,17 +6275,18 @@ sv_vsetpvfn X<sv_vsetpvfn>, sv_vsetpvf_mg X<sv_vsetpvf_mg>
bytes_cmp_utf8 X<bytes_cmp_utf8>, bytes_from_utf8 X<bytes_from_utf8>,
bytes_to_utf8 X<bytes_to_utf8>, foldEQ_utf8 X<foldEQ_utf8>, is_ascii_string
-X<is_ascii_string>, is_utf8_char X<is_utf8_char>, is_utf8_string
-X<is_utf8_string>, is_utf8_string_loc X<is_utf8_string_loc>,
-is_utf8_string_loclen X<is_utf8_string_loclen>, pv_uni_display
-X<pv_uni_display>, sv_cat_decode X<sv_cat_decode>, sv_recode_to_utf8
-X<sv_recode_to_utf8>, sv_uni_display X<sv_uni_display>, to_utf8_case
-X<to_utf8_case>, to_utf8_fold X<to_utf8_fold>, to_utf8_lower
+X<is_ascii_string>, is_utf8_char X<is_utf8_char>, is_utf8_char_buf
+X<is_utf8_char_buf>, is_utf8_string X<is_utf8_string>, is_utf8_string_loc
+X<is_utf8_string_loc>, is_utf8_string_loclen X<is_utf8_string_loclen>,
+pv_uni_display X<pv_uni_display>, sv_cat_decode X<sv_cat_decode>,
+sv_recode_to_utf8 X<sv_recode_to_utf8>, sv_uni_display X<sv_uni_display>,
+to_utf8_case X<to_utf8_case>, to_utf8_fold X<to_utf8_fold>, to_utf8_lower
X<to_utf8_lower>, to_utf8_title X<to_utf8_title>, to_utf8_upper
X<to_utf8_upper>, utf8n_to_uvchr X<utf8n_to_uvchr>, utf8n_to_uvuni
X<utf8n_to_uvuni>, utf8_distance X<utf8_distance>, utf8_hop X<utf8_hop>,
utf8_length X<utf8_length>, utf8_to_bytes X<utf8_to_bytes>, utf8_to_uvchr
-X<utf8_to_uvchr>, utf8_to_uvuni X<utf8_to_uvuni>, uvchr_to_utf8
+X<utf8_to_uvchr>, utf8_to_uvchr_buf X<utf8_to_uvchr_buf>, utf8_to_uvuni
+X<utf8_to_uvuni>, utf8_to_uvuni_buf X<utf8_to_uvuni_buf>, uvchr_to_utf8
X<uvchr_to_utf8>, uvuni_to_utf8_flags X<uvuni_to_utf8_flags>
=item Variables created by C<xsubpp> and C<xsubpp> internal functions
@@ -6310,7 +6295,8 @@ ax X<ax>, CLASS X<CLASS>, dAX X<dAX>, dAXMARK X<dAXMARK>, dITEMS X<dITEMS>,
dUNDERBAR X<dUNDERBAR>, dXSARGS X<dXSARGS>, dXSI32 X<dXSI32>, items
X<items>, ix X<ix>, newXSproto X<newXSproto>, RETVAL X<RETVAL>, ST X<ST>,
THIS X<THIS>, UNDERBAR X<UNDERBAR>, XS X<XS>, XS_APIVERSION_BOOTCHECK
-X<XS_APIVERSION_BOOTCHECK>, XS_VERSION X<XS_VERSION>, XS_VERSION_BOOTCHECK
+X<XS_APIVERSION_BOOTCHECK>, XS_EXTERNAL X<XS_EXTERNAL>, XS_INTERNAL
+X<XS_INTERNAL>, XS_VERSION X<XS_VERSION>, XS_VERSION_BOOTCHECK
X<XS_VERSION_BOOTCHECK>
=item Warning and Dieing
@@ -6334,127 +6320,122 @@ PerlIO_setlinebuf X<PerlIO_setlinebuf>, PerlIO_stderr X<PerlIO_stderr>,
PerlIO_stdin X<PerlIO_stdin>, PerlIO_stdout X<PerlIO_stdout>, PerlIO_tell
X<PerlIO_tell>, PerlIO_unread X<PerlIO_unread>, PerlIO_write
X<PerlIO_write>, Slab_Alloc X<Slab_Alloc>, Slab_Free X<Slab_Free>,
-_to_uni_fold_flags X<_to_uni_fold_flags>, _to_utf8_fold_flags
-X<_to_utf8_fold_flags>, amagic_call X<amagic_call>, amagic_deref_call
-X<amagic_deref_call>, any_dup X<any_dup>, apply_attrs_string
-X<apply_attrs_string>, atfork_lock X<atfork_lock>, atfork_unlock
-X<atfork_unlock>, av_arylen_p X<av_arylen_p>, av_iter_p X<av_iter_p>,
-block_gimme X<block_gimme>, call_atexit X<call_atexit>, call_list
-X<call_list>, calloc X<calloc>, cast_i32 X<cast_i32>, cast_iv X<cast_iv>,
-cast_ulong X<cast_ulong>, cast_uv X<cast_uv>, ck_warner X<ck_warner>,
-ck_warner_d X<ck_warner_d>, ckwarn X<ckwarn>, ckwarn_d X<ckwarn_d>,
-clone_params_del X<clone_params_del>, clone_params_new X<clone_params_new>,
-croak_nocontext X<croak_nocontext>, csighandler X<csighandler>, cx_dump
-X<cx_dump>, cx_dup X<cx_dup>, cxinc X<cxinc>, deb X<deb>, deb_nocontext
-X<deb_nocontext>, debop X<debop>, debprofdump X<debprofdump>, debstack
-X<debstack>, debstackptrs X<debstackptrs>, delimcpy X<delimcpy>,
-despatch_signals X<despatch_signals>, die_nocontext X<die_nocontext>,
-dirp_dup X<dirp_dup>, do_aspawn X<do_aspawn>, do_binmode X<do_binmode>,
-do_close X<do_close>, do_gv_dump X<do_gv_dump>, do_gvgv_dump
-X<do_gvgv_dump>, do_hv_dump X<do_hv_dump>, do_join X<do_join>,
-do_magic_dump X<do_magic_dump>, do_op_dump X<do_op_dump>, do_open
-X<do_open>, do_open9 X<do_open9>, do_openn X<do_openn>, do_pmop_dump
-X<do_pmop_dump>, do_spawn X<do_spawn>, do_spawn_nowait X<do_spawn_nowait>,
-do_sprintf X<do_sprintf>, do_sv_dump X<do_sv_dump>, doing_taint
-X<doing_taint>, doref X<doref>, dounwind X<dounwind>, dowantarray
-X<dowantarray>, dump_all X<dump_all>, dump_eval X<dump_eval>, dump_fds
-X<dump_fds>, dump_form X<dump_form>, dump_indent X<dump_indent>,
-dump_mstats X<dump_mstats>, dump_packsubs X<dump_packsubs>, dump_sub
-X<dump_sub>, dump_vindent X<dump_vindent>, fetch_cop_label
-X<fetch_cop_label>, filter_add X<filter_add>, filter_del X<filter_del>,
-filter_read X<filter_read>, find_rundefsv X<find_rundefsv>,
-find_rundefsvoffset X<find_rundefsvoffset>, foldEQ_latin1 X<foldEQ_latin1>,
-foldEQ_utf8_flags X<foldEQ_utf8_flags>, form_nocontext X<form_nocontext>,
-fp_dup X<fp_dup>, fprintf_nocontext X<fprintf_nocontext>,
-free_global_struct X<free_global_struct>, free_tmps X<free_tmps>,
-get_context X<get_context>, get_mstats X<get_mstats>, get_op_descs
-X<get_op_descs>, get_op_names X<get_op_names>, get_ppaddr X<get_ppaddr>,
-get_vtbl X<get_vtbl>, gp_dup X<gp_dup>, gp_free X<gp_free>, gp_ref
-X<gp_ref>, gv_AVadd X<gv_AVadd>, gv_HVadd X<gv_HVadd>, gv_IOadd
-X<gv_IOadd>, gv_SVadd X<gv_SVadd>, gv_add_by_type X<gv_add_by_type>,
-gv_autoload4 X<gv_autoload4>, gv_check X<gv_check>, gv_dump X<gv_dump>,
+_is_utf8_quotemeta X<_is_utf8_quotemeta>, amagic_call X<amagic_call>,
+amagic_deref_call X<amagic_deref_call>, any_dup X<any_dup>, atfork_lock
+X<atfork_lock>, atfork_unlock X<atfork_unlock>, av_arylen_p X<av_arylen_p>,
+av_iter_p X<av_iter_p>, block_gimme X<block_gimme>, call_atexit
+X<call_atexit>, call_list X<call_list>, calloc X<calloc>, cast_i32
+X<cast_i32>, cast_iv X<cast_iv>, cast_ulong X<cast_ulong>, cast_uv
+X<cast_uv>, ck_warner X<ck_warner>, ck_warner_d X<ck_warner_d>, ckwarn
+X<ckwarn>, ckwarn_d X<ckwarn_d>, clone_params_del X<clone_params_del>,
+clone_params_new X<clone_params_new>, croak_nocontext X<croak_nocontext>,
+csighandler X<csighandler>, cx_dump X<cx_dump>, cx_dup X<cx_dup>, cxinc
+X<cxinc>, deb X<deb>, deb_nocontext X<deb_nocontext>, debop X<debop>,
+debprofdump X<debprofdump>, debstack X<debstack>, debstackptrs
+X<debstackptrs>, delimcpy X<delimcpy>, despatch_signals
+X<despatch_signals>, die_nocontext X<die_nocontext>, dirp_dup X<dirp_dup>,
+do_aspawn X<do_aspawn>, do_binmode X<do_binmode>, do_close X<do_close>,
+do_gv_dump X<do_gv_dump>, do_gvgv_dump X<do_gvgv_dump>, do_hv_dump
+X<do_hv_dump>, do_join X<do_join>, do_magic_dump X<do_magic_dump>,
+do_op_dump X<do_op_dump>, do_open X<do_open>, do_open9 X<do_open9>,
+do_openn X<do_openn>, do_pmop_dump X<do_pmop_dump>, do_spawn X<do_spawn>,
+do_spawn_nowait X<do_spawn_nowait>, do_sprintf X<do_sprintf>, do_sv_dump
+X<do_sv_dump>, doing_taint X<doing_taint>, doref X<doref>, dounwind
+X<dounwind>, dowantarray X<dowantarray>, dump_all X<dump_all>, dump_eval
+X<dump_eval>, dump_fds X<dump_fds>, dump_form X<dump_form>, dump_indent
+X<dump_indent>, dump_mstats X<dump_mstats>, dump_packsubs X<dump_packsubs>,
+dump_sub X<dump_sub>, dump_vindent X<dump_vindent>, filter_add
+X<filter_add>, filter_del X<filter_del>, filter_read X<filter_read>,
+foldEQ_latin1 X<foldEQ_latin1>, form_nocontext X<form_nocontext>, fp_dup
+X<fp_dup>, fprintf_nocontext X<fprintf_nocontext>, free_global_struct
+X<free_global_struct>, free_tmps X<free_tmps>, get_context X<get_context>,
+get_mstats X<get_mstats>, get_op_descs X<get_op_descs>, get_op_names
+X<get_op_names>, get_ppaddr X<get_ppaddr>, get_vtbl X<get_vtbl>, gp_dup
+X<gp_dup>, gp_free X<gp_free>, gp_ref X<gp_ref>, gv_AVadd X<gv_AVadd>,
+gv_HVadd X<gv_HVadd>, gv_IOadd X<gv_IOadd>, gv_SVadd X<gv_SVadd>,
+gv_add_by_type X<gv_add_by_type>, gv_autoload4 X<gv_autoload4>,
+gv_autoload_pv X<gv_autoload_pv>, gv_autoload_pvn X<gv_autoload_pvn>,
+gv_autoload_sv X<gv_autoload_sv>, gv_check X<gv_check>, gv_dump X<gv_dump>,
gv_efullname X<gv_efullname>, gv_efullname3 X<gv_efullname3>, gv_efullname4
X<gv_efullname4>, gv_fetchfile X<gv_fetchfile>, gv_fetchfile_flags
-X<gv_fetchfile_flags>, gv_fetchmethod_flags X<gv_fetchmethod_flags>,
-gv_fetchpv X<gv_fetchpv>, gv_fetchpvn_flags X<gv_fetchpvn_flags>,
-gv_fetchsv X<gv_fetchsv>, gv_fullname X<gv_fullname>, gv_fullname3
-X<gv_fullname3>, gv_fullname4 X<gv_fullname4>, gv_handler X<gv_handler>,
-gv_init X<gv_init>, gv_name_set X<gv_name_set>, he_dup X<he_dup>, hek_dup
+X<gv_fetchfile_flags>, gv_fetchpv X<gv_fetchpv>, gv_fetchpvn_flags
+X<gv_fetchpvn_flags>, gv_fetchsv X<gv_fetchsv>, gv_fullname X<gv_fullname>,
+gv_fullname3 X<gv_fullname3>, gv_fullname4 X<gv_fullname4>, gv_handler
+X<gv_handler>, gv_name_set X<gv_name_set>, he_dup X<he_dup>, hek_dup
X<hek_dup>, hv_common X<hv_common>, hv_common_key_len X<hv_common_key_len>,
hv_delayfree_ent X<hv_delayfree_ent>, hv_eiter_p X<hv_eiter_p>,
hv_eiter_set X<hv_eiter_set>, hv_free_ent X<hv_free_ent>, hv_ksplit
X<hv_ksplit>, hv_name_set X<hv_name_set>, hv_placeholders_get
X<hv_placeholders_get>, hv_placeholders_p X<hv_placeholders_p>,
hv_placeholders_set X<hv_placeholders_set>, hv_riter_p X<hv_riter_p>,
-hv_riter_set X<hv_riter_set>, hv_store_flags X<hv_store_flags>,
-init_global_struct X<init_global_struct>, init_i18nl10n X<init_i18nl10n>,
-init_i18nl14n X<init_i18nl14n>, init_stacks X<init_stacks>, init_tm
-X<init_tm>, instr X<instr>, is_lvalue_sub X<is_lvalue_sub>, is_uni_alnum
-X<is_uni_alnum>, is_uni_alnum_lc X<is_uni_alnum_lc>, is_uni_alpha
-X<is_uni_alpha>, is_uni_alpha_lc X<is_uni_alpha_lc>, is_uni_ascii
-X<is_uni_ascii>, is_uni_ascii_lc X<is_uni_ascii_lc>, is_uni_cntrl
-X<is_uni_cntrl>, is_uni_cntrl_lc X<is_uni_cntrl_lc>, is_uni_digit
-X<is_uni_digit>, is_uni_digit_lc X<is_uni_digit_lc>, is_uni_graph
-X<is_uni_graph>, is_uni_graph_lc X<is_uni_graph_lc>, is_uni_idfirst
-X<is_uni_idfirst>, is_uni_idfirst_lc X<is_uni_idfirst_lc>, is_uni_lower
-X<is_uni_lower>, is_uni_lower_lc X<is_uni_lower_lc>, is_uni_print
-X<is_uni_print>, is_uni_print_lc X<is_uni_print_lc>, is_uni_punct
-X<is_uni_punct>, is_uni_punct_lc X<is_uni_punct_lc>, is_uni_space
-X<is_uni_space>, is_uni_space_lc X<is_uni_space_lc>, is_uni_upper
-X<is_uni_upper>, is_uni_upper_lc X<is_uni_upper_lc>, is_uni_xdigit
-X<is_uni_xdigit>, is_uni_xdigit_lc X<is_uni_xdigit_lc>, is_utf8_alnum
-X<is_utf8_alnum>, is_utf8_alpha X<is_utf8_alpha>, is_utf8_ascii
-X<is_utf8_ascii>, is_utf8_cntrl X<is_utf8_cntrl>, is_utf8_digit
-X<is_utf8_digit>, is_utf8_graph X<is_utf8_graph>, is_utf8_idcont
-X<is_utf8_idcont>, is_utf8_idfirst X<is_utf8_idfirst>, is_utf8_lower
-X<is_utf8_lower>, is_utf8_mark X<is_utf8_mark>, is_utf8_perl_space
-X<is_utf8_perl_space>, is_utf8_perl_word X<is_utf8_perl_word>,
-is_utf8_posix_digit X<is_utf8_posix_digit>, is_utf8_print X<is_utf8_print>,
-is_utf8_punct X<is_utf8_punct>, is_utf8_space X<is_utf8_space>,
-is_utf8_upper X<is_utf8_upper>, is_utf8_xdigit X<is_utf8_xdigit>,
-is_utf8_xidcont X<is_utf8_xidcont>, is_utf8_xidfirst X<is_utf8_xidfirst>,
-leave_scope X<leave_scope>, load_module_nocontext X<load_module_nocontext>,
-magic_dump X<magic_dump>, malloc X<malloc>, markstack_grow
-X<markstack_grow>, mess_nocontext X<mess_nocontext>, mfree X<mfree>, mg_dup
-X<mg_dup>, mg_size X<mg_size>, mini_mktime X<mini_mktime>, moreswitches
-X<moreswitches>, mro_get_from_name X<mro_get_from_name>,
-mro_get_private_data X<mro_get_private_data>, mro_register X<mro_register>,
-mro_set_mro X<mro_set_mro>, mro_set_private_data X<mro_set_private_data>,
-my_atof X<my_atof>, my_atof2 X<my_atof2>, my_bcopy X<my_bcopy>, my_bzero
-X<my_bzero>, my_chsize X<my_chsize>, my_cxt_index X<my_cxt_index>,
-my_cxt_init X<my_cxt_init>, my_dirfd X<my_dirfd>, my_exit X<my_exit>,
-my_failure_exit X<my_failure_exit>, my_fflush_all X<my_fflush_all>, my_fork
-X<my_fork>, my_htonl X<my_htonl>, my_lstat X<my_lstat>, my_memcmp
-X<my_memcmp>, my_memset X<my_memset>, my_ntohl X<my_ntohl>, my_pclose
-X<my_pclose>, my_popen X<my_popen>, my_popen_list X<my_popen_list>,
-my_setenv X<my_setenv>, my_socketpair X<my_socketpair>, my_stat X<my_stat>,
-my_strftime X<my_strftime>, my_strlcat X<my_strlcat>, my_strlcpy
-X<my_strlcpy>, my_swap X<my_swap>, newANONATTRSUB X<newANONATTRSUB>,
-newANONHASH X<newANONHASH>, newANONLIST X<newANONLIST>, newANONSUB
-X<newANONSUB>, newATTRSUB X<newATTRSUB>, newAVREF X<newAVREF>, newCVREF
-X<newCVREF>, newFORM X<newFORM>, newGVREF X<newGVREF>, newGVgen
-X<newGVgen>, newHVREF X<newHVREF>, newHVhv X<newHVhv>, newIO X<newIO>,
-newMYSUB X<newMYSUB>, newPROG X<newPROG>, newRV X<newRV>, newSUB X<newSUB>,
-newSVREF X<newSVREF>, newSVpvf_nocontext X<newSVpvf_nocontext>, newXS_flags
-X<newXS_flags>, new_collate X<new_collate>, new_ctype X<new_ctype>,
-new_numeric X<new_numeric>, new_stackinfo X<new_stackinfo>, ninstr
-X<ninstr>, op_dump X<op_dump>, op_free X<op_free>, op_null X<op_null>,
-op_refcnt_lock X<op_refcnt_lock>, op_refcnt_unlock X<op_refcnt_unlock>,
-parser_dup X<parser_dup>, perl_alloc_using X<perl_alloc_using>,
-perl_clone_using X<perl_clone_using>, pmop_dump X<pmop_dump>, pop_scope
-X<pop_scope>, pregcomp X<pregcomp>, pregexec X<pregexec>, pregfree
-X<pregfree>, pregfree2 X<pregfree2>, printf_nocontext X<printf_nocontext>,
-ptr_table_clear X<ptr_table_clear>, ptr_table_fetch X<ptr_table_fetch>,
-ptr_table_free X<ptr_table_free>, ptr_table_new X<ptr_table_new>,
-ptr_table_split X<ptr_table_split>, ptr_table_store X<ptr_table_store>,
-push_scope X<push_scope>, re_compile X<re_compile>, re_dup_guts
-X<re_dup_guts>, re_intuit_start X<re_intuit_start>, re_intuit_string
-X<re_intuit_string>, realloc X<realloc>, reentrant_free X<reentrant_free>,
-reentrant_init X<reentrant_init>, reentrant_retry X<reentrant_retry>,
-reentrant_size X<reentrant_size>, ref X<ref>, reg_named_buff_all
-X<reg_named_buff_all>, reg_named_buff_exists X<reg_named_buff_exists>,
-reg_named_buff_fetch X<reg_named_buff_fetch>, reg_named_buff_firstkey
-X<reg_named_buff_firstkey>, reg_named_buff_nextkey
+hv_riter_set X<hv_riter_set>, init_global_struct X<init_global_struct>,
+init_i18nl10n X<init_i18nl10n>, init_i18nl14n X<init_i18nl14n>, init_stacks
+X<init_stacks>, init_tm X<init_tm>, instr X<instr>, is_lvalue_sub
+X<is_lvalue_sub>, is_uni_alnum X<is_uni_alnum>, is_uni_alnum_lc
+X<is_uni_alnum_lc>, is_uni_alpha X<is_uni_alpha>, is_uni_alpha_lc
+X<is_uni_alpha_lc>, is_uni_ascii X<is_uni_ascii>, is_uni_ascii_lc
+X<is_uni_ascii_lc>, is_uni_cntrl X<is_uni_cntrl>, is_uni_cntrl_lc
+X<is_uni_cntrl_lc>, is_uni_digit X<is_uni_digit>, is_uni_digit_lc
+X<is_uni_digit_lc>, is_uni_graph X<is_uni_graph>, is_uni_graph_lc
+X<is_uni_graph_lc>, is_uni_idfirst X<is_uni_idfirst>, is_uni_idfirst_lc
+X<is_uni_idfirst_lc>, is_uni_lower X<is_uni_lower>, is_uni_lower_lc
+X<is_uni_lower_lc>, is_uni_print X<is_uni_print>, is_uni_print_lc
+X<is_uni_print_lc>, is_uni_punct X<is_uni_punct>, is_uni_punct_lc
+X<is_uni_punct_lc>, is_uni_space X<is_uni_space>, is_uni_space_lc
+X<is_uni_space_lc>, is_uni_upper X<is_uni_upper>, is_uni_upper_lc
+X<is_uni_upper_lc>, is_uni_xdigit X<is_uni_xdigit>, is_uni_xdigit_lc
+X<is_uni_xdigit_lc>, is_utf8_alnum X<is_utf8_alnum>, is_utf8_alpha
+X<is_utf8_alpha>, is_utf8_ascii X<is_utf8_ascii>, is_utf8_cntrl
+X<is_utf8_cntrl>, is_utf8_digit X<is_utf8_digit>, is_utf8_graph
+X<is_utf8_graph>, is_utf8_idcont X<is_utf8_idcont>, is_utf8_idfirst
+X<is_utf8_idfirst>, is_utf8_lower X<is_utf8_lower>, is_utf8_mark
+X<is_utf8_mark>, is_utf8_perl_space X<is_utf8_perl_space>,
+is_utf8_perl_word X<is_utf8_perl_word>, is_utf8_posix_digit
+X<is_utf8_posix_digit>, is_utf8_print X<is_utf8_print>, is_utf8_punct
+X<is_utf8_punct>, is_utf8_space X<is_utf8_space>, is_utf8_upper
+X<is_utf8_upper>, is_utf8_xdigit X<is_utf8_xdigit>, is_utf8_xidcont
+X<is_utf8_xidcont>, is_utf8_xidfirst X<is_utf8_xidfirst>, leave_scope
+X<leave_scope>, load_module_nocontext X<load_module_nocontext>, magic_dump
+X<magic_dump>, malloc X<malloc>, markstack_grow X<markstack_grow>,
+mess_nocontext X<mess_nocontext>, mfree X<mfree>, mg_dup X<mg_dup>, mg_size
+X<mg_size>, mini_mktime X<mini_mktime>, moreswitches X<moreswitches>,
+mro_get_from_name X<mro_get_from_name>, mro_get_private_data
+X<mro_get_private_data>, mro_set_mro X<mro_set_mro>, mro_set_private_data
+X<mro_set_private_data>, my_atof X<my_atof>, my_atof2 X<my_atof2>, my_bcopy
+X<my_bcopy>, my_bzero X<my_bzero>, my_chsize X<my_chsize>, my_cxt_index
+X<my_cxt_index>, my_cxt_init X<my_cxt_init>, my_dirfd X<my_dirfd>, my_exit
+X<my_exit>, my_failure_exit X<my_failure_exit>, my_fflush_all
+X<my_fflush_all>, my_fork X<my_fork>, my_htonl X<my_htonl>, my_lstat
+X<my_lstat>, my_memcmp X<my_memcmp>, my_memset X<my_memset>, my_ntohl
+X<my_ntohl>, my_pclose X<my_pclose>, my_popen X<my_popen>, my_popen_list
+X<my_popen_list>, my_setenv X<my_setenv>, my_socketpair X<my_socketpair>,
+my_stat X<my_stat>, my_strftime X<my_strftime>, my_strlcat X<my_strlcat>,
+my_strlcpy X<my_strlcpy>, my_swap X<my_swap>, newANONATTRSUB
+X<newANONATTRSUB>, newANONHASH X<newANONHASH>, newANONLIST X<newANONLIST>,
+newANONSUB X<newANONSUB>, newATTRSUB X<newATTRSUB>, newAVREF X<newAVREF>,
+newCVREF X<newCVREF>, newFORM X<newFORM>, newGVREF X<newGVREF>, newGVgen
+X<newGVgen>, newGVgen_flags X<newGVgen_flags>, newHVREF X<newHVREF>,
+newHVhv X<newHVhv>, newIO X<newIO>, newMYSUB X<newMYSUB>, newPROG
+X<newPROG>, newRV X<newRV>, newSUB X<newSUB>, newSVREF X<newSVREF>,
+newSVpvf_nocontext X<newSVpvf_nocontext>, new_collate X<new_collate>,
+new_ctype X<new_ctype>, new_numeric X<new_numeric>, new_stackinfo
+X<new_stackinfo>, ninstr X<ninstr>, op_dump X<op_dump>, op_free X<op_free>,
+op_null X<op_null>, op_refcnt_lock X<op_refcnt_lock>, op_refcnt_unlock
+X<op_refcnt_unlock>, parser_dup X<parser_dup>, perl_alloc_using
+X<perl_alloc_using>, perl_clone_using X<perl_clone_using>, pmop_dump
+X<pmop_dump>, pop_scope X<pop_scope>, pregcomp X<pregcomp>, pregexec
+X<pregexec>, pregfree X<pregfree>, pregfree2 X<pregfree2>, printf_nocontext
+X<printf_nocontext>, ptr_table_clear X<ptr_table_clear>, ptr_table_fetch
+X<ptr_table_fetch>, ptr_table_free X<ptr_table_free>, ptr_table_new
+X<ptr_table_new>, ptr_table_split X<ptr_table_split>, ptr_table_store
+X<ptr_table_store>, push_scope X<push_scope>, re_compile X<re_compile>,
+re_dup_guts X<re_dup_guts>, re_intuit_start X<re_intuit_start>,
+re_intuit_string X<re_intuit_string>, realloc X<realloc>, reentrant_free
+X<reentrant_free>, reentrant_init X<reentrant_init>, reentrant_retry
+X<reentrant_retry>, reentrant_size X<reentrant_size>, ref X<ref>,
+reg_named_buff_all X<reg_named_buff_all>, reg_named_buff_exists
+X<reg_named_buff_exists>, reg_named_buff_fetch X<reg_named_buff_fetch>,
+reg_named_buff_firstkey X<reg_named_buff_firstkey>, reg_named_buff_nextkey
X<reg_named_buff_nextkey>, reg_named_buff_scalar X<reg_named_buff_scalar>,
regclass_swash X<regclass_swash>, regdump X<regdump>, regdupe_internal
X<regdupe_internal>, regexec_flags X<regexec_flags>, regfree_internal
@@ -6510,7 +6491,9 @@ X<utf16_to_utf8>, utf16_to_utf8_reversed X<utf16_to_utf8_reversed>,
uvchr_to_utf8_flags X<uvchr_to_utf8_flags>, uvuni_to_utf8 X<uvuni_to_utf8>,
vdeb X<vdeb>, vform X<vform>, vload_module X<vload_module>, vnewSVpvf
X<vnewSVpvf>, vwarner X<vwarner>, warn_nocontext X<warn_nocontext>, warner
-X<warner>, warner_nocontext X<warner_nocontext>, whichsig X<whichsig>
+X<warner>, warner_nocontext X<warner_nocontext>, whichsig X<whichsig>,
+whichsig_pv X<whichsig_pv>, whichsig_pvn X<whichsig_pvn>, whichsig_sv
+X<whichsig_sv>
=item AUTHORS
@@ -6537,28 +6520,16 @@ CvWEAKOUTSIDE X<CvWEAKOUTSIDE>
=item Embedding Functions
-cv_clone X<cv_clone>, cv_dump X<cv_dump>, do_dump_pad X<do_dump_pad>,
-intro_my X<intro_my>, pad_add_anon X<pad_add_anon>, pad_add_name
-X<pad_add_name>, pad_alloc X<pad_alloc>, pad_block_start
-X<pad_block_start>, pad_check_dup X<pad_check_dup>, pad_findlex
-X<pad_findlex>, pad_fixup_inner_anons X<pad_fixup_inner_anons>, pad_free
-X<pad_free>, pad_leavemy X<pad_leavemy>, pad_push X<pad_push>, pad_reset
-X<pad_reset>, pad_setsv X<pad_setsv>, pad_swipe X<pad_swipe>, pad_tidy
-X<pad_tidy>
+cv_dump X<cv_dump>, do_dump_pad X<do_dump_pad>, intro_my X<intro_my>,
+padlist_dup X<padlist_dup>, pad_alloc_name X<pad_alloc_name>,
+pad_block_start X<pad_block_start>, pad_check_dup X<pad_check_dup>,
+pad_findlex X<pad_findlex>, pad_fixup_inner_anons X<pad_fixup_inner_anons>,
+pad_free X<pad_free>, pad_leavemy X<pad_leavemy>, pad_push X<pad_push>,
+pad_reset X<pad_reset>, pad_swipe X<pad_swipe>
-=item Functions in file pad.h
+=item Functions in file op.c
-CX_CURPAD_SAVE X<CX_CURPAD_SAVE>, CX_CURPAD_SV X<CX_CURPAD_SV>, PAD_BASE_SV
-X<PAD_BASE_SV>, PAD_CLONE_VARS X<PAD_CLONE_VARS>, PAD_COMPNAME_FLAGS
-X<PAD_COMPNAME_FLAGS>, PAD_COMPNAME_GEN X<PAD_COMPNAME_GEN>,
-PAD_COMPNAME_GEN_set X<PAD_COMPNAME_GEN_set>, PAD_COMPNAME_OURSTASH
-X<PAD_COMPNAME_OURSTASH>, PAD_COMPNAME_PV X<PAD_COMPNAME_PV>,
-PAD_COMPNAME_TYPE X<PAD_COMPNAME_TYPE>, PAD_DUP X<PAD_DUP>,
-PAD_RESTORE_LOCAL X<PAD_RESTORE_LOCAL>, PAD_SAVE_LOCAL X<PAD_SAVE_LOCAL>,
-PAD_SAVE_SETNULLPAD X<PAD_SAVE_SETNULLPAD>, PAD_SETSV X<PAD_SETSV>,
-PAD_SET_CUR X<PAD_SET_CUR>, PAD_SET_CUR_NOSAVE X<PAD_SET_CUR_NOSAVE>,
-PAD_SV X<PAD_SV>, PAD_SVl X<PAD_SVl>, SAVECLEARSV X<SAVECLEARSV>,
-SAVECOMPPAD X<SAVECOMPPAD>, SAVEPADSV X<SAVEPADSV>
+core_prototype X<core_prototype>
=item Functions in file pp_ctl.c
@@ -6566,7 +6537,7 @@ docatch X<docatch>
=item GV Functions
-gv_try_downgrade X<gv_try_downgrade>, is_gv_magical_sv X<is_gv_magical_sv>
+gv_try_downgrade X<gv_try_downgrade>
=item Hash Manipulation Functions
@@ -6596,9 +6567,23 @@ mg_localize X<mg_localize>
mro_get_linear_isa_dfs X<mro_get_linear_isa_dfs>, mro_isa_changed_in
X<mro_isa_changed_in>, mro_package_moved X<mro_package_moved>
+=item Optree Manipulation Functions
+
+finalize_optree X<finalize_optree>
+
=item Pad Data Structures
-CvPADLIST X<CvPADLIST>, pad_new X<pad_new>
+CX_CURPAD_SAVE X<CX_CURPAD_SAVE>, CX_CURPAD_SV X<CX_CURPAD_SV>, PAD_BASE_SV
+X<PAD_BASE_SV>, PAD_CLONE_VARS X<PAD_CLONE_VARS>, PAD_COMPNAME_FLAGS
+X<PAD_COMPNAME_FLAGS>, PAD_COMPNAME_GEN X<PAD_COMPNAME_GEN>,
+PAD_COMPNAME_GEN_set X<PAD_COMPNAME_GEN_set>, PAD_COMPNAME_OURSTASH
+X<PAD_COMPNAME_OURSTASH>, PAD_COMPNAME_PV X<PAD_COMPNAME_PV>,
+PAD_COMPNAME_TYPE X<PAD_COMPNAME_TYPE>, pad_peg X<pad_peg>,
+PAD_RESTORE_LOCAL X<PAD_RESTORE_LOCAL>, PAD_SAVE_LOCAL X<PAD_SAVE_LOCAL>,
+PAD_SAVE_SETNULLPAD X<PAD_SAVE_SETNULLPAD>, PAD_SETSV X<PAD_SETSV>,
+PAD_SET_CUR X<PAD_SET_CUR>, PAD_SET_CUR_NOSAVE X<PAD_SET_CUR_NOSAVE>,
+PAD_SV X<PAD_SV>, PAD_SVl X<PAD_SVl>, SAVECLEARSV X<SAVECLEARSV>,
+SAVECOMPPAD X<SAVECOMPPAD>, SAVEPADSV X<SAVEPADSV>
=item Per-Interpreter Variables
@@ -6617,7 +6602,7 @@ X<sv_clean_objs>, sv_free_arenas X<sv_free_arenas>
=item SV-Body Allocation
-sv_2num X<sv_2num>
+sv_2num X<sv_2num>, sv_ref X<sv_ref>
=item Unicode Support
@@ -6625,269 +6610,151 @@ find_uninit_var X<find_uninit_var>, report_uninit X<report_uninit>
=item Undocumented functions
-F0convert X<F0convert>, Slab_to_rw X<Slab_to_rw>, _append_range_to_invlist
-X<_append_range_to_invlist>, _new_invlist X<_new_invlist>,
-_swash_inversion_hash X<_swash_inversion_hash>, _swash_to_invlist
-X<_swash_to_invlist>, add_alternate X<add_alternate>, add_cp_to_invlist
-X<add_cp_to_invlist>, add_data X<add_data>, add_range_to_invlist
-X<add_range_to_invlist>, add_utf16_textfilter X<add_utf16_textfilter>,
-addmad X<addmad>, allocmy X<allocmy>, amagic_cmp X<amagic_cmp>,
-amagic_cmp_locale X<amagic_cmp_locale>, amagic_i_ncmp X<amagic_i_ncmp>,
-amagic_ncmp X<amagic_ncmp>, anonymise_cv_maybe X<anonymise_cv_maybe>, ao
-X<ao>, append_madprops X<append_madprops>, apply X<apply>, apply_attrs
-X<apply_attrs>, apply_attrs_my X<apply_attrs_my>,
-assert_uft8_cache_coherent X<assert_uft8_cache_coherent>, av_reify
-X<av_reify>, bad_type X<bad_type>, bind_match X<bind_match>, block_end
-X<block_end>, block_start X<block_start>, boot_core_PerlIO
-X<boot_core_PerlIO>, boot_core_UNIVERSAL X<boot_core_UNIVERSAL>,
-boot_core_mro X<boot_core_mro>, bytes_to_uni X<bytes_to_uni>, cando
-X<cando>, check_type_and_open X<check_type_and_open>, check_uni
-X<check_uni>, check_utf8_print X<check_utf8_print>, checkcomma
-X<checkcomma>, checkposixcc X<checkposixcc>, ckwarn_common
-X<ckwarn_common>, cl_and X<cl_and>, cl_anything X<cl_anything>, cl_init
-X<cl_init>, cl_is_anything X<cl_is_anything>, cl_or X<cl_or>,
-clear_placeholders X<clear_placeholders>, closest_cop X<closest_cop>,
-convert X<convert>, cop_free X<cop_free>, cr_textfilter X<cr_textfilter>,
-create_eval_scope X<create_eval_scope>, curmad X<curmad>, curse X<curse>,
-cv_ckproto_len X<cv_ckproto_len>, cvgv_set X<cvgv_set>, cvstash_set
-X<cvstash_set>, deb_curcv X<deb_curcv>, deb_stack_all X<deb_stack_all>,
-deb_stack_n X<deb_stack_n>, debprof X<debprof>, debug_start_match
-X<debug_start_match>, del_sv X<del_sv>, delete_eval_scope
-X<delete_eval_scope>, deprecate_commaless_var_list
-X<deprecate_commaless_var_list>, destroy_matcher X<destroy_matcher>,
-die_unwind X<die_unwind>, div128 X<div128>, do_aexec X<do_aexec>, do_aexec5
-X<do_aexec5>, do_chomp X<do_chomp>, do_delete_local X<do_delete_local>,
+_add_range_to_invlist X<_add_range_to_invlist>, _core_swash_init
+X<_core_swash_init>, _invlist_array_init X<_invlist_array_init>,
+_invlist_contents X<_invlist_contents>, _invlist_intersection
+X<_invlist_intersection>, _invlist_intersection_maybe_complement_2nd
+X<_invlist_intersection_maybe_complement_2nd>, _invlist_invert
+X<_invlist_invert>, _invlist_invert_prop X<_invlist_invert_prop>,
+_invlist_populate_swatch X<_invlist_populate_swatch>, _invlist_subtract
+X<_invlist_subtract>, _invlist_union X<_invlist_union>,
+_invlist_union_maybe_complement_2nd X<_invlist_union_maybe_complement_2nd>,
+_is_utf8__perl_idstart X<_is_utf8__perl_idstart>, _new_invlist
+X<_new_invlist>, _swash_inversion_hash X<_swash_inversion_hash>,
+_swash_to_invlist X<_swash_to_invlist>, _to_fold_latin1 X<_to_fold_latin1>,
+_to_upper_title_latin1 X<_to_upper_title_latin1>, aassign_common_vars
+X<aassign_common_vars>, add_cp_to_invlist X<add_cp_to_invlist>, addmad
+X<addmad>, allocmy X<allocmy>, amagic_is_enabled X<amagic_is_enabled>,
+append_madprops X<append_madprops>, apply X<apply>, av_reify X<av_reify>,
+bind_match X<bind_match>, block_end X<block_end>, block_start
+X<block_start>, boot_core_PerlIO X<boot_core_PerlIO>, boot_core_UNIVERSAL
+X<boot_core_UNIVERSAL>, boot_core_mro X<boot_core_mro>, cando X<cando>,
+check_utf8_print X<check_utf8_print>, ck_entersub_args_core
+X<ck_entersub_args_core>, convert X<convert>, coresub_op X<coresub_op>,
+create_eval_scope X<create_eval_scope>, cv_ckproto_len_flags
+X<cv_ckproto_len_flags>, cvgv_set X<cvgv_set>, cvstash_set X<cvstash_set>,
+deb_stack_all X<deb_stack_all>, delete_eval_scope X<delete_eval_scope>,
+die_unwind X<die_unwind>, do_aexec X<do_aexec>, do_aexec5 X<do_aexec5>,
do_eof X<do_eof>, do_exec X<do_exec>, do_exec3 X<do_exec3>, do_execfree
X<do_execfree>, do_ipcctl X<do_ipcctl>, do_ipcget X<do_ipcget>, do_msgrcv
-X<do_msgrcv>, do_msgsnd X<do_msgsnd>, do_oddball X<do_oddball>,
-do_op_xmldump X<do_op_xmldump>, do_pmop_xmldump X<do_pmop_xmldump>,
-do_print X<do_print>, do_readline X<do_readline>, do_seek X<do_seek>,
-do_semop X<do_semop>, do_shmio X<do_shmio>, do_smartmatch X<do_smartmatch>,
-do_sysseek X<do_sysseek>, do_tell X<do_tell>, do_trans X<do_trans>,
-do_trans_complex X<do_trans_complex>, do_trans_complex_utf8
-X<do_trans_complex_utf8>, do_trans_count X<do_trans_count>,
-do_trans_count_utf8 X<do_trans_count_utf8>, do_trans_simple
-X<do_trans_simple>, do_trans_simple_utf8 X<do_trans_simple_utf8>, do_vecget
-X<do_vecget>, do_vecset X<do_vecset>, do_vop X<do_vop>, doeval X<doeval>,
-dofile X<dofile>, dofindlabel X<dofindlabel>, doform X<doform>, dooneliner
-X<dooneliner>, doopen_pm X<doopen_pm>, doparseform X<doparseform>,
-dopoptoeval X<dopoptoeval>, dopoptogiven X<dopoptogiven>, dopoptolabel
-X<dopoptolabel>, dopoptoloop X<dopoptoloop>, dopoptosub_at
-X<dopoptosub_at>, dopoptowhen X<dopoptowhen>, dump_all_perl
-X<dump_all_perl>, dump_exec_pos X<dump_exec_pos>, dump_packsubs_perl
-X<dump_packsubs_perl>, dump_sub_perl X<dump_sub_perl>, dump_sv_child
-X<dump_sv_child>, dump_trie X<dump_trie>, dump_trie_interim_list
-X<dump_trie_interim_list>, dump_trie_interim_table
-X<dump_trie_interim_table>, dumpuntil X<dumpuntil>, dup_attrlist
-X<dup_attrlist>, emulate_cop_io X<emulate_cop_io>, exec_failed
-X<exec_failed>, expect_number X<expect_number>, feature_is_enabled
-X<feature_is_enabled>, filter_gets X<filter_gets>, find_and_forget_pmops
-X<find_and_forget_pmops>, find_array_subscript X<find_array_subscript>,
-find_beginning X<find_beginning>, find_byclass X<find_byclass>,
-find_hash_subscript X<find_hash_subscript>, find_in_my_stash
-X<find_in_my_stash>, find_script X<find_script>, first_symbol
-X<first_symbol>, fold_constants X<fold_constants>, forbid_setid
-X<forbid_setid>, force_ident X<force_ident>, force_list X<force_list>,
-force_next X<force_next>, force_strict_version X<force_strict_version>,
-force_version X<force_version>, force_word X<force_word>, forget_pmop
-X<forget_pmop>, free_tied_hv_pool X<free_tied_hv_pool>, gen_constant_list
-X<gen_constant_list>, get_aux_mg X<get_aux_mg>, get_db_sub X<get_db_sub>,
-get_debug_opts X<get_debug_opts>, get_hash_seed X<get_hash_seed>,
-get_no_modify X<get_no_modify>, get_num X<get_num>, get_opargs
+X<do_msgrcv>, do_msgsnd X<do_msgsnd>, do_ncmp X<do_ncmp>, do_op_xmldump
+X<do_op_xmldump>, do_pmop_xmldump X<do_pmop_xmldump>, do_print X<do_print>,
+do_readline X<do_readline>, do_seek X<do_seek>, do_semop X<do_semop>,
+do_shmio X<do_shmio>, do_sysseek X<do_sysseek>, do_tell X<do_tell>,
+do_trans X<do_trans>, do_vecget X<do_vecget>, do_vecset X<do_vecset>,
+do_vop X<do_vop>, dofile X<dofile>, dump_all_perl X<dump_all_perl>,
+dump_packsubs_perl X<dump_packsubs_perl>, dump_sub_perl X<dump_sub_perl>,
+dump_sv_child X<dump_sv_child>, emulate_cop_io X<emulate_cop_io>,
+feature_is_enabled X<feature_is_enabled>, find_rundefsv2 X<find_rundefsv2>,
+find_script X<find_script>, free_tied_hv_pool X<free_tied_hv_pool>,
+get_db_sub X<get_db_sub>, get_debug_opts X<get_debug_opts>, get_hash_seed
+X<get_hash_seed>, get_invlist_iter_addr X<get_invlist_iter_addr>,
+get_invlist_len_addr X<get_invlist_len_addr>, get_invlist_version_id_addr
+X<get_invlist_version_id_addr>, get_invlist_zero_addr
+X<get_invlist_zero_addr>, get_no_modify X<get_no_modify>, get_opargs
X<get_opargs>, get_re_arg X<get_re_arg>, getenv_len X<getenv_len>,
-glob_2number X<glob_2number>, glob_assign_glob X<glob_assign_glob>,
-glob_assign_ref X<glob_assign_ref>, grok_bslash_c X<grok_bslash_c>,
-grok_bslash_o X<grok_bslash_o>, group_end X<group_end>, gv_ename
-X<gv_ename>, gv_get_super_pkg X<gv_get_super_pkg>, gv_init_sv
-X<gv_init_sv>, gv_magicalize_isa X<gv_magicalize_isa>,
-gv_magicalize_overload X<gv_magicalize_overload>, hfreeentries
-X<hfreeentries>, hsplit X<hsplit>, hv_auxinit X<hv_auxinit>,
-hv_backreferences_p X<hv_backreferences_p>, hv_delete_common
-X<hv_delete_common>, hv_kill_backrefs X<hv_kill_backrefs>, hv_magic_check
-X<hv_magic_check>, hv_notallowed X<hv_notallowed>, hv_undef_flags
-X<hv_undef_flags>, incline X<incline>, incpush X<incpush>,
-incpush_if_exists X<incpush_if_exists>, incpush_use_sep X<incpush_use_sep>,
-ingroup X<ingroup>, init_argv_symbols X<init_argv_symbols>, init_dbargs
-X<init_dbargs>, init_debugger X<init_debugger>, init_ids X<init_ids>,
-init_interp X<init_interp>, init_main_stash X<init_main_stash>,
-init_perllib X<init_perllib>, init_postdump_symbols
-X<init_postdump_symbols>, init_predump_symbols X<init_predump_symbols>,
-intuit_method X<intuit_method>, intuit_more X<intuit_more>, invert
-X<invert>, invlist_array X<invlist_array>, invlist_destroy
-X<invlist_destroy>, invlist_extend X<invlist_extend>, invlist_intersection
-X<invlist_intersection>, invlist_len X<invlist_len>, invlist_max
-X<invlist_max>, invlist_set_len X<invlist_set_len>, invlist_set_max
-X<invlist_set_max>, invlist_trim X<invlist_trim>, invlist_union
-X<invlist_union>, invoke_exception_hook X<invoke_exception_hook>, io_close
-X<io_close>, is_an_int X<is_an_int>, is_handle_constructor
-X<is_handle_constructor>, is_inplace_av X<is_inplace_av>,
-is_list_assignment X<is_list_assignment>, is_utf8_X_L X<is_utf8_X_L>,
-is_utf8_X_LV X<is_utf8_X_LV>, is_utf8_X_LVT X<is_utf8_X_LVT>,
-is_utf8_X_LV_LVT_V X<is_utf8_X_LV_LVT_V>, is_utf8_X_T X<is_utf8_X_T>,
-is_utf8_X_V X<is_utf8_X_V>, is_utf8_X_begin X<is_utf8_X_begin>,
-is_utf8_X_extend X<is_utf8_X_extend>, is_utf8_X_non_hangul
-X<is_utf8_X_non_hangul>, is_utf8_X_prepend X<is_utf8_X_prepend>,
-is_utf8_char_slow X<is_utf8_char_slow>, is_utf8_common X<is_utf8_common>,
-isa_lookup X<isa_lookup>, jmaybe X<jmaybe>, join_exact X<join_exact>,
-keyword X<keyword>, keyword_plugin_standard X<keyword_plugin_standard>,
-list X<list>, listkids X<listkids>, localize X<localize>, looks_like_bool
-X<looks_like_bool>, lop X<lop>, mad_free X<mad_free>, madlex X<madlex>,
-madparse X<madparse>, magic_clear_all_env X<magic_clear_all_env>,
-magic_clearenv X<magic_clearenv>, magic_clearisa X<magic_clearisa>,
-magic_clearpack X<magic_clearpack>, magic_clearsig X<magic_clearsig>,
-magic_existspack X<magic_existspack>, magic_freearylen_p
-X<magic_freearylen_p>, magic_freeovrld X<magic_freeovrld>, magic_get
-X<magic_get>, magic_getarylen X<magic_getarylen>, magic_getdefelem
-X<magic_getdefelem>, magic_getnkeys X<magic_getnkeys>, magic_getpack
-X<magic_getpack>, magic_getpos X<magic_getpos>, magic_getsig
-X<magic_getsig>, magic_getsubstr X<magic_getsubstr>, magic_gettaint
-X<magic_gettaint>, magic_getuvar X<magic_getuvar>, magic_getvec
-X<magic_getvec>, magic_killbackrefs X<magic_killbackrefs>, magic_len
-X<magic_len>, magic_methcall1 X<magic_methcall1>, magic_methpack
-X<magic_methpack>, magic_nextpack X<magic_nextpack>, magic_regdata_cnt
-X<magic_regdata_cnt>, magic_regdatum_get X<magic_regdatum_get>,
-magic_regdatum_set X<magic_regdatum_set>, magic_scalarpack
-X<magic_scalarpack>, magic_set X<magic_set>, magic_set_all_env
-X<magic_set_all_env>, magic_setamagic X<magic_setamagic>, magic_setarylen
-X<magic_setarylen>, magic_setcollxfrm X<magic_setcollxfrm>, magic_setdbline
-X<magic_setdbline>, magic_setdefelem X<magic_setdefelem>, magic_setenv
-X<magic_setenv>, magic_setisa X<magic_setisa>, magic_setmglob
-X<magic_setmglob>, magic_setnkeys X<magic_setnkeys>, magic_setpack
-X<magic_setpack>, magic_setpos X<magic_setpos>, magic_setregexp
-X<magic_setregexp>, magic_setsig X<magic_setsig>, magic_setsubstr
-X<magic_setsubstr>, magic_settaint X<magic_settaint>, magic_setutf8
-X<magic_setutf8>, magic_setuvar X<magic_setuvar>, magic_setvec
-X<magic_setvec>, magic_sizepack X<magic_sizepack>, magic_wipepack
-X<magic_wipepack>, make_matcher X<make_matcher>, make_trie X<make_trie>,
-make_trie_failtable X<make_trie_failtable>, malloc_good_size
-X<malloc_good_size>, malloced_size X<malloced_size>, matcher_matches_sv
-X<matcher_matches_sv>, measure_struct X<measure_struct>, mem_collxfrm
-X<mem_collxfrm>, mem_log_common X<mem_log_common>, mess_alloc
-X<mess_alloc>, method_common X<method_common>, missingterm X<missingterm>,
-mod X<mod>, mode_from_discipline X<mode_from_discipline>, modkids
-X<modkids>, more_bodies X<more_bodies>, more_sv X<more_sv>,
-mro_clean_isarev X<mro_clean_isarev>, mro_gather_and_rename
-X<mro_gather_and_rename>, mro_meta_dup X<mro_meta_dup>, mro_meta_init
-X<mro_meta_init>, mul128 X<mul128>, mulexp10 X<mulexp10>,
-munge_qwlist_to_paren_list X<munge_qwlist_to_paren_list>, my_attrs
-X<my_attrs>, my_betoh16 X<my_betoh16>, my_betoh32 X<my_betoh32>, my_betoh64
-X<my_betoh64>, my_betohi X<my_betohi>, my_betohl X<my_betohl>, my_betohs
-X<my_betohs>, my_clearenv X<my_clearenv>, my_exit_jump X<my_exit_jump>,
-my_htobe16 X<my_htobe16>, my_htobe32 X<my_htobe32>, my_htobe64
-X<my_htobe64>, my_htobei X<my_htobei>, my_htobel X<my_htobel>, my_htobes
-X<my_htobes>, my_htole16 X<my_htole16>, my_htole32 X<my_htole32>,
-my_htole64 X<my_htole64>, my_htolei X<my_htolei>, my_htolel X<my_htolel>,
-my_htoles X<my_htoles>, my_kid X<my_kid>, my_letoh16 X<my_letoh16>,
-my_letoh32 X<my_letoh32>, my_letoh64 X<my_letoh64>, my_letohi X<my_letohi>,
-my_letohl X<my_letohl>, my_letohs X<my_letohs>, my_lstat_flags
-X<my_lstat_flags>, my_stat_flags X<my_stat_flags>, my_swabn X<my_swabn>,
-my_unexec X<my_unexec>, need_utf8 X<need_utf8>, newDEFSVOP X<newDEFSVOP>,
-newGIVWHENOP X<newGIVWHENOP>, newGP X<newGP>, newMADPROP X<newMADPROP>,
-newMADsv X<newMADsv>, newTOKEN X<newTOKEN>, new_constant X<new_constant>,
-new_he X<new_he>, new_logop X<new_logop>, new_warnings_bitfield
-X<new_warnings_bitfield>, next_symbol X<next_symbol>, nextargv X<nextargv>,
-nextchar X<nextchar>, no_bareword_allowed X<no_bareword_allowed>,
-no_fh_allowed X<no_fh_allowed>, no_op X<no_op>, not_a_number
-X<not_a_number>, nuke_stacks X<nuke_stacks>, num_overflow X<num_overflow>,
-oopsAV X<oopsAV>, oopsHV X<oopsHV>, op_clear X<op_clear>, op_const_sv
-X<op_const_sv>, op_getmad X<op_getmad>, op_getmad_weak X<op_getmad_weak>,
-op_refcnt_dec X<op_refcnt_dec>, op_refcnt_inc X<op_refcnt_inc>, op_xmldump
-X<op_xmldump>, open_script X<open_script>, opt_scalarhv X<opt_scalarhv>,
-pack_rec X<pack_rec>, package X<package>, package_version
-X<package_version>, pad_add_name_sv X<pad_add_name_sv>, pad_compname_type
-X<pad_compname_type>, pad_peg X<pad_peg>, padlist_dup X<padlist_dup>,
-parse_body X<parse_body>, parse_unicode_opts X<parse_unicode_opts>,
-parser_free X<parser_free>, path_is_absolute X<path_is_absolute>, peep
-X<peep>, pending_Slabs_to_ro X<pending_Slabs_to_ro>, pidgone X<pidgone>,
-pm_description X<pm_description>, pmop_xmldump X<pmop_xmldump>, pmruntime
-X<pmruntime>, pmtrans X<pmtrans>, populate_isa X<populate_isa>,
-prepend_madprops X<prepend_madprops>, printbuf X<printbuf>,
-process_special_blocks X<process_special_blocks>, ptr_table_find
-X<ptr_table_find>, put_byte X<put_byte>, qerror X<qerror>, qsortsvu
-X<qsortsvu>, re_croak2 X<re_croak2>, readpipe_override
-X<readpipe_override>, ref_array_or_hash X<ref_array_or_hash>,
-refcounted_he_value X<refcounted_he_value>, refkids X<refkids>, refto
-X<refto>, reg X<reg>, reg_check_named_buff_matched
-X<reg_check_named_buff_matched>, reg_named_buff X<reg_named_buff>,
-reg_named_buff_iter X<reg_named_buff_iter>, reg_namedseq X<reg_namedseq>,
-reg_node X<reg_node>, reg_numbered_buff_fetch X<reg_numbered_buff_fetch>,
-reg_numbered_buff_length X<reg_numbered_buff_length>,
-reg_numbered_buff_store X<reg_numbered_buff_store>, reg_qr_package
-X<reg_qr_package>, reg_recode X<reg_recode>, reg_scan_name
-X<reg_scan_name>, reg_skipcomment X<reg_skipcomment>, reg_temp_copy
-X<reg_temp_copy>, reganode X<reganode>, regatom X<regatom>, regbranch
-X<regbranch>, regclass X<regclass>, regcppop X<regcppop>, regcppush
-X<regcppush>, regcurly X<regcurly>, regdump_extflags X<regdump_extflags>,
-reghop3 X<reghop3>, reghop4 X<reghop4>, reghopmaybe3 X<reghopmaybe3>,
-reginclass X<reginclass>, reginsert X<reginsert>, regmatch X<regmatch>,
-regpiece X<regpiece>, regpposixcc X<regpposixcc>, regprop X<regprop>,
-regrepeat X<regrepeat>, regtail X<regtail>, regtail_study X<regtail_study>,
-regtry X<regtry>, reguni X<reguni>, regwhite X<regwhite>, report_evil_fh
-X<report_evil_fh>, report_wrongway_fh X<report_wrongway_fh>,
-require_tie_mod X<require_tie_mod>, restore_magic X<restore_magic>, rpeep
-X<rpeep>, rsignal_restore X<rsignal_restore>, rsignal_save X<rsignal_save>,
-run_body X<run_body>, run_user_filter X<run_user_filter>, rxres_free
-X<rxres_free>, rxres_restore X<rxres_restore>, rxres_save X<rxres_save>,
-same_dirent X<same_dirent>, save_hek_flags X<save_hek_flags>, save_lines
-X<save_lines>, save_magic X<save_magic>, save_pushptri32ptr
-X<save_pushptri32ptr>, save_scalar_at X<save_scalar_at>, sawparens
-X<sawparens>, scalar X<scalar>, scalar_mod_type X<scalar_mod_type>,
-scalarboolean X<scalarboolean>, scalarkids X<scalarkids>, scalarseq
-X<scalarseq>, scalarvoid X<scalarvoid>, scan_commit X<scan_commit>,
-scan_const X<scan_const>, scan_formline X<scan_formline>, scan_heredoc
-X<scan_heredoc>, scan_ident X<scan_ident>, scan_inputsymbol
-X<scan_inputsymbol>, scan_pat X<scan_pat>, scan_str X<scan_str>, scan_subst
-X<scan_subst>, scan_trans X<scan_trans>, scan_word X<scan_word>,
-search_const X<search_const>, sequence X<sequence>, sequence_num
-X<sequence_num>, sequence_tail X<sequence_tail>, set_regclass_bit
-X<set_regclass_bit>, set_regclass_bit_fold X<set_regclass_bit_fold>,
-share_hek_flags X<share_hek_flags>, sighandler X<sighandler>, simplify_sort
-X<simplify_sort>, skipspace X<skipspace>, skipspace0 X<skipspace0>,
-skipspace1 X<skipspace1>, skipspace2 X<skipspace2>, softref2xv
-X<softref2xv>, sortcv X<sortcv>, sortcv_stacked X<sortcv_stacked>,
-sortcv_xsub X<sortcv_xsub>, space_join_names_mortal
-X<space_join_names_mortal>, start_force X<start_force>, stdize_locale
-X<stdize_locale>, store_cop_label X<store_cop_label>, strip_return
-X<strip_return>, study_chunk X<study_chunk>, sub_crush_depth
-X<sub_crush_depth>, sublex_done X<sublex_done>, sublex_push X<sublex_push>,
-sublex_start X<sublex_start>, sv_2iuv_common X<sv_2iuv_common>,
-sv_2iuv_non_preserve X<sv_2iuv_non_preserve>, sv_add_backref
-X<sv_add_backref>, sv_catxmlpv X<sv_catxmlpv>, sv_catxmlpvn
-X<sv_catxmlpvn>, sv_catxmlsv X<sv_catxmlsv>, sv_compile_2op_is_broken
-X<sv_compile_2op_is_broken>, sv_del_backref X<sv_del_backref>,
-sv_dup_common X<sv_dup_common>, sv_dup_inc_multiple X<sv_dup_inc_multiple>,
-sv_exp_grow X<sv_exp_grow>, sv_free2 X<sv_free2>, sv_i_ncmp X<sv_i_ncmp>,
-sv_kill_backrefs X<sv_kill_backrefs>, sv_ncmp X<sv_ncmp>, sv_pos_b2u_midway
-X<sv_pos_b2u_midway>, sv_pos_u2b_cached X<sv_pos_u2b_cached>,
-sv_pos_u2b_forwards X<sv_pos_u2b_forwards>, sv_pos_u2b_midway
-X<sv_pos_u2b_midway>, sv_release_COW X<sv_release_COW>, sv_setsv_cow
-X<sv_setsv_cow>, sv_unglob X<sv_unglob>, sv_xmlpeek X<sv_xmlpeek>,
-swallow_bom X<swallow_bom>, swash_get X<swash_get>, tied_method
-X<tied_method>, to_byte_substr X<to_byte_substr>, to_utf8_substr
-X<to_utf8_substr>, token_free X<token_free>, token_getmad X<token_getmad>,
-tokenize_use X<tokenize_use>, tokeq X<tokeq>, tokereport X<tokereport>,
-too_few_arguments X<too_few_arguments>, too_many_arguments
-X<too_many_arguments>, try_amagic_bin X<try_amagic_bin>, try_amagic_un
-X<try_amagic_un>, uiv_2buf X<uiv_2buf>, unpack_rec X<unpack_rec>,
-unreferenced_to_tmp_stack X<unreferenced_to_tmp_stack>, unshare_hek
-X<unshare_hek>, unshare_hek_or_pvn X<unshare_hek_or_pvn>,
-unwind_handler_stack X<unwind_handler_stack>, update_debugger_info
-X<update_debugger_info>, usage X<usage>, utf16_textfilter
-X<utf16_textfilter>, utf8_mg_len_cache_update X<utf8_mg_len_cache_update>,
-utf8_mg_pos_cache_update X<utf8_mg_pos_cache_update>, utilize X<utilize>,
-validate_suid X<validate_suid>, varname X<varname>, visit X<visit>,
-vivify_defelem X<vivify_defelem>, vivify_ref X<vivify_ref>, wait4pid
-X<wait4pid>, watch X<watch>, with_queued_errors X<with_queued_errors>,
-write_no_mem X<write_no_mem>, write_to_stderr X<write_to_stderr>,
-xmldump_all X<xmldump_all>, xmldump_all_perl X<xmldump_all_perl>,
-xmldump_attr X<xmldump_attr>, xmldump_eval X<xmldump_eval>, xmldump_form
+hfree_next_entry X<hfree_next_entry>, hv_backreferences_p
+X<hv_backreferences_p>, hv_kill_backrefs X<hv_kill_backrefs>,
+hv_undef_flags X<hv_undef_flags>, init_argv_symbols X<init_argv_symbols>,
+init_dbargs X<init_dbargs>, init_debugger X<init_debugger>, invert
+X<invert>, invlist_array X<invlist_array>, invlist_clone X<invlist_clone>,
+invlist_iterinit X<invlist_iterinit>, invlist_len X<invlist_len>,
+invlist_max X<invlist_max>, invlist_set_len X<invlist_set_len>,
+invlist_trim X<invlist_trim>, io_close X<io_close>, is_utf8_X_L
+X<is_utf8_X_L>, is_utf8_X_LV X<is_utf8_X_LV>, is_utf8_X_LVT
+X<is_utf8_X_LVT>, is_utf8_X_LV_LVT_V X<is_utf8_X_LV_LVT_V>, is_utf8_X_T
+X<is_utf8_X_T>, is_utf8_X_V X<is_utf8_X_V>, is_utf8_X_begin
+X<is_utf8_X_begin>, is_utf8_X_extend X<is_utf8_X_extend>,
+is_utf8_X_non_hangul X<is_utf8_X_non_hangul>, is_utf8_X_prepend
+X<is_utf8_X_prepend>, jmaybe X<jmaybe>, keyword X<keyword>,
+keyword_plugin_standard X<keyword_plugin_standard>, list X<list>, localize
+X<localize>, mad_free X<mad_free>, madlex X<madlex>, madparse X<madparse>,
+magic_clear_all_env X<magic_clear_all_env>, magic_clearenv
+X<magic_clearenv>, magic_clearisa X<magic_clearisa>, magic_clearpack
+X<magic_clearpack>, magic_clearsig X<magic_clearsig>, magic_existspack
+X<magic_existspack>, magic_freearylen_p X<magic_freearylen_p>,
+magic_freeovrld X<magic_freeovrld>, magic_get X<magic_get>, magic_getarylen
+X<magic_getarylen>, magic_getdefelem X<magic_getdefelem>, magic_getnkeys
+X<magic_getnkeys>, magic_getpack X<magic_getpack>, magic_getpos
+X<magic_getpos>, magic_getsig X<magic_getsig>, magic_getsubstr
+X<magic_getsubstr>, magic_gettaint X<magic_gettaint>, magic_getuvar
+X<magic_getuvar>, magic_getvec X<magic_getvec>, magic_killbackrefs
+X<magic_killbackrefs>, magic_len X<magic_len>, magic_nextpack
+X<magic_nextpack>, magic_regdata_cnt X<magic_regdata_cnt>,
+magic_regdatum_get X<magic_regdatum_get>, magic_regdatum_set
+X<magic_regdatum_set>, magic_scalarpack X<magic_scalarpack>, magic_set
+X<magic_set>, magic_set_all_env X<magic_set_all_env>, magic_setamagic
+X<magic_setamagic>, magic_setarylen X<magic_setarylen>, magic_setcollxfrm
+X<magic_setcollxfrm>, magic_setdbline X<magic_setdbline>, magic_setdefelem
+X<magic_setdefelem>, magic_setenv X<magic_setenv>, magic_setisa
+X<magic_setisa>, magic_setmglob X<magic_setmglob>, magic_setnkeys
+X<magic_setnkeys>, magic_setpack X<magic_setpack>, magic_setpos
+X<magic_setpos>, magic_setregexp X<magic_setregexp>, magic_setsig
+X<magic_setsig>, magic_setsubstr X<magic_setsubstr>, magic_settaint
+X<magic_settaint>, magic_setutf8 X<magic_setutf8>, magic_setuvar
+X<magic_setuvar>, magic_setvec X<magic_setvec>, magic_setvstring
+X<magic_setvstring>, magic_sizepack X<magic_sizepack>, magic_wipepack
+X<magic_wipepack>, malloc_good_size X<malloc_good_size>, malloced_size
+X<malloced_size>, mem_collxfrm X<mem_collxfrm>, mode_from_discipline
+X<mode_from_discipline>, more_bodies X<more_bodies>, mro_meta_dup
+X<mro_meta_dup>, mro_meta_init X<mro_meta_init>, munge_qwlist_to_paren_list
+X<munge_qwlist_to_paren_list>, my_attrs X<my_attrs>, my_betoh16
+X<my_betoh16>, my_betoh32 X<my_betoh32>, my_betoh64 X<my_betoh64>,
+my_betohi X<my_betohi>, my_betohl X<my_betohl>, my_betohs X<my_betohs>,
+my_clearenv X<my_clearenv>, my_htobe16 X<my_htobe16>, my_htobe32
+X<my_htobe32>, my_htobe64 X<my_htobe64>, my_htobei X<my_htobei>, my_htobel
+X<my_htobel>, my_htobes X<my_htobes>, my_htole16 X<my_htole16>, my_htole32
+X<my_htole32>, my_htole64 X<my_htole64>, my_htolei X<my_htolei>, my_htolel
+X<my_htolel>, my_htoles X<my_htoles>, my_letoh16 X<my_letoh16>, my_letoh32
+X<my_letoh32>, my_letoh64 X<my_letoh64>, my_letohi X<my_letohi>, my_letohl
+X<my_letohl>, my_letohs X<my_letohs>, my_lstat_flags X<my_lstat_flags>,
+my_stat_flags X<my_stat_flags>, my_swabn X<my_swabn>, my_unexec
+X<my_unexec>, newATTRSUB_flags X<newATTRSUB_flags>, newGP X<newGP>,
+newMADPROP X<newMADPROP>, newMADsv X<newMADsv>, newTOKEN X<newTOKEN>,
+newXS_len_flags X<newXS_len_flags>, new_warnings_bitfield
+X<new_warnings_bitfield>, nextargv X<nextargv>, oopsAV X<oopsAV>, oopsHV
+X<oopsHV>, op_clear X<op_clear>, op_const_sv X<op_const_sv>, op_getmad
+X<op_getmad>, op_getmad_weak X<op_getmad_weak>, op_integerize
+X<op_integerize>, op_lvalue_flags X<op_lvalue_flags>, op_refcnt_dec
+X<op_refcnt_dec>, op_refcnt_inc X<op_refcnt_inc>, op_std_init
+X<op_std_init>, op_xmldump X<op_xmldump>, package X<package>,
+package_version X<package_version>, parse_unicode_opts
+X<parse_unicode_opts>, parser_free X<parser_free>, peep X<peep>,
+pending_Slabs_to_ro X<pending_Slabs_to_ro>, pmop_xmldump X<pmop_xmldump>,
+pmruntime X<pmruntime>, populate_isa X<populate_isa>, prepend_madprops
+X<prepend_madprops>, qerror X<qerror>, reg_named_buff X<reg_named_buff>,
+reg_named_buff_iter X<reg_named_buff_iter>, reg_numbered_buff_fetch
+X<reg_numbered_buff_fetch>, reg_numbered_buff_length
+X<reg_numbered_buff_length>, reg_numbered_buff_store
+X<reg_numbered_buff_store>, reg_qr_package X<reg_qr_package>, reg_temp_copy
+X<reg_temp_copy>, regcurly X<regcurly>, regprop X<regprop>, report_evil_fh
+X<report_evil_fh>, report_redefined_cv X<report_redefined_cv>,
+report_wrongway_fh X<report_wrongway_fh>, rpeep X<rpeep>, rsignal_restore
+X<rsignal_restore>, rsignal_save X<rsignal_save>, rxres_save X<rxres_save>,
+same_dirent X<same_dirent>, sawparens X<sawparens>, scalar X<scalar>,
+scalarvoid X<scalarvoid>, set_regclass_bit X<set_regclass_bit>, sighandler
+X<sighandler>, softref2xv X<softref2xv>, sub_crush_depth
+X<sub_crush_depth>, sv_add_backref X<sv_add_backref>, sv_catxmlpv
+X<sv_catxmlpv>, sv_catxmlpvn X<sv_catxmlpvn>, sv_catxmlsv X<sv_catxmlsv>,
+sv_compile_2op_is_broken X<sv_compile_2op_is_broken>, sv_del_backref
+X<sv_del_backref>, sv_free2 X<sv_free2>, sv_kill_backrefs
+X<sv_kill_backrefs>, sv_sethek X<sv_sethek>, sv_setsv_cow X<sv_setsv_cow>,
+sv_unglob X<sv_unglob>, sv_xmlpeek X<sv_xmlpeek>, tied_method
+X<tied_method>, token_free X<token_free>, token_getmad X<token_getmad>,
+translate_substr_offsets X<translate_substr_offsets>, try_amagic_bin
+X<try_amagic_bin>, try_amagic_un X<try_amagic_un>, unshare_hek
+X<unshare_hek>, utilize X<utilize>, varname X<varname>, vivify_defelem
+X<vivify_defelem>, vivify_ref X<vivify_ref>, wait4pid X<wait4pid>,
+was_lvalue_sub X<was_lvalue_sub>, watch X<watch>, write_to_stderr
+X<write_to_stderr>, xmldump_all X<xmldump_all>, xmldump_all_perl
+X<xmldump_all_perl>, xmldump_eval X<xmldump_eval>, xmldump_form
X<xmldump_form>, xmldump_indent X<xmldump_indent>, xmldump_packsubs
X<xmldump_packsubs>, xmldump_packsubs_perl X<xmldump_packsubs_perl>,
xmldump_sub X<xmldump_sub>, xmldump_sub_perl X<xmldump_sub_perl>,
xmldump_vindent X<xmldump_vindent>, xs_apiversion_bootcheck
X<xs_apiversion_bootcheck>, xs_version_bootcheck X<xs_version_bootcheck>,
-yyerror X<yyerror>, yylex X<yylex>, yyparse X<yyparse>, yyunlex X<yyunlex>,
-yywarn X<yywarn>
+yyerror X<yyerror>, yyerror_pv X<yyerror_pv>, yyerror_pvn X<yyerror_pvn>,
+yylex X<yylex>, yyparse X<yyparse>, yyunlex X<yyunlex>
=item AUTHORS
@@ -7016,6 +6883,8 @@ your change, Send your change to perlbug, Thank you
=item perl-changes mailing list
+=item #p5p on IRC
+
=back
=item GETTING THE PERL SOURCE
@@ -7122,7 +6991,7 @@ F<t/lib/>, F<t/x2p>
=item Documentation
-=item Hacking toolks and documentation
+=item Hacking tools and documentation
F<check*>, F<Maintainers>, F<Maintainers.pl>, and F<Maintainers.pm>,
F<podtidy>
@@ -7312,6 +7181,14 @@ the Perl core
=item DESCRIPTION
+=item GOVERNANCE
+
+=over 4
+
+=item Perl 5 Porters
+
+=back
+
=item MAINTENANCE AND SUPPORT
=item BACKWARD COMPATIBILITY AND DEPRECATION
@@ -7372,20 +7249,26 @@ experimental, deprecated, discouraged, removed
=item Bisecting
+=back
+
=item Topic branches and rewriting history
+=over 4
+
+=item Grafts
+
=back
=item WRITE ACCESS TO THE GIT REPOSITORY
+=item Accepting a patch
+
=over 4
=item Committing to blead
=item Committing to maintenance versions
-=item Grafts
-
=item Merging from a branch via GitHub
=item A note on camel and dromedary
@@ -7480,243 +7363,6 @@ L<http://perl.com/>, L<http://use.perl.org/>, L<http://www.perlmonks.org/>
=back
-=head2 perltodo - Perl TO-DO List
-
-=over 4
-
-=item DESCRIPTION
-
-=item Tasks that only need Perl knowledge
-
-=over 4
-
-=item Migrate t/ from custom TAP generation
-
-=item Automate perldelta generation
-
-Modules and Pragmata, New Documentation, New Tests
-
-=item Remove duplication of test setup.
-
-=item POD -E<gt> HTML conversion in the core still sucks
-
-=item Make ExtUtils::ParseXS use strict;
-
-=item Make Schwern poorer
-
-=item Improve the coverage of the core tests
-
-=item test B
-
-=item A decent benchmark
-
-=item fix tainting bugs
-
-=item Dual life everything
-
-=item POSIX memory footprint
-
-=item embed.pl/makedef.pl
-
-=item use strict; and AutoLoad
-
-=item profile installman
-
-=item enable lexical enabling/disabling of individual warnings
-
-=back
-
-=item Tasks that need a little sysadmin-type knowledge
-
-=over 4
-
-=item make HTML install work
-
-=item compressed man pages
-
-=item Add a code coverage target to the Makefile
-
-=item Make Config.pm cope with differences between built and installed perl
-
-=item linker specification files
-
-=item Cross-compile support
-
-=item roffitall
-
-=item Split "linker" from "compiler"
-
-C<cc> (in F<cc.U>), C<ld> (in F<dlsrc.U>)
-
-=item Configure Windows using PowerShell
-
-=item decouple -g and -DDEBUGGING
-
-=back
-
-=item Tasks that need a little C knowledge
-
-=over 4
-
-=item Weed out needless PERL_UNUSED_ARG
-
-=item Modernize the order of directories in @INC
-
-=item -Duse32bit*
-
-=item Profile Perl - am I hot or not?
-
-=item Allocate OPs from arenas
-
-=item Improve win32/wince.c
-
-=item Use secure CRT functions when building with VC8 on Win32
-
-=item Fix POSIX::access() and chdir() on Win32
-
-=item strcat(), strcpy(), strncat(), strncpy(), sprintf(), vsprintf()
-
-=item -D_FORTIFY_SOURCE=2, -fstack-protector
-
-=item Arenas for GPs? For MAGIC?
-
-=item Shared arenas
-
-=back
-
-=item Tasks that need a knowledge of XS
-
-=over 4
-
-=item Write an XS cookbook
-
-=item Allow XSUBs to inline themselves as OPs
-
-=item Remove the use of SVs as temporaries in dump.c
-
-=item safely supporting POSIX SA_SIGINFO
-
-=item autovivification
-
-=item Unicode in Filenames
-
-=item Unicode in %ENV
-
-=item Unicode and glob()
-
-=item use less 'memory'
-
-=item Re-implement C<:unique> in a way that is actually thread-safe
-
-=item Make tainting consistent
-
-=item readpipe(LIST)
-
-=item Audit the code for destruction ordering assumptions
-
-=item Extend PerlIO and PerlIO::Scalar
-
-=item -C on the #! line
-
-=item Organize error messages
-
-=back
-
-=item Tasks that need a knowledge of the interpreter
-
-=over 4
-
-=item forbid labels with keyword names
-
-=item truncate() prototype
-
-=item decapsulation of smart match argument
-
-=item error reporting of [$a ; $b]
-
-=item lexicals used only once
-
-=item UTF-8 revamp
-
-=item Properly Unicode safe tokeniser and pads.
-
-=item state variable initialization in list context
-
-=item Implement $value ~~ 0 .. $range
-
-=item A does() built-in
-
-=item Tied filehandles and write() don't mix
-
-=item Propagate compilation hints to the debugger
-
-=item Attach/detach debugger from running program
-
-=item LVALUE functions for lists
-
-=item regexp optimiser optional
-
-=item C</w> regex modifier
-
-=item optional optimizer
-
-=item You WANT *how* many
-
-=item lexical aliases
-
-=item entersub XS vs Perl
-
-=item Self-ties
-
-=item Optimize away @_
-
-=item Virtualize operating system access
-
-=item Investigate PADTMP hash pessimisation
-
-=item Store the current pad in the OP slab allocator
-
-=item repack the optree
-
-=item eliminate incorrect line numbers in warnings
-
-=item optimize tail-calls
-
-=item Add C<00dddd>
-
-=back
-
-=item Big projects
-
-=over 4
-
-=item make ithreads more robust
-
-=item iCOW
-
-=item (?{...}) closures in regexps
-
-=item Add class set operations to regexp engine
-
-=back
-
-=item Tasks for microperl
-
-=over 4
-
-=item make creating uconfig.sh automatic
-
-=item make creating Makefile.micro automatic
-
-=item do away with fork/exec/wait?
-
-=item some of the uconfig.sh really needs to be probed (using cc) in
-buildtime:
-
-=back
-
-=back
-
=head2 perldoc - Look up Perl documentation in Pod format.
=over 4
@@ -7731,8 +7377,8 @@ B<-h>, B<-D>, B<-t>, B<-u>, B<-m> I<module>, B<-l>, B<-F>, B<-f>
I<perlfunc>, B<-q> I<perlfaq-search-regexp>, B<-v> I<perlvar>, B<-T>, B<-d>
I<destination-filename>, B<-o> I<output-formatname>, B<-M> I<module-name>,
B<-w> I<option:value> or B<-w> I<option>, B<-X>, B<-L> I<language_code>,
-B<PageName|ModuleName|ProgramName>, B<-n> I<some-formatter>, B<-r>, B<-i>,
-B<-V>
+B<PageName|ModuleName|ProgramName|URL>, B<-n> I<some-formatter>, B<-r>,
+B<-i>, B<-V>
=item SECURITY
@@ -7776,57 +7422,39 @@ B<-V>
=back
-=head2 perldelta - what is new for perl v5.14.2
+=head2 perldelta - what is new for perl v5.16.2
=over 4
=item DESCRIPTION
-=item Core Enhancements
-
-=item Security
-
-=over 4
-
-=item C<File::Glob::bsd_glob()> memory error with GLOB_ALTDIRFUNC
-(CVE-2011-2728).
-
-=item C<Encode> decode_xs n-byte heap-overflow (CVE-2011-2939)
-
-=back
-
=item Incompatible Changes
-=item Deprecations
-
=item Modules and Pragmata
=over 4
-=item New Modules and Pragmata
-
=item Updated Modules and Pragmata
-=item Removed Modules and Pragmata
-
=back
-=item Platform Support
+=item Configuration and Compilation
-=over 4
+configuration should no longer be confused by ls colorization
-=item New Platforms
+=item Platform Support
-=item Discontinued Platforms
+=over 4
=item Platform-Specific Notes
-HP-UX PA-RISC/64 now supports gcc-4.x, Building on OS X 10.7 Lion and Xcode
-4 works again
+AIX
=back
-=item Bug Fixes
+=item Selected Bug Fixes
+
+fix /\h/ equivalence with /[\h]/
=item Known Problems
@@ -7838,57 +7466,39 @@ HP-UX PA-RISC/64 now supports gcc-4.x, Building on OS X 10.7 Lion and Xcode
=back
-=head2 perl5142delta, perldelta - what is new for perl v5.14.2
+=head2 perl5162delta, perldelta - what is new for perl v5.16.2
=over 4
=item DESCRIPTION
-=item Core Enhancements
-
-=item Security
-
-=over 4
-
-=item C<File::Glob::bsd_glob()> memory error with GLOB_ALTDIRFUNC
-(CVE-2011-2728).
-
-=item C<Encode> decode_xs n-byte heap-overflow (CVE-2011-2939)
-
-=back
-
=item Incompatible Changes
-=item Deprecations
-
=item Modules and Pragmata
=over 4
-=item New Modules and Pragmata
-
=item Updated Modules and Pragmata
-=item Removed Modules and Pragmata
-
=back
-=item Platform Support
+=item Configuration and Compilation
-=over 4
+configuration should no longer be confused by ls colorization
-=item New Platforms
+=item Platform Support
-=item Discontinued Platforms
+=over 4
=item Platform-Specific Notes
-HP-UX PA-RISC/64 now supports gcc-4.x, Building on OS X 10.7 Lion and Xcode
-4 works again
+AIX
=back
-=item Bug Fixes
+=item Selected Bug Fixes
+
+fix /\h/ equivalence with /[\h]/
=item Known Problems
@@ -7900,73 +7510,45 @@ HP-UX PA-RISC/64 now supports gcc-4.x, Building on OS X 10.7 Lion and Xcode
=back
-=head2 perl5141delta - what is new for perl v5.14.1
+=head2 perl5161delta - what is new for perl v5.16.1
=over 4
=item DESCRIPTION
-=item Core Enhancements
-
=item Security
-=item Incompatible Changes
-
-=item Deprecations
-
-=item Modules and Pragmata
-
=over 4
-=item New Modules and Pragmata
-
-=item Updated Modules and Pragmata
-
-=item Removed Modules and Pragmata
+=item an off-by-two error in Scalar-List-Util has been fixed
=back
-=item Documentation
-
-=over 4
-
-=item New Documentation
-
-=item Changes to Existing Documentation
-
-=back
+=item Incompatible Changes
-=item Diagnostics
+=item Modules and Pragmata
=over 4
-=item New Diagnostics
-
-=item Changes to Existing Diagnostics
+=item Updated Modules and Pragmata
=back
-=item Utility Changes
-
=item Configuration and Compilation
-=item Testing
-
=item Platform Support
=over 4
-=item New Platforms
-
-=item Discontinued Platforms
-
=item Platform-Specific Notes
+VMS
+
=back
-=item Internal Changes
+=item Selected Bug Fixes
-=item Bug Fixes
+=item Known Problems
=item Acknowledgements
@@ -7976,7 +7558,7 @@ HP-UX PA-RISC/64 now supports gcc-4.x, Building on OS X 10.7 Lion and Xcode
=back
-=head2 perl5140delta - what is new for perl v5.14.0
+=head2 perl5160delta - what is new for perl v5.16.0
=over 4
@@ -7988,43 +7570,39 @@ HP-UX PA-RISC/64 now supports gcc-4.x, Building on OS X 10.7 Lion and Xcode
=over 4
-=item Unicode
+=item C<use I<VERSION>>
-=item Regular Expressions
+=item C<__SUB__>
-=item Syntactical Enhancements
+=item New and Improved Built-ins
-=item Exception Handling
-
-=item Other Enhancements
+=item Unicode Support
-C<-d:-foo>, C<-d:-foo=bar>
+=item XS Changes
-=item New C APIs
+=item Changes to Special Variables
-=back
+=item Debugger Changes
-=item Security
+=item The C<CORE> Namespace
-=over 4
-
-=item User-defined regular expression properties
+=item Other Changes
=back
-=item Incompatible Changes
+=item Security
=over 4
-=item Regular Expressions and String Escapes
+=item Use C<is_utf8_char_buf()> and not C<is_utf8_char()>
-=item Stashes and Package Variables
-
-=item Changes to Syntax or to Perl Operators
+=item Malformed UTF-8 input could cause attempts to read beyond the end of
+the buffer
-=item Threads and Processes
+=item C<File::Glob::bsd_glob()> memory error with GLOB_ALTDIRFUNC
+(CVE-2011-2728).
-=item Configuration
+=item Privileges are now set correctly when assigning to C<$(>
=back
@@ -8032,82 +7610,80 @@ C<-d:-foo>, C<-d:-foo=bar>
=over 4
-=item Omitting a space between a regular expression and subsequent word
+=item Don't read the Unicode data base files in F<lib/unicore>
-=item C<\cI<X>>
+=item XS functions C<is_utf8_char()>, C<utf8_to_uvchr()> and
+C<utf8_to_uvuni()>
-=item C<"\b{"> and C<"\B{">
-
-=item Perl 4-era .pl libraries
-
-=item List assignment to C<$[>
-
-=item Use of qw(...) as parentheses
+=back
-=item C<\N{BELL}>
+=item Future Deprecations
-=item C<?PATTERN?>
+=over 4
-=item Tie functions on scalars holding typeglobs
+=item Core Modules
-=item User-defined case-mapping
+=item Platforms with no supporting programmers:
-=item Deprecated modules
-
-L<Devel::DProf>
+=item Other Future Deprecations
=back
-=item Performance Enhancements
+=item Incompatible Changes
=over 4
-=item "Safe signals" optimisation
+=item Special blocks called in void context
-=item Optimisation of shift() and pop() calls without arguments
+=item The C<overloading> pragma and regexp objects
-=item Optimisation of regexp engine string comparison work
+=item Two XS typemap Entries removed
-=item Regular expression compilation speed-up
+=item Unicode 6.1 has incompatibilities with Unicode 6.0
-=item String appending is 100 times faster
+=item Borland compiler
-=item Eliminate C<PL_*> accessor functions under ithreads
+=item Certain deprecated Unicode properties are no longer supported by
+default
-=item Freeing weak references
+=item Dereferencing IO thingies as typeglobs
-=item Lexical array and hash assignments
+=item User-defined case-changing operations
-=item C<@_> uses less memory
+=item XSUBs are now 'static'
-=item Size optimisations to SV and HV structures
+=item Weakening read-only references
-=item Memory consumption improvements to Exporter
+=item Tying scalars that hold typeglobs
-=item Memory savings for weak references
+=item IPC::Open3 no longer provides C<xfork()>, C<xclose_on_exec()>
+and C<xpipe_anon()>
-=item C<%+> and C<%-> use less memory
+=item C<$$> no longer caches PID
-=item Multiple small improvements to threads
+=item C<$$> and C<getppid()> no longer emulate POSIX semantics under
+LinuxThreads
-=item Adjacent pairs of nextstate opcodes are now optimized away
+=item C<< $< >>, C<< $> >>, C<$(> and C<$)> are no longer cached
+
+=item Which Non-ASCII characters get quoted by C<quotemeta> and C<\Q> has
+changed
=back
+=item Performance Enhancements
+
=item Modules and Pragmata
=over 4
-=item New Modules and Pragmata
+=item Deprecated Modules
-=item Updated Modules and Pragma
+L<Version::Requirements>
-much less configuration dialog hassle, support for F<META/MYMETA.json>,
-support for L<local::lib>, support for L<HTTP::Tiny> to reduce the
-dependency on FTP sites, automatic mirror selection, iron out all known
-bugs in configure_requires, support for distributions compressed with
-L<bzip2(1)>, allow F<Foo/Bar.pm> on the command line to mean C<Foo::Bar>,
-charinfo(), charscript(), charblock()
+=item New Modules and Pragmata
+
+=item Updated Modules and Pragmata
=item Removed Modules and Pragmata
@@ -8121,6 +7697,8 @@ charinfo(), charscript(), charblock()
=item Changes to Existing Documentation
+=item Removed Documentation
+
=back
=item Diagnostics
@@ -8129,13 +7707,7 @@ charinfo(), charscript(), charblock()
=item New Diagnostics
-Closure prototype called, Insecure user-defined property %s, panic: gp_free
-failed to free glob pointer - something is repeatedly re-creating entries,
-Parsing code internal error (%s), refcnt: fd %d%s, Regexp modifier "/%c"
-may not appear twice, Regexp modifiers "/%c" and "/%c" are mutually
-exclusive, Using !~ with %s doesn't make sense, "\b{" is deprecated; use
-"\b\{" instead, "\B{" is deprecated; use "\B\{" instead, Operation "%s"
-returns its argument for .., Use of qw(...) as parentheses is deprecated
+=item Removed Errors
=item Changes to Existing Diagnostics
@@ -8149,157 +7721,71 @@ returns its argument for .., Use of qw(...) as parentheses is deprecated
=over 4
-=item New Platforms
-
-AIX
-
-=item Discontinued Platforms
-
-Apollo DomainOS, MacOS Classic
-
=item Platform-Specific Notes
=back
=item Internal Changes
-=over 4
-
-=item New APIs
-
-=item C API Changes
-
-=item Deprecated C APIs
-
-C<Perl_ptr_table_clear>, C<sv_compile_2op>, C<find_rundefsvoffset>,
-C<CALL_FPTR> and C<CPERLscope>
-
-=item Other Internal Changes
-
-=back
-
=item Selected Bug Fixes
=over 4
-=item I/O
-
-=item Regular Expression Bug Fixes
-
-=item Syntax/Parsing Bugs
-
-=item Stashes, Globs and Method Lookup
-
-Aliasing packages by assigning to globs [perl #77358], Deleting packages by
-deleting their containing stash elements, Undefining the glob containing a
-package (C<undef *Foo::>), Undefining an ISA glob (C<undef *Foo::ISA>),
-Deleting an ISA stash element (C<delete $Foo::{ISA}>), Sharing @ISA arrays
-between classes (via C<*Foo::ISA = \@Bar::ISA> or C<*Foo::ISA = *Bar::ISA>)
-[perl #77238]
-
-=item Unicode
-
-=item Ties, Overloading and Other Magic
-
-=item The Debugger
-
-=item Threads
-
-=item Scoping and Subroutines
-
-=item Signals
-
-=item Miscellaneous Memory Leaks
-
-=item Memory Corruption and Crashes
-
-=item Fixes to Various Perl Operators
-
-=item Bugs Relating to the C API
-
-=back
-
-=item Known Problems
-
-=item Errata
-
-=over 4
-
-=item keys(), values(), and each() work on arrays
-
-=item split() and C<@_>
-
-=back
-
-=item Obituary
-
-=item Acknowledgements
+=item Array and hash
-=item Reporting Bugs
+=item C API fixes
-=item SEE ALSO
+=item Compile-time hints
-=back
+=item Copy-on-write scalars
-=head2 perl51311delta - what is new for perl v5.13.11
+=item The debugger
-=over 4
+=item Dereferencing operators
-=item DESCRIPTION
+=item Filehandle, last-accessed
-=item Security
+=item Filetests and C<stat>
-=over 4
+=item Formats
-=item User-defined regular expression properties
+=item C<given> and C<when>
-=back
+=item The C<glob> operator
-=item Incompatible Changes
+=item Lvalue subroutines
-=over 4
+=item Overloading
-=item local($_) will strip all magic from $_
+=item Prototypes of built-in keywords
-=item Passing references to warn()
+=item Regular expressions
-=item fork() emulation will not wait for signalled children
+=item Smartmatching
-=item Perl source code is read in text mode on Windows
+=item The C<sort> operator
-=back
+=item The C<substr> operator
-=item Performance Enhancements
+=item Support for embedded nulls
-=item Modules and Pragmata
+=item Threading bugs
-=over 4
+=item Tied variables
-=item Updated Modules and Pragmata
+=item Version objects and vstrings
-charinfo(), charscript(), charblock()
+=item Warnings, redefinition
-=back
-
-=item Documentation
+=item Warnings, "Uninitialized"
-=over 4
+=item Weak references
-=item Changes to Existing Documentation
+=item Other notable fixes
=back
-=item Diagnostics
-
-=over 4
-
-=item New Diagnostics
-
-=back
-
-=item Testing
-
-=item Selected Bug Fixes
+=item Known Problems
=item Acknowledgements
@@ -8309,165 +7795,147 @@ charinfo(), charscript(), charblock()
=back
-=head2 perl51310delta - what is new for perl v5.13.10
+=head2 perl5160delta - what is new for perl v5.16.0
=over 4
=item DESCRIPTION
+=item Notice
+
=item Core Enhancements
=over 4
-=item The new regular expression modifiers available in suffix form
+=item C<use I<VERSION>>
-=item Add C<\p{Titlecase}> as a synonym for C<\p{Title}>
+=item C<__SUB__>
-=item New regular expression modifier option C</aa>
-
-=item New warnings categories for problematic (non-)Unicode code points.
-
-=back
-
-=item Incompatible Changes
-
-=over 4
+=item New and Improved Built-ins
-=item Most C<\p{}> properties are now immune from case-insensitive matching
+=item Unicode Support
-=item regex: \p{} in pattern implies Unicode semantics
+=item XS Changes
-=item add GvCV_set() and GvGP_set() macros and change GvGP()
+=item Changes to Special Variables
-=item _swash_inversion_hash is no longer exported as part of the API
+=item Debugger Changes
-=item Unreferenced objects in global destruction
+=item The C<CORE> Namespace
-=item C<close> on shared pipes
+=item Other Changes
=back
-=item Deprecations
-
-Deprecated Modules, L<Devel::DProf>
+=item Security
=over 4
-=item User-defined case-mapping
-
-=back
-
-=item Modules and Pragmata
+=item Use C<is_utf8_char_buf()> and not C<is_utf8_char()>
-=over 4
+=item Malformed UTF-8 input could cause attempts to read beyond the end of
+the buffer
-=item New Modules and Pragmata
+=item C<File::Glob::bsd_glob()> memory error with GLOB_ALTDIRFUNC
+(CVE-2011-2728).
-=item Updated Modules and Pragmata
+=item Privileges are now set correctly when assigning to C<$(>
=back
-=item Documentation
+=item Deprecations
=over 4
-=item Changes to Existing Documentation
+=item Don't read the Unicode data base files in F<lib/unicore>
+
+=item XS functions C<is_utf8_char()>, C<utf8_to_uvchr()> and
+C<utf8_to_uvuni()>
=back
-=item Diagnostics
+=item Future Deprecations
=over 4
-=item New Diagnostics
+=item Core Modules
-"\b{" is deprecated; use "\b\{" instead, "\B{" is deprecated; use "\B\{"
-instead, regcomp: Add warning if \p is used under locale. (fb2e24c), panic:
-gp_free failed to free glob pointer - something is repeatedly re-creating
-entries, refcnt: fd %d%s
+=item Platforms with no supporting programmers:
-=item Changes to Existing Diagnostics
+=item Other Future Deprecations
=back
-=item Utility Changes
-
-=item Configuration and Compilation
-
-=item Testing
-
-=item Platform Support
+=item Incompatible Changes
=over 4
-=item Platform-Specific Notes
+=item Special blocks called in void context
-Windows, MirBSD
+=item The C<overloading> pragma and regexp objects
-=back
+=item Two XS typemap Entries removed
-=item Internal Changes
+=item Unicode 6.1 has incompatibilities with Unicode 6.0
-=item Selected Bug Fixes
+=item Borland compiler
-=item Acknowledgements
+=item Certain deprecated Unicode properties are no longer supported by
+default
-=item Reporting Bugs
+=item Dereferencing IO thingies as typeglobs
-=item SEE ALSO
+=item User-defined case-changing operations
-=back
+=item XSUBs are now 'static'
-=head2 perl5139delta - what is new for perl v5.13.9
+=item Weakening read-only references
-=over 4
+=item Tying scalars that hold typeglobs
-=item DESCRIPTION
+=item IPC::Open3 no longer provides C<xfork()>, C<xclose_on_exec()>
+and C<xpipe_anon()>
-=item Core Enhancements
+=item C<$$> no longer caches PID
-=over 4
+=item C<$$> and C<getppid()> no longer emulate POSIX semantics under
+LinuxThreads
-=item New regular expression modifier C</a>
+=item C<< $< >>, C<< $> >>, C<$(> and C<$)> are no longer cached
-=item Any unsigned value can be encoded as a character
-
-=item Regular expression debugging output improvement
+=item Which Non-ASCII characters get quoted by C<quotemeta> and C<\Q> has
+changed
=back
-=item Security
-
-=over 4
-
-=item Restrict \p{IsUserDefined} to In\w+ and Is\w+
-
-=back
+=item Performance Enhancements
-=item Incompatible Changes
+=item Modules and Pragmata
=over 4
-=item All objects are destroyed
+=item Deprecated Modules
-=back
-
-=item Modules and Pragmata
-
-=over 4
+L<Version::Requirements>
=item New Modules and Pragmata
=item Updated Modules and Pragmata
+=item Removed Modules and Pragmata
+
=back
=item Documentation
=over 4
+=item New Documentation
+
=item Changes to Existing Documentation
+=item Removed Documentation
+
=back
=item Diagnostics
@@ -8476,129 +7944,85 @@ Windows, MirBSD
=item New Diagnostics
+=item Removed Errors
+
=item Changes to Existing Diagnostics
=back
=item Utility Changes
-=item Testing
+=item Configuration and Compilation
=item Platform Support
=over 4
-=item Discontinued Platforms
-
-Apollo DomainOS, MacOS Classic
-
=item Platform-Specific Notes
-Cygwin, Solaris
-
=back
=item Internal Changes
=item Selected Bug Fixes
-=item Known Problems
-
-=item Acknowledgements
-
-=item Reporting Bugs
-
-=item SEE ALSO
-
-=back
-
-=head2 perl5138delta - what is new for perl v5.13.8
-
=over 4
-=item DESCRIPTION
+=item Array and hash
-=item Core Enhancements
+=item C API fixes
-=over 4
-
-=item C<-d:-foo> calls C<Devel::foo::unimport>
-
-C<-d:-foo>, C<-d:-foo=bar>
-
-=item Filehandle method calls load L<IO::File> on demand
-
-=item Full functionality for C<use feature 'unicode_strings'>
-
-=item Exception Handling Backcompat Hack
+=item Compile-time hints
-=item printf-like functions understand post-1980 size modifiers
+=item Copy-on-write scalars
-=item DTrace probes now include package name
+=item The debugger
-=item Stacked labels
-
-=back
-
-=item Incompatible Changes
-
-=over 4
+=item Dereferencing operators
-=item C<:=> is now a syntax error
+=item Filehandle, last-accessed
-=item Run-time code block in regular expressions
+=item Filetests and C<stat>
-=back
-
-=item Deprecations
-
-=over 4
-
-=item C<?PATTERN?> is deprecated
-
-=item C<sv_compile_2op()> is now deprecated
+=item Formats
-=item Tie functions on scalars holding typeglobs
+=item C<given> and C<when>
-=back
+=item The C<glob> operator
-=item Modules and Pragmata
-
-=over 4
+=item Lvalue subroutines
-=item Updated Modules and Pragmata
+=item Overloading
-=item Dual-life Modules and Pragmata
+=item Prototypes of built-in keywords
-=back
+=item Regular expressions
-=item Diagnostics
+=item Smartmatching
-=over 4
+=item The C<sort> operator
-=item New Diagnostics
+=item The C<substr> operator
-=item Changes to Existing Diagnostics
+=item Support for embedded nulls
-=back
+=item Threading bugs
-=item Configuration and Compilation
+=item Tied variables
-=item Testing
+=item Version objects and vstrings
-=item Platform Support
+=item Warnings, redefinition
-=over 4
+=item Warnings, "Uninitialized"
-=item Platform-Specific Notes
+=item Weak references
-NetBSD, Windows
+=item Other notable fixes
=back
-=item Internal Changes
-
-=item Selected Bug Fixes
+=item Known Problems
=item Acknowledgements
@@ -8608,7 +8032,7 @@ NetBSD, Windows
=back
-=head2 perl5137delta - what is new for perl v5.13.7
+=head2 perl5143delta - what is new for perl v5.14.3
=over 4
@@ -8616,48 +8040,20 @@ NetBSD, Windows
=item Core Enhancements
-=over 4
-
-=item Single term prototype
-
-=item C<use re '/flags';>
-
-=item Statement labels can appear in more places
-
-=item C<use feature "unicode_strings"> now applies to more regex matching
-
-=item Array and hash container functions accept references
-
-=item y///r
+=item Security
-=item New global variable C<${^GLOBAL_PHASE}>
+=over 4
-=item Unicode Version 6.0 is now supported (mostly)
+=item C<Digest> unsafe use of eval (CVE-2011-3597)
-=item Improved support for custom OPs
+=item Heap buffer overrun in 'x' string repeat operator (CVE-2012-5195)
=back
=item Incompatible Changes
-=over 4
-
-=item Dereferencing typeglobs
-
-=item Clearing stashes
-
-=back
-
=item Deprecations
-=over 4
-
-=item C<\N{BELL}> is deprecated
-
-=back
-
-=item Performance Enhancements
-
=item Modules and Pragmata
=over 4
@@ -8666,6 +8062,8 @@ NetBSD, Windows
=item Updated Modules and Pragmata
+=item Removed Modules and Pragmata
+
=back
=item Documentation
@@ -8678,33 +8076,23 @@ NetBSD, Windows
=back
-=item Diagnostics
-
-=over 4
-
-=item New Diagnostics
-
-=back
-
-=item Utility Changes
-
-=item Testing
+=item Configuration and Compilation
=item Platform Support
=over 4
-=item Platform-Specific Notes
+=item New Platforms
-Windows, VMS
+=item Discontinued Platforms
-=back
+=item Platform-Specific Notes
-=item Internal Changes
+FreeBSD, Solaris and NetBSD, HP-UX, Linux, Mac OS X, GNU/Hurd, NetBSD
-=item Selected Bug Fixes
+=back
-=item Obituary
+=item Bug Fixes
=item Acknowledgements
@@ -8714,7 +8102,7 @@ Windows, VMS
=back
-=head2 perl5136delta - what is new for perl v5.13.6
+=head2 perl5142delta - what is new for perl v5.14.2
=over 4
@@ -8722,87 +8110,51 @@ Windows, VMS
=item Core Enhancements
-=over 4
-
-=item C<(?^...)> regex construct added to signify default modifiers
-
-=item C<"d">, C<"l">, and C<"u"> regex modifiers added
-
-=item C<use feature "unicode_strings"> now applies to some regex matching
-
-=item C<\N{...}> now handles Unicode named character sequences
-
-=item New function C<charnames::string_vianame()>
-
-=item Reentrant regular expression engine
+=item Security
-=item Custom per-subroutine check hooks
+=over 4
-=item Return value of C<delete $+{...}>
+=item C<File::Glob::bsd_glob()> memory error with GLOB_ALTDIRFUNC
+(CVE-2011-2728).
-=item C<keys>, C<values> work on arrays
+=item C<Encode> decode_xs n-byte heap-overflow (CVE-2011-2939)
=back
=item Incompatible Changes
-=over 4
-
-=item Stringification of regexes has changed
-
-=item Regular expressions retain their localeness when interpolated
-
-=item Directory handles not copied to threads
-
-=item Negation treats strings differently from before
-
-=item Negative zero
-
-=back
-
-=item Performance Enhancements
+=item Deprecations
=item Modules and Pragmata
=over 4
-=item Updated Modules and Pragmata
-
-=back
-
-=item Documentation
+=item New Modules and Pragmata
-=over 4
+=item Updated Modules and Pragmata
-=item Changes to Existing Documentation
+=item Removed Modules and Pragmata
=back
-=item Diagnostics
+=item Platform Support
=over 4
-=item Changes to Existing Diagnostics
-
-=back
-
-=item Testing
-
-=item Platform Support
+=item New Platforms
-=over 4
+=item Discontinued Platforms
=item Platform-Specific Notes
-IRIX, Mac OS X, OpenVOS, VMS, Windows
+HP-UX PA-RISC/64 now supports gcc-4.x, Building on OS X 10.7 Lion and Xcode
+4 works again
=back
-=item Internal Changes
-
-=item Selected Bug Fixes
+=item Bug Fixes
-=item Errata
+=item Known Problems
=item Acknowledgements
@@ -8812,7 +8164,7 @@ IRIX, Mac OS X, OpenVOS, VMS, Windows
=back
-=head2 perl5135delta - what is new for perl v5.13.5
+=head2 perl5141delta - what is new for perl v5.14.1
=over 4
@@ -8820,53 +8172,21 @@ IRIX, Mac OS X, OpenVOS, VMS, Windows
=item Core Enhancements
-=over 4
-
-=item Adjacent pairs of nextstate opcodes are now optimized away
-
-=item API function to parse statements
-
-=item API functions for accessing the runtime hinthash
-
-=item C interface to C<caller()>
-
-=back
+=item Security
=item Incompatible Changes
-=over 4
-
-=item Magic variables outside the main package
-
-=item Smart-matching against array slices
-
-=item C API changes
-
-=back
-
=item Deprecations
-=over 4
-
-=item Use of qw(...) as parentheses
-
-=back
-
-=item Performance Enhancements
-
=item Modules and Pragmata
=over 4
+=item New Modules and Pragmata
+
=item Updated Modules and Pragmata
-C<bignum>, C<blib>, C<open>, C<threads-shared>, C<warnings> and
-C<warnings::register>, C<B::Debug>, C<CPANPLUS::Dist::Build>,
-C<Data::Dumper>, C<Encode>, C<Errno>, C<ExtUtils::MakeMaker>,
-C<Filter::Simple>, C<Hash::Util>, C<Math::BigInt>,
-C<Math::BigInt::FastCalc>, C<Math::BigRat>, C<Module::CoreList>,
-C<PerlIO::scalar>, C<POSIX>, C<Safe>, C<Test::Simple>, C<Tie::Hash>,
-C<Unicode::Collate>, C<XSLoader>
+=item Removed Modules and Pragmata
=back
@@ -8874,6 +8194,8 @@ C<Unicode::Collate>, C<XSLoader>
=over 4
+=item New Documentation
+
=item Changes to Existing Documentation
=back
@@ -8890,23 +8212,25 @@ C<Unicode::Collate>, C<XSLoader>
=item Utility Changes
+=item Configuration and Compilation
+
=item Testing
=item Platform Support
=over 4
-=item Platform-Specific Notes
+=item New Platforms
-VMS
+=item Discontinued Platforms
+
+=item Platform-Specific Notes
=back
=item Internal Changes
-=item Selected Bug Fixes
-
-=item Known Problems
+=item Bug Fixes
=item Acknowledgements
@@ -8916,154 +8240,140 @@ VMS
=back
-=head2 perl5134delta - what is new for perl v5.13.4
+=head2 perl5140delta - what is new for perl v5.14.0
=over 4
=item DESCRIPTION
+=item Notice
+
=item Core Enhancements
=over 4
-=item C<srand()> now returns the seed
-
-=item C<\N{I<name>}> and C<charnames> enhancements
-
-=back
+=item Unicode
-=item Incompatible Changes
+=item Regular Expressions
-=over 4
+=item Syntactical Enhancements
-=item Declare API incompatibility between blead releases
+=item Exception Handling
-=item Check API compatibility when loading XS modules
+=item Other Enhancements
-=item Binary Incompatible with all previous Perls
+C<-d:-foo>, C<-d:-foo=bar>
-=item Change in the parsing of certain prototypes
+=item New C APIs
=back
-=item Deprecations
+=item Security
=over 4
-=item List assignment to C<$[>
+=item User-defined regular expression properties
=back
-=item Performance Enhancements
-
-=item Modules and Pragmata
+=item Incompatible Changes
=over 4
-=item New Modules and Pragmata
-
-=item Updated Modules and Pragmata
-
-C<Archive::Tar>, C<B::Lint>, C<Carp>, C<Compress::Raw::Bzip2>,
-C<Compress::Raw::Zlib>, C<File::Spec>, C<I18N::Langinfo>, C<IO::Compress>,
-C<Module::CoreList>, C<Test::Harness>, C<Test::Simple>,
-C<Unicode::Collate>, C<feature>
-
-=item Removed Modules and Pragmata
+=item Regular Expressions and String Escapes
-=back
+=item Stashes and Package Variables
-=item Documentation
+=item Changes to Syntax or to Perl Operators
-=over 4
+=item Threads and Processes
-=item Changes to Existing Documentation
+=item Configuration
=back
-=item Configuration and Compilation
+=item Deprecations
-=item Testing
+=over 4
-=item Platform Support
+=item Omitting a space between a regular expression and subsequent word
-=over 4
+=item C<\cI<X>>
-=item Platform-Specific Notes
+=item C<"\b{"> and C<"\B{">
-Win32
+=item Perl 4-era .pl libraries
-=back
+=item List assignment to C<$[>
-=item Internal Changes
+=item Use of qw(...) as parentheses
-Removed C<PERL_POLLUTE>, Added C<PERL_STATIC_INLINE>
+=item C<\N{BELL}>
-=item Selected Bug Fixes
+=item C<?PATTERN?>
-=item Known Problems
+=item Tie functions on scalars holding typeglobs
-=item Acknowledgements
+=item User-defined case-mapping
-=item Reporting Bugs
+=item Deprecated modules
-=item SEE ALSO
+L<Devel::DProf>
=back
-=head2 perl5133delta - what is new for perl v5.13.3
+=item Performance Enhancements
=over 4
-=item DESCRIPTION
+=item "Safe signals" optimisation
-=item Core Enhancements
+=item Optimisation of shift() and pop() calls without arguments
-=over 4
+=item Optimisation of regexp engine string comparison work
-=item \o{...} for octals
+=item Regular expression compilation speed-up
-=item C<\N{I<name>}> and C<charnames> enhancements
+=item String appending is 100 times faster
-=item Uppercase X/B allowed in hexadecimal/binary literals
+=item Eliminate C<PL_*> accessor functions under ithreads
-=back
+=item Freeing weak references
-=item Incompatible Changes
+=item Lexical array and hash assignments
-=over 4
+=item C<@_> uses less memory
-=item \400 - \777
+=item Size optimisations to SV and HV structures
-=back
+=item Memory consumption improvements to Exporter
-=item Deprecations
+=item Memory savings for weak references
-=over 4
+=item C<%+> and C<%-> use less memory
-=item Omitting a space between a regular expression and subsequent word
+=item Multiple small improvements to threads
-=item Deprecation warning added for deprecated-in-core .pl libs
+=item Adjacent pairs of nextstate opcodes are now optimized away
=back
-=item Performance Enhancements
-
=item Modules and Pragmata
=over 4
-=item Updated Modules and Pragmata
+=item New Modules and Pragmata
+
+=item Updated Modules and Pragma
+
+much less configuration dialog hassle, support for F<META/MYMETA.json>,
+support for L<local::lib>, support for L<HTTP::Tiny> to reduce the
+dependency on FTP sites, automatic mirror selection, iron out all known
+bugs in configure_requires, support for distributions compressed with
+L<bzip2(1)>, allow F<Foo/Bar.pm> on the command line to mean C<Foo::Bar>,
+charinfo(), charscript(), charblock()
-C<autodie>, C<charnames>, C<lib>, C<threads>, C<threads::shared>,
-C<warnings>, C<Archive::Extract>, C<Archive::Tar>, C<Attribute::Handlers>,
-C<Compress::Raw::Bzip2>, C<Compress::Raw::Zlib>, C<Compress::Zlib>,
-C<CPANPLUS>, C<Digest::MD5>, C<Digest::SHA>, C<Exporter>,
-C<ExtUtils::CBuilder>, C<ExtUtils::Manifest>, C<ExtUtils::ParseXS>,
-C<File::Copy>, C<I18N::LangTags>, C<IPC::Cmd>, C<IPC::SysV>,
-C<Locale::Maketext>, C<Module::Build>, C<Module::CoreList>,
-C<Module::Load>, C<Term::ANSIColor>, C<Test::Harness>, C<Time::HiRes>,
-C<Time::Piece>, C<Unicode::Collate>, C<Unicode::Normalize>
+=item Removed Modules and Pragmata
=back
@@ -9077,226 +8387,115 @@ C<Time::Piece>, C<Unicode::Collate>, C<Unicode::Normalize>
=back
-=item Utility Changes
-
-=item Configuration and Compilation
-
-=item Testing
-
-=item Platform Support
-
-=over 4
-
-=item Discontinued Platforms
-
-MacOS Classic
-
-=item Platform-Specific Notes
-
-Win32
-
-=back
-
-=item Internal Changes
-
-=item Selected Bug Fixes
-
-=item Known Problems
-
-=item Errata
-
-=item Acknowledgements
-
-=item Reporting Bugs
-
-=item SEE ALSO
-
-=back
-
-=head2 perl5132delta - what is new for perl v5.13.2
-
-=over 4
-
-=item DESCRIPTION
-
-=item Incompatible Changes
-
-=over 4
-
-=item localised tied scalars are tied again.
-
-=item Naming fixes in Policy_sh.SH may invalidate Policy.sh
-
-=item Stashes are now always defined
-
-=back
-
-=item Core Enhancements
+=item Diagnostics
=over 4
-=item Non-destructive substitution
-
-=item package block syntax
+=item New Diagnostics
-=item CLONE_PARAMS structure added to ease correct thread creation
+Closure prototype called, Insecure user-defined property %s, panic: gp_free
+failed to free glob pointer - something is repeatedly re-creating entries,
+Parsing code internal error (%s), refcnt: fd %d%s, Regexp modifier "/%c"
+may not appear twice, Regexp modifiers "/%c" and "/%c" are mutually
+exclusive, Using !~ with %s doesn't make sense, "\b{" is deprecated; use
+"\b\{" instead, "\B{" is deprecated; use "\B\{" instead, Operation "%s"
+returns its argument for .., Use of qw(...) as parentheses is deprecated
-=item perl -h no longer recommends -w
+=item Changes to Existing Diagnostics
=back
-=item Modules and Pragmata
-
-=over 4
-
-=item Updated Modules
-
-release 1.94_57, bugfix: treat modules correctly that are deprecated in
-perl 5.12, bugfix: RT #57482 and #57788 revealed that configure_requires
-implicitly assumed build_requires instead of normal requires. (Reported by
-Andrew Whatson and Father Chrysostomos respectively), testfix: solaris
-should run the tests without expect because (some?) solaris have a broken
-expect, testfix: run tests with cache_metadata off to prevent spill over
-effects from previous test runs
+=item Utility Changes
-=back
+=item Configuration and Compilation
-=item Changes to Existing Documentation
+=item Platform Support
=over 4
-=item Replace wrong tr/// table in perlebcdic.pod
-
-=item Document tricks for user-defined casing
+=item New Platforms
-=item Document $# and $* as removed and clarify $#array usage
+AIX
-=item INSTALL explicitly states the requirement for C89
+=item Discontinued Platforms
-=item No longer advertise Math::TrulyRandom
+Apollo DomainOS, MacOS Classic
-=item perlfaq synchronised to upstream
+=item Platform-Specific Notes
=back
-=item Performance Enhancements
+=item Internal Changes
=over 4
-=item Multiple small improvements to threads
-
-=item Size optimisations to SV and HV structures
-
-=item Optimisation of regexp engine string comparison work
-
-=item Memory consumption improvements to Exporter
+=item New APIs
-=back
+=item C API Changes
-=item Installation and Configuration Improvements
+=item Deprecated C APIs
-=over 4
+C<Perl_ptr_table_clear>, C<sv_compile_2op>, C<find_rundefsvoffset>,
+C<CALL_FPTR> and C<CPERLscope>
-=item Compilation improvements
+=item Other Internal Changes
=back
=item Selected Bug Fixes
-Timely cleanup of SVs that are cloned into a new thread but then discovered
-to be orphaned (i.e. their owners are -not- cloned) (e42956), Don't
-accidentally clone lexicals in scope within active stack frames in the
-parent when creating a child thread (RT #73086) (05d04d), Avoid loading
-feature.pm when 'no 5.13.2;' or similar is encountered (faee19), Trap
-invalid use of SvIVX on SVt_REGEXP when assertions are on (e77da3), Don't
-stamp on $DB::single, $DB::trace and $DB::signal if they already have
-values when $^P is assigned to (RT #72422) (4c0f30), chop now correctly
-handles perl's extended UTF-8 (RT #73246) (65ab92), Defer signal handling
-when shared SV locks are held to avoid deadlocks (RT #74868) (65c742),
-glob() no longer crashes when %File::Glob:: is empty and CORE::GLOBAL::glob
-isn't present (4984aa), perlbug now always permits the sender address to be
-changed before sending - if you were having trouble sending bug reports
-before now, this should fix it, we hope (e6eb90), Overloading now works
-properly in conjunction with tied variables. What formerly happened was
-that most ops checked their arguments for overloading I<before> checking
-for magic, so for example an overloaded object returned by a tied array
-access would usually be treated as not overloaded (RT #57012) (6f1401,
-ed3b9b, 6a5f8c .. 24328f), Independently, a bug was fixed that prevented
-$tied-E<gt>() from always calling FETCH correctly (RT #8438) (7c7501)
-
-=item Changed Internals
-
-The implementation of sv_dup_inc() has changed from a macro to a function
-
-=item Deprecations
-
-=item Platform Specific Notes
-
=over 4
-=item Recent OpenBSDs now use perl's malloc
-
-=back
-
-=item Acknowledgements
-
-=item Reporting Bugs
+=item I/O
-=item SEE ALSO
+=item Regular Expression Bug Fixes
-=back
+=item Syntax/Parsing Bugs
-=head2 perl5131delta - what is new for perl v5.13.1
+=item Stashes, Globs and Method Lookup
-=over 4
+Aliasing packages by assigning to globs [perl #77358], Deleting packages by
+deleting their containing stash elements, Undefining the glob containing a
+package (C<undef *Foo::>), Undefining an ISA glob (C<undef *Foo::ISA>),
+Deleting an ISA stash element (C<delete $Foo::{ISA}>), Sharing @ISA arrays
+between classes (via C<*Foo::ISA = \@Bar::ISA> or C<*Foo::ISA = *Bar::ISA>)
+[perl #77238]
-=item DESCRIPTION
+=item Unicode
-=item Incompatible Changes
+=item Ties, Overloading and Other Magic
-=over 4
+=item The Debugger
-=item "C<\cI<X>>"
+=item Threads
-=item localised tied hashes, arrays and scalars are no longed tied
+=item Scoping and Subroutines
-=item C<given> return values
+=item Signals
-=back
+=item Miscellaneous Memory Leaks
-=item Core Enhancements
+=item Memory Corruption and Crashes
-=over 4
+=item Fixes to Various Perl Operators
-=item Exception Handling Reliability
+=item Bugs Relating to the C API
=back
-=item Modules and Pragmata
-
-=over 4
+=item Known Problems
-=item Updated Modules
+=item Errata
-C<Errno>, Perl 4 C<.pl> libraries, C<B::Deparse>
+=over 4
-=item Removed Modules and Pragmata
+=item keys(), values(), and each() work on arrays
-C<Class::ISA>, C<Pod::Plainer>, C<Switch>
+=item split() and C<@_>
=back
-=item New Documentation
-
-perlgpl
-
-=item Selected Bug Fixes
-
-=item Changed Internals
-
-=item Deprecations
-
-C<Perl_ptr_table_clear>
+=item Obituary
=item Acknowledgements
@@ -9306,44 +8505,25 @@ C<Perl_ptr_table_clear>
=back
-=head2 perl5130delta - what is new for perl v5.13.0
+=head2 perl5124delta - what is new for perl v5.12.4
=over 4
=item DESCRIPTION
-=item Core Enhancements
-
-=over 4
-
-=item "safe signals" optimization
-
-=item Assignment to C<$0> sets the legacy process name with C<prctl()> on
-Linux
-
-=item Optimization of shift; and pop; calls without arguments
+=item Incompatible Changes
-=back
+=item Selected Bug Fixes
=item Modules and Pragmata
-=over 4
-
-=item Updated Modules
-
-CGI, Data::Dumper, MIME::Base64, threads, threads-shared
-
-=back
-
-=item Installation and Configuration Improvements
-
-=over 4
+=item Testing
-=item Platform Specific Changes
+=item Documentation
-AIX
+=item Platform Specific Notes
-=back
+Linux
=item Acknowledgements
@@ -9725,515 +8905,6 @@ OpenVMS, Stratus VOS, Symbian, Windows
=back
-=head2 perl5115delta - what is new for perl v5.11.5
-
-=over 4
-
-=item DESCRIPTION
-
-=item Core Enhancements
-
-=over 4
-
-=item 32-bit limit on substr arguments removed
-
-=back
-
-=item Modules and Pragmata
-
-=over 4
-
-=item Pragmata Changes
-
-C<version>
-
-=item Updated Modules
-
-C<B::Debug>, C<CPAN>, C<CPANPLUS::Dist::Build>, C<Pod::Perldoc>,
-C<Pod::Plainer>, C<Safe>, C<Socket>, C<podlators>
-
-=back
-
-=item Changes to Existing Documentation
-
-=item Installation and Configuration Improvements
-
-=over 4
-
-=item Configuration improvements
-
-=back
-
-=item Selected Bug Fixes
-
-=item New or Changed Diagnostics
-
-=item New Tests
-
-F<t/op/filehandle.t>, F<t/op/time_loop.t>
-
-=item Known Problems
-
-=item Acknowledgements
-
-=item Reporting Bugs
-
-=item SEE ALSO
-
-=back
-
-=head2 perl5114delta - what is new for perl v5.11.4
-
-=over 4
-
-=item DESCRIPTION
-
-=item Incompatible Changes
-
-=over 4
-
-=item Version number formats
-
-=back
-
-=item Core Enhancements
-
-=over 4
-
-=item Unicode properties
-
-=back
-
-=item Modules and Pragmata
-
-=over 4
-
-=item Pragmata Changes
-
-C<less>, C<version>, C<warnings>
-
-=item Updated Modules
-
-C<Archive::Extract>, C<B::Deparse>, C<Compress::Raw::Bzip2>,
-C<Compress::Raw::Zlib>, C<CPAN>, C<File::Fetch>, C<Module::Build>, C<Safe>
-
-=item Removed Modules and Pragmata
-
-C<Devel::DProf::V>
-
-=back
-
-=item Changes to Existing Documentation
-
-=over 4
-
-=item Configuration improvements
-
-=item Platform Specific Changes
-
-VMS
-
-=back
-
-=item Selected Bug Fixes
-
-=item New or Changed Diagnostics
-
-New warning category C<illegalproto>, lvalue attribute ignored after the
-subroutine has been defined
-
-=item Changed Internals
-
-=item Known Problems
-
-=item Deprecations
-
-C<< UNIVERSAL-E<gt>import() >>
-
-=item Acknowledgements
-
-=item Reporting Bugs
-
-=item SEE ALSO
-
-=back
-
-=head2 perl5113delta - what is new for perl v5.11.3
-
-=over 4
-
-=item DESCRIPTION
-
-=item Incompatible Changes
-
-=over 4
-
-=item Filehandles are blessed directly into C<IO::Handle>, as C<FileHandle>
-is merely a wrapper around C<IO::Handle>.
-
-=back
-
-=item Core Enhancements
-
-=over 4
-
-=item Unicode version
-
-=item Unicode properties
-
-=item Regular Expressions
-
-=back
-
-=item Modules and Pragmata
-
-=over 4
-
-=item Pragmata Changes
-
-C<constant>, C<diagnostics>, C<feature>, C<legacy>, C<threads>, C<warnings>
-
-=item Updated Modules
-
-C<Archive::Extract>, C<CPAN>, C<CPANPLUS>, C<Encode>,
-C<ExtUtils::MakeMaker>, C<File::Path>, C<Module::Build>,
-C<Module::CoreList>, C<POSIX>, C<Pod::Simple>, C<Safe>
-
-=back
-
-=item Utility Changes
-
-F<perlbug>
-
-=item Changes to Existing Documentation
-
-=item Installation and Configuration Improvements
-
-=over 4
-
-=item Testing improvements
-
-It's now possible to override C<PERL5OPT> and friends in F<t/TEST>
-
-=item Platform Specific Changes
-
-Win32, cygwin, Enable IPv6 support on cygwin 1.7 and newer, OpenVMS, Make
--UDEBUGGING the default on VMS for 5.12.0
-
-=back
-
-=item Selected Bug Fixes
-
-=item New or Changed Diagnostics
-
-=item New Tests
-
-t/comp/final_line_num.t, t/comp/form_scope.t, t/comp/line_debug.t,
-t/op/filetest_t.t, t/op/qr.t, t/op/utf8cache.t, t/re/uniprops.t
-
-=item Deprecations
-
-Use of "goto" to jump into a construct is deprecated
-
-=item Acknowledgements
-
-=item Reporting Bugs
-
-=item SEE ALSO
-
-=back
-
-=head2 perl5112delta - what is new for perl v5.11.2
-
-=over 4
-
-=item DESCRIPTION
-
-=item Core Enhancements
-
-=over 4
-
-=item qr overloading
-
-=item Pluggable keywords
-
-=item APIs for more internals
-
-=item Overridable function lookup
-
-=back
-
-=item Modules and Pragmata
-
-=over 4
-
-=item New Modules and Pragmata
-
-C<legacy>
-
-=item Pragmata Changes
-
-C<diagnostics>, C<overload>
-
-=item Updated Modules
-
-C<B::Concise>, C<B::Deparse>, C<Carp>, C<Compress::Zlib>, C<CPANPLUS>,
-C<Encode>, C<ExtUtils::CBuilder>, C<Env>, C<File::Fetch>, C<I8N::Langinfo>,
-C<I8N::LangTags>, C<IO::Compress>, C<IPC::Cmd>, C<List::Util>,
-C<Locale::Maketext>, C<Module::Build>, C<Module::CoreList>, C<Pod::Simple>,
-C<Scalar::Util>, C<Switch>
-
-=back
-
-=item Utility Changes
-
-F<a2p>
-
-=item Performance Enhancements
-
-=item New or Changed Diagnostics
-
-C<Bad plugin affecting keyword '%s'>, C<gmtime(%.0f) too large>, C<Lexing
-code attempted to stuff non-Latin-1 character into Latin-1 input>, C<Lexing
-code internal error (%s)>, C<localtime(%.0f) too large>, C<Overloaded
-dereference did not return a reference>, C<Overloaded qr did not return a
-REGEXP>, C<Perl_pmflag() is deprecated, and will be removed from the XS
-API>, C<Runaway format>
-
-=item Changed Internals
-
-=item New Tests
-
-F<t/op/while_readdir.t>
-
-=item Known Problems
-
-Known test failures on VMS
-
-=item Deprecations
-
-=over 4
-
-=item Use of C<:=> to mean an empty attribute list is now deprecated.
-
-=back
-
-=item Acknowledgements
-
-=item Reporting Bugs
-
-=item SEE ALSO
-
-=back
-
-=head2 perl5111delta - what is new for perl v5.11.1
-
-=over 4
-
-=item DESCRIPTION
-
-=item Incompatible Changes
-
-=item Core Enhancements
-
-=over 4
-
-=item Add C<package NAME VERSION> syntax
-
-=back
-
-=item Modules and Pragmata
-
-=over 4
-
-=item Updated Modules
-
-=back
-
-=item New Documentation
-
-=item Changes to Existing Documentation
-
-Documentation for C<$1> in perlvar.pod clarified
-
-=item Performance Enhancements
-
-C<if (%foo)> has been optimized to be faster than C<if (keys %foo)>
-
-=item Platform Specific Notes
-
-Darwin (Mac OS X), DragonFly BSD, Win32
-
-=item Selected Bug Fixes
-
-=item New or Changed Diagnostics
-
-=item Testing
-
-=item Known Problems
-
-Untriaged test crashes on Windows 2000, Known test failures on VMS
-
-=item Errata for 5.11.0
-
-The Perl 5.11.0 release notes incorrectly described 'delete local'
-
-=item Acknowledgements
-
-=item Reporting Bugs
-
-=item SEE ALSO
-
-=back
-
-=head2 perl5110delta - what is new for perl v5.11.0
-
-=over 4
-
-=item DESCRIPTION
-
-=item Incompatible Changes
-
-=over 4
-
-=item Unicode interpretation of \w, \d, \s, and the POSIX character classes
-redefined.
-
-=item @INC reorganization
-
-=item Switch statement changes
-
-flip-flop operators, defined-or operator
-
-=item Smart match changes
-
-=item Labels can't be keywords
-
-=item Other incompatible changes
-
-=back
-
-=item Core Enhancements
-
-=over 4
-
-=item Unicode Character Database 5.1.0
-
-=item A proper interface for pluggable Method Resolution Orders
-
-=item The C<overloading> pragma
-
-=item C<\N> regex escape
-
-=item Implicit strictures
-
-=item Parallel tests
-
-=item The C<...> operator
-
-=item DTrace support
-
-=item Support for C<configure_requires> in CPAN module metadata
-
-=item C<each> is now more flexible
-
-=item Y2038 compliance
-
-=item C<$,> flexibility
-
-=item // in where clauses
-
-=item Enabling warnings from your shell environment
-
-=item C<delete local>
-
-=item New support for Abstract namespace sockets
-
-=back
-
-=item Modules and Pragmata
-
-=over 4
-
-=item Dual-lifed modules moved
-
-=item New Modules and Pragmata
-
-C<autodie>, C<Compress::Raw::Bzip2>, C<parent>, C<Parse::CPAN::Meta>
-
-=item Pragmata Changes
-
-C<overloading>, C<attrs>, C<charnames>, C<feature>, C<mro>
-
-=item Updated Modules
-
-C<ExtUtils::MakeMaker>, C<Test::Harness>, C<UNIVERSAL>
-
-=back
-
-=item Utility Changes
-
-F<h2ph>, F<h2xs>, F<perl5db.pl>, F<perlbug>, F<perlthanks>
-
-=item New Documentation
-
-L<perlhaiku>, L<perlmroapi>, L<perlperf>, L<perlrepository>
-
-=item Changes to Existing Documentation
-
-=item Performance Enhancements
-
-=item Installation and Configuration Improvements
-
-=over 4
-
-=item F<ext/> reorganisation
-
-=item Configuration improvements
-
-=item Compilation improvements
-
-=item Platform Specific Changes
-
-AIX, Cygwin, DomainOS, FreeBSD, Irix, Haiku, MachTen, MiNT, MirOS BSD,
-NetBSD, Stratus VOS, Symbian, Win32, VMS
-
-=back
-
-=item Selected Bug Fixes
-
-=item New or Changed Diagnostics
-
-C<panic: sv_chop %s>, C<Can't locate package %s for the parents of %s>,
-C<v-string in use/require is non-portable>, C<Deep recursion on subroutine
-"%s">
-
-=item Changed Internals
-
-C<SVf_UTF8>, C<SVs_TEMP>
-
-=item New Tests
-
-t/comp/retainedlines.t, t/io/perlio_fail.t, t/io/perlio_leaks.t,
-t/io/perlio_open.t, t/io/perlio.t, t/io/pvbm.t, t/mro/package_aliases.t,
-t/op/dbm.t, t/op/index_thr.t, t/op/pat_thr.t, t/op/qr_gc.t,
-t/op/reg_email_thr.t, t/op/regexp_qr_embed_thr.t,
-t/op/regexp_unicode_prop.t, t/op/regexp_unicode_prop_thr.t,
-t/op/reg_nc_tie.t, t/op/reg_posixcc.t, t/op/re.t, t/op/setpgrpstack.t,
-t/op/substr_thr.t, t/op/upgrade.t, t/uni/lex_utf8.t, t/uni/tie.t
-
-=item Known Problems
-
-=item Deprecations
-
-=item Acknowledgements
-
-=item Reporting Bugs
-
-=item SEE ALSO
-
-=back
-
=head2 perl5101delta - what is new for perl v5.10.1
=over 4
@@ -10659,765 +9330,6 @@ v-string in use/require is non-portable, perl -V
=back
-=head2 perl595delta - what is new for perl v5.9.5
-
-=over 4
-
-=item DESCRIPTION
-
-=item Incompatible Changes
-
-=over 4
-
-=item Tainting and printf
-
-=item undef and signal handlers
-
-=item strictures and array/hash dereferencing in defined()
-
-=item C<(?p{})> has been removed
-
-=item Pseudo-hashes have been removed
-
-=item Removal of the bytecode compiler and of perlcc
-
-=item Removal of the JPL
-
-=item Recursive inheritance detected earlier
-
-=back
-
-=item Core Enhancements
-
-=over 4
-
-=item Regular expressions
-
-Recursive Patterns, Named Capture Buffers, Possessive Quantifiers,
-Backtracking control verbs, Relative backreferences, C<\K> escape, Vertical
-and horizontal whitespace, and linebreak
-
-=item The C<_> prototype
-
-=item UNITCHECK blocks
-
-=item readpipe() is now overridable
-
-=item default argument for readline()
-
-=item UCD 5.0.0
-
-=item Smart match
-
-=item Implicit loading of C<feature>
-
-=back
-
-=item Modules and Pragmas
-
-=over 4
-
-=item New Pragma, C<mro>
-
-=item bignum, bigint, bigrat
-
-=item Math::BigInt/Math::BigFloat
-
-config(), import(), roundmode common, bpi(), bcos(), bsin(), batan(),
-batan2(), bmuladd(), bexp(), bnok(), from_hex(), from_oct(), and
-from_bin(), as_oct()
-
-=item New Core Modules
-
-=item Module changes
-
-C<assertions>, C<base>, C<strict> and C<warnings>, C<warnings>, C<less>,
-C<Attribute::Handlers>, C<B::Lint>, C<B>, C<Thread>
-
-=back
-
-=item Utility Changes
-
-=over 4
-
-=item C<cpanp>
-
-=item C<cpan2dist>
-
-=item C<pod2html>
-
-=back
-
-=item Documentation
-
-=over 4
-
-=item New manpage, perlunifaq
-
-=back
-
-=item Installation and Configuration Improvements
-
-=over 4
-
-=item C++ compatibility
-
-=item Visual C++
-
-=item Static build on Win32
-
-=item win32 builds
-
-=item C<d_pseudofork> and C<d_printf_format_null>
-
-=item Help
-
-=item 64bit systems
-
-=item Ports
-
-=back
-
-=item Selected Bug Fixes
-
-=item New or Changed Diagnostics
-
-=over 4
-
-=item Deprecations
-
-=back
-
-=item Changed Internals
-
-=item Reporting Bugs
-
-=item SEE ALSO
-
-=back
-
-=head2 perl594delta - what is new for perl v5.9.4
-
-=over 4
-
-=item DESCRIPTION
-
-=item Incompatible Changes
-
-=over 4
-
-=item chdir FOO
-
-=item Handling of pmc files
-
-=item @- and @+ in patterns
-
-=item $AUTOLOAD can now be tainted
-
-=back
-
-=item Core Enhancements
-
-=over 4
-
-=item state() variables
-
-=item UNIVERSAL::DOES()
-
-=item Exceptions in constant folding
-
-=item Source filters in @INC
-
-=item MAD
-
-=back
-
-=item Modules and Pragmas
-
-=over 4
-
-=item New Core Modules
-
-=back
-
-=item Utility Changes
-
-=over 4
-
-=item config_data
-
-=back
-
-=item Documentation
-
-=over 4
-
-=item New manpage, perlpragma
-
-=item New manpage, perlreguts
-
-=item New manpage, perlunitut
-
-=back
-
-=item Performance Enhancements
-
-=over 4
-
-=item Memory optimisations
-
-=item UTF-8 cache optimisation
-
-=item Regular expressions
-
-Engine de-recursivised, Single char char-classes treated as literals, Trie
-optimisation of literal string alternations, Aho-Corasick start-point
-optimisation
-
-=item Sloppy stat on Windows
-
-=back
-
-=item Installation and Configuration Improvements
-
-=over 4
-
-=item Relocatable installations
-
-=item Ports
-
-=item Compilation improvements
-
-=item New probes
-
-=item Windows build improvements
-
-Building XS extensions, Support for 64-bit compiler
-
-=back
-
-=item Selected Bug Fixes
-
-=over 4
-
-=item PERL5SHELL and tainting
-
-=item Using *FILE{IO}
-
-=item Overloading and reblessing
-
-=item Overloading and UTF-8
-
-=item eval memory leaks fixed
-
-=item Random device on Windows
-
-=back
-
-=item New or Changed Diagnostics
-
-State variable %s will be reinitialized
-
-=item Changed Internals
-
-=item Known Problems
-
-=item Reporting Bugs
-
-=item SEE ALSO
-
-=back
-
-=head2 perl593delta - what is new for perl v5.9.3
-
-=over 4
-
-=item DESCRIPTION
-
-=item Incompatible Changes
-
-=over 4
-
-=item Parsing of C<-f _>
-
-=item C<mkdir()>
-
-=item Magic goto and eval
-
-=item C<$#> has been removed
-
-=item C<:unique>
-
-=item Scoping of the C<sort> pragma
-
-=back
-
-=item Core Enhancements
-
-=over 4
-
-=item The C<feature> pragma
-
-=item Switch and Smart Match operator
-
-=item C<say()>
-
-=item C<CLONE_SKIP()>
-
-=item C<${^CHILD_ERROR_NATIVE}>
-
-=item Assertions
-
-=item Unicode Character Database 4.1.0
-
-=item C<no VERSION>
-
-=item Recursive sort subs
-
-=item Effect of pragmas in eval
-
-=item New B<-E> command-line switch
-
-=item C<chdir>, C<chmod> and C<chown> on filehandles
-
-=item OS groups
-
-=back
-
-=item Modules and Pragmata
-
-=over 4
-
-=item New Core Modules
-
-=back
-
-=item Utility Changes
-
-=over 4
-
-=item C<ptar>
-
-=item C<ptardiff>
-
-=item C<shasum>
-
-=item C<h2xs> enhancements
-
-=item C<perlivp> enhancements
-
-=back
-
-=item Documentation
-
-=over 4
-
-=item Perl Glossary
-
-=back
-
-=item Performance Enhancements
-
-=over 4
-
-=item XS-assisted SWASHGET
-
-=item Constant subroutines
-
-=item C<PERL_DONT_CREATE_GVSV>
-
-=item Weak references are cheaper
-
-=item sort() enhancements
-
-=back
-
-=item Installation and Configuration Improvements
-
-=over 4
-
-=item Compilation improvements
-
-=item New Or Improved Platforms
-
-=item New probes
-
-=item Module auxiliary files
-
-=back
-
-=item Selected Bug Fixes
-
-=over 4
-
-=item C<defined $$x>
-
-=item Calling CORE::require()
-
-=item Subscripts of slices
-
-=item Remove over-optimisation
-
-=item sprintf() fixes
-
-=item no warnings 'category' works correctly with -w
-
-=item Smaller fixes
-
-=item More Unicode Fixes
-
-=back
-
-=item New or Changed Diagnostics
-
-=over 4
-
-=item Attempt to set length of freed array
-
-=item Non-string passed as bitmask
-
-=item Search pattern not terminated or ternary operator parsed as search
-pattern
-
-=item "%s" variable %s masks earlier declaration
-
-=item readdir()/closedir()/etc. attempted on invalid dirhandle
-
-=back
-
-=item Changed Internals
-
-=over 4
-
-=item B:: modules inheritance changed
-
-=back
-
-=item Reporting Bugs
-
-=item SEE ALSO
-
-=back
-
-=head2 perl592delta - what is new for perl v5.9.2
-
-=over 4
-
-=item DESCRIPTION
-
-=item Incompatible Changes
-
-=over 4
-
-=item Packing and UTF-8 strings
-
-=item Miscellaneous
-
-=back
-
-=item Core Enhancements
-
-=over 4
-
-=item Malloc wrapping
-
-=item Unicode Character Database 4.0.1
-
-=item suidperl less insecure
-
-=item PERLIO_DEBUG
-
-=item Formats
-
-=item Unicode Character Classes
-
-=item Byte-order modifiers for pack() and unpack()
-
-=item Byte count feature in pack()
-
-=item New variables
-
-=back
-
-=item Modules and Pragmata
-
-=over 4
-
-=item New modules
-
-=item Updated And Improved Modules and Pragmata
-
-B::Concise, Socket, Sys::Syslog, threads
-
-=back
-
-=item Utility Changes
-
-=item Performance Enhancements
-
-=item Installation and Configuration Improvements
-
-=item Selected Bug Fixes
-
-=item New or Changed Diagnostics
-
-=item Changed Internals
-
-=item Known Problems
-
-=item Plans for the next release
-
-=item Reporting Bugs
-
-=item SEE ALSO
-
-=back
-
-=head2 perl591delta - what is new for perl v5.9.1
-
-=over 4
-
-=item DESCRIPTION
-
-=item Incompatible Changes
-
-=over 4
-
-=item substr() lvalues are no longer fixed-length
-
-=item The C<:unique> attribute is only meaningful for globals
-
-=back
-
-=item Core Enhancements
-
-=over 4
-
-=item Lexical C<$_>
-
-=item Tied hashes in scalar context
-
-=item Formats
-
-=item Stacked filetest operators
-
-=back
-
-=item Modules and Pragmata
-
-Benchmark, Carp, Exporter, FindBin, List::Util, threads::shared
-
-=item Utility Changes
-
-=item Documentation
-
-=item Performance Enhancements
-
-=item Selected Bug Fixes
-
-=over 4
-
-=item UTF-8 bugs
-
-=item Threading bugs
-
-=item More bugs
-
-=back
-
-=item New or Changed Diagnostics
-
-=item Changed Internals
-
-=over 4
-
-=item Reordering of SVt_* constants
-
-=item Removal of CPP symbols
-
-=item Less space is used by ops
-
-=item New parser
-
-=back
-
-=item Configuration and Building
-
-=item Known Problems
-
-=over 4
-
-=item Platform Specific Problems
-
-=back
-
-=item To-do for perl 5.10.0
-
-=item Reporting Bugs
-
-=item SEE ALSO
-
-=back
-
-=head2 perl590delta - what is new for perl v5.9.0
-
-=over 4
-
-=item DESCRIPTION
-
-=item Incompatible Changes
-
-=over 4
-
-=item Hash Randomisation
-
-=item UTF-8 On Filehandles No Longer Activated By Locale
-
-=item Single-number v-strings are no longer v-strings before "=>"
-
-=item (Win32) The -C Switch Has Been Repurposed
-
-=item (Win32) The /d Switch Of cmd.exe
-
-=item The C<$*> variable has been removed
-
-=back
-
-=item Core Enhancements
-
-=over 4
-
-=item Assertions
-
-=item Defined-or operators
-
-=item UTF-8 no longer default under UTF-8 locales
-
-=item Unsafe signals again available
-
-=item Tied Arrays with Negative Array Indices
-
-=item local ${$x}
-
-=item Unicode Character Database 4.0.0
-
-=item Miscellaneous Enhancements
-
-=back
-
-=item Modules and Pragmata
-
-=over 4
-
-=item Updated Modules And Pragmata
-
-base, B::Bytecode, B::Concise, B::Deparse, Benchmark, ByteLoader, bytes,
-CGI, charnames, CPAN, Data::Dumper, DB_File, Devel::PPPort, Digest::MD5,
-Encode, fields, libnet, Math::BigInt, MIME::Base64, NEXT, Net::Ping,
-PerlIO::scalar, podlators, Pod::LaTeX, PodParsers, Pod::Perldoc,
-Scalar::Util, Storable, strict, Term::ANSIcolor, Test::Harness, Test::More,
-Test::Simple, Text::Balanced, Time::HiRes, threads, threads::shared,
-Unicode::Collate, Unicode::Normalize, Win32::GetFolderPath,
-Win32::GetOSVersion
-
-=back
-
-=item Utility Changes
-
-=item New Documentation
-
-=item Installation and Configuration Improvements
-
-=over 4
-
-=item Platform-specific enhancements
-
-=back
-
-=item Selected Bug Fixes
-
-=over 4
-
-=item Closures, eval and lexicals
-
-=item Generic fixes
-
-=item Platform-specific fixes
-
-=back
-
-=item New or Changed Diagnostics
-
-=over 4
-
-=item Changed "A thread exited while %d threads were running"
-
-=item Removed "Attempt to clear a restricted hash"
-
-=item New "Illegal declaration of anonymous subroutine"
-
-=item Changed "Invalid range "%s" in transliteration operator"
-
-=item New "Missing control char name in \c"
-
-=item New "Newline in left-justified string for %s"
-
-=item New "Possible precedence problem on bitwise %c operator"
-
-=item New "read() on %s filehandle %s"
-
-=item New "Tied variable freed while still in use"
-
-=item New "To%s: illegal mapping '%s'"
-
-=item New "Use of freed value in iteration"
-
-=back
-
-=item Changed Internals
-
-=item New Tests
-
-=item Known Problems
-
-=over 4
-
-=item Tied hashes in scalar context
-
-=item Net::Ping 450_service and 510_ping_udp failures
-
-=item B::C
-
-=back
-
-=item Platform Specific Problems
-
-=over 4
-
-=item EBCDIC Platforms
-
-=item Cygwin 1.5 problems
-
-=item HP-UX: HP cc warnings about sendfile and sendpath
-
-=item IRIX: t/uni/tr_7jis.t falsely failing
-
-=item Mac OS X: no usemymalloc
-
-=item Tru64: No threaded builds with GNU cc (gcc)
-
-=item Win32: sysopen, sysread, syswrite
-
-=back
-
-=item TODO
-
-=item Reporting Bugs
-
-=item SEE ALSO
-
-=back
-
=head2 perl589delta - what is new for perl v5.8.9
=over 4
@@ -12313,363 +10225,7 @@ Win32::GetOSVersion
=back
-=head2 perl573delta - what's new for perl v5.7.3
-
-=over 4
-
-=item DESCRIPTION
-
-=item Changes
-
-=item Reporting Bugs
-
-=item SEE ALSO
-
-=item HISTORY
-
-=back
-
-=head2 perl572delta - what's new for perl v5.7.2
-
-=over 4
-
-=item DESCRIPTION
-
-=item Security Vulnerability Closed
-
-=item Incompatible Changes
-
-=over 4
-
-=item 64-bit platforms and malloc
-
-=item AIX Dynaloading
-
-=item Socket Extension Dynamic in VMS
-
-=item Different Definition of the Unicode Character Classes \p{In...}
-
-=item Deprecations
-
-=back
-
-=item Core Enhancements
-
-=item Modules and Pragmata
-
-=over 4
-
-=item New Modules and Distributions
-
-=item Updated And Improved Modules and Pragmata
-
-=back
-
-=item Utility Changes
-
-=item New Documentation
-
-=item Installation and Configuration Improvements
-
-=over 4
-
-=item New Or Improved Platforms
-
-=item Generic Improvements
-
-=back
-
-=item Selected Bug Fixes
-
-=over 4
-
-=item Platform Specific Changes and Fixes
-
-=back
-
-=item New or Changed Diagnostics
-
-=item Source Code Enhancements
-
-=over 4
-
-=item MAGIC constants
-
-=item Better commented code
-
-=item Regex pre-/post-compilation items matched up
-
-=item gcc -Wall
-
-=back
-
-=item New Tests
-
-=item Known Problems
-
-=over 4
-
-=item AIX
-
-=item Amiga Perl Invoking Mystery
-
-=item lib/ftmp-security tests warn 'system possibly insecure'
-
-=item Cygwin intermittent failures of lib/Memoize/t/expire_file 11 and 12
-
-=item HP-UX lib/io_multihomed Fails When LP64-Configured
-
-=item HP-UX lib/posix Subtest 9 Fails When LP64-Configured
-
-=item Linux With Sfio Fails op/misc Test 48
-
-=item OS/390
-
-=item op/sprintf tests 129 and 130
-
-=item Failure of Thread tests
-
-=item UNICOS
-
-=item UTS
-
-=item VMS
-
-=item Win32
-
-=item Localising a Tied Variable Leaks Memory
-
-=item Self-tying of Arrays and Hashes Is Forbidden
-
-=item Variable Attributes are not Currently Usable for Tying
-
-=item Building Extensions Can Fail Because Of Largefiles
-
-=item The Compiler Suite Is Still Experimental
-
-=item The Long Double Support is Still Experimental
-
-=back
-
-=item Reporting Bugs
-
-=item SEE ALSO
-
-=item HISTORY
-
-=back
-
-=head2 perl571delta - what's new for perl v5.7.1
-
-=over 4
-
-=item DESCRIPTION
-
-=item Security Vulnerability Closed
-
-=item Incompatible Changes
-
-=item Core Enhancements
-
-=over 4
-
-=item AUTOLOAD Is Now Lvaluable
-
-=item PerlIO is Now The Default
-
-=item Signals Are Now Safe
-
-=back
-
-=item Modules and Pragmata
-
-=over 4
-
-=item New Modules
-
-=item Updated And Improved Modules and Pragmata
-
-=back
-
-=item Performance Enhancements
-
-=item Utility Changes
-
-=item New Documentation
-
-=over 4
-
-=item perlclib
-
-=item perliol
-
-=item README.aix
-
-=item README.bs2000
-
-=item README.macos
-
-=item README.mpeix
-
-=item README.solaris
-
-=item README.vos
-
-=item Porting/repository.pod
-
-=back
-
-=item Installation and Configuration Improvements
-
-=over 4
-
-=item New Or Improved Platforms
-
-=item Generic Improvements
-
-d_cmsghdr, d_fcntl_can_lock, d_fsync, d_getitimer, d_getpagsz, d_msghdr_s,
-need_va_copy, d_readv, d_recvmsg, d_sendmsg, sig_size, d_sockatmark,
-d_strtoq, d_u32align, d_ualarm, d_usleep
-
-=back
-
-=item Selected Bug Fixes
-
-=over 4
-
-=item Platform Specific Changes and Fixes
-
-=back
-
-=item New or Changed Diagnostics
-
-=item Changed Internals
-
-=item New Tests
-
-=item Known Problems
-
-=over 4
-
-=item AIX vac 5.0.0.0 May Produce Buggy Code For Perl
-
-=item lib/ftmp-security tests warn 'system possibly insecure'
-
-=item lib/io_multihomed Fails In LP64-Configured HP-UX
-
-=item Test lib/posix Subtest 9 Fails In LP64-Configured HP-UX
-
-=item lib/b test 19
-
-=item Linux With Sfio Fails op/misc Test 48
-
-=item sigaction test 13 in VMS
-
-=item sprintf tests 129 and 130
-
-=item Failure of Thread tests
-
-=item Localising a Tied Variable Leaks Memory
-
-=item Self-tying of Arrays and Hashes Is Forbidden
-
-=item Building Extensions Can Fail Because Of Largefiles
-
-=item The Compiler Suite Is Still Experimental
-
-=back
-
-=item Reporting Bugs
-
-=item SEE ALSO
-
-=item HISTORY
-
-=back
-
-=head2 perl570delta - what's new for perl v5.7.0
-
-=over 4
-
-=item DESCRIPTION
-
-=item Security Vulnerability Closed
-
-=item Incompatible Changes
-
-=item Core Enhancements
-
-=item Modules and Pragmata
-
-=over 4
-
-=item New Modules
-
-=item Updated And Improved Modules and Pragmata
-
-=back
-
-=item Utility Changes
-
-=item New Documentation
-
-=item Performance Enhancements
-
-=item Installation and Configuration Improvements
-
-=over 4
-
-=item Generic Improvements
-
-=back
-
-=item Selected Bug Fixes
-
-=over 4
-
-=item Platform Specific Changes and Fixes
-
-=back
-
-=item New or Changed Diagnostics
-
-=item Changed Internals
-
-=item Known Problems
-
-=over 4
-
-=item Unicode Support Still Far From Perfect
-
-=item EBCDIC Still A Lost Platform
-
-=item Building Extensions Can Fail Because Of Largefiles
-
-=item ftmp-security tests warn 'system possibly insecure'
-
-=item Test lib/posix Subtest 9 Fails In LP64-Configured HP-UX
-
-=item Long Doubles Still Don't Work In Solaris
-
-=item Linux With Sfio Fails op/misc Test 48
-
-=item Storable tests fail in some platforms
-
-=item Threads Are Still Experimental
-
-=item The Compiler Suite Is Still Experimental
-
-=back
-
-=item Reporting Bugs
-
-=item SEE ALSO
-
-=item HISTORY
-
-=back
-
-=head2 perl561delta - what's new for perl v5.6.x
+=head2 perl561delta - what's new for perl v5.6.1
=over 4
@@ -13848,6 +11404,58 @@ long, Process terminated by SIG%s
=back
+=head2 perlexperiment - A listing of experimental features in Perl
+
+=over 4
+
+=item DESCRIPTION
+
+=over 4
+
+=item Current experiments
+
+fork() emulation, Weak references, Internal file glob, 64-bit support, die
+accepts a reference, Unicode support, -Dusemultiplicity -Dusethreads, Long
+Doubles Still Don't Work In Solaris, GetOpt::Long Options can now take
+multiple values at once (experimental), 5.005-style threading,
+Test::Harness::Straps, perlcc, C<our> can now have an experimental optional
+attribute C<unique>, Assertions, Linux abstract Unix domain sockets,
+L<Pod::HTML2Pod|Pod::HTML2Pod>, L<Pod::PXML|Pod::PXML>, threads, The <:pop>
+IO pseudolayer, The <:win32> IO pseudolayer, MLDBM, internal functions with
+M flag, lex_start API, internal API for C<%H>, av_create_and_push,
+av_create_and_unshift_one, av_create_and_unshift_one, PL_keyword_plugin,
+hv_iternext_flags, lex_bufutf8, lex_discard_to, lex_grow_linestr,
+lex_next_chunk, lex_peek_unichar, lex_read_space, lex_read_to,
+lex_read_unichar, lex_stuff_pv, lex_stuff_pvn, lex_stuff_pvs, lex_stuff_sv,
+lex_unstuff, parse_fullstmt, parse_stmtseq, PL_parser-E<gt>bufend,
+PL_parser-E<gt>bufptr, PL_parser-E<gt>linestart, PL_parser-E<gt>linestr,
+Perl_signbit, pad_findmy, sv_utf8_decode, sv_utf8_downgrade,
+bytes_from_utf8, bytes_to_utf8, utf8_to_bytes, DB module, The pseudo-hash
+data type, Lvalue subroutines, There is an C<installhtml> target in the
+Makefile, Unicode in Perl on EBCDIC, C<(?{code})>, C<(??{ code })>,
+Backtracking control verbs, Code expressions, conditional expressions, and
+independent expressions in regexes, The C<\N> regex character class,
+gv_try_downgrade, Experimental Support for Sun Studio Compilers for Linux
+OS, Pluggable keywords
+
+=item Accepted features
+
+(none yet identified)
+
+=item Removed features
+
+C<legacy>
+
+=back
+
+=item AUTHORS
+
+=item COPYRIGHT
+
+=item LICENSE
+
+=back
+
=head2 perlartistic - the Perl Artistic License
=over 4
@@ -13891,7 +11499,7 @@ a), b), c), d), a), b), c), d)
=back
-=head2 perlaix, README.aix - Perl version 5 on IBM AIX (UNIX) systems
+=head2 perlaix - Perl version 5 on IBM AIX (UNIX) systems
=over 4
@@ -14015,7 +11623,7 @@ B<Unix emulation for AmigaOS: ixemul.library>, B<Version of Amiga OS>
=back
-=head2 perlbeos, README.beos - Perl version 5.8+ on BeOS
+=head2 perlbeos - Perl version 5.8+ on BeOS
=over 4
@@ -14041,7 +11649,7 @@ B<Unix emulation for AmigaOS: ixemul.library>, B<Version of Amiga OS>
=back
-=head2 perlbs2000, README.BS2000 - building and installing Perl for BS2000.
+=head2 perlbs2000 - building and installing Perl for BS2000.
=over 4
@@ -14102,8 +11710,8 @@ B<Unix emulation for AmigaOS: ixemul.library>, B<Version of Amiga OS>
=item BUILD
Microsoft Embedded Visual Tools, Microsoft Visual C++, Rainer Keuchel's
-celib-sources, Rainer Keuchel's console-sources, go to C<./win32>
-subdirectory, edit file C<./win32/ce-helpers/compile.bat>, run
+celib-sources, Rainer Keuchel's console-sources, go to F<./win32>
+subdirectory, edit file F<./win32/ce-helpers/compile.bat>, run
compile.bat, run compile.bat dist
=back
@@ -14140,7 +11748,7 @@ Rainer Keuchel <coyxc@rainer-keuchel.de>, Vadim Konovalov
=back
-=head2 perlcygwin, README.cygwin - Perl for Cygwin
+=head2 perlcygwin - Perl for Cygwin
=over 4
@@ -14154,7 +11762,7 @@ Rainer Keuchel <coyxc@rainer-keuchel.de>, Vadim Konovalov
=item Cygwin Configuration
-C<PATH>, I<nroff>, Permissions
+C<PATH>, I<nroff>
=back
@@ -14171,8 +11779,8 @@ C<cygserver> (C<use IPC::SysV>), C<-lutil>
=item Configure-time Options for Perl on Cygwin
-C<-Uusedl>, C<-Uusemymalloc>, C<-Uuseperlio>, C<-Dusemultiplicity>,
-C<-Duse64bitint>, C<-Duselongdouble>, C<-Dusethreads>, C<-Duselargefiles>,
+C<-Uusedl>, C<-Dusemymalloc>, C<-Uuseperlio>, C<-Dusemultiplicity>,
+C<-Uuse64bitint>, C<-Duselongdouble>, C<-Uuseithreads>, C<-Duselargefiles>,
C<-Dmksymlinks>
=item Suspicious Warnings on Cygwin
@@ -14202,13 +11810,15 @@ Win9x and C<d_eofnblk>, Compiler/Preprocessor defines
=item Script Portability on Cygwin
Pathnames, Text/Binary, PerlIO, F<.exe>, Cygwin vs. Windows process ids,
-Cygwin vs. Windows errors, C<chown()>, Miscellaneous
+Cygwin vs. Windows errors, rebase errors on fork or system, C<chown()>,
+Miscellaneous
=item Prebuilt methods:
C<Cwd::cwd>, C<Cygwin::pid_to_winpid>, C<Cygwin::winpid_to_pid>,
C<Cygwin::win_to_posix_path>, C<Cygwin::posix_to_win_path>,
-C<Cygwin::mount_table()>, C<Cygwin::mount_flags>, C<Cygwin::is_binmount>
+C<Cygwin::mount_table()>, C<Cygwin::mount_flags>, C<Cygwin::is_binmount>,
+C<Cygwin::sync_winenv>
=back
@@ -14303,7 +11913,7 @@ DJGPP, Pthreads
=back
-=head2 perlepoc, README.epoc - Perl for EPOC
+=head2 perlepoc - Perl for EPOC
=over 4
@@ -14333,7 +11943,7 @@ DJGPP, Pthreads
=back
-=head2 perlfreebsd, README.freebsd - Perl version 5 on FreeBSD systems
+=head2 perlfreebsd - Perl version 5 on FreeBSD systems
=over 4
@@ -14351,7 +11961,7 @@ DJGPP, Pthreads
=back
-=head2 perlhaiku, README.haiku - Perl version 5.10+ on Haiku
+=head2 perlhaiku - Perl version 5.10+ on Haiku
=over 4
@@ -14365,8 +11975,7 @@ DJGPP, Pthreads
=back
-=head2 perlhpux, README.hpux - Perl version 5 on Hewlett-Packard Unix
-(HP-UX) systems
+=head2 perlhpux - Perl version 5 on Hewlett-Packard Unix (HP-UX) systems
=over 4
@@ -14420,15 +12029,15 @@ DJGPP, Pthreads
=item nss_delete core dump from op/pwent or op/grent
+=item error: pasting ")" and "l" does not give a valid preprocessing token
+
=item Miscellaneous
=item AUTHOR
-=item DATE
-
=back
-=head2 perlhurd, README.hurd - Perl version 5 on Hurd
+=head2 perlhurd - Perl version 5 on Hurd
=over 4
@@ -14444,7 +12053,7 @@ DJGPP, Pthreads
=back
-=head2 perlirix, README.irix - Perl version 5 on Irix systems
+=head2 perlirix - Perl version 5 on Irix systems
=over 4
@@ -14472,7 +12081,7 @@ DJGPP, Pthreads
=back
-=head2 perllinux, README.linux - Perl version 5 on Linux systems
+=head2 perllinux - Perl version 5 on Linux systems
=over 4
@@ -14488,7 +12097,7 @@ DJGPP, Pthreads
=back
-=head2 perlmacos, README.macos - Perl under Mac OS (Classic)
+=head2 perlmacos - Perl under Mac OS (Classic)
=over 4
@@ -14500,7 +12109,7 @@ DJGPP, Pthreads
=back
-=head2 perlmacosx, README.macosx - Perl under Mac OS X
+=head2 perlmacosx - Perl under Mac OS X
=over 4
@@ -14536,7 +12145,7 @@ DJGPP, Pthreads
=back
-=head2 perlmpeix, README.mpeix - Perl/iX for HP e3000 MPE
+=head2 perlmpeix - Perl/iX for HP e3000 MPE
=over 4
@@ -14611,7 +12220,7 @@ SetNWBld.bat, Buildtype.bat
=back
-=head2 perlopenbsd, README.openbsd - Perl version 5 on OpenBSD systems
+=head2 perlopenbsd - Perl version 5 on OpenBSD systems
=over 4
@@ -14905,8 +12514,7 @@ C<COND_WAIT>, F<os2.c>
=back
-=head2 perlos390, README.os390 - building and installing Perl for OS/390
-and z/OS
+=head2 perlos390 - building and installing Perl for OS/390 and z/OS
=over 4
@@ -14954,7 +12562,7 @@ and z/OS
=back
-=head2 perlos400, README.os400 - Perl version 5 on OS/400
+=head2 perlos400 - Perl version 5 on OS/400
=over 4
@@ -15014,7 +12622,7 @@ and z/OS
=back
-=head2 perlqnx, README.qnx - Perl version 5 on QNX
+=head2 perlqnx - Perl version 5 on QNX
=over 4
@@ -15040,7 +12648,7 @@ qnx/ar, qnx/cpp
=back
-=head2 perlriscos, README.riscos - Perl version 5 for RISC OS
+=head2 perlriscos - Perl version 5 for RISC OS
=over 4
@@ -15052,7 +12660,7 @@ qnx/ar, qnx/cpp
=back
-=head2 perlsolaris, README.solaris - Perl version 5 on Solaris systems
+=head2 perlsolaris - Perl version 5 on Solaris systems
=over 4
@@ -15138,7 +12746,7 @@ DATAMODEL_NATIVE specified", sh: ar: not found
=back
-=head2 perlsymbian, README.symbian - Perl version 5 on Symbian OS
+=head2 perlsymbian - Perl version 5 on Symbian OS
=over 4
@@ -15174,8 +12782,8 @@ DATAMODEL_NATIVE specified", sh: ar: not found
=back
-=head2 perltru64, README.tru64 - Perl version 5 on Tru64 (formerly known as
-Digital UNIX formerly known as DEC OSF/1) systems
+=head2 perltru64 - Perl version 5 on Tru64 (formerly known as Digital UNIX
+formerly known as DEC OSF/1) systems
=over 4
@@ -15225,7 +12833,7 @@ Digital UNIX formerly known as DEC OSF/1) systems
=back
-=head2 perlvmesa, README.vmesa - building and installing Perl for VM/ESA.
+=head2 perlvmesa - building and installing Perl for VM/ESA.
=over 4
@@ -15340,7 +12948,7 @@ utime LIST, waitpid PID,FLAGS
=back
-=head2 perlvos, README.vos - Perl for Stratus VOS
+=head2 perlvos - Perl for Stratus VOS
=over 4
@@ -15384,10 +12992,10 @@ L<http://mingw.org>, L<http://mingw-w64.sf.net>
=item Setting Up Perl on Windows
-Make, Command Shell, Borland C++, Microsoft Visual C++, Microsoft Visual
-C++ 2008/2010 Express Edition, Microsoft Visual C++ 2005 Express Edition,
-Microsoft Visual C++ Toolkit 2003, Microsoft Platform SDK 64-bit Compiler,
-MinGW release 3 with gcc
+Make, Command Shell, Microsoft Visual C++, Microsoft Visual C++ 2008/2010
+Express Edition, Microsoft Visual C++ 2005 Express Edition, Microsoft
+Visual C++ Toolkit 2003, Microsoft Platform SDK 64-bit Compiler, MinGW
+release 3 with gcc
=item Building
@@ -15424,12 +13032,1597 @@ Steve Hay E<lt>steve.m.hay@googlemail.comE<gt>
=back
+=head2 perlboot - This document has been deleted
+
+=over 4
+
+=item DESCRIPTION
+
+=back
+
+=head2 perlbot - This document has been deleted
+
+=over 4
+
+=item DESCRIPTION
+
+=back
+
+=head2 perltodo - Perl TO-DO List
+
+=over 4
+
+=item DESCRIPTION
+
+=back
+
+=head2 perltooc - This document has been deleted
+
+=over 4
+
+=item DESCRIPTION
+
+=back
+
+=head2 perltoot - This document has been deleted
+
+=over 4
+
+=item DESCRIPTION
+
+=back
+
=head1 PRAGMA DOCUMENTATION
+=head2 arybase - Set indexing base via $[
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item HISTORY
+
+=item BUGS
+
+=item SEE ALSO
+
+=back
+
+=head2 attributes - get/set subroutine or variable attributes
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item What C<import> does
+
+=item Built-in Attributes
+
+lvalue, method, locked
+
+=item Available Subroutines
+
+get, reftype
+
+=item Package-specific Attribute Handling
+
+FETCH_I<type>_ATTRIBUTES, MODIFY_I<type>_ATTRIBUTES
+
+=item Syntax of Attribute Lists
+
+=back
+
+=item EXPORTS
+
+=over 4
+
+=item Default exports
+
+=item Available exports
+
+=item Export tags defined
+
+=back
+
+=item EXAMPLES
+
+=item MORE EXAMPLES
+
+=item SEE ALSO
+
+=back
+
+=head2 autodie - Replace functions with ones that succeed or die with
+lexical scope
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item EXCEPTIONS
+
+=item CATEGORIES
+
+=item FUNCTION SPECIFIC NOTES
+
+=over 4
+
+=item flock
+
+=item system/exec
+
+=back
+
+=item GOTCHAS
+
+=item DIAGNOSTICS
+
+:void cannot be used with lexical scope, No user hints defined for %s
+
+=item BUGS
+
+=over 4
+
+=item autodie and string eval
+
+=item REPORTING BUGS
+
+=back
+
+=item FEEDBACK
+
+=item AUTHOR
+
+=item LICENSE
+
+=item SEE ALSO
+
+=item ACKNOWLEDGEMENTS
+
+=back
+
+=head2 autodie::exception - Exceptions from autodying functions.
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Common Methods
+
+=back
+
+=back
+
+=over 4
+
+=item Advanced methods
+
+=back
+
+=over 4
+
+=item SEE ALSO
+
+=item LICENSE
+
+=item AUTHOR
+
+=back
+
+=head2 autodie::exception::system - Exceptions from autodying system().
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=back
+
+=over 4
+
+=item stringify
+
+=back
+
+=over 4
+
+=item LICENSE
+
+=item AUTHOR
+
+=back
+
+=head2 autodie::hints - Provide hints about user subroutines to autodie
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Introduction
+
+=item What are hints?
+
+=item Example hints
+
+=back
+
+=item Manually setting hints from within your program
+
+=item Adding hints to your module
+
+=item Insisting on hints
+
+=back
+
+=over 4
+
+=item Diagnostics
+
+Attempts to set_hints_for unidentifiable subroutine, fail hints cannot be
+provided with either scalar or list hints for %s, %s hint missing for %s
+
+=item ACKNOWLEDGEMENTS
+
+=item AUTHOR
+
+=item LICENSE
+
+=item SEE ALSO
+
+=back
+
+=head2 autouse - postpone load of modules until a function is used
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item WARNING
+
+=item AUTHOR
+
+=item SEE ALSO
+
+=back
+
+=head2 base - Establish an ISA relationship with base classes at compile
+time
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item DIAGNOSTICS
+
+Base class package "%s" is empty, Class 'Foo' tried to inherit from itself
+
+=item HISTORY
+
+=item CAVEATS
+
+=item SEE ALSO
+
+=back
+
+=head2 bigint - Transparent BigInteger support for Perl
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item use integer vs. use bigint
+
+=item Options
+
+a or accuracy, p or precision, t or trace, hex, oct, l, lib, try or only, v
+or version
+
+=item Math Library
+
+=item Internal Format
+
+=item Sign
+
+=item Methods
+
+inf(), NaN(), e, PI, bexp(), bpi(), upgrade(), in_effect()
+
+=item MATH LIBRARY
+
+=item Caveat
+
+=back
+
+=item CAVEATS
+
+in_effect(), hex()/oct()
+
+=item MODULES USED
+
+=item EXAMPLES
+
+=item LICENSE
+
+=item SEE ALSO
+
+=item AUTHORS
+
+=back
+
+=head2 bignum - Transparent BigNumber support for Perl
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Options
+
+a or accuracy, p or precision, t or trace, l or lib, hex, oct, v or version
+
+=item Methods
+
+=item Caveats
+
+inf(), NaN(), e, PI(), bexp(), bpi(), upgrade(), in_effect()
+
+=item Math Library
+
+=item INTERNAL FORMAT
+
+=item SIGN
+
+=back
+
+=item CAVEATS
+
+in_effect(), hex()/oct()
+
+=item MODULES USED
+
+=item EXAMPLES
+
+=item LICENSE
+
+=item SEE ALSO
+
+=item AUTHORS
+
+=back
+
+=head2 bigrat - Transparent BigNumber/BigRational support for Perl
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Modules Used
+
+=item Math Library
+
+=item Sign
+
+=item Methods
+
+inf(), NaN(), e, PI, bexp(), bpi(), upgrade(), in_effect()
+
+=item MATH LIBRARY
+
+=item Caveat
+
+=item Options
+
+a or accuracy, p or precision, t or trace, l or lib, hex, oct, v or version
+
+=back
+
+=item CAVEATS
+
+in_effect(), hex()/oct()
+
+=item EXAMPLES
+
+=item LICENSE
+
+=item SEE ALSO
+
+=item AUTHORS
+
+=back
+
+=head2 blib - Use MakeMaker's uninstalled version of a package
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item BUGS
+
+=item AUTHOR
+
+=back
+
+=head2 bytes - Perl pragma to force byte semantics rather than character
+semantics
+
+=over 4
+
+=item NOTICE
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item LIMITATIONS
+
+=item SEE ALSO
+
+=back
+
+=head2 charnames - access to Unicode character names and named character
+sequences; also define character names
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item LOOSE MATCHES
+
+=item ALIASES
+
+=item CUSTOM ALIASES
+
+=item charnames::string_vianame(I<name>)
+
+=item charnames::vianame(I<name>)
+
+=item charnames::viacode(I<code>)
+
+=item CUSTOM TRANSLATORS
+
+=item BUGS
+
+=back
+
+=head2 constant - Perl pragma to declare constants
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item NOTES
+
+=over 4
+
+=item List constants
+
+=item Defining multiple constants at once
+
+=item Magic constants
+
+=back
+
+=item TECHNICAL NOTES
+
+=item CAVEATS
+
+=item SEE ALSO
+
+=item BUGS
+
+=item AUTHORS
+
+=item COPYRIGHT & LICENSE
+
+=back
+
+=head2 deprecate - Perl pragma for deprecating the core version of a module
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item EXPORT
+
+=back
+
+=item SEE ALSO
+
+=item AUTHOR
+
+=item COPYRIGHT AND LICENSE
+
+=back
+
+=head2 diagnostics, splain - produce verbose warning diagnostics
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item The C<diagnostics> Pragma
+
+=item The I<splain> Program
+
+=back
+
+=item EXAMPLES
+
+=item INTERNALS
+
+=item BUGS
+
+=item AUTHOR
+
+=back
+
+=head2 encoding - allows you to write your script in non-ascii or non-utf8
+
+=over 4
+
+=item SYNOPSIS
+
+=item ABSTRACT
+
+=over 4
+
+=item Literal Conversions
+
+=item PerlIO layers for C<STD(IN|OUT)>
+
+=item Implicit upgrading for byte strings
+
+=item Side effects
+
+=back
+
+=item FEATURES THAT REQUIRE 5.8.1
+
+"NON-EUC" doublebyte encodings, tr//, DATA pseudo-filehandle
+
+=item USAGE
+
+use encoding [I<ENCNAME>] ;, use encoding I<ENCNAME> [ STDIN =E<gt>
+I<ENCNAME_IN> ...] ;, use encoding I<ENCNAME> Filter=E<gt>1;, no encoding;
+
+=item The Filter Option
+
+=over 4
+
+=item Filter-related changes at Encode version 1.87
+
+=back
+
+=item CAVEATS
+
+=over 4
+
+=item NOT SCOPED
+
+=item DO NOT MIX MULTIPLE ENCODINGS
+
+=item tr/// with ranges
+
+Legend of characters above
+
+=back
+
+=item EXAMPLE - Greekperl
+
+=item KNOWN PROBLEMS
+
+literals in regex that are longer than 127 bytes, EBCDIC, format, Thread
+safety
+
+=over 4
+
+=item The Logic of :locale
+
+=back
+
+=item HISTORY
+
+=item SEE ALSO
+
+=back
+
+=head2 encoding::warnings - Warn on implicit encoding conversions
+
+=over 4
+
+=item VERSION
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Overview of the problem
+
+=item Detecting the problem
+
+=item Solving the problem
+
+Upgrade both sides to unicode-strings, Downgrade both sides to
+byte-strings, Specify the encoding for implicit byte-string upgrading,
+PerlIO layers for B<STDIN> and B<STDOUT>, Literal conversions, Implicit
+upgrading for byte-strings
+
+=back
+
+=item CAVEATS
+
+=back
+
+=over 4
+
+=item SEE ALSO
+
+=item AUTHORS
+
+=item COPYRIGHT
+
+=back
+
+=head2 feature - Perl pragma to enable new features
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Lexical effect
+
+=item C<no feature>
+
+=back
+
+=item AVAILABLE FEATURES
+
+=over 4
+
+=item The 'say' feature
+
+=item The 'state' feature
+
+=item The 'switch' feature
+
+=item The 'unicode_strings' feature
+
+=item The 'unicode_eval' and 'evalbytes' features
+
+=item The 'current_sub' feature
+
+=item The 'array_base' feature
+
+=item The 'fc' feature
+
+=back
+
+=item FEATURE BUNDLES
+
+=item IMPLICIT LOADING
+
+=back
+
+=head2 fields - compile-time class fields
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+new, phash
+
+=item SEE ALSO
+
+=back
+
+=head2 filetest - Perl pragma to control the filetest permission operators
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Consider this carefully
+
+=item The "access" sub-pragma
+
+=item Limitation with regard to C<_>
+
+=back
+
+=back
+
+=head2 if - C<use> a Perl module if a condition holds
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item BUGS
+
+=item AUTHOR
+
+=back
+
+=head2 inc::latest - use modules bundled in inc/ if they are newer than
+installed ones
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Special notes on bundling
+
+=back
+
+=item USAGE
+
+=over 4
+
+=item Author-mode
+
+loaded_modules(), write(), bundle_module()
+
+=item As bundled in inc/
+
+=back
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=item SEE ALSO
+
+=back
+
+=head2 integer - Perl pragma to use integer arithmetic instead of floating
+point
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=back
+
+=head2 less - perl pragma to request less of something
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item FOR MODULE AUTHORS
+
+=over 4
+
+=item C<< BOOLEAN = less->of( FEATURE ) >>
+
+=item C<< FEATURES = less->of() >>
+
+=back
+
+=item CAVEATS
+
+This probably does nothing, This works only on 5.10+
+
+=back
+
+=head2 lib - manipulate @INC at compile time
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Adding directories to @INC
+
+=item Deleting directories from @INC
+
+=item Restoring original @INC
+
+=back
+
+=item CAVEATS
+
+=item NOTES
+
+=item SEE ALSO
+
+=item AUTHOR
+
+=item COPYRIGHT AND LICENSE
+
+=back
+
+=head2 locale - Perl pragma to use or avoid POSIX locales for built-in
+operations
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=back
+
+=head2 mro - Method Resolution Order
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item OVERVIEW
+
+=item The C3 MRO
+
+=over 4
+
+=item What is C3?
+
+=item How does C3 work
+
+=back
+
+=item Functions
+
+=over 4
+
+=item mro::get_linear_isa($classname[, $type])
+
+=item mro::set_mro ($classname, $type)
+
+=item mro::get_mro($classname)
+
+=item mro::get_isarev($classname)
+
+=item mro::is_universal($classname)
+
+=item mro::invalidate_all_method_caches()
+
+=item mro::method_changed_in($classname)
+
+=item mro::get_pkg_gen($classname)
+
+=item next::method
+
+=item next::can
+
+=item maybe::next::method
+
+=back
+
+=item SEE ALSO
+
+=over 4
+
+=item The original Dylan paper
+
+L<http://www.webcom.com/haahr/dylan/linearization-oopsla96.html>
+
+=item Pugs
+
+=item Parrot
+
+L<http://use.perl.org/~autrijus/journal/25768>
+
+=item Python 2.3 MRO related links
+
+L<http://www.python.org/2.3/mro.html>,
+L<http://www.python.org/2.2.2/descrintro.html#mro>
+
+=item Class::C3
+
+L<Class::C3>
+
+=back
+
+=item AUTHOR
+
+=back
+
+=head2 open - perl pragma to set default PerlIO layers for input and output
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item NONPERLIO FUNCTIONALITY
+
+=item IMPLEMENTATION DETAILS
+
+=item SEE ALSO
+
+=back
+
+=head2 ops - Perl pragma to restrict unsafe operations when compiling
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item SEE ALSO
+
+=back
+
+=head2 overload - Package for overloading Perl operations
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Fundamentals
+
+=item Overloadable Operations
+
+C<not>, C<neg>, C<++>, C<-->, I<Assignments>, I<Non-mutators with a mutator
+variant>, C<int>, I<String, numeric, boolean, and regexp conversions>,
+I<Iteration>, I<File tests>, I<Matching>, I<Dereferencing>, I<Special>
+
+=item Magic Autogeneration
+
+=item Special Keys for C<use overload>
+
+defined, but FALSE, C<undef>, TRUE
+
+=item How Perl Chooses an Operator Implementation
+
+=item Losing Overloading
+
+=item Inheritance and Overloading
+
+Method names in the C<use overload> directive, Overloading of an operation
+is inherited by derived classes
+
+=item Run-time Overloading
+
+=item Public Functions
+
+overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
+
+=item Overloading Constants
+
+integer, float, binary, q, qr
+
+=back
+
+=item IMPLEMENTATION
+
+=item COOKBOOK
+
+=over 4
+
+=item Two-face Scalars
+
+=item Two-face References
+
+=item Symbolic Calculator
+
+=item I<Really> Symbolic Calculator
+
+=back
+
+=item AUTHOR
+
+=item SEE ALSO
+
+=item DIAGNOSTICS
+
+Odd number of arguments for overload::constant, '%s' is not an overloadable
+type, '%s' is not a code reference, overload arg '%s' is invalid
+
+=item BUGS AND PITFALLS
+
+=back
+
+=head2 overloading - perl pragma to lexically control overloading
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+C<no overloading>, C<no overloading @ops>, C<use overloading>, C<use
+overloading @ops>
+
+=back
+
+=head2 parent - Establish an ISA relationship with base classes at compile
+time
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item DIAGNOSTICS
+
+Class 'Foo' tried to inherit from itself
+
+=item HISTORY
+
+=item CAVEATS
+
+=item SEE ALSO
+
+=item AUTHORS AND CONTRIBUTORS
+
+=item MAINTAINER
+
+=item LICENSE
+
+=back
+
+=head2 re - Perl pragma to alter regular expression behaviour
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item 'taint' mode
+
+=item 'eval' mode
+
+=item '/flags' mode
+
+=item 'debug' mode
+
+=item 'Debug' mode
+
+Compile related options, COMPILE, PARSE, OPTIMISE, TRIEC, DUMP, Execute
+related options, EXECUTE, MATCH, TRIEE, INTUIT, Extra debugging options,
+EXTRA, BUFFERS, TRIEM, STATE, STACK, OPTIMISEM, OFFSETS, OFFSETSDBG, Other
+useful flags, ALL, All, MORE, More
+
+=item Exportable Functions
+
+is_regexp($ref), regexp_pattern($ref), regmust($ref), regname($name,$all),
+regnames($all), regnames_count()
+
+=back
+
+=item SEE ALSO
+
+=back
+
+=head2 sigtrap - Perl pragma to enable simple signal handling
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item OPTIONS
+
+=over 4
+
+=item SIGNAL HANDLERS
+
+B<stack-trace>, B<die>, B<handler> I<your-handler>
+
+=item SIGNAL LISTS
+
+B<normal-signals>, B<error-signals>, B<old-interface-signals>
+
+=item OTHER
+
+B<untrapped>, B<any>, I<signal>, I<number>
+
+=back
+
+=item EXAMPLES
+
+=back
+
+=head2 sort - perl pragma to control sort() behaviour
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item CAVEATS
+
+=back
+
+=head2 strict - Perl pragma to restrict unsafe constructs
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+C<strict refs>, C<strict vars>, C<strict subs>
+
+=item HISTORY
+
+=back
+
+=head2 subs - Perl pragma to predeclare sub names
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=back
+
+=head2 threads - Perl interpreter-based threads
+
+=over 4
+
+=item VERSION
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+$thr = threads->create(FUNCTION, ARGS), $thr->join(), $thr->detach(),
+threads->detach(), threads->self(), $thr->tid(), threads->tid(), "$thr",
+threads->object($tid), threads->yield(), threads->list(),
+threads->list(threads::all), threads->list(threads::running),
+threads->list(threads::joinable), $thr1->equal($thr2), async BLOCK;,
+$thr->error(), $thr->_handle(), threads->_handle()
+
+=item EXITING A THREAD
+
+threads->exit(), threads->exit(status), die(), exit(status), use threads
+'exit' => 'threads_only', threads->create({'exit' => 'thread_only'}, ...),
+$thr->set_thread_exit_only(boolean), threads->set_thread_exit_only(boolean)
+
+=item THREAD STATE
+
+$thr->is_running(), $thr->is_joinable(), $thr->is_detached(),
+threads->is_detached()
+
+=item THREAD CONTEXT
+
+=over 4
+
+=item Explicit context
+
+=item Implicit context
+
+=item $thr->wantarray()
+
+=item threads->wantarray()
+
+=back
+
+=item THREAD STACK SIZE
+
+threads->get_stack_size();, $size = $thr->get_stack_size();, $old_size =
+threads->set_stack_size($new_size);, use threads ('stack_size' => VALUE);,
+$ENV{'PERL5_ITHREADS_STACK_SIZE'}, threads->create({'stack_size' => VALUE},
+FUNCTION, ARGS), $thr2 = $thr1->create(FUNCTION, ARGS)
+
+=item THREAD SIGNALLING
+
+$thr->kill('SIG...');
+
+=item WARNINGS
+
+Perl exited with active threads:, Thread creation failed: pthread_create
+returned #, Thread # terminated abnormally: .., Using minimum thread stack
+size of #, Thread creation failed: pthread_attr_setstacksize(I<SIZE>)
+returned 22
+
+=item ERRORS
+
+This Perl not built to support threads, Cannot change stack size of an
+existing thread, Cannot signal threads without safe signals, Unrecognized
+signal name: ..
+
+=item BUGS AND LIMITATIONS
+
+Thread-safe modules, Using non-thread-safe modules, Memory consumption,
+Current working directory, Environment variables, Catching signals,
+Parent-child threads, Creating threads inside special blocks, Unsafe
+signals, Perl has been built with C<PERL_OLD_SIGNALS> (see C<perl -V>), The
+environment variable C<PERL_SIGNALS> is set to C<unsafe> (see
+L<perlrun/"PERL_SIGNALS">), The module L<Perl::Unsafe::Signals> is used,
+Returning closures from threads, Returning objects from threads, END blocks
+in threads, Open directory handles, Perl Bugs and the CPAN Version of
+L<threads>
+
+=item REQUIREMENTS
+
+=item SEE ALSO
+
+=item AUTHOR
+
+=item LICENSE
+
+=item ACKNOWLEDGEMENTS
+
+=back
+
+=head2 threads::shared - Perl extension for sharing data structures between
+threads
+
+=over 4
+
+=item VERSION
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item EXPORT
+
+=item FUNCTIONS
+
+share VARIABLE, shared_clone REF, is_shared VARIABLE, lock VARIABLE,
+cond_wait VARIABLE, cond_wait CONDVAR, LOCKVAR, cond_timedwait VARIABLE,
+ABS_TIMEOUT, cond_timedwait CONDVAR, ABS_TIMEOUT, LOCKVAR, cond_signal
+VARIABLE, cond_broadcast VARIABLE
+
+=item OBJECTS
+
+=item NOTES
+
+=item BUGS AND LIMITATIONS
+
+=item SEE ALSO
+
+=item AUTHOR
+
+=item LICENSE
+
+=back
+
+=head2 utf8 - Perl pragma to enable/disable UTF-8 (or UTF-EBCDIC) in source
+code
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=over 4
+
+=item Utility functions
+
+$num_octets = utf8::upgrade($string), $success = utf8::downgrade($string[,
+FAIL_OK]), utf8::encode($string), $success = utf8::decode($string), $flag =
+utf8::is_utf8(STRING), $flag = utf8::valid(STRING)
+
+=back
+
+=item BUGS
+
+=item SEE ALSO
+
+=back
+
+=head2 vars - Perl pragma to predeclare global variable names (obsolete)
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=back
+
+=head2 version - Perl extension for Version Objects
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item TYPES OF VERSION OBJECTS
+
+Decimal Versions, Dotted Decimal Versions
+
+=item DECLARING VERSIONS
+
+=over 4
+
+=item How to convert a module from decimal to dotted-decimal
+
+=item How to C<declare()> a dotted-decimal version
+
+=back
+
+=item PARSING AND COMPARING VERSIONS
+
+=over 4
+
+=item How to C<parse()> a version
+
+=item How to check for a legal version string
+
+C<is_lax()>, C<is_strict()>
+
+=item How to compare version objects
+
+=back
+
+=item OBJECT METHODS
+
+=over 4
+
+=item is_alpha()
+
+=item is_qv()
+
+=item normal()
+
+=item numify()
+
+=item stringify()
+
+=back
+
+=item EXPORTED FUNCTIONS
+
+=over 4
+
+=item qv()
+
+=item is_lax()
+
+=item is_strict()
+
+=back
+
+=item AUTHOR
+
+=item SEE ALSO
+
+=back
+
+=head2 version::Internals - Perl extension for Version Objects
+
+=over 4
+
+=item DESCRIPTION
+
+=item WHAT IS A VERSION?
+
+Decimal Versions, Dotted-Decimal Versions
+
+=over 4
+
+=item Decimal Versions
+
+=item Dotted-Decimal Versions
+
+=item Alpha Versions
+
+=item Regular Expressions for Version Parsing
+
+C<$version::LAX>, C<$version::STRICT>, v1.234.5
+
+=back
+
+=item IMPLEMENTATION DETAILS
+
+=over 4
+
+=item Equivalence between Decimal and Dotted-Decimal Versions
+
+=item Quoting Rules
+
+=item What about v-strings?
+
+=item Version Object Internals
+
+original, qv, alpha, version
+
+=item Replacement UNIVERSAL::VERSION
+
+=back
+
+=item USAGE DETAILS
+
+=over 4
+
+=item Using modules that use version.pm
+
+Decimal versions always work, Dotted-Decimal version work sometimes
+
+=item Object Methods
+
+new(), qv(), Normal Form, Numification, Stringification, Comparison
+operators, Logical Operators
+
+=back
+
+=item AUTHOR
+
+=item SEE ALSO
+
+=back
+
+=head2 version::Requirements, Version::Requirements - a set of version
+requirements for a CPAN dist
+
+=over 4
+
+=item VERSION
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item METHODS
+
+=over 4
+
+=item new
+
+=item add_minimum
+
+=item add_maximum
+
+=item add_exclusion
+
+=item exact_version
+
+=item add_requirements
+
+=item accepts_module
+
+=item clear_requirement
+
+=item required_modules
+
+=item clone
+
+=item is_simple
+
+=item is_finalized
+
+=item finalize
+
+=item as_string_hash
+
+=item from_string_hash
+
+=back
+
+=item AUTHOR
+
+=item COPYRIGHT AND LICENSE
+
+=back
+
+=head2 vmsish - Perl pragma to control VMS-specific language features
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+C<vmsish status>, C<vmsish exit>, C<vmsish time>, C<vmsish hushed>
+
+=back
+
+=head2 warnings - Perl pragma to control optional warnings
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+use warnings::register, warnings::enabled(), warnings::enabled($category),
+warnings::enabled($object), warnings::fatal_enabled(),
+warnings::fatal_enabled($category), warnings::fatal_enabled($object),
+warnings::warn($message), warnings::warn($category, $message),
+warnings::warn($object, $message), warnings::warnif($message),
+warnings::warnif($category, $message), warnings::warnif($object, $message),
+warnings::register_categories(@names)
+
+=back
+
+=head2 warnings::register - warnings import function
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=back
+
=head1 MODULE DOCUMENTATION
-=head2 C:\perl_tl\perl-5.14.2\lib::AnyDBM_File, AnyDBM_File - provide
-framework for multiple DBMs
+=head2 AnyDBM_File - provide framework for multiple DBMs
=over 4
@@ -15449,8 +14642,7 @@ framework for multiple DBMs
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::App::Cpan, App::Cpan - easily interact
-with CPAN from the command line
+=head2 App::Cpan - easily interact with CPAN from the command line
=over 4
@@ -15497,8 +14689,7 @@ run()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::App::Prove, App::Prove - Implements the
-C<prove> command.
+=head2 App::Prove - Implements the C<prove> command.
=over 4
@@ -15555,8 +14746,7 @@ C<tapversion>, C<trap>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::App::Prove::State, App::Prove::State -
-State storage for the C<prove> command.
+=head2 App::Prove::State - State storage for the C<prove> command.
=over 4
@@ -15619,8 +14809,7 @@ C<new>, C<old>, C<save>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::App::Prove::State::Result,
-App::Prove::State::Result - Individual test suite results.
+=head2 App::Prove::State::Result - Individual test suite results.
=over 4
@@ -15660,8 +14849,7 @@ App::Prove::State::Result - Individual test suite results.
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::App::Prove::State::Result::Test,
-App::Prove::State::Result::Test - Individual test results.
+=head2 App::Prove::State::Result::Test - Individual test results.
=over 4
@@ -15695,8 +14883,7 @@ App::Prove::State::Result::Test - Individual test results.
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Archive::Extract, Archive::Extract - A
-generic archive extracting mechanism
+=head2 Archive::Extract - A generic archive extracting mechanism
=over 4
@@ -15835,8 +15022,7 @@ Mime magic support, Thread safety
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Archive::Tar, Archive::Tar - module for
-manipulations of tar archives
+=head2 Archive::Tar - module for manipulations of tar archives
=over 4
@@ -15858,7 +15044,7 @@ manipulations of tar archives
=item $tar->read ( $filename|$handle, [$compressed, {opt => 'val'}] )
-limit, filter, extract
+limit, filter, md5, extract
=back
@@ -15912,6 +15098,18 @@ limit, filter, extract
=over 4
+=item $tar->chmod( $file, $mode )
+
+=back
+
+=over 4
+
+=item $tar->chown( $file, $uname [, $gname] )
+
+=back
+
+=over 4
+
=item $tar->remove (@filenamelist)
=back
@@ -16080,8 +15278,8 @@ implementations
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Archive::Tar::File, Archive::Tar::File -
-a subclass for in-memory extracted file from Archive::Tar
+=head2 Archive::Tar::File - a subclass for in-memory extracted file from
+Archive::Tar
=over 4
@@ -16162,6 +15360,18 @@ uname, gname, devmajor, devminor, prefix, raw
=over 4
+=item $bool = $file->chmod $mode)
+
+=back
+
+=over 4
+
+=item $bool = $file->chown( $user [, $group])
+
+=back
+
+=over 4
+
=item Convenience methods
$file->is_file, $file->is_dir, $file->is_hardlink, $file->is_symlink,
@@ -16170,8 +15380,7 @@ $file->is_longlink, $file->is_label, $file->is_unknown
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Attribute::Handlers, Attribute::Handlers
-- Simpler definition of attribute handlers
+=head2 Attribute::Handlers - Simpler definition of attribute handlers
=over 4
@@ -16219,8 +15428,7 @@ be able to apply END handler>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::AutoLoader, AutoLoader - load
-subroutines only on demand
+=head2 AutoLoader - load subroutines only on demand
=over 4
@@ -16254,8 +15462,7 @@ subroutines only on demand
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::AutoSplit, AutoSplit - split a package
-for autoloading
+=head2 AutoSplit - split a package for autoloading
=over 4
@@ -16279,7 +15486,7 @@ $keep, $check, $modtime
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::B, B - The Perl Compiler Backend
+=head2 B - The Perl Compiler Backend
=over 4
@@ -16342,7 +15549,7 @@ RV
=item B::PV Methods
-PV, RV, PVX
+PV, RV, PVX, CUR, LEN
=item B::PVMG Methods
@@ -16427,8 +15634,8 @@ redoop, nextop, lastop
=item B::COP Methods
-label, stash, stashpv, file, cop_seq, arybase, line, warnings, io, hints,
-hints_hash
+label, stash, stashpv, stashlen, file, cop_seq, arybase, line, warnings,
+io, hints, hints_hash
=back
@@ -16436,8 +15643,7 @@ hints_hash
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::B::Concise, B::Concise - Walk Perl
-syntax tree, printing concise info about ops
+=head2 B::Concise - Walk Perl syntax tree, printing concise info about ops
=over 4
@@ -16542,8 +15748,7 @@ a{_POSIX_SAVED_IDS}', perl -MB::Concise -e
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::B::Debug, B::Debug - Walk Perl syntax
-tree, printing debug info about ops
+=head2 B::Debug - Walk Perl syntax tree, printing debug info about ops
=over 4
@@ -16559,8 +15764,7 @@ tree, printing debug info about ops
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::B::Deparse, B::Deparse - Perl compiler
-backend to produce perl code
+=head2 B::Deparse - Perl compiler backend to produce perl code
=over 4
@@ -16598,7 +15802,7 @@ strict, $[, bytes, utf8, integer, re, warnings, hint_bits, warning_bits,
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::B::Lint, B::Lint - Perl lint
+=head2 B::Lint - Perl lint
=over 4
@@ -16631,8 +15835,7 @@ validate against older perls
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::B::Lint::Debug, B::Lint::Debug - Adds
-debugging stringification to B::
+=head2 B::Lint::Debug - Adds debugging stringification to B::
=over 4
@@ -16640,8 +15843,7 @@ debugging stringification to B::
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::B::Showlex, B::Showlex - Show lexical
-variables used in functions or files
+=head2 B::Showlex - Show lexical variables used in functions or files
=over 4
@@ -16665,8 +15867,7 @@ variables used in functions or files
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::B::Terse, B::Terse - Walk Perl syntax
-tree, printing terse info about ops
+=head2 B::Terse - Walk Perl syntax tree, printing terse info about ops
=over 4
@@ -16678,8 +15879,7 @@ tree, printing terse info about ops
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::B::Xref, B::Xref - Generates cross
-reference reports for Perl programs
+=head2 B::Xref - Generates cross reference reports for Perl programs
=over 4
@@ -16687,6 +15887,8 @@ reference reports for Perl programs
=item DESCRIPTION
+i, &, s, r
+
=item OPTIONS
C<-oFILENAME>, C<-r>, C<-d>, C<-D[tO]>
@@ -16697,8 +15899,7 @@ C<-oFILENAME>, C<-r>, C<-d>, C<-D[tO]>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Benchmark, Benchmark - benchmark running
-times of Perl code
+=head2 Benchmark - benchmark running times of Perl code
=over 4
@@ -16744,8 +15945,7 @@ disablecache ( ), enablecache ( ), timesum ( T1, T2 )
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CGI, CGI - Handle Common Gateway
-Interface requests and responses
+=head2 CGI - Handle Common Gateway Interface requests and responses
=over 4
@@ -17010,8 +16210,7 @@ MacEachern (dougm@opengroup.org), Robin Houston (robin@oneworld.org),
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CGI::Apache, CGI::Apache - Backward
-compatibility module for CGI.pm
+=head2 CGI::Apache - Backward compatibility module for CGI.pm
=over 4
@@ -17029,8 +16228,8 @@ compatibility module for CGI.pm
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CGI::Carp, B<CGI::Carp> - CGI routines
-for writing to the HTTPD (or other) error log
+=head2 CGI::Carp, B<CGI::Carp> - CGI routines for writing to the HTTPD (or
+other) error log
=over 4
@@ -17066,8 +16265,7 @@ for writing to the HTTPD (or other) error log
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CGI::Cookie, CGI::Cookie - Interface to
-HTTP Cookies
+=head2 CGI::Cookie - Interface to HTTP Cookies
=over 4
@@ -17102,8 +16300,7 @@ B<name()>, B<value()>, B<domain()>, B<path()>, B<expires()>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CGI::Fast, CGI::Fast - CGI Interface for
-Fast CGI
+=head2 CGI::Fast - CGI Interface for Fast CGI
=over 4
@@ -17133,8 +16330,7 @@ FCGI_SOCKET_PATH, FCGI_LISTEN_QUEUE
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CGI::Pretty, CGI::Pretty - module to
-produce nicely formatted HTML code
+=head2 CGI::Pretty - module to produce nicely formatted HTML code
=over 4
@@ -17158,8 +16354,7 @@ produce nicely formatted HTML code
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CGI::Push, CGI::Push - Simple Interface
-to Server Push
+=head2 CGI::Push - Simple Interface to Server Push
=over 4
@@ -17189,8 +16384,7 @@ to Server Push
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CGI::Switch, CGI::Switch - Backward
-compatibility module for defunct CGI::Switch
+=head2 CGI::Switch - Backward compatibility module for defunct CGI::Switch
=over 4
@@ -17208,8 +16402,7 @@ compatibility module for defunct CGI::Switch
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CGI::Util, CGI::Util - Internal
-utilities used by CGI module
+=head2 CGI::Util - Internal utilities used by CGI module
=over 4
@@ -17223,8 +16416,7 @@ utilities used by CGI module
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CORE, CORE - Pseudo-namespace for Perl's
-core routines
+=head2 CORE - Namespace for Perl's core routines
=over 4
@@ -17240,8 +16432,7 @@ core routines
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPAN, CPAN - query, download and build
-perl modules from CPAN sites
+=head2 CPAN - query, download and build perl modules from CPAN sites
=over 4
@@ -17267,6 +16458,8 @@ and the C<fforce> pragma, Lockfile, Signals
=item mkmyconfig
+=item r [Module|/Regexp/]...
+
=item recent ***EXPERIMENTAL COMMAND***
=item recompile
@@ -17275,7 +16468,7 @@ and the C<fforce> pragma, Lockfile, Signals
=item smoke ***EXPERIMENTAL COMMAND***
-=item upgrade [Module|/Regex/]...
+=item upgrade [Module|/Regexp/]...
=item The four C<CPAN::*> Classes: Author, Bundle, Module, Distribution
@@ -17464,8 +16657,7 @@ http firewall, ftp firewall, One-way visibility, SOCKS, IP Masquerade
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::API::HOWTO, CPAN::API::HOWTO - a
-recipe book for programming with CPAN.pm
+=head2 CPAN::API::HOWTO - a recipe book for programming with CPAN.pm
=over 4
@@ -17487,12 +16679,11 @@ recipe book for programming with CPAN.pm
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Distroprefs, CPAN::Distroprefs --
-read and match distroprefs
+=head2 CPAN::Distroprefs -- read and match distroprefs
=over 4
-=item SYNOPSIS
+=item SYNOPSIS
=item DESCRIPTION
@@ -17513,14 +16704,13 @@ files remain to be found
=back
-=item PREFS
+=item PREFS
=item LICENSE
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::FirstTime, CPAN::FirstTime -
-Utility for CPAN::Config file Initialization
+=head2 CPAN::FirstTime - Utility for CPAN::Config file Initialization
=over 4
@@ -17551,8 +16741,7 @@ use_sqlite, version_timeout, yaml_load_code, yaml_module
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Kwalify, CPAN::Kwalify - Interface
-between CPAN.pm and Kwalify.pm
+=head2 CPAN::Kwalify - Interface between CPAN.pm and Kwalify.pm
=over 4
@@ -17568,8 +16757,7 @@ _validate($schema_name, $data, $file, $doc), yaml($schema_name)
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Meta, CPAN::Meta - the
-distribution metadata for a CPAN dist
+=head2 CPAN::Meta - the distribution metadata for a CPAN dist
=over 4
@@ -17625,14 +16813,24 @@ distribution metadata for a CPAN dist
=item SEE ALSO
+=item SUPPORT
+
+=over 4
+
+=item Bugs / Feature Requests
+
+=item Source Code
+
+=back
+
=item AUTHORS
=item COPYRIGHT AND LICENSE
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Meta::Converter,
-CPAN::Meta::Converter - Convert CPAN distribution metadata structures
+=head2 CPAN::Meta::Converter - Convert CPAN distribution metadata
+structures
=over 4
@@ -17660,8 +16858,8 @@ CPAN::Meta::Converter - Convert CPAN distribution metadata structures
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Meta::Feature, CPAN::Meta::Feature
-- an optional feature provided by a CPAN distribution
+=head2 CPAN::Meta::Feature - an optional feature provided by a CPAN
+distribution
=over 4
@@ -17691,8 +16889,7 @@ CPAN::Meta::Converter - Convert CPAN distribution metadata structures
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Meta::History, CPAN::Meta::History
-- history of CPAN Meta Spec changes
+=head2 CPAN::Meta::History - history of CPAN Meta Spec changes
=over 4
@@ -17724,8 +16921,8 @@ CPAN::Meta::Converter - Convert CPAN distribution metadata structures
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Meta::Prereqs, CPAN::Meta::Prereqs
-- a set of distribution prerequisites by phase and type
+=head2 CPAN::Meta::Prereqs - a set of distribution prerequisites by phase
+and type
=over 4
@@ -17761,8 +16958,64 @@ CPAN::Meta::Converter - Convert CPAN distribution metadata structures
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Meta::Spec, CPAN::Meta::Spec -
-specification for CPAN distribution metadata
+=head2 CPAN::Meta::Requirements - a set of version requirements for a CPAN
+dist
+
+=over 4
+
+=item VERSION
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item METHODS
+
+=over 4
+
+=item new
+
+=item add_minimum
+
+=item add_maximum
+
+=item add_exclusion
+
+=item exact_version
+
+=item add_requirements
+
+=item accepts_module
+
+=item clear_requirement
+
+=item required_modules
+
+=item clone
+
+=item is_simple
+
+=item is_finalized
+
+=item finalize
+
+=item as_string_hash
+
+=item add_string_requirement
+
+>= 1.3, <= 1.3, ! 1.3, > 1.3, < 1.3, >= 1.3, ! 1.5, <= 2.0
+
+=item from_string_hash
+
+=back
+
+=item AUTHORS
+
+=item COPYRIGHT AND LICENSE
+
+=back
+
+=head2 CPAN::Meta::Spec - specification for CPAN distribution metadata
=over 4
@@ -17862,8 +17115,8 @@ conflicts
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Meta::Validator,
-CPAN::Meta::Validator - validate CPAN distribution metadata structures
+=head2 CPAN::Meta::Validator - validate CPAN distribution metadata
+structures
=over 4
@@ -17885,12 +17138,8 @@ CPAN::Meta::Validator - validate CPAN distribution metadata structures
=item Check Methods
-check_map($spec,$data)
-
=item Validator Methods
-header($self,$key,$value)
-
=back
=item BUGS
@@ -17901,8 +17150,8 @@ header($self,$key,$value)
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Meta::YAML, CPAN::Meta::YAML -
-Read and write a subset of YAML for CPAN Meta files
+=head2 CPAN::Meta::YAML - Read and write a subset of YAML for CPAN Meta
+files
=over 4
@@ -17916,14 +17165,61 @@ Read and write a subset of YAML for CPAN Meta files
=item SEE ALSO
+=item SUPPORT
+
+=over 4
+
+=item Bugs / Feature Requests
+
+=item Source Code
+
+=back
+
=item AUTHORS
=item COPYRIGHT AND LICENSE
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Nox, CPAN::Nox - Wrapper around
-CPAN.pm without using any XS module
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=back
+
+new( LOCAL_FILE_NAME )
+
+continents()
+
+countries( [CONTINENTS] )
+
+mirrors( [COUNTRIES] )
+
+get_mirrors_by_countries( [COUNTRIES] )
+
+get_mirrors_by_continents( [CONTINENTS] )
+
+get_countries_by_continents( [CONTINENTS] )
+
+best_mirrors
+
+get_n_random_mirrors_by_continents( N, [CONTINENTS]
+
+get_mirrors_timings( MIRROR_LIST, SEEN, CALLBACK );
+
+find_best_continents( HASH_REF );
+
+=over 4
+
+=item AUTHOR
+
+=item LICENSE
+
+=back
+
+=head2 CPAN::Nox - Wrapper around CPAN.pm without using any XS module
=over 4
@@ -17937,8 +17233,7 @@ CPAN.pm without using any XS module
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPAN::Version, CPAN::Version - utility
-functions to compare CPAN versions
+=head2 CPAN::Version - utility functions to compare CPAN versions
=over 4
@@ -17950,8 +17245,7 @@ functions to compare CPAN versions
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS, CPANPLUS - API & CLI access to
-the CPAN mirrors
+=head2 CPANPLUS - API & CLI access to the CPAN mirrors
=over 4
@@ -18012,11 +17306,11 @@ the CPAN mirrors
=item CONTACT INFORMATION
Bug reporting: I<bug-cpanplus@rt.cpan.org>, Questions & suggestions:
-I<cpanplus-devel@lists.sourceforge.net>
+I<bug-cpanplus@rt.cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Backend, CPANPLUS::Backend
+=head2 CPANPLUS::Backend - programmer's interface to CPANPLUS
=over 4
@@ -18090,9 +17384,9 @@ verbose => BOOL] )
=item $mod_obj = $cb->parse_module( module =>
$modname|$distname|$modobj|URI|PATH )
-Text::Bastardize, Text-Bastardize, Text-Bastardize-1.06,
-AYRNIEU/Text-Bastardize, AYRNIEU/Text-Bastardize-1.06,
-AYRNIEU/Text-Bastardize-1.06.tar.gz,
+Text::Bastardize, Text-Bastardize, Text/Bastardize.pm,
+Text-Bastardize-1.06, AYRNIEU/Text-Bastardize,
+AYRNIEU/Text-Bastardize-1.06, AYRNIEU/Text-Bastardize-1.06.tar.gz,
http://example.com/Text-Bastardize-1.06.tar.gz,
file:///tmp/Text-Bastardize-1.06.tar.gz, /tmp/Text-Bastardize-1.06,
./Text-Bastardize-1.06
@@ -18193,8 +17487,7 @@ BOOL] );
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Backend::RV,
-CPANPLUS::Backend::RV
+=head2 CPANPLUS::Backend::RV - return value objects
=over 4
@@ -18225,7 +17518,8 @@ ok, args, rv, function
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Config, CPANPLUS::Config
+=head2 CPANPLUS::Config - configuration defaults and heuristics for
+CPANPLUS
=over 4
@@ -18245,6 +17539,10 @@ hosts
=back
+allow_build_interactivity
+
+allow_unknown_prereqs
+
base
buildflags
@@ -18259,6 +17557,8 @@ dist_type
email
+enable_custom_sources
+
extractdir
fetchdir
@@ -18305,6 +17605,12 @@ source_engine
cpantest_reporter_args
+=over 4
+
+=item Section 'program'
+
+=back
+
editor
make
@@ -18329,7 +17635,7 @@ perlwrapper
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Configure, CPANPLUS::Configure
+=head2 CPANPLUS::Configure - configuration for CPANPLUS
=over 4
@@ -18404,7 +17710,7 @@ _set|_get_mirror, _set|_get_fetch
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Dist, CPANPLUS::Dist
+=head2 CPANPLUS::Dist - base class for plugins
=over 4
@@ -18466,8 +17772,8 @@ $version_spec )
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Dist::Autobundle,
-CPANPLUS::Dist::Autobundle
+=head2 CPANPLUS::Dist::Autobundle - distribution class for installation
+snapshots
=over 4
@@ -18477,8 +17783,7 @@ CPANPLUS::Dist::Autobundle
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Dist::Base,
-CPANPLUS::Dist::Base - Base class for custom distribution classes
+=head2 CPANPLUS::Dist::Base - Base class for custom distribution classes
=over 4
@@ -18534,8 +17839,7 @@ CPANPLUS::Dist::Base - Base class for custom distribution classes
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Dist::Build,
-CPANPLUS::Dist::Build - CPANPLUS plugin to install packages that use
+=head2 CPANPLUS::Dist::Build - CPANPLUS plugin to install packages that use
Build.PL
=over 4
@@ -18602,8 +17906,8 @@ prereq_target => TARGET, force => BOOL, verbose => BOOL, skiptest => BOOL])
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Dist::Build::Constants,
-CPANPLUS::Dist::Build::Constants - Constants for CPANPLUS::Dist::Build
+=head2 CPANPLUS::Dist::Build::Constants - Constants for
+CPANPLUS::Dist::Build
=over 4
@@ -18617,7 +17921,8 @@ CPANPLUS::Dist::Build::Constants - Constants for CPANPLUS::Dist::Build
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Dist::MM, CPANPLUS::Dist::MM
+=head2 CPANPLUS::Dist::MM - distribution class for MakeMaker related
+modules
=over 4
@@ -18629,7 +17934,7 @@ CPANPLUS::Dist::Build::Constants - Constants for CPANPLUS::Dist::Build
parent(), status()
-=item STATUS ACCESSORS
+=item STATUS ACCESSORS
makefile (), make (), test (), prepared (), distdir (), created (),
installed (), uninstalled (), _create_args (), _install_args ()
@@ -18689,8 +17994,8 @@ skiptest => BOOL, force => BOOL, verbose => BOOL])
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Dist::Sample,
-CPANPLUS::Dist::Sample -- Sample code to create your own Dist::* plugin
+=head2 CPANPLUS::Dist::Sample -- Sample code to create your own Dist::*
+plugin
=over 4
@@ -18698,7 +18003,7 @@ CPANPLUS::Dist::Sample -- Sample code to create your own Dist::* plugin
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Error, CPANPLUS::Error
+=head2 CPANPLUS::Error - error handling for CPANPLUS
=over 4
@@ -18742,7 +18047,9 @@ $ERROR_FH, $MSG_FH
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::FAQ, CPANPLUS::FAQ
+=head2 CPANPLUS::FAQ - CPANPLUS Frequently Asked Questions
+
+=head2 CPANPLUS::FAQ
=over 4
@@ -18756,7 +18063,7 @@ $ERROR_FH, $MSG_FH
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Hacking, CPANPLUS::Hacking
+=head2 CPANPLUS::Hacking - developing CPANPLUS
=over 4
@@ -18782,12 +18089,12 @@ the test suite to test for the bug, [OPTIONAL] A patch to the code + tests
In C<diff -u> or C<diff -c> format, From the root of the snapshot,
Including patches for code + tests + docs, Sent per mail to
-cpanplus-devel@lists.sourceforge.net, With subject containing C<[PATCH]> +
-description of the patch
+bug-cpanplus@rt.cpan.org, With subject containing C<[PATCH]> + description
+of the patch
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Internals, CPANPLUS::Internals
+=head2 CPANPLUS::Internals - CPANPLUS internals
=over 4
@@ -18849,8 +18156,7 @@ edit_test_report, proceed_on_test_failure, munge_dist_metafile
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Internals::Extract,
-CPANPLUS::Internals::Extract
+=head2 CPANPLUS::Internals::Extract - internals for archive extraction
=over 4
@@ -18872,8 +18178,7 @@ module, extractdir, prefer_bin, perl, verbose, force
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Internals::Fetch,
-CPANPLUS::Internals::Fetch
+=head2 CPANPLUS::Internals::Fetch - internals for fetching files
=over 4
@@ -18901,8 +18206,7 @@ BOOL, prefer_bin => BOOL, ttl => $seconds] )
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Internals::Report,
-CPANPLUS::Internals::Report
+=head2 CPANPLUS::Internals::Report - internals for sending test reports
=over 4
@@ -18939,8 +18243,7 @@ module, buffer, failed, save, address, verbose, force
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Internals::Search,
-CPANPLUS::Internals::Search
+=head2 CPANPLUS::Internals::Search - internals for searching for modules
=over 4
@@ -18976,8 +18279,7 @@ type, allow, data
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Internals::Source,
-CPANPLUS::Internals::Source
+=head2 CPANPLUS::Internals::Source - internals for updating source files
=over 4
@@ -19061,7 +18363,7 @@ uptodate, path, verbose
=over 4
=item $file = $cb->_add_custom_module_source( uri => URI, [verbose => BOOL]
-);
+);
=back
@@ -19074,7 +18376,7 @@ uptodate, path, verbose
=over 4
=item $file = $cb->_remove_custom_module_source( uri => URI, [verbose =>
-BOOL] );
+BOOL] );
=back
@@ -19092,7 +18394,7 @@ BOOL] );
=over 4
-=item $ok = $cb->__update_custom_module_source
+=item $ok = $cb->__update_custom_module_source
=back
@@ -19105,12 +18407,11 @@ BOOL] );
=over 4
-=item $bool = $cb->__create_custom_module_entries( [verbose => BOOL] )
+=item $bool = $cb->__create_custom_module_entries( [verbose => BOOL] )
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Internals::Source::Memory,
-CPANPLUS::Internals::Source::Memory - In memory implementation
+=head2 CPANPLUS::Internals::Source::Memory - In memory implementation
=over 4
@@ -19129,11 +18430,9 @@ path, verbose
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Internals::Source::SQLite,
-CPANPLUS::Internals::Source::SQLite - SQLite implementation
+=head2 CPANPLUS::Internals::Source::SQLite - SQLite implementation
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Internals::Utils,
-CPANPLUS::Internals::Utils
+=head2 CPANPLUS::Internals::Utils - convenience functions for CPANPLUS
=over 4
@@ -19237,7 +18536,7 @@ PACKAGE_STRING );
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Module, CPANPLUS::Module
+=head2 CPANPLUS::Module - CPAN module objects for CPANPLUS
=over 4
@@ -19430,6 +18729,10 @@ prefer_bin => BOOL, force => BOOL, verbose => BOOL, ..... ]);
=item $bool = $self->add_to_includepath;
+=back
+
+=over 4
+
=item $path = $self->best_path_to_module_build();
=back
@@ -19444,8 +18747,7 @@ prefer_bin => BOOL, force => BOOL, verbose => BOOL, ..... ]);
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Module::Author,
-CPANPLUS::Module::Author
+=head2 CPANPLUS::Module::Author - CPAN author object for CPANPLUS
=over 4
@@ -19496,8 +18798,7 @@ author, cpanid, email, parent
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Module::Author::Fake,
-CPANPLUS::Module::Author::Fake
+=head2 CPANPLUS::Module::Author::Fake - dummy author object for CPANPLUS
=over 4
@@ -19515,8 +18816,8 @@ CPANPLUS::Module::Author::Fake
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Module::Checksums,
-CPANPLUS::Module::Checksums
+=head2 CPANPLUS::Module::Checksums - checking the checksum of a
+distribution
=over 4
@@ -19534,8 +18835,7 @@ CPANPLUS::Module::Checksums
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Module::Fake,
-CPANPLUS::Module::Fake
+=head2 CPANPLUS::Module::Fake - fake module object for internal use
=over 4
@@ -19553,8 +18853,7 @@ CPANPLUS::Module::Fake
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Selfupdate,
-CPANPLUS::Selfupdate
+=head2 CPANPLUS::Selfupdate - self-updating for CPANPLUS
=over 4
@@ -19576,6 +18875,12 @@ CPANPLUS::Selfupdate
=over 4
+=item @cat = $self->list_categories
+
+=back
+
+=over 4
+
=item %list = $self->list_modules_to_update( update =>
"core|dependencies|enabled_features|features|all", [latest => BOOL] )
@@ -19647,7 +18952,7 @@ CPANPLUS::Selfupdate
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Shell, CPANPLUS::Shell
+=head2 CPANPLUS::Shell - base class for CPANPLUS shells
=over 4
@@ -19669,8 +18974,7 @@ CPANPLUS::Selfupdate
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Shell::Classic,
-CPANPLUS::Shell::Classic - CPAN.pm emulation for CPANPLUS
+=head2 CPANPLUS::Shell::Classic - CPAN.pm emulation for CPANPLUS
=over 4
@@ -19692,8 +18996,7 @@ CPANPLUS::Shell::Classic - CPAN.pm emulation for CPANPLUS
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Shell::Default,
-CPANPLUS::Shell::Default
+=head2 CPANPLUS::Shell::Default - the default CPANPLUS shell
=over 4
@@ -19715,9 +19018,8 @@ CPANPLUS::Shell::Default
=back
-=head2
-C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Shell::Default::Plugins::CustomSource
-, CPANPLUS::Shell::Default::Plugins::CustomSource
+=head2 CPANPLUS::Shell::Default::Plugins::CustomSource - add custom sources
+to CPANPLUS
=over 4
@@ -19727,15 +19029,15 @@ C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Shell::Default::Plugins::CustomSource
=back
-=head2
-C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Shell::Default::Plugins::HOWTO,
-CPANPLUS::Shell::Default::Plugins::HOWTO -- documentation on how to write
-your own plugins
+=head2 CPANPLUS::Shell::Default::Plugins::HOWTO -- documentation on how to
+write your own plugins
=over 4
=item SYNOPSIS
+=item DESCRIPTION
+
=item HOWTO
=over 4
@@ -19765,9 +19067,8 @@ from the user, Options -- A hashref of options provided by the user
=back
-=head2
-C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Shell::Default::Plugins::Remote,
-CPANPLUS::Shell::Default::Plugins::Remote
+=head2 CPANPLUS::Shell::Default::Plugins::Remote - connect to a remote
+CPANPLUS
=over 4
@@ -19789,9 +19090,8 @@ CPANPLUS::Shell::Default::Plugins::Remote
=back
-=head2
-C:\perl_tl\perl-5.14.2\lib::CPANPLUS::Shell::Default::Plugins::Source,
-CPANPLUS::Shell::Default::Plugins::Source
+=head2 CPANPLUS::Shell::Default::Plugins::Source - read in CPANPLUS
+commands
=over 4
@@ -19813,8 +19113,7 @@ CPANPLUS::Shell::Default::Plugins::Source
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Carp, Carp - alternative warn and die
-for modules
+=head2 Carp - alternative warn and die for modules
=over 4
@@ -19852,10 +19151,17 @@ for modules
=item BUGS
+=item SEE ALSO
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=item LICENSE
+
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Class::Struct, Class::Struct - declare
-struct-like datatypes as Perl classes
+=head2 Class::Struct - declare struct-like datatypes as Perl classes
=over 4
@@ -19886,8 +19192,8 @@ Example 1, Example 2, Example 3
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Compress::Raw::Bzip2,
-Compress::Raw::Bzip2 - Low-Level Interface to bzip2 compression library
+=head2 Compress::Raw::Bzip2 - Low-Level Interface to bzip2 compression
+library
=over 4
@@ -19948,8 +19254,8 @@ B<$verbosity>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Compress::Raw::Zlib, Compress::Raw::Zlib
-- Low-Level Interface to zlib compression library
+=head2 Compress::Raw::Zlib - Low-Level Interface to zlib compression
+library
=over 4
@@ -20042,12 +19348,26 @@ B<-ADLER32>, B<-ConsumeInput>, B<-LimitOutput>
=item my $version = Compress::Raw::Zlib::zlib_version();
+=item my $flags = Compress::Raw::Zlib::zlibCompileFlags();
+
=back
=item The LimitOutput option.
=item ACCESSING ZIP FILES
+=item FAQ
+
+=over 4
+
+=item Compatibility with Unix compress/uncompress.
+
+=item Accessing .tar.Z files
+
+=item Zlib Library Version Support
+
+=back
+
=item CONSTANTS
=item SEE ALSO
@@ -20060,8 +19380,7 @@ B<-ADLER32>, B<-ConsumeInput>, B<-LimitOutput>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Compress::Zlib, Compress::Zlib -
-Interface to zlib compression library
+=head2 Compress::Zlib - Interface to zlib compression library
=over 4
@@ -20176,8 +19495,7 @@ B<-WindowBits>, B<-Bufsize>, B<-Dictionary>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Config, Config - access Perl
-configuration information
+=head2 Config - access Perl configuration information
=over 4
@@ -20288,20 +19606,21 @@ C<d_getsbyport>, C<d_getsent>, C<d_getservbyname_r>, C<d_getservbyport_r>,
C<d_getservent_r>, C<d_getservprotos>, C<d_getspnam>, C<d_getspnam_r>,
C<d_gettimeod>, C<d_gmtime64>, C<d_gmtime_r>, C<d_gnulibc>, C<d_grpasswd>,
C<d_hasmntopt>, C<d_htonl>, C<d_ilogbl>, C<d_inc_version_list>, C<d_index>,
-C<d_inetaton>, C<d_inetntop>, C<d_inetpton>, C<d_int64_t>, C<d_isascii>,
-C<d_isfinite>, C<d_isinf>, C<d_isnan>, C<d_isnanl>, C<d_killpg>,
-C<d_lchown>, C<d_ldbl_dig>, C<d_libm_lib_version>, C<d_link>,
-C<d_localtime64>, C<d_localtime_r>, C<d_localtime_r_needs_tzset>,
-C<d_locconv>, C<d_lockf>, C<d_longdbl>, C<d_longlong>, C<d_lseekproto>,
-C<d_lstat>, C<d_madvise>, C<d_malloc_good_size>, C<d_malloc_size>,
-C<d_mblen>, C<d_mbstowcs>, C<d_mbtowc>, C<d_memchr>, C<d_memcmp>,
-C<d_memcpy>, C<d_memmove>, C<d_memset>, C<d_mkdir>, C<d_mkdtemp>,
-C<d_mkfifo>, C<d_mkstemp>, C<d_mkstemps>, C<d_mktime>, C<d_mktime64>,
-C<d_mmap>, C<d_modfl>, C<d_modfl_pow32_bug>, C<d_modflproto>,
-C<d_mprotect>, C<d_msg>, C<d_msg_ctrunc>, C<d_msg_dontroute>, C<d_msg_oob>,
-C<d_msg_peek>, C<d_msg_proxy>, C<d_msgctl>, C<d_msgget>, C<d_msghdr_s>,
-C<d_msgrcv>, C<d_msgsnd>, C<d_msync>, C<d_munmap>, C<d_mymalloc>,
-C<d_ndbm>, C<d_ndbm_h_uses_prototypes>, C<d_nice>, C<d_nl_langinfo>,
+C<d_inetaton>, C<d_inetntop>, C<d_inetpton>, C<d_int64_t>, C<d_ipv6_mreq>,
+C<d_isascii>, C<d_isblank>, C<d_isfinite>, C<d_isinf>, C<d_isnan>,
+C<d_isnanl>, C<d_killpg>, C<d_lchown>, C<d_ldbl_dig>,
+C<d_libm_lib_version>, C<d_link>, C<d_localtime64>, C<d_localtime_r>,
+C<d_localtime_r_needs_tzset>, C<d_locconv>, C<d_lockf>, C<d_longdbl>,
+C<d_longlong>, C<d_lseekproto>, C<d_lstat>, C<d_madvise>,
+C<d_malloc_good_size>, C<d_malloc_size>, C<d_mblen>, C<d_mbstowcs>,
+C<d_mbtowc>, C<d_memchr>, C<d_memcmp>, C<d_memcpy>, C<d_memmove>,
+C<d_memset>, C<d_mkdir>, C<d_mkdtemp>, C<d_mkfifo>, C<d_mkstemp>,
+C<d_mkstemps>, C<d_mktime>, C<d_mktime64>, C<d_mmap>, C<d_modfl>,
+C<d_modfl_pow32_bug>, C<d_modflproto>, C<d_mprotect>, C<d_msg>,
+C<d_msg_ctrunc>, C<d_msg_dontroute>, C<d_msg_oob>, C<d_msg_peek>,
+C<d_msg_proxy>, C<d_msgctl>, C<d_msgget>, C<d_msghdr_s>, C<d_msgrcv>,
+C<d_msgsnd>, C<d_msync>, C<d_munmap>, C<d_mymalloc>, C<d_ndbm>,
+C<d_ndbm_h_uses_prototypes>, C<d_nice>, C<d_nl_langinfo>,
C<d_nv_preserves_uv>, C<d_nv_zero_is_allbits_zero>, C<d_off64_t>,
C<d_old_pthread_create_joinable>, C<d_oldpthreads>, C<d_oldsock>,
C<d_open3>, C<d_pathconf>, C<d_pause>, C<d_perl_otherlibdirs>,
@@ -20328,31 +19647,32 @@ C<d_setresuid>, C<d_setreuid>, C<d_setrgid>, C<d_setruid>, C<d_setsent>,
C<d_setservent_r>, C<d_setsid>, C<d_setvbuf>, C<d_sfio>, C<d_shm>,
C<d_shmat>, C<d_shmatprototype>, C<d_shmctl>, C<d_shmdt>, C<d_shmget>,
C<d_sigaction>, C<d_signbit>, C<d_sigprocmask>, C<d_sigsetjmp>,
-C<d_sin6_scope_id>, C<d_sitearch>, C<d_snprintf>, C<d_sockaddr_sa_len>,
-C<d_sockatmark>, C<d_sockatmarkproto>, C<d_socket>, C<d_socklen_t>,
-C<d_sockpair>, C<d_socks5_init>, C<d_sprintf_returns_strlen>, C<d_sqrtl>,
-C<d_srand48_r>, C<d_srandom_r>, C<d_sresgproto>, C<d_sresuproto>,
-C<d_statblks>, C<d_statfs_f_flags>, C<d_statfs_s>, C<d_static_inline>,
-C<d_statvfs>, C<d_stdio_cnt_lval>, C<d_stdio_ptr_lval>,
-C<d_stdio_ptr_lval_nochange_cnt>, C<d_stdio_ptr_lval_sets_cnt>,
-C<d_stdio_stream_array>, C<d_stdiobase>, C<d_stdstdio>, C<d_strchr>,
-C<d_strcoll>, C<d_strctcpy>, C<d_strerrm>, C<d_strerror>, C<d_strerror_r>,
-C<d_strftime>, C<d_strlcat>, C<d_strlcpy>, C<d_strtod>, C<d_strtol>,
-C<d_strtold>, C<d_strtoll>, C<d_strtoq>, C<d_strtoul>, C<d_strtoull>,
-C<d_strtouq>, C<d_strxfrm>, C<d_suidsafe>, C<d_symlink>, C<d_syscall>,
-C<d_syscallproto>, C<d_sysconf>, C<d_sysernlst>, C<d_syserrlst>,
-C<d_system>, C<d_tcgetpgrp>, C<d_tcsetpgrp>, C<d_telldir>,
-C<d_telldirproto>, C<d_time>, C<d_timegm>, C<d_times>, C<d_tm_tm_gmtoff>,
-C<d_tm_tm_zone>, C<d_tmpnam_r>, C<d_truncate>, C<d_ttyname_r>, C<d_tzname>,
-C<d_u32align>, C<d_ualarm>, C<d_umask>, C<d_uname>, C<d_union_semun>,
-C<d_unordered>, C<d_unsetenv>, C<d_usleep>, C<d_usleepproto>, C<d_ustat>,
-C<d_vendorarch>, C<d_vendorbin>, C<d_vendorlib>, C<d_vendorscript>,
-C<d_vfork>, C<d_void_closedir>, C<d_voidsig>, C<d_voidtty>, C<d_volatile>,
-C<d_vprintf>, C<d_vsnprintf>, C<d_wait4>, C<d_waitpid>, C<d_wcstombs>,
-C<d_wctomb>, C<d_writev>, C<d_xenix>, C<date>, C<db_hashtype>,
-C<db_prefixtype>, C<db_version_major>, C<db_version_minor>,
-C<db_version_patch>, C<defvoidused>, C<direntrytype>, C<dlext>, C<dlsrc>,
-C<doublesize>, C<drand01>, C<drand48_r_proto>, C<dtrace>, C<dynamic_ext>
+C<d_sin6_scope_id>, C<d_sitearch>, C<d_snprintf>, C<d_sockaddr_in6>,
+C<d_sockaddr_sa_len>, C<d_sockatmark>, C<d_sockatmarkproto>, C<d_socket>,
+C<d_socklen_t>, C<d_sockpair>, C<d_socks5_init>,
+C<d_sprintf_returns_strlen>, C<d_sqrtl>, C<d_srand48_r>, C<d_srandom_r>,
+C<d_sresgproto>, C<d_sresuproto>, C<d_statblks>, C<d_statfs_f_flags>,
+C<d_statfs_s>, C<d_static_inline>, C<d_statvfs>, C<d_stdio_cnt_lval>,
+C<d_stdio_ptr_lval>, C<d_stdio_ptr_lval_nochange_cnt>,
+C<d_stdio_ptr_lval_sets_cnt>, C<d_stdio_stream_array>, C<d_stdiobase>,
+C<d_stdstdio>, C<d_strchr>, C<d_strcoll>, C<d_strctcpy>, C<d_strerrm>,
+C<d_strerror>, C<d_strerror_r>, C<d_strftime>, C<d_strlcat>, C<d_strlcpy>,
+C<d_strtod>, C<d_strtol>, C<d_strtold>, C<d_strtoll>, C<d_strtoq>,
+C<d_strtoul>, C<d_strtoull>, C<d_strtouq>, C<d_strxfrm>, C<d_suidsafe>,
+C<d_symlink>, C<d_syscall>, C<d_syscallproto>, C<d_sysconf>,
+C<d_sysernlst>, C<d_syserrlst>, C<d_system>, C<d_tcgetpgrp>,
+C<d_tcsetpgrp>, C<d_telldir>, C<d_telldirproto>, C<d_time>, C<d_timegm>,
+C<d_times>, C<d_tm_tm_gmtoff>, C<d_tm_tm_zone>, C<d_tmpnam_r>,
+C<d_truncate>, C<d_ttyname_r>, C<d_tzname>, C<d_u32align>, C<d_ualarm>,
+C<d_umask>, C<d_uname>, C<d_union_semun>, C<d_unordered>, C<d_unsetenv>,
+C<d_usleep>, C<d_usleepproto>, C<d_ustat>, C<d_vendorarch>, C<d_vendorbin>,
+C<d_vendorlib>, C<d_vendorscript>, C<d_vfork>, C<d_void_closedir>,
+C<d_voidsig>, C<d_voidtty>, C<d_volatile>, C<d_vprintf>, C<d_vsnprintf>,
+C<d_wait4>, C<d_waitpid>, C<d_wcstombs>, C<d_wctomb>, C<d_writev>,
+C<d_xenix>, C<date>, C<db_hashtype>, C<db_prefixtype>, C<db_version_major>,
+C<db_version_minor>, C<db_version_patch>, C<defvoidused>, C<direntrytype>,
+C<dlext>, C<dlsrc>, C<doublesize>, C<drand01>, C<drand48_r_proto>,
+C<dtrace>, C<dynamic_ext>
=over 4
@@ -20416,12 +19736,12 @@ C<i_libutil>, C<i_limits>, C<i_locale>, C<i_machcthr>, C<i_malloc>,
C<i_mallocmalloc>, C<i_math>, C<i_memory>, C<i_mntent>, C<i_ndbm>,
C<i_netdb>, C<i_neterrno>, C<i_netinettcp>, C<i_niin>, C<i_poll>,
C<i_prot>, C<i_pthread>, C<i_pwd>, C<i_rpcsvcdbm>, C<i_sfio>, C<i_sgtty>,
-C<i_shadow>, C<i_socks>, C<i_stdarg>, C<i_stddef>, C<i_stdlib>,
-C<i_string>, C<i_sunmath>, C<i_sysaccess>, C<i_sysdir>, C<i_sysfile>,
-C<i_sysfilio>, C<i_sysin>, C<i_sysioctl>, C<i_syslog>, C<i_sysmman>,
-C<i_sysmode>, C<i_sysmount>, C<i_sysndir>, C<i_sysparam>, C<i_syspoll>,
-C<i_sysresrc>, C<i_syssecrt>, C<i_sysselct>, C<i_syssockio>, C<i_sysstat>,
-C<i_sysstatfs>, C<i_sysstatvfs>, C<i_systime>, C<i_systimek>,
+C<i_shadow>, C<i_socks>, C<i_stdarg>, C<i_stdbool>, C<i_stddef>,
+C<i_stdlib>, C<i_string>, C<i_sunmath>, C<i_sysaccess>, C<i_sysdir>,
+C<i_sysfile>, C<i_sysfilio>, C<i_sysin>, C<i_sysioctl>, C<i_syslog>,
+C<i_sysmman>, C<i_sysmode>, C<i_sysmount>, C<i_sysndir>, C<i_sysparam>,
+C<i_syspoll>, C<i_sysresrc>, C<i_syssecrt>, C<i_sysselct>, C<i_syssockio>,
+C<i_sysstat>, C<i_sysstatfs>, C<i_sysstatvfs>, C<i_systime>, C<i_systimek>,
C<i_systimes>, C<i_systypes>, C<i_sysuio>, C<i_sysun>, C<i_sysutsname>,
C<i_sysvfs>, C<i_syswait>, C<i_termio>, C<i_termios>, C<i_time>,
C<i_unistd>, C<i_ustat>, C<i_utime>, C<i_values>, C<i_varargs>,
@@ -20452,13 +19772,13 @@ C<known_extensions>, C<ksh>
=back
-C<ld>, C<lddlflags>, C<ldflags>, C<ldflags_uselargefiles>, C<ldlibpthname>,
-C<less>, C<lib_ext>, C<libc>, C<libperl>, C<libpth>, C<libs>, C<libsdirs>,
-C<libsfiles>, C<libsfound>, C<libspath>, C<libswanted>,
-C<libswanted_uselargefiles>, C<line>, C<lint>, C<lkflags>, C<ln>, C<lns>,
-C<localtime_r_proto>, C<locincpth>, C<loclibpth>, C<longdblsize>,
-C<longlongsize>, C<longsize>, C<lp>, C<lpr>, C<ls>, C<lseeksize>,
-C<lseektype>
+C<ld>, C<ld_can_script>, C<lddlflags>, C<ldflags>,
+C<ldflags_uselargefiles>, C<ldlibpthname>, C<less>, C<lib_ext>, C<libc>,
+C<libperl>, C<libpth>, C<libs>, C<libsdirs>, C<libsfiles>, C<libsfound>,
+C<libspath>, C<libswanted>, C<libswanted_uselargefiles>, C<line>, C<lint>,
+C<lkflags>, C<ln>, C<lns>, C<localtime_r_proto>, C<locincpth>,
+C<loclibpth>, C<longdblsize>, C<longlongsize>, C<longsize>, C<lp>, C<lpr>,
+C<ls>, C<lseeksize>, C<lseektype>
=over 4
@@ -20557,10 +19877,10 @@ C<socketlib>, C<socksizetype>, C<sort>, C<spackage>, C<spitshell>,
C<sPRId64>, C<sPRIeldbl>, C<sPRIEUldbl>, C<sPRIfldbl>, C<sPRIFUldbl>,
C<sPRIgldbl>, C<sPRIGUldbl>, C<sPRIi64>, C<sPRIo64>, C<sPRIu64>,
C<sPRIx64>, C<sPRIXU64>, C<srand48_r_proto>, C<srandom_r_proto>, C<src>,
-C<sSCNfldbl>, C<ssizetype>, C<startperl>, C<startsh>, C<static_ext>,
-C<stdchar>, C<stdio_base>, C<stdio_bufsiz>, C<stdio_cnt>, C<stdio_filbuf>,
-C<stdio_ptr>, C<stdio_stream_array>, C<strerror_r_proto>, C<strings>,
-C<submit>, C<subversion>, C<sysman>
+C<sSCNfldbl>, C<ssizetype>, C<st_ino_sign>, C<st_ino_size>, C<startperl>,
+C<startsh>, C<static_ext>, C<stdchar>, C<stdio_base>, C<stdio_bufsiz>,
+C<stdio_cnt>, C<stdio_filbuf>, C<stdio_ptr>, C<stdio_stream_array>,
+C<strerror_r_proto>, C<strings>, C<submit>, C<subversion>, C<sysman>
=over 4
@@ -20582,13 +19902,13 @@ C<u16size>, C<u16type>, C<u32size>, C<u32type>, C<u64size>, C<u64type>,
C<u8size>, C<u8type>, C<uidformat>, C<uidsign>, C<uidsize>, C<uidtype>,
C<uname>, C<uniq>, C<uquadtype>, C<use5005threads>, C<use64bitall>,
C<use64bitint>, C<usecrosscompile>, C<usedevel>, C<usedl>, C<usedtrace>,
-C<usefaststdio>, C<useithreads>, C<uselargefiles>, C<uselongdouble>,
-C<usemallocwrap>, C<usemorebits>, C<usemultiplicity>, C<usemymalloc>,
-C<usenm>, C<useopcode>, C<useperlio>, C<useposix>, C<usereentrant>,
-C<userelocatableinc>, C<usesfio>, C<useshrplib>, C<usesitecustomize>,
-C<usesocks>, C<usethreads>, C<usevendorprefix>, C<usevfork>, C<usrinc>,
-C<uuname>, C<uvoformat>, C<uvsize>, C<uvtype>, C<uvuformat>, C<uvxformat>,
-C<uvXUformat>
+C<usefaststdio>, C<useithreads>, C<usekernprocpathname>, C<uselargefiles>,
+C<uselongdouble>, C<usemallocwrap>, C<usemorebits>, C<usemultiplicity>,
+C<usemymalloc>, C<usenm>, C<usensgetexecutablepath>, C<useopcode>,
+C<useperlio>, C<useposix>, C<usereentrant>, C<userelocatableinc>,
+C<usesfio>, C<useshrplib>, C<usesitecustomize>, C<usesocks>, C<usethreads>,
+C<usevendorprefix>, C<usevfork>, C<usrinc>, C<uuname>, C<uvoformat>,
+C<uvsize>, C<uvtype>, C<uvuformat>, C<uvxformat>, C<uvXUformat>
=over 4
@@ -20648,8 +19968,7 @@ dynamic, nonxs, static
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Cwd, Cwd - get pathname of current
-working directory
+=head2 Cwd - get pathname of current working directory
=over 4
@@ -20681,8 +20000,7 @@ abs_path, realpath, fast_abs_path
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::DB, DB - programmatic interface to the
-Perl debugging API
+=head2 DB - programmatic interface to the Perl debugging API
=over 4
@@ -20717,8 +20035,7 @@ CLIENT->output(LIST)
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::DBM_Filter, DBM_Filter -- Filter DBM
-keys/values
+=head2 DBM_Filter -- Filter DBM keys/values
=over 4
@@ -20783,8 +20100,7 @@ utf8, encode, compress, int32, null
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::DBM_Filter::compress,
-DBM_Filter::compress - filter for DBM_Filter
+=head2 DBM_Filter::compress - filter for DBM_Filter
=over 4
@@ -20798,8 +20114,7 @@ DBM_Filter::compress - filter for DBM_Filter
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::DBM_Filter::encode, DBM_Filter::encode -
-filter for DBM_Filter
+=head2 DBM_Filter::encode - filter for DBM_Filter
=over 4
@@ -20813,8 +20128,7 @@ filter for DBM_Filter
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::DBM_Filter::int32, DBM_Filter::int32 -
-filter for DBM_Filter
+=head2 DBM_Filter::int32 - filter for DBM_Filter
=over 4
@@ -20828,8 +20142,7 @@ filter for DBM_Filter
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::DBM_Filter::null, DBM_Filter::null -
-filter for DBM_Filter
+=head2 DBM_Filter::null - filter for DBM_Filter
=over 4
@@ -20843,8 +20156,7 @@ filter for DBM_Filter
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::DBM_Filter::utf8, DBM_Filter::utf8 -
-filter for DBM_Filter
+=head2 DBM_Filter::utf8 - filter for DBM_Filter
=over 4
@@ -20858,8 +20170,8 @@ filter for DBM_Filter
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Data::Dumper, Data::Dumper - stringified
-perl data structures, suitable for both printing and C<eval>
+=head2 Data::Dumper - stringified perl data structures, suitable for both
+printing and C<eval>
=over 4
@@ -20906,31 +20218,7 @@ Dumper
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Devel::DProf, Devel::DProf - a
-B<DEPRECATED> Perl code profiler
-
-=over 4
-
-=item SYNOPSIS
-
-=item ACHTUNG!
-
-=item DESCRIPTION
-
-=item PROFILE FORMAT
-
-=item AUTOLOAD
-
-=item ENVIRONMENT
-
-=item BUGS
-
-=item SEE ALSO
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::Devel::InnerPackage, Devel::InnerPackage
-- find all the inner packages of a package
+=head2 Devel::InnerPackage - find all the inner packages of a package
=over 4
@@ -20958,8 +20246,7 @@ B<DEPRECATED> Perl code profiler
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Devel::PPPort, Devel::PPPort -
-Perl/Pollution/Portability
+=head2 Devel::PPPort - Perl/Pollution/Portability
=over 4
@@ -20993,10 +20280,13 @@ Perl/Pollution/Portability
=item Perl API not supported by ppport.h
-perl 5.11.0, perl 5.10.0, perl 5.9.5, perl 5.9.4, perl 5.9.3, perl 5.9.2,
-perl 5.9.1, perl 5.9.0, perl 5.8.3, perl 5.8.1, perl 5.8.0, perl 5.7.3,
-perl 5.7.2, perl 5.7.1, perl 5.6.1, perl 5.6.0, perl 5.005_03, perl 5.005,
-perl 5.004_05, perl 5.004
+perl 5.14.0, perl 5.13.10, perl 5.13.8, perl 5.13.7, perl 5.13.6, perl
+5.13.5, perl 5.13.4, perl 5.13.3, perl 5.13.2, perl 5.13.1, perl 5.11.5,
+perl 5.11.4, perl 5.11.2, perl 5.11.1, perl 5.11.0, perl 5.10.1, perl
+5.10.0, perl 5.9.5, perl 5.9.4, perl 5.9.3, perl 5.9.2, perl 5.9.1, perl
+5.9.0, perl 5.8.3, perl 5.8.1, perl 5.8.0, perl 5.7.3, perl 5.7.2, perl
+5.7.1, perl 5.6.1, perl 5.6.0, perl 5.005_03, perl 5.005, perl 5.004_05,
+perl 5.004
=back
@@ -21010,8 +20300,7 @@ perl 5.004_05, perl 5.004
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Devel::Peek, Devel::Peek - A data
-debugging tool for the XS programmer
+=head2 Devel::Peek - A data debugging tool for the XS programmer
=over 4
@@ -21061,8 +20350,7 @@ debugging tool for the XS programmer
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Devel::SelfStubber, Devel::SelfStubber -
-generate stubs for a SelfLoading module
+=head2 Devel::SelfStubber - generate stubs for a SelfLoading module
=over 4
@@ -21072,8 +20360,7 @@ generate stubs for a SelfLoading module
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Digest, Digest - Modules that calculate
-message digests
+=head2 Digest - Modules that calculate message digests
=over 4
@@ -21099,8 +20386,7 @@ $io_handle ), $ctx->add_bits( $data, $nbits ), $ctx->add_bits( $bitstring
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Digest::MD5, Digest::MD5 - Perl
-interface to the MD5 Algorithm
+=head2 Digest::MD5 - Perl interface to the MD5 Algorithm
=over 4
@@ -21128,8 +20414,7 @@ $md5->add_bits($bitstring), $md5->digest, $md5->hexdigest, $md5->b64digest
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Digest::SHA, Digest::SHA - Perl
-extension for SHA-1/224/256/384/512
+=head2 Digest::SHA - Perl extension for SHA-1/224/256/384/512
=over 4
@@ -21184,8 +20469,7 @@ B<hmac_sha512256_base64($data, $key)>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Digest::base, Digest::base - Digest base
-class
+=head2 Digest::base - Digest base class
=over 4
@@ -21197,8 +20481,7 @@ class
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Digest::file, Digest::file - Calculate
-digests of files
+=head2 Digest::file - Calculate digests of files
=over 4
@@ -21214,8 +20497,7 @@ $algorithm, [$arg,...] ), digest_file_base64( $file, $algorithm, [$arg,...]
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::DirHandle, DirHandle - supply object
-methods for directory handles
+=head2 DirHandle - supply object methods for directory handles
=over 4
@@ -21225,8 +20507,7 @@ methods for directory handles
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Dumpvalue, Dumpvalue - provides screen
-dump of Perl data.
+=head2 Dumpvalue - provides screen dump of Perl data.
=over 4
@@ -21252,8 +20533,7 @@ compactDump, veryCompact, set, get
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::DynaLoader, DynaLoader - Dynamically
-load C libraries into Perl code
+=head2 DynaLoader - Dynamically load C libraries into Perl code
=over 4
@@ -21271,7 +20551,7 @@ dl_install_xsub(), bootstrap()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode, Encode - character encodings
+=head2 Encode - character encodings in Perl
=over 4
@@ -21291,10 +20571,10 @@ dl_install_xsub(), bootstrap()
=back
-=item PERL ENCODING API
+=item THE PERL ENCODING API
-$octets = encode(ENCODING, $string [, CHECK]), $string = decode(ENCODING,
-$octets [, CHECK]), [$obj =] find_encoding(ENCODING), [$length =]
+$octets = encode(ENCODING, STRING[, CHECK]), $string = decode(ENCODING,
+OCTETS[, CHECK]), [$obj =] find_encoding(ENCODING), [$length =]
from_to($octets, FROM_ENC, TO_ENC [, CHECK]), $octets =
encode_utf8($string);, $string = decode_utf8($octets [, CHECK]);
@@ -21349,8 +20629,7 @@ is_utf8(STRING [, CHECK]), _utf8_on(STRING), _utf8_off(STRING)
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Alias, Encode::Alias - alias
-definitions to encodings
+=head2 Encode::Alias - alias definitions to encodings
=over 4
@@ -21371,8 +20650,7 @@ reference, e.g.:
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Byte, Encode::Byte - Single Byte
-Encodings
+=head2 Encode::Byte - Single Byte Encodings
=over 4
@@ -21386,11 +20664,9 @@ Encodings
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::CJKConstants,
-Encode::CJKConstants.pm -- Internally used by Encode::??::ISO_2022_*
+=head2 Encode::CJKConstants -- Internally used by Encode::??::ISO_2022_*
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::CN, Encode::CN - China-based
-Chinese Encodings
+=head2 Encode::CN - China-based Chinese Encodings
=over 4
@@ -21406,14 +20682,11 @@ Chinese Encodings
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::CN::HZ, Encode::CN::HZ --
-internally used by Encode::CN
+=head2 Encode::CN::HZ -- internally used by Encode::CN
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Config, Encode::Config --
-internally used by Encode
+=head2 Encode::Config -- internally used by Encode
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::EBCDIC, Encode::EBCDIC - EBCDIC
-Encodings
+=head2 Encode::EBCDIC - EBCDIC Encodings
=over 4
@@ -21427,8 +20700,7 @@ Encodings
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Encoder, Encode::Encoder --
-Object Oriented Encoder
+=head2 Encode::Encoder -- Object Oriented Encoder
=over 4
@@ -21456,8 +20728,7 @@ $e-E<gt>bytes([$encoding])
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Encoding, Encode::Encoding -
-Encode Implementation Base Class
+=head2 Encode::Encoding - Encode Implementation Base Class
=over 4
@@ -21495,8 +20766,7 @@ Scheme 1, Scheme 2, Other Schemes
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::GSM0338, Encode::GSM0338 -- ESTI
-GSM 03.38 Encoding
+=head2 Encode::GSM0338 -- ESTI GSM 03.38 Encoding
=over 4
@@ -21512,8 +20782,7 @@ GSM 03.38 Encoding
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Guess, Encode::Guess -- Guesses
-encoding from data
+=head2 Encode::Guess -- Guesses encoding from data
=over 4
@@ -21535,8 +20804,7 @@ guess_encoding($data, [, I<list of suspects>])
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::JP, Encode::JP - Japanese
-Encodings
+=head2 Encode::JP - Japanese Encodings
=over 4
@@ -21554,14 +20822,11 @@ Encodings
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::JP::H2Z, Encode::JP::H2Z --
-internally used by Encode::JP::2022_JP*
+=head2 Encode::JP::H2Z -- internally used by Encode::JP::2022_JP*
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::JP::JIS7, Encode::JP::JIS7 --
-internally used by Encode::JP
+=head2 Encode::JP::JIS7 -- internally used by Encode::JP
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::KR, Encode::KR - Korean
-Encodings
+=head2 Encode::KR - Korean Encodings
=over 4
@@ -21575,11 +20840,9 @@ Encodings
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::KR::2022_KR, Encode::KR::2022_KR
--- internally used by Encode::KR
+=head2 Encode::KR::2022_KR -- internally used by Encode::KR
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::MIME::Header,
-Encode::MIME::Header -- MIME 'B' and 'Q' header encoding
+=head2 Encode::MIME::Header -- MIME 'B' and 'Q' header encoding
=over 4
@@ -21595,8 +20858,7 @@ Encode::MIME::Header -- MIME 'B' and 'Q' header encoding
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::MIME::Name, Encode::MIME::NAME
--- internally used by Encode
+=head2 Encode::MIME::Name, Encode::MIME::NAME -- internally used by Encode
=over 4
@@ -21604,8 +20866,7 @@ Encode::MIME::Header -- MIME 'B' and 'Q' header encoding
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::PerlIO, Encode::PerlIO -- a
-detailed document on Encode and PerlIO
+=head2 Encode::PerlIO -- a detailed document on Encode and PerlIO
=over 4
@@ -21625,8 +20886,7 @@ detailed document on Encode and PerlIO
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Supported, Encode::Supported --
-Encodings supported by Encode
+=head2 Encode::Supported -- Encodings supported by Encode
=over 4
@@ -21714,8 +20974,7 @@ C<CJKV Information Processing> by Ken Lunde
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Symbol, Encode::Symbol - Symbol
-Encodings
+=head2 Encode::Symbol - Symbol Encodings
=over 4
@@ -21729,8 +20988,7 @@ Encodings
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::TW, Encode::TW - Taiwan-based
-Chinese Encodings
+=head2 Encode::TW - Taiwan-based Chinese Encodings
=over 4
@@ -21746,8 +21004,7 @@ Chinese Encodings
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Unicode, Encode::Unicode --
-Various Unicode Transformation Formats
+=head2 Encode::Unicode -- Various Unicode Transformation Formats
=over 4
@@ -21777,8 +21034,7 @@ BOM as integer when fetched in network byte order
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Encode::Unicode::UTF7,
-Encode::Unicode::UTF7 -- UTF-7 encoding
+=head2 Encode::Unicode::UTF7 -- UTF-7 encoding
=over 4
@@ -21792,8 +21048,8 @@ Encode::Unicode::UTF7 -- UTF-7 encoding
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::English, English - use nice English (or
-awk) names for ugly punctuation variables
+=head2 English - use nice English (or awk) names for ugly punctuation
+variables
=over 4
@@ -21805,8 +21061,8 @@ awk) names for ugly punctuation variables
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Env, Env - perl module that imports
-environment variables as scalars or arrays
+=head2 Env - perl module that imports environment variables as scalars or
+arrays
=over 4
@@ -21820,7 +21076,7 @@ environment variables as scalars or arrays
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Errno, Errno - System errno constants
+=head2 Errno - System errno constants
=over 4
@@ -21836,8 +21092,7 @@ environment variables as scalars or arrays
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Exporter, Exporter - Implements default
-import method for modules
+=head2 Exporter - Implements default import method for modules
=over 4
@@ -21897,8 +21152,7 @@ C<use YourModule;>, C<use YourModule ();>, C<use YourModule qw(...);>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Exporter::Heavy, Exporter::Heavy -
-Exporter guts
+=head2 Exporter::Heavy - Exporter guts
=over 4
@@ -21908,8 +21162,7 @@ Exporter guts
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::CBuilder, ExtUtils::CBuilder -
-Compile and link C code for Perl modules
+=head2 ExtUtils::CBuilder - Compile and link C code for Perl modules
=over 4
@@ -21928,6 +21181,8 @@ lib_file, exe_file, prelink, need_prelink, extra_link_args_after_prelink
=item HISTORY
+=item SUPPORT
+
=item AUTHOR
=item COPYRIGHT
@@ -21936,8 +21191,8 @@ lib_file, exe_file, prelink, need_prelink, extra_link_args_after_prelink
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::CBuilder::Platform::Windows,
-ExtUtils::CBuilder::Platform::Windows - Builder class for Windows platforms
+=head2 ExtUtils::CBuilder::Platform::Windows - Builder class for Windows
+platforms
=over 4
@@ -21949,8 +21204,8 @@ ExtUtils::CBuilder::Platform::Windows - Builder class for Windows platforms
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Command, ExtUtils::Command -
-utilities to replace common UNIX commands in Makefiles etc.
+=head2 ExtUtils::Command - utilities to replace common UNIX commands in
+Makefiles etc.
=over 4
@@ -21998,8 +21253,7 @@ dos2unix
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Command::MM,
-ExtUtils::Command::MM - Commands for the MM's to use in Makefiles
+=head2 ExtUtils::Command::MM - Commands for the MM's to use in Makefiles
=over 4
@@ -22019,8 +21273,7 @@ B<perllocal_install>
B<uninstall>
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Constant, ExtUtils::Constant -
-generate XS code to import C header constants
+=head2 ExtUtils::Constant - generate XS code to import C header constants
=over 4
@@ -22054,8 +21307,7 @@ C_SUBNAME
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Constant::Base,
-ExtUtils::Constant::Base - base class for ExtUtils::Constant objects
+=head2 ExtUtils::Constant::Base - base class for ExtUtils::Constant objects
=over 4
@@ -22096,8 +21348,7 @@ post, def_pre, def_post, utf8, weight
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Constant::Utils,
-ExtUtils::Constant::Utils - helper functions for ExtUtils::Constant
+=head2 ExtUtils::Constant::Utils - helper functions for ExtUtils::Constant
=over 4
@@ -22119,8 +21370,7 @@ perl_stringify NAME
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Constant::XS,
-ExtUtils::Constant::XS - generate C code for XS modules' constants.
+=head2 ExtUtils::Constant::XS - generate C code for XS modules' constants.
=over 4
@@ -22134,8 +21384,7 @@ ExtUtils::Constant::XS - generate C code for XS modules' constants.
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Embed, ExtUtils::Embed -
-Utilities for embedding Perl in C/C++ applications
+=head2 ExtUtils::Embed - Utilities for embedding Perl in C/C++ applications
=over 4
@@ -22158,8 +21407,7 @@ ccopts(), xsi_header(), xsi_protos(@modules), xsi_body(@modules)
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Install, ExtUtils::Install -
-install files from here to there
+=head2 ExtUtils::Install - install files from here to there
=over 4
@@ -22236,8 +21484,7 @@ B<EU_INSTALL_SITE_SKIPFILE>, B<EU_INSTALL_ALWAYS_COPY>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Installed, ExtUtils::Installed
-- Inventory management of installed modules
+=head2 ExtUtils::Installed - Inventory management of installed modules
=over 4
@@ -22258,8 +21505,7 @@ packlist(), version()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Liblist, ExtUtils::Liblist -
-determine libraries to use and how to use them
+=head2 ExtUtils::Liblist - determine libraries to use and how to use them
=over 4
@@ -22294,8 +21540,7 @@ dynamic extensions at load time
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM, ExtUtils::MM - OS adjusted
-ExtUtils::MakeMaker subclass
+=head2 ExtUtils::MM - OS adjusted ExtUtils::MakeMaker subclass
=over 4
@@ -22305,8 +21550,7 @@ ExtUtils::MakeMaker subclass
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_AIX, ExtUtils::MM_AIX - AIX
-specific subclass of ExtUtils::MM_Unix
+=head2 ExtUtils::MM_AIX - AIX specific subclass of ExtUtils::MM_Unix
=over 4
@@ -22330,8 +21574,7 @@ specific subclass of ExtUtils::MM_Unix
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_Any, ExtUtils::MM_Any -
-Platform-agnostic MM methods
+=head2 ExtUtils::MM_Any - Platform-agnostic MM methods
=over 4
@@ -22385,8 +21628,8 @@ Platform-agnostic MM methods
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_BeOS, ExtUtils::MM_BeOS -
-methods to override UN*X behaviour in ExtUtils::MakeMaker
+=head2 ExtUtils::MM_BeOS - methods to override UN*X behaviour in
+ExtUtils::MakeMaker
=over 4
@@ -22400,8 +21643,8 @@ os_flavor
init_linker
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_Cygwin, ExtUtils::MM_Cygwin
-- methods to override UN*X behaviour in ExtUtils::MakeMaker
+=head2 ExtUtils::MM_Cygwin - methods to override UN*X behaviour in
+ExtUtils::MakeMaker
=over 4
@@ -22425,8 +21668,7 @@ dynamic_lib
all_target
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_DOS, ExtUtils::MM_DOS - DOS
-specific subclass of ExtUtils::MM_Unix
+=head2 ExtUtils::MM_DOS - DOS specific subclass of ExtUtils::MM_Unix
=over 4
@@ -22454,8 +21696,7 @@ B<replace_manpage_separator>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_Darwin, ExtUtils::MM_Darwin
-- special behaviors for OS X
+=head2 ExtUtils::MM_Darwin - special behaviors for OS X
=over 4
@@ -22471,8 +21712,7 @@ B<replace_manpage_separator>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_MacOS, ExtUtils::MM_MacOS -
-once produced Makefiles for MacOS Classic
+=head2 ExtUtils::MM_MacOS - once produced Makefiles for MacOS Classic
=over 4
@@ -22482,8 +21722,8 @@ once produced Makefiles for MacOS Classic
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_NW5, ExtUtils::MM_NW5 -
-methods to override UN*X behaviour in ExtUtils::MakeMaker
+=head2 ExtUtils::MM_NW5 - methods to override UN*X behaviour in
+ExtUtils::MakeMaker
=over 4
@@ -22503,8 +21743,8 @@ static_lib
dynamic_lib
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_OS2, ExtUtils::MM_OS2 -
-methods to override UN*X behaviour in ExtUtils::MakeMaker
+=head2 ExtUtils::MM_OS2 - methods to override UN*X behaviour in
+ExtUtils::MakeMaker
=over 4
@@ -22522,8 +21762,7 @@ init_linker
os_flavor
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_QNX, ExtUtils::MM_QNX - QNX
-specific subclass of ExtUtils::MM_Unix
+=head2 ExtUtils::MM_QNX - QNX specific subclass of ExtUtils::MM_Unix
=over 4
@@ -22547,8 +21786,7 @@ specific subclass of ExtUtils::MM_Unix
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_UWIN, ExtUtils::MM_UWIN -
-U/WIN specific subclass of ExtUtils::MM_Unix
+=head2 ExtUtils::MM_UWIN - U/WIN specific subclass of ExtUtils::MM_Unix
=over 4
@@ -22576,8 +21814,7 @@ B<replace_manpage_separator>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_Unix, ExtUtils::MM_Unix -
-methods used by ExtUtils::MakeMaker
+=head2 ExtUtils::MM_Unix - methods used by ExtUtils::MakeMaker
=over 4
@@ -22671,7 +21908,7 @@ init_DIRFILESEP
init_main
-init_others
+init_tools
init_linker
@@ -22777,8 +22014,8 @@ xs_o (o)
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_VMS, ExtUtils::MM_VMS -
-methods to override UN*X behaviour in ExtUtils::MakeMaker
+=head2 ExtUtils::MM_VMS - methods to override UN*X behaviour in
+ExtUtils::MakeMaker
=over 4
@@ -22824,6 +22061,8 @@ init_DIRFILESEP
init_main (override)
+init_tools (override)
+
init_others (override)
init_platform (override)
@@ -22878,6 +22117,10 @@ B<echo>
quote_literal
+escape_dollarsigns
+
+escape_all_dollarsigns
+
escape_newlines
max_exec_len
@@ -22898,8 +22141,7 @@ os_flavor
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_VOS, ExtUtils::MM_VOS - VOS
-specific subclass of ExtUtils::MM_Unix
+=head2 ExtUtils::MM_VOS - VOS specific subclass of ExtUtils::MM_Unix
=over 4
@@ -22923,8 +22165,8 @@ specific subclass of ExtUtils::MM_Unix
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_Win32, ExtUtils::MM_Win32 -
-methods to override UN*X behaviour in ExtUtils::MakeMaker
+=head2 ExtUtils::MM_Win32 - methods to override UN*X behaviour in
+ExtUtils::MakeMaker
=over 4
@@ -22948,10 +22190,14 @@ B<maybe_command>
B<init_DIRFILESEP>
-B<init_others>
+init_tools
+
+init_others
init_platform, platform_constants
+constants
+
special_targets
static_lib
@@ -22980,8 +22226,7 @@ os_flavor
cflags
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MM_Win95, ExtUtils::MM_Win95 -
-method to customize MakeMaker for Win9X
+=head2 ExtUtils::MM_Win95 - method to customize MakeMaker for Win9X
=over 4
@@ -23013,8 +22258,7 @@ os_flavor
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MY, ExtUtils::MY -
-ExtUtils::MakeMaker subclass for customization
+=head2 ExtUtils::MY - ExtUtils::MakeMaker subclass for customization
=over 4
@@ -23024,8 +22268,7 @@ ExtUtils::MakeMaker subclass for customization
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MakeMaker, ExtUtils::MakeMaker
-- Create a module Makefile
+=head2 ExtUtils::MakeMaker - Create a module Makefile
=over 4
@@ -23100,7 +22343,7 @@ C<< MAN3PODS => ' ' >>
make distdir, make disttest, make tardist, make dist, make
uutardist, make shdist, make zipdist, make ci
-=item Module Meta-Data
+=item Module Meta-Data (META and MYMETA)
=item Disabling an extension
@@ -23122,8 +22365,7 @@ PERL_MM_OPT, PERL_MM_USE_DEFAULT, PERL_CORE
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MakeMaker::Config,
-ExtUtils::MakeMaker::Config - Wrapper around Config.pm
+=head2 ExtUtils::MakeMaker::Config - Wrapper around Config.pm
=over 4
@@ -23133,8 +22375,8 @@ ExtUtils::MakeMaker::Config - Wrapper around Config.pm
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MakeMaker::FAQ,
-ExtUtils::MakeMaker::FAQ - Frequently Asked Questions About MakeMaker
+=head2 ExtUtils::MakeMaker::FAQ - Frequently Asked Questions About
+MakeMaker
=over 4
@@ -23178,8 +22420,7 @@ directory?
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MakeMaker::Tutorial,
-ExtUtils::MakeMaker::Tutorial - Writing a module with MakeMaker
+=head2 ExtUtils::MakeMaker::Tutorial - Writing a module with MakeMaker
=over 4
@@ -23202,23 +22443,7 @@ bin/
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::MakeMaker::YAML,
-ExtUtils::MakeMaker::YAML - clone of YAML::Tiny
-
-=over 4
-
-=item SYNOPSIS
-
-=item AUTHOR
-
-=item SEE ALSO
-
-=item COPYRIGHT
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Manifest, ExtUtils::Manifest -
-utilities to write and check a MANIFEST file
+=head2 ExtUtils::Manifest - utilities to write and check a MANIFEST file
=over 4
@@ -23285,8 +22510,7 @@ B<PERL_MM_MANIFEST_DEBUG>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Miniperl, ExtUtils::Miniperl,
-writemain - write the C code for perlmain.c
+=head2 ExtUtils::Miniperl, writemain - write the C code for perlmain.c
=over 4
@@ -23298,8 +22522,7 @@ writemain - write the C code for perlmain.c
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Mkbootstrap,
-ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
+=head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
=over 4
@@ -23309,8 +22532,8 @@ ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Mksymlists,
-ExtUtils::Mksymlists - write linker options files for dynamic extension
+=head2 ExtUtils::Mksymlists - write linker options files for dynamic
+extension
=over 4
@@ -23330,8 +22553,7 @@ mkfh()
__find_relocations
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::Packlist, ExtUtils::Packlist -
-manage .packlist files
+=head2 ExtUtils::Packlist - manage .packlist files
=over 4
@@ -23351,18 +22573,19 @@ new(), read(), write(), validate(), packlist_file()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::ParseXS, ExtUtils::ParseXS -
-converts Perl XS code into C code
+=head2 ExtUtils::ParseXS - converts Perl XS code into C code
=over 4
=item SYNOPSIS
+=item DESCRIPTION
+
=item EXPORT
=item FUNCTIONS
-process_xs(), B<C++>, B<hiertype>, B<except>, B<typemap>, B<prototypes>,
+process_file(), B<C++>, B<hiertype>, B<except>, B<typemap>, B<prototypes>,
B<versioncheck>, B<linenumbers>, B<optimize>, B<inout>, B<argtypes>, B<s>,
errors()
@@ -23374,8 +22597,514 @@ errors()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::XSSymSet, ExtUtils::XSSymSet -
-keep sets of symbol names palatable to the VMS linker
+=head2 ExtUtils::ParseXS::Constants - Initialization values for some
+globals
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=back
+
+=head2 ExtUtils::ParseXS::Utilities - Subroutines used with
+ExtUtils::ParseXS
+
+=over 4
+
+=item SYNOPSIS
+
+=item SUBROUTINES
+
+=over 4
+
+=item C<standard_typemap_locations()>
+
+Purpose, Arguments, Return Value
+
+=back
+
+=back
+
+=over 4
+
+=item C<trim_whitespace()>
+
+Purpose, Argument, Return Value
+
+=back
+
+=over 4
+
+=item C<tidy_type()>
+
+Purpose, Arguments, Return Value
+
+=back
+
+=over 4
+
+=item C<C_string()>
+
+Purpose, Arguments, Return Value
+
+=back
+
+=over 4
+
+=item C<valid_proto_string()>
+
+Purpose, Arguments, Return Value
+
+=back
+
+=over 4
+
+=item C<process_typemaps()>
+
+Purpose, Arguments, Return Value
+
+=back
+
+=over 4
+
+=item C<make_targetable()>
+
+Purpose, Arguments, Return Value
+
+=back
+
+=over 4
+
+=item C<map_type()>
+
+Purpose, Arguments, Return Value
+
+=back
+
+=over 4
+
+=item C<standard_XS_defs()>
+
+Purpose, Arguments, Return Value
+
+=back
+
+=over 4
+
+=item C<assign_func_args()>
+
+Purpose, Arguments, Return Value
+
+=back
+
+=over 4
+
+=item C<analyze_preprocessor_statements()>
+
+Purpose, Arguments, Return Value
+
+=back
+
+=over 4
+
+=item C<set_cond()>
+
+Purpose, Arguments, Return Value
+
+=back
+
+=over 4
+
+=item C<current_line_number()>
+
+Purpose, Arguments, Return Value
+
+=back
+
+=over 4
+
+=item C<Warn()>
+
+Purpose, Arguments, Return Value
+
+=back
+
+=over 4
+
+=item C<blurt()>
+
+Purpose, Arguments, Return Value
+
+=back
+
+=over 4
+
+=item C<death()>
+
+Purpose, Arguments, Return Value
+
+=back
+
+=over 4
+
+=item C<check_conditional_preprocessor_statements()>
+
+Purpose, Arguments, Return Value
+
+=back
+
+=over 4
+
+=item C<escape_file_for_line_directive()>
+
+Purpose, Arguments, Return Value
+
+=back
+
+=over 4
+
+=item C<report_typemap_failure>
+
+Purpose, Arguments, Return Value
+
+=back
+
+=head2 ExtUtils::Typemaps - Read/Write/Modify Perl/XS typemap files
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item METHODS
+
+=back
+
+=over 4
+
+=item new
+
+=back
+
+=over 4
+
+=item file
+
+=back
+
+=over 4
+
+=item add_typemap
+
+=back
+
+=over 4
+
+=item add_inputmap
+
+=back
+
+=over 4
+
+=item add_outputmap
+
+=back
+
+=over 4
+
+=item add_string
+
+=back
+
+=over 4
+
+=item remove_typemap
+
+=back
+
+=over 4
+
+=item remove_inputmap
+
+=back
+
+=over 4
+
+=item remove_inputmap
+
+=back
+
+=over 4
+
+=item get_typemap
+
+=back
+
+=over 4
+
+=item get_inputmap
+
+=back
+
+=over 4
+
+=item get_outputmap
+
+=back
+
+=over 4
+
+=item write
+
+=back
+
+=over 4
+
+=item as_string
+
+=back
+
+=over 4
+
+=item as_embedded_typemap
+
+=back
+
+=over 4
+
+=item merge
+
+=back
+
+=over 4
+
+=item is_empty
+
+=back
+
+=over 4
+
+=item list_mapped_ctypes
+
+=back
+
+=over 4
+
+=item _get_typemap_hash
+
+=back
+
+=over 4
+
+=item _get_inputmap_hash
+
+=back
+
+=over 4
+
+=item _get_outputmap_hash
+
+=back
+
+=over 4
+
+=item _get_prototype_hash
+
+=back
+
+=over 4
+
+=item CAVEATS
+
+=item SEE ALSO
+
+=item AUTHOR
+
+=item COPYRIGHT & LICENSE
+
+=back
+
+=head2 ExtUtils::Typemaps::Cmd - Quick commands for handling typemaps
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item EXPORTED FUNCTIONS
+
+=over 4
+
+=item embeddable_typemap
+
+=back
+
+=item SEE ALSO
+
+=item AUTHOR
+
+=item COPYRIGHT & LICENSE
+
+=back
+
+=head2 ExtUtils::Typemaps::InputMap - Entry in the INPUT section of a
+typemap
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item METHODS
+
+=back
+
+=over 4
+
+=item new
+
+=back
+
+=over 4
+
+=item code
+
+=back
+
+=over 4
+
+=item xstype
+
+=back
+
+=over 4
+
+=item cleaned_code
+
+=back
+
+=over 4
+
+=item SEE ALSO
+
+=item AUTHOR
+
+=item COPYRIGHT & LICENSE
+
+=back
+
+=head2 ExtUtils::Typemaps::OutputMap - Entry in the OUTPUT section of a
+typemap
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item METHODS
+
+=back
+
+=over 4
+
+=item new
+
+=back
+
+=over 4
+
+=item code
+
+=back
+
+=over 4
+
+=item xstype
+
+=back
+
+=over 4
+
+=item cleaned_code
+
+=back
+
+=over 4
+
+=item targetable
+
+=back
+
+=over 4
+
+=item SEE ALSO
+
+=item AUTHOR
+
+=item COPYRIGHT & LICENSE
+
+=back
+
+=head2 ExtUtils::Typemaps::Type - Entry in the TYPEMAP section of a typemap
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item METHODS
+
+=back
+
+=over 4
+
+=item new
+
+=back
+
+=over 4
+
+=item proto
+
+=back
+
+=over 4
+
+=item xstype
+
+=back
+
+=over 4
+
+=item ctype
+
+=back
+
+=over 4
+
+=item tidy_ctype
+
+=back
+
+=over 4
+
+=item SEE ALSO
+
+=item AUTHOR
+
+=item COPYRIGHT & LICENSE
+
+=back
+
+=head2 ExtUtils::XSSymSet - keep sets of symbol names palatable to the VMS
+linker
=over 4
@@ -23393,8 +23122,7 @@ get_trimmed($name), all_orig(), all_trimmed()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::ExtUtils::testlib, ExtUtils::testlib -
-add blib/* directories to @INC
+=head2 ExtUtils::testlib - add blib/* directories to @INC
=over 4
@@ -23404,8 +23132,7 @@ add blib/* directories to @INC
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Fatal, Fatal - Replace functions with
-equivalents which succeed or die
+=head2 Fatal - Replace functions with equivalents which succeed or die
=over 4
@@ -23431,8 +23158,7 @@ neither a builtin, nor a Perl subroutine, Cannot make the non-overridable
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Fcntl, Fcntl - load the C Fcntl.h
-defines
+=head2 Fcntl - load the C Fcntl.h defines
=over 4
@@ -23446,8 +23172,8 @@ defines
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::Basename, File::Basename - Parse
-file paths into directory, filename and suffix.
+=head2 File::Basename - Parse file paths into directory, filename and
+suffix.
=over 4
@@ -23471,8 +23197,7 @@ C<fileparse_set_fstype> X<filesystem>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::CheckTree, File::CheckTree - run
-many filetest checks on a tree
+=head2 File::CheckTree - run many filetest checks on a tree
=over 4
@@ -23486,8 +23211,7 @@ many filetest checks on a tree
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::Compare, File::Compare - Compare
-files or filehandles
+=head2 File::Compare - Compare files or filehandles
=over 4
@@ -23501,8 +23225,7 @@ files or filehandles
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::Copy, File::Copy - Copy files or
-filehandles
+=head2 File::Copy - Copy files or filehandles
=over 4
@@ -23519,8 +23242,7 @@ rmscopy($from,$to[,$date_flag]) X<rmscopy>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::DosGlob, File::DosGlob - DOS like
-globbing and then some
+=head2 File::DosGlob - DOS like globbing and then some
=over 4
@@ -23540,8 +23262,7 @@ globbing and then some
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::Fetch, File::Fetch - A generic
-file fetching mechanism
+=head2 File::Fetch - A generic file fetching mechanism
=over 4
@@ -23636,8 +23357,7 @@ Implement $PREFER_BIN
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::Find, File::Find - Traverse a
-directory tree.
+=head2 File::Find - Traverse a directory tree.
=over 4
@@ -23677,8 +23397,7 @@ $dont_use_nlink, symlinks
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::Glob, File::Glob - Perl extension
-for BSD glob routine
+=head2 File::Glob - Perl extension for BSD glob routine
=over 4
@@ -23690,6 +23409,8 @@ for BSD glob routine
=item META CHARACTERS
+=item EXPORTS
+
=item POSIX FLAGS
C<GLOB_ERR>, C<GLOB_LIMIT>, C<GLOB_MARK>, C<GLOB_NOCASE>, C<GLOB_NOCHECK>,
@@ -23710,8 +23431,7 @@ C<GLOB_NOSPACE>, C<GLOB_ABEND>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::GlobMapper, File::GlobMapper -
-Extend File Glob to Allow Input and Output Files
+=head2 File::GlobMapper - Extend File Glob to Allow Input and Output Files
=over 4
@@ -23755,8 +23475,7 @@ B<~>, B<~user>, B<.>, B<*>, B<?>, B<\>, B<[]>, B<{,}>, B<()>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::Path, File::Path - Create or
-remove directory trees
+=head2 File::Path - Create or remove directory trees
=over 4
@@ -23820,8 +23539,7 @@ group ownership not changed
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::Spec, File::Spec - portably
-perform operations on file names
+=head2 File::Spec - portably perform operations on file names
=over 4
@@ -23846,8 +23564,7 @@ X<relative, path>, rel2abs() X<rel2abs> X<absolute, path> X<relative, path>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::Spec::Cygwin, File::Spec::Cygwin -
-methods for Cygwin file specs
+=head2 File::Spec::Cygwin - methods for Cygwin file specs
=over 4
@@ -23871,8 +23588,7 @@ case_tolerant
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::Spec::Epoc, File::Spec::Epoc -
-methods for Epoc file specs
+=head2 File::Spec::Epoc - methods for Epoc file specs
=over 4
@@ -23894,8 +23610,7 @@ canonpath()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::Spec::Functions,
-File::Spec::Functions - portably perform operations on file names
+=head2 File::Spec::Functions - portably perform operations on file names
=over 4
@@ -23915,8 +23630,7 @@ File::Spec::Functions - portably perform operations on file names
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::Spec::Mac, File::Spec::Mac -
-File::Spec for Mac OS (Classic)
+=head2 File::Spec::Mac - File::Spec for Mac OS (Classic)
=over 4
@@ -23968,8 +23682,7 @@ rel2abs
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::Spec::OS2, File::Spec::OS2 -
-methods for OS/2 file specs
+=head2 File::Spec::OS2 - methods for OS/2 file specs
=over 4
@@ -23983,8 +23696,8 @@ tmpdir, splitpath
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::Spec::Unix, File::Spec::Unix -
-File::Spec for Unix, base for other File::Spec modules
+=head2 File::Spec::Unix - File::Spec for Unix, base for other File::Spec
+modules
=over 4
@@ -24040,8 +23753,7 @@ rel2abs()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::Spec::VMS, File::Spec::VMS -
-methods for VMS file specs
+=head2 File::Spec::VMS - methods for VMS file specs
=over 4
@@ -24091,8 +23803,7 @@ rel2abs (override)
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::Spec::Win32, File::Spec::Win32 -
-methods for Win32 file specs
+=head2 File::Spec::Win32 - methods for Win32 file specs
=over 4
@@ -24134,8 +23845,7 @@ catpath
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::Temp, File::Temp - return name and
-handle of a temporary file safely
+=head2 File::Temp - return name and handle of a temporary file safely
=over 4
@@ -24255,8 +23965,7 @@ B<$KEEP_ALL>, B<$DEBUG>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::File::stat, File::stat - by-name
-interface to Perl's built-in stat() functions
+=head2 File::stat - by-name interface to Perl's built-in stat() functions
=over 4
@@ -24280,8 +23989,7 @@ File::stat ignores use filetest 'access', File::stat ignores VMS ACLs
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::FileCache, FileCache - keep more files
-open than the system permits
+=head2 FileCache - keep more files open than the system permits
=over 4
@@ -24297,8 +24005,7 @@ cacheout EXPR, cacheout MODE, EXPR
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::FileHandle, FileHandle - supply object
-methods for filehandles
+=head2 FileHandle - supply object methods for filehandles
=over 4
@@ -24312,8 +24019,7 @@ $fh->print, $fh->printf, $fh->getline, $fh->getlines
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Filter::Simple, Filter::Simple -
-Simplified source filtering
+=head2 Filter::Simple - Simplified source filtering
=over 4
@@ -24355,8 +24061,7 @@ C<"all">
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Filter::Util::Call, Filter::Util::Call -
-Perl Source Filter Utility Module
+=head2 Filter::Util::Call - Perl Source Filter Utility Module
=over 4
@@ -24398,8 +24103,7 @@ B<$_>, B<$status>, B<filter_read> and B<filter_read_exact>, B<filter_del>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::FindBin, FindBin - Locate directory of
-original perl script
+=head2 FindBin - Locate directory of original perl script
=over 4
@@ -24411,16 +24115,13 @@ original perl script
=item KNOWN ISSUES
-=item KNOWN BUGS
-
=item AUTHORS
=item COPYRIGHT
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Getopt::Long, Getopt::Long - Extended
-processing of command line options
+=head2 Getopt::Long - Extended processing of command line options
=over 4
@@ -24539,8 +24240,8 @@ supplied
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Getopt::Std, getopt, getopts - Process
-single-character switches with switch clustering
+=head2 Getopt::Std, getopt, getopts - Process single-character switches
+with switch clustering
=over 4
@@ -24552,8 +24253,7 @@ single-character switches with switch clustering
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::HTTP::Tiny, HTTP::Tiny - A small,
-simple, correct HTTP/1.1 client
+=head2 HTTP::Tiny - A small, simple, correct HTTP/1.1 client
=over 4
@@ -24569,12 +24269,16 @@ simple, correct HTTP/1.1 client
=item new
-=item get
+=item get|head|put|post|delete
+
+=item post_form
=item mirror
=item request
+=item www_form_urlencode
+
=back
=item LIMITATIONS
@@ -24597,8 +24301,7 @@ simple, correct HTTP/1.1 client
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Hash::Util, Hash::Util - A selection of
-general-utility hash subroutines
+=head2 Hash::Util - A selection of general-utility hash subroutines
=over 4
@@ -24652,8 +24355,7 @@ unlock_hashref_recurse, hash_ref_unlocked, legal_ref_keys, hidden_ref_keys
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Hash::Util::FieldHash,
-Hash::Util::FieldHash - Support for Inside-Out Classes
+=head2 Hash::Util::FieldHash - Support for Inside-Out Classes
=over 4
@@ -24716,8 +24418,8 @@ C<Name_idhash>, C<Name_id_reg>, C<Name_idhash_reg>, C<Name_fieldhash>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::I18N::Collate, I18N::Collate - compare
-8-bit scalar data according to the current locale
+=head2 I18N::Collate - compare 8-bit scalar data according to the current
+locale
=over 4
@@ -24727,8 +24429,8 @@ C<Name_idhash>, C<Name_id_reg>, C<Name_idhash_reg>, C<Name_fieldhash>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::I18N::LangTags, I18N::LangTags -
-functions for dealing with RFC3066-style language tags
+=head2 I18N::LangTags - functions for dealing with RFC3066-style language
+tags
=over 4
@@ -24775,8 +24477,7 @@ implicate_supers_strictly( ...languages... )
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::I18N::LangTags::Detect,
-I18N::LangTags::Detect - detect the user's language preferences
+=head2 I18N::LangTags::Detect - detect the user's language preferences
=over 4
@@ -24796,8 +24497,7 @@ I18N::LangTags::Detect - detect the user's language preferences
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::I18N::LangTags::List,
-I18N::LangTags::List -- tags and names for human languages
+=head2 I18N::LangTags::List -- tags and names for human languages
=over 4
@@ -24945,7 +24645,7 @@ Sichuan Yi, {yi} : Yiddish, {yo} : Yoruba, [{ypk} : Yupik languages], {znd}
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO, IO - load various IO modules
+=head2 IO - load various IO modules
=over 4
@@ -24957,8 +24657,7 @@ Sichuan Yi, {yi} : Yiddish, {yo} : Yoruba, [{ypk} : Yupik languages], {znd}
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Compress::Base, IO::Compress::Base -
-Base Class for IO::Compress modules
+=head2 IO::Compress::Base - Base Class for IO::Compress modules
=over 4
@@ -24976,8 +24675,7 @@ Base Class for IO::Compress modules
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Compress::Bzip2, IO::Compress::Bzip2
-- Write bzip2 files/buffers
+=head2 IO::Compress::Bzip2 - Write bzip2 files/buffers
=over 4
@@ -25083,8 +24781,7 @@ C<< Strict => 0|1 >>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Compress::Deflate,
-IO::Compress::Deflate - Write RFC 1950 files/buffers
+=head2 IO::Compress::Deflate - Write RFC 1950 files/buffers
=over 4
@@ -25192,8 +24889,85 @@ Filehandle, C<< Merge => 0|1 >>, -Level, -Strategy, C<< Strict => 0|1 >>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Compress::Gzip, IO::Compress::Gzip -
-Write RFC 1952 files/buffers
+=head2 IO::Compress::FAQ -- Frequently Asked Questions about IO::Compress
+
+=over 4
+
+=item DESCRIPTION
+
+=item GENERAL
+
+=over 4
+
+=item Compatibility with Unix compress/uncompress.
+
+=item Accessing .tar.Z files
+
+=item How do I recompress using a different compression?
+
+=back
+
+=item ZIP
+
+=over 4
+
+=item What Compression Types do IO::Compress::Zip & IO::Uncompress::Unzip
+support?
+
+Store (method 0), Deflate (method 8), Bzip2 (method 12), Lzma (method 14)
+
+=item Can I Read/Write Zip files larger the 4 Gig?
+
+=item Zip Resources
+
+=back
+
+=item GZIP
+
+=over 4
+
+=item Gzip Resources
+
+=back
+
+=item ZLIB
+
+=over 4
+
+=item Zlib Resources
+
+=back
+
+=item HTTP & NETWORK
+
+=over 4
+
+=item Apache::GZip Revisited
+
+=item Compressed files and Net::FTP
+
+=back
+
+=item MISC
+
+=over 4
+
+=item Using C<InputLength> to uncompress data embedded in a larger
+file/buffer.
+
+=back
+
+=item SEE ALSO
+
+=item AUTHOR
+
+=item MODIFICATION HISTORY
+
+=item COPYRIGHT AND LICENSE
+
+=back
+
+=head2 IO::Compress::Gzip - Write RFC 1952 files/buffers
=over 4
@@ -25305,8 +25079,7 @@ C<< ExtraField => $data >>, C<< ExtraFlags => $value >>, C<< Strict => 0|1
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Compress::RawDeflate,
-IO::Compress::RawDeflate - Write RFC 1951 files/buffers
+=head2 IO::Compress::RawDeflate - Write RFC 1951 files/buffers
=over 4
@@ -25414,8 +25187,7 @@ Filehandle, C<< Merge => 0|1 >>, -Level, -Strategy, C<< Strict => 0|1 >>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Compress::Zip, IO::Compress::Zip -
-Write zip files/buffers
+=head2 IO::Compress::Zip - Write zip files/buffers
=over 4
@@ -25455,14 +25227,15 @@ A filename, A filehandle, A scalar reference
=item Constructor Options
C<< AutoClose => 0|1 >>, C<< Append => 0|1 >>, A Buffer, A Filename, A
-Filehandle, C<< Name => $string >>, C<< Time => $number >>, C<< ExtAttr =>
-$attr >>, C<< exTime => [$atime, $mtime, $ctime] >>, C<< exUnix2 => [$uid,
-$gid] >>, C<< Comment => $comment >>, C<< ZipComment => $comment >>, C<<
-Method => $method >>, C<< Stream => 0|1 >>, C<< Zip64 => 0|1 >>, C<<
-TextFlag => 0|1 >>, C<< ExtraFieldLocal => $data >> =item C<<
-ExtraFieldCentral => $data >>, C<< Minimal => 1|0 >>, C<< BlockSize100K =>
-number >>, C<< WorkFactor => number >>, -Level, -Strategy, C<< Strict =>
-0|1 >>
+Filehandle, C<< Name => $string >>, C<< CanonicalName => 0|1 >>, C<<
+FilterName => sub { ... } >>, C<< Time => $number >>, C<< ExtAttr => $attr
+>>, C<< exTime => [$atime, $mtime, $ctime] >>, C<< exUnix2 => [$uid, $gid]
+>>, C<< exUnixN => [$uid, $gid] >>, C<< Comment => $comment >>, C<<
+ZipComment => $comment >>, C<< Method => $method >>, C<< Stream => 0|1 >>,
+C<< Zip64 => 0|1 >>, C<< TextFlag => 0|1 >>, C<< ExtraFieldLocal => $data
+>> =item C<< ExtraFieldCentral => $data >>, C<< Minimal => 1|0 >>, C<<
+BlockSize100K => number >>, C<< WorkFactor => number >>, C<< Preset =>
+number >>, C<< Extreme => 0|1 >>, -Level, -Strategy, C<< Strict => 0|1 >>
=item Examples
@@ -25530,8 +25303,7 @@ number >>, C<< WorkFactor => number >>, -Level, -Strategy, C<< Strict =>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Dir, IO::Dir - supply object methods
-for directory handles
+=head2 IO::Dir - supply object methods for directory handles
=over 4
@@ -25550,8 +25322,7 @@ rewind (), close (), tie %hash, 'IO::Dir', DIRNAME [, OPTIONS ]
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::File, IO::File - supply object
-methods for filehandles
+=head2 IO::File - supply object methods for filehandles
=over 4
@@ -25576,8 +25347,7 @@ open( FILENAME [,MODE [,PERMS]] ), open( FILENAME, IOLAYERS ), binmode(
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Handle, IO::Handle - supply object
-methods for I/O handles
+=head2 IO::Handle - supply object methods for I/O handles
=over 4
@@ -25606,8 +25376,7 @@ $io->blocking ( [ BOOL ] ), $io->untaint
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Pipe, IO::Pipe - supply object
-methods for pipes
+=head2 IO::Pipe - supply object methods for pipes
=over 4
@@ -25631,8 +25400,7 @@ reader ([ARGS]), writer ([ARGS]), handles ()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Poll, IO::Poll - Object interface to
-system poll call
+=head2 IO::Poll - Object interface to system poll call
=over 4
@@ -25653,8 +25421,7 @@ IO ), handles( [ EVENT_MASK ] )
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Seekable, IO::Seekable - supply seek
-based methods for I/O objects
+=head2 IO::Seekable - supply seek based methods for I/O objects
=over 4
@@ -25672,8 +25439,7 @@ $io->tell
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Select, IO::Select - OO interface to
-the select system call
+=head2 IO::Select - OO interface to the select system call
=over 4
@@ -25699,8 +25465,7 @@ count (), bits(), select ( READ, WRITE, EXCEPTION [, TIMEOUT ] )
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Socket, IO::Socket - Object
-interface to socket communications
+=head2 IO::Socket - Object interface to socket communications
=over 4
@@ -25726,8 +25491,7 @@ setsockopt(LEVEL, OPT, VAL), socktype, timeout([VAL])
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Socket::INET, IO::Socket::INET -
-Object interface for AF_INET domain sockets
+=head2 IO::Socket::INET - Object interface for AF_INET domain sockets
=over 4
@@ -25756,8 +25520,7 @@ sockaddr (), sockport (), sockhost (), peeraddr (), peerport (), peerhost
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Socket::UNIX, IO::Socket::UNIX -
-Object interface for AF_UNIX domain sockets
+=head2 IO::Socket::UNIX - Object interface for AF_UNIX domain sockets
=over 4
@@ -25781,8 +25544,8 @@ hostpath(), peerpath()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Uncompress::AnyInflate,
-IO::Uncompress::AnyInflate - Uncompress zlib-based (zip, gzip) file/buffer
+=head2 IO::Uncompress::AnyInflate - Uncompress zlib-based (zip, gzip)
+file/buffer
=over 4
@@ -25899,8 +25662,7 @@ the sub-field structure as defined in RFC 1952
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Uncompress::AnyUncompress,
-IO::Uncompress::AnyUncompress - Uncompress gzip, zip, bzip2 or lzop
+=head2 IO::Uncompress::AnyUncompress - Uncompress gzip, zip, bzip2 or lzop
file/buffer
=over 4
@@ -26009,8 +25771,7 @@ $size >>, C<< Append => 0|1 >>, C<< Strict => 0|1 >>, C<< RawInflate => 0|1
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Uncompress::Base,
-IO::Uncompress::Base - Base Class for IO::Uncompress modules
+=head2 IO::Uncompress::Base - Base Class for IO::Uncompress modules
=over 4
@@ -26028,8 +25789,7 @@ IO::Uncompress::Base - Base Class for IO::Uncompress modules
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Uncompress::Bunzip2,
-IO::Uncompress::Bunzip2 - Read bzip2 files/buffers
+=head2 IO::Uncompress::Bunzip2 - Read bzip2 files/buffers
=over 4
@@ -26138,8 +25898,7 @@ $size >>, C<< Append => 0|1 >>, C<< Strict => 0|1 >>, C<< Small => 0|1 >>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Uncompress::Gunzip,
-IO::Uncompress::Gunzip - Read RFC 1952 files/buffers
+=head2 IO::Uncompress::Gunzip - Read RFC 1952 files/buffers
=over 4
@@ -26256,8 +26015,7 @@ Name, Comment
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Uncompress::Inflate,
-IO::Uncompress::Inflate - Read RFC 1950 files/buffers
+=head2 IO::Uncompress::Inflate - Read RFC 1950 files/buffers
=over 4
@@ -26369,8 +26127,7 @@ $size >>, C<< Append => 0|1 >>, C<< Strict => 0|1 >>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Uncompress::RawInflate,
-IO::Uncompress::RawInflate - Read RFC 1951 files/buffers
+=head2 IO::Uncompress::RawInflate - Read RFC 1951 files/buffers
=over 4
@@ -26482,8 +26239,7 @@ $size >>, C<< Append => 0|1 >>, C<< Strict => 0|1 >>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Uncompress::Unzip,
-IO::Uncompress::Unzip - Read zip files/buffers
+=head2 IO::Uncompress::Unzip - Read zip files/buffers
=over 4
@@ -26598,8 +26354,7 @@ C<< Name => "membername" >>, C<< AutoClose => 0|1 >>, C<< MultiStream =>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IO::Zlib, IO::Zlib - IO:: style
-interface to L<Compress::Zlib>
+=head2 IO::Zlib - IO:: style interface to L<Compress::Zlib>
=over 4
@@ -26644,8 +26399,7 @@ IO::Zlib::WRITE: too long LENGTH
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IPC::Cmd, IPC::Cmd - finding and running
-system commands made easy
+=head2 IPC::Cmd - finding and running system commands made easy
=over 4
@@ -26653,7 +26407,7 @@ system commands made easy
=item DESCRIPTION
-=item CLASS METHODS
+=item CLASS METHODS
=over 4
@@ -26739,6 +26493,8 @@ C<timeout>, C<stdout>, C<stderr>, C<merged>, C<err_msg>
=item $IPC::Cmd::INSTANCES
+=item $IPC::Cmd::ALLOW_NULL_ARGS
+
=back
=item Caveats
@@ -26758,8 +26514,8 @@ Interleaving STDOUT/STDERR
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IPC::Open2, IPC::Open2 - open a process
-for both reading and writing using open2()
+=head2 IPC::Open2 - open a process for both reading and writing using
+open2()
=over 4
@@ -26773,8 +26529,8 @@ for both reading and writing using open2()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::IPC::Open3, IPC::Open3 - open a process
-for reading, writing, and error handling using open3()
+=head2 IPC::Open3 - open a process for reading, writing, and error handling
+using open3()
=over 4
@@ -26790,8 +26546,7 @@ L<IPC::Open2>, L<IPC::Run>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::JSON::PP, JSON::PP - JSON::XS compatible
-pure-Perl module.
+=head2 JSON::PP - JSON::XS compatible pure-Perl module.
=over 4
@@ -26962,8 +26717,7 @@ speed, memory saving
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::JSON::PP::Boolean, JSON::PP::Boolean -
-dummy module providing JSON::PP::Boolean
+=head2 JSON::PP::Boolean - dummy module providing JSON::PP::Boolean
=over 4
@@ -26979,8 +26733,7 @@ dummy module providing JSON::PP::Boolean
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::List::Util, List::Util - A selection of
-general-utility list subroutines
+=head2 List::Util - A selection of general-utility list subroutines
=over 4
@@ -27001,8 +26754,8 @@ BLOCK LIST, shuffle LIST, sum LIST
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::List::Util::XS, List::Util::XS -
-Indicate if List::Util was compiled with a C compiler
+=head2 List::Util::XS - Indicate if List::Util was compiled with a C
+compiler
=over 4
@@ -27016,15 +26769,20 @@ Indicate if List::Util was compiled with a C compiler
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Codes, Locale::Codes - a
-distribution of modules to handle locale codes
+=head2 Locale::Codes - a distribution of modules to handle locale codes
=over 4
=item DESCRIPTION
-B<Locale::Country>, B<Locale::Language>, B<Locale::Currency>,
-B<Locale::Script>
+B<Locale::Codes::Country, Locale::Country>, B<Locale::Codes::Language,
+Locale::Language>, B<Locale::Codes::Currency, Locale::Currency>,
+B<Locale::Codes::Script, Locale::Script>, B<Locale::Codes::LangExt>,
+B<Locale::Codes::LangVar>, B<Locale::Codes::LangFam>, B<Locale::Codes>,
+B<Locale::Codes::Constants>, B<Locale::Codes::Country_codes>,
+B<Locale::Codes::Language_codes>, B<Locale::Codes::Currency_codes>,
+B<Locale::Codes::Script_codes>, B<Locale::Codes::LangExt_codes>,
+B<Locale::Codes::LangVar_codes>, B<Locale::Codes::LangFam_codes>
=item NEW CODE SETS
@@ -27033,54 +26791,42 @@ the data>, B<A reliable source of data>
=item COMMON ALIASES
+=item DEPRECATED CODES
+
+=item SEE ALSO
+
+B<Locale::Codes::API>, B<Locale::Codes::Country>,
+B<Locale::Codes::Language>, B<Locale::Codes::Script>,
+B<Locale::Codes::Currency>, B<Locale::Codes::Changes>
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 Locale::Codes::API - a description of the callable function in each
+module
+
+=over 4
+
+=item DESCRIPTION
+
=item ROUTINES
-B<code2country ( CODE [,CODESET] )>, B<code2language( CODE [,CODESET] )>,
-B<code2currency( CODE [,CODESET] )>, B<code2script ( CODE [,CODESET] )>,
-B<country2code ( NAME [,CODESET] )>, B<language2code( NAME [,CODESET] )>,
-B<currency2code( NAME [,CODESET] )>, B<script2code ( NAME [,CODESET] )>,
-B<country_code2code ( CODE ,CODESET ,CODESET2 )>, B<language_code2code(
-CODE ,CODESET ,CODESET2 )>, B<currency_code2code( CODE ,CODESET ,CODESET2
-)>, B<script_code2code ( CODE ,CODESET ,CODESET2 )>, B<all_country_codes (
-[CODESET] )>, B<all_language_codes( [CODESET] )>, B<all_currency_codes(
-[CODESET] )>, B<all_script_codes ( [CODESET] )>, B<all_country_names (
-[CODESET] )>, B<all_language_names( [CODESET] )>, B<all_currency_names(
-[CODESET] )>, B<all_script_names ( [CODESET] )>
+B<code2XXX ( CODE [,CODESET] [,'retired'] )>, B<XXX2code ( NAME [,CODESET]
+[,'retired'] )>, B<XXX_code2code ( CODE ,CODESET ,CODESET2 )>,
+B<all_XXX_codes ( [CODESET] [,'retired'] )>, B<all_XXX_names ( [CODESET]
+[,'retired'] )>
=item SEMI-PRIVATE ROUTINES
-B<Locale::Country::rename_country ( CODE ,NEW_NAME [,CODESET] )>,
-B<Locale::Language::rename_language( CODE ,NEW_NAME [,CODESET] )>,
-B<Locale::Currency::rename_currency( CODE ,NEW_NAME [,CODESET] )>,
-B<Locale::Script::rename_script ( CODE ,NEW_NAME [,CODESET] )>,
-B<Locale::Country::add_country ( CODE ,NAME [,CODESET] )>,
-B<Locale::Language::add_language( CODE ,NAME [,CODESET] )>,
-B<Locale::Currency::add_currency( CODE ,NAME [,CODESET] )>,
-B<Locale::Script::add_script ( CODE ,NAME [,CODESET] )>,
-B<Locale::Country::delete_country ( CODE [,CODESET] )>,
-B<Locale::Language::delete_language( CODE [,CODESET] )>,
-B<Locale::Currency::delete_currency( CODE [,CODESET] )>,
-B<Locale::Script::delete_script ( CODE [,CODESET] )>,
-B<Locale::Country::add_country_alias ( NAME ,NEW_NAME )>,
-B<Locale::Language::add_language_alias( NAME ,NEW_NAME )>,
-B<Locale::Currency::add_currency_alias( NAME ,NEW_NAME )>,
-B<Locale::Script::add_script_alias ( NAME ,NEW_NAME )>,
-B<Locale::Country::delete_country_alias ( NAME )>,
-B<Locale::Language::delete_language_alias( NAME )>,
-B<Locale::Currency::delete_currency_alias( NAME )>,
-B<Locale::Script::delete_script_alias ( NAME )>,
-B<Locale::Country::rename_country_code ( CODE ,NEW_CODE [,CODESET] )>,
-B<Locale::Language::rename_language_code( CODE ,NEW_CODE [,CODESET] )>,
-B<Locale::Currency::rename_currency_code( CODE ,NEW_CODE [,CODESET] )>,
-B<Locale::Script::rename_script_code ( CODE ,NEW_CODE [,CODESET] )>,
-B<Locale::Country::add_country_code_alias ( CODE ,NEW_CODE [,CODESET] )>,
-B<Locale::Language::add_language_code_alias( CODE ,NEW_CODE [,CODESET] )>,
-B<Locale::Currency::add_currency_code_alias( CODE ,NEW_CODE [,CODESET] )>,
-B<Locale::Script::add_script_code_alias ( CODE ,NEW_CODE [,CODESET] )>,
-B<Locale::Country::delete_country_code_alias ( CODE [,CODESET] )>,
-B<Locale::Language::delete_language_code_alias( CODE [,CODESET] )>,
-B<Locale::Currency::delete_currency_code_alias( CODE [,CODESET] )>,
-B<Locale::Script::delete_script_code_alias ( CODE [,CODESET] )>
+B<MODULE::rename_XXX ( CODE ,NEW_NAME [,CODESET] )>, B<MODULE::add_XXX (
+CODE ,NAME [,CODESET] )>, B<MODULE::delete_XXX ( CODE [,CODESET] )>,
+B<MODULE::add_XXX_alias ( NAME ,NEW_NAME )>, B<MODULE::delete_XXX_alias (
+NAME )>, B<MODULE::rename_XXX_code ( CODE ,NEW_CODE [,CODESET] )>,
+B<MODULE::add_XXX_code_alias ( CODE ,NEW_CODE [,CODESET] )>,
+B<MODULE::delete_XXX_code_alias ( CODE [,CODESET] )>
=item KNOWN BUGS AND LIMITATIONS
@@ -27088,8 +26834,120 @@ B<*>, B<*>
=item SEE ALSO
-B<Locale::Constants>, B<Locale::Country>, B<Locale::Language>,
-B<Locale::Script>, B<Locale::Currency>
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 Locale::Codes::Changes - details changes to Locale::Codes
+
+=over 4
+
+=item SYNOPSIS
+
+=item VERSION 3.22 (yyyy-mm-dd; sbeck)
+
+=item VERSION 3.21 (2012-03-01; sbeck)
+
+=item VERSION 3.20 (2011-12-01; sbeck)
+
+B<Added limited support for deprecated codes>, B<Fixed capitalization>,
+B<Pod tests off by default>, B<Codesets may be specified by name>,
+B<alias_code deprecated>, B<Code cleanup>, B<Added LangFam module>
+
+=item VERSION 3.18 (2011-08-31; sbeck)
+
+B<No longer use CIA data>
+
+=item VERSION 3.17 (2011-06-28; sbeck)
+
+B<Added new types of codes>, B<Added new codeset(s)>, B<Bug fixes>,
+B<Reorganized code>
+
+=item VERSION 3.16 (2011-03-01; sbeck)
+
+=item VERSION 3.15 (2010-12-02; sbeck)
+
+B<Minor fixes>
+
+=item VERSION 3.14 (2010-09-28; sbeck)
+
+B<Bug fixes>
+
+=item VERSION 3.13 (2010-06-04; sbeck)
+
+=item VERSION 3.12 (2010-04-06; sbeck)
+
+B<Reorganized code>
+
+=item VERSION 3.11 (2010-03-01; sbeck)
+
+B<Added new codeset(s)>, B<Bug fixes>
+
+=item VERSION 3.10 (2010-02-18; sbeck)
+
+B<Reorganized code>, B<(!) Changed XXX_code2code behavior slightly>,
+B<Added many semi-private routines>, B<New aliases>
+
+=item VERSION 3.01 (2010-02-15; sbeck)
+
+B<Fixed Makefile.PL and Build.PL>
+
+=item VERSION 3.00 (2010-02-10; sbeck)
+
+B<New maintainer>, B<(*) (!) All codes are generated from standards>,
+B<Added new codeset(s)>, B<(*) (!) Locale::Script changed>, B<Added missing
+functions>, B<(!) Dropped support for _alias_code>, B<(!) All functions
+return the standard value>, B<(!) rename_country function altered>
+
+=item VERSION 2.07 (2004-06-10; neilb)
+
+=item VERSION 2.06 (2002-07-15; neilb)
+
+=item VERSION 2.05 (2002-07-08; neilb)
+
+=item VERSION 2.04 (2002-05-23; neilb)
+
+=item VERSION 2.03 (2002-03-24; neilb)
+
+=item VERSION 2.02 (2002-03-09; neilb)
+
+=item VERSION 2.01 (2002-02-18; neilb)
+
+=item VERSION 2.00 (2002-02-17; neilb)
+
+=item VERSION 1.06 (2001-03-04; neilb)
+
+=item VERSION 1.05 (2001-02-13; neilb)
+
+=item VERSION 1.04 (2000-12-21; neilb)
+
+=item VERSION 1.03 (2000-12-??; neilb)
+
+=item VERSION 1.02 (2000-05-04; neilb)
+
+=item VERSION 1.00 (1998-03-09; neilb)
+
+=item VERSION 0.003 (1997-05-09; neilb)
+
+=item SEE ALSO
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 Locale::Codes::Constants - constants for Locale codes
+
+=over 4
+
+=item DESCRIPTION
+
+=item KNOWN BUGS AND LIMITATIONS
+
+=item SEE ALSO
=item AUTHOR
@@ -27097,32 +26955,54 @@ B<Locale::Script>, B<Locale::Currency>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Codes::Changes,
-Locale::Codes::Changes - details important changes after 2.07
+=head2 Locale::Codes::Country - standard codes for country identification
=over 4
-=item 3.10
+=item SYNOPSIS
-B<Changed XXX_code2code behavior slightly>, B<Added many semi-private
-routines>
+=item DESCRIPTION
-=item 3.00
+=item SUPPORTED CODE SETS
-B<New maintainer>, B<All codes are generated from standards>, B<Added
-several code sets from standards>, B<Locale::Script changed>, B<Added
-missing functions>, B<Dropped support for _alias_code>
+B<alpha-2, LOCALE_CODE_ALPHA_2>, B<alpha-3, LOCALE_CODE_ALPHA_3>,
+B<numeric, LOCALE_CODE_NUMERIC>, B<fips-10, LOCALE_CODE_FIPS>, B<dom,
+LOCALE_CODE_DOM>
+
+=item ROUTINES
+
+B<code2country ( CODE [,CODESET] )>, B<country2code ( NAME [,CODESET] )>,
+B<country_code2code ( CODE ,CODESET ,CODESET2 )>, B<all_country_codes (
+[CODESET] )>, B<all_country_names ( [CODESET] )>,
+B<Locale::Codes::Country::rename_country ( CODE ,NEW_NAME [,CODESET] )>,
+B<Locale::Codes::Country::add_country ( CODE ,NAME [,CODESET] )>,
+B<Locale::Codes::Country::delete_country ( CODE [,CODESET] )>,
+B<Locale::Codes::Country::add_country_alias ( NAME ,NEW_NAME )>,
+B<Locale::Codes::Country::delete_country_alias ( NAME )>,
+B<Locale::Codes::Country::rename_country_code ( CODE ,NEW_CODE [,CODESET]
+)>, B<Locale::Codes::Country::add_country_code_alias ( CODE ,NEW_CODE
+[,CODESET] )>, B<Locale::Codes::Country::delete_country_code_alias ( CODE
+[,CODESET] )>, B<alias_code ( ALIAS, CODE [,CODESET] )>
=item SEE ALSO
+B<Locale::Codes>, B<Locale::Codes::API>, B<Locale::SubCountry>,
+B<http://www.iso.org/iso/country_codes>,
+B<http://www.iso.org/iso/list-en1-semic-3.txt>,
+B<http://unstats.un.org/unsd/methods/m49/m49alpha.htm>,
+B<http://earth-info.nga.mil/gns/html/digraphs.htm>,
+B<http://www.iana.org/domains/>,
+B<https://www.cia.gov/library/publications/the-world-factbook/appendix/prin
+t_appendix-d.html>, B<http://www.statoids.com/wab.html>
+
=item AUTHOR
=item COPYRIGHT
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Codes::Country,
-Locale::Codes::Country - country codes for the Locale::Country module
+=head2 Locale::Codes::Country_Codes - country codes for the
+Locale::Codes::Country module
=over 4
@@ -27134,8 +27014,8 @@ Locale::Codes::Country - country codes for the Locale::Country module
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Codes::Currency,
-Locale::Codes::Currency - currency codes for the Locale::Currency module
+=head2 Locale::Codes::Country_Retired - retired country codes for the
+Locale::Codes::Country module
=over 4
@@ -27147,21 +27027,46 @@ Locale::Codes::Currency - currency codes for the Locale::Currency module
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Codes::Language,
-Locale::Codes::Language - language codes for the Locale::Language module
+=head2 Locale::Codes::Currency - standard codes for currency identification
=over 4
=item SYNOPSIS
+=item DESCRIPTION
+
+=item SUPPORTED CODE SETS
+
+B<alpha, LOCALE_CURR_ALPHA>, B<num, LOCALE_CURR_NUMERIC>
+
+=item ROUTINES
+
+B<code2currency ( CODE [,CODESET] )>, B<currency2code ( NAME [,CODESET] )>,
+B<currency_code2code ( CODE ,CODESET ,CODESET2 )>, B<all_currency_codes (
+[CODESET] )>, B<all_currency_names ( [CODESET] )>,
+B<Locale::Codes::Currency::rename_currency ( CODE ,NEW_NAME [,CODESET] )>,
+B<Locale::Codes::Currency::add_currency ( CODE ,NAME [,CODESET] )>,
+B<Locale::Codes::Currency::delete_currency ( CODE [,CODESET] )>,
+B<Locale::Codes::Currency::add_currency_alias ( NAME ,NEW_NAME )>,
+B<Locale::Codes::Currency::delete_currency_alias ( NAME )>,
+B<Locale::Codes::Currency::rename_currency_code ( CODE ,NEW_CODE
+[,CODESET] )>, B<Locale::Codes::Currency::add_currency_code_alias ( CODE
+,NEW_CODE [,CODESET] )>,
+B<Locale::Codes::Currency::delete_currency_code_alias ( CODE [,CODESET] )>
+
+=item SEE ALSO
+
+B<Locale::Codes>, B<Locale::Codes::API>,
+B<http://www.iso.org/iso/support/currency_codes_list-1.htm>
+
=item AUTHOR
=item COPYRIGHT
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Codes::Script,
-Locale::Codes::Script - script codes for the Locale::Script module
+=head2 Locale::Codes::Currency_Codes - currency codes for the
+Locale::Codes::Currency module
=over 4
@@ -27173,25 +27078,86 @@ Locale::Codes::Script - script codes for the Locale::Script module
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Constants, Locale::Constants -
-constants for Locale codes
+=head2 Locale::Codes::Currency_Retired - retired currency codes for the
+Locale::Codes::Currency module
=over 4
+=item SYNOPSIS
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 Locale::Codes::LangExt - standard codes for language extension
+identification
+
+=over 4
+
+=item SYNOPSIS
+
=item DESCRIPTION
-=item KNOWN BUGS AND LIMITATIONS
+=item SUPPORTED CODE SETS
+
+B<alpha>
+
+=item ROUTINES
+
+B<code2langext ( CODE [,CODESET] )>, B<langext2code ( NAME [,CODESET] )>,
+B<langext_code2code ( CODE ,CODESET ,CODESET2 )>, B<all_langext_codes (
+[CODESET] )>, B<all_langext_names ( [CODESET] )>,
+B<Locale::Codes::LangExt::rename_langext ( CODE ,NEW_NAME [,CODESET] )>,
+B<Locale::Codes::LangExt::add_langext ( CODE ,NAME [,CODESET] )>,
+B<Locale::Codes::LangExt::delete_langext ( CODE [,CODESET] )>,
+B<Locale::Codes::LangExt::add_langext_alias ( NAME ,NEW_NAME )>,
+B<Locale::Codes::LangExt::delete_langext_alias ( NAME )>,
+B<Locale::Codes::LangExt::rename_langext_code ( CODE ,NEW_CODE [,CODESET]
+)>, B<Locale::Codes::LangExt::add_langext_code_alias ( CODE ,NEW_CODE
+[,CODESET] )>, B<Locale::Codes::LangExt::delete_langext_code_alias ( CODE
+[,CODESET] )>
=item SEE ALSO
+B<Locale::Codes>, B<Locale::Codes::API>,
+B<http://www.iana.org/assignments/language-subtag-registry>
+
=item AUTHOR
=item COPYRIGHT
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Country, Locale::Country -
-standard codes for country identification
+=head2 Locale::Codes::LangExt_Codes - langext codes for the
+Locale::Codes::LangExt module
+
+=over 4
+
+=item SYNOPSIS
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 Locale::Codes::LangExt_Retired - retired langext codes for the
+Locale::Codes::LangExt module
+
+=over 4
+
+=item SYNOPSIS
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 Locale::Codes::LangFam - standard codes for language extension
+identification
=over 4
@@ -27201,7 +27167,270 @@ standard codes for country identification
=item SUPPORTED CODE SETS
-B<alpha-2>, B<alpha-3>, B<numeric>, B<fips-10>, B<dom>
+B<alpha>
+
+=item ROUTINES
+
+B<code2langfam ( CODE [,CODESET] )>, B<langfam2code ( NAME [,CODESET] )>,
+B<langfam_code2code ( CODE ,CODESET ,CODESET2 )>, B<all_langfam_codes (
+[CODESET] )>, B<all_langfam_names ( [CODESET] )>,
+B<Locale::Codes::LangFam::rename_langfam ( CODE ,NEW_NAME [,CODESET] )>,
+B<Locale::Codes::LangFam::add_langfam ( CODE ,NAME [,CODESET] )>,
+B<Locale::Codes::LangFam::delete_langfam ( CODE [,CODESET] )>,
+B<Locale::Codes::LangFam::add_langfam_alias ( NAME ,NEW_NAME )>,
+B<Locale::Codes::LangFam::delete_langfam_alias ( NAME )>,
+B<Locale::Codes::LangFam::rename_langfam_code ( CODE ,NEW_CODE [,CODESET]
+)>, B<Locale::Codes::LangFam::add_langfam_code_alias ( CODE ,NEW_CODE
+[,CODESET] )>, B<Locale::Codes::LangFam::delete_langfam_code_alias ( CODE
+[,CODESET] )>
+
+=item SEE ALSO
+
+B<Locale::Codes>, B<Locale::Codes::API>,
+B<http://www.loc.gov/standards/iso639-5/id.php>
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 Locale::Codes::LangFam_Codes - langfam codes for the
+Locale::Codes::LangFam module
+
+=over 4
+
+=item SYNOPSIS
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 Locale::Codes::LangFam_Retired - retired langfam codes for the
+Locale::Codes::LangFam module
+
+=over 4
+
+=item SYNOPSIS
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 Locale::Codes::LangVar - standard codes for language variation
+identification
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item SUPPORTED CODE SETS
+
+B<alpha>
+
+=item ROUTINES
+
+B<code2langvar ( CODE [,CODESET] )>, B<langvar2code ( NAME [,CODESET] )>,
+B<langvar_code2code ( CODE ,CODESET ,CODESET2 )>, B<all_langvar_codes (
+[CODESET] )>, B<all_langvar_names ( [CODESET] )>,
+B<Locale::Codes::LangVar::rename_langvar ( CODE ,NEW_NAME [,CODESET] )>,
+B<Locale::Codes::LangVar::add_langvar ( CODE ,NAME [,CODESET] )>,
+B<Locale::Codes::LangVar::delete_langvar ( CODE [,CODESET] )>,
+B<Locale::Codes::LangVar::add_langvar_alias ( NAME ,NEW_NAME )>,
+B<Locale::Codes::LangVar::delete_langvar_alias ( NAME )>,
+B<Locale::Codes::LangVar::rename_langvar_code ( CODE ,NEW_CODE [,CODESET]
+)>, B<Locale::Codes::LangVar::add_langvar_code_alias ( CODE ,NEW_CODE
+[,CODESET] )>, B<Locale::Codes::LangVar::delete_langvar_code_alias ( CODE
+[,CODESET] )>
+
+=item SEE ALSO
+
+B<Locale::Codes>, B<Locale::Codes::API>,
+B<http://www.iana.org/assignments/language-subtag-registry>
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 Locale::Codes::LangVar_Codes - langvar codes for the
+Locale::Codes::LangVar module
+
+=over 4
+
+=item SYNOPSIS
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 Locale::Codes::LangVar_Retired - retired langvar codes for the
+Locale::Codes::LangVar module
+
+=over 4
+
+=item SYNOPSIS
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 Locale::Codes::Language - standard codes for language identification
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item SUPPORTED CODE SETS
+
+B<alpha-2, LOCALE_LANG_ALPHA_2>, B<alpha-3, LOCALE_LANG_ALPHA_3>, B<term,
+LOCALE_LANG_TERM>
+
+=item ROUTINES
+
+B<code2language ( CODE [,CODESET] )>, B<language2code ( NAME [,CODESET] )>,
+B<language_code2code ( CODE ,CODESET ,CODESET2 )>, B<all_language_codes (
+[CODESET] )>, B<all_language_names ( [CODESET] )>,
+B<Locale::Codes::Language::rename_language ( CODE ,NEW_NAME [,CODESET] )>,
+B<Locale::Codes::Language::add_language ( CODE ,NAME [,CODESET] )>,
+B<Locale::Codes::Language::delete_language ( CODE [,CODESET] )>,
+B<Locale::Codes::Language::add_language_alias ( NAME ,NEW_NAME )>,
+B<Locale::Codes::Language::delete_language_alias ( NAME )>,
+B<Locale::Codes::Language::rename_language_code ( CODE ,NEW_CODE
+[,CODESET] )>, B<Locale::Codes::Language::add_language_code_alias ( CODE
+,NEW_CODE [,CODESET] )>,
+B<Locale::Codes::Language::delete_language_code_alias ( CODE [,CODESET] )>
+
+=item SEE ALSO
+
+B<Locale::Codes>, B<Locale::Codes::API>,
+B<http://www.loc.gov/standards/iso639-2/>,
+B<http://www.loc.gov/standards/iso639-5/>,
+B<http://www.iana.org/assignments/language-subtag-registry>
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 Locale::Codes::Language_Codes - language codes for the
+Locale::Codes::Language module
+
+=over 4
+
+=item SYNOPSIS
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 Locale::Codes::Language_Retired - retired language codes for the
+Locale::Codes::Language module
+
+=over 4
+
+=item SYNOPSIS
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 Locale::Codes::Script - standard codes for script identification
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item SUPPORTED CODE SETS
+
+B<alpha, LOCALE_SCRIPT_ALPHA>, B<num, LOCALE_SCRIPT_NUMERIC>
+
+=item ROUTINES
+
+B<code2script ( CODE [,CODESET] )>, B<script2code ( NAME [,CODESET] )>,
+B<script_code2code ( CODE ,CODESET ,CODESET2 )>, B<all_script_codes (
+[CODESET] )>, B<all_script_names ( [CODESET] )>,
+B<Locale::Codes::Script::rename_script ( CODE ,NEW_NAME [,CODESET] )>,
+B<Locale::Codes::Script::add_script ( CODE ,NAME [,CODESET] )>,
+B<Locale::Codes::Script::delete_script ( CODE [,CODESET] )>,
+B<Locale::Codes::Script::add_script_alias ( NAME ,NEW_NAME )>,
+B<Locale::Codes::Script::delete_script_alias ( NAME )>,
+B<Locale::Codes::Script::rename_script_code ( CODE ,NEW_CODE [,CODESET]
+)>, B<Locale::Codes::Script::add_script_code_alias ( CODE ,NEW_CODE
+[,CODESET] )>, B<Locale::Codes::Script::delete_script_code_alias ( CODE
+[,CODESET] )>
+
+=item SEE ALSO
+
+B<Locale::Codes>, B<Locale::Codes::API>,
+B<http://www.unicode.org/iso15924/>,
+B<http://www.iana.org/assignments/language-subtag-registry>
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 Locale::Codes::Script_Codes - script codes for the
+Locale::Codes::Script module
+
+=over 4
+
+=item SYNOPSIS
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 Locale::Codes::Script_Retired - retired script codes for the
+Locale::Codes::Script module
+
+=over 4
+
+=item SYNOPSIS
+
+=item AUTHOR
+
+=item COPYRIGHT
+
+=back
+
+=head2 Locale::Country - standard codes for country identification
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item SUPPORTED CODE SETS
+
+B<alpha-2, LOCALE_CODE_ALPHA_2>, B<alpha-3, LOCALE_CODE_ALPHA_3>,
+B<numeric, LOCALE_CODE_NUMERIC>, B<fips-10, LOCALE_CODE_FIPS>, B<dom,
+LOCALE_CODE_DOM>
=item ROUTINES
@@ -27220,7 +27449,7 @@ B<alias_code ( ALIAS, CODE [,CODESET] )>
=item SEE ALSO
-B<Locale::Codes>, B<Locale::Constants>, B<Locale::SubCountry>,
+B<Locale::Codes>, B<Locale::Codes::API>, B<Locale::SubCountry>,
B<http://www.iso.org/iso/country_codes>,
B<http://www.iso.org/iso/list-en1-semic-3.txt>,
B<http://unstats.un.org/unsd/methods/m49/m49alpha.htm>,
@@ -27235,8 +27464,7 @@ t_appendix-d.html>, B<http://www.statoids.com/wab.html>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Currency, Locale::Currency -
-standard codes for currency identification
+=head2 Locale::Currency - standard codes for currency identification
=over 4
@@ -27246,7 +27474,7 @@ standard codes for currency identification
=item SUPPORTED CODE SETS
-B<alpha>, B<num>
+B<alpha, LOCALE_CURR_ALPHA>, B<num, LOCALE_CURR_NUMERIC>
=item ROUTINES
@@ -27264,7 +27492,7 @@ B<Locale::Currency::add_currency_code_alias ( CODE ,NEW_CODE [,CODESET]
=item SEE ALSO
-B<Locale::Codes>, B<Locale::Constants>,
+B<Locale::Codes>, B<Locale::Codes::API>,
B<http://www.iso.org/iso/support/currency_codes_list-1.htm>
=item AUTHOR
@@ -27273,8 +27501,7 @@ B<http://www.iso.org/iso/support/currency_codes_list-1.htm>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Language, Locale::Language -
-standard codes for language identification
+=head2 Locale::Language - standard codes for language identification
=over 4
@@ -27284,7 +27511,8 @@ standard codes for language identification
=item SUPPORTED CODE SETS
-B<alpha-2>, B<alpha-3>, B<term>
+B<alpha-2, LOCALE_LANG_ALPHA_2>, B<alpha-3, LOCALE_LANG_ALPHA_3>, B<term,
+LOCALE_LANG_TERM>
=item ROUTINES
@@ -27302,8 +27530,10 @@ B<Locale::Language::add_language_code_alias ( CODE ,NEW_CODE [,CODESET]
=item SEE ALSO
-B<Locale::Codes>, B<Locale::Constants>,
-B<http://www.loc.gov/standards/iso639-2/>
+B<Locale::Codes>, B<Locale::Codes::API>,
+B<http://www.loc.gov/standards/iso639-2/>,
+B<http://www.loc.gov/standards/iso639-5/>,
+B<http://www.iana.org/assignments/language-subtag-registry>
=item AUTHOR
@@ -27311,8 +27541,7 @@ B<http://www.loc.gov/standards/iso639-2/>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Maketext, Locale::Maketext -
-framework for localization
+=head2 Locale::Maketext - framework for localization
=over 4
@@ -27336,8 +27565,9 @@ $lh->fail_with I<or> $lh->fail_with(I<PARAM>), $lh->failure_handler_auto
$language->quant($number, $singular), $language->quant($number, $singular,
$plural), $language->quant($number, $singular, $plural, $negative),
-$language->numf($number), $language->sprintf($format, @items),
-$language->language_tag(), $language->encoding()
+$language->numf($number), $language->numerate($number, $singular, $plural,
+$negative), $language->sprintf($format, @items), $language->language_tag(),
+$language->encoding()
=item Language Handle Attributes and Internals
@@ -27365,8 +27595,7 @@ $language->language_tag(), $language->encoding()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Maketext::Cookbook,
-Locale::Maketext::Cookbook - recipes for using Locale::Maketext
+=head2 Locale::Maketext::Cookbook - recipes for using Locale::Maketext
=over 4
@@ -27378,9 +27607,8 @@ Locale::Maketext::Cookbook - recipes for using Locale::Maketext
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Maketext::Guts,
-Locale::Maketext::Guts - Deprecated module to load Locale::Maketext utf8
-code
+=head2 Locale::Maketext::Guts - Deprecated module to load Locale::Maketext
+utf8 code
=over 4
@@ -27390,9 +27618,8 @@ code
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Maketext::GutsLoader,
-Locale::Maketext::GutsLoader - Deprecated module to load Locale::Maketext
-utf8 code
+=head2 Locale::Maketext::GutsLoader - Deprecated module to load
+Locale::Maketext utf8 code
=over 4
@@ -27402,8 +27629,8 @@ utf8 code
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Maketext::Simple,
-Locale::Maketext::Simple - Simple interface to Locale::Maketext::Lexicon
+=head2 Locale::Maketext::Simple - Simple interface to
+Locale::Maketext::Lexicon
=over 4
@@ -27453,8 +27680,7 @@ Locale::Maketext::Simple - Simple interface to Locale::Maketext::Lexicon
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Maketext::TPJ13,
-Locale::Maketext::TPJ13 -- article about software localization
+=head2 Locale::Maketext::TPJ13 -- article about software localization
=over 4
@@ -27492,8 +27718,7 @@ Locale::Maketext::TPJ13 -- article about software localization
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Locale::Script, Locale::Script -
-standard codes for script identification
+=head2 Locale::Script - standard codes for script identification
=over 4
@@ -27503,7 +27728,7 @@ standard codes for script identification
=item SUPPORTED CODE SETS
-B<alpha>, B<numeric>
+B<alpha, LOCALE_SCRIPT_ALPHA>, B<num, LOCALE_SCRIPT_NUMERIC>
=item ROUTINES
@@ -27521,7 +27746,9 @@ B<Locale::Script::delete_script_code_alias ( CODE [,CODESET] )>
=item SEE ALSO
-B<Locale::Codes>, B<Locale::Constants>, B<http://www.unicode.org/iso15924/>
+B<Locale::Codes>, B<Locale::Codes::API>,
+B<http://www.unicode.org/iso15924/>,
+B<http://www.iana.org/assignments/language-subtag-registry>
=item AUTHOR
@@ -27529,8 +27756,7 @@ B<Locale::Codes>, B<Locale::Constants>, B<http://www.unicode.org/iso15924/>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Log::Message, Log::Message - A generic
-message storing mechanism;
+=head2 Log::Message - A generic message storing mechanism;
=over 4
@@ -27607,8 +27833,7 @@ tag, level, message, amount, chrono, remove
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Log::Message::Config,
-Log::Message::Config - Configuration options for Log::Message
+=head2 Log::Message::Config - Configuration options for Log::Message
=over 4
@@ -27626,8 +27851,7 @@ Log::Message::Config - Configuration options for Log::Message
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Log::Message::Handlers,
-Log::Message::Handlers - Message handlers for Log::Message
+=head2 Log::Message::Handlers - Message handlers for Log::Message
=over 4
@@ -27701,8 +27925,7 @@ Log::Message::Handlers - Message handlers for Log::Message
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Log::Message::Item, Log::Message::Item
-- Message objects for Log::Message
+=head2 Log::Message::Item - Message objects for Log::Message
=over 4
@@ -27744,8 +27967,7 @@ Log::Message::Handlers - Message handlers for Log::Message
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Log::Message::Simple,
-Log::Message::Simple - Simplified interface to Log::Message
+=head2 Log::Message::Simple - Simplified interface to Log::Message
=over 4
@@ -27803,8 +28025,7 @@ $ERROR_FH, $MSG_FH, $DEBUG_FH, $STACKTRACE_ON_ERROR
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::MIME::Base64, MIME::Base64 - Encoding
-and decoding of base64 strings
+=head2 MIME::Base64 - Encoding and decoding of base64 strings
=over 4
@@ -27825,8 +28046,8 @@ decoded_base64_length( $str )
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::MIME::QuotedPrint, MIME::QuotedPrint -
-Encoding and decoding of quoted-printable strings
+=head2 MIME::QuotedPrint - Encoding and decoding of quoted-printable
+strings
=over 4
@@ -27843,8 +28064,7 @@ encode_qp( $str), encode_qp( $str, $eol), encode_qp( $str, $eol, $binmode
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Math::BigFloat, Math::BigFloat -
-Arbitrary size floating point math package
+=head2 Math::BigFloat - Arbitrary size floating point math package
=over 4
@@ -27922,8 +28142,7 @@ accuracy()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Math::BigInt, Math::BigInt - Arbitrary
-size integer/float math package
+=head2 Math::BigInt - Arbitrary size integer/float math package
=over 4
@@ -27979,6 +28198,8 @@ Input, Output
=item babs()
+=item bsgn()
+
=item bnorm()
=item bnot()
@@ -28130,12 +28351,16 @@ oct()/hex(), log(-inf), exp(), cos(), sin(), atan2()
=item Alternative math libraries
+=back
+
=item SUBCLASSING
-=back
+=over 4
=item Subclassing Math::BigInt
+=back
+
=item UPGRADING
=over 4
@@ -28162,8 +28387,7 @@ bsqrt(), brsft()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Math::BigInt::Calc, Math::BigInt::Calc -
-Pure Perl module to support Math::BigInt
+=head2 Math::BigInt::Calc - Pure Perl module to support Math::BigInt
=over 4
@@ -28213,8 +28437,7 @@ SIGN2)>, I<_signed_xor(OBJ1, OBJ2, SIGN1, SIGN2)>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Math::BigInt::CalcEmu,
-Math::BigInt::CalcEmu - Emulate low-level math with BigInt code
+=head2 Math::BigInt::CalcEmu - Emulate low-level math with BigInt code
=over 4
@@ -28242,8 +28465,8 @@ Math::BigInt::CalcEmu - Emulate low-level math with BigInt code
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Math::BigInt::FastCalc,
-Math::BigInt::FastCalc - Math::BigInt::Calc with some XS for more speed
+=head2 Math::BigInt::FastCalc - Math::BigInt::Calc with some XS for more
+speed
=over 4
@@ -28263,8 +28486,7 @@ Math::BigInt::FastCalc - Math::BigInt::Calc with some XS for more speed
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Math::BigRat, Math::BigRat - Arbitrary
-big rational numbers
+=head2 Math::BigRat - Arbitrary big rational numbers
=over 4
@@ -28376,8 +28598,8 @@ blog(), bmodinv() and bmodpow() (partial)
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Math::Complex, Math::Complex - complex
-numbers and associated mathematical functions
+=head2 Math::Complex - complex numbers and associated mathematical
+functions
=over 4
@@ -28423,8 +28645,7 @@ numbers and associated mathematical functions
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Math::Trig, Math::Trig - trigonometric
-functions
+=head2 Math::Trig - trigonometric functions
=over 4
@@ -28500,8 +28721,7 @@ asin_real, acos_real
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Memoize, Memoize - Make functions faster
-by trading space for time
+=head2 Memoize - Make functions faster by trading space for time
=over 4
@@ -28553,9 +28773,8 @@ C<MEMORY>, C<HASH>, C<TIE>, C<FAULT>, C<MERGE>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Memoize::AnyDBM_File,
-Memoize::AnyDBM_File - glue to provide EXISTS for AnyDBM_File for Storable
-use
+=head2 Memoize::AnyDBM_File - glue to provide EXISTS for AnyDBM_File for
+Storable use
=over 4
@@ -28563,8 +28782,8 @@ use
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Memoize::Expire, Memoize::Expire -
-Plug-in module for automatic expiration of memoized values
+=head2 Memoize::Expire - Plug-in module for automatic expiration of
+memoized values
=over 4
@@ -28586,8 +28805,7 @@ Plug-in module for automatic expiration of memoized values
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Memoize::ExpireFile, Memoize::ExpireFile
-- test for Memoize expiration semantics
+=head2 Memoize::ExpireFile - test for Memoize expiration semantics
=over 4
@@ -28595,8 +28813,7 @@ Plug-in module for automatic expiration of memoized values
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Memoize::ExpireTest, Memoize::ExpireTest
-- test for Memoize expiration semantics
+=head2 Memoize::ExpireTest - test for Memoize expiration semantics
=over 4
@@ -28604,8 +28821,8 @@ Plug-in module for automatic expiration of memoized values
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Memoize::NDBM_File, Memoize::NDBM_File -
-glue to provide EXISTS for NDBM_File for Storable use
+=head2 Memoize::NDBM_File - glue to provide EXISTS for NDBM_File for
+Storable use
=over 4
@@ -28613,8 +28830,8 @@ glue to provide EXISTS for NDBM_File for Storable use
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Memoize::SDBM_File, Memoize::SDBM_File -
-glue to provide EXISTS for SDBM_File for Storable use
+=head2 Memoize::SDBM_File - glue to provide EXISTS for SDBM_File for
+Storable use
=over 4
@@ -28622,8 +28839,7 @@ glue to provide EXISTS for SDBM_File for Storable use
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Memoize::Storable, Memoize::Storable -
-store Memoized data in Storable database
+=head2 Memoize::Storable - store Memoized data in Storable database
=over 4
@@ -28631,8 +28847,7 @@ store Memoized data in Storable database
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build, Module::Build - Build and
-install Perl modules
+=head2 Module::Build - Build and install Perl modules
=over 4
@@ -28690,8 +28905,7 @@ install_path, install_base, destdir, prefix
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::API, Module::Build::API -
-API Reference for Module Authors
+=head2 Module::Build::API - API Reference for Module Authors
=over 4
@@ -28774,8 +28988,7 @@ keywords, resources
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Authoring,
-Module::Build::Authoring - Authoring Module::Build modules
+=head2 Module::Build::Authoring - Authoring Module::Build modules
=over 4
@@ -28813,8 +29026,7 @@ configure_requires, build_requires, requires, recommends, conflicts
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Base, Module::Build::Base
-- Default methods for Module::Build
+=head2 Module::Build::Base - Default methods for Module::Build
=over 4
@@ -28830,8 +29042,8 @@ configure_requires, build_requires, requires, recommends, conflicts
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Bundling,
-Module::Build::Bundling - How to bundle Module::Build with a distribution
+=head2 Module::Build::Bundling - How to bundle Module::Build with a
+distribution
=over 4
@@ -28853,8 +29065,7 @@ Module::Build::Bundling - How to bundle Module::Build with a distribution
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Compat,
-Module::Build::Compat - Compatibility with ExtUtils::MakeMaker
+=head2 Module::Build::Compat - Compatibility with ExtUtils::MakeMaker
=over 4
@@ -28878,8 +29089,7 @@ makefile
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::ConfigData,
-Module::Build::ConfigData - Configuration for Module::Build
+=head2 Module::Build::ConfigData - Configuration for Module::Build
=over 4
@@ -28897,8 +29107,7 @@ auto_feature_names(), write()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Cookbook,
-Module::Build::Cookbook - Examples of Module::Build Usage
+=head2 Module::Build::Cookbook - Examples of Module::Build Usage
=over 4
@@ -28968,8 +29177,7 @@ to the testing, do I generate a test file
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::ModuleInfo,
-Module::Build::ModuleInfo - DEPRECATED
+=head2 Module::Build::ModuleInfo - DEPRECATED
=over 4
@@ -28979,8 +29187,8 @@ Module::Build::ModuleInfo - DEPRECATED
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Notes,
-Module::Build::Notes - Create persistent distribution configuration modules
+=head2 Module::Build::Notes - Create persistent distribution configuration
+modules
=over 4
@@ -28994,8 +29202,7 @@ Module::Build::Notes - Create persistent distribution configuration modules
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Notes, NOTES_NAME -
-Configuration for MODULE_NAME
+=head2 Module::Build::Notes, NOTES_NAME - Configuration for MODULE_NAME
=over 4
@@ -29013,8 +29220,7 @@ auto_feature_names(), write()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::PPMMaker,
-Module::Build::PPMMaker - Perl Package Manager file creation
+=head2 Module::Build::PPMMaker - Perl Package Manager file creation
=over 4
@@ -29030,8 +29236,7 @@ Module::Build::PPMMaker - Perl Package Manager file creation
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::Amiga,
-Module::Build::Platform::Amiga - Builder class for Amiga platforms
+=head2 Module::Build::Platform::Amiga - Builder class for Amiga platforms
=over 4
@@ -29043,8 +29248,7 @@ Module::Build::Platform::Amiga - Builder class for Amiga platforms
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::Default,
-Module::Build::Platform::Default - Stub class for unknown platforms
+=head2 Module::Build::Platform::Default - Stub class for unknown platforms
=over 4
@@ -29056,8 +29260,7 @@ Module::Build::Platform::Default - Stub class for unknown platforms
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::EBCDIC,
-Module::Build::Platform::EBCDIC - Builder class for EBCDIC platforms
+=head2 Module::Build::Platform::EBCDIC - Builder class for EBCDIC platforms
=over 4
@@ -29069,8 +29272,7 @@ Module::Build::Platform::EBCDIC - Builder class for EBCDIC platforms
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::MPEiX,
-Module::Build::Platform::MPEiX - Builder class for MPEiX platforms
+=head2 Module::Build::Platform::MPEiX - Builder class for MPEiX platforms
=over 4
@@ -29082,8 +29284,7 @@ Module::Build::Platform::MPEiX - Builder class for MPEiX platforms
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::MacOS,
-Module::Build::Platform::MacOS - Builder class for MacOS platforms
+=head2 Module::Build::Platform::MacOS - Builder class for MacOS platforms
=over 4
@@ -29103,8 +29304,7 @@ new(), make_executable(), dispatch(), ACTION_realclean()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::RiscOS,
-Module::Build::Platform::RiscOS - Builder class for RiscOS platforms
+=head2 Module::Build::Platform::RiscOS - Builder class for RiscOS platforms
=over 4
@@ -29116,8 +29316,7 @@ Module::Build::Platform::RiscOS - Builder class for RiscOS platforms
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::Unix,
-Module::Build::Platform::Unix - Builder class for Unix platforms
+=head2 Module::Build::Platform::Unix - Builder class for Unix platforms
=over 4
@@ -29129,8 +29328,7 @@ Module::Build::Platform::Unix - Builder class for Unix platforms
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::VMS,
-Module::Build::Platform::VMS - Builder class for VMS platforms
+=head2 Module::Build::Platform::VMS - Builder class for VMS platforms
=over 4
@@ -29194,8 +29392,7 @@ ACTION_clean
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::VOS,
-Module::Build::Platform::VOS - Builder class for VOS platforms
+=head2 Module::Build::Platform::VOS - Builder class for VOS platforms
=over 4
@@ -29207,8 +29404,8 @@ Module::Build::Platform::VOS - Builder class for VOS platforms
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::Windows,
-Module::Build::Platform::Windows - Builder class for Windows platforms
+=head2 Module::Build::Platform::Windows - Builder class for Windows
+platforms
=over 4
@@ -29220,8 +29417,7 @@ Module::Build::Platform::Windows - Builder class for Windows platforms
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::aix,
-Module::Build::Platform::aix - Builder class for AIX platform
+=head2 Module::Build::Platform::aix - Builder class for AIX platform
=over 4
@@ -29233,8 +29429,7 @@ Module::Build::Platform::aix - Builder class for AIX platform
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::cygwin,
-Module::Build::Platform::cygwin - Builder class for Cygwin platform
+=head2 Module::Build::Platform::cygwin - Builder class for Cygwin platform
=over 4
@@ -29246,8 +29441,8 @@ Module::Build::Platform::cygwin - Builder class for Cygwin platform
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::darwin,
-Module::Build::Platform::darwin - Builder class for Mac OS X platform
+=head2 Module::Build::Platform::darwin - Builder class for Mac OS X
+platform
=over 4
@@ -29259,8 +29454,7 @@ Module::Build::Platform::darwin - Builder class for Mac OS X platform
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Platform::os2,
-Module::Build::Platform::os2 - Builder class for OS/2 platform
+=head2 Module::Build::Platform::os2 - Builder class for OS/2 platform
=over 4
@@ -29272,8 +29466,7 @@ Module::Build::Platform::os2 - Builder class for OS/2 platform
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::Version,
-Module::Build::Version - DEPRECATED
+=head2 Module::Build::Version - DEPRECATED
=over 4
@@ -29281,8 +29474,7 @@ Module::Build::Version - DEPRECATED
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Build::YAML, Module::Build::YAML
-- DEPRECATED
+=head2 Module::Build::YAML - DEPRECATED
=over 4
@@ -29290,8 +29482,7 @@ Module::Build::Version - DEPRECATED
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::CoreList, Module::CoreList -
-what modules shipped with versions of perl
+=head2 Module::CoreList - what modules shipped with versions of perl
=over 4
@@ -29304,7 +29495,8 @@ what modules shipped with versions of perl
C<first_release( MODULE )>, C<first_release_by_date( MODULE )>,
C<find_modules( REGEX, [ LIST OF PERLS ] )>, C<find_version( PERL_VERSION
)>, C<is_deprecated( MODULE, PERL_VERSION )>, C<removed_from( MODULE )>,
-C<removed_from_by_date( MODULE )>
+C<removed_from_by_date( MODULE )>, C<changes_between( PERL_VERSION,
+PERL_VERSION )>
=item DATA STRUCTURES
@@ -29324,8 +29516,7 @@ C<%Module::CoreList::upstream>, C<%Module::CoreList::bug_tracker>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Load, Module::Load - runtime
-require of both modules and files
+=head2 Module::Load - runtime require of both modules and files
=over 4
@@ -29347,9 +29538,8 @@ require of both modules and files
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Load::Conditional,
-Module::Load::Conditional - Looking up module information / loading at
-runtime
+=head2 Module::Load::Conditional - Looking up module information / loading
+at runtime
=over 4
@@ -29415,8 +29605,7 @@ modules, verbose, nocache
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Loaded, Module::Loaded - mark
-modules as loaded or unloaded
+=head2 Module::Loaded - mark modules as loaded or unloaded
=over 4
@@ -29456,19 +29645,37 @@ modules as loaded or unloaded
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Metadata, Module::Metadata -
-Gather package and POD information from perl module files
+=head2 Module::Metadata - Gather package and POD information from perl
+module files
=over 4
+=item SYNOPSIS
+
=item DESCRIPTION
-new_from_file($filename, collect_pod => 1), new_from_module($module,
-collect_pod => 1, inc => \@dirs), name(), version($package), filename(),
-packages_inside(), pod_inside(), contains_pod(), pod($section),
-find_module_by_name($module, \@dirs), find_module_dir_by_name($module,
-\@dirs), package_versions_from_directory($dir, \@files?), log_info
-(internal)
+=item USAGE
+
+=over 4
+
+=item Class methods
+
+C<< new_from_file($filename, collect_pod => 1) >>, C<<
+new_from_handle($handle, $filename, collect_pod => 1) >>, C<<
+new_from_module($module, collect_pod => 1, inc => \@dirs) >>, C<<
+find_module_by_name($module, \@dirs) >>, C<<
+find_module_dir_by_name($module, \@dirs) >>, C<< provides( %options ) >>,
+version B<(required)>, dir, files, prefix, C<<
+package_versions_from_directory($dir, \@files?) >>, C<< log_info (internal)
+>>
+
+=item Object methods
+
+C<< name() >>, C<< version($package) >>, C<< filename() >>, C<<
+packages_inside() >>, C<< pod_inside() >>, C<< contains_pod() >>, C<<
+pod($section) >>
+
+=back
=item AUTHOR
@@ -29476,8 +29683,8 @@ find_module_by_name($module, \@dirs), find_module_dir_by_name($module,
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Pluggable, Module::Pluggable -
-automatically give your module the ability to have plugins
+=head2 Module::Pluggable - automatically give your module the ability to
+have plugins
=over 4
@@ -29539,9 +29746,8 @@ automatically give your module the ability to have plugins
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Module::Pluggable::Object,
-Module::Pluggable::Object - automatically give your module the ability to
-have plugins
+=head2 Module::Pluggable::Object - automatically give your module the
+ability to have plugins
=over 4
@@ -29561,8 +29767,8 @@ have plugins
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::NEXT, NEXT.pm - Provide a pseudo-class
-NEXT (et al) that allows method redispatch
+=head2 NEXT - Provide a pseudo-class NEXT (et al) that allows method
+redispatch
=over 4
@@ -29590,8 +29796,7 @@ NEXT (et al) that allows method redispatch
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Net::Cmd, Net::Cmd - Network Command
-class (as used by FTP, SMTP etc)
+=head2 Net::Cmd - Network Command class (as used by FTP, SMTP etc)
=over 4
@@ -29618,8 +29823,7 @@ ungetline ( TEXT ), rawdatasend ( DATA ), read_until_dot (), tied_fh ()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Net::Config, Net::Config - Local
-configuration data for libnet
+=head2 Net::Config - Local configuration data for libnet
=over 4
@@ -29639,8 +29843,8 @@ ftp_int_passive, local_netmask, test_hosts, test_exists
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Net::Domain, Net::Domain - Attempt to
-evaluate the current host's internet name and domain
+=head2 Net::Domain - Attempt to evaluate the current host's internet name
+and domain
=over 4
@@ -29656,7 +29860,7 @@ hostfqdn (), domainname (), hostname (), hostdomain ()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Net::FTP, Net::FTP - FTP Client class
+=head2 Net::FTP - FTP Client class
=over 4
@@ -29719,7 +29923,7 @@ http://www.csh.rit.edu/~adam/Progs/
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Net::NNTP, Net::NNTP - NNTP Client class
+=head2 Net::NNTP - NNTP Client class
=over 4
@@ -29767,8 +29971,7 @@ MESSAGE-SPEC, PATTERN, Examples, C<[^]-]>, C<*bdc>, C<[0-9a-zA-Z]>, C<a??d>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Net::Netrc, Net::Netrc - OO interface to
-users netrc file
+=head2 Net::Netrc - OO interface to users netrc file
=over 4
@@ -29797,8 +30000,7 @@ login (), password (), account (), lpa ()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Net::POP3, Net::POP3 - Post Office
-Protocol 3 Client class (RFC1939)
+=head2 Net::POP3 - Post Office Protocol 3 Client class (RFC1939)
=over 4
@@ -29828,8 +30030,7 @@ auth ( USERNAME, PASSWORD ), user ( USER ), pass ( PASS ), login ( [ USER
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Net::Ping, Net::Ping - check a remote
-host for reachability
+=head2 Net::Ping - check a remote host for reachability
=over 4
@@ -29862,8 +30063,7 @@ $p->port_number([$port_number]), pingecho($host [, $timeout]);
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Net::SMTP, Net::SMTP - Simple Mail
-Transfer Protocol Client
+=head2 Net::SMTP - Simple Mail Transfer Protocol Client
=over 4
@@ -29897,8 +30097,7 @@ $subject ] ), quit ()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Net::Time, Net::Time - time and daytime
-network client interface
+=head2 Net::Time - time and daytime network client interface
=over 4
@@ -29915,8 +30114,8 @@ PROTOCOL [, TIMEOUT]]])
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Net::hostent, Net::hostent - by-name
-interface to Perl's built-in gethost*() functions
+=head2 Net::hostent - by-name interface to Perl's built-in gethost*()
+functions
=over 4
@@ -29932,8 +30131,7 @@ interface to Perl's built-in gethost*() functions
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Net::libnetFAQ, libnetFAQ - libnet
-Frequently Asked Questions
+=head2 Net::libnetFAQ, libnetFAQ - libnet Frequently Asked Questions
=over 4
@@ -30034,8 +30232,8 @@ hostname ?
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Net::netent, Net::netent - by-name
-interface to Perl's built-in getnet*() functions
+=head2 Net::netent - by-name interface to Perl's built-in getnet*()
+functions
=over 4
@@ -30051,8 +30249,8 @@ interface to Perl's built-in getnet*() functions
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Net::protoent, Net::protoent - by-name
-interface to Perl's built-in getproto*() functions
+=head2 Net::protoent - by-name interface to Perl's built-in getproto*()
+functions
=over 4
@@ -30066,8 +30264,8 @@ interface to Perl's built-in getproto*() functions
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Net::servent, Net::servent - by-name
-interface to Perl's built-in getserv*() functions
+=head2 Net::servent - by-name interface to Perl's built-in getserv*()
+functions
=over 4
@@ -30083,8 +30281,7 @@ interface to Perl's built-in getserv*() functions
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::O, O - Generic interface to Perl
-Compiler backends
+=head2 O - Generic interface to Perl Compiler backends
=over 4
@@ -30102,8 +30299,7 @@ Compiler backends
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Object::Accessor, Object::Accessor -
-interface to create per object accessors
+=head2 Object::Accessor - interface to create per object accessors
=over 4
@@ -30238,8 +30434,7 @@ Allow handlers, Callbacks
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Opcode, Opcode - Disable named opcodes
-when compiling perl code
+=head2 Opcode - Disable named opcodes when compiling perl code
=over 4
@@ -30284,8 +30479,7 @@ opdump (PAT)
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::POSIX, POSIX - Perl interface to IEEE
-Std 1003.1
+=head2 POSIX - Perl interface to IEEE Std 1003.1
=over 4
@@ -30293,8 +30487,6 @@ Std 1003.1
=item DESCRIPTION
-=item NOTE
-
=item CAVEATS
=item FUNCTIONS
@@ -30419,8 +30611,7 @@ WTERMSIG, WIFSTOPPED, WSTOPSIG
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Package::Constants, Package::Constants -
-List all constants declared in a package
+=head2 Package::Constants - List all constants declared in a package
=over 4
@@ -30460,8 +30651,7 @@ List all constants declared in a package
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Params::Check, Params::Check - A generic
-input parsing/checking mechanism.
+=head2 Params::Check - A generic input parsing/checking mechanism.
=over 4
@@ -30537,8 +30727,7 @@ string, regexp, subroutine, array ref
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Parse::CPAN::Meta, Parse::CPAN::Meta -
-Parse META.yml and META.json CPAN metadata files
+=head2 Parse::CPAN::Meta - Parse META.yml and META.json CPAN metadata files
=over 4
@@ -30590,8 +30779,7 @@ Parse META.yml and META.json CPAN metadata files
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Perl::OSType, Perl::OSType - Map Perl
-operating system names to generic types
+=head2 Perl::OSType - Map Perl operating system names to generic types
=over 4
@@ -30619,8 +30807,8 @@ operating system names to generic types
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::PerlIO, PerlIO - On demand loader for
-PerlIO layers and root of PerlIO::* name space
+=head2 PerlIO - On demand loader for PerlIO layers and root of PerlIO::*
+name space
=over 4
@@ -30628,13 +30816,13 @@ PerlIO layers and root of PerlIO::* name space
=item DESCRIPTION
-:unix, :stdio, :perlio, :crlf, :mmap, :utf8, :bytes, :raw, :pop, :win32
+:unix, :stdio, :perlio, :crlf, :utf8, :bytes, :raw, :pop, :win32
=over 4
=item Custom Layers
-:encoding, :via
+:encoding, :mmap, :via
=item Alternatives to raw
@@ -30650,8 +30838,7 @@ PerlIO layers and root of PerlIO::* name space
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::PerlIO::encoding, PerlIO::encoding -
-encoding layer
+=head2 PerlIO::encoding - encoding layer
=over 4
@@ -30663,8 +30850,19 @@ encoding layer
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::PerlIO::scalar, PerlIO::scalar -
-in-memory IO, scalar IO
+=head2 PerlIO::mmap - Memory mapped IO
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item IMPLEMENTATION NOTE
+
+=back
+
+=head2 PerlIO::scalar - in-memory IO, scalar IO
=over 4
@@ -30676,8 +30874,7 @@ in-memory IO, scalar IO
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::PerlIO::via, PerlIO::via - Helper class
-for PerlIO layers implemented in perl
+=head2 PerlIO::via - Helper class for PerlIO layers implemented in perl
=over 4
@@ -30688,7 +30885,7 @@ for PerlIO layers implemented in perl
=item EXPECTED METHODS
$class->PUSHED([$mode,[$fh]]), $obj->POPPED([$fh]),
-$obj->UTF8($bellowFlag,[$fh]), $obj->OPEN($path,$mode,[$fh]),
+$obj->UTF8($belowFlag,[$fh]), $obj->OPEN($path,$mode,[$fh]),
$obj->BINMODE([$fh]), $obj->FDOPEN($fd,[$fh]),
$obj->SYSOPEN($path,$imode,$perm,[$fh]), $obj->FILENO($fh),
$obj->READ($buffer,$len,$fh), $obj->WRITE($buffer,$fh), $obj->FILL($fh),
@@ -30706,8 +30903,7 @@ $obj->CLEARERR($fh), $obj->ERROR($fh), $obj->EOF($fh)
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::PerlIO::via::QuotedPrint,
-PerlIO::via::QuotedPrint - PerlIO layer for quoted-printable strings
+=head2 PerlIO::via::QuotedPrint - PerlIO layer for quoted-printable strings
=over 4
@@ -30725,8 +30921,7 @@ PerlIO::via::QuotedPrint - PerlIO layer for quoted-printable strings
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Checker, Pod::Checker, podchecker()
-- check pod documents for syntax errors
+=head2 Pod::Checker, podchecker() - check pod documents for syntax errors
=over 4
@@ -30753,12 +30948,12 @@ B<-warnings> =E<gt> I<val>
empty =headn, =over on line I<N> without closing =back, =item without
previous =over, =back without previous =over, No argument for =begin, =end
without =begin, Nested =begin's, =for without formatter specification,
-unresolved internal link I<NAME>, Unknown command "I<CMD>", Unknown
-interior-sequence "I<SEQ>", nested commands
-I<CMD>E<lt>...I<CMD>E<lt>...E<gt>...E<gt>, garbled entity I<STRING>, Entity
-number out of range, malformed link LE<lt>E<gt>, nonempty ZE<lt>E<gt>,
-empty XE<lt>E<gt>, Spurious text after =pod / =cut, Spurious character(s)
-after =back
+Apparent command =foo not preceded by blank line, unresolved internal link
+I<NAME>, Unknown command "I<CMD>", Unknown interior-sequence "I<SEQ>",
+nested commands I<CMD>E<lt>...I<CMD>E<lt>...E<gt>...E<gt>, garbled entity
+I<STRING>, Entity number out of range, malformed link LE<lt>E<gt>, nonempty
+ZE<lt>E<gt>, empty XE<lt>E<gt>, Spurious text after =pod / =cut, Spurious
+=cut command, Spurious =pod command, Spurious character(s) after =back
=item Warnings
@@ -30808,8 +31003,7 @@ C<$checker-E<gt>hyperlink()>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Escapes, Pod::Escapes -- for
-resolving Pod EE<lt>...E<gt> sequences
+=head2 Pod::Escapes -- for resolving Pod EE<lt>...E<gt> sequences
=over 4
@@ -30833,8 +31027,7 @@ $Latin1Char_to_fallback{I<character>}, $Code2USASCII{I<integer>}
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Find, Pod::Find - find POD
-documents in directory trees
+=head2 Pod::Find - find POD documents in directory trees
=over 4
@@ -30882,23 +31075,7 @@ C<-inc =E<gt> 1>, C<-dirs =E<gt> [ $dir1, $dir2, ... ]>, C<-verbose =E<gt>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Functions, Pod::Functions - Group
-Perl's functions a la perlfunc.pod
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-%Kinds, %Type, %Flavor, %Type_Description, @Type_Order
-
-=item CHANGES
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Html, Pod::Html - module to convert
-pod files to HTML
+=head2 Pod::Html - module to convert pod files to HTML
=over 4
@@ -30912,9 +31089,9 @@ pod files to HTML
=item pod2html
-backlink, cachedir, css, flush, header, help, hiddendirs, htmldir,
-htmlroot, index, infile, libpods, netscape, outfile, podpath, podroot,
-quiet, recurse, title, verbose
+backlink, cachedir, css, flush, header, help, htmldir, htmlroot, index,
+infile, outfile, poderrors, podpath, podroot, quiet, recurse, title,
+verbose
=item htmlify
@@ -30932,8 +31109,8 @@ quiet, recurse, title, verbose
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::InputObjects, Pod::InputObjects -
-objects representing POD input paragraphs, commands, etc.
+=head2 Pod::InputObjects - objects representing POD input paragraphs,
+commands, etc.
=over 4
@@ -31162,8 +31339,7 @@ B<Pod::InteriorSequence>, package B<Pod::ParseTree>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::LaTeX, Pod::LaTeX - Convert Pod
-data to formatted Latex
+=head2 Pod::LaTeX - Convert Pod data to formatted Latex
=over 4
@@ -31285,8 +31461,7 @@ B<_split_delimited>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Man, Pod::Man - Convert POD data to
-formatted *roff input
+=head2 Pod::Man - Convert POD data to formatted *roff input
=over 4
@@ -31314,8 +31489,7 @@ roff font should be 1 or 2 chars, not "%s", Invalid quote specification
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::ParseLink, Pod::ParseLink - Parse
-an LE<lt>E<gt> formatting code in POD text
+=head2 Pod::ParseLink - Parse an LE<lt>E<gt> formatting code in POD text
=over 4
@@ -31331,8 +31505,7 @@ an LE<lt>E<gt> formatting code in POD text
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::ParseUtils, Pod::ParseUtils -
-helpers for POD parsing and conversion
+=head2 Pod::ParseUtils - helpers for POD parsing and conversion
=over 4
@@ -31436,8 +31609,7 @@ $cacheitem-E<gt>idx()
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Parser, Pod::Parser - base class
-for creating POD filters and translators
+=head2 Pod::Parser - base class for creating POD filters and translators
=over 4
@@ -31680,8 +31852,7 @@ I<code-ref>|I<method-name>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc, Pod::Perldoc - Look up
-Perl documentation in Pod format.
+=head2 Pod::Perldoc - Look up Perl documentation in Pod format.
=over 4
@@ -31697,8 +31868,7 @@ Perl documentation in Pod format.
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::BaseTo,
-Pod::Perldoc::BaseTo - Base for Pod::Perldoc formatters
+=head2 Pod::Perldoc::BaseTo - Base for Pod::Perldoc formatters
=over 4
@@ -31714,8 +31884,7 @@ Pod::Perldoc::BaseTo - Base for Pod::Perldoc formatters
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::GetOptsOO,
-Pod::Perldoc::GetOptsOO - Customized option parser for Pod::Perldoc
+=head2 Pod::Perldoc::GetOptsOO - Customized option parser for Pod::Perldoc
=over 4
@@ -31723,6 +31892,15 @@ Pod::Perldoc::GetOptsOO - Customized option parser for Pod::Perldoc
=item DESCRIPTION
+Call Pod::Perldoc::GetOptsOO::getopts($object, \@ARGV, $truth), Given -n,
+if there's a opt_n_with, it'll call $object->opt_n_with( ARGUMENT )
+(e.g., "-n foo" => $object->opt_n_with('foo'). Ditto "-nfoo"), Otherwise
+(given -n) if there's an opt_n, we'll call it $object->opt_n($truth)
+(Truth defaults to 1), Otherwise we try calling
+$object->handle_unknown_option('n') (and we increment the error count by
+the return value of it), If there's no handle_unknown_option, then we just
+warn, and then increment the error counter
+
=item SEE ALSO
=item COPYRIGHT AND DISCLAIMERS
@@ -31731,8 +31909,7 @@ Pod::Perldoc::GetOptsOO - Customized option parser for Pod::Perldoc
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::ToChecker,
-Pod::Perldoc::ToChecker - let Perldoc check Pod for errors
+=head2 Pod::Perldoc::ToANSI - render Pod with ANSI color escapes
=over 4
@@ -31740,6 +31917,8 @@ Pod::Perldoc::ToChecker - let Perldoc check Pod for errors
=item DESCRIPTION
+=item CAVEAT
+
=item SEE ALSO
=item COPYRIGHT AND DISCLAIMERS
@@ -31748,8 +31927,23 @@ Pod::Perldoc::ToChecker - let Perldoc check Pod for errors
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::ToMan, Pod::Perldoc::ToMan
-- let Perldoc render Pod as man pages
+=head2 Pod::Perldoc::ToChecker - let Perldoc check Pod for errors
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item SEE ALSO
+
+=item COPYRIGHT AND DISCLAIMERS
+
+=item AUTHOR
+
+=back
+
+=head2 Pod::Perldoc::ToMan - let Perldoc render Pod as man pages
=over 4
@@ -31767,8 +31961,7 @@ Pod::Perldoc::ToChecker - let Perldoc check Pod for errors
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::ToNroff,
-Pod::Perldoc::ToNroff - let Perldoc convert Pod to nroff
+=head2 Pod::Perldoc::ToNroff - let Perldoc convert Pod to nroff
=over 4
@@ -31786,8 +31979,7 @@ Pod::Perldoc::ToNroff - let Perldoc convert Pod to nroff
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::ToPod, Pod::Perldoc::ToPod
-- let Perldoc render Pod as ... Pod!
+=head2 Pod::Perldoc::ToPod - let Perldoc render Pod as ... Pod!
=over 4
@@ -31803,8 +31995,7 @@ Pod::Perldoc::ToNroff - let Perldoc convert Pod to nroff
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::ToRtf, Pod::Perldoc::ToRtf
-- let Perldoc render Pod as RTF
+=head2 Pod::Perldoc::ToRtf - let Perldoc render Pod as RTF
=over 4
@@ -31820,8 +32011,7 @@ Pod::Perldoc::ToNroff - let Perldoc convert Pod to nroff
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::ToText,
-Pod::Perldoc::ToText - let Perldoc render Pod as plaintext
+=head2 Pod::Perldoc::ToTerm - render Pod with terminal escapes
=over 4
@@ -31839,8 +32029,7 @@ Pod::Perldoc::ToText - let Perldoc render Pod as plaintext
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::ToTk, Pod::Perldoc::ToTk -
-let Perldoc use Tk::Pod to render Pod
+=head2 Pod::Perldoc::ToText - let Perldoc render Pod as plaintext
=over 4
@@ -31848,14 +32037,31 @@ let Perldoc use Tk::Pod to render Pod
=item DESCRIPTION
+=item CAVEAT
+
=item SEE ALSO
+=item COPYRIGHT AND DISCLAIMERS
+
=item AUTHOR
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Perldoc::ToXml, Pod::Perldoc::ToXml
-- let Perldoc render Pod as XML
+=head2 Pod::Perldoc::ToTk - let Perldoc use Tk::Pod to render Pod
+
+=over 4
+
+=item SYNOPSIS
+
+=item DESCRIPTION
+
+=item SEE ALSO
+
+=item AUTHOR
+
+=back
+
+=head2 Pod::Perldoc::ToXml - let Perldoc render Pod as XML
=over 4
@@ -31871,8 +32077,7 @@ let Perldoc use Tk::Pod to render Pod
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::PlainText, Pod::PlainText - Convert
-POD data to formatted ASCII text
+=head2 Pod::PlainText - Convert POD data to formatted ASCII text
=over 4
@@ -31897,8 +32102,8 @@ Unknown sequence: %s, Unmatched =back
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Select, Pod::Select, podselect() -
-extract selected sections of POD from input
+=head2 Pod::Select, podselect() - extract selected sections of POD from
+input
=over 4
@@ -32004,8 +32209,7 @@ B<-output>, B<-sections>, B<-ranges>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple, Pod::Simple - framework for
-parsing Pod
+=head2 Pod::Simple - framework for parsing Pod
=over 4
@@ -32032,6 +32236,32 @@ $parser->source_filename >>, C<< $parser->doc_has_started >>, C<<
$parser->source_dead >>, C<< $parser->strip_verbatim_indent( I<SOMEVALUE> )
>>
+=item TERTIARY METHODS
+
+C<< $parser->abandon_output_fh() >>X<abandon_output_fh>, C<<
+$parser->abandon_output_string() >>X<abandon_output_string>, C<<
+$parser->accept_code( @codes ) >>X<accept_code>, C<< $parser->accept_codes(
+@codes ) >>X<accept_codes>, C<< $parser->accept_directive_as_data(
+@directives ) >>X<accept_directive_as_data>, C<<
+$parser->accept_directive_as_processed( @directives )
+>>X<accept_directive_as_processed>, C<<
+$parser->accept_directive_as_verbatim( @directives )
+>>X<accept_directive_as_verbatim>, C<< $parser->accept_target( @targets )
+>>X<accept_target>, C<< $parser->accept_target_as_text( @targets )
+>>X<accept_target_as_text>, C<< $parser->accept_targets( @targets )
+>>X<accept_targets>, C<< $parser->accept_targets_as_text( @targets )
+>>X<accept_targets_as_text>, C<< $parser->any_errata_seen()
+>>X<any_errata_seen>, C<< $parser->parse_from_file( $source, $to )
+>>X<parse_from_file>, C<< $parser->scream( @error_messages ) >>X<scream>,
+C<< $parser->unaccept_code( @codes ) >>X<unaccept_code>, C<<
+$parser->unaccept_codes( @codes ) >>X<unaccept_codes>, C<<
+$parser->unaccept_directive( @directives ) >>X<unaccept_directive>, C<<
+$parser->unaccept_directives( @directives ) >>X<unaccept_directives>, C<<
+$parser->unaccept_target( @targets ) >>X<unaccept_target>, C<<
+$parser->unaccept_targets( @targets ) >>X<unaccept_targets>, C<<
+$parser->version_report() >>X<version_report>, C<< $parser->whine(
+@error_messages ) >>X<whine>
+
=item CAVEATS
=item SEE ALSO
@@ -32043,12 +32273,12 @@ $parser->source_dead >>, C<< $parser->strip_verbatim_indent( I<SOMEVALUE> )
=item AUTHOR
Allison Randal C<allison@perl.org>, Hans Dieter Pearcey C<hdp@cpan.org>,
-David E. Wheeler C<dwheeler@cpan.org>
+David E. Wheeler C<dwheeler@cpan.org>, Gabor Szabo C<szabgab@gmail.com>,
+Shawn H Corey C<SHCOREY at cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::Checker,
-Pod::Simple::Checker -- check the Pod syntax of a document
+=head2 Pod::Simple::Checker -- check the Pod syntax of a document
=over 4
@@ -32069,8 +32299,7 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::Debug, Pod::Simple::Debug
--- put Pod::Simple into trace/debug mode
+=head2 Pod::Simple::Debug -- put Pod::Simple into trace/debug mode
=over 4
@@ -32095,8 +32324,7 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::DumpAsText,
-Pod::Simple::DumpAsText -- dump Pod-parsing events as text
+=head2 Pod::Simple::DumpAsText -- dump Pod-parsing events as text
=over 4
@@ -32117,8 +32345,7 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::DumpAsXML,
-Pod::Simple::DumpAsXML -- turn Pod into XML
+=head2 Pod::Simple::DumpAsXML -- turn Pod into XML
=over 4
@@ -32139,8 +32366,7 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::HTML, Pod::Simple::HTML -
-convert Pod to HTML
+=head2 Pod::Simple::HTML - convert Pod to HTML
=over 4
@@ -32201,8 +32427,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::HTMLBatch,
-Pod::Simple::HTMLBatch - convert several Pod files to several HTML files
+=head2 Pod::Simple::HTMLBatch - convert several Pod files to several HTML
+files
=over 4
@@ -32259,8 +32485,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::LinkSection,
-Pod::Simple::LinkSection -- represent "section" attributes of L codes
+=head2 Pod::Simple::LinkSection -- represent "section" attributes of L
+codes
=over 4
@@ -32281,8 +32507,7 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::Methody,
-Pod::Simple::Methody -- turn Pod::Simple events into method calls
+=head2 Pod::Simple::Methody -- turn Pod::Simple events into method calls
=over 4
@@ -32305,8 +32530,7 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::PullParser,
-Pod::Simple::PullParser -- a pull-parser interface to parsing Pod
+=head2 Pod::Simple::PullParser -- a pull-parser interface to parsing Pod
=over 4
@@ -32342,8 +32566,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::PullParserEndToken,
-Pod::Simple::PullParserEndToken -- end-tokens from Pod::Simple::PullParser
+=head2 Pod::Simple::PullParserEndToken -- end-tokens from
+Pod::Simple::PullParser
=over 4
@@ -32367,8 +32591,7 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::PullParserStartToken,
-Pod::Simple::PullParserStartToken -- start-tokens from
+=head2 Pod::Simple::PullParserStartToken -- start-tokens from
Pod::Simple::PullParser
=over 4
@@ -32397,8 +32620,7 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::PullParserTextToken,
-Pod::Simple::PullParserTextToken -- text-tokens from
+=head2 Pod::Simple::PullParserTextToken -- text-tokens from
Pod::Simple::PullParser
=over 4
@@ -32422,8 +32644,7 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::PullParserToken,
-Pod::Simple::PullParserToken -- tokens from Pod::Simple::PullParser
+=head2 Pod::Simple::PullParserToken -- tokens from Pod::Simple::PullParser
=over 4
@@ -32447,8 +32668,7 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::RTF, Pod::Simple::RTF --
-format Pod as RTF
+=head2 Pod::Simple::RTF -- format Pod as RTF
=over 4
@@ -32481,8 +32701,7 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::Search, Pod::Simple::Search
-- find POD documents in directory trees
+=head2 Pod::Simple::Search - find POD documents in directory trees
=over 4
@@ -32529,8 +32748,7 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::SimpleTree,
-Pod::Simple::SimpleTree -- parse Pod into a simple parse tree
+=head2 Pod::Simple::SimpleTree -- parse Pod into a simple parse tree
=over 4
@@ -32555,8 +32773,8 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::Subclassing,
-Pod::Simple::Subclassing -- write a formatter as a Pod::Simple subclass
+=head2 Pod::Simple::Subclassing -- write a formatter as a Pod::Simple
+subclass
=over 4
@@ -32576,9 +32794,10 @@ element_name of E or Z, events with an element_name of Verbatim, events
with an element_name of head1 .. head4, events with an element_name of
over-bullet, events with an element_name of over-number, events with an
element_name of over-text, events with an element_name of over-block,
-events with an element_name of item-bullet, events with an element_name of
-item-number, events with an element_name of item-text, events with an
-element_name of for, events with an element_name of Data
+events with an element_name of over-empty, events with an element_name of
+item-bullet, events with an element_name of item-number, events with an
+element_name of item-text, events with an element_name of for, events with
+an element_name of Data
=item More Pod::Simple Methods
@@ -32592,13 +32811,16 @@ $parser->nbsp_for_S( I<BOOLEAN> ); >>, C<< $parser->version_report() >>,
C<< $parser->pod_para_count() >>, C<< $parser->line_count() >>, C<<
$parser->nix_X_codes( I<SOMEVALUE> ) >>, C<< $parser->merge_text(
I<SOMEVALUE> ) >>, C<< $parser->code_handler( I<CODE_REF> ) >>, C<<
-$parser->cut_handler( I<CODE_REF> ) >>, C<< $parser->whine(
-I<linenumber>, I<complaint string> ) >>, C<< $parser->scream(
-I<linenumber>, I<complaint string> ) >>, C<< $parser->source_dead(1) >>,
-C<< $parser->hide_line_numbers( I<SOMEVALUE> ) >>, C<< $parser->no_whining(
-I<SOMEVALUE> ) >>, C<< $parser->no_errata_section( I<SOMEVALUE> ) >>, C<<
+$parser->cut_handler( I<CODE_REF> ) >>, C<< $parser->pod_handler(
+I<CODE_REF> ) >>, C<< $parser->whiteline_handler( I<CODE_REF> ) >>, C<<
+$parser->whine( I<linenumber>, I<complaint string> ) >>, C<<
+$parser->scream( I<linenumber>, I<complaint string> ) >>, C<<
+$parser->source_dead(1) >>, C<< $parser->hide_line_numbers( I<SOMEVALUE> )
+>>, C<< $parser->no_whining( I<SOMEVALUE> ) >>, C<<
+$parser->no_errata_section( I<SOMEVALUE> ) >>, C<<
$parser->complain_stderr( I<SOMEVALUE> ) >>, C<< $parser->bare_output(
-I<SOMEVALUE> ) >>, C<< $parser->preserve_whitespace( I<SOMEVALUE> ) >>
+I<SOMEVALUE> ) >>, C<< $parser->preserve_whitespace( I<SOMEVALUE> ) >>, C<<
+$parser->parse_empty_lists( I<SOMEVALUE> ) >>
=item SEE ALSO
@@ -32613,8 +32835,7 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::Text, Pod::Simple::Text --
-format Pod as plaintext
+=head2 Pod::Simple::Text -- format Pod as plaintext
=over 4
@@ -32635,8 +32856,7 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::TextContent,
-Pod::Simple::TextContent -- get the text content of Pod
+=head2 Pod::Simple::TextContent -- get the text content of Pod
=over 4
@@ -32657,8 +32877,7 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::XHTML, Pod::Simple::XHTML
--- format Pod as validating XHTML
+=head2 Pod::Simple::XHTML -- format Pod as validating XHTML
=over 4
@@ -32710,6 +32929,10 @@ David E. Wheeler C<dwheeler@cpan.org>
=item index
+=item anchor_items
+
+=item backlink
+
=back
=back
@@ -32769,8 +32992,7 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Simple::XMLOutStream,
-Pod::Simple::XMLOutStream -- turn Pod into XML
+=head2 Pod::Simple::XMLOutStream -- turn Pod into XML
=over 4
@@ -32797,8 +33019,7 @@ David E. Wheeler C<dwheeler@cpan.org>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Text, Pod::Text - Convert POD data
-to formatted ASCII text
+=head2 Pod::Text - Convert POD data to formatted ASCII text
=over 4
@@ -32827,8 +33048,7 @@ Bizarre space in item, Item called without tag, Can't open %s for reading:
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Text::Color, Pod::Text::Color -
-Convert POD data to formatted color ASCII text
+=head2 Pod::Text::Color - Convert POD data to formatted color ASCII text
=over 4
@@ -32846,7 +33066,7 @@ Convert POD data to formatted color ASCII text
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Text::Overstrike, =for stopwords
+=head2 Pod::Text::Overstrike, =for stopwords
overstrike
=over 4
@@ -32865,8 +33085,8 @@ overstrike
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Text::Termcap, Pod::Text::Termcap -
-Convert POD data to ASCII text with format escapes
+=head2 Pod::Text::Termcap - Convert POD data to ASCII text with format
+escapes
=over 4
@@ -32884,8 +33104,8 @@ Convert POD data to ASCII text with format escapes
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Pod::Usage, Pod::Usage, pod2usage() -
-print a usage message from embedded pod documentation
+=head2 Pod::Usage, pod2usage() - print a usage message from embedded pod
+documentation
=over 4
@@ -32896,6 +33116,12 @@ print a usage message from embedded pod documentation
C<-message>, C<-msg>, C<-exitval>, C<-verbose>, C<-sections>, C<-output>,
C<-input>, C<-pathlist>, C<-noperldoc>
+=over 4
+
+=item Pass-through options
+
+=back
+
=item DESCRIPTION
=item EXAMPLES
@@ -32916,8 +33142,7 @@ C<-input>, C<-pathlist>, C<-noperldoc>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::SDBM_File, SDBM_File - Tied access to
-sdbm files
+=head2 SDBM_File - Tied access to sdbm files
=over 4
@@ -32939,8 +33164,7 @@ C<O_RDONLY>, C<O_WRONLY>, C<O_RDWR>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Safe, Safe - Compile and execute code in
-restricted compartments
+=head2 Safe - Compile and execute code in restricted compartments
=over 4
@@ -32996,8 +33220,7 @@ Memory, CPU, Snooping, Signals, State Changes
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Scalar::Util, Scalar::Util - A selection
-of general-utility scalar subroutines
+=head2 Scalar::Util - A selection of general-utility scalar subroutines
=over 4
@@ -33023,8 +33246,7 @@ XS version of Scalar::Util
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Search::Dict, Search::Dict, look -
-search for key in dictionary file
+=head2 Search::Dict - look - search for key in dictionary file
=over 4
@@ -33034,8 +33256,7 @@ search for key in dictionary file
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::SelectSaver, SelectSaver - save and
-restore selected file handle
+=head2 SelectSaver - save and restore selected file handle
=over 4
@@ -33045,8 +33266,7 @@ restore selected file handle
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::SelfLoader, SelfLoader - load functions
-only on demand
+=head2 SelfLoader - load functions only on demand
=over 4
@@ -33078,10 +33298,7 @@ only on demand
=back
-B<_make_cmd>
-
-=head2 C:\perl_tl\perl-5.14.2\lib::Shell, Shell - run shell commands
-transparently within perl
+=head2 Socket, C<Socket> - networking constants and support functions
=over 4
@@ -33089,50 +33306,150 @@ transparently within perl
=item DESCRIPTION
+=back
+
=over 4
-=item Caveats
+=item CONSTANTS
-=item Escaping Magic Characters
+=back
-=item Configuration
+=over 4
+
+=item PF_INET, PF_INET6, PF_UNIX, ...
+
+=item AF_INET, AF_INET6, AF_UNIX, ...
+
+=item SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, ...
+
+=item SOL_SOCKET
+
+=item SO_ACCEPTCONN, SO_BROADCAST, SO_ERROR, ...
+
+=item IP_OPTIONS, IP_TOS, IP_TTL, ...
+
+=item MSG_BCAST, MSG_OOB, MSG_TRUNC, ...
+
+=item SHUT_RD, SHUT_RDWR, SHUT_WR
+
+=item INADDR_ANY, INADDR_BROADCAST, INADDR_LOOPBACK, INADDR_NONE
+
+=item IPPROTO_IP, IPPROTO_IPV6, IPPROTO_TCP, ...
+
+=item TCP_CORK, TCP_KEEPALIVE, TCP_NODELAY, ...
+
+=item IN6ADDR_ANY, IN6ADDR_LOOPBACK
+
+=item IPV6_ADD_MEMBERSHIP, IPV6_MTU, IPV6_V6ONLY, ...
=back
-=item BUGS
+=over 4
-=item AUTHOR
+=item STRUCTURE MANIPULATORS
+
+=back
+
+=over 4
+
+=item $family = sockaddr_family $sockaddr
+
+=item $sockaddr = pack_sockaddr_in $port, $ip_address
+
+=item ($port, $ip_address) = unpack_sockaddr_in $sockaddr
+
+=item $sockaddr = sockaddr_in $port, $ip_address
+
+=item ($port, $ip_address) = sockaddr_in $sockaddr
+
+=item $sockaddr = pack_sockaddr_in6 $port, $ip6_address, [$scope_id,
+[$flowinfo]]
+
+=item ($port, $ip6_address, $scope_id, $flowinfo) = unpack_sockaddr_in6
+$sockaddr
+
+=item $sockaddr = sockaddr_in6 $port, $ip6_address, [$scope_id,
+[$flowinfo]]
+
+=item ($port, $ip6_address, $scope_id, $flowinfo) = sockaddr_in6 $sockaddr
+
+=item $sockaddr = pack_sockaddr_un $path
+
+=item ($path) = unpack_sockaddr_un $sockaddr
+
+=item $sockaddr = sockaddr_un $path
+
+=item ($path) = sockaddr_un $sockaddr
+
+=item $ipv6_mreq = pack_ipv6_mreq $ip6_address, $ifindex
+
+=item ($ip6_address, $ifindex) = unpack_ipv6_mreq $ipv6_mreq
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Socket, Socket, sockaddr_in,
-sockaddr_un, inet_aton, inet_ntoa, inet_pton, inet_ntop - load the C
-socket.h defines and structure manipulators
+=over 4
+
+=item FUNCTIONS
+
+=back
=over 4
-=item SYNOPSIS
+=item $ip_address = inet_aton $string
-=item DESCRIPTION
+=item $string = inet_ntoa $ip_address
+
+=item $address = inet_pton $family, $string
+
+=item $string = inet_ntop $family, $address
+
+=item ($err, @result) = getaddrinfo $host, $service, [$hints]
+
+flags => INT, family => INT, socktype => INT, protocol => INT, family =>
+INT, socktype => INT, protocol => INT, addr => STRING, canonname => STRING,
+AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST
+
+=item ($err, $hostname, $servicename) = getnameinfo $sockaddr, [$flags,
+[$xflags]]
-inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_BROADCAST,
-INADDR_LOOPBACK, INADDR_NONE, IN6ADDR_ANY, IN6ADDR_LOOPBACK,
-sockaddr_family SOCKADDR, sockaddr_in PORT, ADDRESS, sockaddr_in
-SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in
-SOCKADDR_IN, sockaddr_in6 PORT, IP6_ADDRESS, [ SCOPE_ID, [ FLOWINFO ] ],
-sockaddr_in6 SOCKADDR_IN6, pack_sockaddr_in6 PORT, IP6_ADDRESS, [ SCOPE_ID,
-[ FLOWINFO ] ], unpack_sockaddr_in6 SOCKADDR_IN6, sockaddr_un PATHNAME,
-sockaddr_un SOCKADDR_UN, pack_sockaddr_un PATH, unpack_sockaddr_un
-SOCKADDR_UN, inet_pton ADDRESS_FAMILY, HOSTNAME, inet_ntop ADDRESS_FAMILY,
-IP_ADDRESS, getaddrinfo HOST, SERVICE, [ HINTS ], flags => INT, family =>
-INT, socktype => INT, protocol => INT, family => INT, socktype => INT,
-protocol => INT, addr => STRING, canonname => STRING, getnameinfo ADDR,
-FLAGS
+NI_NUMERICHOST, NI_NUMERICSERV, NI_NAMEREQD, NI_DGRAM, NIx_NOHOST,
+NIx_NOSERV
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Storable, Storable - persistence for
-Perl data structures
+=over 4
+
+=item getaddrinfo() / getnameinfo() ERROR CONSTANTS
+
+EAI_AGAIN, EAI_BADFLAGS, EAI_FAMILY, EAI_NODATA, EAI_NONAME, EAI_SERVICE
+
+=back
+
+=over 4
+
+=item EXAMPLES
+
+=over 4
+
+=item Lookup for connect()
+
+=item Making a human-readable string out of an address
+
+=item Resolving hostnames into IP addresses
+
+=item Accessing socket options
+
+=back
+
+=back
+
+=over 4
+
+=item AUTHOR
+
+=back
+
+=head2 Storable - persistence for Perl data structures
=over 4
@@ -33203,8 +33520,7 @@ $buffer ), $info = Storable::read_magic( $buffer, $must_be_file )
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Symbol, Symbol - manipulate Perl symbols
-and their names
+=head2 Symbol - manipulate Perl symbols and their names
=over 4
@@ -33216,8 +33532,7 @@ and their names
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Sys::Hostname, Sys::Hostname - Try every
-conceivable way to get hostname
+=head2 Sys::Hostname - Try every conceivable way to get hostname
=over 4
@@ -33229,8 +33544,8 @@ conceivable way to get hostname
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Base, TAP::Base - Base class that
-provides common functionality to L<TAP::Parser>
+=head2 TAP::Base - Base class that provides common functionality to
+L<TAP::Parser>
and L<TAP::Harness>
=over 4
@@ -33255,8 +33570,7 @@ and L<TAP::Harness>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Formatter::Base,
-TAP::Formatter::Base - Base class for harness output delegates
+=head2 TAP::Formatter::Base - Base class for harness output delegates
=over 4
@@ -33288,8 +33602,7 @@ C<jobs>, C<show_count>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Formatter::Color,
-TAP::Formatter::Color - Run Perl test scripts with color
+=head2 TAP::Formatter::Color - Run Perl test scripts with color
=over 4
@@ -33313,9 +33626,8 @@ TAP::Formatter::Color - Run Perl test scripts with color
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Formatter::Console,
-TAP::Formatter::Console - Harness output delegate for default console
-output
+=head2 TAP::Formatter::Console - Harness output delegate for default
+console output
=over 4
@@ -33337,10 +33649,8 @@ output
=back
-=head2
-C:\perl_tl\perl-5.14.2\lib::TAP::Formatter::Console::ParallelSession,
-TAP::Formatter::Console::ParallelSession - Harness output delegate for
-parallel console output
+=head2 TAP::Formatter::Console::ParallelSession - Harness output delegate
+for parallel console output
=over 4
@@ -33368,9 +33678,8 @@ parallel console output
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Formatter::Console::Session,
-TAP::Formatter::Console::Session - Harness output delegate for default
-console output
+=head2 TAP::Formatter::Console::Session - Harness output delegate for
+default console output
=over 4
@@ -33396,8 +33705,7 @@ console output
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Formatter::File,
-TAP::Formatter::File - Harness output delegate for file output
+=head2 TAP::Formatter::File - Harness output delegate for file output
=over 4
@@ -33419,8 +33727,8 @@ TAP::Formatter::File - Harness output delegate for file output
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Formatter::File::Session,
-TAP::Formatter::File::Session - Harness output delegate for file output
+=head2 TAP::Formatter::File::Session - Harness output delegate for file
+output
=over 4
@@ -33452,8 +33760,8 @@ TAP::Formatter::File::Session - Harness output delegate for file output
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Formatter::Session,
-TAP::Formatter::Session - Abstract base class for harness output delegate
+=head2 TAP::Formatter::Session - Abstract base class for harness output
+delegate
=over 4
@@ -33475,8 +33783,7 @@ C<formatter>, C<parser>, C<name>, C<show_count>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Harness, TAP::Harness - Run test
-scripts with statistics
+=head2 TAP::Harness - Run test scripts with statistics
=over 4
@@ -33561,8 +33868,8 @@ L</new>, L</runtests>, L</summary>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Object, TAP::Object - Base class
-that provides common functionality to all C<TAP::*> modules
+=head2 TAP::Object - Base class that provides common functionality to all
+C<TAP::*> modules
=over 4
@@ -33592,8 +33899,7 @@ that provides common functionality to all C<TAP::*> modules
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser, TAP::Parser - Parse
-L<TAP|Test::Harness::TAP> output
+=head2 TAP::Parser - Parse L<TAP|Test::Harness::TAP> output
=over 4
@@ -33725,8 +34031,7 @@ Kraai, David Wheeler, Alex Vandiver, Cosimo Streppone, Ville Skyttä
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Aggregator,
-TAP::Parser::Aggregator - Aggregate TAP::Parser results
+=head2 TAP::Parser::Aggregator - Aggregate TAP::Parser results
=over 4
@@ -33773,8 +34078,7 @@ Failed tests, Parse errors, Bad exit or wait status
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Grammar,
-TAP::Parser::Grammar - A grammar for the Test Anything Protocol.
+=head2 TAP::Parser::Grammar - A grammar for the Test Anything Protocol.
=over 4
@@ -33814,8 +34118,7 @@ TAP::Parser::Grammar - A grammar for the Test Anything Protocol.
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Iterator,
-TAP::Parser::Iterator - Base class for TAP source iterators
+=head2 TAP::Parser::Iterator - Base class for TAP source iterators
=over 4
@@ -33855,8 +34158,7 @@ TAP::Parser::Iterator - Base class for TAP source iterators
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Iterator::Array,
-TAP::Parser::Iterator::Array - Iterator for array-based TAP sources
+=head2 TAP::Parser::Iterator::Array - Iterator for array-based TAP sources
=over 4
@@ -33890,8 +34192,8 @@ TAP::Parser::Iterator::Array - Iterator for array-based TAP sources
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Iterator::Process,
-TAP::Parser::Iterator::Process - Iterator for process-based TAP sources
+=head2 TAP::Parser::Iterator::Process - Iterator for process-based TAP
+sources
=over 4
@@ -33925,8 +34227,8 @@ TAP::Parser::Iterator::Process - Iterator for process-based TAP sources
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Iterator::Stream,
-TAP::Parser::Iterator::Stream - Iterator for filehandle-based TAP sources
+=head2 TAP::Parser::Iterator::Stream - Iterator for filehandle-based TAP
+sources
=over 4
@@ -33964,9 +34266,8 @@ TAP::Parser::Iterator::Stream - Iterator for filehandle-based TAP sources
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::IteratorFactory,
-TAP::Parser::IteratorFactory - Figures out which SourceHandler objects to
-use for a given Source
+=head2 TAP::Parser::IteratorFactory - Figures out which SourceHandler
+objects to use for a given Source
=over 4
@@ -34014,8 +34315,7 @@ use for a given Source
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Multiplexer,
-TAP::Parser::Multiplexer - Multiplex multiple TAP::Parsers
+=head2 TAP::Parser::Multiplexer - Multiplex multiple TAP::Parsers
=over 4
@@ -34051,8 +34351,7 @@ TAP::Parser::Multiplexer - Multiplex multiple TAP::Parsers
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Result, TAP::Parser::Result
-- Base class for TAP::Parser output objects
+=head2 TAP::Parser::Result - Base class for TAP::Parser output objects
=over 4
@@ -34097,8 +34396,7 @@ C<is_version>, C<is_unknown>, C<is_yaml>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Result::Bailout,
-TAP::Parser::Result::Bailout - Bailout result token.
+=head2 TAP::Parser::Result::Bailout - Bailout result token.
=over 4
@@ -34122,8 +34420,7 @@ C<as_string>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Result::Comment,
-TAP::Parser::Result::Comment - Comment result token.
+=head2 TAP::Parser::Result::Comment - Comment result token.
=over 4
@@ -34147,8 +34444,7 @@ C<as_string>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Result::Plan,
-TAP::Parser::Result::Plan - Plan result token.
+=head2 TAP::Parser::Result::Plan - Plan result token.
=over 4
@@ -34172,8 +34468,7 @@ C<as_string>, C<raw>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Result::Pragma,
-TAP::Parser::Result::Pragma - TAP pragma token.
+=head2 TAP::Parser::Result::Pragma - TAP pragma token.
=over 4
@@ -34197,8 +34492,7 @@ C<as_string>, C<raw>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Result::Test,
-TAP::Parser::Result::Test - Test result token.
+=head2 TAP::Parser::Result::Test - Test result token.
=over 4
@@ -34220,8 +34514,7 @@ TAP::Parser::Result::Test - Test result token.
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Result::Unknown,
-TAP::Parser::Result::Unknown - Unknown result token.
+=head2 TAP::Parser::Result::Unknown - Unknown result token.
=over 4
@@ -34239,8 +34532,7 @@ C<as_string>, C<raw>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Result::Version,
-TAP::Parser::Result::Version - TAP syntax version token.
+=head2 TAP::Parser::Result::Version - TAP syntax version token.
=over 4
@@ -34264,8 +34556,7 @@ C<as_string>, C<raw>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Result::YAML,
-TAP::Parser::Result::YAML - YAML result token.
+=head2 TAP::Parser::Result::YAML - YAML result token.
=over 4
@@ -34289,8 +34580,7 @@ C<as_string>, C<raw>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::ResultFactory,
-TAP::Parser::ResultFactory - Factory for creating TAP::Parser output
+=head2 TAP::Parser::ResultFactory - Factory for creating TAP::Parser output
objects
=over 4
@@ -34325,8 +34615,7 @@ objects
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Scheduler,
-TAP::Parser::Scheduler - Schedule tests during parallel testing
+=head2 TAP::Parser::Scheduler - Schedule tests during parallel testing
=over 4
@@ -34350,8 +34639,7 @@ TAP::Parser::Scheduler - Schedule tests during parallel testing
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Scheduler::Job,
-TAP::Parser::Scheduler::Job - A single testing job.
+=head2 TAP::Parser::Scheduler::Job - A single testing job.
=over 4
@@ -34375,8 +34663,7 @@ TAP::Parser::Scheduler::Job - A single testing job.
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Scheduler::Spinner,
-TAP::Parser::Scheduler::Spinner - A no-op job.
+=head2 TAP::Parser::Scheduler::Spinner - A no-op job.
=over 4
@@ -34400,8 +34687,7 @@ TAP::Parser::Scheduler::Spinner - A no-op job.
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Source, TAP::Parser::Source
-- a TAP source & meta data about it
+=head2 TAP::Parser::Source - a TAP source & meta data about it
=over 4
@@ -34439,8 +34725,8 @@ TAP::Parser::Scheduler::Spinner - A no-op job.
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::SourceHandler,
-TAP::Parser::SourceHandler - Base class for different TAP source handlers
+=head2 TAP::Parser::SourceHandler - Base class for different TAP source
+handlers
=over 4
@@ -34480,9 +34766,8 @@ TAP::Parser::SourceHandler - Base class for different TAP source handlers
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::SourceHandler::Executable,
-TAP::Parser::SourceHandler::Executable - Stream output from an executable
-TAP source
+=head2 TAP::Parser::SourceHandler::Executable - Stream output from an
+executable TAP source
=over 4
@@ -34520,8 +34805,7 @@ TAP source
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::SourceHandler::File,
-TAP::Parser::SourceHandler::File - Stream TAP from a text file.
+=head2 TAP::Parser::SourceHandler::File - Stream TAP from a text file.
=over 4
@@ -34555,9 +34839,8 @@ TAP::Parser::SourceHandler::File - Stream TAP from a text file.
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::SourceHandler::Handle,
-TAP::Parser::SourceHandler::Handle - Stream TAP from an IO::Handle or a
-GLOB.
+=head2 TAP::Parser::SourceHandler::Handle - Stream TAP from an IO::Handle
+or a GLOB.
=over 4
@@ -34589,8 +34872,7 @@ GLOB.
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::SourceHandler::Perl,
-TAP::Parser::SourceHandler::Perl - Stream TAP from a Perl executable
+=head2 TAP::Parser::SourceHandler::Perl - Stream TAP from a Perl executable
=over 4
@@ -34628,8 +34910,7 @@ TAP::Parser::SourceHandler::Perl - Stream TAP from a Perl executable
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::SourceHandler::RawTAP,
-TAP::Parser::SourceHandler::RawTAP - Stream output from raw TAP in a
+=head2 TAP::Parser::SourceHandler::RawTAP - Stream output from raw TAP in a
scalar/array ref.
=over 4
@@ -34662,8 +34943,7 @@ scalar/array ref.
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::Utils, TAP::Parser::Utils -
-Internal TAP::Parser utilities
+=head2 TAP::Parser::Utils - Internal TAP::Parser utilities
=over 4
@@ -34685,8 +34965,7 @@ Internal TAP::Parser utilities
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::YAMLish::Reader,
-TAP::Parser::YAMLish::Reader - Read YAMLish data from iterator
+=head2 TAP::Parser::YAMLish::Reader - Read YAMLish data from iterator
=over 4
@@ -34714,8 +34993,7 @@ TAP::Parser::YAMLish::Reader - Read YAMLish data from iterator
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::TAP::Parser::YAMLish::Writer,
-TAP::Parser::YAMLish::Writer - Write YAMLish data
+=head2 TAP::Parser::YAMLish::Writer - Write YAMLish data
=over 4
@@ -34746,8 +35024,7 @@ reference to an array into which YAML will be pushed, a code reference
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Term::ANSIColor, Term::ANSIColor - Color
-screen output using ANSI escape sequences
+=head2 Term::ANSIColor - Color screen output using ANSI escape sequences
=over 4
@@ -34793,8 +35070,7 @@ ANSI_COLORS_DISABLED
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Term::Cap, Term::Cap - Perl termcap
-interface
+=head2 Term::Cap - Perl termcap interface
=over 4
@@ -34832,8 +35108,7 @@ B<Trequire>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Term::Complete, Term::Complete - Perl
-word completion module
+=head2 Term::Complete - Perl word completion module
=over 4
@@ -34851,8 +35126,7 @@ E<lt>tabE<gt>, ^D, ^U, E<lt>delE<gt>, E<lt>bsE<gt>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Term::ReadLine, Term::ReadLine - Perl
-interface to various C<readline> packages.
+=head2 Term::ReadLine - Perl interface to various C<readline> packages.
If no real package is found, substitutes stubs instead of basic functions.
=over 4
@@ -34868,7 +35142,7 @@ C<findConsole>, Attribs, C<Features>
=item Additional supported functions
-C<tkRunning>, C<ornaments>, C<newTTY>
+C<tkRunning>, C<event_loop>, C<ornaments>, C<newTTY>
=item EXPORTS
@@ -34876,8 +35150,7 @@ C<tkRunning>, C<ornaments>, C<newTTY>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Term::UI, Term::UI - Term::ReadLine UI
-made easy
+=head2 Term::UI - Term::ReadLine UI made easy
=over 4
@@ -34962,7 +35235,7 @@ record", allow => $ref] );
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Term::UI::History, Term::UI::History
+=head2 Term::UI::History - history function
=over 4
@@ -34994,8 +35267,7 @@ $HISTORY_FH
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Test, Test - provides a simple framework
-for writing test scripts
+=head2 Test - provides a simple framework for writing test scripts
=over 4
@@ -35042,8 +35314,7 @@ NORMAL TESTS, SKIPPED TESTS, TODO TESTS
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Test::Builder, Test::Builder - Backend
-for building test libraries
+=head2 Test::Builder - Backend for building test libraries
=over 4
@@ -35224,8 +35495,7 @@ B<_my_exit>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Test::Builder::Module,
-Test::Builder::Module - Base class for test modules
+=head2 Test::Builder::Module - Base class for test modules
=over 4
@@ -35247,8 +35517,7 @@ Test::Builder::Module - Base class for test modules
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Test::Builder::Tester,
-Test::Builder::Tester - test testsuites that have been built with
+=head2 Test::Builder::Tester - test testsuites that have been built with
Test::Builder
=over 4
@@ -35289,8 +35558,8 @@ color
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Test::Builder::Tester::Color,
-Test::Builder::Tester::Color - turn on colour in Test::Builder::Tester
+=head2 Test::Builder::Tester::Color - turn on colour in
+Test::Builder::Tester
=over 4
@@ -35310,8 +35579,7 @@ Test::Builder::Tester::Color - turn on colour in Test::Builder::Tester
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Test::Harness, Test::Harness - Run Perl
-standard test scripts with statistics
+=head2 Test::Harness - Run Perl standard test scripts with statistics
=over 4
@@ -35366,8 +35634,7 @@ c >>, C<HARNESS_SUBCLASS>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Test::More, Test::More - yet another
-framework for writing test scripts
+=head2 Test::More - yet another framework for writing test scripts
=over 4
@@ -35504,8 +35771,7 @@ objects, Threads
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Test::Simple, Test::Simple - Basic
-utilities for writing tests.
+=head2 Test::Simple - Basic utilities for writing tests.
=over 4
@@ -35537,8 +35803,7 @@ L<Test::More>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Test::Tutorial, Test::Tutorial - A
-tutorial about writing really basic tests
+=head2 Test::Tutorial - A tutorial about writing really basic tests
=over 4
@@ -35576,8 +35841,7 @@ tutorial about writing really basic tests
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Text::Abbrev, abbrev - create an
-abbreviation table from a list
+=head2 Text::Abbrev - abbrev - create an abbreviation table from a list
=over 4
@@ -35589,8 +35853,7 @@ abbreviation table from a list
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Text::Balanced, Text::Balanced - Extract
-delimited text sequences from strings.
+=head2 Text::Balanced - Extract delimited text sequences from strings.
=over 4
@@ -35665,8 +35928,8 @@ tag>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Text::ParseWords, Text::ParseWords -
-parse text into an array of tokens or array of arrays
+=head2 Text::ParseWords - parse text into an array of tokens or array of
+arrays
=over 4
@@ -35680,8 +35943,7 @@ parse text into an array of tokens or array of arrays
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Text::Soundex, Text::Soundex -
-Implementation of the soundex algorithm.
+=head2 Text::Soundex - Implementation of the soundex algorithm.
=over 4
@@ -35699,8 +35961,8 @@ Implementation of the soundex algorithm.
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Text::Tabs, Text::Tabs -- expand and
-unexpand tabs per the unix expand(1) and unexpand(1)
+=head2 Text::Tabs -- expand and unexpand tabs per the unix expand(1) and
+unexpand(1)
=over 4
@@ -35714,8 +35976,7 @@ unexpand tabs per the unix expand(1) and unexpand(1)
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Text::Wrap, Text::Wrap - line wrapping
-to form simple paragraphs
+=head2 Text::Wrap - line wrapping to form simple paragraphs
=over 4
@@ -35733,8 +35994,7 @@ to form simple paragraphs
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Thread, Thread - Manipulate threads in
-Perl (for old code only)
+=head2 Thread - Manipulate threads in Perl (for old code only)
=over 4
@@ -35764,8 +36024,7 @@ lock(\&sub), eval, flags
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Thread::Queue, Thread::Queue -
-Thread-safe queues
+=head2 Thread::Queue - Thread-safe queues
=over 4
@@ -35804,8 +36063,7 @@ above
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Thread::Semaphore, Thread::Semaphore -
-Thread-safe semaphores
+=head2 Thread::Semaphore - Thread-safe semaphores
=over 4
@@ -35831,8 +36089,7 @@ Thread-safe semaphores
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Tie::Array, Tie::Array - base class for
-tied arrays
+=head2 Tie::Array - base class for tied arrays
=over 4
@@ -35851,8 +36108,7 @@ SHIFT this, UNSHIFT this, LIST, SPLICE this, offset, length, LIST
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Tie::File, Tie::File - Access the lines
-of a disk file via a Perl array
+=head2 Tie::File - Access the lines of a disk file via a Perl array
=over 4
@@ -35920,8 +36176,7 @@ of a disk file via a Perl array
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Tie::Handle, Tie::Handle - base class
-definitions for tied handles
+=head2 Tie::Handle - base class definitions for tied handles
=over 4
@@ -35940,8 +36195,8 @@ EOF this, TELL this, SEEK this, offset, whence, DESTROY this
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Tie::Hash, Tie::Hash, Tie::StdHash,
-Tie::ExtraHash - base class definitions for tied hashes
+=head2 Tie::Hash, Tie::StdHash, Tie::ExtraHash - base class definitions for
+tied hashes
=over 4
@@ -35963,8 +36218,7 @@ this, SCALAR this
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Tie::Hash::NamedCapture,
-Tie::Hash::NamedCapture - Named regexp capture buffers
+=head2 Tie::Hash::NamedCapture - Named regexp capture buffers
=over 4
@@ -35976,8 +36230,7 @@ Tie::Hash::NamedCapture - Named regexp capture buffers
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Tie::Memoize, Tie::Memoize - add data to
-hash when needed
+=head2 Tie::Memoize - add data to hash when needed
=over 4
@@ -35995,8 +36248,7 @@ hash when needed
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Tie::RefHash, Tie::RefHash - use
-references as hash keys
+=head2 Tie::RefHash - use references as hash keys
=over 4
@@ -36022,8 +36274,8 @@ references as hash keys
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Tie::Scalar, Tie::Scalar, Tie::StdScalar
-- base class definitions for tied scalars
+=head2 Tie::Scalar, Tie::StdScalar - base class definitions for tied
+scalars
=over 4
@@ -36043,8 +36295,7 @@ TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Tie::StdHandle, Tie::StdHandle - base
-class definitions for tied handles
+=head2 Tie::StdHandle - base class definitions for tied handles
=over 4
@@ -36054,8 +36305,7 @@ class definitions for tied handles
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Tie::SubstrHash, Tie::SubstrHash -
-Fixed-table-size, fixed-key-length hashing
+=head2 Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing
=over 4
@@ -36067,8 +36317,8 @@ Fixed-table-size, fixed-key-length hashing
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Time::HiRes, Time::HiRes - High
-resolution alarm, sleep, gettimeofday, interval timers
+=head2 Time::HiRes - High resolution alarm, sleep, gettimeofday, interval
+timers
=over 4
@@ -36114,8 +36364,7 @@ $flags = 0), clock(), stat, stat FH, stat EXPR
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Time::Local, Time::Local - efficiently
-compute time from local and GMT time
+=head2 Time::Local - efficiently compute time from local and GMT time
=over 4
@@ -36155,8 +36404,7 @@ compute time from local and GMT time
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Time::Piece, Time::Piece - Object
-Oriented time objects
+=head2 Time::Piece - Object Oriented time objects
=over 4
@@ -36204,8 +36452,7 @@ Oriented time objects
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Time::Seconds, Time::Seconds - a simple
-API to convert seconds to other date values
+=head2 Time::Seconds - a simple API to convert seconds to other date values
=over 4
@@ -36223,8 +36470,8 @@ API to convert seconds to other date values
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Time::gmtime, Time::gmtime - by-name
-interface to Perl's built-in gmtime() function
+=head2 Time::gmtime - by-name interface to Perl's built-in gmtime()
+function
=over 4
@@ -36238,8 +36485,8 @@ interface to Perl's built-in gmtime() function
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Time::localtime, Time::localtime -
-by-name interface to Perl's built-in localtime() function
+=head2 Time::localtime - by-name interface to Perl's built-in localtime()
+function
=over 4
@@ -36253,8 +36500,7 @@ by-name interface to Perl's built-in localtime() function
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Time::tm, Time::tm - internal object
-used by Time::gmtime and Time::localtime
+=head2 Time::tm - internal object used by Time::gmtime and Time::localtime
=over 4
@@ -36266,8 +36512,7 @@ used by Time::gmtime and Time::localtime
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::UNIVERSAL, UNIVERSAL - base class for
-ALL classes (blessed references)
+=head2 UNIVERSAL - base class for ALL classes (blessed references)
=over 4
@@ -36286,8 +36531,7 @@ METHOD ) >>, C<< eval { VAL->can( METHOD ) } >>, C<VERSION ( [ REQUIRE ] )>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::Collate, Unicode::Collate -
-Unicode Collation Algorithm
+=head2 Unicode::Collate - Unicode Collation Algorithm
=over 4
@@ -36300,9 +36544,9 @@ Unicode Collation Algorithm
=item Constructor and Tailoring
UCA_Version, alternate, backwards, entry, hangul_terminator, ignoreChar,
-ignoreName, katakana_before_hiragana, level, normalization, overrideCJK,
-overrideHangul, preprocess, rearrange, suppress, table, undefChar,
-undefName, upper_before_lower, variable
+ignoreName, ignore_level2, katakana_before_hiragana, level, normalization,
+overrideCJK, overrideHangul, preprocess, rearrange, rewrite, suppress,
+table, undefChar, undefName, upper_before_lower, variable
=item Methods for Collation
@@ -36351,8 +36595,7 @@ Language (LDML) - UTS #35
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::Collate::CJK::Big5,
-Unicode::Collate::CJK::Big5 - weighting CJK Unified Ideographs
+=head2 Unicode::Collate::CJK::Big5 - weighting CJK Unified Ideographs
for Unicode::Collate
=over 4
@@ -36368,8 +36611,7 @@ Language (LDML) - UTS #35, L<Unicode::Collate>, L<Unicode::Collate::Locale>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::Collate::CJK::GB2312,
-Unicode::Collate::CJK::GB2312 - weighting CJK Unified Ideographs
+=head2 Unicode::Collate::CJK::GB2312 - weighting CJK Unified Ideographs
for Unicode::Collate
=over 4
@@ -36387,8 +36629,8 @@ Language (LDML) - UTS #35, L<Unicode::Collate>, L<Unicode::Collate::Locale>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::Collate::CJK::JISX0208,
-Unicode::Collate::CJK::JISX0208 - weighting JIS KANJI for Unicode::Collate
+=head2 Unicode::Collate::CJK::JISX0208 - weighting JIS KANJI for
+Unicode::Collate
=over 4
@@ -36402,8 +36644,7 @@ L<Unicode::Collate>, L<Unicode::Collate::Locale>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::Collate::CJK::Korean,
-Unicode::Collate::CJK::Korean - weighting CJK Unified Ideographs
+=head2 Unicode::Collate::CJK::Korean - weighting CJK Unified Ideographs
for Unicode::Collate
=over 4
@@ -36419,8 +36660,7 @@ Language (LDML) - UTS #35, L<Unicode::Collate>, L<Unicode::Collate::Locale>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::Collate::CJK::Pinyin,
-Unicode::Collate::CJK::Pinyin - weighting CJK Unified Ideographs
+=head2 Unicode::Collate::CJK::Pinyin - weighting CJK Unified Ideographs
for Unicode::Collate
=over 4
@@ -36438,8 +36678,7 @@ Language (LDML) - UTS #35, L<Unicode::Collate>, L<Unicode::Collate::Locale>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::Collate::CJK::Stroke,
-Unicode::Collate::CJK::Stroke - weighting CJK Unified Ideographs
+=head2 Unicode::Collate::CJK::Stroke - weighting CJK Unified Ideographs
for Unicode::Collate
=over 4
@@ -36455,8 +36694,7 @@ Language (LDML) - UTS #35, L<Unicode::Collate>, L<Unicode::Collate::Locale>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::Collate::Locale,
-Unicode::Collate::Locale - Linguistic tailoring for DUCET via
+=head2 Unicode::Collate::Locale - Linguistic tailoring for DUCET via
Unicode::Collate
=over 4
@@ -36471,7 +36709,7 @@ Unicode::Collate
=item Methods
-C<$Collator-E<gt>getlocale>
+C<$Collator-E<gt>getlocale>, C<$Collator-E<gt>locale_version>
=item A list of tailorable locales
@@ -36494,8 +36732,7 @@ L<Unicode::Normalize>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::Normalize, Unicode::Normalize -
-Unicode Normalization Forms
+=head2 Unicode::Normalize - Unicode Normalization Forms
=over 4
@@ -36566,8 +36803,7 @@ http://www.unicode.org/review/pr-29.html, http://www.unicode.org/notes/tn5/
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Unicode::UCD, Unicode::UCD - Unicode
-character database
+=head2 Unicode::UCD - Unicode character database
=over 4
@@ -36579,6 +36815,12 @@ character database
=item code point argument
+=back
+
+=back
+
+=over 4
+
=item B<charinfo()>
B<code>, B<name>, B<category>, B<combining>, B<bidi>, B<decomposition>,
@@ -36587,8 +36829,6 @@ B<upper>, B<lower>, B<title>, B<block>, B<script>
=back
-=back
-
=over 4
=item B<charblock()>
@@ -36641,7 +36881,8 @@ B<upper>, B<lower>, B<title>, B<block>, B<script>
=item B<casefold()>
-B<code>, B<full>, B<simple>, B<mapping>, B<status>, B<*>, B<*>, B<turkic>
+B<code>, B<full>, B<simple>, B<mapping>, B<status>, B<*> If you use this
+C<I> mapping, B<*> If you exclude this C<I> mapping, B<turkic>
=back
@@ -36661,7 +36902,35 @@ B<code>, B<lower>, B<title>, B<upper>, B<condition>
=over 4
-=item num
+=item B<num()>
+
+=back
+
+=over 4
+
+=item B<prop_aliases()>
+
+=back
+
+=over 4
+
+=item B<prop_value_aliases()>
+
+=back
+
+=over 4
+
+=item B<prop_invlist()>
+
+=back
+
+=over 4
+
+=item B<prop_invmap()>
+
+B<C<s>>, B<C<sl>>, C<correction>, C<control>, C<alternate>, C<figment>,
+C<abbreviation>, B<C<a>>, B<C<al>>, B<C<ae>>, B<C<ale>>, B<C<ar>>, B<C<n>>,
+B<C<ad>>
=back
@@ -36677,7 +36946,7 @@ B<code>, B<lower>, B<title>, B<upper>, B<condition>
=item B<Matching Scripts and Blocks>
-=item Implementation Note
+=item Old-style versus new-style block names
=back
@@ -36689,8 +36958,8 @@ B<code>, B<lower>, B<title>, B<upper>, B<condition>
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::User::grent, User::grent - by-name
-interface to Perl's built-in getgr*() functions
+=head2 User::grent - by-name interface to Perl's built-in getgr*()
+functions
=over 4
@@ -36704,8 +36973,8 @@ interface to Perl's built-in getgr*() functions
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::User::pwent, User::pwent - by-name
-interface to Perl's built-in getpw*() functions
+=head2 User::pwent - by-name interface to Perl's built-in getpw*()
+functions
=over 4
@@ -36729,8 +36998,7 @@ March 18th, 2000
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Win32, Win32 - Interfaces to some Win32
-API Functions
+=head2 Win32 - Interfaces to some Win32 API Functions
=over 4
@@ -36769,8 +37037,8 @@ PID), Win32::UnregisterServer(LIBRARYNAME)
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Win32API::File, Win32API::File -
-Low-level access to Win32 system API calls for files/dirs.
+=head2 Win32API::File - Low-level access to Win32 system API calls for
+files/dirs.
=over 4
@@ -36905,8 +37173,7 @@ C<":SEM_">, C<":PARTITION_">, C<":ALL">
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::Win32CORE, Win32CORE - Win32 CORE
-function stubs
+=head2 Win32CORE - Win32 CORE function stubs
=over 4
@@ -36916,8 +37183,7 @@ function stubs
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::XSLoader, XSLoader - Dynamically load C
-libraries into Perl code
+=head2 XSLoader - Dynamically load C libraries into Perl code
=over 4
@@ -36950,1570 +37216,18 @@ C<Undefined symbols present after loading %s: %s>
=item LIMITATIONS
-=item BUGS
-
-=item SEE ALSO
-
-=item AUTHORS
-
-=item COPYRIGHT & LICENSE
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::attributes, attributes - get/set
-subroutine or variable attributes
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item What C<import> does
-
-=item Built-in Attributes
-
-lvalue, method, locked
-
-=item Available Subroutines
-
-get, reftype
-
-=item Package-specific Attribute Handling
-
-FETCH_I<type>_ATTRIBUTES, MODIFY_I<type>_ATTRIBUTES
-
-=item Syntax of Attribute Lists
-
-=back
-
-=item EXPORTS
-
-=over 4
-
-=item Default exports
-
-=item Available exports
-
-=item Export tags defined
-
-=back
-
-=item EXAMPLES
-
-=item MORE EXAMPLES
-
-=item SEE ALSO
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::autodie, autodie - Replace functions
-with ones that succeed or die with lexical scope
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item EXCEPTIONS
-
-=item CATEGORIES
-
-=item FUNCTION SPECIFIC NOTES
-
-=over 4
-
-=item flock
-
-=item system/exec
-
-=back
-
-=item GOTCHAS
-
-=item DIAGNOSTICS
-
-:void cannot be used with lexical scope, No user hints defined for %s
-
-=item BUGS
-
-=over 4
-
-=item autodie and string eval
-
-=item REPORTING BUGS
-
-=back
-
-=item FEEDBACK
-
-=item AUTHOR
-
-=item LICENSE
-
-=item SEE ALSO
-
-=item ACKNOWLEDGEMENTS
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::autodie::exception, autodie::exception -
-Exceptions from autodying functions.
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Common Methods
-
-=back
-
-=back
-
-=over 4
-
-=item Advanced methods
-
-=back
-
-=over 4
-
-=item SEE ALSO
-
-=item LICENSE
-
-=item AUTHOR
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::autodie::exception::system,
-autodie::exception::system - Exceptions from autodying system().
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=back
-
-=over 4
-
-=item stringify
-
-=back
-
-=over 4
-
-=item LICENSE
-
-=item AUTHOR
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::autodie::hints, autodie::hints - Provide
-hints about user subroutines to autodie
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Introduction
-
-=item What are hints?
-
-=item Example hints
-
-=back
-
-=item Manually setting hints from within your program
-
-=item Adding hints to your module
-
-=item Insisting on hints
-
-=back
-
-=over 4
-
-=item Diagnostics
-
-Attempts to set_hints_for unidentifiable subroutine, fail hints cannot be
-provided with either scalar or list hints for %s, %s hint missing for %s
-
-=item ACKNOWLEDGEMENTS
-
-=item AUTHOR
-
-=item LICENSE
-
-=item SEE ALSO
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::autouse, autouse - postpone load of
-modules until a function is used
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item WARNING
-
-=item AUTHOR
-
-=item SEE ALSO
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::base, base - Establish an ISA
-relationship with base classes at compile time
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item DIAGNOSTICS
-
-Base class package "%s" is empty, Class 'Foo' tried to inherit from itself
-
-=item HISTORY
-
-=item CAVEATS
-
-=item SEE ALSO
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::bigint, bigint - Transparent BigInteger
-support for Perl
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item use integer vs. use bigint
-
-=item Options
-
-a or accuracy, p or precision, t or trace, hex, oct, l, lib, try or only, v
-or version
-
-=item Math Library
-
-=item Internal Format
-
-=item Sign
-
-=item Methods
-
-inf(), NaN(), e, PI, bexp(), bpi(), upgrade(), in_effect()
-
-=item MATH LIBRARY
-
-=item Caveat
-
-=back
-
-=item CAVEATS
-
-in_effect(), hex()/oct()
-
-=item MODULES USED
-
-=item EXAMPLES
-
-=item LICENSE
-
-=item SEE ALSO
-
-=item AUTHORS
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::bignum, bignum - Transparent BigNumber
-support for Perl
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Options
-
-a or accuracy, p or precision, t or trace, l or lib, hex, oct, v or version
-
-=item Methods
-
-=item Caveats
-
-inf(), NaN(), e, PI(), bexp(), bpi(), upgrade(), in_effect()
-
-=item Math Library
-
-=item INTERNAL FORMAT
-
-=item SIGN
-
-=back
-
-=item CAVEATS
-
-in_effect(), hex()/oct()
-
-=item MODULES USED
-
-=item EXAMPLES
-
-=item LICENSE
-
-=item SEE ALSO
-
-=item AUTHORS
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::bigrat, bigrat - Transparent
-BigNumber/BigRational support for Perl
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Modules Used
-
-=item Math Library
-
-=item Sign
-
-=item Methods
-
-inf(), NaN(), e, PI, bexp(), bpi(), upgrade(), in_effect()
-
-=item MATH LIBRARY
-
-=item Caveat
-
-=item Options
-
-a or accuracy, p or precision, t or trace, l or lib, hex, oct, v or version
-
-=back
-
-=item CAVEATS
-
-in_effect(), hex()/oct()
-
-=item EXAMPLES
-
-=item LICENSE
-
-=item SEE ALSO
-
-=item AUTHORS
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::blib, blib - Use MakeMaker's uninstalled
-version of a package
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item BUGS
-
-=item AUTHOR
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::bytes, bytes - Perl pragma to force byte
-semantics rather than character semantics
-
-=over 4
-
-=item NOTICE
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item LIMITATIONS
-
-=item SEE ALSO
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::charnames, charnames - access to Unicode
-character names and named character sequences; also define character names
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item ALIASES
-
-=item CUSTOM ALIASES
-
-=item charnames::viacode(I<code>)
-
-=item charnames::string_vianame(I<name>)
-
-=item charnames::vianame(I<name>)
-
-=item CUSTOM TRANSLATORS
+=item KNOWN BUGS
=item BUGS
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::constant, constant - Perl pragma to
-declare constants
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item NOTES
-
-=over 4
-
-=item List constants
-
-=item Defining multiple constants at once
-
-=item Magic constants
-
-=back
-
-=item TECHNICAL NOTES
-
-=item CAVEATS
-
=item SEE ALSO
-=item BUGS
-
=item AUTHORS
=item COPYRIGHT & LICENSE
=back
-=head2 C:\perl_tl\perl-5.14.2\lib::deprecate, deprecate - Perl pragma for
-deprecating the core version of a module
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item EXPORT
-
-=back
-
-=item SEE ALSO
-
-=item AUTHOR
-
-=item COPYRIGHT AND LICENSE
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::diagnostics, diagnostics, splain -
-produce verbose warning diagnostics
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item The C<diagnostics> Pragma
-
-=item The I<splain> Program
-
-=back
-
-=item EXAMPLES
-
-=item INTERNALS
-
-=item BUGS
-
-=item AUTHOR
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::encoding, encoding - allows you to write
-your script in non-ascii or non-utf8
-
-=over 4
-
-=item SYNOPSIS
-
-=item ABSTRACT
-
-=over 4
-
-=item Literal Conversions
-
-=item PerlIO layers for C<STD(IN|OUT)>
-
-=item Implicit upgrading for byte strings
-
-=item Side effects
-
-=back
-
-=item FEATURES THAT REQUIRE 5.8.1
-
-"NON-EUC" doublebyte encodings, tr//, DATA pseudo-filehandle
-
-=item USAGE
-
-use encoding [I<ENCNAME>] ;, use encoding I<ENCNAME> [ STDIN =E<gt>
-I<ENCNAME_IN> ...] ;, use encoding I<ENCNAME> Filter=E<gt>1;, no encoding;
-
-=item The Filter Option
-
-=over 4
-
-=item Filter-related changes at Encode version 1.87
-
-=back
-
-=item CAVEATS
-
-=over 4
-
-=item NOT SCOPED
-
-=item DO NOT MIX MULTIPLE ENCODINGS
-
-=item tr/// with ranges
-
-Legend of characters above
-
-=back
-
-=item EXAMPLE - Greekperl
-
-=item KNOWN PROBLEMS
-
-literals in regex that are longer than 127 bytes, EBCDIC, format, Thread
-safety
-
-=over 4
-
-=item The Logic of :locale
-
-=back
-
-=item HISTORY
-
-=item SEE ALSO
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::encoding::warnings, encoding::warnings -
-Warn on implicit encoding conversions
-
-=over 4
-
-=item VERSION
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Overview of the problem
-
-=item Detecting the problem
-
-=item Solving the problem
-
-Upgrade both sides to unicode-strings, Downgrade both sides to
-byte-strings, Specify the encoding for implicit byte-string upgrading,
-PerlIO layers for B<STDIN> and B<STDOUT>, Literal conversions, Implicit
-upgrading for byte-strings
-
-=back
-
-=item CAVEATS
-
-=back
-
-=over 4
-
-=item SEE ALSO
-
-=item AUTHORS
-
-=item COPYRIGHT
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::feature, feature - Perl pragma to enable
-new features
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Lexical effect
-
-=item C<no feature>
-
-=item The 'switch' feature
-
-=item The 'say' feature
-
-=item the 'state' feature
-
-=item the 'unicode_strings' feature
-
-=back
-
-=item FEATURE BUNDLES
-
-=item IMPLICIT LOADING
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::fields, fields - compile-time class
-fields
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-new, phash
-
-=item SEE ALSO
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::filetest, filetest - Perl pragma to
-control the filetest permission operators
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Consider this carefully
-
-=item The "access" sub-pragma
-
-=item Limitation with regard to C<_>
-
-=back
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::if, if - C<use> a Perl module if a
-condition holds
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item BUGS
-
-=item AUTHOR
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::inc::latest, inc::latest - use modules
-bundled in inc/ if they are newer than installed ones
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Special notes on bundling
-
-=back
-
-=item USAGE
-
-=over 4
-
-=item Author-mode
-
-loaded_modules(), write(), bundle_module()
-
-=item As bundled in inc/
-
-=back
-
-=item AUTHOR
-
-=item COPYRIGHT
-
-=item SEE ALSO
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::integer, integer - Perl pragma to use
-integer arithmetic instead of floating point
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::less, less - perl pragma to request less
-of something
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item FOR MODULE AUTHORS
-
-=over 4
-
-=item C<< BOOLEAN = less->of( FEATURE ) >>
-
-=item C<< FEATURES = less->of() >>
-
-=back
-
-=item CAVEATS
-
-This probably does nothing, This works only on 5.10+
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::lib, lib - manipulate @INC at compile
-time
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Adding directories to @INC
-
-=item Deleting directories from @INC
-
-=item Restoring original @INC
-
-=back
-
-=item CAVEATS
-
-=item NOTES
-
-=item SEE ALSO
-
-=item AUTHOR
-
-=item COPYRIGHT AND LICENSE
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::locale, locale - Perl pragma to use and
-avoid POSIX locales for built-in operations
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::mro, mro - Method Resolution Order
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item OVERVIEW
-
-=item The C3 MRO
-
-=over 4
-
-=item What is C3?
-
-=item How does C3 work
-
-=back
-
-=item Functions
-
-=over 4
-
-=item mro::get_linear_isa($classname[, $type])
-
-=item mro::set_mro ($classname, $type)
-
-=item mro::get_mro($classname)
-
-=item mro::get_isarev($classname)
-
-=item mro::is_universal($classname)
-
-=item mro::invalidate_all_method_caches()
-
-=item mro::method_changed_in($classname)
-
-=item mro::get_pkg_gen($classname)
-
-=item next::method
-
-=item next::can
-
-=item maybe::next::method
-
-=back
-
-=item SEE ALSO
-
-=over 4
-
-=item The original Dylan paper
-
-L<http://www.webcom.com/haahr/dylan/linearization-oopsla96.html>
-
-=item Pugs
-
-=item Parrot
-
-L<http://aspn.activestate.com/ASPN/Mail/Message/perl6-internals/2746631>,
-L<http://use.perl.org/~autrijus/journal/25768>
-
-=item Python 2.3 MRO related links
-
-L<http://www.python.org/2.3/mro.html>,
-L<http://www.python.org/2.2.2/descrintro.html#mro>
-
-=item C3 for TinyCLOS
-
-L<http://www.call-with-current-continuation.org/eggs/c3.html>
-
-=item Class::C3
-
-L<Class::C3>
-
-=back
-
-=item AUTHOR
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::open, open - perl pragma to set default
-PerlIO layers for input and output
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item NONPERLIO FUNCTIONALITY
-
-=item IMPLEMENTATION DETAILS
-
-=item SEE ALSO
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::ops, ops - Perl pragma to restrict
-unsafe operations when compiling
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item SEE ALSO
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::overload, overload - Package for
-overloading Perl operations
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Fundamentals
-
-=item Overloadable Operations
-
-C<not>, C<neg>, C<++>, C<-->, I<Assignments>, I<Non-mutators with a mutator
-variant>, C<int>, I<String, numeric, boolean, and regexp conversions>,
-I<Iteration>, I<File tests>, I<Matching>, I<Dereferencing>, I<Special>
-
-=item Magic Autogeneration
-
-=item Special Keys for C<use overload>
-
-defined, but FALSE, C<undef>, TRUE
-
-=item How Perl Chooses an Operator Implementation
-
-=item Losing Overloading
-
-=item Inheritance and Overloading
-
-Method names in the C<use overload> directive, Overloading of an operation
-is inherited by derived classes
-
-=item Run-time Overloading
-
-=item Public Functions
-
-overload::StrVal(arg), overload::Overloaded(arg), overload::Method(obj,op)
-
-=item Overloading Constants
-
-integer, float, binary, q, qr
-
-=back
-
-=item IMPLEMENTATION
-
-=item COOKBOOK
-
-=over 4
-
-=item Two-face Scalars
-
-=item Two-face References
-
-=item Symbolic Calculator
-
-=item I<Really> Symbolic Calculator
-
-=back
-
-=item AUTHOR
-
-=item SEE ALSO
-
-=item DIAGNOSTICS
-
-Odd number of arguments for overload::constant, `%s' is not an overloadable
-type, `%s' is not a code reference
-
-=item BUGS AND PITFALLS
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::overloading, overloading - perl pragma
-to lexically control overloading
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-C<no overloading>, C<no overloading @ops>, C<use overloading>, C<use
-overloading @ops>
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::parent, parent - Establish an ISA
-relationship with base classes at compile time
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item DIAGNOSTICS
-
-Class 'Foo' tried to inherit from itself
-
-=item HISTORY
-
-=item CAVEATS
-
-=item SEE ALSO
-
-=item AUTHORS AND CONTRIBUTORS
-
-=item MAINTAINER
-
-=item LICENSE
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::re, re - Perl pragma to alter regular
-expression behaviour
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item 'taint' mode
-
-=item 'eval' mode
-
-=item '/flags' mode
-
-=item 'debug' mode
-
-=item 'Debug' mode
-
-Compile related options, COMPILE, PARSE, OPTIMISE, TRIEC, DUMP, Execute
-related options, EXECUTE, MATCH, TRIEE, INTUIT, Extra debugging options,
-EXTRA, BUFFERS, TRIEM, STATE, STACK, OPTIMISEM, OFFSETS, OFFSETSDBG, Other
-useful flags, ALL, All, MORE, More
-
-=item Exportable Functions
-
-is_regexp($ref), regexp_pattern($ref), regmust($ref), regname($name,$all),
-regnames($all), regnames_count()
-
-=back
-
-=item SEE ALSO
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::sigtrap, sigtrap - Perl pragma to enable
-simple signal handling
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item OPTIONS
-
-=over 4
-
-=item SIGNAL HANDLERS
-
-B<stack-trace>, B<die>, B<handler> I<your-handler>
-
-=item SIGNAL LISTS
-
-B<normal-signals>, B<error-signals>, B<old-interface-signals>
-
-=item OTHER
-
-B<untrapped>, B<any>, I<signal>, I<number>
-
-=back
-
-=item EXAMPLES
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::sort, sort - perl pragma to control
-sort() behaviour
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item CAVEATS
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::strict, strict - Perl pragma to restrict
-unsafe constructs
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-C<strict refs>, C<strict vars>, C<strict subs>
-
-=item HISTORY
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::subs, subs - Perl pragma to predeclare
-sub names
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::threads, threads - Perl
-interpreter-based threads
-
-=over 4
-
-=item VERSION
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-$thr = threads->create(FUNCTION, ARGS), $thr->join(), $thr->detach(),
-threads->detach(), threads->self(), $thr->tid(), threads->tid(), "$thr",
-threads->object($tid), threads->yield(), threads->list(),
-threads->list(threads::all), threads->list(threads::running),
-threads->list(threads::joinable), $thr1->equal($thr2), async BLOCK;,
-$thr->error(), $thr->_handle(), threads->_handle()
-
-=item EXITING A THREAD
-
-threads->exit(), threads->exit(status), die(), exit(status), use threads
-'exit' => 'threads_only', threads->create({'exit' => 'thread_only'}, ...),
-$thr->set_thread_exit_only(boolean), threads->set_thread_exit_only(boolean)
-
-=item THREAD STATE
-
-$thr->is_running(), $thr->is_joinable(), $thr->is_detached(),
-threads->is_detached()
-
-=item THREAD CONTEXT
-
-=over 4
-
-=item Explicit context
-
-=item Implicit context
-
-=item $thr->wantarray()
-
-=item threads->wantarray()
-
-=back
-
-=item THREAD STACK SIZE
-
-threads->get_stack_size();, $size = $thr->get_stack_size();, $old_size =
-threads->set_stack_size($new_size);, use threads ('stack_size' => VALUE);,
-$ENV{'PERL5_ITHREADS_STACK_SIZE'}, threads->create({'stack_size' => VALUE},
-FUNCTION, ARGS), $thr2 = $thr1->create(FUNCTION, ARGS)
-
-=item THREAD SIGNALLING
-
-$thr->kill('SIG...');
-
-=item WARNINGS
-
-Perl exited with active threads:, Thread creation failed: pthread_create
-returned #, Thread # terminated abnormally: .., Using minimum thread stack
-size of #, Thread creation failed: pthread_attr_setstacksize(I<SIZE>)
-returned 22
-
-=item ERRORS
-
-This Perl not built to support threads, Cannot change stack size of an
-existing thread, Cannot signal threads without safe signals, Unrecognized
-signal name: ..
-
-=item BUGS AND LIMITATIONS
-
-Thread-safe modules, Using non-thread-safe modules, Memory consumption,
-Current working directory, Environment variables, Parent-child threads,
-Creating threads inside special blocks, Unsafe signals, Perl has been built
-with C<PERL_OLD_SIGNALS> (see C<perl -V>), The environment variable
-C<PERL_SIGNALS> is set to C<unsafe> (see L<perlrun/"PERL_SIGNALS">), The
-module L<Perl::Unsafe::Signals> is used, Returning closures from threads,
-Returning objects from threads, END blocks in threads, Open directory
-handles, Perl Bugs and the CPAN Version of L<threads>
-
-=item REQUIREMENTS
-
-=item SEE ALSO
-
-=item AUTHOR
-
-=item LICENSE
-
-=item ACKNOWLEDGEMENTS
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::threads::shared, threads::shared - Perl
-extension for sharing data structures between threads
-
-=over 4
-
-=item VERSION
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item EXPORT
-
-=item FUNCTIONS
-
-share VARIABLE, shared_clone REF, is_shared VARIABLE, lock VARIABLE,
-cond_wait VARIABLE, cond_wait CONDVAR, LOCKVAR, cond_timedwait VARIABLE,
-ABS_TIMEOUT, cond_timedwait CONDVAR, ABS_TIMEOUT, LOCKVAR, cond_signal
-VARIABLE, cond_broadcast VARIABLE
-
-=item OBJECTS
-
-=item NOTES
-
-=item BUGS AND LIMITATIONS
-
-=item SEE ALSO
-
-=item AUTHOR
-
-=item LICENSE
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::utf8, utf8 - Perl pragma to
-enable/disable UTF-8 (or UTF-EBCDIC) in source code
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over 4
-
-=item Utility functions
-
-$num_octets = utf8::upgrade($string), $success = utf8::downgrade($string[,
-FAIL_OK]), utf8::encode($string), $success = utf8::decode($string), $flag =
-utf8::is_utf8(STRING), $flag = utf8::valid(STRING)
-
-=back
-
-=item BUGS
-
-=item SEE ALSO
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::vars, vars - Perl pragma to predeclare
-global variable names (obsolete)
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::version, version - Perl extension for
-Version Objects
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item TYPES OF VERSION OBJECTS
-
-Decimal Versions, Dotted Decimal Versions
-
-=item DECLARING VERSIONS
-
-=over 4
-
-=item How to convert a module from decimal to dotted-decimal
-
-=item How to C<declare()> a dotted-decimal version
-
-=back
-
-=item PARSING AND COMPARING VERSIONS
-
-=over 4
-
-=item How to C<parse()> a version
-
-=item How to check for a legal version string
-
-C<is_lax()>, C<is_strict()>
-
-=item How to compare version objects
-
-=back
-
-=item OBJECT METHODS
-
-=over 4
-
-=item is_alpha()
-
-=item is_qv()
-
-=item normal()
-
-=item numify()
-
-=item stringify()
-
-=back
-
-=item EXPORTED FUNCTIONS
-
-=over 4
-
-=item qv()
-
-=item is_lax()
-
-=item is_strict()
-
-=back
-
-=item AUTHOR
-
-=item SEE ALSO
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::version::Internals, version::Internals -
-Perl extension for Version Objects
-
-=over 4
-
-=item DESCRIPTION
-
-=item WHAT IS A VERSION?
-
-Decimal Versions, Dotted-Decimal Versions
-
-=over 4
-
-=item Decimal Versions
-
-=item Dotted-Decimal Versions
-
-=item Alpha Versions
-
-=item Regular Expressions for Version Parsing
-
-C<$version::LAX>, C<$version::STRICT>, v1.234.5
-
-=back
-
-=item IMPLEMENTATION DETAILS
-
-=over 4
-
-=item Equivalence between Decimal and Dotted-Decimal Versions
-
-=item Quoting Rules
-
-=item What about v-strings?
-
-=item Version Object Internals
-
-original, qv, alpha, version
-
-=item Replacement UNIVERSAL::VERSION
-
-=back
-
-=item USAGE DETAILS
-
-=over 4
-
-=item Using modules that use version.pm
-
-Decimal versions always work, Dotted-Decimal version work sometimes
-
-=item Object Methods
-
-new(), qv(), Normal Form, Numification, Stringification, Comparison
-operators, Logical Operators
-
-=back
-
-=item AUTHOR
-
-=item SEE ALSO
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::version::Requirements,
-Version::Requirements - a set of version requirements for a CPAN dist
-
-=over 4
-
-=item VERSION
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item METHODS
-
-=over 4
-
-=item new
-
-=item add_minimum
-
-=item add_maximum
-
-=item add_exclusion
-
-=item exact_version
-
-=item add_requirements
-
-=item accepts_module
-
-=item clear_requirement
-
-=item required_modules
-
-=item clone
-
-=item is_simple
-
-=item is_finalized
-
-=item finalize
-
-=item as_string_hash
-
-=item from_string_hash
-
-=back
-
-=item AUTHOR
-
-=item COPYRIGHT AND LICENSE
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::vmsish, vmsish - Perl pragma to control
-VMS-specific language features
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-C<vmsish status>, C<vmsish exit>, C<vmsish time>, C<vmsish hushed>
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::warnings, warnings - Perl pragma to
-control optional warnings
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-use warnings::register, warnings::enabled(), warnings::enabled($category),
-warnings::enabled($object), warnings::fatal_enabled(),
-warnings::fatal_enabled($category), warnings::fatal_enabled($object),
-warnings::warn($message), warnings::warn($category, $message),
-warnings::warn($object, $message), warnings::warnif($message),
-warnings::warnif($category, $message), warnings::warnif($object, $message),
-warnings::register_categories(@names)
-
-=back
-
-=head2 C:\perl_tl\perl-5.14.2\lib::warnings::register, warnings::register -
-warnings import function
-
-=over 4
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=back
-
=head1 AUXILIARY DOCUMENTATION
Here should be listed all the extra programs' documentation, but they
@@ -38525,16 +37239,12 @@ don't all have manual pages yet:
=item c2ph
-=item dprofpp
-
=item h2ph
=item h2xs
=item perlbug
-=item perldoc
-
=item pl2pm
=item pod2html
diff --git a/Master/tlpkg/tlperl/lib/pods/perltodo.pod b/Master/tlpkg/tlperl/lib/pods/perltodo.pod
index de0e373b468..524a501681f 100644
--- a/Master/tlpkg/tlperl/lib/pods/perltodo.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perltodo.pod
@@ -4,1277 +4,7 @@ perltodo - Perl TO-DO List
=head1 DESCRIPTION
-This is a list of wishes for Perl. The most up to date version of this file
-is at L<http://perl5.git.perl.org/perl.git/blob_plain/HEAD:/pod/perltodo.pod>
-
-The tasks we think are smaller or easier are listed first. Anyone is welcome
-to work on any of these, but it's a good idea to first contact
-I<perl5-porters@perl.org> to avoid duplication of effort, and to learn from
-any previous attempts. By all means contact a pumpking privately first if you
-prefer.
-
-Whilst patches to make the list shorter are most welcome, ideas to add to
-the list are also encouraged. Check the perl5-porters archives for past
-ideas, and any discussion about them. One set of archives may be found at
-L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/>
-
-What can we offer you in return? Fame, fortune, and everlasting glory? Maybe
-not, but if your patch is incorporated, then we'll add your name to the
-F<AUTHORS> file, which ships in the official distribution. How many other
-programming languages offer you 1 line of immortality?
-
-=head1 Tasks that only need Perl knowledge
-
-=head2 Migrate t/ from custom TAP generation
-
-Many tests below F<t/> still generate TAP by "hand", rather than using library
-functions. As explained in L<perlhack/TESTING>, tests in F<t/> are
-written in a particular way to test that more complex constructions actually
-work before using them routinely. Hence they don't use C<Test::More>, but
-instead there is an intentionally simpler library, F<t/test.pl>. However,
-quite a few tests in F<t/> have not been refactored to use it. Refactoring
-any of these tests, one at a time, is a useful thing TODO.
-
-The subdirectories F<base>, F<cmd> and F<comp>, that contain the most
-basic tests, should be excluded from this task.
-
-=head2 Automate perldelta generation
-
-The perldelta file accompanying each release summaries the major changes.
-It's mostly manually generated currently, but some of that could be
-automated with a bit of perl, specifically the generation of
-
-=over
-
-=item Modules and Pragmata
-
-=item New Documentation
-
-=item New Tests
-
-=back
-
-See F<Porting/how_to_write_a_perldelta.pod> for details.
-
-=head2 Remove duplication of test setup.
-
-Schwern notes, that there's duplication of code - lots and lots of tests have
-some variation on the big block of C<$Is_Foo> checks. We can safely put this
-into a file, change it to build an C<%Is> hash and require it. Maybe just put
-it into F<test.pl>. Throw in the handy tainting subroutines.
-
-=head2 POD -E<gt> HTML conversion in the core still sucks
-
-Which is crazy given just how simple POD purports to be, and how simple HTML
-can be. It's not actually I<as> simple as it sounds, particularly with the
-flexibility POD allows for C<=item>, but it would be good to improve the
-visual appeal of the HTML generated, and to avoid it having any validation
-errors. See also L</make HTML install work>, as the layout of installation tree
-is needed to improve the cross-linking.
-
-The addition of C<Pod::Simple> and its related modules may make this task
-easier to complete.
-
-=head2 Make ExtUtils::ParseXS use strict;
-
-F<lib/ExtUtils/ParseXS.pm> contains this line
-
- # use strict; # One of these days...
-
-Simply uncomment it, and fix all the resulting issues :-)
-
-The more practical approach, to break the task down into manageable chunks, is
-to work your way though the code from bottom to top, or if necessary adding
-extra C<{ ... }> blocks, and turning on strict within them.
-
-=head2 Make Schwern poorer
-
-We should have tests for everything. When all the core's modules are tested,
-Schwern has promised to donate to $500 to TPF. We may need volunteers to
-hold him upside down and shake vigorously in order to actually extract the
-cash.
-
-=head2 Improve the coverage of the core tests
-
-Use Devel::Cover to ascertain the core modules' test coverage, then add
-tests that are currently missing.
-
-=head2 test B
-
-A full test suite for the B module would be nice.
-
-=head2 A decent benchmark
-
-C<perlbench> seems impervious to any recent changes made to the perl core. It
-would be useful to have a reasonable general benchmarking suite that roughly
-represented what current perl programs do, and measurably reported whether
-tweaks to the core improve, degrade or don't really affect performance, to
-guide people attempting to optimise the guts of perl. Gisle would welcome
-new tests for perlbench.
-
-=head2 fix tainting bugs
-
-Fix the bugs revealed by running the test suite with the C<-t> switch (via
-C<make test.taintwarn>).
-
-=head2 Dual life everything
-
-As part of the "dists" plan, anything that doesn't belong in the smallest perl
-distribution needs to be dual lifed. Anything else can be too. Figure out what
-changes would be needed to package that module and its tests up for CPAN, and
-do so. Test it with older perl releases, and fix the problems you find.
-
-To make a minimal perl distribution, it's useful to look at
-F<t/lib/commonsense.t>.
-
-=head2 POSIX memory footprint
-
-Ilya observed that use POSIX; eats memory like there's no tomorrow, and at
-various times worked to cut it down. There is probably still fat to cut out -
-for example POSIX passes Exporter some very memory hungry data structures.
-
-=head2 embed.pl/makedef.pl
-
-There is a script F<embed.pl> that generates several header files to prefix
-all of Perl's symbols in a consistent way, to provide some semblance of
-namespace support in C<C>. Functions are declared in F<embed.fnc>, variables
-in F<interpvar.h>. Quite a few of the functions and variables
-are conditionally declared there, using C<#ifdef>. However, F<embed.pl>
-doesn't understand the C macros, so the rules about which symbols are present
-when is duplicated in F<makedef.pl>. Writing things twice is bad, m'kay.
-It would be good to teach C<embed.pl> to understand the conditional
-compilation, and hence remove the duplication, and the mistakes it has caused.
-
-=head2 use strict; and AutoLoad
-
-Currently if you write
-
- package Whack;
- use AutoLoader 'AUTOLOAD';
- use strict;
- 1;
- __END__
- sub bloop {
- print join (' ', No, strict, here), "!\n";
- }
-
-then C<use strict;> isn't in force within the autoloaded subroutines. It would
-be more consistent (and less surprising) to arrange for all lexical pragmas
-in force at the __END__ block to be in force within each autoloaded subroutine.
-
-There's a similar problem with SelfLoader.
-
-=head2 profile installman
-
-The F<installman> script is slow. All it is doing text processing, which we're
-told is something Perl is good at. So it would be nice to know what it is doing
-that is taking so much CPU, and where possible address it.
-
-=head2 enable lexical enabling/disabling of individual warnings
-
-Currently, warnings can only be enabled or disabled by category. There
-are times when it would be useful to quash a single warning, not a
-whole category.
-
-=head1 Tasks that need a little sysadmin-type knowledge
-
-Or if you prefer, tasks that you would learn from, and broaden your skills
-base...
-
-=head2 make HTML install work
-
-There is an C<installhtml> target in the Makefile. It's marked as
-"experimental". It would be good to get this tested, make it work reliably, and
-remove the "experimental" tag. This would include
-
-=over 4
-
-=item 1
-
-Checking that cross linking between various parts of the documentation works.
-In particular that links work between the modules (files with POD in F<lib/>)
-and the core documentation (files in F<pod/>)
-
-=item 2
-
-Work out how to split C<perlfunc> into chunks, preferably one per function
-group, preferably with general case code that could be used elsewhere.
-Challenges here are correctly identifying the groups of functions that go
-together, and making the right named external cross-links point to the right
-page. Things to be aware of are C<-X>, groups such as C<getpwnam> to
-C<endservent>, two or more C<=items> giving the different parameter lists, such
-as
-
- =item substr EXPR,OFFSET,LENGTH,REPLACEMENT
- =item substr EXPR,OFFSET,LENGTH
- =item substr EXPR,OFFSET
-
-and different parameter lists having different meanings. (eg C<select>)
-
-=back
-
-=head2 compressed man pages
-
-Be able to install them. This would probably need a configure test to see how
-the system does compressed man pages (same directory/different directory?
-same filename/different filename), as well as tweaking the F<installman> script
-to compress as necessary.
-
-=head2 Add a code coverage target to the Makefile
-
-Make it easy for anyone to run Devel::Cover on the core's tests. The steps
-to do this manually are roughly
-
-=over 4
-
-=item *
-
-do a normal C<Configure>, but include Devel::Cover as a module to install
-(see L<INSTALL> for how to do this)
-
-=item *
-
- make perl
-
-=item *
-
- cd t; HARNESS_PERL_SWITCHES=-MDevel::Cover ./perl -I../lib harness
-
-=item *
-
-Process the resulting Devel::Cover database
-
-=back
-
-This just give you the coverage of the F<.pm>s. To also get the C level
-coverage you need to
-
-=over 4
-
-=item *
-
-Additionally tell C<Configure> to use the appropriate C compiler flags for
-C<gcov>
-
-=item *
-
- make perl.gcov
-
-(instead of C<make perl>)
-
-=item *
-
-After running the tests run C<gcov> to generate all the F<.gcov> files.
-(Including down in the subdirectories of F<ext/>
-
-=item *
-
-(From the top level perl directory) run C<gcov2perl> on all the C<.gcov> files
-to get their stats into the cover_db directory.
-
-=item *
-
-Then process the Devel::Cover database
-
-=back
-
-It would be good to add a single switch to C<Configure> to specify that you
-wanted to perform perl level coverage, and another to specify C level
-coverage, and have C<Configure> and the F<Makefile> do all the right things
-automatically.
-
-=head2 Make Config.pm cope with differences between built and installed perl
-
-Quite often vendors ship a perl binary compiled with their (pay-for)
-compilers. People install a free compiler, such as gcc. To work out how to
-build extensions, Perl interrogates C<%Config>, so in this situation
-C<%Config> describes compilers that aren't there, and extension building
-fails. This forces people into choosing between re-compiling perl themselves
-using the compiler they have, or only using modules that the vendor ships.
-
-It would be good to find a way teach C<Config.pm> about the installation setup,
-possibly involving probing at install time or later, so that the C<%Config> in
-a binary distribution better describes the installed machine, when the
-installed machine differs from the build machine in some significant way.
-
-=head2 linker specification files
-
-Some platforms mandate that you provide a list of a shared library's external
-symbols to the linker, so the core already has the infrastructure in place to
-do this for generating shared perl libraries. My understanding is that the
-GNU toolchain can accept an optional linker specification file, and restrict
-visibility just to symbols declared in that file. It would be good to extend
-F<makedef.pl> to support this format, and to provide a means within
-C<Configure> to enable it. This would allow Unix users to test that the
-export list is correct, and to build a perl that does not pollute the global
-namespace with private symbols, and will fail in the same way as msvc or mingw
-builds or when using PERL_DL_NONLAZY=1.
-
-=head2 Cross-compile support
-
-Currently C<Configure> understands C<-Dusecrosscompile> option. This option
-arranges for building C<miniperl> for TARGET machine, so this C<miniperl> is
-assumed then to be copied to TARGET machine and used as a replacement of full
-C<perl> executable.
-
-This could be done little differently. Namely C<miniperl> should be built for
-HOST and then full C<perl> with extensions should be compiled for TARGET.
-This, however, might require extra trickery for %Config: we have one config
-first for HOST and then another for TARGET. Tools like MakeMaker will be
-mightily confused. Having around two different types of executables and
-libraries (HOST and TARGET) makes life interesting for Makefiles and
-shell (and Perl) scripts. There is $Config{run}, normally empty, which
-can be used as an execution wrapper. Also note that in some
-cross-compilation/execution environments the HOST and the TARGET do
-not see the same filesystem(s), the $Config{run} may need to do some
-file/directory copying back and forth.
-
-=head2 roffitall
-
-Make F<pod/roffitall> be updated by F<pod/buildtoc>.
-
-=head2 Split "linker" from "compiler"
-
-Right now, Configure probes for two commands, and sets two variables:
-
-=over 4
-
-=item * C<cc> (in F<cc.U>)
-
-This variable holds the name of a command to execute a C compiler which
-can resolve multiple global references that happen to have the same
-name. Usual values are F<cc> and F<gcc>.
-Fervent ANSI compilers may be called F<c89>. AIX has F<xlc>.
-
-=item * C<ld> (in F<dlsrc.U>)
-
-This variable indicates the program to be used to link
-libraries for dynamic loading. On some systems, it is F<ld>.
-On ELF systems, it should be C<$cc>. Mostly, we'll try to respect
-the hint file setting.
-
-=back
-
-There is an implicit historical assumption from around Perl5.000alpha
-something, that C<$cc> is also the correct command for linking object files
-together to make an executable. This may be true on Unix, but it's not true
-on other platforms, and there are a maze of work arounds in other places (such
-as F<Makefile.SH>) to cope with this.
-
-Ideally, we should create a new variable to hold the name of the executable
-linker program, probe for it in F<Configure>, and centralise all the special
-case logic there or in hints files.
-
-A small bikeshed issue remains - what to call it, given that C<$ld> is already
-taken (arguably for the wrong thing now, but on SunOS 4.1 it is the command
-for creating dynamically-loadable modules) and C<$link> could be confused with
-the Unix command line executable of the same name, which does something
-completely different. Andy Dougherty makes the counter argument "In parrot, I
-tried to call the command used to link object files and libraries into an
-executable F<link>, since that's what my vaguely-remembered DOS and VMS
-experience suggested. I don't think any real confusion has ensued, so it's
-probably a reasonable name for perl5 to use."
-
-"Alas, I've always worried that introducing it would make things worse,
-since now the module building utilities would have to look for
-C<$Config{link}> and institute a fall-back plan if it weren't found."
-Although I can see that as confusing, given that C<$Config{d_link}> is true
-when (hard) links are available.
-
-=head2 Configure Windows using PowerShell
-
-Currently, Windows uses hard-coded config files based to build the
-config.h for compiling Perl. Makefiles are also hard-coded and need to be
-hand edited prior to building Perl. While this makes it easy to create a perl.exe
-that works across multiple Windows versions, being able to accurately
-configure a perl.exe for a specific Windows versions and VS C++ would be
-a nice enhancement. With PowerShell available on Windows XP and up, this
-may now be possible. Step 1 might be to investigate whether this is possible
-and use this to clean up our current makefile situation. Step 2 would be to
-see if there would be a way to use our existing metaconfig units to configure a
-Windows Perl or whether we go in a separate direction and make it so. Of
-course, we all know what step 3 is.
-
-=head2 decouple -g and -DDEBUGGING
-
-Currently F<Configure> automatically adds C<-DDEBUGGING> to the C compiler
-flags if it spots C<-g> in the optimiser flags. The pre-processor directive
-C<DEBUGGING> enables F<perl>'s command line C<-D> options, but in the process
-makes F<perl> slower. It would be good to disentangle this logic, so that
-C-level debugging with C<-g> and Perl level debugging with C<-D> can easily
-be enabled independently.
-
-=head1 Tasks that need a little C knowledge
-
-These tasks would need a little C knowledge, but don't need any specific
-background or experience with XS, or how the Perl interpreter works
-
-=head2 Weed out needless PERL_UNUSED_ARG
-
-The C code uses the macro C<PERL_UNUSED_ARG> to stop compilers warning about
-unused arguments. Often the arguments can't be removed, as there is an
-external constraint that determines the prototype of the function, so this
-approach is valid. However, there are some cases where C<PERL_UNUSED_ARG>
-could be removed. Specifically
-
-=over 4
-
-=item *
-
-The prototypes of (nearly all) static functions can be changed
-
-=item *
-
-Unused arguments generated by short cut macros are wasteful - the short cut
-macro used can be changed.
-
-=back
-
-=head2 Modernize the order of directories in @INC
-
-The way @INC is laid out by default, one cannot upgrade core (dual-life)
-modules without overwriting files. This causes problems for binary
-package builders. One possible proposal is laid out in this
-message:
-L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2002-04/msg02380.html>
-
-=head2 -Duse32bit*
-
-Natively 64-bit systems need neither -Duse64bitint nor -Duse64bitall.
-On these systems, it might be the default compilation mode, and there
-is currently no guarantee that passing no use64bitall option to the
-Configure process will build a 32bit perl. Implementing -Duse32bit*
-options would be nice for perl 5.14.
-
-=head2 Profile Perl - am I hot or not?
-
-The Perl source code is stable enough that it makes sense to profile it,
-identify and optimise the hotspots. It would be good to measure the
-performance of the Perl interpreter using free tools such as cachegrind,
-gprof, and dtrace, and work to reduce the bottlenecks they reveal.
-
-As part of this, the idea of F<pp_hot.c> is that it contains the I<hot> ops,
-the ops that are most commonly used. The idea is that by grouping them, their
-object code will be adjacent in the executable, so they have a greater chance
-of already being in the CPU cache (or swapped in) due to being near another op
-already in use.
-
-Except that it's not clear if these really are the most commonly used ops. So
-as part of exercising your skills with coverage and profiling tools you might
-want to determine what ops I<really> are the most commonly used. And in turn
-suggest evictions and promotions to achieve a better F<pp_hot.c>.
-
-One piece of Perl code that might make a good testbed is F<installman>.
-
-=head2 Allocate OPs from arenas
-
-Currently all new OP structures are individually malloc()ed and free()d.
-All C<malloc> implementations have space overheads, and are now as fast as
-custom allocates so it would both use less memory and less CPU to allocate
-the various OP structures from arenas. The SV arena code can probably be
-re-used for this.
-
-Note that Configuring perl with C<-Accflags=-DPL_OP_SLAB_ALLOC> will use
-Perl_Slab_alloc() to pack optrees into a contiguous block, which is
-probably superior to the use of OP arenas, esp. from a cache locality
-standpoint. See L<Profile Perl - am I hot or not?>.
-
-=head2 Improve win32/wince.c
-
-Currently, numerous functions look virtually, if not completely,
-identical in both C<win32/wince.c> and C<win32/win32.c> files, which can't
-be good.
-
-=head2 Use secure CRT functions when building with VC8 on Win32
-
-Visual C++ 2005 (VC++ 8.x) deprecated a number of CRT functions on the basis
-that they were "unsafe" and introduced differently named secure versions of
-them as replacements, e.g. instead of writing
-
- FILE* f = fopen(__FILE__, "r");
-
-one should now write
-
- FILE* f;
- errno_t err = fopen_s(&f, __FILE__, "r");
-
-Currently, the warnings about these deprecations have been disabled by adding
--D_CRT_SECURE_NO_DEPRECATE to the CFLAGS. It would be nice to remove that
-warning suppressant and actually make use of the new secure CRT functions.
-
-There is also a similar issue with POSIX CRT function names like fileno having
-been deprecated in favour of ISO C++ conformant names like _fileno. These
-warnings are also currently suppressed by adding -D_CRT_NONSTDC_NO_DEPRECATE. It
-might be nice to do as Microsoft suggest here too, although, unlike the secure
-functions issue, there is presumably little or no benefit in this case.
-
-=head2 Fix POSIX::access() and chdir() on Win32
-
-These functions currently take no account of DACLs and therefore do not behave
-correctly in situations where access is restricted by DACLs (as opposed to the
-read-only attribute).
-
-Furthermore, POSIX::access() behaves differently for directories having the
-read-only attribute set depending on what CRT library is being used. For
-example, the _access() function in the VC6 and VC7 CRTs (wrongly) claim that
-such directories are not writable, whereas in fact all directories are writable
-unless access is denied by DACLs. (In the case of directories, the read-only
-attribute actually only means that the directory cannot be deleted.) This CRT
-bug is fixed in the VC8 and VC9 CRTs (but, of course, the directory may still
-not actually be writable if access is indeed denied by DACLs).
-
-For the chdir() issue, see ActiveState bug #74552:
-L<http://bugs.activestate.com/show_bug.cgi?id=74552>
-
-Therefore, DACLs should be checked both for consistency across CRTs and for
-the correct answer.
-
-(Note that perl's -w operator should not be modified to check DACLs. It has
-been written so that it reflects the state of the read-only attribute, even
-for directories (whatever CRT is being used), for symmetry with chmod().)
-
-=head2 strcat(), strcpy(), strncat(), strncpy(), sprintf(), vsprintf()
-
-Maybe create a utility that checks after each libperl.a creation that
-none of the above (nor sprintf(), vsprintf(), or *SHUDDER* gets())
-ever creep back to libperl.a.
-
- nm libperl.a | ./miniperl -alne '$o = $F[0] if /:$/; print "$o $F[1]" if $F[0] eq "U" && $F[1] =~ /^(?:strn?c(?:at|py)|v?sprintf|gets)$/'
-
-Note, of course, that this will only tell whether B<your> platform
-is using those naughty interfaces.
-
-=head2 -D_FORTIFY_SOURCE=2, -fstack-protector
-
-Recent glibcs support C<-D_FORTIFY_SOURCE=2> and recent gcc
-(4.1 onwards?) supports C<-fstack-protector>, both of which give
-protection against various kinds of buffer overflow problems.
-These should probably be used for compiling Perl whenever available,
-Configure and/or hints files should be adjusted to probe for the
-availability of these features and enable them as appropriate.
-
-=head2 Arenas for GPs? For MAGIC?
-
-C<struct gp> and C<struct magic> are both currently allocated by C<malloc>.
-It might be a speed or memory saving to change to using arenas. Or it might
-not. It would need some suitable benchmarking first. In particular, C<GP>s
-can probably be changed with minimal compatibility impact (probably nothing
-outside of the core, or even outside of F<gv.c> allocates them), but they
-probably aren't allocated/deallocated often enough for a speed saving. Whereas
-C<MAGIC> is allocated/deallocated more often, but in turn, is also something
-more externally visible, so changing the rules here may bite external code.
-
-=head2 Shared arenas
-
-Several SV body structs are now the same size, notably PVMG and PVGV, PVAV and
-PVHV, and PVCV and PVFM. It should be possible to allocate and return same
-sized bodies from the same actual arena, rather than maintaining one arena for
-each. This could save 4-6K per thread, of memory no longer tied up in the
-not-yet-allocated part of an arena.
-
-
-=head1 Tasks that need a knowledge of XS
-
-These tasks would need C knowledge, and roughly the level of knowledge of
-the perl API that comes from writing modules that use XS to interface to
-C.
-
-=head2 Write an XS cookbook
-
-Create pod/perlxscookbook.pod with short, task-focused 'recipes' in XS that
-demonstrate common tasks and good practices. (Some of these might be
-extracted from perlguts.) The target audience should be XS novices, who need
-more examples than perlguts but something less overwhelming than perlapi.
-Recipes should provide "one pretty good way to do it" instead of TIMTOWTDI.
-
-Rather than focusing on interfacing Perl to C libraries, such a cookbook
-should probably focus on how to optimize Perl routines by re-writing them
-in XS. This will likely be more motivating to those who mostly work in
-Perl but are looking to take the next step into XS.
-
-Deconstructing and explaining some simpler XS modules could be one way to
-bootstrap a cookbook. (List::Util? Class::XSAccessor? Tree::Ternary_XS?)
-Another option could be deconstructing the implementation of some simpler
-functions in op.c.
-
-=head2 Allow XSUBs to inline themselves as OPs
-
-For a simple XSUB, often the subroutine dispatch takes more time than the
-XSUB itself. The tokeniser already has the ability to inline constant
-subroutines - it would be good to provide a way to inline other subroutines.
-
-Specifically, simplest approach looks to be to allow an XSUB to provide an
-alternative implementation of itself as a custom OP. A new flag bit in
-C<CvFLAGS()> would signal to the peephole optimiser to take an optree
-such as this:
-
- b <@> leave[1 ref] vKP/REFC ->(end)
- 1 <0> enter ->2
- 2 <;> nextstate(main 1 -e:1) v:{ ->3
- a <2> sassign vKS/2 ->b
- 8 <1> entersub[t2] sKS/TARG,1 ->9
- - <1> ex-list sK ->8
- 3 <0> pushmark s ->4
- 4 <$> const(IV 1) sM ->5
- 6 <1> rv2av[t1] lKM/1 ->7
- 5 <$> gv(*a) s ->6
- - <1> ex-rv2cv sK ->-
- 7 <$> gv(*x) s/EARLYCV ->8
- - <1> ex-rv2sv sKRM*/1 ->a
- 9 <$> gvsv(*b) s ->a
-
-perform the symbol table lookup of C<rv2cv> and C<gv(*x)>, locate the
-pointer to the custom OP that provides the direct implementation, and re-
-write the optree something like:
-
- b <@> leave[1 ref] vKP/REFC ->(end)
- 1 <0> enter ->2
- 2 <;> nextstate(main 1 -e:1) v:{ ->3
- a <2> sassign vKS/2 ->b
- 7 <1> custom_x -> 8
- - <1> ex-list sK ->7
- 3 <0> pushmark s ->4
- 4 <$> const(IV 1) sM ->5
- 6 <1> rv2av[t1] lKM/1 ->7
- 5 <$> gv(*a) s ->6
- - <1> ex-rv2cv sK ->-
- - <$> ex-gv(*x) s/EARLYCV ->7
- - <1> ex-rv2sv sKRM*/1 ->a
- 8 <$> gvsv(*b) s ->a
-
-I<i.e.> the C<gv(*)> OP has been nulled and spliced out of the execution
-path, and the C<entersub> OP has been replaced by the custom op.
-
-This approach should provide a measurable speed up to simple XSUBs inside
-tight loops. Initially one would have to write the OP alternative
-implementation by hand, but it's likely that this should be reasonably
-straightforward for the type of XSUB that would benefit the most. Longer
-term, once the run-time implementation is proven, it should be possible to
-progressively update ExtUtils::ParseXS to generate OP implementations for
-some XSUBs.
-
-=head2 Remove the use of SVs as temporaries in dump.c
-
-F<dump.c> contains debugging routines to dump out the contains of perl data
-structures, such as C<SV>s, C<AV>s and C<HV>s. Currently, the dumping code
-B<uses> C<SV>s for its temporary buffers, which was a logical initial
-implementation choice, as they provide ready made memory handling.
-
-However, they also lead to a lot of confusion when it happens that what you're
-trying to debug is seen by the code in F<dump.c>, correctly or incorrectly, as
-a temporary scalar it can use for a temporary buffer. It's also not possible
-to dump scalars before the interpreter is properly set up, such as during
-ithreads cloning. It would be good to progressively replace the use of scalars
-as string accumulation buffers with something much simpler, directly allocated
-by C<malloc>. The F<dump.c> code is (or should be) only producing 7 bit
-US-ASCII, so output character sets are not an issue.
-
-Producing and proving an internal simple buffer allocation would make it easier
-to re-write the internals of the PerlIO subsystem to avoid using C<SV>s for
-B<its> buffers, use of which can cause problems similar to those of F<dump.c>,
-at similar times.
-
-=head2 safely supporting POSIX SA_SIGINFO
-
-Some years ago Jarkko supplied patches to provide support for the POSIX
-SA_SIGINFO feature in Perl, passing the extra data to the Perl signal handler.
-
-Unfortunately, it only works with "unsafe" signals, because under safe
-signals, by the time Perl gets to run the signal handler, the extra
-information has been lost. Moreover, it's not easy to store it somewhere,
-as you can't call mutexs, or do anything else fancy, from inside a signal
-handler.
-
-So it strikes me that we could provide safe SA_SIGINFO support
-
-=over 4
-
-=item 1
-
-Provide global variables for two file descriptors
-
-=item 2
-
-When the first request is made via C<sigaction> for C<SA_SIGINFO>, create a
-pipe, store the reader in one, the writer in the other
-
-=item 3
-
-In the "safe" signal handler (C<Perl_csighandler()>/C<S_raise_signal()>), if
-the C<siginfo_t> pointer non-C<NULL>, and the writer file handle is open,
-
-=over 8
-
-=item 1
-
-serialise signal number, C<struct siginfo_t> (or at least the parts we care
-about) into a small auto char buff
-
-=item 2
-
-C<write()> that (non-blocking) to the writer fd
-
-=over 12
-
-=item 1
-
-if it writes 100%, flag the signal in a counter of "signals on the pipe" akin
-to the current per-signal-number counts
-
-=item 2
-
-if it writes 0%, assume the pipe is full. Flag the data as lost?
-
-=item 3
-
-if it writes partially, croak a panic, as your OS is broken.
-
-=back
-
-=back
-
-=item 4
-
-in the regular C<PERL_ASYNC_CHECK()> processing, if there are "signals on
-the pipe", read the data out, deserialise, build the Perl structures on
-the stack (code in C<Perl_sighandler()>, the "unsafe" handler), and call as
-usual.
-
-=back
-
-I think that this gets us decent C<SA_SIGINFO> support, without the current risk
-of running Perl code inside the signal handler context. (With all the dangers
-of things like C<malloc> corruption that that currently offers us)
-
-For more information see the thread starting with this message:
-L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-03/msg00305.html>
-
-=head2 autovivification
-
-Make all autovivification consistent w.r.t LVALUE/RVALUE and strict/no strict;
-
-This task is incremental - even a little bit of work on it will help.
-
-=head2 Unicode in Filenames
-
-chdir, chmod, chown, chroot, exec, glob, link, lstat, mkdir, open,
-opendir, qx, readdir, readlink, rename, rmdir, stat, symlink, sysopen,
-system, truncate, unlink, utime, -X. All these could potentially accept
-Unicode filenames either as input or output (and in the case of system
-and qx Unicode in general, as input or output to/from the shell).
-Whether a filesystem - an operating system pair understands Unicode in
-filenames varies.
-
-Known combinations that have some level of understanding include
-Microsoft NTFS, Apple HFS+ (In Mac OS 9 and X) and Apple UFS (in Mac
-OS X), NFS v4 is rumored to be Unicode, and of course Plan 9. How to
-create Unicode filenames, what forms of Unicode are accepted and used
-(UCS-2, UTF-16, UTF-8), what (if any) is the normalization form used,
-and so on, varies. Finding the right level of interfacing to Perl
-requires some thought. Remember that an OS does not implicate a
-filesystem.
-
-(The Windows -C command flag "wide API support" has been at least
-temporarily retired in 5.8.1, and the -C has been repurposed, see
-L<perlrun>.)
-
-Most probably the right way to do this would be this:
-L</"Virtualize operating system access">.
-
-=head2 Unicode in %ENV
-
-Currently the %ENV entries are always byte strings.
-See L</"Virtualize operating system access">.
-
-=head2 Unicode and glob()
-
-Currently glob patterns and filenames returned from File::Glob::glob()
-are always byte strings. See L</"Virtualize operating system access">.
-
-=head2 use less 'memory'
-
-Investigate trade offs to switch out perl's choices on memory usage.
-Particularly perl should be able to give memory back.
-
-This task is incremental - even a little bit of work on it will help.
-
-=head2 Re-implement C<:unique> in a way that is actually thread-safe
-
-The old implementation made bad assumptions on several levels. A good 90%
-solution might be just to make C<:unique> work to share the string buffer
-of SvPVs. That way large constant strings can be shared between ithreads,
-such as the configuration information in F<Config>.
-
-=head2 Make tainting consistent
-
-Tainting would be easier to use if it didn't take documented shortcuts and
-allow taint to "leak" everywhere within an expression.
-
-=head2 readpipe(LIST)
-
-system() accepts a LIST syntax (and a PROGRAM LIST syntax) to avoid
-running a shell. readpipe() (the function behind qx//) could be similarly
-extended.
-
-=head2 Audit the code for destruction ordering assumptions
-
-Change 25773 notes
-
- /* Need to check SvMAGICAL, as during global destruction it may be that
- AvARYLEN(av) has been freed before av, and hence the SvANY() pointer
- is now part of the linked list of SV heads, rather than pointing to
- the original body. */
- /* FIXME - audit the code for other bugs like this one. */
-
-adding the C<SvMAGICAL> check to
-
- if (AvARYLEN(av) && SvMAGICAL(AvARYLEN(av))) {
- MAGIC *mg = mg_find (AvARYLEN(av), PERL_MAGIC_arylen);
-
-Go through the core and look for similar assumptions that SVs have particular
-types, as all bets are off during global destruction.
-
-=head2 Extend PerlIO and PerlIO::Scalar
-
-PerlIO::Scalar doesn't know how to truncate(). Implementing this
-would require extending the PerlIO vtable.
-
-Similarly the PerlIO vtable doesn't know about formats (write()), or
-about stat(), or chmod()/chown(), utime(), or flock().
-
-(For PerlIO::Scalar it's hard to see what e.g. mode bits or ownership
-would mean.)
-
-PerlIO doesn't do directories or symlinks, either: mkdir(), rmdir(),
-opendir(), closedir(), seekdir(), rewinddir(), glob(); symlink(),
-readlink().
-
-See also L</"Virtualize operating system access">.
-
-=head2 -C on the #! line
-
-It should be possible to make -C work correctly if found on the #! line,
-given that all perl command line options are strict ASCII, and -C changes
-only the interpretation of non-ASCII characters, and not for the script file
-handle. To make it work needs some investigation of the ordering of function
-calls during startup, and (by implication) a bit of tweaking of that order.
-
-=head2 Organize error messages
-
-Perl's diagnostics (error messages, see L<perldiag>) could use
-reorganizing and formalizing so that each error message has its
-stable-for-all-eternity unique id, categorized by severity, type, and
-subsystem. (The error messages would be listed in a datafile outside
-of the Perl source code, and the source code would only refer to the
-messages by the id.) This clean-up and regularizing should apply
-for all croak() messages.
-
-This would enable all sorts of things: easier translation/localization
-of the messages (though please do keep in mind the caveats of
-L<Locale::Maketext> about too straightforward approaches to
-translation), filtering by severity, and instead of grepping for a
-particular error message one could look for a stable error id. (Of
-course, changing the error messages by default would break all the
-existing software depending on some particular error message...)
-
-This kind of functionality is known as I<message catalogs>. Look for
-inspiration for example in the catgets() system, possibly even use it
-if available-- but B<only> if available, all platforms will B<not>
-have catgets().
-
-For the really pure at heart, consider extending this item to cover
-also the warning messages (see L<perllexwarn>, C<warnings.pl>).
-
-=head1 Tasks that need a knowledge of the interpreter
-
-These tasks would need C knowledge, and knowledge of how the interpreter works,
-or a willingness to learn.
-
-=head2 forbid labels with keyword names
-
-Currently C<goto keyword> "computes" the label value:
-
- $ perl -e 'goto print'
- Can't find label 1 at -e line 1.
-
-It is controversial if the right way to avoid the confusion is to forbid
-labels with keyword names, or if it would be better to always treat
-bareword expressions after a "goto" as a label and never as a keyword.
-
-=head2 truncate() prototype
-
-The prototype of truncate() is currently C<$$>. It should probably
-be C<*$> instead. (This is changed in F<opcode.pl>)
-
-=head2 decapsulation of smart match argument
-
-Currently C<$foo ~~ $object> will die with the message "Smart matching a
-non-overloaded object breaks encapsulation". It would be nice to allow
-to bypass this by using explicitly the syntax C<$foo ~~ %$object> or
-C<$foo ~~ @$object>.
-
-=head2 error reporting of [$a ; $b]
-
-Using C<;> inside brackets is a syntax error, and we don't propose to change
-that by giving it any meaning. However, it's not reported very helpfully:
-
- $ perl -e '$a = [$b; $c];'
- syntax error at -e line 1, near "$b;"
- syntax error at -e line 1, near "$c]"
- Execution of -e aborted due to compilation errors.
-
-It should be possible to hook into the tokeniser or the lexer, so that when a
-C<;> is parsed where it is not legal as a statement terminator (ie inside
-C<{}> used as a hashref, C<[]> or C<()>) it issues an error something like
-I<';' isn't legal inside an expression - if you need multiple statements use a
-do {...} block>. See the thread starting at
-L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-09/msg00573.html>
-
-=head2 lexicals used only once
-
-This warns:
-
- $ perl -we '$pie = 42'
- Name "main::pie" used only once: possible typo at -e line 1.
-
-This does not:
-
- $ perl -we 'my $pie = 42'
-
-Logically all lexicals used only once should warn, if the user asks for
-warnings. An unworked RT ticket (#5087) has been open for almost seven
-years for this discrepancy.
-
-=head2 UTF-8 revamp
-
-The handling of Unicode is unclean in many places. In the regex engine
-there are especially many problems. The swash data structure could be
-replaced my something better. Inversion lists and maps are likely
-candidates. The whole Unicode database could be placed in-core for a
-huge speed-up. Only minimal work was done on the optimizer when utf8
-was added, with the result that the synthetic start class often will
-fail to narrow down the possible choices when given non-Latin1 input.
-
-=head2 Properly Unicode safe tokeniser and pads.
-
-The tokeniser isn't actually very UTF-8 clean. C<use utf8;> is a hack -
-variable names are stored in stashes as raw bytes, without the utf-8 flag
-set. The pad API only takes a C<char *> pointer, so that's all bytes too. The
-tokeniser ignores the UTF-8-ness of C<PL_rsfp>, or any SVs returned from
-source filters. All this could be fixed.
-
-=head2 state variable initialization in list context
-
-Currently this is illegal:
-
- state ($a, $b) = foo();
-
-In Perl 6, C<state ($a) = foo();> and C<(state $a) = foo();> have different
-semantics, which is tricky to implement in Perl 5 as currently they produce
-the same opcode trees. The Perl 6 design is firm, so it would be good to
-implement the necessary code in Perl 5. There are comments in
-C<Perl_newASSIGNOP()> that show the code paths taken by various assignment
-constructions involving state variables.
-
-=head2 Implement $value ~~ 0 .. $range
-
-It would be nice to extend the syntax of the C<~~> operator to also
-understand numeric (and maybe alphanumeric) ranges.
-
-=head2 A does() built-in
-
-Like ref(), only useful. It would call the C<DOES> method on objects; it
-would also tell whether something can be dereferenced as an
-array/hash/etc., or used as a regexp, etc.
-L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-03/msg00481.html>
-
-=head2 Tied filehandles and write() don't mix
-
-There is no method on tied filehandles to allow them to be called back by
-formats.
-
-=head2 Propagate compilation hints to the debugger
-
-Currently a debugger started with -dE on the command-line doesn't see the
-features enabled by -E. More generally hints (C<$^H> and C<%^H>) aren't
-propagated to the debugger. Probably it would be a good thing to propagate
-hints from the innermost non-C<DB::> scope: this would make code eval'ed
-in the debugger see the features (and strictures, etc.) currently in
-scope.
-
-=head2 Attach/detach debugger from running program
-
-The old perltodo notes "With C<gdb>, you can attach the debugger to a running
-program if you pass the process ID. It would be good to do this with the Perl
-debugger on a running Perl program, although I'm not sure how it would be
-done." ssh and screen do this with named pipes in /tmp. Maybe we can too.
-
-=head2 LVALUE functions for lists
-
-The old perltodo notes that lvalue functions don't work for list or hash
-slices. This would be good to fix.
-
-=head2 regexp optimiser optional
-
-The regexp optimiser is not optional. It should configurable to be, to allow
-its performance to be measured, and its bugs to be easily demonstrated.
-
-=head2 C</w> regex modifier
-
-That flag would enable to match whole words, and also to interpolate
-arrays as alternations. With it, C</P/w> would be roughly equivalent to:
-
- do { local $"='|'; /\b(?:P)\b/ }
-
-See
-L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-01/msg00400.html>
-for the discussion.
-
-=head2 optional optimizer
-
-Make the peephole optimizer optional. Currently it performs two tasks as
-it walks the optree - genuine peephole optimisations, and necessary fixups of
-ops. It would be good to find an efficient way to switch out the
-optimisations whilst keeping the fixups.
-
-=head2 You WANT *how* many
-
-Currently contexts are void, scalar and list. split has a special mechanism in
-place to pass in the number of return values wanted. It would be useful to
-have a general mechanism for this, backwards compatible and little speed hit.
-This would allow proposals such as short circuiting sort to be implemented
-as a module on CPAN.
-
-=head2 lexical aliases
-
-Allow lexical aliases (maybe via the syntax C<my \$alias = \$foo>.
-
-=head2 entersub XS vs Perl
-
-At the moment pp_entersub is huge, and has code to deal with entering both
-perl and XS subroutines. Subroutine implementations rarely change between
-perl and XS at run time, so investigate using 2 ops to enter subs (one for
-XS, one for perl) and swap between if a sub is redefined.
-
-=head2 Self-ties
-
-Self-ties are currently illegal because they caused too many segfaults. Maybe
-the causes of these could be tracked down and self-ties on all types
-reinstated.
-
-=head2 Optimize away @_
-
-The old perltodo notes "Look at the "reification" code in C<av.c>".
-
-=head2 Virtualize operating system access
-
-Implement a set of "vtables" that virtualizes operating system access
-(open(), mkdir(), unlink(), readdir(), getenv(), etc.) At the very
-least these interfaces should take SVs as "name" arguments instead of
-bare char pointers; probably the most flexible and extensible way
-would be for the Perl-facing interfaces to accept HVs. The system
-needs to be per-operating-system and per-file-system
-hookable/filterable, preferably both from XS and Perl level
-(L<perlport/"Files and Filesystems"> is good reading at this point,
-in fact, all of L<perlport> is.)
-
-This has actually already been implemented (but only for Win32),
-take a look at F<iperlsys.h> and F<win32/perlhost.h>. While all Win32
-variants go through a set of "vtables" for operating system access,
-non-Win32 systems currently go straight for the POSIX/Unix-style
-system/library call. Similar system as for Win32 should be
-implemented for all platforms. The existing Win32 implementation
-probably does not need to survive alongside this proposed new
-implementation, the approaches could be merged.
-
-What would this give us? One often-asked-for feature this would
-enable is using Unicode for filenames, and other "names" like %ENV,
-usernames, hostnames, and so forth.
-(See L<perlunicode/"When Unicode Does Not Happen">.)
-
-But this kind of virtualization would also allow for things like
-virtual filesystems, virtual networks, and "sandboxes" (though as long
-as dynamic loading of random object code is allowed, not very safe
-sandboxes since external code of course know not of Perl's vtables).
-An example of a smaller "sandbox" is that this feature can be used to
-implement per-thread working directories: Win32 already does this.
-
-See also L</"Extend PerlIO and PerlIO::Scalar">.
-
-=head2 Investigate PADTMP hash pessimisation
-
-The peephole optimiser converts constants used for hash key lookups to shared
-hash key scalars. Under ithreads, something is undoing this work.
-See
-L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-09/msg00793.html>
-
-=head2 Store the current pad in the OP slab allocator
-
-=for clarification
-I hope that I got that "current pad" part correct
-
-Currently we leak ops in various cases of parse failure. I suggested that we
-could solve this by always using the op slab allocator, and walking it to
-free ops. Dave comments that as some ops are already freed during optree
-creation one would have to mark which ops are freed, and not double free them
-when walking the slab. He notes that one problem with this is that for some ops
-you have to know which pad was current at the time of allocation, which does
-change. I suggested storing a pointer to the current pad in the memory allocated
-for the slab, and swapping to a new slab each time the pad changes. Dave thinks
-that this would work.
-
-=head2 repack the optree
-
-Repacking the optree after execution order is determined could allow
-removal of NULL ops, and optimal ordering of OPs with respect to cache-line
-filling. The slab allocator could be reused for this purpose. I think that
-the best way to do this is to make it an optional step just before the
-completed optree is attached to anything else, and to use the slab allocator
-unchanged, so that freeing ops is identical whether or not this step runs.
-Note that the slab allocator allocates ops downwards in memory, so one would
-have to actually "allocate" the ops in reverse-execution order to get them
-contiguous in memory in execution order.
-
-See
-L<http://www.nntp.perl.org/group/perl.perl5.porters/2007/12/msg131975.html>
-
-Note that running this copy, and then freeing all the old location ops would
-cause their slabs to be freed, which would eliminate possible memory wastage if
-the previous suggestion is implemented, and we swap slabs more frequently.
-
-=head2 eliminate incorrect line numbers in warnings
-
-This code
-
- use warnings;
- my $undef;
-
- if ($undef == 3) {
- } elsif ($undef == 0) {
- }
-
-used to produce this output:
-
- Use of uninitialized value in numeric eq (==) at wrong.pl line 4.
- Use of uninitialized value in numeric eq (==) at wrong.pl line 4.
-
-where the line of the second warning was misreported - it should be line 5.
-Rafael fixed this - the problem arose because there was no nextstate OP
-between the execution of the C<if> and the C<elsif>, hence C<PL_curcop> still
-reports that the currently executing line is line 4. The solution was to inject
-a nextstate OPs for each C<elsif>, although it turned out that the nextstate
-OP needed to be a nulled OP, rather than a live nextstate OP, else other line
-numbers became misreported. (Jenga!)
-
-The problem is more general than C<elsif> (although the C<elsif> case is the
-most common and the most confusing). Ideally this code
-
- use warnings;
- my $undef;
-
- my $a = $undef + 1;
- my $b
- = $undef
- + 1;
-
-would produce this output
-
- Use of uninitialized value $undef in addition (+) at wrong.pl line 4.
- Use of uninitialized value $undef in addition (+) at wrong.pl line 7.
-
-(rather than lines 4 and 5), but this would seem to require every OP to carry
-(at least) line number information.
-
-What might work is to have an optional line number in memory just before the
-BASEOP structure, with a flag bit in the op to say whether it's present.
-Initially during compile every OP would carry its line number. Then add a late
-pass to the optimiser (potentially combined with L</repack the optree>) which
-looks at the two ops on every edge of the graph of the execution path. If
-the line number changes, flags the destination OP with this information.
-Once all paths are traced, replace every op with the flag with a
-nextstate-light op (that just updates C<PL_curcop>), which in turn then passes
-control on to the true op. All ops would then be replaced by variants that
-do not store the line number. (Which, logically, why it would work best in
-conjunction with L</repack the optree>, as that is already copying/reallocating
-all the OPs)
-
-(Although I should note that we're not certain that doing this for the general
-case is worth it)
-
-=head2 optimize tail-calls
-
-Tail-calls present an opportunity for broadly applicable optimization;
-anywhere that C<< return foo(...) >> is called, the outer return can
-be replaced by a goto, and foo will return directly to the outer
-caller, saving (conservatively) 25% of perl's call&return cost, which
-is relatively higher than in C. The scheme language is known to do
-this heavily. B::Concise provides good insight into where this
-optimization is possible, ie anywhere entersub,leavesub op-sequence
-occurs.
-
- perl -MO=Concise,-exec,a,b,-main -e 'sub a{ 1 }; sub b {a()}; b(2)'
-
-Bottom line on this is probably a new pp_tailcall function which
-combines the code in pp_entersub, pp_leavesub. This should probably
-be done 1st in XS, and using B::Generate to patch the new OP into the
-optrees.
-
-=head2 Add C<00dddd>
-
-It has been proposed that octal constants be specifiable through the syntax
-C<0oddddd>, parallel to the existing construct to specify hex constants
-C<0xddddd>
-
-=head1 Big projects
-
-Tasks that will get your name mentioned in the description of the "Highlights
-of 5.14"
-
-=head2 make ithreads more robust
-
-Generally make ithreads more robust. See also L</iCOW>
-
-This task is incremental - even a little bit of work on it will help, and
-will be greatly appreciated.
-
-One bit would be to determine how to clone directory handles on systems
-without a C<fchdir> function (in sv.c:Perl_dirp_dup).
-
-Fix Perl_sv_dup, et al so that threads can return objects.
-
-=head2 iCOW
-
-Sarathy and Arthur have a proposal for an improved Copy On Write which
-specifically will be able to COW new ithreads. If this can be implemented
-it would be a good thing.
-
-=head2 (?{...}) closures in regexps
-
-Fix (or rewrite) the implementation of the C</(?{...})/> closures.
-
-=head2 Add class set operations to regexp engine
-
-Apparently these are quite useful. Anyway, Jeffery Friedl wants them.
-
-demerphq has this on his todo list, but right at the bottom.
-
-
-=head1 Tasks for microperl
-
-
-[ Each and every one of these may be obsolete, but they were listed
- in the old Todo.micro file]
-
-
-=head2 make creating uconfig.sh automatic
-
-=head2 make creating Makefile.micro automatic
-
-=head2 do away with fork/exec/wait?
-
-(system, popen should be enough?)
-
-=head2 some of the uconfig.sh really needs to be probed (using cc) in buildtime:
-
-(uConfigure? :-) native datatype widths and endianness come to mind
-
+We no longer install the Perl 5 to-do list as a manpage, as installing
+snapshot that becomes increasingly out of date isn't that useful to anyone.
+The current Perl 5 to-do list is maintained in the git repository, and can
+be viewed at L<http://perl5.git.perl.org/perl.git/blob/HEAD:/Porting/todo.pod>
diff --git a/Master/tlpkg/tlperl/lib/pods/perltooc.pod b/Master/tlpkg/tlperl/lib/pods/perltooc.pod
index 06f697cdef1..35163255300 100644
--- a/Master/tlpkg/tlperl/lib/pods/perltooc.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perltooc.pod
@@ -1,1342 +1,12 @@
+=encoding utf8
+
=head1 NAME
-perltooc - Tom's OO Tutorial for Class Data in Perl
+perltooc - This document has been deleted
=head1 DESCRIPTION
-When designing an object class, you are sometimes faced with the situation
-of wanting common state shared by all objects of that class.
-Such I<class attributes> act somewhat like global variables for the entire
-class, but unlike program-wide globals, class attributes have meaning only to
-the class itself.
-
-Here are a few examples where class attributes might come in handy:
-
-=over 4
-
-=item *
-
-to keep a count of the objects you've created, or how many are
-still extant.
-
-=item *
-
-to extract the name or file descriptor for a logfile used by a debugging
-method.
-
-=item *
-
-to access collective data, like the total amount of cash dispensed by
-all ATMs in a network in a given day.
-
-=item *
-
-to access the last object created by a class, or the most accessed object,
-or to retrieve a list of all objects.
-
-=back
-
-Unlike a true global, class attributes should not be accessed directly.
-Instead, their state should be inspected, and perhaps altered, only
-through the mediated access of I<class methods>. These class attributes
-accessor methods are similar in spirit and function to accessors used
-to manipulate the state of instance attributes on an object. They provide a
-clear firewall between interface and implementation.
-
-You should allow access to class attributes through either the class
-name or any object of that class. If we assume that $an_object is of
-type Some_Class, and the &Some_Class::population_count method accesses
-class attributes, then these two invocations should both be possible,
-and almost certainly equivalent.
-
- Some_Class->population_count()
- $an_object->population_count()
-
-The question is, where do you store the state which that method accesses?
-Unlike more restrictive languages like C++, where these are called
-static data members, Perl provides no syntactic mechanism to declare
-class attributes, any more than it provides a syntactic mechanism to
-declare instance attributes. Perl provides the developer with a broad
-set of powerful but flexible features that can be uniquely crafted to
-the particular demands of the situation.
-
-A class in Perl is typically implemented in a module. A module consists
-of two complementary feature sets: a package for interfacing with the
-outside world, and a lexical file scope for privacy. Either of these
-two mechanisms can be used to implement class attributes. That means you
-get to decide whether to put your class attributes in package variables
-or to put them in lexical variables.
-
-And those aren't the only decisions to make. If you choose to use package
-variables, you can make your class attribute accessor methods either ignorant
-of inheritance or sensitive to it. If you choose lexical variables,
-you can elect to permit access to them from anywhere in the entire file
-scope, or you can limit direct data access exclusively to the methods
-implementing those attributes.
-
-=head1 Class Data in a Can
-
-One of the easiest ways to solve a hard problem is to let someone else
-do it for you! In this case, Class::Data::Inheritable (available on a
-CPAN near you) offers a canned solution to the class data problem
-using closures. So before you wade into this document, consider
-having a look at that module.
-
-
-=head1 Class Data as Package Variables
-
-Because a class in Perl is really just a package, using package variables
-to hold class attributes is the most natural choice. This makes it simple
-for each class to have its own class attributes. Let's say you have a class
-called Some_Class that needs a couple of different attributes that you'd
-like to be global to the entire class. The simplest thing to do is to
-use package variables like $Some_Class::CData1 and $Some_Class::CData2
-to hold these attributes. But we certainly don't want to encourage
-outsiders to touch those data directly, so we provide methods
-to mediate access.
-
-In the accessor methods below, we'll for now just ignore the first
-argument--that part to the left of the arrow on method invocation, which
-is either a class name or an object reference.
-
- package Some_Class;
- sub CData1 {
- shift; # XXX: ignore calling class/object
- $Some_Class::CData1 = shift if @_;
- return $Some_Class::CData1;
- }
- sub CData2 {
- shift; # XXX: ignore calling class/object
- $Some_Class::CData2 = shift if @_;
- return $Some_Class::CData2;
- }
-
-This technique is highly legible and should be completely straightforward
-to even the novice Perl programmer. By fully qualifying the package
-variables, they stand out clearly when reading the code. Unfortunately,
-if you misspell one of these, you've introduced an error that's hard
-to catch. It's also somewhat disconcerting to see the class name itself
-hard-coded in so many places.
-
-Both these problems can be easily fixed. Just add the C<use strict>
-pragma, then pre-declare your package variables. (The C<our> operator
-will be new in 5.6, and will work for package globals just like C<my>
-works for scoped lexicals.)
-
- package Some_Class;
- use strict;
- our($CData1, $CData2); # our() is new to perl5.6
- sub CData1 {
- shift; # XXX: ignore calling class/object
- $CData1 = shift if @_;
- return $CData1;
- }
- sub CData2 {
- shift; # XXX: ignore calling class/object
- $CData2 = shift if @_;
- return $CData2;
- }
-
-
-As with any other global variable, some programmers prefer to start their
-package variables with capital letters. This helps clarity somewhat, but
-by no longer fully qualifying the package variables, their significance
-can be lost when reading the code. You can fix this easily enough by
-choosing better names than were used here.
-
-=head2 Putting All Your Eggs in One Basket
-
-Just as the mindless enumeration of accessor methods for instance attributes
-grows tedious after the first few (see L<perltoot>), so too does the
-repetition begin to grate when listing out accessor methods for class
-data. Repetition runs counter to the primary virtue of a programmer:
-Laziness, here manifesting as that innate urge every programmer feels
-to factor out duplicate code whenever possible.
-
-Here's what to do. First, make just one hash to hold all class attributes.
-
- package Some_Class;
- use strict;
- our %ClassData = ( # our() is new to perl5.6
- CData1 => "",
- CData2 => "",
- );
-
-Using closures (see L<perlref>) and direct access to the package symbol
-table (see L<perlmod>), now clone an accessor method for each key in
-the %ClassData hash. Each of these methods is used to fetch or store
-values to the specific, named class attribute.
-
- for my $datum (keys %ClassData) {
- no strict "refs"; # to register new methods in package
- *$datum = sub {
- shift; # XXX: ignore calling class/object
- $ClassData{$datum} = shift if @_;
- return $ClassData{$datum};
- }
- }
-
-It's true that you could work out a solution employing an &AUTOLOAD
-method, but this approach is unlikely to prove satisfactory. Your
-function would have to distinguish between class attributes and object
-attributes; it could interfere with inheritance; and it would have to
-careful about DESTROY. Such complexity is uncalled for in most cases,
-and certainly in this one.
-
-You may wonder why we're rescinding strict refs for the loop. We're
-manipulating the package's symbol table to introduce new function names
-using symbolic references (indirect naming), which the strict pragma
-would otherwise forbid. Normally, symbolic references are a dodgy
-notion at best. This isn't just because they can be used accidentally
-when you aren't meaning to. It's also because for most uses
-to which beginning Perl programmers attempt to put symbolic references,
-we have much better approaches, like nested hashes or hashes of arrays.
-But there's nothing wrong with using symbolic references to manipulate
-something that is meaningful only from the perspective of the package
-symbol table, like method names or package variables. In other
-words, when you want to refer to the symbol table, use symbol references.
-
-Clustering all the class attributes in one place has several advantages.
-They're easy to spot, initialize, and change. The aggregation also
-makes them convenient to access externally, such as from a debugger
-or a persistence package. The only possible problem is that we don't
-automatically know the name of each class's class object, should it have
-one. This issue is addressed below in L<"The Eponymous Meta-Object">.
-
-=head2 Inheritance Concerns
-
-Suppose you have an instance of a derived class, and you access class
-data using an inherited method call. Should that end up referring
-to the base class's attributes, or to those in the derived class?
-How would it work in the earlier examples? The derived class inherits
-all the base class's methods, including those that access class attributes.
-But what package are the class attributes stored in?
-
-The answer is that, as written, class attributes are stored in the package into
-which those methods were compiled. When you invoke the &CData1 method
-on the name of the derived class or on one of that class's objects, the
-version shown above is still run, so you'll access $Some_Class::CData1--or
-in the method cloning version, C<$Some_Class::ClassData{CData1}>.
-
-Think of these class methods as executing in the context of their base
-class, not in that of their derived class. Sometimes this is exactly
-what you want. If Feline subclasses Carnivore, then the population of
-Carnivores in the world should go up when a new Feline is born.
-But what if you wanted to figure out how many Felines you have apart
-from Carnivores? The current approach doesn't support that.
-
-You'll have to decide on a case-by-case basis whether it makes any sense
-for class attributes to be package-relative. If you want it to be so,
-then stop ignoring the first argument to the function. Either it will
-be a package name if the method was invoked directly on a class name,
-or else it will be an object reference if the method was invoked on an
-object reference. In the latter case, the ref() function provides the
-class of that object.
-
- package Some_Class;
- sub CData1 {
- my $obclass = shift;
- my $class = ref($obclass) || $obclass;
- my $varname = $class . "::CData1";
- no strict "refs"; # to access package data symbolically
- $$varname = shift if @_;
- return $$varname;
- }
-
-And then do likewise for all other class attributes (such as CData2,
-etc.) that you wish to access as package variables in the invoking package
-instead of the compiling package as we had previously.
-
-Once again we temporarily disable the strict references ban, because
-otherwise we couldn't use the fully-qualified symbolic name for
-the package global. This is perfectly reasonable: since all package
-variables by definition live in a package, there's nothing wrong with
-accessing them via that package's symbol table. That's what it's there
-for (well, somewhat).
-
-What about just using a single hash for everything and then cloning
-methods? What would that look like? The only difference would be the
-closure used to produce new method entries for the class's symbol table.
-
- no strict "refs";
- *$datum = sub {
- my $obclass = shift;
- my $class = ref($obclass) || $obclass;
- my $varname = $class . "::ClassData";
- $varname->{$datum} = shift if @_;
- return $varname->{$datum};
- }
-
-=head2 The Eponymous Meta-Object
-
-It could be argued that the %ClassData hash in the previous example is
-neither the most imaginative nor the most intuitive of names. Is there
-something else that might make more sense, be more useful, or both?
-
-As it happens, yes, there is. For the "class meta-object", we'll use
-a package variable of the same name as the package itself. Within the
-scope of a package Some_Class declaration, we'll use the eponymously
-named hash %Some_Class as that class's meta-object. (Using an eponymously
-named hash is somewhat reminiscent of classes that name their constructors
-eponymously in the Python or C++ fashion. That is, class Some_Class would
-use &Some_Class::Some_Class as a constructor, probably even exporting that
-name as well. The StrNum class in Recipe 13.14 in I<The Perl Cookbook>
-does this, if you're looking for an example.)
-
-This predictable approach has many benefits, including having a well-known
-identifier to aid in debugging, transparent persistence,
-or checkpointing. It's also the obvious name for monadic classes and
-translucent attributes, discussed later.
-
-Here's an example of such a class. Notice how the name of the
-hash storing the meta-object is the same as the name of the package
-used to implement the class.
-
- package Some_Class;
- use strict;
-
- # create class meta-object using that most perfect of names
- our %Some_Class = ( # our() is new to perl5.6
- CData1 => "",
- CData2 => "",
- );
-
- # this accessor is calling-package-relative
- sub CData1 {
- my $obclass = shift;
- my $class = ref($obclass) || $obclass;
- no strict "refs"; # to access eponymous meta-object
- $class->{CData1} = shift if @_;
- return $class->{CData1};
- }
-
- # but this accessor is not
- sub CData2 {
- shift; # XXX: ignore calling class/object
- no strict "refs"; # to access eponymous meta-object
- __PACKAGE__ -> {CData2} = shift if @_;
- return __PACKAGE__ -> {CData2};
- }
-
-In the second accessor method, the __PACKAGE__ notation was used for
-two reasons. First, to avoid hardcoding the literal package name
-in the code in case we later want to change that name. Second, to
-clarify to the reader that what matters here is the package currently
-being compiled into, not the package of the invoking object or class.
-If the long sequence of non-alphabetic characters bothers you, you can
-always put the __PACKAGE__ in a variable first.
-
- sub CData2 {
- shift; # XXX: ignore calling class/object
- no strict "refs"; # to access eponymous meta-object
- my $class = __PACKAGE__;
- $class->{CData2} = shift if @_;
- return $class->{CData2};
- }
-
-Even though we're using symbolic references for good not evil, some
-folks tend to become unnerved when they see so many places with strict
-ref checking disabled. Given a symbolic reference, you can always
-produce a real reference (the reverse is not true, though). So we'll
-create a subroutine that does this conversion for us. If invoked as a
-function of no arguments, it returns a reference to the compiling class's
-eponymous hash. Invoked as a class method, it returns a reference to
-the eponymous hash of its caller. And when invoked as an object method,
-this function returns a reference to the eponymous hash for whatever
-class the object belongs to.
-
- package Some_Class;
- use strict;
-
- our %Some_Class = ( # our() is new to perl5.6
- CData1 => "",
- CData2 => "",
- );
-
- # tri-natured: function, class method, or object method
- sub _classobj {
- my $obclass = shift || __PACKAGE__;
- my $class = ref($obclass) || $obclass;
- no strict "refs"; # to convert sym ref to real one
- return \%$class;
- }
-
- for my $datum (keys %{ _classobj() } ) {
- # turn off strict refs so that we can
- # register a method in the symbol table
- no strict "refs";
- *$datum = sub {
- use strict "refs";
- my $self = shift->_classobj();
- $self->{$datum} = shift if @_;
- return $self->{$datum};
- }
- }
-
-=head2 Indirect References to Class Data
-
-A reasonably common strategy for handling class attributes is to store
-a reference to each package variable on the object itself. This is
-a strategy you've probably seen before, such as in L<perltoot> and
-L<perlbot>, but there may be variations in the example below that you
-haven't thought of before.
-
- package Some_Class;
- our($CData1, $CData2); # our() is new to perl5.6
-
- sub new {
- my $obclass = shift;
- return bless my $self = {
- ObData1 => "",
- ObData2 => "",
- CData1 => \$CData1,
- CData2 => \$CData2,
- } => (ref $obclass || $obclass);
- }
-
- sub ObData1 {
- my $self = shift;
- $self->{ObData1} = shift if @_;
- return $self->{ObData1};
- }
-
- sub ObData2 {
- my $self = shift;
- $self->{ObData2} = shift if @_;
- return $self->{ObData2};
- }
-
- sub CData1 {
- my $self = shift;
- my $dataref = ref $self
- ? $self->{CData1}
- : \$CData1;
- $$dataref = shift if @_;
- return $$dataref;
- }
-
- sub CData2 {
- my $self = shift;
- my $dataref = ref $self
- ? $self->{CData2}
- : \$CData2;
- $$dataref = shift if @_;
- return $$dataref;
- }
-
-As written above, a derived class will inherit these methods, which
-will consequently access package variables in the base class's package.
-This is not necessarily expected behavior in all circumstances. Here's an
-example that uses a variable meta-object, taking care to access the
-proper package's data.
-
- package Some_Class;
- use strict;
-
- our %Some_Class = ( # our() is new to perl5.6
- CData1 => "",
- CData2 => "",
- );
-
- sub _classobj {
- my $self = shift;
- my $class = ref($self) || $self;
- no strict "refs";
- # get (hard) ref to eponymous meta-object
- return \%$class;
- }
-
- sub new {
- my $obclass = shift;
- my $classobj = $obclass->_classobj();
- bless my $self = {
- ObData1 => "",
- ObData2 => "",
- CData1 => \$classobj->{CData1},
- CData2 => \$classobj->{CData2},
- } => (ref $obclass || $obclass);
- return $self;
- }
-
- sub ObData1 {
- my $self = shift;
- $self->{ObData1} = shift if @_;
- return $self->{ObData1};
- }
-
- sub ObData2 {
- my $self = shift;
- $self->{ObData2} = shift if @_;
- return $self->{ObData2};
- }
-
- sub CData1 {
- my $self = shift;
- $self = $self->_classobj() unless ref $self;
- my $dataref = $self->{CData1};
- $$dataref = shift if @_;
- return $$dataref;
- }
-
- sub CData2 {
- my $self = shift;
- $self = $self->_classobj() unless ref $self;
- my $dataref = $self->{CData2};
- $$dataref = shift if @_;
- return $$dataref;
- }
-
-Not only are we now strict refs clean, using an eponymous meta-object
-seems to make the code cleaner. Unlike the previous version, this one
-does something interesting in the face of inheritance: it accesses the
-class meta-object in the invoking class instead of the one into which
-the method was initially compiled.
-
-You can easily access data in the class meta-object, making
-it easy to dump the complete class state using an external mechanism such
-as when debugging or implementing a persistent class. This works because
-the class meta-object is a package variable, has a well-known name, and
-clusters all its data together. (Transparent persistence
-is not always feasible, but it's certainly an appealing idea.)
-
-There's still no check that object accessor methods have not been
-invoked on a class name. If strict ref checking is enabled, you'd
-blow up. If not, then you get the eponymous meta-object. What you do
-with--or about--this is up to you. The next two sections demonstrate
-innovative uses for this powerful feature.
-
-=head2 Monadic Classes
-
-Some of the standard modules shipped with Perl provide class interfaces
-without any attribute methods whatsoever. The most commonly used module
-not numbered amongst the pragmata, the Exporter module, is a class with
-neither constructors nor attributes. Its job is simply to provide a
-standard interface for modules wishing to export part of their namespace
-into that of their caller. Modules use the Exporter's &import method by
-setting their inheritance list in their package's @ISA array to mention
-"Exporter". But class Exporter provides no constructor, so you can't
-have several instances of the class. In fact, you can't have any--it
-just doesn't make any sense. All you get is its methods. Its interface
-contains no statefulness, so state data is wholly superfluous.
-
-Another sort of class that pops up from time to time is one that supports
-a unique instance. Such classes are called I<monadic classes>, or less
-formally, I<singletons> or I<highlander classes>.
-
-If a class is monadic, where do you store its state, that is,
-its attributes? How do you make sure that there's never more than
-one instance? While you could merely use a slew of package variables,
-it's a lot cleaner to use the eponymously named hash. Here's a complete
-example of a monadic class:
-
- package Cosmos;
- %Cosmos = ();
-
- # accessor method for "name" attribute
- sub name {
- my $self = shift;
- $self->{name} = shift if @_;
- return $self->{name};
- }
-
- # read-only accessor method for "birthday" attribute
- sub birthday {
- my $self = shift;
- die "can't reset birthday" if @_; # XXX: croak() is better
- return $self->{birthday};
- }
-
- # accessor method for "stars" attribute
- sub stars {
- my $self = shift;
- $self->{stars} = shift if @_;
- return $self->{stars};
- }
-
- # oh my - one of our stars just went out!
- sub supernova {
- my $self = shift;
- my $count = $self->stars();
- $self->stars($count - 1) if $count > 0;
- }
-
- # constructor/initializer method - fix by reboot
- sub bigbang {
- my $self = shift;
- %$self = (
- name => "the world according to tchrist",
- birthday => time(),
- stars => 0,
- );
- return $self; # yes, it's probably a class. SURPRISE!
- }
-
- # After the class is compiled, but before any use or require
- # returns, we start off the universe with a bang.
- __PACKAGE__ -> bigbang();
-
-Hold on, that doesn't look like anything special. Those attribute
-accessors look no different than they would if this were a regular class
-instead of a monadic one. The crux of the matter is there's nothing
-that says that $self must hold a reference to a blessed object. It merely
-has to be something you can invoke methods on. Here the package name
-itself, Cosmos, works as an object. Look at the &supernova method. Is that
-a class method or an object method? The answer is that static analysis
-cannot reveal the answer. Perl doesn't care, and neither should you.
-In the three attribute methods, C<%$self> is really accessing the %Cosmos
-package variable.
-
-If like Stephen Hawking, you posit the existence of multiple, sequential,
-and unrelated universes, then you can invoke the &bigbang method yourself
-at any time to start everything all over again. You might think of
-&bigbang as more of an initializer than a constructor, since the function
-doesn't allocate new memory; it only initializes what's already there.
-But like any other constructor, it does return a scalar value to use
-for later method invocations.
-
-Imagine that some day in the future, you decide that one universe just
-isn't enough. You could write a new class from scratch, but you already
-have an existing class that does what you want--except that it's monadic,
-and you want more than just one cosmos.
-
-That's what code reuse via subclassing is all about. Look how short
-the new code is:
-
- package Multiverse;
- use Cosmos;
- @ISA = qw(Cosmos);
-
- sub new {
- my $protoverse = shift;
- my $class = ref($protoverse) || $protoverse;
- my $self = {};
- return bless($self, $class)->bigbang();
- }
- 1;
-
-Because we were careful to be good little creators when we designed our
-Cosmos class, we can now reuse it without touching a single line of code
-when it comes time to write our Multiverse class. The same code that
-worked when invoked as a class method continues to work perfectly well
-when invoked against separate instances of a derived class.
-
-The astonishing thing about the Cosmos class above is that the value
-returned by the &bigbang "constructor" is not a reference to a blessed
-object at all. It's just the class's own name. A class name is, for
-virtually all intents and purposes, a perfectly acceptable object.
-It has state, behavior, and identity, the three crucial components
-of an object system. It even manifests inheritance, polymorphism,
-and encapsulation. And what more can you ask of an object?
-
-To understand object orientation in Perl, it's important to recognize the
-unification of what other programming languages might think of as class
-methods and object methods into just plain methods. "Class methods"
-and "object methods" are distinct only in the compartmentalizing mind
-of the Perl programmer, not in the Perl language itself.
-
-Along those same lines, a constructor is nothing special either, which
-is one reason why Perl has no pre-ordained name for them. "Constructor"
-is just an informal term loosely used to describe a method that returns
-a scalar value that you can make further method calls against. So long
-as it's either a class name or an object reference, that's good enough.
-It doesn't even have to be a reference to a brand new object.
-
-You can have as many--or as few--constructors as you want, and you can
-name them whatever you care to. Blindly and obediently using new()
-for each and every constructor you ever write is to speak Perl with
-such a severe C++ accent that you do a disservice to both languages.
-There's no reason to insist that each class have but one constructor,
-or that a constructor be named new(), or that a constructor be
-used solely as a class method and not an object method.
-
-The next section shows how useful it can be to further distance ourselves
-from any formal distinction between class method calls and object method
-calls, both in constructors and in accessor methods.
-
-=head2 Translucent Attributes
-
-A package's eponymous hash can be used for more than just containing
-per-class, global state data. It can also serve as a sort of template
-containing default settings for object attributes. These default
-settings can then be used in constructors for initialization of a
-particular object. The class's eponymous hash can also be used to
-implement I<translucent attributes>. A translucent attribute is one
-that has a class-wide default. Each object can set its own value for the
-attribute, in which case C<< $object->attribute() >> returns that value.
-But if no value has been set, then C<< $object->attribute() >> returns
-the class-wide default.
-
-We'll apply something of a copy-on-write approach to these translucent
-attributes. If you're just fetching values from them, you get
-translucency. But if you store a new value to them, that new value is
-set on the current object. On the other hand, if you use the class as
-an object and store the attribute value directly on the class, then the
-meta-object's value changes, and later fetch operations on objects with
-uninitialized values for those attributes will retrieve the meta-object's
-new values. Objects with their own initialized values, however, won't
-see any change.
-
-Let's look at some concrete examples of using these properties before we
-show how to implement them. Suppose that a class named Some_Class
-had a translucent data attribute called "color". First you set the color
-in the meta-object, then you create three objects using a constructor
-that happens to be named &spawn.
-
- use Vermin;
- Vermin->color("vermilion");
-
- $ob1 = Vermin->spawn(); # so that's where Jedi come from
- $ob2 = Vermin->spawn();
- $ob3 = Vermin->spawn();
-
- print $obj3->color(); # prints "vermilion"
-
-Each of these objects' colors is now "vermilion", because that's the
-meta-object's value for that attribute, and these objects do not have
-individual color values set.
-
-Changing the attribute on one object has no effect on other objects
-previously created.
-
- $ob3->color("chartreuse");
- print $ob3->color(); # prints "chartreuse"
- print $ob1->color(); # prints "vermilion", translucently
-
-If you now use $ob3 to spawn off another object, the new object will
-take the color its parent held, which now happens to be "chartreuse".
-That's because the constructor uses the invoking object as its template
-for initializing attributes. When that invoking object is the
-class name, the object used as a template is the eponymous meta-object.
-When the invoking object is a reference to an instantiated object, the
-&spawn constructor uses that existing object as a template.
-
- $ob4 = $ob3->spawn(); # $ob3 now template, not %Vermin
- print $ob4->color(); # prints "chartreuse"
-
-Any actual values set on the template object will be copied to the
-new object. But attributes undefined in the template object, being
-translucent, will remain undefined and consequently translucent in the
-new one as well.
-
-Now let's change the color attribute on the entire class:
-
- Vermin->color("azure");
- print $ob1->color(); # prints "azure"
- print $ob2->color(); # prints "azure"
- print $ob3->color(); # prints "chartreuse"
- print $ob4->color(); # prints "chartreuse"
-
-That color change took effect only in the first pair of objects, which
-were still translucently accessing the meta-object's values. The second
-pair had per-object initialized colors, and so didn't change.
-
-One important question remains. Changes to the meta-object are reflected
-in translucent attributes in the entire class, but what about
-changes to discrete objects? If you change the color of $ob3, does the
-value of $ob4 see that change? Or vice-versa. If you change the color
-of $ob4, does then the value of $ob3 shift?
-
- $ob3->color("amethyst");
- print $ob3->color(); # prints "amethyst"
- print $ob4->color(); # hmm: "chartreuse" or "amethyst"?
-
-While one could argue that in certain rare cases it should, let's not
-do that. Good taste aside, we want the answer to the question posed in
-the comment above to be "chartreuse", not "amethyst". So we'll treat
-these attributes similar to the way process attributes like environment
-variables, user and group IDs, or the current working directory are
-treated across a fork(). You can change only yourself, but you will see
-those changes reflected in your unspawned children. Changes to one object
-will propagate neither up to the parent nor down to any existing child objects.
-Those objects made later, however, will see the changes.
-
-If you have an object with an actual attribute value, and you want to
-make that object's attribute value translucent again, what do you do?
-Let's design the class so that when you invoke an accessor method with
-C<undef> as its argument, that attribute returns to translucency.
-
- $ob4->color(undef); # back to "azure"
-
-Here's a complete implementation of Vermin as described above.
-
- package Vermin;
-
- # here's the class meta-object, eponymously named.
- # it holds all class attributes, and also all instance attributes
- # so the latter can be used for both initialization
- # and translucency.
-
- our %Vermin = ( # our() is new to perl5.6
- PopCount => 0, # capital for class attributes
- color => "beige", # small for instance attributes
- );
-
- # constructor method
- # invoked as class method or object method
- sub spawn {
- my $obclass = shift;
- my $class = ref($obclass) || $obclass;
- my $self = {};
- bless($self, $class);
- $class->{PopCount}++;
- # init fields from invoking object, or omit if
- # invoking object is the class to provide translucency
- %$self = %$obclass if ref $obclass;
- return $self;
- }
-
- # translucent accessor for "color" attribute
- # invoked as class method or object method
- sub color {
- my $self = shift;
- my $class = ref($self) || $self;
-
- # handle class invocation
- unless (ref $self) {
- $class->{color} = shift if @_;
- return $class->{color}
- }
-
- # handle object invocation
- $self->{color} = shift if @_;
- if (defined $self->{color}) { # not exists!
- return $self->{color};
- } else {
- return $class->{color};
- }
- }
-
- # accessor for "PopCount" class attribute
- # invoked as class method or object method
- # but uses object solely to locate meta-object
- sub population {
- my $obclass = shift;
- my $class = ref($obclass) || $obclass;
- return $class->{PopCount};
- }
-
- # instance destructor
- # invoked only as object method
- sub DESTROY {
- my $self = shift;
- my $class = ref $self;
- $class->{PopCount}--;
- }
-
-Here are a couple of helper methods that might be convenient. They aren't
-accessor methods at all. They're used to detect accessibility of data
-attributes. The &is_translucent method determines whether a particular
-object attribute is coming from the meta-object. The &has_attribute
-method detects whether a class implements a particular property at all.
-It could also be used to distinguish undefined properties from non-existent
-ones.
-
- # detect whether an object attribute is translucent
- # (typically?) invoked only as object method
- sub is_translucent {
- my($self, $attr) = @_;
- return !defined $self->{$attr};
- }
-
- # test for presence of attribute in class
- # invoked as class method or object method
- sub has_attribute {
- my($self, $attr) = @_;
- my $class = ref($self) || $self;
- return exists $class->{$attr};
- }
-
-If you prefer to install your accessors more generically, you can make
-use of the upper-case versus lower-case convention to register into the
-package appropriate methods cloned from generic closures.
-
- for my $datum (keys %{ +__PACKAGE__ }) {
- *$datum = ($datum =~ /^[A-Z]/)
- ? sub { # install class accessor
- my $obclass = shift;
- my $class = ref($obclass) || $obclass;
- return $class->{$datum};
- }
- : sub { # install translucent accessor
- my $self = shift;
- my $class = ref($self) || $self;
- unless (ref $self) {
- $class->{$datum} = shift if @_;
- return $class->{$datum}
- }
- $self->{$datum} = shift if @_;
- return defined $self->{$datum}
- ? $self -> {$datum}
- : $class -> {$datum}
- }
- }
-
-Translations of this closure-based approach into C++, Java, and Python
-have been left as exercises for the reader. Be sure to send us mail as
-soon as you're done.
-
-=head1 Class Data as Lexical Variables
-
-=head2 Privacy and Responsibility
-
-Unlike conventions used by some Perl programmers, in the previous
-examples, we didn't prefix the package variables used for class attributes
-with an underscore, nor did we do so for the names of the hash keys used
-for instance attributes. You don't need little markers on data names to
-suggest nominal privacy on attribute variables or hash keys, because these
-are B<already> notionally private! Outsiders have no business whatsoever
-playing with anything within a class save through the mediated access of
-its documented interface; in other words, through method invocations.
-And not even through just any method, either. Methods that begin with
-an underscore are traditionally considered off-limits outside the class.
-If outsiders skip the documented method interface to poke around the
-internals of your class and end up breaking something, that's not your
-fault--it's theirs.
-
-Perl believes in individual responsibility rather than mandated control.
-Perl respects you enough to let you choose your own preferred level of
-pain, or of pleasure. Perl believes that you are creative, intelligent,
-and capable of making your own decisions--and fully expects you to
-take complete responsibility for your own actions. In a perfect world,
-these admonitions alone would suffice, and everyone would be intelligent,
-responsible, happy, and creative. And careful. One probably shouldn't
-forget careful, and that's a good bit harder to expect. Even Einstein
-would take wrong turns by accident and end up lost in the wrong part
-of town.
-
-Some folks get the heebie-jeebies when they see package variables
-hanging out there for anyone to reach over and alter them. Some folks
-live in constant fear that someone somewhere might do something wicked.
-The solution to that problem is simply to fire the wicked, of course.
-But unfortunately, it's not as simple as all that. These cautious
-types are also afraid that they or others will do something not so
-much wicked as careless, whether by accident or out of desperation.
-If we fire everyone who ever gets careless, pretty soon there won't be
-anybody left to get any work done.
-
-Whether it's needless paranoia or sensible caution, this uneasiness can
-be a problem for some people. We can take the edge off their discomfort
-by providing the option of storing class attributes as lexical variables
-instead of as package variables. The my() operator is the source of
-all privacy in Perl, and it is a powerful form of privacy indeed.
-
-It is widely perceived, and indeed has often been written, that Perl
-provides no data hiding, that it affords the class designer no privacy
-nor isolation, merely a rag-tag assortment of weak and unenforceable
-social conventions instead. This perception is demonstrably false and
-easily disproven. In the next section, we show how to implement forms
-of privacy that are far stronger than those provided in nearly any
-other object-oriented language.
-
-=head2 File-Scoped Lexicals
-
-A lexical variable is visible only through the end of its static scope.
-That means that the only code able to access that variable is code
-residing textually below the my() operator through the end of its block
-if it has one, or through the end of the current file if it doesn't.
-
-Starting again with our simplest example given at the start of this
-document, we replace our() variables with my() versions.
-
- package Some_Class;
- my($CData1, $CData2); # file scope, not in any package
- sub CData1 {
- shift; # XXX: ignore calling class/object
- $CData1 = shift if @_;
- return $CData1;
- }
- sub CData2 {
- shift; # XXX: ignore calling class/object
- $CData2 = shift if @_;
- return $CData2;
- }
-
-So much for that old $Some_Class::CData1 package variable and its brethren!
-Those are gone now, replaced with lexicals. No one outside the
-scope can reach in and alter the class state without resorting to the
-documented interface. Not even subclasses or superclasses of
-this one have unmediated access to $CData1. They have to invoke the &CData1
-method against Some_Class or an instance thereof, just like anybody else.
-
-To be scrupulously honest, that last statement assumes you haven't packed
-several classes together into the same file scope, nor strewn your class
-implementation across several different files. Accessibility of those
-variables is based uniquely on the static file scope. It has nothing to
-do with the package. That means that code in a different file but
-the same package (class) could not access those variables, yet code in the
-same file but a different package (class) could. There are sound reasons
-why we usually suggest a one-to-one mapping between files and packages
-and modules and classes. You don't have to stick to this suggestion if
-you really know what you're doing, but you're apt to confuse yourself
-otherwise, especially at first.
-
-If you'd like to aggregate your class attributes into one lexically scoped,
-composite structure, you're perfectly free to do so.
-
- package Some_Class;
- my %ClassData = (
- CData1 => "",
- CData2 => "",
- );
- sub CData1 {
- shift; # XXX: ignore calling class/object
- $ClassData{CData1} = shift if @_;
- return $ClassData{CData1};
- }
- sub CData2 {
- shift; # XXX: ignore calling class/object
- $ClassData{CData2} = shift if @_;
- return $ClassData{CData2};
- }
-
-To make this more scalable as other class attributes are added, we can
-again register closures into the package symbol table to create accessor
-methods for them.
-
- package Some_Class;
- my %ClassData = (
- CData1 => "",
- CData2 => "",
- );
- for my $datum (keys %ClassData) {
- no strict "refs";
- *$datum = sub {
- shift; # XXX: ignore calling class/object
- $ClassData{$datum} = shift if @_;
- return $ClassData{$datum};
- };
- }
-
-Requiring even your own class to use accessor methods like anybody else is
-probably a good thing. But demanding and expecting that everyone else,
-be they subclass or superclass, friend or foe, will all come to your
-object through mediation is more than just a good idea. It's absolutely
-critical to the model. Let there be in your mind no such thing as
-"public" data, nor even "protected" data, which is a seductive but
-ultimately destructive notion. Both will come back to bite at you.
-That's because as soon as you take that first step out of the solid
-position in which all state is considered completely private, save from the
-perspective of its own accessor methods, you have violated the envelope.
-And, having pierced that encapsulating envelope, you shall doubtless
-someday pay the price when future changes in the implementation break
-unrelated code. Considering that avoiding this infelicitous outcome was
-precisely why you consented to suffer the slings and arrows of obsequious
-abstraction by turning to object orientation in the first place, such
-breakage seems unfortunate in the extreme.
-
-=head2 More Inheritance Concerns
-
-Suppose that Some_Class were used as a base class from which to derive
-Another_Class. If you invoke a &CData method on the derived class or
-on an object of that class, what do you get? Would the derived class
-have its own state, or would it piggyback on its base class's versions
-of the class attributes?
-
-The answer is that under the scheme outlined above, the derived class
-would B<not> have its own state data. As before, whether you consider
-this a good thing or a bad one depends on the semantics of the classes
-involved.
-
-The cleanest, sanest, simplest way to address per-class state in a
-lexical is for the derived class to override its base class's version
-of the method that accesses the class attributes. Since the actual method
-called is the one in the object's derived class if this exists, you
-automatically get per-class state this way. Any urge to provide an
-unadvertised method to sneak out a reference to the %ClassData hash
-should be strenuously resisted.
-
-As with any other overridden method, the implementation in the
-derived class always has the option of invoking its base class's
-version of the method in addition to its own. Here's an example:
-
- package Another_Class;
- @ISA = qw(Some_Class);
-
- my %ClassData = (
- CData1 => "",
- );
-
- sub CData1 {
- my($self, $newvalue) = @_;
- if (@_ > 1) {
- # set locally first
- $ClassData{CData1} = $newvalue;
-
- # then pass the buck up to the first
- # overridden version, if there is one
- if ($self->can("SUPER::CData1")) {
- $self->SUPER::CData1($newvalue);
- }
- }
- return $ClassData{CData1};
- }
-
-Those dabbling in multiple inheritance might be concerned
-about there being more than one override.
-
- for my $parent (@ISA) {
- my $methname = $parent . "::CData1";
- if ($self->can($methname)) {
- $self->$methname($newvalue);
- }
- }
-
-Because the &UNIVERSAL::can method returns a reference
-to the function directly, you can use this directly
-for a significant performance improvement:
-
- for my $parent (@ISA) {
- if (my $coderef = $self->can($parent . "::CData1")) {
- $self->$coderef($newvalue);
- }
- }
-
-If you override C<UNIVERSAL::can> in your own classes, be sure to return the
-reference appropriately.
-
-=head2 Locking the Door and Throwing Away the Key
-
-As currently implemented, any code within the same scope as the
-file-scoped lexical %ClassData can alter that hash directly. Is that
-ok? Is it acceptable or even desirable to allow other parts of the
-implementation of this class to access class attributes directly?
-
-That depends on how careful you want to be. Think back to the Cosmos
-class. If the &supernova method had directly altered $Cosmos::Stars or
-C<$Cosmos::Cosmos{stars}>, then we wouldn't have been able to reuse the
-class when it came to inventing a Multiverse. So letting even the class
-itself access its own class attributes without the mediating intervention of
-properly designed accessor methods is probably not a good idea after all.
-
-Restricting access to class attributes from the class itself is usually
-not enforceable even in strongly object-oriented languages. But in Perl,
-you can.
-
-Here's one way:
-
- package Some_Class;
-
- { # scope for hiding $CData1
- my $CData1;
- sub CData1 {
- shift; # XXX: unused
- $CData1 = shift if @_;
- return $CData1;
- }
- }
-
- { # scope for hiding $CData2
- my $CData2;
- sub CData2 {
- shift; # XXX: unused
- $CData2 = shift if @_;
- return $CData2;
- }
- }
-
-No one--absolutely no one--is allowed to read or write the class
-attributes without the mediation of the managing accessor method, since
-only that method has access to the lexical variable it's managing.
-This use of mediated access to class attributes is a form of privacy far
-stronger than most OO languages provide.
-
-The repetition of code used to create per-datum accessor methods chafes
-at our Laziness, so we'll again use closures to create similar
-methods.
-
- package Some_Class;
-
- { # scope for ultra-private meta-object for class attributes
- my %ClassData = (
- CData1 => "",
- CData2 => "",
- );
-
- for my $datum (keys %ClassData ) {
- no strict "refs";
- *$datum = sub {
- use strict "refs";
- my ($self, $newvalue) = @_;
- $ClassData{$datum} = $newvalue if @_ > 1;
- return $ClassData{$datum};
- }
- }
-
- }
-
-The closure above can be modified to take inheritance into account using
-the &UNIVERSAL::can method and SUPER as shown previously.
-
-=head2 Translucency Revisited
-
-The Vermin class demonstrates translucency using a package variable,
-eponymously named %Vermin, as its meta-object. If you prefer to
-use absolutely no package variables beyond those necessary to appease
-inheritance or possibly the Exporter, this strategy is closed to you.
-That's too bad, because translucent attributes are an appealing
-technique, so it would be valuable to devise an implementation using
-only lexicals.
-
-There's a second reason why you might wish to avoid the eponymous
-package hash. If you use class names with double-colons in them, you
-would end up poking around somewhere you might not have meant to poke.
-
- package Vermin;
- $class = "Vermin";
- $class->{PopCount}++;
- # accesses $Vermin::Vermin{PopCount}
-
- package Vermin::Noxious;
- $class = "Vermin::Noxious";
- $class->{PopCount}++;
- # accesses $Vermin::Noxious{PopCount}
-
-In the first case, because the class name had no double-colons, we got
-the hash in the current package. But in the second case, instead of
-getting some hash in the current package, we got the hash %Noxious in
-the Vermin package. (The noxious vermin just invaded another package and
-sprayed their data around it. :-) Perl doesn't support relative packages
-in its naming conventions, so any double-colons trigger a fully-qualified
-lookup instead of just looking in the current package.
-
-In practice, it is unlikely that the Vermin class had an existing
-package variable named %Noxious that you just blew away. If you're
-still mistrustful, you could always stake out your own territory
-where you know the rules, such as using Eponymous::Vermin::Noxious or
-Hieronymus::Vermin::Boschious or Leave_Me_Alone::Vermin::Noxious as class
-names instead. Sure, it's in theory possible that someone else has
-a class named Eponymous::Vermin with its own %Noxious hash, but this
-kind of thing is always true. There's no arbiter of package names.
-It's always the case that globals like @Cwd::ISA would collide if more
-than one class uses the same Cwd package.
-
-If this still leaves you with an uncomfortable twinge of paranoia,
-we have another solution for you. There's nothing that says that you
-have to have a package variable to hold a class meta-object, either for
-monadic classes or for translucent attributes. Just code up the methods
-so that they access a lexical instead.
-
-Here's another implementation of the Vermin class with semantics identical
-to those given previously, but this time using no package variables.
-
- package Vermin;
-
-
- # Here's the class meta-object, eponymously named.
- # It holds all class data, and also all instance data
- # so the latter can be used for both initialization
- # and translucency. it's a template.
- my %ClassData = (
- PopCount => 0, # capital for class attributes
- color => "beige", # small for instance attributes
- );
-
- # constructor method
- # invoked as class method or object method
- sub spawn {
- my $obclass = shift;
- my $class = ref($obclass) || $obclass;
- my $self = {};
- bless($self, $class);
- $ClassData{PopCount}++;
- # init fields from invoking object, or omit if
- # invoking object is the class to provide translucency
- %$self = %$obclass if ref $obclass;
- return $self;
- }
-
- # translucent accessor for "color" attribute
- # invoked as class method or object method
- sub color {
- my $self = shift;
-
- # handle class invocation
- unless (ref $self) {
- $ClassData{color} = shift if @_;
- return $ClassData{color}
- }
-
- # handle object invocation
- $self->{color} = shift if @_;
- if (defined $self->{color}) { # not exists!
- return $self->{color};
- } else {
- return $ClassData{color};
- }
- }
-
- # class attribute accessor for "PopCount" attribute
- # invoked as class method or object method
- sub population {
- return $ClassData{PopCount};
- }
-
- # instance destructor; invoked only as object method
- sub DESTROY {
- $ClassData{PopCount}--;
- }
-
- # detect whether an object attribute is translucent
- # (typically?) invoked only as object method
- sub is_translucent {
- my($self, $attr) = @_;
- $self = \%ClassData if !ref $self;
- return !defined $self->{$attr};
- }
-
- # test for presence of attribute in class
- # invoked as class method or object method
- sub has_attribute {
- my($self, $attr) = @_;
- return exists $ClassData{$attr};
- }
-
-=head1 NOTES
-
-Inheritance is a powerful but subtle device, best used only after careful
-forethought and design. Aggregation instead of inheritance is often a
-better approach.
-
-You can't use file-scoped lexicals in conjunction with the SelfLoader
-or the AutoLoader, because they alter the lexical scope in which the
-module's methods wind up getting compiled.
-
-The usual mealy-mouthed package-munging doubtless applies to setting
-up names of object attributes. For example, C<< $self->{ObData1} >>
-should probably be C<< $self->{ __PACKAGE__ . "_ObData1" } >>, but that
-would just confuse the examples.
-
-=head1 SEE ALSO
-
-L<perltoot>, L<perlobj>, L<perlmod>, and L<perlbot>.
-
-The Tie::SecureHash and Class::Data::Inheritable modules from CPAN are
-worth checking out.
-
-=head1 AUTHOR AND COPYRIGHT
-
-Copyright (c) 1999 Tom Christiansen.
-All rights reserved.
-
-This documentation is free; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-Irrespective of its distribution, all code examples in this file
-are hereby placed into the public domain. You are permitted and
-encouraged to use this code in your own programs for fun
-or for profit as you see fit. A simple comment in the code giving
-credit would be courteous but is not required.
-
-=head1 ACKNOWLEDGEMENTS
-
-Russ Allbery, Jon Orwant, Randy Ray, Larry Rosler, Nat Torkington,
-and Stephen Warren all contributed suggestions and corrections to this
-piece. Thanks especially to Damian Conway for his ideas and feedback,
-and without whose indirect prodding I might never have taken the time
-to show others how much Perl has to offer in the way of objects once
-you start thinking outside the tiny little box that today's "popular"
-object-oriented languages enforce.
-
-=head1 HISTORY
+For information on OO programming with Perl, please see L<perlootut>
+and L<perlobj>.
-Last edit: Sun Feb 4 20:50:28 EST 2001
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perltoot.pod b/Master/tlpkg/tlperl/lib/pods/perltoot.pod
index 0d8648bdd55..c89629036c3 100644
--- a/Master/tlpkg/tlperl/lib/pods/perltoot.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perltoot.pod
@@ -1,1836 +1,12 @@
+=encoding utf8
+
=head1 NAME
-perltoot - Tom's object-oriented tutorial for perl
+perltoot - This document has been deleted
=head1 DESCRIPTION
-Object-oriented programming is a big seller these days. Some managers
-would rather have objects than sliced bread. Why is that? What's so
-special about an object? Just what I<is> an object anyway?
-
-An object is nothing but a way of tucking away complex behaviours into
-a neat little easy-to-use bundle. (This is what professors call
-abstraction.) Smart people who have nothing to do but sit around for
-weeks on end figuring out really hard problems make these nifty
-objects that even regular people can use. (This is what professors call
-software reuse.) Users (well, programmers) can play with this little
-bundle all they want, but they aren't to open it up and mess with the
-insides. Just like an expensive piece of hardware, the contract says
-that you void the warranty if you muck with the cover. So don't do that.
-
-The heart of objects is the class, a protected little private namespace
-full of data and functions. A class is a set of related routines that
-addresses some problem area. You can think of it as a user-defined type.
-The Perl package mechanism, also used for more traditional modules,
-is used for class modules as well. Objects "live" in a class, meaning
-that they belong to some package.
-
-More often than not, the class provides the user with little bundles.
-These bundles are objects. They know whose class they belong to,
-and how to behave. Users ask the class to do something, like "give
-me an object." Or they can ask one of these objects to do something.
-Asking a class to do something for you is calling a I<class method>.
-Asking an object to do something for you is calling an I<object method>.
-Asking either a class (usually) or an object (sometimes) to give you
-back an object is calling a I<constructor>, which is just a
-kind of method.
-
-That's all well and good, but how is an object different from any other
-Perl data type? Just what is an object I<really>; that is, what's its
-fundamental type? The answer to the first question is easy. An object
-is different from any other data type in Perl in one and only one way:
-you may dereference it using not merely string or numeric subscripts
-as with simple arrays and hashes, but with named subroutine calls.
-In a word, with I<methods>.
-
-The answer to the second question is that it's a reference, and not just
-any reference, mind you, but one whose referent has been I<bless>()ed
-into a particular class (read: package). What kind of reference? Well,
-the answer to that one is a bit less concrete. That's because in Perl
-the designer of the class can employ any sort of reference they'd like
-as the underlying intrinsic data type. It could be a scalar, an array,
-or a hash reference. It could even be a code reference. But because
-of its inherent flexibility, an object is usually a hash reference.
-
-=head1 Creating a Class
-
-Before you create a class, you need to decide what to name it. That's
-because the class (package) name governs the name of the file used to
-house it, just as with regular modules. Then, that class (package)
-should provide one or more ways to generate objects. Finally, it should
-provide mechanisms to allow users of its objects to indirectly manipulate
-these objects from a distance.
-
-For example, let's make a simple Person class module. It gets stored in
-the file Person.pm. If it were called a Happy::Person class, it would
-be stored in the file Happy/Person.pm, and its package would become
-Happy::Person instead of just Person. (On a personal computer not
-running Unix or Plan 9, but something like Mac OS or VMS, the directory
-separator may be different, but the principle is the same.) Do not assume
-any formal relationship between modules based on their directory names.
-This is merely a grouping convenience, and has no effect on inheritance,
-variable accessibility, or anything else.
-
-For this module we aren't going to use Exporter, because we're
-a well-behaved class module that doesn't export anything at all.
-In order to manufacture objects, a class needs to have a I<constructor
-method>. A constructor gives you back not just a regular data type,
-but a brand-new object in that class. This magic is taken care of by
-the bless() function, whose sole purpose is to enable its referent to
-be used as an object. Remember: being an object really means nothing
-more than that methods may now be called against it.
-
-While a constructor may be named anything you'd like, most Perl
-programmers seem to like to call theirs new(). However, new() is not
-a reserved word, and a class is under no obligation to supply such.
-Some programmers have also been known to use a function with
-the same name as the class as the constructor.
-
-=head2 Object Representation
-
-By far the most common mechanism used in Perl to represent a Pascal
-record, a C struct, or a C++ class is an anonymous hash. That's because a
-hash has an arbitrary number of data fields, each conveniently accessed by
-an arbitrary name of your own devising.
-
-If you were just doing a simple
-struct-like emulation, you would likely go about it something like this:
-
- $rec = {
- name => "Jason",
- age => 23,
- peers => [ "Norbert", "Rhys", "Phineas"],
- };
-
-If you felt like it, you could add a bit of visual distinction
-by up-casing the hash keys:
-
- $rec = {
- NAME => "Jason",
- AGE => 23,
- PEERS => [ "Norbert", "Rhys", "Phineas"],
- };
-
-And so you could get at C<< $rec->{NAME} >> to find "Jason", or
-C<< @{ $rec->{PEERS} } >> to get at "Norbert", "Rhys", and "Phineas".
-(Have you ever noticed how many 23-year-old programmers seem to
-be named "Jason" these days? :-)
-
-This same model is often used for classes, although it is not considered
-the pinnacle of programming propriety for folks from outside the
-class to come waltzing into an object, brazenly accessing its data
-members directly. Generally speaking, an object should be considered
-an opaque cookie that you use I<object methods> to access. Visually,
-methods look like you're dereffing a reference using a function name
-instead of brackets or braces.
-
-=head2 Class Interface
-
-Some languages provide a formal syntactic interface to a class's methods,
-but Perl does not. It relies on you to read the documentation of each
-class. If you try to call an undefined method on an object, Perl won't
-complain, but the program will trigger an exception while it's running.
-Likewise, if you call a method expecting a prime number as its argument
-with a non-prime one instead, you can't expect the compiler to catch this.
-(Well, you can expect it all you like, but it's not going to happen.)
-
-Let's suppose you have a well-educated user of your Person class,
-someone who has read the docs that explain the prescribed
-interface. Here's how they might use the Person class:
-
- use Person;
-
- $him = Person->new();
- $him->name("Jason");
- $him->age(23);
- $him->peers( "Norbert", "Rhys", "Phineas" );
-
- push @All_Recs, $him; # save object in array for later
-
- printf "%s is %d years old.\n", $him->name, $him->age;
- print "His peers are: ", join(", ", $him->peers), "\n";
-
- printf "Last rec's name is %s\n", $All_Recs[-1]->name;
-
-As you can see, the user of the class doesn't know (or at least, has no
-business paying attention to the fact) that the object has one particular
-implementation or another. The interface to the class and its objects
-is exclusively via methods, and that's all the user of the class should
-ever play with.
-
-=head2 Constructors and Instance Methods
-
-Still, I<someone> has to know what's in the object. And that someone is
-the class. It implements methods that the programmer uses to access
-the object. Here's how to implement the Person class using the standard
-hash-ref-as-an-object idiom. We'll make a class method called new() to
-act as the constructor, and three object methods called name(), age(), and
-peers() to get at per-object data hidden away in our anonymous hash.
-
- package Person;
- use strict;
-
- ##################################################
- ## the object constructor (simplistic version) ##
- ##################################################
- sub new {
- my $self = {};
- $self->{NAME} = undef;
- $self->{AGE} = undef;
- $self->{PEERS} = [];
- bless($self); # but see below
- return $self;
- }
-
- ##############################################
- ## methods to access per-object data ##
- ## ##
- ## With args, they set the value. Without ##
- ## any, they only retrieve it/them. ##
- ##############################################
-
- sub name {
- my $self = shift;
- if (@_) { $self->{NAME} = shift }
- return $self->{NAME};
- }
-
- sub age {
- my $self = shift;
- if (@_) { $self->{AGE} = shift }
- return $self->{AGE};
- }
-
- sub peers {
- my $self = shift;
- if (@_) { @{ $self->{PEERS} } = @_ }
- return @{ $self->{PEERS} };
- }
-
- 1; # so the require or use succeeds
-
-We've created three methods to access an object's data, name(), age(),
-and peers(). These are all substantially similar. If called with an
-argument, they set the appropriate field; otherwise they return the
-value held by that field, meaning the value of that hash key.
-
-=head2 Planning for the Future: Better Constructors
-
-Even though at this point you may not even know what it means, someday
-you're going to worry about inheritance. (You can safely ignore this
-for now and worry about it later if you'd like.) To ensure that this
-all works out smoothly, you must use the double-argument form of bless().
-The second argument is the class into which the referent will be blessed.
-By not assuming our own class as the default second argument and instead
-using the class passed into us, we make our constructor inheritable.
-
- sub new {
- my $class = shift;
- my $self = {};
- $self->{NAME} = undef;
- $self->{AGE} = undef;
- $self->{PEERS} = [];
- bless ($self, $class);
- return $self;
- }
-
-That's about all there is for constructors. These methods bring objects
-to life, returning neat little opaque bundles to the user to be used in
-subsequent method calls.
-
-=head2 Destructors
-
-Every story has a beginning and an end. The beginning of the object's
-story is its constructor, explicitly called when the object comes into
-existence. But the ending of its story is the I<destructor>, a method
-implicitly called when an object leaves this life. Any per-object
-clean-up code is placed in the destructor, which must (in Perl) be called
-DESTROY.
-
-If constructors can have arbitrary names, then why not destructors?
-Because while a constructor is explicitly called, a destructor is not.
-Destruction happens automatically via Perl's garbage collection (GC)
-system, which is a quick but somewhat lazy reference-based GC system.
-To know what to call, Perl insists that the destructor be named DESTROY.
-Perl's notion of the right time to call a destructor is not well-defined
-currently, which is why your destructors should not rely on when they are
-called.
-
-Why is DESTROY in all caps? Perl on occasion uses purely uppercase
-function names as a convention to indicate that the function will
-be automatically called by Perl in some way. Others that are called
-implicitly include BEGIN, END, AUTOLOAD, plus all methods used by
-tied objects, described in L<perltie>.
-
-In really good object-oriented programming languages, the user doesn't
-care when the destructor is called. It just happens when it's supposed
-to. In low-level languages without any GC at all, there's no way to
-depend on this happening at the right time, so the programmer must
-explicitly call the destructor to clean up memory and state, crossing
-their fingers that it's the right time to do so. Unlike C++, an
-object destructor is nearly never needed in Perl, and even when it is,
-explicit invocation is uncalled for. In the case of our Person class,
-we don't need a destructor because Perl takes care of simple matters
-like memory deallocation.
-
-The only situation where Perl's reference-based GC won't work is
-when there's a circularity in the data structure, such as:
-
- $this->{WHATEVER} = $this;
-
-In that case, you must delete the self-reference manually if you expect
-your program not to leak memory. While admittedly error-prone, this is
-the best we can do right now. Nonetheless, rest assured that when your
-program is finished, its objects' destructors are all duly called.
-So you are guaranteed that an object I<eventually> gets properly
-destroyed, except in the unique case of a program that never exits.
-(If you're running Perl embedded in another application, this full GC
-pass happens a bit more frequently--whenever a thread shuts down.)
-
-=head2 Other Object Methods
-
-The methods we've talked about so far have either been constructors or
-else simple "data methods", interfaces to data stored in the object.
-These are a bit like an object's data members in the C++ world, except
-that strangers don't access them as data. Instead, they should only
-access the object's data indirectly via its methods. This is an
-important rule: in Perl, access to an object's data should I<only>
-be made through methods.
-
-Perl doesn't impose restrictions on who gets to use which methods.
-The public-versus-private distinction is by convention, not syntax.
-(Well, unless you use the Alias module described below in
-L<Data Members as Variables>.) Occasionally you'll see method names beginning or ending
-with an underscore or two. This marking is a convention indicating
-that the methods are private to that class alone and sometimes to its
-closest acquaintances, its immediate subclasses. But this distinction
-is not enforced by Perl itself. It's up to the programmer to behave.
-
-There's no reason to limit methods to those that simply access data.
-Methods can do anything at all. The key point is that they're invoked
-against an object or a class. Let's say we'd like object methods that
-do more than fetch or set one particular field.
-
- sub exclaim {
- my $self = shift;
- return sprintf "Hi, I'm %s, age %d, working with %s",
- $self->{NAME}, $self->{AGE}, join(", ", @{$self->{PEERS}});
- }
-
-Or maybe even one like this:
-
- sub happy_birthday {
- my $self = shift;
- return ++$self->{AGE};
- }
-
-Some might argue that one should go at these this way:
-
- sub exclaim {
- my $self = shift;
- return sprintf "Hi, I'm %s, age %d, working with %s",
- $self->name, $self->age, join(", ", $self->peers);
- }
-
- sub happy_birthday {
- my $self = shift;
- return $self->age( $self->age() + 1 );
- }
-
-But since these methods are all executing in the class itself, this
-may not be critical. There are tradeoffs to be made. Using direct
-hash access is faster (about an order of magnitude faster, in fact), and
-it's more convenient when you want to interpolate in strings. But using
-methods (the external interface) internally shields not just the users of
-your class but even you yourself from changes in your data representation.
-
-=head1 Class Data
-
-What about "class data", data items common to each object in a class?
-What would you want that for? Well, in your Person class, you might
-like to keep track of the total people alive. How do you implement that?
-
-You I<could> make it a global variable called $Person::Census. But about
-only reason you'd do that would be if you I<wanted> people to be able to
-get at your class data directly. They could just say $Person::Census
-and play around with it. Maybe this is ok in your design scheme.
-You might even conceivably want to make it an exported variable. To be
-exportable, a variable must be a (package) global. If this were a
-traditional module rather than an object-oriented one, you might do that.
-
-While this approach is expected in most traditional modules, it's
-generally considered rather poor form in most object modules. In an
-object module, you should set up a protective veil to separate interface
-from implementation. So provide a class method to access class data
-just as you provide object methods to access object data.
-
-So, you I<could> still keep $Census as a package global and rely upon
-others to honor the contract of the module and therefore not play around
-with its implementation. You could even be supertricky and make $Census a
-tied object as described in L<perltie>, thereby intercepting all accesses.
-
-But more often than not, you just want to make your class data a
-file-scoped lexical. To do so, simply put this at the top of the file:
-
- my $Census = 0;
-
-Even though the scope of a my() normally expires when the block in which
-it was declared is done (in this case the whole file being required or
-used), Perl's deep binding of lexical variables guarantees that the
-variable will not be deallocated, remaining accessible to functions
-declared within that scope. This doesn't work with global variables
-given temporary values via local(), though.
-
-Irrespective of whether you leave $Census a package global or make
-it instead a file-scoped lexical, you should make these
-changes to your Person::new() constructor:
-
- sub new {
- my $class = shift;
- my $self = {};
- $Census++;
- $self->{NAME} = undef;
- $self->{AGE} = undef;
- $self->{PEERS} = [];
- bless ($self, $class);
- return $self;
- }
-
- sub population {
- return $Census;
- }
-
-Now that we've done this, we certainly do need a destructor so that
-when Person is destroyed, the $Census goes down. Here's how
-this could be done:
-
- sub DESTROY { --$Census }
-
-Notice how there's no memory to deallocate in the destructor? That's
-something that Perl takes care of for you all by itself.
-
-Alternatively, you could use the Class::Data::Inheritable module from
-CPAN.
-
-
-=head2 Accessing Class Data
-
-It turns out that this is not really a good way to go about handling
-class data. A good scalable rule is that I<you must never reference class
-data directly from an object method>. Otherwise you aren't building a
-scalable, inheritable class. The object must be the rendezvous point
-for all operations, especially from an object method. The globals
-(class data) would in some sense be in the "wrong" package in your
-derived classes. In Perl, methods execute in the context of the class
-they were defined in, I<not> that of the object that triggered them.
-Therefore, namespace visibility of package globals in methods is unrelated
-to inheritance.
-
-Got that? Maybe not. Ok, let's say that some other class "borrowed"
-(well, inherited) the DESTROY method as it was defined above. When those
-objects are destroyed, the original $Census variable will be altered,
-not the one in the new class's package namespace. Perhaps this is what
-you want, but probably it isn't.
-
-Here's how to fix this. We'll store a reference to the data in the
-value accessed by the hash key "_CENSUS". Why the underscore? Well,
-mostly because an initial underscore already conveys strong feelings
-of magicalness to a C programmer. It's really just a mnemonic device
-to remind ourselves that this field is special and not to be used as
-a public data member in the same way that NAME, AGE, and PEERS are.
-(Because we've been developing this code under the strict pragma, prior
-to perl version 5.004 we'll have to quote the field name.)
-
- sub new {
- my $class = shift;
- my $self = {};
- $self->{NAME} = undef;
- $self->{AGE} = undef;
- $self->{PEERS} = [];
- # "private" data
- $self->{"_CENSUS"} = \$Census;
- bless ($self, $class);
- ++ ${ $self->{"_CENSUS"} };
- return $self;
- }
-
- sub population {
- my $self = shift;
- if (ref $self) {
- return ${ $self->{"_CENSUS"} };
- } else {
- return $Census;
- }
- }
-
- sub DESTROY {
- my $self = shift;
- -- ${ $self->{"_CENSUS"} };
- }
-
-=head2 Debugging Methods
-
-It's common for a class to have a debugging mechanism. For example,
-you might want to see when objects are created or destroyed. To do that,
-add a debugging variable as a file-scoped lexical. For this, we'll pull
-in the standard Carp module to emit our warnings and fatal messages.
-That way messages will come out with the caller's filename and
-line number instead of our own; if we wanted them to be from our own
-perspective, we'd just use die() and warn() directly instead of croak()
-and carp() respectively.
-
- use Carp;
- my $Debugging = 0;
-
-Now add a new class method to access the variable.
-
- sub debug {
- my $class = shift;
- if (ref $class) { confess "Class method called as object method" }
- unless (@_ == 1) { confess "usage: CLASSNAME->debug(level)" }
- $Debugging = shift;
- }
-
-Now fix up DESTROY to murmur a bit as the moribund object expires:
-
- sub DESTROY {
- my $self = shift;
- if ($Debugging) { carp "Destroying $self " . $self->name }
- -- ${ $self->{"_CENSUS"} };
- }
-
-One could conceivably make a per-object debug state. That
-way you could call both of these:
-
- Person->debug(1); # entire class
- $him->debug(1); # just this object
-
-To do so, we need our debugging method to be a "bimodal" one, one that
-works on both classes I<and> objects. Therefore, adjust the debug()
-and DESTROY methods as follows:
-
- sub debug {
- my $self = shift;
- confess "usage: thing->debug(level)" unless @_ == 1;
- my $level = shift;
- if (ref($self)) {
- $self->{"_DEBUG"} = $level; # just myself
- } else {
- $Debugging = $level; # whole class
- }
- }
-
- sub DESTROY {
- my $self = shift;
- if ($Debugging || $self->{"_DEBUG"}) {
- carp "Destroying $self " . $self->name;
- }
- -- ${ $self->{"_CENSUS"} };
- }
-
-What happens if a derived class (which we'll call Employee) inherits
-methods from this Person base class? Then C<< Employee->debug() >>, when called
-as a class method, manipulates $Person::Debugging not $Employee::Debugging.
-
-=head2 Class Destructors
-
-The object destructor handles the death of each distinct object. But sometimes
-you want a bit of cleanup when the entire class is shut down, which
-currently only happens when the program exits. To make such a
-I<class destructor>, create a function in that class's package named
-END. This works just like the END function in traditional modules,
-meaning that it gets called whenever your program exits unless it execs
-or dies of an uncaught signal. For example,
-
- sub END {
- if ($Debugging) {
- print "All persons are going away now.\n";
- }
- }
-
-When the program exits, all the class destructors (END functions) are
-be called in the opposite order that they were loaded in (LIFO order).
-
-=head2 Documenting the Interface
-
-And there you have it: we've just shown you the I<implementation> of this
-Person class. Its I<interface> would be its documentation. Usually this
-means putting it in pod ("plain old documentation") format right there
-in the same file. In our Person example, we would place the following
-docs anywhere in the Person.pm file. Even though it looks mostly like
-code, it's not. It's embedded documentation such as would be used by
-the pod2man, pod2html, or pod2text programs. The Perl compiler ignores
-pods entirely, just as the translators ignore code. Here's an example of
-some pods describing the informal interface:
-
- =head1 NAME
-
- Person - class to implement people
-
- =head1 SYNOPSIS
-
- use Person;
-
- #################
- # class methods #
- #################
- $ob = Person->new;
- $count = Person->population;
-
- #######################
- # object data methods #
- #######################
-
- ### get versions ###
- $who = $ob->name;
- $years = $ob->age;
- @pals = $ob->peers;
-
- ### set versions ###
- $ob->name("Jason");
- $ob->age(23);
- $ob->peers( "Norbert", "Rhys", "Phineas" );
-
- ########################
- # other object methods #
- ########################
-
- $phrase = $ob->exclaim;
- $ob->happy_birthday;
-
- =head1 DESCRIPTION
-
- The Person class implements dah dee dah dee dah....
-
-That's all there is to the matter of interface versus implementation.
-A programmer who opens up the module and plays around with all the private
-little shiny bits that were safely locked up behind the interface contract
-has voided the warranty, and you shouldn't worry about their fate.
-
-=head1 Aggregation
-
-Suppose you later want to change the class to implement better names.
-Perhaps you'd like to support both given names (called Christian names,
-irrespective of one's religion) and family names (called surnames), plus
-nicknames and titles. If users of your Person class have been properly
-accessing it through its documented interface, then you can easily change
-the underlying implementation. If they haven't, then they lose and
-it's their fault for breaking the contract and voiding their warranty.
-
-To do this, we'll make another class, this one called Fullname. What's
-the Fullname class look like? To answer that question, you have to
-first figure out how you want to use it. How about we use it this way:
-
- $him = Person->new();
- $him->fullname->title("St");
- $him->fullname->christian("Thomas");
- $him->fullname->surname("Aquinas");
- $him->fullname->nickname("Tommy");
- printf "His normal name is %s\n", $him->name;
- printf "But his real name is %s\n", $him->fullname->as_string;
-
-Ok. To do this, we'll change Person::new() so that it supports
-a full name field this way:
-
- sub new {
- my $class = shift;
- my $self = {};
- $self->{FULLNAME} = Fullname->new();
- $self->{AGE} = undef;
- $self->{PEERS} = [];
- $self->{"_CENSUS"} = \$Census;
- bless ($self, $class);
- ++ ${ $self->{"_CENSUS"} };
- return $self;
- }
-
- sub fullname {
- my $self = shift;
- return $self->{FULLNAME};
- }
-
-Then to support old code, define Person::name() this way:
-
- sub name {
- my $self = shift;
- return $self->{FULLNAME}->nickname(@_)
- || $self->{FULLNAME}->christian(@_);
- }
-
-Here's the Fullname class. We'll use the same technique
-of using a hash reference to hold data fields, and methods
-by the appropriate name to access them:
-
- package Fullname;
- use strict;
-
- sub new {
- my $class = shift;
- my $self = {
- TITLE => undef,
- CHRISTIAN => undef,
- SURNAME => undef,
- NICK => undef,
- };
- bless ($self, $class);
- return $self;
- }
-
- sub christian {
- my $self = shift;
- if (@_) { $self->{CHRISTIAN} = shift }
- return $self->{CHRISTIAN};
- }
-
- sub surname {
- my $self = shift;
- if (@_) { $self->{SURNAME} = shift }
- return $self->{SURNAME};
- }
-
- sub nickname {
- my $self = shift;
- if (@_) { $self->{NICK} = shift }
- return $self->{NICK};
- }
-
- sub title {
- my $self = shift;
- if (@_) { $self->{TITLE} = shift }
- return $self->{TITLE};
- }
-
- sub as_string {
- my $self = shift;
- my $name = join(" ", @$self{'CHRISTIAN', 'SURNAME'});
- if ($self->{TITLE}) {
- $name = $self->{TITLE} . " " . $name;
- }
- return $name;
- }
-
- 1;
-
-Finally, here's the test program:
-
- #!/usr/bin/perl -w
- use strict;
- use Person;
- sub END { show_census() }
-
- sub show_census () {
- printf "Current population: %d\n", Person->population;
- }
-
- Person->debug(1);
-
- show_census();
-
- my $him = Person->new();
-
- $him->fullname->christian("Thomas");
- $him->fullname->surname("Aquinas");
- $him->fullname->nickname("Tommy");
- $him->fullname->title("St");
- $him->age(1);
-
- printf "%s is really %s.\n", $him->name, $him->fullname->as_string;
- printf "%s's age: %d.\n", $him->name, $him->age;
- $him->happy_birthday;
- printf "%s's age: %d.\n", $him->name, $him->age;
-
- show_census();
-
-=head1 Inheritance
-
-Object-oriented programming systems all support some notion of
-inheritance. Inheritance means allowing one class to piggy-back on
-top of another one so you don't have to write the same code again and
-again. It's about software reuse, and therefore related to Laziness,
-the principal virtue of a programmer. (The import/export mechanisms in
-traditional modules are also a form of code reuse, but a simpler one than
-the true inheritance that you find in object modules.)
-
-Sometimes the syntax of inheritance is built into the core of the
-language, and sometimes it's not. Perl has no special syntax for
-specifying the class (or classes) to inherit from. Instead, it's all
-strictly in the semantics. Each package can have a variable called @ISA,
-which governs (method) inheritance. If you try to call a method on an
-object or class, and that method is not found in that object's package,
-Perl then looks to @ISA for other packages to go looking through in
-search of the missing method.
-
-Like the special per-package variables recognized by Exporter (such as
-@EXPORT, @EXPORT_OK, @EXPORT_FAIL, %EXPORT_TAGS, and $VERSION), the @ISA
-array I<must> be a package-scoped global and not a file-scoped lexical
-created via my(). Most classes have just one item in their @ISA array.
-In this case, we have what's called "single inheritance", or SI for short.
-
-Consider this class:
-
- package Employee;
- use Person;
- @ISA = ("Person");
- 1;
-
-Not a lot to it, eh? All it's doing so far is loading in another
-class and stating that this one will inherit methods from that
-other class if need be. We have given it none of its own methods.
-We rely upon an Employee to behave just like a Person.
-
-Setting up an empty class like this is called the "empty subclass test";
-that is, making a derived class that does nothing but inherit from a
-base class. If the original base class has been designed properly,
-then the new derived class can be used as a drop-in replacement for the
-old one. This means you should be able to write a program like this:
-
- use Employee;
- my $empl = Employee->new();
- $empl->name("Jason");
- $empl->age(23);
- printf "%s is age %d.\n", $empl->name, $empl->age;
-
-By proper design, we mean always using the two-argument form of bless(),
-avoiding direct access of global data, and not exporting anything. If you
-look back at the Person::new() function we defined above, we were careful
-to do that. There's a bit of package data used in the constructor,
-but the reference to this is stored on the object itself and all other
-methods access package data via that reference, so we should be ok.
-
-What do we mean by the Person::new() function? Isn't that actually
-a method? Well, in principle, yes. A method is just a function that
-expects as its first argument a class name (package) or object
-(blessed reference). Person::new() is the function that both the
-C<< Person->new() >> method and the C<< Employee->new() >> method end
-up calling. Understand that while a method call looks a lot like a
-function call, they aren't really quite the same, and if you treat them
-as the same, you'll very soon be left with nothing but broken programs.
-First, the actual underlying calling conventions are different: method
-calls get an extra argument. Second, function calls don't do inheritance,
-but methods do.
-
- Method Call Resulting Function Call
- ----------- ------------------------
- Person->new() Person::new("Person")
- Employee->new() Person::new("Employee")
-
-So don't use function calls when you mean to call a method.
-
-If an employee is just a Person, that's not all too very interesting.
-So let's add some other methods. We'll give our employee
-data fields to access their salary, their employee ID, and their
-start date.
-
-If you're getting a little tired of creating all these nearly identical
-methods just to get at the object's data, do not despair. Later,
-we'll describe several different convenience mechanisms for shortening
-this up. Meanwhile, here's the straight-forward way:
-
- sub salary {
- my $self = shift;
- if (@_) { $self->{SALARY} = shift }
- return $self->{SALARY};
- }
-
- sub id_number {
- my $self = shift;
- if (@_) { $self->{ID} = shift }
- return $self->{ID};
- }
-
- sub start_date {
- my $self = shift;
- if (@_) { $self->{START_DATE} = shift }
- return $self->{START_DATE};
- }
-
-=head2 Overridden Methods
-
-What happens when both a derived class and its base class have the same
-method defined? Well, then you get the derived class's version of that
-method. For example, let's say that we want the peers() method called on
-an employee to act a bit differently. Instead of just returning the list
-of peer names, let's return slightly different strings. So doing this:
-
- $empl->peers("Peter", "Paul", "Mary");
- printf "His peers are: %s\n", join(", ", $empl->peers);
-
-will produce:
-
- His peers are: PEON=PETER, PEON=PAUL, PEON=MARY
-
-To do this, merely add this definition into the Employee.pm file:
-
- sub peers {
- my $self = shift;
- if (@_) { @{ $self->{PEERS} } = @_ }
- return map { "PEON=\U$_" } @{ $self->{PEERS} };
- }
-
-There, we've just demonstrated the high-falutin' concept known in certain
-circles as I<polymorphism>. We've taken on the form and behaviour of
-an existing object, and then we've altered it to suit our own purposes.
-This is a form of Laziness. (Getting polymorphed is also what happens
-when the wizard decides you'd look better as a frog.)
-
-Every now and then you'll want to have a method call trigger both its
-derived class (also known as "subclass") version as well as its base class
-(also known as "superclass") version. In practice, constructors and
-destructors are likely to want to do this, and it probably also makes
-sense in the debug() method we showed previously.
-
-To do this, add this to Employee.pm:
-
- use Carp;
- my $Debugging = 0;
-
- sub debug {
- my $self = shift;
- confess "usage: thing->debug(level)" unless @_ == 1;
- my $level = shift;
- if (ref($self)) {
- $self->{"_DEBUG"} = $level;
- } else {
- $Debugging = $level; # whole class
- }
- Person::debug($self, $Debugging); # don't really do this
- }
-
-As you see, we turn around and call the Person package's debug() function.
-But this is far too fragile for good design. What if Person doesn't
-have a debug() function, but is inheriting I<its> debug() method
-from elsewhere? It would have been slightly better to say
-
- Person->debug($Debugging);
-
-But even that's got too much hard-coded. It's somewhat better to say
-
- $self->Person::debug($Debugging);
-
-Which is a funny way to say to start looking for a debug() method up
-in Person. This strategy is more often seen on overridden object methods
-than on overridden class methods.
-
-There is still something a bit off here. We've hard-coded our
-superclass's name. This in particular is bad if you change which classes
-you inherit from, or add others. Fortunately, the pseudoclass SUPER
-comes to the rescue here.
-
- $self->SUPER::debug($Debugging);
-
-This way it starts looking in my class's @ISA. This only makes sense
-from I<within> a method call, though. Don't try to access anything
-in SUPER:: from anywhere else, because it doesn't exist outside
-an overridden method call. Note that C<SUPER> refers to the superclass of
-the current package, I<not> to the superclass of C<$self>.
-
-Things are getting a bit complicated here. Have we done anything
-we shouldn't? As before, one way to test whether we're designing
-a decent class is via the empty subclass test. Since we already have
-an Employee class that we're trying to check, we'd better get a new
-empty subclass that can derive from Employee. Here's one:
-
- package Boss;
- use Employee; # :-)
- @ISA = qw(Employee);
-
-And here's the test program:
-
- #!/usr/bin/perl -w
- use strict;
- use Boss;
- Boss->debug(1);
-
- my $boss = Boss->new();
-
- $boss->fullname->title("Don");
- $boss->fullname->surname("Pichon Alvarez");
- $boss->fullname->christian("Federico Jesus");
- $boss->fullname->nickname("Fred");
-
- $boss->age(47);
- $boss->peers("Frank", "Felipe", "Faust");
-
- printf "%s is age %d.\n", $boss->fullname->as_string, $boss->age;
- printf "His peers are: %s\n", join(", ", $boss->peers);
-
-Running it, we see that we're still ok. If you'd like to dump out your
-object in a nice format, somewhat like the way the 'x' command works in
-the debugger, you could use the Data::Dumper module from CPAN this way:
-
- use Data::Dumper;
- print "Here's the boss:\n";
- print Dumper($boss);
-
-Which shows us something like this:
-
- Here's the boss:
- $VAR1 = bless( {
- _CENSUS => \1,
- FULLNAME => bless( {
- TITLE => 'Don',
- SURNAME => 'Pichon Alvarez',
- NICK => 'Fred',
- CHRISTIAN => 'Federico Jesus'
- }, 'Fullname' ),
- AGE => 47,
- PEERS => [
- 'Frank',
- 'Felipe',
- 'Faust'
- ]
- }, 'Boss' );
-
-Hm.... something's missing there. What about the salary, start date,
-and ID fields? Well, we never set them to anything, even undef, so they
-don't show up in the hash's keys. The Employee class has no new() method
-of its own, and the new() method in Person doesn't know about Employees.
-(Nor should it: proper OO design dictates that a subclass be allowed to
-know about its immediate superclass, but never vice-versa.) So let's
-fix up Employee::new() this way:
-
- sub new {
- my $class = shift;
- my $self = $class->SUPER::new();
- $self->{SALARY} = undef;
- $self->{ID} = undef;
- $self->{START_DATE} = undef;
- bless ($self, $class); # reconsecrate
- return $self;
- }
-
-Now if you dump out an Employee or Boss object, you'll find
-that new fields show up there now.
-
-=head2 Multiple Inheritance
-
-Ok, at the risk of confusing beginners and annoying OO gurus, it's
-time to confess that Perl's object system includes that controversial
-notion known as multiple inheritance, or MI for short. All this means
-is that rather than having just one parent class who in turn might
-itself have a parent class, etc., that you can directly inherit from
-two or more parents. It's true that some uses of MI can get you into
-trouble, although hopefully not quite so much trouble with Perl as with
-dubiously-OO languages like C++.
-
-The way it works is actually pretty simple: just put more than one package
-name in your @ISA array. When it comes time for Perl to go finding
-methods for your object, it looks at each of these packages in order.
-Well, kinda. It's actually a fully recursive, depth-first order by
-default (see L<mro> for alternate method resolution orders).
-Consider a bunch of @ISA arrays like this:
-
- @First::ISA = qw( Alpha );
- @Second::ISA = qw( Beta );
- @Third::ISA = qw( First Second );
-
-If you have an object of class Third:
-
- my $ob = Third->new();
- $ob->spin();
-
-How do we find a spin() method (or a new() method for that matter)?
-Because the search is depth-first, classes will be looked up
-in the following order: Third, First, Alpha, Second, and Beta.
-
-In practice, few class modules have been seen that actually
-make use of MI. One nearly always chooses simple containership of
-one class within another over MI. That's why our Person
-object I<contained> a Fullname object. That doesn't mean
-it I<was> one.
-
-However, there is one particular area where MI in Perl is rampant:
-borrowing another class's class methods. This is rather common,
-especially with some bundled "objectless" classes,
-like Exporter, DynaLoader, AutoLoader, and SelfLoader. These classes
-do not provide constructors; they exist only so you may inherit their
-class methods. (It's not entirely clear why inheritance was done
-here rather than traditional module importation.)
-
-For example, here is the POSIX module's @ISA:
-
- package POSIX;
- @ISA = qw(Exporter DynaLoader);
-
-The POSIX module isn't really an object module, but then,
-neither are Exporter or DynaLoader. They're just lending their
-classes' behaviours to POSIX.
-
-Why don't people use MI for object methods much? One reason is that
-it can have complicated side-effects. For one thing, your inheritance
-graph (no longer a tree) might converge back to the same base class.
-Although Perl guards against recursive inheritance, merely having parents
-who are related to each other via a common ancestor, incestuous though
-it sounds, is not forbidden. What if in our Third class shown above we
-wanted its new() method to also call both overridden constructors in its
-two parent classes? The SUPER notation would only find the first one.
-Also, what about if the Alpha and Beta classes both had a common ancestor,
-like Nought? If you kept climbing up the inheritance tree calling
-overridden methods, you'd end up calling Nought::new() twice,
-which might well be a bad idea.
-
-=head2 UNIVERSAL: The Root of All Objects
-
-Wouldn't it be convenient if all objects were rooted at some ultimate
-base class? That way you could give every object common methods without
-having to go and add it to each and every @ISA. Well, it turns out that
-you can. You don't see it, but Perl tacitly and irrevocably assumes
-that there's an extra element at the end of @ISA: the class UNIVERSAL.
-In version 5.003, there were no predefined methods there, but you could put
-whatever you felt like into it.
-
-However, as of version 5.004 (or some subversive releases, like 5.003_08),
-UNIVERSAL has some methods in it already. These are builtin to your Perl
-binary, so they don't take any extra time to load. Predefined methods
-include isa(), can(), and VERSION(). isa() tells you whether an object or
-class "is" another one without having to traverse the hierarchy yourself:
-
- $has_io = $fd->isa("IO::Handle");
- $itza_handle = IO::Socket->isa("IO::Handle");
-
-The can() method, called against that object or class, reports back
-whether its string argument is a callable method name in that class.
-In fact, it gives you back a function reference to that method:
-
- $his_print_method = $obj->can('as_string');
-
-Finally, the VERSION method checks whether the class (or the object's
-class) has a package global called $VERSION that's high enough, as in:
-
- Some_Module->VERSION(3.0);
- $his_vers = $ob->VERSION();
-
-However, we don't usually call VERSION ourselves. (Remember that an all
-uppercase function name is a Perl convention that indicates that the
-function will be automatically used by Perl in some way.) In this case,
-it happens when you say
-
- use Some_Module 3.0;
-
-If you wanted to add version checking to your Person class explained
-above, just add this to Person.pm:
-
- our $VERSION = '1.1';
-
-and then in Employee.pm you can say
-
- use Person 1.1;
-
-And it would make sure that you have at least that version number or
-higher available. This is not the same as loading in that exact version
-number. No mechanism currently exists for concurrent installation of
-multiple versions of a module. Lamentably.
-
-=head2 Deeper UNIVERSAL details
-
-It is also valid (though perhaps unwise in most cases) to put other
-packages' names in @UNIVERSAL::ISA. These packages will also be
-implicitly inherited by all classes, just as UNIVERSAL itself is.
-However, neither UNIVERSAL nor any of its parents from the @ISA tree
-are explicit base classes of all objects. To clarify, given the
-following:
-
- @UNIVERSAL::ISA = ('REALLYUNIVERSAL');
-
- package REALLYUNIVERSAL;
- sub special_method { return "123" }
-
- package Foo;
- sub normal_method { return "321" }
-
-Calling Foo->special_method() will return "123", but calling
-Foo->isa('REALLYUNIVERSAL') or Foo->isa('UNIVERSAL') will return
-false.
-
-If your class is using an alternate mro like C3 (see
-L<mro>), method resolution within UNIVERSAL / @UNIVERSAL::ISA will
-still occur in the default depth-first left-to-right manner,
-after the class's C3 mro is exhausted.
-
-All of the above is made more intuitive by realizing what really
-happens during method lookup, which is roughly like this
-ugly pseudo-code:
-
- get_mro(class) {
- # recurses down the @ISA's starting at class,
- # builds a single linear array of all
- # classes to search in the appropriate order.
- # The method resolution order (mro) to use
- # for the ordering is whichever mro "class"
- # has set on it (either default (depth first
- # l-to-r) or C3 ordering).
- # The first entry in the list is the class
- # itself.
- }
-
- find_method(class, methname) {
- foreach $class (get_mro(class)) {
- if($class->has_method(methname)) {
- return ref_to($class->$methname);
- }
- }
- foreach $class (get_mro(UNIVERSAL)) {
- if($class->has_method(methname)) {
- return ref_to($class->$methname);
- }
- }
- return undef;
- }
-
-However the code that implements UNIVERSAL::isa does not
-search in UNIVERSAL itself, only in the package's actual
-@ISA.
-
-=head1 Alternate Object Representations
-
-Nothing requires objects to be implemented as hash references. An object
-can be any sort of reference so long as its referent has been suitably
-blessed. That means scalar, array, and code references are also fair
-game.
-
-A scalar would work if the object has only one datum to hold. An array
-would work for most cases, but makes inheritance a bit dodgy because
-you have to invent new indices for the derived classes.
-
-=head2 Arrays as Objects
-
-If the user of your class honors the contract and sticks to the advertised
-interface, then you can change its underlying interface if you feel
-like it. Here's another implementation that conforms to the same
-interface specification. This time we'll use an array reference
-instead of a hash reference to represent the object.
-
- package Person;
- use strict;
-
- my($NAME, $AGE, $PEERS) = ( 0 .. 2 );
-
- ############################################
- ## the object constructor (array version) ##
- ############################################
- sub new {
- my $self = [];
- $self->[$NAME] = undef; # this is unnecessary
- $self->[$AGE] = undef; # as is this
- $self->[$PEERS] = []; # but this isn't, really
- bless($self);
- return $self;
- }
-
- sub name {
- my $self = shift;
- if (@_) { $self->[$NAME] = shift }
- return $self->[$NAME];
- }
-
- sub age {
- my $self = shift;
- if (@_) { $self->[$AGE] = shift }
- return $self->[$AGE];
- }
-
- sub peers {
- my $self = shift;
- if (@_) { @{ $self->[$PEERS] } = @_ }
- return @{ $self->[$PEERS] };
- }
-
- 1; # so the require or use succeeds
-
-You might guess that the array access would be a lot faster than the
-hash access, but they're actually comparable. The array is a I<little>
-bit faster, but not more than ten or fifteen percent, even when you
-replace the variables above like $AGE with literal numbers, like 1.
-A bigger difference between the two approaches can be found in memory use.
-A hash representation takes up more memory than an array representation
-because you have to allocate memory for the keys as well as for the values.
-However, it really isn't that bad, especially since as of version 5.004,
-memory is only allocated once for a given hash key, no matter how many
-hashes have that key. It's expected that sometime in the future, even
-these differences will fade into obscurity as more efficient underlying
-representations are devised.
-
-Still, the tiny edge in speed (and somewhat larger one in memory)
-is enough to make some programmers choose an array representation
-for simple classes. There's still a little problem with
-scalability, though, because later in life when you feel
-like creating subclasses, you'll find that hashes just work
-out better.
-
-=head2 Closures as Objects
-
-Using a code reference to represent an object offers some fascinating
-possibilities. We can create a new anonymous function (closure) who
-alone in all the world can see the object's data. This is because we
-put the data into an anonymous hash that's lexically visible only to
-the closure we create, bless, and return as the object. This object's
-methods turn around and call the closure as a regular subroutine call,
-passing it the field we want to affect. (Yes,
-the double-function call is slow, but if you wanted fast, you wouldn't
-be using objects at all, eh? :-)
-
-Use would be similar to before:
-
- use Person;
- $him = Person->new();
- $him->name("Jason");
- $him->age(23);
- $him->peers( [ "Norbert", "Rhys", "Phineas" ] );
- printf "%s is %d years old.\n", $him->name, $him->age;
- print "His peers are: ", join(", ", @{$him->peers}), "\n";
-
-but the implementation would be radically, perhaps even sublimely
-different:
-
- package Person;
-
- sub new {
- my $class = shift;
- my $self = {
- NAME => undef,
- AGE => undef,
- PEERS => [],
- };
- my $closure = sub {
- my $field = shift;
- if (@_) { $self->{$field} = shift }
- return $self->{$field};
- };
- bless($closure, $class);
- return $closure;
- }
-
- sub name { &{ $_[0] }("NAME", @_[ 1 .. $#_ ] ) }
- sub age { &{ $_[0] }("AGE", @_[ 1 .. $#_ ] ) }
- sub peers { &{ $_[0] }("PEERS", @_[ 1 .. $#_ ] ) }
-
- 1;
-
-Because this object is hidden behind a code reference, it's probably a bit
-mysterious to those whose background is more firmly rooted in standard
-procedural or object-based programming languages than in functional
-programming languages whence closures derive. The object
-created and returned by the new() method is itself not a data reference
-as we've seen before. It's an anonymous code reference that has within
-it access to a specific version (lexical binding and instantiation)
-of the object's data, which are stored in the private variable $self.
-Although this is the same function each time, it contains a different
-version of $self.
-
-When a method like C<$him-E<gt>name("Jason")> is called, its implicit
-zeroth argument is the invoking object--just as it is with all method
-calls. But in this case, it's our code reference (something like a
-function pointer in C++, but with deep binding of lexical variables).
-There's not a lot to be done with a code reference beyond calling it, so
-that's just what we do when we say C<&{$_[0]}>. This is just a regular
-function call, not a method call. The initial argument is the string
-"NAME", and any remaining arguments are whatever had been passed to the
-method itself.
-
-Once we're executing inside the closure that had been created in new(),
-the $self hash reference suddenly becomes visible. The closure grabs
-its first argument ("NAME" in this case because that's what the name()
-method passed it), and uses that string to subscript into the private
-hash hidden in its unique version of $self.
-
-Nothing under the sun will allow anyone outside the executing method to
-be able to get at this hidden data. Well, nearly nothing. You I<could>
-single step through the program using the debugger and find out the
-pieces while you're in the method, but everyone else is out of luck.
-
-There, if that doesn't excite the Scheme folks, then I just don't know
-what will. Translation of this technique into C++, Java, or any other
-braindead-static language is left as a futile exercise for aficionados
-of those camps.
-
-You could even add a bit of nosiness via the caller() function and
-make the closure refuse to operate unless called via its own package.
-This would no doubt satisfy certain fastidious concerns of programming
-police and related puritans.
-
-If you were wondering when Hubris, the third principle virtue of a
-programmer, would come into play, here you have it. (More seriously,
-Hubris is just the pride in craftsmanship that comes from having written
-a sound bit of well-designed code.)
-
-=head1 AUTOLOAD: Proxy Methods
-
-Autoloading is a way to intercept calls to undefined methods. An autoload
-routine may choose to create a new function on the fly, either loaded
-from disk or perhaps just eval()ed right there. This define-on-the-fly
-strategy is why it's called autoloading.
-
-But that's only one possible approach. Another one is to just
-have the autoloaded method itself directly provide the
-requested service. When used in this way, you may think
-of autoloaded methods as "proxy" methods.
-
-When Perl tries to call an undefined function in a particular package
-and that function is not defined, it looks for a function in
-that same package called AUTOLOAD. If one exists, it's called
-with the same arguments as the original function would have had.
-The fully-qualified name of the function is stored in that package's
-global variable $AUTOLOAD. Once called, the function can do anything
-it would like, including defining a new function by the right name, and
-then doing a really fancy kind of C<goto> right to it, erasing itself
-from the call stack.
-
-What does this have to do with objects? After all, we keep talking about
-functions, not methods. Well, since a method is just a function with
-an extra argument and some fancier semantics about where it's found,
-we can use autoloading for methods, too. Perl doesn't start looking
-for an AUTOLOAD method until it has exhausted the recursive hunt up
-through @ISA, though. Some programmers have even been known to define
-a UNIVERSAL::AUTOLOAD method to trap unresolved method calls to any
-kind of object.
-
-=head2 Autoloaded Data Methods
-
-You probably began to get a little suspicious about the duplicated
-code way back earlier when we first showed you the Person class, and
-then later the Employee class. Each method used to access the
-hash fields looked virtually identical. This should have tickled
-that great programming virtue, Impatience, but for the time,
-we let Laziness win out, and so did nothing. Proxy methods can cure
-this.
-
-Instead of writing a new function every time we want a new data field,
-we'll use the autoload mechanism to generate (actually, mimic) methods on
-the fly. To verify that we're accessing a valid member, we will check
-against an C<_permitted> (pronounced "under-permitted") field, which
-is a reference to a file-scoped lexical (like a C file static) hash of permitted fields in this record
-called %fields. Why the underscore? For the same reason as the _CENSUS
-field we once used: as a marker that means "for internal use only".
-
-Here's what the module initialization code and class
-constructor will look like when taking this approach:
-
- package Person;
- use Carp;
- our $AUTOLOAD; # it's a package global
-
- my %fields = (
- name => undef,
- age => undef,
- peers => undef,
- );
-
- sub new {
- my $class = shift;
- my $self = {
- _permitted => \%fields,
- %fields,
- };
- bless $self, $class;
- return $self;
- }
-
-If we wanted our record to have default values, we could fill those in
-where current we have C<undef> in the %fields hash.
-
-Notice how we saved a reference to our class data on the object itself?
-Remember that it's important to access class data through the object
-itself instead of having any method reference %fields directly, or else
-you won't have a decent inheritance.
-
-The real magic, though, is going to reside in our proxy method, which
-will handle all calls to undefined methods for objects of class Person
-(or subclasses of Person). It has to be called AUTOLOAD. Again, it's
-all caps because it's called for us implicitly by Perl itself, not by
-a user directly.
-
- sub AUTOLOAD {
- my $self = shift;
- my $type = ref($self)
- or croak "$self is not an object";
-
- my $name = $AUTOLOAD;
- $name =~ s/.*://; # strip fully-qualified portion
-
- unless (exists $self->{_permitted}->{$name} ) {
- croak "Can't access `$name' field in class $type";
- }
-
- if (@_) {
- return $self->{$name} = shift;
- } else {
- return $self->{$name};
- }
- }
-
-Pretty nifty, eh? All we have to do to add new data fields
-is modify %fields. No new functions need be written.
-
-I could have avoided the C<_permitted> field entirely, but I
-wanted to demonstrate how to store a reference to class data on the
-object so you wouldn't have to access that class data
-directly from an object method.
-
-=head2 Inherited Autoloaded Data Methods
-
-But what about inheritance? Can we define our Employee
-class similarly? Yes, so long as we're careful enough.
-
-Here's how to be careful:
-
- package Employee;
- use Person;
- use strict;
- our @ISA = qw(Person);
-
- my %fields = (
- id => undef,
- salary => undef,
- );
-
- sub new {
- my $class = shift;
- my $self = $class->SUPER::new();
- my($element);
- foreach $element (keys %fields) {
- $self->{_permitted}->{$element} = $fields{$element};
- }
- @{$self}{keys %fields} = values %fields;
- return $self;
- }
-
-Once we've done this, we don't even need to have an
-AUTOLOAD function in the Employee package, because
-we'll grab Person's version of that via inheritance,
-and it will all work out just fine.
-
-=head1 Metaclassical Tools
-
-Even though proxy methods can provide a more convenient approach to making
-more struct-like classes than tediously coding up data methods as
-functions, it still leaves a bit to be desired. For one thing, it means
-you have to handle bogus calls that you don't mean to trap via your proxy.
-It also means you have to be quite careful when dealing with inheritance,
-as detailed above.
-
-Perl programmers have responded to this by creating several different
-class construction classes. These metaclasses are classes
-that create other classes. A couple worth looking at are
-Class::Struct and Alias. These and other related metaclasses can be
-found in the modules directory on CPAN.
-
-=head2 Class::Struct
-
-One of the older ones is Class::Struct. In fact, its syntax and
-interface were sketched out long before perl5 even solidified into a
-real thing. What it does is provide you a way to "declare" a class
-as having objects whose fields are of a specific type. The function
-that does this is called, not surprisingly enough, struct(). Because
-structures or records are not base types in Perl, each time you want to
-create a class to provide a record-like data object, you yourself have
-to define a new() method, plus separate data-access methods for each of
-that record's fields. You'll quickly become bored with this process.
-The Class::Struct::struct() function alleviates this tedium.
-
-Here's a simple example of using it:
-
- use Class::Struct qw(struct);
- use Jobbie; # user-defined; see below
-
- struct 'Fred' => {
- one => '$',
- many => '@',
- profession => 'Jobbie', # does not call Jobbie->new()
- };
-
- $ob = Fred->new(profession => Jobbie->new());
- $ob->one("hmmmm");
-
- $ob->many(0, "here");
- $ob->many(1, "you");
- $ob->many(2, "go");
- print "Just set: ", $ob->many(2), "\n";
-
- $ob->profession->salary(10_000);
-
-You can declare types in the struct to be basic Perl types, or
-user-defined types (classes). User types will be initialized by calling
-that class's new() method.
-
-Take care that the C<Jobbie> object is not created automatically by the
-C<Fred> class's new() method, so you should specify a C<Jobbie> object
-when you create an instance of C<Fred>.
-
-Here's a real-world example of using struct generation. Let's say you
-wanted to override Perl's idea of gethostbyname() and gethostbyaddr() so
-that they would return objects that acted like C structures. We don't
-care about high-falutin' OO gunk. All we want is for these objects to
-act like structs in the C sense.
-
- use Socket;
- use Net::hostent;
- $h = gethostbyname("perl.com"); # object return
- printf "perl.com's real name is %s, address %s\n",
- $h->name, inet_ntoa($h->addr);
-
-Here's how to do this using the Class::Struct module.
-The crux is going to be this call:
-
- struct 'Net::hostent' => [ # note bracket
- name => '$',
- aliases => '@',
- addrtype => '$',
- 'length' => '$',
- addr_list => '@',
- ];
-
-Which creates object methods of those names and types.
-It even creates a new() method for us.
-
-We could also have implemented our object this way:
-
- struct 'Net::hostent' => { # note brace
- name => '$',
- aliases => '@',
- addrtype => '$',
- 'length' => '$',
- addr_list => '@',
- };
-
-and then Class::Struct would have used an anonymous hash as the object
-type, instead of an anonymous array. The array is faster and smaller,
-but the hash works out better if you eventually want to do inheritance.
-Since for this struct-like object we aren't planning on inheritance,
-this time we'll opt for better speed and size over better flexibility.
-
-Here's the whole implementation:
-
- package Net::hostent;
- use strict;
-
- BEGIN {
- use Exporter ();
- our @EXPORT = qw(gethostbyname gethostbyaddr gethost);
- our @EXPORT_OK = qw(
- $h_name @h_aliases
- $h_addrtype $h_length
- @h_addr_list $h_addr
- );
- our %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] );
- }
- our @EXPORT_OK;
-
- # Class::Struct forbids use of @ISA
- sub import { goto &Exporter::import }
-
- use Class::Struct qw(struct);
- struct 'Net::hostent' => [
- name => '$',
- aliases => '@',
- addrtype => '$',
- 'length' => '$',
- addr_list => '@',
- ];
-
- sub addr { shift->addr_list->[0] }
-
- sub populate (@) {
- return unless @_;
- my $hob = new(); # Class::Struct made this!
- $h_name = $hob->[0] = $_[0];
- @h_aliases = @{ $hob->[1] } = split ' ', $_[1];
- $h_addrtype = $hob->[2] = $_[2];
- $h_length = $hob->[3] = $_[3];
- $h_addr = $_[4];
- @h_addr_list = @{ $hob->[4] } = @_[ (4 .. $#_) ];
- return $hob;
- }
-
- sub gethostbyname ($) { populate(CORE::gethostbyname(shift)) }
-
- sub gethostbyaddr ($;$) {
- my ($addr, $addrtype);
- $addr = shift;
- require Socket unless @_;
- $addrtype = @_ ? shift : Socket::AF_INET();
- populate(CORE::gethostbyaddr($addr, $addrtype))
- }
-
- sub gethost($) {
- if ($_[0] =~ /^\d+(?:\.\d+(?:\.\d+(?:\.\d+)?)?)?$/) {
- require Socket;
- &gethostbyaddr(Socket::inet_aton(shift));
- } else {
- &gethostbyname;
- }
- }
-
- 1;
-
-We've snuck in quite a fair bit of other concepts besides just dynamic
-class creation, like overriding core functions, import/export bits,
-function prototyping, short-cut function call via C<&whatever>, and
-function replacement with C<goto &whatever>. These all mostly make
-sense from the perspective of a traditional module, but as you can see,
-we can also use them in an object module.
-
-You can look at other object-based, struct-like overrides of core
-functions in the 5.004 release of Perl in File::stat, Net::hostent,
-Net::netent, Net::protoent, Net::servent, Time::gmtime, Time::localtime,
-User::grent, and User::pwent. These modules have a final component
-that's all lowercase, by convention reserved for compiler pragmas,
-because they affect the compilation and change a builtin function.
-They also have the type names that a C programmer would most expect.
-
-=head2 Data Members as Variables
-
-If you're used to C++ objects, then you're accustomed to being able to
-get at an object's data members as simple variables from within a method.
-The Alias module provides for this, as well as a good bit more, such
-as the possibility of private methods that the object can call but folks
-outside the class cannot.
-
-Here's an example of creating a Person using the Alias module.
-When you update these magical instance variables, you automatically
-update value fields in the hash. Convenient, eh?
-
- package Person;
-
- # this is the same as before...
- sub new {
- my $class = shift;
- my $self = {
- NAME => undef,
- AGE => undef,
- PEERS => [],
- };
- bless($self, $class);
- return $self;
- }
-
- use Alias qw(attr);
- our ($NAME, $AGE, $PEERS);
-
- sub name {
- my $self = attr shift;
- if (@_) { $NAME = shift; }
- return $NAME;
- }
-
- sub age {
- my $self = attr shift;
- if (@_) { $AGE = shift; }
- return $AGE;
- }
-
- sub peers {
- my $self = attr shift;
- if (@_) { @PEERS = @_; }
- return @PEERS;
- }
-
- sub exclaim {
- my $self = attr shift;
- return sprintf "Hi, I'm %s, age %d, working with %s",
- $NAME, $AGE, join(", ", @PEERS);
- }
-
- sub happy_birthday {
- my $self = attr shift;
- return ++$AGE;
- }
-
-The need for the C<our> declaration is because what Alias does
-is play with package globals with the same name as the fields. To use
-globals while C<use strict> is in effect, you have to predeclare them.
-These package variables are localized to the block enclosing the attr()
-call just as if you'd used a local() on them. However, that means that
-they're still considered global variables with temporary values, just
-as with any other local().
-
-It would be nice to combine Alias with
-something like Class::Struct or Class::MethodMaker.
-
-=head1 NOTES
-
-=head2 Object Terminology
-
-In the various OO literature, it seems that a lot of different words
-are used to describe only a few different concepts. If you're not
-already an object programmer, then you don't need to worry about all
-these fancy words. But if you are, then you might like to know how to
-get at the same concepts in Perl.
-
-For example, it's common to call an object an I<instance> of a class
-and to call those objects' methods I<instance methods>. Data fields
-peculiar to each object are often called I<instance data> or I<object
-attributes>, and data fields common to all members of that class are
-I<class data>, I<class attributes>, or I<static data members>.
-
-Also, I<base class>, I<generic class>, and I<superclass> all describe
-the same notion, whereas I<derived class>, I<specific class>, and
-I<subclass> describe the other related one.
-
-C++ programmers have I<static methods> and I<virtual methods>,
-but Perl only has I<class methods> and I<object methods>.
-Actually, Perl only has methods. Whether a method gets used
-as a class or object method is by usage only. You could accidentally
-call a class method (one expecting a string argument) on an
-object (one expecting a reference), or vice versa.
-
-From the C++ perspective, all methods in Perl are virtual.
-This, by the way, is why they are never checked for function
-prototypes in the argument list as regular builtin and user-defined
-functions can be.
-
-Because a class is itself something of an object, Perl's classes can be
-taken as describing both a "class as meta-object" (also called I<object
-factory>) philosophy and the "class as type definition" (I<declaring>
-behaviour, not I<defining> mechanism) idea. C++ supports the latter
-notion, but not the former.
-
-=head1 SEE ALSO
-
-The following manpages will doubtless provide more
-background for this one:
-L<perlmod>,
-L<perlref>,
-L<perlobj>,
-L<perlbot>,
-L<perltie>,
-and
-L<overload>.
-
-L<perlboot> is a kinder, gentler introduction to object-oriented
-programming.
-
-L<perltooc> provides more detail on class data.
-
-Some modules which might prove interesting are Class::Accessor,
-Class::Class, Class::Contract, Class::Data::Inheritable,
-Class::MethodMaker and Tie::SecureHash
-
-
-=head1 AUTHOR AND COPYRIGHT
-
-Copyright (c) 1997, 1998 Tom Christiansen
-All rights reserved.
-
-This documentation is free; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-Irrespective of its distribution, all code examples in this file
-are hereby placed into the public domain. You are permitted and
-encouraged to use this code in your own programs for fun
-or for profit as you see fit. A simple comment in the code giving
-credit would be courteous but is not required.
-
-=head1 COPYRIGHT
-
-=head2 Acknowledgments
+For information on OO programming with Perl, please see L<perlootut>
+and L<perlobj>.
-Thanks to
-Larry Wall,
-Roderick Schertler,
-Gurusamy Sarathy,
-Dean Roehrich,
-Raphael Manfredi,
-Brent Halsey,
-Greg Bacon,
-Brad Appleton,
-and many others for their helpful comments.
+=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perltrap.pod b/Master/tlpkg/tlperl/lib/pods/perltrap.pod
index 99e25c8d490..e4fbb23a536 100644
--- a/Master/tlpkg/tlperl/lib/pods/perltrap.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perltrap.pod
@@ -171,7 +171,7 @@ C<do { } while> construct. See L<perlsyn/"Loop Control">.
=item *
The switch statement is called C<given/when> and only available in
-perl 5.10 or newer. See L<perlsyn/"Switch statements">.
+perl 5.10 or newer. See L<perlsyn/"Switch Statements">.
=item *
diff --git a/Master/tlpkg/tlperl/lib/pods/perltru64.pod b/Master/tlpkg/tlperl/lib/pods/perltru64.pod
index 618c5748d09..81ef9feb98c 100644
--- a/Master/tlpkg/tlperl/lib/pods/perltru64.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perltru64.pod
@@ -4,7 +4,7 @@ designed to be readable as is.
=head1 NAME
-README.tru64 - Perl version 5 on Tru64 (formerly known as Digital UNIX formerly known as DEC OSF/1) systems
+perltru64 - Perl version 5 on Tru64 (formerly known as Digital UNIX formerly known as DEC OSF/1) systems
=head1 DESCRIPTION
@@ -37,7 +37,7 @@ necessary, and also gives advice on how to raise the process limits.
Also, Configure might abort with
Build a threading Perl? [n]
- Configure[2437]: Syntax error at line 1 : `config.sh' is not expected.
+ Configure[2437]: Syntax error at line 1 : 'config.sh' is not expected.
This indicates that Configure is being run with a broken Korn shell
(even though you think you are using a Bourne shell by using
diff --git a/Master/tlpkg/tlperl/lib/pods/perltw.pod b/Master/tlpkg/tlperl/lib/pods/perltw.pod
index 934db9eb42d..4e029d91f2a 100644
--- a/Master/tlpkg/tlperl/lib/pods/perltw.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perltw.pod
@@ -2,158 +2,158 @@ If you read this file _as_is_, just ignore the funny characters you
see. It is written in the POD format (see perlpod manpage) which is
specially designed to be readable as is.
-The following documentation is written in Big5 encoding.
+The following documentation is written in UTF-8 encoding.
-¦pªG§A¥Î¤@¯ëªº¤å¦r½s¿è¾¹¾\Äý³o¥÷¤å¥ó, ½Ð©¿²¤¤å¤¤©_¯Sªºµù°O¦r²Å.
-³o¥÷¤å¥ó¬O¥H POD (²©ú¤å¥ó®æ¦¡) ¼g¦¨; ³oºØ®æ¦¡¬O¬°¤F¯àÅý¤Hª½±µÅª¨ú,
-¦Ó¯S§O³]­pªº. Ãö©ó¦¹®æ¦¡ªº¶i¤@¨B¸ê°T, ½Ð°Ñ¦Ò perlpod ½u¤W¤å¥ó.
+如果你用一般的文字編輯器閱覽這份文件, 請忽略文中奇特的註記字符.
+這份文件是以 POD (簡明文件格å¼) 寫æˆ; 這種格å¼æ˜¯ç‚ºäº†èƒ½è®“人直接讀å–,
+而特別設計的. 關於此格å¼çš„進一步資訊, è«‹åƒè€ƒ perlpod 線上文件.
-=encoding big5
+=encoding UTF-8
=head1 NAME
-perltw - ¥¿Å餤¤å Perl «ü«n
+perltw - 正體中文 Perl 指å—
=head1 DESCRIPTION
-Åwªï¨Ó¨ì Perl ªº¤Ñ¦a!
+歡迎來到 Perl 的天地!
-±q 5.8.0 ª©¶}©l, Perl ¨ã³Æ¤F§¹µ½ªº Unicode (¸U°ê½X) ¤ä´©,
-¤]³s±a¤ä´©¤F³\¦h©Ô¤B»y¨t¥H¥~ªº½s½X¤è¦¡; CJK (¤¤¤éÁú) «K¬O¨ä¤¤ªº¤@³¡¥÷.
-Unicode ¬O°ê»Ú©Êªº¼Ð·Ç, ¸Õ¹Ï²[»\¥@¬É¤W©Ò¦³ªº¦r²Å: ¦è¤è¥@¬É, ªF¤è¥@¬É,
-¥H¤Î¨âªÌ¶¡ªº¤@¤Á (§Æþ¤å, ±Ô§Q¨È¤å, ªü©Ô§B¤å, §Æ§B¨Ó¤å, ¦L«×¤å,
-¦L¦a¦w¤å, µ¥µ¥). ¥¦¤]®e¯Ç¤F¦hºØ§@·~¨t²Î»P¥­»O (¦p PC ¤Î³Áª÷¶ð).
+從 5.8.0 版開始, Perl 具備了完善的 Unicode (è¬åœ‹ç¢¼) 支æ´,
+也連帶支æ´äº†è¨±å¤šæ‹‰ä¸èªžç³»ä»¥å¤–的編碼方å¼; CJK (中日韓) 便是其中的一部份.
+Unicode 是國際性的標準, 試圖涵蓋世界上所有的字符: 西方世界, æ±æ–¹ä¸–ç•Œ,
+以åŠå…©è€…間的一切 (希臘文, 敘利亞文, 阿拉伯文, 希伯來文, å°åº¦æ–‡,
+å°åœ°å®‰æ–‡, 等等). 它也容ç´äº†å¤šç¨®ä½œæ¥­ç³»çµ±èˆ‡å¹³è‡º (如 PC åŠéº¥é‡‘å¡”).
-Perl ¥»¨­¥H Unicode ¶i¦æ¾Þ§@. ³oªí¥Ü Perl ¤º³¡ªº¦r¦ê¸ê®Æ¥i¥Î Unicode
-ªí¥Ü; Perl ªº¨ç¦¡»Pºâ²Å (¨Ò¦p¥¿³Wªí¥Ü¦¡¤ñ¹ï) ¤]¯à¹ï Unicode ¶i¦æ¾Þ§@.
-¦b¿é¤J¤Î¿é¥X®É, ¬°¤F³B²z¥H Unicode ¤§«eªº½s½X¤è¦¡Àx¦sªº¸ê®Æ, Perl
-´£¨Ñ¤F Encode ³o­Ó¼Ò²Õ, ¥i¥HÅý§A»´©ö¦aŪ¨ú¤Î¼g¤J¦³ªº½s½X¸ê®Æ.
+Perl 本身以 Unicode 進行æ“作. 這表示 Perl 內部的字串資料å¯ç”¨ Unicode
+表示; Perl 的函å¼èˆ‡ç®—符 (例如正è¦è¡¨ç¤ºå¼æ¯”å°) ä¹Ÿèƒ½å° Unicode 進行æ“作.
+在輸入åŠè¼¸å‡ºæ™‚, 為了處ç†ä»¥ Unicode 之å‰çš„編碼方å¼å„²å­˜çš„資料, Perl
+æ供了 Encode 這個模組, å¯ä»¥è®“你輕易地讀å–åŠå¯«å…¥èˆŠæœ‰çš„編碼資料.
-Encode ©µ¦ù¼Ò²Õ¤ä´©¤U¦C¥¿Å餤¤åªº½s½X¤è¦¡ ('big5' ªí¥Ü 'big5-eten'):
+Encode 延伸模組支æ´ä¸‹åˆ—æ­£é«”ä¸­æ–‡çš„ç·¨ç¢¼æ–¹å¼ ('big5' 表示 'big5-eten'):
- big5-eten Big5 ½s½X (§t­Ê¤Ñ©µ¦ù¦r§Î)
- big5-hkscs Big5 + ­»´ä¥~¦r¶°, 2001 ¦~ª©
- cp950 ¦r½X­¶ 950 (Big5 + ·L³n²K¥[ªº¦r²Å)
+ big5-eten Big5 編碼 (å«å€šå¤©å»¶ä¼¸å­—å½¢)
+ big5-hkscs Big5 + 香港外字集, 2001 年版
+ cp950 å­—ç¢¼é  950 (Big5 + 微軟添加的字符)
-Á|¨Ò¨Ó»¡, ±N Big5 ½s½XªºÀÉ®×Âন Unicode, ¯­»ÝÁä¤J¤U¦C«ü¥O:
+舉例來說, å°‡ Big5 ç·¨ç¢¼çš„æª”æ¡ˆè½‰æˆ Unicode, 祗需éµå…¥ä¸‹åˆ—指令:
perl -Mencoding=big5,STDOUT,utf8 -pe1 < file.big5 > file.utf8
-Perl ¤]¤ºªþ¤F "piconv", ¤@¤ä§¹¥þ¥H Perl ¼g¦¨ªº¦r²ÅÂà´«¤u¨ãµ{¦¡, ¥Îªk¦p¤U:
+Perl 也內附了 "piconv", 一支完全以 Perl 寫æˆçš„字符轉æ›å·¥å…·ç¨‹å¼, 用法如下:
piconv -f big5 -t utf8 < file.big5 > file.utf8
piconv -f utf8 -t big5 < file.utf8 > file.big5
-¥t¥~, §Q¥Î encoding ¼Ò²Õ, §A¥i¥H»´©ö¼g¥X¥H¦r²Å¬°³æ¦ìªºµ{¦¡½X, ¦p¤U©Ò¥Ü:
+å¦å¤–, 利用 encoding 模組, ä½ å¯ä»¥è¼•æ˜“寫出以字符為單ä½çš„程å¼ç¢¼, 如下所示:
#!/usr/bin/env perl
- # ±Ò°Ê big5 ¦r¦ê¸ÑªR; ¼Ð·Ç¿é¥X¤J¤Î¼Ð·Ç¿ù»~³£³]¬° big5 ½s½X
+ # å•Ÿå‹• big5 字串解æž; 標準輸出入åŠæ¨™æº–錯誤都設為 big5 編碼
use encoding 'big5', STDIN => 'big5', STDOUT => 'big5';
- print length("Àd¾m"); # 2 (Âù¤Þ¸¹ªí¥Ü¦r²Å)
- print length('Àd¾m'); # 4 (³æ¤Þ¸¹ªí¥Ü¦ì¤¸²Õ)
- print index("½Î½Î±Ð»£", "να"); # -1 (¤£¥]§t¦¹¤l¦r¦ê)
- print index('½Î½Î±Ð»£', 'να'); # 1 (±q²Ä¤G­Ó¦ì¤¸²Õ¶}©l)
+ print length("駱é§"); # 2 (雙引號表示字符)
+ print length('駱é§'); # 4 (單引號表示ä½å…ƒçµ„)
+ print index("諄諄教誨", "彖帢"); # -1 (ä¸åŒ…å«æ­¤å­å­—串)
+ print index('諄諄教誨', '彖帢'); # 1 (從第二個ä½å…ƒçµ„開始)
-¦b³Ì«á¤@¦C¨Ò¤l¸Ì, "½Î" ªº²Ä¤G­Ó¦ì¤¸²Õ»P "½Î" ªº²Ä¤@­Ó¦ì¤¸²Õµ²¦X¦¨ Big5
-½Xªº "ν"; "½Î" ªº²Ä¤G­Ó¦ì¤¸²Õ«h»P "±Ð" ªº²Ä¤@­Ó¦ì¤¸²Õµ²¦X¦¨ "α".
-³o¸Ñ¨M¤F¥H«e Big5 ½X¤ñ¹ï³B²z¤W±`¨£ªº°ÝÃD.
+在最後一列例å­è£¡, "è«„" 的第二個ä½å…ƒçµ„與 "è«„" 的第一個ä½å…ƒçµ„çµåˆæˆ Big5
+碼的 "å½–"; "è«„" 的第二個ä½å…ƒçµ„則與 "æ•™" 的第一個ä½å…ƒçµ„çµåˆæˆ "帢".
+é€™è§£æ±ºäº†ä»¥å‰ Big5 碼比å°è™•ç†ä¸Šå¸¸è¦‹çš„å•é¡Œ.
-=head2 ÃB¥~ªº¤¤¤å½s½X
+=head2 é¡å¤–的中文編碼
-¦pªG»Ý­n§ó¦hªº¤¤¤å½s½X, ¥i¥H±q CPAN (L<http://www.cpan.org/>) ¤U¸ü
-Encode::HanExtra ¼Ò²Õ. ¥¦¥Ø«e´£¨Ñ¤U¦C½s½X¤è¦¡:
+如果需è¦æ›´å¤šçš„中文編碼, å¯ä»¥å¾ž CPAN (L<http://www.cpan.org/>) 下載
+Encode::HanExtra 模組. 它目å‰æ供下列編碼方å¼:
- cccii 1980 ¦~¤å«Ø·|ªº¤¤¤å¸ê°T¥æ´«½X
- euc-tw Unix ©µ¦ù¦r²Å¶°, ¥]§t CNS11643 ¥­­± 1-7
- big5plus ¤¤¤å¼Æ¦ì¤Æ§Þ³N±À¼s°òª÷·|ªº Big5+
- big5ext ¤¤¤å¼Æ¦ì¤Æ§Þ³N±À¼s°òª÷·|ªº Big5e
+ cccii 1980 年文建會的中文資訊交æ›ç¢¼
+ euc-tw Unix 延伸字符集, åŒ…å« CNS11643 å¹³é¢ 1-7
+ big5plus 中文數ä½åŒ–技術推廣基金會的 Big5+
+ big5ext 中文數ä½åŒ–技術推廣基金會的 Big5e
-¥t¥~, Encode::HanConvert ¼Ò²Õ«h´£¨Ñ¤F²ÁcÂà´«¥Îªº¨âºØ½s½X:
+å¦å¤–, Encode::HanConvert 模組則æ供了簡ç¹è½‰æ›ç”¨çš„兩種編碼:
- big5-simp Big5 ¥¿Å餤¤å»P Unicode ²Å餤¤å¤¬Âà
- gbk-trad GBK ²Å餤¤å»P Unicode ¥¿Å餤¤å¤¬Âà
+ big5-simp Big5 正體中文與 Unicode 簡體中文互轉
+ gbk-trad GBK 簡體中文與 Unicode 正體中文互轉
-­Y·Q¦b GBK »P Big5 ¤§¶¡¤¬Âà, ½Ð°Ñ¦Ò¸Ó¼Ò²Õ¤ºªþªº b2g.pl »P g2b.pl ¨â¤äµ{¦¡,
-©Î¦bµ{¦¡¤º¨Ï¥Î¤U¦C¼gªk:
+若想在 GBK 與 Big5 之間互轉, è«‹åƒè€ƒè©²æ¨¡çµ„內附的 b2g.pl 與 g2b.pl 兩支程å¼,
+或在程å¼å…§ä½¿ç”¨ä¸‹åˆ—寫法:
use Encode::HanConvert;
- $euc_cn = big5_to_gb($big5); # ±q Big5 Âର GBK
- $big5 = gb_to_big5($euc_cn); # ±q GBK Âର Big5
+ $euc_cn = big5_to_gb($big5); # 從 Big5 轉為 GBK
+ $big5 = gb_to_big5($euc_cn); # 從 GBK 轉為 Big5
-=head2 ¶i¤@¨Bªº¸ê°T
+=head2 進一步的資訊
-½Ð°Ñ¦Ò Perl ¤ºªþªº¤j¶q»¡©ú¤å¥ó (¤£©¯¥þ¬O¥Î­^¤å¼gªº), ¨Ó¾Ç²ß§ó¦hÃö©ó
-Perl ªºª¾ÃÑ, ¥H¤Î Unicode ªº¨Ï¥Î¤è¦¡. ¤£¹L, ¥~³¡ªº¸ê·½¬Û·íÂ×´I:
+è«‹åƒè€ƒ Perl 內附的大é‡èªªæ˜Žæ–‡ä»¶ (ä¸å¹¸å…¨æ˜¯ç”¨è‹±æ–‡å¯«çš„), 來學習更多關於
+Perl 的知識, ä»¥åŠ Unicode 的使用方å¼. ä¸éŽ, 外部的資æºç›¸ç•¶è±å¯Œ:
-=head2 ´£¨Ñ Perl ¸ê·½ªººô§}
+=head2 æä¾› Perl 資æºçš„網å€
=over 4
=item L<http://www.perl.com/>
-Perl ªº­º­¶ (¥Ñ¼ÚµÜ§¤½¥qºûÅ@)
+Perl çš„é¦–é  (ç”±æ­èŠç¦®å…¬å¸ç¶­è­·)
=item L<http://www.cpan.org/>
-Perl ºî¦X¨åÂúô (Comprehensive Perl Archive Network)
+Perl 綜åˆå…¸è—網 (Comprehensive Perl Archive Network)
=item L<http://lists.perl.org/>
-Perl ¶l»¼½×¾Â¤@Äý
+Perl 郵éžè«–壇一覽
=back
-=head2 ¾Ç²ß Perl ªººô§}
+=head2 學習 Perl 的網å€
=over 4
=item L<http://www.oreilly.com.tw/product_perl.php?id=index_perl>
-¥¿Å餤¤åª©ªº¼ÚµÜ§ Perl ®ÑÂÇ
+正體中文版的æ­èŠç¦® Perl 書藉
=item L<http://groups.google.com/groups?q=tw.bbs.comp.lang.perl>
-»OÆW Perl ³s½u°Q½×°Ï (¤]´N¬O¦U¤j BBS ªº Perl ³s½uª©)
+è‡ºç£ Perl é€£ç·šè¨Žè«–å€ (也就是å„大 BBS çš„ Perl 連線版)
=back
-=head2 Perl ¨Ï¥ÎªÌ¶°·|
+=head2 Perl 使用者集會
=over 4
-=item L<http://www.pm.org/groups/asia.html>
+=item L<http://www.pm.org/groups/taiwan.html>
-»OÆW Perl ±À¼s²Õ¤@Äý
+è‡ºç£ Perl 推廣組一覽
-=item L<http://irc.elixus.org/>
+=item L<irc://irc.freenode.org/#perl.tw>
-ÃÀ¥ß¨ó½u¤W²á¤Ñ«Ç
+Perl.tw 線上èŠå¤©å®¤
=back
-=head2 Unicode ¬ÛÃöºô§}
+=head2 Unicode 相關網å€
=over 4
=item L<http://www.unicode.org/>
-Unicode ¾Ç³N¾Ç·| (Unicode ¼Ð·Çªº¨î©wªÌ)
+Unicode 學術學會 (Unicode 標準的制定者)
=item L<http://www.cl.cam.ac.uk/%7Emgk25/unicode.html>
-Unix/Linux ¤Wªº UTF-8 ¤Î Unicode µª«È°Ý
+Unix/Linux 上的 UTF-8 åŠ Unicode 答客å•
=back
-=head2 ¤¤¤å¤Æ¸ê°T
+=head2 中文化資訊
=over 4
-=item ¤¤¤å¤Æ³nÅéÁp·ù
+=item 中文化軟體è¯ç›Ÿ
L<http://www.cpatch.org/>
-=item Linux ³nÅ餤¤å¤Æ­p¹º
+=item Linux 軟體中文化計劃
L<http://www.linux.org.tw/CLDP/>
@@ -167,6 +167,6 @@ L<Encode>, L<Encode::TW>, L<encoding>, L<perluniintro>, L<perlunicode>
Jarkko Hietaniemi E<lt>jhi@iki.fiE<gt>
-Audrey Tang (­ð»ñ) E<lt>audreyt@audreyt.orgE<gt>
+Audrey Tang (å”é³³) E<lt>audreyt@audreyt.orgE<gt>
=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlunicode.pod b/Master/tlpkg/tlperl/lib/pods/perlunicode.pod
index d77c40cbbde..77daca34a7d 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlunicode.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlunicode.pod
@@ -90,10 +90,12 @@ semantics. For operations where this determination cannot be made
without additional information from the user, Perl decides in favor of
compatibility and chooses to use byte semantics.
-When C<use locale> is in effect (which overrides
-C<use feature 'unicode_strings'> in the same scope), Perl uses the
-semantics associated
-with the current locale. Otherwise, Perl uses the platform's native
+When C<use locale> (but not C<use locale ':not_characters'>) is in
+effect, Perl uses the semantics associated with the current locale.
+(C<use locale> overrides C<use feature 'unicode_strings'> in the same scope;
+while C<use locale ':not_characters'> effectively also selects
+C<use feature 'unicode_strings'> in its scope; see L<perllocale>.)
+Otherwise, Perl uses the platform's native
byte semantics for characters whose code points are less than 256, and
Unicode semantics for those greater than 255. On EBCDIC platforms, this
is almost seamless, as the EBCDIC code pages that Perl handles are
@@ -155,15 +157,17 @@ Alternatively, you can use the C<\x{...}> notation for characters 0x100 and
above. For characters below 0x100 you may get byte semantics instead of
character semantics; see L</The "Unicode Bug">. On EBCDIC machines there is
the additional problem that the value for such characters gives the EBCDIC
-character rather than the Unicode one.
+character rather than the Unicode one, thus it is more portable to use
+C<\N{U+...}> instead.
-Additionally, if you
+Additionally, you can use the C<\N{...}> notation and put the official
+Unicode character name within the braces, such as
+C<\N{WHITE SMILING FACE}>. This automatically loads the L<charnames>
+module with the C<:full> and C<:short> options. If you prefer different
+options for this module, you can instead, before the C<\N{...}>,
+explicitly load it with your desired options; for example,
- use charnames ':full';
-
-you can use the C<\N{...}> notation and put the official Unicode
-character name within the braces, such as C<\N{WHITE SMILING FACE}>.
-See L<charnames>.
+ use charnames ':loose';
=item *
@@ -260,11 +264,13 @@ complement B<and> the full character-wide bit complement.
=item *
-You can define your own mappings to be used in C<lc()>,
-C<lcfirst()>, C<uc()>, and C<ucfirst()> (or their double-quoted string inlined
-versions such as C<\U>). See
-L<User-Defined Case-Mappings|/"User-Defined Case Mappings (for serious hackers only)">
-for more details.
+There is a CPAN module, L<Unicode::Casing>, which allows you to define
+your own mappings to be used in C<lc()>, C<lcfirst()>, C<uc()>,
+C<ucfirst()>, and C<fc> (or their double-quoted string inlined
+versions such as C<\U>).
+(Prior to Perl 5.16, this functionality was partially provided
+in the Perl core, but suffered from a number of insurmountable
+drawbacks, so the CPAN module was written instead.)
=back
@@ -301,7 +307,8 @@ This formality is needed when properties are not binary; that is, if they can
take on more values than just True and False. For example, the Bidi_Class (see
L</"Bidirectional Character Types"> below), can take on several different
values, such as Left, Right, Whitespace, and others. To match these, one needs
-to specify the property name (Bidi_Class), AND the value being matched against
+to specify both the property name (Bidi_Class), AND the value being
+matched against
(Left, Right, etc.). This is done, as in the examples above, by having the
two components separated by an equal sign (or interchangeably, a colon), like
C<\p{Bidi_Class: Left}>.
@@ -364,6 +371,14 @@ of which under C</i> matching match C<PosixAlpha>.
numerals, come in both upper and lower case so they are C<Cased>, but aren't considered
letters, so they aren't C<Cased_Letter>s.)
+The result is undefined if you try to match a non-Unicode code point
+(that is, one above 0x10FFFF) against a Unicode property. Currently, a
+warning is raised, and the match will fail. In some cases, this is
+counterintuitive, as both these fail:
+
+ chr(0x110000) =~ \p{ASCII_Hex_Digit=True} # Fails.
+ chr(0x110000) =~ \p{ASCII_Hex_Digit=False} # Fails!
+
=head3 B<General_Category>
Every Unicode character is assigned a general category, which is the "most
@@ -469,11 +484,63 @@ The world's languages are written in many different scripts. This sentence
written in Cyrillic, and Greek is written in, well, Greek; Japanese mainly in
Hiragana or Katakana. There are many more.
-The Unicode Script property gives what script a given character is in,
-and the property can be specified with the compound form like
-C<\p{Script=Hebrew}> (short: C<\p{sc=hebr}>). Perl furnishes shortcuts for all
-script names. You can omit everything up through the equals (or colon), and
-simply write C<\p{Latin}> or C<\P{Cyrillic}>.
+The Unicode Script and Script_Extensions properties give what script a
+given character is in. Either property can be specified with the
+compound form like
+C<\p{Script=Hebrew}> (short: C<\p{sc=hebr}>), or
+C<\p{Script_Extensions=Javanese}> (short: C<\p{scx=java}>).
+In addition, Perl furnishes shortcuts for all
+C<Script> property names. You can omit everything up through the equals
+(or colon), and simply write C<\p{Latin}> or C<\P{Cyrillic}>.
+(This is not true for C<Script_Extensions>, which is required to be
+written in the compound form.)
+
+The difference between these two properties involves characters that are
+used in multiple scripts. For example the digits '0' through '9' are
+used in many parts of the world. These are placed in a script named
+C<Common>. Other characters are used in just a few scripts. For
+example, the "KATAKANA-HIRAGANA DOUBLE HYPHEN" is used in both Japanese
+scripts, Katakana and Hiragana, but nowhere else. The C<Script>
+property places all characters that are used in multiple scripts in the
+C<Common> script, while the C<Script_Extensions> property places those
+that are used in only a few scripts into each of those scripts; while
+still using C<Common> for those used in many scripts. Thus both these
+match:
+
+ "0" =~ /\p{sc=Common}/ # Matches
+ "0" =~ /\p{scx=Common}/ # Matches
+
+and only the first of these match:
+
+ "\N{KATAKANA-HIRAGANA DOUBLE HYPHEN}" =~ /\p{sc=Common} # Matches
+ "\N{KATAKANA-HIRAGANA DOUBLE HYPHEN}" =~ /\p{scx=Common} # No match
+
+And only the last two of these match:
+
+ "\N{KATAKANA-HIRAGANA DOUBLE HYPHEN}" =~ /\p{sc=Hiragana} # No match
+ "\N{KATAKANA-HIRAGANA DOUBLE HYPHEN}" =~ /\p{sc=Katakana} # No match
+ "\N{KATAKANA-HIRAGANA DOUBLE HYPHEN}" =~ /\p{scx=Hiragana} # Matches
+ "\N{KATAKANA-HIRAGANA DOUBLE HYPHEN}" =~ /\p{scx=Katakana} # Matches
+
+C<Script_Extensions> is thus an improved C<Script>, in which there are
+fewer characters in the C<Common> script, and correspondingly more in
+other scripts. It is new in Unicode version 6.0, and its data are likely
+to change significantly in later releases, as things get sorted out.
+
+(Actually, besides C<Common>, the C<Inherited> script, contains
+characters that are used in multiple scripts. These are modifier
+characters which modify other characters, and inherit the script value
+of the controlling character. Some of these are used in many scripts,
+and so go into C<Inherited> in both C<Script> and C<Script_Extensions>.
+Others are used in just a few scripts, so are in C<Inherited> in
+C<Script>, but not in C<Script_Extensions>.)
+
+It is worth stressing that there are several different sets of digits in
+Unicode that are equivalent to 0-9 and are matchable by C<\d> in a
+regular expression. If they are used in a single language only, they
+are in that language's C<Script> and C<Script_Extension>. If they are
+used in more than one script, they will be in C<sc=Common>, but only
+if they are used in many scripts should they be in C<scx=Common>.
A complete list of scripts and their shortcuts is in L<perluniprops>.
@@ -496,20 +563,14 @@ other words, the ASCII characters. The "Latin" script contains some letters
from this as well as several other blocks, like "Latin-1 Supplement",
"Latin Extended-A", etc., but it does not contain all the characters from
those blocks. It does not, for example, contain the digits 0-9, because
-those digits are shared across many scripts. The digits 0-9 and similar groups,
-like punctuation, are in the script called C<Common>. There is also a
-script called C<Inherited> for characters that modify other characters,
-and inherit the script value of the controlling character. (Note that
-there are several different sets of digits in Unicode that are
-equivalent to 0-9 and are matchable by C<\d> in a regular expression.
-If they are used in a single language only, they are in that language's
-script. Only sets are used across several languages are in the
-C<Common> script.)
+those digits are shared across many scripts, and hence are in the
+C<Common> script.
For more about scripts versus blocks, see UAX#24 "Unicode Script Property":
L<http://www.unicode.org/reports/tr24>
-The Script property is likely to be the one you want to use when processing
+The C<Script> or C<Script_Extensions> properties are likely to be the
+ones you want to use when processing
natural language; the Block property may occasionally be useful in working
with the nuts and bolts of Unicode.
@@ -557,8 +618,9 @@ Unicode ones, but some are genuine extensions, including several that are in
the compound form. And quite a few of these are actually recommended by Unicode
(in L<http://www.unicode.org/reports/tr18>).
-This section gives some details on all extensions that aren't synonyms for
-compound-form Unicode properties (for those, you'll have to refer to the
+This section gives some details on all extensions that aren't just
+synonyms for compound-form Unicode properties
+(for those properties, you'll have to refer to the
L<Unicode Standard|http://www.unicode.org/reports/tr44>.
=over
@@ -719,6 +781,13 @@ This is the same as C<\s>, including beyond ASCII.
Mnemonic: Space, as modified by Perl. (It doesn't include the vertical tab
which both the Posix standard and Unicode consider white space.)
+=item B<C<\p{Title}>> and B<C<\p{Titlecase}>>
+
+Under case-sensitive matching, these both match the same code points as
+C<\p{General Category=Titlecase_Letter}> (C<\p{gc=lt}>). The difference
+is that under C</i> caseless matching, these match the same as
+C<\p{Cased}>, whereas C<\p{gc=lt}> matches C<\p{Cased_Letter>).
+
=item B<C<\p{VertSpace}>>
This is the same as C<\v>: A character that changes the spacing vertically.
@@ -781,28 +850,32 @@ tabular characters) denoting a range of Unicode code points to include.
=item *
Something to include, prefixed by "+": a built-in character
-property (prefixed by "utf8::") or a user-defined character property,
+property (prefixed by "utf8::") or a fully qualified (including package
+name) user-defined character property,
to represent all the characters in that property; two hexadecimal code
points for a range; or a single hexadecimal code point.
=item *
Something to exclude, prefixed by "-": an existing character
-property (prefixed by "utf8::") or a user-defined character property,
+property (prefixed by "utf8::") or a fully qualified (including package
+name) user-defined character property,
to represent all the characters in that property; two hexadecimal code
points for a range; or a single hexadecimal code point.
=item *
Something to negate, prefixed "!": an existing character
-property (prefixed by "utf8::") or a user-defined character property,
+property (prefixed by "utf8::") or a fully qualified (including package
+name) user-defined character property,
to represent all the characters in that property; two hexadecimal code
points for a range; or a single hexadecimal code point.
=item *
Something to intersect with, prefixed by "&": an existing character
-property (prefixed by "utf8::") or a user-defined character property,
+property (prefixed by "utf8::") or a fully qualified (including package
+name) user-defined character property,
for all the characters except the characters in the property; two
hexadecimal code points for a range; or a single hexadecimal code point.
@@ -852,204 +925,38 @@ The negation is useful for defining (surprise!) negated classes.
END
}
-Intersection is useful for getting the common characters matched by
-two (or more) classes.
+This will match all non-Unicode code points, since every one of them is
+not in Kana. You can use intersection to exclude these, if desired, as
+this modified example shows:
- sub InFooAndBar {
+ sub InNotKana {
return <<'END';
- +main::Foo
- &main::Bar
- END
- }
-
-It's important to remember not to use "&" for the first set; that
-would be intersecting with nothing, resulting in an empty set.
-
-=head2 User-Defined Case Mappings (for serious hackers only)
-
-B<This featured is deprecated and is scheduled to be removed in Perl
-5.16.>
-The CPAN module L<Unicode::Casing> provides better functionality
-without the drawbacks described below.
-
-You can define your own mappings to be used in C<lc()>,
-C<lcfirst()>, C<uc()>, and C<ucfirst()> (or their string-inlined versions,
-C<\L>, C<\l>, C<\U>, and C<\u>). The mappings are currently only valid
-on strings encoded in UTF-8, but see below for a partial workaround for
-this restriction.
-
-The principle is similar to that of user-defined character
-properties: define subroutines that do the mappings.
-C<ToLower> is used for C<lc()>, C<\L>, C<lcfirst()>, and C<\l>; C<ToTitle> for
-C<ucfirst()> and C<\u>; and C<ToUpper> for C<uc()> and C<\U>.
-
-C<ToUpper()> should look something like this:
-
- sub ToUpper {
- return <<END;
- 0061\t007A\t0041
- 0101\t\t0100
+ !utf8::InHiragana
+ -utf8::InKatakana
+ +utf8::IsCn
+ &utf8::Any
END
}
-This sample C<ToUpper()> has the effect of mapping "a-z" to "A-Z", 0x101
-to 0x100, and all other characters map to themselves. The first
-returned line means to map the code point at 0x61 ("a") to 0x41 ("A"),
-the code point at 0x62 ("b") to 0x42 ("B"), ..., 0x7A ("z") to 0x5A
-("Z"). The second line maps just the code point 0x101 to 0x100. Since
-there are no other mappings defined, all other code points map to
-themselves.
-
-This mechanism is not well behaved as far as affecting other packages
-and scopes. All non-threaded programs have exactly one uppercasing
-behavior, one lowercasing behavior, and one titlecasing behavior in
-effect for utf8-encoded strings for the duration of the program. Each
-of these behaviors is irrevocably determined the first time the
-corresponding function is called to change a utf8-encoded string's case.
-If a corresponding C<To-> function has been defined in the package that
-makes that first call, the mapping defined by that function will be the
-mapping used for the duration of the program's execution across all
-packages and scopes. If no corresponding C<To-> function has been
-defined in that package, the standard official mapping will be used for
-all packages and scopes, and any corresponding C<To-> function anywhere
-will be ignored. Threaded programs have similar behavior. If the
-program's casing behavior has been decided at the time of a thread's
-creation, the thread will inherit that behavior. But, if the behavior
-hasn't been decided, the thread gets to decide for itself, and its
-decision does not affect other threads nor its creator.
-
-As shown by the example above, you have to furnish a complete mapping;
-you can't just override a couple of characters and leave the rest
-unchanged. You can find all the official mappings in the directory
-C<$Config{privlib}>F</unicore/To/>. The mapping data is returned as the
-here-document. The C<utf8::ToSpecI<Foo>> hashes in those files are special
-exception mappings derived from
-C<$Config{privlib}>F</unicore/SpecialCasing.txt>. (The "Digit" and
-"Fold" mappings that one can see in the directory are not directly
-user-accessible, one can use either the L<Unicode::UCD> module, or just match
-case-insensitively, which is what uses the "Fold" mapping. Neither are user
-overridable.)
-
-If you have many mappings to change, you can take the official mapping data,
-change by hand the affected code points, and place the whole thing into your
-subroutine. But this will only be valid on Perls that use the same Unicode
-version. Another option would be to have your subroutine read the official
-mapping files and overwrite the affected code points.
-
-If you have only a few mappings to change, starting in 5.14 you can use the
-following trick, here illustrated for Turkish.
-
- use Config;
- use charnames ":full";
-
- sub ToUpper {
- my $official = do "$Config{privlib}/unicore/To/Upper.pl";
- $utf8::ToSpecUpper{'i'} =
- "\N{LATIN CAPITAL LETTER I WITH DOT ABOVE}";
- return $official;
- }
+C<&utf8::Any> must be the last line in the definition.
-This takes the official mappings and overrides just one, for "LATIN SMALL
-LETTER I". The keys to the hash must be the bytes that form the UTF-8
-(on EBCDIC platforms, UTF-EBCDIC) of the character, as illustrated by
-the inverse function.
+Intersection is used generally for getting the common characters matched
+by two (or more) classes. It's important to remember not to use "&" for
+the first set; that would be intersecting with nothing, resulting in an
+empty set.
- sub ToLower {
- my $official = do $lower;
- $utf8::ToSpecLower{"\xc4\xb0"} = "i";
- return $official;
- }
+(Note that official Unicode properties differ from these in that they
+automatically exclude non-Unicode code points and a warning is raised if
+a match is attempted on one of those.)
-This example is for an ASCII platform, and C<\xc4\xb0> is the string of
-bytes that together form the UTF-8 that represents C<\N{LATIN CAPITAL
-LETTER I WITH DOT ABOVE}>, C<U+0130>. You can avoid having to figure out
-these bytes, and at the same time make it work on all platforms by
-instead writing:
-
- sub ToLower {
- my $official = do $lower;
- my $sequence = "\N{LATIN CAPITAL LETTER I WITH DOT ABOVE}";
- utf8::encode($sequence);
- $utf8::ToSpecLower{$sequence} = "i";
- return $official;
- }
+=head2 User-Defined Case Mappings (for serious hackers only)
-This works because C<utf8::encode()> takes the single character and
-converts it to the sequence of bytes that constitute it. Note that we took
-advantage of the fact that C<"i"> is the same in UTF-8 or UTF_EBCIDIC as not;
-otherwise we would have had to write
-
- $utf8::ToSpecLower{$sequence} = "\N{LATIN SMALL LETTER I}";
-
-in the ToLower example, and in the ToUpper example, use
-
- my $sequence = "\N{LATIN SMALL LETTER I}";
- utf8::encode($sequence);
-
-A big caveat to the above trick and to this whole mechanism in general,
-is that they work only on strings encoded in UTF-8. You can partially
-get around this by using C<use subs>. (But better to just convert to
-use L<Unicode::Casing>.) For example:
-(The trick illustrated here does work in earlier releases, but only if all the
-characters you want to override have ordinal values of 256 or higher, or
-if you use the other tricks given just below.)
-
-The mappings are in effect only for the package they are defined in, and only
-on scalars that have been marked as having Unicode characters, for example by
-using C<utf8::upgrade()>. Although probably not advisable, you can
-cause the mappings to be used globally by importing into C<CORE::GLOBAL>
-(see L<CORE>).
-
-You can partially get around the restriction that the source strings
-must be in utf8 by using C<use subs> (or by importing into C<CORE::GLOBAL>) by:
-
- use subs qw(uc ucfirst lc lcfirst);
-
- sub uc($) {
- my $string = shift;
- utf8::upgrade($string);
- return CORE::uc($string);
- }
-
- sub lc($) {
- my $string = shift;
- utf8::upgrade($string);
-
- # Unless an I is before a dot_above, it turns into a dotless i.
- # (The character class with the combining classes matches non-above
- # marks following the I. Any number of these may be between the 'I' and
- # the dot_above, and the dot_above will still apply to the 'I'.
- use charnames ":full";
- $string =~
- s/I
- (?! [^\p{ccc=0}\p{ccc=Above}]* \N{COMBINING DOT ABOVE} )
- /\N{LATIN SMALL LETTER DOTLESS I}/gx;
-
- # But when the I is followed by a dot_above, remove the
- # dot_above so the end result will be i.
- $string =~ s/I
- ([^\p{ccc=0}\p{ccc=Above}]* )
- \N{COMBINING DOT ABOVE}
- /i$1/gx;
- return CORE::lc($string);
- }
-
-These examples (also for Turkish) make sure the input is in UTF-8, and then
-call the corresponding official function, which will use the C<ToUpper()> and
-C<ToLower()> functions you have defined.
-(For Turkish, there are other required functions: C<ucfirst>, C<lcfirst>,
-and C<ToTitle>. These are very similar to the ones given above.)
-
-The reason this is only a partial fix is that it doesn't affect the C<\l>,
-C<\L>, C<\u>, and C<\U> case-change operations in regular expressions,
-which still require the source to be encoded in utf8 (see L</The "Unicode
-Bug">). (Again, use L<Unicode::Casing> instead.)
-
-The C<lc()> example shows how you can add context-dependent casing. Note
-that context-dependent casing suffers from the problem that the string
-passed to the casing function may not have sufficient context to make
-the proper choice. Also, it will not be called for C<\l>, C<\L>, C<\u>,
-and C<\U>.
+B<This feature has been removed as of Perl 5.16.>
+The CPAN module L<Unicode::Casing> provides better functionality without
+the drawbacks that this feature had. If you are using a Perl earlier
+than 5.16, this feature was most fully documented in the 5.14 version of
+this pod:
+L<http://perldoc.perl.org/5.14.0/perlunicode.html#User-Defined-Case-Mappings-%28for-serious-hackers-only%29>
=head2 Character Encodings for Input and Output
@@ -1068,41 +975,41 @@ and the section numbers refer to the Unicode Technical Standard #18,
Level 1 - Basic Unicode Support
- RL1.1 Hex Notation - done [1]
- RL1.2 Properties - done [2][3]
- RL1.2a Compatibility Properties - done [4]
- RL1.3 Subtraction and Intersection - MISSING [5]
- RL1.4 Simple Word Boundaries - done [6]
- RL1.5 Simple Loose Matches - done [7]
- RL1.6 Line Boundaries - MISSING [8][9]
- RL1.7 Supplementary Code Points - done [10]
-
- [1] \x{...}
- [2] \p{...} \P{...}
- [3] supports not only minimal list, but all Unicode character
- properties (see L</Unicode Character Properties>)
- [4] \d \D \s \S \w \W \X [:prop:] [:^prop:]
- [5] can use regular expression look-ahead [a] or
- user-defined character properties [b] to emulate set
- operations
- [6] \b \B
- [7] note that Perl does Full case-folding in matching (but with
- bugs), not Simple: for example U+1F88 is equivalent to
- U+1F00 U+03B9, not with 1F80. This difference matters
- mainly for certain Greek capital letters with certain
- modifiers: the Full case-folding decomposes the letter,
- while the Simple case-folding would map it to a single
- character.
- [8] should do ^ and $ also on U+000B (\v in C), FF (\f), CR
- (\r), CRLF (\r\n), NEL (U+0085), LS (U+2028), and PS
- (U+2029); should also affect <>, $., and script line
- numbers; should not split lines within CRLF [c] (i.e. there
- is no empty line between \r and \n)
- [9] Linebreaking conformant with UAX#14 "Unicode Line Breaking
- Algorithm" is available through the Unicode::LineBreaking
- module.
- [10] UTF-8/UTF-EBDDIC used in Perl allows not only U+10000 to
- U+10FFFF but also beyond U+10FFFF
+ RL1.1 Hex Notation - done [1]
+ RL1.2 Properties - done [2][3]
+ RL1.2a Compatibility Properties - done [4]
+ RL1.3 Subtraction and Intersection - MISSING [5]
+ RL1.4 Simple Word Boundaries - done [6]
+ RL1.5 Simple Loose Matches - done [7]
+ RL1.6 Line Boundaries - MISSING [8][9]
+ RL1.7 Supplementary Code Points - done [10]
+
+ [1] \x{...}
+ [2] \p{...} \P{...}
+ [3] supports not only minimal list, but all Unicode character
+ properties (see Unicode Character Properties above)
+ [4] \d \D \s \S \w \W \X [:prop:] [:^prop:]
+ [5] can use regular expression look-ahead [a] or
+ user-defined character properties [b] to emulate set
+ operations
+ [6] \b \B
+ [7] note that Perl does Full case-folding in matching (but with
+ bugs), not Simple: for example U+1F88 is equivalent to
+ U+1F00 U+03B9, instead of just U+1F80. This difference
+ matters mainly for certain Greek capital letters with certain
+ modifiers: the Full case-folding decomposes the letter,
+ while the Simple case-folding would map it to a single
+ character.
+ [8] should do ^ and $ also on U+000B (\v in C), FF (\f), CR
+ (\r), CRLF (\r\n), NEL (U+0085), LS (U+2028), and PS
+ (U+2029); should also affect <>, $., and script line
+ numbers; should not split lines within CRLF [c] (i.e. there
+ is no empty line between \r and \n)
+ [9] Linebreaking conformant with UAX#14 "Unicode Line Breaking
+ Algorithm" is available through the Unicode::LineBreaking
+ module.
+ [10] UTF-8/UTF-EBDDIC used in Perl allows not only U+10000 to
+ U+10FFFF but also beyond U+10FFFF
[a] You can mimic class subtraction using lookahead.
For example, what UTS#18 might write as
@@ -1120,7 +1027,7 @@ But in this particular example, you probably really want
which will match assigned characters known to be part of the Greek script.
-Also see the Unicode::Regex::Set module, it does implement the full
+Also see the L<Unicode::Regex::Set> module; it does implement the full
UTS#18 grouping, intersection, union, and removal (subtraction) syntax.
[b] '+' for union, '-' for removal (set-difference), '&' for intersection
@@ -1132,46 +1039,43 @@ UTS#18 grouping, intersection, union, and removal (subtraction) syntax.
Level 2 - Extended Unicode Support
- RL2.1 Canonical Equivalents - MISSING [10][11]
- RL2.2 Default Grapheme Clusters - MISSING [12]
- RL2.3 Default Word Boundaries - MISSING [14]
- RL2.4 Default Loose Matches - MISSING [15]
- RL2.5 Name Properties - MISSING [16]
- RL2.6 Wildcard Properties - MISSING
+ RL2.1 Canonical Equivalents - MISSING [10][11]
+ RL2.2 Default Grapheme Clusters - MISSING [12]
+ RL2.3 Default Word Boundaries - MISSING [14]
+ RL2.4 Default Loose Matches - MISSING [15]
+ RL2.5 Name Properties - DONE
+ RL2.6 Wildcard Properties - MISSING
- [10] see UAX#15 "Unicode Normalization Forms"
- [11] have Unicode::Normalize but not integrated to regexes
- [12] have \X but we don't have a "Grapheme Cluster Mode"
- [14] see UAX#29, Word Boundaries
- [15] see UAX#21 "Case Mappings"
- [16] missing loose match [e]
-
-[e] C<\N{...}> allows namespaces (see L<charnames>).
+ [10] see UAX#15 "Unicode Normalization Forms"
+ [11] have Unicode::Normalize but not integrated to regexes
+ [12] have \X but we don't have a "Grapheme Cluster Mode"
+ [14] see UAX#29, Word Boundaries
+ [15] This is covered in Chapter 3.13 (in Unicode 6.0)
=item *
Level 3 - Tailored Support
- RL3.1 Tailored Punctuation - MISSING
- RL3.2 Tailored Grapheme Clusters - MISSING [17][18]
- RL3.3 Tailored Word Boundaries - MISSING
- RL3.4 Tailored Loose Matches - MISSING
- RL3.5 Tailored Ranges - MISSING
- RL3.6 Context Matching - MISSING [19]
- RL3.7 Incremental Matches - MISSING
+ RL3.1 Tailored Punctuation - MISSING
+ RL3.2 Tailored Grapheme Clusters - MISSING [17][18]
+ RL3.3 Tailored Word Boundaries - MISSING
+ RL3.4 Tailored Loose Matches - MISSING
+ RL3.5 Tailored Ranges - MISSING
+ RL3.6 Context Matching - MISSING [19]
+ RL3.7 Incremental Matches - MISSING
( RL3.8 Unicode Set Sharing )
- RL3.9 Possible Match Sets - MISSING
- RL3.10 Folded Matching - MISSING [20]
- RL3.11 Submatchers - MISSING
-
- [17] see UAX#10 "Unicode Collation Algorithms"
- [18] have Unicode::Collate but not integrated to regexes
- [19] have (?<=x) and (?=x), but look-aheads or look-behinds
- should see outside of the target substring
- [20] need insensitive matching for linguistic features other
- than case; for example, hiragana to katakana, wide and
- narrow, simplified Han to traditional Han (see UTR#30
- "Character Foldings")
+ RL3.9 Possible Match Sets - MISSING
+ RL3.10 Folded Matching - MISSING [20]
+ RL3.11 Submatchers - MISSING
+
+ [17] see UAX#10 "Unicode Collation Algorithms"
+ [18] have Unicode::Collate but not integrated to regexes
+ [19] have (?<=x) and (?=x), but look-aheads or look-behinds
+ should see outside of the target substring
+ [20] need insensitive matching for linguistic features other
+ than case; for example, hiragana to katakana, wide and
+ narrow, simplified Han to traditional Han (see UTR#30
+ "Character Foldings")
=back
@@ -1192,14 +1096,14 @@ encoding. For ASCII (and we really do mean 7-bit ASCII, not another
The following table is from Unicode 3.2.
- Code Points 1st Byte 2nd Byte 3rd Byte 4th Byte
+ Code Points 1st Byte 2nd Byte 3rd Byte 4th Byte
U+0000..U+007F 00..7F
U+0080..U+07FF * C2..DF 80..BF
U+0800..U+0FFF E0 * A0..BF 80..BF
U+1000..U+CFFF E1..EC 80..BF 80..BF
U+D000..U+D7FF ED 80..9F 80..BF
- U+D800..U+DFFF +++++++ utf16 surrogates, not legal utf8 +++++++
+ U+D800..U+DFFF +++++ utf16 surrogates, not legal utf8 +++++
U+E000..U+FFFF EE..EF 80..BF 80..BF
U+10000..U+3FFFF F0 * 90..BF 80..BF 80..BF
U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF
@@ -1213,12 +1117,12 @@ explicitly forbidden, and the shortest possible encoding should always be used
Another way to look at it is via bits:
- Code Points 1st Byte 2nd Byte 3rd Byte 4th Byte
+ Code Points 1st Byte 2nd Byte 3rd Byte 4th Byte
- 0aaaaaaa 0aaaaaaa
- 00000bbbbbaaaaaa 110bbbbb 10aaaaaa
- ccccbbbbbbaaaaaa 1110cccc 10bbbbbb 10aaaaaa
- 00000dddccccccbbbbbbaaaaaa 11110ddd 10cccccc 10bbbbbb 10aaaaaa
+ 0aaaaaaa 0aaaaaaa
+ 00000bbbbbaaaaaa 110bbbbb 10aaaaaa
+ ccccbbbbbbaaaaaa 1110cccc 10bbbbbb 10aaaaaa
+ 00000dddccccccbbbbbbaaaaaa 11110ddd 10cccccc 10bbbbbb 10aaaaaa
As you can see, the continuation bytes all begin with "10", and the
leading bits of the start byte tell how many bytes there are in the
@@ -1467,55 +1371,69 @@ readdir, readlink
=head2 The "Unicode Bug"
-The term, the "Unicode bug" has been applied to an inconsistency
+The term, "Unicode bug" has been applied to an inconsistency
on ASCII platforms with the
Unicode code points in the Latin-1 Supplement block, that
is, between 128 and 255. Without a locale specified, unlike all other
characters or code points, these characters have very different semantics in
byte semantics versus character semantics, unless
-C<use feature 'unicode_strings'> is specified.
-(The lesson here is to specify C<unicode_strings> to avoid the
-headaches.)
+C<use feature 'unicode_strings'> is specified, directly or indirectly.
+(It is indirectly specified by a C<use v5.12> or higher.)
-In character semantics they are interpreted as Unicode code points, which means
+In character semantics these upper-Latin1 characters are interpreted as
+Unicode code points, which means
they have the same semantics as Latin-1 (ISO-8859-1).
-In byte semantics, they are considered to be unassigned characters, meaning
-that the only semantics they have is their ordinal numbers, and that they are
+In byte semantics (without C<unicode_strings>), they are considered to
+be unassigned characters, meaning that the only semantics they have is
+their ordinal numbers, and that they are
not members of various character classes. None are considered to match C<\w>
for example, but all match C<\W>.
-The behavior is known to have effects on these areas:
+Perl 5.12.0 added C<unicode_strings> to force character semantics on
+these code points in some circumstances, which fixed portions of the
+bug; Perl 5.14.0 fixed almost all of it; and Perl 5.16.0 fixed the
+remainder (so far as we know, anyway). The lesson here is to enable
+C<unicode_strings> to avoid the headaches described below.
+
+The old, problematic behavior affects these areas:
=over 4
=item *
Changing the case of a scalar, that is, using C<uc()>, C<ucfirst()>, C<lc()>,
-and C<lcfirst()>, or C<\L>, C<\U>, C<\u> and C<\l> in regular expression
-substitutions.
+and C<lcfirst()>, or C<\L>, C<\U>, C<\u> and C<\l> in double-quotish
+contexts, such as regular expression substitutions.
+Under C<unicode_strings> starting in Perl 5.12.0, character semantics are
+generally used. See L<perlfunc/lc> for details on how this works
+in combination with various other pragmas.
=item *
-Using caseless (C</i>) regular expression matching
+Using caseless (C</i>) regular expression matching.
+Starting in Perl 5.14.0, regular expressions compiled within
+the scope of C<unicode_strings> use character semantics
+even when executed or compiled into larger
+regular expressions outside the scope.
=item *
Matching any of several properties in regular expressions, namely C<\b>,
C<\B>, C<\s>, C<\S>, C<\w>, C<\W>, and all the Posix character classes
I<except> C<[[:ascii:]]>.
+Starting in Perl 5.14.0, regular expressions compiled within
+the scope of C<unicode_strings> use character semantics
+even when executed or compiled into larger
+regular expressions outside the scope.
=item *
-In C<quotemeta> or its inline equivalent C<\Q>, no characters
-code points above 127 are quoted in UTF-8 encoded strings, but in
-byte encoded strings, code points between 128-255 are always quoted.
-
-=item *
-
-User-defined case change mappings. You can create a C<ToUpper()> function, for
-example, which overrides Perl's built-in case mappings. The scalar must be
-encoded in utf8 for your function to actually be invoked.
+In C<quotemeta> or its inline equivalent C<\Q>, no code points above 127
+are quoted in UTF-8 encoded strings, but in byte encoded strings, code
+points between 128-255 are always quoted.
+Starting in Perl 5.16.0, consistent quoting rules are used within the
+scope of C<unicode_strings>, as described in L<perlfunc/quotemeta>.
=back
@@ -1544,21 +1462,9 @@ ASCII range (except in a locale), along with Perl's desire to add Unicode
support seamlessly. The result wasn't seamless: these characters were
orphaned.
-Starting in Perl 5.14, C<use feature 'unicode_strings'> can be used to
-cause Perl to use Unicode semantics on all string operations within the
-scope of the feature subpragma. Regular expressions compiled in its
-scope retain that behavior even when executed or compiled into larger
-regular expressions outside the scope. (The pragma does not, however,
-affect the C<quotemeta> behavior. Nor does it affect the deprecated
-user-defined case changing operations--these still require a UTF-8
-encoded string to operate.)
-
-In Perl 5.12, the subpragma affected casing changes, but not regular
-expressions. See L<perlfunc/lc> for details on how this pragma works in
-combination with various others for casing.
-
-For earlier Perls, or when a string is passed to a function outside the
-subpragma's scope, a workaround is to always call C<utf8::upgrade($string)>,
+For Perls earlier than those described above, or when a string is passed
+to a function outside the subpragma's scope, a workaround is to always
+call C<utf8::upgrade($string)>,
or to use the standard module L<Encode>. Also, a scalar that has any characters
whose ordinal is above 0x100, or which were specified using either of the
C<\N{...}> notations, will automatically have character semantics.
@@ -1608,7 +1514,8 @@ pointing after the UTF-8 bytes. It works appropriately on EBCDIC machines.
=item *
-C<utf8_to_uvchr(buf, lenp)> reads UTF-8 encoded bytes from a buffer and
+C<utf8_to_uvchr_buf(buf, bufend, lenp)> reads UTF-8 encoded bytes from a
+buffer and
returns the Unicode character code point and, optionally, the length of
the UTF-8 byte sequence. It works appropriately on EBCDIC machines.
@@ -1632,13 +1539,14 @@ designed to be a one-way street).
=item *
-C<is_utf8_char(s)> returns true if the pointer points to a valid UTF-8
-character.
+C<is_utf8_string(buf, len)> returns true if C<len> bytes of the buffer
+are valid UTF-8.
=item *
-C<is_utf8_string(buf, len)> returns true if C<len> bytes of the buffer
-are valid UTF-8.
+C<is_utf8_char(s)> returns true if the pointer points to a valid UTF-8
+character. However, this function should not be used because of
+security concerns. Instead, use C<is_utf8_string()>.
=item *
@@ -1693,14 +1601,7 @@ Download the files in the desired version of Unicode from the Unicode web
site L<http://www.unicode.org>). These should replace the existing files in
F<lib/unicore> in the Perl source tree. Follow the instructions in
F<README.perl> in that directory to change some of their names, and then build
-perl (see F<INSTALL>).
-
-It is even possible to copy the built files to a different directory, and then
-change F<utf8_heavy.pl> in the directory C<$Config{privlib}> to point to the
-new directory, or maybe make a copy of that directory before making the change,
-and using C<@INC> or the C<-I> run-time flag to switch between versions at will
-(but because of caching, not in the middle of a process), but all this is
-beyond the scope of these instructions.
+perl (see L<INSTALL>).
=head1 BUGS
@@ -1815,7 +1716,7 @@ working with 5.6, you will need some of the following adjustments to
your code. The examples are written such that the code will continue
to work under 5.6, so you should be safe to try them out.
-=over 4
+=over 3
=item *
diff --git a/Master/tlpkg/tlperl/lib/pods/perlunifaq.pod b/Master/tlpkg/tlperl/lib/pods/perlunifaq.pod
index 9fd2b380567..9bd103c9ac2 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlunifaq.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlunifaq.pod
@@ -274,7 +274,8 @@ Instead of C<decode> and C<encode>, you could use C<_utf8_on> and C<_utf8_off>,
but this is considered bad style. Especially C<_utf8_on> can be dangerous, for
the same reason that C<:utf8> can.
-There are some shortcuts for oneliners; see C<-C> in L<perlrun>.
+There are some shortcuts for oneliners;
+see L<-C|perlrun/-C [numberE<sol>list]> in L<perlrun>.
=head2 What's the difference between C<UTF-8> and C<utf8>?
diff --git a/Master/tlpkg/tlperl/lib/pods/perluniintro.pod b/Master/tlpkg/tlperl/lib/pods/perluniintro.pod
index 3fbff0024fd..8ce4b7b4464 100644
--- a/Master/tlpkg/tlperl/lib/pods/perluniintro.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perluniintro.pod
@@ -93,25 +93,42 @@ character. Firstly, there are unallocated code points within
otherwise used blocks. Secondly, there are special Unicode control
characters that do not represent true characters.
-A common myth about Unicode is that it is "16-bit", that is,
-Unicode is only represented as C<0x10000> (or 65536) characters from
-C<0x0000> to C<0xFFFF>. B<This is untrue.> Since Unicode 2.0 (July
+When Unicode was first conceived, it was thought that all the world's
+characters could be represented using a 16-bit word; that is a maximum of
+C<0x10000> (or 65536) characters from C<0x0000> to C<0xFFFF> would be
+needed. This soon proved to be false, and since Unicode 2.0 (July
1996), Unicode has been defined all the way up to 21 bits (C<0x10FFFF>),
-and since Unicode 3.1 (March 2001), characters have been defined
-beyond C<0xFFFF>. The first C<0x10000> characters are called the
-I<Plane 0>, or the I<Basic Multilingual Plane> (BMP). With Unicode
-3.1, 17 (yes, seventeen) planes in all were defined--but they are
-nowhere near full of defined characters, yet.
-
-Another myth is about Unicode blocks--that they have something to
-do with languages--that each block would define the characters used
-by a language or a set of languages. B<This is also untrue.>
+and Unicode 3.1 (March 2001) defined the first characters above C<0xFFFF>.
+The first C<0x10000> characters are called the I<Plane 0>, or the
+I<Basic Multilingual Plane> (BMP). With Unicode 3.1, 17 (yes,
+seventeen) planes in all were defined--but they are nowhere near full of
+defined characters, yet.
+
+When a new language is being encoded, Unicode generally will choose a
+C<block> of consecutive unallocated code points for its characters. So
+far, the number of code points in these blocks has always been evenly
+divisible by 16. Extras in a block, not currently needed, are left
+unallocated, for future growth. But there have been occasions when
+a later relase needed more code points than the available extras, and a
+new block had to allocated somewhere else, not contiguous to the initial
+one, to handle the overflow. Thus, it became apparent early on that
+"block" wasn't an adequate organizing principal, and so the C<Script>
+property was created. (Later an improved script property was added as
+well, the C<Script_Extensions> property.) Those code points that are in
+overflow blocks can still
+have the same script as the original ones. The script concept fits more
+closely with natural language: there is C<Latin> script, C<Greek>
+script, and so on; and there are several artificial scripts, like
+C<Common> for characters that are used in multiple scripts, such as
+mathematical symbols. Scripts usually span varied parts of several
+blocks. For more information about scripts, see L<perlunicode/Scripts>.
The division into blocks exists, but it is almost completely
-accidental--an artifact of how the characters have been and
-still are allocated. Instead, there is a concept called I<scripts>, which is
-more useful: there is C<Latin> script, C<Greek> script, and so on. Scripts
-usually span varied parts of several blocks. For more information about
-scripts, see L<perlunicode/Scripts>.
+accidental--an artifact of how the characters have been and still are
+allocated. (Note that this paragraph has oversimplified things for the
+sake of this being an introduction. Unicode doesn't really encode
+languages, but the writing systems for them--their scripts; and one
+script can be used by many languages. Unicode also encodes things that
+aren't really about languages, such as symbols like C<BAGGAGE CLAIM>.)
The Unicode code points are just abstract numbers. To input and
output these abstract numbers, the numbers must be I<encoded> or
@@ -135,7 +152,8 @@ problems of the initial Unicode implementation, but for example
regular expressions still do not work with Unicode in 5.6.1.
Perl 5.14.0 is the first release where Unicode support is
(almost) seamlessly integrable without some gotchas (the exception being
-some differences in L<quotemeta|perlfunc/quotemeta>). To enable this
+some differences in L<quotemeta|perlfunc/quotemeta>, which is fixed
+starting in Perl 5.16.0). To enable this
seamless support, you should C<use feature 'unicode_strings'> (which is
automatically selected if you C<use 5.012> or higher). See L<feature>.
(5.14 also fixes a number of bugs and departures from the Unicode
@@ -253,10 +271,9 @@ always produced. If you want to force the production of Unicode
characters regardless of the numeric value, use C<pack("U", ...)>
instead of C<\x..>, C<\x{...}>, or C<chr()>.
-You can also use the C<charnames> pragma to invoke characters
+You can invoke characters
by name in double-quoted strings:
- use charnames ':full';
my $arabic_alef = "\N{ARABIC LETTER ALEF}";
And, as mentioned above, you can also C<pack()> numbers into Unicode
@@ -287,8 +304,8 @@ will work on the Unicode characters (see L<perlunicode> and L<perlretut>).
Note that Perl considers grapheme clusters to be separate characters, so for
example
- use charnames ':full';
- print length("\N{LATIN CAPITAL LETTER A}\N{COMBINING ACUTE ACCENT}"), "\n";
+ print length("\N{LATIN CAPITAL LETTER A}\N{COMBINING ACUTE ACCENT}"),
+ "\n";
will print 2, not 1. The only exception is that regular expressions
have C<\X> for matching an extended grapheme cluster. (Thus C<\X> in a
@@ -459,7 +476,7 @@ displayed as C<\x..>, and the rest of the characters as themselves:
join("",
map { $_ > 255 ? # if wide character...
sprintf("\\x{%04X}", $_) : # \x{...}
- chr($_) =~ /[[:cntrl:]]/ ? # else if control character ...
+ chr($_) =~ /[[:cntrl:]]/ ? # else if control character...
sprintf("\\x%02X", $_) : # \x..
quotemeta(chr($_)) # else quoted or as themselves
} unpack("W*", $_[0])); # unpack Unicode characters
@@ -675,7 +692,7 @@ and the C<length()> function:
my $unicode = chr(0x100);
print length($unicode), "\n"; # will print 1
require Encode;
- print length(Encode::encode_utf8($unicode)), "\n"; # will print 2
+ print length(Encode::encode_utf8($unicode)),"\n"; # will print 2
use bytes;
print length($unicode), "\n"; # will also print 2
# (the 0xC4 0x80 of the UTF-8)
@@ -785,17 +802,19 @@ L<http://www.cl.cam.ac.uk/~mgk25/unicode.html>
How Does Unicode Work With Traditional Locales?
-Perl tries to keep the two separated. Code points that are above 255
-are treated as Unicode; those below 256, generally as locale. This
-works reasonably well except in some case-insensitive regular expression
-pattern matches that in Unicode would cross the 255/256 boundary. These
-are disallowed.
-Also, the C<\p{}> and C<\N{}> constructs silently assume Unicode values
-even for code points below 256.
-See also L<perlrun> for the
-description of the C<-C> switch and its environment counterpart,
-C<$ENV{PERL_UNICODE}> to see how to enable various Unicode features,
-for example by using locale settings.
+Starting in Perl 5.16, you can specify
+
+ use locale ':not_characters';
+
+to get Perl to work well with tradtional locales. The catch is that you
+have to translate from the locale character set to/from Unicode
+yourself. See L</Unicode IE<sol>O> above for how to
+
+ use open ':locale';
+
+to accomplish this, but full details are in L<perllocale/Unicode and
+UTF-8>, including gotchas that happen if you don't specifiy
+C<:not_characters>.
=back
diff --git a/Master/tlpkg/tlperl/lib/pods/perluniprops.pod b/Master/tlpkg/tlperl/lib/pods/perluniprops.pod
index 2968f5bbda9..91bf37c8284 100644
--- a/Master/tlpkg/tlperl/lib/pods/perluniprops.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perluniprops.pod
@@ -2,7 +2,7 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
To change this file, edit mktables instead.
@@ -11,52 +11,67 @@ To change this file, edit mktables instead.
=head1 NAME
-perluniprops - Index of Unicode Version 6.0.0 properties in Perl
+perluniprops - Index of Unicode Version 6.1.0 character properties in Perl
=head1 DESCRIPTION
-There are many properties in Unicode, and Perl provides access to almost all of
-them, as well as some additional extensions and short-cut synonyms.
+This document provides information about the portion of the Unicode database
+that deals with character properties, that is the portion that is defined on
+single code points. (L</Other information in the Unicode data base>
+below briefly mentions other data that Unicode provides.)
-And just about all of the few that aren't accessible through the Perl
-core are accessible through the modules: Unicode::Normalize and
-Unicode::UCD, and for Unihan properties, via the CPAN module Unicode::Unihan.
+Perl can provide access to all non-provisional Unicode character properties,
+though not all are enabled by default. The omitted ones are the Unihan
+properties (accessible via the CPAN module L<Unicode::Unihan>) and certain
+deprecated or Unicode-internal properties. (An installation may choose to
+recompile Perl's tables to change this. See L<Unicode character
+properties that are NOT accepted by Perl>.)
+
+For most purposes, access to Unicode properties from the Perl core is through
+regular expression matches, as described in the next section.
+For some special purposes, and to access the properties that are not suitable
+for regular expression matching, all the Unicode character properties that
+Perl handles are accessible via the standard L<Unicode::UCD> module, as
+described in the section L</Properties accessible through Unicode::UCD>.
+
+Perl also provides some additional extensions and short-cut synonyms
+for Unicode properties.
This document merely lists all available properties and does not attempt to
explain what each property really means. There is a brief description of each
-Perl extension. There is some detail about Blocks, Scripts, General_Category,
+Perl extension; see L<perlunicode/Other Properties> for more information on
+these. There is some detail about Blocks, Scripts, General_Category,
and Bidi_Class in L<perlunicode>, but to find out about the intricacies of the
-Unicode properties, refer to the Unicode standard. A good starting place is
-L<http://www.unicode.org/reports/tr44/>. More information on the Perl extensions is in
-L<perlunicode/Other Properties>.
+official Unicode properties, refer to the Unicode standard. A good starting
+place is L<http://www.unicode.org/reports/tr44/>.
Note that you can define your own properties; see
L<perlunicode/"User-Defined Character Properties">.
-=head1 Properties accessible through \p{} and \P{}
+=head1 Properties accessible through C<\p{}> and C<\P{}>
-The Perl regular expression \p{} and \P{} constructs give access to most of
-the Unicode character properties. The table below shows all these constructs,
-both single and compound forms.
+The Perl regular expression C<\p{}> and C<\P{}> constructs give access to
+most of the Unicode character properties. The table below shows all these
+constructs, both single and compound forms.
B<Compound forms> consist of two components, separated by an equals sign or a
colon. The first component is the property name, and the second component is
the particular value of the property to match against, for example,
-'\p{Script: Greek}' and '\p{Script=Greek}' both mean to match characters
+C<\p{Script: Greek}> and C<\p{Script=Greek}> both mean to match characters
whose Script property is Greek.
-B<Single forms>, like '\p{Greek}', are mostly Perl-defined shortcuts for
+B<Single forms>, like C<\p{Greek}>, are mostly Perl-defined shortcuts for
their equivalent compound forms. The table shows these equivalences. (In our
-example, '\p{Greek}' is a just a shortcut for '\p{Script=Greek}'.)
+example, C<\p{Greek}> is a just a shortcut for C<\p{Script=Greek}>.)
There are also a few Perl-defined single forms that are not shortcuts for a
-compound form. One such is \p{Word}. These are also listed in the table.
+compound form. One such is C<\p{Word}>. These are also listed in the table.
In parsing these constructs, Perl always ignores Upper/lower case differences
-everywhere within the {braces}. Thus '\p{Greek}' means the same thing as
-'\p{greek}'. But note that changing the case of the 'p' or 'P' before the
-left brace completely changes the meaning of the construct, from "match" (for
-'\p{}') to "doesn't match" (for '\P{}'). Casing in this document is for
-improved legibility.
+everywhere within the {braces}. Thus C<\p{Greek}> means the same thing as
+C<\p{greek}>. But note that changing the case of the C<"p"> or C<"P"> before
+the left brace completely changes the meaning of the construct, from "match"
+(for C<\p{}>) to "doesn't match" (for C<\P{}>). Casing in this document is
+for improved legibility.
Also, white space, hyphens, and underscores are also normally ignored
everywhere between the {braces}, and hence can be freely added or removed
@@ -66,7 +81,7 @@ means that tighter (stricter) rules are used for that entry:
=over 4
-=item Single form (\p{name}) tighter rules:
+=item Single form (C<\p{name}>) tighter rules:
White space, hyphens, and underscores ARE significant
except for:
@@ -82,7 +97,7 @@ except for:
That means, for example, that you can freely add or remove white space
adjacent to (but within) the braces without affecting the meaning.
-=item Compound form (\p{name=value} or \p{name:value}) tighter rules:
+=item Compound form (C<\p{name=value}> or C<\p{name:value}>) tighter rules:
The tighter rules given above for the single form apply to everything to the
right of the colon or equals; the looser rules still apply to everything to
@@ -98,14 +113,9 @@ There are several varieties of obsolescence:
=over 4
-=item Obsolete
-
-Properties marked with an 'B<O>' in the table are considered
-obsolete.
-
=item Stabilized
-Obsolete properties may be stabilized. Such a determination does not indicate
+A property may be stabilized. Such a determination does not indicate
that the property should or should not be used; instead it is a declaration
that the property will not be maintained nor extended for newly encoded
characters. Such properties are marked with an 'B<S>' in the
@@ -113,7 +123,7 @@ table.
=item Deprecated
-An obsolete property may be deprecated, perhaps because its original intent
+A property may be deprecated, perhaps because its original intent
has been replaced by another property, or because its specification was
somehow defective. This means that its use is strongly
discouraged, so much so that a warning will be issued if used, unless the
@@ -129,26 +139,38 @@ earlier Unicode releases.
A deprecated property may be made unavailable in a future Perl version, so it
is best to move away from them.
-=back
-
-Some Perl extensions are present for backwards compatibility and are
-discouraged from being used, but not obsolete. An 'B<X>'
-flags each such entry in the table.
+A deprecated property may also be stabilized, but this fact is not shown.
+=item Obsolete
-Matches in the Block property have shortcuts that begin with 'In_'. For
-example, \p{Block=Latin1} can be written as \p{In_Latin1}. For backward
-compatibility, if there is no conflict with another shortcut, these may also
-be written as \p{Latin1} or \p{Is_Latin1}. But, N.B., there are numerous
-such conflicting shortcuts. Use of these forms for Block is discouraged, and
-are flagged as such, not only because of the potential confusion as to what is
-meant, but also because a later release of Unicode may preempt the shortcut,
-and your program would no longer be correct. Use the 'In_' form instead to
-avoid this, or even more clearly, use the compound form, e.g.,
-\p{blk:latin1}. See L<perlunicode/"Blocks"> for more information about this.
+Properties marked with an 'B<O>' in the table are considered (plain)
+obsolete. Generally this designation is given to properties that Unicode once
+used for internal purposes (but not any longer).
+=back
-The table below has two columns. The left column contains the \p{}
+Some Perl extensions are present for backwards compatibility and are
+discouraged from being used, but are not obsolete. An 'B<X>'
+flags each such entry in the table. Future Unicode versions may force
+some of these extensions to be removed without warning, replaced by another
+property with the same name that means something different. Use the
+equivalent shown instead.
+
+
+Matches in the Block property have shortcuts that begin with "In_". For
+example, C<\p{Block=Latin1}> can be written as C<\p{In_Latin1}>. For
+backward compatibility, if there is no conflict with another shortcut, these
+may also be written as C<\p{Latin1}> or C<\p{Is_Latin1}>. But, N.B., there
+are numerous such conflicting shortcuts. Use of these forms for Block is
+discouraged, and are flagged as such, not only because of the potential
+confusion as to what is meant, but also because a later release of Unicode may
+preempt the shortcut, and your program would no longer be correct. Use the
+"In_" form instead to avoid this, or even more clearly, use the compound form,
+e.g., C<\p{blk:latin1}>. See L<perlunicode/"Blocks"> for more information
+about this.
+
+
+The table below has two columns. The left column contains the C<\p{}>
constructs to look up, possibly preceded by the flags mentioned above; and
the right column contains information about them, like a description, or
synonyms. It shows both the single and compound forms for each property that
@@ -177,7 +199,7 @@ in the second column. Under case-insensitive matching they match the
same code pode points as the property "other_property".
There is no description given for most non-Perl defined properties (See
-http://www.unicode.org/reports/tr44/ for that).
+L<http://www.unicode.org/reports/tr44/> for that).
For compactness, 'B<*>' is used as a wildcard instead of showing all possible
combinations. For example, entries like:
@@ -189,10 +211,11 @@ for the latter is also valid for the former. Similarly,
\p{Is_*} \p{*}
-means that if and only if, for example, \p{Foo} exists, then \p{Is_Foo} and
-\p{IsFoo} are also valid and all mean the same thing. And similarly,
-\p{Foo=Bar} means the same as \p{Is_Foo=Bar} and \p{IsFoo=Bar}. '*' here
-is restricted to something not beginning with an underscore.
+means that if and only if, for example, C<\p{Foo}> exists, then
+C<\p{Is_Foo}> and C<\p{IsFoo}> are also valid and all mean the same thing.
+And similarly, C<\p{Foo=Bar}> means the same as C<\p{Is_Foo=Bar}> and
+C<\p{IsFoo=Bar}>. "*" here is restricted to something not beginning with an
+underscore.
Also, in binary properties, 'Yes', 'T', and 'True' are all synonyms for 'Y'.
And 'No', 'F', and 'False' are all synonyms for 'N'. The table shows 'Y*' and
@@ -206,11 +229,11 @@ binary properties have both single and compound forms available.
Note that all non-essential underscores are removed in the display of the
short names below.
-B<Summary legend:>
+B<Legend summary:>
=over 4
-=item B<*> is a wild-card
+=item Z<>B<*> is a wild-card
=item B<(\d+)> in the info column gives the number of code points matched by
this property.
@@ -223,92 +246,143 @@ this property.
=item B<T> means tighter (stricter) name matching applies.
-=item B<X> means use of this form is discouraged.
+=item B<X> means use of this form is discouraged, and may not be
+stable.
=back
NAME INFO
X \p{Aegean_Numbers} \p{Block=Aegean_Numbers} (64)
- T \p{Age: 1.1} Code point's usage introduced in version
+ T \p{Age: 1.1} \p{Age=V1_1} (33_979)
+ T \p{Age: 2.0} \p{Age=V2_0} (144_521)
+ T \p{Age: 2.1} \p{Age=V2_1} (2)
+ T \p{Age: 3.0} \p{Age=V3_0} (10_307)
+ T \p{Age: 3.1} \p{Age=V3_1} (44_978)
+ T \p{Age: 3.2} \p{Age=V3_2} (1016)
+ T \p{Age: 4.0} \p{Age=V4_0} (1226)
+ T \p{Age: 4.1} \p{Age=V4_1} (1273)
+ T \p{Age: 5.0} \p{Age=V5_0} (1369)
+ T \p{Age: 5.1} \p{Age=V5_1} (1624)
+ T \p{Age: 5.2} \p{Age=V5_2} (6648)
+ T \p{Age: 6.0} \p{Age=V6_0} (2088)
+ T \p{Age: 6.1} \p{Age=V6_1} (732)
+ \p{Age: NA} \p{Age=Unassigned} (864_349)
+ \p{Age: Unassigned} Code point's usage has not been assigned
+ in any Unicode release thus far. (Short:
+ \p{Age=NA}) (864_349)
+ \p{Age: V1_1} Code point's usage introduced in version
1.1 (33_979)
- T \p{Age: 2.0} Code point's usage was introduced in
+ \p{Age: V2_0} Code point's usage was introduced in
version 2.0; See also Property
'Present_In' (144_521)
- T \p{Age: 2.1} Code point's usage was introduced in
+ \p{Age: V2_1} Code point's usage was introduced in
version 2.1; See also Property
'Present_In' (2)
- T \p{Age: 3.0} Code point's usage was introduced in
+ \p{Age: V3_0} Code point's usage was introduced in
version 3.0; See also Property
'Present_In' (10_307)
- T \p{Age: 3.1} Code point's usage was introduced in
+ \p{Age: V3_1} Code point's usage was introduced in
version 3.1; See also Property
'Present_In' (44_978)
- T \p{Age: 3.2} Code point's usage was introduced in
+ \p{Age: V3_2} Code point's usage was introduced in
version 3.2; See also Property
'Present_In' (1016)
- T \p{Age: 4.0} Code point's usage was introduced in
+ \p{Age: V4_0} Code point's usage was introduced in
version 4.0; See also Property
'Present_In' (1226)
- T \p{Age: 4.1} Code point's usage was introduced in
+ \p{Age: V4_1} Code point's usage was introduced in
version 4.1; See also Property
'Present_In' (1273)
- T \p{Age: 5.0} Code point's usage was introduced in
+ \p{Age: V5_0} Code point's usage was introduced in
version 5.0; See also Property
'Present_In' (1369)
- T \p{Age: 5.1} Code point's usage was introduced in
+ \p{Age: V5_1} Code point's usage was introduced in
version 5.1; See also Property
'Present_In' (1624)
- T \p{Age: 5.2} Code point's usage was introduced in
+ \p{Age: V5_2} Code point's usage was introduced in
version 5.2; See also Property
'Present_In' (6648)
- T \p{Age: 6.0} Code point's usage was introduced in
+ \p{Age: V6_0} Code point's usage was introduced in
version 6.0; See also Property
'Present_In' (2088)
- \p{Age: Unassigned} Code point's usage has not been assigned
- in any Unicode release thus far.
- (865_081)
- \p{AHex} \p{ASCII_Hex_Digit} (= \p{ASCII_Hex_Digit=
- Y}) (22)
+ \p{Age: V6_1} Code point's usage was introduced in
+ version 6.1; See also Property
+ 'Present_In' (732)
+ \p{AHex} \p{PosixXDigit} (= \p{ASCII_Hex_Digit=Y})
+ (22)
\p{AHex: *} \p{ASCII_Hex_Digit: *}
- X \p{Alchemical_Symbols} \p{Block=Alchemical_Symbols} (128)
+ X \p{Alchemical} \p{Alchemical_Symbols} (= \p{Block=
+ Alchemical_Symbols}) (128)
+ X \p{Alchemical_Symbols} \p{Block=Alchemical_Symbols} (Short:
+ \p{InAlchemical}) (128)
\p{All} \p{Any} (1_114_112)
- \p{Alnum} Alphabetic and (Decimal) Numeric (101_959)
- \p{Alpha} \p{Alphabetic=Y} (101_539)
+ \p{Alnum} Alphabetic and (decimal) Numeric (102_619)
+ \p{Alpha} \p{Alphabetic=Y} (102_159)
\p{Alpha: *} \p{Alphabetic: *}
- \p{Alphabetic} \p{Alpha} (= \p{Alphabetic=Y}) (101_539)
- \p{Alphabetic: N*} (Short: \p{Alpha=N}, \P{Alpha}) (1_012_573)
- \p{Alphabetic: Y*} (Short: \p{Alpha=Y}, \p{Alpha}) (101_539)
+ \p{Alphabetic} \p{Alpha} (= \p{Alphabetic=Y}) (102_159)
+ \p{Alphabetic: N*} (Short: \p{Alpha=N}, \P{Alpha}) (1_011_953)
+ \p{Alphabetic: Y*} (Short: \p{Alpha=Y}, \p{Alpha}) (102_159)
+ X \p{Alphabetic_PF} \p{Alphabetic_Presentation_Forms} (=
+ \p{Block=Alphabetic_Presentation_Forms})
+ (80)
X \p{Alphabetic_Presentation_Forms} \p{Block=
- Alphabetic_Presentation_Forms} (80)
+ Alphabetic_Presentation_Forms} (Short:
+ \p{InAlphabeticPF}) (80)
+ X \p{Ancient_Greek_Music} \p{Ancient_Greek_Musical_Notation} (=
+ \p{Block=
+ Ancient_Greek_Musical_Notation}) (80)
X \p{Ancient_Greek_Musical_Notation} \p{Block=
- Ancient_Greek_Musical_Notation} (80)
+ Ancient_Greek_Musical_Notation} (Short:
+ \p{InAncientGreekMusic}) (80)
X \p{Ancient_Greek_Numbers} \p{Block=Ancient_Greek_Numbers} (80)
X \p{Ancient_Symbols} \p{Block=Ancient_Symbols} (64)
\p{Any} [\x{0000}-\x{10FFFF}] (1_114_112)
\p{Arab} \p{Arabic} (= \p{Script=Arabic}) (NOT
- \p{Block=Arabic}) (1051)
+ \p{Block=Arabic}) (1234)
\p{Arabic} \p{Script=Arabic} (Short: \p{Arab}; NOT
- \p{Block=Arabic}) (1051)
+ \p{Block=Arabic}) (1234)
+ X \p{Arabic_Ext_A} \p{Arabic_Extended_A} (= \p{Block=
+ Arabic_Extended_A}) (96)
+ X \p{Arabic_Extended_A} \p{Block=Arabic_Extended_A} (Short:
+ \p{InArabicExtA}) (96)
+ X \p{Arabic_Math} \p{Arabic_Mathematical_Alphabetic_Symbols}
+ (= \p{Block=
+ Arabic_Mathematical_Alphabetic_Symbols})
+ (256)
+ X \p{Arabic_Mathematical_Alphabetic_Symbols} \p{Block=
+ Arabic_Mathematical_Alphabetic_Symbols}
+ (Short: \p{InArabicMath}) (256)
+ X \p{Arabic_PF_A} \p{Arabic_Presentation_Forms_A} (=
+ \p{Block=Arabic_Presentation_Forms_A})
+ (688)
+ X \p{Arabic_PF_B} \p{Arabic_Presentation_Forms_B} (=
+ \p{Block=Arabic_Presentation_Forms_B})
+ (144)
X \p{Arabic_Presentation_Forms_A} \p{Block=
- Arabic_Presentation_Forms_A} (688)
+ Arabic_Presentation_Forms_A} (Short:
+ \p{InArabicPFA}) (688)
X \p{Arabic_Presentation_Forms_B} \p{Block=
- Arabic_Presentation_Forms_B} (144)
- X \p{Arabic_Supplement} \p{Block=Arabic_Supplement} (48)
+ Arabic_Presentation_Forms_B} (Short:
+ \p{InArabicPFB}) (144)
+ X \p{Arabic_Sup} \p{Arabic_Supplement} (= \p{Block=
+ Arabic_Supplement}) (48)
+ X \p{Arabic_Supplement} \p{Block=Arabic_Supplement} (Short:
+ \p{InArabicSup}) (48)
\p{Armenian} \p{Script=Armenian} (Short: \p{Armn}; NOT
- \p{Block=Armenian}) (90)
+ \p{Block=Armenian}) (91)
\p{Armi} \p{Imperial_Aramaic} (= \p{Script=
Imperial_Aramaic}) (NOT \p{Block=
Imperial_Aramaic}) (31)
\p{Armn} \p{Armenian} (= \p{Script=Armenian}) (NOT
- \p{Block=Armenian}) (90)
+ \p{Block=Armenian}) (91)
X \p{Arrows} \p{Block=Arrows} (112)
\p{ASCII} \p{Block=Basic_Latin} [[:ASCII:]] (128)
- \p{ASCII_Hex_Digit} \p{ASCII_Hex_Digit=Y} (Short: \p{AHex})
+ \p{ASCII_Hex_Digit} \p{PosixXDigit} (= \p{ASCII_Hex_Digit=Y})
(22)
\p{ASCII_Hex_Digit: N*} (Short: \p{AHex=N}, \P{AHex}) (1_114_090)
\p{ASCII_Hex_Digit: Y*} (Short: \p{AHex=Y}, \p{AHex}) (22)
- \p{Assigned} All assigned code points (248_965)
+ \p{Assigned} All assigned code points (249_697)
\p{Avestan} \p{Script=Avestan} (Short: \p{Avst}; NOT
\p{Block=Avestan}) (61)
\p{Avst} \p{Avestan} (= \p{Script=Avestan}) (NOT
@@ -321,7 +395,10 @@ this property.
\p{Block=Bamum}) (657)
\p{Bamum} \p{Script=Bamum} (Short: \p{Bamu}; NOT
\p{Block=Bamum}) (657)
- X \p{Bamum_Supplement} \p{Block=Bamum_Supplement} (576)
+ X \p{Bamum_Sup} \p{Bamum_Supplement} (= \p{Block=
+ Bamum_Supplement}) (576)
+ X \p{Bamum_Supplement} \p{Block=Bamum_Supplement} (Short:
+ \p{InBamumSup}) (576)
X \p{Basic_Latin} \p{ASCII} (= \p{Block=Basic_Latin}) (128)
\p{Batak} \p{Script=Batak} (Short: \p{Batk}; NOT
\p{Block=Batak}) (56)
@@ -334,10 +411,10 @@ this property.
\p{Block=Bengali}) (92)
\p{Bidi_C} \p{Bidi_Control} (= \p{Bidi_Control=Y}) (7)
\p{Bidi_C: *} \p{Bidi_Control: *}
- \p{Bidi_Class: AL} \p{Bidi_Class=Arabic_Letter} (1116)
- \p{Bidi_Class: AN} \p{Bidi_Class=Arabic_Number} (48)
- \p{Bidi_Class: Arabic_Letter} (Short: \p{Bc=AL}) (1116)
- \p{Bidi_Class: Arabic_Number} (Short: \p{Bc=AN}) (48)
+ \p{Bidi_Class: AL} \p{Bidi_Class=Arabic_Letter} (1438)
+ \p{Bidi_Class: AN} \p{Bidi_Class=Arabic_Number} (49)
+ \p{Bidi_Class: Arabic_Letter} (Short: \p{Bc=AL}) (1438)
+ \p{Bidi_Class: Arabic_Number} (Short: \p{Bc=AN}) (49)
\p{Bidi_Class: B} \p{Bidi_Class=Paragraph_Separator} (7)
\p{Bidi_Class: BN} \p{Bidi_Class=Boundary_Neutral} (4015)
\p{Bidi_Class: Boundary_Neutral} (Short: \p{Bc=BN}) (4015)
@@ -345,25 +422,25 @@ this property.
\p{Bidi_Class: CS} \p{Bidi_Class=Common_Separator} (15)
\p{Bidi_Class: EN} \p{Bidi_Class=European_Number} (131)
\p{Bidi_Class: ES} \p{Bidi_Class=European_Separator} (12)
- \p{Bidi_Class: ET} \p{Bidi_Class=European_Terminator} (64)
+ \p{Bidi_Class: ET} \p{Bidi_Class=European_Terminator} (65)
\p{Bidi_Class: European_Number} (Short: \p{Bc=EN}) (131)
\p{Bidi_Class: European_Separator} (Short: \p{Bc=ES}) (12)
- \p{Bidi_Class: European_Terminator} (Short: \p{Bc=ET}) (64)
- \p{Bidi_Class: L} \p{Bidi_Class=Left_To_Right} (1_098_619)
- \p{Bidi_Class: Left_To_Right} (Short: \p{Bc=L}) (1_098_619)
+ \p{Bidi_Class: European_Terminator} (Short: \p{Bc=ET}) (65)
+ \p{Bidi_Class: L} \p{Bidi_Class=Left_To_Right} (1_098_531)
+ \p{Bidi_Class: Left_To_Right} (Short: \p{Bc=L}) (1_098_531)
\p{Bidi_Class: Left_To_Right_Embedding} (Short: \p{Bc=LRE}) (1)
\p{Bidi_Class: Left_To_Right_Override} (Short: \p{Bc=LRO}) (1)
\p{Bidi_Class: LRE} \p{Bidi_Class=Left_To_Right_Embedding} (1)
\p{Bidi_Class: LRO} \p{Bidi_Class=Left_To_Right_Override} (1)
- \p{Bidi_Class: Nonspacing_Mark} (Short: \p{Bc=NSM}) (1209)
- \p{Bidi_Class: NSM} \p{Bidi_Class=Nonspacing_Mark} (1209)
- \p{Bidi_Class: ON} \p{Bidi_Class=Other_Neutral} (4412)
- \p{Bidi_Class: Other_Neutral} (Short: \p{Bc=ON}) (4412)
+ \p{Bidi_Class: Nonspacing_Mark} (Short: \p{Bc=NSM}) (1290)
+ \p{Bidi_Class: NSM} \p{Bidi_Class=Nonspacing_Mark} (1290)
+ \p{Bidi_Class: ON} \p{Bidi_Class=Other_Neutral} (4447)
+ \p{Bidi_Class: Other_Neutral} (Short: \p{Bc=ON}) (4447)
\p{Bidi_Class: Paragraph_Separator} (Short: \p{Bc=B}) (7)
\p{Bidi_Class: PDF} \p{Bidi_Class=Pop_Directional_Format} (1)
\p{Bidi_Class: Pop_Directional_Format} (Short: \p{Bc=PDF}) (1)
- \p{Bidi_Class: R} \p{Bidi_Class=Right_To_Left} (4438)
- \p{Bidi_Class: Right_To_Left} (Short: \p{Bc=R}) (4438)
+ \p{Bidi_Class: R} \p{Bidi_Class=Right_To_Left} (4086)
+ \p{Bidi_Class: Right_To_Left} (Short: \p{Bc=R}) (4086)
\p{Bidi_Class: Right_To_Left_Embedding} (Short: \p{Bc=RLE}) (1)
\p{Bidi_Class: Right_To_Left_Override} (Short: \p{Bc=RLO}) (1)
\p{Bidi_Class: RLE} \p{Bidi_Class=Right_To_Left_Embedding} (1)
@@ -376,31 +453,49 @@ this property.
\p{Bidi_Control: N*} (Short: \p{BidiC=N}, \P{BidiC}) (1_114_105)
\p{Bidi_Control: Y*} (Short: \p{BidiC=Y}, \p{BidiC}) (7)
\p{Bidi_M} \p{Bidi_Mirrored} (= \p{Bidi_Mirrored=Y})
- (543)
+ (545)
\p{Bidi_M: *} \p{Bidi_Mirrored: *}
\p{Bidi_Mirrored} \p{Bidi_Mirrored=Y} (Short: \p{BidiM})
- (543)
- \p{Bidi_Mirrored: N*} (Short: \p{BidiM=N}, \P{BidiM}) (1_113_569)
- \p{Bidi_Mirrored: Y*} (Short: \p{BidiM=Y}, \p{BidiM}) (543)
+ (545)
+ \p{Bidi_Mirrored: N*} (Short: \p{BidiM=N}, \P{BidiM}) (1_113_567)
+ \p{Bidi_Mirrored: Y*} (Short: \p{BidiM=Y}, \p{BidiM}) (545)
\p{Blank} \h, Horizontal white space (19)
\p{Blk: *} \p{Block: *}
\p{Block: Aegean_Numbers} (Single: \p{InAegeanNumbers}) (64)
- \p{Block: Alchemical_Symbols} (Single: \p{InAlchemicalSymbols})
- (128)
- \p{Block: Alphabetic_Presentation_Forms} (Single:
- \p{InAlphabeticPresentationForms}) (80)
- \p{Block: Ancient_Greek_Musical_Notation} (Single:
- \p{InAncientGreekMusicalNotation}) (80)
+ \p{Block: Alchemical} \p{Block=Alchemical_Symbols} (128)
+ \p{Block: Alchemical_Symbols} (Short: \p{Blk=Alchemical},
+ \p{InAlchemical}) (128)
+ \p{Block: Alphabetic_PF} \p{Block=Alphabetic_Presentation_Forms}
+ (80)
+ \p{Block: Alphabetic_Presentation_Forms} (Short: \p{Blk=
+ AlphabeticPF}, \p{InAlphabeticPF}) (80)
+ \p{Block: Ancient_Greek_Music} \p{Block=
+ Ancient_Greek_Musical_Notation} (80)
+ \p{Block: Ancient_Greek_Musical_Notation} (Short: \p{Blk=
+ AncientGreekMusic},
+ \p{InAncientGreekMusic}) (80)
\p{Block: Ancient_Greek_Numbers} (Single:
\p{InAncientGreekNumbers}) (80)
\p{Block: Ancient_Symbols} (Single: \p{InAncientSymbols}) (64)
\p{Block: Arabic} (Single: \p{InArabic}; NOT \p{Arabic} NOR
\p{Is_Arabic}) (256)
- \p{Block: Arabic_Presentation_Forms_A} (Single:
- \p{InArabicPresentationFormsA}) (688)
- \p{Block: Arabic_Presentation_Forms_B} (Single:
- \p{InArabicPresentationFormsB}) (144)
- \p{Block: Arabic_Supplement} (Single: \p{InArabicSupplement}) (48)
+ \p{Block: Arabic_Ext_A} \p{Block=Arabic_Extended_A} (96)
+ \p{Block: Arabic_Extended_A} (Short: \p{Blk=ArabicExtA},
+ \p{InArabicExtA}) (96)
+ \p{Block: Arabic_Math} \p{Block=
+ Arabic_Mathematical_Alphabetic_Symbols}
+ (256)
+ \p{Block: Arabic_Mathematical_Alphabetic_Symbols} (Short: \p{Blk=
+ ArabicMath}, \p{InArabicMath}) (256)
+ \p{Block: Arabic_PF_A} \p{Block=Arabic_Presentation_Forms_A} (688)
+ \p{Block: Arabic_PF_B} \p{Block=Arabic_Presentation_Forms_B} (144)
+ \p{Block: Arabic_Presentation_Forms_A} (Short: \p{Blk=ArabicPFA},
+ \p{InArabicPFA}) (688)
+ \p{Block: Arabic_Presentation_Forms_B} (Short: \p{Blk=ArabicPFB},
+ \p{InArabicPFB}) (144)
+ \p{Block: Arabic_Sup} \p{Block=Arabic_Supplement} (48)
+ \p{Block: Arabic_Supplement} (Short: \p{Blk=ArabicSup},
+ \p{InArabicSup}) (48)
\p{Block: Armenian} (Single: \p{InArmenian}; NOT \p{Armenian}
NOR \p{Is_Armenian}) (96)
\p{Block: Arrows} (Single: \p{InArrows}) (112)
@@ -411,7 +506,9 @@ this property.
NOR \p{Is_Balinese}) (128)
\p{Block: Bamum} (Single: \p{InBamum}; NOT \p{Bamum} NOR
\p{Is_Bamum}) (96)
- \p{Block: Bamum_Supplement} (Single: \p{InBamumSupplement}) (576)
+ \p{Block: Bamum_Sup} \p{Block=Bamum_Supplement} (576)
+ \p{Block: Bamum_Supplement} (Short: \p{Blk=BamumSup},
+ \p{InBamumSup}) (576)
\p{Block: Basic_Latin} (Short: \p{Blk=ASCII}, \p{ASCII}) (128)
\p{Block: Batak} (Single: \p{InBatak}; NOT \p{Batak} NOR
\p{Is_Batak}) (64)
@@ -420,128 +517,187 @@ this property.
\p{Block: Block_Elements} (Single: \p{InBlockElements}) (32)
\p{Block: Bopomofo} (Single: \p{InBopomofo}; NOT \p{Bopomofo}
NOR \p{Is_Bopomofo}) (48)
- \p{Block: Bopomofo_Extended} (Single: \p{InBopomofoExtended}) (32)
+ \p{Block: Bopomofo_Ext} \p{Block=Bopomofo_Extended} (32)
+ \p{Block: Bopomofo_Extended} (Short: \p{Blk=BopomofoExt},
+ \p{InBopomofoExt}) (32)
\p{Block: Box_Drawing} (Single: \p{InBoxDrawing}) (128)
\p{Block: Brahmi} (Single: \p{InBrahmi}; NOT \p{Brahmi} NOR
\p{Is_Brahmi}) (128)
- \p{Block: Braille_Patterns} (Single: \p{InBraillePatterns}) (256)
+ \p{Block: Braille} \p{Block=Braille_Patterns} (256)
+ \p{Block: Braille_Patterns} (Short: \p{Blk=Braille},
+ \p{InBraille}) (256)
\p{Block: Buginese} (Single: \p{InBuginese}; NOT \p{Buginese}
NOR \p{Is_Buginese}) (32)
\p{Block: Buhid} (Single: \p{InBuhid}; NOT \p{Buhid} NOR
\p{Is_Buhid}) (32)
- \p{Block: Byzantine_Musical_Symbols} (Single:
- \p{InByzantineMusicalSymbols}) (256)
+ \p{Block: Byzantine_Music} \p{Block=Byzantine_Musical_Symbols}
+ (256)
+ \p{Block: Byzantine_Musical_Symbols} (Short: \p{Blk=
+ ByzantineMusic}, \p{InByzantineMusic})
+ (256)
\p{Block: Canadian_Syllabics} \p{Block=
Unified_Canadian_Aboriginal_Syllabics}
(640)
\p{Block: Carian} (Single: \p{InCarian}; NOT \p{Carian} NOR
\p{Is_Carian}) (64)
+ \p{Block: Chakma} (Single: \p{InChakma}; NOT \p{Chakma} NOR
+ \p{Is_Chakma}) (80)
\p{Block: Cham} (Single: \p{InCham}; NOT \p{Cham} NOR
\p{Is_Cham}) (96)
\p{Block: Cherokee} (Single: \p{InCherokee}; NOT \p{Cherokee}
NOR \p{Is_Cherokee}) (96)
- \p{Block: CJK_Compatibility} (Single: \p{InCJKCompatibility}) (256)
- \p{Block: CJK_Compatibility_Forms} (Single:
- \p{InCJKCompatibilityForms}) (32)
- \p{Block: CJK_Compatibility_Ideographs} (Single:
- \p{InCJKCompatibilityIdeographs}) (512)
- \p{Block: CJK_Compatibility_Ideographs_Supplement} (Single:
- \p{InCJKCompatibilityIdeographs-
- Supplement}) (544)
- \p{Block: CJK_Radicals_Supplement} (Single:
- \p{InCJKRadicalsSupplement}) (128)
- \p{Block: CJK_Strokes} (Single: \p{InCJKStrokes}) (48)
- \p{Block: CJK_Symbols_And_Punctuation} (Single:
- \p{InCJKSymbolsAndPunctuation}) (64)
- \p{Block: CJK_Unified_Ideographs} (Single:
- \p{InCJKUnifiedIdeographs}) (20_992)
- \p{Block: CJK_Unified_Ideographs_Extension_A} (Single:
- \p{InCJKUnifiedIdeographsExtensionA})
+ \p{Block: CJK} \p{Block=CJK_Unified_Ideographs} (20_992)
+ \p{Block: CJK_Compat} \p{Block=CJK_Compatibility} (256)
+ \p{Block: CJK_Compat_Forms} \p{Block=CJK_Compatibility_Forms} (32)
+ \p{Block: CJK_Compat_Ideographs} \p{Block=
+ CJK_Compatibility_Ideographs} (512)
+ \p{Block: CJK_Compat_Ideographs_Sup} \p{Block=
+ CJK_Compatibility_Ideographs_Supplement}
+ (544)
+ \p{Block: CJK_Compatibility} (Short: \p{Blk=CJKCompat},
+ \p{InCJKCompat}) (256)
+ \p{Block: CJK_Compatibility_Forms} (Short: \p{Blk=CJKCompatForms},
+ \p{InCJKCompatForms}) (32)
+ \p{Block: CJK_Compatibility_Ideographs} (Short: \p{Blk=
+ CJKCompatIdeographs},
+ \p{InCJKCompatIdeographs}) (512)
+ \p{Block: CJK_Compatibility_Ideographs_Supplement} (Short: \p{Blk=
+ CJKCompatIdeographsSup},
+ \p{InCJKCompatIdeographsSup}) (544)
+ \p{Block: CJK_Ext_A} \p{Block=
+ CJK_Unified_Ideographs_Extension_A}
(6592)
- \p{Block: CJK_Unified_Ideographs_Extension_B} (Single:
- \p{InCJKUnifiedIdeographsExtensionB})
+ \p{Block: CJK_Ext_B} \p{Block=
+ CJK_Unified_Ideographs_Extension_B}
(42_720)
- \p{Block: CJK_Unified_Ideographs_Extension_C} (Single:
- \p{InCJKUnifiedIdeographsExtensionC})
+ \p{Block: CJK_Ext_C} \p{Block=
+ CJK_Unified_Ideographs_Extension_C}
(4160)
- \p{Block: CJK_Unified_Ideographs_Extension_D} (Single:
- \p{InCJKUnifiedIdeographsExtensionD})
- (224)
- \p{Block: Combining_Diacritical_Marks} (Single:
- \p{InCombiningDiacriticalMarks}) (112)
+ \p{Block: CJK_Ext_D} \p{Block=
+ CJK_Unified_Ideographs_Extension_D} (224)
+ \p{Block: CJK_Radicals_Sup} \p{Block=CJK_Radicals_Supplement} (128)
+ \p{Block: CJK_Radicals_Supplement} (Short: \p{Blk=CJKRadicalsSup},
+ \p{InCJKRadicalsSup}) (128)
+ \p{Block: CJK_Strokes} (Single: \p{InCJKStrokes}) (48)
+ \p{Block: CJK_Symbols} \p{Block=CJK_Symbols_And_Punctuation} (64)
+ \p{Block: CJK_Symbols_And_Punctuation} (Short: \p{Blk=CJKSymbols},
+ \p{InCJKSymbols}) (64)
+ \p{Block: CJK_Unified_Ideographs} (Short: \p{Blk=CJK}, \p{InCJK})
+ (20_992)
+ \p{Block: CJK_Unified_Ideographs_Extension_A} (Short: \p{Blk=
+ CJKExtA}, \p{InCJKExtA}) (6592)
+ \p{Block: CJK_Unified_Ideographs_Extension_B} (Short: \p{Blk=
+ CJKExtB}, \p{InCJKExtB}) (42_720)
+ \p{Block: CJK_Unified_Ideographs_Extension_C} (Short: \p{Blk=
+ CJKExtC}, \p{InCJKExtC}) (4160)
+ \p{Block: CJK_Unified_Ideographs_Extension_D} (Short: \p{Blk=
+ CJKExtD}, \p{InCJKExtD}) (224)
+ \p{Block: Combining_Diacritical_Marks} (Short: \p{Blk=
+ Diacriticals}, \p{InDiacriticals}) (112)
\p{Block: Combining_Diacritical_Marks_For_Symbols} (Short: \p{Blk=
- CombiningMarksForSymbols},
- \p{InCombiningMarksForSymbols}) (48)
- \p{Block: Combining_Diacritical_Marks_Supplement} (Single:
- \p{InCombiningDiacriticalMarks-
- Supplement}) (64)
- \p{Block: Combining_Half_Marks} (Single: \p{InCombiningHalfMarks})
- (16)
+ DiacriticalsForSymbols},
+ \p{InDiacriticalsForSymbols}) (48)
+ \p{Block: Combining_Diacritical_Marks_Supplement} (Short: \p{Blk=
+ DiacriticalsSup}, \p{InDiacriticalsSup})
+ (64)
+ \p{Block: Combining_Half_Marks} (Short: \p{Blk=HalfMarks},
+ \p{InHalfMarks}) (16)
\p{Block: Combining_Marks_For_Symbols} \p{Block=
Combining_Diacritical_Marks_For_Symbols}
(48)
- \p{Block: Common_Indic_Number_Forms} (Single:
- \p{InCommonIndicNumberForms}) (16)
+ \p{Block: Common_Indic_Number_Forms} (Short: \p{Blk=
+ IndicNumberForms},
+ \p{InIndicNumberForms}) (16)
+ \p{Block: Compat_Jamo} \p{Block=Hangul_Compatibility_Jamo} (96)
\p{Block: Control_Pictures} (Single: \p{InControlPictures}) (64)
\p{Block: Coptic} (Single: \p{InCoptic}; NOT \p{Coptic} NOR
\p{Is_Coptic}) (128)
- \p{Block: Counting_Rod_Numerals} (Single:
- \p{InCountingRodNumerals}) (32)
+ \p{Block: Counting_Rod} \p{Block=Counting_Rod_Numerals} (32)
+ \p{Block: Counting_Rod_Numerals} (Short: \p{Blk=CountingRod},
+ \p{InCountingRod}) (32)
\p{Block: Cuneiform} (Single: \p{InCuneiform}; NOT
\p{Cuneiform} NOR \p{Is_Cuneiform})
(1024)
- \p{Block: Cuneiform_Numbers_And_Punctuation} (Single:
- \p{InCuneiformNumbersAndPunctuation})
- (128)
+ \p{Block: Cuneiform_Numbers} \p{Block=
+ Cuneiform_Numbers_And_Punctuation} (128)
+ \p{Block: Cuneiform_Numbers_And_Punctuation} (Short: \p{Blk=
+ CuneiformNumbers},
+ \p{InCuneiformNumbers}) (128)
\p{Block: Currency_Symbols} (Single: \p{InCurrencySymbols}) (48)
\p{Block: Cypriot_Syllabary} (Single: \p{InCypriotSyllabary}) (64)
\p{Block: Cyrillic} (Single: \p{InCyrillic}; NOT \p{Cyrillic}
NOR \p{Is_Cyrillic}) (256)
- \p{Block: Cyrillic_Extended_A} (Single: \p{InCyrillicExtendedA})
- (32)
- \p{Block: Cyrillic_Extended_B} (Single: \p{InCyrillicExtendedB})
- (96)
- \p{Block: Cyrillic_Supplement} (Single: \p{InCyrillicSupplement})
- (48)
+ \p{Block: Cyrillic_Ext_A} \p{Block=Cyrillic_Extended_A} (32)
+ \p{Block: Cyrillic_Ext_B} \p{Block=Cyrillic_Extended_B} (96)
+ \p{Block: Cyrillic_Extended_A} (Short: \p{Blk=CyrillicExtA},
+ \p{InCyrillicExtA}) (32)
+ \p{Block: Cyrillic_Extended_B} (Short: \p{Blk=CyrillicExtB},
+ \p{InCyrillicExtB}) (96)
+ \p{Block: Cyrillic_Sup} \p{Block=Cyrillic_Supplement} (48)
+ \p{Block: Cyrillic_Supplement} (Short: \p{Blk=CyrillicSup},
+ \p{InCyrillicSup}) (48)
\p{Block: Cyrillic_Supplementary} \p{Block=Cyrillic_Supplement}
(48)
\p{Block: Deseret} (Single: \p{InDeseret}) (80)
\p{Block: Devanagari} (Single: \p{InDevanagari}; NOT
\p{Devanagari} NOR \p{Is_Devanagari})
(128)
- \p{Block: Devanagari_Extended} (Single: \p{InDevanagariExtended})
- (32)
+ \p{Block: Devanagari_Ext} \p{Block=Devanagari_Extended} (32)
+ \p{Block: Devanagari_Extended} (Short: \p{Blk=DevanagariExt},
+ \p{InDevanagariExt}) (32)
+ \p{Block: Diacriticals} \p{Block=Combining_Diacritical_Marks} (112)
+ \p{Block: Diacriticals_For_Symbols} \p{Block=
+ Combining_Diacritical_Marks_For_Symbols}
+ (48)
+ \p{Block: Diacriticals_Sup} \p{Block=
+ Combining_Diacritical_Marks_Supplement}
+ (64)
\p{Block: Dingbats} (Single: \p{InDingbats}) (192)
- \p{Block: Domino_Tiles} (Single: \p{InDominoTiles}) (112)
+ \p{Block: Domino} \p{Block=Domino_Tiles} (112)
+ \p{Block: Domino_Tiles} (Short: \p{Blk=Domino}, \p{InDomino}) (112)
\p{Block: Egyptian_Hieroglyphs} (Single:
\p{InEgyptianHieroglyphs}; NOT
\p{Egyptian_Hieroglyphs} NOR
\p{Is_Egyptian_Hieroglyphs}) (1072)
\p{Block: Emoticons} (Single: \p{InEmoticons}) (80)
- \p{Block: Enclosed_Alphanumeric_Supplement} (Single:
- \p{InEnclosedAlphanumericSupplement})
- (256)
- \p{Block: Enclosed_Alphanumerics} (Single:
- \p{InEnclosedAlphanumerics}) (160)
- \p{Block: Enclosed_CJK_Letters_And_Months} (Single:
- \p{InEnclosedCJKLettersAndMonths}) (256)
- \p{Block: Enclosed_Ideographic_Supplement} (Single:
- \p{InEnclosedIdeographicSupplement})
+ \p{Block: Enclosed_Alphanum} \p{Block=Enclosed_Alphanumerics} (160)
+ \p{Block: Enclosed_Alphanum_Sup} \p{Block=
+ Enclosed_Alphanumeric_Supplement} (256)
+ \p{Block: Enclosed_Alphanumeric_Supplement} (Short: \p{Blk=
+ EnclosedAlphanumSup},
+ \p{InEnclosedAlphanumSup}) (256)
+ \p{Block: Enclosed_Alphanumerics} (Short: \p{Blk=
+ EnclosedAlphanum},
+ \p{InEnclosedAlphanum}) (160)
+ \p{Block: Enclosed_CJK} \p{Block=Enclosed_CJK_Letters_And_Months}
(256)
+ \p{Block: Enclosed_CJK_Letters_And_Months} (Short: \p{Blk=
+ EnclosedCJK}, \p{InEnclosedCJK}) (256)
+ \p{Block: Enclosed_Ideographic_Sup} \p{Block=
+ Enclosed_Ideographic_Supplement} (256)
+ \p{Block: Enclosed_Ideographic_Supplement} (Short: \p{Blk=
+ EnclosedIdeographicSup},
+ \p{InEnclosedIdeographicSup}) (256)
\p{Block: Ethiopic} (Single: \p{InEthiopic}; NOT \p{Ethiopic}
NOR \p{Is_Ethiopic}) (384)
- \p{Block: Ethiopic_Extended} (Single: \p{InEthiopicExtended}) (96)
- \p{Block: Ethiopic_Extended_A} (Single: \p{InEthiopicExtendedA})
- (48)
- \p{Block: Ethiopic_Supplement} (Single: \p{InEthiopicSupplement})
- (32)
- \p{Block: General_Punctuation} (Single: \p{InGeneralPunctuation})
- (112)
+ \p{Block: Ethiopic_Ext} \p{Block=Ethiopic_Extended} (96)
+ \p{Block: Ethiopic_Ext_A} \p{Block=Ethiopic_Extended_A} (48)
+ \p{Block: Ethiopic_Extended} (Short: \p{Blk=EthiopicExt},
+ \p{InEthiopicExt}) (96)
+ \p{Block: Ethiopic_Extended_A} (Short: \p{Blk=EthiopicExtA},
+ \p{InEthiopicExtA}) (48)
+ \p{Block: Ethiopic_Sup} \p{Block=Ethiopic_Supplement} (32)
+ \p{Block: Ethiopic_Supplement} (Short: \p{Blk=EthiopicSup},
+ \p{InEthiopicSup}) (32)
+ \p{Block: General_Punctuation} (Short: \p{Blk=Punctuation},
+ \p{InPunctuation}; NOT \p{Punct} NOR
+ \p{Is_Punctuation}) (112)
\p{Block: Geometric_Shapes} (Single: \p{InGeometricShapes}) (96)
\p{Block: Georgian} (Single: \p{InGeorgian}; NOT \p{Georgian}
NOR \p{Is_Georgian}) (96)
- \p{Block: Georgian_Supplement} (Single: \p{InGeorgianSupplement})
- (48)
+ \p{Block: Georgian_Sup} \p{Block=Georgian_Supplement} (48)
+ \p{Block: Georgian_Supplement} (Short: \p{Blk=GeorgianSup},
+ \p{InGeorgianSup}) (48)
\p{Block: Glagolitic} (Single: \p{InGlagolitic}; NOT
\p{Glagolitic} NOR \p{Is_Glagolitic})
(96)
@@ -551,37 +707,54 @@ this property.
NOR \p{Is_Greek}) (144)
\p{Block: Greek_And_Coptic} (Short: \p{Blk=Greek}, \p{InGreek};
NOT \p{Greek} NOR \p{Is_Greek}) (144)
- \p{Block: Greek_Extended} (Single: \p{InGreekExtended}) (256)
+ \p{Block: Greek_Ext} \p{Block=Greek_Extended} (256)
+ \p{Block: Greek_Extended} (Short: \p{Blk=GreekExt},
+ \p{InGreekExt}) (256)
\p{Block: Gujarati} (Single: \p{InGujarati}; NOT \p{Gujarati}
NOR \p{Is_Gujarati}) (128)
\p{Block: Gurmukhi} (Single: \p{InGurmukhi}; NOT \p{Gurmukhi}
NOR \p{Is_Gurmukhi}) (128)
- \p{Block: Halfwidth_And_Fullwidth_Forms} (Single:
- \p{InHalfwidthAndFullwidthForms}) (240)
- \p{Block: Hangul_Compatibility_Jamo} (Single:
- \p{InHangulCompatibilityJamo}) (96)
- \p{Block: Hangul_Jamo} (Single: \p{InHangulJamo}) (256)
- \p{Block: Hangul_Jamo_Extended_A} (Single:
- \p{InHangulJamoExtendedA}) (32)
- \p{Block: Hangul_Jamo_Extended_B} (Single:
- \p{InHangulJamoExtendedB}) (80)
- \p{Block: Hangul_Syllables} (Single: \p{InHangulSyllables})
+ \p{Block: Half_And_Full_Forms} \p{Block=
+ Halfwidth_And_Fullwidth_Forms} (240)
+ \p{Block: Half_Marks} \p{Block=Combining_Half_Marks} (16)
+ \p{Block: Halfwidth_And_Fullwidth_Forms} (Short: \p{Blk=
+ HalfAndFullForms},
+ \p{InHalfAndFullForms}) (240)
+ \p{Block: Hangul} \p{Block=Hangul_Syllables} (NOT \p{Hangul}
+ NOR \p{Is_Hangul}) (11_184)
+ \p{Block: Hangul_Compatibility_Jamo} (Short: \p{Blk=CompatJamo},
+ \p{InCompatJamo}) (96)
+ \p{Block: Hangul_Jamo} (Short: \p{Blk=Jamo}, \p{InJamo}) (256)
+ \p{Block: Hangul_Jamo_Extended_A} (Short: \p{Blk=JamoExtA},
+ \p{InJamoExtA}) (32)
+ \p{Block: Hangul_Jamo_Extended_B} (Short: \p{Blk=JamoExtB},
+ \p{InJamoExtB}) (80)
+ \p{Block: Hangul_Syllables} (Short: \p{Blk=Hangul}, \p{InHangul};
+ NOT \p{Hangul} NOR \p{Is_Hangul})
(11_184)
\p{Block: Hanunoo} (Single: \p{InHanunoo}; NOT \p{Hanunoo}
NOR \p{Is_Hanunoo}) (32)
\p{Block: Hebrew} (Single: \p{InHebrew}; NOT \p{Hebrew} NOR
\p{Is_Hebrew}) (112)
- \p{Block: High_Private_Use_Surrogates} (Single:
- \p{InHighPrivateUseSurrogates}) (128)
+ \p{Block: High_Private_Use_Surrogates} (Short: \p{Blk=
+ HighPUSurrogates},
+ \p{InHighPUSurrogates}) (128)
+ \p{Block: High_PU_Surrogates} \p{Block=
+ High_Private_Use_Surrogates} (128)
\p{Block: High_Surrogates} (Single: \p{InHighSurrogates}) (896)
\p{Block: Hiragana} (Single: \p{InHiragana}; NOT \p{Hiragana}
NOR \p{Is_Hiragana}) (96)
- \p{Block: Ideographic_Description_Characters} (Single:
- \p{InIdeographicDescriptionCharacters})
- (16)
+ \p{Block: IDC} \p{Block=
+ Ideographic_Description_Characters} (NOT
+ \p{ID_Continue} NOR \p{Is_IDC}) (16)
+ \p{Block: Ideographic_Description_Characters} (Short: \p{Blk=IDC},
+ \p{InIDC}; NOT \p{ID_Continue} NOR
+ \p{Is_IDC}) (16)
\p{Block: Imperial_Aramaic} (Single: \p{InImperialAramaic}; NOT
\p{Imperial_Aramaic} NOR
\p{Is_Imperial_Aramaic}) (32)
+ \p{Block: Indic_Number_Forms} \p{Block=Common_Indic_Number_Forms}
+ (16)
\p{Block: Inscriptional_Pahlavi} (Single:
\p{InInscriptionalPahlavi}; NOT
\p{Inscriptional_Pahlavi} NOR
@@ -590,20 +763,30 @@ this property.
\p{InInscriptionalParthian}; NOT
\p{Inscriptional_Parthian} NOR
\p{Is_Inscriptional_Parthian}) (32)
- \p{Block: IPA_Extensions} (Single: \p{InIPAExtensions}) (96)
+ \p{Block: IPA_Ext} \p{Block=IPA_Extensions} (96)
+ \p{Block: IPA_Extensions} (Short: \p{Blk=IPAExt}, \p{InIPAExt})
+ (96)
+ \p{Block: Jamo} \p{Block=Hangul_Jamo} (256)
+ \p{Block: Jamo_Ext_A} \p{Block=Hangul_Jamo_Extended_A} (32)
+ \p{Block: Jamo_Ext_B} \p{Block=Hangul_Jamo_Extended_B} (80)
\p{Block: Javanese} (Single: \p{InJavanese}; NOT \p{Javanese}
NOR \p{Is_Javanese}) (96)
\p{Block: Kaithi} (Single: \p{InKaithi}; NOT \p{Kaithi} NOR
\p{Is_Kaithi}) (80)
- \p{Block: Kana_Supplement} (Single: \p{InKanaSupplement}) (256)
+ \p{Block: Kana_Sup} \p{Block=Kana_Supplement} (256)
+ \p{Block: Kana_Supplement} (Short: \p{Blk=KanaSup}, \p{InKanaSup})
+ (256)
\p{Block: Kanbun} (Single: \p{InKanbun}) (16)
- \p{Block: Kangxi_Radicals} (Single: \p{InKangxiRadicals}) (224)
+ \p{Block: Kangxi} \p{Block=Kangxi_Radicals} (224)
+ \p{Block: Kangxi_Radicals} (Short: \p{Blk=Kangxi}, \p{InKangxi})
+ (224)
\p{Block: Kannada} (Single: \p{InKannada}; NOT \p{Kannada}
NOR \p{Is_Kannada}) (128)
\p{Block: Katakana} (Single: \p{InKatakana}; NOT \p{Katakana}
NOR \p{Is_Katakana}) (96)
- \p{Block: Katakana_Phonetic_Extensions} (Single:
- \p{InKatakanaPhoneticExtensions}) (16)
+ \p{Block: Katakana_Ext} \p{Block=Katakana_Phonetic_Extensions} (16)
+ \p{Block: Katakana_Phonetic_Extensions} (Short: \p{Blk=
+ KatakanaExt}, \p{InKatakanaExt}) (16)
\p{Block: Kayah_Li} (Single: \p{InKayahLi}) (48)
\p{Block: Kharoshthi} (Single: \p{InKharoshthi}; NOT
\p{Kharoshthi} NOR \p{Is_Kharoshthi})
@@ -614,14 +797,26 @@ this property.
\p{Block: Lao} (Single: \p{InLao}; NOT \p{Lao} NOR
\p{Is_Lao}) (128)
\p{Block: Latin_1} \p{Block=Latin_1_Supplement} (128)
+ \p{Block: Latin_1_Sup} \p{Block=Latin_1_Supplement} (128)
\p{Block: Latin_1_Supplement} (Short: \p{Blk=Latin1},
\p{InLatin1}) (128)
- \p{Block: Latin_Extended_A} (Single: \p{InLatinExtendedA}) (128)
- \p{Block: Latin_Extended_Additional} (Single:
- \p{InLatinExtendedAdditional}) (256)
- \p{Block: Latin_Extended_B} (Single: \p{InLatinExtendedB}) (208)
- \p{Block: Latin_Extended_C} (Single: \p{InLatinExtendedC}) (32)
- \p{Block: Latin_Extended_D} (Single: \p{InLatinExtendedD}) (224)
+ \p{Block: Latin_Ext_A} \p{Block=Latin_Extended_A} (128)
+ \p{Block: Latin_Ext_Additional} \p{Block=
+ Latin_Extended_Additional} (256)
+ \p{Block: Latin_Ext_B} \p{Block=Latin_Extended_B} (208)
+ \p{Block: Latin_Ext_C} \p{Block=Latin_Extended_C} (32)
+ \p{Block: Latin_Ext_D} \p{Block=Latin_Extended_D} (224)
+ \p{Block: Latin_Extended_A} (Short: \p{Blk=LatinExtA},
+ \p{InLatinExtA}) (128)
+ \p{Block: Latin_Extended_Additional} (Short: \p{Blk=
+ LatinExtAdditional},
+ \p{InLatinExtAdditional}) (256)
+ \p{Block: Latin_Extended_B} (Short: \p{Blk=LatinExtB},
+ \p{InLatinExtB}) (208)
+ \p{Block: Latin_Extended_C} (Short: \p{Blk=LatinExtC},
+ \p{InLatinExtC}) (32)
+ \p{Block: Latin_Extended_D} (Short: \p{Blk=LatinExtD},
+ \p{InLatinExtD}) (224)
\p{Block: Lepcha} (Single: \p{InLepcha}; NOT \p{Lepcha} NOR
\p{Is_Lepcha}) (80)
\p{Block: Letterlike_Symbols} (Single: \p{InLetterlikeSymbols})
@@ -638,50 +833,84 @@ this property.
\p{Is_Lycian}) (32)
\p{Block: Lydian} (Single: \p{InLydian}; NOT \p{Lydian} NOR
\p{Is_Lydian}) (32)
- \p{Block: Mahjong_Tiles} (Single: \p{InMahjongTiles}) (48)
+ \p{Block: Mahjong} \p{Block=Mahjong_Tiles} (48)
+ \p{Block: Mahjong_Tiles} (Short: \p{Blk=Mahjong}, \p{InMahjong})
+ (48)
\p{Block: Malayalam} (Single: \p{InMalayalam}; NOT
\p{Malayalam} NOR \p{Is_Malayalam}) (128)
\p{Block: Mandaic} (Single: \p{InMandaic}; NOT \p{Mandaic}
NOR \p{Is_Mandaic}) (32)
- \p{Block: Mathematical_Alphanumeric_Symbols} (Single:
- \p{InMathematicalAlphanumericSymbols})
- (1024)
- \p{Block: Mathematical_Operators} (Single:
- \p{InMathematicalOperators}) (256)
+ \p{Block: Math_Alphanum} \p{Block=
+ Mathematical_Alphanumeric_Symbols} (1024)
+ \p{Block: Math_Operators} \p{Block=Mathematical_Operators} (256)
+ \p{Block: Mathematical_Alphanumeric_Symbols} (Short: \p{Blk=
+ MathAlphanum}, \p{InMathAlphanum}) (1024)
+ \p{Block: Mathematical_Operators} (Short: \p{Blk=MathOperators},
+ \p{InMathOperators}) (256)
\p{Block: Meetei_Mayek} (Single: \p{InMeeteiMayek}; NOT
\p{Meetei_Mayek} NOR
\p{Is_Meetei_Mayek}) (64)
- \p{Block: Miscellaneous_Mathematical_Symbols_A} (Single:
- \p{InMiscellaneousMathematicalSymbolsA})
+ \p{Block: Meetei_Mayek_Ext} \p{Block=Meetei_Mayek_Extensions} (32)
+ \p{Block: Meetei_Mayek_Extensions} (Short: \p{Blk=MeeteiMayekExt},
+ \p{InMeeteiMayekExt}) (32)
+ \p{Block: Meroitic_Cursive} (Single: \p{InMeroiticCursive}; NOT
+ \p{Meroitic_Cursive} NOR
+ \p{Is_Meroitic_Cursive}) (96)
+ \p{Block: Meroitic_Hieroglyphs} (Single:
+ \p{InMeroiticHieroglyphs}) (32)
+ \p{Block: Miao} (Single: \p{InMiao}; NOT \p{Miao} NOR
+ \p{Is_Miao}) (160)
+ \p{Block: Misc_Arrows} \p{Block=Miscellaneous_Symbols_And_Arrows}
+ (256)
+ \p{Block: Misc_Math_Symbols_A} \p{Block=
+ Miscellaneous_Mathematical_Symbols_A}
(48)
- \p{Block: Miscellaneous_Mathematical_Symbols_B} (Single:
- \p{InMiscellaneousMathematicalSymbolsB})
+ \p{Block: Misc_Math_Symbols_B} \p{Block=
+ Miscellaneous_Mathematical_Symbols_B}
(128)
- \p{Block: Miscellaneous_Symbols} (Single:
- \p{InMiscellaneousSymbols}) (256)
- \p{Block: Miscellaneous_Symbols_And_Arrows} (Single:
- \p{InMiscellaneousSymbolsAndArrows})
- (256)
- \p{Block: Miscellaneous_Symbols_And_Pictographs} (Single:
- \p{InMiscellaneousSymbolsAnd-
- Pictographs}) (768)
- \p{Block: Miscellaneous_Technical} (Single:
- \p{InMiscellaneousTechnical}) (256)
+ \p{Block: Misc_Pictographs} \p{Block=
+ Miscellaneous_Symbols_And_Pictographs}
+ (768)
+ \p{Block: Misc_Symbols} \p{Block=Miscellaneous_Symbols} (256)
+ \p{Block: Misc_Technical} \p{Block=Miscellaneous_Technical} (256)
+ \p{Block: Miscellaneous_Mathematical_Symbols_A} (Short: \p{Blk=
+ MiscMathSymbolsA},
+ \p{InMiscMathSymbolsA}) (48)
+ \p{Block: Miscellaneous_Mathematical_Symbols_B} (Short: \p{Blk=
+ MiscMathSymbolsB},
+ \p{InMiscMathSymbolsB}) (128)
+ \p{Block: Miscellaneous_Symbols} (Short: \p{Blk=MiscSymbols},
+ \p{InMiscSymbols}) (256)
+ \p{Block: Miscellaneous_Symbols_And_Arrows} (Short: \p{Blk=
+ MiscArrows}, \p{InMiscArrows}) (256)
+ \p{Block: Miscellaneous_Symbols_And_Pictographs} (Short: \p{Blk=
+ MiscPictographs}, \p{InMiscPictographs})
+ (768)
+ \p{Block: Miscellaneous_Technical} (Short: \p{Blk=MiscTechnical},
+ \p{InMiscTechnical}) (256)
+ \p{Block: Modifier_Letters} \p{Block=Spacing_Modifier_Letters} (80)
\p{Block: Modifier_Tone_Letters} (Single:
\p{InModifierToneLetters}) (32)
\p{Block: Mongolian} (Single: \p{InMongolian}; NOT
\p{Mongolian} NOR \p{Is_Mongolian}) (176)
- \p{Block: Musical_Symbols} (Single: \p{InMusicalSymbols}) (256)
+ \p{Block: Music} \p{Block=Musical_Symbols} (256)
+ \p{Block: Musical_Symbols} (Short: \p{Blk=Music}, \p{InMusic})
+ (256)
\p{Block: Myanmar} (Single: \p{InMyanmar}; NOT \p{Myanmar}
NOR \p{Is_Myanmar}) (160)
- \p{Block: Myanmar_Extended_A} (Single: \p{InMyanmarExtendedA}) (32)
+ \p{Block: Myanmar_Ext_A} \p{Block=Myanmar_Extended_A} (32)
+ \p{Block: Myanmar_Extended_A} (Short: \p{Blk=MyanmarExtA},
+ \p{InMyanmarExtA}) (32)
+ \p{Block: NB} \p{Block=No_Block} (860_672)
\p{Block: New_Tai_Lue} (Single: \p{InNewTaiLue}; NOT
\p{New_Tai_Lue} NOR \p{Is_New_Tai_Lue})
(96)
\p{Block: NKo} (Single: \p{InNKo}; NOT \p{Nko} NOR
\p{Is_NKo}) (64)
- \p{Block: No_Block} (Single: \p{InNoBlock}) (861_664)
+ \p{Block: No_Block} (Short: \p{Blk=NB}, \p{InNB}) (860_672)
\p{Block: Number_Forms} (Single: \p{InNumberForms}) (64)
+ \p{Block: OCR} \p{Block=Optical_Character_Recognition}
+ (32)
\p{Block: Ogham} (Single: \p{InOgham}; NOT \p{Ogham} NOR
\p{Is_Ogham}) (32)
\p{Block: Ol_Chiki} (Single: \p{InOlChiki}) (48)
@@ -695,32 +924,44 @@ this property.
\p{Block: Old_Turkic} (Single: \p{InOldTurkic}; NOT
\p{Old_Turkic} NOR \p{Is_Old_Turkic})
(80)
- \p{Block: Optical_Character_Recognition} (Single:
- \p{InOpticalCharacterRecognition}) (32)
+ \p{Block: Optical_Character_Recognition} (Short: \p{Blk=OCR},
+ \p{InOCR}) (32)
\p{Block: Oriya} (Single: \p{InOriya}; NOT \p{Oriya} NOR
\p{Is_Oriya}) (128)
\p{Block: Osmanya} (Single: \p{InOsmanya}; NOT \p{Osmanya}
NOR \p{Is_Osmanya}) (48)
\p{Block: Phags_Pa} (Single: \p{InPhagsPa}; NOT \p{Phags_Pa}
NOR \p{Is_Phags_Pa}) (64)
- \p{Block: Phaistos_Disc} (Single: \p{InPhaistosDisc}) (48)
+ \p{Block: Phaistos} \p{Block=Phaistos_Disc} (48)
+ \p{Block: Phaistos_Disc} (Short: \p{Blk=Phaistos}, \p{InPhaistos})
+ (48)
\p{Block: Phoenician} (Single: \p{InPhoenician}; NOT
\p{Phoenician} NOR \p{Is_Phoenician})
(32)
- \p{Block: Phonetic_Extensions} (Single: \p{InPhoneticExtensions})
- (128)
- \p{Block: Phonetic_Extensions_Supplement} (Single:
- \p{InPhoneticExtensionsSupplement}) (64)
+ \p{Block: Phonetic_Ext} \p{Block=Phonetic_Extensions} (128)
+ \p{Block: Phonetic_Ext_Sup} \p{Block=
+ Phonetic_Extensions_Supplement} (64)
+ \p{Block: Phonetic_Extensions} (Short: \p{Blk=PhoneticExt},
+ \p{InPhoneticExt}) (128)
+ \p{Block: Phonetic_Extensions_Supplement} (Short: \p{Blk=
+ PhoneticExtSup}, \p{InPhoneticExtSup})
+ (64)
\p{Block: Playing_Cards} (Single: \p{InPlayingCards}) (96)
\p{Block: Private_Use} \p{Block=Private_Use_Area} (NOT
\p{Private_Use} NOR \p{Is_Private_Use})
(6400)
- \p{Block: Private_Use_Area} (Short: \p{Blk=PrivateUse},
- \p{InPrivateUse}; NOT \p{Private_Use}
- NOR \p{Is_Private_Use}) (6400)
+ \p{Block: Private_Use_Area} (Short: \p{Blk=PUA}, \p{InPUA}; NOT
+ \p{Private_Use} NOR \p{Is_Private_Use})
+ (6400)
+ \p{Block: PUA} \p{Block=Private_Use_Area} (NOT
+ \p{Private_Use} NOR \p{Is_Private_Use})
+ (6400)
+ \p{Block: Punctuation} \p{Block=General_Punctuation} (NOT
+ \p{Punct} NOR \p{Is_Punctuation}) (112)
\p{Block: Rejang} (Single: \p{InRejang}; NOT \p{Rejang} NOR
\p{Is_Rejang}) (48)
- \p{Block: Rumi_Numeral_Symbols} (Single: \p{InRumiNumeralSymbols})
+ \p{Block: Rumi} \p{Block=Rumi_Numeral_Symbols} (32)
+ \p{Block: Rumi_Numeral_Symbols} (Short: \p{Blk=Rumi}, \p{InRumi})
(32)
\p{Block: Runic} (Single: \p{InRunic}; NOT \p{Runic} NOR
\p{Is_Runic}) (96)
@@ -729,33 +970,53 @@ this property.
\p{Block: Saurashtra} (Single: \p{InSaurashtra}; NOT
\p{Saurashtra} NOR \p{Is_Saurashtra})
(96)
+ \p{Block: Sharada} (Single: \p{InSharada}; NOT \p{Sharada}
+ NOR \p{Is_Sharada}) (96)
\p{Block: Shavian} (Single: \p{InShavian}) (48)
\p{Block: Sinhala} (Single: \p{InSinhala}; NOT \p{Sinhala}
NOR \p{Is_Sinhala}) (128)
- \p{Block: Small_Form_Variants} (Single: \p{InSmallFormVariants})
- (32)
- \p{Block: Spacing_Modifier_Letters} (Single:
- \p{InSpacingModifierLetters}) (80)
+ \p{Block: Small_Form_Variants} (Short: \p{Blk=SmallForms},
+ \p{InSmallForms}) (32)
+ \p{Block: Small_Forms} \p{Block=Small_Form_Variants} (32)
+ \p{Block: Sora_Sompeng} (Single: \p{InSoraSompeng}; NOT
+ \p{Sora_Sompeng} NOR
+ \p{Is_Sora_Sompeng}) (48)
+ \p{Block: Spacing_Modifier_Letters} (Short: \p{Blk=
+ ModifierLetters}, \p{InModifierLetters})
+ (80)
\p{Block: Specials} (Single: \p{InSpecials}) (16)
\p{Block: Sundanese} (Single: \p{InSundanese}; NOT
\p{Sundanese} NOR \p{Is_Sundanese}) (64)
- \p{Block: Superscripts_And_Subscripts} (Single:
- \p{InSuperscriptsAndSubscripts}) (48)
- \p{Block: Supplemental_Arrows_A} (Single:
- \p{InSupplementalArrowsA}) (16)
- \p{Block: Supplemental_Arrows_B} (Single:
- \p{InSupplementalArrowsB}) (128)
- \p{Block: Supplemental_Mathematical_Operators} (Single:
- \p{InSupplementalMathematicalOperators})
+ \p{Block: Sundanese_Sup} \p{Block=Sundanese_Supplement} (16)
+ \p{Block: Sundanese_Supplement} (Short: \p{Blk=SundaneseSup},
+ \p{InSundaneseSup}) (16)
+ \p{Block: Sup_Arrows_A} \p{Block=Supplemental_Arrows_A} (16)
+ \p{Block: Sup_Arrows_B} \p{Block=Supplemental_Arrows_B} (128)
+ \p{Block: Sup_Math_Operators} \p{Block=
+ Supplemental_Mathematical_Operators}
(256)
- \p{Block: Supplemental_Punctuation} (Single:
- \p{InSupplementalPunctuation}) (128)
- \p{Block: Supplementary_Private_Use_Area_A} (Single:
- \p{InSupplementaryPrivateUseAreaA})
+ \p{Block: Sup_PUA_A} \p{Block=Supplementary_Private_Use_Area_A}
(65_536)
- \p{Block: Supplementary_Private_Use_Area_B} (Single:
- \p{InSupplementaryPrivateUseAreaB})
+ \p{Block: Sup_PUA_B} \p{Block=Supplementary_Private_Use_Area_B}
(65_536)
+ \p{Block: Sup_Punctuation} \p{Block=Supplemental_Punctuation} (128)
+ \p{Block: Super_And_Sub} \p{Block=Superscripts_And_Subscripts} (48)
+ \p{Block: Superscripts_And_Subscripts} (Short: \p{Blk=
+ SuperAndSub}, \p{InSuperAndSub}) (48)
+ \p{Block: Supplemental_Arrows_A} (Short: \p{Blk=SupArrowsA},
+ \p{InSupArrowsA}) (16)
+ \p{Block: Supplemental_Arrows_B} (Short: \p{Blk=SupArrowsB},
+ \p{InSupArrowsB}) (128)
+ \p{Block: Supplemental_Mathematical_Operators} (Short: \p{Blk=
+ SupMathOperators},
+ \p{InSupMathOperators}) (256)
+ \p{Block: Supplemental_Punctuation} (Short: \p{Blk=
+ SupPunctuation}, \p{InSupPunctuation})
+ (128)
+ \p{Block: Supplementary_Private_Use_Area_A} (Short: \p{Blk=
+ SupPUAA}, \p{InSupPUAA}) (65_536)
+ \p{Block: Supplementary_Private_Use_Area_B} (Short: \p{Blk=
+ SupPUAB}, \p{InSupPUAB}) (65_536)
\p{Block: Syloti_Nagri} (Single: \p{InSylotiNagri}; NOT
\p{Syloti_Nagri} NOR
\p{Is_Syloti_Nagri}) (48)
@@ -772,8 +1033,11 @@ this property.
NOR \p{Is_Tai_Tham}) (144)
\p{Block: Tai_Viet} (Single: \p{InTaiViet}; NOT \p{Tai_Viet}
NOR \p{Is_Tai_Viet}) (96)
- \p{Block: Tai_Xuan_Jing_Symbols} (Single:
- \p{InTaiXuanJingSymbols}) (96)
+ \p{Block: Tai_Xuan_Jing} \p{Block=Tai_Xuan_Jing_Symbols} (96)
+ \p{Block: Tai_Xuan_Jing_Symbols} (Short: \p{Blk=TaiXuanJing},
+ \p{InTaiXuanJing}) (96)
+ \p{Block: Takri} (Single: \p{InTakri}; NOT \p{Takri} NOR
+ \p{Is_Takri}) (80)
\p{Block: Tamil} (Single: \p{InTamil}; NOT \p{Tamil} NOR
\p{Is_Tamil}) (128)
\p{Block: Telugu} (Single: \p{InTelugu}; NOT \p{Telugu} NOR
@@ -786,34 +1050,53 @@ this property.
NOR \p{Is_Tibetan}) (256)
\p{Block: Tifinagh} (Single: \p{InTifinagh}; NOT \p{Tifinagh}
NOR \p{Is_Tifinagh}) (80)
- \p{Block: Transport_And_Map_Symbols} (Single:
- \p{InTransportAndMapSymbols}) (128)
+ \p{Block: Transport_And_Map} \p{Block=Transport_And_Map_Symbols}
+ (128)
+ \p{Block: Transport_And_Map_Symbols} (Short: \p{Blk=
+ TransportAndMap}, \p{InTransportAndMap})
+ (128)
+ \p{Block: UCAS} \p{Block=
+ Unified_Canadian_Aboriginal_Syllabics}
+ (640)
+ \p{Block: UCAS_Ext} \p{Block=
+ Unified_Canadian_Aboriginal_Syllabics_-
+ Extended} (80)
\p{Block: Ugaritic} (Single: \p{InUgaritic}; NOT \p{Ugaritic}
NOR \p{Is_Ugaritic}) (32)
\p{Block: Unified_Canadian_Aboriginal_Syllabics} (Short: \p{Blk=
- CanadianSyllabics},
- \p{InCanadianSyllabics}) (640)
- \p{Block: Unified_Canadian_Aboriginal_Syllabics_Extended} (Single:
- \p{InUnifiedCanadianAboriginalSyllabics-
- Extended}) (80)
+ UCAS}, \p{InUCAS}) (640)
+ \p{Block: Unified_Canadian_Aboriginal_Syllabics_Extended} (Short:
+ \p{Blk=UCASExt}, \p{InUCASExt}) (80)
\p{Block: Vai} (Single: \p{InVai}; NOT \p{Vai} NOR
\p{Is_Vai}) (320)
- \p{Block: Variation_Selectors} (Single: \p{InVariationSelectors})
+ \p{Block: Variation_Selectors} (Short: \p{Blk=VS}, \p{InVS}; NOT
+ \p{Variation_Selector} NOR \p{Is_VS})
(16)
- \p{Block: Variation_Selectors_Supplement} (Single:
- \p{InVariationSelectorsSupplement}) (240)
- \p{Block: Vedic_Extensions} (Single: \p{InVedicExtensions}) (48)
+ \p{Block: Variation_Selectors_Supplement} (Short: \p{Blk=VSSup},
+ \p{InVSSup}) (240)
+ \p{Block: Vedic_Ext} \p{Block=Vedic_Extensions} (48)
+ \p{Block: Vedic_Extensions} (Short: \p{Blk=VedicExt},
+ \p{InVedicExt}) (48)
\p{Block: Vertical_Forms} (Single: \p{InVerticalForms}) (16)
+ \p{Block: VS} \p{Block=Variation_Selectors} (NOT
+ \p{Variation_Selector} NOR \p{Is_VS})
+ (16)
+ \p{Block: VS_Sup} \p{Block=Variation_Selectors_Supplement}
+ (240)
\p{Block: Yi_Radicals} (Single: \p{InYiRadicals}) (64)
\p{Block: Yi_Syllables} (Single: \p{InYiSyllables}) (1168)
- \p{Block: Yijing_Hexagram_Symbols} (Single:
- \p{InYijingHexagramSymbols}) (64)
+ \p{Block: Yijing} \p{Block=Yijing_Hexagram_Symbols} (64)
+ \p{Block: Yijing_Hexagram_Symbols} (Short: \p{Blk=Yijing},
+ \p{InYijing}) (64)
X \p{Block_Elements} \p{Block=Block_Elements} (32)
\p{Bopo} \p{Bopomofo} (= \p{Script=Bopomofo}) (NOT
\p{Block=Bopomofo}) (70)
\p{Bopomofo} \p{Script=Bopomofo} (Short: \p{Bopo}; NOT
\p{Block=Bopomofo}) (70)
- X \p{Bopomofo_Extended} \p{Block=Bopomofo_Extended} (32)
+ X \p{Bopomofo_Ext} \p{Bopomofo_Extended} (= \p{Block=
+ Bopomofo_Extended}) (32)
+ X \p{Bopomofo_Extended} \p{Block=Bopomofo_Extended} (Short:
+ \p{InBopomofoExt}) (32)
X \p{Box_Drawing} \p{Block=Box_Drawing} (128)
\p{Brah} \p{Brahmi} (= \p{Script=Brahmi}) (NOT
\p{Block=Brahmi}) (108)
@@ -821,7 +1104,8 @@ this property.
\p{Block=Brahmi}) (108)
\p{Brai} \p{Braille} (= \p{Script=Braille}) (256)
\p{Braille} \p{Script=Braille} (Short: \p{Brai}) (256)
- X \p{Braille_Patterns} \p{Block=Braille_Patterns} (256)
+ X \p{Braille_Patterns} \p{Block=Braille_Patterns} (Short:
+ \p{InBraille}) (256)
\p{Bugi} \p{Buginese} (= \p{Script=Buginese}) (NOT
\p{Block=Buginese}) (30)
\p{Buginese} \p{Script=Buginese} (Short: \p{Bugi}; NOT
@@ -830,10 +1114,14 @@ this property.
\p{Block=Buhid}) (20)
\p{Buhid} \p{Script=Buhid} (Short: \p{Buhd}; NOT
\p{Block=Buhid}) (20)
+ X \p{Byzantine_Music} \p{Byzantine_Musical_Symbols} (= \p{Block=
+ Byzantine_Musical_Symbols}) (256)
X \p{Byzantine_Musical_Symbols} \p{Block=Byzantine_Musical_Symbols}
- (256)
+ (Short: \p{InByzantineMusic}) (256)
\p{C} \p{Other} (= \p{General_Category=Other})
- (1_004_868)
+ (1_004_135)
+ \p{Cakm} \p{Chakma} (= \p{Script=Chakma}) (NOT
+ \p{Block=Chakma}) (67)
\p{Canadian_Aboriginal} \p{Script=Canadian_Aboriginal} (Short:
\p{Cans}) (710)
X \p{Canadian_Syllabics} \p{Unified_Canadian_Aboriginal_Syllabics}
@@ -841,51 +1129,87 @@ this property.
Unified_Canadian_Aboriginal_Syllabics})
(640)
T \p{Canonical_Combining_Class: 0} \p{Canonical_Combining_Class=
- Not_Reordered} (1_113_506)
+ Not_Reordered} (1_113_459)
T \p{Canonical_Combining_Class: 1} \p{Canonical_Combining_Class=
Overlay} (26)
T \p{Canonical_Combining_Class: 7} \p{Canonical_Combining_Class=
- Nukta} (12)
+ Nukta} (13)
T \p{Canonical_Combining_Class: 8} \p{Canonical_Combining_Class=
Kana_Voicing} (2)
T \p{Canonical_Combining_Class: 9} \p{Canonical_Combining_Class=
- Virama} (31)
- T \p{Canonical_Combining_Class: 10} (Short: \p{Ccc=10}) (1)
- T \p{Canonical_Combining_Class: 11} (Short: \p{Ccc=11}) (1)
- T \p{Canonical_Combining_Class: 12} (Short: \p{Ccc=12}) (1)
- T \p{Canonical_Combining_Class: 13} (Short: \p{Ccc=13}) (1)
- T \p{Canonical_Combining_Class: 14} (Short: \p{Ccc=14}) (1)
- T \p{Canonical_Combining_Class: 15} (Short: \p{Ccc=15}) (1)
- T \p{Canonical_Combining_Class: 16} (Short: \p{Ccc=16}) (1)
- T \p{Canonical_Combining_Class: 17} (Short: \p{Ccc=17}) (1)
- T \p{Canonical_Combining_Class: 18} (Short: \p{Ccc=18}) (2)
- T \p{Canonical_Combining_Class: 19} (Short: \p{Ccc=19}) (2)
- T \p{Canonical_Combining_Class: 20} (Short: \p{Ccc=20}) (1)
- T \p{Canonical_Combining_Class: 21} (Short: \p{Ccc=21}) (1)
- T \p{Canonical_Combining_Class: 22} (Short: \p{Ccc=22}) (1)
- T \p{Canonical_Combining_Class: 23} (Short: \p{Ccc=23}) (1)
- T \p{Canonical_Combining_Class: 24} (Short: \p{Ccc=24}) (1)
- T \p{Canonical_Combining_Class: 25} (Short: \p{Ccc=25}) (1)
- T \p{Canonical_Combining_Class: 26} (Short: \p{Ccc=26}) (1)
- T \p{Canonical_Combining_Class: 27} (Short: \p{Ccc=27}) (1)
- T \p{Canonical_Combining_Class: 28} (Short: \p{Ccc=28}) (1)
- T \p{Canonical_Combining_Class: 29} (Short: \p{Ccc=29}) (1)
- T \p{Canonical_Combining_Class: 30} (Short: \p{Ccc=30}) (2)
- T \p{Canonical_Combining_Class: 31} (Short: \p{Ccc=31}) (2)
- T \p{Canonical_Combining_Class: 32} (Short: \p{Ccc=32}) (2)
- T \p{Canonical_Combining_Class: 33} (Short: \p{Ccc=33}) (1)
- T \p{Canonical_Combining_Class: 34} (Short: \p{Ccc=34}) (1)
- T \p{Canonical_Combining_Class: 35} (Short: \p{Ccc=35}) (1)
- T \p{Canonical_Combining_Class: 36} (Short: \p{Ccc=36}) (1)
- T \p{Canonical_Combining_Class: 84} (Short: \p{Ccc=84}) (1)
- T \p{Canonical_Combining_Class: 91} (Short: \p{Ccc=91}) (1)
- T \p{Canonical_Combining_Class: 103} (Short: \p{Ccc=103}) (2)
- T \p{Canonical_Combining_Class: 107} (Short: \p{Ccc=107}) (4)
- T \p{Canonical_Combining_Class: 118} (Short: \p{Ccc=118}) (2)
- T \p{Canonical_Combining_Class: 122} (Short: \p{Ccc=122}) (4)
- T \p{Canonical_Combining_Class: 129} (Short: \p{Ccc=129}) (1)
- T \p{Canonical_Combining_Class: 130} (Short: \p{Ccc=130}) (6)
- T \p{Canonical_Combining_Class: 132} (Short: \p{Ccc=132}) (1)
+ Virama} (37)
+ T \p{Canonical_Combining_Class: 10} \p{Canonical_Combining_Class=
+ CCC10} (1)
+ T \p{Canonical_Combining_Class: 11} \p{Canonical_Combining_Class=
+ CCC11} (1)
+ T \p{Canonical_Combining_Class: 12} \p{Canonical_Combining_Class=
+ CCC12} (1)
+ T \p{Canonical_Combining_Class: 13} \p{Canonical_Combining_Class=
+ CCC13} (1)
+ T \p{Canonical_Combining_Class: 14} \p{Canonical_Combining_Class=
+ CCC14} (1)
+ T \p{Canonical_Combining_Class: 15} \p{Canonical_Combining_Class=
+ CCC15} (1)
+ T \p{Canonical_Combining_Class: 16} \p{Canonical_Combining_Class=
+ CCC16} (1)
+ T \p{Canonical_Combining_Class: 17} \p{Canonical_Combining_Class=
+ CCC17} (1)
+ T \p{Canonical_Combining_Class: 18} \p{Canonical_Combining_Class=
+ CCC18} (2)
+ T \p{Canonical_Combining_Class: 19} \p{Canonical_Combining_Class=
+ CCC19} (2)
+ T \p{Canonical_Combining_Class: 20} \p{Canonical_Combining_Class=
+ CCC20} (1)
+ T \p{Canonical_Combining_Class: 21} \p{Canonical_Combining_Class=
+ CCC21} (1)
+ T \p{Canonical_Combining_Class: 22} \p{Canonical_Combining_Class=
+ CCC22} (1)
+ T \p{Canonical_Combining_Class: 23} \p{Canonical_Combining_Class=
+ CCC23} (1)
+ T \p{Canonical_Combining_Class: 24} \p{Canonical_Combining_Class=
+ CCC24} (1)
+ T \p{Canonical_Combining_Class: 25} \p{Canonical_Combining_Class=
+ CCC25} (1)
+ T \p{Canonical_Combining_Class: 26} \p{Canonical_Combining_Class=
+ CCC26} (1)
+ T \p{Canonical_Combining_Class: 27} \p{Canonical_Combining_Class=
+ CCC27} (2)
+ T \p{Canonical_Combining_Class: 28} \p{Canonical_Combining_Class=
+ CCC28} (2)
+ T \p{Canonical_Combining_Class: 29} \p{Canonical_Combining_Class=
+ CCC29} (2)
+ T \p{Canonical_Combining_Class: 30} \p{Canonical_Combining_Class=
+ CCC30} (2)
+ T \p{Canonical_Combining_Class: 31} \p{Canonical_Combining_Class=
+ CCC31} (2)
+ T \p{Canonical_Combining_Class: 32} \p{Canonical_Combining_Class=
+ CCC32} (2)
+ T \p{Canonical_Combining_Class: 33} \p{Canonical_Combining_Class=
+ CCC33} (1)
+ T \p{Canonical_Combining_Class: 34} \p{Canonical_Combining_Class=
+ CCC34} (1)
+ T \p{Canonical_Combining_Class: 35} \p{Canonical_Combining_Class=
+ CCC35} (1)
+ T \p{Canonical_Combining_Class: 36} \p{Canonical_Combining_Class=
+ CCC36} (1)
+ T \p{Canonical_Combining_Class: 84} \p{Canonical_Combining_Class=
+ CCC84} (1)
+ T \p{Canonical_Combining_Class: 91} \p{Canonical_Combining_Class=
+ CCC91} (1)
+ T \p{Canonical_Combining_Class: 103} \p{Canonical_Combining_Class=
+ CCC103} (2)
+ T \p{Canonical_Combining_Class: 107} \p{Canonical_Combining_Class=
+ CCC107} (4)
+ T \p{Canonical_Combining_Class: 118} \p{Canonical_Combining_Class=
+ CCC118} (2)
+ T \p{Canonical_Combining_Class: 122} \p{Canonical_Combining_Class=
+ CCC122} (4)
+ T \p{Canonical_Combining_Class: 129} \p{Canonical_Combining_Class=
+ CCC129} (1)
+ T \p{Canonical_Combining_Class: 130} \p{Canonical_Combining_Class=
+ CCC130} (6)
+ T \p{Canonical_Combining_Class: 132} \p{Canonical_Combining_Class=
+ CCC132} (1)
T \p{Canonical_Combining_Class: 200} \p{Canonical_Combining_Class=
Attached_Below_Left} (0)
T \p{Canonical_Combining_Class: 202} \p{Canonical_Combining_Class=
@@ -897,7 +1221,7 @@ this property.
T \p{Canonical_Combining_Class: 218} \p{Canonical_Combining_Class=
Below_Left} (1)
T \p{Canonical_Combining_Class: 220} \p{Canonical_Combining_Class=
- Below} (121)
+ Below} (129)
T \p{Canonical_Combining_Class: 222} \p{Canonical_Combining_Class=
Below_Right} (4)
T \p{Canonical_Combining_Class: 224} \p{Canonical_Combining_Class=
@@ -907,7 +1231,7 @@ this property.
T \p{Canonical_Combining_Class: 228} \p{Canonical_Combining_Class=
Above_Left} (3)
T \p{Canonical_Combining_Class: 230} \p{Canonical_Combining_Class=
- Above} (320)
+ Above} (349)
T \p{Canonical_Combining_Class: 232} \p{Canonical_Combining_Class=
Above_Right} (4)
T \p{Canonical_Combining_Class: 233} \p{Canonical_Combining_Class=
@@ -917,8 +1241,8 @@ this property.
T \p{Canonical_Combining_Class: 240} \p{Canonical_Combining_Class=
Iota_Subscript} (1)
\p{Canonical_Combining_Class: A} \p{Canonical_Combining_Class=
- Above} (320)
- \p{Canonical_Combining_Class: Above} (Short: \p{Ccc=A}) (320)
+ Above} (349)
+ \p{Canonical_Combining_Class: Above} (Short: \p{Ccc=A}) (349)
\p{Canonical_Combining_Class: Above_Left} (Short: \p{Ccc=AL}) (3)
\p{Canonical_Combining_Class: Above_Right} (Short: \p{Ccc=AR}) (4)
\p{Canonical_Combining_Class: AL} \p{Canonical_Combining_Class=
@@ -942,14 +1266,50 @@ this property.
\p{Canonical_Combining_Class: Attached_Below_Left} (Short: \p{Ccc=
ATBL}) (0)
\p{Canonical_Combining_Class: B} \p{Canonical_Combining_Class=
- Below} (121)
- \p{Canonical_Combining_Class: Below} (Short: \p{Ccc=B}) (121)
+ Below} (129)
+ \p{Canonical_Combining_Class: Below} (Short: \p{Ccc=B}) (129)
\p{Canonical_Combining_Class: Below_Left} (Short: \p{Ccc=BL}) (1)
\p{Canonical_Combining_Class: Below_Right} (Short: \p{Ccc=BR}) (4)
\p{Canonical_Combining_Class: BL} \p{Canonical_Combining_Class=
Below_Left} (1)
\p{Canonical_Combining_Class: BR} \p{Canonical_Combining_Class=
Below_Right} (4)
+ \p{Canonical_Combining_Class: CCC10} (Short: \p{Ccc=CCC10}) (1)
+ \p{Canonical_Combining_Class: CCC103} (Short: \p{Ccc=CCC103}) (2)
+ \p{Canonical_Combining_Class: CCC107} (Short: \p{Ccc=CCC107}) (4)
+ \p{Canonical_Combining_Class: CCC11} (Short: \p{Ccc=CCC11}) (1)
+ \p{Canonical_Combining_Class: CCC118} (Short: \p{Ccc=CCC118}) (2)
+ \p{Canonical_Combining_Class: CCC12} (Short: \p{Ccc=CCC12}) (1)
+ \p{Canonical_Combining_Class: CCC122} (Short: \p{Ccc=CCC122}) (4)
+ \p{Canonical_Combining_Class: CCC129} (Short: \p{Ccc=CCC129}) (1)
+ \p{Canonical_Combining_Class: CCC13} (Short: \p{Ccc=CCC13}) (1)
+ \p{Canonical_Combining_Class: CCC130} (Short: \p{Ccc=CCC130}) (6)
+ \p{Canonical_Combining_Class: CCC132} (Short: \p{Ccc=CCC132}) (1)
+ \p{Canonical_Combining_Class: CCC14} (Short: \p{Ccc=CCC14}) (1)
+ \p{Canonical_Combining_Class: CCC15} (Short: \p{Ccc=CCC15}) (1)
+ \p{Canonical_Combining_Class: CCC16} (Short: \p{Ccc=CCC16}) (1)
+ \p{Canonical_Combining_Class: CCC17} (Short: \p{Ccc=CCC17}) (1)
+ \p{Canonical_Combining_Class: CCC18} (Short: \p{Ccc=CCC18}) (2)
+ \p{Canonical_Combining_Class: CCC19} (Short: \p{Ccc=CCC19}) (2)
+ \p{Canonical_Combining_Class: CCC20} (Short: \p{Ccc=CCC20}) (1)
+ \p{Canonical_Combining_Class: CCC21} (Short: \p{Ccc=CCC21}) (1)
+ \p{Canonical_Combining_Class: CCC22} (Short: \p{Ccc=CCC22}) (1)
+ \p{Canonical_Combining_Class: CCC23} (Short: \p{Ccc=CCC23}) (1)
+ \p{Canonical_Combining_Class: CCC24} (Short: \p{Ccc=CCC24}) (1)
+ \p{Canonical_Combining_Class: CCC25} (Short: \p{Ccc=CCC25}) (1)
+ \p{Canonical_Combining_Class: CCC26} (Short: \p{Ccc=CCC26}) (1)
+ \p{Canonical_Combining_Class: CCC27} (Short: \p{Ccc=CCC27}) (2)
+ \p{Canonical_Combining_Class: CCC28} (Short: \p{Ccc=CCC28}) (2)
+ \p{Canonical_Combining_Class: CCC29} (Short: \p{Ccc=CCC29}) (2)
+ \p{Canonical_Combining_Class: CCC30} (Short: \p{Ccc=CCC30}) (2)
+ \p{Canonical_Combining_Class: CCC31} (Short: \p{Ccc=CCC31}) (2)
+ \p{Canonical_Combining_Class: CCC32} (Short: \p{Ccc=CCC32}) (2)
+ \p{Canonical_Combining_Class: CCC33} (Short: \p{Ccc=CCC33}) (1)
+ \p{Canonical_Combining_Class: CCC34} (Short: \p{Ccc=CCC34}) (1)
+ \p{Canonical_Combining_Class: CCC35} (Short: \p{Ccc=CCC35}) (1)
+ \p{Canonical_Combining_Class: CCC36} (Short: \p{Ccc=CCC36}) (1)
+ \p{Canonical_Combining_Class: CCC84} (Short: \p{Ccc=CCC84}) (1)
+ \p{Canonical_Combining_Class: CCC91} (Short: \p{Ccc=CCC91}) (1)
\p{Canonical_Combining_Class: DA} \p{Canonical_Combining_Class=
Double_Above} (5)
\p{Canonical_Combining_Class: DB} \p{Canonical_Combining_Class=
@@ -967,35 +1327,35 @@ this property.
Left} (2)
\p{Canonical_Combining_Class: Left} (Short: \p{Ccc=L}) (2)
\p{Canonical_Combining_Class: NK} \p{Canonical_Combining_Class=
- Nukta} (12)
+ Nukta} (13)
\p{Canonical_Combining_Class: Not_Reordered} (Short: \p{Ccc=NR})
- (1_113_506)
+ (1_113_459)
\p{Canonical_Combining_Class: NR} \p{Canonical_Combining_Class=
- Not_Reordered} (1_113_506)
- \p{Canonical_Combining_Class: Nukta} (Short: \p{Ccc=NK}) (12)
+ Not_Reordered} (1_113_459)
+ \p{Canonical_Combining_Class: Nukta} (Short: \p{Ccc=NK}) (13)
\p{Canonical_Combining_Class: OV} \p{Canonical_Combining_Class=
Overlay} (26)
\p{Canonical_Combining_Class: Overlay} (Short: \p{Ccc=OV}) (26)
\p{Canonical_Combining_Class: R} \p{Canonical_Combining_Class=
Right} (1)
\p{Canonical_Combining_Class: Right} (Short: \p{Ccc=R}) (1)
- \p{Canonical_Combining_Class: Virama} (Short: \p{Ccc=VR}) (31)
+ \p{Canonical_Combining_Class: Virama} (Short: \p{Ccc=VR}) (37)
\p{Canonical_Combining_Class: VR} \p{Canonical_Combining_Class=
- Virama} (31)
+ Virama} (37)
\p{Cans} \p{Canadian_Aboriginal} (= \p{Script=
Canadian_Aboriginal}) (710)
\p{Cari} \p{Carian} (= \p{Script=Carian}) (NOT
\p{Block=Carian}) (49)
\p{Carian} \p{Script=Carian} (Short: \p{Cari}; NOT
\p{Block=Carian}) (49)
- \p{Case_Ignorable} \p{Case_Ignorable=Y} (Short: \p{CI}) (1692)
- \p{Case_Ignorable: N*} (Short: \p{CI=N}, \P{CI}) (1_112_420)
- \p{Case_Ignorable: Y*} (Short: \p{CI=Y}, \p{CI}) (1692)
- \p{Cased} \p{Cased=Y} (3427)
- \p{Cased: N*} (Single: \P{Cased}) (1_110_685)
- \p{Cased: Y*} (Single: \p{Cased}) (3427)
+ \p{Case_Ignorable} \p{Case_Ignorable=Y} (Short: \p{CI}) (1799)
+ \p{Case_Ignorable: N*} (Short: \p{CI=N}, \P{CI}) (1_112_313)
+ \p{Case_Ignorable: Y*} (Short: \p{CI=Y}, \p{CI}) (1799)
+ \p{Cased} \p{Cased=Y} (3448)
+ \p{Cased: N*} (Single: \P{Cased}) (1_110_664)
+ \p{Cased: Y*} (Single: \p{Cased}) (3448)
\p{Cased_Letter} \p{General_Category=Cased_Letter} (Short:
- \p{LC}) (3226)
+ \p{LC}) (3223)
\p{Category: *} \p{General_Category: *}
\p{Cc} \p{Cntrl} (= \p{General_Category=Control})
(65)
@@ -1004,102 +1364,152 @@ this property.
\p{Composition_Exclusion=Y}) (81)
\p{CE: *} \p{Composition_Exclusion: *}
\p{Cf} \p{Format} (= \p{General_Category=Format})
- (140)
+ (139)
+ \p{Chakma} \p{Script=Chakma} (Short: \p{Cakm}; NOT
+ \p{Block=Chakma}) (67)
\p{Cham} \p{Script=Cham} (NOT \p{Block=Cham}) (83)
\p{Changes_When_Casefolded} \p{Changes_When_Casefolded=Y} (Short:
- \p{CWCF}) (1102)
+ \p{CWCF}) (1107)
\p{Changes_When_Casefolded: N*} (Short: \p{CWCF=N}, \P{CWCF})
- (1_113_010)
+ (1_113_005)
\p{Changes_When_Casefolded: Y*} (Short: \p{CWCF=Y}, \p{CWCF})
- (1102)
+ (1107)
\p{Changes_When_Casemapped} \p{Changes_When_Casemapped=Y} (Short:
- \p{CWCM}) (2128)
+ \p{CWCM}) (2138)
\p{Changes_When_Casemapped: N*} (Short: \p{CWCM=N}, \P{CWCM})
- (1_111_984)
+ (1_111_974)
\p{Changes_When_Casemapped: Y*} (Short: \p{CWCM=Y}, \p{CWCM})
- (2128)
+ (2138)
\p{Changes_When_Lowercased} \p{Changes_When_Lowercased=Y} (Short:
- \p{CWL}) (1038)
+ \p{CWL}) (1043)
\p{Changes_When_Lowercased: N*} (Short: \p{CWL=N}, \P{CWL})
- (1_113_074)
- \p{Changes_When_Lowercased: Y*} (Short: \p{CWL=Y}, \p{CWL}) (1038)
+ (1_113_069)
+ \p{Changes_When_Lowercased: Y*} (Short: \p{CWL=Y}, \p{CWL}) (1043)
\p{Changes_When_NFKC_Casefolded} \p{Changes_When_NFKC_Casefolded=
- Y} (Short: \p{CWKCF}) (9792)
+ Y} (Short: \p{CWKCF}) (9944)
\p{Changes_When_NFKC_Casefolded: N*} (Short: \p{CWKCF=N},
- \P{CWKCF}) (1_104_320)
+ \P{CWKCF}) (1_104_168)
\p{Changes_When_NFKC_Casefolded: Y*} (Short: \p{CWKCF=Y},
- \p{CWKCF}) (9792)
+ \p{CWKCF}) (9944)
\p{Changes_When_Titlecased} \p{Changes_When_Titlecased=Y} (Short:
- \p{CWT}) (1094)
+ \p{CWT}) (1099)
\p{Changes_When_Titlecased: N*} (Short: \p{CWT=N}, \P{CWT})
- (1_113_018)
- \p{Changes_When_Titlecased: Y*} (Short: \p{CWT=Y}, \p{CWT}) (1094)
+ (1_113_013)
+ \p{Changes_When_Titlecased: Y*} (Short: \p{CWT=Y}, \p{CWT}) (1099)
\p{Changes_When_Uppercased} \p{Changes_When_Uppercased=Y} (Short:
- \p{CWU}) (1121)
+ \p{CWU}) (1126)
\p{Changes_When_Uppercased: N*} (Short: \p{CWU=N}, \P{CWU})
- (1_112_991)
- \p{Changes_When_Uppercased: Y*} (Short: \p{CWU=Y}, \p{CWU}) (1121)
+ (1_112_986)
+ \p{Changes_When_Uppercased: Y*} (Short: \p{CWU=Y}, \p{CWU}) (1126)
\p{Cher} \p{Cherokee} (= \p{Script=Cherokee}) (NOT
\p{Block=Cherokee}) (85)
\p{Cherokee} \p{Script=Cherokee} (Short: \p{Cher}; NOT
\p{Block=Cherokee}) (85)
\p{CI} \p{Case_Ignorable} (= \p{Case_Ignorable=
- Y}) (1692)
+ Y}) (1799)
\p{CI: *} \p{Case_Ignorable: *}
- X \p{CJK_Compatibility} \p{Block=CJK_Compatibility} (256)
- X \p{CJK_Compatibility_Forms} \p{Block=CJK_Compatibility_Forms} (32)
+ X \p{CJK} \p{CJK_Unified_Ideographs} (= \p{Block=
+ CJK_Unified_Ideographs}) (20_992)
+ X \p{CJK_Compat} \p{CJK_Compatibility} (= \p{Block=
+ CJK_Compatibility}) (256)
+ X \p{CJK_Compat_Forms} \p{CJK_Compatibility_Forms} (= \p{Block=
+ CJK_Compatibility_Forms}) (32)
+ X \p{CJK_Compat_Ideographs} \p{CJK_Compatibility_Ideographs} (=
+ \p{Block=CJK_Compatibility_Ideographs})
+ (512)
+ X \p{CJK_Compat_Ideographs_Sup}
+ \p{CJK_Compatibility_Ideographs_-
+ Supplement} (= \p{Block=
+ CJK_Compatibility_Ideographs_-
+ Supplement}) (544)
+ X \p{CJK_Compatibility} \p{Block=CJK_Compatibility} (Short:
+ \p{InCJKCompat}) (256)
+ X \p{CJK_Compatibility_Forms} \p{Block=CJK_Compatibility_Forms}
+ (Short: \p{InCJKCompatForms}) (32)
X \p{CJK_Compatibility_Ideographs} \p{Block=
- CJK_Compatibility_Ideographs} (512)
+ CJK_Compatibility_Ideographs} (Short:
+ \p{InCJKCompatIdeographs}) (512)
X \p{CJK_Compatibility_Ideographs_Supplement} \p{Block=
CJK_Compatibility_Ideographs_Supplement}
+ (Short: \p{InCJKCompatIdeographsSup})
(544)
- X \p{CJK_Radicals_Supplement} \p{Block=CJK_Radicals_Supplement} (128)
+ X \p{CJK_Ext_A} \p{CJK_Unified_Ideographs_Extension_A} (=
+ \p{Block=
+ CJK_Unified_Ideographs_Extension_A})
+ (6592)
+ X \p{CJK_Ext_B} \p{CJK_Unified_Ideographs_Extension_B} (=
+ \p{Block=
+ CJK_Unified_Ideographs_Extension_B})
+ (42_720)
+ X \p{CJK_Ext_C} \p{CJK_Unified_Ideographs_Extension_C} (=
+ \p{Block=
+ CJK_Unified_Ideographs_Extension_C})
+ (4160)
+ X \p{CJK_Ext_D} \p{CJK_Unified_Ideographs_Extension_D} (=
+ \p{Block=
+ CJK_Unified_Ideographs_Extension_D})
+ (224)
+ X \p{CJK_Radicals_Sup} \p{CJK_Radicals_Supplement} (= \p{Block=
+ CJK_Radicals_Supplement}) (128)
+ X \p{CJK_Radicals_Supplement} \p{Block=CJK_Radicals_Supplement}
+ (Short: \p{InCJKRadicalsSup}) (128)
X \p{CJK_Strokes} \p{Block=CJK_Strokes} (48)
+ X \p{CJK_Symbols} \p{CJK_Symbols_And_Punctuation} (=
+ \p{Block=CJK_Symbols_And_Punctuation})
+ (64)
X \p{CJK_Symbols_And_Punctuation} \p{Block=
- CJK_Symbols_And_Punctuation} (64)
+ CJK_Symbols_And_Punctuation} (Short:
+ \p{InCJKSymbols}) (64)
X \p{CJK_Unified_Ideographs} \p{Block=CJK_Unified_Ideographs}
- (20_992)
+ (Short: \p{InCJK}) (20_992)
X \p{CJK_Unified_Ideographs_Extension_A} \p{Block=
CJK_Unified_Ideographs_Extension_A}
- (6592)
+ (Short: \p{InCJKExtA}) (6592)
X \p{CJK_Unified_Ideographs_Extension_B} \p{Block=
CJK_Unified_Ideographs_Extension_B}
- (42_720)
+ (Short: \p{InCJKExtB}) (42_720)
X \p{CJK_Unified_Ideographs_Extension_C} \p{Block=
CJK_Unified_Ideographs_Extension_C}
- (4160)
+ (Short: \p{InCJKExtC}) (4160)
X \p{CJK_Unified_Ideographs_Extension_D} \p{Block=
- CJK_Unified_Ideographs_Extension_D} (224)
+ CJK_Unified_Ideographs_Extension_D}
+ (Short: \p{InCJKExtD}) (224)
\p{Close_Punctuation} \p{General_Category=Close_Punctuation}
(Short: \p{Pe}) (71)
\p{Cn} \p{Unassigned} (= \p{General_Category=
- Unassigned}) (865_147)
+ Unassigned}) (864_415)
\p{Cntrl} \p{General_Category=Control} Control
characters (Short: \p{Cc}) (65)
\p{Co} \p{Private_Use} (= \p{General_Category=
Private_Use}) (NOT \p{Private_Use_Area})
(137_468)
X \p{Combining_Diacritical_Marks} \p{Block=
- Combining_Diacritical_Marks} (112)
+ Combining_Diacritical_Marks} (Short:
+ \p{InDiacriticals}) (112)
X \p{Combining_Diacritical_Marks_For_Symbols} \p{Block=
Combining_Diacritical_Marks_For_Symbols}
- (Short: \p{InCombiningMarksForSymbols})
+ (Short: \p{InDiacriticalsForSymbols})
(48)
X \p{Combining_Diacritical_Marks_Supplement} \p{Block=
Combining_Diacritical_Marks_Supplement}
- (64)
- X \p{Combining_Half_Marks} \p{Block=Combining_Half_Marks} (16)
+ (Short: \p{InDiacriticalsSup}) (64)
+ X \p{Combining_Half_Marks} \p{Block=Combining_Half_Marks} (Short:
+ \p{InHalfMarks}) (16)
+ \p{Combining_Mark} \p{Mark} (= \p{General_Category=Mark})
+ (1645)
X \p{Combining_Marks_For_Symbols}
\p{Combining_Diacritical_Marks_For_-
Symbols} (= \p{Block=
Combining_Diacritical_Marks_For_-
Symbols}) (48)
- \p{Common} \p{Script=Common} (Short: \p{Zyyy}) (6379)
+ \p{Common} \p{Script=Common} (Short: \p{Zyyy}) (6412)
X \p{Common_Indic_Number_Forms} \p{Block=Common_Indic_Number_Forms}
- (16)
+ (Short: \p{InIndicNumberForms}) (16)
\p{Comp_Ex} \p{Full_Composition_Exclusion} (=
- \p{Full_Composition_Exclusion=Y}) (1118)
+ \p{Full_Composition_Exclusion=Y}) (1120)
\p{Comp_Ex: *} \p{Full_Composition_Exclusion: *}
+ X \p{Compat_Jamo} \p{Hangul_Compatibility_Jamo} (= \p{Block=
+ Hangul_Compatibility_Jamo}) (96)
\p{Composition_Exclusion} \p{Composition_Exclusion=Y} (Short:
\p{CE}) (81)
\p{Composition_Exclusion: N*} (Short: \p{CE=N}, \P{CE}) (1_114_031)
@@ -1111,67 +1521,83 @@ this property.
(65)
X \p{Control_Pictures} \p{Block=Control_Pictures} (64)
\p{Copt} \p{Coptic} (= \p{Script=Coptic}) (NOT
- \p{Block=Coptic}) (135)
+ \p{Block=Coptic}) (137)
\p{Coptic} \p{Script=Coptic} (Short: \p{Copt}; NOT
- \p{Block=Coptic}) (135)
- X \p{Counting_Rod_Numerals} \p{Block=Counting_Rod_Numerals} (32)
+ \p{Block=Coptic}) (137)
+ X \p{Counting_Rod} \p{Counting_Rod_Numerals} (= \p{Block=
+ Counting_Rod_Numerals}) (32)
+ X \p{Counting_Rod_Numerals} \p{Block=Counting_Rod_Numerals} (Short:
+ \p{InCountingRod}) (32)
\p{Cprt} \p{Cypriot} (= \p{Script=Cypriot}) (55)
\p{Cs} \p{Surrogate} (= \p{General_Category=
Surrogate}) (2048)
\p{Cuneiform} \p{Script=Cuneiform} (Short: \p{Xsux}; NOT
\p{Block=Cuneiform}) (982)
+ X \p{Cuneiform_Numbers} \p{Cuneiform_Numbers_And_Punctuation} (=
+ \p{Block=
+ Cuneiform_Numbers_And_Punctuation}) (128)
X \p{Cuneiform_Numbers_And_Punctuation} \p{Block=
- Cuneiform_Numbers_And_Punctuation} (128)
+ Cuneiform_Numbers_And_Punctuation}
+ (Short: \p{InCuneiformNumbers}) (128)
\p{Currency_Symbol} \p{General_Category=Currency_Symbol}
- (Short: \p{Sc}) (47)
+ (Short: \p{Sc}) (48)
X \p{Currency_Symbols} \p{Block=Currency_Symbols} (48)
\p{CWCF} \p{Changes_When_Casefolded} (=
- \p{Changes_When_Casefolded=Y}) (1102)
+ \p{Changes_When_Casefolded=Y}) (1107)
\p{CWCF: *} \p{Changes_When_Casefolded: *}
\p{CWCM} \p{Changes_When_Casemapped} (=
- \p{Changes_When_Casemapped=Y}) (2128)
+ \p{Changes_When_Casemapped=Y}) (2138)
\p{CWCM: *} \p{Changes_When_Casemapped: *}
\p{CWKCF} \p{Changes_When_NFKC_Casefolded} (=
\p{Changes_When_NFKC_Casefolded=Y})
- (9792)
+ (9944)
\p{CWKCF: *} \p{Changes_When_NFKC_Casefolded: *}
\p{CWL} \p{Changes_When_Lowercased} (=
- \p{Changes_When_Lowercased=Y}) (1038)
+ \p{Changes_When_Lowercased=Y}) (1043)
\p{CWL: *} \p{Changes_When_Lowercased: *}
\p{CWT} \p{Changes_When_Titlecased} (=
- \p{Changes_When_Titlecased=Y}) (1094)
+ \p{Changes_When_Titlecased=Y}) (1099)
\p{CWT: *} \p{Changes_When_Titlecased: *}
\p{CWU} \p{Changes_When_Uppercased} (=
- \p{Changes_When_Uppercased=Y}) (1121)
+ \p{Changes_When_Uppercased=Y}) (1126)
\p{CWU: *} \p{Changes_When_Uppercased: *}
\p{Cypriot} \p{Script=Cypriot} (Short: \p{Cprt}) (55)
X \p{Cypriot_Syllabary} \p{Block=Cypriot_Syllabary} (64)
\p{Cyrillic} \p{Script=Cyrillic} (Short: \p{Cyrl}; NOT
- \p{Block=Cyrillic}) (408)
- X \p{Cyrillic_Extended_A} \p{Block=Cyrillic_Extended_A} (32)
- X \p{Cyrillic_Extended_B} \p{Block=Cyrillic_Extended_B} (96)
- X \p{Cyrillic_Supplement} \p{Block=Cyrillic_Supplement} (48)
+ \p{Block=Cyrillic}) (417)
+ X \p{Cyrillic_Ext_A} \p{Cyrillic_Extended_A} (= \p{Block=
+ Cyrillic_Extended_A}) (32)
+ X \p{Cyrillic_Ext_B} \p{Cyrillic_Extended_B} (= \p{Block=
+ Cyrillic_Extended_B}) (96)
+ X \p{Cyrillic_Extended_A} \p{Block=Cyrillic_Extended_A} (Short:
+ \p{InCyrillicExtA}) (32)
+ X \p{Cyrillic_Extended_B} \p{Block=Cyrillic_Extended_B} (Short:
+ \p{InCyrillicExtB}) (96)
+ X \p{Cyrillic_Sup} \p{Cyrillic_Supplement} (= \p{Block=
+ Cyrillic_Supplement}) (48)
+ X \p{Cyrillic_Supplement} \p{Block=Cyrillic_Supplement} (Short:
+ \p{InCyrillicSup}) (48)
X \p{Cyrillic_Supplementary} \p{Cyrillic_Supplement} (= \p{Block=
Cyrillic_Supplement}) (48)
\p{Cyrl} \p{Cyrillic} (= \p{Script=Cyrillic}) (NOT
- \p{Block=Cyrillic}) (408)
- \p{Dash} \p{Dash=Y} (25)
- \p{Dash: N*} (Single: \P{Dash}) (1_114_087)
- \p{Dash: Y*} (Single: \p{Dash}) (25)
+ \p{Block=Cyrillic}) (417)
+ \p{Dash} \p{Dash=Y} (27)
+ \p{Dash: N*} (Single: \P{Dash}) (1_114_085)
+ \p{Dash: Y*} (Single: \p{Dash}) (27)
\p{Dash_Punctuation} \p{General_Category=Dash_Punctuation}
- (Short: \p{Pd}) (21)
+ (Short: \p{Pd}) (23)
\p{Decimal_Number} \p{Digit} (= \p{General_Category=
- Decimal_Number}) (420)
+ Decimal_Number}) (460)
\p{Decomposition_Type: Can} \p{Decomposition_Type=Canonical}
- (13_221)
- \p{Decomposition_Type: Canonical} (Short: \p{Dt=Can}) (13_221)
+ (13_225)
+ \p{Decomposition_Type: Canonical} (Short: \p{Dt=Can}) (13_225)
\p{Decomposition_Type: Circle} (Short: \p{Dt=Enc}) (240)
\p{Decomposition_Type: Com} \p{Decomposition_Type=Compat} (720)
\p{Decomposition_Type: Compat} (Short: \p{Dt=Com}) (720)
\p{Decomposition_Type: Enc} \p{Decomposition_Type=Circle} (240)
\p{Decomposition_Type: Fin} \p{Decomposition_Type=Final} (240)
\p{Decomposition_Type: Final} (Short: \p{Dt=Fin}) (240)
- \p{Decomposition_Type: Font} (Short: \p{Dt=Font}) (1043)
+ \p{Decomposition_Type: Font} (Short: \p{Dt=Font}) (1184)
\p{Decomposition_Type: Fra} \p{Decomposition_Type=Fraction} (20)
\p{Decomposition_Type: Fraction} (Short: \p{Dt=Fra}) (20)
\p{Decomposition_Type: Init} \p{Decomposition_Type=Initial} (171)
@@ -1185,18 +1611,18 @@ this property.
\p{Decomposition_Type: Nb} \p{Decomposition_Type=Nobreak} (5)
\p{Decomposition_Type: Nobreak} (Short: \p{Dt=Nb}) (5)
\p{Decomposition_Type: Non_Canon} \p{Decomposition_Type=
- Non_Canonical} (Perl extension) (3510)
+ Non_Canonical} (Perl extension) (3655)
\p{Decomposition_Type: Non_Canonical} Union of all non-canonical
decompositions (Short: \p{Dt=NonCanon})
- (Perl extension) (3510)
- \p{Decomposition_Type: None} (Short: \p{Dt=None}) (1_097_381)
+ (Perl extension) (3655)
+ \p{Decomposition_Type: None} (Short: \p{Dt=None}) (1_097_232)
\p{Decomposition_Type: Small} (Short: \p{Dt=Sml}) (26)
\p{Decomposition_Type: Sml} \p{Decomposition_Type=Small} (26)
\p{Decomposition_Type: Sqr} \p{Decomposition_Type=Square} (284)
\p{Decomposition_Type: Square} (Short: \p{Dt=Sqr}) (284)
\p{Decomposition_Type: Sub} (Short: \p{Dt=Sub}) (38)
- \p{Decomposition_Type: Sup} \p{Decomposition_Type=Super} (142)
- \p{Decomposition_Type: Super} (Short: \p{Dt=Sup}) (142)
+ \p{Decomposition_Type: Sup} \p{Decomposition_Type=Super} (146)
+ \p{Decomposition_Type: Super} (Short: \p{Dt=Sup}) (146)
\p{Decomposition_Type: Vert} \p{Decomposition_Type=Vertical} (35)
\p{Decomposition_Type: Vertical} (Short: \p{Dt=Vert}) (35)
\p{Decomposition_Type: Wide} (Short: \p{Dt=Wide}) (104)
@@ -1213,24 +1639,42 @@ this property.
\p{Deprecated: Y*} (Short: \p{Dep=Y}, \p{Dep}) (111)
\p{Deseret} \p{Script=Deseret} (Short: \p{Dsrt}) (80)
\p{Deva} \p{Devanagari} (= \p{Script=Devanagari})
- (NOT \p{Block=Devanagari}) (150)
+ (NOT \p{Block=Devanagari}) (151)
\p{Devanagari} \p{Script=Devanagari} (Short: \p{Deva};
- NOT \p{Block=Devanagari}) (150)
- X \p{Devanagari_Extended} \p{Block=Devanagari_Extended} (32)
+ NOT \p{Block=Devanagari}) (151)
+ X \p{Devanagari_Ext} \p{Devanagari_Extended} (= \p{Block=
+ Devanagari_Extended}) (32)
+ X \p{Devanagari_Extended} \p{Block=Devanagari_Extended} (Short:
+ \p{InDevanagariExt}) (32)
\p{DI} \p{Default_Ignorable_Code_Point} (=
\p{Default_Ignorable_Code_Point=Y})
(4167)
\p{DI: *} \p{Default_Ignorable_Code_Point: *}
- \p{Dia} \p{Diacritic} (= \p{Diacritic=Y}) (639)
+ \p{Dia} \p{Diacritic} (= \p{Diacritic=Y}) (693)
\p{Dia: *} \p{Diacritic: *}
- \p{Diacritic} \p{Diacritic=Y} (Short: \p{Dia}) (639)
- \p{Diacritic: N*} (Short: \p{Dia=N}, \P{Dia}) (1_113_473)
- \p{Diacritic: Y*} (Short: \p{Dia=Y}, \p{Dia}) (639)
+ \p{Diacritic} \p{Diacritic=Y} (Short: \p{Dia}) (693)
+ \p{Diacritic: N*} (Short: \p{Dia=N}, \P{Dia}) (1_113_419)
+ \p{Diacritic: Y*} (Short: \p{Dia=Y}, \p{Dia}) (693)
+ X \p{Diacriticals} \p{Combining_Diacritical_Marks} (=
+ \p{Block=Combining_Diacritical_Marks})
+ (112)
+ X \p{Diacriticals_For_Symbols}
+ \p{Combining_Diacritical_Marks_For_-
+ Symbols} (= \p{Block=
+ Combining_Diacritical_Marks_For_-
+ Symbols}) (48)
+ X \p{Diacriticals_Sup} \p{Combining_Diacritical_Marks_Supplement}
+ (= \p{Block=
+ Combining_Diacritical_Marks_Supplement})
+ (64)
\p{Digit} \p{General_Category=Decimal_Number} [0-9]
+ all other decimal digits (Short:
- \p{Nd}) (420)
+ \p{Nd}) (460)
X \p{Dingbats} \p{Block=Dingbats} (192)
- X \p{Domino_Tiles} \p{Block=Domino_Tiles} (112)
+ X \p{Domino} \p{Domino_Tiles} (= \p{Block=
+ Domino_Tiles}) (112)
+ X \p{Domino_Tiles} \p{Block=Domino_Tiles} (Short:
+ \p{InDomino}) (112)
\p{Dsrt} \p{Deseret} (= \p{Script=Deseret}) (80)
\p{Dt: *} \p{Decomposition_Type: *}
\p{Ea: *} \p{East_Asian_Width: *}
@@ -1253,122 +1697,150 @@ this property.
\p{Egyp}; NOT \p{Block=
Egyptian_Hieroglyphs}) (1071)
X \p{Emoticons} \p{Block=Emoticons} (80)
+ X \p{Enclosed_Alphanum} \p{Enclosed_Alphanumerics} (= \p{Block=
+ Enclosed_Alphanumerics}) (160)
+ X \p{Enclosed_Alphanum_Sup} \p{Enclosed_Alphanumeric_Supplement} (=
+ \p{Block=
+ Enclosed_Alphanumeric_Supplement}) (256)
X \p{Enclosed_Alphanumeric_Supplement} \p{Block=
- Enclosed_Alphanumeric_Supplement} (256)
- X \p{Enclosed_Alphanumerics} \p{Block=Enclosed_Alphanumerics} (160)
+ Enclosed_Alphanumeric_Supplement}
+ (Short: \p{InEnclosedAlphanumSup}) (256)
+ X \p{Enclosed_Alphanumerics} \p{Block=Enclosed_Alphanumerics}
+ (Short: \p{InEnclosedAlphanum}) (160)
+ X \p{Enclosed_CJK} \p{Enclosed_CJK_Letters_And_Months} (=
+ \p{Block=
+ Enclosed_CJK_Letters_And_Months}) (256)
X \p{Enclosed_CJK_Letters_And_Months} \p{Block=
- Enclosed_CJK_Letters_And_Months} (256)
+ Enclosed_CJK_Letters_And_Months} (Short:
+ \p{InEnclosedCJK}) (256)
+ X \p{Enclosed_Ideographic_Sup} \p{Enclosed_Ideographic_Supplement}
+ (= \p{Block=
+ Enclosed_Ideographic_Supplement}) (256)
X \p{Enclosed_Ideographic_Supplement} \p{Block=
- Enclosed_Ideographic_Supplement} (256)
+ Enclosed_Ideographic_Supplement} (Short:
+ \p{InEnclosedIdeographicSup}) (256)
\p{Enclosing_Mark} \p{General_Category=Enclosing_Mark}
(Short: \p{Me}) (12)
\p{Ethi} \p{Ethiopic} (= \p{Script=Ethiopic}) (NOT
\p{Block=Ethiopic}) (495)
\p{Ethiopic} \p{Script=Ethiopic} (Short: \p{Ethi}; NOT
\p{Block=Ethiopic}) (495)
- X \p{Ethiopic_Extended} \p{Block=Ethiopic_Extended} (96)
- X \p{Ethiopic_Extended_A} \p{Block=Ethiopic_Extended_A} (48)
- X \p{Ethiopic_Supplement} \p{Block=Ethiopic_Supplement} (32)
- \p{Ext} \p{Extender} (= \p{Extender=Y}) (28)
+ X \p{Ethiopic_Ext} \p{Ethiopic_Extended} (= \p{Block=
+ Ethiopic_Extended}) (96)
+ X \p{Ethiopic_Ext_A} \p{Ethiopic_Extended_A} (= \p{Block=
+ Ethiopic_Extended_A}) (48)
+ X \p{Ethiopic_Extended} \p{Block=Ethiopic_Extended} (Short:
+ \p{InEthiopicExt}) (96)
+ X \p{Ethiopic_Extended_A} \p{Block=Ethiopic_Extended_A} (Short:
+ \p{InEthiopicExtA}) (48)
+ X \p{Ethiopic_Sup} \p{Ethiopic_Supplement} (= \p{Block=
+ Ethiopic_Supplement}) (32)
+ X \p{Ethiopic_Supplement} \p{Block=Ethiopic_Supplement} (Short:
+ \p{InEthiopicSup}) (32)
+ \p{Ext} \p{Extender} (= \p{Extender=Y}) (31)
\p{Ext: *} \p{Extender: *}
- \p{Extender} \p{Extender=Y} (Short: \p{Ext}) (28)
- \p{Extender: N*} (Short: \p{Ext=N}, \P{Ext}) (1_114_084)
- \p{Extender: Y*} (Short: \p{Ext=Y}, \p{Ext}) (28)
+ \p{Extender} \p{Extender=Y} (Short: \p{Ext}) (31)
+ \p{Extender: N*} (Short: \p{Ext=N}, \P{Ext}) (1_114_081)
+ \p{Extender: Y*} (Short: \p{Ext=Y}, \p{Ext}) (31)
\p{Final_Punctuation} \p{General_Category=Final_Punctuation}
(Short: \p{Pf}) (10)
\p{Format} \p{General_Category=Format} (Short:
- \p{Cf}) (140)
+ \p{Cf}) (139)
\p{Full_Composition_Exclusion} \p{Full_Composition_Exclusion=Y}
- (Short: \p{CompEx}) (1118)
+ (Short: \p{CompEx}) (1120)
\p{Full_Composition_Exclusion: N*} (Short: \p{CompEx=N},
- \P{CompEx}) (1_112_994)
+ \P{CompEx}) (1_112_992)
\p{Full_Composition_Exclusion: Y*} (Short: \p{CompEx=Y},
- \p{CompEx}) (1118)
+ \p{CompEx}) (1120)
\p{Gc: *} \p{General_Category: *}
\p{GCB: *} \p{Grapheme_Cluster_Break: *}
- \p{General_Category: C} \p{General_Category=Other} (1_004_868)
+ \p{General_Category: C} \p{General_Category=Other} (1_004_135)
\p{General_Category: Cased_Letter} [\p{Ll}\p{Lu}\p{Lt}] (Short:
- \p{Gc=LC}, \p{LC}) (3226)
+ \p{Gc=LC}, \p{LC}) (3223)
\p{General_Category: Cc} \p{General_Category=Control} (65)
- \p{General_Category: Cf} \p{General_Category=Format} (140)
+ \p{General_Category: Cf} \p{General_Category=Format} (139)
\p{General_Category: Close_Punctuation} (Short: \p{Gc=Pe}, \p{Pe})
(71)
- \p{General_Category: Cn} \p{General_Category=Unassigned} (865_147)
+ \p{General_Category: Cn} \p{General_Category=Unassigned} (864_415)
\p{General_Category: Cntrl} \p{General_Category=Control} (65)
\p{General_Category: Co} \p{General_Category=Private_Use} (137_468)
+ \p{General_Category: Combining_Mark} \p{General_Category=Mark}
+ (1645)
\p{General_Category: Connector_Punctuation} (Short: \p{Gc=Pc},
\p{Pc}) (10)
\p{General_Category: Control} (Short: \p{Gc=Cc}, \p{Cc}) (65)
\p{General_Category: Cs} \p{General_Category=Surrogate} (2048)
\p{General_Category: Currency_Symbol} (Short: \p{Gc=Sc}, \p{Sc})
- (47)
+ (48)
\p{General_Category: Dash_Punctuation} (Short: \p{Gc=Pd}, \p{Pd})
- (21)
+ (23)
\p{General_Category: Decimal_Number} (Short: \p{Gc=Nd}, \p{Nd})
- (420)
+ (460)
\p{General_Category: Digit} \p{General_Category=Decimal_Number}
- (420)
+ (460)
\p{General_Category: Enclosing_Mark} (Short: \p{Gc=Me}, \p{Me})
(12)
\p{General_Category: Final_Punctuation} (Short: \p{Gc=Pf}, \p{Pf})
(10)
- \p{General_Category: Format} (Short: \p{Gc=Cf}, \p{Cf}) (140)
+ \p{General_Category: Format} (Short: \p{Gc=Cf}, \p{Cf}) (139)
\p{General_Category: Initial_Punctuation} (Short: \p{Gc=Pi},
\p{Pi}) (12)
- \p{General_Category: L} \p{General_Category=Letter} (100_520)
- X \p{General_Category: L&} \p{General_Category=Cased_Letter} (3226)
- X \p{General_Category: L_} \p{General_Category=Cased_Letter} (3226)
- \p{General_Category: LC} \p{General_Category=Cased_Letter} (3226)
- \p{General_Category: Letter} (Short: \p{Gc=L}, \p{L}) (100_520)
+ \p{General_Category: L} \p{General_Category=Letter} (101_013)
+ X \p{General_Category: L&} \p{General_Category=Cased_Letter} (3223)
+ X \p{General_Category: L_} \p{General_Category=Cased_Letter} Note
+ the trailing '_' matters in spite of
+ loose matching rules. (3223)
+ \p{General_Category: LC} \p{General_Category=Cased_Letter} (3223)
+ \p{General_Category: Letter} (Short: \p{Gc=L}, \p{L}) (101_013)
\p{General_Category: Letter_Number} (Short: \p{Gc=Nl}, \p{Nl})
(224)
\p{General_Category: Line_Separator} (Short: \p{Gc=Zl}, \p{Zl}) (1)
\p{General_Category: Ll} \p{General_Category=Lowercase_Letter}
(/i= General_Category=Cased_Letter)
- (1759)
- \p{General_Category: Lm} \p{General_Category=Modifier_Letter} (210)
- \p{General_Category: Lo} \p{General_Category=Other_Letter} (97_084)
+ (1751)
+ \p{General_Category: Lm} \p{General_Category=Modifier_Letter} (237)
+ \p{General_Category: Lo} \p{General_Category=Other_Letter} (97_553)
\p{General_Category: Lowercase_Letter} (Short: \p{Gc=Ll}, \p{Ll};
- /i= General_Category=Cased_Letter) (1759)
+ /i= General_Category=Cased_Letter) (1751)
\p{General_Category: Lt} \p{General_Category=Titlecase_Letter}
(/i= General_Category=Cased_Letter) (31)
\p{General_Category: Lu} \p{General_Category=Uppercase_Letter}
(/i= General_Category=Cased_Letter)
- (1436)
- \p{General_Category: M} \p{General_Category=Mark} (1498)
- \p{General_Category: Mark} (Short: \p{Gc=M}, \p{M}) (1498)
- \p{General_Category: Math_Symbol} (Short: \p{Gc=Sm}, \p{Sm}) (948)
- \p{General_Category: Mc} \p{General_Category=Spacing_Mark} (287)
+ (1441)
+ \p{General_Category: M} \p{General_Category=Mark} (1645)
+ \p{General_Category: Mark} (Short: \p{Gc=M}, \p{M}) (1645)
+ \p{General_Category: Math_Symbol} (Short: \p{Gc=Sm}, \p{Sm}) (952)
+ \p{General_Category: Mc} \p{General_Category=Spacing_Mark} (353)
\p{General_Category: Me} \p{General_Category=Enclosing_Mark} (12)
\p{General_Category: Mn} \p{General_Category=Nonspacing_Mark}
- (1199)
+ (1280)
\p{General_Category: Modifier_Letter} (Short: \p{Gc=Lm}, \p{Lm})
- (210)
+ (237)
\p{General_Category: Modifier_Symbol} (Short: \p{Gc=Sk}, \p{Sk})
(115)
- \p{General_Category: N} \p{General_Category=Number} (1100)
- \p{General_Category: Nd} \p{General_Category=Decimal_Number} (420)
+ \p{General_Category: N} \p{General_Category=Number} (1148)
+ \p{General_Category: Nd} \p{General_Category=Decimal_Number} (460)
\p{General_Category: Nl} \p{General_Category=Letter_Number} (224)
- \p{General_Category: No} \p{General_Category=Other_Number} (456)
+ \p{General_Category: No} \p{General_Category=Other_Number} (464)
\p{General_Category: Nonspacing_Mark} (Short: \p{Gc=Mn}, \p{Mn})
- (1199)
- \p{General_Category: Number} (Short: \p{Gc=N}, \p{N}) (1100)
+ (1280)
+ \p{General_Category: Number} (Short: \p{Gc=N}, \p{N}) (1148)
\p{General_Category: Open_Punctuation} (Short: \p{Gc=Ps}, \p{Ps})
(72)
- \p{General_Category: Other} (Short: \p{Gc=C}, \p{C}) (1_004_868)
+ \p{General_Category: Other} (Short: \p{Gc=C}, \p{C}) (1_004_135)
\p{General_Category: Other_Letter} (Short: \p{Gc=Lo}, \p{Lo})
- (97_084)
- \p{General_Category: Other_Number} (Short: \p{Gc=No}, \p{No}) (456)
+ (97_553)
+ \p{General_Category: Other_Number} (Short: \p{Gc=No}, \p{No}) (464)
\p{General_Category: Other_Punctuation} (Short: \p{Gc=Po}, \p{Po})
- (402)
+ (434)
\p{General_Category: Other_Symbol} (Short: \p{Gc=So}, \p{So})
- (4398)
- \p{General_Category: P} \p{General_Category=Punctuation} (598)
+ (4404)
+ \p{General_Category: P} \p{General_Category=Punctuation} (632)
\p{General_Category: Paragraph_Separator} (Short: \p{Gc=Zp},
\p{Zp}) (1)
\p{General_Category: Pc} \p{General_Category=
Connector_Punctuation} (10)
- \p{General_Category: Pd} \p{General_Category=Dash_Punctuation} (21)
+ \p{General_Category: Pd} \p{General_Category=Dash_Punctuation} (23)
\p{General_Category: Pe} \p{General_Category=Close_Punctuation}
(71)
\p{General_Category: Pf} \p{General_Category=Final_Punctuation}
@@ -1376,41 +1848,45 @@ this property.
\p{General_Category: Pi} \p{General_Category=Initial_Punctuation}
(12)
\p{General_Category: Po} \p{General_Category=Other_Punctuation}
- (402)
+ (434)
\p{General_Category: Private_Use} (Short: \p{Gc=Co}, \p{Co})
(137_468)
\p{General_Category: Ps} \p{General_Category=Open_Punctuation} (72)
- \p{General_Category: Punct} \p{General_Category=Punctuation} (598)
- \p{General_Category: Punctuation} (Short: \p{Gc=P}, \p{P}) (598)
- \p{General_Category: S} \p{General_Category=Symbol} (5508)
- \p{General_Category: Sc} \p{General_Category=Currency_Symbol} (47)
+ \p{General_Category: Punct} \p{General_Category=Punctuation} (632)
+ \p{General_Category: Punctuation} (Short: \p{Gc=P}, \p{P}) (632)
+ \p{General_Category: S} \p{General_Category=Symbol} (5519)
+ \p{General_Category: Sc} \p{General_Category=Currency_Symbol} (48)
\p{General_Category: Separator} (Short: \p{Gc=Z}, \p{Z}) (20)
\p{General_Category: Sk} \p{General_Category=Modifier_Symbol} (115)
- \p{General_Category: Sm} \p{General_Category=Math_Symbol} (948)
- \p{General_Category: So} \p{General_Category=Other_Symbol} (4398)
+ \p{General_Category: Sm} \p{General_Category=Math_Symbol} (952)
+ \p{General_Category: So} \p{General_Category=Other_Symbol} (4404)
\p{General_Category: Space_Separator} (Short: \p{Gc=Zs}, \p{Zs})
(18)
- \p{General_Category: Spacing_Mark} (Short: \p{Gc=Mc}, \p{Mc}) (287)
+ \p{General_Category: Spacing_Mark} (Short: \p{Gc=Mc}, \p{Mc}) (353)
\p{General_Category: Surrogate} (Short: \p{Gc=Cs}, \p{Cs}) (2048)
- \p{General_Category: Symbol} (Short: \p{Gc=S}, \p{S}) (5508)
+ \p{General_Category: Symbol} (Short: \p{Gc=S}, \p{S}) (5519)
\p{General_Category: Titlecase_Letter} (Short: \p{Gc=Lt}, \p{Lt};
/i= General_Category=Cased_Letter) (31)
\p{General_Category: Unassigned} (Short: \p{Gc=Cn}, \p{Cn})
- (865_147)
+ (864_415)
\p{General_Category: Uppercase_Letter} (Short: \p{Gc=Lu}, \p{Lu};
- /i= General_Category=Cased_Letter) (1436)
+ /i= General_Category=Cased_Letter) (1441)
\p{General_Category: Z} \p{General_Category=Separator} (20)
\p{General_Category: Zl} \p{General_Category=Line_Separator} (1)
\p{General_Category: Zp} \p{General_Category=Paragraph_Separator}
(1)
\p{General_Category: Zs} \p{General_Category=Space_Separator} (18)
- X \p{General_Punctuation} \p{Block=General_Punctuation} (112)
+ X \p{General_Punctuation} \p{Block=General_Punctuation} (Short:
+ \p{InPunctuation}) (112)
X \p{Geometric_Shapes} \p{Block=Geometric_Shapes} (96)
\p{Geor} \p{Georgian} (= \p{Script=Georgian}) (NOT
- \p{Block=Georgian}) (120)
+ \p{Block=Georgian}) (127)
\p{Georgian} \p{Script=Georgian} (Short: \p{Geor}; NOT
- \p{Block=Georgian}) (120)
- X \p{Georgian_Supplement} \p{Block=Georgian_Supplement} (48)
+ \p{Block=Georgian}) (127)
+ X \p{Georgian_Sup} \p{Georgian_Supplement} (= \p{Block=
+ Georgian_Supplement}) (48)
+ X \p{Georgian_Supplement} \p{Block=Georgian_Supplement} (Short:
+ \p{InGeorgianSup}) (48)
\p{Glag} \p{Glagolitic} (= \p{Script=Glagolitic})
(NOT \p{Block=Glagolitic}) (94)
\p{Glagolitic} \p{Script=Glagolitic} (Short: \p{Glag};
@@ -1420,69 +1896,82 @@ this property.
\p{Gothic} \p{Script=Gothic} (Short: \p{Goth}; NOT
\p{Block=Gothic}) (27)
\p{Gr_Base} \p{Grapheme_Base} (= \p{Grapheme_Base=Y})
- (108_010)
+ (108_660)
\p{Gr_Base: *} \p{Grapheme_Base: *}
\p{Gr_Ext} \p{Grapheme_Extend} (= \p{Grapheme_Extend=
- Y}) (1234)
+ Y}) (1317)
\p{Gr_Ext: *} \p{Grapheme_Extend: *}
- \p{Graph} Characters that are graphical (246_832)
+ \p{Graph} Characters that are graphical (247_564)
\p{Grapheme_Base} \p{Grapheme_Base=Y} (Short: \p{GrBase})
- (108_010)
+ (108_660)
\p{Grapheme_Base: N*} (Short: \p{GrBase=N}, \P{GrBase})
- (1_006_102)
- \p{Grapheme_Base: Y*} (Short: \p{GrBase=Y}, \p{GrBase}) (108_010)
+ (1_005_452)
+ \p{Grapheme_Base: Y*} (Short: \p{GrBase=Y}, \p{GrBase}) (108_660)
\p{Grapheme_Cluster_Break: CN} \p{Grapheme_Cluster_Break=Control}
- (203)
- \p{Grapheme_Cluster_Break: Control} (Short: \p{GCB=CN}) (203)
+ (6023)
+ \p{Grapheme_Cluster_Break: Control} (Short: \p{GCB=CN}) (6023)
\p{Grapheme_Cluster_Break: CR} (Short: \p{GCB=CR}) (1)
\p{Grapheme_Cluster_Break: EX} \p{Grapheme_Cluster_Break=Extend}
- (1234)
- \p{Grapheme_Cluster_Break: Extend} (Short: \p{GCB=EX}) (1234)
+ (1317)
+ \p{Grapheme_Cluster_Break: Extend} (Short: \p{GCB=EX}) (1317)
\p{Grapheme_Cluster_Break: L} (Short: \p{GCB=L}) (125)
\p{Grapheme_Cluster_Break: LF} (Short: \p{GCB=LF}) (1)
\p{Grapheme_Cluster_Break: LV} (Short: \p{GCB=LV}) (399)
\p{Grapheme_Cluster_Break: LVT} (Short: \p{GCB=LVT}) (10_773)
- \p{Grapheme_Cluster_Break: Other} (Short: \p{GCB=XX}) (1_100_854)
+ \p{Grapheme_Cluster_Break: Other} (Short: \p{GCB=XX}) (1_094_950)
\p{Grapheme_Cluster_Break: PP} \p{Grapheme_Cluster_Break=Prepend}
- (15)
- \p{Grapheme_Cluster_Break: Prepend} (Short: \p{GCB=PP}) (15)
+ (0)
+ \p{Grapheme_Cluster_Break: Prepend} (Short: \p{GCB=PP}) (0)
\p{Grapheme_Cluster_Break: SM} \p{Grapheme_Cluster_Break=
- SpacingMark} (275)
- \p{Grapheme_Cluster_Break: SpacingMark} (Short: \p{GCB=SM}) (275)
+ SpacingMark} (291)
+ \p{Grapheme_Cluster_Break: SpacingMark} (Short: \p{GCB=SM}) (291)
\p{Grapheme_Cluster_Break: T} (Short: \p{GCB=T}) (137)
\p{Grapheme_Cluster_Break: V} (Short: \p{GCB=V}) (95)
\p{Grapheme_Cluster_Break: XX} \p{Grapheme_Cluster_Break=Other}
- (1_100_854)
+ (1_094_950)
\p{Grapheme_Extend} \p{Grapheme_Extend=Y} (Short: \p{GrExt})
- (1234)
- \p{Grapheme_Extend: N*} (Short: \p{GrExt=N}, \P{GrExt}) (1_112_878)
- \p{Grapheme_Extend: Y*} (Short: \p{GrExt=Y}, \p{GrExt}) (1234)
+ (1317)
+ \p{Grapheme_Extend: N*} (Short: \p{GrExt=N}, \P{GrExt}) (1_112_795)
+ \p{Grapheme_Extend: Y*} (Short: \p{GrExt=Y}, \p{GrExt}) (1317)
\p{Greek} \p{Script=Greek} (Short: \p{Grek}; NOT
\p{Greek_And_Coptic}) (511)
X \p{Greek_And_Coptic} \p{Block=Greek_And_Coptic} (Short:
\p{InGreek}) (144)
- X \p{Greek_Extended} \p{Block=Greek_Extended} (256)
+ X \p{Greek_Ext} \p{Greek_Extended} (= \p{Block=
+ Greek_Extended}) (256)
+ X \p{Greek_Extended} \p{Block=Greek_Extended} (Short:
+ \p{InGreekExt}) (256)
\p{Grek} \p{Greek} (= \p{Script=Greek}) (NOT
\p{Greek_And_Coptic}) (511)
\p{Gujarati} \p{Script=Gujarati} (Short: \p{Gujr}; NOT
- \p{Block=Gujarati}) (83)
+ \p{Block=Gujarati}) (84)
\p{Gujr} \p{Gujarati} (= \p{Script=Gujarati}) (NOT
- \p{Block=Gujarati}) (83)
+ \p{Block=Gujarati}) (84)
\p{Gurmukhi} \p{Script=Gurmukhi} (Short: \p{Guru}; NOT
\p{Block=Gurmukhi}) (79)
\p{Guru} \p{Gurmukhi} (= \p{Script=Gurmukhi}) (NOT
\p{Block=Gurmukhi}) (79)
+ X \p{Half_And_Full_Forms} \p{Halfwidth_And_Fullwidth_Forms} (=
+ \p{Block=Halfwidth_And_Fullwidth_Forms})
+ (240)
+ X \p{Half_Marks} \p{Combining_Half_Marks} (= \p{Block=
+ Combining_Half_Marks}) (16)
X \p{Halfwidth_And_Fullwidth_Forms} \p{Block=
- Halfwidth_And_Fullwidth_Forms} (240)
- \p{Han} \p{Script=Han} (75_960)
- \p{Hang} \p{Hangul} (= \p{Script=Hangul}) (11_739)
- \p{Hangul} \p{Script=Hangul} (Short: \p{Hang})
- (11_739)
+ Halfwidth_And_Fullwidth_Forms} (Short:
+ \p{InHalfAndFullForms}) (240)
+ \p{Han} \p{Script=Han} (75_963)
+ \p{Hang} \p{Hangul} (= \p{Script=Hangul}) (NOT
+ \p{Hangul_Syllables}) (11_739)
+ \p{Hangul} \p{Script=Hangul} (Short: \p{Hang}; NOT
+ \p{Hangul_Syllables}) (11_739)
X \p{Hangul_Compatibility_Jamo} \p{Block=Hangul_Compatibility_Jamo}
- (96)
- X \p{Hangul_Jamo} \p{Block=Hangul_Jamo} (256)
- X \p{Hangul_Jamo_Extended_A} \p{Block=Hangul_Jamo_Extended_A} (32)
- X \p{Hangul_Jamo_Extended_B} \p{Block=Hangul_Jamo_Extended_B} (80)
+ (Short: \p{InCompatJamo}) (96)
+ X \p{Hangul_Jamo} \p{Block=Hangul_Jamo} (Short: \p{InJamo})
+ (256)
+ X \p{Hangul_Jamo_Extended_A} \p{Block=Hangul_Jamo_Extended_A}
+ (Short: \p{InJamoExtA}) (32)
+ X \p{Hangul_Jamo_Extended_B} \p{Block=Hangul_Jamo_Extended_B}
+ (Short: \p{InJamoExtB}) (80)
\p{Hangul_Syllable_Type: L} \p{Hangul_Syllable_Type=Leading_Jamo}
(125)
\p{Hangul_Syllable_Type: Leading_Jamo} (Short: \p{Hst=L}) (125)
@@ -1503,8 +1992,9 @@ this property.
\p{Hangul_Syllable_Type: V} \p{Hangul_Syllable_Type=Vowel_Jamo}
(95)
\p{Hangul_Syllable_Type: Vowel_Jamo} (Short: \p{Hst=V}) (95)
- X \p{Hangul_Syllables} \p{Block=Hangul_Syllables} (11_184)
- \p{Hani} \p{Han} (= \p{Script=Han}) (75_960)
+ X \p{Hangul_Syllables} \p{Block=Hangul_Syllables} (Short:
+ \p{InHangul}) (11_184)
+ \p{Hani} \p{Han} (= \p{Script=Han}) (75_963)
\p{Hano} \p{Hanunoo} (= \p{Script=Hanunoo}) (NOT
\p{Block=Hanunoo}) (21)
\p{Hanunoo} \p{Script=Hanunoo} (Short: \p{Hano}; NOT
@@ -1519,7 +2009,11 @@ this property.
\p{Hex_Digit: N*} (Short: \p{Hex=N}, \P{Hex}) (1_114_068)
\p{Hex_Digit: Y*} (Short: \p{Hex=Y}, \p{Hex}) (44)
X \p{High_Private_Use_Surrogates} \p{Block=
- High_Private_Use_Surrogates} (128)
+ High_Private_Use_Surrogates} (Short:
+ \p{InHighPUSurrogates}) (128)
+ X \p{High_PU_Surrogates} \p{High_Private_Use_Surrogates} (=
+ \p{Block=High_Private_Use_Surrogates})
+ (128)
X \p{High_Surrogates} \p{Block=High_Surrogates} (896)
\p{Hira} \p{Hiragana} (= \p{Script=Hiragana}) (NOT
\p{Block=Hiragana}) (91)
@@ -1534,26 +2028,29 @@ this property.
D \p{Hyphen: Y*} Supplanted by Line_Break property values;
see www.unicode.org/reports/tr14
(Single: \p{Hyphen}) (11)
- \p{ID_Continue} \p{ID_Continue=Y} (Short: \p{IDC})
- (102_675)
- \p{ID_Continue: N*} (Short: \p{IDC=N}, \P{IDC}) (1_011_437)
- \p{ID_Continue: Y*} (Short: \p{IDC=Y}, \p{IDC}) (102_675)
- \p{ID_Start} \p{ID_Start=Y} (Short: \p{IDS}) (100_747)
- \p{ID_Start: N*} (Short: \p{IDS=N}, \P{IDS}) (1_013_365)
- \p{ID_Start: Y*} (Short: \p{IDS=Y}, \p{IDS}) (100_747)
- \p{IDC} \p{ID_Continue} (= \p{ID_Continue=Y})
- (102_675)
+ \p{ID_Continue} \p{ID_Continue=Y} (Short: \p{IDC}; NOT
+ \p{Ideographic_Description_Characters})
+ (103_355)
+ \p{ID_Continue: N*} (Short: \p{IDC=N}, \P{IDC}) (1_010_757)
+ \p{ID_Continue: Y*} (Short: \p{IDC=Y}, \p{IDC}) (103_355)
+ \p{ID_Start} \p{ID_Start=Y} (Short: \p{IDS}) (101_240)
+ \p{ID_Start: N*} (Short: \p{IDS=N}, \P{IDS}) (1_012_872)
+ \p{ID_Start: Y*} (Short: \p{IDS=Y}, \p{IDS}) (101_240)
+ \p{IDC} \p{ID_Continue} (= \p{ID_Continue=Y}) (NOT
+ \p{Ideographic_Description_Characters})
+ (103_355)
\p{IDC: *} \p{ID_Continue: *}
\p{Ideo} \p{Ideographic} (= \p{Ideographic=Y})
- (75_630)
+ (75_633)
\p{Ideo: *} \p{Ideographic: *}
\p{Ideographic} \p{Ideographic=Y} (Short: \p{Ideo})
- (75_630)
- \p{Ideographic: N*} (Short: \p{Ideo=N}, \P{Ideo}) (1_038_482)
- \p{Ideographic: Y*} (Short: \p{Ideo=Y}, \p{Ideo}) (75_630)
+ (75_633)
+ \p{Ideographic: N*} (Short: \p{Ideo=N}, \P{Ideo}) (1_038_479)
+ \p{Ideographic: Y*} (Short: \p{Ideo=Y}, \p{Ideo}) (75_633)
X \p{Ideographic_Description_Characters} \p{Block=
- Ideographic_Description_Characters} (16)
- \p{IDS} \p{ID_Start} (= \p{ID_Start=Y}) (100_747)
+ Ideographic_Description_Characters}
+ (Short: \p{InIDC}) (16)
+ \p{IDS} \p{ID_Start} (= \p{ID_Start=Y}) (101_240)
\p{IDS: *} \p{ID_Start: *}
\p{IDS_Binary_Operator} \p{IDS_Binary_Operator=Y} (Short:
\p{IDSB}) (10)
@@ -1576,8 +2073,10 @@ this property.
Imperial_Aramaic}) (31)
\p{In: *} \p{Present_In: *} (Perl extension)
\p{In_*} \p{Block: *}
+ X \p{Indic_Number_Forms} \p{Common_Indic_Number_Forms} (= \p{Block=
+ Common_Indic_Number_Forms}) (16)
\p{Inherited} \p{Script=Inherited} (Short: \p{Zinh})
- (523)
+ (524)
\p{Initial_Punctuation} \p{General_Category=Initial_Punctuation}
(Short: \p{Pi}) (12)
\p{Inscriptional_Pahlavi} \p{Script=Inscriptional_Pahlavi} (Short:
@@ -1586,14 +2085,23 @@ this property.
\p{Inscriptional_Parthian} \p{Script=Inscriptional_Parthian}
(Short: \p{Prti}; NOT \p{Block=
Inscriptional_Parthian}) (30)
- X \p{IPA_Extensions} \p{Block=IPA_Extensions} (96)
+ X \p{IPA_Ext} \p{IPA_Extensions} (= \p{Block=
+ IPA_Extensions}) (96)
+ X \p{IPA_Extensions} \p{Block=IPA_Extensions} (Short:
+ \p{InIPAExt}) (96)
\p{Is_*} \p{*} (Any exceptions are individually
noted beginning with the word NOT.) If
an entry has flag(s) at its beginning,
- like 'D', the 'Is_' form has the same
+ like "D", the "Is_" form has the same
flag(s)
\p{Ital} \p{Old_Italic} (= \p{Script=Old_Italic})
(NOT \p{Block=Old_Italic}) (35)
+ X \p{Jamo} \p{Hangul_Jamo} (= \p{Block=Hangul_Jamo})
+ (256)
+ X \p{Jamo_Ext_A} \p{Hangul_Jamo_Extended_A} (= \p{Block=
+ Hangul_Jamo_Extended_A}) (32)
+ X \p{Jamo_Ext_B} \p{Hangul_Jamo_Extended_B} (= \p{Block=
+ Hangul_Jamo_Extended_B}) (80)
\p{Java} \p{Javanese} (= \p{Script=Javanese}) (NOT
\p{Block=Javanese}) (91)
\p{Javanese} \p{Script=Javanese} (Short: \p{Java}; NOT
@@ -1607,7 +2115,7 @@ this property.
\p{Joining_Group: Ain} (Short: \p{Jg=Ain}) (7)
\p{Joining_Group: Alaph} (Short: \p{Jg=Alaph}) (1)
\p{Joining_Group: Alef} (Short: \p{Jg=Alef}) (10)
- \p{Joining_Group: Beh} (Short: \p{Jg=Beh}) (19)
+ \p{Joining_Group: Beh} (Short: \p{Jg=Beh}) (20)
\p{Joining_Group: Beth} (Short: \p{Jg=Beth}) (2)
\p{Joining_Group: Burushaski_Yeh_Barree} (Short: \p{Jg=
BurushaskiYehBarree}) (2)
@@ -1616,13 +2124,13 @@ this property.
\p{Joining_Group: E} (Short: \p{Jg=E}) (1)
\p{Joining_Group: Farsi_Yeh} (Short: \p{Jg=FarsiYeh}) (7)
\p{Joining_Group: Fe} (Short: \p{Jg=Fe}) (1)
- \p{Joining_Group: Feh} (Short: \p{Jg=Feh}) (9)
+ \p{Joining_Group: Feh} (Short: \p{Jg=Feh}) (10)
\p{Joining_Group: Final_Semkath} (Short: \p{Jg=FinalSemkath}) (1)
\p{Joining_Group: Gaf} (Short: \p{Jg=Gaf}) (13)
\p{Joining_Group: Gamal} (Short: \p{Jg=Gamal}) (3)
- \p{Joining_Group: Hah} (Short: \p{Jg=Hah}) (17)
- \p{Joining_Group: Hamza_On_Heh_Goal} \p{Joining_Group=
- Teh_Marbuta_Goal} (1)
+ \p{Joining_Group: Hah} (Short: \p{Jg=Hah}) (18)
+ \p{Joining_Group: Hamza_On_Heh_Goal} (Short: \p{Jg=
+ HamzaOnHehGoal}) (1)
\p{Joining_Group: He} (Short: \p{Jg=He}) (1)
\p{Joining_Group: Heh} (Short: \p{Jg=Heh}) (1)
\p{Joining_Group: Heh_Goal} (Short: \p{Jg=HehGoal}) (2)
@@ -1631,20 +2139,21 @@ this property.
\p{Joining_Group: Kaph} (Short: \p{Jg=Kaph}) (1)
\p{Joining_Group: Khaph} (Short: \p{Jg=Khaph}) (1)
\p{Joining_Group: Knotted_Heh} (Short: \p{Jg=KnottedHeh}) (2)
- \p{Joining_Group: Lam} (Short: \p{Jg=Lam}) (6)
+ \p{Joining_Group: Lam} (Short: \p{Jg=Lam}) (7)
\p{Joining_Group: Lamadh} (Short: \p{Jg=Lamadh}) (1)
- \p{Joining_Group: Meem} (Short: \p{Jg=Meem}) (3)
+ \p{Joining_Group: Meem} (Short: \p{Jg=Meem}) (4)
\p{Joining_Group: Mim} (Short: \p{Jg=Mim}) (1)
\p{Joining_Group: No_Joining_Group} (Short: \p{Jg=NoJoiningGroup})
- (1_113_882)
+ (1_113_870)
\p{Joining_Group: Noon} (Short: \p{Jg=Noon}) (8)
\p{Joining_Group: Nun} (Short: \p{Jg=Nun}) (1)
\p{Joining_Group: Nya} (Short: \p{Jg=Nya}) (1)
\p{Joining_Group: Pe} (Short: \p{Jg=Pe}) (1)
- \p{Joining_Group: Qaf} (Short: \p{Jg=Qaf}) (4)
+ \p{Joining_Group: Qaf} (Short: \p{Jg=Qaf}) (5)
\p{Joining_Group: Qaph} (Short: \p{Jg=Qaph}) (1)
- \p{Joining_Group: Reh} (Short: \p{Jg=Reh}) (16)
+ \p{Joining_Group: Reh} (Short: \p{Jg=Reh}) (17)
\p{Joining_Group: Reversed_Pe} (Short: \p{Jg=ReversedPe}) (1)
+ \p{Joining_Group: Rohingya_Yeh} (Short: \p{Jg=RohingyaYeh}) (1)
\p{Joining_Group: Sad} (Short: \p{Jg=Sad}) (5)
\p{Joining_Group: Sadhe} (Short: \p{Jg=Sadhe}) (1)
\p{Joining_Group: Seen} (Short: \p{Jg=Seen}) (11)
@@ -1652,14 +2161,14 @@ this property.
\p{Joining_Group: Shin} (Short: \p{Jg=Shin}) (1)
\p{Joining_Group: Swash_Kaf} (Short: \p{Jg=SwashKaf}) (1)
\p{Joining_Group: Syriac_Waw} (Short: \p{Jg=SyriacWaw}) (1)
- \p{Joining_Group: Tah} (Short: \p{Jg=Tah}) (3)
+ \p{Joining_Group: Tah} (Short: \p{Jg=Tah}) (4)
\p{Joining_Group: Taw} (Short: \p{Jg=Taw}) (1)
\p{Joining_Group: Teh_Marbuta} (Short: \p{Jg=TehMarbuta}) (3)
- \p{Joining_Group: Teh_Marbuta_Goal} (Short: \p{Jg=TehMarbutaGoal})
- (1)
+ \p{Joining_Group: Teh_Marbuta_Goal} \p{Joining_Group=
+ Hamza_On_Heh_Goal} (1)
\p{Joining_Group: Teth} (Short: \p{Jg=Teth}) (2)
- \p{Joining_Group: Waw} (Short: \p{Jg=Waw}) (15)
- \p{Joining_Group: Yeh} (Short: \p{Jg=Yeh}) (8)
+ \p{Joining_Group: Waw} (Short: \p{Jg=Waw}) (16)
+ \p{Joining_Group: Yeh} (Short: \p{Jg=Yeh}) (10)
\p{Joining_Group: Yeh_Barree} (Short: \p{Jg=YehBarree}) (2)
\p{Joining_Group: Yeh_With_Tail} (Short: \p{Jg=YehWithTail}) (1)
\p{Joining_Group: Yudh} (Short: \p{Jg=Yudh}) (1)
@@ -1667,32 +2176,42 @@ this property.
\p{Joining_Group: Zain} (Short: \p{Jg=Zain}) (1)
\p{Joining_Group: Zhain} (Short: \p{Jg=Zhain}) (1)
\p{Joining_Type: C} \p{Joining_Type=Join_Causing} (3)
- \p{Joining_Type: D} \p{Joining_Type=Dual_Joining} (189)
- \p{Joining_Type: Dual_Joining} (Short: \p{Jt=D}) (189)
+ \p{Joining_Type: D} \p{Joining_Type=Dual_Joining} (215)
+ \p{Joining_Type: Dual_Joining} (Short: \p{Jt=D}) (215)
\p{Joining_Type: Join_Causing} (Short: \p{Jt=C}) (3)
\p{Joining_Type: L} \p{Joining_Type=Left_Joining} (0)
\p{Joining_Type: Left_Joining} (Short: \p{Jt=L}) (0)
- \p{Joining_Type: Non_Joining} (Short: \p{Jt=U}) (1_112_502)
- \p{Joining_Type: R} \p{Joining_Type=Right_Joining} (74)
- \p{Joining_Type: Right_Joining} (Short: \p{Jt=R}) (74)
- \p{Joining_Type: T} \p{Joining_Type=Transparent} (1344)
- \p{Joining_Type: Transparent} (Short: \p{Jt=T}) (1344)
- \p{Joining_Type: U} \p{Joining_Type=Non_Joining} (1_112_502)
+ \p{Joining_Type: Non_Joining} (Short: \p{Jt=U}) (1_112_389)
+ \p{Joining_Type: R} \p{Joining_Type=Right_Joining} (82)
+ \p{Joining_Type: Right_Joining} (Short: \p{Jt=R}) (82)
+ \p{Joining_Type: T} \p{Joining_Type=Transparent} (1423)
+ \p{Joining_Type: Transparent} (Short: \p{Jt=T}) (1423)
+ \p{Joining_Type: U} \p{Joining_Type=Non_Joining} (1_112_389)
\p{Jt: *} \p{Joining_Type: *}
\p{Kaithi} \p{Script=Kaithi} (Short: \p{Kthi}; NOT
\p{Block=Kaithi}) (66)
\p{Kali} \p{Kayah_Li} (= \p{Script=Kayah_Li}) (48)
\p{Kana} \p{Katakana} (= \p{Script=Katakana}) (NOT
\p{Block=Katakana}) (300)
- X \p{Kana_Supplement} \p{Block=Kana_Supplement} (256)
+ X \p{Kana_Sup} \p{Kana_Supplement} (= \p{Block=
+ Kana_Supplement}) (256)
+ X \p{Kana_Supplement} \p{Block=Kana_Supplement} (Short:
+ \p{InKanaSup}) (256)
X \p{Kanbun} \p{Block=Kanbun} (16)
- X \p{Kangxi_Radicals} \p{Block=Kangxi_Radicals} (224)
+ X \p{Kangxi} \p{Kangxi_Radicals} (= \p{Block=
+ Kangxi_Radicals}) (224)
+ X \p{Kangxi_Radicals} \p{Block=Kangxi_Radicals} (Short:
+ \p{InKangxi}) (224)
\p{Kannada} \p{Script=Kannada} (Short: \p{Knda}; NOT
\p{Block=Kannada}) (86)
\p{Katakana} \p{Script=Katakana} (Short: \p{Kana}; NOT
\p{Block=Katakana}) (300)
+ X \p{Katakana_Ext} \p{Katakana_Phonetic_Extensions} (=
+ \p{Block=Katakana_Phonetic_Extensions})
+ (16)
X \p{Katakana_Phonetic_Extensions} \p{Block=
- Katakana_Phonetic_Extensions} (16)
+ Katakana_Phonetic_Extensions} (Short:
+ \p{InKatakanaExt}) (16)
\p{Kayah_Li} \p{Script=Kayah_Li} (Short: \p{Kali}) (48)
\p{Khar} \p{Kharoshthi} (= \p{Script=Kharoshthi})
(NOT \p{Block=Kharoshthi}) (65)
@@ -1708,37 +2227,56 @@ this property.
\p{Kthi} \p{Kaithi} (= \p{Script=Kaithi}) (NOT
\p{Block=Kaithi}) (66)
\p{L} \p{Letter} (= \p{General_Category=Letter})
- (100_520)
- \p{L&} \p{Cased_Letter} (= \p{General_Category=
- Cased_Letter}) (3226)
- \p{L_} \p{Cased_Letter} (= \p{General_Category=
- Cased_Letter}) (3226)
+ (101_013)
+ X \p{L&} \p{Cased_Letter} (= \p{General_Category=
+ Cased_Letter}) (3223)
+ X \p{L_} \p{Cased_Letter} (= \p{General_Category=
+ Cased_Letter}) Note the trailing '_'
+ matters in spite of loose matching
+ rules. (3223)
\p{Lana} \p{Tai_Tham} (= \p{Script=Tai_Tham}) (NOT
\p{Block=Tai_Tham}) (127)
- \p{Lao} \p{Script=Lao} (NOT \p{Block=Lao}) (65)
+ \p{Lao} \p{Script=Lao} (NOT \p{Block=Lao}) (67)
\p{Laoo} \p{Lao} (= \p{Script=Lao}) (NOT \p{Block=
- Lao}) (65)
- \p{Latin} \p{Script=Latin} (Short: \p{Latn}) (1267)
+ Lao}) (67)
+ \p{Latin} \p{Script=Latin} (Short: \p{Latn}) (1272)
X \p{Latin_1} \p{Latin_1_Supplement} (= \p{Block=
Latin_1_Supplement}) (128)
+ X \p{Latin_1_Sup} \p{Latin_1_Supplement} (= \p{Block=
+ Latin_1_Supplement}) (128)
X \p{Latin_1_Supplement} \p{Block=Latin_1_Supplement} (Short:
\p{InLatin1}) (128)
- X \p{Latin_Extended_A} \p{Block=Latin_Extended_A} (128)
- X \p{Latin_Extended_Additional} \p{Block=Latin_Extended_Additional}
+ X \p{Latin_Ext_A} \p{Latin_Extended_A} (= \p{Block=
+ Latin_Extended_A}) (128)
+ X \p{Latin_Ext_Additional} \p{Latin_Extended_Additional} (=
+ \p{Block=Latin_Extended_Additional})
(256)
- X \p{Latin_Extended_B} \p{Block=Latin_Extended_B} (208)
- X \p{Latin_Extended_C} \p{Block=Latin_Extended_C} (32)
- X \p{Latin_Extended_D} \p{Block=Latin_Extended_D} (224)
- \p{Latn} \p{Latin} (= \p{Script=Latin}) (1267)
+ X \p{Latin_Ext_B} \p{Latin_Extended_B} (= \p{Block=
+ Latin_Extended_B}) (208)
+ X \p{Latin_Ext_C} \p{Latin_Extended_C} (= \p{Block=
+ Latin_Extended_C}) (32)
+ X \p{Latin_Ext_D} \p{Latin_Extended_D} (= \p{Block=
+ Latin_Extended_D}) (224)
+ X \p{Latin_Extended_A} \p{Block=Latin_Extended_A} (Short:
+ \p{InLatinExtA}) (128)
+ X \p{Latin_Extended_Additional} \p{Block=Latin_Extended_Additional}
+ (Short: \p{InLatinExtAdditional}) (256)
+ X \p{Latin_Extended_B} \p{Block=Latin_Extended_B} (Short:
+ \p{InLatinExtB}) (208)
+ X \p{Latin_Extended_C} \p{Block=Latin_Extended_C} (Short:
+ \p{InLatinExtC}) (32)
+ X \p{Latin_Extended_D} \p{Block=Latin_Extended_D} (Short:
+ \p{InLatinExtD}) (224)
+ \p{Latn} \p{Latin} (= \p{Script=Latin}) (1272)
\p{Lb: *} \p{Line_Break: *}
\p{LC} \p{Cased_Letter} (= \p{General_Category=
- Cased_Letter}) (3226)
+ Cased_Letter}) (3223)
\p{Lepc} \p{Lepcha} (= \p{Script=Lepcha}) (NOT
\p{Block=Lepcha}) (74)
\p{Lepcha} \p{Script=Lepcha} (Short: \p{Lepc}; NOT
\p{Block=Lepcha}) (74)
\p{Letter} \p{General_Category=Letter} (Short: \p{L})
- (100_520)
+ (101_013)
\p{Letter_Number} \p{General_Category=Letter_Number} (Short:
\p{Nl}) (224)
X \p{Letterlike_Symbols} \p{Block=Letterlike_Symbols} (80)
@@ -1748,25 +2286,29 @@ this property.
\p{Block=Limbu}) (66)
\p{Linb} \p{Linear_B} (= \p{Script=Linear_B}) (211)
\p{Line_Break: AI} \p{Line_Break=Ambiguous} (724)
- \p{Line_Break: AL} \p{Line_Break=Alphabetic} (15_797)
- \p{Line_Break: Alphabetic} (Short: \p{Lb=AL}) (15_797)
+ \p{Line_Break: AL} \p{Line_Break=Alphabetic} (16_251)
+ \p{Line_Break: Alphabetic} (Short: \p{Lb=AL}) (16_251)
\p{Line_Break: Ambiguous} (Short: \p{Lb=AI}) (724)
- \p{Line_Break: B2} \p{Line_Break=Break_Both} (1)
- \p{Line_Break: BA} \p{Line_Break=Break_After} (140)
+ \p{Line_Break: B2} \p{Line_Break=Break_Both} (3)
+ \p{Line_Break: BA} \p{Line_Break=Break_After} (151)
\p{Line_Break: BB} \p{Line_Break=Break_Before} (19)
\p{Line_Break: BK} \p{Line_Break=Mandatory_Break} (4)
- \p{Line_Break: Break_After} (Short: \p{Lb=BA}) (140)
+ \p{Line_Break: Break_After} (Short: \p{Lb=BA}) (151)
\p{Line_Break: Break_Before} (Short: \p{Lb=BB}) (19)
- \p{Line_Break: Break_Both} (Short: \p{Lb=B2}) (1)
+ \p{Line_Break: Break_Both} (Short: \p{Lb=B2}) (3)
\p{Line_Break: Break_Symbols} (Short: \p{Lb=SY}) (1)
\p{Line_Break: Carriage_Return} (Short: \p{Lb=CR}) (1)
\p{Line_Break: CB} \p{Line_Break=Contingent_Break} (1)
+ \p{Line_Break: CJ} \p{Line_Break=
+ Conditional_Japanese_Starter} (51)
\p{Line_Break: CL} \p{Line_Break=Close_Punctuation} (87)
\p{Line_Break: Close_Parenthesis} (Short: \p{Lb=CP}) (2)
\p{Line_Break: Close_Punctuation} (Short: \p{Lb=CL}) (87)
- \p{Line_Break: CM} \p{Line_Break=Combining_Mark} (1483)
- \p{Line_Break: Combining_Mark} (Short: \p{Lb=CM}) (1483)
- \p{Line_Break: Complex_Context} (Short: \p{Lb=SA}) (663)
+ \p{Line_Break: CM} \p{Line_Break=Combining_Mark} (1628)
+ \p{Line_Break: Combining_Mark} (Short: \p{Lb=CM}) (1628)
+ \p{Line_Break: Complex_Context} (Short: \p{Lb=SA}) (665)
+ \p{Line_Break: Conditional_Japanese_Starter} (Short: \p{Lb=CJ})
+ (51)
\p{Line_Break: Contingent_Break} (Short: \p{Lb=CB}) (1)
\p{Line_Break: CP} \p{Line_Break=Close_Parenthesis} (2)
\p{Line_Break: CR} \p{Line_Break=Carriage_Return} (1)
@@ -1776,6 +2318,8 @@ this property.
\p{Line_Break: Glue} (Short: \p{Lb=GL}) (18)
\p{Line_Break: H2} (Short: \p{Lb=H2}) (399)
\p{Line_Break: H3} (Short: \p{Lb=H3}) (10_773)
+ \p{Line_Break: Hebrew_Letter} (Short: \p{Lb=HL}) (74)
+ \p{Line_Break: HL} \p{Line_Break=Hebrew_Letter} (74)
\p{Line_Break: HY} \p{Line_Break=Hyphen} (1)
\p{Line_Break: Hyphen} (Short: \p{Lb=HY}) (1)
\p{Line_Break: ID} \p{Line_Break=Ideographic} (161_793)
@@ -1793,19 +2337,19 @@ this property.
\p{Line_Break: Mandatory_Break} (Short: \p{Lb=BK}) (4)
\p{Line_Break: Next_Line} (Short: \p{Lb=NL}) (1)
\p{Line_Break: NL} \p{Line_Break=Next_Line} (1)
- \p{Line_Break: Nonstarter} (Short: \p{Lb=NS}) (77)
- \p{Line_Break: NS} \p{Line_Break=Nonstarter} (77)
- \p{Line_Break: NU} \p{Line_Break=Numeric} (412)
- \p{Line_Break: Numeric} (Short: \p{Lb=NU}) (412)
+ \p{Line_Break: Nonstarter} (Short: \p{Lb=NS}) (26)
+ \p{Line_Break: NS} \p{Line_Break=Nonstarter} (26)
+ \p{Line_Break: NU} \p{Line_Break=Numeric} (452)
+ \p{Line_Break: Numeric} (Short: \p{Lb=NU}) (452)
\p{Line_Break: OP} \p{Line_Break=Open_Punctuation} (81)
\p{Line_Break: Open_Punctuation} (Short: \p{Lb=OP}) (81)
\p{Line_Break: PO} \p{Line_Break=Postfix_Numeric} (28)
\p{Line_Break: Postfix_Numeric} (Short: \p{Lb=PO}) (28)
- \p{Line_Break: PR} \p{Line_Break=Prefix_Numeric} (44)
- \p{Line_Break: Prefix_Numeric} (Short: \p{Lb=PR}) (44)
+ \p{Line_Break: PR} \p{Line_Break=Prefix_Numeric} (45)
+ \p{Line_Break: Prefix_Numeric} (Short: \p{Lb=PR}) (45)
\p{Line_Break: QU} \p{Line_Break=Quotation} (34)
\p{Line_Break: Quotation} (Short: \p{Lb=QU}) (34)
- \p{Line_Break: SA} \p{Line_Break=Complex_Context} (663)
+ \p{Line_Break: SA} \p{Line_Break=Complex_Context} (665)
D \p{Line_Break: SG} \p{Line_Break=Surrogate} (2048)
\p{Line_Break: SP} \p{Line_Break=Space} (1)
\p{Line_Break: Space} (Short: \p{Lb=SP}) (1)
@@ -1814,10 +2358,10 @@ this property.
and therefore shouldn't be the basis for
line breaking (Short: \p{Lb=SG}) (2048)
\p{Line_Break: SY} \p{Line_Break=Break_Symbols} (1)
- \p{Line_Break: Unknown} (Short: \p{Lb=XX}) (919_067)
+ \p{Line_Break: Unknown} (Short: \p{Lb=XX}) (918_338)
\p{Line_Break: WJ} \p{Line_Break=Word_Joiner} (2)
\p{Line_Break: Word_Joiner} (Short: \p{Lb=WJ}) (2)
- \p{Line_Break: XX} \p{Line_Break=Unknown} (919_067)
+ \p{Line_Break: XX} \p{Line_Break=Unknown} (918_338)
\p{Line_Break: ZW} \p{Line_Break=ZWSpace} (1)
\p{Line_Break: ZWSpace} (Short: \p{Lb=ZW}) (1)
\p{Line_Separator} \p{General_Category=Line_Separator}
@@ -1829,12 +2373,12 @@ this property.
\p{Ll} \p{Lowercase_Letter} (=
\p{General_Category=Lowercase_Letter})
(/i= General_Category=Cased_Letter)
- (1759)
+ (1751)
\p{Lm} \p{Modifier_Letter} (=
\p{General_Category=Modifier_Letter})
- (210)
+ (237)
\p{Lo} \p{Other_Letter} (= \p{General_Category=
- Other_Letter}) (97_084)
+ Other_Letter}) (97_553)
\p{LOE} \p{Logical_Order_Exception} (=
\p{Logical_Order_Exception=Y}) (15)
\p{LOE: *} \p{Logical_Order_Exception: *}
@@ -1844,24 +2388,24 @@ this property.
(1_114_097)
\p{Logical_Order_Exception: Y*} (Short: \p{LOE=Y}, \p{LOE}) (15)
X \p{Low_Surrogates} \p{Block=Low_Surrogates} (1024)
- \p{Lower} \p{Lowercase=Y} (/i= Cased=Yes) (1918)
+ \p{Lower} \p{Lowercase=Y} (/i= Cased=Yes) (1934)
\p{Lower: *} \p{Lowercase: *}
\p{Lowercase} \p{Lower} (= \p{Lowercase=Y}) (/i= Cased=
- Yes) (1918)
+ Yes) (1934)
\p{Lowercase: N*} (Short: \p{Lower=N}, \P{Lower}; /i= Cased=
- No) (1_112_194)
+ No) (1_112_178)
\p{Lowercase: Y*} (Short: \p{Lower=Y}, \p{Lower}; /i= Cased=
- Yes) (1918)
+ Yes) (1934)
\p{Lowercase_Letter} \p{General_Category=Lowercase_Letter}
(Short: \p{Ll}; /i= General_Category=
- Cased_Letter) (1759)
+ Cased_Letter) (1751)
\p{Lt} \p{Titlecase_Letter} (=
\p{General_Category=Titlecase_Letter})
(/i= General_Category=Cased_Letter) (31)
\p{Lu} \p{Uppercase_Letter} (=
\p{General_Category=Uppercase_Letter})
(/i= General_Category=Cased_Letter)
- (1436)
+ (1441)
\p{Lyci} \p{Lycian} (= \p{Script=Lycian}) (NOT
\p{Block=Lycian}) (29)
\p{Lycian} \p{Script=Lycian} (Short: \p{Lyci}; NOT
@@ -1871,8 +2415,11 @@ this property.
\p{Lydian} \p{Script=Lydian} (Short: \p{Lydi}; NOT
\p{Block=Lydian}) (27)
\p{M} \p{Mark} (= \p{General_Category=Mark})
- (1498)
- X \p{Mahjong_Tiles} \p{Block=Mahjong_Tiles} (48)
+ (1645)
+ X \p{Mahjong} \p{Mahjong_Tiles} (= \p{Block=
+ Mahjong_Tiles}) (48)
+ X \p{Mahjong_Tiles} \p{Block=Mahjong_Tiles} (Short:
+ \p{InMahjong}) (48)
\p{Malayalam} \p{Script=Malayalam} (Short: \p{Mlym}; NOT
\p{Block=Malayalam}) (98)
\p{Mand} \p{Mandaic} (= \p{Script=Mandaic}) (NOT
@@ -1880,41 +2427,88 @@ this property.
\p{Mandaic} \p{Script=Mandaic} (Short: \p{Mand}; NOT
\p{Block=Mandaic}) (29)
\p{Mark} \p{General_Category=Mark} (Short: \p{M})
- (1498)
- \p{Math} \p{Math=Y} (2165)
- \p{Math: N*} (Single: \P{Math}) (1_111_947)
- \p{Math: Y*} (Single: \p{Math}) (2165)
+ (1645)
+ \p{Math} \p{Math=Y} (2310)
+ \p{Math: N*} (Single: \P{Math}) (1_111_802)
+ \p{Math: Y*} (Single: \p{Math}) (2310)
+ X \p{Math_Alphanum} \p{Mathematical_Alphanumeric_Symbols} (=
+ \p{Block=
+ Mathematical_Alphanumeric_Symbols})
+ (1024)
+ X \p{Math_Operators} \p{Mathematical_Operators} (= \p{Block=
+ Mathematical_Operators}) (256)
\p{Math_Symbol} \p{General_Category=Math_Symbol} (Short:
- \p{Sm}) (948)
+ \p{Sm}) (952)
X \p{Mathematical_Alphanumeric_Symbols} \p{Block=
- Mathematical_Alphanumeric_Symbols} (1024)
- X \p{Mathematical_Operators} \p{Block=Mathematical_Operators} (256)
+ Mathematical_Alphanumeric_Symbols}
+ (Short: \p{InMathAlphanum}) (1024)
+ X \p{Mathematical_Operators} \p{Block=Mathematical_Operators}
+ (Short: \p{InMathOperators}) (256)
\p{Mc} \p{Spacing_Mark} (= \p{General_Category=
- Spacing_Mark}) (287)
+ Spacing_Mark}) (353)
\p{Me} \p{Enclosing_Mark} (= \p{General_Category=
Enclosing_Mark}) (12)
\p{Meetei_Mayek} \p{Script=Meetei_Mayek} (Short: \p{Mtei};
- NOT \p{Block=Meetei_Mayek}) (56)
+ NOT \p{Block=Meetei_Mayek}) (79)
+ X \p{Meetei_Mayek_Ext} \p{Meetei_Mayek_Extensions} (= \p{Block=
+ Meetei_Mayek_Extensions}) (32)
+ X \p{Meetei_Mayek_Extensions} \p{Block=Meetei_Mayek_Extensions}
+ (Short: \p{InMeeteiMayekExt}) (32)
+ \p{Merc} \p{Meroitic_Cursive} (= \p{Script=
+ Meroitic_Cursive}) (NOT \p{Block=
+ Meroitic_Cursive}) (26)
+ \p{Mero} \p{Meroitic_Hieroglyphs} (= \p{Script=
+ Meroitic_Hieroglyphs}) (32)
+ \p{Meroitic_Cursive} \p{Script=Meroitic_Cursive} (Short:
+ \p{Merc}; NOT \p{Block=
+ Meroitic_Cursive}) (26)
+ \p{Meroitic_Hieroglyphs} \p{Script=Meroitic_Hieroglyphs} (Short:
+ \p{Mero}) (32)
+ \p{Miao} \p{Script=Miao} (NOT \p{Block=Miao}) (133)
+ X \p{Misc_Arrows} \p{Miscellaneous_Symbols_And_Arrows} (=
+ \p{Block=
+ Miscellaneous_Symbols_And_Arrows}) (256)
+ X \p{Misc_Math_Symbols_A} \p{Miscellaneous_Mathematical_Symbols_A}
+ (= \p{Block=
+ Miscellaneous_Mathematical_Symbols_A})
+ (48)
+ X \p{Misc_Math_Symbols_B} \p{Miscellaneous_Mathematical_Symbols_B}
+ (= \p{Block=
+ Miscellaneous_Mathematical_Symbols_B})
+ (128)
+ X \p{Misc_Pictographs} \p{Miscellaneous_Symbols_And_Pictographs}
+ (= \p{Block=
+ Miscellaneous_Symbols_And_Pictographs})
+ (768)
+ X \p{Misc_Symbols} \p{Miscellaneous_Symbols} (= \p{Block=
+ Miscellaneous_Symbols}) (256)
+ X \p{Misc_Technical} \p{Miscellaneous_Technical} (= \p{Block=
+ Miscellaneous_Technical}) (256)
X \p{Miscellaneous_Mathematical_Symbols_A} \p{Block=
Miscellaneous_Mathematical_Symbols_A}
- (48)
+ (Short: \p{InMiscMathSymbolsA}) (48)
X \p{Miscellaneous_Mathematical_Symbols_B} \p{Block=
Miscellaneous_Mathematical_Symbols_B}
- (128)
- X \p{Miscellaneous_Symbols} \p{Block=Miscellaneous_Symbols} (256)
+ (Short: \p{InMiscMathSymbolsB}) (128)
+ X \p{Miscellaneous_Symbols} \p{Block=Miscellaneous_Symbols} (Short:
+ \p{InMiscSymbols}) (256)
X \p{Miscellaneous_Symbols_And_Arrows} \p{Block=
- Miscellaneous_Symbols_And_Arrows} (256)
+ Miscellaneous_Symbols_And_Arrows}
+ (Short: \p{InMiscArrows}) (256)
X \p{Miscellaneous_Symbols_And_Pictographs} \p{Block=
Miscellaneous_Symbols_And_Pictographs}
- (768)
- X \p{Miscellaneous_Technical} \p{Block=Miscellaneous_Technical} (256)
+ (Short: \p{InMiscPictographs}) (768)
+ X \p{Miscellaneous_Technical} \p{Block=Miscellaneous_Technical}
+ (Short: \p{InMiscTechnical}) (256)
\p{Mlym} \p{Malayalam} (= \p{Script=Malayalam})
(NOT \p{Block=Malayalam}) (98)
\p{Mn} \p{Nonspacing_Mark} (=
\p{General_Category=Nonspacing_Mark})
- (1199)
+ (1280)
\p{Modifier_Letter} \p{General_Category=Modifier_Letter}
- (Short: \p{Lm}) (210)
+ (Short: \p{Lm}) (237)
+ X \p{Modifier_Letters} \p{Spacing_Modifier_Letters} (= \p{Block=
+ Spacing_Modifier_Letters}) (80)
\p{Modifier_Symbol} \p{General_Category=Modifier_Symbol}
(Short: \p{Sk}) (115)
X \p{Modifier_Tone_Letters} \p{Block=Modifier_Tone_Letters} (32)
@@ -1924,102 +2518,95 @@ this property.
\p{Block=Mongolian}) (153)
\p{Mtei} \p{Meetei_Mayek} (= \p{Script=
Meetei_Mayek}) (NOT \p{Block=
- Meetei_Mayek}) (56)
- X \p{Musical_Symbols} \p{Block=Musical_Symbols} (256)
+ Meetei_Mayek}) (79)
+ X \p{Music} \p{Musical_Symbols} (= \p{Block=
+ Musical_Symbols}) (256)
+ X \p{Musical_Symbols} \p{Block=Musical_Symbols} (Short:
+ \p{InMusic}) (256)
\p{Myanmar} \p{Script=Myanmar} (Short: \p{Mymr}; NOT
\p{Block=Myanmar}) (188)
- X \p{Myanmar_Extended_A} \p{Block=Myanmar_Extended_A} (32)
+ X \p{Myanmar_Ext_A} \p{Myanmar_Extended_A} (= \p{Block=
+ Myanmar_Extended_A}) (32)
+ X \p{Myanmar_Extended_A} \p{Block=Myanmar_Extended_A} (Short:
+ \p{InMyanmarExtA}) (32)
\p{Mymr} \p{Myanmar} (= \p{Script=Myanmar}) (NOT
\p{Block=Myanmar}) (188)
\p{N} \p{Number} (= \p{General_Category=Number})
- (1100)
+ (1148)
+ X \p{NB} \p{No_Block} (= \p{Block=No_Block})
+ (860_672)
\p{NChar} \p{Noncharacter_Code_Point} (=
\p{Noncharacter_Code_Point=Y}) (66)
\p{NChar: *} \p{Noncharacter_Code_Point: *}
\p{Nd} \p{Digit} (= \p{General_Category=
- Decimal_Number}) (420)
+ Decimal_Number}) (460)
\p{New_Tai_Lue} \p{Script=New_Tai_Lue} (Short: \p{Talu};
NOT \p{Block=New_Tai_Lue}) (83)
\p{NFC_QC: *} \p{NFC_Quick_Check: *}
- \p{NFC_Quick_Check: M} \p{NFC_Quick_Check=Maybe} (103)
- \p{NFC_Quick_Check: Maybe} (Short: \p{NFCQC=M}) (103)
+ \p{NFC_Quick_Check: M} \p{NFC_Quick_Check=Maybe} (104)
+ \p{NFC_Quick_Check: Maybe} (Short: \p{NFCQC=M}) (104)
\p{NFC_Quick_Check: N} \p{NFC_Quick_Check=No} (NOT
- \P{NFC_Quick_Check} NOR \P{NFC_QC} NOR
- \P{Is_NFC_Quick_Check} NOR
- \P{Is_NFC_QC}) (1118)
+ \P{NFC_Quick_Check} NOR \P{NFC_QC})
+ (1120)
\p{NFC_Quick_Check: No} (Short: \p{NFCQC=N}; NOT
- \P{NFC_Quick_Check} NOR \P{NFC_QC} NOR
- \P{Is_NFC_Quick_Check} NOR
- \P{Is_NFC_QC}) (1118)
+ \P{NFC_Quick_Check} NOR \P{NFC_QC})
+ (1120)
\p{NFC_Quick_Check: Y} \p{NFC_Quick_Check=Yes} (NOT
- \p{NFC_Quick_Check} NOR \p{NFC_QC} NOR
- \p{Is_NFC_Quick_Check} NOR
- \p{Is_NFC_QC}) (1_112_891)
+ \p{NFC_Quick_Check} NOR \p{NFC_QC})
+ (1_112_888)
\p{NFC_Quick_Check: Yes} (Short: \p{NFCQC=Y}; NOT
- \p{NFC_Quick_Check} NOR \p{NFC_QC} NOR
- \p{Is_NFC_Quick_Check} NOR
- \p{Is_NFC_QC}) (1_112_891)
+ \p{NFC_Quick_Check} NOR \p{NFC_QC})
+ (1_112_888)
\p{NFD_QC: *} \p{NFD_Quick_Check: *}
\p{NFD_Quick_Check: N} \p{NFD_Quick_Check=No} (NOT
- \P{NFD_Quick_Check} NOR \P{NFD_QC} NOR
- \P{Is_NFD_Quick_Check} NOR
- \P{Is_NFD_QC}) (13_221)
+ \P{NFD_Quick_Check} NOR \P{NFD_QC})
+ (13_225)
\p{NFD_Quick_Check: No} (Short: \p{NFDQC=N}; NOT
- \P{NFD_Quick_Check} NOR \P{NFD_QC} NOR
- \P{Is_NFD_Quick_Check} NOR
- \P{Is_NFD_QC}) (13_221)
+ \P{NFD_Quick_Check} NOR \P{NFD_QC})
+ (13_225)
\p{NFD_Quick_Check: Y} \p{NFD_Quick_Check=Yes} (NOT
- \p{NFD_Quick_Check} NOR \p{NFD_QC} NOR
- \p{Is_NFD_Quick_Check} NOR
- \p{Is_NFD_QC}) (1_100_891)
+ \p{NFD_Quick_Check} NOR \p{NFD_QC})
+ (1_100_887)
\p{NFD_Quick_Check: Yes} (Short: \p{NFDQC=Y}; NOT
- \p{NFD_Quick_Check} NOR \p{NFD_QC} NOR
- \p{Is_NFD_Quick_Check} NOR
- \p{Is_NFD_QC}) (1_100_891)
+ \p{NFD_Quick_Check} NOR \p{NFD_QC})
+ (1_100_887)
\p{NFKC_QC: *} \p{NFKC_Quick_Check: *}
- \p{NFKC_Quick_Check: M} \p{NFKC_Quick_Check=Maybe} (103)
- \p{NFKC_Quick_Check: Maybe} (Short: \p{NFKCQC=M}) (103)
+ \p{NFKC_Quick_Check: M} \p{NFKC_Quick_Check=Maybe} (104)
+ \p{NFKC_Quick_Check: Maybe} (Short: \p{NFKCQC=M}) (104)
\p{NFKC_Quick_Check: N} \p{NFKC_Quick_Check=No} (NOT
- \P{NFKC_Quick_Check} NOR \P{NFKC_QC} NOR
- \P{Is_NFKC_Quick_Check} NOR
- \P{Is_NFKC_QC}) (4640)
+ \P{NFKC_Quick_Check} NOR \P{NFKC_QC})
+ (4787)
\p{NFKC_Quick_Check: No} (Short: \p{NFKCQC=N}; NOT
- \P{NFKC_Quick_Check} NOR \P{NFKC_QC} NOR
- \P{Is_NFKC_Quick_Check} NOR
- \P{Is_NFKC_QC}) (4640)
+ \P{NFKC_Quick_Check} NOR \P{NFKC_QC})
+ (4787)
\p{NFKC_Quick_Check: Y} \p{NFKC_Quick_Check=Yes} (NOT
- \p{NFKC_Quick_Check} NOR \p{NFKC_QC} NOR
- \p{Is_NFKC_Quick_Check} NOR
- \p{Is_NFKC_QC}) (1_109_369)
+ \p{NFKC_Quick_Check} NOR \p{NFKC_QC})
+ (1_109_221)
\p{NFKC_Quick_Check: Yes} (Short: \p{NFKCQC=Y}; NOT
- \p{NFKC_Quick_Check} NOR \p{NFKC_QC} NOR
- \p{Is_NFKC_Quick_Check} NOR
- \p{Is_NFKC_QC}) (1_109_369)
+ \p{NFKC_Quick_Check} NOR \p{NFKC_QC})
+ (1_109_221)
\p{NFKD_QC: *} \p{NFKD_Quick_Check: *}
\p{NFKD_Quick_Check: N} \p{NFKD_Quick_Check=No} (NOT
- \P{NFKD_Quick_Check} NOR \P{NFKD_QC} NOR
- \P{Is_NFKD_Quick_Check} NOR
- \P{Is_NFKD_QC}) (16_731)
+ \P{NFKD_Quick_Check} NOR \P{NFKD_QC})
+ (16_880)
\p{NFKD_Quick_Check: No} (Short: \p{NFKDQC=N}; NOT
- \P{NFKD_Quick_Check} NOR \P{NFKD_QC} NOR
- \P{Is_NFKD_Quick_Check} NOR
- \P{Is_NFKD_QC}) (16_731)
+ \P{NFKD_Quick_Check} NOR \P{NFKD_QC})
+ (16_880)
\p{NFKD_Quick_Check: Y} \p{NFKD_Quick_Check=Yes} (NOT
- \p{NFKD_Quick_Check} NOR \p{NFKD_QC} NOR
- \p{Is_NFKD_Quick_Check} NOR
- \p{Is_NFKD_QC}) (1_097_381)
+ \p{NFKD_Quick_Check} NOR \p{NFKD_QC})
+ (1_097_232)
\p{NFKD_Quick_Check: Yes} (Short: \p{NFKDQC=Y}; NOT
- \p{NFKD_Quick_Check} NOR \p{NFKD_QC} NOR
- \p{Is_NFKD_Quick_Check} NOR
- \p{Is_NFKD_QC}) (1_097_381)
+ \p{NFKD_Quick_Check} NOR \p{NFKD_QC})
+ (1_097_232)
\p{Nko} \p{Script=Nko} (NOT \p{NKo}) (59)
\p{Nkoo} \p{Nko} (= \p{Script=Nko}) (NOT \p{NKo})
(59)
\p{Nl} \p{Letter_Number} (= \p{General_Category=
Letter_Number}) (224)
\p{No} \p{Other_Number} (= \p{General_Category=
- Other_Number}) (456)
- X \p{No_Block} \p{Block=No_Block} (861_664)
+ Other_Number}) (464)
+ X \p{No_Block} \p{Block=No_Block} (Short: \p{InNB})
+ (860_672)
\p{Noncharacter_Code_Point} \p{Noncharacter_Code_Point=Y} (Short:
\p{NChar}) (66)
\p{Noncharacter_Code_Point: N*} (Short: \p{NChar=N}, \P{NChar})
@@ -2027,20 +2614,20 @@ this property.
\p{Noncharacter_Code_Point: Y*} (Short: \p{NChar=Y}, \p{NChar})
(66)
\p{Nonspacing_Mark} \p{General_Category=Nonspacing_Mark}
- (Short: \p{Mn}) (1199)
+ (Short: \p{Mn}) (1280)
\p{Nt: *} \p{Numeric_Type: *}
\p{Number} \p{General_Category=Number} (Short: \p{N})
- (1100)
+ (1148)
X \p{Number_Forms} \p{Block=Number_Forms} (64)
- \p{Numeric_Type: De} \p{Numeric_Type=Decimal} (420)
- \p{Numeric_Type: Decimal} (Short: \p{Nt=De}) (420)
+ \p{Numeric_Type: De} \p{Numeric_Type=Decimal} (460)
+ \p{Numeric_Type: Decimal} (Short: \p{Nt=De}) (460)
\p{Numeric_Type: Di} \p{Numeric_Type=Digit} (128)
\p{Numeric_Type: Digit} (Short: \p{Nt=Di}) (128)
- \p{Numeric_Type: None} (Short: \p{Nt=None}) (1_112_935)
- \p{Numeric_Type: Nu} \p{Numeric_Type=Numeric} (629)
- \p{Numeric_Type: Numeric} (Short: \p{Nt=Nu}) (629)
+ \p{Numeric_Type: None} (Short: \p{Nt=None}) (1_112_887)
+ \p{Numeric_Type: Nu} \p{Numeric_Type=Numeric} (637)
+ \p{Numeric_Type: Numeric} (Short: \p{Nt=Nu}) (637)
T \p{Numeric_Value: -1/2} (Short: \p{Nv=-1/2}) (1)
- T \p{Numeric_Value: 0} (Short: \p{Nv=0}) (56)
+ T \p{Numeric_Value: 0} (Short: \p{Nv=0}) (60)
T \p{Numeric_Value: 1/16} (Short: \p{Nv=1/16}) (3)
T \p{Numeric_Value: 1/10} (Short: \p{Nv=1/10}) (1)
T \p{Numeric_Value: 1/9} (Short: \p{Nv=1/9}) (1)
@@ -2061,24 +2648,24 @@ this property.
T \p{Numeric_Value: 4/5} (Short: \p{Nv=4/5}) (1)
T \p{Numeric_Value: 5/6} (Short: \p{Nv=5/6}) (2)
T \p{Numeric_Value: 7/8} (Short: \p{Nv=7/8}) (1)
- T \p{Numeric_Value: 1} (Short: \p{Nv=1}) (93)
+ T \p{Numeric_Value: 1} (Short: \p{Nv=1}) (97)
T \p{Numeric_Value: 3/2} (Short: \p{Nv=3/2}) (1)
- T \p{Numeric_Value: 2} (Short: \p{Nv=2}) (96)
+ T \p{Numeric_Value: 2} (Short: \p{Nv=2}) (100)
T \p{Numeric_Value: 5/2} (Short: \p{Nv=5/2}) (1)
- T \p{Numeric_Value: 3} (Short: \p{Nv=3}) (98)
+ T \p{Numeric_Value: 3} (Short: \p{Nv=3}) (102)
T \p{Numeric_Value: 7/2} (Short: \p{Nv=7/2}) (1)
- T \p{Numeric_Value: 4} (Short: \p{Nv=4}) (89)
+ T \p{Numeric_Value: 4} (Short: \p{Nv=4}) (93)
T \p{Numeric_Value: 9/2} (Short: \p{Nv=9/2}) (1)
- T \p{Numeric_Value: 5} (Short: \p{Nv=5}) (86)
+ T \p{Numeric_Value: 5} (Short: \p{Nv=5}) (90)
T \p{Numeric_Value: 11/2} (Short: \p{Nv=11/2}) (1)
- T \p{Numeric_Value: 6} (Short: \p{Nv=6}) (78)
+ T \p{Numeric_Value: 6} (Short: \p{Nv=6}) (82)
T \p{Numeric_Value: 13/2} (Short: \p{Nv=13/2}) (1)
- T \p{Numeric_Value: 7} (Short: \p{Nv=7}) (77)
+ T \p{Numeric_Value: 7} (Short: \p{Nv=7}) (81)
T \p{Numeric_Value: 15/2} (Short: \p{Nv=15/2}) (1)
- T \p{Numeric_Value: 8} (Short: \p{Nv=8}) (73)
+ T \p{Numeric_Value: 8} (Short: \p{Nv=8}) (77)
T \p{Numeric_Value: 17/2} (Short: \p{Nv=17/2}) (1)
- T \p{Numeric_Value: 9} (Short: \p{Nv=9}) (77)
- T \p{Numeric_Value: 10} (Short: \p{Nv=10}) (39)
+ T \p{Numeric_Value: 9} (Short: \p{Nv=9}) (81)
+ T \p{Numeric_Value: 10} (Short: \p{Nv=10}) (40)
T \p{Numeric_Value: 11} (Short: \p{Nv=11}) (6)
T \p{Numeric_Value: 12} (Short: \p{Nv=12}) (6)
T \p{Numeric_Value: 13} (Short: \p{Nv=13}) (4)
@@ -2088,7 +2675,7 @@ this property.
T \p{Numeric_Value: 17} (Short: \p{Nv=17}) (5)
T \p{Numeric_Value: 18} (Short: \p{Nv=18}) (5)
T \p{Numeric_Value: 19} (Short: \p{Nv=19}) (5)
- T \p{Numeric_Value: 20} (Short: \p{Nv=20}) (18)
+ T \p{Numeric_Value: 20} (Short: \p{Nv=20}) (19)
T \p{Numeric_Value: 21} (Short: \p{Nv=21}) (1)
T \p{Numeric_Value: 22} (Short: \p{Nv=22}) (1)
T \p{Numeric_Value: 23} (Short: \p{Nv=23}) (1)
@@ -2098,7 +2685,7 @@ this property.
T \p{Numeric_Value: 27} (Short: \p{Nv=27}) (1)
T \p{Numeric_Value: 28} (Short: \p{Nv=28}) (1)
T \p{Numeric_Value: 29} (Short: \p{Nv=29}) (1)
- T \p{Numeric_Value: 30} (Short: \p{Nv=30}) (10)
+ T \p{Numeric_Value: 30} (Short: \p{Nv=30}) (11)
T \p{Numeric_Value: 31} (Short: \p{Nv=31}) (1)
T \p{Numeric_Value: 32} (Short: \p{Nv=32}) (1)
T \p{Numeric_Value: 33} (Short: \p{Nv=33}) (1)
@@ -2108,7 +2695,7 @@ this property.
T \p{Numeric_Value: 37} (Short: \p{Nv=37}) (1)
T \p{Numeric_Value: 38} (Short: \p{Nv=38}) (1)
T \p{Numeric_Value: 39} (Short: \p{Nv=39}) (1)
- T \p{Numeric_Value: 40} (Short: \p{Nv=40}) (9)
+ T \p{Numeric_Value: 40} (Short: \p{Nv=40}) (10)
T \p{Numeric_Value: 41} (Short: \p{Nv=41}) (1)
T \p{Numeric_Value: 42} (Short: \p{Nv=42}) (1)
T \p{Numeric_Value: 43} (Short: \p{Nv=43}) (1)
@@ -2118,10 +2705,10 @@ this property.
T \p{Numeric_Value: 47} (Short: \p{Nv=47}) (1)
T \p{Numeric_Value: 48} (Short: \p{Nv=48}) (1)
T \p{Numeric_Value: 49} (Short: \p{Nv=49}) (1)
- T \p{Numeric_Value: 50} (Short: \p{Nv=50}) (19)
- T \p{Numeric_Value: 60} (Short: \p{Nv=60}) (5)
- T \p{Numeric_Value: 70} (Short: \p{Nv=70}) (5)
- T \p{Numeric_Value: 80} (Short: \p{Nv=80}) (5)
+ T \p{Numeric_Value: 50} (Short: \p{Nv=50}) (20)
+ T \p{Numeric_Value: 60} (Short: \p{Nv=60}) (6)
+ T \p{Numeric_Value: 70} (Short: \p{Nv=70}) (6)
+ T \p{Numeric_Value: 80} (Short: \p{Nv=80}) (6)
T \p{Numeric_Value: 90} (Short: \p{Nv=90}) (6)
T \p{Numeric_Value: 100} (Short: \p{Nv=100}) (20)
T \p{Numeric_Value: 200} (Short: \p{Nv=200}) (2)
@@ -2155,28 +2742,15 @@ this property.
100000000}) (2)
T \p{Numeric_Value: 1000000000000} (= 1.0e+012) (Short: \p{Nv=
1000000000000}) (1)
- \p{Numeric_Value: NaN} (Short: \p{Nv=NaN}) (1_112_935)
+ \p{Numeric_Value: NaN} (Short: \p{Nv=NaN}) (1_112_887)
\p{Nv: *} \p{Numeric_Value: *}
- D \p{OAlpha} \p{Other_Alphabetic} (=
- \p{Other_Alphabetic=Y}) (795)
- D \p{OAlpha: *} \p{Other_Alphabetic: *}
- D \p{ODI} \p{Other_Default_Ignorable_Code_Point} (=
- \p{Other_Default_Ignorable_Code_Point=
- Y}) (3778)
- D \p{ODI: *} \p{Other_Default_Ignorable_Code_Point: *}
+ X \p{OCR} \p{Optical_Character_Recognition} (=
+ \p{Block=Optical_Character_Recognition})
+ (32)
\p{Ogam} \p{Ogham} (= \p{Script=Ogham}) (NOT
\p{Block=Ogham}) (29)
\p{Ogham} \p{Script=Ogham} (Short: \p{Ogam}; NOT
\p{Block=Ogham}) (29)
- D \p{OGr_Ext} \p{Other_Grapheme_Extend} (=
- \p{Other_Grapheme_Extend=Y}) (23)
- D \p{OGr_Ext: *} \p{Other_Grapheme_Extend: *}
- D \p{OIDC} \p{Other_ID_Continue} (=
- \p{Other_ID_Continue=Y}) (12)
- D \p{OIDC: *} \p{Other_ID_Continue: *}
- D \p{OIDS} \p{Other_ID_Start} (= \p{Other_ID_Start=
- Y}) (4)
- D \p{OIDS: *} \p{Other_ID_Start: *}
\p{Ol_Chiki} \p{Script=Ol_Chiki} (Short: \p{Olck}) (48)
\p{Olck} \p{Ol_Chiki} (= \p{Script=Ol_Chiki}) (48)
\p{Old_Italic} \p{Script=Old_Italic} (Short: \p{Ital};
@@ -2187,15 +2761,11 @@ this property.
\p{Sarb}) (32)
\p{Old_Turkic} \p{Script=Old_Turkic} (Short: \p{Orkh};
NOT \p{Block=Old_Turkic}) (73)
- D \p{OLower} \p{Other_Lowercase} (= \p{Other_Lowercase=
- Y}) (159)
- D \p{OLower: *} \p{Other_Lowercase: *}
- D \p{OMath} \p{Other_Math} (= \p{Other_Math=Y}) (1217)
- D \p{OMath: *} \p{Other_Math: *}
\p{Open_Punctuation} \p{General_Category=Open_Punctuation}
(Short: \p{Ps}) (72)
X \p{Optical_Character_Recognition} \p{Block=
- Optical_Character_Recognition} (32)
+ Optical_Character_Recognition} (Short:
+ \p{InOCR}) (32)
\p{Oriya} \p{Script=Oriya} (Short: \p{Orya}; NOT
\p{Block=Oriya}) (90)
\p{Orkh} \p{Old_Turkic} (= \p{Script=Old_Turkic})
@@ -2207,117 +2777,18 @@ this property.
\p{Osmanya} \p{Script=Osmanya} (Short: \p{Osma}; NOT
\p{Block=Osmanya}) (40)
\p{Other} \p{General_Category=Other} (Short: \p{C})
- (1_004_868)
- D \p{Other_Alphabetic} \p{Other_Alphabetic=Y} (Short: \p{OAlpha})
- (795)
- D \p{Other_Alphabetic: N*} Used by Unicode internally for generating
- the Alphabetic property (which should be
- used instead) and not intended to be
- used stand-alone (Short: \p{OAlpha=N},
- \P{OAlpha}) (1_113_317)
- D \p{Other_Alphabetic: Y*} Used by Unicode internally for generating
- the Alphabetic property (which should be
- used instead) and not intended to be
- used stand-alone (Short: \p{OAlpha=Y},
- \p{OAlpha}) (795)
- D \p{Other_Default_Ignorable_Code_Point}
- \p{Other_Default_Ignorable_Code_Point=Y}
- (Short: \p{ODI}) (3778)
- D \p{Other_Default_Ignorable_Code_Point: N*} Used by Unicode
- internally for generating the
- Default_Ignorable_Code_Point property
- (which should be used instead) and not
- intended to be used stand-alone (Short:
- \p{ODI=N}, \P{ODI}) (1_110_334)
- D \p{Other_Default_Ignorable_Code_Point: Y*} Used by Unicode
- internally for generating the
- Default_Ignorable_Code_Point property
- (which should be used instead) and not
- intended to be used stand-alone (Short:
- \p{ODI=Y}, \p{ODI}) (3778)
- D \p{Other_Grapheme_Extend} \p{Other_Grapheme_Extend=Y} (Short:
- \p{OGrExt}) (23)
- D \p{Other_Grapheme_Extend: N*} Used by Unicode internally for
- generating the Grapheme_Extend property
- (which should be used instead) and not
- intended to be used stand-alone (Short:
- \p{OGrExt=N}, \P{OGrExt}) (1_114_089)
- D \p{Other_Grapheme_Extend: Y*} Used by Unicode internally for
- generating the Grapheme_Extend property
- (which should be used instead) and not
- intended to be used stand-alone (Short:
- \p{OGrExt=Y}, \p{OGrExt}) (23)
- D \p{Other_ID_Continue} \p{Other_ID_Continue=Y} (Short: \p{OIDC})
- (12)
- D \p{Other_ID_Continue: N*} Used by Unicode internally for
- generating the ID_Continue property
- (which should be used instead) and not
- intended to be used stand-alone (Short:
- \p{OIDC=N}, \P{OIDC}) (1_114_100)
- D \p{Other_ID_Continue: Y*} Used by Unicode internally for
- generating the ID_Continue property
- (which should be used instead) and not
- intended to be used stand-alone (Short:
- \p{OIDC=Y}, \p{OIDC}) (12)
- D \p{Other_ID_Start} \p{Other_ID_Start=Y} (Short: \p{OIDS}) (4)
- D \p{Other_ID_Start: N*} Used by Unicode internally for generating
- the ID_Start property (which should be
- used instead) and not intended to be
- used stand-alone (Short: \p{OIDS=N},
- \P{OIDS}) (1_114_108)
- D \p{Other_ID_Start: Y*} Used by Unicode internally for generating
- the ID_Start property (which should be
- used instead) and not intended to be
- used stand-alone (Short: \p{OIDS=Y},
- \p{OIDS}) (4)
+ (1_004_135)
\p{Other_Letter} \p{General_Category=Other_Letter} (Short:
- \p{Lo}) (97_084)
- D \p{Other_Lowercase} \p{Other_Lowercase=Y} (Short: \p{OLower})
- (159)
- D \p{Other_Lowercase: N*} Used by Unicode internally for generating
- the Lowercase property (which should be
- used instead) and not intended to be
- used stand-alone (Short: \p{OLower=N},
- \P{OLower}) (1_113_953)
- D \p{Other_Lowercase: Y*} Used by Unicode internally for generating
- the Lowercase property (which should be
- used instead) and not intended to be
- used stand-alone (Short: \p{OLower=Y},
- \p{OLower}) (159)
- D \p{Other_Math} \p{Other_Math=Y} (Short: \p{OMath}) (1217)
- D \p{Other_Math: N*} Used by Unicode internally for generating
- the Math property (which should be used
- instead) and not intended to be used
- stand-alone (Short: \p{OMath=N},
- \P{OMath}) (1_112_895)
- D \p{Other_Math: Y*} Used by Unicode internally for generating
- the Math property (which should be used
- instead) and not intended to be used
- stand-alone (Short: \p{OMath=Y},
- \p{OMath}) (1217)
+ \p{Lo}) (97_553)
\p{Other_Number} \p{General_Category=Other_Number} (Short:
- \p{No}) (456)
+ \p{No}) (464)
\p{Other_Punctuation} \p{General_Category=Other_Punctuation}
- (Short: \p{Po}) (402)
+ (Short: \p{Po}) (434)
\p{Other_Symbol} \p{General_Category=Other_Symbol} (Short:
- \p{So}) (4398)
- D \p{Other_Uppercase} \p{Other_Uppercase=Y} (Short: \p{OUpper})
- (42)
- D \p{Other_Uppercase: N*} Used by Unicode internally for generating
- the Uppercase property (which should be
- used instead) and not intended to be
- used stand-alone (Short: \p{OUpper=N},
- \P{OUpper}) (1_114_070)
- D \p{Other_Uppercase: Y*} Used by Unicode internally for generating
- the Uppercase property (which should be
- used instead) and not intended to be
- used stand-alone (Short: \p{OUpper=Y},
- \p{OUpper}) (42)
- D \p{OUpper} \p{Other_Uppercase} (= \p{Other_Uppercase=
- Y}) (42)
- D \p{OUpper: *} \p{Other_Uppercase: *}
+ \p{So}) (4404)
\p{P} \p{Punct} (= \p{General_Category=
- Punctuation}) (598)
+ Punctuation}) (NOT
+ \p{General_Punctuation}) (632)
\p{Paragraph_Separator} \p{General_Category=Paragraph_Separator}
(Short: \p{Zp}) (1)
\p{Pat_Syn} \p{Pattern_Syntax} (= \p{Pattern_Syntax=
@@ -2341,11 +2812,11 @@ this property.
Connector_Punctuation}) (10)
\p{Pd} \p{Dash_Punctuation} (=
\p{General_Category=Dash_Punctuation})
- (21)
+ (23)
\p{Pe} \p{Close_Punctuation} (=
\p{General_Category=Close_Punctuation})
(71)
- \p{PerlSpace} \s, restricted to ASCII (5)
+ \p{PerlSpace} \s, restricted to ASCII = [ \f\n\r\t] (5)
\p{PerlWord} \w, restricted to ASCII = [A-Za-z0-9_] (63)
\p{Pf} \p{Final_Punctuation} (=
\p{General_Category=Final_Punctuation})
@@ -2354,7 +2825,10 @@ this property.
\p{Block=Phags_Pa}) (56)
\p{Phags_Pa} \p{Script=Phags_Pa} (Short: \p{Phag}; NOT
\p{Block=Phags_Pa}) (56)
- X \p{Phaistos_Disc} \p{Block=Phaistos_Disc} (48)
+ X \p{Phaistos} \p{Phaistos_Disc} (= \p{Block=
+ Phaistos_Disc}) (48)
+ X \p{Phaistos_Disc} \p{Block=Phaistos_Disc} (Short:
+ \p{InPhaistos}) (48)
\p{Phli} \p{Inscriptional_Pahlavi} (= \p{Script=
Inscriptional_Pahlavi}) (NOT \p{Block=
Inscriptional_Pahlavi}) (27)
@@ -2362,16 +2836,25 @@ this property.
(NOT \p{Block=Phoenician}) (29)
\p{Phoenician} \p{Script=Phoenician} (Short: \p{Phnx};
NOT \p{Block=Phoenician}) (29)
- X \p{Phonetic_Extensions} \p{Block=Phonetic_Extensions} (128)
+ X \p{Phonetic_Ext} \p{Phonetic_Extensions} (= \p{Block=
+ Phonetic_Extensions}) (128)
+ X \p{Phonetic_Ext_Sup} \p{Phonetic_Extensions_Supplement} (=
+ \p{Block=
+ Phonetic_Extensions_Supplement}) (64)
+ X \p{Phonetic_Extensions} \p{Block=Phonetic_Extensions} (Short:
+ \p{InPhoneticExt}) (128)
X \p{Phonetic_Extensions_Supplement} \p{Block=
- Phonetic_Extensions_Supplement} (64)
+ Phonetic_Extensions_Supplement} (Short:
+ \p{InPhoneticExtSup}) (64)
\p{Pi} \p{Initial_Punctuation} (=
\p{General_Category=
Initial_Punctuation}) (12)
X \p{Playing_Cards} \p{Block=Playing_Cards} (96)
+ \p{Plrd} \p{Miao} (= \p{Script=Miao}) (NOT
+ \p{Block=Miao}) (133)
\p{Po} \p{Other_Punctuation} (=
\p{General_Category=Other_Punctuation})
- (402)
+ (434)
\p{PosixAlnum} [A-Za-z0-9] (62)
\p{PosixAlpha} [A-Za-z] (52)
\p{PosixBlank} \t and ' ' (2)
@@ -2391,8 +2874,9 @@ this property.
vertical tab) (6)
\p{PosixUpper} [A-Z] (/i= PosixAlpha) (26)
\p{PosixWord} \p{PerlWord} (63)
- \p{PosixXDigit} [0-9A-Fa-f] (22)
- T \p{Present_In: 1.1} \p{Age=1.1} (Short: \p{In=1.1}) (Perl
+ \p{PosixXDigit} \p{ASCII_Hex_Digit=Y} [0-9A-Fa-f] (Short:
+ \p{AHex}) (22)
+ T \p{Present_In: 1.1} \p{Age=V1_1} (Short: \p{In=1.1}) (Perl
extension) (33_979)
T \p{Present_In: 2.0} Code point's usage introduced in version
2.0 or earlier (Short: \p{In=2.0}) (Perl
@@ -2427,29 +2911,35 @@ this property.
T \p{Present_In: 6.0} Code point's usage introduced in version
6.0 or earlier (Short: \p{In=6.0}) (Perl
extension) (249_031)
+ T \p{Present_In: 6.1} Code point's usage introduced in version
+ 6.1 or earlier (Short: \p{In=6.1}) (Perl
+ extension) (249_763)
\p{Present_In: Unassigned} \p{Age=Unassigned} (Short: \p{In=
- Unassigned}) (Perl extension) (865_081)
+ Unassigned}) (Perl extension) (864_349)
\p{Print} Characters that are graphical plus space
- characters (but no controls) (246_850)
+ characters (but no controls) (247_582)
\p{Private_Use} \p{General_Category=Private_Use} (Short:
\p{Co}; NOT \p{Private_Use_Area})
(137_468)
X \p{Private_Use_Area} \p{Block=Private_Use_Area} (Short:
- \p{InPrivateUse}) (6400)
+ \p{InPUA}) (6400)
\p{Prti} \p{Inscriptional_Parthian} (= \p{Script=
Inscriptional_Parthian}) (NOT \p{Block=
Inscriptional_Parthian}) (30)
\p{Ps} \p{Open_Punctuation} (=
\p{General_Category=Open_Punctuation})
(72)
+ X \p{PUA} \p{Private_Use_Area} (= \p{Block=
+ Private_Use_Area}) (6400)
\p{Punct} \p{General_Category=Punctuation} (Short:
- \p{P}) (598)
+ \p{P}; NOT \p{General_Punctuation}) (632)
\p{Punctuation} \p{Punct} (= \p{General_Category=
- Punctuation}) (598)
+ Punctuation}) (NOT
+ \p{General_Punctuation}) (632)
\p{Qaac} \p{Coptic} (= \p{Script=Coptic}) (NOT
- \p{Block=Coptic}) (135)
+ \p{Block=Coptic}) (137)
\p{Qaai} \p{Inherited} (= \p{Script=Inherited})
- (523)
+ (524)
\p{QMark} \p{Quotation_Mark} (= \p{Quotation_Mark=
Y}) (29)
\p{QMark: *} \p{Quotation_Mark: *}
@@ -2464,13 +2954,16 @@ this property.
\p{Block=Rejang}) (37)
\p{Rjng} \p{Rejang} (= \p{Script=Rejang}) (NOT
\p{Block=Rejang}) (37)
- X \p{Rumi_Numeral_Symbols} \p{Block=Rumi_Numeral_Symbols} (32)
+ X \p{Rumi} \p{Rumi_Numeral_Symbols} (= \p{Block=
+ Rumi_Numeral_Symbols}) (32)
+ X \p{Rumi_Numeral_Symbols} \p{Block=Rumi_Numeral_Symbols} (Short:
+ \p{InRumi}) (32)
\p{Runic} \p{Script=Runic} (Short: \p{Runr}; NOT
\p{Block=Runic}) (78)
\p{Runr} \p{Runic} (= \p{Script=Runic}) (NOT
\p{Block=Runic}) (78)
\p{S} \p{Symbol} (= \p{General_Category=Symbol})
- (5508)
+ (5519)
\p{Samaritan} \p{Script=Samaritan} (Short: \p{Samr}; NOT
\p{Block=Samaritan}) (61)
\p{Samr} \p{Samaritan} (= \p{Script=Samaritan})
@@ -2484,13 +2977,13 @@ this property.
\p{SB: *} \p{Sentence_Break: *}
\p{Sc} \p{Currency_Symbol} (=
\p{General_Category=Currency_Symbol})
- (47)
+ (48)
\p{Sc: *} \p{Script: *}
- \p{Script: Arab} \p{Script=Arabic} (1051)
- \p{Script: Arabic} (Short: \p{Sc=Arab}, \p{Arab}) (1051)
- \p{Script: Armenian} (Short: \p{Sc=Armn}, \p{Armn}) (90)
+ \p{Script: Arab} \p{Script=Arabic} (1234)
+ \p{Script: Arabic} (Short: \p{Sc=Arab}, \p{Arab}) (1234)
+ \p{Script: Armenian} (Short: \p{Sc=Armn}, \p{Armn}) (91)
\p{Script: Armi} \p{Script=Imperial_Aramaic} (31)
- \p{Script: Armn} \p{Script=Armenian} (90)
+ \p{Script: Armn} \p{Script=Armenian} (91)
\p{Script: Avestan} (Short: \p{Sc=Avst}, \p{Avst}) (61)
\p{Script: Avst} \p{Script=Avestan} (61)
\p{Script: Bali} \p{Script=Balinese} (121)
@@ -2511,47 +3004,49 @@ this property.
\p{Script: Buginese} (Short: \p{Sc=Bugi}, \p{Bugi}) (30)
\p{Script: Buhd} \p{Script=Buhid} (20)
\p{Script: Buhid} (Short: \p{Sc=Buhd}, \p{Buhd}) (20)
+ \p{Script: Cakm} \p{Script=Chakma} (67)
\p{Script: Canadian_Aboriginal} (Short: \p{Sc=Cans}, \p{Cans})
(710)
\p{Script: Cans} \p{Script=Canadian_Aboriginal} (710)
\p{Script: Cari} \p{Script=Carian} (49)
\p{Script: Carian} (Short: \p{Sc=Cari}, \p{Cari}) (49)
+ \p{Script: Chakma} (Short: \p{Sc=Cakm}, \p{Cakm}) (67)
\p{Script: Cham} (Short: \p{Sc=Cham}, \p{Cham}) (83)
\p{Script: Cher} \p{Script=Cherokee} (85)
\p{Script: Cherokee} (Short: \p{Sc=Cher}, \p{Cher}) (85)
- \p{Script: Common} (Short: \p{Sc=Zyyy}, \p{Zyyy}) (6379)
- \p{Script: Copt} \p{Script=Coptic} (135)
- \p{Script: Coptic} (Short: \p{Sc=Copt}, \p{Copt}) (135)
+ \p{Script: Common} (Short: \p{Sc=Zyyy}, \p{Zyyy}) (6412)
+ \p{Script: Copt} \p{Script=Coptic} (137)
+ \p{Script: Coptic} (Short: \p{Sc=Copt}, \p{Copt}) (137)
\p{Script: Cprt} \p{Script=Cypriot} (55)
\p{Script: Cuneiform} (Short: \p{Sc=Xsux}, \p{Xsux}) (982)
\p{Script: Cypriot} (Short: \p{Sc=Cprt}, \p{Cprt}) (55)
- \p{Script: Cyrillic} (Short: \p{Sc=Cyrl}, \p{Cyrl}) (408)
- \p{Script: Cyrl} \p{Script=Cyrillic} (408)
+ \p{Script: Cyrillic} (Short: \p{Sc=Cyrl}, \p{Cyrl}) (417)
+ \p{Script: Cyrl} \p{Script=Cyrillic} (417)
\p{Script: Deseret} (Short: \p{Sc=Dsrt}, \p{Dsrt}) (80)
- \p{Script: Deva} \p{Script=Devanagari} (150)
- \p{Script: Devanagari} (Short: \p{Sc=Deva}, \p{Deva}) (150)
+ \p{Script: Deva} \p{Script=Devanagari} (151)
+ \p{Script: Devanagari} (Short: \p{Sc=Deva}, \p{Deva}) (151)
\p{Script: Dsrt} \p{Script=Deseret} (80)
\p{Script: Egyp} \p{Script=Egyptian_Hieroglyphs} (1071)
\p{Script: Egyptian_Hieroglyphs} (Short: \p{Sc=Egyp}, \p{Egyp})
(1071)
\p{Script: Ethi} \p{Script=Ethiopic} (495)
\p{Script: Ethiopic} (Short: \p{Sc=Ethi}, \p{Ethi}) (495)
- \p{Script: Geor} \p{Script=Georgian} (120)
- \p{Script: Georgian} (Short: \p{Sc=Geor}, \p{Geor}) (120)
+ \p{Script: Geor} \p{Script=Georgian} (127)
+ \p{Script: Georgian} (Short: \p{Sc=Geor}, \p{Geor}) (127)
\p{Script: Glag} \p{Script=Glagolitic} (94)
\p{Script: Glagolitic} (Short: \p{Sc=Glag}, \p{Glag}) (94)
\p{Script: Goth} \p{Script=Gothic} (27)
\p{Script: Gothic} (Short: \p{Sc=Goth}, \p{Goth}) (27)
\p{Script: Greek} (Short: \p{Sc=Grek}, \p{Grek}) (511)
\p{Script: Grek} \p{Script=Greek} (511)
- \p{Script: Gujarati} (Short: \p{Sc=Gujr}, \p{Gujr}) (83)
- \p{Script: Gujr} \p{Script=Gujarati} (83)
+ \p{Script: Gujarati} (Short: \p{Sc=Gujr}, \p{Gujr}) (84)
+ \p{Script: Gujr} \p{Script=Gujarati} (84)
\p{Script: Gurmukhi} (Short: \p{Sc=Guru}, \p{Guru}) (79)
\p{Script: Guru} \p{Script=Gurmukhi} (79)
- \p{Script: Han} (Short: \p{Sc=Han}, \p{Han}) (75_960)
+ \p{Script: Han} (Short: \p{Sc=Han}, \p{Han}) (75_963)
\p{Script: Hang} \p{Script=Hangul} (11_739)
\p{Script: Hangul} (Short: \p{Sc=Hang}, \p{Hang}) (11_739)
- \p{Script: Hani} \p{Script=Han} (75_960)
+ \p{Script: Hani} \p{Script=Han} (75_963)
\p{Script: Hano} \p{Script=Hanunoo} (21)
\p{Script: Hanunoo} (Short: \p{Sc=Hano}, \p{Hano}) (21)
\p{Script: Hebr} \p{Script=Hebrew} (133)
@@ -2559,7 +3054,7 @@ this property.
\p{Script: Hira} \p{Script=Hiragana} (91)
\p{Script: Hiragana} (Short: \p{Sc=Hira}, \p{Hira}) (91)
\p{Script: Imperial_Aramaic} (Short: \p{Sc=Armi}, \p{Armi}) (31)
- \p{Script: Inherited} (Short: \p{Sc=Zinh}, \p{Zinh}) (523)
+ \p{Script: Inherited} (Short: \p{Sc=Zinh}, \p{Zinh}) (524)
\p{Script: Inscriptional_Pahlavi} (Short: \p{Sc=Phli}, \p{Phli})
(27)
\p{Script: Inscriptional_Parthian} (Short: \p{Sc=Prti}, \p{Prti})
@@ -2580,10 +3075,10 @@ this property.
\p{Script: Knda} \p{Script=Kannada} (86)
\p{Script: Kthi} \p{Script=Kaithi} (66)
\p{Script: Lana} \p{Script=Tai_Tham} (127)
- \p{Script: Lao} (Short: \p{Sc=Lao}, \p{Lao}) (65)
- \p{Script: Laoo} \p{Script=Lao} (65)
- \p{Script: Latin} (Short: \p{Sc=Latn}, \p{Latn}) (1267)
- \p{Script: Latn} \p{Script=Latin} (1267)
+ \p{Script: Lao} (Short: \p{Sc=Lao}, \p{Lao}) (67)
+ \p{Script: Laoo} \p{Script=Lao} (67)
+ \p{Script: Latin} (Short: \p{Sc=Latn}, \p{Latn}) (1272)
+ \p{Script: Latn} \p{Script=Latin} (1272)
\p{Script: Lepc} \p{Script=Lepcha} (74)
\p{Script: Lepcha} (Short: \p{Sc=Lepc}, \p{Lepc}) (74)
\p{Script: Limb} \p{Script=Limbu} (66)
@@ -2598,11 +3093,17 @@ this property.
\p{Script: Malayalam} (Short: \p{Sc=Mlym}, \p{Mlym}) (98)
\p{Script: Mand} \p{Script=Mandaic} (29)
\p{Script: Mandaic} (Short: \p{Sc=Mand}, \p{Mand}) (29)
- \p{Script: Meetei_Mayek} (Short: \p{Sc=Mtei}, \p{Mtei}) (56)
+ \p{Script: Meetei_Mayek} (Short: \p{Sc=Mtei}, \p{Mtei}) (79)
+ \p{Script: Merc} \p{Script=Meroitic_Cursive} (26)
+ \p{Script: Mero} \p{Script=Meroitic_Hieroglyphs} (32)
+ \p{Script: Meroitic_Cursive} (Short: \p{Sc=Merc}, \p{Merc}) (26)
+ \p{Script: Meroitic_Hieroglyphs} (Short: \p{Sc=Mero}, \p{Mero})
+ (32)
+ \p{Script: Miao} (Short: \p{Sc=Miao}, \p{Miao}) (133)
\p{Script: Mlym} \p{Script=Malayalam} (98)
\p{Script: Mong} \p{Script=Mongolian} (153)
\p{Script: Mongolian} (Short: \p{Sc=Mong}, \p{Mong}) (153)
- \p{Script: Mtei} \p{Script=Meetei_Mayek} (56)
+ \p{Script: Mtei} \p{Script=Meetei_Mayek} (79)
\p{Script: Myanmar} (Short: \p{Sc=Mymr}, \p{Mymr}) (188)
\p{Script: Mymr} \p{Script=Myanmar} (188)
\p{Script: New_Tai_Lue} (Short: \p{Sc=Talu}, \p{Talu}) (83)
@@ -2626,9 +3127,10 @@ this property.
\p{Script: Phli} \p{Script=Inscriptional_Pahlavi} (27)
\p{Script: Phnx} \p{Script=Phoenician} (29)
\p{Script: Phoenician} (Short: \p{Sc=Phnx}, \p{Phnx}) (29)
+ \p{Script: Plrd} \p{Script=Miao} (133)
\p{Script: Prti} \p{Script=Inscriptional_Parthian} (30)
- \p{Script: Qaac} \p{Script=Coptic} (135)
- \p{Script: Qaai} \p{Script=Inherited} (523)
+ \p{Script: Qaac} \p{Script=Coptic} (137)
+ \p{Script: Qaai} \p{Script=Inherited} (524)
\p{Script: Rejang} (Short: \p{Sc=Rjng}, \p{Rjng}) (37)
\p{Script: Rjng} \p{Script=Rejang} (37)
\p{Script: Runic} (Short: \p{Sc=Runr}, \p{Runr}) (78)
@@ -2638,12 +3140,16 @@ this property.
\p{Script: Sarb} \p{Script=Old_South_Arabian} (32)
\p{Script: Saur} \p{Script=Saurashtra} (81)
\p{Script: Saurashtra} (Short: \p{Sc=Saur}, \p{Saur}) (81)
+ \p{Script: Sharada} (Short: \p{Sc=Shrd}, \p{Shrd}) (83)
\p{Script: Shavian} (Short: \p{Sc=Shaw}, \p{Shaw}) (48)
\p{Script: Shaw} \p{Script=Shavian} (48)
+ \p{Script: Shrd} \p{Script=Sharada} (83)
\p{Script: Sinh} \p{Script=Sinhala} (80)
\p{Script: Sinhala} (Short: \p{Sc=Sinh}, \p{Sinh}) (80)
- \p{Script: Sund} \p{Script=Sundanese} (55)
- \p{Script: Sundanese} (Short: \p{Sc=Sund}, \p{Sund}) (55)
+ \p{Script: Sora} \p{Script=Sora_Sompeng} (35)
+ \p{Script: Sora_Sompeng} (Short: \p{Sc=Sora}, \p{Sora}) (35)
+ \p{Script: Sund} \p{Script=Sundanese} (72)
+ \p{Script: Sundanese} (Short: \p{Sc=Sund}, \p{Sund}) (72)
\p{Script: Sylo} \p{Script=Syloti_Nagri} (44)
\p{Script: Syloti_Nagri} (Short: \p{Sc=Sylo}, \p{Sylo}) (44)
\p{Script: Syrc} \p{Script=Syriac} (77)
@@ -2654,6 +3160,8 @@ this property.
\p{Script: Tai_Le} (Short: \p{Sc=Tale}, \p{Tale}) (35)
\p{Script: Tai_Tham} (Short: \p{Sc=Lana}, \p{Lana}) (127)
\p{Script: Tai_Viet} (Short: \p{Sc=Tavt}, \p{Tavt}) (72)
+ \p{Script: Takr} \p{Script=Takri} (66)
+ \p{Script: Takri} (Short: \p{Sc=Takr}, \p{Takr}) (66)
\p{Script: Tale} \p{Script=Tai_Le} (35)
\p{Script: Talu} \p{Script=New_Tai_Lue} (83)
\p{Script: Tamil} (Short: \p{Sc=Taml}, \p{Taml}) (72)
@@ -2661,26 +3169,246 @@ this property.
\p{Script: Tavt} \p{Script=Tai_Viet} (72)
\p{Script: Telu} \p{Script=Telugu} (93)
\p{Script: Telugu} (Short: \p{Sc=Telu}, \p{Telu}) (93)
- \p{Script: Tfng} \p{Script=Tifinagh} (57)
+ \p{Script: Tfng} \p{Script=Tifinagh} (59)
\p{Script: Tglg} \p{Script=Tagalog} (20)
\p{Script: Thaa} \p{Script=Thaana} (50)
\p{Script: Thaana} (Short: \p{Sc=Thaa}, \p{Thaa}) (50)
\p{Script: Thai} (Short: \p{Sc=Thai}, \p{Thai}) (86)
\p{Script: Tibetan} (Short: \p{Sc=Tibt}, \p{Tibt}) (207)
\p{Script: Tibt} \p{Script=Tibetan} (207)
- \p{Script: Tifinagh} (Short: \p{Sc=Tfng}, \p{Tfng}) (57)
+ \p{Script: Tifinagh} (Short: \p{Sc=Tfng}, \p{Tfng}) (59)
\p{Script: Ugar} \p{Script=Ugaritic} (31)
\p{Script: Ugaritic} (Short: \p{Sc=Ugar}, \p{Ugar}) (31)
- \p{Script: Unknown} (Short: \p{Sc=Zzzz}, \p{Zzzz}) (1_004_663)
+ \p{Script: Unknown} (Short: \p{Sc=Zzzz}, \p{Zzzz}) (1_003_931)
\p{Script: Vai} (Short: \p{Sc=Vai}, \p{Vai}) (300)
\p{Script: Vaii} \p{Script=Vai} (300)
\p{Script: Xpeo} \p{Script=Old_Persian} (50)
\p{Script: Xsux} \p{Script=Cuneiform} (982)
\p{Script: Yi} (Short: \p{Sc=Yi}, \p{Yi}) (1220)
\p{Script: Yiii} \p{Script=Yi} (1220)
- \p{Script: Zinh} \p{Script=Inherited} (523)
- \p{Script: Zyyy} \p{Script=Common} (6379)
- \p{Script: Zzzz} \p{Script=Unknown} (1_004_663)
+ \p{Script: Zinh} \p{Script=Inherited} (524)
+ \p{Script: Zyyy} \p{Script=Common} (6412)
+ \p{Script: Zzzz} \p{Script=Unknown} (1_003_931)
+ \p{Script_Extensions: Arab} \p{Script_Extensions=Arabic} (1261)
+ \p{Script_Extensions: Arabic} (Short: \p{Scx=Arab}) (1261)
+ \p{Script_Extensions: Armenian} (Short: \p{Scx=Armn}) (92)
+ \p{Script_Extensions: Armi} \p{Script_Extensions=Imperial_Aramaic}
+ (31)
+ \p{Script_Extensions: Armn} \p{Script_Extensions=Armenian} (92)
+ \p{Script_Extensions: Avestan} (Short: \p{Scx=Avst}) (61)
+ \p{Script_Extensions: Avst} \p{Script_Extensions=Avestan} (61)
+ \p{Script_Extensions: Bali} \p{Script_Extensions=Balinese} (121)
+ \p{Script_Extensions: Balinese} (Short: \p{Scx=Bali}) (121)
+ \p{Script_Extensions: Bamu} \p{Script_Extensions=Bamum} (657)
+ \p{Script_Extensions: Bamum} (Short: \p{Scx=Bamu}) (657)
+ \p{Script_Extensions: Batak} (Short: \p{Scx=Batk}) (56)
+ \p{Script_Extensions: Batk} \p{Script_Extensions=Batak} (56)
+ \p{Script_Extensions: Beng} \p{Script_Extensions=Bengali} (94)
+ \p{Script_Extensions: Bengali} (Short: \p{Scx=Beng}) (94)
+ \p{Script_Extensions: Bopo} \p{Script_Extensions=Bopomofo} (306)
+ \p{Script_Extensions: Bopomofo} (Short: \p{Scx=Bopo}) (306)
+ \p{Script_Extensions: Brah} \p{Script_Extensions=Brahmi} (108)
+ \p{Script_Extensions: Brahmi} (Short: \p{Scx=Brah}) (108)
+ \p{Script_Extensions: Brai} \p{Script_Extensions=Braille} (256)
+ \p{Script_Extensions: Braille} (Short: \p{Scx=Brai}) (256)
+ \p{Script_Extensions: Bugi} \p{Script_Extensions=Buginese} (30)
+ \p{Script_Extensions: Buginese} (Short: \p{Scx=Bugi}) (30)
+ \p{Script_Extensions: Buhd} \p{Script_Extensions=Buhid} (22)
+ \p{Script_Extensions: Buhid} (Short: \p{Scx=Buhd}) (22)
+ \p{Script_Extensions: Cakm} \p{Script_Extensions=Chakma} (67)
+ \p{Script_Extensions: Canadian_Aboriginal} (Short: \p{Scx=Cans})
+ (710)
+ \p{Script_Extensions: Cans} \p{Script_Extensions=
+ Canadian_Aboriginal} (710)
+ \p{Script_Extensions: Cari} \p{Script_Extensions=Carian} (49)
+ \p{Script_Extensions: Carian} (Short: \p{Scx=Cari}) (49)
+ \p{Script_Extensions: Chakma} (Short: \p{Scx=Cakm}) (67)
+ \p{Script_Extensions: Cham} (Short: \p{Scx=Cham}) (83)
+ \p{Script_Extensions: Cher} \p{Script_Extensions=Cherokee} (85)
+ \p{Script_Extensions: Cherokee} (Short: \p{Scx=Cher}) (85)
+ \p{Script_Extensions: Common} (Short: \p{Scx=Zyyy}) (6059)
+ \p{Script_Extensions: Copt} \p{Script_Extensions=Coptic} (137)
+ \p{Script_Extensions: Coptic} (Short: \p{Scx=Copt}) (137)
+ \p{Script_Extensions: Cprt} \p{Script_Extensions=Cypriot} (112)
+ \p{Script_Extensions: Cuneiform} (Short: \p{Scx=Xsux}) (982)
+ \p{Script_Extensions: Cypriot} (Short: \p{Scx=Cprt}) (112)
+ \p{Script_Extensions: Cyrillic} (Short: \p{Scx=Cyrl}) (417)
+ \p{Script_Extensions: Cyrl} \p{Script_Extensions=Cyrillic} (417)
+ \p{Script_Extensions: Deseret} (Short: \p{Scx=Dsrt}) (80)
+ \p{Script_Extensions: Deva} \p{Script_Extensions=Devanagari} (163)
+ \p{Script_Extensions: Devanagari} (Short: \p{Scx=Deva}) (163)
+ \p{Script_Extensions: Dsrt} \p{Script_Extensions=Deseret} (80)
+ \p{Script_Extensions: Egyp} \p{Script_Extensions=
+ Egyptian_Hieroglyphs} (1071)
+ \p{Script_Extensions: Egyptian_Hieroglyphs} (Short: \p{Scx=Egyp})
+ (1071)
+ \p{Script_Extensions: Ethi} \p{Script_Extensions=Ethiopic} (495)
+ \p{Script_Extensions: Ethiopic} (Short: \p{Scx=Ethi}) (495)
+ \p{Script_Extensions: Geor} \p{Script_Extensions=Georgian} (128)
+ \p{Script_Extensions: Georgian} (Short: \p{Scx=Geor}) (128)
+ \p{Script_Extensions: Glag} \p{Script_Extensions=Glagolitic} (94)
+ \p{Script_Extensions: Glagolitic} (Short: \p{Scx=Glag}) (94)
+ \p{Script_Extensions: Goth} \p{Script_Extensions=Gothic} (27)
+ \p{Script_Extensions: Gothic} (Short: \p{Scx=Goth}) (27)
+ \p{Script_Extensions: Greek} (Short: \p{Scx=Grek}) (511)
+ \p{Script_Extensions: Grek} \p{Script_Extensions=Greek} (511)
+ \p{Script_Extensions: Gujarati} (Short: \p{Scx=Gujr}) (94)
+ \p{Script_Extensions: Gujr} \p{Script_Extensions=Gujarati} (94)
+ \p{Script_Extensions: Gurmukhi} (Short: \p{Scx=Guru}) (91)
+ \p{Script_Extensions: Guru} \p{Script_Extensions=Gurmukhi} (91)
+ \p{Script_Extensions: Han} (Short: \p{Scx=Han}) (76_218)
+ \p{Script_Extensions: Hang} \p{Script_Extensions=Hangul} (11_971)
+ \p{Script_Extensions: Hangul} (Short: \p{Scx=Hang}) (11_971)
+ \p{Script_Extensions: Hani} \p{Script_Extensions=Han} (76_218)
+ \p{Script_Extensions: Hano} \p{Script_Extensions=Hanunoo} (23)
+ \p{Script_Extensions: Hanunoo} (Short: \p{Scx=Hano}) (23)
+ \p{Script_Extensions: Hebr} \p{Script_Extensions=Hebrew} (133)
+ \p{Script_Extensions: Hebrew} (Short: \p{Scx=Hebr}) (133)
+ \p{Script_Extensions: Hira} \p{Script_Extensions=Hiragana} (356)
+ \p{Script_Extensions: Hiragana} (Short: \p{Scx=Hira}) (356)
+ \p{Script_Extensions: Imperial_Aramaic} (Short: \p{Scx=Armi}) (31)
+ \p{Script_Extensions: Inherited} (Short: \p{Scx=Zinh}) (506)
+ \p{Script_Extensions: Inscriptional_Pahlavi} (Short: \p{Scx=Phli})
+ (27)
+ \p{Script_Extensions: Inscriptional_Parthian} (Short: \p{Scx=
+ Prti}) (30)
+ \p{Script_Extensions: Ital} \p{Script_Extensions=Old_Italic} (35)
+ \p{Script_Extensions: Java} \p{Script_Extensions=Javanese} (91)
+ \p{Script_Extensions: Javanese} (Short: \p{Scx=Java}) (91)
+ \p{Script_Extensions: Kaithi} (Short: \p{Scx=Kthi}) (76)
+ \p{Script_Extensions: Kali} \p{Script_Extensions=Kayah_Li} (48)
+ \p{Script_Extensions: Kana} \p{Script_Extensions=Katakana} (565)
+ \p{Script_Extensions: Kannada} (Short: \p{Scx=Knda}) (86)
+ \p{Script_Extensions: Katakana} (Short: \p{Scx=Kana}) (565)
+ \p{Script_Extensions: Kayah_Li} (Short: \p{Scx=Kali}) (48)
+ \p{Script_Extensions: Khar} \p{Script_Extensions=Kharoshthi} (65)
+ \p{Script_Extensions: Kharoshthi} (Short: \p{Scx=Khar}) (65)
+ \p{Script_Extensions: Khmer} (Short: \p{Scx=Khmr}) (146)
+ \p{Script_Extensions: Khmr} \p{Script_Extensions=Khmer} (146)
+ \p{Script_Extensions: Knda} \p{Script_Extensions=Kannada} (86)
+ \p{Script_Extensions: Kthi} \p{Script_Extensions=Kaithi} (76)
+ \p{Script_Extensions: Lana} \p{Script_Extensions=Tai_Tham} (127)
+ \p{Script_Extensions: Lao} (Short: \p{Scx=Lao}) (67)
+ \p{Script_Extensions: Laoo} \p{Script_Extensions=Lao} (67)
+ \p{Script_Extensions: Latin} (Short: \p{Scx=Latn}) (1272)
+ \p{Script_Extensions: Latn} \p{Script_Extensions=Latin} (1272)
+ \p{Script_Extensions: Lepc} \p{Script_Extensions=Lepcha} (74)
+ \p{Script_Extensions: Lepcha} (Short: \p{Scx=Lepc}) (74)
+ \p{Script_Extensions: Limb} \p{Script_Extensions=Limbu} (66)
+ \p{Script_Extensions: Limbu} (Short: \p{Scx=Limb}) (66)
+ \p{Script_Extensions: Linb} \p{Script_Extensions=Linear_B} (268)
+ \p{Script_Extensions: Linear_B} (Short: \p{Scx=Linb}) (268)
+ \p{Script_Extensions: Lisu} (Short: \p{Scx=Lisu}) (48)
+ \p{Script_Extensions: Lyci} \p{Script_Extensions=Lycian} (29)
+ \p{Script_Extensions: Lycian} (Short: \p{Scx=Lyci}) (29)
+ \p{Script_Extensions: Lydi} \p{Script_Extensions=Lydian} (27)
+ \p{Script_Extensions: Lydian} (Short: \p{Scx=Lydi}) (27)
+ \p{Script_Extensions: Malayalam} (Short: \p{Scx=Mlym}) (98)
+ \p{Script_Extensions: Mand} \p{Script_Extensions=Mandaic} (30)
+ \p{Script_Extensions: Mandaic} (Short: \p{Scx=Mand}) (30)
+ \p{Script_Extensions: Meetei_Mayek} (Short: \p{Scx=Mtei}) (79)
+ \p{Script_Extensions: Merc} \p{Script_Extensions=Meroitic_Cursive}
+ (26)
+ \p{Script_Extensions: Mero} \p{Script_Extensions=
+ Meroitic_Hieroglyphs} (32)
+ \p{Script_Extensions: Meroitic_Cursive} (Short: \p{Scx=Merc}) (26)
+ \p{Script_Extensions: Meroitic_Hieroglyphs} (Short: \p{Scx=Mero})
+ (32)
+ \p{Script_Extensions: Miao} (Short: \p{Scx=Miao}) (133)
+ \p{Script_Extensions: Mlym} \p{Script_Extensions=Malayalam} (98)
+ \p{Script_Extensions: Mong} \p{Script_Extensions=Mongolian} (156)
+ \p{Script_Extensions: Mongolian} (Short: \p{Scx=Mong}) (156)
+ \p{Script_Extensions: Mtei} \p{Script_Extensions=Meetei_Mayek} (79)
+ \p{Script_Extensions: Myanmar} (Short: \p{Scx=Mymr}) (188)
+ \p{Script_Extensions: Mymr} \p{Script_Extensions=Myanmar} (188)
+ \p{Script_Extensions: New_Tai_Lue} (Short: \p{Scx=Talu}) (83)
+ \p{Script_Extensions: Nko} (Short: \p{Scx=Nko}) (59)
+ \p{Script_Extensions: Nkoo} \p{Script_Extensions=Nko} (59)
+ \p{Script_Extensions: Ogam} \p{Script_Extensions=Ogham} (29)
+ \p{Script_Extensions: Ogham} (Short: \p{Scx=Ogam}) (29)
+ \p{Script_Extensions: Ol_Chiki} (Short: \p{Scx=Olck}) (48)
+ \p{Script_Extensions: Olck} \p{Script_Extensions=Ol_Chiki} (48)
+ \p{Script_Extensions: Old_Italic} (Short: \p{Scx=Ital}) (35)
+ \p{Script_Extensions: Old_Persian} (Short: \p{Scx=Xpeo}) (50)
+ \p{Script_Extensions: Old_South_Arabian} (Short: \p{Scx=Sarb}) (32)
+ \p{Script_Extensions: Old_Turkic} (Short: \p{Scx=Orkh}) (73)
+ \p{Script_Extensions: Oriya} (Short: \p{Scx=Orya}) (92)
+ \p{Script_Extensions: Orkh} \p{Script_Extensions=Old_Turkic} (73)
+ \p{Script_Extensions: Orya} \p{Script_Extensions=Oriya} (92)
+ \p{Script_Extensions: Osma} \p{Script_Extensions=Osmanya} (40)
+ \p{Script_Extensions: Osmanya} (Short: \p{Scx=Osma}) (40)
+ \p{Script_Extensions: Phag} \p{Script_Extensions=Phags_Pa} (59)
+ \p{Script_Extensions: Phags_Pa} (Short: \p{Scx=Phag}) (59)
+ \p{Script_Extensions: Phli} \p{Script_Extensions=
+ Inscriptional_Pahlavi} (27)
+ \p{Script_Extensions: Phnx} \p{Script_Extensions=Phoenician} (29)
+ \p{Script_Extensions: Phoenician} (Short: \p{Scx=Phnx}) (29)
+ \p{Script_Extensions: Plrd} \p{Script_Extensions=Miao} (133)
+ \p{Script_Extensions: Prti} \p{Script_Extensions=
+ Inscriptional_Parthian} (30)
+ \p{Script_Extensions: Qaac} \p{Script_Extensions=Coptic} (137)
+ \p{Script_Extensions: Qaai} \p{Script_Extensions=Inherited} (506)
+ \p{Script_Extensions: Rejang} (Short: \p{Scx=Rjng}) (37)
+ \p{Script_Extensions: Rjng} \p{Script_Extensions=Rejang} (37)
+ \p{Script_Extensions: Runic} (Short: \p{Scx=Runr}) (78)
+ \p{Script_Extensions: Runr} \p{Script_Extensions=Runic} (78)
+ \p{Script_Extensions: Samaritan} (Short: \p{Scx=Samr}) (61)
+ \p{Script_Extensions: Samr} \p{Script_Extensions=Samaritan} (61)
+ \p{Script_Extensions: Sarb} \p{Script_Extensions=
+ Old_South_Arabian} (32)
+ \p{Script_Extensions: Saur} \p{Script_Extensions=Saurashtra} (81)
+ \p{Script_Extensions: Saurashtra} (Short: \p{Scx=Saur}) (81)
+ \p{Script_Extensions: Sharada} (Short: \p{Scx=Shrd}) (83)
+ \p{Script_Extensions: Shavian} (Short: \p{Scx=Shaw}) (48)
+ \p{Script_Extensions: Shaw} \p{Script_Extensions=Shavian} (48)
+ \p{Script_Extensions: Shrd} \p{Script_Extensions=Sharada} (83)
+ \p{Script_Extensions: Sinh} \p{Script_Extensions=Sinhala} (80)
+ \p{Script_Extensions: Sinhala} (Short: \p{Scx=Sinh}) (80)
+ \p{Script_Extensions: Sora} \p{Script_Extensions=Sora_Sompeng} (35)
+ \p{Script_Extensions: Sora_Sompeng} (Short: \p{Scx=Sora}) (35)
+ \p{Script_Extensions: Sund} \p{Script_Extensions=Sundanese} (72)
+ \p{Script_Extensions: Sundanese} (Short: \p{Scx=Sund}) (72)
+ \p{Script_Extensions: Sylo} \p{Script_Extensions=Syloti_Nagri} (44)
+ \p{Script_Extensions: Syloti_Nagri} (Short: \p{Scx=Sylo}) (44)
+ \p{Script_Extensions: Syrc} \p{Script_Extensions=Syriac} (93)
+ \p{Script_Extensions: Syriac} (Short: \p{Scx=Syrc}) (93)
+ \p{Script_Extensions: Tagalog} (Short: \p{Scx=Tglg}) (22)
+ \p{Script_Extensions: Tagb} \p{Script_Extensions=Tagbanwa} (20)
+ \p{Script_Extensions: Tagbanwa} (Short: \p{Scx=Tagb}) (20)
+ \p{Script_Extensions: Tai_Le} (Short: \p{Scx=Tale}) (35)
+ \p{Script_Extensions: Tai_Tham} (Short: \p{Scx=Lana}) (127)
+ \p{Script_Extensions: Tai_Viet} (Short: \p{Scx=Tavt}) (72)
+ \p{Script_Extensions: Takr} \p{Script_Extensions=Takri} (78)
+ \p{Script_Extensions: Takri} (Short: \p{Scx=Takr}) (78)
+ \p{Script_Extensions: Tale} \p{Script_Extensions=Tai_Le} (35)
+ \p{Script_Extensions: Talu} \p{Script_Extensions=New_Tai_Lue} (83)
+ \p{Script_Extensions: Tamil} (Short: \p{Scx=Taml}) (72)
+ \p{Script_Extensions: Taml} \p{Script_Extensions=Tamil} (72)
+ \p{Script_Extensions: Tavt} \p{Script_Extensions=Tai_Viet} (72)
+ \p{Script_Extensions: Telu} \p{Script_Extensions=Telugu} (93)
+ \p{Script_Extensions: Telugu} (Short: \p{Scx=Telu}) (93)
+ \p{Script_Extensions: Tfng} \p{Script_Extensions=Tifinagh} (59)
+ \p{Script_Extensions: Tglg} \p{Script_Extensions=Tagalog} (22)
+ \p{Script_Extensions: Thaa} \p{Script_Extensions=Thaana} (65)
+ \p{Script_Extensions: Thaana} (Short: \p{Scx=Thaa}) (65)
+ \p{Script_Extensions: Thai} (Short: \p{Scx=Thai}) (86)
+ \p{Script_Extensions: Tibetan} (Short: \p{Scx=Tibt}) (207)
+ \p{Script_Extensions: Tibt} \p{Script_Extensions=Tibetan} (207)
+ \p{Script_Extensions: Tifinagh} (Short: \p{Scx=Tfng}) (59)
+ \p{Script_Extensions: Ugar} \p{Script_Extensions=Ugaritic} (31)
+ \p{Script_Extensions: Ugaritic} (Short: \p{Scx=Ugar}) (31)
+ \p{Script_Extensions: Unknown} (Short: \p{Scx=Zzzz}) (1_003_931)
+ \p{Script_Extensions: Vai} (Short: \p{Scx=Vai}) (300)
+ \p{Script_Extensions: Vaii} \p{Script_Extensions=Vai} (300)
+ \p{Script_Extensions: Xpeo} \p{Script_Extensions=Old_Persian} (50)
+ \p{Script_Extensions: Xsux} \p{Script_Extensions=Cuneiform} (982)
+ \p{Script_Extensions: Yi} (Short: \p{Scx=Yi}) (1246)
+ \p{Script_Extensions: Yiii} \p{Script_Extensions=Yi} (1246)
+ \p{Script_Extensions: Zinh} \p{Script_Extensions=Inherited} (506)
+ \p{Script_Extensions: Zyyy} \p{Script_Extensions=Common} (6059)
+ \p{Script_Extensions: Zzzz} \p{Script_Extensions=Unknown}
+ (1_003_931)
+ \p{Scx: *} \p{Script_Extensions: *}
\p{SD} \p{Soft_Dotted} (= \p{Soft_Dotted=Y}) (46)
\p{SD: *} \p{Soft_Dotted: *}
\p{Sentence_Break: AT} \p{Sentence_Break=ATerm} (4)
@@ -2688,32 +3416,36 @@ this property.
\p{Sentence_Break: CL} \p{Sentence_Break=Close} (177)
\p{Sentence_Break: Close} (Short: \p{SB=CL}) (177)
\p{Sentence_Break: CR} (Short: \p{SB=CR}) (1)
- \p{Sentence_Break: EX} \p{Sentence_Break=Extend} (1502)
- \p{Sentence_Break: Extend} (Short: \p{SB=EX}) (1502)
- \p{Sentence_Break: FO} \p{Sentence_Break=Format} (138)
- \p{Sentence_Break: Format} (Short: \p{SB=FO}) (138)
- \p{Sentence_Break: LE} \p{Sentence_Break=OLetter} (97_369)
+ \p{Sentence_Break: EX} \p{Sentence_Break=Extend} (1649)
+ \p{Sentence_Break: Extend} (Short: \p{SB=EX}) (1649)
+ \p{Sentence_Break: FO} \p{Sentence_Break=Format} (137)
+ \p{Sentence_Break: Format} (Short: \p{SB=FO}) (137)
+ \p{Sentence_Break: LE} \p{Sentence_Break=OLetter} (97_841)
\p{Sentence_Break: LF} (Short: \p{SB=LF}) (1)
- \p{Sentence_Break: LO} \p{Sentence_Break=Lower} (1917)
- \p{Sentence_Break: Lower} (Short: \p{SB=LO}) (1917)
- \p{Sentence_Break: NU} \p{Sentence_Break=Numeric} (412)
- \p{Sentence_Break: Numeric} (Short: \p{SB=NU}) (412)
- \p{Sentence_Break: OLetter} (Short: \p{SB=LE}) (97_369)
- \p{Sentence_Break: Other} (Short: \p{SB=XX}) (1_010_959)
+ \p{Sentence_Break: LO} \p{Sentence_Break=Lower} (1933)
+ \p{Sentence_Break: Lower} (Short: \p{SB=LO}) (1933)
+ \p{Sentence_Break: NU} \p{Sentence_Break=Numeric} (452)
+ \p{Sentence_Break: Numeric} (Short: \p{SB=NU}) (452)
+ \p{Sentence_Break: OLetter} (Short: \p{SB=LE}) (97_841)
+ \p{Sentence_Break: Other} (Short: \p{SB=XX}) (1_010_273)
\p{Sentence_Break: SC} \p{Sentence_Break=SContinue} (26)
\p{Sentence_Break: SContinue} (Short: \p{SB=SC}) (26)
\p{Sentence_Break: SE} \p{Sentence_Break=Sep} (3)
\p{Sentence_Break: Sep} (Short: \p{SB=SE}) (3)
\p{Sentence_Break: Sp} (Short: \p{SB=Sp}) (21)
- \p{Sentence_Break: ST} \p{Sentence_Break=STerm} (73)
- \p{Sentence_Break: STerm} (Short: \p{SB=ST}) (73)
- \p{Sentence_Break: UP} \p{Sentence_Break=Upper} (1509)
- \p{Sentence_Break: Upper} (Short: \p{SB=UP}) (1509)
- \p{Sentence_Break: XX} \p{Sentence_Break=Other} (1_010_959)
+ \p{Sentence_Break: ST} \p{Sentence_Break=STerm} (80)
+ \p{Sentence_Break: STerm} (Short: \p{SB=ST}) (80)
+ \p{Sentence_Break: UP} \p{Sentence_Break=Upper} (1514)
+ \p{Sentence_Break: Upper} (Short: \p{SB=UP}) (1514)
+ \p{Sentence_Break: XX} \p{Sentence_Break=Other} (1_010_273)
\p{Separator} \p{General_Category=Separator} (Short:
\p{Z}) (20)
+ \p{Sharada} \p{Script=Sharada} (Short: \p{Shrd}; NOT
+ \p{Block=Sharada}) (83)
\p{Shavian} \p{Script=Shavian} (Short: \p{Shaw}) (48)
\p{Shaw} \p{Shavian} (= \p{Script=Shavian}) (48)
+ \p{Shrd} \p{Sharada} (= \p{Script=Sharada}) (NOT
+ \p{Block=Sharada}) (83)
\p{Sinh} \p{Sinhala} (= \p{Script=Sinhala}) (NOT
\p{Block=Sinhala}) (80)
\p{Sinhala} \p{Script=Sinhala} (Short: \p{Sinh}; NOT
@@ -2722,13 +3454,21 @@ this property.
\p{General_Category=Modifier_Symbol})
(115)
\p{Sm} \p{Math_Symbol} (= \p{General_Category=
- Math_Symbol}) (948)
- X \p{Small_Form_Variants} \p{Block=Small_Form_Variants} (32)
+ Math_Symbol}) (952)
+ X \p{Small_Form_Variants} \p{Block=Small_Form_Variants} (Short:
+ \p{InSmallForms}) (32)
+ X \p{Small_Forms} \p{Small_Form_Variants} (= \p{Block=
+ Small_Form_Variants}) (32)
\p{So} \p{Other_Symbol} (= \p{General_Category=
- Other_Symbol}) (4398)
+ Other_Symbol}) (4404)
\p{Soft_Dotted} \p{Soft_Dotted=Y} (Short: \p{SD}) (46)
\p{Soft_Dotted: N*} (Short: \p{SD=N}, \P{SD}) (1_114_066)
\p{Soft_Dotted: Y*} (Short: \p{SD=Y}, \p{SD}) (46)
+ \p{Sora} \p{Sora_Sompeng} (= \p{Script=
+ Sora_Sompeng}) (NOT \p{Block=
+ Sora_Sompeng}) (35)
+ \p{Sora_Sompeng} \p{Script=Sora_Sompeng} (Short: \p{Sora};
+ NOT \p{Block=Sora_Sompeng}) (35)
\p{Space} \p{White_Space=Y} \s including beyond
ASCII plus vertical tab (26)
\p{Space: *} \p{White_Space: *}
@@ -2736,32 +3476,60 @@ this property.
(Short: \p{Zs}) (18)
\p{SpacePerl} \p{XPerlSpace} (25)
\p{Spacing_Mark} \p{General_Category=Spacing_Mark} (Short:
- \p{Mc}) (287)
+ \p{Mc}) (353)
X \p{Spacing_Modifier_Letters} \p{Block=Spacing_Modifier_Letters}
- (80)
+ (Short: \p{InModifierLetters}) (80)
X \p{Specials} \p{Block=Specials} (16)
- \p{STerm} \p{STerm=Y} (76)
- \p{STerm: N*} (Single: \P{STerm}) (1_114_036)
- \p{STerm: Y*} (Single: \p{STerm}) (76)
+ \p{STerm} \p{STerm=Y} (83)
+ \p{STerm: N*} (Single: \P{STerm}) (1_114_029)
+ \p{STerm: Y*} (Single: \p{STerm}) (83)
\p{Sund} \p{Sundanese} (= \p{Script=Sundanese})
- (NOT \p{Block=Sundanese}) (55)
+ (NOT \p{Block=Sundanese}) (72)
\p{Sundanese} \p{Script=Sundanese} (Short: \p{Sund}; NOT
- \p{Block=Sundanese}) (55)
+ \p{Block=Sundanese}) (72)
+ X \p{Sundanese_Sup} \p{Sundanese_Supplement} (= \p{Block=
+ Sundanese_Supplement}) (16)
+ X \p{Sundanese_Supplement} \p{Block=Sundanese_Supplement} (Short:
+ \p{InSundaneseSup}) (16)
+ X \p{Sup_Arrows_A} \p{Supplemental_Arrows_A} (= \p{Block=
+ Supplemental_Arrows_A}) (16)
+ X \p{Sup_Arrows_B} \p{Supplemental_Arrows_B} (= \p{Block=
+ Supplemental_Arrows_B}) (128)
+ X \p{Sup_Math_Operators} \p{Supplemental_Mathematical_Operators} (=
+ \p{Block=
+ Supplemental_Mathematical_Operators})
+ (256)
+ X \p{Sup_PUA_A} \p{Supplementary_Private_Use_Area_A} (=
+ \p{Block=
+ Supplementary_Private_Use_Area_A})
+ (65_536)
+ X \p{Sup_PUA_B} \p{Supplementary_Private_Use_Area_B} (=
+ \p{Block=
+ Supplementary_Private_Use_Area_B})
+ (65_536)
+ X \p{Sup_Punctuation} \p{Supplemental_Punctuation} (= \p{Block=
+ Supplemental_Punctuation}) (128)
+ X \p{Super_And_Sub} \p{Superscripts_And_Subscripts} (=
+ \p{Block=Superscripts_And_Subscripts})
+ (48)
X \p{Superscripts_And_Subscripts} \p{Block=
- Superscripts_And_Subscripts} (48)
- X \p{Supplemental_Arrows_A} \p{Block=Supplemental_Arrows_A} (16)
- X \p{Supplemental_Arrows_B} \p{Block=Supplemental_Arrows_B} (128)
+ Superscripts_And_Subscripts} (Short:
+ \p{InSuperAndSub}) (48)
+ X \p{Supplemental_Arrows_A} \p{Block=Supplemental_Arrows_A} (Short:
+ \p{InSupArrowsA}) (16)
+ X \p{Supplemental_Arrows_B} \p{Block=Supplemental_Arrows_B} (Short:
+ \p{InSupArrowsB}) (128)
X \p{Supplemental_Mathematical_Operators} \p{Block=
Supplemental_Mathematical_Operators}
- (256)
+ (Short: \p{InSupMathOperators}) (256)
X \p{Supplemental_Punctuation} \p{Block=Supplemental_Punctuation}
- (128)
+ (Short: \p{InSupPunctuation}) (128)
X \p{Supplementary_Private_Use_Area_A} \p{Block=
Supplementary_Private_Use_Area_A}
- (65_536)
+ (Short: \p{InSupPUAA}) (65_536)
X \p{Supplementary_Private_Use_Area_B} \p{Block=
Supplementary_Private_Use_Area_B}
- (65_536)
+ (Short: \p{InSupPUAB}) (65_536)
\p{Surrogate} \p{General_Category=Surrogate} (Short:
\p{Cs}) (2048)
\p{Sylo} \p{Syloti_Nagri} (= \p{Script=
@@ -2770,7 +3538,7 @@ this property.
\p{Syloti_Nagri} \p{Script=Syloti_Nagri} (Short: \p{Sylo};
NOT \p{Block=Syloti_Nagri}) (44)
\p{Symbol} \p{General_Category=Symbol} (Short: \p{S})
- (5508)
+ (5519)
\p{Syrc} \p{Syriac} (= \p{Script=Syriac}) (NOT
\p{Block=Syriac}) (77)
\p{Syriac} \p{Script=Syriac} (Short: \p{Syrc}; NOT
@@ -2788,7 +3556,14 @@ this property.
\p{Block=Tai_Tham}) (127)
\p{Tai_Viet} \p{Script=Tai_Viet} (Short: \p{Tavt}; NOT
\p{Block=Tai_Viet}) (72)
- X \p{Tai_Xuan_Jing_Symbols} \p{Block=Tai_Xuan_Jing_Symbols} (96)
+ X \p{Tai_Xuan_Jing} \p{Tai_Xuan_Jing_Symbols} (= \p{Block=
+ Tai_Xuan_Jing_Symbols}) (96)
+ X \p{Tai_Xuan_Jing_Symbols} \p{Block=Tai_Xuan_Jing_Symbols} (Short:
+ \p{InTaiXuanJing}) (96)
+ \p{Takr} \p{Takri} (= \p{Script=Takri}) (NOT
+ \p{Block=Takri}) (66)
+ \p{Takri} \p{Script=Takri} (Short: \p{Takr}; NOT
+ \p{Block=Takri}) (66)
\p{Tale} \p{Tai_Le} (= \p{Script=Tai_Le}) (NOT
\p{Block=Tai_Le}) (35)
\p{Talu} \p{New_Tai_Lue} (= \p{Script=New_Tai_Lue})
@@ -2804,15 +3579,15 @@ this property.
\p{Telugu} \p{Script=Telugu} (Short: \p{Telu}; NOT
\p{Block=Telugu}) (93)
\p{Term} \p{Terminal_Punctuation} (=
- \p{Terminal_Punctuation=Y}) (169)
+ \p{Terminal_Punctuation=Y}) (176)
\p{Term: *} \p{Terminal_Punctuation: *}
\p{Terminal_Punctuation} \p{Terminal_Punctuation=Y} (Short:
- \p{Term}) (169)
+ \p{Term}) (176)
\p{Terminal_Punctuation: N*} (Short: \p{Term=N}, \P{Term})
- (1_113_943)
- \p{Terminal_Punctuation: Y*} (Short: \p{Term=Y}, \p{Term}) (169)
+ (1_113_936)
+ \p{Terminal_Punctuation: Y*} (Short: \p{Term=Y}, \p{Term}) (176)
\p{Tfng} \p{Tifinagh} (= \p{Script=Tifinagh}) (NOT
- \p{Block=Tifinagh}) (57)
+ \p{Block=Tifinagh}) (59)
\p{Tglg} \p{Tagalog} (= \p{Script=Tagalog}) (NOT
\p{Block=Tagalog}) (20)
\p{Thaa} \p{Thaana} (= \p{Script=Thaana}) (NOT
@@ -2825,80 +3600,100 @@ this property.
\p{Tibt} \p{Tibetan} (= \p{Script=Tibetan}) (NOT
\p{Block=Tibetan}) (207)
\p{Tifinagh} \p{Script=Tifinagh} (Short: \p{Tfng}; NOT
- \p{Block=Tifinagh}) (57)
- \p{Title} (/i= Cased=Yes) (31)
- \p{Titlecase} \p{Title} (/i= Cased=Yes) (31)
+ \p{Block=Tifinagh}) (59)
+ \p{Title} \p{Titlecase} (/i= Cased=Yes) (31)
+ \p{Titlecase} (= \p{Gc=Lt}) (Short: \p{Title}; /i=
+ Cased=Yes) (31)
\p{Titlecase_Letter} \p{General_Category=Titlecase_Letter}
(Short: \p{Lt}; /i= General_Category=
Cased_Letter) (31)
+ X \p{Transport_And_Map} \p{Transport_And_Map_Symbols} (= \p{Block=
+ Transport_And_Map_Symbols}) (128)
X \p{Transport_And_Map_Symbols} \p{Block=Transport_And_Map_Symbols}
- (128)
+ (Short: \p{InTransportAndMap}) (128)
+ X \p{UCAS} \p{Unified_Canadian_Aboriginal_Syllabics}
+ (= \p{Block=
+ Unified_Canadian_Aboriginal_Syllabics})
+ (640)
+ X \p{UCAS_Ext} \p{Unified_Canadian_Aboriginal_Syllabics_-
+ Extended} (= \p{Block=
+ Unified_Canadian_Aboriginal_Syllabics_-
+ Extended}) (80)
\p{Ugar} \p{Ugaritic} (= \p{Script=Ugaritic}) (NOT
\p{Block=Ugaritic}) (31)
\p{Ugaritic} \p{Script=Ugaritic} (Short: \p{Ugar}; NOT
\p{Block=Ugaritic}) (31)
\p{UIdeo} \p{Unified_Ideograph} (=
- \p{Unified_Ideograph=Y}) (74_616)
+ \p{Unified_Ideograph=Y}) (74_617)
\p{UIdeo: *} \p{Unified_Ideograph: *}
\p{Unassigned} \p{General_Category=Unassigned} (Short:
- \p{Cn}) (865_147)
+ \p{Cn}) (864_415)
X \p{Unified_Canadian_Aboriginal_Syllabics} \p{Block=
Unified_Canadian_Aboriginal_Syllabics}
- (Short: \p{InCanadianSyllabics}) (640)
+ (Short: \p{InUCAS}) (640)
X \p{Unified_Canadian_Aboriginal_Syllabics_Extended} \p{Block=
Unified_Canadian_Aboriginal_Syllabics_-
- Extended} (80)
+ Extended} (Short: \p{InUCASExt}) (80)
\p{Unified_Ideograph} \p{Unified_Ideograph=Y} (Short: \p{UIdeo})
- (74_616)
+ (74_617)
\p{Unified_Ideograph: N*} (Short: \p{UIdeo=N}, \P{UIdeo})
- (1_039_496)
- \p{Unified_Ideograph: Y*} (Short: \p{UIdeo=Y}, \p{UIdeo}) (74_616)
+ (1_039_495)
+ \p{Unified_Ideograph: Y*} (Short: \p{UIdeo=Y}, \p{UIdeo}) (74_617)
\p{Unknown} \p{Script=Unknown} (Short: \p{Zzzz})
- (1_004_663)
- \p{Upper} \p{Uppercase=Y} (/i= Cased=Yes) (1478)
+ (1_003_931)
+ \p{Upper} \p{Uppercase=Y} (/i= Cased=Yes) (1483)
\p{Upper: *} \p{Uppercase: *}
\p{Uppercase} \p{Upper} (= \p{Uppercase=Y}) (/i= Cased=
- Yes) (1478)
+ Yes) (1483)
\p{Uppercase: N*} (Short: \p{Upper=N}, \P{Upper}; /i= Cased=
- No) (1_112_634)
+ No) (1_112_629)
\p{Uppercase: Y*} (Short: \p{Upper=Y}, \p{Upper}; /i= Cased=
- Yes) (1478)
+ Yes) (1483)
\p{Uppercase_Letter} \p{General_Category=Uppercase_Letter}
(Short: \p{Lu}; /i= General_Category=
- Cased_Letter) (1436)
+ Cased_Letter) (1441)
\p{Vai} \p{Script=Vai} (NOT \p{Block=Vai}) (300)
\p{Vaii} \p{Vai} (= \p{Script=Vai}) (NOT \p{Block=
Vai}) (300)
- \p{Variation_Selector} \p{Variation_Selector=Y} (Short: \p{VS})
- (259)
+ \p{Variation_Selector} \p{Variation_Selector=Y} (Short: \p{VS};
+ NOT \p{Variation_Selectors}) (259)
\p{Variation_Selector: N*} (Short: \p{VS=N}, \P{VS}) (1_113_853)
\p{Variation_Selector: Y*} (Short: \p{VS=Y}, \p{VS}) (259)
- X \p{Variation_Selectors} \p{Block=Variation_Selectors} (16)
+ X \p{Variation_Selectors} \p{Block=Variation_Selectors} (Short:
+ \p{InVS}) (16)
X \p{Variation_Selectors_Supplement} \p{Block=
- Variation_Selectors_Supplement} (240)
- X \p{Vedic_Extensions} \p{Block=Vedic_Extensions} (48)
+ Variation_Selectors_Supplement} (Short:
+ \p{InVSSup}) (240)
+ X \p{Vedic_Ext} \p{Vedic_Extensions} (= \p{Block=
+ Vedic_Extensions}) (48)
+ X \p{Vedic_Extensions} \p{Block=Vedic_Extensions} (Short:
+ \p{InVedicExt}) (48)
X \p{Vertical_Forms} \p{Block=Vertical_Forms} (16)
\p{VertSpace} \v (7)
\p{VS} \p{Variation_Selector} (=
- \p{Variation_Selector=Y}) (259)
+ \p{Variation_Selector=Y}) (NOT
+ \p{Variation_Selectors}) (259)
\p{VS: *} \p{Variation_Selector: *}
+ X \p{VS_Sup} \p{Variation_Selectors_Supplement} (=
+ \p{Block=
+ Variation_Selectors_Supplement}) (240)
\p{WB: *} \p{Word_Break: *}
\p{White_Space} \p{White_Space=Y} (Short: \p{WSpace}) (26)
\p{White_Space: N*} (Short: \p{Space=N}, \P{WSpace})
(1_114_086)
\p{White_Space: Y*} (Short: \p{Space=Y}, \p{WSpace}) (26)
\p{Word} \w, including beyond ASCII; = \p{Alnum} +
- \pM + \p{Pc} (102_724)
- \p{Word_Break: ALetter} (Short: \p{WB=LE}) (24_453)
+ \pM + \p{Pc} (103_404)
+ \p{Word_Break: ALetter} (Short: \p{WB=LE}) (24_941)
\p{Word_Break: CR} (Short: \p{WB=CR}) (1)
\p{Word_Break: EX} \p{Word_Break=ExtendNumLet} (10)
- \p{Word_Break: Extend} (Short: \p{WB=Extend}) (1502)
+ \p{Word_Break: Extend} (Short: \p{WB=Extend}) (1649)
\p{Word_Break: ExtendNumLet} (Short: \p{WB=EX}) (10)
- \p{Word_Break: FO} \p{Word_Break=Format} (137)
- \p{Word_Break: Format} (Short: \p{WB=FO}) (137)
+ \p{Word_Break: FO} \p{Word_Break=Format} (136)
+ \p{Word_Break: Format} (Short: \p{WB=FO}) (136)
\p{Word_Break: KA} \p{Word_Break=Katakana} (310)
\p{Word_Break: Katakana} (Short: \p{WB=KA}) (310)
- \p{Word_Break: LE} \p{Word_Break=ALetter} (24_453)
+ \p{Word_Break: LE} \p{Word_Break=ALetter} (24_941)
\p{Word_Break: LF} (Short: \p{WB=LF}) (1)
\p{Word_Break: MB} \p{Word_Break=MidNumLet} (8)
\p{Word_Break: MidLetter} (Short: \p{WB=ML}) (8)
@@ -2908,45 +3703,45 @@ this property.
\p{Word_Break: MN} \p{Word_Break=MidNum} (15)
\p{Word_Break: Newline} (Short: \p{WB=NL}) (5)
\p{Word_Break: NL} \p{Word_Break=Newline} (5)
- \p{Word_Break: NU} \p{Word_Break=Numeric} (411)
- \p{Word_Break: Numeric} (Short: \p{WB=NU}) (411)
- \p{Word_Break: Other} (Short: \p{WB=XX}) (1_087_251)
- \p{Word_Break: XX} \p{Word_Break=Other} (1_087_251)
+ \p{Word_Break: NU} \p{Word_Break=Numeric} (451)
+ \p{Word_Break: Numeric} (Short: \p{WB=NU}) (451)
+ \p{Word_Break: Other} (Short: \p{WB=XX}) (1_086_577)
+ \p{Word_Break: XX} \p{Word_Break=Other} (1_086_577)
\p{WSpace} \p{White_Space} (= \p{White_Space=Y}) (26)
\p{WSpace: *} \p{White_Space: *}
\p{XDigit} \p{Hex_Digit=Y} (Short: \p{Hex}) (44)
\p{XID_Continue} \p{XID_Continue=Y} (Short: \p{XIDC})
- (102_656)
- \p{XID_Continue: N*} (Short: \p{XIDC=N}, \P{XIDC}) (1_011_456)
- \p{XID_Continue: Y*} (Short: \p{XIDC=Y}, \p{XIDC}) (102_656)
- \p{XID_Start} \p{XID_Start=Y} (Short: \p{XIDS}) (100_724)
- \p{XID_Start: N*} (Short: \p{XIDS=N}, \P{XIDS}) (1_013_388)
- \p{XID_Start: Y*} (Short: \p{XIDS=Y}, \p{XIDS}) (100_724)
+ (103_336)
+ \p{XID_Continue: N*} (Short: \p{XIDC=N}, \P{XIDC}) (1_010_776)
+ \p{XID_Continue: Y*} (Short: \p{XIDC=Y}, \p{XIDC}) (103_336)
+ \p{XID_Start} \p{XID_Start=Y} (Short: \p{XIDS}) (101_217)
+ \p{XID_Start: N*} (Short: \p{XIDS=N}, \P{XIDS}) (1_012_895)
+ \p{XID_Start: Y*} (Short: \p{XIDS=Y}, \p{XIDS}) (101_217)
\p{XIDC} \p{XID_Continue} (= \p{XID_Continue=Y})
- (102_656)
+ (103_336)
\p{XIDC: *} \p{XID_Continue: *}
- \p{XIDS} \p{XID_Start} (= \p{XID_Start=Y}) (100_724)
+ \p{XIDS} \p{XID_Start} (= \p{XID_Start=Y}) (101_217)
\p{XIDS: *} \p{XID_Start: *}
\p{Xpeo} \p{Old_Persian} (= \p{Script=Old_Persian})
(NOT \p{Block=Old_Persian}) (50)
\p{XPerlSpace} \s, including beyond ASCII (Short:
\p{SpacePerl}) (25)
- \p{XPosixAlnum} \p{Alnum} (101_959)
- \p{XPosixAlpha} \p{Alpha} (= \p{Alphabetic=Y}) (101_539)
+ \p{XPosixAlnum} \p{Alnum} (102_619)
+ \p{XPosixAlpha} \p{Alpha} (= \p{Alphabetic=Y}) (102_159)
\p{XPosixBlank} \p{Blank} (19)
\p{XPosixCntrl} \p{Cntrl} (= \p{General_Category=Control})
(65)
\p{XPosixDigit} \p{Digit} (= \p{General_Category=
- Decimal_Number}) (420)
- \p{XPosixGraph} \p{Graph} (246_832)
+ Decimal_Number}) (460)
+ \p{XPosixGraph} \p{Graph} (247_564)
\p{XPosixLower} \p{Lower} (= \p{Lowercase=Y}) (/i= Cased=
- Yes) (1918)
- \p{XPosixPrint} \p{Print} (246_850)
- \p{XPosixPunct} \p{Punct} + ASCII-range \p{Symbol} (607)
+ Yes) (1934)
+ \p{XPosixPrint} \p{Print} (247_582)
+ \p{XPosixPunct} \p{Punct} + ASCII-range \p{Symbol} (641)
\p{XPosixSpace} \p{Space} (= \p{White_Space=Y}) (26)
\p{XPosixUpper} \p{Upper} (= \p{Uppercase=Y}) (/i= Cased=
- Yes) (1478)
- \p{XPosixWord} \p{Word} (102_724)
+ Yes) (1483)
+ \p{XPosixWord} \p{Word} (103_404)
\p{XPosixXDigit} \p{XDigit} (= \p{Hex_Digit=Y}) (44)
\p{Xsux} \p{Cuneiform} (= \p{Script=Cuneiform})
(NOT \p{Block=Cuneiform}) (982)
@@ -2954,11 +3749,14 @@ this property.
X \p{Yi_Radicals} \p{Block=Yi_Radicals} (64)
X \p{Yi_Syllables} \p{Block=Yi_Syllables} (1168)
\p{Yiii} \p{Yi} (= \p{Script=Yi}) (1220)
- X \p{Yijing_Hexagram_Symbols} \p{Block=Yijing_Hexagram_Symbols} (64)
+ X \p{Yijing} \p{Yijing_Hexagram_Symbols} (= \p{Block=
+ Yijing_Hexagram_Symbols}) (64)
+ X \p{Yijing_Hexagram_Symbols} \p{Block=Yijing_Hexagram_Symbols}
+ (Short: \p{InYijing}) (64)
\p{Z} \p{Separator} (= \p{General_Category=
Separator}) (20)
\p{Zinh} \p{Inherited} (= \p{Script=Inherited})
- (523)
+ (524)
\p{Zl} \p{Line_Separator} (= \p{General_Category=
Line_Separator}) (1)
\p{Zp} \p{Paragraph_Separator} (=
@@ -2967,69 +3765,352 @@ this property.
\p{Zs} \p{Space_Separator} (=
\p{General_Category=Space_Separator})
(18)
- \p{Zyyy} \p{Common} (= \p{Script=Common}) (6379)
+ \p{Zyyy} \p{Common} (= \p{Script=Common}) (6412)
\p{Zzzz} \p{Unknown} (= \p{Script=Unknown})
- (1_004_663)
- T \p{_CanonDCIJ} (For internal use by Perl, not necessarily
+ (1_003_931)
+ TX\p{_CanonDCIJ} (For internal use by Perl, not necessarily
stable) (= \p{Soft_Dotted=Y}) (46)
- T \p{_Case_Ignorable} (For internal use by Perl, not necessarily
- stable) (= \p{Case_Ignorable=Y}) (1692)
- T \p{_CombAbove} (For internal use by Perl, not necessarily
+ TX\p{_Case_Ignorable} (For internal use by Perl, not necessarily
+ stable) (= \p{Case_Ignorable=Y}) (1799)
+ TX\p{_CombAbove} (For internal use by Perl, not necessarily
stable) (= \p{Canonical_Combining_Class=
- Above}) (320)
- T \p{_X_Begin} (For internal use by Perl, not necessarily
- stable) (1_113_907)
- T \p{_X_Extend} (For internal use by Perl, not necessarily
- stable) (1509)
- T \p{_X_LV_LVT_V} (For internal use by Perl, not necessarily
- stable) (11_267)
+ Above}) (349)
-=head2 Legal \p{} and \P{} constructs that match no characters
+=head2 Legal C<\p{}> and C<\P{}> constructs that match no characters
Unicode has some property-value pairs that currently don't match anything.
-This happens generally either because they are obsolete, or for symmetry with
-other forms, but no language has yet been encoded that uses them. In this
-version of Unicode, the following match zero code points:
+This happens generally either because they are obsolete, or they exist for
+symmetry with other forms, but no language has yet been encoded that uses
+them. In this version of Unicode, the following match zero code points:
=over 4
=item \p{Canonical_Combining_Class=Attached_Below_Left}
+=item \p{Grapheme_Cluster_Break=Prepend}
+
=item \p{Joining_Type=Left_Joining}
=back
-=head1 Properties not accessible through \p{} and \P{}
-
-A few properties are accessible in Perl via various function calls only.
-These are:
+=head1 Properties accessible through Unicode::UCD
+
+All the Unicode character properties mentioned above (except for those marked
+as for internal use by Perl) are also accessible by
+L<Unicode::UCD/prop_invlist()>.
+
+Due to their nature, not all Unicode character properties are suitable for
+regular expression matches, nor C<prop_invlist()>. The remaining
+non-provisional, non-internal ones are accessible via
+L<Unicode::UCD/prop_invmap()> (except for those that this Perl installation
+hasn't included; see L<below for which those are|/Unicode character properties
+that are NOT accepted by Perl>).
+
+For compatibility with other parts of Perl, all the single forms given in the
+table in the L<section above|/Properties accessible through \p{} and \P{}>
+are recognized. BUT, there are some ambiguities between some Perl extensions
+and the Unicode properties, all of which are silently resolved in favor of the
+official Unicode property. To avoid surprises, you should only use
+C<prop_invmap()> for forms listed in the table below, which omits the
+non-recommended ones. The affected forms are the Perl single form equivalents
+of Unicode properties, such as C<\p{sc}> being a single-form equivalent of
+C<\p{gc=sc}>, which is treated by C<prop_invmap()> as the C<Script> property,
+whose short name is C<sc>. The table indicates the current ambiguities in the
+INFO column, beginning with the word C<"NOT">.
+
+The standard Unicode properties listed below are documented in
+L<http://www.unicode.org/reports/tr44/>; Perl_Decimal_Digit is documented in
+L<Unicode::UCD/prop_invmap()>. The other Perl extensions are in
+L<perlunicode/Other Properties>;
+
+The first column in the table is a name for the property; the second column is
+an alternative name, if any, plus possibly some annotations. The alternative
+name is the property's full name, unless that would simply repeat the first
+column, in which case the second column indicates the property's short name
+(if different). The annotations are given only in the entry for the full
+name. If a property is obsolete, etc, the entry will be flagged with the same
+characters used in the table in the L<section above|/Properties accessible
+through \p{} and \P{}>, like B<D> or B<S>.
+
+ NAME INFO
+
+ Age
+ AHex ASCII_Hex_Digit
+ All Any. (Perl extension)
+ Alnum (Perl extension). Alphabetic and
+ (decimal) Numeric
+ Alpha Alphabetic
+ Alphabetic (Short: Alpha)
+ Any (Perl extension). [\x{0000}-\x{10FFFF}]
+ ASCII Block=ASCII. (Perl extension).
+ [[:ASCII:]]
+ ASCII_Hex_Digit (Short: AHex)
+ Assigned (Perl extension). All assigned code points
+ Bc Bidi_Class
+ Bidi_C Bidi_Control
+ Bidi_Class (Short: bc)
+ Bidi_Control (Short: Bidi_C)
+ Bidi_M Bidi_Mirrored
+ Bidi_Mirrored (Short: Bidi_M)
+ Bidi_Mirroring_Glyph (Short: bmg)
+ Blank (Perl extension). \h, Horizontal white
+ space
+ Blk Block
+ Block (Short: blk)
+ Bmg Bidi_Mirroring_Glyph
+ Canonical_Combining_Class (Short: ccc)
+ Case_Folding (Short: cf)
+ Case_Ignorable (Short: CI)
+ Cased
+ Category General_Category
+ Ccc Canonical_Combining_Class
+ CE Composition_Exclusion
+ Cf Case_Folding; NOT 'cf' meaning
+ 'General_Category=Format'
+ Changes_When_Casefolded (Short: CWCF)
+ Changes_When_Casemapped (Short: CWCM)
+ Changes_When_Lowercased (Short: CWL)
+ Changes_When_NFKC_Casefolded (Short: CWKCF)
+ Changes_When_Titlecased (Short: CWT)
+ Changes_When_Uppercased (Short: CWU)
+ CI Case_Ignorable
+ Cntrl General_Category=Cntrl. (Perl extension).
+ Control characters
+ Comp_Ex Full_Composition_Exclusion
+ Composition_Exclusion (Short: CE)
+ CWCF Changes_When_Casefolded
+ CWCM Changes_When_Casemapped
+ CWKCF Changes_When_NFKC_Casefolded
+ CWL Changes_When_Lowercased
+ CWT Changes_When_Titlecased
+ CWU Changes_When_Uppercased
+ Dash
+ Decomposition_Mapping (Short: dm)
+ Decomposition_Type (Short: dt)
+ Default_Ignorable_Code_Point (Short: DI)
+ Dep Deprecated
+ Deprecated (Short: Dep)
+ DI Default_Ignorable_Code_Point
+ Dia Diacritic
+ Diacritic (Short: Dia)
+ Digit General_Category=Digit. (Perl extension).
+ [0-9] + all other decimal digits
+ Dm Decomposition_Mapping
+ Dt Decomposition_Type
+ Ea East_Asian_Width
+ East_Asian_Width (Short: ea)
+ Ext Extender
+ Extender (Short: Ext)
+ Full_Composition_Exclusion (Short: Comp_Ex)
+ Gc General_Category
+ GCB Grapheme_Cluster_Break
+ General_Category (Short: gc)
+ Gr_Base Grapheme_Base
+ Gr_Ext Grapheme_Extend
+ Graph (Perl extension). Characters that are
+ graphical
+ Grapheme_Base (Short: Gr_Base)
+ Grapheme_Cluster_Break (Short: GCB)
+ Grapheme_Extend (Short: Gr_Ext)
+ Hangul_Syllable_Type (Short: hst)
+ Hex Hex_Digit
+ Hex_Digit (Short: Hex)
+ HorizSpace Blank. (Perl extension)
+ Hst Hangul_Syllable_Type
+ D Hyphen Supplanted by Line_Break property values;
+ see www.unicode.org/reports/tr14
+ ID_Continue (Short: IDC)
+ ID_Start (Short: IDS)
+ IDC ID_Continue
+ Ideo Ideographic
+ Ideographic (Short: Ideo)
+ IDS ID_Start
+ IDS_Binary_Operator (Short: IDSB)
+ IDS_Trinary_Operator (Short: IDST)
+ IDSB IDS_Binary_Operator
+ IDST IDS_Trinary_Operator
+ In Present_In. (Perl extension)
+ Isc ISO_Comment; NOT 'isc' meaning
+ 'General_Category=Other'
+ ISO_Comment (Short: isc)
+ Jg Joining_Group
+ Join_C Join_Control
+ Join_Control (Short: Join_C)
+ Joining_Group (Short: jg)
+ Joining_Type (Short: jt)
+ Jt Joining_Type
+ Lb Line_Break
+ Lc Lowercase_Mapping; NOT 'lc' meaning
+ 'General_Category=Cased_Letter'
+ Line_Break (Short: lb)
+ LOE Logical_Order_Exception
+ Logical_Order_Exception (Short: LOE)
+ Lower Lowercase
+ Lowercase (Short: Lower)
+ Lowercase_Mapping (Short: lc)
+ Math
+ Na Name
+ Na1 Unicode_1_Name
+ Name (Short: na)
+ Name_Alias
+ NChar Noncharacter_Code_Point
+ NFC_QC NFC_Quick_Check
+ NFC_Quick_Check (Short: NFC_QC)
+ NFD_QC NFD_Quick_Check
+ NFD_Quick_Check (Short: NFD_QC)
+ NFKC_Casefold (Short: NFKC_CF)
+ NFKC_CF NFKC_Casefold
+ NFKC_QC NFKC_Quick_Check
+ NFKC_Quick_Check (Short: NFKC_QC)
+ NFKD_QC NFKD_Quick_Check
+ NFKD_Quick_Check (Short: NFKD_QC)
+ Noncharacter_Code_Point (Short: NChar)
+ Nt Numeric_Type
+ Numeric_Type (Short: nt)
+ Numeric_Value (Short: nv)
+ Nv Numeric_Value
+ Pat_Syn Pattern_Syntax
+ Pat_WS Pattern_White_Space
+ Pattern_Syntax (Short: Pat_Syn)
+ Pattern_White_Space (Short: Pat_WS)
+ Perl_Decimal_Digit (Perl extension)
+ PerlSpace (Perl extension). \s, restricted to ASCII
+ = [ \f\n\r\t]
+ PerlWord (Perl extension). \w, restricted to ASCII
+ = [A-Za-z0-9_]
+ PosixAlnum (Perl extension). [A-Za-z0-9]
+ PosixAlpha (Perl extension). [A-Za-z]
+ PosixBlank (Perl extension). \t and ' '
+ PosixCntrl (Perl extension). ASCII control
+ characters: NUL, SOH, STX, ETX, EOT, ENQ,
+ ACK, BEL, BS, HT, LF, VT, FF, CR, SO, SI,
+ DLE, DC1, DC2, DC3, DC4, NAK, SYN, ETB,
+ CAN, EOM, SUB, ESC, FS, GS, RS, US, and DEL
+ PosixDigit (Perl extension). [0-9]
+ PosixGraph (Perl extension). [-
+ !"#$%&'()*+,./:;<>?@[\\]^_`{|}~0-9A-Za-z]
+ PosixLower (Perl extension). [a-z]
+ PosixPrint (Perl extension). [- 0-9A-Za-
+ z!"#$%&'()*+,./:;<>?@[\\]^_`{|}~]
+ PosixPunct (Perl extension). [-
+ !"#$%&'()*+,./:;<>?@[\\]^_`{|}~]
+ PosixSpace (Perl extension). \t, \n, \cK, \f, \r,
+ and ' '. (\cK is vertical tab)
+ PosixUpper (Perl extension). [A-Z]
+ PosixWord PerlWord. (Perl extension)
+ PosixXDigit (Perl extension). [0-9A-Fa-f]
+ Present_In (Short: In). (Perl extension)
+ Print (Perl extension). Characters that are
+ graphical plus space characters (but no
+ controls)
+ Punct General_Category=Punct. (Perl extension)
+ QMark Quotation_Mark
+ Quotation_Mark (Short: QMark)
+ Radical
+ SB Sentence_Break
+ Sc Script; NOT 'sc' meaning
+ 'General_Category=Currency_Symbol'
+ Scf Simple_Case_Folding
+ Script (Short: sc)
+ Script_Extensions (Short: scx)
+ Scx Script_Extensions
+ SD Soft_Dotted
+ Sentence_Break (Short: SB)
+ Sfc Simple_Case_Folding
+ Simple_Case_Folding (Short: scf)
+ Simple_Lowercase_Mapping (Short: slc)
+ Simple_Titlecase_Mapping (Short: stc)
+ Simple_Uppercase_Mapping (Short: suc)
+ Slc Simple_Lowercase_Mapping
+ Soft_Dotted (Short: SD)
+ Space White_Space
+ SpacePerl XPerlSpace. (Perl extension)
+ Stc Simple_Titlecase_Mapping
+ STerm
+ Suc Simple_Uppercase_Mapping
+ Tc Titlecase_Mapping
+ Term Terminal_Punctuation
+ Terminal_Punctuation (Short: Term)
+ Title Titlecase. (Perl extension)
+ Titlecase (Short: Title). (Perl extension). (=
+ \p{Gc=Lt})
+ Titlecase_Mapping (Short: tc)
+ Uc Uppercase_Mapping
+ UIdeo Unified_Ideograph
+ Unicode_1_Name (Short: na1)
+ Unified_Ideograph (Short: UIdeo)
+ Upper Uppercase
+ Uppercase (Short: Upper)
+ Uppercase_Mapping (Short: uc)
+ Variation_Selector (Short: VS)
+ VertSpace (Perl extension). \v
+ VS Variation_Selector
+ WB Word_Break
+ White_Space (Short: WSpace)
+ Word (Perl extension). \w, including beyond
+ ASCII; = \p{Alnum} + \pM + \p{Pc}
+ Word_Break (Short: WB)
+ WSpace White_Space
+ XDigit (Perl extension)
+ XID_Continue (Short: XIDC)
+ XID_Start (Short: XIDS)
+ XIDC XID_Continue
+ XIDS XID_Start
+ XPerlSpace (Perl extension). \s, including beyond
+ ASCII
+ XPosixAlnum Alnum. (Perl extension)
+ XPosixAlpha Alpha. (Perl extension)
+ XPosixBlank Blank. (Perl extension)
+ XPosixCntrl General_Category=Cntrl. (Perl extension)
+ XPosixDigit General_Category=Digit. (Perl extension)
+ XPosixGraph Graph. (Perl extension)
+ XPosixLower Lower. (Perl extension)
+ XPosixPrint Print. (Perl extension)
+ XPosixPunct (Perl extension). \p{Punct} + ASCII-range
+ \p{Symbol}
+ XPosixSpace Space. (Perl extension)
+ XPosixUpper Upper. (Perl extension)
+ XPosixWord Word. (Perl extension)
+ XPosixXDigit XDigit. (Perl extension)
+
+
+=head1 Properties accessible through other means
+
+Certain properties are accessible also via core function calls. These are:
Lowercase_Mapping lc() and lcfirst()
Titlecase_Mapping ucfirst()
Uppercase_Mapping uc()
-Case_Folding is accessible through the /i modifier in regular expressions.
+Also, Case_Folding is accessible through the C</i> modifier in regular
+expressions, the C<\F> transliteration escape, and the C<L<fc|perlfunc/fc>>
+operator.
+
+And, the Name and Name_Aliases properties are accessible through the C<\N{}>
+interpolation in double-quoted strings and regular expressions; and functions
+C<charnames::viacode()>, C<charnames::vianame()>, and
+C<charnames::string_vianame()> (which require a C<use charnames ();> to be
+specified.
-The Name property is accessible through the \N{} interpolation in
-double-quoted strings and regular expressions, but both usages require a C<use
-charnames;> to be specified, which also contains related functions viacode(),
-vianame(), and string_vianame().
+Finally, most properties related to decomposition are accessible via
+L<Unicode::Normalize>.
-=head1 Unicode regular expression properties that are NOT accepted by Perl
+=head1 Unicode character properties that are NOT accepted by Perl
Perl will generate an error for a few character properties in Unicode when
used in a regular expression. The non-Unihan ones are listed below, with the
reasons they are not accepted, perhaps with work-arounds. The short names for
the properties are listed enclosed in (parentheses).
-
-=over 4
-
+As described after the list, an installation can change the defaults and choose
+to accept any of these. The list is machine generated based on the
+choices made for the installation that generated this document.
+=over 4
@@ -3045,35 +4126,55 @@ Deprecated by Unicode. These are characters that expand to more than one charac
-
-
=item I<Grapheme_Link> (Gr_Link)
Deprecated by Unicode: Duplicates ccc=vr (Canonical_Combining_Class=Virama)
+=item I<Indic_Matra_Category> (InMC)
+
+=item I<Indic_Syllabic_Category> (InSC)
+
+Provisional
+
=item I<Jamo_Short_Name> (JSN)
-Used by Unicode internally for generating other properties and not intended to be used stand-alone
+=item I<Other_Alphabetic> (OAlpha)
+=item I<Other_Default_Ignorable_Code_Point> (ODI)
+=item I<Other_Grapheme_Extend> (OGr_Ext)
+=item I<Other_ID_Continue> (OIDC)
+=item I<Other_ID_Start> (OIDS)
-=item I<Script=Katakana_Or_Hiragana> (sc=Hrkt)
+=item I<Other_Lowercase> (OLower)
-Obsolete. All code points previously matched by this have been moved to "Script=Common"
+=item I<Other_Math> (OMath)
+=item I<Other_Uppercase> (OUpper)
+Used by Unicode internally for generating other properties and not intended to be used stand-alone
+
+
+
+=item I<Script=Katakana_Or_Hiragana> (sc=Hrkt)
+
+Obsolete. All code points previously matched by this have been moved to "Script=Common". Consider instead using "Script_Extensions=Katakana" or "Script_Extensions=Hiragana (or both)"
+=item I<Script_Extensions=Katakana_Or_Hiragana> (scx=Hrkt)
+
+All code points that would be matched by this are matched by either "Script_Extensions=Katakana" or "Script_Extensions=Hiragana"
=back
+
An installation can choose to allow any of these to be matched by downloading
the Unicode database from L<http://www.unicode.org/Public/> to
C<$Config{privlib}>/F<unicore/> in the Perl source tree, changing the
@@ -3081,64 +4182,119 @@ controlling lists contained in the program
C<$Config{privlib}>/F<unicore/mktables> and then re-compiling and installing.
(C<%Config> is available from the Config module).
-=head1 Files in the I<To> directory (for serious hackers only)
+=head1 Other information in the Unicode data base
+
+The Unicode data base is delivered in two different formats. The XML version
+is valid for more modern Unicode releases. The other version is a collection
+of files. The two are intended to give equivalent information. Perl uses the
+older form; this allows you to recompile Perl to use early Unicode releases.
+
+The only non-character property that Perl currently supports is Named
+Sequences, in which a sequence of code points
+is given a name and generally treated as a single entity. (Perl supports
+these via the C<\N{...}> double-quotish construct,
+L<charnames/charnames::string_vianame(name)>, and L<Unicode::UCD/namedseq()>.
+
+Below is a list of the files in the Unicode data base that Perl doesn't
+currently use, along with very brief descriptions of their purposes.
+Some of the names of the files have been shortened from those that Unicode
+uses, in order to allow them to be distinguishable from similarly named files
+on file systems for which only the first 8 characters of a name are
+significant.
+
+=over 4
+
+
+
+
+=item F<auxiliary/GraphemeBreakTest.html>
+
+=item F<auxiliary/LineBreakTest.html>
+
+=item F<auxiliary/SentenceBreakTest.html>
+
+=item F<auxiliary/WordBreakTest.html>
+
+Documentation of validation tests
+
+
+
+=item F<auxiliary\LBTest.txt>
+
+=item F<auxiliary\SBTest.txt>
+
+=item F<auxiliary\WBTest.txt>
+
+=item F<BidiTest.txt>
+
+=item F<NormalizationTest.txt>
+
+Validation Tests
+
-All Unicode properties are really mappings (in the mathematical sense) from
-code points to their respective values. As part of its build process,
-Perl constructs tables containing these mappings for all properties that it
-deals with. Some, but not all, of these are written out into files.
-Those written out are in the directory C<$Config{privlib}>/F<unicore/To/>
-(%Config is available from the Config module).
-Perl reserves the right to change the format and even the existence of any of
-those files without notice, except the ones that were in existence prior to
-release 5.13. If those change, a deprecation cycle will be done first. These
-are:
+=item F<CJKRadicals.txt>
- Bmg.pl Bidi_Mirroring_Glyph (bmg)
- Digit.pl Perl_Decimal_Digit
- Fold.pl Case_Folding (cf)
- Lower.pl Lowercase_Mapping (lc)
- NFKCCF.pl NFKC_Casefold (NFKC_CF)
- Title.pl Titlecase_Mapping (tc)
- Upper.pl Uppercase_Mapping (uc)
+Maps the kRSUnicode property values to corresponding code points
-Each of the files in this directory defines two hash entries to help reading
-programs decipher it. One of them looks like this:
- $utf8::SwashInfo{'ToNAME'}{'format'} = 's';
+=item F<EmojiSources.txt>
-where 'NAME' is a name to indicate the property. For backwards compatibility,
-this is not necessarily the property's official Unicode name. (The 'To' is
-also for backwards compatibility.) The hash entry gives the format of the
-mapping fields of the table, currently one of the following:
+Maps certain Unicode code points to their legacy Japanese cell-phone values
- b binary
- c Perl's internal (Normalize.pm) decomposition mapping
- d single decimal digit
- f floating point number
- i integer
- r rational: an integer or a fraction
- s string
- x positive hex whole number; a code point
-This format applies only to the entries in the main body of the table.
-Entries defined in hashes or ones that are missing from the list can have a
-different format.
+=item F<Index.txt>
-The value that the missing entries have is given by the other SwashInfo hash
-entry line; it looks like this:
+Alphabetical index of Unicode characters
- $utf8::SwashInfo{'ToNAME'}{'missing'} = 'NaN';
-This example line says that any Unicode code points not explicitly listed in
-the file have the value 'NaN' under the property indicated by NAME. If the
-value is the special string C<< <code point> >>, it means that the value for
-any missing code point is the code point itself. This happens, for example,
-in the file for Uppercase_Mapping (To/Upper.pl), in which code points like the
-character 'A', are missing because the uppercase of 'A' is itself.
+
+=item F<IndicMatraCategory.txt>
+
+=item F<IndicSyllabicCategory.txt>
+
+Provisional; for the analysis and processing of Indic scripts
+
+
+
+=item F<NamedSqProv.txt>
+
+Named sequences proposed for inclusion in a later version of the Unicode Standard; if you need them now, you can append this file to F<NamedSequences.txt> and recompile perl
+
+
+
+=item F<NamesList.txt>
+
+Annotated list of characters
+
+
+
+=item F<NormalizationCorrections.txt>
+
+Documentation of corrections already incorporated into the Unicode data base
+
+
+
+=item F<Props.txt>
+
+Only in very early releases; is a subset of F<PropList.txt> (which is used instead)
+
+
+
+=item F<ReadMe.txt>
+
+Documentation
+
+
+
+=item F<StandardizedVariants.txt>
+
+Certain glyph variations for character display are standardized. This lists the non-Unihan ones; the Unihan ones are also not used by Perl, and are in a separate Unicode data base L<http://www.unicode.org/ivd>
+
+
+=back
=head1 SEE ALSO
diff --git a/Master/tlpkg/tlperl/lib/pods/perlutil.pod b/Master/tlpkg/tlperl/lib/pods/perlutil.pod
index 53ecb5986d3..040f51d5f65 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlutil.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlutil.pod
@@ -66,7 +66,7 @@ utility will look for errors in your markup.
F<splain> is an interface to L<perldiag> - paste in your error message
to it, and it'll explain it for you.
-=item L<roffitall|roffitall>
+=item C<roffitall>
The C<roffitall> utility is not installed on your system but lives in
the F<pod/> directory of your Perl source kit; it converts all the
@@ -164,7 +164,7 @@ itself or any of the standard library modules back to the developers;
please read through the documentation for F<perlbug> thoroughly before
using it to submit a bug report.
-=item L<perlthanks|perlthanks>
+=item L<perlthanks|perlbug>
This program provides an easy way to send a thank-you message back to the
authors and maintainers of perl. It's just F<perlbug> installed under
@@ -209,13 +209,6 @@ F<xsubpp> will compile XS code into C code by embedding the constructs
necessary to let C functions manipulate Perl values and creates the glue
necessary to let Perl access those functions.
-=item L<dprofpp|dprofpp>
-
-Perl comes with a profiler, the F<Devel::DProf> module. The
-F<dprofpp> utility analyzes the output of this profiler and tells you
-which subroutines are taking up the most run time. See L<Devel::DProf>
-for more information.
-
=item L<prove>
F<prove> is a command-line interface to the test-running functionality
@@ -263,6 +256,11 @@ in a tar archive.
This utility, that comes with the C<Digest::SHA> module, is used to print
or verify SHA checksums.
+=item L<zipdetails>
+
+L<zipdetails> displays information about the internal record structure of the zip file.
+It is not concerned with displaying any details of the compressed data stored in the zip file.
+
=back
=head2 Installation
@@ -304,11 +302,10 @@ validate your packlists and even create a tarball from an installed module.
L<perldoc|perldoc>, L<pod2man|pod2man>, L<perlpod>,
L<pod2html|pod2html>, L<pod2usage|pod2usage>, L<podselect|podselect>,
L<podchecker|podchecker>, L<splain|splain>, L<perldiag>,
-L<roffitall|roffitall>, L<a2p|a2p>, L<s2p|s2p>, L<find2perl|find2perl>,
+C<roffitall|roffitall>, L<a2p|a2p>, L<s2p|s2p>, L<find2perl|find2perl>,
L<File::Find|File::Find>, L<pl2pm|pl2pm>, L<perlbug|perlbug>,
-L<h2ph|h2ph>, L<c2ph|c2ph>, L<h2xs|h2xs>, L<dprofpp|dprofpp>,
-L<Devel::DProf>, L<enc2xs>, L<xsubpp>, L<cpan>, L<cpanp>, L<cpan2dist>,
-L<instmodsh>, L<piconv>, L<prove>, L<corelist>, L<ptar>, L<ptardiff>,
-L<shasum>
+L<h2ph|h2ph>, L<c2ph|c2ph>, L<h2xs|h2xs>, L<enc2xs>, L<xsubpp>,
+L<cpan>, L<cpanp>, L<cpan2dist>, L<instmodsh>, L<piconv>, L<prove>,
+L<corelist>, L<ptar>, L<ptardiff>, L<shasum>, L<zipdetails>
=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlvar.pod b/Master/tlpkg/tlperl/lib/pods/perlvar.pod
index 39bab245bb3..c09aea52027 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlvar.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlvar.pod
@@ -6,46 +6,46 @@ perlvar - Perl predefined variables
=head2 The Syntax of Variable Names
-Variable names in Perl can have several formats. Usually, they
+Variable names in Perl can have several formats. Usually, they
must begin with a letter or underscore, in which case they can be
arbitrarily long (up to an internal limit of 251 characters) and
may contain letters, digits, underscores, or the special sequence
-C<::> or C<'>. In this case, the part before the last C<::> or
+C<::> or C<'>. In this case, the part before the last C<::> or
C<'> is taken to be a I<package qualifier>; see L<perlmod>.
Perl variable names may also be a sequence of digits or a single
-punctuation or control character. These names are all reserved for
+punctuation or control character. These names are all reserved for
special uses by Perl; for example, the all-digits names are used
to hold data captured by backreferences after a regular expression
-match. Perl has a special syntax for the single-control-character
+match. Perl has a special syntax for the single-control-character
names: It understands C<^X> (caret C<X>) to mean the control-C<X>
-character. For example, the notation C<$^W> (dollar-sign caret
+character. For example, the notation C<$^W> (dollar-sign caret
C<W>) is the scalar variable whose name is the single character
-control-C<W>. This is better than typing a literal control-C<W>
+control-C<W>. This is better than typing a literal control-C<W>
into your program.
Since Perl 5.6, Perl variable names may be alphanumeric
strings that begin with control characters (or better yet, a caret).
These variables must be written in the form C<${^Foo}>; the braces
-are not optional. C<${^Foo}> denotes the scalar variable whose
-name is a control-C<F> followed by two C<o>'s. These variables are
+are not optional. C<${^Foo}> denotes the scalar variable whose
+name is a control-C<F> followed by two C<o>'s. These variables are
reserved for future special uses by Perl, except for the ones that
-begin with C<^_> (control-underscore or caret-underscore). No
+begin with C<^_> (control-underscore or caret-underscore). No
control-character name that begins with C<^_> will acquire a special
meaning in any future version of Perl; such names may therefore be
-used safely in programs. C<$^_> itself, however, I<is> reserved.
+used safely in programs. C<$^_> itself, however, I<is> reserved.
Perl identifiers that begin with digits, control characters, or
punctuation characters are exempt from the effects of the C<package>
declaration and are always forced to be in package C<main>; they are
-also exempt from C<strict 'vars'> errors. A few other names are also
+also exempt from C<strict 'vars'> errors. A few other names are also
exempt in these ways:
- ENV STDIN
- INC STDOUT
- ARGV STDERR
- ARGVOUT
- SIG
+ ENV STDIN
+ INC STDOUT
+ ARGV STDERR
+ ARGVOUT
+ SIG
In particular, the special C<${^_XYZ}> variables are always taken
to be in package C<main>, regardless of any C<package> declarations
@@ -53,21 +53,21 @@ presently in scope.
=head1 SPECIAL VARIABLES
-The following names have special meaning to Perl. Most punctuation
+The following names have special meaning to Perl. Most punctuation
names have reasonable mnemonics, or analogs in the shells.
Nevertheless, if you wish to use long variable names, you need only say:
- use English;
+ use English;
-at the top of your program. This aliases all the short names to the long
-names in the current package. Some even have medium names, generally
-borrowed from B<awk>. To avoid a performance hit, if you don't need the
+at the top of your program. This aliases all the short names to the long
+names in the current package. Some even have medium names, generally
+borrowed from B<awk>. To avoid a performance hit, if you don't need the
C<$PREMATCH>, C<$MATCH>, or C<$POSTMATCH> it's best to use the C<English>
module without them:
- use English '-no_match_vars';
+ use English '-no_match_vars';
-Before you continue, note the sort order for variables. In general, we
+Before you continue, note the sort order for variables. In general, we
first list the variables in case-insensitive, almost-lexigraphical
order (ignoring the C<{> or C<^> preceding words, as in C<${^UNICODE}>
or C<$^T>), although C<$_> and C<@_> move up to the top of the pile.
@@ -83,20 +83,20 @@ array, hash, and bareword.
=item $_
X<$_> X<$ARG>
-The default input and pattern-searching space. The following pairs are
+The default input and pattern-searching space. The following pairs are
equivalent:
- while (<>) {...} # equivalent only in while!
- while (defined($_ = <>)) {...}
+ while (<>) {...} # equivalent only in while!
+ while (defined($_ = <>)) {...}
- /^Subject:/
- $_ =~ /^Subject:/
+ /^Subject:/
+ $_ =~ /^Subject:/
- tr/a-z/A-Z/
- $_ =~ tr/a-z/A-Z/
+ tr/a-z/A-Z/
+ $_ =~ tr/a-z/A-Z/
- chomp
- chomp($_)
+ chomp
+ chomp($_)
Here are the places where Perl will assume C<$_> even if you don't use it:
@@ -106,7 +106,8 @@ Here are the places where Perl will assume C<$_> even if you don't use it:
The following functions use C<$_> as a default argument:
-abs, alarm, chomp, chop, chr, chroot, cos, defined, eval, exp, glob,
+abs, alarm, chomp, chop, chr, chroot,
+cos, defined, eval, evalbytes, exp, glob,
hex, int, lc, lcfirst, length, log, lstat, mkdir, oct, ord, pos, print,
quotemeta, readlink, readpipe, ref, require, reverse (in scalar context only),
rmdir, sin, split (on its second argument), sqrt, stat, study, uc, ucfirst,
@@ -139,13 +140,13 @@ The implicit variable of C<given()>.
The default place to put an input record when a C<< <FH> >>
operation's result is tested by itself as the sole criterion of a C<while>
-test. Outside a C<while> test, this will not happen.
+test. Outside a C<while> test, this will not happen.
=back
As C<$_> is a global variable, this may lead in some cases to unwanted
-side-effects. As of perl 5.9.1, you can now use a lexical version of
-C<$_> by declaring it in a file or in a block with C<my>. Moreover,
+side-effects. As of perl 5.10, you can now use a lexical version of
+C<$_> by declaring it in a file or in a block with C<my>. Moreover,
declaring C<our $_> restores the global C<$_> in the current scope.
Mnemonic: underline is understood in certain operations.
@@ -156,7 +157,7 @@ Mnemonic: underline is understood in certain operations.
X<@_> X<@ARG>
Within a subroutine the array C<@_> contains the parameters passed to
-that subroutine. Inside a subroutine, C<@_> is the default array for
+that subroutine. Inside a subroutine, C<@_> is the default array for
the array operators C<push>, C<pop>, C<shift>, and C<unshift>.
See L<perlsub>.
@@ -168,13 +169,13 @@ X<$"> X<$LIST_SEPARATOR>
When an array or an array slice is interpolated into a double-quoted
string or a similar context such as C</.../>, its elements are
-separated by this value. Default is a space. For example, this:
+separated by this value. Default is a space. For example, this:
- print "The array is: @array\n";
+ print "The array is: @array\n";
is equivalent to this:
- print "The array is: " . join($", @array) . "\n";
+ print "The array is: " . join($", @array) . "\n";
Mnemonic: works in double-quoted context.
@@ -185,75 +186,30 @@ Mnemonic: works in double-quoted context.
=item $$
X<$$> X<$PID> X<$PROCESS_ID>
-The process number of the Perl running this script. You should
-consider this variable read-only, although it will be altered
+The process number of the Perl running this script. Though you I<can> set
+this variable, doing so is generally discouraged, although it can be
+invaluable for some testing purposes. It will be reset automatically
across C<fork()> calls.
-Note for Linux users: on Linux, the C functions C<getpid()> and
-C<getppid()> return different values from different threads. In order to
-be portable, this behavior is not reflected by C<$$>, whose value remains
-consistent across threads. If you want to call the underlying C<getpid()>,
-you may use the CPAN module C<Linux::Pid>.
+Note for Linux and Debian GNU/kFreeBSD users: Before Perl v5.16.0 perl
+would emulate POSIX semantics on Linux systems using LinuxThreads, a
+partial implementation of POSIX Threads that has since been superseded
+by the Native POSIX Thread Library (NPTL).
-Mnemonic: same as shells.
-
-=item $REAL_GROUP_ID
-
-=item $GID
-
-=item $(
-X<$(> X<$GID> X<$REAL_GROUP_ID>
-
-The real gid of this process. If you are on a machine that supports
-membership in multiple groups simultaneously, gives a space separated
-list of groups you are in. The first number is the one returned by
-C<getgid()>, and the subsequent ones by C<getgroups()>, one of which may be
-the same as the first number.
-
-However, a value assigned to C<$(> must be a single number used to
-set the real gid. So the value given by C<$(> should I<not> be assigned
-back to C<$(> without being forced numeric, such as by adding zero. Note
-that this is different to the effective gid (C<$)>) which does take a
-list.
+LinuxThreads is now obsolete on Linux, and and caching C<getpid()>
+like this made embedding perl unnecessarily complex (since you'd have
+to manually update the value of $$), so now C<$$> and C<getppid()>
+will always return the same values as the underlying C library.
-You can change both the real gid and the effective gid at the same
-time by using C<POSIX::setgid()>. Changes to C<$(> require a check to C<$!>
-to detect any possible errors after an attempted change.
-
-Mnemonic: parentheses are used to I<group> things. The real gid is the
-group you I<left>, if you're running setgid.
-
-=item $EFFECTIVE_GROUP_ID
+Debian GNU/kFreeBSD systems also used LinuxThreads up until and
+including the 6.0 release, but after that moved to FreeBSD thread
+semantics, which are POSIX-like.
-=item $EGID
-
-=item $)
-X<$)> X<$EGID> X<$EFFECTIVE_GROUP_ID>
-
-The effective gid of this process. If you are on a machine that
-supports membership in multiple groups simultaneously, gives a space
-separated list of groups you are in. The first number is the one
-returned by C<getegid()>, and the subsequent ones by C<getgroups()>,
-one of which may be the same as the first number.
-
-Similarly, a value assigned to C<$)> must also be a space-separated
-list of numbers. The first number sets the effective gid, and
-the rest (if any) are passed to C<setgroups()>. To get the effect of an
-empty list for C<setgroups()>, just repeat the new effective gid; that is,
-to force an effective gid of 5 and an effectively empty C<setgroups()>
-list, say C< $) = "5 5" >.
-
-You can change both the effective gid and the real gid at the same
-time by using C<POSIX::setgid()> (use only a single numeric argument).
-Changes to C<$)> require a check to C<$!> to detect any possible errors
-after an attempted change.
-
-C<< $< >>, C<< $> >>, C<$(> and C<$)> can be set only on
-machines that support the corresponding I<set[re][ug]id()> routine. C<$(>
-and C<$)> can be swapped only on machines supporting C<setregid()>.
+To see if your system is affected by this discrepancy check if
+C<getconf GNU_LIBPTHREAD_VERSION | grep -q NPTL> returns a false
+value. NTPL threads preserve the POSIX semantics.
-Mnemonic: parentheses are used to I<group> things. The effective gid
-is the group that's I<right> for you, if you're running setgid.
+Mnemonic: same as shells.
=item $PROGRAM_NAME
@@ -263,14 +219,14 @@ X<$0> X<$PROGRAM_NAME>
Contains the name of the program being executed.
On some (but not all) operating systems assigning to C<$0> modifies
-the argument area that the C<ps> program sees. On some platforms you
+the argument area that the C<ps> program sees. On some platforms you
may have to use special C<ps> options or a different C<ps> to see the
-changes. Modifying the C<$0> is more useful as a way of indicating the
+changes. Modifying the C<$0> is more useful as a way of indicating the
current program state than it is for hiding the program you're
running.
Note that there are platform-specific limitations on the maximum
-length of C<$0>. In the most extreme case it may be limited to the
+length of C<$0>. In the most extreme case it may be limited to the
space occupied by the original C<$0>.
In some platforms there may be arbitrary amount of padding, for
@@ -280,14 +236,14 @@ length of the argument area, no matter what you do (this is the case
for example with Linux 2.2).
Note for BSD users: setting C<$0> does not completely remove "perl"
-from the ps(1) output. For example, setting C<$0> to C<"foobar"> may
+from the ps(1) output. For example, setting C<$0> to C<"foobar"> may
result in C<"perl: foobar (perl)"> (whether both the C<"perl: "> prefix
and the " (perl)" suffix are shown depends on your exact BSD variant
-and version). This is an operating system feature, Perl cannot help it.
+and version). This is an operating system feature, Perl cannot help it.
In multithreaded scripts Perl coordinates the threads so that any
thread may modify its copy of the C<$0> and the change becomes visible
-to ps(1) (assuming the operating system plays along). Note that
+to ps(1) (assuming the operating system plays along). Note that
the view of C<$0> the other threads have will not change since they
have their own copies of it.
@@ -296,44 +252,71 @@ C<$0> will contain the string C<"-e">.
On Linux as of perl 5.14 the legacy process name will be set with
C<prctl(2)>, in addition to altering the POSIX name via C<argv[0]> as
-perl has done since version 4.000. Now system utilities that read the
+perl has done since version 4.000. Now system utilities that read the
legacy process name such as ps, top and killall will recognize the
-name you set when assigning to C<$0>. The string you supply will be
+name you set when assigning to C<$0>. The string you supply will be
cut off at 16 bytes, this is a limitation imposed by Linux.
Mnemonic: same as B<sh> and B<ksh>.
-=item $SUBSCRIPT_SEPARATOR
+=item $REAL_GROUP_ID
-=item $SUBSEP
+=item $GID
-=item $;
-X<$;> X<$SUBSEP> X<SUBSCRIPT_SEPARATOR>
+=item $(
+X<$(> X<$GID> X<$REAL_GROUP_ID>
-The subscript separator for multidimensional array emulation. If you
-refer to a hash element as
+The real gid of this process. If you are on a machine that supports
+membership in multiple groups simultaneously, gives a space separated
+list of groups you are in. The first number is the one returned by
+C<getgid()>, and the subsequent ones by C<getgroups()>, one of which may be
+the same as the first number.
- $foo{$a,$b,$c}
+However, a value assigned to C<$(> must be a single number used to
+set the real gid. So the value given by C<$(> should I<not> be assigned
+back to C<$(> without being forced numeric, such as by adding zero. Note
+that this is different to the effective gid (C<$)>) which does take a
+list.
-it really means
+You can change both the real gid and the effective gid at the same
+time by using C<POSIX::setgid()>. Changes
+to C<$(> require a check to C<$!>
+to detect any possible errors after an attempted change.
- $foo{join($;, $a, $b, $c)}
+Mnemonic: parentheses are used to I<group> things. The real gid is the
+group you I<left>, if you're running setgid.
-But don't put
+=item $EFFECTIVE_GROUP_ID
- @foo{$a,$b,$c} # a slice--note the @
+=item $EGID
-which means
+=item $)
+X<$)> X<$EGID> X<$EFFECTIVE_GROUP_ID>
- ($foo{$a},$foo{$b},$foo{$c})
+The effective gid of this process. If you are on a machine that
+supports membership in multiple groups simultaneously, gives a space
+separated list of groups you are in. The first number is the one
+returned by C<getegid()>, and the subsequent ones by C<getgroups()>,
+one of which may be the same as the first number.
-Default is "\034", the same as SUBSEP in B<awk>. If your keys contain
-binary data there might not be any safe value for C<$;>.
+Similarly, a value assigned to C<$)> must also be a space-separated
+list of numbers. The first number sets the effective gid, and
+the rest (if any) are passed to C<setgroups()>. To get the effect of an
+empty list for C<setgroups()>, just repeat the new effective gid; that is,
+to force an effective gid of 5 and an effectively empty C<setgroups()>
+list, say C< $) = "5 5" >.
-Consider using "real" multidimensional arrays as described
-in L<perllol>.
+You can change both the effective gid and the real gid at the same
+time by using C<POSIX::setgid()> (use only a single numeric argument).
+Changes to C<$)> require a check to C<$!> to detect any possible errors
+after an attempted change.
-Mnemonic: comma (the syntactic subscript separator) is a semi-semicolon.
+C<< $< >>, C<< $> >>, C<$(> and C<$)> can be set only on
+machines that support the corresponding I<set[re][ug]id()> routine. C<$(>
+and C<$)> can be swapped only on machines supporting C<setregid()>.
+
+Mnemonic: parentheses are used to I<group> things. The effective gid
+is the group that's I<right> for you, if you're running setgid.
=item $REAL_USER_ID
@@ -342,8 +325,8 @@ Mnemonic: comma (the syntactic subscript separator) is a semi-semicolon.
=item $<
X<< $< >> X<$UID> X<$REAL_USER_ID>
-The real uid of this process. You can change both the real uid and the
-effective uid at the same time by using C<POSIX::setuid()>. Since
+The real uid of this process. You can change both the real uid and the
+effective uid at the same time by using C<POSIX::setuid()>. Since
changes to C<< $< >> require a system call, check C<$!> after a change
attempt to detect any possible errors.
@@ -356,13 +339,13 @@ Mnemonic: it's the uid you came I<from>, if you're running setuid.
=item $>
X<< $> >> X<$EUID> X<$EFFECTIVE_USER_ID>
-The effective uid of this process. For example:
+The effective uid of this process. For example:
- $< = $>; # set real to effective uid
- ($<,$>) = ($>,$<); # swap real and effective uids
+ $< = $>; # set real to effective uid
+ ($<,$>) = ($>,$<); # swap real and effective uids
You can change both the effective uid and the real uid at the same
-time by using C<POSIX::setuid()>. Changes to C<< $> >> require a check
+time by using C<POSIX::setuid()>. Changes to C<< $> >> require a check
to C<$!> to detect any possible errors after an attempted change.
C<< $< >> and C<< $> >> can be swapped only on machines
@@ -370,55 +353,53 @@ supporting C<setreuid()>.
Mnemonic: it's the uid you went I<to>, if you're running setuid.
-=item $a
+=item $SUBSCRIPT_SEPARATOR
-=item $b
-X<$a> X<$b>
+=item $SUBSEP
-Special package variables when using C<sort()>, see L<perlfunc/sort>.
-Because of this specialness C<$a> and C<$b> don't need to be declared
-(using C<use vars>, or C<our()>) even when using the C<strict 'vars'>
-pragma. Don't lexicalize them with C<my $a> or C<my $b> if you want to
-be able to use them in the C<sort()> comparison block or function.
+=item $;
+X<$;> X<$SUBSEP> X<SUBSCRIPT_SEPARATOR>
-=item $COMPILING
+The subscript separator for multidimensional array emulation. If you
+refer to a hash element as
-=item $^C
-X<$^C> X<$COMPILING>
+ $foo{$a,$b,$c}
-The current value of the flag associated with the B<-c> switch.
-Mainly of use with B<-MO=...> to allow code to alter its behavior
-when being compiled, such as for example to C<AUTOLOAD> at compile
-time rather than normal, deferred loading. Setting
-C<$^C = 1> is similar to calling C<B::minus_c>.
+it really means
-This variable was added in Perl 5.6.
+ $foo{join($;, $a, $b, $c)}
-=item $DEBUGGING
+But don't put
-=item $^D
-X<$^D> X<$DEBUGGING>
+ @foo{$a,$b,$c} # a slice--note the @
-The current value of the debugging flags. May be read or set. Like its
-command-line equivalent, you can use numeric or symbolic values, eg
-C<$^D = 10> or C<$^D = "st">.
+which means
-Mnemonic: value of B<-D> switch.
+ ($foo{$a},$foo{$b},$foo{$c})
-=item ${^ENCODING}
-X<${^ENCODING}>
+Default is "\034", the same as SUBSEP in B<awk>. If your keys contain
+binary data there might not be any safe value for C<$;>.
-The I<object reference> to the C<Encode> object that is used to convert
-the source code to Unicode. Thanks to this variable your Perl script
-does not have to be written in UTF-8. Default is I<undef>. The direct
-manipulation of this variable is highly discouraged.
+Consider using "real" multidimensional arrays as described
+in L<perllol>.
-This variable was added in Perl 5.8.2.
+Mnemonic: comma (the syntactic subscript separator) is a semi-semicolon.
+
+=item $a
+
+=item $b
+X<$a> X<$b>
+
+Special package variables when using C<sort()>, see L<perlfunc/sort>.
+Because of this specialness C<$a> and C<$b> don't need to be declared
+(using C<use vars>, or C<our()>) even when using the C<strict 'vars'>
+pragma. Don't lexicalize them with C<my $a> or C<my $b> if you want to
+be able to use them in the C<sort()> comparison block or function.
=item %ENV
X<%ENV>
-The hash C<%ENV> contains your current environment. Setting a
+The hash C<%ENV> contains your current environment. Setting a
value in C<ENV> changes the environment for any child processes
you subsequently C<fork()> off.
@@ -427,11 +408,12 @@ you subsequently C<fork()> off.
=item $^F
X<$^F> X<$SYSTEM_FD_MAX>
-The maximum system file descriptor, ordinarily 2. System file
+The maximum system file descriptor, ordinarily 2. System file
descriptors are passed to C<exec()>ed processes, while higher file
-descriptors are not. Also, during an C<open()>, system file descriptors are
+descriptors are not. Also, during an
+C<open()>, system file descriptors are
preserved even if the C<open()> fails (ordinary file descriptors are
-closed before the C<open()> is attempted). The close-on-exec
+closed before the C<open()> is attempted). The close-on-exec
status of a file descriptor will be decided according to the value of
C<$^F> when the corresponding file, pipe, or socket was opened, not the
time of the C<exec()>.
@@ -440,203 +422,43 @@ time of the C<exec()>.
X<@F>
The array C<@F> contains the fields of each line read in when autosplit
-mode is turned on. See L<perlrun> for the B<-a> switch. This array
+mode is turned on. See L<perlrun> for the B<-a> switch. This array
is package-specific, and must be declared or given a full package name
if not in package main when running under C<strict 'vars'>.
-=item ${^GLOBAL_PHASE}
-X<${^GLOBAL_PHASE}>
-
-The current phase of the perl interpreter.
-
-Possible values are:
-
-=over 8
-
-=item CONSTRUCT
-
-The C<PerlInterpreter*> is being constructed via C<perl_construct>. This
-value is mostly there for completeness and for use via the
-underlying C variable C<PL_phase>. It's not really possible for Perl
-code to be executed unless construction of the interpreter is
-finished.
-
-=item START
-
-This is the global compile-time. That includes, basically, every
-C<BEGIN> block executed directly or indirectly from during the
-compile-time of the top-level program.
-
-This phase is not called "BEGIN" to avoid confusion with
-C<BEGIN>-blocks, as those are executed during compile-time of any
-compilation unit, not just the top-level program. A new, localised
-compile-time entered at run-time, for example by constructs as
-C<eval "use SomeModule"> are not global interpreter phases, and
-therefore aren't reflected by C<${^GLOBAL_PHASE}>.
-
-=item CHECK
-
-Execution of any C<CHECK> blocks.
-
-=item INIT
-
-Similar to "CHECK", but for C<INIT>-blocks, not C<CHECK> blocks.
-
-=item RUN
-
-The main run-time, i.e. the execution of C<PL_main_root>.
-
-=item END
-
-Execution of any C<END> blocks.
-
-=item DESTRUCT
-
-Global destruction.
-
-=back
-
-Also note that there's no value for UNITCHECK-blocks. That's because
-those are run for each compilation unit individually, and therefore is
-not a global interpreter phase.
-
-Not every program has to go through each of the possible phases, but
-transition from one phase to another can only happen in the order
-described in the above list.
-
-An example of all of the phases Perl code can see:
-
- BEGIN { print "compile-time: ${^GLOBAL_PHASE}\n" }
-
- INIT { print "init-time: ${^GLOBAL_PHASE}\n" }
-
- CHECK { print "check-time: ${^GLOBAL_PHASE}\n" }
-
- {
- package Print::Phase;
-
- sub new {
- my ($class, $time) = @_;
- return bless \$time, $class;
- }
-
- sub DESTROY {
- my $self = shift;
- print "$$self: ${^GLOBAL_PHASE}\n";
- }
- }
-
- print "run-time: ${^GLOBAL_PHASE}\n";
-
- my $runtime = Print::Phase->new(
- "lexical variables are garbage collected before END"
- );
-
- END { print "end-time: ${^GLOBAL_PHASE}\n" }
-
- our $destruct = Print::Phase->new(
- "package variables are garbage collected after END"
- );
-
-This will print out
-
- compile-time: START
- check-time: CHECK
- init-time: INIT
- run-time: RUN
- lexical variables are garbage collected before END: RUN
- end-time: END
- package variables are garbage collected after END: DESTRUCT
-
-This variable was added in Perl 5.14.0.
-
-=item $^H
-X<$^H>
-
-WARNING: This variable is strictly for internal use only. Its availability,
-behavior, and contents are subject to change without notice.
-
-This variable contains compile-time hints for the Perl interpreter. At the
-end of compilation of a BLOCK the value of this variable is restored to the
-value when the interpreter started to compile the BLOCK.
-
-When perl begins to parse any block construct that provides a lexical scope
-(e.g., eval body, required file, subroutine body, loop body, or conditional
-block), the existing value of C<$^H> is saved, but its value is left unchanged.
-When the compilation of the block is completed, it regains the saved value.
-Between the points where its value is saved and restored, code that
-executes within BEGIN blocks is free to change the value of C<$^H>.
-
-This behavior provides the semantic of lexical scoping, and is used in,
-for instance, the C<use strict> pragma.
-
-The contents should be an integer; different bits of it are used for
-different pragmatic flags. Here's an example:
-
- sub add_100 { $^H |= 0x100 }
-
- sub foo {
- BEGIN { add_100() }
- bar->baz($boon);
- }
-
-Consider what happens during execution of the BEGIN block. At this point
-the BEGIN block has already been compiled, but the body of C<foo()> is still
-being compiled. The new value of C<$^H> will therefore be visible only while
-the body of C<foo()> is being compiled.
-
-Substitution of C<BEGIN { add_100() }> block with:
-
- BEGIN { require strict; strict->import('vars') }
-
-demonstrates how C<use strict 'vars'> is implemented. Here's a conditional
-version of the same lexical pragma:
-
- BEGIN { require strict; strict->import('vars') if $condition }
-
-This variable was added in Perl 5.003.
-
-=item %^H
-X<%^H>
-
-The C<%^H> hash provides the same scoping semantic as C<$^H>. This makes it
-useful for implementation of lexically scoped pragmas. See L<perlpragma>.
-
-This variable was added in Perl 5.6.
-
=item @INC
X<@INC>
The array C<@INC> contains the list of places that the C<do EXPR>,
-C<require>, or C<use> constructs look for their library files. It
+C<require>, or C<use> constructs look for their library files. It
initially consists of the arguments to any B<-I> command-line
switches, followed by the default Perl library, probably
F</usr/local/lib/perl>, followed by ".", to represent the current
-directory. ("." will not be appended if taint checks are enabled,
+directory. ("." will not be appended if taint checks are enabled,
either by C<-T> or by C<-t>.) If you need to modify this at runtime,
you should use the C<use lib> pragma to get the machine-dependent
library properly loaded also:
- use lib '/mypath/libdir/';
- use SomeMod;
+ use lib '/mypath/libdir/';
+ use SomeMod;
You can also insert hooks into the file inclusion system by putting Perl
-code directly into C<@INC>. Those hooks may be subroutine references, array
-references or blessed objects. See L<perlfunc/require> for details.
+code directly into C<@INC>. Those hooks may be subroutine references,
+array references or blessed objects. See L<perlfunc/require> for details.
=item %INC
X<%INC>
The hash C<%INC> contains entries for each filename included via the
-C<do>, C<require>, or C<use> operators. The key is the filename
+C<do>, C<require>, or C<use> operators. The key is the filename
you specified (with module names converted to pathnames), and the
-value is the location of the file found. The C<require>
+value is the location of the file found. The C<require>
operator uses this hash to determine whether a particular file has
already been included.
If the file was loaded via a hook (e.g. a subroutine reference, see
L<perlfunc/require> for a description of these hooks), this hook is
-by default inserted into C<%INC> in place of a filename. Note, however,
+by default inserted into C<%INC> in place of a filename. Note, however,
that the hook may have set the C<%INC> entry by itself to provide some more
specific info.
@@ -645,7 +467,7 @@ specific info.
=item $^I
X<$^I> X<$INPLACE_EDIT>
-The current value of the inplace-edit extension. Use C<undef> to disable
+The current value of the inplace-edit extension. Use C<undef> to disable
inplace editing.
Mnemonic: value of B<-i> switch.
@@ -655,15 +477,15 @@ X<$^M>
By default, running out of memory is an untrappable, fatal error.
However, if suitably built, Perl can use the contents of C<$^M>
-as an emergency memory pool after C<die()>ing. Suppose that your Perl
+as an emergency memory pool after C<die()>ing. Suppose that your Perl
were compiled with C<-DPERL_EMERGENCY_SBRK> and used Perl's malloc.
Then
- $^M = 'a' x (1 << 16);
+ $^M = 'a' x (1 << 16);
-would allocate a 64K buffer for use in an emergency. See the
+would allocate a 64K buffer for use in an emergency. See the
F<INSTALL> file in the Perl distribution for information on how to
-add custom C compilation flags when compiling perl. To discourage casual
+add custom C compilation flags when compiling perl. To discourage casual
use of this advanced feature, there is no L<English|English> long name for
this variable.
@@ -675,183 +497,116 @@ This variable was added in Perl 5.004.
X<$^O> X<$OSNAME>
The name of the operating system under which this copy of Perl was
-built, as determined during the configuration process. For examples
+built, as determined during the configuration process. For examples
see L<perlport/PLATFORMS>.
-The value is identical to C<$Config{'osname'}>. See also L<Config>
+The value is identical to C<$Config{'osname'}>. See also L<Config>
and the B<-V> command-line switch documented in L<perlrun>.
In Windows platforms, C<$^O> is not very helpful: since it is always
C<MSWin32>, it doesn't tell the difference between
-95/98/ME/NT/2000/XP/CE/.NET. Use C<Win32::GetOSName()> or
+95/98/ME/NT/2000/XP/CE/.NET. Use C<Win32::GetOSName()> or
Win32::GetOSVersion() (see L<Win32> and L<perlport>) to distinguish
between the variants.
This variable was added in Perl 5.003.
-=item ${^OPEN}
-X<${^OPEN}>
-
-An internal variable used by PerlIO. A string in two parts, separated
-by a C<\0> byte, the first part describes the input layers, the second
-part describes the output layers.
-
-This variable was added in Perl 5.8.2.
-
-=item $PERLDB
-
-=item $^P
-X<$^P> X<$PERLDB>
-
-The internal variable for debugging support. The meanings of the
-various bits are subject to change, but currently indicate:
-
-=over 6
-
-=item 0x01
-
-Debug subroutine enter/exit.
-
-=item 0x02
-
-Line-by-line debugging. Causes C<DB::DB()> subroutine to be called for each
-statement executed. Also causes saving source code lines (like 0x400).
-
-=item 0x04
-
-Switch off optimizations.
-
-=item 0x08
-
-Preserve more data for future interactive inspections.
-
-=item 0x10
-
-Keep info about source lines on which a subroutine is defined.
-
-=item 0x20
-
-Start with single-step on.
-
-=item 0x40
-
-Use subroutine address instead of name when reporting.
-
-=item 0x80
-
-Report C<goto &subroutine> as well.
-
-=item 0x100
-
-Provide informative "file" names for evals based on the place they were compiled.
-
-=item 0x200
-
-Provide informative names to anonymous subroutines based on the place they
-were compiled.
-
-=item 0x400
-
-Save source code lines into C<@{"_<$filename"}>.
-
-=back
-
-Some bits may be relevant at compile-time only, some at
-run-time only. This is a new mechanism and the details may change.
-See also L<perldebguts>.
-
=item %SIG
X<%SIG>
-The hash C<%SIG> contains signal handlers for signals. For example:
+The hash C<%SIG> contains signal handlers for signals. For example:
- sub handler { # 1st argument is signal name
- my($sig) = @_;
- print "Caught a SIG$sig--shutting down\n";
- close(LOG);
- exit(0);
- }
+ sub handler { # 1st argument is signal name
+ my($sig) = @_;
+ print "Caught a SIG$sig--shutting down\n";
+ close(LOG);
+ exit(0);
+ }
- $SIG{'INT'} = \&handler;
- $SIG{'QUIT'} = \&handler;
- ...
- $SIG{'INT'} = 'DEFAULT'; # restore default action
- $SIG{'QUIT'} = 'IGNORE'; # ignore SIGQUIT
+ $SIG{'INT'} = \&handler;
+ $SIG{'QUIT'} = \&handler;
+ ...
+ $SIG{'INT'} = 'DEFAULT'; # restore default action
+ $SIG{'QUIT'} = 'IGNORE'; # ignore SIGQUIT
Using a value of C<'IGNORE'> usually has the effect of ignoring the
-signal, except for the C<CHLD> signal. See L<perlipc> for more about
+signal, except for the C<CHLD> signal. See L<perlipc> for more about
this special case.
Here are some other examples:
- $SIG{"PIPE"} = "Plumber"; # assumes main::Plumber (not recommended)
- $SIG{"PIPE"} = \&Plumber; # just fine; assume current Plumber
- $SIG{"PIPE"} = *Plumber; # somewhat esoteric
- $SIG{"PIPE"} = Plumber(); # oops, what did Plumber() return??
+ $SIG{"PIPE"} = "Plumber"; # assumes main::Plumber (not
+ # recommended)
+ $SIG{"PIPE"} = \&Plumber; # just fine; assume current
+ # Plumber
+ $SIG{"PIPE"} = *Plumber; # somewhat esoteric
+ $SIG{"PIPE"} = Plumber(); # oops, what did Plumber()
+ # return??
Be sure not to use a bareword as the name of a signal handler,
lest you inadvertently call it.
If your system has the C<sigaction()> function then signal handlers
-are installed using it. This means you get reliable signal handling.
+are installed using it. This means you get reliable signal handling.
The default delivery policy of signals changed in Perl 5.8.0 from
immediate (also known as "unsafe") to deferred, also known as "safe
-signals". See L<perlipc> for more information.
+signals". See L<perlipc> for more information.
-Certain internal hooks can be also set using the C<%SIG> hash. The
+Certain internal hooks can be also set using the C<%SIG> hash. The
routine indicated by C<$SIG{__WARN__}> is called when a warning
-message is about to be printed. The warning message is passed as the
-first argument. The presence of a C<__WARN__> hook causes the
-ordinary printing of warnings to C<STDERR> to be suppressed. You can
+message is about to be printed. The warning message is passed as the
+first argument. The presence of a C<__WARN__> hook causes the
+ordinary printing of warnings to C<STDERR> to be suppressed. You can
use this to save warnings in a variable, or turn warnings into fatal
errors, like this:
- local $SIG{__WARN__} = sub { die $_[0] };
- eval $proggie;
+ local $SIG{__WARN__} = sub { die $_[0] };
+ eval $proggie;
As the C<'IGNORE'> hook is not supported by C<__WARN__>, you can
disable warnings using the empty subroutine:
- local $SIG{__WARN__} = sub {};
+ local $SIG{__WARN__} = sub {};
The routine indicated by C<$SIG{__DIE__}> is called when a fatal
-exception is about to be thrown. The error message is passed as the
-first argument. When a C<__DIE__> hook routine returns, the exception
+exception is about to be thrown. The error message is passed as the
+first argument. When a C<__DIE__> hook routine returns, the exception
processing continues as it would have in the absence of the hook,
-unless the hook routine itself exits via a C<goto>, a loop exit, or a
-C<die()>. The C<__DIE__> handler is explicitly disabled during the
-call, so that you can die from a C<__DIE__> handler. Similarly for
-C<__WARN__>.
+unless the hook routine itself exits via a C<goto &sub>, a loop exit,
+or a C<die()>. The C<__DIE__> handler is explicitly disabled during
+the call, so that you can die from a C<__DIE__> handler. Similarly
+for C<__WARN__>.
Due to an implementation glitch, the C<$SIG{__DIE__}> hook is called
-even inside an C<eval()>. Do not use this to rewrite a pending
+even inside an C<eval()>. Do not use this to rewrite a pending
exception in C<$@>, or as a bizarre substitute for overriding
-C<CORE::GLOBAL::die()>. This strange action at a distance may be fixed
+C<CORE::GLOBAL::die()>. This strange action at a distance may be fixed
in a future release so that C<$SIG{__DIE__}> is only called if your
-program is about to exit, as was the original intent. Any other use is
+program is about to exit, as was the original intent. Any other use is
deprecated.
C<__DIE__>/C<__WARN__> handlers are very special in one respect: they
-may be called to report (probable) errors found by the parser. In such
+may be called to report (probable) errors found by the parser. In such
a case the parser may be in inconsistent state, so any attempt to
evaluate Perl code from such a handler will probably result in a
-segfault. This means that warnings or errors that result from parsing
+segfault. This means that warnings or errors that result from parsing
Perl should be used with extreme caution, like this:
- require Carp if defined $^S;
- Carp::confess("Something wrong") if defined &Carp::confess;
- die "Something wrong, but could not load Carp to give backtrace...
- To see backtrace try starting Perl with -MCarp switch";
+ require Carp if defined $^S;
+ Carp::confess("Something wrong") if defined &Carp::confess;
+ die "Something wrong, but could not load Carp to give "
+ . "backtrace...\n\t"
+ . "To see backtrace try starting Perl with -MCarp switch";
Here the first line will load C<Carp> I<unless> it is the parser who
-called the handler. The second line will print backtrace and die if
-C<Carp> was available. The third line will be executed only if C<Carp> was
+called the handler. The second line will print backtrace and die if
+C<Carp> was available. The third line will be executed only if C<Carp> was
not available.
Having to even think about the C<$^S> variable in your exception
-handlers is simply wrong. C<$SIG{__DIE__}> as currently implemented
-invites grievous and difficult to track down errors. Avoid it
+handlers is simply wrong. C<$SIG{__DIE__}> as currently implemented
+invites grievous and difficult to track down errors. Avoid it
and use an C<END{}> or CORE::GLOBAL::die override instead.
See L<perlfunc/die>, L<perlfunc/warn>, L<perlfunc/eval>, and
@@ -863,50 +618,9 @@ L<warnings> for additional information.
X<$^T> X<$BASETIME>
The time at which the program began running, in seconds since the
-epoch (beginning of 1970). The values returned by the B<-M>, B<-A>,
+epoch (beginning of 1970). The values returned by the B<-M>, B<-A>,
and B<-C> filetests are based on this value.
-=item ${^TAINT}
-X<${^TAINT}>
-
-Reflects if taint mode is on or off. 1 for on (the program was run with
-B<-T>), 0 for off, -1 when only taint warnings are enabled (i.e. with
-B<-t> or B<-TU>).
-
-This variable is read-only.
-
-This variable was added in Perl 5.8.
-
-=item ${^UNICODE}
-X<${^UNICODE}>
-
-Reflects certain Unicode settings of Perl. See L<perlrun>
-documentation for the C<-C> switch for more information about
-the possible values.
-
-This variable is set during Perl startup and is thereafter read-only.
-
-This variable was added in Perl 5.8.2.
-
-=item ${^UTF8CACHE}
-X<${^UTF8CACHE}>
-
-This variable controls the state of the internal UTF-8 offset caching code.
-1 for on (the default), 0 for off, -1 to debug the caching code by checking
-all its results against linear scans, and panicking on any discrepancy.
-
-This variable was added in Perl 5.8.9.
-
-=item ${^UTF8LOCALE}
-X<${^UTF8LOCALE}>
-
-This variable indicates whether a UTF-8 locale was detected by perl at
-startup. This information is used by perl when it's in
-adjust-utf8ness-to-locale mode (as when run with the C<-CL> command-line
-switch); see L<perlrun> for more info on this.
-
-This variable was added in Perl 5.8.8.
-
=item $PERL_VERSION
=item $^V
@@ -916,18 +630,18 @@ The revision, version, and subversion of the Perl interpreter,
represented as a C<version> object.
This variable first appeared in perl 5.6.0; earlier versions of perl
-will see an undefined value. Before perl 5.10.0 C<$^V> was represented
+will see an undefined value. Before perl 5.10.0 C<$^V> was represented
as a v-string.
C<$^V> can be used to determine whether the Perl interpreter executing
-a script is in the right range of versions. For example:
+a script is in the right range of versions. For example:
- warn "Hashes not randomized!\n" if !$^V or $^V lt v5.8.1
+ warn "Hashes not randomized!\n" if !$^V or $^V lt v5.8.1
To convert C<$^V> into its string representation use C<sprintf()>'s
C<"%vd"> conversion:
- printf "version is v%vd\n", $^V; # Perl's version
+ printf "version is v%vd\n", $^V; # Perl's version
See the documentation of C<use VERSION> and C<require VERSION>
for a convenient way to fail if the running Perl interpreter is too old.
@@ -942,14 +656,14 @@ Mnemonic: use ^V for Version Control.
X<${^WIN32_SLOPPY_STAT}> X<sitecustomize> X<sitecustomize.pl>
If this variable is set to a true value, then C<stat()> on Windows will
-not try to open the file. This means that the link count cannot be
+not try to open the file. This means that the link count cannot be
determined and file attributes may be out of date if additional
-hardlinks to the file exist. On the other hand, not opening the file
+hardlinks to the file exist. On the other hand, not opening the file
is considerably faster, especially for files on network drives.
This variable could be set in the F<sitecustomize.pl> file to
configure the local Perl installation to use "sloppy" C<stat()> by
-default. See the documentation for B<-f> in
+default. See the documentation for B<-f> in
L<perlrun|perlrun/"Command Switches"> for more information about site
customization.
@@ -966,15 +680,15 @@ C<argv[0]> or (where supported) F</proc/self/exe>.
Depending on the host operating system, the value of C<$^X> may be
a relative or absolute pathname of the perl program file, or may
be the string used to invoke perl but not the pathname of the
-perl program file. Also, most operating systems permit invoking
+perl program file. Also, most operating systems permit invoking
programs that are not in the PATH environment variable, so there
-is no guarantee that the value of C<$^X> is in PATH. For VMS, the
+is no guarantee that the value of C<$^X> is in PATH. For VMS, the
value may or may not include a version number.
You usually can use the value of C<$^X> to re-invoke an independent
copy of the same perl that is currently running, e.g.,
- @first_run = `$^X -le "print int rand 100 for 1..100"`;
+ @first_run = `$^X -le "print int rand 100 for 1..100"`;
But recall that not all operating systems support forking or
capturing of the output of commands, so this complex statement
@@ -983,43 +697,43 @@ may not be portable.
It is not safe to use the value of C<$^X> as a path name of a file,
as some operating systems that have a mandatory suffix on
executable files do not require use of the suffix when invoking
-a command. To convert the value of C<$^X> to a path name, use the
+a command. To convert the value of C<$^X> to a path name, use the
following statements:
- # Build up a set of file names (not command names).
- use Config;
- my $this_perl = $^X;
- if ($^O ne 'VMS') {
- $this_perl .= $Config{_exe}
- unless $this_perl =~ m/$Config{_exe}$/i;
- }
+ # Build up a set of file names (not command names).
+ use Config;
+ my $this_perl = $^X;
+ if ($^O ne 'VMS') {
+ $this_perl .= $Config{_exe}
+ unless $this_perl =~ m/$Config{_exe}$/i;
+ }
Because many operating systems permit anyone with read access to
the Perl program file to make a copy of it, patch the copy, and
then execute the copy, the security-conscious Perl programmer
should take care to invoke the installed copy of perl, not the
-copy referenced by C<$^X>. The following statements accomplish
+copy referenced by C<$^X>. The following statements accomplish
this goal, and produce a pathname that can be invoked as a
command or referenced as a file.
- use Config;
- my $secure_perl_path = $Config{perlpath};
- if ($^O ne 'VMS') {
- $secure_perl_path .= $Config{_exe}
- unless $secure_perl_path =~ m/$Config{_exe}$/i;
- }
+ use Config;
+ my $secure_perl_path = $Config{perlpath};
+ if ($^O ne 'VMS') {
+ $secure_perl_path .= $Config{_exe}
+ unless $secure_perl_path =~ m/$Config{_exe}$/i;
+ }
=back
=head2 Variables related to regular expressions
Most of the special variables related to regular expressions are side
-effects. Perl sets these variables when it has a successful match, so
-you should check the match result before using them. For instance:
+effects. Perl sets these variables when it has a successful match, so
+you should check the match result before using them. For instance:
- if( /P(A)TT(ER)N/ ) {
- print "I found $1 and $2\n";
- }
+ if( /P(A)TT(ER)N/ ) {
+ print "I found $1 and $2\n";
+ }
These variables are read-only and dynamically-scoped, unless we note
otherwise.
@@ -1028,44 +742,44 @@ The dynamic nature of the regular expression variables means that
their value is limited to the block that they are in, as demonstrated
by this bit of code:
- my $outer = 'Wallace and Grommit';
- my $inner = 'Mutt and Jeff';
+ my $outer = 'Wallace and Grommit';
+ my $inner = 'Mutt and Jeff';
- my $pattern = qr/(\S+) and (\S+)/;
+ my $pattern = qr/(\S+) and (\S+)/;
- sub show_n { print "\$1 is $1; \$2 is $2\n" }
+ sub show_n { print "\$1 is $1; \$2 is $2\n" }
- {
- OUTER:
- show_n() if $outer =~ m/$pattern/;
+ {
+ OUTER:
+ show_n() if $outer =~ m/$pattern/;
- INNER: {
- show_n() if $inner =~ m/$pattern/;
- }
+ INNER: {
+ show_n() if $inner =~ m/$pattern/;
+ }
- show_n();
- }
+ show_n();
+ }
The output shows that while in the C<OUTER> block, the values of C<$1>
-and C<$2> are from the match against C<$outer>. Inside the C<INNER>
+and C<$2> are from the match against C<$outer>. Inside the C<INNER>
block, the values of C<$1> and C<$2> are from the match against
C<$inner>, but only until the end of the block (i.e. the dynamic
-scope). After the C<INNER> block completes, the values of C<$1> and
+scope). After the C<INNER> block completes, the values of C<$1> and
C<$2> return to the values for the match against C<$outer> even though
we have not made another match:
- $1 is Wallace; $2 is Grommit
- $1 is Mutt; $2 is Jeff
- $1 is Wallace; $2 is Grommit
+ $1 is Wallace; $2 is Grommit
+ $1 is Mutt; $2 is Jeff
+ $1 is Wallace; $2 is Grommit
Due to an unfortunate accident of Perl's implementation, C<use
English> imposes a considerable performance penalty on all regular
expression matches in a program because it uses the C<$`>, C<$&>, and
C<$'>, regardless of whether they occur in the scope of C<use
-English>. For that reason, saying C<use English> in libraries is
+English>. For that reason, saying C<use English> in libraries is
strongly discouraged unless you import it without the match variables:
- use English '-no_match_vars'
+ use English '-no_match_vars'
The C<Devel::NYTProf> and C<Devel::FindAmpersand>
modules can help you find uses of these
@@ -1098,9 +812,9 @@ any matches hidden within a BLOCK or C<eval()> enclosed by the current
BLOCK).
The use of this variable anywhere in a program imposes a considerable
-performance penalty on all regular expression matches. To avoid this
-penalty, you can extract the same substring by using L</@->. Starting
-with Perl 5.10, you can use the </p> match flag and the C<${^MATCH}>
+performance penalty on all regular expression matches. To avoid this
+penalty, you can extract the same substring by using L</@->. Starting
+with Perl 5.10, you can use the C</p> match flag and the C<${^MATCH}>
variable to do the same thing for particular match operations.
This variable is read-only and dynamically-scoped.
@@ -1129,9 +843,9 @@ pattern match, not counting any matches hidden within a BLOCK or C<eval>
enclosed by the current BLOCK.
The use of this variable anywhere in a program imposes a considerable
-performance penalty on all regular expression matches. To avoid this
-penalty, you can extract the same substring by using L</@->. Starting
-with Perl 5.10, you can use the </p> match flag and the
+performance penalty on all regular expression matches. To avoid this
+penalty, you can extract the same substring by using L</@->. Starting
+with Perl 5.10, you can use the C</p> match flag and the
C<${^PREMATCH}> variable to do the same thing for particular match
operations.
@@ -1158,16 +872,16 @@ X<$'> X<$POSTMATCH> X<${^POSTMATCH}> X<@->
The string following whatever was matched by the last successful
pattern match (not counting any matches hidden within a BLOCK or C<eval()>
-enclosed by the current BLOCK). Example:
+enclosed by the current BLOCK). Example:
- local $_ = 'abcdefghi';
- /def/;
- print "$`:$&:$'\n"; # prints abc:def:ghi
+ local $_ = 'abcdefghi';
+ /def/;
+ print "$`:$&:$'\n"; # prints abc:def:ghi
The use of this variable anywhere in a program imposes a considerable
performance penalty on all regular expression matches.
To avoid this penalty, you can extract the same substring by
-using L</@->. Starting with Perl 5.10, you can use the </p> match flag
+using L</@->. Starting with Perl 5.10, you can use the C</p> match flag
and the C<${^POSTMATCH}> variable to do the same thing for particular
match operations.
@@ -1194,9 +908,9 @@ X<$+> X<$LAST_PAREN_MATCH>
The text matched by the last bracket of the last successful search pattern.
This is useful if you don't know which one of a set of alternative patterns
-matched. For example:
+matched. For example:
- /Version: (.*)|Revision: (.*)/ && ($rev = $+);
+ /Version: (.*)|Revision: (.*)/ && ($rev = $+);
This variable is read-only and dynamically-scoped.
@@ -1212,10 +926,10 @@ with the rightmost closing parenthesis) of the last successful search
pattern.
This is primarily used inside C<(?{...})> blocks for examining text
-recently matched. For example, to effectively capture text to a variable
+recently matched. For example, to effectively capture text to a variable
(in addition to C<$1>, C<$2>, etc.), replace C<(...)> with
- (?:(...)(?{ $var = $^N }))
+ (?:(...)(?{ $var = $^N }))
By setting and then using C<$var> in this way relieves you from having to
worry about exactly which numbered set of parentheses they are.
@@ -1230,14 +944,14 @@ Mnemonic: the (possibly) Nested parenthesis that most recently closed.
X<@+> X<@LAST_MATCH_END>
This array holds the offsets of the ends of the last successful
-submatches in the currently active dynamic scope. C<$+[0]> is
-the offset into the string of the end of the entire match. This
+submatches in the currently active dynamic scope. C<$+[0]> is
+the offset into the string of the end of the entire match. This
is the same value as what the C<pos> function returns when called
-on the variable that was matched against. The I<n>th element
+on the variable that was matched against. The I<n>th element
of this array holds the offset of the I<n>th submatch, so
C<$+[1]> is the offset past where C<$1> ends, C<$+[2]> the offset
-past where C<$2> ends, and so on. You can use C<$#+> to determine
-how many subgroups were in the last successful match. See the
+past where C<$2> ends, and so on. You can use C<$#+> to determine
+how many subgroups were in the last successful match. See the
examples given for the C<@-> variable.
This variable was added in Perl 5.6.
@@ -1253,7 +967,7 @@ currently active dynamic scope.
For example, C<$+{foo}> is equivalent to C<$1> after the following match:
- 'foo' =~ /(?<foo>foo)/;
+ 'foo' =~ /(?<foo>foo)/;
The keys of the C<%+> hash list only the names of buffers that have
captured (and that are thus associated to defined values).
@@ -1262,7 +976,7 @@ The underlying behaviour of C<%+> is provided by the
L<Tie::Hash::NamedCapture> module.
B<Note:> C<%-> and C<%+> are tied views into a common internal hash
-associated with the last successful regular expression. Therefore mixing
+associated with the last successful regular expression. Therefore mixing
iterative access to them via C<each> may have unpredictable results.
Likewise, if the last successful match changes, then the results may be
surprising.
@@ -1281,17 +995,17 @@ C<$-[>I<n>C<]> is the offset of the start of the substring matched by
I<n>-th subpattern, or undef if the subpattern did not match.
Thus, after a match against C<$_>, C<$&> coincides with C<substr $_, $-[0],
-$+[0] - $-[0]>. Similarly, $I<n> coincides with C<substr $_, $-[n],
+$+[0] - $-[0]>. Similarly, $I<n> coincides with C<substr $_, $-[n],
$+[n] - $-[n]> if C<$-[n]> is defined, and $+ coincides with
-C<substr $_, $-[$#-], $+[$#-] - $-[$#-]>. One can use C<$#-> to find the last
-matched subgroup in the last successful match. Contrast with
-C<$#+>, the number of subgroups in the regular expression. Compare
+C<substr $_, $-[$#-], $+[$#-] - $-[$#-]>. One can use C<$#-> to find the
+last matched subgroup in the last successful match. Contrast with
+C<$#+>, the number of subgroups in the regular expression. Compare
with C<@+>.
This array holds the offsets of the beginnings of the last
successful submatches in the currently active dynamic scope.
C<$-[0]> is the offset into the string of the beginning of the
-entire match. The I<n>th element of this array holds the offset
+entire match. The I<n>th element of this array holds the offset
of the I<n>th submatch, so C<$-[1]> is the offset where C<$1>
begins, C<$-[2]> the offset where C<$2> begins, and so on.
@@ -1321,7 +1035,7 @@ This variable was added in Perl 5.6.
X<%-> X<%LAST_MATCH_START>
Similar to C<%+>, this variable allows access to the named capture groups
-in the last successful match in the currently active dynamic scope. To
+in the last successful match in the currently active dynamic scope. To
each capture group name found in the regular expression, it associates a
reference to an array containing the list of values captured by all
buffers with that name (should there be several of them), in the order
@@ -1334,7 +1048,9 @@ Here's an example:
my $ary = $-{$bufname};
foreach my $idx (0..$#$ary) {
print "\$-{$bufname}[$idx] : ",
- (defined($ary->[$idx]) ? "'$ary->[$idx]'" : "undef"),
+ (defined($ary->[$idx])
+ ? "'$ary->[$idx]'"
+ : "undef"),
"\n";
}
}
@@ -1342,10 +1058,10 @@ Here's an example:
would print out:
- $-{A}[0] : '1'
- $-{A}[1] : '3'
- $-{B}[0] : '2'
- $-{B}[1] : '4'
+ $-{A}[0] : '1'
+ $-{A}[1] : '3'
+ $-{B}[0] : '2'
+ $-{B}[1] : '4'
The keys of the C<%-> hash correspond to all buffer names found in
the regular expression.
@@ -1354,7 +1070,7 @@ The behaviour of C<%-> is implemented via the
L<Tie::Hash::NamedCapture> module.
B<Note:> C<%-> and C<%+> are tied views into a common internal hash
-associated with the last successful regular expression. Therefore mixing
+associated with the last successful regular expression. Therefore mixing
iterative access to them via C<each> may have unpredictable results.
Likewise, if the last successful match changes, then the results may be
surprising.
@@ -1369,15 +1085,15 @@ This variable is read-only and dynamically-scoped.
X<$^R> X<$LAST_REGEXP_CODE_RESULT>
The result of evaluation of the last successful C<(?{ code })>
-regular expression assertion (see L<perlre>). May be written to.
+regular expression assertion (see L<perlre>). May be written to.
This variable was added in Perl 5.005.
=item ${^RE_DEBUG_FLAGS}
X<${^RE_DEBUG_FLAGS}>
-The current value of the regex debugging flags. Set to 0 for no debug output
-even when the C<re 'debug'> module is loaded. See L<re> for details.
+The current value of the regex debugging flags. Set to 0 for no debug output
+even when the C<re 'debug'> module is loaded. See L<re> for details.
This variable was added in Perl 5.10.
@@ -1385,9 +1101,10 @@ This variable was added in Perl 5.10.
X<${^RE_TRIE_MAXBUF}>
Controls how certain regex optimisations are applied and how much memory they
-utilize. This value by default is 65536 which corresponds to a 512kB temporary
-cache. Set this to a higher value to trade memory for speed when matching
-large alternations. Set it to a lower value if you want the optimisations to
+utilize. This value by default is 65536 which corresponds to a 512kB
+temporary cache. Set this to a higher value to trade
+memory for speed when matching large alternations. Set
+it to a lower value if you want the optimisations to
be as conservative of memory as possible but still occur, and set it to a
negative value to prevent the optimisation and conserve the most memory.
Under normal situations this variable should be of no interest to you.
@@ -1401,50 +1118,50 @@ This variable was added in Perl 5.10.
Variables that depend on the currently selected filehandle may be set
by calling an appropriate object method on the C<IO::Handle> object,
although this is less efficient than using the regular built-in
-variables. (Summary lines below for this contain the word HANDLE.)
+variables. (Summary lines below for this contain the word HANDLE.)
First you must say
- use IO::Handle;
+ use IO::Handle;
after which you may use either
- method HANDLE EXPR
+ method HANDLE EXPR
or more safely,
- HANDLE->method(EXPR)
+ HANDLE->method(EXPR)
-Each method returns the old value of the C<IO::Handle> attribute. The
+Each method returns the old value of the C<IO::Handle> attribute. The
methods each take an optional EXPR, which, if supplied, specifies the
-new value for the C<IO::Handle> attribute in question. If not
+new value for the C<IO::Handle> attribute in question. If not
supplied, most methods do nothing to the current value--except for
C<autoflush()>, which will assume a 1 for you, just to be different.
Because loading in the C<IO::Handle> class is an expensive operation,
you should learn how to use the regular built-in variables.
-A few of these variables are considered "read-only". This means that
+A few of these variables are considered "read-only". This means that
if you try to assign to this variable, either directly or indirectly
through a reference, you'll raise a run-time exception.
You should be very careful when modifying the default values of most
-special variables described in this document. In most cases you want
+special variables described in this document. In most cases you want
to localize these variables before changing them, since if you don't,
the change may affect other modules which rely on the default values
-of the special variables that you have changed. This is one of the
+of the special variables that you have changed. This is one of the
correct ways to read the whole file at once:
- open my $fh, "<", "foo" or die $!;
- local $/; # enable localized slurp mode
- my $content = <$fh>;
- close $fh;
+ open my $fh, "<", "foo" or die $!;
+ local $/; # enable localized slurp mode
+ my $content = <$fh>;
+ close $fh;
But the following code is quite bad:
- open my $fh, "<", "foo" or die $!;
- undef $/; # enable slurp mode
- my $content = <$fh>;
- close $fh;
+ open my $fh, "<", "foo" or die $!;
+ undef $/; # enable slurp mode
+ my $content = <$fh>;
+ close $fh;
since some other module, may want to read data from some file in the
default "line mode", so if the code we have just presented has been
@@ -1452,30 +1169,30 @@ executed, the global value of C<$/> is now changed for any other code
running inside the same Perl interpreter.
Usually when a variable is localized you want to make sure that this
-change affects the shortest scope possible. So unless you are already
-inside some short C<{}> block, you should create one yourself. For
+change affects the shortest scope possible. So unless you are already
+inside some short C<{}> block, you should create one yourself. For
example:
- my $content = '';
- open my $fh, "<", "foo" or die $!;
- {
- local $/;
- $content = <$fh>;
- }
- close $fh;
+ my $content = '';
+ open my $fh, "<", "foo" or die $!;
+ {
+ local $/;
+ $content = <$fh>;
+ }
+ close $fh;
Here is an example of how your own code can go broken:
- for ( 1..3 ){
- $\ = "\r\n";
- nasty_break();
- print "$_";
- }
+ for ( 1..3 ){
+ $\ = "\r\n";
+ nasty_break();
+ print "$_";
+ }
- sub nasty_break {
+ sub nasty_break {
$\ = "\f";
# do something with $_
- }
+ }
You probably expect this code to print the equivalent of
@@ -1486,11 +1203,11 @@ but instead you get:
"1\f2\f3\f"
Why? Because C<nasty_break()> modifies C<$\> without localizing it
-first. The value you set in C<nasty_break()> is still there when you
-return. The fix is to add C<local()> so the value doesn't leak out of
+first. The value you set in C<nasty_break()> is still there when you
+return. The fix is to add C<local()> so the value doesn't leak out of
C<nasty_break()>:
- local $\ = "\f";
+ local $\ = "\f";
It's easy to notice the problem in such a short example, but in more
complicated code you are looking for trouble if you don't localize
@@ -1507,18 +1224,18 @@ Contains the name of the current file when reading from C<< <> >>.
X<@ARGV>
The array C<@ARGV> contains the command-line arguments intended for
-the script. C<$#ARGV> is generally the number of arguments minus
+the script. C<$#ARGV> is generally the number of arguments minus
one, because C<$ARGV[0]> is the first argument, I<not> the program's
-command name itself. See C<$0> for the command name.
+command name itself. See L</$0> for the command name.
=item ARGV
X<ARGV>
The special filehandle that iterates over command-line filenames in
-C<@ARGV>. Usually written as the null filehandle in the angle operator
-C<< <> >>. Note that currently C<ARGV> only has its magical effect
+C<@ARGV>. Usually written as the null filehandle in the angle operator
+C<< <> >>. Note that currently C<ARGV> only has its magical effect
within the C<< <> >> operator; elsewhere it is just a plain filehandle
-corresponding to the last file opened by C<< <> >>. In particular,
+corresponding to the last file opened by C<< <> >>. In particular,
passing C<\*ARGV> as a parameter to a function that expects a filehandle
may not cause your function to automatically read the contents of all the
files in C<@ARGV>.
@@ -1527,8 +1244,8 @@ files in C<@ARGV>.
X<ARGVOUT>
The special filehandle that points to the currently open output file
-when doing edit-in-place processing with B<-i>. Useful when you have
-to do a lot of inserting and don't want to keep modifying C<$_>. See
+when doing edit-in-place processing with B<-i>. Useful when you have
+to do a lot of inserting and don't want to keep modifying C<$_>. See
L<perlrun> for the B<-i> switch.
=item Handle->output_field_separator( EXPR )
@@ -1540,8 +1257,8 @@ L<perlrun> for the B<-i> switch.
=item $,
X<$,> X<$OFS> X<$OUTPUT_FIELD_SEPARATOR>
-The output field separator for the print operator. If defined, this
-value is printed between each of print's arguments. Default is C<undef>.
+The output field separator for the print operator. If defined, this
+value is printed between each of print's arguments. Default is C<undef>.
Mnemonic: what is printed when there is a "," in your print statement.
@@ -1557,20 +1274,20 @@ X<$.> X<$NR> X<$INPUT_LINE_NUMBER> X<line number>
Current line number for the last filehandle accessed.
Each filehandle in Perl counts the number of lines that have been read
-from it. (Depending on the value of C<$/>, Perl's idea of what
+from it. (Depending on the value of C<$/>, Perl's idea of what
constitutes a line may not match yours.) When a line is read from a
filehandle (via C<readline()> or C<< <> >>), or when C<tell()> or
C<seek()> is called on it, C<$.> becomes an alias to the line counter
for that filehandle.
You can adjust the counter by assigning to C<$.>, but this will not
-actually move the seek pointer. I<Localizing C<$.> will not localize
-the filehandle's line count>. Instead, it will localize perl's notion
+actually move the seek pointer. I<Localizing C<$.> will not localize
+the filehandle's line count>. Instead, it will localize perl's notion
of which filehandle C<$.> is currently aliased to.
C<$.> is reset when the filehandle is closed, but B<not> when an open
-filehandle is reopened without an intervening C<close()>. For more
-details, see L<perlop/"IE<sol>O Operators">. Because C<< <> >> never does
+filehandle is reopened without an intervening C<close()>. For more
+details, see L<perlop/"IE<sol>O Operators">. Because C<< <> >> never does
an explicit close, line numbers increase across C<ARGV> files (but see
examples in L<perlfunc/eof>).
@@ -1589,15 +1306,15 @@ Mnemonic: many programs use "." to mean the current line number.
=item $/
X<$/> X<$RS> X<$INPUT_RECORD_SEPARATOR>
-The input record separator, newline by default. This influences Perl's
-idea of what a "line" is. Works like B<awk>'s RS variable, including
+The input record separator, newline by default. This influences Perl's
+idea of what a "line" is. Works like B<awk>'s RS variable, including
treating empty lines as a terminator if set to the null string (an
-empty line cannot contain any spaces or tabs). You may set it to a
+empty line cannot contain any spaces or tabs). You may set it to a
multi-character string to match a multi-character terminator, or to
-C<undef> to read through the end of file. Setting it to C<"\n\n">
+C<undef> to read through the end of file. Setting it to C<"\n\n">
means something slightly different than setting to C<"">, if the file
-contains consecutive empty lines. Setting to C<""> will treat two or
-more consecutive empty lines as a single empty line. Setting to
+contains consecutive empty lines. Setting to C<""> will treat two or
+more consecutive empty lines as a single empty line. Setting to
C<"\n\n"> will blindly assume that the next input character belongs to
the next paragraph, even if it's a newline.
@@ -1605,33 +1322,38 @@ the next paragraph, even if it's a newline.
local $_ = <FH>; # whole file now here
s/\n[ \t]+/ /g;
-Remember: the value of C<$/> is a string, not a regex. B<awk> has to
+Remember: the value of C<$/> is a string, not a regex. B<awk> has to
be better for something. :-)
Setting C<$/> to a reference to an integer, scalar containing an
integer, or scalar that's convertible to an integer will attempt to
read records instead of lines, with the maximum record size being the
-referenced integer. So this:
+referenced integer. So this:
local $/ = \32768; # or \"32768", or \$var_containing_32768
open my $fh, "<", $myfile or die $!;
local $_ = <$fh>;
-will read a record of no more than 32768 bytes from FILE. If you're
+will read a record of no more than 32768 bytes from FILE. If you're
not reading from a record-oriented file (or your OS doesn't have
record-oriented files), then you'll likely get a full chunk of data
-with every read. If a record is larger than the record size you've
-set, you'll get the record back in pieces. Trying to set the record
+with every read. If a record is larger than the record size you've
+set, you'll get the record back in pieces. Trying to set the record
size to zero or less will cause reading in the (rest of the) whole file.
-On VMS, record reads are done with the equivalent of C<sysread>,
-so it's best not to mix record and non-record reads on the same
-file. (This is unlikely to be a problem, because any file you'd
-want to read in record mode is probably unusable in line mode.)
-Non-VMS systems do normal I/O, so it's safe to mix record and
-non-record reads of a file.
+On VMS only, record reads bypass PerlIO layers and any associated
+buffering,so you must not mix record and non-record reads on the
+same filehandle. Record mode mixes with line mode only when the
+same buffering layer is in use for both modes.
+
+If you perform a record read on a FILE with an encoding layer such as
+C<:encoding(latin1)> or C<:utf8>, you may get an invalid string as a
+result, may leave the FILE positioned between characters in the stream
+and may not be reading the number of bytes from the underlying file
+that you specified. This behaviour may change without warning in a
+future version of perl.
-See also L<perlport/"Newlines">. Also see C<$.>.
+See also L<perlport/"Newlines">. Also see L</$.>.
Mnemonic: / delimits line boundaries when quoting poetry.
@@ -1644,8 +1366,8 @@ Mnemonic: / delimits line boundaries when quoting poetry.
=item $\
X<$\> X<$ORS> X<$OUTPUT_RECORD_SEPARATOR>
-The output record separator for the print operator. If defined, this
-value is printed after the last of print's arguments. Default is C<undef>.
+The output record separator for the print operator. If defined, this
+value is printed after the last of print's arguments. Default is C<undef>.
Mnemonic: you set C<$\> instead of adding "\n" at the end of the print.
Also, it's just like C<$/>, but it's what you get "back" from Perl.
@@ -1658,16 +1380,16 @@ Also, it's just like C<$/>, but it's what you get "back" from Perl.
X<$|> X<autoflush> X<flush> X<$OUTPUT_AUTOFLUSH>
If set to nonzero, forces a flush right away and after every write or
-print on the currently selected output channel. Default is 0
+print on the currently selected output channel. Default is 0
(regardless of whether the channel is really buffered by the system or
not; C<$|> tells you only whether you've asked Perl explicitly to
-flush after each write). STDOUT will typically be line buffered if
-output is to the terminal and block buffered otherwise. Setting this
+flush after each write). STDOUT will typically be line buffered if
+output is to the terminal and block buffered otherwise. Setting this
variable is useful primarily when you are outputting to a pipe or
socket, such as when you are running a Perl program under B<rsh> and
-want to see the output as it's happening. This has no effect on input
-buffering. See L<perlfunc/getc> for that. See L<perlfunc/select> on
-how to select the output channel. See also L<IO::Handle>.
+want to see the output as it's happening. This has no effect on input
+buffering. See L<perlfunc/getc> for that. See L<perlfunc/select> on
+how to select the output channel. See also L<IO::Handle>.
Mnemonic: when you want your pipes to be piping hot.
@@ -1676,7 +1398,7 @@ Mnemonic: when you want your pipes to be piping hot.
=head3 Variables related to formats
The special variables for formats are a subset of those for
-filehandles. See L<perlform> for more information about Perl's
+filehandles. See L<perlform> for more information about Perl's
formats.
=over 8
@@ -1688,9 +1410,9 @@ X<$^A> X<$ACCUMULATOR>
The current value of the C<write()> accumulator for C<format()> lines.
A format contains C<formline()> calls that put their result into
-C<$^A>. After calling its format, C<write()> prints out the contents
-of C<$^A> and empties. So you never really see the contents of C<$^A>
-unless you call C<formline()> yourself and then look at it. See
+C<$^A>. After calling its format, C<write()> prints out the contents
+of C<$^A> and empties. So you never really see the contents of C<$^A>
+unless you call C<formline()> yourself and then look at it. See
L<perlform> and L<perlfunc/"formline PICTURE,LIST">.
=item HANDLE->format_formfeed(EXPR)
@@ -1700,7 +1422,7 @@ L<perlform> and L<perlfunc/"formline PICTURE,LIST">.
=item $^L
X<$^L> X<$FORMAT_FORMFEED>
-What formats output as a form feed. The default is C<\f>.
+What formats output as a form feed. The default is C<\f>.
=item HANDLE->format_page_number(EXPR)
@@ -1733,7 +1455,7 @@ Mnemonic: lines_on_page - lines_printed.
X<$:> X<FORMAT_LINE_BREAK_CHARACTERS>
The current set of characters after which a string may be broken to
-fill continuation fields (starting with C<^>) in a format. The default is
+fill continuation fields (starting with C<^>) in a format. The default is
S<" \n-">, to break on a space, newline, or a hyphen.
Mnemonic: a "colon" in poetry is a part of a line.
@@ -1746,7 +1468,7 @@ Mnemonic: a "colon" in poetry is a part of a line.
X<$=> X<$FORMAT_LINES_PER_PAGE>
The current page length (printable lines) of the currently selected
-output channel. The default is 60.
+output channel. The default is 60.
Mnemonic: = has horizontal lines.
@@ -1758,9 +1480,9 @@ Mnemonic: = has horizontal lines.
X<$^> X<$FORMAT_TOP_NAME>
The name of the current top-of-page format for the currently selected
-output channel. The default is the name of the filehandle with C<_TOP>
-appended. For example, the default format top name for the C<STDOUT>
-filehanlde is C<STDOUT_TOP>.
+output channel. The default is the name of the filehandle with C<_TOP>
+appended. For example, the default format top name for the C<STDOUT>
+filehandle is C<STDOUT_TOP>.
Mnemonic: points to top of page.
@@ -1772,8 +1494,8 @@ Mnemonic: points to top of page.
X<$~> X<$FORMAT_NAME>
The name of the current report format for the currently selected
-output channel. The default format name is the same as the filehandle
-name. For example, the default format name for the C<STDOUT>
+output channel. The default format name is the same as the filehandle
+name. For example, the default format name for the C<STDOUT>
filehandle is just C<STDOUT>.
Mnemonic: brother to C<$^>.
@@ -1785,46 +1507,46 @@ X<error> X<exception>
The variables C<$@>, C<$!>, C<$^E>, and C<$?> contain information
about different types of error conditions that may appear during
-execution of a Perl program. The variables are shown ordered by
+execution of a Perl program. The variables are shown ordered by
the "distance" between the subsystem which reported the error and
-the Perl process. They correspond to errors detected by the Perl
+the Perl process. They correspond to errors detected by the Perl
interpreter, C library, operating system, or an external program,
respectively.
To illustrate the differences between these variables, consider the
-following Perl expression, which uses a single-quoted string. After
+following Perl expression, which uses a single-quoted string. After
execution of this statement, perl may have set all four special error
variables:
- eval q{
- open my $pipe, "/cdrom/install |" or die $!;
- my @res = <$pipe>;
- close $pipe or die "bad pipe: $?, $!";
- };
+ eval q{
+ open my $pipe, "/cdrom/install |" or die $!;
+ my @res = <$pipe>;
+ close $pipe or die "bad pipe: $?, $!";
+ };
When perl executes the C<eval()> expression, it translates the
C<open()>, C<< <PIPE> >>, and C<close> calls in the C run-time library
-and thence to the operating system kernel. perl sets C<$!> to
+and thence to the operating system kernel. perl sets C<$!> to
the C library's C<errno> if one of these calls fails.
C<$@> is set if the string to be C<eval>-ed did not compile (this may
happen if C<open> or C<close> were imported with bad prototypes), or
-if Perl code executed during evaluation C<die()>d. In these cases the
+if Perl code executed during evaluation C<die()>d. In these cases the
value of C<$@> is the compile error, or the argument to C<die> (which
-will interpolate C<$!> and C<$?>). (See also L<Fatal>, though.)
+will interpolate C<$!> and C<$?>). (See also L<Fatal>, though.)
Under a few operating systems, C<$^E> may contain a more verbose error
-indicator, such as in this case, "CDROM tray not closed." Systems that
+indicator, such as in this case, "CDROM tray not closed." Systems that
do not support extended error messages leave C<$^E> the same as C<$!>.
Finally, C<$?> may be set to non-0 value if the external program
-F</cdrom/install> fails. The upper eight bits reflect specific error
+F</cdrom/install> fails. The upper eight bits reflect specific error
conditions encountered by the program (the program's C<exit()> value).
The lower eight bits reflect mode of failure, like signal death and
-core dump information. See C<wait(2)> for details. In contrast to
+core dump information. See L<wait(2)> for details. In contrast to
C<$!> and C<$^E>, which are set only if error condition is detected,
the variable C<$?> is set on each C<wait> or pipe C<close>,
-overwriting the old value. This is more like C<$@>, which on every
+overwriting the old value. This is more like C<$@>, which on every
C<eval()> is always set on failure and cleared on success.
For more details, see the individual descriptions at C<$@>, C<$!>,
@@ -1837,7 +1559,7 @@ X<$^CHILD_ERROR_NATIVE>
The native status returned by the last pipe close, backtick (C<``>)
command, successful call to C<wait()> or C<waitpid()>, or from the
-C<system()> operator. On POSIX-like systems this value can be decoded
+C<system()> operator. On POSIX-like systems this value can be decoded
with the WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WIFSTOPPED,
WSTOPSIG and WIFCONTINUED functions provided by the L<POSIX> module.
@@ -1851,14 +1573,14 @@ This variable was added in Perl 5.8.9.
=item $^E
X<$^E> X<$EXTENDED_OS_ERROR>
-Error information specific to the current operating system. At the
+Error information specific to the current operating system. At the
moment, this differs from C<$!> under only VMS, OS/2, and Win32 (and
-for MacPerl). On all other platforms, C<$^E> is always just the same
+for MacPerl). On all other platforms, C<$^E> is always just the same
as C<$!>.
Under VMS, C<$^E> provides the VMS status value from the last system
-error. This is more specific information about the last system error
-than that provided by C<$!>. This is particularly important when C<$!>
+error. This is more specific information about the last system error
+than that provided by C<$!>. This is particularly important when C<$!>
is set to B<EVMSERR>.
Under OS/2, C<$^E> is set to the error code of the last call to OS/2
@@ -1866,8 +1588,8 @@ API either via CRT, or directly from perl.
Under Win32, C<$^E> always returns the last error information reported
by the Win32 call C<GetLastError()> which describes the last error
-from within the Win32 API. Most Win32-specific code will report errors
-via C<$^E>. ANSI C and Unix-like calls set C<errno> and so most
+from within the Win32 API. Most Win32-specific code will report errors
+via C<$^E>. ANSI C and Unix-like calls set C<errno> and so most
portable Perl code will report errors via C<$!>.
Caveats mentioned in the description of C<$!> generally apply to
@@ -1911,9 +1633,11 @@ Mnemonic: related to the B<-w> switch.
X<${^WARNING_BITS}>
The current set of warning checks enabled by the C<use warnings> pragma.
-See the documentation of C<warnings> for more details.
+It has the same scoping as the C<$^H> and C<%^H> variables. The exact
+values are considered internal to the L<warnings> pragma and may change
+between versions of Perl.
-This variable was added in Perl 5.10.
+This variable was added in Perl 5.6.
=item $OS_ERROR
@@ -1922,12 +1646,18 @@ This variable was added in Perl 5.10.
=item $!
X<$!> X<$ERRNO> X<$OS_ERROR>
-If used numerically, yields the current value of the C C<errno>
-variable, or in other words, if a system or library call fails, it
-sets this variable. This means that the value of C<$!> is meaningful
-only I<immediately> after a B<failure>:
+When referenced, C<$!> retrieves the current value
+of the C C<errno> integer variable.
+If C<$!> is assigned a numerical value, that value is stored in C<errno>.
+When referenced as a string, C<$!> yields the system error string
+corresponding to C<errno>.
+
+Many system or library calls set C<errno> if they fail,
+to indicate the cause of failure. They usually do B<not>
+set C<errno> to zero if they succeed. This means C<errno>,
+hence C<$!>, is meaningful only I<immediately> after a B<failure>:
- if (open my $fh, "<", $filename) {
+ if (open my $fh, "<", $filename) {
# Here $! is meaningless.
...
}
@@ -1937,16 +1667,13 @@ only I<immediately> after a B<failure>:
# Already here $! might be meaningless.
}
# Since here we might have either success or failure,
- # here $! is meaningless.
+ # $! is meaningless.
-The I<meaningless> stands for anything: zero, non-zero,
-C<undef>. A successful system or library call does B<not> set the
-variable to zero.
-
-If used as a string, yields the corresponding system error string. You
-can assign a number to C<$!> to set I<errno> if, for instance, you
-want C<"$!"> to return the string for error I<n>, or you want to set
-the exit value for the C<die()> operator.
+Here, I<meaningless> means that C<$!> may be unrelated to the outcome
+of the C<open()> operator. Assignment to C<$!> is similarly ephemeral.
+It can be used immediately before invoking the C<die()> operator,
+to set the exit value, or to inspect the system error string
+corresponding to error I<n>, or to restore C<$!> to a meaningful state.
Mnemonic: What just went bang?
@@ -1958,12 +1685,12 @@ Mnemonic: What just went bang?
X<%!> X<%OS_ERROR> X<%ERRNO>
Each element of C<%!> has a true value only if C<$!> is set to that
-value. For example, C<$!{ENOENT}> is true if and only if the current
+value. For example, C<$!{ENOENT}> is true if and only if the current
value of C<$!> is C<ENOENT>; that is, if the most recent error was "No
such file or directory" (or its moral equivalent: not all operating
-systems give that exact error, and certainly not all languages). To
+systems give that exact error, and certainly not all languages). To
check if a particular key is meaningful on your system, use C<exists
-$!{the_key}>; for a list of legal keys, use C<keys %!>. See L<Errno>
+$!{the_key}>; for a list of legal keys, use C<keys %!>. See L<Errno>
for more information, and also see L</$!>.
This variable was added in Perl 5.005.
@@ -1975,9 +1702,9 @@ X<$?> X<$CHILD_ERROR>
The status returned by the last pipe close, backtick (C<``>) command,
successful call to C<wait()> or C<waitpid()>, or from the C<system()>
-operator. This is just the 16-bit status word returned by the
+operator. This is just the 16-bit status word returned by the
traditional Unix C<wait()> system call (or else is made up to look
-like it). Thus, the exit value of the subprocess is really (C<<< $? >>
+like it). Thus, the exit value of the subprocess is really (C<<< $? >>
8 >>>), and C<$? & 127> gives which signal, if any, the process died
from, and C<$? & 128> reports whether there was a core dump.
@@ -1988,8 +1715,8 @@ If you have installed a signal handler for C<SIGCHLD>, the
value of C<$?> will usually be wrong outside that handler.
Inside an C<END> subroutine C<$?> contains the value that is going to be
-given to C<exit()>. You can modify C<$?> in an C<END> subroutine to
-change the exit status of your program. For example:
+given to C<exit()>. You can modify C<$?> in an C<END> subroutine to
+change the exit status of your program. For example:
END {
$? = 1 if $? == 255; # die would make it 255
@@ -2006,12 +1733,13 @@ Mnemonic: similar to B<sh> and B<ksh>.
=item $@
X<$@> X<$EVAL_ERROR>
-The Perl syntax error message from the last C<eval()> operator. If C<$@> is
+The Perl syntax error message from the
+last C<eval()> operator. If C<$@> is
the null string, the last C<eval()> parsed and executed correctly
(although the operations you invoked may have failed in the normal
fashion).
-Warning messages are not collected in this variable. You can, however,
+Warning messages are not collected in this variable. You can, however,
set up a routine to process warnings by setting C<$SIG{__WARN__}> as
described in L</%SIG>.
@@ -2019,11 +1747,337 @@ Mnemonic: Where was the syntax error "at"?
=back
+=head2 Variables related to the interpreter state
+
+These variables provide information about the current interpreter state.
+
+=over 8
+
+=item $COMPILING
+
+=item $^C
+X<$^C> X<$COMPILING>
+
+The current value of the flag associated with the B<-c> switch.
+Mainly of use with B<-MO=...> to allow code to alter its behavior
+when being compiled, such as for example to C<AUTOLOAD> at compile
+time rather than normal, deferred loading. Setting
+C<$^C = 1> is similar to calling C<B::minus_c>.
+
+This variable was added in Perl 5.6.
+
+=item $DEBUGGING
+
+=item $^D
+X<$^D> X<$DEBUGGING>
+
+The current value of the debugging flags. May be read or set. Like its
+command-line equivalent, you can use numeric or symbolic values, eg
+C<$^D = 10> or C<$^D = "st">.
+
+Mnemonic: value of B<-D> switch.
+
+=item ${^ENCODING}
+X<${^ENCODING}>
+
+The I<object reference> to the C<Encode> object that is used to convert
+the source code to Unicode. Thanks to this variable your Perl script
+does not have to be written in UTF-8. Default is I<undef>. The direct
+manipulation of this variable is highly discouraged.
+
+This variable was added in Perl 5.8.2.
+
+=item ${^GLOBAL_PHASE}
+X<${^GLOBAL_PHASE}>
+
+The current phase of the perl interpreter.
+
+Possible values are:
+
+=over 8
+
+=item CONSTRUCT
+
+The C<PerlInterpreter*> is being constructed via C<perl_construct>. This
+value is mostly there for completeness and for use via the
+underlying C variable C<PL_phase>. It's not really possible for Perl
+code to be executed unless construction of the interpreter is
+finished.
+
+=item START
+
+This is the global compile-time. That includes, basically, every
+C<BEGIN> block executed directly or indirectly from during the
+compile-time of the top-level program.
+
+This phase is not called "BEGIN" to avoid confusion with
+C<BEGIN>-blocks, as those are executed during compile-time of any
+compilation unit, not just the top-level program. A new, localised
+compile-time entered at run-time, for example by constructs as
+C<eval "use SomeModule"> are not global interpreter phases, and
+therefore aren't reflected by C<${^GLOBAL_PHASE}>.
+
+=item CHECK
+
+Execution of any C<CHECK> blocks.
+
+=item INIT
+
+Similar to "CHECK", but for C<INIT>-blocks, not C<CHECK> blocks.
+
+=item RUN
+
+The main run-time, i.e. the execution of C<PL_main_root>.
+
+=item END
+
+Execution of any C<END> blocks.
+
+=item DESTRUCT
+
+Global destruction.
+
+=back
+
+Also note that there's no value for UNITCHECK-blocks. That's because
+those are run for each compilation unit individually, and therefore is
+not a global interpreter phase.
+
+Not every program has to go through each of the possible phases, but
+transition from one phase to another can only happen in the order
+described in the above list.
+
+An example of all of the phases Perl code can see:
+
+ BEGIN { print "compile-time: ${^GLOBAL_PHASE}\n" }
+
+ INIT { print "init-time: ${^GLOBAL_PHASE}\n" }
+
+ CHECK { print "check-time: ${^GLOBAL_PHASE}\n" }
+
+ {
+ package Print::Phase;
+
+ sub new {
+ my ($class, $time) = @_;
+ return bless \$time, $class;
+ }
+
+ sub DESTROY {
+ my $self = shift;
+ print "$$self: ${^GLOBAL_PHASE}\n";
+ }
+ }
+
+ print "run-time: ${^GLOBAL_PHASE}\n";
+
+ my $runtime = Print::Phase->new(
+ "lexical variables are garbage collected before END"
+ );
+
+ END { print "end-time: ${^GLOBAL_PHASE}\n" }
+
+ our $destruct = Print::Phase->new(
+ "package variables are garbage collected after END"
+ );
+
+This will print out
+
+ compile-time: START
+ check-time: CHECK
+ init-time: INIT
+ run-time: RUN
+ lexical variables are garbage collected before END: RUN
+ end-time: END
+ package variables are garbage collected after END: DESTRUCT
+
+This variable was added in Perl 5.14.0.
+
+=item $^H
+X<$^H>
+
+WARNING: This variable is strictly for
+internal use only. Its availability,
+behavior, and contents are subject to change without notice.
+
+This variable contains compile-time hints for the Perl interpreter. At the
+end of compilation of a BLOCK the value of this variable is restored to the
+value when the interpreter started to compile the BLOCK.
+
+When perl begins to parse any block construct that provides a lexical scope
+(e.g., eval body, required file, subroutine body, loop body, or conditional
+block), the existing value of C<$^H> is saved, but its value is left unchanged.
+When the compilation of the block is completed, it regains the saved value.
+Between the points where its value is saved and restored, code that
+executes within BEGIN blocks is free to change the value of C<$^H>.
+
+This behavior provides the semantic of lexical scoping, and is used in,
+for instance, the C<use strict> pragma.
+
+The contents should be an integer; different bits of it are used for
+different pragmatic flags. Here's an example:
+
+ sub add_100 { $^H |= 0x100 }
+
+ sub foo {
+ BEGIN { add_100() }
+ bar->baz($boon);
+ }
+
+Consider what happens during execution of the BEGIN block. At this point
+the BEGIN block has already been compiled, but the body of C<foo()> is still
+being compiled. The new value of C<$^H>
+will therefore be visible only while
+the body of C<foo()> is being compiled.
+
+Substitution of C<BEGIN { add_100() }> block with:
+
+ BEGIN { require strict; strict->import('vars') }
+
+demonstrates how C<use strict 'vars'> is implemented. Here's a conditional
+version of the same lexical pragma:
+
+ BEGIN {
+ require strict; strict->import('vars') if $condition
+ }
+
+This variable was added in Perl 5.003.
+
+=item %^H
+X<%^H>
+
+The C<%^H> hash provides the same scoping semantic as C<$^H>. This makes
+it useful for implementation of lexically scoped pragmas. See
+L<perlpragma>.
+
+When putting items into C<%^H>, in order to avoid conflicting with other
+users of the hash there is a convention regarding which keys to use.
+A module should use only keys that begin with the module's name (the
+name of its main package) and a "/" character. For example, a module
+C<Foo::Bar> should use keys such as C<Foo::Bar/baz>.
+
+This variable was added in Perl 5.6.
+
+=item ${^OPEN}
+X<${^OPEN}>
+
+An internal variable used by PerlIO. A string in two parts, separated
+by a C<\0> byte, the first part describes the input layers, the second
+part describes the output layers.
+
+This variable was added in Perl 5.8.0.
+
+=item $PERLDB
+
+=item $^P
+X<$^P> X<$PERLDB>
+
+The internal variable for debugging support. The meanings of the
+various bits are subject to change, but currently indicate:
+
+=over 6
+
+=item 0x01
+
+Debug subroutine enter/exit.
+
+=item 0x02
+
+Line-by-line debugging. Causes C<DB::DB()> subroutine to be called for
+each statement executed. Also causes saving source code lines (like
+0x400).
+
+=item 0x04
+
+Switch off optimizations.
+
+=item 0x08
+
+Preserve more data for future interactive inspections.
+
+=item 0x10
+
+Keep info about source lines on which a subroutine is defined.
+
+=item 0x20
+
+Start with single-step on.
+
+=item 0x40
+
+Use subroutine address instead of name when reporting.
+
+=item 0x80
+
+Report C<goto &subroutine> as well.
+
+=item 0x100
+
+Provide informative "file" names for evals based on the place they were compiled.
+
+=item 0x200
+
+Provide informative names to anonymous subroutines based on the place they
+were compiled.
+
+=item 0x400
+
+Save source code lines into C<@{"_<$filename"}>.
+
+=back
+
+Some bits may be relevant at compile-time only, some at
+run-time only. This is a new mechanism and the details may change.
+See also L<perldebguts>.
+
+=item ${^TAINT}
+X<${^TAINT}>
+
+Reflects if taint mode is on or off. 1 for on (the program was run with
+B<-T>), 0 for off, -1 when only taint warnings are enabled (i.e. with
+B<-t> or B<-TU>).
+
+This variable is read-only.
+
+This variable was added in Perl 5.8.
+
+=item ${^UNICODE}
+X<${^UNICODE}>
+
+Reflects certain Unicode settings of Perl. See L<perlrun>
+documentation for the C<-C> switch for more information about
+the possible values.
+
+This variable is set during Perl startup and is thereafter read-only.
+
+This variable was added in Perl 5.8.2.
+
+=item ${^UTF8CACHE}
+X<${^UTF8CACHE}>
+
+This variable controls the state of the internal UTF-8 offset caching code.
+1 for on (the default), 0 for off, -1 to debug the caching code by checking
+all its results against linear scans, and panicking on any discrepancy.
+
+This variable was added in Perl 5.8.9.
+
+=item ${^UTF8LOCALE}
+X<${^UTF8LOCALE}>
+
+This variable indicates whether a UTF-8 locale was detected by perl at
+startup. This information is used by perl when it's in
+adjust-utf8ness-to-locale mode (as when run with the C<-CL> command-line
+switch); see L<perlrun> for more info on this.
+
+This variable was added in Perl 5.8.8.
+
+=back
+
=head2 Deprecated and removed variables
Deprecating a variable announces the intent of the perl maintainers to
-eventually remove the variable from the langauge. It may still be
-available despite its status. Using a deprecated variable triggers
+eventually remove the variable from the language. It may still be
+available despite its status. Using a deprecated variable triggers
a warning.
Once a variable is removed, its use triggers an error telling you
@@ -2038,13 +2092,13 @@ See L<perldiag> for details about error messages.
=item $#
X<$#> X<$OFMT>
-C<$#> was a variable that you could be use to format printed numbers.
+C<$#> was a variable that could be used to format printed numbers.
After a deprecation cycle, its magic was removed in Perl 5.10 and
using it now triggers a warning: C<$# is no longer supported>.
This is not the sigil you use in front of an array name to get the
-last index, like C<$#array>. That's still how you get the last index
-of an array in Perl. The two have nothing to do with each other.
+last index, like C<$#array>. That's still how you get the last index
+of an array in Perl. The two have nothing to do with each other.
Deprecated in Perl 5.
@@ -2068,7 +2122,7 @@ Removed in Perl 5.10.
X<$[> X<$ARRAY_BASE>
This variable stores the index of the first element in an array, and
-of the first character in a substring. The default is 0, but you could
+of the first character in a substring. The default is 0, but you could
theoretically set it to 1 to make Perl behave more like B<awk> (or Fortran)
when subscripting and when evaluating the index() and substr() functions.
@@ -2079,8 +2133,15 @@ Its use is highly discouraged.
Prior to Perl 5.10, assignment to C<$[> could be seen from outer lexical
scopes in the same file, unlike other compile-time directives (such as
-L<strict>). Using local() on it would bind its value strictly to a lexical
-block. Now it is always lexically scoped.
+L<strict>). Using local() on it would bind its value strictly to a lexical
+block. Now it is always lexically scoped.
+
+As of Perl 5.16, it is implemented by the L<arybase> module. See
+L<arybase> for more details on its behaviour.
+
+Under C<use v5.16>, or C<no feature "array_base">, C<$[> no longer has any
+effect, and always contains 0. Assigning 0 to it is permitted, but any
+other value will produce an error.
Mnemonic: [ begins subscripts.
@@ -2091,10 +2152,10 @@ Deprecated in Perl 5.12.
=item $]
X<$]> X<$OLD_PERL_VERSION>
-See C<$^V> for a more modern representation of the Perl version that allows
+See L</$^V> for a more modern representation of the Perl version that allows
accurate string comparisons.
-The version + patchlevel / 1000 of the Perl interpreter. This variable
+The version + patchlevel / 1000 of the Perl interpreter. This variable
can be used to determine whether the Perl interpreter executing a
script is in the right range of versions:
@@ -2108,8 +2169,6 @@ for a convenient way to fail if the running Perl interpreter is too old.
Mnemonic: Is this version of perl in the right bracket?
-Deprecated in Perl 5.6.
-
=back
=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlvmesa.pod b/Master/tlpkg/tlperl/lib/pods/perlvmesa.pod
index 27c3aec7096..ae8e3864da4 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlvmesa.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlvmesa.pod
@@ -7,7 +7,7 @@ INSTALL file.
=head1 NAME
-README.vmesa - building and installing Perl for VM/ESA.
+perlvmesa - building and installing Perl for VM/ESA.
=head1 SYNOPSIS
@@ -120,7 +120,7 @@ To subscribe, send an empty message to perl-mvs-subscribe@perl.org.
See also:
-L<http://lists.perl.org/showlist.cgi?name=perl-mvs>
+L<http://lists.perl.org/list/perl-mvs.html>
There are web archives of the mailing list at:
diff --git a/Master/tlpkg/tlperl/lib/pods/perlvms.pod b/Master/tlpkg/tlperl/lib/pods/perlvms.pod
index 7e96c06b054..d88e6b14be7 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlvms.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlvms.pod
@@ -409,7 +409,7 @@ internal Perl problems that would cause such a condition.
This allows the programmer to look at the execution stack and variables to
find out the cause of the exception. As the debugger is being invoked as
the Perl interpreter is about to do a fatal exit, continuing the execution
-in debug mode is usally not practical.
+in debug mode is usually not practical.
Starting Perl in the VMS debugger may change the program execution
profile in a way that such problems are not reproduced.
@@ -704,7 +704,6 @@ results of testing and further review.
See L</"$?"> for a description of the encoding of the Unix value to
produce a native VMS status containing it.
-
=item dump
Rather than causing Perl to abort and dump core, the C<dump>
diff --git a/Master/tlpkg/tlperl/lib/pods/perlvos.pod b/Master/tlpkg/tlperl/lib/pods/perlvos.pod
index 2283fc19b42..28cc9d130dd 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlvos.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlvos.pod
@@ -4,7 +4,7 @@ specially designed to be readable as is.
=head1 NAME
-README.vos - Perl for Stratus VOS
+perlvos - Perl for Stratus VOS
=head1 SYNOPSIS
diff --git a/Master/tlpkg/tlperl/lib/pods/perlwin32.pod b/Master/tlpkg/tlperl/lib/pods/perlwin32.pod
index 67869cac6cc..7095f75a261 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlwin32.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlwin32.pod
@@ -39,7 +39,6 @@ additional software to run (other than what came with your operating
system). Currently, this port is capable of using one of the
following compilers on the Intel x86 architecture:
- Borland C++ version 5.02 or later
Microsoft Visual C++ version 6.0 or later
Gcc by mingw.org gcc version 3.2 or later
Gcc by mingw-w64.sf.net gcc version 4.4.3 or later
@@ -62,14 +61,11 @@ that are also supported by perl's makefile.
=back
-The Borland C++ and Microsoft Visual C++ compilers are also now being given
-away free. The Borland compiler is available as "Borland C++ Compiler Free
-Command Line Tools" and is the same compiler that ships with the full
-"Borland C++ Builder" product. The Microsoft compiler is available as
-"Visual C++ Toolkit 2003" or "Visual C++ 2005/2008/2010 Express Edition" (and
-also as part of the ".NET Framework SDK") and is the same compiler that ships
-with "Visual C++ .NET 2003 Professional" or "Visual C++ 2005/2008/2010
-Professional" respectively.
+The Microsoft Visual C++ compilers are also now being given away free. They are
+available as "Visual C++ Toolkit 2003" or "Visual C++ 2005/2008/2010 Express
+Edition" (and also as part of the ".NET Framework SDK") and are the same
+compilers that ship with "Visual C++ .NET 2003 Professional" or "Visual C++
+2005/2008/2010 Professional" respectively.
This port can also be built on IA64/AMD64 using:
@@ -80,7 +76,7 @@ The Windows SDK can be downloaded from L<http://www.microsoft.com/>.
The MinGW64 compiler is available at L<http://sourceforge.net/projects/mingw-w64>.
The latter is actually a cross-compiler targeting Win64. There's also a trimmed
down compiler (no java, or gfortran) suitable for building perl available at:
-L<http://strawberryperl.com/package/kmx/64_gcctoolchain/mingw64-w64-20100123-kmx-v2.zip>
+L<http://strawberryperl.com/package/kmx/64_gcctoolchain/>
NOTE: If you're using a 32-bit compiler to build perl on a 64-bit Windows
operating system, then you should set the WIN64 environment variable to "undef".
@@ -100,7 +96,7 @@ See L<Usage Hints for Perl on Windows> below for general hints about this.
You need a "make" program to build the sources. If you are using
Visual C++ or the Windows SDK tools, nmake will work. Builds using
-the Borland compiler or gcc need dmake.
+the gcc need dmake.
dmake is a freely available make that has very nice macro features
and parallelability.
@@ -111,16 +107,6 @@ L<http://search.cpan.org/dist/dmake/>
Fetch and install dmake somewhere on your path.
-There exists a minor coexistence problem with dmake and Borland C++
-compilers. Namely, if a distribution has C files named with mixed
-case letters, they will be compiled into appropriate .obj-files named
-with all lowercase letters, and every time dmake is invoked
-to bring files up to date, it will try to recompile such files again.
-For example, Tk distribution has a lot of such files, resulting in
-needless recompiles every time dmake is invoked. To avoid this, you
-may use the script "sync_ext.pl" after a successful build. It is
-available in the win32 subdirectory of the Perl source distribution.
-
=item Command Shell
Use the default "cmd" shell that comes with Windows. Some versions of the
@@ -131,14 +117,6 @@ shell.
Make sure the path to the build directory does not contain spaces. The
build usually works in this circumstance, but some tests will fail.
-=item Borland C++
-
-If you are using the Borland compiler, you will need dmake.
-(The make that Borland supplies is seriously crippled and will not
-work for MakeMaker builds.)
-
-See L</"Make"> above.
-
=item Microsoft Visual C++
The nmake that comes with Visual C++ will suffice for building.
@@ -362,9 +340,7 @@ may end up building against the installed perl's lib/CORE directory rather
than the one being tested.
You will have to make sure that CCTYPE is set correctly and that
-CCHOME points to wherever you installed your compiler. If building with
-gcc-4.x.x, you'll also need to uncomment the assignment to GCC_4XX and
-uncomment the assignment to the appropriate GCCHELPERDLL in the makefile.mk.
+CCHOME points to wherever you installed your compiler.
If building with the cross-compiler provided by
mingw-w64.sourceforge.net you'll need to uncomment the line that sets
@@ -391,7 +367,7 @@ Be sure to read the instructions near the top of the makefiles carefully.
Type "dmake" (or "nmake" if you are using that make).
This should build everything. Specifically, it will create perl.exe,
-perl514.dll at the perl toplevel, and various other extension dll's
+perl516.dll at the perl toplevel, and various other extension dll's
under the lib\auto directory. If the build fails for any reason, make
sure you have done the previous steps correctly.
@@ -411,20 +387,6 @@ spaces. So don't do that.
If you are running the tests from a emacs shell window, you may see
failures in op/stat.t. Run "dmake test-notty" in that case.
-If you're using the Borland compiler, you may see a failure in op/taint.t
-arising from the inability to find the Borland Runtime DLLs on the system
-default path. You will need to copy the DLLs reported by the messages
-from where Borland chose to install it, into the Windows system directory
-(usually somewhere like C:\WINDOWS\SYSTEM32) and rerun the test.
-
-If you're using Borland compiler versions 5.2 and below, you may run into
-problems finding the correct header files when building extensions. For
-example, building the "Tk" extension may fail because both perl and Tk
-contain a header file called "patchlevel.h". The latest Borland compiler
-(v5.5) is free of this misbehaviour, and it even supports an
-option -VI- for backward (bugward) compatibility for using the old Borland
-search algorithm to locate header files.
-
If you run the tests on a FAT partition, you may see some failures for
C<link()> related tests (I<op/write.t>, I<op/stat.t> ...). Testing on
NTFS avoids these errors.
@@ -525,15 +487,18 @@ using a non-standard shell, be inconsistent). The only (useful) quote
character is the double quote ("). It can be used to protect spaces
and other special characters in arguments.
-The Windows documentation has almost no description of how the
-quoting rules are implemented, but here are some general observations
-based on experiments: The C runtime breaks arguments at spaces and
-passes them to programs in argc/argv. Double quotes can be used to
-prevent arguments with spaces in them from being split up. You can
-put a double quote in an argument by escaping it with a backslash and
-enclosing the whole argument within double quotes. The backslash and
-the pair of double quotes surrounding the argument will be stripped by
-the C runtime.
+The Windows documentation describes the shell parsing rules here:
+L<http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/cmd.mspx?mfr=true>
+and the C runtime parsing rules here:
+L<http://msdn.microsoft.com/en-us/library/17w5ykft%28v=VS.100%29.aspx>.
+
+Here are some further observations based on experiments: The C runtime
+breaks arguments at spaces and passes them to programs in argc/argv.
+Double quotes can be used to prevent arguments with spaces in them from
+being split up. You can put a double quote in an argument by escaping
+it with a backslash and enclosing the whole argument within double quotes.
+The backslash and the pair of double quotes surrounding the argument will
+be stripped by the C runtime.
The file redirection characters "E<lt>", "E<gt>", and "|" can be quoted by
double quotes (although there are suggestions that this may not always
@@ -915,8 +880,6 @@ and borrowed from the Hip Communications port that was available
at the time. Various people have made numerous and sundry hacks
since then.
-Borland support was added in 5.004_01 (Gurusamy Sarathy).
-
GCC/mingw32 support was added in 5.005 (Nick Ing-Simmons).
Support for PERL_OBJECT was added in 5.005 (ActiveState Tool Corp).
@@ -927,6 +890,6 @@ Win9x support was added in 5.6 (Benjamin Stuhl).
Support for 64-bit Windows added in 5.8 (ActiveState Corp).
-Last updated: 18 November 2010
+Last updated: 10 September 2011
=cut
diff --git a/Master/tlpkg/tlperl/lib/pods/perlxs.pod b/Master/tlpkg/tlperl/lib/pods/perlxs.pod
index 415f2ad2a00..11fc13c5ff5 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlxs.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlxs.pod
@@ -61,14 +61,15 @@ uses B<typemaps> to determine how to map C function parameters
and output values to Perl values and back. The default typemap
(which comes with Perl) handles many common C types. A supplementary
typemap may also be needed to handle any special structures and types
-for the library being linked.
+for the library being linked. For more information on typemaps,
+see L<perlxstypemap>.
A file in XS format starts with a C language section which goes until the
first C<MODULE =Z<>> directive. Other XS directives and XSUB definitions
may follow this line. The "language" used in this part of the file
is usually referred to as the XS language. B<xsubpp> recognizes and
skips POD (see L<perlpod>) in both the C and XS language sections, which
-allows the XS file to contain embedded documentation.
+allows the XS file to contain embedded documentation.
See L<perlxstut> for a tutorial on the whole extension creation process.
@@ -197,7 +198,7 @@ different semantics, see L<"The & Unary Operator">.
It is convenient to think that the indirection operator
C<*> should be considered as a part of the type and the address operator C<&>
-should be considered part of the variable. See L<"The Typemap">
+should be considered part of the variable. See L<perlxstypemap>
for more info about handling qualifiers and unary operators in C types.
The function name and the return type must be placed on
@@ -317,10 +318,19 @@ able to write:
But due to an unfixable bug (fixing it would break lots of existing
CPAN modules) in the typemap file, the reference count of the C<AV *>
is not properly decremented. Thus, the above XSUB would leak memory
-whenever it is being called. The same problem exists for C<HV *>.
+whenever it is being called. The same problem exists for C<HV *>,
+C<CV *>, and C<SVREF> (which indicates a scalar reference, not
+a general C<SV *>).
+In XS code on perls starting with perl 5.16, you can override the
+typemaps for any of these types with a version that has proper
+handling of refcounts. In your C<TYPEMAP> section, do
-When you're returning an C<AV *> or a C<HV *>, you have to make sure
-their reference count is decremented by making the AV or HV mortal:
+ AV* T_AVREF_REFCOUNT_FIXED
+
+to get the repaired variant. For backward compatibility with older
+versions of perl, you can instead decrement the reference count
+manually when you're returning one of the aforementioned
+types using C<sv_2mortal>:
AV *
array()
@@ -331,7 +341,8 @@ their reference count is decremented by making the AV or HV mortal:
OUTPUT:
RETVAL
-And also remember that you don't have to do this for an C<SV *>.
+Remember that you don't have to do this for an C<SV *>. The reference
+documentation for all core typemaps can be found in L<perlxstypemap>.
=head2 The MODULE Keyword
@@ -540,6 +551,25 @@ not care about its initial contents.
OUTPUT:
timep
+=head2 The TYPEMAP: Keyword
+
+Starting with Perl 5.16, you can embed typemaps into your XS code
+instead of or in addition to typemaps in a separate file. Multiple
+such embedded typemaps will be processed in order of appearance in
+the XS code and like local typemap files take precendence over the
+default typemap, the embedded typemaps may overwrite previous
+definitions of TYPEMAP, INPUT, and OUTPUT stanzas. The syntax for
+embedded typemaps is
+
+ TYPEMAP: <<HERE
+ ... your typemap code here ...
+ HERE
+
+where the C<TYPEMAP> keyword must appear in the first column of a
+new line.
+
+Refer to L<perlxstypemap> for details on writing typemaps.
+
=head2 Initializing Function Parameters
C function parameters are normally initialized with their values from
@@ -557,8 +587,8 @@ The following code demonstrates how to supply initialization code for
function parameters. The initialization code is eval'ed within double
quotes by the compiler before it is added to the output so anything
which should be interpreted literally [mainly C<$>, C<@>, or C<\\>]
-must be protected with backslashes. The variables $var, $arg,
-and $type can be used as in typemaps.
+must be protected with backslashes. The variables C<$var>, C<$arg>,
+and C<$type> can be used as in typemaps.
bool_t
rpcb_gettime(host,timep)
@@ -598,7 +628,7 @@ example has a two-fold purpose: first, when this line is processed by
B<xsubpp>, the Perl snippet C<$v{timep}=$arg> is evaluated. Second,
the text of the evaluated snippet is output into the generated C file
(inside a C comment)! During the processing of C<char *host> line,
-$arg will evaluate to C<ST(0)>, and C<$v{timep}> will evaluate to
+C<$arg> will evaluate to C<ST(0)>, and C<$v{timep}> will evaluate to
C<ST(1)>.
=head2 Default Parameter Values
@@ -1295,12 +1325,12 @@ for your functions (like the ALIAS: keyword above). However, the
overloaded functions must be defined with three parameters (except
for the nomethod() function which needs four parameters). If any
function has the OVERLOAD: keyword, several additional lines
-will be defined in the c file generated by xsubpp in order to
+will be defined in the c file generated by xsubpp in order to
register with the overload magic.
Since blessed objects are actually stored as RV's, it is useful
to use the typemap features to preprocess parameters and extract
-the actual SV stored within the blessed RV. See the sample for
+the actual SV stored within the blessed RV. See the sample for
T_PTROBJ_SPECIAL below.
To use the OVERLOAD: keyword, create an XS function which takes
@@ -1318,7 +1348,7 @@ this:
In this case, the function will overload both of the three way
comparison operators. For all overload operations using non-alpha
characters, you must type the parameter without quoting, separating
-multiple overloads with whitespace. Note that "" (the stringify
+multiple overloads with whitespace. Note that "" (the stringify
overload) should be entered as \"\" (i.e. escaped).
=head2 The FALLBACK: Keyword
@@ -1334,9 +1364,9 @@ FALLBACK keyword in the module header section, like this:
where FALLBACK can take any of the three values TRUE, FALSE, or
UNDEF. If you do not set any FALLBACK value when using OVERLOAD,
-it defaults to UNDEF. FALLBACK is not used except when one or
+it defaults to UNDEF. FALLBACK is not used except when one or
more functions using OVERLOAD have been defined. Please see
-L<overload/Fallback> for more details.
+L<overload/fallback> for more details.
=head2 The INTERFACE: Keyword
@@ -1353,11 +1383,11 @@ subtract() all having the signature:
you can make them all to use the same XSUB using this:
symbolic
- interface_s_ss(arg1, arg2)
+ interface_s_ss(arg1, arg2)
symbolic arg1
symbolic arg2
INTERFACE:
- multiply divide
+ multiply divide
add subtract
(This is the complete XSUB code for 4 Perl functions!) Four generated
@@ -1368,7 +1398,7 @@ is no need to code a switch statement, each Perl function (which shares
the same XSUB) knows which C function it should call. Additionally, one
can attach an extra function remainder() at runtime by using
- CV *mycv = newXSproto("Symbolic::remainder",
+ CV *mycv = newXSproto("Symbolic::remainder",
XS_Symbolic_interface_s_ss, __FILE__, "$$");
XSINTERFACE_FUNC_SET(mycv, remainder);
@@ -1389,10 +1419,10 @@ The default value is C<XSINTERFACE_FUNC> and C<XSINTERFACE_FUNC_SET>.
An INTERFACE keyword with an empty list of functions can be omitted if
INTERFACE_MACRO keyword is used.
-Suppose that in the previous example functions pointers for
+Suppose that in the previous example functions pointers for
multiply(), divide(), add(), subtract() are kept in a global C array
C<fp[]> with offsets being C<multiply_off>, C<divide_off>, C<add_off>,
-C<subtract_off>. Then one can use
+C<subtract_off>. Then one can use
#define XSINTERFACE_FUNC_BYOFFSET(ret,cv,f) \
((XSINTERFACE_CVT_ANON(ret))fp[CvXSUBANY(cv).any_i32])
@@ -1402,14 +1432,14 @@ C<subtract_off>. Then one can use
in C section,
symbolic
- interface_s_ss(arg1, arg2)
+ interface_s_ss(arg1, arg2)
symbolic arg1
symbolic arg2
- INTERFACE_MACRO:
+ INTERFACE_MACRO:
XSINTERFACE_FUNC_BYOFFSET
XSINTERFACE_FUNC_BYOFFSET_set
INTERFACE:
- multiply divide
+ multiply divide
add subtract
in XSUB section.
@@ -1501,6 +1531,24 @@ the different argument lists.
$status = x_gettime( $timep, $host );
+=head2 The EXPORT_XSUB_SYMBOLS: Keyword
+
+The EXPORT_XSUB_SYMBOLS: keyword is likely something you will never need.
+In perl versions earlier than 5.16.0, this keyword does nothing. Starting
+with 5.16, XSUB symbols are no longer exported by default. That is, they
+are C<static> functions. If you include
+
+ EXPORT_XSUB_SYMBOLS: ENABLE
+
+in your XS code, the XSUBs following this line will not be declared C<static>.
+You can later disable this with
+
+ EXPORT_XSUB_SYMBOLS: DISABLE
+
+which, again, is the default that you should probably never change.
+You cannot use this keyword on versions of perl before 5.16 to make
+XSUBs C<static>.
+
=head2 The & Unary Operator
The C<&> unary operator in the INPUT: section is used to tell B<xsubpp>
@@ -1613,7 +1661,7 @@ not listed.
color::set_blue( val )
int val
-Both Perl functions will expect an object as the first parameter. In the
+Both Perl functions will expect an object as the first parameter. In the
generated C++ code the object is called C<THIS>, and the method call will
be performed on this object. So in the C++ code the blue() and set_blue()
methods will be called as this:
@@ -1669,16 +1717,16 @@ example.
# The Perl object is blessed into 'CLASS', which should be a
# char* having the name of the package for the blessing.
O_OBJECT
- sv_setref_pv( $arg, CLASS, (void*)$var );
+ sv_setref_pv( $arg, CLASS, (void*)$var );
INPUT
O_OBJECT
- if( sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG) )
- $var = ($type)SvIV((SV*)SvRV( $arg ));
- else{
- warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
- XSRETURN_UNDEF;
- }
+ if( sv_isobject($arg) && (SvTYPE(SvRV($arg)) == SVt_PVMG) )
+ $var = ($type)SvIV((SV*)SvRV( $arg ));
+ else{
+ warn( \"${Package}::$func_name() -- $var is not a blessed SV reference\" );
+ XSRETURN_UNDEF;
+ }
=head2 Interface Strategy
@@ -1786,8 +1834,9 @@ trim the name to the word DESTROY as Perl will expect.
printf("Now in NetconfigPtr::DESTROY\n");
free( netconf );
-This example requires the following typemap entry. Consult the typemap
-section for more information about adding new typemaps for an extension.
+This example requires the following typemap entry. Consult
+L<perlxstypemap> for more information about adding new typemaps
+for an extension.
TYPEMAP
Netconfig * T_PTROBJ
@@ -1803,75 +1852,6 @@ does not care, that this object is a C struct and not a Perl object. In
this sense, there is no difference between the object created by the
getnetconfigent() XSUB and an object created by a normal Perl subroutine.
-=head2 The Typemap
-
-The typemap is a collection of code fragments which are used by the B<xsubpp>
-compiler to map C function parameters and values to Perl values. The
-typemap file may consist of three sections labelled C<TYPEMAP>, C<INPUT>, and
-C<OUTPUT>. An unlabelled initial section is assumed to be a C<TYPEMAP>
-section. The INPUT section tells
-the compiler how to translate Perl values
-into variables of certain C types. The OUTPUT section tells the compiler
-how to translate the values from certain C types into values Perl can
-understand. The TYPEMAP section tells the compiler which of the INPUT and
-OUTPUT code fragments should be used to map a given C type to a Perl value.
-The section labels C<TYPEMAP>, C<INPUT>, or C<OUTPUT> must begin
-in the first column on a line by themselves, and must be in uppercase.
-
-The default typemap in the C<lib/ExtUtils> directory of the Perl source
-contains many useful types which can be used by Perl extensions. Some
-extensions define additional typemaps which they keep in their own directory.
-These additional typemaps may reference INPUT and OUTPUT maps in the main
-typemap. The B<xsubpp> compiler will allow the extension's own typemap to
-override any mappings which are in the default typemap.
-
-Most extensions which require a custom typemap will need only the TYPEMAP
-section of the typemap file. The custom typemap used in the
-getnetconfigent() example shown earlier demonstrates what may be the typical
-use of extension typemaps. That typemap is used to equate a C structure
-with the T_PTROBJ typemap. The typemap used by getnetconfigent() is shown
-here. Note that the C type is separated from the XS type with a tab and
-that the C unary operator C<*> is considered to be a part of the C type name.
-
- TYPEMAP
- Netconfig *<tab>T_PTROBJ
-
-Here's a more complicated example: suppose that you wanted C<struct
-netconfig> to be blessed into the class C<Net::Config>. One way to do
-this is to use underscores (_) to separate package names, as follows:
-
- typedef struct netconfig * Net_Config;
-
-And then provide a typemap entry C<T_PTROBJ_SPECIAL> that maps underscores to
-double-colons (::), and declare C<Net_Config> to be of that type:
-
-
- TYPEMAP
- Net_Config T_PTROBJ_SPECIAL
-
- INPUT
- T_PTROBJ_SPECIAL
- if (sv_derived_from($arg, \"${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\")) {
- IV tmp = SvIV((SV*)SvRV($arg));
- $var = INT2PTR($type, tmp);
- }
- else
- croak(\"$var is not of type ${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\")
-
- OUTPUT
- T_PTROBJ_SPECIAL
- sv_setref_pv($arg, \"${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\",
- (void*)$var);
-
-The INPUT and OUTPUT sections substitute underscores for double-colons
-on the fly, giving the desired effect. This example demonstrates some
-of the power and versatility of the typemap facility.
-
-The INT2PTR macro (defined in perl.h) casts an integer to a pointer,
-of a given type, taking care of the possible different size of integers
-and pointers. There are also PTR2IV, PTR2UV, PTR2NV macros,
-to map the other way, which may be useful in OUTPUT sections.
-
=head2 Safely Storing Static Data in XS
Starting with Perl 5.8, a macro framework has been defined to allow
@@ -1913,7 +1893,7 @@ Below is an example module that makes use of the macros.
strcpy(MY_CXT.name[0], "None");
strcpy(MY_CXT.name[1], "None");
strcpy(MY_CXT.name[2], "None");
- }
+ }
int
newMouse(char * name)
@@ -1983,7 +1963,7 @@ The MY_CXT_INIT macro initialises storage for the C<my_cxt_t> struct.
It I<must> be called exactly once, typically in a BOOT: section. If you
are maintaining multiple interpreters, it should be called once in each
interpreter instance, except for interpreters cloned from existing ones.
-(But see C<MY_CXT_CLONE> below.)
+(But see L</MY_CXT_CLONE> below.)
=item dMY_CXT
@@ -1993,7 +1973,7 @@ MY_CXT.
=item MY_CXT
Use the MY_CXT macro to access members of the C<my_cxt_t> struct. For
-example, if C<my_cxt_t> is
+example, if C<my_cxt_t> is
typedef struct {
int index;
@@ -2099,7 +2079,7 @@ File C<RPC.xs>: Interface to some ONC+ RPC bind library functions.
printf("NetconfigPtr::DESTROY\n");
free( netconf );
-File C<typemap>: Custom typemap for RPC.xs.
+File C<typemap>: Custom typemap for RPC.xs. (cf. L<perlxstypemap>)
TYPEMAP
Netconfig * T_PTROBJ
@@ -2133,7 +2113,8 @@ File C<rpctest.pl>: Perl test program for the RPC extension.
=head1 XS VERSION
-This document covers features supported by C<xsubpp> 1.935.
+This document covers features supported by C<ExtUtils::ParseXS>
+(also known as C<xsubpp>) 3.13_01.
=head1 AUTHOR
diff --git a/Master/tlpkg/tlperl/lib/pods/perlxstut.pod b/Master/tlpkg/tlperl/lib/pods/perlxstut.pod
index 91c13ed358f..93c1bfbe61b 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlxstut.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlxstut.pod
@@ -1,6 +1,6 @@
=head1 NAME
-perlXStut - Tutorial for writing XSUBs
+perlxstut - Tutorial for writing XSUBs
=head1 DESCRIPTION
@@ -435,8 +435,12 @@ heavy use of the C functions within Perl.
The B<xsubpp> program uses rules to convert from Perl's data types (scalar,
array, etc.) to C's data types (int, char, etc.). These rules are stored
-in the typemap file ($PERLLIB/ExtUtils/typemap). This file is split into
-three parts.
+in the typemap file ($PERLLIB/ExtUtils/typemap). There's a brief discussion
+below, but all the nitty-gritty details can be found in L<perlxstypemap>.
+If you have a new-enough version of perl (5.16 and up) or an upgraded
+XS compiler (C<ExtUtils::ParseXS> 3.13_01 or better), then you can inline
+typemaps in your XS instead of writing separate files.
+Either way, this typemap thing is split into three parts:
The first section maps various C data types to a name, which corresponds
somewhat with the various Perl types. The second section contains C code
@@ -451,7 +455,7 @@ The file name is Mytest.c:
dXSARGS;
if (items != 1)
Perl_croak(aTHX_ "Usage: Mytest::round(arg)");
- PERL_UNUSED_VAR(cv); /* -W */
+ PERL_UNUSED_VAR(cv); /* -W */
{
double arg = (double)SvNV(ST(0)); /* XXXXX */
if (arg > 0.0) {
@@ -462,20 +466,20 @@ The file name is Mytest.c:
arg = 0.0;
}
sv_setnv(ST(0), (double)arg); /* XXXXX */
- SvSETMAGIC(ST(0));
+ SvSETMAGIC(ST(0));
}
XSRETURN_EMPTY;
}
-Notice the two lines commented with "XXXXX". If you check the first section
-of the typemap file, you'll see that doubles are of type T_DOUBLE. In the
-INPUT section, an argument that is T_DOUBLE is assigned to the variable
-arg by calling the routine SvNV on something, then casting it to double,
-then assigned to the variable arg. Similarly, in the OUTPUT section,
-once arg has its final value, it is passed to the sv_setnv function to
-be passed back to the calling subroutine. These two functions are explained
-in L<perlguts>; we'll talk more later about what that "ST(0)" means in the
-section on the argument stack.
+Notice the two lines commented with "XXXXX". If you check the first part
+of the typemap file (or section), you'll see that doubles are of type
+T_DOUBLE. In the INPUT part of the typemap, an argument that is T_DOUBLE
+is assigned to the variable arg by calling the routine SvNV on something,
+then casting it to double, then assigned to the variable arg. Similarly,
+in the OUTPUT section, once arg has its final value, it is passed to the
+sv_setnv function to be passed back to the calling subroutine. These two
+functions are explained in L<perlguts>; we'll talk more later about what
+that "ST(0)" means in the section on the argument stack.
=head2 Warning about Output Arguments
@@ -606,11 +610,13 @@ And also add the following function definition to the end of the .xs file:
OUTPUT:
RETVAL
-Now we also need to create a typemap file because the default Perl doesn't
-currently support the const char * type. Create a file called typemap in
-the Mytest2 directory and place the following in it:
+Now we also need to create a typemap because the default Perl doesn't
+currently support the C<const char *> type. Include a new TYPEMAP
+section in your XS code before the above function:
+ TYPEMAP: <<END;
const char * T_PV
+ END
Now run perl on the top-level Makefile.PL. Notice that it also created a
Makefile in the mylib directory. Run make and watch that it does cd into
@@ -1086,6 +1092,7 @@ Mytest.xs:
int i, n;
struct statfs buf;
+ SvGETMAGIC(paths);
if ((!SvROK(paths))
|| (SvTYPE(SvRV(paths)) != SVt_PVAV)
|| ((numpaths = av_len((AV *)SvRV(paths))) < 0))
@@ -1145,8 +1152,10 @@ and C<OUTPUT:> directives.
=item *
When dealing with references, it is important to handle them with caution.
-The C<INIT:> block first checks that
-C<SvROK> returns true, which indicates that paths is a valid reference. It
+The C<INIT:> block first calls SvGETMAGIC(paths), in case
+paths is a tied variable. Then it checks that C<SvROK> returns
+true, which indicates that paths is a valid reference. (Simply
+checking C<SvROK> won't trigger FETCH on a tied variable.) It
then verifies that the object referenced by paths is an array, using C<SvRV>
to dereference paths, and C<SvTYPE> to discover its type. As an added test,
it checks that the array referenced by paths is non-empty, using the C<av_len>
@@ -1367,4 +1376,4 @@ Changes for h2xs as of Perl 5.8.x by Renee Baecker
=head2 Last Changed
-2007/10/11
+2012-01-20
diff --git a/Master/tlpkg/tlperl/lib/pods/perlxstypemap.pod b/Master/tlpkg/tlperl/lib/pods/perlxstypemap.pod
new file mode 100644
index 00000000000..67ddadefef7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/pods/perlxstypemap.pod
@@ -0,0 +1,699 @@
+=head1 NAME
+
+perlxstypemap - Perl XS C/Perl type mapping
+
+=head1 DESCRIPTION
+
+The more you think about interfacing between two languages, the more
+you'll realize that the majority of programmer effort has to go into
+converting between the data structures that are native to either of
+the languages involved. This trumps other matter such as differing
+calling conventions because the problem space is so much greater.
+There are simply more ways to shove data into memory than there are
+ways to implement a function call.
+
+Perl XS' attempt at a solution to this is the concept of typemaps.
+At an abstract level, a Perl XS typemap is nothing but a recipe for
+converting from a certain Perl data structure to a certain C
+data structure and vice versa. Since there can be C types that
+are sufficiently similar to warrant converting with the same logic,
+XS typemaps are represented by a unique identifier, henceforth
+called an <XS type> in this document. You can then tell the XS
+compiler that multiple C types are to be mapped with the same
+XS typemap.
+
+In your XS code, when you define an argument with a C type or when
+you are using a C<CODE:> and an C<OUTPUT:> section together with a
+C return type of your XSUB, it'll be the typemapping mechanism that
+makes this easy.
+
+=head2 Anatomy of a typemap
+
+In more practical terms, the typemap is a collection of code
+fragments which are used by the B<xsubpp> compiler to map C function
+parameters and values to Perl values. The typemap file may consist
+of three sections labelled C<TYPEMAP>, C<INPUT>, and C<OUTPUT>.
+An unlabelled initial section is assumed to be a C<TYPEMAP> section.
+The INPUT section tells the compiler how to translate Perl values
+into variables of certain C types. The OUTPUT section tells the
+compiler how to translate the values from certain C types into values
+Perl can understand. The TYPEMAP section tells the compiler which
+of the INPUT and OUTPUT code fragments should be used to map a given
+C type to a Perl value. The section labels C<TYPEMAP>, C<INPUT>, or
+C<OUTPUT> must begin in the first column on a line by themselves,
+and must be in uppercase.
+
+Each type of section can appear an arbitrary number of times
+and does not have to appear at all. For example, a typemap may
+commonly lack C<INPUT> and C<OUTPUT> sections if all it needs to
+do is associate additional C types with core XS types like T_PTROBJ.
+Lines that start with a hash C<#> are considered comments and ignored
+in the C<TYPEMAP> section, but are considered significant in C<INPUT>
+and C<OUTPUT>. Blank lines are generally ignored.
+
+Traditionally, typemaps needed to be written to a separate file,
+conventionally called C<typemap> in a CPAN distribution. With
+ExtUtils::ParseXS (the XS compiler) version 3.12 or better which
+comes with perl 5.16, typemaps can also be embedded directly into
+XS code using a HERE-doc like syntax:
+
+ TYPEMAP: <<HERE
+ ...
+ HERE
+
+where C<HERE> can be replaced by other identifiers like with normal
+Perl HERE-docs. All details below about the typemap textual format
+remain valid.
+
+The C<TYPEMAP> section should contain one pair of C type and
+XS type per line as follows. An example from the core typemap file:
+
+ TYPEMAP
+ # all variants of char* is handled by the T_PV typemap
+ char * T_PV
+ const char * T_PV
+ unsigned char * T_PV
+ ...
+
+The C<INPUT> and C<OUTPUT> sections have identical formats, that is,
+each unindented line starts a new in- or output map respectively.
+A new in- or output map must start with the name of the XS type to
+map on a line by itself, followed by the code that implements it
+indented on the following lines. Example:
+
+ INPUT
+ T_PV
+ $var = ($type)SvPV_nolen($arg)
+ T_PTR
+ $var = INT2PTR($type,SvIV($arg))
+
+We'll get to the meaning of those Perlish-looking variables in a
+little bit.
+
+Finally, here's an example of the full typemap file for mapping C
+strings of the C<char *> type to Perl scalars/strings:
+
+ TYPEMAP
+ char * T_PV
+
+ INPUT
+ T_PV
+ $var = ($type)SvPV_nolen($arg)
+
+ OUTPUT
+ T_PV
+ sv_setpv((SV*)$arg, $var);
+
+Here's a more complicated example: suppose that you wanted
+C<struct netconfig> to be blessed into the class C<Net::Config>.
+One way to do this is to use underscores (_) to separate package
+names, as follows:
+
+ typedef struct netconfig * Net_Config;
+
+And then provide a typemap entry C<T_PTROBJ_SPECIAL> that maps
+underscores to double-colons (::), and declare C<Net_Config> to be of
+that type:
+
+ TYPEMAP
+ Net_Config T_PTROBJ_SPECIAL
+
+ INPUT
+ T_PTROBJ_SPECIAL
+ if (sv_derived_from($arg, \"${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\")){
+ IV tmp = SvIV((SV*)SvRV($arg));
+ $var = INT2PTR($type, tmp);
+ }
+ else
+ croak(\"$var is not of type ${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\")
+
+ OUTPUT
+ T_PTROBJ_SPECIAL
+ sv_setref_pv($arg, \"${(my $ntt=$ntype)=~s/_/::/g;\$ntt}\",
+ (void*)$var);
+
+The INPUT and OUTPUT sections substitute underscores for double-colons
+on the fly, giving the desired effect. This example demonstrates some
+of the power and versatility of the typemap facility.
+
+The C<INT2PTR> macro (defined in perl.h) casts an integer to a pointer
+of a given type, taking care of the possible different size of integers
+and pointers. There are also C<PTR2IV>, C<PTR2UV>, C<PTR2NV> macros,
+to map the other way, which may be useful in OUTPUT sections.
+
+=head2 The Role of the typemap File in Your Distribution
+
+The default typemap in the F<lib/ExtUtils> directory of the Perl source
+contains many useful types which can be used by Perl extensions. Some
+extensions define additional typemaps which they keep in their own directory.
+These additional typemaps may reference INPUT and OUTPUT maps in the main
+typemap. The B<xsubpp> compiler will allow the extension's own typemap to
+override any mappings which are in the default typemap. Instead of using
+an additional F<typemap> file, typemaps may be embedded verbatim in XS
+with a heredoc-like syntax. See the documentation on the C<TYPEMAP:> XS
+keyword.
+
+For CPAN distributions, you can assume that the XS types defined by
+the perl core are already available. Additionally, the core typemap
+has default XS types for a large number of C types. For example, if
+you simply return a C<char *> from your XSUB, the core typemap will
+have this C type associated with the T_PV XS type. That means your
+C string will be copied into the PV (pointer value) slot of a new scalar
+that will be returned from your XSUB to to Perl.
+
+If you're developing a CPAN distribution using XS, you may add your own
+file called F<typemap> to the distribution. That file may contain
+typemaps that either map types that are specific to your code or that
+override the core typemap file's mappings for common C types.
+
+=head2 Sharing typemaps Between CPAN Distributions
+
+Starting with ExtUtils::ParseXS version 3.13_01 (comes with perl 5.16
+and better), it is rather easy to share typemap code between multiple
+CPAN distributions. The general idea is to share it as a module that
+offers a certain API and have the dependent modules declare that as a
+built-time requirement and import the typemap into the XS. An example
+of such a typemap-sharing module on CPAN is
+C<ExtUtils::Typemaps::Basic>. Two steps to getting that module's
+typemaps available in your code:
+
+=over 4
+
+=item *
+
+Declare C<ExtUtils::Typemaps::Basic> as a build-time dependency
+in C<Makefile.PL> (use C<BUILD_REQUIRES>), or in your C<Build.PL>
+(use C<build_requires>).
+
+=item *
+
+Include the following line in the XS section of your XS file:
+(don't break the line)
+
+ INCLUDE_COMMAND: $^X -MExtUtils::Typemaps::Cmd
+ -e "print embeddable_typemap(q{Basic})"
+
+=back
+
+=head2 Writing typemap Entries
+
+Each INPUT or OUTPUT typemap entry is a double-quoted Perl string that
+will be evaluated in the presence of certain variables to get the
+final C code for mapping a certain C type.
+
+This means that you can embed Perl code in your typemap (C) code using
+constructs such as
+C<${ perl code that evaluates to scalar reference here }>. A common
+use case is to generate error messages that refer to the true function
+name even when using the ALIAS XS feature:
+
+ ${ $ALIAS ? \q[GvNAME(CvGV(cv))] : \qq[\"$pname\"] }
+
+For many typemap examples, refer to the core typemap file that can be
+found in the perl source tree at F<lib/ExtUtils/typemap>.
+
+The Perl variables that are available for interpolation into typemaps
+are the following:
+
+=over 4
+
+=item *
+
+I<$var> - the name of the input or output variable, eg. RETVAL for
+return values.
+
+=item *
+
+I<$type> - the raw C type of the parameter, any C<:> replaced with
+C<_>.
+
+=item *
+
+I<$ntype> - the supplied type with C<*> replaced with C<Ptr>.
+e.g. for a type of C<Foo::Bar>, I<$ntype> is C<Foo::Bar>
+
+=item *
+
+I<$arg> - the stack entry, that the parameter is input from or output
+to, e.g. C<ST(0)>
+
+=item *
+
+I<$argoff> - the argument stack offset of the argument. ie. 0 for the
+first argument, etc.
+
+=item *
+
+I<$pname> - the full name of the XSUB, with including the C<PACKAGE>
+name, with any C<PREFIX> stripped. This is the non-ALIAS name.
+
+=item *
+
+I<$Package> - the package specified by the most recent C<PACKAGE>
+keyword.
+
+=item *
+
+I<$ALIAS> - non-zero if the current XSUB has any aliases declared with
+C<ALIAS>.
+
+=back
+
+=head2 Full Listing of Core Typemaps
+
+Each C type is represented by an entry in the typemap file that
+is responsible for converting perl variables (SV, AV, HV, CV, etc.)
+to and from that type. The following sections list all XS types
+that come with perl by default.
+
+=over 4
+
+=item T_SV
+
+This simply passes the C representation of the Perl variable (an SV*)
+in and out of the XS layer. This can be used if the C code wants
+to deal directly with the Perl variable.
+
+=item T_SVREF
+
+Used to pass in and return a reference to an SV.
+
+Note that this typemap does not decrement the reference count
+when returning the reference to an SV*.
+See also: T_SVREF_REFCOUNT_FIXED
+
+=item T_SVREF_FIXED
+
+Used to pass in and return a reference to an SV.
+This is a fixed
+variant of T_SVREF that decrements the refcount appropriately
+when returning a reference to an SV*. Introduced in perl 5.15.4.
+
+=item T_AVREF
+
+From the perl level this is a reference to a perl array.
+From the C level this is a pointer to an AV.
+
+Note that this typemap does not decrement the reference count
+when returning an AV*. See also: T_AVREF_REFCOUNT_FIXED
+
+=item T_AVREF_REFCOUNT_FIXED
+
+From the perl level this is a reference to a perl array.
+From the C level this is a pointer to an AV. This is a fixed
+variant of T_AVREF that decrements the refcount appropriately
+when returning an AV*. Introduced in perl 5.15.4.
+
+=item T_HVREF
+
+From the perl level this is a reference to a perl hash.
+From the C level this is a pointer to an HV.
+
+Note that this typemap does not decrement the reference count
+when returning an HV*. See also: T_HVREF_REFCOUNT_FIXED
+
+=item T_HVREF_REFCOUNT_FIXED
+
+From the perl level this is a reference to a perl hash.
+From the C level this is a pointer to an HV. This is a fixed
+variant of T_HVREF that decrements the refcount appropriately
+when returning an HV*. Introduced in perl 5.15.4.
+
+=item T_CVREF
+
+From the perl level this is a reference to a perl subroutine
+(e.g. $sub = sub { 1 };). From the C level this is a pointer
+to a CV.
+
+Note that this typemap does not decrement the reference count
+when returning an HV*. See also: T_HVREF_REFCOUNT_FIXED
+
+=item T_CVREF_REFCOUNT_FIXED
+
+From the perl level this is a reference to a perl subroutine
+(e.g. $sub = sub { 1 };). From the C level this is a pointer
+to a CV.
+
+This is a fixed
+variant of T_HVREF that decrements the refcount appropriately
+when returning an HV*. Introduced in perl 5.15.4.
+
+=item T_SYSRET
+
+The T_SYSRET typemap is used to process return values from system calls.
+It is only meaningful when passing values from C to perl (there is
+no concept of passing a system return value from Perl to C).
+
+System calls return -1 on error (setting ERRNO with the reason)
+and (usually) 0 on success. If the return value is -1 this typemap
+returns C<undef>. If the return value is not -1, this typemap
+translates a 0 (perl false) to "0 but true" (which
+is perl true) or returns the value itself, to indicate that the
+command succeeded.
+
+The L<POSIX|POSIX> module makes extensive use of this type.
+
+=item T_UV
+
+An unsigned integer.
+
+=item T_IV
+
+A signed integer. This is cast to the required integer type when
+passed to C and converted to an IV when passed back to Perl.
+
+=item T_INT
+
+A signed integer. This typemap converts the Perl value to a native
+integer type (the C<int> type on the current platform). When returning
+the value to perl it is processed in the same way as for T_IV.
+
+Its behaviour is identical to using an C<int> type in XS with T_IV.
+
+=item T_ENUM
+
+An enum value. Used to transfer an enum component
+from C. There is no reason to pass an enum value to C since
+it is stored as an IV inside perl.
+
+=item T_BOOL
+
+A boolean type. This can be used to pass true and false values to and
+from C.
+
+=item T_U_INT
+
+This is for unsigned integers. It is equivalent to using T_UV
+but explicitly casts the variable to type C<unsigned int>.
+The default type for C<unsigned int> is T_UV.
+
+=item T_SHORT
+
+Short integers. This is equivalent to T_IV but explicitly casts
+the return to type C<short>. The default typemap for C<short>
+is T_IV.
+
+=item T_U_SHORT
+
+Unsigned short integers. This is equivalent to T_UV but explicitly
+casts the return to type C<unsigned short>. The default typemap for
+C<unsigned short> is T_UV.
+
+T_U_SHORT is used for type C<U16> in the standard typemap.
+
+=item T_LONG
+
+Long integers. This is equivalent to T_IV but explicitly casts
+the return to type C<long>. The default typemap for C<long>
+is T_IV.
+
+=item T_U_LONG
+
+Unsigned long integers. This is equivalent to T_UV but explicitly
+casts the return to type C<unsigned long>. The default typemap for
+C<unsigned long> is T_UV.
+
+T_U_LONG is used for type C<U32> in the standard typemap.
+
+=item T_CHAR
+
+Single 8-bit characters.
+
+=item T_U_CHAR
+
+An unsigned byte.
+
+=item T_FLOAT
+
+A floating point number. This typemap guarantees to return a variable
+cast to a C<float>.
+
+=item T_NV
+
+A Perl floating point number. Similar to T_IV and T_UV in that the
+return type is cast to the requested numeric type rather than
+to a specific type.
+
+=item T_DOUBLE
+
+A double precision floating point number. This typemap guarantees to
+return a variable cast to a C<double>.
+
+=item T_PV
+
+A string (char *).
+
+=item T_PTR
+
+A memory address (pointer). Typically associated with a C<void *>
+type.
+
+=item T_PTRREF
+
+Similar to T_PTR except that the pointer is stored in a scalar and the
+reference to that scalar is returned to the caller. This can be used
+to hide the actual pointer value from the programmer since it is usually
+not required directly from within perl.
+
+The typemap checks that a scalar reference is passed from perl to XS.
+
+=item T_PTROBJ
+
+Similar to T_PTRREF except that the reference is blessed into a class.
+This allows the pointer to be used as an object. Most commonly used to
+deal with C structs. The typemap checks that the perl object passed
+into the XS routine is of the correct class (or part of a subclass).
+
+The pointer is blessed into a class that is derived from the name
+of type of the pointer but with all '*' in the name replaced with
+'Ptr'.
+
+=item T_REF_IV_REF
+
+NOT YET
+
+=item T_REF_IV_PTR
+
+Similar to T_PTROBJ in that the pointer is blessed into a scalar object.
+The difference is that when the object is passed back into XS it must be
+of the correct type (inheritance is not supported).
+
+The pointer is blessed into a class that is derived from the name
+of type of the pointer but with all '*' in the name replaced with
+'Ptr'.
+
+=item T_PTRDESC
+
+NOT YET
+
+=item T_REFREF
+
+Similar to T_PTRREF, except the pointer stored in the referenced scalar
+is dereferenced and copied to the output variable. This means that
+T_REFREF is to T_PTRREF as T_OPAQUE is to T_OPAQUEPTR. All clear?
+
+Only the INPUT part of this is implemented (Perl to XSUB) and there
+are no known users in core or on CPAN.
+
+=item T_REFOBJ
+
+NOT YET
+
+=item T_OPAQUEPTR
+
+This can be used to store bytes in the string component of the
+SV. Here the representation of the data is irrelevant to perl and the
+bytes themselves are just stored in the SV. It is assumed that the C
+variable is a pointer (the bytes are copied from that memory
+location). If the pointer is pointing to something that is
+represented by 8 bytes then those 8 bytes are stored in the SV (and
+length() will report a value of 8). This entry is similar to T_OPAQUE.
+
+In principle the unpack() command can be used to convert the bytes
+back to a number (if the underlying type is known to be a number).
+
+This entry can be used to store a C structure (the number
+of bytes to be copied is calculated using the C C<sizeof> function)
+and can be used as an alternative to T_PTRREF without having to worry
+about a memory leak (since Perl will clean up the SV).
+
+=item T_OPAQUE
+
+This can be used to store data from non-pointer types in the string
+part of an SV. It is similar to T_OPAQUEPTR except that the
+typemap retrieves the pointer directly rather than assuming it
+is being supplied. For example, if an integer is imported into
+Perl using T_OPAQUE rather than T_IV the underlying bytes representing
+the integer will be stored in the SV but the actual integer value will
+not be available. i.e. The data is opaque to perl.
+
+The data may be retrieved using the C<unpack> function if the
+underlying type of the byte stream is known.
+
+T_OPAQUE supports input and output of simple types.
+T_OPAQUEPTR can be used to pass these bytes back into C if a pointer
+is acceptable.
+
+=item Implicit array
+
+xsubpp supports a special syntax for returning
+packed C arrays to perl. If the XS return type is given as
+
+ array(type, nelem)
+
+xsubpp will copy the contents of C<nelem * sizeof(type)> bytes from
+RETVAL to an SV and push it onto the stack. This is only really useful
+if the number of items to be returned is known at compile time and you
+don't mind having a string of bytes in your SV. Use T_ARRAY to push a
+variable number of arguments onto the return stack (they won't be
+packed as a single string though).
+
+This is similar to using T_OPAQUEPTR but can be used to process more
+than one element.
+
+=item T_PACKED
+
+Calls user-supplied functions for conversion. For C<OUTPUT>
+(XSUB to Perl), a function named C<XS_pack_$ntype> is called
+with the output Perl scalar and the C variable to convert from.
+C<$ntype> is the normalized C type that is to be mapped to
+Perl. Normalized means that all C<*> are replaced by the
+string C<Ptr>. The return value of the function is ignored.
+
+Conversely for C<INPUT> (Perl to XSUB) mapping, the
+function named C<XS_unpack_$ntype> is called with the input Perl
+scalar as argument and the return value is cast to the mapped
+C type and assigned to the output C variable.
+
+An example conversion function for a typemapped struct
+C<foo_t *> might be:
+
+ static void
+ XS_pack_foo_tPtr(SV *out, foo_t *in)
+ {
+ dTHX; /* alas, signature does not include pTHX_ */
+ HV* hash = newHV();
+ hv_stores(hash, "int_member", newSViv(in->int_member));
+ hv_stores(hash, "float_member", newSVnv(in->float_member));
+ /* ... */
+
+ /* mortalize as thy stack is not refcounted */
+ sv_setsv(out, sv_2mortal(newRV_noinc((SV*)hash)));
+ }
+
+The conversion from Perl to C is left as an exercise to the reader,
+but the prototype would be:
+
+ static foo_t *
+ XS_unpack_foo_tPtr(SV *in);
+
+Instead of an actual C function that has to fetch the thread context
+using C<dTHX>, you can define macros of the same name and avoid the
+overhead. Also, keep in mind to possibly free the memory allocated by
+C<XS_unpack_foo_tPtr>.
+
+=item T_PACKEDARRAY
+
+T_PACKEDARRAY is similar to T_PACKED. In fact, the C<INPUT> (Perl
+to XSUB) typemap is indentical, but the C<OUTPUT> typemap passes
+an additional argument to the C<XS_pack_$ntype> function. This
+third parameter indicates the number of elements in the output
+so that the function can handle C arrays sanely. The variable
+needs to be declared by the user and must have the name
+C<count_$ntype> where C<$ntype> is the normalized C type name
+as explained above. The signature of the function would be for
+the example above and C<foo_t **>:
+
+ static void
+ XS_pack_foo_tPtrPtr(SV *out, foo_t *in, UV count_foo_tPtrPtr);
+
+The type of the third parameter is arbitrary as far as the typemap
+is concerned. It just has to be in line with the declared variable.
+
+Of course, unless you know the number of elements in the
+C<sometype **> C array, within your XSUB, the return value from
+C<foo_t ** XS_unpack_foo_tPtrPtr(...)> will be hard to decypher.
+Since the details are all up to the XS author (the typemap user),
+there are several solutions, none of which particularly elegant.
+The most commonly seen solution has been to allocate memory for
+N+1 pointers and assign C<NULL> to the (N+1)th to facilitate
+iteration.
+
+Alternatively, using a customized typemap for your purposes in
+the first place is probably preferrable.
+
+=item T_DATAUNIT
+
+NOT YET
+
+=item T_CALLBACK
+
+NOT YET
+
+=item T_ARRAY
+
+This is used to convert the perl argument list to a C array
+and for pushing the contents of a C array onto the perl
+argument stack.
+
+The usual calling signature is
+
+ @out = array_func( @in );
+
+Any number of arguments can occur in the list before the array but
+the input and output arrays must be the last elements in the list.
+
+When used to pass a perl list to C the XS writer must provide a
+function (named after the array type but with 'Ptr' substituted for
+'*') to allocate the memory required to hold the list. A pointer
+should be returned. It is up to the XS writer to free the memory on
+exit from the function. The variable C<ix_$var> is set to the number
+of elements in the new array.
+
+When returning a C array to Perl the XS writer must provide an integer
+variable called C<size_$var> containing the number of elements in the
+array. This is used to determine how many elements should be pushed
+onto the return argument stack. This is not required on input since
+Perl knows how many arguments are on the stack when the routine is
+called. Ordinarily this variable would be called C<size_RETVAL>.
+
+Additionally, the type of each element is determined from the type of
+the array. If the array uses type C<intArray *> xsubpp will
+automatically work out that it contains variables of type C<int> and
+use that typemap entry to perform the copy of each element. All
+pointer '*' and 'Array' tags are removed from the name to determine
+the subtype.
+
+=item T_STDIO
+
+This is used for passing perl filehandles to and from C using
+C<FILE *> structures.
+
+=item T_INOUT
+
+This is used for passing perl filehandles to and from C using
+C<PerlIO *> structures. The file handle can used for reading and
+writing. This corresponds to the C<+E<lt>> mode, see also T_IN
+and T_OUT.
+
+See L<perliol> for more information on the Perl IO abstraction
+layer. Perl must have been built with C<-Duseperlio>.
+
+There is no check to assert that the filehandle passed from Perl
+to C was created with the right C<open()> mode.
+
+Hint: The L<perlxstut> tutorial covers the T_INOUT, T_IN, and T_OUT
+XS types nicely.
+
+=item T_IN
+
+Same as T_INOUT, but the filehandle that is returned from C to Perl
+can only be used for reading (mode C<E<lt>>).
+
+=item T_OUT
+
+Same as T_INOUT, but the filehandle that is returned from C to Perl
+is set to use the open mode C<+E<gt>>.
+
+=back
+
diff --git a/Master/tlpkg/tlperl/lib/pwd.pl b/Master/tlpkg/tlperl/lib/pwd.pl
deleted file mode 100644
index bd8123bb618..00000000000
--- a/Master/tlpkg/tlperl/lib/pwd.pl
+++ /dev/null
@@ -1,71 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-;# pwd.pl - keeps track of current working directory in PWD environment var
-;#
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-#
-# Suggested alternative: Cwd
-
-;# $RCSfile: pwd.pl,v $$Revision: 4.1 $$Date: 92/08/07 18:24:11 $
-;#
-;# $Log: pwd.pl,v $
-;#
-;# Usage:
-;# require "pwd.pl";
-;# &initpwd;
-;# ...
-;# &chdir($newdir);
-
-package pwd;
-
-sub main'initpwd {
- if ($ENV{'PWD'}) {
- local($dd,$di) = stat('.');
- local($pd,$pi) = stat($ENV{'PWD'});
- if (!defined $dd or !defined $pd or $di != $pi or $dd != $pd) {
- chop($ENV{'PWD'} = `pwd`);
- }
- }
- else {
- chop($ENV{'PWD'} = `pwd`);
- }
- if ($ENV{'PWD'} =~ m|(/[^/]+(/[^/]+/[^/]+))(.*)|) {
- local($pd,$pi) = stat($2);
- local($dd,$di) = stat($1);
- if (defined $pd and defined $dd and $di == $pi and $dd == $pd) {
- $ENV{'PWD'}="$2$3";
- }
- }
-}
-
-sub main'chdir {
- local($newdir) = shift;
- $newdir =~ s|/{2,}|/|g;
- if (chdir $newdir) {
- if ($newdir =~ m#^/#) {
- $ENV{'PWD'} = $newdir;
- }
- else {
- local(@curdir) = split(m#/#,$ENV{'PWD'});
- @curdir = '' unless @curdir;
- foreach $component (split(m#/#, $newdir)) {
- next if $component eq '.';
- pop(@curdir),next if $component eq '..';
- push(@curdir,$component);
- }
- $ENV{'PWD'} = join('/',@curdir) || '/';
- }
- }
- else {
- 0;
- }
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/re.pm b/Master/tlpkg/tlperl/lib/re.pm
index 9d0921b80ea..5ce980104a4 100644
--- a/Master/tlpkg/tlperl/lib/re.pm
+++ b/Master/tlpkg/tlperl/lib/re.pm
@@ -4,7 +4,7 @@ package re;
use strict;
use warnings;
-our $VERSION = "0.18";
+our $VERSION = "0.19_01";
our @ISA = qw(Exporter);
our @EXPORT_OK = ('regmust',
qw(is_regexp regexp_pattern
@@ -108,10 +108,6 @@ sub _load_unload {
sub bits {
my $on = shift;
my $bits = 0;
- unless (@_) {
- require Carp;
- Carp::carp("Useless use of \"re\" pragma");
- }
ARG:
foreach my $idx (0..$#_){
my $s=$_[$idx];
@@ -146,7 +142,7 @@ sub bits {
my $reflags = $^H{reflags} || 0;
my $seen_charset;
while ($s =~ m/( . )/gx) {
- $_ = $1;
+ local $_ = $1;
if (/[adul]/) {
# The 'a' may be repeated; hide this from the rest of the
# code by counting and getting rid of all of them, then
diff --git a/Master/tlpkg/tlperl/lib/shellwords.pl b/Master/tlpkg/tlperl/lib/shellwords.pl
deleted file mode 100644
index b562f5f10b2..00000000000
--- a/Master/tlpkg/tlperl/lib/shellwords.pl
+++ /dev/null
@@ -1,19 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-;# This legacy library is deprecated and will be removed in a future
-;# release of perl.
-;#
-;# shellwords.pl
-;#
-;# Usage:
-;# require 'shellwords.pl';
-;# @words = shellwords($line);
-;# or
-;# @words = shellwords(@lines);
-;# or
-;# @words = shellwords(); # defaults to $_ (and clobbers it)
-
-require Text::ParseWords;
-*shellwords = \&Text::ParseWords::old_shellwords;
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/sigtrap.pm b/Master/tlpkg/tlperl/lib/sigtrap.pm
index de520a03be8..025845eb63d 100644
--- a/Master/tlpkg/tlperl/lib/sigtrap.pm
+++ b/Master/tlpkg/tlperl/lib/sigtrap.pm
@@ -8,7 +8,7 @@ sigtrap - Perl pragma to enable simple signal handling
use Carp;
-$VERSION = 1.05;
+$VERSION = 1.06;
$Verbose ||= 0;
sub import {
@@ -115,7 +115,7 @@ sub handler_traceback {
} elsif ($s eq '(eval)') {
$s = "eval {...}";
}
- $f = "file `$f'" unless $f eq '-e';
+ $f = "file '$f'" unless $f eq '-e';
$mess = "$w$s$a called from $f line $l\n";
syswrite(STDERR, $mess, length($mess));
}
diff --git a/Master/tlpkg/tlperl/lib/stat.pl b/Master/tlpkg/tlperl/lib/stat.pl
deleted file mode 100644
index feda2739645..00000000000
--- a/Master/tlpkg/tlperl/lib/stat.pl
+++ /dev/null
@@ -1,35 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-;# This legacy library is deprecated and will be removed in a future
-;# release of perl.
-;#
-;# Usage:
-;# require 'stat.pl';
-;# @ary = stat(foo);
-;# $st_dev = @ary[$ST_DEV];
-;#
-
-$ST_DEV = 0;
-$ST_INO = 1;
-$ST_MODE = 2;
-$ST_NLINK = 3;
-$ST_UID = 4;
-$ST_GID = 5;
-$ST_RDEV = 6;
-$ST_SIZE = 7;
-$ST_ATIME = 8;
-$ST_MTIME = 9;
-$ST_CTIME = 10;
-$ST_BLKSIZE = 11;
-$ST_BLOCKS = 12;
-
-;# Usage:
-;# require 'stat.pl';
-;# do Stat('foo'); # sets st_* as a side effect
-;#
-sub Stat {
- ($st_dev,$st_ino,$st_mode,$st_nlink,$st_uid,$st_gid,$st_rdev,$st_size,
- $st_atime,$st_mtime,$st_ctime,$st_blksize,$st_blocks) = stat(shift(@_));
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/strict.pm b/Master/tlpkg/tlperl/lib/strict.pm
index 053aae75012..63a89dd8f4e 100644
--- a/Master/tlpkg/tlperl/lib/strict.pm
+++ b/Master/tlpkg/tlperl/lib/strict.pm
@@ -1,6 +1,6 @@
package strict;
-$strict::VERSION = "1.04";
+$strict::VERSION = "1.07";
# Verify that we're called correctly so that strictures will work.
unless ( __FILE__ =~ /(^|[\/\\])\Q${\__PACKAGE__}\E\.pmc?$/ ) {
@@ -14,12 +14,20 @@ refs => 0x00000002,
subs => 0x00000200,
vars => 0x00000400
);
+my %explicit_bitmask = (
+refs => 0x00000020,
+subs => 0x00000040,
+vars => 0x00000080
+);
sub bits {
my $bits = 0;
my @wrong;
foreach my $s (@_) {
- push @wrong, $s unless exists $bitmask{$s};
+ if (exists $bitmask{$s}) {
+ $^H |= $explicit_bitmask{$s};
+ }
+ else { push @wrong, $s };
$bits |= $bitmask{$s} || 0;
}
if (@wrong) {
@@ -29,16 +37,16 @@ sub bits {
$bits;
}
-my $default_bits = bits(qw(refs subs vars));
+my @default_bits = qw(refs subs vars);
sub import {
shift;
- $^H |= @_ ? bits(@_) : $default_bits;
+ $^H |= bits(@_ ? @_ : @default_bits);
}
sub unimport {
shift;
- $^H &= ~ (@_ ? bits(@_) : $default_bits);
+ $^H &= ~ bits(@_ ? @_ : @default_bits);
}
1;
@@ -91,17 +99,17 @@ is allowed so that C<goto &$AUTOLOAD> would not break under stricture.
=item C<strict vars>
-This generates a compile-time error if you access a variable that wasn't
-declared via C<our> or C<use vars>,
-localized via C<my()>, or wasn't fully qualified. Because this is to avoid
-variable suicide problems and subtle dynamic scoping issues, a merely
-local() variable isn't good enough. See L<perlfunc/my> and
-L<perlfunc/local>.
+This generates a compile-time error if you access a variable that was
+neither explicitly declared (using any of C<my>, C<our>, C<state>, or C<use
+vars>) nor fully qualified. (Because this is to avoid variable suicide
+problems and subtle dynamic scoping issues, a merely C<local> variable isn't
+good enough.) See L<perlfunc/my>, L<perlfunc/our>, L<perlfunc/state>,
+L<perlfunc/local>, and L<vars>.
use strict 'vars';
$X::foo = 1; # ok, fully qualified
my $foo = 10; # ok, my() var
- local $foo = 9; # blows up
+ local $baz = 9; # blows up, $baz not declared before
package Cinna;
our $bar; # Declares $bar in current package
diff --git a/Master/tlpkg/tlperl/lib/subs.pm b/Master/tlpkg/tlperl/lib/subs.pm
index e5a9aa8827d..06c55e1359e 100644
--- a/Master/tlpkg/tlperl/lib/subs.pm
+++ b/Master/tlpkg/tlperl/lib/subs.pm
@@ -1,6 +1,6 @@
package subs;
-our $VERSION = '1.00';
+our $VERSION = '1.01';
=head1 NAME
@@ -19,7 +19,7 @@ even before they're declared.
Unlike pragmas that affect the C<$^H> hints variable, the C<use vars> and
C<use subs> declarations are not BLOCK-scoped. They are thus effective
-for the entire file in which they appear. You may not rescind such
+for the entire package in which they appear. You may not rescind such
declarations with C<no vars> or C<no subs>.
See L<perlmodlib/Pragmatic Modules> and L<strict/strict subs>.
diff --git a/Master/tlpkg/tlperl/lib/syslog.pl b/Master/tlpkg/tlperl/lib/syslog.pl
deleted file mode 100644
index 7504a5ded81..00000000000
--- a/Master/tlpkg/tlperl/lib/syslog.pl
+++ /dev/null
@@ -1,201 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-#
-# syslog.pl
-#
-# $Log: syslog.pl,v $
-#
-# tom christiansen <tchrist@convex.com>
-# modified to use sockets by Larry Wall <lwall@jpl-devvax.jpl.nasa.gov>
-# NOTE: openlog now takes three arguments, just like openlog(3)
-#
-# call syslog() with a string priority and a list of printf() args
-# like syslog(3)
-#
-# usage: require 'syslog.pl';
-#
-# then (put these all in a script to test function)
-#
-#
-# do openlog($program,'cons,pid','user');
-# do syslog('info','this is another test');
-# do syslog('mail|warning','this is a better test: %d', time);
-# do closelog();
-#
-# do syslog('debug','this is the last test');
-# do openlog("$program $$",'ndelay','user');
-# do syslog('notice','fooprogram: this is really done');
-#
-# $! = 55;
-# do syslog('info','problem was %m'); # %m == $! in syslog(3)
-
-package syslog;
-
-use warnings::register;
-
-$host = 'localhost' unless $host; # set $syslog'host to change
-
-if ($] >= 5 && warnings::enabled()) {
- warnings::warn("You should 'use Sys::Syslog' instead; continuing");
-}
-
-require 'syslog.ph';
-
- eval 'use Socket; 1' ||
- eval { require "socket.ph" } ||
- require "sys/socket.ph";
-
-$maskpri = &LOG_UPTO(&LOG_DEBUG);
-
-sub main'openlog {
- ($ident, $logopt, $facility) = @_; # package vars
- $lo_pid = $logopt =~ /\bpid\b/;
- $lo_ndelay = $logopt =~ /\bndelay\b/;
- $lo_cons = $logopt =~ /\bcons\b/;
- $lo_nowait = $logopt =~ /\bnowait\b/;
- &connect if $lo_ndelay;
-}
-
-sub main'closelog {
- $facility = $ident = '';
- &disconnect;
-}
-
-sub main'setlogmask {
- local($oldmask) = $maskpri;
- $maskpri = shift;
- $oldmask;
-}
-
-sub main'syslog {
- local($priority) = shift;
- local($mask) = shift;
- local($message, $whoami);
- local(@words, $num, $numpri, $numfac, $sum);
- local($facility) = $facility; # may need to change temporarily.
-
- die "syslog: expected both priority and mask" unless $mask && $priority;
-
- @words = split(/\W+/, $priority, 2);# Allow "level" or "level|facility".
- undef $numpri;
- undef $numfac;
- foreach (@words) {
- $num = &xlate($_); # Translate word to number.
- if (/^kern$/ || $num < 0) {
- die "syslog: invalid level/facility: $_\n";
- }
- elsif ($num <= &LOG_PRIMASK) {
- die "syslog: too many levels given: $_\n" if defined($numpri);
- $numpri = $num;
- return 0 unless &LOG_MASK($numpri) & $maskpri;
- }
- else {
- die "syslog: too many facilities given: $_\n" if defined($numfac);
- $facility = $_;
- $numfac = $num;
- }
- }
-
- die "syslog: level must be given\n" unless defined($numpri);
-
- if (!defined($numfac)) { # Facility not specified in this call.
- $facility = 'user' unless $facility;
- $numfac = &xlate($facility);
- }
-
- &connect unless $connected;
-
- $whoami = $ident;
-
- if (!$ident && $mask =~ /^(\S.*):\s?(.*)/) {
- $whoami = $1;
- $mask = $2;
- }
-
- unless ($whoami) {
- ($whoami = getlogin) ||
- ($whoami = getpwuid($<)) ||
- ($whoami = 'syslog');
- }
-
- $whoami .= "[$$]" if $lo_pid;
-
- $mask =~ s/%m/$!/g;
- $mask .= "\n" unless $mask =~ /\n$/;
- $message = sprintf ($mask, @_);
-
- $sum = $numpri + $numfac;
- unless (send(SYSLOG,"<$sum>$whoami: $message",0)) {
- if ($lo_cons) {
- if ($pid = fork) {
- unless ($lo_nowait) {
- do {$died = wait;} until $died == $pid || $died < 0;
- }
- }
- else {
- open(CONS,">/dev/console");
- print CONS "<$facility.$priority>$whoami: $message\r";
- exit if defined $pid; # if fork failed, we're parent
- close CONS;
- }
- }
- }
-}
-
-sub xlate {
- local($name) = @_;
- $name = uc $name;
- $name = "LOG_$name" unless $name =~ /^LOG_/;
- $name = "syslog'$name";
- defined &$name ? &$name : -1;
-}
-
-sub connect {
- $pat = 'S n C4 x8';
-
- $af_unix = &AF_UNIX;
- $af_inet = &AF_INET;
-
- $stream = &SOCK_STREAM;
- $datagram = &SOCK_DGRAM;
-
- ($name,$aliases,$proto) = getprotobyname('udp');
- $udp = $proto;
-
- ($name,$aliases,$port,$proto) = getservbyname('syslog','udp');
- $syslog = $port;
-
- if (chop($myname = `hostname`)) {
- ($name,$aliases,$addrtype,$length,@addrs) = gethostbyname($myname);
- die "Can't lookup $myname\n" unless $name;
- @bytes = unpack("C4",$addrs[0]);
- }
- else {
- @bytes = (0,0,0,0);
- }
- $this = pack($pat, $af_inet, 0, @bytes);
-
- if ($host =~ /^\d+\./) {
- @bytes = split(/\./,$host);
- }
- else {
- ($name,$aliases,$addrtype,$length,@addrs) = gethostbyname($host);
- die "Can't lookup $host\n" unless $name;
- @bytes = unpack("C4",$addrs[0]);
- }
- $that = pack($pat,$af_inet,$syslog,@bytes);
-
- socket(SYSLOG,$af_inet,$datagram,$udp) || die "socket: $!\n";
- bind(SYSLOG,$this) || die "bind: $!\n";
- connect(SYSLOG,$that) || die "connect: $!\n";
-
- local($old) = select(SYSLOG); $| = 1; select($old);
- $connected = 1;
-}
-
-sub disconnect {
- close SYSLOG;
- $connected = 0;
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/tainted.pl b/Master/tlpkg/tlperl/lib/tainted.pl
deleted file mode 100644
index e88bca1a261..00000000000
--- a/Master/tlpkg/tlperl/lib/tainted.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-# This subroutine returns true if its argument is tainted, false otherwise.
-#
-
-sub tainted {
- local($@);
- eval { kill 0 * $_[0] };
- $@ =~ /^Insecure/;
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/termcap.pl b/Master/tlpkg/tlperl/lib/termcap.pl
deleted file mode 100644
index a84cba34e9c..00000000000
--- a/Master/tlpkg/tlperl/lib/termcap.pl
+++ /dev/null
@@ -1,183 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-;# $RCSfile: termcap.pl,v $$Revision: 4.1 $$Date: 92/08/07 18:24:16 $
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-# This legacy library is deprecated and will be removed in a future
-# release of perl.
-#
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-#
-# Suggested alternative: Term::Cap
-#
-
-;#
-;# Usage:
-;# require 'ioctl.pl';
-;# ioctl(TTY,$TIOCGETP,$foo);
-;# ($ispeed,$ospeed) = unpack('cc',$foo);
-;# require 'termcap.pl';
-;# &Tgetent('vt100'); # sets $TC{'cm'}, etc.
-;# &Tputs(&Tgoto($TC{'cm'},$col,$row), 0, 'FILEHANDLE');
-;# &Tputs($TC{'dl'},$affcnt,'FILEHANDLE');
-;#
-sub Tgetent {
- local($TERM) = @_;
- local($TERMCAP,$_,$entry,$loop,$field);
-
- # warn "Tgetent: no ospeed set" unless $ospeed;
- foreach $key (keys %TC) {
- delete $TC{$key};
- }
- $TERM = $ENV{'TERM'} unless $TERM;
- $TERM =~ s/(\W)/\\$1/g;
- $TERMCAP = $ENV{'TERMCAP'};
- $TERMCAP = '/etc/termcap' unless $TERMCAP;
- if ($TERMCAP !~ m:^/:) {
- if ($TERMCAP !~ /(^|\|)$TERM[:\|]/) {
- $TERMCAP = '/etc/termcap';
- }
- }
- if ($TERMCAP =~ m:^/:) {
- $entry = '';
- do {
- $loop = "
- open(TERMCAP,'<$TERMCAP') || die \"Can't open $TERMCAP\";
- while (<TERMCAP>) {
- next if /^#/;
- next if /^\t/;
- if (/(^|\\|)${TERM}[:\\|]/) {
- chop;
- while (chop eq '\\\\') {
- \$_ .= <TERMCAP>;
- chop;
- }
- \$_ .= ':';
- last;
- }
- }
- close TERMCAP;
- \$entry .= \$_;
- ";
- eval $loop;
- } while s/:tc=([^:]+):/:/ && ($TERM = $1);
- $TERMCAP = $entry;
- }
-
- foreach $field (split(/:[\s:\\]*/,$TERMCAP)) {
- if ($field =~ /^\w\w$/) {
- $TC{$field} = 1;
- }
- elsif ($field =~ /^(\w\w)#(.*)/) {
- $TC{$1} = $2 if $TC{$1} eq '';
- }
- elsif ($field =~ /^(\w\w)=(.*)/) {
- $entry = $1;
- $_ = $2;
- s/\\E/\033/g;
- s/\\(200)/pack('c',0)/eg; # NUL character
- s/\\(0\d\d)/pack('c',oct($1))/eg; # octal
- s/\\(0x[0-9A-Fa-f][0-9A-Fa-f])/pack('c',hex($1))/eg; # hex
- s/\\(\d\d\d)/pack('c',$1 & 0177)/eg;
- s/\\n/\n/g;
- s/\\r/\r/g;
- s/\\t/\t/g;
- s/\\b/\b/g;
- s/\\f/\f/g;
- s/\\\^/\377/g;
- s/\^\?/\177/g;
- s/\^(.)/pack('c',ord($1) & 31)/eg;
- s/\\(.)/$1/g;
- s/\377/^/g;
- $TC{$entry} = $_ if $TC{$entry} eq '';
- }
- }
- $TC{'pc'} = "\0" if $TC{'pc'} eq '';
- $TC{'bc'} = "\b" if $TC{'bc'} eq '';
-}
-
-@Tputs = (0,200,133.3,90.9,74.3,66.7,50,33.3,16.7,8.3,5.5,4.1,2,1,.5,.2);
-
-sub Tputs {
- local($string,$affcnt,$FH) = @_;
- local($ms);
- if ($string =~ /(^[\d.]+)(\*?)(.*)$/) {
- $ms = $1;
- $ms *= $affcnt if $2;
- $string = $3;
- $decr = $Tputs[$ospeed];
- if ($decr > .1) {
- $ms += $decr / 2;
- $string .= $TC{'pc'} x ($ms / $decr);
- }
- }
- print $FH $string if $FH;
- $string;
-}
-
-sub Tgoto {
- local($string) = shift(@_);
- local($result) = '';
- local($after) = '';
- local($code,$tmp) = @_;
- local(@tmp);
- @tmp = ($tmp,$code);
- local($online) = 0;
- while ($string =~ /^([^%]*)%(.)(.*)/) {
- $result .= $1;
- $code = $2;
- $string = $3;
- if ($code eq 'd') {
- $result .= sprintf("%d",shift(@tmp));
- }
- elsif ($code eq '.') {
- $tmp = shift(@tmp);
- if ($tmp == 0 || $tmp == 4 || $tmp == 10) {
- if ($online) {
- ++$tmp, $after .= $TC{'up'} if $TC{'up'};
- }
- else {
- ++$tmp, $after .= $TC{'bc'};
- }
- }
- $result .= sprintf("%c",$tmp);
- $online = !$online;
- }
- elsif ($code eq '+') {
- $result .= sprintf("%c",shift(@tmp)+ord($string));
- $string = substr($string,1,99);
- $online = !$online;
- }
- elsif ($code eq 'r') {
- ($code,$tmp) = @tmp;
- @tmp = ($tmp,$code);
- $online = !$online;
- }
- elsif ($code eq '>') {
- ($code,$tmp,$string) = unpack("CCa99",$string);
- if ($tmp[0] > $code) {
- $tmp[0] += $tmp;
- }
- }
- elsif ($code eq '2') {
- $result .= sprintf("%02d",shift(@tmp));
- $online = !$online;
- }
- elsif ($code eq '3') {
- $result .= sprintf("%03d",shift(@tmp));
- $online = !$online;
- }
- elsif ($code eq 'i') {
- ($code,$tmp) = @tmp;
- @tmp = ($code+1,$tmp+1);
- }
- else {
- return "OOPS";
- }
- }
- $result . $string . $after;
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/threads.pm b/Master/tlpkg/tlperl/lib/threads.pm
index dc2ef3ea550..3c558865b53 100644
--- a/Master/tlpkg/tlperl/lib/threads.pm
+++ b/Master/tlpkg/tlperl/lib/threads.pm
@@ -5,7 +5,7 @@ use 5.008;
use strict;
use warnings;
-our $VERSION = '1.83';
+our $VERSION = '1.86';
my $XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -134,7 +134,7 @@ threads - Perl interpreter-based threads
=head1 VERSION
-This document describes threads version 1.83
+This document describes threads version 1.86
=head1 SYNOPSIS
@@ -939,6 +939,36 @@ For example:
On MSWin32, each thread maintains its own set of environment variables.
+=item Catching signals
+
+Signals are I<caught> by the main thread (thread ID = 0) of a script.
+Therefore, setting up signal handlers in threads for purposes other than
+L</"THREAD SIGNALLING"> as documented above will not accomplish what is
+intended.
+
+This is especially true if trying to catch C<SIGALRM> in a thread. To handle
+alarms in threads, set up a signal handler in the main thread, and then use
+L</"THREAD SIGNALLING"> to relay the signal to the thread:
+
+ # Create thread with a task that may time out
+ my $thr->create(sub {
+ threads->yield();
+ eval {
+ $SIG{ALRM} = sub { die("Timeout\n"); };
+ alarm(10);
+ ... # Do work here
+ alarm(0);
+ };
+ if ($@ =~ /Timeout/) {
+ warn("Task in thread timed out\n");
+ }
+ };
+
+ # Set signal handler to relay SIGALRM to thread
+ $SIG{ALRM} = sub { $thr->kill('ALRM') };
+
+ ... # Main thread continues working
+
=item Parent-child threads
On some platforms, it might not be possible to destroy I<parent> threads while
@@ -1051,7 +1081,7 @@ L<http://www.perl.com/pub/a/2002/06/11/threads.html> and
L<http://www.perl.com/pub/a/2002/09/04/threads.html>
Perl threads mailing list:
-L<http://lists.cpan.org/showlist.cgi?name=iThreads>
+L<http://lists.perl.org/list/ithreads.html>
Stack size discussion:
L<http://www.perlmonks.org/?node_id=532956>
diff --git a/Master/tlpkg/tlperl/lib/threads/shared.pm b/Master/tlpkg/tlperl/lib/threads/shared.pm
index d75f04ddf5f..d4d62b22c70 100644
--- a/Master/tlpkg/tlperl/lib/threads/shared.pm
+++ b/Master/tlpkg/tlperl/lib/threads/shared.pm
@@ -7,7 +7,7 @@ use warnings;
use Scalar::Util qw(reftype refaddr blessed);
-our $VERSION = '1.37';
+our $VERSION = '1.40';
my $XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
@@ -187,7 +187,7 @@ threads::shared - Perl extension for sharing data structures between threads
=head1 VERSION
-This document describes threads::shared version 1.37
+This document describes threads::shared version 1.40
=head1 SYNOPSIS
@@ -527,6 +527,11 @@ that the contents of hash-based objects will be lost due to the above
mentioned limitation. See F<examples/class.pl> (in the CPAN distribution of
this module) for how to create a class that supports object sharing.
+Destructors may not be called on objects if those objects still exist at
+global destruction time. If the destructors must be called, make sure
+there are no circular references and that nothing is referencing the
+objects, before the program ends.
+
Does not support C<splice> on arrays. Does not support explicitly changing
array lengths via $#array -- use C<push> and C<pop> instead.
@@ -543,7 +548,7 @@ thread.
Using L<refaddr()|Scalar::Util/"refaddr EXPR">) is unreliable for testing
whether or not two shared references are equivalent (e.g., when testing for
-circular references). Use L<is_shared()/"is_shared VARIABLE">, instead:
+circular references). Use L<is_shared()|/"is_shared VARIABLE">, instead:
use threads;
use threads::shared;
@@ -594,7 +599,7 @@ L<http://www.perl.com/pub/a/2002/06/11/threads.html> and
L<http://www.perl.com/pub/a/2002/09/04/threads.html>
Perl threads mailing list:
-L<http://lists.cpan.org/showlist.cgi?name=iThreads>
+L<http://lists.perl.org/list/ithreads.html>
=head1 AUTHOR
diff --git a/Master/tlpkg/tlperl/lib/timelocal.pl b/Master/tlpkg/tlperl/lib/timelocal.pl
deleted file mode 100644
index fefb9da3554..00000000000
--- a/Master/tlpkg/tlperl/lib/timelocal.pl
+++ /dev/null
@@ -1,23 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-;# timelocal.pl
-;#
-;# Usage:
-;# $time = timelocal($sec,$min,$hours,$mday,$mon,$year);
-;# $time = timegm($sec,$min,$hours,$mday,$mon,$year);
-
-;# This file has been superseded by the Time::Local library module.
-;# It is implemented as a call to that module for backwards compatibility
-;# with code written for perl4; new code should use Time::Local directly.
-;# This legacy library is deprecated and will be removed in a future
-;# release of perl.
-
-;# The current implementation shares with the original the questionable
-;# behavior of defining the timelocal() and timegm() functions in the
-;# namespace of whatever package was current when the first instance of
-;# C<require 'timelocal.pl';> was executed in a program.
-
-use Time::Local;
-
-*timelocal::cheat = \&Time::Local::cheat;
-
diff --git a/Master/tlpkg/tlperl/lib/unicore/Blocks.txt b/Master/tlpkg/tlperl/lib/unicore/Blocks.txt
index 50df2e1d311..f9a384e3ffb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/Blocks.txt
+++ b/Master/tlpkg/tlperl/lib/unicore/Blocks.txt
@@ -1,8 +1,8 @@
-# Blocks-6.0.0.txt
-# Date: 2010-06-04, 11:12:00 PDT [KW]
+# Blocks-6.1.0.txt
+# Date: 2011-06-14, 18:26:00 GMT [KW, LI]
#
# Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2011 Unicode, Inc.
# For terms of use, see http://www.unicode.org/terms_of_use.html
# For documentation, see http://www.unicode.org/reports/tr44/
#
@@ -46,6 +46,7 @@
07C0..07FF; NKo
0800..083F; Samaritan
0840..085F; Mandaic
+08A0..08FF; Arabic Extended-A
0900..097F; Devanagari
0980..09FF; Bengali
0A00..0A7F; Gurmukhi
@@ -86,6 +87,7 @@
1BC0..1BFF; Batak
1C00..1C4F; Lepcha
1C50..1C7F; Ol Chiki
+1CC0..1CCF; Sundanese Supplement
1CD0..1CFF; Vedic Extensions
1D00..1D7F; Phonetic Extensions
1D80..1DBF; Phonetic Extensions Supplement
@@ -161,6 +163,7 @@ A980..A9DF; Javanese
AA00..AA5F; Cham
AA60..AA7F; Myanmar Extended-A
AA80..AADF; Tai Viet
+AAE0..AAFF; Meetei Mayek Extensions
AB00..AB2F; Ethiopic Extended-A
ABC0..ABFF; Meetei Mayek
AC00..D7AF; Hangul Syllables
@@ -199,6 +202,8 @@ FFF0..FFFF; Specials
10840..1085F; Imperial Aramaic
10900..1091F; Phoenician
10920..1093F; Lydian
+10980..1099F; Meroitic Hieroglyphs
+109A0..109FF; Meroitic Cursive
10A00..10A5F; Kharoshthi
10A60..10A7F; Old South Arabian
10B00..10B3F; Avestan
@@ -208,10 +213,15 @@ FFF0..FFFF; Specials
10E60..10E7F; Rumi Numeral Symbols
11000..1107F; Brahmi
11080..110CF; Kaithi
+110D0..110FF; Sora Sompeng
+11100..1114F; Chakma
+11180..111DF; Sharada
+11680..116CF; Takri
12000..123FF; Cuneiform
12400..1247F; Cuneiform Numbers and Punctuation
13000..1342F; Egyptian Hieroglyphs
16800..16A3F; Bamum Supplement
+16F00..16F9F; Miao
1B000..1B0FF; Kana Supplement
1D000..1D0FF; Byzantine Musical Symbols
1D100..1D1FF; Musical Symbols
@@ -219,6 +229,7 @@ FFF0..FFFF; Specials
1D300..1D35F; Tai Xuan Jing Symbols
1D360..1D37F; Counting Rod Numerals
1D400..1D7FF; Mathematical Alphanumeric Symbols
+1EE00..1EEFF; Arabic Mathematical Alphabetic Symbols
1F000..1F02F; Mahjong Tiles
1F030..1F09F; Domino Tiles
1F0A0..1F0FF; Playing Cards
diff --git a/Master/tlpkg/tlperl/lib/unicore/CaseFolding.txt b/Master/tlpkg/tlperl/lib/unicore/CaseFolding.txt
index ffe6173d752..0d9a4090cde 100644
--- a/Master/tlpkg/tlperl/lib/unicore/CaseFolding.txt
+++ b/Master/tlpkg/tlperl/lib/unicore/CaseFolding.txt
@@ -1,8 +1,8 @@
-# CaseFolding-6.0.0.txt
-# Date: 2010-05-18, 00:48:57 GMT [MD]
+# CaseFolding-6.1.0.txt
+# Date: 2011-07-25, 21:21:56 GMT [MD]
#
# Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2011 Unicode, Inc.
# For terms of use, see http://www.unicode.org/terms_of_use.html
# For documentation, see http://www.unicode.org/reports/tr44/
#
@@ -52,7 +52,15 @@
# behavior. (The default option is to exclude them.)
#
# =================================================================
-# @missing 0000..10FFFF; <codepoint>
+
+# Property: Case_Folding
+
+# All code points not explicitly listed for Case_Folding
+# have the value C for the status field, and the code point itself for the mapping field.
+
+# @missing: 0000..10FFFF; C; <code point>
+
+# =================================================================
0041; C; 0061; # LATIN CAPITAL LETTER A
0042; C; 0062; # LATIN CAPITAL LETTER B
0043; C; 0063; # LATIN CAPITAL LETTER C
@@ -574,6 +582,8 @@
10C3; C; 2D23; # GEORGIAN CAPITAL LETTER WE
10C4; C; 2D24; # GEORGIAN CAPITAL LETTER HAR
10C5; C; 2D25; # GEORGIAN CAPITAL LETTER HOE
+10C7; C; 2D27; # GEORGIAN CAPITAL LETTER YN
+10CD; C; 2D2D; # GEORGIAN CAPITAL LETTER AEN
1E00; C; 1E01; # LATIN CAPITAL LETTER A WITH RING BELOW
1E02; C; 1E03; # LATIN CAPITAL LETTER B WITH DOT ABOVE
1E04; C; 1E05; # LATIN CAPITAL LETTER B WITH DOT BELOW
@@ -1042,6 +1052,7 @@
2CE2; C; 2CE3; # COPTIC CAPITAL LETTER OLD NUBIAN WAU
2CEB; C; 2CEC; # COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
2CED; C; 2CEE; # COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
+2CF2; C; 2CF3; # COPTIC CAPITAL LETTER BOHAIRIC KHEI
A640; C; A641; # CYRILLIC CAPITAL LETTER ZEMLYA
A642; C; A643; # CYRILLIC CAPITAL LETTER DZELO
A644; C; A645; # CYRILLIC CAPITAL LETTER REVERSED DZE
@@ -1126,11 +1137,13 @@ A786; C; A787; # LATIN CAPITAL LETTER INSULAR T
A78B; C; A78C; # LATIN CAPITAL LETTER SALTILLO
A78D; C; 0265; # LATIN CAPITAL LETTER TURNED H
A790; C; A791; # LATIN CAPITAL LETTER N WITH DESCENDER
+A792; C; A793; # LATIN CAPITAL LETTER C WITH BAR
A7A0; C; A7A1; # LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
A7A2; C; A7A3; # LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
A7A4; C; A7A5; # LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
A7A6; C; A7A7; # LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
A7A8; C; A7A9; # LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
+A7AA; C; 0266; # LATIN CAPITAL LETTER H WITH HOOK
FB00; F; 0066 0066; # LATIN SMALL LIGATURE FF
FB01; F; 0066 0069; # LATIN SMALL LIGATURE FI
FB02; F; 0066 006C; # LATIN SMALL LIGATURE FL
diff --git a/Master/tlpkg/tlperl/lib/unicore/CombiningClass.pl b/Master/tlpkg/tlperl/lib/unicore/CombiningClass.pl
index 94179f76e8c..a5d66631ce7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/CombiningClass.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/CombiningClass.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
# The name this swash is to be known by, with the format of the mappings in
@@ -134,6 +135,20 @@ return <<'END';
0825 0827 230
0829 082D 230
0859 085B 220
+08E4 08E5 230
+08E6 220
+08E7 08E8 230
+08E9 220
+08EA 08EC 230
+08ED 08EF 220
+08F0 27
+08F1 28
+08F2 29
+08F3 08F5 230
+08F6 220
+08F7 08F8 230
+08F9 08FA 220
+08FB 08FE 230
093C 7
094D 9
0951 230
@@ -195,7 +210,7 @@ return <<'END';
1B6B 230
1B6C 220
1B6D 1B73 230
-1BAA 9
+1BAA 1BAB 9
1BE6 7
1BF2 1BF3 9
1C37 7
@@ -207,6 +222,7 @@ return <<'END';
1CE0 230
1CE2 1CE8 1
1CED 220
+1CF4 230
1DC0 1DC1 230
1DC2 220
1DC3 1DC9 230
@@ -244,7 +260,8 @@ return <<'END';
302E 302F 224
3099 309A 8
A66F 230
-A67C A67D 230
+A674 A67D 230
+A69F 230
A6F0 A6F1 230
A806 9
A8C4 9
@@ -259,6 +276,7 @@ AAB4 220
AAB7 AAB8 230
AABE AABF 230
AAC1 230
+AAF6 9
ABED 9
FB1E 26
FE20 FE26 230
@@ -272,6 +290,11 @@ FE20 FE26 230
11046 9
110B9 9
110BA 7
+11100 11102 230
+11133 11134 9
+111C0 9
+116B6 9
+116B7 7
1D165 1D166 216
1D167 1D169 1
1D16D 226
diff --git a/Master/tlpkg/tlperl/lib/unicore/Decomposition.pl b/Master/tlpkg/tlperl/lib/unicore/Decomposition.pl
index 033b7657f78..6895ab41782 100644
--- a/Master/tlpkg/tlperl/lib/unicore/Decomposition.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/Decomposition.pl
@@ -1,19 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
-# The name this swash is to be known by, with the format of the mappings in
-# the main body of the table, and what all code points missing from this file
-# map to.
-$utf8::SwashInfo{'ToDecomposition'}{'format'} = 'c'; # Perl's internal (Normalize.pm) decomposition mapping
-$utf8::SwashInfo{'ToDecomposition'}{'missing'} = '<code point>'; # code point maps to itself
-
return <<'END';
00A0 <noBreak> 0020
00A8 <compat> 0020 0308
@@ -2340,6 +2334,8 @@ return <<'END';
33FE <compat> 0033 0031 65E5
33FF <square> 0067 0061 006C
A770 <super> A76F
+A7F8 <super> 0126
+A7F9 <super> 0153
F900 8C48
F901 66F4
F902 8ECA
@@ -2629,6 +2625,8 @@ FA2A 98EF
FA2B 98FC
FA2C 9928
FA2D 9DB4
+FA2E 90DE
+FA2F 96B7
FA30 4FAE
FA31 50E7
FA32 514D
@@ -3872,6 +3870,8 @@ FFEE <narrow> 25CB
1109A 11099 110BA
1109C 1109B 110BA
110AB 110A5 110BA
+1112E 11131 11127
+1112F 11132 11127
1D15E 1D157 1D165
1D15F 1D158 1D165
1D160 1D15F 1D16E
@@ -4881,6 +4881,147 @@ FFEE <narrow> 25CB
1D7FD <font> 0037
1D7FE <font> 0038
1D7FF <font> 0039
+1EE00 <font> 0627
+1EE01 <font> 0628
+1EE02 <font> 062C
+1EE03 <font> 062F
+1EE05 <font> 0648
+1EE06 <font> 0632
+1EE07 <font> 062D
+1EE08 <font> 0637
+1EE09 <font> 064A
+1EE0A <font> 0643
+1EE0B <font> 0644
+1EE0C <font> 0645
+1EE0D <font> 0646
+1EE0E <font> 0633
+1EE0F <font> 0639
+1EE10 <font> 0641
+1EE11 <font> 0635
+1EE12 <font> 0642
+1EE13 <font> 0631
+1EE14 <font> 0634
+1EE15 <font> 062A
+1EE16 <font> 062B
+1EE17 <font> 062E
+1EE18 <font> 0630
+1EE19 <font> 0636
+1EE1A <font> 0638
+1EE1B <font> 063A
+1EE1C <font> 066E
+1EE1D <font> 06BA
+1EE1E <font> 06A1
+1EE1F <font> 066F
+1EE21 <font> 0628
+1EE22 <font> 062C
+1EE24 <font> 0647
+1EE27 <font> 062D
+1EE29 <font> 064A
+1EE2A <font> 0643
+1EE2B <font> 0644
+1EE2C <font> 0645
+1EE2D <font> 0646
+1EE2E <font> 0633
+1EE2F <font> 0639
+1EE30 <font> 0641
+1EE31 <font> 0635
+1EE32 <font> 0642
+1EE34 <font> 0634
+1EE35 <font> 062A
+1EE36 <font> 062B
+1EE37 <font> 062E
+1EE39 <font> 0636
+1EE3B <font> 063A
+1EE42 <font> 062C
+1EE47 <font> 062D
+1EE49 <font> 064A
+1EE4B <font> 0644
+1EE4D <font> 0646
+1EE4E <font> 0633
+1EE4F <font> 0639
+1EE51 <font> 0635
+1EE52 <font> 0642
+1EE54 <font> 0634
+1EE57 <font> 062E
+1EE59 <font> 0636
+1EE5B <font> 063A
+1EE5D <font> 06BA
+1EE5F <font> 066F
+1EE61 <font> 0628
+1EE62 <font> 062C
+1EE64 <font> 0647
+1EE67 <font> 062D
+1EE68 <font> 0637
+1EE69 <font> 064A
+1EE6A <font> 0643
+1EE6C <font> 0645
+1EE6D <font> 0646
+1EE6E <font> 0633
+1EE6F <font> 0639
+1EE70 <font> 0641
+1EE71 <font> 0635
+1EE72 <font> 0642
+1EE74 <font> 0634
+1EE75 <font> 062A
+1EE76 <font> 062B
+1EE77 <font> 062E
+1EE79 <font> 0636
+1EE7A <font> 0638
+1EE7B <font> 063A
+1EE7C <font> 066E
+1EE7E <font> 06A1
+1EE80 <font> 0627
+1EE81 <font> 0628
+1EE82 <font> 062C
+1EE83 <font> 062F
+1EE84 <font> 0647
+1EE85 <font> 0648
+1EE86 <font> 0632
+1EE87 <font> 062D
+1EE88 <font> 0637
+1EE89 <font> 064A
+1EE8B <font> 0644
+1EE8C <font> 0645
+1EE8D <font> 0646
+1EE8E <font> 0633
+1EE8F <font> 0639
+1EE90 <font> 0641
+1EE91 <font> 0635
+1EE92 <font> 0642
+1EE93 <font> 0631
+1EE94 <font> 0634
+1EE95 <font> 062A
+1EE96 <font> 062B
+1EE97 <font> 062E
+1EE98 <font> 0630
+1EE99 <font> 0636
+1EE9A <font> 0638
+1EE9B <font> 063A
+1EEA1 <font> 0628
+1EEA2 <font> 062C
+1EEA3 <font> 062F
+1EEA5 <font> 0648
+1EEA6 <font> 0632
+1EEA7 <font> 062D
+1EEA8 <font> 0637
+1EEA9 <font> 064A
+1EEAB <font> 0644
+1EEAC <font> 0645
+1EEAD <font> 0646
+1EEAE <font> 0633
+1EEAF <font> 0639
+1EEB0 <font> 0641
+1EEB1 <font> 0635
+1EEB2 <font> 0642
+1EEB3 <font> 0631
+1EEB4 <font> 0634
+1EEB5 <font> 062A
+1EEB6 <font> 062B
+1EEB7 <font> 062E
+1EEB8 <font> 0630
+1EEB9 <font> 0636
+1EEBA <font> 0638
+1EEBB <font> 063A
1F100 <compat> 0030 002E
1F101 <compat> 0030 002C
1F102 <compat> 0031 002C
@@ -4955,6 +5096,8 @@ FFEE <narrow> 25CB
1F14D <square> 0053 0053
1F14E <square> 0050 0050 0056
1F14F <square> 0057 0043
+1F16A <super> 004D 0043
+1F16B <super> 004D 0044
1F190 <square> 0044 004A
1F200 <square> 307B 304B
1F201 <square> 30B3 30B3
diff --git a/Master/tlpkg/tlperl/lib/unicore/Heavy.pl b/Master/tlpkg/tlperl/lib/unicore/Heavy.pl
index 89c8bf503b3..18b67ce8bbd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/Heavy.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/Heavy.pl
@@ -1,3172 +1,3646 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
-# This file is for the use of utf8_heavy.pl
+# This file is for the use of utf8_heavy.pl and Unicode::UCD
-# Maps property names in loose standard form to its standard name
+# Maps Unicode (not Perl single-form extensions) property names in loose
+# standard form to their corresponding standard names
%utf8::loose_property_name_of = (
- 'age' => 'age',
- 'ahex' => 'ahex',
- 'alpha' => 'alpha',
- 'alphabetic' => 'alpha',
- 'asciihexdigit' => 'ahex',
- 'bc' => 'bc',
- 'bidic' => 'bidic',
- 'bidiclass' => 'bc',
- 'bidicontrol' => 'bidic',
- 'bidim' => 'bidim',
- 'bidimirrored' => 'bidim',
- 'blk' => 'blk',
- 'block' => 'blk',
- 'canonicalcombiningclass' => 'ccc',
- 'cased' => 'cased',
- 'caseignorable' => 'ci',
- 'category' => 'gc',
- 'ccc' => 'ccc',
- 'ce' => 'ce',
- 'changeswhencasefolded' => 'cwcf',
- 'changeswhencasemapped' => 'cwcm',
- 'changeswhenlowercased' => 'cwl',
- 'changeswhennfkccasefolded' => 'cwkcf',
- 'changeswhentitlecased' => 'cwt',
- 'changeswhenuppercased' => 'cwu',
- 'ci' => 'ci',
- 'compex' => 'compex',
- 'compositionexclusion' => 'ce',
- 'cwcf' => 'cwcf',
- 'cwcm' => 'cwcm',
- 'cwkcf' => 'cwkcf',
- 'cwl' => 'cwl',
- 'cwt' => 'cwt',
- 'cwu' => 'cwu',
- 'dash' => 'dash',
- 'decompositiontype' => 'dt',
- 'defaultignorablecodepoint' => 'di',
- 'dep' => 'dep',
- 'deprecated' => 'dep',
- 'di' => 'di',
- 'dia' => 'dia',
- 'diacritic' => 'dia',
- 'dt' => 'dt',
- 'ea' => 'ea',
- 'eastasianwidth' => 'ea',
- 'ext' => 'ext',
- 'extender' => 'ext',
- 'fullcompositionexclusion' => 'compex',
- 'gc' => 'gc',
- 'gcb' => 'gcb',
- 'generalcategory' => 'gc',
- 'graphemebase' => 'grbase',
- 'graphemeclusterbreak' => 'gcb',
- 'graphemeextend' => 'grext',
- 'grbase' => 'grbase',
- 'grext' => 'grext',
- 'hangulsyllabletype' => 'hst',
- 'hex' => 'hex',
- 'hexdigit' => 'hex',
- 'hst' => 'hst',
- 'hyphen' => 'hyphen',
- 'idc' => 'idc',
- 'idcontinue' => 'idc',
- 'ideo' => 'ideo',
- 'ideographic' => 'ideo',
- 'ids' => 'ids',
- 'idsb' => 'idsb',
- 'idsbinaryoperator' => 'idsb',
- 'idst' => 'idst',
- 'idstart' => 'ids',
- 'idstrinaryoperator' => 'idst',
- 'in' => 'in',
- 'isage' => 'age',
- 'isahex' => 'ahex',
- 'isalpha' => 'alpha',
- 'isalphabetic' => 'alpha',
- 'isasciihexdigit' => 'ahex',
- 'isbc' => 'bc',
- 'isbidic' => 'bidic',
- 'isbidiclass' => 'bc',
- 'isbidicontrol' => 'bidic',
- 'isbidim' => 'bidim',
- 'isbidimirrored' => 'bidim',
- 'isblk' => 'blk',
- 'isblock' => 'blk',
- 'iscanonicalcombiningclass' => 'ccc',
- 'iscased' => 'cased',
- 'iscaseignorable' => 'ci',
- 'iscategory' => 'gc',
- 'isccc' => 'ccc',
- 'isce' => 'ce',
- 'ischangeswhencasefolded' => 'cwcf',
- 'ischangeswhencasemapped' => 'cwcm',
- 'ischangeswhenlowercased' => 'cwl',
- 'ischangeswhennfkccasefolded' => 'cwkcf',
- 'ischangeswhentitlecased' => 'cwt',
- 'ischangeswhenuppercased' => 'cwu',
- 'isci' => 'ci',
- 'iscompex' => 'compex',
- 'iscompositionexclusion' => 'ce',
- 'iscwcf' => 'cwcf',
- 'iscwcm' => 'cwcm',
- 'iscwkcf' => 'cwkcf',
- 'iscwl' => 'cwl',
- 'iscwt' => 'cwt',
- 'iscwu' => 'cwu',
- 'isdash' => 'dash',
- 'isdecompositiontype' => 'dt',
- 'isdefaultignorablecodepoint' => 'di',
- 'isdep' => 'dep',
- 'isdeprecated' => 'dep',
- 'isdi' => 'di',
- 'isdia' => 'dia',
- 'isdiacritic' => 'dia',
- 'isdt' => 'dt',
- 'isea' => 'ea',
- 'iseastasianwidth' => 'ea',
- 'isext' => 'ext',
- 'isextender' => 'ext',
- 'isfullcompositionexclusion' => 'compex',
- 'isgc' => 'gc',
- 'isgcb' => 'gcb',
- 'isgeneralcategory' => 'gc',
- 'isgraphemebase' => 'grbase',
- 'isgraphemeclusterbreak' => 'gcb',
- 'isgraphemeextend' => 'grext',
- 'isgrbase' => 'grbase',
- 'isgrext' => 'grext',
- 'ishangulsyllabletype' => 'hst',
- 'ishex' => 'hex',
- 'ishexdigit' => 'hex',
- 'ishst' => 'hst',
- 'ishyphen' => 'hyphen',
- 'isidc' => 'idc',
- 'isidcontinue' => 'idc',
- 'isideo' => 'ideo',
- 'isideographic' => 'ideo',
- 'isids' => 'ids',
- 'isidsb' => 'idsb',
- 'isidsbinaryoperator' => 'idsb',
- 'isidst' => 'idst',
- 'isidstart' => 'ids',
- 'isidstrinaryoperator' => 'idst',
- 'isjg' => 'jg',
- 'isjoinc' => 'joinc',
- 'isjoincontrol' => 'joinc',
- 'isjoininggroup' => 'jg',
- 'isjoiningtype' => 'jt',
- 'isjt' => 'jt',
- 'islb' => 'lb',
- 'islinebreak' => 'lb',
- 'isloe' => 'loe',
- 'islogicalorderexception' => 'loe',
- 'islower' => 'lower',
- 'islowercase' => 'lower',
- 'ismath' => 'math',
- 'isnchar' => 'nchar',
- 'isnfcqc' => 'nfcqc',
- 'isnfcquickcheck' => 'nfcqc',
- 'isnfdqc' => 'nfdqc',
- 'isnfdquickcheck' => 'nfdqc',
- 'isnfkcqc' => 'nfkcqc',
- 'isnfkcquickcheck' => 'nfkcqc',
- 'isnfkdqc' => 'nfkdqc',
- 'isnfkdquickcheck' => 'nfkdqc',
- 'isnoncharactercodepoint' => 'nchar',
- 'isnt' => 'nt',
- 'isnumerictype' => 'nt',
- 'isnumericvalue' => 'nv',
- 'isnv' => 'nv',
- 'isoalpha' => 'oalpha',
- 'isodi' => 'odi',
- 'isogrext' => 'ogrext',
- 'isoidc' => 'oidc',
- 'isoids' => 'oids',
- 'isolower' => 'olower',
- 'isomath' => 'omath',
- 'isotheralphabetic' => 'oalpha',
- 'isotherdefaultignorablecodepoint' => 'odi',
- 'isothergraphemeextend' => 'ogrext',
- 'isotheridcontinue' => 'oidc',
- 'isotheridstart' => 'oids',
- 'isotherlowercase' => 'olower',
- 'isothermath' => 'omath',
- 'isotheruppercase' => 'oupper',
- 'isoupper' => 'oupper',
- 'ispatsyn' => 'patsyn',
- 'ispatternsyntax' => 'patsyn',
- 'ispatternwhitespace' => 'patws',
- 'ispatws' => 'patws',
- 'isqmark' => 'qmark',
- 'isquotationmark' => 'qmark',
- 'isradical' => 'radical',
- 'issb' => 'sb',
- 'issc' => 'sc',
- 'isscript' => 'sc',
- 'issd' => 'sd',
- 'issentencebreak' => 'sb',
- 'issoftdotted' => 'sd',
- 'isspace' => 'wspace',
- 'issterm' => 'sterm',
- 'isterm' => 'term',
- 'isterminalpunctuation' => 'term',
- 'isuideo' => 'uideo',
- 'isunifiedideograph' => 'uideo',
- 'isupper' => 'upper',
- 'isuppercase' => 'upper',
- 'isvariationselector' => 'vs',
- 'isvs' => 'vs',
- 'iswb' => 'wb',
- 'iswhitespace' => 'wspace',
- 'iswordbreak' => 'wb',
- 'iswspace' => 'wspace',
- 'isxidc' => 'xidc',
- 'isxidcontinue' => 'xidc',
- 'isxids' => 'xids',
- 'isxidstart' => 'xids',
- 'jg' => 'jg',
- 'joinc' => 'joinc',
- 'joincontrol' => 'joinc',
- 'joininggroup' => 'jg',
- 'joiningtype' => 'jt',
- 'jt' => 'jt',
- 'lb' => 'lb',
- 'linebreak' => 'lb',
- 'loe' => 'loe',
- 'logicalorderexception' => 'loe',
- 'lower' => 'lower',
- 'lowercase' => 'lower',
- 'math' => 'math',
- 'nchar' => 'nchar',
- 'nfcqc' => 'nfcqc',
- 'nfcquickcheck' => 'nfcqc',
- 'nfdqc' => 'nfdqc',
- 'nfdquickcheck' => 'nfdqc',
- 'nfkcqc' => 'nfkcqc',
- 'nfkcquickcheck' => 'nfkcqc',
- 'nfkdqc' => 'nfkdqc',
- 'nfkdquickcheck' => 'nfkdqc',
- 'noncharactercodepoint' => 'nchar',
- 'nt' => 'nt',
- 'numerictype' => 'nt',
- 'numericvalue' => 'nv',
- 'nv' => 'nv',
- 'oalpha' => 'oalpha',
- 'odi' => 'odi',
- 'ogrext' => 'ogrext',
- 'oidc' => 'oidc',
- 'oids' => 'oids',
- 'olower' => 'olower',
- 'omath' => 'omath',
- 'otheralphabetic' => 'oalpha',
- 'otherdefaultignorablecodepoint' => 'odi',
- 'othergraphemeextend' => 'ogrext',
- 'otheridcontinue' => 'oidc',
- 'otheridstart' => 'oids',
- 'otherlowercase' => 'olower',
- 'othermath' => 'omath',
- 'otheruppercase' => 'oupper',
- 'oupper' => 'oupper',
- 'patsyn' => 'patsyn',
- 'patternsyntax' => 'patsyn',
- 'patternwhitespace' => 'patws',
- 'patws' => 'patws',
- 'perlcanonicalcombiningclass' => 'perlccc',
- 'perlccc' => 'perlccc',
- 'presentin' => 'in',
- 'qmark' => 'qmark',
- 'quotationmark' => 'qmark',
- 'radical' => 'radical',
- 'sb' => 'sb',
- 'sc' => 'sc',
- 'script' => 'sc',
- 'sd' => 'sd',
- 'sentencebreak' => 'sb',
- 'softdotted' => 'sd',
- 'space' => 'wspace',
- 'sterm' => 'sterm',
- 'term' => 'term',
- 'terminalpunctuation' => 'term',
- 'uideo' => 'uideo',
- 'unifiedideograph' => 'uideo',
- 'upper' => 'upper',
- 'uppercase' => 'upper',
- 'variationselector' => 'vs',
- 'vs' => 'vs',
- 'wb' => 'wb',
- 'whitespace' => 'wspace',
- 'wordbreak' => 'wb',
- 'wspace' => 'wspace',
- 'xidc' => 'xidc',
- 'xidcontinue' => 'xidc',
- 'xids' => 'xids',
- 'xidstart' => 'xids',
+'age' => 'age',
+'ahex' => 'ahex',
+'alpha' => 'alpha',
+'alphabetic' => 'alpha',
+'asciihexdigit' => 'ahex',
+'bc' => 'bc',
+'bidic' => 'bidic',
+'bidiclass' => 'bc',
+'bidicontrol' => 'bidic',
+'bidim' => 'bidim',
+'bidimirrored' => 'bidim',
+'blk' => 'blk',
+'block' => 'blk',
+'canonicalcombiningclass' => 'ccc',
+'cased' => 'cased',
+'caseignorable' => 'ci',
+'category' => 'gc',
+'ccc' => 'ccc',
+'ce' => 'ce',
+'changeswhencasefolded' => 'cwcf',
+'changeswhencasemapped' => 'cwcm',
+'changeswhenlowercased' => 'cwl',
+'changeswhennfkccasefolded' => 'cwkcf',
+'changeswhentitlecased' => 'cwt',
+'changeswhenuppercased' => 'cwu',
+'ci' => 'ci',
+'compex' => 'compex',
+'compositionexclusion' => 'ce',
+'cwcf' => 'cwcf',
+'cwcm' => 'cwcm',
+'cwkcf' => 'cwkcf',
+'cwl' => 'cwl',
+'cwt' => 'cwt',
+'cwu' => 'cwu',
+'dash' => 'dash',
+'decompositiontype' => 'dt',
+'defaultignorablecodepoint' => 'di',
+'dep' => 'dep',
+'deprecated' => 'dep',
+'di' => 'di',
+'dia' => 'dia',
+'diacritic' => 'dia',
+'dt' => 'dt',
+'ea' => 'ea',
+'eastasianwidth' => 'ea',
+'ext' => 'ext',
+'extender' => 'ext',
+'fullcompositionexclusion' => 'compex',
+'gc' => 'gc',
+'gcb' => 'gcb',
+'generalcategory' => 'gc',
+'graphemebase' => 'grbase',
+'graphemeclusterbreak' => 'gcb',
+'graphemeextend' => 'grext',
+'grbase' => 'grbase',
+'grext' => 'grext',
+'hangulsyllabletype' => 'hst',
+'hex' => 'hex',
+'hexdigit' => 'hex',
+'hst' => 'hst',
+'hyphen' => 'hyphen',
+'idc' => 'idc',
+'idcontinue' => 'idc',
+'ideo' => 'ideo',
+'ideographic' => 'ideo',
+'ids' => 'ids',
+'idsb' => 'idsb',
+'idsbinaryoperator' => 'idsb',
+'idst' => 'idst',
+'idstart' => 'ids',
+'idstrinaryoperator' => 'idst',
+'in' => 'in',
+'jg' => 'jg',
+'joinc' => 'joinc',
+'joincontrol' => 'joinc',
+'joininggroup' => 'jg',
+'joiningtype' => 'jt',
+'jt' => 'jt',
+'lb' => 'lb',
+'linebreak' => 'lb',
+'loe' => 'loe',
+'logicalorderexception' => 'loe',
+'lower' => 'lower',
+'lowercase' => 'lower',
+'math' => 'math',
+'nchar' => 'nchar',
+'nfcqc' => 'nfcqc',
+'nfcquickcheck' => 'nfcqc',
+'nfdqc' => 'nfdqc',
+'nfdquickcheck' => 'nfdqc',
+'nfkcqc' => 'nfkcqc',
+'nfkcquickcheck' => 'nfkcqc',
+'nfkdqc' => 'nfkdqc',
+'nfkdquickcheck' => 'nfkdqc',
+'noncharactercodepoint' => 'nchar',
+'nt' => 'nt',
+'numerictype' => 'nt',
+'numericvalue' => 'nv',
+'nv' => 'nv',
+'patsyn' => 'patsyn',
+'patternsyntax' => 'patsyn',
+'patternwhitespace' => 'patws',
+'patws' => 'patws',
+'presentin' => 'in',
+'qmark' => 'qmark',
+'quotationmark' => 'qmark',
+'radical' => 'radical',
+'sb' => 'sb',
+'sc' => 'sc',
+'script' => 'sc',
+'scriptextensions' => 'scx',
+'scx' => 'scx',
+'sd' => 'sd',
+'sentencebreak' => 'sb',
+'softdotted' => 'sd',
+'space' => 'wspace',
+'sterm' => 'sterm',
+'term' => 'term',
+'terminalpunctuation' => 'term',
+'uideo' => 'uideo',
+'unifiedideograph' => 'uideo',
+'upper' => 'upper',
+'uppercase' => 'upper',
+'variationselector' => 'vs',
+'vs' => 'vs',
+'wb' => 'wb',
+'whitespace' => 'wspace',
+'wordbreak' => 'wb',
+'wspace' => 'wspace',
+'xidc' => 'xidc',
+'xidcontinue' => 'xidc',
+'xids' => 'xids',
+'xidstart' => 'xids',
);
# Maps property, table to file for those using stricter matching
%utf8::stricter_to_file_of = (
- '_canondcij' => 'SD/Y',
- '_case_ignorable' => 'CI/Y',
- '_combabove' => 'Ccc/A',
- '_x_begin' => 'Perl/_XBegin',
- '_x_extend' => 'Perl/_XExtend',
- '_x_lv_lvt_v' => 'Perl/_XLVLVTV',
- 'age=1.1' => 'Age/1_1',
- 'age=2' => 'Age/2_0',
- 'age=2.0' => 'Age/2_0',
- 'age=2.1' => 'Age/2_1',
- 'age=3' => 'Age/3_0',
- 'age=3.0' => 'Age/3_0',
- 'age=3.1' => 'Age/3_1',
- 'age=3.2' => 'Age/3_2',
- 'age=4' => 'Age/4_0',
- 'age=4.0' => 'Age/4_0',
- 'age=4.1' => 'Age/4_1',
- 'age=5' => 'Age/5_0',
- 'age=5.0' => 'Age/5_0',
- 'age=5.1' => 'Age/5_1',
- 'age=5.2' => 'Age/5_2',
- 'age=6' => 'Age/6_0',
- 'age=6.0' => 'Age/6_0',
- 'ccc=0' => 'Ccc/NR',
- 'ccc=1' => 'Ccc/OV',
- 'ccc=10' => 'Ccc/10',
- 'ccc=103' => 'Ccc/103',
- 'ccc=107' => 'Ccc/107',
- 'ccc=11' => 'Ccc/11',
- 'ccc=118' => 'Ccc/118',
- 'ccc=12' => 'Ccc/12',
- 'ccc=122' => 'Ccc/122',
- 'ccc=129' => 'Ccc/129',
- 'ccc=13' => 'Ccc/13',
- 'ccc=130' => 'Ccc/130',
- 'ccc=132' => 'Ccc/132',
- 'ccc=14' => 'Ccc/14',
- 'ccc=15' => 'Ccc/15',
- 'ccc=16' => 'Ccc/16',
- 'ccc=17' => 'Ccc/17',
- 'ccc=18' => 'Ccc/18',
- 'ccc=19' => 'Ccc/19',
- 'ccc=20' => 'Ccc/20',
- 'ccc=200' => 'Ccc/ATBL',
- 'ccc=202' => 'Ccc/ATB',
- 'ccc=21' => 'Ccc/21',
- 'ccc=214' => 'Ccc/ATA',
- 'ccc=216' => 'Ccc/ATAR',
- 'ccc=218' => 'Ccc/BL',
- 'ccc=22' => 'Ccc/22',
- 'ccc=220' => 'Ccc/B',
- 'ccc=222' => 'Ccc/BR',
- 'ccc=224' => 'Ccc/L',
- 'ccc=226' => 'Ccc/R',
- 'ccc=228' => 'Ccc/AL',
- 'ccc=23' => 'Ccc/23',
- 'ccc=230' => 'Ccc/A',
- 'ccc=232' => 'Ccc/AR',
- 'ccc=233' => 'Ccc/DB',
- 'ccc=234' => 'Ccc/DA',
- 'ccc=24' => 'Ccc/24',
- 'ccc=240' => 'Ccc/IS',
- 'ccc=25' => 'Ccc/25',
- 'ccc=26' => 'Ccc/26',
- 'ccc=27' => 'Ccc/27',
- 'ccc=28' => 'Ccc/28',
- 'ccc=29' => 'Ccc/29',
- 'ccc=30' => 'Ccc/30',
- 'ccc=31' => 'Ccc/31',
- 'ccc=32' => 'Ccc/32',
- 'ccc=33' => 'Ccc/33',
- 'ccc=34' => 'Ccc/34',
- 'ccc=35' => 'Ccc/35',
- 'ccc=36' => 'Ccc/36',
- 'ccc=7' => 'Ccc/NK',
- 'ccc=8' => 'Ccc/KV',
- 'ccc=84' => 'Ccc/84',
- 'ccc=9' => 'Ccc/VR',
- 'ccc=91' => 'Ccc/91',
- 'in=1.1' => 'Age/1_1',
- 'in=2' => 'In/2_0',
- 'in=2.0' => 'In/2_0',
- 'in=2.1' => 'In/2_1',
- 'in=3' => 'In/3_0',
- 'in=3.0' => 'In/3_0',
- 'in=3.1' => 'In/3_1',
- 'in=3.2' => 'In/3_2',
- 'in=4' => 'In/4_0',
- 'in=4.0' => 'In/4_0',
- 'in=4.1' => 'In/4_1',
- 'in=5' => 'In/5_0',
- 'in=5.0' => 'In/5_0',
- 'in=5.1' => 'In/5_1',
- 'in=5.2' => 'In/5_2',
- 'in=6' => 'In/6_0',
- 'in=6.0' => 'In/6_0',
- 'nv=-1/2' => 'Nv/_1_2',
- 'nv=0' => 'Nv/0',
- 'nv=1' => 'Nv/1',
- 'nv=1/10' => 'Nv/1_10',
- 'nv=1/16' => 'Nv/1_16',
- 'nv=1/2' => 'Nv/1_2',
- 'nv=1/3' => 'Nv/1_3',
- 'nv=1/4' => 'Nv/1_4',
- 'nv=1/5' => 'Nv/1_5',
- 'nv=1/6' => 'Nv/1_6',
- 'nv=1/7' => 'Nv/1_7',
- 'nv=1/8' => 'Nv/1_8',
- 'nv=1/9' => 'Nv/1_9',
- 'nv=10' => 'Nv/10',
- 'nv=100' => 'Nv/100',
- 'nv=1000' => 'Nv/1000',
- 'nv=10000' => 'Nv/10000',
- 'nv=100000' => 'Nv/100000',
- 'nv=100000000' => 'Nv/10000000',
- 'nv=1000000000000' => 'Nv/10000002',
- 'nv=11' => 'Nv/11',
- 'nv=11/2' => 'Nv/11_2',
- 'nv=12' => 'Nv/12',
- 'nv=13' => 'Nv/13',
- 'nv=13/2' => 'Nv/13_2',
- 'nv=14' => 'Nv/14',
- 'nv=15' => 'Nv/15',
- 'nv=15/2' => 'Nv/15_2',
- 'nv=16' => 'Nv/16',
- 'nv=17' => 'Nv/17',
- 'nv=17/2' => 'Nv/17_2',
- 'nv=18' => 'Nv/18',
- 'nv=19' => 'Nv/19',
- 'nv=2' => 'Nv/2',
- 'nv=2/3' => 'Nv/2_3',
- 'nv=2/5' => 'Nv/2_5',
- 'nv=20' => 'Nv/20',
- 'nv=200' => 'Nv/200',
- 'nv=2000' => 'Nv/2000',
- 'nv=20000' => 'Nv/20000',
- 'nv=21' => 'Nv/21',
- 'nv=22' => 'Nv/22',
- 'nv=23' => 'Nv/23',
- 'nv=24' => 'Nv/24',
- 'nv=25' => 'Nv/25',
- 'nv=26' => 'Nv/26',
- 'nv=27' => 'Nv/27',
- 'nv=28' => 'Nv/28',
- 'nv=29' => 'Nv/29',
- 'nv=3' => 'Nv/3',
- 'nv=3/16' => 'Nv/3_16',
- 'nv=3/2' => 'Nv/3_2',
- 'nv=3/4' => 'Nv/3_4',
- 'nv=3/5' => 'Nv/3_5',
- 'nv=3/8' => 'Nv/3_8',
- 'nv=30' => 'Nv/30',
- 'nv=300' => 'Nv/300',
- 'nv=3000' => 'Nv/3000',
- 'nv=30000' => 'Nv/30000',
- 'nv=31' => 'Nv/31',
- 'nv=32' => 'Nv/32',
- 'nv=33' => 'Nv/33',
- 'nv=34' => 'Nv/34',
- 'nv=35' => 'Nv/35',
- 'nv=36' => 'Nv/36',
- 'nv=37' => 'Nv/37',
- 'nv=38' => 'Nv/38',
- 'nv=39' => 'Nv/39',
- 'nv=4' => 'Nv/4',
- 'nv=4/5' => 'Nv/4_5',
- 'nv=40' => 'Nv/40',
- 'nv=400' => 'Nv/400',
- 'nv=4000' => 'Nv/4000',
- 'nv=40000' => 'Nv/40000',
- 'nv=41' => 'Nv/41',
- 'nv=42' => 'Nv/42',
- 'nv=43' => 'Nv/43',
- 'nv=44' => 'Nv/44',
- 'nv=45' => 'Nv/45',
- 'nv=46' => 'Nv/46',
- 'nv=47' => 'Nv/47',
- 'nv=48' => 'Nv/48',
- 'nv=49' => 'Nv/49',
- 'nv=5' => 'Nv/5',
- 'nv=5/2' => 'Nv/5_2',
- 'nv=5/6' => 'Nv/5_6',
- 'nv=5/8' => 'Nv/5_8',
- 'nv=50' => 'Nv/50',
- 'nv=500' => 'Nv/500',
- 'nv=5000' => 'Nv/5000',
- 'nv=50000' => 'Nv/50000',
- 'nv=6' => 'Nv/6',
- 'nv=60' => 'Nv/60',
- 'nv=600' => 'Nv/600',
- 'nv=6000' => 'Nv/6000',
- 'nv=60000' => 'Nv/60000',
- 'nv=7' => 'Nv/7',
- 'nv=7/2' => 'Nv/7_2',
- 'nv=7/8' => 'Nv/7_8',
- 'nv=70' => 'Nv/70',
- 'nv=700' => 'Nv/700',
- 'nv=7000' => 'Nv/7000',
- 'nv=70000' => 'Nv/70000',
- 'nv=8' => 'Nv/8',
- 'nv=80' => 'Nv/80',
- 'nv=800' => 'Nv/800',
- 'nv=8000' => 'Nv/8000',
- 'nv=80000' => 'Nv/80000',
- 'nv=9' => 'Nv/9',
- 'nv=9/2' => 'Nv/9_2',
- 'nv=90' => 'Nv/90',
- 'nv=900' => 'Nv/900',
- 'nv=9000' => 'Nv/9000',
- 'nv=90000' => 'Nv/90000',
+'_canondcij' => 'SD/Y',
+'_case_ignorable' => 'CI/Y',
+'_combabove' => 'Ccc/A',
+'_perl_idstart' => 'Perl/_PerlIDS',
+'_perl_non_final_folds' => 'Perl/_PerlNon',
+'_perl_quotemeta' => 'Perl/_PerlQuo',
+'_x_begin' => 'Perl/_XBegin',
+'_x_extend' => 'Perl/_XExtend',
+'_x_lv_lvt_v' => 'Perl/_XLVLVTV',
+'age=1.1' => 'Age/V11',
+'age=2' => 'Age/V20',
+'age=2.0' => 'Age/V20',
+'age=2.1' => 'Age/V21',
+'age=3' => 'Age/V30',
+'age=3.0' => 'Age/V30',
+'age=3.1' => 'Age/V31',
+'age=3.2' => 'Age/V32',
+'age=4' => 'Age/V40',
+'age=4.0' => 'Age/V40',
+'age=4.1' => 'Age/V41',
+'age=5' => 'Age/V50',
+'age=5.0' => 'Age/V50',
+'age=5.1' => 'Age/V51',
+'age=5.2' => 'Age/V52',
+'age=6' => 'Age/V60',
+'age=6.0' => 'Age/V60',
+'age=6.1' => 'Age/V61',
+'ccc=0' => 'Ccc/NR',
+'ccc=1' => 'Ccc/OV',
+'ccc=10' => 'Ccc/CCC10',
+'ccc=103' => 'Ccc/CCC103',
+'ccc=107' => 'Ccc/CCC107',
+'ccc=11' => 'Ccc/CCC11',
+'ccc=118' => 'Ccc/CCC118',
+'ccc=12' => 'Ccc/CCC12',
+'ccc=122' => 'Ccc/CCC122',
+'ccc=129' => 'Ccc/CCC129',
+'ccc=13' => 'Ccc/CCC13',
+'ccc=130' => 'Ccc/CCC130',
+'ccc=132' => 'Ccc/CCC132',
+'ccc=14' => 'Ccc/CCC14',
+'ccc=15' => 'Ccc/CCC15',
+'ccc=16' => 'Ccc/CCC16',
+'ccc=17' => 'Ccc/CCC17',
+'ccc=18' => 'Ccc/CCC18',
+'ccc=19' => 'Ccc/CCC19',
+'ccc=20' => 'Ccc/CCC20',
+'ccc=200' => '!Perl/Any',
+'ccc=202' => 'Ccc/ATB',
+'ccc=21' => 'Ccc/CCC21',
+'ccc=214' => 'Ccc/ATA',
+'ccc=216' => 'Ccc/ATAR',
+'ccc=218' => 'Ccc/BL',
+'ccc=22' => 'Ccc/CCC22',
+'ccc=220' => 'Ccc/B',
+'ccc=222' => 'Ccc/BR',
+'ccc=224' => 'Ccc/L',
+'ccc=226' => 'Ccc/R',
+'ccc=228' => 'Ccc/AL',
+'ccc=23' => 'Ccc/CCC23',
+'ccc=230' => 'Ccc/A',
+'ccc=232' => 'Ccc/AR',
+'ccc=233' => 'Ccc/DB',
+'ccc=234' => 'Ccc/DA',
+'ccc=24' => 'Ccc/CCC24',
+'ccc=240' => 'Ccc/IS',
+'ccc=25' => 'Ccc/CCC25',
+'ccc=26' => 'Ccc/CCC26',
+'ccc=27' => 'Ccc/CCC27',
+'ccc=28' => 'Ccc/CCC28',
+'ccc=29' => 'Ccc/CCC29',
+'ccc=30' => 'Ccc/CCC30',
+'ccc=31' => 'Ccc/CCC31',
+'ccc=32' => 'Ccc/CCC32',
+'ccc=33' => 'Ccc/CCC33',
+'ccc=34' => 'Ccc/CCC34',
+'ccc=35' => 'Ccc/CCC35',
+'ccc=36' => 'Ccc/CCC36',
+'ccc=7' => 'Ccc/NK',
+'ccc=8' => 'Ccc/KV',
+'ccc=84' => 'Ccc/CCC84',
+'ccc=9' => 'Ccc/VR',
+'ccc=91' => 'Ccc/CCC91',
+'in=1.1' => 'Age/V11',
+'in=2' => 'In/2_0',
+'in=2.0' => 'In/2_0',
+'in=2.1' => 'In/2_1',
+'in=3' => 'In/3_0',
+'in=3.0' => 'In/3_0',
+'in=3.1' => 'In/3_1',
+'in=3.2' => 'In/3_2',
+'in=4' => 'In/4_0',
+'in=4.0' => 'In/4_0',
+'in=4.1' => 'In/4_1',
+'in=5' => 'In/5_0',
+'in=5.0' => 'In/5_0',
+'in=5.1' => 'In/5_1',
+'in=5.2' => 'In/5_2',
+'in=6' => 'In/6_0',
+'in=6.0' => 'In/6_0',
+'in=6.1' => 'In/6_1',
+'nv=-1/2' => 'Nv/_1_2',
+'nv=0' => 'Nv/0',
+'nv=1' => 'Nv/1',
+'nv=1/10' => 'Nv/1_10',
+'nv=1/16' => 'Nv/1_16',
+'nv=1/2' => 'Nv/1_2',
+'nv=1/3' => 'Nv/1_3',
+'nv=1/4' => 'Nv/1_4',
+'nv=1/5' => 'Nv/1_5',
+'nv=1/6' => 'Nv/1_6',
+'nv=1/7' => 'Nv/1_7',
+'nv=1/8' => 'Nv/1_8',
+'nv=1/9' => 'Nv/1_9',
+'nv=10' => 'Nv/10',
+'nv=100' => 'Nv/100',
+'nv=1000' => 'Nv/1000',
+'nv=10000' => 'Nv/10000',
+'nv=100000' => 'Nv/100000',
+'nv=100000000' => 'Nv/10000000',
+'nv=1000000000000' => 'Nv/10000002',
+'nv=11' => 'Nv/11',
+'nv=11/2' => 'Nv/11_2',
+'nv=12' => 'Nv/12',
+'nv=13' => 'Nv/13',
+'nv=13/2' => 'Nv/13_2',
+'nv=14' => 'Nv/14',
+'nv=15' => 'Nv/15',
+'nv=15/2' => 'Nv/15_2',
+'nv=16' => 'Nv/16',
+'nv=17' => 'Nv/17',
+'nv=17/2' => 'Nv/17_2',
+'nv=18' => 'Nv/18',
+'nv=19' => 'Nv/19',
+'nv=2' => 'Nv/2',
+'nv=2/3' => 'Nv/2_3',
+'nv=2/5' => 'Nv/2_5',
+'nv=20' => 'Nv/20',
+'nv=200' => 'Nv/200',
+'nv=2000' => 'Nv/2000',
+'nv=20000' => 'Nv/20000',
+'nv=21' => 'Nv/21',
+'nv=22' => 'Nv/22',
+'nv=23' => 'Nv/23',
+'nv=24' => 'Nv/24',
+'nv=25' => 'Nv/25',
+'nv=26' => 'Nv/26',
+'nv=27' => 'Nv/27',
+'nv=28' => 'Nv/28',
+'nv=29' => 'Nv/29',
+'nv=3' => 'Nv/3',
+'nv=3/16' => 'Nv/3_16',
+'nv=3/2' => 'Nv/3_2',
+'nv=3/4' => 'Nv/3_4',
+'nv=3/5' => 'Nv/3_5',
+'nv=3/8' => 'Nv/3_8',
+'nv=30' => 'Nv/30',
+'nv=300' => 'Nv/300',
+'nv=3000' => 'Nv/3000',
+'nv=30000' => 'Nv/30000',
+'nv=31' => 'Nv/31',
+'nv=32' => 'Nv/32',
+'nv=33' => 'Nv/33',
+'nv=34' => 'Nv/34',
+'nv=35' => 'Nv/35',
+'nv=36' => 'Nv/36',
+'nv=37' => 'Nv/37',
+'nv=38' => 'Nv/38',
+'nv=39' => 'Nv/39',
+'nv=4' => 'Nv/4',
+'nv=4/5' => 'Nv/4_5',
+'nv=40' => 'Nv/40',
+'nv=400' => 'Nv/400',
+'nv=4000' => 'Nv/4000',
+'nv=40000' => 'Nv/40000',
+'nv=41' => 'Nv/41',
+'nv=42' => 'Nv/42',
+'nv=43' => 'Nv/43',
+'nv=44' => 'Nv/44',
+'nv=45' => 'Nv/45',
+'nv=46' => 'Nv/46',
+'nv=47' => 'Nv/47',
+'nv=48' => 'Nv/48',
+'nv=49' => 'Nv/49',
+'nv=5' => 'Nv/5',
+'nv=5/2' => 'Nv/5_2',
+'nv=5/6' => 'Nv/5_6',
+'nv=5/8' => 'Nv/5_8',
+'nv=50' => 'Nv/50',
+'nv=500' => 'Nv/500',
+'nv=5000' => 'Nv/5000',
+'nv=50000' => 'Nv/50000',
+'nv=6' => 'Nv/6',
+'nv=60' => 'Nv/60',
+'nv=600' => 'Nv/600',
+'nv=6000' => 'Nv/6000',
+'nv=60000' => 'Nv/60000',
+'nv=7' => 'Nv/7',
+'nv=7/2' => 'Nv/7_2',
+'nv=7/8' => 'Nv/7_8',
+'nv=70' => 'Nv/70',
+'nv=700' => 'Nv/700',
+'nv=7000' => 'Nv/7000',
+'nv=70000' => 'Nv/70000',
+'nv=8' => 'Nv/8',
+'nv=80' => 'Nv/80',
+'nv=800' => 'Nv/800',
+'nv=8000' => 'Nv/8000',
+'nv=80000' => 'Nv/80000',
+'nv=9' => 'Nv/9',
+'nv=9/2' => 'Nv/9_2',
+'nv=90' => 'Nv/90',
+'nv=900' => 'Nv/900',
+'nv=9000' => 'Nv/9000',
+'nv=90000' => 'Nv/90000',
);
# Maps property, table to file for those using loose matching
%utf8::loose_to_file_of = (
- 'aegeannumbers' => 'Blk/AegeanNu',
- 'age=unassigned' => 'Age/Unassign',
- 'ahex' => 'AHex/Y',
- 'ahex=f' => 'AHex/N',
- 'ahex=false' => 'AHex/N',
- 'ahex=n' => 'AHex/N',
- 'ahex=no' => 'AHex/N',
- 'ahex=t' => 'AHex/Y',
- 'ahex=true' => 'AHex/Y',
- 'ahex=y' => 'AHex/Y',
- 'ahex=yes' => 'AHex/Y',
- 'alchemicalsymbols' => 'Blk/Alchemic',
- 'all' => 'Perl/Any',
- 'alnum' => 'Perl/Alnum',
- 'alpha' => 'Alpha/Y',
- 'alpha=f' => 'Alpha/N',
- 'alpha=false' => 'Alpha/N',
- 'alpha=n' => 'Alpha/N',
- 'alpha=no' => 'Alpha/N',
- 'alpha=t' => 'Alpha/Y',
- 'alpha=true' => 'Alpha/Y',
- 'alpha=y' => 'Alpha/Y',
- 'alpha=yes' => 'Alpha/Y',
- 'alphabetic' => 'Alpha/Y',
- 'alphabeticpresentationforms' => 'Blk/Alphabet',
- 'ancientgreekmusicalnotation' => 'Blk/Ancient2',
- 'ancientgreeknumbers' => 'Blk/AncientG',
- 'ancientsymbols' => 'Blk/AncientS',
- 'any' => 'Perl/Any',
- 'arab' => 'Sc/Arab',
- 'arabic' => 'Sc/Arab',
- 'arabicpresentationformsa' => 'Blk/ArabicPr',
- 'arabicpresentationformsb' => 'Blk/ArabicP2',
- 'arabicsupplement' => 'Blk/ArabicSu',
- 'armenian' => 'Sc/Armn',
- 'armi' => 'Sc/Armi',
- 'armn' => 'Sc/Armn',
- 'arrows' => 'Blk/Arrows',
- 'ascii' => 'Blk/ASCII',
- 'asciihexdigit' => 'AHex/Y',
- 'assigned' => 'Perl/Assigned',
- 'avestan' => 'Sc/Avst',
- 'avst' => 'Sc/Avst',
- 'bali' => 'Sc/Bali',
- 'balinese' => 'Sc/Bali',
- 'bamu' => 'Sc/Bamu',
- 'bamum' => 'Sc/Bamu',
- 'bamumsupplement' => 'Blk/BamumSup',
- 'basiclatin' => 'Blk/ASCII',
- 'batak' => 'Sc/Batk',
- 'batk' => 'Sc/Batk',
- 'bc=al' => 'Bc/AL',
- 'bc=an' => 'Bc/AN',
- 'bc=arabicletter' => 'Bc/AL',
- 'bc=arabicnumber' => 'Bc/AN',
- 'bc=b' => 'Bc/B',
- 'bc=bn' => 'Bc/BN',
- 'bc=boundaryneutral' => 'Bc/BN',
- 'bc=commonseparator' => 'Bc/CS',
- 'bc=cs' => 'Bc/CS',
- 'bc=en' => 'Bc/EN',
- 'bc=es' => 'Bc/ES',
- 'bc=et' => 'Bc/ET',
- 'bc=europeannumber' => 'Bc/EN',
- 'bc=europeanseparator' => 'Bc/ES',
- 'bc=europeanterminator' => 'Bc/ET',
- 'bc=l' => 'Bc/L',
- 'bc=lefttoright' => 'Bc/L',
- 'bc=lefttorightembedding' => 'Bc/LRE',
- 'bc=lefttorightoverride' => 'Bc/LRO',
- 'bc=lre' => 'Bc/LRE',
- 'bc=lro' => 'Bc/LRO',
- 'bc=nonspacingmark' => 'Bc/NSM',
- 'bc=nsm' => 'Bc/NSM',
- 'bc=on' => 'Bc/ON',
- 'bc=otherneutral' => 'Bc/ON',
- 'bc=paragraphseparator' => 'Bc/B',
- 'bc=pdf' => 'Bc/PDF',
- 'bc=popdirectionalformat' => 'Bc/PDF',
- 'bc=r' => 'Bc/R',
- 'bc=righttoleft' => 'Bc/R',
- 'bc=righttoleftembedding' => 'Bc/RLE',
- 'bc=righttoleftoverride' => 'Bc/RLO',
- 'bc=rle' => 'Bc/RLE',
- 'bc=rlo' => 'Bc/RLO',
- 'bc=s' => 'Bc/S',
- 'bc=segmentseparator' => 'Bc/S',
- 'bc=whitespace' => 'Bc/WS',
- 'bc=ws' => 'Bc/WS',
- 'beng' => 'Sc/Beng',
- 'bengali' => 'Sc/Beng',
- 'bidic' => 'BidiC/Y',
- 'bidic=f' => 'BidiC/N',
- 'bidic=false' => 'BidiC/N',
- 'bidic=n' => 'BidiC/N',
- 'bidic=no' => 'BidiC/N',
- 'bidic=t' => 'BidiC/Y',
- 'bidic=true' => 'BidiC/Y',
- 'bidic=y' => 'BidiC/Y',
- 'bidic=yes' => 'BidiC/Y',
- 'bidicontrol' => 'BidiC/Y',
- 'bidim' => 'BidiM/Y',
- 'bidim=f' => 'BidiM/N',
- 'bidim=false' => 'BidiM/N',
- 'bidim=n' => 'BidiM/N',
- 'bidim=no' => 'BidiM/N',
- 'bidim=t' => 'BidiM/Y',
- 'bidim=true' => 'BidiM/Y',
- 'bidim=y' => 'BidiM/Y',
- 'bidim=yes' => 'BidiM/Y',
- 'bidimirrored' => 'BidiM/Y',
- 'blank' => 'Perl/Blank',
- 'blk=aegeannumbers' => 'Blk/AegeanNu',
- 'blk=alchemicalsymbols' => 'Blk/Alchemic',
- 'blk=alphabeticpresentationforms' => 'Blk/Alphabet',
- 'blk=ancientgreekmusicalnotation' => 'Blk/Ancient2',
- 'blk=ancientgreeknumbers' => 'Blk/AncientG',
- 'blk=ancientsymbols' => 'Blk/AncientS',
- 'blk=arabic' => 'Blk/Arabic',
- 'blk=arabicpresentationformsa' => 'Blk/ArabicPr',
- 'blk=arabicpresentationformsb' => 'Blk/ArabicP2',
- 'blk=arabicsupplement' => 'Blk/ArabicSu',
- 'blk=armenian' => 'Blk/Armenian',
- 'blk=arrows' => 'Blk/Arrows',
- 'blk=ascii' => 'Blk/ASCII',
- 'blk=avestan' => 'Blk/Avestan',
- 'blk=balinese' => 'Blk/Balinese',
- 'blk=bamum' => 'Blk/Bamum',
- 'blk=bamumsupplement' => 'Blk/BamumSup',
- 'blk=basiclatin' => 'Blk/ASCII',
- 'blk=batak' => 'Blk/Batak',
- 'blk=bengali' => 'Blk/Bengali',
- 'blk=blockelements' => 'Blk/BlockEle',
- 'blk=bopomofo' => 'Blk/Bopomofo',
- 'blk=bopomofoextended' => 'Blk/Bopomof2',
- 'blk=boxdrawing' => 'Blk/BoxDrawi',
- 'blk=brahmi' => 'Blk/Brahmi',
- 'blk=braillepatterns' => 'Blk/BrailleP',
- 'blk=buginese' => 'Blk/Buginese',
- 'blk=buhid' => 'Blk/Buhid',
- 'blk=byzantinemusicalsymbols' => 'Blk/Byzantin',
- 'blk=canadiansyllabics' => 'Blk/Canadian',
- 'blk=carian' => 'Blk/Carian',
- 'blk=cham' => 'Blk/Cham',
- 'blk=cherokee' => 'Blk/Cherokee',
- 'blk=cjkcompatibility' => 'Blk/CJKCompa',
- 'blk=cjkcompatibilityforms' => 'Blk/CJKComp2',
- 'blk=cjkcompatibilityideographs' => 'Blk/CJKComp3',
- 'blk=cjkcompatibilityideographssupplement' => 'Blk/CJKComp4',
- 'blk=cjkradicalssupplement' => 'Blk/CJKRadic',
- 'blk=cjkstrokes' => 'Blk/CJKStrok',
- 'blk=cjksymbolsandpunctuation' => 'Blk/CJKSymbo',
- 'blk=cjkunifiedideographs' => 'Blk/CJKUnifi',
- 'blk=cjkunifiedideographsextensiona' => 'Blk/CJKUnif2',
- 'blk=cjkunifiedideographsextensionb' => 'Blk/CJKUnif3',
- 'blk=cjkunifiedideographsextensionc' => 'Blk/CJKUnif4',
- 'blk=cjkunifiedideographsextensiond' => 'Blk/CJKUnif5',
- 'blk=combiningdiacriticalmarks' => 'Blk/Combini3',
- 'blk=combiningdiacriticalmarksforsymbols' => 'Blk/Combini2',
- 'blk=combiningdiacriticalmarkssupplement' => 'Blk/Combini4',
- 'blk=combininghalfmarks' => 'Blk/Combinin',
- 'blk=combiningmarksforsymbols' => 'Blk/Combini2',
- 'blk=commonindicnumberforms' => 'Blk/CommonIn',
- 'blk=controlpictures' => 'Blk/ControlP',
- 'blk=coptic' => 'Blk/Coptic',
- 'blk=countingrodnumerals' => 'Blk/Counting',
- 'blk=cuneiform' => 'Blk/Cuneifor',
- 'blk=cuneiformnumbersandpunctuation' => 'Blk/Cuneifo2',
- 'blk=currencysymbols' => 'Blk/Currency',
- 'blk=cypriotsyllabary' => 'Blk/CypriotS',
- 'blk=cyrillic' => 'Blk/Cyrillic',
- 'blk=cyrillicextendeda' => 'Blk/Cyrilli2',
- 'blk=cyrillicextendedb' => 'Blk/Cyrilli3',
- 'blk=cyrillicsupplement' => 'Blk/Cyrilli4',
- 'blk=cyrillicsupplementary' => 'Blk/Cyrilli4',
- 'blk=deseret' => 'Blk/Deseret',
- 'blk=devanagari' => 'Blk/Devanaga',
- 'blk=devanagariextended' => 'Blk/Devanag2',
- 'blk=dingbats' => 'Blk/Dingbats',
- 'blk=dominotiles' => 'Blk/DominoTi',
- 'blk=egyptianhieroglyphs' => 'Blk/Egyptian',
- 'blk=emoticons' => 'Blk/Emoticon',
- 'blk=enclosedalphanumerics' => 'Blk/Enclosed',
- 'blk=enclosedalphanumericsupplement' => 'Blk/Enclose4',
- 'blk=enclosedcjklettersandmonths' => 'Blk/Enclose2',
- 'blk=enclosedideographicsupplement' => 'Blk/Enclose3',
- 'blk=ethiopic' => 'Blk/Ethiopic',
- 'blk=ethiopicextended' => 'Blk/Ethiopi2',
- 'blk=ethiopicextendeda' => 'Blk/Ethiopi3',
- 'blk=ethiopicsupplement' => 'Blk/Ethiopi4',
- 'blk=generalpunctuation' => 'Blk/GeneralP',
- 'blk=geometricshapes' => 'Blk/Geometri',
- 'blk=georgian' => 'Blk/Georgian',
- 'blk=georgiansupplement' => 'Blk/Georgia2',
- 'blk=glagolitic' => 'Blk/Glagolit',
- 'blk=gothic' => 'Blk/Gothic',
- 'blk=greek' => 'Blk/Greek',
- 'blk=greekandcoptic' => 'Blk/Greek',
- 'blk=greekextended' => 'Blk/GreekExt',
- 'blk=gujarati' => 'Blk/Gujarati',
- 'blk=gurmukhi' => 'Blk/Gurmukhi',
- 'blk=halfwidthandfullwidthforms' => 'Blk/Halfwidt',
- 'blk=hangulcompatibilityjamo' => 'Blk/HangulCo',
- 'blk=hanguljamo' => 'Blk/HangulJa',
- 'blk=hanguljamoextendeda' => 'Blk/HangulJ2',
- 'blk=hanguljamoextendedb' => 'Blk/HangulJ3',
- 'blk=hangulsyllables' => 'Blk/HangulSy',
- 'blk=hanunoo' => 'Blk/Hanunoo',
- 'blk=hebrew' => 'Blk/Hebrew',
- 'blk=highprivateusesurrogates' => 'Blk/HighPriv',
- 'blk=highsurrogates' => 'Blk/HighSurr',
- 'blk=hiragana' => 'Blk/Hiragana',
- 'blk=ideographicdescriptioncharacters' => 'Blk/Ideograp',
- 'blk=imperialaramaic' => 'Blk/Imperial',
- 'blk=inscriptionalpahlavi' => 'Blk/Inscript',
- 'blk=inscriptionalparthian' => 'Blk/Inscrip2',
- 'blk=ipaextensions' => 'Blk/IPAExten',
- 'blk=javanese' => 'Blk/Javanese',
- 'blk=kaithi' => 'Blk/Kaithi',
- 'blk=kanasupplement' => 'Blk/KanaSupp',
- 'blk=kanbun' => 'Blk/Kanbun',
- 'blk=kangxiradicals' => 'Blk/KangxiRa',
- 'blk=kannada' => 'Blk/Kannada',
- 'blk=katakana' => 'Blk/Katakana',
- 'blk=katakanaphoneticextensions' => 'Blk/Katakan2',
- 'blk=kayahli' => 'Blk/KayahLi',
- 'blk=kharoshthi' => 'Blk/Kharosht',
- 'blk=khmer' => 'Blk/Khmer',
- 'blk=khmersymbols' => 'Blk/KhmerSym',
- 'blk=lao' => 'Blk/Lao',
- 'blk=latin1' => 'Blk/Latin1',
- 'blk=latin1supplement' => 'Blk/Latin1',
- 'blk=latinextendeda' => 'Blk/LatinExt',
- 'blk=latinextendedadditional' => 'Blk/LatinEx5',
- 'blk=latinextendedb' => 'Blk/LatinEx2',
- 'blk=latinextendedc' => 'Blk/LatinEx3',
- 'blk=latinextendedd' => 'Blk/LatinEx4',
- 'blk=lepcha' => 'Blk/Lepcha',
- 'blk=letterlikesymbols' => 'Blk/Letterli',
- 'blk=limbu' => 'Blk/Limbu',
- 'blk=linearbideograms' => 'Blk/LinearBI',
- 'blk=linearbsyllabary' => 'Blk/LinearBS',
- 'blk=lisu' => 'Blk/Lisu',
- 'blk=lowsurrogates' => 'Blk/LowSurro',
- 'blk=lycian' => 'Blk/Lycian',
- 'blk=lydian' => 'Blk/Lydian',
- 'blk=mahjongtiles' => 'Blk/MahjongT',
- 'blk=malayalam' => 'Blk/Malayala',
- 'blk=mandaic' => 'Blk/Mandaic',
- 'blk=mathematicalalphanumericsymbols' => 'Blk/Mathema2',
- 'blk=mathematicaloperators' => 'Blk/Mathemat',
- 'blk=meeteimayek' => 'Blk/MeeteiMa',
- 'blk=miscellaneousmathematicalsymbolsa' => 'Blk/Miscell4',
- 'blk=miscellaneousmathematicalsymbolsb' => 'Blk/Miscell5',
- 'blk=miscellaneoussymbols' => 'Blk/Miscella',
- 'blk=miscellaneoussymbolsandarrows' => 'Blk/Miscell3',
- 'blk=miscellaneoussymbolsandpictographs' => 'Blk/Miscell6',
- 'blk=miscellaneoustechnical' => 'Blk/Miscell2',
- 'blk=modifiertoneletters' => 'Blk/Modifier',
- 'blk=mongolian' => 'Blk/Mongolia',
- 'blk=musicalsymbols' => 'Blk/MusicalS',
- 'blk=myanmar' => 'Blk/Myanmar',
- 'blk=myanmarextendeda' => 'Blk/MyanmarE',
- 'blk=newtailue' => 'Blk/NewTaiLu',
- 'blk=nko' => 'Blk/NKo',
- 'blk=noblock' => 'Blk/NoBlock',
- 'blk=numberforms' => 'Blk/NumberFo',
- 'blk=ogham' => 'Blk/Ogham',
- 'blk=olchiki' => 'Blk/OlChiki',
- 'blk=olditalic' => 'Blk/OldItali',
- 'blk=oldpersian' => 'Blk/OldPersi',
- 'blk=oldsoutharabian' => 'Blk/OldSouth',
- 'blk=oldturkic' => 'Blk/OldTurki',
- 'blk=opticalcharacterrecognition' => 'Blk/OpticalC',
- 'blk=oriya' => 'Blk/Oriya',
- 'blk=osmanya' => 'Blk/Osmanya',
- 'blk=phagspa' => 'Blk/PhagsPa',
- 'blk=phaistosdisc' => 'Blk/Phaistos',
- 'blk=phoenician' => 'Blk/Phoenici',
- 'blk=phoneticextensions' => 'Blk/Phonetic',
- 'blk=phoneticextensionssupplement' => 'Blk/Phoneti2',
- 'blk=playingcards' => 'Blk/PlayingC',
- 'blk=privateuse' => 'Blk/PrivateU',
- 'blk=privateusearea' => 'Blk/PrivateU',
- 'blk=rejang' => 'Blk/Rejang',
- 'blk=ruminumeralsymbols' => 'Blk/RumiNume',
- 'blk=runic' => 'Blk/Runic',
- 'blk=samaritan' => 'Blk/Samarita',
- 'blk=saurashtra' => 'Blk/Saurasht',
- 'blk=shavian' => 'Blk/Shavian',
- 'blk=sinhala' => 'Blk/Sinhala',
- 'blk=smallformvariants' => 'Blk/SmallFor',
- 'blk=spacingmodifierletters' => 'Blk/SpacingM',
- 'blk=specials' => 'Blk/Specials',
- 'blk=sundanese' => 'Blk/Sundanes',
- 'blk=superscriptsandsubscripts' => 'Blk/Superscr',
- 'blk=supplementalarrowsa' => 'Blk/Suppleme',
- 'blk=supplementalarrowsb' => 'Blk/Supplem2',
- 'blk=supplementalmathematicaloperators' => 'Blk/Supplem6',
- 'blk=supplementalpunctuation' => 'Blk/Supplem3',
- 'blk=supplementaryprivateuseareaa' => 'Blk/Supplem4',
- 'blk=supplementaryprivateuseareab' => 'Blk/Supplem5',
- 'blk=sylotinagri' => 'Blk/SylotiNa',
- 'blk=syriac' => 'Blk/Syriac',
- 'blk=tagalog' => 'Blk/Tagalog',
- 'blk=tagbanwa' => 'Blk/Tagbanwa',
- 'blk=tags' => 'Blk/Tags',
- 'blk=taile' => 'Blk/TaiLe',
- 'blk=taitham' => 'Blk/TaiTham',
- 'blk=taiviet' => 'Blk/TaiViet',
- 'blk=taixuanjingsymbols' => 'Blk/TaiXuanJ',
- 'blk=tamil' => 'Blk/Tamil',
- 'blk=telugu' => 'Blk/Telugu',
- 'blk=thaana' => 'Blk/Thaana',
- 'blk=thai' => 'Blk/Thai',
- 'blk=tibetan' => 'Blk/Tibetan',
- 'blk=tifinagh' => 'Blk/Tifinagh',
- 'blk=transportandmapsymbols' => 'Blk/Transpor',
- 'blk=ugaritic' => 'Blk/Ugaritic',
- 'blk=unifiedcanadianaboriginalsyllabics' => 'Blk/Canadian',
- 'blk=unifiedcanadianaboriginalsyllabicsextended' => 'Blk/UnifiedC',
- 'blk=vai' => 'Blk/Vai',
- 'blk=variationselectors' => 'Blk/Variatio',
- 'blk=variationselectorssupplement' => 'Blk/Variati2',
- 'blk=vedicextensions' => 'Blk/VedicExt',
- 'blk=verticalforms' => 'Blk/Vertical',
- 'blk=yijinghexagramsymbols' => 'Blk/YijingHe',
- 'blk=yiradicals' => 'Blk/YiRadica',
- 'blk=yisyllables' => 'Blk/YiSyllab',
- 'blockelements' => 'Blk/BlockEle',
- 'bopo' => 'Sc/Bopo',
- 'bopomofo' => 'Sc/Bopo',
- 'bopomofoextended' => 'Blk/Bopomof2',
- 'boxdrawing' => 'Blk/BoxDrawi',
- 'brah' => 'Sc/Brah',
- 'brahmi' => 'Sc/Brah',
- 'brai' => 'Blk/BrailleP',
- 'braille' => 'Blk/BrailleP',
- 'braillepatterns' => 'Blk/BrailleP',
- 'bugi' => 'Sc/Bugi',
- 'buginese' => 'Sc/Bugi',
- 'buhd' => 'Sc/Buhd',
- 'buhid' => 'Sc/Buhd',
- 'byzantinemusicalsymbols' => 'Blk/Byzantin',
- 'c' => 'Gc/C',
- 'canadianaboriginal' => 'Sc/Cans',
- 'canadiansyllabics' => 'Blk/Canadian',
- 'cans' => 'Sc/Cans',
- 'cari' => 'Sc/Cari',
- 'carian' => 'Sc/Cari',
- 'cased' => 'Cased/Y',
- 'cased=f' => 'Cased/N',
- 'cased=false' => 'Cased/N',
- 'cased=n' => 'Cased/N',
- 'cased=no' => 'Cased/N',
- 'cased=t' => 'Cased/Y',
- 'cased=true' => 'Cased/Y',
- 'cased=y' => 'Cased/Y',
- 'cased=yes' => 'Cased/Y',
- 'casedletter' => 'Gc/LC',
- 'caseignorable' => 'CI/Y',
- 'cc' => 'Gc/Cc',
- 'ccc=a' => 'Ccc/A',
- 'ccc=above' => 'Ccc/A',
- 'ccc=aboveleft' => 'Ccc/AL',
- 'ccc=aboveright' => 'Ccc/AR',
- 'ccc=al' => 'Ccc/AL',
- 'ccc=ar' => 'Ccc/AR',
- 'ccc=ata' => 'Ccc/ATA',
- 'ccc=atar' => 'Ccc/ATAR',
- 'ccc=atb' => 'Ccc/ATB',
- 'ccc=atbl' => 'Ccc/ATBL',
- 'ccc=attachedabove' => 'Ccc/ATA',
- 'ccc=attachedaboveright' => 'Ccc/ATAR',
- 'ccc=attachedbelow' => 'Ccc/ATB',
- 'ccc=attachedbelowleft' => 'Ccc/ATBL',
- 'ccc=b' => 'Ccc/B',
- 'ccc=below' => 'Ccc/B',
- 'ccc=belowleft' => 'Ccc/BL',
- 'ccc=belowright' => 'Ccc/BR',
- 'ccc=bl' => 'Ccc/BL',
- 'ccc=br' => 'Ccc/BR',
- 'ccc=da' => 'Ccc/DA',
- 'ccc=db' => 'Ccc/DB',
- 'ccc=doubleabove' => 'Ccc/DA',
- 'ccc=doublebelow' => 'Ccc/DB',
- 'ccc=iotasubscript' => 'Ccc/IS',
- 'ccc=is' => 'Ccc/IS',
- 'ccc=kanavoicing' => 'Ccc/KV',
- 'ccc=kv' => 'Ccc/KV',
- 'ccc=l' => 'Ccc/L',
- 'ccc=left' => 'Ccc/L',
- 'ccc=nk' => 'Ccc/NK',
- 'ccc=notreordered' => 'Ccc/NR',
- 'ccc=nr' => 'Ccc/NR',
- 'ccc=nukta' => 'Ccc/NK',
- 'ccc=ov' => 'Ccc/OV',
- 'ccc=overlay' => 'Ccc/OV',
- 'ccc=r' => 'Ccc/R',
- 'ccc=right' => 'Ccc/R',
- 'ccc=virama' => 'Ccc/VR',
- 'ccc=vr' => 'Ccc/VR',
- 'ce' => 'CE/Y',
- 'ce=f' => 'CE/N',
- 'ce=false' => 'CE/N',
- 'ce=n' => 'CE/N',
- 'ce=no' => 'CE/N',
- 'ce=t' => 'CE/Y',
- 'ce=true' => 'CE/Y',
- 'ce=y' => 'CE/Y',
- 'ce=yes' => 'CE/Y',
- 'cf' => 'Gc/Cf',
- 'cham' => 'Sc/Cham',
- 'changeswhencasefolded' => 'CWCF/Y',
- 'changeswhencasemapped' => 'CWCM/Y',
- 'changeswhenlowercased' => 'CWL/Y',
- 'changeswhennfkccasefolded' => 'CWKCF/Y',
- 'changeswhentitlecased' => 'CWT/Y',
- 'changeswhenuppercased' => 'CWU/Y',
- 'cher' => 'Sc/Cher',
- 'cherokee' => 'Sc/Cher',
- 'ci' => 'CI/Y',
- 'ci=f' => 'CI/N',
- 'ci=false' => 'CI/N',
- 'ci=n' => 'CI/N',
- 'ci=no' => 'CI/N',
- 'ci=t' => 'CI/Y',
- 'ci=true' => 'CI/Y',
- 'ci=y' => 'CI/Y',
- 'ci=yes' => 'CI/Y',
- 'cjkcompatibility' => 'Blk/CJKCompa',
- 'cjkcompatibilityforms' => 'Blk/CJKComp2',
- 'cjkcompatibilityideographs' => 'Blk/CJKComp3',
- 'cjkcompatibilityideographssupplement' => 'Blk/CJKComp4',
- 'cjkradicalssupplement' => 'Blk/CJKRadic',
- 'cjkstrokes' => 'Blk/CJKStrok',
- 'cjksymbolsandpunctuation' => 'Blk/CJKSymbo',
- 'cjkunifiedideographs' => 'Blk/CJKUnifi',
- 'cjkunifiedideographsextensiona' => 'Blk/CJKUnif2',
- 'cjkunifiedideographsextensionb' => 'Blk/CJKUnif3',
- 'cjkunifiedideographsextensionc' => 'Blk/CJKUnif4',
- 'cjkunifiedideographsextensiond' => 'Blk/CJKUnif5',
- 'closepunctuation' => 'Gc/Pe',
- 'cn' => 'Gc/Cn',
- 'cntrl' => 'Gc/Cc',
- 'co' => 'Gc/Co',
- 'combiningdiacriticalmarks' => 'Blk/Combini3',
- 'combiningdiacriticalmarksforsymbols' => 'Blk/Combini2',
- 'combiningdiacriticalmarkssupplement' => 'Blk/Combini4',
- 'combininghalfmarks' => 'Blk/Combinin',
- 'combiningmarksforsymbols' => 'Blk/Combini2',
- 'common' => 'Sc/Zyyy',
- 'commonindicnumberforms' => 'Blk/CommonIn',
- 'compex' => 'CompEx/Y',
- 'compex=f' => 'CompEx/N',
- 'compex=false' => 'CompEx/N',
- 'compex=n' => 'CompEx/N',
- 'compex=no' => 'CompEx/N',
- 'compex=t' => 'CompEx/Y',
- 'compex=true' => 'CompEx/Y',
- 'compex=y' => 'CompEx/Y',
- 'compex=yes' => 'CompEx/Y',
- 'compositionexclusion' => 'CE/Y',
- 'connectorpunctuation' => 'WB/EX',
- 'control' => 'Gc/Cc',
- 'controlpictures' => 'Blk/ControlP',
- 'copt' => 'Sc/Copt',
- 'coptic' => 'Sc/Copt',
- 'countingrodnumerals' => 'Blk/Counting',
- 'cprt' => 'Sc/Cprt',
- 'cs' => 'Gc/Cs',
- 'cuneiform' => 'Sc/Xsux',
- 'cuneiformnumbersandpunctuation' => 'Blk/Cuneifo2',
- 'currencysymbol' => 'Gc/Sc',
- 'currencysymbols' => 'Blk/Currency',
- 'cwcf' => 'CWCF/Y',
- 'cwcf=f' => 'CWCF/N',
- 'cwcf=false' => 'CWCF/N',
- 'cwcf=n' => 'CWCF/N',
- 'cwcf=no' => 'CWCF/N',
- 'cwcf=t' => 'CWCF/Y',
- 'cwcf=true' => 'CWCF/Y',
- 'cwcf=y' => 'CWCF/Y',
- 'cwcf=yes' => 'CWCF/Y',
- 'cwcm' => 'CWCM/Y',
- 'cwcm=f' => 'CWCM/N',
- 'cwcm=false' => 'CWCM/N',
- 'cwcm=n' => 'CWCM/N',
- 'cwcm=no' => 'CWCM/N',
- 'cwcm=t' => 'CWCM/Y',
- 'cwcm=true' => 'CWCM/Y',
- 'cwcm=y' => 'CWCM/Y',
- 'cwcm=yes' => 'CWCM/Y',
- 'cwkcf' => 'CWKCF/Y',
- 'cwkcf=f' => 'CWKCF/N',
- 'cwkcf=false' => 'CWKCF/N',
- 'cwkcf=n' => 'CWKCF/N',
- 'cwkcf=no' => 'CWKCF/N',
- 'cwkcf=t' => 'CWKCF/Y',
- 'cwkcf=true' => 'CWKCF/Y',
- 'cwkcf=y' => 'CWKCF/Y',
- 'cwkcf=yes' => 'CWKCF/Y',
- 'cwl' => 'CWL/Y',
- 'cwl=f' => 'CWL/N',
- 'cwl=false' => 'CWL/N',
- 'cwl=n' => 'CWL/N',
- 'cwl=no' => 'CWL/N',
- 'cwl=t' => 'CWL/Y',
- 'cwl=true' => 'CWL/Y',
- 'cwl=y' => 'CWL/Y',
- 'cwl=yes' => 'CWL/Y',
- 'cwt' => 'CWT/Y',
- 'cwt=f' => 'CWT/N',
- 'cwt=false' => 'CWT/N',
- 'cwt=n' => 'CWT/N',
- 'cwt=no' => 'CWT/N',
- 'cwt=t' => 'CWT/Y',
- 'cwt=true' => 'CWT/Y',
- 'cwt=y' => 'CWT/Y',
- 'cwt=yes' => 'CWT/Y',
- 'cwu' => 'CWU/Y',
- 'cwu=f' => 'CWU/N',
- 'cwu=false' => 'CWU/N',
- 'cwu=n' => 'CWU/N',
- 'cwu=no' => 'CWU/N',
- 'cwu=t' => 'CWU/Y',
- 'cwu=true' => 'CWU/Y',
- 'cwu=y' => 'CWU/Y',
- 'cwu=yes' => 'CWU/Y',
- 'cypriot' => 'Sc/Cprt',
- 'cypriotsyllabary' => 'Blk/CypriotS',
- 'cyrillic' => 'Sc/Cyrl',
- 'cyrillicextendeda' => 'Blk/Cyrilli2',
- 'cyrillicextendedb' => 'Blk/Cyrilli3',
- 'cyrillicsupplement' => 'Blk/Cyrilli4',
- 'cyrillicsupplementary' => 'Blk/Cyrilli4',
- 'cyrl' => 'Sc/Cyrl',
- 'dash' => 'Dash/Y',
- 'dash=f' => 'Dash/N',
- 'dash=false' => 'Dash/N',
- 'dash=n' => 'Dash/N',
- 'dash=no' => 'Dash/N',
- 'dash=t' => 'Dash/Y',
- 'dash=true' => 'Dash/Y',
- 'dash=y' => 'Dash/Y',
- 'dash=yes' => 'Dash/Y',
- 'dashpunctuation' => 'Gc/Pd',
- 'decimalnumber' => 'Nt/De',
- 'defaultignorablecodepoint' => 'DI/Y',
- 'dep' => 'Dep/Y',
- 'dep=f' => 'Dep/N',
- 'dep=false' => 'Dep/N',
- 'dep=n' => 'Dep/N',
- 'dep=no' => 'Dep/N',
- 'dep=t' => 'Dep/Y',
- 'dep=true' => 'Dep/Y',
- 'dep=y' => 'Dep/Y',
- 'dep=yes' => 'Dep/Y',
- 'deprecated' => 'Dep/Y',
- 'deseret' => 'Blk/Deseret',
- 'deva' => 'Sc/Deva',
- 'devanagari' => 'Sc/Deva',
- 'devanagariextended' => 'Blk/Devanag2',
- 'di' => 'DI/Y',
- 'di=f' => 'DI/N',
- 'di=false' => 'DI/N',
- 'di=n' => 'DI/N',
- 'di=no' => 'DI/N',
- 'di=t' => 'DI/Y',
- 'di=true' => 'DI/Y',
- 'di=y' => 'DI/Y',
- 'di=yes' => 'DI/Y',
- 'dia' => 'Dia/Y',
- 'dia=f' => 'Dia/N',
- 'dia=false' => 'Dia/N',
- 'dia=n' => 'Dia/N',
- 'dia=no' => 'Dia/N',
- 'dia=t' => 'Dia/Y',
- 'dia=true' => 'Dia/Y',
- 'dia=y' => 'Dia/Y',
- 'dia=yes' => 'Dia/Y',
- 'diacritic' => 'Dia/Y',
- 'digit' => 'Nt/De',
- 'dingbats' => 'Blk/Dingbats',
- 'dominotiles' => 'Blk/DominoTi',
- 'dsrt' => 'Blk/Deseret',
- 'dt=can' => 'NFDQC/N',
- 'dt=canonical' => 'NFDQC/N',
- 'dt=circle' => 'Dt/Enc',
- 'dt=com' => 'Dt/Com',
- 'dt=compat' => 'Dt/Com',
- 'dt=enc' => 'Dt/Enc',
- 'dt=fin' => 'Dt/Fin',
- 'dt=final' => 'Dt/Fin',
- 'dt=font' => 'Dt/Font',
- 'dt=fra' => 'Dt/Fra',
- 'dt=fraction' => 'Dt/Fra',
- 'dt=init' => 'Dt/Init',
- 'dt=initial' => 'Dt/Init',
- 'dt=iso' => 'Dt/Iso',
- 'dt=isolated' => 'Dt/Iso',
- 'dt=med' => 'Dt/Med',
- 'dt=medial' => 'Dt/Med',
- 'dt=nar' => 'Dt/Nar',
- 'dt=narrow' => 'Dt/Nar',
- 'dt=nb' => 'Dt/Nb',
- 'dt=nobreak' => 'Dt/Nb',
- 'dt=noncanon' => 'Dt/NonCanon',
- 'dt=noncanonical' => 'Dt/NonCanon',
- 'dt=none' => 'Dt/None',
- 'dt=small' => 'Dt/Sml',
- 'dt=sml' => 'Dt/Sml',
- 'dt=sqr' => 'Dt/Sqr',
- 'dt=square' => 'Dt/Sqr',
- 'dt=sub' => 'Dt/Sub',
- 'dt=sup' => 'Dt/Sup',
- 'dt=super' => 'Dt/Sup',
- 'dt=vert' => 'Dt/Vert',
- 'dt=vertical' => 'Dt/Vert',
- 'dt=wide' => 'Ea/F',
- 'ea=a' => 'Ea/A',
- 'ea=ambiguous' => 'Ea/A',
- 'ea=f' => 'Ea/F',
- 'ea=fullwidth' => 'Ea/F',
- 'ea=h' => 'Ea/H',
- 'ea=halfwidth' => 'Ea/H',
- 'ea=n' => 'Ea/N',
- 'ea=na' => 'Ea/Na',
- 'ea=narrow' => 'Ea/Na',
- 'ea=neutral' => 'Ea/N',
- 'ea=w' => 'Ea/W',
- 'ea=wide' => 'Ea/W',
- 'egyp' => 'Sc/Egyp',
- 'egyptianhieroglyphs' => 'Sc/Egyp',
- 'emoticons' => 'Blk/Emoticon',
- 'enclosedalphanumerics' => 'Blk/Enclosed',
- 'enclosedalphanumericsupplement' => 'Blk/Enclose4',
- 'enclosedcjklettersandmonths' => 'Blk/Enclose2',
- 'enclosedideographicsupplement' => 'Blk/Enclose3',
- 'enclosingmark' => 'Gc/Me',
- 'ethi' => 'Sc/Ethi',
- 'ethiopic' => 'Sc/Ethi',
- 'ethiopicextended' => 'Blk/Ethiopi2',
- 'ethiopicextendeda' => 'Blk/Ethiopi3',
- 'ethiopicsupplement' => 'Blk/Ethiopi4',
- 'ext' => 'Ext/Y',
- 'ext=f' => 'Ext/N',
- 'ext=false' => 'Ext/N',
- 'ext=n' => 'Ext/N',
- 'ext=no' => 'Ext/N',
- 'ext=t' => 'Ext/Y',
- 'ext=true' => 'Ext/Y',
- 'ext=y' => 'Ext/Y',
- 'ext=yes' => 'Ext/Y',
- 'extender' => 'Ext/Y',
- 'finalpunctuation' => 'Gc/Pf',
- 'format' => 'Gc/Cf',
- 'fullcompositionexclusion' => 'CompEx/Y',
- 'gc=c' => 'Gc/C',
- 'gc=casedletter' => 'Gc/LC',
- 'gc=cc' => 'Gc/Cc',
- 'gc=cf' => 'Gc/Cf',
- 'gc=closepunctuation' => 'Gc/Pe',
- 'gc=cn' => 'Gc/Cn',
- 'gc=cntrl' => 'Gc/Cc',
- 'gc=co' => 'Gc/Co',
- 'gc=connectorpunctuation' => 'WB/EX',
- 'gc=control' => 'Gc/Cc',
- 'gc=cs' => 'Gc/Cs',
- 'gc=currencysymbol' => 'Gc/Sc',
- 'gc=dashpunctuation' => 'Gc/Pd',
- 'gc=decimalnumber' => 'Nt/De',
- 'gc=digit' => 'Nt/De',
- 'gc=enclosingmark' => 'Gc/Me',
- 'gc=finalpunctuation' => 'Gc/Pf',
- 'gc=format' => 'Gc/Cf',
- 'gc=initialpunctuation' => 'Gc/Pi',
- 'gc=l' => 'Gc/L',
- 'gc=l&' => 'Gc/LC',
- 'gc=l_' => 'Gc/LC',
- 'gc=lc' => 'Gc/LC',
- 'gc=letter' => 'Gc/L',
- 'gc=letternumber' => 'Gc/Nl',
- 'gc=lineseparator' => 'Gc/Zl',
- 'gc=ll' => 'Gc/Ll',
- 'gc=lm' => 'Gc/Lm',
- 'gc=lo' => 'Gc/Lo',
- 'gc=lowercaseletter' => 'Gc/Ll',
- 'gc=lt' => 'Perl/Title',
- 'gc=lu' => 'Gc/Lu',
- 'gc=m' => 'Gc/M',
- 'gc=mark' => 'Gc/M',
- 'gc=mathsymbol' => 'Gc/Sm',
- 'gc=mc' => 'Gc/Mc',
- 'gc=me' => 'Gc/Me',
- 'gc=mn' => 'Gc/Mn',
- 'gc=modifierletter' => 'Gc/Lm',
- 'gc=modifiersymbol' => 'Gc/Sk',
- 'gc=n' => 'Gc/N',
- 'gc=nd' => 'Nt/De',
- 'gc=nl' => 'Gc/Nl',
- 'gc=no' => 'Gc/No',
- 'gc=nonspacingmark' => 'Gc/Mn',
- 'gc=number' => 'Gc/N',
- 'gc=openpunctuation' => 'Gc/Ps',
- 'gc=other' => 'Gc/C',
- 'gc=otherletter' => 'Gc/Lo',
- 'gc=othernumber' => 'Gc/No',
- 'gc=otherpunctuation' => 'Gc/Po',
- 'gc=othersymbol' => 'Gc/So',
- 'gc=p' => 'Gc/P',
- 'gc=paragraphseparator' => 'Gc/Zp',
- 'gc=pc' => 'WB/EX',
- 'gc=pd' => 'Gc/Pd',
- 'gc=pe' => 'Gc/Pe',
- 'gc=pf' => 'Gc/Pf',
- 'gc=pi' => 'Gc/Pi',
- 'gc=po' => 'Gc/Po',
- 'gc=privateuse' => 'Gc/Co',
- 'gc=ps' => 'Gc/Ps',
- 'gc=punct' => 'Gc/P',
- 'gc=punctuation' => 'Gc/P',
- 'gc=s' => 'Gc/S',
- 'gc=sc' => 'Gc/Sc',
- 'gc=separator' => 'Gc/Z',
- 'gc=sk' => 'Gc/Sk',
- 'gc=sm' => 'Gc/Sm',
- 'gc=so' => 'Gc/So',
- 'gc=spaceseparator' => 'Gc/Zs',
- 'gc=spacingmark' => 'Gc/Mc',
- 'gc=surrogate' => 'Gc/Cs',
- 'gc=symbol' => 'Gc/S',
- 'gc=titlecaseletter' => 'Perl/Title',
- 'gc=unassigned' => 'Gc/Cn',
- 'gc=uppercaseletter' => 'Gc/Lu',
- 'gc=z' => 'Gc/Z',
- 'gc=zl' => 'Gc/Zl',
- 'gc=zp' => 'Gc/Zp',
- 'gc=zs' => 'Gc/Zs',
- 'gcb=cn' => 'GCB/CN',
- 'gcb=control' => 'GCB/CN',
- 'gcb=cr' => 'GCB/CR',
- 'gcb=ex' => 'GCB/EX',
- 'gcb=extend' => 'GCB/EX',
- 'gcb=l' => 'GCB/L',
- 'gcb=lf' => 'GCB/LF',
- 'gcb=lv' => 'GCB/LV',
- 'gcb=lvt' => 'GCB/LVT',
- 'gcb=other' => 'GCB/XX',
- 'gcb=pp' => 'GCB/PP',
- 'gcb=prepend' => 'GCB/PP',
- 'gcb=sm' => 'GCB/SM',
- 'gcb=spacingmark' => 'GCB/SM',
- 'gcb=t' => 'GCB/T',
- 'gcb=v' => 'GCB/V',
- 'gcb=xx' => 'GCB/XX',
- 'generalpunctuation' => 'Blk/GeneralP',
- 'geometricshapes' => 'Blk/Geometri',
- 'geor' => 'Sc/Geor',
- 'georgian' => 'Sc/Geor',
- 'georgiansupplement' => 'Blk/Georgia2',
- 'glag' => 'Sc/Glag',
- 'glagolitic' => 'Sc/Glag',
- 'goth' => 'Sc/Goth',
- 'gothic' => 'Sc/Goth',
- 'graph' => 'Perl/Graph',
- 'graphemebase' => 'GrBase/Y',
- 'graphemeextend' => 'GCB/EX',
- 'grbase' => 'GrBase/Y',
- 'grbase=f' => 'GrBase/N',
- 'grbase=false' => 'GrBase/N',
- 'grbase=n' => 'GrBase/N',
- 'grbase=no' => 'GrBase/N',
- 'grbase=t' => 'GrBase/Y',
- 'grbase=true' => 'GrBase/Y',
- 'grbase=y' => 'GrBase/Y',
- 'grbase=yes' => 'GrBase/Y',
- 'greek' => 'Sc/Grek',
- 'greekandcoptic' => 'Blk/Greek',
- 'greekextended' => 'Blk/GreekExt',
- 'grek' => 'Sc/Grek',
- 'grext' => 'GCB/EX',
- 'grext=f' => 'GrExt/N',
- 'grext=false' => 'GrExt/N',
- 'grext=n' => 'GrExt/N',
- 'grext=no' => 'GrExt/N',
- 'grext=t' => 'GCB/EX',
- 'grext=true' => 'GCB/EX',
- 'grext=y' => 'GCB/EX',
- 'grext=yes' => 'GCB/EX',
- 'gujarati' => 'Sc/Gujr',
- 'gujr' => 'Sc/Gujr',
- 'gurmukhi' => 'Sc/Guru',
- 'guru' => 'Sc/Guru',
- 'halfwidthandfullwidthforms' => 'Blk/Halfwidt',
- 'han' => 'Sc/Han',
- 'hang' => 'Sc/Hang',
- 'hangul' => 'Sc/Hang',
- 'hangulcompatibilityjamo' => 'Blk/HangulCo',
- 'hanguljamo' => 'Blk/HangulJa',
- 'hanguljamoextendeda' => 'Blk/HangulJ2',
- 'hanguljamoextendedb' => 'Blk/HangulJ3',
- 'hangulsyllables' => 'Blk/HangulSy',
- 'hani' => 'Sc/Han',
- 'hano' => 'Sc/Hano',
- 'hanunoo' => 'Sc/Hano',
- 'hebr' => 'Sc/Hebr',
- 'hebrew' => 'Sc/Hebr',
- 'hex' => 'Hex/Y',
- 'hex=f' => 'Hex/N',
- 'hex=false' => 'Hex/N',
- 'hex=n' => 'Hex/N',
- 'hex=no' => 'Hex/N',
- 'hex=t' => 'Hex/Y',
- 'hex=true' => 'Hex/Y',
- 'hex=y' => 'Hex/Y',
- 'hex=yes' => 'Hex/Y',
- 'hexdigit' => 'Hex/Y',
- 'highprivateusesurrogates' => 'Blk/HighPriv',
- 'highsurrogates' => 'Blk/HighSurr',
- 'hira' => 'Sc/Hira',
- 'hiragana' => 'Sc/Hira',
- 'horizspace' => 'Perl/Blank',
- 'hst=l' => 'GCB/L',
- 'hst=leadingjamo' => 'GCB/L',
- 'hst=lv' => 'GCB/LV',
- 'hst=lvsyllable' => 'GCB/LV',
- 'hst=lvt' => 'GCB/LVT',
- 'hst=lvtsyllable' => 'GCB/LVT',
- 'hst=na' => 'Hst/NA',
- 'hst=notapplicable' => 'Hst/NA',
- 'hst=t' => 'GCB/T',
- 'hst=trailingjamo' => 'GCB/T',
- 'hst=v' => 'GCB/V',
- 'hst=voweljamo' => 'GCB/V',
- 'hyphen' => 'Hyphen/Y',
- 'hyphen=f' => 'Hyphen/N',
- 'hyphen=false' => 'Hyphen/N',
- 'hyphen=n' => 'Hyphen/N',
- 'hyphen=no' => 'Hyphen/N',
- 'hyphen=t' => 'Hyphen/Y',
- 'hyphen=true' => 'Hyphen/Y',
- 'hyphen=y' => 'Hyphen/Y',
- 'hyphen=yes' => 'Hyphen/Y',
- 'idc' => 'IDC/Y',
- 'idc=f' => 'IDC/N',
- 'idc=false' => 'IDC/N',
- 'idc=n' => 'IDC/N',
- 'idc=no' => 'IDC/N',
- 'idc=t' => 'IDC/Y',
- 'idc=true' => 'IDC/Y',
- 'idc=y' => 'IDC/Y',
- 'idc=yes' => 'IDC/Y',
- 'idcontinue' => 'IDC/Y',
- 'ideo' => 'Ideo/Y',
- 'ideo=f' => 'Ideo/N',
- 'ideo=false' => 'Ideo/N',
- 'ideo=n' => 'Ideo/N',
- 'ideo=no' => 'Ideo/N',
- 'ideo=t' => 'Ideo/Y',
- 'ideo=true' => 'Ideo/Y',
- 'ideo=y' => 'Ideo/Y',
- 'ideo=yes' => 'Ideo/Y',
- 'ideographic' => 'Ideo/Y',
- 'ideographicdescriptioncharacters' => 'Blk/Ideograp',
- 'ids' => 'IDS/Y',
- 'ids=f' => 'IDS/N',
- 'ids=false' => 'IDS/N',
- 'ids=n' => 'IDS/N',
- 'ids=no' => 'IDS/N',
- 'ids=t' => 'IDS/Y',
- 'ids=true' => 'IDS/Y',
- 'ids=y' => 'IDS/Y',
- 'ids=yes' => 'IDS/Y',
- 'idsb' => 'IDSB/Y',
- 'idsb=f' => 'IDSB/N',
- 'idsb=false' => 'IDSB/N',
- 'idsb=n' => 'IDSB/N',
- 'idsb=no' => 'IDSB/N',
- 'idsb=t' => 'IDSB/Y',
- 'idsb=true' => 'IDSB/Y',
- 'idsb=y' => 'IDSB/Y',
- 'idsb=yes' => 'IDSB/Y',
- 'idsbinaryoperator' => 'IDSB/Y',
- 'idst' => 'IDST/Y',
- 'idst=f' => 'IDST/N',
- 'idst=false' => 'IDST/N',
- 'idst=n' => 'IDST/N',
- 'idst=no' => 'IDST/N',
- 'idst=t' => 'IDST/Y',
- 'idst=true' => 'IDST/Y',
- 'idst=y' => 'IDST/Y',
- 'idst=yes' => 'IDST/Y',
- 'idstart' => 'IDS/Y',
- 'idstrinaryoperator' => 'IDST/Y',
- 'imperialaramaic' => 'Sc/Armi',
- 'in=unassigned' => 'Age/Unassign',
- 'inaegeannumbers' => 'Blk/AegeanNu',
- 'inalchemicalsymbols' => 'Blk/Alchemic',
- 'inalphabeticpresentationforms' => 'Blk/Alphabet',
- 'inancientgreekmusicalnotation' => 'Blk/Ancient2',
- 'inancientgreeknumbers' => 'Blk/AncientG',
- 'inancientsymbols' => 'Blk/AncientS',
- 'inarabic' => 'Blk/Arabic',
- 'inarabicpresentationformsa' => 'Blk/ArabicPr',
- 'inarabicpresentationformsb' => 'Blk/ArabicP2',
- 'inarabicsupplement' => 'Blk/ArabicSu',
- 'inarmenian' => 'Blk/Armenian',
- 'inarrows' => 'Blk/Arrows',
- 'inascii' => 'Blk/ASCII',
- 'inavestan' => 'Blk/Avestan',
- 'inbalinese' => 'Blk/Balinese',
- 'inbamum' => 'Blk/Bamum',
- 'inbamumsupplement' => 'Blk/BamumSup',
- 'inbasiclatin' => 'Blk/ASCII',
- 'inbatak' => 'Blk/Batak',
- 'inbengali' => 'Blk/Bengali',
- 'inblockelements' => 'Blk/BlockEle',
- 'inbopomofo' => 'Blk/Bopomofo',
- 'inbopomofoextended' => 'Blk/Bopomof2',
- 'inboxdrawing' => 'Blk/BoxDrawi',
- 'inbrahmi' => 'Blk/Brahmi',
- 'inbraillepatterns' => 'Blk/BrailleP',
- 'inbuginese' => 'Blk/Buginese',
- 'inbuhid' => 'Blk/Buhid',
- 'inbyzantinemusicalsymbols' => 'Blk/Byzantin',
- 'incanadiansyllabics' => 'Blk/Canadian',
- 'incarian' => 'Blk/Carian',
- 'incham' => 'Blk/Cham',
- 'incherokee' => 'Blk/Cherokee',
- 'incjkcompatibility' => 'Blk/CJKCompa',
- 'incjkcompatibilityforms' => 'Blk/CJKComp2',
- 'incjkcompatibilityideographs' => 'Blk/CJKComp3',
- 'incjkcompatibilityideographssupplement' => 'Blk/CJKComp4',
- 'incjkradicalssupplement' => 'Blk/CJKRadic',
- 'incjkstrokes' => 'Blk/CJKStrok',
- 'incjksymbolsandpunctuation' => 'Blk/CJKSymbo',
- 'incjkunifiedideographs' => 'Blk/CJKUnifi',
- 'incjkunifiedideographsextensiona' => 'Blk/CJKUnif2',
- 'incjkunifiedideographsextensionb' => 'Blk/CJKUnif3',
- 'incjkunifiedideographsextensionc' => 'Blk/CJKUnif4',
- 'incjkunifiedideographsextensiond' => 'Blk/CJKUnif5',
- 'incombiningdiacriticalmarks' => 'Blk/Combini3',
- 'incombiningdiacriticalmarksforsymbols' => 'Blk/Combini2',
- 'incombiningdiacriticalmarkssupplement' => 'Blk/Combini4',
- 'incombininghalfmarks' => 'Blk/Combinin',
- 'incombiningmarksforsymbols' => 'Blk/Combini2',
- 'incommonindicnumberforms' => 'Blk/CommonIn',
- 'incontrolpictures' => 'Blk/ControlP',
- 'incoptic' => 'Blk/Coptic',
- 'incountingrodnumerals' => 'Blk/Counting',
- 'incuneiform' => 'Blk/Cuneifor',
- 'incuneiformnumbersandpunctuation' => 'Blk/Cuneifo2',
- 'incurrencysymbols' => 'Blk/Currency',
- 'incypriotsyllabary' => 'Blk/CypriotS',
- 'incyrillic' => 'Blk/Cyrillic',
- 'incyrillicextendeda' => 'Blk/Cyrilli2',
- 'incyrillicextendedb' => 'Blk/Cyrilli3',
- 'incyrillicsupplement' => 'Blk/Cyrilli4',
- 'incyrillicsupplementary' => 'Blk/Cyrilli4',
- 'indeseret' => 'Blk/Deseret',
- 'indevanagari' => 'Blk/Devanaga',
- 'indevanagariextended' => 'Blk/Devanag2',
- 'indingbats' => 'Blk/Dingbats',
- 'indominotiles' => 'Blk/DominoTi',
- 'inegyptianhieroglyphs' => 'Blk/Egyptian',
- 'inemoticons' => 'Blk/Emoticon',
- 'inenclosedalphanumerics' => 'Blk/Enclosed',
- 'inenclosedalphanumericsupplement' => 'Blk/Enclose4',
- 'inenclosedcjklettersandmonths' => 'Blk/Enclose2',
- 'inenclosedideographicsupplement' => 'Blk/Enclose3',
- 'inethiopic' => 'Blk/Ethiopic',
- 'inethiopicextended' => 'Blk/Ethiopi2',
- 'inethiopicextendeda' => 'Blk/Ethiopi3',
- 'inethiopicsupplement' => 'Blk/Ethiopi4',
- 'ingeneralpunctuation' => 'Blk/GeneralP',
- 'ingeometricshapes' => 'Blk/Geometri',
- 'ingeorgian' => 'Blk/Georgian',
- 'ingeorgiansupplement' => 'Blk/Georgia2',
- 'inglagolitic' => 'Blk/Glagolit',
- 'ingothic' => 'Blk/Gothic',
- 'ingreek' => 'Blk/Greek',
- 'ingreekandcoptic' => 'Blk/Greek',
- 'ingreekextended' => 'Blk/GreekExt',
- 'ingujarati' => 'Blk/Gujarati',
- 'ingurmukhi' => 'Blk/Gurmukhi',
- 'inhalfwidthandfullwidthforms' => 'Blk/Halfwidt',
- 'inhangulcompatibilityjamo' => 'Blk/HangulCo',
- 'inhanguljamo' => 'Blk/HangulJa',
- 'inhanguljamoextendeda' => 'Blk/HangulJ2',
- 'inhanguljamoextendedb' => 'Blk/HangulJ3',
- 'inhangulsyllables' => 'Blk/HangulSy',
- 'inhanunoo' => 'Blk/Hanunoo',
- 'inhebrew' => 'Blk/Hebrew',
- 'inherited' => 'Sc/Zinh',
- 'inhighprivateusesurrogates' => 'Blk/HighPriv',
- 'inhighsurrogates' => 'Blk/HighSurr',
- 'inhiragana' => 'Blk/Hiragana',
- 'inideographicdescriptioncharacters' => 'Blk/Ideograp',
- 'inimperialaramaic' => 'Blk/Imperial',
- 'ininscriptionalpahlavi' => 'Blk/Inscript',
- 'ininscriptionalparthian' => 'Blk/Inscrip2',
- 'inipaextensions' => 'Blk/IPAExten',
- 'initialpunctuation' => 'Gc/Pi',
- 'injavanese' => 'Blk/Javanese',
- 'inkaithi' => 'Blk/Kaithi',
- 'inkanasupplement' => 'Blk/KanaSupp',
- 'inkanbun' => 'Blk/Kanbun',
- 'inkangxiradicals' => 'Blk/KangxiRa',
- 'inkannada' => 'Blk/Kannada',
- 'inkatakana' => 'Blk/Katakana',
- 'inkatakanaphoneticextensions' => 'Blk/Katakan2',
- 'inkayahli' => 'Blk/KayahLi',
- 'inkharoshthi' => 'Blk/Kharosht',
- 'inkhmer' => 'Blk/Khmer',
- 'inkhmersymbols' => 'Blk/KhmerSym',
- 'inlao' => 'Blk/Lao',
- 'inlatin1' => 'Blk/Latin1',
- 'inlatin1supplement' => 'Blk/Latin1',
- 'inlatinextendeda' => 'Blk/LatinExt',
- 'inlatinextendedadditional' => 'Blk/LatinEx5',
- 'inlatinextendedb' => 'Blk/LatinEx2',
- 'inlatinextendedc' => 'Blk/LatinEx3',
- 'inlatinextendedd' => 'Blk/LatinEx4',
- 'inlepcha' => 'Blk/Lepcha',
- 'inletterlikesymbols' => 'Blk/Letterli',
- 'inlimbu' => 'Blk/Limbu',
- 'inlinearbideograms' => 'Blk/LinearBI',
- 'inlinearbsyllabary' => 'Blk/LinearBS',
- 'inlisu' => 'Blk/Lisu',
- 'inlowsurrogates' => 'Blk/LowSurro',
- 'inlycian' => 'Blk/Lycian',
- 'inlydian' => 'Blk/Lydian',
- 'inmahjongtiles' => 'Blk/MahjongT',
- 'inmalayalam' => 'Blk/Malayala',
- 'inmandaic' => 'Blk/Mandaic',
- 'inmathematicalalphanumericsymbols' => 'Blk/Mathema2',
- 'inmathematicaloperators' => 'Blk/Mathemat',
- 'inmeeteimayek' => 'Blk/MeeteiMa',
- 'inmiscellaneousmathematicalsymbolsa' => 'Blk/Miscell4',
- 'inmiscellaneousmathematicalsymbolsb' => 'Blk/Miscell5',
- 'inmiscellaneoussymbols' => 'Blk/Miscella',
- 'inmiscellaneoussymbolsandarrows' => 'Blk/Miscell3',
- 'inmiscellaneoussymbolsandpictographs' => 'Blk/Miscell6',
- 'inmiscellaneoustechnical' => 'Blk/Miscell2',
- 'inmodifiertoneletters' => 'Blk/Modifier',
- 'inmongolian' => 'Blk/Mongolia',
- 'inmusicalsymbols' => 'Blk/MusicalS',
- 'inmyanmar' => 'Blk/Myanmar',
- 'inmyanmarextendeda' => 'Blk/MyanmarE',
- 'innewtailue' => 'Blk/NewTaiLu',
- 'innko' => 'Blk/NKo',
- 'innoblock' => 'Blk/NoBlock',
- 'innumberforms' => 'Blk/NumberFo',
- 'inogham' => 'Blk/Ogham',
- 'inolchiki' => 'Blk/OlChiki',
- 'inolditalic' => 'Blk/OldItali',
- 'inoldpersian' => 'Blk/OldPersi',
- 'inoldsoutharabian' => 'Blk/OldSouth',
- 'inoldturkic' => 'Blk/OldTurki',
- 'inopticalcharacterrecognition' => 'Blk/OpticalC',
- 'inoriya' => 'Blk/Oriya',
- 'inosmanya' => 'Blk/Osmanya',
- 'inphagspa' => 'Blk/PhagsPa',
- 'inphaistosdisc' => 'Blk/Phaistos',
- 'inphoenician' => 'Blk/Phoenici',
- 'inphoneticextensions' => 'Blk/Phonetic',
- 'inphoneticextensionssupplement' => 'Blk/Phoneti2',
- 'inplayingcards' => 'Blk/PlayingC',
- 'inprivateuse' => 'Blk/PrivateU',
- 'inprivateusearea' => 'Blk/PrivateU',
- 'inrejang' => 'Blk/Rejang',
- 'inruminumeralsymbols' => 'Blk/RumiNume',
- 'inrunic' => 'Blk/Runic',
- 'insamaritan' => 'Blk/Samarita',
- 'insaurashtra' => 'Blk/Saurasht',
- 'inscriptionalpahlavi' => 'Sc/Phli',
- 'inscriptionalparthian' => 'Sc/Prti',
- 'inshavian' => 'Blk/Shavian',
- 'insinhala' => 'Blk/Sinhala',
- 'insmallformvariants' => 'Blk/SmallFor',
- 'inspacingmodifierletters' => 'Blk/SpacingM',
- 'inspecials' => 'Blk/Specials',
- 'insundanese' => 'Blk/Sundanes',
- 'insuperscriptsandsubscripts' => 'Blk/Superscr',
- 'insupplementalarrowsa' => 'Blk/Suppleme',
- 'insupplementalarrowsb' => 'Blk/Supplem2',
- 'insupplementalmathematicaloperators' => 'Blk/Supplem6',
- 'insupplementalpunctuation' => 'Blk/Supplem3',
- 'insupplementaryprivateuseareaa' => 'Blk/Supplem4',
- 'insupplementaryprivateuseareab' => 'Blk/Supplem5',
- 'insylotinagri' => 'Blk/SylotiNa',
- 'insyriac' => 'Blk/Syriac',
- 'intagalog' => 'Blk/Tagalog',
- 'intagbanwa' => 'Blk/Tagbanwa',
- 'intags' => 'Blk/Tags',
- 'intaile' => 'Blk/TaiLe',
- 'intaitham' => 'Blk/TaiTham',
- 'intaiviet' => 'Blk/TaiViet',
- 'intaixuanjingsymbols' => 'Blk/TaiXuanJ',
- 'intamil' => 'Blk/Tamil',
- 'intelugu' => 'Blk/Telugu',
- 'inthaana' => 'Blk/Thaana',
- 'inthai' => 'Blk/Thai',
- 'intibetan' => 'Blk/Tibetan',
- 'intifinagh' => 'Blk/Tifinagh',
- 'intransportandmapsymbols' => 'Blk/Transpor',
- 'inugaritic' => 'Blk/Ugaritic',
- 'inunifiedcanadianaboriginalsyllabics' => 'Blk/Canadian',
- 'inunifiedcanadianaboriginalsyllabicsextended' => 'Blk/UnifiedC',
- 'invai' => 'Blk/Vai',
- 'invariationselectors' => 'Blk/Variatio',
- 'invariationselectorssupplement' => 'Blk/Variati2',
- 'invedicextensions' => 'Blk/VedicExt',
- 'inverticalforms' => 'Blk/Vertical',
- 'inyijinghexagramsymbols' => 'Blk/YijingHe',
- 'inyiradicals' => 'Blk/YiRadica',
- 'inyisyllables' => 'Blk/YiSyllab',
- 'ipaextensions' => 'Blk/IPAExten',
- 'isaegeannumbers' => 'Blk/AegeanNu',
- 'isahex' => 'AHex/Y',
- 'isalchemicalsymbols' => 'Blk/Alchemic',
- 'isall' => 'Perl/Any',
- 'isalnum' => 'Perl/Alnum',
- 'isalpha' => 'Alpha/Y',
- 'isalphabetic' => 'Alpha/Y',
- 'isalphabeticpresentationforms' => 'Blk/Alphabet',
- 'isancientgreekmusicalnotation' => 'Blk/Ancient2',
- 'isancientgreeknumbers' => 'Blk/AncientG',
- 'isancientsymbols' => 'Blk/AncientS',
- 'isany' => 'Perl/Any',
- 'isarab' => 'Sc/Arab',
- 'isarabic' => 'Sc/Arab',
- 'isarabicpresentationformsa' => 'Blk/ArabicPr',
- 'isarabicpresentationformsb' => 'Blk/ArabicP2',
- 'isarabicsupplement' => 'Blk/ArabicSu',
- 'isarmenian' => 'Sc/Armn',
- 'isarmi' => 'Sc/Armi',
- 'isarmn' => 'Sc/Armn',
- 'isarrows' => 'Blk/Arrows',
- 'isascii' => 'Blk/ASCII',
- 'isasciihexdigit' => 'AHex/Y',
- 'isassigned' => 'Perl/Assigned',
- 'isavestan' => 'Sc/Avst',
- 'isavst' => 'Sc/Avst',
- 'isbali' => 'Sc/Bali',
- 'isbalinese' => 'Sc/Bali',
- 'isbamu' => 'Sc/Bamu',
- 'isbamum' => 'Sc/Bamu',
- 'isbamumsupplement' => 'Blk/BamumSup',
- 'isbasiclatin' => 'Blk/ASCII',
- 'isbatak' => 'Sc/Batk',
- 'isbatk' => 'Sc/Batk',
- 'isbeng' => 'Sc/Beng',
- 'isbengali' => 'Sc/Beng',
- 'isbidic' => 'BidiC/Y',
- 'isbidicontrol' => 'BidiC/Y',
- 'isbidim' => 'BidiM/Y',
- 'isbidimirrored' => 'BidiM/Y',
- 'isblank' => 'Perl/Blank',
- 'isblockelements' => 'Blk/BlockEle',
- 'isbopo' => 'Sc/Bopo',
- 'isbopomofo' => 'Sc/Bopo',
- 'isbopomofoextended' => 'Blk/Bopomof2',
- 'isboxdrawing' => 'Blk/BoxDrawi',
- 'isbrah' => 'Sc/Brah',
- 'isbrahmi' => 'Sc/Brah',
- 'isbrai' => 'Blk/BrailleP',
- 'isbraille' => 'Blk/BrailleP',
- 'isbraillepatterns' => 'Blk/BrailleP',
- 'isbugi' => 'Sc/Bugi',
- 'isbuginese' => 'Sc/Bugi',
- 'isbuhd' => 'Sc/Buhd',
- 'isbuhid' => 'Sc/Buhd',
- 'isbyzantinemusicalsymbols' => 'Blk/Byzantin',
- 'isc' => 'Gc/C',
- 'iscanadianaboriginal' => 'Sc/Cans',
- 'iscanadiansyllabics' => 'Blk/Canadian',
- 'iscans' => 'Sc/Cans',
- 'iscari' => 'Sc/Cari',
- 'iscarian' => 'Sc/Cari',
- 'iscased' => 'Cased/Y',
- 'iscasedletter' => 'Gc/LC',
- 'iscaseignorable' => 'CI/Y',
- 'iscc' => 'Gc/Cc',
- 'isce' => 'CE/Y',
- 'iscf' => 'Gc/Cf',
- 'ischam' => 'Sc/Cham',
- 'ischangeswhencasefolded' => 'CWCF/Y',
- 'ischangeswhencasemapped' => 'CWCM/Y',
- 'ischangeswhenlowercased' => 'CWL/Y',
- 'ischangeswhennfkccasefolded' => 'CWKCF/Y',
- 'ischangeswhentitlecased' => 'CWT/Y',
- 'ischangeswhenuppercased' => 'CWU/Y',
- 'ischer' => 'Sc/Cher',
- 'ischerokee' => 'Sc/Cher',
- 'isci' => 'CI/Y',
- 'iscjkcompatibility' => 'Blk/CJKCompa',
- 'iscjkcompatibilityforms' => 'Blk/CJKComp2',
- 'iscjkcompatibilityideographs' => 'Blk/CJKComp3',
- 'iscjkcompatibilityideographssupplement' => 'Blk/CJKComp4',
- 'iscjkradicalssupplement' => 'Blk/CJKRadic',
- 'iscjkstrokes' => 'Blk/CJKStrok',
- 'iscjksymbolsandpunctuation' => 'Blk/CJKSymbo',
- 'iscjkunifiedideographs' => 'Blk/CJKUnifi',
- 'iscjkunifiedideographsextensiona' => 'Blk/CJKUnif2',
- 'iscjkunifiedideographsextensionb' => 'Blk/CJKUnif3',
- 'iscjkunifiedideographsextensionc' => 'Blk/CJKUnif4',
- 'iscjkunifiedideographsextensiond' => 'Blk/CJKUnif5',
- 'isclosepunctuation' => 'Gc/Pe',
- 'iscn' => 'Gc/Cn',
- 'iscntrl' => 'Gc/Cc',
- 'isco' => 'Gc/Co',
- 'iscombiningdiacriticalmarks' => 'Blk/Combini3',
- 'iscombiningdiacriticalmarksforsymbols' => 'Blk/Combini2',
- 'iscombiningdiacriticalmarkssupplement' => 'Blk/Combini4',
- 'iscombininghalfmarks' => 'Blk/Combinin',
- 'iscombiningmarksforsymbols' => 'Blk/Combini2',
- 'iscommon' => 'Sc/Zyyy',
- 'iscommonindicnumberforms' => 'Blk/CommonIn',
- 'iscompex' => 'CompEx/Y',
- 'iscompositionexclusion' => 'CE/Y',
- 'isconnectorpunctuation' => 'WB/EX',
- 'iscontrol' => 'Gc/Cc',
- 'iscontrolpictures' => 'Blk/ControlP',
- 'iscopt' => 'Sc/Copt',
- 'iscoptic' => 'Sc/Copt',
- 'iscountingrodnumerals' => 'Blk/Counting',
- 'iscprt' => 'Sc/Cprt',
- 'iscs' => 'Gc/Cs',
- 'iscuneiform' => 'Sc/Xsux',
- 'iscuneiformnumbersandpunctuation' => 'Blk/Cuneifo2',
- 'iscurrencysymbol' => 'Gc/Sc',
- 'iscurrencysymbols' => 'Blk/Currency',
- 'iscwcf' => 'CWCF/Y',
- 'iscwcm' => 'CWCM/Y',
- 'iscwkcf' => 'CWKCF/Y',
- 'iscwl' => 'CWL/Y',
- 'iscwt' => 'CWT/Y',
- 'iscwu' => 'CWU/Y',
- 'iscypriot' => 'Sc/Cprt',
- 'iscypriotsyllabary' => 'Blk/CypriotS',
- 'iscyrillic' => 'Sc/Cyrl',
- 'iscyrillicextendeda' => 'Blk/Cyrilli2',
- 'iscyrillicextendedb' => 'Blk/Cyrilli3',
- 'iscyrillicsupplement' => 'Blk/Cyrilli4',
- 'iscyrillicsupplementary' => 'Blk/Cyrilli4',
- 'iscyrl' => 'Sc/Cyrl',
- 'isdash' => 'Dash/Y',
- 'isdashpunctuation' => 'Gc/Pd',
- 'isdecimalnumber' => 'Nt/De',
- 'isdefaultignorablecodepoint' => 'DI/Y',
- 'isdep' => 'Dep/Y',
- 'isdeprecated' => 'Dep/Y',
- 'isdeseret' => 'Blk/Deseret',
- 'isdeva' => 'Sc/Deva',
- 'isdevanagari' => 'Sc/Deva',
- 'isdevanagariextended' => 'Blk/Devanag2',
- 'isdi' => 'DI/Y',
- 'isdia' => 'Dia/Y',
- 'isdiacritic' => 'Dia/Y',
- 'isdigit' => 'Nt/De',
- 'isdingbats' => 'Blk/Dingbats',
- 'isdominotiles' => 'Blk/DominoTi',
- 'isdsrt' => 'Blk/Deseret',
- 'isegyp' => 'Sc/Egyp',
- 'isegyptianhieroglyphs' => 'Sc/Egyp',
- 'isemoticons' => 'Blk/Emoticon',
- 'isenclosedalphanumerics' => 'Blk/Enclosed',
- 'isenclosedalphanumericsupplement' => 'Blk/Enclose4',
- 'isenclosedcjklettersandmonths' => 'Blk/Enclose2',
- 'isenclosedideographicsupplement' => 'Blk/Enclose3',
- 'isenclosingmark' => 'Gc/Me',
- 'isethi' => 'Sc/Ethi',
- 'isethiopic' => 'Sc/Ethi',
- 'isethiopicextended' => 'Blk/Ethiopi2',
- 'isethiopicextendeda' => 'Blk/Ethiopi3',
- 'isethiopicsupplement' => 'Blk/Ethiopi4',
- 'isext' => 'Ext/Y',
- 'isextender' => 'Ext/Y',
- 'isfinalpunctuation' => 'Gc/Pf',
- 'isformat' => 'Gc/Cf',
- 'isfullcompositionexclusion' => 'CompEx/Y',
- 'isgeneralpunctuation' => 'Blk/GeneralP',
- 'isgeometricshapes' => 'Blk/Geometri',
- 'isgeor' => 'Sc/Geor',
- 'isgeorgian' => 'Sc/Geor',
- 'isgeorgiansupplement' => 'Blk/Georgia2',
- 'isglag' => 'Sc/Glag',
- 'isglagolitic' => 'Sc/Glag',
- 'isgoth' => 'Sc/Goth',
- 'isgothic' => 'Sc/Goth',
- 'isgraph' => 'Perl/Graph',
- 'isgraphemebase' => 'GrBase/Y',
- 'isgraphemeextend' => 'GCB/EX',
- 'isgrbase' => 'GrBase/Y',
- 'isgreek' => 'Sc/Grek',
- 'isgreekandcoptic' => 'Blk/Greek',
- 'isgreekextended' => 'Blk/GreekExt',
- 'isgrek' => 'Sc/Grek',
- 'isgrext' => 'GCB/EX',
- 'isgujarati' => 'Sc/Gujr',
- 'isgujr' => 'Sc/Gujr',
- 'isgurmukhi' => 'Sc/Guru',
- 'isguru' => 'Sc/Guru',
- 'ishalfwidthandfullwidthforms' => 'Blk/Halfwidt',
- 'ishan' => 'Sc/Han',
- 'ishang' => 'Sc/Hang',
- 'ishangul' => 'Sc/Hang',
- 'ishangulcompatibilityjamo' => 'Blk/HangulCo',
- 'ishanguljamo' => 'Blk/HangulJa',
- 'ishanguljamoextendeda' => 'Blk/HangulJ2',
- 'ishanguljamoextendedb' => 'Blk/HangulJ3',
- 'ishangulsyllables' => 'Blk/HangulSy',
- 'ishani' => 'Sc/Han',
- 'ishano' => 'Sc/Hano',
- 'ishanunoo' => 'Sc/Hano',
- 'ishebr' => 'Sc/Hebr',
- 'ishebrew' => 'Sc/Hebr',
- 'ishex' => 'Hex/Y',
- 'ishexdigit' => 'Hex/Y',
- 'ishighprivateusesurrogates' => 'Blk/HighPriv',
- 'ishighsurrogates' => 'Blk/HighSurr',
- 'ishira' => 'Sc/Hira',
- 'ishiragana' => 'Sc/Hira',
- 'ishorizspace' => 'Perl/Blank',
- 'ishyphen' => 'Hyphen/Y',
- 'isidc' => 'IDC/Y',
- 'isidcontinue' => 'IDC/Y',
- 'isideo' => 'Ideo/Y',
- 'isideographic' => 'Ideo/Y',
- 'isideographicdescriptioncharacters' => 'Blk/Ideograp',
- 'isids' => 'IDS/Y',
- 'isidsb' => 'IDSB/Y',
- 'isidsbinaryoperator' => 'IDSB/Y',
- 'isidst' => 'IDST/Y',
- 'isidstart' => 'IDS/Y',
- 'isidstrinaryoperator' => 'IDST/Y',
- 'isimperialaramaic' => 'Sc/Armi',
- 'isinherited' => 'Sc/Zinh',
- 'isinitialpunctuation' => 'Gc/Pi',
- 'isinscriptionalpahlavi' => 'Sc/Phli',
- 'isinscriptionalparthian' => 'Sc/Prti',
- 'isipaextensions' => 'Blk/IPAExten',
- 'isital' => 'Sc/Ital',
- 'isjava' => 'Sc/Java',
- 'isjavanese' => 'Sc/Java',
- 'isjoinc' => 'JoinC/Y',
- 'isjoincontrol' => 'JoinC/Y',
- 'iskaithi' => 'Sc/Kthi',
- 'iskali' => 'Blk/KayahLi',
- 'iskana' => 'Sc/Kana',
- 'iskanasupplement' => 'Blk/KanaSupp',
- 'iskanbun' => 'Blk/Kanbun',
- 'iskangxiradicals' => 'Blk/KangxiRa',
- 'iskannada' => 'Sc/Knda',
- 'iskatakana' => 'Sc/Kana',
- 'iskatakanaphoneticextensions' => 'Blk/Katakan2',
- 'iskayahli' => 'Blk/KayahLi',
- 'iskhar' => 'Sc/Khar',
- 'iskharoshthi' => 'Sc/Khar',
- 'iskhmer' => 'Sc/Khmr',
- 'iskhmersymbols' => 'Blk/KhmerSym',
- 'iskhmr' => 'Sc/Khmr',
- 'isknda' => 'Sc/Knda',
- 'iskthi' => 'Sc/Kthi',
- 'isl' => 'Gc/L',
- 'isl&' => 'Gc/LC',
- 'isl_' => 'Gc/LC',
- 'islana' => 'Sc/Lana',
- 'islao' => 'Sc/Lao',
- 'islaoo' => 'Sc/Lao',
- 'islatin' => 'Sc/Latn',
- 'islatin1' => 'Blk/Latin1',
- 'islatin1supplement' => 'Blk/Latin1',
- 'islatinextendeda' => 'Blk/LatinExt',
- 'islatinextendedadditional' => 'Blk/LatinEx5',
- 'islatinextendedb' => 'Blk/LatinEx2',
- 'islatinextendedc' => 'Blk/LatinEx3',
- 'islatinextendedd' => 'Blk/LatinEx4',
- 'islatn' => 'Sc/Latn',
- 'islc' => 'Gc/LC',
- 'islepc' => 'Sc/Lepc',
- 'islepcha' => 'Sc/Lepc',
- 'isletter' => 'Gc/L',
- 'isletterlikesymbols' => 'Blk/Letterli',
- 'isletternumber' => 'Gc/Nl',
- 'islimb' => 'Sc/Limb',
- 'islimbu' => 'Sc/Limb',
- 'islinb' => 'Sc/Linb',
- 'islinearb' => 'Sc/Linb',
- 'islinearbideograms' => 'Blk/LinearBI',
- 'islinearbsyllabary' => 'Blk/LinearBS',
- 'islineseparator' => 'Gc/Zl',
- 'islisu' => 'Blk/Lisu',
- 'isll' => 'Gc/Ll',
- 'islm' => 'Gc/Lm',
- 'islo' => 'Gc/Lo',
- 'isloe' => 'GCB/PP',
- 'islogicalorderexception' => 'GCB/PP',
- 'islower' => 'Lower/Y',
- 'islowercase' => 'Lower/Y',
- 'islowercaseletter' => 'Gc/Ll',
- 'islowsurrogates' => 'Blk/LowSurro',
- 'islt' => 'Perl/Title',
- 'islu' => 'Gc/Lu',
- 'islyci' => 'Sc/Lyci',
- 'islycian' => 'Sc/Lyci',
- 'islydi' => 'Sc/Lydi',
- 'islydian' => 'Sc/Lydi',
- 'ism' => 'Gc/M',
- 'ismahjongtiles' => 'Blk/MahjongT',
- 'ismalayalam' => 'Sc/Mlym',
- 'ismand' => 'Sc/Mand',
- 'ismandaic' => 'Sc/Mand',
- 'ismark' => 'Gc/M',
- 'ismath' => 'Math/Y',
- 'ismathematicalalphanumericsymbols' => 'Blk/Mathema2',
- 'ismathematicaloperators' => 'Blk/Mathemat',
- 'ismathsymbol' => 'Gc/Sm',
- 'ismc' => 'Gc/Mc',
- 'isme' => 'Gc/Me',
- 'ismeeteimayek' => 'Sc/Mtei',
- 'ismiscellaneousmathematicalsymbolsa' => 'Blk/Miscell4',
- 'ismiscellaneousmathematicalsymbolsb' => 'Blk/Miscell5',
- 'ismiscellaneoussymbols' => 'Blk/Miscella',
- 'ismiscellaneoussymbolsandarrows' => 'Blk/Miscell3',
- 'ismiscellaneoussymbolsandpictographs' => 'Blk/Miscell6',
- 'ismiscellaneoustechnical' => 'Blk/Miscell2',
- 'ismlym' => 'Sc/Mlym',
- 'ismn' => 'Gc/Mn',
- 'ismodifierletter' => 'Gc/Lm',
- 'ismodifiersymbol' => 'Gc/Sk',
- 'ismodifiertoneletters' => 'Blk/Modifier',
- 'ismong' => 'Sc/Mong',
- 'ismongolian' => 'Sc/Mong',
- 'ismtei' => 'Sc/Mtei',
- 'ismusicalsymbols' => 'Blk/MusicalS',
- 'ismyanmar' => 'Sc/Mymr',
- 'ismyanmarextendeda' => 'Blk/MyanmarE',
- 'ismymr' => 'Sc/Mymr',
- 'isn' => 'Gc/N',
- 'isnchar' => 'NChar/Y',
- 'isnd' => 'Nt/De',
- 'isnewtailue' => 'Sc/Talu',
- 'isnko' => 'Sc/Nko',
- 'isnkoo' => 'Sc/Nko',
- 'isnl' => 'Gc/Nl',
- 'isno' => 'Gc/No',
- 'isnoblock' => 'Blk/NoBlock',
- 'isnoncharactercodepoint' => 'NChar/Y',
- 'isnonspacingmark' => 'Gc/Mn',
- 'isnumber' => 'Gc/N',
- 'isnumberforms' => 'Blk/NumberFo',
- 'isoalpha' => 'OAlpha/Y',
- 'isodi' => 'ODI/Y',
- 'isogam' => 'Sc/Ogam',
- 'isogham' => 'Sc/Ogam',
- 'isogrext' => 'OGrExt/Y',
- 'isoidc' => 'OIDC/Y',
- 'isoids' => 'OIDS/Y',
- 'isolchiki' => 'Blk/OlChiki',
- 'isolck' => 'Blk/OlChiki',
- 'isolditalic' => 'Sc/Ital',
- 'isoldpersian' => 'Sc/Xpeo',
- 'isoldsoutharabian' => 'Blk/OldSouth',
- 'isoldturkic' => 'Sc/Orkh',
- 'isolower' => 'OLower/Y',
- 'isomath' => 'OMath/Y',
- 'isopenpunctuation' => 'Gc/Ps',
- 'isopticalcharacterrecognition' => 'Blk/OpticalC',
- 'isoriya' => 'Sc/Orya',
- 'isorkh' => 'Sc/Orkh',
- 'isorya' => 'Sc/Orya',
- 'isosma' => 'Sc/Osma',
- 'isosmanya' => 'Sc/Osma',
- 'isother' => 'Gc/C',
- 'isotheralphabetic' => 'OAlpha/Y',
- 'isotherdefaultignorablecodepoint' => 'ODI/Y',
- 'isothergraphemeextend' => 'OGrExt/Y',
- 'isotheridcontinue' => 'OIDC/Y',
- 'isotheridstart' => 'OIDS/Y',
- 'isotherletter' => 'Gc/Lo',
- 'isotherlowercase' => 'OLower/Y',
- 'isothermath' => 'OMath/Y',
- 'isothernumber' => 'Gc/No',
- 'isotherpunctuation' => 'Gc/Po',
- 'isothersymbol' => 'Gc/So',
- 'isotheruppercase' => 'OUpper/Y',
- 'isoupper' => 'OUpper/Y',
- 'isp' => 'Gc/P',
- 'isparagraphseparator' => 'Gc/Zp',
- 'ispatsyn' => 'PatSyn/Y',
- 'ispatternsyntax' => 'PatSyn/Y',
- 'ispatternwhitespace' => 'PatWS/Y',
- 'ispatws' => 'PatWS/Y',
- 'ispc' => 'WB/EX',
- 'ispd' => 'Gc/Pd',
- 'ispe' => 'Gc/Pe',
- 'isperlspace' => 'Perl/PerlSpac',
- 'isperlword' => 'Perl/PerlWord',
- 'ispf' => 'Gc/Pf',
- 'isphag' => 'Sc/Phag',
- 'isphagspa' => 'Sc/Phag',
- 'isphaistosdisc' => 'Blk/Phaistos',
- 'isphli' => 'Sc/Phli',
- 'isphnx' => 'Sc/Phnx',
- 'isphoenician' => 'Sc/Phnx',
- 'isphoneticextensions' => 'Blk/Phonetic',
- 'isphoneticextensionssupplement' => 'Blk/Phoneti2',
- 'ispi' => 'Gc/Pi',
- 'isplayingcards' => 'Blk/PlayingC',
- 'ispo' => 'Gc/Po',
- 'isposixalnum' => 'Perl/PosixAln',
- 'isposixalpha' => 'Perl/PosixAlp',
- 'isposixblank' => 'Perl/PosixBla',
- 'isposixcntrl' => 'Perl/PosixCnt',
- 'isposixdigit' => 'Perl/PosixDig',
- 'isposixgraph' => 'Perl/PosixGra',
- 'isposixlower' => 'Perl/PosixLow',
- 'isposixprint' => 'Perl/PosixPri',
- 'isposixpunct' => 'Perl/PosixPun',
- 'isposixspace' => 'Perl/PosixSpa',
- 'isposixupper' => 'Perl/PosixUpp',
- 'isposixword' => 'Perl/PerlWord',
- 'isposixxdigit' => 'AHex/Y',
- 'isprint' => 'Perl/Print',
- 'isprivateuse' => 'Gc/Co',
- 'isprivateusearea' => 'Blk/PrivateU',
- 'isprti' => 'Sc/Prti',
- 'isps' => 'Gc/Ps',
- 'ispunct' => 'Gc/P',
- 'ispunctuation' => 'Gc/P',
- 'isqaac' => 'Sc/Copt',
- 'isqaai' => 'Sc/Zinh',
- 'isqmark' => 'QMark/Y',
- 'isquotationmark' => 'QMark/Y',
- 'isradical' => 'Radical/Y',
- 'isrejang' => 'Sc/Rjng',
- 'isrjng' => 'Sc/Rjng',
- 'isruminumeralsymbols' => 'Blk/RumiNume',
- 'isrunic' => 'Sc/Runr',
- 'isrunr' => 'Sc/Runr',
- 'iss' => 'Gc/S',
- 'issamaritan' => 'Sc/Samr',
- 'issamr' => 'Sc/Samr',
- 'issarb' => 'Blk/OldSouth',
- 'issaur' => 'Sc/Saur',
- 'issaurashtra' => 'Sc/Saur',
- 'issc' => 'Gc/Sc',
- 'issd' => 'SD/Y',
- 'isseparator' => 'Gc/Z',
- 'isshavian' => 'Blk/Shavian',
- 'isshaw' => 'Blk/Shavian',
- 'issinh' => 'Sc/Sinh',
- 'issinhala' => 'Sc/Sinh',
- 'issk' => 'Gc/Sk',
- 'issm' => 'Gc/Sm',
- 'issmallformvariants' => 'Blk/SmallFor',
- 'isso' => 'Gc/So',
- 'issoftdotted' => 'SD/Y',
- 'isspace' => 'Space/Y',
- 'isspaceperl' => 'Perl/SpacePer',
- 'isspaceseparator' => 'Gc/Zs',
- 'isspacingmark' => 'Gc/Mc',
- 'isspacingmodifierletters' => 'Blk/SpacingM',
- 'isspecials' => 'Blk/Specials',
- 'issterm' => 'STerm/Y',
- 'issund' => 'Sc/Sund',
- 'issundanese' => 'Sc/Sund',
- 'issuperscriptsandsubscripts' => 'Blk/Superscr',
- 'issupplementalarrowsa' => 'Blk/Suppleme',
- 'issupplementalarrowsb' => 'Blk/Supplem2',
- 'issupplementalmathematicaloperators' => 'Blk/Supplem6',
- 'issupplementalpunctuation' => 'Blk/Supplem3',
- 'issupplementaryprivateuseareaa' => 'Blk/Supplem4',
- 'issupplementaryprivateuseareab' => 'Blk/Supplem5',
- 'issurrogate' => 'Gc/Cs',
- 'issylo' => 'Sc/Sylo',
- 'issylotinagri' => 'Sc/Sylo',
- 'issymbol' => 'Gc/S',
- 'issyrc' => 'Sc/Syrc',
- 'issyriac' => 'Sc/Syrc',
- 'istagalog' => 'Sc/Tglg',
- 'istagb' => 'Sc/Tagb',
- 'istagbanwa' => 'Sc/Tagb',
- 'istags' => 'Blk/Tags',
- 'istaile' => 'Sc/Tale',
- 'istaitham' => 'Sc/Lana',
- 'istaiviet' => 'Sc/Tavt',
- 'istaixuanjingsymbols' => 'Blk/TaiXuanJ',
- 'istale' => 'Sc/Tale',
- 'istalu' => 'Sc/Talu',
- 'istamil' => 'Sc/Taml',
- 'istaml' => 'Sc/Taml',
- 'istavt' => 'Sc/Tavt',
- 'istelu' => 'Sc/Telu',
- 'istelugu' => 'Sc/Telu',
- 'isterm' => 'Term/Y',
- 'isterminalpunctuation' => 'Term/Y',
- 'istfng' => 'Sc/Tfng',
- 'istglg' => 'Sc/Tglg',
- 'isthaa' => 'Sc/Thaa',
- 'isthaana' => 'Sc/Thaa',
- 'isthai' => 'Sc/Thai',
- 'istibetan' => 'Sc/Tibt',
- 'istibt' => 'Sc/Tibt',
- 'istifinagh' => 'Sc/Tfng',
- 'istitle' => 'Perl/Title',
- 'istitlecase' => 'Perl/Title',
- 'istitlecaseletter' => 'Perl/Title',
- 'istransportandmapsymbols' => 'Blk/Transpor',
- 'isugar' => 'Sc/Ugar',
- 'isugaritic' => 'Sc/Ugar',
- 'isuideo' => 'UIdeo/Y',
- 'isunassigned' => 'Gc/Cn',
- 'isunifiedcanadianaboriginalsyllabics' => 'Blk/Canadian',
- 'isunifiedcanadianaboriginalsyllabicsextended' => 'Blk/UnifiedC',
- 'isunifiedideograph' => 'UIdeo/Y',
- 'isunknown' => 'Sc/Zzzz',
- 'isupper' => 'Upper/Y',
- 'isuppercase' => 'Upper/Y',
- 'isuppercaseletter' => 'Gc/Lu',
- 'isvai' => 'Sc/Vai',
- 'isvaii' => 'Sc/Vai',
- 'isvariationselector' => 'VS/Y',
- 'isvariationselectors' => 'Blk/Variatio',
- 'isvariationselectorssupplement' => 'Blk/Variati2',
- 'isvedicextensions' => 'Blk/VedicExt',
- 'isverticalforms' => 'Blk/Vertical',
- 'isvertspace' => 'Perl/VertSpac',
- 'isvs' => 'VS/Y',
- 'iswhitespace' => 'Space/Y',
- 'isword' => 'Perl/Word',
- 'iswspace' => 'Space/Y',
- 'isxdigit' => 'Hex/Y',
- 'isxidc' => 'XIDC/Y',
- 'isxidcontinue' => 'XIDC/Y',
- 'isxids' => 'XIDS/Y',
- 'isxidstart' => 'XIDS/Y',
- 'isxpeo' => 'Sc/Xpeo',
- 'isxperlspace' => 'Perl/SpacePer',
- 'isxposixalnum' => 'Perl/Alnum',
- 'isxposixalpha' => 'Alpha/Y',
- 'isxposixblank' => 'Perl/Blank',
- 'isxposixcntrl' => 'Gc/Cc',
- 'isxposixdigit' => 'Nt/De',
- 'isxposixgraph' => 'Perl/Graph',
- 'isxposixlower' => 'Lower/Y',
- 'isxposixprint' => 'Perl/Print',
- 'isxposixpunct' => 'Perl/XPosixPu',
- 'isxposixspace' => 'Space/Y',
- 'isxposixupper' => 'Upper/Y',
- 'isxposixword' => 'Perl/Word',
- 'isxposixxdigit' => 'Hex/Y',
- 'isxsux' => 'Sc/Xsux',
- 'isyi' => 'Sc/Yi',
- 'isyiii' => 'Sc/Yi',
- 'isyijinghexagramsymbols' => 'Blk/YijingHe',
- 'isyiradicals' => 'Blk/YiRadica',
- 'isyisyllables' => 'Blk/YiSyllab',
- 'isz' => 'Gc/Z',
- 'iszinh' => 'Sc/Zinh',
- 'iszl' => 'Gc/Zl',
- 'iszp' => 'Gc/Zp',
- 'iszs' => 'Gc/Zs',
- 'iszyyy' => 'Sc/Zyyy',
- 'iszzzz' => 'Sc/Zzzz',
- 'ital' => 'Sc/Ital',
- 'java' => 'Sc/Java',
- 'javanese' => 'Sc/Java',
- 'jg=ain' => 'Jg/Ain',
- 'jg=alaph' => 'Jg/Alaph',
- 'jg=alef' => 'Jg/Alef',
- 'jg=beh' => 'Jg/Beh',
- 'jg=beth' => 'Jg/Beth',
- 'jg=burushaskiyehbarree' => 'Jg/Burushas',
- 'jg=dal' => 'Jg/Dal',
- 'jg=dalathrish' => 'Jg/DalathRi',
- 'jg=e' => 'Jg/E',
- 'jg=farsiyeh' => 'Jg/FarsiYeh',
- 'jg=fe' => 'Jg/Fe',
- 'jg=feh' => 'Jg/Feh',
- 'jg=finalsemkath' => 'Jg/FinalSem',
- 'jg=gaf' => 'Jg/Gaf',
- 'jg=gamal' => 'Jg/Gamal',
- 'jg=hah' => 'Jg/Hah',
- 'jg=hamzaonhehgoal' => 'Jg/TehMarb2',
- 'jg=he' => 'Jg/He',
- 'jg=heh' => 'Jg/Heh',
- 'jg=hehgoal' => 'Jg/HehGoal',
- 'jg=heth' => 'Jg/Heth',
- 'jg=kaf' => 'Jg/Kaf',
- 'jg=kaph' => 'Jg/Kaph',
- 'jg=khaph' => 'Jg/Khaph',
- 'jg=knottedheh' => 'Jg/KnottedH',
- 'jg=lam' => 'Jg/Lam',
- 'jg=lamadh' => 'Jg/Lamadh',
- 'jg=meem' => 'Jg/Meem',
- 'jg=mim' => 'Jg/Mim',
- 'jg=nojoininggroup' => 'Jg/NoJoinin',
- 'jg=noon' => 'Jg/Noon',
- 'jg=nun' => 'Jg/Nun',
- 'jg=nya' => 'Jg/Nya',
- 'jg=pe' => 'Jg/Pe',
- 'jg=qaf' => 'Jg/Qaf',
- 'jg=qaph' => 'Jg/Qaph',
- 'jg=reh' => 'Jg/Reh',
- 'jg=reversedpe' => 'Jg/Reversed',
- 'jg=sad' => 'Jg/Sad',
- 'jg=sadhe' => 'Jg/Sadhe',
- 'jg=seen' => 'Jg/Seen',
- 'jg=semkath' => 'Jg/Semkath',
- 'jg=shin' => 'Jg/Shin',
- 'jg=swashkaf' => 'Jg/SwashKaf',
- 'jg=syriacwaw' => 'Jg/SyriacWa',
- 'jg=tah' => 'Jg/Tah',
- 'jg=taw' => 'Jg/Taw',
- 'jg=tehmarbuta' => 'Jg/TehMarbu',
- 'jg=tehmarbutagoal' => 'Jg/TehMarb2',
- 'jg=teth' => 'Jg/Teth',
- 'jg=waw' => 'Jg/Waw',
- 'jg=yeh' => 'Jg/Yeh',
- 'jg=yehbarree' => 'Jg/YehBarre',
- 'jg=yehwithtail' => 'Jg/YehWithT',
- 'jg=yudh' => 'Jg/Yudh',
- 'jg=yudhhe' => 'Jg/YudhHe',
- 'jg=zain' => 'Jg/Zain',
- 'jg=zhain' => 'Jg/Zhain',
- 'joinc' => 'JoinC/Y',
- 'joinc=f' => 'JoinC/N',
- 'joinc=false' => 'JoinC/N',
- 'joinc=n' => 'JoinC/N',
- 'joinc=no' => 'JoinC/N',
- 'joinc=t' => 'JoinC/Y',
- 'joinc=true' => 'JoinC/Y',
- 'joinc=y' => 'JoinC/Y',
- 'joinc=yes' => 'JoinC/Y',
- 'joincontrol' => 'JoinC/Y',
- 'jt=c' => 'Jt/C',
- 'jt=d' => 'Jt/D',
- 'jt=dualjoining' => 'Jt/D',
- 'jt=joincausing' => 'Jt/C',
- 'jt=l' => 'Ccc/ATBL',
- 'jt=leftjoining' => 'Ccc/ATBL',
- 'jt=nonjoining' => 'Jt/U',
- 'jt=r' => 'Jt/R',
- 'jt=rightjoining' => 'Jt/R',
- 'jt=t' => 'Jt/T',
- 'jt=transparent' => 'Jt/T',
- 'jt=u' => 'Jt/U',
- 'kaithi' => 'Sc/Kthi',
- 'kali' => 'Blk/KayahLi',
- 'kana' => 'Sc/Kana',
- 'kanasupplement' => 'Blk/KanaSupp',
- 'kanbun' => 'Blk/Kanbun',
- 'kangxiradicals' => 'Blk/KangxiRa',
- 'kannada' => 'Sc/Knda',
- 'katakana' => 'Sc/Kana',
- 'katakanaphoneticextensions' => 'Blk/Katakan2',
- 'kayahli' => 'Blk/KayahLi',
- 'khar' => 'Sc/Khar',
- 'kharoshthi' => 'Sc/Khar',
- 'khmer' => 'Sc/Khmr',
- 'khmersymbols' => 'Blk/KhmerSym',
- 'khmr' => 'Sc/Khmr',
- 'knda' => 'Sc/Knda',
- 'kthi' => 'Sc/Kthi',
- 'l' => 'Gc/L',
- 'l&' => 'Gc/LC',
- 'l_' => 'Gc/LC',
- 'lana' => 'Sc/Lana',
- 'lao' => 'Sc/Lao',
- 'laoo' => 'Sc/Lao',
- 'latin' => 'Sc/Latn',
- 'latin1' => 'Blk/Latin1',
- 'latin1supplement' => 'Blk/Latin1',
- 'latinextendeda' => 'Blk/LatinExt',
- 'latinextendedadditional' => 'Blk/LatinEx5',
- 'latinextendedb' => 'Blk/LatinEx2',
- 'latinextendedc' => 'Blk/LatinEx3',
- 'latinextendedd' => 'Blk/LatinEx4',
- 'latn' => 'Sc/Latn',
- 'lb=ai' => 'Lb/AI',
- 'lb=al' => 'Lb/AL',
- 'lb=alphabetic' => 'Lb/AL',
- 'lb=ambiguous' => 'Lb/AI',
- 'lb=b2' => 'Lb/B2',
- 'lb=ba' => 'Lb/BA',
- 'lb=bb' => 'Lb/BB',
- 'lb=bk' => 'Lb/BK',
- 'lb=breakafter' => 'Lb/BA',
- 'lb=breakbefore' => 'Lb/BB',
- 'lb=breakboth' => 'Lb/B2',
- 'lb=breaksymbols' => 'Lb/SY',
- 'lb=carriagereturn' => 'GCB/CR',
- 'lb=cb' => 'Lb/CB',
- 'lb=cl' => 'Lb/CL',
- 'lb=closeparenthesis' => 'Lb/CP',
- 'lb=closepunctuation' => 'Lb/CL',
- 'lb=cm' => 'Lb/CM',
- 'lb=combiningmark' => 'Lb/CM',
- 'lb=complexcontext' => 'Lb/SA',
- 'lb=contingentbreak' => 'Lb/CB',
- 'lb=cp' => 'Lb/CP',
- 'lb=cr' => 'GCB/CR',
- 'lb=ex' => 'Lb/EX',
- 'lb=exclamation' => 'Lb/EX',
- 'lb=gl' => 'Lb/GL',
- 'lb=glue' => 'Lb/GL',
- 'lb=h2' => 'GCB/LV',
- 'lb=h3' => 'GCB/LVT',
- 'lb=hy' => 'Lb/HY',
- 'lb=hyphen' => 'Lb/HY',
- 'lb=id' => 'Lb/ID',
- 'lb=ideographic' => 'Lb/ID',
- 'lb=in' => 'Lb/IN',
- 'lb=infixnumeric' => 'Lb/IS',
- 'lb=inseparable' => 'Lb/IN',
- 'lb=inseperable' => 'Lb/IN',
- 'lb=is' => 'Lb/IS',
- 'lb=jl' => 'GCB/L',
- 'lb=jt' => 'GCB/T',
- 'lb=jv' => 'GCB/V',
- 'lb=lf' => 'GCB/LF',
- 'lb=linefeed' => 'GCB/LF',
- 'lb=mandatorybreak' => 'Lb/BK',
- 'lb=nextline' => 'Lb/NL',
- 'lb=nl' => 'Lb/NL',
- 'lb=nonstarter' => 'Lb/NS',
- 'lb=ns' => 'Lb/NS',
- 'lb=nu' => 'Lb/NU',
- 'lb=numeric' => 'Lb/NU',
- 'lb=op' => 'Lb/OP',
- 'lb=openpunctuation' => 'Lb/OP',
- 'lb=po' => 'Lb/PO',
- 'lb=postfixnumeric' => 'Lb/PO',
- 'lb=pr' => 'Lb/PR',
- 'lb=prefixnumeric' => 'Lb/PR',
- 'lb=qu' => 'Lb/QU',
- 'lb=quotation' => 'Lb/QU',
- 'lb=sa' => 'Lb/SA',
- 'lb=sg' => 'Lb/SG',
- 'lb=sp' => 'Lb/SP',
- 'lb=space' => 'Lb/SP',
- 'lb=surrogate' => 'Lb/SG',
- 'lb=sy' => 'Lb/SY',
- 'lb=unknown' => 'Lb/XX',
- 'lb=wj' => 'Lb/WJ',
- 'lb=wordjoiner' => 'Lb/WJ',
- 'lb=xx' => 'Lb/XX',
- 'lb=zw' => 'Lb/ZW',
- 'lb=zwspace' => 'Lb/ZW',
- 'lc' => 'Gc/LC',
- 'lepc' => 'Sc/Lepc',
- 'lepcha' => 'Sc/Lepc',
- 'letter' => 'Gc/L',
- 'letterlikesymbols' => 'Blk/Letterli',
- 'letternumber' => 'Gc/Nl',
- 'limb' => 'Sc/Limb',
- 'limbu' => 'Sc/Limb',
- 'linb' => 'Sc/Linb',
- 'linearb' => 'Sc/Linb',
- 'linearbideograms' => 'Blk/LinearBI',
- 'linearbsyllabary' => 'Blk/LinearBS',
- 'lineseparator' => 'Gc/Zl',
- 'lisu' => 'Blk/Lisu',
- 'll' => 'Gc/Ll',
- 'lm' => 'Gc/Lm',
- 'lo' => 'Gc/Lo',
- 'loe' => 'GCB/PP',
- 'loe=f' => 'LOE/N',
- 'loe=false' => 'LOE/N',
- 'loe=n' => 'LOE/N',
- 'loe=no' => 'LOE/N',
- 'loe=t' => 'GCB/PP',
- 'loe=true' => 'GCB/PP',
- 'loe=y' => 'GCB/PP',
- 'loe=yes' => 'GCB/PP',
- 'logicalorderexception' => 'GCB/PP',
- 'lower' => 'Lower/Y',
- 'lower=f' => 'Lower/N',
- 'lower=false' => 'Lower/N',
- 'lower=n' => 'Lower/N',
- 'lower=no' => 'Lower/N',
- 'lower=t' => 'Lower/Y',
- 'lower=true' => 'Lower/Y',
- 'lower=y' => 'Lower/Y',
- 'lower=yes' => 'Lower/Y',
- 'lowercase' => 'Lower/Y',
- 'lowercaseletter' => 'Gc/Ll',
- 'lowsurrogates' => 'Blk/LowSurro',
- 'lt' => 'Perl/Title',
- 'lu' => 'Gc/Lu',
- 'lyci' => 'Sc/Lyci',
- 'lycian' => 'Sc/Lyci',
- 'lydi' => 'Sc/Lydi',
- 'lydian' => 'Sc/Lydi',
- 'm' => 'Gc/M',
- 'mahjongtiles' => 'Blk/MahjongT',
- 'malayalam' => 'Sc/Mlym',
- 'mand' => 'Sc/Mand',
- 'mandaic' => 'Sc/Mand',
- 'mark' => 'Gc/M',
- 'math' => 'Math/Y',
- 'math=f' => 'Math/N',
- 'math=false' => 'Math/N',
- 'math=n' => 'Math/N',
- 'math=no' => 'Math/N',
- 'math=t' => 'Math/Y',
- 'math=true' => 'Math/Y',
- 'math=y' => 'Math/Y',
- 'math=yes' => 'Math/Y',
- 'mathematicalalphanumericsymbols' => 'Blk/Mathema2',
- 'mathematicaloperators' => 'Blk/Mathemat',
- 'mathsymbol' => 'Gc/Sm',
- 'mc' => 'Gc/Mc',
- 'me' => 'Gc/Me',
- 'meeteimayek' => 'Sc/Mtei',
- 'miscellaneousmathematicalsymbolsa' => 'Blk/Miscell4',
- 'miscellaneousmathematicalsymbolsb' => 'Blk/Miscell5',
- 'miscellaneoussymbols' => 'Blk/Miscella',
- 'miscellaneoussymbolsandarrows' => 'Blk/Miscell3',
- 'miscellaneoussymbolsandpictographs' => 'Blk/Miscell6',
- 'miscellaneoustechnical' => 'Blk/Miscell2',
- 'mlym' => 'Sc/Mlym',
- 'mn' => 'Gc/Mn',
- 'modifierletter' => 'Gc/Lm',
- 'modifiersymbol' => 'Gc/Sk',
- 'modifiertoneletters' => 'Blk/Modifier',
- 'mong' => 'Sc/Mong',
- 'mongolian' => 'Sc/Mong',
- 'mtei' => 'Sc/Mtei',
- 'musicalsymbols' => 'Blk/MusicalS',
- 'myanmar' => 'Sc/Mymr',
- 'myanmarextendeda' => 'Blk/MyanmarE',
- 'mymr' => 'Sc/Mymr',
- 'n' => 'Gc/N',
- 'nchar' => 'NChar/Y',
- 'nchar=f' => 'NChar/N',
- 'nchar=false' => 'NChar/N',
- 'nchar=n' => 'NChar/N',
- 'nchar=no' => 'NChar/N',
- 'nchar=t' => 'NChar/Y',
- 'nchar=true' => 'NChar/Y',
- 'nchar=y' => 'NChar/Y',
- 'nchar=yes' => 'NChar/Y',
- 'nd' => 'Nt/De',
- 'newtailue' => 'Sc/Talu',
- 'nfcqc=m' => 'NFKCQC/M',
- 'nfcqc=maybe' => 'NFKCQC/M',
- 'nfcqc=n' => 'CompEx/Y',
- 'nfcqc=no' => 'CompEx/Y',
- 'nfcqc=y' => 'NFCQC/Y',
- 'nfcqc=yes' => 'NFCQC/Y',
- 'nfdqc=n' => 'NFDQC/N',
- 'nfdqc=no' => 'NFDQC/N',
- 'nfdqc=y' => 'NFDQC/Y',
- 'nfdqc=yes' => 'NFDQC/Y',
- 'nfkcqc=m' => 'NFKCQC/M',
- 'nfkcqc=maybe' => 'NFKCQC/M',
- 'nfkcqc=n' => 'NFKCQC/N',
- 'nfkcqc=no' => 'NFKCQC/N',
- 'nfkcqc=y' => 'NFKCQC/Y',
- 'nfkcqc=yes' => 'NFKCQC/Y',
- 'nfkdqc=n' => 'NFKDQC/N',
- 'nfkdqc=no' => 'NFKDQC/N',
- 'nfkdqc=y' => 'Dt/None',
- 'nfkdqc=yes' => 'Dt/None',
- 'nko' => 'Sc/Nko',
- 'nkoo' => 'Sc/Nko',
- 'nl' => 'Gc/Nl',
- 'no' => 'Gc/No',
- 'noblock' => 'Blk/NoBlock',
- 'noncharactercodepoint' => 'NChar/Y',
- 'nonspacingmark' => 'Gc/Mn',
- 'nt=de' => 'Nt/De',
- 'nt=decimal' => 'Nt/De',
- 'nt=di' => 'Nt/Di',
- 'nt=digit' => 'Nt/Di',
- 'nt=none' => 'Nv/NaN',
- 'nt=nu' => 'Nt/Nu',
- 'nt=numeric' => 'Nt/Nu',
- 'number' => 'Gc/N',
- 'numberforms' => 'Blk/NumberFo',
- 'nv=nan' => 'Nv/NaN',
- 'oalpha' => 'OAlpha/Y',
- 'oalpha=f' => 'OAlpha/N',
- 'oalpha=false' => 'OAlpha/N',
- 'oalpha=n' => 'OAlpha/N',
- 'oalpha=no' => 'OAlpha/N',
- 'oalpha=t' => 'OAlpha/Y',
- 'oalpha=true' => 'OAlpha/Y',
- 'oalpha=y' => 'OAlpha/Y',
- 'oalpha=yes' => 'OAlpha/Y',
- 'odi' => 'ODI/Y',
- 'odi=f' => 'ODI/N',
- 'odi=false' => 'ODI/N',
- 'odi=n' => 'ODI/N',
- 'odi=no' => 'ODI/N',
- 'odi=t' => 'ODI/Y',
- 'odi=true' => 'ODI/Y',
- 'odi=y' => 'ODI/Y',
- 'odi=yes' => 'ODI/Y',
- 'ogam' => 'Sc/Ogam',
- 'ogham' => 'Sc/Ogam',
- 'ogrext' => 'OGrExt/Y',
- 'ogrext=f' => 'OGrExt/N',
- 'ogrext=false' => 'OGrExt/N',
- 'ogrext=n' => 'OGrExt/N',
- 'ogrext=no' => 'OGrExt/N',
- 'ogrext=t' => 'OGrExt/Y',
- 'ogrext=true' => 'OGrExt/Y',
- 'ogrext=y' => 'OGrExt/Y',
- 'ogrext=yes' => 'OGrExt/Y',
- 'oidc' => 'OIDC/Y',
- 'oidc=f' => 'OIDC/N',
- 'oidc=false' => 'OIDC/N',
- 'oidc=n' => 'OIDC/N',
- 'oidc=no' => 'OIDC/N',
- 'oidc=t' => 'OIDC/Y',
- 'oidc=true' => 'OIDC/Y',
- 'oidc=y' => 'OIDC/Y',
- 'oidc=yes' => 'OIDC/Y',
- 'oids' => 'OIDS/Y',
- 'oids=f' => 'OIDS/N',
- 'oids=false' => 'OIDS/N',
- 'oids=n' => 'OIDS/N',
- 'oids=no' => 'OIDS/N',
- 'oids=t' => 'OIDS/Y',
- 'oids=true' => 'OIDS/Y',
- 'oids=y' => 'OIDS/Y',
- 'oids=yes' => 'OIDS/Y',
- 'olchiki' => 'Blk/OlChiki',
- 'olck' => 'Blk/OlChiki',
- 'olditalic' => 'Sc/Ital',
- 'oldpersian' => 'Sc/Xpeo',
- 'oldsoutharabian' => 'Blk/OldSouth',
- 'oldturkic' => 'Sc/Orkh',
- 'olower' => 'OLower/Y',
- 'olower=f' => 'OLower/N',
- 'olower=false' => 'OLower/N',
- 'olower=n' => 'OLower/N',
- 'olower=no' => 'OLower/N',
- 'olower=t' => 'OLower/Y',
- 'olower=true' => 'OLower/Y',
- 'olower=y' => 'OLower/Y',
- 'olower=yes' => 'OLower/Y',
- 'omath' => 'OMath/Y',
- 'omath=f' => 'OMath/N',
- 'omath=false' => 'OMath/N',
- 'omath=n' => 'OMath/N',
- 'omath=no' => 'OMath/N',
- 'omath=t' => 'OMath/Y',
- 'omath=true' => 'OMath/Y',
- 'omath=y' => 'OMath/Y',
- 'omath=yes' => 'OMath/Y',
- 'openpunctuation' => 'Gc/Ps',
- 'opticalcharacterrecognition' => 'Blk/OpticalC',
- 'oriya' => 'Sc/Orya',
- 'orkh' => 'Sc/Orkh',
- 'orya' => 'Sc/Orya',
- 'osma' => 'Sc/Osma',
- 'osmanya' => 'Sc/Osma',
- 'other' => 'Gc/C',
- 'otheralphabetic' => 'OAlpha/Y',
- 'otherdefaultignorablecodepoint' => 'ODI/Y',
- 'othergraphemeextend' => 'OGrExt/Y',
- 'otheridcontinue' => 'OIDC/Y',
- 'otheridstart' => 'OIDS/Y',
- 'otherletter' => 'Gc/Lo',
- 'otherlowercase' => 'OLower/Y',
- 'othermath' => 'OMath/Y',
- 'othernumber' => 'Gc/No',
- 'otherpunctuation' => 'Gc/Po',
- 'othersymbol' => 'Gc/So',
- 'otheruppercase' => 'OUpper/Y',
- 'oupper' => 'OUpper/Y',
- 'oupper=f' => 'OUpper/N',
- 'oupper=false' => 'OUpper/N',
- 'oupper=n' => 'OUpper/N',
- 'oupper=no' => 'OUpper/N',
- 'oupper=t' => 'OUpper/Y',
- 'oupper=true' => 'OUpper/Y',
- 'oupper=y' => 'OUpper/Y',
- 'oupper=yes' => 'OUpper/Y',
- 'p' => 'Gc/P',
- 'paragraphseparator' => 'Gc/Zp',
- 'patsyn' => 'PatSyn/Y',
- 'patsyn=f' => 'PatSyn/N',
- 'patsyn=false' => 'PatSyn/N',
- 'patsyn=n' => 'PatSyn/N',
- 'patsyn=no' => 'PatSyn/N',
- 'patsyn=t' => 'PatSyn/Y',
- 'patsyn=true' => 'PatSyn/Y',
- 'patsyn=y' => 'PatSyn/Y',
- 'patsyn=yes' => 'PatSyn/Y',
- 'patternsyntax' => 'PatSyn/Y',
- 'patternwhitespace' => 'PatWS/Y',
- 'patws' => 'PatWS/Y',
- 'patws=f' => 'PatWS/N',
- 'patws=false' => 'PatWS/N',
- 'patws=n' => 'PatWS/N',
- 'patws=no' => 'PatWS/N',
- 'patws=t' => 'PatWS/Y',
- 'patws=true' => 'PatWS/Y',
- 'patws=y' => 'PatWS/Y',
- 'patws=yes' => 'PatWS/Y',
- 'pc' => 'WB/EX',
- 'pd' => 'Gc/Pd',
- 'pe' => 'Gc/Pe',
- 'perlspace' => 'Perl/PerlSpac',
- 'perlword' => 'Perl/PerlWord',
- 'pf' => 'Gc/Pf',
- 'phag' => 'Sc/Phag',
- 'phagspa' => 'Sc/Phag',
- 'phaistosdisc' => 'Blk/Phaistos',
- 'phli' => 'Sc/Phli',
- 'phnx' => 'Sc/Phnx',
- 'phoenician' => 'Sc/Phnx',
- 'phoneticextensions' => 'Blk/Phonetic',
- 'phoneticextensionssupplement' => 'Blk/Phoneti2',
- 'pi' => 'Gc/Pi',
- 'playingcards' => 'Blk/PlayingC',
- 'po' => 'Gc/Po',
- 'posixalnum' => 'Perl/PosixAln',
- 'posixalpha' => 'Perl/PosixAlp',
- 'posixblank' => 'Perl/PosixBla',
- 'posixcntrl' => 'Perl/PosixCnt',
- 'posixdigit' => 'Perl/PosixDig',
- 'posixgraph' => 'Perl/PosixGra',
- 'posixlower' => 'Perl/PosixLow',
- 'posixprint' => 'Perl/PosixPri',
- 'posixpunct' => 'Perl/PosixPun',
- 'posixspace' => 'Perl/PosixSpa',
- 'posixupper' => 'Perl/PosixUpp',
- 'posixword' => 'Perl/PerlWord',
- 'posixxdigit' => 'AHex/Y',
- 'print' => 'Perl/Print',
- 'privateuse' => 'Gc/Co',
- 'privateusearea' => 'Blk/PrivateU',
- 'prti' => 'Sc/Prti',
- 'ps' => 'Gc/Ps',
- 'punct' => 'Gc/P',
- 'punctuation' => 'Gc/P',
- 'qaac' => 'Sc/Copt',
- 'qaai' => 'Sc/Zinh',
- 'qmark' => 'QMark/Y',
- 'qmark=f' => 'QMark/N',
- 'qmark=false' => 'QMark/N',
- 'qmark=n' => 'QMark/N',
- 'qmark=no' => 'QMark/N',
- 'qmark=t' => 'QMark/Y',
- 'qmark=true' => 'QMark/Y',
- 'qmark=y' => 'QMark/Y',
- 'qmark=yes' => 'QMark/Y',
- 'quotationmark' => 'QMark/Y',
- 'radical' => 'Radical/Y',
- 'radical=f' => 'Radical/N',
- 'radical=false' => 'Radical/N',
- 'radical=n' => 'Radical/N',
- 'radical=no' => 'Radical/N',
- 'radical=t' => 'Radical/Y',
- 'radical=true' => 'Radical/Y',
- 'radical=y' => 'Radical/Y',
- 'radical=yes' => 'Radical/Y',
- 'rejang' => 'Sc/Rjng',
- 'rjng' => 'Sc/Rjng',
- 'ruminumeralsymbols' => 'Blk/RumiNume',
- 'runic' => 'Sc/Runr',
- 'runr' => 'Sc/Runr',
- 's' => 'Gc/S',
- 'samaritan' => 'Sc/Samr',
- 'samr' => 'Sc/Samr',
- 'sarb' => 'Blk/OldSouth',
- 'saur' => 'Sc/Saur',
- 'saurashtra' => 'Sc/Saur',
- 'sb=at' => 'SB/AT',
- 'sb=aterm' => 'SB/AT',
- 'sb=cl' => 'SB/CL',
- 'sb=close' => 'SB/CL',
- 'sb=cr' => 'GCB/CR',
- 'sb=ex' => 'SB/EX',
- 'sb=extend' => 'SB/EX',
- 'sb=fo' => 'SB/FO',
- 'sb=format' => 'SB/FO',
- 'sb=le' => 'SB/LE',
- 'sb=lf' => 'GCB/LF',
- 'sb=lo' => 'SB/LO',
- 'sb=lower' => 'SB/LO',
- 'sb=nu' => 'Lb/NU',
- 'sb=numeric' => 'Lb/NU',
- 'sb=oletter' => 'SB/LE',
- 'sb=other' => 'SB/XX',
- 'sb=sc' => 'SB/SC',
- 'sb=scontinue' => 'SB/SC',
- 'sb=se' => 'SB/SE',
- 'sb=sep' => 'SB/SE',
- 'sb=sp' => 'SB/Sp',
- 'sb=st' => 'SB/ST',
- 'sb=sterm' => 'SB/ST',
- 'sb=up' => 'SB/UP',
- 'sb=upper' => 'SB/UP',
- 'sb=xx' => 'SB/XX',
- 'sc' => 'Gc/Sc',
- 'sc=arab' => 'Sc/Arab',
- 'sc=arabic' => 'Sc/Arab',
- 'sc=armenian' => 'Sc/Armn',
- 'sc=armi' => 'Sc/Armi',
- 'sc=armn' => 'Sc/Armn',
- 'sc=avestan' => 'Sc/Avst',
- 'sc=avst' => 'Sc/Avst',
- 'sc=bali' => 'Sc/Bali',
- 'sc=balinese' => 'Sc/Bali',
- 'sc=bamu' => 'Sc/Bamu',
- 'sc=bamum' => 'Sc/Bamu',
- 'sc=batak' => 'Sc/Batk',
- 'sc=batk' => 'Sc/Batk',
- 'sc=beng' => 'Sc/Beng',
- 'sc=bengali' => 'Sc/Beng',
- 'sc=bopo' => 'Sc/Bopo',
- 'sc=bopomofo' => 'Sc/Bopo',
- 'sc=brah' => 'Sc/Brah',
- 'sc=brahmi' => 'Sc/Brah',
- 'sc=brai' => 'Blk/BrailleP',
- 'sc=braille' => 'Blk/BrailleP',
- 'sc=bugi' => 'Sc/Bugi',
- 'sc=buginese' => 'Sc/Bugi',
- 'sc=buhd' => 'Sc/Buhd',
- 'sc=buhid' => 'Sc/Buhd',
- 'sc=canadianaboriginal' => 'Sc/Cans',
- 'sc=cans' => 'Sc/Cans',
- 'sc=cari' => 'Sc/Cari',
- 'sc=carian' => 'Sc/Cari',
- 'sc=cham' => 'Sc/Cham',
- 'sc=cher' => 'Sc/Cher',
- 'sc=cherokee' => 'Sc/Cher',
- 'sc=common' => 'Sc/Zyyy',
- 'sc=copt' => 'Sc/Copt',
- 'sc=coptic' => 'Sc/Copt',
- 'sc=cprt' => 'Sc/Cprt',
- 'sc=cuneiform' => 'Sc/Xsux',
- 'sc=cypriot' => 'Sc/Cprt',
- 'sc=cyrillic' => 'Sc/Cyrl',
- 'sc=cyrl' => 'Sc/Cyrl',
- 'sc=deseret' => 'Blk/Deseret',
- 'sc=deva' => 'Sc/Deva',
- 'sc=devanagari' => 'Sc/Deva',
- 'sc=dsrt' => 'Blk/Deseret',
- 'sc=egyp' => 'Sc/Egyp',
- 'sc=egyptianhieroglyphs' => 'Sc/Egyp',
- 'sc=ethi' => 'Sc/Ethi',
- 'sc=ethiopic' => 'Sc/Ethi',
- 'sc=geor' => 'Sc/Geor',
- 'sc=georgian' => 'Sc/Geor',
- 'sc=glag' => 'Sc/Glag',
- 'sc=glagolitic' => 'Sc/Glag',
- 'sc=goth' => 'Sc/Goth',
- 'sc=gothic' => 'Sc/Goth',
- 'sc=greek' => 'Sc/Grek',
- 'sc=grek' => 'Sc/Grek',
- 'sc=gujarati' => 'Sc/Gujr',
- 'sc=gujr' => 'Sc/Gujr',
- 'sc=gurmukhi' => 'Sc/Guru',
- 'sc=guru' => 'Sc/Guru',
- 'sc=han' => 'Sc/Han',
- 'sc=hang' => 'Sc/Hang',
- 'sc=hangul' => 'Sc/Hang',
- 'sc=hani' => 'Sc/Han',
- 'sc=hano' => 'Sc/Hano',
- 'sc=hanunoo' => 'Sc/Hano',
- 'sc=hebr' => 'Sc/Hebr',
- 'sc=hebrew' => 'Sc/Hebr',
- 'sc=hira' => 'Sc/Hira',
- 'sc=hiragana' => 'Sc/Hira',
- 'sc=imperialaramaic' => 'Sc/Armi',
- 'sc=inherited' => 'Sc/Zinh',
- 'sc=inscriptionalpahlavi' => 'Sc/Phli',
- 'sc=inscriptionalparthian' => 'Sc/Prti',
- 'sc=ital' => 'Sc/Ital',
- 'sc=java' => 'Sc/Java',
- 'sc=javanese' => 'Sc/Java',
- 'sc=kaithi' => 'Sc/Kthi',
- 'sc=kali' => 'Blk/KayahLi',
- 'sc=kana' => 'Sc/Kana',
- 'sc=kannada' => 'Sc/Knda',
- 'sc=katakana' => 'Sc/Kana',
- 'sc=kayahli' => 'Blk/KayahLi',
- 'sc=khar' => 'Sc/Khar',
- 'sc=kharoshthi' => 'Sc/Khar',
- 'sc=khmer' => 'Sc/Khmr',
- 'sc=khmr' => 'Sc/Khmr',
- 'sc=knda' => 'Sc/Knda',
- 'sc=kthi' => 'Sc/Kthi',
- 'sc=lana' => 'Sc/Lana',
- 'sc=lao' => 'Sc/Lao',
- 'sc=laoo' => 'Sc/Lao',
- 'sc=latin' => 'Sc/Latn',
- 'sc=latn' => 'Sc/Latn',
- 'sc=lepc' => 'Sc/Lepc',
- 'sc=lepcha' => 'Sc/Lepc',
- 'sc=limb' => 'Sc/Limb',
- 'sc=limbu' => 'Sc/Limb',
- 'sc=linb' => 'Sc/Linb',
- 'sc=linearb' => 'Sc/Linb',
- 'sc=lisu' => 'Blk/Lisu',
- 'sc=lyci' => 'Sc/Lyci',
- 'sc=lycian' => 'Sc/Lyci',
- 'sc=lydi' => 'Sc/Lydi',
- 'sc=lydian' => 'Sc/Lydi',
- 'sc=malayalam' => 'Sc/Mlym',
- 'sc=mand' => 'Sc/Mand',
- 'sc=mandaic' => 'Sc/Mand',
- 'sc=meeteimayek' => 'Sc/Mtei',
- 'sc=mlym' => 'Sc/Mlym',
- 'sc=mong' => 'Sc/Mong',
- 'sc=mongolian' => 'Sc/Mong',
- 'sc=mtei' => 'Sc/Mtei',
- 'sc=myanmar' => 'Sc/Mymr',
- 'sc=mymr' => 'Sc/Mymr',
- 'sc=newtailue' => 'Sc/Talu',
- 'sc=nko' => 'Sc/Nko',
- 'sc=nkoo' => 'Sc/Nko',
- 'sc=ogam' => 'Sc/Ogam',
- 'sc=ogham' => 'Sc/Ogam',
- 'sc=olchiki' => 'Blk/OlChiki',
- 'sc=olck' => 'Blk/OlChiki',
- 'sc=olditalic' => 'Sc/Ital',
- 'sc=oldpersian' => 'Sc/Xpeo',
- 'sc=oldsoutharabian' => 'Blk/OldSouth',
- 'sc=oldturkic' => 'Sc/Orkh',
- 'sc=oriya' => 'Sc/Orya',
- 'sc=orkh' => 'Sc/Orkh',
- 'sc=orya' => 'Sc/Orya',
- 'sc=osma' => 'Sc/Osma',
- 'sc=osmanya' => 'Sc/Osma',
- 'sc=phag' => 'Sc/Phag',
- 'sc=phagspa' => 'Sc/Phag',
- 'sc=phli' => 'Sc/Phli',
- 'sc=phnx' => 'Sc/Phnx',
- 'sc=phoenician' => 'Sc/Phnx',
- 'sc=prti' => 'Sc/Prti',
- 'sc=qaac' => 'Sc/Copt',
- 'sc=qaai' => 'Sc/Zinh',
- 'sc=rejang' => 'Sc/Rjng',
- 'sc=rjng' => 'Sc/Rjng',
- 'sc=runic' => 'Sc/Runr',
- 'sc=runr' => 'Sc/Runr',
- 'sc=samaritan' => 'Sc/Samr',
- 'sc=samr' => 'Sc/Samr',
- 'sc=sarb' => 'Blk/OldSouth',
- 'sc=saur' => 'Sc/Saur',
- 'sc=saurashtra' => 'Sc/Saur',
- 'sc=shavian' => 'Blk/Shavian',
- 'sc=shaw' => 'Blk/Shavian',
- 'sc=sinh' => 'Sc/Sinh',
- 'sc=sinhala' => 'Sc/Sinh',
- 'sc=sund' => 'Sc/Sund',
- 'sc=sundanese' => 'Sc/Sund',
- 'sc=sylo' => 'Sc/Sylo',
- 'sc=sylotinagri' => 'Sc/Sylo',
- 'sc=syrc' => 'Sc/Syrc',
- 'sc=syriac' => 'Sc/Syrc',
- 'sc=tagalog' => 'Sc/Tglg',
- 'sc=tagb' => 'Sc/Tagb',
- 'sc=tagbanwa' => 'Sc/Tagb',
- 'sc=taile' => 'Sc/Tale',
- 'sc=taitham' => 'Sc/Lana',
- 'sc=taiviet' => 'Sc/Tavt',
- 'sc=tale' => 'Sc/Tale',
- 'sc=talu' => 'Sc/Talu',
- 'sc=tamil' => 'Sc/Taml',
- 'sc=taml' => 'Sc/Taml',
- 'sc=tavt' => 'Sc/Tavt',
- 'sc=telu' => 'Sc/Telu',
- 'sc=telugu' => 'Sc/Telu',
- 'sc=tfng' => 'Sc/Tfng',
- 'sc=tglg' => 'Sc/Tglg',
- 'sc=thaa' => 'Sc/Thaa',
- 'sc=thaana' => 'Sc/Thaa',
- 'sc=thai' => 'Sc/Thai',
- 'sc=tibetan' => 'Sc/Tibt',
- 'sc=tibt' => 'Sc/Tibt',
- 'sc=tifinagh' => 'Sc/Tfng',
- 'sc=ugar' => 'Sc/Ugar',
- 'sc=ugaritic' => 'Sc/Ugar',
- 'sc=unknown' => 'Sc/Zzzz',
- 'sc=vai' => 'Sc/Vai',
- 'sc=vaii' => 'Sc/Vai',
- 'sc=xpeo' => 'Sc/Xpeo',
- 'sc=xsux' => 'Sc/Xsux',
- 'sc=yi' => 'Sc/Yi',
- 'sc=yiii' => 'Sc/Yi',
- 'sc=zinh' => 'Sc/Zinh',
- 'sc=zyyy' => 'Sc/Zyyy',
- 'sc=zzzz' => 'Sc/Zzzz',
- 'sd' => 'SD/Y',
- 'sd=f' => 'SD/N',
- 'sd=false' => 'SD/N',
- 'sd=n' => 'SD/N',
- 'sd=no' => 'SD/N',
- 'sd=t' => 'SD/Y',
- 'sd=true' => 'SD/Y',
- 'sd=y' => 'SD/Y',
- 'sd=yes' => 'SD/Y',
- 'separator' => 'Gc/Z',
- 'shavian' => 'Blk/Shavian',
- 'shaw' => 'Blk/Shavian',
- 'sinh' => 'Sc/Sinh',
- 'sinhala' => 'Sc/Sinh',
- 'sk' => 'Gc/Sk',
- 'sm' => 'Gc/Sm',
- 'smallformvariants' => 'Blk/SmallFor',
- 'so' => 'Gc/So',
- 'softdotted' => 'SD/Y',
- 'space' => 'Space/Y',
- 'spaceperl' => 'Perl/SpacePer',
- 'spaceseparator' => 'Gc/Zs',
- 'spacingmark' => 'Gc/Mc',
- 'spacingmodifierletters' => 'Blk/SpacingM',
- 'specials' => 'Blk/Specials',
- 'sterm' => 'STerm/Y',
- 'sterm=f' => 'STerm/N',
- 'sterm=false' => 'STerm/N',
- 'sterm=n' => 'STerm/N',
- 'sterm=no' => 'STerm/N',
- 'sterm=t' => 'STerm/Y',
- 'sterm=true' => 'STerm/Y',
- 'sterm=y' => 'STerm/Y',
- 'sterm=yes' => 'STerm/Y',
- 'sund' => 'Sc/Sund',
- 'sundanese' => 'Sc/Sund',
- 'superscriptsandsubscripts' => 'Blk/Superscr',
- 'supplementalarrowsa' => 'Blk/Suppleme',
- 'supplementalarrowsb' => 'Blk/Supplem2',
- 'supplementalmathematicaloperators' => 'Blk/Supplem6',
- 'supplementalpunctuation' => 'Blk/Supplem3',
- 'supplementaryprivateuseareaa' => 'Blk/Supplem4',
- 'supplementaryprivateuseareab' => 'Blk/Supplem5',
- 'surrogate' => 'Gc/Cs',
- 'sylo' => 'Sc/Sylo',
- 'sylotinagri' => 'Sc/Sylo',
- 'symbol' => 'Gc/S',
- 'syrc' => 'Sc/Syrc',
- 'syriac' => 'Sc/Syrc',
- 'tagalog' => 'Sc/Tglg',
- 'tagb' => 'Sc/Tagb',
- 'tagbanwa' => 'Sc/Tagb',
- 'tags' => 'Blk/Tags',
- 'taile' => 'Sc/Tale',
- 'taitham' => 'Sc/Lana',
- 'taiviet' => 'Sc/Tavt',
- 'taixuanjingsymbols' => 'Blk/TaiXuanJ',
- 'tale' => 'Sc/Tale',
- 'talu' => 'Sc/Talu',
- 'tamil' => 'Sc/Taml',
- 'taml' => 'Sc/Taml',
- 'tavt' => 'Sc/Tavt',
- 'telu' => 'Sc/Telu',
- 'telugu' => 'Sc/Telu',
- 'term' => 'Term/Y',
- 'term=f' => 'Term/N',
- 'term=false' => 'Term/N',
- 'term=n' => 'Term/N',
- 'term=no' => 'Term/N',
- 'term=t' => 'Term/Y',
- 'term=true' => 'Term/Y',
- 'term=y' => 'Term/Y',
- 'term=yes' => 'Term/Y',
- 'terminalpunctuation' => 'Term/Y',
- 'tfng' => 'Sc/Tfng',
- 'tglg' => 'Sc/Tglg',
- 'thaa' => 'Sc/Thaa',
- 'thaana' => 'Sc/Thaa',
- 'thai' => 'Sc/Thai',
- 'tibetan' => 'Sc/Tibt',
- 'tibt' => 'Sc/Tibt',
- 'tifinagh' => 'Sc/Tfng',
- 'title' => 'Perl/Title',
- 'titlecase' => 'Perl/Title',
- 'titlecaseletter' => 'Perl/Title',
- 'transportandmapsymbols' => 'Blk/Transpor',
- 'ugar' => 'Sc/Ugar',
- 'ugaritic' => 'Sc/Ugar',
- 'uideo' => 'UIdeo/Y',
- 'uideo=f' => 'UIdeo/N',
- 'uideo=false' => 'UIdeo/N',
- 'uideo=n' => 'UIdeo/N',
- 'uideo=no' => 'UIdeo/N',
- 'uideo=t' => 'UIdeo/Y',
- 'uideo=true' => 'UIdeo/Y',
- 'uideo=y' => 'UIdeo/Y',
- 'uideo=yes' => 'UIdeo/Y',
- 'unassigned' => 'Gc/Cn',
- 'unifiedcanadianaboriginalsyllabics' => 'Blk/Canadian',
- 'unifiedcanadianaboriginalsyllabicsextended' => 'Blk/UnifiedC',
- 'unifiedideograph' => 'UIdeo/Y',
- 'unknown' => 'Sc/Zzzz',
- 'upper' => 'Upper/Y',
- 'upper=f' => 'Upper/N',
- 'upper=false' => 'Upper/N',
- 'upper=n' => 'Upper/N',
- 'upper=no' => 'Upper/N',
- 'upper=t' => 'Upper/Y',
- 'upper=true' => 'Upper/Y',
- 'upper=y' => 'Upper/Y',
- 'upper=yes' => 'Upper/Y',
- 'uppercase' => 'Upper/Y',
- 'uppercaseletter' => 'Gc/Lu',
- 'vai' => 'Sc/Vai',
- 'vaii' => 'Sc/Vai',
- 'variationselector' => 'VS/Y',
- 'variationselectors' => 'Blk/Variatio',
- 'variationselectorssupplement' => 'Blk/Variati2',
- 'vedicextensions' => 'Blk/VedicExt',
- 'verticalforms' => 'Blk/Vertical',
- 'vertspace' => 'Perl/VertSpac',
- 'vs' => 'VS/Y',
- 'vs=f' => 'VS/N',
- 'vs=false' => 'VS/N',
- 'vs=n' => 'VS/N',
- 'vs=no' => 'VS/N',
- 'vs=t' => 'VS/Y',
- 'vs=true' => 'VS/Y',
- 'vs=y' => 'VS/Y',
- 'vs=yes' => 'VS/Y',
- 'wb=aletter' => 'WB/LE',
- 'wb=cr' => 'GCB/CR',
- 'wb=ex' => 'WB/EX',
- 'wb=extend' => 'SB/EX',
- 'wb=extendnumlet' => 'WB/EX',
- 'wb=fo' => 'WB/FO',
- 'wb=format' => 'WB/FO',
- 'wb=ka' => 'WB/KA',
- 'wb=katakana' => 'WB/KA',
- 'wb=le' => 'WB/LE',
- 'wb=lf' => 'GCB/LF',
- 'wb=mb' => 'WB/MB',
- 'wb=midletter' => 'WB/ML',
- 'wb=midnum' => 'WB/MN',
- 'wb=midnumlet' => 'WB/MB',
- 'wb=ml' => 'WB/ML',
- 'wb=mn' => 'WB/MN',
- 'wb=newline' => 'WB/NL',
- 'wb=nl' => 'WB/NL',
- 'wb=nu' => 'WB/NU',
- 'wb=numeric' => 'WB/NU',
- 'wb=other' => 'WB/XX',
- 'wb=xx' => 'WB/XX',
- 'whitespace' => 'Space/Y',
- 'word' => 'Perl/Word',
- 'wspace' => 'Space/Y',
- 'wspace=f' => 'Space/N',
- 'wspace=false' => 'Space/N',
- 'wspace=n' => 'Space/N',
- 'wspace=no' => 'Space/N',
- 'wspace=t' => 'Space/Y',
- 'wspace=true' => 'Space/Y',
- 'wspace=y' => 'Space/Y',
- 'wspace=yes' => 'Space/Y',
- 'xdigit' => 'Hex/Y',
- 'xidc' => 'XIDC/Y',
- 'xidc=f' => 'XIDC/N',
- 'xidc=false' => 'XIDC/N',
- 'xidc=n' => 'XIDC/N',
- 'xidc=no' => 'XIDC/N',
- 'xidc=t' => 'XIDC/Y',
- 'xidc=true' => 'XIDC/Y',
- 'xidc=y' => 'XIDC/Y',
- 'xidc=yes' => 'XIDC/Y',
- 'xidcontinue' => 'XIDC/Y',
- 'xids' => 'XIDS/Y',
- 'xids=f' => 'XIDS/N',
- 'xids=false' => 'XIDS/N',
- 'xids=n' => 'XIDS/N',
- 'xids=no' => 'XIDS/N',
- 'xids=t' => 'XIDS/Y',
- 'xids=true' => 'XIDS/Y',
- 'xids=y' => 'XIDS/Y',
- 'xids=yes' => 'XIDS/Y',
- 'xidstart' => 'XIDS/Y',
- 'xpeo' => 'Sc/Xpeo',
- 'xperlspace' => 'Perl/SpacePer',
- 'xposixalnum' => 'Perl/Alnum',
- 'xposixalpha' => 'Alpha/Y',
- 'xposixblank' => 'Perl/Blank',
- 'xposixcntrl' => 'Gc/Cc',
- 'xposixdigit' => 'Nt/De',
- 'xposixgraph' => 'Perl/Graph',
- 'xposixlower' => 'Lower/Y',
- 'xposixprint' => 'Perl/Print',
- 'xposixpunct' => 'Perl/XPosixPu',
- 'xposixspace' => 'Space/Y',
- 'xposixupper' => 'Upper/Y',
- 'xposixword' => 'Perl/Word',
- 'xposixxdigit' => 'Hex/Y',
- 'xsux' => 'Sc/Xsux',
- 'yi' => 'Sc/Yi',
- 'yiii' => 'Sc/Yi',
- 'yijinghexagramsymbols' => 'Blk/YijingHe',
- 'yiradicals' => 'Blk/YiRadica',
- 'yisyllables' => 'Blk/YiSyllab',
- 'z' => 'Gc/Z',
- 'zinh' => 'Sc/Zinh',
- 'zl' => 'Gc/Zl',
- 'zp' => 'Gc/Zp',
- 'zs' => 'Gc/Zs',
- 'zyyy' => 'Sc/Zyyy',
- 'zzzz' => 'Sc/Zzzz',
+'aegeannumbers' => 'Blk/AegeanNu',
+'age=na' => 'Age/NA',
+'age=unassigned' => 'Age/NA',
+'age=v11' => 'Age/V11',
+'age=v20' => 'Age/V20',
+'age=v21' => 'Age/V21',
+'age=v30' => 'Age/V30',
+'age=v31' => 'Age/V31',
+'age=v32' => 'Age/V32',
+'age=v40' => 'Age/V40',
+'age=v41' => 'Age/V41',
+'age=v50' => 'Age/V50',
+'age=v51' => 'Age/V51',
+'age=v52' => 'Age/V52',
+'age=v60' => 'Age/V60',
+'age=v61' => 'Age/V61',
+'ahex' => 'AHex/Y',
+'ahex=f' => '!AHex/Y',
+'ahex=false' => '!AHex/Y',
+'ahex=n' => '!AHex/Y',
+'ahex=no' => '!AHex/Y',
+'ahex=t' => 'AHex/Y',
+'ahex=true' => 'AHex/Y',
+'ahex=y' => 'AHex/Y',
+'ahex=yes' => 'AHex/Y',
+'alchemical' => 'Blk/Alchemic',
+'alchemicalsymbols' => 'Blk/Alchemic',
+'all' => 'Perl/Any',
+'alnum' => 'Perl/Alnum',
+'alpha' => 'Alpha/Y',
+'alpha=f' => '!Alpha/Y',
+'alpha=false' => '!Alpha/Y',
+'alpha=n' => '!Alpha/Y',
+'alpha=no' => '!Alpha/Y',
+'alpha=t' => 'Alpha/Y',
+'alpha=true' => 'Alpha/Y',
+'alpha=y' => 'Alpha/Y',
+'alpha=yes' => 'Alpha/Y',
+'alphabetic' => 'Alpha/Y',
+'alphabeticpf' => 'Blk/Alphabet',
+'alphabeticpresentationforms' => 'Blk/Alphabet',
+'ancientgreekmusic' => 'Blk/AncientG',
+'ancientgreekmusicalnotation' => 'Blk/AncientG',
+'ancientgreeknumbers' => 'Blk/Ancient2',
+'ancientsymbols' => 'Blk/AncientS',
+'any' => 'Perl/Any',
+'arab' => 'Sc/Arab',
+'arabic' => 'Sc/Arab',
+'arabicexta' => 'Blk/ArabicEx',
+'arabicextendeda' => 'Blk/ArabicEx',
+'arabicmath' => 'Blk/ArabicMa',
+'arabicmathematicalalphabeticsymbols' => 'Blk/ArabicMa',
+'arabicpfa' => 'Blk/ArabicPF',
+'arabicpfb' => 'Blk/ArabicP2',
+'arabicpresentationformsa' => 'Blk/ArabicPF',
+'arabicpresentationformsb' => 'Blk/ArabicP2',
+'arabicsup' => 'Blk/ArabicSu',
+'arabicsupplement' => 'Blk/ArabicSu',
+'armenian' => 'Sc/Armn',
+'armi' => 'Scx/Armi',
+'armn' => 'Sc/Armn',
+'arrows' => 'Blk/Arrows',
+'ascii' => 'Blk/ASCII',
+'asciihexdigit' => 'AHex/Y',
+'assigned' => 'Perl/Assigned',
+'avestan' => 'Scx/Avst',
+'avst' => 'Scx/Avst',
+'bali' => 'Scx/Bali',
+'balinese' => 'Scx/Bali',
+'bamu' => 'Scx/Bamu',
+'bamum' => 'Scx/Bamu',
+'bamumsup' => 'Blk/BamumSup',
+'bamumsupplement' => 'Blk/BamumSup',
+'basiclatin' => 'Blk/ASCII',
+'batak' => 'Scx/Batk',
+'batk' => 'Scx/Batk',
+'bc=al' => 'Bc/AL',
+'bc=an' => 'Bc/AN',
+'bc=arabicletter' => 'Bc/AL',
+'bc=arabicnumber' => 'Bc/AN',
+'bc=b' => 'Bc/B',
+'bc=bn' => 'Bc/BN',
+'bc=boundaryneutral' => 'Bc/BN',
+'bc=commonseparator' => 'Bc/CS',
+'bc=cs' => 'Bc/CS',
+'bc=en' => 'Bc/EN',
+'bc=es' => 'Bc/ES',
+'bc=et' => 'Bc/ET',
+'bc=europeannumber' => 'Bc/EN',
+'bc=europeanseparator' => 'Bc/ES',
+'bc=europeanterminator' => 'Bc/ET',
+'bc=l' => 'Bc/L',
+'bc=lefttoright' => 'Bc/L',
+'bc=lefttorightembedding' => 'Bc/LRE',
+'bc=lefttorightoverride' => 'Bc/LRO',
+'bc=lre' => 'Bc/LRE',
+'bc=lro' => 'Bc/LRO',
+'bc=nonspacingmark' => 'Bc/NSM',
+'bc=nsm' => 'Bc/NSM',
+'bc=on' => 'Bc/ON',
+'bc=otherneutral' => 'Bc/ON',
+'bc=paragraphseparator' => 'Bc/B',
+'bc=pdf' => 'Bc/PDF',
+'bc=popdirectionalformat' => 'Bc/PDF',
+'bc=r' => 'Bc/R',
+'bc=righttoleft' => 'Bc/R',
+'bc=righttoleftembedding' => 'Bc/RLE',
+'bc=righttoleftoverride' => 'Bc/RLO',
+'bc=rle' => 'Bc/RLE',
+'bc=rlo' => 'Bc/RLO',
+'bc=s' => 'Bc/S',
+'bc=segmentseparator' => 'Bc/S',
+'bc=whitespace' => 'Bc/WS',
+'bc=ws' => 'Bc/WS',
+'beng' => 'Sc/Beng',
+'bengali' => 'Sc/Beng',
+'bidic' => 'BidiC/Y',
+'bidic=f' => '!BidiC/Y',
+'bidic=false' => '!BidiC/Y',
+'bidic=n' => '!BidiC/Y',
+'bidic=no' => '!BidiC/Y',
+'bidic=t' => 'BidiC/Y',
+'bidic=true' => 'BidiC/Y',
+'bidic=y' => 'BidiC/Y',
+'bidic=yes' => 'BidiC/Y',
+'bidicontrol' => 'BidiC/Y',
+'bidim' => 'BidiM/Y',
+'bidim=f' => '!BidiM/Y',
+'bidim=false' => '!BidiM/Y',
+'bidim=n' => '!BidiM/Y',
+'bidim=no' => '!BidiM/Y',
+'bidim=t' => 'BidiM/Y',
+'bidim=true' => 'BidiM/Y',
+'bidim=y' => 'BidiM/Y',
+'bidim=yes' => 'BidiM/Y',
+'bidimirrored' => 'BidiM/Y',
+'blank' => 'Perl/Blank',
+'blk=aegeannumbers' => 'Blk/AegeanNu',
+'blk=alchemical' => 'Blk/Alchemic',
+'blk=alchemicalsymbols' => 'Blk/Alchemic',
+'blk=alphabeticpf' => 'Blk/Alphabet',
+'blk=alphabeticpresentationforms' => 'Blk/Alphabet',
+'blk=ancientgreekmusic' => 'Blk/AncientG',
+'blk=ancientgreekmusicalnotation' => 'Blk/AncientG',
+'blk=ancientgreeknumbers' => 'Blk/Ancient2',
+'blk=ancientsymbols' => 'Blk/AncientS',
+'blk=arabic' => 'Blk/Arabic',
+'blk=arabicexta' => 'Blk/ArabicEx',
+'blk=arabicextendeda' => 'Blk/ArabicEx',
+'blk=arabicmath' => 'Blk/ArabicMa',
+'blk=arabicmathematicalalphabeticsymbols' => 'Blk/ArabicMa',
+'blk=arabicpfa' => 'Blk/ArabicPF',
+'blk=arabicpfb' => 'Blk/ArabicP2',
+'blk=arabicpresentationformsa' => 'Blk/ArabicPF',
+'blk=arabicpresentationformsb' => 'Blk/ArabicP2',
+'blk=arabicsup' => 'Blk/ArabicSu',
+'blk=arabicsupplement' => 'Blk/ArabicSu',
+'blk=armenian' => 'Blk/Armenian',
+'blk=arrows' => 'Blk/Arrows',
+'blk=ascii' => 'Blk/ASCII',
+'blk=avestan' => 'Blk/Avestan',
+'blk=balinese' => 'Blk/Balinese',
+'blk=bamum' => 'Blk/Bamum',
+'blk=bamumsup' => 'Blk/BamumSup',
+'blk=bamumsupplement' => 'Blk/BamumSup',
+'blk=basiclatin' => 'Blk/ASCII',
+'blk=batak' => 'Blk/Batak',
+'blk=bengali' => 'Blk/Bengali',
+'blk=blockelements' => 'Blk/BlockEle',
+'blk=bopomofo' => 'Blk/Bopomofo',
+'blk=bopomofoext' => 'Blk/Bopomof2',
+'blk=bopomofoextended' => 'Blk/Bopomof2',
+'blk=boxdrawing' => 'Blk/BoxDrawi',
+'blk=brahmi' => 'Blk/Brahmi',
+'blk=braille' => 'Scx/Brai',
+'blk=braillepatterns' => 'Scx/Brai',
+'blk=buginese' => 'Blk/Buginese',
+'blk=buhid' => 'Blk/Buhid',
+'blk=byzantinemusic' => 'Blk/Byzantin',
+'blk=byzantinemusicalsymbols' => 'Blk/Byzantin',
+'blk=canadiansyllabics' => 'Blk/UCAS',
+'blk=carian' => 'Blk/Carian',
+'blk=chakma' => 'Blk/Chakma',
+'blk=cham' => 'Blk/Cham',
+'blk=cherokee' => 'Blk/Cherokee',
+'blk=cjk' => 'Blk/CJK',
+'blk=cjkcompat' => 'Blk/CJKCompa',
+'blk=cjkcompatforms' => 'Blk/CJKComp2',
+'blk=cjkcompatibility' => 'Blk/CJKCompa',
+'blk=cjkcompatibilityforms' => 'Blk/CJKComp2',
+'blk=cjkcompatibilityideographs' => 'Blk/CJKComp3',
+'blk=cjkcompatibilityideographssupplement' => 'Blk/CJKComp4',
+'blk=cjkcompatideographs' => 'Blk/CJKComp3',
+'blk=cjkcompatideographssup' => 'Blk/CJKComp4',
+'blk=cjkexta' => 'Blk/CJKExtA',
+'blk=cjkextb' => 'Blk/CJKExtB',
+'blk=cjkextc' => 'Blk/CJKExtC',
+'blk=cjkextd' => 'Blk/CJKExtD',
+'blk=cjkradicalssup' => 'Blk/CJKRadic',
+'blk=cjkradicalssupplement' => 'Blk/CJKRadic',
+'blk=cjkstrokes' => 'Blk/CJKStrok',
+'blk=cjksymbols' => 'Blk/CJKSymbo',
+'blk=cjksymbolsandpunctuation' => 'Blk/CJKSymbo',
+'blk=cjkunifiedideographs' => 'Blk/CJK',
+'blk=cjkunifiedideographsextensiona' => 'Blk/CJKExtA',
+'blk=cjkunifiedideographsextensionb' => 'Blk/CJKExtB',
+'blk=cjkunifiedideographsextensionc' => 'Blk/CJKExtC',
+'blk=cjkunifiedideographsextensiond' => 'Blk/CJKExtD',
+'blk=combiningdiacriticalmarks' => 'Blk/Diacriti',
+'blk=combiningdiacriticalmarksforsymbols' => 'Blk/Diacrit3',
+'blk=combiningdiacriticalmarkssupplement' => 'Blk/Diacrit2',
+'blk=combininghalfmarks' => 'Blk/HalfMark',
+'blk=combiningmarksforsymbols' => 'Blk/Diacrit3',
+'blk=commonindicnumberforms' => 'Blk/IndicNum',
+'blk=compatjamo' => 'Blk/CompatJa',
+'blk=controlpictures' => 'Blk/ControlP',
+'blk=coptic' => 'Blk/Coptic',
+'blk=countingrod' => 'Blk/Counting',
+'blk=countingrodnumerals' => 'Blk/Counting',
+'blk=cuneiform' => 'Blk/Cuneifor',
+'blk=cuneiformnumbers' => 'Blk/Cuneifo2',
+'blk=cuneiformnumbersandpunctuation' => 'Blk/Cuneifo2',
+'blk=currencysymbols' => 'Blk/Currency',
+'blk=cypriotsyllabary' => 'Blk/CypriotS',
+'blk=cyrillic' => 'Blk/Cyrillic',
+'blk=cyrillicexta' => 'Blk/Cyrilli3',
+'blk=cyrillicextb' => 'Blk/Cyrilli4',
+'blk=cyrillicextendeda' => 'Blk/Cyrilli3',
+'blk=cyrillicextendedb' => 'Blk/Cyrilli4',
+'blk=cyrillicsup' => 'Blk/Cyrilli2',
+'blk=cyrillicsupplement' => 'Blk/Cyrilli2',
+'blk=cyrillicsupplementary' => 'Blk/Cyrilli2',
+'blk=deseret' => 'Scx/Dsrt',
+'blk=devanagari' => 'Blk/Devanaga',
+'blk=devanagariext' => 'Blk/Devanag2',
+'blk=devanagariextended' => 'Blk/Devanag2',
+'blk=diacriticals' => 'Blk/Diacriti',
+'blk=diacriticalsforsymbols' => 'Blk/Diacrit3',
+'blk=diacriticalssup' => 'Blk/Diacrit2',
+'blk=dingbats' => 'Blk/Dingbats',
+'blk=domino' => 'Blk/Domino',
+'blk=dominotiles' => 'Blk/Domino',
+'blk=egyptianhieroglyphs' => 'Blk/Egyptian',
+'blk=emoticons' => 'Blk/Emoticon',
+'blk=enclosedalphanum' => 'Blk/Enclose2',
+'blk=enclosedalphanumerics' => 'Blk/Enclose2',
+'blk=enclosedalphanumericsupplement' => 'Blk/Enclose3',
+'blk=enclosedalphanumsup' => 'Blk/Enclose3',
+'blk=enclosedcjk' => 'Blk/Enclosed',
+'blk=enclosedcjklettersandmonths' => 'Blk/Enclosed',
+'blk=enclosedideographicsup' => 'Blk/Enclose4',
+'blk=enclosedideographicsupplement' => 'Blk/Enclose4',
+'blk=ethiopic' => 'Blk/Ethiopic',
+'blk=ethiopicext' => 'Blk/Ethiopi2',
+'blk=ethiopicexta' => 'Blk/Ethiopi4',
+'blk=ethiopicextended' => 'Blk/Ethiopi2',
+'blk=ethiopicextendeda' => 'Blk/Ethiopi4',
+'blk=ethiopicsup' => 'Blk/Ethiopi3',
+'blk=ethiopicsupplement' => 'Blk/Ethiopi3',
+'blk=generalpunctuation' => 'Blk/Punctuat',
+'blk=geometricshapes' => 'Blk/Geometri',
+'blk=georgian' => 'Blk/Georgian',
+'blk=georgiansup' => 'Blk/Georgia2',
+'blk=georgiansupplement' => 'Blk/Georgia2',
+'blk=glagolitic' => 'Blk/Glagolit',
+'blk=gothic' => 'Blk/Gothic',
+'blk=greek' => 'Blk/Greek',
+'blk=greekandcoptic' => 'Blk/Greek',
+'blk=greekext' => 'Blk/GreekExt',
+'blk=greekextended' => 'Blk/GreekExt',
+'blk=gujarati' => 'Blk/Gujarati',
+'blk=gurmukhi' => 'Blk/Gurmukhi',
+'blk=halfandfullforms' => 'Blk/HalfAndF',
+'blk=halfmarks' => 'Blk/HalfMark',
+'blk=halfwidthandfullwidthforms' => 'Blk/HalfAndF',
+'blk=hangul' => 'Blk/Hangul',
+'blk=hangulcompatibilityjamo' => 'Blk/CompatJa',
+'blk=hanguljamo' => 'Blk/Jamo',
+'blk=hanguljamoextendeda' => 'Blk/JamoExtA',
+'blk=hanguljamoextendedb' => 'Blk/JamoExtB',
+'blk=hangulsyllables' => 'Blk/Hangul',
+'blk=hanunoo' => 'Blk/Hanunoo',
+'blk=hebrew' => 'Blk/Hebrew',
+'blk=highprivateusesurrogates' => 'Blk/HighPUSu',
+'blk=highpusurrogates' => 'Blk/HighPUSu',
+'blk=highsurrogates' => 'Blk/HighSurr',
+'blk=hiragana' => 'Blk/Hiragana',
+'blk=idc' => 'Blk/IDC',
+'blk=ideographicdescriptioncharacters' => 'Blk/IDC',
+'blk=imperialaramaic' => 'Blk/Imperial',
+'blk=indicnumberforms' => 'Blk/IndicNum',
+'blk=inscriptionalpahlavi' => 'Blk/Inscript',
+'blk=inscriptionalparthian' => 'Blk/Inscrip2',
+'blk=ipaext' => 'Blk/IPAExt',
+'blk=ipaextensions' => 'Blk/IPAExt',
+'blk=jamo' => 'Blk/Jamo',
+'blk=jamoexta' => 'Blk/JamoExtA',
+'blk=jamoextb' => 'Blk/JamoExtB',
+'blk=javanese' => 'Blk/Javanese',
+'blk=kaithi' => 'Blk/Kaithi',
+'blk=kanasup' => 'Blk/KanaSup',
+'blk=kanasupplement' => 'Blk/KanaSup',
+'blk=kanbun' => 'Blk/Kanbun',
+'blk=kangxi' => 'Blk/Kangxi',
+'blk=kangxiradicals' => 'Blk/Kangxi',
+'blk=kannada' => 'Blk/Kannada',
+'blk=katakana' => 'Blk/Katakana',
+'blk=katakanaext' => 'Blk/Katakan2',
+'blk=katakanaphoneticextensions' => 'Blk/Katakan2',
+'blk=kayahli' => 'Scx/Kali',
+'blk=kharoshthi' => 'Blk/Kharosht',
+'blk=khmer' => 'Blk/Khmer',
+'blk=khmersymbols' => 'Blk/KhmerSym',
+'blk=lao' => 'Blk/Lao',
+'blk=latin1' => 'Blk/Latin1',
+'blk=latin1sup' => 'Blk/Latin1',
+'blk=latin1supplement' => 'Blk/Latin1',
+'blk=latinexta' => 'Blk/LatinExt',
+'blk=latinextadditional' => 'Blk/LatinEx5',
+'blk=latinextb' => 'Blk/LatinEx2',
+'blk=latinextc' => 'Blk/LatinEx3',
+'blk=latinextd' => 'Blk/LatinEx4',
+'blk=latinextendeda' => 'Blk/LatinExt',
+'blk=latinextendedadditional' => 'Blk/LatinEx5',
+'blk=latinextendedb' => 'Blk/LatinEx2',
+'blk=latinextendedc' => 'Blk/LatinEx3',
+'blk=latinextendedd' => 'Blk/LatinEx4',
+'blk=lepcha' => 'Blk/Lepcha',
+'blk=letterlikesymbols' => 'Blk/Letterli',
+'blk=limbu' => 'Blk/Limbu',
+'blk=linearbideograms' => 'Blk/LinearBI',
+'blk=linearbsyllabary' => 'Blk/LinearBS',
+'blk=lisu' => 'Scx/Lisu',
+'blk=lowsurrogates' => 'Blk/LowSurro',
+'blk=lycian' => 'Blk/Lycian',
+'blk=lydian' => 'Blk/Lydian',
+'blk=mahjong' => 'Blk/Mahjong',
+'blk=mahjongtiles' => 'Blk/Mahjong',
+'blk=malayalam' => 'Blk/Malayala',
+'blk=mandaic' => 'Blk/Mandaic',
+'blk=mathalphanum' => 'Blk/MathAlph',
+'blk=mathematicalalphanumericsymbols' => 'Blk/MathAlph',
+'blk=mathematicaloperators' => 'Blk/MathOper',
+'blk=mathoperators' => 'Blk/MathOper',
+'blk=meeteimayek' => 'Blk/MeeteiMa',
+'blk=meeteimayekext' => 'Blk/MeeteiM2',
+'blk=meeteimayekextensions' => 'Blk/MeeteiM2',
+'blk=meroiticcursive' => 'Blk/Meroitic',
+'blk=meroitichieroglyphs' => 'Scx/Mero',
+'blk=miao' => 'Blk/Miao',
+'blk=miscarrows' => 'Blk/MiscArro',
+'blk=miscellaneousmathematicalsymbolsa' => 'Blk/MiscMath',
+'blk=miscellaneousmathematicalsymbolsb' => 'Blk/MiscMat2',
+'blk=miscellaneoussymbols' => 'Blk/MiscSymb',
+'blk=miscellaneoussymbolsandarrows' => 'Blk/MiscArro',
+'blk=miscellaneoussymbolsandpictographs' => 'Blk/MiscPict',
+'blk=miscellaneoustechnical' => 'Blk/MiscTech',
+'blk=miscmathsymbolsa' => 'Blk/MiscMath',
+'blk=miscmathsymbolsb' => 'Blk/MiscMat2',
+'blk=miscpictographs' => 'Blk/MiscPict',
+'blk=miscsymbols' => 'Blk/MiscSymb',
+'blk=misctechnical' => 'Blk/MiscTech',
+'blk=modifierletters' => 'Blk/Modifier',
+'blk=modifiertoneletters' => 'Blk/Modifie2',
+'blk=mongolian' => 'Blk/Mongolia',
+'blk=music' => 'Blk/Music',
+'blk=musicalsymbols' => 'Blk/Music',
+'blk=myanmar' => 'Blk/Myanmar',
+'blk=myanmarexta' => 'Blk/MyanmarE',
+'blk=myanmarextendeda' => 'Blk/MyanmarE',
+'blk=nb' => 'Blk/NB',
+'blk=newtailue' => 'Blk/NewTaiLu',
+'blk=nko' => 'Blk/NKo',
+'blk=noblock' => 'Blk/NB',
+'blk=numberforms' => 'Blk/NumberFo',
+'blk=ocr' => 'Blk/OCR',
+'blk=ogham' => 'Blk/Ogham',
+'blk=olchiki' => 'Scx/Olck',
+'blk=olditalic' => 'Blk/OldItali',
+'blk=oldpersian' => 'Blk/OldPersi',
+'blk=oldsoutharabian' => 'Scx/Sarb',
+'blk=oldturkic' => 'Blk/OldTurki',
+'blk=opticalcharacterrecognition' => 'Blk/OCR',
+'blk=oriya' => 'Blk/Oriya',
+'blk=osmanya' => 'Blk/Osmanya',
+'blk=phagspa' => 'Blk/PhagsPa',
+'blk=phaistos' => 'Blk/Phaistos',
+'blk=phaistosdisc' => 'Blk/Phaistos',
+'blk=phoenician' => 'Blk/Phoenici',
+'blk=phoneticext' => 'Blk/Phonetic',
+'blk=phoneticextensions' => 'Blk/Phonetic',
+'blk=phoneticextensionssupplement' => 'Blk/Phoneti2',
+'blk=phoneticextsup' => 'Blk/Phoneti2',
+'blk=playingcards' => 'Blk/PlayingC',
+'blk=privateuse' => 'Blk/PUA',
+'blk=privateusearea' => 'Blk/PUA',
+'blk=pua' => 'Blk/PUA',
+'blk=punctuation' => 'Blk/Punctuat',
+'blk=rejang' => 'Blk/Rejang',
+'blk=rumi' => 'Blk/Rumi',
+'blk=ruminumeralsymbols' => 'Blk/Rumi',
+'blk=runic' => 'Blk/Runic',
+'blk=samaritan' => 'Blk/Samarita',
+'blk=saurashtra' => 'Blk/Saurasht',
+'blk=sharada' => 'Blk/Sharada',
+'blk=shavian' => 'Scx/Shaw',
+'blk=sinhala' => 'Blk/Sinhala',
+'blk=smallforms' => 'Blk/SmallFor',
+'blk=smallformvariants' => 'Blk/SmallFor',
+'blk=sorasompeng' => 'Blk/SoraSomp',
+'blk=spacingmodifierletters' => 'Blk/Modifier',
+'blk=specials' => 'Blk/Specials',
+'blk=sundanese' => 'Blk/Sundanes',
+'blk=sundanesesup' => 'Blk/Sundane2',
+'blk=sundanesesupplement' => 'Blk/Sundane2',
+'blk=suparrowsa' => 'Blk/SupArrow',
+'blk=suparrowsb' => 'Blk/SupArro2',
+'blk=superandsub' => 'Blk/SuperAnd',
+'blk=superscriptsandsubscripts' => 'Blk/SuperAnd',
+'blk=supmathoperators' => 'Blk/SupMathO',
+'blk=supplementalarrowsa' => 'Blk/SupArrow',
+'blk=supplementalarrowsb' => 'Blk/SupArro2',
+'blk=supplementalmathematicaloperators' => 'Blk/SupMathO',
+'blk=supplementalpunctuation' => 'Blk/SupPunct',
+'blk=supplementaryprivateuseareaa' => 'Blk/SupPUAA',
+'blk=supplementaryprivateuseareab' => 'Blk/SupPUAB',
+'blk=suppuaa' => 'Blk/SupPUAA',
+'blk=suppuab' => 'Blk/SupPUAB',
+'blk=suppunctuation' => 'Blk/SupPunct',
+'blk=sylotinagri' => 'Blk/SylotiNa',
+'blk=syriac' => 'Blk/Syriac',
+'blk=tagalog' => 'Blk/Tagalog',
+'blk=tagbanwa' => 'Blk/Tagbanwa',
+'blk=tags' => 'Blk/Tags',
+'blk=taile' => 'Blk/TaiLe',
+'blk=taitham' => 'Blk/TaiTham',
+'blk=taiviet' => 'Blk/TaiViet',
+'blk=taixuanjing' => 'Blk/TaiXuanJ',
+'blk=taixuanjingsymbols' => 'Blk/TaiXuanJ',
+'blk=takri' => 'Blk/Takri',
+'blk=tamil' => 'Blk/Tamil',
+'blk=telugu' => 'Blk/Telugu',
+'blk=thaana' => 'Blk/Thaana',
+'blk=thai' => 'Blk/Thai',
+'blk=tibetan' => 'Blk/Tibetan',
+'blk=tifinagh' => 'Blk/Tifinagh',
+'blk=transportandmap' => 'Blk/Transpor',
+'blk=transportandmapsymbols' => 'Blk/Transpor',
+'blk=ucas' => 'Blk/UCAS',
+'blk=ucasext' => 'Blk/UCASExt',
+'blk=ugaritic' => 'Blk/Ugaritic',
+'blk=unifiedcanadianaboriginalsyllabics' => 'Blk/UCAS',
+'blk=unifiedcanadianaboriginalsyllabicsextended' => 'Blk/UCASExt',
+'blk=vai' => 'Blk/Vai',
+'blk=variationselectors' => 'Blk/VS',
+'blk=variationselectorssupplement' => 'Blk/VSSup',
+'blk=vedicext' => 'Blk/VedicExt',
+'blk=vedicextensions' => 'Blk/VedicExt',
+'blk=verticalforms' => 'Blk/Vertical',
+'blk=vs' => 'Blk/VS',
+'blk=vssup' => 'Blk/VSSup',
+'blk=yijing' => 'Blk/Yijing',
+'blk=yijinghexagramsymbols' => 'Blk/Yijing',
+'blk=yiradicals' => 'Blk/YiRadica',
+'blk=yisyllables' => 'Blk/YiSyllab',
+'blockelements' => 'Blk/BlockEle',
+'bopo' => 'Sc/Bopo',
+'bopomofo' => 'Sc/Bopo',
+'bopomofoext' => 'Blk/Bopomof2',
+'bopomofoextended' => 'Blk/Bopomof2',
+'boxdrawing' => 'Blk/BoxDrawi',
+'brah' => 'Scx/Brah',
+'brahmi' => 'Scx/Brah',
+'brai' => 'Scx/Brai',
+'braille' => 'Scx/Brai',
+'braillepatterns' => 'Scx/Brai',
+'bugi' => 'Scx/Bugi',
+'buginese' => 'Scx/Bugi',
+'buhd' => 'Sc/Buhd',
+'buhid' => 'Sc/Buhd',
+'byzantinemusic' => 'Blk/Byzantin',
+'byzantinemusicalsymbols' => 'Blk/Byzantin',
+'c' => 'Gc/C',
+'cakm' => 'Scx/Cakm',
+'canadianaboriginal' => 'Scx/Cans',
+'canadiansyllabics' => 'Blk/UCAS',
+'cans' => 'Scx/Cans',
+'cari' => 'Scx/Cari',
+'carian' => 'Scx/Cari',
+'cased' => 'Cased/Y',
+'cased=f' => '!Cased/Y',
+'cased=false' => '!Cased/Y',
+'cased=n' => '!Cased/Y',
+'cased=no' => '!Cased/Y',
+'cased=t' => 'Cased/Y',
+'cased=true' => 'Cased/Y',
+'cased=y' => 'Cased/Y',
+'cased=yes' => 'Cased/Y',
+'casedletter' => 'Gc/LC',
+'caseignorable' => 'CI/Y',
+'cc' => 'Gc/Cc',
+'ccc=a' => 'Ccc/A',
+'ccc=above' => 'Ccc/A',
+'ccc=aboveleft' => 'Ccc/AL',
+'ccc=aboveright' => 'Ccc/AR',
+'ccc=al' => 'Ccc/AL',
+'ccc=ar' => 'Ccc/AR',
+'ccc=ata' => 'Ccc/ATA',
+'ccc=atar' => 'Ccc/ATAR',
+'ccc=atb' => 'Ccc/ATB',
+'ccc=atbl' => '!Perl/Any',
+'ccc=attachedabove' => 'Ccc/ATA',
+'ccc=attachedaboveright' => 'Ccc/ATAR',
+'ccc=attachedbelow' => 'Ccc/ATB',
+'ccc=attachedbelowleft' => '!Perl/Any',
+'ccc=b' => 'Ccc/B',
+'ccc=below' => 'Ccc/B',
+'ccc=belowleft' => 'Ccc/BL',
+'ccc=belowright' => 'Ccc/BR',
+'ccc=bl' => 'Ccc/BL',
+'ccc=br' => 'Ccc/BR',
+'ccc=ccc10' => 'Ccc/CCC10',
+'ccc=ccc103' => 'Ccc/CCC103',
+'ccc=ccc107' => 'Ccc/CCC107',
+'ccc=ccc11' => 'Ccc/CCC11',
+'ccc=ccc118' => 'Ccc/CCC118',
+'ccc=ccc12' => 'Ccc/CCC12',
+'ccc=ccc122' => 'Ccc/CCC122',
+'ccc=ccc129' => 'Ccc/CCC129',
+'ccc=ccc13' => 'Ccc/CCC13',
+'ccc=ccc130' => 'Ccc/CCC130',
+'ccc=ccc132' => 'Ccc/CCC132',
+'ccc=ccc14' => 'Ccc/CCC14',
+'ccc=ccc15' => 'Ccc/CCC15',
+'ccc=ccc16' => 'Ccc/CCC16',
+'ccc=ccc17' => 'Ccc/CCC17',
+'ccc=ccc18' => 'Ccc/CCC18',
+'ccc=ccc19' => 'Ccc/CCC19',
+'ccc=ccc20' => 'Ccc/CCC20',
+'ccc=ccc21' => 'Ccc/CCC21',
+'ccc=ccc22' => 'Ccc/CCC22',
+'ccc=ccc23' => 'Ccc/CCC23',
+'ccc=ccc24' => 'Ccc/CCC24',
+'ccc=ccc25' => 'Ccc/CCC25',
+'ccc=ccc26' => 'Ccc/CCC26',
+'ccc=ccc27' => 'Ccc/CCC27',
+'ccc=ccc28' => 'Ccc/CCC28',
+'ccc=ccc29' => 'Ccc/CCC29',
+'ccc=ccc30' => 'Ccc/CCC30',
+'ccc=ccc31' => 'Ccc/CCC31',
+'ccc=ccc32' => 'Ccc/CCC32',
+'ccc=ccc33' => 'Ccc/CCC33',
+'ccc=ccc34' => 'Ccc/CCC34',
+'ccc=ccc35' => 'Ccc/CCC35',
+'ccc=ccc36' => 'Ccc/CCC36',
+'ccc=ccc84' => 'Ccc/CCC84',
+'ccc=ccc91' => 'Ccc/CCC91',
+'ccc=da' => 'Ccc/DA',
+'ccc=db' => 'Ccc/DB',
+'ccc=doubleabove' => 'Ccc/DA',
+'ccc=doublebelow' => 'Ccc/DB',
+'ccc=iotasubscript' => 'Ccc/IS',
+'ccc=is' => 'Ccc/IS',
+'ccc=kanavoicing' => 'Ccc/KV',
+'ccc=kv' => 'Ccc/KV',
+'ccc=l' => 'Ccc/L',
+'ccc=left' => 'Ccc/L',
+'ccc=nk' => 'Ccc/NK',
+'ccc=notreordered' => 'Ccc/NR',
+'ccc=nr' => 'Ccc/NR',
+'ccc=nukta' => 'Ccc/NK',
+'ccc=ov' => 'Ccc/OV',
+'ccc=overlay' => 'Ccc/OV',
+'ccc=r' => 'Ccc/R',
+'ccc=right' => 'Ccc/R',
+'ccc=virama' => 'Ccc/VR',
+'ccc=vr' => 'Ccc/VR',
+'ce' => 'CE/Y',
+'ce=f' => '!CE/Y',
+'ce=false' => '!CE/Y',
+'ce=n' => '!CE/Y',
+'ce=no' => '!CE/Y',
+'ce=t' => 'CE/Y',
+'ce=true' => 'CE/Y',
+'ce=y' => 'CE/Y',
+'ce=yes' => 'CE/Y',
+'cf' => 'Gc/Cf',
+'chakma' => 'Scx/Cakm',
+'cham' => 'Scx/Cham',
+'changeswhencasefolded' => 'CWCF/Y',
+'changeswhencasemapped' => 'CWCM/Y',
+'changeswhenlowercased' => 'CWL/Y',
+'changeswhennfkccasefolded' => 'CWKCF/Y',
+'changeswhentitlecased' => 'CWT/Y',
+'changeswhenuppercased' => 'CWU/Y',
+'cher' => 'Scx/Cher',
+'cherokee' => 'Scx/Cher',
+'ci' => 'CI/Y',
+'ci=f' => '!CI/Y',
+'ci=false' => '!CI/Y',
+'ci=n' => '!CI/Y',
+'ci=no' => '!CI/Y',
+'ci=t' => 'CI/Y',
+'ci=true' => 'CI/Y',
+'ci=y' => 'CI/Y',
+'ci=yes' => 'CI/Y',
+'cjk' => 'Blk/CJK',
+'cjkcompat' => 'Blk/CJKCompa',
+'cjkcompatforms' => 'Blk/CJKComp2',
+'cjkcompatibility' => 'Blk/CJKCompa',
+'cjkcompatibilityforms' => 'Blk/CJKComp2',
+'cjkcompatibilityideographs' => 'Blk/CJKComp3',
+'cjkcompatibilityideographssupplement' => 'Blk/CJKComp4',
+'cjkcompatideographs' => 'Blk/CJKComp3',
+'cjkcompatideographssup' => 'Blk/CJKComp4',
+'cjkexta' => 'Blk/CJKExtA',
+'cjkextb' => 'Blk/CJKExtB',
+'cjkextc' => 'Blk/CJKExtC',
+'cjkextd' => 'Blk/CJKExtD',
+'cjkradicalssup' => 'Blk/CJKRadic',
+'cjkradicalssupplement' => 'Blk/CJKRadic',
+'cjkstrokes' => 'Blk/CJKStrok',
+'cjksymbols' => 'Blk/CJKSymbo',
+'cjksymbolsandpunctuation' => 'Blk/CJKSymbo',
+'cjkunifiedideographs' => 'Blk/CJK',
+'cjkunifiedideographsextensiona' => 'Blk/CJKExtA',
+'cjkunifiedideographsextensionb' => 'Blk/CJKExtB',
+'cjkunifiedideographsextensionc' => 'Blk/CJKExtC',
+'cjkunifiedideographsextensiond' => 'Blk/CJKExtD',
+'closepunctuation' => 'Gc/Pe',
+'cn' => 'Gc/Cn',
+'cntrl' => 'Gc/Cc',
+'co' => 'Gc/Co',
+'combiningdiacriticalmarks' => 'Blk/Diacriti',
+'combiningdiacriticalmarksforsymbols' => 'Blk/Diacrit3',
+'combiningdiacriticalmarkssupplement' => 'Blk/Diacrit2',
+'combininghalfmarks' => 'Blk/HalfMark',
+'combiningmark' => 'Gc/M',
+'combiningmarksforsymbols' => 'Blk/Diacrit3',
+'common' => 'Sc/Zyyy',
+'commonindicnumberforms' => 'Blk/IndicNum',
+'compatjamo' => 'Blk/CompatJa',
+'compex' => 'CompEx/Y',
+'compex=f' => '!CompEx/Y',
+'compex=false' => '!CompEx/Y',
+'compex=n' => '!CompEx/Y',
+'compex=no' => '!CompEx/Y',
+'compex=t' => 'CompEx/Y',
+'compex=true' => 'CompEx/Y',
+'compex=y' => 'CompEx/Y',
+'compex=yes' => 'CompEx/Y',
+'compositionexclusion' => 'CE/Y',
+'connectorpunctuation' => 'Gc/Pc',
+'control' => 'Gc/Cc',
+'controlpictures' => 'Blk/ControlP',
+'copt' => 'Scx/Copt',
+'coptic' => 'Scx/Copt',
+'countingrod' => 'Blk/Counting',
+'countingrodnumerals' => 'Blk/Counting',
+'cprt' => 'Sc/Cprt',
+'cs' => 'Gc/Cs',
+'cuneiform' => 'Scx/Xsux',
+'cuneiformnumbers' => 'Blk/Cuneifo2',
+'cuneiformnumbersandpunctuation' => 'Blk/Cuneifo2',
+'currencysymbol' => 'Gc/Sc',
+'currencysymbols' => 'Blk/Currency',
+'cwcf' => 'CWCF/Y',
+'cwcf=f' => '!CWCF/Y',
+'cwcf=false' => '!CWCF/Y',
+'cwcf=n' => '!CWCF/Y',
+'cwcf=no' => '!CWCF/Y',
+'cwcf=t' => 'CWCF/Y',
+'cwcf=true' => 'CWCF/Y',
+'cwcf=y' => 'CWCF/Y',
+'cwcf=yes' => 'CWCF/Y',
+'cwcm' => 'CWCM/Y',
+'cwcm=f' => '!CWCM/Y',
+'cwcm=false' => '!CWCM/Y',
+'cwcm=n' => '!CWCM/Y',
+'cwcm=no' => '!CWCM/Y',
+'cwcm=t' => 'CWCM/Y',
+'cwcm=true' => 'CWCM/Y',
+'cwcm=y' => 'CWCM/Y',
+'cwcm=yes' => 'CWCM/Y',
+'cwkcf' => 'CWKCF/Y',
+'cwkcf=f' => '!CWKCF/Y',
+'cwkcf=false' => '!CWKCF/Y',
+'cwkcf=n' => '!CWKCF/Y',
+'cwkcf=no' => '!CWKCF/Y',
+'cwkcf=t' => 'CWKCF/Y',
+'cwkcf=true' => 'CWKCF/Y',
+'cwkcf=y' => 'CWKCF/Y',
+'cwkcf=yes' => 'CWKCF/Y',
+'cwl' => 'CWL/Y',
+'cwl=f' => '!CWL/Y',
+'cwl=false' => '!CWL/Y',
+'cwl=n' => '!CWL/Y',
+'cwl=no' => '!CWL/Y',
+'cwl=t' => 'CWL/Y',
+'cwl=true' => 'CWL/Y',
+'cwl=y' => 'CWL/Y',
+'cwl=yes' => 'CWL/Y',
+'cwt' => 'CWT/Y',
+'cwt=f' => '!CWT/Y',
+'cwt=false' => '!CWT/Y',
+'cwt=n' => '!CWT/Y',
+'cwt=no' => '!CWT/Y',
+'cwt=t' => 'CWT/Y',
+'cwt=true' => 'CWT/Y',
+'cwt=y' => 'CWT/Y',
+'cwt=yes' => 'CWT/Y',
+'cwu' => 'CWU/Y',
+'cwu=f' => '!CWU/Y',
+'cwu=false' => '!CWU/Y',
+'cwu=n' => '!CWU/Y',
+'cwu=no' => '!CWU/Y',
+'cwu=t' => 'CWU/Y',
+'cwu=true' => 'CWU/Y',
+'cwu=y' => 'CWU/Y',
+'cwu=yes' => 'CWU/Y',
+'cypriot' => 'Sc/Cprt',
+'cypriotsyllabary' => 'Blk/CypriotS',
+'cyrillic' => 'Scx/Cyrl',
+'cyrillicexta' => 'Blk/Cyrilli3',
+'cyrillicextb' => 'Blk/Cyrilli4',
+'cyrillicextendeda' => 'Blk/Cyrilli3',
+'cyrillicextendedb' => 'Blk/Cyrilli4',
+'cyrillicsup' => 'Blk/Cyrilli2',
+'cyrillicsupplement' => 'Blk/Cyrilli2',
+'cyrillicsupplementary' => 'Blk/Cyrilli2',
+'cyrl' => 'Scx/Cyrl',
+'dash' => 'Dash/Y',
+'dash=f' => '!Dash/Y',
+'dash=false' => '!Dash/Y',
+'dash=n' => '!Dash/Y',
+'dash=no' => '!Dash/Y',
+'dash=t' => 'Dash/Y',
+'dash=true' => 'Dash/Y',
+'dash=y' => 'Dash/Y',
+'dash=yes' => 'Dash/Y',
+'dashpunctuation' => 'Gc/Pd',
+'decimalnumber' => 'Gc/Nd',
+'defaultignorablecodepoint' => 'DI/Y',
+'dep' => 'Dep/Y',
+'dep=f' => '!Dep/Y',
+'dep=false' => '!Dep/Y',
+'dep=n' => '!Dep/Y',
+'dep=no' => '!Dep/Y',
+'dep=t' => 'Dep/Y',
+'dep=true' => 'Dep/Y',
+'dep=y' => 'Dep/Y',
+'dep=yes' => 'Dep/Y',
+'deprecated' => 'Dep/Y',
+'deseret' => 'Scx/Dsrt',
+'deva' => 'Sc/Deva',
+'devanagari' => 'Sc/Deva',
+'devanagariext' => 'Blk/Devanag2',
+'devanagariextended' => 'Blk/Devanag2',
+'di' => 'DI/Y',
+'di=f' => '!DI/Y',
+'di=false' => '!DI/Y',
+'di=n' => '!DI/Y',
+'di=no' => '!DI/Y',
+'di=t' => 'DI/Y',
+'di=true' => 'DI/Y',
+'di=y' => 'DI/Y',
+'di=yes' => 'DI/Y',
+'dia' => 'Dia/Y',
+'dia=f' => '!Dia/Y',
+'dia=false' => '!Dia/Y',
+'dia=n' => '!Dia/Y',
+'dia=no' => '!Dia/Y',
+'dia=t' => 'Dia/Y',
+'dia=true' => 'Dia/Y',
+'dia=y' => 'Dia/Y',
+'dia=yes' => 'Dia/Y',
+'diacritic' => 'Dia/Y',
+'diacriticals' => 'Blk/Diacriti',
+'diacriticalsforsymbols' => 'Blk/Diacrit3',
+'diacriticalssup' => 'Blk/Diacrit2',
+'digit' => 'Gc/Nd',
+'dingbats' => 'Blk/Dingbats',
+'domino' => 'Blk/Domino',
+'dominotiles' => 'Blk/Domino',
+'dsrt' => 'Scx/Dsrt',
+'dt=can' => 'NFDQC/N',
+'dt=canonical' => 'NFDQC/N',
+'dt=circle' => 'Dt/Enc',
+'dt=com' => 'Dt/Com',
+'dt=compat' => 'Dt/Com',
+'dt=enc' => 'Dt/Enc',
+'dt=fin' => 'Dt/Fin',
+'dt=final' => 'Dt/Fin',
+'dt=font' => 'Dt/Font',
+'dt=fra' => 'Dt/Fra',
+'dt=fraction' => 'Dt/Fra',
+'dt=init' => 'Dt/Init',
+'dt=initial' => 'Dt/Init',
+'dt=iso' => 'Dt/Iso',
+'dt=isolated' => 'Dt/Iso',
+'dt=med' => 'Dt/Med',
+'dt=medial' => 'Dt/Med',
+'dt=nar' => 'Dt/Nar',
+'dt=narrow' => 'Dt/Nar',
+'dt=nb' => 'Dt/Nb',
+'dt=nobreak' => 'Dt/Nb',
+'dt=noncanon' => 'Dt/NonCanon',
+'dt=noncanonical' => 'Dt/NonCanon',
+'dt=none' => 'Dt/None',
+'dt=small' => 'Dt/Sml',
+'dt=sml' => 'Dt/Sml',
+'dt=sqr' => 'Dt/Sqr',
+'dt=square' => 'Dt/Sqr',
+'dt=sub' => 'Dt/Sub',
+'dt=sup' => 'Dt/Sup',
+'dt=super' => 'Dt/Sup',
+'dt=vert' => 'Dt/Vert',
+'dt=vertical' => 'Dt/Vert',
+'dt=wide' => 'Ea/F',
+'ea=a' => 'Ea/A',
+'ea=ambiguous' => 'Ea/A',
+'ea=f' => 'Ea/F',
+'ea=fullwidth' => 'Ea/F',
+'ea=h' => 'Ea/H',
+'ea=halfwidth' => 'Ea/H',
+'ea=n' => 'Ea/N',
+'ea=na' => 'Ea/Na',
+'ea=narrow' => 'Ea/Na',
+'ea=neutral' => 'Ea/N',
+'ea=w' => 'Ea/W',
+'ea=wide' => 'Ea/W',
+'egyp' => 'Scx/Egyp',
+'egyptianhieroglyphs' => 'Scx/Egyp',
+'emoticons' => 'Blk/Emoticon',
+'enclosedalphanum' => 'Blk/Enclose2',
+'enclosedalphanumerics' => 'Blk/Enclose2',
+'enclosedalphanumericsupplement' => 'Blk/Enclose3',
+'enclosedalphanumsup' => 'Blk/Enclose3',
+'enclosedcjk' => 'Blk/Enclosed',
+'enclosedcjklettersandmonths' => 'Blk/Enclosed',
+'enclosedideographicsup' => 'Blk/Enclose4',
+'enclosedideographicsupplement' => 'Blk/Enclose4',
+'enclosingmark' => 'Gc/Me',
+'ethi' => 'Scx/Ethi',
+'ethiopic' => 'Scx/Ethi',
+'ethiopicext' => 'Blk/Ethiopi2',
+'ethiopicexta' => 'Blk/Ethiopi4',
+'ethiopicextended' => 'Blk/Ethiopi2',
+'ethiopicextendeda' => 'Blk/Ethiopi4',
+'ethiopicsup' => 'Blk/Ethiopi3',
+'ethiopicsupplement' => 'Blk/Ethiopi3',
+'ext' => 'Ext/Y',
+'ext=f' => '!Ext/Y',
+'ext=false' => '!Ext/Y',
+'ext=n' => '!Ext/Y',
+'ext=no' => '!Ext/Y',
+'ext=t' => 'Ext/Y',
+'ext=true' => 'Ext/Y',
+'ext=y' => 'Ext/Y',
+'ext=yes' => 'Ext/Y',
+'extender' => 'Ext/Y',
+'finalpunctuation' => 'Gc/Pf',
+'format' => 'Gc/Cf',
+'fullcompositionexclusion' => 'CompEx/Y',
+'gc=c' => 'Gc/C',
+'gc=casedletter' => 'Gc/LC',
+'gc=cc' => 'Gc/Cc',
+'gc=cf' => 'Gc/Cf',
+'gc=closepunctuation' => 'Gc/Pe',
+'gc=cn' => 'Gc/Cn',
+'gc=cntrl' => 'Gc/Cc',
+'gc=co' => 'Gc/Co',
+'gc=combiningmark' => 'Gc/M',
+'gc=connectorpunctuation' => 'Gc/Pc',
+'gc=control' => 'Gc/Cc',
+'gc=cs' => 'Gc/Cs',
+'gc=currencysymbol' => 'Gc/Sc',
+'gc=dashpunctuation' => 'Gc/Pd',
+'gc=decimalnumber' => 'Gc/Nd',
+'gc=digit' => 'Gc/Nd',
+'gc=enclosingmark' => 'Gc/Me',
+'gc=finalpunctuation' => 'Gc/Pf',
+'gc=format' => 'Gc/Cf',
+'gc=initialpunctuation' => 'Gc/Pi',
+'gc=l' => 'Gc/L',
+'gc=l&' => 'Gc/LC',
+'gc=l_' => 'Gc/LC',
+'gc=lc' => 'Gc/LC',
+'gc=letter' => 'Gc/L',
+'gc=letternumber' => 'Gc/Nl',
+'gc=lineseparator' => 'Gc/Zl',
+'gc=ll' => 'Gc/Ll',
+'gc=lm' => 'Gc/Lm',
+'gc=lo' => 'Gc/Lo',
+'gc=lowercaseletter' => 'Gc/Ll',
+'gc=lt' => 'Perl/Title',
+'gc=lu' => 'Gc/Lu',
+'gc=m' => 'Gc/M',
+'gc=mark' => 'Gc/M',
+'gc=mathsymbol' => 'Gc/Sm',
+'gc=mc' => 'Gc/Mc',
+'gc=me' => 'Gc/Me',
+'gc=mn' => 'Gc/Mn',
+'gc=modifierletter' => 'Gc/Lm',
+'gc=modifiersymbol' => 'Gc/Sk',
+'gc=n' => 'Gc/N',
+'gc=nd' => 'Gc/Nd',
+'gc=nl' => 'Gc/Nl',
+'gc=no' => 'Gc/No',
+'gc=nonspacingmark' => 'Gc/Mn',
+'gc=number' => 'Gc/N',
+'gc=openpunctuation' => 'Gc/Ps',
+'gc=other' => 'Gc/C',
+'gc=otherletter' => 'Gc/Lo',
+'gc=othernumber' => 'Gc/No',
+'gc=otherpunctuation' => 'Gc/Po',
+'gc=othersymbol' => 'Gc/So',
+'gc=p' => 'Gc/P',
+'gc=paragraphseparator' => 'Gc/Zp',
+'gc=pc' => 'Gc/Pc',
+'gc=pd' => 'Gc/Pd',
+'gc=pe' => 'Gc/Pe',
+'gc=pf' => 'Gc/Pf',
+'gc=pi' => 'Gc/Pi',
+'gc=po' => 'Gc/Po',
+'gc=privateuse' => 'Gc/Co',
+'gc=ps' => 'Gc/Ps',
+'gc=punct' => 'Gc/P',
+'gc=punctuation' => 'Gc/P',
+'gc=s' => 'Gc/S',
+'gc=sc' => 'Gc/Sc',
+'gc=separator' => 'Gc/Z',
+'gc=sk' => 'Gc/Sk',
+'gc=sm' => 'Gc/Sm',
+'gc=so' => 'Gc/So',
+'gc=spaceseparator' => 'Gc/Zs',
+'gc=spacingmark' => 'Gc/Mc',
+'gc=surrogate' => 'Gc/Cs',
+'gc=symbol' => 'Gc/S',
+'gc=titlecaseletter' => 'Perl/Title',
+'gc=unassigned' => 'Gc/Cn',
+'gc=uppercaseletter' => 'Gc/Lu',
+'gc=z' => 'Gc/Z',
+'gc=zl' => 'Gc/Zl',
+'gc=zp' => 'Gc/Zp',
+'gc=zs' => 'Gc/Zs',
+'gcb=cn' => 'GCB/CN',
+'gcb=control' => 'GCB/CN',
+'gcb=cr' => 'Lb/CR',
+'gcb=ex' => 'GCB/EX',
+'gcb=extend' => 'GCB/EX',
+'gcb=l' => 'Lb/JL',
+'gcb=lf' => 'Lb/LF',
+'gcb=lv' => 'Lb/H2',
+'gcb=lvt' => 'Lb/H3',
+'gcb=other' => 'GCB/XX',
+'gcb=pp' => '!Perl/Any',
+'gcb=prepend' => '!Perl/Any',
+'gcb=sm' => 'GCB/SM',
+'gcb=spacingmark' => 'GCB/SM',
+'gcb=t' => 'Lb/JT',
+'gcb=v' => 'Lb/JV',
+'gcb=xx' => 'GCB/XX',
+'generalpunctuation' => 'Blk/Punctuat',
+'geometricshapes' => 'Blk/Geometri',
+'geor' => 'Sc/Geor',
+'georgian' => 'Sc/Geor',
+'georgiansup' => 'Blk/Georgia2',
+'georgiansupplement' => 'Blk/Georgia2',
+'glag' => 'Scx/Glag',
+'glagolitic' => 'Scx/Glag',
+'goth' => 'Scx/Goth',
+'gothic' => 'Scx/Goth',
+'graph' => 'Perl/Graph',
+'graphemebase' => 'GrBase/Y',
+'graphemeextend' => 'GCB/EX',
+'grbase' => 'GrBase/Y',
+'grbase=f' => '!GrBase/Y',
+'grbase=false' => '!GrBase/Y',
+'grbase=n' => '!GrBase/Y',
+'grbase=no' => '!GrBase/Y',
+'grbase=t' => 'GrBase/Y',
+'grbase=true' => 'GrBase/Y',
+'grbase=y' => 'GrBase/Y',
+'grbase=yes' => 'GrBase/Y',
+'greek' => 'Scx/Grek',
+'greekandcoptic' => 'Blk/Greek',
+'greekext' => 'Blk/GreekExt',
+'greekextended' => 'Blk/GreekExt',
+'grek' => 'Scx/Grek',
+'grext' => 'GCB/EX',
+'grext=f' => '!GCB/EX',
+'grext=false' => '!GCB/EX',
+'grext=n' => '!GCB/EX',
+'grext=no' => '!GCB/EX',
+'grext=t' => 'GCB/EX',
+'grext=true' => 'GCB/EX',
+'grext=y' => 'GCB/EX',
+'grext=yes' => 'GCB/EX',
+'gujarati' => 'Sc/Gujr',
+'gujr' => 'Sc/Gujr',
+'gurmukhi' => 'Sc/Guru',
+'guru' => 'Sc/Guru',
+'halfandfullforms' => 'Blk/HalfAndF',
+'halfmarks' => 'Blk/HalfMark',
+'halfwidthandfullwidthforms' => 'Blk/HalfAndF',
+'han' => 'Sc/Han',
+'hang' => 'Sc/Hang',
+'hangul' => 'Sc/Hang',
+'hangulcompatibilityjamo' => 'Blk/CompatJa',
+'hanguljamo' => 'Blk/Jamo',
+'hanguljamoextendeda' => 'Blk/JamoExtA',
+'hanguljamoextendedb' => 'Blk/JamoExtB',
+'hangulsyllables' => 'Blk/Hangul',
+'hani' => 'Sc/Han',
+'hano' => 'Sc/Hano',
+'hanunoo' => 'Sc/Hano',
+'hebr' => 'Scx/Hebr',
+'hebrew' => 'Scx/Hebr',
+'hex' => 'Hex/Y',
+'hex=f' => '!Hex/Y',
+'hex=false' => '!Hex/Y',
+'hex=n' => '!Hex/Y',
+'hex=no' => '!Hex/Y',
+'hex=t' => 'Hex/Y',
+'hex=true' => 'Hex/Y',
+'hex=y' => 'Hex/Y',
+'hex=yes' => 'Hex/Y',
+'hexdigit' => 'Hex/Y',
+'highprivateusesurrogates' => 'Blk/HighPUSu',
+'highpusurrogates' => 'Blk/HighPUSu',
+'highsurrogates' => 'Blk/HighSurr',
+'hira' => 'Sc/Hira',
+'hiragana' => 'Sc/Hira',
+'horizspace' => 'Perl/Blank',
+'hst=l' => 'Lb/JL',
+'hst=leadingjamo' => 'Lb/JL',
+'hst=lv' => 'Lb/H2',
+'hst=lvsyllable' => 'Lb/H2',
+'hst=lvt' => 'Lb/H3',
+'hst=lvtsyllable' => 'Lb/H3',
+'hst=na' => 'Hst/NA',
+'hst=notapplicable' => 'Hst/NA',
+'hst=t' => 'Lb/JT',
+'hst=trailingjamo' => 'Lb/JT',
+'hst=v' => 'Lb/JV',
+'hst=voweljamo' => 'Lb/JV',
+'hyphen' => 'Hyphen/Y',
+'hyphen=f' => '!Hyphen/Y',
+'hyphen=false' => '!Hyphen/Y',
+'hyphen=n' => '!Hyphen/Y',
+'hyphen=no' => '!Hyphen/Y',
+'hyphen=t' => 'Hyphen/Y',
+'hyphen=true' => 'Hyphen/Y',
+'hyphen=y' => 'Hyphen/Y',
+'hyphen=yes' => 'Hyphen/Y',
+'idc' => 'IDC/Y',
+'idc=f' => '!IDC/Y',
+'idc=false' => '!IDC/Y',
+'idc=n' => '!IDC/Y',
+'idc=no' => '!IDC/Y',
+'idc=t' => 'IDC/Y',
+'idc=true' => 'IDC/Y',
+'idc=y' => 'IDC/Y',
+'idc=yes' => 'IDC/Y',
+'idcontinue' => 'IDC/Y',
+'ideo' => 'Ideo/Y',
+'ideo=f' => '!Ideo/Y',
+'ideo=false' => '!Ideo/Y',
+'ideo=n' => '!Ideo/Y',
+'ideo=no' => '!Ideo/Y',
+'ideo=t' => 'Ideo/Y',
+'ideo=true' => 'Ideo/Y',
+'ideo=y' => 'Ideo/Y',
+'ideo=yes' => 'Ideo/Y',
+'ideographic' => 'Ideo/Y',
+'ideographicdescriptioncharacters' => 'Blk/IDC',
+'ids' => 'IDS/Y',
+'ids=f' => '!IDS/Y',
+'ids=false' => '!IDS/Y',
+'ids=n' => '!IDS/Y',
+'ids=no' => '!IDS/Y',
+'ids=t' => 'IDS/Y',
+'ids=true' => 'IDS/Y',
+'ids=y' => 'IDS/Y',
+'ids=yes' => 'IDS/Y',
+'idsb' => 'IDSB/Y',
+'idsb=f' => '!IDSB/Y',
+'idsb=false' => '!IDSB/Y',
+'idsb=n' => '!IDSB/Y',
+'idsb=no' => '!IDSB/Y',
+'idsb=t' => 'IDSB/Y',
+'idsb=true' => 'IDSB/Y',
+'idsb=y' => 'IDSB/Y',
+'idsb=yes' => 'IDSB/Y',
+'idsbinaryoperator' => 'IDSB/Y',
+'idst' => 'IDST/Y',
+'idst=f' => '!IDST/Y',
+'idst=false' => '!IDST/Y',
+'idst=n' => '!IDST/Y',
+'idst=no' => '!IDST/Y',
+'idst=t' => 'IDST/Y',
+'idst=true' => 'IDST/Y',
+'idst=y' => 'IDST/Y',
+'idst=yes' => 'IDST/Y',
+'idstart' => 'IDS/Y',
+'idstrinaryoperator' => 'IDST/Y',
+'imperialaramaic' => 'Scx/Armi',
+'in=unassigned' => 'Age/NA',
+'inaegeannumbers' => 'Blk/AegeanNu',
+'inalchemical' => 'Blk/Alchemic',
+'inalchemicalsymbols' => 'Blk/Alchemic',
+'inalphabeticpf' => 'Blk/Alphabet',
+'inalphabeticpresentationforms' => 'Blk/Alphabet',
+'inancientgreekmusic' => 'Blk/AncientG',
+'inancientgreekmusicalnotation' => 'Blk/AncientG',
+'inancientgreeknumbers' => 'Blk/Ancient2',
+'inancientsymbols' => 'Blk/AncientS',
+'inarabic' => 'Blk/Arabic',
+'inarabicexta' => 'Blk/ArabicEx',
+'inarabicextendeda' => 'Blk/ArabicEx',
+'inarabicmath' => 'Blk/ArabicMa',
+'inarabicmathematicalalphabeticsymbols' => 'Blk/ArabicMa',
+'inarabicpfa' => 'Blk/ArabicPF',
+'inarabicpfb' => 'Blk/ArabicP2',
+'inarabicpresentationformsa' => 'Blk/ArabicPF',
+'inarabicpresentationformsb' => 'Blk/ArabicP2',
+'inarabicsup' => 'Blk/ArabicSu',
+'inarabicsupplement' => 'Blk/ArabicSu',
+'inarmenian' => 'Blk/Armenian',
+'inarrows' => 'Blk/Arrows',
+'inascii' => 'Blk/ASCII',
+'inavestan' => 'Blk/Avestan',
+'inbalinese' => 'Blk/Balinese',
+'inbamum' => 'Blk/Bamum',
+'inbamumsup' => 'Blk/BamumSup',
+'inbamumsupplement' => 'Blk/BamumSup',
+'inbasiclatin' => 'Blk/ASCII',
+'inbatak' => 'Blk/Batak',
+'inbengali' => 'Blk/Bengali',
+'inblockelements' => 'Blk/BlockEle',
+'inbopomofo' => 'Blk/Bopomofo',
+'inbopomofoext' => 'Blk/Bopomof2',
+'inbopomofoextended' => 'Blk/Bopomof2',
+'inboxdrawing' => 'Blk/BoxDrawi',
+'inbrahmi' => 'Blk/Brahmi',
+'inbraille' => 'Scx/Brai',
+'inbraillepatterns' => 'Scx/Brai',
+'inbuginese' => 'Blk/Buginese',
+'inbuhid' => 'Blk/Buhid',
+'inbyzantinemusic' => 'Blk/Byzantin',
+'inbyzantinemusicalsymbols' => 'Blk/Byzantin',
+'incanadiansyllabics' => 'Blk/UCAS',
+'incarian' => 'Blk/Carian',
+'inchakma' => 'Blk/Chakma',
+'incham' => 'Blk/Cham',
+'incherokee' => 'Blk/Cherokee',
+'incjk' => 'Blk/CJK',
+'incjkcompat' => 'Blk/CJKCompa',
+'incjkcompatforms' => 'Blk/CJKComp2',
+'incjkcompatibility' => 'Blk/CJKCompa',
+'incjkcompatibilityforms' => 'Blk/CJKComp2',
+'incjkcompatibilityideographs' => 'Blk/CJKComp3',
+'incjkcompatibilityideographssupplement' => 'Blk/CJKComp4',
+'incjkcompatideographs' => 'Blk/CJKComp3',
+'incjkcompatideographssup' => 'Blk/CJKComp4',
+'incjkexta' => 'Blk/CJKExtA',
+'incjkextb' => 'Blk/CJKExtB',
+'incjkextc' => 'Blk/CJKExtC',
+'incjkextd' => 'Blk/CJKExtD',
+'incjkradicalssup' => 'Blk/CJKRadic',
+'incjkradicalssupplement' => 'Blk/CJKRadic',
+'incjkstrokes' => 'Blk/CJKStrok',
+'incjksymbols' => 'Blk/CJKSymbo',
+'incjksymbolsandpunctuation' => 'Blk/CJKSymbo',
+'incjkunifiedideographs' => 'Blk/CJK',
+'incjkunifiedideographsextensiona' => 'Blk/CJKExtA',
+'incjkunifiedideographsextensionb' => 'Blk/CJKExtB',
+'incjkunifiedideographsextensionc' => 'Blk/CJKExtC',
+'incjkunifiedideographsextensiond' => 'Blk/CJKExtD',
+'incombiningdiacriticalmarks' => 'Blk/Diacriti',
+'incombiningdiacriticalmarksforsymbols' => 'Blk/Diacrit3',
+'incombiningdiacriticalmarkssupplement' => 'Blk/Diacrit2',
+'incombininghalfmarks' => 'Blk/HalfMark',
+'incombiningmarksforsymbols' => 'Blk/Diacrit3',
+'incommonindicnumberforms' => 'Blk/IndicNum',
+'incompatjamo' => 'Blk/CompatJa',
+'incontrolpictures' => 'Blk/ControlP',
+'incoptic' => 'Blk/Coptic',
+'incountingrod' => 'Blk/Counting',
+'incountingrodnumerals' => 'Blk/Counting',
+'incuneiform' => 'Blk/Cuneifor',
+'incuneiformnumbers' => 'Blk/Cuneifo2',
+'incuneiformnumbersandpunctuation' => 'Blk/Cuneifo2',
+'incurrencysymbols' => 'Blk/Currency',
+'incypriotsyllabary' => 'Blk/CypriotS',
+'incyrillic' => 'Blk/Cyrillic',
+'incyrillicexta' => 'Blk/Cyrilli3',
+'incyrillicextb' => 'Blk/Cyrilli4',
+'incyrillicextendeda' => 'Blk/Cyrilli3',
+'incyrillicextendedb' => 'Blk/Cyrilli4',
+'incyrillicsup' => 'Blk/Cyrilli2',
+'incyrillicsupplement' => 'Blk/Cyrilli2',
+'incyrillicsupplementary' => 'Blk/Cyrilli2',
+'indeseret' => 'Scx/Dsrt',
+'indevanagari' => 'Blk/Devanaga',
+'indevanagariext' => 'Blk/Devanag2',
+'indevanagariextended' => 'Blk/Devanag2',
+'indiacriticals' => 'Blk/Diacriti',
+'indiacriticalsforsymbols' => 'Blk/Diacrit3',
+'indiacriticalssup' => 'Blk/Diacrit2',
+'indicnumberforms' => 'Blk/IndicNum',
+'indingbats' => 'Blk/Dingbats',
+'indomino' => 'Blk/Domino',
+'indominotiles' => 'Blk/Domino',
+'inegyptianhieroglyphs' => 'Blk/Egyptian',
+'inemoticons' => 'Blk/Emoticon',
+'inenclosedalphanum' => 'Blk/Enclose2',
+'inenclosedalphanumerics' => 'Blk/Enclose2',
+'inenclosedalphanumericsupplement' => 'Blk/Enclose3',
+'inenclosedalphanumsup' => 'Blk/Enclose3',
+'inenclosedcjk' => 'Blk/Enclosed',
+'inenclosedcjklettersandmonths' => 'Blk/Enclosed',
+'inenclosedideographicsup' => 'Blk/Enclose4',
+'inenclosedideographicsupplement' => 'Blk/Enclose4',
+'inethiopic' => 'Blk/Ethiopic',
+'inethiopicext' => 'Blk/Ethiopi2',
+'inethiopicexta' => 'Blk/Ethiopi4',
+'inethiopicextended' => 'Blk/Ethiopi2',
+'inethiopicextendeda' => 'Blk/Ethiopi4',
+'inethiopicsup' => 'Blk/Ethiopi3',
+'inethiopicsupplement' => 'Blk/Ethiopi3',
+'ingeneralpunctuation' => 'Blk/Punctuat',
+'ingeometricshapes' => 'Blk/Geometri',
+'ingeorgian' => 'Blk/Georgian',
+'ingeorgiansup' => 'Blk/Georgia2',
+'ingeorgiansupplement' => 'Blk/Georgia2',
+'inglagolitic' => 'Blk/Glagolit',
+'ingothic' => 'Blk/Gothic',
+'ingreek' => 'Blk/Greek',
+'ingreekandcoptic' => 'Blk/Greek',
+'ingreekext' => 'Blk/GreekExt',
+'ingreekextended' => 'Blk/GreekExt',
+'ingujarati' => 'Blk/Gujarati',
+'ingurmukhi' => 'Blk/Gurmukhi',
+'inhalfandfullforms' => 'Blk/HalfAndF',
+'inhalfmarks' => 'Blk/HalfMark',
+'inhalfwidthandfullwidthforms' => 'Blk/HalfAndF',
+'inhangul' => 'Blk/Hangul',
+'inhangulcompatibilityjamo' => 'Blk/CompatJa',
+'inhanguljamo' => 'Blk/Jamo',
+'inhanguljamoextendeda' => 'Blk/JamoExtA',
+'inhanguljamoextendedb' => 'Blk/JamoExtB',
+'inhangulsyllables' => 'Blk/Hangul',
+'inhanunoo' => 'Blk/Hanunoo',
+'inhebrew' => 'Blk/Hebrew',
+'inherited' => 'Sc/Zinh',
+'inhighprivateusesurrogates' => 'Blk/HighPUSu',
+'inhighpusurrogates' => 'Blk/HighPUSu',
+'inhighsurrogates' => 'Blk/HighSurr',
+'inhiragana' => 'Blk/Hiragana',
+'inidc' => 'Blk/IDC',
+'inideographicdescriptioncharacters' => 'Blk/IDC',
+'inimperialaramaic' => 'Blk/Imperial',
+'inindicnumberforms' => 'Blk/IndicNum',
+'ininscriptionalpahlavi' => 'Blk/Inscript',
+'ininscriptionalparthian' => 'Blk/Inscrip2',
+'inipaext' => 'Blk/IPAExt',
+'inipaextensions' => 'Blk/IPAExt',
+'initialpunctuation' => 'Gc/Pi',
+'injamo' => 'Blk/Jamo',
+'injamoexta' => 'Blk/JamoExtA',
+'injamoextb' => 'Blk/JamoExtB',
+'injavanese' => 'Blk/Javanese',
+'inkaithi' => 'Blk/Kaithi',
+'inkanasup' => 'Blk/KanaSup',
+'inkanasupplement' => 'Blk/KanaSup',
+'inkanbun' => 'Blk/Kanbun',
+'inkangxi' => 'Blk/Kangxi',
+'inkangxiradicals' => 'Blk/Kangxi',
+'inkannada' => 'Blk/Kannada',
+'inkatakana' => 'Blk/Katakana',
+'inkatakanaext' => 'Blk/Katakan2',
+'inkatakanaphoneticextensions' => 'Blk/Katakan2',
+'inkayahli' => 'Scx/Kali',
+'inkharoshthi' => 'Blk/Kharosht',
+'inkhmer' => 'Blk/Khmer',
+'inkhmersymbols' => 'Blk/KhmerSym',
+'inlao' => 'Blk/Lao',
+'inlatin1' => 'Blk/Latin1',
+'inlatin1sup' => 'Blk/Latin1',
+'inlatin1supplement' => 'Blk/Latin1',
+'inlatinexta' => 'Blk/LatinExt',
+'inlatinextadditional' => 'Blk/LatinEx5',
+'inlatinextb' => 'Blk/LatinEx2',
+'inlatinextc' => 'Blk/LatinEx3',
+'inlatinextd' => 'Blk/LatinEx4',
+'inlatinextendeda' => 'Blk/LatinExt',
+'inlatinextendedadditional' => 'Blk/LatinEx5',
+'inlatinextendedb' => 'Blk/LatinEx2',
+'inlatinextendedc' => 'Blk/LatinEx3',
+'inlatinextendedd' => 'Blk/LatinEx4',
+'inlepcha' => 'Blk/Lepcha',
+'inletterlikesymbols' => 'Blk/Letterli',
+'inlimbu' => 'Blk/Limbu',
+'inlinearbideograms' => 'Blk/LinearBI',
+'inlinearbsyllabary' => 'Blk/LinearBS',
+'inlisu' => 'Scx/Lisu',
+'inlowsurrogates' => 'Blk/LowSurro',
+'inlycian' => 'Blk/Lycian',
+'inlydian' => 'Blk/Lydian',
+'inmahjong' => 'Blk/Mahjong',
+'inmahjongtiles' => 'Blk/Mahjong',
+'inmalayalam' => 'Blk/Malayala',
+'inmandaic' => 'Blk/Mandaic',
+'inmathalphanum' => 'Blk/MathAlph',
+'inmathematicalalphanumericsymbols' => 'Blk/MathAlph',
+'inmathematicaloperators' => 'Blk/MathOper',
+'inmathoperators' => 'Blk/MathOper',
+'inmeeteimayek' => 'Blk/MeeteiMa',
+'inmeeteimayekext' => 'Blk/MeeteiM2',
+'inmeeteimayekextensions' => 'Blk/MeeteiM2',
+'inmeroiticcursive' => 'Blk/Meroitic',
+'inmeroitichieroglyphs' => 'Scx/Mero',
+'inmiao' => 'Blk/Miao',
+'inmiscarrows' => 'Blk/MiscArro',
+'inmiscellaneousmathematicalsymbolsa' => 'Blk/MiscMath',
+'inmiscellaneousmathematicalsymbolsb' => 'Blk/MiscMat2',
+'inmiscellaneoussymbols' => 'Blk/MiscSymb',
+'inmiscellaneoussymbolsandarrows' => 'Blk/MiscArro',
+'inmiscellaneoussymbolsandpictographs' => 'Blk/MiscPict',
+'inmiscellaneoustechnical' => 'Blk/MiscTech',
+'inmiscmathsymbolsa' => 'Blk/MiscMath',
+'inmiscmathsymbolsb' => 'Blk/MiscMat2',
+'inmiscpictographs' => 'Blk/MiscPict',
+'inmiscsymbols' => 'Blk/MiscSymb',
+'inmisctechnical' => 'Blk/MiscTech',
+'inmodifierletters' => 'Blk/Modifier',
+'inmodifiertoneletters' => 'Blk/Modifie2',
+'inmongolian' => 'Blk/Mongolia',
+'inmusic' => 'Blk/Music',
+'inmusicalsymbols' => 'Blk/Music',
+'inmyanmar' => 'Blk/Myanmar',
+'inmyanmarexta' => 'Blk/MyanmarE',
+'inmyanmarextendeda' => 'Blk/MyanmarE',
+'innb' => 'Blk/NB',
+'innewtailue' => 'Blk/NewTaiLu',
+'innko' => 'Blk/NKo',
+'innoblock' => 'Blk/NB',
+'innumberforms' => 'Blk/NumberFo',
+'inocr' => 'Blk/OCR',
+'inogham' => 'Blk/Ogham',
+'inolchiki' => 'Scx/Olck',
+'inolditalic' => 'Blk/OldItali',
+'inoldpersian' => 'Blk/OldPersi',
+'inoldsoutharabian' => 'Scx/Sarb',
+'inoldturkic' => 'Blk/OldTurki',
+'inopticalcharacterrecognition' => 'Blk/OCR',
+'inoriya' => 'Blk/Oriya',
+'inosmanya' => 'Blk/Osmanya',
+'inphagspa' => 'Blk/PhagsPa',
+'inphaistos' => 'Blk/Phaistos',
+'inphaistosdisc' => 'Blk/Phaistos',
+'inphoenician' => 'Blk/Phoenici',
+'inphoneticext' => 'Blk/Phonetic',
+'inphoneticextensions' => 'Blk/Phonetic',
+'inphoneticextensionssupplement' => 'Blk/Phoneti2',
+'inphoneticextsup' => 'Blk/Phoneti2',
+'inplayingcards' => 'Blk/PlayingC',
+'inprivateuse' => 'Blk/PUA',
+'inprivateusearea' => 'Blk/PUA',
+'inpua' => 'Blk/PUA',
+'inpunctuation' => 'Blk/Punctuat',
+'inrejang' => 'Blk/Rejang',
+'inrumi' => 'Blk/Rumi',
+'inruminumeralsymbols' => 'Blk/Rumi',
+'inrunic' => 'Blk/Runic',
+'insamaritan' => 'Blk/Samarita',
+'insaurashtra' => 'Blk/Saurasht',
+'inscriptionalpahlavi' => 'Scx/Phli',
+'inscriptionalparthian' => 'Scx/Prti',
+'insharada' => 'Blk/Sharada',
+'inshavian' => 'Scx/Shaw',
+'insinhala' => 'Blk/Sinhala',
+'insmallforms' => 'Blk/SmallFor',
+'insmallformvariants' => 'Blk/SmallFor',
+'insorasompeng' => 'Blk/SoraSomp',
+'inspacingmodifierletters' => 'Blk/Modifier',
+'inspecials' => 'Blk/Specials',
+'insundanese' => 'Blk/Sundanes',
+'insundanesesup' => 'Blk/Sundane2',
+'insundanesesupplement' => 'Blk/Sundane2',
+'insuparrowsa' => 'Blk/SupArrow',
+'insuparrowsb' => 'Blk/SupArro2',
+'insuperandsub' => 'Blk/SuperAnd',
+'insuperscriptsandsubscripts' => 'Blk/SuperAnd',
+'insupmathoperators' => 'Blk/SupMathO',
+'insupplementalarrowsa' => 'Blk/SupArrow',
+'insupplementalarrowsb' => 'Blk/SupArro2',
+'insupplementalmathematicaloperators' => 'Blk/SupMathO',
+'insupplementalpunctuation' => 'Blk/SupPunct',
+'insupplementaryprivateuseareaa' => 'Blk/SupPUAA',
+'insupplementaryprivateuseareab' => 'Blk/SupPUAB',
+'insuppuaa' => 'Blk/SupPUAA',
+'insuppuab' => 'Blk/SupPUAB',
+'insuppunctuation' => 'Blk/SupPunct',
+'insylotinagri' => 'Blk/SylotiNa',
+'insyriac' => 'Blk/Syriac',
+'intagalog' => 'Blk/Tagalog',
+'intagbanwa' => 'Blk/Tagbanwa',
+'intags' => 'Blk/Tags',
+'intaile' => 'Blk/TaiLe',
+'intaitham' => 'Blk/TaiTham',
+'intaiviet' => 'Blk/TaiViet',
+'intaixuanjing' => 'Blk/TaiXuanJ',
+'intaixuanjingsymbols' => 'Blk/TaiXuanJ',
+'intakri' => 'Blk/Takri',
+'intamil' => 'Blk/Tamil',
+'intelugu' => 'Blk/Telugu',
+'inthaana' => 'Blk/Thaana',
+'inthai' => 'Blk/Thai',
+'intibetan' => 'Blk/Tibetan',
+'intifinagh' => 'Blk/Tifinagh',
+'intransportandmap' => 'Blk/Transpor',
+'intransportandmapsymbols' => 'Blk/Transpor',
+'inucas' => 'Blk/UCAS',
+'inucasext' => 'Blk/UCASExt',
+'inugaritic' => 'Blk/Ugaritic',
+'inunifiedcanadianaboriginalsyllabics' => 'Blk/UCAS',
+'inunifiedcanadianaboriginalsyllabicsextended' => 'Blk/UCASExt',
+'invai' => 'Blk/Vai',
+'invariationselectors' => 'Blk/VS',
+'invariationselectorssupplement' => 'Blk/VSSup',
+'invedicext' => 'Blk/VedicExt',
+'invedicextensions' => 'Blk/VedicExt',
+'inverticalforms' => 'Blk/Vertical',
+'invs' => 'Blk/VS',
+'invssup' => 'Blk/VSSup',
+'inyijing' => 'Blk/Yijing',
+'inyijinghexagramsymbols' => 'Blk/Yijing',
+'inyiradicals' => 'Blk/YiRadica',
+'inyisyllables' => 'Blk/YiSyllab',
+'ipaext' => 'Blk/IPAExt',
+'ipaextensions' => 'Blk/IPAExt',
+'isaegeannumbers' => 'Blk/AegeanNu',
+'isahex' => 'AHex/Y',
+'isalchemical' => 'Blk/Alchemic',
+'isalchemicalsymbols' => 'Blk/Alchemic',
+'isall' => 'Perl/Any',
+'isalnum' => 'Perl/Alnum',
+'isalpha' => 'Alpha/Y',
+'isalphabetic' => 'Alpha/Y',
+'isalphabeticpf' => 'Blk/Alphabet',
+'isalphabeticpresentationforms' => 'Blk/Alphabet',
+'isancientgreekmusic' => 'Blk/AncientG',
+'isancientgreekmusicalnotation' => 'Blk/AncientG',
+'isancientgreeknumbers' => 'Blk/Ancient2',
+'isancientsymbols' => 'Blk/AncientS',
+'isany' => 'Perl/Any',
+'isarab' => 'Sc/Arab',
+'isarabic' => 'Sc/Arab',
+'isarabicexta' => 'Blk/ArabicEx',
+'isarabicextendeda' => 'Blk/ArabicEx',
+'isarabicmath' => 'Blk/ArabicMa',
+'isarabicmathematicalalphabeticsymbols' => 'Blk/ArabicMa',
+'isarabicpfa' => 'Blk/ArabicPF',
+'isarabicpfb' => 'Blk/ArabicP2',
+'isarabicpresentationformsa' => 'Blk/ArabicPF',
+'isarabicpresentationformsb' => 'Blk/ArabicP2',
+'isarabicsup' => 'Blk/ArabicSu',
+'isarabicsupplement' => 'Blk/ArabicSu',
+'isarmenian' => 'Sc/Armn',
+'isarmi' => 'Scx/Armi',
+'isarmn' => 'Sc/Armn',
+'isarrows' => 'Blk/Arrows',
+'isascii' => 'Blk/ASCII',
+'isasciihexdigit' => 'AHex/Y',
+'isassigned' => 'Perl/Assigned',
+'isavestan' => 'Scx/Avst',
+'isavst' => 'Scx/Avst',
+'isbali' => 'Scx/Bali',
+'isbalinese' => 'Scx/Bali',
+'isbamu' => 'Scx/Bamu',
+'isbamum' => 'Scx/Bamu',
+'isbamumsup' => 'Blk/BamumSup',
+'isbamumsupplement' => 'Blk/BamumSup',
+'isbasiclatin' => 'Blk/ASCII',
+'isbatak' => 'Scx/Batk',
+'isbatk' => 'Scx/Batk',
+'isbeng' => 'Sc/Beng',
+'isbengali' => 'Sc/Beng',
+'isbidic' => 'BidiC/Y',
+'isbidicontrol' => 'BidiC/Y',
+'isbidim' => 'BidiM/Y',
+'isbidimirrored' => 'BidiM/Y',
+'isblank' => 'Perl/Blank',
+'isblockelements' => 'Blk/BlockEle',
+'isbopo' => 'Sc/Bopo',
+'isbopomofo' => 'Sc/Bopo',
+'isbopomofoext' => 'Blk/Bopomof2',
+'isbopomofoextended' => 'Blk/Bopomof2',
+'isboxdrawing' => 'Blk/BoxDrawi',
+'isbrah' => 'Scx/Brah',
+'isbrahmi' => 'Scx/Brah',
+'isbrai' => 'Scx/Brai',
+'isbraille' => 'Scx/Brai',
+'isbraillepatterns' => 'Scx/Brai',
+'isbugi' => 'Scx/Bugi',
+'isbuginese' => 'Scx/Bugi',
+'isbuhd' => 'Sc/Buhd',
+'isbuhid' => 'Sc/Buhd',
+'isbyzantinemusic' => 'Blk/Byzantin',
+'isbyzantinemusicalsymbols' => 'Blk/Byzantin',
+'isc' => 'Gc/C',
+'iscakm' => 'Scx/Cakm',
+'iscanadianaboriginal' => 'Scx/Cans',
+'iscanadiansyllabics' => 'Blk/UCAS',
+'iscans' => 'Scx/Cans',
+'iscari' => 'Scx/Cari',
+'iscarian' => 'Scx/Cari',
+'iscased' => 'Cased/Y',
+'iscasedletter' => 'Gc/LC',
+'iscaseignorable' => 'CI/Y',
+'iscc' => 'Gc/Cc',
+'isce' => 'CE/Y',
+'iscf' => 'Gc/Cf',
+'ischakma' => 'Scx/Cakm',
+'ischam' => 'Scx/Cham',
+'ischangeswhencasefolded' => 'CWCF/Y',
+'ischangeswhencasemapped' => 'CWCM/Y',
+'ischangeswhenlowercased' => 'CWL/Y',
+'ischangeswhennfkccasefolded' => 'CWKCF/Y',
+'ischangeswhentitlecased' => 'CWT/Y',
+'ischangeswhenuppercased' => 'CWU/Y',
+'ischer' => 'Scx/Cher',
+'ischerokee' => 'Scx/Cher',
+'isci' => 'CI/Y',
+'iscjk' => 'Blk/CJK',
+'iscjkcompat' => 'Blk/CJKCompa',
+'iscjkcompatforms' => 'Blk/CJKComp2',
+'iscjkcompatibility' => 'Blk/CJKCompa',
+'iscjkcompatibilityforms' => 'Blk/CJKComp2',
+'iscjkcompatibilityideographs' => 'Blk/CJKComp3',
+'iscjkcompatibilityideographssupplement' => 'Blk/CJKComp4',
+'iscjkcompatideographs' => 'Blk/CJKComp3',
+'iscjkcompatideographssup' => 'Blk/CJKComp4',
+'iscjkexta' => 'Blk/CJKExtA',
+'iscjkextb' => 'Blk/CJKExtB',
+'iscjkextc' => 'Blk/CJKExtC',
+'iscjkextd' => 'Blk/CJKExtD',
+'iscjkradicalssup' => 'Blk/CJKRadic',
+'iscjkradicalssupplement' => 'Blk/CJKRadic',
+'iscjkstrokes' => 'Blk/CJKStrok',
+'iscjksymbols' => 'Blk/CJKSymbo',
+'iscjksymbolsandpunctuation' => 'Blk/CJKSymbo',
+'iscjkunifiedideographs' => 'Blk/CJK',
+'iscjkunifiedideographsextensiona' => 'Blk/CJKExtA',
+'iscjkunifiedideographsextensionb' => 'Blk/CJKExtB',
+'iscjkunifiedideographsextensionc' => 'Blk/CJKExtC',
+'iscjkunifiedideographsextensiond' => 'Blk/CJKExtD',
+'isclosepunctuation' => 'Gc/Pe',
+'iscn' => 'Gc/Cn',
+'iscntrl' => 'Gc/Cc',
+'isco' => 'Gc/Co',
+'iscombiningdiacriticalmarks' => 'Blk/Diacriti',
+'iscombiningdiacriticalmarksforsymbols' => 'Blk/Diacrit3',
+'iscombiningdiacriticalmarkssupplement' => 'Blk/Diacrit2',
+'iscombininghalfmarks' => 'Blk/HalfMark',
+'iscombiningmark' => 'Gc/M',
+'iscombiningmarksforsymbols' => 'Blk/Diacrit3',
+'iscommon' => 'Sc/Zyyy',
+'iscommonindicnumberforms' => 'Blk/IndicNum',
+'iscompatjamo' => 'Blk/CompatJa',
+'iscompex' => 'CompEx/Y',
+'iscompositionexclusion' => 'CE/Y',
+'isconnectorpunctuation' => 'Gc/Pc',
+'iscontrol' => 'Gc/Cc',
+'iscontrolpictures' => 'Blk/ControlP',
+'iscopt' => 'Scx/Copt',
+'iscoptic' => 'Scx/Copt',
+'iscountingrod' => 'Blk/Counting',
+'iscountingrodnumerals' => 'Blk/Counting',
+'iscprt' => 'Sc/Cprt',
+'iscs' => 'Gc/Cs',
+'iscuneiform' => 'Scx/Xsux',
+'iscuneiformnumbers' => 'Blk/Cuneifo2',
+'iscuneiformnumbersandpunctuation' => 'Blk/Cuneifo2',
+'iscurrencysymbol' => 'Gc/Sc',
+'iscurrencysymbols' => 'Blk/Currency',
+'iscwcf' => 'CWCF/Y',
+'iscwcm' => 'CWCM/Y',
+'iscwkcf' => 'CWKCF/Y',
+'iscwl' => 'CWL/Y',
+'iscwt' => 'CWT/Y',
+'iscwu' => 'CWU/Y',
+'iscypriot' => 'Sc/Cprt',
+'iscypriotsyllabary' => 'Blk/CypriotS',
+'iscyrillic' => 'Scx/Cyrl',
+'iscyrillicexta' => 'Blk/Cyrilli3',
+'iscyrillicextb' => 'Blk/Cyrilli4',
+'iscyrillicextendeda' => 'Blk/Cyrilli3',
+'iscyrillicextendedb' => 'Blk/Cyrilli4',
+'iscyrillicsup' => 'Blk/Cyrilli2',
+'iscyrillicsupplement' => 'Blk/Cyrilli2',
+'iscyrillicsupplementary' => 'Blk/Cyrilli2',
+'iscyrl' => 'Scx/Cyrl',
+'isdash' => 'Dash/Y',
+'isdashpunctuation' => 'Gc/Pd',
+'isdecimalnumber' => 'Gc/Nd',
+'isdefaultignorablecodepoint' => 'DI/Y',
+'isdep' => 'Dep/Y',
+'isdeprecated' => 'Dep/Y',
+'isdeseret' => 'Scx/Dsrt',
+'isdeva' => 'Sc/Deva',
+'isdevanagari' => 'Sc/Deva',
+'isdevanagariext' => 'Blk/Devanag2',
+'isdevanagariextended' => 'Blk/Devanag2',
+'isdi' => 'DI/Y',
+'isdia' => 'Dia/Y',
+'isdiacritic' => 'Dia/Y',
+'isdiacriticals' => 'Blk/Diacriti',
+'isdiacriticalsforsymbols' => 'Blk/Diacrit3',
+'isdiacriticalssup' => 'Blk/Diacrit2',
+'isdigit' => 'Gc/Nd',
+'isdingbats' => 'Blk/Dingbats',
+'isdomino' => 'Blk/Domino',
+'isdominotiles' => 'Blk/Domino',
+'isdsrt' => 'Scx/Dsrt',
+'isegyp' => 'Scx/Egyp',
+'isegyptianhieroglyphs' => 'Scx/Egyp',
+'isemoticons' => 'Blk/Emoticon',
+'isenclosedalphanum' => 'Blk/Enclose2',
+'isenclosedalphanumerics' => 'Blk/Enclose2',
+'isenclosedalphanumericsupplement' => 'Blk/Enclose3',
+'isenclosedalphanumsup' => 'Blk/Enclose3',
+'isenclosedcjk' => 'Blk/Enclosed',
+'isenclosedcjklettersandmonths' => 'Blk/Enclosed',
+'isenclosedideographicsup' => 'Blk/Enclose4',
+'isenclosedideographicsupplement' => 'Blk/Enclose4',
+'isenclosingmark' => 'Gc/Me',
+'isethi' => 'Scx/Ethi',
+'isethiopic' => 'Scx/Ethi',
+'isethiopicext' => 'Blk/Ethiopi2',
+'isethiopicexta' => 'Blk/Ethiopi4',
+'isethiopicextended' => 'Blk/Ethiopi2',
+'isethiopicextendeda' => 'Blk/Ethiopi4',
+'isethiopicsup' => 'Blk/Ethiopi3',
+'isethiopicsupplement' => 'Blk/Ethiopi3',
+'isext' => 'Ext/Y',
+'isextender' => 'Ext/Y',
+'isfinalpunctuation' => 'Gc/Pf',
+'isformat' => 'Gc/Cf',
+'isfullcompositionexclusion' => 'CompEx/Y',
+'isgeneralpunctuation' => 'Blk/Punctuat',
+'isgeometricshapes' => 'Blk/Geometri',
+'isgeor' => 'Sc/Geor',
+'isgeorgian' => 'Sc/Geor',
+'isgeorgiansup' => 'Blk/Georgia2',
+'isgeorgiansupplement' => 'Blk/Georgia2',
+'isglag' => 'Scx/Glag',
+'isglagolitic' => 'Scx/Glag',
+'isgoth' => 'Scx/Goth',
+'isgothic' => 'Scx/Goth',
+'isgraph' => 'Perl/Graph',
+'isgraphemebase' => 'GrBase/Y',
+'isgraphemeextend' => 'GCB/EX',
+'isgrbase' => 'GrBase/Y',
+'isgreek' => 'Scx/Grek',
+'isgreekandcoptic' => 'Blk/Greek',
+'isgreekext' => 'Blk/GreekExt',
+'isgreekextended' => 'Blk/GreekExt',
+'isgrek' => 'Scx/Grek',
+'isgrext' => 'GCB/EX',
+'isgujarati' => 'Sc/Gujr',
+'isgujr' => 'Sc/Gujr',
+'isgurmukhi' => 'Sc/Guru',
+'isguru' => 'Sc/Guru',
+'ishalfandfullforms' => 'Blk/HalfAndF',
+'ishalfmarks' => 'Blk/HalfMark',
+'ishalfwidthandfullwidthforms' => 'Blk/HalfAndF',
+'ishan' => 'Sc/Han',
+'ishang' => 'Sc/Hang',
+'ishangul' => 'Sc/Hang',
+'ishangulcompatibilityjamo' => 'Blk/CompatJa',
+'ishanguljamo' => 'Blk/Jamo',
+'ishanguljamoextendeda' => 'Blk/JamoExtA',
+'ishanguljamoextendedb' => 'Blk/JamoExtB',
+'ishangulsyllables' => 'Blk/Hangul',
+'ishani' => 'Sc/Han',
+'ishano' => 'Sc/Hano',
+'ishanunoo' => 'Sc/Hano',
+'ishebr' => 'Scx/Hebr',
+'ishebrew' => 'Scx/Hebr',
+'ishex' => 'Hex/Y',
+'ishexdigit' => 'Hex/Y',
+'ishighprivateusesurrogates' => 'Blk/HighPUSu',
+'ishighpusurrogates' => 'Blk/HighPUSu',
+'ishighsurrogates' => 'Blk/HighSurr',
+'ishira' => 'Sc/Hira',
+'ishiragana' => 'Sc/Hira',
+'ishorizspace' => 'Perl/Blank',
+'ishyphen' => 'Hyphen/Y',
+'isidc' => 'IDC/Y',
+'isidcontinue' => 'IDC/Y',
+'isideo' => 'Ideo/Y',
+'isideographic' => 'Ideo/Y',
+'isideographicdescriptioncharacters' => 'Blk/IDC',
+'isids' => 'IDS/Y',
+'isidsb' => 'IDSB/Y',
+'isidsbinaryoperator' => 'IDSB/Y',
+'isidst' => 'IDST/Y',
+'isidstart' => 'IDS/Y',
+'isidstrinaryoperator' => 'IDST/Y',
+'isimperialaramaic' => 'Scx/Armi',
+'isindicnumberforms' => 'Blk/IndicNum',
+'isinherited' => 'Sc/Zinh',
+'isinitialpunctuation' => 'Gc/Pi',
+'isinscriptionalpahlavi' => 'Scx/Phli',
+'isinscriptionalparthian' => 'Scx/Prti',
+'isipaext' => 'Blk/IPAExt',
+'isipaextensions' => 'Blk/IPAExt',
+'isital' => 'Scx/Ital',
+'isjamo' => 'Blk/Jamo',
+'isjamoexta' => 'Blk/JamoExtA',
+'isjamoextb' => 'Blk/JamoExtB',
+'isjava' => 'Scx/Java',
+'isjavanese' => 'Scx/Java',
+'isjoinc' => 'JoinC/Y',
+'isjoincontrol' => 'JoinC/Y',
+'iskaithi' => 'Sc/Kthi',
+'iskali' => 'Scx/Kali',
+'iskana' => 'Sc/Kana',
+'iskanasup' => 'Blk/KanaSup',
+'iskanasupplement' => 'Blk/KanaSup',
+'iskanbun' => 'Blk/Kanbun',
+'iskangxi' => 'Blk/Kangxi',
+'iskangxiradicals' => 'Blk/Kangxi',
+'iskannada' => 'Scx/Knda',
+'iskatakana' => 'Sc/Kana',
+'iskatakanaext' => 'Blk/Katakan2',
+'iskatakanaphoneticextensions' => 'Blk/Katakan2',
+'iskayahli' => 'Scx/Kali',
+'iskhar' => 'Scx/Khar',
+'iskharoshthi' => 'Scx/Khar',
+'iskhmer' => 'Scx/Khmr',
+'iskhmersymbols' => 'Blk/KhmerSym',
+'iskhmr' => 'Scx/Khmr',
+'isknda' => 'Scx/Knda',
+'iskthi' => 'Sc/Kthi',
+'isl' => 'Gc/L',
+'isl&' => 'Gc/LC',
+'isl_' => 'Gc/LC',
+'islana' => 'Scx/Lana',
+'islao' => 'Scx/Lao',
+'islaoo' => 'Scx/Lao',
+'islatin' => 'Scx/Latn',
+'islatin1' => 'Blk/Latin1',
+'islatin1sup' => 'Blk/Latin1',
+'islatin1supplement' => 'Blk/Latin1',
+'islatinexta' => 'Blk/LatinExt',
+'islatinextadditional' => 'Blk/LatinEx5',
+'islatinextb' => 'Blk/LatinEx2',
+'islatinextc' => 'Blk/LatinEx3',
+'islatinextd' => 'Blk/LatinEx4',
+'islatinextendeda' => 'Blk/LatinExt',
+'islatinextendedadditional' => 'Blk/LatinEx5',
+'islatinextendedb' => 'Blk/LatinEx2',
+'islatinextendedc' => 'Blk/LatinEx3',
+'islatinextendedd' => 'Blk/LatinEx4',
+'islatn' => 'Scx/Latn',
+'islc' => 'Gc/LC',
+'islepc' => 'Scx/Lepc',
+'islepcha' => 'Scx/Lepc',
+'isletter' => 'Gc/L',
+'isletterlikesymbols' => 'Blk/Letterli',
+'isletternumber' => 'Gc/Nl',
+'islimb' => 'Scx/Limb',
+'islimbu' => 'Scx/Limb',
+'islinb' => 'Sc/Linb',
+'islinearb' => 'Sc/Linb',
+'islinearbideograms' => 'Blk/LinearBI',
+'islinearbsyllabary' => 'Blk/LinearBS',
+'islineseparator' => 'Gc/Zl',
+'islisu' => 'Scx/Lisu',
+'isll' => 'Gc/Ll',
+'islm' => 'Gc/Lm',
+'islo' => 'Gc/Lo',
+'isloe' => 'LOE/Y',
+'islogicalorderexception' => 'LOE/Y',
+'islower' => 'Lower/Y',
+'islowercase' => 'Lower/Y',
+'islowercaseletter' => 'Gc/Ll',
+'islowsurrogates' => 'Blk/LowSurro',
+'islt' => 'Perl/Title',
+'islu' => 'Gc/Lu',
+'islyci' => 'Scx/Lyci',
+'islycian' => 'Scx/Lyci',
+'islydi' => 'Scx/Lydi',
+'islydian' => 'Scx/Lydi',
+'ism' => 'Gc/M',
+'ismahjong' => 'Blk/Mahjong',
+'ismahjongtiles' => 'Blk/Mahjong',
+'ismalayalam' => 'Scx/Mlym',
+'ismand' => 'Sc/Mand',
+'ismandaic' => 'Sc/Mand',
+'ismark' => 'Gc/M',
+'ismath' => 'Math/Y',
+'ismathalphanum' => 'Blk/MathAlph',
+'ismathematicalalphanumericsymbols' => 'Blk/MathAlph',
+'ismathematicaloperators' => 'Blk/MathOper',
+'ismathoperators' => 'Blk/MathOper',
+'ismathsymbol' => 'Gc/Sm',
+'ismc' => 'Gc/Mc',
+'isme' => 'Gc/Me',
+'ismeeteimayek' => 'Scx/Mtei',
+'ismeeteimayekext' => 'Blk/MeeteiM2',
+'ismeeteimayekextensions' => 'Blk/MeeteiM2',
+'ismerc' => 'Scx/Merc',
+'ismero' => 'Scx/Mero',
+'ismeroiticcursive' => 'Scx/Merc',
+'ismeroitichieroglyphs' => 'Scx/Mero',
+'ismiao' => 'Scx/Miao',
+'ismiscarrows' => 'Blk/MiscArro',
+'ismiscellaneousmathematicalsymbolsa' => 'Blk/MiscMath',
+'ismiscellaneousmathematicalsymbolsb' => 'Blk/MiscMat2',
+'ismiscellaneoussymbols' => 'Blk/MiscSymb',
+'ismiscellaneoussymbolsandarrows' => 'Blk/MiscArro',
+'ismiscellaneoussymbolsandpictographs' => 'Blk/MiscPict',
+'ismiscellaneoustechnical' => 'Blk/MiscTech',
+'ismiscmathsymbolsa' => 'Blk/MiscMath',
+'ismiscmathsymbolsb' => 'Blk/MiscMat2',
+'ismiscpictographs' => 'Blk/MiscPict',
+'ismiscsymbols' => 'Blk/MiscSymb',
+'ismisctechnical' => 'Blk/MiscTech',
+'ismlym' => 'Scx/Mlym',
+'ismn' => 'Gc/Mn',
+'ismodifierletter' => 'Gc/Lm',
+'ismodifierletters' => 'Blk/Modifier',
+'ismodifiersymbol' => 'Gc/Sk',
+'ismodifiertoneletters' => 'Blk/Modifie2',
+'ismong' => 'Sc/Mong',
+'ismongolian' => 'Sc/Mong',
+'ismtei' => 'Scx/Mtei',
+'ismusic' => 'Blk/Music',
+'ismusicalsymbols' => 'Blk/Music',
+'ismyanmar' => 'Scx/Mymr',
+'ismyanmarexta' => 'Blk/MyanmarE',
+'ismyanmarextendeda' => 'Blk/MyanmarE',
+'ismymr' => 'Scx/Mymr',
+'isn' => 'Gc/N',
+'isnb' => 'Blk/NB',
+'isnchar' => 'NChar/Y',
+'isnd' => 'Gc/Nd',
+'isnewtailue' => 'Scx/Talu',
+'isnko' => 'Scx/Nko',
+'isnkoo' => 'Scx/Nko',
+'isnl' => 'Gc/Nl',
+'isno' => 'Gc/No',
+'isnoblock' => 'Blk/NB',
+'isnoncharactercodepoint' => 'NChar/Y',
+'isnonspacingmark' => 'Gc/Mn',
+'isnumber' => 'Gc/N',
+'isnumberforms' => 'Blk/NumberFo',
+'isocr' => 'Blk/OCR',
+'isogam' => 'Scx/Ogam',
+'isogham' => 'Scx/Ogam',
+'isolchiki' => 'Scx/Olck',
+'isolck' => 'Scx/Olck',
+'isolditalic' => 'Scx/Ital',
+'isoldpersian' => 'Scx/Xpeo',
+'isoldsoutharabian' => 'Scx/Sarb',
+'isoldturkic' => 'Scx/Orkh',
+'isopenpunctuation' => 'Gc/Ps',
+'isopticalcharacterrecognition' => 'Blk/OCR',
+'isoriya' => 'Sc/Orya',
+'isorkh' => 'Scx/Orkh',
+'isorya' => 'Sc/Orya',
+'isosma' => 'Scx/Osma',
+'isosmanya' => 'Scx/Osma',
+'isother' => 'Gc/C',
+'isotherletter' => 'Gc/Lo',
+'isothernumber' => 'Gc/No',
+'isotherpunctuation' => 'Gc/Po',
+'isothersymbol' => 'Gc/So',
+'isp' => 'Gc/P',
+'isparagraphseparator' => 'Gc/Zp',
+'ispatsyn' => 'PatSyn/Y',
+'ispatternsyntax' => 'PatSyn/Y',
+'ispatternwhitespace' => 'PatWS/Y',
+'ispatws' => 'PatWS/Y',
+'ispc' => 'Gc/Pc',
+'ispd' => 'Gc/Pd',
+'ispe' => 'Gc/Pe',
+'isperlspace' => 'Perl/PerlSpac',
+'isperlword' => 'Perl/PerlWord',
+'ispf' => 'Gc/Pf',
+'isphag' => 'Sc/Phag',
+'isphagspa' => 'Sc/Phag',
+'isphaistos' => 'Blk/Phaistos',
+'isphaistosdisc' => 'Blk/Phaistos',
+'isphli' => 'Scx/Phli',
+'isphnx' => 'Scx/Phnx',
+'isphoenician' => 'Scx/Phnx',
+'isphoneticext' => 'Blk/Phonetic',
+'isphoneticextensions' => 'Blk/Phonetic',
+'isphoneticextensionssupplement' => 'Blk/Phoneti2',
+'isphoneticextsup' => 'Blk/Phoneti2',
+'ispi' => 'Gc/Pi',
+'isplayingcards' => 'Blk/PlayingC',
+'isplrd' => 'Scx/Miao',
+'ispo' => 'Gc/Po',
+'isposixalnum' => 'Perl/PosixAln',
+'isposixalpha' => 'Perl/PosixAlp',
+'isposixblank' => 'Perl/PosixBla',
+'isposixcntrl' => 'Perl/PosixCnt',
+'isposixdigit' => 'Perl/PosixDig',
+'isposixgraph' => 'Perl/PosixGra',
+'isposixlower' => 'Perl/PosixLow',
+'isposixprint' => 'Perl/PosixPri',
+'isposixpunct' => 'Perl/PosixPun',
+'isposixspace' => 'Perl/PosixSpa',
+'isposixupper' => 'Perl/PosixUpp',
+'isposixword' => 'Perl/PerlWord',
+'isposixxdigit' => 'AHex/Y',
+'isprint' => 'Perl/Print',
+'isprivateuse' => 'Gc/Co',
+'isprivateusearea' => 'Blk/PUA',
+'isprti' => 'Scx/Prti',
+'isps' => 'Gc/Ps',
+'ispua' => 'Blk/PUA',
+'ispunct' => 'Gc/P',
+'ispunctuation' => 'Gc/P',
+'isqaac' => 'Scx/Copt',
+'isqaai' => 'Sc/Zinh',
+'isqmark' => 'QMark/Y',
+'isquotationmark' => 'QMark/Y',
+'isradical' => 'Radical/Y',
+'isrejang' => 'Scx/Rjng',
+'isrjng' => 'Scx/Rjng',
+'isrumi' => 'Blk/Rumi',
+'isruminumeralsymbols' => 'Blk/Rumi',
+'isrunic' => 'Scx/Runr',
+'isrunr' => 'Scx/Runr',
+'iss' => 'Gc/S',
+'issamaritan' => 'Scx/Samr',
+'issamr' => 'Scx/Samr',
+'issarb' => 'Scx/Sarb',
+'issaur' => 'Scx/Saur',
+'issaurashtra' => 'Scx/Saur',
+'issc' => 'Gc/Sc',
+'issd' => 'SD/Y',
+'isseparator' => 'Gc/Z',
+'issharada' => 'Scx/Shrd',
+'isshavian' => 'Scx/Shaw',
+'isshaw' => 'Scx/Shaw',
+'isshrd' => 'Scx/Shrd',
+'issinh' => 'Scx/Sinh',
+'issinhala' => 'Scx/Sinh',
+'issk' => 'Gc/Sk',
+'issm' => 'Gc/Sm',
+'issmallforms' => 'Blk/SmallFor',
+'issmallformvariants' => 'Blk/SmallFor',
+'isso' => 'Gc/So',
+'issoftdotted' => 'SD/Y',
+'issora' => 'Scx/Sora',
+'issorasompeng' => 'Scx/Sora',
+'isspace' => 'Space/Y',
+'isspaceperl' => 'Perl/SpacePer',
+'isspaceseparator' => 'Gc/Zs',
+'isspacingmark' => 'Gc/Mc',
+'isspacingmodifierletters' => 'Blk/Modifier',
+'isspecials' => 'Blk/Specials',
+'issterm' => 'STerm/Y',
+'issund' => 'Scx/Sund',
+'issundanese' => 'Scx/Sund',
+'issundanesesup' => 'Blk/Sundane2',
+'issundanesesupplement' => 'Blk/Sundane2',
+'issuparrowsa' => 'Blk/SupArrow',
+'issuparrowsb' => 'Blk/SupArro2',
+'issuperandsub' => 'Blk/SuperAnd',
+'issuperscriptsandsubscripts' => 'Blk/SuperAnd',
+'issupmathoperators' => 'Blk/SupMathO',
+'issupplementalarrowsa' => 'Blk/SupArrow',
+'issupplementalarrowsb' => 'Blk/SupArro2',
+'issupplementalmathematicaloperators' => 'Blk/SupMathO',
+'issupplementalpunctuation' => 'Blk/SupPunct',
+'issupplementaryprivateuseareaa' => 'Blk/SupPUAA',
+'issupplementaryprivateuseareab' => 'Blk/SupPUAB',
+'issuppuaa' => 'Blk/SupPUAA',
+'issuppuab' => 'Blk/SupPUAB',
+'issuppunctuation' => 'Blk/SupPunct',
+'issurrogate' => 'Gc/Cs',
+'issylo' => 'Scx/Sylo',
+'issylotinagri' => 'Scx/Sylo',
+'issymbol' => 'Gc/S',
+'issyrc' => 'Sc/Syrc',
+'issyriac' => 'Sc/Syrc',
+'istagalog' => 'Sc/Tglg',
+'istagb' => 'Sc/Tagb',
+'istagbanwa' => 'Sc/Tagb',
+'istags' => 'Blk/Tags',
+'istaile' => 'Scx/Tale',
+'istaitham' => 'Scx/Lana',
+'istaiviet' => 'Scx/Tavt',
+'istaixuanjing' => 'Blk/TaiXuanJ',
+'istaixuanjingsymbols' => 'Blk/TaiXuanJ',
+'istakr' => 'Sc/Takr',
+'istakri' => 'Sc/Takr',
+'istale' => 'Scx/Tale',
+'istalu' => 'Scx/Talu',
+'istamil' => 'Scx/Taml',
+'istaml' => 'Scx/Taml',
+'istavt' => 'Scx/Tavt',
+'istelu' => 'Scx/Telu',
+'istelugu' => 'Scx/Telu',
+'isterm' => 'Term/Y',
+'isterminalpunctuation' => 'Term/Y',
+'istfng' => 'Scx/Tfng',
+'istglg' => 'Sc/Tglg',
+'isthaa' => 'Sc/Thaa',
+'isthaana' => 'Sc/Thaa',
+'isthai' => 'Scx/Thai',
+'istibetan' => 'Scx/Tibt',
+'istibt' => 'Scx/Tibt',
+'istifinagh' => 'Scx/Tfng',
+'istitle' => 'Perl/Title',
+'istitlecase' => 'Perl/Title',
+'istitlecaseletter' => 'Perl/Title',
+'istransportandmap' => 'Blk/Transpor',
+'istransportandmapsymbols' => 'Blk/Transpor',
+'isucas' => 'Blk/UCAS',
+'isucasext' => 'Blk/UCASExt',
+'isugar' => 'Scx/Ugar',
+'isugaritic' => 'Scx/Ugar',
+'isuideo' => 'UIdeo/Y',
+'isunassigned' => 'Gc/Cn',
+'isunifiedcanadianaboriginalsyllabics' => 'Blk/UCAS',
+'isunifiedcanadianaboriginalsyllabicsextended' => 'Blk/UCASExt',
+'isunifiedideograph' => 'UIdeo/Y',
+'isunknown' => 'Scx/Zzzz',
+'isupper' => 'Upper/Y',
+'isuppercase' => 'Upper/Y',
+'isuppercaseletter' => 'Gc/Lu',
+'isvai' => 'Scx/Vai',
+'isvaii' => 'Scx/Vai',
+'isvariationselector' => 'VS/Y',
+'isvariationselectors' => 'Blk/VS',
+'isvariationselectorssupplement' => 'Blk/VSSup',
+'isvedicext' => 'Blk/VedicExt',
+'isvedicextensions' => 'Blk/VedicExt',
+'isverticalforms' => 'Blk/Vertical',
+'isvertspace' => 'Perl/VertSpac',
+'isvs' => 'VS/Y',
+'isvssup' => 'Blk/VSSup',
+'iswhitespace' => 'Space/Y',
+'isword' => 'Perl/Word',
+'iswspace' => 'Space/Y',
+'isxdigit' => 'Hex/Y',
+'isxidc' => 'XIDC/Y',
+'isxidcontinue' => 'XIDC/Y',
+'isxids' => 'XIDS/Y',
+'isxidstart' => 'XIDS/Y',
+'isxpeo' => 'Scx/Xpeo',
+'isxperlspace' => 'Perl/SpacePer',
+'isxposixalnum' => 'Perl/Alnum',
+'isxposixalpha' => 'Alpha/Y',
+'isxposixblank' => 'Perl/Blank',
+'isxposixcntrl' => 'Gc/Cc',
+'isxposixdigit' => 'Gc/Nd',
+'isxposixgraph' => 'Perl/Graph',
+'isxposixlower' => 'Lower/Y',
+'isxposixprint' => 'Perl/Print',
+'isxposixpunct' => 'Perl/XPosixPu',
+'isxposixspace' => 'Space/Y',
+'isxposixupper' => 'Upper/Y',
+'isxposixword' => 'Perl/Word',
+'isxposixxdigit' => 'Hex/Y',
+'isxsux' => 'Scx/Xsux',
+'isyi' => 'Sc/Yi',
+'isyiii' => 'Sc/Yi',
+'isyijing' => 'Blk/Yijing',
+'isyijinghexagramsymbols' => 'Blk/Yijing',
+'isyiradicals' => 'Blk/YiRadica',
+'isyisyllables' => 'Blk/YiSyllab',
+'isz' => 'Gc/Z',
+'iszinh' => 'Sc/Zinh',
+'iszl' => 'Gc/Zl',
+'iszp' => 'Gc/Zp',
+'iszs' => 'Gc/Zs',
+'iszyyy' => 'Sc/Zyyy',
+'iszzzz' => 'Scx/Zzzz',
+'ital' => 'Scx/Ital',
+'jamo' => 'Blk/Jamo',
+'jamoexta' => 'Blk/JamoExtA',
+'jamoextb' => 'Blk/JamoExtB',
+'java' => 'Scx/Java',
+'javanese' => 'Scx/Java',
+'jg=ain' => 'Jg/Ain',
+'jg=alaph' => 'Jg/Alaph',
+'jg=alef' => 'Jg/Alef',
+'jg=beh' => 'Jg/Beh',
+'jg=beth' => 'Jg/Beth',
+'jg=burushaskiyehbarree' => 'Jg/Burushas',
+'jg=dal' => 'Jg/Dal',
+'jg=dalathrish' => 'Jg/DalathRi',
+'jg=e' => 'Jg/E',
+'jg=farsiyeh' => 'Jg/FarsiYeh',
+'jg=fe' => 'Jg/Fe',
+'jg=feh' => 'Jg/Feh',
+'jg=finalsemkath' => 'Jg/FinalSem',
+'jg=gaf' => 'Jg/Gaf',
+'jg=gamal' => 'Jg/Gamal',
+'jg=hah' => 'Jg/Hah',
+'jg=hamzaonhehgoal' => 'Jg/HamzaOnH',
+'jg=he' => 'Jg/He',
+'jg=heh' => 'Jg/Heh',
+'jg=hehgoal' => 'Jg/HehGoal',
+'jg=heth' => 'Jg/Heth',
+'jg=kaf' => 'Jg/Kaf',
+'jg=kaph' => 'Jg/Kaph',
+'jg=khaph' => 'Jg/Khaph',
+'jg=knottedheh' => 'Jg/KnottedH',
+'jg=lam' => 'Jg/Lam',
+'jg=lamadh' => 'Jg/Lamadh',
+'jg=meem' => 'Jg/Meem',
+'jg=mim' => 'Jg/Mim',
+'jg=nojoininggroup' => 'Jg/NoJoinin',
+'jg=noon' => 'Jg/Noon',
+'jg=nun' => 'Jg/Nun',
+'jg=nya' => 'Jg/Nya',
+'jg=pe' => 'Jg/Pe',
+'jg=qaf' => 'Jg/Qaf',
+'jg=qaph' => 'Jg/Qaph',
+'jg=reh' => 'Jg/Reh',
+'jg=reversedpe' => 'Jg/Reversed',
+'jg=rohingyayeh' => 'Jg/Rohingya',
+'jg=sad' => 'Jg/Sad',
+'jg=sadhe' => 'Jg/Sadhe',
+'jg=seen' => 'Jg/Seen',
+'jg=semkath' => 'Jg/Semkath',
+'jg=shin' => 'Jg/Shin',
+'jg=swashkaf' => 'Jg/SwashKaf',
+'jg=syriacwaw' => 'Jg/SyriacWa',
+'jg=tah' => 'Jg/Tah',
+'jg=taw' => 'Jg/Taw',
+'jg=tehmarbuta' => 'Jg/TehMarbu',
+'jg=tehmarbutagoal' => 'Jg/HamzaOnH',
+'jg=teth' => 'Jg/Teth',
+'jg=waw' => 'Jg/Waw',
+'jg=yeh' => 'Jg/Yeh',
+'jg=yehbarree' => 'Jg/YehBarre',
+'jg=yehwithtail' => 'Jg/YehWithT',
+'jg=yudh' => 'Jg/Yudh',
+'jg=yudhhe' => 'Jg/YudhHe',
+'jg=zain' => 'Jg/Zain',
+'jg=zhain' => 'Jg/Zhain',
+'joinc' => 'JoinC/Y',
+'joinc=f' => '!JoinC/Y',
+'joinc=false' => '!JoinC/Y',
+'joinc=n' => '!JoinC/Y',
+'joinc=no' => '!JoinC/Y',
+'joinc=t' => 'JoinC/Y',
+'joinc=true' => 'JoinC/Y',
+'joinc=y' => 'JoinC/Y',
+'joinc=yes' => 'JoinC/Y',
+'joincontrol' => 'JoinC/Y',
+'jt=c' => 'Jt/C',
+'jt=d' => 'Jt/D',
+'jt=dualjoining' => 'Jt/D',
+'jt=joincausing' => 'Jt/C',
+'jt=l' => '!Perl/Any',
+'jt=leftjoining' => '!Perl/Any',
+'jt=nonjoining' => 'Jt/U',
+'jt=r' => 'Jt/R',
+'jt=rightjoining' => 'Jt/R',
+'jt=t' => 'Jt/T',
+'jt=transparent' => 'Jt/T',
+'jt=u' => 'Jt/U',
+'kaithi' => 'Sc/Kthi',
+'kali' => 'Scx/Kali',
+'kana' => 'Sc/Kana',
+'kanasup' => 'Blk/KanaSup',
+'kanasupplement' => 'Blk/KanaSup',
+'kanbun' => 'Blk/Kanbun',
+'kangxi' => 'Blk/Kangxi',
+'kangxiradicals' => 'Blk/Kangxi',
+'kannada' => 'Scx/Knda',
+'katakana' => 'Sc/Kana',
+'katakanaext' => 'Blk/Katakan2',
+'katakanaphoneticextensions' => 'Blk/Katakan2',
+'kayahli' => 'Scx/Kali',
+'khar' => 'Scx/Khar',
+'kharoshthi' => 'Scx/Khar',
+'khmer' => 'Scx/Khmr',
+'khmersymbols' => 'Blk/KhmerSym',
+'khmr' => 'Scx/Khmr',
+'knda' => 'Scx/Knda',
+'kthi' => 'Sc/Kthi',
+'l' => 'Gc/L',
+'l&' => 'Gc/LC',
+'l_' => 'Gc/LC',
+'lana' => 'Scx/Lana',
+'lao' => 'Scx/Lao',
+'laoo' => 'Scx/Lao',
+'latin' => 'Scx/Latn',
+'latin1' => 'Blk/Latin1',
+'latin1sup' => 'Blk/Latin1',
+'latin1supplement' => 'Blk/Latin1',
+'latinexta' => 'Blk/LatinExt',
+'latinextadditional' => 'Blk/LatinEx5',
+'latinextb' => 'Blk/LatinEx2',
+'latinextc' => 'Blk/LatinEx3',
+'latinextd' => 'Blk/LatinEx4',
+'latinextendeda' => 'Blk/LatinExt',
+'latinextendedadditional' => 'Blk/LatinEx5',
+'latinextendedb' => 'Blk/LatinEx2',
+'latinextendedc' => 'Blk/LatinEx3',
+'latinextendedd' => 'Blk/LatinEx4',
+'latn' => 'Scx/Latn',
+'lb=ai' => 'Lb/AI',
+'lb=al' => 'Lb/AL',
+'lb=alphabetic' => 'Lb/AL',
+'lb=ambiguous' => 'Lb/AI',
+'lb=b2' => 'Lb/B2',
+'lb=ba' => 'Lb/BA',
+'lb=bb' => 'Lb/BB',
+'lb=bk' => 'Lb/BK',
+'lb=breakafter' => 'Lb/BA',
+'lb=breakbefore' => 'Lb/BB',
+'lb=breakboth' => 'Lb/B2',
+'lb=breaksymbols' => 'Lb/SY',
+'lb=carriagereturn' => 'Lb/CR',
+'lb=cb' => 'Lb/CB',
+'lb=cj' => 'Lb/CJ',
+'lb=cl' => 'Lb/CL',
+'lb=closeparenthesis' => 'Lb/CP',
+'lb=closepunctuation' => 'Lb/CL',
+'lb=cm' => 'Lb/CM',
+'lb=combiningmark' => 'Lb/CM',
+'lb=complexcontext' => 'Lb/SA',
+'lb=conditionaljapanesestarter' => 'Lb/CJ',
+'lb=contingentbreak' => 'Lb/CB',
+'lb=cp' => 'Lb/CP',
+'lb=cr' => 'Lb/CR',
+'lb=ex' => 'Lb/EX',
+'lb=exclamation' => 'Lb/EX',
+'lb=gl' => 'Lb/GL',
+'lb=glue' => 'Lb/GL',
+'lb=h2' => 'Lb/H2',
+'lb=h3' => 'Lb/H3',
+'lb=hebrewletter' => 'Lb/HL',
+'lb=hl' => 'Lb/HL',
+'lb=hy' => 'Lb/HY',
+'lb=hyphen' => 'Lb/HY',
+'lb=id' => 'Lb/ID',
+'lb=ideographic' => 'Lb/ID',
+'lb=in' => 'Lb/IN',
+'lb=infixnumeric' => 'Lb/IS',
+'lb=inseparable' => 'Lb/IN',
+'lb=inseperable' => 'Lb/IN',
+'lb=is' => 'Lb/IS',
+'lb=jl' => 'Lb/JL',
+'lb=jt' => 'Lb/JT',
+'lb=jv' => 'Lb/JV',
+'lb=lf' => 'Lb/LF',
+'lb=linefeed' => 'Lb/LF',
+'lb=mandatorybreak' => 'Lb/BK',
+'lb=nextline' => 'Lb/NL',
+'lb=nl' => 'Lb/NL',
+'lb=nonstarter' => 'Lb/NS',
+'lb=ns' => 'Lb/NS',
+'lb=nu' => 'Lb/NU',
+'lb=numeric' => 'Lb/NU',
+'lb=op' => 'Lb/OP',
+'lb=openpunctuation' => 'Lb/OP',
+'lb=po' => 'Lb/PO',
+'lb=postfixnumeric' => 'Lb/PO',
+'lb=pr' => 'Lb/PR',
+'lb=prefixnumeric' => 'Lb/PR',
+'lb=qu' => 'Lb/QU',
+'lb=quotation' => 'Lb/QU',
+'lb=sa' => 'Lb/SA',
+'lb=sg' => 'Lb/SG',
+'lb=sp' => 'Lb/SP',
+'lb=space' => 'Lb/SP',
+'lb=surrogate' => 'Lb/SG',
+'lb=sy' => 'Lb/SY',
+'lb=unknown' => 'Lb/XX',
+'lb=wj' => 'Lb/WJ',
+'lb=wordjoiner' => 'Lb/WJ',
+'lb=xx' => 'Lb/XX',
+'lb=zw' => 'Lb/ZW',
+'lb=zwspace' => 'Lb/ZW',
+'lc' => 'Gc/LC',
+'lepc' => 'Scx/Lepc',
+'lepcha' => 'Scx/Lepc',
+'letter' => 'Gc/L',
+'letterlikesymbols' => 'Blk/Letterli',
+'letternumber' => 'Gc/Nl',
+'limb' => 'Scx/Limb',
+'limbu' => 'Scx/Limb',
+'linb' => 'Sc/Linb',
+'linearb' => 'Sc/Linb',
+'linearbideograms' => 'Blk/LinearBI',
+'linearbsyllabary' => 'Blk/LinearBS',
+'lineseparator' => 'Gc/Zl',
+'lisu' => 'Scx/Lisu',
+'ll' => 'Gc/Ll',
+'lm' => 'Gc/Lm',
+'lo' => 'Gc/Lo',
+'loe' => 'LOE/Y',
+'loe=f' => '!LOE/Y',
+'loe=false' => '!LOE/Y',
+'loe=n' => '!LOE/Y',
+'loe=no' => '!LOE/Y',
+'loe=t' => 'LOE/Y',
+'loe=true' => 'LOE/Y',
+'loe=y' => 'LOE/Y',
+'loe=yes' => 'LOE/Y',
+'logicalorderexception' => 'LOE/Y',
+'lower' => 'Lower/Y',
+'lower=f' => '!Lower/Y',
+'lower=false' => '!Lower/Y',
+'lower=n' => '!Lower/Y',
+'lower=no' => '!Lower/Y',
+'lower=t' => 'Lower/Y',
+'lower=true' => 'Lower/Y',
+'lower=y' => 'Lower/Y',
+'lower=yes' => 'Lower/Y',
+'lowercase' => 'Lower/Y',
+'lowercaseletter' => 'Gc/Ll',
+'lowsurrogates' => 'Blk/LowSurro',
+'lt' => 'Perl/Title',
+'lu' => 'Gc/Lu',
+'lyci' => 'Scx/Lyci',
+'lycian' => 'Scx/Lyci',
+'lydi' => 'Scx/Lydi',
+'lydian' => 'Scx/Lydi',
+'m' => 'Gc/M',
+'mahjong' => 'Blk/Mahjong',
+'mahjongtiles' => 'Blk/Mahjong',
+'malayalam' => 'Scx/Mlym',
+'mand' => 'Sc/Mand',
+'mandaic' => 'Sc/Mand',
+'mark' => 'Gc/M',
+'math' => 'Math/Y',
+'math=f' => '!Math/Y',
+'math=false' => '!Math/Y',
+'math=n' => '!Math/Y',
+'math=no' => '!Math/Y',
+'math=t' => 'Math/Y',
+'math=true' => 'Math/Y',
+'math=y' => 'Math/Y',
+'math=yes' => 'Math/Y',
+'mathalphanum' => 'Blk/MathAlph',
+'mathematicalalphanumericsymbols' => 'Blk/MathAlph',
+'mathematicaloperators' => 'Blk/MathOper',
+'mathoperators' => 'Blk/MathOper',
+'mathsymbol' => 'Gc/Sm',
+'mc' => 'Gc/Mc',
+'me' => 'Gc/Me',
+'meeteimayek' => 'Scx/Mtei',
+'meeteimayekext' => 'Blk/MeeteiM2',
+'meeteimayekextensions' => 'Blk/MeeteiM2',
+'merc' => 'Scx/Merc',
+'mero' => 'Scx/Mero',
+'meroiticcursive' => 'Scx/Merc',
+'meroitichieroglyphs' => 'Scx/Mero',
+'miao' => 'Scx/Miao',
+'miscarrows' => 'Blk/MiscArro',
+'miscellaneousmathematicalsymbolsa' => 'Blk/MiscMath',
+'miscellaneousmathematicalsymbolsb' => 'Blk/MiscMat2',
+'miscellaneoussymbols' => 'Blk/MiscSymb',
+'miscellaneoussymbolsandarrows' => 'Blk/MiscArro',
+'miscellaneoussymbolsandpictographs' => 'Blk/MiscPict',
+'miscellaneoustechnical' => 'Blk/MiscTech',
+'miscmathsymbolsa' => 'Blk/MiscMath',
+'miscmathsymbolsb' => 'Blk/MiscMat2',
+'miscpictographs' => 'Blk/MiscPict',
+'miscsymbols' => 'Blk/MiscSymb',
+'misctechnical' => 'Blk/MiscTech',
+'mlym' => 'Scx/Mlym',
+'mn' => 'Gc/Mn',
+'modifierletter' => 'Gc/Lm',
+'modifierletters' => 'Blk/Modifier',
+'modifiersymbol' => 'Gc/Sk',
+'modifiertoneletters' => 'Blk/Modifie2',
+'mong' => 'Sc/Mong',
+'mongolian' => 'Sc/Mong',
+'mtei' => 'Scx/Mtei',
+'music' => 'Blk/Music',
+'musicalsymbols' => 'Blk/Music',
+'myanmar' => 'Scx/Mymr',
+'myanmarexta' => 'Blk/MyanmarE',
+'myanmarextendeda' => 'Blk/MyanmarE',
+'mymr' => 'Scx/Mymr',
+'n' => 'Gc/N',
+'nb' => 'Blk/NB',
+'nchar' => 'NChar/Y',
+'nchar=f' => '!NChar/Y',
+'nchar=false' => '!NChar/Y',
+'nchar=n' => '!NChar/Y',
+'nchar=no' => '!NChar/Y',
+'nchar=t' => 'NChar/Y',
+'nchar=true' => 'NChar/Y',
+'nchar=y' => 'NChar/Y',
+'nchar=yes' => 'NChar/Y',
+'nd' => 'Gc/Nd',
+'newtailue' => 'Scx/Talu',
+'nfcqc=m' => 'NFKCQC/M',
+'nfcqc=maybe' => 'NFKCQC/M',
+'nfcqc=n' => 'CompEx/Y',
+'nfcqc=no' => 'CompEx/Y',
+'nfcqc=y' => 'NFCQC/Y',
+'nfcqc=yes' => 'NFCQC/Y',
+'nfdqc=n' => 'NFDQC/N',
+'nfdqc=no' => 'NFDQC/N',
+'nfdqc=y' => 'NFDQC/Y',
+'nfdqc=yes' => 'NFDQC/Y',
+'nfkcqc=m' => 'NFKCQC/M',
+'nfkcqc=maybe' => 'NFKCQC/M',
+'nfkcqc=n' => 'NFKCQC/N',
+'nfkcqc=no' => 'NFKCQC/N',
+'nfkcqc=y' => 'NFKCQC/Y',
+'nfkcqc=yes' => 'NFKCQC/Y',
+'nfkdqc=n' => 'NFKDQC/N',
+'nfkdqc=no' => 'NFKDQC/N',
+'nfkdqc=y' => 'Dt/None',
+'nfkdqc=yes' => 'Dt/None',
+'nko' => 'Scx/Nko',
+'nkoo' => 'Scx/Nko',
+'nl' => 'Gc/Nl',
+'no' => 'Gc/No',
+'noblock' => 'Blk/NB',
+'noncharactercodepoint' => 'NChar/Y',
+'nonspacingmark' => 'Gc/Mn',
+'nt=de' => 'Gc/Nd',
+'nt=decimal' => 'Gc/Nd',
+'nt=di' => 'Nt/Di',
+'nt=digit' => 'Nt/Di',
+'nt=none' => 'Nv/NaN',
+'nt=nu' => 'Nt/Nu',
+'nt=numeric' => 'Nt/Nu',
+'number' => 'Gc/N',
+'numberforms' => 'Blk/NumberFo',
+'nv=nan' => 'Nv/NaN',
+'ocr' => 'Blk/OCR',
+'ogam' => 'Scx/Ogam',
+'ogham' => 'Scx/Ogam',
+'olchiki' => 'Scx/Olck',
+'olck' => 'Scx/Olck',
+'olditalic' => 'Scx/Ital',
+'oldpersian' => 'Scx/Xpeo',
+'oldsoutharabian' => 'Scx/Sarb',
+'oldturkic' => 'Scx/Orkh',
+'openpunctuation' => 'Gc/Ps',
+'opticalcharacterrecognition' => 'Blk/OCR',
+'oriya' => 'Sc/Orya',
+'orkh' => 'Scx/Orkh',
+'orya' => 'Sc/Orya',
+'osma' => 'Scx/Osma',
+'osmanya' => 'Scx/Osma',
+'other' => 'Gc/C',
+'otherletter' => 'Gc/Lo',
+'othernumber' => 'Gc/No',
+'otherpunctuation' => 'Gc/Po',
+'othersymbol' => 'Gc/So',
+'p' => 'Gc/P',
+'paragraphseparator' => 'Gc/Zp',
+'patsyn' => 'PatSyn/Y',
+'patsyn=f' => '!PatSyn/Y',
+'patsyn=false' => '!PatSyn/Y',
+'patsyn=n' => '!PatSyn/Y',
+'patsyn=no' => '!PatSyn/Y',
+'patsyn=t' => 'PatSyn/Y',
+'patsyn=true' => 'PatSyn/Y',
+'patsyn=y' => 'PatSyn/Y',
+'patsyn=yes' => 'PatSyn/Y',
+'patternsyntax' => 'PatSyn/Y',
+'patternwhitespace' => 'PatWS/Y',
+'patws' => 'PatWS/Y',
+'patws=f' => '!PatWS/Y',
+'patws=false' => '!PatWS/Y',
+'patws=n' => '!PatWS/Y',
+'patws=no' => '!PatWS/Y',
+'patws=t' => 'PatWS/Y',
+'patws=true' => 'PatWS/Y',
+'patws=y' => 'PatWS/Y',
+'patws=yes' => 'PatWS/Y',
+'pc' => 'Gc/Pc',
+'pd' => 'Gc/Pd',
+'pe' => 'Gc/Pe',
+'perlspace' => 'Perl/PerlSpac',
+'perlword' => 'Perl/PerlWord',
+'pf' => 'Gc/Pf',
+'phag' => 'Sc/Phag',
+'phagspa' => 'Sc/Phag',
+'phaistos' => 'Blk/Phaistos',
+'phaistosdisc' => 'Blk/Phaistos',
+'phli' => 'Scx/Phli',
+'phnx' => 'Scx/Phnx',
+'phoenician' => 'Scx/Phnx',
+'phoneticext' => 'Blk/Phonetic',
+'phoneticextensions' => 'Blk/Phonetic',
+'phoneticextensionssupplement' => 'Blk/Phoneti2',
+'phoneticextsup' => 'Blk/Phoneti2',
+'pi' => 'Gc/Pi',
+'playingcards' => 'Blk/PlayingC',
+'plrd' => 'Scx/Miao',
+'po' => 'Gc/Po',
+'posixalnum' => 'Perl/PosixAln',
+'posixalpha' => 'Perl/PosixAlp',
+'posixblank' => 'Perl/PosixBla',
+'posixcntrl' => 'Perl/PosixCnt',
+'posixdigit' => 'Perl/PosixDig',
+'posixgraph' => 'Perl/PosixGra',
+'posixlower' => 'Perl/PosixLow',
+'posixprint' => 'Perl/PosixPri',
+'posixpunct' => 'Perl/PosixPun',
+'posixspace' => 'Perl/PosixSpa',
+'posixupper' => 'Perl/PosixUpp',
+'posixword' => 'Perl/PerlWord',
+'posixxdigit' => 'AHex/Y',
+'print' => 'Perl/Print',
+'privateuse' => 'Gc/Co',
+'privateusearea' => 'Blk/PUA',
+'prti' => 'Scx/Prti',
+'ps' => 'Gc/Ps',
+'pua' => 'Blk/PUA',
+'punct' => 'Gc/P',
+'punctuation' => 'Gc/P',
+'qaac' => 'Scx/Copt',
+'qaai' => 'Sc/Zinh',
+'qmark' => 'QMark/Y',
+'qmark=f' => '!QMark/Y',
+'qmark=false' => '!QMark/Y',
+'qmark=n' => '!QMark/Y',
+'qmark=no' => '!QMark/Y',
+'qmark=t' => 'QMark/Y',
+'qmark=true' => 'QMark/Y',
+'qmark=y' => 'QMark/Y',
+'qmark=yes' => 'QMark/Y',
+'quotationmark' => 'QMark/Y',
+'radical' => 'Radical/Y',
+'radical=f' => '!Radical/Y',
+'radical=false' => '!Radical/Y',
+'radical=n' => '!Radical/Y',
+'radical=no' => '!Radical/Y',
+'radical=t' => 'Radical/Y',
+'radical=true' => 'Radical/Y',
+'radical=y' => 'Radical/Y',
+'radical=yes' => 'Radical/Y',
+'rejang' => 'Scx/Rjng',
+'rjng' => 'Scx/Rjng',
+'rumi' => 'Blk/Rumi',
+'ruminumeralsymbols' => 'Blk/Rumi',
+'runic' => 'Scx/Runr',
+'runr' => 'Scx/Runr',
+'s' => 'Gc/S',
+'samaritan' => 'Scx/Samr',
+'samr' => 'Scx/Samr',
+'sarb' => 'Scx/Sarb',
+'saur' => 'Scx/Saur',
+'saurashtra' => 'Scx/Saur',
+'sb=at' => 'SB/AT',
+'sb=aterm' => 'SB/AT',
+'sb=cl' => 'SB/CL',
+'sb=close' => 'SB/CL',
+'sb=cr' => 'Lb/CR',
+'sb=ex' => 'SB/EX',
+'sb=extend' => 'SB/EX',
+'sb=fo' => 'SB/FO',
+'sb=format' => 'SB/FO',
+'sb=le' => 'SB/LE',
+'sb=lf' => 'Lb/LF',
+'sb=lo' => 'SB/LO',
+'sb=lower' => 'SB/LO',
+'sb=nu' => 'Lb/NU',
+'sb=numeric' => 'Lb/NU',
+'sb=oletter' => 'SB/LE',
+'sb=other' => 'SB/XX',
+'sb=sc' => 'SB/SC',
+'sb=scontinue' => 'SB/SC',
+'sb=se' => 'SB/SE',
+'sb=sep' => 'SB/SE',
+'sb=sp' => 'SB/Sp',
+'sb=st' => 'SB/ST',
+'sb=sterm' => 'SB/ST',
+'sb=up' => 'SB/UP',
+'sb=upper' => 'SB/UP',
+'sb=xx' => 'SB/XX',
+'sc' => 'Gc/Sc',
+'sc=arab' => 'Sc/Arab',
+'sc=arabic' => 'Sc/Arab',
+'sc=armenian' => 'Sc/Armn',
+'sc=armi' => 'Scx/Armi',
+'sc=armn' => 'Sc/Armn',
+'sc=avestan' => 'Scx/Avst',
+'sc=avst' => 'Scx/Avst',
+'sc=bali' => 'Scx/Bali',
+'sc=balinese' => 'Scx/Bali',
+'sc=bamu' => 'Scx/Bamu',
+'sc=bamum' => 'Scx/Bamu',
+'sc=batak' => 'Scx/Batk',
+'sc=batk' => 'Scx/Batk',
+'sc=beng' => 'Sc/Beng',
+'sc=bengali' => 'Sc/Beng',
+'sc=bopo' => 'Sc/Bopo',
+'sc=bopomofo' => 'Sc/Bopo',
+'sc=brah' => 'Scx/Brah',
+'sc=brahmi' => 'Scx/Brah',
+'sc=brai' => 'Scx/Brai',
+'sc=braille' => 'Scx/Brai',
+'sc=bugi' => 'Scx/Bugi',
+'sc=buginese' => 'Scx/Bugi',
+'sc=buhd' => 'Sc/Buhd',
+'sc=buhid' => 'Sc/Buhd',
+'sc=cakm' => 'Scx/Cakm',
+'sc=canadianaboriginal' => 'Scx/Cans',
+'sc=cans' => 'Scx/Cans',
+'sc=cari' => 'Scx/Cari',
+'sc=carian' => 'Scx/Cari',
+'sc=chakma' => 'Scx/Cakm',
+'sc=cham' => 'Scx/Cham',
+'sc=cher' => 'Scx/Cher',
+'sc=cherokee' => 'Scx/Cher',
+'sc=common' => 'Sc/Zyyy',
+'sc=copt' => 'Scx/Copt',
+'sc=coptic' => 'Scx/Copt',
+'sc=cprt' => 'Sc/Cprt',
+'sc=cuneiform' => 'Scx/Xsux',
+'sc=cypriot' => 'Sc/Cprt',
+'sc=cyrillic' => 'Scx/Cyrl',
+'sc=cyrl' => 'Scx/Cyrl',
+'sc=deseret' => 'Scx/Dsrt',
+'sc=deva' => 'Sc/Deva',
+'sc=devanagari' => 'Sc/Deva',
+'sc=dsrt' => 'Scx/Dsrt',
+'sc=egyp' => 'Scx/Egyp',
+'sc=egyptianhieroglyphs' => 'Scx/Egyp',
+'sc=ethi' => 'Scx/Ethi',
+'sc=ethiopic' => 'Scx/Ethi',
+'sc=geor' => 'Sc/Geor',
+'sc=georgian' => 'Sc/Geor',
+'sc=glag' => 'Scx/Glag',
+'sc=glagolitic' => 'Scx/Glag',
+'sc=goth' => 'Scx/Goth',
+'sc=gothic' => 'Scx/Goth',
+'sc=greek' => 'Scx/Grek',
+'sc=grek' => 'Scx/Grek',
+'sc=gujarati' => 'Sc/Gujr',
+'sc=gujr' => 'Sc/Gujr',
+'sc=gurmukhi' => 'Sc/Guru',
+'sc=guru' => 'Sc/Guru',
+'sc=han' => 'Sc/Han',
+'sc=hang' => 'Sc/Hang',
+'sc=hangul' => 'Sc/Hang',
+'sc=hani' => 'Sc/Han',
+'sc=hano' => 'Sc/Hano',
+'sc=hanunoo' => 'Sc/Hano',
+'sc=hebr' => 'Scx/Hebr',
+'sc=hebrew' => 'Scx/Hebr',
+'sc=hira' => 'Sc/Hira',
+'sc=hiragana' => 'Sc/Hira',
+'sc=imperialaramaic' => 'Scx/Armi',
+'sc=inherited' => 'Sc/Zinh',
+'sc=inscriptionalpahlavi' => 'Scx/Phli',
+'sc=inscriptionalparthian' => 'Scx/Prti',
+'sc=ital' => 'Scx/Ital',
+'sc=java' => 'Scx/Java',
+'sc=javanese' => 'Scx/Java',
+'sc=kaithi' => 'Sc/Kthi',
+'sc=kali' => 'Scx/Kali',
+'sc=kana' => 'Sc/Kana',
+'sc=kannada' => 'Scx/Knda',
+'sc=katakana' => 'Sc/Kana',
+'sc=kayahli' => 'Scx/Kali',
+'sc=khar' => 'Scx/Khar',
+'sc=kharoshthi' => 'Scx/Khar',
+'sc=khmer' => 'Scx/Khmr',
+'sc=khmr' => 'Scx/Khmr',
+'sc=knda' => 'Scx/Knda',
+'sc=kthi' => 'Sc/Kthi',
+'sc=lana' => 'Scx/Lana',
+'sc=lao' => 'Scx/Lao',
+'sc=laoo' => 'Scx/Lao',
+'sc=latin' => 'Scx/Latn',
+'sc=latn' => 'Scx/Latn',
+'sc=lepc' => 'Scx/Lepc',
+'sc=lepcha' => 'Scx/Lepc',
+'sc=limb' => 'Scx/Limb',
+'sc=limbu' => 'Scx/Limb',
+'sc=linb' => 'Sc/Linb',
+'sc=linearb' => 'Sc/Linb',
+'sc=lisu' => 'Scx/Lisu',
+'sc=lyci' => 'Scx/Lyci',
+'sc=lycian' => 'Scx/Lyci',
+'sc=lydi' => 'Scx/Lydi',
+'sc=lydian' => 'Scx/Lydi',
+'sc=malayalam' => 'Scx/Mlym',
+'sc=mand' => 'Sc/Mand',
+'sc=mandaic' => 'Sc/Mand',
+'sc=meeteimayek' => 'Scx/Mtei',
+'sc=merc' => 'Scx/Merc',
+'sc=mero' => 'Scx/Mero',
+'sc=meroiticcursive' => 'Scx/Merc',
+'sc=meroitichieroglyphs' => 'Scx/Mero',
+'sc=miao' => 'Scx/Miao',
+'sc=mlym' => 'Scx/Mlym',
+'sc=mong' => 'Sc/Mong',
+'sc=mongolian' => 'Sc/Mong',
+'sc=mtei' => 'Scx/Mtei',
+'sc=myanmar' => 'Scx/Mymr',
+'sc=mymr' => 'Scx/Mymr',
+'sc=newtailue' => 'Scx/Talu',
+'sc=nko' => 'Scx/Nko',
+'sc=nkoo' => 'Scx/Nko',
+'sc=ogam' => 'Scx/Ogam',
+'sc=ogham' => 'Scx/Ogam',
+'sc=olchiki' => 'Scx/Olck',
+'sc=olck' => 'Scx/Olck',
+'sc=olditalic' => 'Scx/Ital',
+'sc=oldpersian' => 'Scx/Xpeo',
+'sc=oldsoutharabian' => 'Scx/Sarb',
+'sc=oldturkic' => 'Scx/Orkh',
+'sc=oriya' => 'Sc/Orya',
+'sc=orkh' => 'Scx/Orkh',
+'sc=orya' => 'Sc/Orya',
+'sc=osma' => 'Scx/Osma',
+'sc=osmanya' => 'Scx/Osma',
+'sc=phag' => 'Sc/Phag',
+'sc=phagspa' => 'Sc/Phag',
+'sc=phli' => 'Scx/Phli',
+'sc=phnx' => 'Scx/Phnx',
+'sc=phoenician' => 'Scx/Phnx',
+'sc=plrd' => 'Scx/Miao',
+'sc=prti' => 'Scx/Prti',
+'sc=qaac' => 'Scx/Copt',
+'sc=qaai' => 'Sc/Zinh',
+'sc=rejang' => 'Scx/Rjng',
+'sc=rjng' => 'Scx/Rjng',
+'sc=runic' => 'Scx/Runr',
+'sc=runr' => 'Scx/Runr',
+'sc=samaritan' => 'Scx/Samr',
+'sc=samr' => 'Scx/Samr',
+'sc=sarb' => 'Scx/Sarb',
+'sc=saur' => 'Scx/Saur',
+'sc=saurashtra' => 'Scx/Saur',
+'sc=sharada' => 'Scx/Shrd',
+'sc=shavian' => 'Scx/Shaw',
+'sc=shaw' => 'Scx/Shaw',
+'sc=shrd' => 'Scx/Shrd',
+'sc=sinh' => 'Scx/Sinh',
+'sc=sinhala' => 'Scx/Sinh',
+'sc=sora' => 'Scx/Sora',
+'sc=sorasompeng' => 'Scx/Sora',
+'sc=sund' => 'Scx/Sund',
+'sc=sundanese' => 'Scx/Sund',
+'sc=sylo' => 'Scx/Sylo',
+'sc=sylotinagri' => 'Scx/Sylo',
+'sc=syrc' => 'Sc/Syrc',
+'sc=syriac' => 'Sc/Syrc',
+'sc=tagalog' => 'Sc/Tglg',
+'sc=tagb' => 'Sc/Tagb',
+'sc=tagbanwa' => 'Sc/Tagb',
+'sc=taile' => 'Scx/Tale',
+'sc=taitham' => 'Scx/Lana',
+'sc=taiviet' => 'Scx/Tavt',
+'sc=takr' => 'Sc/Takr',
+'sc=takri' => 'Sc/Takr',
+'sc=tale' => 'Scx/Tale',
+'sc=talu' => 'Scx/Talu',
+'sc=tamil' => 'Scx/Taml',
+'sc=taml' => 'Scx/Taml',
+'sc=tavt' => 'Scx/Tavt',
+'sc=telu' => 'Scx/Telu',
+'sc=telugu' => 'Scx/Telu',
+'sc=tfng' => 'Scx/Tfng',
+'sc=tglg' => 'Sc/Tglg',
+'sc=thaa' => 'Sc/Thaa',
+'sc=thaana' => 'Sc/Thaa',
+'sc=thai' => 'Scx/Thai',
+'sc=tibetan' => 'Scx/Tibt',
+'sc=tibt' => 'Scx/Tibt',
+'sc=tifinagh' => 'Scx/Tfng',
+'sc=ugar' => 'Scx/Ugar',
+'sc=ugaritic' => 'Scx/Ugar',
+'sc=unknown' => 'Scx/Zzzz',
+'sc=vai' => 'Scx/Vai',
+'sc=vaii' => 'Scx/Vai',
+'sc=xpeo' => 'Scx/Xpeo',
+'sc=xsux' => 'Scx/Xsux',
+'sc=yi' => 'Sc/Yi',
+'sc=yiii' => 'Sc/Yi',
+'sc=zinh' => 'Sc/Zinh',
+'sc=zyyy' => 'Sc/Zyyy',
+'sc=zzzz' => 'Scx/Zzzz',
+'scx=arab' => 'Scx/Arab',
+'scx=arabic' => 'Scx/Arab',
+'scx=armenian' => 'Scx/Armn',
+'scx=armi' => 'Scx/Armi',
+'scx=armn' => 'Scx/Armn',
+'scx=avestan' => 'Scx/Avst',
+'scx=avst' => 'Scx/Avst',
+'scx=bali' => 'Scx/Bali',
+'scx=balinese' => 'Scx/Bali',
+'scx=bamu' => 'Scx/Bamu',
+'scx=bamum' => 'Scx/Bamu',
+'scx=batak' => 'Scx/Batk',
+'scx=batk' => 'Scx/Batk',
+'scx=beng' => 'Scx/Beng',
+'scx=bengali' => 'Scx/Beng',
+'scx=bopo' => 'Scx/Bopo',
+'scx=bopomofo' => 'Scx/Bopo',
+'scx=brah' => 'Scx/Brah',
+'scx=brahmi' => 'Scx/Brah',
+'scx=brai' => 'Scx/Brai',
+'scx=braille' => 'Scx/Brai',
+'scx=bugi' => 'Scx/Bugi',
+'scx=buginese' => 'Scx/Bugi',
+'scx=buhd' => 'Scx/Buhd',
+'scx=buhid' => 'Scx/Buhd',
+'scx=cakm' => 'Scx/Cakm',
+'scx=canadianaboriginal' => 'Scx/Cans',
+'scx=cans' => 'Scx/Cans',
+'scx=cari' => 'Scx/Cari',
+'scx=carian' => 'Scx/Cari',
+'scx=chakma' => 'Scx/Cakm',
+'scx=cham' => 'Scx/Cham',
+'scx=cher' => 'Scx/Cher',
+'scx=cherokee' => 'Scx/Cher',
+'scx=common' => 'Scx/Zyyy',
+'scx=copt' => 'Scx/Copt',
+'scx=coptic' => 'Scx/Copt',
+'scx=cprt' => 'Scx/Cprt',
+'scx=cuneiform' => 'Scx/Xsux',
+'scx=cypriot' => 'Scx/Cprt',
+'scx=cyrillic' => 'Scx/Cyrl',
+'scx=cyrl' => 'Scx/Cyrl',
+'scx=deseret' => 'Scx/Dsrt',
+'scx=deva' => 'Scx/Deva',
+'scx=devanagari' => 'Scx/Deva',
+'scx=dsrt' => 'Scx/Dsrt',
+'scx=egyp' => 'Scx/Egyp',
+'scx=egyptianhieroglyphs' => 'Scx/Egyp',
+'scx=ethi' => 'Scx/Ethi',
+'scx=ethiopic' => 'Scx/Ethi',
+'scx=geor' => 'Scx/Geor',
+'scx=georgian' => 'Scx/Geor',
+'scx=glag' => 'Scx/Glag',
+'scx=glagolitic' => 'Scx/Glag',
+'scx=goth' => 'Scx/Goth',
+'scx=gothic' => 'Scx/Goth',
+'scx=greek' => 'Scx/Grek',
+'scx=grek' => 'Scx/Grek',
+'scx=gujarati' => 'Scx/Gujr',
+'scx=gujr' => 'Scx/Gujr',
+'scx=gurmukhi' => 'Scx/Guru',
+'scx=guru' => 'Scx/Guru',
+'scx=han' => 'Scx/Han',
+'scx=hang' => 'Scx/Hang',
+'scx=hangul' => 'Scx/Hang',
+'scx=hani' => 'Scx/Han',
+'scx=hano' => 'Scx/Hano',
+'scx=hanunoo' => 'Scx/Hano',
+'scx=hebr' => 'Scx/Hebr',
+'scx=hebrew' => 'Scx/Hebr',
+'scx=hira' => 'Scx/Hira',
+'scx=hiragana' => 'Scx/Hira',
+'scx=imperialaramaic' => 'Scx/Armi',
+'scx=inherited' => 'Scx/Zinh',
+'scx=inscriptionalpahlavi' => 'Scx/Phli',
+'scx=inscriptionalparthian' => 'Scx/Prti',
+'scx=ital' => 'Scx/Ital',
+'scx=java' => 'Scx/Java',
+'scx=javanese' => 'Scx/Java',
+'scx=kaithi' => 'Scx/Kthi',
+'scx=kali' => 'Scx/Kali',
+'scx=kana' => 'Scx/Kana',
+'scx=kannada' => 'Scx/Knda',
+'scx=katakana' => 'Scx/Kana',
+'scx=kayahli' => 'Scx/Kali',
+'scx=khar' => 'Scx/Khar',
+'scx=kharoshthi' => 'Scx/Khar',
+'scx=khmer' => 'Scx/Khmr',
+'scx=khmr' => 'Scx/Khmr',
+'scx=knda' => 'Scx/Knda',
+'scx=kthi' => 'Scx/Kthi',
+'scx=lana' => 'Scx/Lana',
+'scx=lao' => 'Scx/Lao',
+'scx=laoo' => 'Scx/Lao',
+'scx=latin' => 'Scx/Latn',
+'scx=latn' => 'Scx/Latn',
+'scx=lepc' => 'Scx/Lepc',
+'scx=lepcha' => 'Scx/Lepc',
+'scx=limb' => 'Scx/Limb',
+'scx=limbu' => 'Scx/Limb',
+'scx=linb' => 'Scx/Linb',
+'scx=linearb' => 'Scx/Linb',
+'scx=lisu' => 'Scx/Lisu',
+'scx=lyci' => 'Scx/Lyci',
+'scx=lycian' => 'Scx/Lyci',
+'scx=lydi' => 'Scx/Lydi',
+'scx=lydian' => 'Scx/Lydi',
+'scx=malayalam' => 'Scx/Mlym',
+'scx=mand' => 'Scx/Mand',
+'scx=mandaic' => 'Scx/Mand',
+'scx=meeteimayek' => 'Scx/Mtei',
+'scx=merc' => 'Scx/Merc',
+'scx=mero' => 'Scx/Mero',
+'scx=meroiticcursive' => 'Scx/Merc',
+'scx=meroitichieroglyphs' => 'Scx/Mero',
+'scx=miao' => 'Scx/Miao',
+'scx=mlym' => 'Scx/Mlym',
+'scx=mong' => 'Scx/Mong',
+'scx=mongolian' => 'Scx/Mong',
+'scx=mtei' => 'Scx/Mtei',
+'scx=myanmar' => 'Scx/Mymr',
+'scx=mymr' => 'Scx/Mymr',
+'scx=newtailue' => 'Scx/Talu',
+'scx=nko' => 'Scx/Nko',
+'scx=nkoo' => 'Scx/Nko',
+'scx=ogam' => 'Scx/Ogam',
+'scx=ogham' => 'Scx/Ogam',
+'scx=olchiki' => 'Scx/Olck',
+'scx=olck' => 'Scx/Olck',
+'scx=olditalic' => 'Scx/Ital',
+'scx=oldpersian' => 'Scx/Xpeo',
+'scx=oldsoutharabian' => 'Scx/Sarb',
+'scx=oldturkic' => 'Scx/Orkh',
+'scx=oriya' => 'Scx/Orya',
+'scx=orkh' => 'Scx/Orkh',
+'scx=orya' => 'Scx/Orya',
+'scx=osma' => 'Scx/Osma',
+'scx=osmanya' => 'Scx/Osma',
+'scx=phag' => 'Scx/Phag',
+'scx=phagspa' => 'Scx/Phag',
+'scx=phli' => 'Scx/Phli',
+'scx=phnx' => 'Scx/Phnx',
+'scx=phoenician' => 'Scx/Phnx',
+'scx=plrd' => 'Scx/Miao',
+'scx=prti' => 'Scx/Prti',
+'scx=qaac' => 'Scx/Copt',
+'scx=qaai' => 'Scx/Zinh',
+'scx=rejang' => 'Scx/Rjng',
+'scx=rjng' => 'Scx/Rjng',
+'scx=runic' => 'Scx/Runr',
+'scx=runr' => 'Scx/Runr',
+'scx=samaritan' => 'Scx/Samr',
+'scx=samr' => 'Scx/Samr',
+'scx=sarb' => 'Scx/Sarb',
+'scx=saur' => 'Scx/Saur',
+'scx=saurashtra' => 'Scx/Saur',
+'scx=sharada' => 'Scx/Shrd',
+'scx=shavian' => 'Scx/Shaw',
+'scx=shaw' => 'Scx/Shaw',
+'scx=shrd' => 'Scx/Shrd',
+'scx=sinh' => 'Scx/Sinh',
+'scx=sinhala' => 'Scx/Sinh',
+'scx=sora' => 'Scx/Sora',
+'scx=sorasompeng' => 'Scx/Sora',
+'scx=sund' => 'Scx/Sund',
+'scx=sundanese' => 'Scx/Sund',
+'scx=sylo' => 'Scx/Sylo',
+'scx=sylotinagri' => 'Scx/Sylo',
+'scx=syrc' => 'Scx/Syrc',
+'scx=syriac' => 'Scx/Syrc',
+'scx=tagalog' => 'Scx/Tglg',
+'scx=tagb' => 'Scx/Tagb',
+'scx=tagbanwa' => 'Scx/Tagb',
+'scx=taile' => 'Scx/Tale',
+'scx=taitham' => 'Scx/Lana',
+'scx=taiviet' => 'Scx/Tavt',
+'scx=takr' => 'Scx/Takr',
+'scx=takri' => 'Scx/Takr',
+'scx=tale' => 'Scx/Tale',
+'scx=talu' => 'Scx/Talu',
+'scx=tamil' => 'Scx/Taml',
+'scx=taml' => 'Scx/Taml',
+'scx=tavt' => 'Scx/Tavt',
+'scx=telu' => 'Scx/Telu',
+'scx=telugu' => 'Scx/Telu',
+'scx=tfng' => 'Scx/Tfng',
+'scx=tglg' => 'Scx/Tglg',
+'scx=thaa' => 'Scx/Thaa',
+'scx=thaana' => 'Scx/Thaa',
+'scx=thai' => 'Scx/Thai',
+'scx=tibetan' => 'Scx/Tibt',
+'scx=tibt' => 'Scx/Tibt',
+'scx=tifinagh' => 'Scx/Tfng',
+'scx=ugar' => 'Scx/Ugar',
+'scx=ugaritic' => 'Scx/Ugar',
+'scx=unknown' => 'Scx/Zzzz',
+'scx=vai' => 'Scx/Vai',
+'scx=vaii' => 'Scx/Vai',
+'scx=xpeo' => 'Scx/Xpeo',
+'scx=xsux' => 'Scx/Xsux',
+'scx=yi' => 'Scx/Yi',
+'scx=yiii' => 'Scx/Yi',
+'scx=zinh' => 'Scx/Zinh',
+'scx=zyyy' => 'Scx/Zyyy',
+'scx=zzzz' => 'Scx/Zzzz',
+'sd' => 'SD/Y',
+'sd=f' => '!SD/Y',
+'sd=false' => '!SD/Y',
+'sd=n' => '!SD/Y',
+'sd=no' => '!SD/Y',
+'sd=t' => 'SD/Y',
+'sd=true' => 'SD/Y',
+'sd=y' => 'SD/Y',
+'sd=yes' => 'SD/Y',
+'separator' => 'Gc/Z',
+'sharada' => 'Scx/Shrd',
+'shavian' => 'Scx/Shaw',
+'shaw' => 'Scx/Shaw',
+'shrd' => 'Scx/Shrd',
+'sinh' => 'Scx/Sinh',
+'sinhala' => 'Scx/Sinh',
+'sk' => 'Gc/Sk',
+'sm' => 'Gc/Sm',
+'smallforms' => 'Blk/SmallFor',
+'smallformvariants' => 'Blk/SmallFor',
+'so' => 'Gc/So',
+'softdotted' => 'SD/Y',
+'sora' => 'Scx/Sora',
+'sorasompeng' => 'Scx/Sora',
+'space' => 'Space/Y',
+'spaceperl' => 'Perl/SpacePer',
+'spaceseparator' => 'Gc/Zs',
+'spacingmark' => 'Gc/Mc',
+'spacingmodifierletters' => 'Blk/Modifier',
+'specials' => 'Blk/Specials',
+'sterm' => 'STerm/Y',
+'sterm=f' => '!STerm/Y',
+'sterm=false' => '!STerm/Y',
+'sterm=n' => '!STerm/Y',
+'sterm=no' => '!STerm/Y',
+'sterm=t' => 'STerm/Y',
+'sterm=true' => 'STerm/Y',
+'sterm=y' => 'STerm/Y',
+'sterm=yes' => 'STerm/Y',
+'sund' => 'Scx/Sund',
+'sundanese' => 'Scx/Sund',
+'sundanesesup' => 'Blk/Sundane2',
+'sundanesesupplement' => 'Blk/Sundane2',
+'suparrowsa' => 'Blk/SupArrow',
+'suparrowsb' => 'Blk/SupArro2',
+'superandsub' => 'Blk/SuperAnd',
+'superscriptsandsubscripts' => 'Blk/SuperAnd',
+'supmathoperators' => 'Blk/SupMathO',
+'supplementalarrowsa' => 'Blk/SupArrow',
+'supplementalarrowsb' => 'Blk/SupArro2',
+'supplementalmathematicaloperators' => 'Blk/SupMathO',
+'supplementalpunctuation' => 'Blk/SupPunct',
+'supplementaryprivateuseareaa' => 'Blk/SupPUAA',
+'supplementaryprivateuseareab' => 'Blk/SupPUAB',
+'suppuaa' => 'Blk/SupPUAA',
+'suppuab' => 'Blk/SupPUAB',
+'suppunctuation' => 'Blk/SupPunct',
+'surrogate' => 'Gc/Cs',
+'sylo' => 'Scx/Sylo',
+'sylotinagri' => 'Scx/Sylo',
+'symbol' => 'Gc/S',
+'syrc' => 'Sc/Syrc',
+'syriac' => 'Sc/Syrc',
+'tagalog' => 'Sc/Tglg',
+'tagb' => 'Sc/Tagb',
+'tagbanwa' => 'Sc/Tagb',
+'tags' => 'Blk/Tags',
+'taile' => 'Scx/Tale',
+'taitham' => 'Scx/Lana',
+'taiviet' => 'Scx/Tavt',
+'taixuanjing' => 'Blk/TaiXuanJ',
+'taixuanjingsymbols' => 'Blk/TaiXuanJ',
+'takr' => 'Sc/Takr',
+'takri' => 'Sc/Takr',
+'tale' => 'Scx/Tale',
+'talu' => 'Scx/Talu',
+'tamil' => 'Scx/Taml',
+'taml' => 'Scx/Taml',
+'tavt' => 'Scx/Tavt',
+'telu' => 'Scx/Telu',
+'telugu' => 'Scx/Telu',
+'term' => 'Term/Y',
+'term=f' => '!Term/Y',
+'term=false' => '!Term/Y',
+'term=n' => '!Term/Y',
+'term=no' => '!Term/Y',
+'term=t' => 'Term/Y',
+'term=true' => 'Term/Y',
+'term=y' => 'Term/Y',
+'term=yes' => 'Term/Y',
+'terminalpunctuation' => 'Term/Y',
+'tfng' => 'Scx/Tfng',
+'tglg' => 'Sc/Tglg',
+'thaa' => 'Sc/Thaa',
+'thaana' => 'Sc/Thaa',
+'thai' => 'Scx/Thai',
+'tibetan' => 'Scx/Tibt',
+'tibt' => 'Scx/Tibt',
+'tifinagh' => 'Scx/Tfng',
+'title' => 'Perl/Title',
+'titlecase' => 'Perl/Title',
+'titlecaseletter' => 'Perl/Title',
+'transportandmap' => 'Blk/Transpor',
+'transportandmapsymbols' => 'Blk/Transpor',
+'ucas' => 'Blk/UCAS',
+'ucasext' => 'Blk/UCASExt',
+'ugar' => 'Scx/Ugar',
+'ugaritic' => 'Scx/Ugar',
+'uideo' => 'UIdeo/Y',
+'uideo=f' => '!UIdeo/Y',
+'uideo=false' => '!UIdeo/Y',
+'uideo=n' => '!UIdeo/Y',
+'uideo=no' => '!UIdeo/Y',
+'uideo=t' => 'UIdeo/Y',
+'uideo=true' => 'UIdeo/Y',
+'uideo=y' => 'UIdeo/Y',
+'uideo=yes' => 'UIdeo/Y',
+'unassigned' => 'Gc/Cn',
+'unifiedcanadianaboriginalsyllabics' => 'Blk/UCAS',
+'unifiedcanadianaboriginalsyllabicsextended' => 'Blk/UCASExt',
+'unifiedideograph' => 'UIdeo/Y',
+'unknown' => 'Scx/Zzzz',
+'upper' => 'Upper/Y',
+'upper=f' => '!Upper/Y',
+'upper=false' => '!Upper/Y',
+'upper=n' => '!Upper/Y',
+'upper=no' => '!Upper/Y',
+'upper=t' => 'Upper/Y',
+'upper=true' => 'Upper/Y',
+'upper=y' => 'Upper/Y',
+'upper=yes' => 'Upper/Y',
+'uppercase' => 'Upper/Y',
+'uppercaseletter' => 'Gc/Lu',
+'vai' => 'Scx/Vai',
+'vaii' => 'Scx/Vai',
+'variationselector' => 'VS/Y',
+'variationselectors' => 'Blk/VS',
+'variationselectorssupplement' => 'Blk/VSSup',
+'vedicext' => 'Blk/VedicExt',
+'vedicextensions' => 'Blk/VedicExt',
+'verticalforms' => 'Blk/Vertical',
+'vertspace' => 'Perl/VertSpac',
+'vs' => 'VS/Y',
+'vs=f' => '!VS/Y',
+'vs=false' => '!VS/Y',
+'vs=n' => '!VS/Y',
+'vs=no' => '!VS/Y',
+'vs=t' => 'VS/Y',
+'vs=true' => 'VS/Y',
+'vs=y' => 'VS/Y',
+'vs=yes' => 'VS/Y',
+'vssup' => 'Blk/VSSup',
+'wb=aletter' => 'WB/LE',
+'wb=cr' => 'Lb/CR',
+'wb=ex' => 'Gc/Pc',
+'wb=extend' => 'SB/EX',
+'wb=extendnumlet' => 'Gc/Pc',
+'wb=fo' => 'WB/FO',
+'wb=format' => 'WB/FO',
+'wb=ka' => 'WB/KA',
+'wb=katakana' => 'WB/KA',
+'wb=le' => 'WB/LE',
+'wb=lf' => 'Lb/LF',
+'wb=mb' => 'WB/MB',
+'wb=midletter' => 'WB/ML',
+'wb=midnum' => 'WB/MN',
+'wb=midnumlet' => 'WB/MB',
+'wb=ml' => 'WB/ML',
+'wb=mn' => 'WB/MN',
+'wb=newline' => 'WB/NL',
+'wb=nl' => 'WB/NL',
+'wb=nu' => 'WB/NU',
+'wb=numeric' => 'WB/NU',
+'wb=other' => 'WB/XX',
+'wb=xx' => 'WB/XX',
+'whitespace' => 'Space/Y',
+'word' => 'Perl/Word',
+'wspace' => 'Space/Y',
+'wspace=f' => '!Space/Y',
+'wspace=false' => '!Space/Y',
+'wspace=n' => '!Space/Y',
+'wspace=no' => '!Space/Y',
+'wspace=t' => 'Space/Y',
+'wspace=true' => 'Space/Y',
+'wspace=y' => 'Space/Y',
+'wspace=yes' => 'Space/Y',
+'xdigit' => 'Hex/Y',
+'xidc' => 'XIDC/Y',
+'xidc=f' => '!XIDC/Y',
+'xidc=false' => '!XIDC/Y',
+'xidc=n' => '!XIDC/Y',
+'xidc=no' => '!XIDC/Y',
+'xidc=t' => 'XIDC/Y',
+'xidc=true' => 'XIDC/Y',
+'xidc=y' => 'XIDC/Y',
+'xidc=yes' => 'XIDC/Y',
+'xidcontinue' => 'XIDC/Y',
+'xids' => 'XIDS/Y',
+'xids=f' => '!XIDS/Y',
+'xids=false' => '!XIDS/Y',
+'xids=n' => '!XIDS/Y',
+'xids=no' => '!XIDS/Y',
+'xids=t' => 'XIDS/Y',
+'xids=true' => 'XIDS/Y',
+'xids=y' => 'XIDS/Y',
+'xids=yes' => 'XIDS/Y',
+'xidstart' => 'XIDS/Y',
+'xpeo' => 'Scx/Xpeo',
+'xperlspace' => 'Perl/SpacePer',
+'xposixalnum' => 'Perl/Alnum',
+'xposixalpha' => 'Alpha/Y',
+'xposixblank' => 'Perl/Blank',
+'xposixcntrl' => 'Gc/Cc',
+'xposixdigit' => 'Gc/Nd',
+'xposixgraph' => 'Perl/Graph',
+'xposixlower' => 'Lower/Y',
+'xposixprint' => 'Perl/Print',
+'xposixpunct' => 'Perl/XPosixPu',
+'xposixspace' => 'Space/Y',
+'xposixupper' => 'Upper/Y',
+'xposixword' => 'Perl/Word',
+'xposixxdigit' => 'Hex/Y',
+'xsux' => 'Scx/Xsux',
+'yi' => 'Sc/Yi',
+'yiii' => 'Sc/Yi',
+'yijing' => 'Blk/Yijing',
+'yijinghexagramsymbols' => 'Blk/Yijing',
+'yiradicals' => 'Blk/YiRadica',
+'yisyllables' => 'Blk/YiSyllab',
+'z' => 'Gc/Z',
+'zinh' => 'Sc/Zinh',
+'zl' => 'Gc/Zl',
+'zp' => 'Gc/Zp',
+'zs' => 'Gc/Zs',
+'zyyy' => 'Sc/Zyyy',
+'zzzz' => 'Scx/Zzzz',
);
# Maps floating point to fractional form
%utf8::nv_floating_to_rational = (
- -0.5 => '-1/2',
- 0.0625 => '1/16',
- 0.1 => '1/10',
- 0.111111111111111 => '1/9',
- 0.125 => '1/8',
- 0.142857142857143 => '1/7',
- 0.166666666666667 => '1/6',
- 0.1875 => '3/16',
- 0.2 => '1/5',
- 0.25 => '1/4',
- 0.333333333333333 => '1/3',
- 0.375 => '3/8',
- 0.4 => '2/5',
- 0.5 => '1/2',
- 0.6 => '3/5',
- 0.625 => '5/8',
- 0.666666666666667 => '2/3',
- 0.75 => '3/4',
- 0.8 => '4/5',
- 0.833333333333333 => '5/6',
- 0.875 => '7/8',
- 1.5 => '3/2',
- 2.5 => '5/2',
- 3.5 => '7/2',
- 4.5 => '9/2',
- 5.5 => '11/2',
- 6.5 => '13/2',
- 7.5 => '15/2',
- 8.5 => '17/2',
+'-0.5' => '-1/2',
+'0.0625' => '1/16',
+'0.1' => '1/10',
+'0.111111111111111' => '1/9',
+'0.125' => '1/8',
+'0.142857142857143' => '1/7',
+'0.166666666666667' => '1/6',
+'0.1875' => '3/16',
+'0.2' => '1/5',
+'0.25' => '1/4',
+'0.333333333333333' => '1/3',
+'0.375' => '3/8',
+'0.4' => '2/5',
+'0.5' => '1/2',
+'0.6' => '3/5',
+'0.625' => '5/8',
+'0.666666666666667' => '2/3',
+'0.75' => '3/4',
+'0.8' => '4/5',
+'0.833333333333333' => '5/6',
+'0.875' => '7/8',
+'1.5' => '3/2',
+'2.5' => '5/2',
+'3.5' => '7/2',
+'4.5' => '9/2',
+'5.5' => '11/2',
+'6.5' => '13/2',
+'7.5' => '15/2',
+'8.5' => '17/2',
);
# If a floating point number doesn't have enough digits in it to get this
@@ -3178,84 +3652,173 @@ $utf8::max_floating_slop = 0.001;
# the table, so as to avoid duplication, as many property names can map to the
# file, but we only need one entry for all of them.
%utf8::why_deprecated = (
- 'Hyphen/N' => 'Supplanted by Line_Break property values; see www.unicode.org/reports/tr14',
- 'Hyphen/Y' => 'Supplanted by Line_Break property values; see www.unicode.org/reports/tr14',
- 'Lb/SG' => 'Deprecated by Unicode because surrogates should never appear in well-formed text, and therefore shouldn\'t be the basis for line breaking',
- 'OAlpha/N' => 'Used by Unicode internally for generating the Alphabetic property (which should be used instead) and not intended to be used stand-alone',
- 'OAlpha/Y' => 'Used by Unicode internally for generating the Alphabetic property (which should be used instead) and not intended to be used stand-alone',
- 'ODI/N' => 'Used by Unicode internally for generating the Default_Ignorable_Code_Point property (which should be used instead) and not intended to be used stand-alone',
- 'ODI/Y' => 'Used by Unicode internally for generating the Default_Ignorable_Code_Point property (which should be used instead) and not intended to be used stand-alone',
- 'OGrExt/N' => 'Used by Unicode internally for generating the Grapheme_Extend property (which should be used instead) and not intended to be used stand-alone',
- 'OGrExt/Y' => 'Used by Unicode internally for generating the Grapheme_Extend property (which should be used instead) and not intended to be used stand-alone',
- 'OIDC/N' => 'Used by Unicode internally for generating the ID_Continue property (which should be used instead) and not intended to be used stand-alone',
- 'OIDC/Y' => 'Used by Unicode internally for generating the ID_Continue property (which should be used instead) and not intended to be used stand-alone',
- 'OIDS/N' => 'Used by Unicode internally for generating the ID_Start property (which should be used instead) and not intended to be used stand-alone',
- 'OIDS/Y' => 'Used by Unicode internally for generating the ID_Start property (which should be used instead) and not intended to be used stand-alone',
- 'OLower/N' => 'Used by Unicode internally for generating the Lowercase property (which should be used instead) and not intended to be used stand-alone',
- 'OLower/Y' => 'Used by Unicode internally for generating the Lowercase property (which should be used instead) and not intended to be used stand-alone',
- 'OMath/N' => 'Used by Unicode internally for generating the Math property (which should be used instead) and not intended to be used stand-alone',
- 'OMath/Y' => 'Used by Unicode internally for generating the Math property (which should be used instead) and not intended to be used stand-alone',
- 'OUpper/N' => 'Used by Unicode internally for generating the Uppercase property (which should be used instead) and not intended to be used stand-alone',
- 'OUpper/Y' => 'Used by Unicode internally for generating the Uppercase property (which should be used instead) and not intended to be used stand-alone',
+'Hyphen/Y' => 'Supplanted by Line_Break property values; see www.unicode.org/reports/tr14',
+'Lb/SG' => 'Deprecated by Unicode because surrogates should never appear in well-formed text, and therefore shouldn\'t be the basis for line breaking',
);
-# A few properties have different behavior under /i matching. This maps the
+# A few properties have different behavior under /i matching. This maps
# those to substitute files to use under /i.
%utf8::caseless_equivalent = (
- 'gc=ll' => 'Gc/LC',
- 'gc=lowercaseletter' => 'Gc/LC',
- 'gc=lt' => 'Gc/LC',
- 'gc=lu' => 'Gc/LC',
- 'gc=titlecaseletter' => 'Gc/LC',
- 'gc=uppercaseletter' => 'Gc/LC',
- 'isll' => 'Gc/LC',
- 'islower' => 'Cased/Y',
- 'islowercase' => 'Cased/Y',
- 'islowercaseletter' => 'Gc/LC',
- 'islt' => 'Gc/LC',
- 'islu' => 'Gc/LC',
- 'isposixlower' => 'Perl/PosixAlp',
- 'isposixupper' => 'Perl/PosixAlp',
- 'istitle' => 'Cased/Y',
- 'istitlecase' => 'Cased/Y',
- 'istitlecaseletter' => 'Gc/LC',
- 'isupper' => 'Cased/Y',
- 'isuppercase' => 'Cased/Y',
- 'isuppercaseletter' => 'Gc/LC',
- 'isxposixlower' => 'Cased/Y',
- 'isxposixupper' => 'Cased/Y',
- 'll' => 'Gc/LC',
- 'lower' => 'Cased/Y',
- 'lower=f' => 'Cased/N',
- 'lower=false' => 'Cased/N',
- 'lower=n' => 'Cased/N',
- 'lower=no' => 'Cased/N',
- 'lower=t' => 'Cased/Y',
- 'lower=true' => 'Cased/Y',
- 'lower=y' => 'Cased/Y',
- 'lower=yes' => 'Cased/Y',
- 'lowercase' => 'Cased/Y',
- 'lowercaseletter' => 'Gc/LC',
- 'lt' => 'Gc/LC',
- 'lu' => 'Gc/LC',
- 'posixlower' => 'Perl/PosixAlp',
- 'posixupper' => 'Perl/PosixAlp',
- 'title' => 'Cased/Y',
- 'titlecase' => 'Cased/Y',
- 'titlecaseletter' => 'Gc/LC',
- 'upper' => 'Cased/Y',
- 'upper=f' => 'Cased/N',
- 'upper=false' => 'Cased/N',
- 'upper=n' => 'Cased/N',
- 'upper=no' => 'Cased/N',
- 'upper=t' => 'Cased/Y',
- 'upper=true' => 'Cased/Y',
- 'upper=y' => 'Cased/Y',
- 'upper=yes' => 'Cased/Y',
- 'uppercase' => 'Cased/Y',
- 'uppercaseletter' => 'Gc/LC',
- 'xposixlower' => 'Cased/Y',
- 'xposixupper' => 'Cased/Y',
+'gc=ll' => 'Gc/LC',
+'gc=lowercaseletter' => 'Gc/LC',
+'gc=lt' => 'Gc/LC',
+'gc=lu' => 'Gc/LC',
+'gc=titlecaseletter' => 'Gc/LC',
+'gc=uppercaseletter' => 'Gc/LC',
+'isll' => 'Gc/LC',
+'islower' => 'Cased/Y',
+'islowercase' => 'Cased/Y',
+'islowercaseletter' => 'Gc/LC',
+'islt' => 'Gc/LC',
+'islu' => 'Gc/LC',
+'isposixlower' => 'Perl/PosixAlp',
+'isposixupper' => 'Perl/PosixAlp',
+'istitle' => 'Cased/Y',
+'istitlecase' => 'Cased/Y',
+'istitlecaseletter' => 'Gc/LC',
+'isupper' => 'Cased/Y',
+'isuppercase' => 'Cased/Y',
+'isuppercaseletter' => 'Gc/LC',
+'isxposixlower' => 'Cased/Y',
+'isxposixupper' => 'Cased/Y',
+'ll' => 'Gc/LC',
+'lower' => 'Cased/Y',
+'lower=f' => '!Cased/Y',
+'lower=false' => '!Cased/Y',
+'lower=n' => '!Cased/Y',
+'lower=no' => '!Cased/Y',
+'lower=t' => 'Cased/Y',
+'lower=true' => 'Cased/Y',
+'lower=y' => 'Cased/Y',
+'lower=yes' => 'Cased/Y',
+'lowercase' => 'Cased/Y',
+'lowercaseletter' => 'Gc/LC',
+'lt' => 'Gc/LC',
+'lu' => 'Gc/LC',
+'posixlower' => 'Perl/PosixAlp',
+'posixupper' => 'Perl/PosixAlp',
+'title' => 'Cased/Y',
+'titlecase' => 'Cased/Y',
+'titlecaseletter' => 'Gc/LC',
+'upper' => 'Cased/Y',
+'upper=f' => '!Cased/Y',
+'upper=false' => '!Cased/Y',
+'upper=n' => '!Cased/Y',
+'upper=no' => '!Cased/Y',
+'upper=t' => 'Cased/Y',
+'upper=true' => 'Cased/Y',
+'upper=y' => 'Cased/Y',
+'upper=yes' => 'Cased/Y',
+'uppercase' => 'Cased/Y',
+'uppercaseletter' => 'Gc/LC',
+'xposixlower' => 'Cased/Y',
+'xposixupper' => 'Cased/Y',
+);
+
+# Property names to mapping files
+%utf8::loose_property_to_file_of = (
+'age' => 'To/Age',
+'bc' => 'To/Bc',
+'bidiclass' => 'To/Bc',
+'bidimirroringglyph' => 'To/Bmg',
+'bmg' => 'To/Bmg',
+'canonicalcombiningclass' => 'CombiningClass',
+'casefolding' => 'To/Cf',
+'category' => 'To/Gc',
+'ccc' => 'CombiningClass',
+'cf' => 'To/Cf',
+'ea' => 'To/Ea',
+'eastasianwidth' => 'To/Ea',
+'gc' => 'To/Gc',
+'gcb' => 'To/GCB',
+'generalcategory' => 'To/Gc',
+'graphemeclusterbreak' => 'To/GCB',
+'hangulsyllabletype' => 'To/Hst',
+'hst' => 'To/Hst',
+'isc' => 'To/Isc',
+'isocomment' => 'To/Isc',
+'jg' => 'To/Jg',
+'joininggroup' => 'To/Jg',
+'joiningtype' => 'To/Jt',
+'jt' => 'To/Jt',
+'lb' => 'To/Lb',
+'lc' => 'To/Lc',
+'legacycasefolding' => 'To/Fold',
+'legacylowercasemapping' => 'To/Lower',
+'legacyperldecimaldigit' => 'To/Digit',
+'legacytitlecasemapping' => 'To/Title',
+'legacyuppercasemapping' => 'To/Upper',
+'linebreak' => 'To/Lb',
+'lowercasemapping' => 'To/Lc',
+'na1' => 'To/Na1',
+'namealias' => 'To/NameAlia',
+'nfcqc' => 'To/NFCQC',
+'nfcquickcheck' => 'To/NFCQC',
+'nfdqc' => 'To/NFDQC',
+'nfdquickcheck' => 'To/NFDQC',
+'nfkccasefold' => 'To/NFKCCF',
+'nfkccf' => 'To/NFKCCF',
+'nfkcqc' => 'To/NFKCQC',
+'nfkcquickcheck' => 'To/NFKCQC',
+'nfkdqc' => 'To/NFKDQC',
+'nfkdquickcheck' => 'To/NFKDQC',
+'nt' => 'To/Nt',
+'numerictype' => 'To/Nt',
+'numericvalue' => 'To/Nv',
+'nv' => 'To/Nv',
+'perldecimaldigit' => 'To/PerlDeci',
+'sb' => 'To/SB',
+'sc' => 'To/Sc',
+'script' => 'To/Sc',
+'scriptextensions' => 'To/Scx',
+'scx' => 'To/Scx',
+'sentencebreak' => 'To/SB',
+'tc' => 'To/Tc',
+'titlecasemapping' => 'To/Tc',
+'uc' => 'To/Uc',
+'unicode1name' => 'To/Na1',
+'uppercasemapping' => 'To/Uc',
+'wb' => 'To/WB',
+'wordbreak' => 'To/WB',
+);
+
+# Files to the swash names within them.
+%utf8::file_to_swash_name = (
+'CombiningClass' => 'ToCombiningClass',
+'To/Age' => 'ToAge',
+'To/Bc' => 'ToBc',
+'To/Bmg' => 'ToBmg',
+'To/Cf' => 'ToCf',
+'To/Digit' => 'ToDigit',
+'To/Ea' => 'ToEa',
+'To/Fold' => 'ToFold',
+'To/Gc' => 'ToGc',
+'To/GCB' => 'ToGCB',
+'To/Hst' => 'ToHst',
+'To/Isc' => 'ToIsc',
+'To/Jg' => 'ToJg',
+'To/Jt' => 'ToJt',
+'To/Lb' => 'ToLb',
+'To/Lc' => 'ToLc',
+'To/Lower' => 'ToLower',
+'To/Na1' => 'ToNa1',
+'To/NameAlia' => 'ToNameAlias',
+'To/NFCQC' => 'ToNFCQC',
+'To/NFDQC' => 'ToNFDQC',
+'To/NFKCCF' => 'ToNFKCCF',
+'To/NFKCQC' => 'ToNFKCQC',
+'To/NFKDQC' => 'ToNFKDQC',
+'To/Nt' => 'ToNt',
+'To/Nv' => 'ToNv',
+'To/PerlDeci' => 'ToPerlDecimalDigit',
+'To/SB' => 'ToSB',
+'To/Sc' => 'ToSc',
+'To/Scx' => 'ToScx',
+'To/Tc' => 'ToTc',
+'To/Title' => 'ToTitle',
+'To/Uc' => 'ToUc',
+'To/Upper' => 'ToUpper',
+'To/WB' => 'ToWB',
);
1;
diff --git a/Master/tlpkg/tlperl/lib/unicore/Name.pl b/Master/tlpkg/tlperl/lib/unicore/Name.pl
index 13ba74baafb..449744d4a6a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/Name.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/Name.pl
@@ -1,407 +1,97 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-# The name this swash is to be known by, with the format of the mappings in
-# the main body of the table, and what all code points missing from this file
-# map to.
-$utf8::SwashInfo{'ToName'}{'format'} = 's'; # string
-$utf8::SwashInfo{'ToName'}{'missing'} = ''; # code point maps to the null string
-
-# To achieve significant memory savings when this file is read in,
-# algorithmically derivable code points are omitted from the main body below.
-# Instead, the following routines can be used to translate between name and
-# code point and vice versa
-
-{ # Closure
-
- # Matches legal code point. 4-6 hex numbers, If there are 6, the
- # first two must be '10'; if there are 5, the first must not be a '0'.
- my $code_point_re = qr/(?^x: \b (?: 10[0-9A-F]{4} | [1-9A-F][0-9A-F]{4} | [0-9A-F]{4} ) \b)/;
-
- # In the following hash, the keys are the bases of names which includes
- # the code point in the name, like CJK UNIFIED IDEOGRAPH-4E01. The values
- # of each key is another hash which is used to get the low and high ends
- # for each range of code points that apply to the name
- my %names_ending_in_code_point = (
- 'CJK COMPATIBILITY IDEOGRAPH' =>
- {
- 'high' =>
- [
- 64045, # [0]
- 64109, # [1]
- 64217, # [2]
- 195101, # [3]
- ],
- 'low' =>
- [
- 63744, # [0]
- 64048, # [1]
- 64112, # [2]
- 194560, # [3]
- ],
- },
- 'CJK UNIFIED IDEOGRAPH' =>
- {
- 'high' =>
- [
- 19893, # [0]
- 40907, # [1]
- 173782, # [2]
- 177972, # [3]
- 178205, # [4]
- ],
- 'low' =>
- [
- 13312, # [0]
- 19968, # [1]
- 131072, # [2]
- 173824, # [3]
- 177984, # [4]
- ],
- },
-
- );
-
- # And the following array gives the inverse mapping from code points to
- # names. Lowest code points are first
- my @code_points_ending_in_code_point = (
-
- {
- 'high' => 19893,
- 'low' => 13312,
- 'name' => 'CJK UNIFIED IDEOGRAPH',
- }, # [0]
- {
- 'high' => 40907,
- 'low' => 19968,
- 'name' => 'CJK UNIFIED IDEOGRAPH',
- }, # [1]
- {
- 'high' => 64045,
- 'low' => 63744,
- 'name' => 'CJK COMPATIBILITY IDEOGRAPH',
- }, # [2]
- {
- 'high' => 64109,
- 'low' => 64048,
- 'name' => 'CJK COMPATIBILITY IDEOGRAPH',
- }, # [3]
- {
- 'high' => 64217,
- 'low' => 64112,
- 'name' => 'CJK COMPATIBILITY IDEOGRAPH',
- }, # [4]
- {
- 'high' => 173782,
- 'low' => 131072,
- 'name' => 'CJK UNIFIED IDEOGRAPH',
- }, # [5]
- {
- 'high' => 177972,
- 'low' => 173824,
- 'name' => 'CJK UNIFIED IDEOGRAPH',
- }, # [6]
- {
- 'high' => 178205,
- 'low' => 177984,
- 'name' => 'CJK UNIFIED IDEOGRAPH',
- }, # [7]
- {
- 'high' => 195101,
- 'low' => 194560,
- 'name' => 'CJK COMPATIBILITY IDEOGRAPH',
- }, # [8]
- ,
-
- );
-
- # Convert from code point to Jamo short name for use in composing Hangul
- # syllable names
- my %Jamo = (
- 4352 => 'G',
- 4353 => 'GG',
- 4354 => 'N',
- 4355 => 'D',
- 4356 => 'DD',
- 4357 => 'R',
- 4358 => 'M',
- 4359 => 'B',
- 4360 => 'BB',
- 4361 => 'S',
- 4362 => 'SS',
- 4363 => '',
- 4364 => 'J',
- 4365 => 'JJ',
- 4366 => 'C',
- 4367 => 'K',
- 4368 => 'T',
- 4369 => 'P',
- 4370 => 'H',
- 4449 => 'A',
- 4450 => 'AE',
- 4451 => 'YA',
- 4452 => 'YAE',
- 4453 => 'EO',
- 4454 => 'E',
- 4455 => 'YEO',
- 4456 => 'YE',
- 4457 => 'O',
- 4458 => 'WA',
- 4459 => 'WAE',
- 4460 => 'OE',
- 4461 => 'YO',
- 4462 => 'U',
- 4463 => 'WEO',
- 4464 => 'WE',
- 4465 => 'WI',
- 4466 => 'YU',
- 4467 => 'EU',
- 4468 => 'YI',
- 4469 => 'I',
- 4520 => 'G',
- 4521 => 'GG',
- 4522 => 'GS',
- 4523 => 'N',
- 4524 => 'NJ',
- 4525 => 'NH',
- 4526 => 'D',
- 4527 => 'L',
- 4528 => 'LG',
- 4529 => 'LM',
- 4530 => 'LB',
- 4531 => 'LS',
- 4532 => 'LT',
- 4533 => 'LP',
- 4534 => 'LH',
- 4535 => 'M',
- 4536 => 'B',
- 4537 => 'BS',
- 4538 => 'S',
- 4539 => 'SS',
- 4540 => 'NG',
- 4541 => 'J',
- 4542 => 'C',
- 4543 => 'K',
- 4544 => 'T',
- 4545 => 'P',
- 4546 => 'H',
-
- );
-
- # Leading consonant (can be null)
- my %Jamo_L = (
- '' => 11,
- 'B' => 7,
- 'BB' => 8,
- 'C' => 14,
- 'D' => 3,
- 'DD' => 4,
- 'G' => 0,
- 'GG' => 1,
- 'H' => 18,
- 'J' => 12,
- 'JJ' => 13,
- 'K' => 15,
- 'M' => 6,
- 'N' => 2,
- 'P' => 17,
- 'R' => 5,
- 'S' => 9,
- 'SS' => 10,
- 'T' => 16,
-
- );
-
- # Vowel
- my %Jamo_V = (
- 'A' => 0,
- 'AE' => 1,
- 'E' => 5,
- 'EO' => 4,
- 'EU' => 18,
- 'I' => 20,
- 'O' => 8,
- 'OE' => 11,
- 'U' => 13,
- 'WA' => 9,
- 'WAE' => 10,
- 'WE' => 15,
- 'WEO' => 14,
- 'WI' => 16,
- 'YA' => 2,
- 'YAE' => 3,
- 'YE' => 7,
- 'YEO' => 6,
- 'YI' => 19,
- 'YO' => 12,
- 'YU' => 17,
-
- );
-
- # Optional trailing consonant
- my %Jamo_T = (
- 'B' => 17,
- 'BS' => 18,
- 'C' => 23,
- 'D' => 7,
- 'G' => 1,
- 'GG' => 2,
- 'GS' => 3,
- 'H' => 27,
- 'J' => 22,
- 'K' => 24,
- 'L' => 8,
- 'LB' => 11,
- 'LG' => 9,
- 'LH' => 15,
- 'LM' => 10,
- 'LP' => 14,
- 'LS' => 12,
- 'LT' => 13,
- 'M' => 16,
- 'N' => 4,
- 'NG' => 21,
- 'NH' => 6,
- 'NJ' => 5,
- 'P' => 26,
- 'S' => 19,
- 'SS' => 20,
- 'T' => 25,
-
- );
-
- # Computed re that splits up a Hangul name into LVT or LV syllables
- my $syllable_re = qr/(|B|BB|C|D|DD|G|GG|H|J|JJ|K|M|N|P|R|S|SS|T)(A|AE|E|EO|EU|I|O|OE|U|WA|WAE|WE|WEO|WI|YA|YAE|YE|YEO|YI|YO|YU)(B|BS|C|D|G|GG|GS|H|J|K|L|LB|LG|LH|LM|LP|LS|LT|M|N|NG|NH|NJ|P|S|SS|T)?/;
-
- my $HANGUL_SYLLABLE = "HANGUL SYLLABLE ";
- my $HANGUL_SYLLABLE_LENGTH = length $HANGUL_SYLLABLE;
-
- # These constants names and values were taken from the Unicode standard,
- # version 5.1, section 3.12. They are used in conjunction with Hangul
- # syllables
- my $SBase = 0xAC00;
- my $LBase = 0x1100;
- my $VBase = 0x1161;
- my $TBase = 0x11A7;
- my $SCount = 11172;
- my $LCount = 19;
- my $VCount = 21;
- my $TCount = 28;
- my $NCount = $VCount * $TCount;
-
- sub name_to_code_point_special {
- my $name = shift;
-
- # Returns undef if not one of the specially handled names; otherwise
- # returns the code point equivalent to the input name
-
- if (substr($name, 0, $HANGUL_SYLLABLE_LENGTH) eq $HANGUL_SYLLABLE) {
- $name = substr($name, $HANGUL_SYLLABLE_LENGTH);
- return if $name !~ qr/^$syllable_re$/;
- my $L = $Jamo_L{$1};
- my $V = $Jamo_V{$2};
- my $T = (defined $3) ? $Jamo_T{$3} : 0;
- return ($L * $VCount + $V) * $TCount + $T + $SBase;
- }
-
- # Name must end in '-code_point' for this to handle.
- if ($name !~ /^ (.*) - ($code_point_re) $/x) {
- return;
- }
-
- my $base = $1;
- my $code_point = CORE::hex $2;
-
- # Name must be one of the ones which has the code point in it.
- return if ! $names_ending_in_code_point{$base};
-
- # Look through the list of ranges that apply to this name to see if
- # the code point is in one of them.
- for (my $i = 0; $i < scalar @{$names_ending_in_code_point{$base}{'low'}}; $i++) {
- return if $names_ending_in_code_point{$base}{'low'}->[$i] > $code_point;
- next if $names_ending_in_code_point{$base}{'high'}->[$i] < $code_point;
-
- # Here, the code point is in the range.
- return $code_point;
- }
-
- # Here, looked like the name had a code point number in it, but
- # did not match one of the valid ones.
- return;
- }
-
- sub code_point_to_name_special {
- my $code_point = shift;
-
- # Returns the name of a code point if algorithmically determinable;
- # undef if not
-
- # If in the Hangul range, calculate the name based on Unicode's
- # algorithm
- if ($code_point >= $SBase && $code_point <= $SBase + $SCount -1) {
- use integer;
- my $SIndex = $code_point - $SBase;
- my $L = $LBase + $SIndex / $NCount;
- my $V = $VBase + ($SIndex % $NCount) / $TCount;
- my $T = $TBase + $SIndex % $TCount;
- $name = "$HANGUL_SYLLABLE$Jamo{$L}$Jamo{$V}";
- $name .= $Jamo{$T} if $T != $TBase;
- return $name;
- }
-
- # Look through list of these code points for one in range.
- foreach my $hash (@code_points_ending_in_code_point) {
- return if $code_point < $hash->{'low'};
- if ($code_point <= $hash->{'high'}) {
- return sprintf("%s-%04X", $hash->{'name'}, $code_point);
- }
- }
- return; # None found
- }
-} # End closure
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
00000 NULL
+00000 NUL
00001 START OF HEADING
+00001 SOH
00002 START OF TEXT
+00002 STX
00003 END OF TEXT
+00003 ETX
00004 END OF TRANSMISSION
+00004 EOT
00005 ENQUIRY
+00005 ENQ
00006 ACKNOWLEDGE
+00006 ACK
00007 ALERT
+00007 BELL
+00007 BEL
00008 BACKSPACE
+00008 BS
00009 CHARACTER TABULATION
+00009 HORIZONTAL TABULATION
+00009 TAB
+00009 HT
+0000A LINE FEED
+0000A NEW LINE
+0000A END OF LINE
0000A LINE FEED (LF)
+0000A NL
+0000A EOL
+0000A LF
0000B LINE TABULATION
+0000B VERTICAL TABULATION
+0000B VT
+0000C FORM FEED
0000C FORM FEED (FF)
+0000C FF
+0000D CARRIAGE RETURN
0000D CARRIAGE RETURN (CR)
+0000D CR
0000E SHIFT OUT
+0000E LOCKING-SHIFT ONE
+0000E SO
0000F SHIFT IN
+0000F LOCKING-SHIFT ZERO
+0000F SI
00010 DATA LINK ESCAPE
+00010 DLE
00011 DEVICE CONTROL ONE
+00011 DC1
00012 DEVICE CONTROL TWO
+00012 DC2
00013 DEVICE CONTROL THREE
+00013 DC3
00014 DEVICE CONTROL FOUR
+00014 DC4
00015 NEGATIVE ACKNOWLEDGE
+00015 NAK
00016 SYNCHRONOUS IDLE
+00016 SYN
00017 END OF TRANSMISSION BLOCK
+00017 ETB
00018 CANCEL
+00018 CAN
00019 END OF MEDIUM
+00019 EOM
0001A SUBSTITUTE
+0001A SUB
0001B ESCAPE
+0001B ESC
0001C INFORMATION SEPARATOR FOUR
+0001C FILE SEPARATOR
+0001C FS
0001D INFORMATION SEPARATOR THREE
+0001D GROUP SEPARATOR
+0001D GS
0001E INFORMATION SEPARATOR TWO
+0001E RECORD SEPARATOR
+0001E RS
0001F INFORMATION SEPARATOR ONE
+0001F UNIT SEPARATOR
+0001F US
00020 SPACE
+00020 SP
00021 EXCLAMATION MARK
00022 QUOTATION MARK
00023 NUMBER SIGN
@@ -497,35 +187,86 @@ return <<'END';
0007D RIGHT CURLY BRACKET
0007E TILDE
0007F DELETE
+0007F DEL
+00080 PADDING CHARACTER
+00080 PAD
+00081 HIGH OCTET PRESET
+00081 HOP
00082 BREAK PERMITTED HERE
+00082 BPH
00083 NO BREAK HERE
+00083 NBH
+00084 INDEX
+00084 IND
+00085 NEXT LINE
00085 NEXT LINE (NEL)
+00085 NEL
00086 START OF SELECTED AREA
+00086 SSA
00087 END OF SELECTED AREA
+00087 ESA
00088 CHARACTER TABULATION SET
+00088 HORIZONTAL TABULATION SET
+00088 HTS
00089 CHARACTER TABULATION WITH JUSTIFICATION
+00089 HORIZONTAL TABULATION WITH JUSTIFICATION
+00089 HTJ
0008A LINE TABULATION SET
+0008A VERTICAL TABULATION SET
+0008A VTS
0008B PARTIAL LINE FORWARD
+0008B PARTIAL LINE DOWN
+0008B PLD
0008C PARTIAL LINE BACKWARD
+0008C PARTIAL LINE UP
+0008C PLU
0008D REVERSE LINE FEED
+0008D REVERSE INDEX
+0008D RI
0008E SINGLE SHIFT TWO
+0008E SINGLE-SHIFT-2
+0008E SS2
0008F SINGLE SHIFT THREE
+0008F SINGLE-SHIFT-3
+0008F SS3
00090 DEVICE CONTROL STRING
+00090 DCS
00091 PRIVATE USE ONE
+00091 PRIVATE USE-1
+00091 PU1
00092 PRIVATE USE TWO
+00092 PRIVATE USE-2
+00092 PU2
00093 SET TRANSMIT STATE
+00093 STS
00094 CANCEL CHARACTER
+00094 CCH
00095 MESSAGE WAITING
+00095 MW
00096 START OF GUARDED AREA
+00096 START OF PROTECTED AREA
+00096 SPA
00097 END OF GUARDED AREA
+00097 END OF PROTECTED AREA
+00097 EPA
00098 START OF STRING
+00098 SOS
+00099 SINGLE GRAPHIC CHARACTER INTRODUCER
+00099 SGC
0009A SINGLE CHARACTER INTRODUCER
+0009A SCI
0009B CONTROL SEQUENCE INTRODUCER
+0009B CSI
0009C STRING TERMINATOR
+0009C ST
0009D OPERATING SYSTEM COMMAND
+0009D OSC
0009E PRIVACY MESSAGE
+0009E PM
0009F APPLICATION PROGRAM COMMAND
+0009F APC
000A0 NO-BREAK SPACE
+000A0 NBSP
000A1 INVERTED EXCLAMATION MARK
000A2 CENT SIGN
000A3 POUND SIGN
@@ -539,6 +280,7 @@ return <<'END';
000AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
000AC NOT SIGN
000AD SOFT HYPHEN
+000AD SHY
000AE REGISTERED SIGN
000AF MACRON
000B0 DEGREE SIGN
@@ -1215,6 +957,7 @@ return <<'END';
0034D COMBINING LEFT RIGHT ARROW BELOW
0034E COMBINING UPWARDS ARROW BELOW
0034F COMBINING GRAPHEME JOINER
+0034F CGJ
00350 COMBINING RIGHT ARROWHEAD ABOVE
00351 COMBINING LEFT HALF RING ABOVE
00352 COMBINING FERMATA
@@ -1763,6 +1506,7 @@ return <<'END';
00587 ARMENIAN SMALL LIGATURE ECH YIWN
00589 ARMENIAN FULL STOP
0058A ARMENIAN HYPHEN
+0058F ARMENIAN DRAM SIGN
00591 HEBREW ACCENT ETNAHTA
00592 HEBREW ACCENT SEGOL
00593 HEBREW ACCENT SHALSHELET
@@ -1854,6 +1598,7 @@ return <<'END';
00601 ARABIC SIGN SANAH
00602 ARABIC FOOTNOTE MARKER
00603 ARABIC SIGN SAFHA
+00604 ARABIC SIGN SAMVAT
00606 ARABIC-INDIC CUBE ROOT
00607 ARABIC-INDIC FOURTH ROOT
00608 ARABIC RAY
@@ -2426,6 +2171,45 @@ return <<'END';
0085A MANDAIC VOCALIZATION MARK
0085B MANDAIC GEMINATION MARK
0085E MANDAIC PUNCTUATION
+008A0 ARABIC LETTER BEH WITH SMALL V BELOW
+008A2 ARABIC LETTER JEEM WITH TWO DOTS ABOVE
+008A3 ARABIC LETTER TAH WITH TWO DOTS ABOVE
+008A4 ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE
+008A5 ARABIC LETTER QAF WITH DOT BELOW
+008A6 ARABIC LETTER LAM WITH DOUBLE BAR
+008A7 ARABIC LETTER MEEM WITH THREE DOTS ABOVE
+008A8 ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE
+008A9 ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE
+008AA ARABIC LETTER REH WITH LOOP
+008AB ARABIC LETTER WAW WITH DOT WITHIN
+008AC ARABIC LETTER ROHINGYA YEH
+008E4 ARABIC CURLY FATHA
+008E5 ARABIC CURLY DAMMA
+008E6 ARABIC CURLY KASRA
+008E7 ARABIC CURLY FATHATAN
+008E8 ARABIC CURLY DAMMATAN
+008E9 ARABIC CURLY KASRATAN
+008EA ARABIC TONE ONE DOT ABOVE
+008EB ARABIC TONE TWO DOTS ABOVE
+008EC ARABIC TONE LOOP ABOVE
+008ED ARABIC TONE ONE DOT BELOW
+008EE ARABIC TONE TWO DOTS BELOW
+008EF ARABIC TONE LOOP BELOW
+008F0 ARABIC OPEN FATHATAN
+008F1 ARABIC OPEN DAMMATAN
+008F2 ARABIC OPEN KASRATAN
+008F3 ARABIC SMALL HIGH WAW
+008F4 ARABIC FATHA WITH RING
+008F5 ARABIC FATHA WITH DOT ABOVE
+008F6 ARABIC KASRA WITH DOT BELOW
+008F7 ARABIC LEFT ARROWHEAD ABOVE
+008F8 ARABIC RIGHT ARROWHEAD ABOVE
+008F9 ARABIC LEFT ARROWHEAD BELOW
+008FA ARABIC RIGHT ARROWHEAD BELOW
+008FB ARABIC DOUBLE RIGHT ARROWHEAD ABOVE
+008FC ARABIC DOUBLE RIGHT ARROWHEAD ABOVE WITH DOT
+008FD ARABIC RIGHT ARROWHEAD ABOVE WITH DOT
+008FE ARABIC DAMMA WITH DOT
00900 DEVANAGARI SIGN INVERTED CANDRABINDU
00901 DEVANAGARI SIGN CANDRABINDU
00902 DEVANAGARI SIGN ANUSVARA
@@ -2806,6 +2590,7 @@ return <<'END';
00AED GUJARATI DIGIT SEVEN
00AEE GUJARATI DIGIT EIGHT
00AEF GUJARATI DIGIT NINE
+00AF0 GUJARATI ABBREVIATION SIGN
00AF1 GUJARATI RUPEE SIGN
00B01 ORIYA SIGN CANDRABINDU
00B02 ORIYA SIGN ANUSVARA
@@ -3483,6 +3268,8 @@ return <<'END';
00ED9 LAO DIGIT NINE
00EDC LAO HO NO
00EDD LAO HO MO
+00EDE LAO LETTER KHMU GO
+00EDF LAO LETTER KHMU NYO
00F00 TIBETAN SYLLABLE OM
00F01 TIBETAN MARK GTER YIG MGO TRUNCATED A
00F02 TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
@@ -3893,6 +3680,8 @@ return <<'END';
010C3 GEORGIAN CAPITAL LETTER WE
010C4 GEORGIAN CAPITAL LETTER HAR
010C5 GEORGIAN CAPITAL LETTER HOE
+010C7 GEORGIAN CAPITAL LETTER YN
+010CD GEORGIAN CAPITAL LETTER AEN
010D0 GEORGIAN LETTER AN
010D1 GEORGIAN LETTER BAN
010D2 GEORGIAN LETTER GAN
@@ -3938,6 +3727,9 @@ return <<'END';
010FA GEORGIAN LETTER AIN
010FB GEORGIAN PARAGRAPH SEPARATOR
010FC MODIFIER LETTER GEORGIAN NAR
+010FD GEORGIAN LETTER AEN
+010FE GEORGIAN LETTER HARD SIGN
+010FF GEORGIAN LETTER LABIAL SIGN
01100 HANGUL CHOSEONG KIYEOK
01101 HANGUL CHOSEONG SSANGKIYEOK
01102 HANGUL CHOSEONG NIEUN
@@ -5620,9 +5412,13 @@ return <<'END';
01809 MONGOLIAN MANCHU FULL STOP
0180A MONGOLIAN NIRUGU
0180B MONGOLIAN FREE VARIATION SELECTOR ONE
+0180B FVS1
0180C MONGOLIAN FREE VARIATION SELECTOR TWO
+0180C FVS2
0180D MONGOLIAN FREE VARIATION SELECTOR THREE
+0180D FVS3
0180E MONGOLIAN VOWEL SEPARATOR
+0180E MVS
01810 MONGOLIAN DIGIT ZERO
01811 MONGOLIAN DIGIT ONE
01812 MONGOLIAN DIGIT TWO
@@ -6371,6 +6167,9 @@ return <<'END';
01BA8 SUNDANESE VOWEL SIGN PAMEPET
01BA9 SUNDANESE VOWEL SIGN PANEULEUNG
01BAA SUNDANESE SIGN PAMAAEH
+01BAB SUNDANESE SIGN VIRAMA
+01BAC SUNDANESE CONSONANT SIGN PASANGAN MA
+01BAD SUNDANESE CONSONANT SIGN PASANGAN WA
01BAE SUNDANESE LETTER KHA
01BAF SUNDANESE LETTER SYA
01BB0 SUNDANESE DIGIT ZERO
@@ -6383,6 +6182,12 @@ return <<'END';
01BB7 SUNDANESE DIGIT SEVEN
01BB8 SUNDANESE DIGIT EIGHT
01BB9 SUNDANESE DIGIT NINE
+01BBA SUNDANESE AVAGRAHA
+01BBB SUNDANESE LETTER REU
+01BBC SUNDANESE LETTER LEU
+01BBD SUNDANESE LETTER BHA
+01BBE SUNDANESE LETTER FINAL K
+01BBF SUNDANESE LETTER FINAL M
01BC0 BATAK LETTER A
01BC1 BATAK LETTER SIMALUNGUN A
01BC2 BATAK LETTER HA
@@ -6561,6 +6366,14 @@ return <<'END';
01C7D OL CHIKI AHAD
01C7E OL CHIKI PUNCTUATION MUCAAD
01C7F OL CHIKI PUNCTUATION DOUBLE MUCAAD
+01CC0 SUNDANESE PUNCTUATION BINDU SURYA
+01CC1 SUNDANESE PUNCTUATION BINDU PANGLONG
+01CC2 SUNDANESE PUNCTUATION BINDU PURNAMA
+01CC3 SUNDANESE PUNCTUATION BINDU CAKRA
+01CC4 SUNDANESE PUNCTUATION BINDU LEU SATANGA
+01CC5 SUNDANESE PUNCTUATION BINDU KA SATANGA
+01CC6 SUNDANESE PUNCTUATION BINDU DA SATANGA
+01CC7 SUNDANESE PUNCTUATION BINDU BA SATANGA
01CD0 VEDIC TONE KARSHANA
01CD1 VEDIC TONE SHARA
01CD2 VEDIC TONE PRENKHA
@@ -6596,6 +6409,10 @@ return <<'END';
01CF0 VEDIC SIGN RTHANG LONG ANUSVARA
01CF1 VEDIC SIGN ANUSVARA UBHAYATO MUKHA
01CF2 VEDIC SIGN ARDHAVISARGA
+01CF3 VEDIC SIGN ROTATED ARDHAVISARGA
+01CF4 VEDIC TONE CANDRA ABOVE
+01CF5 VEDIC SIGN JIHVAMULIYA
+01CF6 VEDIC SIGN UPADHMANIYA
01D00 LATIN LETTER SMALL CAPITAL A
01D01 LATIN LETTER SMALL CAPITAL AE
01D02 LATIN SMALL LETTER TURNED AE
@@ -7332,10 +7149,15 @@ return <<'END';
02009 THIN SPACE
0200A HAIR SPACE
0200B ZERO WIDTH SPACE
+0200B ZWSP
0200C ZERO WIDTH NON-JOINER
+0200C ZWNJ
0200D ZERO WIDTH JOINER
+0200D ZWJ
0200E LEFT-TO-RIGHT MARK
+0200E LRM
0200F RIGHT-TO-LEFT MARK
+0200F RLM
02010 HYPHEN
02011 NON-BREAKING HYPHEN
02012 FIGURE DASH
@@ -7363,11 +7185,17 @@ return <<'END';
02028 LINE SEPARATOR
02029 PARAGRAPH SEPARATOR
0202A LEFT-TO-RIGHT EMBEDDING
+0202A LRE
0202B RIGHT-TO-LEFT EMBEDDING
+0202B RLE
0202C POP DIRECTIONAL FORMATTING
+0202C PDF
0202D LEFT-TO-RIGHT OVERRIDE
+0202D LRO
0202E RIGHT-TO-LEFT OVERRIDE
+0202E RLO
0202F NARROW NO-BREAK SPACE
+0202F NNBSP
02030 PER MILLE SIGN
02031 PER TEN THOUSAND SIGN
02032 PRIME
@@ -7416,7 +7244,9 @@ return <<'END';
0205D TRICOLON
0205E VERTICAL FOUR DOTS
0205F MEDIUM MATHEMATICAL SPACE
+0205F MMSP
02060 WORD JOINER
+02060 WJ
02061 FUNCTION APPLICATION
02062 INVISIBLE TIMES
02063 INVISIBLE SEPARATOR
@@ -7552,6 +7382,7 @@ return <<'END';
02115 DOUBLE-STRUCK CAPITAL N
02116 NUMERO SIGN
02117 SOUND RECORDING COPYRIGHT
+02118 WEIERSTRASS ELLIPTIC FUNCTION
02118 SCRIPT CAPITAL P
02119 DOUBLE-STRUCK CAPITAL P
0211A DOUBLE-STRUCK CAPITAL Q
@@ -8325,7 +8156,9 @@ return <<'END';
02445 OCR BOW TIE
02446 OCR BRANCH BANK IDENTIFICATION
02447 OCR AMOUNT OF CHECK
+02448 MICR ON US SYMBOL
02448 OCR DASH
+02449 MICR DASH SYMBOL
02449 OCR CUSTOMER ACCOUNT NUMBER
0244A OCR DOUBLE BACKSLASH
02460 CIRCLED DIGIT ONE
@@ -9202,7 +9035,9 @@ return <<'END';
027C8 REVERSE SOLIDUS PRECEDING SUBSET
027C9 SUPERSET PRECEDING SOLIDUS
027CA VERTICAL BAR WITH HORIZONTAL STROKE
+027CB MATHEMATICAL RISING DIAGONAL
027CC LONG DIVISION
+027CD MATHEMATICAL FALLING DIAGONAL
027CE SQUARED LOGICAL AND
027CF SQUARED LOGICAL OR
027D0 WHITE DIAMOND WITH CENTRED DOT
@@ -10348,6 +10183,8 @@ return <<'END';
02CEF COPTIC COMBINING NI ABOVE
02CF0 COPTIC COMBINING SPIRITUS ASPER
02CF1 COPTIC COMBINING SPIRITUS LENIS
+02CF2 COPTIC CAPITAL LETTER BOHAIRIC KHEI
+02CF3 COPTIC SMALL LETTER BOHAIRIC KHEI
02CF9 COPTIC OLD NUBIAN FULL STOP
02CFA COPTIC OLD NUBIAN DIRECT QUESTION MARK
02CFB COPTIC OLD NUBIAN INDIRECT QUESTION MARK
@@ -10393,6 +10230,8 @@ return <<'END';
02D23 GEORGIAN SMALL LETTER WE
02D24 GEORGIAN SMALL LETTER HAR
02D25 GEORGIAN SMALL LETTER HOE
+02D27 GEORGIAN SMALL LETTER YN
+02D2D GEORGIAN SMALL LETTER AEN
02D30 TIFINAGH LETTER YA
02D31 TIFINAGH LETTER YAB
02D32 TIFINAGH LETTER YABH
@@ -10447,6 +10286,8 @@ return <<'END';
02D63 TIFINAGH LETTER YAZ
02D64 TIFINAGH LETTER TAWELLEMET YAZ
02D65 TIFINAGH LETTER YAZZ
+02D66 TIFINAGH LETTER YE
+02D67 TIFINAGH LETTER YO
02D6F TIFINAGH MODIFIER LETTER LABIALIZATION MARK
02D70 TIFINAGH SEPARATOR MARK
02D7F TIFINAGH CONSONANT JOINER
@@ -10611,6 +10452,16 @@ return <<'END';
02E2F VERTICAL TILDE
02E30 RING POINT
02E31 WORD SEPARATOR MIDDLE DOT
+02E32 TURNED COMMA
+02E33 RAISED DOT
+02E34 RAISED COMMA
+02E35 TURNED SEMICOLON
+02E36 DAGGER WITH LEFT GUARD
+02E37 DAGGER WITH RIGHT GUARD
+02E38 TURNED DAGGER
+02E39 TOP HALF SECTION SIGN
+02E3A TWO-EM DASH
+02E3B THREE-EM DASH
02E80 CJK RADICAL REPEAT
02E81 CJK RADICAL CLIFF
02E82 CJK RADICAL SECOND ONE
@@ -13630,6 +13481,14 @@ return <<'END';
0A671 COMBINING CYRILLIC HUNDRED MILLIONS SIGN
0A672 COMBINING CYRILLIC THOUSAND MILLIONS SIGN
0A673 SLAVONIC ASTERISK
+0A674 COMBINING CYRILLIC LETTER UKRAINIAN IE
+0A675 COMBINING CYRILLIC LETTER I
+0A676 COMBINING CYRILLIC LETTER YI
+0A677 COMBINING CYRILLIC LETTER U
+0A678 COMBINING CYRILLIC LETTER HARD SIGN
+0A679 COMBINING CYRILLIC LETTER YERU
+0A67A COMBINING CYRILLIC LETTER SOFT SIGN
+0A67B COMBINING CYRILLIC LETTER OMEGA
0A67C COMBINING CYRILLIC KAVYKA
0A67D COMBINING CYRILLIC PAYEROK
0A67E CYRILLIC KAVYKA
@@ -13658,6 +13517,7 @@ return <<'END';
0A695 CYRILLIC SMALL LETTER HWE
0A696 CYRILLIC CAPITAL LETTER SHWE
0A697 CYRILLIC SMALL LETTER SHWE
+0A69F COMBINING CYRILLIC LETTER IOTIFIED E
0A6A0 BAMUM LETTER A
0A6A1 BAMUM LETTER KA
0A6A2 BAMUM LETTER U
@@ -13891,6 +13751,8 @@ return <<'END';
0A78E LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
0A790 LATIN CAPITAL LETTER N WITH DESCENDER
0A791 LATIN SMALL LETTER N WITH DESCENDER
+0A792 LATIN CAPITAL LETTER C WITH BAR
+0A793 LATIN SMALL LETTER C WITH BAR
0A7A0 LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
0A7A1 LATIN SMALL LETTER G WITH OBLIQUE STROKE
0A7A2 LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
@@ -13901,6 +13763,9 @@ return <<'END';
0A7A7 LATIN SMALL LETTER R WITH OBLIQUE STROKE
0A7A8 LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
0A7A9 LATIN SMALL LETTER S WITH OBLIQUE STROKE
+0A7AA LATIN CAPITAL LETTER H WITH HOOK
+0A7F8 MODIFIER LETTER CAPITAL H WITH STROKE
+0A7F9 MODIFIER LETTER SMALL LIGATURE OE
0A7FA LATIN LETTER SMALL CAPITAL TURNED M
0A7FB LATIN EPIGRAPHIC LETTER REVERSED F
0A7FC LATIN EPIGRAPHIC LETTER REVERSED P
@@ -14514,6 +14379,29 @@ return <<'END';
0AADD TAI VIET SYMBOL SAM
0AADE TAI VIET SYMBOL HO HOI
0AADF TAI VIET SYMBOL KOI KOI
+0AAE0 MEETEI MAYEK LETTER E
+0AAE1 MEETEI MAYEK LETTER O
+0AAE2 MEETEI MAYEK LETTER CHA
+0AAE3 MEETEI MAYEK LETTER NYA
+0AAE4 MEETEI MAYEK LETTER TTA
+0AAE5 MEETEI MAYEK LETTER TTHA
+0AAE6 MEETEI MAYEK LETTER DDA
+0AAE7 MEETEI MAYEK LETTER DDHA
+0AAE8 MEETEI MAYEK LETTER NNA
+0AAE9 MEETEI MAYEK LETTER SHA
+0AAEA MEETEI MAYEK LETTER SSA
+0AAEB MEETEI MAYEK VOWEL SIGN II
+0AAEC MEETEI MAYEK VOWEL SIGN UU
+0AAED MEETEI MAYEK VOWEL SIGN AAI
+0AAEE MEETEI MAYEK VOWEL SIGN AU
+0AAEF MEETEI MAYEK VOWEL SIGN AAU
+0AAF0 MEETEI MAYEK CHEIKHAN
+0AAF1 MEETEI MAYEK AHANG KHUDAM
+0AAF2 MEETEI MAYEK ANJI
+0AAF3 MEETEI MAYEK SYLLABLE REPETITION MARK
+0AAF4 MEETEI MAYEK WORD REPETITION MARK
+0AAF5 MEETEI MAYEK VOWEL SIGN VISARGA
+0AAF6 MEETEI MAYEK VIRAMA
0AB01 ETHIOPIC SYLLABLE TTHU
0AB02 ETHIOPIC SYLLABLE TTHI
0AB03 ETHIOPIC SYLLABLE TTHAA
@@ -15344,21 +15232,37 @@ return <<'END';
0FDFC RIAL SIGN
0FDFD ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
0FE00 VARIATION SELECTOR-1
+0FE00 VS1
0FE01 VARIATION SELECTOR-2
+0FE01 VS2
0FE02 VARIATION SELECTOR-3
+0FE02 VS3
0FE03 VARIATION SELECTOR-4
+0FE03 VS4
0FE04 VARIATION SELECTOR-5
+0FE04 VS5
0FE05 VARIATION SELECTOR-6
+0FE05 VS6
0FE06 VARIATION SELECTOR-7
+0FE06 VS7
0FE07 VARIATION SELECTOR-8
+0FE07 VS8
0FE08 VARIATION SELECTOR-9
+0FE08 VS9
0FE09 VARIATION SELECTOR-10
+0FE09 VS10
0FE0A VARIATION SELECTOR-11
+0FE0A VS11
0FE0B VARIATION SELECTOR-12
+0FE0B VS12
0FE0C VARIATION SELECTOR-13
+0FE0C VS13
0FE0D VARIATION SELECTOR-14
+0FE0D VS14
0FE0E VARIATION SELECTOR-15
+0FE0E VS15
0FE0F VARIATION SELECTOR-16
+0FE0F VS16
0FE10 PRESENTATION FORM FOR VERTICAL COMMA
0FE11 PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA
0FE12 PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP
@@ -15576,6 +15480,9 @@ return <<'END';
0FEFB ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
0FEFC ARABIC LIGATURE LAM WITH ALEF FINAL FORM
0FEFF ZERO WIDTH NO-BREAK SPACE
+0FEFF BYTE ORDER MARK
+0FEFF ZWNBSP
+0FEFF BOM
0FF01 FULLWIDTH EXCLAMATION MARK
0FF02 FULLWIDTH QUOTATION MARK
0FF03 FULLWIDTH NUMBER SIGN
@@ -16738,6 +16645,64 @@ return <<'END';
10938 LYDIAN LETTER NN
10939 LYDIAN LETTER C
1093F LYDIAN TRIANGULAR MARK
+10980 MEROITIC HIEROGLYPHIC LETTER A
+10981 MEROITIC HIEROGLYPHIC LETTER E
+10982 MEROITIC HIEROGLYPHIC LETTER I
+10983 MEROITIC HIEROGLYPHIC LETTER O
+10984 MEROITIC HIEROGLYPHIC LETTER YA
+10985 MEROITIC HIEROGLYPHIC LETTER WA
+10986 MEROITIC HIEROGLYPHIC LETTER BA
+10987 MEROITIC HIEROGLYPHIC LETTER BA-2
+10988 MEROITIC HIEROGLYPHIC LETTER PA
+10989 MEROITIC HIEROGLYPHIC LETTER MA
+1098A MEROITIC HIEROGLYPHIC LETTER NA
+1098B MEROITIC HIEROGLYPHIC LETTER NA-2
+1098C MEROITIC HIEROGLYPHIC LETTER NE
+1098D MEROITIC HIEROGLYPHIC LETTER NE-2
+1098E MEROITIC HIEROGLYPHIC LETTER RA
+1098F MEROITIC HIEROGLYPHIC LETTER RA-2
+10990 MEROITIC HIEROGLYPHIC LETTER LA
+10991 MEROITIC HIEROGLYPHIC LETTER KHA
+10992 MEROITIC HIEROGLYPHIC LETTER HHA
+10993 MEROITIC HIEROGLYPHIC LETTER SA
+10994 MEROITIC HIEROGLYPHIC LETTER SA-2
+10995 MEROITIC HIEROGLYPHIC LETTER SE
+10996 MEROITIC HIEROGLYPHIC LETTER KA
+10997 MEROITIC HIEROGLYPHIC LETTER QA
+10998 MEROITIC HIEROGLYPHIC LETTER TA
+10999 MEROITIC HIEROGLYPHIC LETTER TA-2
+1099A MEROITIC HIEROGLYPHIC LETTER TE
+1099B MEROITIC HIEROGLYPHIC LETTER TE-2
+1099C MEROITIC HIEROGLYPHIC LETTER TO
+1099D MEROITIC HIEROGLYPHIC LETTER DA
+1099E MEROITIC HIEROGLYPHIC SYMBOL VIDJ
+1099F MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2
+109A0 MEROITIC CURSIVE LETTER A
+109A1 MEROITIC CURSIVE LETTER E
+109A2 MEROITIC CURSIVE LETTER I
+109A3 MEROITIC CURSIVE LETTER O
+109A4 MEROITIC CURSIVE LETTER YA
+109A5 MEROITIC CURSIVE LETTER WA
+109A6 MEROITIC CURSIVE LETTER BA
+109A7 MEROITIC CURSIVE LETTER PA
+109A8 MEROITIC CURSIVE LETTER MA
+109A9 MEROITIC CURSIVE LETTER NA
+109AA MEROITIC CURSIVE LETTER NE
+109AB MEROITIC CURSIVE LETTER RA
+109AC MEROITIC CURSIVE LETTER LA
+109AD MEROITIC CURSIVE LETTER KHA
+109AE MEROITIC CURSIVE LETTER HHA
+109AF MEROITIC CURSIVE LETTER SA
+109B0 MEROITIC CURSIVE LETTER ARCHAIC SA
+109B1 MEROITIC CURSIVE LETTER SE
+109B2 MEROITIC CURSIVE LETTER KA
+109B3 MEROITIC CURSIVE LETTER QA
+109B4 MEROITIC CURSIVE LETTER TA
+109B5 MEROITIC CURSIVE LETTER TE
+109B6 MEROITIC CURSIVE LETTER TO
+109B7 MEROITIC CURSIVE LETTER DA
+109BE MEROITIC CURSIVE LOGOGRAM RMT
+109BF MEROITIC CURSIVE LOGOGRAM IMN
10A00 KHAROSHTHI LETTER A
10A01 KHAROSHTHI VOWEL SIGN I
10A02 KHAROSHTHI VOWEL SIGN U
@@ -17231,6 +17196,257 @@ return <<'END';
110BF KAITHI DOUBLE SECTION MARK
110C0 KAITHI DANDA
110C1 KAITHI DOUBLE DANDA
+110D0 SORA SOMPENG LETTER SAH
+110D1 SORA SOMPENG LETTER TAH
+110D2 SORA SOMPENG LETTER BAH
+110D3 SORA SOMPENG LETTER CAH
+110D4 SORA SOMPENG LETTER DAH
+110D5 SORA SOMPENG LETTER GAH
+110D6 SORA SOMPENG LETTER MAH
+110D7 SORA SOMPENG LETTER NGAH
+110D8 SORA SOMPENG LETTER LAH
+110D9 SORA SOMPENG LETTER NAH
+110DA SORA SOMPENG LETTER VAH
+110DB SORA SOMPENG LETTER PAH
+110DC SORA SOMPENG LETTER YAH
+110DD SORA SOMPENG LETTER RAH
+110DE SORA SOMPENG LETTER HAH
+110DF SORA SOMPENG LETTER KAH
+110E0 SORA SOMPENG LETTER JAH
+110E1 SORA SOMPENG LETTER NYAH
+110E2 SORA SOMPENG LETTER AH
+110E3 SORA SOMPENG LETTER EEH
+110E4 SORA SOMPENG LETTER IH
+110E5 SORA SOMPENG LETTER UH
+110E6 SORA SOMPENG LETTER OH
+110E7 SORA SOMPENG LETTER EH
+110E8 SORA SOMPENG LETTER MAE
+110F0 SORA SOMPENG DIGIT ZERO
+110F1 SORA SOMPENG DIGIT ONE
+110F2 SORA SOMPENG DIGIT TWO
+110F3 SORA SOMPENG DIGIT THREE
+110F4 SORA SOMPENG DIGIT FOUR
+110F5 SORA SOMPENG DIGIT FIVE
+110F6 SORA SOMPENG DIGIT SIX
+110F7 SORA SOMPENG DIGIT SEVEN
+110F8 SORA SOMPENG DIGIT EIGHT
+110F9 SORA SOMPENG DIGIT NINE
+11100 CHAKMA SIGN CANDRABINDU
+11101 CHAKMA SIGN ANUSVARA
+11102 CHAKMA SIGN VISARGA
+11103 CHAKMA LETTER AA
+11104 CHAKMA LETTER I
+11105 CHAKMA LETTER U
+11106 CHAKMA LETTER E
+11107 CHAKMA LETTER KAA
+11108 CHAKMA LETTER KHAA
+11109 CHAKMA LETTER GAA
+1110A CHAKMA LETTER GHAA
+1110B CHAKMA LETTER NGAA
+1110C CHAKMA LETTER CAA
+1110D CHAKMA LETTER CHAA
+1110E CHAKMA LETTER JAA
+1110F CHAKMA LETTER JHAA
+11110 CHAKMA LETTER NYAA
+11111 CHAKMA LETTER TTAA
+11112 CHAKMA LETTER TTHAA
+11113 CHAKMA LETTER DDAA
+11114 CHAKMA LETTER DDHAA
+11115 CHAKMA LETTER NNAA
+11116 CHAKMA LETTER TAA
+11117 CHAKMA LETTER THAA
+11118 CHAKMA LETTER DAA
+11119 CHAKMA LETTER DHAA
+1111A CHAKMA LETTER NAA
+1111B CHAKMA LETTER PAA
+1111C CHAKMA LETTER PHAA
+1111D CHAKMA LETTER BAA
+1111E CHAKMA LETTER BHAA
+1111F CHAKMA LETTER MAA
+11120 CHAKMA LETTER YYAA
+11121 CHAKMA LETTER YAA
+11122 CHAKMA LETTER RAA
+11123 CHAKMA LETTER LAA
+11124 CHAKMA LETTER WAA
+11125 CHAKMA LETTER SAA
+11126 CHAKMA LETTER HAA
+11127 CHAKMA VOWEL SIGN A
+11128 CHAKMA VOWEL SIGN I
+11129 CHAKMA VOWEL SIGN II
+1112A CHAKMA VOWEL SIGN U
+1112B CHAKMA VOWEL SIGN UU
+1112C CHAKMA VOWEL SIGN E
+1112D CHAKMA VOWEL SIGN AI
+1112E CHAKMA VOWEL SIGN O
+1112F CHAKMA VOWEL SIGN AU
+11130 CHAKMA VOWEL SIGN OI
+11131 CHAKMA O MARK
+11132 CHAKMA AU MARK
+11133 CHAKMA VIRAMA
+11134 CHAKMA MAAYYAA
+11136 CHAKMA DIGIT ZERO
+11137 CHAKMA DIGIT ONE
+11138 CHAKMA DIGIT TWO
+11139 CHAKMA DIGIT THREE
+1113A CHAKMA DIGIT FOUR
+1113B CHAKMA DIGIT FIVE
+1113C CHAKMA DIGIT SIX
+1113D CHAKMA DIGIT SEVEN
+1113E CHAKMA DIGIT EIGHT
+1113F CHAKMA DIGIT NINE
+11140 CHAKMA SECTION MARK
+11141 CHAKMA DANDA
+11142 CHAKMA DOUBLE DANDA
+11143 CHAKMA QUESTION MARK
+11180 SHARADA SIGN CANDRABINDU
+11181 SHARADA SIGN ANUSVARA
+11182 SHARADA SIGN VISARGA
+11183 SHARADA LETTER A
+11184 SHARADA LETTER AA
+11185 SHARADA LETTER I
+11186 SHARADA LETTER II
+11187 SHARADA LETTER U
+11188 SHARADA LETTER UU
+11189 SHARADA LETTER VOCALIC R
+1118A SHARADA LETTER VOCALIC RR
+1118B SHARADA LETTER VOCALIC L
+1118C SHARADA LETTER VOCALIC LL
+1118D SHARADA LETTER E
+1118E SHARADA LETTER AI
+1118F SHARADA LETTER O
+11190 SHARADA LETTER AU
+11191 SHARADA LETTER KA
+11192 SHARADA LETTER KHA
+11193 SHARADA LETTER GA
+11194 SHARADA LETTER GHA
+11195 SHARADA LETTER NGA
+11196 SHARADA LETTER CA
+11197 SHARADA LETTER CHA
+11198 SHARADA LETTER JA
+11199 SHARADA LETTER JHA
+1119A SHARADA LETTER NYA
+1119B SHARADA LETTER TTA
+1119C SHARADA LETTER TTHA
+1119D SHARADA LETTER DDA
+1119E SHARADA LETTER DDHA
+1119F SHARADA LETTER NNA
+111A0 SHARADA LETTER TA
+111A1 SHARADA LETTER THA
+111A2 SHARADA LETTER DA
+111A3 SHARADA LETTER DHA
+111A4 SHARADA LETTER NA
+111A5 SHARADA LETTER PA
+111A6 SHARADA LETTER PHA
+111A7 SHARADA LETTER BA
+111A8 SHARADA LETTER BHA
+111A9 SHARADA LETTER MA
+111AA SHARADA LETTER YA
+111AB SHARADA LETTER RA
+111AC SHARADA LETTER LA
+111AD SHARADA LETTER LLA
+111AE SHARADA LETTER VA
+111AF SHARADA LETTER SHA
+111B0 SHARADA LETTER SSA
+111B1 SHARADA LETTER SA
+111B2 SHARADA LETTER HA
+111B3 SHARADA VOWEL SIGN AA
+111B4 SHARADA VOWEL SIGN I
+111B5 SHARADA VOWEL SIGN II
+111B6 SHARADA VOWEL SIGN U
+111B7 SHARADA VOWEL SIGN UU
+111B8 SHARADA VOWEL SIGN VOCALIC R
+111B9 SHARADA VOWEL SIGN VOCALIC RR
+111BA SHARADA VOWEL SIGN VOCALIC L
+111BB SHARADA VOWEL SIGN VOCALIC LL
+111BC SHARADA VOWEL SIGN E
+111BD SHARADA VOWEL SIGN AI
+111BE SHARADA VOWEL SIGN O
+111BF SHARADA VOWEL SIGN AU
+111C0 SHARADA SIGN VIRAMA
+111C1 SHARADA SIGN AVAGRAHA
+111C2 SHARADA SIGN JIHVAMULIYA
+111C3 SHARADA SIGN UPADHMANIYA
+111C4 SHARADA OM
+111C5 SHARADA DANDA
+111C6 SHARADA DOUBLE DANDA
+111C7 SHARADA ABBREVIATION SIGN
+111C8 SHARADA SEPARATOR
+111D0 SHARADA DIGIT ZERO
+111D1 SHARADA DIGIT ONE
+111D2 SHARADA DIGIT TWO
+111D3 SHARADA DIGIT THREE
+111D4 SHARADA DIGIT FOUR
+111D5 SHARADA DIGIT FIVE
+111D6 SHARADA DIGIT SIX
+111D7 SHARADA DIGIT SEVEN
+111D8 SHARADA DIGIT EIGHT
+111D9 SHARADA DIGIT NINE
+11680 TAKRI LETTER A
+11681 TAKRI LETTER AA
+11682 TAKRI LETTER I
+11683 TAKRI LETTER II
+11684 TAKRI LETTER U
+11685 TAKRI LETTER UU
+11686 TAKRI LETTER E
+11687 TAKRI LETTER AI
+11688 TAKRI LETTER O
+11689 TAKRI LETTER AU
+1168A TAKRI LETTER KA
+1168B TAKRI LETTER KHA
+1168C TAKRI LETTER GA
+1168D TAKRI LETTER GHA
+1168E TAKRI LETTER NGA
+1168F TAKRI LETTER CA
+11690 TAKRI LETTER CHA
+11691 TAKRI LETTER JA
+11692 TAKRI LETTER JHA
+11693 TAKRI LETTER NYA
+11694 TAKRI LETTER TTA
+11695 TAKRI LETTER TTHA
+11696 TAKRI LETTER DDA
+11697 TAKRI LETTER DDHA
+11698 TAKRI LETTER NNA
+11699 TAKRI LETTER TA
+1169A TAKRI LETTER THA
+1169B TAKRI LETTER DA
+1169C TAKRI LETTER DHA
+1169D TAKRI LETTER NA
+1169E TAKRI LETTER PA
+1169F TAKRI LETTER PHA
+116A0 TAKRI LETTER BA
+116A1 TAKRI LETTER BHA
+116A2 TAKRI LETTER MA
+116A3 TAKRI LETTER YA
+116A4 TAKRI LETTER RA
+116A5 TAKRI LETTER LA
+116A6 TAKRI LETTER VA
+116A7 TAKRI LETTER SHA
+116A8 TAKRI LETTER SA
+116A9 TAKRI LETTER HA
+116AA TAKRI LETTER RRA
+116AB TAKRI SIGN ANUSVARA
+116AC TAKRI SIGN VISARGA
+116AD TAKRI VOWEL SIGN AA
+116AE TAKRI VOWEL SIGN I
+116AF TAKRI VOWEL SIGN II
+116B0 TAKRI VOWEL SIGN U
+116B1 TAKRI VOWEL SIGN UU
+116B2 TAKRI VOWEL SIGN E
+116B3 TAKRI VOWEL SIGN AI
+116B4 TAKRI VOWEL SIGN O
+116B5 TAKRI VOWEL SIGN AU
+116B6 TAKRI SIGN VIRAMA
+116B7 TAKRI SIGN NUKTA
+116C0 TAKRI DIGIT ZERO
+116C1 TAKRI DIGIT ONE
+116C2 TAKRI DIGIT TWO
+116C3 TAKRI DIGIT THREE
+116C4 TAKRI DIGIT FOUR
+116C5 TAKRI DIGIT FIVE
+116C6 TAKRI DIGIT SIX
+116C7 TAKRI DIGIT SEVEN
+116C8 TAKRI DIGIT EIGHT
+116C9 TAKRI DIGIT NINE
12000 CUNEIFORM SIGN A
12001 CUNEIFORM SIGN A TIMES A
12002 CUNEIFORM SIGN A TIMES BAD
@@ -19853,6 +20069,139 @@ return <<'END';
16A36 BAMUM LETTER PHASE-F KPA
16A37 BAMUM LETTER PHASE-F SAMBA
16A38 BAMUM LETTER PHASE-F VUEQ
+16F00 MIAO LETTER PA
+16F01 MIAO LETTER BA
+16F02 MIAO LETTER YI PA
+16F03 MIAO LETTER PLA
+16F04 MIAO LETTER MA
+16F05 MIAO LETTER MHA
+16F06 MIAO LETTER ARCHAIC MA
+16F07 MIAO LETTER FA
+16F08 MIAO LETTER VA
+16F09 MIAO LETTER VFA
+16F0A MIAO LETTER TA
+16F0B MIAO LETTER DA
+16F0C MIAO LETTER YI TTA
+16F0D MIAO LETTER YI TA
+16F0E MIAO LETTER TTA
+16F0F MIAO LETTER DDA
+16F10 MIAO LETTER NA
+16F11 MIAO LETTER NHA
+16F12 MIAO LETTER YI NNA
+16F13 MIAO LETTER ARCHAIC NA
+16F14 MIAO LETTER NNA
+16F15 MIAO LETTER NNHA
+16F16 MIAO LETTER LA
+16F17 MIAO LETTER LYA
+16F18 MIAO LETTER LHA
+16F19 MIAO LETTER LHYA
+16F1A MIAO LETTER TLHA
+16F1B MIAO LETTER DLHA
+16F1C MIAO LETTER TLHYA
+16F1D MIAO LETTER DLHYA
+16F1E MIAO LETTER KA
+16F1F MIAO LETTER GA
+16F20 MIAO LETTER YI KA
+16F21 MIAO LETTER QA
+16F22 MIAO LETTER QGA
+16F23 MIAO LETTER NGA
+16F24 MIAO LETTER NGHA
+16F25 MIAO LETTER ARCHAIC NGA
+16F26 MIAO LETTER HA
+16F27 MIAO LETTER XA
+16F28 MIAO LETTER GHA
+16F29 MIAO LETTER GHHA
+16F2A MIAO LETTER TSSA
+16F2B MIAO LETTER DZZA
+16F2C MIAO LETTER NYA
+16F2D MIAO LETTER NYHA
+16F2E MIAO LETTER TSHA
+16F2F MIAO LETTER DZHA
+16F30 MIAO LETTER YI TSHA
+16F31 MIAO LETTER YI DZHA
+16F32 MIAO LETTER REFORMED TSHA
+16F33 MIAO LETTER SHA
+16F34 MIAO LETTER SSA
+16F35 MIAO LETTER ZHA
+16F36 MIAO LETTER ZSHA
+16F37 MIAO LETTER TSA
+16F38 MIAO LETTER DZA
+16F39 MIAO LETTER YI TSA
+16F3A MIAO LETTER SA
+16F3B MIAO LETTER ZA
+16F3C MIAO LETTER ZSA
+16F3D MIAO LETTER ZZA
+16F3E MIAO LETTER ZZSA
+16F3F MIAO LETTER ARCHAIC ZZA
+16F40 MIAO LETTER ZZYA
+16F41 MIAO LETTER ZZSYA
+16F42 MIAO LETTER WA
+16F43 MIAO LETTER AH
+16F44 MIAO LETTER HHA
+16F50 MIAO LETTER NASALIZATION
+16F51 MIAO SIGN ASPIRATION
+16F52 MIAO SIGN REFORMED VOICING
+16F53 MIAO SIGN REFORMED ASPIRATION
+16F54 MIAO VOWEL SIGN A
+16F55 MIAO VOWEL SIGN AA
+16F56 MIAO VOWEL SIGN AHH
+16F57 MIAO VOWEL SIGN AN
+16F58 MIAO VOWEL SIGN ANG
+16F59 MIAO VOWEL SIGN O
+16F5A MIAO VOWEL SIGN OO
+16F5B MIAO VOWEL SIGN WO
+16F5C MIAO VOWEL SIGN W
+16F5D MIAO VOWEL SIGN E
+16F5E MIAO VOWEL SIGN EN
+16F5F MIAO VOWEL SIGN ENG
+16F60 MIAO VOWEL SIGN OEY
+16F61 MIAO VOWEL SIGN I
+16F62 MIAO VOWEL SIGN IA
+16F63 MIAO VOWEL SIGN IAN
+16F64 MIAO VOWEL SIGN IANG
+16F65 MIAO VOWEL SIGN IO
+16F66 MIAO VOWEL SIGN IE
+16F67 MIAO VOWEL SIGN II
+16F68 MIAO VOWEL SIGN IU
+16F69 MIAO VOWEL SIGN ING
+16F6A MIAO VOWEL SIGN U
+16F6B MIAO VOWEL SIGN UA
+16F6C MIAO VOWEL SIGN UAN
+16F6D MIAO VOWEL SIGN UANG
+16F6E MIAO VOWEL SIGN UU
+16F6F MIAO VOWEL SIGN UEI
+16F70 MIAO VOWEL SIGN UNG
+16F71 MIAO VOWEL SIGN Y
+16F72 MIAO VOWEL SIGN YI
+16F73 MIAO VOWEL SIGN AE
+16F74 MIAO VOWEL SIGN AEE
+16F75 MIAO VOWEL SIGN ERR
+16F76 MIAO VOWEL SIGN ROUNDED ERR
+16F77 MIAO VOWEL SIGN ER
+16F78 MIAO VOWEL SIGN ROUNDED ER
+16F79 MIAO VOWEL SIGN AI
+16F7A MIAO VOWEL SIGN EI
+16F7B MIAO VOWEL SIGN AU
+16F7C MIAO VOWEL SIGN OU
+16F7D MIAO VOWEL SIGN N
+16F7E MIAO VOWEL SIGN NG
+16F8F MIAO TONE RIGHT
+16F90 MIAO TONE TOP RIGHT
+16F91 MIAO TONE ABOVE
+16F92 MIAO TONE BELOW
+16F93 MIAO LETTER TONE-2
+16F94 MIAO LETTER TONE-3
+16F95 MIAO LETTER TONE-4
+16F96 MIAO LETTER TONE-5
+16F97 MIAO LETTER TONE-6
+16F98 MIAO LETTER TONE-7
+16F99 MIAO LETTER TONE-8
+16F9A MIAO LETTER REFORMED TONE-1
+16F9B MIAO LETTER REFORMED TONE-2
+16F9C MIAO LETTER REFORMED TONE-4
+16F9D MIAO LETTER REFORMED TONE-5
+16F9E MIAO LETTER REFORMED TONE-6
+16F9F MIAO LETTER REFORMED TONE-8
1B000 KATAKANA LETTER ARCHAIC E
1B001 HIRAGANA LETTER ARCHAIC YE
1D000 BYZANTINE MUSICAL SYMBOL PSILI
@@ -21493,6 +21842,149 @@ return <<'END';
1D7FD MATHEMATICAL MONOSPACE DIGIT SEVEN
1D7FE MATHEMATICAL MONOSPACE DIGIT EIGHT
1D7FF MATHEMATICAL MONOSPACE DIGIT NINE
+1EE00 ARABIC MATHEMATICAL ALEF
+1EE01 ARABIC MATHEMATICAL BEH
+1EE02 ARABIC MATHEMATICAL JEEM
+1EE03 ARABIC MATHEMATICAL DAL
+1EE05 ARABIC MATHEMATICAL WAW
+1EE06 ARABIC MATHEMATICAL ZAIN
+1EE07 ARABIC MATHEMATICAL HAH
+1EE08 ARABIC MATHEMATICAL TAH
+1EE09 ARABIC MATHEMATICAL YEH
+1EE0A ARABIC MATHEMATICAL KAF
+1EE0B ARABIC MATHEMATICAL LAM
+1EE0C ARABIC MATHEMATICAL MEEM
+1EE0D ARABIC MATHEMATICAL NOON
+1EE0E ARABIC MATHEMATICAL SEEN
+1EE0F ARABIC MATHEMATICAL AIN
+1EE10 ARABIC MATHEMATICAL FEH
+1EE11 ARABIC MATHEMATICAL SAD
+1EE12 ARABIC MATHEMATICAL QAF
+1EE13 ARABIC MATHEMATICAL REH
+1EE14 ARABIC MATHEMATICAL SHEEN
+1EE15 ARABIC MATHEMATICAL TEH
+1EE16 ARABIC MATHEMATICAL THEH
+1EE17 ARABIC MATHEMATICAL KHAH
+1EE18 ARABIC MATHEMATICAL THAL
+1EE19 ARABIC MATHEMATICAL DAD
+1EE1A ARABIC MATHEMATICAL ZAH
+1EE1B ARABIC MATHEMATICAL GHAIN
+1EE1C ARABIC MATHEMATICAL DOTLESS BEH
+1EE1D ARABIC MATHEMATICAL DOTLESS NOON
+1EE1E ARABIC MATHEMATICAL DOTLESS FEH
+1EE1F ARABIC MATHEMATICAL DOTLESS QAF
+1EE21 ARABIC MATHEMATICAL INITIAL BEH
+1EE22 ARABIC MATHEMATICAL INITIAL JEEM
+1EE24 ARABIC MATHEMATICAL INITIAL HEH
+1EE27 ARABIC MATHEMATICAL INITIAL HAH
+1EE29 ARABIC MATHEMATICAL INITIAL YEH
+1EE2A ARABIC MATHEMATICAL INITIAL KAF
+1EE2B ARABIC MATHEMATICAL INITIAL LAM
+1EE2C ARABIC MATHEMATICAL INITIAL MEEM
+1EE2D ARABIC MATHEMATICAL INITIAL NOON
+1EE2E ARABIC MATHEMATICAL INITIAL SEEN
+1EE2F ARABIC MATHEMATICAL INITIAL AIN
+1EE30 ARABIC MATHEMATICAL INITIAL FEH
+1EE31 ARABIC MATHEMATICAL INITIAL SAD
+1EE32 ARABIC MATHEMATICAL INITIAL QAF
+1EE34 ARABIC MATHEMATICAL INITIAL SHEEN
+1EE35 ARABIC MATHEMATICAL INITIAL TEH
+1EE36 ARABIC MATHEMATICAL INITIAL THEH
+1EE37 ARABIC MATHEMATICAL INITIAL KHAH
+1EE39 ARABIC MATHEMATICAL INITIAL DAD
+1EE3B ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42 ARABIC MATHEMATICAL TAILED JEEM
+1EE47 ARABIC MATHEMATICAL TAILED HAH
+1EE49 ARABIC MATHEMATICAL TAILED YEH
+1EE4B ARABIC MATHEMATICAL TAILED LAM
+1EE4D ARABIC MATHEMATICAL TAILED NOON
+1EE4E ARABIC MATHEMATICAL TAILED SEEN
+1EE4F ARABIC MATHEMATICAL TAILED AIN
+1EE51 ARABIC MATHEMATICAL TAILED SAD
+1EE52 ARABIC MATHEMATICAL TAILED QAF
+1EE54 ARABIC MATHEMATICAL TAILED SHEEN
+1EE57 ARABIC MATHEMATICAL TAILED KHAH
+1EE59 ARABIC MATHEMATICAL TAILED DAD
+1EE5B ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61 ARABIC MATHEMATICAL STRETCHED BEH
+1EE62 ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64 ARABIC MATHEMATICAL STRETCHED HEH
+1EE67 ARABIC MATHEMATICAL STRETCHED HAH
+1EE68 ARABIC MATHEMATICAL STRETCHED TAH
+1EE69 ARABIC MATHEMATICAL STRETCHED YEH
+1EE6A ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C ARABIC MATHEMATICAL STRETCHED MEEM
+1EE6D ARABIC MATHEMATICAL STRETCHED NOON
+1EE6E ARABIC MATHEMATICAL STRETCHED SEEN
+1EE6F ARABIC MATHEMATICAL STRETCHED AIN
+1EE70 ARABIC MATHEMATICAL STRETCHED FEH
+1EE71 ARABIC MATHEMATICAL STRETCHED SAD
+1EE72 ARABIC MATHEMATICAL STRETCHED QAF
+1EE74 ARABIC MATHEMATICAL STRETCHED SHEEN
+1EE75 ARABIC MATHEMATICAL STRETCHED TEH
+1EE76 ARABIC MATHEMATICAL STRETCHED THEH
+1EE77 ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79 ARABIC MATHEMATICAL STRETCHED DAD
+1EE7A ARABIC MATHEMATICAL STRETCHED ZAH
+1EE7B ARABIC MATHEMATICAL STRETCHED GHAIN
+1EE7C ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80 ARABIC MATHEMATICAL LOOPED ALEF
+1EE81 ARABIC MATHEMATICAL LOOPED BEH
+1EE82 ARABIC MATHEMATICAL LOOPED JEEM
+1EE83 ARABIC MATHEMATICAL LOOPED DAL
+1EE84 ARABIC MATHEMATICAL LOOPED HEH
+1EE85 ARABIC MATHEMATICAL LOOPED WAW
+1EE86 ARABIC MATHEMATICAL LOOPED ZAIN
+1EE87 ARABIC MATHEMATICAL LOOPED HAH
+1EE88 ARABIC MATHEMATICAL LOOPED TAH
+1EE89 ARABIC MATHEMATICAL LOOPED YEH
+1EE8B ARABIC MATHEMATICAL LOOPED LAM
+1EE8C ARABIC MATHEMATICAL LOOPED MEEM
+1EE8D ARABIC MATHEMATICAL LOOPED NOON
+1EE8E ARABIC MATHEMATICAL LOOPED SEEN
+1EE8F ARABIC MATHEMATICAL LOOPED AIN
+1EE90 ARABIC MATHEMATICAL LOOPED FEH
+1EE91 ARABIC MATHEMATICAL LOOPED SAD
+1EE92 ARABIC MATHEMATICAL LOOPED QAF
+1EE93 ARABIC MATHEMATICAL LOOPED REH
+1EE94 ARABIC MATHEMATICAL LOOPED SHEEN
+1EE95 ARABIC MATHEMATICAL LOOPED TEH
+1EE96 ARABIC MATHEMATICAL LOOPED THEH
+1EE97 ARABIC MATHEMATICAL LOOPED KHAH
+1EE98 ARABIC MATHEMATICAL LOOPED THAL
+1EE99 ARABIC MATHEMATICAL LOOPED DAD
+1EE9A ARABIC MATHEMATICAL LOOPED ZAH
+1EE9B ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1 ARABIC MATHEMATICAL DOUBLE-STRUCK BEH
+1EEA2 ARABIC MATHEMATICAL DOUBLE-STRUCK JEEM
+1EEA3 ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5 ARABIC MATHEMATICAL DOUBLE-STRUCK WAW
+1EEA6 ARABIC MATHEMATICAL DOUBLE-STRUCK ZAIN
+1EEA7 ARABIC MATHEMATICAL DOUBLE-STRUCK HAH
+1EEA8 ARABIC MATHEMATICAL DOUBLE-STRUCK TAH
+1EEA9 ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB ARABIC MATHEMATICAL DOUBLE-STRUCK LAM
+1EEAC ARABIC MATHEMATICAL DOUBLE-STRUCK MEEM
+1EEAD ARABIC MATHEMATICAL DOUBLE-STRUCK NOON
+1EEAE ARABIC MATHEMATICAL DOUBLE-STRUCK SEEN
+1EEAF ARABIC MATHEMATICAL DOUBLE-STRUCK AIN
+1EEB0 ARABIC MATHEMATICAL DOUBLE-STRUCK FEH
+1EEB1 ARABIC MATHEMATICAL DOUBLE-STRUCK SAD
+1EEB2 ARABIC MATHEMATICAL DOUBLE-STRUCK QAF
+1EEB3 ARABIC MATHEMATICAL DOUBLE-STRUCK REH
+1EEB4 ARABIC MATHEMATICAL DOUBLE-STRUCK SHEEN
+1EEB5 ARABIC MATHEMATICAL DOUBLE-STRUCK TEH
+1EEB6 ARABIC MATHEMATICAL DOUBLE-STRUCK THEH
+1EEB7 ARABIC MATHEMATICAL DOUBLE-STRUCK KHAH
+1EEB8 ARABIC MATHEMATICAL DOUBLE-STRUCK THAL
+1EEB9 ARABIC MATHEMATICAL DOUBLE-STRUCK DAD
+1EEBA ARABIC MATHEMATICAL DOUBLE-STRUCK ZAH
+1EEBB ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
+1EEF0 ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL
+1EEF1 ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
1F000 MAHJONG TILE EAST WIND
1F001 MAHJONG TILE SOUTH WIND
1F002 MAHJONG TILE WEST WIND
@@ -21796,6 +22288,8 @@ return <<'END';
1F167 NEGATIVE CIRCLED LATIN CAPITAL LETTER X
1F168 NEGATIVE CIRCLED LATIN CAPITAL LETTER Y
1F169 NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
+1F16A RAISED MC SIGN
+1F16B RAISED MD SIGN
1F170 NEGATIVE SQUARED LATIN CAPITAL LETTER A
1F171 NEGATIVE SQUARED LATIN CAPITAL LETTER B
1F172 NEGATIVE SQUARED LATIN CAPITAL LETTER C
@@ -22421,6 +22915,10 @@ return <<'END';
1F53B DOWN-POINTING RED TRIANGLE
1F53C UP-POINTING SMALL RED TRIANGLE
1F53D DOWN-POINTING SMALL RED TRIANGLE
+1F540 CIRCLED CROSS POMMEE
+1F541 CROSS POMMEE WITH HALF-CIRCLE BELOW
+1F542 CROSS POMMEE
+1F543 NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
1F550 CLOCK FACE ONE OCLOCK
1F551 CLOCK FACE TWO OCLOCK
1F552 CLOCK FACE THREE OCLOCK
@@ -22450,6 +22948,7 @@ return <<'END';
1F5FD STATUE OF LIBERTY
1F5FE SILHOUETTE OF JAPAN
1F5FF MOYAI
+1F600 GRINNING FACE
1F601 GRINNING FACE WITH SMILING EYES
1F602 FACE WITH TEARS OF JOY
1F603 SMILING FACE WITH OPEN MOUTH
@@ -22466,30 +22965,42 @@ return <<'END';
1F60E SMILING FACE WITH SUNGLASSES
1F60F SMIRKING FACE
1F610 NEUTRAL FACE
+1F611 EXPRESSIONLESS FACE
1F612 UNAMUSED FACE
1F613 FACE WITH COLD SWEAT
1F614 PENSIVE FACE
+1F615 CONFUSED FACE
1F616 CONFOUNDED FACE
+1F617 KISSING FACE
1F618 FACE THROWING A KISS
+1F619 KISSING FACE WITH SMILING EYES
1F61A KISSING FACE WITH CLOSED EYES
+1F61B FACE WITH STUCK-OUT TONGUE
1F61C FACE WITH STUCK-OUT TONGUE AND WINKING EYE
1F61D FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES
1F61E DISAPPOINTED FACE
+1F61F WORRIED FACE
1F620 ANGRY FACE
1F621 POUTING FACE
1F622 CRYING FACE
1F623 PERSEVERING FACE
1F624 FACE WITH LOOK OF TRIUMPH
1F625 DISAPPOINTED BUT RELIEVED FACE
+1F626 FROWNING FACE WITH OPEN MOUTH
+1F627 ANGUISHED FACE
1F628 FEARFUL FACE
1F629 WEARY FACE
1F62A SLEEPY FACE
1F62B TIRED FACE
+1F62C GRIMACING FACE
1F62D LOUDLY CRYING FACE
+1F62E FACE WITH OPEN MOUTH
+1F62F HUSHED FACE
1F630 FACE WITH OPEN MOUTH AND COLD SWEAT
1F631 FACE SCREAMING IN FEAR
1F632 ASTONISHED FACE
1F633 FLUSHED FACE
+1F634 SLEEPING FACE
1F635 DIZZY FACE
1F636 FACE WITHOUT MOUTH
1F637 FACE WITH MEDICAL MASK
@@ -22797,245 +23308,485 @@ E007D TAG RIGHT CURLY BRACKET
E007E TAG TILDE
E007F CANCEL TAG
E0100 VARIATION SELECTOR-17
+E0100 VS17
E0101 VARIATION SELECTOR-18
+E0101 VS18
E0102 VARIATION SELECTOR-19
+E0102 VS19
E0103 VARIATION SELECTOR-20
+E0103 VS20
E0104 VARIATION SELECTOR-21
+E0104 VS21
E0105 VARIATION SELECTOR-22
+E0105 VS22
E0106 VARIATION SELECTOR-23
+E0106 VS23
E0107 VARIATION SELECTOR-24
+E0107 VS24
E0108 VARIATION SELECTOR-25
+E0108 VS25
E0109 VARIATION SELECTOR-26
+E0109 VS26
E010A VARIATION SELECTOR-27
+E010A VS27
E010B VARIATION SELECTOR-28
+E010B VS28
E010C VARIATION SELECTOR-29
+E010C VS29
E010D VARIATION SELECTOR-30
+E010D VS30
E010E VARIATION SELECTOR-31
+E010E VS31
E010F VARIATION SELECTOR-32
+E010F VS32
E0110 VARIATION SELECTOR-33
+E0110 VS33
E0111 VARIATION SELECTOR-34
+E0111 VS34
E0112 VARIATION SELECTOR-35
+E0112 VS35
E0113 VARIATION SELECTOR-36
+E0113 VS36
E0114 VARIATION SELECTOR-37
+E0114 VS37
E0115 VARIATION SELECTOR-38
+E0115 VS38
E0116 VARIATION SELECTOR-39
+E0116 VS39
E0117 VARIATION SELECTOR-40
+E0117 VS40
E0118 VARIATION SELECTOR-41
+E0118 VS41
E0119 VARIATION SELECTOR-42
+E0119 VS42
E011A VARIATION SELECTOR-43
+E011A VS43
E011B VARIATION SELECTOR-44
+E011B VS44
E011C VARIATION SELECTOR-45
+E011C VS45
E011D VARIATION SELECTOR-46
+E011D VS46
E011E VARIATION SELECTOR-47
+E011E VS47
E011F VARIATION SELECTOR-48
+E011F VS48
E0120 VARIATION SELECTOR-49
+E0120 VS49
E0121 VARIATION SELECTOR-50
+E0121 VS50
E0122 VARIATION SELECTOR-51
+E0122 VS51
E0123 VARIATION SELECTOR-52
+E0123 VS52
E0124 VARIATION SELECTOR-53
+E0124 VS53
E0125 VARIATION SELECTOR-54
+E0125 VS54
E0126 VARIATION SELECTOR-55
+E0126 VS55
E0127 VARIATION SELECTOR-56
+E0127 VS56
E0128 VARIATION SELECTOR-57
+E0128 VS57
E0129 VARIATION SELECTOR-58
+E0129 VS58
E012A VARIATION SELECTOR-59
+E012A VS59
E012B VARIATION SELECTOR-60
+E012B VS60
E012C VARIATION SELECTOR-61
+E012C VS61
E012D VARIATION SELECTOR-62
+E012D VS62
E012E VARIATION SELECTOR-63
+E012E VS63
E012F VARIATION SELECTOR-64
+E012F VS64
E0130 VARIATION SELECTOR-65
+E0130 VS65
E0131 VARIATION SELECTOR-66
+E0131 VS66
E0132 VARIATION SELECTOR-67
+E0132 VS67
E0133 VARIATION SELECTOR-68
+E0133 VS68
E0134 VARIATION SELECTOR-69
+E0134 VS69
E0135 VARIATION SELECTOR-70
+E0135 VS70
E0136 VARIATION SELECTOR-71
+E0136 VS71
E0137 VARIATION SELECTOR-72
+E0137 VS72
E0138 VARIATION SELECTOR-73
+E0138 VS73
E0139 VARIATION SELECTOR-74
+E0139 VS74
E013A VARIATION SELECTOR-75
+E013A VS75
E013B VARIATION SELECTOR-76
+E013B VS76
E013C VARIATION SELECTOR-77
+E013C VS77
E013D VARIATION SELECTOR-78
+E013D VS78
E013E VARIATION SELECTOR-79
+E013E VS79
E013F VARIATION SELECTOR-80
+E013F VS80
E0140 VARIATION SELECTOR-81
+E0140 VS81
E0141 VARIATION SELECTOR-82
+E0141 VS82
E0142 VARIATION SELECTOR-83
+E0142 VS83
E0143 VARIATION SELECTOR-84
+E0143 VS84
E0144 VARIATION SELECTOR-85
+E0144 VS85
E0145 VARIATION SELECTOR-86
+E0145 VS86
E0146 VARIATION SELECTOR-87
+E0146 VS87
E0147 VARIATION SELECTOR-88
+E0147 VS88
E0148 VARIATION SELECTOR-89
+E0148 VS89
E0149 VARIATION SELECTOR-90
+E0149 VS90
E014A VARIATION SELECTOR-91
+E014A VS91
E014B VARIATION SELECTOR-92
+E014B VS92
E014C VARIATION SELECTOR-93
+E014C VS93
E014D VARIATION SELECTOR-94
+E014D VS94
E014E VARIATION SELECTOR-95
+E014E VS95
E014F VARIATION SELECTOR-96
+E014F VS96
E0150 VARIATION SELECTOR-97
+E0150 VS97
E0151 VARIATION SELECTOR-98
+E0151 VS98
E0152 VARIATION SELECTOR-99
+E0152 VS99
E0153 VARIATION SELECTOR-100
+E0153 VS100
E0154 VARIATION SELECTOR-101
+E0154 VS101
E0155 VARIATION SELECTOR-102
+E0155 VS102
E0156 VARIATION SELECTOR-103
+E0156 VS103
E0157 VARIATION SELECTOR-104
+E0157 VS104
E0158 VARIATION SELECTOR-105
+E0158 VS105
E0159 VARIATION SELECTOR-106
+E0159 VS106
E015A VARIATION SELECTOR-107
+E015A VS107
E015B VARIATION SELECTOR-108
+E015B VS108
E015C VARIATION SELECTOR-109
+E015C VS109
E015D VARIATION SELECTOR-110
+E015D VS110
E015E VARIATION SELECTOR-111
+E015E VS111
E015F VARIATION SELECTOR-112
+E015F VS112
E0160 VARIATION SELECTOR-113
+E0160 VS113
E0161 VARIATION SELECTOR-114
+E0161 VS114
E0162 VARIATION SELECTOR-115
+E0162 VS115
E0163 VARIATION SELECTOR-116
+E0163 VS116
E0164 VARIATION SELECTOR-117
+E0164 VS117
E0165 VARIATION SELECTOR-118
+E0165 VS118
E0166 VARIATION SELECTOR-119
+E0166 VS119
E0167 VARIATION SELECTOR-120
+E0167 VS120
E0168 VARIATION SELECTOR-121
+E0168 VS121
E0169 VARIATION SELECTOR-122
+E0169 VS122
E016A VARIATION SELECTOR-123
+E016A VS123
E016B VARIATION SELECTOR-124
+E016B VS124
E016C VARIATION SELECTOR-125
+E016C VS125
E016D VARIATION SELECTOR-126
+E016D VS126
E016E VARIATION SELECTOR-127
+E016E VS127
E016F VARIATION SELECTOR-128
+E016F VS128
E0170 VARIATION SELECTOR-129
+E0170 VS129
E0171 VARIATION SELECTOR-130
+E0171 VS130
E0172 VARIATION SELECTOR-131
+E0172 VS131
E0173 VARIATION SELECTOR-132
+E0173 VS132
E0174 VARIATION SELECTOR-133
+E0174 VS133
E0175 VARIATION SELECTOR-134
+E0175 VS134
E0176 VARIATION SELECTOR-135
+E0176 VS135
E0177 VARIATION SELECTOR-136
+E0177 VS136
E0178 VARIATION SELECTOR-137
+E0178 VS137
E0179 VARIATION SELECTOR-138
+E0179 VS138
E017A VARIATION SELECTOR-139
+E017A VS139
E017B VARIATION SELECTOR-140
+E017B VS140
E017C VARIATION SELECTOR-141
+E017C VS141
E017D VARIATION SELECTOR-142
+E017D VS142
E017E VARIATION SELECTOR-143
+E017E VS143
E017F VARIATION SELECTOR-144
+E017F VS144
E0180 VARIATION SELECTOR-145
+E0180 VS145
E0181 VARIATION SELECTOR-146
+E0181 VS146
E0182 VARIATION SELECTOR-147
+E0182 VS147
E0183 VARIATION SELECTOR-148
+E0183 VS148
E0184 VARIATION SELECTOR-149
+E0184 VS149
E0185 VARIATION SELECTOR-150
+E0185 VS150
E0186 VARIATION SELECTOR-151
+E0186 VS151
E0187 VARIATION SELECTOR-152
+E0187 VS152
E0188 VARIATION SELECTOR-153
+E0188 VS153
E0189 VARIATION SELECTOR-154
+E0189 VS154
E018A VARIATION SELECTOR-155
+E018A VS155
E018B VARIATION SELECTOR-156
+E018B VS156
E018C VARIATION SELECTOR-157
+E018C VS157
E018D VARIATION SELECTOR-158
+E018D VS158
E018E VARIATION SELECTOR-159
+E018E VS159
E018F VARIATION SELECTOR-160
+E018F VS160
E0190 VARIATION SELECTOR-161
+E0190 VS161
E0191 VARIATION SELECTOR-162
+E0191 VS162
E0192 VARIATION SELECTOR-163
+E0192 VS163
E0193 VARIATION SELECTOR-164
+E0193 VS164
E0194 VARIATION SELECTOR-165
+E0194 VS165
E0195 VARIATION SELECTOR-166
+E0195 VS166
E0196 VARIATION SELECTOR-167
+E0196 VS167
E0197 VARIATION SELECTOR-168
+E0197 VS168
E0198 VARIATION SELECTOR-169
+E0198 VS169
E0199 VARIATION SELECTOR-170
+E0199 VS170
E019A VARIATION SELECTOR-171
+E019A VS171
E019B VARIATION SELECTOR-172
+E019B VS172
E019C VARIATION SELECTOR-173
+E019C VS173
E019D VARIATION SELECTOR-174
+E019D VS174
E019E VARIATION SELECTOR-175
+E019E VS175
E019F VARIATION SELECTOR-176
+E019F VS176
E01A0 VARIATION SELECTOR-177
+E01A0 VS177
E01A1 VARIATION SELECTOR-178
+E01A1 VS178
E01A2 VARIATION SELECTOR-179
+E01A2 VS179
E01A3 VARIATION SELECTOR-180
+E01A3 VS180
E01A4 VARIATION SELECTOR-181
+E01A4 VS181
E01A5 VARIATION SELECTOR-182
+E01A5 VS182
E01A6 VARIATION SELECTOR-183
+E01A6 VS183
E01A7 VARIATION SELECTOR-184
+E01A7 VS184
E01A8 VARIATION SELECTOR-185
+E01A8 VS185
E01A9 VARIATION SELECTOR-186
+E01A9 VS186
E01AA VARIATION SELECTOR-187
+E01AA VS187
E01AB VARIATION SELECTOR-188
+E01AB VS188
E01AC VARIATION SELECTOR-189
+E01AC VS189
E01AD VARIATION SELECTOR-190
+E01AD VS190
E01AE VARIATION SELECTOR-191
+E01AE VS191
E01AF VARIATION SELECTOR-192
+E01AF VS192
E01B0 VARIATION SELECTOR-193
+E01B0 VS193
E01B1 VARIATION SELECTOR-194
+E01B1 VS194
E01B2 VARIATION SELECTOR-195
+E01B2 VS195
E01B3 VARIATION SELECTOR-196
+E01B3 VS196
E01B4 VARIATION SELECTOR-197
+E01B4 VS197
E01B5 VARIATION SELECTOR-198
+E01B5 VS198
E01B6 VARIATION SELECTOR-199
+E01B6 VS199
E01B7 VARIATION SELECTOR-200
+E01B7 VS200
E01B8 VARIATION SELECTOR-201
+E01B8 VS201
E01B9 VARIATION SELECTOR-202
+E01B9 VS202
E01BA VARIATION SELECTOR-203
+E01BA VS203
E01BB VARIATION SELECTOR-204
+E01BB VS204
E01BC VARIATION SELECTOR-205
+E01BC VS205
E01BD VARIATION SELECTOR-206
+E01BD VS206
E01BE VARIATION SELECTOR-207
+E01BE VS207
E01BF VARIATION SELECTOR-208
+E01BF VS208
E01C0 VARIATION SELECTOR-209
+E01C0 VS209
E01C1 VARIATION SELECTOR-210
+E01C1 VS210
E01C2 VARIATION SELECTOR-211
+E01C2 VS211
E01C3 VARIATION SELECTOR-212
+E01C3 VS212
E01C4 VARIATION SELECTOR-213
+E01C4 VS213
E01C5 VARIATION SELECTOR-214
+E01C5 VS214
E01C6 VARIATION SELECTOR-215
+E01C6 VS215
E01C7 VARIATION SELECTOR-216
+E01C7 VS216
E01C8 VARIATION SELECTOR-217
+E01C8 VS217
E01C9 VARIATION SELECTOR-218
+E01C9 VS218
E01CA VARIATION SELECTOR-219
+E01CA VS219
E01CB VARIATION SELECTOR-220
+E01CB VS220
E01CC VARIATION SELECTOR-221
+E01CC VS221
E01CD VARIATION SELECTOR-222
+E01CD VS222
E01CE VARIATION SELECTOR-223
+E01CE VS223
E01CF VARIATION SELECTOR-224
+E01CF VS224
E01D0 VARIATION SELECTOR-225
+E01D0 VS225
E01D1 VARIATION SELECTOR-226
+E01D1 VS226
E01D2 VARIATION SELECTOR-227
+E01D2 VS227
E01D3 VARIATION SELECTOR-228
+E01D3 VS228
E01D4 VARIATION SELECTOR-229
+E01D4 VS229
E01D5 VARIATION SELECTOR-230
+E01D5 VS230
E01D6 VARIATION SELECTOR-231
+E01D6 VS231
E01D7 VARIATION SELECTOR-232
+E01D7 VS232
E01D8 VARIATION SELECTOR-233
+E01D8 VS233
E01D9 VARIATION SELECTOR-234
+E01D9 VS234
E01DA VARIATION SELECTOR-235
+E01DA VS235
E01DB VARIATION SELECTOR-236
+E01DB VS236
E01DC VARIATION SELECTOR-237
+E01DC VS237
E01DD VARIATION SELECTOR-238
+E01DD VS238
E01DE VARIATION SELECTOR-239
+E01DE VS239
E01DF VARIATION SELECTOR-240
+E01DF VS240
E01E0 VARIATION SELECTOR-241
+E01E0 VS241
E01E1 VARIATION SELECTOR-242
+E01E1 VS242
E01E2 VARIATION SELECTOR-243
+E01E2 VS243
E01E3 VARIATION SELECTOR-244
+E01E3 VS244
E01E4 VARIATION SELECTOR-245
+E01E4 VS245
E01E5 VARIATION SELECTOR-246
+E01E5 VS246
E01E6 VARIATION SELECTOR-247
+E01E6 VS247
E01E7 VARIATION SELECTOR-248
+E01E7 VS248
E01E8 VARIATION SELECTOR-249
+E01E8 VS249
E01E9 VARIATION SELECTOR-250
+E01E9 VS250
E01EA VARIATION SELECTOR-251
+E01EA VS251
E01EB VARIATION SELECTOR-252
+E01EB VS252
E01EC VARIATION SELECTOR-253
+E01EC VS253
E01ED VARIATION SELECTOR-254
+E01ED VS254
E01EE VARIATION SELECTOR-255
+E01EE VS255
E01EF VARIATION SELECTOR-256
+E01EF VS256
0100 0300 LATIN CAPITAL LETTER A WITH MACRON AND GRAVE
0101 0300 LATIN SMALL LETTER A WITH MACRON AND GRAVE
0045 0329 LATIN CAPITAL LETTER E WITH VERTICAL LINE BELOW
@@ -23396,6 +24147,9 @@ E01EF VARIATION SELECTOR-256
0B95 0BCD 0BB7 0BCB TAMIL SYLLABLE KSSOO
0B95 0BCD 0BB7 0BCC TAMIL SYLLABLE KSSAU
0BB6 0BCD 0BB0 0BC0 TAMIL SYLLABLE SHRII
+0DCA 200D 0DBA SINHALA CONSONANT SIGN YANSAYA
+0DCA 200D 0DBB SINHALA CONSONANT SIGN RAKAARAANSAYA
+0DBB 0DCA 200D SINHALA CONSONANT SIGN REPAYA
10E3 0302 GEORGIAN LETTER U-BRJGU
17D2 1780 KHMER CONSONANT SIGN COENG KA
17D2 1781 KHMER CONSONANT SIGN COENG KHA
diff --git a/Master/tlpkg/tlperl/lib/unicore/Name.pm b/Master/tlpkg/tlperl/lib/unicore/Name.pm
new file mode 100644
index 00000000000..95db13e57c9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/Name.pm
@@ -0,0 +1,415 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+package charnames;
+
+# This module contains machine-generated tables and code for the
+# algorithmically-determinable Unicode character names. The following
+# routines can be used to translate between name and code point and vice versa
+
+{ # Closure
+
+ # Matches legal code point. 4-6 hex numbers, If there are 6, the first
+ # two must be 10; if there are 5, the first must not be a 0. Written this
+ # way to decrease backtracking. The first regex allows the code point to
+ # be at the end of a word, but to work properly, the word shouldn't end
+ # with a valid hex character. The second one won't match a code point at
+ # the end of a word, and doesn't have the run-on issue
+ my $run_on_code_point_re = qr/(?^aax: (?: 10[0-9A-F]{4} | [1-9A-F][0-9A-F]{4} | [0-9A-F]{4} ) \b)/;
+ my $code_point_re = qr/(?^aa:\b(?^aax: (?: 10[0-9A-F]{4} | [1-9A-F][0-9A-F]{4} | [0-9A-F]{4} ) \b))/;
+
+ # In the following hash, the keys are the bases of names which includes
+ # the code point in the name, like CJK UNIFIED IDEOGRAPH-4E01. The values
+ # of each key is another hash which is used to get the low and high ends
+ # for each range of code points that apply to the name.
+ my %names_ending_in_code_point = (
+'CJK COMPATIBILITY IDEOGRAPH' =>
+{
+'high' =>
+[
+64109,
+64217,
+195101,
+],
+'low' =>
+[
+63744,
+64112,
+194560,
+],
+},
+'CJK UNIFIED IDEOGRAPH' =>
+{
+'high' =>
+[
+19893,
+40908,
+173782,
+177972,
+178205,
+],
+'low' =>
+[
+13312,
+19968,
+131072,
+173824,
+177984,
+],
+},
+
+ );
+
+ # The following hash is a copy of the previous one, except is for loose
+ # matching, so each name has blanks and dashes squeezed out
+ my %loose_names_ending_in_code_point = (
+'CJKCOMPATIBILITYIDEOGRAPH' =>
+{
+'high' =>
+[
+64109,
+64217,
+195101,
+],
+'low' =>
+[
+63744,
+64112,
+194560,
+],
+},
+'CJKUNIFIEDIDEOGRAPH' =>
+{
+'high' =>
+[
+19893,
+40908,
+173782,
+177972,
+178205,
+],
+'low' =>
+[
+13312,
+19968,
+131072,
+173824,
+177984,
+],
+},
+
+ );
+
+ # And the following array gives the inverse mapping from code points to
+ # names. Lowest code points are first
+ my @code_points_ending_in_code_point = (
+
+{
+'high' => 19893,
+'low' => 13312,
+'name' => 'CJK UNIFIED IDEOGRAPH',
+},
+{
+'high' => 40908,
+'low' => 19968,
+'name' => 'CJK UNIFIED IDEOGRAPH',
+},
+{
+'high' => 64109,
+'low' => 63744,
+'name' => 'CJK COMPATIBILITY IDEOGRAPH',
+},
+{
+'high' => 64217,
+'low' => 64112,
+'name' => 'CJK COMPATIBILITY IDEOGRAPH',
+},
+{
+'high' => 173782,
+'low' => 131072,
+'name' => 'CJK UNIFIED IDEOGRAPH',
+},
+{
+'high' => 177972,
+'low' => 173824,
+'name' => 'CJK UNIFIED IDEOGRAPH',
+},
+{
+'high' => 178205,
+'low' => 177984,
+'name' => 'CJK UNIFIED IDEOGRAPH',
+},
+{
+'high' => 195101,
+'low' => 194560,
+'name' => 'CJK COMPATIBILITY IDEOGRAPH',
+},
+,
+
+ );
+
+ # Convert from code point to Jamo short name for use in composing Hangul
+ # syllable names
+ my %Jamo = (
+4352 => 'G',
+4353 => 'GG',
+4354 => 'N',
+4355 => 'D',
+4356 => 'DD',
+4357 => 'R',
+4358 => 'M',
+4359 => 'B',
+4360 => 'BB',
+4361 => 'S',
+4362 => 'SS',
+4363 => '',
+4364 => 'J',
+4365 => 'JJ',
+4366 => 'C',
+4367 => 'K',
+4368 => 'T',
+4369 => 'P',
+4370 => 'H',
+4449 => 'A',
+4450 => 'AE',
+4451 => 'YA',
+4452 => 'YAE',
+4453 => 'EO',
+4454 => 'E',
+4455 => 'YEO',
+4456 => 'YE',
+4457 => 'O',
+4458 => 'WA',
+4459 => 'WAE',
+4460 => 'OE',
+4461 => 'YO',
+4462 => 'U',
+4463 => 'WEO',
+4464 => 'WE',
+4465 => 'WI',
+4466 => 'YU',
+4467 => 'EU',
+4468 => 'YI',
+4469 => 'I',
+4520 => 'G',
+4521 => 'GG',
+4522 => 'GS',
+4523 => 'N',
+4524 => 'NJ',
+4525 => 'NH',
+4526 => 'D',
+4527 => 'L',
+4528 => 'LG',
+4529 => 'LM',
+4530 => 'LB',
+4531 => 'LS',
+4532 => 'LT',
+4533 => 'LP',
+4534 => 'LH',
+4535 => 'M',
+4536 => 'B',
+4537 => 'BS',
+4538 => 'S',
+4539 => 'SS',
+4540 => 'NG',
+4541 => 'J',
+4542 => 'C',
+4543 => 'K',
+4544 => 'T',
+4545 => 'P',
+4546 => 'H',
+
+ );
+
+ # Leading consonant (can be null)
+ my %Jamo_L = (
+'' => 11,
+'B' => 7,
+'BB' => 8,
+'C' => 14,
+'D' => 3,
+'DD' => 4,
+'G' => 0,
+'GG' => 1,
+'H' => 18,
+'J' => 12,
+'JJ' => 13,
+'K' => 15,
+'M' => 6,
+'N' => 2,
+'P' => 17,
+'R' => 5,
+'S' => 9,
+'SS' => 10,
+'T' => 16,
+
+ );
+
+ # Vowel
+ my %Jamo_V = (
+'A' => 0,
+'AE' => 1,
+'E' => 5,
+'EO' => 4,
+'EU' => 18,
+'I' => 20,
+'O' => 8,
+'OE' => 11,
+'U' => 13,
+'WA' => 9,
+'WAE' => 10,
+'WE' => 15,
+'WEO' => 14,
+'WI' => 16,
+'YA' => 2,
+'YAE' => 3,
+'YE' => 7,
+'YEO' => 6,
+'YI' => 19,
+'YO' => 12,
+'YU' => 17,
+
+ );
+
+ # Optional trailing consonant
+ my %Jamo_T = (
+'B' => 17,
+'BS' => 18,
+'C' => 23,
+'D' => 7,
+'G' => 1,
+'GG' => 2,
+'GS' => 3,
+'H' => 27,
+'J' => 22,
+'K' => 24,
+'L' => 8,
+'LB' => 11,
+'LG' => 9,
+'LH' => 15,
+'LM' => 10,
+'LP' => 14,
+'LS' => 12,
+'LT' => 13,
+'M' => 16,
+'N' => 4,
+'NG' => 21,
+'NH' => 6,
+'NJ' => 5,
+'P' => 26,
+'S' => 19,
+'SS' => 20,
+'T' => 25,
+
+ );
+
+ # Computed re that splits up a Hangul name into LVT or LV syllables
+ my $syllable_re = qr/(|B|BB|C|D|DD|G|GG|H|J|JJ|K|M|N|P|R|S|SS|T)(A|AE|E|EO|EU|I|O|OE|U|WA|WAE|WE|WEO|WI|YA|YAE|YE|YEO|YI|YO|YU)(B|BS|C|D|G|GG|GS|H|J|K|L|LB|LG|LH|LM|LP|LS|LT|M|N|NG|NH|NJ|P|S|SS|T)?/;
+
+ my $HANGUL_SYLLABLE = "HANGUL SYLLABLE ";
+ my $loose_HANGUL_SYLLABLE = "HANGULSYLLABLE";
+
+ # These constants names and values were taken from the Unicode standard,
+ # version 5.1, section 3.12. They are used in conjunction with Hangul
+ # syllables
+ my $SBase = 0xAC00;
+ my $LBase = 0x1100;
+ my $VBase = 0x1161;
+ my $TBase = 0x11A7;
+ my $SCount = 11172;
+ my $LCount = 19;
+ my $VCount = 21;
+ my $TCount = 28;
+ my $NCount = $VCount * $TCount;
+
+ sub name_to_code_point_special {
+ my ($name, $loose) = @_;
+
+ # Returns undef if not one of the specially handled names; otherwise
+ # returns the code point equivalent to the input name
+ # $loose is non-zero if to use loose matching, 'name' in that case
+ # must be input as upper case with all blanks and dashes squeezed out.
+
+ if ((! $loose && $name =~ s/$HANGUL_SYLLABLE//)
+ || ($loose && $name =~ s/$loose_HANGUL_SYLLABLE//))
+ {
+ return if $name !~ qr/^$syllable_re$/;
+ my $L = $Jamo_L{$1};
+ my $V = $Jamo_V{$2};
+ my $T = (defined $3) ? $Jamo_T{$3} : 0;
+ return ($L * $VCount + $V) * $TCount + $T + $SBase;
+ }
+
+ # Name must end in 'code_point' for this to handle.
+ return if (($loose && $name !~ /^ (.*?) ($run_on_code_point_re) $/x)
+ || (! $loose && $name !~ /^ (.*) ($code_point_re) $/x));
+
+ my $base = $1;
+ my $code_point = CORE::hex $2;
+ my $names_ref;
+
+ if ($loose) {
+ $names_ref = \%loose_names_ending_in_code_point;
+ }
+ else {
+ return if $base !~ s/-$//;
+ $names_ref = \%names_ending_in_code_point;
+ }
+
+ # Name must be one of the ones which has the code point in it.
+ return if ! $names_ref->{$base};
+
+ # Look through the list of ranges that apply to this name to see if
+ # the code point is in one of them.
+ for (my $i = 0; $i < scalar @{$names_ref->{$base}{'low'}}; $i++) {
+ return if $names_ref->{$base}{'low'}->[$i] > $code_point;
+ next if $names_ref->{$base}{'high'}->[$i] < $code_point;
+
+ # Here, the code point is in the range.
+ return $code_point;
+ }
+
+ # Here, looked like the name had a code point number in it, but
+ # did not match one of the valid ones.
+ return;
+ }
+
+ sub code_point_to_name_special {
+ my $code_point = shift;
+
+ # Returns the name of a code point if algorithmically determinable;
+ # undef if not
+
+ # If in the Hangul range, calculate the name based on Unicode's
+ # algorithm
+ if ($code_point >= $SBase && $code_point <= $SBase + $SCount -1) {
+ use integer;
+ my $SIndex = $code_point - $SBase;
+ my $L = $LBase + $SIndex / $NCount;
+ my $V = $VBase + ($SIndex % $NCount) / $TCount;
+ my $T = $TBase + $SIndex % $TCount;
+ $name = "$HANGUL_SYLLABLE$Jamo{$L}$Jamo{$V}";
+ $name .= $Jamo{$T} if $T != $TBase;
+ return $name;
+ }
+
+ # Look through list of these code points for one in range.
+ foreach my $hash (@code_points_ending_in_code_point) {
+ return if $code_point < $hash->{'low'};
+ if ($code_point <= $hash->{'high'}) {
+ return sprintf("%s-%04X", $hash->{'name'}, $code_point);
+ }
+ }
+ return; # None found
+ }
+} # End closure
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/unicore/NamedSequences.txt b/Master/tlpkg/tlperl/lib/unicore/NamedSequences.txt
index 0c270410dfb..e14c39505b1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/NamedSequences.txt
+++ b/Master/tlpkg/tlperl/lib/unicore/NamedSequences.txt
@@ -1,8 +1,8 @@
-# NamedSequences-6.0.0.txt
-# Date: 2010-05-18, 10:48:00 PDT [KW]
+# NamedSequences-6.1.0.txt
+# Date: 2011-07-26, 19:47:00 GMT [KW]
#
# Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2011 Unicode, Inc.
# For terms of use, see http://www.unicode.org/terms_of_use.html
# For documentation, see http://www.unicode.org/reports/tr44/
#
@@ -431,6 +431,13 @@ TAMIL SYLLABLE KSSAU; 0B95 0BCD 0BB7 0BCC
TAMIL SYLLABLE SHRII; 0BB6 0BCD 0BB0 0BC0
+# Sinhala medial consonants and "reph" form
+# Provisional 2010-05-13, Approved 2011-08-05
+
+SINHALA CONSONANT SIGN YANSAYA;0DCA 200D 0DBA
+SINHALA CONSONANT SIGN RAKAARAANSAYA;0DCA 200D 0DBB
+SINHALA CONSONANT SIGN REPAYA;0DBB 0DCA 200D
+
GEORGIAN LETTER U-BRJGU;10E3 0302
KHMER CONSONANT SIGN COENG KA;17D2 1780
KHMER CONSONANT SIGN COENG KHA;17D2 1781
diff --git a/Master/tlpkg/tlperl/lib/unicore/SpecialCasing.txt b/Master/tlpkg/tlperl/lib/unicore/SpecialCasing.txt
index 62a0ec9f3a5..d650b6d9dcd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/SpecialCasing.txt
+++ b/Master/tlpkg/tlperl/lib/unicore/SpecialCasing.txt
@@ -1,8 +1,8 @@
-# SpecialCasing-6.0.0.txt
-# Date: 2010-05-18, 00:49:39 GMT [MD]
+# SpecialCasing-6.1.0.txt
+# Date: 2011-11-27, 05:10:51 GMT [MD]
#
# Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2011 Unicode, Inc.
# For terms of use, see http://www.unicode.org/terms_of_use.html
# For documentation, see http://www.unicode.org/reports/tr44/
#
@@ -47,7 +47,9 @@
# * Additional contexts
# * Additional fields
# ================================================================================
-# @missing 0000..10FFFF; <slc>; <stc>; <suc>
+
+# @missing: 0000..10FFFF; <slc>; <stc>; <suc>;
+
# ================================================================================
# Unconditional mappings
# ================================================================================
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Age.pl b/Master/tlpkg/tlperl/lib/unicore/To/Age.pl
index 543b93c1d15..9f46c6ecdd3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Age.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Age.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
# The name this swash is to be known by, with the format of the mappings in
@@ -104,6 +105,7 @@ return <<'END';
0561 0587 1.1
0589 1.1
058A 3.0
+058F 6.1
0591 05A1 2.0
05A2 4.1
05A3 05AF 2.0
@@ -115,6 +117,7 @@ return <<'END';
05D0 05EA 1.1
05F0 05F4 1.1
0600 0603 4.0
+0604 6.1
0606 060A 5.1
060B 4.1
060C 1.1
@@ -158,6 +161,9 @@ return <<'END';
0830 083E 5.2
0840 085B 6.0
085E 6.0
+08A0 6.1
+08A2 08AC 6.1
+08E4 08FE 6.1
0900 5.2
0901 0903 1.1
0904 4.0
@@ -229,6 +235,7 @@ return <<'END';
0AE0 1.1
0AE1 0AE3 4.0
0AE6 0AEF 1.1
+0AF0 6.1
0AF1 4.0
0B01 0B03 1.1
0B05 0B0C 1.1
@@ -351,6 +358,7 @@ return <<'END';
0EC8 0ECD 1.1
0ED0 0ED9 1.1
0EDC 0EDD 1.1
+0EDE 0EDF 6.1
0F00 0F47 2.0
0F49 0F69 2.0
0F6A 3.0
@@ -388,11 +396,14 @@ return <<'END';
109A 109D 5.2
109E 109F 5.1
10A0 10C5 1.1
+10C7 6.1
+10CD 6.1
10D0 10F6 1.1
10F7 10F8 3.2
10F9 10FA 4.1
10FB 1.1
10FC 4.1
+10FD 10FF 6.1
1100 1159 1.1
115A 115E 5.2
115F 11A2 1.1
@@ -483,13 +494,17 @@ return <<'END';
1B00 1B4B 5.0
1B50 1B7C 5.0
1B80 1BAA 5.1
+1BAB 1BAD 6.1
1BAE 1BB9 5.1
+1BBA 1BBF 6.1
1BC0 1BF3 6.0
1BFC 1BFF 6.0
1C00 1C37 5.1
1C3B 1C49 5.1
1C4D 1C7F 5.1
+1CC0 1CC7 6.1
1CD0 1CF2 5.2
+1CF3 1CF6 6.1
1D00 1D6B 4.0
1D6C 1DC3 4.1
1DC4 1DCA 5.0
@@ -644,7 +659,9 @@ return <<'END';
27BF 6.0
27C0 27C6 4.1
27C7 27CA 5.0
+27CB 6.1
27CC 5.1
+27CD 6.1
27CE 27CF 6.0
27D0 27EB 3.2
27EC 27EF 5.1
@@ -670,8 +687,12 @@ return <<'END';
2C7E 2C7F 5.2
2C80 2CEA 4.1
2CEB 2CF1 5.2
+2CF2 2CF3 6.1
2CF9 2D25 4.1
+2D27 6.1
+2D2D 6.1
2D30 2D65 4.1
+2D66 2D67 6.1
2D6F 4.1
2D70 6.0
2D7F 6.0
@@ -690,6 +711,7 @@ return <<'END';
2E1C 2E1D 4.1
2E1E 2E30 5.1
2E31 5.2
+2E32 2E3B 6.1
2E80 2E99 3.0
2E9B 2EF3 3.0
2F00 2FD5 3.0
@@ -740,6 +762,7 @@ return <<'END';
9FA6 9FBB 4.1
9FBC 9FC3 5.1
9FC4 9FCB 5.2
+9FCC 6.1
A000 A48C 3.0
A490 A4A1 3.0
A4A2 A4A3 3.2
@@ -755,7 +778,9 @@ A500 A62B 5.1
A640 A65F 5.1
A660 A661 6.0
A662 A673 5.1
+A674 A67B 6.1
A67C A697 5.1
+A69F 6.1
A6A0 A6F7 5.2
A700 A716 4.1
A717 A71A 5.0
@@ -764,7 +789,10 @@ A720 A721 5.0
A722 A78C 5.1
A78D A78E 6.0
A790 A791 6.0
+A792 A793 6.1
A7A0 A7A9 6.0
+A7AA 6.1
+A7F8 A7F9 6.1
A7FA 6.0
A7FB A7FF 5.1
A800 A82B 4.1
@@ -786,6 +814,7 @@ AA5C AA5F 5.1
AA60 AA7B 5.2
AA80 AAC2 5.2
AADB AADF 5.2
+AAE0 AAF6 6.1
AB01 AB06 6.0
AB09 AB0E 6.0
AB11 AB16 6.0
@@ -798,6 +827,7 @@ D7B0 D7C6 5.2
D7CB D7FB 5.2
D800 DFFF 2.0
E000 FA2D 1.1
+FA2E FA2F 6.1
FA30 FA6A 3.2
FA6B FA6D 5.2
FA70 FAD9 4.1
@@ -885,6 +915,8 @@ FFFD FFFF 1.1
1091F 5.0
10920 10939 5.1
1093F 5.1
+10980 109B7 6.1
+109BE 109BF 6.1
10A00 10A03 4.1
10A05 10A06 4.1
10A0C 10A13 4.1
@@ -903,11 +935,22 @@ FFFD FFFF 1.1
11000 1104D 6.0
11052 1106F 6.0
11080 110C1 5.2
+110D0 110E8 6.1
+110F0 110F9 6.1
+11100 11134 6.1
+11136 11143 6.1
+11180 111C8 6.1
+111D0 111D9 6.1
+11680 116B7 6.1
+116C0 116C9 6.1
12000 1236E 5.0
12400 12462 5.0
12470 12473 5.0
13000 1342E 5.2
16800 16A38 6.0
+16F00 16F44 6.1
+16F50 16F7E 6.1
+16F8F 16F9F 6.1
1B000 1B001 6.0
1D000 1D0F5 3.1
1D100 1D126 3.1
@@ -941,6 +984,40 @@ FFFD FFFF 1.1
1D6A8 1D7C9 3.1
1D7CA 1D7CB 5.0
1D7CE 1D7FF 3.1
+1EE00 1EE03 6.1
+1EE05 1EE1F 6.1
+1EE21 1EE22 6.1
+1EE24 6.1
+1EE27 6.1
+1EE29 1EE32 6.1
+1EE34 1EE37 6.1
+1EE39 6.1
+1EE3B 6.1
+1EE42 6.1
+1EE47 6.1
+1EE49 6.1
+1EE4B 6.1
+1EE4D 1EE4F 6.1
+1EE51 1EE52 6.1
+1EE54 6.1
+1EE57 6.1
+1EE59 6.1
+1EE5B 6.1
+1EE5D 6.1
+1EE5F 6.1
+1EE61 1EE62 6.1
+1EE64 6.1
+1EE67 1EE6A 6.1
+1EE6C 1EE72 6.1
+1EE74 1EE77 6.1
+1EE79 1EE7C 6.1
+1EE7E 6.1
+1EE80 1EE89 6.1
+1EE8B 1EE9B 6.1
+1EEA1 1EEA3 6.1
+1EEA5 1EEA9 6.1
+1EEAB 1EEBB 6.1
+1EEF0 1EEF1 6.1
1F000 1F02B 5.1
1F030 1F093 5.1
1F0A0 1F0AE 6.0
@@ -966,6 +1043,7 @@ FFFD FFFF 1.1
1F158 1F15E 6.0
1F15F 5.2
1F160 1F169 6.0
+1F16A 1F16B 6.1
1F170 1F178 6.0
1F179 5.2
1F17A 6.0
@@ -996,18 +1074,30 @@ FFFD FFFF 1.1
1F442 1F4F7 6.0
1F4F9 1F4FC 6.0
1F500 1F53D 6.0
+1F540 1F543 6.1
1F550 1F567 6.0
1F5FB 1F5FF 6.0
+1F600 6.1
1F601 1F610 6.0
+1F611 6.1
1F612 1F614 6.0
+1F615 6.1
1F616 6.0
+1F617 6.1
1F618 6.0
+1F619 6.1
1F61A 6.0
+1F61B 6.1
1F61C 1F61E 6.0
+1F61F 6.1
1F620 1F625 6.0
+1F626 1F627 6.1
1F628 1F62B 6.0
+1F62C 6.1
1F62D 6.0
+1F62E 1F62F 6.1
1F630 1F633 6.0
+1F634 6.1
1F635 1F640 6.0
1F645 1F64F 6.0
1F680 1F6C5 6.0
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Bc.pl b/Master/tlpkg/tlperl/lib/unicore/To/Bc.pl
index dbd1a2f0abf..4f6e5b1324b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Bc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Bc.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
# The name this swash is to be known by, with the format of the mappings in
@@ -68,6 +69,7 @@ return <<'END';
03F6 ON
0483 0489 NSM
058A ON
+058F ET
0590 R
0591 05BD NSM
05BE R
@@ -79,8 +81,8 @@ return <<'END';
05C6 R
05C7 NSM
05C8 05FF R
-0600 0603 AN
-0604 0605 AL
+0600 0604 AN
+0605 AL
0606 0607 ON
0608 AL
0609 060A ET
@@ -128,7 +130,10 @@ return <<'END';
0829 082D NSM
082E 0858 R
0859 085B NSM
-085C 08FF R
+085C 089F R
+08A0 08E3 AL
+08E4 08FE NSM
+08FF AL
0900 0902 NSM
093A NSM
093C NSM
@@ -225,6 +230,7 @@ return <<'END';
1732 1734 NSM
1752 1753 NSM
1772 1773 NSM
+17B4 17B5 NSM
17B7 17BD NSM
17C6 NSM
17C9 17D3 NSM
@@ -259,6 +265,7 @@ return <<'END';
1B80 1B81 NSM
1BA2 1BA5 NSM
1BA8 1BA9 NSM
+1BAB NSM
1BE6 NSM
1BE8 1BE9 NSM
1BED NSM
@@ -269,6 +276,7 @@ return <<'END';
1CD4 1CE0 NSM
1CE2 1CE8 NSM
1CED NSM
+1CF4 NSM
1DC0 1DE6 NSM
1DFC 1DFF NSM
1FBD ON
@@ -331,9 +339,7 @@ return <<'END';
2488 249B EN
24EA 26AB ON
26AD 26FF ON
-2701 27CA ON
-27CC ON
-27CE 27FF ON
+2701 27FF ON
2900 2B4C ON
2B50 2B59 ON
2CE5 2CEA ON
@@ -341,7 +347,7 @@ return <<'END';
2CF9 2CFF ON
2D7F NSM
2DE0 2DFF NSM
-2E00 2E31 ON
+2E00 2E3B ON
2E80 2E99 ON
2E9B 2EF3 ON
2F00 2FD5 ON
@@ -349,7 +355,7 @@ return <<'END';
3000 WS
3001 3004 ON
3008 3020 ON
-302A 302F NSM
+302A 302D NSM
3030 ON
3036 3037 ON
303D 303F ON
@@ -371,8 +377,9 @@ A490 A4C6 ON
A60D A60F ON
A66F A672 NSM
A673 ON
-A67C A67D NSM
+A674 A67D NSM
A67E A67F ON
+A69F NSM
A6F0 A6F1 NSM
A700 A721 ON
A788 ON
@@ -401,6 +408,8 @@ AAB2 AAB4 NSM
AAB7 AAB8 NSM
AABE AABF NSM
AAC1 NSM
+AAEC AAED NSM
+AAF6 NSM
ABE5 NSM
ABE8 NSM
ABED NSM
@@ -481,6 +490,16 @@ FFFE FFFF BN
11080 11081 NSM
110B3 110B6 NSM
110B9 110BA NSM
+11100 11102 NSM
+11127 1112B NSM
+1112D 11134 NSM
+11180 11181 NSM
+111B6 111BE NSM
+116AB NSM
+116AD NSM
+116B0 116B5 NSM
+116B7 NSM
+16F8F 16F92 NSM
1D167 1D169 NSM
1D173 1D17A BN
1D17B 1D182 NSM
@@ -496,7 +515,11 @@ FFFE FFFF BN
1D789 ON
1D7C3 ON
1D7CE 1D7FF EN
-1E800 1EFFF R
+1E800 1EDFF R
+1EE00 1EEEF AL
+1EEF0 1EEF1 ON
+1EEF2 1EEFF AL
+1EF00 1EFFF R
1F000 1F02B ON
1F030 1F093 ON
1F0A0 1F0AE ON
@@ -504,6 +527,7 @@ FFFE FFFF BN
1F0C1 1F0CF ON
1F0D1 1F0DF ON
1F100 1F10A EN
+1F16A 1F16B ON
1F300 1F320 ON
1F330 1F335 ON
1F337 1F37C ON
@@ -513,24 +537,12 @@ FFFE FFFF BN
1F3E0 1F3F0 ON
1F400 1F43E ON
1F440 ON
-1F442 1F48B ON
-1F48D 1F4F7 ON
+1F442 1F4F7 ON
1F4F9 1F4FC ON
-1F500 1F523 ON
-1F525 1F53D ON
+1F500 1F53D ON
+1F540 1F543 ON
1F550 1F567 ON
-1F5FB 1F5FF ON
-1F601 1F610 ON
-1F612 1F614 ON
-1F616 ON
-1F618 ON
-1F61A ON
-1F61C 1F61E ON
-1F620 1F625 ON
-1F628 1F62B ON
-1F62D ON
-1F630 1F633 ON
-1F635 1F640 ON
+1F5FB 1F640 ON
1F645 1F64F ON
1F680 1F6C5 ON
1F700 1F773 ON
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Bmg.pl b/Master/tlpkg/tlperl/lib/unicore/To/Bmg.pl
index efe0c8c6cfd..d6e8754bc70 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Bmg.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Bmg.pl
@@ -1,12 +1,22 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! IT IS DEPRECATED TO USE THIS FILE !!!!!!!
+
+# This file is for internal use by core Perl only. It is retained for
+# backwards compatibility with applications that may have come to rely on it,
+# but its format and even its name or existence are subject to change without
+# notice in a future Perl version. Don't use it directly. Instead, its
+# contents are now retrievable through a stable API in the Unicode::UCD
+# module: Unicode::UCD::prop_invmap('Bidi_Mirroring_Glyph').
+
# The name this swash is to be known by, with the format of the mappings in
# the main body of the table, and what all code points missing from this file
# map to.
-$utf8::SwashInfo{'ToBmg'}{'format'} = 'x'; # positive hex whole number; a code point
+$utf8::SwashInfo{'ToBmg'}{'format'} = 'x'; # non-negative hex whole number; a code point
$utf8::SwashInfo{'ToBmg'}{'missing'} = ''; # code point maps to the null string
return <<'END';
@@ -174,6 +184,8 @@ return <<'END';
27C6 27C5
27C8 27C9
27C9 27C8
+27CB 27CD
+27CD 27CB
27D5 27D6
27D6 27D5
27DD 27DE
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Cf.pl b/Master/tlpkg/tlperl/lib/unicore/To/Cf.pl
new file mode 100644
index 00000000000..7083705fd17
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Cf.pl
@@ -0,0 +1,767 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+# The mappings in the non-hash portion of this file must be modified to get the
+# correct values by adding the code point ordinal number to each one that is
+# numeric.
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToCf'}{'format'} = 'a'; # some entries need adjustment
+$utf8::SwashInfo{'ToCf'}{'specials_name'} = 'utf8::ToSpecCf'; # Name of hash of special mappings
+$utf8::SwashInfo{'ToCf'}{'missing'} = '0'; # code point maps to itself
+
+# Some code points require special handling because their mappings are each to
+# multiple code points. These do not appear in the main body, but are defined
+# in the hash below.
+
+# Each key is the string of N bytes that together make up the UTF-8 encoding
+# for the code point. (i.e. the same as looking at the code point's UTF-8
+# under "use bytes"). Each value is the UTF-8 of the translation, for speed.
+%utf8::ToSpecCf = (
+"\xC3\x9F" => "\x{0073}\x{0073}", # U+00DF => 0073 0073
+"\xC4\xB0" => "\x{0069}\x{0307}", # U+0130 => 0069 0307
+"\xC5\x89" => "\x{02BC}\x{006E}", # U+0149 => 02BC 006E
+"\xC7\xB0" => "\x{006A}\x{030C}", # U+01F0 => 006A 030C
+"\xCE\x90" => "\x{03B9}\x{0308}\x{0301}", # U+0390 => 03B9 0308 0301
+"\xCE\xB0" => "\x{03C5}\x{0308}\x{0301}", # U+03B0 => 03C5 0308 0301
+"\xD6\x87" => "\x{0565}\x{0582}", # U+0587 => 0565 0582
+"\xE1\xBA\x96" => "\x{0068}\x{0331}", # U+1E96 => 0068 0331
+"\xE1\xBA\x97" => "\x{0074}\x{0308}", # U+1E97 => 0074 0308
+"\xE1\xBA\x98" => "\x{0077}\x{030A}", # U+1E98 => 0077 030A
+"\xE1\xBA\x99" => "\x{0079}\x{030A}", # U+1E99 => 0079 030A
+"\xE1\xBA\x9A" => "\x{0061}\x{02BE}", # U+1E9A => 0061 02BE
+"\xE1\xBA\x9E" => "\x{0073}\x{0073}", # U+1E9E => 0073 0073
+"\xE1\xBD\x90" => "\x{03C5}\x{0313}", # U+1F50 => 03C5 0313
+"\xE1\xBD\x92" => "\x{03C5}\x{0313}\x{0300}", # U+1F52 => 03C5 0313 0300
+"\xE1\xBD\x94" => "\x{03C5}\x{0313}\x{0301}", # U+1F54 => 03C5 0313 0301
+"\xE1\xBD\x96" => "\x{03C5}\x{0313}\x{0342}", # U+1F56 => 03C5 0313 0342
+"\xE1\xBE\x80" => "\x{1F00}\x{03B9}", # U+1F80 => 1F00 03B9
+"\xE1\xBE\x81" => "\x{1F01}\x{03B9}", # U+1F81 => 1F01 03B9
+"\xE1\xBE\x82" => "\x{1F02}\x{03B9}", # U+1F82 => 1F02 03B9
+"\xE1\xBE\x83" => "\x{1F03}\x{03B9}", # U+1F83 => 1F03 03B9
+"\xE1\xBE\x84" => "\x{1F04}\x{03B9}", # U+1F84 => 1F04 03B9
+"\xE1\xBE\x85" => "\x{1F05}\x{03B9}", # U+1F85 => 1F05 03B9
+"\xE1\xBE\x86" => "\x{1F06}\x{03B9}", # U+1F86 => 1F06 03B9
+"\xE1\xBE\x87" => "\x{1F07}\x{03B9}", # U+1F87 => 1F07 03B9
+"\xE1\xBE\x88" => "\x{1F00}\x{03B9}", # U+1F88 => 1F00 03B9
+"\xE1\xBE\x89" => "\x{1F01}\x{03B9}", # U+1F89 => 1F01 03B9
+"\xE1\xBE\x8A" => "\x{1F02}\x{03B9}", # U+1F8A => 1F02 03B9
+"\xE1\xBE\x8B" => "\x{1F03}\x{03B9}", # U+1F8B => 1F03 03B9
+"\xE1\xBE\x8C" => "\x{1F04}\x{03B9}", # U+1F8C => 1F04 03B9
+"\xE1\xBE\x8D" => "\x{1F05}\x{03B9}", # U+1F8D => 1F05 03B9
+"\xE1\xBE\x8E" => "\x{1F06}\x{03B9}", # U+1F8E => 1F06 03B9
+"\xE1\xBE\x8F" => "\x{1F07}\x{03B9}", # U+1F8F => 1F07 03B9
+"\xE1\xBE\x90" => "\x{1F20}\x{03B9}", # U+1F90 => 1F20 03B9
+"\xE1\xBE\x91" => "\x{1F21}\x{03B9}", # U+1F91 => 1F21 03B9
+"\xE1\xBE\x92" => "\x{1F22}\x{03B9}", # U+1F92 => 1F22 03B9
+"\xE1\xBE\x93" => "\x{1F23}\x{03B9}", # U+1F93 => 1F23 03B9
+"\xE1\xBE\x94" => "\x{1F24}\x{03B9}", # U+1F94 => 1F24 03B9
+"\xE1\xBE\x95" => "\x{1F25}\x{03B9}", # U+1F95 => 1F25 03B9
+"\xE1\xBE\x96" => "\x{1F26}\x{03B9}", # U+1F96 => 1F26 03B9
+"\xE1\xBE\x97" => "\x{1F27}\x{03B9}", # U+1F97 => 1F27 03B9
+"\xE1\xBE\x98" => "\x{1F20}\x{03B9}", # U+1F98 => 1F20 03B9
+"\xE1\xBE\x99" => "\x{1F21}\x{03B9}", # U+1F99 => 1F21 03B9
+"\xE1\xBE\x9A" => "\x{1F22}\x{03B9}", # U+1F9A => 1F22 03B9
+"\xE1\xBE\x9B" => "\x{1F23}\x{03B9}", # U+1F9B => 1F23 03B9
+"\xE1\xBE\x9C" => "\x{1F24}\x{03B9}", # U+1F9C => 1F24 03B9
+"\xE1\xBE\x9D" => "\x{1F25}\x{03B9}", # U+1F9D => 1F25 03B9
+"\xE1\xBE\x9E" => "\x{1F26}\x{03B9}", # U+1F9E => 1F26 03B9
+"\xE1\xBE\x9F" => "\x{1F27}\x{03B9}", # U+1F9F => 1F27 03B9
+"\xE1\xBE\xA0" => "\x{1F60}\x{03B9}", # U+1FA0 => 1F60 03B9
+"\xE1\xBE\xA1" => "\x{1F61}\x{03B9}", # U+1FA1 => 1F61 03B9
+"\xE1\xBE\xA2" => "\x{1F62}\x{03B9}", # U+1FA2 => 1F62 03B9
+"\xE1\xBE\xA3" => "\x{1F63}\x{03B9}", # U+1FA3 => 1F63 03B9
+"\xE1\xBE\xA4" => "\x{1F64}\x{03B9}", # U+1FA4 => 1F64 03B9
+"\xE1\xBE\xA5" => "\x{1F65}\x{03B9}", # U+1FA5 => 1F65 03B9
+"\xE1\xBE\xA6" => "\x{1F66}\x{03B9}", # U+1FA6 => 1F66 03B9
+"\xE1\xBE\xA7" => "\x{1F67}\x{03B9}", # U+1FA7 => 1F67 03B9
+"\xE1\xBE\xA8" => "\x{1F60}\x{03B9}", # U+1FA8 => 1F60 03B9
+"\xE1\xBE\xA9" => "\x{1F61}\x{03B9}", # U+1FA9 => 1F61 03B9
+"\xE1\xBE\xAA" => "\x{1F62}\x{03B9}", # U+1FAA => 1F62 03B9
+"\xE1\xBE\xAB" => "\x{1F63}\x{03B9}", # U+1FAB => 1F63 03B9
+"\xE1\xBE\xAC" => "\x{1F64}\x{03B9}", # U+1FAC => 1F64 03B9
+"\xE1\xBE\xAD" => "\x{1F65}\x{03B9}", # U+1FAD => 1F65 03B9
+"\xE1\xBE\xAE" => "\x{1F66}\x{03B9}", # U+1FAE => 1F66 03B9
+"\xE1\xBE\xAF" => "\x{1F67}\x{03B9}", # U+1FAF => 1F67 03B9
+"\xE1\xBE\xB2" => "\x{1F70}\x{03B9}", # U+1FB2 => 1F70 03B9
+"\xE1\xBE\xB3" => "\x{03B1}\x{03B9}", # U+1FB3 => 03B1 03B9
+"\xE1\xBE\xB4" => "\x{03AC}\x{03B9}", # U+1FB4 => 03AC 03B9
+"\xE1\xBE\xB6" => "\x{03B1}\x{0342}", # U+1FB6 => 03B1 0342
+"\xE1\xBE\xB7" => "\x{03B1}\x{0342}\x{03B9}", # U+1FB7 => 03B1 0342 03B9
+"\xE1\xBE\xBC" => "\x{03B1}\x{03B9}", # U+1FBC => 03B1 03B9
+"\xE1\xBF\x82" => "\x{1F74}\x{03B9}", # U+1FC2 => 1F74 03B9
+"\xE1\xBF\x83" => "\x{03B7}\x{03B9}", # U+1FC3 => 03B7 03B9
+"\xE1\xBF\x84" => "\x{03AE}\x{03B9}", # U+1FC4 => 03AE 03B9
+"\xE1\xBF\x86" => "\x{03B7}\x{0342}", # U+1FC6 => 03B7 0342
+"\xE1\xBF\x87" => "\x{03B7}\x{0342}\x{03B9}", # U+1FC7 => 03B7 0342 03B9
+"\xE1\xBF\x8C" => "\x{03B7}\x{03B9}", # U+1FCC => 03B7 03B9
+"\xE1\xBF\x92" => "\x{03B9}\x{0308}\x{0300}", # U+1FD2 => 03B9 0308 0300
+"\xE1\xBF\x93" => "\x{03B9}\x{0308}\x{0301}", # U+1FD3 => 03B9 0308 0301
+"\xE1\xBF\x96" => "\x{03B9}\x{0342}", # U+1FD6 => 03B9 0342
+"\xE1\xBF\x97" => "\x{03B9}\x{0308}\x{0342}", # U+1FD7 => 03B9 0308 0342
+"\xE1\xBF\xA2" => "\x{03C5}\x{0308}\x{0300}", # U+1FE2 => 03C5 0308 0300
+"\xE1\xBF\xA3" => "\x{03C5}\x{0308}\x{0301}", # U+1FE3 => 03C5 0308 0301
+"\xE1\xBF\xA4" => "\x{03C1}\x{0313}", # U+1FE4 => 03C1 0313
+"\xE1\xBF\xA6" => "\x{03C5}\x{0342}", # U+1FE6 => 03C5 0342
+"\xE1\xBF\xA7" => "\x{03C5}\x{0308}\x{0342}", # U+1FE7 => 03C5 0308 0342
+"\xE1\xBF\xB2" => "\x{1F7C}\x{03B9}", # U+1FF2 => 1F7C 03B9
+"\xE1\xBF\xB3" => "\x{03C9}\x{03B9}", # U+1FF3 => 03C9 03B9
+"\xE1\xBF\xB4" => "\x{03CE}\x{03B9}", # U+1FF4 => 03CE 03B9
+"\xE1\xBF\xB6" => "\x{03C9}\x{0342}", # U+1FF6 => 03C9 0342
+"\xE1\xBF\xB7" => "\x{03C9}\x{0342}\x{03B9}", # U+1FF7 => 03C9 0342 03B9
+"\xE1\xBF\xBC" => "\x{03C9}\x{03B9}", # U+1FFC => 03C9 03B9
+"\xEF\xAC\x80" => "\x{0066}\x{0066}", # U+FB00 => 0066 0066
+"\xEF\xAC\x81" => "\x{0066}\x{0069}", # U+FB01 => 0066 0069
+"\xEF\xAC\x82" => "\x{0066}\x{006C}", # U+FB02 => 0066 006C
+"\xEF\xAC\x83" => "\x{0066}\x{0066}\x{0069}", # U+FB03 => 0066 0066 0069
+"\xEF\xAC\x84" => "\x{0066}\x{0066}\x{006C}", # U+FB04 => 0066 0066 006C
+"\xEF\xAC\x85" => "\x{0073}\x{0074}", # U+FB05 => 0073 0074
+"\xEF\xAC\x86" => "\x{0073}\x{0074}", # U+FB06 => 0073 0074
+"\xEF\xAC\x93" => "\x{0574}\x{0576}", # U+FB13 => 0574 0576
+"\xEF\xAC\x94" => "\x{0574}\x{0565}", # U+FB14 => 0574 0565
+"\xEF\xAC\x95" => "\x{0574}\x{056B}", # U+FB15 => 0574 056B
+"\xEF\xAC\x96" => "\x{057E}\x{0576}", # U+FB16 => 057E 0576
+"\xEF\xAC\x97" => "\x{0574}\x{056D}", # U+FB17 => 0574 056D
+);
+
+return <<'END';
+0041 005A 97
+00B5 956
+00C0 00D6 224
+00D8 00DE 248
+0100 257
+0102 259
+0104 261
+0106 263
+0108 265
+010A 267
+010C 269
+010E 271
+0110 273
+0112 275
+0114 277
+0116 279
+0118 281
+011A 283
+011C 285
+011E 287
+0120 289
+0122 291
+0124 293
+0126 295
+0128 297
+012A 299
+012C 301
+012E 303
+0132 307
+0134 309
+0136 311
+0139 314
+013B 316
+013D 318
+013F 320
+0141 322
+0143 324
+0145 326
+0147 328
+014A 331
+014C 333
+014E 335
+0150 337
+0152 339
+0154 341
+0156 343
+0158 345
+015A 347
+015C 349
+015E 351
+0160 353
+0162 355
+0164 357
+0166 359
+0168 361
+016A 363
+016C 365
+016E 367
+0170 369
+0172 371
+0174 373
+0176 375
+0178 255
+0179 378
+017B 380
+017D 382
+017F 115
+0181 595
+0182 387
+0184 389
+0186 596
+0187 392
+0189 018A 598
+018B 396
+018E 477
+018F 601
+0190 603
+0191 402
+0193 608
+0194 611
+0196 617
+0197 616
+0198 409
+019C 623
+019D 626
+019F 629
+01A0 417
+01A2 419
+01A4 421
+01A6 640
+01A7 424
+01A9 643
+01AC 429
+01AE 648
+01AF 432
+01B1 01B2 650
+01B3 436
+01B5 438
+01B7 658
+01B8 441
+01BC 445
+01C4 454
+01C5 454
+01C7 457
+01C8 457
+01CA 460
+01CB 460
+01CD 462
+01CF 464
+01D1 466
+01D3 468
+01D5 470
+01D7 472
+01D9 474
+01DB 476
+01DE 479
+01E0 481
+01E2 483
+01E4 485
+01E6 487
+01E8 489
+01EA 491
+01EC 493
+01EE 495
+01F1 499
+01F2 499
+01F4 501
+01F6 405
+01F7 447
+01F8 505
+01FA 507
+01FC 509
+01FE 511
+0200 513
+0202 515
+0204 517
+0206 519
+0208 521
+020A 523
+020C 525
+020E 527
+0210 529
+0212 531
+0214 533
+0216 535
+0218 537
+021A 539
+021C 541
+021E 543
+0220 414
+0222 547
+0224 549
+0226 551
+0228 553
+022A 555
+022C 557
+022E 559
+0230 561
+0232 563
+023A 11365
+023B 572
+023D 410
+023E 11366
+0241 578
+0243 384
+0244 649
+0245 652
+0246 583
+0248 585
+024A 587
+024C 589
+024E 591
+0345 953
+0370 881
+0372 883
+0376 887
+0386 940
+0388 038A 941
+038C 972
+038E 038F 973
+0391 03A1 945
+03A3 03AB 963
+03C2 963
+03CF 983
+03D0 946
+03D1 952
+03D5 966
+03D6 960
+03D8 985
+03DA 987
+03DC 989
+03DE 991
+03E0 993
+03E2 995
+03E4 997
+03E6 999
+03E8 1001
+03EA 1003
+03EC 1005
+03EE 1007
+03F0 954
+03F1 961
+03F4 952
+03F5 949
+03F7 1016
+03F9 1010
+03FA 1019
+03FD 03FF 891
+0400 040F 1104
+0410 042F 1072
+0460 1121
+0462 1123
+0464 1125
+0466 1127
+0468 1129
+046A 1131
+046C 1133
+046E 1135
+0470 1137
+0472 1139
+0474 1141
+0476 1143
+0478 1145
+047A 1147
+047C 1149
+047E 1151
+0480 1153
+048A 1163
+048C 1165
+048E 1167
+0490 1169
+0492 1171
+0494 1173
+0496 1175
+0498 1177
+049A 1179
+049C 1181
+049E 1183
+04A0 1185
+04A2 1187
+04A4 1189
+04A6 1191
+04A8 1193
+04AA 1195
+04AC 1197
+04AE 1199
+04B0 1201
+04B2 1203
+04B4 1205
+04B6 1207
+04B8 1209
+04BA 1211
+04BC 1213
+04BE 1215
+04C0 1231
+04C1 1218
+04C3 1220
+04C5 1222
+04C7 1224
+04C9 1226
+04CB 1228
+04CD 1230
+04D0 1233
+04D2 1235
+04D4 1237
+04D6 1239
+04D8 1241
+04DA 1243
+04DC 1245
+04DE 1247
+04E0 1249
+04E2 1251
+04E4 1253
+04E6 1255
+04E8 1257
+04EA 1259
+04EC 1261
+04EE 1263
+04F0 1265
+04F2 1267
+04F4 1269
+04F6 1271
+04F8 1273
+04FA 1275
+04FC 1277
+04FE 1279
+0500 1281
+0502 1283
+0504 1285
+0506 1287
+0508 1289
+050A 1291
+050C 1293
+050E 1295
+0510 1297
+0512 1299
+0514 1301
+0516 1303
+0518 1305
+051A 1307
+051C 1309
+051E 1311
+0520 1313
+0522 1315
+0524 1317
+0526 1319
+0531 0556 1377
+10A0 10C5 11520
+10C7 11559
+10CD 11565
+1E00 7681
+1E02 7683
+1E04 7685
+1E06 7687
+1E08 7689
+1E0A 7691
+1E0C 7693
+1E0E 7695
+1E10 7697
+1E12 7699
+1E14 7701
+1E16 7703
+1E18 7705
+1E1A 7707
+1E1C 7709
+1E1E 7711
+1E20 7713
+1E22 7715
+1E24 7717
+1E26 7719
+1E28 7721
+1E2A 7723
+1E2C 7725
+1E2E 7727
+1E30 7729
+1E32 7731
+1E34 7733
+1E36 7735
+1E38 7737
+1E3A 7739
+1E3C 7741
+1E3E 7743
+1E40 7745
+1E42 7747
+1E44 7749
+1E46 7751
+1E48 7753
+1E4A 7755
+1E4C 7757
+1E4E 7759
+1E50 7761
+1E52 7763
+1E54 7765
+1E56 7767
+1E58 7769
+1E5A 7771
+1E5C 7773
+1E5E 7775
+1E60 7777
+1E62 7779
+1E64 7781
+1E66 7783
+1E68 7785
+1E6A 7787
+1E6C 7789
+1E6E 7791
+1E70 7793
+1E72 7795
+1E74 7797
+1E76 7799
+1E78 7801
+1E7A 7803
+1E7C 7805
+1E7E 7807
+1E80 7809
+1E82 7811
+1E84 7813
+1E86 7815
+1E88 7817
+1E8A 7819
+1E8C 7821
+1E8E 7823
+1E90 7825
+1E92 7827
+1E94 7829
+1E9B 7777
+1E9E 223
+1EA0 7841
+1EA2 7843
+1EA4 7845
+1EA6 7847
+1EA8 7849
+1EAA 7851
+1EAC 7853
+1EAE 7855
+1EB0 7857
+1EB2 7859
+1EB4 7861
+1EB6 7863
+1EB8 7865
+1EBA 7867
+1EBC 7869
+1EBE 7871
+1EC0 7873
+1EC2 7875
+1EC4 7877
+1EC6 7879
+1EC8 7881
+1ECA 7883
+1ECC 7885
+1ECE 7887
+1ED0 7889
+1ED2 7891
+1ED4 7893
+1ED6 7895
+1ED8 7897
+1EDA 7899
+1EDC 7901
+1EDE 7903
+1EE0 7905
+1EE2 7907
+1EE4 7909
+1EE6 7911
+1EE8 7913
+1EEA 7915
+1EEC 7917
+1EEE 7919
+1EF0 7921
+1EF2 7923
+1EF4 7925
+1EF6 7927
+1EF8 7929
+1EFA 7931
+1EFC 7933
+1EFE 7935
+1F08 1F0F 7936
+1F18 1F1D 7952
+1F28 1F2F 7968
+1F38 1F3F 7984
+1F48 1F4D 8000
+1F59 8017
+1F5B 8019
+1F5D 8021
+1F5F 8023
+1F68 1F6F 8032
+1F88 1F8F 8064
+1F98 1F9F 8080
+1FA8 1FAF 8096
+1FB8 1FB9 8112
+1FBA 1FBB 8048
+1FBC 8115
+1FBE 953
+1FC8 1FCB 8050
+1FCC 8131
+1FD8 1FD9 8144
+1FDA 1FDB 8054
+1FE8 1FE9 8160
+1FEA 1FEB 8058
+1FEC 8165
+1FF8 1FF9 8056
+1FFA 1FFB 8060
+1FFC 8179
+2126 969
+212A 107
+212B 229
+2132 8526
+2160 216F 8560
+2183 8580
+24B6 24CF 9424
+2C00 2C2E 11312
+2C60 11361
+2C62 619
+2C63 7549
+2C64 637
+2C67 11368
+2C69 11370
+2C6B 11372
+2C6D 593
+2C6E 625
+2C6F 592
+2C70 594
+2C72 11379
+2C75 11382
+2C7E 2C7F 575
+2C80 11393
+2C82 11395
+2C84 11397
+2C86 11399
+2C88 11401
+2C8A 11403
+2C8C 11405
+2C8E 11407
+2C90 11409
+2C92 11411
+2C94 11413
+2C96 11415
+2C98 11417
+2C9A 11419
+2C9C 11421
+2C9E 11423
+2CA0 11425
+2CA2 11427
+2CA4 11429
+2CA6 11431
+2CA8 11433
+2CAA 11435
+2CAC 11437
+2CAE 11439
+2CB0 11441
+2CB2 11443
+2CB4 11445
+2CB6 11447
+2CB8 11449
+2CBA 11451
+2CBC 11453
+2CBE 11455
+2CC0 11457
+2CC2 11459
+2CC4 11461
+2CC6 11463
+2CC8 11465
+2CCA 11467
+2CCC 11469
+2CCE 11471
+2CD0 11473
+2CD2 11475
+2CD4 11477
+2CD6 11479
+2CD8 11481
+2CDA 11483
+2CDC 11485
+2CDE 11487
+2CE0 11489
+2CE2 11491
+2CEB 11500
+2CED 11502
+2CF2 11507
+A640 42561
+A642 42563
+A644 42565
+A646 42567
+A648 42569
+A64A 42571
+A64C 42573
+A64E 42575
+A650 42577
+A652 42579
+A654 42581
+A656 42583
+A658 42585
+A65A 42587
+A65C 42589
+A65E 42591
+A660 42593
+A662 42595
+A664 42597
+A666 42599
+A668 42601
+A66A 42603
+A66C 42605
+A680 42625
+A682 42627
+A684 42629
+A686 42631
+A688 42633
+A68A 42635
+A68C 42637
+A68E 42639
+A690 42641
+A692 42643
+A694 42645
+A696 42647
+A722 42787
+A724 42789
+A726 42791
+A728 42793
+A72A 42795
+A72C 42797
+A72E 42799
+A732 42803
+A734 42805
+A736 42807
+A738 42809
+A73A 42811
+A73C 42813
+A73E 42815
+A740 42817
+A742 42819
+A744 42821
+A746 42823
+A748 42825
+A74A 42827
+A74C 42829
+A74E 42831
+A750 42833
+A752 42835
+A754 42837
+A756 42839
+A758 42841
+A75A 42843
+A75C 42845
+A75E 42847
+A760 42849
+A762 42851
+A764 42853
+A766 42855
+A768 42857
+A76A 42859
+A76C 42861
+A76E 42863
+A779 42874
+A77B 42876
+A77D 7545
+A77E 42879
+A780 42881
+A782 42883
+A784 42885
+A786 42887
+A78B 42892
+A78D 613
+A790 42897
+A792 42899
+A7A0 42913
+A7A2 42915
+A7A4 42917
+A7A6 42919
+A7A8 42921
+A7AA 614
+FF21 FF3A 65345
+10400 10427 66600
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Digit.pl b/Master/tlpkg/tlperl/lib/unicore/To/Digit.pl
index b7ab8c363a9..890760ca489 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Digit.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Digit.pl
@@ -1,6 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! IT IS DEPRECATED TO USE THIS FILE !!!!!!!
+
+# This file is for internal use by core Perl only. It is retained for
+# backwards compatibility with applications that may have come to rely on it,
+# but its format and even its name or existence are subject to change without
+# notice in a future Perl version. Don't use it directly. Instead, its
+# contents are now retrievable through a stable API in the Unicode::UCD
+# module: Unicode::UCD::prop_invmap('Perl_Decimal_Digit').
+
# The name this swash is to be known by, with the format of the mappings in
@@ -380,6 +390,46 @@ FF19 9
1106D 7
1106E 8
1106F 9
+110F0 0
+110F1 1
+110F2 2
+110F3 3
+110F4 4
+110F5 5
+110F6 6
+110F7 7
+110F8 8
+110F9 9
+11136 0
+11137 1
+11138 2
+11139 3
+1113A 4
+1113B 5
+1113C 6
+1113D 7
+1113E 8
+1113F 9
+111D0 0
+111D1 1
+111D2 2
+111D3 3
+111D4 4
+111D5 5
+111D6 6
+111D7 7
+111D8 8
+111D9 9
+116C0 0
+116C1 1
+116C2 2
+116C3 3
+116C4 4
+116C5 5
+116C6 6
+116C7 7
+116C8 8
+116C9 9
1D7CE 0
1D7CF 1
1D7D0 2
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Dt.pl b/Master/tlpkg/tlperl/lib/unicore/To/Dt.pl
deleted file mode 100644
index 3e985c589fd..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/To/Dt.pl
+++ /dev/null
@@ -1,759 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-# The name this swash is to be known by, with the format of the mappings in
-# the main body of the table, and what all code points missing from this file
-# map to.
-$utf8::SwashInfo{'ToDt'}{'format'} = 's'; # string
-$utf8::SwashInfo{'ToDt'}{'missing'} = 'None';
-
-return <<'END';
-00A0 Nobreak
-00A8 Compat
-00AA Super
-00AF Compat
-00B2 00B3 Super
-00B4 00B5 Compat
-00B8 Compat
-00B9 00BA Super
-00BC 00BE Fraction
-00C0 00C5 Canonical
-00C7 00CF Canonical
-00D1 00D6 Canonical
-00D9 00DD Canonical
-00E0 00E5 Canonical
-00E7 00EF Canonical
-00F1 00F6 Canonical
-00F9 00FD Canonical
-00FF 010F Canonical
-0112 0125 Canonical
-0128 0130 Canonical
-0132 0133 Compat
-0134 0137 Canonical
-0139 013E Canonical
-013F 0140 Compat
-0143 0148 Canonical
-0149 Compat
-014C 0151 Canonical
-0154 0165 Canonical
-0168 017E Canonical
-017F Compat
-01A0 01A1 Canonical
-01AF 01B0 Canonical
-01C4 01CC Compat
-01CD 01DC Canonical
-01DE 01E3 Canonical
-01E6 01F0 Canonical
-01F1 01F3 Compat
-01F4 01F5 Canonical
-01F8 021B Canonical
-021E 021F Canonical
-0226 0233 Canonical
-02B0 02B8 Super
-02D8 02DD Compat
-02E0 02E4 Super
-0340 0341 Canonical
-0343 0344 Canonical
-0374 Canonical
-037A Compat
-037E Canonical
-0384 Compat
-0385 038A Canonical
-038C Canonical
-038E 0390 Canonical
-03AA 03B0 Canonical
-03CA 03CE Canonical
-03D0 03D2 Compat
-03D3 03D4 Canonical
-03D5 03D6 Compat
-03F0 03F2 Compat
-03F4 03F5 Compat
-03F9 Compat
-0400 0401 Canonical
-0403 Canonical
-0407 Canonical
-040C 040E Canonical
-0419 Canonical
-0439 Canonical
-0450 0451 Canonical
-0453 Canonical
-0457 Canonical
-045C 045E Canonical
-0476 0477 Canonical
-04C1 04C2 Canonical
-04D0 04D3 Canonical
-04D6 04D7 Canonical
-04DA 04DF Canonical
-04E2 04E7 Canonical
-04EA 04F5 Canonical
-04F8 04F9 Canonical
-0587 Compat
-0622 0626 Canonical
-0675 0678 Compat
-06C0 Canonical
-06C2 Canonical
-06D3 Canonical
-0929 Canonical
-0931 Canonical
-0934 Canonical
-0958 095F Canonical
-09CB 09CC Canonical
-09DC 09DD Canonical
-09DF Canonical
-0A33 Canonical
-0A36 Canonical
-0A59 0A5B Canonical
-0A5E Canonical
-0B48 Canonical
-0B4B 0B4C Canonical
-0B5C 0B5D Canonical
-0B94 Canonical
-0BCA 0BCC Canonical
-0C48 Canonical
-0CC0 Canonical
-0CC7 0CC8 Canonical
-0CCA 0CCB Canonical
-0D4A 0D4C Canonical
-0DDA Canonical
-0DDC 0DDE Canonical
-0E33 Compat
-0EB3 Compat
-0EDC 0EDD Compat
-0F0C Nobreak
-0F43 Canonical
-0F4D Canonical
-0F52 Canonical
-0F57 Canonical
-0F5C Canonical
-0F69 Canonical
-0F73 Canonical
-0F75 0F76 Canonical
-0F77 Compat
-0F78 Canonical
-0F79 Compat
-0F81 Canonical
-0F93 Canonical
-0F9D Canonical
-0FA2 Canonical
-0FA7 Canonical
-0FAC Canonical
-0FB9 Canonical
-1026 Canonical
-10FC Super
-1B06 Canonical
-1B08 Canonical
-1B0A Canonical
-1B0C Canonical
-1B0E Canonical
-1B12 Canonical
-1B3B Canonical
-1B3D Canonical
-1B40 1B41 Canonical
-1B43 Canonical
-1D2C 1D2E Super
-1D30 1D3A Super
-1D3C 1D4D Super
-1D4F 1D61 Super
-1D62 1D6A Sub
-1D78 Super
-1D9B 1DBF Super
-1E00 1E99 Canonical
-1E9A Compat
-1E9B Canonical
-1EA0 1EF9 Canonical
-1F00 1F15 Canonical
-1F18 1F1D Canonical
-1F20 1F45 Canonical
-1F48 1F4D Canonical
-1F50 1F57 Canonical
-1F59 Canonical
-1F5B Canonical
-1F5D Canonical
-1F5F 1F7D Canonical
-1F80 1FB4 Canonical
-1FB6 1FBC Canonical
-1FBD Compat
-1FBE Canonical
-1FBF 1FC0 Compat
-1FC1 1FC4 Canonical
-1FC6 1FD3 Canonical
-1FD6 1FDB Canonical
-1FDD 1FEF Canonical
-1FF2 1FF4 Canonical
-1FF6 1FFD Canonical
-1FFE Compat
-2000 2001 Canonical
-2002 2006 Compat
-2007 Nobreak
-2008 200A Compat
-2011 Nobreak
-2017 Compat
-2024 2026 Compat
-202F Nobreak
-2033 2034 Compat
-2036 2037 Compat
-203C Compat
-203E Compat
-2047 2049 Compat
-2057 Compat
-205F Compat
-2070 2071 Super
-2074 207F Super
-2080 208E Sub
-2090 209C Sub
-20A8 Compat
-2100 2101 Compat
-2102 Font
-2103 Compat
-2105 2107 Compat
-2109 Compat
-210A 2113 Font
-2115 Font
-2116 Compat
-2119 211D Font
-2120 Super
-2121 Compat
-2122 Super
-2124 Font
-2126 Canonical
-2128 Font
-212A 212B Canonical
-212C 212D Font
-212F 2131 Font
-2133 2134 Font
-2135 2138 Compat
-2139 Font
-213B Compat
-213C 2140 Font
-2145 2149 Font
-2150 215F Fraction
-2160 217F Compat
-2189 Fraction
-219A 219B Canonical
-21AE Canonical
-21CD 21CF Canonical
-2204 Canonical
-2209 Canonical
-220C Canonical
-2224 Canonical
-2226 Canonical
-222C 222D Compat
-222F 2230 Compat
-2241 Canonical
-2244 Canonical
-2247 Canonical
-2249 Canonical
-2260 Canonical
-2262 Canonical
-226D 2271 Canonical
-2274 2275 Canonical
-2278 2279 Canonical
-2280 2281 Canonical
-2284 2285 Canonical
-2288 2289 Canonical
-22AC 22AF Canonical
-22E0 22E3 Canonical
-22EA 22ED Canonical
-2329 232A Canonical
-2460 2473 Circle
-2474 24B5 Compat
-24B6 24EA Circle
-2A0C Compat
-2A74 2A76 Compat
-2ADC Canonical
-2C7C Sub
-2C7D Super
-2D6F Super
-2E9F Compat
-2EF3 Compat
-2F00 2FD5 Compat
-3000 Wide
-3036 Compat
-3038 303A Compat
-304C Canonical
-304E Canonical
-3050 Canonical
-3052 Canonical
-3054 Canonical
-3056 Canonical
-3058 Canonical
-305A Canonical
-305C Canonical
-305E Canonical
-3060 Canonical
-3062 Canonical
-3065 Canonical
-3067 Canonical
-3069 Canonical
-3070 3071 Canonical
-3073 3074 Canonical
-3076 3077 Canonical
-3079 307A Canonical
-307C 307D Canonical
-3094 Canonical
-309B 309C Compat
-309E Canonical
-309F Vertical
-30AC Canonical
-30AE Canonical
-30B0 Canonical
-30B2 Canonical
-30B4 Canonical
-30B6 Canonical
-30B8 Canonical
-30BA Canonical
-30BC Canonical
-30BE Canonical
-30C0 Canonical
-30C2 Canonical
-30C5 Canonical
-30C7 Canonical
-30C9 Canonical
-30D0 30D1 Canonical
-30D3 30D4 Canonical
-30D6 30D7 Canonical
-30D9 30DA Canonical
-30DC 30DD Canonical
-30F4 Canonical
-30F7 30FA Canonical
-30FE Canonical
-30FF Vertical
-3131 318E Compat
-3192 319F Super
-3200 321E Compat
-3220 3243 Compat
-3244 3247 Circle
-3250 Square
-3251 327E Circle
-3280 32BF Circle
-32C0 32CB Compat
-32CC 32CF Square
-32D0 32FE Circle
-3300 3357 Square
-3358 3370 Compat
-3371 33DF Square
-33E0 33FE Compat
-33FF Square
-A770 Super
-AC00 D7A3 Canonical
-F900 FA0D Canonical
-FA10 Canonical
-FA12 Canonical
-FA15 FA1E Canonical
-FA20 Canonical
-FA22 Canonical
-FA25 FA26 Canonical
-FA2A FA2D Canonical
-FA30 FA6D Canonical
-FA70 FAD9 Canonical
-FB00 FB06 Compat
-FB13 FB17 Compat
-FB1D Canonical
-FB1F Canonical
-FB20 FB29 Font
-FB2A FB36 Canonical
-FB38 FB3C Canonical
-FB3E Canonical
-FB40 FB41 Canonical
-FB43 FB44 Canonical
-FB46 FB4E Canonical
-FB4F Compat
-FB50 Isolated
-FB51 Final
-FB52 Isolated
-FB53 Final
-FB54 Initial
-FB55 Medial
-FB56 Isolated
-FB57 Final
-FB58 Initial
-FB59 Medial
-FB5A Isolated
-FB5B Final
-FB5C Initial
-FB5D Medial
-FB5E Isolated
-FB5F Final
-FB60 Initial
-FB61 Medial
-FB62 Isolated
-FB63 Final
-FB64 Initial
-FB65 Medial
-FB66 Isolated
-FB67 Final
-FB68 Initial
-FB69 Medial
-FB6A Isolated
-FB6B Final
-FB6C Initial
-FB6D Medial
-FB6E Isolated
-FB6F Final
-FB70 Initial
-FB71 Medial
-FB72 Isolated
-FB73 Final
-FB74 Initial
-FB75 Medial
-FB76 Isolated
-FB77 Final
-FB78 Initial
-FB79 Medial
-FB7A Isolated
-FB7B Final
-FB7C Initial
-FB7D Medial
-FB7E Isolated
-FB7F Final
-FB80 Initial
-FB81 Medial
-FB82 Isolated
-FB83 Final
-FB84 Isolated
-FB85 Final
-FB86 Isolated
-FB87 Final
-FB88 Isolated
-FB89 Final
-FB8A Isolated
-FB8B Final
-FB8C Isolated
-FB8D Final
-FB8E Isolated
-FB8F Final
-FB90 Initial
-FB91 Medial
-FB92 Isolated
-FB93 Final
-FB94 Initial
-FB95 Medial
-FB96 Isolated
-FB97 Final
-FB98 Initial
-FB99 Medial
-FB9A Isolated
-FB9B Final
-FB9C Initial
-FB9D Medial
-FB9E Isolated
-FB9F Final
-FBA0 Isolated
-FBA1 Final
-FBA2 Initial
-FBA3 Medial
-FBA4 Isolated
-FBA5 Final
-FBA6 Isolated
-FBA7 Final
-FBA8 Initial
-FBA9 Medial
-FBAA Isolated
-FBAB Final
-FBAC Initial
-FBAD Medial
-FBAE Isolated
-FBAF Final
-FBB0 Isolated
-FBB1 Final
-FBD3 Isolated
-FBD4 Final
-FBD5 Initial
-FBD6 Medial
-FBD7 Isolated
-FBD8 Final
-FBD9 Isolated
-FBDA Final
-FBDB Isolated
-FBDC Final
-FBDD FBDE Isolated
-FBDF Final
-FBE0 Isolated
-FBE1 Final
-FBE2 Isolated
-FBE3 Final
-FBE4 Isolated
-FBE5 Final
-FBE6 Initial
-FBE7 Medial
-FBE8 Initial
-FBE9 Medial
-FBEA Isolated
-FBEB Final
-FBEC Isolated
-FBED Final
-FBEE Isolated
-FBEF Final
-FBF0 Isolated
-FBF1 Final
-FBF2 Isolated
-FBF3 Final
-FBF4 Isolated
-FBF5 Final
-FBF6 Isolated
-FBF7 Final
-FBF8 Initial
-FBF9 Isolated
-FBFA Final
-FBFB Initial
-FBFC Isolated
-FBFD Final
-FBFE Initial
-FBFF Medial
-FC00 FC63 Isolated
-FC64 FC96 Final
-FC97 FCDE Initial
-FCDF FCF4 Medial
-FCF5 FD10 Isolated
-FD11 FD2C Final
-FD2D FD33 Initial
-FD34 FD3B Medial
-FD3C Final
-FD3D Isolated
-FD50 Initial
-FD51 Final
-FD52 FD57 Initial
-FD58 Final
-FD59 Initial
-FD5A FD5B Final
-FD5C FD5D Initial
-FD5E FD5F Final
-FD60 FD61 Initial
-FD62 Final
-FD63 Initial
-FD64 Final
-FD65 Initial
-FD66 FD67 Final
-FD68 Initial
-FD69 FD6A Final
-FD6B Initial
-FD6C Final
-FD6D Initial
-FD6E FD6F Final
-FD70 Initial
-FD71 Final
-FD72 FD73 Initial
-FD74 FD76 Final
-FD77 Initial
-FD78 FD7C Final
-FD7D Initial
-FD7E FD82 Final
-FD83 Initial
-FD84 FD85 Final
-FD86 Initial
-FD87 Final
-FD88 FD8A Initial
-FD8B Final
-FD8C FD8F Initial
-FD92 FD95 Initial
-FD96 FD97 Final
-FD98 Initial
-FD99 FD9C Final
-FD9D Initial
-FD9E FDB3 Final
-FDB4 FDB5 Initial
-FDB6 FDB7 Final
-FDB8 Initial
-FDB9 Final
-FDBA Initial
-FDBB FDC2 Final
-FDC3 FDC5 Initial
-FDC6 FDC7 Final
-FDF0 FDFC Isolated
-FE10 FE19 Vertical
-FE30 FE44 Vertical
-FE47 FE48 Vertical
-FE49 FE4F Compat
-FE50 FE52 Small
-FE54 FE66 Small
-FE68 FE6B Small
-FE70 Isolated
-FE71 Medial
-FE72 Isolated
-FE74 Isolated
-FE76 Isolated
-FE77 Medial
-FE78 Isolated
-FE79 Medial
-FE7A Isolated
-FE7B Medial
-FE7C Isolated
-FE7D Medial
-FE7E Isolated
-FE7F Medial
-FE80 FE81 Isolated
-FE82 Final
-FE83 Isolated
-FE84 Final
-FE85 Isolated
-FE86 Final
-FE87 Isolated
-FE88 Final
-FE89 Isolated
-FE8A Final
-FE8B Initial
-FE8C Medial
-FE8D Isolated
-FE8E Final
-FE8F Isolated
-FE90 Final
-FE91 Initial
-FE92 Medial
-FE93 Isolated
-FE94 Final
-FE95 Isolated
-FE96 Final
-FE97 Initial
-FE98 Medial
-FE99 Isolated
-FE9A Final
-FE9B Initial
-FE9C Medial
-FE9D Isolated
-FE9E Final
-FE9F Initial
-FEA0 Medial
-FEA1 Isolated
-FEA2 Final
-FEA3 Initial
-FEA4 Medial
-FEA5 Isolated
-FEA6 Final
-FEA7 Initial
-FEA8 Medial
-FEA9 Isolated
-FEAA Final
-FEAB Isolated
-FEAC Final
-FEAD Isolated
-FEAE Final
-FEAF Isolated
-FEB0 Final
-FEB1 Isolated
-FEB2 Final
-FEB3 Initial
-FEB4 Medial
-FEB5 Isolated
-FEB6 Final
-FEB7 Initial
-FEB8 Medial
-FEB9 Isolated
-FEBA Final
-FEBB Initial
-FEBC Medial
-FEBD Isolated
-FEBE Final
-FEBF Initial
-FEC0 Medial
-FEC1 Isolated
-FEC2 Final
-FEC3 Initial
-FEC4 Medial
-FEC5 Isolated
-FEC6 Final
-FEC7 Initial
-FEC8 Medial
-FEC9 Isolated
-FECA Final
-FECB Initial
-FECC Medial
-FECD Isolated
-FECE Final
-FECF Initial
-FED0 Medial
-FED1 Isolated
-FED2 Final
-FED3 Initial
-FED4 Medial
-FED5 Isolated
-FED6 Final
-FED7 Initial
-FED8 Medial
-FED9 Isolated
-FEDA Final
-FEDB Initial
-FEDC Medial
-FEDD Isolated
-FEDE Final
-FEDF Initial
-FEE0 Medial
-FEE1 Isolated
-FEE2 Final
-FEE3 Initial
-FEE4 Medial
-FEE5 Isolated
-FEE6 Final
-FEE7 Initial
-FEE8 Medial
-FEE9 Isolated
-FEEA Final
-FEEB Initial
-FEEC Medial
-FEED Isolated
-FEEE Final
-FEEF Isolated
-FEF0 Final
-FEF1 Isolated
-FEF2 Final
-FEF3 Initial
-FEF4 Medial
-FEF5 Isolated
-FEF6 Final
-FEF7 Isolated
-FEF8 Final
-FEF9 Isolated
-FEFA Final
-FEFB Isolated
-FEFC Final
-FF01 FF60 Wide
-FF61 FFBE Narrow
-FFC2 FFC7 Narrow
-FFCA FFCF Narrow
-FFD2 FFD7 Narrow
-FFDA FFDC Narrow
-FFE0 FFE6 Wide
-FFE8 FFEE Narrow
-1109A Canonical
-1109C Canonical
-110AB Canonical
-1D15E 1D164 Canonical
-1D1BB 1D1C0 Canonical
-1D400 1D454 Font
-1D456 1D49C Font
-1D49E 1D49F Font
-1D4A2 Font
-1D4A5 1D4A6 Font
-1D4A9 1D4AC Font
-1D4AE 1D4B9 Font
-1D4BB Font
-1D4BD 1D4C3 Font
-1D4C5 1D505 Font
-1D507 1D50A Font
-1D50D 1D514 Font
-1D516 1D51C Font
-1D51E 1D539 Font
-1D53B 1D53E Font
-1D540 1D544 Font
-1D546 Font
-1D54A 1D550 Font
-1D552 1D6A5 Font
-1D6A8 1D7CB Font
-1D7CE 1D7FF Font
-1F100 1F10A Compat
-1F110 1F12A Compat
-1F12B 1F12E Circle
-1F130 1F14F Square
-1F190 Square
-1F200 1F202 Square
-1F210 1F23A Square
-1F240 1F248 Compat
-1F250 1F251 Circle
-2F800 2FA1D Canonical
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Ea.pl b/Master/tlpkg/tlperl/lib/unicore/To/Ea.pl
index 9d1cf1a811e..a18053b491e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Ea.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Ea.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
# The name this swash is to be known by, with the format of the mappings in
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Fold.pl b/Master/tlpkg/tlperl/lib/unicore/To/Fold.pl
index e426be788ca..0ad806b06ec 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Fold.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Fold.pl
@@ -1,12 +1,23 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! IT IS DEPRECATED TO USE THIS FILE !!!!!!!
+
+# This file is for internal use by core Perl only. It is retained for
+# backwards compatibility with applications that may have come to rely on it,
+# but its format and even its name or existence are subject to change without
+# notice in a future Perl version. Don't use it directly. Instead, its
+# contents are now retrievable through a stable API in the Unicode::UCD
+# module: Unicode::UCD::prop_invmap('Case_Folding').
+
# The name this swash is to be known by, with the format of the mappings in
# the main body of the table, and what all code points missing from this file
# map to.
-$utf8::SwashInfo{'ToFold'}{'format'} = 'x'; # positive hex whole number; a code point
+$utf8::SwashInfo{'ToFold'}{'format'} = 'x'; # non-negative hex whole number; a code point
+$utf8::SwashInfo{'ToFold'}{'specials_name'} = 'utf8::ToSpecFold'; # Name of hash of special mappings
$utf8::SwashInfo{'ToFold'}{'missing'} = '<code point>'; # code point maps to itself
# Some code points require special handling because their mappings are each to
@@ -636,6 +647,8 @@ return <<'END';
10C3 2D23
10C4 2D24
10C5 2D25
+10C7 2D27
+10CD 2D2D
1E00 1E01
1E02 1E03
1E04 1E05
@@ -1019,6 +1032,7 @@ return <<'END';
2CE2 2CE3
2CEB 2CEC
2CED 2CEE
+2CF2 2CF3
A640 A641
A642 A643
A644 A645
@@ -1103,11 +1117,13 @@ A786 A787
A78B A78C
A78D 0265
A790 A791
+A792 A793
A7A0 A7A1
A7A2 A7A3
A7A4 A7A5
A7A6 A7A7
A7A8 A7A9
+A7AA 0266
FF21 FF41
FF22 FF42
FF23 FF43
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/GCB.pl b/Master/tlpkg/tlperl/lib/unicore/To/GCB.pl
index ce0fbbdfd00..05a99014c28 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/GCB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/GCB.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
# The name this swash is to be known by, with the format of the mappings in
@@ -29,7 +30,7 @@ return <<'END';
05C1 05C2 Extend
05C4 05C5 Extend
05C7 Extend
-0600 0603 Control
+0600 0604 Control
0610 061A Extend
064B 065F Extend
0670 Extend
@@ -48,6 +49,7 @@ return <<'END';
0825 0827 Extend
0829 082D Extend
0859 085B Extend
+08E4 08FE Extend
0900 0902 Extend
0903 SpacingMark
093A Extend
@@ -149,19 +151,14 @@ return <<'END';
0DD8 0DDE SpacingMark
0DDF Extend
0DF2 0DF3 SpacingMark
-0E30 SpacingMark
0E31 Extend
-0E32 0E33 SpacingMark
+0E33 SpacingMark
0E34 0E3A Extend
-0E40 0E44 Prepend
-0E45 SpacingMark
0E47 0E4E Extend
-0EB0 SpacingMark
0EB1 Extend
-0EB2 0EB3 SpacingMark
+0EB3 SpacingMark
0EB4 0EB9 Extend
0EBB 0EBC Extend
-0EC0 0EC4 Prepend
0EC8 0ECD Extend
0F18 0F19 Extend
0F35 Extend
@@ -175,27 +172,20 @@ return <<'END';
0F8D 0F97 Extend
0F99 0FBC Extend
0FC6 Extend
-102B 102C SpacingMark
102D 1030 Extend
1031 SpacingMark
1032 1037 Extend
-1038 SpacingMark
1039 103A Extend
103B 103C SpacingMark
103D 103E Extend
1056 1057 SpacingMark
1058 1059 Extend
105E 1060 Extend
-1062 1064 SpacingMark
-1067 106D SpacingMark
1071 1074 Extend
1082 Extend
-1083 1084 SpacingMark
+1084 SpacingMark
1085 1086 Extend
-1087 108C SpacingMark
108D Extend
-108F SpacingMark
-109A 109C SpacingMark
109D Extend
1100 115F L
1160 11A7 V
@@ -205,7 +195,7 @@ return <<'END';
1732 1734 Extend
1752 1753 Extend
1772 1773 Extend
-17B4 17B5 Control
+17B4 17B5 Extend
17B6 SpacingMark
17B7 17BD Extend
17BE 17C5 SpacingMark
@@ -223,8 +213,8 @@ return <<'END';
1932 Extend
1933 1938 SpacingMark
1939 193B Extend
-19B0 19C0 SpacingMark
-19C8 19C9 SpacingMark
+19B5 19B7 SpacingMark
+19BA SpacingMark
1A17 1A18 Extend
1A19 1A1B SpacingMark
1A55 SpacingMark
@@ -232,9 +222,7 @@ return <<'END';
1A57 SpacingMark
1A58 1A5E Extend
1A60 Extend
-1A61 SpacingMark
1A62 Extend
-1A63 1A64 SpacingMark
1A65 1A6C Extend
1A6D 1A72 SpacingMark
1A73 1A7C Extend
@@ -257,6 +245,8 @@ return <<'END';
1BA6 1BA7 SpacingMark
1BA8 1BA9 Extend
1BAA SpacingMark
+1BAB Extend
+1BAC 1BAD SpacingMark
1BE6 Extend
1BE7 SpacingMark
1BE8 1BE9 Extend
@@ -274,15 +264,15 @@ return <<'END';
1CE1 SpacingMark
1CE2 1CE8 Extend
1CED Extend
-1CF2 SpacingMark
+1CF2 1CF3 SpacingMark
+1CF4 Extend
1DC0 1DE6 Extend
1DFC 1DFF Extend
200B Control
200C 200D Extend
200E 200F Control
2028 202E Control
-2060 2064 Control
-206A 206F Control
+2060 206F Control
20D0 20F0 Extend
2CEF 2CF1 Extend
2D7F Extend
@@ -290,7 +280,8 @@ return <<'END';
302A 302F Extend
3099 309A Extend
A66F A672 Extend
-A67C A67D Extend
+A674 A67D Extend
+A69F Extend
A6F0 A6F1 Extend
A802 Extend
A806 Extend
@@ -322,15 +313,16 @@ AA35 AA36 Extend
AA43 Extend
AA4C Extend
AA4D SpacingMark
-AA7B SpacingMark
AAB0 Extend
AAB2 AAB4 Extend
-AAB5 AAB6 Prepend
AAB7 AAB8 Extend
-AAB9 Prepend
-AABB AABC Prepend
AABE AABF Extend
AAC1 Extend
+AAEB SpacingMark
+AAEC AAED Extend
+AAEE AAEF SpacingMark
+AAF5 SpacingMark
+AAF6 Extend
ABE3 ABE4 SpacingMark
ABE5 Extend
ABE6 ABE7 SpacingMark
@@ -1138,12 +1130,13 @@ D788 LV
D789 D7A3 LVT
D7B0 D7C6 V
D7CB D7FB T
+D800 DFFF Control
FB1E Extend
FE00 FE0F Extend
FE20 FE26 Extend
FEFF Control
FF9E FF9F Extend
-FFF9 FFFB Control
+FFF0 FFFB Control
101FD Extend
10A01 10A03 Extend
10A05 10A06 Extend
@@ -1161,6 +1154,24 @@ FFF9 FFFB Control
110B7 110B8 SpacingMark
110B9 110BA Extend
110BD Control
+11100 11102 Extend
+11127 1112B Extend
+1112C SpacingMark
+1112D 11134 Extend
+11180 11181 Extend
+11182 SpacingMark
+111B3 111B5 SpacingMark
+111B6 111BE Extend
+111BF 111C0 SpacingMark
+116AB Extend
+116AC SpacingMark
+116AD Extend
+116AE 116AF SpacingMark
+116B0 116B5 Extend
+116B6 SpacingMark
+116B7 Extend
+16F51 16F7E SpacingMark
+16F8F 16F92 Extend
1D165 Extend
1D166 SpacingMark
1D167 1D169 Extend
@@ -1171,7 +1182,7 @@ FFF9 FFFB Control
1D185 1D18B Extend
1D1AA 1D1AD Extend
1D242 1D244 Extend
-E0001 Control
-E0020 E007F Control
+E0000 E00FF Control
E0100 E01EF Extend
+E01F0 E0FFF Control
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Gc.pl b/Master/tlpkg/tlperl/lib/unicore/To/Gc.pl
index c4561955ca8..faa42874ebb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Gc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Gc.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
# The name this swash is to be known by, with the format of the mappings in
@@ -47,10 +48,11 @@ return <<'END';
00A0 Zs
00A1 Po
00A2 00A5 Sc
-00A6 00A7 So
+00A6 So
+00A7 Po
00A8 Sk
00A9 So
-00AA Ll
+00AA Lo
00AB Pi
00AC Sm
00AD Cf
@@ -61,11 +63,10 @@ return <<'END';
00B2 00B3 No
00B4 Sk
00B5 Ll
-00B6 So
-00B7 Po
+00B6 00B7 Po
00B8 Sk
00B9 No
-00BA Ll
+00BA Lo
00BB Pf
00BC 00BE No
00BF Po
@@ -633,6 +634,7 @@ return <<'END';
0561 0587 Ll
0589 Po
058A Pd
+058F Sc
0591 05BD Mn
05BE Pd
05BF Mn
@@ -645,7 +647,7 @@ return <<'END';
05D0 05EA Lo
05F0 05F2 Lo
05F3 05F4 Po
-0600 0603 Cf
+0600 0604 Cf
0606 0608 Sm
0609 060A Po
060B Sc
@@ -706,6 +708,9 @@ return <<'END';
0840 0858 Lo
0859 085B Mn
085E Po
+08A0 Lo
+08A2 08AC Lo
+08E4 08FE Mn
0900 0902 Mn
0903 Mc
0904 0939 Lo
@@ -795,6 +800,7 @@ return <<'END';
0AE0 0AE1 Lo
0AE2 0AE3 Mn
0AE6 0AEF Nd
+0AF0 Po
0AF1 Sc
0B01 Mn
0B02 0B03 Mc
@@ -948,11 +954,13 @@ return <<'END';
0EC6 Lm
0EC8 0ECD Mn
0ED0 0ED9 Nd
-0EDC 0EDD Lo
+0EDC 0EDF Lo
0F00 Lo
0F01 0F03 So
0F04 0F12 Po
-0F13 0F17 So
+0F13 So
+0F14 Po
+0F15 0F17 So
0F18 0F19 Mn
0F1A 0F1F So
0F20 0F29 Nd
@@ -1021,10 +1029,12 @@ return <<'END';
109D Mn
109E 109F So
10A0 10C5 Lu
+10C7 Lu
+10CD Lu
10D0 10FA Lo
10FB Po
10FC Lm
-1100 1248 Lo
+10FD 1248 Lo
124A 124D Lo
1250 1256 Lo
1258 Lo
@@ -1041,8 +1051,7 @@ return <<'END';
1312 1315 Lo
1318 135A Lo
135D 135F Mn
-1360 So
-1361 1368 Po
+1360 1368 Po
1369 137C No
1380 138F Lo
1390 1399 So
@@ -1070,7 +1079,7 @@ return <<'END';
176E 1770 Lo
1772 1773 Mn
1780 17B3 Lo
-17B4 17B5 Cf
+17B4 17B5 Mn
17B6 Mc
17B7 17BD Mn
17BE 17C5 Mc
@@ -1166,9 +1175,11 @@ return <<'END';
1BA6 1BA7 Mc
1BA8 1BA9 Mn
1BAA Mc
+1BAB Mn
+1BAC 1BAD Mc
1BAE 1BAF Lo
1BB0 1BB9 Nd
-1BC0 1BE5 Lo
+1BBA 1BE5 Lo
1BE6 Mn
1BE7 Mc
1BE8 1BE9 Mn
@@ -1190,6 +1201,7 @@ return <<'END';
1C5A 1C77 Lo
1C78 1C7D Lm
1C7E 1C7F Po
+1CC0 1CC7 Po
1CD0 1CD2 Mn
1CD3 Po
1CD4 1CE0 Mn
@@ -1198,10 +1210,12 @@ return <<'END';
1CE9 1CEC Lo
1CED Mn
1CEE 1CF1 Lo
-1CF2 Mc
+1CF2 1CF3 Mc
+1CF4 Mn
+1CF5 1CF6 Lo
1D00 1D2B Ll
-1D2C 1D61 Lm
-1D62 1D77 Ll
+1D2C 1D6A Lm
+1D6B 1D77 Ll
1D78 Lm
1D79 1D9A Ll
1D9B 1DBF Lm
@@ -1666,9 +1680,7 @@ return <<'END';
27C0 27C4 Sm
27C5 Ps
27C6 Pe
-27C7 27CA Sm
-27CC Sm
-27CE 27E5 Sm
+27C7 27E5 Sm
27E6 Ps
27E7 Pe
27E8 Ps
@@ -1735,8 +1747,8 @@ return <<'END';
2C72 Lu
2C73 2C74 Ll
2C75 Lu
-2C76 2C7C Ll
-2C7D Lm
+2C76 2C7B Ll
+2C7C 2C7D Lm
2C7E 2C80 Lu
2C81 Ll
2C82 Lu
@@ -1843,11 +1855,15 @@ return <<'END';
2CED Lu
2CEE Ll
2CEF 2CF1 Mn
+2CF2 Lu
+2CF3 Ll
2CF9 2CFC Po
2CFD No
2CFE 2CFF Po
2D00 2D25 Ll
-2D30 2D65 Lo
+2D27 Ll
+2D2D Ll
+2D30 2D67 Lo
2D6F Lm
2D70 Po
2D7F Mn
@@ -1892,7 +1908,8 @@ return <<'END';
2E29 Pe
2E2A 2E2E Po
2E2F Lm
-2E30 2E31 Po
+2E30 2E39 Po
+2E3A 2E3B Pd
2E80 2E99 So
2E9B 2EF3 So
2F00 2FD5 So
@@ -1927,7 +1944,8 @@ return <<'END';
301E 301F Pe
3020 So
3021 3029 Nl
-302A 302F Mn
+302A 302D Mn
+302E 302F Mc
3030 Pd
3031 3035 Lm
3036 3037 So
@@ -1956,7 +1974,9 @@ return <<'END';
31F0 31FF Lo
3200 321E So
3220 3229 No
-322A 3250 So
+322A 3247 So
+3248 324F No
+3250 So
3251 325F No
3260 327F So
3280 3289 No
@@ -1966,7 +1986,7 @@ return <<'END';
3300 33FF So
3400 4DB5 Lo
4DC0 4DFF So
-4E00 9FCB Lo
+4E00 9FCC Lo
A000 A014 Lo
A015 Lm
A016 A48C Lo
@@ -2030,7 +2050,7 @@ A66E Lo
A66F Mn
A670 A672 Me
A673 Po
-A67C A67D Mn
+A674 A67D Mn
A67E Po
A67F Lm
A680 Lu
@@ -2057,6 +2077,7 @@ A694 Lu
A695 Ll
A696 Lu
A697 Ll
+A69F Mn
A6A0 A6E5 Lo
A6E6 A6EF Nl
A6F0 A6F1 Mn
@@ -2164,6 +2185,8 @@ A78D Lu
A78E Ll
A790 Lu
A791 Ll
+A792 Lu
+A793 Ll
A7A0 Lu
A7A1 Ll
A7A2 Lu
@@ -2174,6 +2197,8 @@ A7A6 Lu
A7A7 Ll
A7A8 Lu
A7A9 Ll
+A7AA Lu
+A7F8 A7F9 Lm
A7FA Ll
A7FB A801 Lo
A802 Mn
@@ -2257,6 +2282,15 @@ AAC2 Lo
AADB AADC Lo
AADD Lm
AADE AADF Po
+AAE0 AAEA Lo
+AAEB Mc
+AAEC AAED Mn
+AAEE AAEF Mc
+AAF0 AAF1 Po
+AAF2 Lo
+AAF3 AAF4 Lm
+AAF5 Mc
+AAF6 Mn
AB01 AB06 Lo
AB09 AB0E Lo
AB11 AB16 Lo
@@ -2277,8 +2311,7 @@ D7B0 D7C6 Lo
D7CB D7FB Lo
D800 DFFF Cs
E000 F8FF Co
-F900 FA2D Lo
-FA30 FA6D Lo
+F900 FA6D Lo
FA70 FAD9 Lo
FB00 FB06 Ll
FB13 FB17 Ll
@@ -2408,8 +2441,7 @@ FFFC FFFD So
1003F 1004D Lo
10050 1005D Lo
10080 100FA Lo
-10100 10101 Po
-10102 So
+10100 10102 Po
10107 10133 No
10137 1013F So
10140 10174 Nl
@@ -2450,6 +2482,8 @@ FFFC FFFD So
1091F Po
10920 10939 Lo
1093F Po
+10980 109B7 Lo
+109BE 109BF Lo
10A00 Lo
10A01 10A03 Mn
10A05 10A06 Mn
@@ -2490,11 +2524,43 @@ FFFC FFFD So
110BB 110BC Po
110BD Cf
110BE 110C1 Po
+110D0 110E8 Lo
+110F0 110F9 Nd
+11100 11102 Mn
+11103 11126 Lo
+11127 1112B Mn
+1112C Mc
+1112D 11134 Mn
+11136 1113F Nd
+11140 11143 Po
+11180 11181 Mn
+11182 Mc
+11183 111B2 Lo
+111B3 111B5 Mc
+111B6 111BE Mn
+111BF 111C0 Mc
+111C1 111C4 Lo
+111C5 111C8 Po
+111D0 111D9 Nd
+11680 116AA Lo
+116AB Mn
+116AC Mc
+116AD Mn
+116AE 116AF Mc
+116B0 116B5 Mn
+116B6 Mc
+116B7 Mn
+116C0 116C9 Nd
12000 1236E Lo
12400 12462 Nl
12470 12473 Po
13000 1342E Lo
16800 16A38 Lo
+16F00 16F44 Lo
+16F50 Lo
+16F51 16F7E Mc
+16F8F 16F92 Mn
+16F93 16F9F Lm
1B000 1B001 Lo
1D000 1D0F5 So
1D100 1D126 So
@@ -2585,6 +2651,40 @@ FFFC FFFD So
1D7CA Lu
1D7CB Ll
1D7CE 1D7FF Nd
+1EE00 1EE03 Lo
+1EE05 1EE1F Lo
+1EE21 1EE22 Lo
+1EE24 Lo
+1EE27 Lo
+1EE29 1EE32 Lo
+1EE34 1EE37 Lo
+1EE39 Lo
+1EE3B Lo
+1EE42 Lo
+1EE47 Lo
+1EE49 Lo
+1EE4B Lo
+1EE4D 1EE4F Lo
+1EE51 1EE52 Lo
+1EE54 Lo
+1EE57 Lo
+1EE59 Lo
+1EE5B Lo
+1EE5D Lo
+1EE5F Lo
+1EE61 1EE62 Lo
+1EE64 Lo
+1EE67 1EE6A Lo
+1EE6C 1EE72 Lo
+1EE74 1EE77 Lo
+1EE79 1EE7C Lo
+1EE7E Lo
+1EE80 1EE89 Lo
+1EE8B 1EE9B Lo
+1EEA1 1EEA3 Lo
+1EEA5 1EEA9 Lo
+1EEAB 1EEBB Lo
+1EEF0 1EEF1 Sm
1F000 1F02B So
1F030 1F093 So
1F0A0 1F0AE So
@@ -2593,7 +2693,7 @@ FFFC FFFD So
1F0D1 1F0DF So
1F100 1F10A No
1F110 1F12E So
-1F130 1F169 So
+1F130 1F16B So
1F170 1F19A So
1F1E6 1F202 So
1F210 1F23A So
@@ -2611,19 +2711,9 @@ FFFC FFFD So
1F442 1F4F7 So
1F4F9 1F4FC So
1F500 1F53D So
+1F540 1F543 So
1F550 1F567 So
-1F5FB 1F5FF So
-1F601 1F610 So
-1F612 1F614 So
-1F616 So
-1F618 So
-1F61A So
-1F61C 1F61E So
-1F620 1F625 So
-1F628 1F62B So
-1F62D So
-1F630 1F633 So
-1F635 1F640 So
+1F5FB 1F640 So
1F645 1F64F So
1F680 1F6C5 So
1F700 1F773 So
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Hst.pl b/Master/tlpkg/tlperl/lib/unicore/To/Hst.pl
index 9d4d07b705f..fa5117d8a03 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Hst.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Hst.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
# The name this swash is to be known by, with the format of the mappings in
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Isc.pl b/Master/tlpkg/tlperl/lib/unicore/To/Isc.pl
new file mode 100644
index 00000000000..5c2348dc841
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Isc.pl
@@ -0,0 +1,19 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToIsc'}{'format'} = 'd'; # single decimal digit
+$utf8::SwashInfo{'ToIsc'}{'missing'} = ''; # code point maps to the null string
+
+return <<'END';
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Jg.pl b/Master/tlpkg/tlperl/lib/unicore/To/Jg.pl
index 6ece48801c7..6a91fad5c3d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Jg.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Jg.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
# The name this swash is to be known by, with the format of the mappings in
@@ -141,4 +142,15 @@ return <<'END';
077C Hah
077D 077E Seen
077F Kaf
+08A0 Beh
+08A2 Hah
+08A3 Tah
+08A4 Feh
+08A5 Qaf
+08A6 Lam
+08A7 Meem
+08A8 08A9 Yeh
+08AA Reh
+08AB Waw
+08AC Rohingya_Yeh
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Jt.pl b/Master/tlpkg/tlperl/lib/unicore/To/Jt.pl
index 06a4606a6d6..a91ae75ebf2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Jt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Jt.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
# The name this swash is to be known by, with the format of the mappings in
@@ -98,7 +99,21 @@ return <<'END';
081B 0823 T
0825 0827 T
0829 082D T
+0840 R
+0841 0845 D
+0846 R
+0847 0848 D
+0849 R
+084A 084E D
+084F R
+0850 0853 D
+0854 R
+0855 D
0859 085B T
+08A0 D
+08A2 08A9 D
+08AA 08AC R
+08E4 08FE T
0900 0902 T
093A T
093C T
@@ -212,6 +227,7 @@ return <<'END';
1B80 1B81 T
1BA2 1BA5 T
1BA8 1BA9 T
+1BAB T
1BE6 T
1BE8 1BE9 T
1BED T
@@ -222,6 +238,7 @@ return <<'END';
1CD4 1CE0 T
1CE2 1CE8 T
1CED T
+1CF4 T
1DC0 1DE6 T
1DFC 1DFF T
200B T
@@ -234,10 +251,11 @@ return <<'END';
2CEF 2CF1 T
2D7F T
2DE0 2DFF T
-302A 302F T
+302A 302D T
3099 309A T
A66F A672 T
-A67C A67D T
+A674 A67D T
+A69F T
A6F0 A6F1 T
A802 T
A806 T
@@ -261,6 +279,8 @@ AAB2 AAB4 T
AAB7 AAB8 T
AABE AABF T
AAC1 T
+AAEC AAED T
+AAF6 T
ABE5 T
ABE8 T
ABED T
@@ -281,6 +301,16 @@ FFF9 FFFB T
110B3 110B6 T
110B9 110BA T
110BD T
+11100 11102 T
+11127 1112B T
+1112D 11134 T
+11180 11181 T
+111B6 111BE T
+116AB T
+116AD T
+116B0 116B5 T
+116B7 T
+16F8F 16F92 T
1D167 1D169 T
1D173 1D182 T
1D185 1D18B T
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Lb.pl b/Master/tlpkg/tlperl/lib/unicore/To/Lb.pl
index a095bffa4f1..37e2afb0f21 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Lb.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Lb.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
# The name this swash is to be known by, with the format of the mappings in
@@ -112,6 +113,7 @@ return <<'END';
0561 0587 AL
0589 IS
058A BA
+058F PR
0591 05BD CM
05BE BA
05BF CM
@@ -121,9 +123,10 @@ return <<'END';
05C4 05C5 CM
05C6 EX
05C7 CM
-05D0 05EA AL
-05F0 05F4 AL
-0600 0603 AL
+05D0 05EA HL
+05F0 05F2 HL
+05F3 05F4 AL
+0600 0604 AL
0606 0608 AL
0609 060B PO
060C 060D IS
@@ -177,6 +180,9 @@ return <<'END';
0840 0858 AL
0859 085B CM
085E AL
+08A0 AL
+08A2 08AC AL
+08E4 08FE CM
0900 0903 CM
0904 0939 AL
093A 093C CM
@@ -249,6 +255,7 @@ return <<'END';
0AE0 0AE1 AL
0AE2 0AE3 CM
0AE6 0AEF NU
+0AF0 AL
0AF1 PR
0B01 0B03 CM
0B05 0B0C AL
@@ -372,7 +379,7 @@ return <<'END';
0EC6 SA
0EC8 0ECD SA
0ED0 0ED9 NU
-0EDC 0EDD SA
+0EDC 0EDF SA
0F00 AL
0F01 0F04 BB
0F05 AL
@@ -429,7 +436,9 @@ return <<'END';
1090 1099 NU
109A 109F SA
10A0 10C5 AL
-10D0 10FC AL
+10C7 AL
+10CD AL
+10D0 10FF AL
1100 115F JL
1160 11A7 JV
11A8 11FF JT
@@ -536,10 +545,10 @@ return <<'END';
1B74 1B7C AL
1B80 1B82 CM
1B83 1BA0 AL
-1BA1 1BAA CM
+1BA1 1BAD CM
1BAE 1BAF AL
1BB0 1BB9 NU
-1BC0 1BE5 AL
+1BBA 1BE5 AL
1BE6 1BF3 CM
1BFC 1C23 AL
1C24 1C37 CM
@@ -549,13 +558,15 @@ return <<'END';
1C50 1C59 NU
1C5A 1C7D AL
1C7E 1C7F BA
+1CC0 1CC7 AL
1CD0 1CD2 CM
1CD3 AL
1CD4 1CE8 CM
1CE9 1CEC AL
1CED CM
1CEE 1CF1 AL
-1CF2 CM
+1CF2 1CF4 CM
+1CF5 1CF6 AL
1D00 1DBF AL
1DC0 1DE6 CM
1DFC 1DFF CM
@@ -827,9 +838,7 @@ return <<'END';
2794 27C4 AL
27C5 OP
27C6 CL
-27C7 27CA AL
-27CC AL
-27CE 27E5 AL
+27C7 27E5 AL
27E6 OP
27E7 CL
27E8 OP
@@ -878,13 +887,16 @@ return <<'END';
2C30 2C5E AL
2C60 2CEE AL
2CEF 2CF1 CM
+2CF2 2CF3 AL
2CF9 EX
2CFA 2CFC BA
2CFD AL
2CFE EX
2CFF BA
2D00 2D25 AL
-2D30 2D65 AL
+2D27 AL
+2D2D AL
+2D30 2D67 AL
2D6F AL
2D70 BA
2D7F CM
@@ -920,6 +932,10 @@ return <<'END';
2E2E EX
2E2F AL
2E30 2E31 BA
+2E32 AL
+2E33 2E34 BA
+2E35 2E39 AL
+2E3A 2E3B B2
2E80 2E99 ID
2E9B 2EF3 ID
2F00 2FD5 ID
@@ -956,59 +972,62 @@ return <<'END';
3030 303A ID
303B 303C NS
303D 303F ID
-3041 NS
+3041 CJ
3042 ID
-3043 NS
+3043 CJ
3044 ID
-3045 NS
+3045 CJ
3046 ID
-3047 NS
+3047 CJ
3048 ID
-3049 NS
+3049 CJ
304A 3062 ID
-3063 NS
+3063 CJ
3064 3082 ID
-3083 NS
+3083 CJ
3084 ID
-3085 NS
+3085 CJ
3086 ID
-3087 NS
+3087 CJ
3088 308D ID
-308E NS
+308E CJ
308F 3094 ID
-3095 3096 NS
+3095 3096 CJ
3099 309A CM
309B 309E NS
309F ID
-30A0 30A1 NS
+30A0 NS
+30A1 CJ
30A2 ID
-30A3 NS
+30A3 CJ
30A4 ID
-30A5 NS
+30A5 CJ
30A6 ID
-30A7 NS
+30A7 CJ
30A8 ID
-30A9 NS
+30A9 CJ
30AA 30C2 ID
-30C3 NS
+30C3 CJ
30C4 30E2 ID
-30E3 NS
+30E3 CJ
30E4 ID
-30E5 NS
+30E5 CJ
30E6 ID
-30E7 NS
+30E7 CJ
30E8 30ED ID
-30EE NS
+30EE CJ
30EF 30F4 ID
-30F5 30F6 NS
+30F5 30F6 CJ
30F7 30FA ID
-30FB 30FE NS
+30FB NS
+30FC CJ
+30FD 30FE NS
30FF ID
3105 312D ID
3131 318E ID
3190 31BA ID
31C0 31E3 ID
-31F0 31FF NS
+31F0 31FF CJ
3200 321E ID
3220 3247 ID
3248 324F AI
@@ -1031,16 +1050,17 @@ A62A A62B AL
A640 A66E AL
A66F A672 CM
A673 AL
-A67C A67D CM
+A674 A67D CM
A67E A697 AL
+A69F CM
A6A0 A6EF AL
A6F0 A6F1 CM
A6F2 AL
A6F3 A6F7 BA
A700 A78E AL
-A790 A791 AL
-A7A0 A7A9 AL
-A7FA A801 AL
+A790 A793 AL
+A7A0 A7AA AL
+A7F8 A801 AL
A802 CM
A803 A805 AL
A806 CM
@@ -1091,6 +1111,11 @@ AA5D AA5F BA
AA60 AA7B SA
AA80 AAC2 SA
AADB AADF SA
+AAE0 AAEA AL
+AAEB AAEF CM
+AAF0 AAF1 BA
+AAF2 AAF4 AL
+AAF5 AAF6 CM
AB01 AB06 AL
AB09 AB0E AL
AB11 AB16 AL
@@ -1905,14 +1930,17 @@ D800 DFFF SG
F900 FAFF ID
FB00 FB06 AL
FB13 FB17 AL
-FB1D AL
+FB1D HL
FB1E CM
-FB1F FB36 AL
-FB38 FB3C AL
-FB3E AL
-FB40 FB41 AL
-FB43 FB44 AL
-FB46 FBC1 AL
+FB1F FB28 HL
+FB29 AL
+FB2A FB36 HL
+FB38 FB3C HL
+FB3E HL
+FB40 FB41 HL
+FB43 FB44 HL
+FB46 FB4F HL
+FB50 FBC1 AL
FBD3 FD3D AL
FD3E OP
FD3F CL
@@ -2001,7 +2029,7 @@ FF62 OP
FF63 FF64 CL
FF65 NS
FF66 AL
-FF67 FF70 NS
+FF67 FF70 CJ
FF71 FF9D AL
FF9E FF9F NS
FFA0 FFBE AL
@@ -2055,6 +2083,8 @@ FFFD AI
1091F BA
10920 10939 AL
1093F AL
+10980 109B7 AL
+109BE 109BF AL
10A00 AL
10A01 10A03 CM
10A05 10A06 CM
@@ -2087,6 +2117,24 @@ FFFD AI
110B0 110BA CM
110BB 110BD AL
110BE 110C1 BA
+110D0 110E8 AL
+110F0 110F9 NU
+11100 11102 CM
+11103 11126 AL
+11127 11134 CM
+11136 1113F NU
+11140 11143 BA
+11180 11182 CM
+11183 111B2 AL
+111B3 111C0 CM
+111C1 111C4 AL
+111C5 111C6 BA
+111C7 AL
+111C8 BA
+111D0 111D9 NU
+11680 116AA AL
+116AB 116B7 CM
+116C0 116C9 NU
12000 1236E AL
12400 12462 AL
12470 12473 BA
@@ -2105,6 +2153,11 @@ FFFD AI
1337A 1337B CL
1337C 1342E AL
16800 16A38 AL
+16F00 16F44 AL
+16F50 AL
+16F51 16F7E CM
+16F8F 16F92 CM
+16F93 16F9F AL
1B000 1B001 ID
1D000 1D0F5 AL
1D100 1D126 AL
@@ -2143,6 +2196,40 @@ FFFD AI
1D552 1D6A5 AL
1D6A8 1D7CB AL
1D7CE 1D7FF NU
+1EE00 1EE03 AL
+1EE05 1EE1F AL
+1EE21 1EE22 AL
+1EE24 AL
+1EE27 AL
+1EE29 1EE32 AL
+1EE34 1EE37 AL
+1EE39 AL
+1EE3B AL
+1EE42 AL
+1EE47 AL
+1EE49 AL
+1EE4B AL
+1EE4D 1EE4F AL
+1EE51 1EE52 AL
+1EE54 AL
+1EE57 AL
+1EE59 AL
+1EE5B AL
+1EE5D AL
+1EE5F AL
+1EE61 1EE62 AL
+1EE64 AL
+1EE67 1EE6A AL
+1EE6C 1EE72 AL
+1EE74 1EE77 AL
+1EE79 1EE7C AL
+1EE7E AL
+1EE80 1EE89 AL
+1EE8B 1EE9B AL
+1EEA1 1EEA3 AL
+1EEA5 1EEA9 AL
+1EEAB 1EEBB AL
+1EEF0 1EEF1 AL
1F000 1F02B AL
1F030 1F093 AL
1F0A0 1F0AE AL
@@ -2153,6 +2240,7 @@ FFFD AI
1F110 1F12D AI
1F12E AL
1F130 1F169 AI
+1F16A 1F16B AL
1F170 1F19A AI
1F1E6 1F1FF AL
1F200 1F202 ID
@@ -2171,19 +2259,9 @@ FFFD AI
1F442 1F4F7 AL
1F4F9 1F4FC AL
1F500 1F53D AL
+1F540 1F543 AL
1F550 1F567 AL
-1F5FB 1F5FF AL
-1F601 1F610 AL
-1F612 1F614 AL
-1F616 AL
-1F618 AL
-1F61A AL
-1F61C 1F61E AL
-1F620 1F625 AL
-1F628 1F62B AL
-1F62D AL
-1F630 1F633 AL
-1F635 1F640 AL
+1F5FB 1F640 AL
1F645 1F64F AL
1F680 1F6C5 AL
1F700 1F773 AL
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Lc.pl b/Master/tlpkg/tlperl/lib/unicore/To/Lc.pl
new file mode 100644
index 00000000000..e6956c3a23e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Lc.pl
@@ -0,0 +1,652 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+# The mappings in the non-hash portion of this file must be modified to get the
+# correct values by adding the code point ordinal number to each one that is
+# numeric.
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToLc'}{'format'} = 'a'; # some entries need adjustment
+$utf8::SwashInfo{'ToLc'}{'specials_name'} = 'utf8::ToSpecLc'; # Name of hash of special mappings
+$utf8::SwashInfo{'ToLc'}{'missing'} = '0'; # code point maps to itself
+
+# Some code points require special handling because their mappings are each to
+# multiple code points. These do not appear in the main body, but are defined
+# in the hash below.
+
+# Each key is the string of N bytes that together make up the UTF-8 encoding
+# for the code point. (i.e. the same as looking at the code point's UTF-8
+# under "use bytes"). Each value is the UTF-8 of the translation, for speed.
+%utf8::ToSpecLc = (
+"\xC4\xB0" => "\x{0069}\x{0307}", # U+0130 => 0069 0307
+);
+
+return <<'END';
+0041 005A 97
+00C0 00D6 224
+00D8 00DE 248
+0100 257
+0102 259
+0104 261
+0106 263
+0108 265
+010A 267
+010C 269
+010E 271
+0110 273
+0112 275
+0114 277
+0116 279
+0118 281
+011A 283
+011C 285
+011E 287
+0120 289
+0122 291
+0124 293
+0126 295
+0128 297
+012A 299
+012C 301
+012E 303
+0130 105
+0132 307
+0134 309
+0136 311
+0139 314
+013B 316
+013D 318
+013F 320
+0141 322
+0143 324
+0145 326
+0147 328
+014A 331
+014C 333
+014E 335
+0150 337
+0152 339
+0154 341
+0156 343
+0158 345
+015A 347
+015C 349
+015E 351
+0160 353
+0162 355
+0164 357
+0166 359
+0168 361
+016A 363
+016C 365
+016E 367
+0170 369
+0172 371
+0174 373
+0176 375
+0178 255
+0179 378
+017B 380
+017D 382
+0181 595
+0182 387
+0184 389
+0186 596
+0187 392
+0189 018A 598
+018B 396
+018E 477
+018F 601
+0190 603
+0191 402
+0193 608
+0194 611
+0196 617
+0197 616
+0198 409
+019C 623
+019D 626
+019F 629
+01A0 417
+01A2 419
+01A4 421
+01A6 640
+01A7 424
+01A9 643
+01AC 429
+01AE 648
+01AF 432
+01B1 01B2 650
+01B3 436
+01B5 438
+01B7 658
+01B8 441
+01BC 445
+01C4 454
+01C5 454
+01C7 457
+01C8 457
+01CA 460
+01CB 460
+01CD 462
+01CF 464
+01D1 466
+01D3 468
+01D5 470
+01D7 472
+01D9 474
+01DB 476
+01DE 479
+01E0 481
+01E2 483
+01E4 485
+01E6 487
+01E8 489
+01EA 491
+01EC 493
+01EE 495
+01F1 499
+01F2 499
+01F4 501
+01F6 405
+01F7 447
+01F8 505
+01FA 507
+01FC 509
+01FE 511
+0200 513
+0202 515
+0204 517
+0206 519
+0208 521
+020A 523
+020C 525
+020E 527
+0210 529
+0212 531
+0214 533
+0216 535
+0218 537
+021A 539
+021C 541
+021E 543
+0220 414
+0222 547
+0224 549
+0226 551
+0228 553
+022A 555
+022C 557
+022E 559
+0230 561
+0232 563
+023A 11365
+023B 572
+023D 410
+023E 11366
+0241 578
+0243 384
+0244 649
+0245 652
+0246 583
+0248 585
+024A 587
+024C 589
+024E 591
+0370 881
+0372 883
+0376 887
+0386 940
+0388 038A 941
+038C 972
+038E 038F 973
+0391 03A1 945
+03A3 03AB 963
+03CF 983
+03D8 985
+03DA 987
+03DC 989
+03DE 991
+03E0 993
+03E2 995
+03E4 997
+03E6 999
+03E8 1001
+03EA 1003
+03EC 1005
+03EE 1007
+03F4 952
+03F7 1016
+03F9 1010
+03FA 1019
+03FD 03FF 891
+0400 040F 1104
+0410 042F 1072
+0460 1121
+0462 1123
+0464 1125
+0466 1127
+0468 1129
+046A 1131
+046C 1133
+046E 1135
+0470 1137
+0472 1139
+0474 1141
+0476 1143
+0478 1145
+047A 1147
+047C 1149
+047E 1151
+0480 1153
+048A 1163
+048C 1165
+048E 1167
+0490 1169
+0492 1171
+0494 1173
+0496 1175
+0498 1177
+049A 1179
+049C 1181
+049E 1183
+04A0 1185
+04A2 1187
+04A4 1189
+04A6 1191
+04A8 1193
+04AA 1195
+04AC 1197
+04AE 1199
+04B0 1201
+04B2 1203
+04B4 1205
+04B6 1207
+04B8 1209
+04BA 1211
+04BC 1213
+04BE 1215
+04C0 1231
+04C1 1218
+04C3 1220
+04C5 1222
+04C7 1224
+04C9 1226
+04CB 1228
+04CD 1230
+04D0 1233
+04D2 1235
+04D4 1237
+04D6 1239
+04D8 1241
+04DA 1243
+04DC 1245
+04DE 1247
+04E0 1249
+04E2 1251
+04E4 1253
+04E6 1255
+04E8 1257
+04EA 1259
+04EC 1261
+04EE 1263
+04F0 1265
+04F2 1267
+04F4 1269
+04F6 1271
+04F8 1273
+04FA 1275
+04FC 1277
+04FE 1279
+0500 1281
+0502 1283
+0504 1285
+0506 1287
+0508 1289
+050A 1291
+050C 1293
+050E 1295
+0510 1297
+0512 1299
+0514 1301
+0516 1303
+0518 1305
+051A 1307
+051C 1309
+051E 1311
+0520 1313
+0522 1315
+0524 1317
+0526 1319
+0531 0556 1377
+10A0 10C5 11520
+10C7 11559
+10CD 11565
+1E00 7681
+1E02 7683
+1E04 7685
+1E06 7687
+1E08 7689
+1E0A 7691
+1E0C 7693
+1E0E 7695
+1E10 7697
+1E12 7699
+1E14 7701
+1E16 7703
+1E18 7705
+1E1A 7707
+1E1C 7709
+1E1E 7711
+1E20 7713
+1E22 7715
+1E24 7717
+1E26 7719
+1E28 7721
+1E2A 7723
+1E2C 7725
+1E2E 7727
+1E30 7729
+1E32 7731
+1E34 7733
+1E36 7735
+1E38 7737
+1E3A 7739
+1E3C 7741
+1E3E 7743
+1E40 7745
+1E42 7747
+1E44 7749
+1E46 7751
+1E48 7753
+1E4A 7755
+1E4C 7757
+1E4E 7759
+1E50 7761
+1E52 7763
+1E54 7765
+1E56 7767
+1E58 7769
+1E5A 7771
+1E5C 7773
+1E5E 7775
+1E60 7777
+1E62 7779
+1E64 7781
+1E66 7783
+1E68 7785
+1E6A 7787
+1E6C 7789
+1E6E 7791
+1E70 7793
+1E72 7795
+1E74 7797
+1E76 7799
+1E78 7801
+1E7A 7803
+1E7C 7805
+1E7E 7807
+1E80 7809
+1E82 7811
+1E84 7813
+1E86 7815
+1E88 7817
+1E8A 7819
+1E8C 7821
+1E8E 7823
+1E90 7825
+1E92 7827
+1E94 7829
+1E9E 223
+1EA0 7841
+1EA2 7843
+1EA4 7845
+1EA6 7847
+1EA8 7849
+1EAA 7851
+1EAC 7853
+1EAE 7855
+1EB0 7857
+1EB2 7859
+1EB4 7861
+1EB6 7863
+1EB8 7865
+1EBA 7867
+1EBC 7869
+1EBE 7871
+1EC0 7873
+1EC2 7875
+1EC4 7877
+1EC6 7879
+1EC8 7881
+1ECA 7883
+1ECC 7885
+1ECE 7887
+1ED0 7889
+1ED2 7891
+1ED4 7893
+1ED6 7895
+1ED8 7897
+1EDA 7899
+1EDC 7901
+1EDE 7903
+1EE0 7905
+1EE2 7907
+1EE4 7909
+1EE6 7911
+1EE8 7913
+1EEA 7915
+1EEC 7917
+1EEE 7919
+1EF0 7921
+1EF2 7923
+1EF4 7925
+1EF6 7927
+1EF8 7929
+1EFA 7931
+1EFC 7933
+1EFE 7935
+1F08 1F0F 7936
+1F18 1F1D 7952
+1F28 1F2F 7968
+1F38 1F3F 7984
+1F48 1F4D 8000
+1F59 8017
+1F5B 8019
+1F5D 8021
+1F5F 8023
+1F68 1F6F 8032
+1F88 1F8F 8064
+1F98 1F9F 8080
+1FA8 1FAF 8096
+1FB8 1FB9 8112
+1FBA 1FBB 8048
+1FBC 8115
+1FC8 1FCB 8050
+1FCC 8131
+1FD8 1FD9 8144
+1FDA 1FDB 8054
+1FE8 1FE9 8160
+1FEA 1FEB 8058
+1FEC 8165
+1FF8 1FF9 8056
+1FFA 1FFB 8060
+1FFC 8179
+2126 969
+212A 107
+212B 229
+2132 8526
+2160 216F 8560
+2183 8580
+24B6 24CF 9424
+2C00 2C2E 11312
+2C60 11361
+2C62 619
+2C63 7549
+2C64 637
+2C67 11368
+2C69 11370
+2C6B 11372
+2C6D 593
+2C6E 625
+2C6F 592
+2C70 594
+2C72 11379
+2C75 11382
+2C7E 2C7F 575
+2C80 11393
+2C82 11395
+2C84 11397
+2C86 11399
+2C88 11401
+2C8A 11403
+2C8C 11405
+2C8E 11407
+2C90 11409
+2C92 11411
+2C94 11413
+2C96 11415
+2C98 11417
+2C9A 11419
+2C9C 11421
+2C9E 11423
+2CA0 11425
+2CA2 11427
+2CA4 11429
+2CA6 11431
+2CA8 11433
+2CAA 11435
+2CAC 11437
+2CAE 11439
+2CB0 11441
+2CB2 11443
+2CB4 11445
+2CB6 11447
+2CB8 11449
+2CBA 11451
+2CBC 11453
+2CBE 11455
+2CC0 11457
+2CC2 11459
+2CC4 11461
+2CC6 11463
+2CC8 11465
+2CCA 11467
+2CCC 11469
+2CCE 11471
+2CD0 11473
+2CD2 11475
+2CD4 11477
+2CD6 11479
+2CD8 11481
+2CDA 11483
+2CDC 11485
+2CDE 11487
+2CE0 11489
+2CE2 11491
+2CEB 11500
+2CED 11502
+2CF2 11507
+A640 42561
+A642 42563
+A644 42565
+A646 42567
+A648 42569
+A64A 42571
+A64C 42573
+A64E 42575
+A650 42577
+A652 42579
+A654 42581
+A656 42583
+A658 42585
+A65A 42587
+A65C 42589
+A65E 42591
+A660 42593
+A662 42595
+A664 42597
+A666 42599
+A668 42601
+A66A 42603
+A66C 42605
+A680 42625
+A682 42627
+A684 42629
+A686 42631
+A688 42633
+A68A 42635
+A68C 42637
+A68E 42639
+A690 42641
+A692 42643
+A694 42645
+A696 42647
+A722 42787
+A724 42789
+A726 42791
+A728 42793
+A72A 42795
+A72C 42797
+A72E 42799
+A732 42803
+A734 42805
+A736 42807
+A738 42809
+A73A 42811
+A73C 42813
+A73E 42815
+A740 42817
+A742 42819
+A744 42821
+A746 42823
+A748 42825
+A74A 42827
+A74C 42829
+A74E 42831
+A750 42833
+A752 42835
+A754 42837
+A756 42839
+A758 42841
+A75A 42843
+A75C 42845
+A75E 42847
+A760 42849
+A762 42851
+A764 42853
+A766 42855
+A768 42857
+A76A 42859
+A76C 42861
+A76E 42863
+A779 42874
+A77B 42876
+A77D 7545
+A77E 42879
+A780 42881
+A782 42883
+A784 42885
+A786 42887
+A78B 42892
+A78D 613
+A790 42897
+A792 42899
+A7A0 42913
+A7A2 42915
+A7A4 42917
+A7A6 42919
+A7A8 42921
+A7AA 614
+FF21 FF3A 65345
+10400 10427 66600
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Lower.pl b/Master/tlpkg/tlperl/lib/unicore/To/Lower.pl
index 37d92b1aa30..0b50284e7c9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Lower.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Lower.pl
@@ -1,12 +1,23 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! IT IS DEPRECATED TO USE THIS FILE !!!!!!!
+
+# This file is for internal use by core Perl only. It is retained for
+# backwards compatibility with applications that may have come to rely on it,
+# but its format and even its name or existence are subject to change without
+# notice in a future Perl version. Don't use it directly. Instead, its
+# contents are now retrievable through a stable API in the Unicode::UCD
+# module: Unicode::UCD::prop_invmap('Lowercase_Mapping').
+
# The name this swash is to be known by, with the format of the mappings in
# the main body of the table, and what all code points missing from this file
# map to.
-$utf8::SwashInfo{'ToLower'}{'format'} = 'x'; # positive hex whole number; a code point
+$utf8::SwashInfo{'ToLower'}{'format'} = 'x'; # non-negative hex whole number; a code point
+$utf8::SwashInfo{'ToLower'}{'specials_name'} = 'utf8::ToSpecLower'; # Name of hash of special mappings
$utf8::SwashInfo{'ToLower'}{'missing'} = '<code point>'; # code point maps to itself
# Some code points require special handling because their mappings are each to
@@ -522,6 +533,8 @@ return <<'END';
10C3 2D23
10C4 2D24
10C5 2D25
+10C7 2D27
+10CD 2D2D
1E00 1E01
1E02 1E03
1E04 1E05
@@ -903,6 +916,7 @@ return <<'END';
2CE2 2CE3
2CEB 2CEC
2CED 2CEE
+2CF2 2CF3
A640 A641
A642 A643
A644 A645
@@ -987,11 +1001,13 @@ A786 A787
A78B A78C
A78D 0265
A790 A791
+A792 A793
A7A0 A7A1
A7A2 A7A3
A7A4 A7A5
A7A6 A7A7
A7A8 A7A9
+A7AA 0266
FF21 FF41
FF22 FF42
FF23 FF43
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/NFCQC.pl b/Master/tlpkg/tlperl/lib/unicore/To/NFCQC.pl
index 0e5076be026..5fa91648040 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/NFCQC.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/NFCQC.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
# The name this swash is to be known by, with the format of the mappings in
@@ -108,8 +109,7 @@ FA15 FA1E N
FA20 N
FA22 N
FA25 FA26 N
-FA2A FA2D N
-FA30 FA6D N
+FA2A FA6D N
FA70 FAD9 N
FB1D N
FB1F N
@@ -120,6 +120,7 @@ FB40 FB41 N
FB43 FB44 N
FB46 FB4E N
110BA M
+11127 M
1D15E 1D164 N
1D1BB 1D1C0 N
2F800 2FA1D N
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/NFDQC.pl b/Master/tlpkg/tlperl/lib/unicore/To/NFDQC.pl
index c55dcb813f0..4c97a351c42 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/NFDQC.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/NFDQC.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
# The name this swash is to be known by, with the format of the mappings in
@@ -225,8 +226,7 @@ FA15 FA1E N
FA20 N
FA22 N
FA25 FA26 N
-FA2A FA2D N
-FA30 FA6D N
+FA2A FA6D N
FA70 FAD9 N
FB1D N
FB1F N
@@ -239,6 +239,7 @@ FB46 FB4E N
1109A N
1109C N
110AB N
+1112E 1112F N
1D15E 1D164 N
1D1BB 1D1C0 N
2F800 2FA1D N
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/NFKCCF.pl b/Master/tlpkg/tlperl/lib/unicore/To/NFKCCF.pl
index 6105b29f6dd..eafa9c80743 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/NFKCCF.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/NFKCCF.pl
@@ -1,12 +1,23 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! IT IS DEPRECATED TO USE THIS FILE !!!!!!!
+
+# This file is for internal use by core Perl only. It is retained for
+# backwards compatibility with applications that may have come to rely on it,
+# but its format and even its name or existence are subject to change without
+# notice in a future Perl version. Don't use it directly. Instead, its
+# contents are now retrievable through a stable API in the Unicode::UCD
+# module: Unicode::UCD::prop_invmap('NFKC_Casefold').
+
# The name this swash is to be known by, with the format of the mappings in
# the main body of the table, and what all code points missing from this file
# map to.
-$utf8::SwashInfo{'ToNFKCCF'}{'format'} = 'x'; # positive hex whole number; a code point
+$utf8::SwashInfo{'ToNFKCCF'}{'format'} = 'x'; # non-negative hex whole number; a code point
+$utf8::SwashInfo{'ToNFKCCF'}{'specials_name'} = 'utf8::ToSpecNFKCCF'; # Name of hash of special mappings
$utf8::SwashInfo{'ToNFKCCF'}{'missing'} = '<code point>'; # code point maps to itself
# Some code points require special handling because their mappings are each to
@@ -1375,6 +1386,8 @@ $utf8::SwashInfo{'ToNFKCCF'}{'missing'} = '<code point>'; # code point maps to i
"\xF0\x9F\x85\x8D" => "\x{0073}\x{0073}", # U+1F14D => 0073 0073
"\xF0\x9F\x85\x8E" => "\x{0070}\x{0070}\x{0076}", # U+1F14E => 0070 0070 0076
"\xF0\x9F\x85\x8F" => "\x{0077}\x{0063}", # U+1F14F => 0077 0063
+"\xF0\x9F\x85\xAA" => "\x{006D}\x{0063}", # U+1F16A => 006D 0063
+"\xF0\x9F\x85\xAB" => "\x{006D}\x{0064}", # U+1F16B => 006D 0064
"\xF0\x9F\x86\x90" => "\x{0064}\x{006A}", # U+1F190 => 0064 006A
"\xF0\x9F\x88\x80" => "\x{307B}\x{304B}", # U+1F200 => 307B 304B
"\xF0\x9F\x88\x81" => "\x{30B3}\x{30B3}", # U+1F201 => 30B3 30B3
@@ -6019,6 +6032,8 @@ return <<'END';
10C3 2D23
10C4 2D24
10C5 2D25
+10C7 2D27
+10CD 2D2D
10FC 10DC
1D2C 0061
1D2D 00E6
@@ -6620,6 +6635,7 @@ return <<'END';
2CE2 2CE3
2CEB 2CEC
2CED 2CEE
+2CF2 2CF3
2D6F 2D61
2E9F 6BCD
2EF3 9F9F
@@ -7163,11 +7179,15 @@ A786 A787
A78B A78C
A78D 0265
A790 A791
+A792 A793
A7A0 A7A1
A7A2 A7A3
A7A4 A7A5
A7A6 A7A7
A7A8 A7A9
+A7AA 0266
+A7F8 0127
+A7F9 0153
F900 8C48
F901 66F4
F902 8ECA
@@ -7458,6 +7478,8 @@ FA2A 98EF
FA2B 98FC
FA2C 9928
FA2D 9DB4
+FA2E 90DE
+FA2F 96B7
FA30 4FAE
FA31 50E7
FA32 514D
@@ -9196,6 +9218,147 @@ FFEE 25CB
1D7FD 0037
1D7FE 0038
1D7FF 0039
+1EE00 0627
+1EE01 0628
+1EE02 062C
+1EE03 062F
+1EE05 0648
+1EE06 0632
+1EE07 062D
+1EE08 0637
+1EE09 064A
+1EE0A 0643
+1EE0B 0644
+1EE0C 0645
+1EE0D 0646
+1EE0E 0633
+1EE0F 0639
+1EE10 0641
+1EE11 0635
+1EE12 0642
+1EE13 0631
+1EE14 0634
+1EE15 062A
+1EE16 062B
+1EE17 062E
+1EE18 0630
+1EE19 0636
+1EE1A 0638
+1EE1B 063A
+1EE1C 066E
+1EE1D 06BA
+1EE1E 06A1
+1EE1F 066F
+1EE21 0628
+1EE22 062C
+1EE24 0647
+1EE27 062D
+1EE29 064A
+1EE2A 0643
+1EE2B 0644
+1EE2C 0645
+1EE2D 0646
+1EE2E 0633
+1EE2F 0639
+1EE30 0641
+1EE31 0635
+1EE32 0642
+1EE34 0634
+1EE35 062A
+1EE36 062B
+1EE37 062E
+1EE39 0636
+1EE3B 063A
+1EE42 062C
+1EE47 062D
+1EE49 064A
+1EE4B 0644
+1EE4D 0646
+1EE4E 0633
+1EE4F 0639
+1EE51 0635
+1EE52 0642
+1EE54 0634
+1EE57 062E
+1EE59 0636
+1EE5B 063A
+1EE5D 06BA
+1EE5F 066F
+1EE61 0628
+1EE62 062C
+1EE64 0647
+1EE67 062D
+1EE68 0637
+1EE69 064A
+1EE6A 0643
+1EE6C 0645
+1EE6D 0646
+1EE6E 0633
+1EE6F 0639
+1EE70 0641
+1EE71 0635
+1EE72 0642
+1EE74 0634
+1EE75 062A
+1EE76 062B
+1EE77 062E
+1EE79 0636
+1EE7A 0638
+1EE7B 063A
+1EE7C 066E
+1EE7E 06A1
+1EE80 0627
+1EE81 0628
+1EE82 062C
+1EE83 062F
+1EE84 0647
+1EE85 0648
+1EE86 0632
+1EE87 062D
+1EE88 0637
+1EE89 064A
+1EE8B 0644
+1EE8C 0645
+1EE8D 0646
+1EE8E 0633
+1EE8F 0639
+1EE90 0641
+1EE91 0635
+1EE92 0642
+1EE93 0631
+1EE94 0634
+1EE95 062A
+1EE96 062B
+1EE97 062E
+1EE98 0630
+1EE99 0636
+1EE9A 0638
+1EE9B 063A
+1EEA1 0628
+1EEA2 062C
+1EEA3 062F
+1EEA5 0648
+1EEA6 0632
+1EEA7 062D
+1EEA8 0637
+1EEA9 064A
+1EEAB 0644
+1EEAC 0645
+1EEAD 0646
+1EEAE 0633
+1EEAF 0639
+1EEB0 0641
+1EEB1 0635
+1EEB2 0642
+1EEB3 0631
+1EEB4 0634
+1EEB5 062A
+1EEB6 062B
+1EEB7 062E
+1EEB8 0630
+1EEB9 0636
+1EEBA 0638
+1EEBB 063A
1F12B 0063
1F12C 0072
1F130 0061
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/NFKCQC.pl b/Master/tlpkg/tlperl/lib/unicore/To/NFKCQC.pl
index edb770cf54c..d7716f967ae 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/NFKCQC.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/NFKCQC.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
# The name this swash is to be known by, with the format of the mappings in
@@ -191,6 +192,7 @@ return <<'END';
3280 32FE N
3300 33FF N
A770 N
+A7F8 A7F9 N
F900 FA0D N
FA10 N
FA12 N
@@ -198,8 +200,7 @@ FA15 FA1E N
FA20 N
FA22 N
FA25 FA26 N
-FA2A FA2D N
-FA30 FA6D N
+FA2A FA6D N
FA70 FAD9 N
FB00 FB06 N
FB13 FB17 N
@@ -230,6 +231,7 @@ FFDA FFDC N
FFE0 FFE6 N
FFE8 FFEE N
110BA M
+11127 M
1D15E 1D164 N
1D1BB 1D1C0 N
1D400 1D454 N
@@ -253,9 +255,43 @@ FFE8 FFEE N
1D552 1D6A5 N
1D6A8 1D7CB N
1D7CE 1D7FF N
+1EE00 1EE03 N
+1EE05 1EE1F N
+1EE21 1EE22 N
+1EE24 N
+1EE27 N
+1EE29 1EE32 N
+1EE34 1EE37 N
+1EE39 N
+1EE3B N
+1EE42 N
+1EE47 N
+1EE49 N
+1EE4B N
+1EE4D 1EE4F N
+1EE51 1EE52 N
+1EE54 N
+1EE57 N
+1EE59 N
+1EE5B N
+1EE5D N
+1EE5F N
+1EE61 1EE62 N
+1EE64 N
+1EE67 1EE6A N
+1EE6C 1EE72 N
+1EE74 1EE77 N
+1EE79 1EE7C N
+1EE7E N
+1EE80 1EE89 N
+1EE8B 1EE9B N
+1EEA1 1EEA3 N
+1EEA5 1EEA9 N
+1EEAB 1EEBB N
1F100 1F10A N
1F110 1F12E N
1F130 1F14F N
+1F16A 1F16B N
1F190 N
1F200 1F202 N
1F210 1F23A N
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/NFKDQC.pl b/Master/tlpkg/tlperl/lib/unicore/To/NFKDQC.pl
index 9d78c1ffeee..02a3cc77c21 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/NFKDQC.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/NFKDQC.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
# The name this swash is to be known by, with the format of the mappings in
@@ -290,6 +291,7 @@ return <<'END';
3280 32FE N
3300 33FF N
A770 N
+A7F8 A7F9 N
AC00 D7A3 N
F900 FA0D N
FA10 N
@@ -298,8 +300,7 @@ FA15 FA1E N
FA20 N
FA22 N
FA25 FA26 N
-FA2A FA2D N
-FA30 FA6D N
+FA2A FA6D N
FA70 FAD9 N
FB00 FB06 N
FB13 FB17 N
@@ -332,6 +333,7 @@ FFE8 FFEE N
1109A N
1109C N
110AB N
+1112E 1112F N
1D15E 1D164 N
1D1BB 1D1C0 N
1D400 1D454 N
@@ -355,9 +357,43 @@ FFE8 FFEE N
1D552 1D6A5 N
1D6A8 1D7CB N
1D7CE 1D7FF N
+1EE00 1EE03 N
+1EE05 1EE1F N
+1EE21 1EE22 N
+1EE24 N
+1EE27 N
+1EE29 1EE32 N
+1EE34 1EE37 N
+1EE39 N
+1EE3B N
+1EE42 N
+1EE47 N
+1EE49 N
+1EE4B N
+1EE4D 1EE4F N
+1EE51 1EE52 N
+1EE54 N
+1EE57 N
+1EE59 N
+1EE5B N
+1EE5D N
+1EE5F N
+1EE61 1EE62 N
+1EE64 N
+1EE67 1EE6A N
+1EE6C 1EE72 N
+1EE74 1EE77 N
+1EE79 1EE7C N
+1EE7E N
+1EE80 1EE89 N
+1EE8B 1EE9B N
+1EEA1 1EEA3 N
+1EEA5 1EEA9 N
+1EEAB 1EEBB N
1F100 1F10A N
1F110 1F12E N
1F130 1F14F N
+1F16A 1F16B N
1F190 N
1F200 1F202 N
1F210 1F23A N
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Na1.pl b/Master/tlpkg/tlperl/lib/unicore/To/Na1.pl
index f61fa7e654c..9cff35cf041 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Na1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Na1.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
# The name this swash is to be known by, with the format of the mappings in
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/NameAlia.pl b/Master/tlpkg/tlperl/lib/unicore/To/NameAlia.pl
new file mode 100644
index 00000000000..426349e5523
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/NameAlia.pl
@@ -0,0 +1,468 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToNameAlias'}{'format'} = 's'; # string
+$utf8::SwashInfo{'ToNameAlias'}{'missing'} = ''; # code point maps to the null string
+
+return <<'END';
+0000 NULL: control
+0000 NUL: abbreviation
+0001 START OF HEADING: control
+0001 SOH: abbreviation
+0002 START OF TEXT: control
+0002 STX: abbreviation
+0003 END OF TEXT: control
+0003 ETX: abbreviation
+0004 END OF TRANSMISSION: control
+0004 EOT: abbreviation
+0005 ENQUIRY: control
+0005 ENQ: abbreviation
+0006 ACKNOWLEDGE: control
+0006 ACK: abbreviation
+0007 ALERT: control
+0007 BEL: abbreviation
+0008 BACKSPACE: control
+0008 BS: abbreviation
+0009 CHARACTER TABULATION: control
+0009 HORIZONTAL TABULATION: control
+0009 HT: abbreviation
+0009 TAB: abbreviation
+000A LINE FEED: control
+000A NEW LINE: control
+000A END OF LINE: control
+000A LF: abbreviation
+000A NL: abbreviation
+000A EOL: abbreviation
+000B LINE TABULATION: control
+000B VERTICAL TABULATION: control
+000B VT: abbreviation
+000C FORM FEED: control
+000C FF: abbreviation
+000D CARRIAGE RETURN: control
+000D CR: abbreviation
+000E SHIFT OUT: control
+000E LOCKING-SHIFT ONE: control
+000E SO: abbreviation
+000F SHIFT IN: control
+000F LOCKING-SHIFT ZERO: control
+000F SI: abbreviation
+0010 DATA LINK ESCAPE: control
+0010 DLE: abbreviation
+0011 DEVICE CONTROL ONE: control
+0011 DC1: abbreviation
+0012 DEVICE CONTROL TWO: control
+0012 DC2: abbreviation
+0013 DEVICE CONTROL THREE: control
+0013 DC3: abbreviation
+0014 DEVICE CONTROL FOUR: control
+0014 DC4: abbreviation
+0015 NEGATIVE ACKNOWLEDGE: control
+0015 NAK: abbreviation
+0016 SYNCHRONOUS IDLE: control
+0016 SYN: abbreviation
+0017 END OF TRANSMISSION BLOCK: control
+0017 ETB: abbreviation
+0018 CANCEL: control
+0018 CAN: abbreviation
+0019 END OF MEDIUM: control
+0019 EOM: abbreviation
+001A SUBSTITUTE: control
+001A SUB: abbreviation
+001B ESCAPE: control
+001B ESC: abbreviation
+001C INFORMATION SEPARATOR FOUR: control
+001C FILE SEPARATOR: control
+001C FS: abbreviation
+001D INFORMATION SEPARATOR THREE: control
+001D GROUP SEPARATOR: control
+001D GS: abbreviation
+001E INFORMATION SEPARATOR TWO: control
+001E RECORD SEPARATOR: control
+001E RS: abbreviation
+001F INFORMATION SEPARATOR ONE: control
+001F UNIT SEPARATOR: control
+001F US: abbreviation
+0020 SP: abbreviation
+007F DELETE: control
+007F DEL: abbreviation
+0080 PADDING CHARACTER: figment
+0080 PAD: abbreviation
+0081 HIGH OCTET PRESET: figment
+0081 HOP: abbreviation
+0082 BREAK PERMITTED HERE: control
+0082 BPH: abbreviation
+0083 NO BREAK HERE: control
+0083 NBH: abbreviation
+0084 INDEX: control
+0084 IND: abbreviation
+0085 NEXT LINE: control
+0085 NEL: abbreviation
+0086 START OF SELECTED AREA: control
+0086 SSA: abbreviation
+0087 END OF SELECTED AREA: control
+0087 ESA: abbreviation
+0088 CHARACTER TABULATION SET: control
+0088 HORIZONTAL TABULATION SET: control
+0088 HTS: abbreviation
+0089 CHARACTER TABULATION WITH JUSTIFICATION: control
+0089 HORIZONTAL TABULATION WITH JUSTIFICATION: control
+0089 HTJ: abbreviation
+008A LINE TABULATION SET: control
+008A VERTICAL TABULATION SET: control
+008A VTS: abbreviation
+008B PARTIAL LINE FORWARD: control
+008B PARTIAL LINE DOWN: control
+008B PLD: abbreviation
+008C PARTIAL LINE BACKWARD: control
+008C PARTIAL LINE UP: control
+008C PLU: abbreviation
+008D REVERSE LINE FEED: control
+008D REVERSE INDEX: control
+008D RI: abbreviation
+008E SINGLE SHIFT TWO: control
+008E SINGLE-SHIFT-2: control
+008E SS2: abbreviation
+008F SINGLE SHIFT THREE: control
+008F SINGLE-SHIFT-3: control
+008F SS3: abbreviation
+0090 DEVICE CONTROL STRING: control
+0090 DCS: abbreviation
+0091 PRIVATE USE ONE: control
+0091 PRIVATE USE-1: control
+0091 PU1: abbreviation
+0092 PRIVATE USE TWO: control
+0092 PRIVATE USE-2: control
+0092 PU2: abbreviation
+0093 SET TRANSMIT STATE: control
+0093 STS: abbreviation
+0094 CANCEL CHARACTER: control
+0094 CCH: abbreviation
+0095 MESSAGE WAITING: control
+0095 MW: abbreviation
+0096 START OF GUARDED AREA: control
+0096 START OF PROTECTED AREA: control
+0096 SPA: abbreviation
+0097 END OF GUARDED AREA: control
+0097 END OF PROTECTED AREA: control
+0097 EPA: abbreviation
+0098 START OF STRING: control
+0098 SOS: abbreviation
+0099 SINGLE GRAPHIC CHARACTER INTRODUCER: figment
+0099 SGC: abbreviation
+009A SINGLE CHARACTER INTRODUCER: control
+009A SCI: abbreviation
+009B CONTROL SEQUENCE INTRODUCER: control
+009B CSI: abbreviation
+009C STRING TERMINATOR: control
+009C ST: abbreviation
+009D OPERATING SYSTEM COMMAND: control
+009D OSC: abbreviation
+009E PRIVACY MESSAGE: control
+009E PM: abbreviation
+009F APPLICATION PROGRAM COMMAND: control
+009F APC: abbreviation
+00A0 NBSP: abbreviation
+00AD SHY: abbreviation
+01A2 LATIN CAPITAL LETTER GHA: correction
+01A3 LATIN SMALL LETTER GHA: correction
+034F CGJ: abbreviation
+0CDE KANNADA LETTER LLLA: correction
+0E9D LAO LETTER FO FON: correction
+0E9F LAO LETTER FO FAY: correction
+0EA3 LAO LETTER RO: correction
+0EA5 LAO LETTER LO: correction
+0FD0 TIBETAN MARK BKA- SHOG GI MGO RGYAN: correction
+180B FVS1: abbreviation
+180C FVS2: abbreviation
+180D FVS3: abbreviation
+180E MVS: abbreviation
+200B ZWSP: abbreviation
+200C ZWNJ: abbreviation
+200D ZWJ: abbreviation
+200E LRM: abbreviation
+200F RLM: abbreviation
+202A LRE: abbreviation
+202B RLE: abbreviation
+202C PDF: abbreviation
+202D LRO: abbreviation
+202E RLO: abbreviation
+202F NNBSP: abbreviation
+205F MMSP: abbreviation
+2060 WJ: abbreviation
+2118 WEIERSTRASS ELLIPTIC FUNCTION: correction
+2448 MICR ON US SYMBOL: correction
+2449 MICR DASH SYMBOL: correction
+A015 YI SYLLABLE ITERATION MARK: correction
+FE00 VS1: abbreviation
+FE01 VS2: abbreviation
+FE02 VS3: abbreviation
+FE03 VS4: abbreviation
+FE04 VS5: abbreviation
+FE05 VS6: abbreviation
+FE06 VS7: abbreviation
+FE07 VS8: abbreviation
+FE08 VS9: abbreviation
+FE09 VS10: abbreviation
+FE0A VS11: abbreviation
+FE0B VS12: abbreviation
+FE0C VS13: abbreviation
+FE0D VS14: abbreviation
+FE0E VS15: abbreviation
+FE0F VS16: abbreviation
+FE18 PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRACKET: correction
+FEFF BYTE ORDER MARK: alternate
+FEFF BOM: abbreviation
+FEFF ZWNBSP: abbreviation
+1D0C5 BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA VASIS: correction
+E0100 VS17: abbreviation
+E0101 VS18: abbreviation
+E0102 VS19: abbreviation
+E0103 VS20: abbreviation
+E0104 VS21: abbreviation
+E0105 VS22: abbreviation
+E0106 VS23: abbreviation
+E0107 VS24: abbreviation
+E0108 VS25: abbreviation
+E0109 VS26: abbreviation
+E010A VS27: abbreviation
+E010B VS28: abbreviation
+E010C VS29: abbreviation
+E010D VS30: abbreviation
+E010E VS31: abbreviation
+E010F VS32: abbreviation
+E0110 VS33: abbreviation
+E0111 VS34: abbreviation
+E0112 VS35: abbreviation
+E0113 VS36: abbreviation
+E0114 VS37: abbreviation
+E0115 VS38: abbreviation
+E0116 VS39: abbreviation
+E0117 VS40: abbreviation
+E0118 VS41: abbreviation
+E0119 VS42: abbreviation
+E011A VS43: abbreviation
+E011B VS44: abbreviation
+E011C VS45: abbreviation
+E011D VS46: abbreviation
+E011E VS47: abbreviation
+E011F VS48: abbreviation
+E0120 VS49: abbreviation
+E0121 VS50: abbreviation
+E0122 VS51: abbreviation
+E0123 VS52: abbreviation
+E0124 VS53: abbreviation
+E0125 VS54: abbreviation
+E0126 VS55: abbreviation
+E0127 VS56: abbreviation
+E0128 VS57: abbreviation
+E0129 VS58: abbreviation
+E012A VS59: abbreviation
+E012B VS60: abbreviation
+E012C VS61: abbreviation
+E012D VS62: abbreviation
+E012E VS63: abbreviation
+E012F VS64: abbreviation
+E0130 VS65: abbreviation
+E0131 VS66: abbreviation
+E0132 VS67: abbreviation
+E0133 VS68: abbreviation
+E0134 VS69: abbreviation
+E0135 VS70: abbreviation
+E0136 VS71: abbreviation
+E0137 VS72: abbreviation
+E0138 VS73: abbreviation
+E0139 VS74: abbreviation
+E013A VS75: abbreviation
+E013B VS76: abbreviation
+E013C VS77: abbreviation
+E013D VS78: abbreviation
+E013E VS79: abbreviation
+E013F VS80: abbreviation
+E0140 VS81: abbreviation
+E0141 VS82: abbreviation
+E0142 VS83: abbreviation
+E0143 VS84: abbreviation
+E0144 VS85: abbreviation
+E0145 VS86: abbreviation
+E0146 VS87: abbreviation
+E0147 VS88: abbreviation
+E0148 VS89: abbreviation
+E0149 VS90: abbreviation
+E014A VS91: abbreviation
+E014B VS92: abbreviation
+E014C VS93: abbreviation
+E014D VS94: abbreviation
+E014E VS95: abbreviation
+E014F VS96: abbreviation
+E0150 VS97: abbreviation
+E0151 VS98: abbreviation
+E0152 VS99: abbreviation
+E0153 VS100: abbreviation
+E0154 VS101: abbreviation
+E0155 VS102: abbreviation
+E0156 VS103: abbreviation
+E0157 VS104: abbreviation
+E0158 VS105: abbreviation
+E0159 VS106: abbreviation
+E015A VS107: abbreviation
+E015B VS108: abbreviation
+E015C VS109: abbreviation
+E015D VS110: abbreviation
+E015E VS111: abbreviation
+E015F VS112: abbreviation
+E0160 VS113: abbreviation
+E0161 VS114: abbreviation
+E0162 VS115: abbreviation
+E0163 VS116: abbreviation
+E0164 VS117: abbreviation
+E0165 VS118: abbreviation
+E0166 VS119: abbreviation
+E0167 VS120: abbreviation
+E0168 VS121: abbreviation
+E0169 VS122: abbreviation
+E016A VS123: abbreviation
+E016B VS124: abbreviation
+E016C VS125: abbreviation
+E016D VS126: abbreviation
+E016E VS127: abbreviation
+E016F VS128: abbreviation
+E0170 VS129: abbreviation
+E0171 VS130: abbreviation
+E0172 VS131: abbreviation
+E0173 VS132: abbreviation
+E0174 VS133: abbreviation
+E0175 VS134: abbreviation
+E0176 VS135: abbreviation
+E0177 VS136: abbreviation
+E0178 VS137: abbreviation
+E0179 VS138: abbreviation
+E017A VS139: abbreviation
+E017B VS140: abbreviation
+E017C VS141: abbreviation
+E017D VS142: abbreviation
+E017E VS143: abbreviation
+E017F VS144: abbreviation
+E0180 VS145: abbreviation
+E0181 VS146: abbreviation
+E0182 VS147: abbreviation
+E0183 VS148: abbreviation
+E0184 VS149: abbreviation
+E0185 VS150: abbreviation
+E0186 VS151: abbreviation
+E0187 VS152: abbreviation
+E0188 VS153: abbreviation
+E0189 VS154: abbreviation
+E018A VS155: abbreviation
+E018B VS156: abbreviation
+E018C VS157: abbreviation
+E018D VS158: abbreviation
+E018E VS159: abbreviation
+E018F VS160: abbreviation
+E0190 VS161: abbreviation
+E0191 VS162: abbreviation
+E0192 VS163: abbreviation
+E0193 VS164: abbreviation
+E0194 VS165: abbreviation
+E0195 VS166: abbreviation
+E0196 VS167: abbreviation
+E0197 VS168: abbreviation
+E0198 VS169: abbreviation
+E0199 VS170: abbreviation
+E019A VS171: abbreviation
+E019B VS172: abbreviation
+E019C VS173: abbreviation
+E019D VS174: abbreviation
+E019E VS175: abbreviation
+E019F VS176: abbreviation
+E01A0 VS177: abbreviation
+E01A1 VS178: abbreviation
+E01A2 VS179: abbreviation
+E01A3 VS180: abbreviation
+E01A4 VS181: abbreviation
+E01A5 VS182: abbreviation
+E01A6 VS183: abbreviation
+E01A7 VS184: abbreviation
+E01A8 VS185: abbreviation
+E01A9 VS186: abbreviation
+E01AA VS187: abbreviation
+E01AB VS188: abbreviation
+E01AC VS189: abbreviation
+E01AD VS190: abbreviation
+E01AE VS191: abbreviation
+E01AF VS192: abbreviation
+E01B0 VS193: abbreviation
+E01B1 VS194: abbreviation
+E01B2 VS195: abbreviation
+E01B3 VS196: abbreviation
+E01B4 VS197: abbreviation
+E01B5 VS198: abbreviation
+E01B6 VS199: abbreviation
+E01B7 VS200: abbreviation
+E01B8 VS201: abbreviation
+E01B9 VS202: abbreviation
+E01BA VS203: abbreviation
+E01BB VS204: abbreviation
+E01BC VS205: abbreviation
+E01BD VS206: abbreviation
+E01BE VS207: abbreviation
+E01BF VS208: abbreviation
+E01C0 VS209: abbreviation
+E01C1 VS210: abbreviation
+E01C2 VS211: abbreviation
+E01C3 VS212: abbreviation
+E01C4 VS213: abbreviation
+E01C5 VS214: abbreviation
+E01C6 VS215: abbreviation
+E01C7 VS216: abbreviation
+E01C8 VS217: abbreviation
+E01C9 VS218: abbreviation
+E01CA VS219: abbreviation
+E01CB VS220: abbreviation
+E01CC VS221: abbreviation
+E01CD VS222: abbreviation
+E01CE VS223: abbreviation
+E01CF VS224: abbreviation
+E01D0 VS225: abbreviation
+E01D1 VS226: abbreviation
+E01D2 VS227: abbreviation
+E01D3 VS228: abbreviation
+E01D4 VS229: abbreviation
+E01D5 VS230: abbreviation
+E01D6 VS231: abbreviation
+E01D7 VS232: abbreviation
+E01D8 VS233: abbreviation
+E01D9 VS234: abbreviation
+E01DA VS235: abbreviation
+E01DB VS236: abbreviation
+E01DC VS237: abbreviation
+E01DD VS238: abbreviation
+E01DE VS239: abbreviation
+E01DF VS240: abbreviation
+E01E0 VS241: abbreviation
+E01E1 VS242: abbreviation
+E01E2 VS243: abbreviation
+E01E3 VS244: abbreviation
+E01E4 VS245: abbreviation
+E01E5 VS246: abbreviation
+E01E6 VS247: abbreviation
+E01E7 VS248: abbreviation
+E01E8 VS249: abbreviation
+E01E9 VS250: abbreviation
+E01EA VS251: abbreviation
+E01EB VS252: abbreviation
+E01EC VS253: abbreviation
+E01ED VS254: abbreviation
+E01EE VS255: abbreviation
+E01EF VS256: abbreviation
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Nt.pl b/Master/tlpkg/tlperl/lib/unicore/To/Nt.pl
index 99d4674fc29..e4b17766b35 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Nt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Nt.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
# The name this swash is to be known by, with the format of the mappings in
@@ -85,6 +86,7 @@ return <<'END';
3038 303A Numeric
3192 3195 Numeric
3220 3229 Numeric
+3248 324F Numeric
3251 325F Numeric
3280 3289 Numeric
32B1 32BF Numeric
@@ -173,6 +175,10 @@ FF10 FF19 Decimal
11052 1105A Digit
1105B 11065 Numeric
11066 1106F Decimal
+110F0 110F9 Decimal
+11136 1113F Decimal
+111D0 111D9 Decimal
+116C0 116C9 Decimal
12400 12431 Numeric
12434 12455 Numeric
12458 12462 Numeric
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Nv.pl b/Master/tlpkg/tlperl/lib/unicore/To/Nv.pl
index d12d30f5cdc..039b3eb6a17 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Nv.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Nv.pl
@@ -1,214 +1,65 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+# The mappings must be modified to get the correct values by adding the code
+# point ordinal number to each one that is numeric.
+
# The name this swash is to be known by, with the format of the mappings in
# the main body of the table, and what all code points missing from this file
# map to.
-$utf8::SwashInfo{'ToNv'}{'format'} = 'r'; # rational: an integer or a fraction
+$utf8::SwashInfo{'ToNv'}{'format'} = 'a'; # some entries need adjustment
$utf8::SwashInfo{'ToNv'}{'missing'} = 'NaN';
return <<'END';
-0030 0
-0031 1
-0032 2
-0033 3
-0034 4
-0035 5
-0036 6
-0037 7
-0038 8
-0039 9
-00B2 2
-00B3 3
+0030 0039 0
+00B2 00B3 2
00B9 1
00BC 1/4
00BD 1/2
00BE 3/4
-0660 0
-0661 1
-0662 2
-0663 3
-0664 4
-0665 5
-0666 6
-0667 7
-0668 8
-0669 9
-06F0 0
-06F1 1
-06F2 2
-06F3 3
-06F4 4
-06F5 5
-06F6 6
-06F7 7
-06F8 8
-06F9 9
-07C0 0
-07C1 1
-07C2 2
-07C3 3
-07C4 4
-07C5 5
-07C6 6
-07C7 7
-07C8 8
-07C9 9
-0966 0
-0967 1
-0968 2
-0969 3
-096A 4
-096B 5
-096C 6
-096D 7
-096E 8
-096F 9
-09E6 0
-09E7 1
-09E8 2
-09E9 3
-09EA 4
-09EB 5
-09EC 6
-09ED 7
-09EE 8
-09EF 9
+0660 0669 0
+06F0 06F9 0
+07C0 07C9 0
+0966 096F 0
+09E6 09EF 0
09F4 1/16
09F5 1/8
09F6 3/16
09F7 1/4
09F8 3/4
09F9 16
-0A66 0
-0A67 1
-0A68 2
-0A69 3
-0A6A 4
-0A6B 5
-0A6C 6
-0A6D 7
-0A6E 8
-0A6F 9
-0AE6 0
-0AE7 1
-0AE8 2
-0AE9 3
-0AEA 4
-0AEB 5
-0AEC 6
-0AED 7
-0AEE 8
-0AEF 9
-0B66 0
-0B67 1
-0B68 2
-0B69 3
-0B6A 4
-0B6B 5
-0B6C 6
-0B6D 7
-0B6E 8
-0B6F 9
+0A66 0A6F 0
+0AE6 0AEF 0
+0B66 0B6F 0
0B72 1/4
0B73 1/2
0B74 3/4
0B75 1/16
0B76 1/8
0B77 3/16
-0BE6 0
-0BE7 1
-0BE8 2
-0BE9 3
-0BEA 4
-0BEB 5
-0BEC 6
-0BED 7
-0BEE 8
-0BEF 9
-0BF0 10
+0BE6 0BF0 0
0BF1 100
0BF2 1000
-0C66 0
-0C67 1
-0C68 2
-0C69 3
-0C6A 4
-0C6B 5
-0C6C 6
-0C6D 7
-0C6E 8
-0C6F 9
-0C78 0
-0C79 1
-0C7A 2
-0C7B 3
-0C7C 1
-0C7D 2
-0C7E 3
-0CE6 0
-0CE7 1
-0CE8 2
-0CE9 3
-0CEA 4
-0CEB 5
-0CEC 6
-0CED 7
-0CEE 8
-0CEF 9
-0D66 0
-0D67 1
-0D68 2
-0D69 3
-0D6A 4
-0D6B 5
-0D6C 6
-0D6D 7
-0D6E 8
-0D6F 9
-0D70 10
+0C66 0C6F 0
+0C78 0C7B 0
+0C7C 0C7E 1
+0CE6 0CEF 0
+0D66 0D70 0
0D71 100
0D72 1000
0D73 1/4
0D74 1/2
0D75 3/4
-0E50 0
-0E51 1
-0E52 2
-0E53 3
-0E54 4
-0E55 5
-0E56 6
-0E57 7
-0E58 8
-0E59 9
-0ED0 0
-0ED1 1
-0ED2 2
-0ED3 3
-0ED4 4
-0ED5 5
-0ED6 6
-0ED7 7
-0ED8 8
-0ED9 9
-0F20 0
-0F21 1
-0F22 2
-0F23 3
-0F24 4
-0F25 5
-0F26 6
-0F27 7
-0F28 8
-0F29 9
+0E50 0E59 0
+0ED0 0ED9 0
+0F20 0F29 0
0F2A 1/2
0F2B 3/2
0F2C 5/2
@@ -219,36 +70,9 @@ return <<'END';
0F31 15/2
0F32 17/2
0F33 -1/2
-1040 0
-1041 1
-1042 2
-1043 3
-1044 4
-1045 5
-1046 6
-1047 7
-1048 8
-1049 9
-1090 0
-1091 1
-1092 2
-1093 3
-1094 4
-1095 5
-1096 6
-1097 7
-1098 8
-1099 9
-1369 1
-136A 2
-136B 3
-136C 4
-136D 5
-136E 6
-136F 7
-1370 8
-1371 9
-1372 10
+1040 1049 0
+1090 1099 0
+1369 1372 1
1373 20
1374 30
1375 40
@@ -259,137 +83,22 @@ return <<'END';
137A 90
137B 100
137C 10000
-16EE 17
-16EF 18
-16F0 19
-17E0 0
-17E1 1
-17E2 2
-17E3 3
-17E4 4
-17E5 5
-17E6 6
-17E7 7
-17E8 8
-17E9 9
-17F0 0
-17F1 1
-17F2 2
-17F3 3
-17F4 4
-17F5 5
-17F6 6
-17F7 7
-17F8 8
-17F9 9
-1810 0
-1811 1
-1812 2
-1813 3
-1814 4
-1815 5
-1816 6
-1817 7
-1818 8
-1819 9
-1946 0
-1947 1
-1948 2
-1949 3
-194A 4
-194B 5
-194C 6
-194D 7
-194E 8
-194F 9
-19D0 0
-19D1 1
-19D2 2
-19D3 3
-19D4 4
-19D5 5
-19D6 6
-19D7 7
-19D8 8
-19D9 9
+16EE 16F0 17
+17E0 17E9 0
+17F0 17F9 0
+1810 1819 0
+1946 194F 0
+19D0 19D9 0
19DA 1
-1A80 0
-1A81 1
-1A82 2
-1A83 3
-1A84 4
-1A85 5
-1A86 6
-1A87 7
-1A88 8
-1A89 9
-1A90 0
-1A91 1
-1A92 2
-1A93 3
-1A94 4
-1A95 5
-1A96 6
-1A97 7
-1A98 8
-1A99 9
-1B50 0
-1B51 1
-1B52 2
-1B53 3
-1B54 4
-1B55 5
-1B56 6
-1B57 7
-1B58 8
-1B59 9
-1BB0 0
-1BB1 1
-1BB2 2
-1BB3 3
-1BB4 4
-1BB5 5
-1BB6 6
-1BB7 7
-1BB8 8
-1BB9 9
-1C40 0
-1C41 1
-1C42 2
-1C43 3
-1C44 4
-1C45 5
-1C46 6
-1C47 7
-1C48 8
-1C49 9
-1C50 0
-1C51 1
-1C52 2
-1C53 3
-1C54 4
-1C55 5
-1C56 6
-1C57 7
-1C58 8
-1C59 9
+1A80 1A89 0
+1A90 1A99 0
+1B50 1B59 0
+1BB0 1BB9 0
+1C40 1C49 0
+1C50 1C59 0
2070 0
-2074 4
-2075 5
-2076 6
-2077 7
-2078 8
-2079 9
-2080 0
-2081 1
-2082 2
-2083 3
-2084 4
-2085 5
-2086 6
-2087 7
-2088 8
-2089 9
+2074 2079 4
+2080 2089 0
2150 1/7
2151 1/9
2152 1/10
@@ -405,38 +114,18 @@ return <<'END';
215C 3/8
215D 5/8
215E 7/8
-215F 2160 1
-2161 2
-2162 3
-2163 4
-2164 5
-2165 6
-2166 7
-2167 8
-2168 9
-2169 10
-216A 11
-216B 12
+215F 1
+2160 216B 1
216C 50
216D 100
216E 500
216F 1000
-2170 1
-2171 2
-2172 3
-2173 4
-2174 5
-2175 6
-2176 7
-2177 8
-2178 9
-2179 10
-217A 11
-217B 12
+2170 217B 1
217C 50
217D 100
217E 500
-217F 2180 1000
+217F 1000
+2180 1000
2181 5000
2182 10000
2185 6
@@ -444,186 +133,35 @@ return <<'END';
2187 50000
2188 100000
2189 0
-2460 1
-2461 2
-2462 3
-2463 4
-2464 5
-2465 6
-2466 7
-2467 8
-2468 9
-2469 10
-246A 11
-246B 12
-246C 13
-246D 14
-246E 15
-246F 16
-2470 17
-2471 18
-2472 19
-2473 20
-2474 1
-2475 2
-2476 3
-2477 4
-2478 5
-2479 6
-247A 7
-247B 8
-247C 9
-247D 10
-247E 11
-247F 12
-2480 13
-2481 14
-2482 15
-2483 16
-2484 17
-2485 18
-2486 19
-2487 20
-2488 1
-2489 2
-248A 3
-248B 4
-248C 5
-248D 6
-248E 7
-248F 8
-2490 9
-2491 10
-2492 11
-2493 12
-2494 13
-2495 14
-2496 15
-2497 16
-2498 17
-2499 18
-249A 19
-249B 20
+2460 2473 1
+2474 2487 1
+2488 249B 1
24EA 0
-24EB 11
-24EC 12
-24ED 13
-24EE 14
-24EF 15
-24F0 16
-24F1 17
-24F2 18
-24F3 19
-24F4 20
-24F5 1
-24F6 2
-24F7 3
-24F8 4
-24F9 5
-24FA 6
-24FB 7
-24FC 8
-24FD 9
-24FE 10
+24EB 24F4 11
+24F5 24FE 1
24FF 0
-2776 1
-2777 2
-2778 3
-2779 4
-277A 5
-277B 6
-277C 7
-277D 8
-277E 9
-277F 10
-2780 1
-2781 2
-2782 3
-2783 4
-2784 5
-2785 6
-2786 7
-2787 8
-2788 9
-2789 10
-278A 1
-278B 2
-278C 3
-278D 4
-278E 5
-278F 6
-2790 7
-2791 8
-2792 9
-2793 10
+2776 277F 1
+2780 2789 1
+278A 2793 1
2CFD 1/2
3007 0
-3021 1
-3022 2
-3023 3
-3024 4
-3025 5
-3026 6
-3027 7
-3028 8
-3029 9
+3021 3029 1
3038 10
3039 20
303A 30
-3192 1
-3193 2
-3194 3
-3195 4
-3220 1
-3221 2
-3222 3
-3223 4
-3224 5
-3225 6
-3226 7
-3227 8
-3228 9
-3229 10
-3251 21
-3252 22
-3253 23
-3254 24
-3255 25
-3256 26
-3257 27
-3258 28
-3259 29
-325A 30
-325B 31
-325C 32
-325D 33
-325E 34
-325F 35
-3280 1
-3281 2
-3282 3
-3283 4
-3284 5
-3285 6
-3286 7
-3287 8
-3288 9
-3289 10
-32B1 36
-32B2 37
-32B3 38
-32B4 39
-32B5 40
-32B6 41
-32B7 42
-32B8 43
-32B9 44
-32BA 45
-32BB 46
-32BC 47
-32BD 48
-32BE 49
-32BF 50
+3192 3195 1
+3220 3229 1
+3248 10
+3249 20
+324A 30
+324B 40
+324C 50
+324D 60
+324E 70
+324F 80
+3251 325F 21
+3280 3289 1
+32B1 32BF 36
3405 5
3483 2
382A 5
@@ -652,16 +190,17 @@ return <<'END';
5344 20
5345 30
534C 40
-53C1 53C4 3
+53C1 3
+53C2 3
+53C3 3
+53C4 3
56DB 4
58F1 1
58F9 1
5E7A 1
5EFE 9
5EFF 20
-5F0C 1
-5F0D 2
-5F0E 3
+5F0C 5F0E 1
5F10 2
62FE 10
634C 8
@@ -679,25 +218,8 @@ return <<'END';
964C 100
9678 6
96F6 0
-A620 0
-A621 1
-A622 2
-A623 3
-A624 4
-A625 5
-A626 6
-A627 7
-A628 8
-A629 9
-A6E6 1
-A6E7 2
-A6E8 3
-A6E9 4
-A6EA 5
-A6EB 6
-A6EC 7
-A6ED 8
-A6EE 9
+A620 A629 0
+A6E6 A6EE 1
A6EF 0
A830 1/4
A831 1/2
@@ -705,56 +227,11 @@ A832 3/4
A833 1/16
A834 1/8
A835 3/16
-A8D0 0
-A8D1 1
-A8D2 2
-A8D3 3
-A8D4 4
-A8D5 5
-A8D6 6
-A8D7 7
-A8D8 8
-A8D9 9
-A900 0
-A901 1
-A902 2
-A903 3
-A904 4
-A905 5
-A906 6
-A907 7
-A908 8
-A909 9
-A9D0 0
-A9D1 1
-A9D2 2
-A9D3 3
-A9D4 4
-A9D5 5
-A9D6 6
-A9D7 7
-A9D8 8
-A9D9 9
-AA50 0
-AA51 1
-AA52 2
-AA53 3
-AA54 4
-AA55 5
-AA56 6
-AA57 7
-AA58 8
-AA59 9
-ABF0 0
-ABF1 1
-ABF2 2
-ABF3 3
-ABF4 4
-ABF5 5
-ABF6 6
-ABF7 7
-ABF8 8
-ABF9 9
+A8D0 A8D9 0
+A900 A909 0
+A9D0 A9D9 0
+AA50 AA59 0
+ABF0 ABF9 0
F96B 3
F973 10
F978 2
@@ -762,26 +239,8 @@ F9B2 0
F9D1 6
F9D3 6
F9FD 10
-FF10 0
-FF11 1
-FF12 2
-FF13 3
-FF14 4
-FF15 5
-FF16 6
-FF17 7
-FF18 8
-FF19 9
-10107 1
-10108 2
-10109 3
-1010A 4
-1010B 5
-1010C 6
-1010D 7
-1010E 8
-1010F 9
-10110 10
+FF10 FF19 0
+10107 10110 1
10111 20
10112 30
10113 40
@@ -841,20 +300,36 @@ FF19 9
10155 10000
10156 50000
10157 10
-10158 1015A 1
-1015B 1015E 2
+10158 1
+10159 1
+1015A 1015B 1
+1015C 2
+1015D 2
+1015E 2
1015F 5
-10160 10164 10
+10160 10
+10161 10
+10162 10
+10163 10
+10164 10
10165 30
-10166 10169 50
+10166 50
+10167 50
+10168 50
+10169 50
1016A 100
1016B 300
-1016C 10170 500
+1016C 500
+1016D 500
+1016E 500
+1016F 500
+10170 500
10171 1000
10172 5000
10173 5
10174 50
-10175 10176 1/2
+10175 1/2
+10176 1/2
10177 2/3
10178 3/4
1018A 0
@@ -864,24 +339,12 @@ FF19 9
10323 50
10341 90
1034A 900
-103D1 1
-103D2 2
+103D1 103D2 1
103D3 10
103D4 20
103D5 100
-104A0 0
-104A1 1
-104A2 2
-104A3 3
-104A4 4
-104A5 5
-104A6 6
-104A7 7
-104A8 8
-104A9 9
-10858 1
-10859 2
-1085A 3
+104A0 104A9 0
+10858 1085A 1
1085B 10
1085C 20
1085D 100
@@ -891,44 +354,25 @@ FF19 9
10917 10
10918 20
10919 100
-1091A 2
-1091B 3
-10A40 1
-10A41 2
-10A42 3
-10A43 4
+1091A 1091B 2
+10A40 10A43 1
10A44 10
10A45 20
10A46 100
10A47 1000
10A7D 1
10A7E 50
-10B58 1
-10B59 2
-10B5A 3
-10B5B 4
+10B58 10B5B 1
10B5C 10
10B5D 20
10B5E 100
10B5F 1000
-10B78 1
-10B79 2
-10B7A 3
-10B7B 4
+10B78 10B7B 1
10B7C 10
10B7D 20
10B7E 100
10B7F 1000
-10E60 1
-10E61 2
-10E62 3
-10E63 4
-10E64 5
-10E65 6
-10E66 7
-10E67 8
-10E68 9
-10E69 10
+10E60 10E69 1
10E6A 20
10E6B 30
10E6C 40
@@ -950,16 +394,7 @@ FF19 9
10E7C 1/4
10E7D 1/3
10E7E 2/3
-11052 1
-11053 2
-11054 3
-11055 4
-11056 5
-11057 6
-11058 7
-11059 8
-1105A 9
-1105B 10
+11052 1105B 1
1105C 20
1105D 30
1105E 40
@@ -970,87 +405,39 @@ FF19 9
11063 90
11064 100
11065 1000
-11066 0
-11067 1
-11068 2
-11069 3
-1106A 4
-1106B 5
-1106C 6
-1106D 7
-1106E 8
-1106F 9
-12400 2
-12401 3
-12402 4
-12403 5
-12404 6
-12405 7
-12406 8
-12407 9
-12408 3
-12409 4
-1240A 5
-1240B 6
-1240C 7
-1240D 8
-1240E 9
-1240F 4
-12410 5
-12411 6
-12412 7
-12413 8
-12414 9
-12415 1
-12416 2
-12417 3
-12418 4
-12419 5
-1241A 6
-1241B 7
-1241C 8
-1241D 9
-1241E 1
-1241F 2
-12420 3
-12421 4
-12422 5
-12423 2
-12424 12425 3
-12426 4
-12427 5
-12428 6
-12429 7
-1242A 8
-1242B 9
-1242C 1
-1242D 2
-1242E 1242F 3
-12430 4
-12431 5
-12434 1
-12435 2
-12436 12437 3
-12438 4
-12439 5
-1243A 1243B 3
-1243C 1243F 4
-12440 6
-12441 12443 7
-12444 12445 8
-12446 12449 9
-1244A 2
-1244B 3
-1244C 4
-1244D 5
-1244E 6
-1244F 1
-12450 2
-12451 3
-12452 12453 4
-12454 12455 5
-12458 1
-12459 2
+11066 1106F 0
+110F0 110F9 0
+11136 1113F 0
+111D0 111D9 0
+116C0 116C9 0
+12400 12407 2
+12408 1240E 3
+1240F 12414 4
+12415 1241D 1
+1241E 12422 1
+12423 12424 2
+12425 1242B 3
+1242C 1242E 1
+1242F 12431 3
+12434 12436 1
+12437 12439 3
+1243A 3
+1243B 1243C 3
+1243D 4
+1243E 4
+1243F 4
+12440 12441 6
+12442 7
+12443 12444 7
+12445 12446 8
+12447 9
+12448 9
+12449 9
+1244A 1244E 2
+1244F 12452 1
+12453 12454 4
+12455 5
+12458 12459 1
1245A 1/3
1245B 2/3
1245C 5/6
@@ -1060,16 +447,7 @@ FF19 9
12460 1/4
12461 1/6
12462 1/4
-1D360 1
-1D361 2
-1D362 3
-1D363 4
-1D364 5
-1D365 6
-1D366 7
-1D367 8
-1D368 9
-1D369 10
+1D360 1D369 1
1D36A 20
1D36B 30
1D36C 40
@@ -1078,66 +456,13 @@ FF19 9
1D36F 70
1D370 80
1D371 90
-1D7CE 0
-1D7CF 1
-1D7D0 2
-1D7D1 3
-1D7D2 4
-1D7D3 5
-1D7D4 6
-1D7D5 7
-1D7D6 8
-1D7D7 9
-1D7D8 0
-1D7D9 1
-1D7DA 2
-1D7DB 3
-1D7DC 4
-1D7DD 5
-1D7DE 6
-1D7DF 7
-1D7E0 8
-1D7E1 9
-1D7E2 0
-1D7E3 1
-1D7E4 2
-1D7E5 3
-1D7E6 4
-1D7E7 5
-1D7E8 6
-1D7E9 7
-1D7EA 8
-1D7EB 9
-1D7EC 0
-1D7ED 1
-1D7EE 2
-1D7EF 3
-1D7F0 4
-1D7F1 5
-1D7F2 6
-1D7F3 7
-1D7F4 8
-1D7F5 9
-1D7F6 0
-1D7F7 1
-1D7F8 2
-1D7F9 3
-1D7FA 4
-1D7FB 5
-1D7FC 6
-1D7FD 7
-1D7FE 8
-1D7FF 9
-1F100 1F101 0
-1F102 1
-1F103 2
-1F104 3
-1F105 4
-1F106 5
-1F107 6
-1F108 7
-1F109 8
-1F10A 9
+1D7CE 1D7D7 0
+1D7D8 1D7E1 0
+1D7E2 1D7EB 0
+1D7EC 1D7F5 0
+1D7F6 1D7FF 0
+1F100 0
+1F101 1F10A 0
20001 7
20064 4
200E2 4
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/PerlDeci.pl b/Master/tlpkg/tlperl/lib/unicore/To/PerlDeci.pl
new file mode 100644
index 00000000000..e78679ffa5c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/PerlDeci.pl
@@ -0,0 +1,67 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+# The mappings must be modified to get the correct values by adding the code
+# point ordinal number to each one that is numeric.
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToPerlDecimalDigit'}{'format'} = 'a'; # some entries need adjustment
+$utf8::SwashInfo{'ToPerlDecimalDigit'}{'missing'} = ''; # code point maps to the null string
+
+return <<'END';
+0030 0039 0
+0660 0669 0
+06F0 06F9 0
+07C0 07C9 0
+0966 096F 0
+09E6 09EF 0
+0A66 0A6F 0
+0AE6 0AEF 0
+0B66 0B6F 0
+0BE6 0BEF 0
+0C66 0C6F 0
+0CE6 0CEF 0
+0D66 0D6F 0
+0E50 0E59 0
+0ED0 0ED9 0
+0F20 0F29 0
+1040 1049 0
+1090 1099 0
+17E0 17E9 0
+1810 1819 0
+1946 194F 0
+19D0 19D9 0
+1A80 1A89 0
+1A90 1A99 0
+1B50 1B59 0
+1BB0 1BB9 0
+1C40 1C49 0
+1C50 1C59 0
+A620 A629 0
+A8D0 A8D9 0
+A900 A909 0
+A9D0 A9D9 0
+AA50 AA59 0
+ABF0 ABF9 0
+FF10 FF19 0
+104A0 104A9 0
+11066 1106F 0
+110F0 110F9 0
+11136 1113F 0
+111D0 111D9 0
+116C0 116C9 0
+1D7CE 1D7D7 0
+1D7D8 1D7E1 0
+1D7E2 1D7EB 0
+1D7EC 1D7F5 0
+1D7F6 1D7FF 0
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/SB.pl b/Master/tlpkg/tlperl/lib/unicore/To/SB.pl
index 39cc75de81a..c4e37e3d8ac 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/SB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/SB.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
# The name this swash is to be known by, with the format of the mappings in
@@ -596,7 +597,7 @@ return <<'END';
05C7 Extend
05D0 05EA OLetter
05F0 05F3 OLetter
-0600 0603 Format
+0600 0604 Format
060C 060D SContinue
0610 061A Extend
061F STerm
@@ -645,6 +646,9 @@ return <<'END';
0829 082D Extend
0840 0858 OLetter
0859 085B Extend
+08A0 OLetter
+08A2 08AC OLetter
+08E4 08FE Extend
0900 0903 Extend
0904 0939 OLetter
093A 093C Extend
@@ -832,7 +836,7 @@ return <<'END';
0EC6 OLetter
0EC8 0ECD Extend
0ED0 0ED9 Numeric
-0EDC 0EDD OLetter
+0EDC 0EDF OLetter
0F00 OLetter
0F18 0F19 Extend
0F20 0F29 Numeric
@@ -871,9 +875,10 @@ return <<'END';
1090 1099 Numeric
109A 109D Extend
10A0 10C5 Upper
+10C7 Upper
+10CD Upper
10D0 10FA OLetter
-10FC OLetter
-1100 1248 OLetter
+10FC 1248 OLetter
124A 124D OLetter
1250 1256 OLetter
1258 OLetter
@@ -914,8 +919,7 @@ return <<'END';
176E 1770 OLetter
1772 1773 Extend
1780 17B3 OLetter
-17B4 17B5 Format
-17B6 17D3 Extend
+17B4 17D3 Extend
17D7 OLetter
17DC OLetter
17DD Extend
@@ -964,10 +968,10 @@ return <<'END';
1B6B 1B73 Extend
1B80 1B82 Extend
1B83 1BA0 OLetter
-1BA1 1BAA Extend
+1BA1 1BAD Extend
1BAE 1BAF OLetter
1BB0 1BB9 Numeric
-1BC0 1BE5 OLetter
+1BBA 1BE5 OLetter
1BE6 1BF3 Extend
1C00 1C23 OLetter
1C24 1C37 Extend
@@ -982,7 +986,8 @@ return <<'END';
1CE9 1CEC OLetter
1CED Extend
1CEE 1CF1 OLetter
-1CF2 Extend
+1CF2 1CF4 Extend
+1CF5 1CF6 OLetter
1D00 1DBF Lower
1DC0 1DE6 Extend
1DFC 1DFF Extend
@@ -1289,12 +1294,11 @@ return <<'END';
205F Sp
2060 2064 Format
206A 206F Format
-2071 OLetter
+2071 Lower
207D 207E Close
-207F OLetter
+207F Lower
208D 208E Close
-2090 2094 Lower
-2095 209C OLetter
+2090 209C Lower
20D0 20F0 Extend
2102 Upper
2107 Upper
@@ -1458,8 +1462,12 @@ return <<'END';
2CED Upper
2CEE Lower
2CEF 2CF1 Extend
+2CF2 Upper
+2CF3 Lower
2D00 2D25 Lower
-2D30 2D65 OLetter
+2D27 Lower
+2D2D Lower
+2D30 2D67 OLetter
2D6F OLetter
2D7F Extend
2D80 2D96 OLetter
@@ -1498,7 +1506,7 @@ return <<'END';
31A0 31BA OLetter
31F0 31FF OLetter
3400 4DB5 OLetter
-4E00 9FCB OLetter
+4E00 9FCC OLetter
A000 A48C OLetter
A4D0 A4FD OLetter
A4FF STerm
@@ -1555,7 +1563,7 @@ A66C Upper
A66D Lower
A66E OLetter
A66F A672 Extend
-A67C A67D Extend
+A674 A67D Extend
A67F OLetter
A680 Upper
A681 Lower
@@ -1581,6 +1589,7 @@ A694 Upper
A695 Lower
A696 Upper
A697 Lower
+A69F Extend
A6A0 A6EF OLetter
A6F0 A6F1 Extend
A6F3 STerm
@@ -1683,6 +1692,8 @@ A78D Upper
A78E Lower
A790 Upper
A791 Lower
+A792 Upper
+A793 Lower
A7A0 Upper
A7A1 Lower
A7A2 Upper
@@ -1693,7 +1704,8 @@ A7A6 Upper
A7A7 Lower
A7A8 Upper
A7A9 Lower
-A7FA Lower
+A7AA Upper
+A7F8 A7FA Lower
A7FB A801 OLetter
A802 Extend
A803 A805 OLetter
@@ -1748,6 +1760,11 @@ AAC0 OLetter
AAC1 Extend
AAC2 OLetter
AADB AADD OLetter
+AAE0 AAEA OLetter
+AAEB AAEF Extend
+AAF0 AAF1 STerm
+AAF2 AAF4 OLetter
+AAF5 AAF6 Extend
AB01 AB06 OLetter
AB09 AB0E OLetter
AB11 AB16 OLetter
@@ -1761,8 +1778,7 @@ ABF0 ABF9 Numeric
AC00 D7A3 OLetter
D7B0 D7C6 OLetter
D7CB D7FB OLetter
-F900 FA2D OLetter
-FA30 FA6D OLetter
+F900 FA6D OLetter
FA70 FAD9 OLetter
FB00 FB06 Lower
FB13 FB17 Lower
@@ -1851,6 +1867,8 @@ FFF9 FFFB Format
1083F 10855 OLetter
10900 10915 OLetter
10920 10939 OLetter
+10980 109B7 OLetter
+109BE 109BF OLetter
10A00 OLetter
10A01 10A03 Extend
10A05 10A06 Extend
@@ -1876,10 +1894,31 @@ FFF9 FFFB Format
110B0 110BA Extend
110BD Format
110BE 110C1 STerm
+110D0 110E8 OLetter
+110F0 110F9 Numeric
+11100 11102 Extend
+11103 11126 OLetter
+11127 11134 Extend
+11136 1113F Numeric
+11141 11143 STerm
+11180 11182 Extend
+11183 111B2 OLetter
+111B3 111C0 Extend
+111C1 111C4 OLetter
+111C5 111C6 STerm
+111D0 111D9 Numeric
+11680 116AA OLetter
+116AB 116B7 Extend
+116C0 116C9 Numeric
12000 1236E OLetter
12400 12462 OLetter
13000 1342E OLetter
16800 16A38 OLetter
+16F00 16F44 OLetter
+16F50 OLetter
+16F51 16F7E Extend
+16F8F 16F92 Extend
+16F93 16F9F OLetter
1B000 1B001 OLetter
1D165 1D169 Extend
1D16D 1D172 Extend
@@ -1948,6 +1987,39 @@ FFF9 FFFB Format
1D7CA Upper
1D7CB Lower
1D7CE 1D7FF Numeric
+1EE00 1EE03 OLetter
+1EE05 1EE1F OLetter
+1EE21 1EE22 OLetter
+1EE24 OLetter
+1EE27 OLetter
+1EE29 1EE32 OLetter
+1EE34 1EE37 OLetter
+1EE39 OLetter
+1EE3B OLetter
+1EE42 OLetter
+1EE47 OLetter
+1EE49 OLetter
+1EE4B OLetter
+1EE4D 1EE4F OLetter
+1EE51 1EE52 OLetter
+1EE54 OLetter
+1EE57 OLetter
+1EE59 OLetter
+1EE5B OLetter
+1EE5D OLetter
+1EE5F OLetter
+1EE61 1EE62 OLetter
+1EE64 OLetter
+1EE67 1EE6A OLetter
+1EE6C 1EE72 OLetter
+1EE74 1EE77 OLetter
+1EE79 1EE7C OLetter
+1EE7E OLetter
+1EE80 1EE89 OLetter
+1EE8B 1EE9B OLetter
+1EEA1 1EEA3 OLetter
+1EEA5 1EEA9 OLetter
+1EEAB 1EEBB OLetter
20000 2A6D6 OLetter
2A700 2B734 OLetter
2B740 2B81D OLetter
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Sc.pl b/Master/tlpkg/tlperl/lib/unicore/To/Sc.pl
index c81c1594c01..fe95e42032b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Sc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Sc.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
# The name this swash is to be known by, with the format of the mappings in
@@ -58,10 +59,11 @@ return <<'END';
0561 0587 Armenian
0589 Common
058A Armenian
+058F Armenian
0591 05C7 Hebrew
05D0 05EA Hebrew
05F0 05F4 Hebrew
-0600 0603 Arabic
+0600 0604 Arabic
0606 060B Arabic
060C Common
060D 061A Arabic
@@ -90,13 +92,14 @@ return <<'END';
0830 083E Samaritan
0840 085B Mandaic
085E Mandaic
+08A0 Arabic
+08A2 08AC Arabic
+08E4 08FE Arabic
0900 0950 Devanagari
0951 0952 Inherited
0953 0963 Devanagari
0964 0965 Common
-0966 096F Devanagari
-0970 Common
-0971 0977 Devanagari
+0966 0977 Devanagari
0979 097F Devanagari
0981 0983 Bengali
0985 098C Bengali
@@ -140,8 +143,7 @@ return <<'END';
0ACB 0ACD Gujarati
0AD0 Gujarati
0AE0 0AE3 Gujarati
-0AE6 0AEF Gujarati
-0AF1 Gujarati
+0AE6 0AF1 Gujarati
0B01 0B03 Oriya
0B05 0B0C Oriya
0B0F 0B10 Oriya
@@ -242,7 +244,7 @@ return <<'END';
0EC6 Lao
0EC8 0ECD Lao
0ED0 0ED9 Lao
-0EDC 0EDD Lao
+0EDC 0EDF Lao
0F00 0F47 Tibetan
0F49 0F6C Tibetan
0F71 0F97 Tibetan
@@ -253,9 +255,11 @@ return <<'END';
0FD9 0FDA Tibetan
1000 109F Myanmar
10A0 10C5 Georgian
+10C7 Georgian
+10CD Georgian
10D0 10FA Georgian
10FB Common
-10FC Georgian
+10FC 10FF Georgian
1100 11FF Hangul
1200 1248 Ethiopic
124A 124D Ethiopic
@@ -322,14 +326,14 @@ return <<'END';
1AA0 1AAD Tai_Tham
1B00 1B4B Balinese
1B50 1B7C Balinese
-1B80 1BAA Sundanese
-1BAE 1BB9 Sundanese
+1B80 1BBF Sundanese
1BC0 1BF3 Batak
1BFC 1BFF Batak
1C00 1C37 Lepcha
1C3B 1C49 Lepcha
1C4D 1C4F Lepcha
1C50 1C7F Ol_Chiki
+1CC0 1CC7 Sundanese
1CD0 1CD2 Inherited
1CD3 Common
1CD4 1CE0 Inherited
@@ -337,7 +341,9 @@ return <<'END';
1CE2 1CE8 Inherited
1CE9 1CEC Common
1CED Inherited
-1CEE 1CF2 Common
+1CEE 1CF3 Common
+1CF4 Inherited
+1CF5 1CF6 Common
1D00 1D25 Latin
1D26 1D2A Greek
1D2B Cyrillic
@@ -394,19 +400,19 @@ return <<'END';
2400 2426 Common
2440 244A Common
2460 26FF Common
-2701 27CA Common
-27CC Common
-27CE 27FF Common
+2701 27FF Common
2800 28FF Braille
2900 2B4C Common
2B50 2B59 Common
2C00 2C2E Glagolitic
2C30 2C5E Glagolitic
2C60 2C7F Latin
-2C80 2CF1 Coptic
+2C80 2CF3 Coptic
2CF9 2CFF Coptic
2D00 2D25 Georgian
-2D30 2D65 Tifinagh
+2D27 Georgian
+2D2D Georgian
+2D30 2D67 Tifinagh
2D6F 2D70 Tifinagh
2D7F Tifinagh
2D80 2D96 Ethiopic
@@ -419,7 +425,7 @@ return <<'END';
2DD0 2DD6 Ethiopic
2DD8 2DDE Ethiopic
2DE0 2DFF Cyrillic
-2E00 2E31 Common
+2E00 2E3B Common
2E80 2E99 Han
2E9B 2EF3 Han
2F00 2FD5 Han
@@ -458,21 +464,21 @@ return <<'END';
3358 33FF Common
3400 4DB5 Han
4DC0 4DFF Common
-4E00 9FCB Han
+4E00 9FCC Han
A000 A48C Yi
A490 A4C6 Yi
A4D0 A4FF Lisu
A500 A62B Vai
-A640 A673 Cyrillic
-A67C A697 Cyrillic
+A640 A697 Cyrillic
+A69F Cyrillic
A6A0 A6F7 Bamum
A700 A721 Common
A722 A787 Latin
A788 A78A Common
A78B A78E Latin
-A790 A791 Latin
-A7A0 A7A9 Latin
-A7FA A7FF Latin
+A790 A793 Latin
+A7A0 A7AA Latin
+A7F8 A7FF Latin
A800 A82B Syloti_Nagri
A830 A839 Common
A840 A877 Phags_Pa
@@ -493,6 +499,7 @@ AA5C AA5F Cham
AA60 AA7B Myanmar
AA80 AAC2 Tai_Viet
AADB AADF Tai_Viet
+AAE0 AAF6 Meetei_Mayek
AB01 AB06 Ethiopic
AB09 AB0E Ethiopic
AB11 AB16 Ethiopic
@@ -503,8 +510,7 @@ ABF0 ABF9 Meetei_Mayek
AC00 D7A3 Hangul
D7B0 D7C6 Hangul
D7CB D7FB Hangul
-F900 FA2D Han
-FA30 FA6D Han
+F900 FA6D Han
FA70 FAD9 Han
FB00 FB06 Latin
FB13 FB17 Armenian
@@ -586,6 +592,9 @@ FFF9 FFFD Common
1091F Phoenician
10920 10939 Lydian
1093F Lydian
+10980 1099F Meroitic_Hieroglyphs
+109A0 109B7 Meroitic_Cursive
+109BE 109BF Meroitic_Cursive
10A00 10A03 Kharoshthi
10A05 10A06 Kharoshthi
10A0C 10A13 Kharoshthi
@@ -606,11 +615,22 @@ FFF9 FFFD Common
11000 1104D Brahmi
11052 1106F Brahmi
11080 110C1 Kaithi
+110D0 110E8 Sora_Sompeng
+110F0 110F9 Sora_Sompeng
+11100 11134 Chakma
+11136 11143 Chakma
+11180 111C8 Sharada
+111D0 111D9 Sharada
+11680 116B7 Takri
+116C0 116C9 Takri
12000 1236E Cuneiform
12400 12462 Cuneiform
12470 12473 Cuneiform
13000 1342E Egyptian_Hieroglyphs
16800 16A38 Bamum
+16F00 16F44 Miao
+16F50 16F7E Miao
+16F8F 16F9F Miao
1B000 Katakana
1B001 Hiragana
1D000 1D0F5 Common
@@ -648,6 +668,40 @@ FFF9 FFFD Common
1D552 1D6A5 Common
1D6A8 1D7CB Common
1D7CE 1D7FF Common
+1EE00 1EE03 Arabic
+1EE05 1EE1F Arabic
+1EE21 1EE22 Arabic
+1EE24 Arabic
+1EE27 Arabic
+1EE29 1EE32 Arabic
+1EE34 1EE37 Arabic
+1EE39 Arabic
+1EE3B Arabic
+1EE42 Arabic
+1EE47 Arabic
+1EE49 Arabic
+1EE4B Arabic
+1EE4D 1EE4F Arabic
+1EE51 1EE52 Arabic
+1EE54 Arabic
+1EE57 Arabic
+1EE59 Arabic
+1EE5B Arabic
+1EE5D Arabic
+1EE5F Arabic
+1EE61 1EE62 Arabic
+1EE64 Arabic
+1EE67 1EE6A Arabic
+1EE6C 1EE72 Arabic
+1EE74 1EE77 Arabic
+1EE79 1EE7C Arabic
+1EE7E Arabic
+1EE80 1EE89 Arabic
+1EE8B 1EE9B Arabic
+1EEA1 1EEA3 Arabic
+1EEA5 1EEA9 Arabic
+1EEAB 1EEBB Arabic
+1EEF0 1EEF1 Arabic
1F000 1F02B Common
1F030 1F093 Common
1F0A0 1F0AE Common
@@ -656,7 +710,7 @@ FFF9 FFFD Common
1F0D1 1F0DF Common
1F100 1F10A Common
1F110 1F12E Common
-1F130 1F169 Common
+1F130 1F16B Common
1F170 1F19A Common
1F1E6 1F1FF Common
1F200 Hiragana
@@ -676,19 +730,9 @@ FFF9 FFFD Common
1F442 1F4F7 Common
1F4F9 1F4FC Common
1F500 1F53D Common
+1F540 1F543 Common
1F550 1F567 Common
-1F5FB 1F5FF Common
-1F601 1F610 Common
-1F612 1F614 Common
-1F616 Common
-1F618 Common
-1F61A Common
-1F61C 1F61E Common
-1F620 1F625 Common
-1F628 1F62B Common
-1F62D Common
-1F630 1F633 Common
-1F635 1F640 Common
+1F5FB 1F640 Common
1F645 1F64F Common
1F680 1F6C5 Common
1F700 1F773 Common
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Scx.pl b/Master/tlpkg/tlperl/lib/unicore/To/Scx.pl
new file mode 100644
index 00000000000..54cdcb2898c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Scx.pl
@@ -0,0 +1,773 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToScx'}{'format'} = 'sw'; # string, but some elements are interpreted as a list; white space occurs only as list item separators
+$utf8::SwashInfo{'ToScx'}{'missing'} = 'Unknown';
+
+return <<'END';
+0000 0040 Common
+0041 005A Latin
+005B 0060 Common
+0061 007A Latin
+007B 00A9 Common
+00AA Latin
+00AB 00B9 Common
+00BA Latin
+00BB 00BF Common
+00C0 00D6 Latin
+00D7 Common
+00D8 00F6 Latin
+00F7 Common
+00F8 02B8 Latin
+02B9 02DF Common
+02E0 02E4 Latin
+02E5 02E9 Common
+02EA 02EB Bopomofo
+02EC 02FF Common
+0300 036F Inherited
+0370 0373 Greek
+0374 Common
+0375 0377 Greek
+037A 037D Greek
+037E Common
+0384 Greek
+0385 Common
+0386 Greek
+0387 Common
+0388 038A Greek
+038C Greek
+038E 03A1 Greek
+03A3 03E1 Greek
+03E2 03EF Coptic
+03F0 03FF Greek
+0400 0484 Cyrillic
+0485 0486 Inherited
+0487 0527 Cyrillic
+0531 0556 Armenian
+0559 055F Armenian
+0561 0587 Armenian
+0589 Armenian Georgian
+058A Armenian
+058F Armenian
+0591 05C7 Hebrew
+05D0 05EA Hebrew
+05F0 05F4 Hebrew
+0600 0604 Arabic
+0606 060B Arabic
+060C Arabic Syriac Thaana
+060D 061A Arabic
+061B Arabic Syriac Thaana
+061E Arabic
+061F Arabic Syriac Thaana
+0620 063F Arabic
+0640 Arabic Mandaic Syriac
+0641 064A Arabic
+064B 0655 Arabic Syriac
+0656 065E Arabic
+065F Inherited
+0660 0669 Arabic Thaana
+066A 066F Arabic
+0670 Arabic Syriac
+0671 06DC Arabic
+06DD Common
+06DE 06FF Arabic
+0700 070D Syriac
+070F 074A Syriac
+074D 074F Syriac
+0750 077F Arabic
+0780 07B1 Thaana
+07C0 07FA Nko
+0800 082D Samaritan
+0830 083E Samaritan
+0840 085B Mandaic
+085E Mandaic
+08A0 Arabic
+08A2 08AC Arabic
+08E4 08FE Arabic
+0900 0950 Devanagari
+0951 0952 Inherited
+0953 0963 Devanagari
+0964 0965 Bengali Devanagari Gurmukhi Oriya Takri
+0966 0977 Devanagari
+0979 097F Devanagari
+0981 0983 Bengali
+0985 098C Bengali
+098F 0990 Bengali
+0993 09A8 Bengali
+09AA 09B0 Bengali
+09B2 Bengali
+09B6 09B9 Bengali
+09BC 09C4 Bengali
+09C7 09C8 Bengali
+09CB 09CE Bengali
+09D7 Bengali
+09DC 09DD Bengali
+09DF 09E3 Bengali
+09E6 09FB Bengali
+0A01 0A03 Gurmukhi
+0A05 0A0A Gurmukhi
+0A0F 0A10 Gurmukhi
+0A13 0A28 Gurmukhi
+0A2A 0A30 Gurmukhi
+0A32 0A33 Gurmukhi
+0A35 0A36 Gurmukhi
+0A38 0A39 Gurmukhi
+0A3C Gurmukhi
+0A3E 0A42 Gurmukhi
+0A47 0A48 Gurmukhi
+0A4B 0A4D Gurmukhi
+0A51 Gurmukhi
+0A59 0A5C Gurmukhi
+0A5E Gurmukhi
+0A66 0A75 Gurmukhi
+0A81 0A83 Gujarati
+0A85 0A8D Gujarati
+0A8F 0A91 Gujarati
+0A93 0AA8 Gujarati
+0AAA 0AB0 Gujarati
+0AB2 0AB3 Gujarati
+0AB5 0AB9 Gujarati
+0ABC 0AC5 Gujarati
+0AC7 0AC9 Gujarati
+0ACB 0ACD Gujarati
+0AD0 Gujarati
+0AE0 0AE3 Gujarati
+0AE6 0AF1 Gujarati
+0B01 0B03 Oriya
+0B05 0B0C Oriya
+0B0F 0B10 Oriya
+0B13 0B28 Oriya
+0B2A 0B30 Oriya
+0B32 0B33 Oriya
+0B35 0B39 Oriya
+0B3C 0B44 Oriya
+0B47 0B48 Oriya
+0B4B 0B4D Oriya
+0B56 0B57 Oriya
+0B5C 0B5D Oriya
+0B5F 0B63 Oriya
+0B66 0B77 Oriya
+0B82 0B83 Tamil
+0B85 0B8A Tamil
+0B8E 0B90 Tamil
+0B92 0B95 Tamil
+0B99 0B9A Tamil
+0B9C Tamil
+0B9E 0B9F Tamil
+0BA3 0BA4 Tamil
+0BA8 0BAA Tamil
+0BAE 0BB9 Tamil
+0BBE 0BC2 Tamil
+0BC6 0BC8 Tamil
+0BCA 0BCD Tamil
+0BD0 Tamil
+0BD7 Tamil
+0BE6 0BFA Tamil
+0C01 0C03 Telugu
+0C05 0C0C Telugu
+0C0E 0C10 Telugu
+0C12 0C28 Telugu
+0C2A 0C33 Telugu
+0C35 0C39 Telugu
+0C3D 0C44 Telugu
+0C46 0C48 Telugu
+0C4A 0C4D Telugu
+0C55 0C56 Telugu
+0C58 0C59 Telugu
+0C60 0C63 Telugu
+0C66 0C6F Telugu
+0C78 0C7F Telugu
+0C82 0C83 Kannada
+0C85 0C8C Kannada
+0C8E 0C90 Kannada
+0C92 0CA8 Kannada
+0CAA 0CB3 Kannada
+0CB5 0CB9 Kannada
+0CBC 0CC4 Kannada
+0CC6 0CC8 Kannada
+0CCA 0CCD Kannada
+0CD5 0CD6 Kannada
+0CDE Kannada
+0CE0 0CE3 Kannada
+0CE6 0CEF Kannada
+0CF1 0CF2 Kannada
+0D02 0D03 Malayalam
+0D05 0D0C Malayalam
+0D0E 0D10 Malayalam
+0D12 0D3A Malayalam
+0D3D 0D44 Malayalam
+0D46 0D48 Malayalam
+0D4A 0D4E Malayalam
+0D57 Malayalam
+0D60 0D63 Malayalam
+0D66 0D75 Malayalam
+0D79 0D7F Malayalam
+0D82 0D83 Sinhala
+0D85 0D96 Sinhala
+0D9A 0DB1 Sinhala
+0DB3 0DBB Sinhala
+0DBD Sinhala
+0DC0 0DC6 Sinhala
+0DCA Sinhala
+0DCF 0DD4 Sinhala
+0DD6 Sinhala
+0DD8 0DDF Sinhala
+0DF2 0DF4 Sinhala
+0E01 0E3A Thai
+0E3F Common
+0E40 0E5B Thai
+0E81 0E82 Lao
+0E84 Lao
+0E87 0E88 Lao
+0E8A Lao
+0E8D Lao
+0E94 0E97 Lao
+0E99 0E9F Lao
+0EA1 0EA3 Lao
+0EA5 Lao
+0EA7 Lao
+0EAA 0EAB Lao
+0EAD 0EB9 Lao
+0EBB 0EBD Lao
+0EC0 0EC4 Lao
+0EC6 Lao
+0EC8 0ECD Lao
+0ED0 0ED9 Lao
+0EDC 0EDF Lao
+0F00 0F47 Tibetan
+0F49 0F6C Tibetan
+0F71 0F97 Tibetan
+0F99 0FBC Tibetan
+0FBE 0FCC Tibetan
+0FCE 0FD4 Tibetan
+0FD5 0FD8 Common
+0FD9 0FDA Tibetan
+1000 109F Myanmar
+10A0 10C5 Georgian
+10C7 Georgian
+10CD Georgian
+10D0 10FA Georgian
+10FB Common
+10FC 10FF Georgian
+1100 11FF Hangul
+1200 1248 Ethiopic
+124A 124D Ethiopic
+1250 1256 Ethiopic
+1258 Ethiopic
+125A 125D Ethiopic
+1260 1288 Ethiopic
+128A 128D Ethiopic
+1290 12B0 Ethiopic
+12B2 12B5 Ethiopic
+12B8 12BE Ethiopic
+12C0 Ethiopic
+12C2 12C5 Ethiopic
+12C8 12D6 Ethiopic
+12D8 1310 Ethiopic
+1312 1315 Ethiopic
+1318 135A Ethiopic
+135D 137C Ethiopic
+1380 1399 Ethiopic
+13A0 13F4 Cherokee
+1400 167F Canadian_Aboriginal
+1680 169C Ogham
+16A0 16EA Runic
+16EB 16ED Common
+16EE 16F0 Runic
+1700 170C Tagalog
+170E 1714 Tagalog
+1720 1734 Hanunoo
+1735 1736 Buhid Hanunoo Tagbanwa Tagalog
+1740 1753 Buhid
+1760 176C Tagbanwa
+176E 1770 Tagbanwa
+1772 1773 Tagbanwa
+1780 17DD Khmer
+17E0 17E9 Khmer
+17F0 17F9 Khmer
+1800 1801 Mongolian
+1802 1803 Mongolian Phags_Pa
+1804 Mongolian
+1805 Mongolian Phags_Pa
+1806 180E Mongolian
+1810 1819 Mongolian
+1820 1877 Mongolian
+1880 18AA Mongolian
+18B0 18F5 Canadian_Aboriginal
+1900 191C Limbu
+1920 192B Limbu
+1930 193B Limbu
+1940 Limbu
+1944 194F Limbu
+1950 196D Tai_Le
+1970 1974 Tai_Le
+1980 19AB New_Tai_Lue
+19B0 19C9 New_Tai_Lue
+19D0 19DA New_Tai_Lue
+19DE 19DF New_Tai_Lue
+19E0 19FF Khmer
+1A00 1A1B Buginese
+1A1E 1A1F Buginese
+1A20 1A5E Tai_Tham
+1A60 1A7C Tai_Tham
+1A7F 1A89 Tai_Tham
+1A90 1A99 Tai_Tham
+1AA0 1AAD Tai_Tham
+1B00 1B4B Balinese
+1B50 1B7C Balinese
+1B80 1BBF Sundanese
+1BC0 1BF3 Batak
+1BFC 1BFF Batak
+1C00 1C37 Lepcha
+1C3B 1C49 Lepcha
+1C4D 1C4F Lepcha
+1C50 1C7F Ol_Chiki
+1CC0 1CC7 Sundanese
+1CD0 1CD2 Inherited
+1CD3 Common
+1CD4 1CE0 Inherited
+1CE1 Common
+1CE2 1CE8 Inherited
+1CE9 1CEC Common
+1CED Inherited
+1CEE 1CF3 Common
+1CF4 Inherited
+1CF5 1CF6 Common
+1D00 1D25 Latin
+1D26 1D2A Greek
+1D2B Cyrillic
+1D2C 1D5C Latin
+1D5D 1D61 Greek
+1D62 1D65 Latin
+1D66 1D6A Greek
+1D6B 1D77 Latin
+1D78 Cyrillic
+1D79 1DBE Latin
+1DBF Greek
+1DC0 1DE6 Inherited
+1DFC 1DFF Inherited
+1E00 1EFF Latin
+1F00 1F15 Greek
+1F18 1F1D Greek
+1F20 1F45 Greek
+1F48 1F4D Greek
+1F50 1F57 Greek
+1F59 Greek
+1F5B Greek
+1F5D Greek
+1F5F 1F7D Greek
+1F80 1FB4 Greek
+1FB6 1FC4 Greek
+1FC6 1FD3 Greek
+1FD6 1FDB Greek
+1FDD 1FEF Greek
+1FF2 1FF4 Greek
+1FF6 1FFE Greek
+2000 200B Common
+200C 200D Inherited
+200E 2064 Common
+206A 2070 Common
+2071 Latin
+2074 207E Common
+207F Latin
+2080 208E Common
+2090 209C Latin
+20A0 20B9 Common
+20D0 20F0 Inherited
+2100 2125 Common
+2126 Greek
+2127 2129 Common
+212A 212B Latin
+212C 2131 Common
+2132 Latin
+2133 214D Common
+214E Latin
+214F 215F Common
+2160 2188 Latin
+2189 Common
+2190 23F3 Common
+2400 2426 Common
+2440 244A Common
+2460 26FF Common
+2701 27FF Common
+2800 28FF Braille
+2900 2B4C Common
+2B50 2B59 Common
+2C00 2C2E Glagolitic
+2C30 2C5E Glagolitic
+2C60 2C7F Latin
+2C80 2CF3 Coptic
+2CF9 2CFF Coptic
+2D00 2D25 Georgian
+2D27 Georgian
+2D2D Georgian
+2D30 2D67 Tifinagh
+2D6F 2D70 Tifinagh
+2D7F Tifinagh
+2D80 2D96 Ethiopic
+2DA0 2DA6 Ethiopic
+2DA8 2DAE Ethiopic
+2DB0 2DB6 Ethiopic
+2DB8 2DBE Ethiopic
+2DC0 2DC6 Ethiopic
+2DC8 2DCE Ethiopic
+2DD0 2DD6 Ethiopic
+2DD8 2DDE Ethiopic
+2DE0 2DFF Cyrillic
+2E00 2E3B Common
+2E80 2E99 Han
+2E9B 2EF3 Han
+2F00 2FD5 Han
+2FF0 2FFB Common
+3000 Common
+3001 3002 Bopomofo Hangul Han Hiragana Katakana Yi
+3003 Bopomofo Hangul Han Hiragana Katakana
+3004 Common
+3005 Han
+3006 Han Hiragana Katakana
+3007 Han
+3008 3011 Bopomofo Hangul Han Hiragana Katakana Yi
+3012 Common
+3013 Bopomofo Hangul Han Hiragana Katakana
+3014 301B Bopomofo Hangul Han Hiragana Katakana Yi
+301C 301F Bopomofo Hangul Han Hiragana Katakana
+3020 Common
+3021 3029 Han
+302A 302D Bopomofo Han
+302E 302F Hangul
+3030 Bopomofo Hangul Han Hiragana Katakana
+3031 3035 Hiragana Katakana
+3036 Common
+3037 Bopomofo Hangul Han Hiragana Katakana
+3038 303B Han
+303C 303D Han Hiragana Katakana
+303E 303F Bopomofo Hangul Han Hiragana Katakana
+3041 3096 Hiragana
+3099 309C Hiragana Katakana
+309D 309F Hiragana
+30A0 Hiragana Katakana
+30A1 30FA Katakana
+30FB Bopomofo Hangul Han Hiragana Katakana Yi
+30FC Hiragana Katakana
+30FD 30FF Katakana
+3105 312D Bopomofo
+3131 318E Hangul
+3190 319F Han Hiragana Katakana
+31A0 31BA Bopomofo
+31C0 31E3 Bopomofo Hangul Han Hiragana Katakana
+31F0 31FF Katakana
+3200 321E Hangul
+3220 3243 Bopomofo Hangul Han Hiragana Katakana
+3244 325F Common
+3260 327E Hangul
+327F Common
+3280 32B0 Bopomofo Hangul Han Hiragana Katakana
+32B1 32BF Common
+32C0 32CB Bopomofo Hangul Han Hiragana Katakana
+32CC 32CF Common
+32D0 32FE Katakana
+3300 3357 Katakana
+3358 3370 Bopomofo Hangul Han Hiragana Katakana
+3371 337A Common
+337B 337F Bopomofo Hangul Han Hiragana Katakana
+3380 33DF Common
+33E0 33FE Bopomofo Hangul Han Hiragana Katakana
+33FF Common
+3400 4DB5 Han
+4DC0 4DFF Common
+4E00 9FCC Han
+A000 A48C Yi
+A490 A4C6 Yi
+A4D0 A4FF Lisu
+A500 A62B Vai
+A640 A697 Cyrillic
+A69F Cyrillic
+A6A0 A6F7 Bamum
+A700 A721 Common
+A722 A787 Latin
+A788 A78A Common
+A78B A78E Latin
+A790 A793 Latin
+A7A0 A7AA Latin
+A7F8 A7FF Latin
+A800 A82B Syloti_Nagri
+A830 A839 Devanagari Gujarati Gurmukhi Kaithi Takri
+A840 A877 Phags_Pa
+A880 A8C4 Saurashtra
+A8CE A8D9 Saurashtra
+A8E0 A8FB Devanagari
+A900 A92F Kayah_Li
+A930 A953 Rejang
+A95F Rejang
+A960 A97C Hangul
+A980 A9CD Javanese
+A9CF A9D9 Javanese
+A9DE A9DF Javanese
+AA00 AA36 Cham
+AA40 AA4D Cham
+AA50 AA59 Cham
+AA5C AA5F Cham
+AA60 AA7B Myanmar
+AA80 AAC2 Tai_Viet
+AADB AADF Tai_Viet
+AAE0 AAF6 Meetei_Mayek
+AB01 AB06 Ethiopic
+AB09 AB0E Ethiopic
+AB11 AB16 Ethiopic
+AB20 AB26 Ethiopic
+AB28 AB2E Ethiopic
+ABC0 ABED Meetei_Mayek
+ABF0 ABF9 Meetei_Mayek
+AC00 D7A3 Hangul
+D7B0 D7C6 Hangul
+D7CB D7FB Hangul
+F900 FA6D Han
+FA70 FAD9 Han
+FB00 FB06 Latin
+FB13 FB17 Armenian
+FB1D FB36 Hebrew
+FB38 FB3C Hebrew
+FB3E Hebrew
+FB40 FB41 Hebrew
+FB43 FB44 Hebrew
+FB46 FB4F Hebrew
+FB50 FBC1 Arabic
+FBD3 FD3D Arabic
+FD3E FD3F Common
+FD50 FD8F Arabic
+FD92 FDC7 Arabic
+FDF0 FDF1 Arabic
+FDF2 Arabic Thaana
+FDF3 FDFC Arabic
+FDFD Arabic Thaana
+FE00 FE0F Inherited
+FE10 FE19 Common
+FE20 FE26 Inherited
+FE30 FE44 Common
+FE45 FE46 Bopomofo Hangul Han Hiragana Katakana
+FE47 FE52 Common
+FE54 FE66 Common
+FE68 FE6B Common
+FE70 FE74 Arabic
+FE76 FEFC Arabic
+FEFF Common
+FF01 FF20 Common
+FF21 FF3A Latin
+FF3B FF40 Common
+FF41 FF5A Latin
+FF5B FF60 Common
+FF61 FF65 Bopomofo Hangul Han Hiragana Katakana Yi
+FF66 FF6F Katakana
+FF70 Hiragana Katakana
+FF71 FF9D Katakana
+FF9E FF9F Hiragana Katakana
+FFA0 FFBE Hangul
+FFC2 FFC7 Hangul
+FFCA FFCF Hangul
+FFD2 FFD7 Hangul
+FFDA FFDC Hangul
+FFE0 FFE6 Common
+FFE8 FFEE Common
+FFF9 FFFD Common
+10000 1000B Linear_B
+1000D 10026 Linear_B
+10028 1003A Linear_B
+1003C 1003D Linear_B
+1003F 1004D Linear_B
+10050 1005D Linear_B
+10080 100FA Linear_B
+10100 10102 Cypriot Linear_B
+10107 10133 Cypriot Linear_B
+10137 1013F Cypriot Linear_B
+10140 1018A Greek
+10190 1019B Common
+101D0 101FC Common
+101FD Inherited
+10280 1029C Lycian
+102A0 102D0 Carian
+10300 1031E Old_Italic
+10320 10323 Old_Italic
+10330 1034A Gothic
+10380 1039D Ugaritic
+1039F Ugaritic
+103A0 103C3 Old_Persian
+103C8 103D5 Old_Persian
+10400 1044F Deseret
+10450 1047F Shavian
+10480 1049D Osmanya
+104A0 104A9 Osmanya
+10800 10805 Cypriot
+10808 Cypriot
+1080A 10835 Cypriot
+10837 10838 Cypriot
+1083C Cypriot
+1083F Cypriot
+10840 10855 Imperial_Aramaic
+10857 1085F Imperial_Aramaic
+10900 1091B Phoenician
+1091F Phoenician
+10920 10939 Lydian
+1093F Lydian
+10980 1099F Meroitic_Hieroglyphs
+109A0 109B7 Meroitic_Cursive
+109BE 109BF Meroitic_Cursive
+10A00 10A03 Kharoshthi
+10A05 10A06 Kharoshthi
+10A0C 10A13 Kharoshthi
+10A15 10A17 Kharoshthi
+10A19 10A33 Kharoshthi
+10A38 10A3A Kharoshthi
+10A3F 10A47 Kharoshthi
+10A50 10A58 Kharoshthi
+10A60 10A7F Old_South_Arabian
+10B00 10B35 Avestan
+10B39 10B3F Avestan
+10B40 10B55 Inscriptional_Parthian
+10B58 10B5F Inscriptional_Parthian
+10B60 10B72 Inscriptional_Pahlavi
+10B78 10B7F Inscriptional_Pahlavi
+10C00 10C48 Old_Turkic
+10E60 10E7E Arabic
+11000 1104D Brahmi
+11052 1106F Brahmi
+11080 110C1 Kaithi
+110D0 110E8 Sora_Sompeng
+110F0 110F9 Sora_Sompeng
+11100 11134 Chakma
+11136 11143 Chakma
+11180 111C8 Sharada
+111D0 111D9 Sharada
+11680 116B7 Takri
+116C0 116C9 Takri
+12000 1236E Cuneiform
+12400 12462 Cuneiform
+12470 12473 Cuneiform
+13000 1342E Egyptian_Hieroglyphs
+16800 16A38 Bamum
+16F00 16F44 Miao
+16F50 16F7E Miao
+16F8F 16F9F Miao
+1B000 Katakana
+1B001 Hiragana
+1D000 1D0F5 Common
+1D100 1D126 Common
+1D129 1D166 Common
+1D167 1D169 Inherited
+1D16A 1D17A Common
+1D17B 1D182 Inherited
+1D183 1D184 Common
+1D185 1D18B Inherited
+1D18C 1D1A9 Common
+1D1AA 1D1AD Inherited
+1D1AE 1D1DD Common
+1D200 1D245 Greek
+1D300 1D356 Common
+1D360 1D371 Common
+1D400 1D454 Common
+1D456 1D49C Common
+1D49E 1D49F Common
+1D4A2 Common
+1D4A5 1D4A6 Common
+1D4A9 1D4AC Common
+1D4AE 1D4B9 Common
+1D4BB Common
+1D4BD 1D4C3 Common
+1D4C5 1D505 Common
+1D507 1D50A Common
+1D50D 1D514 Common
+1D516 1D51C Common
+1D51E 1D539 Common
+1D53B 1D53E Common
+1D540 1D544 Common
+1D546 Common
+1D54A 1D550 Common
+1D552 1D6A5 Common
+1D6A8 1D7CB Common
+1D7CE 1D7FF Common
+1EE00 1EE03 Arabic
+1EE05 1EE1F Arabic
+1EE21 1EE22 Arabic
+1EE24 Arabic
+1EE27 Arabic
+1EE29 1EE32 Arabic
+1EE34 1EE37 Arabic
+1EE39 Arabic
+1EE3B Arabic
+1EE42 Arabic
+1EE47 Arabic
+1EE49 Arabic
+1EE4B Arabic
+1EE4D 1EE4F Arabic
+1EE51 1EE52 Arabic
+1EE54 Arabic
+1EE57 Arabic
+1EE59 Arabic
+1EE5B Arabic
+1EE5D Arabic
+1EE5F Arabic
+1EE61 1EE62 Arabic
+1EE64 Arabic
+1EE67 1EE6A Arabic
+1EE6C 1EE72 Arabic
+1EE74 1EE77 Arabic
+1EE79 1EE7C Arabic
+1EE7E Arabic
+1EE80 1EE89 Arabic
+1EE8B 1EE9B Arabic
+1EEA1 1EEA3 Arabic
+1EEA5 1EEA9 Arabic
+1EEAB 1EEBB Arabic
+1EEF0 1EEF1 Arabic
+1F000 1F02B Common
+1F030 1F093 Common
+1F0A0 1F0AE Common
+1F0B1 1F0BE Common
+1F0C1 1F0CF Common
+1F0D1 1F0DF Common
+1F100 1F10A Common
+1F110 1F12E Common
+1F130 1F16B Common
+1F170 1F19A Common
+1F1E6 1F1FF Common
+1F200 Hiragana
+1F201 1F202 Common
+1F210 1F23A Common
+1F240 1F248 Common
+1F250 1F251 Common
+1F300 1F320 Common
+1F330 1F335 Common
+1F337 1F37C Common
+1F380 1F393 Common
+1F3A0 1F3C4 Common
+1F3C6 1F3CA Common
+1F3E0 1F3F0 Common
+1F400 1F43E Common
+1F440 Common
+1F442 1F4F7 Common
+1F4F9 1F4FC Common
+1F500 1F53D Common
+1F540 1F543 Common
+1F550 1F567 Common
+1F5FB 1F640 Common
+1F645 1F64F Common
+1F680 1F6C5 Common
+1F700 1F773 Common
+20000 2A6D6 Han
+2A700 2B734 Han
+2B740 2B81D Han
+2F800 2FA1D Han
+E0001 Common
+E0020 E007F Common
+E0100 E01EF Inherited
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Tc.pl b/Master/tlpkg/tlperl/lib/unicore/To/Tc.pl
new file mode 100644
index 00000000000..9b7a7535c17
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Tc.pl
@@ -0,0 +1,707 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+# The mappings in the non-hash portion of this file must be modified to get the
+# correct values by adding the code point ordinal number to each one that is
+# numeric.
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToTc'}{'format'} = 'a'; # some entries need adjustment
+$utf8::SwashInfo{'ToTc'}{'specials_name'} = 'utf8::ToSpecTc'; # Name of hash of special mappings
+$utf8::SwashInfo{'ToTc'}{'missing'} = '0'; # code point maps to itself
+
+# Some code points require special handling because their mappings are each to
+# multiple code points. These do not appear in the main body, but are defined
+# in the hash below.
+
+# Each key is the string of N bytes that together make up the UTF-8 encoding
+# for the code point. (i.e. the same as looking at the code point's UTF-8
+# under "use bytes"). Each value is the UTF-8 of the translation, for speed.
+%utf8::ToSpecTc = (
+"\xC3\x9F" => "\x{0053}\x{0073}", # U+00DF => 0053 0073
+"\xC5\x89" => "\x{02BC}\x{004E}", # U+0149 => 02BC 004E
+"\xC7\xB0" => "\x{004A}\x{030C}", # U+01F0 => 004A 030C
+"\xCE\x90" => "\x{0399}\x{0308}\x{0301}", # U+0390 => 0399 0308 0301
+"\xCE\xB0" => "\x{03A5}\x{0308}\x{0301}", # U+03B0 => 03A5 0308 0301
+"\xD6\x87" => "\x{0535}\x{0582}", # U+0587 => 0535 0582
+"\xE1\xBA\x96" => "\x{0048}\x{0331}", # U+1E96 => 0048 0331
+"\xE1\xBA\x97" => "\x{0054}\x{0308}", # U+1E97 => 0054 0308
+"\xE1\xBA\x98" => "\x{0057}\x{030A}", # U+1E98 => 0057 030A
+"\xE1\xBA\x99" => "\x{0059}\x{030A}", # U+1E99 => 0059 030A
+"\xE1\xBA\x9A" => "\x{0041}\x{02BE}", # U+1E9A => 0041 02BE
+"\xE1\xBD\x90" => "\x{03A5}\x{0313}", # U+1F50 => 03A5 0313
+"\xE1\xBD\x92" => "\x{03A5}\x{0313}\x{0300}", # U+1F52 => 03A5 0313 0300
+"\xE1\xBD\x94" => "\x{03A5}\x{0313}\x{0301}", # U+1F54 => 03A5 0313 0301
+"\xE1\xBD\x96" => "\x{03A5}\x{0313}\x{0342}", # U+1F56 => 03A5 0313 0342
+"\xE1\xBE\xB2" => "\x{1FBA}\x{0345}", # U+1FB2 => 1FBA 0345
+"\xE1\xBE\xB4" => "\x{0386}\x{0345}", # U+1FB4 => 0386 0345
+"\xE1\xBE\xB6" => "\x{0391}\x{0342}", # U+1FB6 => 0391 0342
+"\xE1\xBE\xB7" => "\x{0391}\x{0342}\x{0345}", # U+1FB7 => 0391 0342 0345
+"\xE1\xBF\x82" => "\x{1FCA}\x{0345}", # U+1FC2 => 1FCA 0345
+"\xE1\xBF\x84" => "\x{0389}\x{0345}", # U+1FC4 => 0389 0345
+"\xE1\xBF\x86" => "\x{0397}\x{0342}", # U+1FC6 => 0397 0342
+"\xE1\xBF\x87" => "\x{0397}\x{0342}\x{0345}", # U+1FC7 => 0397 0342 0345
+"\xE1\xBF\x92" => "\x{0399}\x{0308}\x{0300}", # U+1FD2 => 0399 0308 0300
+"\xE1\xBF\x93" => "\x{0399}\x{0308}\x{0301}", # U+1FD3 => 0399 0308 0301
+"\xE1\xBF\x96" => "\x{0399}\x{0342}", # U+1FD6 => 0399 0342
+"\xE1\xBF\x97" => "\x{0399}\x{0308}\x{0342}", # U+1FD7 => 0399 0308 0342
+"\xE1\xBF\xA2" => "\x{03A5}\x{0308}\x{0300}", # U+1FE2 => 03A5 0308 0300
+"\xE1\xBF\xA3" => "\x{03A5}\x{0308}\x{0301}", # U+1FE3 => 03A5 0308 0301
+"\xE1\xBF\xA4" => "\x{03A1}\x{0313}", # U+1FE4 => 03A1 0313
+"\xE1\xBF\xA6" => "\x{03A5}\x{0342}", # U+1FE6 => 03A5 0342
+"\xE1\xBF\xA7" => "\x{03A5}\x{0308}\x{0342}", # U+1FE7 => 03A5 0308 0342
+"\xE1\xBF\xB2" => "\x{1FFA}\x{0345}", # U+1FF2 => 1FFA 0345
+"\xE1\xBF\xB4" => "\x{038F}\x{0345}", # U+1FF4 => 038F 0345
+"\xE1\xBF\xB6" => "\x{03A9}\x{0342}", # U+1FF6 => 03A9 0342
+"\xE1\xBF\xB7" => "\x{03A9}\x{0342}\x{0345}", # U+1FF7 => 03A9 0342 0345
+"\xEF\xAC\x80" => "\x{0046}\x{0066}", # U+FB00 => 0046 0066
+"\xEF\xAC\x81" => "\x{0046}\x{0069}", # U+FB01 => 0046 0069
+"\xEF\xAC\x82" => "\x{0046}\x{006C}", # U+FB02 => 0046 006C
+"\xEF\xAC\x83" => "\x{0046}\x{0066}\x{0069}", # U+FB03 => 0046 0066 0069
+"\xEF\xAC\x84" => "\x{0046}\x{0066}\x{006C}", # U+FB04 => 0046 0066 006C
+"\xEF\xAC\x85" => "\x{0053}\x{0074}", # U+FB05 => 0053 0074
+"\xEF\xAC\x86" => "\x{0053}\x{0074}", # U+FB06 => 0053 0074
+"\xEF\xAC\x93" => "\x{0544}\x{0576}", # U+FB13 => 0544 0576
+"\xEF\xAC\x94" => "\x{0544}\x{0565}", # U+FB14 => 0544 0565
+"\xEF\xAC\x95" => "\x{0544}\x{056B}", # U+FB15 => 0544 056B
+"\xEF\xAC\x96" => "\x{054E}\x{0576}", # U+FB16 => 054E 0576
+"\xEF\xAC\x97" => "\x{0544}\x{056D}", # U+FB17 => 0544 056D
+);
+
+return <<'END';
+0061 007A 65
+00B5 924
+00E0 00F6 192
+00F8 00FE 216
+00FF 376
+0101 256
+0103 258
+0105 260
+0107 262
+0109 264
+010B 266
+010D 268
+010F 270
+0111 272
+0113 274
+0115 276
+0117 278
+0119 280
+011B 282
+011D 284
+011F 286
+0121 288
+0123 290
+0125 292
+0127 294
+0129 296
+012B 298
+012D 300
+012F 302
+0131 73
+0133 306
+0135 308
+0137 310
+013A 313
+013C 315
+013E 317
+0140 319
+0142 321
+0144 323
+0146 325
+0148 327
+014B 330
+014D 332
+014F 334
+0151 336
+0153 338
+0155 340
+0157 342
+0159 344
+015B 346
+015D 348
+015F 350
+0161 352
+0163 354
+0165 356
+0167 358
+0169 360
+016B 362
+016D 364
+016F 366
+0171 368
+0173 370
+0175 372
+0177 374
+017A 377
+017C 379
+017E 381
+017F 83
+0180 579
+0183 386
+0185 388
+0188 391
+018C 395
+0192 401
+0195 502
+0199 408
+019A 573
+019E 544
+01A1 416
+01A3 418
+01A5 420
+01A8 423
+01AD 428
+01B0 431
+01B4 435
+01B6 437
+01B9 440
+01BD 444
+01BF 503
+01C4 453
+01C6 453
+01C7 456
+01C9 456
+01CA 459
+01CC 459
+01CE 461
+01D0 463
+01D2 465
+01D4 467
+01D6 469
+01D8 471
+01DA 473
+01DC 475
+01DD 398
+01DF 478
+01E1 480
+01E3 482
+01E5 484
+01E7 486
+01E9 488
+01EB 490
+01ED 492
+01EF 494
+01F1 498
+01F3 498
+01F5 500
+01F9 504
+01FB 506
+01FD 508
+01FF 510
+0201 512
+0203 514
+0205 516
+0207 518
+0209 520
+020B 522
+020D 524
+020F 526
+0211 528
+0213 530
+0215 532
+0217 534
+0219 536
+021B 538
+021D 540
+021F 542
+0223 546
+0225 548
+0227 550
+0229 552
+022B 554
+022D 556
+022F 558
+0231 560
+0233 562
+023C 571
+023F 0240 11390
+0242 577
+0247 582
+0249 584
+024B 586
+024D 588
+024F 590
+0250 11375
+0251 11373
+0252 11376
+0253 385
+0254 390
+0256 0257 393
+0259 399
+025B 400
+0260 403
+0263 404
+0265 42893
+0266 42922
+0268 407
+0269 406
+026B 11362
+026F 412
+0271 11374
+0272 413
+0275 415
+027D 11364
+0280 422
+0283 425
+0288 430
+0289 580
+028A 028B 433
+028C 581
+0292 439
+0345 921
+0371 880
+0373 882
+0377 886
+037B 037D 1021
+03AC 902
+03AD 03AF 904
+03B1 03C1 913
+03C2 931
+03C3 03CB 931
+03CC 908
+03CD 03CE 910
+03D0 914
+03D1 920
+03D5 934
+03D6 928
+03D7 975
+03D9 984
+03DB 986
+03DD 988
+03DF 990
+03E1 992
+03E3 994
+03E5 996
+03E7 998
+03E9 1000
+03EB 1002
+03ED 1004
+03EF 1006
+03F0 922
+03F1 929
+03F2 1017
+03F5 917
+03F8 1015
+03FB 1018
+0430 044F 1040
+0450 045F 1024
+0461 1120
+0463 1122
+0465 1124
+0467 1126
+0469 1128
+046B 1130
+046D 1132
+046F 1134
+0471 1136
+0473 1138
+0475 1140
+0477 1142
+0479 1144
+047B 1146
+047D 1148
+047F 1150
+0481 1152
+048B 1162
+048D 1164
+048F 1166
+0491 1168
+0493 1170
+0495 1172
+0497 1174
+0499 1176
+049B 1178
+049D 1180
+049F 1182
+04A1 1184
+04A3 1186
+04A5 1188
+04A7 1190
+04A9 1192
+04AB 1194
+04AD 1196
+04AF 1198
+04B1 1200
+04B3 1202
+04B5 1204
+04B7 1206
+04B9 1208
+04BB 1210
+04BD 1212
+04BF 1214
+04C2 1217
+04C4 1219
+04C6 1221
+04C8 1223
+04CA 1225
+04CC 1227
+04CE 1229
+04CF 1216
+04D1 1232
+04D3 1234
+04D5 1236
+04D7 1238
+04D9 1240
+04DB 1242
+04DD 1244
+04DF 1246
+04E1 1248
+04E3 1250
+04E5 1252
+04E7 1254
+04E9 1256
+04EB 1258
+04ED 1260
+04EF 1262
+04F1 1264
+04F3 1266
+04F5 1268
+04F7 1270
+04F9 1272
+04FB 1274
+04FD 1276
+04FF 1278
+0501 1280
+0503 1282
+0505 1284
+0507 1286
+0509 1288
+050B 1290
+050D 1292
+050F 1294
+0511 1296
+0513 1298
+0515 1300
+0517 1302
+0519 1304
+051B 1306
+051D 1308
+051F 1310
+0521 1312
+0523 1314
+0525 1316
+0527 1318
+0561 0586 1329
+1D79 42877
+1D7D 11363
+1E01 7680
+1E03 7682
+1E05 7684
+1E07 7686
+1E09 7688
+1E0B 7690
+1E0D 7692
+1E0F 7694
+1E11 7696
+1E13 7698
+1E15 7700
+1E17 7702
+1E19 7704
+1E1B 7706
+1E1D 7708
+1E1F 7710
+1E21 7712
+1E23 7714
+1E25 7716
+1E27 7718
+1E29 7720
+1E2B 7722
+1E2D 7724
+1E2F 7726
+1E31 7728
+1E33 7730
+1E35 7732
+1E37 7734
+1E39 7736
+1E3B 7738
+1E3D 7740
+1E3F 7742
+1E41 7744
+1E43 7746
+1E45 7748
+1E47 7750
+1E49 7752
+1E4B 7754
+1E4D 7756
+1E4F 7758
+1E51 7760
+1E53 7762
+1E55 7764
+1E57 7766
+1E59 7768
+1E5B 7770
+1E5D 7772
+1E5F 7774
+1E61 7776
+1E63 7778
+1E65 7780
+1E67 7782
+1E69 7784
+1E6B 7786
+1E6D 7788
+1E6F 7790
+1E71 7792
+1E73 7794
+1E75 7796
+1E77 7798
+1E79 7800
+1E7B 7802
+1E7D 7804
+1E7F 7806
+1E81 7808
+1E83 7810
+1E85 7812
+1E87 7814
+1E89 7816
+1E8B 7818
+1E8D 7820
+1E8F 7822
+1E91 7824
+1E93 7826
+1E95 7828
+1E9B 7776
+1EA1 7840
+1EA3 7842
+1EA5 7844
+1EA7 7846
+1EA9 7848
+1EAB 7850
+1EAD 7852
+1EAF 7854
+1EB1 7856
+1EB3 7858
+1EB5 7860
+1EB7 7862
+1EB9 7864
+1EBB 7866
+1EBD 7868
+1EBF 7870
+1EC1 7872
+1EC3 7874
+1EC5 7876
+1EC7 7878
+1EC9 7880
+1ECB 7882
+1ECD 7884
+1ECF 7886
+1ED1 7888
+1ED3 7890
+1ED5 7892
+1ED7 7894
+1ED9 7896
+1EDB 7898
+1EDD 7900
+1EDF 7902
+1EE1 7904
+1EE3 7906
+1EE5 7908
+1EE7 7910
+1EE9 7912
+1EEB 7914
+1EED 7916
+1EEF 7918
+1EF1 7920
+1EF3 7922
+1EF5 7924
+1EF7 7926
+1EF9 7928
+1EFB 7930
+1EFD 7932
+1EFF 7934
+1F00 1F07 7944
+1F10 1F15 7960
+1F20 1F27 7976
+1F30 1F37 7992
+1F40 1F45 8008
+1F51 8025
+1F53 8027
+1F55 8029
+1F57 8031
+1F60 1F67 8040
+1F70 1F71 8122
+1F72 1F75 8136
+1F76 1F77 8154
+1F78 1F79 8184
+1F7A 1F7B 8170
+1F7C 1F7D 8186
+1F80 1F87 8072
+1F90 1F97 8088
+1FA0 1FA7 8104
+1FB0 1FB1 8120
+1FB3 8124
+1FBE 921
+1FC3 8140
+1FD0 1FD1 8152
+1FE0 1FE1 8168
+1FE5 8172
+1FF3 8188
+214E 8498
+2170 217F 8544
+2184 8579
+24D0 24E9 9398
+2C30 2C5E 11264
+2C61 11360
+2C65 570
+2C66 574
+2C68 11367
+2C6A 11369
+2C6C 11371
+2C73 11378
+2C76 11381
+2C81 11392
+2C83 11394
+2C85 11396
+2C87 11398
+2C89 11400
+2C8B 11402
+2C8D 11404
+2C8F 11406
+2C91 11408
+2C93 11410
+2C95 11412
+2C97 11414
+2C99 11416
+2C9B 11418
+2C9D 11420
+2C9F 11422
+2CA1 11424
+2CA3 11426
+2CA5 11428
+2CA7 11430
+2CA9 11432
+2CAB 11434
+2CAD 11436
+2CAF 11438
+2CB1 11440
+2CB3 11442
+2CB5 11444
+2CB7 11446
+2CB9 11448
+2CBB 11450
+2CBD 11452
+2CBF 11454
+2CC1 11456
+2CC3 11458
+2CC5 11460
+2CC7 11462
+2CC9 11464
+2CCB 11466
+2CCD 11468
+2CCF 11470
+2CD1 11472
+2CD3 11474
+2CD5 11476
+2CD7 11478
+2CD9 11480
+2CDB 11482
+2CDD 11484
+2CDF 11486
+2CE1 11488
+2CE3 11490
+2CEC 11499
+2CEE 11501
+2CF3 11506
+2D00 2D25 4256
+2D27 4295
+2D2D 4301
+A641 42560
+A643 42562
+A645 42564
+A647 42566
+A649 42568
+A64B 42570
+A64D 42572
+A64F 42574
+A651 42576
+A653 42578
+A655 42580
+A657 42582
+A659 42584
+A65B 42586
+A65D 42588
+A65F 42590
+A661 42592
+A663 42594
+A665 42596
+A667 42598
+A669 42600
+A66B 42602
+A66D 42604
+A681 42624
+A683 42626
+A685 42628
+A687 42630
+A689 42632
+A68B 42634
+A68D 42636
+A68F 42638
+A691 42640
+A693 42642
+A695 42644
+A697 42646
+A723 42786
+A725 42788
+A727 42790
+A729 42792
+A72B 42794
+A72D 42796
+A72F 42798
+A733 42802
+A735 42804
+A737 42806
+A739 42808
+A73B 42810
+A73D 42812
+A73F 42814
+A741 42816
+A743 42818
+A745 42820
+A747 42822
+A749 42824
+A74B 42826
+A74D 42828
+A74F 42830
+A751 42832
+A753 42834
+A755 42836
+A757 42838
+A759 42840
+A75B 42842
+A75D 42844
+A75F 42846
+A761 42848
+A763 42850
+A765 42852
+A767 42854
+A769 42856
+A76B 42858
+A76D 42860
+A76F 42862
+A77A 42873
+A77C 42875
+A77F 42878
+A781 42880
+A783 42882
+A785 42884
+A787 42886
+A78C 42891
+A791 42896
+A793 42898
+A7A1 42912
+A7A3 42914
+A7A5 42916
+A7A7 42918
+A7A9 42920
+FF41 FF5A 65313
+10428 1044F 66560
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Title.pl b/Master/tlpkg/tlperl/lib/unicore/To/Title.pl
index 25e44ec83b2..4dfd9bc68af 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Title.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Title.pl
@@ -1,12 +1,23 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! IT IS DEPRECATED TO USE THIS FILE !!!!!!!
+
+# This file is for internal use by core Perl only. It is retained for
+# backwards compatibility with applications that may have come to rely on it,
+# but its format and even its name or existence are subject to change without
+# notice in a future Perl version. Don't use it directly. Instead, its
+# contents are now retrievable through a stable API in the Unicode::UCD
+# module: Unicode::UCD::prop_invmap('Titlecase_Mapping').
+
# The name this swash is to be known by, with the format of the mappings in
# the main body of the table, and what all code points missing from this file
# map to.
-$utf8::SwashInfo{'ToTitle'}{'format'} = 'x'; # positive hex whole number; a code point
+$utf8::SwashInfo{'ToTitle'}{'format'} = 'x'; # non-negative hex whole number; a code point
+$utf8::SwashInfo{'ToTitle'}{'specials_name'} = 'utf8::ToSpecTitle'; # Name of hash of special mappings
$utf8::SwashInfo{'ToTitle'}{'missing'} = '<code point>'; # code point maps to itself
# Some code points require special handling because their mappings are each to
@@ -287,6 +298,7 @@ return <<'END';
0260 0193
0263 0194
0265 A78D
+0266 A7AA
0268 0197
0269 0196
026B 2C62
@@ -923,6 +935,7 @@ return <<'END';
2CE3 2CE2
2CEC 2CEB
2CEE 2CED
+2CF3 2CF2
2D00 10A0
2D01 10A1
2D02 10A2
@@ -961,6 +974,8 @@ return <<'END';
2D23 10C3
2D24 10C4
2D25 10C5
+2D27 10C7
+2D2D 10CD
A641 A640
A643 A642
A645 A644
@@ -1043,6 +1058,7 @@ A785 A784
A787 A786
A78C A78B
A791 A790
+A793 A792
A7A1 A7A0
A7A3 A7A2
A7A5 A7A4
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Uc.pl b/Master/tlpkg/tlperl/lib/unicore/To/Uc.pl
new file mode 100644
index 00000000000..02c68833a37
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Uc.pl
@@ -0,0 +1,761 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+# The mappings in the non-hash portion of this file must be modified to get the
+# correct values by adding the code point ordinal number to each one that is
+# numeric.
+
+# The name this swash is to be known by, with the format of the mappings in
+# the main body of the table, and what all code points missing from this file
+# map to.
+$utf8::SwashInfo{'ToUc'}{'format'} = 'a'; # some entries need adjustment
+$utf8::SwashInfo{'ToUc'}{'specials_name'} = 'utf8::ToSpecUc'; # Name of hash of special mappings
+$utf8::SwashInfo{'ToUc'}{'missing'} = '0'; # code point maps to itself
+
+# Some code points require special handling because their mappings are each to
+# multiple code points. These do not appear in the main body, but are defined
+# in the hash below.
+
+# Each key is the string of N bytes that together make up the UTF-8 encoding
+# for the code point. (i.e. the same as looking at the code point's UTF-8
+# under "use bytes"). Each value is the UTF-8 of the translation, for speed.
+%utf8::ToSpecUc = (
+"\xC3\x9F" => "\x{0053}\x{0053}", # U+00DF => 0053 0053
+"\xC5\x89" => "\x{02BC}\x{004E}", # U+0149 => 02BC 004E
+"\xC7\xB0" => "\x{004A}\x{030C}", # U+01F0 => 004A 030C
+"\xCE\x90" => "\x{0399}\x{0308}\x{0301}", # U+0390 => 0399 0308 0301
+"\xCE\xB0" => "\x{03A5}\x{0308}\x{0301}", # U+03B0 => 03A5 0308 0301
+"\xD6\x87" => "\x{0535}\x{0552}", # U+0587 => 0535 0552
+"\xE1\xBA\x96" => "\x{0048}\x{0331}", # U+1E96 => 0048 0331
+"\xE1\xBA\x97" => "\x{0054}\x{0308}", # U+1E97 => 0054 0308
+"\xE1\xBA\x98" => "\x{0057}\x{030A}", # U+1E98 => 0057 030A
+"\xE1\xBA\x99" => "\x{0059}\x{030A}", # U+1E99 => 0059 030A
+"\xE1\xBA\x9A" => "\x{0041}\x{02BE}", # U+1E9A => 0041 02BE
+"\xE1\xBD\x90" => "\x{03A5}\x{0313}", # U+1F50 => 03A5 0313
+"\xE1\xBD\x92" => "\x{03A5}\x{0313}\x{0300}", # U+1F52 => 03A5 0313 0300
+"\xE1\xBD\x94" => "\x{03A5}\x{0313}\x{0301}", # U+1F54 => 03A5 0313 0301
+"\xE1\xBD\x96" => "\x{03A5}\x{0313}\x{0342}", # U+1F56 => 03A5 0313 0342
+"\xE1\xBE\x80" => "\x{1F08}\x{0399}", # U+1F80 => 1F08 0399
+"\xE1\xBE\x81" => "\x{1F09}\x{0399}", # U+1F81 => 1F09 0399
+"\xE1\xBE\x82" => "\x{1F0A}\x{0399}", # U+1F82 => 1F0A 0399
+"\xE1\xBE\x83" => "\x{1F0B}\x{0399}", # U+1F83 => 1F0B 0399
+"\xE1\xBE\x84" => "\x{1F0C}\x{0399}", # U+1F84 => 1F0C 0399
+"\xE1\xBE\x85" => "\x{1F0D}\x{0399}", # U+1F85 => 1F0D 0399
+"\xE1\xBE\x86" => "\x{1F0E}\x{0399}", # U+1F86 => 1F0E 0399
+"\xE1\xBE\x87" => "\x{1F0F}\x{0399}", # U+1F87 => 1F0F 0399
+"\xE1\xBE\x88" => "\x{1F08}\x{0399}", # U+1F88 => 1F08 0399
+"\xE1\xBE\x89" => "\x{1F09}\x{0399}", # U+1F89 => 1F09 0399
+"\xE1\xBE\x8A" => "\x{1F0A}\x{0399}", # U+1F8A => 1F0A 0399
+"\xE1\xBE\x8B" => "\x{1F0B}\x{0399}", # U+1F8B => 1F0B 0399
+"\xE1\xBE\x8C" => "\x{1F0C}\x{0399}", # U+1F8C => 1F0C 0399
+"\xE1\xBE\x8D" => "\x{1F0D}\x{0399}", # U+1F8D => 1F0D 0399
+"\xE1\xBE\x8E" => "\x{1F0E}\x{0399}", # U+1F8E => 1F0E 0399
+"\xE1\xBE\x8F" => "\x{1F0F}\x{0399}", # U+1F8F => 1F0F 0399
+"\xE1\xBE\x90" => "\x{1F28}\x{0399}", # U+1F90 => 1F28 0399
+"\xE1\xBE\x91" => "\x{1F29}\x{0399}", # U+1F91 => 1F29 0399
+"\xE1\xBE\x92" => "\x{1F2A}\x{0399}", # U+1F92 => 1F2A 0399
+"\xE1\xBE\x93" => "\x{1F2B}\x{0399}", # U+1F93 => 1F2B 0399
+"\xE1\xBE\x94" => "\x{1F2C}\x{0399}", # U+1F94 => 1F2C 0399
+"\xE1\xBE\x95" => "\x{1F2D}\x{0399}", # U+1F95 => 1F2D 0399
+"\xE1\xBE\x96" => "\x{1F2E}\x{0399}", # U+1F96 => 1F2E 0399
+"\xE1\xBE\x97" => "\x{1F2F}\x{0399}", # U+1F97 => 1F2F 0399
+"\xE1\xBE\x98" => "\x{1F28}\x{0399}", # U+1F98 => 1F28 0399
+"\xE1\xBE\x99" => "\x{1F29}\x{0399}", # U+1F99 => 1F29 0399
+"\xE1\xBE\x9A" => "\x{1F2A}\x{0399}", # U+1F9A => 1F2A 0399
+"\xE1\xBE\x9B" => "\x{1F2B}\x{0399}", # U+1F9B => 1F2B 0399
+"\xE1\xBE\x9C" => "\x{1F2C}\x{0399}", # U+1F9C => 1F2C 0399
+"\xE1\xBE\x9D" => "\x{1F2D}\x{0399}", # U+1F9D => 1F2D 0399
+"\xE1\xBE\x9E" => "\x{1F2E}\x{0399}", # U+1F9E => 1F2E 0399
+"\xE1\xBE\x9F" => "\x{1F2F}\x{0399}", # U+1F9F => 1F2F 0399
+"\xE1\xBE\xA0" => "\x{1F68}\x{0399}", # U+1FA0 => 1F68 0399
+"\xE1\xBE\xA1" => "\x{1F69}\x{0399}", # U+1FA1 => 1F69 0399
+"\xE1\xBE\xA2" => "\x{1F6A}\x{0399}", # U+1FA2 => 1F6A 0399
+"\xE1\xBE\xA3" => "\x{1F6B}\x{0399}", # U+1FA3 => 1F6B 0399
+"\xE1\xBE\xA4" => "\x{1F6C}\x{0399}", # U+1FA4 => 1F6C 0399
+"\xE1\xBE\xA5" => "\x{1F6D}\x{0399}", # U+1FA5 => 1F6D 0399
+"\xE1\xBE\xA6" => "\x{1F6E}\x{0399}", # U+1FA6 => 1F6E 0399
+"\xE1\xBE\xA7" => "\x{1F6F}\x{0399}", # U+1FA7 => 1F6F 0399
+"\xE1\xBE\xA8" => "\x{1F68}\x{0399}", # U+1FA8 => 1F68 0399
+"\xE1\xBE\xA9" => "\x{1F69}\x{0399}", # U+1FA9 => 1F69 0399
+"\xE1\xBE\xAA" => "\x{1F6A}\x{0399}", # U+1FAA => 1F6A 0399
+"\xE1\xBE\xAB" => "\x{1F6B}\x{0399}", # U+1FAB => 1F6B 0399
+"\xE1\xBE\xAC" => "\x{1F6C}\x{0399}", # U+1FAC => 1F6C 0399
+"\xE1\xBE\xAD" => "\x{1F6D}\x{0399}", # U+1FAD => 1F6D 0399
+"\xE1\xBE\xAE" => "\x{1F6E}\x{0399}", # U+1FAE => 1F6E 0399
+"\xE1\xBE\xAF" => "\x{1F6F}\x{0399}", # U+1FAF => 1F6F 0399
+"\xE1\xBE\xB2" => "\x{1FBA}\x{0399}", # U+1FB2 => 1FBA 0399
+"\xE1\xBE\xB3" => "\x{0391}\x{0399}", # U+1FB3 => 0391 0399
+"\xE1\xBE\xB4" => "\x{0386}\x{0399}", # U+1FB4 => 0386 0399
+"\xE1\xBE\xB6" => "\x{0391}\x{0342}", # U+1FB6 => 0391 0342
+"\xE1\xBE\xB7" => "\x{0391}\x{0342}\x{0399}", # U+1FB7 => 0391 0342 0399
+"\xE1\xBE\xBC" => "\x{0391}\x{0399}", # U+1FBC => 0391 0399
+"\xE1\xBF\x82" => "\x{1FCA}\x{0399}", # U+1FC2 => 1FCA 0399
+"\xE1\xBF\x83" => "\x{0397}\x{0399}", # U+1FC3 => 0397 0399
+"\xE1\xBF\x84" => "\x{0389}\x{0399}", # U+1FC4 => 0389 0399
+"\xE1\xBF\x86" => "\x{0397}\x{0342}", # U+1FC6 => 0397 0342
+"\xE1\xBF\x87" => "\x{0397}\x{0342}\x{0399}", # U+1FC7 => 0397 0342 0399
+"\xE1\xBF\x8C" => "\x{0397}\x{0399}", # U+1FCC => 0397 0399
+"\xE1\xBF\x92" => "\x{0399}\x{0308}\x{0300}", # U+1FD2 => 0399 0308 0300
+"\xE1\xBF\x93" => "\x{0399}\x{0308}\x{0301}", # U+1FD3 => 0399 0308 0301
+"\xE1\xBF\x96" => "\x{0399}\x{0342}", # U+1FD6 => 0399 0342
+"\xE1\xBF\x97" => "\x{0399}\x{0308}\x{0342}", # U+1FD7 => 0399 0308 0342
+"\xE1\xBF\xA2" => "\x{03A5}\x{0308}\x{0300}", # U+1FE2 => 03A5 0308 0300
+"\xE1\xBF\xA3" => "\x{03A5}\x{0308}\x{0301}", # U+1FE3 => 03A5 0308 0301
+"\xE1\xBF\xA4" => "\x{03A1}\x{0313}", # U+1FE4 => 03A1 0313
+"\xE1\xBF\xA6" => "\x{03A5}\x{0342}", # U+1FE6 => 03A5 0342
+"\xE1\xBF\xA7" => "\x{03A5}\x{0308}\x{0342}", # U+1FE7 => 03A5 0308 0342
+"\xE1\xBF\xB2" => "\x{1FFA}\x{0399}", # U+1FF2 => 1FFA 0399
+"\xE1\xBF\xB3" => "\x{03A9}\x{0399}", # U+1FF3 => 03A9 0399
+"\xE1\xBF\xB4" => "\x{038F}\x{0399}", # U+1FF4 => 038F 0399
+"\xE1\xBF\xB6" => "\x{03A9}\x{0342}", # U+1FF6 => 03A9 0342
+"\xE1\xBF\xB7" => "\x{03A9}\x{0342}\x{0399}", # U+1FF7 => 03A9 0342 0399
+"\xE1\xBF\xBC" => "\x{03A9}\x{0399}", # U+1FFC => 03A9 0399
+"\xEF\xAC\x80" => "\x{0046}\x{0046}", # U+FB00 => 0046 0046
+"\xEF\xAC\x81" => "\x{0046}\x{0049}", # U+FB01 => 0046 0049
+"\xEF\xAC\x82" => "\x{0046}\x{004C}", # U+FB02 => 0046 004C
+"\xEF\xAC\x83" => "\x{0046}\x{0046}\x{0049}", # U+FB03 => 0046 0046 0049
+"\xEF\xAC\x84" => "\x{0046}\x{0046}\x{004C}", # U+FB04 => 0046 0046 004C
+"\xEF\xAC\x85" => "\x{0053}\x{0054}", # U+FB05 => 0053 0054
+"\xEF\xAC\x86" => "\x{0053}\x{0054}", # U+FB06 => 0053 0054
+"\xEF\xAC\x93" => "\x{0544}\x{0546}", # U+FB13 => 0544 0546
+"\xEF\xAC\x94" => "\x{0544}\x{0535}", # U+FB14 => 0544 0535
+"\xEF\xAC\x95" => "\x{0544}\x{053B}", # U+FB15 => 0544 053B
+"\xEF\xAC\x96" => "\x{054E}\x{0546}", # U+FB16 => 054E 0546
+"\xEF\xAC\x97" => "\x{0544}\x{053D}", # U+FB17 => 0544 053D
+);
+
+return <<'END';
+0061 007A 65
+00B5 924
+00E0 00F6 192
+00F8 00FE 216
+00FF 376
+0101 256
+0103 258
+0105 260
+0107 262
+0109 264
+010B 266
+010D 268
+010F 270
+0111 272
+0113 274
+0115 276
+0117 278
+0119 280
+011B 282
+011D 284
+011F 286
+0121 288
+0123 290
+0125 292
+0127 294
+0129 296
+012B 298
+012D 300
+012F 302
+0131 73
+0133 306
+0135 308
+0137 310
+013A 313
+013C 315
+013E 317
+0140 319
+0142 321
+0144 323
+0146 325
+0148 327
+014B 330
+014D 332
+014F 334
+0151 336
+0153 338
+0155 340
+0157 342
+0159 344
+015B 346
+015D 348
+015F 350
+0161 352
+0163 354
+0165 356
+0167 358
+0169 360
+016B 362
+016D 364
+016F 366
+0171 368
+0173 370
+0175 372
+0177 374
+017A 377
+017C 379
+017E 381
+017F 83
+0180 579
+0183 386
+0185 388
+0188 391
+018C 395
+0192 401
+0195 502
+0199 408
+019A 573
+019E 544
+01A1 416
+01A3 418
+01A5 420
+01A8 423
+01AD 428
+01B0 431
+01B4 435
+01B6 437
+01B9 440
+01BD 444
+01BF 503
+01C5 452
+01C6 452
+01C8 455
+01C9 455
+01CB 458
+01CC 458
+01CE 461
+01D0 463
+01D2 465
+01D4 467
+01D6 469
+01D8 471
+01DA 473
+01DC 475
+01DD 398
+01DF 478
+01E1 480
+01E3 482
+01E5 484
+01E7 486
+01E9 488
+01EB 490
+01ED 492
+01EF 494
+01F2 497
+01F3 497
+01F5 500
+01F9 504
+01FB 506
+01FD 508
+01FF 510
+0201 512
+0203 514
+0205 516
+0207 518
+0209 520
+020B 522
+020D 524
+020F 526
+0211 528
+0213 530
+0215 532
+0217 534
+0219 536
+021B 538
+021D 540
+021F 542
+0223 546
+0225 548
+0227 550
+0229 552
+022B 554
+022D 556
+022F 558
+0231 560
+0233 562
+023C 571
+023F 0240 11390
+0242 577
+0247 582
+0249 584
+024B 586
+024D 588
+024F 590
+0250 11375
+0251 11373
+0252 11376
+0253 385
+0254 390
+0256 0257 393
+0259 399
+025B 400
+0260 403
+0263 404
+0265 42893
+0266 42922
+0268 407
+0269 406
+026B 11362
+026F 412
+0271 11374
+0272 413
+0275 415
+027D 11364
+0280 422
+0283 425
+0288 430
+0289 580
+028A 028B 433
+028C 581
+0292 439
+0345 921
+0371 880
+0373 882
+0377 886
+037B 037D 1021
+03AC 902
+03AD 03AF 904
+03B1 03C1 913
+03C2 931
+03C3 03CB 931
+03CC 908
+03CD 03CE 910
+03D0 914
+03D1 920
+03D5 934
+03D6 928
+03D7 975
+03D9 984
+03DB 986
+03DD 988
+03DF 990
+03E1 992
+03E3 994
+03E5 996
+03E7 998
+03E9 1000
+03EB 1002
+03ED 1004
+03EF 1006
+03F0 922
+03F1 929
+03F2 1017
+03F5 917
+03F8 1015
+03FB 1018
+0430 044F 1040
+0450 045F 1024
+0461 1120
+0463 1122
+0465 1124
+0467 1126
+0469 1128
+046B 1130
+046D 1132
+046F 1134
+0471 1136
+0473 1138
+0475 1140
+0477 1142
+0479 1144
+047B 1146
+047D 1148
+047F 1150
+0481 1152
+048B 1162
+048D 1164
+048F 1166
+0491 1168
+0493 1170
+0495 1172
+0497 1174
+0499 1176
+049B 1178
+049D 1180
+049F 1182
+04A1 1184
+04A3 1186
+04A5 1188
+04A7 1190
+04A9 1192
+04AB 1194
+04AD 1196
+04AF 1198
+04B1 1200
+04B3 1202
+04B5 1204
+04B7 1206
+04B9 1208
+04BB 1210
+04BD 1212
+04BF 1214
+04C2 1217
+04C4 1219
+04C6 1221
+04C8 1223
+04CA 1225
+04CC 1227
+04CE 1229
+04CF 1216
+04D1 1232
+04D3 1234
+04D5 1236
+04D7 1238
+04D9 1240
+04DB 1242
+04DD 1244
+04DF 1246
+04E1 1248
+04E3 1250
+04E5 1252
+04E7 1254
+04E9 1256
+04EB 1258
+04ED 1260
+04EF 1262
+04F1 1264
+04F3 1266
+04F5 1268
+04F7 1270
+04F9 1272
+04FB 1274
+04FD 1276
+04FF 1278
+0501 1280
+0503 1282
+0505 1284
+0507 1286
+0509 1288
+050B 1290
+050D 1292
+050F 1294
+0511 1296
+0513 1298
+0515 1300
+0517 1302
+0519 1304
+051B 1306
+051D 1308
+051F 1310
+0521 1312
+0523 1314
+0525 1316
+0527 1318
+0561 0586 1329
+1D79 42877
+1D7D 11363
+1E01 7680
+1E03 7682
+1E05 7684
+1E07 7686
+1E09 7688
+1E0B 7690
+1E0D 7692
+1E0F 7694
+1E11 7696
+1E13 7698
+1E15 7700
+1E17 7702
+1E19 7704
+1E1B 7706
+1E1D 7708
+1E1F 7710
+1E21 7712
+1E23 7714
+1E25 7716
+1E27 7718
+1E29 7720
+1E2B 7722
+1E2D 7724
+1E2F 7726
+1E31 7728
+1E33 7730
+1E35 7732
+1E37 7734
+1E39 7736
+1E3B 7738
+1E3D 7740
+1E3F 7742
+1E41 7744
+1E43 7746
+1E45 7748
+1E47 7750
+1E49 7752
+1E4B 7754
+1E4D 7756
+1E4F 7758
+1E51 7760
+1E53 7762
+1E55 7764
+1E57 7766
+1E59 7768
+1E5B 7770
+1E5D 7772
+1E5F 7774
+1E61 7776
+1E63 7778
+1E65 7780
+1E67 7782
+1E69 7784
+1E6B 7786
+1E6D 7788
+1E6F 7790
+1E71 7792
+1E73 7794
+1E75 7796
+1E77 7798
+1E79 7800
+1E7B 7802
+1E7D 7804
+1E7F 7806
+1E81 7808
+1E83 7810
+1E85 7812
+1E87 7814
+1E89 7816
+1E8B 7818
+1E8D 7820
+1E8F 7822
+1E91 7824
+1E93 7826
+1E95 7828
+1E9B 7776
+1EA1 7840
+1EA3 7842
+1EA5 7844
+1EA7 7846
+1EA9 7848
+1EAB 7850
+1EAD 7852
+1EAF 7854
+1EB1 7856
+1EB3 7858
+1EB5 7860
+1EB7 7862
+1EB9 7864
+1EBB 7866
+1EBD 7868
+1EBF 7870
+1EC1 7872
+1EC3 7874
+1EC5 7876
+1EC7 7878
+1EC9 7880
+1ECB 7882
+1ECD 7884
+1ECF 7886
+1ED1 7888
+1ED3 7890
+1ED5 7892
+1ED7 7894
+1ED9 7896
+1EDB 7898
+1EDD 7900
+1EDF 7902
+1EE1 7904
+1EE3 7906
+1EE5 7908
+1EE7 7910
+1EE9 7912
+1EEB 7914
+1EED 7916
+1EEF 7918
+1EF1 7920
+1EF3 7922
+1EF5 7924
+1EF7 7926
+1EF9 7928
+1EFB 7930
+1EFD 7932
+1EFF 7934
+1F00 1F07 7944
+1F10 1F15 7960
+1F20 1F27 7976
+1F30 1F37 7992
+1F40 1F45 8008
+1F51 8025
+1F53 8027
+1F55 8029
+1F57 8031
+1F60 1F67 8040
+1F70 1F71 8122
+1F72 1F75 8136
+1F76 1F77 8154
+1F78 1F79 8184
+1F7A 1F7B 8170
+1F7C 1F7D 8186
+1F80 1F87 8072
+1F90 1F97 8088
+1FA0 1FA7 8104
+1FB0 1FB1 8120
+1FB3 8124
+1FBE 921
+1FC3 8140
+1FD0 1FD1 8152
+1FE0 1FE1 8168
+1FE5 8172
+1FF3 8188
+214E 8498
+2170 217F 8544
+2184 8579
+24D0 24E9 9398
+2C30 2C5E 11264
+2C61 11360
+2C65 570
+2C66 574
+2C68 11367
+2C6A 11369
+2C6C 11371
+2C73 11378
+2C76 11381
+2C81 11392
+2C83 11394
+2C85 11396
+2C87 11398
+2C89 11400
+2C8B 11402
+2C8D 11404
+2C8F 11406
+2C91 11408
+2C93 11410
+2C95 11412
+2C97 11414
+2C99 11416
+2C9B 11418
+2C9D 11420
+2C9F 11422
+2CA1 11424
+2CA3 11426
+2CA5 11428
+2CA7 11430
+2CA9 11432
+2CAB 11434
+2CAD 11436
+2CAF 11438
+2CB1 11440
+2CB3 11442
+2CB5 11444
+2CB7 11446
+2CB9 11448
+2CBB 11450
+2CBD 11452
+2CBF 11454
+2CC1 11456
+2CC3 11458
+2CC5 11460
+2CC7 11462
+2CC9 11464
+2CCB 11466
+2CCD 11468
+2CCF 11470
+2CD1 11472
+2CD3 11474
+2CD5 11476
+2CD7 11478
+2CD9 11480
+2CDB 11482
+2CDD 11484
+2CDF 11486
+2CE1 11488
+2CE3 11490
+2CEC 11499
+2CEE 11501
+2CF3 11506
+2D00 2D25 4256
+2D27 4295
+2D2D 4301
+A641 42560
+A643 42562
+A645 42564
+A647 42566
+A649 42568
+A64B 42570
+A64D 42572
+A64F 42574
+A651 42576
+A653 42578
+A655 42580
+A657 42582
+A659 42584
+A65B 42586
+A65D 42588
+A65F 42590
+A661 42592
+A663 42594
+A665 42596
+A667 42598
+A669 42600
+A66B 42602
+A66D 42604
+A681 42624
+A683 42626
+A685 42628
+A687 42630
+A689 42632
+A68B 42634
+A68D 42636
+A68F 42638
+A691 42640
+A693 42642
+A695 42644
+A697 42646
+A723 42786
+A725 42788
+A727 42790
+A729 42792
+A72B 42794
+A72D 42796
+A72F 42798
+A733 42802
+A735 42804
+A737 42806
+A739 42808
+A73B 42810
+A73D 42812
+A73F 42814
+A741 42816
+A743 42818
+A745 42820
+A747 42822
+A749 42824
+A74B 42826
+A74D 42828
+A74F 42830
+A751 42832
+A753 42834
+A755 42836
+A757 42838
+A759 42840
+A75B 42842
+A75D 42844
+A75F 42846
+A761 42848
+A763 42850
+A765 42852
+A767 42854
+A769 42856
+A76B 42858
+A76D 42860
+A76F 42862
+A77A 42873
+A77C 42875
+A77F 42878
+A781 42880
+A783 42882
+A785 42884
+A787 42886
+A78C 42891
+A791 42896
+A793 42898
+A7A1 42912
+A7A3 42914
+A7A5 42916
+A7A7 42918
+A7A9 42920
+FF41 FF5A 65313
+10428 1044F 66560
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/Upper.pl b/Master/tlpkg/tlperl/lib/unicore/To/Upper.pl
index 8813aa293ab..49dc9b58adf 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/Upper.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/Upper.pl
@@ -1,12 +1,23 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! IT IS DEPRECATED TO USE THIS FILE !!!!!!!
+
+# This file is for internal use by core Perl only. It is retained for
+# backwards compatibility with applications that may have come to rely on it,
+# but its format and even its name or existence are subject to change without
+# notice in a future Perl version. Don't use it directly. Instead, its
+# contents are now retrievable through a stable API in the Unicode::UCD
+# module: Unicode::UCD::prop_invmap('Uppercase_Mapping').
+
# The name this swash is to be known by, with the format of the mappings in
# the main body of the table, and what all code points missing from this file
# map to.
-$utf8::SwashInfo{'ToUpper'}{'format'} = 'x'; # positive hex whole number; a code point
+$utf8::SwashInfo{'ToUpper'}{'format'} = 'x'; # non-negative hex whole number; a code point
+$utf8::SwashInfo{'ToUpper'}{'specials_name'} = 'utf8::ToSpecUpper'; # Name of hash of special mappings
$utf8::SwashInfo{'ToUpper'}{'missing'} = '<code point>'; # code point maps to itself
# Some code points require special handling because their mappings are each to
@@ -341,6 +352,7 @@ return <<'END';
0260 0193
0263 0194
0265 A78D
+0266 A7AA
0268 0197
0269 0196
026B 2C62
@@ -950,6 +962,7 @@ return <<'END';
2CE3 2CE2
2CEC 2CEB
2CEE 2CED
+2CF3 2CF2
2D00 10A0
2D01 10A1
2D02 10A2
@@ -988,6 +1001,8 @@ return <<'END';
2D23 10C3
2D24 10C4
2D25 10C5
+2D27 10C7
+2D2D 10CD
A641 A640
A643 A642
A645 A644
@@ -1070,6 +1085,7 @@ A785 A784
A787 A786
A78C A78B
A791 A790
+A793 A792
A7A1 A7A0
A7A3 A7A2
A7A5 A7A4
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/WB.pl b/Master/tlpkg/tlperl/lib/unicore/To/WB.pl
index 2d9b9e8608c..439e201b9a1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/To/WB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/To/WB.pl
@@ -1,11 +1,12 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
# The name this swash is to be known by, with the format of the mappings in
@@ -66,7 +67,7 @@ return <<'END';
05D0 05EA ALetter
05F0 05F3 ALetter
05F4 MidLetter
-0600 0603 Format
+0600 0604 Format
060C 060D MidNum
0610 061A Extend
0620 064A ALetter
@@ -112,6 +113,9 @@ return <<'END';
0829 082D Extend
0840 0858 ALetter
0859 085B Extend
+08A0 ALetter
+08A2 08AC ALetter
+08E4 08FE Extend
0900 0903 Extend
0904 0939 ALetter
093A 093C Extend
@@ -306,9 +310,10 @@ return <<'END';
1090 1099 Numeric
109A 109D Extend
10A0 10C5 ALetter
+10C7 ALetter
+10CD ALetter
10D0 10FA ALetter
-10FC ALetter
-1100 1248 ALetter
+10FC 1248 ALetter
124A 124D ALetter
1250 1256 ALetter
1258 ALetter
@@ -342,8 +347,7 @@ return <<'END';
1760 176C ALetter
176E 1770 ALetter
1772 1773 Extend
-17B4 17B5 Format
-17B6 17D3 Extend
+17B4 17D3 Extend
17DD Extend
17E0 17E9 Numeric
180B 180D Extend
@@ -375,10 +379,10 @@ return <<'END';
1B6B 1B73 Extend
1B80 1B82 Extend
1B83 1BA0 ALetter
-1BA1 1BAA Extend
+1BA1 1BAD Extend
1BAE 1BAF ALetter
1BB0 1BB9 Numeric
-1BC0 1BE5 ALetter
+1BBA 1BE5 ALetter
1BE6 1BF3 Extend
1C00 1C23 ALetter
1C24 1C37 Extend
@@ -391,7 +395,8 @@ return <<'END';
1CE9 1CEC ALetter
1CED Extend
1CEE 1CF1 ALetter
-1CF2 Extend
+1CF2 1CF4 Extend
+1CF5 1CF6 ALetter
1D00 1DBF ALetter
1DC0 1DE6 Extend
1DFC 1DFF Extend
@@ -450,8 +455,11 @@ return <<'END';
2C60 2CE4 ALetter
2CEB 2CEE ALetter
2CEF 2CF1 Extend
+2CF2 2CF3 ALetter
2D00 2D25 ALetter
-2D30 2D65 ALetter
+2D27 ALetter
+2D2D ALetter
+2D30 2D67 ALetter
2D6F ALetter
2D7F Extend
2D80 2D96 ALetter
@@ -487,16 +495,17 @@ A620 A629 Numeric
A62A A62B ALetter
A640 A66E ALetter
A66F A672 Extend
-A67C A67D Extend
+A674 A67D Extend
A67F A697 ALetter
+A69F Extend
A6A0 A6EF ALetter
A6F0 A6F1 Extend
A717 A71F ALetter
A722 A788 ALetter
A78B A78E ALetter
-A790 A791 ALetter
-A7A0 A7A9 ALetter
-A7FA A801 ALetter
+A790 A793 ALetter
+A7A0 A7AA ALetter
+A7F8 A801 ALetter
A802 Extend
A803 A805 ALetter
A806 Extend
@@ -536,6 +545,10 @@ AAB2 AAB4 Extend
AAB7 AAB8 Extend
AABE AABF Extend
AAC1 Extend
+AAE0 AAEA ALetter
+AAEB AAEF Extend
+AAF2 AAF4 ALetter
+AAF5 AAF6 Extend
AB01 AB06 ALetter
AB09 AB0E ALetter
AB11 AB16 ALetter
@@ -620,6 +633,8 @@ FFF9 FFFB Format
1083F 10855 ALetter
10900 10915 ALetter
10920 10939 ALetter
+10980 109B7 ALetter
+109BE 109BF ALetter
10A00 ALetter
10A01 10A03 Extend
10A05 10A06 Extend
@@ -642,10 +657,29 @@ FFF9 FFFB Format
11083 110AF ALetter
110B0 110BA Extend
110BD Format
+110D0 110E8 ALetter
+110F0 110F9 Numeric
+11100 11102 Extend
+11103 11126 ALetter
+11127 11134 Extend
+11136 1113F Numeric
+11180 11182 Extend
+11183 111B2 ALetter
+111B3 111C0 Extend
+111C1 111C4 ALetter
+111D0 111D9 Numeric
+11680 116AA ALetter
+116AB 116B7 Extend
+116C0 116C9 Numeric
12000 1236E ALetter
12400 12462 ALetter
13000 1342E ALetter
16800 16A38 ALetter
+16F00 16F44 ALetter
+16F50 ALetter
+16F51 16F7E Extend
+16F8F 16F92 Extend
+16F93 16F9F ALetter
1B000 Katakana
1D165 1D169 Extend
1D16D 1D172 Extend
@@ -685,6 +719,39 @@ FFF9 FFFB Format
1D7AA 1D7C2 ALetter
1D7C4 1D7CB ALetter
1D7CE 1D7FF Numeric
+1EE00 1EE03 ALetter
+1EE05 1EE1F ALetter
+1EE21 1EE22 ALetter
+1EE24 ALetter
+1EE27 ALetter
+1EE29 1EE32 ALetter
+1EE34 1EE37 ALetter
+1EE39 ALetter
+1EE3B ALetter
+1EE42 ALetter
+1EE47 ALetter
+1EE49 ALetter
+1EE4B ALetter
+1EE4D 1EE4F ALetter
+1EE51 1EE52 ALetter
+1EE54 ALetter
+1EE57 ALetter
+1EE59 ALetter
+1EE5B ALetter
+1EE5D ALetter
+1EE5F ALetter
+1EE61 1EE62 ALetter
+1EE64 ALetter
+1EE67 1EE6A ALetter
+1EE6C 1EE72 ALetter
+1EE74 1EE77 ALetter
+1EE79 1EE7C ALetter
+1EE7E ALetter
+1EE80 1EE89 ALetter
+1EE8B 1EE9B ALetter
+1EEA1 1EEA3 ALetter
+1EEA5 1EEA9 ALetter
+1EEAB 1EEBB ALetter
E0001 Format
E0020 E007F Format
E0100 E01EF Extend
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/_slc.pl b/Master/tlpkg/tlperl/lib/unicore/To/_slc.pl
deleted file mode 100644
index 9bb8af0b0ec..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/To/_slc.pl
+++ /dev/null
@@ -1,46 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-# The name this swash is to be known by, with the format of the mappings in
-# the main body of the table, and what all code points missing from this file
-# map to.
-$utf8::SwashInfo{'To_slc'}{'format'} = 'x'; # positive hex whole number; a code point
-$utf8::SwashInfo{'To_slc'}{'missing'} = '<code point>'; # code point maps to itself
-
-return <<'END';
-0130 0069
-1F88 1F80
-1F89 1F81
-1F8A 1F82
-1F8B 1F83
-1F8C 1F84
-1F8D 1F85
-1F8E 1F86
-1F8F 1F87
-1F98 1F90
-1F99 1F91
-1F9A 1F92
-1F9B 1F93
-1F9C 1F94
-1F9D 1F95
-1F9E 1F96
-1F9F 1F97
-1FA8 1FA0
-1FA9 1FA1
-1FAA 1FA2
-1FAB 1FA3
-1FAC 1FA4
-1FAD 1FA5
-1FAE 1FA6
-1FAF 1FA7
-1FBC 1FB3
-1FCC 1FC3
-1FFC 1FF3
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/_stc.pl b/Master/tlpkg/tlperl/lib/unicore/To/_stc.pl
deleted file mode 100644
index 2dd7c6fa235..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/To/_stc.pl
+++ /dev/null
@@ -1,45 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-# The name this swash is to be known by, with the format of the mappings in
-# the main body of the table, and what all code points missing from this file
-# map to.
-$utf8::SwashInfo{'To_stc'}{'format'} = 'x'; # positive hex whole number; a code point
-$utf8::SwashInfo{'To_stc'}{'missing'} = '<code point>'; # code point maps to itself
-
-return <<'END';
-1F80 1F88
-1F81 1F89
-1F82 1F8A
-1F83 1F8B
-1F84 1F8C
-1F85 1F8D
-1F86 1F8E
-1F87 1F8F
-1F90 1F98
-1F91 1F99
-1F92 1F9A
-1F93 1F9B
-1F94 1F9C
-1F95 1F9D
-1F96 1F9E
-1F97 1F9F
-1FA0 1FA8
-1FA1 1FA9
-1FA2 1FAA
-1FA3 1FAB
-1FA4 1FAC
-1FA5 1FAD
-1FA6 1FAE
-1FA7 1FAF
-1FB3 1FBC
-1FC3 1FCC
-1FF3 1FFC
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/To/_suc.pl b/Master/tlpkg/tlperl/lib/unicore/To/_suc.pl
deleted file mode 100644
index 2a69602357c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/To/_suc.pl
+++ /dev/null
@@ -1,45 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-# The name this swash is to be known by, with the format of the mappings in
-# the main body of the table, and what all code points missing from this file
-# map to.
-$utf8::SwashInfo{'To_suc'}{'format'} = 'x'; # positive hex whole number; a code point
-$utf8::SwashInfo{'To_suc'}{'missing'} = '<code point>'; # code point maps to itself
-
-return <<'END';
-1F80 1F88
-1F81 1F89
-1F82 1F8A
-1F83 1F8B
-1F84 1F8C
-1F85 1F8D
-1F86 1F8E
-1F87 1F8F
-1F90 1F98
-1F91 1F99
-1F92 1F9A
-1F93 1F9B
-1F94 1F9C
-1F95 1F9D
-1F96 1F9E
-1F97 1F9F
-1FA0 1FA8
-1FA1 1FA9
-1FA2 1FAA
-1FA3 1FAB
-1FA4 1FAC
-1FA5 1FAD
-1FA6 1FAE
-1FA7 1FAF
-1FB3 1FBC
-1FC3 1FCC
-1FF3 1FFC
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/UCD.pl b/Master/tlpkg/tlperl/lib/unicore/UCD.pl
new file mode 100644
index 00000000000..f876cc828ba
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/UCD.pl
@@ -0,0 +1,7960 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+# This file is for the use of Unicode::UCD
+
+# Highest legal Unicode code point
+$Unicode::UCD::MAX_UNICODE_CODEPOINT = 0x10FFFF;
+
+# Hangul syllables
+$Unicode::UCD::HANGUL_BEGIN = 0xAC00;
+$Unicode::UCD::HANGUL_COUNT = 11172;
+
+# Keys are all the possible "prop=value" combinations, in loose form; values
+# are the standard loose name for the 'value' part of the key
+%Unicode::UCD::loose_to_standard_value = (
+'age=1.1' => '1.1',
+'age=2.0' => '2.0',
+'age=2.1' => '2.1',
+'age=3.0' => '3.0',
+'age=3.1' => '3.1',
+'age=3.2' => '3.2',
+'age=4.0' => '4.0',
+'age=4.1' => '4.1',
+'age=5.0' => '5.0',
+'age=5.1' => '5.1',
+'age=5.2' => '5.2',
+'age=6.0' => '6.0',
+'age=6.1' => '6.1',
+'age=na' => 'na',
+'age=unassigned' => 'na',
+'age=v11' => '1.1',
+'age=v20' => '2.0',
+'age=v21' => '2.1',
+'age=v30' => '3.0',
+'age=v31' => '3.1',
+'age=v32' => '3.2',
+'age=v40' => '4.0',
+'age=v41' => '4.1',
+'age=v50' => '5.0',
+'age=v51' => '5.1',
+'age=v52' => '5.2',
+'age=v60' => '6.0',
+'age=v61' => '6.1',
+'ahex=f' => 'n',
+'ahex=false' => 'n',
+'ahex=n' => 'n',
+'ahex=no' => 'n',
+'ahex=t' => 'y',
+'ahex=true' => 'y',
+'ahex=y' => 'y',
+'ahex=yes' => 'y',
+'alpha=f' => 'n',
+'alpha=false' => 'n',
+'alpha=n' => 'n',
+'alpha=no' => 'n',
+'alpha=t' => 'y',
+'alpha=true' => 'y',
+'alpha=y' => 'y',
+'alpha=yes' => 'y',
+'bc=al' => 'al',
+'bc=an' => 'an',
+'bc=arabicletter' => 'al',
+'bc=arabicnumber' => 'an',
+'bc=b' => 'b',
+'bc=bn' => 'bn',
+'bc=boundaryneutral' => 'bn',
+'bc=commonseparator' => 'cs',
+'bc=cs' => 'cs',
+'bc=en' => 'en',
+'bc=es' => 'es',
+'bc=et' => 'et',
+'bc=europeannumber' => 'en',
+'bc=europeanseparator' => 'es',
+'bc=europeanterminator' => 'et',
+'bc=l' => 'l',
+'bc=lefttoright' => 'l',
+'bc=lefttorightembedding' => 'lre',
+'bc=lefttorightoverride' => 'lro',
+'bc=lre' => 'lre',
+'bc=lro' => 'lro',
+'bc=nonspacingmark' => 'nsm',
+'bc=nsm' => 'nsm',
+'bc=on' => 'on',
+'bc=otherneutral' => 'on',
+'bc=paragraphseparator' => 'b',
+'bc=pdf' => 'pdf',
+'bc=popdirectionalformat' => 'pdf',
+'bc=r' => 'r',
+'bc=righttoleft' => 'r',
+'bc=righttoleftembedding' => 'rle',
+'bc=righttoleftoverride' => 'rlo',
+'bc=rle' => 'rle',
+'bc=rlo' => 'rlo',
+'bc=s' => 's',
+'bc=segmentseparator' => 's',
+'bc=whitespace' => 'ws',
+'bc=ws' => 'ws',
+'bidic=f' => 'n',
+'bidic=false' => 'n',
+'bidic=n' => 'n',
+'bidic=no' => 'n',
+'bidic=t' => 'y',
+'bidic=true' => 'y',
+'bidic=y' => 'y',
+'bidic=yes' => 'y',
+'bidim=f' => 'n',
+'bidim=false' => 'n',
+'bidim=n' => 'n',
+'bidim=no' => 'n',
+'bidim=t' => 'y',
+'bidim=true' => 'y',
+'bidim=y' => 'y',
+'bidim=yes' => 'y',
+'blk=aegeannumbers' => 'aegeannumbers',
+'blk=alchemical' => 'alchemical',
+'blk=alchemicalsymbols' => 'alchemical',
+'blk=alphabeticpf' => 'alphabeticpf',
+'blk=alphabeticpresentationforms' => 'alphabeticpf',
+'blk=ancientgreekmusic' => 'ancientgreekmusic',
+'blk=ancientgreekmusicalnotation' => 'ancientgreekmusic',
+'blk=ancientgreeknumbers' => 'ancientgreeknumbers',
+'blk=ancientsymbols' => 'ancientsymbols',
+'blk=arabic' => 'arabic',
+'blk=arabicexta' => 'arabicexta',
+'blk=arabicextendeda' => 'arabicexta',
+'blk=arabicmath' => 'arabicmath',
+'blk=arabicmathematicalalphabeticsymbols' => 'arabicmath',
+'blk=arabicpfa' => 'arabicpfa',
+'blk=arabicpfb' => 'arabicpfb',
+'blk=arabicpresentationformsa' => 'arabicpfa',
+'blk=arabicpresentationformsb' => 'arabicpfb',
+'blk=arabicsup' => 'arabicsup',
+'blk=arabicsupplement' => 'arabicsup',
+'blk=armenian' => 'armenian',
+'blk=arrows' => 'arrows',
+'blk=ascii' => 'ascii',
+'blk=avestan' => 'avestan',
+'blk=balinese' => 'balinese',
+'blk=bamum' => 'bamum',
+'blk=bamumsup' => 'bamumsup',
+'blk=bamumsupplement' => 'bamumsup',
+'blk=basiclatin' => 'ascii',
+'blk=batak' => 'batak',
+'blk=bengali' => 'bengali',
+'blk=blockelements' => 'blockelements',
+'blk=bopomofo' => 'bopomofo',
+'blk=bopomofoext' => 'bopomofoext',
+'blk=bopomofoextended' => 'bopomofoext',
+'blk=boxdrawing' => 'boxdrawing',
+'blk=brahmi' => 'brahmi',
+'blk=braille' => 'braille',
+'blk=braillepatterns' => 'braille',
+'blk=buginese' => 'buginese',
+'blk=buhid' => 'buhid',
+'blk=byzantinemusic' => 'byzantinemusic',
+'blk=byzantinemusicalsymbols' => 'byzantinemusic',
+'blk=canadiansyllabics' => 'ucas',
+'blk=carian' => 'carian',
+'blk=chakma' => 'chakma',
+'blk=cham' => 'cham',
+'blk=cherokee' => 'cherokee',
+'blk=cjk' => 'cjk',
+'blk=cjkcompat' => 'cjkcompat',
+'blk=cjkcompatforms' => 'cjkcompatforms',
+'blk=cjkcompatibility' => 'cjkcompat',
+'blk=cjkcompatibilityforms' => 'cjkcompatforms',
+'blk=cjkcompatibilityideographs' => 'cjkcompatideographs',
+'blk=cjkcompatibilityideographssupplement' => 'cjkcompatideographssup',
+'blk=cjkcompatideographs' => 'cjkcompatideographs',
+'blk=cjkcompatideographssup' => 'cjkcompatideographssup',
+'blk=cjkexta' => 'cjkexta',
+'blk=cjkextb' => 'cjkextb',
+'blk=cjkextc' => 'cjkextc',
+'blk=cjkextd' => 'cjkextd',
+'blk=cjkradicalssup' => 'cjkradicalssup',
+'blk=cjkradicalssupplement' => 'cjkradicalssup',
+'blk=cjkstrokes' => 'cjkstrokes',
+'blk=cjksymbols' => 'cjksymbols',
+'blk=cjksymbolsandpunctuation' => 'cjksymbols',
+'blk=cjkunifiedideographs' => 'cjk',
+'blk=cjkunifiedideographsextensiona' => 'cjkexta',
+'blk=cjkunifiedideographsextensionb' => 'cjkextb',
+'blk=cjkunifiedideographsextensionc' => 'cjkextc',
+'blk=cjkunifiedideographsextensiond' => 'cjkextd',
+'blk=combiningdiacriticalmarks' => 'diacriticals',
+'blk=combiningdiacriticalmarksforsymbols' => 'diacriticalsforsymbols',
+'blk=combiningdiacriticalmarkssupplement' => 'diacriticalssup',
+'blk=combininghalfmarks' => 'halfmarks',
+'blk=combiningmarksforsymbols' => 'diacriticalsforsymbols',
+'blk=commonindicnumberforms' => 'indicnumberforms',
+'blk=compatjamo' => 'compatjamo',
+'blk=controlpictures' => 'controlpictures',
+'blk=coptic' => 'coptic',
+'blk=countingrod' => 'countingrod',
+'blk=countingrodnumerals' => 'countingrod',
+'blk=cuneiform' => 'cuneiform',
+'blk=cuneiformnumbers' => 'cuneiformnumbers',
+'blk=cuneiformnumbersandpunctuation' => 'cuneiformnumbers',
+'blk=currencysymbols' => 'currencysymbols',
+'blk=cypriotsyllabary' => 'cypriotsyllabary',
+'blk=cyrillic' => 'cyrillic',
+'blk=cyrillicexta' => 'cyrillicexta',
+'blk=cyrillicextb' => 'cyrillicextb',
+'blk=cyrillicextendeda' => 'cyrillicexta',
+'blk=cyrillicextendedb' => 'cyrillicextb',
+'blk=cyrillicsup' => 'cyrillicsup',
+'blk=cyrillicsupplement' => 'cyrillicsup',
+'blk=cyrillicsupplementary' => 'cyrillicsup',
+'blk=deseret' => 'deseret',
+'blk=devanagari' => 'devanagari',
+'blk=devanagariext' => 'devanagariext',
+'blk=devanagariextended' => 'devanagariext',
+'blk=diacriticals' => 'diacriticals',
+'blk=diacriticalsforsymbols' => 'diacriticalsforsymbols',
+'blk=diacriticalssup' => 'diacriticalssup',
+'blk=dingbats' => 'dingbats',
+'blk=domino' => 'domino',
+'blk=dominotiles' => 'domino',
+'blk=egyptianhieroglyphs' => 'egyptianhieroglyphs',
+'blk=emoticons' => 'emoticons',
+'blk=enclosedalphanum' => 'enclosedalphanum',
+'blk=enclosedalphanumerics' => 'enclosedalphanum',
+'blk=enclosedalphanumericsupplement' => 'enclosedalphanumsup',
+'blk=enclosedalphanumsup' => 'enclosedalphanumsup',
+'blk=enclosedcjk' => 'enclosedcjk',
+'blk=enclosedcjklettersandmonths' => 'enclosedcjk',
+'blk=enclosedideographicsup' => 'enclosedideographicsup',
+'blk=enclosedideographicsupplement' => 'enclosedideographicsup',
+'blk=ethiopic' => 'ethiopic',
+'blk=ethiopicext' => 'ethiopicext',
+'blk=ethiopicexta' => 'ethiopicexta',
+'blk=ethiopicextended' => 'ethiopicext',
+'blk=ethiopicextendeda' => 'ethiopicexta',
+'blk=ethiopicsup' => 'ethiopicsup',
+'blk=ethiopicsupplement' => 'ethiopicsup',
+'blk=generalpunctuation' => 'punctuation',
+'blk=geometricshapes' => 'geometricshapes',
+'blk=georgian' => 'georgian',
+'blk=georgiansup' => 'georgiansup',
+'blk=georgiansupplement' => 'georgiansup',
+'blk=glagolitic' => 'glagolitic',
+'blk=gothic' => 'gothic',
+'blk=greek' => 'greek',
+'blk=greekandcoptic' => 'greek',
+'blk=greekext' => 'greekext',
+'blk=greekextended' => 'greekext',
+'blk=gujarati' => 'gujarati',
+'blk=gurmukhi' => 'gurmukhi',
+'blk=halfandfullforms' => 'halfandfullforms',
+'blk=halfmarks' => 'halfmarks',
+'blk=halfwidthandfullwidthforms' => 'halfandfullforms',
+'blk=hangul' => 'hangul',
+'blk=hangulcompatibilityjamo' => 'compatjamo',
+'blk=hanguljamo' => 'jamo',
+'blk=hanguljamoextendeda' => 'jamoexta',
+'blk=hanguljamoextendedb' => 'jamoextb',
+'blk=hangulsyllables' => 'hangul',
+'blk=hanunoo' => 'hanunoo',
+'blk=hebrew' => 'hebrew',
+'blk=highprivateusesurrogates' => 'highpusurrogates',
+'blk=highpusurrogates' => 'highpusurrogates',
+'blk=highsurrogates' => 'highsurrogates',
+'blk=hiragana' => 'hiragana',
+'blk=idc' => 'idc',
+'blk=ideographicdescriptioncharacters' => 'idc',
+'blk=imperialaramaic' => 'imperialaramaic',
+'blk=indicnumberforms' => 'indicnumberforms',
+'blk=inscriptionalpahlavi' => 'inscriptionalpahlavi',
+'blk=inscriptionalparthian' => 'inscriptionalparthian',
+'blk=ipaext' => 'ipaext',
+'blk=ipaextensions' => 'ipaext',
+'blk=jamo' => 'jamo',
+'blk=jamoexta' => 'jamoexta',
+'blk=jamoextb' => 'jamoextb',
+'blk=javanese' => 'javanese',
+'blk=kaithi' => 'kaithi',
+'blk=kanasup' => 'kanasup',
+'blk=kanasupplement' => 'kanasup',
+'blk=kanbun' => 'kanbun',
+'blk=kangxi' => 'kangxi',
+'blk=kangxiradicals' => 'kangxi',
+'blk=kannada' => 'kannada',
+'blk=katakana' => 'katakana',
+'blk=katakanaext' => 'katakanaext',
+'blk=katakanaphoneticextensions' => 'katakanaext',
+'blk=kayahli' => 'kayahli',
+'blk=kharoshthi' => 'kharoshthi',
+'blk=khmer' => 'khmer',
+'blk=khmersymbols' => 'khmersymbols',
+'blk=lao' => 'lao',
+'blk=latin1' => 'latin1sup',
+'blk=latin1sup' => 'latin1sup',
+'blk=latin1supplement' => 'latin1sup',
+'blk=latinexta' => 'latinexta',
+'blk=latinextadditional' => 'latinextadditional',
+'blk=latinextb' => 'latinextb',
+'blk=latinextc' => 'latinextc',
+'blk=latinextd' => 'latinextd',
+'blk=latinextendeda' => 'latinexta',
+'blk=latinextendedadditional' => 'latinextadditional',
+'blk=latinextendedb' => 'latinextb',
+'blk=latinextendedc' => 'latinextc',
+'blk=latinextendedd' => 'latinextd',
+'blk=lepcha' => 'lepcha',
+'blk=letterlikesymbols' => 'letterlikesymbols',
+'blk=limbu' => 'limbu',
+'blk=linearbideograms' => 'linearbideograms',
+'blk=linearbsyllabary' => 'linearbsyllabary',
+'blk=lisu' => 'lisu',
+'blk=lowsurrogates' => 'lowsurrogates',
+'blk=lycian' => 'lycian',
+'blk=lydian' => 'lydian',
+'blk=mahjong' => 'mahjong',
+'blk=mahjongtiles' => 'mahjong',
+'blk=malayalam' => 'malayalam',
+'blk=mandaic' => 'mandaic',
+'blk=mathalphanum' => 'mathalphanum',
+'blk=mathematicalalphanumericsymbols' => 'mathalphanum',
+'blk=mathematicaloperators' => 'mathoperators',
+'blk=mathoperators' => 'mathoperators',
+'blk=meeteimayek' => 'meeteimayek',
+'blk=meeteimayekext' => 'meeteimayekext',
+'blk=meeteimayekextensions' => 'meeteimayekext',
+'blk=meroiticcursive' => 'meroiticcursive',
+'blk=meroitichieroglyphs' => 'meroitichieroglyphs',
+'blk=miao' => 'miao',
+'blk=miscarrows' => 'miscarrows',
+'blk=miscellaneousmathematicalsymbolsa' => 'miscmathsymbolsa',
+'blk=miscellaneousmathematicalsymbolsb' => 'miscmathsymbolsb',
+'blk=miscellaneoussymbols' => 'miscsymbols',
+'blk=miscellaneoussymbolsandarrows' => 'miscarrows',
+'blk=miscellaneoussymbolsandpictographs' => 'miscpictographs',
+'blk=miscellaneoustechnical' => 'misctechnical',
+'blk=miscmathsymbolsa' => 'miscmathsymbolsa',
+'blk=miscmathsymbolsb' => 'miscmathsymbolsb',
+'blk=miscpictographs' => 'miscpictographs',
+'blk=miscsymbols' => 'miscsymbols',
+'blk=misctechnical' => 'misctechnical',
+'blk=modifierletters' => 'modifierletters',
+'blk=modifiertoneletters' => 'modifiertoneletters',
+'blk=mongolian' => 'mongolian',
+'blk=music' => 'music',
+'blk=musicalsymbols' => 'music',
+'blk=myanmar' => 'myanmar',
+'blk=myanmarexta' => 'myanmarexta',
+'blk=myanmarextendeda' => 'myanmarexta',
+'blk=nb' => 'nb',
+'blk=newtailue' => 'newtailue',
+'blk=nko' => 'nko',
+'blk=noblock' => 'nb',
+'blk=numberforms' => 'numberforms',
+'blk=ocr' => 'ocr',
+'blk=ogham' => 'ogham',
+'blk=olchiki' => 'olchiki',
+'blk=olditalic' => 'olditalic',
+'blk=oldpersian' => 'oldpersian',
+'blk=oldsoutharabian' => 'oldsoutharabian',
+'blk=oldturkic' => 'oldturkic',
+'blk=opticalcharacterrecognition' => 'ocr',
+'blk=oriya' => 'oriya',
+'blk=osmanya' => 'osmanya',
+'blk=phagspa' => 'phagspa',
+'blk=phaistos' => 'phaistos',
+'blk=phaistosdisc' => 'phaistos',
+'blk=phoenician' => 'phoenician',
+'blk=phoneticext' => 'phoneticext',
+'blk=phoneticextensions' => 'phoneticext',
+'blk=phoneticextensionssupplement' => 'phoneticextsup',
+'blk=phoneticextsup' => 'phoneticextsup',
+'blk=playingcards' => 'playingcards',
+'blk=privateuse' => 'pua',
+'blk=privateusearea' => 'pua',
+'blk=pua' => 'pua',
+'blk=punctuation' => 'punctuation',
+'blk=rejang' => 'rejang',
+'blk=rumi' => 'rumi',
+'blk=ruminumeralsymbols' => 'rumi',
+'blk=runic' => 'runic',
+'blk=samaritan' => 'samaritan',
+'blk=saurashtra' => 'saurashtra',
+'blk=sharada' => 'sharada',
+'blk=shavian' => 'shavian',
+'blk=sinhala' => 'sinhala',
+'blk=smallforms' => 'smallforms',
+'blk=smallformvariants' => 'smallforms',
+'blk=sorasompeng' => 'sorasompeng',
+'blk=spacingmodifierletters' => 'modifierletters',
+'blk=specials' => 'specials',
+'blk=sundanese' => 'sundanese',
+'blk=sundanesesup' => 'sundanesesup',
+'blk=sundanesesupplement' => 'sundanesesup',
+'blk=suparrowsa' => 'suparrowsa',
+'blk=suparrowsb' => 'suparrowsb',
+'blk=superandsub' => 'superandsub',
+'blk=superscriptsandsubscripts' => 'superandsub',
+'blk=supmathoperators' => 'supmathoperators',
+'blk=supplementalarrowsa' => 'suparrowsa',
+'blk=supplementalarrowsb' => 'suparrowsb',
+'blk=supplementalmathematicaloperators' => 'supmathoperators',
+'blk=supplementalpunctuation' => 'suppunctuation',
+'blk=supplementaryprivateuseareaa' => 'suppuaa',
+'blk=supplementaryprivateuseareab' => 'suppuab',
+'blk=suppuaa' => 'suppuaa',
+'blk=suppuab' => 'suppuab',
+'blk=suppunctuation' => 'suppunctuation',
+'blk=sylotinagri' => 'sylotinagri',
+'blk=syriac' => 'syriac',
+'blk=tagalog' => 'tagalog',
+'blk=tagbanwa' => 'tagbanwa',
+'blk=tags' => 'tags',
+'blk=taile' => 'taile',
+'blk=taitham' => 'taitham',
+'blk=taiviet' => 'taiviet',
+'blk=taixuanjing' => 'taixuanjing',
+'blk=taixuanjingsymbols' => 'taixuanjing',
+'blk=takri' => 'takri',
+'blk=tamil' => 'tamil',
+'blk=telugu' => 'telugu',
+'blk=thaana' => 'thaana',
+'blk=thai' => 'thai',
+'blk=tibetan' => 'tibetan',
+'blk=tifinagh' => 'tifinagh',
+'blk=transportandmap' => 'transportandmap',
+'blk=transportandmapsymbols' => 'transportandmap',
+'blk=ucas' => 'ucas',
+'blk=ucasext' => 'ucasext',
+'blk=ugaritic' => 'ugaritic',
+'blk=unifiedcanadianaboriginalsyllabics' => 'ucas',
+'blk=unifiedcanadianaboriginalsyllabicsextended' => 'ucasext',
+'blk=vai' => 'vai',
+'blk=variationselectors' => 'vs',
+'blk=variationselectorssupplement' => 'vssup',
+'blk=vedicext' => 'vedicext',
+'blk=vedicextensions' => 'vedicext',
+'blk=verticalforms' => 'verticalforms',
+'blk=vs' => 'vs',
+'blk=vssup' => 'vssup',
+'blk=yijing' => 'yijing',
+'blk=yijinghexagramsymbols' => 'yijing',
+'blk=yiradicals' => 'yiradicals',
+'blk=yisyllables' => 'yisyllables',
+'cased=f' => 'n',
+'cased=false' => 'n',
+'cased=n' => 'n',
+'cased=no' => 'n',
+'cased=t' => 'y',
+'cased=true' => 'y',
+'cased=y' => 'y',
+'cased=yes' => 'y',
+'ccc=0' => 'nr',
+'ccc=1' => 'ov',
+'ccc=10' => 'ccc10',
+'ccc=103' => 'ccc103',
+'ccc=107' => 'ccc107',
+'ccc=11' => 'ccc11',
+'ccc=118' => 'ccc118',
+'ccc=12' => 'ccc12',
+'ccc=122' => 'ccc122',
+'ccc=129' => 'ccc129',
+'ccc=13' => 'ccc13',
+'ccc=130' => 'ccc130',
+'ccc=132' => 'ccc132',
+'ccc=14' => 'ccc14',
+'ccc=15' => 'ccc15',
+'ccc=16' => 'ccc16',
+'ccc=17' => 'ccc17',
+'ccc=18' => 'ccc18',
+'ccc=19' => 'ccc19',
+'ccc=20' => 'ccc20',
+'ccc=200' => 'atbl',
+'ccc=202' => 'atb',
+'ccc=21' => 'ccc21',
+'ccc=214' => 'ata',
+'ccc=216' => 'atar',
+'ccc=218' => 'bl',
+'ccc=22' => 'ccc22',
+'ccc=220' => 'b',
+'ccc=222' => 'br',
+'ccc=224' => 'l',
+'ccc=226' => 'r',
+'ccc=228' => 'al',
+'ccc=23' => 'ccc23',
+'ccc=230' => 'a',
+'ccc=232' => 'ar',
+'ccc=233' => 'db',
+'ccc=234' => 'da',
+'ccc=24' => 'ccc24',
+'ccc=240' => 'is',
+'ccc=25' => 'ccc25',
+'ccc=26' => 'ccc26',
+'ccc=27' => 'ccc27',
+'ccc=28' => 'ccc28',
+'ccc=29' => 'ccc29',
+'ccc=30' => 'ccc30',
+'ccc=31' => 'ccc31',
+'ccc=32' => 'ccc32',
+'ccc=33' => 'ccc33',
+'ccc=34' => 'ccc34',
+'ccc=35' => 'ccc35',
+'ccc=36' => 'ccc36',
+'ccc=7' => 'nk',
+'ccc=8' => 'kv',
+'ccc=84' => 'ccc84',
+'ccc=9' => 'vr',
+'ccc=91' => 'ccc91',
+'ccc=a' => 'a',
+'ccc=above' => 'a',
+'ccc=aboveleft' => 'al',
+'ccc=aboveright' => 'ar',
+'ccc=al' => 'al',
+'ccc=ar' => 'ar',
+'ccc=ata' => 'ata',
+'ccc=atar' => 'atar',
+'ccc=atb' => 'atb',
+'ccc=atbl' => 'atbl',
+'ccc=attachedabove' => 'ata',
+'ccc=attachedaboveright' => 'atar',
+'ccc=attachedbelow' => 'atb',
+'ccc=attachedbelowleft' => 'atbl',
+'ccc=b' => 'b',
+'ccc=below' => 'b',
+'ccc=belowleft' => 'bl',
+'ccc=belowright' => 'br',
+'ccc=bl' => 'bl',
+'ccc=br' => 'br',
+'ccc=ccc10' => 'ccc10',
+'ccc=ccc103' => 'ccc103',
+'ccc=ccc107' => 'ccc107',
+'ccc=ccc11' => 'ccc11',
+'ccc=ccc118' => 'ccc118',
+'ccc=ccc12' => 'ccc12',
+'ccc=ccc122' => 'ccc122',
+'ccc=ccc129' => 'ccc129',
+'ccc=ccc13' => 'ccc13',
+'ccc=ccc130' => 'ccc130',
+'ccc=ccc132' => 'ccc132',
+'ccc=ccc14' => 'ccc14',
+'ccc=ccc15' => 'ccc15',
+'ccc=ccc16' => 'ccc16',
+'ccc=ccc17' => 'ccc17',
+'ccc=ccc18' => 'ccc18',
+'ccc=ccc19' => 'ccc19',
+'ccc=ccc20' => 'ccc20',
+'ccc=ccc21' => 'ccc21',
+'ccc=ccc22' => 'ccc22',
+'ccc=ccc23' => 'ccc23',
+'ccc=ccc24' => 'ccc24',
+'ccc=ccc25' => 'ccc25',
+'ccc=ccc26' => 'ccc26',
+'ccc=ccc27' => 'ccc27',
+'ccc=ccc28' => 'ccc28',
+'ccc=ccc29' => 'ccc29',
+'ccc=ccc30' => 'ccc30',
+'ccc=ccc31' => 'ccc31',
+'ccc=ccc32' => 'ccc32',
+'ccc=ccc33' => 'ccc33',
+'ccc=ccc34' => 'ccc34',
+'ccc=ccc35' => 'ccc35',
+'ccc=ccc36' => 'ccc36',
+'ccc=ccc84' => 'ccc84',
+'ccc=ccc91' => 'ccc91',
+'ccc=da' => 'da',
+'ccc=db' => 'db',
+'ccc=doubleabove' => 'da',
+'ccc=doublebelow' => 'db',
+'ccc=iotasubscript' => 'is',
+'ccc=is' => 'is',
+'ccc=kanavoicing' => 'kv',
+'ccc=kv' => 'kv',
+'ccc=l' => 'l',
+'ccc=left' => 'l',
+'ccc=nk' => 'nk',
+'ccc=notreordered' => 'nr',
+'ccc=nr' => 'nr',
+'ccc=nukta' => 'nk',
+'ccc=ov' => 'ov',
+'ccc=overlay' => 'ov',
+'ccc=r' => 'r',
+'ccc=right' => 'r',
+'ccc=virama' => 'vr',
+'ccc=vr' => 'vr',
+'ce=f' => 'n',
+'ce=false' => 'n',
+'ce=n' => 'n',
+'ce=no' => 'n',
+'ce=t' => 'y',
+'ce=true' => 'y',
+'ce=y' => 'y',
+'ce=yes' => 'y',
+'ci=f' => 'n',
+'ci=false' => 'n',
+'ci=n' => 'n',
+'ci=no' => 'n',
+'ci=t' => 'y',
+'ci=true' => 'y',
+'ci=y' => 'y',
+'ci=yes' => 'y',
+'compex=f' => 'n',
+'compex=false' => 'n',
+'compex=n' => 'n',
+'compex=no' => 'n',
+'compex=t' => 'y',
+'compex=true' => 'y',
+'compex=y' => 'y',
+'compex=yes' => 'y',
+'cwcf=f' => 'n',
+'cwcf=false' => 'n',
+'cwcf=n' => 'n',
+'cwcf=no' => 'n',
+'cwcf=t' => 'y',
+'cwcf=true' => 'y',
+'cwcf=y' => 'y',
+'cwcf=yes' => 'y',
+'cwcm=f' => 'n',
+'cwcm=false' => 'n',
+'cwcm=n' => 'n',
+'cwcm=no' => 'n',
+'cwcm=t' => 'y',
+'cwcm=true' => 'y',
+'cwcm=y' => 'y',
+'cwcm=yes' => 'y',
+'cwkcf=f' => 'n',
+'cwkcf=false' => 'n',
+'cwkcf=n' => 'n',
+'cwkcf=no' => 'n',
+'cwkcf=t' => 'y',
+'cwkcf=true' => 'y',
+'cwkcf=y' => 'y',
+'cwkcf=yes' => 'y',
+'cwl=f' => 'n',
+'cwl=false' => 'n',
+'cwl=n' => 'n',
+'cwl=no' => 'n',
+'cwl=t' => 'y',
+'cwl=true' => 'y',
+'cwl=y' => 'y',
+'cwl=yes' => 'y',
+'cwt=f' => 'n',
+'cwt=false' => 'n',
+'cwt=n' => 'n',
+'cwt=no' => 'n',
+'cwt=t' => 'y',
+'cwt=true' => 'y',
+'cwt=y' => 'y',
+'cwt=yes' => 'y',
+'cwu=f' => 'n',
+'cwu=false' => 'n',
+'cwu=n' => 'n',
+'cwu=no' => 'n',
+'cwu=t' => 'y',
+'cwu=true' => 'y',
+'cwu=y' => 'y',
+'cwu=yes' => 'y',
+'dash=f' => 'n',
+'dash=false' => 'n',
+'dash=n' => 'n',
+'dash=no' => 'n',
+'dash=t' => 'y',
+'dash=true' => 'y',
+'dash=y' => 'y',
+'dash=yes' => 'y',
+'dep=f' => 'n',
+'dep=false' => 'n',
+'dep=n' => 'n',
+'dep=no' => 'n',
+'dep=t' => 'y',
+'dep=true' => 'y',
+'dep=y' => 'y',
+'dep=yes' => 'y',
+'di=f' => 'n',
+'di=false' => 'n',
+'di=n' => 'n',
+'di=no' => 'n',
+'di=t' => 'y',
+'di=true' => 'y',
+'di=y' => 'y',
+'di=yes' => 'y',
+'dia=f' => 'n',
+'dia=false' => 'n',
+'dia=n' => 'n',
+'dia=no' => 'n',
+'dia=t' => 'y',
+'dia=true' => 'y',
+'dia=y' => 'y',
+'dia=yes' => 'y',
+'dt=can' => 'can',
+'dt=canonical' => 'can',
+'dt=circle' => 'enc',
+'dt=com' => 'com',
+'dt=compat' => 'com',
+'dt=enc' => 'enc',
+'dt=fin' => 'fin',
+'dt=final' => 'fin',
+'dt=font' => 'font',
+'dt=fra' => 'fra',
+'dt=fraction' => 'fra',
+'dt=init' => 'init',
+'dt=initial' => 'init',
+'dt=iso' => 'iso',
+'dt=isolated' => 'iso',
+'dt=med' => 'med',
+'dt=medial' => 'med',
+'dt=nar' => 'nar',
+'dt=narrow' => 'nar',
+'dt=nb' => 'nb',
+'dt=nobreak' => 'nb',
+'dt=noncanon' => 'noncanon',
+'dt=noncanonical' => 'noncanon',
+'dt=none' => 'none',
+'dt=small' => 'sml',
+'dt=sml' => 'sml',
+'dt=sqr' => 'sqr',
+'dt=square' => 'sqr',
+'dt=sub' => 'sub',
+'dt=sup' => 'sup',
+'dt=super' => 'sup',
+'dt=vert' => 'vert',
+'dt=vertical' => 'vert',
+'dt=wide' => 'wide',
+'ea=a' => 'a',
+'ea=ambiguous' => 'a',
+'ea=f' => 'f',
+'ea=fullwidth' => 'f',
+'ea=h' => 'h',
+'ea=halfwidth' => 'h',
+'ea=n' => 'n',
+'ea=na' => 'na',
+'ea=narrow' => 'na',
+'ea=neutral' => 'n',
+'ea=w' => 'w',
+'ea=wide' => 'w',
+'ext=f' => 'n',
+'ext=false' => 'n',
+'ext=n' => 'n',
+'ext=no' => 'n',
+'ext=t' => 'y',
+'ext=true' => 'y',
+'ext=y' => 'y',
+'ext=yes' => 'y',
+'gc=c' => 'c',
+'gc=casedletter' => 'lc',
+'gc=cc' => 'cc',
+'gc=cf' => 'cf',
+'gc=closepunctuation' => 'pe',
+'gc=cn' => 'cn',
+'gc=cntrl' => 'cc',
+'gc=co' => 'co',
+'gc=combiningmark' => 'm',
+'gc=connectorpunctuation' => 'pc',
+'gc=control' => 'cc',
+'gc=cs' => 'cs',
+'gc=currencysymbol' => 'sc',
+'gc=dashpunctuation' => 'pd',
+'gc=decimalnumber' => 'nd',
+'gc=digit' => 'nd',
+'gc=enclosingmark' => 'me',
+'gc=finalpunctuation' => 'pf',
+'gc=format' => 'cf',
+'gc=initialpunctuation' => 'pi',
+'gc=l' => 'l',
+'gc=l&' => 'lc',
+'gc=l_' => 'lc',
+'gc=lc' => 'lc',
+'gc=letter' => 'l',
+'gc=letternumber' => 'nl',
+'gc=lineseparator' => 'zl',
+'gc=ll' => 'll',
+'gc=lm' => 'lm',
+'gc=lo' => 'lo',
+'gc=lowercaseletter' => 'll',
+'gc=lt' => 'lt',
+'gc=lu' => 'lu',
+'gc=m' => 'm',
+'gc=mark' => 'm',
+'gc=mathsymbol' => 'sm',
+'gc=mc' => 'mc',
+'gc=me' => 'me',
+'gc=mn' => 'mn',
+'gc=modifierletter' => 'lm',
+'gc=modifiersymbol' => 'sk',
+'gc=n' => 'n',
+'gc=nd' => 'nd',
+'gc=nl' => 'nl',
+'gc=no' => 'no',
+'gc=nonspacingmark' => 'mn',
+'gc=number' => 'n',
+'gc=openpunctuation' => 'ps',
+'gc=other' => 'c',
+'gc=otherletter' => 'lo',
+'gc=othernumber' => 'no',
+'gc=otherpunctuation' => 'po',
+'gc=othersymbol' => 'so',
+'gc=p' => 'p',
+'gc=paragraphseparator' => 'zp',
+'gc=pc' => 'pc',
+'gc=pd' => 'pd',
+'gc=pe' => 'pe',
+'gc=pf' => 'pf',
+'gc=pi' => 'pi',
+'gc=po' => 'po',
+'gc=privateuse' => 'co',
+'gc=ps' => 'ps',
+'gc=punct' => 'p',
+'gc=punctuation' => 'p',
+'gc=s' => 's',
+'gc=sc' => 'sc',
+'gc=separator' => 'z',
+'gc=sk' => 'sk',
+'gc=sm' => 'sm',
+'gc=so' => 'so',
+'gc=spaceseparator' => 'zs',
+'gc=spacingmark' => 'mc',
+'gc=surrogate' => 'cs',
+'gc=symbol' => 's',
+'gc=titlecaseletter' => 'lt',
+'gc=unassigned' => 'cn',
+'gc=uppercaseletter' => 'lu',
+'gc=z' => 'z',
+'gc=zl' => 'zl',
+'gc=zp' => 'zp',
+'gc=zs' => 'zs',
+'gcb=cn' => 'cn',
+'gcb=control' => 'cn',
+'gcb=cr' => 'cr',
+'gcb=ex' => 'ex',
+'gcb=extend' => 'ex',
+'gcb=l' => 'l',
+'gcb=lf' => 'lf',
+'gcb=lv' => 'lv',
+'gcb=lvt' => 'lvt',
+'gcb=other' => 'xx',
+'gcb=pp' => 'pp',
+'gcb=prepend' => 'pp',
+'gcb=sm' => 'sm',
+'gcb=spacingmark' => 'sm',
+'gcb=t' => 't',
+'gcb=v' => 'v',
+'gcb=xx' => 'xx',
+'grbase=f' => 'n',
+'grbase=false' => 'n',
+'grbase=n' => 'n',
+'grbase=no' => 'n',
+'grbase=t' => 'y',
+'grbase=true' => 'y',
+'grbase=y' => 'y',
+'grbase=yes' => 'y',
+'grext=f' => 'n',
+'grext=false' => 'n',
+'grext=n' => 'n',
+'grext=no' => 'n',
+'grext=t' => 'y',
+'grext=true' => 'y',
+'grext=y' => 'y',
+'grext=yes' => 'y',
+'hex=f' => 'n',
+'hex=false' => 'n',
+'hex=n' => 'n',
+'hex=no' => 'n',
+'hex=t' => 'y',
+'hex=true' => 'y',
+'hex=y' => 'y',
+'hex=yes' => 'y',
+'hst=l' => 'l',
+'hst=leadingjamo' => 'l',
+'hst=lv' => 'lv',
+'hst=lvsyllable' => 'lv',
+'hst=lvt' => 'lvt',
+'hst=lvtsyllable' => 'lvt',
+'hst=na' => 'na',
+'hst=notapplicable' => 'na',
+'hst=t' => 't',
+'hst=trailingjamo' => 't',
+'hst=v' => 'v',
+'hst=voweljamo' => 'v',
+'hyphen=f' => 'n',
+'hyphen=false' => 'n',
+'hyphen=n' => 'n',
+'hyphen=no' => 'n',
+'hyphen=t' => 'y',
+'hyphen=true' => 'y',
+'hyphen=y' => 'y',
+'hyphen=yes' => 'y',
+'idc=f' => 'n',
+'idc=false' => 'n',
+'idc=n' => 'n',
+'idc=no' => 'n',
+'idc=t' => 'y',
+'idc=true' => 'y',
+'idc=y' => 'y',
+'idc=yes' => 'y',
+'ideo=f' => 'n',
+'ideo=false' => 'n',
+'ideo=n' => 'n',
+'ideo=no' => 'n',
+'ideo=t' => 'y',
+'ideo=true' => 'y',
+'ideo=y' => 'y',
+'ideo=yes' => 'y',
+'ids=f' => 'n',
+'ids=false' => 'n',
+'ids=n' => 'n',
+'ids=no' => 'n',
+'ids=t' => 'y',
+'ids=true' => 'y',
+'ids=y' => 'y',
+'ids=yes' => 'y',
+'idsb=f' => 'n',
+'idsb=false' => 'n',
+'idsb=n' => 'n',
+'idsb=no' => 'n',
+'idsb=t' => 'y',
+'idsb=true' => 'y',
+'idsb=y' => 'y',
+'idsb=yes' => 'y',
+'idst=f' => 'n',
+'idst=false' => 'n',
+'idst=n' => 'n',
+'idst=no' => 'n',
+'idst=t' => 'y',
+'idst=true' => 'y',
+'idst=y' => 'y',
+'idst=yes' => 'y',
+'in=1.1' => '1.1',
+'in=2.0' => '2.0',
+'in=2.1' => '2.1',
+'in=3.0' => '3.0',
+'in=3.1' => '3.1',
+'in=3.2' => '3.2',
+'in=4.0' => '4.0',
+'in=4.1' => '4.1',
+'in=5.0' => '5.0',
+'in=5.1' => '5.1',
+'in=5.2' => '5.2',
+'in=6.0' => '6.0',
+'in=6.1' => '6.1',
+'in=unassigned' => 'unassigned',
+'jg=ain' => 'ain',
+'jg=alaph' => 'alaph',
+'jg=alef' => 'alef',
+'jg=beh' => 'beh',
+'jg=beth' => 'beth',
+'jg=burushaskiyehbarree' => 'burushaskiyehbarree',
+'jg=dal' => 'dal',
+'jg=dalathrish' => 'dalathrish',
+'jg=e' => 'e',
+'jg=farsiyeh' => 'farsiyeh',
+'jg=fe' => 'fe',
+'jg=feh' => 'feh',
+'jg=finalsemkath' => 'finalsemkath',
+'jg=gaf' => 'gaf',
+'jg=gamal' => 'gamal',
+'jg=hah' => 'hah',
+'jg=hamzaonhehgoal' => 'tehmarbutagoal',
+'jg=he' => 'he',
+'jg=heh' => 'heh',
+'jg=hehgoal' => 'hehgoal',
+'jg=heth' => 'heth',
+'jg=kaf' => 'kaf',
+'jg=kaph' => 'kaph',
+'jg=khaph' => 'khaph',
+'jg=knottedheh' => 'knottedheh',
+'jg=lam' => 'lam',
+'jg=lamadh' => 'lamadh',
+'jg=meem' => 'meem',
+'jg=mim' => 'mim',
+'jg=nojoininggroup' => 'nojoininggroup',
+'jg=noon' => 'noon',
+'jg=nun' => 'nun',
+'jg=nya' => 'nya',
+'jg=pe' => 'pe',
+'jg=qaf' => 'qaf',
+'jg=qaph' => 'qaph',
+'jg=reh' => 'reh',
+'jg=reversedpe' => 'reversedpe',
+'jg=rohingyayeh' => 'rohingyayeh',
+'jg=sad' => 'sad',
+'jg=sadhe' => 'sadhe',
+'jg=seen' => 'seen',
+'jg=semkath' => 'semkath',
+'jg=shin' => 'shin',
+'jg=swashkaf' => 'swashkaf',
+'jg=syriacwaw' => 'syriacwaw',
+'jg=tah' => 'tah',
+'jg=taw' => 'taw',
+'jg=tehmarbuta' => 'tehmarbuta',
+'jg=tehmarbutagoal' => 'tehmarbutagoal',
+'jg=teth' => 'teth',
+'jg=waw' => 'waw',
+'jg=yeh' => 'yeh',
+'jg=yehbarree' => 'yehbarree',
+'jg=yehwithtail' => 'yehwithtail',
+'jg=yudh' => 'yudh',
+'jg=yudhhe' => 'yudhhe',
+'jg=zain' => 'zain',
+'jg=zhain' => 'zhain',
+'joinc=f' => 'n',
+'joinc=false' => 'n',
+'joinc=n' => 'n',
+'joinc=no' => 'n',
+'joinc=t' => 'y',
+'joinc=true' => 'y',
+'joinc=y' => 'y',
+'joinc=yes' => 'y',
+'jt=c' => 'c',
+'jt=d' => 'd',
+'jt=dualjoining' => 'd',
+'jt=joincausing' => 'c',
+'jt=l' => 'l',
+'jt=leftjoining' => 'l',
+'jt=nonjoining' => 'u',
+'jt=r' => 'r',
+'jt=rightjoining' => 'r',
+'jt=t' => 't',
+'jt=transparent' => 't',
+'jt=u' => 'u',
+'lb=ai' => 'ai',
+'lb=al' => 'al',
+'lb=alphabetic' => 'al',
+'lb=ambiguous' => 'ai',
+'lb=b2' => 'b2',
+'lb=ba' => 'ba',
+'lb=bb' => 'bb',
+'lb=bk' => 'bk',
+'lb=breakafter' => 'ba',
+'lb=breakbefore' => 'bb',
+'lb=breakboth' => 'b2',
+'lb=breaksymbols' => 'sy',
+'lb=carriagereturn' => 'cr',
+'lb=cb' => 'cb',
+'lb=cj' => 'cj',
+'lb=cl' => 'cl',
+'lb=closeparenthesis' => 'cp',
+'lb=closepunctuation' => 'cl',
+'lb=cm' => 'cm',
+'lb=combiningmark' => 'cm',
+'lb=complexcontext' => 'sa',
+'lb=conditionaljapanesestarter' => 'cj',
+'lb=contingentbreak' => 'cb',
+'lb=cp' => 'cp',
+'lb=cr' => 'cr',
+'lb=ex' => 'ex',
+'lb=exclamation' => 'ex',
+'lb=gl' => 'gl',
+'lb=glue' => 'gl',
+'lb=h2' => 'h2',
+'lb=h3' => 'h3',
+'lb=hebrewletter' => 'hl',
+'lb=hl' => 'hl',
+'lb=hy' => 'hy',
+'lb=hyphen' => 'hy',
+'lb=id' => 'id',
+'lb=ideographic' => 'id',
+'lb=in' => 'in',
+'lb=infixnumeric' => 'is',
+'lb=inseparable' => 'in',
+'lb=inseperable' => 'in',
+'lb=is' => 'is',
+'lb=jl' => 'jl',
+'lb=jt' => 'jt',
+'lb=jv' => 'jv',
+'lb=lf' => 'lf',
+'lb=linefeed' => 'lf',
+'lb=mandatorybreak' => 'bk',
+'lb=nextline' => 'nl',
+'lb=nl' => 'nl',
+'lb=nonstarter' => 'ns',
+'lb=ns' => 'ns',
+'lb=nu' => 'nu',
+'lb=numeric' => 'nu',
+'lb=op' => 'op',
+'lb=openpunctuation' => 'op',
+'lb=po' => 'po',
+'lb=postfixnumeric' => 'po',
+'lb=pr' => 'pr',
+'lb=prefixnumeric' => 'pr',
+'lb=qu' => 'qu',
+'lb=quotation' => 'qu',
+'lb=sa' => 'sa',
+'lb=sg' => 'sg',
+'lb=sp' => 'sp',
+'lb=space' => 'sp',
+'lb=surrogate' => 'sg',
+'lb=sy' => 'sy',
+'lb=unknown' => 'xx',
+'lb=wj' => 'wj',
+'lb=wordjoiner' => 'wj',
+'lb=xx' => 'xx',
+'lb=zw' => 'zw',
+'lb=zwspace' => 'zw',
+'loe=f' => 'n',
+'loe=false' => 'n',
+'loe=n' => 'n',
+'loe=no' => 'n',
+'loe=t' => 'y',
+'loe=true' => 'y',
+'loe=y' => 'y',
+'loe=yes' => 'y',
+'lower=f' => 'n',
+'lower=false' => 'n',
+'lower=n' => 'n',
+'lower=no' => 'n',
+'lower=t' => 'y',
+'lower=true' => 'y',
+'lower=y' => 'y',
+'lower=yes' => 'y',
+'math=f' => 'n',
+'math=false' => 'n',
+'math=n' => 'n',
+'math=no' => 'n',
+'math=t' => 'y',
+'math=true' => 'y',
+'math=y' => 'y',
+'math=yes' => 'y',
+'nchar=f' => 'n',
+'nchar=false' => 'n',
+'nchar=n' => 'n',
+'nchar=no' => 'n',
+'nchar=t' => 'y',
+'nchar=true' => 'y',
+'nchar=y' => 'y',
+'nchar=yes' => 'y',
+'nfcqc=m' => 'm',
+'nfcqc=maybe' => 'm',
+'nfcqc=n' => 'n',
+'nfcqc=no' => 'n',
+'nfcqc=y' => 'y',
+'nfcqc=yes' => 'y',
+'nfdqc=n' => 'n',
+'nfdqc=no' => 'n',
+'nfdqc=y' => 'y',
+'nfdqc=yes' => 'y',
+'nfkcqc=m' => 'm',
+'nfkcqc=maybe' => 'm',
+'nfkcqc=n' => 'n',
+'nfkcqc=no' => 'n',
+'nfkcqc=y' => 'y',
+'nfkcqc=yes' => 'y',
+'nfkdqc=n' => 'n',
+'nfkdqc=no' => 'n',
+'nfkdqc=y' => 'y',
+'nfkdqc=yes' => 'y',
+'nt=de' => 'de',
+'nt=decimal' => 'de',
+'nt=di' => 'di',
+'nt=digit' => 'di',
+'nt=none' => 'none',
+'nt=nu' => 'nu',
+'nt=numeric' => 'nu',
+'nv=-1/2' => '-1/2',
+'nv=0' => 0,
+'nv=1' => 1,
+'nv=1/10' => '1/10',
+'nv=1/16' => '1/16',
+'nv=1/2' => '1/2',
+'nv=1/3' => '1/3',
+'nv=1/4' => '1/4',
+'nv=1/5' => '1/5',
+'nv=1/6' => '1/6',
+'nv=1/7' => '1/7',
+'nv=1/8' => '1/8',
+'nv=1/9' => '1/9',
+'nv=10' => 10,
+'nv=100' => 100,
+'nv=1000' => 1000,
+'nv=10000' => 10000,
+'nv=100000' => 100000,
+'nv=100000000' => 100000000,
+'nv=1000000000000' => 1000000000000,
+'nv=11' => 11,
+'nv=11/2' => '11/2',
+'nv=12' => 12,
+'nv=13' => 13,
+'nv=13/2' => '13/2',
+'nv=14' => 14,
+'nv=15' => 15,
+'nv=15/2' => '15/2',
+'nv=16' => 16,
+'nv=17' => 17,
+'nv=17/2' => '17/2',
+'nv=18' => 18,
+'nv=19' => 19,
+'nv=2' => 2,
+'nv=2/3' => '2/3',
+'nv=2/5' => '2/5',
+'nv=20' => 20,
+'nv=200' => 200,
+'nv=2000' => 2000,
+'nv=20000' => 20000,
+'nv=21' => 21,
+'nv=22' => 22,
+'nv=23' => 23,
+'nv=24' => 24,
+'nv=25' => 25,
+'nv=26' => 26,
+'nv=27' => 27,
+'nv=28' => 28,
+'nv=29' => 29,
+'nv=3' => 3,
+'nv=3/16' => '3/16',
+'nv=3/2' => '3/2',
+'nv=3/4' => '3/4',
+'nv=3/5' => '3/5',
+'nv=3/8' => '3/8',
+'nv=30' => 30,
+'nv=300' => 300,
+'nv=3000' => 3000,
+'nv=30000' => 30000,
+'nv=31' => 31,
+'nv=32' => 32,
+'nv=33' => 33,
+'nv=34' => 34,
+'nv=35' => 35,
+'nv=36' => 36,
+'nv=37' => 37,
+'nv=38' => 38,
+'nv=39' => 39,
+'nv=4' => 4,
+'nv=4/5' => '4/5',
+'nv=40' => 40,
+'nv=400' => 400,
+'nv=4000' => 4000,
+'nv=40000' => 40000,
+'nv=41' => 41,
+'nv=42' => 42,
+'nv=43' => 43,
+'nv=44' => 44,
+'nv=45' => 45,
+'nv=46' => 46,
+'nv=47' => 47,
+'nv=48' => 48,
+'nv=49' => 49,
+'nv=5' => 5,
+'nv=5/2' => '5/2',
+'nv=5/6' => '5/6',
+'nv=5/8' => '5/8',
+'nv=50' => 50,
+'nv=500' => 500,
+'nv=5000' => 5000,
+'nv=50000' => 50000,
+'nv=6' => 6,
+'nv=60' => 60,
+'nv=600' => 600,
+'nv=6000' => 6000,
+'nv=60000' => 60000,
+'nv=7' => 7,
+'nv=7/2' => '7/2',
+'nv=7/8' => '7/8',
+'nv=70' => 70,
+'nv=700' => 700,
+'nv=7000' => 7000,
+'nv=70000' => 70000,
+'nv=8' => 8,
+'nv=80' => 80,
+'nv=800' => 800,
+'nv=8000' => 8000,
+'nv=80000' => 80000,
+'nv=9' => 9,
+'nv=9/2' => '9/2',
+'nv=90' => 90,
+'nv=900' => 900,
+'nv=9000' => 9000,
+'nv=90000' => 90000,
+'nv=nan' => 'nan',
+'patsyn=f' => 'n',
+'patsyn=false' => 'n',
+'patsyn=n' => 'n',
+'patsyn=no' => 'n',
+'patsyn=t' => 'y',
+'patsyn=true' => 'y',
+'patsyn=y' => 'y',
+'patsyn=yes' => 'y',
+'patws=f' => 'n',
+'patws=false' => 'n',
+'patws=n' => 'n',
+'patws=no' => 'n',
+'patws=t' => 'y',
+'patws=true' => 'y',
+'patws=y' => 'y',
+'patws=yes' => 'y',
+'qmark=f' => 'n',
+'qmark=false' => 'n',
+'qmark=n' => 'n',
+'qmark=no' => 'n',
+'qmark=t' => 'y',
+'qmark=true' => 'y',
+'qmark=y' => 'y',
+'qmark=yes' => 'y',
+'radical=f' => 'n',
+'radical=false' => 'n',
+'radical=n' => 'n',
+'radical=no' => 'n',
+'radical=t' => 'y',
+'radical=true' => 'y',
+'radical=y' => 'y',
+'radical=yes' => 'y',
+'sb=at' => 'at',
+'sb=aterm' => 'at',
+'sb=cl' => 'cl',
+'sb=close' => 'cl',
+'sb=cr' => 'cr',
+'sb=ex' => 'ex',
+'sb=extend' => 'ex',
+'sb=fo' => 'fo',
+'sb=format' => 'fo',
+'sb=le' => 'le',
+'sb=lf' => 'lf',
+'sb=lo' => 'lo',
+'sb=lower' => 'lo',
+'sb=nu' => 'nu',
+'sb=numeric' => 'nu',
+'sb=oletter' => 'le',
+'sb=other' => 'xx',
+'sb=sc' => 'sc',
+'sb=scontinue' => 'sc',
+'sb=se' => 'se',
+'sb=sep' => 'se',
+'sb=sp' => 'sp',
+'sb=st' => 'st',
+'sb=sterm' => 'st',
+'sb=up' => 'up',
+'sb=upper' => 'up',
+'sb=xx' => 'xx',
+'sc=arab' => 'arab',
+'sc=arabic' => 'arab',
+'sc=armenian' => 'armn',
+'sc=armi' => 'armi',
+'sc=armn' => 'armn',
+'sc=avestan' => 'avst',
+'sc=avst' => 'avst',
+'sc=bali' => 'bali',
+'sc=balinese' => 'bali',
+'sc=bamu' => 'bamu',
+'sc=bamum' => 'bamu',
+'sc=batak' => 'batk',
+'sc=batk' => 'batk',
+'sc=beng' => 'beng',
+'sc=bengali' => 'beng',
+'sc=bopo' => 'bopo',
+'sc=bopomofo' => 'bopo',
+'sc=brah' => 'brah',
+'sc=brahmi' => 'brah',
+'sc=brai' => 'brai',
+'sc=braille' => 'brai',
+'sc=bugi' => 'bugi',
+'sc=buginese' => 'bugi',
+'sc=buhd' => 'buhd',
+'sc=buhid' => 'buhd',
+'sc=cakm' => 'cakm',
+'sc=canadianaboriginal' => 'cans',
+'sc=cans' => 'cans',
+'sc=cari' => 'cari',
+'sc=carian' => 'cari',
+'sc=chakma' => 'cakm',
+'sc=cham' => 'cham',
+'sc=cher' => 'cher',
+'sc=cherokee' => 'cher',
+'sc=common' => 'zyyy',
+'sc=copt' => 'copt',
+'sc=coptic' => 'copt',
+'sc=cprt' => 'cprt',
+'sc=cuneiform' => 'xsux',
+'sc=cypriot' => 'cprt',
+'sc=cyrillic' => 'cyrl',
+'sc=cyrl' => 'cyrl',
+'sc=deseret' => 'dsrt',
+'sc=deva' => 'deva',
+'sc=devanagari' => 'deva',
+'sc=dsrt' => 'dsrt',
+'sc=egyp' => 'egyp',
+'sc=egyptianhieroglyphs' => 'egyp',
+'sc=ethi' => 'ethi',
+'sc=ethiopic' => 'ethi',
+'sc=geor' => 'geor',
+'sc=georgian' => 'geor',
+'sc=glag' => 'glag',
+'sc=glagolitic' => 'glag',
+'sc=goth' => 'goth',
+'sc=gothic' => 'goth',
+'sc=greek' => 'grek',
+'sc=grek' => 'grek',
+'sc=gujarati' => 'gujr',
+'sc=gujr' => 'gujr',
+'sc=gurmukhi' => 'guru',
+'sc=guru' => 'guru',
+'sc=han' => 'hani',
+'sc=hang' => 'hang',
+'sc=hangul' => 'hang',
+'sc=hani' => 'hani',
+'sc=hano' => 'hano',
+'sc=hanunoo' => 'hano',
+'sc=hebr' => 'hebr',
+'sc=hebrew' => 'hebr',
+'sc=hira' => 'hira',
+'sc=hiragana' => 'hira',
+'sc=imperialaramaic' => 'armi',
+'sc=inherited' => 'zinh',
+'sc=inscriptionalpahlavi' => 'phli',
+'sc=inscriptionalparthian' => 'prti',
+'sc=ital' => 'ital',
+'sc=java' => 'java',
+'sc=javanese' => 'java',
+'sc=kaithi' => 'kthi',
+'sc=kali' => 'kali',
+'sc=kana' => 'kana',
+'sc=kannada' => 'knda',
+'sc=katakana' => 'kana',
+'sc=kayahli' => 'kali',
+'sc=khar' => 'khar',
+'sc=kharoshthi' => 'khar',
+'sc=khmer' => 'khmr',
+'sc=khmr' => 'khmr',
+'sc=knda' => 'knda',
+'sc=kthi' => 'kthi',
+'sc=lana' => 'lana',
+'sc=lao' => 'laoo',
+'sc=laoo' => 'laoo',
+'sc=latin' => 'latn',
+'sc=latn' => 'latn',
+'sc=lepc' => 'lepc',
+'sc=lepcha' => 'lepc',
+'sc=limb' => 'limb',
+'sc=limbu' => 'limb',
+'sc=linb' => 'linb',
+'sc=linearb' => 'linb',
+'sc=lisu' => 'lisu',
+'sc=lyci' => 'lyci',
+'sc=lycian' => 'lyci',
+'sc=lydi' => 'lydi',
+'sc=lydian' => 'lydi',
+'sc=malayalam' => 'mlym',
+'sc=mand' => 'mand',
+'sc=mandaic' => 'mand',
+'sc=meeteimayek' => 'mtei',
+'sc=merc' => 'merc',
+'sc=mero' => 'mero',
+'sc=meroiticcursive' => 'merc',
+'sc=meroitichieroglyphs' => 'mero',
+'sc=miao' => 'plrd',
+'sc=mlym' => 'mlym',
+'sc=mong' => 'mong',
+'sc=mongolian' => 'mong',
+'sc=mtei' => 'mtei',
+'sc=myanmar' => 'mymr',
+'sc=mymr' => 'mymr',
+'sc=newtailue' => 'talu',
+'sc=nko' => 'nkoo',
+'sc=nkoo' => 'nkoo',
+'sc=ogam' => 'ogam',
+'sc=ogham' => 'ogam',
+'sc=olchiki' => 'olck',
+'sc=olck' => 'olck',
+'sc=olditalic' => 'ital',
+'sc=oldpersian' => 'xpeo',
+'sc=oldsoutharabian' => 'sarb',
+'sc=oldturkic' => 'orkh',
+'sc=oriya' => 'orya',
+'sc=orkh' => 'orkh',
+'sc=orya' => 'orya',
+'sc=osma' => 'osma',
+'sc=osmanya' => 'osma',
+'sc=phag' => 'phag',
+'sc=phagspa' => 'phag',
+'sc=phli' => 'phli',
+'sc=phnx' => 'phnx',
+'sc=phoenician' => 'phnx',
+'sc=plrd' => 'plrd',
+'sc=prti' => 'prti',
+'sc=qaac' => 'copt',
+'sc=qaai' => 'zinh',
+'sc=rejang' => 'rjng',
+'sc=rjng' => 'rjng',
+'sc=runic' => 'runr',
+'sc=runr' => 'runr',
+'sc=samaritan' => 'samr',
+'sc=samr' => 'samr',
+'sc=sarb' => 'sarb',
+'sc=saur' => 'saur',
+'sc=saurashtra' => 'saur',
+'sc=sharada' => 'shrd',
+'sc=shavian' => 'shaw',
+'sc=shaw' => 'shaw',
+'sc=shrd' => 'shrd',
+'sc=sinh' => 'sinh',
+'sc=sinhala' => 'sinh',
+'sc=sora' => 'sora',
+'sc=sorasompeng' => 'sora',
+'sc=sund' => 'sund',
+'sc=sundanese' => 'sund',
+'sc=sylo' => 'sylo',
+'sc=sylotinagri' => 'sylo',
+'sc=syrc' => 'syrc',
+'sc=syriac' => 'syrc',
+'sc=tagalog' => 'tglg',
+'sc=tagb' => 'tagb',
+'sc=tagbanwa' => 'tagb',
+'sc=taile' => 'tale',
+'sc=taitham' => 'lana',
+'sc=taiviet' => 'tavt',
+'sc=takr' => 'takr',
+'sc=takri' => 'takr',
+'sc=tale' => 'tale',
+'sc=talu' => 'talu',
+'sc=tamil' => 'taml',
+'sc=taml' => 'taml',
+'sc=tavt' => 'tavt',
+'sc=telu' => 'telu',
+'sc=telugu' => 'telu',
+'sc=tfng' => 'tfng',
+'sc=tglg' => 'tglg',
+'sc=thaa' => 'thaa',
+'sc=thaana' => 'thaa',
+'sc=thai' => 'thai',
+'sc=tibetan' => 'tibt',
+'sc=tibt' => 'tibt',
+'sc=tifinagh' => 'tfng',
+'sc=ugar' => 'ugar',
+'sc=ugaritic' => 'ugar',
+'sc=unknown' => 'zzzz',
+'sc=vai' => 'vaii',
+'sc=vaii' => 'vaii',
+'sc=xpeo' => 'xpeo',
+'sc=xsux' => 'xsux',
+'sc=yi' => 'yiii',
+'sc=yiii' => 'yiii',
+'sc=zinh' => 'zinh',
+'sc=zyyy' => 'zyyy',
+'sc=zzzz' => 'zzzz',
+'scx=arab' => 'arab',
+'scx=arabic' => 'arab',
+'scx=armenian' => 'armn',
+'scx=armi' => 'armi',
+'scx=armn' => 'armn',
+'scx=avestan' => 'avst',
+'scx=avst' => 'avst',
+'scx=bali' => 'bali',
+'scx=balinese' => 'bali',
+'scx=bamu' => 'bamu',
+'scx=bamum' => 'bamu',
+'scx=batak' => 'batk',
+'scx=batk' => 'batk',
+'scx=beng' => 'beng',
+'scx=bengali' => 'beng',
+'scx=bopo' => 'bopo',
+'scx=bopomofo' => 'bopo',
+'scx=brah' => 'brah',
+'scx=brahmi' => 'brah',
+'scx=brai' => 'brai',
+'scx=braille' => 'brai',
+'scx=bugi' => 'bugi',
+'scx=buginese' => 'bugi',
+'scx=buhd' => 'buhd',
+'scx=buhid' => 'buhd',
+'scx=cakm' => 'cakm',
+'scx=canadianaboriginal' => 'cans',
+'scx=cans' => 'cans',
+'scx=cari' => 'cari',
+'scx=carian' => 'cari',
+'scx=chakma' => 'cakm',
+'scx=cham' => 'cham',
+'scx=cher' => 'cher',
+'scx=cherokee' => 'cher',
+'scx=common' => 'zyyy',
+'scx=copt' => 'copt',
+'scx=coptic' => 'copt',
+'scx=cprt' => 'cprt',
+'scx=cuneiform' => 'xsux',
+'scx=cypriot' => 'cprt',
+'scx=cyrillic' => 'cyrl',
+'scx=cyrl' => 'cyrl',
+'scx=deseret' => 'dsrt',
+'scx=deva' => 'deva',
+'scx=devanagari' => 'deva',
+'scx=dsrt' => 'dsrt',
+'scx=egyp' => 'egyp',
+'scx=egyptianhieroglyphs' => 'egyp',
+'scx=ethi' => 'ethi',
+'scx=ethiopic' => 'ethi',
+'scx=geor' => 'geor',
+'scx=georgian' => 'geor',
+'scx=glag' => 'glag',
+'scx=glagolitic' => 'glag',
+'scx=goth' => 'goth',
+'scx=gothic' => 'goth',
+'scx=greek' => 'grek',
+'scx=grek' => 'grek',
+'scx=gujarati' => 'gujr',
+'scx=gujr' => 'gujr',
+'scx=gurmukhi' => 'guru',
+'scx=guru' => 'guru',
+'scx=han' => 'hani',
+'scx=hang' => 'hang',
+'scx=hangul' => 'hang',
+'scx=hani' => 'hani',
+'scx=hano' => 'hano',
+'scx=hanunoo' => 'hano',
+'scx=hebr' => 'hebr',
+'scx=hebrew' => 'hebr',
+'scx=hira' => 'hira',
+'scx=hiragana' => 'hira',
+'scx=imperialaramaic' => 'armi',
+'scx=inherited' => 'zinh',
+'scx=inscriptionalpahlavi' => 'phli',
+'scx=inscriptionalparthian' => 'prti',
+'scx=ital' => 'ital',
+'scx=java' => 'java',
+'scx=javanese' => 'java',
+'scx=kaithi' => 'kthi',
+'scx=kali' => 'kali',
+'scx=kana' => 'kana',
+'scx=kannada' => 'knda',
+'scx=katakana' => 'kana',
+'scx=kayahli' => 'kali',
+'scx=khar' => 'khar',
+'scx=kharoshthi' => 'khar',
+'scx=khmer' => 'khmr',
+'scx=khmr' => 'khmr',
+'scx=knda' => 'knda',
+'scx=kthi' => 'kthi',
+'scx=lana' => 'lana',
+'scx=lao' => 'laoo',
+'scx=laoo' => 'laoo',
+'scx=latin' => 'latn',
+'scx=latn' => 'latn',
+'scx=lepc' => 'lepc',
+'scx=lepcha' => 'lepc',
+'scx=limb' => 'limb',
+'scx=limbu' => 'limb',
+'scx=linb' => 'linb',
+'scx=linearb' => 'linb',
+'scx=lisu' => 'lisu',
+'scx=lyci' => 'lyci',
+'scx=lycian' => 'lyci',
+'scx=lydi' => 'lydi',
+'scx=lydian' => 'lydi',
+'scx=malayalam' => 'mlym',
+'scx=mand' => 'mand',
+'scx=mandaic' => 'mand',
+'scx=meeteimayek' => 'mtei',
+'scx=merc' => 'merc',
+'scx=mero' => 'mero',
+'scx=meroiticcursive' => 'merc',
+'scx=meroitichieroglyphs' => 'mero',
+'scx=miao' => 'plrd',
+'scx=mlym' => 'mlym',
+'scx=mong' => 'mong',
+'scx=mongolian' => 'mong',
+'scx=mtei' => 'mtei',
+'scx=myanmar' => 'mymr',
+'scx=mymr' => 'mymr',
+'scx=newtailue' => 'talu',
+'scx=nko' => 'nkoo',
+'scx=nkoo' => 'nkoo',
+'scx=ogam' => 'ogam',
+'scx=ogham' => 'ogam',
+'scx=olchiki' => 'olck',
+'scx=olck' => 'olck',
+'scx=olditalic' => 'ital',
+'scx=oldpersian' => 'xpeo',
+'scx=oldsoutharabian' => 'sarb',
+'scx=oldturkic' => 'orkh',
+'scx=oriya' => 'orya',
+'scx=orkh' => 'orkh',
+'scx=orya' => 'orya',
+'scx=osma' => 'osma',
+'scx=osmanya' => 'osma',
+'scx=phag' => 'phag',
+'scx=phagspa' => 'phag',
+'scx=phli' => 'phli',
+'scx=phnx' => 'phnx',
+'scx=phoenician' => 'phnx',
+'scx=plrd' => 'plrd',
+'scx=prti' => 'prti',
+'scx=qaac' => 'copt',
+'scx=qaai' => 'zinh',
+'scx=rejang' => 'rjng',
+'scx=rjng' => 'rjng',
+'scx=runic' => 'runr',
+'scx=runr' => 'runr',
+'scx=samaritan' => 'samr',
+'scx=samr' => 'samr',
+'scx=sarb' => 'sarb',
+'scx=saur' => 'saur',
+'scx=saurashtra' => 'saur',
+'scx=sharada' => 'shrd',
+'scx=shavian' => 'shaw',
+'scx=shaw' => 'shaw',
+'scx=shrd' => 'shrd',
+'scx=sinh' => 'sinh',
+'scx=sinhala' => 'sinh',
+'scx=sora' => 'sora',
+'scx=sorasompeng' => 'sora',
+'scx=sund' => 'sund',
+'scx=sundanese' => 'sund',
+'scx=sylo' => 'sylo',
+'scx=sylotinagri' => 'sylo',
+'scx=syrc' => 'syrc',
+'scx=syriac' => 'syrc',
+'scx=tagalog' => 'tglg',
+'scx=tagb' => 'tagb',
+'scx=tagbanwa' => 'tagb',
+'scx=taile' => 'tale',
+'scx=taitham' => 'lana',
+'scx=taiviet' => 'tavt',
+'scx=takr' => 'takr',
+'scx=takri' => 'takr',
+'scx=tale' => 'tale',
+'scx=talu' => 'talu',
+'scx=tamil' => 'taml',
+'scx=taml' => 'taml',
+'scx=tavt' => 'tavt',
+'scx=telu' => 'telu',
+'scx=telugu' => 'telu',
+'scx=tfng' => 'tfng',
+'scx=tglg' => 'tglg',
+'scx=thaa' => 'thaa',
+'scx=thaana' => 'thaa',
+'scx=thai' => 'thai',
+'scx=tibetan' => 'tibt',
+'scx=tibt' => 'tibt',
+'scx=tifinagh' => 'tfng',
+'scx=ugar' => 'ugar',
+'scx=ugaritic' => 'ugar',
+'scx=unknown' => 'zzzz',
+'scx=vai' => 'vaii',
+'scx=vaii' => 'vaii',
+'scx=xpeo' => 'xpeo',
+'scx=xsux' => 'xsux',
+'scx=yi' => 'yiii',
+'scx=yiii' => 'yiii',
+'scx=zinh' => 'zinh',
+'scx=zyyy' => 'zyyy',
+'scx=zzzz' => 'zzzz',
+'sd=f' => 'n',
+'sd=false' => 'n',
+'sd=n' => 'n',
+'sd=no' => 'n',
+'sd=t' => 'y',
+'sd=true' => 'y',
+'sd=y' => 'y',
+'sd=yes' => 'y',
+'sterm=f' => 'n',
+'sterm=false' => 'n',
+'sterm=n' => 'n',
+'sterm=no' => 'n',
+'sterm=t' => 'y',
+'sterm=true' => 'y',
+'sterm=y' => 'y',
+'sterm=yes' => 'y',
+'term=f' => 'n',
+'term=false' => 'n',
+'term=n' => 'n',
+'term=no' => 'n',
+'term=t' => 'y',
+'term=true' => 'y',
+'term=y' => 'y',
+'term=yes' => 'y',
+'uideo=f' => 'n',
+'uideo=false' => 'n',
+'uideo=n' => 'n',
+'uideo=no' => 'n',
+'uideo=t' => 'y',
+'uideo=true' => 'y',
+'uideo=y' => 'y',
+'uideo=yes' => 'y',
+'upper=f' => 'n',
+'upper=false' => 'n',
+'upper=n' => 'n',
+'upper=no' => 'n',
+'upper=t' => 'y',
+'upper=true' => 'y',
+'upper=y' => 'y',
+'upper=yes' => 'y',
+'vs=f' => 'n',
+'vs=false' => 'n',
+'vs=n' => 'n',
+'vs=no' => 'n',
+'vs=t' => 'y',
+'vs=true' => 'y',
+'vs=y' => 'y',
+'vs=yes' => 'y',
+'wb=aletter' => 'le',
+'wb=cr' => 'cr',
+'wb=ex' => 'ex',
+'wb=extend' => 'extend',
+'wb=extendnumlet' => 'ex',
+'wb=fo' => 'fo',
+'wb=format' => 'fo',
+'wb=ka' => 'ka',
+'wb=katakana' => 'ka',
+'wb=le' => 'le',
+'wb=lf' => 'lf',
+'wb=mb' => 'mb',
+'wb=midletter' => 'ml',
+'wb=midnum' => 'mn',
+'wb=midnumlet' => 'mb',
+'wb=ml' => 'ml',
+'wb=mn' => 'mn',
+'wb=newline' => 'nl',
+'wb=nl' => 'nl',
+'wb=nu' => 'nu',
+'wb=numeric' => 'nu',
+'wb=other' => 'xx',
+'wb=xx' => 'xx',
+'wspace=f' => 'n',
+'wspace=false' => 'n',
+'wspace=n' => 'n',
+'wspace=no' => 'n',
+'wspace=t' => 'y',
+'wspace=true' => 'y',
+'wspace=y' => 'y',
+'wspace=yes' => 'y',
+'xidc=f' => 'n',
+'xidc=false' => 'n',
+'xidc=n' => 'n',
+'xidc=no' => 'n',
+'xidc=t' => 'y',
+'xidc=true' => 'y',
+'xidc=y' => 'y',
+'xidc=yes' => 'y',
+'xids=f' => 'n',
+'xids=false' => 'n',
+'xids=n' => 'n',
+'xids=no' => 'n',
+'xids=t' => 'y',
+'xids=true' => 'y',
+'xids=y' => 'y',
+'xids=yes' => 'y',
+);
+
+# String property loose names to standard loose name
+%Unicode::UCD::string_property_loose_to_name = (
+'bidimirroringglyph' => 'bmg',
+'bmg' => 'bmg',
+'casefolding' => 'cf',
+'cf' => 'cf',
+'decompositionmapping' => 'dm',
+'dm' => 'dm',
+'isc' => 'isc',
+'isocomment' => 'isc',
+'lc' => 'lc',
+'legacycasefolding' => 'legacycasefolding',
+'legacylowercasemapping' => 'legacylowercasemapping',
+'legacyperldecimaldigit' => 'legacyperldecimaldigit',
+'legacytitlecasemapping' => 'legacytitlecasemapping',
+'legacyuppercasemapping' => 'legacyuppercasemapping',
+'lowercasemapping' => 'lc',
+'na' => 'na',
+'na1' => 'na1',
+'name' => 'na',
+'namealias' => 'namealias',
+'nfkccasefold' => 'nfkccf',
+'nfkccf' => 'nfkccf',
+'perldecimaldigit' => 'perldecimaldigit',
+'scf' => 'scf',
+'sfc' => 'scf',
+'simplecasefolding' => 'scf',
+'simplelowercasemapping' => 'slc',
+'simpletitlecasemapping' => 'stc',
+'simpleuppercasemapping' => 'suc',
+'slc' => 'slc',
+'stc' => 'stc',
+'suc' => 'suc',
+'tc' => 'tc',
+'titlecasemapping' => 'tc',
+'uc' => 'uc',
+'unicode1name' => 'na1',
+'uppercasemapping' => 'uc',
+);
+
+# Keys are Perl extensions in loose form; values are each one's list of
+# aliases
+%Unicode::UCD::loose_perlprop_to_name = (
+'all' =>
+[
+'Any',
+'Any',
+'All',
+],
+'alnum' =>
+[
+'Alnum',
+'Alnum',
+'XPosixAlnum',
+],
+'alpha' =>
+[
+'Alpha',
+'Alpha',
+'XPosixAlpha',
+],
+'any' =>
+[
+'Any',
+'Any',
+'All',
+],
+'ascii' =>
+[
+'ASCII',
+],
+'assigned' =>
+[
+'Assigned',
+],
+'blank' =>
+[
+'Blank',
+'Blank',
+'HorizSpace',
+'XPosixBlank',
+],
+'cntrl' =>
+[
+'Cntrl',
+'Cntrl',
+'XPosixCntrl',
+],
+'digit' =>
+[
+'Digit',
+'Digit',
+'XPosixDigit',
+],
+'graph' =>
+[
+'Graph',
+'Graph',
+'XPosixGraph',
+],
+'horizspace' =>
+[
+'Blank',
+'Blank',
+'HorizSpace',
+'XPosixBlank',
+],
+'lower' =>
+[
+'Lower',
+'Lower',
+'XPosixLower',
+],
+'perlspace' =>
+[
+'PerlSpace',
+],
+'perlword' =>
+[
+'PerlWord',
+'PerlWord',
+'PosixWord',
+],
+'posixalnum' =>
+[
+'PosixAlnum',
+],
+'posixalpha' =>
+[
+'PosixAlpha',
+],
+'posixblank' =>
+[
+'PosixBlank',
+],
+'posixcntrl' =>
+[
+'PosixCntrl',
+],
+'posixdigit' =>
+[
+'PosixDigit',
+],
+'posixgraph' =>
+[
+'PosixGraph',
+],
+'posixlower' =>
+[
+'PosixLower',
+],
+'posixprint' =>
+[
+'PosixPrint',
+],
+'posixpunct' =>
+[
+'PosixPunct',
+],
+'posixspace' =>
+[
+'PosixSpace',
+],
+'posixupper' =>
+[
+'PosixUpper',
+],
+'posixword' =>
+[
+'PerlWord',
+'PerlWord',
+'PosixWord',
+],
+'posixxdigit' =>
+[
+'PosixXDigit',
+],
+'print' =>
+[
+'Print',
+'Print',
+'XPosixPrint',
+],
+'punct' =>
+[
+'Punct',
+],
+'space' =>
+[
+'Space',
+'Space',
+'XPosixSpace',
+],
+'spaceperl' =>
+[
+'XPerlSpace',
+'XPerlSpace',
+'SpacePerl',
+],
+'title' =>
+[
+'Title',
+'Titlecase',
+],
+'titlecase' =>
+[
+'Title',
+'Titlecase',
+],
+'upper' =>
+[
+'Upper',
+'Upper',
+'XPosixUpper',
+],
+'vertspace' =>
+[
+'VertSpace',
+],
+'word' =>
+[
+'Word',
+'Word',
+'XPosixWord',
+],
+'xdigit' =>
+[
+'XDigit',
+'XDigit',
+'XPosixXDigit',
+],
+'xperlspace' =>
+[
+'XPerlSpace',
+'XPerlSpace',
+'SpacePerl',
+],
+'xposixalnum' =>
+[
+'Alnum',
+'Alnum',
+'XPosixAlnum',
+],
+'xposixalpha' =>
+[
+'Alpha',
+'Alpha',
+'XPosixAlpha',
+],
+'xposixblank' =>
+[
+'Blank',
+'Blank',
+'HorizSpace',
+'XPosixBlank',
+],
+'xposixcntrl' =>
+[
+'Cntrl',
+'Cntrl',
+'XPosixCntrl',
+],
+'xposixdigit' =>
+[
+'Digit',
+'Digit',
+'XPosixDigit',
+],
+'xposixgraph' =>
+[
+'Graph',
+'Graph',
+'XPosixGraph',
+],
+'xposixlower' =>
+[
+'Lower',
+'Lower',
+'XPosixLower',
+],
+'xposixprint' =>
+[
+'Print',
+'Print',
+'XPosixPrint',
+],
+'xposixpunct' =>
+[
+'XPosixPunct',
+],
+'xposixspace' =>
+[
+'Space',
+'Space',
+'XPosixSpace',
+],
+'xposixupper' =>
+[
+'Upper',
+'Upper',
+'XPosixUpper',
+],
+'xposixword' =>
+[
+'Word',
+'Word',
+'XPosixWord',
+],
+'xposixxdigit' =>
+[
+'XDigit',
+'XDigit',
+'XPosixXDigit',
+],
+);
+
+# Keys are standard property name; values are each one's aliases
+%Unicode::UCD::prop_aliases = (
+'age' =>
+[
+'age',
+'Age',
+],
+'ahex' =>
+[
+'AHex',
+'ASCII_Hex_Digit',
+],
+'alpha' =>
+[
+'Alpha',
+'Alphabetic',
+],
+'bc' =>
+[
+'bc',
+'Bidi_Class',
+],
+'bidic' =>
+[
+'Bidi_C',
+'Bidi_Control',
+],
+'bidim' =>
+[
+'Bidi_M',
+'Bidi_Mirrored',
+],
+'blk' =>
+[
+'blk',
+'Block',
+],
+'bmg' =>
+[
+'bmg',
+'Bidi_Mirroring_Glyph',
+],
+'cased' =>
+[
+'Cased',
+'Cased',
+],
+'ccc' =>
+[
+'ccc',
+'Canonical_Combining_Class',
+],
+'ce' =>
+[
+'CE',
+'Composition_Exclusion',
+],
+'cf' =>
+[
+'cf',
+'Case_Folding',
+],
+'ci' =>
+[
+'CI',
+'Case_Ignorable',
+],
+'compex' =>
+[
+'Comp_Ex',
+'Full_Composition_Exclusion',
+],
+'cwcf' =>
+[
+'CWCF',
+'Changes_When_Casefolded',
+],
+'cwcm' =>
+[
+'CWCM',
+'Changes_When_Casemapped',
+],
+'cwkcf' =>
+[
+'CWKCF',
+'Changes_When_NFKC_Casefolded',
+],
+'cwl' =>
+[
+'CWL',
+'Changes_When_Lowercased',
+],
+'cwt' =>
+[
+'CWT',
+'Changes_When_Titlecased',
+],
+'cwu' =>
+[
+'CWU',
+'Changes_When_Uppercased',
+],
+'dash' =>
+[
+'Dash',
+'Dash',
+],
+'dep' =>
+[
+'Dep',
+'Deprecated',
+],
+'di' =>
+[
+'DI',
+'Default_Ignorable_Code_Point',
+],
+'dia' =>
+[
+'Dia',
+'Diacritic',
+],
+'dm' =>
+[
+'dm',
+'Decomposition_Mapping',
+],
+'dt' =>
+[
+'dt',
+'Decomposition_Type',
+],
+'ea' =>
+[
+'ea',
+'East_Asian_Width',
+],
+'ext' =>
+[
+'Ext',
+'Extender',
+],
+'gc' =>
+[
+'gc',
+'General_Category',
+'Category',
+],
+'gcb' =>
+[
+'GCB',
+'Grapheme_Cluster_Break',
+],
+'grbase' =>
+[
+'Gr_Base',
+'Grapheme_Base',
+],
+'grext' =>
+[
+'Gr_Ext',
+'Grapheme_Extend',
+],
+'hex' =>
+[
+'Hex',
+'Hex_Digit',
+],
+'hst' =>
+[
+'hst',
+'Hangul_Syllable_Type',
+],
+'hyphen' =>
+[
+'Hyphen',
+'Hyphen',
+],
+'idc' =>
+[
+'IDC',
+'ID_Continue',
+],
+'ideo' =>
+[
+'Ideo',
+'Ideographic',
+],
+'ids' =>
+[
+'IDS',
+'ID_Start',
+],
+'idsb' =>
+[
+'IDSB',
+'IDS_Binary_Operator',
+],
+'idst' =>
+[
+'IDST',
+'IDS_Trinary_Operator',
+],
+'in' =>
+[
+'In',
+'Present_In',
+],
+'isc' =>
+[
+'isc',
+'ISO_Comment',
+],
+'jg' =>
+[
+'jg',
+'Joining_Group',
+],
+'joinc' =>
+[
+'Join_C',
+'Join_Control',
+],
+'jt' =>
+[
+'jt',
+'Joining_Type',
+],
+'lb' =>
+[
+'lb',
+'Line_Break',
+],
+'lc' =>
+[
+'lc',
+'Lowercase_Mapping',
+],
+'legacycasefolding' =>
+[
+'Legacy_Case_Folding',
+'Legacy_Case_Folding',
+],
+'legacylowercasemapping' =>
+[
+'Legacy_Lowercase_Mapping',
+'Legacy_Lowercase_Mapping',
+],
+'legacyperldecimaldigit' =>
+[
+'Legacy_Perl_Decimal_Digit',
+'Legacy_Perl_Decimal_Digit',
+],
+'legacytitlecasemapping' =>
+[
+'Legacy_Titlecase_Mapping',
+'Legacy_Titlecase_Mapping',
+],
+'legacyuppercasemapping' =>
+[
+'Legacy_Uppercase_Mapping',
+'Legacy_Uppercase_Mapping',
+],
+'loe' =>
+[
+'LOE',
+'Logical_Order_Exception',
+],
+'lower' =>
+[
+'Lower',
+'Lowercase',
+],
+'math' =>
+[
+'Math',
+'Math',
+],
+'na' =>
+[
+'na',
+'Name',
+],
+'na1' =>
+[
+'na1',
+'Unicode_1_Name',
+],
+'namealias' =>
+[
+'Name_Alias',
+'Name_Alias',
+],
+'nchar' =>
+[
+'NChar',
+'Noncharacter_Code_Point',
+],
+'nfcqc' =>
+[
+'NFC_QC',
+'NFC_Quick_Check',
+],
+'nfdqc' =>
+[
+'NFD_QC',
+'NFD_Quick_Check',
+],
+'nfkccf' =>
+[
+'NFKC_CF',
+'NFKC_Casefold',
+],
+'nfkcqc' =>
+[
+'NFKC_QC',
+'NFKC_Quick_Check',
+],
+'nfkdqc' =>
+[
+'NFKD_QC',
+'NFKD_Quick_Check',
+],
+'nt' =>
+[
+'nt',
+'Numeric_Type',
+],
+'nv' =>
+[
+'nv',
+'Numeric_Value',
+],
+'patsyn' =>
+[
+'Pat_Syn',
+'Pattern_Syntax',
+],
+'patws' =>
+[
+'Pat_WS',
+'Pattern_White_Space',
+],
+'perldecimaldigit' =>
+[
+'Perl_Decimal_Digit',
+'Perl_Decimal_Digit',
+],
+'qmark' =>
+[
+'QMark',
+'Quotation_Mark',
+],
+'radical' =>
+[
+'Radical',
+'Radical',
+],
+'sb' =>
+[
+'SB',
+'Sentence_Break',
+],
+'sc' =>
+[
+'sc',
+'Script',
+],
+'scf' =>
+[
+'scf',
+'Simple_Case_Folding',
+'Sfc',
+],
+'scx' =>
+[
+'scx',
+'Script_Extensions',
+],
+'sd' =>
+[
+'SD',
+'Soft_Dotted',
+],
+'slc' =>
+[
+'slc',
+'Simple_Lowercase_Mapping',
+],
+'stc' =>
+[
+'stc',
+'Simple_Titlecase_Mapping',
+],
+'sterm' =>
+[
+'STerm',
+'STerm',
+],
+'suc' =>
+[
+'suc',
+'Simple_Uppercase_Mapping',
+],
+'tc' =>
+[
+'tc',
+'Titlecase_Mapping',
+],
+'term' =>
+[
+'Term',
+'Terminal_Punctuation',
+],
+'uc' =>
+[
+'uc',
+'Uppercase_Mapping',
+],
+'uideo' =>
+[
+'UIdeo',
+'Unified_Ideograph',
+],
+'upper' =>
+[
+'Upper',
+'Uppercase',
+],
+'vs' =>
+[
+'VS',
+'Variation_Selector',
+],
+'wb' =>
+[
+'WB',
+'Word_Break',
+],
+'wspace' =>
+[
+'WSpace',
+'White_Space',
+'Space',
+],
+'xidc' =>
+[
+'XIDC',
+'XID_Continue',
+],
+'xids' =>
+[
+'XIDS',
+'XID_Start',
+],
+);
+
+# Keys of top level are standard property name; values are keys to another
+# hash, Each one is one of the property's values, in standard form. The
+# values are that prop-val's aliases. If only one specified, the short and
+# long alias are identical.
+%Unicode::UCD::prop_value_aliases = (
+'age' =>
+{
+'1.1' =>
+[
+'1.1',
+'V1_1',
+],
+'2.0' =>
+[
+'2.0',
+'V2_0',
+],
+'2.1' =>
+[
+'2.1',
+'V2_1',
+],
+'3.0' =>
+[
+'3.0',
+'V3_0',
+],
+'3.1' =>
+[
+'3.1',
+'V3_1',
+],
+'3.2' =>
+[
+'3.2',
+'V3_2',
+],
+'4.0' =>
+[
+'4.0',
+'V4_0',
+],
+'4.1' =>
+[
+'4.1',
+'V4_1',
+],
+'5.0' =>
+[
+'5.0',
+'V5_0',
+],
+'5.1' =>
+[
+'5.1',
+'V5_1',
+],
+'5.2' =>
+[
+'5.2',
+'V5_2',
+],
+'6.0' =>
+[
+'6.0',
+'V6_0',
+],
+'6.1' =>
+[
+'6.1',
+'V6_1',
+],
+'na' =>
+[
+'NA',
+'Unassigned',
+],
+},
+'ahex' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'alpha' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'bc' =>
+{
+'al' =>
+[
+'AL',
+'Arabic_Letter',
+],
+'an' =>
+[
+'AN',
+'Arabic_Number',
+],
+'b' =>
+[
+'B',
+'Paragraph_Separator',
+],
+'bn' =>
+[
+'BN',
+'Boundary_Neutral',
+],
+'cs' =>
+[
+'CS',
+'Common_Separator',
+],
+'en' =>
+[
+'EN',
+'European_Number',
+],
+'es' =>
+[
+'ES',
+'European_Separator',
+],
+'et' =>
+[
+'ET',
+'European_Terminator',
+],
+'l' =>
+[
+'L',
+'Left_To_Right',
+],
+'lre' =>
+[
+'LRE',
+'Left_To_Right_Embedding',
+],
+'lro' =>
+[
+'LRO',
+'Left_To_Right_Override',
+],
+'nsm' =>
+[
+'NSM',
+'Nonspacing_Mark',
+],
+'on' =>
+[
+'ON',
+'Other_Neutral',
+],
+'pdf' =>
+[
+'PDF',
+'Pop_Directional_Format',
+],
+'r' =>
+[
+'R',
+'Right_To_Left',
+],
+'rle' =>
+[
+'RLE',
+'Right_To_Left_Embedding',
+],
+'rlo' =>
+[
+'RLO',
+'Right_To_Left_Override',
+],
+'s' =>
+[
+'S',
+'Segment_Separator',
+],
+'ws' =>
+[
+'WS',
+'White_Space',
+],
+},
+'bidic' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'bidim' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'blk' =>
+{
+'aegeannumbers' =>
+[
+'Aegean_Numbers',
+],
+'alchemical' =>
+[
+'Alchemical',
+'Alchemical_Symbols',
+],
+'alphabeticpf' =>
+[
+'Alphabetic_PF',
+'Alphabetic_Presentation_Forms',
+],
+'ancientgreekmusic' =>
+[
+'Ancient_Greek_Music',
+'Ancient_Greek_Musical_Notation',
+],
+'ancientgreeknumbers' =>
+[
+'Ancient_Greek_Numbers',
+],
+'ancientsymbols' =>
+[
+'Ancient_Symbols',
+],
+'arabic' =>
+[
+'Arabic',
+],
+'arabicexta' =>
+[
+'Arabic_Ext_A',
+'Arabic_Extended_A',
+],
+'arabicmath' =>
+[
+'Arabic_Math',
+'Arabic_Mathematical_Alphabetic_Symbols',
+],
+'arabicpfa' =>
+[
+'Arabic_PF_A',
+'Arabic_Presentation_Forms_A',
+],
+'arabicpfb' =>
+[
+'Arabic_PF_B',
+'Arabic_Presentation_Forms_B',
+],
+'arabicsup' =>
+[
+'Arabic_Sup',
+'Arabic_Supplement',
+],
+'armenian' =>
+[
+'Armenian',
+],
+'arrows' =>
+[
+'Arrows',
+],
+'ascii' =>
+[
+'ASCII',
+'Basic_Latin',
+],
+'avestan' =>
+[
+'Avestan',
+],
+'balinese' =>
+[
+'Balinese',
+],
+'bamum' =>
+[
+'Bamum',
+],
+'bamumsup' =>
+[
+'Bamum_Sup',
+'Bamum_Supplement',
+],
+'batak' =>
+[
+'Batak',
+],
+'bengali' =>
+[
+'Bengali',
+],
+'blockelements' =>
+[
+'Block_Elements',
+],
+'bopomofo' =>
+[
+'Bopomofo',
+],
+'bopomofoext' =>
+[
+'Bopomofo_Ext',
+'Bopomofo_Extended',
+],
+'boxdrawing' =>
+[
+'Box_Drawing',
+],
+'brahmi' =>
+[
+'Brahmi',
+],
+'braille' =>
+[
+'Braille',
+'Braille_Patterns',
+],
+'buginese' =>
+[
+'Buginese',
+],
+'buhid' =>
+[
+'Buhid',
+],
+'byzantinemusic' =>
+[
+'Byzantine_Music',
+'Byzantine_Musical_Symbols',
+],
+'carian' =>
+[
+'Carian',
+],
+'chakma' =>
+[
+'Chakma',
+],
+'cham' =>
+[
+'Cham',
+],
+'cherokee' =>
+[
+'Cherokee',
+],
+'cjk' =>
+[
+'CJK',
+'CJK_Unified_Ideographs',
+],
+'cjkcompat' =>
+[
+'CJK_Compat',
+'CJK_Compatibility',
+],
+'cjkcompatforms' =>
+[
+'CJK_Compat_Forms',
+'CJK_Compatibility_Forms',
+],
+'cjkcompatideographs' =>
+[
+'CJK_Compat_Ideographs',
+'CJK_Compatibility_Ideographs',
+],
+'cjkcompatideographssup' =>
+[
+'CJK_Compat_Ideographs_Sup',
+'CJK_Compatibility_Ideographs_Supplement',
+],
+'cjkexta' =>
+[
+'CJK_Ext_A',
+'CJK_Unified_Ideographs_Extension_A',
+],
+'cjkextb' =>
+[
+'CJK_Ext_B',
+'CJK_Unified_Ideographs_Extension_B',
+],
+'cjkextc' =>
+[
+'CJK_Ext_C',
+'CJK_Unified_Ideographs_Extension_C',
+],
+'cjkextd' =>
+[
+'CJK_Ext_D',
+'CJK_Unified_Ideographs_Extension_D',
+],
+'cjkradicalssup' =>
+[
+'CJK_Radicals_Sup',
+'CJK_Radicals_Supplement',
+],
+'cjkstrokes' =>
+[
+'CJK_Strokes',
+],
+'cjksymbols' =>
+[
+'CJK_Symbols',
+'CJK_Symbols_And_Punctuation',
+],
+'compatjamo' =>
+[
+'Compat_Jamo',
+'Hangul_Compatibility_Jamo',
+],
+'controlpictures' =>
+[
+'Control_Pictures',
+],
+'coptic' =>
+[
+'Coptic',
+],
+'countingrod' =>
+[
+'Counting_Rod',
+'Counting_Rod_Numerals',
+],
+'cuneiform' =>
+[
+'Cuneiform',
+],
+'cuneiformnumbers' =>
+[
+'Cuneiform_Numbers',
+'Cuneiform_Numbers_And_Punctuation',
+],
+'currencysymbols' =>
+[
+'Currency_Symbols',
+],
+'cypriotsyllabary' =>
+[
+'Cypriot_Syllabary',
+],
+'cyrillic' =>
+[
+'Cyrillic',
+],
+'cyrillicexta' =>
+[
+'Cyrillic_Ext_A',
+'Cyrillic_Extended_A',
+],
+'cyrillicextb' =>
+[
+'Cyrillic_Ext_B',
+'Cyrillic_Extended_B',
+],
+'cyrillicsup' =>
+[
+'Cyrillic_Sup',
+'Cyrillic_Supplement',
+'Cyrillic_Supplementary',
+],
+'deseret' =>
+[
+'Deseret',
+],
+'devanagari' =>
+[
+'Devanagari',
+],
+'devanagariext' =>
+[
+'Devanagari_Ext',
+'Devanagari_Extended',
+],
+'diacriticals' =>
+[
+'Diacriticals',
+'Combining_Diacritical_Marks',
+],
+'diacriticalsforsymbols' =>
+[
+'Diacriticals_For_Symbols',
+'Combining_Diacritical_Marks_For_Symbols',
+'Combining_Marks_For_Symbols',
+],
+'diacriticalssup' =>
+[
+'Diacriticals_Sup',
+'Combining_Diacritical_Marks_Supplement',
+],
+'dingbats' =>
+[
+'Dingbats',
+],
+'domino' =>
+[
+'Domino',
+'Domino_Tiles',
+],
+'egyptianhieroglyphs' =>
+[
+'Egyptian_Hieroglyphs',
+],
+'emoticons' =>
+[
+'Emoticons',
+],
+'enclosedalphanum' =>
+[
+'Enclosed_Alphanum',
+'Enclosed_Alphanumerics',
+],
+'enclosedalphanumsup' =>
+[
+'Enclosed_Alphanum_Sup',
+'Enclosed_Alphanumeric_Supplement',
+],
+'enclosedcjk' =>
+[
+'Enclosed_CJK',
+'Enclosed_CJK_Letters_And_Months',
+],
+'enclosedideographicsup' =>
+[
+'Enclosed_Ideographic_Sup',
+'Enclosed_Ideographic_Supplement',
+],
+'ethiopic' =>
+[
+'Ethiopic',
+],
+'ethiopicext' =>
+[
+'Ethiopic_Ext',
+'Ethiopic_Extended',
+],
+'ethiopicexta' =>
+[
+'Ethiopic_Ext_A',
+'Ethiopic_Extended_A',
+],
+'ethiopicsup' =>
+[
+'Ethiopic_Sup',
+'Ethiopic_Supplement',
+],
+'geometricshapes' =>
+[
+'Geometric_Shapes',
+],
+'georgian' =>
+[
+'Georgian',
+],
+'georgiansup' =>
+[
+'Georgian_Sup',
+'Georgian_Supplement',
+],
+'glagolitic' =>
+[
+'Glagolitic',
+],
+'gothic' =>
+[
+'Gothic',
+],
+'greek' =>
+[
+'Greek',
+'Greek_And_Coptic',
+],
+'greekext' =>
+[
+'Greek_Ext',
+'Greek_Extended',
+],
+'gujarati' =>
+[
+'Gujarati',
+],
+'gurmukhi' =>
+[
+'Gurmukhi',
+],
+'halfandfullforms' =>
+[
+'Half_And_Full_Forms',
+'Halfwidth_And_Fullwidth_Forms',
+],
+'halfmarks' =>
+[
+'Half_Marks',
+'Combining_Half_Marks',
+],
+'hangul' =>
+[
+'Hangul',
+'Hangul_Syllables',
+],
+'hanunoo' =>
+[
+'Hanunoo',
+],
+'hebrew' =>
+[
+'Hebrew',
+],
+'highpusurrogates' =>
+[
+'High_PU_Surrogates',
+'High_Private_Use_Surrogates',
+],
+'highsurrogates' =>
+[
+'High_Surrogates',
+],
+'hiragana' =>
+[
+'Hiragana',
+],
+'idc' =>
+[
+'IDC',
+'Ideographic_Description_Characters',
+],
+'imperialaramaic' =>
+[
+'Imperial_Aramaic',
+],
+'indicnumberforms' =>
+[
+'Indic_Number_Forms',
+'Common_Indic_Number_Forms',
+],
+'inscriptionalpahlavi' =>
+[
+'Inscriptional_Pahlavi',
+],
+'inscriptionalparthian' =>
+[
+'Inscriptional_Parthian',
+],
+'ipaext' =>
+[
+'IPA_Ext',
+'IPA_Extensions',
+],
+'jamo' =>
+[
+'Jamo',
+'Hangul_Jamo',
+],
+'jamoexta' =>
+[
+'Jamo_Ext_A',
+'Hangul_Jamo_Extended_A',
+],
+'jamoextb' =>
+[
+'Jamo_Ext_B',
+'Hangul_Jamo_Extended_B',
+],
+'javanese' =>
+[
+'Javanese',
+],
+'kaithi' =>
+[
+'Kaithi',
+],
+'kanasup' =>
+[
+'Kana_Sup',
+'Kana_Supplement',
+],
+'kanbun' =>
+[
+'Kanbun',
+],
+'kangxi' =>
+[
+'Kangxi',
+'Kangxi_Radicals',
+],
+'kannada' =>
+[
+'Kannada',
+],
+'katakana' =>
+[
+'Katakana',
+],
+'katakanaext' =>
+[
+'Katakana_Ext',
+'Katakana_Phonetic_Extensions',
+],
+'kayahli' =>
+[
+'Kayah_Li',
+],
+'kharoshthi' =>
+[
+'Kharoshthi',
+],
+'khmer' =>
+[
+'Khmer',
+],
+'khmersymbols' =>
+[
+'Khmer_Symbols',
+],
+'lao' =>
+[
+'Lao',
+],
+'latin1sup' =>
+[
+'Latin_1_Sup',
+'Latin_1_Supplement',
+'Latin_1',
+],
+'latinexta' =>
+[
+'Latin_Ext_A',
+'Latin_Extended_A',
+],
+'latinextadditional' =>
+[
+'Latin_Ext_Additional',
+'Latin_Extended_Additional',
+],
+'latinextb' =>
+[
+'Latin_Ext_B',
+'Latin_Extended_B',
+],
+'latinextc' =>
+[
+'Latin_Ext_C',
+'Latin_Extended_C',
+],
+'latinextd' =>
+[
+'Latin_Ext_D',
+'Latin_Extended_D',
+],
+'lepcha' =>
+[
+'Lepcha',
+],
+'letterlikesymbols' =>
+[
+'Letterlike_Symbols',
+],
+'limbu' =>
+[
+'Limbu',
+],
+'linearbideograms' =>
+[
+'Linear_B_Ideograms',
+],
+'linearbsyllabary' =>
+[
+'Linear_B_Syllabary',
+],
+'lisu' =>
+[
+'Lisu',
+],
+'lowsurrogates' =>
+[
+'Low_Surrogates',
+],
+'lycian' =>
+[
+'Lycian',
+],
+'lydian' =>
+[
+'Lydian',
+],
+'mahjong' =>
+[
+'Mahjong',
+'Mahjong_Tiles',
+],
+'malayalam' =>
+[
+'Malayalam',
+],
+'mandaic' =>
+[
+'Mandaic',
+],
+'mathalphanum' =>
+[
+'Math_Alphanum',
+'Mathematical_Alphanumeric_Symbols',
+],
+'mathoperators' =>
+[
+'Math_Operators',
+'Mathematical_Operators',
+],
+'meeteimayek' =>
+[
+'Meetei_Mayek',
+],
+'meeteimayekext' =>
+[
+'Meetei_Mayek_Ext',
+'Meetei_Mayek_Extensions',
+],
+'meroiticcursive' =>
+[
+'Meroitic_Cursive',
+],
+'meroitichieroglyphs' =>
+[
+'Meroitic_Hieroglyphs',
+],
+'miao' =>
+[
+'Miao',
+],
+'miscarrows' =>
+[
+'Misc_Arrows',
+'Miscellaneous_Symbols_And_Arrows',
+],
+'miscmathsymbolsa' =>
+[
+'Misc_Math_Symbols_A',
+'Miscellaneous_Mathematical_Symbols_A',
+],
+'miscmathsymbolsb' =>
+[
+'Misc_Math_Symbols_B',
+'Miscellaneous_Mathematical_Symbols_B',
+],
+'miscpictographs' =>
+[
+'Misc_Pictographs',
+'Miscellaneous_Symbols_And_Pictographs',
+],
+'miscsymbols' =>
+[
+'Misc_Symbols',
+'Miscellaneous_Symbols',
+],
+'misctechnical' =>
+[
+'Misc_Technical',
+'Miscellaneous_Technical',
+],
+'modifierletters' =>
+[
+'Modifier_Letters',
+'Spacing_Modifier_Letters',
+],
+'modifiertoneletters' =>
+[
+'Modifier_Tone_Letters',
+],
+'mongolian' =>
+[
+'Mongolian',
+],
+'music' =>
+[
+'Music',
+'Musical_Symbols',
+],
+'myanmar' =>
+[
+'Myanmar',
+],
+'myanmarexta' =>
+[
+'Myanmar_Ext_A',
+'Myanmar_Extended_A',
+],
+'nb' =>
+[
+'NB',
+'No_Block',
+],
+'newtailue' =>
+[
+'New_Tai_Lue',
+],
+'nko' =>
+[
+'NKo',
+],
+'numberforms' =>
+[
+'Number_Forms',
+],
+'ocr' =>
+[
+'OCR',
+'Optical_Character_Recognition',
+],
+'ogham' =>
+[
+'Ogham',
+],
+'olchiki' =>
+[
+'Ol_Chiki',
+],
+'olditalic' =>
+[
+'Old_Italic',
+],
+'oldpersian' =>
+[
+'Old_Persian',
+],
+'oldsoutharabian' =>
+[
+'Old_South_Arabian',
+],
+'oldturkic' =>
+[
+'Old_Turkic',
+],
+'oriya' =>
+[
+'Oriya',
+],
+'osmanya' =>
+[
+'Osmanya',
+],
+'phagspa' =>
+[
+'Phags_Pa',
+],
+'phaistos' =>
+[
+'Phaistos',
+'Phaistos_Disc',
+],
+'phoenician' =>
+[
+'Phoenician',
+],
+'phoneticext' =>
+[
+'Phonetic_Ext',
+'Phonetic_Extensions',
+],
+'phoneticextsup' =>
+[
+'Phonetic_Ext_Sup',
+'Phonetic_Extensions_Supplement',
+],
+'playingcards' =>
+[
+'Playing_Cards',
+],
+'pua' =>
+[
+'PUA',
+'Private_Use_Area',
+'Private_Use',
+],
+'punctuation' =>
+[
+'Punctuation',
+'General_Punctuation',
+],
+'rejang' =>
+[
+'Rejang',
+],
+'rumi' =>
+[
+'Rumi',
+'Rumi_Numeral_Symbols',
+],
+'runic' =>
+[
+'Runic',
+],
+'samaritan' =>
+[
+'Samaritan',
+],
+'saurashtra' =>
+[
+'Saurashtra',
+],
+'sharada' =>
+[
+'Sharada',
+],
+'shavian' =>
+[
+'Shavian',
+],
+'sinhala' =>
+[
+'Sinhala',
+],
+'smallforms' =>
+[
+'Small_Forms',
+'Small_Form_Variants',
+],
+'sorasompeng' =>
+[
+'Sora_Sompeng',
+],
+'specials' =>
+[
+'Specials',
+],
+'sundanese' =>
+[
+'Sundanese',
+],
+'sundanesesup' =>
+[
+'Sundanese_Sup',
+'Sundanese_Supplement',
+],
+'suparrowsa' =>
+[
+'Sup_Arrows_A',
+'Supplemental_Arrows_A',
+],
+'suparrowsb' =>
+[
+'Sup_Arrows_B',
+'Supplemental_Arrows_B',
+],
+'superandsub' =>
+[
+'Super_And_Sub',
+'Superscripts_And_Subscripts',
+],
+'supmathoperators' =>
+[
+'Sup_Math_Operators',
+'Supplemental_Mathematical_Operators',
+],
+'suppuaa' =>
+[
+'Sup_PUA_A',
+'Supplementary_Private_Use_Area_A',
+],
+'suppuab' =>
+[
+'Sup_PUA_B',
+'Supplementary_Private_Use_Area_B',
+],
+'suppunctuation' =>
+[
+'Sup_Punctuation',
+'Supplemental_Punctuation',
+],
+'sylotinagri' =>
+[
+'Syloti_Nagri',
+],
+'syriac' =>
+[
+'Syriac',
+],
+'tagalog' =>
+[
+'Tagalog',
+],
+'tagbanwa' =>
+[
+'Tagbanwa',
+],
+'tags' =>
+[
+'Tags',
+],
+'taile' =>
+[
+'Tai_Le',
+],
+'taitham' =>
+[
+'Tai_Tham',
+],
+'taiviet' =>
+[
+'Tai_Viet',
+],
+'taixuanjing' =>
+[
+'Tai_Xuan_Jing',
+'Tai_Xuan_Jing_Symbols',
+],
+'takri' =>
+[
+'Takri',
+],
+'tamil' =>
+[
+'Tamil',
+],
+'telugu' =>
+[
+'Telugu',
+],
+'thaana' =>
+[
+'Thaana',
+],
+'thai' =>
+[
+'Thai',
+],
+'tibetan' =>
+[
+'Tibetan',
+],
+'tifinagh' =>
+[
+'Tifinagh',
+],
+'transportandmap' =>
+[
+'Transport_And_Map',
+'Transport_And_Map_Symbols',
+],
+'ucas' =>
+[
+'UCAS',
+'Unified_Canadian_Aboriginal_Syllabics',
+'Canadian_Syllabics',
+],
+'ucasext' =>
+[
+'UCAS_Ext',
+'Unified_Canadian_Aboriginal_Syllabics_Extended',
+],
+'ugaritic' =>
+[
+'Ugaritic',
+],
+'vai' =>
+[
+'Vai',
+],
+'vedicext' =>
+[
+'Vedic_Ext',
+'Vedic_Extensions',
+],
+'verticalforms' =>
+[
+'Vertical_Forms',
+],
+'vs' =>
+[
+'VS',
+'Variation_Selectors',
+],
+'vssup' =>
+[
+'VS_Sup',
+'Variation_Selectors_Supplement',
+],
+'yijing' =>
+[
+'Yijing',
+'Yijing_Hexagram_Symbols',
+],
+'yiradicals' =>
+[
+'Yi_Radicals',
+],
+'yisyllables' =>
+[
+'Yi_Syllables',
+],
+},
+'cased' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'ccc' =>
+{
+'a' =>
+[
+'A',
+'Above',
+230,
+],
+'al' =>
+[
+'AL',
+'Above_Left',
+228,
+],
+'ar' =>
+[
+'AR',
+'Above_Right',
+232,
+],
+'ata' =>
+[
+'ATA',
+'Attached_Above',
+214,
+],
+'atar' =>
+[
+'ATAR',
+'Attached_Above_Right',
+216,
+],
+'atb' =>
+[
+'ATB',
+'Attached_Below',
+202,
+],
+'atbl' =>
+[
+'ATBL',
+'Attached_Below_Left',
+200,
+],
+'b' =>
+[
+'B',
+'Below',
+220,
+],
+'bl' =>
+[
+'BL',
+'Below_Left',
+218,
+],
+'br' =>
+[
+'BR',
+'Below_Right',
+222,
+],
+'ccc10' =>
+[
+'CCC10',
+'CCC10',
+10,
+],
+'ccc103' =>
+[
+'CCC103',
+'CCC103',
+103,
+],
+'ccc107' =>
+[
+'CCC107',
+'CCC107',
+107,
+],
+'ccc11' =>
+[
+'CCC11',
+'CCC11',
+11,
+],
+'ccc118' =>
+[
+'CCC118',
+'CCC118',
+118,
+],
+'ccc12' =>
+[
+'CCC12',
+'CCC12',
+12,
+],
+'ccc122' =>
+[
+'CCC122',
+'CCC122',
+122,
+],
+'ccc129' =>
+[
+'CCC129',
+'CCC129',
+129,
+],
+'ccc13' =>
+[
+'CCC13',
+'CCC13',
+13,
+],
+'ccc130' =>
+[
+'CCC130',
+'CCC130',
+130,
+],
+'ccc132' =>
+[
+'CCC132',
+'CCC132',
+132,
+],
+'ccc14' =>
+[
+'CCC14',
+'CCC14',
+14,
+],
+'ccc15' =>
+[
+'CCC15',
+'CCC15',
+15,
+],
+'ccc16' =>
+[
+'CCC16',
+'CCC16',
+16,
+],
+'ccc17' =>
+[
+'CCC17',
+'CCC17',
+17,
+],
+'ccc18' =>
+[
+'CCC18',
+'CCC18',
+18,
+],
+'ccc19' =>
+[
+'CCC19',
+'CCC19',
+19,
+],
+'ccc20' =>
+[
+'CCC20',
+'CCC20',
+20,
+],
+'ccc21' =>
+[
+'CCC21',
+'CCC21',
+21,
+],
+'ccc22' =>
+[
+'CCC22',
+'CCC22',
+22,
+],
+'ccc23' =>
+[
+'CCC23',
+'CCC23',
+23,
+],
+'ccc24' =>
+[
+'CCC24',
+'CCC24',
+24,
+],
+'ccc25' =>
+[
+'CCC25',
+'CCC25',
+25,
+],
+'ccc26' =>
+[
+'CCC26',
+'CCC26',
+26,
+],
+'ccc27' =>
+[
+'CCC27',
+'CCC27',
+27,
+],
+'ccc28' =>
+[
+'CCC28',
+'CCC28',
+28,
+],
+'ccc29' =>
+[
+'CCC29',
+'CCC29',
+29,
+],
+'ccc30' =>
+[
+'CCC30',
+'CCC30',
+30,
+],
+'ccc31' =>
+[
+'CCC31',
+'CCC31',
+31,
+],
+'ccc32' =>
+[
+'CCC32',
+'CCC32',
+32,
+],
+'ccc33' =>
+[
+'CCC33',
+'CCC33',
+33,
+],
+'ccc34' =>
+[
+'CCC34',
+'CCC34',
+34,
+],
+'ccc35' =>
+[
+'CCC35',
+'CCC35',
+35,
+],
+'ccc36' =>
+[
+'CCC36',
+'CCC36',
+36,
+],
+'ccc84' =>
+[
+'CCC84',
+'CCC84',
+84,
+],
+'ccc91' =>
+[
+'CCC91',
+'CCC91',
+91,
+],
+'da' =>
+[
+'DA',
+'Double_Above',
+234,
+],
+'db' =>
+[
+'DB',
+'Double_Below',
+233,
+],
+'is' =>
+[
+'IS',
+'Iota_Subscript',
+240,
+],
+'kv' =>
+[
+'KV',
+'Kana_Voicing',
+8,
+],
+'l' =>
+[
+'L',
+'Left',
+224,
+],
+'nk' =>
+[
+'NK',
+'Nukta',
+7,
+],
+'nr' =>
+[
+'NR',
+'Not_Reordered',
+0,
+],
+'ov' =>
+[
+'OV',
+'Overlay',
+1,
+],
+'r' =>
+[
+'R',
+'Right',
+226,
+],
+'vr' =>
+[
+'VR',
+'Virama',
+9,
+],
+},
+'ce' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'ci' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'compex' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'cwcf' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'cwcm' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'cwkcf' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'cwl' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'cwt' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'cwu' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'dash' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'dep' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'di' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'dia' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'dt' =>
+{
+'can' =>
+[
+'Can',
+'Canonical',
+],
+'com' =>
+[
+'Com',
+'Compat',
+],
+'enc' =>
+[
+'Enc',
+'Circle',
+],
+'fin' =>
+[
+'Fin',
+'Final',
+],
+'font' =>
+[
+'Font',
+],
+'fra' =>
+[
+'Fra',
+'Fraction',
+],
+'init' =>
+[
+'Init',
+'Initial',
+],
+'iso' =>
+[
+'Iso',
+'Isolated',
+],
+'med' =>
+[
+'Med',
+'Medial',
+],
+'nar' =>
+[
+'Nar',
+'Narrow',
+],
+'nb' =>
+[
+'Nb',
+'Nobreak',
+],
+'noncanon' =>
+[
+'Non_Canon',
+'Non_Canonical',
+],
+'none' =>
+[
+'None',
+],
+'sml' =>
+[
+'Sml',
+'Small',
+],
+'sqr' =>
+[
+'Sqr',
+'Square',
+],
+'sub' =>
+[
+'Sub',
+],
+'sup' =>
+[
+'Sup',
+'Super',
+],
+'vert' =>
+[
+'Vert',
+'Vertical',
+],
+'wide' =>
+[
+'Wide',
+],
+},
+'ea' =>
+{
+'a' =>
+[
+'A',
+'Ambiguous',
+],
+'f' =>
+[
+'F',
+'Fullwidth',
+],
+'h' =>
+[
+'H',
+'Halfwidth',
+],
+'n' =>
+[
+'N',
+'Neutral',
+],
+'na' =>
+[
+'Na',
+'Narrow',
+],
+'w' =>
+[
+'W',
+'Wide',
+],
+},
+'ext' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'gc' =>
+{
+'c' =>
+[
+'C',
+'Other',
+],
+'cc' =>
+[
+'Cc',
+'Control',
+'Cntrl',
+],
+'cf' =>
+[
+'Cf',
+'Format',
+],
+'cn' =>
+[
+'Cn',
+'Unassigned',
+],
+'co' =>
+[
+'Co',
+'Private_Use',
+],
+'cs' =>
+[
+'Cs',
+'Surrogate',
+],
+'l' =>
+[
+'L',
+'Letter',
+],
+'lc' =>
+[
+'LC',
+'Cased_Letter',
+],
+'ll' =>
+[
+'Ll',
+'Lowercase_Letter',
+],
+'lm' =>
+[
+'Lm',
+'Modifier_Letter',
+],
+'lo' =>
+[
+'Lo',
+'Other_Letter',
+],
+'lt' =>
+[
+'Lt',
+'Titlecase_Letter',
+],
+'lu' =>
+[
+'Lu',
+'Uppercase_Letter',
+],
+'m' =>
+[
+'M',
+'Mark',
+'Combining_Mark',
+],
+'mc' =>
+[
+'Mc',
+'Spacing_Mark',
+],
+'me' =>
+[
+'Me',
+'Enclosing_Mark',
+],
+'mn' =>
+[
+'Mn',
+'Nonspacing_Mark',
+],
+'n' =>
+[
+'N',
+'Number',
+],
+'nd' =>
+[
+'Nd',
+'Decimal_Number',
+'Digit',
+],
+'nl' =>
+[
+'Nl',
+'Letter_Number',
+],
+'no' =>
+[
+'No',
+'Other_Number',
+],
+'p' =>
+[
+'P',
+'Punctuation',
+'Punct',
+],
+'pc' =>
+[
+'Pc',
+'Connector_Punctuation',
+],
+'pd' =>
+[
+'Pd',
+'Dash_Punctuation',
+],
+'pe' =>
+[
+'Pe',
+'Close_Punctuation',
+],
+'pf' =>
+[
+'Pf',
+'Final_Punctuation',
+],
+'pi' =>
+[
+'Pi',
+'Initial_Punctuation',
+],
+'po' =>
+[
+'Po',
+'Other_Punctuation',
+],
+'ps' =>
+[
+'Ps',
+'Open_Punctuation',
+],
+'s' =>
+[
+'S',
+'Symbol',
+],
+'sc' =>
+[
+'Sc',
+'Currency_Symbol',
+],
+'sk' =>
+[
+'Sk',
+'Modifier_Symbol',
+],
+'sm' =>
+[
+'Sm',
+'Math_Symbol',
+],
+'so' =>
+[
+'So',
+'Other_Symbol',
+],
+'z' =>
+[
+'Z',
+'Separator',
+],
+'zl' =>
+[
+'Zl',
+'Line_Separator',
+],
+'zp' =>
+[
+'Zp',
+'Paragraph_Separator',
+],
+'zs' =>
+[
+'Zs',
+'Space_Separator',
+],
+},
+'gcb' =>
+{
+'cn' =>
+[
+'CN',
+'Control',
+],
+'cr' =>
+[
+'CR',
+],
+'ex' =>
+[
+'EX',
+'Extend',
+],
+'l' =>
+[
+'L',
+],
+'lf' =>
+[
+'LF',
+],
+'lv' =>
+[
+'LV',
+],
+'lvt' =>
+[
+'LVT',
+],
+'pp' =>
+[
+'PP',
+'Prepend',
+],
+'sm' =>
+[
+'SM',
+'SpacingMark',
+],
+'t' =>
+[
+'T',
+],
+'v' =>
+[
+'V',
+],
+'xx' =>
+[
+'XX',
+'Other',
+],
+},
+'grbase' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'grext' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'hex' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'hst' =>
+{
+'l' =>
+[
+'L',
+'Leading_Jamo',
+],
+'lv' =>
+[
+'LV',
+'LV_Syllable',
+],
+'lvt' =>
+[
+'LVT',
+'LVT_Syllable',
+],
+'na' =>
+[
+'NA',
+'Not_Applicable',
+],
+'t' =>
+[
+'T',
+'Trailing_Jamo',
+],
+'v' =>
+[
+'V',
+'Vowel_Jamo',
+],
+},
+'hyphen' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'idc' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'ideo' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'ids' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'idsb' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'idst' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'in' =>
+{
+'1.1' =>
+[
+'1.1',
+],
+'2.0' =>
+[
+'2.0',
+],
+'2.1' =>
+[
+'2.1',
+],
+'3.0' =>
+[
+'3.0',
+],
+'3.1' =>
+[
+'3.1',
+],
+'3.2' =>
+[
+'3.2',
+],
+'4.0' =>
+[
+'4.0',
+],
+'4.1' =>
+[
+'4.1',
+],
+'5.0' =>
+[
+'5.0',
+],
+'5.1' =>
+[
+'5.1',
+],
+'5.2' =>
+[
+'5.2',
+],
+'6.0' =>
+[
+'6.0',
+],
+'6.1' =>
+[
+'6.1',
+],
+'unassigned' =>
+[
+'Unassigned',
+],
+},
+'jg' =>
+{
+'ain' =>
+[
+'Ain',
+],
+'alaph' =>
+[
+'Alaph',
+],
+'alef' =>
+[
+'Alef',
+],
+'beh' =>
+[
+'Beh',
+],
+'beth' =>
+[
+'Beth',
+],
+'burushaskiyehbarree' =>
+[
+'Burushaski_Yeh_Barree',
+],
+'dal' =>
+[
+'Dal',
+],
+'dalathrish' =>
+[
+'Dalath_Rish',
+],
+'e' =>
+[
+'E',
+],
+'farsiyeh' =>
+[
+'Farsi_Yeh',
+],
+'fe' =>
+[
+'Fe',
+],
+'feh' =>
+[
+'Feh',
+],
+'finalsemkath' =>
+[
+'Final_Semkath',
+],
+'gaf' =>
+[
+'Gaf',
+],
+'gamal' =>
+[
+'Gamal',
+],
+'hah' =>
+[
+'Hah',
+],
+'he' =>
+[
+'He',
+],
+'heh' =>
+[
+'Heh',
+],
+'hehgoal' =>
+[
+'Heh_Goal',
+],
+'heth' =>
+[
+'Heth',
+],
+'kaf' =>
+[
+'Kaf',
+],
+'kaph' =>
+[
+'Kaph',
+],
+'khaph' =>
+[
+'Khaph',
+],
+'knottedheh' =>
+[
+'Knotted_Heh',
+],
+'lam' =>
+[
+'Lam',
+],
+'lamadh' =>
+[
+'Lamadh',
+],
+'meem' =>
+[
+'Meem',
+],
+'mim' =>
+[
+'Mim',
+],
+'nojoininggroup' =>
+[
+'No_Joining_Group',
+],
+'noon' =>
+[
+'Noon',
+],
+'nun' =>
+[
+'Nun',
+],
+'nya' =>
+[
+'Nya',
+],
+'pe' =>
+[
+'Pe',
+],
+'qaf' =>
+[
+'Qaf',
+],
+'qaph' =>
+[
+'Qaph',
+],
+'reh' =>
+[
+'Reh',
+],
+'reversedpe' =>
+[
+'Reversed_Pe',
+],
+'rohingyayeh' =>
+[
+'Rohingya_Yeh',
+],
+'sad' =>
+[
+'Sad',
+],
+'sadhe' =>
+[
+'Sadhe',
+],
+'seen' =>
+[
+'Seen',
+],
+'semkath' =>
+[
+'Semkath',
+],
+'shin' =>
+[
+'Shin',
+],
+'swashkaf' =>
+[
+'Swash_Kaf',
+],
+'syriacwaw' =>
+[
+'Syriac_Waw',
+],
+'tah' =>
+[
+'Tah',
+],
+'taw' =>
+[
+'Taw',
+],
+'tehmarbuta' =>
+[
+'Teh_Marbuta',
+],
+'tehmarbutagoal' =>
+[
+'Teh_Marbuta_Goal',
+'Hamza_On_Heh_Goal',
+],
+'teth' =>
+[
+'Teth',
+],
+'waw' =>
+[
+'Waw',
+],
+'yeh' =>
+[
+'Yeh',
+],
+'yehbarree' =>
+[
+'Yeh_Barree',
+],
+'yehwithtail' =>
+[
+'Yeh_With_Tail',
+],
+'yudh' =>
+[
+'Yudh',
+],
+'yudhhe' =>
+[
+'Yudh_He',
+],
+'zain' =>
+[
+'Zain',
+],
+'zhain' =>
+[
+'Zhain',
+],
+},
+'joinc' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'jt' =>
+{
+'c' =>
+[
+'C',
+'Join_Causing',
+],
+'d' =>
+[
+'D',
+'Dual_Joining',
+],
+'l' =>
+[
+'L',
+'Left_Joining',
+],
+'r' =>
+[
+'R',
+'Right_Joining',
+],
+'t' =>
+[
+'T',
+'Transparent',
+],
+'u' =>
+[
+'U',
+'Non_Joining',
+],
+},
+'lb' =>
+{
+'ai' =>
+[
+'AI',
+'Ambiguous',
+],
+'al' =>
+[
+'AL',
+'Alphabetic',
+],
+'b2' =>
+[
+'B2',
+'Break_Both',
+],
+'ba' =>
+[
+'BA',
+'Break_After',
+],
+'bb' =>
+[
+'BB',
+'Break_Before',
+],
+'bk' =>
+[
+'BK',
+'Mandatory_Break',
+],
+'cb' =>
+[
+'CB',
+'Contingent_Break',
+],
+'cj' =>
+[
+'CJ',
+'Conditional_Japanese_Starter',
+],
+'cl' =>
+[
+'CL',
+'Close_Punctuation',
+],
+'cm' =>
+[
+'CM',
+'Combining_Mark',
+],
+'cp' =>
+[
+'CP',
+'Close_Parenthesis',
+],
+'cr' =>
+[
+'CR',
+'Carriage_Return',
+],
+'ex' =>
+[
+'EX',
+'Exclamation',
+],
+'gl' =>
+[
+'GL',
+'Glue',
+],
+'h2' =>
+[
+'H2',
+],
+'h3' =>
+[
+'H3',
+],
+'hl' =>
+[
+'HL',
+'Hebrew_Letter',
+],
+'hy' =>
+[
+'HY',
+'Hyphen',
+],
+'id' =>
+[
+'ID',
+'Ideographic',
+],
+'in' =>
+[
+'IN',
+'Inseparable',
+'Inseperable',
+],
+'is' =>
+[
+'IS',
+'Infix_Numeric',
+],
+'jl' =>
+[
+'JL',
+],
+'jt' =>
+[
+'JT',
+],
+'jv' =>
+[
+'JV',
+],
+'lf' =>
+[
+'LF',
+'Line_Feed',
+],
+'nl' =>
+[
+'NL',
+'Next_Line',
+],
+'ns' =>
+[
+'NS',
+'Nonstarter',
+],
+'nu' =>
+[
+'NU',
+'Numeric',
+],
+'op' =>
+[
+'OP',
+'Open_Punctuation',
+],
+'po' =>
+[
+'PO',
+'Postfix_Numeric',
+],
+'pr' =>
+[
+'PR',
+'Prefix_Numeric',
+],
+'qu' =>
+[
+'QU',
+'Quotation',
+],
+'sa' =>
+[
+'SA',
+'Complex_Context',
+],
+'sg' =>
+[
+'SG',
+'Surrogate',
+],
+'sp' =>
+[
+'SP',
+'Space',
+],
+'sy' =>
+[
+'SY',
+'Break_Symbols',
+],
+'wj' =>
+[
+'WJ',
+'Word_Joiner',
+],
+'xx' =>
+[
+'XX',
+'Unknown',
+],
+'zw' =>
+[
+'ZW',
+'ZWSpace',
+],
+},
+'loe' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'lower' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'math' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'nchar' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'nfcqc' =>
+{
+'m' =>
+[
+'M',
+'Maybe',
+],
+'n' =>
+[
+'N',
+'No',
+],
+'y' =>
+[
+'Y',
+'Yes',
+],
+},
+'nfdqc' =>
+{
+'n' =>
+[
+'N',
+'No',
+],
+'y' =>
+[
+'Y',
+'Yes',
+],
+},
+'nfkcqc' =>
+{
+'m' =>
+[
+'M',
+'Maybe',
+],
+'n' =>
+[
+'N',
+'No',
+],
+'y' =>
+[
+'Y',
+'Yes',
+],
+},
+'nfkdqc' =>
+{
+'n' =>
+[
+'N',
+'No',
+],
+'y' =>
+[
+'Y',
+'Yes',
+],
+},
+'nt' =>
+{
+'de' =>
+[
+'De',
+'Decimal',
+],
+'di' =>
+[
+'Di',
+'Digit',
+],
+'none' =>
+[
+'None',
+],
+'nu' =>
+[
+'Nu',
+'Numeric',
+],
+},
+'nv' =>
+{
+'-1/2' =>
+[
+'-1/2',
+],
+0 =>
+[
+0,
+],
+1 =>
+[
+1,
+],
+'1/10' =>
+[
+'1/10',
+],
+'1/16' =>
+[
+'1/16',
+],
+'1/2' =>
+[
+'1/2',
+],
+'1/3' =>
+[
+'1/3',
+],
+'1/4' =>
+[
+'1/4',
+],
+'1/5' =>
+[
+'1/5',
+],
+'1/6' =>
+[
+'1/6',
+],
+'1/7' =>
+[
+'1/7',
+],
+'1/8' =>
+[
+'1/8',
+],
+'1/9' =>
+[
+'1/9',
+],
+10 =>
+[
+10,
+],
+100 =>
+[
+100,
+],
+1000 =>
+[
+1000,
+],
+10000 =>
+[
+10000,
+],
+100000 =>
+[
+100000,
+],
+100000000 =>
+[
+100000000,
+],
+1000000000000 =>
+[
+1000000000000,
+],
+11 =>
+[
+11,
+],
+'11/2' =>
+[
+'11/2',
+],
+12 =>
+[
+12,
+],
+13 =>
+[
+13,
+],
+'13/2' =>
+[
+'13/2',
+],
+14 =>
+[
+14,
+],
+15 =>
+[
+15,
+],
+'15/2' =>
+[
+'15/2',
+],
+16 =>
+[
+16,
+],
+17 =>
+[
+17,
+],
+'17/2' =>
+[
+'17/2',
+],
+18 =>
+[
+18,
+],
+19 =>
+[
+19,
+],
+2 =>
+[
+2,
+],
+'2/3' =>
+[
+'2/3',
+],
+'2/5' =>
+[
+'2/5',
+],
+20 =>
+[
+20,
+],
+200 =>
+[
+200,
+],
+2000 =>
+[
+2000,
+],
+20000 =>
+[
+20000,
+],
+21 =>
+[
+21,
+],
+22 =>
+[
+22,
+],
+23 =>
+[
+23,
+],
+24 =>
+[
+24,
+],
+25 =>
+[
+25,
+],
+26 =>
+[
+26,
+],
+27 =>
+[
+27,
+],
+28 =>
+[
+28,
+],
+29 =>
+[
+29,
+],
+3 =>
+[
+3,
+],
+'3/16' =>
+[
+'3/16',
+],
+'3/2' =>
+[
+'3/2',
+],
+'3/4' =>
+[
+'3/4',
+],
+'3/5' =>
+[
+'3/5',
+],
+'3/8' =>
+[
+'3/8',
+],
+30 =>
+[
+30,
+],
+300 =>
+[
+300,
+],
+3000 =>
+[
+3000,
+],
+30000 =>
+[
+30000,
+],
+31 =>
+[
+31,
+],
+32 =>
+[
+32,
+],
+33 =>
+[
+33,
+],
+34 =>
+[
+34,
+],
+35 =>
+[
+35,
+],
+36 =>
+[
+36,
+],
+37 =>
+[
+37,
+],
+38 =>
+[
+38,
+],
+39 =>
+[
+39,
+],
+4 =>
+[
+4,
+],
+'4/5' =>
+[
+'4/5',
+],
+40 =>
+[
+40,
+],
+400 =>
+[
+400,
+],
+4000 =>
+[
+4000,
+],
+40000 =>
+[
+40000,
+],
+41 =>
+[
+41,
+],
+42 =>
+[
+42,
+],
+43 =>
+[
+43,
+],
+44 =>
+[
+44,
+],
+45 =>
+[
+45,
+],
+46 =>
+[
+46,
+],
+47 =>
+[
+47,
+],
+48 =>
+[
+48,
+],
+49 =>
+[
+49,
+],
+5 =>
+[
+5,
+],
+'5/2' =>
+[
+'5/2',
+],
+'5/6' =>
+[
+'5/6',
+],
+'5/8' =>
+[
+'5/8',
+],
+50 =>
+[
+50,
+],
+500 =>
+[
+500,
+],
+5000 =>
+[
+5000,
+],
+50000 =>
+[
+50000,
+],
+6 =>
+[
+6,
+],
+60 =>
+[
+60,
+],
+600 =>
+[
+600,
+],
+6000 =>
+[
+6000,
+],
+60000 =>
+[
+60000,
+],
+7 =>
+[
+7,
+],
+'7/2' =>
+[
+'7/2',
+],
+'7/8' =>
+[
+'7/8',
+],
+70 =>
+[
+70,
+],
+700 =>
+[
+700,
+],
+7000 =>
+[
+7000,
+],
+70000 =>
+[
+70000,
+],
+8 =>
+[
+8,
+],
+80 =>
+[
+80,
+],
+800 =>
+[
+800,
+],
+8000 =>
+[
+8000,
+],
+80000 =>
+[
+80000,
+],
+9 =>
+[
+9,
+],
+'9/2' =>
+[
+'9/2',
+],
+90 =>
+[
+90,
+],
+900 =>
+[
+900,
+],
+9000 =>
+[
+9000,
+],
+90000 =>
+[
+90000,
+],
+'nan' =>
+[
+'NaN',
+],
+},
+'patsyn' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'patws' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'qmark' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'radical' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'sb' =>
+{
+'at' =>
+[
+'AT',
+'ATerm',
+],
+'cl' =>
+[
+'CL',
+'Close',
+],
+'cr' =>
+[
+'CR',
+],
+'ex' =>
+[
+'EX',
+'Extend',
+],
+'fo' =>
+[
+'FO',
+'Format',
+],
+'le' =>
+[
+'LE',
+'OLetter',
+],
+'lf' =>
+[
+'LF',
+],
+'lo' =>
+[
+'LO',
+'Lower',
+],
+'nu' =>
+[
+'NU',
+'Numeric',
+],
+'sc' =>
+[
+'SC',
+'SContinue',
+],
+'se' =>
+[
+'SE',
+'Sep',
+],
+'sp' =>
+[
+'SP',
+'Sp',
+],
+'st' =>
+[
+'ST',
+'STerm',
+],
+'up' =>
+[
+'UP',
+'Upper',
+],
+'xx' =>
+[
+'XX',
+'Other',
+],
+},
+'sc' =>
+{
+'arab' =>
+[
+'Arab',
+'Arabic',
+],
+'armi' =>
+[
+'Armi',
+'Imperial_Aramaic',
+],
+'armn' =>
+[
+'Armn',
+'Armenian',
+],
+'avst' =>
+[
+'Avst',
+'Avestan',
+],
+'bali' =>
+[
+'Bali',
+'Balinese',
+],
+'bamu' =>
+[
+'Bamu',
+'Bamum',
+],
+'batk' =>
+[
+'Batk',
+'Batak',
+],
+'beng' =>
+[
+'Beng',
+'Bengali',
+],
+'bopo' =>
+[
+'Bopo',
+'Bopomofo',
+],
+'brah' =>
+[
+'Brah',
+'Brahmi',
+],
+'brai' =>
+[
+'Brai',
+'Braille',
+],
+'bugi' =>
+[
+'Bugi',
+'Buginese',
+],
+'buhd' =>
+[
+'Buhd',
+'Buhid',
+],
+'cakm' =>
+[
+'Cakm',
+'Chakma',
+],
+'cans' =>
+[
+'Cans',
+'Canadian_Aboriginal',
+],
+'cari' =>
+[
+'Cari',
+'Carian',
+],
+'cham' =>
+[
+'Cham',
+],
+'cher' =>
+[
+'Cher',
+'Cherokee',
+],
+'copt' =>
+[
+'Copt',
+'Coptic',
+'Qaac',
+],
+'cprt' =>
+[
+'Cprt',
+'Cypriot',
+],
+'cyrl' =>
+[
+'Cyrl',
+'Cyrillic',
+],
+'deva' =>
+[
+'Deva',
+'Devanagari',
+],
+'dsrt' =>
+[
+'Dsrt',
+'Deseret',
+],
+'egyp' =>
+[
+'Egyp',
+'Egyptian_Hieroglyphs',
+],
+'ethi' =>
+[
+'Ethi',
+'Ethiopic',
+],
+'geor' =>
+[
+'Geor',
+'Georgian',
+],
+'glag' =>
+[
+'Glag',
+'Glagolitic',
+],
+'goth' =>
+[
+'Goth',
+'Gothic',
+],
+'grek' =>
+[
+'Grek',
+'Greek',
+],
+'gujr' =>
+[
+'Gujr',
+'Gujarati',
+],
+'guru' =>
+[
+'Guru',
+'Gurmukhi',
+],
+'hang' =>
+[
+'Hang',
+'Hangul',
+],
+'hani' =>
+[
+'Hani',
+'Han',
+],
+'hano' =>
+[
+'Hano',
+'Hanunoo',
+],
+'hebr' =>
+[
+'Hebr',
+'Hebrew',
+],
+'hira' =>
+[
+'Hira',
+'Hiragana',
+],
+'hrkt' =>
+[
+'Hrkt',
+'Katakana_Or_Hiragana',
+],
+'ital' =>
+[
+'Ital',
+'Old_Italic',
+],
+'java' =>
+[
+'Java',
+'Javanese',
+],
+'kali' =>
+[
+'Kali',
+'Kayah_Li',
+],
+'kana' =>
+[
+'Kana',
+'Katakana',
+],
+'khar' =>
+[
+'Khar',
+'Kharoshthi',
+],
+'khmr' =>
+[
+'Khmr',
+'Khmer',
+],
+'knda' =>
+[
+'Knda',
+'Kannada',
+],
+'kthi' =>
+[
+'Kthi',
+'Kaithi',
+],
+'lana' =>
+[
+'Lana',
+'Tai_Tham',
+],
+'laoo' =>
+[
+'Laoo',
+'Lao',
+],
+'latn' =>
+[
+'Latn',
+'Latin',
+],
+'lepc' =>
+[
+'Lepc',
+'Lepcha',
+],
+'limb' =>
+[
+'Limb',
+'Limbu',
+],
+'linb' =>
+[
+'Linb',
+'Linear_B',
+],
+'lisu' =>
+[
+'Lisu',
+],
+'lyci' =>
+[
+'Lyci',
+'Lycian',
+],
+'lydi' =>
+[
+'Lydi',
+'Lydian',
+],
+'mand' =>
+[
+'Mand',
+'Mandaic',
+],
+'merc' =>
+[
+'Merc',
+'Meroitic_Cursive',
+],
+'mero' =>
+[
+'Mero',
+'Meroitic_Hieroglyphs',
+],
+'mlym' =>
+[
+'Mlym',
+'Malayalam',
+],
+'mong' =>
+[
+'Mong',
+'Mongolian',
+],
+'mtei' =>
+[
+'Mtei',
+'Meetei_Mayek',
+],
+'mymr' =>
+[
+'Mymr',
+'Myanmar',
+],
+'nkoo' =>
+[
+'Nkoo',
+'Nko',
+],
+'ogam' =>
+[
+'Ogam',
+'Ogham',
+],
+'olck' =>
+[
+'Olck',
+'Ol_Chiki',
+],
+'orkh' =>
+[
+'Orkh',
+'Old_Turkic',
+],
+'orya' =>
+[
+'Orya',
+'Oriya',
+],
+'osma' =>
+[
+'Osma',
+'Osmanya',
+],
+'phag' =>
+[
+'Phag',
+'Phags_Pa',
+],
+'phli' =>
+[
+'Phli',
+'Inscriptional_Pahlavi',
+],
+'phnx' =>
+[
+'Phnx',
+'Phoenician',
+],
+'plrd' =>
+[
+'Plrd',
+'Miao',
+],
+'prti' =>
+[
+'Prti',
+'Inscriptional_Parthian',
+],
+'rjng' =>
+[
+'Rjng',
+'Rejang',
+],
+'runr' =>
+[
+'Runr',
+'Runic',
+],
+'samr' =>
+[
+'Samr',
+'Samaritan',
+],
+'sarb' =>
+[
+'Sarb',
+'Old_South_Arabian',
+],
+'saur' =>
+[
+'Saur',
+'Saurashtra',
+],
+'shaw' =>
+[
+'Shaw',
+'Shavian',
+],
+'shrd' =>
+[
+'Shrd',
+'Sharada',
+],
+'sinh' =>
+[
+'Sinh',
+'Sinhala',
+],
+'sora' =>
+[
+'Sora',
+'Sora_Sompeng',
+],
+'sund' =>
+[
+'Sund',
+'Sundanese',
+],
+'sylo' =>
+[
+'Sylo',
+'Syloti_Nagri',
+],
+'syrc' =>
+[
+'Syrc',
+'Syriac',
+],
+'tagb' =>
+[
+'Tagb',
+'Tagbanwa',
+],
+'takr' =>
+[
+'Takr',
+'Takri',
+],
+'tale' =>
+[
+'Tale',
+'Tai_Le',
+],
+'talu' =>
+[
+'Talu',
+'New_Tai_Lue',
+],
+'taml' =>
+[
+'Taml',
+'Tamil',
+],
+'tavt' =>
+[
+'Tavt',
+'Tai_Viet',
+],
+'telu' =>
+[
+'Telu',
+'Telugu',
+],
+'tfng' =>
+[
+'Tfng',
+'Tifinagh',
+],
+'tglg' =>
+[
+'Tglg',
+'Tagalog',
+],
+'thaa' =>
+[
+'Thaa',
+'Thaana',
+],
+'thai' =>
+[
+'Thai',
+],
+'tibt' =>
+[
+'Tibt',
+'Tibetan',
+],
+'ugar' =>
+[
+'Ugar',
+'Ugaritic',
+],
+'vaii' =>
+[
+'Vaii',
+'Vai',
+],
+'xpeo' =>
+[
+'Xpeo',
+'Old_Persian',
+],
+'xsux' =>
+[
+'Xsux',
+'Cuneiform',
+],
+'yiii' =>
+[
+'Yiii',
+'Yi',
+],
+'zinh' =>
+[
+'Zinh',
+'Inherited',
+'Qaai',
+],
+'zyyy' =>
+[
+'Zyyy',
+'Common',
+],
+'zzzz' =>
+[
+'Zzzz',
+'Unknown',
+],
+},
+'scx' =>
+{
+'arab' =>
+[
+'Arab',
+'Arabic',
+],
+'armi' =>
+[
+'Armi',
+'Imperial_Aramaic',
+],
+'armn' =>
+[
+'Armn',
+'Armenian',
+],
+'avst' =>
+[
+'Avst',
+'Avestan',
+],
+'bali' =>
+[
+'Bali',
+'Balinese',
+],
+'bamu' =>
+[
+'Bamu',
+'Bamum',
+],
+'batk' =>
+[
+'Batk',
+'Batak',
+],
+'beng' =>
+[
+'Beng',
+'Bengali',
+],
+'bopo' =>
+[
+'Bopo',
+'Bopomofo',
+],
+'brah' =>
+[
+'Brah',
+'Brahmi',
+],
+'brai' =>
+[
+'Brai',
+'Braille',
+],
+'bugi' =>
+[
+'Bugi',
+'Buginese',
+],
+'buhd' =>
+[
+'Buhd',
+'Buhid',
+],
+'cakm' =>
+[
+'Cakm',
+'Chakma',
+],
+'cans' =>
+[
+'Cans',
+'Canadian_Aboriginal',
+],
+'cari' =>
+[
+'Cari',
+'Carian',
+],
+'cham' =>
+[
+'Cham',
+],
+'cher' =>
+[
+'Cher',
+'Cherokee',
+],
+'copt' =>
+[
+'Copt',
+'Coptic',
+'Qaac',
+],
+'cprt' =>
+[
+'Cprt',
+'Cypriot',
+],
+'cyrl' =>
+[
+'Cyrl',
+'Cyrillic',
+],
+'deva' =>
+[
+'Deva',
+'Devanagari',
+],
+'dsrt' =>
+[
+'Dsrt',
+'Deseret',
+],
+'egyp' =>
+[
+'Egyp',
+'Egyptian_Hieroglyphs',
+],
+'ethi' =>
+[
+'Ethi',
+'Ethiopic',
+],
+'geor' =>
+[
+'Geor',
+'Georgian',
+],
+'glag' =>
+[
+'Glag',
+'Glagolitic',
+],
+'goth' =>
+[
+'Goth',
+'Gothic',
+],
+'grek' =>
+[
+'Grek',
+'Greek',
+],
+'gujr' =>
+[
+'Gujr',
+'Gujarati',
+],
+'guru' =>
+[
+'Guru',
+'Gurmukhi',
+],
+'hang' =>
+[
+'Hang',
+'Hangul',
+],
+'hani' =>
+[
+'Hani',
+'Han',
+],
+'hano' =>
+[
+'Hano',
+'Hanunoo',
+],
+'hebr' =>
+[
+'Hebr',
+'Hebrew',
+],
+'hira' =>
+[
+'Hira',
+'Hiragana',
+],
+'hrkt' =>
+[
+'Hrkt',
+'Katakana_Or_Hiragana',
+],
+'ital' =>
+[
+'Ital',
+'Old_Italic',
+],
+'java' =>
+[
+'Java',
+'Javanese',
+],
+'kali' =>
+[
+'Kali',
+'Kayah_Li',
+],
+'kana' =>
+[
+'Kana',
+'Katakana',
+],
+'khar' =>
+[
+'Khar',
+'Kharoshthi',
+],
+'khmr' =>
+[
+'Khmr',
+'Khmer',
+],
+'knda' =>
+[
+'Knda',
+'Kannada',
+],
+'kthi' =>
+[
+'Kthi',
+'Kaithi',
+],
+'lana' =>
+[
+'Lana',
+'Tai_Tham',
+],
+'laoo' =>
+[
+'Laoo',
+'Lao',
+],
+'latn' =>
+[
+'Latn',
+'Latin',
+],
+'lepc' =>
+[
+'Lepc',
+'Lepcha',
+],
+'limb' =>
+[
+'Limb',
+'Limbu',
+],
+'linb' =>
+[
+'Linb',
+'Linear_B',
+],
+'lisu' =>
+[
+'Lisu',
+],
+'lyci' =>
+[
+'Lyci',
+'Lycian',
+],
+'lydi' =>
+[
+'Lydi',
+'Lydian',
+],
+'mand' =>
+[
+'Mand',
+'Mandaic',
+],
+'merc' =>
+[
+'Merc',
+'Meroitic_Cursive',
+],
+'mero' =>
+[
+'Mero',
+'Meroitic_Hieroglyphs',
+],
+'mlym' =>
+[
+'Mlym',
+'Malayalam',
+],
+'mong' =>
+[
+'Mong',
+'Mongolian',
+],
+'mtei' =>
+[
+'Mtei',
+'Meetei_Mayek',
+],
+'mymr' =>
+[
+'Mymr',
+'Myanmar',
+],
+'nkoo' =>
+[
+'Nkoo',
+'Nko',
+],
+'ogam' =>
+[
+'Ogam',
+'Ogham',
+],
+'olck' =>
+[
+'Olck',
+'Ol_Chiki',
+],
+'orkh' =>
+[
+'Orkh',
+'Old_Turkic',
+],
+'orya' =>
+[
+'Orya',
+'Oriya',
+],
+'osma' =>
+[
+'Osma',
+'Osmanya',
+],
+'phag' =>
+[
+'Phag',
+'Phags_Pa',
+],
+'phli' =>
+[
+'Phli',
+'Inscriptional_Pahlavi',
+],
+'phnx' =>
+[
+'Phnx',
+'Phoenician',
+],
+'plrd' =>
+[
+'Plrd',
+'Miao',
+],
+'prti' =>
+[
+'Prti',
+'Inscriptional_Parthian',
+],
+'rjng' =>
+[
+'Rjng',
+'Rejang',
+],
+'runr' =>
+[
+'Runr',
+'Runic',
+],
+'samr' =>
+[
+'Samr',
+'Samaritan',
+],
+'sarb' =>
+[
+'Sarb',
+'Old_South_Arabian',
+],
+'saur' =>
+[
+'Saur',
+'Saurashtra',
+],
+'shaw' =>
+[
+'Shaw',
+'Shavian',
+],
+'shrd' =>
+[
+'Shrd',
+'Sharada',
+],
+'sinh' =>
+[
+'Sinh',
+'Sinhala',
+],
+'sora' =>
+[
+'Sora',
+'Sora_Sompeng',
+],
+'sund' =>
+[
+'Sund',
+'Sundanese',
+],
+'sylo' =>
+[
+'Sylo',
+'Syloti_Nagri',
+],
+'syrc' =>
+[
+'Syrc',
+'Syriac',
+],
+'tagb' =>
+[
+'Tagb',
+'Tagbanwa',
+],
+'takr' =>
+[
+'Takr',
+'Takri',
+],
+'tale' =>
+[
+'Tale',
+'Tai_Le',
+],
+'talu' =>
+[
+'Talu',
+'New_Tai_Lue',
+],
+'taml' =>
+[
+'Taml',
+'Tamil',
+],
+'tavt' =>
+[
+'Tavt',
+'Tai_Viet',
+],
+'telu' =>
+[
+'Telu',
+'Telugu',
+],
+'tfng' =>
+[
+'Tfng',
+'Tifinagh',
+],
+'tglg' =>
+[
+'Tglg',
+'Tagalog',
+],
+'thaa' =>
+[
+'Thaa',
+'Thaana',
+],
+'thai' =>
+[
+'Thai',
+],
+'tibt' =>
+[
+'Tibt',
+'Tibetan',
+],
+'ugar' =>
+[
+'Ugar',
+'Ugaritic',
+],
+'vaii' =>
+[
+'Vaii',
+'Vai',
+],
+'xpeo' =>
+[
+'Xpeo',
+'Old_Persian',
+],
+'xsux' =>
+[
+'Xsux',
+'Cuneiform',
+],
+'yiii' =>
+[
+'Yiii',
+'Yi',
+],
+'zinh' =>
+[
+'Zinh',
+'Inherited',
+'Qaai',
+],
+'zyyy' =>
+[
+'Zyyy',
+'Common',
+],
+'zzzz' =>
+[
+'Zzzz',
+'Unknown',
+],
+},
+'sd' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'sterm' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'term' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'uideo' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'upper' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'vs' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'wb' =>
+{
+'cr' =>
+[
+'CR',
+],
+'ex' =>
+[
+'EX',
+'ExtendNumLet',
+],
+'extend' =>
+[
+'Extend',
+],
+'fo' =>
+[
+'FO',
+'Format',
+],
+'ka' =>
+[
+'KA',
+'Katakana',
+],
+'le' =>
+[
+'LE',
+'ALetter',
+],
+'lf' =>
+[
+'LF',
+],
+'mb' =>
+[
+'MB',
+'MidNumLet',
+],
+'ml' =>
+[
+'ML',
+'MidLetter',
+],
+'mn' =>
+[
+'MN',
+'MidNum',
+],
+'nl' =>
+[
+'NL',
+'Newline',
+],
+'nu' =>
+[
+'NU',
+'Numeric',
+],
+'xx' =>
+[
+'XX',
+'Other',
+],
+},
+'wspace' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'xidc' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+'xids' =>
+{
+'n' =>
+[
+'N',
+'No',
+'F',
+'False',
+],
+'y' =>
+[
+'Y',
+'Yes',
+'T',
+'True',
+],
+},
+);
+
+# Ordered (by code point ordinal) list of the ranges of code points whose
+# names are algorithmically determined. Each range entry is an anonymous hash
+# of the start and end points and a template for the names within it.
+@Unicode::UCD::algorithmic_named_code_points = (
+
+{
+'high' => 19893,
+'low' => 13312,
+'name' => 'CJK UNIFIED IDEOGRAPH-<code point>',
+},
+{
+'high' => 40908,
+'low' => 19968,
+'name' => 'CJK UNIFIED IDEOGRAPH-<code point>',
+},
+{
+'high' => 55203,
+'low' => 44032,
+'name' => '<hangul syllable>',
+},
+{
+'high' => 64109,
+'low' => 63744,
+'name' => 'CJK COMPATIBILITY IDEOGRAPH-<code point>',
+},
+{
+'high' => 64217,
+'low' => 64112,
+'name' => 'CJK COMPATIBILITY IDEOGRAPH-<code point>',
+},
+{
+'high' => 173782,
+'low' => 131072,
+'name' => 'CJK UNIFIED IDEOGRAPH-<code point>',
+},
+{
+'high' => 177972,
+'low' => 173824,
+'name' => 'CJK UNIFIED IDEOGRAPH-<code point>',
+},
+{
+'high' => 178205,
+'low' => 177984,
+'name' => 'CJK UNIFIED IDEOGRAPH-<code point>',
+},
+{
+'high' => 195101,
+'low' => 194560,
+'name' => 'CJK COMPATIBILITY IDEOGRAPH-<code point>',
+},
+,
+);
+
+# The properties that as-is have two meanings, and which must be disambiguated
+%Unicode::UCD::ambiguous_names = (
+'cf' => 1,
+'isc' => 1,
+'lc' => 1,
+'sc' => 1,
+);
+
+# Keys are the prop-val combinations which are the default values for the
+# given property, expressed in standard loose form
+%Unicode::UCD::loose_defaults = (
+'age=na' => 1,
+'age=unassigned' => 1,
+'ahex=f' => 1,
+'ahex=false' => 1,
+'ahex=n' => 1,
+'ahex=no' => 1,
+'alpha=f' => 1,
+'alpha=false' => 1,
+'alpha=n' => 1,
+'alpha=no' => 1,
+'bc=l' => 1,
+'bc=lefttoright' => 1,
+'bidic=f' => 1,
+'bidic=false' => 1,
+'bidic=n' => 1,
+'bidic=no' => 1,
+'bidim=f' => 1,
+'bidim=false' => 1,
+'bidim=n' => 1,
+'bidim=no' => 1,
+'blk=nb' => 1,
+'blk=noblock' => 1,
+'cased=f' => 1,
+'cased=false' => 1,
+'cased=n' => 1,
+'cased=no' => 1,
+'ccc=0' => 1,
+'ccc=notreordered' => 1,
+'ccc=nr' => 1,
+'ce=f' => 1,
+'ce=false' => 1,
+'ce=n' => 1,
+'ce=no' => 1,
+'ci=f' => 1,
+'ci=false' => 1,
+'ci=n' => 1,
+'ci=no' => 1,
+'cn' => 1,
+'compex=f' => 1,
+'compex=false' => 1,
+'compex=n' => 1,
+'compex=no' => 1,
+'cwcf=f' => 1,
+'cwcf=false' => 1,
+'cwcf=n' => 1,
+'cwcf=no' => 1,
+'cwcm=f' => 1,
+'cwcm=false' => 1,
+'cwcm=n' => 1,
+'cwcm=no' => 1,
+'cwkcf=f' => 1,
+'cwkcf=false' => 1,
+'cwkcf=n' => 1,
+'cwkcf=no' => 1,
+'cwl=f' => 1,
+'cwl=false' => 1,
+'cwl=n' => 1,
+'cwl=no' => 1,
+'cwt=f' => 1,
+'cwt=false' => 1,
+'cwt=n' => 1,
+'cwt=no' => 1,
+'cwu=f' => 1,
+'cwu=false' => 1,
+'cwu=n' => 1,
+'cwu=no' => 1,
+'dash=f' => 1,
+'dash=false' => 1,
+'dash=n' => 1,
+'dash=no' => 1,
+'dep=f' => 1,
+'dep=false' => 1,
+'dep=n' => 1,
+'dep=no' => 1,
+'di=f' => 1,
+'di=false' => 1,
+'di=n' => 1,
+'di=no' => 1,
+'dia=f' => 1,
+'dia=false' => 1,
+'dia=n' => 1,
+'dia=no' => 1,
+'dt=none' => 1,
+'ea=n' => 1,
+'ea=neutral' => 1,
+'ext=f' => 1,
+'ext=false' => 1,
+'ext=n' => 1,
+'ext=no' => 1,
+'gc=cn' => 1,
+'gc=unassigned' => 1,
+'gcb=other' => 1,
+'gcb=xx' => 1,
+'grbase=f' => 1,
+'grbase=false' => 1,
+'grbase=n' => 1,
+'grbase=no' => 1,
+'grext=f' => 1,
+'grext=false' => 1,
+'grext=n' => 1,
+'grext=no' => 1,
+'hex=f' => 1,
+'hex=false' => 1,
+'hex=n' => 1,
+'hex=no' => 1,
+'hst=na' => 1,
+'hst=notapplicable' => 1,
+'hyphen=f' => 1,
+'hyphen=false' => 1,
+'hyphen=n' => 1,
+'hyphen=no' => 1,
+'idc=f' => 1,
+'idc=false' => 1,
+'idc=n' => 1,
+'idc=no' => 1,
+'ideo=f' => 1,
+'ideo=false' => 1,
+'ideo=n' => 1,
+'ideo=no' => 1,
+'ids=f' => 1,
+'ids=false' => 1,
+'ids=n' => 1,
+'ids=no' => 1,
+'idsb=f' => 1,
+'idsb=false' => 1,
+'idsb=n' => 1,
+'idsb=no' => 1,
+'idst=f' => 1,
+'idst=false' => 1,
+'idst=n' => 1,
+'idst=no' => 1,
+'in=unassigned' => 1,
+'innb' => 1,
+'innoblock' => 1,
+'iscn' => 1,
+'isnb' => 1,
+'isnoblock' => 1,
+'isunassigned' => 1,
+'isunknown' => 1,
+'iszzzz' => 1,
+'jg=nojoininggroup' => 1,
+'joinc=f' => 1,
+'joinc=false' => 1,
+'joinc=n' => 1,
+'joinc=no' => 1,
+'jt=nonjoining' => 1,
+'jt=u' => 1,
+'lb=unknown' => 1,
+'lb=xx' => 1,
+'loe=f' => 1,
+'loe=false' => 1,
+'loe=n' => 1,
+'loe=no' => 1,
+'lower=f' => 1,
+'lower=false' => 1,
+'lower=n' => 1,
+'lower=no' => 1,
+'math=f' => 1,
+'math=false' => 1,
+'math=n' => 1,
+'math=no' => 1,
+'nb' => 1,
+'nchar=f' => 1,
+'nchar=false' => 1,
+'nchar=n' => 1,
+'nchar=no' => 1,
+'nfcqc=y' => 1,
+'nfcqc=yes' => 1,
+'nfdqc=y' => 1,
+'nfdqc=yes' => 1,
+'nfkcqc=y' => 1,
+'nfkcqc=yes' => 1,
+'nfkdqc=y' => 1,
+'nfkdqc=yes' => 1,
+'noblock' => 1,
+'nt=none' => 1,
+'nv=nan' => 1,
+'patsyn=f' => 1,
+'patsyn=false' => 1,
+'patsyn=n' => 1,
+'patsyn=no' => 1,
+'patws=f' => 1,
+'patws=false' => 1,
+'patws=n' => 1,
+'patws=no' => 1,
+'qmark=f' => 1,
+'qmark=false' => 1,
+'qmark=n' => 1,
+'qmark=no' => 1,
+'radical=f' => 1,
+'radical=false' => 1,
+'radical=n' => 1,
+'radical=no' => 1,
+'sb=other' => 1,
+'sb=xx' => 1,
+'sc=unknown' => 1,
+'sc=zzzz' => 1,
+'scx=unknown' => 1,
+'scx=zzzz' => 1,
+'sd=f' => 1,
+'sd=false' => 1,
+'sd=n' => 1,
+'sd=no' => 1,
+'sterm=f' => 1,
+'sterm=false' => 1,
+'sterm=n' => 1,
+'sterm=no' => 1,
+'term=f' => 1,
+'term=false' => 1,
+'term=n' => 1,
+'term=no' => 1,
+'uideo=f' => 1,
+'uideo=false' => 1,
+'uideo=n' => 1,
+'uideo=no' => 1,
+'unassigned' => 1,
+'unknown' => 1,
+'upper=f' => 1,
+'upper=false' => 1,
+'upper=n' => 1,
+'upper=no' => 1,
+'vs=f' => 1,
+'vs=false' => 1,
+'vs=n' => 1,
+'vs=no' => 1,
+'wb=other' => 1,
+'wb=xx' => 1,
+'wspace=f' => 1,
+'wspace=false' => 1,
+'wspace=n' => 1,
+'wspace=no' => 1,
+'xidc=f' => 1,
+'xidc=false' => 1,
+'xidc=n' => 1,
+'xidc=no' => 1,
+'xids=f' => 1,
+'xids=false' => 1,
+'xids=n' => 1,
+'xids=no' => 1,
+'zzzz' => 1,
+);
+
+# All combinations of names that are suppressed.
+# This is actually for UCD.t, so it knows which properties shouldn't have
+# entries. If it got any bigger, would probably want to put it in its own
+# file to use memory only when it was needed, in testing.
+@Unicode::UCD::suppressed_properties = (
+
+'kirgmsource',
+'cjkirgmsource',
+'othermath',
+'omath',
+'otherlowercase',
+'olower',
+'otheridstart',
+'oids',
+'kothernumeric',
+'cjkothernumeric',
+'otheridcontinue',
+'oidc',
+'kaccountingnumeric',
+'cjkaccountingnumeric',
+'kirgusource',
+'cjkirgusource',
+'expandsonnfkc',
+'xonfkc',
+'otheruppercase',
+'oupper',
+'otheralphabetic',
+'oalpha',
+'expandsonnfkd',
+'xonfkd',
+'kirgvsource',
+'cjkirgvsource',
+'kirgtsource',
+'cjkirgtsource',
+'scriptextensions=katakanaorhiragana',
+'scriptextensions=hrkt',
+'scx=katakanaorhiragana',
+'scx=hrkt',
+'kirgksource',
+'cjkirgksource',
+'fcnfkcclosure',
+'fcnfkc',
+'otherdefaultignorablecodepoint',
+'odi',
+'krsunicode',
+'cjkrsunicode',
+'unicoderadicalstroke',
+'urs',
+'indicsyllabiccategory',
+'insc',
+'kirgkpsource',
+'cjkirgkpsource',
+'expandsonnfd',
+'xonfd',
+'kirgjsource',
+'cjkirgjsource',
+'expandsonnfc',
+'xonfc',
+'indicmatracategory',
+'inmc',
+'kiicore',
+'cjkiicore',
+'jamoshortname',
+'jsn',
+'kirghsource',
+'cjkirghsource',
+'kcompatibilityvariant',
+'cjkcompatibilityvariant',
+'kirggsource',
+'cjkirggsource',
+'othergraphemeextend',
+'ogrext',
+'script=katakanaorhiragana',
+'script=hrkt',
+'sc=katakanaorhiragana',
+'sc=hrkt',
+'kprimarynumeric',
+'cjkprimarynumeric',
+'graphemelink',
+'grlink',
+,
+);
+
+1;
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/AHex/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/AHex/N.pl
deleted file mode 100644
index 056a57bbae6..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/AHex/N.pl
+++ /dev/null
@@ -1,16 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 002F
-003A 0040
-0047 0060
-0067 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/AHex/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/AHex/Y.pl
index d6176a11746..832308dde0a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/AHex/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/AHex/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/2_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/2_1.pl
deleted file mode 100644
index 42875e00666..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/2_1.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-20AC
-FFFC
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/Unassign.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/NA.pl
index 0fad55b86eb..63886954ae5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/Unassign.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/NA.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -18,11 +18,12 @@ return <<'END';
0557 0558
0560
0588
-058B 0590
+058B 058E
+0590
05C8 05CF
05EB 05EF
05F5 05FF
-0604 0605
+0605
061C 061D
070E
074B 074C
@@ -31,7 +32,10 @@ return <<'END';
082E 082F
083F
085C 085D
-085F 08FF
+085F 089F
+08A1
+08AD 08E3
+08FF
0978
0980
0984
@@ -76,7 +80,6 @@ return <<'END';
0ACE 0ACF
0AD1 0ADF
0AE4 0AE5
-0AF0
0AF2 0B00
0B04
0B0D 0B0E
@@ -177,15 +180,16 @@ return <<'END';
0EC7
0ECE 0ECF
0EDA 0EDB
-0EDE 0EFF
+0EE0 0EFF
0F48
0F6D 0F70
0F98
0FBD
0FCD
0FDB 0FFF
-10C6 10CF
-10FD 10FF
+10C6
+10C8 10CC
+10CE 10CF
1249
124E 124F
1257
@@ -239,13 +243,12 @@ return <<'END';
1AAE 1AFF
1B4C 1B4F
1B7D 1B7F
-1BAB 1BAD
-1BBA 1BBF
1BF4 1BFB
1C38 1C3A
1C4A 1C4C
-1C80 1CCF
-1CF3 1CFF
+1C80 1CBF
+1CC8 1CCF
+1CF7 1CFF
1DE7 1DFB
1F16 1F17
1F1E 1F1F
@@ -274,15 +277,15 @@ return <<'END';
2427 243F
244B 245F
2700
-27CB
-27CD
2B4D 2B4F
2B5A 2BFF
2C2F
2C5F
-2CF2 2CF8
-2D26 2D2F
-2D66 2D6E
+2CF4 2CF8
+2D26
+2D28 2D2C
+2D2E 2D2F
+2D68 2D6E
2D71 2D7E
2D97 2D9F
2DA7
@@ -293,7 +296,7 @@ return <<'END';
2DCF
2DD7
2DDF
-2E32 2E7F
+2E3C 2E7F
2E9A
2EF4 2EFF
2FD6 2FEF
@@ -308,16 +311,15 @@ return <<'END';
321F
32FF
4DB6 4DBF
-9FCC 9FFF
+9FCD 9FFF
A48D A48F
A4C7 A4CF
A62C A63F
-A674 A67B
-A698 A69F
+A698 A69E
A6F8 A6FF
A78F
-A792 A79F
-A7AA A7F9
+A794 A79F
+A7AB A7F7
A82C A82F
A83A A83F
A878 A87F
@@ -334,7 +336,7 @@ AA4E AA4F
AA5A AA5B
AA7C AA7F
AAC3 AADA
-AAE0 AB00
+AAF7 AB00
AB07 AB08
AB0F AB10
AB17 AB1F
@@ -345,7 +347,6 @@ ABFA ABFF
D7A4 D7AF
D7C7 D7CA
D7FC D7FF
-FA2E FA2F
FA6E FA6F
FADA FAFF
FB07 FB12
@@ -406,7 +407,9 @@ FFEF FFF8
10860 108FF
1091C 1091E
1093A 1093E
-10940 109FF
+10940 1097F
+109B8 109BD
+109C0 109FF
10A04
10A07 10A0B
10A14
@@ -424,12 +427,23 @@ FFEF FFF8
10E7F 10FFF
1104E 11051
11070 1107F
-110C2 11FFF
+110C2 110CF
+110E9 110EF
+110FA 110FF
+11135
+11144 1117F
+111C9 111CF
+111DA 1167F
+116B8 116BF
+116CA 11FFF
1236F 123FF
12463 1246F
12474 12FFF
1342F 167FF
-16A39 1AFFF
+16A39 16EFF
+16F45 16F4F
+16F7F 16F8E
+16FA0 1AFFF
1B002 1CFFF
1D0F6 1D0FF
1D127 1D128
@@ -457,7 +471,41 @@ FFEF FFF8
1D551
1D6A6 1D6A7
1D7CC 1D7CD
-1D800 1EFFF
+1D800 1EDFF
+1EE04
+1EE20
+1EE23
+1EE25 1EE26
+1EE28
+1EE33
+1EE38
+1EE3A
+1EE3C 1EE41
+1EE43 1EE46
+1EE48
+1EE4A
+1EE4C
+1EE50
+1EE53
+1EE55 1EE56
+1EE58
+1EE5A
+1EE5C
+1EE5E
+1EE60
+1EE63
+1EE65 1EE66
+1EE6B
+1EE73
+1EE78
+1EE7D
+1EE7F
+1EE8A
+1EE9C 1EEA0
+1EEA4
+1EEAA
+1EEBC 1EEEF
+1EEF2 1EFFF
1F02C 1F02F
1F094 1F09F
1F0AF 1F0B0
@@ -466,7 +514,7 @@ FFEF FFF8
1F0E0 1F0FF
1F10B 1F10F
1F12F
-1F16A 1F16F
+1F16C 1F16F
1F19B 1F1E5
1F203 1F20F
1F23B 1F23F
@@ -483,19 +531,9 @@ FFEF FFF8
1F441
1F4F8
1F4FD 1F4FF
-1F53E 1F54F
+1F53E 1F53F
+1F544 1F54F
1F568 1F5FA
-1F600
-1F611
-1F615
-1F617
-1F619
-1F61B
-1F61F
-1F626 1F627
-1F62C
-1F62E 1F62F
-1F634
1F641 1F644
1F650 1F67F
1F6C6 1F6FF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/1_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V11.pl
index c2e4cfb12ae..f4953fdd02d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/1_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V11.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/2_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V20.pl
index f0ac5523170..a8db39f0f02 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/2_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V20.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V21.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V21.pl
new file mode 100644
index 00000000000..02516382810
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V21.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+20AC
+FFFC
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/3_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V30.pl
index 958e36f803f..ebe32b7bcba 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/3_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V30.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/3_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V31.pl
index 15baaa3acbc..4210805bc49 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/3_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V31.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/3_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V32.pl
index de9e60767a6..c2255430ece 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/3_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V32.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/4_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V40.pl
index eafa6223e8c..67383f53874 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/4_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V40.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/4_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V41.pl
index 417220f60dc..7be74457ef2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/4_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V41.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/5_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V50.pl
index 60f495167cd..bbd7695378e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/5_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V50.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/5_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V51.pl
index 8c238f888f9..5ab7715e79b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/5_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V51.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/5_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V52.pl
index 6f72f7d3529..3bbc4c256e4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/5_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V52.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/6_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V60.pl
index cbe4b829134..cd178793e1c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Age/6_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V60.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Age/V61.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V61.pl
new file mode 100644
index 00000000000..2c71364a683
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Age/V61.pl
@@ -0,0 +1,101 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+058F
+0604
+08A0
+08A2 08AC
+08E4 08FE
+0AF0
+0EDE 0EDF
+10C7
+10CD
+10FD 10FF
+1BAB 1BAD
+1BBA 1BBF
+1CC0 1CC7
+1CF3 1CF6
+27CB
+27CD
+2CF2 2CF3
+2D27
+2D2D
+2D66 2D67
+2E32 2E3B
+9FCC
+A674 A67B
+A69F
+A792 A793
+A7AA
+A7F8 A7F9
+AAE0 AAF6
+FA2E FA2F
+10980 109B7
+109BE 109BF
+110D0 110E8
+110F0 110F9
+11100 11134
+11136 11143
+11180 111C8
+111D0 111D9
+11680 116B7
+116C0 116C9
+16F00 16F44
+16F50 16F7E
+16F8F 16F9F
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
+1EEF0 1EEF1
+1F16A 1F16B
+1F540 1F543
+1F600
+1F611
+1F615
+1F617
+1F619
+1F61B
+1F61F
+1F626 1F627
+1F62C
+1F62E 1F62F
+1F634
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Alpha/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Alpha/N.pl
deleted file mode 100644
index a28348e1b7d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Alpha/N.pl
+++ /dev/null
@@ -1,499 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0040
-005B 0060
-007B 00A9
-00AB 00B4
-00B6 00B9
-00BB 00BF
-00D7
-00F7
-02C2 02C5
-02D2 02DF
-02E5 02EB
-02ED
-02EF 0344
-0346 036F
-0375
-0378 0379
-037E 0385
-0387
-038B
-038D
-03A2
-03F6
-0482 0489
-0528 0530
-0557 0558
-055A 0560
-0588 05AF
-05BE
-05C0
-05C3
-05C6
-05C8 05CF
-05EB 05EF
-05F3 060F
-061B 061F
-0658
-0660 066D
-06D4
-06DD 06E0
-06E9 06EC
-06F0 06F9
-06FD 06FE
-0700 070F
-0740 074C
-07B2 07C9
-07EB 07F3
-07F6 07F9
-07FB 07FF
-0818 0819
-082D 083F
-0859 08FF
-093C
-094D
-0951 0954
-0964 0970
-0978
-0980
-0984
-098D 098E
-0991 0992
-09A9
-09B1
-09B3 09B5
-09BA 09BC
-09C5 09C6
-09C9 09CA
-09CD
-09CF 09D6
-09D8 09DB
-09DE
-09E4 09EF
-09F2 0A00
-0A04
-0A0B 0A0E
-0A11 0A12
-0A29
-0A31
-0A34
-0A37
-0A3A 0A3D
-0A43 0A46
-0A49 0A4A
-0A4D 0A50
-0A52 0A58
-0A5D
-0A5F 0A6F
-0A76 0A80
-0A84
-0A8E
-0A92
-0AA9
-0AB1
-0AB4
-0ABA 0ABC
-0AC6
-0ACA
-0ACD 0ACF
-0AD1 0ADF
-0AE4 0B00
-0B04
-0B0D 0B0E
-0B11 0B12
-0B29
-0B31
-0B34
-0B3A 0B3C
-0B45 0B46
-0B49 0B4A
-0B4D 0B55
-0B58 0B5B
-0B5E
-0B64 0B70
-0B72 0B81
-0B84
-0B8B 0B8D
-0B91
-0B96 0B98
-0B9B
-0B9D
-0BA0 0BA2
-0BA5 0BA7
-0BAB 0BAD
-0BBA 0BBD
-0BC3 0BC5
-0BC9
-0BCD 0BCF
-0BD1 0BD6
-0BD8 0C00
-0C04
-0C0D
-0C11
-0C29
-0C34
-0C3A 0C3C
-0C45
-0C49
-0C4D 0C54
-0C57
-0C5A 0C5F
-0C64 0C81
-0C84
-0C8D
-0C91
-0CA9
-0CB4
-0CBA 0CBC
-0CC5
-0CC9
-0CCD 0CD4
-0CD7 0CDD
-0CDF
-0CE4 0CF0
-0CF3 0D01
-0D04
-0D0D
-0D11
-0D3B 0D3C
-0D45
-0D49
-0D4D
-0D4F 0D56
-0D58 0D5F
-0D64 0D79
-0D80 0D81
-0D84
-0D97 0D99
-0DB2
-0DBC
-0DBE 0DBF
-0DC7 0DCE
-0DD5
-0DD7
-0DE0 0DF1
-0DF4 0E00
-0E3B 0E3F
-0E47 0E4C
-0E4E 0E80
-0E83
-0E85 0E86
-0E89
-0E8B 0E8C
-0E8E 0E93
-0E98
-0EA0
-0EA4
-0EA6
-0EA8 0EA9
-0EAC
-0EBA
-0EBE 0EBF
-0EC5
-0EC7 0ECC
-0ECE 0EDB
-0EDE 0EFF
-0F01 0F3F
-0F48
-0F6D 0F70
-0F82 0F87
-0F98
-0FBD 0FFF
-1037
-1039 103A
-1040 104F
-1063 1064
-1069 106D
-1087 108D
-108F 109B
-109E 109F
-10C6 10CF
-10FB
-10FD 10FF
-1249
-124E 124F
-1257
-1259
-125E 125F
-1289
-128E 128F
-12B1
-12B6 12B7
-12BF
-12C1
-12C6 12C7
-12D7
-1311
-1316 1317
-135B 135E
-1360 137F
-1390 139F
-13F5 1400
-166D 166E
-1680
-169B 169F
-16EB 16ED
-16F1 16FF
-170D
-1714 171F
-1734 173F
-1754 175F
-176D
-1771
-1774 177F
-17B4 17B5
-17C9 17D6
-17D8 17DB
-17DD 181F
-1878 187F
-18AB 18AF
-18F6 18FF
-191D 191F
-192C 192F
-1939 194F
-196E 196F
-1975 197F
-19AC 19AF
-19CA 19FF
-1A1C 1A1F
-1A5F 1A60
-1A75 1AA6
-1AA8 1AFF
-1B34
-1B44
-1B4C 1B7F
-1BAA 1BAD
-1BB0 1BBF
-1BE6
-1BF2 1BFF
-1C36 1C4C
-1C50 1C59
-1C7E 1CE8
-1CED
-1CF3 1CFF
-1DC0 1DFF
-1F16 1F17
-1F1E 1F1F
-1F46 1F47
-1F4E 1F4F
-1F58
-1F5A
-1F5C
-1F5E
-1F7E 1F7F
-1FB5
-1FBD
-1FBF 1FC1
-1FC5
-1FCD 1FCF
-1FD4 1FD5
-1FDC 1FDF
-1FED 1FF1
-1FF5
-1FFD 2070
-2072 207E
-2080 208F
-209D 2101
-2103 2106
-2108 2109
-2114
-2116 2118
-211E 2123
-2125
-2127
-2129
-212E
-213A 213B
-2140 2144
-214A 214D
-214F 215F
-2189 24B5
-24EA 2BFF
-2C2F
-2C5F
-2CE5 2CEA
-2CEF 2CFF
-2D26 2D2F
-2D66 2D6E
-2D70 2D7F
-2D97 2D9F
-2DA7
-2DAF
-2DB7
-2DBF
-2DC7
-2DCF
-2DD7
-2DDF
-2E00 2E2E
-2E30 3004
-3008 3020
-302A 3030
-3036 3037
-303D 3040
-3097 309C
-30A0
-30FB
-3100 3104
-312E 3130
-318F 319F
-31BB 31EF
-3200 33FF
-4DB6 4DFF
-9FCC 9FFF
-A48D A4CF
-A4FE A4FF
-A60D A60F
-A620 A629
-A62C A63F
-A66F A67E
-A698 A69F
-A6F0 A716
-A720 A721
-A789 A78A
-A78F
-A792 A79F
-A7AA A7F9
-A802
-A806
-A80B
-A828 A83F
-A874 A87F
-A8C4 A8F1
-A8F8 A8FA
-A8FC A909
-A92B A92F
-A953 A95F
-A97D A97F
-A9B3
-A9C0 A9CE
-A9D0 A9FF
-AA37 AA3F
-AA4E AA5F
-AA77 AA79
-AA7B AA7F
-AABF
-AAC1
-AAC3 AADA
-AADE AB00
-AB07 AB08
-AB0F AB10
-AB17 AB1F
-AB27
-AB2F ABBF
-ABEB ABFF
-D7A4 D7AF
-D7C7 D7CA
-D7FC F8FF
-FA2E FA2F
-FA6E FA6F
-FADA FAFF
-FB07 FB12
-FB18 FB1C
-FB29
-FB37
-FB3D
-FB3F
-FB42
-FB45
-FBB2 FBD2
-FD3E FD4F
-FD90 FD91
-FDC8 FDEF
-FDFC FE6F
-FE75
-FEFD FF20
-FF3B FF40
-FF5B FF65
-FFBF FFC1
-FFC8 FFC9
-FFD0 FFD1
-FFD8 FFD9
-FFDD FFFF
-1000C
-10027
-1003B
-1003E
-1004E 1004F
-1005E 1007F
-100FB 1013F
-10175 1027F
-1029D 1029F
-102D1 102FF
-1031F 1032F
-1034B 1037F
-1039E 1039F
-103C4 103C7
-103D0
-103D6 103FF
-1049E 107FF
-10806 10807
-10809
-10836
-10839 1083B
-1083D 1083E
-10856 108FF
-10916 1091F
-1093A 109FF
-10A04
-10A07 10A0B
-10A14
-10A18
-10A34 10A5F
-10A7D 10AFF
-10B36 10B3F
-10B56 10B5F
-10B73 10BFF
-10C49 10FFF
-11046 11081
-110B9 11FFF
-1236F 123FF
-12463 12FFF
-1342F 167FF
-16A39 1AFFF
-1B002 1D3FF
-1D455
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4BA
-1D4BC
-1D4C4
-1D506
-1D50B 1D50C
-1D515
-1D51D
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551
-1D6A6 1D6A7
-1D6C1
-1D6DB
-1D6FB
-1D715
-1D735
-1D74F
-1D76F
-1D789
-1D7A9
-1D7C3
-1D7CC 1FFFF
-2A6D7 2A6FF
-2B735 2B73F
-2B81E 2F7FF
-2FA1E 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Alpha/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Alpha/Y.pl
index b98acd9e7a3..468b7826881 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Alpha/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Alpha/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -59,6 +59,10 @@ return <<'END';
0800 0817
081A 082C
0840 0858
+08A0
+08A2 08AC
+08E4 08E9
+08F0 08FE
0900 093B
093D 094C
094E 0950
@@ -201,7 +205,7 @@ return <<'END';
0EC0 0EC4
0EC6
0ECD
-0EDC 0EDD
+0EDC 0EDF
0F00
0F40 0F47
0F49 0F6C
@@ -217,9 +221,10 @@ return <<'END';
108E
109C 109D
10A0 10C5
+10C7
+10CD
10D0 10FA
-10FC
-1100 1248
+10FC 1248
124A 124D
1250 1256
1258
@@ -272,14 +277,15 @@ return <<'END';
1B35 1B43
1B45 1B4B
1B80 1BA9
-1BAE 1BAF
-1BC0 1BE5
+1BAC 1BAF
+1BBA 1BE5
1BE7 1BF1
1C00 1C35
1C4D 1C4F
1C5A 1C7D
1CE9 1CEC
-1CEE 1CF2
+1CEE 1CF3
+1CF5 1CF6
1D00 1DBF
1E00 1F15
1F18 1F1D
@@ -322,8 +328,11 @@ return <<'END';
2C30 2C5E
2C60 2CE4
2CEB 2CEE
+2CF2 2CF3
2D00 2D25
-2D30 2D65
+2D27
+2D2D
+2D30 2D67
2D6F
2D80 2D96
2DA0 2DA6
@@ -349,21 +358,22 @@ return <<'END';
31A0 31BA
31F0 31FF
3400 4DB5
-4E00 9FCB
+4E00 9FCC
A000 A48C
A4D0 A4FD
A500 A60C
A610 A61F
A62A A62B
A640 A66E
+A674 A67B
A67F A697
-A6A0 A6EF
+A69F A6EF
A717 A71F
A722 A788
A78B A78E
-A790 A791
-A7A0 A7A9
-A7FA A801
+A790 A793
+A7A0 A7AA
+A7F8 A801
A803 A805
A807 A80A
A80C A827
@@ -385,6 +395,8 @@ AA80 AABE
AAC0
AAC2
AADB AADD
+AAE0 AAEF
+AAF2 AAF5
AB01 AB06
AB09 AB0E
AB11 AB16
@@ -394,8 +406,7 @@ ABC0 ABEA
AC00 D7A3
D7B0 D7C6
D7CB D7FB
-F900 FA2D
-FA30 FA6D
+F900 FA6D
FA70 FAD9
FB00 FB06
FB13 FB17
@@ -444,6 +455,8 @@ FFDA FFDC
1083F 10855
10900 10915
10920 10939
+10980 109B7
+109BE 109BF
10A00 10A03
10A05 10A06
10A0C 10A13
@@ -456,10 +469,18 @@ FFDA FFDC
10C00 10C48
11000 11045
11082 110B8
+110D0 110E8
+11100 11132
+11180 111BF
+111C1 111C4
+11680 116B5
12000 1236E
12400 12462
13000 1342E
16800 16A38
+16F00 16F44
+16F50 16F7E
+16F93 16F9F
1B000 1B001
1D400 1D454
1D456 1D49C
@@ -491,6 +512,39 @@ FFDA FFDC
1D78A 1D7A8
1D7AA 1D7C2
1D7C4 1D7CB
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
20000 2A6D6
2A700 2B734
2B740 2B81D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AL.pl
index 2dddb445114..24ce75b9d4d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AL.pl
@@ -1,15 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
-0604 0605
+0605
0608
060B
060D
@@ -22,9 +22,13 @@ return <<'END';
0712 072F
074B 07A5
07B1 07BF
+08A0 08E3
+08FF
FB50 FD3D
FD40 FDCF
FDF0 FDFC
FDFE FDFF
FE70 FEFE
+1EE00 1EEEF
+1EEF2 1EEFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AN.pl
index 6bc692ef23b..17a143be5f7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AN.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/AN.pl
@@ -1,15 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
-0600 0603
+0600 0604
0660 0669
066B 066C
06DD
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/B.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/B.pl
index a9c6a165876..ec8d5206fe8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/B.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/B.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/BN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/BN.pl
index 7342fbd784b..be5a627a785 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/BN.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/BN.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/CS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/CS.pl
index 24767411b3b..9f83c6042b6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/CS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/CS.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/EN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/EN.pl
index 31332a6fc38..6bfa929e910 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/EN.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/EN.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ES.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ES.pl
index f560e045975..2eb2e056bc6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ES.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ES.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ET.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ET.pl
index db15f14d4a7..ab94e7d4d25 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ET.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ET.pl
@@ -1,17 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
0023 0025
00A2 00A5
00B0 00B1
+058F
0609 060A
066A
09F2 09F3
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/L.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/L.pl
index 06569e171eb..5190886bd07 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/L.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/L.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -28,7 +28,7 @@ return <<'END';
0388 03F5
03F7 0482
048A 0589
-058B 058F
+058B 058E
0903 0939
093B
093D 0940
@@ -121,7 +121,8 @@ return <<'END';
1715 1731
1735 1751
1754 1771
-1774 17B6
+1774 17B3
+17B6
17BE 17C5
17C7 17C8
17D4 17DA
@@ -153,7 +154,8 @@ return <<'END';
1B74 1B7F
1B82 1BA1
1BA6 1BA7
-1BAA 1BE5
+1BAA
+1BAC 1BE5
1BE7
1BEA 1BEC
1BEE
@@ -163,7 +165,8 @@ return <<'END';
1CD3
1CE1
1CE9 1CEC
-1CEE 1DBF
+1CEE 1CF3
+1CF5 1DBF
1DE7 1DFB
1E00 1FBC
1FBE
@@ -201,8 +204,6 @@ return <<'END';
249C 24E9
26AC
2700
-27CB
-27CD
2800 28FF
2B4D 2B4F
2B5A 2CE4
@@ -210,13 +211,14 @@ return <<'END';
2CF2 2CF8
2D00 2D7E
2D80 2DDF
-2E32 2E7F
+2E3C 2E7F
2E9A
2EF4 2EFF
2FD6 2FEF
2FFC 2FFF
3005 3007
3021 3029
+302E 302F
3031 3035
3038 303C
3040 3098
@@ -235,8 +237,8 @@ return <<'END';
4E00 A48F
A4C7 A60C
A610 A66E
-A674 A67B
-A680 A6EF
+A680 A69E
+A6A0 A6EF
A6F2 A6FF
A722 A787
A789 A801
@@ -264,7 +266,9 @@ AAB1
AAB5 AAB6
AAB9 AABD
AAC0
-AAC2 ABE4
+AAC2 AAEB
+AAEE AAF5
+AAF7 ABE4
ABE6 ABE7
ABE9 ABEC
ABEE FB1C
@@ -290,7 +294,17 @@ FFEF
11066 1107F
11082 110B2
110B7 110B8
-110BB 1D166
+110BB 110FF
+11103 11126
+1112C
+11135 1117F
+11182 111B5
+111BF 116AA
+116AC
+116AE 116AF
+116B6
+116B8 16F8E
+16F93 1D166
1D16A 1D172
1D183 1D184
1D18C 1D1A9
@@ -309,7 +323,8 @@ FFEF
1F0BF 1F0C0
1F0D0
1F0E0 1F0FF
-1F10B 1F2FF
+1F10B 1F169
+1F16C 1F2FF
1F321 1F32F
1F336
1F37D 1F37F
@@ -319,23 +334,11 @@ FFEF
1F3F1 1F3FF
1F43F
1F441
-1F48C
1F4F8
1F4FD 1F4FF
-1F524
-1F53E 1F54F
+1F53E 1F53F
+1F544 1F54F
1F568 1F5FA
-1F600
-1F611
-1F615
-1F617
-1F619
-1F61B
-1F61F
-1F626 1F627
-1F62C
-1F62E 1F62F
-1F634
1F641 1F644
1F650 1F67F
1F6C6 1F6FF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRE.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRE.pl
index 8cfc55d113d..8576e8f6fda 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRE.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRE.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRO.pl
index 2b5cb7c05e6..913e6bc9864 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRO.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/LRO.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/NSM.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/NSM.pl
index 86dda0d5cea..829110bd57e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/NSM.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/NSM.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -32,6 +32,7 @@ return <<'END';
0825 0827
0829 082D
0859 085B
+08E4 08FE
0900 0902
093A
093C
@@ -115,6 +116,7 @@ return <<'END';
1732 1734
1752 1753
1772 1773
+17B4 17B5
17B7 17BD
17C6
17C9 17D3
@@ -142,6 +144,7 @@ return <<'END';
1B80 1B81
1BA2 1BA5
1BA8 1BA9
+1BAB
1BE6
1BE8 1BE9
1BED
@@ -152,16 +155,18 @@ return <<'END';
1CD4 1CE0
1CE2 1CE8
1CED
+1CF4
1DC0 1DE6
1DFC 1DFF
20D0 20F0
2CEF 2CF1
2D7F
2DE0 2DFF
-302A 302F
+302A 302D
3099 309A
A66F A672
-A67C A67D
+A674 A67D
+A69F
A6F0 A6F1
A802
A806
@@ -185,6 +190,8 @@ AAB2 AAB4
AAB7 AAB8
AABE AABF
AAC1
+AAEC AAED
+AAF6
ABE5
ABE8
ABED
@@ -202,6 +209,16 @@ FE20 FE26
11080 11081
110B3 110B6
110B9 110BA
+11100 11102
+11127 1112B
+1112D 11134
+11180 11181
+111B6 111BE
+116AB
+116AD
+116B0 116B5
+116B7
+16F8F 16F92
1D167 1D169
1D17B 1D182
1D185 1D18B
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ON.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ON.pl
index dad51d6ebb4..949043b5dcc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ON.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/ON.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -85,14 +85,12 @@ return <<'END';
2460 2487
24EA 26AB
26AD 26FF
-2701 27CA
-27CC
-27CE 27FF
+2701 27FF
2900 2B4C
2B50 2B59
2CE5 2CEA
2CF9 2CFF
-2E00 2E31
+2E00 2E3B
2E80 2E99
2E9B 2EF3
2F00 2FD5
@@ -156,12 +154,14 @@ FFF9 FFFD
1D74F
1D789
1D7C3
+1EEF0 1EEF1
1F000 1F02B
1F030 1F093
1F0A0 1F0AE
1F0B1 1F0BE
1F0C1 1F0CF
1F0D1 1F0DF
+1F16A 1F16B
1F300 1F320
1F330 1F335
1F337 1F37C
@@ -171,24 +171,12 @@ FFF9 FFFD
1F3E0 1F3F0
1F400 1F43E
1F440
-1F442 1F48B
-1F48D 1F4F7
+1F442 1F4F7
1F4F9 1F4FC
-1F500 1F523
-1F525 1F53D
+1F500 1F53D
+1F540 1F543
1F550 1F567
-1F5FB 1F5FF
-1F601 1F610
-1F612 1F614
-1F616
-1F618
-1F61A
-1F61C 1F61E
-1F620 1F625
-1F628 1F62B
-1F62D
-1F630 1F633
-1F635 1F640
+1F5FB 1F640
1F645 1F64F
1F680 1F6C5
1F700 1F773
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/PDF.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/PDF.pl
index 9682fdbc801..11c912204fe 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/PDF.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/PDF.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/R.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/R.pl
index 9a0183f06b9..bce3ad127ca 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/R.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/R.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -22,7 +22,7 @@ return <<'END';
0824
0828
082E 0858
-085C 08FF
+085C 089F
200F
FB1D
FB1F FB28
@@ -36,5 +36,6 @@ FB2A FB4F
10A40 10B38
10B40 10E5F
10E7F 10FFF
-1E800 1EFFF
+1E800 1EDFF
+1EF00 1EFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLE.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLE.pl
index 14e6d90cbc2..d9c73c84b70 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLE.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLE.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLO.pl
index d310f2faa9c..9cfda177c38 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLO.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/RLO.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/S.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/S.pl
index 24e646d8fe1..d8580e79201 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/S.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/S.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/WS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/WS.pl
index 51c744d6289..1f439824d29 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Bc/WS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Bc/WS.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/BidiC/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/BidiC/N.pl
deleted file mode 100644
index e7a8b653d06..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/BidiC/N.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 200D
-2010 2029
-202F 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/BidiC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/BidiC/Y.pl
index 945de45bdc5..c2b842e7eae 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/BidiC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/BidiC/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/BidiM/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/BidiM/N.pl
deleted file mode 100644
index 807d940e997..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/BidiM/N.pl
+++ /dev/null
@@ -1,124 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0027
-002A 003B
-003D
-003F 005A
-005C
-005E 007A
-007C
-007E 00AA
-00AC 00BA
-00BC 0F39
-0F3E 169A
-169D 2038
-203B 2044
-2047 207C
-207F 208C
-208F 213F
-2141 2200
-2205 2207
-220E 2210
-2212 2214
-2217 2219
-221E
-2223
-2225
-2227 222A
-2234 2238
-223A
-224D 2251
-2256 225E
-2261
-2263
-226C 226D
-228D 228E
-2293 2297
-2299 22A1
-22A4 22A5
-22B9 22BD
-22C0 22C8
-22CE 22CF
-22D2 22D5
-22EE 22EF
-2300 2307
-230C 231F
-2322 2328
-232B 2767
-2776 27BF
-27C1 27C2
-27C7
-27CA 27CB
-27CD 27D2
-27D7 27DB
-27DF 27E1
-27F0 2982
-2999 299A
-29B0 29B7
-29B9 29BF
-29C6 29C8
-29CA 29CD
-29D3
-29D6 29D7
-29DD 29E0
-29E2
-29E6 29E7
-29EA 29F3
-29FA 29FB
-29FE 2A09
-2A1D
-2A22 2A23
-2A25
-2A27 2A28
-2A2A
-2A2F 2A33
-2A36 2A3B
-2A3F 2A56
-2A59 2A63
-2A66 2A69
-2A6E
-2A71 2A72
-2A75 2A78
-2AA4 2AA5
-2AAE
-2AD7 2ADB
-2ADD
-2ADF 2AE1
-2AE7 2AEB
-2AEF 2AF2
-2AF4 2AF6
-2AFC
-2AFE 2E01
-2E06 2E08
-2E0B
-2E0E 2E1B
-2E1E 2E1F
-2E2A 3007
-3012 3013
-301C FE58
-FE5F FE63
-FE66 FF07
-FF0A FF1B
-FF1D
-FF1F FF3A
-FF3C
-FF3E FF5A
-FF5C
-FF5E
-FF61
-FF64 1D6DA
-1D6DC 1D714
-1D716 1D74E
-1D750 1D788
-1D78A 1D7C2
-1D7C4 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/BidiM/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/BidiM/Y.pl
index 31ed5890765..6e9b3cd4683 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/BidiM/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/BidiM/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -57,7 +57,7 @@ return <<'END';
27C0
27C3 27C6
27C8 27C9
-27CC
+27CB 27CD
27D3 27D6
27DC 27DE
27E2 27EF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ASCII.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ASCII.pl
index 8a9e8de33c4..03dcec7a30c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ASCII.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ASCII.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AegeanNu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AegeanNu.pl
index ea8f66f4af2..c110b7a3112 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AegeanNu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AegeanNu.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alchemic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alchemic.pl
index 3019c9635be..7d283cc0b97 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alchemic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alchemic.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alphabet.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alphabet.pl
index 2c1c76ee065..2d42f0e3b3b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alphabet.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Alphabet.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ancient2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ancient2.pl
index d1b84154696..0d274e36a01 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ancient2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ancient2.pl
@@ -1,13 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
-1D200 1D24F
+10140 1018F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientG.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientG.pl
index d1736b2b5b1..8b07a022239 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientG.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientG.pl
@@ -1,13 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
-10140 1018F
+1D200 1D24F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientS.pl
index 31b9a314431..60f137ae6e6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/AncientS.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arabic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arabic.pl
index a787132738e..469e07fa5e4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arabic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arabic.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicEx.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicEx.pl
new file mode 100644
index 00000000000..333ecc26b1e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicEx.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+08A0 08FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicMa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicMa.pl
new file mode 100644
index 00000000000..19d3d65621a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicMa.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1EE00 1EEFF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicP2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicP2.pl
index d282f5c1c09..7109d8f81ca 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicP2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicP2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicPF.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicPF.pl
new file mode 100644
index 00000000000..00a1064107a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicPF.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+FB50 FDFF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicPr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicPr.pl
deleted file mode 100644
index a165cb6a0d2..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicPr.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-FB50 FDFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicSu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicSu.pl
index e54126f6b93..30e5d3f5311 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicSu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ArabicSu.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Armenian.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Armenian.pl
index 066ffbe2670..90fd233ccf2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Armenian.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Armenian.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arrows.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arrows.pl
index 76fcd5a1805..eb3ac9ac865 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arrows.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Arrows.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Avestan.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Avestan.pl
index df2501eb9ed..620349db702 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Avestan.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Avestan.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Balinese.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Balinese.pl
index 2d6fe6da845..03ffa25a909 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Balinese.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Balinese.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bamum.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bamum.pl
index 3d6297337ca..39c00a8f46b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bamum.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bamum.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BamumSup.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BamumSup.pl
index 5b7f2975703..5536e3d6689 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BamumSup.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BamumSup.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Batak.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Batak.pl
index 1cc4335d1f7..13b5b29c6ab 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Batak.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Batak.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bengali.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bengali.pl
index 6546fc817e4..2a673b10590 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bengali.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bengali.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BlockEle.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BlockEle.pl
index 5f64684d089..2c8266c5781 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BlockEle.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BlockEle.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomof2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomof2.pl
index 97ec06b0fdb..e6ffc2c6452 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomof2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomof2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomofo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomofo.pl
index 62fc2cc4d93..4db960b8325 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomofo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Bopomofo.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BoxDrawi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BoxDrawi.pl
index 15573b2e000..351d048b93d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BoxDrawi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BoxDrawi.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Brahmi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Brahmi.pl
index 36f3910f8fe..0514ff01c4b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Brahmi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Brahmi.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BrailleP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BrailleP.pl
deleted file mode 100644
index 3ceb9be498d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/BrailleP.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2800 28FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buginese.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buginese.pl
index f87f117dce2..ec52b81aa84 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buginese.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buginese.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buhid.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buhid.pl
index 59bb4ce7aa2..1ef90d5b6dd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buhid.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Buhid.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Byzantin.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Byzantin.pl
index f4f1ba48352..16ada9340d1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Byzantin.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Byzantin.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJK.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJK.pl
new file mode 100644
index 00000000000..f00ec52b1f9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJK.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+4E00 9FFF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp2.pl
index 60f87efbe7f..232d19af177 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp3.pl
index bf66d306ba0..a814218c026 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp3.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp4.pl
index 7a000f9cee2..3c003f238a9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKComp4.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKCompa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKCompa.pl
index 416444533ef..865686fc2d8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKCompa.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKCompa.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtA.pl
new file mode 100644
index 00000000000..4e5507ae907
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtA.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+3400 4DBF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtB.pl
new file mode 100644
index 00000000000..aef5efdcb64
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtB.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+20000 2A6DF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtC.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtC.pl
new file mode 100644
index 00000000000..c94f912d714
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtC.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+2A700 2B73F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtD.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtD.pl
new file mode 100644
index 00000000000..0f6a3dd8481
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKExtD.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+2B740 2B81F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKRadic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKRadic.pl
index 1f2f14ef3d0..b8816957702 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKRadic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKRadic.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKStrok.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKStrok.pl
index 337cc5f10da..2a9e79e4893 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKStrok.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKStrok.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKSymbo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKSymbo.pl
index e2c381df266..f49a2461935 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKSymbo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKSymbo.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif2.pl
deleted file mode 100644
index f356050dd69..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-3400 4DBF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif3.pl
deleted file mode 100644
index 916ea755801..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif3.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-20000 2A6DF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif4.pl
deleted file mode 100644
index fa9812abfe3..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif4.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2A700 2B73F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif5.pl
deleted file mode 100644
index 570d1001451..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnif5.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2B740 2B81F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnifi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnifi.pl
deleted file mode 100644
index 0c3bec64b7e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CJKUnifi.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-4E00 9FFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Canadian.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Canadian.pl
deleted file mode 100644
index 55028a4bc92..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Canadian.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1400 167F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Carian.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Carian.pl
index d68486445cb..42bdb6cb9fd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Carian.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Carian.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Chakma.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Chakma.pl
new file mode 100644
index 00000000000..6d6f6d8469b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Chakma.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+11100 1114F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cham.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cham.pl
index 90ab9cc0b94..848f214b443 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cham.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cham.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cherokee.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cherokee.pl
index f3dbf593b5b..1262d5648b5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cherokee.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cherokee.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini2.pl
deleted file mode 100644
index 24b98d5d830..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-20D0 20FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini3.pl
deleted file mode 100644
index 6b5156c9187..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini3.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0300 036F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini4.pl
deleted file mode 100644
index 6dc94067aad..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combini4.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1DC0 1DFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combinin.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combinin.pl
deleted file mode 100644
index 472499ea2e1..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Combinin.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-FE20 FE2F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CommonIn.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CommonIn.pl
deleted file mode 100644
index 7fdeba3e9be..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CommonIn.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-A830 A83F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CompatJa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CompatJa.pl
new file mode 100644
index 00000000000..14b09a8c430
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CompatJa.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+3130 318F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ControlP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ControlP.pl
index b7a80d5166c..765ca5eaf47 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ControlP.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/ControlP.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Coptic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Coptic.pl
index 3f212ab6b64..dcf3c99d19d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Coptic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Coptic.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Counting.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Counting.pl
index 66f99719902..997f89f3339 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Counting.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Counting.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifo2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifo2.pl
index 202a20b9560..61d41b4ad19 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifo2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifo2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifor.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifor.pl
index 52f25eea193..c41f8e92cff 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifor.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cuneifor.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Currency.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Currency.pl
index 5185f724843..1760d3835b1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Currency.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Currency.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CypriotS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CypriotS.pl
index 6e8f3c5d28a..8ee92354920 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CypriotS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/CypriotS.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli2.pl
index 6941dedf1f1..3290dbc94c8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli2.pl
@@ -1,13 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
-2DE0 2DFF
+0500 052F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli3.pl
index eb6feb24c31..917dcf5d687 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli3.pl
@@ -1,13 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
-A640 A69F
+2DE0 2DFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli4.pl
index 3cf35fdd88d..a59cc4535f4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrilli4.pl
@@ -1,13 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
-0500 052F
+A640 A69F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrillic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrillic.pl
index ee3020d4517..89031fc7d4b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrillic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Cyrillic.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Deseret.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Deseret.pl
deleted file mode 100644
index b94842f2dee..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Deseret.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-10400 1044F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanag2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanag2.pl
index 0bd3132b3e9..1c3932e9b2f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanag2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanag2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanaga.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanaga.pl
index 5b9e2e9868b..061af8130f3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanaga.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Devanaga.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacrit2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacrit2.pl
new file mode 100644
index 00000000000..8b96d97cab2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacrit2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1DC0 1DFF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacrit3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacrit3.pl
new file mode 100644
index 00000000000..48ff961a780
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacrit3.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+20D0 20FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacriti.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacriti.pl
new file mode 100644
index 00000000000..b77b0a98e9e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Diacriti.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0300 036F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Dingbats.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Dingbats.pl
index f5ca32f39aa..0adb5d5de2d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Dingbats.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Dingbats.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Domino.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Domino.pl
new file mode 100644
index 00000000000..0fd36f3a23f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Domino.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1F030 1F09F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/DominoTi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/DominoTi.pl
deleted file mode 100644
index 999ae605c2c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/DominoTi.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1F030 1F09F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Egyptian.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Egyptian.pl
index 9442f6fc069..ba657db3202 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Egyptian.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Egyptian.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Emoticon.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Emoticon.pl
index 10a243c9cbf..5977f4fa492 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Emoticon.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Emoticon.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose2.pl
index 1ec110e4543..314a5ed93ba 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose2.pl
@@ -1,13 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
-3200 32FF
+2460 24FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose3.pl
index f590cb9bb9c..02ba2ff0ad3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose3.pl
@@ -1,13 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
-1F200 1F2FF
+1F100 1F1FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose4.pl
index 2e430f3c8f4..bc69b2642b5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclose4.pl
@@ -1,13 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
-1F100 1F1FF
+1F200 1F2FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclosed.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclosed.pl
index 8423aeadf60..efa8f087d07 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclosed.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Enclosed.pl
@@ -1,13 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
-2460 24FF
+3200 32FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi2.pl
index cb44a9c4ead..a9cbf0b2194 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi3.pl
index 4bf40bc6ab8..53c4bd00a17 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi3.pl
@@ -1,13 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
-AB00 AB2F
+1380 139F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi4.pl
index 4fd7bb63ec8..845862c2bf5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopi4.pl
@@ -1,13 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
-1380 139F
+AB00 AB2F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopic.pl
index 06a556651c8..1a025b87104 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ethiopic.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/GeneralP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/GeneralP.pl
deleted file mode 100644
index affe85ae11a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/GeneralP.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2000 206F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Geometri.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Geometri.pl
index cd41bfc5c69..cbbff61f44f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Geometri.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Geometri.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgia2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgia2.pl
index f91f6dfe0d7..21eb0bd857a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgia2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgia2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgian.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgian.pl
index 6c89fbe3c4a..6016b317104 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgian.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Georgian.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Glagolit.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Glagolit.pl
index f5c1a2c64f4..a650a14ca1d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Glagolit.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Glagolit.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gothic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gothic.pl
index 38c52d29a6d..61a76be1a03 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gothic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gothic.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Greek.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Greek.pl
index 745a8cd5cbd..6e702cfaa2c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Greek.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Greek.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/GreekExt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/GreekExt.pl
index 614100611bf..7941dad809f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/GreekExt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/GreekExt.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gujarati.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gujarati.pl
index ccf3a337a6d..7636e68a682 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gujarati.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gujarati.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gurmukhi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gurmukhi.pl
index f41c2788592..04a32f82410 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gurmukhi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Gurmukhi.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HalfAndF.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HalfAndF.pl
new file mode 100644
index 00000000000..747275159ee
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HalfAndF.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+FF00 FFEF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HalfMark.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HalfMark.pl
new file mode 100644
index 00000000000..bee1fa49611
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HalfMark.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+FE20 FE2F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Halfwidt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Halfwidt.pl
deleted file mode 100644
index 3c66757652e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Halfwidt.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-FF00 FFEF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hangul.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hangul.pl
new file mode 100644
index 00000000000..dec58bfb487
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hangul.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+AC00 D7AF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulCo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulCo.pl
deleted file mode 100644
index b78b78d98c2..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulCo.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-3130 318F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJ2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJ2.pl
deleted file mode 100644
index 4baa56eb3cd..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJ2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-A960 A97F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJ3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJ3.pl
deleted file mode 100644
index 904131228b0..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJ3.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-D7B0 D7FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJa.pl
deleted file mode 100644
index 82a347a87ed..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulJa.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1100 11FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulSy.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulSy.pl
deleted file mode 100644
index 2305c4c4e35..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HangulSy.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-AC00 D7AF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hanunoo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hanunoo.pl
index 37d2357cee4..6df24cebe1c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hanunoo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hanunoo.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hebrew.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hebrew.pl
index 8ad36433485..8958e70a3f2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hebrew.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hebrew.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighPUSu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighPUSu.pl
new file mode 100644
index 00000000000..9dcc52fac5b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighPUSu.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+DB80 DBFF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighPriv.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighPriv.pl
deleted file mode 100644
index 2b48e11b60d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighPriv.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-DB80 DBFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighSurr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighSurr.pl
index 1c7c25e0bd3..b16e8bec309 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighSurr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/HighSurr.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hiragana.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hiragana.pl
index 86511d56242..c0eed45f7dc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hiragana.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Hiragana.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IDC.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IDC.pl
new file mode 100644
index 00000000000..b1fe659c2bb
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IDC.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+2FF0 2FFF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IPAExt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IPAExt.pl
new file mode 100644
index 00000000000..c893faf29ae
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IPAExt.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0250 02AF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IPAExten.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IPAExten.pl
deleted file mode 100644
index ef2dcb13107..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IPAExten.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0250 02AF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ideograp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ideograp.pl
deleted file mode 100644
index 276e632e99a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ideograp.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2FF0 2FFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Imperial.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Imperial.pl
index d1858484834..6cdd6089ef4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Imperial.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Imperial.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IndicNum.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IndicNum.pl
new file mode 100644
index 00000000000..c53e71c1fb2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/IndicNum.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+A830 A83F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscrip2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscrip2.pl
index f7a5f7c885b..9a1f2c76816 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscrip2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscrip2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscript.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscript.pl
index 3c53d87b2f1..3a57bb26ee8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscript.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Inscript.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Jamo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Jamo.pl
new file mode 100644
index 00000000000..82ec56938fb
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Jamo.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1100 11FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/JamoExtA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/JamoExtA.pl
new file mode 100644
index 00000000000..3ce798c7039
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/JamoExtA.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+A960 A97F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/JamoExtB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/JamoExtB.pl
new file mode 100644
index 00000000000..52a675209ba
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/JamoExtB.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+D7B0 D7FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Javanese.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Javanese.pl
index 7812c96efb3..54628633b07 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Javanese.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Javanese.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kaithi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kaithi.pl
index 6e53c05b3b0..f21d4b677dc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kaithi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kaithi.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KanaSup.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KanaSup.pl
new file mode 100644
index 00000000000..094234894ff
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KanaSup.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1B000 1B0FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KanaSupp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KanaSupp.pl
deleted file mode 100644
index 070c30c92a8..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KanaSupp.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1B000 1B0FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kanbun.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kanbun.pl
index de9655c5595..3e81adffefb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kanbun.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kanbun.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kangxi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kangxi.pl
new file mode 100644
index 00000000000..d7e396c8a9f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kangxi.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+2F00 2FDF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KangxiRa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KangxiRa.pl
deleted file mode 100644
index 3c233a0f7e8..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KangxiRa.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2F00 2FDF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kannada.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kannada.pl
index 30cf8b9604f..5f7bb490716 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kannada.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kannada.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakan2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakan2.pl
index 3ba758ba620..ed8c3af8a02 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakan2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakan2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakana.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakana.pl
index 51cfca8700c..5cbb6f986e8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakana.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Katakana.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KayahLi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KayahLi.pl
deleted file mode 100644
index 22b4ae2b283..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KayahLi.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-A900 A92F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kharosht.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kharosht.pl
index 0053e3884eb..c5bde1c1e1a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kharosht.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Kharosht.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Khmer.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Khmer.pl
index 6d88e873531..96c9632ab6e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Khmer.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Khmer.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KhmerSym.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KhmerSym.pl
index f4ed4089ec0..84a31e66c8e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KhmerSym.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/KhmerSym.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lao.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lao.pl
index c098d85889f..4a5d590c9ca 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lao.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lao.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Latin1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Latin1.pl
index b5209ef100e..e087658bd25 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Latin1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Latin1.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx2.pl
index b1582712b9d..2b306051a2a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx3.pl
index a6b0c2088cc..36d71ab9711 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx3.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx4.pl
index e44dac569df..1b948cb5268 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx4.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx5.pl
index c285bb8f78a..887c1fcee4e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx5.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinEx5.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinExt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinExt.pl
index ea15a06311e..c234637f153 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinExt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LatinExt.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lepcha.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lepcha.pl
index 8054bc3f351..aefed4a5ce4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lepcha.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lepcha.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Letterli.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Letterli.pl
index f39b1a3e19d..b755fece011 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Letterli.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Letterli.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Limbu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Limbu.pl
index 338d5b4cead..1f29054b793 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Limbu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Limbu.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBI.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBI.pl
index 18d7d7410d1..e67cf1f6101 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBI.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBI.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBS.pl
index 7e3b27e2415..82f0ddb0fa3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LinearBS.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lisu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lisu.pl
deleted file mode 100644
index 37aa8a4b9f4..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lisu.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-A4D0 A4FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LowSurro.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LowSurro.pl
index bf8e919d066..6698e58d903 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LowSurro.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/LowSurro.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lycian.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lycian.pl
index 595c05b5f7b..14069c4443b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lycian.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lycian.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lydian.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lydian.pl
index e526118e89a..8432e6424a8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lydian.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Lydian.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mahjong.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mahjong.pl
new file mode 100644
index 00000000000..9c41ded0aab
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mahjong.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1F000 1F02F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MahjongT.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MahjongT.pl
deleted file mode 100644
index 36589a401c2..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MahjongT.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1F000 1F02F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Malayala.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Malayala.pl
index f266ecc783a..56df6b4ee7d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Malayala.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Malayala.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mandaic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mandaic.pl
index db77c3f364b..57f5943977a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mandaic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mandaic.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MathAlph.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MathAlph.pl
new file mode 100644
index 00000000000..3f39df20101
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MathAlph.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1D400 1D7FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MathOper.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MathOper.pl
new file mode 100644
index 00000000000..fa55a1901d5
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MathOper.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+2200 22FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mathema2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mathema2.pl
deleted file mode 100644
index b15ed52d5dd..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mathema2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1D400 1D7FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mathemat.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mathemat.pl
deleted file mode 100644
index 062d9eece72..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mathemat.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2200 22FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiM2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiM2.pl
new file mode 100644
index 00000000000..a2342a7434e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiM2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+AAE0 AAFF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiMa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiMa.pl
index dd073d2cef7..2a15cc9a6ab 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiMa.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MeeteiMa.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Meroitic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Meroitic.pl
new file mode 100644
index 00000000000..e510cdee60a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Meroitic.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+109A0 109FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miao.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miao.pl
new file mode 100644
index 00000000000..5a30dc33502
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miao.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+16F00 16F9F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscArro.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscArro.pl
new file mode 100644
index 00000000000..3536ffe2419
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscArro.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+2B00 2BFF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscMat2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscMat2.pl
new file mode 100644
index 00000000000..1529d8191c0
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscMat2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+2980 29FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscMath.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscMath.pl
new file mode 100644
index 00000000000..b7b264f4609
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscMath.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+27C0 27EF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscPict.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscPict.pl
new file mode 100644
index 00000000000..2e670f9a2a8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscPict.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1F300 1F5FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscSymb.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscSymb.pl
new file mode 100644
index 00000000000..11dfb1837ad
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscSymb.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+2600 26FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscTech.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscTech.pl
new file mode 100644
index 00000000000..01defb3f354
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MiscTech.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+2300 23FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell2.pl
deleted file mode 100644
index 44de5c56be6..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2300 23FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell3.pl
deleted file mode 100644
index 98a41f658e9..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell3.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2B00 2BFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell4.pl
deleted file mode 100644
index a11a43838f5..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell4.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-27C0 27EF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell5.pl
deleted file mode 100644
index 18898aea081..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell5.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2980 29FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell6.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell6.pl
deleted file mode 100644
index 7932c17341d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscell6.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1F300 1F5FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscella.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscella.pl
deleted file mode 100644
index c7856b6d57b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Miscella.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2600 26FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifie2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifie2.pl
new file mode 100644
index 00000000000..5a2b898d876
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifie2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+A700 A71F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifier.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifier.pl
index fb4363e4901..a585b584aa9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifier.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Modifier.pl
@@ -1,13 +1,13 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
-A700 A71F
+02B0 02FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mongolia.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mongolia.pl
index 7e3f2abffee..6a88c70e8c4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mongolia.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Mongolia.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Music.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Music.pl
new file mode 100644
index 00000000000..56c0fbb96a1
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Music.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1D100 1D1FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MusicalS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MusicalS.pl
deleted file mode 100644
index 17733b1da06..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MusicalS.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1D100 1D1FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Myanmar.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Myanmar.pl
index fa45af957cf..2b9f88e0896 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Myanmar.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Myanmar.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MyanmarE.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MyanmarE.pl
index 19c5be07da4..a5391fce3ef 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MyanmarE.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/MyanmarE.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NoBlock.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NB.pl
index c0195c7f639..71ccfa3f314 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NoBlock.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NB.pl
@@ -1,20 +1,19 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
-0860 08FF
+0860 089F
1AB0 1AFF
-1C80 1CCF
+1C80 1CBF
2FE0 2FEF
A9E0 A9FF
-AAE0 AAFF
AB30 ABBF
10200 1027F
102E0 102FF
@@ -22,19 +21,23 @@ AB30 ABBF
103E0 103FF
104B0 107FF
10860 108FF
-10940 109FF
+10940 1097F
10A80 10AFF
10B80 10BFF
10C50 10E5F
10E80 10FFF
-110D0 11FFF
+11150 1117F
+111E0 1167F
+116D0 11FFF
12480 12FFF
13430 167FF
-16A40 1AFFF
+16A40 16EFF
+16FA0 1AFFF
1B100 1CFFF
1D250 1D2FF
1D380 1D3FF
-1D800 1EFFF
+1D800 1EDFF
+1EF00 1EFFF
1F650 1F67F
1F780 1FFFF
2A6E0 2A6FF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NKo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NKo.pl
index 9d49d1068f4..4f1213660fd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NKo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NKo.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NewTaiLu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NewTaiLu.pl
index 75161fa1398..a67fb2c61d2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NewTaiLu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NewTaiLu.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NumberFo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NumberFo.pl
index 4821a85e32d..99d91217214 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NumberFo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/NumberFo.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OCR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OCR.pl
new file mode 100644
index 00000000000..837afad6393
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OCR.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+2440 245F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ogham.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ogham.pl
index d81f2605fa5..5f1080c7f7b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ogham.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ogham.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OlChiki.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OlChiki.pl
deleted file mode 100644
index c655ac74a3b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OlChiki.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1C50 1C7F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldItali.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldItali.pl
index 99675aac6e1..920e4b14f95 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldItali.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldItali.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldPersi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldPersi.pl
index cce63d89725..f61de745c9e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldPersi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldPersi.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldSouth.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldSouth.pl
deleted file mode 100644
index 6e891b4cf0c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldSouth.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-10A60 10A7F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldTurki.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldTurki.pl
index a57cc049b55..d928a4b81ca 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldTurki.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OldTurki.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OpticalC.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OpticalC.pl
deleted file mode 100644
index 59e04988f68..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/OpticalC.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2440 245F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Oriya.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Oriya.pl
index 59ed6a3f445..ed55edbb798 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Oriya.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Oriya.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Osmanya.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Osmanya.pl
index 2d8ca14e9e7..662911d35fc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Osmanya.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Osmanya.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PUA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PUA.pl
new file mode 100644
index 00000000000..1b0943574fe
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PUA.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+E000 F8FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PhagsPa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PhagsPa.pl
index 83c240c542d..2f03c2eff4e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PhagsPa.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PhagsPa.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phaistos.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phaistos.pl
index d2c89680175..805ad55f500 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phaistos.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phaistos.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoenici.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoenici.pl
index a181df41163..b9e0abe373a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoenici.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoenici.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoneti2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoneti2.pl
index d4fb4f1321e..83cd76fb6d9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoneti2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phoneti2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phonetic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phonetic.pl
index 1b4ef343aae..216248712e4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phonetic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Phonetic.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PlayingC.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PlayingC.pl
index 77b55cca6ee..4d329ccea53 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PlayingC.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PlayingC.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PrivateU.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PrivateU.pl
deleted file mode 100644
index 170f5f64d9d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/PrivateU.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-E000 F8FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Punctuat.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Punctuat.pl
new file mode 100644
index 00000000000..144f2ae2446
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Punctuat.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+2000 206F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rejang.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rejang.pl
index 36a31cd889f..7273edb0850 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rejang.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rejang.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rumi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rumi.pl
new file mode 100644
index 00000000000..97822fbb320
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Rumi.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+10E60 10E7F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/RumiNume.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/RumiNume.pl
deleted file mode 100644
index 0b7e2a53a0d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/RumiNume.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-10E60 10E7F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Runic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Runic.pl
index 34b5f56fa00..aeb8ebb3983 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Runic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Runic.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Samarita.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Samarita.pl
index f6ac054a685..5dc9236407a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Samarita.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Samarita.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Saurasht.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Saurasht.pl
index 725ccf33810..e4ba03d6c91 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Saurasht.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Saurasht.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sharada.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sharada.pl
new file mode 100644
index 00000000000..9629c2134e9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sharada.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+11180 111DF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Shavian.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Shavian.pl
deleted file mode 100644
index 22c0e8d3791..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Shavian.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-10450 1047F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sinhala.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sinhala.pl
index 1b945e56362..f0cfb654801 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sinhala.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sinhala.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SmallFor.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SmallFor.pl
index 9ec2868c834..3df1a95b464 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SmallFor.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SmallFor.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SoraSomp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SoraSomp.pl
new file mode 100644
index 00000000000..4eef5aaab60
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SoraSomp.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+110D0 110FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SpacingM.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SpacingM.pl
deleted file mode 100644
index 4c0fc60f351..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SpacingM.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-02B0 02FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Specials.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Specials.pl
index 6f964eecef4..46d807e30ce 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Specials.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Specials.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundane2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundane2.pl
new file mode 100644
index 00000000000..7a15d00f006
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundane2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1CC0 1CCF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundanes.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundanes.pl
index 74c1838390f..c76b39545cf 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundanes.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Sundanes.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupArro2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupArro2.pl
new file mode 100644
index 00000000000..f377732c9ac
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupArro2.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+2900 297F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupArrow.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupArrow.pl
new file mode 100644
index 00000000000..d275684520e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupArrow.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+27F0 27FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupMathO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupMathO.pl
new file mode 100644
index 00000000000..03c7d71ee13
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupMathO.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+2A00 2AFF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPUAA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPUAA.pl
new file mode 100644
index 00000000000..ba54e046369
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPUAA.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+F0000 FFFFF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPUAB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPUAB.pl
new file mode 100644
index 00000000000..ee1b2fc46a3
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPUAB.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+100000 10FFFF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPunct.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPunct.pl
new file mode 100644
index 00000000000..49bdacce3c9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SupPunct.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+2E00 2E7F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SuperAnd.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SuperAnd.pl
new file mode 100644
index 00000000000..17dd27cc470
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SuperAnd.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+2070 209F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Superscr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Superscr.pl
deleted file mode 100644
index 3fad6f437f7..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Superscr.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2070 209F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem2.pl
deleted file mode 100644
index f4f48ef3bbe..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2900 297F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem3.pl
deleted file mode 100644
index be5ababb886..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem3.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2E00 2E7F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem4.pl
deleted file mode 100644
index 8ec71243a4c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem4.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-F0000 FFFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem5.pl
deleted file mode 100644
index ddcf688869f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem5.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-100000 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem6.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem6.pl
deleted file mode 100644
index 7529141a54c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Supplem6.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2A00 2AFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Suppleme.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Suppleme.pl
deleted file mode 100644
index d3a6c9b6e7f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Suppleme.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-27F0 27FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SylotiNa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SylotiNa.pl
index 2ea53776d25..44c1dba2fea 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SylotiNa.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/SylotiNa.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Syriac.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Syriac.pl
index 951e1f051b4..c0613266551 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Syriac.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Syriac.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagalog.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagalog.pl
index 409ce6ab09d..b339079b652 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagalog.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagalog.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagbanwa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagbanwa.pl
index 41f087fb77d..7926e0c0635 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagbanwa.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tagbanwa.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tags.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tags.pl
index e377567804e..e3993a7d04a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tags.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tags.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiLe.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiLe.pl
index dca0873f90b..2a5c8e271f7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiLe.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiLe.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiTham.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiTham.pl
index 2bbec0bb9bb..72285e5e366 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiTham.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiTham.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiViet.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiViet.pl
index fd0025cd164..3d76863f911 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiViet.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiViet.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiXuanJ.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiXuanJ.pl
index 28400adab98..1ae23bee77c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiXuanJ.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/TaiXuanJ.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Takri.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Takri.pl
new file mode 100644
index 00000000000..37cf3c3f950
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Takri.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+11680 116CF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tamil.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tamil.pl
index 2a5391b4b6f..084991219e1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tamil.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tamil.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Telugu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Telugu.pl
index ac3a301d315..600d03cdeb0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Telugu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Telugu.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thaana.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thaana.pl
index f7d5ba85376..21e7640ef08 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thaana.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thaana.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thai.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thai.pl
index 8d3975fc992..accae146a50 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thai.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Thai.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tibetan.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tibetan.pl
index ac0ac6a66e8..5e7d2b1e7bc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tibetan.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tibetan.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tifinagh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tifinagh.pl
index 6fca504040e..c35108c9b9b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tifinagh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Tifinagh.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Transpor.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Transpor.pl
index a3d08f2f931..04cbe3f315a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Transpor.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Transpor.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/UCAS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/UCAS.pl
new file mode 100644
index 00000000000..f7347898948
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/UCAS.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1400 167F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/UCASExt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/UCASExt.pl
new file mode 100644
index 00000000000..c18d804d49f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/UCASExt.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+18B0 18FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ugaritic.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ugaritic.pl
index 4bc6e8e31a0..0c3eed5c175 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ugaritic.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Ugaritic.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/UnifiedC.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/UnifiedC.pl
deleted file mode 100644
index a1a71a0a248..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/UnifiedC.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-18B0 18FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VS.pl
new file mode 100644
index 00000000000..cfb7b509c3a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VS.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+FE00 FE0F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VSSup.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VSSup.pl
new file mode 100644
index 00000000000..ccd977c7d54
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VSSup.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+E0100 E01EF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vai.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vai.pl
index 6d22635408f..32640e0e1bb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vai.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vai.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Variati2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Variati2.pl
deleted file mode 100644
index d547e87fc00..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Variati2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-E0100 E01EF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Variatio.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Variatio.pl
deleted file mode 100644
index 3496b1a868f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Variatio.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-FE00 FE0F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VedicExt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VedicExt.pl
index 7e2bb6bbb0e..a4627105ccd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VedicExt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/VedicExt.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vertical.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vertical.pl
index 4006ce83367..2920897a7b7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vertical.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Vertical.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiRadica.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiRadica.pl
index ec897ecd9da..25324f8a295 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiRadica.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiRadica.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiSyllab.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiSyllab.pl
index b12afb6cea8..5275f998024 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiSyllab.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YiSyllab.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Yijing.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Yijing.pl
new file mode 100644
index 00000000000..960602945bf
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/Yijing.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+4DC0 4DFF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YijingHe.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YijingHe.pl
deleted file mode 100644
index 466173f35d5..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Blk/YijingHe.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-4DC0 4DFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CE/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CE/N.pl
deleted file mode 100644
index ae1c3ee9b2f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CE/N.pl
+++ /dev/null
@@ -1,46 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0957
-0960 09DB
-09DE
-09E0 0A32
-0A34 0A35
-0A37 0A58
-0A5C 0A5D
-0A5F 0B5B
-0B5E 0F42
-0F44 0F4C
-0F4E 0F51
-0F53 0F56
-0F58 0F5B
-0F5D 0F68
-0F6A 0F75
-0F77
-0F79 0F92
-0F94 0F9C
-0F9E 0FA1
-0FA3 0FA6
-0FA8 0FAB
-0FAD 0FB8
-0FBA 2ADB
-2ADD FB1C
-FB1E
-FB20 FB29
-FB37
-FB3D
-FB3F
-FB42
-FB45
-FB4F 1D15D
-1D165 1D1BA
-1D1C1 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CE/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CE/Y.pl
index 5b876a3a2df..31e27746b8d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CE/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CE/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CI/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CI/N.pl
deleted file mode 100644
index d3cb90579f9..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CI/N.pl
+++ /dev/null
@@ -1,290 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0026
-0028 002D
-002F 0039
-003B 005D
-005F
-0061 00A7
-00A9 00AC
-00AE
-00B0 00B3
-00B5 00B6
-00B9 02AF
-0370 0373
-0376 0379
-037B 0383
-0386
-0388 0482
-048A 0558
-055A 0590
-05BE
-05C0
-05C3
-05C6
-05C8 05F3
-05F5 05FF
-0604 060F
-061B 063F
-0641 064A
-0660 066F
-0671 06D5
-06DE
-06E9
-06EE 070E
-0710
-0712 072F
-074B 07A5
-07B1 07EA
-07F6 07F9
-07FB 0815
-082E 0858
-085C 08FF
-0903 0939
-093B
-093D 0940
-0949 094C
-094E 0950
-0958 0961
-0964 0970
-0972 0980
-0982 09BB
-09BD 09C0
-09C5 09CC
-09CE 09E1
-09E4 0A00
-0A03 0A3B
-0A3D 0A40
-0A43 0A46
-0A49 0A4A
-0A4E 0A50
-0A52 0A6F
-0A72 0A74
-0A76 0A80
-0A83 0ABB
-0ABD 0AC0
-0AC6
-0AC9 0ACC
-0ACE 0AE1
-0AE4 0B00
-0B02 0B3B
-0B3D 0B3E
-0B40
-0B45 0B4C
-0B4E 0B55
-0B57 0B61
-0B64 0B81
-0B83 0BBF
-0BC1 0BCC
-0BCE 0C3D
-0C41 0C45
-0C49
-0C4E 0C54
-0C57 0C61
-0C64 0CBB
-0CBD 0CBE
-0CC0 0CC5
-0CC7 0CCB
-0CCE 0CE1
-0CE4 0D40
-0D45 0D4C
-0D4E 0D61
-0D64 0DC9
-0DCB 0DD1
-0DD5
-0DD7 0E30
-0E32 0E33
-0E3B 0E45
-0E4F 0EB0
-0EB2 0EB3
-0EBA
-0EBD 0EC5
-0EC7
-0ECE 0F17
-0F1A 0F34
-0F36
-0F38
-0F3A 0F70
-0F7F
-0F85
-0F88 0F8C
-0F98
-0FBD 0FC5
-0FC7 102C
-1031
-1038
-103B 103C
-103F 1057
-105A 105D
-1061 1070
-1075 1081
-1083 1084
-1087 108C
-108E 109C
-109E 10FB
-10FD 135C
-1360 1711
-1715 1731
-1735 1751
-1754 1771
-1774 17B3
-17B6
-17BE 17C5
-17C7 17C8
-17D4 17D6
-17D8 17DC
-17DE 180A
-180E 1842
-1844 18A8
-18AA 191F
-1923 1926
-1929 1931
-1933 1938
-193C 1A16
-1A19 1A55
-1A57
-1A5F
-1A61
-1A63 1A64
-1A6D 1A72
-1A7D 1A7E
-1A80 1AA6
-1AA8 1AFF
-1B04 1B33
-1B35
-1B3B
-1B3D 1B41
-1B43 1B6A
-1B74 1B7F
-1B82 1BA1
-1BA6 1BA7
-1BAA 1BE5
-1BE7
-1BEA 1BEC
-1BEE
-1BF2 1C2B
-1C34 1C35
-1C38 1C77
-1C7E 1CCF
-1CD3
-1CE1
-1CE9 1CEC
-1CEE 1D2B
-1D62 1D77
-1D79 1D9A
-1DE7 1DFB
-1E00 1FBC
-1FBE
-1FC2 1FCC
-1FD0 1FDC
-1FE0 1FEC
-1FF0 1FFC
-1FFF 200A
-2010 2017
-201A 2023
-2025 2026
-2028 2029
-202F 205F
-2065 2069
-2070
-2072 207E
-2080 208F
-209D 20CF
-20F1 2C7C
-2C7E 2CEE
-2CF2 2D6E
-2D70 2D7E
-2D80 2DDF
-2E00 2E2E
-2E30 3004
-3006 3029
-3030
-3036 303A
-303C 3098
-309F 30FB
-30FF A014
-A016 A4F7
-A4FE A60B
-A60D A66E
-A673 A67B
-A67E
-A680 A6EF
-A6F2 A6FF
-A722 A76F
-A771 A787
-A78B A801
-A803 A805
-A807 A80A
-A80C A824
-A827 A8C3
-A8C5 A8DF
-A8F2 A925
-A92E A946
-A952 A97F
-A983 A9B2
-A9B4 A9B5
-A9BA A9BB
-A9BD A9CE
-A9D0 AA28
-AA2F AA30
-AA33 AA34
-AA37 AA42
-AA44 AA4B
-AA4D AA6F
-AA71 AAAF
-AAB1
-AAB5 AAB6
-AAB9 AABD
-AAC0
-AAC2 AADC
-AADE ABE4
-ABE6 ABE7
-ABE9 ABEC
-ABEE FB1D
-FB1F FBB1
-FBC2 FDFF
-FE10 FE12
-FE14 FE1F
-FE27 FE51
-FE53 FE54
-FE56 FEFE
-FF00 FF06
-FF08 FF0D
-FF0F FF19
-FF1B FF3D
-FF3F
-FF41 FF6F
-FF71 FF9D
-FFA0 FFE2
-FFE4 FFF8
-FFFC 101FC
-101FE 10A00
-10A04
-10A07 10A0B
-10A10 10A37
-10A3B 10A3E
-10A40 11000
-11002 11037
-11047 1107F
-11082 110B2
-110B7 110B8
-110BB 110BC
-110BE 1D166
-1D16A 1D172
-1D183 1D184
-1D18C 1D1A9
-1D1AE 1D241
-1D245 E0000
-E0002 E001F
-E0080 E00FF
-E01F0 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CI/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CI/Y.pl
index 3f58d9670f8..4f3f434b276 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CI/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CI/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -32,7 +32,7 @@ return <<'END';
05C4 05C5
05C7
05F4
-0600 0603
+0600 0604
0610 061A
0640
064B 065F
@@ -48,6 +48,7 @@ return <<'END';
07FA
0816 082D
0859 085B
+08E4 08FE
0900 0902
093A
093C
@@ -167,6 +168,7 @@ return <<'END';
1B80 1B81
1BA2 1BA5
1BA8 1BA9
+1BAB
1BE6
1BE8 1BE9
1BED
@@ -178,7 +180,8 @@ return <<'END';
1CD4 1CE0
1CE2 1CE8
1CED
-1D2C 1D61
+1CF4
+1D2C 1D6A
1D78
1D9B 1DE6
1DFC 1DFF
@@ -199,14 +202,14 @@ return <<'END';
207F
2090 209C
20D0 20F0
-2C7D
+2C7C 2C7D
2CEF 2CF1
2D6F
2D7F
2DE0 2DFF
2E2F
3005
-302A 302F
+302A 302D
3031 3035
303B
3099 309E
@@ -215,12 +218,14 @@ A015
A4F8 A4FD
A60C
A66F A672
-A67C A67D
+A674 A67D
A67F
+A69F
A6F0 A6F1
A700 A721
A770
A788 A78A
+A7F8 A7F9
A802
A806
A80B
@@ -246,6 +251,9 @@ AAB7 AAB8
AABE AABF
AAC1
AADD
+AAEC AAED
+AAF3 AAF4
+AAF6
ABE5
ABE8
ABED
@@ -278,6 +286,16 @@ FFF9 FFFB
110B3 110B6
110B9 110BA
110BD
+11100 11102
+11127 1112B
+1112D 11134
+11180 11181
+111B6 111BE
+116AB
+116AD
+116B0 116B5
+116B7
+16F8F 16F9F
1D167 1D169
1D173 1D182
1D185 1D18B
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWCF/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWCF/N.pl
deleted file mode 100644
index bca55cd28e0..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWCF/N.pl
+++ /dev/null
@@ -1,590 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0040
-005B 00B4
-00B6 00BF
-00D7
-00E0 00FF
-0101
-0103
-0105
-0107
-0109
-010B
-010D
-010F
-0111
-0113
-0115
-0117
-0119
-011B
-011D
-011F
-0121
-0123
-0125
-0127
-0129
-012B
-012D
-012F
-0131
-0133
-0135
-0137 0138
-013A
-013C
-013E
-0140
-0142
-0144
-0146
-0148
-014B
-014D
-014F
-0151
-0153
-0155
-0157
-0159
-015B
-015D
-015F
-0161
-0163
-0165
-0167
-0169
-016B
-016D
-016F
-0171
-0173
-0175
-0177
-017A
-017C
-017E
-0180
-0183
-0185
-0188
-018C 018D
-0192
-0195
-0199 019B
-019E
-01A1
-01A3
-01A5
-01A8
-01AA 01AB
-01AD
-01B0
-01B4
-01B6
-01B9 01BB
-01BD 01C3
-01C6
-01C9
-01CC
-01CE
-01D0
-01D2
-01D4
-01D6
-01D8
-01DA
-01DC 01DD
-01DF
-01E1
-01E3
-01E5
-01E7
-01E9
-01EB
-01ED
-01EF 01F0
-01F3
-01F5
-01F9
-01FB
-01FD
-01FF
-0201
-0203
-0205
-0207
-0209
-020B
-020D
-020F
-0211
-0213
-0215
-0217
-0219
-021B
-021D
-021F
-0221
-0223
-0225
-0227
-0229
-022B
-022D
-022F
-0231
-0233 0239
-023C
-023F 0240
-0242
-0247
-0249
-024B
-024D
-024F 0344
-0346 036F
-0371
-0373 0375
-0377 0385
-0387
-038B
-038D
-0390
-03A2
-03AC 03C1
-03C3 03CE
-03D2 03D4
-03D7
-03D9
-03DB
-03DD
-03DF
-03E1
-03E3
-03E5
-03E7
-03E9
-03EB
-03ED
-03EF
-03F2 03F3
-03F6
-03F8
-03FB 03FC
-0430 045F
-0461
-0463
-0465
-0467
-0469
-046B
-046D
-046F
-0471
-0473
-0475
-0477
-0479
-047B
-047D
-047F
-0481 0489
-048B
-048D
-048F
-0491
-0493
-0495
-0497
-0499
-049B
-049D
-049F
-04A1
-04A3
-04A5
-04A7
-04A9
-04AB
-04AD
-04AF
-04B1
-04B3
-04B5
-04B7
-04B9
-04BB
-04BD
-04BF
-04C2
-04C4
-04C6
-04C8
-04CA
-04CC
-04CE 04CF
-04D1
-04D3
-04D5
-04D7
-04D9
-04DB
-04DD
-04DF
-04E1
-04E3
-04E5
-04E7
-04E9
-04EB
-04ED
-04EF
-04F1
-04F3
-04F5
-04F7
-04F9
-04FB
-04FD
-04FF
-0501
-0503
-0505
-0507
-0509
-050B
-050D
-050F
-0511
-0513
-0515
-0517
-0519
-051B
-051D
-051F
-0521
-0523
-0525
-0527 0530
-0557 0586
-0588 109F
-10C6 1DFF
-1E01
-1E03
-1E05
-1E07
-1E09
-1E0B
-1E0D
-1E0F
-1E11
-1E13
-1E15
-1E17
-1E19
-1E1B
-1E1D
-1E1F
-1E21
-1E23
-1E25
-1E27
-1E29
-1E2B
-1E2D
-1E2F
-1E31
-1E33
-1E35
-1E37
-1E39
-1E3B
-1E3D
-1E3F
-1E41
-1E43
-1E45
-1E47
-1E49
-1E4B
-1E4D
-1E4F
-1E51
-1E53
-1E55
-1E57
-1E59
-1E5B
-1E5D
-1E5F
-1E61
-1E63
-1E65
-1E67
-1E69
-1E6B
-1E6D
-1E6F
-1E71
-1E73
-1E75
-1E77
-1E79
-1E7B
-1E7D
-1E7F
-1E81
-1E83
-1E85
-1E87
-1E89
-1E8B
-1E8D
-1E8F
-1E91
-1E93
-1E95 1E99
-1E9C 1E9D
-1E9F
-1EA1
-1EA3
-1EA5
-1EA7
-1EA9
-1EAB
-1EAD
-1EAF
-1EB1
-1EB3
-1EB5
-1EB7
-1EB9
-1EBB
-1EBD
-1EBF
-1EC1
-1EC3
-1EC5
-1EC7
-1EC9
-1ECB
-1ECD
-1ECF
-1ED1
-1ED3
-1ED5
-1ED7
-1ED9
-1EDB
-1EDD
-1EDF
-1EE1
-1EE3
-1EE5
-1EE7
-1EE9
-1EEB
-1EED
-1EEF
-1EF1
-1EF3
-1EF5
-1EF7
-1EF9
-1EFB
-1EFD
-1EFF 1F07
-1F10 1F17
-1F1E 1F27
-1F30 1F37
-1F40 1F47
-1F4E 1F58
-1F5A
-1F5C
-1F5E
-1F60 1F67
-1F70 1F7F
-1FB0 1FB1
-1FB5 1FB6
-1FBD 1FC1
-1FC5 1FC6
-1FCD 1FD7
-1FDC 1FE7
-1FED 1FF1
-1FF5 1FF6
-1FFD 2125
-2127 2129
-212C 2131
-2133 215F
-2170 2182
-2184 24B5
-24D0 2BFF
-2C2F 2C5F
-2C61
-2C65 2C66
-2C68
-2C6A
-2C6C
-2C71
-2C73 2C74
-2C76 2C7D
-2C81
-2C83
-2C85
-2C87
-2C89
-2C8B
-2C8D
-2C8F
-2C91
-2C93
-2C95
-2C97
-2C99
-2C9B
-2C9D
-2C9F
-2CA1
-2CA3
-2CA5
-2CA7
-2CA9
-2CAB
-2CAD
-2CAF
-2CB1
-2CB3
-2CB5
-2CB7
-2CB9
-2CBB
-2CBD
-2CBF
-2CC1
-2CC3
-2CC5
-2CC7
-2CC9
-2CCB
-2CCD
-2CCF
-2CD1
-2CD3
-2CD5
-2CD7
-2CD9
-2CDB
-2CDD
-2CDF
-2CE1
-2CE3 2CEA
-2CEC
-2CEE A63F
-A641
-A643
-A645
-A647
-A649
-A64B
-A64D
-A64F
-A651
-A653
-A655
-A657
-A659
-A65B
-A65D
-A65F
-A661
-A663
-A665
-A667
-A669
-A66B
-A66D A67F
-A681
-A683
-A685
-A687
-A689
-A68B
-A68D
-A68F
-A691
-A693
-A695
-A697 A721
-A723
-A725
-A727
-A729
-A72B
-A72D
-A72F A731
-A733
-A735
-A737
-A739
-A73B
-A73D
-A73F
-A741
-A743
-A745
-A747
-A749
-A74B
-A74D
-A74F
-A751
-A753
-A755
-A757
-A759
-A75B
-A75D
-A75F
-A761
-A763
-A765
-A767
-A769
-A76B
-A76D
-A76F A778
-A77A
-A77C
-A77F
-A781
-A783
-A785
-A787 A78A
-A78C
-A78E A78F
-A791 A79F
-A7A1
-A7A3
-A7A5
-A7A7
-A7A9 FAFF
-FB07 FB12
-FB18 FF20
-FF3B 103FF
-10428 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWCF/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWCF/Y.pl
index 318b25b8840..f024097a126 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWCF/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWCF/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -283,6 +283,8 @@ return <<'END';
0531 0556
0587
10A0 10C5
+10C7
+10CD
1E00
1E02
1E04
@@ -494,6 +496,7 @@ return <<'END';
2CE2
2CEB
2CED
+2CF2
A640
A642
A644
@@ -577,11 +580,13 @@ A786
A78B
A78D
A790
+A792
A7A0
A7A2
A7A4
A7A6
A7A8
+A7AA
FB00 FB06
FB13 FB17
FF21 FF3A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWCM/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWCM/N.pl
deleted file mode 100644
index 7a570803181..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWCM/N.pl
+++ /dev/null
@@ -1,112 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0040
-005B 0060
-007B 00B4
-00B6 00BF
-00D7
-00F7
-0138
-018D
-019B
-01AA 01AB
-01BA 01BB
-01BE
-01C0 01C3
-0221
-0234 0239
-0255
-0258
-025A
-025C 025F
-0261 0262
-0264
-0266 0267
-026A
-026C 026E
-0270
-0273 0274
-0276 027C
-027E 027F
-0281 0282
-0284 0287
-028D 0291
-0293 0344
-0346 036F
-0374 0375
-0378 037A
-037E 0385
-0387
-038B
-038D
-03A2
-03D2 03D4
-03F3
-03F6
-03FC
-0482 0489
-0528 0530
-0557 0560
-0588 109F
-10C6 1D78
-1D7A 1D7C
-1D7E 1DFF
-1E9C 1E9D
-1E9F
-1F16 1F17
-1F1E 1F1F
-1F46 1F47
-1F4E 1F4F
-1F58
-1F5A
-1F5C
-1F5E
-1F7E 1F7F
-1FB5
-1FBD
-1FBF 1FC1
-1FC5
-1FCD 1FCF
-1FD4 1FD5
-1FDC 1FDF
-1FED 1FF1
-1FF5
-1FFD 2125
-2127 2129
-212C 2131
-2133 214D
-214F 215F
-2180 2182
-2185 24B5
-24EA 2BFF
-2C2F
-2C5F
-2C71
-2C74
-2C77 2C7D
-2CE4 2CEA
-2CEF 2CFF
-2D26 A63F
-A66E A67F
-A698 A721
-A730 A731
-A770 A778
-A788 A78A
-A78E A78F
-A792 A79F
-A7AA FAFF
-FB07 FB12
-FB18 FF20
-FF3B FF40
-FF5B 103FF
-10450 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWCM/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWCM/Y.pl
index 275cf88462b..6dd69ca16a0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWCM/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWCM/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -29,7 +29,7 @@ return <<'END';
025B
0260
0263
-0265
+0265 0266
0268 0269
026B
026F
@@ -57,6 +57,8 @@ return <<'END';
0531 0556
0561 0587
10A0 10C5
+10C7
+10CD
1D79
1D7D
1E00 1E9B
@@ -94,15 +96,18 @@ return <<'END';
2C75 2C76
2C7E 2CE3
2CEB 2CEE
+2CF2 2CF3
2D00 2D25
+2D27
+2D2D
A640 A66D
A680 A697
A722 A72F
A732 A76F
A779 A787
A78B A78D
-A790 A791
-A7A0 A7A9
+A790 A793
+A7A0 A7AA
FB00 FB06
FB13 FB17
FF21 FF3A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/N.pl
deleted file mode 100644
index eab7046269d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/N.pl
+++ /dev/null
@@ -1,765 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0040
-005B 009F
-00A1 00A7
-00A9
-00AB 00AC
-00AE
-00B0 00B1
-00B6 00B7
-00BB
-00BF
-00D7
-00E0 00FF
-0101
-0103
-0105
-0107
-0109
-010B
-010D
-010F
-0111
-0113
-0115
-0117
-0119
-011B
-011D
-011F
-0121
-0123
-0125
-0127
-0129
-012B
-012D
-012F
-0131
-0135
-0137 0138
-013A
-013C
-013E
-0142
-0144
-0146
-0148
-014B
-014D
-014F
-0151
-0153
-0155
-0157
-0159
-015B
-015D
-015F
-0161
-0163
-0165
-0167
-0169
-016B
-016D
-016F
-0171
-0173
-0175
-0177
-017A
-017C
-017E
-0180
-0183
-0185
-0188
-018C 018D
-0192
-0195
-0199 019B
-019E
-01A1
-01A3
-01A5
-01A8
-01AA 01AB
-01AD
-01B0
-01B4
-01B6
-01B9 01BB
-01BD 01C3
-01CE
-01D0
-01D2
-01D4
-01D6
-01D8
-01DA
-01DC 01DD
-01DF
-01E1
-01E3
-01E5
-01E7
-01E9
-01EB
-01ED
-01EF 01F0
-01F5
-01F9
-01FB
-01FD
-01FF
-0201
-0203
-0205
-0207
-0209
-020B
-020D
-020F
-0211
-0213
-0215
-0217
-0219
-021B
-021D
-021F
-0221
-0223
-0225
-0227
-0229
-022B
-022D
-022F
-0231
-0233 0239
-023C
-023F 0240
-0242
-0247
-0249
-024B
-024D
-024F 02AF
-02B9 02D7
-02DE 02DF
-02E5 033F
-0342
-0346 034E
-0350 036F
-0371
-0373
-0375
-0377 0379
-037B 037D
-037F 0383
-038B
-038D
-0390
-03A2
-03AC 03C1
-03C3 03CE
-03D7
-03D9
-03DB
-03DD
-03DF
-03E1
-03E3
-03E5
-03E7
-03E9
-03EB
-03ED
-03EF
-03F3
-03F6
-03F8
-03FB 03FC
-0430 045F
-0461
-0463
-0465
-0467
-0469
-046B
-046D
-046F
-0471
-0473
-0475
-0477
-0479
-047B
-047D
-047F
-0481 0489
-048B
-048D
-048F
-0491
-0493
-0495
-0497
-0499
-049B
-049D
-049F
-04A1
-04A3
-04A5
-04A7
-04A9
-04AB
-04AD
-04AF
-04B1
-04B3
-04B5
-04B7
-04B9
-04BB
-04BD
-04BF
-04C2
-04C4
-04C6
-04C8
-04CA
-04CC
-04CE 04CF
-04D1
-04D3
-04D5
-04D7
-04D9
-04DB
-04DD
-04DF
-04E1
-04E3
-04E5
-04E7
-04E9
-04EB
-04ED
-04EF
-04F1
-04F3
-04F5
-04F7
-04F9
-04FB
-04FD
-04FF
-0501
-0503
-0505
-0507
-0509
-050B
-050D
-050F
-0511
-0513
-0515
-0517
-0519
-051B
-051D
-051F
-0521
-0523
-0525
-0527 0530
-0557 0586
-0588 0674
-0679 0957
-0960 09DB
-09DE
-09E0 0A32
-0A34 0A35
-0A37 0A58
-0A5C 0A5D
-0A5F 0B5B
-0B5E 0E32
-0E34 0EB2
-0EB4 0EDB
-0EDE 0F0B
-0F0D 0F42
-0F44 0F4C
-0F4E 0F51
-0F53 0F56
-0F58 0F5B
-0F5D 0F68
-0F6A 0F72
-0F74
-0F7A 0F80
-0F82 0F92
-0F94 0F9C
-0F9E 0FA1
-0FA3 0FA6
-0FA8 0FAB
-0FAD 0FB8
-0FBA 109F
-10C6 10FB
-10FD 115E
-1161 17B3
-17B6 180A
-180E 1D2B
-1D2F
-1D3B
-1D4E
-1D6B 1D77
-1D79 1D9A
-1DC0 1DFF
-1E01
-1E03
-1E05
-1E07
-1E09
-1E0B
-1E0D
-1E0F
-1E11
-1E13
-1E15
-1E17
-1E19
-1E1B
-1E1D
-1E1F
-1E21
-1E23
-1E25
-1E27
-1E29
-1E2B
-1E2D
-1E2F
-1E31
-1E33
-1E35
-1E37
-1E39
-1E3B
-1E3D
-1E3F
-1E41
-1E43
-1E45
-1E47
-1E49
-1E4B
-1E4D
-1E4F
-1E51
-1E53
-1E55
-1E57
-1E59
-1E5B
-1E5D
-1E5F
-1E61
-1E63
-1E65
-1E67
-1E69
-1E6B
-1E6D
-1E6F
-1E71
-1E73
-1E75
-1E77
-1E79
-1E7B
-1E7D
-1E7F
-1E81
-1E83
-1E85
-1E87
-1E89
-1E8B
-1E8D
-1E8F
-1E91
-1E93
-1E95 1E99
-1E9C 1E9D
-1E9F
-1EA1
-1EA3
-1EA5
-1EA7
-1EA9
-1EAB
-1EAD
-1EAF
-1EB1
-1EB3
-1EB5
-1EB7
-1EB9
-1EBB
-1EBD
-1EBF
-1EC1
-1EC3
-1EC5
-1EC7
-1EC9
-1ECB
-1ECD
-1ECF
-1ED1
-1ED3
-1ED5
-1ED7
-1ED9
-1EDB
-1EDD
-1EDF
-1EE1
-1EE3
-1EE5
-1EE7
-1EE9
-1EEB
-1EED
-1EEF
-1EF1
-1EF3
-1EF5
-1EF7
-1EF9
-1EFB
-1EFD
-1EFF 1F07
-1F10 1F17
-1F1E 1F27
-1F30 1F37
-1F40 1F47
-1F4E 1F58
-1F5A
-1F5C
-1F5E
-1F60 1F67
-1F70
-1F72
-1F74
-1F76
-1F78
-1F7A
-1F7C
-1F7E 1F7F
-1FB0 1FB1
-1FB5 1FB6
-1FC5 1FC6
-1FD0 1FD2
-1FD4 1FD7
-1FDC
-1FE0 1FE2
-1FE4 1FE7
-1FF0 1FF1
-1FF5 1FF6
-1FFF
-2010
-2012 2016
-2018 2023
-2027 2029
-2030 2032
-2035
-2038 203B
-203D
-203F 2046
-204A 2056
-2058 205E
-2072 2073
-208F
-209D 20A7
-20A9 20FF
-2104
-2108
-2114
-2117 2118
-211E 211F
-2123
-2125
-2127
-2129
-212E
-213A
-2141 2144
-214A 214F
-2180 2182
-2184 2188
-218A 222B
-222E
-2231 2328
-232B 245F
-24EB 2A0B
-2A0D 2A73
-2A77 2ADB
-2ADD 2BFF
-2C2F 2C5F
-2C61
-2C65 2C66
-2C68
-2C6A
-2C6C
-2C71
-2C73 2C74
-2C76 2C7B
-2C81
-2C83
-2C85
-2C87
-2C89
-2C8B
-2C8D
-2C8F
-2C91
-2C93
-2C95
-2C97
-2C99
-2C9B
-2C9D
-2C9F
-2CA1
-2CA3
-2CA5
-2CA7
-2CA9
-2CAB
-2CAD
-2CAF
-2CB1
-2CB3
-2CB5
-2CB7
-2CB9
-2CBB
-2CBD
-2CBF
-2CC1
-2CC3
-2CC5
-2CC7
-2CC9
-2CCB
-2CCD
-2CCF
-2CD1
-2CD3
-2CD5
-2CD7
-2CD9
-2CDB
-2CDD
-2CDF
-2CE1
-2CE3 2CEA
-2CEC
-2CEE 2D6E
-2D70 2E9E
-2EA0 2EF2
-2EF4 2EFF
-2FD6 2FFF
-3001 3035
-3037
-303B 309A
-309D 309E
-30A0 30FE
-3100 3130
-318F 3191
-31A0 31FF
-321F
-3248 324F
-327F
-32FF
-3400 A63F
-A641
-A643
-A645
-A647
-A649
-A64B
-A64D
-A64F
-A651
-A653
-A655
-A657
-A659
-A65B
-A65D
-A65F
-A661
-A663
-A665
-A667
-A669
-A66B
-A66D A67F
-A681
-A683
-A685
-A687
-A689
-A68B
-A68D
-A68F
-A691
-A693
-A695
-A697 A721
-A723
-A725
-A727
-A729
-A72B
-A72D
-A72F A731
-A733
-A735
-A737
-A739
-A73B
-A73D
-A73F
-A741
-A743
-A745
-A747
-A749
-A74B
-A74D
-A74F
-A751
-A753
-A755
-A757
-A759
-A75B
-A75D
-A75F
-A761
-A763
-A765
-A767
-A769
-A76B
-A76D
-A76F
-A771 A778
-A77A
-A77C
-A77F
-A781
-A783
-A785
-A787 A78A
-A78C
-A78E A78F
-A791 A79F
-A7A1
-A7A3
-A7A5
-A7A7
-A7A9 F8FF
-FA0E FA0F
-FA11
-FA13 FA14
-FA1F
-FA21
-FA23 FA24
-FA27 FA29
-FA2E FA2F
-FA6E FA6F
-FADA FAFF
-FB07 FB12
-FB18 FB1C
-FB1E
-FB37
-FB3D
-FB3F
-FB42
-FB45
-FBB2 FBD2
-FD3E FD4F
-FD90 FD91
-FDC8 FDEF
-FDFD FDFF
-FE1A FE2F
-FE45 FE46
-FE53
-FE67
-FE6C FE6F
-FE73
-FE75
-FEFD FEFE
-FF00
-FFBF FFC1
-FFC8 FFC9
-FFD0 FFD1
-FFD8 FFD9
-FFDD FFDF
-FFE7
-FFEF
-FFF9 103FF
-10428 1D15D
-1D165 1D172
-1D17B 1D1BA
-1D1C1 1D3FF
-1D455
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4BA
-1D4BC
-1D4C4
-1D506
-1D50B 1D50C
-1D515
-1D51D
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551
-1D6A6 1D6A7
-1D7CC 1D7CD
-1D800 1F0FF
-1F10B 1F10F
-1F12F
-1F150 1F18F
-1F191 1F1FF
-1F203 1F20F
-1F23B 1F23F
-1F249 1F24F
-1F252 2F7FF
-2FA1E DFFFF
-E1000 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/Y.pl
index 1aca2265295..a1d8c399deb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWKCF/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -318,6 +318,8 @@ return <<'END';
0FAC
0FB9
10A0 10C5
+10C7
+10CD
10FC
115F 1160
17B4 17B5
@@ -580,6 +582,7 @@ return <<'END';
2CE2
2CEB
2CED
+2CF2
2D6F
2E9F
2EF3
@@ -681,11 +684,14 @@ A786
A78B
A78D
A790
+A792
A7A0
A7A2
A7A4
A7A6
A7A8
+A7AA
+A7F8 A7F9
F900 FA0D
FA10
FA12
@@ -693,8 +699,7 @@ FA15 FA1E
FA20
FA22
FA25 FA26
-FA2A FA2D
-FA30 FA6D
+FA2A FA6D
FA70 FAD9
FB00 FB06
FB13 FB17
@@ -751,9 +756,43 @@ FFF0 FFF8
1D552 1D6A5
1D6A8 1D7CB
1D7CE 1D7FF
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
1F100 1F10A
1F110 1F12E
1F130 1F14F
+1F16A 1F16B
1F190
1F200 1F202
1F210 1F23A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWL/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWL/N.pl
deleted file mode 100644
index 5f437f1a93a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWL/N.pl
+++ /dev/null
@@ -1,579 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0040
-005B 00BF
-00D7
-00DF 00FF
-0101
-0103
-0105
-0107
-0109
-010B
-010D
-010F
-0111
-0113
-0115
-0117
-0119
-011B
-011D
-011F
-0121
-0123
-0125
-0127
-0129
-012B
-012D
-012F
-0131
-0133
-0135
-0137 0138
-013A
-013C
-013E
-0140
-0142
-0144
-0146
-0148 0149
-014B
-014D
-014F
-0151
-0153
-0155
-0157
-0159
-015B
-015D
-015F
-0161
-0163
-0165
-0167
-0169
-016B
-016D
-016F
-0171
-0173
-0175
-0177
-017A
-017C
-017E 0180
-0183
-0185
-0188
-018C 018D
-0192
-0195
-0199 019B
-019E
-01A1
-01A3
-01A5
-01A8
-01AA 01AB
-01AD
-01B0
-01B4
-01B6
-01B9 01BB
-01BD 01C3
-01C6
-01C9
-01CC
-01CE
-01D0
-01D2
-01D4
-01D6
-01D8
-01DA
-01DC 01DD
-01DF
-01E1
-01E3
-01E5
-01E7
-01E9
-01EB
-01ED
-01EF 01F0
-01F3
-01F5
-01F9
-01FB
-01FD
-01FF
-0201
-0203
-0205
-0207
-0209
-020B
-020D
-020F
-0211
-0213
-0215
-0217
-0219
-021B
-021D
-021F
-0221
-0223
-0225
-0227
-0229
-022B
-022D
-022F
-0231
-0233 0239
-023C
-023F 0240
-0242
-0247
-0249
-024B
-024D
-024F 036F
-0371
-0373 0375
-0377 0385
-0387
-038B
-038D
-0390
-03A2
-03AC 03CE
-03D0 03D7
-03D9
-03DB
-03DD
-03DF
-03E1
-03E3
-03E5
-03E7
-03E9
-03EB
-03ED
-03EF 03F3
-03F5 03F6
-03F8
-03FB 03FC
-0430 045F
-0461
-0463
-0465
-0467
-0469
-046B
-046D
-046F
-0471
-0473
-0475
-0477
-0479
-047B
-047D
-047F
-0481 0489
-048B
-048D
-048F
-0491
-0493
-0495
-0497
-0499
-049B
-049D
-049F
-04A1
-04A3
-04A5
-04A7
-04A9
-04AB
-04AD
-04AF
-04B1
-04B3
-04B5
-04B7
-04B9
-04BB
-04BD
-04BF
-04C2
-04C4
-04C6
-04C8
-04CA
-04CC
-04CE 04CF
-04D1
-04D3
-04D5
-04D7
-04D9
-04DB
-04DD
-04DF
-04E1
-04E3
-04E5
-04E7
-04E9
-04EB
-04ED
-04EF
-04F1
-04F3
-04F5
-04F7
-04F9
-04FB
-04FD
-04FF
-0501
-0503
-0505
-0507
-0509
-050B
-050D
-050F
-0511
-0513
-0515
-0517
-0519
-051B
-051D
-051F
-0521
-0523
-0525
-0527 0530
-0557 109F
-10C6 1DFF
-1E01
-1E03
-1E05
-1E07
-1E09
-1E0B
-1E0D
-1E0F
-1E11
-1E13
-1E15
-1E17
-1E19
-1E1B
-1E1D
-1E1F
-1E21
-1E23
-1E25
-1E27
-1E29
-1E2B
-1E2D
-1E2F
-1E31
-1E33
-1E35
-1E37
-1E39
-1E3B
-1E3D
-1E3F
-1E41
-1E43
-1E45
-1E47
-1E49
-1E4B
-1E4D
-1E4F
-1E51
-1E53
-1E55
-1E57
-1E59
-1E5B
-1E5D
-1E5F
-1E61
-1E63
-1E65
-1E67
-1E69
-1E6B
-1E6D
-1E6F
-1E71
-1E73
-1E75
-1E77
-1E79
-1E7B
-1E7D
-1E7F
-1E81
-1E83
-1E85
-1E87
-1E89
-1E8B
-1E8D
-1E8F
-1E91
-1E93
-1E95 1E9D
-1E9F
-1EA1
-1EA3
-1EA5
-1EA7
-1EA9
-1EAB
-1EAD
-1EAF
-1EB1
-1EB3
-1EB5
-1EB7
-1EB9
-1EBB
-1EBD
-1EBF
-1EC1
-1EC3
-1EC5
-1EC7
-1EC9
-1ECB
-1ECD
-1ECF
-1ED1
-1ED3
-1ED5
-1ED7
-1ED9
-1EDB
-1EDD
-1EDF
-1EE1
-1EE3
-1EE5
-1EE7
-1EE9
-1EEB
-1EED
-1EEF
-1EF1
-1EF3
-1EF5
-1EF7
-1EF9
-1EFB
-1EFD
-1EFF 1F07
-1F10 1F17
-1F1E 1F27
-1F30 1F37
-1F40 1F47
-1F4E 1F58
-1F5A
-1F5C
-1F5E
-1F60 1F67
-1F70 1F87
-1F90 1F97
-1FA0 1FA7
-1FB0 1FB7
-1FBD 1FC7
-1FCD 1FD7
-1FDC 1FE7
-1FED 1FF7
-1FFD 2125
-2127 2129
-212C 2131
-2133 215F
-2170 2182
-2184 24B5
-24D0 2BFF
-2C2F 2C5F
-2C61
-2C65 2C66
-2C68
-2C6A
-2C6C
-2C71
-2C73 2C74
-2C76 2C7D
-2C81
-2C83
-2C85
-2C87
-2C89
-2C8B
-2C8D
-2C8F
-2C91
-2C93
-2C95
-2C97
-2C99
-2C9B
-2C9D
-2C9F
-2CA1
-2CA3
-2CA5
-2CA7
-2CA9
-2CAB
-2CAD
-2CAF
-2CB1
-2CB3
-2CB5
-2CB7
-2CB9
-2CBB
-2CBD
-2CBF
-2CC1
-2CC3
-2CC5
-2CC7
-2CC9
-2CCB
-2CCD
-2CCF
-2CD1
-2CD3
-2CD5
-2CD7
-2CD9
-2CDB
-2CDD
-2CDF
-2CE1
-2CE3 2CEA
-2CEC
-2CEE A63F
-A641
-A643
-A645
-A647
-A649
-A64B
-A64D
-A64F
-A651
-A653
-A655
-A657
-A659
-A65B
-A65D
-A65F
-A661
-A663
-A665
-A667
-A669
-A66B
-A66D A67F
-A681
-A683
-A685
-A687
-A689
-A68B
-A68D
-A68F
-A691
-A693
-A695
-A697 A721
-A723
-A725
-A727
-A729
-A72B
-A72D
-A72F A731
-A733
-A735
-A737
-A739
-A73B
-A73D
-A73F
-A741
-A743
-A745
-A747
-A749
-A74B
-A74D
-A74F
-A751
-A753
-A755
-A757
-A759
-A75B
-A75D
-A75F
-A761
-A763
-A765
-A767
-A769
-A76B
-A76D
-A76F A778
-A77A
-A77C
-A77F
-A781
-A783
-A785
-A787 A78A
-A78C
-A78E A78F
-A791 A79F
-A7A1
-A7A3
-A7A5
-A7A7
-A7A9 FF20
-FF3B 103FF
-10428 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWL/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWL/Y.pl
index 07b334a98f8..6dd7db25638 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWL/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWL/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -276,6 +276,8 @@ return <<'END';
0526
0531 0556
10A0 10C5
+10C7
+10CD
1E00
1E02
1E04
@@ -485,6 +487,7 @@ return <<'END';
2CE2
2CEB
2CED
+2CF2
A640
A642
A644
@@ -568,11 +571,13 @@ A786
A78B
A78D
A790
+A792
A7A0
A7A2
A7A4
A7A6
A7A8
+A7AA
FF21 FF3A
10400 10427
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWT/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWT/N.pl
deleted file mode 100644
index 24516cea7cd..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWT/N.pl
+++ /dev/null
@@ -1,596 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0060
-007B 00B4
-00B6 00DE
-00F7
-0100
-0102
-0104
-0106
-0108
-010A
-010C
-010E
-0110
-0112
-0114
-0116
-0118
-011A
-011C
-011E
-0120
-0122
-0124
-0126
-0128
-012A
-012C
-012E
-0130
-0132
-0134
-0136
-0138 0139
-013B
-013D
-013F
-0141
-0143
-0145
-0147
-014A
-014C
-014E
-0150
-0152
-0154
-0156
-0158
-015A
-015C
-015E
-0160
-0162
-0164
-0166
-0168
-016A
-016C
-016E
-0170
-0172
-0174
-0176
-0178 0179
-017B
-017D
-0181 0182
-0184
-0186 0187
-0189 018B
-018D 0191
-0193 0194
-0196 0198
-019B 019D
-019F 01A0
-01A2
-01A4
-01A6 01A7
-01A9 01AC
-01AE 01AF
-01B1 01B3
-01B5
-01B7 01B8
-01BA 01BC
-01BE
-01C0 01C3
-01C5
-01C8
-01CB
-01CD
-01CF
-01D1
-01D3
-01D5
-01D7
-01D9
-01DB
-01DE
-01E0
-01E2
-01E4
-01E6
-01E8
-01EA
-01EC
-01EE
-01F2
-01F4
-01F6 01F8
-01FA
-01FC
-01FE
-0200
-0202
-0204
-0206
-0208
-020A
-020C
-020E
-0210
-0212
-0214
-0216
-0218
-021A
-021C
-021E
-0220 0222
-0224
-0226
-0228
-022A
-022C
-022E
-0230
-0232
-0234 023B
-023D 023E
-0241
-0243 0246
-0248
-024A
-024C
-024E
-0255
-0258
-025A
-025C 025F
-0261 0262
-0264
-0266 0267
-026A
-026C 026E
-0270
-0273 0274
-0276 027C
-027E 027F
-0281 0282
-0284 0287
-028D 0291
-0293 0344
-0346 0370
-0372
-0374 0376
-0378 037A
-037E 038F
-0391 03AB
-03CF
-03D2 03D4
-03D8
-03DA
-03DC
-03DE
-03E0
-03E2
-03E4
-03E6
-03E8
-03EA
-03EC
-03EE
-03F3 03F4
-03F6 03F7
-03F9 03FA
-03FC 042F
-0460
-0462
-0464
-0466
-0468
-046A
-046C
-046E
-0470
-0472
-0474
-0476
-0478
-047A
-047C
-047E
-0480
-0482 048A
-048C
-048E
-0490
-0492
-0494
-0496
-0498
-049A
-049C
-049E
-04A0
-04A2
-04A4
-04A6
-04A8
-04AA
-04AC
-04AE
-04B0
-04B2
-04B4
-04B6
-04B8
-04BA
-04BC
-04BE
-04C0 04C1
-04C3
-04C5
-04C7
-04C9
-04CB
-04CD
-04D0
-04D2
-04D4
-04D6
-04D8
-04DA
-04DC
-04DE
-04E0
-04E2
-04E4
-04E6
-04E8
-04EA
-04EC
-04EE
-04F0
-04F2
-04F4
-04F6
-04F8
-04FA
-04FC
-04FE
-0500
-0502
-0504
-0506
-0508
-050A
-050C
-050E
-0510
-0512
-0514
-0516
-0518
-051A
-051C
-051E
-0520
-0522
-0524
-0526
-0528 0560
-0588 1D78
-1D7A 1D7C
-1D7E 1E00
-1E02
-1E04
-1E06
-1E08
-1E0A
-1E0C
-1E0E
-1E10
-1E12
-1E14
-1E16
-1E18
-1E1A
-1E1C
-1E1E
-1E20
-1E22
-1E24
-1E26
-1E28
-1E2A
-1E2C
-1E2E
-1E30
-1E32
-1E34
-1E36
-1E38
-1E3A
-1E3C
-1E3E
-1E40
-1E42
-1E44
-1E46
-1E48
-1E4A
-1E4C
-1E4E
-1E50
-1E52
-1E54
-1E56
-1E58
-1E5A
-1E5C
-1E5E
-1E60
-1E62
-1E64
-1E66
-1E68
-1E6A
-1E6C
-1E6E
-1E70
-1E72
-1E74
-1E76
-1E78
-1E7A
-1E7C
-1E7E
-1E80
-1E82
-1E84
-1E86
-1E88
-1E8A
-1E8C
-1E8E
-1E90
-1E92
-1E94
-1E9C 1EA0
-1EA2
-1EA4
-1EA6
-1EA8
-1EAA
-1EAC
-1EAE
-1EB0
-1EB2
-1EB4
-1EB6
-1EB8
-1EBA
-1EBC
-1EBE
-1EC0
-1EC2
-1EC4
-1EC6
-1EC8
-1ECA
-1ECC
-1ECE
-1ED0
-1ED2
-1ED4
-1ED6
-1ED8
-1EDA
-1EDC
-1EDE
-1EE0
-1EE2
-1EE4
-1EE6
-1EE8
-1EEA
-1EEC
-1EEE
-1EF0
-1EF2
-1EF4
-1EF6
-1EF8
-1EFA
-1EFC
-1EFE
-1F08 1F0F
-1F16 1F1F
-1F28 1F2F
-1F38 1F3F
-1F46 1F4F
-1F58 1F5F
-1F68 1F6F
-1F7E 1F7F
-1F88 1F8F
-1F98 1F9F
-1FA8 1FAF
-1FB5
-1FB8 1FBD
-1FBF 1FC1
-1FC5
-1FC8 1FCF
-1FD4 1FD5
-1FD8 1FDF
-1FE8 1FF1
-1FF5
-1FF8 214D
-214F 216F
-2180 2183
-2185 24CF
-24EA 2C2F
-2C5F 2C60
-2C62 2C64
-2C67
-2C69
-2C6B
-2C6D 2C72
-2C74 2C75
-2C77 2C80
-2C82
-2C84
-2C86
-2C88
-2C8A
-2C8C
-2C8E
-2C90
-2C92
-2C94
-2C96
-2C98
-2C9A
-2C9C
-2C9E
-2CA0
-2CA2
-2CA4
-2CA6
-2CA8
-2CAA
-2CAC
-2CAE
-2CB0
-2CB2
-2CB4
-2CB6
-2CB8
-2CBA
-2CBC
-2CBE
-2CC0
-2CC2
-2CC4
-2CC6
-2CC8
-2CCA
-2CCC
-2CCE
-2CD0
-2CD2
-2CD4
-2CD6
-2CD8
-2CDA
-2CDC
-2CDE
-2CE0
-2CE2
-2CE4 2CEB
-2CED
-2CEF 2CFF
-2D26 A640
-A642
-A644
-A646
-A648
-A64A
-A64C
-A64E
-A650
-A652
-A654
-A656
-A658
-A65A
-A65C
-A65E
-A660
-A662
-A664
-A666
-A668
-A66A
-A66C
-A66E A680
-A682
-A684
-A686
-A688
-A68A
-A68C
-A68E
-A690
-A692
-A694
-A696
-A698 A722
-A724
-A726
-A728
-A72A
-A72C
-A72E
-A730 A732
-A734
-A736
-A738
-A73A
-A73C
-A73E
-A740
-A742
-A744
-A746
-A748
-A74A
-A74C
-A74E
-A750
-A752
-A754
-A756
-A758
-A75A
-A75C
-A75E
-A760
-A762
-A764
-A766
-A768
-A76A
-A76C
-A76E
-A770 A779
-A77B
-A77D A77E
-A780
-A782
-A784
-A786
-A788 A78B
-A78D A790
-A792 A7A0
-A7A2
-A7A4
-A7A6
-A7A8
-A7AA FAFF
-FB07 FB12
-FB18 FF40
-FF5B 10427
-10450 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWT/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWT/Y.pl
index 1e07eca0942..be9e54dfae8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWT/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWT/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -159,7 +159,7 @@ return <<'END';
025B
0260
0263
-0265
+0265 0266
0268 0269
026B
026F
@@ -500,7 +500,10 @@ return <<'END';
2CE3
2CEC
2CEE
+2CF3
2D00 2D25
+2D27
+2D2D
A641
A643
A645
@@ -583,6 +586,7 @@ A785
A787
A78C
A791
+A793
A7A1
A7A3
A7A5
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWU/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWU/N.pl
deleted file mode 100644
index 6660c421f56..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWU/N.pl
+++ /dev/null
@@ -1,595 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0060
-007B 00B4
-00B6 00DE
-00F7
-0100
-0102
-0104
-0106
-0108
-010A
-010C
-010E
-0110
-0112
-0114
-0116
-0118
-011A
-011C
-011E
-0120
-0122
-0124
-0126
-0128
-012A
-012C
-012E
-0130
-0132
-0134
-0136
-0138 0139
-013B
-013D
-013F
-0141
-0143
-0145
-0147
-014A
-014C
-014E
-0150
-0152
-0154
-0156
-0158
-015A
-015C
-015E
-0160
-0162
-0164
-0166
-0168
-016A
-016C
-016E
-0170
-0172
-0174
-0176
-0178 0179
-017B
-017D
-0181 0182
-0184
-0186 0187
-0189 018B
-018D 0191
-0193 0194
-0196 0198
-019B 019D
-019F 01A0
-01A2
-01A4
-01A6 01A7
-01A9 01AC
-01AE 01AF
-01B1 01B3
-01B5
-01B7 01B8
-01BA 01BC
-01BE
-01C0 01C4
-01C7
-01CA
-01CD
-01CF
-01D1
-01D3
-01D5
-01D7
-01D9
-01DB
-01DE
-01E0
-01E2
-01E4
-01E6
-01E8
-01EA
-01EC
-01EE
-01F1
-01F4
-01F6 01F8
-01FA
-01FC
-01FE
-0200
-0202
-0204
-0206
-0208
-020A
-020C
-020E
-0210
-0212
-0214
-0216
-0218
-021A
-021C
-021E
-0220 0222
-0224
-0226
-0228
-022A
-022C
-022E
-0230
-0232
-0234 023B
-023D 023E
-0241
-0243 0246
-0248
-024A
-024C
-024E
-0255
-0258
-025A
-025C 025F
-0261 0262
-0264
-0266 0267
-026A
-026C 026E
-0270
-0273 0274
-0276 027C
-027E 027F
-0281 0282
-0284 0287
-028D 0291
-0293 0344
-0346 0370
-0372
-0374 0376
-0378 037A
-037E 038F
-0391 03AB
-03CF
-03D2 03D4
-03D8
-03DA
-03DC
-03DE
-03E0
-03E2
-03E4
-03E6
-03E8
-03EA
-03EC
-03EE
-03F3 03F4
-03F6 03F7
-03F9 03FA
-03FC 042F
-0460
-0462
-0464
-0466
-0468
-046A
-046C
-046E
-0470
-0472
-0474
-0476
-0478
-047A
-047C
-047E
-0480
-0482 048A
-048C
-048E
-0490
-0492
-0494
-0496
-0498
-049A
-049C
-049E
-04A0
-04A2
-04A4
-04A6
-04A8
-04AA
-04AC
-04AE
-04B0
-04B2
-04B4
-04B6
-04B8
-04BA
-04BC
-04BE
-04C0 04C1
-04C3
-04C5
-04C7
-04C9
-04CB
-04CD
-04D0
-04D2
-04D4
-04D6
-04D8
-04DA
-04DC
-04DE
-04E0
-04E2
-04E4
-04E6
-04E8
-04EA
-04EC
-04EE
-04F0
-04F2
-04F4
-04F6
-04F8
-04FA
-04FC
-04FE
-0500
-0502
-0504
-0506
-0508
-050A
-050C
-050E
-0510
-0512
-0514
-0516
-0518
-051A
-051C
-051E
-0520
-0522
-0524
-0526
-0528 0560
-0588 1D78
-1D7A 1D7C
-1D7E 1E00
-1E02
-1E04
-1E06
-1E08
-1E0A
-1E0C
-1E0E
-1E10
-1E12
-1E14
-1E16
-1E18
-1E1A
-1E1C
-1E1E
-1E20
-1E22
-1E24
-1E26
-1E28
-1E2A
-1E2C
-1E2E
-1E30
-1E32
-1E34
-1E36
-1E38
-1E3A
-1E3C
-1E3E
-1E40
-1E42
-1E44
-1E46
-1E48
-1E4A
-1E4C
-1E4E
-1E50
-1E52
-1E54
-1E56
-1E58
-1E5A
-1E5C
-1E5E
-1E60
-1E62
-1E64
-1E66
-1E68
-1E6A
-1E6C
-1E6E
-1E70
-1E72
-1E74
-1E76
-1E78
-1E7A
-1E7C
-1E7E
-1E80
-1E82
-1E84
-1E86
-1E88
-1E8A
-1E8C
-1E8E
-1E90
-1E92
-1E94
-1E9C 1EA0
-1EA2
-1EA4
-1EA6
-1EA8
-1EAA
-1EAC
-1EAE
-1EB0
-1EB2
-1EB4
-1EB6
-1EB8
-1EBA
-1EBC
-1EBE
-1EC0
-1EC2
-1EC4
-1EC6
-1EC8
-1ECA
-1ECC
-1ECE
-1ED0
-1ED2
-1ED4
-1ED6
-1ED8
-1EDA
-1EDC
-1EDE
-1EE0
-1EE2
-1EE4
-1EE6
-1EE8
-1EEA
-1EEC
-1EEE
-1EF0
-1EF2
-1EF4
-1EF6
-1EF8
-1EFA
-1EFC
-1EFE
-1F08 1F0F
-1F16 1F1F
-1F28 1F2F
-1F38 1F3F
-1F46 1F4F
-1F58 1F5F
-1F68 1F6F
-1F7E 1F7F
-1FB5
-1FB8 1FBB
-1FBD
-1FBF 1FC1
-1FC5
-1FC8 1FCB
-1FCD 1FCF
-1FD4 1FD5
-1FD8 1FDF
-1FE8 1FF1
-1FF5
-1FF8 1FFB
-1FFD 214D
-214F 216F
-2180 2183
-2185 24CF
-24EA 2C2F
-2C5F 2C60
-2C62 2C64
-2C67
-2C69
-2C6B
-2C6D 2C72
-2C74 2C75
-2C77 2C80
-2C82
-2C84
-2C86
-2C88
-2C8A
-2C8C
-2C8E
-2C90
-2C92
-2C94
-2C96
-2C98
-2C9A
-2C9C
-2C9E
-2CA0
-2CA2
-2CA4
-2CA6
-2CA8
-2CAA
-2CAC
-2CAE
-2CB0
-2CB2
-2CB4
-2CB6
-2CB8
-2CBA
-2CBC
-2CBE
-2CC0
-2CC2
-2CC4
-2CC6
-2CC8
-2CCA
-2CCC
-2CCE
-2CD0
-2CD2
-2CD4
-2CD6
-2CD8
-2CDA
-2CDC
-2CDE
-2CE0
-2CE2
-2CE4 2CEB
-2CED
-2CEF 2CFF
-2D26 A640
-A642
-A644
-A646
-A648
-A64A
-A64C
-A64E
-A650
-A652
-A654
-A656
-A658
-A65A
-A65C
-A65E
-A660
-A662
-A664
-A666
-A668
-A66A
-A66C
-A66E A680
-A682
-A684
-A686
-A688
-A68A
-A68C
-A68E
-A690
-A692
-A694
-A696
-A698 A722
-A724
-A726
-A728
-A72A
-A72C
-A72E
-A730 A732
-A734
-A736
-A738
-A73A
-A73C
-A73E
-A740
-A742
-A744
-A746
-A748
-A74A
-A74C
-A74E
-A750
-A752
-A754
-A756
-A758
-A75A
-A75C
-A75E
-A760
-A762
-A764
-A766
-A768
-A76A
-A76C
-A76E
-A770 A779
-A77B
-A77D A77E
-A780
-A782
-A784
-A786
-A788 A78B
-A78D A790
-A792 A7A0
-A7A2
-A7A4
-A7A6
-A7A8
-A7AA FAFF
-FB07 FB12
-FB18 FF40
-FF5B 10427
-10450 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CWU/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CWU/Y.pl
index c4620329c2a..c2a2b35830a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CWU/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CWU/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -158,7 +158,7 @@ return <<'END';
025B
0260
0263
-0265
+0265 0266
0268 0269
026B
026F
@@ -499,7 +499,10 @@ return <<'END';
2CE3
2CEC
2CEE
+2CF3
2D00 2D25
+2D27
+2D2D
A641
A643
A645
@@ -582,6 +585,7 @@ A785
A787
A78C
A791
+A793
A7A1
A7A3
A7A5
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Cased/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Cased/N.pl
deleted file mode 100644
index a6a190d8942..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Cased/N.pl
+++ /dev/null
@@ -1,125 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0040
-005B 0060
-007B 00A9
-00AB 00B4
-00B6 00B9
-00BB 00BF
-00D7
-00F7
-01BB
-01C0 01C3
-0294
-02B9 02BF
-02C2 02DF
-02E5 0344
-0346 036F
-0374 0375
-0378 0379
-037E 0385
-0387
-038B
-038D
-03A2
-03F6
-0482 0489
-0528 0530
-0557 0560
-0588 109F
-10C6 1CFF
-1DC0 1DFF
-1F16 1F17
-1F1E 1F1F
-1F46 1F47
-1F4E 1F4F
-1F58
-1F5A
-1F5C
-1F5E
-1F7E 1F7F
-1FB5
-1FBD
-1FBF 1FC1
-1FC5
-1FCD 1FCF
-1FD4 1FD5
-1FDC 1FDF
-1FED 1FF1
-1FF5
-1FFD 208F
-2095 2101
-2103 2106
-2108 2109
-2114
-2116 2118
-211E 2123
-2125
-2127
-2129
-212E
-2135 2138
-213A 213B
-2140 2144
-214A 214D
-214F 215F
-2180 2182
-2185 24B5
-24EA 2BFF
-2C2F
-2C5F
-2CE5 2CEA
-2CEF 2CFF
-2D26 A63F
-A66E A67F
-A698 A721
-A788 A78A
-A78F
-A792 A79F
-A7AA A7F9
-A7FB FAFF
-FB07 FB12
-FB18 FF20
-FF3B FF40
-FF5B 103FF
-10450 1D3FF
-1D455
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4BA
-1D4BC
-1D4C4
-1D506
-1D50B 1D50C
-1D515
-1D51D
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551
-1D6A6 1D6A7
-1D6C1
-1D6DB
-1D6FB
-1D715
-1D735
-1D74F
-1D76F
-1D789
-1D7A9
-1D7C3
-1D7CC 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Cased/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Cased/Y.pl
index 14620dd3543..5b0aaf242b1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Cased/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Cased/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -36,6 +36,8 @@ return <<'END';
0531 0556
0561 0587
10A0 10C5
+10C7
+10CD
1D00 1DBF
1E00 1F15
1F18 1F1D
@@ -56,7 +58,9 @@ return <<'END';
1FE0 1FEC
1FF2 1FF4
1FF6 1FFC
-2090 2094
+2071
+207F
+2090 209C
2102
2107
210A 2113
@@ -78,14 +82,17 @@ return <<'END';
2C30 2C5E
2C60 2CE4
2CEB 2CEE
+2CF2 2CF3
2D00 2D25
+2D27
+2D2D
A640 A66D
A680 A697
A722 A787
A78B A78E
-A790 A791
-A7A0 A7A9
-A7FA
+A790 A793
+A7A0 A7AA
+A7F8 A7FA
FB00 FB06
FB13 FB17
FF21 FF3A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/10.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/10.pl
deleted file mode 100644
index 0e25f7996aa..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/10.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-05B0
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/103.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/103.pl
deleted file mode 100644
index 2caa01dfdfc..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/103.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0E38 0E39
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/107.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/107.pl
deleted file mode 100644
index 2e8cd014213..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/107.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0E48 0E4B
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/11.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/11.pl
deleted file mode 100644
index 50e232a4048..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/11.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-05B1
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/118.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/118.pl
deleted file mode 100644
index 33edeb3c688..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/118.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0EB8 0EB9
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/12.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/12.pl
deleted file mode 100644
index df62e6f0793..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/12.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-05B2
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/122.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/122.pl
deleted file mode 100644
index 0632d58d675..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/122.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0EC8 0ECB
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/129.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/129.pl
deleted file mode 100644
index 5172939e51f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/129.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0F71
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/13.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/13.pl
deleted file mode 100644
index c7bc0c2a015..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/13.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-05B3
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/130.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/130.pl
deleted file mode 100644
index c090ab9d511..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/130.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0F72
-0F7A 0F7D
-0F80
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/132.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/132.pl
deleted file mode 100644
index 60243fdc3bb..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/132.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0F74
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/14.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/14.pl
deleted file mode 100644
index a132413e212..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/14.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-05B4
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/15.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/15.pl
deleted file mode 100644
index be31d313217..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/15.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-05B5
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/16.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/16.pl
deleted file mode 100644
index d62afeb5ac8..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/16.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-05B6
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/17.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/17.pl
deleted file mode 100644
index 6a8370e2168..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/17.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-05B7
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/18.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/18.pl
deleted file mode 100644
index c23863671a6..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/18.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-05B8
-05C7
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/19.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/19.pl
deleted file mode 100644
index 2e421536f1f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/19.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-05B9 05BA
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/20.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/20.pl
deleted file mode 100644
index 62d0b984184..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/20.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-05BB
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/21.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/21.pl
deleted file mode 100644
index eec16009f6b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/21.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-05BC
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/22.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/22.pl
deleted file mode 100644
index 242177c1af4..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/22.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-05BD
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/23.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/23.pl
deleted file mode 100644
index 3c5a1b96ae1..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/23.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-05BF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/24.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/24.pl
deleted file mode 100644
index a5e9e5a2bf3..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/24.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-05C1
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/25.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/25.pl
deleted file mode 100644
index 594b91642b6..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/25.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-05C2
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/26.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/26.pl
deleted file mode 100644
index 4926b8225ce..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/26.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-FB1E
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/27.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/27.pl
deleted file mode 100644
index 982cd7be49b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/27.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-064B
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/28.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/28.pl
deleted file mode 100644
index ac6ad971c62..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/28.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-064C
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/29.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/29.pl
deleted file mode 100644
index 67366e64565..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/29.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-064D
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/30.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/30.pl
deleted file mode 100644
index f6c9eb6fabd..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/30.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0618
-064E
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/31.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/31.pl
deleted file mode 100644
index 693fec462e3..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/31.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0619
-064F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/32.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/32.pl
deleted file mode 100644
index f74f2e00e6b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/32.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-061A
-0650
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/33.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/33.pl
deleted file mode 100644
index e5a47f7b5da..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/33.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0651
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/34.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/34.pl
deleted file mode 100644
index 4d6d9599df3..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/34.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0652
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/35.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/35.pl
deleted file mode 100644
index ad6a9ee705f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/35.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0670
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/36.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/36.pl
deleted file mode 100644
index 03b159a91ae..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/36.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0711
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/84.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/84.pl
deleted file mode 100644
index 669c712c44a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/84.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0C55
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/91.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/91.pl
deleted file mode 100644
index 515c528fc3d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/91.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0C56
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/A.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/A.pl
index ed80c70c61a..c3606847b24 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/A.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/A.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -50,6 +50,12 @@ return <<'END';
081B 0823
0825 0827
0829 082D
+08E4 08E5
+08E7 08E8
+08EA 08EC
+08F3 08F5
+08F7 08F8
+08FB 08FE
0951
0953 0954
0F82 0F83
@@ -64,6 +70,7 @@ return <<'END';
1CD0 1CD2
1CDA 1CDB
1CE0
+1CF4
1DC0 1DC1
1DC3 1DC9
1DCB 1DCC
@@ -79,7 +86,8 @@ return <<'END';
2CEF 2CF1
2DE0 2DFF
A66F
-A67C A67D
+A674 A67D
+A69F
A6F0 A6F1
A8E0 A8F1
AAB0
@@ -90,6 +98,7 @@ AAC1
FE20 FE26
10A0F
10A38
+11100 11102
1D185 1D189
1D1AA 1D1AD
1D242 1D244
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AL.pl
index d7b7115952d..2b30889ea89 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AL.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AR.pl
index 93681ea97ec..726b02c25cf 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AR.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/AR.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATA.pl
index ed0220e8586..b95207eca3c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATA.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATA.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATAR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATAR.pl
index 81283dbd914..73f7c534f60 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATAR.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATAR.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATB.pl
index b3f9925d81a..c61c36c0f50 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATB.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATBL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATBL.pl
deleted file mode 100644
index 70006a19211..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/ATBL.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-!utf8::IsAny
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/B.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/B.pl
index 3f2b1771681..eba2a6e1f5b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/B.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/B.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -41,6 +41,11 @@ return <<'END';
0748
07F2
0859 085B
+08E6
+08E9
+08ED 08EF
+08F6
+08F9 08FA
0952
0F18 0F19
0F35
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BL.pl
index ff579d22976..1050a4d25ab 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BL.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BR.pl
index a0f52cdf235..11a194fc7a9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BR.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/BR.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC10.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC10.pl
new file mode 100644
index 00000000000..8d5664d65b1
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC10.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+05B0
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC103.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC103.pl
new file mode 100644
index 00000000000..38765038490
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC103.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0E38 0E39
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC107.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC107.pl
new file mode 100644
index 00000000000..6f180365542
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC107.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0E48 0E4B
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC11.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC11.pl
new file mode 100644
index 00000000000..fd83cce420a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC11.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+05B1
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC118.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC118.pl
new file mode 100644
index 00000000000..3593d874956
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC118.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0EB8 0EB9
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC12.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC12.pl
new file mode 100644
index 00000000000..f95ff9f922f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC12.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+05B2
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC122.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC122.pl
new file mode 100644
index 00000000000..8842f9789b2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC122.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0EC8 0ECB
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC129.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC129.pl
new file mode 100644
index 00000000000..6036a6abc07
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC129.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0F71
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC13.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC13.pl
new file mode 100644
index 00000000000..6ffc36cdf7b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC13.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+05B3
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC130.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC130.pl
new file mode 100644
index 00000000000..3778dfdcefc
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC130.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0F72
+0F7A 0F7D
+0F80
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC132.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC132.pl
new file mode 100644
index 00000000000..44a8c02bce2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC132.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0F74
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC14.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC14.pl
new file mode 100644
index 00000000000..b5af6b098e1
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC14.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+05B4
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC15.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC15.pl
new file mode 100644
index 00000000000..1a3afcf10e1
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC15.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+05B5
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC16.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC16.pl
new file mode 100644
index 00000000000..d1ae535b7e3
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC16.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+05B6
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC17.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC17.pl
new file mode 100644
index 00000000000..51d966dd499
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC17.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+05B7
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC18.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC18.pl
new file mode 100644
index 00000000000..1223ef3d2b7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC18.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+05B8
+05C7
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC19.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC19.pl
new file mode 100644
index 00000000000..3ff22575c78
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC19.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+05B9 05BA
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC20.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC20.pl
new file mode 100644
index 00000000000..2b073069553
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC20.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+05BB
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC21.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC21.pl
new file mode 100644
index 00000000000..aadf3ba9ff2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC21.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+05BC
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC22.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC22.pl
new file mode 100644
index 00000000000..795e896a260
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC22.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+05BD
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC23.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC23.pl
new file mode 100644
index 00000000000..11434a575c1
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC23.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+05BF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC24.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC24.pl
new file mode 100644
index 00000000000..62b69ea9f45
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC24.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+05C1
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC25.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC25.pl
new file mode 100644
index 00000000000..2dcd175965c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC25.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+05C2
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC26.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC26.pl
new file mode 100644
index 00000000000..54638addbcf
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC26.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+FB1E
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC27.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC27.pl
new file mode 100644
index 00000000000..e09d4f1438e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC27.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+064B
+08F0
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC28.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC28.pl
new file mode 100644
index 00000000000..1562ccb1970
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC28.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+064C
+08F1
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC29.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC29.pl
new file mode 100644
index 00000000000..05121db18de
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC29.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+064D
+08F2
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC30.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC30.pl
new file mode 100644
index 00000000000..420850a33a9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC30.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0618
+064E
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC31.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC31.pl
new file mode 100644
index 00000000000..77ba4d7f4aa
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC31.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0619
+064F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC32.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC32.pl
new file mode 100644
index 00000000000..c019a91a600
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC32.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+061A
+0650
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC33.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC33.pl
new file mode 100644
index 00000000000..d17538c2c3a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC33.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0651
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC34.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC34.pl
new file mode 100644
index 00000000000..a26ac1e690c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC34.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0652
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC35.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC35.pl
new file mode 100644
index 00000000000..6d4bff8c1ed
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC35.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0670
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC36.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC36.pl
new file mode 100644
index 00000000000..ba8be3448f9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC36.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0711
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC84.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC84.pl
new file mode 100644
index 00000000000..f0d5e8c69d6
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC84.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0C55
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC91.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC91.pl
new file mode 100644
index 00000000000..3f7bc70611d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/CCC91.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0C56
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DA.pl
index c85cb6d74b3..2ebc04efa17 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DA.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DA.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DB.pl
index d67324d903d..df4ee7a5c46 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/DB.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/IS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/IS.pl
index fab12371195..442835c2724 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/IS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/IS.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/KV.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/KV.pl
index 9884fc9b9fa..9631944d931 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/KV.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/KV.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/L.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/L.pl
index 56bbe7d96b0..7fea4fb87e3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/L.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/L.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NK.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NK.pl
index 1e2c13f94f8..a6fd15c94f1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NK.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NK.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -21,4 +21,5 @@ return <<'END';
1C37
A9B3
110BA
+116B7
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NR.pl
index 2b999ea2796..88b42a110a1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NR.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/NR.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -32,7 +32,8 @@ return <<'END';
0824
0828
082E 0858
-085C 093B
+085C 08E3
+08FF 093B
093D 094C
094E 0950
0955 09BB
@@ -83,14 +84,15 @@ return <<'END';
1B35 1B43
1B45 1B6A
1B74 1BA9
-1BAB 1BE5
+1BAC 1BE5
1BE7 1BF1
1BF4 1C36
1C38 1CCF
1CD3
1CE1
1CE9 1CEC
-1CEE 1DBF
+1CEE 1CF3
+1CF5 1DBF
1DE7 1DFB
1E00 20CF
20DD 20E0
@@ -101,8 +103,9 @@ return <<'END';
2E00 3029
3030 3098
309B A66E
-A670 A67B
-A67E A6EF
+A670 A673
+A67E A69E
+A6A0 A6EF
A6F2 A805
A807 A8C3
A8C5 A8DF
@@ -115,7 +118,8 @@ AAB1
AAB5 AAB6
AAB9 AABD
AAC0
-AAC2 ABEC
+AAC2 AAF5
+AAF7 ABEC
ABEE FB1D
FB1F FE1F
FE27 101FC
@@ -125,7 +129,11 @@ FE27 101FC
10A3B 10A3E
10A40 11045
11047 110B8
-110BB 1D164
+110BB 110FF
+11103 11132
+11135 111BF
+111C1 116B5
+116B8 1D164
1D16A 1D16C
1D173 1D17A
1D183 1D184
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/OV.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/OV.pl
index 0482c44879d..3b9501d8ff0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/OV.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/OV.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/R.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/R.pl
index 63a7a98b27a..469a836c0d3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/R.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/R.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/VR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/VR.pl
index 9f945f1503d..f02782548a6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/VR.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ccc/VR.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -27,15 +27,19 @@ return <<'END';
17D2
1A60
1B44
-1BAA
+1BAA 1BAB
1BF2 1BF3
2D7F
A806
A8C4
A953
A9C0
+AAF6
ABED
10A3F
11046
110B9
+11133 11134
+111C0
+116B6
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CompEx/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CompEx/N.pl
deleted file mode 100644
index c152f3ac0c4..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CompEx/N.pl
+++ /dev/null
@@ -1,87 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 033F
-0342
-0345 0373
-0375 037D
-037F 0386
-0388 0957
-0960 09DB
-09DE
-09E0 0A32
-0A34 0A35
-0A37 0A58
-0A5C 0A5D
-0A5F 0B5B
-0B5E 0F42
-0F44 0F4C
-0F4E 0F51
-0F53 0F56
-0F58 0F5B
-0F5D 0F68
-0F6A 0F72
-0F74
-0F77
-0F79 0F80
-0F82 0F92
-0F94 0F9C
-0F9E 0FA1
-0FA3 0FA6
-0FA8 0FAB
-0FAD 0FB8
-0FBA 1F70
-1F72
-1F74
-1F76
-1F78
-1F7A
-1F7C
-1F7E 1FBA
-1FBC 1FBD
-1FBF 1FC8
-1FCA
-1FCC 1FD2
-1FD4 1FDA
-1FDC 1FE2
-1FE4 1FEA
-1FEC 1FED
-1FF0 1FF8
-1FFA
-1FFC
-1FFE 1FFF
-2002 2125
-2127 2129
-212C 2328
-232B 2ADB
-2ADD F8FF
-FA0E FA0F
-FA11
-FA13 FA14
-FA1F
-FA21
-FA23 FA24
-FA27 FA29
-FA2E FA2F
-FA6E FA6F
-FADA FB1C
-FB1E
-FB20 FB29
-FB37
-FB3D
-FB3F
-FB42
-FB45
-FB4F 1D15D
-1D165 1D1BA
-1D1C1 2F7FF
-2FA1E 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/CompEx/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/CompEx/Y.pl
index d61040c79da..a0c9ee1ccd2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/CompEx/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/CompEx/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -69,8 +69,7 @@ FA15 FA1E
FA20
FA22
FA25 FA26
-FA2A FA2D
-FA30 FA6D
+FA2A FA6D
FA70 FAD9
FB1D
FB1F
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/DI/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/DI/N.pl
deleted file mode 100644
index fd091a8479b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/DI/N.pl
+++ /dev/null
@@ -1,28 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 00AC
-00AE 034E
-0350 115E
-1161 17B3
-17B6 180A
-180E 200A
-2010 2029
-202F 205F
-2070 3163
-3165 FDFF
-FE10 FEFE
-FF00 FF9F
-FFA1 FFEF
-FFF9 1D172
-1D17B DFFFF
-E1000 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/DI/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/DI/Y.pl
index 158b7f30630..89ed7b2db72 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/DI/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/DI/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dash/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dash/N.pl
deleted file mode 100644
index cf32f8698fe..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dash/N.pl
+++ /dev/null
@@ -1,32 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 002C
-002E 0589
-058B 05BD
-05BF 13FF
-1401 1805
-1807 200F
-2016 2052
-2054 207A
-207C 208A
-208C 2211
-2213 2E16
-2E18 2E19
-2E1B 301B
-301D 302F
-3031 309F
-30A1 FE30
-FE33 FE57
-FE59 FE62
-FE64 FF0C
-FF0E 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dash/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dash/Y.pl
index 9f9ae68c51c..43356483c54 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dash/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dash/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -21,6 +21,7 @@ return <<'END';
2212
2E17
2E1A
+2E3A 2E3B
301C
3030
30A0
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dep/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dep/N.pl
deleted file mode 100644
index b1b2dee78e0..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dep/N.pl
+++ /dev/null
@@ -1,22 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0148
-014A 0672
-0674 0F76
-0F78
-0F7A 17A2
-17A5 2069
-2070 2328
-232B E0000
-E0002 E001F
-E0080 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dep/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dep/Y.pl
index a472e0bb727..8c439657698 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dep/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dep/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dia/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dia/N.pl
deleted file mode 100644
index 94a80305ede..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dia/N.pl
+++ /dev/null
@@ -1,130 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 005D
-005F
-0061 00A7
-00A9 00AE
-00B0 00B3
-00B5 00B6
-00B9 02AF
-034F
-0358 035C
-0363 0373
-0376 0379
-037B 0383
-0386 0482
-0488 0558
-055A 0590
-05A2
-05BE
-05C0
-05C3
-05C5 064A
-0653 0656
-0659 06DE
-06E1 06E4
-06E7 06E9
-06ED 072F
-074B 07A5
-07B1 07EA
-07F6 0817
-081A 093B
-093D 094C
-094E 0950
-0955 0970
-0972 09BB
-09BD 09CC
-09CE 0A3B
-0A3D 0A4C
-0A4E 0ABB
-0ABD 0ACC
-0ACE 0B3B
-0B3D 0B4C
-0B4E 0BCC
-0BCE 0C4C
-0C4E 0CBB
-0CBD 0CCC
-0CCE 0D4C
-0D4E 0DC9
-0DCB 0E46
-0E4D
-0E4F 0EC7
-0ECD 0F17
-0F1A 0F34
-0F36
-0F38
-0F3A 0F3D
-0F40 0F81
-0F85
-0F88 0FC5
-0FC7 1036
-1038
-103B 1086
-108E
-1090 1099
-109C 17C8
-17D4 17DC
-17DE 1938
-193C 1A74
-1A7D 1A7E
-1A80 1B33
-1B35 1B43
-1B45 1B6A
-1B74 1BA9
-1BAB 1C35
-1C38 1C77
-1C7E 1CCF
-1CE9 1CEC
-1CEE 1D2B
-1D6B 1DC3
-1DD0 1DFC
-1E00 1FBC
-1FBE
-1FC2 1FCC
-1FD0 1FDC
-1FE0 1FEC
-1FF0 1FFC
-1FFF 2CEE
-2CF2 2E2E
-2E30 3029
-3030 3098
-309D 30FB
-30FD A66E
-A670 A67B
-A67E
-A680 A6EF
-A6F2 A716
-A722 A787
-A789 A8C3
-A8C5 A8DF
-A8F2 A92A
-A92F A952
-A954 A9B2
-A9B4 A9BF
-A9C1 AA7A
-AA7C AABE
-AAC3 ABEB
-ABEE FB1D
-FB1F FE1F
-FE27 FF3D
-FF3F
-FF41 FF6F
-FF71 FF9D
-FFA0 FFE2
-FFE4 110B8
-110BB 1D166
-1D16A 1D16C
-1D173 1D17A
-1D183 1D184
-1D18C 1D1A9
-1D1AE 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dia/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dia/Y.pl
index aff05533632..0b9f75082cc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dia/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dia/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -37,6 +37,7 @@ return <<'END';
07A6 07B0
07EB 07F5
0818 0819
+08E4 08FE
093C
094D
0951 0954
@@ -79,11 +80,12 @@ return <<'END';
1B34
1B44
1B6B 1B73
-1BAA
+1BAA 1BAB
1C36 1C37
1C78 1C7D
1CD0 1CE8
1CED
+1CF4
1D2C 1D6A
1DC4 1DCF
1DFD 1DFF
@@ -104,6 +106,7 @@ A67F
A6F0 A6F1
A717 A721
A788
+A7F8 A7F9
A8C4
A8E0 A8F1
A92B A92E
@@ -112,6 +115,7 @@ A9B3
A9C0
AA7B
AABF AAC2
+AAF6
ABEC ABED
FB1E
FE20 FE26
@@ -121,6 +125,10 @@ FF70
FF9E FF9F
FFE3
110B9 110BA
+11133 11134
+111C0
+116B6 116B7
+16F8F 16F9F
1D167 1D169
1D16D 1D172
1D17B 1D182
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Com.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Com.pl
index b0da90f3000..6b2372ea386 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Com.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Com.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Enc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Enc.pl
index f3fc5c70178..93e0eef648a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Enc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Enc.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fin.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fin.pl
index 224e2a09e6a..6cc56d33797 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fin.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fin.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Font.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Font.pl
index 23e9a956073..e279c8886eb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Font.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Font.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -43,4 +43,37 @@ FB20 FB29
1D552 1D6A5
1D6A8 1D7CB
1D7CE 1D7FF
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fra.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fra.pl
index 851bcd287be..99d6fc8cc8a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fra.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Fra.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Init.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Init.pl
index db63f5a3ef2..c8a05014122 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Init.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Init.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Iso.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Iso.pl
index c8fdddc6810..c254a7fd01d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Iso.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Iso.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Med.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Med.pl
index 76cf227cf84..ce394da96be 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Med.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Med.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nar.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nar.pl
index 8f27822766b..9570e77f099 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nar.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nar.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nb.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nb.pl
index c4fc9b96d9c..78001d16fd3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nb.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Nb.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/NonCanon.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/NonCanon.pl
index 75a18c7dc46..6639d6784c2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/NonCanon.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/NonCanon.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -106,6 +106,7 @@ return <<'END';
3280 32FE
3300 33FF
A770
+A7F8 A7F9
FB00 FB06
FB13 FB17
FB20 FB29
@@ -150,9 +151,43 @@ FFE8 FFEE
1D552 1D6A5
1D6A8 1D7CB
1D7CE 1D7FF
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
1F100 1F10A
1F110 1F12E
1F130 1F14F
+1F16A 1F16B
1F190
1F200 1F202
1F210 1F23A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/None.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/None.pl
index cccc65f924b..12913a53b1a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/None.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/None.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -284,7 +284,8 @@ return <<'END';
327F
32FF
3400 A76F
-A771 ABFF
+A771 A7F7
+A7FA ABFF
D7A4 F8FF
FA0E FA0F
FA11
@@ -293,7 +294,6 @@ FA1F
FA21
FA23 FA24
FA27 FA29
-FA2E FA2F
FA6E FA6F
FADA FAFF
FB07 FB12
@@ -326,7 +326,8 @@ FFE7
FFEF 11099
1109B
1109D 110AA
-110AC 1D15D
+110AC 1112D
+11130 1D15D
1D165 1D1BA
1D1C1 1D3FF
1D455
@@ -349,10 +350,44 @@ FFEF 11099
1D551
1D6A6 1D6A7
1D7CC 1D7CD
-1D800 1F0FF
+1D800 1EDFF
+1EE04
+1EE20
+1EE23
+1EE25 1EE26
+1EE28
+1EE33
+1EE38
+1EE3A
+1EE3C 1EE41
+1EE43 1EE46
+1EE48
+1EE4A
+1EE4C
+1EE50
+1EE53
+1EE55 1EE56
+1EE58
+1EE5A
+1EE5C
+1EE5E
+1EE60
+1EE63
+1EE65 1EE66
+1EE6B
+1EE73
+1EE78
+1EE7D
+1EE7F
+1EE8A
+1EE9C 1EEA0
+1EEA4
+1EEAA
+1EEBC 1F0FF
1F10B 1F10F
1F12F
-1F150 1F18F
+1F150 1F169
+1F16C 1F18F
1F191 1F1FF
1F203 1F20F
1F23B 1F23F
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sml.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sml.pl
index cfdce090200..c8e19b03e1a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sml.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sml.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sqr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sqr.pl
index 058752bb43b..21c28461387 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sqr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sqr.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sub.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sub.pl
index 0b50755d714..dcee8769484 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sub.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sub.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sup.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sup.pl
index c3d5f99e1bb..428c2078bf9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sup.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Sup.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -29,4 +29,6 @@ return <<'END';
2D6F
3192 319F
A770
+A7F8 A7F9
+1F16A 1F16B
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Vert.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Vert.pl
index c5b5e9623fd..c224b7d97e3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Vert.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Dt/Vert.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/A.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/A.pl
index 401ce6cf7f0..e431ee8090c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/A.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/A.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/F.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/F.pl
index a47fd9df642..59ba8f5f981 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/F.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/F.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/H.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/H.pl
index fe83d1249d7..fb72f9d5a49 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/H.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/H.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/N.pl
index 69b04ff76b0..d8d0f8dcdba 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/N.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/Na.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/Na.pl
index bfc3a7712ad..10f824d1de3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/Na.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/Na.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/W.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/W.pl
index f7088847196..602a40c2fd8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ea/W.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ea/W.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ext/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ext/N.pl
deleted file mode 100644
index 4ec0c91fece..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ext/N.pl
+++ /dev/null
@@ -1,33 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 00B6
-00B8 02CF
-02D2 063F
-0641 07F9
-07FB 0E45
-0E47 0EC5
-0EC7 1842
-1844 1AA6
-1AA8 1C35
-1C37 1C7A
-1C7C 3004
-3006 3030
-3036 309C
-309F 30FB
-30FF A014
-A016 A60B
-A60D A9CE
-A9D0 AA6F
-AA71 AADC
-AADE FF6F
-FF71 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ext/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ext/Y.pl
index d851e445eca..8edf7051422 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ext/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ext/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -15,6 +15,7 @@ return <<'END';
07FA
0E46
0EC6
+180A
1843
1AA7
1C36
@@ -28,5 +29,6 @@ A60C
A9CF
AA70
AADD
+AAF3 AAF4
FF70
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CN.pl
index 4bbfe78ae28..0ad95110634 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CN.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CN.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -14,19 +14,18 @@ return <<'END';
000E 001F
007F 009F
00AD
-0600 0603
+0600 0604
06DD
070F
-17B4 17B5
200B
200E 200F
2028 202E
-2060 2064
-206A 206F
+2060 206F
+D800 DFFF
FEFF
-FFF9 FFFB
+FFF0 FFFB
110BD
1D173 1D17A
-E0001
-E0020 E007F
+E0000 E00FF
+E01F0 E0FFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CR.pl
deleted file mode 100644
index 01763798c65..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/CR.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-000D
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/EX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/EX.pl
index 2a8295b0c7c..9977a25cecb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/EX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/EX.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -32,6 +32,7 @@ return <<'END';
0825 0827
0829 082D
0859 085B
+08E4 08FE
0900 0902
093A
093C
@@ -127,6 +128,7 @@ return <<'END';
1732 1734
1752 1753
1772 1773
+17B4 17B5
17B7 17BD
17C6
17C9 17D3
@@ -154,6 +156,7 @@ return <<'END';
1B80 1B81
1BA2 1BA5
1BA8 1BA9
+1BAB
1BE6
1BE8 1BE9
1BED
@@ -164,6 +167,7 @@ return <<'END';
1CD4 1CE0
1CE2 1CE8
1CED
+1CF4
1DC0 1DE6
1DFC 1DFF
200C 200D
@@ -174,7 +178,8 @@ return <<'END';
302A 302F
3099 309A
A66F A672
-A67C A67D
+A674 A67D
+A69F
A6F0 A6F1
A802
A806
@@ -198,6 +203,8 @@ AAB2 AAB4
AAB7 AAB8
AABE AABF
AAC1
+AAEC AAED
+AAF6
ABE5
ABE8
ABED
@@ -216,6 +223,16 @@ FF9E FF9F
11080 11081
110B3 110B6
110B9 110BA
+11100 11102
+11127 1112B
+1112D 11134
+11180 11181
+111B6 111BE
+116AB
+116AD
+116B0 116B5
+116B7
+16F8F 16F92
1D165
1D167 1D169
1D16E 1D172
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/L.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/L.pl
deleted file mode 100644
index 166b6712d15..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/L.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1100 115F
-A960 A97C
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LF.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LF.pl
deleted file mode 100644
index 7abbe766ce7..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LF.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-000A
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/PP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/PP.pl
deleted file mode 100644
index 26409417854..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/PP.pl
+++ /dev/null
@@ -1,17 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0E40 0E44
-0EC0 0EC4
-AAB5 AAB6
-AAB9
-AABB AABC
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/SM.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/SM.pl
index 7bd64de957f..b9b0d7a1df5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/SM.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/SM.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -48,24 +48,14 @@ return <<'END';
0DD0 0DD1
0DD8 0DDE
0DF2 0DF3
-0E30
-0E32 0E33
-0E45
-0EB0
-0EB2 0EB3
+0E33
+0EB3
0F3E 0F3F
0F7F
-102B 102C
1031
-1038
103B 103C
1056 1057
-1062 1064
-1067 106D
-1083 1084
-1087 108C
-108F
-109A 109C
+1084
17B6
17BE 17C5
17C7 17C8
@@ -73,13 +63,11 @@ return <<'END';
1929 192B
1930 1931
1933 1938
-19B0 19C0
-19C8 19C9
+19B5 19B7
+19BA
1A19 1A1B
1A55
1A57
-1A61
-1A63 1A64
1A6D 1A72
1B04
1B35
@@ -90,6 +78,7 @@ return <<'END';
1BA1
1BA6 1BA7
1BAA
+1BAC 1BAD
1BE7
1BEA 1BEC
1BEE
@@ -97,7 +86,7 @@ return <<'END';
1C24 1C2B
1C34 1C35
1CE1
-1CF2
+1CF2 1CF3
A823 A824
A827
A880 A881
@@ -110,7 +99,9 @@ A9BD A9C0
AA2F AA30
AA33 AA34
AA4D
-AA7B
+AAEB
+AAEE AAEF
+AAF5
ABE3 ABE4
ABE6 ABE7
ABE9 ABEA
@@ -120,6 +111,14 @@ ABEC
11082
110B0 110B2
110B7 110B8
+1112C
+11182
+111B3 111B5
+111BF 111C0
+116AC
+116AE 116AF
+116B6
+16F51 16F7E
1D166
1D16D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/T.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/T.pl
deleted file mode 100644
index d1688742fd5..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/T.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-11A8 11FF
-D7CB D7FB
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/V.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/V.pl
deleted file mode 100644
index 9c8c5332799..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/V.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1160 11A7
-D7B0 D7C6
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/XX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/XX.pl
index 2d0040705ec..fc605dbe33c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/XX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GCB/XX.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -19,7 +19,7 @@ return <<'END';
05C3
05C6
05C8 05FF
-0604 060F
+0605 060F
061B 064A
0660 066F
0671 06D5
@@ -36,7 +36,8 @@ return <<'END';
0824
0828
082E 0858
-085C 08FF
+085C 08E3
+08FF
0904 0939
093D
0950
@@ -99,13 +100,13 @@ return <<'END';
0DD5
0DD7
0DE0 0DF1
-0DF4 0E2F
-0E3B 0E3F
-0E46
-0E4F 0EAF
+0DF4 0E30
+0E32
+0E3B 0E46
+0E4F 0EB0
+0EB2
0EBA
-0EBD 0EBF
-0EC5 0EC7
+0EBD 0EC7
0ECE 0F17
0F1A 0F34
0F36
@@ -116,15 +117,15 @@ return <<'END';
0F88 0F8C
0F98
0FBD 0FC5
-0FC7 102A
+0FC7 102C
+1038
103F 1055
105A 105D
-1061
-1065 1066
-106E 1070
+1061 1070
1075 1081
-108E
-1090 1099
+1083
+1087 108C
+108E 109C
109E 10FF
1200 135C
1360 1711
@@ -137,29 +138,30 @@ return <<'END';
180E 18A8
18AA 191F
192C 192F
-193C 19AF
-19C1 19C7
-19CA 1A16
+193C 19B4
+19B8 19B9
+19BB 1A16
1A1C 1A54
1A5F
+1A61
+1A63 1A64
1A7D 1A7E
1A80 1AFF
1B05 1B33
1B45 1B6A
1B74 1B7F
1B83 1BA0
-1BAB 1BE5
+1BAE 1BE5
1BF4 1C23
1C38 1CCF
1CD3
1CE9 1CEC
1CEE 1CF1
-1CF3 1DBF
+1CF5 1DBF
1DE7 1DFB
1E00 200A
2010 2027
202F 205F
-2065 2069
2070 20CF
20F1 2CEE
2CF2 2D7E
@@ -167,8 +169,9 @@ return <<'END';
2E00 3029
3030 3098
309B A66E
-A673 A67B
-A67E A6EF
+A673
+A67E A69E
+A6A0 A6EF
A6F2 A801
A803 A805
A807 A80A
@@ -184,23 +187,25 @@ A984 A9B2
A9C1 AA28
AA37 AA42
AA44 AA4B
-AA4E AA7A
-AA7C AAAF
+AA4E AAAF
AAB1
-AABA
-AABD
+AAB5 AAB6
+AAB9 AABD
AAC0
-AAC2 ABE2
+AAC2 AAEA
+AAF0 AAF4
+AAF7 ABE2
ABEB
ABEE ABFF
D7A4 D7AF
D7C7 D7CA
-D7FC FB1D
+D7FC D7FF
+E000 FB1D
FB1F FDFF
FE10 FE1F
FE27 FEFE
FF00 FF9D
-FFA0 FFF8
+FFA0 FFEF
FFFC 101FC
101FE 10A00
10A04
@@ -212,13 +217,18 @@ FFFC 101FC
11047 1107F
11083 110AF
110BB 110BC
-110BE 1D164
+110BE 110FF
+11103 11126
+11135 1117F
+11183 111B2
+111C1 116AA
+116B8 16F50
+16F7F 16F8E
+16F93 1D164
1D16A 1D16C
1D183 1D184
1D18C 1D1A9
1D1AE 1D241
-1D245 E0000
-E0002 E001F
-E0080 E00FF
-E01F0 10FFFF
+1D245 DFFFF
+E1000 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/C.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/C.pl
index 74eac01c944..fb2e2cad256 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/C.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/C.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -21,7 +21,8 @@ return <<'END';
0557 0558
0560
0588
-058B 0590
+058B 058E
+0590
05C8 05CF
05EB 05EF
05F5 0605
@@ -34,7 +35,10 @@ return <<'END';
082E 082F
083F
085C 085D
-085F 08FF
+085F 089F
+08A1
+08AD 08E3
+08FF
0978
0980
0984
@@ -79,7 +83,6 @@ return <<'END';
0ACE 0ACF
0AD1 0ADF
0AE4 0AE5
-0AF0
0AF2 0B00
0B04
0B0D 0B0E
@@ -180,15 +183,16 @@ return <<'END';
0EC7
0ECE 0ECF
0EDA 0EDB
-0EDE 0EFF
+0EE0 0EFF
0F48
0F6D 0F70
0F98
0FBD
0FCD
0FDB 0FFF
-10C6 10CF
-10FD 10FF
+10C6
+10C8 10CC
+10CE 10CF
1249
124E 124F
1257
@@ -217,7 +221,6 @@ return <<'END';
176D
1771
1774 177F
-17B4 17B5
17DE 17DF
17EA 17EF
17FA 17FF
@@ -243,13 +246,12 @@ return <<'END';
1AAE 1AFF
1B4C 1B4F
1B7D 1B7F
-1BAB 1BAD
-1BBA 1BBF
1BF4 1BFB
1C38 1C3A
1C4A 1C4C
-1C80 1CCF
-1CF3 1CFF
+1C80 1CBF
+1CC8 1CCF
+1CF7 1CFF
1DE7 1DFB
1F16 1F17
1F1E 1F1F
@@ -280,15 +282,15 @@ return <<'END';
2427 243F
244B 245F
2700
-27CB
-27CD
2B4D 2B4F
2B5A 2BFF
2C2F
2C5F
-2CF2 2CF8
-2D26 2D2F
-2D66 2D6E
+2CF4 2CF8
+2D26
+2D28 2D2C
+2D2E 2D2F
+2D68 2D6E
2D71 2D7E
2D97 2D9F
2DA7
@@ -299,7 +301,7 @@ return <<'END';
2DCF
2DD7
2DDF
-2E32 2E7F
+2E3C 2E7F
2E9A
2EF4 2EFF
2FD6 2FEF
@@ -314,16 +316,15 @@ return <<'END';
321F
32FF
4DB6 4DBF
-9FCC 9FFF
+9FCD 9FFF
A48D A48F
A4C7 A4CF
A62C A63F
-A674 A67B
-A698 A69F
+A698 A69E
A6F8 A6FF
A78F
-A792 A79F
-A7AA A7F9
+A794 A79F
+A7AB A7F7
A82C A82F
A83A A83F
A878 A87F
@@ -340,7 +341,7 @@ AA4E AA4F
AA5A AA5B
AA7C AA7F
AAC3 AADA
-AAE0 AB00
+AAF7 AB00
AB07 AB08
AB0F AB10
AB17 AB1F
@@ -351,7 +352,6 @@ ABFA ABFF
D7A4 D7AF
D7C7 D7CA
D7FC F8FF
-FA2E FA2F
FA6E FA6F
FADA FAFF
FB07 FB12
@@ -412,7 +412,9 @@ FFFE FFFF
10860 108FF
1091C 1091E
1093A 1093E
-10940 109FF
+10940 1097F
+109B8 109BD
+109C0 109FF
10A04
10A07 10A0B
10A14
@@ -431,12 +433,23 @@ FFFE FFFF
1104E 11051
11070 1107F
110BD
-110C2 11FFF
+110C2 110CF
+110E9 110EF
+110FA 110FF
+11135
+11144 1117F
+111C9 111CF
+111DA 1167F
+116B8 116BF
+116CA 11FFF
1236F 123FF
12463 1246F
12474 12FFF
1342F 167FF
-16A39 1AFFF
+16A39 16EFF
+16F45 16F4F
+16F7F 16F8E
+16FA0 1AFFF
1B002 1CFFF
1D0F6 1D0FF
1D127 1D128
@@ -465,7 +478,41 @@ FFFE FFFF
1D551
1D6A6 1D6A7
1D7CC 1D7CD
-1D800 1EFFF
+1D800 1EDFF
+1EE04
+1EE20
+1EE23
+1EE25 1EE26
+1EE28
+1EE33
+1EE38
+1EE3A
+1EE3C 1EE41
+1EE43 1EE46
+1EE48
+1EE4A
+1EE4C
+1EE50
+1EE53
+1EE55 1EE56
+1EE58
+1EE5A
+1EE5C
+1EE5E
+1EE60
+1EE63
+1EE65 1EE66
+1EE6B
+1EE73
+1EE78
+1EE7D
+1EE7F
+1EE8A
+1EE9C 1EEA0
+1EEA4
+1EEAA
+1EEBC 1EEEF
+1EEF2 1EFFF
1F02C 1F02F
1F094 1F09F
1F0AF 1F0B0
@@ -474,7 +521,7 @@ FFFE FFFF
1F0E0 1F0FF
1F10B 1F10F
1F12F
-1F16A 1F16F
+1F16C 1F16F
1F19B 1F1E5
1F203 1F20F
1F23B 1F23F
@@ -491,19 +538,9 @@ FFFE FFFF
1F441
1F4F8
1F4FD 1F4FF
-1F53E 1F54F
+1F53E 1F53F
+1F544 1F54F
1F568 1F5FA
-1F600
-1F611
-1F615
-1F617
-1F619
-1F61B
-1F61F
-1F626 1F627
-1F62C
-1F62E 1F62F
-1F634
1F641 1F644
1F650 1F67F
1F6C6 1F6FF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cc.pl
index 205cbf37f62..0102184ec7f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cc.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cf.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cf.pl
index 726563bb3b7..e163948b722 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cf.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cf.pl
@@ -1,19 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
00AD
-0600 0603
+0600 0604
06DD
070F
-17B4 17B5
200B 200F
202A 202E
2060 2064
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cn.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cn.pl
index 4ab28bef8ea..966def586b7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cn.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cn.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -18,11 +18,12 @@ return <<'END';
0557 0558
0560
0588
-058B 0590
+058B 058E
+0590
05C8 05CF
05EB 05EF
05F5 05FF
-0604 0605
+0605
061C 061D
070E
074B 074C
@@ -31,7 +32,10 @@ return <<'END';
082E 082F
083F
085C 085D
-085F 08FF
+085F 089F
+08A1
+08AD 08E3
+08FF
0978
0980
0984
@@ -76,7 +80,6 @@ return <<'END';
0ACE 0ACF
0AD1 0ADF
0AE4 0AE5
-0AF0
0AF2 0B00
0B04
0B0D 0B0E
@@ -177,15 +180,16 @@ return <<'END';
0EC7
0ECE 0ECF
0EDA 0EDB
-0EDE 0EFF
+0EE0 0EFF
0F48
0F6D 0F70
0F98
0FBD
0FCD
0FDB 0FFF
-10C6 10CF
-10FD 10FF
+10C6
+10C8 10CC
+10CE 10CF
1249
124E 124F
1257
@@ -239,13 +243,12 @@ return <<'END';
1AAE 1AFF
1B4C 1B4F
1B7D 1B7F
-1BAB 1BAD
-1BBA 1BBF
1BF4 1BFB
1C38 1C3A
1C4A 1C4C
-1C80 1CCF
-1CF3 1CFF
+1C80 1CBF
+1CC8 1CCF
+1CF7 1CFF
1DE7 1DFB
1F16 1F17
1F1E 1F1F
@@ -274,15 +277,15 @@ return <<'END';
2427 243F
244B 245F
2700
-27CB
-27CD
2B4D 2B4F
2B5A 2BFF
2C2F
2C5F
-2CF2 2CF8
-2D26 2D2F
-2D66 2D6E
+2CF4 2CF8
+2D26
+2D28 2D2C
+2D2E 2D2F
+2D68 2D6E
2D71 2D7E
2D97 2D9F
2DA7
@@ -293,7 +296,7 @@ return <<'END';
2DCF
2DD7
2DDF
-2E32 2E7F
+2E3C 2E7F
2E9A
2EF4 2EFF
2FD6 2FEF
@@ -308,16 +311,15 @@ return <<'END';
321F
32FF
4DB6 4DBF
-9FCC 9FFF
+9FCD 9FFF
A48D A48F
A4C7 A4CF
A62C A63F
-A674 A67B
-A698 A69F
+A698 A69E
A6F8 A6FF
A78F
-A792 A79F
-A7AA A7F9
+A794 A79F
+A7AB A7F7
A82C A82F
A83A A83F
A878 A87F
@@ -334,7 +336,7 @@ AA4E AA4F
AA5A AA5B
AA7C AA7F
AAC3 AADA
-AAE0 AB00
+AAF7 AB00
AB07 AB08
AB0F AB10
AB17 AB1F
@@ -345,7 +347,6 @@ ABFA ABFF
D7A4 D7AF
D7C7 D7CA
D7FC D7FF
-FA2E FA2F
FA6E FA6F
FADA FAFF
FB07 FB12
@@ -407,7 +408,9 @@ FFFE FFFF
10860 108FF
1091C 1091E
1093A 1093E
-10940 109FF
+10940 1097F
+109B8 109BD
+109C0 109FF
10A04
10A07 10A0B
10A14
@@ -425,12 +428,23 @@ FFFE FFFF
10E7F 10FFF
1104E 11051
11070 1107F
-110C2 11FFF
+110C2 110CF
+110E9 110EF
+110FA 110FF
+11135
+11144 1117F
+111C9 111CF
+111DA 1167F
+116B8 116BF
+116CA 11FFF
1236F 123FF
12463 1246F
12474 12FFF
1342F 167FF
-16A39 1AFFF
+16A39 16EFF
+16F45 16F4F
+16F7F 16F8E
+16FA0 1AFFF
1B002 1CFFF
1D0F6 1D0FF
1D127 1D128
@@ -458,7 +472,41 @@ FFFE FFFF
1D551
1D6A6 1D6A7
1D7CC 1D7CD
-1D800 1EFFF
+1D800 1EDFF
+1EE04
+1EE20
+1EE23
+1EE25 1EE26
+1EE28
+1EE33
+1EE38
+1EE3A
+1EE3C 1EE41
+1EE43 1EE46
+1EE48
+1EE4A
+1EE4C
+1EE50
+1EE53
+1EE55 1EE56
+1EE58
+1EE5A
+1EE5C
+1EE5E
+1EE60
+1EE63
+1EE65 1EE66
+1EE6B
+1EE73
+1EE78
+1EE7D
+1EE7F
+1EE8A
+1EE9C 1EEA0
+1EEA4
+1EEAA
+1EEBC 1EEEF
+1EEF2 1EFFF
1F02C 1F02F
1F094 1F09F
1F0AF 1F0B0
@@ -467,7 +515,7 @@ FFFE FFFF
1F0E0 1F0FF
1F10B 1F10F
1F12F
-1F16A 1F16F
+1F16C 1F16F
1F19B 1F1E5
1F203 1F20F
1F23B 1F23F
@@ -484,19 +532,9 @@ FFFE FFFF
1F441
1F4F8
1F4FD 1F4FF
-1F53E 1F54F
+1F53E 1F53F
+1F544 1F54F
1F568 1F5FA
-1F600
-1F611
-1F615
-1F617
-1F619
-1F61B
-1F61F
-1F626 1F627
-1F62C
-1F62E 1F62F
-1F634
1F641 1F644
1F650 1F67F
1F6C6 1F6FF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Co.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Co.pl
index 0da3f3ea638..611baff50ce 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Co.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Co.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cs.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cs.pl
index 45e26495da2..b256f791d32 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cs.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Cs.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/L.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/L.pl
index 0de81db0a56..dd3081c5912 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/L.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/L.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -56,6 +56,8 @@ return <<'END';
0824
0828
0840 0858
+08A0
+08A2 08AC
0904 0939
093D
0950
@@ -161,7 +163,7 @@ return <<'END';
0EBD
0EC0 0EC4
0EC6
-0EDC 0EDD
+0EDC 0EDF
0F00
0F40 0F47
0F49 0F6C
@@ -176,9 +178,10 @@ return <<'END';
1075 1081
108E
10A0 10C5
+10C7
+10CD
10D0 10FA
-10FC
-1100 1248
+10FC 1248
124A 124D
1250 1256
1258
@@ -225,12 +228,13 @@ return <<'END';
1B45 1B4B
1B83 1BA0
1BAE 1BAF
-1BC0 1BE5
+1BBA 1BE5
1C00 1C23
1C4D 1C4F
1C5A 1C7D
1CE9 1CEC
1CEE 1CF1
+1CF5 1CF6
1D00 1DBF
1E00 1F15
1F18 1F1D
@@ -272,8 +276,11 @@ return <<'END';
2C30 2C5E
2C60 2CE4
2CEB 2CEE
+2CF2 2CF3
2D00 2D25
-2D30 2D65
+2D27
+2D2D
+2D30 2D67
2D6F
2D80 2D96
2DA0 2DA6
@@ -297,7 +304,7 @@ return <<'END';
31A0 31BA
31F0 31FF
3400 4DB5
-4E00 9FCB
+4E00 9FCC
A000 A48C
A4D0 A4FD
A500 A60C
@@ -309,9 +316,9 @@ A6A0 A6E5
A717 A71F
A722 A788
A78B A78E
-A790 A791
-A7A0 A7A9
-A7FA A801
+A790 A793
+A7A0 A7AA
+A7F8 A801
A803 A805
A807 A80A
A80C A822
@@ -336,6 +343,8 @@ AAB9 AABD
AAC0
AAC2
AADB AADD
+AAE0 AAEA
+AAF2 AAF4
AB01 AB06
AB09 AB0E
AB11 AB16
@@ -345,8 +354,7 @@ ABC0 ABE2
AC00 D7A3
D7B0 D7C6
D7CB D7FB
-F900 FA2D
-FA30 FA6D
+F900 FA6D
FA70 FAD9
FB00 FB06
FB13 FB17
@@ -395,6 +403,8 @@ FFDA FFDC
1083F 10855
10900 10915
10920 10939
+10980 109B7
+109BE 109BF
10A00
10A10 10A13
10A15 10A17
@@ -406,9 +416,17 @@ FFDA FFDC
10C00 10C48
11003 11037
11083 110AF
+110D0 110E8
+11103 11126
+11183 111B2
+111C1 111C4
+11680 116AA
12000 1236E
13000 1342E
16800 16A38
+16F00 16F44
+16F50
+16F93 16F9F
1B000 1B001
1D400 1D454
1D456 1D49C
@@ -440,6 +458,39 @@ FFDA FFDC
1D78A 1D7A8
1D7AA 1D7C2
1D7C4 1D7CB
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
20000 2A6D6
2A700 2B734
2B740 2B81D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/LC.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/LC.pl
index 556d2bbfb3a..27690ff9288 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/LC.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/LC.pl
@@ -1,19 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
0041 005A
0061 007A
-00AA
00B5
-00BA
00C0 00D6
00D8 00F6
00F8 01BA
@@ -33,8 +31,10 @@ return <<'END';
0531 0556
0561 0587
10A0 10C5
+10C7
+10CD
1D00 1D2B
-1D62 1D77
+1D6B 1D77
1D79 1D9A
1E00 1F15
1F18 1F1D
@@ -72,17 +72,20 @@ return <<'END';
2183 2184
2C00 2C2E
2C30 2C5E
-2C60 2C7C
+2C60 2C7B
2C7E 2CE4
2CEB 2CEE
+2CF2 2CF3
2D00 2D25
+2D27
+2D2D
A640 A66D
A680 A697
A722 A76F
A771 A787
A78B A78E
-A790 A791
-A7A0 A7A9
+A790 A793
+A7A0 A7AA
A7FA
FB00 FB06
FB13 FB17
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ll.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ll.pl
index 27ab383eb66..2f926c69b7d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ll.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ll.pl
@@ -1,18 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
0061 007A
-00AA
00B5
-00BA
00DF 00F6
00F8 00FF
0101
@@ -278,7 +276,7 @@ return <<'END';
0527
0561 0587
1D00 1D2B
-1D62 1D77
+1D6B 1D77
1D79 1D9A
1E01
1E03
@@ -442,7 +440,7 @@ return <<'END';
2C6C
2C71
2C73 2C74
-2C76 2C7C
+2C76 2C7B
2C81
2C83
2C85
@@ -495,7 +493,10 @@ return <<'END';
2CE3 2CE4
2CEC
2CEE
+2CF3
2D00 2D25
+2D27
+2D2D
A641
A643
A645
@@ -580,6 +581,7 @@ A787
A78C
A78E
A791
+A793
A7A1
A7A3
A7A5
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lm.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lm.pl
index 73b6708c402..dfc5af0e8b0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lm.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lm.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -32,13 +32,13 @@ return <<'END';
1843
1AA7
1C78 1C7D
-1D2C 1D61
+1D2C 1D6A
1D78
1D9B 1DBF
2071
207F
2090 209C
-2C7D
+2C7C 2C7D
2D6F
2E2F
3005
@@ -53,9 +53,12 @@ A67F
A717 A71F
A770
A788
+A7F8 A7F9
A9CF
AA70
AADD
+AAF3 AAF4
FF70
FF9E FF9F
+16F93 16F9F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lo.pl
index 438bb438ade..723f35471fb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lo.pl
@@ -1,14 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
+00AA
+00BA
01BB
01C0 01C3
0294
@@ -29,6 +31,8 @@ return <<'END';
07CA 07EA
0800 0815
0840 0858
+08A0
+08A2 08AC
0904 0939
093D
0950
@@ -133,7 +137,7 @@ return <<'END';
0EB2 0EB3
0EBD
0EC0 0EC4
-0EDC 0EDD
+0EDC 0EDF
0F00
0F40 0F47
0F49 0F6C
@@ -148,7 +152,7 @@ return <<'END';
1075 1081
108E
10D0 10FA
-1100 1248
+10FD 1248
124A 124D
1250 1256
1258
@@ -194,14 +198,15 @@ return <<'END';
1B45 1B4B
1B83 1BA0
1BAE 1BAF
-1BC0 1BE5
+1BBA 1BE5
1C00 1C23
1C4D 1C4F
1C5A 1C77
1CE9 1CEC
1CEE 1CF1
+1CF5 1CF6
2135 2138
-2D30 2D65
+2D30 2D67
2D80 2D96
2DA0 2DA6
2DA8 2DAE
@@ -222,7 +227,7 @@ return <<'END';
31A0 31BA
31F0 31FF
3400 4DB5
-4E00 9FCB
+4E00 9FCC
A000 A014
A016 A48C
A4D0 A4F7
@@ -256,6 +261,8 @@ AAB9 AABD
AAC0
AAC2
AADB AADC
+AAE0 AAEA
+AAF2
AB01 AB06
AB09 AB0E
AB11 AB16
@@ -265,8 +272,7 @@ ABC0 ABE2
AC00 D7A3
D7B0 D7C6
D7CB D7FB
-F900 FA2D
-FA30 FA6D
+F900 FA6D
FA70 FAD9
FB1D
FB1F FB28
@@ -313,6 +319,8 @@ FFDA FFDC
1083F 10855
10900 10915
10920 10939
+10980 109B7
+109BE 109BF
10A00
10A10 10A13
10A15 10A17
@@ -324,10 +332,50 @@ FFDA FFDC
10C00 10C48
11003 11037
11083 110AF
+110D0 110E8
+11103 11126
+11183 111B2
+111C1 111C4
+11680 116AA
12000 1236E
13000 1342E
16800 16A38
+16F00 16F44
+16F50
1B000 1B001
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
20000 2A6D6
2A700 2B734
2B740 2B81D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lu.pl
index ff59733e5bd..ec5ff47cdc1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Lu.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -277,6 +277,8 @@ return <<'END';
0526
0531 0556
10A0 10C5
+10C7
+10CD
1E00
1E02
1E04
@@ -491,6 +493,7 @@ return <<'END';
2CE2
2CEB
2CED
+2CF2
A640
A642
A644
@@ -574,11 +577,13 @@ A786
A78B
A78D
A790
+A792
A7A0
A7A2
A7A4
A7A6
A7A8
+A7AA
FF21 FF3A
10400 10427
1D400 1D419
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/M.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/M.pl
index 0eb6b57c564..965ffb19228 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/M.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/M.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -32,6 +32,7 @@ return <<'END';
0825 0827
0829 082D
0859 085B
+08E4 08FE
0900 0903
093A 093C
093E 094F
@@ -126,7 +127,7 @@ return <<'END';
1732 1734
1752 1753
1772 1773
-17B6 17D3
+17B4 17D3
17DD
180B 180D
18A9
@@ -142,13 +143,13 @@ return <<'END';
1B34 1B44
1B6B 1B73
1B80 1B82
-1BA1 1BAA
+1BA1 1BAD
1BE6 1BF3
1C24 1C37
1CD0 1CD2
1CD4 1CE8
1CED
-1CF2
+1CF2 1CF4
1DC0 1DE6
1DFC 1DFF
20D0 20F0
@@ -158,7 +159,8 @@ return <<'END';
302A 302F
3099 309A
A66F A672
-A67C A67D
+A674 A67D
+A69F
A6F0 A6F1
A802
A806
@@ -180,6 +182,8 @@ AAB2 AAB4
AAB7 AAB8
AABE AABF
AAC1
+AAEB AAEF
+AAF5 AAF6
ABE3 ABEA
ABEC ABED
FB1E
@@ -195,6 +199,13 @@ FE20 FE26
11038 11046
11080 11082
110B0 110BA
+11100 11102
+11127 11134
+11180 11182
+111B3 111C0
+116AB 116B7
+16F51 16F7E
+16F8F 16F92
1D165 1D169
1D16D 1D172
1D17B 1D182
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mc.pl
index af4de4651ed..ddbaed67b42 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mc.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -90,6 +90,7 @@ return <<'END';
1BA1
1BA6 1BA7
1BAA
+1BAC 1BAD
1BE7
1BEA 1BEC
1BEE
@@ -97,7 +98,8 @@ return <<'END';
1C24 1C2B
1C34 1C35
1CE1
-1CF2
+1CF2 1CF3
+302E 302F
A823 A824
A827
A880 A881
@@ -111,6 +113,9 @@ AA2F AA30
AA33 AA34
AA4D
AA7B
+AAEB
+AAEE AAEF
+AAF5
ABE3 ABE4
ABE6 ABE7
ABE9 ABEA
@@ -120,6 +125,14 @@ ABEC
11082
110B0 110B2
110B7 110B8
+1112C
+11182
+111B3 111B5
+111BF 111C0
+116AC
+116AE 116AF
+116B6
+16F51 16F7E
1D165 1D166
1D16D 1D172
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Me.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Me.pl
index 9bb2fb4c26a..84df6bd4762 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Me.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Me.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mn.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mn.pl
index 4103cf0681a..f864e9fc310 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mn.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Mn.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -32,6 +32,7 @@ return <<'END';
0825 0827
0829 082D
0859 085B
+08E4 08FE
0900 0902
093A
093C
@@ -117,6 +118,7 @@ return <<'END';
1732 1734
1752 1753
1772 1773
+17B4 17B5
17B7 17BD
17C6
17C9 17D3
@@ -144,6 +146,7 @@ return <<'END';
1B80 1B81
1BA2 1BA5
1BA8 1BA9
+1BAB
1BE6
1BE8 1BE9
1BED
@@ -154,6 +157,7 @@ return <<'END';
1CD4 1CE0
1CE2 1CE8
1CED
+1CF4
1DC0 1DE6
1DFC 1DFF
20D0 20DC
@@ -162,10 +166,11 @@ return <<'END';
2CEF 2CF1
2D7F
2DE0 2DFF
-302A 302F
+302A 302D
3099 309A
A66F
-A67C A67D
+A674 A67D
+A69F
A6F0 A6F1
A802
A806
@@ -189,6 +194,8 @@ AAB2 AAB4
AAB7 AAB8
AABE AABF
AAC1
+AAEC AAED
+AAF6
ABE5
ABE8
ABED
@@ -206,6 +213,16 @@ FE20 FE26
11080 11081
110B3 110B6
110B9 110BA
+11100 11102
+11127 1112B
+1112D 11134
+11180 11181
+111B6 111BE
+116AB
+116AD
+116B0 116B5
+116B7
+16F8F 16F92
1D167 1D169
1D17B 1D182
1D185 1D18B
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/N.pl
index 7b9d2b9354f..3f63195ed84 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/N.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -60,6 +60,7 @@ return <<'END';
3038 303A
3192 3195
3220 3229
+3248 324F
3251 325F
3280 3289
32B1 32BF
@@ -88,6 +89,10 @@ FF10 FF19
10B78 10B7F
10E60 10E7E
11052 1106F
+110F0 110F9
+11136 1113F
+111D0 111D9
+116C0 116C9
12400 12462
1D360 1D371
1D7CE 1D7FF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nt/De.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nd.pl
index c412c369ef3..e36cd61628c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nt/De.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nd.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -46,5 +46,9 @@ ABF0 ABF9
FF10 FF19
104A0 104A9
11066 1106F
+110F0 110F9
+11136 1113F
+111D0 111D9
+116C0 116C9
1D7CE 1D7FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nl.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nl.pl
index 8b2f431aff5..697a121eca0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nl.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Nl.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/No.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/No.pl
index 1e45aa33d49..8e688cf0823 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/No.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/No.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -32,6 +32,7 @@ return <<'END';
2CFD
3192 3195
3220 3229
+3248 324F
3251 325F
3280 3289
32B1 32BF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/P.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/P.pl
index 5cedc733c68..e7269112bd9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/P.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/P.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -19,8 +19,9 @@ return <<'END';
007B
007D
00A1
+00A7
00AB
-00B7
+00B6 00B7
00BB
00BF
037E
@@ -44,17 +45,19 @@ return <<'END';
085E
0964 0965
0970
+0AF0
0DF4
0E4F
0E5A 0E5B
0F04 0F12
+0F14
0F3A 0F3D
0F85
0FD0 0FD4
0FD9 0FDA
104A 104F
10FB
-1361 1368
+1360 1368
1400
166D 166E
169B 169C
@@ -71,6 +74,7 @@ return <<'END';
1BFC 1BFF
1C3B 1C3F
1C7E 1C7F
+1CC0 1CC7
1CD3
2010 2027
2030 2043
@@ -89,7 +93,7 @@ return <<'END';
2CFE 2CFF
2D70
2E00 2E2E
-2E30 2E31
+2E30 2E3B
3001 3003
3008 3011
3014 301F
@@ -111,6 +115,7 @@ A9C1 A9CD
A9DE A9DF
AA5C AA5F
AADE AADF
+AAF0 AAF1
ABEB
FD3E FD3F
FE10 FE19
@@ -129,7 +134,7 @@ FF3F
FF5B
FF5D
FF5F FF65
-10100 10101
+10100 10102
1039F
103D0
10857
@@ -141,5 +146,7 @@ FF5F FF65
11047 1104D
110BB 110BC
110BE 110C1
+11140 11143
+111C5 111C8
12470 12473
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pc.pl
new file mode 100644
index 00000000000..14e9be47c43
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pc.pl
@@ -0,0 +1,18 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+005F
+203F 2040
+2054
+FE33 FE34
+FE4D FE4F
+FF3F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pd.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pd.pl
index 3feea62117a..56ee21aba01 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pd.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pd.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -17,6 +17,7 @@ return <<'END';
2010 2015
2E17
2E1A
+2E3A 2E3B
301C
3030
30A0
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pe.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pe.pl
index ec5609e7abe..1119aec3df8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pe.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pe.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pf.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pf.pl
index 2ac02eeb9d2..a3bc889ee21 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pf.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pf.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pi.pl
index 8c2be20d51b..6512bf685c7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Pi.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Po.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Po.pl
index f428c3804e4..d33c9d77b4f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Po.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Po.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -18,7 +18,8 @@ return <<'END';
003F 0040
005C
00A1
-00B7
+00A7
+00B6 00B7
00BF
037E
0387
@@ -40,16 +41,18 @@ return <<'END';
085E
0964 0965
0970
+0AF0
0DF4
0E4F
0E5A 0E5B
0F04 0F12
+0F14
0F85
0FD0 0FD4
0FD9 0FDA
104A 104F
10FB
-1361 1368
+1360 1368
166D 166E
16EB 16ED
1735 1736
@@ -65,6 +68,7 @@ return <<'END';
1BFC 1BFF
1C3B 1C3F
1C7E 1C7F
+1CC0 1CC7
1CD3
2016 2017
2020 2027
@@ -85,7 +89,7 @@ return <<'END';
2E1B
2E1E 2E1F
2E2A 2E2E
-2E30 2E31
+2E30 2E39
3001 3003
303D
30FB
@@ -103,6 +107,7 @@ A9C1 A9CD
A9DE A9DF
AA5C AA5F
AADE AADF
+AAF0 AAF1
ABEB
FE10 FE16
FE19
@@ -124,7 +129,7 @@ FF1F FF20
FF3C
FF61
FF64 FF65
-10100 10101
+10100 10102
1039F
103D0
10857
@@ -136,5 +141,7 @@ FF64 FF65
11047 1104D
110BB 110BC
110BE 110C1
+11140 11143
+111C5 111C8
12470 12473
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ps.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ps.pl
index 7109a871996..10b5fb49ec5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ps.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Ps.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/S.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/S.pl
index 7ae5c0fa4be..bf0bd933bea 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/S.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/S.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -16,11 +16,11 @@ return <<'END';
0060
007C
007E
-00A2 00A9
+00A2 00A6
+00A8 00A9
00AC
00AE 00B1
00B4
-00B6
00B8
00D7
00F7
@@ -33,6 +33,7 @@ return <<'END';
0384 0385
03F6
0482
+058F
0606 0608
060B
060E 060F
@@ -49,7 +50,8 @@ return <<'END';
0D79
0E3F
0F01 0F03
-0F13 0F17
+0F13
+0F15 0F17
0F1A 0F1F
0F34
0F36
@@ -59,7 +61,6 @@ return <<'END';
0FCE 0FCF
0FD5 0FD8
109E 109F
-1360
1390 1399
17DB
1940
@@ -99,9 +100,7 @@ return <<'END';
2500 26FF
2701 2767
2794 27C4
-27C7 27CA
-27CC
-27CE 27E5
+27C7 27E5
27F0 2982
2999 29D7
29DC 29FB
@@ -122,7 +121,8 @@ return <<'END';
3196 319F
31C0 31E3
3200 321E
-322A 3250
+322A 3247
+3250
3260 327F
328A 32B0
32C0 32FE
@@ -151,7 +151,6 @@ FF5E
FFE0 FFE6
FFE8 FFEE
FFFC FFFD
-10102
10137 1013F
10179 10189
10190 1019B
@@ -176,6 +175,7 @@ FFFC FFFD
1D789
1D7A9
1D7C3
+1EEF0 1EEF1
1F000 1F02B
1F030 1F093
1F0A0 1F0AE
@@ -183,7 +183,7 @@ FFFC FFFD
1F0C1 1F0CF
1F0D1 1F0DF
1F110 1F12E
-1F130 1F169
+1F130 1F16B
1F170 1F19A
1F1E6 1F202
1F210 1F23A
@@ -201,19 +201,9 @@ FFFC FFFD
1F442 1F4F7
1F4F9 1F4FC
1F500 1F53D
+1F540 1F543
1F550 1F567
-1F5FB 1F5FF
-1F601 1F610
-1F612 1F614
-1F616
-1F618
-1F61A
-1F61C 1F61E
-1F620 1F625
-1F628 1F62B
-1F62D
-1F630 1F633
-1F635 1F640
+1F5FB 1F640
1F645 1F64F
1F680 1F6C5
1F700 1F773
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sc.pl
index 74ad0655e51..6c5a8ca42f1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sc.pl
@@ -1,16 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
0024
00A2 00A5
+058F
060B
09F2 09F3
09FB
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sk.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sk.pl
index 7e6f63535a4..019ad67d448 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sk.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sk.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sm.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sm.pl
index 07a162aac9f..c5e721d2675 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sm.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Sm.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -46,9 +46,7 @@ return <<'END';
25F8 25FF
266F
27C0 27C4
-27C7 27CA
-27CC
-27CE 27E5
+27C7 27E5
27F0 27FF
2900 2982
2999 29D7
@@ -75,4 +73,5 @@ FFE9 FFEC
1D789
1D7A9
1D7C3
+1EEF0 1EEF1
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/So.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/So.pl
index 89e61d8c56b..6dab3bdb0bc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/So.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/So.pl
@@ -1,19 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
-00A6 00A7
+00A6
00A9
00AE
00B0
-00B6
0482
060E 060F
06DE
@@ -27,7 +26,8 @@ return <<'END';
0C7F
0D79
0F01 0F03
-0F13 0F17
+0F13
+0F15 0F17
0F1A 0F1F
0F34
0F36
@@ -37,7 +37,6 @@ return <<'END';
0FCE 0FCF
0FD5 0FD8
109E 109F
-1360
1390 1399
1940
19DE 19FF
@@ -101,7 +100,8 @@ return <<'END';
3196 319F
31C0 31E3
3200 321E
-322A 3250
+322A 3247
+3250
3260 327F
328A 32B0
32C0 32FE
@@ -117,7 +117,6 @@ FFE4
FFE8
FFED FFEE
FFFC FFFD
-10102
10137 1013F
10179 10189
10190 1019B
@@ -139,7 +138,7 @@ FFFC FFFD
1F0C1 1F0CF
1F0D1 1F0DF
1F110 1F12E
-1F130 1F169
+1F130 1F16B
1F170 1F19A
1F1E6 1F202
1F210 1F23A
@@ -157,19 +156,9 @@ FFFC FFFD
1F442 1F4F7
1F4F9 1F4FC
1F500 1F53D
+1F540 1F543
1F550 1F567
-1F5FB 1F5FF
-1F601 1F610
-1F612 1F614
-1F616
-1F618
-1F61A
-1F61C 1F61E
-1F620 1F625
-1F628 1F62B
-1F62D
-1F630 1F633
-1F635 1F640
+1F5FB 1F640
1F645 1F64F
1F680 1F6C5
1F700 1F773
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Z.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Z.pl
index 39e3a235630..0481c7bd459 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Z.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Z.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zl.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zl.pl
index b9b63364f8e..23ef1eb0e72 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zl.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zl.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zp.pl
index c519717b962..88597d5b3ec 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zp.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zp.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zs.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zs.pl
index 0aa6e199b64..a6080bf0c4a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zs.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Gc/Zs.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GrBase/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GrBase/N.pl
deleted file mode 100644
index 2af88e1cfab..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GrBase/N.pl
+++ /dev/null
@@ -1,609 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 001F
-007F 009F
-00AD
-0300 036F
-0378 0379
-037F 0383
-038B
-038D
-03A2
-0483 0489
-0528 0530
-0557 0558
-0560
-0588
-058B 05BD
-05BF
-05C1 05C2
-05C4 05C5
-05C7 05CF
-05EB 05EF
-05F5 0605
-0610 061A
-061C 061D
-064B 065F
-0670
-06D6 06DD
-06DF 06E4
-06E7 06E8
-06EA 06ED
-070E 070F
-0711
-0730 074C
-07A6 07B0
-07B2 07BF
-07EB 07F3
-07FB 07FF
-0816 0819
-081B 0823
-0825 0827
-0829 082F
-083F
-0859 085D
-085F 0902
-093A
-093C
-0941 0948
-094D
-0951 0957
-0962 0963
-0978
-0980 0981
-0984
-098D 098E
-0991 0992
-09A9
-09B1
-09B3 09B5
-09BA 09BC
-09BE
-09C1 09C6
-09C9 09CA
-09CD
-09CF 09DB
-09DE
-09E2 09E5
-09FC 0A02
-0A04
-0A0B 0A0E
-0A11 0A12
-0A29
-0A31
-0A34
-0A37
-0A3A 0A3D
-0A41 0A58
-0A5D
-0A5F 0A65
-0A70 0A71
-0A75 0A82
-0A84
-0A8E
-0A92
-0AA9
-0AB1
-0AB4
-0ABA 0ABC
-0AC1 0AC8
-0ACA
-0ACD 0ACF
-0AD1 0ADF
-0AE2 0AE5
-0AF0
-0AF2 0B01
-0B04
-0B0D 0B0E
-0B11 0B12
-0B29
-0B31
-0B34
-0B3A 0B3C
-0B3E 0B3F
-0B41 0B46
-0B49 0B4A
-0B4D 0B5B
-0B5E
-0B62 0B65
-0B78 0B82
-0B84
-0B8B 0B8D
-0B91
-0B96 0B98
-0B9B
-0B9D
-0BA0 0BA2
-0BA5 0BA7
-0BAB 0BAD
-0BBA 0BBE
-0BC0
-0BC3 0BC5
-0BC9
-0BCD 0BCF
-0BD1 0BE5
-0BFB 0C00
-0C04
-0C0D
-0C11
-0C29
-0C34
-0C3A 0C3C
-0C3E 0C40
-0C45 0C57
-0C5A 0C5F
-0C62 0C65
-0C70 0C77
-0C80 0C81
-0C84
-0C8D
-0C91
-0CA9
-0CB4
-0CBA 0CBC
-0CBF
-0CC2
-0CC5 0CC6
-0CC9
-0CCC 0CDD
-0CDF
-0CE2 0CE5
-0CF0
-0CF3 0D01
-0D04
-0D0D
-0D11
-0D3B 0D3C
-0D3E
-0D41 0D45
-0D49
-0D4D
-0D4F 0D5F
-0D62 0D65
-0D76 0D78
-0D80 0D81
-0D84
-0D97 0D99
-0DB2
-0DBC
-0DBE 0DBF
-0DC7 0DCF
-0DD2 0DD7
-0DDF 0DF1
-0DF5 0E00
-0E31
-0E34 0E3E
-0E47 0E4E
-0E5C 0E80
-0E83
-0E85 0E86
-0E89
-0E8B 0E8C
-0E8E 0E93
-0E98
-0EA0
-0EA4
-0EA6
-0EA8 0EA9
-0EAC
-0EB1
-0EB4 0EBC
-0EBE 0EBF
-0EC5
-0EC7 0ECF
-0EDA 0EDB
-0EDE 0EFF
-0F18 0F19
-0F35
-0F37
-0F39
-0F48
-0F6D 0F7E
-0F80 0F84
-0F86 0F87
-0F8D 0FBD
-0FC6
-0FCD
-0FDB 0FFF
-102D 1030
-1032 1037
-1039 103A
-103D 103E
-1058 1059
-105E 1060
-1071 1074
-1082
-1085 1086
-108D
-109D
-10C6 10CF
-10FD 10FF
-1249
-124E 124F
-1257
-1259
-125E 125F
-1289
-128E 128F
-12B1
-12B6 12B7
-12BF
-12C1
-12C6 12C7
-12D7
-1311
-1316 1317
-135B 135F
-137D 137F
-139A 139F
-13F5 13FF
-169D 169F
-16F1 16FF
-170D
-1712 171F
-1732 1734
-1737 173F
-1752 175F
-176D
-1771 177F
-17B4 17B5
-17B7 17BD
-17C6
-17C9 17D3
-17DD 17DF
-17EA 17EF
-17FA 17FF
-180B 180D
-180F
-181A 181F
-1878 187F
-18A9
-18AB 18AF
-18F6 18FF
-191D 1922
-1927 1928
-192C 192F
-1932
-1939 193F
-1941 1943
-196E 196F
-1975 197F
-19AC 19AF
-19CA 19CF
-19DB 19DD
-1A17 1A18
-1A1C 1A1D
-1A56
-1A58 1A60
-1A62
-1A65 1A6C
-1A73 1A7F
-1A8A 1A8F
-1A9A 1A9F
-1AAE 1B03
-1B34
-1B36 1B3A
-1B3C
-1B42
-1B4C 1B4F
-1B6B 1B73
-1B7D 1B81
-1BA2 1BA5
-1BA8 1BA9
-1BAB 1BAD
-1BBA 1BBF
-1BE6
-1BE8 1BE9
-1BED
-1BEF 1BF1
-1BF4 1BFB
-1C2C 1C33
-1C36 1C3A
-1C4A 1C4C
-1C80 1CD2
-1CD4 1CE0
-1CE2 1CE8
-1CED
-1CF3 1CFF
-1DC0 1DFF
-1F16 1F17
-1F1E 1F1F
-1F46 1F47
-1F4E 1F4F
-1F58
-1F5A
-1F5C
-1F5E
-1F7E 1F7F
-1FB5
-1FC5
-1FD4 1FD5
-1FDC
-1FF0 1FF1
-1FF5
-1FFF
-200B 200F
-2028 202E
-2060 206F
-2072 2073
-208F
-209D 209F
-20BA 20FF
-218A 218F
-23F4 23FF
-2427 243F
-244B 245F
-2700
-27CB
-27CD
-2B4D 2B4F
-2B5A 2BFF
-2C2F
-2C5F
-2CEF 2CF8
-2D26 2D2F
-2D66 2D6E
-2D71 2D7F
-2D97 2D9F
-2DA7
-2DAF
-2DB7
-2DBF
-2DC7
-2DCF
-2DD7
-2DDF 2DFF
-2E32 2E7F
-2E9A
-2EF4 2EFF
-2FD6 2FEF
-2FFC 2FFF
-302A 302F
-3040
-3097 309A
-3100 3104
-312E 3130
-318F
-31BB 31BF
-31E4 31EF
-321F
-32FF
-4DB6 4DBF
-9FCC 9FFF
-A48D A48F
-A4C7 A4CF
-A62C A63F
-A66F A672
-A674 A67D
-A698 A69F
-A6F0 A6F1
-A6F8 A6FF
-A78F
-A792 A79F
-A7AA A7F9
-A802
-A806
-A80B
-A825 A826
-A82C A82F
-A83A A83F
-A878 A87F
-A8C4 A8CD
-A8DA A8F1
-A8FC A8FF
-A926 A92D
-A947 A951
-A954 A95E
-A97D A982
-A9B3
-A9B6 A9B9
-A9BC
-A9CE
-A9DA A9DD
-A9E0 A9FF
-AA29 AA2E
-AA31 AA32
-AA35 AA3F
-AA43
-AA4C
-AA4E AA4F
-AA5A AA5B
-AA7C AA7F
-AAB0
-AAB2 AAB4
-AAB7 AAB8
-AABE AABF
-AAC1
-AAC3 AADA
-AAE0 AB00
-AB07 AB08
-AB0F AB10
-AB17 AB1F
-AB27
-AB2F ABBF
-ABE5
-ABE8
-ABED ABEF
-ABFA ABFF
-D7A4 D7AF
-D7C7 D7CA
-D7FC F8FF
-FA2E FA2F
-FA6E FA6F
-FADA FAFF
-FB07 FB12
-FB18 FB1C
-FB1E
-FB37
-FB3D
-FB3F
-FB42
-FB45
-FBC2 FBD2
-FD40 FD4F
-FD90 FD91
-FDC8 FDEF
-FDFE FE0F
-FE1A FE2F
-FE53
-FE67
-FE6C FE6F
-FE75
-FEFD FF00
-FF9E FF9F
-FFBF FFC1
-FFC8 FFC9
-FFD0 FFD1
-FFD8 FFD9
-FFDD FFDF
-FFE7
-FFEF FFFB
-FFFE FFFF
-1000C
-10027
-1003B
-1003E
-1004E 1004F
-1005E 1007F
-100FB 100FF
-10103 10106
-10134 10136
-1018B 1018F
-1019C 101CF
-101FD 1027F
-1029D 1029F
-102D1 102FF
-1031F
-10324 1032F
-1034B 1037F
-1039E
-103C4 103C7
-103D6 103FF
-1049E 1049F
-104AA 107FF
-10806 10807
-10809
-10836
-10839 1083B
-1083D 1083E
-10856
-10860 108FF
-1091C 1091E
-1093A 1093E
-10940 109FF
-10A01 10A0F
-10A14
-10A18
-10A34 10A3F
-10A48 10A4F
-10A59 10A5F
-10A80 10AFF
-10B36 10B38
-10B56 10B57
-10B73 10B77
-10B80 10BFF
-10C49 10E5F
-10E7F 10FFF
-11001
-11038 11046
-1104E 11051
-11070 11081
-110B3 110B6
-110B9 110BA
-110BD
-110C2 11FFF
-1236F 123FF
-12463 1246F
-12474 12FFF
-1342F 167FF
-16A39 1AFFF
-1B002 1CFFF
-1D0F6 1D0FF
-1D127 1D128
-1D165
-1D167 1D169
-1D16E 1D182
-1D185 1D18B
-1D1AA 1D1AD
-1D1DE 1D1FF
-1D242 1D244
-1D246 1D2FF
-1D357 1D35F
-1D372 1D3FF
-1D455
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4BA
-1D4BC
-1D4C4
-1D506
-1D50B 1D50C
-1D515
-1D51D
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551
-1D6A6 1D6A7
-1D7CC 1D7CD
-1D800 1EFFF
-1F02C 1F02F
-1F094 1F09F
-1F0AF 1F0B0
-1F0BF 1F0C0
-1F0D0
-1F0E0 1F0FF
-1F10B 1F10F
-1F12F
-1F16A 1F16F
-1F19B 1F1E5
-1F203 1F20F
-1F23B 1F23F
-1F249 1F24F
-1F252 1F2FF
-1F321 1F32F
-1F336
-1F37D 1F37F
-1F394 1F39F
-1F3C5
-1F3CB 1F3DF
-1F3F1 1F3FF
-1F43F
-1F441
-1F4F8
-1F4FD 1F4FF
-1F53E 1F54F
-1F568 1F5FA
-1F600
-1F611
-1F615
-1F617
-1F619
-1F61B
-1F61F
-1F626 1F627
-1F62C
-1F62E 1F62F
-1F634
-1F641 1F644
-1F650 1F67F
-1F6C6 1F6FF
-1F774 1FFFF
-2A6D7 2A6FF
-2B735 2B73F
-2B81E 2F7FF
-2FA1E 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GrBase/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GrBase/Y.pl
index 6f4967567f0..2599c65254e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GrBase/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/GrBase/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -23,6 +23,7 @@ return <<'END';
0559 055F
0561 0587
0589 058A
+058F
05BE
05C0
05C3
@@ -51,6 +52,8 @@ return <<'END';
0830 083E
0840 0858
085E
+08A0
+08A2 08AC
0903 0939
093B
093D 0940
@@ -99,8 +102,7 @@ return <<'END';
0ACB 0ACC
0AD0
0AE0 0AE1
-0AE6 0AEF
-0AF1
+0AE6 0AF1
0B02 0B03
0B05 0B0C
0B0F 0B10
@@ -200,7 +202,7 @@ return <<'END';
0EC0 0EC4
0EC6
0ED0 0ED9
-0EDC 0EDD
+0EDC 0EDF
0F00 0F17
0F1A 0F34
0F36
@@ -225,8 +227,9 @@ return <<'END';
1087 108C
108E 109C
109E 10C5
-10D0 10FC
-1100 1248
+10C7
+10CD
+10D0 1248
124A 124D
1250 1256
1258
@@ -299,8 +302,7 @@ return <<'END';
1B82 1BA1
1BA6 1BA7
1BAA
-1BAE 1BB9
-1BC0 1BE5
+1BAC 1BE5
1BE7
1BEA 1BEC
1BEE
@@ -309,10 +311,12 @@ return <<'END';
1C34 1C35
1C3B 1C49
1C4D 1C7F
+1CC0 1CC7
1CD3
1CE1
1CE9 1CEC
-1CEE 1CF2
+1CEE 1CF3
+1CF5 1CF6
1D00 1DBF
1E00 1F15
1F18 1F1D
@@ -342,15 +346,16 @@ return <<'END';
2400 2426
2440 244A
2460 26FF
-2701 27CA
-27CC
-27CE 2B4C
+2701 2B4C
2B50 2B59
2C00 2C2E
2C30 2C5E
2C60 2CEE
+2CF2 2CF3
2CF9 2D25
-2D30 2D65
+2D27
+2D2D
+2D30 2D67
2D6F 2D70
2D80 2D96
2DA0 2DA6
@@ -361,7 +366,7 @@ return <<'END';
2DC8 2DCE
2DD0 2DD6
2DD8 2DDE
-2E00 2E31
+2E00 2E3B
2E80 2E99
2E9B 2EF3
2F00 2FD5
@@ -377,7 +382,7 @@ return <<'END';
31F0 321E
3220 32FE
3300 4DB5
-4DC0 9FCB
+4DC0 9FCC
A000 A48C
A490 A4C6
A4D0 A62B
@@ -387,9 +392,9 @@ A67E A697
A6A0 A6EF
A6F2 A6F7
A700 A78E
-A790 A791
-A7A0 A7A9
-A7FA A801
+A790 A793
+A7A0 A7AA
+A7F8 A801
A803 A805
A807 A80A
A80C A824
@@ -423,7 +428,8 @@ AAB5 AAB6
AAB9 AABD
AAC0
AAC2
-AADB AADF
+AADB AAEB
+AAEE AAF5
AB01 AB06
AB09 AB0E
AB11 AB16
@@ -436,8 +442,7 @@ ABF0 ABF9
AC00 D7A3
D7B0 D7C6
D7CB D7FB
-F900 FA2D
-FA30 FA6D
+F900 FA6D
FA70 FAD9
FB00 FB06
FB13 FB17
@@ -499,6 +504,8 @@ FFFC FFFD
10900 1091B
1091F 10939
1093F
+10980 109B7
+109BE 109BF
10A00
10A10 10A13
10A15 10A17
@@ -520,11 +527,27 @@ FFFC FFFD
110B7 110B8
110BB 110BC
110BE 110C1
+110D0 110E8
+110F0 110F9
+11103 11126
+1112C
+11136 11143
+11182 111B5
+111BF 111C8
+111D0 111D9
+11680 116AA
+116AC
+116AE 116AF
+116B6
+116C0 116C9
12000 1236E
12400 12462
12470 12473
13000 1342E
16800 16A38
+16F00 16F44
+16F50 16F7E
+16F93 16F9F
1B000 1B001
1D000 1D0F5
1D100 1D126
@@ -559,6 +582,40 @@ FFFC FFFD
1D552 1D6A5
1D6A8 1D7CB
1D7CE 1D7FF
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
+1EEF0 1EEF1
1F000 1F02B
1F030 1F093
1F0A0 1F0AE
@@ -567,7 +624,7 @@ FFFC FFFD
1F0D1 1F0DF
1F100 1F10A
1F110 1F12E
-1F130 1F169
+1F130 1F16B
1F170 1F19A
1F1E6 1F202
1F210 1F23A
@@ -585,19 +642,9 @@ FFFC FFFD
1F442 1F4F7
1F4F9 1F4FC
1F500 1F53D
+1F540 1F543
1F550 1F567
-1F5FB 1F5FF
-1F601 1F610
-1F612 1F614
-1F616
-1F618
-1F61A
-1F61C 1F61E
-1F620 1F625
-1F628 1F62B
-1F62D
-1F630 1F633
-1F635 1F640
+1F5FB 1F640
1F645 1F64F
1F680 1F6C5
1F700 1F773
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GrExt/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/GrExt/N.pl
deleted file mode 100644
index 8b40e8f9e46..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GrExt/N.pl
+++ /dev/null
@@ -1,228 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 02FF
-0370 0482
-048A 0590
-05BE
-05C0
-05C3
-05C6
-05C8 060F
-061B 064A
-0660 066F
-0671 06D5
-06DD 06DE
-06E5 06E6
-06E9
-06EE 0710
-0712 072F
-074B 07A5
-07B1 07EA
-07F4 0815
-081A
-0824
-0828
-082E 0858
-085C 08FF
-0903 0939
-093B
-093D 0940
-0949 094C
-094E 0950
-0958 0961
-0964 0980
-0982 09BB
-09BD
-09BF 09C0
-09C5 09CC
-09CE 09D6
-09D8 09E1
-09E4 0A00
-0A03 0A3B
-0A3D 0A40
-0A43 0A46
-0A49 0A4A
-0A4E 0A50
-0A52 0A6F
-0A72 0A74
-0A76 0A80
-0A83 0ABB
-0ABD 0AC0
-0AC6
-0AC9 0ACC
-0ACE 0AE1
-0AE4 0B00
-0B02 0B3B
-0B3D
-0B40
-0B45 0B4C
-0B4E 0B55
-0B58 0B61
-0B64 0B81
-0B83 0BBD
-0BBF
-0BC1 0BCC
-0BCE 0BD6
-0BD8 0C3D
-0C41 0C45
-0C49
-0C4E 0C54
-0C57 0C61
-0C64 0CBB
-0CBD 0CBE
-0CC0 0CC1
-0CC3 0CC5
-0CC7 0CCB
-0CCE 0CD4
-0CD7 0CE1
-0CE4 0D3D
-0D3F 0D40
-0D45 0D4C
-0D4E 0D56
-0D58 0D61
-0D64 0DC9
-0DCB 0DCE
-0DD0 0DD1
-0DD5
-0DD7 0DDE
-0DE0 0E30
-0E32 0E33
-0E3B 0E46
-0E4F 0EB0
-0EB2 0EB3
-0EBA
-0EBD 0EC7
-0ECE 0F17
-0F1A 0F34
-0F36
-0F38
-0F3A 0F70
-0F7F
-0F85
-0F88 0F8C
-0F98
-0FBD 0FC5
-0FC7 102C
-1031
-1038
-103B 103C
-103F 1057
-105A 105D
-1061 1070
-1075 1081
-1083 1084
-1087 108C
-108E 109C
-109E 135C
-1360 1711
-1715 1731
-1735 1751
-1754 1771
-1774 17B6
-17BE 17C5
-17C7 17C8
-17D4 17DC
-17DE 180A
-180E 18A8
-18AA 191F
-1923 1926
-1929 1931
-1933 1938
-193C 1A16
-1A19 1A55
-1A57
-1A5F
-1A61
-1A63 1A64
-1A6D 1A72
-1A7D 1A7E
-1A80 1AFF
-1B04 1B33
-1B35
-1B3B
-1B3D 1B41
-1B43 1B6A
-1B74 1B7F
-1B82 1BA1
-1BA6 1BA7
-1BAA 1BE5
-1BE7
-1BEA 1BEC
-1BEE
-1BF2 1C2B
-1C34 1C35
-1C38 1CCF
-1CD3
-1CE1
-1CE9 1CEC
-1CEE 1DBF
-1DE7 1DFB
-1E00 200B
-200E 20CF
-20F1 2CEE
-2CF2 2D7E
-2D80 2DDF
-2E00 3029
-3030 3098
-309B A66E
-A673 A67B
-A67E A6EF
-A6F2 A801
-A803 A805
-A807 A80A
-A80C A824
-A827 A8C3
-A8C5 A8DF
-A8F2 A925
-A92E A946
-A952 A97F
-A983 A9B2
-A9B4 A9B5
-A9BA A9BB
-A9BD AA28
-AA2F AA30
-AA33 AA34
-AA37 AA42
-AA44 AA4B
-AA4D AAAF
-AAB1
-AAB5 AAB6
-AAB9 AABD
-AAC0
-AAC2 ABE4
-ABE6 ABE7
-ABE9 ABEC
-ABEE FB1D
-FB1F FDFF
-FE10 FE1F
-FE27 FF9D
-FFA0 101FC
-101FE 10A00
-10A04
-10A07 10A0B
-10A10 10A37
-10A3B 10A3E
-10A40 11000
-11002 11037
-11047 1107F
-11082 110B2
-110B7 110B8
-110BB 1D164
-1D166
-1D16A 1D16D
-1D173 1D17A
-1D183 1D184
-1D18C 1D1A9
-1D1AE 1D241
-1D245 E00FF
-E01F0 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Hex/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Hex/N.pl
deleted file mode 100644
index 5325a1f3552..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Hex/N.pl
+++ /dev/null
@@ -1,19 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 002F
-003A 0040
-0047 0060
-0067 FF0F
-FF1A FF20
-FF27 FF40
-FF47 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Hex/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Hex/Y.pl
index 64fad79fbf6..e54aa83d5d4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Hex/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Hex/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Hst/NA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Hst/NA.pl
index b7e726d005e..8b91d0bd510 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Hst/NA.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Hst/NA.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/N.pl
deleted file mode 100644
index b8cbd965414..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/N.pl
+++ /dev/null
@@ -1,23 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 002C
-002E 00AC
-00AE 0589
-058B 1805
-1807 200F
-2012 2E16
-2E18 30FA
-30FC FE62
-FE64 FF0C
-FF0E FF64
-FF66 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/Y.pl
index d8e4c657d8a..6a7486a104d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Hyphen/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDC/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDC/N.pl
deleted file mode 100644
index b13417e5f56..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDC/N.pl
+++ /dev/null
@@ -1,527 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 002F
-003A 0040
-005B 005E
-0060
-007B 00A9
-00AB 00B4
-00B6
-00B8 00B9
-00BB 00BF
-00D7
-00F7
-02C2 02C5
-02D2 02DF
-02E5 02EB
-02ED
-02EF 02FF
-0375
-0378 0379
-037E 0385
-038B
-038D
-03A2
-03F6
-0482
-0488 0489
-0528 0530
-0557 0558
-055A 0560
-0588 0590
-05BE
-05C0
-05C3
-05C6
-05C8 05CF
-05EB 05EF
-05F3 060F
-061B 061F
-066A 066D
-06D4
-06DD 06DE
-06E9
-06FD 06FE
-0700 070F
-074B 074C
-07B2 07BF
-07F6 07F9
-07FB 07FF
-082E 083F
-085C 08FF
-0964 0965
-0970
-0978
-0980
-0984
-098D 098E
-0991 0992
-09A9
-09B1
-09B3 09B5
-09BA 09BB
-09C5 09C6
-09C9 09CA
-09CF 09D6
-09D8 09DB
-09DE
-09E4 09E5
-09F2 0A00
-0A04
-0A0B 0A0E
-0A11 0A12
-0A29
-0A31
-0A34
-0A37
-0A3A 0A3B
-0A3D
-0A43 0A46
-0A49 0A4A
-0A4E 0A50
-0A52 0A58
-0A5D
-0A5F 0A65
-0A76 0A80
-0A84
-0A8E
-0A92
-0AA9
-0AB1
-0AB4
-0ABA 0ABB
-0AC6
-0ACA
-0ACE 0ACF
-0AD1 0ADF
-0AE4 0AE5
-0AF0 0B00
-0B04
-0B0D 0B0E
-0B11 0B12
-0B29
-0B31
-0B34
-0B3A 0B3B
-0B45 0B46
-0B49 0B4A
-0B4E 0B55
-0B58 0B5B
-0B5E
-0B64 0B65
-0B70
-0B72 0B81
-0B84
-0B8B 0B8D
-0B91
-0B96 0B98
-0B9B
-0B9D
-0BA0 0BA2
-0BA5 0BA7
-0BAB 0BAD
-0BBA 0BBD
-0BC3 0BC5
-0BC9
-0BCE 0BCF
-0BD1 0BD6
-0BD8 0BE5
-0BF0 0C00
-0C04
-0C0D
-0C11
-0C29
-0C34
-0C3A 0C3C
-0C45
-0C49
-0C4E 0C54
-0C57
-0C5A 0C5F
-0C64 0C65
-0C70 0C81
-0C84
-0C8D
-0C91
-0CA9
-0CB4
-0CBA 0CBB
-0CC5
-0CC9
-0CCE 0CD4
-0CD7 0CDD
-0CDF
-0CE4 0CE5
-0CF0
-0CF3 0D01
-0D04
-0D0D
-0D11
-0D3B 0D3C
-0D45
-0D49
-0D4F 0D56
-0D58 0D5F
-0D64 0D65
-0D70 0D79
-0D80 0D81
-0D84
-0D97 0D99
-0DB2
-0DBC
-0DBE 0DBF
-0DC7 0DC9
-0DCB 0DCE
-0DD5
-0DD7
-0DE0 0DF1
-0DF4 0E00
-0E3B 0E3F
-0E4F
-0E5A 0E80
-0E83
-0E85 0E86
-0E89
-0E8B 0E8C
-0E8E 0E93
-0E98
-0EA0
-0EA4
-0EA6
-0EA8 0EA9
-0EAC
-0EBA
-0EBE 0EBF
-0EC5
-0EC7
-0ECE 0ECF
-0EDA 0EDB
-0EDE 0EFF
-0F01 0F17
-0F1A 0F1F
-0F2A 0F34
-0F36
-0F38
-0F3A 0F3D
-0F48
-0F6D 0F70
-0F85
-0F98
-0FBD 0FC5
-0FC7 0FFF
-104A 104F
-109E 109F
-10C6 10CF
-10FB
-10FD 10FF
-1249
-124E 124F
-1257
-1259
-125E 125F
-1289
-128E 128F
-12B1
-12B6 12B7
-12BF
-12C1
-12C6 12C7
-12D7
-1311
-1316 1317
-135B 135C
-1360 1368
-1372 137F
-1390 139F
-13F5 1400
-166D 166E
-1680
-169B 169F
-16EB 16ED
-16F1 16FF
-170D
-1715 171F
-1735 173F
-1754 175F
-176D
-1771
-1774 177F
-17B4 17B5
-17D4 17D6
-17D8 17DB
-17DE 17DF
-17EA 180A
-180E 180F
-181A 181F
-1878 187F
-18AB 18AF
-18F6 18FF
-191D 191F
-192C 192F
-193C 1945
-196E 196F
-1975 197F
-19AC 19AF
-19CA 19CF
-19DB 19FF
-1A1C 1A1F
-1A5F
-1A7D 1A7E
-1A8A 1A8F
-1A9A 1AA6
-1AA8 1AFF
-1B4C 1B4F
-1B5A 1B6A
-1B74 1B7F
-1BAB 1BAD
-1BBA 1BBF
-1BF4 1BFF
-1C38 1C3F
-1C4A 1C4C
-1C7E 1CCF
-1CD3
-1CF3 1CFF
-1DE7 1DFB
-1F16 1F17
-1F1E 1F1F
-1F46 1F47
-1F4E 1F4F
-1F58
-1F5A
-1F5C
-1F5E
-1F7E 1F7F
-1FB5
-1FBD
-1FBF 1FC1
-1FC5
-1FCD 1FCF
-1FD4 1FD5
-1FDC 1FDF
-1FED 1FF1
-1FF5
-1FFD 203E
-2041 2053
-2055 2070
-2072 207E
-2080 208F
-209D 20CF
-20DD 20E0
-20E2 20E4
-20F1 2101
-2103 2106
-2108 2109
-2114
-2116 2117
-211E 2123
-2125
-2127
-2129
-213A 213B
-2140 2144
-214A 214D
-214F 215F
-2189 2BFF
-2C2F
-2C5F
-2CE5 2CEA
-2CF2 2CFF
-2D26 2D2F
-2D66 2D6E
-2D70 2D7E
-2D97 2D9F
-2DA7
-2DAF
-2DB7
-2DBF
-2DC7
-2DCF
-2DD7
-2DDF
-2E00 3004
-3008 3020
-3030
-3036 3037
-303D 3040
-3097 3098
-30A0
-30FB
-3100 3104
-312E 3130
-318F 319F
-31BB 31EF
-3200 33FF
-4DB6 4DFF
-9FCC 9FFF
-A48D A4CF
-A4FE A4FF
-A60D A60F
-A62C A63F
-A670 A67B
-A67E
-A698 A69F
-A6F2 A716
-A720 A721
-A789 A78A
-A78F
-A792 A79F
-A7AA A7F9
-A828 A83F
-A874 A87F
-A8C5 A8CF
-A8DA A8DF
-A8F8 A8FA
-A8FC A8FF
-A92E A92F
-A954 A95F
-A97D A97F
-A9C1 A9CE
-A9DA A9FF
-AA37 AA3F
-AA4E AA4F
-AA5A AA5F
-AA77 AA79
-AA7C AA7F
-AAC3 AADA
-AADE AB00
-AB07 AB08
-AB0F AB10
-AB17 AB1F
-AB27
-AB2F ABBF
-ABEB
-ABEE ABEF
-ABFA ABFF
-D7A4 D7AF
-D7C7 D7CA
-D7FC F8FF
-FA2E FA2F
-FA6E FA6F
-FADA FAFF
-FB07 FB12
-FB18 FB1C
-FB29
-FB37
-FB3D
-FB3F
-FB42
-FB45
-FBB2 FBD2
-FD3E FD4F
-FD90 FD91
-FDC8 FDEF
-FDFC FDFF
-FE10 FE1F
-FE27 FE32
-FE35 FE4C
-FE50 FE6F
-FE75
-FEFD FF0F
-FF1A FF20
-FF3B FF3E
-FF40
-FF5B FF65
-FFBF FFC1
-FFC8 FFC9
-FFD0 FFD1
-FFD8 FFD9
-FFDD FFFF
-1000C
-10027
-1003B
-1003E
-1004E 1004F
-1005E 1007F
-100FB 1013F
-10175 101FC
-101FE 1027F
-1029D 1029F
-102D1 102FF
-1031F 1032F
-1034B 1037F
-1039E 1039F
-103C4 103C7
-103D0
-103D6 103FF
-1049E 1049F
-104AA 107FF
-10806 10807
-10809
-10836
-10839 1083B
-1083D 1083E
-10856 108FF
-10916 1091F
-1093A 109FF
-10A04
-10A07 10A0B
-10A14
-10A18
-10A34 10A37
-10A3B 10A3E
-10A40 10A5F
-10A7D 10AFF
-10B36 10B3F
-10B56 10B5F
-10B73 10BFF
-10C49 10FFF
-11047 11065
-11070 1107F
-110BB 11FFF
-1236F 123FF
-12463 12FFF
-1342F 167FF
-16A39 1AFFF
-1B002 1D164
-1D16A 1D16C
-1D173 1D17A
-1D183 1D184
-1D18C 1D1A9
-1D1AE 1D241
-1D245 1D3FF
-1D455
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4BA
-1D4BC
-1D4C4
-1D506
-1D50B 1D50C
-1D515
-1D51D
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551
-1D6A6 1D6A7
-1D6C1
-1D6DB
-1D6FB
-1D715
-1D735
-1D74F
-1D76F
-1D789
-1D7A9
-1D7C3
-1D7CC 1D7CD
-1D800 1FFFF
-2A6D7 2A6FF
-2B735 2B73F
-2B81E 2F7FF
-2FA1E E00FF
-E01F0 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDC/Y.pl
index dc4c527db20..8f4e60b2ba4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/IDC/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -57,6 +57,9 @@ return <<'END';
07FA
0800 082D
0840 085B
+08A0
+08A2 08AC
+08E4 08FE
0900 0963
0966 096F
0971 0977
@@ -204,7 +207,7 @@ return <<'END';
0EC6
0EC8 0ECD
0ED0 0ED9
-0EDC 0EDD
+0EDC 0EDF
0F00
0F18 0F19
0F20 0F29
@@ -220,9 +223,10 @@ return <<'END';
1000 1049
1050 109D
10A0 10C5
+10C7
+10CD
10D0 10FA
-10FC
-1100 1248
+10FC 1248
124A 124D
1250 1256
1258
@@ -254,8 +258,7 @@ return <<'END';
1760 176C
176E 1770
1772 1773
-1780 17B3
-17B6 17D3
+1780 17D3
17D7
17DC 17DD
17E0 17E9
@@ -281,14 +284,12 @@ return <<'END';
1B00 1B4B
1B50 1B59
1B6B 1B73
-1B80 1BAA
-1BAE 1BB9
-1BC0 1BF3
+1B80 1BF3
1C00 1C37
1C40 1C49
1C4D 1C7D
1CD0 1CD2
-1CD4 1CF2
+1CD4 1CF6
1D00 1DE6
1DFC 1F15
1F18 1F1D
@@ -333,9 +334,11 @@ return <<'END';
2C00 2C2E
2C30 2C5E
2C60 2CE4
-2CEB 2CF1
+2CEB 2CF3
2D00 2D25
-2D30 2D65
+2D27
+2D2D
+2D30 2D67
2D6F
2D7F 2D96
2DA0 2DA6
@@ -360,21 +363,21 @@ return <<'END';
31A0 31BA
31F0 31FF
3400 4DB5
-4E00 9FCB
+4E00 9FCC
A000 A48C
A4D0 A4FD
A500 A60C
A610 A62B
A640 A66F
-A67C A67D
+A674 A67D
A67F A697
-A6A0 A6F1
+A69F A6F1
A717 A71F
A722 A788
A78B A78E
-A790 A791
-A7A0 A7A9
-A7FA A827
+A790 A793
+A7A0 A7AA
+A7F8 A827
A840 A873
A880 A8C4
A8D0 A8D9
@@ -392,6 +395,8 @@ AA60 AA76
AA7A AA7B
AA80 AAC2
AADB AADD
+AAE0 AAEF
+AAF2 AAF6
AB01 AB06
AB09 AB0E
AB11 AB16
@@ -403,8 +408,7 @@ ABF0 ABF9
AC00 D7A3
D7B0 D7C6
D7CB D7FB
-F900 FA2D
-FA30 FA6D
+F900 FA6D
FA70 FAD9
FB00 FB06
FB13 FB17
@@ -461,6 +465,8 @@ FFDA FFDC
1083F 10855
10900 10915
10920 10939
+10980 109B7
+109BE 109BF
10A00 10A03
10A05 10A06
10A0C 10A13
@@ -476,10 +482,21 @@ FFDA FFDC
11000 11046
11066 1106F
11080 110BA
+110D0 110E8
+110F0 110F9
+11100 11134
+11136 1113F
+11180 111C4
+111D0 111D9
+11680 116B7
+116C0 116C9
12000 1236E
12400 12462
13000 1342E
16800 16A38
+16F00 16F44
+16F50 16F7E
+16F8F 16F9F
1B000 1B001
1D165 1D169
1D16D 1D172
@@ -518,6 +535,39 @@ FFDA FFDC
1D7AA 1D7C2
1D7C4 1D7CB
1D7CE 1D7FF
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
20000 2A6D6
2A700 2B734
2B740 2B81D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDS/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDS/N.pl
deleted file mode 100644
index bd9a1b8cad6..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDS/N.pl
+++ /dev/null
@@ -1,450 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0040
-005B 0060
-007B 00A9
-00AB 00B4
-00B6 00B9
-00BB 00BF
-00D7
-00F7
-02C2 02C5
-02D2 02DF
-02E5 02EB
-02ED
-02EF 036F
-0375
-0378 0379
-037E 0385
-0387
-038B
-038D
-03A2
-03F6
-0482 0489
-0528 0530
-0557 0558
-055A 0560
-0588 05CF
-05EB 05EF
-05F3 061F
-064B 066D
-0670
-06D4
-06D6 06E4
-06E7 06ED
-06F0 06F9
-06FD 06FE
-0700 070F
-0711
-0730 074C
-07A6 07B0
-07B2 07C9
-07EB 07F3
-07F6 07F9
-07FB 07FF
-0816 0819
-081B 0823
-0825 0827
-0829 083F
-0859 0903
-093A 093C
-093E 094F
-0951 0957
-0962 0970
-0978
-0980 0984
-098D 098E
-0991 0992
-09A9
-09B1
-09B3 09B5
-09BA 09BC
-09BE 09CD
-09CF 09DB
-09DE
-09E2 09EF
-09F2 0A04
-0A0B 0A0E
-0A11 0A12
-0A29
-0A31
-0A34
-0A37
-0A3A 0A58
-0A5D
-0A5F 0A71
-0A75 0A84
-0A8E
-0A92
-0AA9
-0AB1
-0AB4
-0ABA 0ABC
-0ABE 0ACF
-0AD1 0ADF
-0AE2 0B04
-0B0D 0B0E
-0B11 0B12
-0B29
-0B31
-0B34
-0B3A 0B3C
-0B3E 0B5B
-0B5E
-0B62 0B70
-0B72 0B82
-0B84
-0B8B 0B8D
-0B91
-0B96 0B98
-0B9B
-0B9D
-0BA0 0BA2
-0BA5 0BA7
-0BAB 0BAD
-0BBA 0BCF
-0BD1 0C04
-0C0D
-0C11
-0C29
-0C34
-0C3A 0C3C
-0C3E 0C57
-0C5A 0C5F
-0C62 0C84
-0C8D
-0C91
-0CA9
-0CB4
-0CBA 0CBC
-0CBE 0CDD
-0CDF
-0CE2 0CF0
-0CF3 0D04
-0D0D
-0D11
-0D3B 0D3C
-0D3E 0D4D
-0D4F 0D5F
-0D62 0D79
-0D80 0D84
-0D97 0D99
-0DB2
-0DBC
-0DBE 0DBF
-0DC7 0E00
-0E31
-0E34 0E3F
-0E47 0E80
-0E83
-0E85 0E86
-0E89
-0E8B 0E8C
-0E8E 0E93
-0E98
-0EA0
-0EA4
-0EA6
-0EA8 0EA9
-0EAC
-0EB1
-0EB4 0EBC
-0EBE 0EBF
-0EC5
-0EC7 0EDB
-0EDE 0EFF
-0F01 0F3F
-0F48
-0F6D 0F87
-0F8D 0FFF
-102B 103E
-1040 104F
-1056 1059
-105E 1060
-1062 1064
-1067 106D
-1071 1074
-1082 108D
-108F 109F
-10C6 10CF
-10FB
-10FD 10FF
-1249
-124E 124F
-1257
-1259
-125E 125F
-1289
-128E 128F
-12B1
-12B6 12B7
-12BF
-12C1
-12C6 12C7
-12D7
-1311
-1316 1317
-135B 137F
-1390 139F
-13F5 1400
-166D 166E
-1680
-169B 169F
-16EB 16ED
-16F1 16FF
-170D
-1712 171F
-1732 173F
-1752 175F
-176D
-1771 177F
-17B4 17D6
-17D8 17DB
-17DD 181F
-1878 187F
-18A9
-18AB 18AF
-18F6 18FF
-191D 194F
-196E 196F
-1975 197F
-19AC 19C0
-19C8 19FF
-1A17 1A1F
-1A55 1AA6
-1AA8 1B04
-1B34 1B44
-1B4C 1B82
-1BA1 1BAD
-1BB0 1BBF
-1BE6 1BFF
-1C24 1C4C
-1C50 1C59
-1C7E 1CE8
-1CED
-1CF2 1CFF
-1DC0 1DFF
-1F16 1F17
-1F1E 1F1F
-1F46 1F47
-1F4E 1F4F
-1F58
-1F5A
-1F5C
-1F5E
-1F7E 1F7F
-1FB5
-1FBD
-1FBF 1FC1
-1FC5
-1FCD 1FCF
-1FD4 1FD5
-1FDC 1FDF
-1FED 1FF1
-1FF5
-1FFD 2070
-2072 207E
-2080 208F
-209D 2101
-2103 2106
-2108 2109
-2114
-2116 2117
-211E 2123
-2125
-2127
-2129
-213A 213B
-2140 2144
-214A 214D
-214F 215F
-2189 2BFF
-2C2F
-2C5F
-2CE5 2CEA
-2CEF 2CFF
-2D26 2D2F
-2D66 2D6E
-2D70 2D7F
-2D97 2D9F
-2DA7
-2DAF
-2DB7
-2DBF
-2DC7
-2DCF
-2DD7
-2DDF 3004
-3008 3020
-302A 3030
-3036 3037
-303D 3040
-3097 309A
-30A0
-30FB
-3100 3104
-312E 3130
-318F 319F
-31BB 31EF
-3200 33FF
-4DB6 4DFF
-9FCC 9FFF
-A48D A4CF
-A4FE A4FF
-A60D A60F
-A620 A629
-A62C A63F
-A66F A67E
-A698 A69F
-A6F0 A716
-A720 A721
-A789 A78A
-A78F
-A792 A79F
-A7AA A7F9
-A802
-A806
-A80B
-A823 A83F
-A874 A881
-A8B4 A8F1
-A8F8 A8FA
-A8FC A909
-A926 A92F
-A947 A95F
-A97D A983
-A9B3 A9CE
-A9D0 A9FF
-AA29 AA3F
-AA43
-AA4C AA5F
-AA77 AA79
-AA7B AA7F
-AAB0
-AAB2 AAB4
-AAB7 AAB8
-AABE AABF
-AAC1
-AAC3 AADA
-AADE AB00
-AB07 AB08
-AB0F AB10
-AB17 AB1F
-AB27
-AB2F ABBF
-ABE3 ABFF
-D7A4 D7AF
-D7C7 D7CA
-D7FC F8FF
-FA2E FA2F
-FA6E FA6F
-FADA FAFF
-FB07 FB12
-FB18 FB1C
-FB1E
-FB29
-FB37
-FB3D
-FB3F
-FB42
-FB45
-FBB2 FBD2
-FD3E FD4F
-FD90 FD91
-FDC8 FDEF
-FDFC FE6F
-FE75
-FEFD FF20
-FF3B FF40
-FF5B FF65
-FFBF FFC1
-FFC8 FFC9
-FFD0 FFD1
-FFD8 FFD9
-FFDD FFFF
-1000C
-10027
-1003B
-1003E
-1004E 1004F
-1005E 1007F
-100FB 1013F
-10175 1027F
-1029D 1029F
-102D1 102FF
-1031F 1032F
-1034B 1037F
-1039E 1039F
-103C4 103C7
-103D0
-103D6 103FF
-1049E 107FF
-10806 10807
-10809
-10836
-10839 1083B
-1083D 1083E
-10856 108FF
-10916 1091F
-1093A 109FF
-10A01 10A0F
-10A14
-10A18
-10A34 10A5F
-10A7D 10AFF
-10B36 10B3F
-10B56 10B5F
-10B73 10BFF
-10C49 11002
-11038 11082
-110B0 11FFF
-1236F 123FF
-12463 12FFF
-1342F 167FF
-16A39 1AFFF
-1B002 1D3FF
-1D455
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4BA
-1D4BC
-1D4C4
-1D506
-1D50B 1D50C
-1D515
-1D51D
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551
-1D6A6 1D6A7
-1D6C1
-1D6DB
-1D6FB
-1D715
-1D735
-1D74F
-1D76F
-1D789
-1D7A9
-1D7C3
-1D7CC 1FFFF
-2A6D7 2A6FF
-2B735 2B73F
-2B81E 2F7FF
-2FA1E 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDS/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDS/Y.pl
index 55485ab47ed..ee985a786a8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDS/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/IDS/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -56,6 +56,8 @@ return <<'END';
0824
0828
0840 0858
+08A0
+08A2 08AC
0904 0939
093D
0950
@@ -161,7 +163,7 @@ return <<'END';
0EBD
0EC0 0EC4
0EC6
-0EDC 0EDD
+0EDC 0EDF
0F00
0F40 0F47
0F49 0F6C
@@ -176,9 +178,10 @@ return <<'END';
1075 1081
108E
10A0 10C5
+10C7
+10CD
10D0 10FA
-10FC
-1100 1248
+10FC 1248
124A 124D
1250 1256
1258
@@ -226,12 +229,13 @@ return <<'END';
1B45 1B4B
1B83 1BA0
1BAE 1BAF
-1BC0 1BE5
+1BBA 1BE5
1C00 1C23
1C4D 1C4F
1C5A 1C7D
1CE9 1CEC
1CEE 1CF1
+1CF5 1CF6
1D00 1DBF
1E00 1F15
1F18 1F1D
@@ -272,8 +276,11 @@ return <<'END';
2C30 2C5E
2C60 2CE4
2CEB 2CEE
+2CF2 2CF3
2D00 2D25
-2D30 2D65
+2D27
+2D2D
+2D30 2D67
2D6F
2D80 2D96
2DA0 2DA6
@@ -297,7 +304,7 @@ return <<'END';
31A0 31BA
31F0 31FF
3400 4DB5
-4E00 9FCB
+4E00 9FCC
A000 A48C
A4D0 A4FD
A500 A60C
@@ -309,9 +316,9 @@ A6A0 A6EF
A717 A71F
A722 A788
A78B A78E
-A790 A791
-A7A0 A7A9
-A7FA A801
+A790 A793
+A7A0 A7AA
+A7F8 A801
A803 A805
A807 A80A
A80C A822
@@ -336,6 +343,8 @@ AAB9 AABD
AAC0
AAC2
AADB AADD
+AAE0 AAEA
+AAF2 AAF4
AB01 AB06
AB09 AB0E
AB11 AB16
@@ -345,8 +354,7 @@ ABC0 ABE2
AC00 D7A3
D7B0 D7C6
D7CB D7FB
-F900 FA2D
-FA30 FA6D
+F900 FA6D
FA70 FAD9
FB00 FB06
FB13 FB17
@@ -396,6 +404,8 @@ FFDA FFDC
1083F 10855
10900 10915
10920 10939
+10980 109B7
+109BE 109BF
10A00
10A10 10A13
10A15 10A17
@@ -407,10 +417,18 @@ FFDA FFDC
10C00 10C48
11003 11037
11083 110AF
+110D0 110E8
+11103 11126
+11183 111B2
+111C1 111C4
+11680 116AA
12000 1236E
12400 12462
13000 1342E
16800 16A38
+16F00 16F44
+16F50
+16F93 16F9F
1B000 1B001
1D400 1D454
1D456 1D49C
@@ -442,6 +460,39 @@ FFDA FFDC
1D78A 1D7A8
1D7AA 1D7C2
1D7C4 1D7CB
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
20000 2A6D6
2A700 2B734
2B740 2B81D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDSB/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDSB/N.pl
deleted file mode 100644
index ec394fb2c0b..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDSB/N.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 2FEF
-2FF2 2FF3
-2FFC 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDSB/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDSB/Y.pl
index 0f0fe9edf1d..bbe52d4ac11 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDSB/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/IDSB/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDST/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDST/N.pl
deleted file mode 100644
index 867dee1bb4e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDST/N.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 2FF1
-2FF4 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/IDST/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/IDST/Y.pl
index 807b6c94c0f..c86e506bbfd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/IDST/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/IDST/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ideo/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ideo/N.pl
deleted file mode 100644
index 503cbba5908..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ideo/N.pl
+++ /dev/null
@@ -1,25 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 3005
-3008 3020
-302A 3037
-303B 33FF
-4DB6 4DFF
-9FCC F8FF
-FA2E FA2F
-FA6E FA6F
-FADA 1FFFF
-2A6D7 2A6FF
-2B735 2B73F
-2B81E 2F7FF
-2FA1E 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Ideo/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Ideo/Y.pl
index c3c6dc77f89..6b38958f3f6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Ideo/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Ideo/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -13,9 +13,8 @@ return <<'END';
3021 3029
3038 303A
3400 4DB5
-4E00 9FCB
-F900 FA2D
-FA30 FA6D
+4E00 9FCC
+F900 FA6D
FA70 FAD9
20000 2A6D6
2A700 2B734
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/2_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/2_0.pl
index 26b0c997492..bde9591a233 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/2_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/2_0.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/2_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/2_1.pl
index f71df5c2876..3e3b6c25e68 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/2_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/2_1.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/3_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/3_0.pl
index a8cd12c7a6a..8d5b53a701f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/3_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/3_0.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/3_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/3_1.pl
index aede5d7c662..ce27ca06c76 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/3_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/3_1.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/3_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/3_2.pl
index d50c5658107..7e76041cf9b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/3_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/3_2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/4_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/4_0.pl
index 8da07fcea49..f94144d205a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/4_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/4_0.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/4_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/4_1.pl
index a3b3a33fee1..5b64643653a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/4_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/4_1.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/5_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/5_0.pl
index e1d400d1d2e..2870d4413d9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/5_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/5_0.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/5_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/5_1.pl
index 80d5def63a0..d1a36589783 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/5_1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/5_1.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/5_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/5_2.pl
index 9e6eb973a1e..056e136e91f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/5_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/5_2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/6_0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/6_0.pl
index 65dfd3deaec..08ef61ca05f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/In/6_0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/6_0.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/In/6_1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/In/6_1.pl
new file mode 100644
index 00000000000..af3679cd0a2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/In/6_1.pl
@@ -0,0 +1,561 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0000 0377
+037A 037E
+0384 038A
+038C
+038E 03A1
+03A3 0527
+0531 0556
+0559 055F
+0561 0587
+0589 058A
+058F
+0591 05C7
+05D0 05EA
+05F0 05F4
+0600 0604
+0606 061B
+061E 070D
+070F 074A
+074D 07B1
+07C0 07FA
+0800 082D
+0830 083E
+0840 085B
+085E
+08A0
+08A2 08AC
+08E4 08FE
+0900 0977
+0979 097F
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
+09B2
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CE
+09D7
+09DC 09DD
+09DF 09E3
+09E6 09FB
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A3C
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A51
+0A59 0A5C
+0A5E
+0A66 0A75
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
+0AD0
+0AE0 0AE3
+0AE6 0AF1
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B44
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B63
+0B66 0B77
+0B82 0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
+0B9C
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
+0BBE 0BC2
+0BC6 0BC8
+0BCA 0BCD
+0BD0
+0BD7
+0BE6 0BFA
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3D 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C58 0C59
+0C60 0C63
+0C66 0C6F
+0C78 0C7F
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBC 0CC4
+0CC6 0CC8
+0CCA 0CCD
+0CD5 0CD6
+0CDE
+0CE0 0CE3
+0CE6 0CEF
+0CF1 0CF2
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
+0D3D 0D44
+0D46 0D48
+0D4A 0D4E
+0D57
+0D60 0D63
+0D66 0D75
+0D79 0D7F
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
+0DBD
+0DC0 0DC6
+0DCA
+0DCF 0DD4
+0DD6
+0DD8 0DDF
+0DF2 0DF4
+0E01 0E3A
+0E3F 0E5B
+0E81 0E82
+0E84
+0E87 0E88
+0E8A
+0E8D
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
+0EA5
+0EA7
+0EAA 0EAB
+0EAD 0EB9
+0EBB 0EBD
+0EC0 0EC4
+0EC6
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDF
+0F00 0F47
+0F49 0F6C
+0F71 0F97
+0F99 0FBC
+0FBE 0FCC
+0FCE 0FDA
+1000 10C5
+10C7
+10CD
+10D0 1248
+124A 124D
+1250 1256
+1258
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
+12C0
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+135D 137C
+1380 1399
+13A0 13F4
+1400 169C
+16A0 16F0
+1700 170C
+170E 1714
+1720 1736
+1740 1753
+1760 176C
+176E 1770
+1772 1773
+1780 17DD
+17E0 17E9
+17F0 17F9
+1800 180E
+1810 1819
+1820 1877
+1880 18AA
+18B0 18F5
+1900 191C
+1920 192B
+1930 193B
+1940
+1944 196D
+1970 1974
+1980 19AB
+19B0 19C9
+19D0 19DA
+19DE 1A1B
+1A1E 1A5E
+1A60 1A7C
+1A7F 1A89
+1A90 1A99
+1AA0 1AAD
+1B00 1B4B
+1B50 1B7C
+1B80 1BF3
+1BFC 1C37
+1C3B 1C49
+1C4D 1C7F
+1CC0 1CC7
+1CD0 1CF6
+1D00 1DE6
+1DFC 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
+1F59
+1F5B
+1F5D
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FC4
+1FC6 1FD3
+1FD6 1FDB
+1FDD 1FEF
+1FF2 1FF4
+1FF6 1FFE
+2000 2064
+206A 2071
+2074 208E
+2090 209C
+20A0 20B9
+20D0 20F0
+2100 2189
+2190 23F3
+2400 2426
+2440 244A
+2460 26FF
+2701 2B4C
+2B50 2B59
+2C00 2C2E
+2C30 2C5E
+2C60 2CF3
+2CF9 2D25
+2D27
+2D2D
+2D30 2D67
+2D6F 2D70
+2D7F 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+2DE0 2E3B
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+2FF0 2FFB
+3000 303F
+3041 3096
+3099 30FF
+3105 312D
+3131 318E
+3190 31BA
+31C0 31E3
+31F0 321E
+3220 32FE
+3300 4DB5
+4DC0 9FCC
+A000 A48C
+A490 A4C6
+A4D0 A62B
+A640 A697
+A69F A6F7
+A700 A78E
+A790 A793
+A7A0 A7AA
+A7F8 A82B
+A830 A839
+A840 A877
+A880 A8C4
+A8CE A8D9
+A8E0 A8FB
+A900 A953
+A95F A97C
+A980 A9CD
+A9CF A9D9
+A9DE A9DF
+AA00 AA36
+AA40 AA4D
+AA50 AA59
+AA5C AA7B
+AA80 AAC2
+AADB AAF6
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+ABC0 ABED
+ABF0 ABF9
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+D800 FA6D
+FA70 FAD9
+FB00 FB06
+FB13 FB17
+FB1D FB36
+FB38 FB3C
+FB3E
+FB40 FB41
+FB43 FB44
+FB46 FBC1
+FBD3 FD3F
+FD50 FD8F
+FD92 FDC7
+FDD0 FDFD
+FE00 FE19
+FE20 FE26
+FE30 FE52
+FE54 FE66
+FE68 FE6B
+FE70 FE74
+FE76 FEFC
+FEFF
+FF01 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+FFE0 FFE6
+FFE8 FFEE
+FFF9 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10100 10102
+10107 10133
+10137 1018A
+10190 1019B
+101D0 101FD
+10280 1029C
+102A0 102D0
+10300 1031E
+10320 10323
+10330 1034A
+10380 1039D
+1039F 103C3
+103C8 103D5
+10400 1049D
+104A0 104A9
+10800 10805
+10808
+1080A 10835
+10837 10838
+1083C
+1083F 10855
+10857 1085F
+10900 1091B
+1091F 10939
+1093F
+10980 109B7
+109BE 109BF
+10A00 10A03
+10A05 10A06
+10A0C 10A13
+10A15 10A17
+10A19 10A33
+10A38 10A3A
+10A3F 10A47
+10A50 10A58
+10A60 10A7F
+10B00 10B35
+10B39 10B55
+10B58 10B72
+10B78 10B7F
+10C00 10C48
+10E60 10E7E
+11000 1104D
+11052 1106F
+11080 110C1
+110D0 110E8
+110F0 110F9
+11100 11134
+11136 11143
+11180 111C8
+111D0 111D9
+11680 116B7
+116C0 116C9
+12000 1236E
+12400 12462
+12470 12473
+13000 1342E
+16800 16A38
+16F00 16F44
+16F50 16F7E
+16F8F 16F9F
+1B000 1B001
+1D000 1D0F5
+1D100 1D126
+1D129 1D1DD
+1D200 1D245
+1D300 1D356
+1D360 1D371
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D7CB
+1D7CE 1D7FF
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
+1EEF0 1EEF1
+1F000 1F02B
+1F030 1F093
+1F0A0 1F0AE
+1F0B1 1F0BE
+1F0C1 1F0CF
+1F0D1 1F0DF
+1F100 1F10A
+1F110 1F12E
+1F130 1F16B
+1F170 1F19A
+1F1E6 1F202
+1F210 1F23A
+1F240 1F248
+1F250 1F251
+1F300 1F320
+1F330 1F335
+1F337 1F37C
+1F380 1F393
+1F3A0 1F3C4
+1F3C6 1F3CA
+1F3E0 1F3F0
+1F400 1F43E
+1F440
+1F442 1F4F7
+1F4F9 1F4FC
+1F500 1F53D
+1F540 1F543
+1F550 1F567
+1F5FB 1F640
+1F645 1F64F
+1F680 1F6C5
+1F700 1F773
+1FFFE 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
+2FFFE 2FFFF
+3FFFE 3FFFF
+4FFFE 4FFFF
+5FFFE 5FFFF
+6FFFE 6FFFF
+7FFFE 7FFFF
+8FFFE 8FFFF
+9FFFE 9FFFF
+AFFFE AFFFF
+BFFFE BFFFF
+CFFFE CFFFF
+DFFFE DFFFF
+E0001
+E0020 E007F
+E0100 E01EF
+EFFFE 10FFFF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Ain.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Ain.pl
index 082366952a3..b78677c13a2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Ain.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Ain.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alaph.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alaph.pl
index c0ed00d5440..23f5a647b89 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alaph.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alaph.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alef.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alef.pl
index a1b6168b9b9..411c019bf06 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alef.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Alef.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beh.pl
index 3da2747d997..d65684b9c4f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beh.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -14,4 +14,5 @@ return <<'END';
066E
0679 0680
0750 0756
+08A0
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beth.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beth.pl
index 273d7b020cd..ef08d1d3871 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beth.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Beth.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Burushas.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Burushas.pl
index 192e7fe654d..07f86d3265a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Burushas.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Burushas.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Dal.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Dal.pl
index 3a96c2ac5e9..7f567313ceb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Dal.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Dal.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/DalathRi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/DalathRi.pl
index e10cd34011a..aa21b4b5763 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/DalathRi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/DalathRi.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/E.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/E.pl
index c63869f9c9a..c06a0852280 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/E.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/E.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FarsiYeh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FarsiYeh.pl
index 56a3515325a..d56ddd55a77 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FarsiYeh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FarsiYeh.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Fe.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Fe.pl
index aa712294f1c..ba8ee657f02 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Fe.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Fe.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Feh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Feh.pl
index 4076ce41da7..2ea9711e44c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Feh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Feh.pl
@@ -1,15 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
0641
06A1 06A6
0760 0761
+08A4
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FinalSem.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FinalSem.pl
index 9588a2e7ae4..8d438dbb15a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FinalSem.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/FinalSem.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gaf.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gaf.pl
index 230aa22e0b5..6dbd0035745 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gaf.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gaf.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gamal.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gamal.pl
index a20adf5aeb0..bdf21a5b886 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gamal.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Gamal.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Hah.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Hah.pl
index 57c979dd563..0c47579ad47 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Hah.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Hah.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -16,4 +16,5 @@ return <<'END';
076E 076F
0772
077C
+08A2
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/HamzaOnH.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/HamzaOnH.pl
new file mode 100644
index 00000000000..dac2c8be966
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/HamzaOnH.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+06C3
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/He.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/He.pl
index 181943038cc..e5504f82159 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/He.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/He.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heh.pl
index 1d355487b55..b9220e7ce5d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heh.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/HehGoal.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/HehGoal.pl
index 3208ac180bb..45ddbebf563 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/HehGoal.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/HehGoal.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heth.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heth.pl
index c6c9ecc537f..53dd3ccd021 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heth.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Heth.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaf.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaf.pl
index 8ba9b59d5f4..e67f4e43de7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaf.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaf.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaph.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaph.pl
index dd0c6b40150..30bb12a26ad 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaph.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Kaph.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Khaph.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Khaph.pl
index 572231f2d42..c824fc0f172 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Khaph.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Khaph.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/KnottedH.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/KnottedH.pl
index fc5363f0c48..f8ff8375713 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/KnottedH.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/KnottedH.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lam.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lam.pl
index 4c7ae0fbed3..ac1117b5ca2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lam.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lam.pl
@@ -1,15 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
0644
06B5 06B8
076A
+08A6
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lamadh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lamadh.pl
index bace0a3af8c..06a9d1c2e43 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lamadh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Lamadh.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Meem.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Meem.pl
index b9d2b190e1c..b63424d6847 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Meem.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Meem.pl
@@ -1,14 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
0645
0765 0766
+08A7
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Mim.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Mim.pl
index 4de100ed618..06e476031ea 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Mim.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Mim.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/NoJoinin.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/NoJoinin.pl
index 6d69b8e982e..786d011c7a7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/NoJoinin.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/NoJoinin.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -22,5 +22,7 @@ return <<'END';
0700 070F
0711
0730 074C
-0780 10FFFF
+0780 089F
+08A1
+08AD 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Noon.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Noon.pl
index 8ffb04094b9..b1a135eb15b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Noon.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Noon.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nun.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nun.pl
index 6c26f6f93c0..49db8114d06 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nun.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nun.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nya.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nya.pl
index 4f7897d85a2..86095c95ded 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nya.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Nya.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Pe.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Pe.pl
index 27b52c1bf52..dd948da4010 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Pe.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Pe.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaf.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaf.pl
index 2f413f6dcad..95e796ab448 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaf.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaf.pl
@@ -1,15 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
0642
066F
06A7 06A8
+08A5
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaph.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaph.pl
index deaf713978d..c07acff7a93 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaph.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Qaph.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reh.pl
index 691288c1987..cf6cc073362 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reh.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -15,4 +15,5 @@ return <<'END';
075B
076B 076C
0771
+08AA
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reversed.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reversed.pl
index e76f65a326f..a14612c7f84 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reversed.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Reversed.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Rohingya.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Rohingya.pl
new file mode 100644
index 00000000000..cb858f3acca
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Rohingya.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+08AC
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sad.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sad.pl
index f9d2e7f4dfc..1d1292f754e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sad.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sad.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sadhe.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sadhe.pl
index e3f4e44b2cd..c9bb5509efe 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sadhe.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Sadhe.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Seen.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Seen.pl
index 2d1cea27c7d..89ebf48ecc4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Seen.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Seen.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Semkath.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Semkath.pl
index fc960f9e41f..baf51dc2ede 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Semkath.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Semkath.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Shin.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Shin.pl
index 655904467f1..5341842d775 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Shin.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Shin.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SwashKaf.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SwashKaf.pl
index 4f0b753f1c7..bd40ee304ca 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SwashKaf.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SwashKaf.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SyriacWa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SyriacWa.pl
index fe318795d63..8762e78902c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SyriacWa.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/SyriacWa.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Tah.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Tah.pl
index dad87f03649..c8de6bdd9c3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Tah.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Tah.pl
@@ -1,14 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
0637 0638
069F
+08A3
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Taw.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Taw.pl
index 74daeef9c93..39036ad0082 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Taw.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Taw.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarb2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarb2.pl
deleted file mode 100644
index d5dffd9244e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarb2.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-06C3
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarbu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarbu.pl
index b733c2ff9ea..f44ae596a85 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarbu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/TehMarbu.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Teth.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Teth.pl
index fe3be191306..590a029a660 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Teth.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Teth.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Waw.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Waw.pl
index 699a7e3ab6a..a18f8218751 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Waw.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Waw.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -15,4 +15,5 @@ return <<'END';
06C4 06CB
06CF
0778 0779
+08AB
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yeh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yeh.pl
index 7ae4fecf1db..85ade21999c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yeh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yeh.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -15,4 +15,5 @@ return <<'END';
0678
06D0 06D1
0777
+08A8 08A9
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehBarre.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehBarre.pl
index 837b02717b8..d70a83421a0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehBarre.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehBarre.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehWithT.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehWithT.pl
index b0cb818d06d..1a257490eea 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehWithT.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YehWithT.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yudh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yudh.pl
index a24d8864380..edbe8f62b63 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yudh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Yudh.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YudhHe.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YudhHe.pl
index a781fada860..45201ffb577 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YudhHe.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/YudhHe.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zain.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zain.pl
index 23622964929..57332aa6137 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zain.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zain.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zhain.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zhain.pl
index 5412158c6a6..7bdec7ddced 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zhain.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jg/Zhain.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/JoinC/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/JoinC/N.pl
deleted file mode 100644
index 83b2aab23f3..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/JoinC/N.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 200B
-200E 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/JoinC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/JoinC/Y.pl
index e77e844aed1..65ec10bca46 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/JoinC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/JoinC/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/C.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/C.pl
index 07afdd99f33..1db22808bee 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/C.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/C.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/D.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/D.pl
index 09875f05250..fde97c22d78 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/D.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/D.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -38,4 +38,11 @@ return <<'END';
0775 0777
077A 077F
07CA 07EA
+0841 0845
+0847 0848
+084A 084E
+0850 0853
+0855
+08A0
+08A2 08A9
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/R.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/R.pl
index c92ba54bddf..765bb8d6e66 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/R.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/R.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -37,4 +37,10 @@ return <<'END';
0771
0773 0774
0778 0779
+0840
+0846
+0849
+084F
+0854
+08AA 08AC
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/T.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/T.pl
index a85826d5604..5e69f2dae62 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/T.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/T.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -34,6 +34,7 @@ return <<'END';
0825 0827
0829 082D
0859 085B
+08E4 08FE
0900 0902
093A
093C
@@ -147,6 +148,7 @@ return <<'END';
1B80 1B81
1BA2 1BA5
1BA8 1BA9
+1BAB
1BE6
1BE8 1BE9
1BED
@@ -157,6 +159,7 @@ return <<'END';
1CD4 1CE0
1CE2 1CE8
1CED
+1CF4
1DC0 1DE6
1DFC 1DFF
200B
@@ -168,10 +171,11 @@ return <<'END';
2CEF 2CF1
2D7F
2DE0 2DFF
-302A 302F
+302A 302D
3099 309A
A66F A672
-A67C A67D
+A674 A67D
+A69F
A6F0 A6F1
A802
A806
@@ -195,6 +199,8 @@ AAB2 AAB4
AAB7 AAB8
AABE AABF
AAC1
+AAEC AAED
+AAF6
ABE5
ABE8
ABED
@@ -215,6 +221,16 @@ FFF9 FFFB
110B3 110B6
110B9 110BA
110BD
+11100 11102
+11127 1112B
+1112D 11134
+11180 11181
+111B6 111BE
+116AB
+116AD
+116B0 116B5
+116B7
+16F8F 16F92
1D167 1D169
1D173 1D182
1D185 1D18B
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/U.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/U.pl
index ebabb2fdaa8..a668542585f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Jt/U.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Jt/U.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -37,8 +37,12 @@ return <<'END';
081A
0824
0828
-082E 0858
-085C 08FF
+082E 083F
+0856 0858
+085C 089F
+08A1
+08AD 08E3
+08FF
0903 0939
093B
093D 0940
@@ -151,7 +155,8 @@ return <<'END';
1B74 1B7F
1B82 1BA1
1BA6 1BA7
-1BAA 1BE5
+1BAA
+1BAC 1BE5
1BE7
1BEA 1BEC
1BEE
@@ -161,7 +166,8 @@ return <<'END';
1CD3
1CE1
1CE9 1CEC
-1CEE 1DBF
+1CEE 1CF3
+1CF5 1DBF
1DE7 1DFB
1E00 200A
200C
@@ -173,10 +179,11 @@ return <<'END';
2CF2 2D7E
2D80 2DDF
2E00 3029
-3030 3098
+302E 3098
309B A66E
-A673 A67B
-A67E A6EF
+A673
+A67E A69E
+A6A0 A6EF
A6F2 A801
A803 A805
A807 A80A
@@ -199,7 +206,9 @@ AAB1
AAB5 AAB6
AAB9 AABD
AAC0
-AAC2 ABE4
+AAC2 AAEB
+AAEE AAF5
+AAF7 ABE4
ABE6 ABE7
ABE9 ABEC
ABEE FB1D
@@ -219,7 +228,17 @@ FFFC 101FC
11082 110B2
110B7 110B8
110BB 110BC
-110BE 1D166
+110BE 110FF
+11103 11126
+1112C
+11135 1117F
+11182 111B5
+111BF 116AA
+116AC
+116AE 116AF
+116B6
+116B8 16F8E
+16F93 1D166
1D16A 1D172
1D183 1D184
1D18C 1D1A9
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/LOE/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/LOE/N.pl
deleted file mode 100644
index f45b81ac3f1..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/LOE/N.pl
+++ /dev/null
@@ -1,18 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0E3F
-0E45 0EBF
-0EC5 AAB4
-AAB7 AAB8
-AABA
-AABD 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/LOE/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/LOE/Y.pl
new file mode 100644
index 00000000000..a164860955d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/LOE/Y.pl
@@ -0,0 +1,17 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0E40 0E44
+0EC0 0EC4
+AAB5 AAB6
+AAB9
+AABB AABC
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AI.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AI.pl
index 4bada69e39d..3827a534b0f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AI.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AI.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AL.pl
index ff77dda68df..47f3af3c9de 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/AL.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -41,9 +41,8 @@ return <<'END';
0561 0587
05C0
05C3
-05D0 05EA
-05F0 05F4
-0600 0603
+05F3 05F4
+0600 0604
0606 0608
060E 060F
0620 064A
@@ -69,6 +68,8 @@ return <<'END';
0830 083E
0840 0858
085E
+08A0
+08A2 08AC
0904 0939
093D
0950
@@ -107,6 +108,7 @@ return <<'END';
0ABD
0AD0
0AE0 0AE1
+0AF0
0B05 0B0C
0B0F 0B10
0B13 0B28
@@ -180,7 +182,9 @@ return <<'END';
0FD4 0FD8
104C 104F
10A0 10C5
-10D0 10FC
+10C7
+10CD
+10D0 10FF
1200 1248
124A 124D
1250 1256
@@ -231,13 +235,15 @@ return <<'END';
1B74 1B7C
1B83 1BA0
1BAE 1BAF
-1BC0 1BE5
+1BBA 1BE5
1BFC 1C23
1C4D 1C4F
1C5A 1C7D
+1CC0 1CC7
1CD3
1CE9 1CEC
1CEE 1CF1
+1CF5 1CF6
1D00 1DBF
1E00 1F15
1F18 1F1D
@@ -356,9 +362,7 @@ return <<'END';
275F 2761
2764 2767
2794 27C4
-27C7 27CA
-27CC
-27CE 27E5
+27C7 27E5
27F0 2982
2999 29D7
29DC 29FB
@@ -367,9 +371,12 @@ return <<'END';
2C00 2C2E
2C30 2C5E
2C60 2CEE
+2CF2 2CF3
2CFD
2D00 2D25
-2D30 2D65
+2D27
+2D2D
+2D30 2D67
2D6F
2D80 2D96
2DA0 2DA6
@@ -384,6 +391,8 @@ return <<'END';
2E1A 2E1B
2E1E 2E1F
2E2F
+2E32
+2E35 2E39
4DC0 4DFF
A4D0 A4FD
A500 A60C
@@ -395,9 +404,9 @@ A67E A697
A6A0 A6EF
A6F2
A700 A78E
-A790 A791
-A7A0 A7A9
-A7FA A801
+A790 A793
+A7A0 A7AA
+A7F8 A801
A803 A805
A807 A80A
A80C A822
@@ -419,6 +428,8 @@ AA00 AA28
AA40 AA42
AA44 AA4B
AA5C
+AAE0 AAEA
+AAF2 AAF4
AB01 AB06
AB09 AB0E
AB11 AB16
@@ -427,13 +438,8 @@ AB28 AB2E
ABC0 ABE2
FB00 FB06
FB13 FB17
-FB1D
-FB1F FB36
-FB38 FB3C
-FB3E
-FB40 FB41
-FB43 FB44
-FB46 FBC1
+FB29
+FB50 FBC1
FBD3 FD3D
FD50 FD8F
FD92 FDC7
@@ -480,6 +486,8 @@ FFE8 FFEE
10900 1091B
10920 10939
1093F
+10980 109B7
+109BE 109BF
10A00
10A10 10A13
10A15 10A17
@@ -498,6 +506,12 @@ FFE8 FFEE
11052 11065
11083 110AF
110BB 110BD
+110D0 110E8
+11103 11126
+11183 111B2
+111C1 111C4
+111C7
+11680 116AA
12000 1236E
12400 12462
13000 13257
@@ -506,6 +520,9 @@ FFE8 FFEE
1328A 13378
1337C 1342E
16800 16A38
+16F00 16F44
+16F50
+16F93 16F9F
1D000 1D0F5
1D100 1D126
1D129 1D164
@@ -537,6 +554,40 @@ FFE8 FFEE
1D54A 1D550
1D552 1D6A5
1D6A8 1D7CB
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
+1EEF0 1EEF1
1F000 1F02B
1F030 1F093
1F0A0 1F0AE
@@ -544,6 +595,7 @@ FFE8 FFEE
1F0C1 1F0CF
1F0D1 1F0DF
1F12E
+1F16A 1F16B
1F1E6 1F1FF
1F300 1F320
1F330 1F335
@@ -557,19 +609,9 @@ FFE8 FFEE
1F442 1F4F7
1F4F9 1F4FC
1F500 1F53D
+1F540 1F543
1F550 1F567
-1F5FB 1F5FF
-1F601 1F610
-1F612 1F614
-1F616
-1F618
-1F61A
-1F61C 1F61E
-1F620 1F625
-1F628 1F62B
-1F62D
-1F630 1F633
-1F635 1F640
+1F5FB 1F640
1F645 1F64F
1F680 1F6C5
1F700 1F773
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/B2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/B2.pl
index 2796f978291..62bb2c79bbd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/B2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/B2.pl
@@ -1,13 +1,14 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
2014
+2E3A 2E3B
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BA.pl
index 2b6bfd093ef..46bf922aa0c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BA.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BA.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -52,6 +52,7 @@ return <<'END';
2E19
2E2A 2E2D
2E30 2E31
+2E33 2E34
A4FE A4FF
A60D
A60F
@@ -60,6 +61,7 @@ A8CE A8CF
A92E A92F
A9C7 A9C9
AA5D AA5F
+AAF0 AAF1
ABEB
10100 10102
1039F
@@ -70,5 +72,8 @@ ABEB
10B39 10B3F
11047 11048
110BE 110C1
+11140 11143
+111C5 111C6
+111C8
12470 12473
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BB.pl
index 2392519eff6..4ce0d2ff0ab 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BB.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BK.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BK.pl
index 56386cbc978..ab974ca3964 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BK.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/BK.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CB.pl
index 12669b5c453..06f86fa1f5c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CB.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CJ.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CJ.pl
new file mode 100644
index 00000000000..5763bfce554
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CJ.pl
@@ -0,0 +1,37 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+3041
+3043
+3045
+3047
+3049
+3063
+3083
+3085
+3087
+308E
+3095 3096
+30A1
+30A3
+30A5
+30A7
+30A9
+30C3
+30E3
+30E5
+30E7
+30EE
+30F5 30F6
+30FC
+31F0 31FF
+FF67 FF70
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CL.pl
index 8da620644f9..2a934cdc491 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CL.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CM.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CM.pl
index 24eebfc64bd..123030d1e91 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CM.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CM.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -38,6 +38,7 @@ return <<'END';
0825 0827
0829 082D
0859 085B
+08E4 08FE
0900 0903
093A 093C
093E 094F
@@ -127,13 +128,13 @@ return <<'END';
1B34 1B44
1B6B 1B73
1B80 1B82
-1BA1 1BAA
+1BA1 1BAD
1BE6 1BF3
1C24 1C37
1CD0 1CD2
1CD4 1CE8
1CED
-1CF2
+1CF2 1CF4
1DC0 1DE6
1DFC 1DFF
200C 200F
@@ -146,7 +147,8 @@ return <<'END';
302A 302F
3099 309A
A66F A672
-A67C A67D
+A674 A67D
+A69F
A6F0 A6F1
A802
A806
@@ -162,6 +164,8 @@ A9B3 A9C0
AA29 AA36
AA43
AA4C AA4D
+AAEB AAEF
+AAF5 AAF6
ABE3 ABEA
ABEC ABED
FB1E
@@ -178,6 +182,13 @@ FFF9 FFFB
11038 11046
11080 11082
110B0 110BA
+11100 11102
+11127 11134
+11180 11182
+111B3 111C0
+116AB 116B7
+16F51 16F7E
+16F8F 16F92
1D165 1D169
1D16D 1D182
1D185 1D18B
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CP.pl
index 4a3a9c754e3..f4a65beb985 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CP.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CP.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CR.pl
new file mode 100644
index 00000000000..76840971c71
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/CR.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+000D
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/EX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/EX.pl
index 4ce6be4395b..d8813199802 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/EX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/EX.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/GL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/GL.pl
index a4d02defddc..c46f01f8b70 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/GL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/GL.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LV.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/H2.pl
index 87ebf205161..12dae1b1b92 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LV.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/H2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LVT.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/H3.pl
index ab325fd7138..da0553bdcb2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/GCB/LVT.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/H3.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/HL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/HL.pl
new file mode 100644
index 00000000000..6f7c6e3269b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/HL.pl
@@ -0,0 +1,22 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+05D0 05EA
+05F0 05F2
+FB1D
+FB1F FB28
+FB2A FB36
+FB38 FB3C
+FB3E
+FB40 FB41
+FB43 FB44
+FB46 FB4F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/HY.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/HY.pl
index b98662e82f3..67b97e32ef7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/HY.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/HY.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ID.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ID.pl
index f6e07d2b2c9..cfbd2d67046 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ID.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ID.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IN.pl
index 02211ba1bcb..c414371595d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IN.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IN.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IS.pl
index 4e7f62c8bfc..939603a747a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/IS.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/JL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/JL.pl
new file mode 100644
index 00000000000..e01db3f38c1
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/JL.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1100 115F
+A960 A97C
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/JT.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/JT.pl
new file mode 100644
index 00000000000..2bddf0118c2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/JT.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+11A8 11FF
+D7CB D7FB
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/JV.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/JV.pl
new file mode 100644
index 00000000000..acf437a55ff
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/JV.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1160 11A7
+D7B0 D7C6
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/LF.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/LF.pl
new file mode 100644
index 00000000000..090014934bb
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/LF.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+000A
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NL.pl
index ad23603d998..52f49ac359f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NL.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NS.pl
index 79f3b798b57..e6bb56d9657 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NS.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NS.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -15,35 +15,13 @@ return <<'END';
3005
301C
303B 303C
-3041
-3043
-3045
-3047
-3049
-3063
-3083
-3085
-3087
-308E
-3095 3096
309B 309E
-30A0 30A1
-30A3
-30A5
-30A7
-30A9
-30C3
-30E3
-30E5
-30E7
-30EE
-30F5 30F6
-30FB 30FE
-31F0 31FF
+30A0
+30FB
+30FD 30FE
A015
FE54 FE55
FF1A FF1B
FF65
-FF67 FF70
FF9E FF9F
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NU.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NU.pl
index caed4c171e7..7a439c96b9e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NU.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/NU.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -46,5 +46,9 @@ AA50 AA59
ABF0 ABF9
104A0 104A9
11066 1106F
+110F0 110F9
+11136 1113F
+111D0 111D9
+116C0 116C9
1D7CE 1D7FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/OP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/OP.pl
index a288991307b..ddfecfa3f94 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/OP.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/OP.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PO.pl
index c941467e55a..695e46547f9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PO.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PO.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PR.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PR.pl
index 477a0934754..d6c4bb5b70e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PR.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/PR.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -14,6 +14,7 @@ return <<'END';
005C
00A3 00A5
00B1
+058F
09FB
0AF1
0BF9
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/QU.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/QU.pl
index 82e3528f5c7..19d1e4e0d8b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/QU.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/QU.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SA.pl
index 04ae5b02237..bd39732945e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SA.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SA.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -27,7 +27,7 @@ return <<'END';
0EC0 0EC4
0EC6
0EC8 0ECD
-0EDC 0EDD
+0EDC 0EDF
1000 103F
1050 108F
109A 109F
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SG.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SG.pl
index 45e26495da2..b256f791d32 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SG.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SG.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SP.pl
index a6db1353d86..5d68c2cb610 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SP.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SP.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SY.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SY.pl
index 33c530c1614..6897dc1eba1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SY.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/SY.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/WJ.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/WJ.pl
index 7a2b86f6b8c..60cb1334926 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/WJ.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/WJ.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/XX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/XX.pl
index 10914215ffc..61b60d49be2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/XX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/XX.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -18,11 +18,12 @@ return <<'END';
0557 0558
0560
0588
-058B 0590
+058B 058E
+0590
05C8 05CF
05EB 05EF
05F5 05FF
-0604 0605
+0605
061C 061D
070E
074B 074C
@@ -31,7 +32,10 @@ return <<'END';
082E 082F
083F
085C 085D
-085F 08FF
+085F 089F
+08A1
+08AD 08E3
+08FF
0978
0980
0984
@@ -76,7 +80,6 @@ return <<'END';
0ACE 0ACF
0AD1 0ADF
0AE4 0AE5
-0AF0
0AF2 0B00
0B04
0B0D 0B0E
@@ -177,15 +180,16 @@ return <<'END';
0EC7
0ECE 0ECF
0EDA 0EDB
-0EDE 0EFF
+0EE0 0EFF
0F48
0F6D 0F70
0F98
0FBD
0FCD
0FDB 0FFF
-10C6 10CF
-10FD 10FF
+10C6
+10C8 10CC
+10CE 10CF
1249
124E 124F
1257
@@ -239,13 +243,12 @@ return <<'END';
1AAE 1AFF
1B4C 1B4F
1B7D 1B7F
-1BAB 1BAD
-1BBA 1BBF
1BF4 1BFB
1C38 1C3A
1C4A 1C4C
-1C80 1CCF
-1CF3 1CFF
+1C80 1CBF
+1CC8 1CCF
+1CF7 1CFF
1DE7 1DFB
1F16 1F17
1F1E 1F1F
@@ -274,15 +277,15 @@ return <<'END';
2427 243F
244B 245F
2700
-27CB
-27CD
2B4D 2B4F
2B5A 2BFF
2C2F
2C5F
-2CF2 2CF8
-2D26 2D2F
-2D66 2D6E
+2CF4 2CF8
+2D26
+2D28 2D2C
+2D2E 2D2F
+2D68 2D6E
2D71 2D7E
2D97 2D9F
2DA7
@@ -293,7 +296,7 @@ return <<'END';
2DCF
2DD7
2DDF
-2E32 2E7F
+2E3C 2E7F
2E9A
2EF4 2EFF
2FD6 2FEF
@@ -310,12 +313,11 @@ return <<'END';
A48D A48F
A4C7 A4CF
A62C A63F
-A674 A67B
-A698 A69F
+A698 A69E
A6F8 A6FF
A78F
-A792 A79F
-A7AA A7F9
+A794 A79F
+A7AB A7F7
A82C A82F
A83A A83F
A878 A87F
@@ -332,7 +334,7 @@ AA4E AA4F
AA5A AA5B
AA7C AA7F
AAC3 AADA
-AAE0 AB00
+AAF7 AB00
AB07 AB08
AB0F AB10
AB17 AB1F
@@ -403,7 +405,9 @@ FFFE FFFF
10860 108FF
1091C 1091E
1093A 1093E
-10940 109FF
+10940 1097F
+109B8 109BD
+109C0 109FF
10A04
10A07 10A0B
10A14
@@ -421,12 +425,23 @@ FFFE FFFF
10E7F 10FFF
1104E 11051
11070 1107F
-110C2 11FFF
+110C2 110CF
+110E9 110EF
+110FA 110FF
+11135
+11144 1117F
+111C9 111CF
+111DA 1167F
+116B8 116BF
+116CA 11FFF
1236F 123FF
12463 1246F
12474 12FFF
1342F 167FF
-16A39 1AFFF
+16A39 16EFF
+16F45 16F4F
+16F7F 16F8E
+16FA0 1AFFF
1B002 1CFFF
1D0F6 1D0FF
1D127 1D128
@@ -454,7 +469,41 @@ FFFE FFFF
1D551
1D6A6 1D6A7
1D7CC 1D7CD
-1D800 1EFFF
+1D800 1EDFF
+1EE04
+1EE20
+1EE23
+1EE25 1EE26
+1EE28
+1EE33
+1EE38
+1EE3A
+1EE3C 1EE41
+1EE43 1EE46
+1EE48
+1EE4A
+1EE4C
+1EE50
+1EE53
+1EE55 1EE56
+1EE58
+1EE5A
+1EE5C
+1EE5E
+1EE60
+1EE63
+1EE65 1EE66
+1EE6B
+1EE73
+1EE78
+1EE7D
+1EE7F
+1EE8A
+1EE9C 1EEA0
+1EEA4
+1EEAA
+1EEBC 1EEEF
+1EEF2 1EFFF
1F02C 1F02F
1F094 1F09F
1F0AF 1F0B0
@@ -463,7 +512,7 @@ FFFE FFFF
1F0E0 1F0FF
1F10B 1F10F
1F12F
-1F16A 1F16F
+1F16C 1F16F
1F19B 1F1E5
1F203 1F20F
1F23B 1F23F
@@ -480,19 +529,9 @@ FFFE FFFF
1F441
1F4F8
1F4FD 1F4FF
-1F53E 1F54F
+1F53E 1F53F
+1F544 1F54F
1F568 1F5FA
-1F600
-1F611
-1F615
-1F617
-1F619
-1F61B
-1F61F
-1F626 1F627
-1F62C
-1F62E 1F62F
-1F634
1F641 1F644
1F650 1F67F
1F6C6 1F6FF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ZW.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ZW.pl
index 4c749f7106b..85dda369725 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ZW.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lb/ZW.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lower/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lower/N.pl
deleted file mode 100644
index 7b71ff9bc68..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lower/N.pl
+++ /dev/null
@@ -1,625 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0060
-007B 00A9
-00AB 00B4
-00B6 00B9
-00BB 00DE
-00F7
-0100
-0102
-0104
-0106
-0108
-010A
-010C
-010E
-0110
-0112
-0114
-0116
-0118
-011A
-011C
-011E
-0120
-0122
-0124
-0126
-0128
-012A
-012C
-012E
-0130
-0132
-0134
-0136
-0139
-013B
-013D
-013F
-0141
-0143
-0145
-0147
-014A
-014C
-014E
-0150
-0152
-0154
-0156
-0158
-015A
-015C
-015E
-0160
-0162
-0164
-0166
-0168
-016A
-016C
-016E
-0170
-0172
-0174
-0176
-0178 0179
-017B
-017D
-0181 0182
-0184
-0186 0187
-0189 018B
-018E 0191
-0193 0194
-0196 0198
-019C 019D
-019F 01A0
-01A2
-01A4
-01A6 01A7
-01A9
-01AC
-01AE 01AF
-01B1 01B3
-01B5
-01B7 01B8
-01BB 01BC
-01C0 01C5
-01C7 01C8
-01CA 01CB
-01CD
-01CF
-01D1
-01D3
-01D5
-01D7
-01D9
-01DB
-01DE
-01E0
-01E2
-01E4
-01E6
-01E8
-01EA
-01EC
-01EE
-01F1 01F2
-01F4
-01F6 01F8
-01FA
-01FC
-01FE
-0200
-0202
-0204
-0206
-0208
-020A
-020C
-020E
-0210
-0212
-0214
-0216
-0218
-021A
-021C
-021E
-0220
-0222
-0224
-0226
-0228
-022A
-022C
-022E
-0230
-0232
-023A 023B
-023D 023E
-0241
-0243 0246
-0248
-024A
-024C
-024E
-0294
-02B9 02BF
-02C2 02DF
-02E5 0344
-0346 0370
-0372
-0374 0376
-0378 0379
-037E 038F
-0391 03AB
-03CF
-03D2 03D4
-03D8
-03DA
-03DC
-03DE
-03E0
-03E2
-03E4
-03E6
-03E8
-03EA
-03EC
-03EE
-03F4
-03F6 03F7
-03F9 03FA
-03FD 042F
-0460
-0462
-0464
-0466
-0468
-046A
-046C
-046E
-0470
-0472
-0474
-0476
-0478
-047A
-047C
-047E
-0480
-0482 048A
-048C
-048E
-0490
-0492
-0494
-0496
-0498
-049A
-049C
-049E
-04A0
-04A2
-04A4
-04A6
-04A8
-04AA
-04AC
-04AE
-04B0
-04B2
-04B4
-04B6
-04B8
-04BA
-04BC
-04BE
-04C0 04C1
-04C3
-04C5
-04C7
-04C9
-04CB
-04CD
-04D0
-04D2
-04D4
-04D6
-04D8
-04DA
-04DC
-04DE
-04E0
-04E2
-04E4
-04E6
-04E8
-04EA
-04EC
-04EE
-04F0
-04F2
-04F4
-04F6
-04F8
-04FA
-04FC
-04FE
-0500
-0502
-0504
-0506
-0508
-050A
-050C
-050E
-0510
-0512
-0514
-0516
-0518
-051A
-051C
-051E
-0520
-0522
-0524
-0526
-0528 0560
-0588 1CFF
-1DC0 1E00
-1E02
-1E04
-1E06
-1E08
-1E0A
-1E0C
-1E0E
-1E10
-1E12
-1E14
-1E16
-1E18
-1E1A
-1E1C
-1E1E
-1E20
-1E22
-1E24
-1E26
-1E28
-1E2A
-1E2C
-1E2E
-1E30
-1E32
-1E34
-1E36
-1E38
-1E3A
-1E3C
-1E3E
-1E40
-1E42
-1E44
-1E46
-1E48
-1E4A
-1E4C
-1E4E
-1E50
-1E52
-1E54
-1E56
-1E58
-1E5A
-1E5C
-1E5E
-1E60
-1E62
-1E64
-1E66
-1E68
-1E6A
-1E6C
-1E6E
-1E70
-1E72
-1E74
-1E76
-1E78
-1E7A
-1E7C
-1E7E
-1E80
-1E82
-1E84
-1E86
-1E88
-1E8A
-1E8C
-1E8E
-1E90
-1E92
-1E94
-1E9E
-1EA0
-1EA2
-1EA4
-1EA6
-1EA8
-1EAA
-1EAC
-1EAE
-1EB0
-1EB2
-1EB4
-1EB6
-1EB8
-1EBA
-1EBC
-1EBE
-1EC0
-1EC2
-1EC4
-1EC6
-1EC8
-1ECA
-1ECC
-1ECE
-1ED0
-1ED2
-1ED4
-1ED6
-1ED8
-1EDA
-1EDC
-1EDE
-1EE0
-1EE2
-1EE4
-1EE6
-1EE8
-1EEA
-1EEC
-1EEE
-1EF0
-1EF2
-1EF4
-1EF6
-1EF8
-1EFA
-1EFC
-1EFE
-1F08 1F0F
-1F16 1F1F
-1F28 1F2F
-1F38 1F3F
-1F46 1F4F
-1F58 1F5F
-1F68 1F6F
-1F7E 1F7F
-1F88 1F8F
-1F98 1F9F
-1FA8 1FAF
-1FB5
-1FB8 1FBD
-1FBF 1FC1
-1FC5
-1FC8 1FCF
-1FD4 1FD5
-1FD8 1FDF
-1FE8 1FF1
-1FF5
-1FF8 208F
-2095 2109
-210B 210D
-2110 2112
-2114 212E
-2130 2133
-2135 2138
-213A 213B
-213E 2145
-214A 214D
-214F 216F
-2180 2183
-2185 24CF
-24EA 2C2F
-2C5F 2C60
-2C62 2C64
-2C67
-2C69
-2C6B
-2C6D 2C70
-2C72
-2C75
-2C7E 2C80
-2C82
-2C84
-2C86
-2C88
-2C8A
-2C8C
-2C8E
-2C90
-2C92
-2C94
-2C96
-2C98
-2C9A
-2C9C
-2C9E
-2CA0
-2CA2
-2CA4
-2CA6
-2CA8
-2CAA
-2CAC
-2CAE
-2CB0
-2CB2
-2CB4
-2CB6
-2CB8
-2CBA
-2CBC
-2CBE
-2CC0
-2CC2
-2CC4
-2CC6
-2CC8
-2CCA
-2CCC
-2CCE
-2CD0
-2CD2
-2CD4
-2CD6
-2CD8
-2CDA
-2CDC
-2CDE
-2CE0
-2CE2
-2CE5 2CEB
-2CED
-2CEF 2CFF
-2D26 A640
-A642
-A644
-A646
-A648
-A64A
-A64C
-A64E
-A650
-A652
-A654
-A656
-A658
-A65A
-A65C
-A65E
-A660
-A662
-A664
-A666
-A668
-A66A
-A66C
-A66E A680
-A682
-A684
-A686
-A688
-A68A
-A68C
-A68E
-A690
-A692
-A694
-A696
-A698 A722
-A724
-A726
-A728
-A72A
-A72C
-A72E
-A732
-A734
-A736
-A738
-A73A
-A73C
-A73E
-A740
-A742
-A744
-A746
-A748
-A74A
-A74C
-A74E
-A750
-A752
-A754
-A756
-A758
-A75A
-A75C
-A75E
-A760
-A762
-A764
-A766
-A768
-A76A
-A76C
-A76E
-A779
-A77B
-A77D A77E
-A780
-A782
-A784
-A786
-A788 A78B
-A78D
-A78F A790
-A792 A7A0
-A7A2
-A7A4
-A7A6
-A7A8
-A7AA A7F9
-A7FB FAFF
-FB07 FB12
-FB18 FF40
-FF5B 10427
-10450 1D419
-1D434 1D44D
-1D455
-1D468 1D481
-1D49C 1D4B5
-1D4BA
-1D4BC
-1D4C4
-1D4D0 1D4E9
-1D504 1D51D
-1D538 1D551
-1D56C 1D585
-1D5A0 1D5B9
-1D5D4 1D5ED
-1D608 1D621
-1D63C 1D655
-1D670 1D689
-1D6A6 1D6C1
-1D6DB
-1D6E2 1D6FB
-1D715
-1D71C 1D735
-1D74F
-1D756 1D76F
-1D789
-1D790 1D7A9
-1D7C3
-1D7CA
-1D7CC 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Lower/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Lower/Y.pl
index b9348da56ab..57fe3a7b034 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Lower/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Lower/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -425,7 +425,9 @@ return <<'END';
1FE0 1FE7
1FF2 1FF4
1FF6 1FF7
-2090 2094
+2071
+207F
+2090 209C
210A
210E 210F
2113
@@ -499,7 +501,10 @@ return <<'END';
2CE3 2CE4
2CEC
2CEE
+2CF3
2D00 2D25
+2D27
+2D2D
A641
A643
A645
@@ -583,12 +588,13 @@ A787
A78C
A78E
A791
+A793
A7A1
A7A3
A7A5
A7A7
A7A9
-A7FA
+A7F8 A7FA
FB00 FB06
FB13 FB17
FF41 FF5A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Math/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Math/N.pl
deleted file mode 100644
index cb5886f431e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Math/N.pl
+++ /dev/null
@@ -1,119 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 002A
-002C 003B
-003F 005D
-005F 007B
-007D
-007F 00AB
-00AD 00B0
-00B2 00D6
-00D8 00F6
-00F8 03CF
-03D3 03D4
-03D6 03EF
-03F2 03F3
-03F7 0605
-0609 2015
-2017 2031
-2035 203F
-2041 2043
-2045 2051
-2053 2060
-2065 2079
-207F 2089
-208F 20CF
-20DD 20E0
-20E2 20E4
-20E7 20EA
-20F0 2101
-2103 2106
-2108 2109
-2114
-2116 2117
-211E 2123
-2125 2127
-212A 212B
-212E
-2132
-2139 213B
-214A
-214C 218F
-21A8
-21AF
-21B2 21B5
-21B8 21BB
-21DC
-21DE 21E3
-21E6 21F3
-2300 2307
-230C 231F
-2322 237B
-237D 239A
-23B6
-23B8 23CF
-23D1 23DB
-23E3 259F
-25A2 25AD
-25B8 25BB
-25C2 25C5
-25C8 25C9
-25CC 25CE
-25D4 25E1
-25E3
-25E5 25E6
-25ED 25F7
-2600 2604
-2607 263F
-2641
-2643 265F
-2664 266C
-2670 27BF
-27CB
-27CD
-2800 28FF
-2B00 2B2F
-2B45 2B46
-2B4D FB28
-FB2A FE60
-FE67
-FE69 FF0A
-FF0C FF1B
-FF1F FF3B
-FF3D
-FF3F FF5B
-FF5D
-FF5F FFE1
-FFE3 FFE8
-FFED 1D3FF
-1D455
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4BA
-1D4BC
-1D4C4
-1D506
-1D50B 1D50C
-1D515
-1D51D
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551
-1D6A6 1D6A7
-1D7CC 1D7CD
-1D800 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Math/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Math/Y.pl
index 9ba948df7aa..9233a84f764 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Math/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Math/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -77,9 +77,7 @@ return <<'END';
2642
2660 2663
266D 266F
-27C0 27CA
-27CC
-27CE 27FF
+27C0 27FF
2900 2AFF
2B30 2B44
2B47 2B4C
@@ -115,4 +113,38 @@ FFE9 FFEC
1D552 1D6A5
1D6A8 1D7CB
1D7CE 1D7FF
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
+1EEF0 1EEF1
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NChar/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NChar/N.pl
deleted file mode 100644
index 633dc119811..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NChar/N.pl
+++ /dev/null
@@ -1,30 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 FDCF
-FDF0 FFFD
-10000 1FFFD
-20000 2FFFD
-30000 3FFFD
-40000 4FFFD
-50000 5FFFD
-60000 6FFFD
-70000 7FFFD
-80000 8FFFD
-90000 9FFFD
-A0000 AFFFD
-B0000 BFFFD
-C0000 CFFFD
-D0000 DFFFD
-E0000 EFFFD
-F0000 FFFFD
-100000 10FFFD
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NChar/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NChar/Y.pl
index 5be956b8379..d1217071df8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NChar/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NChar/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/Y.pl
index b6f9b79ced2..dbc80018ef4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFCQC/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -100,7 +100,6 @@ FA1F
FA21
FA23 FA24
FA27 FA29
-FA2E FA2F
FA6E FA6F
FADA FB1C
FB1E
@@ -111,7 +110,8 @@ FB3F
FB42
FB45
FB4F 110B9
-110BB 1D15D
+110BB 11126
+11128 1D15D
1D165 1D1BA
1D1C1 2F7FF
2FA1E 10FFFF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/N.pl
index 66fe36e7380..208caddadec 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/N.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -219,8 +219,7 @@ FA15 FA1E
FA20
FA22
FA25 FA26
-FA2A FA2D
-FA30 FA6D
+FA2A FA6D
FA70 FAD9
FB1D
FB1F
@@ -233,6 +232,7 @@ FB46 FB4E
1109A
1109C
110AB
+1112E 1112F
1D15E 1D164
1D1BB 1D1C0
2F800 2FA1D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/Y.pl
index 37c272d169b..71080235091 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFDQC/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -220,7 +220,6 @@ FA1F
FA21
FA23 FA24
FA27 FA29
-FA2E FA2F
FA6E FA6F
FADA FB1C
FB1E
@@ -233,7 +232,8 @@ FB45
FB4F 11099
1109B
1109D 110AA
-110AC 1D15D
+110AC 1112D
+11130 1D15D
1D165 1D1BA
1D1C1 2F7FF
2FA1E 10FFFF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/M.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/M.pl
index f22cb15b395..86863c9db40 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/M.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/M.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -43,4 +43,5 @@ return <<'END';
1B35
3099 309A
110BA
+11127
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/N.pl
index 391c678b349..5119df84c4b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/N.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -152,6 +152,7 @@ return <<'END';
3280 32FE
3300 33FF
A770
+A7F8 A7F9
F900 FA0D
FA10
FA12
@@ -159,8 +160,7 @@ FA15 FA1E
FA20
FA22
FA25 FA26
-FA2A FA2D
-FA30 FA6D
+FA2A FA6D
FA70 FAD9
FB00 FB06
FB13 FB17
@@ -213,9 +213,43 @@ FFE8 FFEE
1D552 1D6A5
1D6A8 1D7CB
1D7CE 1D7FF
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
1F100 1F10A
1F110 1F12E
1F130 1F14F
+1F16A 1F16B
1F190
1F200 1F202
1F210 1F23A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/Y.pl
index 5a13f5ae435..a0a8aabda9d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFKCQC/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -181,7 +181,8 @@ return <<'END';
327F
32FF
3400 A76F
-A771 F8FF
+A771 A7F7
+A7FA F8FF
FA0E FA0F
FA11
FA13 FA14
@@ -189,7 +190,6 @@ FA1F
FA21
FA23 FA24
FA27 FA29
-FA2E FA2F
FA6E FA6F
FADA FAFF
FB07 FB12
@@ -220,7 +220,8 @@ FFD8 FFD9
FFDD FFDF
FFE7
FFEF 110B9
-110BB 1D15D
+110BB 11126
+11128 1D15D
1D165 1D1BA
1D1C1 1D3FF
1D455
@@ -243,10 +244,44 @@ FFEF 110B9
1D551
1D6A6 1D6A7
1D7CC 1D7CD
-1D800 1F0FF
+1D800 1EDFF
+1EE04
+1EE20
+1EE23
+1EE25 1EE26
+1EE28
+1EE33
+1EE38
+1EE3A
+1EE3C 1EE41
+1EE43 1EE46
+1EE48
+1EE4A
+1EE4C
+1EE50
+1EE53
+1EE55 1EE56
+1EE58
+1EE5A
+1EE5C
+1EE5E
+1EE60
+1EE63
+1EE65 1EE66
+1EE6B
+1EE73
+1EE78
+1EE7D
+1EE7F
+1EE8A
+1EE9C 1EEA0
+1EEA4
+1EEAA
+1EEBC 1F0FF
1F10B 1F10F
1F12F
-1F150 1F18F
+1F150 1F169
+1F16C 1F18F
1F191 1F1FF
1F203 1F20F
1F23B 1F23F
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/N.pl
index e1975e74dcd..4e051a04d8c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/N.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/NFKDQC/N.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -284,6 +284,7 @@ return <<'END';
3280 32FE
3300 33FF
A770
+A7F8 A7F9
AC00 D7A3
F900 FA0D
FA10
@@ -292,8 +293,7 @@ FA15 FA1E
FA20
FA22
FA25 FA26
-FA2A FA2D
-FA30 FA6D
+FA2A FA6D
FA70 FAD9
FB00 FB06
FB13 FB17
@@ -326,6 +326,7 @@ FFE8 FFEE
1109A
1109C
110AB
+1112E 1112F
1D15E 1D164
1D1BB 1D1C0
1D400 1D454
@@ -349,9 +350,43 @@ FFE8 FFEE
1D552 1D6A5
1D6A8 1D7CB
1D7CE 1D7FF
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
1F100 1F10A
1F110 1F12E
1F130 1F14F
+1F16A 1F16B
1F190
1F200 1F202
1F210 1F23A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Di.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Di.pl
index adeb07a2e4b..606a57176a6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Di.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Di.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Nu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Nu.pl
index 97466da4e73..ffcbb20af45 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Nu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nt/Nu.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -35,6 +35,7 @@ return <<'END';
3038 303A
3192 3195
3220 3229
+3248 324F
3251 325F
3280 3289
32B1 32BF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/0.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/0.pl
index 4dc4eeb99eb..73c1a6d1897 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/0.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/0.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -58,6 +58,10 @@ FF10
1018A
104A0
11066
+110F0
+11136
+111D0
+116C0
1D7CE
1D7D8
1D7E2
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1.pl
index ea5738c8e8f..1c85d753d9a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -85,6 +85,10 @@ FF11
10E60
11052
11067
+110F1
+11137
+111D1
+116C1
12415
1241E
1242C
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10.pl
index 0b109df746b..8b550cfbfd6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -23,6 +23,7 @@ return <<'END';
2793
3038
3229
+3248
3289
4EC0
5341
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100.pl
index 8b5fc343914..60662880ea7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1000.pl
index 06c2516311b..b4252be3b0c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000.pl
index 6ec794323f5..fa1f8d669e2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100000.pl
index 2c7a0d18725..12976842040 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/100000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000000.pl
index bc6b8b7f5cd..d1f30f2b87d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000002.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000002.pl
index 8d969e223bd..83d09ab2f2b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000002.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/10000002.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11.pl
index 8aff4dadf51..c0410ecc309 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11_2.pl
index 8df4704754f..360566a1f9f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/11_2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/12.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/12.pl
index e0b411e59ea..66dd6f99ea0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/12.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/12.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13.pl
index 4834fe15893..3ec829f83d9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13_2.pl
index 6935aa07e57..4097e2c2f60 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/13_2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/14.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/14.pl
index cee7e443de9..b2dd684d8aa 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/14.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/14.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15.pl
index 47a922db535..2b048be4742 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15_2.pl
index 8a7b03bf411..e572ff90091 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/15_2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/16.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/16.pl
index c501245a4d5..70f705a6a96 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/16.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/16.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17.pl
index 3a4e3b86bc9..423d662ba3c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17_2.pl
index 8d5cabf6913..54d21db5f02 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/17_2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/18.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/18.pl
index bb9f82cd1e4..29bf0bde14c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/18.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/18.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/19.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/19.pl
index 37acf14f470..7cb2b64656b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/19.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/19.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_10.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_10.pl
index ee3fc5b4276..637269b202b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_10.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_10.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_16.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_16.pl
index c8c9f092970..2806184a5df 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_16.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_16.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_2.pl
index a7be1e72a21..0e4c74d818f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_3.pl
index 4db31b5371e..f9fcb8d5c80 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_3.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_4.pl
index effa5e7213f..f2b2697e4d6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_4.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_5.pl
index 6bba960b461..b5a0054058c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_5.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_5.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_6.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_6.pl
index fed59bf73c4..6a3d606470d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_6.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_6.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_7.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_7.pl
index 5e06384fa33..b24f1bbc750 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_7.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_7.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_8.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_8.pl
index 517205c1f74..3c369685fc9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_8.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_8.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_9.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_9.pl
index 61ca7a6da4a..aab561531aa 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_9.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/1_9.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2.pl
index dc770f3db8f..41c5781708e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -85,6 +85,10 @@ FF12
10E61
11053
11068
+110F2
+11138
+111D2
+116C2
12400
12416
1241F
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20.pl
index 834495a6adc..d823f31b343 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -15,6 +15,7 @@ return <<'END';
249B
24F4
3039
+3249
5344
5EFF
10111
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/200.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/200.pl
index e9dca4932a6..99110ca450c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/200.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/200.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2000.pl
index 9aa7438423d..981fd621d3e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20000.pl
index 3cbd15d9ab7..42ba8d5bf99 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/20000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/21.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/21.pl
index e63d4f58e7b..b43c018d1b5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/21.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/21.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/22.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/22.pl
index 42e231d9eb1..7af9be295c9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/22.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/22.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/23.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/23.pl
index 95152f67efa..1039143b49b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/23.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/23.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/24.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/24.pl
index e8b7da3b992..9a4268ab962 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/24.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/24.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/25.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/25.pl
index dfdf0b8b006..37cf8674538 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/25.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/25.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/26.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/26.pl
index 1ec1d04407c..02b9d3c88ad 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/26.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/26.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/27.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/27.pl
index 538e8fbb472..2cba8bbf8df 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/27.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/27.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/28.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/28.pl
index 0421f47ee50..0c3efca0627 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/28.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/28.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/29.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/29.pl
index 64e9d62de79..4976c9237fb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/29.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/29.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_3.pl
index 6eb8ad109d0..99eb4a7c85c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_3.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_5.pl
index 08502b91a71..2991fb8fed8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_5.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/2_5.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3.pl
index 7ab54604c16..67afd90a0e6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -79,6 +79,10 @@ FF13
10E62
11054
11069
+110F3
+11139
+111D3
+116C3
12401
12408
12417
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30.pl
index c5d95ae7c4f..6c322d1e825 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30.pl
@@ -1,16 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
1374
303A
+324A
325A
5345
10112
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/300.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/300.pl
index c0279250260..69a53b4b08c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/300.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/300.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3000.pl
index 47c70b904b2..34357a28324 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30000.pl
index beed76de730..d352257f6a8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/30000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/31.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/31.pl
index 10c499a7c0f..b51a6e3a0dc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/31.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/31.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/32.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/32.pl
index 1f10d5c9c47..cc29d0dc2a1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/32.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/32.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/33.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/33.pl
index 1de1d114601..9bad0f06e0d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/33.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/33.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/34.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/34.pl
index cb388d6cd19..a75381a5b8e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/34.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/34.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/35.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/35.pl
index 05794b5f87f..ddf3a6b1d5b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/35.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/35.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/36.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/36.pl
index 0d30108b028..6e67353e4a0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/36.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/36.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/37.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/37.pl
index 75a978c2c5b..ebff0099229 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/37.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/37.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/38.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/38.pl
index e640e22416a..3db600897c5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/38.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/38.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/39.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/39.pl
index 3ea929c1372..22e76128ff7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/39.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/39.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_16.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_16.pl
index bf0db5e5a9d..a093b834fba 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_16.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_16.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_2.pl
index e4f491bf7df..68774904282 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_4.pl
index c347844adc7..e625e548f98 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_4.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_5.pl
index 2104b65c1e5..4ff9836e515 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_5.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_5.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_8.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_8.pl
index e1063b7a6f1..503706b3211 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_8.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/3_8.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4.pl
index cc7d37202ba..6cbb5fd8814 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -73,6 +73,10 @@ FF14
10E63
11055
1106A
+110F4
+1113A
+111D4
+116C4
12402
12409
1240F
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40.pl
index d2e9f1631cd..8c2cbbd00c9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40.pl
@@ -1,15 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
1375
+324B
32B5
534C
10113
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/400.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/400.pl
index 8b2b7a76d73..86419b0887e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/400.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/400.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4000.pl
index 2ec9232bd4d..1ebdce460eb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40000.pl
index cc7cbb95a09..0f5cc527600 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/40000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/41.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/41.pl
index 81708b9619a..b32ec4c2b3d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/41.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/41.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/42.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/42.pl
index 05e6001ec24..e9aa09feeec 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/42.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/42.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/43.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/43.pl
index 495d48b34d7..289713e686a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/43.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/43.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/44.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/44.pl
index 222e8f645a5..26ad342cbe0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/44.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/44.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/45.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/45.pl
index 2f13a50930d..f185aa23610 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/45.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/45.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/46.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/46.pl
index 467f7ca0b5d..5e6ec7cb13b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/46.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/46.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/47.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/47.pl
index bd74bbdfaa8..939078a66ae 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/47.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/47.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/48.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/48.pl
index 80ab87d4d8c..604fc6803ea 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/48.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/48.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/49.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/49.pl
index 2968970c1e3..507b1d5f91b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/49.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/49.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4_5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4_5.pl
index 8a19596517d..488c2458565 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4_5.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/4_5.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5.pl
index bda199f04b9..e1ece1d0746 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -76,6 +76,10 @@ FF15
10E64
11056
1106B
+110F5
+1113B
+111D5
+116C5
12403
1240A
12410
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50.pl
index 73648bda729..63a5b3550d1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -13,6 +13,7 @@ return <<'END';
216C
217C
2186
+324C
32BF
10114
10144
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/500.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/500.pl
index e891ad57e6c..7f72bab9017 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/500.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/500.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5000.pl
index aada010d9f8..a48bb4a6037 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50000.pl
index f68a87552ad..4797df766c0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/50000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_2.pl
index 14b7a140b7c..3d36aeb56b8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_6.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_6.pl
index acb66a18f2d..e5c7689f7d8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_6.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_6.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_8.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_8.pl
index d4432c7ce8f..60e1526713b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_8.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/5_8.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6.pl
index cac565724ea..6077c65fded 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -72,6 +72,10 @@ FF16
10E65
11057
1106C
+110F6
+1113C
+111D6
+116C6
12404
1240B
12411
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60.pl
index 31136839d84..a9bf9104c2e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60.pl
@@ -1,15 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
1377
+324D
10115
10E6E
11060
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/600.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/600.pl
index 3277166548a..fe6b6aa915c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/600.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/600.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6000.pl
index 04d206d13f7..31a9b6a52b9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/6000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60000.pl
index 12229a3a28d..5dca1c12fb5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/60000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7.pl
index e9429f025e3..72f59bd4d4c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -70,6 +70,10 @@ FF17
10E66
11058
1106D
+110F7
+1113D
+111D7
+116C7
12405
1240C
12412
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70.pl
index ba986e04bb6..1591941d6fd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70.pl
@@ -1,15 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
1378
+324E
10116
10E6F
11061
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/700.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/700.pl
index 988108d0781..fcb8fa128c9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/700.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/700.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7000.pl
index 5470fa790cb..bcae030aa4c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70000.pl
index f82f057c72e..590e147e502 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/70000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_2.pl
index 37df8c514c5..1ec534c0404 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_8.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_8.pl
index ce201c0c1ea..00a92da546e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_8.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/7_8.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8.pl
index d4b2e20ee05..07d20b2dc59 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -68,6 +68,10 @@ FF18
10E67
11059
1106E
+110F8
+1113E
+111D8
+116C8
12406
1240D
12413
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80.pl
index 551d8840156..5e07b286c3b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80.pl
@@ -1,15 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
1379
+324F
10117
10E70
11062
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/800.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/800.pl
index 1aeb3683993..7a3b1f829ca 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/800.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/800.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8000.pl
index b9c4f3e0087..71f81b9554c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/8000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80000.pl
index 7248a1875b3..55b0c83663b 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/80000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9.pl
index 88a69158899..0e0200e7180 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -69,6 +69,10 @@ FF19
10E68
1105A
1106F
+110F9
+1113F
+111D9
+116C9
12407
1240E
12414
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90.pl
index a932d873546..e4635d65690 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/900.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/900.pl
index c367c593cba..7148f8b3ec9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/900.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/900.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9000.pl
index 23c75ffe852..54444f8dd74 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90000.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90000.pl
index 4f7a19f185a..41aac41d273 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90000.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/90000.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9_2.pl
index 1b143af3886..9274b9df32d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/9_2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/NaN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/NaN.pl
index 37365601e68..e11ef488de2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/NaN.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/NaN.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -60,7 +60,8 @@ return <<'END';
302A 3037
303B 3191
3196 321F
-322A 3250
+322A 3247
+3250
3260 327F
328A 32B0
32C0 3404
@@ -144,7 +145,11 @@ FF1A 10106
10B60 10B77
10B80 10E5F
10E7F 11051
-11070 123FF
+11070 110EF
+110FA 11135
+11140 111CF
+111DA 116BF
+116CA 123FF
12432 12433
12456 12457
12463 1D35F
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/_1_2.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/_1_2.pl
index 3ef68861ef6..6d480253b38 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Nv/_1_2.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Nv/_1_2.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OAlpha/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OAlpha/N.pl
deleted file mode 100644
index 9633f9f88c2..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OAlpha/N.pl
+++ /dev/null
@@ -1,158 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0344
-0346 05AF
-05BE
-05C0
-05C3
-05C6
-05C8 060F
-061B 064A
-0658
-0660 066F
-0671 06D5
-06DD 06E0
-06E5 06E6
-06E9 06EC
-06EE 0710
-0712 072F
-0740 07A5
-07B1 0815
-0818 081A
-0824
-0828
-082D 08FF
-0904 0939
-093C 093D
-094D
-0950 0954
-0958 0961
-0964 0980
-0984 09BD
-09C5 09C6
-09C9 09CA
-09CD 09D6
-09D8 09E1
-09E4 0A00
-0A04 0A3D
-0A43 0A46
-0A49 0A4A
-0A4D 0A50
-0A52 0A6F
-0A72 0A74
-0A76 0A80
-0A84 0ABD
-0AC6
-0ACA
-0ACD 0AE1
-0AE4 0B00
-0B04 0B3D
-0B45 0B46
-0B49 0B4A
-0B4D 0B55
-0B58 0B61
-0B64 0B81
-0B83 0BBD
-0BC3 0BC5
-0BC9
-0BCD 0BD6
-0BD8 0C00
-0C04 0C3D
-0C45
-0C49
-0C4D 0C54
-0C57 0C61
-0C64 0C81
-0C84 0CBD
-0CC5
-0CC9
-0CCD 0CD4
-0CD7 0CE1
-0CE4 0D01
-0D04 0D3D
-0D45
-0D49
-0D4D 0D56
-0D58 0D61
-0D64 0D81
-0D84 0DCE
-0DD5
-0DD7
-0DE0 0DF1
-0DF4 0E30
-0E32 0E33
-0E3B 0E4C
-0E4E 0EB0
-0EB2 0EB3
-0EBA
-0EBD 0ECC
-0ECE 0F70
-0F82 0F8C
-0F98
-0FBD 102A
-1037
-1039 103A
-103F 1055
-105A 105D
-1061
-1063 1066
-1069 1070
-1075 1081
-1087 109B
-109E 135E
-1360 1711
-1714 1731
-1734 1751
-1754 1771
-1774 17B5
-17C9 18A8
-18AA 191F
-192C 192F
-1939 19AF
-19C1 19C7
-19CA 1A16
-1A1C 1A54
-1A5F 1A60
-1A75 1AFF
-1B05 1B34
-1B44 1B7F
-1B83 1BA0
-1BAA 1BE6
-1BF2 1C23
-1C36 1CF1
-1CF3 24B5
-24EA 2DDF
-2E00 A822
-A828 A87F
-A882 A8B3
-A8C4 A925
-A92B A946
-A953 A97F
-A984 A9B3
-A9C0 AA28
-AA37 AA42
-AA44 AA4B
-AA4E AAAF
-AAB1
-AAB5 AAB6
-AAB9 AABD
-AABF ABE2
-ABEB FB1D
-FB1F 10A00
-10A04
-10A07 10A0B
-10A10 10FFF
-11003 11037
-11046 11081
-11083 110AF
-110B9 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OAlpha/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OAlpha/Y.pl
deleted file mode 100644
index b9eb6ea770c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OAlpha/Y.pl
+++ /dev/null
@@ -1,157 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0345
-05B0 05BD
-05BF
-05C1 05C2
-05C4 05C5
-05C7
-0610 061A
-064B 0657
-0659 065F
-0670
-06D6 06DC
-06E1 06E4
-06E7 06E8
-06ED
-0711
-0730 073F
-07A6 07B0
-0816 0817
-081B 0823
-0825 0827
-0829 082C
-0900 0903
-093A 093B
-093E 094C
-094E 094F
-0955 0957
-0962 0963
-0981 0983
-09BE 09C4
-09C7 09C8
-09CB 09CC
-09D7
-09E2 09E3
-0A01 0A03
-0A3E 0A42
-0A47 0A48
-0A4B 0A4C
-0A51
-0A70 0A71
-0A75
-0A81 0A83
-0ABE 0AC5
-0AC7 0AC9
-0ACB 0ACC
-0AE2 0AE3
-0B01 0B03
-0B3E 0B44
-0B47 0B48
-0B4B 0B4C
-0B56 0B57
-0B62 0B63
-0B82
-0BBE 0BC2
-0BC6 0BC8
-0BCA 0BCC
-0BD7
-0C01 0C03
-0C3E 0C44
-0C46 0C48
-0C4A 0C4C
-0C55 0C56
-0C62 0C63
-0C82 0C83
-0CBE 0CC4
-0CC6 0CC8
-0CCA 0CCC
-0CD5 0CD6
-0CE2 0CE3
-0D02 0D03
-0D3E 0D44
-0D46 0D48
-0D4A 0D4C
-0D57
-0D62 0D63
-0D82 0D83
-0DCF 0DD4
-0DD6
-0DD8 0DDF
-0DF2 0DF3
-0E31
-0E34 0E3A
-0E4D
-0EB1
-0EB4 0EB9
-0EBB 0EBC
-0ECD
-0F71 0F81
-0F8D 0F97
-0F99 0FBC
-102B 1036
-1038
-103B 103E
-1056 1059
-105E 1060
-1062
-1067 1068
-1071 1074
-1082 1086
-109C 109D
-135F
-1712 1713
-1732 1733
-1752 1753
-1772 1773
-17B6 17C8
-18A9
-1920 192B
-1930 1938
-19B0 19C0
-19C8 19C9
-1A17 1A1B
-1A55 1A5E
-1A61 1A74
-1B00 1B04
-1B35 1B43
-1B80 1B82
-1BA1 1BA9
-1BE7 1BF1
-1C24 1C35
-1CF2
-24B6 24E9
-2DE0 2DFF
-A823 A827
-A880 A881
-A8B4 A8C3
-A926 A92A
-A947 A952
-A980 A983
-A9B4 A9BF
-AA29 AA36
-AA43
-AA4C AA4D
-AAB0
-AAB2 AAB4
-AAB7 AAB8
-AABE
-ABE3 ABEA
-FB1E
-10A01 10A03
-10A05 10A06
-10A0C 10A0F
-11000 11002
-11038 11045
-11082
-110B0 110B8
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/ODI/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/ODI/N.pl
deleted file mode 100644
index c1d4540faf7..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/ODI/N.pl
+++ /dev/null
@@ -1,23 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 034E
-0350 115E
-1161 2064
-206A 3163
-3165 FF9F
-FFA1 FFEF
-FFF9 DFFFF
-E0001
-E0020 E007F
-E0100 E01EF
-E1000 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/ODI/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/ODI/Y.pl
deleted file mode 100644
index 9276a803b93..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/ODI/Y.pl
+++ /dev/null
@@ -1,22 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-034F
-115F 1160
-2065 2069
-3164
-FFA0
-FFF0 FFF8
-E0000
-E0002 E001F
-E0080 E00FF
-E01F0 E0FFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OGrExt/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OGrExt/N.pl
deleted file mode 100644
index 14802180a27..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OGrExt/N.pl
+++ /dev/null
@@ -1,29 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 09BD
-09BF 09D6
-09D8 0B3D
-0B3F 0B56
-0B58 0BBD
-0BBF 0BD6
-0BD8 0CC1
-0CC3 0CD4
-0CD7 0D3D
-0D3F 0D56
-0D58 0DCE
-0DD0 0DDE
-0DE0 200B
-200E FF9D
-FFA0 1D164
-1D166 1D16D
-1D173 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OGrExt/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OGrExt/Y.pl
deleted file mode 100644
index 27e5472e2e2..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OGrExt/Y.pl
+++ /dev/null
@@ -1,28 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-09BE
-09D7
-0B3E
-0B57
-0BBE
-0BD7
-0CC2
-0CD5 0CD6
-0D3E
-0D57
-0DCF
-0DDF
-200C 200D
-FF9E FF9F
-1D165
-1D16E 1D172
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OIDC/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OIDC/N.pl
deleted file mode 100644
index 1cf8a8e7ba6..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OIDC/N.pl
+++ /dev/null
@@ -1,17 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 00B6
-00B8 0386
-0388 1368
-1372 19D9
-19DB 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OIDC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OIDC/Y.pl
deleted file mode 100644
index c6113a7016a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OIDC/Y.pl
+++ /dev/null
@@ -1,16 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-00B7
-0387
-1369 1371
-19DA
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OIDS/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OIDS/N.pl
deleted file mode 100644
index 0e692c64d9d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OIDS/N.pl
+++ /dev/null
@@ -1,16 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 2117
-2119 212D
-212F 309A
-309D 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OIDS/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OIDS/Y.pl
deleted file mode 100644
index d281d04dc96..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OIDS/Y.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2118
-212E
-309B 309C
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OLower/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OLower/N.pl
deleted file mode 100644
index bdac92eeb95..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OLower/N.pl
+++ /dev/null
@@ -1,26 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 02AF
-02B9 02BF
-02C2 02DF
-02E5 0344
-0346 0379
-037B 1D2B
-1D62 1D77
-1D79 1D9A
-1DC0 208F
-2095 216F
-2180 24CF
-24EA 2C7C
-2C7E A76F
-A771 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OLower/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OLower/Y.pl
deleted file mode 100644
index 4ef2405d743..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OLower/Y.pl
+++ /dev/null
@@ -1,25 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-02B0 02B8
-02C0 02C1
-02E0 02E4
-0345
-037A
-1D2C 1D61
-1D78
-1D9B 1DBF
-2090 2094
-2170 217F
-24D0 24E9
-2C7D
-A770
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OMath/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OMath/N.pl
deleted file mode 100644
index 17eb126e299..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OMath/N.pl
+++ /dev/null
@@ -1,113 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 005D
-005F 03CF
-03D3 03D4
-03D6 03EF
-03F2 03F3
-03F6 2015
-2017 2031
-2035 203F
-2041 2060
-2065 207C
-207F 208C
-208F 20CF
-20DD 20E0
-20E2 20E4
-20E7 20EA
-20F0 2101
-2103 2106
-2108 2109
-2114
-2116 2118
-211E 2123
-2125 2127
-212A 212B
-212E
-2132
-2139 213B
-2140 2144
-214A 2194
-219A 219B
-21A0
-21A3
-21A6
-21A8
-21AE 21AF
-21B2 21B5
-21B8 21BB
-21CE 21CF
-21D2
-21D4
-21DC
-21DE 21E3
-21E6 23B3
-23B6
-23B8 23CF
-23D1 23E1
-23E3 259F
-25A2 25AD
-25B7 25BB
-25C1 25C5
-25C8 25C9
-25CC 25CE
-25D4 25E1
-25E3
-25E5 25E6
-25ED 2604
-2607 263F
-2641
-2643 265F
-2664 266C
-266F 27C4
-27C7 27E5
-27F0 2982
-2999 29D7
-29DC 29FB
-29FE FE60
-FE62
-FE64 FE67
-FE69 FF3B
-FF3D
-FF3F 1D3FF
-1D455
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4BA
-1D4BC
-1D4C4
-1D506
-1D50B 1D50C
-1D515
-1D51D
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551
-1D6A6 1D6A7
-1D6C1
-1D6DB
-1D6FB
-1D715
-1D735
-1D74F
-1D76F
-1D789
-1D7A9
-1D7C3
-1D7CC 1D7CD
-1D800 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OMath/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OMath/Y.pl
deleted file mode 100644
index d42a3e26ded..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OMath/Y.pl
+++ /dev/null
@@ -1,112 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-005E
-03D0 03D2
-03D5
-03F0 03F1
-03F4 03F5
-2016
-2032 2034
-2040
-2061 2064
-207D 207E
-208D 208E
-20D0 20DC
-20E1
-20E5 20E6
-20EB 20EF
-2102
-2107
-210A 2113
-2115
-2119 211D
-2124
-2128 2129
-212C 212D
-212F 2131
-2133 2138
-213C 213F
-2145 2149
-2195 2199
-219C 219F
-21A1 21A2
-21A4 21A5
-21A7
-21A9 21AD
-21B0 21B1
-21B6 21B7
-21BC 21CD
-21D0 21D1
-21D3
-21D5 21DB
-21DD
-21E4 21E5
-23B4 23B5
-23B7
-23D0
-23E2
-25A0 25A1
-25AE 25B6
-25BC 25C0
-25C6 25C7
-25CA 25CB
-25CF 25D3
-25E2
-25E4
-25E7 25EC
-2605 2606
-2640
-2642
-2660 2663
-266D 266E
-27C5 27C6
-27E6 27EF
-2983 2998
-29D8 29DB
-29FC 29FD
-FE61
-FE63
-FE68
-FF3C
-FF3E
-1D400 1D454
-1D456 1D49C
-1D49E 1D49F
-1D4A2
-1D4A5 1D4A6
-1D4A9 1D4AC
-1D4AE 1D4B9
-1D4BB
-1D4BD 1D4C3
-1D4C5 1D505
-1D507 1D50A
-1D50D 1D514
-1D516 1D51C
-1D51E 1D539
-1D53B 1D53E
-1D540 1D544
-1D546
-1D54A 1D550
-1D552 1D6A5
-1D6A8 1D6C0
-1D6C2 1D6DA
-1D6DC 1D6FA
-1D6FC 1D714
-1D716 1D734
-1D736 1D74E
-1D750 1D76E
-1D770 1D788
-1D78A 1D7A8
-1D7AA 1D7C2
-1D7C4 1D7CB
-1D7CE 1D7FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OUpper/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OUpper/N.pl
deleted file mode 100644
index e9b3471f55d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OUpper/N.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 215F
-2170 24B5
-24D0 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/OUpper/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/OUpper/Y.pl
deleted file mode 100644
index ea3bd648699..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/OUpper/Y.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2160 216F
-24B6 24CF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/N.pl
deleted file mode 100644
index aaa952f0e42..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/N.pl
+++ /dev/null
@@ -1,41 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0020
-0030 0039
-0041 005A
-005F
-0061 007A
-007F 00A0
-00A8
-00AA
-00AD
-00AF
-00B2 00B5
-00B7 00BA
-00BC 00BE
-00C0 00D6
-00D8 00F6
-00F8 200F
-2028 202F
-203F 2040
-2054
-205F 218F
-2460 24FF
-2776 2793
-2C00 2DFF
-2E80 3000
-3004 3007
-3021 302F
-3031 FD3D
-FD40 FE44
-FE47 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/Y.pl
index 0b2badcb05c..8f0aa4e4df2 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/PatSyn/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/PatWS/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/PatWS/N.pl
deleted file mode 100644
index c5602ca3760..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/PatWS/N.pl
+++ /dev/null
@@ -1,18 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0008
-000E 001F
-0021 0084
-0086 200D
-2010 2027
-202A 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/PatWS/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/PatWS/Y.pl
index 1502adc21df..5428081db81 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/PatWS/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/PatWS/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Alnum.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Alnum.pl
index 807167ec9ee..dec97725e43 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Alnum.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Alnum.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -59,6 +59,10 @@ return <<'END';
0800 0817
081A 082C
0840 0858
+08A0
+08A2 08AC
+08E4 08E9
+08F0 08FE
0900 093B
093D 094C
094E 0950
@@ -210,7 +214,7 @@ return <<'END';
0EC6
0ECD
0ED0 0ED9
-0EDC 0EDD
+0EDC 0EDF
0F00
0F20 0F29
0F40 0F47
@@ -228,9 +232,10 @@ return <<'END';
1090 1099
109C 109D
10A0 10C5
+10C7
+10CD
10D0 10FA
-10FC
-1100 1248
+10FC 1248
124A 124D
1250 1256
1258
@@ -289,14 +294,14 @@ return <<'END';
1B45 1B4B
1B50 1B59
1B80 1BA9
-1BAE 1BB9
-1BC0 1BE5
+1BAC 1BE5
1BE7 1BF1
1C00 1C35
1C40 1C49
1C4D 1C7D
1CE9 1CEC
-1CEE 1CF2
+1CEE 1CF3
+1CF5 1CF6
1D00 1DBF
1E00 1F15
1F18 1F1D
@@ -339,8 +344,11 @@ return <<'END';
2C30 2C5E
2C60 2CE4
2CEB 2CEE
+2CF2 2CF3
2D00 2D25
-2D30 2D65
+2D27
+2D2D
+2D30 2D67
2D6F
2D80 2D96
2DA0 2DA6
@@ -366,20 +374,21 @@ return <<'END';
31A0 31BA
31F0 31FF
3400 4DB5
-4E00 9FCB
+4E00 9FCC
A000 A48C
A4D0 A4FD
A500 A60C
A610 A62B
A640 A66E
+A674 A67B
A67F A697
-A6A0 A6EF
+A69F A6EF
A717 A71F
A722 A788
A78B A78E
-A790 A791
-A7A0 A7A9
-A7FA A801
+A790 A793
+A7A0 A7AA
+A7F8 A801
A803 A805
A807 A80A
A80C A827
@@ -403,6 +412,8 @@ AA80 AABE
AAC0
AAC2
AADB AADD
+AAE0 AAEF
+AAF2 AAF5
AB01 AB06
AB09 AB0E
AB11 AB16
@@ -413,8 +424,7 @@ ABF0 ABF9
AC00 D7A3
D7B0 D7C6
D7CB D7FB
-F900 FA2D
-FA30 FA6D
+F900 FA6D
FA70 FAD9
FB00 FB06
FB13 FB17
@@ -465,6 +475,8 @@ FFDA FFDC
1083F 10855
10900 10915
10920 10939
+10980 109B7
+109BE 109BF
10A00 10A03
10A05 10A06
10A0C 10A13
@@ -478,10 +490,22 @@ FFDA FFDC
11000 11045
11066 1106F
11082 110B8
+110D0 110E8
+110F0 110F9
+11100 11132
+11136 1113F
+11180 111BF
+111C1 111C4
+111D0 111D9
+11680 116B5
+116C0 116C9
12000 1236E
12400 12462
13000 1342E
16800 16A38
+16F00 16F44
+16F50 16F7E
+16F93 16F9F
1B000 1B001
1D400 1D454
1D456 1D49C
@@ -514,6 +538,39 @@ FFDA FFDC
1D7AA 1D7C2
1D7C4 1D7CB
1D7CE 1D7FF
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
20000 2A6D6
2A700 2B734
2B740 2B81D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Any.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Any.pl
index dac507a3a72..1b056fcfa70 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Any.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Any.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Assigned.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Assigned.pl
index 3e972903913..d29c06cddb0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Assigned.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Assigned.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -19,10 +19,11 @@ return <<'END';
0559 055F
0561 0587
0589 058A
+058F
0591 05C7
05D0 05EA
05F0 05F4
-0600 0603
+0600 0604
0606 061B
061E 070D
070F 074A
@@ -32,6 +33,9 @@ return <<'END';
0830 083E
0840 085B
085E
+08A0
+08A2 08AC
+08E4 08FE
0900 0977
0979 097F
0981 0983
@@ -76,8 +80,7 @@ return <<'END';
0ACB 0ACD
0AD0
0AE0 0AE3
-0AE6 0AEF
-0AF1
+0AE6 0AF1
0B01 0B03
0B05 0B0C
0B0F 0B10
@@ -177,7 +180,7 @@ return <<'END';
0EC6
0EC8 0ECD
0ED0 0ED9
-0EDC 0EDD
+0EDC 0EDF
0F00 0F47
0F49 0F6C
0F71 0F97
@@ -185,8 +188,9 @@ return <<'END';
0FBE 0FCC
0FCE 0FDA
1000 10C5
-10D0 10FC
-1100 1248
+10C7
+10CD
+10D0 1248
124A 124D
1250 1256
1258
@@ -239,13 +243,12 @@ return <<'END';
1AA0 1AAD
1B00 1B4B
1B50 1B7C
-1B80 1BAA
-1BAE 1BB9
-1BC0 1BF3
+1B80 1BF3
1BFC 1C37
1C3B 1C49
1C4D 1C7F
-1CD0 1CF2
+1CC0 1CC7
+1CD0 1CF6
1D00 1DE6
1DFC 1F15
1F18 1F1D
@@ -274,15 +277,15 @@ return <<'END';
2400 2426
2440 244A
2460 26FF
-2701 27CA
-27CC
-27CE 2B4C
+2701 2B4C
2B50 2B59
2C00 2C2E
2C30 2C5E
-2C60 2CF1
+2C60 2CF3
2CF9 2D25
-2D30 2D65
+2D27
+2D2D
+2D30 2D67
2D6F 2D70
2D7F 2D96
2DA0 2DA6
@@ -293,7 +296,7 @@ return <<'END';
2DC8 2DCE
2DD0 2DD6
2DD8 2DDE
-2DE0 2E31
+2DE0 2E3B
2E80 2E99
2E9B 2EF3
2F00 2FD5
@@ -308,17 +311,16 @@ return <<'END';
31F0 321E
3220 32FE
3300 4DB5
-4DC0 9FCB
+4DC0 9FCC
A000 A48C
A490 A4C6
A4D0 A62B
-A640 A673
-A67C A697
-A6A0 A6F7
+A640 A697
+A69F A6F7
A700 A78E
-A790 A791
-A7A0 A7A9
-A7FA A82B
+A790 A793
+A7A0 A7AA
+A7F8 A82B
A830 A839
A840 A877
A880 A8C4
@@ -334,7 +336,7 @@ AA40 AA4D
AA50 AA59
AA5C AA7B
AA80 AAC2
-AADB AADF
+AADB AAF6
AB01 AB06
AB09 AB0E
AB11 AB16
@@ -345,8 +347,7 @@ ABF0 ABF9
AC00 D7A3
D7B0 D7C6
D7CB D7FB
-D800 FA2D
-FA30 FA6D
+D800 FA6D
FA70 FAD9
FB00 FB06
FB13 FB17
@@ -408,6 +409,8 @@ FFF9 FFFD
10900 1091B
1091F 10939
1093F
+10980 109B7
+109BE 109BF
10A00 10A03
10A05 10A06
10A0C 10A13
@@ -426,11 +429,22 @@ FFF9 FFFD
11000 1104D
11052 1106F
11080 110C1
+110D0 110E8
+110F0 110F9
+11100 11134
+11136 11143
+11180 111C8
+111D0 111D9
+11680 116B7
+116C0 116C9
12000 1236E
12400 12462
12470 12473
13000 1342E
16800 16A38
+16F00 16F44
+16F50 16F7E
+16F8F 16F9F
1B000 1B001
1D000 1D0F5
1D100 1D126
@@ -459,6 +473,40 @@ FFF9 FFFD
1D552 1D6A5
1D6A8 1D7CB
1D7CE 1D7FF
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
+1EEF0 1EEF1
1F000 1F02B
1F030 1F093
1F0A0 1F0AE
@@ -467,7 +515,7 @@ FFF9 FFFD
1F0D1 1F0DF
1F100 1F10A
1F110 1F12E
-1F130 1F169
+1F130 1F16B
1F170 1F19A
1F1E6 1F202
1F210 1F23A
@@ -485,19 +533,9 @@ FFF9 FFFD
1F442 1F4F7
1F4F9 1F4FC
1F500 1F53D
+1F540 1F543
1F550 1F567
-1F5FB 1F5FF
-1F601 1F610
-1F612 1F614
-1F616
-1F618
-1F61A
-1F61C 1F61E
-1F620 1F625
-1F628 1F62B
-1F62D
-1F630 1F633
-1F635 1F640
+1F5FB 1F640
1F645 1F64F
1F680 1F6C5
1F700 1F773
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Blank.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Blank.pl
index 753c98030c7..4e5abb010d1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Blank.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Blank.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Graph.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Graph.pl
index 564d552ea75..39e15b0be8e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Graph.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Graph.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -20,10 +20,11 @@ return <<'END';
0559 055F
0561 0587
0589 058A
+058F
0591 05C7
05D0 05EA
05F0 05F4
-0600 0603
+0600 0604
0606 061B
061E 070D
070F 074A
@@ -33,6 +34,9 @@ return <<'END';
0830 083E
0840 085B
085E
+08A0
+08A2 08AC
+08E4 08FE
0900 0977
0979 097F
0981 0983
@@ -77,8 +81,7 @@ return <<'END';
0ACB 0ACD
0AD0
0AE0 0AE3
-0AE6 0AEF
-0AF1
+0AE6 0AF1
0B01 0B03
0B05 0B0C
0B0F 0B10
@@ -178,7 +181,7 @@ return <<'END';
0EC6
0EC8 0ECD
0ED0 0ED9
-0EDC 0EDD
+0EDC 0EDF
0F00 0F47
0F49 0F6C
0F71 0F97
@@ -186,8 +189,9 @@ return <<'END';
0FBE 0FCC
0FCE 0FDA
1000 10C5
-10D0 10FC
-1100 1248
+10C7
+10CD
+10D0 1248
124A 124D
1250 1256
1258
@@ -241,13 +245,12 @@ return <<'END';
1AA0 1AAD
1B00 1B4B
1B50 1B7C
-1B80 1BAA
-1BAE 1BB9
-1BC0 1BF3
+1B80 1BF3
1BFC 1C37
1C3B 1C49
1C4D 1C7F
-1CD0 1CF2
+1CC0 1CC7
+1CD0 1CF6
1D00 1DE6
1DFC 1F15
1F18 1F1D
@@ -279,15 +282,15 @@ return <<'END';
2400 2426
2440 244A
2460 26FF
-2701 27CA
-27CC
-27CE 2B4C
+2701 2B4C
2B50 2B59
2C00 2C2E
2C30 2C5E
-2C60 2CF1
+2C60 2CF3
2CF9 2D25
-2D30 2D65
+2D27
+2D2D
+2D30 2D67
2D6F 2D70
2D7F 2D96
2DA0 2DA6
@@ -298,7 +301,7 @@ return <<'END';
2DC8 2DCE
2DD0 2DD6
2DD8 2DDE
-2DE0 2E31
+2DE0 2E3B
2E80 2E99
2E9B 2EF3
2F00 2FD5
@@ -313,17 +316,16 @@ return <<'END';
31F0 321E
3220 32FE
3300 4DB5
-4DC0 9FCB
+4DC0 9FCC
A000 A48C
A490 A4C6
A4D0 A62B
-A640 A673
-A67C A697
-A6A0 A6F7
+A640 A697
+A69F A6F7
A700 A78E
-A790 A791
-A7A0 A7A9
-A7FA A82B
+A790 A793
+A7A0 A7AA
+A7F8 A82B
A830 A839
A840 A877
A880 A8C4
@@ -339,7 +341,7 @@ AA40 AA4D
AA50 AA59
AA5C AA7B
AA80 AAC2
-AADB AADF
+AADB AAF6
AB01 AB06
AB09 AB0E
AB11 AB16
@@ -350,8 +352,7 @@ ABF0 ABF9
AC00 D7A3
D7B0 D7C6
D7CB D7FB
-E000 FA2D
-FA30 FA6D
+E000 FA6D
FA70 FAD9
FB00 FB06
FB13 FB17
@@ -413,6 +414,8 @@ FFF9 FFFD
10900 1091B
1091F 10939
1093F
+10980 109B7
+109BE 109BF
10A00 10A03
10A05 10A06
10A0C 10A13
@@ -431,11 +434,22 @@ FFF9 FFFD
11000 1104D
11052 1106F
11080 110C1
+110D0 110E8
+110F0 110F9
+11100 11134
+11136 11143
+11180 111C8
+111D0 111D9
+11680 116B7
+116C0 116C9
12000 1236E
12400 12462
12470 12473
13000 1342E
16800 16A38
+16F00 16F44
+16F50 16F7E
+16F8F 16F9F
1B000 1B001
1D000 1D0F5
1D100 1D126
@@ -464,6 +478,40 @@ FFF9 FFFD
1D552 1D6A5
1D6A8 1D7CB
1D7CE 1D7FF
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
+1EEF0 1EEF1
1F000 1F02B
1F030 1F093
1F0A0 1F0AE
@@ -472,7 +520,7 @@ FFF9 FFFD
1F0D1 1F0DF
1F100 1F10A
1F110 1F12E
-1F130 1F169
+1F130 1F16B
1F170 1F19A
1F1E6 1F202
1F210 1F23A
@@ -490,19 +538,9 @@ FFF9 FFFD
1F442 1F4F7
1F4F9 1F4FC
1F500 1F53D
+1F540 1F543
1F550 1F567
-1F5FB 1F5FF
-1F601 1F610
-1F612 1F614
-1F616
-1F618
-1F61A
-1F61C 1F61E
-1F620 1F625
-1F628 1F62B
-1F62D
-1F630 1F633
-1F635 1F640
+1F5FB 1F640
1F645 1F64F
1F680 1F6C5
1F700 1F773
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlSpac.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlSpac.pl
index c2561000f89..393910081aa 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlSpac.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlSpac.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlWord.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlWord.pl
index d8b1206bc68..880ce3c51f9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlWord.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PerlWord.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAln.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAln.pl
index 6149856e1a3..0c4f6ffedb6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAln.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAln.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAlp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAlp.pl
index c942450890b..759a1880c3d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAlp.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixAlp.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixBla.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixBla.pl
index 252e2aa373f..84c7b5038a6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixBla.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixBla.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixCnt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixCnt.pl
index e3e22570a09..65a9fc122e0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixCnt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixCnt.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixDig.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixDig.pl
index 4cdc65fbad1..f0b743c6880 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixDig.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixDig.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixGra.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixGra.pl
index c0037c9dc63..e2b7ddb24a4 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixGra.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixGra.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixLow.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixLow.pl
index bdeb13cf3e1..807d5593013 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixLow.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixLow.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPri.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPri.pl
index c322a9b41f6..673b20a16d7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPri.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPri.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPun.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPun.pl
index 9af540c79d5..5f80d5df920 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPun.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixPun.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixSpa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixSpa.pl
index c61c72b3d5b..cceac7bdc75 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixSpa.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixSpa.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixUpp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixUpp.pl
index cf61f8550e0..0f71310a333 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixUpp.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/PosixUpp.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Print.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Print.pl
index 19b4b76582f..60876b8c681 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Print.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Print.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -20,10 +20,11 @@ return <<'END';
0559 055F
0561 0587
0589 058A
+058F
0591 05C7
05D0 05EA
05F0 05F4
-0600 0603
+0600 0604
0606 061B
061E 070D
070F 074A
@@ -33,6 +34,9 @@ return <<'END';
0830 083E
0840 085B
085E
+08A0
+08A2 08AC
+08E4 08FE
0900 0977
0979 097F
0981 0983
@@ -77,8 +81,7 @@ return <<'END';
0ACB 0ACD
0AD0
0AE0 0AE3
-0AE6 0AEF
-0AF1
+0AE6 0AF1
0B01 0B03
0B05 0B0C
0B0F 0B10
@@ -178,7 +181,7 @@ return <<'END';
0EC6
0EC8 0ECD
0ED0 0ED9
-0EDC 0EDD
+0EDC 0EDF
0F00 0F47
0F49 0F6C
0F71 0F97
@@ -186,8 +189,9 @@ return <<'END';
0FBE 0FCC
0FCE 0FDA
1000 10C5
-10D0 10FC
-1100 1248
+10C7
+10CD
+10D0 1248
124A 124D
1250 1256
1258
@@ -240,13 +244,12 @@ return <<'END';
1AA0 1AAD
1B00 1B4B
1B50 1B7C
-1B80 1BAA
-1BAE 1BB9
-1BC0 1BF3
+1B80 1BF3
1BFC 1C37
1C3B 1C49
1C4D 1C7F
-1CD0 1CF2
+1CC0 1CC7
+1CD0 1CF6
1D00 1DE6
1DFC 1F15
1F18 1F1D
@@ -276,15 +279,15 @@ return <<'END';
2400 2426
2440 244A
2460 26FF
-2701 27CA
-27CC
-27CE 2B4C
+2701 2B4C
2B50 2B59
2C00 2C2E
2C30 2C5E
-2C60 2CF1
+2C60 2CF3
2CF9 2D25
-2D30 2D65
+2D27
+2D2D
+2D30 2D67
2D6F 2D70
2D7F 2D96
2DA0 2DA6
@@ -295,7 +298,7 @@ return <<'END';
2DC8 2DCE
2DD0 2DD6
2DD8 2DDE
-2DE0 2E31
+2DE0 2E3B
2E80 2E99
2E9B 2EF3
2F00 2FD5
@@ -310,17 +313,16 @@ return <<'END';
31F0 321E
3220 32FE
3300 4DB5
-4DC0 9FCB
+4DC0 9FCC
A000 A48C
A490 A4C6
A4D0 A62B
-A640 A673
-A67C A697
-A6A0 A6F7
+A640 A697
+A69F A6F7
A700 A78E
-A790 A791
-A7A0 A7A9
-A7FA A82B
+A790 A793
+A7A0 A7AA
+A7F8 A82B
A830 A839
A840 A877
A880 A8C4
@@ -336,7 +338,7 @@ AA40 AA4D
AA50 AA59
AA5C AA7B
AA80 AAC2
-AADB AADF
+AADB AAF6
AB01 AB06
AB09 AB0E
AB11 AB16
@@ -347,8 +349,7 @@ ABF0 ABF9
AC00 D7A3
D7B0 D7C6
D7CB D7FB
-E000 FA2D
-FA30 FA6D
+E000 FA6D
FA70 FAD9
FB00 FB06
FB13 FB17
@@ -410,6 +411,8 @@ FFF9 FFFD
10900 1091B
1091F 10939
1093F
+10980 109B7
+109BE 109BF
10A00 10A03
10A05 10A06
10A0C 10A13
@@ -428,11 +431,22 @@ FFF9 FFFD
11000 1104D
11052 1106F
11080 110C1
+110D0 110E8
+110F0 110F9
+11100 11134
+11136 11143
+11180 111C8
+111D0 111D9
+11680 116B7
+116C0 116C9
12000 1236E
12400 12462
12470 12473
13000 1342E
16800 16A38
+16F00 16F44
+16F50 16F7E
+16F8F 16F9F
1B000 1B001
1D000 1D0F5
1D100 1D126
@@ -461,6 +475,40 @@ FFF9 FFFD
1D552 1D6A5
1D6A8 1D7CB
1D7CE 1D7FF
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
+1EEF0 1EEF1
1F000 1F02B
1F030 1F093
1F0A0 1F0AE
@@ -469,7 +517,7 @@ FFF9 FFFD
1F0D1 1F0DF
1F100 1F10A
1F110 1F12E
-1F130 1F169
+1F130 1F16B
1F170 1F19A
1F1E6 1F202
1F210 1F23A
@@ -487,19 +535,9 @@ FFF9 FFFD
1F442 1F4F7
1F4F9 1F4FC
1F500 1F53D
+1F540 1F543
1F550 1F567
-1F5FB 1F5FF
-1F601 1F610
-1F612 1F614
-1F616
-1F618
-1F61A
-1F61C 1F61E
-1F620 1F625
-1F628 1F62B
-1F62D
-1F630 1F633
-1F635 1F640
+1F5FB 1F640
1F645 1F64F
1F680 1F6C5
1F700 1F773
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/SpacePer.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/SpacePer.pl
index 891f5deb681..3657d424146 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/SpacePer.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/SpacePer.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Title.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Title.pl
index 10afa86e7ae..3d4df0e1365 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Title.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Title.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/VertSpac.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/VertSpac.pl
index 6ef78bf9d61..0488dd3f1ac 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/VertSpac.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/VertSpac.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Word.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Word.pl
index dfaff2ed6ae..3b10eb87d19 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Word.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/Word.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -56,6 +56,9 @@ return <<'END';
07FA
0800 082D
0840 085B
+08A0
+08A2 08AC
+08E4 08FE
0900 0963
0966 096F
0971 0977
@@ -203,7 +206,7 @@ return <<'END';
0EC6
0EC8 0ECD
0ED0 0ED9
-0EDC 0EDD
+0EDC 0EDF
0F00
0F18 0F19
0F20 0F29
@@ -219,9 +222,10 @@ return <<'END';
1000 1049
1050 109D
10A0 10C5
+10C7
+10CD
10D0 10FA
-10FC
-1100 1248
+10FC 1248
124A 124D
1250 1256
1258
@@ -252,8 +256,7 @@ return <<'END';
1760 176C
176E 1770
1772 1773
-1780 17B3
-17B6 17D3
+1780 17D3
17D7
17DC 17DD
17E0 17E9
@@ -279,14 +282,12 @@ return <<'END';
1B00 1B4B
1B50 1B59
1B6B 1B73
-1B80 1BAA
-1BAE 1BB9
-1BC0 1BF3
+1B80 1BF3
1C00 1C37
1C40 1C49
1C4D 1C7D
1CD0 1CD2
-1CD4 1CF2
+1CD4 1CF6
1D00 1DE6
1DFC 1F15
1F18 1F1D
@@ -331,9 +332,11 @@ return <<'END';
2C00 2C2E
2C30 2C5E
2C60 2CE4
-2CEB 2CF1
+2CEB 2CF3
2D00 2D25
-2D30 2D65
+2D27
+2D2D
+2D30 2D67
2D6F
2D7F 2D96
2DA0 2DA6
@@ -360,21 +363,21 @@ return <<'END';
31A0 31BA
31F0 31FF
3400 4DB5
-4E00 9FCB
+4E00 9FCC
A000 A48C
A4D0 A4FD
A500 A60C
A610 A62B
A640 A672
-A67C A67D
+A674 A67D
A67F A697
-A6A0 A6F1
+A69F A6F1
A717 A71F
A722 A788
A78B A78E
-A790 A791
-A7A0 A7A9
-A7FA A827
+A790 A793
+A7A0 A7AA
+A7F8 A827
A840 A873
A880 A8C4
A8D0 A8D9
@@ -392,6 +395,8 @@ AA60 AA76
AA7A AA7B
AA80 AAC2
AADB AADD
+AAE0 AAEF
+AAF2 AAF6
AB01 AB06
AB09 AB0E
AB11 AB16
@@ -403,8 +408,7 @@ ABF0 ABF9
AC00 D7A3
D7B0 D7C6
D7CB D7FB
-F900 FA2D
-FA30 FA6D
+F900 FA6D
FA70 FAD9
FB00 FB06
FB13 FB17
@@ -461,6 +465,8 @@ FFDA FFDC
1083F 10855
10900 10915
10920 10939
+10980 109B7
+109BE 109BF
10A00 10A03
10A05 10A06
10A0C 10A13
@@ -476,10 +482,21 @@ FFDA FFDC
11000 11046
11066 1106F
11080 110BA
+110D0 110E8
+110F0 110F9
+11100 11134
+11136 1113F
+11180 111C4
+111D0 111D9
+11680 116B7
+116C0 116C9
12000 1236E
12400 12462
13000 1342E
16800 16A38
+16F00 16F44
+16F50 16F7E
+16F8F 16F9F
1B000 1B001
1D165 1D169
1D16D 1D172
@@ -518,6 +535,39 @@ FFDA FFDC
1D7AA 1D7C2
1D7C4 1D7CB
1D7CE 1D7FF
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
20000 2A6D6
2A700 2B734
2B740 2B81D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/XPosixPu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/XPosixPu.pl
index 1aa6d253d35..9d5322290cb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/XPosixPu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/XPosixPu.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -14,8 +14,9 @@ return <<'END';
005B 0060
007B 007E
00A1
+00A7
00AB
-00B7
+00B6 00B7
00BB
00BF
037E
@@ -39,17 +40,19 @@ return <<'END';
085E
0964 0965
0970
+0AF0
0DF4
0E4F
0E5A 0E5B
0F04 0F12
+0F14
0F3A 0F3D
0F85
0FD0 0FD4
0FD9 0FDA
104A 104F
10FB
-1361 1368
+1360 1368
1400
166D 166E
169B 169C
@@ -66,6 +69,7 @@ return <<'END';
1BFC 1BFF
1C3B 1C3F
1C7E 1C7F
+1CC0 1CC7
1CD3
2010 2027
2030 2043
@@ -84,7 +88,7 @@ return <<'END';
2CFE 2CFF
2D70
2E00 2E2E
-2E30 2E31
+2E30 2E3B
3001 3003
3008 3011
3014 301F
@@ -106,6 +110,7 @@ A9C1 A9CD
A9DE A9DF
AA5C AA5F
AADE AADF
+AAF0 AAF1
ABEB
FD3E FD3F
FE10 FE19
@@ -124,7 +129,7 @@ FF3F
FF5B
FF5D
FF5F FF65
-10100 10101
+10100 10102
1039F
103D0
10857
@@ -136,5 +141,7 @@ FF5F FF65
11047 1104D
110BB 110BC
110BE 110C1
+11140 11143
+111C5 111C8
12470 12473
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlIDS.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlIDS.pl
new file mode 100644
index 00000000000..14fc9f6ffaf
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlIDS.pl
@@ -0,0 +1,509 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0041 005A
+005F
+0061 007A
+00AA
+00B5
+00BA
+00C0 00D6
+00D8 00F6
+00F8 02C1
+02C6 02D1
+02E0 02E4
+02EC
+02EE
+0370 0374
+0376 0377
+037B 037D
+0386
+0388 038A
+038C
+038E 03A1
+03A3 03F5
+03F7 0481
+048A 0527
+0531 0556
+0559
+0561 0587
+05D0 05EA
+05F0 05F2
+0620 064A
+066E 066F
+0671 06D3
+06D5
+06E5 06E6
+06EE 06EF
+06FA 06FC
+06FF
+0710
+0712 072F
+074D 07A5
+07B1
+07CA 07EA
+07F4 07F5
+07FA
+0800 0815
+081A
+0824
+0828
+0840 0858
+08A0
+08A2 08AC
+0904 0939
+093D
+0950
+0958 0961
+0971 0977
+0979 097F
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
+09B2
+09B6 09B9
+09BD
+09CE
+09DC 09DD
+09DF 09E1
+09F0 09F1
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A59 0A5C
+0A5E
+0A72 0A74
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABD
+0AD0
+0AE0 0AE1
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3D
+0B5C 0B5D
+0B5F 0B61
+0B71
+0B83
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
+0B9C
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB9
+0BD0
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3D
+0C58 0C59
+0C60 0C61
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CBD
+0CDE
+0CE0 0CE1
+0CF1 0CF2
+0D05 0D0C
+0D0E 0D10
+0D12 0D3A
+0D3D
+0D4E
+0D60 0D61
+0D7A 0D7F
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
+0DBD
+0DC0 0DC6
+0E01 0E30
+0E32
+0E40 0E46
+0E81 0E82
+0E84
+0E87 0E88
+0E8A
+0E8D
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
+0EA5
+0EA7
+0EAA 0EAB
+0EAD 0EB0
+0EB2
+0EBD
+0EC0 0EC4
+0EC6
+0EDC 0EDF
+0F00
+0F40 0F47
+0F49 0F6C
+0F88 0F8C
+1000 102A
+103F
+1050 1055
+105A 105D
+1061
+1065 1066
+106E 1070
+1075 1081
+108E
+10A0 10C5
+10C7
+10CD
+10D0 10FA
+10FC 1248
+124A 124D
+1250 1256
+1258
+125A 125D
+1260 1288
+128A 128D
+1290 12B0
+12B2 12B5
+12B8 12BE
+12C0
+12C2 12C5
+12C8 12D6
+12D8 1310
+1312 1315
+1318 135A
+1380 138F
+13A0 13F4
+1401 166C
+166F 167F
+1681 169A
+16A0 16EA
+16EE 16F0
+1700 170C
+170E 1711
+1720 1731
+1740 1751
+1760 176C
+176E 1770
+1780 17B3
+17D7
+17DC
+1820 1877
+1880 18A8
+18AA
+18B0 18F5
+1900 191C
+1950 196D
+1970 1974
+1980 19AB
+19C1 19C7
+1A00 1A16
+1A20 1A54
+1AA7
+1B05 1B33
+1B45 1B4B
+1B83 1BA0
+1BAE 1BAF
+1BBA 1BE5
+1C00 1C23
+1C4D 1C4F
+1C5A 1C7D
+1CE9 1CEC
+1CEE 1CF1
+1CF5 1CF6
+1D00 1DBF
+1E00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
+1F59
+1F5B
+1F5D
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
+1FBE
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
+2071
+207F
+2090 209C
+2102
+2107
+210A 2113
+2115
+2119 211D
+2124
+2126
+2128
+212A 212D
+212F 2139
+213C 213F
+2145 2149
+214E
+2160 2188
+2C00 2C2E
+2C30 2C5E
+2C60 2CE4
+2CEB 2CEE
+2CF2 2CF3
+2D00 2D25
+2D27
+2D2D
+2D30 2D67
+2D6F
+2D80 2D96
+2DA0 2DA6
+2DA8 2DAE
+2DB0 2DB6
+2DB8 2DBE
+2DC0 2DC6
+2DC8 2DCE
+2DD0 2DD6
+2DD8 2DDE
+3005 3007
+3021 3029
+3031 3035
+3038 303C
+3041 3096
+309D 309F
+30A1 30FA
+30FC 30FF
+3105 312D
+3131 318E
+31A0 31BA
+31F0 31FF
+3400 4DB5
+4E00 9FCC
+A000 A48C
+A4D0 A4FD
+A500 A60C
+A610 A61F
+A62A A62B
+A640 A66E
+A67F A697
+A6A0 A6EF
+A717 A71F
+A722 A788
+A78B A78E
+A790 A793
+A7A0 A7AA
+A7F8 A801
+A803 A805
+A807 A80A
+A80C A822
+A840 A873
+A882 A8B3
+A8F2 A8F7
+A8FB
+A90A A925
+A930 A946
+A960 A97C
+A984 A9B2
+A9CF
+AA00 AA28
+AA40 AA42
+AA44 AA4B
+AA60 AA76
+AA7A
+AA80 AAAF
+AAB1
+AAB5 AAB6
+AAB9 AABD
+AAC0
+AAC2
+AADB AADD
+AAE0 AAEA
+AAF2 AAF4
+AB01 AB06
+AB09 AB0E
+AB11 AB16
+AB20 AB26
+AB28 AB2E
+ABC0 ABE2
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+F900 FA6D
+FA70 FAD9
+FB00 FB06
+FB13 FB17
+FB1D
+FB1F FB28
+FB2A FB36
+FB38 FB3C
+FB3E
+FB40 FB41
+FB43 FB44
+FB46 FBB1
+FBD3 FC5D
+FC64 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDF9
+FE71
+FE73
+FE77
+FE79
+FE7B
+FE7D
+FE7F FEFC
+FF21 FF3A
+FF41 FF5A
+FF66 FF9D
+FFA0 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10140 10174
+10280 1029C
+102A0 102D0
+10300 1031E
+10330 1034A
+10380 1039D
+103A0 103C3
+103C8 103CF
+103D1 103D5
+10400 1049D
+10800 10805
+10808
+1080A 10835
+10837 10838
+1083C
+1083F 10855
+10900 10915
+10920 10939
+10980 109B7
+109BE 109BF
+10A00
+10A10 10A13
+10A15 10A17
+10A19 10A33
+10A60 10A7C
+10B00 10B35
+10B40 10B55
+10B60 10B72
+10C00 10C48
+11003 11037
+11083 110AF
+110D0 110E8
+11103 11126
+11183 111B2
+111C1 111C4
+11680 116AA
+12000 1236E
+12400 12462
+13000 1342E
+16800 16A38
+16F00 16F44
+16F50
+16F93 16F9F
+1B000 1B001
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D6C0
+1D6C2 1D6DA
+1D6DC 1D6FA
+1D6FC 1D714
+1D716 1D734
+1D736 1D74E
+1D750 1D76E
+1D770 1D788
+1D78A 1D7A8
+1D7AA 1D7C2
+1D7C4 1D7CB
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
+20000 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlNon.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlNon.pl
new file mode 100644
index 00000000000..3d5c46a05b5
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlNon.pl
@@ -0,0 +1,40 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0061
+0066
+0068 006A
+0073 0074
+0077
+0079
+02BC
+0308
+0313
+0342
+03AC
+03AE
+03B1
+03B7
+03B9
+03C1
+03C5
+03C9
+03CE
+0565
+0574
+057E
+1F00 1F07
+1F20 1F27
+1F60 1F67
+1F70
+1F74
+1F7C
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlQuo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlQuo.pl
new file mode 100644
index 00000000000..47ab214aa1e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_PerlQuo.pl
@@ -0,0 +1,49 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0000 002F
+003A 0040
+005B 005E
+0060
+007B 00A7
+00A9
+00AB 00AE
+00B0 00B1
+00B6
+00BB
+00BF
+00D7
+00F7
+034F
+115F 1160
+1680
+17B4 17B5
+180B 180E
+2000 203E
+2041 2053
+2055 206F
+2190 245F
+2500 2775
+2794 2BFF
+2E00 2E7F
+3000 3003
+3008 3020
+3030
+3164
+FD3E FD3F
+FE00 FE0F
+FE45 FE46
+FEFF
+FFA0
+FFF0 FFF8
+1D173 1D17A
+E0000 E0FFF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XBegin.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XBegin.pl
index 07cfaa4c796..59f6352f0fe 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XBegin.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XBegin.pl
@@ -1,30 +1,29 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
0020 007E
00A0 00AC
00AE 05FF
-0604 06DC
+0605 06DC
06DE 070E
-0710 17B3
-17B6 200A
+0710 200A
200C 200D
2010 2027
202F 205F
-2065 2069
-2070 FEFE
-FF00 FFF8
+2070 D7FF
+E000 FEFE
+FF00 FFEF
FFFC 110BC
110BE 1D172
-1D17B E0000
-E0002 E001F
-E0080 10FFFF
+1D17B DFFFF
+E0100 E01EF
+E1000 10FFFF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XExtend.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XExtend.pl
index 181cd8e7ab4..73ee13cdd4d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XExtend.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XExtend.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -32,6 +32,7 @@ return <<'END';
0825 0827
0829 082D
0859 085B
+08E4 08FE
0900 0903
093A 093C
093E 094F
@@ -95,10 +96,11 @@ return <<'END';
0DD6
0DD8 0DDF
0DF2 0DF3
-0E30 0E3A
-0E45
+0E31
+0E33 0E3A
0E47 0E4E
-0EB0 0EB9
+0EB1
+0EB3 0EB9
0EBB 0EBC
0EC8 0ECD
0F18 0F19
@@ -111,43 +113,45 @@ return <<'END';
0F8D 0F97
0F99 0FBC
0FC6
-102B 103E
+102D 1037
+1039 103E
1056 1059
105E 1060
-1062 1064
-1067 106D
1071 1074
-1082 108D
-108F
-109A 109D
+1082
+1084 1086
+108D
+109D
135D 135F
1712 1714
1732 1734
1752 1753
1772 1773
-17B6 17D3
+17B4 17D3
17DD
180B 180D
18A9
1920 192B
1930 193B
-19B0 19C0
-19C8 19C9
+19B5 19B7
+19BA
1A17 1A1B
1A55 1A5E
-1A60 1A7C
+1A60
+1A62
+1A65 1A7C
1A7F
1B00 1B04
1B34 1B44
1B6B 1B73
1B80 1B82
-1BA1 1BAA
+1BA1 1BAD
1BE6 1BF3
1C24 1C37
1CD0 1CD2
1CD4 1CE8
1CED
-1CF2
+1CF2 1CF4
1DC0 1DE6
1DFC 1DFF
200C 200D
@@ -158,7 +162,8 @@ return <<'END';
302A 302F
3099 309A
A66F A672
-A67C A67D
+A674 A67D
+A69F
A6F0 A6F1
A802
A806
@@ -174,12 +179,13 @@ A9B3 A9C0
AA29 AA36
AA43
AA4C AA4D
-AA7B
AAB0
AAB2 AAB4
AAB7 AAB8
AABE AABF
AAC1
+AAEB AAEF
+AAF5 AAF6
ABE3 ABEA
ABEC ABED
FB1E
@@ -196,6 +202,13 @@ FF9E FF9F
11038 11046
11080 11082
110B0 110BA
+11100 11102
+11127 11134
+11180 11182
+111B3 111C0
+116AB 116B7
+16F51 16F7E
+16F8F 16F92
1D165 1D169
1D16D 1D172
1D17B 1D182
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XLVLVTV.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XLVLVTV.pl
index 29a206beebb..3fba0fc6477 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XLVLVTV.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Perl/_XLVLVTV.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/QMark/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/QMark/N.pl
deleted file mode 100644
index b04e8e6c642..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/QMark/N.pl
+++ /dev/null
@@ -1,25 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0021
-0023 0026
-0028 00AA
-00AC 00BA
-00BC 2017
-2020 2038
-203B 300B
-3010 301C
-3020 FE40
-FE45 FF01
-FF03 FF06
-FF08 FF61
-FF64 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/QMark/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/QMark/Y.pl
index 00bbb225bb2..9b4cee2329d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/QMark/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/QMark/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Radical/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Radical/N.pl
deleted file mode 100644
index 77994eb9db0..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Radical/N.pl
+++ /dev/null
@@ -1,16 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 2E7F
-2E9A
-2EF4 2EFF
-2FD6 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Radical/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Radical/Y.pl
index 2cdf9b985b2..6fd1892598f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Radical/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Radical/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/AT.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/AT.pl
index 29a5272f143..503a69ee1ac 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/AT.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/AT.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/CL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/CL.pl
index 7bc31e9eff9..2ab4972eba7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/CL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/CL.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/EX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/EX.pl
index 84ddbb43e6a..445021a1a85 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/EX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/EX.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -32,6 +32,7 @@ return <<'END';
0825 0827
0829 082D
0859 085B
+08E4 08FE
0900 0903
093A 093C
093E 094F
@@ -126,7 +127,7 @@ return <<'END';
1732 1734
1752 1753
1772 1773
-17B6 17D3
+17B4 17D3
17DD
180B 180D
18A9
@@ -142,13 +143,13 @@ return <<'END';
1B34 1B44
1B6B 1B73
1B80 1B82
-1BA1 1BAA
+1BA1 1BAD
1BE6 1BF3
1C24 1C37
1CD0 1CD2
1CD4 1CE8
1CED
-1CF2
+1CF2 1CF4
1DC0 1DE6
1DFC 1DFF
200C 200D
@@ -159,7 +160,8 @@ return <<'END';
302A 302F
3099 309A
A66F A672
-A67C A67D
+A674 A67D
+A69F
A6F0 A6F1
A802
A806
@@ -181,6 +183,8 @@ AAB2 AAB4
AAB7 AAB8
AABE AABF
AAC1
+AAEB AAEF
+AAF5 AAF6
ABE3 ABEA
ABEC ABED
FB1E
@@ -197,6 +201,13 @@ FF9E FF9F
11038 11046
11080 11082
110B0 110BA
+11100 11102
+11127 11134
+11180 11182
+111B3 111C0
+116AB 116B7
+16F51 16F7E
+16F8F 16F92
1D165 1D169
1D16D 1D172
1D17B 1D182
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/FO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/FO.pl
index d5b800b5038..2fe19242286 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/FO.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/FO.pl
@@ -1,19 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
00AD
-0600 0603
+0600 0604
06DD
070F
-17B4 17B5
200B
200E 200F
202A 202E
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/LE.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/LE.pl
index 081313ea6ae..6dce455b990 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/LE.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/LE.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -40,6 +40,8 @@ return <<'END';
0824
0828
0840 0858
+08A0
+08A2 08AC
0904 0939
093D
0950
@@ -145,7 +147,7 @@ return <<'END';
0EBD
0EC0 0EC4
0EC6
-0EDC 0EDD
+0EDC 0EDF
0F00
0F40 0F47
0F49 0F6C
@@ -160,8 +162,7 @@ return <<'END';
1075 1081
108E
10D0 10FA
-10FC
-1100 1248
+10FC 1248
124A 124D
1250 1256
1258
@@ -209,19 +210,17 @@ return <<'END';
1B45 1B4B
1B83 1BA0
1BAE 1BAF
-1BC0 1BE5
+1BBA 1BE5
1C00 1C23
1C4D 1C4F
1C5A 1C7D
1CE9 1CEC
1CEE 1CF1
-2071
-207F
-2095 209C
+1CF5 1CF6
2135 2138
2180 2182
2185 2188
-2D30 2D65
+2D30 2D67
2D6F
2D80 2D96
2DA0 2DA6
@@ -246,7 +245,7 @@ return <<'END';
31A0 31BA
31F0 31FF
3400 4DB5
-4E00 9FCB
+4E00 9FCC
A000 A48C
A4D0 A4FD
A500 A60C
@@ -282,6 +281,8 @@ AAB9 AABD
AAC0
AAC2
AADB AADD
+AAE0 AAEA
+AAF2 AAF4
AB01 AB06
AB09 AB0E
AB11 AB16
@@ -291,8 +292,7 @@ ABC0 ABE2
AC00 D7A3
D7B0 D7C6
D7CB D7FB
-F900 FA2D
-FA30 FA6D
+F900 FA6D
FA70 FAD9
FB1D
FB1F FB28
@@ -339,6 +339,8 @@ FFDA FFDC
1083F 10855
10900 10915
10920 10939
+10980 109B7
+109BE 109BF
10A00
10A10 10A13
10A15 10A17
@@ -350,11 +352,52 @@ FFDA FFDC
10C00 10C48
11003 11037
11083 110AF
+110D0 110E8
+11103 11126
+11183 111B2
+111C1 111C4
+11680 116AA
12000 1236E
12400 12462
13000 1342E
16800 16A38
+16F00 16F44
+16F50
+16F93 16F9F
1B000 1B001
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
20000 2A6D6
2A700 2B734
2B740 2B81D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/LO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/LO.pl
index 7d9565f7eed..e15e77679b6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/LO.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/LO.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -424,7 +424,9 @@ return <<'END';
1FE0 1FE7
1FF2 1FF4
1FF6 1FF7
-2090 2094
+2071
+207F
+2090 209C
210A
210E 210F
2113
@@ -498,7 +500,10 @@ return <<'END';
2CE3 2CE4
2CEC
2CEE
+2CF3
2D00 2D25
+2D27
+2D2D
A641
A643
A645
@@ -582,12 +587,13 @@ A787
A78C
A78E
A791
+A793
A7A1
A7A3
A7A5
A7A7
A7A9
-A7FA
+A7F8 A7FA
FB00 FB06
FB13 FB17
FF41 FF5A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/SC.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/SC.pl
index 97b2eeafb6a..73cb302bf93 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/SC.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/SC.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/SE.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/SE.pl
index dcd0345e31f..48cb6ba3d76 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/SE.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/SE.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/ST.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/ST.pl
index b55b1ef57ea..e0da68b0ddd 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/ST.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/ST.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -45,6 +45,7 @@ A8CE A8CF
A92F
A9C8 A9C9
AA5D AA5F
+AAF0 AAF1
ABEB
FE56 FE57
FF01
@@ -53,4 +54,6 @@ FF61
10A56 10A57
11047 11048
110BE 110C1
+11141 11143
+111C5 111C6
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/Sp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/Sp.pl
index 6a0faca1b74..a4b5f8682df 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/Sp.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/Sp.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/UP.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/UP.pl
index e8ff791fa5a..cc3eecc97c8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/UP.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/UP.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -277,6 +277,8 @@ return <<'END';
0526
0531 0556
10A0 10C5
+10C7
+10CD
1E00
1E02
1E04
@@ -496,6 +498,7 @@ return <<'END';
2CE2
2CEB
2CED
+2CF2
A640
A642
A644
@@ -579,11 +582,13 @@ A786
A78B
A78D
A790
+A792
A7A0
A7A2
A7A4
A7A6
A7A8
+A7AA
FF21 FF3A
10400 10427
1D400 1D419
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SB/XX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SB/XX.pl
index 76562b2ae8a..3361343965f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SB/XX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SB/XX.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -55,7 +55,7 @@ return <<'END';
05C8 05CF
05EB 05EF
05F4 05FF
-0604 060B
+0605 060B
060E 060F
061B 061E
066A
@@ -69,7 +69,10 @@ return <<'END';
07F6 07F7
07FB 07FF
082E 083F
-085C 08FF
+085C 089F
+08A1
+08AD 08E3
+08FF
0970
0978
0980
@@ -216,7 +219,7 @@ return <<'END';
0EC7
0ECE 0ECF
0EDA 0EDB
-0EDE 0EFF
+0EE0 0EFF
0F01 0F17
0F1A 0F1F
0F2A 0F34
@@ -230,9 +233,10 @@ return <<'END';
0FC7 0FFF
104C 104F
109E 109F
-10C6 10CF
+10C6
+10C8 10CC
+10CE 10CF
10FB
-10FD 10FF
1249
124E 124F
1257
@@ -294,15 +298,13 @@ return <<'END';
1B5C 1B5D
1B60 1B6A
1B74 1B7F
-1BAB 1BAD
-1BBA 1BBF
1BF4 1BFF
1C38 1C3A
1C3D 1C3F
1C4A 1C4C
1C80 1CCF
1CD3
-1CF3 1CFF
+1CF7 1CFF
1DE7 1DFB
1F16 1F17
1F1E 1F1F
@@ -364,9 +366,11 @@ return <<'END';
2C2F
2C5F
2CE5 2CEA
-2CF2 2CFF
-2D26 2D2F
-2D66 2D6E
+2CF4 2CFF
+2D26
+2D28 2D2C
+2D2E 2D2F
+2D68 2D6E
2D70 2D7E
2D97 2D9F
2DA7
@@ -398,22 +402,22 @@ return <<'END';
31BB 31EF
3200 33FF
4DB6 4DFF
-9FCC 9FFF
+9FCD 9FFF
A48D A4CF
A4FE
A60D
A62C A63F
-A673 A67B
+A673
A67E
-A698 A69F
+A698 A69E
A6F2
A6F4 A6F6
A6F8 A716
A720 A721
A789 A78A
A78F
-A792 A79F
-A7AA A7F9
+A794 A79F
+A7AB A7F7
A828 A83F
A874 A875
A878 A87F
@@ -433,7 +437,8 @@ AA5A AA5C
AA77 AA79
AA7C AA7F
AAC3 AADA
-AADE AB00
+AADE AADF
+AAF7 AB00
AB07 AB08
AB0F AB10
AB17 AB1F
@@ -444,7 +449,6 @@ ABFA ABFF
D7A4 D7AF
D7C7 D7CA
D7FC F8FF
-FA2E FA2F
FA6E FA6F
FADA FAFF
FB07 FB12
@@ -515,7 +519,9 @@ FFFC FFFF
1083D 1083E
10856 108FF
10916 1091F
-1093A 109FF
+1093A 1097F
+109B8 109BD
+109C0 109FF
10A04
10A07 10A0B
10A14
@@ -532,11 +538,23 @@ FFFC FFFF
11049 11065
11070 1107F
110BB 110BC
-110C2 11FFF
+110C2 110CF
+110E9 110EF
+110FA 110FF
+11135
+11140
+11144 1117F
+111C7 111CF
+111DA 1167F
+116B8 116BF
+116CA 11FFF
1236F 123FF
12463 12FFF
1342F 167FF
-16A39 1AFFF
+16A39 16EFF
+16F45 16F4F
+16F7F 16F8E
+16FA0 1AFFF
1B002 1D164
1D16A 1D16C
1D183 1D184
@@ -573,7 +591,40 @@ FFFC FFFF
1D7A9
1D7C3
1D7CC 1D7CD
-1D800 1FFFF
+1D800 1EDFF
+1EE04
+1EE20
+1EE23
+1EE25 1EE26
+1EE28
+1EE33
+1EE38
+1EE3A
+1EE3C 1EE41
+1EE43 1EE46
+1EE48
+1EE4A
+1EE4C
+1EE50
+1EE53
+1EE55 1EE56
+1EE58
+1EE5A
+1EE5C
+1EE5E
+1EE60
+1EE63
+1EE65 1EE66
+1EE6B
+1EE73
+1EE78
+1EE7D
+1EE7F
+1EE8A
+1EE9C 1EEA0
+1EEA4
+1EEAA
+1EEBC 1FFFF
2A6D7 2A6FF
2B735 2B73F
2B81E 2F7FF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SD/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SD/N.pl
deleted file mode 100644
index 6f2c7f894b6..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SD/N.pl
+++ /dev/null
@@ -1,44 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0068
-006B 012E
-0130 0248
-024A 0267
-0269 029C
-029E 02B1
-02B3 03F2
-03F4 0455
-0457
-0459 1D61
-1D63 1D95
-1D97 1DA3
-1DA5 1DA7
-1DA9 1E2C
-1E2E 1ECA
-1ECC 2070
-2072 2147
-214A 2C7B
-2C7D 1D421
-1D424 1D455
-1D458 1D489
-1D48C 1D4BD
-1D4C0 1D4F1
-1D4F4 1D525
-1D528 1D559
-1D55C 1D58D
-1D590 1D5C1
-1D5C4 1D5F5
-1D5F8 1D629
-1D62C 1D65D
-1D660 1D691
-1D694 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/SD/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/SD/Y.pl
index 98877ab7b80..7a0d42f8708 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/SD/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/SD/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/STerm/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/STerm/N.pl
deleted file mode 100644
index c5fe748218e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/STerm/N.pl
+++ /dev/null
@@ -1,60 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0020
-0022 002D
-002F 003E
-0040 055B
-055D
-055F 0588
-058A 061E
-0620 06D3
-06D5 06FF
-0703 07F8
-07FA 0963
-0966 1049
-104C 1361
-1363 1366
-1369 166D
-166F 1734
-1737 1802
-1804 1808
-180A 1943
-1946 1AA7
-1AAC 1B59
-1B5C 1B5D
-1B60 1C3A
-1C3D 1C7D
-1C80 203B
-203E 2046
-204A 2E2D
-2E2F 3001
-3003 A4FE
-A500 A60D
-A610 A6F2
-A6F4 A6F6
-A6F8 A875
-A878 A8CD
-A8D0 A92E
-A930 A9C7
-A9CA AA5C
-AA60 ABEA
-ABEC FE51
-FE53 FE55
-FE58 FF00
-FF02 FF0D
-FF0F FF1E
-FF20 FF60
-FF62 10A55
-10A58 11046
-11049 110BD
-110C2 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/STerm/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/STerm/Y.pl
index 32c8c27fc4e..ada9185c150 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/STerm/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/STerm/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -46,6 +46,7 @@ A8CE A8CF
A92F
A9C8 A9C9
AA5D AA5F
+AAF0 AAF1
ABEB
FE52
FE56 FE57
@@ -56,4 +57,6 @@ FF61
10A56 10A57
11047 11048
110BE 110C1
+11141 11143
+111C5 111C6
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Arab.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Arab.pl
index 50e84af2db6..3e19d4ecf7e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Arab.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Arab.pl
@@ -1,15 +1,15 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
-0600 0603
+0600 0604
0606 060B
060D 061A
061E
@@ -20,6 +20,9 @@ return <<'END';
0671 06DC
06DE 06FF
0750 077F
+08A0
+08A2 08AC
+08E4 08FE
FB50 FBC1
FBD3 FD3D
FD50 FD8F
@@ -28,4 +31,38 @@ FDF0 FDFC
FE70 FE74
FE76 FEFC
10E60 10E7E
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
+1EEF0 1EEF1
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armi.pl
deleted file mode 100644
index 3d3367a03f0..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armi.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-10840 10855
-10857 1085F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armn.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armn.pl
index 874b6478312..301614d79ac 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armn.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Armn.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -13,5 +13,6 @@ return <<'END';
0559 055F
0561 0587
058A
+058F
FB13 FB17
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Avst.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Avst.pl
deleted file mode 100644
index ec503cb0773..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Avst.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-10B00 10B35
-10B39 10B3F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bali.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bali.pl
deleted file mode 100644
index 3b49b7dfe26..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bali.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1B00 1B4B
-1B50 1B7C
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bamu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bamu.pl
deleted file mode 100644
index 43132ae15b7..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bamu.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-A6A0 A6F7
-16800 16A38
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Batk.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Batk.pl
deleted file mode 100644
index 8382475832f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Batk.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1BC0 1BF3
-1BFC 1BFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Beng.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Beng.pl
index c27dfd8ec5f..c7904c5f34a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Beng.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Beng.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bopo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bopo.pl
index b1caebfe26e..6593c754c69 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bopo.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bopo.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Brah.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Brah.pl
deleted file mode 100644
index d580f6dc2c7..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Brah.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-11000 1104D
-11052 1106F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bugi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bugi.pl
deleted file mode 100644
index 07dfe01cac2..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Bugi.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1A00 1A1B
-1A1E 1A1F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Buhd.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Buhd.pl
index aeddcdf6a31..94df14d696f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Buhd.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Buhd.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cans.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cans.pl
deleted file mode 100644
index 8089dde8f72..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cans.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1400 167F
-18B0 18F5
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cari.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cari.pl
deleted file mode 100644
index 69ebb7b1b9e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cari.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-102A0 102D0
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cham.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cham.pl
deleted file mode 100644
index 1e7ae7cee25..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cham.pl
+++ /dev/null
@@ -1,16 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-AA00 AA36
-AA40 AA4D
-AA50 AA59
-AA5C AA5F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cher.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cher.pl
deleted file mode 100644
index 08e5fc48274..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cher.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-13A0 13F4
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Copt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Copt.pl
deleted file mode 100644
index 2a20caba516..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Copt.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-03E2 03EF
-2C80 2CF1
-2CF9 2CFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cprt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cprt.pl
index f75bb2c9e48..616f92bb774 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cprt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cprt.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cyrl.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cyrl.pl
deleted file mode 100644
index 6dd47d21966..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Cyrl.pl
+++ /dev/null
@@ -1,19 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0400 0484
-0487 0527
-1D2B
-1D78
-2DE0 2DFF
-A640 A673
-A67C A697
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Deva.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Deva.pl
index b1839afae15..9825c3349c7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Deva.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Deva.pl
@@ -1,18 +1,17 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
0900 0950
0953 0963
-0966 096F
-0971 0977
+0966 0977
0979 097F
A8E0 A8FB
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Egyp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Egyp.pl
deleted file mode 100644
index 8e105015a8a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Egyp.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-13000 1342E
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Geor.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Geor.pl
index d19835ce0f0..559121c9004 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Geor.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Geor.pl
@@ -1,16 +1,20 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
10A0 10C5
+10C7
+10CD
10D0 10FA
-10FC
+10FC 10FF
2D00 2D25
+2D27
+2D2D
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Glag.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Glag.pl
deleted file mode 100644
index 473b5611c97..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Glag.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2C00 2C2E
-2C30 2C5E
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Goth.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Goth.pl
deleted file mode 100644
index 93784795579..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Goth.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-10330 1034A
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Gujr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Gujr.pl
index ef119aa4401..584c8f4c468 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Gujr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Gujr.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -21,6 +21,5 @@ return <<'END';
0ACB 0ACD
0AD0
0AE0 0AE3
-0AE6 0AEF
-0AF1
+0AE6 0AF1
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Guru.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Guru.pl
index 5957901f51b..307accd1b8e 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Guru.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Guru.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Han.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Han.pl
index 48bf9c12421..e39507234f7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Han.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Han.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -17,9 +17,8 @@ return <<'END';
3021 3029
3038 303B
3400 4DB5
-4E00 9FCB
-F900 FA2D
-FA30 FA6D
+4E00 9FCC
+F900 FA6D
FA70 FAD9
20000 2A6D6
2A700 2B734
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hang.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hang.pl
index ad3d33d902a..78cdf582797 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hang.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hang.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hano.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hano.pl
index d19abed38b1..1af35e3cbaf 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hano.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hano.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hira.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hira.pl
index f284b14113a..26d513b94c3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hira.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hira.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ital.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ital.pl
deleted file mode 100644
index ce839fbd209..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ital.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-10300 1031E
-10320 10323
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Java.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Java.pl
deleted file mode 100644
index 6bf41ab5681..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Java.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-A980 A9CD
-A9CF A9D9
-A9DE A9DF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kana.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kana.pl
index 3263e6c9504..9c3daeca996 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kana.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kana.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khmr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khmr.pl
deleted file mode 100644
index f4105c2236e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khmr.pl
+++ /dev/null
@@ -1,16 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1780 17DD
-17E0 17E9
-17F0 17F9
-19E0 19FF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kthi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kthi.pl
index c90f19c8348..6910adfc801 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kthi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Kthi.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lana.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lana.pl
deleted file mode 100644
index c5109d89b7f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lana.pl
+++ /dev/null
@@ -1,17 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1A20 1A5E
-1A60 1A7C
-1A7F 1A89
-1A90 1A99
-1AA0 1AAD
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lepc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lepc.pl
deleted file mode 100644
index 10c4a9a53e0..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lepc.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1C00 1C37
-1C3B 1C49
-1C4D 1C4F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Limb.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Limb.pl
deleted file mode 100644
index 63bea8cfda2..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Limb.pl
+++ /dev/null
@@ -1,17 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1900 191C
-1920 192B
-1930 193B
-1940
-1944 194F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Linb.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Linb.pl
index b45fe43f8b3..668b58c453f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Linb.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Linb.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lyci.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lyci.pl
deleted file mode 100644
index a9d269d263e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lyci.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-10280 1029C
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lydi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lydi.pl
deleted file mode 100644
index c73e43a56f8..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lydi.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-10920 10939
-1093F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mand.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mand.pl
index 9460141921a..2bc459d06e3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mand.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mand.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mong.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mong.pl
index 6afbe593404..2dc095490f5 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mong.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mong.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mtei.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mtei.pl
deleted file mode 100644
index c9b089d1bee..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mtei.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-ABC0 ABED
-ABF0 ABF9
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mymr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mymr.pl
deleted file mode 100644
index f1b19e5f6d9..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mymr.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1000 109F
-AA60 AA7B
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Nko.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Nko.pl
deleted file mode 100644
index a52cf1a3cf3..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Nko.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-07C0 07FA
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ogam.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ogam.pl
deleted file mode 100644
index 739e20eae6a..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ogam.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1680 169C
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orkh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orkh.pl
deleted file mode 100644
index 6a2f4a2dacb..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orkh.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-10C00 10C48
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orya.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orya.pl
index a8ae5b73454..076e6fb64c7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orya.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Orya.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Osma.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Osma.pl
deleted file mode 100644
index abcb0b71056..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Osma.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-10480 1049D
-104A0 104A9
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phag.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phag.pl
index 2ec8a664cda..663977cae42 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phag.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phag.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phli.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phli.pl
deleted file mode 100644
index 1330e7c806c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phli.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-10B60 10B72
-10B78 10B7F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phnx.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phnx.pl
deleted file mode 100644
index 8ff2f6aff93..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Phnx.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-10900 1091B
-1091F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Prti.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Prti.pl
deleted file mode 100644
index 06ac99b1ffb..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Prti.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-10B40 10B55
-10B58 10B5F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Rjng.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Rjng.pl
deleted file mode 100644
index 8ba8e35143f..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Rjng.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-A930 A953
-A95F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Runr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Runr.pl
deleted file mode 100644
index 2c889f52307..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Runr.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-16A0 16EA
-16EE 16F0
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Samr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Samr.pl
deleted file mode 100644
index 6fae9754056..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Samr.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0800 082D
-0830 083E
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Saur.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Saur.pl
deleted file mode 100644
index e40163e827e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Saur.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-A880 A8C4
-A8CE A8D9
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sund.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sund.pl
deleted file mode 100644
index ecdae9618ea..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sund.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1B80 1BAA
-1BAE 1BB9
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sylo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sylo.pl
deleted file mode 100644
index 4982eedce7c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sylo.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-A800 A82B
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Syrc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Syrc.pl
index 3b1053fb161..6cd5acfe8a9 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Syrc.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Syrc.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tagb.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tagb.pl
index 681f3fd5c3d..252d4119599 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tagb.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tagb.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Takr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Takr.pl
new file mode 100644
index 00000000000..7fa1fe48ae6
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Takr.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+11680 116B7
+116C0 116C9
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tale.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tale.pl
deleted file mode 100644
index b490e521d04..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tale.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1950 196D
-1970 1974
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Talu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Talu.pl
deleted file mode 100644
index 94172b393cb..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Talu.pl
+++ /dev/null
@@ -1,16 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-1980 19AB
-19B0 19C9
-19D0 19DA
-19DE 19DF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tavt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tavt.pl
deleted file mode 100644
index 6be44c15f37..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tavt.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-AA80 AAC2
-AADB AADF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tfng.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tfng.pl
deleted file mode 100644
index 4565a9aa2de..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tfng.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-2D30 2D65
-2D6F 2D70
-2D7F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tglg.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tglg.pl
index 0538f525f91..a20f224d347 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tglg.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tglg.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thaa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thaa.pl
index f3273770a94..01bd0e79de3 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thaa.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thaa.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thai.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thai.pl
deleted file mode 100644
index c65289c5662..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Thai.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0E01 0E3A
-0E40 0E5B
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ugar.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ugar.pl
deleted file mode 100644
index 1091db9ad0e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ugar.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-10380 1039D
-1039F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Vai.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Vai.pl
deleted file mode 100644
index d741266a901..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Vai.pl
+++ /dev/null
@@ -1,13 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-A500 A62B
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xpeo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xpeo.pl
deleted file mode 100644
index 2cd2a46ee20..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xpeo.pl
+++ /dev/null
@@ -1,14 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-103A0 103C3
-103C8 103D5
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xsux.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xsux.pl
deleted file mode 100644
index 326a9e2308e..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Xsux.pl
+++ /dev/null
@@ -1,15 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-12000 1236E
-12400 12462
-12470 12473
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Yi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Yi.pl
index 834a35f0ca4..2050175f2bb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Yi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Yi.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zinh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zinh.pl
index ef49dd04b6f..c357c23f07c 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zinh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zinh.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -19,6 +19,7 @@ return <<'END';
1CD4 1CE0
1CE2 1CE8
1CED
+1CF4
1DC0 1DE6
1DFC 1DFF
200C 200D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zyyy.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zyyy.pl
index dba18efa7e7..ec58aac0e2d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zyyy.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zyyy.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -31,7 +31,6 @@ return <<'END';
0660 0669
06DD
0964 0965
-0970
0E3F
0FD5 0FD8
10FB
@@ -42,7 +41,8 @@ return <<'END';
1CD3
1CE1
1CE9 1CEC
-1CEE 1CF2
+1CEE 1CF3
+1CF5 1CF6
2000 200B
200E 2064
206A 2070
@@ -59,12 +59,10 @@ return <<'END';
2400 2426
2440 244A
2460 26FF
-2701 27CA
-27CC
-27CE 27FF
+2701 27FF
2900 2B4C
2B50 2B59
-2E00 2E31
+2E00 2E3B
2FF0 2FFB
3000 3004
3006
@@ -141,7 +139,7 @@ FFF9 FFFD
1F0D1 1F0DF
1F100 1F10A
1F110 1F12E
-1F130 1F169
+1F130 1F16B
1F170 1F19A
1F1E6 1F1FF
1F201 1F202
@@ -160,19 +158,9 @@ FFF9 FFFD
1F442 1F4F7
1F4F9 1F4FC
1F500 1F53D
+1F540 1F543
1F550 1F567
-1F5FB 1F5FF
-1F601 1F610
-1F612 1F614
-1F616
-1F618
-1F61A
-1F61C 1F61E
-1F620 1F625
-1F628 1F62B
-1F62D
-1F630 1F633
-1F635 1F640
+1F5FB 1F640
1F645 1F64F
1F680 1F6C5
1F700 1F773
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Arab.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Arab.pl
new file mode 100644
index 00000000000..ca8c938652b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Arab.pl
@@ -0,0 +1,63 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0600 0604
+0606 061B
+061E 065E
+0660 06DC
+06DE 06FF
+0750 077F
+08A0
+08A2 08AC
+08E4 08FE
+FB50 FBC1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFD
+FE70 FE74
+FE76 FEFC
+10E60 10E7E
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
+1EEF0 1EEF1
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Armi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Armi.pl
new file mode 100644
index 00000000000..8c2682af14c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Armi.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+10840 10855
+10857 1085F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Armn.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Armn.pl
new file mode 100644
index 00000000000..a0db38b5b66
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Armn.pl
@@ -0,0 +1,18 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0531 0556
+0559 055F
+0561 0587
+0589 058A
+058F
+FB13 FB17
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Avst.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Avst.pl
new file mode 100644
index 00000000000..b568f0dcce1
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Avst.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+10B00 10B35
+10B39 10B3F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bali.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bali.pl
new file mode 100644
index 00000000000..10fae5f9e37
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bali.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1B00 1B4B
+1B50 1B7C
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bamu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bamu.pl
new file mode 100644
index 00000000000..0fa743b613d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bamu.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+A6A0 A6F7
+16800 16A38
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Batk.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Batk.pl
new file mode 100644
index 00000000000..a897b6114ad
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Batk.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1BC0 1BF3
+1BFC 1BFF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Beng.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Beng.pl
new file mode 100644
index 00000000000..26f7c9fa702
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Beng.pl
@@ -0,0 +1,27 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0964 0965
+0981 0983
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
+09B2
+09B6 09B9
+09BC 09C4
+09C7 09C8
+09CB 09CE
+09D7
+09DC 09DD
+09DF 09E3
+09E6 09FB
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bopo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bopo.pl
new file mode 100644
index 00000000000..02589396d3c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bopo.pl
@@ -0,0 +1,32 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+02EA 02EB
+3001 3003
+3008 3011
+3013 301F
+302A 302D
+3030
+3037
+303E 303F
+30FB
+3105 312D
+31A0 31BA
+31C0 31E3
+3220 3243
+3280 32B0
+32C0 32CB
+3358 3370
+337B 337F
+33E0 33FE
+FE45 FE46
+FF61 FF65
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Brah.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Brah.pl
new file mode 100644
index 00000000000..7a964d1b204
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Brah.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+11000 1104D
+11052 1106F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Brai.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Brai.pl
new file mode 100644
index 00000000000..81dbbb2aacf
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Brai.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+2800 28FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bugi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bugi.pl
new file mode 100644
index 00000000000..1320c31898f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Bugi.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1A00 1A1B
+1A1E 1A1F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Buhd.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Buhd.pl
new file mode 100644
index 00000000000..13c0cec1e3f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Buhd.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1735 1736
+1740 1753
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cakm.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cakm.pl
new file mode 100644
index 00000000000..2a6e5d1011d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cakm.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+11100 11134
+11136 11143
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cans.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cans.pl
new file mode 100644
index 00000000000..942c008ecf7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cans.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1400 167F
+18B0 18F5
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cari.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cari.pl
new file mode 100644
index 00000000000..fe0bec2beae
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cari.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+102A0 102D0
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cham.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cham.pl
new file mode 100644
index 00000000000..c939e15834a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cham.pl
@@ -0,0 +1,16 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+AA00 AA36
+AA40 AA4D
+AA50 AA59
+AA5C AA5F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cher.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cher.pl
new file mode 100644
index 00000000000..6ca5fd3bf71
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cher.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+13A0 13F4
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Copt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Copt.pl
new file mode 100644
index 00000000000..5de3d935df8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Copt.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+03E2 03EF
+2C80 2CF3
+2CF9 2CFF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cprt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cprt.pl
new file mode 100644
index 00000000000..7aa2cee434d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cprt.pl
@@ -0,0 +1,21 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+10100 10102
+10107 10133
+10137 1013F
+10800 10805
+10808
+1080A 10835
+10837 10838
+1083C
+1083F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cyrl.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cyrl.pl
new file mode 100644
index 00000000000..e954e6f0913
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Cyrl.pl
@@ -0,0 +1,19 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0400 0484
+0487 0527
+1D2B
+1D78
+2DE0 2DFF
+A640 A697
+A69F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Deva.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Deva.pl
new file mode 100644
index 00000000000..fd87437a8dc
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Deva.pl
@@ -0,0 +1,17 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0900 0950
+0953 0977
+0979 097F
+A830 A839
+A8E0 A8FB
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Dsrt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Dsrt.pl
new file mode 100644
index 00000000000..cc68d833d9f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Dsrt.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+10400 1044F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Egyp.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Egyp.pl
new file mode 100644
index 00000000000..eb5e07b985c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Egyp.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+13000 1342E
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ethi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Ethi.pl
index ca1d9e75513..90817030b35 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Ethi.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Ethi.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Geor.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Geor.pl
new file mode 100644
index 00000000000..ecd1c6d9669
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Geor.pl
@@ -0,0 +1,21 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0589
+10A0 10C5
+10C7
+10CD
+10D0 10FA
+10FC 10FF
+2D00 2D25
+2D27
+2D2D
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Glag.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Glag.pl
new file mode 100644
index 00000000000..b19d57f96e3
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Glag.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+2C00 2C2E
+2C30 2C5E
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Goth.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Goth.pl
new file mode 100644
index 00000000000..8775e275890
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Goth.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+10330 1034A
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Grek.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Grek.pl
index 01e5d34334f..33b808a2111 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Grek.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Grek.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Gujr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Gujr.pl
new file mode 100644
index 00000000000..876d90f3d6b
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Gujr.pl
@@ -0,0 +1,26 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0A81 0A83
+0A85 0A8D
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABC 0AC5
+0AC7 0AC9
+0ACB 0ACD
+0AD0
+0AE0 0AE3
+0AE6 0AF1
+A830 A839
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Guru.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Guru.pl
new file mode 100644
index 00000000000..38503352fcb
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Guru.pl
@@ -0,0 +1,30 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0964 0965
+0A01 0A03
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A3C
+0A3E 0A42
+0A47 0A48
+0A4B 0A4D
+0A51
+0A59 0A5C
+0A5E
+0A66 0A75
+A830 A839
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Han.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Han.pl
new file mode 100644
index 00000000000..dad7498f528
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Han.pl
@@ -0,0 +1,40 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+3001 3003
+3005 3011
+3013 301F
+3021 302D
+3030
+3037 303F
+30FB
+3190 319F
+31C0 31E3
+3220 3243
+3280 32B0
+32C0 32CB
+3358 3370
+337B 337F
+33E0 33FE
+3400 4DB5
+4E00 9FCC
+F900 FA6D
+FA70 FAD9
+FE45 FE46
+FF61 FF65
+20000 2A6D6
+2A700 2B734
+2B740 2B81D
+2F800 2FA1D
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hang.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hang.pl
new file mode 100644
index 00000000000..da4f694285f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hang.pl
@@ -0,0 +1,41 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1100 11FF
+3001 3003
+3008 3011
+3013 301F
+302E 3030
+3037
+303E 303F
+30FB
+3131 318E
+31C0 31E3
+3200 321E
+3220 3243
+3260 327E
+3280 32B0
+32C0 32CB
+3358 3370
+337B 337F
+33E0 33FE
+A960 A97C
+AC00 D7A3
+D7B0 D7C6
+D7CB D7FB
+FE45 FE46
+FF61 FF65
+FFA0 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hano.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hano.pl
new file mode 100644
index 00000000000..bf79616bec0
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hano.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1720 1736
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hebr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hebr.pl
index 11215a53247..75e067964c6 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Hebr.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hebr.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hira.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hira.pl
new file mode 100644
index 00000000000..7361c8b38ac
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Hira.pl
@@ -0,0 +1,36 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+3001 3003
+3006
+3008 3011
+3013 301F
+3030 3035
+3037
+303C 303F
+3041 3096
+3099 30A0
+30FB 30FC
+3190 319F
+31C0 31E3
+3220 3243
+3280 32B0
+32C0 32CB
+3358 3370
+337B 337F
+33E0 33FE
+FE45 FE46
+FF61 FF65
+FF70
+FF9E FF9F
+1B001
+1F200
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Ital.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Ital.pl
new file mode 100644
index 00000000000..3c5ca9f76d2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Ital.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+10300 1031E
+10320 10323
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Java.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Java.pl
new file mode 100644
index 00000000000..b564efa909e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Java.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+A980 A9CD
+A9CF A9D9
+A9DE A9DF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kali.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kali.pl
new file mode 100644
index 00000000000..b31e0e5da2d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kali.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+A900 A92F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kana.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kana.pl
new file mode 100644
index 00000000000..2da16758c9a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kana.pl
@@ -0,0 +1,34 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+3001 3003
+3006
+3008 3011
+3013 301F
+3030 3035
+3037
+303C 303F
+3099 309C
+30A0 30FF
+3190 319F
+31C0 31E3
+31F0 31FF
+3220 3243
+3280 32B0
+32C0 32CB
+32D0 32FE
+3300 3370
+337B 337F
+33E0 33FE
+FE45 FE46
+FF61 FF9F
+1B000
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khar.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Khar.pl
index 972d4ca528c..193550d501a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Khar.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Khar.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Khmr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Khmr.pl
new file mode 100644
index 00000000000..39034d5c968
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Khmr.pl
@@ -0,0 +1,16 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1780 17DD
+17E0 17E9
+17F0 17F9
+19E0 19FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Knda.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Knda.pl
index f9a9264f3ad..b00c921a043 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Knda.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Knda.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kthi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kthi.pl
new file mode 100644
index 00000000000..5529eff97bd
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Kthi.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+A830 A839
+11080 110C1
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lana.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lana.pl
new file mode 100644
index 00000000000..b271ec2b621
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lana.pl
@@ -0,0 +1,17 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1A20 1A5E
+1A60 1A7C
+1A7F 1A89
+1A90 1A99
+1AA0 1AAD
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lao.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lao.pl
index 940ad529c5d..68498b98513 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Lao.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lao.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -26,5 +26,5 @@ return <<'END';
0EC6
0EC8 0ECD
0ED0 0ED9
-0EDC 0EDD
+0EDC 0EDF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Latn.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Latn.pl
index 16dcb0f297e..588de7a8d34 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Latn.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Latn.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -33,9 +33,9 @@ return <<'END';
2C60 2C7F
A722 A787
A78B A78E
-A790 A791
-A7A0 A7A9
-A7FA A7FF
+A790 A793
+A7A0 A7AA
+A7F8 A7FF
FB00 FB06
FF21 FF3A
FF41 FF5A
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lepc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lepc.pl
new file mode 100644
index 00000000000..af9a44316f2
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lepc.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1C00 1C37
+1C3B 1C49
+1C4D 1C4F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Limb.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Limb.pl
new file mode 100644
index 00000000000..1eba59ec4d8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Limb.pl
@@ -0,0 +1,17 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1900 191C
+1920 192B
+1930 193B
+1940
+1944 194F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Linb.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Linb.pl
new file mode 100644
index 00000000000..1e2c05ebe28
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Linb.pl
@@ -0,0 +1,22 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+10000 1000B
+1000D 10026
+10028 1003A
+1003C 1003D
+1003F 1004D
+10050 1005D
+10080 100FA
+10100 10102
+10107 10133
+10137 1013F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lisu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lisu.pl
new file mode 100644
index 00000000000..bfcca001ae1
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lisu.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+A4D0 A4FF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lyci.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lyci.pl
new file mode 100644
index 00000000000..a4b1ce9f966
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lyci.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+10280 1029C
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lydi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lydi.pl
new file mode 100644
index 00000000000..56a870ecd25
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Lydi.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+10920 10939
+1093F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mand.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mand.pl
new file mode 100644
index 00000000000..2c7c2eaeca0
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mand.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0640
+0840 085B
+085E
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Merc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Merc.pl
new file mode 100644
index 00000000000..f8c174b46cb
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Merc.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+109A0 109B7
+109BE 109BF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mero.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mero.pl
new file mode 100644
index 00000000000..0e7590b13f5
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mero.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+10980 1099F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Miao.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Miao.pl
new file mode 100644
index 00000000000..e3a20719864
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Miao.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+16F00 16F44
+16F50 16F7E
+16F8F 16F9F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mlym.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mlym.pl
index f94cbe280f4..d0e424934a7 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Mlym.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mlym.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mong.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mong.pl
new file mode 100644
index 00000000000..8e554bd40c8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mong.pl
@@ -0,0 +1,16 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1800 180E
+1810 1819
+1820 1877
+1880 18AA
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mtei.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mtei.pl
new file mode 100644
index 00000000000..8823368dd7f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mtei.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+AAE0 AAF6
+ABC0 ABED
+ABF0 ABF9
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mymr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mymr.pl
new file mode 100644
index 00000000000..44f23a612d8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Mymr.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1000 109F
+AA60 AA7B
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Nko.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Nko.pl
new file mode 100644
index 00000000000..210e1395490
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Nko.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+07C0 07FA
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Ogam.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Ogam.pl
new file mode 100644
index 00000000000..88c88c85d3a
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Ogam.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1680 169C
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Olck.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Olck.pl
new file mode 100644
index 00000000000..3ac15a776c8
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Olck.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1C50 1C7F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Orkh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Orkh.pl
new file mode 100644
index 00000000000..eab9acbdc01
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Orkh.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+10C00 10C48
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Orya.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Orya.pl
new file mode 100644
index 00000000000..a8e087c326d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Orya.pl
@@ -0,0 +1,27 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0964 0965
+0B01 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B35 0B39
+0B3C 0B44
+0B47 0B48
+0B4B 0B4D
+0B56 0B57
+0B5C 0B5D
+0B5F 0B63
+0B66 0B77
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Osma.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Osma.pl
new file mode 100644
index 00000000000..de5cd6cefca
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Osma.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+10480 1049D
+104A0 104A9
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Phag.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Phag.pl
new file mode 100644
index 00000000000..b88edae08d1
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Phag.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1802 1803
+1805
+A840 A877
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Phli.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Phli.pl
new file mode 100644
index 00000000000..d14737baa91
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Phli.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+10B60 10B72
+10B78 10B7F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Phnx.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Phnx.pl
new file mode 100644
index 00000000000..3267231a152
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Phnx.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+10900 1091B
+1091F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Prti.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Prti.pl
new file mode 100644
index 00000000000..90cb62a294c
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Prti.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+10B40 10B55
+10B58 10B5F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Rjng.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Rjng.pl
new file mode 100644
index 00000000000..ee356ab55e9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Rjng.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+A930 A953
+A95F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Runr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Runr.pl
new file mode 100644
index 00000000000..935b11059dc
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Runr.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+16A0 16EA
+16EE 16F0
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Samr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Samr.pl
new file mode 100644
index 00000000000..d5ad76601f7
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Samr.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0800 082D
+0830 083E
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sarb.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sarb.pl
new file mode 100644
index 00000000000..adde555a073
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sarb.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+10A60 10A7F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Saur.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Saur.pl
new file mode 100644
index 00000000000..a4158cf1b2e
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Saur.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+A880 A8C4
+A8CE A8D9
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Shaw.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Shaw.pl
new file mode 100644
index 00000000000..2f597f234a3
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Shaw.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+10450 1047F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Shrd.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Shrd.pl
new file mode 100644
index 00000000000..c68b986392d
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Shrd.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+11180 111C8
+111D0 111D9
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sinh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sinh.pl
index 85605e25b7c..6e54f492300 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Sinh.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sinh.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sora.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sora.pl
new file mode 100644
index 00000000000..f70d7a88504
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sora.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+110D0 110E8
+110F0 110F9
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sund.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sund.pl
new file mode 100644
index 00000000000..2339aeb3378
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sund.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1B80 1BBF
+1CC0 1CC7
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sylo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sylo.pl
new file mode 100644
index 00000000000..f1a58fbaede
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Sylo.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+A800 A82B
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Syrc.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Syrc.pl
new file mode 100644
index 00000000000..40cd118b103
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Syrc.pl
@@ -0,0 +1,21 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+060C
+061B
+061F
+0640
+064B 0655
+0670
+0700 070D
+070F 074A
+074D 074F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tagb.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tagb.pl
new file mode 100644
index 00000000000..d5dcda5c00f
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tagb.pl
@@ -0,0 +1,16 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1735 1736
+1760 176C
+176E 1770
+1772 1773
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Takr.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Takr.pl
new file mode 100644
index 00000000000..58e23082e94
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Takr.pl
@@ -0,0 +1,16 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0964 0965
+A830 A839
+11680 116B7
+116C0 116C9
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tale.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tale.pl
new file mode 100644
index 00000000000..8ca22e090bc
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tale.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1950 196D
+1970 1974
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Talu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Talu.pl
new file mode 100644
index 00000000000..07a47dad1d9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Talu.pl
@@ -0,0 +1,16 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1980 19AB
+19B0 19C9
+19D0 19DA
+19DE 19DF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Taml.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Taml.pl
index 739dda00c28..8590444266d 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Taml.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Taml.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tavt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tavt.pl
new file mode 100644
index 00000000000..226eb3908c9
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tavt.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+AA80 AAC2
+AADB AADF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Telu.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Telu.pl
index 1fd314e3782..e067fa4198a 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Telu.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Telu.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tfng.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tfng.pl
new file mode 100644
index 00000000000..490cef0b555
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tfng.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+2D30 2D67
+2D6F 2D70
+2D7F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tglg.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tglg.pl
new file mode 100644
index 00000000000..b2a1b1d5d13
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tglg.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+1700 170C
+170E 1714
+1735 1736
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Thaa.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Thaa.pl
new file mode 100644
index 00000000000..25b21d26754
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Thaa.pl
@@ -0,0 +1,19 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+060C
+061B
+061F
+0660 0669
+0780 07B1
+FDF2
+FDFD
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Thai.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Thai.pl
new file mode 100644
index 00000000000..d3690f0bdfe
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Thai.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0E01 0E3A
+0E40 0E5B
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tibt.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tibt.pl
index b1a84b48525..67acadc5e74 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Tibt.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Tibt.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Ugar.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Ugar.pl
new file mode 100644
index 00000000000..91d47620525
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Ugar.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+10380 1039D
+1039F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Vai.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Vai.pl
new file mode 100644
index 00000000000..66a533828b5
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Vai.pl
@@ -0,0 +1,13 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+A500 A62B
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Xpeo.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Xpeo.pl
new file mode 100644
index 00000000000..2c8fa19f5de
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Xpeo.pl
@@ -0,0 +1,14 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+103A0 103C3
+103C8 103D5
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Xsux.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Xsux.pl
new file mode 100644
index 00000000000..7f5beb01c27
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Xsux.pl
@@ -0,0 +1,15 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+12000 1236E
+12400 12462
+12470 12473
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Yi.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Yi.pl
new file mode 100644
index 00000000000..41eeec9a3c6
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Yi.pl
@@ -0,0 +1,19 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+3001 3002
+3008 3011
+3014 301B
+30FB
+A000 A48C
+A490 A4C6
+FF61 FF65
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zinh.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zinh.pl
new file mode 100644
index 00000000000..1cc88aae383
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zinh.pl
@@ -0,0 +1,33 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0300 036F
+0485 0486
+065F
+0951 0952
+1CD0 1CD2
+1CD4 1CE0
+1CE2 1CE8
+1CED
+1CF4
+1DC0 1DE6
+1DFC 1DFF
+200C 200D
+20D0 20F0
+FE00 FE0F
+FE20 FE26
+101FD
+1D167 1D169
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
+E0100 E01EF
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zyyy.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zyyy.pl
new file mode 100644
index 00000000000..0095416e140
--- /dev/null
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zyyy.pl
@@ -0,0 +1,152 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is machine-generated by mktables from the Unicode
+# database, Version 6.1.0. Any changes made here will be lost!
+
+# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
+
+
+return <<'END';
+0000 0040
+005B 0060
+007B 00A9
+00AB 00B9
+00BB 00BF
+00D7
+00F7
+02B9 02DF
+02E5 02E9
+02EC 02FF
+0374
+037E
+0385
+0387
+06DD
+0E3F
+0FD5 0FD8
+10FB
+16EB 16ED
+1CD3
+1CE1
+1CE9 1CEC
+1CEE 1CF3
+1CF5 1CF6
+2000 200B
+200E 2064
+206A 2070
+2074 207E
+2080 208E
+20A0 20B9
+2100 2125
+2127 2129
+212C 2131
+2133 214D
+214F 215F
+2189
+2190 23F3
+2400 2426
+2440 244A
+2460 26FF
+2701 27FF
+2900 2B4C
+2B50 2B59
+2E00 2E3B
+2FF0 2FFB
+3000
+3004
+3012
+3020
+3036
+3244 325F
+327F
+32B1 32BF
+32CC 32CF
+3371 337A
+3380 33DF
+33FF
+4DC0 4DFF
+A700 A721
+A788 A78A
+FD3E FD3F
+FE10 FE19
+FE30 FE44
+FE47 FE52
+FE54 FE66
+FE68 FE6B
+FEFF
+FF01 FF20
+FF3B FF40
+FF5B FF60
+FFE0 FFE6
+FFE8 FFEE
+FFF9 FFFD
+10190 1019B
+101D0 101FC
+1D000 1D0F5
+1D100 1D126
+1D129 1D166
+1D16A 1D17A
+1D183 1D184
+1D18C 1D1A9
+1D1AE 1D1DD
+1D300 1D356
+1D360 1D371
+1D400 1D454
+1D456 1D49C
+1D49E 1D49F
+1D4A2
+1D4A5 1D4A6
+1D4A9 1D4AC
+1D4AE 1D4B9
+1D4BB
+1D4BD 1D4C3
+1D4C5 1D505
+1D507 1D50A
+1D50D 1D514
+1D516 1D51C
+1D51E 1D539
+1D53B 1D53E
+1D540 1D544
+1D546
+1D54A 1D550
+1D552 1D6A5
+1D6A8 1D7CB
+1D7CE 1D7FF
+1F000 1F02B
+1F030 1F093
+1F0A0 1F0AE
+1F0B1 1F0BE
+1F0C1 1F0CF
+1F0D1 1F0DF
+1F100 1F10A
+1F110 1F12E
+1F130 1F16B
+1F170 1F19A
+1F1E6 1F1FF
+1F201 1F202
+1F210 1F23A
+1F240 1F248
+1F250 1F251
+1F300 1F320
+1F330 1F335
+1F337 1F37C
+1F380 1F393
+1F3A0 1F3C4
+1F3C6 1F3CA
+1F3E0 1F3F0
+1F400 1F43E
+1F440
+1F442 1F4F7
+1F4F9 1F4FC
+1F500 1F53D
+1F540 1F543
+1F550 1F567
+1F5FB 1F640
+1F645 1F64F
+1F680 1F6C5
+1F700 1F773
+E0001
+E0020 E007F
+END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zzzz.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zzzz.pl
index 5d49103c858..3146b4c6c88 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Sc/Zzzz.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Scx/Zzzz.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -18,11 +18,12 @@ return <<'END';
0557 0558
0560
0588
-058B 0590
+058B 058E
+0590
05C8 05CF
05EB 05EF
05F5 05FF
-0604 0605
+0605
061C 061D
070E
074B 074C
@@ -31,7 +32,10 @@ return <<'END';
082E 082F
083F
085C 085D
-085F 08FF
+085F 089F
+08A1
+08AD 08E3
+08FF
0978
0980
0984
@@ -76,7 +80,6 @@ return <<'END';
0ACE 0ACF
0AD1 0ADF
0AE4 0AE5
-0AF0
0AF2 0B00
0B04
0B0D 0B0E
@@ -177,15 +180,16 @@ return <<'END';
0EC7
0ECE 0ECF
0EDA 0EDB
-0EDE 0EFF
+0EE0 0EFF
0F48
0F6D 0F70
0F98
0FBD
0FCD
0FDB 0FFF
-10C6 10CF
-10FD 10FF
+10C6
+10C8 10CC
+10CE 10CF
1249
124E 124F
1257
@@ -239,13 +243,12 @@ return <<'END';
1AAE 1AFF
1B4C 1B4F
1B7D 1B7F
-1BAB 1BAD
-1BBA 1BBF
1BF4 1BFB
1C38 1C3A
1C4A 1C4C
-1C80 1CCF
-1CF3 1CFF
+1C80 1CBF
+1CC8 1CCF
+1CF7 1CFF
1DE7 1DFB
1F16 1F17
1F1E 1F1F
@@ -274,15 +277,15 @@ return <<'END';
2427 243F
244B 245F
2700
-27CB
-27CD
2B4D 2B4F
2B5A 2BFF
2C2F
2C5F
-2CF2 2CF8
-2D26 2D2F
-2D66 2D6E
+2CF4 2CF8
+2D26
+2D28 2D2C
+2D2E 2D2F
+2D68 2D6E
2D71 2D7E
2D97 2D9F
2DA7
@@ -293,7 +296,7 @@ return <<'END';
2DCF
2DD7
2DDF
-2E32 2E7F
+2E3C 2E7F
2E9A
2EF4 2EFF
2FD6 2FEF
@@ -308,16 +311,15 @@ return <<'END';
321F
32FF
4DB6 4DBF
-9FCC 9FFF
+9FCD 9FFF
A48D A48F
A4C7 A4CF
A62C A63F
-A674 A67B
-A698 A69F
+A698 A69E
A6F8 A6FF
A78F
-A792 A79F
-A7AA A7F9
+A794 A79F
+A7AB A7F7
A82C A82F
A83A A83F
A878 A87F
@@ -334,7 +336,7 @@ AA4E AA4F
AA5A AA5B
AA7C AA7F
AAC3 AADA
-AAE0 AB00
+AAF7 AB00
AB07 AB08
AB0F AB10
AB17 AB1F
@@ -345,7 +347,6 @@ ABFA ABFF
D7A4 D7AF
D7C7 D7CA
D7FC F8FF
-FA2E FA2F
FA6E FA6F
FADA FAFF
FB07 FB12
@@ -407,7 +408,9 @@ FFFE FFFF
10860 108FF
1091C 1091E
1093A 1093E
-10940 109FF
+10940 1097F
+109B8 109BD
+109C0 109FF
10A04
10A07 10A0B
10A14
@@ -425,12 +428,23 @@ FFFE FFFF
10E7F 10FFF
1104E 11051
11070 1107F
-110C2 11FFF
+110C2 110CF
+110E9 110EF
+110FA 110FF
+11135
+11144 1117F
+111C9 111CF
+111DA 1167F
+116B8 116BF
+116CA 11FFF
1236F 123FF
12463 1246F
12474 12FFF
1342F 167FF
-16A39 1AFFF
+16A39 16EFF
+16F45 16F4F
+16F7F 16F8E
+16FA0 1AFFF
1B002 1CFFF
1D0F6 1D0FF
1D127 1D128
@@ -458,7 +472,41 @@ FFFE FFFF
1D551
1D6A6 1D6A7
1D7CC 1D7CD
-1D800 1EFFF
+1D800 1EDFF
+1EE04
+1EE20
+1EE23
+1EE25 1EE26
+1EE28
+1EE33
+1EE38
+1EE3A
+1EE3C 1EE41
+1EE43 1EE46
+1EE48
+1EE4A
+1EE4C
+1EE50
+1EE53
+1EE55 1EE56
+1EE58
+1EE5A
+1EE5C
+1EE5E
+1EE60
+1EE63
+1EE65 1EE66
+1EE6B
+1EE73
+1EE78
+1EE7D
+1EE7F
+1EE8A
+1EE9C 1EEA0
+1EEA4
+1EEAA
+1EEBC 1EEEF
+1EEF2 1EFFF
1F02C 1F02F
1F094 1F09F
1F0AF 1F0B0
@@ -467,7 +515,7 @@ FFFE FFFF
1F0E0 1F0FF
1F10B 1F10F
1F12F
-1F16A 1F16F
+1F16C 1F16F
1F19B 1F1E5
1F203 1F20F
1F23B 1F23F
@@ -484,19 +532,9 @@ FFFE FFFF
1F441
1F4F8
1F4FD 1F4FF
-1F53E 1F54F
+1F53E 1F53F
+1F544 1F54F
1F568 1F5FA
-1F600
-1F611
-1F615
-1F617
-1F619
-1F61B
-1F61F
-1F626 1F627
-1F62C
-1F62E 1F62F
-1F634
1F641 1F644
1F650 1F67F
1F6C6 1F6FF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Space/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Space/N.pl
deleted file mode 100644
index 8c3aac7909d..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Space/N.pl
+++ /dev/null
@@ -1,24 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0008
-000E 001F
-0021 0084
-0086 009F
-00A1 167F
-1681 180D
-180F 1FFF
-200B 2027
-202A 202E
-2030 205E
-2060 2FFF
-3001 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Space/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Space/Y.pl
index b60ee9c4622..cdba2e59228 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Space/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Space/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Term/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Term/N.pl
deleted file mode 100644
index f0612cfb26c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Term/N.pl
+++ /dev/null
@@ -1,80 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0020
-0022 002B
-002D
-002F 0039
-003C 003E
-0040 037D
-037F 0386
-0388 0588
-058A 05C2
-05C4 060B
-060D 061A
-061C 061E
-0620 06D3
-06D5 06FF
-070B
-070D 07F7
-07FA 082F
-083F 085D
-085F 0963
-0966 0E59
-0E5C 0F07
-0F09 0F0C
-0F13 1049
-104C 1360
-1369 166C
-166F 16EA
-16EE 17D3
-17D7 17D9
-17DB 1801
-1806 1807
-180A 1943
-1946 1AA7
-1AAC 1B59
-1B5C
-1B60 1C3A
-1C40 1C7D
-1C80 203B
-203E 2046
-204A 2E2D
-2E2F 3000
-3003 A4FD
-A500 A60C
-A610 A6F2
-A6F8 A875
-A878 A8CD
-A8D0 A92E
-A930 A9C6
-A9CA AA5C
-AA60 AADE
-AAE0 ABEA
-ABEC FE4F
-FE53
-FE58 FF00
-FF02 FF0B
-FF0D
-FF0F FF19
-FF1C FF1E
-FF20 FF60
-FF62 FF63
-FF65 1039E
-103A0 103CF
-103D1 10856
-10858 1091E
-10920 10B39
-10B40 11046
-1104E 110BD
-110C2 1246F
-12474 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Term/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Term/Y.pl
index 3559ee37f64..ef7d32b1fbb 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Term/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Term/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -58,6 +58,7 @@ A92F
A9C7 A9C9
AA5D AA5F
AADF
+AAF0 AAF1
ABEB
FE50 FE52
FE54 FE57
@@ -75,5 +76,7 @@ FF64
10B3A 10B3F
11047 1104D
110BE 110C1
+11141 11143
+111C5 111C6
12470 12473
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/N.pl
deleted file mode 100644
index 5e0bebbc6fb..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/N.pl
+++ /dev/null
@@ -1,25 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 33FF
-4DB6 4DFF
-9FCC FA0D
-FA10
-FA12
-FA15 FA1E
-FA20
-FA22
-FA25 FA26
-FA2A 1FFFF
-2A6D7 2A6FF
-2B735 2B73F
-2B81E 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/Y.pl
index 44c060a8bf2..5aa7b4e6636 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/UIdeo/Y.pl
@@ -1,16 +1,16 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
3400 4DB5
-4E00 9FCB
+4E00 9FCC
FA0E FA0F
FA11
FA13 FA14
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Upper/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Upper/N.pl
deleted file mode 100644
index d230e173036..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Upper/N.pl
+++ /dev/null
@@ -1,618 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0040
-005B 00BF
-00D7
-00DF 00FF
-0101
-0103
-0105
-0107
-0109
-010B
-010D
-010F
-0111
-0113
-0115
-0117
-0119
-011B
-011D
-011F
-0121
-0123
-0125
-0127
-0129
-012B
-012D
-012F
-0131
-0133
-0135
-0137 0138
-013A
-013C
-013E
-0140
-0142
-0144
-0146
-0148 0149
-014B
-014D
-014F
-0151
-0153
-0155
-0157
-0159
-015B
-015D
-015F
-0161
-0163
-0165
-0167
-0169
-016B
-016D
-016F
-0171
-0173
-0175
-0177
-017A
-017C
-017E 0180
-0183
-0185
-0188
-018C 018D
-0192
-0195
-0199 019B
-019E
-01A1
-01A3
-01A5
-01A8
-01AA 01AB
-01AD
-01B0
-01B4
-01B6
-01B9 01BB
-01BD 01C3
-01C5 01C6
-01C8 01C9
-01CB 01CC
-01CE
-01D0
-01D2
-01D4
-01D6
-01D8
-01DA
-01DC 01DD
-01DF
-01E1
-01E3
-01E5
-01E7
-01E9
-01EB
-01ED
-01EF 01F0
-01F2 01F3
-01F5
-01F9
-01FB
-01FD
-01FF
-0201
-0203
-0205
-0207
-0209
-020B
-020D
-020F
-0211
-0213
-0215
-0217
-0219
-021B
-021D
-021F
-0221
-0223
-0225
-0227
-0229
-022B
-022D
-022F
-0231
-0233 0239
-023C
-023F 0240
-0242
-0247
-0249
-024B
-024D
-024F 036F
-0371
-0373 0375
-0377 0385
-0387
-038B
-038D
-0390
-03A2
-03AC 03CE
-03D0 03D1
-03D5 03D7
-03D9
-03DB
-03DD
-03DF
-03E1
-03E3
-03E5
-03E7
-03E9
-03EB
-03ED
-03EF 03F3
-03F5 03F6
-03F8
-03FB 03FC
-0430 045F
-0461
-0463
-0465
-0467
-0469
-046B
-046D
-046F
-0471
-0473
-0475
-0477
-0479
-047B
-047D
-047F
-0481 0489
-048B
-048D
-048F
-0491
-0493
-0495
-0497
-0499
-049B
-049D
-049F
-04A1
-04A3
-04A5
-04A7
-04A9
-04AB
-04AD
-04AF
-04B1
-04B3
-04B5
-04B7
-04B9
-04BB
-04BD
-04BF
-04C2
-04C4
-04C6
-04C8
-04CA
-04CC
-04CE 04CF
-04D1
-04D3
-04D5
-04D7
-04D9
-04DB
-04DD
-04DF
-04E1
-04E3
-04E5
-04E7
-04E9
-04EB
-04ED
-04EF
-04F1
-04F3
-04F5
-04F7
-04F9
-04FB
-04FD
-04FF
-0501
-0503
-0505
-0507
-0509
-050B
-050D
-050F
-0511
-0513
-0515
-0517
-0519
-051B
-051D
-051F
-0521
-0523
-0525
-0527 0530
-0557 109F
-10C6 1DFF
-1E01
-1E03
-1E05
-1E07
-1E09
-1E0B
-1E0D
-1E0F
-1E11
-1E13
-1E15
-1E17
-1E19
-1E1B
-1E1D
-1E1F
-1E21
-1E23
-1E25
-1E27
-1E29
-1E2B
-1E2D
-1E2F
-1E31
-1E33
-1E35
-1E37
-1E39
-1E3B
-1E3D
-1E3F
-1E41
-1E43
-1E45
-1E47
-1E49
-1E4B
-1E4D
-1E4F
-1E51
-1E53
-1E55
-1E57
-1E59
-1E5B
-1E5D
-1E5F
-1E61
-1E63
-1E65
-1E67
-1E69
-1E6B
-1E6D
-1E6F
-1E71
-1E73
-1E75
-1E77
-1E79
-1E7B
-1E7D
-1E7F
-1E81
-1E83
-1E85
-1E87
-1E89
-1E8B
-1E8D
-1E8F
-1E91
-1E93
-1E95 1E9D
-1E9F
-1EA1
-1EA3
-1EA5
-1EA7
-1EA9
-1EAB
-1EAD
-1EAF
-1EB1
-1EB3
-1EB5
-1EB7
-1EB9
-1EBB
-1EBD
-1EBF
-1EC1
-1EC3
-1EC5
-1EC7
-1EC9
-1ECB
-1ECD
-1ECF
-1ED1
-1ED3
-1ED5
-1ED7
-1ED9
-1EDB
-1EDD
-1EDF
-1EE1
-1EE3
-1EE5
-1EE7
-1EE9
-1EEB
-1EED
-1EEF
-1EF1
-1EF3
-1EF5
-1EF7
-1EF9
-1EFB
-1EFD
-1EFF 1F07
-1F10 1F17
-1F1E 1F27
-1F30 1F37
-1F40 1F47
-1F4E 1F58
-1F5A
-1F5C
-1F5E
-1F60 1F67
-1F70 1FB7
-1FBC 1FC7
-1FCC 1FD7
-1FDC 1FE7
-1FED 1FF7
-1FFC 2101
-2103 2106
-2108 210A
-210E 210F
-2113 2114
-2116 2118
-211E 2123
-2125
-2127
-2129
-212E 212F
-2134 213D
-2140 2144
-2146 215F
-2170 2182
-2184 24B5
-24D0 2BFF
-2C2F 2C5F
-2C61
-2C65 2C66
-2C68
-2C6A
-2C6C
-2C71
-2C73 2C74
-2C76 2C7D
-2C81
-2C83
-2C85
-2C87
-2C89
-2C8B
-2C8D
-2C8F
-2C91
-2C93
-2C95
-2C97
-2C99
-2C9B
-2C9D
-2C9F
-2CA1
-2CA3
-2CA5
-2CA7
-2CA9
-2CAB
-2CAD
-2CAF
-2CB1
-2CB3
-2CB5
-2CB7
-2CB9
-2CBB
-2CBD
-2CBF
-2CC1
-2CC3
-2CC5
-2CC7
-2CC9
-2CCB
-2CCD
-2CCF
-2CD1
-2CD3
-2CD5
-2CD7
-2CD9
-2CDB
-2CDD
-2CDF
-2CE1
-2CE3 2CEA
-2CEC
-2CEE A63F
-A641
-A643
-A645
-A647
-A649
-A64B
-A64D
-A64F
-A651
-A653
-A655
-A657
-A659
-A65B
-A65D
-A65F
-A661
-A663
-A665
-A667
-A669
-A66B
-A66D A67F
-A681
-A683
-A685
-A687
-A689
-A68B
-A68D
-A68F
-A691
-A693
-A695
-A697 A721
-A723
-A725
-A727
-A729
-A72B
-A72D
-A72F A731
-A733
-A735
-A737
-A739
-A73B
-A73D
-A73F
-A741
-A743
-A745
-A747
-A749
-A74B
-A74D
-A74F
-A751
-A753
-A755
-A757
-A759
-A75B
-A75D
-A75F
-A761
-A763
-A765
-A767
-A769
-A76B
-A76D
-A76F A778
-A77A
-A77C
-A77F
-A781
-A783
-A785
-A787 A78A
-A78C
-A78E A78F
-A791 A79F
-A7A1
-A7A3
-A7A5
-A7A7
-A7A9 FF20
-FF3B 103FF
-10428 1D3FF
-1D41A 1D433
-1D44E 1D467
-1D482 1D49B
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4B6 1D4CF
-1D4EA 1D503
-1D506
-1D50B 1D50C
-1D515
-1D51D 1D537
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551 1D56B
-1D586 1D59F
-1D5BA 1D5D3
-1D5EE 1D607
-1D622 1D63B
-1D656 1D66F
-1D68A 1D6A7
-1D6C1 1D6E1
-1D6FB 1D71B
-1D735 1D755
-1D76F 1D78F
-1D7A9 1D7C9
-1D7CB 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/Upper/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/Upper/Y.pl
index 2e18b152261..74649a7eed8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/Upper/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/Upper/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -277,6 +277,8 @@ return <<'END';
0526
0531 0556
10A0 10C5
+10C7
+10CD
1E00
1E02
1E04
@@ -493,6 +495,7 @@ return <<'END';
2CE2
2CEB
2CED
+2CF2
A640
A642
A644
@@ -576,11 +579,13 @@ A786
A78B
A78D
A790
+A792
A7A0
A7A2
A7A4
A7A6
A7A8
+A7AA
FF21 FF3A
10400 10427
1D400 1D419
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/VS/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/VS/N.pl
deleted file mode 100644
index 8abedeec30c..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/VS/N.pl
+++ /dev/null
@@ -1,16 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 180A
-180E FDFF
-FE10 E00FF
-E01F0 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/VS/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/VS/Y.pl
index cda81011ee0..02c628b2656 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/VS/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/VS/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/EX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/EX.pl
deleted file mode 100644
index 57d3eb74ed5..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/EX.pl
+++ /dev/null
@@ -1,18 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-005F
-203F 2040
-2054
-FE33 FE34
-FE4D FE4F
-FF3F
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/FO.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/FO.pl
index c5aa07de870..5ae4a592ca8 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/FO.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/FO.pl
@@ -1,19 +1,18 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
00AD
-0600 0603
+0600 0604
06DD
070F
-17B4 17B5
200E 200F
202A 202E
2060 2064
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/KA.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/KA.pl
index aee3d532808..b65fa1907dc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/KA.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/KA.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/LE.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/LE.pl
index 7fc9d57910c..9dc027ce1c1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/LE.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/LE.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -56,6 +56,8 @@ return <<'END';
0824
0828
0840 0858
+08A0
+08A2 08AC
0904 0939
093D
0950
@@ -147,9 +149,10 @@ return <<'END';
0F49 0F6C
0F88 0F8C
10A0 10C5
+10C7
+10CD
10D0 10FA
-10FC
-1100 1248
+10FC 1248
124A 124D
1250 1256
1258
@@ -188,12 +191,13 @@ return <<'END';
1B45 1B4B
1B83 1BA0
1BAE 1BAF
-1BC0 1BE5
+1BBA 1BE5
1C00 1C23
1C4D 1C4F
1C5A 1C7D
1CE9 1CEC
1CEE 1CF1
+1CF5 1CF6
1D00 1DBF
1E00 1F15
1F18 1F1D
@@ -236,8 +240,11 @@ return <<'END';
2C30 2C5E
2C60 2CE4
2CEB 2CEE
+2CF2 2CF3
2D00 2D25
-2D30 2D65
+2D27
+2D2D
+2D30 2D67
2D6F
2D80 2D96
2DA0 2DA6
@@ -265,9 +272,9 @@ A6A0 A6EF
A717 A71F
A722 A788
A78B A78E
-A790 A791
-A7A0 A7A9
-A7FA A801
+A790 A793
+A7A0 A7AA
+A7F8 A801
A803 A805
A807 A80A
A80C A822
@@ -283,6 +290,8 @@ A9CF
AA00 AA28
AA40 AA42
AA44 AA4B
+AAE0 AAEA
+AAF2 AAF4
AB01 AB06
AB09 AB0E
AB11 AB16
@@ -340,6 +349,8 @@ FFDA FFDC
1083F 10855
10900 10915
10920 10939
+10980 109B7
+109BE 109BF
10A00
10A10 10A13
10A15 10A17
@@ -351,10 +362,18 @@ FFDA FFDC
10C00 10C48
11003 11037
11083 110AF
+110D0 110E8
+11103 11126
+11183 111B2
+111C1 111C4
+11680 116AA
12000 1236E
12400 12462
13000 1342E
16800 16A38
+16F00 16F44
+16F50
+16F93 16F9F
1D400 1D454
1D456 1D49C
1D49E 1D49F
@@ -385,4 +404,37 @@ FFDA FFDC
1D78A 1D7A8
1D7AA 1D7C2
1D7C4 1D7CB
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/MB.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/MB.pl
index 4b49fe736f6..eade085edfc 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/MB.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/MB.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/ML.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/ML.pl
index 4eb3441e7de..3a07df40e2f 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/ML.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/ML.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/MN.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/MN.pl
index 1625250ae08..cdc5b6343c0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/MN.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/MN.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/NL.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/NL.pl
index d2b487e1ede..f7c779858c1 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/NL.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/NL.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/NU.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/NU.pl
index 725769ea267..40a48018636 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/NU.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/NU.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -46,5 +46,9 @@ AA50 AA59
ABF0 ABF9
104A0 104A9
11066 1106F
+110F0 110F9
+11136 1113F
+111D0 111D9
+116C0 116C9
1D7CE 1D7FF
END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/WB/XX.pl b/Master/tlpkg/tlperl/lib/unicore/lib/WB/XX.pl
index b0a233284be..3c3fb69c470 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/WB/XX.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/WB/XX.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -51,7 +51,7 @@ return <<'END';
05C8 05CF
05EB 05EF
05F5 05FF
-0604 060B
+0605 060B
060E 060F
061B 061F
066A
@@ -67,7 +67,10 @@ return <<'END';
07F9
07FB 07FF
082E 083F
-085C 08FF
+085C 089F
+08A1
+08AD 08E3
+08FF
0964 0965
0970
0978
@@ -225,9 +228,10 @@ return <<'END';
1075 1081
108E
109E 109F
-10C6 10CF
+10C6
+10C8 10CC
+10CE 10CF
10FB
-10FD 10FF
1249
124E 124F
1257
@@ -282,14 +286,12 @@ return <<'END';
1B4C 1B4F
1B5A 1B6A
1B74 1B7F
-1BAB 1BAD
-1BBA 1BBF
1BF4 1BFF
1C38 1C3F
1C4A 1C4C
1C7E 1CCF
1CD3
-1CF3 1CFF
+1CF7 1CFF
1DE7 1DFB
1F16 1F17
1F1E 1F1F
@@ -341,9 +343,11 @@ return <<'END';
2C2F
2C5F
2CE5 2CEA
-2CF2 2CFF
-2D26 2D2F
-2D66 2D6E
+2CF4 2CFF
+2D26
+2D28 2D2C
+2D2E 2D2F
+2D68 2D6E
2D70 2D7E
2D97 2D9F
2DA7
@@ -373,15 +377,15 @@ A48D A4CF
A4FE A4FF
A60D A60F
A62C A63F
-A673 A67B
+A673
A67E
-A698 A69F
+A698 A69E
A6F2 A716
A720 A721
A789 A78A
A78F
-A792 A79F
-A7AA A7F9
+A794 A79F
+A7AB A7F7
A828 A83F
A874 A87F
A8C5 A8CF
@@ -401,7 +405,9 @@ AAB1
AAB5 AAB6
AAB9 AABD
AAC0
-AAC2 AB00
+AAC2 AADF
+AAF0 AAF1
+AAF7 AB00
AB07 AB08
AB0F AB10
AB17 AB1F
@@ -475,7 +481,9 @@ FFFC FFFF
1083D 1083E
10856 108FF
10916 1091F
-1093A 109FF
+1093A 1097F
+109B8 109BD
+109C0 109FF
10A04
10A07 10A0B
10A14
@@ -491,11 +499,22 @@ FFFC FFFF
11047 11065
11070 1107F
110BB 110BC
-110BE 11FFF
+110BE 110CF
+110E9 110EF
+110FA 110FF
+11135
+11140 1117F
+111C5 111CF
+111DA 1167F
+116B8 116BF
+116CA 11FFF
1236F 123FF
12463 12FFF
1342F 167FF
-16A39 1AFFF
+16A39 16EFF
+16F45 16F4F
+16F7F 16F8E
+16FA0 1AFFF
1B001 1D164
1D16A 1D16C
1D183 1D184
@@ -532,7 +551,40 @@ FFFC FFFF
1D7A9
1D7C3
1D7CC 1D7CD
-1D800 E0000
+1D800 1EDFF
+1EE04
+1EE20
+1EE23
+1EE25 1EE26
+1EE28
+1EE33
+1EE38
+1EE3A
+1EE3C 1EE41
+1EE43 1EE46
+1EE48
+1EE4A
+1EE4C
+1EE50
+1EE53
+1EE55 1EE56
+1EE58
+1EE5A
+1EE5C
+1EE5E
+1EE60
+1EE63
+1EE65 1EE66
+1EE6B
+1EE73
+1EE78
+1EE7D
+1EE7F
+1EE8A
+1EE9C 1EEA0
+1EEA4
+1EEAA
+1EEBC E0000
E0002 E001F
E0080 E00FF
E01F0 10FFFF
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/XIDC/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/XIDC/N.pl
deleted file mode 100644
index ce5bd817daa..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/XIDC/N.pl
+++ /dev/null
@@ -1,534 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 002F
-003A 0040
-005B 005E
-0060
-007B 00A9
-00AB 00B4
-00B6
-00B8 00B9
-00BB 00BF
-00D7
-00F7
-02C2 02C5
-02D2 02DF
-02E5 02EB
-02ED
-02EF 02FF
-0375
-0378 037A
-037E 0385
-038B
-038D
-03A2
-03F6
-0482
-0488 0489
-0528 0530
-0557 0558
-055A 0560
-0588 0590
-05BE
-05C0
-05C3
-05C6
-05C8 05CF
-05EB 05EF
-05F3 060F
-061B 061F
-066A 066D
-06D4
-06DD 06DE
-06E9
-06FD 06FE
-0700 070F
-074B 074C
-07B2 07BF
-07F6 07F9
-07FB 07FF
-082E 083F
-085C 08FF
-0964 0965
-0970
-0978
-0980
-0984
-098D 098E
-0991 0992
-09A9
-09B1
-09B3 09B5
-09BA 09BB
-09C5 09C6
-09C9 09CA
-09CF 09D6
-09D8 09DB
-09DE
-09E4 09E5
-09F2 0A00
-0A04
-0A0B 0A0E
-0A11 0A12
-0A29
-0A31
-0A34
-0A37
-0A3A 0A3B
-0A3D
-0A43 0A46
-0A49 0A4A
-0A4E 0A50
-0A52 0A58
-0A5D
-0A5F 0A65
-0A76 0A80
-0A84
-0A8E
-0A92
-0AA9
-0AB1
-0AB4
-0ABA 0ABB
-0AC6
-0ACA
-0ACE 0ACF
-0AD1 0ADF
-0AE4 0AE5
-0AF0 0B00
-0B04
-0B0D 0B0E
-0B11 0B12
-0B29
-0B31
-0B34
-0B3A 0B3B
-0B45 0B46
-0B49 0B4A
-0B4E 0B55
-0B58 0B5B
-0B5E
-0B64 0B65
-0B70
-0B72 0B81
-0B84
-0B8B 0B8D
-0B91
-0B96 0B98
-0B9B
-0B9D
-0BA0 0BA2
-0BA5 0BA7
-0BAB 0BAD
-0BBA 0BBD
-0BC3 0BC5
-0BC9
-0BCE 0BCF
-0BD1 0BD6
-0BD8 0BE5
-0BF0 0C00
-0C04
-0C0D
-0C11
-0C29
-0C34
-0C3A 0C3C
-0C45
-0C49
-0C4E 0C54
-0C57
-0C5A 0C5F
-0C64 0C65
-0C70 0C81
-0C84
-0C8D
-0C91
-0CA9
-0CB4
-0CBA 0CBB
-0CC5
-0CC9
-0CCE 0CD4
-0CD7 0CDD
-0CDF
-0CE4 0CE5
-0CF0
-0CF3 0D01
-0D04
-0D0D
-0D11
-0D3B 0D3C
-0D45
-0D49
-0D4F 0D56
-0D58 0D5F
-0D64 0D65
-0D70 0D79
-0D80 0D81
-0D84
-0D97 0D99
-0DB2
-0DBC
-0DBE 0DBF
-0DC7 0DC9
-0DCB 0DCE
-0DD5
-0DD7
-0DE0 0DF1
-0DF4 0E00
-0E3B 0E3F
-0E4F
-0E5A 0E80
-0E83
-0E85 0E86
-0E89
-0E8B 0E8C
-0E8E 0E93
-0E98
-0EA0
-0EA4
-0EA6
-0EA8 0EA9
-0EAC
-0EBA
-0EBE 0EBF
-0EC5
-0EC7
-0ECE 0ECF
-0EDA 0EDB
-0EDE 0EFF
-0F01 0F17
-0F1A 0F1F
-0F2A 0F34
-0F36
-0F38
-0F3A 0F3D
-0F48
-0F6D 0F70
-0F85
-0F98
-0FBD 0FC5
-0FC7 0FFF
-104A 104F
-109E 109F
-10C6 10CF
-10FB
-10FD 10FF
-1249
-124E 124F
-1257
-1259
-125E 125F
-1289
-128E 128F
-12B1
-12B6 12B7
-12BF
-12C1
-12C6 12C7
-12D7
-1311
-1316 1317
-135B 135C
-1360 1368
-1372 137F
-1390 139F
-13F5 1400
-166D 166E
-1680
-169B 169F
-16EB 16ED
-16F1 16FF
-170D
-1715 171F
-1735 173F
-1754 175F
-176D
-1771
-1774 177F
-17B4 17B5
-17D4 17D6
-17D8 17DB
-17DE 17DF
-17EA 180A
-180E 180F
-181A 181F
-1878 187F
-18AB 18AF
-18F6 18FF
-191D 191F
-192C 192F
-193C 1945
-196E 196F
-1975 197F
-19AC 19AF
-19CA 19CF
-19DB 19FF
-1A1C 1A1F
-1A5F
-1A7D 1A7E
-1A8A 1A8F
-1A9A 1AA6
-1AA8 1AFF
-1B4C 1B4F
-1B5A 1B6A
-1B74 1B7F
-1BAB 1BAD
-1BBA 1BBF
-1BF4 1BFF
-1C38 1C3F
-1C4A 1C4C
-1C7E 1CCF
-1CD3
-1CF3 1CFF
-1DE7 1DFB
-1F16 1F17
-1F1E 1F1F
-1F46 1F47
-1F4E 1F4F
-1F58
-1F5A
-1F5C
-1F5E
-1F7E 1F7F
-1FB5
-1FBD
-1FBF 1FC1
-1FC5
-1FCD 1FCF
-1FD4 1FD5
-1FDC 1FDF
-1FED 1FF1
-1FF5
-1FFD 203E
-2041 2053
-2055 2070
-2072 207E
-2080 208F
-209D 20CF
-20DD 20E0
-20E2 20E4
-20F1 2101
-2103 2106
-2108 2109
-2114
-2116 2117
-211E 2123
-2125
-2127
-2129
-213A 213B
-2140 2144
-214A 214D
-214F 215F
-2189 2BFF
-2C2F
-2C5F
-2CE5 2CEA
-2CF2 2CFF
-2D26 2D2F
-2D66 2D6E
-2D70 2D7E
-2D97 2D9F
-2DA7
-2DAF
-2DB7
-2DBF
-2DC7
-2DCF
-2DD7
-2DDF
-2E00 3004
-3008 3020
-3030
-3036 3037
-303D 3040
-3097 3098
-309B 309C
-30A0
-30FB
-3100 3104
-312E 3130
-318F 319F
-31BB 31EF
-3200 33FF
-4DB6 4DFF
-9FCC 9FFF
-A48D A4CF
-A4FE A4FF
-A60D A60F
-A62C A63F
-A670 A67B
-A67E
-A698 A69F
-A6F2 A716
-A720 A721
-A789 A78A
-A78F
-A792 A79F
-A7AA A7F9
-A828 A83F
-A874 A87F
-A8C5 A8CF
-A8DA A8DF
-A8F8 A8FA
-A8FC A8FF
-A92E A92F
-A954 A95F
-A97D A97F
-A9C1 A9CE
-A9DA A9FF
-AA37 AA3F
-AA4E AA4F
-AA5A AA5F
-AA77 AA79
-AA7C AA7F
-AAC3 AADA
-AADE AB00
-AB07 AB08
-AB0F AB10
-AB17 AB1F
-AB27
-AB2F ABBF
-ABEB
-ABEE ABEF
-ABFA ABFF
-D7A4 D7AF
-D7C7 D7CA
-D7FC F8FF
-FA2E FA2F
-FA6E FA6F
-FADA FAFF
-FB07 FB12
-FB18 FB1C
-FB29
-FB37
-FB3D
-FB3F
-FB42
-FB45
-FBB2 FBD2
-FC5E FC63
-FD3E FD4F
-FD90 FD91
-FDC8 FDEF
-FDFA FDFF
-FE10 FE1F
-FE27 FE32
-FE35 FE4C
-FE50 FE70
-FE72
-FE74 FE76
-FE78
-FE7A
-FE7C
-FE7E
-FEFD FF0F
-FF1A FF20
-FF3B FF3E
-FF40
-FF5B FF65
-FFBF FFC1
-FFC8 FFC9
-FFD0 FFD1
-FFD8 FFD9
-FFDD FFFF
-1000C
-10027
-1003B
-1003E
-1004E 1004F
-1005E 1007F
-100FB 1013F
-10175 101FC
-101FE 1027F
-1029D 1029F
-102D1 102FF
-1031F 1032F
-1034B 1037F
-1039E 1039F
-103C4 103C7
-103D0
-103D6 103FF
-1049E 1049F
-104AA 107FF
-10806 10807
-10809
-10836
-10839 1083B
-1083D 1083E
-10856 108FF
-10916 1091F
-1093A 109FF
-10A04
-10A07 10A0B
-10A14
-10A18
-10A34 10A37
-10A3B 10A3E
-10A40 10A5F
-10A7D 10AFF
-10B36 10B3F
-10B56 10B5F
-10B73 10BFF
-10C49 10FFF
-11047 11065
-11070 1107F
-110BB 11FFF
-1236F 123FF
-12463 12FFF
-1342F 167FF
-16A39 1AFFF
-1B002 1D164
-1D16A 1D16C
-1D173 1D17A
-1D183 1D184
-1D18C 1D1A9
-1D1AE 1D241
-1D245 1D3FF
-1D455
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4BA
-1D4BC
-1D4C4
-1D506
-1D50B 1D50C
-1D515
-1D51D
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551
-1D6A6 1D6A7
-1D6C1
-1D6DB
-1D6FB
-1D715
-1D735
-1D74F
-1D76F
-1D789
-1D7A9
-1D7C3
-1D7CC 1D7CD
-1D800 1FFFF
-2A6D7 2A6FF
-2B735 2B73F
-2B81E 2F7FF
-2FA1E E00FF
-E01F0 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/XIDC/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/XIDC/Y.pl
index b70b46d150c..f9b4a3fe249 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/XIDC/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/XIDC/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -57,6 +57,9 @@ return <<'END';
07FA
0800 082D
0840 085B
+08A0
+08A2 08AC
+08E4 08FE
0900 0963
0966 096F
0971 0977
@@ -204,7 +207,7 @@ return <<'END';
0EC6
0EC8 0ECD
0ED0 0ED9
-0EDC 0EDD
+0EDC 0EDF
0F00
0F18 0F19
0F20 0F29
@@ -220,9 +223,10 @@ return <<'END';
1000 1049
1050 109D
10A0 10C5
+10C7
+10CD
10D0 10FA
-10FC
-1100 1248
+10FC 1248
124A 124D
1250 1256
1258
@@ -254,8 +258,7 @@ return <<'END';
1760 176C
176E 1770
1772 1773
-1780 17B3
-17B6 17D3
+1780 17D3
17D7
17DC 17DD
17E0 17E9
@@ -281,14 +284,12 @@ return <<'END';
1B00 1B4B
1B50 1B59
1B6B 1B73
-1B80 1BAA
-1BAE 1BB9
-1BC0 1BF3
+1B80 1BF3
1C00 1C37
1C40 1C49
1C4D 1C7D
1CD0 1CD2
-1CD4 1CF2
+1CD4 1CF6
1D00 1DE6
1DFC 1F15
1F18 1F1D
@@ -333,9 +334,11 @@ return <<'END';
2C00 2C2E
2C30 2C5E
2C60 2CE4
-2CEB 2CF1
+2CEB 2CF3
2D00 2D25
-2D30 2D65
+2D27
+2D2D
+2D30 2D67
2D6F
2D7F 2D96
2DA0 2DA6
@@ -361,21 +364,21 @@ return <<'END';
31A0 31BA
31F0 31FF
3400 4DB5
-4E00 9FCB
+4E00 9FCC
A000 A48C
A4D0 A4FD
A500 A60C
A610 A62B
A640 A66F
-A67C A67D
+A674 A67D
A67F A697
-A6A0 A6F1
+A69F A6F1
A717 A71F
A722 A788
A78B A78E
-A790 A791
-A7A0 A7A9
-A7FA A827
+A790 A793
+A7A0 A7AA
+A7F8 A827
A840 A873
A880 A8C4
A8D0 A8D9
@@ -393,6 +396,8 @@ AA60 AA76
AA7A AA7B
AA80 AAC2
AADB AADD
+AAE0 AAEF
+AAF2 AAF6
AB01 AB06
AB09 AB0E
AB11 AB16
@@ -404,8 +409,7 @@ ABF0 ABF9
AC00 D7A3
D7B0 D7C6
D7CB D7FB
-F900 FA2D
-FA30 FA6D
+F900 FA6D
FA70 FAD9
FB00 FB06
FB13 FB17
@@ -468,6 +472,8 @@ FFDA FFDC
1083F 10855
10900 10915
10920 10939
+10980 109B7
+109BE 109BF
10A00 10A03
10A05 10A06
10A0C 10A13
@@ -483,10 +489,21 @@ FFDA FFDC
11000 11046
11066 1106F
11080 110BA
+110D0 110E8
+110F0 110F9
+11100 11134
+11136 1113F
+11180 111C4
+111D0 111D9
+11680 116B7
+116C0 116C9
12000 1236E
12400 12462
13000 1342E
16800 16A38
+16F00 16F44
+16F50 16F7E
+16F8F 16F9F
1B000 1B001
1D165 1D169
1D16D 1D172
@@ -525,6 +542,39 @@ FFDA FFDC
1D7AA 1D7C2
1D7C4 1D7CB
1D7CE 1D7FF
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
20000 2A6D6
2A700 2B734
2B740 2B81D
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/XIDS/N.pl b/Master/tlpkg/tlperl/lib/unicore/lib/XIDS/N.pl
deleted file mode 100644
index 1e17a82d3dd..00000000000
--- a/Master/tlpkg/tlperl/lib/unicore/lib/XIDS/N.pl
+++ /dev/null
@@ -1,457 +0,0 @@
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
-
-# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
-
-
-return <<'END';
-0000 0040
-005B 0060
-007B 00A9
-00AB 00B4
-00B6 00B9
-00BB 00BF
-00D7
-00F7
-02C2 02C5
-02D2 02DF
-02E5 02EB
-02ED
-02EF 036F
-0375
-0378 037A
-037E 0385
-0387
-038B
-038D
-03A2
-03F6
-0482 0489
-0528 0530
-0557 0558
-055A 0560
-0588 05CF
-05EB 05EF
-05F3 061F
-064B 066D
-0670
-06D4
-06D6 06E4
-06E7 06ED
-06F0 06F9
-06FD 06FE
-0700 070F
-0711
-0730 074C
-07A6 07B0
-07B2 07C9
-07EB 07F3
-07F6 07F9
-07FB 07FF
-0816 0819
-081B 0823
-0825 0827
-0829 083F
-0859 0903
-093A 093C
-093E 094F
-0951 0957
-0962 0970
-0978
-0980 0984
-098D 098E
-0991 0992
-09A9
-09B1
-09B3 09B5
-09BA 09BC
-09BE 09CD
-09CF 09DB
-09DE
-09E2 09EF
-09F2 0A04
-0A0B 0A0E
-0A11 0A12
-0A29
-0A31
-0A34
-0A37
-0A3A 0A58
-0A5D
-0A5F 0A71
-0A75 0A84
-0A8E
-0A92
-0AA9
-0AB1
-0AB4
-0ABA 0ABC
-0ABE 0ACF
-0AD1 0ADF
-0AE2 0B04
-0B0D 0B0E
-0B11 0B12
-0B29
-0B31
-0B34
-0B3A 0B3C
-0B3E 0B5B
-0B5E
-0B62 0B70
-0B72 0B82
-0B84
-0B8B 0B8D
-0B91
-0B96 0B98
-0B9B
-0B9D
-0BA0 0BA2
-0BA5 0BA7
-0BAB 0BAD
-0BBA 0BCF
-0BD1 0C04
-0C0D
-0C11
-0C29
-0C34
-0C3A 0C3C
-0C3E 0C57
-0C5A 0C5F
-0C62 0C84
-0C8D
-0C91
-0CA9
-0CB4
-0CBA 0CBC
-0CBE 0CDD
-0CDF
-0CE2 0CF0
-0CF3 0D04
-0D0D
-0D11
-0D3B 0D3C
-0D3E 0D4D
-0D4F 0D5F
-0D62 0D79
-0D80 0D84
-0D97 0D99
-0DB2
-0DBC
-0DBE 0DBF
-0DC7 0E00
-0E31
-0E33 0E3F
-0E47 0E80
-0E83
-0E85 0E86
-0E89
-0E8B 0E8C
-0E8E 0E93
-0E98
-0EA0
-0EA4
-0EA6
-0EA8 0EA9
-0EAC
-0EB1
-0EB3 0EBC
-0EBE 0EBF
-0EC5
-0EC7 0EDB
-0EDE 0EFF
-0F01 0F3F
-0F48
-0F6D 0F87
-0F8D 0FFF
-102B 103E
-1040 104F
-1056 1059
-105E 1060
-1062 1064
-1067 106D
-1071 1074
-1082 108D
-108F 109F
-10C6 10CF
-10FB
-10FD 10FF
-1249
-124E 124F
-1257
-1259
-125E 125F
-1289
-128E 128F
-12B1
-12B6 12B7
-12BF
-12C1
-12C6 12C7
-12D7
-1311
-1316 1317
-135B 137F
-1390 139F
-13F5 1400
-166D 166E
-1680
-169B 169F
-16EB 16ED
-16F1 16FF
-170D
-1712 171F
-1732 173F
-1752 175F
-176D
-1771 177F
-17B4 17D6
-17D8 17DB
-17DD 181F
-1878 187F
-18A9
-18AB 18AF
-18F6 18FF
-191D 194F
-196E 196F
-1975 197F
-19AC 19C0
-19C8 19FF
-1A17 1A1F
-1A55 1AA6
-1AA8 1B04
-1B34 1B44
-1B4C 1B82
-1BA1 1BAD
-1BB0 1BBF
-1BE6 1BFF
-1C24 1C4C
-1C50 1C59
-1C7E 1CE8
-1CED
-1CF2 1CFF
-1DC0 1DFF
-1F16 1F17
-1F1E 1F1F
-1F46 1F47
-1F4E 1F4F
-1F58
-1F5A
-1F5C
-1F5E
-1F7E 1F7F
-1FB5
-1FBD
-1FBF 1FC1
-1FC5
-1FCD 1FCF
-1FD4 1FD5
-1FDC 1FDF
-1FED 1FF1
-1FF5
-1FFD 2070
-2072 207E
-2080 208F
-209D 2101
-2103 2106
-2108 2109
-2114
-2116 2117
-211E 2123
-2125
-2127
-2129
-213A 213B
-2140 2144
-214A 214D
-214F 215F
-2189 2BFF
-2C2F
-2C5F
-2CE5 2CEA
-2CEF 2CFF
-2D26 2D2F
-2D66 2D6E
-2D70 2D7F
-2D97 2D9F
-2DA7
-2DAF
-2DB7
-2DBF
-2DC7
-2DCF
-2DD7
-2DDF 3004
-3008 3020
-302A 3030
-3036 3037
-303D 3040
-3097 309C
-30A0
-30FB
-3100 3104
-312E 3130
-318F 319F
-31BB 31EF
-3200 33FF
-4DB6 4DFF
-9FCC 9FFF
-A48D A4CF
-A4FE A4FF
-A60D A60F
-A620 A629
-A62C A63F
-A66F A67E
-A698 A69F
-A6F0 A716
-A720 A721
-A789 A78A
-A78F
-A792 A79F
-A7AA A7F9
-A802
-A806
-A80B
-A823 A83F
-A874 A881
-A8B4 A8F1
-A8F8 A8FA
-A8FC A909
-A926 A92F
-A947 A95F
-A97D A983
-A9B3 A9CE
-A9D0 A9FF
-AA29 AA3F
-AA43
-AA4C AA5F
-AA77 AA79
-AA7B AA7F
-AAB0
-AAB2 AAB4
-AAB7 AAB8
-AABE AABF
-AAC1
-AAC3 AADA
-AADE AB00
-AB07 AB08
-AB0F AB10
-AB17 AB1F
-AB27
-AB2F ABBF
-ABE3 ABFF
-D7A4 D7AF
-D7C7 D7CA
-D7FC F8FF
-FA2E FA2F
-FA6E FA6F
-FADA FAFF
-FB07 FB12
-FB18 FB1C
-FB1E
-FB29
-FB37
-FB3D
-FB3F
-FB42
-FB45
-FBB2 FBD2
-FC5E FC63
-FD3E FD4F
-FD90 FD91
-FDC8 FDEF
-FDFA FE70
-FE72
-FE74 FE76
-FE78
-FE7A
-FE7C
-FE7E
-FEFD FF20
-FF3B FF40
-FF5B FF65
-FF9E FF9F
-FFBF FFC1
-FFC8 FFC9
-FFD0 FFD1
-FFD8 FFD9
-FFDD FFFF
-1000C
-10027
-1003B
-1003E
-1004E 1004F
-1005E 1007F
-100FB 1013F
-10175 1027F
-1029D 1029F
-102D1 102FF
-1031F 1032F
-1034B 1037F
-1039E 1039F
-103C4 103C7
-103D0
-103D6 103FF
-1049E 107FF
-10806 10807
-10809
-10836
-10839 1083B
-1083D 1083E
-10856 108FF
-10916 1091F
-1093A 109FF
-10A01 10A0F
-10A14
-10A18
-10A34 10A5F
-10A7D 10AFF
-10B36 10B3F
-10B56 10B5F
-10B73 10BFF
-10C49 11002
-11038 11082
-110B0 11FFF
-1236F 123FF
-12463 12FFF
-1342F 167FF
-16A39 1AFFF
-1B002 1D3FF
-1D455
-1D49D
-1D4A0 1D4A1
-1D4A3 1D4A4
-1D4A7 1D4A8
-1D4AD
-1D4BA
-1D4BC
-1D4C4
-1D506
-1D50B 1D50C
-1D515
-1D51D
-1D53A
-1D53F
-1D545
-1D547 1D549
-1D551
-1D6A6 1D6A7
-1D6C1
-1D6DB
-1D6FB
-1D715
-1D735
-1D74F
-1D76F
-1D789
-1D7A9
-1D7C3
-1D7CC 1FFFF
-2A6D7 2A6FF
-2B735 2B73F
-2B81E 2F7FF
-2FA1E 10FFFF
-END
diff --git a/Master/tlpkg/tlperl/lib/unicore/lib/XIDS/Y.pl b/Master/tlpkg/tlperl/lib/unicore/lib/XIDS/Y.pl
index cb0a1ab7903..77feff34256 100644
--- a/Master/tlpkg/tlperl/lib/unicore/lib/XIDS/Y.pl
+++ b/Master/tlpkg/tlperl/lib/unicore/lib/XIDS/Y.pl
@@ -1,11 +1,11 @@
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is machine-generated by mktables from the Unicode
-# database, Version 6.0.0. Any changes made here will be lost!
+# database, Version 6.1.0. Any changes made here will be lost!
# !!!!!!! INTERNAL PERL USE ONLY !!!!!!!
-# This file is for internal use by the Perl program only. The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only. The format and even the
+# name or existence of this file are subject to change without notice. Don't
+# use it directly.
return <<'END';
@@ -56,6 +56,8 @@ return <<'END';
0824
0828
0840 0858
+08A0
+08A2 08AC
0904 0939
093D
0950
@@ -161,7 +163,7 @@ return <<'END';
0EBD
0EC0 0EC4
0EC6
-0EDC 0EDD
+0EDC 0EDF
0F00
0F40 0F47
0F49 0F6C
@@ -176,9 +178,10 @@ return <<'END';
1075 1081
108E
10A0 10C5
+10C7
+10CD
10D0 10FA
-10FC
-1100 1248
+10FC 1248
124A 124D
1250 1256
1258
@@ -226,12 +229,13 @@ return <<'END';
1B45 1B4B
1B83 1BA0
1BAE 1BAF
-1BC0 1BE5
+1BBA 1BE5
1C00 1C23
1C4D 1C4F
1C5A 1C7D
1CE9 1CEC
1CEE 1CF1
+1CF5 1CF6
1D00 1DBF
1E00 1F15
1F18 1F1D
@@ -272,8 +276,11 @@ return <<'END';
2C30 2C5E
2C60 2CE4
2CEB 2CEE
+2CF2 2CF3
2D00 2D25
-2D30 2D65
+2D27
+2D2D
+2D30 2D67
2D6F
2D80 2D96
2DA0 2DA6
@@ -297,7 +304,7 @@ return <<'END';
31A0 31BA
31F0 31FF
3400 4DB5
-4E00 9FCB
+4E00 9FCC
A000 A48C
A4D0 A4FD
A500 A60C
@@ -309,9 +316,9 @@ A6A0 A6EF
A717 A71F
A722 A788
A78B A78E
-A790 A791
-A7A0 A7A9
-A7FA A801
+A790 A793
+A7A0 A7AA
+A7F8 A801
A803 A805
A807 A80A
A80C A822
@@ -336,6 +343,8 @@ AAB9 AABD
AAC0
AAC2
AADB AADD
+AAE0 AAEA
+AAF2 AAF4
AB01 AB06
AB09 AB0E
AB11 AB16
@@ -345,8 +354,7 @@ ABC0 ABE2
AC00 D7A3
D7B0 D7C6
D7CB D7FB
-F900 FA2D
-FA30 FA6D
+F900 FA6D
FA70 FAD9
FB00 FB06
FB13 FB17
@@ -403,6 +411,8 @@ FFDA FFDC
1083F 10855
10900 10915
10920 10939
+10980 109B7
+109BE 109BF
10A00
10A10 10A13
10A15 10A17
@@ -414,10 +424,18 @@ FFDA FFDC
10C00 10C48
11003 11037
11083 110AF
+110D0 110E8
+11103 11126
+11183 111B2
+111C1 111C4
+11680 116AA
12000 1236E
12400 12462
13000 1342E
16800 16A38
+16F00 16F44
+16F50
+16F93 16F9F
1B000 1B001
1D400 1D454
1D456 1D49C
@@ -449,6 +467,39 @@ FFDA FFDC
1D78A 1D7A8
1D7AA 1D7C2
1D7C4 1D7CB
+1EE00 1EE03
+1EE05 1EE1F
+1EE21 1EE22
+1EE24
+1EE27
+1EE29 1EE32
+1EE34 1EE37
+1EE39
+1EE3B
+1EE42
+1EE47
+1EE49
+1EE4B
+1EE4D 1EE4F
+1EE51 1EE52
+1EE54
+1EE57
+1EE59
+1EE5B
+1EE5D
+1EE5F
+1EE61 1EE62
+1EE64
+1EE67 1EE6A
+1EE6C 1EE72
+1EE74 1EE77
+1EE79 1EE7C
+1EE7E
+1EE80 1EE89
+1EE8B 1EE9B
+1EEA1 1EEA3
+1EEA5 1EEA9
+1EEAB 1EEBB
20000 2A6D6
2A700 2B734
2B740 2B81D
diff --git a/Master/tlpkg/tlperl/lib/unicore/version b/Master/tlpkg/tlperl/lib/unicore/version
index 09b254e90c6..dfda3e0b4f0 100644
--- a/Master/tlpkg/tlperl/lib/unicore/version
+++ b/Master/tlpkg/tlperl/lib/unicore/version
@@ -1 +1 @@
-6.0.0
+6.1.0
diff --git a/Master/tlpkg/tlperl/lib/utf8_heavy.pl b/Master/tlpkg/tlperl/lib/utf8_heavy.pl
index 94c132d0995..23e06f9a9ac 100644
--- a/Master/tlpkg/tlperl/lib/utf8_heavy.pl
+++ b/Master/tlpkg/tlperl/lib/utf8_heavy.pl
@@ -3,6 +3,7 @@ use strict;
use warnings;
sub DEBUG () { 0 }
+$|=1 if DEBUG;
sub DESTROY {}
@@ -10,6 +11,20 @@ my %Cache;
sub croak { require Carp; Carp::croak(@_) }
+sub _loose_name ($) {
+ # Given a lowercase property or property-value name, return its
+ # standardized version that is expected for look-up in the 'loose' hashes
+ # in Heavy.pl (hence, this depends on what mktables does). This squeezes
+ # out blanks, underscores and dashes. The complication stems from the
+ # grandfathered-in 'L_', which retains a single trailing underscore.
+
+ my $loose = $_[0] =~ s/[-\s_]//rg;
+
+ return $loose if $loose !~ / ^ (?: is | to )? l $/x;
+ return 'l_' if $_[0] =~ / l .* _ /x; # If original had a trailing '_'
+ return $loose;
+}
+
##
## "SWASH" == "SWATCH HASH". A "swatch" is a swatch of the Unicode landscape.
## It's a data structure that encodes a set of Unicode characters.
@@ -29,6 +44,7 @@ sub croak { require Carp; Carp::croak(@_) }
sub SWASHNEW {
my ($class, $type, $list, $minbits, $none) = @_;
+ my $user_defined = 0;
local $^D = 0 if $^D;
$class = "" unless defined $class;
@@ -45,6 +61,8 @@ sub croak { require Carp; Carp::croak(@_) }
## regexec.c:regclass_swash -- for /[]/, \p, and \P
## utf8.c:is_utf8_common -- for common Unicode properties
## utf8.c:to_utf8_case -- for lc, uc, ucfirst, etc. and //i
+ ## Unicode::UCD::prop_invlist
+ ## Unicode::UCD::prop_invmap
##
## Given a $type, our goal is to fill $list with the set of codepoint
## ranges. If $type is false, $list passed is used.
@@ -63,25 +81,34 @@ sub croak { require Carp; Carp::croak(@_) }
## $none is undocumented, so I'm (khw) trying to do some documentation
## of it now. It appears to be if there is a mapping in an input file
## that maps to 'XXXX', then that is replaced by $none+1, expressed in
- ## hexadecimal. The only place I found it possibly used was in
- ## S_pmtrans in op.c.
+ ## hexadecimal. It is used somehow in tr///.
##
## To make the parsing of $type clear, this code takes the a rather
## unorthodox approach of last'ing out of the block once we have the
## info we need. Were this to be a subroutine, the 'last' would just
## be a 'return'.
##
+ # If a problem is found $type is returned;
+ # Upon success, a new (or cached) blessed object is returned with
+ # keys TYPE, BITS, EXTRAS, LIST, and NONE with values having the
+ # same meanings as the input parameters.
+ # SPECIALS contains a reference to any special-treatment hash in the
+ # INVERT_IT is non-zero if the result should be inverted before use
+ # USER_DEFINED is non-zero if the result came from a user-defined
+ # property.
my $file; ## file to load data from, and also part of the %Cache key.
- my $ListSorted = 0;
# Change this to get a different set of Unicode tables
my $unicore_dir = 'unicore';
+ my $invert_it = 0;
+ my $list_is_from_mktables = 0; # Is $list returned from a mktables
+ # generated file? If so, we know it's
+ # well behaved.
if ($type)
{
-
# Verify that this isn't a recursive call for this property.
- # Can't use croak, as it may try to recurse here itself.
+ # Can't use croak, as it may try to recurse to here itself.
my $class_type = $class . "::$type";
if (grep { $_ eq $class_type } @recursed) {
CORE::die "panic: Infinite recursion in SWASHNEW for '$type'\n";
@@ -93,7 +120,7 @@ sub croak { require Carp; Carp::croak(@_) }
# regcomp.c surrounds the property name with '__" and '_i' if this
# is to be caseless matching.
- my $caseless = $type =~ s/^__(.*)_i$/$1/;
+ my $caseless = $type =~ s/^(.*)__(.*)_i$/$1$2/;
print STDERR __LINE__, ": type=$type, caseless=$caseless\n" if DEBUG;
@@ -104,7 +131,10 @@ sub croak { require Carp; Carp::croak(@_) }
## package if no package given
##
- my $caller1 = $type =~ s/(.+)::// ? $1 : caller(1);
+
+ my $caller0 = caller(0);
+ my $caller1 = $type =~ s/(.+)::// ? $1 : $caller0 eq 'main' ?
+ 'main' : caller(1);
if (defined $caller1 && $type =~ /^I[ns]\w+$/) {
my $prop = "${caller1}::$type";
@@ -122,6 +152,7 @@ sub croak { require Carp; Carp::croak(@_) }
if $tainted;
no strict 'refs';
$list = &{$prop}($caseless);
+ $user_defined = 1;
last GETFILE;
}
}
@@ -170,9 +201,10 @@ sub croak { require Carp; Carp::croak(@_) }
print STDERR __LINE__, ": $property\n" if DEBUG;
# Here it is the compound property=table form. The property
- # name is always loosely matched, which means remove any of
- # these:
- $property =~ s/[_\s-]//g;
+ # name is always loosely matched, and always can have an
+ # optional 'is' prefix (which isn't true in the single
+ # form).
+ $property = _loose_name($property) =~ s/^is//r;
# And convert to canonical form. Quit if not valid.
$property = $utf8::loose_property_name_of{$property};
@@ -364,7 +396,7 @@ sub croak { require Carp; Carp::croak(@_) }
# out the applicable characters on the rhs and looking up
# again.
if (! defined $file) {
- $table =~ s/ [_\s-] //xg;
+ $table = _loose_name($table);
$property_and_table = "$prefix$table";
print STDERR __LINE__, ": $property_and_table\n" if DEBUG;
$file = $utf8::loose_to_file_of{$property_and_table};
@@ -372,6 +404,11 @@ sub croak { require Carp; Carp::croak(@_) }
# Add the constant and go fetch it in.
if (defined $file) {
+
+ # A beginning ! means to invert. The 0+ makes sure is
+ # numeric
+ $invert_it = 0 + $file =~ s/^!//;
+
if ($utf8::why_deprecated{$file}) {
warnings::warnif('deprecated', "Use of '$type' in \\p{} or \\P{} is deprecated because: $utf8::why_deprecated{$file};");
}
@@ -387,34 +424,67 @@ sub croak { require Carp; Carp::croak(@_) }
print STDERR __LINE__, ": didn't find $property_and_table\n" if DEBUG;
##
- ## See if it's a user-level "To".
- ##
-
- my $caller0 = caller(0);
-
- if (defined $caller0 && $type =~ /^To(?:\w+)$/) {
- my $map = $caller0 . "::" . $type;
-
- if (exists &{$map}) {
- no strict 'refs';
-
- $list = &{$map};
- warnings::warnif('deprecated', "User-defined case-mapping '$type' is deprecated");
- last GETFILE;
- }
- }
-
- ##
## Last attempt -- see if it's a standard "To" name
## (e.g. "ToLower") ToTitle is used by ucfirst().
## The user-level way to access ToDigit() and ToFold()
## is to use Unicode::UCD.
##
- if ($type =~ /^To(Digit|Fold|Lower|Title|Upper)$/) {
- $file = "$unicore_dir/To/$1.pl";
- ## would like to test to see if $file actually exists....
- last GETFILE;
- }
+ # Only check if caller wants non-binary
+ my $retried = 0;
+ if ($minbits != 1 && $property_and_table =~ s/^to//) {{
+ # Look input up in list of properties for which we have
+ # mapping files.
+ if (defined ($file =
+ $utf8::loose_property_to_file_of{$property_and_table}))
+ {
+ $type = $utf8::file_to_swash_name{$file};
+ print STDERR __LINE__, ": type set to $type\n" if DEBUG;
+ $file = "$unicore_dir/$file.pl";
+ last GETFILE;
+ } # If that fails see if there is a corresponding binary
+ # property file
+ elsif (defined ($file =
+ $utf8::loose_to_file_of{$property_and_table}))
+ {
+
+ # Here, there is no map file for the property we are
+ # trying to get the map of, but this is a binary
+ # property, and there is a file for it that can easily
+ # be translated to a mapping.
+
+ # In the case of properties that are forced to binary,
+ # they are a combination. We return the actual
+ # mapping instead of the binary. If the input is
+ # something like 'Tocjkkiicore', it will be found in
+ # %loose_property_to_file_of above as => 'To/kIICore'.
+ # But the form like ToIskiicore won't be. To fix
+ # this, it was easiest to do it here. These
+ # properties are the complements of the default
+ # property, so there is an entry in %loose_to_file_of
+ # that is 'iskiicore' => '!kIICore/N', If we find such
+ # an entry, strip off things and try again, which
+ # should find the entry in %loose_property_to_file_of.
+ # Actual binary properties that are of this form, such
+ # as this entry: 'ishrkt' => '!Perl/Any' will also be
+ # retried, but won't be in %loose_property_to_file_of,
+ # and instead the next time through, it will find
+ # 'hrkt' => '!Perl/Any' and proceed.
+ redo if ! $retried
+ && $file =~ /^!/
+ && $property_and_table =~ s/^is//;
+
+ # This is a binary property. Setting this here causes
+ # it to be stored as such in the cache, so if someone
+ # comes along later looking for just a binary, they
+ # get it.
+ $minbits = 1;
+
+ # The 0+ makes sure is numeric
+ $invert_it = 0 + $file =~ s/^!//;
+ $file = "$unicore_dir/lib/$file.pl";
+ last GETFILE;
+ }
+ } }
##
## If we reach this line, it's because we couldn't figure
@@ -423,7 +493,7 @@ sub croak { require Carp; Carp::croak(@_) }
pop @recursed if @recursed;
return $type;
- }
+ } # end of GETFILE block
if (defined $file) {
print STDERR __LINE__, ": found it (file='$file')\n" if DEBUG;
@@ -433,11 +503,12 @@ sub croak { require Carp; Carp::croak(@_) }
## (exception: user-defined properties and mappings), so we
## have a filename, so now we load it if we haven't already.
## If we have, return the cached results. The cache key is the
- ## class and file to load.
+ ## class and file to load, and whether the results need to be
+ ## inverted.
##
- my $found = $Cache{$class, $file};
+ my $found = $Cache{$class, $file, $invert_it};
if ($found and ref($found) eq $class) {
- print STDERR __LINE__, ": Returning cached '$file' for \\p{$type}\n" if DEBUG;
+ print STDERR __LINE__, ": Returning cached swash for '$class,$file,$invert_it' for \\p{$type}\n" if DEBUG;
pop @recursed if @recursed;
return $found;
}
@@ -445,25 +516,59 @@ sub croak { require Carp; Carp::croak(@_) }
local $@;
local $!;
$list = do $file; die $@ if $@;
+ $list_is_from_mktables = 1;
}
+ } # End of $type is non-null
- $ListSorted = 1; ## we know that these lists are sorted
- }
+ # Here, either $type was null, or we found the requested property and
+ # read it into $list
+
+ my $extras = "";
- my $extras;
my $bits = $minbits;
- if ($list) {
+ # mktables lists don't have extras, like '&utf8::prop', so don't need
+ # to separate them; also lists are already sorted, so don't need to do
+ # that.
+ if ($list && ! $list_is_from_mktables) {
my $taint = substr($list,0,0); # maintain taint
- my @tmp = split(/^/m, $list);
- my %seen;
- no warnings;
- $extras = join '', $taint, grep /^[^0-9a-fA-F]/, @tmp;
- $list = join '', $taint,
- map { $_->[1] }
- sort { $a->[0] <=> $b->[0] }
- map { /^([0-9a-fA-F]+)/; [ CORE::hex($1), $_ ] }
- grep { /^([0-9a-fA-F]+)/ and not $seen{$1}++ } @tmp; # XXX doesn't do ranges right
+
+ # Separate the extras from the code point list, and make sure
+ # user-defined properties and tr/// are well-behaved for
+ # downstream code.
+ if ($user_defined || $none) {
+ my @tmp = split(/^/m, $list);
+ my %seen;
+ no warnings;
+
+ # The extras are anything that doesn't begin with a hex digit.
+ $extras = join '', $taint, grep /^[^0-9a-fA-F]/, @tmp;
+
+ # Remove the extras, and sort the remaining entries by the
+ # numeric value of their beginning hex digits, removing any
+ # duplicates.
+ $list = join '', $taint,
+ map { $_->[1] }
+ sort { $a->[0] <=> $b->[0] }
+ map { /^([0-9a-fA-F]+)/; [ CORE::hex($1), $_ ] }
+ grep { /^([0-9a-fA-F]+)/ and not $seen{$1}++ } @tmp; # XXX doesn't do ranges right
+ }
+ else {
+ # mktables has gone to some trouble to make non-user defined
+ # properties well-behaved, so we can skip the effort we do for
+ # user-defined ones. Any extras are at the very beginning of
+ # the string.
+
+ # This regex splits out the first lines of $list into $1 and
+ # strips them off from $list, until we get one that begins
+ # with a hex number, alone on the line, or followed by a tab.
+ # Either portion may be empty.
+ $list =~ s/ \A ( .*? )
+ (?: \z | (?= ^ [0-9a-fA-F]+ (?: \t | $) ) )
+ //msx;
+
+ $extras = "$taint$1";
+ }
}
if ($none) {
@@ -508,19 +613,22 @@ sub croak { require Carp; Carp::croak(@_) }
elsif ($c =~ /^([0-9a-fA-F]+)/) {
$subobj = utf8->SWASHNEW("", $c, $minbits, 0);
}
+ print STDERR __LINE__, ": returned from getting sub object for $name\n" if DEBUG;
if (! ref $subobj) {
pop @recursed if @recursed && $type;
return $subobj;
}
push @extras, $name => $subobj;
$bits = $subobj->{BITS} if $bits < $subobj->{BITS};
+ $user_defined = $subobj->{USER_DEFINED}
+ if $subobj->{USER_DEFINED};
}
}
}
}
if (DEBUG) {
- print STDERR __LINE__, ": CLASS = $class, TYPE => $type, BITS => $bits, NONE => $none";
+ print STDERR __LINE__, ": CLASS = $class, TYPE => $type, BITS => $bits, NONE => $none, INVERT_IT => $invert_it, USER_DEFINED => $user_defined";
print STDERR "\nLIST =>\n$list" if defined $list;
print STDERR "\nEXTRAS =>\n$extras" if defined $extras;
print STDERR "\n";
@@ -532,11 +640,22 @@ sub croak { require Carp; Carp::croak(@_) }
EXTRAS => $extras,
LIST => $list,
NONE => $none,
+ USER_DEFINED => $user_defined,
@extras,
} => $class;
if ($file) {
- $Cache{$class, $file} = $SWASH;
+ $Cache{$class, $file, $invert_it} = $SWASH;
+ if ($type
+ && exists $utf8::SwashInfo{$type}
+ && exists $utf8::SwashInfo{$type}{'specials_name'})
+ {
+ my $specials_name = $utf8::SwashInfo{$type}{'specials_name'};
+ no strict "refs";
+ print STDERR "\nspecials_name => $specials_name\n" if DEBUG;
+ $SWASH->{'SPECIALS'} = \%$specials_name;
+ }
+ $SWASH->{'INVERT_IT'} = $invert_it;
}
pop @recursed if @recursed && $type;
@@ -545,6 +664,6 @@ sub croak { require Carp; Carp::croak(@_) }
}
}
-# Now SWASHGET is recasted into a C function S_swash_get (see utf8.c).
+# Now SWASHGET is recasted into a C function S_swatch_get (see utf8.c).
1;
diff --git a/Master/tlpkg/tlperl/lib/validate.pl b/Master/tlpkg/tlperl/lib/validate.pl
deleted file mode 100644
index fc2d16a1549..00000000000
--- a/Master/tlpkg/tlperl/lib/validate.pl
+++ /dev/null
@@ -1,104 +0,0 @@
-warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
-
-;# The validate routine takes a single multiline string consisting of
-;# lines containing a filename plus a file test to try on it. (The
-;# file test may also be a 'cd', causing subsequent relative filenames
-;# to be interpreted relative to that directory.) After the file test
-;# you may put '|| die' to make it a fatal error if the file test fails.
-;# The default is '|| warn'. The file test may optionally have a ! prepended
-;# to test for the opposite condition. If you do a cd and then list some
-;# relative filenames, you may want to indent them slightly for readability.
-;# If you supply your own "die" or "warn" message, you can use $file to
-;# interpolate the filename.
-
-;# Filetests may be bunched: -rwx tests for all of -r, -w and -x.
-;# Only the first failed test of the bunch will produce a warning.
-
-;# The routine returns the number of warnings issued.
-
-;# Usage:
-;# require "validate.pl";
-;# $warnings += do validate('
-;# /vmunix -e || die
-;# /boot -e || die
-;# /bin cd
-;# csh -ex
-;# csh !-ug
-;# sh -ex
-;# sh !-ug
-;# /usr -d || warn "What happened to $file?\n"
-;# ');
-
-sub validate {
- local($file,$test,$warnings,$oldwarnings);
- foreach $check (split(/\n/,$_[0])) {
- next if $check =~ /^#/;
- next if $check =~ /^$/;
- ($file,$test) = split(' ',$check,2);
- if ($test =~ s/^(!?-)(\w{2,}\b)/$1Z/) {
- $testlist = $2;
- @testlist = split(//,$testlist);
- }
- else {
- @testlist = ('Z');
- }
- $oldwarnings = $warnings;
- foreach $one (@testlist) {
- $this = $test;
- $this =~ s/(-\w\b)/$1 \$file/g;
- $this =~ s/-Z/-$one/;
- $this .= ' || warn' unless $this =~ /\|\|/;
- $this =~ s/^(.*\S)\s*\|\|\s*(die|warn)$/$1 || do valmess('$2','$1')/;
- $this =~ s/\bcd\b/chdir (\$cwd = \$file)/g;
- eval $this;
- last if $warnings > $oldwarnings;
- }
- }
- $warnings;
-}
-
-sub valmess {
- local($disposition,$this) = @_;
- $file = $cwd . '/' . $file unless $file =~ m|^/|;
- if ($this =~ /^(!?)-(\w)\s+\$file\s*$/) {
- $neg = $1;
- $tmp = $2;
- $tmp eq 'r' && ($mess = "$file is not readable by uid $>.");
- $tmp eq 'w' && ($mess = "$file is not writable by uid $>.");
- $tmp eq 'x' && ($mess = "$file is not executable by uid $>.");
- $tmp eq 'o' && ($mess = "$file is not owned by uid $>.");
- $tmp eq 'R' && ($mess = "$file is not readable by you.");
- $tmp eq 'W' && ($mess = "$file is not writable by you.");
- $tmp eq 'X' && ($mess = "$file is not executable by you.");
- $tmp eq 'O' && ($mess = "$file is not owned by you.");
- $tmp eq 'e' && ($mess = "$file does not exist.");
- $tmp eq 'z' && ($mess = "$file does not have zero size.");
- $tmp eq 's' && ($mess = "$file does not have non-zero size.");
- $tmp eq 'f' && ($mess = "$file is not a plain file.");
- $tmp eq 'd' && ($mess = "$file is not a directory.");
- $tmp eq 'l' && ($mess = "$file is not a symbolic link.");
- $tmp eq 'p' && ($mess = "$file is not a named pipe (FIFO).");
- $tmp eq 'S' && ($mess = "$file is not a socket.");
- $tmp eq 'b' && ($mess = "$file is not a block special file.");
- $tmp eq 'c' && ($mess = "$file is not a character special file.");
- $tmp eq 'u' && ($mess = "$file does not have the setuid bit set.");
- $tmp eq 'g' && ($mess = "$file does not have the setgid bit set.");
- $tmp eq 'k' && ($mess = "$file does not have the sticky bit set.");
- $tmp eq 'T' && ($mess = "$file is not a text file.");
- $tmp eq 'B' && ($mess = "$file is not a binary file.");
- if ($neg eq '!') {
- $mess =~ s/ is not / should not be / ||
- $mess =~ s/ does not / should not / ||
- $mess =~ s/ not / /;
- }
- print STDERR $mess,"\n";
- }
- else {
- $this =~ s/\$file/'$file'/g;
- print STDERR "Can't do $this.\n";
- }
- if ($disposition eq 'die') { exit 1; }
- ++$warnings;
-}
-
-1;
diff --git a/Master/tlpkg/tlperl/lib/version.pm b/Master/tlpkg/tlperl/lib/version.pm
index adeaacdd472..3fcc5aadc6b 100644
--- a/Master/tlpkg/tlperl/lib/version.pm
+++ b/Master/tlpkg/tlperl/lib/version.pm
@@ -6,7 +6,7 @@ use strict;
use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv);
-$VERSION = 0.88;
+$VERSION = 0.99;
$CLASS = 'version';
diff --git a/Master/tlpkg/tlperl/lib/version.pod b/Master/tlpkg/tlperl/lib/version.pod
index fcaf5d6acc0..f4328f54391 100644
--- a/Master/tlpkg/tlperl/lib/version.pod
+++ b/Master/tlpkg/tlperl/lib/version.pod
@@ -11,15 +11,15 @@ version - Perl extension for Version Objects
# Declaring a dotted-decimal $VERSION (keep on one line!)
- use version 0.77; our $VERSION = version->declare("v1.2.3"); # formal
- use version 0.77; our $VERSION = qv("v1.2.3"); # shorthand
- use version 0.77; our $VERSION = qv("v1.2_3"); # alpha
+ use version; our $VERSION = version->declare("v1.2.3"); # formal
+ use version; our $VERSION = qv("v1.2.3"); # shorthand
+ use version; our $VERSION = qv("v1.2_3"); # alpha
# Declaring an old-style decimal $VERSION (use quotes!)
our $VERSION = "1.0203"; # recommended
- use version 0.77; our $VERSION = version->parse("1.0203"); # formal
- use version 0.77; our $VERSION = version->parse("1.02_03"); # alpha
+ use version; our $VERSION = version->parse("1.0203"); # formal
+ use version; our $VERSION = version->parse("1.02_03"); # alpha
# Comparing mixed version styles (decimals, dotted-decimals, objects)
@@ -60,9 +60,10 @@ source file. Quoting is recommended, as it ensures that trailing zeroes
The more modern form of version assignment, with 3 (or potentially more)
integers separated by decimal points (e.g. v1.2.3). This is the form that
-Perl itself has used since 5.6.0 was released. The leading "v" is now
+Perl itself has used since 5.6.0 was released. The leading 'v' is now
strongly recommended for clarity, and will throw a warning in a future
-release if omitted.
+release if omitted. A leading 'v' character is required to pass the
+L</is_strict()> test.
=back
@@ -95,7 +96,7 @@ Then increment any of the dotted-decimal components (v1.20.1 or v1.21.0).
=head2 How to C<declare()> a dotted-decimal version
- use version 0.77; our $VERSION = version->declare("v1.2.3");
+ use version; our $VERSION = version->declare("v1.2.3");
The C<declare()> method always creates dotted-decimal version objects. When
used in a module, you B<must> put it on the same line as "use version" to
@@ -194,7 +195,7 @@ for dotted-decimal formats strings:
=item C<is_strict()>
-If you want to limit youself to a much more narrow definition of what
+If you want to limit yourself to a much more narrow definition of what
a version string constitutes, C<is_strict()> is limited to version
strings like the following list:
diff --git a/Master/tlpkg/tlperl/lib/version/Internals.pod b/Master/tlpkg/tlperl/lib/version/Internals.pod
index 7cf4dc67693..ff63eba6af0 100644
--- a/Master/tlpkg/tlperl/lib/version/Internals.pod
+++ b/Master/tlpkg/tlperl/lib/version/Internals.pod
@@ -6,7 +6,7 @@ version::Internals - Perl extension for Version Objects
Overloaded version objects for all modern versions of Perl. This documents
the internal data representation and underlying code for version.pm. See
-L<version.pod> for daily usage. This document is only useful for users
+F<version.pod> for daily usage. This document is only useful for users
interested in the gory details.
=head1 WHAT IS A VERSION?
@@ -104,8 +104,8 @@ In general, Dotted-Decimal Versions permit the greatest amount of freedom
to specify a version, whereas Decimal Versions enforce a certain
uniformity.
-Just like L<Decimal Versions>, Dotted-Decimal Versions can be used as
-L<Alpha Versions>.
+Just like L</Decimal Versions>, Dotted-Decimal Versions can be used as
+L</Alpha Versions>.
=head2 Alpha Versions
@@ -244,8 +244,8 @@ helpful:
Because of the nature of the Perl parsing and tokenizing routines,
certain initialization values B<must> be quoted in order to correctly
-parse as the intended version, especially when using the L<declare> or
-L<qv> methods. While you do not have to quote decimal numbers when
+parse as the intended version, especially when using the C<declare> or
+L</qv()> methods. While you do not have to quote decimal numbers when
creating version objects, it is always safe to quote B<all> initial values
when using version.pm methods, as this will ensure that what you type is
what is used.
@@ -338,12 +338,12 @@ B<STRONGLY> discouraged, in that it will confuse you and your users.
=item qv
A boolean that denotes whether this is a decimal or dotted-decimal version.
-See L<is_qv>.
+See L<version/is_qv()>.
=item alpha
A boolean that denotes whether this is an alpha version. NOTE: that the
-underscore can can only appear in the last position. See L<is_alpha>.
+underscore can can only appear in the last position. See L<version/is_alpha()>.
=item version
@@ -397,7 +397,7 @@ The replacement UNIVERSAL::VERSION, when used as a function, like this:
print $module->VERSION;
-will also exclusively return the stringified form. See L<Stringification>
+will also exclusively return the stringified form. See L</Stringification>
for more details.
=head1 USAGE DETAILS
@@ -438,9 +438,9 @@ With Perl >= 5.6.2, you can also use a line like this:
use Example 1.2.3;
and it will again work (i.e. give the error message as above), even with
-releases of Perl which do not normally support v-strings (see L<version/What about v-strings> below). This has to do with that fact that C<use> only checks
+releases of Perl which do not normally support v-strings (see L<What about v-strings?> above). This has to do with that fact that C<use> only checks
to see if the second term I<looks like a number> and passes that to the
-replacement L<UNIVERSAL::VERSION>. This is not true in Perl 5.005_04,
+replacement L<UNIVERSAL::VERSION|UNIVERSAL/VERSION>. This is not true in Perl 5.005_04,
however, so you are B<strongly encouraged> to always use a Decimal version
in your code, even for those versions of Perl which support the Dotted-Decimal
version.
@@ -541,7 +541,7 @@ For the subsequent examples, the following three objects will be used:
For any version object which is initialized with multiple decimal
places (either quoted or if possible v-string), or initialized using
-the L<qv>() operator, the stringified representation is returned in
+the L<qv()|version/qv()> operator, the stringified representation is returned in
a normalized or reduced form (no extraneous zeros), and with a leading 'v':
print $ver->normal; # prints as v1.2.3.4
@@ -600,27 +600,27 @@ For example:
qv("v1.3.5") v1.3.5
qv("1.2") v1.2 ### exceptional case
-See also L<UNIVERSAL::VERSION>, as this also returns the stringified form
+See also L<UNIVERSAL::VERSION|UNIVERSAL/VERSION>, as this also returns the stringified form
when used as a class method.
IMPORTANT NOTE: There is one exceptional cases shown in the above table
where the "initializer" is not stringwise equivalent to the stringified
representation. If you use the C<qv>() operator on a version without a
leading 'v' B<and> with only a single decimal place, the stringified output
-will have a leading 'v', to preserve the sense. See the L<qv>() operator
+will have a leading 'v', to preserve the sense. See the L</qv()> operator
for more details.
IMPORTANT NOTE 2: Attempting to bypass the normal stringification rules by
-manually applying L<numify>() and L<normal>() will sometimes yield
+manually applying L<numify()|version/numify()> and L<normal()|version/normal()> will sometimes yield
surprising results:
print version->new(version->new("v1.0")->numify)->normal; # v1.0.0
-The reason for this is that the L<numify>() operator will turn "v1.0"
+The reason for this is that the L<numify()|version/numify()> operator will turn "v1.0"
into the equivalent string "1.000000". Forcing the outer version object
-to L<normal>() form will display the mathematically equivalent "v1.0.0".
+to L<normal()|version/normal()> form will display the mathematically equivalent "v1.0.0".
-As the example in L<new>() shows, you can always create a copy of an
+As the example in L</new()> shows, you can always create a copy of an
existing version object with the same value by the very compact:
$v2 = $v1->new($v1);
diff --git a/Master/tlpkg/tlperl/lib/version/Requirements.pm b/Master/tlpkg/tlperl/lib/version/Requirements.pm
index f6671892829..39ae2060909 100644
--- a/Master/tlpkg/tlperl/lib/version/Requirements.pm
+++ b/Master/tlpkg/tlperl/lib/version/Requirements.pm
@@ -1,8 +1,8 @@
use strict;
use warnings;
package Version::Requirements;
-BEGIN {
- $Version::Requirements::VERSION = '0.101020';
+{
+ $Version::Requirements::VERSION = '0.101022';
}
# ABSTRACT: a set of version requirements for a CPAN dist
@@ -11,6 +11,13 @@ use Carp ();
use Scalar::Util ();
use version 0.77 (); # the ->parse method
+# We silence this warning during core tests, because this is only in core
+# because it has to be, and nobody wants to see this stupid warning.
+# -- rjbs, 2012-01-20
+Carp::cluck(
+ "Version::Requirements is deprecated; replace with CPAN::Meta::Requirements"
+) unless $ENV{PERL_CORE};
+
sub new {
my ($class) = @_;
@@ -184,9 +191,6 @@ sub from_string_hash {
{
package
Version::Requirements::_Range::Exact;
-BEGIN {
- $Version::Requirements::_Range::Exact::VERSION = '0.101020';
-}
sub _new { bless { version => $_[1] } => $_[0] }
sub _accepts { return $_[0]{version} == $_[1] }
@@ -231,9 +235,6 @@ BEGIN {
{
package
Version::Requirements::_Range::Range;
-BEGIN {
- $Version::Requirements::_Range::Range::VERSION = '0.101020';
-}
sub _self { ref($_[0]) ? $_[0] : (bless { } => $_[0]) }
@@ -392,7 +393,7 @@ Version::Requirements - a set of version requirements for a CPAN dist
=head1 VERSION
-version 0.101020
+version 0.101022
=head1 SYNOPSIS
@@ -583,7 +584,7 @@ Version::Requirements object.
=head1 AUTHOR
- Ricardo Signes <rjbs@cpan.org>
+Ricardo Signes <rjbs@cpan.org>
=head1 COPYRIGHT AND LICENSE
diff --git a/Master/tlpkg/tlperl/lib/vmsish.pm b/Master/tlpkg/tlperl/lib/vmsish.pm
index 30c8eb1656d..653f840562d 100644
--- a/Master/tlpkg/tlperl/lib/vmsish.pm
+++ b/Master/tlpkg/tlperl/lib/vmsish.pm
@@ -1,6 +1,6 @@
package vmsish;
-our $VERSION = '1.02';
+our $VERSION = '1.03';
=head1 NAME
@@ -52,7 +52,7 @@ default of Universal Time (a.k.a Greenwich Mean Time, or GMT).
=item C<vmsish hushed>
This suppresses printing of VMS status messages to SYS$OUTPUT and
-SYS$ERROR if Perl terminates with an error status. and allows
+SYS$ERROR if Perl terminates with an error status, and allows
programs that are expecting "unix-style" Perl to avoid having to parse
VMS error messages. It does not suppress any messages from Perl
itself, just the messages generated by DCL after Perl exits. The DCL
@@ -107,7 +107,7 @@ more serious, and are not suppressed.
=back
-See L<perlmod/Pragmatic Modules>.
+See L<perlmod/Perl Modules>.
=cut
diff --git a/Master/tlpkg/tlperl/lib/warnings.pm b/Master/tlpkg/tlperl/lib/warnings.pm
index 90a9d0a6c5a..3b2d87dc82d 100644
--- a/Master/tlpkg/tlperl/lib/warnings.pm
+++ b/Master/tlpkg/tlperl/lib/warnings.pm
@@ -5,7 +5,7 @@
package warnings;
-our $VERSION = '1.12';
+our $VERSION = '1.13';
# Verify that we're called correctly so that warnings will work.
# see also strict.pm.
@@ -47,7 +47,8 @@ warnings - Perl pragma to control optional warnings
The C<warnings> pragma is a replacement for the command line flag C<-w>,
but the pragma is limited to the enclosing block, while the flag is global.
-See L<perllexwarn> for more information.
+See L<perllexwarn> for more information and the list of built-in warning
+categories.
If no import list is supplied, all possible warnings are either enabled
or disabled.
@@ -386,7 +387,7 @@ sub import
{
shift;
- my $mask = ${^WARNING_BITS} ;
+ my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $NONE) ;
if (vec($mask, $Offsets{'all'}, 1)) {
$mask |= $Bits{'all'} ;
@@ -402,7 +403,7 @@ sub unimport
shift;
my $catmask ;
- my $mask = ${^WARNING_BITS} ;
+ my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $NONE) ;
if (vec($mask, $Offsets{'all'}, 1)) {
$mask |= $Bits{'all'} ;